From 97c0672de1cb7e250604bd43029832c56eb9e2f0 Mon Sep 17 00:00:00 2001 From: lindsay Date: Tue, 12 Dec 2023 02:06:56 +0100 Subject: [PATCH] Rebuild --- dist/xeokit-sdk.cjs.js | 180 ++++++++++--- dist/xeokit-sdk.es.js | 180 ++++++++++--- dist/xeokit-sdk.es5.js | 511 +++++++++++++++++++------------------ dist/xeokit-sdk.min.cjs.js | 4 +- dist/xeokit-sdk.min.es.js | 4 +- dist/xeokit-sdk.min.es5.js | 6 +- 6 files changed, 559 insertions(+), 326 deletions(-) diff --git a/dist/xeokit-sdk.cjs.js b/dist/xeokit-sdk.cjs.js index 1053c65cbb..3d6c18c978 100644 --- a/dist/xeokit-sdk.cjs.js +++ b/dist/xeokit-sdk.cjs.js @@ -56331,6 +56331,7 @@ class SceneModelMesh { _sceneModelDirty() { this._aabbWorldDirty = true; + this.layer.aabbDirty = true; } _transformDirty() { @@ -56340,6 +56341,7 @@ class SceneModelMesh { this._matrixUpdateScheduled = true; } this._aabbWorldDirty = true; + this.layer.aabbDirty = true; if (this.entity) { this.entity._transformDirty(); } @@ -60663,7 +60665,7 @@ class SnapBatchingDepthBufInitRenderer extends VBOSceneModelRenderer { const state = batchingLayer._state; const origin = batchingLayer._state.origin; const {position, rotationMatrix, rotationMatrixConjugate} = model; - const aabb = model.aabb; + const aabb = batchingLayer.aabb; // Per-layer AABB for best RTC accuracy const viewMatrix = frameCtx.pickViewMatrix || camera.viewMatrix; if (this._vaoCache.has(batchingLayer)) { @@ -60972,7 +60974,7 @@ class SnapBatchingDepthRenderer extends VBOSceneModelRenderer{ const state = batchingLayer._state; const origin = batchingLayer._state.origin; const {position, rotationMatrix, rotationMatrixConjugate} = model; - const aabb = model.aabb; + const aabb = batchingLayer.aabb; // Per-layer AABB for best RTC accuracy const viewMatrix = frameCtx.pickViewMatrix || camera.viewMatrix; if (this._vaoCache.has(batchingLayer)) { @@ -61419,9 +61421,12 @@ class TrianglesBatchingLayer { this._modelAABB = math.collapseAABB3(); // Model-space AABB this._portions = []; - + this._meshes = []; this._numVerts = 0; + this._aabb = math.collapseAABB3(); + this.aabbDirty = true; + this._finalized = false; if (cfg.positionsDecodeMatrix) { @@ -61452,6 +61457,16 @@ class TrianglesBatchingLayer { this.solid = !!cfg.solid; } + get aabb() { + if (this.aabbDirty) { + math.collapseAABB3(this._aabb); + for (let i = 0, len = this._meshes.length; i < len; i++) { + math.expandAABB3(this._aabb, this._meshes[i].aabb); + } + this.aabbDirty = false; + } + } + /** * Tests if there is room for another portion in this TrianglesBatchingLayer. * @@ -61471,6 +61486,7 @@ class TrianglesBatchingLayer { * * Gives the portion the specified geometry, color and matrix. * + * @param mesh The SceneModelMesh that owns the portion * @param cfg.positions Flat float Local-space positions array. * @param cfg.positionsCompressed Flat quantized positions array - decompressed with TrianglesBatchingLayer positionsDecodeMatrix * @param [cfg.normals] Flat float normals array. @@ -61489,7 +61505,7 @@ class TrianglesBatchingLayer { * @param cfg.pickColor Quantized pick color * @returns {number} Portion ID */ - createPortion(cfg) { + createPortion(mesh, cfg) { if (this._finalized) { throw "Already finalized"; @@ -61528,8 +61544,7 @@ class TrianglesBatchingLayer { for (let i = 0, len = positionsCompressed.length; i < len; i++) { buffer.positions.push(positionsCompressed[i]); } - } - else { + } else { if (!positions) { throw "positions expected"; } @@ -61646,13 +61661,10 @@ class TrianglesBatchingLayer { } this._portions.push(portion); - this._numPortions++; - this.model.numPortions++; - this._numVerts += portion.numVerts; - + this._meshes.push(mesh); return portionId; } @@ -65670,7 +65682,7 @@ class SnapInstancingDepthBufInitRenderer extends VBOSceneModelRenderer { const state = instancingLayer._state; const origin = instancingLayer._state.origin; const {position, rotationMatrix, rotationMatrixConjugate} = model; - const aabb = model.aabb; + const aabb = instancingLayer.aabb; // Per-layer AABB for best RTC accuracy const viewMatrix = frameCtx.pickViewMatrix || camera.viewMatrix; if (this._vaoCache.has(instancingLayer)) { @@ -66006,7 +66018,7 @@ class SnapInstancingDepthRenderer extends VBOSceneModelRenderer { const state = instancingLayer._state; const origin = instancingLayer._state.origin; const {position, rotationMatrix, rotationMatrixConjugate} = model; - const aabb = model.aabb; + const aabb = instancingLayer.aabb; // Per-layer AABB for best RTC accuracy const viewMatrix = frameCtx.pickViewMatrix || camera.viewMatrix; if (this._vaoCache.has(instancingLayer)) { @@ -66487,6 +66499,10 @@ class TrianglesInstancingLayer { this._modelNormalMatrixCol2 = []; this._portions = []; + this._meshes = []; + + this._aabb = math.collapseAABB3(); + this.aabbDirty = true; if (cfg.origin) { this._state.origin.set(cfg.origin); @@ -66507,6 +66523,17 @@ class TrianglesInstancingLayer { this.numIndices = cfg.geometry.numIndices; } + get aabb() { + if (this.aabbDirty) { + math.collapseAABB3(this._aabb); + for (let i = 0, len = this._meshes.length; i < len; i++) { + math.expandAABB3(this._aabb, this._meshes[i].aabb); + } + this.aabbDirty = false; + } + return this._aabb; + } + /** * Creates a new portion within this InstancingLayer, returns the new portion ID. * @@ -66514,6 +66541,7 @@ class TrianglesInstancingLayer { * * Gives the portion the specified color and matrix. * + * @param mesh The SceneModelMesh that owns the portion * @param cfg Portion params * @param cfg.color Color [0..255,0..255,0..255] * @param cfg.metallic Metalness factor [0..255] @@ -66524,7 +66552,7 @@ class TrianglesInstancingLayer { * @param cfg.pickColor Quantized pick color * @returns {number} Portion ID. */ - createPortion(cfg) { + createPortion(mesh, cfg) { const color = cfg.color; const metallic = cfg.metallic; @@ -66616,7 +66644,7 @@ class TrianglesInstancingLayer { this._numPortions++; this.model.numPortions++; - + this._meshes.push(mesh); return portionId; } @@ -67922,9 +67950,12 @@ class LinesBatchingLayer { this._modelAABB = math.collapseAABB3(); // Model-space AABB this._portions = []; - + this._meshes = []; this._numVerts = 0; + this._aabb = math.collapseAABB3(); + this.aabbDirty = true; + this._finalized = false; if (cfg.positionsDecodeMatrix) { @@ -67945,6 +67976,17 @@ class LinesBatchingLayer { this.aabb = math.collapseAABB3(); } + get aabb() { + if (this.aabbDirty) { + math.collapseAABB3(this._aabb); + for (let i = 0, len = this._meshes.length; i < len; i++) { + math.expandAABB3(this._aabb, this._meshes[i].aabb); + } + this.aabbDirty = false; + } + return this._aabb; + } + /** * Tests if there is room for another portion in this LinesBatchingLayer. * @@ -67964,6 +68006,7 @@ class LinesBatchingLayer { * * Gives the portion the specified geometry, color and matrix. * + * @param mesh The SceneModelMesh that owns the portion * @param cfg.positions Flat float Local-space positions array. * @param cfg.positionsCompressed Flat quantized positions array - decompressed with TrianglesBatchingLayer positionsDecodeMatrix * @param cfg.indices Flat int indices array. @@ -67974,7 +68017,7 @@ class LinesBatchingLayer { * @param cfg.pickColor Quantized pick color * @returns {number} Portion ID */ - createPortion(cfg) { + createPortion(mesh, cfg) { if (this._finalized) { throw "Already finalized"; @@ -68051,6 +68094,8 @@ class LinesBatchingLayer { this._numVerts += numVerts; + this._meshes.push(mesh); + return portionId; } @@ -68963,6 +69008,10 @@ class LinesInstancingLayer { this._modelMatrixCol2 = []; this._portions = []; + this._meshes = []; + + this._aabb = math.collapseAABB3(); + this.aabbDirty = true; if (cfg.origin) { this._state.origin = math.vec3(cfg.origin); @@ -68971,6 +69020,17 @@ class LinesInstancingLayer { this._finalized = false; } + get aabb() { + if (this.aabbDirty) { + math.collapseAABB3(this._aabb); + for (let i = 0, len = this._meshes.length; i < len; i++) { + math.expandAABB3(this._aabb, this._meshes[i].aabb); + } + this.aabbDirty = false; + } + return this._aabb; + } + /** * Creates a new portion within this InstancingLayer, returns the new portion ID. * @@ -68978,13 +69038,14 @@ class LinesInstancingLayer { * * Gives the portion the specified color and matrix. * + * @param mesh The SceneModelMesh that owns the portion * @param cfg Portion params * @param cfg.color Color [0..255,0..255,0..255] * @param cfg.opacity Opacity [0..255]. * @param cfg.meshMatrix Flat float 4x4 matrix. * @returns {number} Portion ID. */ - createPortion(cfg) { + createPortion(mesh, cfg) { const color = cfg.color; const opacity = cfg.opacity; @@ -69033,6 +69094,8 @@ class LinesInstancingLayer { this._numPortions++; this.model.numPortions++; + this._meshes.push(mesh); + return portionId; } @@ -70450,6 +70513,10 @@ class PointsBatchingLayer { this._modelAABB = math.collapseAABB3(); // Model-space AABB this._portions = []; + this._meshes = []; + + this._aabb = math.collapseAABB3(); + this.aabbDirty = true; this._finalized = false; @@ -70471,6 +70538,17 @@ class PointsBatchingLayer { this.aabb = math.collapseAABB3(); } + get aabb() { + if (this.aabbDirty) { + math.collapseAABB3(this._aabb); + for (let i = 0, len = this._meshes.length; i < len; i++) { + math.expandAABB3(this._aabb, this._meshes[i].aabb); + } + this.aabbDirty = false; + } + return this._aabb; + } + /** * Tests if there is room for another portion in this PointsBatchingLayer. * @@ -70489,6 +70567,7 @@ class PointsBatchingLayer { * * Gives the portion the specified geometry, color and matrix. * + * @param mesh The SceneModelMesh that owns the portion * @param cfg.positions Flat float Local-space positions array. * @param cfg.positionsCompressed Flat quantized positions array - decompressed with PointsBatchingLayer positionsDecodeMatrix * @param [cfg.colorsCompressed] Quantized RGB colors [0..255,0..255,0..255,0..255] @@ -70499,7 +70578,7 @@ class PointsBatchingLayer { * @param cfg.pickColor Quantized pick color * @returns {number} Portion ID */ - createPortion(cfg) { + createPortion(mesh, cfg) { if (this._finalized) { throw "Already finalized"; @@ -70510,7 +70589,7 @@ class PointsBatchingLayer { const color = cfg.color; const colorsCompressed = cfg.colorsCompressed; const colors = cfg.colors; - const pickColor = cfg.pickColor; + const pickColor = cfg.pickColor; const buffer = this._buffer; const positionsIndex = buffer.positions.length; @@ -70599,7 +70678,7 @@ class PointsBatchingLayer { this._numPortions++; this.model.numPortions++; - + this._meshes.push(mesh); return portionId; } @@ -70863,7 +70942,7 @@ class PointsBatchingLayer { let colorFlag; if (!visible || culled || xrayed || (highlighted && !this.model.scene.highlightMaterial.glowThrough) - || (selected && !this.model.scene.selectedMaterial.glowThrough) ) { + || (selected && !this.model.scene.selectedMaterial.glowThrough)) { colorFlag = RENDER_PASSES.NOT_RENDERED; } else { if (transparent) { @@ -70897,7 +70976,7 @@ class PointsBatchingLayer { // no edges vertFlag |= pickFlag << 12; vertFlag |= clippableFlag << 16; - + tempArray[i] = vertFlag; } @@ -72357,10 +72436,24 @@ class PointsInstancingLayer { this._modelMatrixCol2 = []; this._portions = []; + this._meshes = []; + this._aabb = math.collapseAABB3(); + this.aabbDirty = true; this._finalized = false; } + get aabb() { + if (this.aabbDirty) { + math.collapseAABB3(this._aabb); + for (let i = 0, len = this._meshes.length; i < len; i++) { + math.expandAABB3(this._aabb, this._meshes[i].aabb); + } + this.aabbDirty = false; + } + return this._aabb; + } + /** * Creates a new portion within this InstancingLayer, returns the new portion ID. * @@ -72368,13 +72461,14 @@ class PointsInstancingLayer { * * Gives the portion the specified color and matrix. * + * @param mesh The SceneModelMesh that owns the portion * @param cfg Portion params * @param cfg.meshMatrix Flat float 4x4 matrix. * @param [cfg.worldMatrix] Flat float 4x4 matrix. * @param cfg.pickColor Quantized pick color * @returns {number} Portion ID. */ - createPortion(cfg) { + createPortion(mesh, cfg) { const meshMatrix = cfg.meshMatrix; const pickColor = cfg.pickColor; @@ -72418,7 +72512,7 @@ class PointsInstancingLayer { this._numPortions++; this.model.numPortions++; - + this._meshes.push(mesh); return portionId; } @@ -77377,7 +77471,7 @@ class TrianglesDataTextureSnapDepthRenderer { const textureState = state.textureState; const origin = dataTextureLayer._state.origin; const {position, rotationMatrix, rotationMatrixConjugate} = model; - const aabb = model.aabb; + const aabb = dataTextureLayer.aabb; // Per-layer AABB for best RTC accuracy const viewMatrix = frameCtx.pickViewMatrix || camera.viewMatrix; const coordinateScaler = tempVec3a$e; @@ -77795,7 +77889,7 @@ class TrianglesDataTextureSnapDepthBufInitRenderer { const textureState = state.textureState; const origin = dataTextureLayer._state.origin; const {position, rotationMatrix, rotationMatrixConjugate} = model; - const aabb = model.aabb; + const aabb = dataTextureLayer.aabb; // Per-layer AABB for best RTC accuracy const viewMatrix = frameCtx.pickViewMatrix || camera.viewMatrix; const coordinateScaler = tempVec3a$d; @@ -81147,10 +81241,13 @@ class TrianglesDataTextureLayer { this._bucketGeometries = {}; + this._meshes = []; + /** * The axis-aligned World-space boundary of this TrianglesDataTextureLayer's positions. */ - this.aabb = math.collapseAABB3(); + this._aabb = math.collapseAABB3(); + this.aabbDirty = true; /** * The number of updates in the current frame; @@ -81160,6 +81257,17 @@ class TrianglesDataTextureLayer { this._finalized = false; } + get aabb() { + if (this.aabbDirty) { + math.collapseAABB3(this._aabb); + for (let i = 0, len = this._meshes.length; i < len; i++) { + math.expandAABB3(this._aabb, this._meshes[i].aabb); + } + this.aabbDirty = false; + } + return this._aabb; + } + /** * Returns whether the ```TrianglesDataTextureLayer``` has room for more portions. * @@ -81204,6 +81312,7 @@ class TrianglesDataTextureLayer { * * Gives the portion the specified geometry, color and matrix. * + * @param mesh The SceneModelMesh that owns the portion * @param portionCfg.positionsCompressed Flat float Local-space positionsCompressed array. * @param [portionCfg.normals] Flat float normals array. * @param [portionCfg.colors] Flat float colors array. @@ -81218,12 +81327,12 @@ class TrianglesDataTextureLayer { * @param portionCfg.pickColor Quantized pick color * @returns {number} Portion ID */ - createPortion(portionCfg) { + createPortion(mesh, portionCfg) { if (this._finalized) { throw "Already finalized"; } const subPortionIds = []; - // const portionAABB = portionCfg.worldAABB; + // const portionAABB = portionCfg.worldAABB; portionCfg.buckets.forEach((bucket, bucketIndex) => { const bucketGeometryId = portionCfg.geometryId !== undefined && portionCfg.geometryId !== null ? `${portionCfg.geometryId}#${bucketIndex}` @@ -81233,7 +81342,7 @@ class TrianglesDataTextureLayer { bucketGeometry = this._createBucketGeometry(portionCfg, bucket); this._bucketGeometries[bucketGeometryId] = bucketGeometry; } - // const subPortionAABB = math.collapseAABB3(tempAABB3b); + // const subPortionAABB = math.collapseAABB3(tempAABB3b); const subPortionId = this._createSubPortion(portionCfg, bucketGeometry, bucket); //math.expandAABB3(portionAABB, subPortionAABB); subPortionIds.push(subPortionId); @@ -81251,6 +81360,7 @@ class TrianglesDataTextureLayer { const portionId = this._portionToSubPortionsMap.length; this._portionToSubPortionsMap.push(subPortionIds); this.model.numPortions++; + this._meshes.push(mesh); return portionId; } @@ -81355,7 +81465,7 @@ class TrianglesDataTextureLayer { numEdges, indicesBase, edgeIndicesBase, - // aabb, + // aabb, obb: null // Lazy-created in _createSubPortion if needed }; @@ -81535,7 +81645,7 @@ class TrianglesDataTextureLayer { textureState.texturePerVertexIdCoordinates = this._dataTextureGenerator.generateTextureForPositions( gl, buffer.positionsCompressed, - buffer.lenPositionsCompressed ); + buffer.lenPositionsCompressed); textureState.texturePerPolygonIdPortionIds8Bits = this._dataTextureGenerator.generateTextureForPackedPortionIds( gl, @@ -82116,7 +82226,7 @@ class TrianglesDataTextureLayer { const textureState = this._dataTextureState; const gl = this.model.scene.canvas.gl; tempMat4a.set(matrix); - textureState.texturePerObjectInstanceMatrices._textureData.set(tempMat4a, subPortionId*16); + textureState.texturePerObjectInstanceMatrices._textureData.set(tempMat4a, subPortionId * 16); if (this._deferredSetFlagsActive) { this._deferredSetFlagsDirty = true; return; @@ -82139,7 +82249,7 @@ class TrianglesDataTextureLayer { ); // gl.bindTexture (gl.TEXTURE_2D, null); } - + // ---------------------- COLOR RENDERING ----------------------------------- drawColorOpaque(renderFlags, frameCtx) { @@ -85823,7 +85933,7 @@ class SceneModel extends Component { if (cfg.transform) { cfg.meshMatrix = cfg.transform.worldMatrix; } - mesh.portionId = mesh.layer.createPortion(cfg); + mesh.portionId = mesh.layer.createPortion(mesh, cfg); this._meshes[cfg.id] = mesh; this._meshList.push(mesh); return mesh; diff --git a/dist/xeokit-sdk.es.js b/dist/xeokit-sdk.es.js index 2e7a058a66..7b2c84ef13 100644 --- a/dist/xeokit-sdk.es.js +++ b/dist/xeokit-sdk.es.js @@ -56327,6 +56327,7 @@ class SceneModelMesh { _sceneModelDirty() { this._aabbWorldDirty = true; + this.layer.aabbDirty = true; } _transformDirty() { @@ -56336,6 +56337,7 @@ class SceneModelMesh { this._matrixUpdateScheduled = true; } this._aabbWorldDirty = true; + this.layer.aabbDirty = true; if (this.entity) { this.entity._transformDirty(); } @@ -60659,7 +60661,7 @@ class SnapBatchingDepthBufInitRenderer extends VBOSceneModelRenderer { const state = batchingLayer._state; const origin = batchingLayer._state.origin; const {position, rotationMatrix, rotationMatrixConjugate} = model; - const aabb = model.aabb; + const aabb = batchingLayer.aabb; // Per-layer AABB for best RTC accuracy const viewMatrix = frameCtx.pickViewMatrix || camera.viewMatrix; if (this._vaoCache.has(batchingLayer)) { @@ -60968,7 +60970,7 @@ class SnapBatchingDepthRenderer extends VBOSceneModelRenderer{ const state = batchingLayer._state; const origin = batchingLayer._state.origin; const {position, rotationMatrix, rotationMatrixConjugate} = model; - const aabb = model.aabb; + const aabb = batchingLayer.aabb; // Per-layer AABB for best RTC accuracy const viewMatrix = frameCtx.pickViewMatrix || camera.viewMatrix; if (this._vaoCache.has(batchingLayer)) { @@ -61415,9 +61417,12 @@ class TrianglesBatchingLayer { this._modelAABB = math.collapseAABB3(); // Model-space AABB this._portions = []; - + this._meshes = []; this._numVerts = 0; + this._aabb = math.collapseAABB3(); + this.aabbDirty = true; + this._finalized = false; if (cfg.positionsDecodeMatrix) { @@ -61448,6 +61453,16 @@ class TrianglesBatchingLayer { this.solid = !!cfg.solid; } + get aabb() { + if (this.aabbDirty) { + math.collapseAABB3(this._aabb); + for (let i = 0, len = this._meshes.length; i < len; i++) { + math.expandAABB3(this._aabb, this._meshes[i].aabb); + } + this.aabbDirty = false; + } + } + /** * Tests if there is room for another portion in this TrianglesBatchingLayer. * @@ -61467,6 +61482,7 @@ class TrianglesBatchingLayer { * * Gives the portion the specified geometry, color and matrix. * + * @param mesh The SceneModelMesh that owns the portion * @param cfg.positions Flat float Local-space positions array. * @param cfg.positionsCompressed Flat quantized positions array - decompressed with TrianglesBatchingLayer positionsDecodeMatrix * @param [cfg.normals] Flat float normals array. @@ -61485,7 +61501,7 @@ class TrianglesBatchingLayer { * @param cfg.pickColor Quantized pick color * @returns {number} Portion ID */ - createPortion(cfg) { + createPortion(mesh, cfg) { if (this._finalized) { throw "Already finalized"; @@ -61524,8 +61540,7 @@ class TrianglesBatchingLayer { for (let i = 0, len = positionsCompressed.length; i < len; i++) { buffer.positions.push(positionsCompressed[i]); } - } - else { + } else { if (!positions) { throw "positions expected"; } @@ -61642,13 +61657,10 @@ class TrianglesBatchingLayer { } this._portions.push(portion); - this._numPortions++; - this.model.numPortions++; - this._numVerts += portion.numVerts; - + this._meshes.push(mesh); return portionId; } @@ -65666,7 +65678,7 @@ class SnapInstancingDepthBufInitRenderer extends VBOSceneModelRenderer { const state = instancingLayer._state; const origin = instancingLayer._state.origin; const {position, rotationMatrix, rotationMatrixConjugate} = model; - const aabb = model.aabb; + const aabb = instancingLayer.aabb; // Per-layer AABB for best RTC accuracy const viewMatrix = frameCtx.pickViewMatrix || camera.viewMatrix; if (this._vaoCache.has(instancingLayer)) { @@ -66002,7 +66014,7 @@ class SnapInstancingDepthRenderer extends VBOSceneModelRenderer { const state = instancingLayer._state; const origin = instancingLayer._state.origin; const {position, rotationMatrix, rotationMatrixConjugate} = model; - const aabb = model.aabb; + const aabb = instancingLayer.aabb; // Per-layer AABB for best RTC accuracy const viewMatrix = frameCtx.pickViewMatrix || camera.viewMatrix; if (this._vaoCache.has(instancingLayer)) { @@ -66483,6 +66495,10 @@ class TrianglesInstancingLayer { this._modelNormalMatrixCol2 = []; this._portions = []; + this._meshes = []; + + this._aabb = math.collapseAABB3(); + this.aabbDirty = true; if (cfg.origin) { this._state.origin.set(cfg.origin); @@ -66503,6 +66519,17 @@ class TrianglesInstancingLayer { this.numIndices = cfg.geometry.numIndices; } + get aabb() { + if (this.aabbDirty) { + math.collapseAABB3(this._aabb); + for (let i = 0, len = this._meshes.length; i < len; i++) { + math.expandAABB3(this._aabb, this._meshes[i].aabb); + } + this.aabbDirty = false; + } + return this._aabb; + } + /** * Creates a new portion within this InstancingLayer, returns the new portion ID. * @@ -66510,6 +66537,7 @@ class TrianglesInstancingLayer { * * Gives the portion the specified color and matrix. * + * @param mesh The SceneModelMesh that owns the portion * @param cfg Portion params * @param cfg.color Color [0..255,0..255,0..255] * @param cfg.metallic Metalness factor [0..255] @@ -66520,7 +66548,7 @@ class TrianglesInstancingLayer { * @param cfg.pickColor Quantized pick color * @returns {number} Portion ID. */ - createPortion(cfg) { + createPortion(mesh, cfg) { const color = cfg.color; const metallic = cfg.metallic; @@ -66612,7 +66640,7 @@ class TrianglesInstancingLayer { this._numPortions++; this.model.numPortions++; - + this._meshes.push(mesh); return portionId; } @@ -67918,9 +67946,12 @@ class LinesBatchingLayer { this._modelAABB = math.collapseAABB3(); // Model-space AABB this._portions = []; - + this._meshes = []; this._numVerts = 0; + this._aabb = math.collapseAABB3(); + this.aabbDirty = true; + this._finalized = false; if (cfg.positionsDecodeMatrix) { @@ -67941,6 +67972,17 @@ class LinesBatchingLayer { this.aabb = math.collapseAABB3(); } + get aabb() { + if (this.aabbDirty) { + math.collapseAABB3(this._aabb); + for (let i = 0, len = this._meshes.length; i < len; i++) { + math.expandAABB3(this._aabb, this._meshes[i].aabb); + } + this.aabbDirty = false; + } + return this._aabb; + } + /** * Tests if there is room for another portion in this LinesBatchingLayer. * @@ -67960,6 +68002,7 @@ class LinesBatchingLayer { * * Gives the portion the specified geometry, color and matrix. * + * @param mesh The SceneModelMesh that owns the portion * @param cfg.positions Flat float Local-space positions array. * @param cfg.positionsCompressed Flat quantized positions array - decompressed with TrianglesBatchingLayer positionsDecodeMatrix * @param cfg.indices Flat int indices array. @@ -67970,7 +68013,7 @@ class LinesBatchingLayer { * @param cfg.pickColor Quantized pick color * @returns {number} Portion ID */ - createPortion(cfg) { + createPortion(mesh, cfg) { if (this._finalized) { throw "Already finalized"; @@ -68047,6 +68090,8 @@ class LinesBatchingLayer { this._numVerts += numVerts; + this._meshes.push(mesh); + return portionId; } @@ -68959,6 +69004,10 @@ class LinesInstancingLayer { this._modelMatrixCol2 = []; this._portions = []; + this._meshes = []; + + this._aabb = math.collapseAABB3(); + this.aabbDirty = true; if (cfg.origin) { this._state.origin = math.vec3(cfg.origin); @@ -68967,6 +69016,17 @@ class LinesInstancingLayer { this._finalized = false; } + get aabb() { + if (this.aabbDirty) { + math.collapseAABB3(this._aabb); + for (let i = 0, len = this._meshes.length; i < len; i++) { + math.expandAABB3(this._aabb, this._meshes[i].aabb); + } + this.aabbDirty = false; + } + return this._aabb; + } + /** * Creates a new portion within this InstancingLayer, returns the new portion ID. * @@ -68974,13 +69034,14 @@ class LinesInstancingLayer { * * Gives the portion the specified color and matrix. * + * @param mesh The SceneModelMesh that owns the portion * @param cfg Portion params * @param cfg.color Color [0..255,0..255,0..255] * @param cfg.opacity Opacity [0..255]. * @param cfg.meshMatrix Flat float 4x4 matrix. * @returns {number} Portion ID. */ - createPortion(cfg) { + createPortion(mesh, cfg) { const color = cfg.color; const opacity = cfg.opacity; @@ -69029,6 +69090,8 @@ class LinesInstancingLayer { this._numPortions++; this.model.numPortions++; + this._meshes.push(mesh); + return portionId; } @@ -70446,6 +70509,10 @@ class PointsBatchingLayer { this._modelAABB = math.collapseAABB3(); // Model-space AABB this._portions = []; + this._meshes = []; + + this._aabb = math.collapseAABB3(); + this.aabbDirty = true; this._finalized = false; @@ -70467,6 +70534,17 @@ class PointsBatchingLayer { this.aabb = math.collapseAABB3(); } + get aabb() { + if (this.aabbDirty) { + math.collapseAABB3(this._aabb); + for (let i = 0, len = this._meshes.length; i < len; i++) { + math.expandAABB3(this._aabb, this._meshes[i].aabb); + } + this.aabbDirty = false; + } + return this._aabb; + } + /** * Tests if there is room for another portion in this PointsBatchingLayer. * @@ -70485,6 +70563,7 @@ class PointsBatchingLayer { * * Gives the portion the specified geometry, color and matrix. * + * @param mesh The SceneModelMesh that owns the portion * @param cfg.positions Flat float Local-space positions array. * @param cfg.positionsCompressed Flat quantized positions array - decompressed with PointsBatchingLayer positionsDecodeMatrix * @param [cfg.colorsCompressed] Quantized RGB colors [0..255,0..255,0..255,0..255] @@ -70495,7 +70574,7 @@ class PointsBatchingLayer { * @param cfg.pickColor Quantized pick color * @returns {number} Portion ID */ - createPortion(cfg) { + createPortion(mesh, cfg) { if (this._finalized) { throw "Already finalized"; @@ -70506,7 +70585,7 @@ class PointsBatchingLayer { const color = cfg.color; const colorsCompressed = cfg.colorsCompressed; const colors = cfg.colors; - const pickColor = cfg.pickColor; + const pickColor = cfg.pickColor; const buffer = this._buffer; const positionsIndex = buffer.positions.length; @@ -70595,7 +70674,7 @@ class PointsBatchingLayer { this._numPortions++; this.model.numPortions++; - + this._meshes.push(mesh); return portionId; } @@ -70859,7 +70938,7 @@ class PointsBatchingLayer { let colorFlag; if (!visible || culled || xrayed || (highlighted && !this.model.scene.highlightMaterial.glowThrough) - || (selected && !this.model.scene.selectedMaterial.glowThrough) ) { + || (selected && !this.model.scene.selectedMaterial.glowThrough)) { colorFlag = RENDER_PASSES.NOT_RENDERED; } else { if (transparent) { @@ -70893,7 +70972,7 @@ class PointsBatchingLayer { // no edges vertFlag |= pickFlag << 12; vertFlag |= clippableFlag << 16; - + tempArray[i] = vertFlag; } @@ -72353,10 +72432,24 @@ class PointsInstancingLayer { this._modelMatrixCol2 = []; this._portions = []; + this._meshes = []; + this._aabb = math.collapseAABB3(); + this.aabbDirty = true; this._finalized = false; } + get aabb() { + if (this.aabbDirty) { + math.collapseAABB3(this._aabb); + for (let i = 0, len = this._meshes.length; i < len; i++) { + math.expandAABB3(this._aabb, this._meshes[i].aabb); + } + this.aabbDirty = false; + } + return this._aabb; + } + /** * Creates a new portion within this InstancingLayer, returns the new portion ID. * @@ -72364,13 +72457,14 @@ class PointsInstancingLayer { * * Gives the portion the specified color and matrix. * + * @param mesh The SceneModelMesh that owns the portion * @param cfg Portion params * @param cfg.meshMatrix Flat float 4x4 matrix. * @param [cfg.worldMatrix] Flat float 4x4 matrix. * @param cfg.pickColor Quantized pick color * @returns {number} Portion ID. */ - createPortion(cfg) { + createPortion(mesh, cfg) { const meshMatrix = cfg.meshMatrix; const pickColor = cfg.pickColor; @@ -72414,7 +72508,7 @@ class PointsInstancingLayer { this._numPortions++; this.model.numPortions++; - + this._meshes.push(mesh); return portionId; } @@ -77373,7 +77467,7 @@ class TrianglesDataTextureSnapDepthRenderer { const textureState = state.textureState; const origin = dataTextureLayer._state.origin; const {position, rotationMatrix, rotationMatrixConjugate} = model; - const aabb = model.aabb; + const aabb = dataTextureLayer.aabb; // Per-layer AABB for best RTC accuracy const viewMatrix = frameCtx.pickViewMatrix || camera.viewMatrix; const coordinateScaler = tempVec3a$e; @@ -77791,7 +77885,7 @@ class TrianglesDataTextureSnapDepthBufInitRenderer { const textureState = state.textureState; const origin = dataTextureLayer._state.origin; const {position, rotationMatrix, rotationMatrixConjugate} = model; - const aabb = model.aabb; + const aabb = dataTextureLayer.aabb; // Per-layer AABB for best RTC accuracy const viewMatrix = frameCtx.pickViewMatrix || camera.viewMatrix; const coordinateScaler = tempVec3a$d; @@ -81143,10 +81237,13 @@ class TrianglesDataTextureLayer { this._bucketGeometries = {}; + this._meshes = []; + /** * The axis-aligned World-space boundary of this TrianglesDataTextureLayer's positions. */ - this.aabb = math.collapseAABB3(); + this._aabb = math.collapseAABB3(); + this.aabbDirty = true; /** * The number of updates in the current frame; @@ -81156,6 +81253,17 @@ class TrianglesDataTextureLayer { this._finalized = false; } + get aabb() { + if (this.aabbDirty) { + math.collapseAABB3(this._aabb); + for (let i = 0, len = this._meshes.length; i < len; i++) { + math.expandAABB3(this._aabb, this._meshes[i].aabb); + } + this.aabbDirty = false; + } + return this._aabb; + } + /** * Returns whether the ```TrianglesDataTextureLayer``` has room for more portions. * @@ -81200,6 +81308,7 @@ class TrianglesDataTextureLayer { * * Gives the portion the specified geometry, color and matrix. * + * @param mesh The SceneModelMesh that owns the portion * @param portionCfg.positionsCompressed Flat float Local-space positionsCompressed array. * @param [portionCfg.normals] Flat float normals array. * @param [portionCfg.colors] Flat float colors array. @@ -81214,12 +81323,12 @@ class TrianglesDataTextureLayer { * @param portionCfg.pickColor Quantized pick color * @returns {number} Portion ID */ - createPortion(portionCfg) { + createPortion(mesh, portionCfg) { if (this._finalized) { throw "Already finalized"; } const subPortionIds = []; - // const portionAABB = portionCfg.worldAABB; + // const portionAABB = portionCfg.worldAABB; portionCfg.buckets.forEach((bucket, bucketIndex) => { const bucketGeometryId = portionCfg.geometryId !== undefined && portionCfg.geometryId !== null ? `${portionCfg.geometryId}#${bucketIndex}` @@ -81229,7 +81338,7 @@ class TrianglesDataTextureLayer { bucketGeometry = this._createBucketGeometry(portionCfg, bucket); this._bucketGeometries[bucketGeometryId] = bucketGeometry; } - // const subPortionAABB = math.collapseAABB3(tempAABB3b); + // const subPortionAABB = math.collapseAABB3(tempAABB3b); const subPortionId = this._createSubPortion(portionCfg, bucketGeometry, bucket); //math.expandAABB3(portionAABB, subPortionAABB); subPortionIds.push(subPortionId); @@ -81247,6 +81356,7 @@ class TrianglesDataTextureLayer { const portionId = this._portionToSubPortionsMap.length; this._portionToSubPortionsMap.push(subPortionIds); this.model.numPortions++; + this._meshes.push(mesh); return portionId; } @@ -81351,7 +81461,7 @@ class TrianglesDataTextureLayer { numEdges, indicesBase, edgeIndicesBase, - // aabb, + // aabb, obb: null // Lazy-created in _createSubPortion if needed }; @@ -81531,7 +81641,7 @@ class TrianglesDataTextureLayer { textureState.texturePerVertexIdCoordinates = this._dataTextureGenerator.generateTextureForPositions( gl, buffer.positionsCompressed, - buffer.lenPositionsCompressed ); + buffer.lenPositionsCompressed); textureState.texturePerPolygonIdPortionIds8Bits = this._dataTextureGenerator.generateTextureForPackedPortionIds( gl, @@ -82112,7 +82222,7 @@ class TrianglesDataTextureLayer { const textureState = this._dataTextureState; const gl = this.model.scene.canvas.gl; tempMat4a.set(matrix); - textureState.texturePerObjectInstanceMatrices._textureData.set(tempMat4a, subPortionId*16); + textureState.texturePerObjectInstanceMatrices._textureData.set(tempMat4a, subPortionId * 16); if (this._deferredSetFlagsActive) { this._deferredSetFlagsDirty = true; return; @@ -82135,7 +82245,7 @@ class TrianglesDataTextureLayer { ); // gl.bindTexture (gl.TEXTURE_2D, null); } - + // ---------------------- COLOR RENDERING ----------------------------------- drawColorOpaque(renderFlags, frameCtx) { @@ -85819,7 +85929,7 @@ class SceneModel extends Component { if (cfg.transform) { cfg.meshMatrix = cfg.transform.worldMatrix; } - mesh.portionId = mesh.layer.createPortion(cfg); + mesh.portionId = mesh.layer.createPortion(mesh, cfg); this._meshes[cfg.id] = mesh; this._meshList.push(mesh); return mesh; diff --git a/dist/xeokit-sdk.es5.js b/dist/xeokit-sdk.es5.js index 70040a8555..c32f4c18ef 100644 --- a/dist/xeokit-sdk.es5.js +++ b/dist/xeokit-sdk.es5.js @@ -17202,7 +17202,7 @@ this._colorizing=false;this._transparent=opacity<255;/** * The {@link SceneModelEntity} that owns this SceneModelMesh. * * @type {SceneModelEntity} - */this.entity=null;if(transform){transform._addMesh(this);}}_createClass(SceneModelMesh,[{key:"_sceneModelDirty",value:function _sceneModelDirty(){this._aabbWorldDirty=true;}},{key:"_transformDirty",value:function _transformDirty(){if(!this._matrixDirty&&!this._matrixUpdateScheduled){this.model._meshMatrixDirty(this);this._matrixDirty=true;this._matrixUpdateScheduled=true;}this._aabbWorldDirty=true;if(this.entity){this.entity._transformDirty();}}},{key:"_updateMatrix",value:function _updateMatrix(){if(this.transform&&this._matrixDirty){this.layer.setMatrix(this.portionId,this.transform.worldMatrix);}this._matrixDirty=false;this._matrixUpdateScheduled=false;}},{key:"_finalize",value:function _finalize(entityFlags){this.layer.initFlags(this.portionId,entityFlags,this._transparent);}},{key:"_finalize2",value:function _finalize2(){if(this.layer.flushInitFlags){this.layer.flushInitFlags();}}},{key:"_setVisible",value:function _setVisible(entityFlags){this.layer.setVisible(this.portionId,entityFlags,this._transparent);}},{key:"_setColor",value:function _setColor(color){this._color[0]=color[0];this._color[1]=color[1];this._color[2]=color[2];if(!this._colorizing){this.layer.setColor(this.portionId,this._color,false);}}},{key:"_setColorize",value:function _setColorize(colorize){var setOpacity=false;if(colorize){this._colorize[0]=colorize[0];this._colorize[1]=colorize[1];this._colorize[2]=colorize[2];this.layer.setColor(this.portionId,this._colorize,setOpacity);this._colorizing=true;}else{this.layer.setColor(this.portionId,this._color,setOpacity);this._colorizing=false;}}},{key:"_setOpacity",value:function _setOpacity(opacity,entityFlags){var newTransparent=opacity<255;var lastTransparent=this._transparent;var changingTransparency=lastTransparent!==newTransparent;this._color[3]=opacity;this._colorize[3]=opacity;this._transparent=newTransparent;if(this._colorizing){this.layer.setColor(this.portionId,this._colorize);}else{this.layer.setColor(this.portionId,this._color);}if(changingTransparency){this.layer.setTransparent(this.portionId,entityFlags,newTransparent);}}},{key:"_setOffset",value:function _setOffset(offset){this.layer.setOffset(this.portionId,offset);}},{key:"_setHighlighted",value:function _setHighlighted(entityFlags){this.layer.setHighlighted(this.portionId,entityFlags,this._transparent);}},{key:"_setXRayed",value:function _setXRayed(entityFlags){this.layer.setXRayed(this.portionId,entityFlags,this._transparent);}},{key:"_setSelected",value:function _setSelected(entityFlags){this.layer.setSelected(this.portionId,entityFlags,this._transparent);}},{key:"_setEdges",value:function _setEdges(entityFlags){this.layer.setEdges(this.portionId,entityFlags,this._transparent);}},{key:"_setClippable",value:function _setClippable(entityFlags){this.layer.setClippable(this.portionId,entityFlags,this._transparent);}},{key:"_setCollidable",value:function _setCollidable(entityFlags){this.layer.setCollidable(this.portionId,entityFlags);}},{key:"_setPickable",value:function _setPickable(flags){this.layer.setPickable(this.portionId,flags,this._transparent);}},{key:"_setCulled",value:function _setCulled(flags){this.layer.setCulled(this.portionId,flags,this._transparent);}/** + */this.entity=null;if(transform){transform._addMesh(this);}}_createClass(SceneModelMesh,[{key:"_sceneModelDirty",value:function _sceneModelDirty(){this._aabbWorldDirty=true;this.layer.aabbDirty=true;}},{key:"_transformDirty",value:function _transformDirty(){if(!this._matrixDirty&&!this._matrixUpdateScheduled){this.model._meshMatrixDirty(this);this._matrixDirty=true;this._matrixUpdateScheduled=true;}this._aabbWorldDirty=true;this.layer.aabbDirty=true;if(this.entity){this.entity._transformDirty();}}},{key:"_updateMatrix",value:function _updateMatrix(){if(this.transform&&this._matrixDirty){this.layer.setMatrix(this.portionId,this.transform.worldMatrix);}this._matrixDirty=false;this._matrixUpdateScheduled=false;}},{key:"_finalize",value:function _finalize(entityFlags){this.layer.initFlags(this.portionId,entityFlags,this._transparent);}},{key:"_finalize2",value:function _finalize2(){if(this.layer.flushInitFlags){this.layer.flushInitFlags();}}},{key:"_setVisible",value:function _setVisible(entityFlags){this.layer.setVisible(this.portionId,entityFlags,this._transparent);}},{key:"_setColor",value:function _setColor(color){this._color[0]=color[0];this._color[1]=color[1];this._color[2]=color[2];if(!this._colorizing){this.layer.setColor(this.portionId,this._color,false);}}},{key:"_setColorize",value:function _setColorize(colorize){var setOpacity=false;if(colorize){this._colorize[0]=colorize[0];this._colorize[1]=colorize[1];this._colorize[2]=colorize[2];this.layer.setColor(this.portionId,this._colorize,setOpacity);this._colorizing=true;}else{this.layer.setColor(this.portionId,this._color,setOpacity);this._colorizing=false;}}},{key:"_setOpacity",value:function _setOpacity(opacity,entityFlags){var newTransparent=opacity<255;var lastTransparent=this._transparent;var changingTransparency=lastTransparent!==newTransparent;this._color[3]=opacity;this._colorize[3]=opacity;this._transparent=newTransparent;if(this._colorizing){this.layer.setColor(this.portionId,this._colorize);}else{this.layer.setColor(this.portionId,this._color);}if(changingTransparency){this.layer.setTransparent(this.portionId,entityFlags,newTransparent);}}},{key:"_setOffset",value:function _setOffset(offset){this.layer.setOffset(this.portionId,offset);}},{key:"_setHighlighted",value:function _setHighlighted(entityFlags){this.layer.setHighlighted(this.portionId,entityFlags,this._transparent);}},{key:"_setXRayed",value:function _setXRayed(entityFlags){this.layer.setXRayed(this.portionId,entityFlags,this._transparent);}},{key:"_setSelected",value:function _setSelected(entityFlags){this.layer.setSelected(this.portionId,entityFlags,this._transparent);}},{key:"_setEdges",value:function _setEdges(entityFlags){this.layer.setEdges(this.portionId,entityFlags,this._transparent);}},{key:"_setClippable",value:function _setClippable(entityFlags){this.layer.setClippable(this.portionId,entityFlags,this._transparent);}},{key:"_setCollidable",value:function _setCollidable(entityFlags){this.layer.setCollidable(this.portionId,entityFlags);}},{key:"_setPickable",value:function _setPickable(flags){this.layer.setPickable(this.portionId,flags,this._transparent);}},{key:"_setCulled",value:function _setCulled(flags){this.layer.setCulled(this.portionId,flags,this._transparent);}/** * @private */},{key:"canPickTriangle",value:function canPickTriangle(){return false;}/** * @private @@ -17418,7 +17418,8 @@ var x=p[0]/(Math.abs(p[0])+Math.abs(p[1])+Math.abs(p[2]));var y=p[1]/(Math.abs(p */function octDecodeVec2(oct){// Decode an oct-encoded normal var x=oct[0];var y=oct[1];x/=x<0?127:128;y/=y<0?127:128;var z=1-Math.abs(x)-Math.abs(y);if(z<0){x=(1-Math.abs(y))*(x>=0?1:-1);y=(1-Math.abs(x))*(y>=0?1:-1);}var length=Math.sqrt(x*x+y*y+z*z);return[x/length,y/length,z/length];}var tempVec3a$q=math.vec3();var tempVec3b$m=math.vec3();var tempVec3c$j=math.vec3();var tempVec3d$8=math.vec3();var tempMat4a$g=math.mat4();/** * @private - */var SnapBatchingDepthBufInitRenderer=/*#__PURE__*/function(_VBOSceneModelRendere7){_inherits(SnapBatchingDepthBufInitRenderer,_VBOSceneModelRendere7);var _super89=_createSuper(SnapBatchingDepthBufInitRenderer);function SnapBatchingDepthBufInitRenderer(){_classCallCheck(this,SnapBatchingDepthBufInitRenderer);return _super89.apply(this,arguments);}_createClass(SnapBatchingDepthBufInitRenderer,[{key:"drawLayer",value:function drawLayer(frameCtx,batchingLayer,renderPass){if(!this._program){this._allocate();if(this.errors){return;}}if(frameCtx.lastProgramId!==this._program.id){frameCtx.lastProgramId=this._program.id;this._bindProgram();}var model=batchingLayer.model;var scene=model.scene;var camera=scene.camera;var gl=scene.canvas.gl;var state=batchingLayer._state;var origin=batchingLayer._state.origin;var position=model.position,rotationMatrix=model.rotationMatrix,rotationMatrixConjugate=model.rotationMatrixConjugate;var aabb=model.aabb;var viewMatrix=frameCtx.pickViewMatrix||camera.viewMatrix;if(this._vaoCache.has(batchingLayer)){gl.bindVertexArray(this._vaoCache.get(batchingLayer));}else{this._vaoCache.set(batchingLayer,this._makeVAO(state));}var coordinateScaler=tempVec3a$q;coordinateScaler[0]=math.safeInv(aabb[3]-aabb[0])*math.MAX_INT;coordinateScaler[1]=math.safeInv(aabb[4]-aabb[1])*math.MAX_INT;coordinateScaler[2]=math.safeInv(aabb[5]-aabb[2])*math.MAX_INT;frameCtx.snapPickCoordinateScale[0]=math.safeInv(coordinateScaler[0]);frameCtx.snapPickCoordinateScale[1]=math.safeInv(coordinateScaler[1]);frameCtx.snapPickCoordinateScale[2]=math.safeInv(coordinateScaler[2]);var rtcViewMatrix;var rtcCameraEye;if(origin||position[0]!==0||position[1]!==0||position[2]!==0){var rtcOrigin=tempVec3b$m;if(origin){var rotatedOrigin=tempVec3c$j;math.transformPoint3(rotationMatrix,origin,rotatedOrigin);rtcOrigin[0]=rotatedOrigin[0];rtcOrigin[1]=rotatedOrigin[1];rtcOrigin[2]=rotatedOrigin[2];}else{rtcOrigin[0]=0;rtcOrigin[1]=0;rtcOrigin[2]=0;}rtcOrigin[0]+=position[0];rtcOrigin[1]+=position[1];rtcOrigin[2]+=position[2];rtcViewMatrix=createRTCViewMat(viewMatrix,rtcOrigin,tempMat4a$g);rtcCameraEye=tempVec3d$8;rtcCameraEye[0]=camera.eye[0]-rtcOrigin[0];rtcCameraEye[1]=camera.eye[1]-rtcOrigin[1];rtcCameraEye[2]=camera.eye[2]-rtcOrigin[2];frameCtx.snapPickOrigin[0]=rtcOrigin[0];frameCtx.snapPickOrigin[1]=rtcOrigin[1];frameCtx.snapPickOrigin[2]=rtcOrigin[2];}else{rtcViewMatrix=viewMatrix;rtcCameraEye=camera.eye;frameCtx.snapPickOrigin[0]=0;frameCtx.snapPickOrigin[1]=0;frameCtx.snapPickOrigin[2]=0;}gl.uniform3fv(this._uCameraEyeRtc,rtcCameraEye);gl.uniform2fv(this.uVectorA,frameCtx.snapVectorA);gl.uniform2fv(this.uInverseVectorAB,frameCtx.snapInvVectorAB);gl.uniform1i(this._uLayerNumber,frameCtx.snapPickLayerNumber);gl.uniform3fv(this._uCoordinateScaler,coordinateScaler);gl.uniform1i(this._uRenderPass,renderPass);gl.uniform1i(this._uPickInvisible,frameCtx.pickInvisible);var offset=0;var mat4Size=4*4;this._matricesUniformBlockBufferData.set(rotationMatrixConjugate,0);this._matricesUniformBlockBufferData.set(rtcViewMatrix,offset+=mat4Size);this._matricesUniformBlockBufferData.set(camera.projMatrix,offset+=mat4Size);this._matricesUniformBlockBufferData.set(state.positionsDecodeMatrix,offset+=mat4Size);gl.bindBuffer(gl.UNIFORM_BUFFER,this._matricesUniformBlockBuffer);gl.bufferData(gl.UNIFORM_BUFFER,this._matricesUniformBlockBufferData,gl.DYNAMIC_DRAW);gl.bindBufferBase(gl.UNIFORM_BUFFER,this._matricesUniformBlockBufferBindingPoint,this._matricesUniformBlockBuffer);{var logDepthBufFC=2.0/(Math.log(frameCtx.pickZFar+1.0)/Math.LN2);// TODO: Far from pick project matrix? + */var SnapBatchingDepthBufInitRenderer=/*#__PURE__*/function(_VBOSceneModelRendere7){_inherits(SnapBatchingDepthBufInitRenderer,_VBOSceneModelRendere7);var _super89=_createSuper(SnapBatchingDepthBufInitRenderer);function SnapBatchingDepthBufInitRenderer(){_classCallCheck(this,SnapBatchingDepthBufInitRenderer);return _super89.apply(this,arguments);}_createClass(SnapBatchingDepthBufInitRenderer,[{key:"drawLayer",value:function drawLayer(frameCtx,batchingLayer,renderPass){if(!this._program){this._allocate();if(this.errors){return;}}if(frameCtx.lastProgramId!==this._program.id){frameCtx.lastProgramId=this._program.id;this._bindProgram();}var model=batchingLayer.model;var scene=model.scene;var camera=scene.camera;var gl=scene.canvas.gl;var state=batchingLayer._state;var origin=batchingLayer._state.origin;var position=model.position,rotationMatrix=model.rotationMatrix,rotationMatrixConjugate=model.rotationMatrixConjugate;var aabb=batchingLayer.aabb;// Per-layer AABB for best RTC accuracy +var viewMatrix=frameCtx.pickViewMatrix||camera.viewMatrix;if(this._vaoCache.has(batchingLayer)){gl.bindVertexArray(this._vaoCache.get(batchingLayer));}else{this._vaoCache.set(batchingLayer,this._makeVAO(state));}var coordinateScaler=tempVec3a$q;coordinateScaler[0]=math.safeInv(aabb[3]-aabb[0])*math.MAX_INT;coordinateScaler[1]=math.safeInv(aabb[4]-aabb[1])*math.MAX_INT;coordinateScaler[2]=math.safeInv(aabb[5]-aabb[2])*math.MAX_INT;frameCtx.snapPickCoordinateScale[0]=math.safeInv(coordinateScaler[0]);frameCtx.snapPickCoordinateScale[1]=math.safeInv(coordinateScaler[1]);frameCtx.snapPickCoordinateScale[2]=math.safeInv(coordinateScaler[2]);var rtcViewMatrix;var rtcCameraEye;if(origin||position[0]!==0||position[1]!==0||position[2]!==0){var rtcOrigin=tempVec3b$m;if(origin){var rotatedOrigin=tempVec3c$j;math.transformPoint3(rotationMatrix,origin,rotatedOrigin);rtcOrigin[0]=rotatedOrigin[0];rtcOrigin[1]=rotatedOrigin[1];rtcOrigin[2]=rotatedOrigin[2];}else{rtcOrigin[0]=0;rtcOrigin[1]=0;rtcOrigin[2]=0;}rtcOrigin[0]+=position[0];rtcOrigin[1]+=position[1];rtcOrigin[2]+=position[2];rtcViewMatrix=createRTCViewMat(viewMatrix,rtcOrigin,tempMat4a$g);rtcCameraEye=tempVec3d$8;rtcCameraEye[0]=camera.eye[0]-rtcOrigin[0];rtcCameraEye[1]=camera.eye[1]-rtcOrigin[1];rtcCameraEye[2]=camera.eye[2]-rtcOrigin[2];frameCtx.snapPickOrigin[0]=rtcOrigin[0];frameCtx.snapPickOrigin[1]=rtcOrigin[1];frameCtx.snapPickOrigin[2]=rtcOrigin[2];}else{rtcViewMatrix=viewMatrix;rtcCameraEye=camera.eye;frameCtx.snapPickOrigin[0]=0;frameCtx.snapPickOrigin[1]=0;frameCtx.snapPickOrigin[2]=0;}gl.uniform3fv(this._uCameraEyeRtc,rtcCameraEye);gl.uniform2fv(this.uVectorA,frameCtx.snapVectorA);gl.uniform2fv(this.uInverseVectorAB,frameCtx.snapInvVectorAB);gl.uniform1i(this._uLayerNumber,frameCtx.snapPickLayerNumber);gl.uniform3fv(this._uCoordinateScaler,coordinateScaler);gl.uniform1i(this._uRenderPass,renderPass);gl.uniform1i(this._uPickInvisible,frameCtx.pickInvisible);var offset=0;var mat4Size=4*4;this._matricesUniformBlockBufferData.set(rotationMatrixConjugate,0);this._matricesUniformBlockBufferData.set(rtcViewMatrix,offset+=mat4Size);this._matricesUniformBlockBufferData.set(camera.projMatrix,offset+=mat4Size);this._matricesUniformBlockBufferData.set(state.positionsDecodeMatrix,offset+=mat4Size);gl.bindBuffer(gl.UNIFORM_BUFFER,this._matricesUniformBlockBuffer);gl.bufferData(gl.UNIFORM_BUFFER,this._matricesUniformBlockBufferData,gl.DYNAMIC_DRAW);gl.bindBufferBase(gl.UNIFORM_BUFFER,this._matricesUniformBlockBufferBindingPoint,this._matricesUniformBlockBuffer);{var logDepthBufFC=2.0/(Math.log(frameCtx.pickZFar+1.0)/Math.LN2);// TODO: Far from pick project matrix? gl.uniform1f(this._uLogDepthBufFC,logDepthBufFC);}this.setSectionPlanesStateUniforms(batchingLayer);//============================================================= // TODO: Use drawElements count and offset to draw only one entity //============================================================= @@ -17427,7 +17428,8 @@ state.indicesBuf.bind();gl.drawElements(gl.TRIANGLES,state.indicesBuf.numItems,s src.push("int pickFlag = int(flags) >> 12 & 0xF;");src.push("if (pickFlag != renderPass) {");src.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);");// Cull vertex src.push(" } else {");src.push(" vec4 worldPosition = worldMatrix * (positionsDecodeMatrix * vec4(position, 1.0)); ");if(scene.entityOffsetsEnabled){src.push(" worldPosition.xyz = worldPosition.xyz + offset;");}src.push(" relativeToOriginPosition = worldPosition.xyz;");src.push(" vec4 viewPosition = viewMatrix * worldPosition; ");src.push(" vWorldPosition = worldPosition;");if(clipping){src.push(" vFlags = flags;");}src.push("vPickColor = pickColor;");src.push("vec4 clipPos = projMatrix * viewPosition;");src.push("float tmp = clipPos.w;");src.push("clipPos.xyzw /= tmp;");src.push("clipPos.xy = remapClipPos(clipPos.xy);");src.push("clipPos.xyzw *= tmp;");{src.push("vFragDepth = 1.0 + clipPos.w;");src.push("isPerspective = float (isPerspectiveMatrix(projMatrix));");}src.push("gl_Position = clipPos;");src.push(" }");src.push("}");return src;}},{key:"_buildFragmentShader",value:function _buildFragmentShader(){var scene=this._scene;var sectionPlanesState=scene._sectionPlanesState;var clipping=sectionPlanesState.getNumAllocatedSectionPlanes()>0;var src=[];src.push('#version 300 es');src.push("// VBO SnapBatchingDepthBufInitRenderer fragment shader");src.push("#ifdef GL_FRAGMENT_PRECISION_HIGH");src.push("precision highp float;");src.push("precision highp int;");src.push("#else");src.push("precision mediump float;");src.push("precision mediump int;");src.push("#endif");{src.push("in float isPerspective;");src.push("uniform float logDepthBufFC;");src.push("in float vFragDepth;");}src.push("uniform int layerNumber;");src.push("uniform vec3 coordinateScaler;");src.push("in vec4 vWorldPosition;");src.push("flat in vec4 vPickColor;");if(clipping){src.push("in float vFlags;");for(var _i203=0;_i203> 16 & 0xF) == 1;");src.push(" if (clippable) {");src.push(" float dist = 0.0;");for(var i=0;i 0.0) { discard; }");src.push(" }");}{src.push(" float dx = dFdx(vFragDepth);");src.push(" float dy = dFdy(vFragDepth);");src.push(" float diff = sqrt(dx*dx+dy*dy);");src.push(" gl_FragDepth = isPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth + diff ) * logDepthBufFC * 0.5;");}src.push("outCoords = ivec4(relativeToOriginPosition.xyz*coordinateScaler.xyz, -layerNumber);");src.push("vec3 xTangent = dFdx( vWorldPosition.xyz );");src.push("vec3 yTangent = dFdy( vWorldPosition.xyz );");src.push("vec3 worldNormal = normalize( cross( xTangent, yTangent ) );");src.push("outNormal = ivec4(worldNormal * float(".concat(math.MAX_INT,"), 1.0);"));src.push("outPickColor = uvec4(vPickColor);");src.push("}");return src;}},{key:"webglContextRestored",value:function webglContextRestored(){this._program=null;}},{key:"destroy",value:function destroy(){if(this._program){this._program.destroy();}this._program=null;}}]);return SnapBatchingDepthBufInitRenderer;}(VBOSceneModelRenderer);var tempVec3a$p=math.vec3();var tempVec3b$l=math.vec3();var tempVec3c$i=math.vec3();var tempVec3d$7=math.vec3();var tempMat4a$f=math.mat4();/** * @private - */var SnapBatchingDepthRenderer=/*#__PURE__*/function(_VBOSceneModelRendere8){_inherits(SnapBatchingDepthRenderer,_VBOSceneModelRendere8);var _super90=_createSuper(SnapBatchingDepthRenderer);function SnapBatchingDepthRenderer(){_classCallCheck(this,SnapBatchingDepthRenderer);return _super90.apply(this,arguments);}_createClass(SnapBatchingDepthRenderer,[{key:"_getHash",value:function _getHash(){return this._scene._sectionPlanesState.getHash()+this._scene.pointsMaterial.hash;}},{key:"drawLayer",value:function drawLayer(frameCtx,batchingLayer,renderPass){if(!this._program){this._allocate();if(this.errors){return;}}if(frameCtx.lastProgramId!==this._program.id){frameCtx.lastProgramId=this._program.id;this._bindProgram();}var model=batchingLayer.model;var scene=model.scene;var camera=scene.camera;var gl=scene.canvas.gl;var state=batchingLayer._state;var origin=batchingLayer._state.origin;var position=model.position,rotationMatrix=model.rotationMatrix,rotationMatrixConjugate=model.rotationMatrixConjugate;var aabb=model.aabb;var viewMatrix=frameCtx.pickViewMatrix||camera.viewMatrix;if(this._vaoCache.has(batchingLayer)){gl.bindVertexArray(this._vaoCache.get(batchingLayer));}else{this._vaoCache.set(batchingLayer,this._makeVAO(state));}var coordinateScaler=tempVec3a$p;coordinateScaler[0]=math.safeInv(aabb[3]-aabb[0])*math.MAX_INT;coordinateScaler[1]=math.safeInv(aabb[4]-aabb[1])*math.MAX_INT;coordinateScaler[2]=math.safeInv(aabb[5]-aabb[2])*math.MAX_INT;frameCtx.snapPickCoordinateScale[0]=math.safeInv(coordinateScaler[0]);frameCtx.snapPickCoordinateScale[1]=math.safeInv(coordinateScaler[1]);frameCtx.snapPickCoordinateScale[2]=math.safeInv(coordinateScaler[2]);var rtcViewMatrix;var rtcCameraEye;if(origin||position[0]!==0||position[1]!==0||position[2]!==0){var rtcOrigin=tempVec3b$l;if(origin){var rotatedOrigin=tempVec3c$i;math.transformPoint3(rotationMatrix,origin,rotatedOrigin);rtcOrigin[0]=rotatedOrigin[0];rtcOrigin[1]=rotatedOrigin[1];rtcOrigin[2]=rotatedOrigin[2];}else{rtcOrigin[0]=0;rtcOrigin[1]=0;rtcOrigin[2]=0;}rtcOrigin[0]+=position[0];rtcOrigin[1]+=position[1];rtcOrigin[2]+=position[2];rtcViewMatrix=createRTCViewMat(viewMatrix,rtcOrigin,tempMat4a$f);rtcCameraEye=tempVec3d$7;rtcCameraEye[0]=camera.eye[0]-rtcOrigin[0];rtcCameraEye[1]=camera.eye[1]-rtcOrigin[1];rtcCameraEye[2]=camera.eye[2]-rtcOrigin[2];frameCtx.snapPickOrigin[0]=rtcOrigin[0];frameCtx.snapPickOrigin[1]=rtcOrigin[1];frameCtx.snapPickOrigin[2]=rtcOrigin[2];}else{rtcViewMatrix=viewMatrix;rtcCameraEye=camera.eye;frameCtx.snapPickOrigin[0]=0;frameCtx.snapPickOrigin[1]=0;frameCtx.snapPickOrigin[2]=0;}gl.uniform3fv(this._uCameraEyeRtc,rtcCameraEye);gl.uniform2fv(this.uVectorA,frameCtx.snapVectorA);gl.uniform2fv(this.uInverseVectorAB,frameCtx.snapInvVectorAB);gl.uniform1i(this._uLayerNumber,frameCtx.snapPickLayerNumber);gl.uniform3fv(this._uCoordinateScaler,coordinateScaler);gl.uniform1i(this._uRenderPass,renderPass);gl.uniform1i(this._uPickInvisible,frameCtx.pickInvisible);var offset=0;var mat4Size=4*4;this._matricesUniformBlockBufferData.set(rotationMatrixConjugate,0);this._matricesUniformBlockBufferData.set(rtcViewMatrix,offset+=mat4Size);this._matricesUniformBlockBufferData.set(camera.projMatrix,offset+=mat4Size);this._matricesUniformBlockBufferData.set(state.positionsDecodeMatrix,offset+=mat4Size);gl.bindBuffer(gl.UNIFORM_BUFFER,this._matricesUniformBlockBuffer);gl.bufferData(gl.UNIFORM_BUFFER,this._matricesUniformBlockBufferData,gl.DYNAMIC_DRAW);gl.bindBufferBase(gl.UNIFORM_BUFFER,this._matricesUniformBlockBufferBindingPoint,this._matricesUniformBlockBuffer);{var logDepthBufFC=2.0/(Math.log(frameCtx.pickZFar+1.0)/Math.LN2);// TODO: Far from pick project matrix? + */var SnapBatchingDepthRenderer=/*#__PURE__*/function(_VBOSceneModelRendere8){_inherits(SnapBatchingDepthRenderer,_VBOSceneModelRendere8);var _super90=_createSuper(SnapBatchingDepthRenderer);function SnapBatchingDepthRenderer(){_classCallCheck(this,SnapBatchingDepthRenderer);return _super90.apply(this,arguments);}_createClass(SnapBatchingDepthRenderer,[{key:"_getHash",value:function _getHash(){return this._scene._sectionPlanesState.getHash()+this._scene.pointsMaterial.hash;}},{key:"drawLayer",value:function drawLayer(frameCtx,batchingLayer,renderPass){if(!this._program){this._allocate();if(this.errors){return;}}if(frameCtx.lastProgramId!==this._program.id){frameCtx.lastProgramId=this._program.id;this._bindProgram();}var model=batchingLayer.model;var scene=model.scene;var camera=scene.camera;var gl=scene.canvas.gl;var state=batchingLayer._state;var origin=batchingLayer._state.origin;var position=model.position,rotationMatrix=model.rotationMatrix,rotationMatrixConjugate=model.rotationMatrixConjugate;var aabb=batchingLayer.aabb;// Per-layer AABB for best RTC accuracy +var viewMatrix=frameCtx.pickViewMatrix||camera.viewMatrix;if(this._vaoCache.has(batchingLayer)){gl.bindVertexArray(this._vaoCache.get(batchingLayer));}else{this._vaoCache.set(batchingLayer,this._makeVAO(state));}var coordinateScaler=tempVec3a$p;coordinateScaler[0]=math.safeInv(aabb[3]-aabb[0])*math.MAX_INT;coordinateScaler[1]=math.safeInv(aabb[4]-aabb[1])*math.MAX_INT;coordinateScaler[2]=math.safeInv(aabb[5]-aabb[2])*math.MAX_INT;frameCtx.snapPickCoordinateScale[0]=math.safeInv(coordinateScaler[0]);frameCtx.snapPickCoordinateScale[1]=math.safeInv(coordinateScaler[1]);frameCtx.snapPickCoordinateScale[2]=math.safeInv(coordinateScaler[2]);var rtcViewMatrix;var rtcCameraEye;if(origin||position[0]!==0||position[1]!==0||position[2]!==0){var rtcOrigin=tempVec3b$l;if(origin){var rotatedOrigin=tempVec3c$i;math.transformPoint3(rotationMatrix,origin,rotatedOrigin);rtcOrigin[0]=rotatedOrigin[0];rtcOrigin[1]=rotatedOrigin[1];rtcOrigin[2]=rotatedOrigin[2];}else{rtcOrigin[0]=0;rtcOrigin[1]=0;rtcOrigin[2]=0;}rtcOrigin[0]+=position[0];rtcOrigin[1]+=position[1];rtcOrigin[2]+=position[2];rtcViewMatrix=createRTCViewMat(viewMatrix,rtcOrigin,tempMat4a$f);rtcCameraEye=tempVec3d$7;rtcCameraEye[0]=camera.eye[0]-rtcOrigin[0];rtcCameraEye[1]=camera.eye[1]-rtcOrigin[1];rtcCameraEye[2]=camera.eye[2]-rtcOrigin[2];frameCtx.snapPickOrigin[0]=rtcOrigin[0];frameCtx.snapPickOrigin[1]=rtcOrigin[1];frameCtx.snapPickOrigin[2]=rtcOrigin[2];}else{rtcViewMatrix=viewMatrix;rtcCameraEye=camera.eye;frameCtx.snapPickOrigin[0]=0;frameCtx.snapPickOrigin[1]=0;frameCtx.snapPickOrigin[2]=0;}gl.uniform3fv(this._uCameraEyeRtc,rtcCameraEye);gl.uniform2fv(this.uVectorA,frameCtx.snapVectorA);gl.uniform2fv(this.uInverseVectorAB,frameCtx.snapInvVectorAB);gl.uniform1i(this._uLayerNumber,frameCtx.snapPickLayerNumber);gl.uniform3fv(this._uCoordinateScaler,coordinateScaler);gl.uniform1i(this._uRenderPass,renderPass);gl.uniform1i(this._uPickInvisible,frameCtx.pickInvisible);var offset=0;var mat4Size=4*4;this._matricesUniformBlockBufferData.set(rotationMatrixConjugate,0);this._matricesUniformBlockBufferData.set(rtcViewMatrix,offset+=mat4Size);this._matricesUniformBlockBufferData.set(camera.projMatrix,offset+=mat4Size);this._matricesUniformBlockBufferData.set(state.positionsDecodeMatrix,offset+=mat4Size);gl.bindBuffer(gl.UNIFORM_BUFFER,this._matricesUniformBlockBuffer);gl.bufferData(gl.UNIFORM_BUFFER,this._matricesUniformBlockBufferData,gl.DYNAMIC_DRAW);gl.bindBufferBase(gl.UNIFORM_BUFFER,this._matricesUniformBlockBufferBindingPoint,this._matricesUniformBlockBuffer);{var logDepthBufFC=2.0/(Math.log(frameCtx.pickZFar+1.0)/Math.LN2);// TODO: Far from pick project matrix? gl.uniform1f(this._uLogDepthBufFC,logDepthBufFC);}this.setSectionPlanesStateUniforms(batchingLayer);//============================================================= // TODO: Use drawElements count and offset to draw only one entity //============================================================= @@ -17470,23 +17472,24 @@ if(!this._snapDepthBufInitRenderer){this._snapDepthBufInitRenderer=new SnapBatch */this.layerIndex=cfg.layerIndex;this._batchingRenderers=getBatchingRenderers$1(cfg.model.scene);this._snapBatchingRenderers=getSnapBatchingRenderers(cfg.model.scene);this._buffer=new TrianglesBatchingBuffer(cfg.maxGeometryBatchSize);this._scratchMemory=cfg.scratchMemory;this._state=new RenderState({origin:math.vec3(),positionsBuf:null,offsetsBuf:null,normalsBuf:null,colorsBuf:null,uvBuf:null,metallicRoughnessBuf:null,flagsBuf:null,indicesBuf:null,edgeIndicesBuf:null,positionsDecodeMatrix:null,uvDecodeMatrix:null,textureSet:cfg.textureSet,pbrSupported:false// Set in #finalize if we have enough to support quality rendering });// These counts are used to avoid unnecessary render passes this._numPortions=0;this._numVisibleLayerPortions=0;this._numTransparentLayerPortions=0;this._numXRayedLayerPortions=0;this._numSelectedLayerPortions=0;this._numHighlightedLayerPortions=0;this._numClippableLayerPortions=0;this._numEdgesLayerPortions=0;this._numPickableLayerPortions=0;this._numCulledLayerPortions=0;this._modelAABB=math.collapseAABB3();// Model-space AABB -this._portions=[];this._numVerts=0;this._finalized=false;if(cfg.positionsDecodeMatrix){this._state.positionsDecodeMatrix=math.mat4(cfg.positionsDecodeMatrix);}if(cfg.uvDecodeMatrix){this._state.uvDecodeMatrix=math.mat3(cfg.uvDecodeMatrix);this._preCompressedUVsExpected=true;}else{this._preCompressedUVsExpected=false;}if(cfg.origin){this._state.origin.set(cfg.origin);}/** +this._portions=[];this._meshes=[];this._numVerts=0;this._aabb=math.collapseAABB3();this.aabbDirty=true;this._finalized=false;if(cfg.positionsDecodeMatrix){this._state.positionsDecodeMatrix=math.mat4(cfg.positionsDecodeMatrix);}if(cfg.uvDecodeMatrix){this._state.uvDecodeMatrix=math.mat3(cfg.uvDecodeMatrix);this._preCompressedUVsExpected=true;}else{this._preCompressedUVsExpected=false;}if(cfg.origin){this._state.origin.set(cfg.origin);}/** * The axis-aligned World-space boundary of this TrianglesBatchingLayer's positions. * @type {*|Float64Array} */this.aabb=math.collapseAABB3();/** * When true, this layer contains solid triangle meshes, otherwise this layer contains surface triangle meshes * @type {boolean} - */this.solid=!!cfg.solid;}/** + */this.solid=!!cfg.solid;}_createClass(TrianglesBatchingLayer,[{key:"aabb",get:function get(){if(this.aabbDirty){math.collapseAABB3(this._aabb);for(var _i205=0,len=this._meshes.length;_i2050){for(var _i207=0,_len35=normalsCompressed.length;_i207<_len35;_i207++){buffer.normals.push(normalsCompressed[_i207]);}}else if(normals&&normals.length>0){var worldNormalMatrix=tempMat4$1;if(meshMatrix){math.inverseMat4(math.transposeMat4(meshMatrix,tempMat4b),worldNormalMatrix);// Note: order of inverse and transpose doesn't matter -}else{math.identityMat4(worldNormalMatrix,worldNormalMatrix);}transformAndOctEncodeNormals(worldNormalMatrix,normals,normals.length,buffer.normals,buffer.normals.length);}if(colors){for(var _i208=0,_len36=colors.length;_i208<_len36;_i208+=3){buffer.colors.push(colors[_i208]*255);buffer.colors.push(colors[_i208+1]*255);buffer.colors.push(colors[_i208+2]*255);buffer.colors.push(255);}}else if(colorsCompressed){for(var _i209=0,_len37=colors.length;_i209<_len37;_i209+=3){buffer.colors.push(colors[_i209]);buffer.colors.push(colors[_i209+1]);buffer.colors.push(colors[_i209+2]);buffer.colors.push(255);}}else if(color){var _r3=color[0];// Color is pre-quantized by VBOSceneModel -var g=color[1];var b=color[2];var _a3=opacity;for(var _i210=0;_i2100){for(var _i212=0,_len38=uv.length;_i212<_len38;_i212++){buffer.uv.push(uv[_i212]);}}else if(uvCompressed&&uvCompressed.length>0){for(var _i213=0,_len39=uvCompressed.length;_i213<_len39;_i213++){buffer.uv.push(uvCompressed[_i213]);}}for(var _i214=0,_len40=indices.length;_i214<_len40;_i214++){buffer.indices.push(vertsBaseIndex+indices[_i214]);}if(edgeIndices){for(var _i215=0,_len41=edgeIndices.length;_i215<_len41;_i215++){buffer.edgeIndices.push(vertsBaseIndex+edgeIndices[_i215]);}}{var pickColorsBase=buffer.pickColors.length;var lenPickColors=numVerts*4;for(var _i216=pickColorsBase,_len42=pickColorsBase+lenPickColors;_i216<_len42;_i216+=4){buffer.pickColors.push(pickColor[0]);buffer.pickColors.push(pickColor[1]);buffer.pickColors.push(pickColor[2]);buffer.pickColors.push(pickColor[3]);}}if(scene.entityOffsetsEnabled){for(var _i217=0;_i2170){for(var _i208=0,_len35=normalsCompressed.length;_i208<_len35;_i208++){buffer.normals.push(normalsCompressed[_i208]);}}else if(normals&&normals.length>0){var worldNormalMatrix=tempMat4$1;if(meshMatrix){math.inverseMat4(math.transposeMat4(meshMatrix,tempMat4b),worldNormalMatrix);// Note: order of inverse and transpose doesn't matter +}else{math.identityMat4(worldNormalMatrix,worldNormalMatrix);}transformAndOctEncodeNormals(worldNormalMatrix,normals,normals.length,buffer.normals,buffer.normals.length);}if(colors){for(var _i209=0,_len36=colors.length;_i209<_len36;_i209+=3){buffer.colors.push(colors[_i209]*255);buffer.colors.push(colors[_i209+1]*255);buffer.colors.push(colors[_i209+2]*255);buffer.colors.push(255);}}else if(colorsCompressed){for(var _i210=0,_len37=colors.length;_i210<_len37;_i210+=3){buffer.colors.push(colors[_i210]);buffer.colors.push(colors[_i210+1]);buffer.colors.push(colors[_i210+2]);buffer.colors.push(255);}}else if(color){var _r3=color[0];// Color is pre-quantized by VBOSceneModel +var g=color[1];var b=color[2];var _a3=opacity;for(var _i211=0;_i2110){for(var _i213=0,_len38=uv.length;_i213<_len38;_i213++){buffer.uv.push(uv[_i213]);}}else if(uvCompressed&&uvCompressed.length>0){for(var _i214=0,_len39=uvCompressed.length;_i214<_len39;_i214++){buffer.uv.push(uvCompressed[_i214]);}}for(var _i215=0,_len40=indices.length;_i215<_len40;_i215++){buffer.indices.push(vertsBaseIndex+indices[_i215]);}if(edgeIndices){for(var _i216=0,_len41=edgeIndices.length;_i216<_len41;_i216++){buffer.edgeIndices.push(vertsBaseIndex+edgeIndices[_i216]);}}{var pickColorsBase=buffer.pickColors.length;var lenPickColors=numVerts*4;for(var _i217=pickColorsBase,_len42=pickColorsBase+lenPickColors;_i217<_len42;_i217+=4){buffer.pickColors.push(pickColor[0]);buffer.pickColors.push(pickColor[1]);buffer.pickColors.push(pickColor[2]);buffer.pickColors.push(pickColor[3]);}}if(scene.entityOffsetsEnabled){for(var _i218=0;_i2180){var quantizedPositions=this._state.positionsDecodeMatrix?new Uint16Array(buffer.positions):quantizePositions(buffer.positions,this._modelAABB,this._state.positionsDecodeMatrix=math.mat4());// BOTTLENECK -state.positionsBuf=new ArrayBuf(gl,gl.ARRAY_BUFFER,quantizedPositions,quantizedPositions.length,3,gl.STATIC_DRAW);if(this.model.scene.pickSurfacePrecisionEnabled){for(var _i218=0,numPortions=this._portions.length;_i2180){// Normals are already oct-encoded +state.positionsBuf=new ArrayBuf(gl,gl.ARRAY_BUFFER,quantizedPositions,quantizedPositions.length,3,gl.STATIC_DRAW);if(this.model.scene.pickSurfacePrecisionEnabled){for(var _i219=0,numPortions=this._portions.length;_i2190){// Normals are already oct-encoded var normals=new Int8Array(buffer.normals);var normalized=true;// For oct encoded UInts state.normalsBuf=new ArrayBuf(gl,gl.ARRAY_BUFFER,normals,buffer.normals.length,3,gl.STATIC_DRAW,normalized);}if(buffer.colors.length>0){// Colors are already compressed var colors=new Uint8Array(buffer.colors);var _normalized=false;state.colorsBuf=new ArrayBuf(gl,gl.ARRAY_BUFFER,colors,buffer.colors.length,4,gl.DYNAMIC_DRAW,_normalized);}if(buffer.uv.length>0){if(!state.uvDecodeMatrix){var bounds=geometryCompressionUtils.getUVBounds(buffer.uv);var result=geometryCompressionUtils.compressUVs(buffer.uv,bounds.min,bounds.max);var uv=result.quantized;var notNormalized=false;state.uvDecodeMatrix=math.mat3(result.decodeMatrix);state.uvBuf=new ArrayBuf(gl,gl.ARRAY_BUFFER,uv,uv.length,2,gl.STATIC_DRAW,notNormalized);}else{var _notNormalized=false;state.uvBuf=new ArrayBuf(gl,gl.ARRAY_BUFFER,buffer.uv,buffer.uv.length,2,gl.STATIC_DRAW,_notNormalized);}}if(buffer.metallicRoughness.length>0){var metallicRoughness=new Uint8Array(buffer.metallicRoughness);var _normalized2=false;state.metallicRoughnessBuf=new ArrayBuf(gl,gl.ARRAY_BUFFER,metallicRoughness,buffer.metallicRoughness.length,2,gl.STATIC_DRAW,_normalized2);}if(buffer.positions.length>0){// Because we build flags arrays here, get their length from the positions array -var flagsLength=buffer.positions.length/3;var flags=new Float32Array(flagsLength);var _notNormalized2=false;state.flagsBuf=new ArrayBuf(gl,gl.ARRAY_BUFFER,flags,flags.length,1,gl.DYNAMIC_DRAW,_notNormalized2);}if(buffer.pickColors.length>0){var pickColors=new Uint8Array(buffer.pickColors);var _normalized3=false;state.pickColorsBuf=new ArrayBuf(gl,gl.ARRAY_BUFFER,pickColors,buffer.pickColors.length,4,gl.STATIC_DRAW,_normalized3);}if(this.model.scene.entityOffsetsEnabled){if(buffer.offsets.length>0){var offsets=new Float32Array(buffer.offsets);state.offsetsBuf=new ArrayBuf(gl,gl.ARRAY_BUFFER,offsets,buffer.offsets.length,3,gl.DYNAMIC_DRAW);}}if(buffer.indices.length>0){var indices=new Uint32Array(buffer.indices);state.indicesBuf=new ArrayBuf(gl,gl.ELEMENT_ARRAY_BUFFER,indices,buffer.indices.length,1,gl.STATIC_DRAW);}if(buffer.edgeIndices.length>0){var edgeIndices=new Uint32Array(buffer.edgeIndices);state.edgeIndicesBuf=new ArrayBuf(gl,gl.ELEMENT_ARRAY_BUFFER,edgeIndices,buffer.edgeIndices.length,1,gl.STATIC_DRAW);}this._state.pbrSupported=!!state.metallicRoughnessBuf&&!!state.uvBuf&&!!state.normalsBuf&&!!state.textureSet&&!!state.textureSet.colorTexture&&!!state.textureSet.metallicRoughnessTexture;this._state.colorTextureSupported=!!state.uvBuf&&!!state.textureSet&&!!state.textureSet.colorTexture;this._buffer=null;this._finalized=true;}},{key:"isEmpty",value:function isEmpty(){return!this._state.indicesBuf;}},{key:"initFlags",value:function initFlags(portionId,flags,meshTransparent){if(flags&ENTITY_FLAGS.VISIBLE){this._numVisibleLayerPortions++;this.model.numVisibleLayerPortions++;}if(flags&ENTITY_FLAGS.HIGHLIGHTED){this._numHighlightedLayerPortions++;this.model.numHighlightedLayerPortions++;}if(flags&ENTITY_FLAGS.XRAYED){this._numXRayedLayerPortions++;this.model.numXRayedLayerPortions++;}if(flags&ENTITY_FLAGS.SELECTED){this._numSelectedLayerPortions++;this.model.numSelectedLayerPortions++;}if(flags&ENTITY_FLAGS.CLIPPABLE){this._numClippableLayerPortions++;this.model.numClippableLayerPortions++;}if(flags&ENTITY_FLAGS.EDGES){this._numEdgesLayerPortions++;this.model.numEdgesLayerPortions++;}if(flags&ENTITY_FLAGS.PICKABLE){this._numPickableLayerPortions++;this.model.numPickableLayerPortions++;}if(flags&ENTITY_FLAGS.CULLED){this._numCulledLayerPortions++;this.model.numCulledLayerPortions++;}if(meshTransparent){this._numTransparentLayerPortions++;this.model.numTransparentLayerPortions++;}var deferred=true;this._setFlags(portionId,flags,meshTransparent,deferred);}},{key:"flushInitFlags",value:function flushInitFlags(){this._setDeferredFlags();}},{key:"setVisible",value:function setVisible(portionId,flags,transparent){if(!this._finalized){throw"Not finalized";}if(flags&ENTITY_FLAGS.VISIBLE){this._numVisibleLayerPortions++;this.model.numVisibleLayerPortions++;}else{this._numVisibleLayerPortions--;this.model.numVisibleLayerPortions--;}this._setFlags(portionId,flags,transparent);}},{key:"setHighlighted",value:function setHighlighted(portionId,flags,transparent){if(!this._finalized){throw"Not finalized";}if(flags&ENTITY_FLAGS.HIGHLIGHTED){this._numHighlightedLayerPortions++;this.model.numHighlightedLayerPortions++;}else{this._numHighlightedLayerPortions--;this.model.numHighlightedLayerPortions--;}this._setFlags(portionId,flags,transparent);}},{key:"setXRayed",value:function setXRayed(portionId,flags,transparent){if(!this._finalized){throw"Not finalized";}if(flags&ENTITY_FLAGS.XRAYED){this._numXRayedLayerPortions++;this.model.numXRayedLayerPortions++;}else{this._numXRayedLayerPortions--;this.model.numXRayedLayerPortions--;}this._setFlags(portionId,flags,transparent);}},{key:"setSelected",value:function setSelected(portionId,flags,transparent){if(!this._finalized){throw"Not finalized";}if(flags&ENTITY_FLAGS.SELECTED){this._numSelectedLayerPortions++;this.model.numSelectedLayerPortions++;}else{this._numSelectedLayerPortions--;this.model.numSelectedLayerPortions--;}this._setFlags(portionId,flags,transparent);}},{key:"setEdges",value:function setEdges(portionId,flags,transparent){if(!this._finalized){throw"Not finalized";}if(flags&ENTITY_FLAGS.EDGES){this._numEdgesLayerPortions++;this.model.numEdgesLayerPortions++;}else{this._numEdgesLayerPortions--;this.model.numEdgesLayerPortions--;}this._setFlags(portionId,flags,transparent);}},{key:"setClippable",value:function setClippable(portionId,flags){if(!this._finalized){throw"Not finalized";}if(flags&ENTITY_FLAGS.CLIPPABLE){this._numClippableLayerPortions++;this.model.numClippableLayerPortions++;}else{this._numClippableLayerPortions--;this.model.numClippableLayerPortions--;}this._setFlags(portionId,flags);}},{key:"setCulled",value:function setCulled(portionId,flags,transparent){if(!this._finalized){throw"Not finalized";}if(flags&ENTITY_FLAGS.CULLED){this._numCulledLayerPortions++;this.model.numCulledLayerPortions++;}else{this._numCulledLayerPortions--;this.model.numCulledLayerPortions--;}this._setFlags(portionId,flags,transparent);}},{key:"setCollidable",value:function setCollidable(portionId,flags){if(!this._finalized){throw"Not finalized";}}},{key:"setPickable",value:function setPickable(portionId,flags,transparent){if(!this._finalized){throw"Not finalized";}if(flags&ENTITY_FLAGS.PICKABLE){this._numPickableLayerPortions++;this.model.numPickableLayerPortions++;}else{this._numPickableLayerPortions--;this.model.numPickableLayerPortions--;}this._setFlags(portionId,flags,transparent);}},{key:"setColor",value:function setColor(portionId,color){if(!this._finalized){throw"Not finalized";}var portionsIdx=portionId;var portion=this._portions[portionsIdx];var vertsBaseIndex=portion.vertsBaseIndex;var numVerts=portion.numVerts;var firstColor=vertsBaseIndex*4;var lenColor=numVerts*4;var tempArray=this._scratchMemory.getUInt8Array(lenColor);var r=color[0];var g=color[1];var b=color[2];var a=color[3];for(var _i219=0;_i2190){var pickColors=new Uint8Array(buffer.pickColors);var _normalized3=false;state.pickColorsBuf=new ArrayBuf(gl,gl.ARRAY_BUFFER,pickColors,buffer.pickColors.length,4,gl.STATIC_DRAW,_normalized3);}if(this.model.scene.entityOffsetsEnabled){if(buffer.offsets.length>0){var offsets=new Float32Array(buffer.offsets);state.offsetsBuf=new ArrayBuf(gl,gl.ARRAY_BUFFER,offsets,buffer.offsets.length,3,gl.DYNAMIC_DRAW);}}if(buffer.indices.length>0){var indices=new Uint32Array(buffer.indices);state.indicesBuf=new ArrayBuf(gl,gl.ELEMENT_ARRAY_BUFFER,indices,buffer.indices.length,1,gl.STATIC_DRAW);}if(buffer.edgeIndices.length>0){var edgeIndices=new Uint32Array(buffer.edgeIndices);state.edgeIndicesBuf=new ArrayBuf(gl,gl.ELEMENT_ARRAY_BUFFER,edgeIndices,buffer.edgeIndices.length,1,gl.STATIC_DRAW);}this._state.pbrSupported=!!state.metallicRoughnessBuf&&!!state.uvBuf&&!!state.normalsBuf&&!!state.textureSet&&!!state.textureSet.colorTexture&&!!state.textureSet.metallicRoughnessTexture;this._state.colorTextureSupported=!!state.uvBuf&&!!state.textureSet&&!!state.textureSet.colorTexture;this._buffer=null;this._finalized=true;}},{key:"isEmpty",value:function isEmpty(){return!this._state.indicesBuf;}},{key:"initFlags",value:function initFlags(portionId,flags,meshTransparent){if(flags&ENTITY_FLAGS.VISIBLE){this._numVisibleLayerPortions++;this.model.numVisibleLayerPortions++;}if(flags&ENTITY_FLAGS.HIGHLIGHTED){this._numHighlightedLayerPortions++;this.model.numHighlightedLayerPortions++;}if(flags&ENTITY_FLAGS.XRAYED){this._numXRayedLayerPortions++;this.model.numXRayedLayerPortions++;}if(flags&ENTITY_FLAGS.SELECTED){this._numSelectedLayerPortions++;this.model.numSelectedLayerPortions++;}if(flags&ENTITY_FLAGS.CLIPPABLE){this._numClippableLayerPortions++;this.model.numClippableLayerPortions++;}if(flags&ENTITY_FLAGS.EDGES){this._numEdgesLayerPortions++;this.model.numEdgesLayerPortions++;}if(flags&ENTITY_FLAGS.PICKABLE){this._numPickableLayerPortions++;this.model.numPickableLayerPortions++;}if(flags&ENTITY_FLAGS.CULLED){this._numCulledLayerPortions++;this.model.numCulledLayerPortions++;}if(meshTransparent){this._numTransparentLayerPortions++;this.model.numTransparentLayerPortions++;}var deferred=true;this._setFlags(portionId,flags,meshTransparent,deferred);}},{key:"flushInitFlags",value:function flushInitFlags(){this._setDeferredFlags();}},{key:"setVisible",value:function setVisible(portionId,flags,transparent){if(!this._finalized){throw"Not finalized";}if(flags&ENTITY_FLAGS.VISIBLE){this._numVisibleLayerPortions++;this.model.numVisibleLayerPortions++;}else{this._numVisibleLayerPortions--;this.model.numVisibleLayerPortions--;}this._setFlags(portionId,flags,transparent);}},{key:"setHighlighted",value:function setHighlighted(portionId,flags,transparent){if(!this._finalized){throw"Not finalized";}if(flags&ENTITY_FLAGS.HIGHLIGHTED){this._numHighlightedLayerPortions++;this.model.numHighlightedLayerPortions++;}else{this._numHighlightedLayerPortions--;this.model.numHighlightedLayerPortions--;}this._setFlags(portionId,flags,transparent);}},{key:"setXRayed",value:function setXRayed(portionId,flags,transparent){if(!this._finalized){throw"Not finalized";}if(flags&ENTITY_FLAGS.XRAYED){this._numXRayedLayerPortions++;this.model.numXRayedLayerPortions++;}else{this._numXRayedLayerPortions--;this.model.numXRayedLayerPortions--;}this._setFlags(portionId,flags,transparent);}},{key:"setSelected",value:function setSelected(portionId,flags,transparent){if(!this._finalized){throw"Not finalized";}if(flags&ENTITY_FLAGS.SELECTED){this._numSelectedLayerPortions++;this.model.numSelectedLayerPortions++;}else{this._numSelectedLayerPortions--;this.model.numSelectedLayerPortions--;}this._setFlags(portionId,flags,transparent);}},{key:"setEdges",value:function setEdges(portionId,flags,transparent){if(!this._finalized){throw"Not finalized";}if(flags&ENTITY_FLAGS.EDGES){this._numEdgesLayerPortions++;this.model.numEdgesLayerPortions++;}else{this._numEdgesLayerPortions--;this.model.numEdgesLayerPortions--;}this._setFlags(portionId,flags,transparent);}},{key:"setClippable",value:function setClippable(portionId,flags){if(!this._finalized){throw"Not finalized";}if(flags&ENTITY_FLAGS.CLIPPABLE){this._numClippableLayerPortions++;this.model.numClippableLayerPortions++;}else{this._numClippableLayerPortions--;this.model.numClippableLayerPortions--;}this._setFlags(portionId,flags);}},{key:"setCulled",value:function setCulled(portionId,flags,transparent){if(!this._finalized){throw"Not finalized";}if(flags&ENTITY_FLAGS.CULLED){this._numCulledLayerPortions++;this.model.numCulledLayerPortions++;}else{this._numCulledLayerPortions--;this.model.numCulledLayerPortions--;}this._setFlags(portionId,flags,transparent);}},{key:"setCollidable",value:function setCollidable(portionId,flags){if(!this._finalized){throw"Not finalized";}}},{key:"setPickable",value:function setPickable(portionId,flags,transparent){if(!this._finalized){throw"Not finalized";}if(flags&ENTITY_FLAGS.PICKABLE){this._numPickableLayerPortions++;this.model.numPickableLayerPortions++;}else{this._numPickableLayerPortions--;this.model.numPickableLayerPortions--;}this._setFlags(portionId,flags,transparent);}},{key:"setColor",value:function setColor(portionId,color){if(!this._finalized){throw"Not finalized";}var portionsIdx=portionId;var portion=this._portions[portionsIdx];var vertsBaseIndex=portion.vertsBaseIndex;var numVerts=portion.numVerts;var firstColor=vertsBaseIndex*4;var lenColor=numVerts*4;var tempArray=this._scratchMemory.getUInt8Array(lenColor);var r=color[0];var g=color[1];var b=color[2];var a=color[3];for(var _i220=0;_i2203&&arguments[3]!==undefined?arguments[3]:false;if(!this._finalized){throw"Not finalized";}var portionsIdx=portionId;var portion=this._portions[portionsIdx];var vertsBaseIndex=portion.vertsBaseIndex;var numVerts=portion.numVerts;var firstFlag=vertsBaseIndex;var lenFlags=numVerts;var visible=!!(flags&ENTITY_FLAGS.VISIBLE);var xrayed=!!(flags&ENTITY_FLAGS.XRAYED);var highlighted=!!(flags&ENTITY_FLAGS.HIGHLIGHTED);var selected=!!(flags&ENTITY_FLAGS.SELECTED);var edges=!!(flags&ENTITY_FLAGS.EDGES);var pickable=!!(flags&ENTITY_FLAGS.PICKABLE);var culled=!!(flags&ENTITY_FLAGS.CULLED);var colorFlag;if(!visible||culled||xrayed||highlighted&&!this.model.scene.highlightMaterial.glowThrough||selected&&!this.model.scene.selectedMaterial.glowThrough){colorFlag=RENDER_PASSES.NOT_RENDERED;}else{if(transparent){colorFlag=RENDER_PASSES.COLOR_TRANSPARENT;}else{colorFlag=RENDER_PASSES.COLOR_OPAQUE;}}var silhouetteFlag;if(!visible||culled){silhouetteFlag=RENDER_PASSES.NOT_RENDERED;}else if(selected){silhouetteFlag=RENDER_PASSES.SILHOUETTE_SELECTED;}else if(highlighted){silhouetteFlag=RENDER_PASSES.SILHOUETTE_HIGHLIGHTED;}else if(xrayed){silhouetteFlag=RENDER_PASSES.SILHOUETTE_XRAYED;}else{silhouetteFlag=RENDER_PASSES.NOT_RENDERED;}var edgeFlag=0;if(!visible||culled){edgeFlag=RENDER_PASSES.NOT_RENDERED;}else if(selected){edgeFlag=RENDER_PASSES.EDGES_SELECTED;}else if(highlighted){edgeFlag=RENDER_PASSES.EDGES_HIGHLIGHTED;}else if(xrayed){edgeFlag=RENDER_PASSES.EDGES_XRAYED;}else if(edges){if(transparent){edgeFlag=RENDER_PASSES.EDGES_COLOR_TRANSPARENT;}else{edgeFlag=RENDER_PASSES.EDGES_COLOR_OPAQUE;}}else{edgeFlag=RENDER_PASSES.NOT_RENDERED;}var pickFlag=visible&&!culled&&pickable?RENDER_PASSES.PICK:RENDER_PASSES.NOT_RENDERED;var clippableFlag=!!(flags&ENTITY_FLAGS.CLIPPABLE)?1:0;if(deferred){// Avoid zillions of individual WebGL bufferSubData calls - buffer them to apply in one shot -if(!this._deferredFlagValues){this._deferredFlagValues=new Float32Array(this._numVerts);}for(var _i220=firstFlag,len=firstFlag+lenFlags;_i220 RTC rtcRayDir.set(worldRayDir);if(offset){math.subVec3(rtcRayOrigin,offset);}math.transformRay(this.model.worldNormalMatrix,rtcRayOrigin,rtcRayDir,rtcRayOrigin,rtcRayDir);// RTC -> local -var a=tempVec3d$6;var b=tempVec3e$1;var c=tempVec3f$1;var gotIntersect=false;var closestDist=0;var closestIntersectPos=tempVec3g$1;for(var _i224=0,len=indices.length;_i224closestDist){closestDist=dist;worldSurfacePos.set(closestIntersectPos);if(worldNormal){// Not that wasteful to eagerly compute - unlikely to hit >2 surfaces on most geometry +var a=tempVec3d$6;var b=tempVec3e$1;var c=tempVec3f$1;var gotIntersect=false;var closestDist=0;var closestIntersectPos=tempVec3g$1;for(var _i225=0,len=indices.length;_i225closestDist){closestDist=dist;worldSurfacePos.set(closestIntersectPos);if(worldNormal){// Not that wasteful to eagerly compute - unlikely to hit >2 surfaces on most geometry math.triangleNormal(a,b,c,worldNormal);}gotIntersect=true;}}}if(gotIntersect&&worldNormal){math.transformVec3(this.model.worldNormalMatrix,worldNormal,worldNormal);math.normalizeVec3(worldNormal);}return gotIntersect;}// --------- },{key:"destroy",value:function destroy(){var state=this._state;if(state.positionsBuf){state.positionsBuf.destroy();state.positionsBuf=null;}if(state.offsetsBuf){state.offsetsBuf.destroy();state.offsetsBuf=null;}if(state.normalsBuf){state.normalsBuf.destroy();state.normalsBuf=null;}if(state.colorsBuf){state.colorsBuf.destroy();state.colorsBuf=null;}if(state.metallicRoughnessBuf){state.metallicRoughnessBuf.destroy();state.metallicRoughnessBuf=null;}if(state.flagsBuf){state.flagsBuf.destroy();state.flagsBuf=null;}if(state.pickColorsBuf){state.pickColorsBuf.destroy();state.pickColorsBuf=null;}if(state.indicesBuf){state.indicesBuf.destroy();state.indicessBuf=null;}if(state.edgeIndicesBuf){state.edgeIndicesBuf.destroy();state.edgeIndicessBuf=null;}state.destroy();}}]);return TrianglesBatchingLayer;}();/** * @private @@ -17548,7 +17551,7 @@ math.triangleNormal(a,b,c,worldNormal);}gotIntersect=true;}}}if(gotIntersect&&wo src.push("in vec4 modelMatrixCol1;");src.push("in vec4 modelMatrixCol2;");src.push("in vec4 modelNormalMatrixCol0;");src.push("in vec4 modelNormalMatrixCol1;");src.push("in vec4 modelNormalMatrixCol2;");this._addMatricesUniformBlockLines(src,true);if(scene.logarithmicDepthBufferEnabled){src.push("uniform float logDepthBufFC;");src.push("out float vFragDepth;");src.push("bool isPerspectiveMatrix(mat4 m) {");src.push(" return (m[2][3] == - 1.0);");src.push("}");src.push("out float isPerspective;");}src.push("uniform vec4 lightAmbient;");for(i=0,len=lightsState.lights.length;i= 0.0 ? 1.0 : -1.0, v.y >= 0.0 ? 1.0 : -1.0);");src.push(" }");src.push(" return normalize(v);");src.push("}");if(clipping){src.push("out vec4 vWorldPosition;");src.push("out float vFlags;");}src.push("out vec4 vColor;");src.push("void main(void) {");// colorFlag = NOT_RENDERED | COLOR_OPAQUE | COLOR_TRANSPARENT // renderPass = COLOR_OPAQUE | COLOR_TRANSPARENT src.push("int colorFlag = int(flags) & 0xF;");src.push("if (colorFlag != renderPass) {");src.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);");// Cull vertex -src.push("} else {");src.push("vec4 worldPosition = positionsDecodeMatrix * vec4(position, 1.0); ");src.push("worldPosition = worldMatrix * vec4(dot(worldPosition, modelMatrixCol0), dot(worldPosition, modelMatrixCol1), dot(worldPosition, modelMatrixCol2), 1.0);");if(scene.entityOffsetsEnabled){src.push("worldPosition.xyz = worldPosition.xyz + offset;");}src.push("vec4 viewPosition = viewMatrix * worldPosition; ");src.push("vec4 modelNormal = vec4(octDecode(normal.xy), 0.0); ");src.push("vec4 worldNormal = worldNormalMatrix * vec4(dot(modelNormal, modelNormalMatrixCol0), dot(modelNormal, modelNormalMatrixCol1), dot(modelNormal, modelNormalMatrixCol2), 0.0);");src.push("vec3 viewNormal = normalize(vec4(viewNormalMatrix * worldNormal).xyz);");src.push("vec3 reflectedColor = vec3(0.0, 0.0, 0.0);");src.push("vec3 viewLightDir = vec3(0.0, 0.0, -1.0);");src.push("float lambertian = 1.0;");for(i=0,len=lightsState.lights.length;i0;var src=[];src.push("#version 300 es");src.push("// Instancing geometry drawing fragment shader");src.push("#ifdef GL_FRAGMENT_PRECISION_HIGH");src.push("precision highp float;");src.push("precision highp int;");src.push("#else");src.push("precision mediump float;");src.push("precision mediump int;");src.push("#endif");if(scene.logarithmicDepthBufferEnabled){src.push("in float isPerspective;");src.push("uniform float logDepthBufFC;");src.push("in float vFragDepth;");}if(this._withSAO){src.push("uniform sampler2D uOcclusionTexture;");src.push("uniform vec4 uSAOParams;");src.push("const float packUpscale = 256. / 255.;");src.push("const float unpackDownScale = 255. / 256.;");src.push("const vec3 packFactors = vec3( 256. * 256. * 256., 256. * 256., 256. );");src.push("const vec4 unPackFactors = unpackDownScale / vec4( packFactors, 1. );");src.push("float unpackRGBToFloat( const in vec4 v ) {");src.push(" return dot( v, unPackFactors );");src.push("}");}if(clipping){src.push("in vec4 vWorldPosition;");src.push("in float vFlags;");for(var _i225=0,len=sectionPlanesState.getNumAllocatedSectionPlanes();_i225> 16 & 0xF) == 1;");src.push(" if (clippable) {");src.push(" float dist = 0.0;");for(var _i226=0,_len43=sectionPlanesState.getNumAllocatedSectionPlanes();_i226<_len43;_i226++){src.push("if (sectionPlaneActive"+_i226+") {");src.push(" dist += clamp(dot(-sectionPlaneDir"+_i226+".xyz, vWorldPosition.xyz - sectionPlanePos"+_i226+".xyz), 0.0, 1000.0);");src.push("}");}src.push(" if (dist > 0.0) { ");src.push(" discard;");src.push(" }");src.push("}");}if(scene.logarithmicDepthBufferEnabled){src.push(" gl_FragDepth = isPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5;");}// Doing SAO blend in the main solid fill draw shader just so that edge lines can be drawn over the top +src.push("} else {");src.push("vec4 worldPosition = positionsDecodeMatrix * vec4(position, 1.0); ");src.push("worldPosition = worldMatrix * vec4(dot(worldPosition, modelMatrixCol0), dot(worldPosition, modelMatrixCol1), dot(worldPosition, modelMatrixCol2), 1.0);");if(scene.entityOffsetsEnabled){src.push("worldPosition.xyz = worldPosition.xyz + offset;");}src.push("vec4 viewPosition = viewMatrix * worldPosition; ");src.push("vec4 modelNormal = vec4(octDecode(normal.xy), 0.0); ");src.push("vec4 worldNormal = worldNormalMatrix * vec4(dot(modelNormal, modelNormalMatrixCol0), dot(modelNormal, modelNormalMatrixCol1), dot(modelNormal, modelNormalMatrixCol2), 0.0);");src.push("vec3 viewNormal = normalize(vec4(viewNormalMatrix * worldNormal).xyz);");src.push("vec3 reflectedColor = vec3(0.0, 0.0, 0.0);");src.push("vec3 viewLightDir = vec3(0.0, 0.0, -1.0);");src.push("float lambertian = 1.0;");for(i=0,len=lightsState.lights.length;i0;var src=[];src.push("#version 300 es");src.push("// Instancing geometry drawing fragment shader");src.push("#ifdef GL_FRAGMENT_PRECISION_HIGH");src.push("precision highp float;");src.push("precision highp int;");src.push("#else");src.push("precision mediump float;");src.push("precision mediump int;");src.push("#endif");if(scene.logarithmicDepthBufferEnabled){src.push("in float isPerspective;");src.push("uniform float logDepthBufFC;");src.push("in float vFragDepth;");}if(this._withSAO){src.push("uniform sampler2D uOcclusionTexture;");src.push("uniform vec4 uSAOParams;");src.push("const float packUpscale = 256. / 255.;");src.push("const float unpackDownScale = 255. / 256.;");src.push("const vec3 packFactors = vec3( 256. * 256. * 256., 256. * 256., 256. );");src.push("const vec4 unPackFactors = unpackDownScale / vec4( packFactors, 1. );");src.push("float unpackRGBToFloat( const in vec4 v ) {");src.push(" return dot( v, unPackFactors );");src.push("}");}if(clipping){src.push("in vec4 vWorldPosition;");src.push("in float vFlags;");for(var _i226=0,len=sectionPlanesState.getNumAllocatedSectionPlanes();_i226> 16 & 0xF) == 1;");src.push(" if (clippable) {");src.push(" float dist = 0.0;");for(var _i227=0,_len43=sectionPlanesState.getNumAllocatedSectionPlanes();_i227<_len43;_i227++){src.push("if (sectionPlaneActive"+_i227+") {");src.push(" dist += clamp(dot(-sectionPlaneDir"+_i227+".xyz, vWorldPosition.xyz - sectionPlanePos"+_i227+".xyz), 0.0, 1000.0);");src.push("}");}src.push(" if (dist > 0.0) { ");src.push(" discard;");src.push(" }");src.push("}");}if(scene.logarithmicDepthBufferEnabled){src.push(" gl_FragDepth = isPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5;");}// Doing SAO blend in the main solid fill draw shader just so that edge lines can be drawn over the top // Would be more efficient to defer this, then render lines later, using same depth buffer for Z-reject if(this._withSAO){src.push(" float viewportWidth = uSAOParams[0];");src.push(" float viewportHeight = uSAOParams[1];");src.push(" float blendCutoff = uSAOParams[2];");src.push(" float blendFactor = uSAOParams[3];");src.push(" vec2 uv = vec2(gl_FragCoord.x / viewportWidth, gl_FragCoord.y / viewportHeight);");src.push(" float ambient = smoothstep(blendCutoff, 1.0, unpackRGBToFloat(texture(uOcclusionTexture, uv))) * blendFactor;");src.push(" outColor = vec4(vColor.rgb * ambient, 1.0);");}else{src.push(" outColor = vColor;");}src.push("}");return src;}}]);return TrianglesInstancingColorRenderer;}(VBOSceneModelTriangleInstancingRenderer);/** * @private @@ -17556,7 +17559,7 @@ if(this._withSAO){src.push(" float viewportWidth = uSAOParams[0];");src.pu src.push("in vec4 modelMatrixCol1;");src.push("in vec4 modelMatrixCol2;");this._addMatricesUniformBlockLines(src);if(scene.logarithmicDepthBufferEnabled){src.push("uniform float logDepthBufFC;");src.push("out float vFragDepth;");src.push("bool isPerspectiveMatrix(mat4 m) {");src.push(" return (m[2][3] == - 1.0);");src.push("}");src.push("out float isPerspective;");}if(clipping){src.push("out vec4 vWorldPosition;");src.push("out float vFlags;");}src.push("out vec4 vViewPosition;");src.push("out vec4 vColor;");src.push("void main(void) {");// colorFlag = NOT_RENDERED | COLOR_OPAQUE | COLOR_TRANSPARENT // renderPass = COLOR_OPAQUE | COLOR_TRANSPARENT src.push("int colorFlag = int(flags) & 0xF;");src.push("if (colorFlag != renderPass) {");src.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);");// Cull vertex -src.push("} else {");src.push("vec4 worldPosition = positionsDecodeMatrix * vec4(position, 1.0); ");src.push("worldPosition = worldMatrix * vec4(dot(worldPosition, modelMatrixCol0), dot(worldPosition, modelMatrixCol1), dot(worldPosition, modelMatrixCol2), 1.0);");if(scene.entityOffsetsEnabled){src.push(" worldPosition.xyz = worldPosition.xyz + offset;");}src.push("vec4 viewPosition = viewMatrix * worldPosition; ");src.push("vViewPosition = viewPosition;");src.push("vColor = vec4(float(color.r) / 255.0, float(color.g) / 255.0, float(color.b) / 255.0, float(color.a) / 255.0);");src.push("vec4 clipPos = projMatrix * viewPosition;");if(scene.logarithmicDepthBufferEnabled){src.push("vFragDepth = 1.0 + clipPos.w;");src.push("isPerspective = float (isPerspectiveMatrix(projMatrix));");}if(clipping){src.push("vWorldPosition = worldPosition;");src.push("vFlags = flags;");}src.push("gl_Position = clipPos;");src.push("}");src.push("}");return src;}},{key:"_buildFragmentShader",value:function _buildFragmentShader(){var scene=this._scene;var sectionPlanesState=scene._sectionPlanesState;var lightsState=scene._lightsState;var i;var len;var clipping=sectionPlanesState.getNumAllocatedSectionPlanes()>0;var src=[];src.push("#version 300 es");src.push("// Instancing geometry flat-shading drawing fragment shader");src.push("#ifdef GL_FRAGMENT_PRECISION_HIGH");src.push("precision highp float;");src.push("precision highp int;");src.push("#else");src.push("precision mediump float;");src.push("precision mediump int;");src.push("#endif");if(scene.logarithmicDepthBufferEnabled){src.push("in float isPerspective;");src.push("uniform float logDepthBufFC;");src.push("in float vFragDepth;");}if(this._withSAO){src.push("uniform sampler2D uOcclusionTexture;");src.push("uniform vec4 uSAOParams;");src.push("const float packUpscale = 256. / 255.;");src.push("const float unpackDownScale = 255. / 256.;");src.push("const vec3 packFactors = vec3( 256. * 256. * 256., 256. * 256., 256. );");src.push("const vec4 unPackFactors = unpackDownScale / vec4( packFactors, 1. );");src.push("float unpackRGBToFloat( const in vec4 v ) {");src.push(" return dot( v, unPackFactors );");src.push("}");}if(clipping){src.push("in vec4 vWorldPosition;");src.push("in float vFlags;");for(var _i227=0,_len44=sectionPlanesState.getNumAllocatedSectionPlanes();_i227<_len44;_i227++){src.push("uniform bool sectionPlaneActive"+_i227+";");src.push("uniform vec3 sectionPlanePos"+_i227+";");src.push("uniform vec3 sectionPlaneDir"+_i227+";");}}this._addMatricesUniformBlockLines(src);src.push("uniform vec4 lightAmbient;");for(i=0,len=lightsState.lights.length;i> 16 & 0xF) == 1;");src.push(" if (clippable) {");src.push(" float dist = 0.0;");for(var _i228=0,_len45=sectionPlanesState.getNumAllocatedSectionPlanes();_i228<_len45;_i228++){src.push("if (sectionPlaneActive"+_i228+") {");src.push(" dist += clamp(dot(-sectionPlaneDir"+_i228+".xyz, vWorldPosition.xyz - sectionPlanePos"+_i228+".xyz), 0.0, 1000.0);");src.push("}");}src.push(" if (dist > 0.0) { ");src.push(" discard;");src.push(" }");src.push("}");}src.push("vec3 reflectedColor = vec3(0.0, 0.0, 0.0);");src.push("vec3 viewLightDir = vec3(0.0, 0.0, -1.0);");src.push("float lambertian = 1.0;");src.push("vec3 xTangent = dFdx( vViewPosition.xyz );");src.push("vec3 yTangent = dFdy( vViewPosition.xyz );");src.push("vec3 viewNormal = normalize( cross( xTangent, yTangent ) );");for(i=0,len=lightsState.lights.length;i0;var src=[];src.push("#version 300 es");src.push("// Instancing geometry flat-shading drawing fragment shader");src.push("#ifdef GL_FRAGMENT_PRECISION_HIGH");src.push("precision highp float;");src.push("precision highp int;");src.push("#else");src.push("precision mediump float;");src.push("precision mediump int;");src.push("#endif");if(scene.logarithmicDepthBufferEnabled){src.push("in float isPerspective;");src.push("uniform float logDepthBufFC;");src.push("in float vFragDepth;");}if(this._withSAO){src.push("uniform sampler2D uOcclusionTexture;");src.push("uniform vec4 uSAOParams;");src.push("const float packUpscale = 256. / 255.;");src.push("const float unpackDownScale = 255. / 256.;");src.push("const vec3 packFactors = vec3( 256. * 256. * 256., 256. * 256., 256. );");src.push("const vec4 unPackFactors = unpackDownScale / vec4( packFactors, 1. );");src.push("float unpackRGBToFloat( const in vec4 v ) {");src.push(" return dot( v, unPackFactors );");src.push("}");}if(clipping){src.push("in vec4 vWorldPosition;");src.push("in float vFlags;");for(var _i228=0,_len44=sectionPlanesState.getNumAllocatedSectionPlanes();_i228<_len44;_i228++){src.push("uniform bool sectionPlaneActive"+_i228+";");src.push("uniform vec3 sectionPlanePos"+_i228+";");src.push("uniform vec3 sectionPlaneDir"+_i228+";");}}this._addMatricesUniformBlockLines(src);src.push("uniform vec4 lightAmbient;");for(i=0,len=lightsState.lights.length;i> 16 & 0xF) == 1;");src.push(" if (clippable) {");src.push(" float dist = 0.0;");for(var _i229=0,_len45=sectionPlanesState.getNumAllocatedSectionPlanes();_i229<_len45;_i229++){src.push("if (sectionPlaneActive"+_i229+") {");src.push(" dist += clamp(dot(-sectionPlaneDir"+_i229+".xyz, vWorldPosition.xyz - sectionPlanePos"+_i229+".xyz), 0.0, 1000.0);");src.push("}");}src.push(" if (dist > 0.0) { ");src.push(" discard;");src.push(" }");src.push("}");}src.push("vec3 reflectedColor = vec3(0.0, 0.0, 0.0);");src.push("vec3 viewLightDir = vec3(0.0, 0.0, -1.0);");src.push("float lambertian = 1.0;");src.push("vec3 xTangent = dFdx( vViewPosition.xyz );");src.push("vec3 yTangent = dFdy( vViewPosition.xyz );");src.push("vec3 viewNormal = normalize( cross( xTangent, yTangent ) );");for(i=0,len=lightsState.lights.length;i> 4 & 0xF;");src.push("if (silhouetteFlag != renderPass) {");src.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);");// Cull vertex -src.push("} else {");src.push("vec4 worldPosition = positionsDecodeMatrix * vec4(position, 1.0); ");src.push("worldPosition = worldMatrix * vec4(dot(worldPosition, modelMatrixCol0), dot(worldPosition, modelMatrixCol1), dot(worldPosition, modelMatrixCol2), 1.0);");if(scene.entityOffsetsEnabled){src.push(" worldPosition.xyz = worldPosition.xyz + offset;");}src.push("vec4 viewPosition = viewMatrix * worldPosition; ");if(clipping){src.push("vWorldPosition = worldPosition;");src.push("vFlags = flags;");}src.push("vColor = vec4(silhouetteColor.r, silhouetteColor.g, silhouetteColor.b, min(silhouetteColor.a, float(color.a) / 255.0));");src.push("vec4 clipPos = projMatrix * viewPosition;");if(scene.logarithmicDepthBufferEnabled){src.push("vFragDepth = 1.0 + clipPos.w;");src.push("isPerspective = float (isPerspectiveMatrix(projMatrix));");}src.push("gl_Position = clipPos;");src.push("}");src.push("}");return src;}},{key:"_buildFragmentShader",value:function _buildFragmentShader(){var scene=this._scene;var sectionPlanesState=scene._sectionPlanesState;var clipping=sectionPlanesState.getNumAllocatedSectionPlanes()>0;var src=[];src.push("#version 300 es");src.push("// Instancing fill fragment shader");src.push("#ifdef GL_FRAGMENT_PRECISION_HIGH");src.push("precision highp float;");src.push("precision highp int;");src.push("#else");src.push("precision mediump float;");src.push("precision mediump int;");src.push("#endif");if(scene.logarithmicDepthBufferEnabled){src.push("in float isPerspective;");src.push("uniform float logDepthBufFC;");src.push("in float vFragDepth;");}if(clipping){src.push("in vec4 vWorldPosition;");src.push("in float vFlags;");for(var _i229=0,len=sectionPlanesState.getNumAllocatedSectionPlanes();_i229> 16 & 0xF) == 1;");src.push(" if (clippable) {");src.push(" float dist = 0.0;");for(var _i230=0,_len46=sectionPlanesState.getNumAllocatedSectionPlanes();_i230<_len46;_i230++){src.push("if (sectionPlaneActive"+_i230+") {");src.push(" dist += clamp(dot(-sectionPlaneDir"+_i230+".xyz, vWorldPosition.xyz - sectionPlanePos"+_i230+".xyz), 0.0, 1000.0);");src.push("}");}src.push("if (dist > 0.0) { discard; }");src.push("}");}if(scene.logarithmicDepthBufferEnabled){src.push(" gl_FragDepth = isPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5;");}src.push("outColor = vColor;");src.push("}");return src;}}]);return TrianglesInstancingSilhouetteRenderer;}(VBOSceneModelTriangleInstancingRenderer);/** +src.push("} else {");src.push("vec4 worldPosition = positionsDecodeMatrix * vec4(position, 1.0); ");src.push("worldPosition = worldMatrix * vec4(dot(worldPosition, modelMatrixCol0), dot(worldPosition, modelMatrixCol1), dot(worldPosition, modelMatrixCol2), 1.0);");if(scene.entityOffsetsEnabled){src.push(" worldPosition.xyz = worldPosition.xyz + offset;");}src.push("vec4 viewPosition = viewMatrix * worldPosition; ");if(clipping){src.push("vWorldPosition = worldPosition;");src.push("vFlags = flags;");}src.push("vColor = vec4(silhouetteColor.r, silhouetteColor.g, silhouetteColor.b, min(silhouetteColor.a, float(color.a) / 255.0));");src.push("vec4 clipPos = projMatrix * viewPosition;");if(scene.logarithmicDepthBufferEnabled){src.push("vFragDepth = 1.0 + clipPos.w;");src.push("isPerspective = float (isPerspectiveMatrix(projMatrix));");}src.push("gl_Position = clipPos;");src.push("}");src.push("}");return src;}},{key:"_buildFragmentShader",value:function _buildFragmentShader(){var scene=this._scene;var sectionPlanesState=scene._sectionPlanesState;var clipping=sectionPlanesState.getNumAllocatedSectionPlanes()>0;var src=[];src.push("#version 300 es");src.push("// Instancing fill fragment shader");src.push("#ifdef GL_FRAGMENT_PRECISION_HIGH");src.push("precision highp float;");src.push("precision highp int;");src.push("#else");src.push("precision mediump float;");src.push("precision mediump int;");src.push("#endif");if(scene.logarithmicDepthBufferEnabled){src.push("in float isPerspective;");src.push("uniform float logDepthBufFC;");src.push("in float vFragDepth;");}if(clipping){src.push("in vec4 vWorldPosition;");src.push("in float vFlags;");for(var _i230=0,len=sectionPlanesState.getNumAllocatedSectionPlanes();_i230> 16 & 0xF) == 1;");src.push(" if (clippable) {");src.push(" float dist = 0.0;");for(var _i231=0,_len46=sectionPlanesState.getNumAllocatedSectionPlanes();_i231<_len46;_i231++){src.push("if (sectionPlaneActive"+_i231+") {");src.push(" dist += clamp(dot(-sectionPlaneDir"+_i231+".xyz, vWorldPosition.xyz - sectionPlanePos"+_i231+".xyz), 0.0, 1000.0);");src.push("}");}src.push("if (dist > 0.0) { discard; }");src.push("}");}if(scene.logarithmicDepthBufferEnabled){src.push(" gl_FragDepth = isPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5;");}src.push("outColor = vColor;");src.push("}");return src;}}]);return TrianglesInstancingSilhouetteRenderer;}(VBOSceneModelTriangleInstancingRenderer);/** * @private */var TrianglesInstancingEdgesRenderer=/*#__PURE__*/function(_VBOSceneModelTriangl21){_inherits(TrianglesInstancingEdgesRenderer,_VBOSceneModelTriangl21);var _super94=_createSuper(TrianglesInstancingEdgesRenderer);function TrianglesInstancingEdgesRenderer(){_classCallCheck(this,TrianglesInstancingEdgesRenderer);return _super94.apply(this,arguments);}_createClass(TrianglesInstancingEdgesRenderer,[{key:"drawLayer",value:function drawLayer(frameCtx,instancingLayer,renderPass){_get(_getPrototypeOf(TrianglesInstancingEdgesRenderer.prototype),"drawLayer",this).call(this,frameCtx,instancingLayer,renderPass,{colorUniform:true});}},{key:"_buildVertexShader",value:function _buildVertexShader(){var scene=this._scene;var sectionPlanesState=scene._sectionPlanesState;var clipping=sectionPlanesState.getNumAllocatedSectionPlanes()>0;var src=[];src.push("#version 300 es");src.push("// Triangles instancing edges vertex shader");src.push("uniform int renderPass;");src.push("uniform vec4 color;");src.push("in vec3 position;");if(scene.entityOffsetsEnabled){src.push("in vec3 offset;");}src.push("in float flags;");src.push("in vec4 modelMatrixCol0;");// Modeling matrix src.push("in vec4 modelMatrixCol1;");src.push("in vec4 modelMatrixCol2;");this._addMatricesUniformBlockLines(src);if(scene.logarithmicDepthBufferEnabled){src.push("uniform float logDepthBufFC;");src.push("out float vFragDepth;");src.push("bool isPerspectiveMatrix(mat4 m) {");src.push(" return (m[2][3] == - 1.0);");src.push("}");src.push("out float isPerspective;");}if(clipping){src.push("out vec4 vWorldPosition;");src.push("out float vFlags;");}src.push("out vec4 vColor;");src.push("void main(void) {");// edgeFlag = NOT_RENDERED | EDGES_COLOR_OPAQUE | EDGES_HIGHLIGHTED | EDGES_XRAYED | EDGES_SELECTED // renderPass = EDGES_HIGHLIGHTED | EDGES_XRAYED | EDGES_SELECTED src.push("int edgeFlag = int(flags) >> 8 & 0xF;");src.push("if (edgeFlag != renderPass) {");src.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);");// Cull vertex -src.push("} else {");src.push("vec4 worldPosition = positionsDecodeMatrix * vec4(position, 1.0); ");src.push("worldPosition = worldMatrix * vec4(dot(worldPosition, modelMatrixCol0), dot(worldPosition, modelMatrixCol1), dot(worldPosition, modelMatrixCol2), 1.0);");if(scene.entityOffsetsEnabled){src.push(" worldPosition.xyz = worldPosition.xyz + offset;");}src.push("vec4 viewPosition = viewMatrix * worldPosition; ");if(clipping){src.push("vWorldPosition = worldPosition;");src.push("vFlags = flags;");}src.push("vec4 clipPos = projMatrix * viewPosition;");if(scene.logarithmicDepthBufferEnabled){src.push("vFragDepth = 1.0 + clipPos.w;");src.push("isPerspective = float (isPerspectiveMatrix(projMatrix));");}src.push("gl_Position = clipPos;");src.push("vColor = vec4(color.r, color.g, color.b, color.a);");src.push("}");src.push("}");return src;}},{key:"_buildFragmentShader",value:function _buildFragmentShader(){var scene=this._scene;var sectionPlanesState=scene._sectionPlanesState;var clipping=sectionPlanesState.getNumAllocatedSectionPlanes()>0;var src=[];src.push("#version 300 es");src.push("// Batched geometry edges drawing fragment shader");src.push("#ifdef GL_FRAGMENT_PRECISION_HIGH");src.push("precision highp float;");src.push("precision highp int;");src.push("#else");src.push("precision mediump float;");src.push("precision mediump int;");src.push("#endif");if(scene.logarithmicDepthBufferEnabled){src.push("in float isPerspective;");src.push("uniform float logDepthBufFC;");src.push("in float vFragDepth;");}if(clipping){src.push("in vec4 vWorldPosition;");src.push("in float vFlags;");for(var _i231=0,len=sectionPlanesState.getNumAllocatedSectionPlanes();_i231> 16 & 0xF) == 1;");src.push(" if (clippable) {");src.push(" float dist = 0.0;");for(var _i232=0,_len47=sectionPlanesState.getNumAllocatedSectionPlanes();_i232<_len47;_i232++){src.push("if (sectionPlaneActive"+_i232+") {");src.push(" dist += clamp(dot(-sectionPlaneDir"+_i232+".xyz, vWorldPosition.xyz - sectionPlanePos"+_i232+".xyz), 0.0, 1000.0);");src.push("}");}src.push(" if (dist > 0.0) { discard; }");src.push("}");}if(scene.logarithmicDepthBufferEnabled){src.push(" gl_FragDepth = isPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5;");}src.push("outColor = vColor;");src.push("}");return src;}}]);return TrianglesInstancingEdgesRenderer;}(VBOSceneModelTriangleInstancingEdgesRenderer);/** +src.push("} else {");src.push("vec4 worldPosition = positionsDecodeMatrix * vec4(position, 1.0); ");src.push("worldPosition = worldMatrix * vec4(dot(worldPosition, modelMatrixCol0), dot(worldPosition, modelMatrixCol1), dot(worldPosition, modelMatrixCol2), 1.0);");if(scene.entityOffsetsEnabled){src.push(" worldPosition.xyz = worldPosition.xyz + offset;");}src.push("vec4 viewPosition = viewMatrix * worldPosition; ");if(clipping){src.push("vWorldPosition = worldPosition;");src.push("vFlags = flags;");}src.push("vec4 clipPos = projMatrix * viewPosition;");if(scene.logarithmicDepthBufferEnabled){src.push("vFragDepth = 1.0 + clipPos.w;");src.push("isPerspective = float (isPerspectiveMatrix(projMatrix));");}src.push("gl_Position = clipPos;");src.push("vColor = vec4(color.r, color.g, color.b, color.a);");src.push("}");src.push("}");return src;}},{key:"_buildFragmentShader",value:function _buildFragmentShader(){var scene=this._scene;var sectionPlanesState=scene._sectionPlanesState;var clipping=sectionPlanesState.getNumAllocatedSectionPlanes()>0;var src=[];src.push("#version 300 es");src.push("// Batched geometry edges drawing fragment shader");src.push("#ifdef GL_FRAGMENT_PRECISION_HIGH");src.push("precision highp float;");src.push("precision highp int;");src.push("#else");src.push("precision mediump float;");src.push("precision mediump int;");src.push("#endif");if(scene.logarithmicDepthBufferEnabled){src.push("in float isPerspective;");src.push("uniform float logDepthBufFC;");src.push("in float vFragDepth;");}if(clipping){src.push("in vec4 vWorldPosition;");src.push("in float vFlags;");for(var _i232=0,len=sectionPlanesState.getNumAllocatedSectionPlanes();_i232> 16 & 0xF) == 1;");src.push(" if (clippable) {");src.push(" float dist = 0.0;");for(var _i233=0,_len47=sectionPlanesState.getNumAllocatedSectionPlanes();_i233<_len47;_i233++){src.push("if (sectionPlaneActive"+_i233+") {");src.push(" dist += clamp(dot(-sectionPlaneDir"+_i233+".xyz, vWorldPosition.xyz - sectionPlanePos"+_i233+".xyz), 0.0, 1000.0);");src.push("}");}src.push(" if (dist > 0.0) { discard; }");src.push("}");}if(scene.logarithmicDepthBufferEnabled){src.push(" gl_FragDepth = isPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5;");}src.push("outColor = vColor;");src.push("}");return src;}}]);return TrianglesInstancingEdgesRenderer;}(VBOSceneModelTriangleInstancingEdgesRenderer);/** * @private */var TrianglesInstancingEdgesColorRenderer=/*#__PURE__*/function(_VBOSceneModelTriangl22){_inherits(TrianglesInstancingEdgesColorRenderer,_VBOSceneModelTriangl22);var _super95=_createSuper(TrianglesInstancingEdgesColorRenderer);function TrianglesInstancingEdgesColorRenderer(){_classCallCheck(this,TrianglesInstancingEdgesColorRenderer);return _super95.apply(this,arguments);}_createClass(TrianglesInstancingEdgesColorRenderer,[{key:"_buildVertexShader",value:function _buildVertexShader(){var scene=this._scene;var sectionPlanesState=scene._sectionPlanesState;var clipping=sectionPlanesState.getNumAllocatedSectionPlanes()>0;var src=[];src.push("#version 300 es");src.push("// Triangles instancing edges vertex shader");src.push("uniform int renderPass;");src.push("in vec3 position;");src.push("in vec4 color;");if(scene.entityOffsetsEnabled){src.push("in vec3 offset;");}src.push("in float flags;");src.push("in vec4 modelMatrixCol0;");// Modeling matrix src.push("in vec4 modelMatrixCol1;");src.push("in vec4 modelMatrixCol2;");this._addMatricesUniformBlockLines(src);if(scene.logarithmicDepthBufferEnabled){src.push("uniform float logDepthBufFC;");src.push("out float vFragDepth;");src.push("bool isPerspectiveMatrix(mat4 m) {");src.push(" return (m[2][3] == - 1.0);");src.push("}");src.push("out float isPerspective;");}if(clipping){src.push("out vec4 vWorldPosition;");src.push("out float vFlags;");}src.push("out vec4 vColor;");src.push("void main(void) {");// edgeFlag = NOT_RENDERED | EDGES_COLOR_OPAQUE | EDGES_HIGHLIGHTED | EDGES_XRAYED | EDGES_SELECTED // renderPass = EDGES_HIGHLIGHTED | EDGES_XRAYED | EDGES_SELECTED src.push("int edgeFlag = int(flags) >> 8 & 0xF;");src.push("if (edgeFlag != renderPass) {");src.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);");// Cull vertex src.push("} else {");src.push("vec4 worldPosition = positionsDecodeMatrix * vec4(position, 1.0); ");src.push("worldPosition = worldMatrix * vec4(dot(worldPosition, modelMatrixCol0), dot(worldPosition, modelMatrixCol1), dot(worldPosition, modelMatrixCol2), 1.0);");if(scene.entityOffsetsEnabled){src.push(" worldPosition.xyz = worldPosition.xyz + offset;");}src.push("vec4 viewPosition = viewMatrix * worldPosition; ");if(clipping){src.push("vWorldPosition = worldPosition;");src.push("vFlags = flags;");}src.push("vec4 clipPos = projMatrix * viewPosition;");if(scene.logarithmicDepthBufferEnabled){src.push("vFragDepth = 1.0 + clipPos.w;");src.push("isPerspective = float (isPerspectiveMatrix(projMatrix));");}src.push("gl_Position = clipPos;");// src.push("vColor = vec4(float(color.r-100.0) / 255.0, float(color.g-100.0) / 255.0, float(color.b-100.0) / 255.0, float(color.a) / 255.0);"); -src.push("vColor = vec4(float(color.r*0.5) / 255.0, float(color.g*0.5) / 255.0, float(color.b*0.5) / 255.0, float(color.a) / 255.0);");src.push("}");src.push("}");return src;}},{key:"_buildFragmentShader",value:function _buildFragmentShader(){var scene=this._scene;var sectionPlanesState=scene._sectionPlanesState;var clipping=sectionPlanesState.getNumAllocatedSectionPlanes()>0;var src=[];src.push("#version 300 es");src.push("// Batched geometry edges drawing fragment shader");src.push("#ifdef GL_FRAGMENT_PRECISION_HIGH");src.push("precision highp float;");src.push("precision highp int;");src.push("#else");src.push("precision mediump float;");src.push("precision mediump int;");src.push("#endif");if(scene.logarithmicDepthBufferEnabled){src.push("in float isPerspective;");src.push("uniform float logDepthBufFC;");src.push("in float vFragDepth;");}if(clipping){src.push("in vec4 vWorldPosition;");src.push("in float vFlags;");for(var _i233=0,len=sectionPlanesState.getNumAllocatedSectionPlanes();_i233> 16 & 0xF) == 1;");src.push(" if (clippable) {");src.push(" float dist = 0.0;");for(var _i234=0,_len48=sectionPlanesState.getNumAllocatedSectionPlanes();_i234<_len48;_i234++){src.push("if (sectionPlaneActive"+_i234+") {");src.push(" dist += clamp(dot(-sectionPlaneDir"+_i234+".xyz, vWorldPosition.xyz - sectionPlanePos"+_i234+".xyz), 0.0, 1000.0);");src.push("}");}src.push(" if (dist > 0.0) { discard; }");src.push("}");}if(scene.logarithmicDepthBufferEnabled){src.push(" gl_FragDepth = isPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5;");}src.push("outColor = vColor;");src.push("}");return src;}}]);return TrianglesInstancingEdgesColorRenderer;}(VBOSceneModelTriangleInstancingEdgesRenderer);/** +src.push("vColor = vec4(float(color.r*0.5) / 255.0, float(color.g*0.5) / 255.0, float(color.b*0.5) / 255.0, float(color.a) / 255.0);");src.push("}");src.push("}");return src;}},{key:"_buildFragmentShader",value:function _buildFragmentShader(){var scene=this._scene;var sectionPlanesState=scene._sectionPlanesState;var clipping=sectionPlanesState.getNumAllocatedSectionPlanes()>0;var src=[];src.push("#version 300 es");src.push("// Batched geometry edges drawing fragment shader");src.push("#ifdef GL_FRAGMENT_PRECISION_HIGH");src.push("precision highp float;");src.push("precision highp int;");src.push("#else");src.push("precision mediump float;");src.push("precision mediump int;");src.push("#endif");if(scene.logarithmicDepthBufferEnabled){src.push("in float isPerspective;");src.push("uniform float logDepthBufFC;");src.push("in float vFragDepth;");}if(clipping){src.push("in vec4 vWorldPosition;");src.push("in float vFlags;");for(var _i234=0,len=sectionPlanesState.getNumAllocatedSectionPlanes();_i234> 16 & 0xF) == 1;");src.push(" if (clippable) {");src.push(" float dist = 0.0;");for(var _i235=0,_len48=sectionPlanesState.getNumAllocatedSectionPlanes();_i235<_len48;_i235++){src.push("if (sectionPlaneActive"+_i235+") {");src.push(" dist += clamp(dot(-sectionPlaneDir"+_i235+".xyz, vWorldPosition.xyz - sectionPlanePos"+_i235+".xyz), 0.0, 1000.0);");src.push("}");}src.push(" if (dist > 0.0) { discard; }");src.push("}");}if(scene.logarithmicDepthBufferEnabled){src.push(" gl_FragDepth = isPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5;");}src.push("outColor = vColor;");src.push("}");return src;}}]);return TrianglesInstancingEdgesColorRenderer;}(VBOSceneModelTriangleInstancingEdgesRenderer);/** * @private */var TrianglesInstancingPickMeshRenderer=/*#__PURE__*/function(_VBOSceneModelTriangl23){_inherits(TrianglesInstancingPickMeshRenderer,_VBOSceneModelTriangl23);var _super96=_createSuper(TrianglesInstancingPickMeshRenderer);function TrianglesInstancingPickMeshRenderer(){_classCallCheck(this,TrianglesInstancingPickMeshRenderer);return _super96.apply(this,arguments);}_createClass(TrianglesInstancingPickMeshRenderer,[{key:"_buildVertexShader",value:function _buildVertexShader(){var scene=this._scene;var sectionPlanesState=scene._sectionPlanesState;var clipping=sectionPlanesState.getNumAllocatedSectionPlanes()>0;var src=[];src.push("#version 300 es");src.push("// Instancing geometry picking vertex shader");src.push("uniform int renderPass;");src.push("in vec3 position;");if(scene.entityOffsetsEnabled){src.push("in vec3 offset;");}src.push("in float flags;");src.push("in vec4 pickColor;");src.push("in vec4 modelMatrixCol0;");// Modeling matrix src.push("in vec4 modelMatrixCol1;");src.push("in vec4 modelMatrixCol2;");src.push("uniform bool pickInvisible;");this._addMatricesUniformBlockLines(src);this._addRemapClipPosLines(src);if(scene.logarithmicDepthBufferEnabled){src.push("uniform float logDepthBufFC;");src.push("out float vFragDepth;");src.push("bool isPerspectiveMatrix(mat4 m) {");src.push(" return (m[2][3] == - 1.0);");src.push("}");src.push("out float isPerspective;");}if(clipping){src.push("out vec4 vWorldPosition;");src.push("out float vFlags;");}src.push("out vec4 vPickColor;");src.push("void main(void) {");// pickFlag = NOT_RENDERED | PICK // renderPass = PICK src.push("int pickFlag = int(flags) >> 12 & 0xF;");src.push("if (pickFlag != renderPass) {");src.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);");// Cull vertex -src.push("} else {");src.push(" vec4 worldPosition = positionsDecodeMatrix * vec4(position, 1.0); ");src.push(" worldPosition = worldMatrix * vec4(dot(worldPosition, modelMatrixCol0), dot(worldPosition, modelMatrixCol1), dot(worldPosition, modelMatrixCol2), 1.0);");if(scene.entityOffsetsEnabled){src.push(" worldPosition.xyz = worldPosition.xyz + offset;");}src.push(" vec4 viewPosition = viewMatrix * worldPosition; ");src.push(" vPickColor = vec4(float(pickColor.r) / 255.0, float(pickColor.g) / 255.0, float(pickColor.b) / 255.0, float(pickColor.a) / 255.0);");if(clipping){src.push(" vWorldPosition = worldPosition;");src.push(" vFlags = flags;");}src.push("vec4 clipPos = projMatrix * viewPosition;");if(scene.logarithmicDepthBufferEnabled){src.push("vFragDepth = 1.0 + clipPos.w;");src.push("isPerspective = float (isPerspectiveMatrix(projMatrix));");}src.push("gl_Position = remapClipPos(clipPos);");src.push("}");src.push("}");return src;}},{key:"_buildFragmentShader",value:function _buildFragmentShader(){var scene=this._scene;var sectionPlanesState=scene._sectionPlanesState;var clipping=sectionPlanesState.getNumAllocatedSectionPlanes()>0;var src=[];src.push("#version 300 es");src.push("// Batched geometry picking fragment shader");src.push("#ifdef GL_FRAGMENT_PRECISION_HIGH");src.push("precision highp float;");src.push("precision highp int;");src.push("#else");src.push("precision mediump float;");src.push("precision mediump int;");src.push("#endif");if(scene.logarithmicDepthBufferEnabled){src.push("in float isPerspective;");src.push("uniform float logDepthBufFC;");src.push("in float vFragDepth;");}if(clipping){src.push("in vec4 vWorldPosition;");src.push("in float vFlags;");for(var _i235=0;_i235> 16 & 0xF) == 1;");src.push(" if (clippable) {");src.push(" float dist = 0.0;");for(var _i236=0;_i236 0.0) { discard; }");src.push("}");}if(scene.logarithmicDepthBufferEnabled){src.push(" gl_FragDepth = isPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5;");}src.push("outColor = vPickColor; ");src.push("}");return src;}}]);return TrianglesInstancingPickMeshRenderer;}(VBOSceneModelTriangleInstancingRenderer);/** +src.push("} else {");src.push(" vec4 worldPosition = positionsDecodeMatrix * vec4(position, 1.0); ");src.push(" worldPosition = worldMatrix * vec4(dot(worldPosition, modelMatrixCol0), dot(worldPosition, modelMatrixCol1), dot(worldPosition, modelMatrixCol2), 1.0);");if(scene.entityOffsetsEnabled){src.push(" worldPosition.xyz = worldPosition.xyz + offset;");}src.push(" vec4 viewPosition = viewMatrix * worldPosition; ");src.push(" vPickColor = vec4(float(pickColor.r) / 255.0, float(pickColor.g) / 255.0, float(pickColor.b) / 255.0, float(pickColor.a) / 255.0);");if(clipping){src.push(" vWorldPosition = worldPosition;");src.push(" vFlags = flags;");}src.push("vec4 clipPos = projMatrix * viewPosition;");if(scene.logarithmicDepthBufferEnabled){src.push("vFragDepth = 1.0 + clipPos.w;");src.push("isPerspective = float (isPerspectiveMatrix(projMatrix));");}src.push("gl_Position = remapClipPos(clipPos);");src.push("}");src.push("}");return src;}},{key:"_buildFragmentShader",value:function _buildFragmentShader(){var scene=this._scene;var sectionPlanesState=scene._sectionPlanesState;var clipping=sectionPlanesState.getNumAllocatedSectionPlanes()>0;var src=[];src.push("#version 300 es");src.push("// Batched geometry picking fragment shader");src.push("#ifdef GL_FRAGMENT_PRECISION_HIGH");src.push("precision highp float;");src.push("precision highp int;");src.push("#else");src.push("precision mediump float;");src.push("precision mediump int;");src.push("#endif");if(scene.logarithmicDepthBufferEnabled){src.push("in float isPerspective;");src.push("uniform float logDepthBufFC;");src.push("in float vFragDepth;");}if(clipping){src.push("in vec4 vWorldPosition;");src.push("in float vFlags;");for(var _i236=0;_i236> 16 & 0xF) == 1;");src.push(" if (clippable) {");src.push(" float dist = 0.0;");for(var _i237=0;_i237 0.0) { discard; }");src.push("}");}if(scene.logarithmicDepthBufferEnabled){src.push(" gl_FragDepth = isPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5;");}src.push("outColor = vPickColor; ");src.push("}");return src;}}]);return TrianglesInstancingPickMeshRenderer;}(VBOSceneModelTriangleInstancingRenderer);/** * @private */var TrianglesInstancingPickDepthRenderer=/*#__PURE__*/function(_VBOSceneModelTriangl24){_inherits(TrianglesInstancingPickDepthRenderer,_VBOSceneModelTriangl24);var _super97=_createSuper(TrianglesInstancingPickDepthRenderer);function TrianglesInstancingPickDepthRenderer(){_classCallCheck(this,TrianglesInstancingPickDepthRenderer);return _super97.apply(this,arguments);}_createClass(TrianglesInstancingPickDepthRenderer,[{key:"_buildVertexShader",value:function _buildVertexShader(){var scene=this._scene;var sectionPlanesState=scene._sectionPlanesState;var clipping=sectionPlanesState.getNumAllocatedSectionPlanes()>0;var src=[];src.push("#version 300 es");src.push("// Instancing geometry depth vertex shader");src.push("uniform int renderPass;");src.push("in vec3 position;");if(scene.entityOffsetsEnabled){src.push("in vec3 offset;");}src.push("in float flags;");src.push("in vec4 modelMatrixCol0;");// Modeling matrix src.push("in vec4 modelMatrixCol1;");src.push("in vec4 modelMatrixCol2;");src.push("uniform bool pickInvisible;");this._addMatricesUniformBlockLines(src);this._addRemapClipPosLines(src);if(scene.logarithmicDepthBufferEnabled){src.push("uniform float logDepthBufFC;");src.push("out float vFragDepth;");src.push("bool isPerspectiveMatrix(mat4 m) {");src.push(" return (m[2][3] == - 1.0);");src.push("}");src.push("out float isPerspective;");}if(clipping){src.push("out vec4 vWorldPosition;");src.push("out float vFlags;");}src.push("out vec4 vViewPosition;");src.push("void main(void) {");// pickFlag = NOT_RENDERED | PICK // renderPass = PICK src.push("int pickFlag = int(flags) >> 12 & 0xF;");src.push("if (pickFlag != renderPass) {");src.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);");// Cull vertex -src.push("} else {");src.push(" vec4 worldPosition = positionsDecodeMatrix * vec4(position, 1.0); ");src.push(" worldPosition = worldMatrix * vec4(dot(worldPosition, modelMatrixCol0), dot(worldPosition, modelMatrixCol1), dot(worldPosition, modelMatrixCol2), 1.0);");if(scene.entityOffsetsEnabled){src.push(" worldPosition.xyz = worldPosition.xyz + offset;");}src.push(" vec4 viewPosition = viewMatrix * worldPosition; ");if(clipping){src.push(" vWorldPosition = worldPosition;");src.push(" vFlags = flags;");}src.push(" vViewPosition = viewPosition;");src.push("vec4 clipPos = projMatrix * viewPosition;");if(scene.logarithmicDepthBufferEnabled){src.push("vFragDepth = 1.0 + clipPos.w;");src.push("isPerspective = float (isPerspectiveMatrix(projMatrix));");}src.push("gl_Position = remapClipPos(clipPos);");src.push("}");src.push("}");return src;}},{key:"_buildFragmentShader",value:function _buildFragmentShader(){var scene=this._scene;var sectionPlanesState=scene._sectionPlanesState;var clipping=sectionPlanesState.getNumAllocatedSectionPlanes()>0;var src=[];src.push("#version 300 es");src.push("// Batched geometry depth fragment shader");src.push("#ifdef GL_FRAGMENT_PRECISION_HIGH");src.push("precision highp float;");src.push("precision highp int;");src.push("#else");src.push("precision mediump float;");src.push("precision mediump int;");src.push("#endif");if(scene.logarithmicDepthBufferEnabled){src.push("in float isPerspective;");src.push("uniform float logDepthBufFC;");src.push("in float vFragDepth;");}src.push("uniform float pickZNear;");src.push("uniform float pickZFar;");if(clipping){src.push("in vec4 vWorldPosition;");src.push("in float vFlags;");for(var _i237=0;_i237> 16 & 0xF) == 1;");src.push(" if (clippable) {");src.push(" float dist = 0.0;");for(var _i238=0;_i238 0.0) { discard; }");src.push("}");}if(scene.logarithmicDepthBufferEnabled){src.push(" gl_FragDepth = isPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5;");}src.push(" float zNormalizedDepth = abs((pickZNear + vViewPosition.z) / (pickZFar - pickZNear));");src.push(" outColor = packDepth(zNormalizedDepth); ");// Must be linear depth +src.push("} else {");src.push(" vec4 worldPosition = positionsDecodeMatrix * vec4(position, 1.0); ");src.push(" worldPosition = worldMatrix * vec4(dot(worldPosition, modelMatrixCol0), dot(worldPosition, modelMatrixCol1), dot(worldPosition, modelMatrixCol2), 1.0);");if(scene.entityOffsetsEnabled){src.push(" worldPosition.xyz = worldPosition.xyz + offset;");}src.push(" vec4 viewPosition = viewMatrix * worldPosition; ");if(clipping){src.push(" vWorldPosition = worldPosition;");src.push(" vFlags = flags;");}src.push(" vViewPosition = viewPosition;");src.push("vec4 clipPos = projMatrix * viewPosition;");if(scene.logarithmicDepthBufferEnabled){src.push("vFragDepth = 1.0 + clipPos.w;");src.push("isPerspective = float (isPerspectiveMatrix(projMatrix));");}src.push("gl_Position = remapClipPos(clipPos);");src.push("}");src.push("}");return src;}},{key:"_buildFragmentShader",value:function _buildFragmentShader(){var scene=this._scene;var sectionPlanesState=scene._sectionPlanesState;var clipping=sectionPlanesState.getNumAllocatedSectionPlanes()>0;var src=[];src.push("#version 300 es");src.push("// Batched geometry depth fragment shader");src.push("#ifdef GL_FRAGMENT_PRECISION_HIGH");src.push("precision highp float;");src.push("precision highp int;");src.push("#else");src.push("precision mediump float;");src.push("precision mediump int;");src.push("#endif");if(scene.logarithmicDepthBufferEnabled){src.push("in float isPerspective;");src.push("uniform float logDepthBufFC;");src.push("in float vFragDepth;");}src.push("uniform float pickZNear;");src.push("uniform float pickZFar;");if(clipping){src.push("in vec4 vWorldPosition;");src.push("in float vFlags;");for(var _i238=0;_i238> 16 & 0xF) == 1;");src.push(" if (clippable) {");src.push(" float dist = 0.0;");for(var _i239=0;_i239 0.0) { discard; }");src.push("}");}if(scene.logarithmicDepthBufferEnabled){src.push(" gl_FragDepth = isPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5;");}src.push(" float zNormalizedDepth = abs((pickZNear + vViewPosition.z) / (pickZFar - pickZNear));");src.push(" outColor = packDepth(zNormalizedDepth); ");// Must be linear depth src.push("}");return src;}}]);return TrianglesInstancingPickDepthRenderer;}(VBOSceneModelTriangleInstancingRenderer);/** * @private */var TrianglesInstancingPickNormalsRenderer=/*#__PURE__*/function(_VBOSceneModelTriangl25){_inherits(TrianglesInstancingPickNormalsRenderer,_VBOSceneModelTriangl25);var _super98=_createSuper(TrianglesInstancingPickNormalsRenderer);function TrianglesInstancingPickNormalsRenderer(){_classCallCheck(this,TrianglesInstancingPickNormalsRenderer);return _super98.apply(this,arguments);}_createClass(TrianglesInstancingPickNormalsRenderer,[{key:"_buildVertexShader",value:function _buildVertexShader(){var scene=this._scene;var sectionPlanesState=scene._sectionPlanesState;var clipping=sectionPlanesState.getNumAllocatedSectionPlanes()>0;var src=[];src.push("#version 300 es");src.push("// Instancing geometry normals vertex shader");src.push("uniform int renderPass;");src.push("in vec3 position;");if(scene.entityOffsetsEnabled){src.push("in vec3 offset;");}src.push("in vec2 normal;");src.push("in float flags;");src.push("in vec4 modelMatrixCol0;");// Modeling matrix src.push("in vec4 modelMatrixCol1;");src.push("in vec4 modelMatrixCol2;");src.push("in vec4 modelNormalMatrixCol0;");src.push("in vec4 modelNormalMatrixCol1;");src.push("in vec4 modelNormalMatrixCol2;");src.push("uniform bool pickInvisible;");this._addMatricesUniformBlockLines(src);this._addRemapClipPosLines(src,3);if(scene.logarithmicDepthBufferEnabled){src.push("uniform float logDepthBufFC;");src.push("out float vFragDepth;");src.push("bool isPerspectiveMatrix(mat4 m) {");src.push(" return (m[2][3] == - 1.0);");src.push("}");src.push("out float isPerspective;");}src.push("vec3 octDecode(vec2 oct) {");src.push(" vec3 v = vec3(oct.xy, 1.0 - abs(oct.x) - abs(oct.y));");src.push(" if (v.z < 0.0) {");src.push(" v.xy = (1.0 - abs(v.yx)) * vec2(v.x >= 0.0 ? 1.0 : -1.0, v.y >= 0.0 ? 1.0 : -1.0);");src.push(" }");src.push(" return normalize(v);");src.push("}");if(clipping){src.push("out vec4 vWorldPosition;");src.push("out float vFlags;");}src.push("out vec3 vWorldNormal;");src.push("void main(void) {");// pickFlag = NOT_RENDERED | PICK // renderPass = PICK src.push("int pickFlag = int(flags) >> 12 & 0xF;");src.push("if (pickFlag != renderPass) {");src.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);");// Cull vertex -src.push("} else {");src.push(" vec4 worldPosition = positionsDecodeMatrix * vec4(position, 1.0); ");src.push(" worldPosition = worldMatrix * vec4(dot(worldPosition, modelMatrixCol0), dot(worldPosition, modelMatrixCol1), dot(worldPosition, modelMatrixCol2), 1.0);");if(scene.entityOffsetsEnabled){src.push(" worldPosition.xyz = worldPosition.xyz + offset;");}src.push(" vec4 viewPosition = viewMatrix * worldPosition; ");src.push(" vec4 modelNormal = vec4(octDecode(normal.xy), 0.0); ");src.push(" vec3 worldNormal = vec3(dot(modelNormal, modelNormalMatrixCol0), dot(modelNormal, modelNormalMatrixCol1), dot(modelNormal, modelNormalMatrixCol2));");src.push(" vWorldNormal = worldNormal;");if(clipping){src.push(" vWorldPosition = worldPosition;");src.push("vFlags = flags;");}src.push("vec4 clipPos = projMatrix * viewPosition;");if(scene.logarithmicDepthBufferEnabled){src.push("vFragDepth = 1.0 + clipPos.w;");src.push("isPerspective = float (isPerspectiveMatrix(projMatrix));");}src.push("gl_Position = remapClipPos(clipPos);");src.push("}");src.push("}");return src;}},{key:"_buildFragmentShader",value:function _buildFragmentShader(){var scene=this._scene;var sectionPlanesState=scene._sectionPlanesState;var clipping=sectionPlanesState.getNumAllocatedSectionPlanes()>0;var src=[];src.push("#version 300 es");src.push("// Batched geometry normals fragment shader");src.push("#ifdef GL_FRAGMENT_PRECISION_HIGH");src.push("precision highp float;");src.push("precision highp int;");src.push("#else");src.push("precision mediump float;");src.push("precision mediump int;");src.push("#endif");if(scene.logarithmicDepthBufferEnabled){src.push("in float isPerspective;");src.push("uniform float logDepthBufFC;");src.push("in float vFragDepth;");}if(clipping){src.push("in vec4 vWorldPosition;");src.push("in float vFlags;");for(var _i239=0;_i239> 16 & 0xF) == 1;");src.push(" if (clippable) {");src.push(" float dist = 0.0;");for(var i=0;i 0.0) { discard; }");src.push("}");}if(scene.logarithmicDepthBufferEnabled){src.push(" gl_FragDepth = isPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5;");}src.push(" outNormal = ivec4(vWorldNormal * float(".concat(math.MAX_INT,"), 1.0);"));src.push("}");return src;}}]);return TrianglesInstancingPickNormalsRenderer;}(VBOSceneModelTriangleInstancingRenderer);/** +src.push("} else {");src.push(" vec4 worldPosition = positionsDecodeMatrix * vec4(position, 1.0); ");src.push(" worldPosition = worldMatrix * vec4(dot(worldPosition, modelMatrixCol0), dot(worldPosition, modelMatrixCol1), dot(worldPosition, modelMatrixCol2), 1.0);");if(scene.entityOffsetsEnabled){src.push(" worldPosition.xyz = worldPosition.xyz + offset;");}src.push(" vec4 viewPosition = viewMatrix * worldPosition; ");src.push(" vec4 modelNormal = vec4(octDecode(normal.xy), 0.0); ");src.push(" vec3 worldNormal = vec3(dot(modelNormal, modelNormalMatrixCol0), dot(modelNormal, modelNormalMatrixCol1), dot(modelNormal, modelNormalMatrixCol2));");src.push(" vWorldNormal = worldNormal;");if(clipping){src.push(" vWorldPosition = worldPosition;");src.push("vFlags = flags;");}src.push("vec4 clipPos = projMatrix * viewPosition;");if(scene.logarithmicDepthBufferEnabled){src.push("vFragDepth = 1.0 + clipPos.w;");src.push("isPerspective = float (isPerspectiveMatrix(projMatrix));");}src.push("gl_Position = remapClipPos(clipPos);");src.push("}");src.push("}");return src;}},{key:"_buildFragmentShader",value:function _buildFragmentShader(){var scene=this._scene;var sectionPlanesState=scene._sectionPlanesState;var clipping=sectionPlanesState.getNumAllocatedSectionPlanes()>0;var src=[];src.push("#version 300 es");src.push("// Batched geometry normals fragment shader");src.push("#ifdef GL_FRAGMENT_PRECISION_HIGH");src.push("precision highp float;");src.push("precision highp int;");src.push("#else");src.push("precision mediump float;");src.push("precision mediump int;");src.push("#endif");if(scene.logarithmicDepthBufferEnabled){src.push("in float isPerspective;");src.push("uniform float logDepthBufFC;");src.push("in float vFragDepth;");}if(clipping){src.push("in vec4 vWorldPosition;");src.push("in float vFlags;");for(var _i240=0;_i240> 16 & 0xF) == 1;");src.push(" if (clippable) {");src.push(" float dist = 0.0;");for(var i=0;i 0.0) { discard; }");src.push("}");}if(scene.logarithmicDepthBufferEnabled){src.push(" gl_FragDepth = isPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5;");}src.push(" outNormal = ivec4(vWorldNormal * float(".concat(math.MAX_INT,"), 1.0);"));src.push("}");return src;}}]);return TrianglesInstancingPickNormalsRenderer;}(VBOSceneModelTriangleInstancingRenderer);/** * @private */var TrianglesInstancingOcclusionRenderer=/*#__PURE__*/function(_VBOSceneModelTriangl26){_inherits(TrianglesInstancingOcclusionRenderer,_VBOSceneModelTriangl26);var _super99=_createSuper(TrianglesInstancingOcclusionRenderer);function TrianglesInstancingOcclusionRenderer(){_classCallCheck(this,TrianglesInstancingOcclusionRenderer);return _super99.apply(this,arguments);}_createClass(TrianglesInstancingOcclusionRenderer,[{key:"_buildVertexShader",value:function _buildVertexShader(){var scene=this._scene;var sectionPlanesState=scene._sectionPlanesState;var clipping=sectionPlanesState.getNumAllocatedSectionPlanes()>0;var src=[];src.push("#version 300 es");src.push("// TrianglesInstancingOcclusionRenderer vertex shader");src.push("uniform int renderPass;");src.push("in vec3 position;");if(scene.entityOffsetsEnabled){src.push("in vec3 offset;");}src.push("in vec4 color;");src.push("in float flags;");src.push("in vec4 modelMatrixCol0;");// Modeling matrix src.push("in vec4 modelMatrixCol1;");src.push("in vec4 modelMatrixCol2;");this._addMatricesUniformBlockLines(src);if(clipping){src.push("out vec4 vWorldPosition;");src.push("out float vFlags;");}src.push("void main(void) {");// colorFlag = NOT_RENDERED | COLOR_OPAQUE | COLOR_TRANSPARENT // renderPass = COLOR_OPAQUE | COLOR_TRANSPARENT -src.push("int colorFlag = int(flags) & 0xF;");src.push("if (colorFlag != renderPass) {");src.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);");src.push("} else {");src.push(" vec4 worldPosition = positionsDecodeMatrix * vec4(position, 1.0); ");src.push(" worldPosition = worldMatrix * vec4(dot(worldPosition, modelMatrixCol0), dot(worldPosition, modelMatrixCol1), dot(worldPosition, modelMatrixCol2), 1.0);");if(scene.entityOffsetsEnabled){src.push(" worldPosition.xyz = worldPosition.xyz + offset;");}src.push(" vec4 viewPosition = viewMatrix * worldPosition; ");if(clipping){src.push(" vWorldPosition = worldPosition;");src.push("vFlags = flags;");}src.push("vec4 clipPos = projMatrix * viewPosition;");src.push("gl_Position = clipPos;");src.push("}");src.push("}");return src;}},{key:"_buildFragmentShader",value:function _buildFragmentShader(){var scene=this._scene;var sectionPlanesState=scene._sectionPlanesState;var clipping=sectionPlanesState.getNumAllocatedSectionPlanes()>0;var src=[];src.push("#version 300 es");src.push("// TrianglesInstancingOcclusionRenderer fragment shader");src.push("#ifdef GL_FRAGMENT_PRECISION_HIGH");src.push("precision highp float;");src.push("precision highp int;");src.push("#else");src.push("precision mediump float;");src.push("precision mediump int;");src.push("#endif");if(clipping){src.push("in vec4 vWorldPosition;");src.push("in float vFlags;");for(var _i240=0;_i240> 16 & 0xF) == 1;");src.push(" if (clippable) {");src.push(" float dist = 0.0;");for(var _i241=0;_i241 0.0) { discard; }");src.push("}");}src.push(" outColor = vec4(0.0, 0.0, 1.0, 1.0); ");// Occluders are blue +src.push("int colorFlag = int(flags) & 0xF;");src.push("if (colorFlag != renderPass) {");src.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);");src.push("} else {");src.push(" vec4 worldPosition = positionsDecodeMatrix * vec4(position, 1.0); ");src.push(" worldPosition = worldMatrix * vec4(dot(worldPosition, modelMatrixCol0), dot(worldPosition, modelMatrixCol1), dot(worldPosition, modelMatrixCol2), 1.0);");if(scene.entityOffsetsEnabled){src.push(" worldPosition.xyz = worldPosition.xyz + offset;");}src.push(" vec4 viewPosition = viewMatrix * worldPosition; ");if(clipping){src.push(" vWorldPosition = worldPosition;");src.push("vFlags = flags;");}src.push("vec4 clipPos = projMatrix * viewPosition;");src.push("gl_Position = clipPos;");src.push("}");src.push("}");return src;}},{key:"_buildFragmentShader",value:function _buildFragmentShader(){var scene=this._scene;var sectionPlanesState=scene._sectionPlanesState;var clipping=sectionPlanesState.getNumAllocatedSectionPlanes()>0;var src=[];src.push("#version 300 es");src.push("// TrianglesInstancingOcclusionRenderer fragment shader");src.push("#ifdef GL_FRAGMENT_PRECISION_HIGH");src.push("precision highp float;");src.push("precision highp int;");src.push("#else");src.push("precision mediump float;");src.push("precision mediump int;");src.push("#endif");if(clipping){src.push("in vec4 vWorldPosition;");src.push("in float vFlags;");for(var _i241=0;_i241> 16 & 0xF) == 1;");src.push(" if (clippable) {");src.push(" float dist = 0.0;");for(var _i242=0;_i242 0.0) { discard; }");src.push("}");}src.push(" outColor = vec4(0.0, 0.0, 1.0, 1.0); ");// Occluders are blue src.push("}");return src;}}]);return TrianglesInstancingOcclusionRenderer;}(VBOSceneModelTriangleInstancingRenderer);/** * @private */var TrianglesInstancingDepthRenderer=/*#__PURE__*/function(_VBOSceneModelTriangl27){_inherits(TrianglesInstancingDepthRenderer,_VBOSceneModelTriangl27);var _super100=_createSuper(TrianglesInstancingDepthRenderer);function TrianglesInstancingDepthRenderer(){_classCallCheck(this,TrianglesInstancingDepthRenderer);return _super100.apply(this,arguments);}_createClass(TrianglesInstancingDepthRenderer,[{key:"_buildVertexShader",value:function _buildVertexShader(){var scene=this._scene;var sectionPlanesState=scene._sectionPlanesState;var clipping=sectionPlanesState.getNumAllocatedSectionPlanes()>0;var src=[];src.push("#version 300 es");src.push("// Instancing geometry depth drawing vertex shader");src.push("uniform int renderPass;");src.push("in vec3 position;");if(scene.entityOffsetsEnabled){src.push("in vec3 offset;");}src.push("in float flags;");src.push("in vec4 modelMatrixCol0;");src.push("in vec4 modelMatrixCol1;");src.push("in vec4 modelMatrixCol2;");this._addMatricesUniformBlockLines(src);if(scene.logarithmicDepthBufferEnabled){src.push("uniform float logDepthBufFC;");src.push("out float vFragDepth;");src.push("bool isPerspectiveMatrix(mat4 m) {");src.push(" return (m[2][3] == - 1.0);");src.push("}");src.push("out float isPerspective;");}if(clipping){src.push("out vec4 vWorldPosition;");src.push("out float vFlags;");}src.push("out vec2 vHighPrecisionZW;");src.push("void main(void) {");// colorFlag = NOT_RENDERED | COLOR_OPAQUE | COLOR_TRANSPARENT @@ -17612,19 +17615,19 @@ src.push("} else {");src.push(" vec4 worldPosition = positionsDecodeMatrix * ve * @private */var TrianglesInstancingNormalsRenderer=/*#__PURE__*/function(_VBOSceneModelTriangl28){_inherits(TrianglesInstancingNormalsRenderer,_VBOSceneModelTriangl28);var _super101=_createSuper(TrianglesInstancingNormalsRenderer);function TrianglesInstancingNormalsRenderer(){_classCallCheck(this,TrianglesInstancingNormalsRenderer);return _super101.apply(this,arguments);}_createClass(TrianglesInstancingNormalsRenderer,[{key:"_buildVertexShader",value:function _buildVertexShader(){var scene=this._scene;var sectionPlanesState=scene._sectionPlanesState;var clipping=sectionPlanesState.getNumAllocatedSectionPlanes()>0;var src=[];src.push("#version 300 es");src.push("// Instancing geometry normals drawing vertex shader");src.push("uniform int renderPass;");src.push("in vec3 position;");if(scene.entityOffsetsEnabled){src.push("in vec3 offset;");}src.push("in vec3 normal;");src.push("in vec4 color;");src.push("in float flags;");src.push("in vec4 modelMatrixCol0;");src.push("in vec4 modelMatrixCol1;");src.push("in vec4 modelMatrixCol2;");this._addMatricesUniformBlockLines(src,true);if(scene.logarithmicDepthBufferEnabled){src.push("uniform float logDepthBufFC;");src.push("out float vFragDepth;");src.push("bool isPerspectiveMatrix(mat4 m) {");src.push(" return (m[2][3] == - 1.0);");src.push("}");src.push("out float isPerspective;");}src.push("vec3 octDecode(vec2 oct) {");src.push(" vec3 v = vec3(oct.xy, 1.0 - abs(oct.x) - abs(oct.y));");src.push(" if (v.z < 0.0) {");src.push(" v.xy = (1.0 - abs(v.yx)) * vec2(v.x >= 0.0 ? 1.0 : -1.0, v.y >= 0.0 ? 1.0 : -1.0);");src.push(" }");src.push(" return normalize(v);");src.push("}");if(clipping){src.push("out vec4 vWorldPosition;");src.push("out float vFlags;");}src.push("out vec3 vViewNormal;");src.push("void main(void) {");// colorFlag = NOT_RENDERED | COLOR_OPAQUE | COLOR_TRANSPARENT // renderPass = COLOR_OPAQUE -src.push("int colorFlag = int(flags) & 0xF;");src.push("if (colorFlag != renderPass) {");src.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);");src.push("} else {");src.push(" vec4 worldPosition = positionsDecodeMatrix * vec4(position, 1.0); ");src.push(" worldPosition = worldMatrix * vec4(dot(worldPosition, modelMatrixCol0), dot(worldPosition, modelMatrixCol1), dot(worldPosition, modelMatrixCol2), 1.0);");if(scene.entityOffsetsEnabled){src.push(" worldPosition.xyz = worldPosition.xyz + offset;");}src.push(" vec4 viewPosition = viewMatrix * worldPosition; ");src.push(" vec4 worldNormal = worldNormalMatrix * vec4(octDecode(normal.xy), 0.0); ");src.push(" vec3 viewNormal = normalize((viewNormalMatrix * worldNormal).xyz);");if(clipping){src.push("vWorldPosition = worldPosition;");src.push("vFlags = flags;");}src.push(" vViewNormal = viewNormal;");src.push("vec4 clipPos = projMatrix * viewPosition;");if(scene.logarithmicDepthBufferEnabled){src.push("vFragDepth = 1.0 + clipPos.w;");src.push("isPerspective = float (isPerspectiveMatrix(projMatrix));");}src.push("gl_Position = clipPos;");src.push("}");src.push("}");return src;}},{key:"_buildFragmentShader",value:function _buildFragmentShader(){var scene=this._scene;var sectionPlanesState=scene._sectionPlanesState;var clipping=sectionPlanesState.getNumAllocatedSectionPlanes()>0;var src=[];src.push("#version 300 es");src.push("// Instancing geometry depth drawing fragment shader");src.push("#ifdef GL_FRAGMENT_PRECISION_HIGH");src.push("precision highp float;");src.push("precision highp int;");src.push("#else");src.push("precision mediump float;");src.push("precision mediump int;");src.push("#endif");if(scene.logarithmicDepthBufferEnabled){src.push("in float isPerspective;");src.push("uniform float logDepthBufFC;");src.push("in float vFragDepth;");}if(clipping){src.push("in vec4 vWorldPosition;");src.push("in float vFlags;");for(var _i242=0,len=sectionPlanesState.getNumAllocatedSectionPlanes();_i242> 16 & 0xF) == 1;");src.push(" if (clippable) {");src.push(" float dist = 0.0;");for(var _i243=0,_len49=sectionPlanesState.getNumAllocatedSectionPlanes();_i243<_len49;_i243++){src.push("if (sectionPlaneActive"+_i243+") {");src.push(" dist += clamp(dot(-sectionPlaneDir"+_i243+".xyz, vWorldPosition.xyz - sectionPlanePos"+_i243+".xyz), 0.0, 1000.0);");src.push("}");}src.push("if (dist > 0.0) { discard; }");src.push("}");}if(scene.logarithmicDepthBufferEnabled){src.push(" gl_FragDepth = isPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5;");}src.push(" outColor = vec4(packNormalToRGB(vViewNormal), 1.0); ");src.push("}");return src;}}]);return TrianglesInstancingNormalsRenderer;}(VBOSceneModelTriangleInstancingRenderer);/** +src.push("int colorFlag = int(flags) & 0xF;");src.push("if (colorFlag != renderPass) {");src.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);");src.push("} else {");src.push(" vec4 worldPosition = positionsDecodeMatrix * vec4(position, 1.0); ");src.push(" worldPosition = worldMatrix * vec4(dot(worldPosition, modelMatrixCol0), dot(worldPosition, modelMatrixCol1), dot(worldPosition, modelMatrixCol2), 1.0);");if(scene.entityOffsetsEnabled){src.push(" worldPosition.xyz = worldPosition.xyz + offset;");}src.push(" vec4 viewPosition = viewMatrix * worldPosition; ");src.push(" vec4 worldNormal = worldNormalMatrix * vec4(octDecode(normal.xy), 0.0); ");src.push(" vec3 viewNormal = normalize((viewNormalMatrix * worldNormal).xyz);");if(clipping){src.push("vWorldPosition = worldPosition;");src.push("vFlags = flags;");}src.push(" vViewNormal = viewNormal;");src.push("vec4 clipPos = projMatrix * viewPosition;");if(scene.logarithmicDepthBufferEnabled){src.push("vFragDepth = 1.0 + clipPos.w;");src.push("isPerspective = float (isPerspectiveMatrix(projMatrix));");}src.push("gl_Position = clipPos;");src.push("}");src.push("}");return src;}},{key:"_buildFragmentShader",value:function _buildFragmentShader(){var scene=this._scene;var sectionPlanesState=scene._sectionPlanesState;var clipping=sectionPlanesState.getNumAllocatedSectionPlanes()>0;var src=[];src.push("#version 300 es");src.push("// Instancing geometry depth drawing fragment shader");src.push("#ifdef GL_FRAGMENT_PRECISION_HIGH");src.push("precision highp float;");src.push("precision highp int;");src.push("#else");src.push("precision mediump float;");src.push("precision mediump int;");src.push("#endif");if(scene.logarithmicDepthBufferEnabled){src.push("in float isPerspective;");src.push("uniform float logDepthBufFC;");src.push("in float vFragDepth;");}if(clipping){src.push("in vec4 vWorldPosition;");src.push("in float vFlags;");for(var _i243=0,len=sectionPlanesState.getNumAllocatedSectionPlanes();_i243> 16 & 0xF) == 1;");src.push(" if (clippable) {");src.push(" float dist = 0.0;");for(var _i244=0,_len49=sectionPlanesState.getNumAllocatedSectionPlanes();_i244<_len49;_i244++){src.push("if (sectionPlaneActive"+_i244+") {");src.push(" dist += clamp(dot(-sectionPlaneDir"+_i244+".xyz, vWorldPosition.xyz - sectionPlanePos"+_i244+".xyz), 0.0, 1000.0);");src.push("}");}src.push("if (dist > 0.0) { discard; }");src.push("}");}if(scene.logarithmicDepthBufferEnabled){src.push(" gl_FragDepth = isPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5;");}src.push(" outColor = vec4(packNormalToRGB(vViewNormal), 1.0); ");src.push("}");return src;}}]);return TrianglesInstancingNormalsRenderer;}(VBOSceneModelTriangleInstancingRenderer);/** * Renders InstancingLayer fragment depths to a shadow map. * * @private */var TrianglesInstancingShadowRenderer=/*#__PURE__*/function(_VBOSceneModelTriangl29){_inherits(TrianglesInstancingShadowRenderer,_VBOSceneModelTriangl29);var _super102=_createSuper(TrianglesInstancingShadowRenderer);function TrianglesInstancingShadowRenderer(){_classCallCheck(this,TrianglesInstancingShadowRenderer);return _super102.apply(this,arguments);}_createClass(TrianglesInstancingShadowRenderer,[{key:"_buildVertexShader",value:function _buildVertexShader(){var scene=this._scene;var sectionPlanesState=scene._sectionPlanesState;var clipping=sectionPlanesState.getNumAllocatedSectionPlanes()>0;var src=[];src.push("#version 300 es");src.push("// Instancing geometry shadow drawing vertex shader");src.push("in vec3 position;");if(scene.entityOffsetsEnabled){src.push("in vec3 offset;");}src.push("in vec4 color;");src.push("in float flags;");src.push("in vec4 modelMatrixCol0;");src.push("in vec4 modelMatrixCol1;");src.push("in vec4 modelMatrixCol2;");src.push("uniform mat4 shadowViewMatrix;");src.push("uniform mat4 shadowProjMatrix;");this._addMatricesUniformBlockLines(src);if(clipping){src.push("out vec4 vWorldPosition;");src.push("out float vFlags;");}src.push("void main(void) {");src.push("int colorFlag = int(flags) & 0xF;");src.push("bool visible = (colorFlag > 0);");src.push("bool transparent = ((float(color.a) / 255.0) < 1.0);");src.push("if (!visible || transparent) {");src.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);");// Cull vertex -src.push("} else {");src.push(" vec4 worldPosition = positionsDecodeMatrix * vec4(position, 1.0); ");src.push(" worldPosition = vec4(dot(worldPosition, modelMatrixCol0), dot(worldPosition, modelMatrixCol1), dot(worldPosition, modelMatrixCol2), 1.0);");if(scene.entityOffsetsEnabled){src.push(" worldPosition.xyz = worldPosition.xyz + offset;");}src.push(" vec4 viewPosition = shadowViewMatrix * worldPosition; ");if(clipping){src.push("vWorldPosition = worldPosition;");src.push("vFlags = flags;");}src.push(" gl_Position = shadowProjMatrix * viewPosition;");src.push("}");src.push("}");return src;}},{key:"_buildFragmentShader",value:function _buildFragmentShader(){var scene=this._scene;var sectionPlanesState=scene._sectionPlanesState;var clipping=sectionPlanesState.getNumAllocatedSectionPlanes()>0;var src=[];src.push("#version 300 es");src.push("// Instancing geometry depth drawing fragment shader");src.push("#ifdef GL_FRAGMENT_PRECISION_HIGH");src.push("precision highp float;");src.push("precision highp int;");src.push("#else");src.push("precision mediump float;");src.push("precision mediump int;");src.push("#endif");if(scene.logarithmicDepthBufferEnabled){src.push("uniform float logDepthBufFC;");src.push("in float vFragDepth;");}if(clipping){src.push("in vec4 vWorldPosition;");src.push("in float vFlags;");for(var _i244=0,len=sectionPlanesState.getNumAllocatedSectionPlanes();_i244> 16 & 0xF) == 1;");src.push(" if (clippable) {");src.push(" float dist = 0.0;");for(var _i245=0,_len50=sectionPlanesState.getNumAllocatedSectionPlanes();_i245<_len50;_i245++){src.push("if (sectionPlaneActive"+_i245+") {");src.push(" dist += clamp(dot(-sectionPlaneDir"+_i245+".xyz, vWorldPosition.xyz - sectionPlanePos"+_i245+".xyz), 0.0, 1000.0);");src.push("}");}src.push("if (dist > 0.0) { discard; }");src.push("}");}if(scene.logarithmicDepthBufferEnabled){src.push("gl_FragDepth = log2( vFragDepth ) * logDepthBufFC * 0.5;");}src.push(" outColor = vec4(packNormalToRGB(vViewNormal), 1.0); ");src.push("}");return src;}}]);return TrianglesInstancingShadowRenderer;}(VBOSceneModelTriangleInstancingRenderer);var TEXTURE_DECODE_FUNCS={};TEXTURE_DECODE_FUNCS[LinearEncoding]="linearToLinear";TEXTURE_DECODE_FUNCS[sRGBEncoding]="sRGBToLinear";/** +src.push("} else {");src.push(" vec4 worldPosition = positionsDecodeMatrix * vec4(position, 1.0); ");src.push(" worldPosition = vec4(dot(worldPosition, modelMatrixCol0), dot(worldPosition, modelMatrixCol1), dot(worldPosition, modelMatrixCol2), 1.0);");if(scene.entityOffsetsEnabled){src.push(" worldPosition.xyz = worldPosition.xyz + offset;");}src.push(" vec4 viewPosition = shadowViewMatrix * worldPosition; ");if(clipping){src.push("vWorldPosition = worldPosition;");src.push("vFlags = flags;");}src.push(" gl_Position = shadowProjMatrix * viewPosition;");src.push("}");src.push("}");return src;}},{key:"_buildFragmentShader",value:function _buildFragmentShader(){var scene=this._scene;var sectionPlanesState=scene._sectionPlanesState;var clipping=sectionPlanesState.getNumAllocatedSectionPlanes()>0;var src=[];src.push("#version 300 es");src.push("// Instancing geometry depth drawing fragment shader");src.push("#ifdef GL_FRAGMENT_PRECISION_HIGH");src.push("precision highp float;");src.push("precision highp int;");src.push("#else");src.push("precision mediump float;");src.push("precision mediump int;");src.push("#endif");if(scene.logarithmicDepthBufferEnabled){src.push("uniform float logDepthBufFC;");src.push("in float vFragDepth;");}if(clipping){src.push("in vec4 vWorldPosition;");src.push("in float vFlags;");for(var _i245=0,len=sectionPlanesState.getNumAllocatedSectionPlanes();_i245> 16 & 0xF) == 1;");src.push(" if (clippable) {");src.push(" float dist = 0.0;");for(var _i246=0,_len50=sectionPlanesState.getNumAllocatedSectionPlanes();_i246<_len50;_i246++){src.push("if (sectionPlaneActive"+_i246+") {");src.push(" dist += clamp(dot(-sectionPlaneDir"+_i246+".xyz, vWorldPosition.xyz - sectionPlanePos"+_i246+".xyz), 0.0, 1000.0);");src.push("}");}src.push("if (dist > 0.0) { discard; }");src.push("}");}if(scene.logarithmicDepthBufferEnabled){src.push("gl_FragDepth = log2( vFragDepth ) * logDepthBufFC * 0.5;");}src.push(" outColor = vec4(packNormalToRGB(vViewNormal), 1.0); ");src.push("}");return src;}}]);return TrianglesInstancingShadowRenderer;}(VBOSceneModelTriangleInstancingRenderer);var TEXTURE_DECODE_FUNCS={};TEXTURE_DECODE_FUNCS[LinearEncoding]="linearToLinear";TEXTURE_DECODE_FUNCS[sRGBEncoding]="sRGBToLinear";/** * @private */var TrianglesInstancingPBRRenderer=/*#__PURE__*/function(_VBOSceneModelTriangl30){_inherits(TrianglesInstancingPBRRenderer,_VBOSceneModelTriangl30);var _super103=_createSuper(TrianglesInstancingPBRRenderer);function TrianglesInstancingPBRRenderer(){_classCallCheck(this,TrianglesInstancingPBRRenderer);return _super103.apply(this,arguments);}_createClass(TrianglesInstancingPBRRenderer,[{key:"_getHash",value:function _getHash(){var scene=this._scene;return[scene.gammaOutput,scene._lightsState.getHash(),scene._sectionPlanesState.getHash(),this._withSAO?"sao":"nosao"].join(";");}},{key:"drawLayer",value:function drawLayer(frameCtx,layer,renderPass){_get(_getPrototypeOf(TrianglesInstancingPBRRenderer.prototype),"drawLayer",this).call(this,frameCtx,layer,renderPass,{incrementDrawState:true});}},{key:"_buildVertexShader",value:function _buildVertexShader(){var scene=this._scene;var sectionPlanesState=scene._sectionPlanesState;var lightsState=scene._lightsState;var clipping=sectionPlanesState.getNumAllocatedSectionPlanes()>0;var clippingCaps=sectionPlanesState.clippingCaps;var src=[];src.push("#version 300 es");src.push("// Instancing geometry quality drawing vertex shader");src.push("uniform int renderPass;");src.push("in vec3 position;");src.push("in vec3 normal;");src.push("in vec4 color;");src.push("in vec2 uv;");src.push("in vec2 metallicRoughness;");src.push("in float flags;");if(scene.entityOffsetsEnabled){src.push("in vec3 offset;");}src.push("in vec4 modelMatrixCol0;");// Modeling matrix src.push("in vec4 modelMatrixCol1;");src.push("in vec4 modelMatrixCol2;");src.push("in vec4 modelNormalMatrixCol0;");src.push("in vec4 modelNormalMatrixCol1;");src.push("in vec4 modelNormalMatrixCol2;");this._addMatricesUniformBlockLines(src,true);src.push("uniform mat3 uvDecodeMatrix;");if(scene.logarithmicDepthBufferEnabled){src.push("uniform float logDepthBufFC;");src.push("out float vFragDepth;");src.push("bool isPerspectiveMatrix(mat4 m) {");src.push(" return (m[2][3] == - 1.0);");src.push("}");src.push("out float isPerspective;");}src.push("vec3 octDecode(vec2 oct) {");src.push(" vec3 v = vec3(oct.xy, 1.0 - abs(oct.x) - abs(oct.y));");src.push(" if (v.z < 0.0) {");src.push(" v.xy = (1.0 - abs(v.yx)) * vec2(v.x >= 0.0 ? 1.0 : -1.0, v.y >= 0.0 ? 1.0 : -1.0);");src.push(" }");src.push(" return normalize(v);");src.push("}");src.push("out vec4 vViewPosition;");src.push("out vec3 vViewNormal;");src.push("out vec4 vColor;");src.push("out vec2 vUV;");src.push("out vec2 vMetallicRoughness;");if(lightsState.lightMaps.length>0){src.push("out vec3 vWorldNormal;");}if(clipping){src.push("out vec4 vWorldPosition;");src.push("out float vFlags;");if(clippingCaps){src.push("out vec4 vClipPosition;");}}src.push("void main(void) {");// colorFlag = NOT_RENDERED | COLOR_OPAQUE | COLOR_TRANSPARENT // renderPass = COLOR_OPAQUE | COLOR_TRANSPARENT src.push("int colorFlag = int(flags) & 0xF;");src.push("if (colorFlag != renderPass) {");src.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);");// Cull vertex src.push("} else {");src.push("vec4 worldPosition = positionsDecodeMatrix * vec4(position, 1.0); ");src.push("worldPosition = worldMatrix * vec4(dot(worldPosition, modelMatrixCol0), dot(worldPosition, modelMatrixCol1), dot(worldPosition, modelMatrixCol2), 1.0);");if(scene.entityOffsetsEnabled){src.push(" worldPosition.xyz = worldPosition.xyz + offset;");}src.push("vec4 viewPosition = viewMatrix * worldPosition; ");src.push("vec4 modelNormal = vec4(octDecode(normal.xy), 0.0); ");src.push("vec4 worldNormal = worldNormalMatrix * vec4(dot(modelNormal, modelNormalMatrixCol0), dot(modelNormal, modelNormalMatrixCol1), dot(modelNormal, modelNormalMatrixCol2), 1.0);");src.push("vec3 viewNormal = vec4(viewNormalMatrix * worldNormal).xyz;");src.push("vec4 clipPos = projMatrix * viewPosition;");if(scene.logarithmicDepthBufferEnabled){src.push("vFragDepth = 1.0 + clipPos.w;");src.push("isPerspective = float (isPerspectiveMatrix(projMatrix));");}if(clipping){src.push("vWorldPosition = worldPosition;");src.push("vFlags = flags;");if(clippingCaps){src.push("vClipPosition = clipPos;");}}src.push("vViewPosition = viewPosition;");src.push("vViewNormal = viewNormal;");src.push("vColor = color;");src.push("vUV = (uvDecodeMatrix * vec3(uv, 1.0)).xy;");src.push("vMetallicRoughness = metallicRoughness;");if(lightsState.lightMaps.length>0){src.push("vWorldNormal = worldNormal.xyz;");}src.push("gl_Position = clipPos;");src.push("}");src.push("}");return src;}},{key:"_buildFragmentShader",value:function _buildFragmentShader(){var scene=this._scene;var gammaOutput=scene.gammaOutput;// If set, then it expects that all textures and colors need to be outputted in premultiplied gamma. Default is false. -var sectionPlanesState=scene._sectionPlanesState;var lightsState=scene._lightsState;var clipping=sectionPlanesState.getNumAllocatedSectionPlanes()>0;var clippingCaps=sectionPlanesState.clippingCaps;var src=[];src.push("#version 300 es");src.push("// Instancing geometry quality drawing fragment shader");src.push("#ifdef GL_FRAGMENT_PRECISION_HIGH");src.push("precision highp float;");src.push("precision highp int;");src.push("#else");src.push("precision mediump float;");src.push("precision mediump int;");src.push("#endif");if(scene.logarithmicDepthBufferEnabled){src.push("in float isPerspective;");src.push("uniform float logDepthBufFC;");src.push("in float vFragDepth;");}src.push("uniform sampler2D uColorMap;");src.push("uniform sampler2D uMetallicRoughMap;");src.push("uniform sampler2D uEmissiveMap;");src.push("uniform sampler2D uNormalMap;");if(this._withSAO){src.push("uniform sampler2D uOcclusionTexture;");src.push("uniform vec4 uSAOParams;");src.push("const float packUpscale = 256. / 255.;");src.push("const float unpackDownScale = 255. / 256.;");src.push("const vec3 packFactors = vec3( 256. * 256. * 256., 256. * 256., 256. );");src.push("const vec4 unPackFactors = unpackDownScale / vec4( packFactors, 1. );");src.push("float unpackRGBToFloat( const in vec4 v ) {");src.push(" return dot( v, unPackFactors );");src.push("}");}if(lightsState.reflectionMaps.length>0){src.push("uniform samplerCube reflectionMap;");}if(lightsState.lightMaps.length>0){src.push("uniform samplerCube lightMap;");}src.push("uniform vec4 lightAmbient;");for(var _i246=0,len=lightsState.lights.length;_i2460){src.push("in vec3 vWorldNormal;");}this._addMatricesUniformBlockLines(src,true);// CONSTANT DEFINITIONS +var sectionPlanesState=scene._sectionPlanesState;var lightsState=scene._lightsState;var clipping=sectionPlanesState.getNumAllocatedSectionPlanes()>0;var clippingCaps=sectionPlanesState.clippingCaps;var src=[];src.push("#version 300 es");src.push("// Instancing geometry quality drawing fragment shader");src.push("#ifdef GL_FRAGMENT_PRECISION_HIGH");src.push("precision highp float;");src.push("precision highp int;");src.push("#else");src.push("precision mediump float;");src.push("precision mediump int;");src.push("#endif");if(scene.logarithmicDepthBufferEnabled){src.push("in float isPerspective;");src.push("uniform float logDepthBufFC;");src.push("in float vFragDepth;");}src.push("uniform sampler2D uColorMap;");src.push("uniform sampler2D uMetallicRoughMap;");src.push("uniform sampler2D uEmissiveMap;");src.push("uniform sampler2D uNormalMap;");if(this._withSAO){src.push("uniform sampler2D uOcclusionTexture;");src.push("uniform vec4 uSAOParams;");src.push("const float packUpscale = 256. / 255.;");src.push("const float unpackDownScale = 255. / 256.;");src.push("const vec3 packFactors = vec3( 256. * 256. * 256., 256. * 256., 256. );");src.push("const vec4 unPackFactors = unpackDownScale / vec4( packFactors, 1. );");src.push("float unpackRGBToFloat( const in vec4 v ) {");src.push(" return dot( v, unPackFactors );");src.push("}");}if(lightsState.reflectionMaps.length>0){src.push("uniform samplerCube reflectionMap;");}if(lightsState.lightMaps.length>0){src.push("uniform samplerCube lightMap;");}src.push("uniform vec4 lightAmbient;");for(var _i247=0,len=lightsState.lights.length;_i2470){src.push("in vec3 vWorldNormal;");}this._addMatricesUniformBlockLines(src,true);// CONSTANT DEFINITIONS src.push("#define PI 3.14159265359");src.push("#define RECIPROCAL_PI 0.31830988618");src.push("#define RECIPROCAL_PI2 0.15915494");src.push("#define EPSILON 1e-6");src.push("#define saturate(a) clamp( a, 0.0, 1.0 )");// UTILITY DEFINITIONS src.push("vec3 perturbNormal2Arb( vec3 eye_pos, vec3 surf_norm, vec2 uv ) {");src.push(" vec3 texel = texture( uNormalMap, uv ).xyz;");src.push(" if (texel.r == 0.0 && texel.g == 0.0 && texel.b == 0.0) {");src.push(" return normalize(surf_norm );");src.push(" }");src.push(" vec3 q0 = vec3( dFdx( eye_pos.x ), dFdx( eye_pos.y ), dFdx( eye_pos.z ) );");src.push(" vec3 q1 = vec3( dFdy( eye_pos.x ), dFdy( eye_pos.y ), dFdy( eye_pos.z ) );");src.push(" vec2 st0 = dFdx( uv.st );");src.push(" vec2 st1 = dFdy( uv.st );");src.push(" vec3 S = normalize( q0 * st1.t - q1 * st0.t );");src.push(" vec3 T = normalize( -q0 * st1.s + q1 * st0.s );");src.push(" vec3 N = normalize( surf_norm );");src.push(" vec3 mapN = texel.xyz * 2.0 - 1.0;");src.push(" mat3 tsn = mat3( S, T, N );");// src.push(" mapN *= 3.0;"); src.push(" return normalize( tsn * mapN );");src.push("}");src.push("vec3 inverseTransformDirection(in vec3 dir, in mat4 matrix) {");src.push(" return normalize( ( vec4( dir, 0.0 ) * matrix ).xyz );");src.push("}");// STRUCTURES @@ -17633,8 +17636,8 @@ src.push("};");// IRRADIANCE EVALUATION src.push("float GGXRoughnessToBlinnExponent(const in float ggxRoughness) {");src.push(" float r = ggxRoughness + 0.0001;");src.push(" return (2.0 / (r * r) - 2.0);");src.push("}");src.push("float getSpecularMIPLevel(const in float blinnShininessExponent, const in int maxMIPLevel) {");src.push(" float maxMIPLevelScalar = float( maxMIPLevel );");src.push(" float desiredMIPLevel = maxMIPLevelScalar - 0.79248 - 0.5 * log2( ( blinnShininessExponent * blinnShininessExponent ) + 1.0 );");src.push(" return clamp( desiredMIPLevel, 0.0, maxMIPLevelScalar );");src.push("}");if(lightsState.reflectionMaps.length>0){src.push("vec3 getLightProbeIndirectRadiance(const in vec3 reflectVec, const in float blinnShininessExponent, const in int maxMIPLevel) {");src.push(" float mipLevel = 0.5 * getSpecularMIPLevel(blinnShininessExponent, maxMIPLevel);");//TODO: a random factor - fix this src.push(" vec3 envMapColor = "+TEXTURE_DECODE_FUNCS[lightsState.reflectionMaps[0].encoding]+"(texture(reflectionMap, reflectVec, mipLevel)).rgb;");src.push(" return envMapColor;");src.push("}");}// SPECULAR BRDF EVALUATION src.push("vec3 F_Schlick(const in vec3 specularColor, const in float dotLH) {");src.push(" float fresnel = exp2( ( -5.55473 * dotLH - 6.98316 ) * dotLH );");src.push(" return ( 1.0 - specularColor ) * fresnel + specularColor;");src.push("}");src.push("float G_GGX_Smith(const in float alpha, const in float dotNL, const in float dotNV) {");src.push(" float a2 = ( alpha * alpha );");src.push(" float gl = dotNL + sqrt( a2 + ( 1.0 - a2 ) * ( dotNL * dotNL ) );");src.push(" float gv = dotNV + sqrt( a2 + ( 1.0 - a2 ) * ( dotNV * dotNV ) );");src.push(" return 1.0 / ( gl * gv );");src.push("}");src.push("float G_GGX_SmithCorrelated(const in float alpha, const in float dotNL, const in float dotNV) {");src.push(" float a2 = ( alpha * alpha );");src.push(" float gv = dotNL * sqrt( a2 + ( 1.0 - a2 ) * ( dotNV * dotNV ) );");src.push(" float gl = dotNV * sqrt( a2 + ( 1.0 - a2 ) * ( dotNL * dotNL ) );");src.push(" return 0.5 / max( gv + gl, EPSILON );");src.push("}");src.push("float D_GGX(const in float alpha, const in float dotNH) {");src.push(" float a2 = ( alpha * alpha );");src.push(" float denom = ( dotNH * dotNH) * ( a2 - 1.0 ) + 1.0;");src.push(" return RECIPROCAL_PI * a2 / ( denom * denom);");src.push("}");src.push("vec3 BRDF_Specular_GGX(const in IncidentLight incidentLight, const in Geometry geometry, const in vec3 specularColor, const in float roughness) {");src.push(" float alpha = ( roughness * roughness );");src.push(" vec3 halfDir = normalize( incidentLight.direction + geometry.viewEyeDir );");src.push(" float dotNL = saturate( dot( geometry.viewNormal, incidentLight.direction ) );");src.push(" float dotNV = saturate( dot( geometry.viewNormal, geometry.viewEyeDir ) );");src.push(" float dotNH = saturate( dot( geometry.viewNormal, halfDir ) );");src.push(" float dotLH = saturate( dot( incidentLight.direction, halfDir ) );");src.push(" vec3 F = F_Schlick( specularColor, dotLH );");src.push(" float G = G_GGX_SmithCorrelated( alpha, dotNL, dotNV );");src.push(" float D = D_GGX( alpha, dotNH );");src.push(" return F * (G * D);");src.push("}");src.push("vec3 BRDF_Specular_GGX_Environment(const in Geometry geometry, const in vec3 specularColor, const in float roughness) {");src.push(" float dotNV = saturate(dot(geometry.viewNormal, geometry.viewEyeDir));");src.push(" const vec4 c0 = vec4( -1, -0.0275, -0.572, 0.022);");src.push(" const vec4 c1 = vec4( 1, 0.0425, 1.04, -0.04);");src.push(" vec4 r = roughness * c0 + c1;");src.push(" float a004 = min(r.x * r.x, exp2(-9.28 * dotNV)) * r.x + r.y;");src.push(" vec2 AB = vec2(-1.04, 1.04) * a004 + r.zw;");src.push(" return specularColor * AB.x + AB.y;");src.push("}");if(lightsState.lightMaps.length>0||lightsState.reflectionMaps.length>0){src.push("void computePBRLightMapping(const in Geometry geometry, const in Material material, inout ReflectedLight reflectedLight) {");if(lightsState.lightMaps.length>0){src.push(" vec3 irradiance = "+TEXTURE_DECODE_FUNCS[lightsState.lightMaps[0].encoding]+"(texture(lightMap, geometry.worldNormal)).rgb;");src.push(" irradiance *= PI;");src.push(" vec3 diffuseBRDFContrib = (RECIPROCAL_PI * material.diffuseColor);");src.push(" reflectedLight.diffuse += irradiance * diffuseBRDFContrib;");}if(lightsState.reflectionMaps.length>0){src.push(" vec3 reflectVec = reflect(geometry.viewEyeDir, geometry.viewNormal);");src.push(" reflectVec = inverseTransformDirection(reflectVec, viewMatrix);");src.push(" float blinnExpFromRoughness = GGXRoughnessToBlinnExponent(material.specularRoughness);");src.push(" vec3 radiance = getLightProbeIndirectRadiance(reflectVec, blinnExpFromRoughness, 8);");src.push(" vec3 specularBRDFContrib = BRDF_Specular_GGX_Environment(geometry, material.specularColor, material.specularRoughness);");src.push(" reflectedLight.specular += radiance * specularBRDFContrib;");}src.push("}");}// MAIN LIGHTING COMPUTATION FUNCTION -src.push("void computePBRLighting(const in IncidentLight incidentLight, const in Geometry geometry, const in Material material, inout ReflectedLight reflectedLight) {");src.push(" float dotNL = saturate(dot(geometry.viewNormal, incidentLight.direction));");src.push(" vec3 irradiance = dotNL * incidentLight.color * PI;");src.push(" reflectedLight.diffuse += irradiance * (RECIPROCAL_PI * material.diffuseColor);");src.push(" reflectedLight.specular += irradiance * BRDF_Specular_GGX(incidentLight, geometry, material.specularColor, material.specularRoughness);");src.push("}");src.push("out vec4 outColor;");src.push("void main(void) {");if(clipping){src.push(" bool clippable = (int(vFlags) >> 16 & 0xF) == 1;");src.push(" if (clippable) {");src.push(" float dist = 0.0;");for(var _i248=0,_len52=sectionPlanesState.getNumAllocatedSectionPlanes();_i248<_len52;_i248++){src.push("if (sectionPlaneActive"+_i248+") {");src.push(" dist += clamp(dot(-sectionPlaneDir"+_i248+".xyz, vWorldPosition.xyz - sectionPlanePos"+_i248+".xyz), 0.0, 1000.0);");src.push("}");}if(clippingCaps){src.push(" if (dist > (0.002 * vClipPosition.w)) {");src.push(" discard;");src.push(" }");src.push(" if (dist > 0.0) { ");src.push(" outColor=vec4(1.0, 0.0, 0.0, 1.0);");if(scene.logarithmicDepthBufferEnabled){src.push(" gl_FragDepth = log2( vFragDepth ) * logDepthBufFC * 0.5;");}src.push(" return;");src.push("}");}else{src.push(" if (dist > 0.0) { ");src.push(" discard;");src.push(" }");}src.push("}");}src.push("IncidentLight light;");src.push("Material material;");src.push("Geometry geometry;");src.push("ReflectedLight reflectedLight = ReflectedLight(vec3(0.0,0.0,0.0), vec3(0.0,0.0,0.0));");src.push("vec3 rgb = (vec3(float(vColor.r) / 255.0, float(vColor.g) / 255.0, float(vColor.b) / 255.0));");src.push("float opacity = float(vColor.a) / 255.0;");src.push("vec3 baseColor = rgb;");src.push("float specularF0 = 1.0;");src.push("float metallic = float(vMetallicRoughness.r) / 255.0;");src.push("float roughness = float(vMetallicRoughness.g) / 255.0;");src.push("float dielectricSpecular = 0.16 * specularF0 * specularF0;");src.push("vec4 colorTexel = sRGBToLinear(texture(uColorMap, vUV));");src.push("baseColor *= colorTexel.rgb;");// src.push("opacity = colorTexel.a;"); -src.push("vec3 metalRoughTexel = texture(uMetallicRoughMap, vUV).rgb;");src.push("metallic *= metalRoughTexel.b;");src.push("roughness *= metalRoughTexel.g;");src.push("vec3 viewNormal = perturbNormal2Arb( vViewPosition.xyz, normalize(vViewNormal), vUV );");src.push("material.diffuseColor = baseColor * (1.0 - dielectricSpecular) * (1.0 - metallic);");src.push("material.specularRoughness = clamp(roughness, 0.04, 1.0);");src.push("material.specularColor = mix(vec3(dielectricSpecular), baseColor, metallic);");src.push("geometry.position = vViewPosition.xyz;");src.push("geometry.viewNormal = -normalize(viewNormal);");src.push("geometry.viewEyeDir = normalize(vViewPosition.xyz);");if(lightsState.lightMaps.length>0){src.push("geometry.worldNormal = normalize(vWorldNormal);");}if(lightsState.lightMaps.length>0||lightsState.reflectionMaps.length>0){src.push("computePBRLightMapping(geometry, material, reflectedLight);");}for(var _i249=0,_len53=lightsState.lights.length;_i249<_len53;_i249++){var _light8=lightsState.lights[_i249];if(_light8.type==="ambient"){continue;}if(_light8.type==="dir"){if(_light8.space==="view"){src.push("light.direction = normalize(lightDir"+_i249+");");}else{src.push("light.direction = normalize((viewMatrix * vec4(lightDir"+_i249+", 0.0)).xyz);");}}else if(_light8.type==="point"){if(_light8.space==="view"){src.push("light.direction = normalize(lightPos"+_i249+" - vViewPosition.xyz);");}else{src.push("light.direction = normalize((viewMatrix * vec4(lightPos"+_i249+", 0.0)).xyz);");}}else if(_light8.type==="spot"){if(_light8.space==="view"){src.push("light.direction = normalize(lightDir"+_i249+");");}else{src.push("light.direction = normalize((viewMatrix * vec4(lightDir"+_i249+", 0.0)).xyz);");}}else{continue;}src.push("light.color = lightColor"+_i249+".rgb * lightColor"+_i249+".a;");// a is intensity +src.push("void computePBRLighting(const in IncidentLight incidentLight, const in Geometry geometry, const in Material material, inout ReflectedLight reflectedLight) {");src.push(" float dotNL = saturate(dot(geometry.viewNormal, incidentLight.direction));");src.push(" vec3 irradiance = dotNL * incidentLight.color * PI;");src.push(" reflectedLight.diffuse += irradiance * (RECIPROCAL_PI * material.diffuseColor);");src.push(" reflectedLight.specular += irradiance * BRDF_Specular_GGX(incidentLight, geometry, material.specularColor, material.specularRoughness);");src.push("}");src.push("out vec4 outColor;");src.push("void main(void) {");if(clipping){src.push(" bool clippable = (int(vFlags) >> 16 & 0xF) == 1;");src.push(" if (clippable) {");src.push(" float dist = 0.0;");for(var _i249=0,_len52=sectionPlanesState.getNumAllocatedSectionPlanes();_i249<_len52;_i249++){src.push("if (sectionPlaneActive"+_i249+") {");src.push(" dist += clamp(dot(-sectionPlaneDir"+_i249+".xyz, vWorldPosition.xyz - sectionPlanePos"+_i249+".xyz), 0.0, 1000.0);");src.push("}");}if(clippingCaps){src.push(" if (dist > (0.002 * vClipPosition.w)) {");src.push(" discard;");src.push(" }");src.push(" if (dist > 0.0) { ");src.push(" outColor=vec4(1.0, 0.0, 0.0, 1.0);");if(scene.logarithmicDepthBufferEnabled){src.push(" gl_FragDepth = log2( vFragDepth ) * logDepthBufFC * 0.5;");}src.push(" return;");src.push("}");}else{src.push(" if (dist > 0.0) { ");src.push(" discard;");src.push(" }");}src.push("}");}src.push("IncidentLight light;");src.push("Material material;");src.push("Geometry geometry;");src.push("ReflectedLight reflectedLight = ReflectedLight(vec3(0.0,0.0,0.0), vec3(0.0,0.0,0.0));");src.push("vec3 rgb = (vec3(float(vColor.r) / 255.0, float(vColor.g) / 255.0, float(vColor.b) / 255.0));");src.push("float opacity = float(vColor.a) / 255.0;");src.push("vec3 baseColor = rgb;");src.push("float specularF0 = 1.0;");src.push("float metallic = float(vMetallicRoughness.r) / 255.0;");src.push("float roughness = float(vMetallicRoughness.g) / 255.0;");src.push("float dielectricSpecular = 0.16 * specularF0 * specularF0;");src.push("vec4 colorTexel = sRGBToLinear(texture(uColorMap, vUV));");src.push("baseColor *= colorTexel.rgb;");// src.push("opacity = colorTexel.a;"); +src.push("vec3 metalRoughTexel = texture(uMetallicRoughMap, vUV).rgb;");src.push("metallic *= metalRoughTexel.b;");src.push("roughness *= metalRoughTexel.g;");src.push("vec3 viewNormal = perturbNormal2Arb( vViewPosition.xyz, normalize(vViewNormal), vUV );");src.push("material.diffuseColor = baseColor * (1.0 - dielectricSpecular) * (1.0 - metallic);");src.push("material.specularRoughness = clamp(roughness, 0.04, 1.0);");src.push("material.specularColor = mix(vec3(dielectricSpecular), baseColor, metallic);");src.push("geometry.position = vViewPosition.xyz;");src.push("geometry.viewNormal = -normalize(viewNormal);");src.push("geometry.viewEyeDir = normalize(vViewPosition.xyz);");if(lightsState.lightMaps.length>0){src.push("geometry.worldNormal = normalize(vWorldNormal);");}if(lightsState.lightMaps.length>0||lightsState.reflectionMaps.length>0){src.push("computePBRLightMapping(geometry, material, reflectedLight);");}for(var _i250=0,_len53=lightsState.lights.length;_i250<_len53;_i250++){var _light8=lightsState.lights[_i250];if(_light8.type==="ambient"){continue;}if(_light8.type==="dir"){if(_light8.space==="view"){src.push("light.direction = normalize(lightDir"+_i250+");");}else{src.push("light.direction = normalize((viewMatrix * vec4(lightDir"+_i250+", 0.0)).xyz);");}}else if(_light8.type==="point"){if(_light8.space==="view"){src.push("light.direction = normalize(lightPos"+_i250+" - vViewPosition.xyz);");}else{src.push("light.direction = normalize((viewMatrix * vec4(lightPos"+_i250+", 0.0)).xyz);");}}else if(_light8.type==="spot"){if(_light8.space==="view"){src.push("light.direction = normalize(lightDir"+_i250+");");}else{src.push("light.direction = normalize((viewMatrix * vec4(lightDir"+_i250+", 0.0)).xyz);");}}else{continue;}src.push("light.color = lightColor"+_i250+".rgb * lightColor"+_i250+".a;");// a is intensity src.push("computePBRLighting(light, geometry, material, reflectedLight);");}src.push("vec3 emissiveColor = sRGBToLinear(texture(uEmissiveMap, vUV)).rgb;");// TODO: correct gamma function src.push("vec3 outgoingLight = (lightAmbient.rgb * lightAmbient.a * baseColor * opacity * rgb) + (reflectedLight.diffuse) + (reflectedLight.specular) + emissiveColor;");src.push("vec4 fragColor;");if(this._withSAO){// Doing SAO blend in the main solid fill draw shader just so that edge lines can be drawn over the top // Would be more efficient to defer this, then render lines later, using same depth buffer for Z-reject @@ -17644,14 +17647,14 @@ src.push(" float viewportWidth = uSAOParams[0];");src.push(" float viewp src.push("in vec4 modelMatrixCol1;");src.push("in vec4 modelMatrixCol2;");src.push("uniform bool pickInvisible;");this._addMatricesUniformBlockLines(src);this._addRemapClipPosLines(src,3);if(scene.logarithmicDepthBufferEnabled){src.push("uniform float logDepthBufFC;");src.push("out float vFragDepth;");src.push("bool isPerspectiveMatrix(mat4 m) {");src.push(" return (m[2][3] == - 1.0);");src.push("}");src.push("out float isPerspective;");}if(clipping){src.push("out float vFlags;");}src.push("out vec4 vWorldPosition;");src.push("void main(void) {");// pickFlag = NOT_RENDERED | PICK // renderPass = PICK src.push("int pickFlag = int(flags) >> 12 & 0xF;");src.push("if (pickFlag != renderPass) {");src.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);");// Cull vertex -src.push("} else {");src.push(" vec4 worldPosition = positionsDecodeMatrix * vec4(position, 1.0); ");src.push(" worldPosition = worldMatrix * vec4(dot(worldPosition, modelMatrixCol0), dot(worldPosition, modelMatrixCol1), dot(worldPosition, modelMatrixCol2), 1.0);");if(scene.entityOffsetsEnabled){src.push(" worldPosition.xyz = worldPosition.xyz + offset;");}src.push(" vec4 viewPosition = viewMatrix * worldPosition; ");src.push(" vWorldPosition = worldPosition;");src.push("vec4 clipPos = projMatrix * viewPosition;");if(scene.logarithmicDepthBufferEnabled){src.push("vFragDepth = 1.0 + clipPos.w;");src.push("isPerspective = float (isPerspectiveMatrix(projMatrix));");}if(clipping){src.push("vFlags = flags;");}src.push("gl_Position = remapClipPos(clipPos);");src.push("}");src.push("}");return src;}},{key:"_buildFragmentShader",value:function _buildFragmentShader(){var scene=this._scene;var sectionPlanesState=scene._sectionPlanesState;var clipping=sectionPlanesState.getNumAllocatedSectionPlanes()>0;var src=[];src.push("#version 300 es");src.push("// Batched geometry normals fragment shader");src.push("#ifdef GL_FRAGMENT_PRECISION_HIGH");src.push("precision highp float;");src.push("precision highp int;");src.push("#else");src.push("precision mediump float;");src.push("precision mediump int;");src.push("#endif");if(scene.logarithmicDepthBufferEnabled){src.push("in float isPerspective;");src.push("uniform float logDepthBufFC;");src.push("in float vFragDepth;");}src.push("in vec4 vWorldPosition;");if(clipping){src.push("in float vFlags;");for(var _i250=0;_i250> 16 & 0xF) == 1;");src.push(" if (clippable) {");src.push(" float dist = 0.0;");for(var i=0;i 0.0) { discard; }");src.push("}");}if(scene.logarithmicDepthBufferEnabled){src.push(" gl_FragDepth = isPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5;");}src.push(" vec3 xTangent = dFdx( vWorldPosition.xyz );");src.push(" vec3 yTangent = dFdy( vWorldPosition.xyz );");src.push(" vec3 worldNormal = normalize( cross( xTangent, yTangent ) );");src.push(" outNormal = ivec4(worldNormal * float(".concat(math.MAX_INT,"), 1.0);"));src.push("}");return src;}}]);return TrianglesInstancingPickNormalsFlatRenderer;}(VBOSceneModelTriangleInstancingRenderer);/** +src.push("} else {");src.push(" vec4 worldPosition = positionsDecodeMatrix * vec4(position, 1.0); ");src.push(" worldPosition = worldMatrix * vec4(dot(worldPosition, modelMatrixCol0), dot(worldPosition, modelMatrixCol1), dot(worldPosition, modelMatrixCol2), 1.0);");if(scene.entityOffsetsEnabled){src.push(" worldPosition.xyz = worldPosition.xyz + offset;");}src.push(" vec4 viewPosition = viewMatrix * worldPosition; ");src.push(" vWorldPosition = worldPosition;");src.push("vec4 clipPos = projMatrix * viewPosition;");if(scene.logarithmicDepthBufferEnabled){src.push("vFragDepth = 1.0 + clipPos.w;");src.push("isPerspective = float (isPerspectiveMatrix(projMatrix));");}if(clipping){src.push("vFlags = flags;");}src.push("gl_Position = remapClipPos(clipPos);");src.push("}");src.push("}");return src;}},{key:"_buildFragmentShader",value:function _buildFragmentShader(){var scene=this._scene;var sectionPlanesState=scene._sectionPlanesState;var clipping=sectionPlanesState.getNumAllocatedSectionPlanes()>0;var src=[];src.push("#version 300 es");src.push("// Batched geometry normals fragment shader");src.push("#ifdef GL_FRAGMENT_PRECISION_HIGH");src.push("precision highp float;");src.push("precision highp int;");src.push("#else");src.push("precision mediump float;");src.push("precision mediump int;");src.push("#endif");if(scene.logarithmicDepthBufferEnabled){src.push("in float isPerspective;");src.push("uniform float logDepthBufFC;");src.push("in float vFragDepth;");}src.push("in vec4 vWorldPosition;");if(clipping){src.push("in float vFlags;");for(var _i251=0;_i251> 16 & 0xF) == 1;");src.push(" if (clippable) {");src.push(" float dist = 0.0;");for(var i=0;i 0.0) { discard; }");src.push("}");}if(scene.logarithmicDepthBufferEnabled){src.push(" gl_FragDepth = isPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5;");}src.push(" vec3 xTangent = dFdx( vWorldPosition.xyz );");src.push(" vec3 yTangent = dFdy( vWorldPosition.xyz );");src.push(" vec3 worldNormal = normalize( cross( xTangent, yTangent ) );");src.push(" outNormal = ivec4(worldNormal * float(".concat(math.MAX_INT,"), 1.0);"));src.push("}");return src;}}]);return TrianglesInstancingPickNormalsFlatRenderer;}(VBOSceneModelTriangleInstancingRenderer);/** * @private */var TrianglesInstancingColorTextureRenderer=/*#__PURE__*/function(_VBOSceneModelTriangl32){_inherits(TrianglesInstancingColorTextureRenderer,_VBOSceneModelTriangl32);var _super105=_createSuper(TrianglesInstancingColorTextureRenderer);function TrianglesInstancingColorTextureRenderer(){_classCallCheck(this,TrianglesInstancingColorTextureRenderer);return _super105.apply(this,arguments);}_createClass(TrianglesInstancingColorTextureRenderer,[{key:"_getHash",value:function _getHash(){var scene=this._scene;return[scene.gammaOutput,scene._lightsState.getHash(),scene._sectionPlanesState.getHash(),this._withSAO?"sao":"nosao"].join(";");}},{key:"drawLayer",value:function drawLayer(frameCtx,layer,renderPass){_get(_getPrototypeOf(TrianglesInstancingColorTextureRenderer.prototype),"drawLayer",this).call(this,frameCtx,layer,renderPass,{incrementDrawState:true});}},{key:"_buildVertexShader",value:function _buildVertexShader(){var scene=this._scene;var sectionPlanesState=scene._sectionPlanesState;var clipping=sectionPlanesState.getNumAllocatedSectionPlanes()>0;var src=[];src.push("#version 300 es");src.push("// Instancing geometry drawing vertex shader");src.push("uniform int renderPass;");src.push("in vec3 position;");src.push("in vec4 color;");src.push("in vec2 uv;");src.push("in float flags;");if(scene.entityOffsetsEnabled){src.push("in vec3 offset;");}src.push("in vec4 modelMatrixCol0;");// Modeling matrix src.push("in vec4 modelMatrixCol1;");src.push("in vec4 modelMatrixCol2;");this._addMatricesUniformBlockLines(src);src.push("uniform mat3 uvDecodeMatrix;");if(scene.logarithmicDepthBufferEnabled){src.push("uniform float logDepthBufFC;");src.push("out float vFragDepth;");src.push("bool isPerspectiveMatrix(mat4 m) {");src.push(" return (m[2][3] == - 1.0);");src.push("}");src.push("out float isPerspective;");}if(clipping){src.push("out vec4 vWorldPosition;");src.push("out float vFlags;");}src.push("out vec4 vViewPosition;");src.push("out vec4 vColor;");src.push("out vec2 vUV;");src.push("void main(void) {");// colorFlag = NOT_RENDERED | COLOR_OPAQUE | COLOR_TRANSPARENT // renderPass = COLOR_OPAQUE | COLOR_TRANSPARENT src.push("int colorFlag = int(flags) & 0xF;");src.push("if (colorFlag != renderPass) {");src.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);");// Cull vertex src.push("} else {");src.push("vec4 worldPosition = positionsDecodeMatrix * vec4(position, 1.0); ");src.push("worldPosition = worldMatrix * vec4(dot(worldPosition, modelMatrixCol0), dot(worldPosition, modelMatrixCol1), dot(worldPosition, modelMatrixCol2), 1.0);");if(scene.entityOffsetsEnabled){src.push(" worldPosition.xyz = worldPosition.xyz + offset;");}src.push("vec4 viewPosition = viewMatrix * worldPosition; ");src.push("vViewPosition = viewPosition;");src.push("vColor = vec4(float(color.r) / 255.0, float(color.g) / 255.0, float(color.b) / 255.0, float(color.a) / 255.0);");src.push("vUV = (uvDecodeMatrix * vec3(uv, 1.0)).xy;");src.push("vec4 clipPos = projMatrix * viewPosition;");if(scene.logarithmicDepthBufferEnabled){src.push("vFragDepth = 1.0 + clipPos.w;");src.push("isPerspective = float (isPerspectiveMatrix(projMatrix));");}if(clipping){src.push("vWorldPosition = worldPosition;");src.push("vFlags = flags;");}src.push("gl_Position = clipPos;");src.push("}");src.push("}");return src;}},{key:"_buildFragmentShader",value:function _buildFragmentShader(){var scene=this._scene;var gammaOutput=scene.gammaOutput;// If set, then it expects that all textures and colors need to be outputted in premultiplied gamma. Default is false. -var sectionPlanesState=scene._sectionPlanesState;var lightsState=scene._lightsState;var i;var len;var clipping=sectionPlanesState.getNumAllocatedSectionPlanes()>0;var src=[];src.push("#version 300 es");src.push("// Instancing geometry drawing fragment shader");src.push("#ifdef GL_FRAGMENT_PRECISION_HIGH");src.push("precision highp float;");src.push("precision highp int;");src.push("#else");src.push("precision mediump float;");src.push("precision mediump int;");src.push("#endif");if(scene.logarithmicDepthBufferEnabled){src.push("in float isPerspective;");src.push("uniform float logDepthBufFC;");src.push("in float vFragDepth;");}src.push("uniform sampler2D uColorMap;");if(this._withSAO){src.push("uniform sampler2D uOcclusionTexture;");src.push("uniform vec4 uSAOParams;");src.push("const float packUpscale = 256. / 255.;");src.push("const float unpackDownScale = 255. / 256.;");src.push("const vec3 packFactors = vec3( 256. * 256. * 256., 256. * 256., 256. );");src.push("const vec4 unPackFactors = unpackDownScale / vec4( packFactors, 1. );");src.push("float unpackRGBToFloat( const in vec4 v ) {");src.push(" return dot( v, unPackFactors );");src.push("}");}src.push("uniform float gammaFactor;");src.push("vec4 linearToLinear( in vec4 value ) {");src.push(" return value;");src.push("}");src.push("vec4 sRGBToLinear( in vec4 value ) {");src.push(" return vec4( mix( pow( value.rgb * 0.9478672986 + vec3( 0.0521327014 ), vec3( 2.4 ) ), value.rgb * 0.0773993808, vec3( lessThanEqual( value.rgb, vec3( 0.04045 ) ) ) ), value.w );");src.push("}");src.push("vec4 gammaToLinear( in vec4 value) {");src.push(" return vec4( pow( value.xyz, vec3( gammaFactor ) ), value.w );");src.push("}");if(gammaOutput){src.push("vec4 linearToGamma( in vec4 value, in float gammaFactor ) {");src.push(" return vec4( pow( value.xyz, vec3( 1.0 / gammaFactor ) ), value.w );");src.push("}");}if(clipping){src.push("in vec4 vWorldPosition;");src.push("in float vFlags;");for(var _i251=0,_len54=sectionPlanesState.getNumAllocatedSectionPlanes();_i251<_len54;_i251++){src.push("uniform bool sectionPlaneActive"+_i251+";");src.push("uniform vec3 sectionPlanePos"+_i251+";");src.push("uniform vec3 sectionPlaneDir"+_i251+";");}}this._addMatricesUniformBlockLines(src);src.push("uniform vec4 lightAmbient;");for(i=0,len=lightsState.lights.length;i> 16 & 0xF) == 1;");src.push(" if (clippable) {");src.push(" float dist = 0.0;");for(var _i252=0,_len55=sectionPlanesState.getNumAllocatedSectionPlanes();_i252<_len55;_i252++){src.push("if (sectionPlaneActive"+_i252+") {");src.push(" dist += clamp(dot(-sectionPlaneDir"+_i252+".xyz, vWorldPosition.xyz - sectionPlanePos"+_i252+".xyz), 0.0, 1000.0);");src.push("}");}src.push(" if (dist > 0.0) { ");src.push(" discard;");src.push(" }");src.push("}");}src.push("vec3 reflectedColor = vec3(0.0, 0.0, 0.0);");src.push("vec3 viewLightDir = vec3(0.0, 0.0, -1.0);");src.push("float lambertian = 1.0;");src.push("vec3 xTangent = dFdx( vViewPosition.xyz );");src.push("vec3 yTangent = dFdy( vViewPosition.xyz );");src.push("vec3 viewNormal = normalize( cross( xTangent, yTangent ) );");for(i=0,len=lightsState.lights.length;i0;var src=[];src.push("#version 300 es");src.push("// Instancing geometry drawing fragment shader");src.push("#ifdef GL_FRAGMENT_PRECISION_HIGH");src.push("precision highp float;");src.push("precision highp int;");src.push("#else");src.push("precision mediump float;");src.push("precision mediump int;");src.push("#endif");if(scene.logarithmicDepthBufferEnabled){src.push("in float isPerspective;");src.push("uniform float logDepthBufFC;");src.push("in float vFragDepth;");}src.push("uniform sampler2D uColorMap;");if(this._withSAO){src.push("uniform sampler2D uOcclusionTexture;");src.push("uniform vec4 uSAOParams;");src.push("const float packUpscale = 256. / 255.;");src.push("const float unpackDownScale = 255. / 256.;");src.push("const vec3 packFactors = vec3( 256. * 256. * 256., 256. * 256., 256. );");src.push("const vec4 unPackFactors = unpackDownScale / vec4( packFactors, 1. );");src.push("float unpackRGBToFloat( const in vec4 v ) {");src.push(" return dot( v, unPackFactors );");src.push("}");}src.push("uniform float gammaFactor;");src.push("vec4 linearToLinear( in vec4 value ) {");src.push(" return value;");src.push("}");src.push("vec4 sRGBToLinear( in vec4 value ) {");src.push(" return vec4( mix( pow( value.rgb * 0.9478672986 + vec3( 0.0521327014 ), vec3( 2.4 ) ), value.rgb * 0.0773993808, vec3( lessThanEqual( value.rgb, vec3( 0.04045 ) ) ) ), value.w );");src.push("}");src.push("vec4 gammaToLinear( in vec4 value) {");src.push(" return vec4( pow( value.xyz, vec3( gammaFactor ) ), value.w );");src.push("}");if(gammaOutput){src.push("vec4 linearToGamma( in vec4 value, in float gammaFactor ) {");src.push(" return vec4( pow( value.xyz, vec3( 1.0 / gammaFactor ) ), value.w );");src.push("}");}if(clipping){src.push("in vec4 vWorldPosition;");src.push("in float vFlags;");for(var _i252=0,_len54=sectionPlanesState.getNumAllocatedSectionPlanes();_i252<_len54;_i252++){src.push("uniform bool sectionPlaneActive"+_i252+";");src.push("uniform vec3 sectionPlanePos"+_i252+";");src.push("uniform vec3 sectionPlaneDir"+_i252+";");}}this._addMatricesUniformBlockLines(src);src.push("uniform vec4 lightAmbient;");for(i=0,len=lightsState.lights.length;i> 16 & 0xF) == 1;");src.push(" if (clippable) {");src.push(" float dist = 0.0;");for(var _i253=0,_len55=sectionPlanesState.getNumAllocatedSectionPlanes();_i253<_len55;_i253++){src.push("if (sectionPlaneActive"+_i253+") {");src.push(" dist += clamp(dot(-sectionPlaneDir"+_i253+".xyz, vWorldPosition.xyz - sectionPlanePos"+_i253+".xyz), 0.0, 1000.0);");src.push("}");}src.push(" if (dist > 0.0) { ");src.push(" discard;");src.push(" }");src.push("}");}src.push("vec3 reflectedColor = vec3(0.0, 0.0, 0.0);");src.push("vec3 viewLightDir = vec3(0.0, 0.0, -1.0);");src.push("float lambertian = 1.0;");src.push("vec3 xTangent = dFdx( vViewPosition.xyz );");src.push("vec3 yTangent = dFdy( vViewPosition.xyz );");src.push("vec3 viewNormal = normalize( cross( xTangent, yTangent ) );");for(i=0,len=lightsState.lights.length;i0;var src=[];src.push('#version 300 es');src.push("// SnapInstancingDepthBufInitRenderer vertex shader");src.push("#ifdef GL_FRAGMENT_PRECISION_HIGH");src.push("precision highp float;");src.push("precision highp int;");src.push("precision highp usampler2D;");src.push("precision highp isampler2D;");src.push("precision highp sampler2D;");src.push("#else");src.push("precision mediump float;");src.push("precision mediump int;");src.push("precision mediump usampler2D;");src.push("precision mediump isampler2D;");src.push("precision mediump sampler2D;");src.push("#endif");src.push("uniform int renderPass;");src.push("in vec4 pickColor;");src.push("in vec3 position;");if(scene.entityOffsetsEnabled){src.push("in vec3 offset;");}src.push("in float flags;");src.push("in vec4 modelMatrixCol0;");// Modeling matrix src.push("in vec4 modelMatrixCol1;");src.push("in vec4 modelMatrixCol2;");src.push("uniform bool pickInvisible;");this._addMatricesUniformBlockLines(src);src.push("uniform vec3 uCameraEyeRtc;");src.push("uniform vec2 snapVectorA;");src.push("uniform vec2 snapInvVectorAB;");{src.push("uniform float logDepthBufFC;");src.push("out float vFragDepth;");src.push("bool isPerspectiveMatrix(mat4 m) {");src.push(" return (m[2][3] == - 1.0);");src.push("}");src.push("out float isPerspective;");}src.push("vec2 remapClipPos(vec2 clipPos) {");src.push(" float x = (clipPos.x - snapVectorA.x) * snapInvVectorAB.x;");src.push(" float y = (clipPos.y - snapVectorA.y) * snapInvVectorAB.y;");src.push(" return vec2(x, y);");src.push("}");src.push("flat out vec4 vPickColor;");src.push("out vec4 vWorldPosition;");if(clipping){src.push("out float vFlags;");}src.push("out highp vec3 relativeToOriginPosition;");src.push("void main(void) {");// pickFlag = NOT_RENDERED | PICK // renderPass = PICK src.push("int pickFlag = int(flags) >> 12 & 0xF;");src.push("if (pickFlag != renderPass) {");src.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);");// Cull vertex -src.push("} else {");src.push(" vec4 worldPosition = positionsDecodeMatrix * vec4(position, 1.0); ");src.push(" worldPosition = worldMatrix * vec4(dot(worldPosition, modelMatrixCol0), dot(worldPosition, modelMatrixCol1), dot(worldPosition, modelMatrixCol2), 1.0);");if(scene.entityOffsetsEnabled){src.push(" worldPosition.xyz = worldPosition.xyz + offset;");}src.push("relativeToOriginPosition = worldPosition.xyz;");src.push(" vec4 viewPosition = viewMatrix * worldPosition; ");src.push(" vWorldPosition = worldPosition;");if(clipping){src.push(" vFlags = flags;");}src.push("vPickColor = pickColor;");src.push("vec4 clipPos = projMatrix * viewPosition;");src.push("float tmp = clipPos.w;");src.push("clipPos.xyzw /= tmp;");src.push("clipPos.xy = remapClipPos(clipPos.xy);");src.push("clipPos.xyzw *= tmp;");{src.push("vFragDepth = 1.0 + clipPos.w;");src.push("isPerspective = float (isPerspectiveMatrix(projMatrix));");}src.push("gl_Position = clipPos;");src.push("}");src.push("}");return src;}},{key:"_buildFragmentShader",value:function _buildFragmentShader(){var scene=this._scene;var sectionPlanesState=scene._sectionPlanesState;var clipping=sectionPlanesState.getNumAllocatedSectionPlanes()>0;var src=[];src.push('#version 300 es');src.push("// Points instancing pick depth fragment shader");src.push("#ifdef GL_FRAGMENT_PRECISION_HIGH");src.push("precision highp float;");src.push("precision highp int;");src.push("#else");src.push("precision mediump float;");src.push("precision mediump int;");src.push("#endif");{src.push("in float isPerspective;");src.push("uniform float logDepthBufFC;");src.push("in float vFragDepth;");}src.push("uniform int layerNumber;");src.push("uniform vec3 coordinateScaler;");src.push("in vec4 vWorldPosition;");src.push("flat in vec4 vPickColor;");if(clipping){src.push("in float vFlags;");for(var _i253=0;_i253> 16 & 0xF) == 1;");src.push(" if (clippable) {");src.push(" float dist = 0.0;");for(var _i254=0;_i254 0.0) { discard; }");src.push("}");}{src.push(" float dx = dFdx(vFragDepth);");src.push(" float dy = dFdy(vFragDepth);");src.push(" float diff = sqrt(dx*dx+dy*dy);");src.push(" gl_FragDepth = isPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth + diff ) * logDepthBufFC * 0.5;");}src.push("outCoords = ivec4(relativeToOriginPosition.xyz*coordinateScaler.xyz, -layerNumber);");src.push("vec3 xTangent = dFdx( vWorldPosition.xyz );");src.push("vec3 yTangent = dFdy( vWorldPosition.xyz );");src.push("vec3 worldNormal = normalize( cross( xTangent, yTangent ) );");src.push("outNormal = ivec4(worldNormal * float(".concat(math.MAX_INT,"), 1.0);"));src.push("outPickColor = uvec4(vPickColor);");src.push("}");return src;}},{key:"webglContextRestored",value:function webglContextRestored(){this._program=null;}},{key:"destroy",value:function destroy(){if(this._program){this._program.destroy();}this._program=null;}}]);return SnapInstancingDepthBufInitRenderer;}(VBOSceneModelRenderer);var tempVec3a$m=math.vec3();var tempVec3b$i=math.vec3();var tempVec3c$f=math.vec3();var tempVec3d$4=math.vec3();var tempMat4a$d=math.mat4();/** +src.push("} else {");src.push(" vec4 worldPosition = positionsDecodeMatrix * vec4(position, 1.0); ");src.push(" worldPosition = worldMatrix * vec4(dot(worldPosition, modelMatrixCol0), dot(worldPosition, modelMatrixCol1), dot(worldPosition, modelMatrixCol2), 1.0);");if(scene.entityOffsetsEnabled){src.push(" worldPosition.xyz = worldPosition.xyz + offset;");}src.push("relativeToOriginPosition = worldPosition.xyz;");src.push(" vec4 viewPosition = viewMatrix * worldPosition; ");src.push(" vWorldPosition = worldPosition;");if(clipping){src.push(" vFlags = flags;");}src.push("vPickColor = pickColor;");src.push("vec4 clipPos = projMatrix * viewPosition;");src.push("float tmp = clipPos.w;");src.push("clipPos.xyzw /= tmp;");src.push("clipPos.xy = remapClipPos(clipPos.xy);");src.push("clipPos.xyzw *= tmp;");{src.push("vFragDepth = 1.0 + clipPos.w;");src.push("isPerspective = float (isPerspectiveMatrix(projMatrix));");}src.push("gl_Position = clipPos;");src.push("}");src.push("}");return src;}},{key:"_buildFragmentShader",value:function _buildFragmentShader(){var scene=this._scene;var sectionPlanesState=scene._sectionPlanesState;var clipping=sectionPlanesState.getNumAllocatedSectionPlanes()>0;var src=[];src.push('#version 300 es');src.push("// Points instancing pick depth fragment shader");src.push("#ifdef GL_FRAGMENT_PRECISION_HIGH");src.push("precision highp float;");src.push("precision highp int;");src.push("#else");src.push("precision mediump float;");src.push("precision mediump int;");src.push("#endif");{src.push("in float isPerspective;");src.push("uniform float logDepthBufFC;");src.push("in float vFragDepth;");}src.push("uniform int layerNumber;");src.push("uniform vec3 coordinateScaler;");src.push("in vec4 vWorldPosition;");src.push("flat in vec4 vPickColor;");if(clipping){src.push("in float vFlags;");for(var _i254=0;_i254> 16 & 0xF) == 1;");src.push(" if (clippable) {");src.push(" float dist = 0.0;");for(var _i255=0;_i255 0.0) { discard; }");src.push("}");}{src.push(" float dx = dFdx(vFragDepth);");src.push(" float dy = dFdy(vFragDepth);");src.push(" float diff = sqrt(dx*dx+dy*dy);");src.push(" gl_FragDepth = isPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth + diff ) * logDepthBufFC * 0.5;");}src.push("outCoords = ivec4(relativeToOriginPosition.xyz*coordinateScaler.xyz, -layerNumber);");src.push("vec3 xTangent = dFdx( vWorldPosition.xyz );");src.push("vec3 yTangent = dFdy( vWorldPosition.xyz );");src.push("vec3 worldNormal = normalize( cross( xTangent, yTangent ) );");src.push("outNormal = ivec4(worldNormal * float(".concat(math.MAX_INT,"), 1.0);"));src.push("outPickColor = uvec4(vPickColor);");src.push("}");return src;}},{key:"webglContextRestored",value:function webglContextRestored(){this._program=null;}},{key:"destroy",value:function destroy(){if(this._program){this._program.destroy();}this._program=null;}}]);return SnapInstancingDepthBufInitRenderer;}(VBOSceneModelRenderer);var tempVec3a$m=math.vec3();var tempVec3b$i=math.vec3();var tempVec3c$f=math.vec3();var tempVec3d$4=math.vec3();var tempMat4a$d=math.mat4();/** * @private - */var SnapInstancingDepthRenderer=/*#__PURE__*/function(_VBOSceneModelRendere10){_inherits(SnapInstancingDepthRenderer,_VBOSceneModelRendere10);var _super107=_createSuper(SnapInstancingDepthRenderer);function SnapInstancingDepthRenderer(scene){_classCallCheck(this,SnapInstancingDepthRenderer);return _super107.call(this,scene,false,{instancing:true});}_createClass(SnapInstancingDepthRenderer,[{key:"drawLayer",value:function drawLayer(frameCtx,instancingLayer,renderPass){if(!this._program){this._allocate(instancingLayer);if(this.errors){return;}}if(frameCtx.lastProgramId!==this._program.id){frameCtx.lastProgramId=this._program.id;this._bindProgram();}var model=instancingLayer.model;var scene=model.scene;var camera=scene.camera;var gl=scene.canvas.gl;var state=instancingLayer._state;var origin=instancingLayer._state.origin;var position=model.position,rotationMatrix=model.rotationMatrix,rotationMatrixConjugate=model.rotationMatrixConjugate;var aabb=model.aabb;var viewMatrix=frameCtx.pickViewMatrix||camera.viewMatrix;if(this._vaoCache.has(instancingLayer)){gl.bindVertexArray(this._vaoCache.get(instancingLayer));}else{this._vaoCache.set(instancingLayer,this._makeVAO(state));}var coordinateScaler=tempVec3a$m;coordinateScaler[0]=math.safeInv(aabb[3]-aabb[0])*math.MAX_INT;coordinateScaler[1]=math.safeInv(aabb[4]-aabb[1])*math.MAX_INT;coordinateScaler[2]=math.safeInv(aabb[5]-aabb[2])*math.MAX_INT;frameCtx.snapPickCoordinateScale[0]=math.safeInv(coordinateScaler[0]);frameCtx.snapPickCoordinateScale[1]=math.safeInv(coordinateScaler[1]);frameCtx.snapPickCoordinateScale[2]=math.safeInv(coordinateScaler[2]);var rtcViewMatrix;var rtcCameraEye;if(origin||position[0]!==0||position[1]!==0||position[2]!==0){var rtcOrigin=tempVec3b$i;if(origin){var rotatedOrigin=math.transformPoint3(rotationMatrix,origin,tempVec3c$f);rtcOrigin[0]=rotatedOrigin[0];rtcOrigin[1]=rotatedOrigin[1];rtcOrigin[2]=rotatedOrigin[2];}else{rtcOrigin[0]=0;rtcOrigin[1]=0;rtcOrigin[2]=0;}rtcOrigin[0]+=position[0];rtcOrigin[1]+=position[1];rtcOrigin[2]+=position[2];rtcViewMatrix=createRTCViewMat(viewMatrix,rtcOrigin,tempMat4a$d);rtcCameraEye=tempVec3d$4;rtcCameraEye[0]=camera.eye[0]-rtcOrigin[0];rtcCameraEye[1]=camera.eye[1]-rtcOrigin[1];rtcCameraEye[2]=camera.eye[2]-rtcOrigin[2];frameCtx.snapPickOrigin[0]=rtcOrigin[0];frameCtx.snapPickOrigin[1]=rtcOrigin[1];frameCtx.snapPickOrigin[2]=rtcOrigin[2];}else{rtcViewMatrix=viewMatrix;rtcCameraEye=camera.eye;frameCtx.snapPickOrigin[0]=0;frameCtx.snapPickOrigin[1]=0;frameCtx.snapPickOrigin[2]=0;}gl.uniform3fv(this._uCameraEyeRtc,rtcCameraEye);gl.uniform2fv(this.uVectorA,frameCtx.snapVectorA);gl.uniform2fv(this.uInverseVectorAB,frameCtx.snapInvVectorAB);gl.uniform1i(this._uLayerNumber,frameCtx.snapPickLayerNumber);gl.uniform3fv(this._uCoordinateScaler,coordinateScaler);gl.uniform1i(this._uRenderPass,renderPass);gl.uniform1i(this._uPickInvisible,frameCtx.pickInvisible);var offset=0;var mat4Size=4*4;this._matricesUniformBlockBufferData.set(rotationMatrixConjugate,0);this._matricesUniformBlockBufferData.set(rtcViewMatrix,offset+=mat4Size);this._matricesUniformBlockBufferData.set(camera.projMatrix,offset+=mat4Size);this._matricesUniformBlockBufferData.set(state.positionsDecodeMatrix,offset+=mat4Size);gl.bindBuffer(gl.UNIFORM_BUFFER,this._matricesUniformBlockBuffer);gl.bufferData(gl.UNIFORM_BUFFER,this._matricesUniformBlockBufferData,gl.DYNAMIC_DRAW);gl.bindBufferBase(gl.UNIFORM_BUFFER,this._matricesUniformBlockBufferBindingPoint,this._matricesUniformBlockBuffer);{var logDepthBufFC=2.0/(Math.log(frameCtx.pickZFar+1.0)/Math.LN2);// TODO: Far from pick project matrix + */var SnapInstancingDepthRenderer=/*#__PURE__*/function(_VBOSceneModelRendere10){_inherits(SnapInstancingDepthRenderer,_VBOSceneModelRendere10);var _super107=_createSuper(SnapInstancingDepthRenderer);function SnapInstancingDepthRenderer(scene){_classCallCheck(this,SnapInstancingDepthRenderer);return _super107.call(this,scene,false,{instancing:true});}_createClass(SnapInstancingDepthRenderer,[{key:"drawLayer",value:function drawLayer(frameCtx,instancingLayer,renderPass){if(!this._program){this._allocate(instancingLayer);if(this.errors){return;}}if(frameCtx.lastProgramId!==this._program.id){frameCtx.lastProgramId=this._program.id;this._bindProgram();}var model=instancingLayer.model;var scene=model.scene;var camera=scene.camera;var gl=scene.canvas.gl;var state=instancingLayer._state;var origin=instancingLayer._state.origin;var position=model.position,rotationMatrix=model.rotationMatrix,rotationMatrixConjugate=model.rotationMatrixConjugate;var aabb=instancingLayer.aabb;// Per-layer AABB for best RTC accuracy +var viewMatrix=frameCtx.pickViewMatrix||camera.viewMatrix;if(this._vaoCache.has(instancingLayer)){gl.bindVertexArray(this._vaoCache.get(instancingLayer));}else{this._vaoCache.set(instancingLayer,this._makeVAO(state));}var coordinateScaler=tempVec3a$m;coordinateScaler[0]=math.safeInv(aabb[3]-aabb[0])*math.MAX_INT;coordinateScaler[1]=math.safeInv(aabb[4]-aabb[1])*math.MAX_INT;coordinateScaler[2]=math.safeInv(aabb[5]-aabb[2])*math.MAX_INT;frameCtx.snapPickCoordinateScale[0]=math.safeInv(coordinateScaler[0]);frameCtx.snapPickCoordinateScale[1]=math.safeInv(coordinateScaler[1]);frameCtx.snapPickCoordinateScale[2]=math.safeInv(coordinateScaler[2]);var rtcViewMatrix;var rtcCameraEye;if(origin||position[0]!==0||position[1]!==0||position[2]!==0){var rtcOrigin=tempVec3b$i;if(origin){var rotatedOrigin=math.transformPoint3(rotationMatrix,origin,tempVec3c$f);rtcOrigin[0]=rotatedOrigin[0];rtcOrigin[1]=rotatedOrigin[1];rtcOrigin[2]=rotatedOrigin[2];}else{rtcOrigin[0]=0;rtcOrigin[1]=0;rtcOrigin[2]=0;}rtcOrigin[0]+=position[0];rtcOrigin[1]+=position[1];rtcOrigin[2]+=position[2];rtcViewMatrix=createRTCViewMat(viewMatrix,rtcOrigin,tempMat4a$d);rtcCameraEye=tempVec3d$4;rtcCameraEye[0]=camera.eye[0]-rtcOrigin[0];rtcCameraEye[1]=camera.eye[1]-rtcOrigin[1];rtcCameraEye[2]=camera.eye[2]-rtcOrigin[2];frameCtx.snapPickOrigin[0]=rtcOrigin[0];frameCtx.snapPickOrigin[1]=rtcOrigin[1];frameCtx.snapPickOrigin[2]=rtcOrigin[2];}else{rtcViewMatrix=viewMatrix;rtcCameraEye=camera.eye;frameCtx.snapPickOrigin[0]=0;frameCtx.snapPickOrigin[1]=0;frameCtx.snapPickOrigin[2]=0;}gl.uniform3fv(this._uCameraEyeRtc,rtcCameraEye);gl.uniform2fv(this.uVectorA,frameCtx.snapVectorA);gl.uniform2fv(this.uInverseVectorAB,frameCtx.snapInvVectorAB);gl.uniform1i(this._uLayerNumber,frameCtx.snapPickLayerNumber);gl.uniform3fv(this._uCoordinateScaler,coordinateScaler);gl.uniform1i(this._uRenderPass,renderPass);gl.uniform1i(this._uPickInvisible,frameCtx.pickInvisible);var offset=0;var mat4Size=4*4;this._matricesUniformBlockBufferData.set(rotationMatrixConjugate,0);this._matricesUniformBlockBufferData.set(rtcViewMatrix,offset+=mat4Size);this._matricesUniformBlockBufferData.set(camera.projMatrix,offset+=mat4Size);this._matricesUniformBlockBufferData.set(state.positionsDecodeMatrix,offset+=mat4Size);gl.bindBuffer(gl.UNIFORM_BUFFER,this._matricesUniformBlockBuffer);gl.bufferData(gl.UNIFORM_BUFFER,this._matricesUniformBlockBufferData,gl.DYNAMIC_DRAW);gl.bindBufferBase(gl.UNIFORM_BUFFER,this._matricesUniformBlockBufferBindingPoint,this._matricesUniformBlockBuffer);{var logDepthBufFC=2.0/(Math.log(frameCtx.pickZFar+1.0)/Math.LN2);// TODO: Far from pick project matrix gl.uniform1f(this._uLogDepthBufFC,logDepthBufFC);}this.setSectionPlanesStateUniforms(instancingLayer);this._aModelMatrixCol0.bindArrayBuffer(state.modelMatrixCol0Buf);this._aModelMatrixCol1.bindArrayBuffer(state.modelMatrixCol1Buf);this._aModelMatrixCol2.bindArrayBuffer(state.modelMatrixCol2Buf);gl.vertexAttribDivisor(this._aModelMatrixCol0.location,1);gl.vertexAttribDivisor(this._aModelMatrixCol1.location,1);gl.vertexAttribDivisor(this._aModelMatrixCol2.location,1);this._aFlags.bindArrayBuffer(state.flagsBuf);gl.vertexAttribDivisor(this._aFlags.location,1);if(frameCtx.snapMode==="edge"){state.edgeIndicesBuf.bind();gl.drawElementsInstanced(gl.LINES,state.edgeIndicesBuf.numItems,state.edgeIndicesBuf.itemType,0,state.numInstances);state.edgeIndicesBuf.unbind();// needed? }else{gl.drawArraysInstanced(gl.POINTS,0,state.positionsBuf.numItems,state.numInstances);}// Cleanup gl.vertexAttribDivisor(this._aModelMatrixCol0.location,0);gl.vertexAttribDivisor(this._aModelMatrixCol1.location,0);gl.vertexAttribDivisor(this._aModelMatrixCol2.location,0);gl.vertexAttribDivisor(this._aFlags.location,0);if(this._aOffset){gl.vertexAttribDivisor(this._aOffset.location,0);}}},{key:"_allocate",value:function _allocate(){_get(_getPrototypeOf(SnapInstancingDepthRenderer.prototype),"_allocate",this).call(this);var program=this._program;{this._uLogDepthBufFC=program.getLocation("logDepthBufFC");}this._uCameraEyeRtc=program.getLocation("uCameraEyeRtc");this.uVectorA=program.getLocation("snapVectorA");this.uInverseVectorAB=program.getLocation("snapInvVectorAB");this._uLayerNumber=program.getLocation("layerNumber");this._uCoordinateScaler=program.getLocation("coordinateScaler");}},{key:"_bindProgram",value:function _bindProgram(){this._program.bind();}},{key:"_buildVertexShader",value:function _buildVertexShader(){var scene=this._scene;var sectionPlanesState=scene._sectionPlanesState;var clipping=sectionPlanesState.getNumAllocatedSectionPlanes()>0;var src=[];src.push('#version 300 es');src.push("// SnapInstancingDepthRenderer vertex shader");src.push("#ifdef GL_FRAGMENT_PRECISION_HIGH");src.push("precision highp float;");src.push("precision highp int;");src.push("precision highp usampler2D;");src.push("precision highp isampler2D;");src.push("precision highp sampler2D;");src.push("#else");src.push("precision mediump float;");src.push("precision mediump int;");src.push("precision mediump usampler2D;");src.push("precision mediump isampler2D;");src.push("precision mediump sampler2D;");src.push("#endif");src.push("uniform int renderPass;");src.push("in vec3 position;");if(scene.entityOffsetsEnabled){src.push("in vec3 offset;");}src.push("in float flags;");src.push("in vec4 modelMatrixCol0;");// Modeling matrix @@ -17678,7 +17683,7 @@ src.push("in vec4 modelMatrixCol1;");src.push("in vec4 modelMatrixCol2;");src.pu // renderPass = PICK src.push("int pickFlag = int(flags) >> 12 & 0xF;");src.push("if (pickFlag != renderPass) {");src.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);");// Cull vertex src.push("} else {");src.push(" vec4 worldPosition = positionsDecodeMatrix * vec4(position, 1.0); ");src.push(" worldPosition = worldMatrix * vec4(dot(worldPosition, modelMatrixCol0), dot(worldPosition, modelMatrixCol1), dot(worldPosition, modelMatrixCol2), 1.0);");if(scene.entityOffsetsEnabled){src.push(" worldPosition.xyz = worldPosition.xyz + offset;");}src.push("relativeToOriginPosition = worldPosition.xyz;");src.push(" vec4 viewPosition = viewMatrix * worldPosition; ");if(clipping){src.push(" vWorldPosition = worldPosition;");src.push(" vFlags = flags;");}src.push("vec4 clipPos = projMatrix * viewPosition;");src.push("float tmp = clipPos.w;");src.push("clipPos.xyzw /= tmp;");src.push("clipPos.xy = remapClipPos(clipPos.xy);");src.push("clipPos.xyzw *= tmp;");{src.push("vFragDepth = 1.0 + clipPos.w;");src.push("isPerspective = float (isPerspectiveMatrix(projMatrix));");}src.push("gl_Position = clipPos;");src.push("gl_PointSize = 1.0;");// Windows needs this? -src.push("}");src.push("}");return src;}},{key:"_buildFragmentShader",value:function _buildFragmentShader(){var scene=this._scene;var sectionPlanesState=scene._sectionPlanesState;var clipping=sectionPlanesState.getNumAllocatedSectionPlanes()>0;var src=[];src.push('#version 300 es');src.push("// SnapInstancingDepthRenderer fragment shader");src.push("#ifdef GL_FRAGMENT_PRECISION_HIGH");src.push("precision highp float;");src.push("precision highp int;");src.push("#else");src.push("precision mediump float;");src.push("precision mediump int;");src.push("#endif");{src.push("in float isPerspective;");src.push("uniform float logDepthBufFC;");src.push("in float vFragDepth;");}src.push("uniform int layerNumber;");src.push("uniform vec3 coordinateScaler;");if(clipping){src.push("in vec4 vWorldPosition;");src.push("in float vFlags;");for(var _i255=0;_i255> 16 & 0xF) == 1;");src.push(" if (clippable) {");src.push(" float dist = 0.0;");for(var _i256=0;_i256 0.0) { discard; }");src.push("}");}{src.push(" gl_FragDepth = isPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5;");}src.push("outCoords = ivec4(relativeToOriginPosition.xyz*coordinateScaler.xyz, layerNumber);");src.push("}");return src;}},{key:"webglContextRestored",value:function webglContextRestored(){this._program=null;}},{key:"destroy",value:function destroy(){if(this._program){this._program.destroy();}this._program=null;}}]);return SnapInstancingDepthRenderer;}(VBOSceneModelRenderer);/** +src.push("}");src.push("}");return src;}},{key:"_buildFragmentShader",value:function _buildFragmentShader(){var scene=this._scene;var sectionPlanesState=scene._sectionPlanesState;var clipping=sectionPlanesState.getNumAllocatedSectionPlanes()>0;var src=[];src.push('#version 300 es');src.push("// SnapInstancingDepthRenderer fragment shader");src.push("#ifdef GL_FRAGMENT_PRECISION_HIGH");src.push("precision highp float;");src.push("precision highp int;");src.push("#else");src.push("precision mediump float;");src.push("precision mediump int;");src.push("#endif");{src.push("in float isPerspective;");src.push("uniform float logDepthBufFC;");src.push("in float vFragDepth;");}src.push("uniform int layerNumber;");src.push("uniform vec3 coordinateScaler;");if(clipping){src.push("in vec4 vWorldPosition;");src.push("in float vFlags;");for(var _i256=0;_i256> 16 & 0xF) == 1;");src.push(" if (clippable) {");src.push(" float dist = 0.0;");for(var _i257=0;_i257 0.0) { discard; }");src.push("}");}{src.push(" gl_FragDepth = isPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5;");}src.push("outCoords = ivec4(relativeToOriginPosition.xyz*coordinateScaler.xyz, layerNumber);");src.push("}");return src;}},{key:"webglContextRestored",value:function webglContextRestored(){this._program=null;}},{key:"destroy",value:function destroy(){if(this._program){this._program.destroy();}this._program=null;}}]);return SnapInstancingDepthRenderer;}(VBOSceneModelRenderer);/** * @private */var SnapInstancingRenderers=/*#__PURE__*/function(){function SnapInstancingRenderers(scene){_classCallCheck(this,SnapInstancingRenderers);this._scene=scene;}_createClass(SnapInstancingRenderers,[{key:"_compile",value:function _compile(){if(this._snapDepthBufInitRenderer&&!this._snapDepthBufInitRenderer.getValid()){this._snapDepthBufInitRenderer.destroy();this._snapDepthBufInitRenderer=null;}if(this._snapDepthRenderer&&!this._snapDepthRenderer.getValid()){this._snapDepthRenderer.destroy();this._snapDepthRenderer=null;}}},{key:"eagerCreateRenders",value:function eagerCreateRenders(){// Pre-initialize renderers that would otherwise be lazy-initialised // on user interaction, such as picking or emphasis, so that there is no delay @@ -17710,19 +17715,20 @@ colorsBuf:null,metallicRoughnessBuf:null,flagsBuf:null,offsetsBuf:null,modelMatr this._numPortions=0;this._numVisibleLayerPortions=0;this._numTransparentLayerPortions=0;this._numXRayedLayerPortions=0;this._numHighlightedLayerPortions=0;this._numSelectedLayerPortions=0;this._numClippableLayerPortions=0;this._numEdgesLayerPortions=0;this._numPickableLayerPortions=0;this._numCulledLayerPortions=0;/** @private */this.numIndices=cfg.geometry.numIndices;// Vertex arrays this._colors=[];this._metallicRoughness=[];this._pickColors=[];this._offsets=[];// Modeling matrix per instance, array for each column this._modelMatrix=[];this._modelMatrixCol0=[];this._modelMatrixCol1=[];this._modelMatrixCol2=[];// Modeling normal matrix per instance, array for each column -this._modelNormalMatrixCol0=[];this._modelNormalMatrixCol1=[];this._modelNormalMatrixCol2=[];this._portions=[];if(cfg.origin){this._state.origin.set(cfg.origin);}this._finalized=false;/** +this._modelNormalMatrixCol0=[];this._modelNormalMatrixCol1=[];this._modelNormalMatrixCol2=[];this._portions=[];this._meshes=[];this._aabb=math.collapseAABB3();this.aabbDirty=true;if(cfg.origin){this._state.origin.set(cfg.origin);}this._finalized=false;/** * When true, this layer contains solid triangle meshes, otherwise this layer contains surface triangle meshes * @type {boolean} */this.solid=!!cfg.solid;/** * The number of indices in this layer. * @type {number|*} - */this.numIndices=cfg.geometry.numIndices;}/** + */this.numIndices=cfg.geometry.numIndices;}_createClass(TrianglesInstancingLayer,[{key:"aabb",get:function get(){if(this.aabbDirty){math.collapseAABB3(this._aabb);for(var _i258=0,len=this._meshes.length;_i2580){var notNormalized=false;state.colorsBuf=new ArrayBuf(gl,gl.ARRAY_BUFFER,new Uint8Array(this._colors),this._colors.length,4,gl.DYNAMIC_DRAW,notNormalized);this._colors=[];// Release memory +}this._portions.push(portion);this._numPortions++;this.model.numPortions++;this._meshes.push(mesh);return portionId;}},{key:"finalize",value:function finalize(){if(this._finalized){return;}var state=this._state;var geometry=state.geometry;var textureSet=state.textureSet;var gl=this.model.scene.canvas.gl;var colorsLength=this._colors.length;var flagsLength=colorsLength/4;if(colorsLength>0){var notNormalized=false;state.colorsBuf=new ArrayBuf(gl,gl.ARRAY_BUFFER,new Uint8Array(this._colors),this._colors.length,4,gl.DYNAMIC_DRAW,notNormalized);this._colors=[];// Release memory }if(this._metallicRoughness.length>0){var metallicRoughness=new Uint8Array(this._metallicRoughness);var normalized=false;state.metallicRoughnessBuf=new ArrayBuf(gl,gl.ARRAY_BUFFER,metallicRoughness,this._metallicRoughness.length,2,gl.STATIC_DRAW,normalized);}if(flagsLength>0){// Because we only build flags arrays here, // get their length from the colors array var _notNormalized3=false;state.flagsBuf=new ArrayBuf(gl,gl.ARRAY_BUFFER,new Float32Array(flagsLength),flagsLength,1,gl.DYNAMIC_DRAW,_notNormalized3);}if(this.model.scene.entityOffsetsEnabled){if(this._offsets.length>0){var _notNormalized4=false;state.offsetsBuf=new ArrayBuf(gl,gl.ARRAY_BUFFER,new Float32Array(this._offsets),this._offsets.length,3,gl.DYNAMIC_DRAW,_notNormalized4);this._offsets=[];// Release memory @@ -17782,7 +17788,7 @@ if(!this._finalized){throw"Not finalized";}tempUint8Vec4$2[0]=color[0];tempUint8 /** * flags are 4bits values encoded on a 32bit base. color flag on the first 4 bits, silhouette flag on the next 4 bits and so on for edge, pick and clippable. */},{key:"_setFlags",value:function _setFlags(portionId,flags,meshTransparent){if(!this._finalized){throw"Not finalized";}var visible=!!(flags&ENTITY_FLAGS.VISIBLE);var xrayed=!!(flags&ENTITY_FLAGS.XRAYED);var highlighted=!!(flags&ENTITY_FLAGS.HIGHLIGHTED);var selected=!!(flags&ENTITY_FLAGS.SELECTED);var edges=!!(flags&ENTITY_FLAGS.EDGES);var pickable=!!(flags&ENTITY_FLAGS.PICKABLE);var culled=!!(flags&ENTITY_FLAGS.CULLED);var colorFlag;if(!visible||culled||xrayed||highlighted&&!this.model.scene.highlightMaterial.glowThrough||selected&&!this.model.scene.selectedMaterial.glowThrough){colorFlag=RENDER_PASSES.NOT_RENDERED;}else{if(meshTransparent){colorFlag=RENDER_PASSES.COLOR_TRANSPARENT;}else{colorFlag=RENDER_PASSES.COLOR_OPAQUE;}}var silhouetteFlag;if(!visible||culled){silhouetteFlag=RENDER_PASSES.NOT_RENDERED;}else if(selected){silhouetteFlag=RENDER_PASSES.SILHOUETTE_SELECTED;}else if(highlighted){silhouetteFlag=RENDER_PASSES.SILHOUETTE_HIGHLIGHTED;}else if(xrayed){silhouetteFlag=RENDER_PASSES.SILHOUETTE_XRAYED;}else{silhouetteFlag=RENDER_PASSES.NOT_RENDERED;}var edgeFlag=0;if(!visible||culled){edgeFlag=RENDER_PASSES.NOT_RENDERED;}else if(selected){edgeFlag=RENDER_PASSES.EDGES_SELECTED;}else if(highlighted){edgeFlag=RENDER_PASSES.EDGES_HIGHLIGHTED;}else if(xrayed){edgeFlag=RENDER_PASSES.EDGES_XRAYED;}else if(edges){if(meshTransparent){edgeFlag=RENDER_PASSES.EDGES_COLOR_TRANSPARENT;}else{edgeFlag=RENDER_PASSES.EDGES_COLOR_OPAQUE;}}else{edgeFlag=RENDER_PASSES.NOT_RENDERED;}var pickFlag=visible&&!culled&&pickable?RENDER_PASSES.PICK:RENDER_PASSES.NOT_RENDERED;var clippableFlag=!!(flags&ENTITY_FLAGS.CLIPPABLE)?1:0;var vertFlag=0;vertFlag|=colorFlag;vertFlag|=silhouetteFlag<<4;vertFlag|=edgeFlag<<8;vertFlag|=pickFlag<<12;vertFlag|=clippableFlag<<16;tempFloat32$2[0]=vertFlag;if(this._state.flagsBuf){this._state.flagsBuf.setData(tempFloat32$2,portionId);}}},{key:"setOffset",value:function setOffset(portionId,offset){if(!this._finalized){throw"Not finalized";}if(!this.model.scene.entityOffsetsEnabled){this.model.error("Entity#offset not enabled for this Viewer");// See Viewer entityOffsetsEnabled -return;}tempVec3fa$2[0]=offset[0];tempVec3fa$2[1]=offset[1];tempVec3fa$2[2]=offset[2];if(this._state.offsetsBuf){this._state.offsetsBuf.setData(tempVec3fa$2,portionId*3);}}},{key:"getEachVertex",value:function getEachVertex(portionId,callback){if(!this.model.scene.pickSurfacePrecisionEnabled){return false;}var state=this._state;var geometry=state.geometry;var portion=this._portions[portionId];if(!portion){this.model.error("portion not found: "+portionId);return;}var positions=geometry.quantizedPositions;var origin=state.origin;var offset=portion.offset;var offsetX=origin[0]+offset[0];var offsetY=origin[1]+offset[1];var offsetZ=origin[2]+offset[2];var worldPos=tempVec4a$6;var portionMatrix=portion.matrix;var sceneModelPatrix=this.model.sceneModelMatrix;var positionsDecodeMatrix=state.positionsDecodeMatrix;for(var _i257=0,len=positions.length;_i257 RTC -rtcRayDir.set(worldRayDir);if(offset){math.subVec3(rtcRayOrigin,offset);}math.transformRay(this.model.worldNormalMatrix,rtcRayOrigin,rtcRayDir,rtcRayOrigin,rtcRayDir);math.transformRay(portion.inverseMatrix,rtcRayOrigin,rtcRayDir,rtcRayOrigin,rtcRayDir);var a=tempVec3d$3;var b=tempVec3e;var c=tempVec3f;var gotIntersect=false;var closestDist=0;var closestIntersectPos=tempVec3g;for(var _i258=0,len=indices.length;_i258closestDist){closestDist=dist;worldSurfacePos.set(closestIntersectPos);if(worldNormal){// Not that wasteful to eagerly compute - unlikely to hit >2 surfaces on most geometry +rtcRayDir.set(worldRayDir);if(offset){math.subVec3(rtcRayOrigin,offset);}math.transformRay(this.model.worldNormalMatrix,rtcRayOrigin,rtcRayDir,rtcRayOrigin,rtcRayDir);math.transformRay(portion.inverseMatrix,rtcRayOrigin,rtcRayDir,rtcRayOrigin,rtcRayDir);var a=tempVec3d$3;var b=tempVec3e;var c=tempVec3f;var gotIntersect=false;var closestDist=0;var closestIntersectPos=tempVec3g;for(var _i260=0,len=indices.length;_i260closestDist){closestDist=dist;worldSurfacePos.set(closestIntersectPos);if(worldNormal){// Not that wasteful to eagerly compute - unlikely to hit >2 surfaces on most geometry math.triangleNormal(a,b,c,worldNormal);}gotIntersect=true;}}}if(gotIntersect&&worldNormal){math.transformVec3(portion.normalMatrix,worldNormal,worldNormal);math.transformVec3(this.model.worldNormalMatrix,worldNormal,worldNormal);math.normalizeVec3(worldNormal);}return gotIntersect;}},{key:"destroy",value:function destroy(){var state=this._state;if(state.colorsBuf){state.colorsBuf.destroy();state.colorsBuf=null;}if(state.metallicRoughnessBuf){state.metallicRoughnessBuf.destroy();state.metallicRoughnessBuf=null;}if(state.flagsBuf){state.flagsBuf.destroy();state.flagsBuf=null;}if(state.offsetsBuf){state.offsetsBuf.destroy();state.offsetsBuf=null;}if(state.modelMatrixCol0Buf){state.modelMatrixCol0Buf.destroy();state.modelMatrixCol0Buf=null;}if(state.modelMatrixCol1Buf){state.modelMatrixCol1Buf.destroy();state.modelMatrixCol1Buf=null;}if(state.modelMatrixCol2Buf){state.modelMatrixCol2Buf.destroy();state.modelMatrixCol2Buf=null;}if(state.modelNormalMatrixCol0Buf){state.modelNormalMatrixCol0Buf.destroy();state.modelNormalMatrixCol0Buf=null;}if(state.modelNormalMatrixCol1Buf){state.modelNormalMatrixCol1Buf.destroy();state.modelNormalMatrixCol1Buf=null;}if(state.modelNormalMatrixCol2Buf){state.modelNormalMatrixCol2Buf.destroy();state.modelNormalMatrixCol2Buf=null;}if(state.pickColorsBuf){state.pickColorsBuf.destroy();state.pickColorsBuf=null;}state.destroy();this._state=null;}}]);return TrianglesInstancingLayer;}();/** * @private */var LinesBatchingColorRenderer=/*#__PURE__*/function(_VBOSceneModelLineBat){_inherits(LinesBatchingColorRenderer,_VBOSceneModelLineBat);var _super108=_createSuper(LinesBatchingColorRenderer);function LinesBatchingColorRenderer(){_classCallCheck(this,LinesBatchingColorRenderer);return _super108.apply(this,arguments);}_createClass(LinesBatchingColorRenderer,[{key:"drawLayer",value:function drawLayer(frameCtx,layer,renderPass){_get(_getPrototypeOf(LinesBatchingColorRenderer.prototype),"drawLayer",this).call(this,frameCtx,layer,renderPass,{incrementDrawState:true});}},{key:"_buildVertexShader",value:function _buildVertexShader(){var scene=this._scene;var sectionPlanesState=scene._sectionPlanesState;var clipping=sectionPlanesState.getNumAllocatedSectionPlanes()>0;var src=[];src.push('#version 300 es');src.push("// Lines batching color vertex shader");src.push("uniform int renderPass;");src.push("in vec3 position;");src.push("in vec4 color;");src.push("in float flags;");if(scene.entityOffsetsEnabled){src.push("in vec3 offset;");}this._addMatricesUniformBlockLines(src);if(scene.logarithmicDepthBufferEnabled){src.push("uniform float logDepthBufFC;");src.push("out float vFragDepth;");}if(clipping){src.push("out vec4 vWorldPosition;");src.push("out float vFlags;");}src.push("out vec4 vColor;");src.push("void main(void) {");// colorFlag = NOT_RENDERED | COLOR_OPAQUE | COLOR_TRANSPARENT // renderPass = COLOR_OPAQUE src.push("int colorFlag = int(flags) & 0xF;");src.push("if (colorFlag != renderPass) {");src.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);");// Cull vertex -src.push("} else {");src.push("vec4 worldPosition = worldMatrix * (positionsDecodeMatrix * vec4(position, 1.0)); ");if(scene.entityOffsetsEnabled){src.push("worldPosition.xyz = worldPosition.xyz + offset;");}src.push("vec4 viewPosition = viewMatrix * worldPosition; ");src.push("vColor = vec4(float(color.r) / 255.0, float(color.g) / 255.0, float(color.b) / 255.0, float(color.a) / 255.0);");if(clipping){src.push("vWorldPosition = worldPosition;");src.push("vFlags = flags;");}src.push("vec4 clipPos = projMatrix * viewPosition;");if(scene.logarithmicDepthBufferEnabled){src.push("vFragDepth = 1.0 + clipPos.w;");}src.push("gl_Position = clipPos;");src.push("}");src.push("}");return src;}},{key:"_buildFragmentShader",value:function _buildFragmentShader(){var scene=this._scene;var sectionPlanesState=scene._sectionPlanesState;var clipping=sectionPlanesState.getNumAllocatedSectionPlanes()>0;var src=[];src.push('#version 300 es');src.push("// Lines batching color fragment shader");src.push("#ifdef GL_FRAGMENT_PRECISION_HIGH");src.push("precision highp float;");src.push("precision highp int;");src.push("#else");src.push("precision mediump float;");src.push("precision mediump int;");src.push("#endif");if(scene.logarithmicDepthBufferEnabled){src.push("uniform float logDepthBufFC;");src.push("in float vFragDepth;");}if(clipping){src.push("in vec4 vWorldPosition;");src.push("in float vFlags;");for(var _i259=0,len=sectionPlanesState.getNumAllocatedSectionPlanes();_i259> 16 & 0xF) == 1;");src.push(" if (clippable) {");src.push(" float dist = 0.0;");for(var _i260=0,_len56=sectionPlanesState.getNumAllocatedSectionPlanes();_i260<_len56;_i260++){src.push("if (sectionPlaneActive"+_i260+") {");src.push(" dist += clamp(dot(-sectionPlaneDir"+_i260+".xyz, vWorldPosition.xyz - sectionPlanePos"+_i260+".xyz), 0.0, 1000.0);");src.push("}");}src.push(" if (dist > 0.0) { discard; }");src.push("}");}src.push(" outColor = vColor;");if(scene.logarithmicDepthBufferEnabled){src.push("gl_FragDepth = log2( vFragDepth ) * logDepthBufFC * 0.5;");}src.push("}");return src;}}]);return LinesBatchingColorRenderer;}(VBOSceneModelLineBatchingRenderer);/** +src.push("} else {");src.push("vec4 worldPosition = worldMatrix * (positionsDecodeMatrix * vec4(position, 1.0)); ");if(scene.entityOffsetsEnabled){src.push("worldPosition.xyz = worldPosition.xyz + offset;");}src.push("vec4 viewPosition = viewMatrix * worldPosition; ");src.push("vColor = vec4(float(color.r) / 255.0, float(color.g) / 255.0, float(color.b) / 255.0, float(color.a) / 255.0);");if(clipping){src.push("vWorldPosition = worldPosition;");src.push("vFlags = flags;");}src.push("vec4 clipPos = projMatrix * viewPosition;");if(scene.logarithmicDepthBufferEnabled){src.push("vFragDepth = 1.0 + clipPos.w;");}src.push("gl_Position = clipPos;");src.push("}");src.push("}");return src;}},{key:"_buildFragmentShader",value:function _buildFragmentShader(){var scene=this._scene;var sectionPlanesState=scene._sectionPlanesState;var clipping=sectionPlanesState.getNumAllocatedSectionPlanes()>0;var src=[];src.push('#version 300 es');src.push("// Lines batching color fragment shader");src.push("#ifdef GL_FRAGMENT_PRECISION_HIGH");src.push("precision highp float;");src.push("precision highp int;");src.push("#else");src.push("precision mediump float;");src.push("precision mediump int;");src.push("#endif");if(scene.logarithmicDepthBufferEnabled){src.push("uniform float logDepthBufFC;");src.push("in float vFragDepth;");}if(clipping){src.push("in vec4 vWorldPosition;");src.push("in float vFlags;");for(var _i261=0,len=sectionPlanesState.getNumAllocatedSectionPlanes();_i261> 16 & 0xF) == 1;");src.push(" if (clippable) {");src.push(" float dist = 0.0;");for(var _i262=0,_len56=sectionPlanesState.getNumAllocatedSectionPlanes();_i262<_len56;_i262++){src.push("if (sectionPlaneActive"+_i262+") {");src.push(" dist += clamp(dot(-sectionPlaneDir"+_i262+".xyz, vWorldPosition.xyz - sectionPlanePos"+_i262+".xyz), 0.0, 1000.0);");src.push("}");}src.push(" if (dist > 0.0) { discard; }");src.push("}");}src.push(" outColor = vColor;");if(scene.logarithmicDepthBufferEnabled){src.push("gl_FragDepth = log2( vFragDepth ) * logDepthBufFC * 0.5;");}src.push("}");return src;}}]);return LinesBatchingColorRenderer;}(VBOSceneModelLineBatchingRenderer);/** * @private */var LinesBatchingSilhouetteRenderer=/*#__PURE__*/function(_VBOSceneModelLineBat2){_inherits(LinesBatchingSilhouetteRenderer,_VBOSceneModelLineBat2);var _super109=_createSuper(LinesBatchingSilhouetteRenderer);function LinesBatchingSilhouetteRenderer(){_classCallCheck(this,LinesBatchingSilhouetteRenderer);return _super109.apply(this,arguments);}_createClass(LinesBatchingSilhouetteRenderer,[{key:"drawLayer",value:function drawLayer(frameCtx,batchingLayer,renderPass){_get(_getPrototypeOf(LinesBatchingSilhouetteRenderer.prototype),"drawLayer",this).call(this,frameCtx,batchingLayer,renderPass,{colorUniform:true});}},{key:"_buildVertexShader",value:function _buildVertexShader(){var scene=this._scene;var sectionPlanesState=scene._sectionPlanesState;var clipping=sectionPlanesState.getNumAllocatedSectionPlanes()>0;var src=[];src.push('#version 300 es');src.push("// Lines batching silhouette vertex shader");src.push("uniform int renderPass;");src.push("in vec3 position;");if(scene.entityOffsetsEnabled){src.push("in vec3 offset;");}src.push("in float flags;");this._addMatricesUniformBlockLines(src);src.push("uniform vec4 color;");if(scene.logarithmicDepthBufferEnabled){src.push("uniform float logDepthBufFC;");src.push("out float vFragDepth;");}if(clipping){src.push("out vec4 vWorldPosition;");src.push("out float vFlags;");}src.push("void main(void) {");// silhouetteFlag = NOT_RENDERED | SILHOUETTE_HIGHLIGHTED | SILHOUETTE_SELECTED | | SILHOUETTE_XRAYED // renderPass = SILHOUETTE_HIGHLIGHTED | SILHOUETTE_SELECTED | | SILHOUETTE_XRAYED src.push("int silhouetteFlag = int(flags) >> 4 & 0xF;");src.push("if (silhouetteFlag != renderPass) {");src.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);");// Cull vertex -src.push("} else {");src.push(" vec4 worldPosition = worldMatrix * (positionsDecodeMatrix * vec4(position, 1.0)); ");if(scene.entityOffsetsEnabled){src.push(" worldPosition.xyz = worldPosition.xyz + offset;");}src.push("vec4 viewPosition = viewMatrix * worldPosition; ");if(clipping){src.push("vWorldPosition = worldPosition;");src.push("vFlags = flags;");}src.push("vec4 clipPos = projMatrix * viewPosition;");if(scene.logarithmicDepthBufferEnabled){src.push("vFragDepth = 1.0 + clipPos.w;");}src.push("gl_Position = clipPos;");src.push("}");src.push("}");return src;}},{key:"_buildFragmentShader",value:function _buildFragmentShader(){var scene=this._scene;var sectionPlanesState=scene._sectionPlanesState;var clipping=sectionPlanesState.getNumAllocatedSectionPlanes()>0;var src=[];src.push('#version 300 es');src.push("// Lines batching silhouette fragment shader");src.push("#ifdef GL_FRAGMENT_PRECISION_HIGH");src.push("precision highp float;");src.push("precision highp int;");src.push("#else");src.push("precision mediump float;");src.push("precision mediump int;");src.push("#endif");if(scene.logarithmicDepthBufferEnabled){src.push("uniform float logDepthBufFC;");src.push("in float vFragDepth;");}if(clipping){src.push("in vec4 vWorldPosition;");src.push("in float vFlags;");for(var _i261=0,len=sectionPlanesState.getNumAllocatedSectionPlanes();_i261> 16 & 0xF) == 1;");src.push(" if (clippable) {");src.push(" float dist = 0.0;");for(var _i262=0,_len57=sectionPlanesState.getNumAllocatedSectionPlanes();_i262<_len57;_i262++){src.push("if (sectionPlaneActive"+_i262+") {");src.push(" dist += clamp(dot(-sectionPlaneDir"+_i262+".xyz, vWorldPosition.xyz - sectionPlanePos"+_i262+".xyz), 0.0, 1000.0);");src.push("}");}src.push(" if (dist > 0.0) { discard; }");src.push("}");}if(scene.logarithmicDepthBufferEnabled){src.push("gl_FragDepth = log2( vFragDepth ) * logDepthBufFC * 0.5;");}src.push("outColor = color;");src.push("}");return src;}}]);return LinesBatchingSilhouetteRenderer;}(VBOSceneModelLineBatchingRenderer);/** +src.push("} else {");src.push(" vec4 worldPosition = worldMatrix * (positionsDecodeMatrix * vec4(position, 1.0)); ");if(scene.entityOffsetsEnabled){src.push(" worldPosition.xyz = worldPosition.xyz + offset;");}src.push("vec4 viewPosition = viewMatrix * worldPosition; ");if(clipping){src.push("vWorldPosition = worldPosition;");src.push("vFlags = flags;");}src.push("vec4 clipPos = projMatrix * viewPosition;");if(scene.logarithmicDepthBufferEnabled){src.push("vFragDepth = 1.0 + clipPos.w;");}src.push("gl_Position = clipPos;");src.push("}");src.push("}");return src;}},{key:"_buildFragmentShader",value:function _buildFragmentShader(){var scene=this._scene;var sectionPlanesState=scene._sectionPlanesState;var clipping=sectionPlanesState.getNumAllocatedSectionPlanes()>0;var src=[];src.push('#version 300 es');src.push("// Lines batching silhouette fragment shader");src.push("#ifdef GL_FRAGMENT_PRECISION_HIGH");src.push("precision highp float;");src.push("precision highp int;");src.push("#else");src.push("precision mediump float;");src.push("precision mediump int;");src.push("#endif");if(scene.logarithmicDepthBufferEnabled){src.push("uniform float logDepthBufFC;");src.push("in float vFragDepth;");}if(clipping){src.push("in vec4 vWorldPosition;");src.push("in float vFlags;");for(var _i263=0,len=sectionPlanesState.getNumAllocatedSectionPlanes();_i263> 16 & 0xF) == 1;");src.push(" if (clippable) {");src.push(" float dist = 0.0;");for(var _i264=0,_len57=sectionPlanesState.getNumAllocatedSectionPlanes();_i264<_len57;_i264++){src.push("if (sectionPlaneActive"+_i264+") {");src.push(" dist += clamp(dot(-sectionPlaneDir"+_i264+".xyz, vWorldPosition.xyz - sectionPlanePos"+_i264+".xyz), 0.0, 1000.0);");src.push("}");}src.push(" if (dist > 0.0) { discard; }");src.push("}");}if(scene.logarithmicDepthBufferEnabled){src.push("gl_FragDepth = log2( vFragDepth ) * logDepthBufFC * 0.5;");}src.push("outColor = color;");src.push("}");return src;}}]);return LinesBatchingSilhouetteRenderer;}(VBOSceneModelLineBatchingRenderer);/** * @private */var LinesBatchingRenderers=/*#__PURE__*/function(){function LinesBatchingRenderers(scene){_classCallCheck(this,LinesBatchingRenderers);this._scene=scene;}_createClass(LinesBatchingRenderers,[{key:"_compile",value:function _compile(){if(this._colorRenderer&&!this._colorRenderer.getValid()){this._colorRenderer.destroy();this._colorRenderer=null;}if(this._silhouetteRenderer&&!this._silhouetteRenderer.getValid()){this._silhouetteRenderer.destroy();this._silhouetteRenderer=null;}}},{key:"colorRenderer",get:function get(){if(!this._colorRenderer){this._colorRenderer=new LinesBatchingColorRenderer(this._scene,false);}return this._colorRenderer;}},{key:"silhouetteRenderer",get:function get(){if(!this._silhouetteRenderer){this._silhouetteRenderer=new LinesBatchingSilhouetteRenderer(this._scene);}return this._silhouetteRenderer;}},{key:"_destroy",value:function _destroy(){if(this._colorRenderer){this._colorRenderer.destroy();}if(this._silhouetteRenderer){this._silhouetteRenderer.destroy();}}}]);return LinesBatchingRenderers;}();var cachedRenderers$3={};/** * @private @@ -17839,20 +17845,21 @@ this.positions=[];this.colors=[];this.offsets=[];this.indices=[];});math.vec4([0 * @type {Number} */this.layerIndex=cfg.layerIndex;this._batchingRenderers=getBatchingRenderers(cfg.model.scene);this.model=cfg.model;this._buffer=new LinesBatchingBuffer(cfg.maxGeometryBatchSize);this._scratchMemory=cfg.scratchMemory;this._state=new RenderState({positionsBuf:null,offsetsBuf:null,colorsBuf:null,flagsBuf:null,indicesBuf:null,positionsDecodeMatrix:math.mat4(),origin:null});// These counts are used to avoid unnecessary render passes this._numPortions=0;this._numVisibleLayerPortions=0;this._numTransparentLayerPortions=0;this._numXRayedLayerPortions=0;this._numSelectedLayerPortions=0;this._numHighlightedLayerPortions=0;this._numClippableLayerPortions=0;this._numEdgesLayerPortions=0;this._numPickableLayerPortions=0;this._numCulledLayerPortions=0;this._modelAABB=math.collapseAABB3();// Model-space AABB -this._portions=[];this._numVerts=0;this._finalized=false;if(cfg.positionsDecodeMatrix){this._state.positionsDecodeMatrix.set(cfg.positionsDecodeMatrix);this._preCompressedPositionsExpected=true;}else{this._preCompressedPositionsExpected=false;}if(cfg.origin){this._state.origin=math.vec3(cfg.origin);}/** +this._portions=[];this._meshes=[];this._numVerts=0;this._aabb=math.collapseAABB3();this.aabbDirty=true;this._finalized=false;if(cfg.positionsDecodeMatrix){this._state.positionsDecodeMatrix.set(cfg.positionsDecodeMatrix);this._preCompressedPositionsExpected=true;}else{this._preCompressedPositionsExpected=false;}if(cfg.origin){this._state.origin=math.vec3(cfg.origin);}/** * The axis-aligned World-space boundary of this LinesBatchingLayer's positions. * @type {*|Float64Array} - */this.aabb=math.collapseAABB3();}/** + */this.aabb=math.collapseAABB3();}_createClass(LinesBatchingLayer,[{key:"aabb",get:function get(){if(this.aabbDirty){math.collapseAABB3(this._aabb);for(var _i265=0,len=this._meshes.length;_i2650){if(this._preCompressedPositionsExpected){var positions=new Uint16Array(buffer.positions);state.positionsBuf=new ArrayBuf(gl,gl.ARRAY_BUFFER,positions,buffer.positions.length,3,gl.STATIC_DRAW);}else{var _positions2=new Float32Array(buffer.positions);var quantizedPositions=quantizePositions(_positions2,this._modelAABB,state.positionsDecodeMatrix);state.positionsBuf=new ArrayBuf(gl,gl.ARRAY_BUFFER,quantizedPositions,buffer.positions.length,3,gl.STATIC_DRAW);}}if(buffer.colors.length>0){var colors=new Uint8Array(buffer.colors);var normalized=false;state.colorsBuf=new ArrayBuf(gl,gl.ARRAY_BUFFER,colors,buffer.colors.length,4,gl.DYNAMIC_DRAW,normalized);}if(buffer.colors.length>0){// Because we build flags arrays here, get their length from the colors array -var flagsLength=buffer.colors.length/4;var flags=new Float32Array(flagsLength);var notNormalized=false;state.flagsBuf=new ArrayBuf(gl,gl.ARRAY_BUFFER,flags,flags.length,1,gl.DYNAMIC_DRAW,notNormalized);}if(this.model.scene.entityOffsetsEnabled){if(buffer.offsets.length>0){var offsets=new Float32Array(buffer.offsets);state.offsetsBuf=new ArrayBuf(gl,gl.ARRAY_BUFFER,offsets,buffer.offsets.length,3,gl.DYNAMIC_DRAW);}}if(buffer.indices.length>0){var indices=new Uint32Array(buffer.indices);state.indicesBuf=new ArrayBuf(gl,gl.ELEMENT_ARRAY_BUFFER,indices,buffer.indices.length,1,gl.STATIC_DRAW);}this._buffer=null;this._finalized=true;}},{key:"initFlags",value:function initFlags(portionId,flags,meshTransparent){if(flags&ENTITY_FLAGS.VISIBLE){this._numVisibleLayerPortions++;this.model.numVisibleLayerPortions++;}if(flags&ENTITY_FLAGS.HIGHLIGHTED){this._numHighlightedLayerPortions++;this.model.numHighlightedLayerPortions++;}if(flags&ENTITY_FLAGS.XRAYED){this._numXRayedLayerPortions++;this.model.numXRayedLayerPortions++;}if(flags&ENTITY_FLAGS.SELECTED){this._numSelectedLayerPortions++;this.model.numSelectedLayerPortions++;}if(flags&ENTITY_FLAGS.CLIPPABLE){this._numClippableLayerPortions++;this.model.numClippableLayerPortions++;}if(flags&ENTITY_FLAGS.EDGES){this._numEdgesLayerPortions++;this.model.numEdgesLayerPortions++;}if(flags&ENTITY_FLAGS.PICKABLE){this._numPickableLayerPortions++;this.model.numPickableLayerPortions++;}if(flags&ENTITY_FLAGS.CULLED){this._numCulledLayerPortions++;this.model.numCulledLayerPortions++;}if(meshTransparent){this._numTransparentLayerPortions++;this.model.numTransparentLayerPortions++;}var deferred=true;this._setFlags(portionId,flags,meshTransparent,deferred);}},{key:"flushInitFlags",value:function flushInitFlags(){this._setDeferredFlags();}},{key:"setVisible",value:function setVisible(portionId,flags,transparent){if(!this._finalized){throw"Not finalized";}if(flags&ENTITY_FLAGS.VISIBLE){this._numVisibleLayerPortions++;this.model.numVisibleLayerPortions++;}else{this._numVisibleLayerPortions--;this.model.numVisibleLayerPortions--;}this._setFlags(portionId,flags,transparent);}},{key:"setHighlighted",value:function setHighlighted(portionId,flags,transparent){if(!this._finalized){throw"Not finalized";}if(flags&ENTITY_FLAGS.HIGHLIGHTED){this._numHighlightedLayerPortions++;this.model.numHighlightedLayerPortions++;}else{this._numHighlightedLayerPortions--;this.model.numHighlightedLayerPortions--;}this._setFlags(portionId,flags,transparent);}},{key:"setXRayed",value:function setXRayed(portionId,flags,transparent){if(!this._finalized){throw"Not finalized";}if(flags&ENTITY_FLAGS.XRAYED){this._numXRayedLayerPortions++;this.model.numXRayedLayerPortions++;}else{this._numXRayedLayerPortions--;this.model.numXRayedLayerPortions--;}this._setFlags(portionId,flags,transparent);}},{key:"setSelected",value:function setSelected(portionId,flags,transparent){if(!this._finalized){throw"Not finalized";}if(flags&ENTITY_FLAGS.SELECTED){this._numSelectedLayerPortions++;this.model.numSelectedLayerPortions++;}else{this._numSelectedLayerPortions--;this.model.numSelectedLayerPortions--;}this._setFlags(portionId,flags,transparent);}},{key:"setEdges",value:function setEdges(portionId,flags,transparent){if(!this._finalized){throw"Not finalized";}if(flags&ENTITY_FLAGS.EDGES){this._numEdgesLayerPortions++;this.model.numEdgesLayerPortions++;}else{this._numEdgesLayerPortions--;this.model.numEdgesLayerPortions--;}this._setFlags(portionId,flags,transparent);}},{key:"setClippable",value:function setClippable(portionId,flags){if(!this._finalized){throw"Not finalized";}if(flags&ENTITY_FLAGS.CLIPPABLE){this._numClippableLayerPortions++;this.model.numClippableLayerPortions++;}else{this._numClippableLayerPortions--;this.model.numClippableLayerPortions--;}this._setFlags(portionId,flags);}},{key:"setCulled",value:function setCulled(portionId,flags,transparent){if(!this._finalized){throw"Not finalized";}if(flags&ENTITY_FLAGS.CULLED){this._numCulledLayerPortions++;this.model.numCulledLayerPortions++;}else{this._numCulledLayerPortions--;this.model.numCulledLayerPortions--;}this._setFlags(portionId,flags,transparent);}},{key:"setCollidable",value:function setCollidable(portionId,flags){if(!this._finalized){throw"Not finalized";}}},{key:"setPickable",value:function setPickable(portionId,flags,transparent){if(!this._finalized){throw"Not finalized";}if(flags&ENTITY_FLAGS.PICKABLE){this._numPickableLayerPortions++;this.model.numPickableLayerPortions++;}else{this._numPickableLayerPortions--;this.model.numPickableLayerPortions--;}this._setFlags(portionId,flags,transparent);}},{key:"setColor",value:function setColor(portionId,color){if(!this._finalized){throw"Not finalized";}var portionsIdx=portionId*2;var vertexBase=this._portions[portionsIdx];var numVerts=this._portions[portionsIdx+1];var firstColor=vertexBase*4;var lenColor=numVerts*4;var tempArray=this._scratchMemory.getUInt8Array(lenColor);var r=color[0];var g=color[1];var b=color[2];var a=color[3];for(var _i268=0;_i2680){var offsets=new Float32Array(buffer.offsets);state.offsetsBuf=new ArrayBuf(gl,gl.ARRAY_BUFFER,offsets,buffer.offsets.length,3,gl.DYNAMIC_DRAW);}}if(buffer.indices.length>0){var indices=new Uint32Array(buffer.indices);state.indicesBuf=new ArrayBuf(gl,gl.ELEMENT_ARRAY_BUFFER,indices,buffer.indices.length,1,gl.STATIC_DRAW);}this._buffer=null;this._finalized=true;}},{key:"initFlags",value:function initFlags(portionId,flags,meshTransparent){if(flags&ENTITY_FLAGS.VISIBLE){this._numVisibleLayerPortions++;this.model.numVisibleLayerPortions++;}if(flags&ENTITY_FLAGS.HIGHLIGHTED){this._numHighlightedLayerPortions++;this.model.numHighlightedLayerPortions++;}if(flags&ENTITY_FLAGS.XRAYED){this._numXRayedLayerPortions++;this.model.numXRayedLayerPortions++;}if(flags&ENTITY_FLAGS.SELECTED){this._numSelectedLayerPortions++;this.model.numSelectedLayerPortions++;}if(flags&ENTITY_FLAGS.CLIPPABLE){this._numClippableLayerPortions++;this.model.numClippableLayerPortions++;}if(flags&ENTITY_FLAGS.EDGES){this._numEdgesLayerPortions++;this.model.numEdgesLayerPortions++;}if(flags&ENTITY_FLAGS.PICKABLE){this._numPickableLayerPortions++;this.model.numPickableLayerPortions++;}if(flags&ENTITY_FLAGS.CULLED){this._numCulledLayerPortions++;this.model.numCulledLayerPortions++;}if(meshTransparent){this._numTransparentLayerPortions++;this.model.numTransparentLayerPortions++;}var deferred=true;this._setFlags(portionId,flags,meshTransparent,deferred);}},{key:"flushInitFlags",value:function flushInitFlags(){this._setDeferredFlags();}},{key:"setVisible",value:function setVisible(portionId,flags,transparent){if(!this._finalized){throw"Not finalized";}if(flags&ENTITY_FLAGS.VISIBLE){this._numVisibleLayerPortions++;this.model.numVisibleLayerPortions++;}else{this._numVisibleLayerPortions--;this.model.numVisibleLayerPortions--;}this._setFlags(portionId,flags,transparent);}},{key:"setHighlighted",value:function setHighlighted(portionId,flags,transparent){if(!this._finalized){throw"Not finalized";}if(flags&ENTITY_FLAGS.HIGHLIGHTED){this._numHighlightedLayerPortions++;this.model.numHighlightedLayerPortions++;}else{this._numHighlightedLayerPortions--;this.model.numHighlightedLayerPortions--;}this._setFlags(portionId,flags,transparent);}},{key:"setXRayed",value:function setXRayed(portionId,flags,transparent){if(!this._finalized){throw"Not finalized";}if(flags&ENTITY_FLAGS.XRAYED){this._numXRayedLayerPortions++;this.model.numXRayedLayerPortions++;}else{this._numXRayedLayerPortions--;this.model.numXRayedLayerPortions--;}this._setFlags(portionId,flags,transparent);}},{key:"setSelected",value:function setSelected(portionId,flags,transparent){if(!this._finalized){throw"Not finalized";}if(flags&ENTITY_FLAGS.SELECTED){this._numSelectedLayerPortions++;this.model.numSelectedLayerPortions++;}else{this._numSelectedLayerPortions--;this.model.numSelectedLayerPortions--;}this._setFlags(portionId,flags,transparent);}},{key:"setEdges",value:function setEdges(portionId,flags,transparent){if(!this._finalized){throw"Not finalized";}if(flags&ENTITY_FLAGS.EDGES){this._numEdgesLayerPortions++;this.model.numEdgesLayerPortions++;}else{this._numEdgesLayerPortions--;this.model.numEdgesLayerPortions--;}this._setFlags(portionId,flags,transparent);}},{key:"setClippable",value:function setClippable(portionId,flags){if(!this._finalized){throw"Not finalized";}if(flags&ENTITY_FLAGS.CLIPPABLE){this._numClippableLayerPortions++;this.model.numClippableLayerPortions++;}else{this._numClippableLayerPortions--;this.model.numClippableLayerPortions--;}this._setFlags(portionId,flags);}},{key:"setCulled",value:function setCulled(portionId,flags,transparent){if(!this._finalized){throw"Not finalized";}if(flags&ENTITY_FLAGS.CULLED){this._numCulledLayerPortions++;this.model.numCulledLayerPortions++;}else{this._numCulledLayerPortions--;this.model.numCulledLayerPortions--;}this._setFlags(portionId,flags,transparent);}},{key:"setCollidable",value:function setCollidable(portionId,flags){if(!this._finalized){throw"Not finalized";}}},{key:"setPickable",value:function setPickable(portionId,flags,transparent){if(!this._finalized){throw"Not finalized";}if(flags&ENTITY_FLAGS.PICKABLE){this._numPickableLayerPortions++;this.model.numPickableLayerPortions++;}else{this._numPickableLayerPortions--;this.model.numPickableLayerPortions--;}this._setFlags(portionId,flags,transparent);}},{key:"setColor",value:function setColor(portionId,color){if(!this._finalized){throw"Not finalized";}var portionsIdx=portionId*2;var vertexBase=this._portions[portionsIdx];var numVerts=this._portions[portionsIdx+1];var firstColor=vertexBase*4;var lenColor=numVerts*4;var tempArray=this._scratchMemory.getUInt8Array(lenColor);var r=color[0];var g=color[1];var b=color[2];var a=color[3];for(var _i271=0;_i2713&&arguments[3]!==undefined?arguments[3]:false;if(!this._finalized){throw"Not finalized";}var portionsIdx=portionId*2;var vertexBase=this._portions[portionsIdx];var numVerts=this._portions[portionsIdx+1];var firstFlag=vertexBase;var lenFlags=numVerts;var visible=!!(flags&ENTITY_FLAGS.VISIBLE);var xrayed=!!(flags&ENTITY_FLAGS.XRAYED);var highlighted=!!(flags&ENTITY_FLAGS.HIGHLIGHTED);var selected=!!(flags&ENTITY_FLAGS.SELECTED);// no edges var pickable=!!(flags&ENTITY_FLAGS.PICKABLE);var culled=!!(flags&ENTITY_FLAGS.CULLED);var colorFlag;if(!visible||culled||xrayed||highlighted&&!this.model.scene.highlightMaterial.glowThrough||selected&&!this.model.scene.selectedMaterial.glowThrough){colorFlag=RENDER_PASSES.NOT_RENDERED;}else{if(transparent){colorFlag=RENDER_PASSES.COLOR_TRANSPARENT;}else{colorFlag=RENDER_PASSES.COLOR_OPAQUE;}}var silhouetteFlag;if(!visible||culled){silhouetteFlag=RENDER_PASSES.NOT_RENDERED;}else if(selected){silhouetteFlag=RENDER_PASSES.SILHOUETTE_SELECTED;}else if(highlighted){silhouetteFlag=RENDER_PASSES.SILHOUETTE_HIGHLIGHTED;}else if(xrayed){silhouetteFlag=RENDER_PASSES.SILHOUETTE_XRAYED;}else{silhouetteFlag=RENDER_PASSES.NOT_RENDERED;}var pickFlag=visible&&!culled&&pickable?RENDER_PASSES.PICK:RENDER_PASSES.NOT_RENDERED;var clippableFlag=!!(flags&ENTITY_FLAGS.CLIPPABLE)?1:0;if(deferred){// Avoid zillions of individual WebGL bufferSubData calls - buffer them to apply in one shot -if(!this._deferredFlagValues){this._deferredFlagValues=new Float32Array(this._numVerts);}for(var _i269=firstFlag,len=firstFlag+lenFlags;_i2690;var src=[];src.push('#version 300 es');src.push("// Lines instancing color vertex shader");src.push("uniform int renderPass;");src.push("in vec3 position;");src.push("in vec4 color;");src.push("in float flags;");if(scene.entityOffsetsEnabled){src.push("in vec3 offset;");}src.push("in vec4 modelMatrixCol0;");// Modeling matrix @@ -17889,7 +17896,7 @@ if(this._withSAO){src.push(" float viewportWidth = uSAOParams[0];");src.pu src.push("in vec4 modelMatrixCol1;");src.push("in vec4 modelMatrixCol2;");this._addMatricesUniformBlockLines(src);if(scene.logarithmicDepthBufferEnabled){src.push("uniform float logDepthBufFC;");src.push("out float vFragDepth;");}src.push("uniform vec4 color;");if(clipping){src.push("out vec4 vWorldPosition;");src.push("out float vFlags;");}src.push("void main(void) {");// silhouetteFlag = NOT_RENDERED | SILHOUETTE_HIGHLIGHTED | SILHOUETTE_SELECTED | | SILHOUETTE_XRAYED // renderPass = SILHOUETTE_HIGHLIGHTED | SILHOUETTE_SELECTED | | SILHOUETTE_XRAYED src.push("int silhouetteFlag = int(flags) >> 4 & 0xF;");src.push("if (silhouetteFlag != renderPass) {");src.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);");// Cull vertex -src.push("} else {");src.push("vec4 worldPosition = positionsDecodeMatrix * vec4(position, 1.0); ");src.push("worldPosition = worldMatrix * vec4(dot(worldPosition, modelMatrixCol0), dot(worldPosition, modelMatrixCol1), dot(worldPosition, modelMatrixCol2), 1.0);");if(scene.entityOffsetsEnabled){src.push(" worldPosition.xyz = worldPosition.xyz + offset;");}src.push("vec4 viewPosition = viewMatrix * worldPosition; ");if(clipping){src.push("vWorldPosition = worldPosition;");src.push("vFlags = flags;");}src.push("vec4 clipPos = projMatrix * viewPosition;");if(scene.logarithmicDepthBufferEnabled){src.push("vFragDepth = 1.0 + clipPos.w;");}src.push("gl_Position = clipPos;");src.push("}");src.push("}");return src;}},{key:"_buildFragmentShader",value:function _buildFragmentShader(){var scene=this._scene;var sectionPlanesState=scene._sectionPlanesState;var clipping=sectionPlanesState.getNumAllocatedSectionPlanes()>0;var src=[];src.push('#version 300 es');src.push("// Lines instancing silhouette fragment shader");src.push("#ifdef GL_FRAGMENT_PRECISION_HIGH");src.push("precision highp float;");src.push("precision highp int;");src.push("#else");src.push("precision mediump float;");src.push("precision mediump int;");src.push("#endif");if(scene.logarithmicDepthBufferEnabled){src.push("uniform float logDepthBufFC;");src.push("in float vFragDepth;");}if(clipping){src.push("in vec4 vWorldPosition;");src.push("in float vFlags;");for(var _i272=0,len=sectionPlanesState.getNumAllocatedSectionPlanes();_i272> 16 & 0xF) == 1;");src.push(" if (clippable) {");src.push(" float dist = 0.0;");for(var _i273=0,_len60=sectionPlanesState.getNumAllocatedSectionPlanes();_i273<_len60;_i273++){src.push("if (sectionPlaneActive"+_i273+") {");src.push(" dist += clamp(dot(-sectionPlaneDir"+_i273+".xyz, vWorldPosition.xyz - sectionPlanePos"+_i273+".xyz), 0.0, 1000.0);");src.push("}");}src.push("if (dist > 0.0) { discard; }");src.push("}");}if(scene.logarithmicDepthBufferEnabled){src.push("gl_FragDepth = log2( vFragDepth ) * logDepthBufFC * 0.5;");}src.push("outColor = color;");src.push("}");return src;}}]);return LinesInstancingSilhouetteRenderer;}(VBOSceneModelLineInstancingRenderer);/** +src.push("} else {");src.push("vec4 worldPosition = positionsDecodeMatrix * vec4(position, 1.0); ");src.push("worldPosition = worldMatrix * vec4(dot(worldPosition, modelMatrixCol0), dot(worldPosition, modelMatrixCol1), dot(worldPosition, modelMatrixCol2), 1.0);");if(scene.entityOffsetsEnabled){src.push(" worldPosition.xyz = worldPosition.xyz + offset;");}src.push("vec4 viewPosition = viewMatrix * worldPosition; ");if(clipping){src.push("vWorldPosition = worldPosition;");src.push("vFlags = flags;");}src.push("vec4 clipPos = projMatrix * viewPosition;");if(scene.logarithmicDepthBufferEnabled){src.push("vFragDepth = 1.0 + clipPos.w;");}src.push("gl_Position = clipPos;");src.push("}");src.push("}");return src;}},{key:"_buildFragmentShader",value:function _buildFragmentShader(){var scene=this._scene;var sectionPlanesState=scene._sectionPlanesState;var clipping=sectionPlanesState.getNumAllocatedSectionPlanes()>0;var src=[];src.push('#version 300 es');src.push("// Lines instancing silhouette fragment shader");src.push("#ifdef GL_FRAGMENT_PRECISION_HIGH");src.push("precision highp float;");src.push("precision highp int;");src.push("#else");src.push("precision mediump float;");src.push("precision mediump int;");src.push("#endif");if(scene.logarithmicDepthBufferEnabled){src.push("uniform float logDepthBufFC;");src.push("in float vFragDepth;");}if(clipping){src.push("in vec4 vWorldPosition;");src.push("in float vFlags;");for(var _i275=0,len=sectionPlanesState.getNumAllocatedSectionPlanes();_i275> 16 & 0xF) == 1;");src.push(" if (clippable) {");src.push(" float dist = 0.0;");for(var _i276=0,_len60=sectionPlanesState.getNumAllocatedSectionPlanes();_i276<_len60;_i276++){src.push("if (sectionPlaneActive"+_i276+") {");src.push(" dist += clamp(dot(-sectionPlaneDir"+_i276+".xyz, vWorldPosition.xyz - sectionPlanePos"+_i276+".xyz), 0.0, 1000.0);");src.push("}");}src.push("if (dist > 0.0) { discard; }");src.push("}");}if(scene.logarithmicDepthBufferEnabled){src.push("gl_FragDepth = log2( vFragDepth ) * logDepthBufFC * 0.5;");}src.push("outColor = color;");src.push("}");return src;}}]);return LinesInstancingSilhouetteRenderer;}(VBOSceneModelLineInstancingRenderer);/** * @private */var LinesInstancingRenderers=/*#__PURE__*/function(){function LinesInstancingRenderers(scene){_classCallCheck(this,LinesInstancingRenderers);this._scene=scene;}_createClass(LinesInstancingRenderers,[{key:"_compile",value:function _compile(){if(this._colorRenderer&&!this._colorRenderer.getValid()){this._colorRenderer.destroy();this._colorRenderer=null;}if(this._silhouetteRenderer&&!this._silhouetteRenderer.getValid()){this._silhouetteRenderer.destroy();this._silhouetteRenderer=null;}}},{key:"colorRenderer",get:function get(){if(!this._colorRenderer){this._colorRenderer=new LinesInstancingColorRenderer(this._scene);}return this._colorRenderer;}},{key:"silhouetteRenderer",get:function get(){if(!this._silhouetteRenderer){this._silhouetteRenderer=new LinesInstancingSilhouetteRenderer(this._scene);}return this._silhouetteRenderer;}},{key:"_destroy",value:function _destroy(){if(this._colorRenderer){this._colorRenderer.destroy();}if(this._silhouetteRenderer){this._silhouetteRenderer.destroy();}}}]);return LinesInstancingRenderers;}();var cachedRenderers$2={};/** * @private @@ -17918,20 +17925,21 @@ src.push("} else {");src.push("vec4 worldPosition = positionsDecodeMatrix * vec4 positionsBuf:null,colorsBuf:null,flagsBuf:null,offsetsBuf:null,modelMatrixCol0Buf:null,modelMatrixCol1Buf:null,modelMatrixCol2Buf:null});// These counts are used to avoid unnecessary render passes this._numPortions=0;this._numVisibleLayerPortions=0;this._numTransparentLayerPortions=0;this._numXRayedLayerPortions=0;this._numHighlightedLayerPortions=0;this._numSelectedLayerPortions=0;this._numClippableLayerPortions=0;this._numEdgesLayerPortions=0;this._numPickableLayerPortions=0;this._numCulledLayerPortions=0;/** @private */this.numIndices=cfg.geometry.numIndices;// Vertex arrays this._colors=[];this._offsets=[];// Modeling matrix per instance, array for each column -this._modelMatrixCol0=[];this._modelMatrixCol1=[];this._modelMatrixCol2=[];this._portions=[];if(cfg.origin){this._state.origin=math.vec3(cfg.origin);}this._finalized=false;}/** +this._modelMatrixCol0=[];this._modelMatrixCol1=[];this._modelMatrixCol2=[];this._portions=[];this._meshes=[];this._aabb=math.collapseAABB3();this.aabbDirty=true;if(cfg.origin){this._state.origin=math.vec3(cfg.origin);}this._finalized=false;}_createClass(LinesInstancingLayer,[{key:"aabb",get:function get(){if(this.aabbDirty){math.collapseAABB3(this._aabb);for(var _i277=0,len=this._meshes.length;_i2770){var notNormalized=false;this._state.colorsBuf=new ArrayBuf(gl,gl.ARRAY_BUFFER,new Uint8Array(this._colors),this._colors.length,4,gl.DYNAMIC_DRAW,notNormalized);this._colors=[];// Release memory + */},{key:"createPortion",value:function createPortion(mesh,cfg){var color=cfg.color;var opacity=cfg.opacity;var meshMatrix=cfg.meshMatrix;if(this._finalized){throw"Already finalized";}var r=color[0];// Color is pre-quantized by VBOSceneModel +var g=color[1];var b=color[2];color[3];this._colors.push(r);this._colors.push(g);this._colors.push(b);this._colors.push(opacity);if(this.model.scene.entityOffsetsEnabled){this._offsets.push(0);this._offsets.push(0);this._offsets.push(0);}this._modelMatrixCol0.push(meshMatrix[0]);this._modelMatrixCol0.push(meshMatrix[4]);this._modelMatrixCol0.push(meshMatrix[8]);this._modelMatrixCol0.push(meshMatrix[12]);this._modelMatrixCol1.push(meshMatrix[1]);this._modelMatrixCol1.push(meshMatrix[5]);this._modelMatrixCol1.push(meshMatrix[9]);this._modelMatrixCol1.push(meshMatrix[13]);this._modelMatrixCol2.push(meshMatrix[2]);this._modelMatrixCol2.push(meshMatrix[6]);this._modelMatrixCol2.push(meshMatrix[10]);this._modelMatrixCol2.push(meshMatrix[14]);this._state.numInstances++;var portionId=this._portions.length;this._portions.push({});this._numPortions++;this.model.numPortions++;this._meshes.push(mesh);return portionId;}},{key:"finalize",value:function finalize(){if(this._finalized){throw"Already finalized";}var gl=this.model.scene.canvas.gl;var colorsLength=this._colors.length;var flagsLength=colorsLength/4;if(colorsLength>0){var notNormalized=false;this._state.colorsBuf=new ArrayBuf(gl,gl.ARRAY_BUFFER,new Uint8Array(this._colors),this._colors.length,4,gl.DYNAMIC_DRAW,notNormalized);this._colors=[];// Release memory }if(flagsLength>0){// Because we only build flags arrays here, // get their length from the colors array var _notNormalized6=false;this._state.flagsBuf=new ArrayBuf(gl,gl.ARRAY_BUFFER,new Float32Array(flagsLength),flagsLength,1,gl.DYNAMIC_DRAW,_notNormalized6);}if(this.model.scene.entityOffsetsEnabled){if(this._offsets.length>0){var _notNormalized7=false;this._state.offsetsBuf=new ArrayBuf(gl,gl.ARRAY_BUFFER,new Float32Array(this._offsets),this._offsets.length,3,gl.DYNAMIC_DRAW,_notNormalized7);this._offsets=[];// Release memory @@ -17957,7 +17965,7 @@ if(!this._finalized){throw"Not finalized";}var offset=portionId*4;tempFloat32Vec // renderPass = COLOR_OPAQUE src.push("int colorFlag = int(flags) & 0xF;");src.push("if (colorFlag != renderPass) {");src.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);");// Cull vertex src.push("} else {");if(pointsMaterial.filterIntensity){src.push("float intensity = float(color.a) / 255.0;");src.push("if (intensity < intensityRange[0] || intensity > intensityRange[1]) {");src.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);");// Cull vertex -src.push("} else {");}src.push("vec4 worldPosition = worldMatrix * (positionsDecodeMatrix * vec4(position, 1.0)); ");if(scene.entityOffsetsEnabled){src.push("worldPosition.xyz = worldPosition.xyz + offset;");}src.push("vec4 viewPosition = viewMatrix * worldPosition; ");src.push("vColor = vec4(float(color.r) / 255.0, float(color.g) / 255.0, float(color.b) / 255.0, 1.0);");if(clipping){src.push("vWorldPosition = worldPosition;");src.push("vFlags = flags;");}src.push("vec4 clipPos = projMatrix * viewPosition;");if(scene.logarithmicDepthBufferEnabled){src.push("vFragDepth = 1.0 + clipPos.w;");}src.push("gl_Position = clipPos;");if(pointsMaterial.perspectivePoints){src.push("gl_PointSize = (nearPlaneHeight * pointSize) / clipPos.w;");src.push("gl_PointSize = max(gl_PointSize, "+Math.floor(pointsMaterial.minPerspectivePointSize)+".0);");src.push("gl_PointSize = min(gl_PointSize, "+Math.floor(pointsMaterial.maxPerspectivePointSize)+".0);");}else{src.push("gl_PointSize = pointSize;");}src.push("}");if(pointsMaterial.filterIntensity){src.push("}");}src.push("}");return src;}},{key:"_buildFragmentShader",value:function _buildFragmentShader(){var scene=this._scene;var sectionPlanesState=scene._sectionPlanesState;var clipping=sectionPlanesState.getNumAllocatedSectionPlanes()>0;var src=[];src.push('#version 300 es');src.push("// Points batching color fragment shader");src.push("#ifdef GL_FRAGMENT_PRECISION_HIGH");src.push("precision highp float;");src.push("precision highp int;");src.push("#else");src.push("precision mediump float;");src.push("precision mediump int;");src.push("#endif");if(scene.logarithmicDepthBufferEnabled){src.push("uniform float logDepthBufFC;");src.push("in float vFragDepth;");}if(clipping){src.push("in vec4 vWorldPosition;");src.push("in float vFlags;");for(var _i274=0,len=sectionPlanesState.getNumAllocatedSectionPlanes();_i274 1.0) {");src.push(" discard;");src.push(" }");}if(clipping){src.push(" bool clippable = (int(vFlags) >> 16 & 0xF) == 1;");src.push(" if (clippable) {");src.push(" float dist = 0.0;");for(var _i275=0,_len61=sectionPlanesState.getNumAllocatedSectionPlanes();_i275<_len61;_i275++){src.push("if (sectionPlaneActive"+_i275+") {");src.push(" dist += clamp(dot(-sectionPlaneDir"+_i275+".xyz, vWorldPosition.xyz - sectionPlanePos"+_i275+".xyz), 0.0, 1000.0);");src.push("}");}src.push(" if (dist > 0.0) { discard; }");src.push("}");}src.push(" outColor = vColor;");if(scene.logarithmicDepthBufferEnabled){src.push("gl_FragDepth = log2( vFragDepth ) * logDepthBufFC * 0.5;");}src.push("}");return src;}}]);return PointsBatchingColorRenderer;}(VBOSceneModelPointBatchingRenderer);/** +src.push("} else {");}src.push("vec4 worldPosition = worldMatrix * (positionsDecodeMatrix * vec4(position, 1.0)); ");if(scene.entityOffsetsEnabled){src.push("worldPosition.xyz = worldPosition.xyz + offset;");}src.push("vec4 viewPosition = viewMatrix * worldPosition; ");src.push("vColor = vec4(float(color.r) / 255.0, float(color.g) / 255.0, float(color.b) / 255.0, 1.0);");if(clipping){src.push("vWorldPosition = worldPosition;");src.push("vFlags = flags;");}src.push("vec4 clipPos = projMatrix * viewPosition;");if(scene.logarithmicDepthBufferEnabled){src.push("vFragDepth = 1.0 + clipPos.w;");}src.push("gl_Position = clipPos;");if(pointsMaterial.perspectivePoints){src.push("gl_PointSize = (nearPlaneHeight * pointSize) / clipPos.w;");src.push("gl_PointSize = max(gl_PointSize, "+Math.floor(pointsMaterial.minPerspectivePointSize)+".0);");src.push("gl_PointSize = min(gl_PointSize, "+Math.floor(pointsMaterial.maxPerspectivePointSize)+".0);");}else{src.push("gl_PointSize = pointSize;");}src.push("}");if(pointsMaterial.filterIntensity){src.push("}");}src.push("}");return src;}},{key:"_buildFragmentShader",value:function _buildFragmentShader(){var scene=this._scene;var sectionPlanesState=scene._sectionPlanesState;var clipping=sectionPlanesState.getNumAllocatedSectionPlanes()>0;var src=[];src.push('#version 300 es');src.push("// Points batching color fragment shader");src.push("#ifdef GL_FRAGMENT_PRECISION_HIGH");src.push("precision highp float;");src.push("precision highp int;");src.push("#else");src.push("precision mediump float;");src.push("precision mediump int;");src.push("#endif");if(scene.logarithmicDepthBufferEnabled){src.push("uniform float logDepthBufFC;");src.push("in float vFragDepth;");}if(clipping){src.push("in vec4 vWorldPosition;");src.push("in float vFlags;");for(var _i278=0,len=sectionPlanesState.getNumAllocatedSectionPlanes();_i278 1.0) {");src.push(" discard;");src.push(" }");}if(clipping){src.push(" bool clippable = (int(vFlags) >> 16 & 0xF) == 1;");src.push(" if (clippable) {");src.push(" float dist = 0.0;");for(var _i279=0,_len61=sectionPlanesState.getNumAllocatedSectionPlanes();_i279<_len61;_i279++){src.push("if (sectionPlaneActive"+_i279+") {");src.push(" dist += clamp(dot(-sectionPlaneDir"+_i279+".xyz, vWorldPosition.xyz - sectionPlanePos"+_i279+".xyz), 0.0, 1000.0);");src.push("}");}src.push(" if (dist > 0.0) { discard; }");src.push("}");}src.push(" outColor = vColor;");if(scene.logarithmicDepthBufferEnabled){src.push("gl_FragDepth = log2( vFragDepth ) * logDepthBufFC * 0.5;");}src.push("}");return src;}}]);return PointsBatchingColorRenderer;}(VBOSceneModelPointBatchingRenderer);/** * @private */var PointsBatchingSilhouetteRenderer=/*#__PURE__*/function(_VBOSceneModelPointBa2){_inherits(PointsBatchingSilhouetteRenderer,_VBOSceneModelPointBa2);var _super113=_createSuper(PointsBatchingSilhouetteRenderer);function PointsBatchingSilhouetteRenderer(){_classCallCheck(this,PointsBatchingSilhouetteRenderer);return _super113.apply(this,arguments);}_createClass(PointsBatchingSilhouetteRenderer,[{key:"_getHash",value:function _getHash(){return this._scene._sectionPlanesState.getHash()+this._scene.pointsMaterial.hash;}},{key:"drawLayer",value:function drawLayer(frameCtx,pointsBatchingLayer,renderPass){_get(_getPrototypeOf(PointsBatchingSilhouetteRenderer.prototype),"drawLayer",this).call(this,frameCtx,pointsBatchingLayer,renderPass,{colorUniform:true});}},{key:"_buildVertexShader",value:function _buildVertexShader(){var scene=this._scene;var sectionPlanesState=scene._sectionPlanesState;var clipping=sectionPlanesState.getNumAllocatedSectionPlanes()>0;var pointsMaterial=scene.pointsMaterial._state;var src=[];src.push('#version 300 es');src.push("// Points batching silhouette vertex shader");src.push("uniform int renderPass;");src.push("in vec3 position;");if(scene.entityOffsetsEnabled){src.push("in vec3 offset;");}src.push("in float flags;");this._addMatricesUniformBlockLines(src);src.push("uniform vec4 color;");src.push("uniform float pointSize;");if(pointsMaterial.perspectivePoints){src.push("uniform float nearPlaneHeight;");}if(scene.logarithmicDepthBufferEnabled){src.push("uniform float logDepthBufFC;");src.push("out float vFragDepth;");}if(clipping){src.push("out vec4 vWorldPosition;");src.push("out float vFlags;");}src.push("void main(void) {");// silhouetteFlag = NOT_RENDERED | SILHOUETTE_HIGHLIGHTED | SILHOUETTE_SELECTED | SILHOUETTE_XRAYED // renderPass = SILHOUETTE_HIGHLIGHTED | SILHOUETTE_SELECTED | | SILHOUETTE_XRAYED @@ -17967,19 +17975,19 @@ src.push("} else {");src.push(" vec4 worldPosition = worldMatrix * (positio */var PointsBatchingPickMeshRenderer=/*#__PURE__*/function(_VBOSceneModelPointBa3){_inherits(PointsBatchingPickMeshRenderer,_VBOSceneModelPointBa3);var _super114=_createSuper(PointsBatchingPickMeshRenderer);function PointsBatchingPickMeshRenderer(){_classCallCheck(this,PointsBatchingPickMeshRenderer);return _super114.apply(this,arguments);}_createClass(PointsBatchingPickMeshRenderer,[{key:"_getHash",value:function _getHash(){return this._scene._sectionPlanesState.getHash()+this._scene.pointsMaterial.hash;}},{key:"_buildVertexShader",value:function _buildVertexShader(){var scene=this._scene;var clipping=scene._sectionPlanesState.getNumAllocatedSectionPlanes()>0;var pointsMaterial=scene.pointsMaterial._state;var src=[];src.push('#version 300 es');src.push("// Points batching pick mesh vertex shader");src.push("uniform int renderPass;");src.push("in vec3 position;");if(scene.entityOffsetsEnabled){src.push("in vec3 offset;");}src.push("in float flags;");src.push("in vec4 pickColor;");src.push("uniform bool pickInvisible;");this._addMatricesUniformBlockLines(src);this._addRemapClipPosLines(src);src.push("uniform float pointSize;");if(pointsMaterial.perspectivePoints){src.push("uniform float nearPlaneHeight;");}if(scene.logarithmicDepthBufferEnabled){src.push("uniform float logDepthBufFC;");src.push("out float vFragDepth;");}if(clipping){src.push("out vec4 vWorldPosition;");src.push("out float vFlags;");}src.push("out vec4 vPickColor;");src.push("void main(void) {");// pickFlag = NOT_RENDERED | PICK // renderPass = PICK src.push("int pickFlag = int(flags) >> 12 & 0xF;");src.push("if (pickFlag != renderPass) {");src.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);");// Cull vertex -src.push(" } else {");src.push(" vec4 worldPosition = worldMatrix * (positionsDecodeMatrix * vec4(position, 1.0)); ");if(scene.entityOffsetsEnabled){src.push(" worldPosition.xyz = worldPosition.xyz + offset;");}src.push(" vec4 viewPosition = viewMatrix * worldPosition; ");src.push(" vPickColor = vec4(float(pickColor.r) / 255.0, float(pickColor.g) / 255.0, float(pickColor.b) / 255.0, float(pickColor.a) / 255.0);");if(clipping){src.push(" vWorldPosition = worldPosition;");src.push(" vFlags = flags;");}src.push("vec4 clipPos = projMatrix * viewPosition;");if(scene.logarithmicDepthBufferEnabled){src.push("vFragDepth = 1.0 + clipPos.w;");}src.push("gl_Position = remapClipPos(clipPos);");if(pointsMaterial.perspectivePoints){src.push("gl_PointSize = (nearPlaneHeight * pointSize) / clipPos.w;");src.push("gl_PointSize = max(gl_PointSize, "+Math.floor(pointsMaterial.minPerspectivePointSize)+".0);");src.push("gl_PointSize = min(gl_PointSize, "+Math.floor(pointsMaterial.maxPerspectivePointSize)+".0);");}else{src.push("gl_PointSize = pointSize;");}src.push("gl_PointSize += 10.0;");src.push(" }");src.push("}");return src;}},{key:"_buildFragmentShader",value:function _buildFragmentShader(){var scene=this._scene;var sectionPlanesState=scene._sectionPlanesState;var clipping=sectionPlanesState.getNumAllocatedSectionPlanes()>0;var src=[];src.push('#version 300 es');src.push("// Points batching pick mesh vertex shader");src.push("#ifdef GL_FRAGMENT_PRECISION_HIGH");src.push("precision highp float;");src.push("precision highp int;");src.push("#else");src.push("precision mediump float;");src.push("precision mediump int;");src.push("#endif");if(scene.logarithmicDepthBufferEnabled){src.push("uniform float logDepthBufFC;");src.push("in float vFragDepth;");}if(clipping){src.push("in vec4 vWorldPosition;");src.push("in float vFlags;");for(var i=0;i 1.0) {");src.push(" discard;");src.push(" }");}if(clipping){src.push(" bool clippable = (int(vFlags) >> 16 & 0xF) == 1;");src.push(" if (clippable) {");src.push(" float dist = 0.0;");for(var _i276=0;_i276 0.0) { discard; }");src.push(" }");}if(scene.logarithmicDepthBufferEnabled){src.push("gl_FragDepth = log2( vFragDepth ) * logDepthBufFC * 0.5;");}src.push(" outColor = vPickColor; ");src.push("}");return src;}}]);return PointsBatchingPickMeshRenderer;}(VBOSceneModelPointBatchingRenderer);/** +src.push(" } else {");src.push(" vec4 worldPosition = worldMatrix * (positionsDecodeMatrix * vec4(position, 1.0)); ");if(scene.entityOffsetsEnabled){src.push(" worldPosition.xyz = worldPosition.xyz + offset;");}src.push(" vec4 viewPosition = viewMatrix * worldPosition; ");src.push(" vPickColor = vec4(float(pickColor.r) / 255.0, float(pickColor.g) / 255.0, float(pickColor.b) / 255.0, float(pickColor.a) / 255.0);");if(clipping){src.push(" vWorldPosition = worldPosition;");src.push(" vFlags = flags;");}src.push("vec4 clipPos = projMatrix * viewPosition;");if(scene.logarithmicDepthBufferEnabled){src.push("vFragDepth = 1.0 + clipPos.w;");}src.push("gl_Position = remapClipPos(clipPos);");if(pointsMaterial.perspectivePoints){src.push("gl_PointSize = (nearPlaneHeight * pointSize) / clipPos.w;");src.push("gl_PointSize = max(gl_PointSize, "+Math.floor(pointsMaterial.minPerspectivePointSize)+".0);");src.push("gl_PointSize = min(gl_PointSize, "+Math.floor(pointsMaterial.maxPerspectivePointSize)+".0);");}else{src.push("gl_PointSize = pointSize;");}src.push("gl_PointSize += 10.0;");src.push(" }");src.push("}");return src;}},{key:"_buildFragmentShader",value:function _buildFragmentShader(){var scene=this._scene;var sectionPlanesState=scene._sectionPlanesState;var clipping=sectionPlanesState.getNumAllocatedSectionPlanes()>0;var src=[];src.push('#version 300 es');src.push("// Points batching pick mesh vertex shader");src.push("#ifdef GL_FRAGMENT_PRECISION_HIGH");src.push("precision highp float;");src.push("precision highp int;");src.push("#else");src.push("precision mediump float;");src.push("precision mediump int;");src.push("#endif");if(scene.logarithmicDepthBufferEnabled){src.push("uniform float logDepthBufFC;");src.push("in float vFragDepth;");}if(clipping){src.push("in vec4 vWorldPosition;");src.push("in float vFlags;");for(var i=0;i 1.0) {");src.push(" discard;");src.push(" }");}if(clipping){src.push(" bool clippable = (int(vFlags) >> 16 & 0xF) == 1;");src.push(" if (clippable) {");src.push(" float dist = 0.0;");for(var _i280=0;_i280 0.0) { discard; }");src.push(" }");}if(scene.logarithmicDepthBufferEnabled){src.push("gl_FragDepth = log2( vFragDepth ) * logDepthBufFC * 0.5;");}src.push(" outColor = vPickColor; ");src.push("}");return src;}}]);return PointsBatchingPickMeshRenderer;}(VBOSceneModelPointBatchingRenderer);/** * @private */var PointsBatchingPickDepthRenderer=/*#__PURE__*/function(_VBOSceneModelPointBa4){_inherits(PointsBatchingPickDepthRenderer,_VBOSceneModelPointBa4);var _super115=_createSuper(PointsBatchingPickDepthRenderer);function PointsBatchingPickDepthRenderer(){_classCallCheck(this,PointsBatchingPickDepthRenderer);return _super115.apply(this,arguments);}_createClass(PointsBatchingPickDepthRenderer,[{key:"_getHash",value:function _getHash(){return this._scene._sectionPlanesState.getHash()+this._scene.pointsMaterial.hash;}},{key:"_buildVertexShader",value:function _buildVertexShader(){var scene=this._scene;var clipping=scene._sectionPlanesState.getNumAllocatedSectionPlanes()>0;var pointsMaterial=scene.pointsMaterial._state;var src=[];src.push('#version 300 es');src.push("// Points batched pick depth vertex shader");src.push("uniform int renderPass;");src.push("in vec3 position;");if(scene.entityOffsetsEnabled){src.push("in vec3 offset;");}src.push("in float flags;");src.push("uniform bool pickInvisible;");this._addMatricesUniformBlockLines(src);this._addRemapClipPosLines(src);src.push("uniform float pointSize;");if(pointsMaterial.perspectivePoints){src.push("uniform float nearPlaneHeight;");}if(scene.logarithmicDepthBufferEnabled){src.push("uniform float logDepthBufFC;");src.push("out float vFragDepth;");}if(clipping){src.push("out vec4 vWorldPosition;");src.push("out float vFlags;");}src.push("out vec4 vViewPosition;");src.push("void main(void) {");// pickFlag = NOT_RENDERED | PICK // renderPass = PICK src.push("int pickFlag = int(flags) >> 12 & 0xF;");src.push("if (pickFlag != renderPass) {");src.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);");// Cull vertex -src.push(" } else {");src.push(" vec4 worldPosition = worldMatrix * (positionsDecodeMatrix * vec4(position, 1.0)); ");if(scene.entityOffsetsEnabled){src.push(" worldPosition.xyz = worldPosition.xyz + offset;");}src.push(" vec4 viewPosition = viewMatrix * worldPosition; ");if(clipping){src.push(" vWorldPosition = worldPosition;");src.push(" vFlags = flags;");}src.push("vViewPosition = viewPosition;");src.push("vec4 clipPos = projMatrix * viewPosition;");if(scene.logarithmicDepthBufferEnabled){src.push("vFragDepth = 1.0 + clipPos.w;");}src.push("gl_Position = remapClipPos(clipPos);");if(pointsMaterial.perspectivePoints){src.push("gl_PointSize = (nearPlaneHeight * pointSize) / clipPos.w;");src.push("gl_PointSize = max(gl_PointSize, "+Math.floor(pointsMaterial.minPerspectivePointSize)+".0);");src.push("gl_PointSize = min(gl_PointSize, "+Math.floor(pointsMaterial.maxPerspectivePointSize)+".0);");}else{src.push("gl_PointSize = pointSize;");}src.push("gl_PointSize += 10.0;");src.push(" }");src.push("}");return src;}},{key:"_buildFragmentShader",value:function _buildFragmentShader(){var scene=this._scene;var sectionPlanesState=scene._sectionPlanesState;var clipping=sectionPlanesState.getNumAllocatedSectionPlanes()>0;var src=[];src.push('#version 300 es');src.push("// Points batched pick depth fragment shader");src.push("#ifdef GL_FRAGMENT_PRECISION_HIGH");src.push("precision highp float;");src.push("precision highp int;");src.push("#else");src.push("precision mediump float;");src.push("precision mediump int;");src.push("#endif");if(scene.logarithmicDepthBufferEnabled){src.push("uniform float logDepthBufFC;");src.push("in float vFragDepth;");}src.push("uniform float pickZNear;");src.push("uniform float pickZFar;");if(clipping){src.push("in vec4 vWorldPosition;");src.push("in float vFlags;");for(var _i277=0;_i277 1.0) {");src.push(" discard;");src.push(" }");}if(clipping){src.push(" bool clippable = (int(vFlags) >> 16 & 0xF) == 1;");src.push(" if (clippable) {");src.push(" float dist = 0.0;");for(var i=0;i 0.0) { discard; }");src.push(" }");}if(scene.logarithmicDepthBufferEnabled){src.push("gl_FragDepth = log2( vFragDepth ) * logDepthBufFC * 0.5;");}src.push(" float zNormalizedDepth = abs((pickZNear + vViewPosition.z) / (pickZFar - pickZNear));");src.push(" outColor = packDepth(zNormalizedDepth); ");// Must be linear depth +src.push(" } else {");src.push(" vec4 worldPosition = worldMatrix * (positionsDecodeMatrix * vec4(position, 1.0)); ");if(scene.entityOffsetsEnabled){src.push(" worldPosition.xyz = worldPosition.xyz + offset;");}src.push(" vec4 viewPosition = viewMatrix * worldPosition; ");if(clipping){src.push(" vWorldPosition = worldPosition;");src.push(" vFlags = flags;");}src.push("vViewPosition = viewPosition;");src.push("vec4 clipPos = projMatrix * viewPosition;");if(scene.logarithmicDepthBufferEnabled){src.push("vFragDepth = 1.0 + clipPos.w;");}src.push("gl_Position = remapClipPos(clipPos);");if(pointsMaterial.perspectivePoints){src.push("gl_PointSize = (nearPlaneHeight * pointSize) / clipPos.w;");src.push("gl_PointSize = max(gl_PointSize, "+Math.floor(pointsMaterial.minPerspectivePointSize)+".0);");src.push("gl_PointSize = min(gl_PointSize, "+Math.floor(pointsMaterial.maxPerspectivePointSize)+".0);");}else{src.push("gl_PointSize = pointSize;");}src.push("gl_PointSize += 10.0;");src.push(" }");src.push("}");return src;}},{key:"_buildFragmentShader",value:function _buildFragmentShader(){var scene=this._scene;var sectionPlanesState=scene._sectionPlanesState;var clipping=sectionPlanesState.getNumAllocatedSectionPlanes()>0;var src=[];src.push('#version 300 es');src.push("// Points batched pick depth fragment shader");src.push("#ifdef GL_FRAGMENT_PRECISION_HIGH");src.push("precision highp float;");src.push("precision highp int;");src.push("#else");src.push("precision mediump float;");src.push("precision mediump int;");src.push("#endif");if(scene.logarithmicDepthBufferEnabled){src.push("uniform float logDepthBufFC;");src.push("in float vFragDepth;");}src.push("uniform float pickZNear;");src.push("uniform float pickZFar;");if(clipping){src.push("in vec4 vWorldPosition;");src.push("in float vFlags;");for(var _i281=0;_i281 1.0) {");src.push(" discard;");src.push(" }");}if(clipping){src.push(" bool clippable = (int(vFlags) >> 16 & 0xF) == 1;");src.push(" if (clippable) {");src.push(" float dist = 0.0;");for(var i=0;i 0.0) { discard; }");src.push(" }");}if(scene.logarithmicDepthBufferEnabled){src.push("gl_FragDepth = log2( vFragDepth ) * logDepthBufFC * 0.5;");}src.push(" float zNormalizedDepth = abs((pickZNear + vViewPosition.z) / (pickZFar - pickZNear));");src.push(" outColor = packDepth(zNormalizedDepth); ");// Must be linear depth src.push("}");return src;}}]);return PointsBatchingPickDepthRenderer;}(VBOSceneModelPointBatchingRenderer);/** * @private */var PointsBatchingOcclusionRenderer=/*#__PURE__*/function(_VBOSceneModelPointBa5){_inherits(PointsBatchingOcclusionRenderer,_VBOSceneModelPointBa5);var _super116=_createSuper(PointsBatchingOcclusionRenderer);function PointsBatchingOcclusionRenderer(){_classCallCheck(this,PointsBatchingOcclusionRenderer);return _super116.apply(this,arguments);}_createClass(PointsBatchingOcclusionRenderer,[{key:"_getHash",value:function _getHash(){return this._scene._sectionPlanesState.getHash()+this._scene.pointsMaterial.hash;}},{key:"_buildVertexShader",value:function _buildVertexShader(){var scene=this._scene;var clipping=scene._sectionPlanesState.getNumAllocatedSectionPlanes()>0;var pointsMaterial=scene.pointsMaterial._state;var src=[];src.push('#version 300 es');src.push("// Points batching occlusion vertex shader");src.push("uniform int renderPass;");src.push("in vec3 position;");if(scene.entityOffsetsEnabled){src.push("in vec3 offset;");}src.push("in float flags;");this._addMatricesUniformBlockLines(src);src.push("uniform float pointSize;");if(pointsMaterial.perspectivePoints){src.push("uniform float nearPlaneHeight;");}if(scene.logarithmicDepthBufferEnabled){src.push("uniform float logDepthBufFC;");src.push("out float vFragDepth;");}if(clipping){src.push("out vec4 vWorldPosition;");src.push("out float vFlags;");}src.push("void main(void) {");// colorFlag = NOT_RENDERED | COLOR_OPAQUE | COLOR_TRANSPARENT // renderPass = COLOR_OPAQUE // Only opaque objects can be occluders src.push("int colorFlag = int(flags) & 0xF;");src.push("if (colorFlag != renderPass) {");src.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);");// Cull vertex -src.push(" } else {");src.push(" vec4 worldPosition = worldMatrix * (positionsDecodeMatrix * vec4(position, 1.0)); ");if(scene.entityOffsetsEnabled){src.push(" worldPosition.xyz = worldPosition.xyz + offset;");}src.push(" vec4 viewPosition = viewMatrix * worldPosition; ");if(clipping){src.push(" vWorldPosition = worldPosition;");src.push(" vFlags = flags;");}src.push("vec4 clipPos = projMatrix * viewPosition;");if(scene.logarithmicDepthBufferEnabled){src.push("vFragDepth = 1.0 + clipPos.w;");}src.push(" gl_Position = clipPos;");if(pointsMaterial.perspectivePoints){src.push("gl_PointSize = (nearPlaneHeight * pointSize) / clipPos.w;");src.push("gl_PointSize = max(gl_PointSize, "+Math.floor(pointsMaterial.minPerspectivePointSize)+".0);");src.push("gl_PointSize = min(gl_PointSize, "+Math.floor(pointsMaterial.maxPerspectivePointSize)+".0);");}else{src.push("gl_PointSize = pointSize;");}src.push(" }");src.push("}");return src;}},{key:"_buildFragmentShader",value:function _buildFragmentShader(){var scene=this._scene;var sectionPlanesState=scene._sectionPlanesState;var clipping=sectionPlanesState.getNumAllocatedSectionPlanes()>0;var src=[];src.push('#version 300 es');src.push("// Points batching occlusion fragment shader");src.push("#ifdef GL_FRAGMENT_PRECISION_HIGH");src.push("precision highp float;");src.push("precision highp int;");src.push("#else");src.push("precision mediump float;");src.push("precision mediump int;");src.push("#endif");if(scene.logarithmicDepthBufferEnabled){src.push("uniform float logDepthBufFC;");src.push("in float vFragDepth;");}if(clipping){src.push("in vec4 vWorldPosition;");src.push("in float vFlags;");for(var _i278=0;_i278 1.0) {");src.push(" discard;");src.push(" }");}if(clipping){src.push(" bool clippable = (int(vFlags) >> 16 & 0xF) == 1;");src.push(" if (clippable) {");src.push(" float dist = 0.0;");for(var _i279=0;_i279 0.0) { discard; }");src.push(" }");}if(scene.logarithmicDepthBufferEnabled){src.push("gl_FragDepth = log2( vFragDepth ) * logDepthBufFC * 0.5;");}src.push(" outColor = vec4(0.0, 0.0, 1.0, 1.0); ");// Occluders are blue +src.push(" } else {");src.push(" vec4 worldPosition = worldMatrix * (positionsDecodeMatrix * vec4(position, 1.0)); ");if(scene.entityOffsetsEnabled){src.push(" worldPosition.xyz = worldPosition.xyz + offset;");}src.push(" vec4 viewPosition = viewMatrix * worldPosition; ");if(clipping){src.push(" vWorldPosition = worldPosition;");src.push(" vFlags = flags;");}src.push("vec4 clipPos = projMatrix * viewPosition;");if(scene.logarithmicDepthBufferEnabled){src.push("vFragDepth = 1.0 + clipPos.w;");}src.push(" gl_Position = clipPos;");if(pointsMaterial.perspectivePoints){src.push("gl_PointSize = (nearPlaneHeight * pointSize) / clipPos.w;");src.push("gl_PointSize = max(gl_PointSize, "+Math.floor(pointsMaterial.minPerspectivePointSize)+".0);");src.push("gl_PointSize = min(gl_PointSize, "+Math.floor(pointsMaterial.maxPerspectivePointSize)+".0);");}else{src.push("gl_PointSize = pointSize;");}src.push(" }");src.push("}");return src;}},{key:"_buildFragmentShader",value:function _buildFragmentShader(){var scene=this._scene;var sectionPlanesState=scene._sectionPlanesState;var clipping=sectionPlanesState.getNumAllocatedSectionPlanes()>0;var src=[];src.push('#version 300 es');src.push("// Points batching occlusion fragment shader");src.push("#ifdef GL_FRAGMENT_PRECISION_HIGH");src.push("precision highp float;");src.push("precision highp int;");src.push("#else");src.push("precision mediump float;");src.push("precision mediump int;");src.push("#endif");if(scene.logarithmicDepthBufferEnabled){src.push("uniform float logDepthBufFC;");src.push("in float vFragDepth;");}if(clipping){src.push("in vec4 vWorldPosition;");src.push("in float vFlags;");for(var _i282=0;_i282 1.0) {");src.push(" discard;");src.push(" }");}if(clipping){src.push(" bool clippable = (int(vFlags) >> 16 & 0xF) == 1;");src.push(" if (clippable) {");src.push(" float dist = 0.0;");for(var _i283=0;_i283 0.0) { discard; }");src.push(" }");}if(scene.logarithmicDepthBufferEnabled){src.push("gl_FragDepth = log2( vFragDepth ) * logDepthBufFC * 0.5;");}src.push(" outColor = vec4(0.0, 0.0, 1.0, 1.0); ");// Occluders are blue src.push("}");return src;}}]);return PointsBatchingOcclusionRenderer;}(VBOSceneModelPointBatchingRenderer);/** * @private */var PointsBatchingRenderers=/*#__PURE__*/function(){function PointsBatchingRenderers(scene){_classCallCheck(this,PointsBatchingRenderers);this._scene=scene;}_createClass(PointsBatchingRenderers,[{key:"_compile",value:function _compile(){if(this._colorRenderer&&!this._colorRenderer.getValid()){this._colorRenderer.destroy();this._colorRenderer=null;}if(this._silhouetteRenderer&&!this._silhouetteRenderer.getValid()){this._silhouetteRenderer.destroy();this._silhouetteRenderer=null;}if(this._pickMeshRenderer&&!this._pickMeshRenderer.getValid()){this._pickMeshRenderer.destroy();this._pickMeshRenderer=null;}if(this._pickDepthRenderer&&!this._pickDepthRenderer.getValid()){this._pickDepthRenderer.destroy();this._pickDepthRenderer=null;}if(this._occlusionRenderer&&this._occlusionRenderer.getValid()===false){this._occlusionRenderer.destroy();this._occlusionRenderer=null;}}},{key:"colorRenderer",get:function get(){if(!this._colorRenderer){this._colorRenderer=new PointsBatchingColorRenderer(this._scene);}return this._colorRenderer;}},{key:"silhouetteRenderer",get:function get(){if(!this._silhouetteRenderer){this._silhouetteRenderer=new PointsBatchingSilhouetteRenderer(this._scene);}return this._silhouetteRenderer;}},{key:"pickMeshRenderer",get:function get(){if(!this._pickMeshRenderer){this._pickMeshRenderer=new PointsBatchingPickMeshRenderer(this._scene);}return this._pickMeshRenderer;}},{key:"pickDepthRenderer",get:function get(){if(!this._pickDepthRenderer){this._pickDepthRenderer=new PointsBatchingPickDepthRenderer(this._scene);}return this._pickDepthRenderer;}},{key:"occlusionRenderer",get:function get(){if(!this._occlusionRenderer){this._occlusionRenderer=new PointsBatchingOcclusionRenderer(this._scene);}return this._occlusionRenderer;}},{key:"_destroy",value:function _destroy(){if(this._colorRenderer){this._colorRenderer.destroy();}if(this._silhouetteRenderer){this._silhouetteRenderer.destroy();}if(this._pickMeshRenderer){this._pickMeshRenderer.destroy();}if(this._pickDepthRenderer){this._pickDepthRenderer.destroy();}if(this._occlusionRenderer){this._occlusionRenderer.destroy();}}}]);return PointsBatchingRenderers;}();var cachedRenderers$1={};/** @@ -18008,19 +18016,20 @@ this.positions=[];this.colors=[];this.intensities=[];this.pickColors=[];this.off * @type {Number} */this.layerIndex=cfg.layerIndex;this._pointsBatchingRenderers=getPointsBatchingRenderers(cfg.model.scene);this._buffer=new PointsBatchingBuffer(cfg.maxGeometryBatchSize);this._scratchMemory=cfg.scratchMemory;this._state=new RenderState({positionsBuf:null,offsetsBuf:null,colorsBuf:null,flagsBuf:null,positionsDecodeMatrix:math.mat4(),origin:null});// These counts are used to avoid unnecessary render passes this._numPortions=0;this._numVisibleLayerPortions=0;this._numTransparentLayerPortions=0;this._numXRayedLayerPortions=0;this._numSelectedLayerPortions=0;this._numHighlightedLayerPortions=0;this._numClippableLayerPortions=0;this._numPickableLayerPortions=0;this._numCulledLayerPortions=0;this._modelAABB=math.collapseAABB3();// Model-space AABB -this._portions=[];this._finalized=false;if(cfg.positionsDecodeMatrix){this._state.positionsDecodeMatrix.set(cfg.positionsDecodeMatrix);this._preCompressedPositionsExpected=true;}else{this._preCompressedPositionsExpected=false;}if(cfg.origin){this._state.origin=math.vec3(cfg.origin);}/** +this._portions=[];this._meshes=[];this._aabb=math.collapseAABB3();this.aabbDirty=true;this._finalized=false;if(cfg.positionsDecodeMatrix){this._state.positionsDecodeMatrix.set(cfg.positionsDecodeMatrix);this._preCompressedPositionsExpected=true;}else{this._preCompressedPositionsExpected=false;}if(cfg.origin){this._state.origin=math.vec3(cfg.origin);}/** * The axis-aligned World-space boundary of this PointsBatchingLayer's positions. * @type {*|Float64Array} - */this.aabb=math.collapseAABB3();}/** + */this.aabb=math.collapseAABB3();}_createClass(PointsBatchingLayer,[{key:"aabb",get:function get(){if(this.aabbDirty){math.collapseAABB3(this._aabb);for(var _i284=0,len=this._meshes.length;_i2840){if(this._preCompressedPositionsExpected){var positions=new Uint16Array(buffer.positions);state.positionsBuf=new ArrayBuf(gl,gl.ARRAY_BUFFER,positions,buffer.positions.length,3,gl.STATIC_DRAW);}else{var _positions3=new Float32Array(buffer.positions);var quantizedPositions=quantizePositions(_positions3,this._modelAABB,state.positionsDecodeMatrix);state.positionsBuf=new ArrayBuf(gl,gl.ARRAY_BUFFER,quantizedPositions,buffer.positions.length,3,gl.STATIC_DRAW);}}if(buffer.colors.length>0){var colors=new Uint8Array(buffer.colors);var normalized=false;state.colorsBuf=new ArrayBuf(gl,gl.ARRAY_BUFFER,colors,buffer.colors.length,4,gl.STATIC_DRAW,normalized);}if(buffer.positions.length>0){// Because we build flags arrays here, get their length from the positions array var flagsLength=buffer.positions.length/3;var flags=new Float32Array(flagsLength);var notNormalized=false;state.flagsBuf=new ArrayBuf(gl,gl.ARRAY_BUFFER,flags,flags.length,1,gl.DYNAMIC_DRAW,notNormalized);}if(buffer.pickColors.length>0){var pickColors=new Uint8Array(buffer.pickColors);var _normalized7=false;state.pickColorsBuf=new ArrayBuf(gl,gl.ARRAY_BUFFER,pickColors,buffer.pickColors.length,4,gl.STATIC_DRAW,_normalized7);}if(this.model.scene.entityOffsetsEnabled){if(buffer.offsets.length>0){var offsets=new Float32Array(buffer.offsets);state.offsetsBuf=new ArrayBuf(gl,gl.ARRAY_BUFFER,offsets,buffer.offsets.length,3,gl.DYNAMIC_DRAW);}}this._buffer=null;this._finalized=true;}},{key:"initFlags",value:function initFlags(portionId,flags,meshTransparent){if(flags&ENTITY_FLAGS.VISIBLE){this._numVisibleLayerPortions++;this.model.numVisibleLayerPortions++;}if(flags&ENTITY_FLAGS.HIGHLIGHTED){this._numHighlightedLayerPortions++;this.model.numHighlightedLayerPortions++;}if(flags&ENTITY_FLAGS.XRAYED){this._numXRayedLayerPortions++;this.model.numXRayedLayerPortions++;}if(flags&ENTITY_FLAGS.SELECTED){this._numSelectedLayerPortions++;this.model.numSelectedLayerPortions++;}if(flags&ENTITY_FLAGS.CLIPPABLE){this._numClippableLayerPortions++;this.model.numClippableLayerPortions++;}if(flags&ENTITY_FLAGS.PICKABLE){this._numPickableLayerPortions++;this.model.numPickableLayerPortions++;}if(flags&ENTITY_FLAGS.CULLED){this._numCulledLayerPortions++;this.model.numCulledLayerPortions++;}if(meshTransparent){this._numTransparentLayerPortions++;this.model.numTransparentLayerPortions++;}this._setFlags(portionId,flags,meshTransparent);}},{key:"setVisible",value:function setVisible(portionId,flags,transparent){if(!this._finalized){throw"Not finalized";}if(flags&ENTITY_FLAGS.VISIBLE){this._numVisibleLayerPortions++;this.model.numVisibleLayerPortions++;}else{this._numVisibleLayerPortions--;this.model.numVisibleLayerPortions--;}this._setFlags(portionId,flags,transparent);}},{key:"setHighlighted",value:function setHighlighted(portionId,flags,transparent){if(!this._finalized){throw"Not finalized";}if(flags&ENTITY_FLAGS.HIGHLIGHTED){this._numHighlightedLayerPortions++;this.model.numHighlightedLayerPortions++;}else{this._numHighlightedLayerPortions--;this.model.numHighlightedLayerPortions--;}this._setFlags(portionId,flags,transparent);}},{key:"setXRayed",value:function setXRayed(portionId,flags,transparent){if(!this._finalized){throw"Not finalized";}if(flags&ENTITY_FLAGS.XRAYED){this._numXRayedLayerPortions++;this.model.numXRayedLayerPortions++;}else{this._numXRayedLayerPortions--;this.model.numXRayedLayerPortions--;}this._setFlags(portionId,flags,transparent);}},{key:"setSelected",value:function setSelected(portionId,flags,transparent){if(!this._finalized){throw"Not finalized";}if(flags&ENTITY_FLAGS.SELECTED){this._numSelectedLayerPortions++;this.model.numSelectedLayerPortions++;}else{this._numSelectedLayerPortions--;this.model.numSelectedLayerPortions--;}this._setFlags(portionId,flags,transparent);}},{key:"setEdges",value:function setEdges(portionId,flags,transparent){if(!this._finalized){throw"Not finalized";}// Not applicable to point clouds -}},{key:"setClippable",value:function setClippable(portionId,flags){if(!this._finalized){throw"Not finalized";}if(flags&ENTITY_FLAGS.CLIPPABLE){this._numClippableLayerPortions++;this.model.numClippableLayerPortions++;}else{this._numClippableLayerPortions--;this.model.numClippableLayerPortions--;}this._setFlags(portionId,flags);}},{key:"setCulled",value:function setCulled(portionId,flags,transparent){if(!this._finalized){throw"Not finalized";}if(flags&ENTITY_FLAGS.CULLED){this._numCulledLayerPortions++;this.model.numCulledLayerPortions++;}else{this._numCulledLayerPortions--;this.model.numCulledLayerPortions--;}this._setFlags(portionId,flags,transparent);}},{key:"setCollidable",value:function setCollidable(portionId,flags){if(!this._finalized){throw"Not finalized";}}},{key:"setPickable",value:function setPickable(portionId,flags,transparent){if(!this._finalized){throw"Not finalized";}if(flags&ENTITY_FLAGS.PICKABLE){this._numPickableLayerPortions++;this.model.numPickableLayerPortions++;}else{this._numPickableLayerPortions--;this.model.numPickableLayerPortions--;}this._setFlags(portionId,flags,transparent);}},{key:"setColor",value:function setColor(portionId,color){if(!this._finalized){throw"Not finalized";}var portionsIdx=portionId*2;var vertexBase=this._portions[portionsIdx];var numVerts=this._portions[portionsIdx+1];var firstColor=vertexBase*4;var lenColor=numVerts*4;var tempArray=this._scratchMemory.getUInt8Array(lenColor);var r=color[0];var g=color[1];var b=color[2];for(var _i287=0;_i287 intensityRange[1]) {");src.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);");// Cull vertex -src.push("} else {");}src.push("vec4 worldPosition = positionsDecodeMatrix * vec4(position, 1.0); ");src.push("worldPosition = worldMatrix * vec4(dot(worldPosition, modelMatrixCol0), dot(worldPosition, modelMatrixCol1), dot(worldPosition, modelMatrixCol2), 1.0);");if(scene.entityOffsetsEnabled){src.push(" worldPosition.xyz = worldPosition.xyz + offset;");}src.push("vec4 viewPosition = viewMatrix * worldPosition; ");src.push("vColor = vec4(float(color.r) / 255.0, float(color.g) / 255.0, float(color.b) / 255.0, 1.0);");if(clipping){src.push("vWorldPosition = worldPosition;");src.push("vFlags = flags;");}src.push("vec4 clipPos = projMatrix * viewPosition;");if(scene.logarithmicDepthBufferEnabled){src.push("vFragDepth = 1.0 + clipPos.w;");}src.push("gl_Position = clipPos;");if(pointsMaterial.perspectivePoints){src.push("gl_PointSize = (nearPlaneHeight * pointSize) / clipPos.w;");src.push("gl_PointSize = max(gl_PointSize, "+Math.floor(pointsMaterial.minPerspectivePointSize)+".0);");src.push("gl_PointSize = min(gl_PointSize, "+Math.floor(pointsMaterial.maxPerspectivePointSize)+".0);");}else{src.push("gl_PointSize = pointSize;");}src.push("}");if(pointsMaterial.filterIntensity){src.push("}");}src.push("}");return src;}},{key:"_buildFragmentShader",value:function _buildFragmentShader(){var scene=this._scene;var sectionPlanesState=scene._sectionPlanesState;var clipping=sectionPlanesState.getNumAllocatedSectionPlanes()>0;var src=[];src.push('#version 300 es');src.push("// Points instancing color fragment shader");src.push("#ifdef GL_FRAGMENT_PRECISION_HIGH");src.push("precision highp float;");src.push("precision highp int;");src.push("#else");src.push("precision mediump float;");src.push("precision mediump int;");src.push("#endif");if(scene.logarithmicDepthBufferEnabled){src.push("uniform float logDepthBufFC;");src.push("in float vFragDepth;");}if(clipping){src.push("in vec4 vWorldPosition;");src.push("in float vFlags;");for(var _i290=0,len=sectionPlanesState.getNumAllocatedSectionPlanes();_i290 1.0) {");src.push(" discard;");src.push(" }");}if(clipping){src.push(" bool clippable = (int(vFlags) >> 16 & 0xF) == 1;");src.push(" if (clippable) {");src.push(" float dist = 0.0;");for(var _i291=0,_len66=sectionPlanesState.getNumAllocatedSectionPlanes();_i291<_len66;_i291++){src.push("if (sectionPlaneActive"+_i291+") {");src.push(" dist += clamp(dot(-sectionPlaneDir"+_i291+".xyz, vWorldPosition.xyz - sectionPlanePos"+_i291+".xyz), 0.0, 1000.0);");src.push("}");}src.push("if (dist > 0.0) { discard; }");src.push("}");}src.push(" outColor = vColor;");if(scene.logarithmicDepthBufferEnabled){src.push("gl_FragDepth = log2( vFragDepth ) * logDepthBufFC * 0.5;");}src.push("}");return src;}}]);return PointsInstancingColorRenderer;}(VBOSceneModelPointInstancingRenderer);/** +src.push("} else {");}src.push("vec4 worldPosition = positionsDecodeMatrix * vec4(position, 1.0); ");src.push("worldPosition = worldMatrix * vec4(dot(worldPosition, modelMatrixCol0), dot(worldPosition, modelMatrixCol1), dot(worldPosition, modelMatrixCol2), 1.0);");if(scene.entityOffsetsEnabled){src.push(" worldPosition.xyz = worldPosition.xyz + offset;");}src.push("vec4 viewPosition = viewMatrix * worldPosition; ");src.push("vColor = vec4(float(color.r) / 255.0, float(color.g) / 255.0, float(color.b) / 255.0, 1.0);");if(clipping){src.push("vWorldPosition = worldPosition;");src.push("vFlags = flags;");}src.push("vec4 clipPos = projMatrix * viewPosition;");if(scene.logarithmicDepthBufferEnabled){src.push("vFragDepth = 1.0 + clipPos.w;");}src.push("gl_Position = clipPos;");if(pointsMaterial.perspectivePoints){src.push("gl_PointSize = (nearPlaneHeight * pointSize) / clipPos.w;");src.push("gl_PointSize = max(gl_PointSize, "+Math.floor(pointsMaterial.minPerspectivePointSize)+".0);");src.push("gl_PointSize = min(gl_PointSize, "+Math.floor(pointsMaterial.maxPerspectivePointSize)+".0);");}else{src.push("gl_PointSize = pointSize;");}src.push("}");if(pointsMaterial.filterIntensity){src.push("}");}src.push("}");return src;}},{key:"_buildFragmentShader",value:function _buildFragmentShader(){var scene=this._scene;var sectionPlanesState=scene._sectionPlanesState;var clipping=sectionPlanesState.getNumAllocatedSectionPlanes()>0;var src=[];src.push('#version 300 es');src.push("// Points instancing color fragment shader");src.push("#ifdef GL_FRAGMENT_PRECISION_HIGH");src.push("precision highp float;");src.push("precision highp int;");src.push("#else");src.push("precision mediump float;");src.push("precision mediump int;");src.push("#endif");if(scene.logarithmicDepthBufferEnabled){src.push("uniform float logDepthBufFC;");src.push("in float vFragDepth;");}if(clipping){src.push("in vec4 vWorldPosition;");src.push("in float vFlags;");for(var _i295=0,len=sectionPlanesState.getNumAllocatedSectionPlanes();_i295 1.0) {");src.push(" discard;");src.push(" }");}if(clipping){src.push(" bool clippable = (int(vFlags) >> 16 & 0xF) == 1;");src.push(" if (clippable) {");src.push(" float dist = 0.0;");for(var _i296=0,_len66=sectionPlanesState.getNumAllocatedSectionPlanes();_i296<_len66;_i296++){src.push("if (sectionPlaneActive"+_i296+") {");src.push(" dist += clamp(dot(-sectionPlaneDir"+_i296+".xyz, vWorldPosition.xyz - sectionPlanePos"+_i296+".xyz), 0.0, 1000.0);");src.push("}");}src.push("if (dist > 0.0) { discard; }");src.push("}");}src.push(" outColor = vColor;");if(scene.logarithmicDepthBufferEnabled){src.push("gl_FragDepth = log2( vFragDepth ) * logDepthBufFC * 0.5;");}src.push("}");return src;}}]);return PointsInstancingColorRenderer;}(VBOSceneModelPointInstancingRenderer);/** * @private */var PointsInstancingSilhouetteRenderer=/*#__PURE__*/function(_VBOSceneModelPointIn2){_inherits(PointsInstancingSilhouetteRenderer,_VBOSceneModelPointIn2);var _super118=_createSuper(PointsInstancingSilhouetteRenderer);function PointsInstancingSilhouetteRenderer(){_classCallCheck(this,PointsInstancingSilhouetteRenderer);return _super118.apply(this,arguments);}_createClass(PointsInstancingSilhouetteRenderer,[{key:"_getHash",value:function _getHash(){return this._scene._sectionPlanesState.getHash()+this._scene.pointsMaterial.hash;}},{key:"drawLayer",value:function drawLayer(frameCtx,instancingLayer,renderPass){_get(_getPrototypeOf(PointsInstancingSilhouetteRenderer.prototype),"drawLayer",this).call(this,frameCtx,instancingLayer,renderPass,{colorUniform:true});}},{key:"_buildVertexShader",value:function _buildVertexShader(){var scene=this._scene;var sectionPlanesState=scene._sectionPlanesState;var clipping=sectionPlanesState.getNumAllocatedSectionPlanes()>0;var pointsMaterial=scene.pointsMaterial._state;var src=[];src.push('#version 300 es');src.push("// Points instancing silhouette vertex shader");src.push("uniform int renderPass;");src.push("in vec3 position;");if(scene.entityOffsetsEnabled){src.push("in vec3 offset;");}src.push("in float flags;");src.push("in vec4 color;");src.push("in vec4 modelMatrixCol0;");// Modeling matrix src.push("in vec4 modelMatrixCol1;");src.push("in vec4 modelMatrixCol2;");this._addMatricesUniformBlockLines(src);src.push("uniform float pointSize;");if(pointsMaterial.perspectivePoints){src.push("uniform float nearPlaneHeight;");}if(scene.logarithmicDepthBufferEnabled){src.push("uniform float logDepthBufFC;");src.push("out float vFragDepth;");}src.push("uniform vec4 silhouetteColor;");if(clipping){src.push("out vec4 vWorldPosition;");src.push("out float vFlags;");}src.push("out vec4 vColor;");src.push("void main(void) {");// silhouetteFlag = NOT_RENDERED | SILHOUETTE_HIGHLIGHTED | SILHOUETTE_SELECTED | | SILHOUETTE_XRAYED // renderPass = SILHOUETTE_HIGHLIGHTED | SILHOUETTE_SELECTED | | SILHOUETTE_XRAYED src.push("int silhouetteFlag = int(flags) >> 4 & 0xF;");src.push("if (silhouetteFlag != renderPass) {");src.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);");// Cull vertex -src.push("} else {");src.push("vec4 worldPosition = positionsDecodeMatrix * vec4(position, 1.0); ");src.push("worldPosition = worldMatrix * vec4(dot(worldPosition, modelMatrixCol0), dot(worldPosition, modelMatrixCol1), dot(worldPosition, modelMatrixCol2), 1.0);");if(scene.entityOffsetsEnabled){src.push(" worldPosition.xyz = worldPosition.xyz + offset;");}src.push("vec4 viewPosition = viewMatrix * worldPosition; ");if(clipping){src.push("vWorldPosition = worldPosition;");src.push("vFlags = flags;");}src.push("vec4 clipPos = projMatrix * viewPosition;");if(scene.logarithmicDepthBufferEnabled){src.push("vFragDepth = 1.0 + clipPos.w;");}src.push("vColor = vec4(float(silhouetteColor.r) / 255.0, float(silhouetteColor.g) / 255.0, float(silhouetteColor.b) / 255.0, float(color.a) / 255.0);");src.push("gl_Position = clipPos;");if(pointsMaterial.perspectivePoints){src.push("gl_PointSize = (nearPlaneHeight * pointSize) / clipPos.w;");src.push("gl_PointSize = max(gl_PointSize, "+Math.floor(pointsMaterial.minPerspectivePointSize)+".0);");src.push("gl_PointSize = min(gl_PointSize, "+Math.floor(pointsMaterial.maxPerspectivePointSize)+".0);");}else{src.push("gl_PointSize = pointSize;");}src.push("}");src.push("}");return src;}},{key:"_buildFragmentShader",value:function _buildFragmentShader(){var scene=this._scene;var sectionPlanesState=scene._sectionPlanesState;var clipping=sectionPlanesState.getNumAllocatedSectionPlanes()>0;var src=[];src.push('#version 300 es');src.push("// Points instancing silhouette fragment shader");src.push("#ifdef GL_FRAGMENT_PRECISION_HIGH");src.push("precision highp float;");src.push("precision highp int;");src.push("#else");src.push("precision mediump float;");src.push("precision mediump int;");src.push("#endif");if(scene.logarithmicDepthBufferEnabled){src.push("uniform float logDepthBufFC;");src.push("in float vFragDepth;");}if(clipping){src.push("in vec4 vWorldPosition;");src.push("in float vFlags;");for(var _i292=0,len=sectionPlanesState.getNumAllocatedSectionPlanes();_i292 1.0) {");src.push(" discard;");src.push(" }");}if(clipping){src.push(" bool clippable = (int(vFlags) >> 16 & 0xF) == 1;");src.push(" if (clippable) {");src.push(" float dist = 0.0;");for(var _i293=0,_len67=sectionPlanesState.getNumAllocatedSectionPlanes();_i293<_len67;_i293++){src.push("if (sectionPlaneActive"+_i293+") {");src.push(" dist += clamp(dot(-sectionPlaneDir"+_i293+".xyz, vWorldPosition.xyz - sectionPlanePos"+_i293+".xyz), 0.0, 1000.0);");src.push("}");}src.push("if (dist > 0.0) { discard; }");src.push("}");}if(scene.logarithmicDepthBufferEnabled){src.push("gl_FragDepth = log2( vFragDepth ) * logDepthBufFC * 0.5;");}src.push("outColor = vColor;");src.push("}");return src;}}]);return PointsInstancingSilhouetteRenderer;}(VBOSceneModelPointInstancingRenderer);/** +src.push("} else {");src.push("vec4 worldPosition = positionsDecodeMatrix * vec4(position, 1.0); ");src.push("worldPosition = worldMatrix * vec4(dot(worldPosition, modelMatrixCol0), dot(worldPosition, modelMatrixCol1), dot(worldPosition, modelMatrixCol2), 1.0);");if(scene.entityOffsetsEnabled){src.push(" worldPosition.xyz = worldPosition.xyz + offset;");}src.push("vec4 viewPosition = viewMatrix * worldPosition; ");if(clipping){src.push("vWorldPosition = worldPosition;");src.push("vFlags = flags;");}src.push("vec4 clipPos = projMatrix * viewPosition;");if(scene.logarithmicDepthBufferEnabled){src.push("vFragDepth = 1.0 + clipPos.w;");}src.push("vColor = vec4(float(silhouetteColor.r) / 255.0, float(silhouetteColor.g) / 255.0, float(silhouetteColor.b) / 255.0, float(color.a) / 255.0);");src.push("gl_Position = clipPos;");if(pointsMaterial.perspectivePoints){src.push("gl_PointSize = (nearPlaneHeight * pointSize) / clipPos.w;");src.push("gl_PointSize = max(gl_PointSize, "+Math.floor(pointsMaterial.minPerspectivePointSize)+".0);");src.push("gl_PointSize = min(gl_PointSize, "+Math.floor(pointsMaterial.maxPerspectivePointSize)+".0);");}else{src.push("gl_PointSize = pointSize;");}src.push("}");src.push("}");return src;}},{key:"_buildFragmentShader",value:function _buildFragmentShader(){var scene=this._scene;var sectionPlanesState=scene._sectionPlanesState;var clipping=sectionPlanesState.getNumAllocatedSectionPlanes()>0;var src=[];src.push('#version 300 es');src.push("// Points instancing silhouette fragment shader");src.push("#ifdef GL_FRAGMENT_PRECISION_HIGH");src.push("precision highp float;");src.push("precision highp int;");src.push("#else");src.push("precision mediump float;");src.push("precision mediump int;");src.push("#endif");if(scene.logarithmicDepthBufferEnabled){src.push("uniform float logDepthBufFC;");src.push("in float vFragDepth;");}if(clipping){src.push("in vec4 vWorldPosition;");src.push("in float vFlags;");for(var _i297=0,len=sectionPlanesState.getNumAllocatedSectionPlanes();_i297 1.0) {");src.push(" discard;");src.push(" }");}if(clipping){src.push(" bool clippable = (int(vFlags) >> 16 & 0xF) == 1;");src.push(" if (clippable) {");src.push(" float dist = 0.0;");for(var _i298=0,_len67=sectionPlanesState.getNumAllocatedSectionPlanes();_i298<_len67;_i298++){src.push("if (sectionPlaneActive"+_i298+") {");src.push(" dist += clamp(dot(-sectionPlaneDir"+_i298+".xyz, vWorldPosition.xyz - sectionPlanePos"+_i298+".xyz), 0.0, 1000.0);");src.push("}");}src.push("if (dist > 0.0) { discard; }");src.push("}");}if(scene.logarithmicDepthBufferEnabled){src.push("gl_FragDepth = log2( vFragDepth ) * logDepthBufFC * 0.5;");}src.push("outColor = vColor;");src.push("}");return src;}}]);return PointsInstancingSilhouetteRenderer;}(VBOSceneModelPointInstancingRenderer);/** * @private */var PointsInstancingPickMeshRenderer=/*#__PURE__*/function(_VBOSceneModelPointIn3){_inherits(PointsInstancingPickMeshRenderer,_VBOSceneModelPointIn3);var _super119=_createSuper(PointsInstancingPickMeshRenderer);function PointsInstancingPickMeshRenderer(){_classCallCheck(this,PointsInstancingPickMeshRenderer);return _super119.apply(this,arguments);}_createClass(PointsInstancingPickMeshRenderer,[{key:"_getHash",value:function _getHash(){return this._scene._sectionPlanesState.getHash()+this._scene.pointsMaterial.hash;}},{key:"_buildVertexShader",value:function _buildVertexShader(){var scene=this._scene;var sectionPlanesState=scene._sectionPlanesState;var clipping=sectionPlanesState.getNumAllocatedSectionPlanes()>0;var pointsMaterial=scene.pointsMaterial._state;var src=[];src.push('#version 300 es');src.push("// Points instancing pick mesh vertex shader");src.push("uniform int renderPass;");src.push("in vec3 position;");if(scene.entityOffsetsEnabled){src.push("in vec3 offset;");}src.push("in float flags;");src.push("in vec4 pickColor;");src.push("in vec4 modelMatrixCol0;");// Modeling matrix src.push("in vec4 modelMatrixCol1;");src.push("in vec4 modelMatrixCol2;");src.push("uniform bool pickInvisible;");this._addMatricesUniformBlockLines(src);this._addRemapClipPosLines(src);src.push("uniform float pointSize;");if(pointsMaterial.perspectivePoints){src.push("uniform float nearPlaneHeight;");}if(scene.logarithmicDepthBufferEnabled){src.push("uniform float logDepthBufFC;");src.push("out float vFragDepth;");}if(clipping){src.push("out vec4 vWorldPosition;");src.push("out float vFlags;");}src.push("out vec4 vPickColor;");src.push("void main(void) {");// pickFlag = NOT_RENDERED | PICK // renderPass = PICK src.push("int pickFlag = int(flags) >> 12 & 0xF;");src.push("if (pickFlag != renderPass) {");src.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);");// Cull vertex -src.push("} else {");src.push(" vec4 worldPosition = positionsDecodeMatrix * vec4(position, 1.0); ");src.push(" worldPosition = worldMatrix * vec4(dot(worldPosition, modelMatrixCol0), dot(worldPosition, modelMatrixCol1), dot(worldPosition, modelMatrixCol2), 1.0);");if(scene.entityOffsetsEnabled){src.push(" worldPosition.xyz = worldPosition.xyz + offset;");}src.push(" vec4 viewPosition = viewMatrix * worldPosition; ");src.push(" vPickColor = vec4(float(pickColor.r) / 255.0, float(pickColor.g) / 255.0, float(pickColor.b) / 255.0, float(pickColor.a) / 255.0);");if(clipping){src.push(" vWorldPosition = worldPosition;");src.push(" vFlags = flags;");}src.push("vec4 clipPos = projMatrix * viewPosition;");src.push("gl_Position = remapClipPos(clipPos);");if(scene.logarithmicDepthBufferEnabled){src.push("vFragDepth = 1.0 + clipPos.w;");}if(pointsMaterial.perspectivePoints){src.push("gl_PointSize = (nearPlaneHeight * pointSize) / clipPos.w;");src.push("gl_PointSize = max(gl_PointSize, "+Math.floor(pointsMaterial.minPerspectivePointSize)+".0);");src.push("gl_PointSize = min(gl_PointSize, "+Math.floor(pointsMaterial.maxPerspectivePointSize)+".0);");}else{src.push("gl_PointSize = pointSize;");}src.push("}");src.push("}");return src;}},{key:"_buildFragmentShader",value:function _buildFragmentShader(){var scene=this._scene;var sectionPlanesState=scene._sectionPlanesState;var clipping=sectionPlanesState.getNumAllocatedSectionPlanes()>0;var src=[];src.push('#version 300 es');src.push("// Points instancing pick mesh fragment shader");src.push("#ifdef GL_FRAGMENT_PRECISION_HIGH");src.push("precision highp float;");src.push("precision highp int;");src.push("#else");src.push("precision mediump float;");src.push("precision mediump int;");src.push("#endif");if(scene.logarithmicDepthBufferEnabled){src.push("uniform float logDepthBufFC;");src.push("in float vFragDepth;");}if(clipping){src.push("in vec4 vWorldPosition;");src.push("in float vFlags;");for(var _i294=0;_i294 1.0) {");src.push(" discard;");src.push(" }");}if(clipping){src.push(" bool clippable = (int(vFlags) >> 16 & 0xF) == 1;");src.push(" if (clippable) {");src.push(" float dist = 0.0;");for(var _i295=0;_i295 0.0) { discard; }");src.push("}");}if(scene.logarithmicDepthBufferEnabled){src.push("gl_FragDepth = log2( vFragDepth ) * logDepthBufFC * 0.5;");}src.push("outColor = vPickColor; ");src.push("}");return src;}}]);return PointsInstancingPickMeshRenderer;}(VBOSceneModelPointInstancingRenderer);/** +src.push("} else {");src.push(" vec4 worldPosition = positionsDecodeMatrix * vec4(position, 1.0); ");src.push(" worldPosition = worldMatrix * vec4(dot(worldPosition, modelMatrixCol0), dot(worldPosition, modelMatrixCol1), dot(worldPosition, modelMatrixCol2), 1.0);");if(scene.entityOffsetsEnabled){src.push(" worldPosition.xyz = worldPosition.xyz + offset;");}src.push(" vec4 viewPosition = viewMatrix * worldPosition; ");src.push(" vPickColor = vec4(float(pickColor.r) / 255.0, float(pickColor.g) / 255.0, float(pickColor.b) / 255.0, float(pickColor.a) / 255.0);");if(clipping){src.push(" vWorldPosition = worldPosition;");src.push(" vFlags = flags;");}src.push("vec4 clipPos = projMatrix * viewPosition;");src.push("gl_Position = remapClipPos(clipPos);");if(scene.logarithmicDepthBufferEnabled){src.push("vFragDepth = 1.0 + clipPos.w;");}if(pointsMaterial.perspectivePoints){src.push("gl_PointSize = (nearPlaneHeight * pointSize) / clipPos.w;");src.push("gl_PointSize = max(gl_PointSize, "+Math.floor(pointsMaterial.minPerspectivePointSize)+".0);");src.push("gl_PointSize = min(gl_PointSize, "+Math.floor(pointsMaterial.maxPerspectivePointSize)+".0);");}else{src.push("gl_PointSize = pointSize;");}src.push("}");src.push("}");return src;}},{key:"_buildFragmentShader",value:function _buildFragmentShader(){var scene=this._scene;var sectionPlanesState=scene._sectionPlanesState;var clipping=sectionPlanesState.getNumAllocatedSectionPlanes()>0;var src=[];src.push('#version 300 es');src.push("// Points instancing pick mesh fragment shader");src.push("#ifdef GL_FRAGMENT_PRECISION_HIGH");src.push("precision highp float;");src.push("precision highp int;");src.push("#else");src.push("precision mediump float;");src.push("precision mediump int;");src.push("#endif");if(scene.logarithmicDepthBufferEnabled){src.push("uniform float logDepthBufFC;");src.push("in float vFragDepth;");}if(clipping){src.push("in vec4 vWorldPosition;");src.push("in float vFlags;");for(var _i299=0;_i299 1.0) {");src.push(" discard;");src.push(" }");}if(clipping){src.push(" bool clippable = (int(vFlags) >> 16 & 0xF) == 1;");src.push(" if (clippable) {");src.push(" float dist = 0.0;");for(var _i300=0;_i300 0.0) { discard; }");src.push("}");}if(scene.logarithmicDepthBufferEnabled){src.push("gl_FragDepth = log2( vFragDepth ) * logDepthBufFC * 0.5;");}src.push("outColor = vPickColor; ");src.push("}");return src;}}]);return PointsInstancingPickMeshRenderer;}(VBOSceneModelPointInstancingRenderer);/** * @private */var PointsInstancingPickDepthRenderer=/*#__PURE__*/function(_VBOSceneModelPointIn4){_inherits(PointsInstancingPickDepthRenderer,_VBOSceneModelPointIn4);var _super120=_createSuper(PointsInstancingPickDepthRenderer);function PointsInstancingPickDepthRenderer(){_classCallCheck(this,PointsInstancingPickDepthRenderer);return _super120.apply(this,arguments);}_createClass(PointsInstancingPickDepthRenderer,[{key:"_getHash",value:function _getHash(){return this._scene._sectionPlanesState.getHash()+this._scene.pointsMaterial.hash;}},{key:"_buildVertexShader",value:function _buildVertexShader(){var scene=this._scene;var sectionPlanesState=scene._sectionPlanesState;var clipping=sectionPlanesState.getNumAllocatedSectionPlanes()>0;var pointsMaterial=scene.pointsMaterial._state;var src=[];src.push('#version 300 es');src.push("// Points instancing pick depth vertex shader");src.push("uniform int renderPass;");src.push("in vec3 position;");if(scene.entityOffsetsEnabled){src.push("in vec3 offset;");}src.push("in float flags;");src.push("in vec4 modelMatrixCol0;");// Modeling matrix src.push("in vec4 modelMatrixCol1;");src.push("in vec4 modelMatrixCol2;");src.push("uniform bool pickInvisible;");this._addMatricesUniformBlockLines(src);this._addRemapClipPosLines(src);src.push("uniform float pointSize;");if(pointsMaterial.perspectivePoints){src.push("uniform float nearPlaneHeight;");}if(scene.logarithmicDepthBufferEnabled){src.push("uniform float logDepthBufFC;");src.push("out float vFragDepth;");}if(clipping){src.push("out vec4 vWorldPosition;");src.push("out float vFlags;");}src.push("out vec4 vViewPosition;");src.push("void main(void) {");// pickFlag = NOT_RENDERED | PICK // renderPass = PICK src.push("int pickFlag = int(flags) >> 12 & 0xF;");src.push("if (pickFlag != renderPass) {");src.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);");// Cull vertex -src.push("} else {");src.push(" vec4 worldPosition = positionsDecodeMatrix * vec4(position, 1.0); ");src.push(" worldPosition = worldMatrix * vec4(dot(worldPosition, modelMatrixCol0), dot(worldPosition, modelMatrixCol1), dot(worldPosition, modelMatrixCol2), 1.0);");if(scene.entityOffsetsEnabled){src.push(" worldPosition.xyz = worldPosition.xyz + offset;");}src.push(" vec4 viewPosition = viewMatrix * worldPosition; ");if(clipping){src.push(" vWorldPosition = worldPosition;");src.push(" vFlags = flags;");}src.push(" vViewPosition = viewPosition;");src.push("vec4 clipPos = projMatrix * viewPosition;");src.push("gl_Position = remapClipPos(clipPos);");if(scene.logarithmicDepthBufferEnabled){src.push("vFragDepth = 1.0 + clipPos.w;");}src.push("gl_Position = remapClipPos(clipPos);");if(pointsMaterial.perspectivePoints){src.push("gl_PointSize = (nearPlaneHeight * pointSize) / clipPos.w;");src.push("gl_PointSize = max(gl_PointSize, "+Math.floor(pointsMaterial.minPerspectivePointSize)+".0);");src.push("gl_PointSize = min(gl_PointSize, "+Math.floor(pointsMaterial.maxPerspectivePointSize)+".0);");}else{src.push("gl_PointSize = pointSize;");}src.push("}");src.push("}");return src;}},{key:"_buildFragmentShader",value:function _buildFragmentShader(){var scene=this._scene;var sectionPlanesState=scene._sectionPlanesState;var clipping=sectionPlanesState.getNumAllocatedSectionPlanes()>0;var src=[];src.push('#version 300 es');src.push("// Points instancing pick depth fragment shader");src.push("#ifdef GL_FRAGMENT_PRECISION_HIGH");src.push("precision highp float;");src.push("precision highp int;");src.push("#else");src.push("precision mediump float;");src.push("precision mediump int;");src.push("#endif");if(scene.logarithmicDepthBufferEnabled){src.push("uniform float logDepthBufFC;");src.push("in float vFragDepth;");}src.push("uniform float pickZNear;");src.push("uniform float pickZFar;");if(clipping){src.push("in vec4 vWorldPosition;");src.push("in float vFlags;");for(var _i296=0;_i296 1.0) {");src.push(" discard;");src.push(" }");}if(clipping){src.push(" bool clippable = (int(vFlags) >> 16 & 0xF) == 1;");src.push(" if (clippable) {");src.push(" float dist = 0.0;");for(var _i297=0;_i297 0.0) { discard; }");src.push("}");}if(scene.logarithmicDepthBufferEnabled){src.push("gl_FragDepth = log2( vFragDepth ) * logDepthBufFC * 0.5;");}src.push(" float zNormalizedDepth = abs((pickZNear + vViewPosition.z) / (pickZFar - pickZNear));");src.push(" outColor = packDepth(zNormalizedDepth); ");// Must be linear depth +src.push("} else {");src.push(" vec4 worldPosition = positionsDecodeMatrix * vec4(position, 1.0); ");src.push(" worldPosition = worldMatrix * vec4(dot(worldPosition, modelMatrixCol0), dot(worldPosition, modelMatrixCol1), dot(worldPosition, modelMatrixCol2), 1.0);");if(scene.entityOffsetsEnabled){src.push(" worldPosition.xyz = worldPosition.xyz + offset;");}src.push(" vec4 viewPosition = viewMatrix * worldPosition; ");if(clipping){src.push(" vWorldPosition = worldPosition;");src.push(" vFlags = flags;");}src.push(" vViewPosition = viewPosition;");src.push("vec4 clipPos = projMatrix * viewPosition;");src.push("gl_Position = remapClipPos(clipPos);");if(scene.logarithmicDepthBufferEnabled){src.push("vFragDepth = 1.0 + clipPos.w;");}src.push("gl_Position = remapClipPos(clipPos);");if(pointsMaterial.perspectivePoints){src.push("gl_PointSize = (nearPlaneHeight * pointSize) / clipPos.w;");src.push("gl_PointSize = max(gl_PointSize, "+Math.floor(pointsMaterial.minPerspectivePointSize)+".0);");src.push("gl_PointSize = min(gl_PointSize, "+Math.floor(pointsMaterial.maxPerspectivePointSize)+".0);");}else{src.push("gl_PointSize = pointSize;");}src.push("}");src.push("}");return src;}},{key:"_buildFragmentShader",value:function _buildFragmentShader(){var scene=this._scene;var sectionPlanesState=scene._sectionPlanesState;var clipping=sectionPlanesState.getNumAllocatedSectionPlanes()>0;var src=[];src.push('#version 300 es');src.push("// Points instancing pick depth fragment shader");src.push("#ifdef GL_FRAGMENT_PRECISION_HIGH");src.push("precision highp float;");src.push("precision highp int;");src.push("#else");src.push("precision mediump float;");src.push("precision mediump int;");src.push("#endif");if(scene.logarithmicDepthBufferEnabled){src.push("uniform float logDepthBufFC;");src.push("in float vFragDepth;");}src.push("uniform float pickZNear;");src.push("uniform float pickZFar;");if(clipping){src.push("in vec4 vWorldPosition;");src.push("in float vFlags;");for(var _i301=0;_i301 1.0) {");src.push(" discard;");src.push(" }");}if(clipping){src.push(" bool clippable = (int(vFlags) >> 16 & 0xF) == 1;");src.push(" if (clippable) {");src.push(" float dist = 0.0;");for(var _i302=0;_i302 0.0) { discard; }");src.push("}");}if(scene.logarithmicDepthBufferEnabled){src.push("gl_FragDepth = log2( vFragDepth ) * logDepthBufFC * 0.5;");}src.push(" float zNormalizedDepth = abs((pickZNear + vViewPosition.z) / (pickZFar - pickZNear));");src.push(" outColor = packDepth(zNormalizedDepth); ");// Must be linear depth src.push("}");return src;}}]);return PointsInstancingPickDepthRenderer;}(VBOSceneModelPointInstancingRenderer);/** * @private */var PointsInstancingOcclusionRenderer=/*#__PURE__*/function(_VBOSceneModelPointIn5){_inherits(PointsInstancingOcclusionRenderer,_VBOSceneModelPointIn5);var _super121=_createSuper(PointsInstancingOcclusionRenderer);function PointsInstancingOcclusionRenderer(){_classCallCheck(this,PointsInstancingOcclusionRenderer);return _super121.apply(this,arguments);}_createClass(PointsInstancingOcclusionRenderer,[{key:"_getHash",value:function _getHash(){return this._scene._sectionPlanesState.getHash()+this._scene.pointsMaterial.hash;}},{key:"_buildVertexShader",value:function _buildVertexShader(){var scene=this._scene;var sectionPlanesState=scene._sectionPlanesState;var clipping=sectionPlanesState.getNumAllocatedSectionPlanes()>0;var pointsMaterial=scene.pointsMaterial._state;var src=[];src.push('#version 300 es');src.push("// Points instancing occlusion vertex shader");src.push("uniform int renderPass;");src.push("in vec3 position;");if(scene.entityOffsetsEnabled){src.push("in vec3 offset;");}src.push("in vec4 color;");src.push("in float flags;");src.push("in vec4 modelMatrixCol0;");// Modeling matrix src.push("in vec4 modelMatrixCol1;");src.push("in vec4 modelMatrixCol2;");this._addMatricesUniformBlockLines(src);src.push("uniform float pointSize;");if(pointsMaterial.perspectivePoints){src.push("uniform float nearPlaneHeight;");}if(scene.logarithmicDepthBufferEnabled){src.push("uniform float logDepthBufFC;");src.push("out float vFragDepth;");}if(clipping){src.push("out vec4 vWorldPosition;");src.push("out float vFlags;");}src.push("void main(void) {");// colorFlag = NOT_RENDERED | COLOR_OPAQUE | COLOR_TRANSPARENT // renderPass = COLOR_OPAQUE -src.push("int colorFlag = int(flags) & 0xF;");src.push("if (colorFlag != renderPass) {");src.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);");src.push("} else {");src.push(" vec4 worldPosition = positionsDecodeMatrix * vec4(position, 1.0); ");src.push(" worldPosition = worldMatrix * vec4(dot(worldPosition, modelMatrixCol0), dot(worldPosition, modelMatrixCol1), dot(worldPosition, modelMatrixCol2), 1.0);");if(scene.entityOffsetsEnabled){src.push(" worldPosition.xyz = worldPosition.xyz + offset;");}src.push(" vec4 viewPosition = viewMatrix * worldPosition; ");if(clipping){src.push(" vWorldPosition = worldPosition;");src.push("vFlags = flags;");}src.push("vec4 clipPos = projMatrix * viewPosition;");if(scene.logarithmicDepthBufferEnabled){src.push("vFragDepth = 1.0 + clipPos.w;");}src.push("gl_Position = clipPos;");if(pointsMaterial.perspectivePoints){src.push("gl_PointSize = (nearPlaneHeight * pointSize) / clipPos.w;");src.push("gl_PointSize = max(gl_PointSize, "+Math.floor(pointsMaterial.minPerspectivePointSize)+".0);");src.push("gl_PointSize = min(gl_PointSize, "+Math.floor(pointsMaterial.maxPerspectivePointSize)+".0);");}else{src.push("gl_PointSize = pointSize;");}src.push("}");src.push("}");return src;}},{key:"_buildFragmentShader",value:function _buildFragmentShader(){var scene=this._scene;var sectionPlanesState=scene._sectionPlanesState;var clipping=sectionPlanesState.getNumAllocatedSectionPlanes()>0;var src=[];src.push('#version 300 es');src.push("// Points instancing occlusion vertex shader");src.push("#ifdef GL_FRAGMENT_PRECISION_HIGH");src.push("precision highp float;");src.push("precision highp int;");src.push("#else");src.push("precision mediump float;");src.push("precision mediump int;");src.push("#endif");if(scene.logarithmicDepthBufferEnabled){src.push("uniform float logDepthBufFC;");src.push("in float vFragDepth;");}if(clipping){src.push("in vec4 vWorldPosition;");src.push("in float vFlags;");for(var _i298=0;_i298 1.0) {");src.push(" discard;");src.push(" }");}if(clipping){src.push(" bool clippable = (int(vFlags) >> 16 & 0xF) == 1;");src.push(" if (clippable) {");src.push(" float dist = 0.0;");for(var _i299=0;_i299 0.0) { discard; }");src.push("}");}src.push(" outColor = vec4(0.0, 0.0, 1.0, 1.0); ");// Occluders are blue +src.push("int colorFlag = int(flags) & 0xF;");src.push("if (colorFlag != renderPass) {");src.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);");src.push("} else {");src.push(" vec4 worldPosition = positionsDecodeMatrix * vec4(position, 1.0); ");src.push(" worldPosition = worldMatrix * vec4(dot(worldPosition, modelMatrixCol0), dot(worldPosition, modelMatrixCol1), dot(worldPosition, modelMatrixCol2), 1.0);");if(scene.entityOffsetsEnabled){src.push(" worldPosition.xyz = worldPosition.xyz + offset;");}src.push(" vec4 viewPosition = viewMatrix * worldPosition; ");if(clipping){src.push(" vWorldPosition = worldPosition;");src.push("vFlags = flags;");}src.push("vec4 clipPos = projMatrix * viewPosition;");if(scene.logarithmicDepthBufferEnabled){src.push("vFragDepth = 1.0 + clipPos.w;");}src.push("gl_Position = clipPos;");if(pointsMaterial.perspectivePoints){src.push("gl_PointSize = (nearPlaneHeight * pointSize) / clipPos.w;");src.push("gl_PointSize = max(gl_PointSize, "+Math.floor(pointsMaterial.minPerspectivePointSize)+".0);");src.push("gl_PointSize = min(gl_PointSize, "+Math.floor(pointsMaterial.maxPerspectivePointSize)+".0);");}else{src.push("gl_PointSize = pointSize;");}src.push("}");src.push("}");return src;}},{key:"_buildFragmentShader",value:function _buildFragmentShader(){var scene=this._scene;var sectionPlanesState=scene._sectionPlanesState;var clipping=sectionPlanesState.getNumAllocatedSectionPlanes()>0;var src=[];src.push('#version 300 es');src.push("// Points instancing occlusion vertex shader");src.push("#ifdef GL_FRAGMENT_PRECISION_HIGH");src.push("precision highp float;");src.push("precision highp int;");src.push("#else");src.push("precision mediump float;");src.push("precision mediump int;");src.push("#endif");if(scene.logarithmicDepthBufferEnabled){src.push("uniform float logDepthBufFC;");src.push("in float vFragDepth;");}if(clipping){src.push("in vec4 vWorldPosition;");src.push("in float vFlags;");for(var _i303=0;_i303 1.0) {");src.push(" discard;");src.push(" }");}if(clipping){src.push(" bool clippable = (int(vFlags) >> 16 & 0xF) == 1;");src.push(" if (clippable) {");src.push(" float dist = 0.0;");for(var _i304=0;_i304 0.0) { discard; }");src.push("}");}src.push(" outColor = vec4(0.0, 0.0, 1.0, 1.0); ");// Occluders are blue if(scene.logarithmicDepthBufferEnabled){src.push("gl_FragDepth = log2( vFragDepth ) * logDepthBufFC * 0.5;");}src.push("}");return src;}}]);return PointsInstancingOcclusionRenderer;}(VBOSceneModelPointInstancingRenderer);/** * @private */var PointsInstancingDepthRenderer=/*#__PURE__*/function(_VBOSceneModelPointIn6){_inherits(PointsInstancingDepthRenderer,_VBOSceneModelPointIn6);var _super122=_createSuper(PointsInstancingDepthRenderer);function PointsInstancingDepthRenderer(){_classCallCheck(this,PointsInstancingDepthRenderer);return _super122.apply(this,arguments);}_createClass(PointsInstancingDepthRenderer,[{key:"_getHash",value:function _getHash(){return this._scene._sectionPlanesState.getHash()+this._scene.pointsMaterial.hash;}},{key:"_buildVertexShader",value:function _buildVertexShader(){var scene=this._scene;var sectionPlanesState=scene._sectionPlanesState;var clipping=sectionPlanesState.getNumAllocatedSectionPlanes()>0;var pointsMaterial=scene.pointsMaterial._state;var src=[];src.push('#version 300 es');src.push("// Points instancing depth vertex shader");src.push("uniform int renderPass;");src.push("in vec3 position;");if(scene.entityOffsetsEnabled){src.push("in vec3 offset;");}src.push("in float flags;");src.push("in vec4 modelMatrixCol0;");src.push("in vec4 modelMatrixCol1;");src.push("in vec4 modelMatrixCol2;");this._addMatricesUniformBlockLines(src);src.push("uniform float pointSize;");if(pointsMaterial.perspectivePoints){src.push("uniform float nearPlaneHeight;");}if(scene.logarithmicDepthBufferEnabled){src.push("uniform float logDepthBufFC;");src.push("out float vFragDepth;");}if(clipping){src.push("out vec4 vWorldPosition;");src.push("out float vFlags;");}src.push("void main(void) {");// colorFlag = NOT_RENDERED | COLOR_OPAQUE | COLOR_TRANSPARENT @@ -18090,7 +18099,7 @@ if(scene.logarithmicDepthBufferEnabled){src.push("gl_FragDepth = log2( vFragDept * * @private */var PointsInstancingShadowRenderer=/*#__PURE__*/function(_VBOSceneModelPointIn7){_inherits(PointsInstancingShadowRenderer,_VBOSceneModelPointIn7);var _super123=_createSuper(PointsInstancingShadowRenderer);function PointsInstancingShadowRenderer(){_classCallCheck(this,PointsInstancingShadowRenderer);return _super123.apply(this,arguments);}_createClass(PointsInstancingShadowRenderer,[{key:"_buildVertexShader",value:function _buildVertexShader(){var scene=this._scene;var sectionPlanesState=scene._sectionPlanesState;var clipping=sectionPlanesState.getNumAllocatedSectionPlanes()>0;var src=[];src.push('#version 300 es');src.push("// Instancing geometry shadow drawing vertex shader");src.push("in vec3 position;");if(scene.entityOffsetsEnabled){src.push("in vec3 offset;");}src.push("in vec4 color;");src.push("in float flags;");src.push("in vec4 modelMatrixCol0;");src.push("in vec4 modelMatrixCol1;");src.push("in vec4 modelMatrixCol2;");src.push("uniform mat4 shadowViewMatrix;");src.push("uniform mat4 shadowProjMatrix;");this._addMatricesUniformBlockLines(src);src.push("uniform float pointSize;");if(clipping){src.push("out vec4 vWorldPosition;");src.push("out float vFlags;");}src.push("void main(void) {");src.push("int colorFlag = int(flags) & 0xF;");src.push("bool visible = (colorFlag > 0);");src.push("bool transparent = ((float(color.a) / 255.0) < 1.0);");src.push("if (!visible || transparent) {");src.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);");// Cull vertex -src.push("} else {");src.push(" vec4 worldPosition = positionsDecodeMatrix * vec4(position, 1.0); ");src.push(" worldPosition = vec4(dot(worldPosition, modelMatrixCol0), dot(worldPosition, modelMatrixCol1), dot(worldPosition, modelMatrixCol2), 1.0);");if(scene.entityOffsetsEnabled){src.push(" worldPosition.xyz = worldPosition.xyz + offset;");}src.push(" vec4 viewPosition = shadowViewMatrix * worldPosition; ");if(clipping){src.push("vWorldPosition = worldPosition;");src.push("vFlags = flags;");}src.push(" gl_Position = shadowProjMatrix * viewPosition;");src.push("}");src.push("gl_PointSize = pointSize;");src.push("}");return src;}},{key:"_buildFragmentShader",value:function _buildFragmentShader(){var scene=this._scene;var sectionPlanesState=scene._sectionPlanesState;var clipping=sectionPlanesState.getNumAllocatedSectionPlanes()>0;var src=[];src.push('#version 300 es');src.push("// Instancing geometry depth drawing fragment shader");src.push("#ifdef GL_FRAGMENT_PRECISION_HIGH");src.push("precision highp float;");src.push("precision highp int;");src.push("#else");src.push("precision mediump float;");src.push("precision mediump int;");src.push("#endif");if(scene.logarithmicDepthBufferEnabled){src.push("uniform float logDepthBufFC;");src.push("in float vFragDepth;");}if(clipping){src.push("in vec4 vWorldPosition;");src.push("in float vFlags;");for(var _i300=0,len=sectionPlanesState.getNumAllocatedSectionPlanes();_i300 1.0) {");src.push(" discard;");src.push(" }");if(clipping){src.push(" bool clippable = (int(vFlags) >> 16 & 0xF) == 1;");src.push(" if (clippable) {");src.push(" float dist = 0.0;");for(var _i301=0,_len68=sectionPlanesState.getNumAllocatedSectionPlanes();_i301<_len68;_i301++){src.push("if (sectionPlaneActive"+_i301+") {");src.push(" dist += clamp(dot(-sectionPlaneDir"+_i301+".xyz, vWorldPosition.xyz - sectionPlanePos"+_i301+".xyz), 0.0, 1000.0);");src.push("}");}src.push("if (dist > 0.0) { discard; }");src.push("}");}if(scene.logarithmicDepthBufferEnabled){src.push("gl_FragDepth = log2( vFragDepth ) * logDepthBufFC * 0.5;");}src.push(" outColor = vec4(packNormalToRGB(vViewNormal), 1.0); ");src.push("}");return src;}}]);return PointsInstancingShadowRenderer;}(VBOSceneModelPointInstancingRenderer);/** +src.push("} else {");src.push(" vec4 worldPosition = positionsDecodeMatrix * vec4(position, 1.0); ");src.push(" worldPosition = vec4(dot(worldPosition, modelMatrixCol0), dot(worldPosition, modelMatrixCol1), dot(worldPosition, modelMatrixCol2), 1.0);");if(scene.entityOffsetsEnabled){src.push(" worldPosition.xyz = worldPosition.xyz + offset;");}src.push(" vec4 viewPosition = shadowViewMatrix * worldPosition; ");if(clipping){src.push("vWorldPosition = worldPosition;");src.push("vFlags = flags;");}src.push(" gl_Position = shadowProjMatrix * viewPosition;");src.push("}");src.push("gl_PointSize = pointSize;");src.push("}");return src;}},{key:"_buildFragmentShader",value:function _buildFragmentShader(){var scene=this._scene;var sectionPlanesState=scene._sectionPlanesState;var clipping=sectionPlanesState.getNumAllocatedSectionPlanes()>0;var src=[];src.push('#version 300 es');src.push("// Instancing geometry depth drawing fragment shader");src.push("#ifdef GL_FRAGMENT_PRECISION_HIGH");src.push("precision highp float;");src.push("precision highp int;");src.push("#else");src.push("precision mediump float;");src.push("precision mediump int;");src.push("#endif");if(scene.logarithmicDepthBufferEnabled){src.push("uniform float logDepthBufFC;");src.push("in float vFragDepth;");}if(clipping){src.push("in vec4 vWorldPosition;");src.push("in float vFlags;");for(var _i305=0,len=sectionPlanesState.getNumAllocatedSectionPlanes();_i305 1.0) {");src.push(" discard;");src.push(" }");if(clipping){src.push(" bool clippable = (int(vFlags) >> 16 & 0xF) == 1;");src.push(" if (clippable) {");src.push(" float dist = 0.0;");for(var _i306=0,_len68=sectionPlanesState.getNumAllocatedSectionPlanes();_i306<_len68;_i306++){src.push("if (sectionPlaneActive"+_i306+") {");src.push(" dist += clamp(dot(-sectionPlaneDir"+_i306+".xyz, vWorldPosition.xyz - sectionPlanePos"+_i306+".xyz), 0.0, 1000.0);");src.push("}");}src.push("if (dist > 0.0) { discard; }");src.push("}");}if(scene.logarithmicDepthBufferEnabled){src.push("gl_FragDepth = log2( vFragDepth ) * logDepthBufFC * 0.5;");}src.push(" outColor = vec4(packNormalToRGB(vViewNormal), 1.0); ");src.push("}");return src;}}]);return PointsInstancingShadowRenderer;}(VBOSceneModelPointInstancingRenderer);/** * @private */var PointsInstancingRenderers=/*#__PURE__*/function(){function PointsInstancingRenderers(scene){_classCallCheck(this,PointsInstancingRenderers);this._scene=scene;}_createClass(PointsInstancingRenderers,[{key:"_compile",value:function _compile(){if(this._colorRenderer&&!this._colorRenderer.getValid()){this._colorRenderer.destroy();this._colorRenderer=null;}if(this._depthRenderer&&!this._depthRenderer.getValid()){this._depthRenderer.destroy();this._depthRenderer=null;}if(this._silhouetteRenderer&&!this._silhouetteRenderer.getValid()){this._silhouetteRenderer.destroy();this._silhouetteRenderer=null;}if(this._pickMeshRenderer&&!this._pickMeshRenderer.getValid()){this._pickMeshRenderer.destroy();this._pickMeshRenderer=null;}if(this._pickDepthRenderer&&!this._pickDepthRenderer.getValid()){this._pickDepthRenderer.destroy();this._pickDepthRenderer=null;}if(this._occlusionRenderer&&this._occlusionRenderer.getValid()===false){this._occlusionRenderer.destroy();this._occlusionRenderer=null;}if(this._shadowRenderer&&!this._shadowRenderer.getValid()){this._shadowRenderer.destroy();this._shadowRenderer=null;}}},{key:"colorRenderer",get:function get(){if(!this._colorRenderer){this._colorRenderer=new PointsInstancingColorRenderer(this._scene,false);}return this._colorRenderer;}},{key:"silhouetteRenderer",get:function get(){if(!this._silhouetteRenderer){this._silhouetteRenderer=new PointsInstancingSilhouetteRenderer(this._scene);}return this._silhouetteRenderer;}},{key:"depthRenderer",get:function get(){if(!this._depthRenderer){this._depthRenderer=new PointsInstancingDepthRenderer(this._scene);}return this._depthRenderer;}},{key:"pickMeshRenderer",get:function get(){if(!this._pickMeshRenderer){this._pickMeshRenderer=new PointsInstancingPickMeshRenderer(this._scene);}return this._pickMeshRenderer;}},{key:"pickDepthRenderer",get:function get(){if(!this._pickDepthRenderer){this._pickDepthRenderer=new PointsInstancingPickDepthRenderer(this._scene);}return this._pickDepthRenderer;}},{key:"occlusionRenderer",get:function get(){if(!this._occlusionRenderer){this._occlusionRenderer=new PointsInstancingOcclusionRenderer(this._scene);}return this._occlusionRenderer;}},{key:"shadowRenderer",get:function get(){if(!this._shadowRenderer){this._shadowRenderer=new PointsInstancingShadowRenderer(this._scene);}return this._shadowRenderer;}},{key:"_destroy",value:function _destroy(){if(this._colorRenderer){this._colorRenderer.destroy();}if(this._depthRenderer){this._depthRenderer.destroy();}if(this._silhouetteRenderer){this._silhouetteRenderer.destroy();}if(this._pickMeshRenderer){this._pickMeshRenderer.destroy();}if(this._pickDepthRenderer){this._pickDepthRenderer.destroy();}if(this._occlusionRenderer){this._occlusionRenderer.destroy();}if(this._shadowRenderer){this._shadowRenderer.destroy();}}}]);return PointsInstancingRenderers;}();var cachedRenderers={};/** * @private @@ -18119,20 +18128,21 @@ src.push("} else {");src.push(" vec4 worldPosition = positionsDecodeMatrix * ve colorsBuf:null,flagsBuf:null,offsetsBuf:null,modelMatrixCol0Buf:null,modelMatrixCol1Buf:null,modelMatrixCol2Buf:null,pickColorsBuf:null});// These counts are used to avoid unnecessary render passes this._numPortions=0;this._numVisibleLayerPortions=0;this._numTransparentLayerPortions=0;this._numXRayedLayerPortions=0;this._numHighlightedLayerPortions=0;this._numSelectedLayerPortions=0;this._numClippableLayerPortions=0;this._numEdgesLayerPortions=0;this._numPickableLayerPortions=0;this._numCulledLayerPortions=0;/** @private */this.numIndices=cfg.geometry.numIndices;// Per-instance arrays this._pickColors=[];this._offsets=[];// Modeling matrix per instance, array for each column -this._modelMatrixCol0=[];this._modelMatrixCol1=[];this._modelMatrixCol2=[];this._portions=[];this._finalized=false;}/** +this._modelMatrixCol0=[];this._modelMatrixCol1=[];this._modelMatrixCol2=[];this._portions=[];this._meshes=[];this._aabb=math.collapseAABB3();this.aabbDirty=true;this._finalized=false;}_createClass(PointsInstancingLayer,[{key:"aabb",get:function get(){if(this.aabbDirty){math.collapseAABB3(this._aabb);for(var _i307=0,len=this._meshes.length;_i3070){// Because we only build flags arrays here, + */},{key:"createPortion",value:function createPortion(mesh,cfg){var meshMatrix=cfg.meshMatrix;var pickColor=cfg.pickColor;if(this._finalized){throw"Already finalized";}if(this.model.scene.entityOffsetsEnabled){this._offsets.push(0);this._offsets.push(0);this._offsets.push(0);}this._modelMatrixCol0.push(meshMatrix[0]);this._modelMatrixCol0.push(meshMatrix[4]);this._modelMatrixCol0.push(meshMatrix[8]);this._modelMatrixCol0.push(meshMatrix[12]);this._modelMatrixCol1.push(meshMatrix[1]);this._modelMatrixCol1.push(meshMatrix[5]);this._modelMatrixCol1.push(meshMatrix[9]);this._modelMatrixCol1.push(meshMatrix[13]);this._modelMatrixCol2.push(meshMatrix[2]);this._modelMatrixCol2.push(meshMatrix[6]);this._modelMatrixCol2.push(meshMatrix[10]);this._modelMatrixCol2.push(meshMatrix[14]);// Per-instance pick colors +this._pickColors.push(pickColor[0]);this._pickColors.push(pickColor[1]);this._pickColors.push(pickColor[2]);this._pickColors.push(pickColor[3]);this._state.numInstances++;var portionId=this._portions.length;this._portions.push({});this._numPortions++;this.model.numPortions++;this._meshes.push(mesh);return portionId;}},{key:"finalize",value:function finalize(){if(this._finalized){throw"Already finalized";}var gl=this.model.scene.canvas.gl;var flagsLength=this._pickColors.length/4;var state=this._state;var geometry=state.geometry;if(flagsLength>0){// Because we only build flags arrays here, // get their length from the colors array var notNormalized=false;state.flagsBuf=new ArrayBuf(gl,gl.ARRAY_BUFFER,new Float32Array(flagsLength),flagsLength,1,gl.DYNAMIC_DRAW,notNormalized);}if(this.model.scene.entityOffsetsEnabled){if(this._offsets.length>0){var _notNormalized8=false;state.offsetsBuf=new ArrayBuf(gl,gl.ARRAY_BUFFER,new Float32Array(this._offsets),this._offsets.length,3,gl.DYNAMIC_DRAW,_notNormalized8);this._offsets=[];// Release memory }}if(geometry.positionsCompressed&&geometry.positionsCompressed.length>0){var normalized=false;state.positionsBuf=new ArrayBuf(gl,gl.ARRAY_BUFFER,geometry.positionsCompressed,geometry.positionsCompressed.length,3,gl.STATIC_DRAW,normalized);state.positionsDecodeMatrix=math.mat4(geometry.positionsDecodeMatrix);}if(geometry.colorsCompressed&&geometry.colorsCompressed.length>0){var colorsCompressed=new Uint8Array(geometry.colorsCompressed);var _notNormalized9=false;state.colorsBuf=new ArrayBuf(gl,gl.ARRAY_BUFFER,colorsCompressed,colorsCompressed.length,4,gl.STATIC_DRAW,_notNormalized9);}if(this._modelMatrixCol0.length>0){var _normalized8=false;state.modelMatrixCol0Buf=new ArrayBuf(gl,gl.ARRAY_BUFFER,new Float32Array(this._modelMatrixCol0),this._modelMatrixCol0.length,4,gl.STATIC_DRAW,_normalized8);state.modelMatrixCol1Buf=new ArrayBuf(gl,gl.ARRAY_BUFFER,new Float32Array(this._modelMatrixCol1),this._modelMatrixCol1.length,4,gl.STATIC_DRAW,_normalized8);state.modelMatrixCol2Buf=new ArrayBuf(gl,gl.ARRAY_BUFFER,new Float32Array(this._modelMatrixCol2),this._modelMatrixCol2.length,4,gl.STATIC_DRAW,_normalized8);this._modelMatrixCol0=[];this._modelMatrixCol1=[];this._modelMatrixCol2=[];}if(this._pickColors.length>0){var _normalized9=false;state.pickColorsBuf=new ArrayBuf(gl,gl.ARRAY_BUFFER,new Uint8Array(this._pickColors),this._pickColors.length,4,gl.STATIC_DRAW,_normalized9);this._pickColors=[];// Release memory @@ -18229,17 +18239,17 @@ this._pointsInstancingRenderers.occlusionRenderer.drawLayer(frameCtx,this,RENDER * @private */this.texture=cfg.texture;}/** * @private - */_createClass(SceneModelTexture,[{key:"destroy",value:function destroy(){if(this.texture){this.texture.destroy();this.texture=null;}}}]);return SceneModelTexture;}();var Cache$1={enabled:false,files:{},add:function add(key,file){if(this.enabled===false){return;}this.files[key]=file;},get:function get(key){if(this.enabled===false){return;}return this.files[key];},remove:function remove(key){delete this.files[key];},clear:function clear(){this.files={};}};var LoadingManager=/*#__PURE__*/function(){function LoadingManager(onLoad,onProgress,onError){_classCallCheck(this,LoadingManager);this.isLoading=false;this.itemsLoaded=0;this.itemsTotal=0;this.urlModifier=undefined;this.handlers=[];this.onStart=undefined;this.onLoad=onLoad;this.onProgress=onProgress;this.onError=onError;}_createClass(LoadingManager,[{key:"itemStart",value:function itemStart(url){this.itemsTotal++;if(this.isLoading===false){if(this.onStart!==undefined){this.onStart(url,this.itemsLoaded,this.itemsTotal);}}this.isLoading=true;}},{key:"itemEnd",value:function itemEnd(url){this.itemsLoaded++;if(this.onProgress!==undefined){this.onProgress(url,this.itemsLoaded,this.itemsTotal);}if(this.itemsLoaded===this.itemsTotal){this.isLoading=false;if(this.onLoad!==undefined){this.onLoad();}}}},{key:"itemError",value:function itemError(url){if(this.onError!==undefined){this.onError(url);}}},{key:"resolveURL",value:function resolveURL(url){if(this.urlModifier){return this.urlModifier(url);}return url;}},{key:"setURLModifier",value:function setURLModifier(transform){this.urlModifier=transform;return this;}},{key:"addHandler",value:function addHandler(regex,loader){this.handlers.push(regex,loader);return this;}},{key:"removeHandler",value:function removeHandler(regex){var index=this.handlers.indexOf(regex);if(index!==-1){this.handlers.splice(index,2);}return this;}},{key:"getHandler",value:function getHandler(file){for(var _i302=0,_l2=this.handlers.length;_i302<_l2;_i302+=2){var regex=this.handlers[_i302];var loader=this.handlers[_i302+1];if(regex.global)regex.lastIndex=0;// see #17920 + */_createClass(SceneModelTexture,[{key:"destroy",value:function destroy(){if(this.texture){this.texture.destroy();this.texture=null;}}}]);return SceneModelTexture;}();var Cache$1={enabled:false,files:{},add:function add(key,file){if(this.enabled===false){return;}this.files[key]=file;},get:function get(key){if(this.enabled===false){return;}return this.files[key];},remove:function remove(key){delete this.files[key];},clear:function clear(){this.files={};}};var LoadingManager=/*#__PURE__*/function(){function LoadingManager(onLoad,onProgress,onError){_classCallCheck(this,LoadingManager);this.isLoading=false;this.itemsLoaded=0;this.itemsTotal=0;this.urlModifier=undefined;this.handlers=[];this.onStart=undefined;this.onLoad=onLoad;this.onProgress=onProgress;this.onError=onError;}_createClass(LoadingManager,[{key:"itemStart",value:function itemStart(url){this.itemsTotal++;if(this.isLoading===false){if(this.onStart!==undefined){this.onStart(url,this.itemsLoaded,this.itemsTotal);}}this.isLoading=true;}},{key:"itemEnd",value:function itemEnd(url){this.itemsLoaded++;if(this.onProgress!==undefined){this.onProgress(url,this.itemsLoaded,this.itemsTotal);}if(this.itemsLoaded===this.itemsTotal){this.isLoading=false;if(this.onLoad!==undefined){this.onLoad();}}}},{key:"itemError",value:function itemError(url){if(this.onError!==undefined){this.onError(url);}}},{key:"resolveURL",value:function resolveURL(url){if(this.urlModifier){return this.urlModifier(url);}return url;}},{key:"setURLModifier",value:function setURLModifier(transform){this.urlModifier=transform;return this;}},{key:"addHandler",value:function addHandler(regex,loader){this.handlers.push(regex,loader);return this;}},{key:"removeHandler",value:function removeHandler(regex){var index=this.handlers.indexOf(regex);if(index!==-1){this.handlers.splice(index,2);}return this;}},{key:"getHandler",value:function getHandler(file){for(var _i308=0,_l2=this.handlers.length;_i308<_l2;_i308+=2){var regex=this.handlers[_i308];var loader=this.handlers[_i308+1];if(regex.global)regex.lastIndex=0;// see #17920 if(regex.test(file)){return loader;}}return null;}}]);return LoadingManager;}();var DefaultLoadingManager=new LoadingManager();var Loader=/*#__PURE__*/function(){function Loader(manager){_classCallCheck(this,Loader);this.manager=manager!==undefined?manager:DefaultLoadingManager;this.crossOrigin='anonymous';this.withCredentials=false;this.path='';this.resourcePath='';this.requestHeader={};}_createClass(Loader,[{key:"load",value:function/* url, onLoad, onProgress, onError */load(){}},{key:"loadAsync",value:function loadAsync(url,onProgress){var scope=this;return new Promise(function(resolve,reject){scope.load(url,resolve,onProgress,reject);});}},{key:"parse",value:function/* data */parse(){}},{key:"setCrossOrigin",value:function setCrossOrigin(crossOrigin){this.crossOrigin=crossOrigin;return this;}},{key:"setWithCredentials",value:function setWithCredentials(value){this.withCredentials=value;return this;}},{key:"setPath",value:function setPath(path){this.path=path;return this;}},{key:"setResourcePath",value:function setResourcePath(resourcePath){this.resourcePath=resourcePath;return this;}},{key:"setRequestHeader",value:function setRequestHeader(requestHeader){this.requestHeader=requestHeader;return this;}}]);return Loader;}();var loading={};var FileLoader=/*#__PURE__*/function(_Loader){_inherits(FileLoader,_Loader);var _super124=_createSuper(FileLoader);function FileLoader(manager){_classCallCheck(this,FileLoader);return _super124.call(this,manager);}_createClass(FileLoader,[{key:"load",value:function load(url,onLoad,onProgress,onError){var _this92=this;if(url===undefined){url='';}if(this.path!==undefined){url=this.path+url;}url=this.manager.resolveURL(url);var cached=Cache$1.get(url);if(cached!==undefined){this.manager.itemStart(url);setTimeout(function(){if(onLoad){onLoad(cached);}_this92.manager.itemEnd(url);},0);return cached;}if(loading[url]!==undefined){loading[url].push({onLoad:onLoad,onProgress:onProgress,onError:onError});return;}loading[url]=[];loading[url].push({onLoad:onLoad,onProgress:onProgress,onError:onError});var req=new Request(url,{headers:new Headers(this.requestHeader),credentials:this.withCredentials?'include':'same-origin'});var mimeType=this.mimeType;var responseType=this.responseType;fetch(req).then(function(response){if(response.status===200||response.status===0){// Some browsers return HTTP Status 0 when using non-http protocol // e.g. 'file://' or 'data://'. Handle as success. -if(response.status===0){console.warn('FileLoader: HTTP Status 0 received.');}if(typeof ReadableStream==='undefined'||response.body.getReader===undefined){return response;}var callbacks=loading[url];var reader=response.body.getReader();var contentLength=response.headers.get('Content-Length');var total=contentLength?parseInt(contentLength):0;var lengthComputable=total!==0;var loaded=0;var stream=new ReadableStream({start:function start(controller){readData();function readData(){reader.read().then(function(_ref12){var done=_ref12.done,value=_ref12.value;if(done){controller.close();}else{loaded+=value.byteLength;var event=new ProgressEvent('progress',{lengthComputable:lengthComputable,loaded:loaded,total:total});for(var _i303=0,il=callbacks.length;_i3030&&arguments[0]!==undefined?arguments[0]:4;_classCallCheck(this,WorkerPool$1);this.pool=pool;this.queue=[];this.workers=[];this.workersResolve=[];this.workerStatus=0;}_createClass(WorkerPool$1,[{key:"_initWorker",value:function _initWorker(workerId){if(!this.workers[workerId]){var worker=this.workerCreator();worker.addEventListener('message',this._onMessage.bind(this,workerId));this.workers[workerId]=worker;}}},{key:"_getIdleWorker",value:function _getIdleWorker(){for(var _i306=0;_i3060&&arguments[0]!==undefined?arguments[0]:4;_classCallCheck(this,WorkerPool$1);this.pool=pool;this.queue=[];this.workers=[];this.workersResolve=[];this.workerStatus=0;}_createClass(WorkerPool$1,[{key:"_initWorker",value:function _initWorker(workerId){if(!this.workers[workerId]){var worker=this.workerCreator();worker.addEventListener('message',this._onMessage.bind(this,workerId));this.workers[workerId]=worker;}}},{key:"_getIdleWorker",value:function _getIdleWorker(){for(var _i312=0;_i312=maxPositions){return;}seqInit=new Uint32Array(maxPositions);for(var _i310=0;_i310=maxPositions){return;}seqInit=new Uint32Array(maxPositions);for(var _i316=0;_i316 the uniquified positionsCompressed; 1 and 2 => the remapped edges and edgeIndices arrays - */function uniquifyPositions(mesh){var _positions=mesh.positionsCompressed;var _indices=mesh.indices;var _edgeIndices=mesh.edgeIndices;setMaxNumberOfPositions(_positions.length/3);var seq=seqInit.slice(0,_positions.length/3);var remappings=seqInit.slice(0,_positions.length/3);comparePositions=_positions;seq.sort(compareVertex);var uniqueIdx=0;remappings[seq[0]]=0;for(var _i311=1,len=seq.length;_i311>bitsPerBucket;}seq.sort(compareBuckets);var sortedIndices=new Int32Array(indices.length);for(var _i317=0,_len73=seq.length;_i317<_len73;_i317++){sortedIndices[_i317*3+0]=indices[seq[_i317]*3+0];sortedIndices[_i317*3+1]=indices[seq[_i317]*3+1];sortedIndices[_i317*3+2]=indices[seq[_i317]*3+2];}return sortedIndices;}var compareEdgeIndices=null;function compareIndices(a,b){var retVal=compareEdgeIndices[a*2]-compareEdgeIndices[b*2];if(retVal!==0){return retVal;}return compareEdgeIndices[a*2+1]-compareEdgeIndices[b*2+1];}function preSortEdgeIndices(edgeIndices){if((edgeIndices||[]).length===0){return[];}var seq=new Int32Array(edgeIndices.length/2);for(var _i318=0,len=seq.length;_i318edgeIndices[_i319+1]){var tmp=edgeIndices[_i319];edgeIndices[_i319]=edgeIndices[_i319+1];edgeIndices[_i319+1]=tmp;}}compareEdgeIndices=new Int32Array(edgeIndices);seq.sort(compareIndices);var sortedEdgeIndices=new Int32Array(edgeIndices.length);for(var _i320=0,_len75=seq.length;_i320<_len75;_i320++){sortedEdgeIndices[_i320*2+0]=edgeIndices[seq[_i320]*2+0];sortedEdgeIndices[_i320*2+1]=edgeIndices[seq[_i320]*2+1];}return sortedEdgeIndices;}/** + **/var MAX_RE_BUCKET_FAN_OUT=8;var bucketsForIndices=null;function compareBuckets(a,b){var aa=a*3;var bb=b*3;var aa1,aa2,aa3,bb1,bb2,bb3;var minBucketA=Math.min(aa1=bucketsForIndices[aa],aa2=bucketsForIndices[aa+1],aa3=bucketsForIndices[aa+2]);var minBucketB=Math.min(bb1=bucketsForIndices[bb],bb2=bucketsForIndices[bb+1],bb3=bucketsForIndices[bb+2]);if(minBucketA!==minBucketB){return minBucketA-minBucketB;}var maxBucketA=Math.max(aa1,aa2,aa3);var maxBucketB=Math.max(bb1,bb2,bb3);if(maxBucketA!==maxBucketB){return maxBucketA-maxBucketB;}return 0;}function preSortIndices(indices,bitsPerBucket){var seq=new Int32Array(indices.length/3);for(var _i321=0,len=seq.length;_i321>bitsPerBucket;}seq.sort(compareBuckets);var sortedIndices=new Int32Array(indices.length);for(var _i323=0,_len73=seq.length;_i323<_len73;_i323++){sortedIndices[_i323*3+0]=indices[seq[_i323]*3+0];sortedIndices[_i323*3+1]=indices[seq[_i323]*3+1];sortedIndices[_i323*3+2]=indices[seq[_i323]*3+2];}return sortedIndices;}var compareEdgeIndices=null;function compareIndices(a,b){var retVal=compareEdgeIndices[a*2]-compareEdgeIndices[b*2];if(retVal!==0){return retVal;}return compareEdgeIndices[a*2+1]-compareEdgeIndices[b*2+1];}function preSortEdgeIndices(edgeIndices){if((edgeIndices||[]).length===0){return[];}var seq=new Int32Array(edgeIndices.length/2);for(var _i324=0,len=seq.length;_i324edgeIndices[_i325+1]){var tmp=edgeIndices[_i325];edgeIndices[_i325]=edgeIndices[_i325+1];edgeIndices[_i325+1]=tmp;}}compareEdgeIndices=new Int32Array(edgeIndices);seq.sort(compareIndices);var sortedEdgeIndices=new Int32Array(edgeIndices.length);for(var _i326=0,_len75=seq.length;_i326<_len75;_i326++){sortedEdgeIndices[_i326*2+0]=edgeIndices[seq[_i326]*2+0];sortedEdgeIndices[_i326*2+1]=edgeIndices[seq[_i326]*2+1];}return sortedEdgeIndices;}/** * @param {{positionsCompressed: number[], indices: number[], edgeIndices: number[]}} mesh * @param {number} bitsPerBucket * @param {boolean} checkResult * * @returns {{positionsCompressed: number[], indices: number[], edgeIndices: number[]}[]} */function rebucketPositions(mesh,bitsPerBucket){var checkResult=arguments.length>2&&arguments[2]!==undefined?arguments[2]:false;var positionsCompressed=mesh.positionsCompressed||[];var indices=preSortIndices(mesh.indices||[],bitsPerBucket);var edgeIndices=preSortEdgeIndices(mesh.edgeIndices||[]);function edgeSearch(el0,el1){// Code adapted from https://stackoverflow.com/questions/22697936/binary-search-in-javascript -if(el0>el1){var tmp=el0;el0=el1;el1=tmp;}function compare_fn(a,b){if(a!==el0){return el0-a;}if(b!==el1){return el1-b;}return 0;}var m=0;var n=(edgeIndices.length>>1)-1;while(m<=n){var k=n+m>>1;var cmp=compare_fn(edgeIndices[k*2],edgeIndices[k*2+1]);if(cmp>0){m=k+1;}else if(cmp<0){n=k-1;}else{return k;}}return-m-1;}var alreadyOutputEdgeIndices=new Int32Array(edgeIndices.length/2);alreadyOutputEdgeIndices.fill(0);var numPositions=positionsCompressed.length/3;if(numPositions>(1<currentBucket.maxNumPositions){currentBucket=addEmptyBucket();}if(currentBucket.bucketNumber>MAX_RE_BUCKET_FAN_OUT){return[mesh];}if(bucketIndicesRemap[ii0]===-1){bucketIndicesRemap[ii0]=currentBucket.numPositions++;currentBucket.positionsCompressed.push(positionsCompressed[ii0*3]);currentBucket.positionsCompressed.push(positionsCompressed[ii0*3+1]);currentBucket.positionsCompressed.push(positionsCompressed[ii0*3+2]);}if(bucketIndicesRemap[ii1]===-1){bucketIndicesRemap[ii1]=currentBucket.numPositions++;currentBucket.positionsCompressed.push(positionsCompressed[ii1*3]);currentBucket.positionsCompressed.push(positionsCompressed[ii1*3+1]);currentBucket.positionsCompressed.push(positionsCompressed[ii1*3+2]);}if(bucketIndicesRemap[ii2]===-1){bucketIndicesRemap[ii2]=currentBucket.numPositions++;currentBucket.positionsCompressed.push(positionsCompressed[ii2*3]);currentBucket.positionsCompressed.push(positionsCompressed[ii2*3+1]);currentBucket.positionsCompressed.push(positionsCompressed[ii2*3+2]);}currentBucket.indices.push(bucketIndicesRemap[ii0]);currentBucket.indices.push(bucketIndicesRemap[ii1]);currentBucket.indices.push(bucketIndicesRemap[ii2]);// Check possible edge1 -var edgeIndex=void 0;if((edgeIndex=edgeSearch(ii0,ii1))>=0){if(alreadyOutputEdgeIndices[edgeIndex]===0){alreadyOutputEdgeIndices[edgeIndex]=1;currentBucket.edgeIndices.push(bucketIndicesRemap[edgeIndices[edgeIndex*2]]);currentBucket.edgeIndices.push(bucketIndicesRemap[edgeIndices[edgeIndex*2+1]]);}}if((edgeIndex=edgeSearch(ii0,ii2))>=0){if(alreadyOutputEdgeIndices[edgeIndex]===0){alreadyOutputEdgeIndices[edgeIndex]=1;currentBucket.edgeIndices.push(bucketIndicesRemap[edgeIndices[edgeIndex*2]]);currentBucket.edgeIndices.push(bucketIndicesRemap[edgeIndices[edgeIndex*2+1]]);}}if((edgeIndex=edgeSearch(ii1,ii2))>=0){if(alreadyOutputEdgeIndices[edgeIndex]===0){alreadyOutputEdgeIndices[edgeIndex]=1;currentBucket.edgeIndices.push(bucketIndicesRemap[edgeIndices[edgeIndex*2]]);currentBucket.edgeIndices.push(bucketIndicesRemap[edgeIndices[edgeIndex*2+1]]);}}}var prevBytesPerIndex=bitsPerBucket/8*2;var newBytesPerIndex=bitsPerBucket/8;var originalSize=positionsCompressed.length*2+(indices.length+edgeIndices.length)*prevBytesPerIndex;var newSize=0;var newPositions=-positionsCompressed.length/3;buckets.forEach(function(bucket){newSize+=bucket.positionsCompressed.length*2+(bucket.indices.length+bucket.edgeIndices.length)*newBytesPerIndex;newPositions+=bucket.positionsCompressed.length/3;});if(newSize>originalSize){return[mesh];}if(checkResult){doCheckResult(buckets,mesh);}return buckets;}function doCheckResult(buckets,mesh){var meshDict={};var edgesDict={};var edgeIndicesCount=0;buckets.forEach(function(bucket){var indices=bucket.indices;var edgeIndices=bucket.edgeIndices;var positionsCompressed=bucket.positionsCompressed;for(var _i322=0,len=indices.length;_i322el1){var tmp=el0;el0=el1;el1=tmp;}function compare_fn(a,b){if(a!==el0){return el0-a;}if(b!==el1){return el1-b;}return 0;}var m=0;var n=(edgeIndices.length>>1)-1;while(m<=n){var k=n+m>>1;var cmp=compare_fn(edgeIndices[k*2],edgeIndices[k*2+1]);if(cmp>0){m=k+1;}else if(cmp<0){n=k-1;}else{return k;}}return-m-1;}var alreadyOutputEdgeIndices=new Int32Array(edgeIndices.length/2);alreadyOutputEdgeIndices.fill(0);var numPositions=positionsCompressed.length/3;if(numPositions>(1<currentBucket.maxNumPositions){currentBucket=addEmptyBucket();}if(currentBucket.bucketNumber>MAX_RE_BUCKET_FAN_OUT){return[mesh];}if(bucketIndicesRemap[ii0]===-1){bucketIndicesRemap[ii0]=currentBucket.numPositions++;currentBucket.positionsCompressed.push(positionsCompressed[ii0*3]);currentBucket.positionsCompressed.push(positionsCompressed[ii0*3+1]);currentBucket.positionsCompressed.push(positionsCompressed[ii0*3+2]);}if(bucketIndicesRemap[ii1]===-1){bucketIndicesRemap[ii1]=currentBucket.numPositions++;currentBucket.positionsCompressed.push(positionsCompressed[ii1*3]);currentBucket.positionsCompressed.push(positionsCompressed[ii1*3+1]);currentBucket.positionsCompressed.push(positionsCompressed[ii1*3+2]);}if(bucketIndicesRemap[ii2]===-1){bucketIndicesRemap[ii2]=currentBucket.numPositions++;currentBucket.positionsCompressed.push(positionsCompressed[ii2*3]);currentBucket.positionsCompressed.push(positionsCompressed[ii2*3+1]);currentBucket.positionsCompressed.push(positionsCompressed[ii2*3+2]);}currentBucket.indices.push(bucketIndicesRemap[ii0]);currentBucket.indices.push(bucketIndicesRemap[ii1]);currentBucket.indices.push(bucketIndicesRemap[ii2]);// Check possible edge1 +var edgeIndex=void 0;if((edgeIndex=edgeSearch(ii0,ii1))>=0){if(alreadyOutputEdgeIndices[edgeIndex]===0){alreadyOutputEdgeIndices[edgeIndex]=1;currentBucket.edgeIndices.push(bucketIndicesRemap[edgeIndices[edgeIndex*2]]);currentBucket.edgeIndices.push(bucketIndicesRemap[edgeIndices[edgeIndex*2+1]]);}}if((edgeIndex=edgeSearch(ii0,ii2))>=0){if(alreadyOutputEdgeIndices[edgeIndex]===0){alreadyOutputEdgeIndices[edgeIndex]=1;currentBucket.edgeIndices.push(bucketIndicesRemap[edgeIndices[edgeIndex*2]]);currentBucket.edgeIndices.push(bucketIndicesRemap[edgeIndices[edgeIndex*2+1]]);}}if((edgeIndex=edgeSearch(ii1,ii2))>=0){if(alreadyOutputEdgeIndices[edgeIndex]===0){alreadyOutputEdgeIndices[edgeIndex]=1;currentBucket.edgeIndices.push(bucketIndicesRemap[edgeIndices[edgeIndex*2]]);currentBucket.edgeIndices.push(bucketIndicesRemap[edgeIndices[edgeIndex*2+1]]);}}}var prevBytesPerIndex=bitsPerBucket/8*2;var newBytesPerIndex=bitsPerBucket/8;var originalSize=positionsCompressed.length*2+(indices.length+edgeIndices.length)*prevBytesPerIndex;var newSize=0;var newPositions=-positionsCompressed.length/3;buckets.forEach(function(bucket){newSize+=bucket.positionsCompressed.length*2+(bucket.indices.length+bucket.edgeIndices.length)*newBytesPerIndex;newPositions+=bucket.positionsCompressed.length/3;});if(newSize>originalSize){return[mesh];}if(checkResult){doCheckResult(buckets,mesh);}return buckets;}function doCheckResult(buckets,mesh){var meshDict={};var edgesDict={};var edgeIndicesCount=0;buckets.forEach(function(bucket){var indices=bucket.indices;var edgeIndices=bucket.edgeIndices;var positionsCompressed=bucket.positionsCompressed;for(var _i328=0,len=indices.length;_i328=0){if(alreadyOutputEdge */var TrianglesDataTextureColorRenderer=/*#__PURE__*/function(){function TrianglesDataTextureColorRenderer(scene,withSAO){_classCallCheck(this,TrianglesDataTextureColorRenderer);this._scene=scene;this._withSAO=withSAO;this._hash=this._getHash();this._allocate();}_createClass(TrianglesDataTextureColorRenderer,[{key:"getValid",value:function getValid(){return this._hash===this._getHash();}},{key:"_getHash",value:function _getHash(){var scene=this._scene;return[scene._lightsState.getHash(),scene._sectionPlanesState.getHash(),this._withSAO?"sao":"nosao"].join(";");}},{key:"drawLayer",value:function drawLayer(frameCtx,dataTextureLayer,renderPass){var scene=this._scene;var camera=scene.camera;var model=dataTextureLayer.model;var gl=scene.canvas.gl;var state=dataTextureLayer._state;var textureState=state.textureState;var origin=dataTextureLayer._state.origin;var position=model.position,rotationMatrix=model.rotationMatrix,rotationMatrixConjugate=model.rotationMatrixConjugate;if(!this._program){this._allocate();if(this.errors){return;}}if(frameCtx.lastProgramId!==this._program.id){frameCtx.lastProgramId=this._program.id;this._bindProgram(frameCtx,state);}textureState.bindCommonTextures(this._program,this.uTexturePerObjectPositionsDecodeMatrix,this._uTexturePerVertexIdCoordinates,this.uTexturePerObjectColorsAndFlags,this._uTexturePerObjectMatrix);var rtcViewMatrix;var rtcCameraEye;var gotOrigin=origin[0]!==0||origin[1]!==0||origin[2]!==0;var gotPosition=position[0]!==0||position[1]!==0||position[2]!==0;if(gotOrigin||gotPosition){var rtcOrigin=tempVec3a$k;if(gotOrigin){var rotatedOrigin=math.transformPoint3(rotationMatrix,origin,tempVec3b$g);rtcOrigin[0]=rotatedOrigin[0];rtcOrigin[1]=rotatedOrigin[1];rtcOrigin[2]=rotatedOrigin[2];}else{rtcOrigin[0]=0;rtcOrigin[1]=0;rtcOrigin[2]=0;}rtcOrigin[0]+=position[0];rtcOrigin[1]+=position[1];rtcOrigin[2]+=position[2];rtcViewMatrix=createRTCViewMat(camera.viewMatrix,rtcOrigin,tempMat4a$c);rtcCameraEye=tempVec3c$d;rtcCameraEye[0]=camera.eye[0]-rtcOrigin[0];rtcCameraEye[1]=camera.eye[1]-rtcOrigin[1];rtcCameraEye[2]=camera.eye[2]-rtcOrigin[2];}else{rtcViewMatrix=camera.viewMatrix;rtcCameraEye=camera.eye;}gl.uniformMatrix4fv(this._uSceneModelMatrix,false,rotationMatrixConjugate);gl.uniformMatrix4fv(this._uViewMatrix,false,rtcViewMatrix);gl.uniformMatrix4fv(this._uProjMatrix,false,camera.projMatrix);gl.uniform3fv(this._uCameraEyeRtc,rtcCameraEye);gl.uniform1i(this._uRenderPass,renderPass);if(scene.logarithmicDepthBufferEnabled){var logDepthBufFC=2.0/(Math.log(frameCtx.pickZFar+1.0)/Math.LN2);gl.uniform1f(this._uLogDepthBufFC,logDepthBufFC);}var numAllocatedSectionPlanes=scene._sectionPlanesState.getNumAllocatedSectionPlanes();var numSectionPlanes=scene._sectionPlanesState.sectionPlanes.length;if(numAllocatedSectionPlanes>0){var sectionPlanes=scene._sectionPlanesState.sectionPlanes;var baseIndex=dataTextureLayer.layerIndex*numSectionPlanes;var renderFlags=model.renderFlags;for(var sectionPlaneIndex=0;sectionPlaneIndex0){textureState.bindTriangleIndicesTextures(this._program,this._uTexturePerPolygonIdPortionIds,this._uTexturePerPolygonIdIndices,8// 8 bits indices );gl.drawArrays(gl.TRIANGLES,0,state.numIndices8Bits);}if(state.numIndices16Bits>0){textureState.bindTriangleIndicesTextures(this._program,this._uTexturePerPolygonIdPortionIds,this._uTexturePerPolygonIdIndices,16// 16 bits indices );gl.drawArrays(gl.TRIANGLES,0,state.numIndices16Bits);}if(state.numIndices32Bits>0){textureState.bindTriangleIndicesTextures(this._program,this._uTexturePerPolygonIdPortionIds,this._uTexturePerPolygonIdIndices,32// 32 bits indices -);gl.drawArrays(gl.TRIANGLES,0,state.numIndices32Bits);}frameCtx.drawElements++;}},{key:"_allocate",value:function _allocate(){var scene=this._scene;var gl=scene.canvas.gl;var lightsState=scene._lightsState;this._program=new Program(gl,this._buildShader());if(this._program.errors){this.errors=this._program.errors;console.error(this.errors);return;}var program=this._program;this._uRenderPass=program.getLocation("renderPass");this._uLightAmbient=program.getLocation("lightAmbient");this._uLightColor=[];this._uLightDir=[];this._uLightPos=[];this._uLightAttenuation=[];var lights=lightsState.lights;var light;for(var _i325=0,len=lights.length;_i3250;var light;var src=[];src.push("#version 300 es");src.push("// TrianglesDataTextureColorRenderer vertex shader");src.push("#ifdef GL_FRAGMENT_PRECISION_HIGH");src.push("precision highp float;");src.push("precision highp int;");src.push("precision highp usampler2D;");src.push("precision highp isampler2D;");src.push("precision highp sampler2D;");src.push("#else");src.push("precision mediump float;");src.push("precision mediump int;");src.push("precision mediump usampler2D;");src.push("precision mediump isampler2D;");src.push("precision mediump sampler2D;");src.push("#endif");src.push("uniform int renderPass;");src.push("uniform mat4 sceneModelMatrix;");src.push("uniform mat4 viewMatrix;");src.push("uniform mat4 projMatrix;");src.push("uniform highp sampler2D uObjectPerObjectPositionsDecodeMatrix;");src.push("uniform highp sampler2D uTexturePerObjectMatrix;");src.push("uniform lowp usampler2D uObjectPerObjectColorsAndFlags;");src.push("uniform mediump usampler2D uTexturePerVertexIdCoordinates;");src.push("uniform highp usampler2D uTexturePerPolygonIdIndices;");src.push("uniform mediump usampler2D uTexturePerPolygonIdPortionIds;");src.push("uniform vec3 uCameraEyeRtc;");src.push("vec3 positions[3];");if(scene.logarithmicDepthBufferEnabled){src.push("uniform float logDepthBufFC;");src.push("out float vFragDepth;");src.push("out float isPerspective;");}src.push("bool isPerspectiveMatrix(mat4 m) {");src.push(" return (m[2][3] == - 1.0);");src.push("}");src.push("uniform vec4 lightAmbient;");for(var _i328=0,len=lightsState.lights.length;_i3280;var light;var src=[];src.push("#version 300 es");src.push("// TrianglesDataTextureColorRenderer vertex shader");src.push("#ifdef GL_FRAGMENT_PRECISION_HIGH");src.push("precision highp float;");src.push("precision highp int;");src.push("precision highp usampler2D;");src.push("precision highp isampler2D;");src.push("precision highp sampler2D;");src.push("#else");src.push("precision mediump float;");src.push("precision mediump int;");src.push("precision mediump usampler2D;");src.push("precision mediump isampler2D;");src.push("precision mediump sampler2D;");src.push("#endif");src.push("uniform int renderPass;");src.push("uniform mat4 sceneModelMatrix;");src.push("uniform mat4 viewMatrix;");src.push("uniform mat4 projMatrix;");src.push("uniform highp sampler2D uObjectPerObjectPositionsDecodeMatrix;");src.push("uniform highp sampler2D uTexturePerObjectMatrix;");src.push("uniform lowp usampler2D uObjectPerObjectColorsAndFlags;");src.push("uniform mediump usampler2D uTexturePerVertexIdCoordinates;");src.push("uniform highp usampler2D uTexturePerPolygonIdIndices;");src.push("uniform mediump usampler2D uTexturePerPolygonIdPortionIds;");src.push("uniform vec3 uCameraEyeRtc;");src.push("vec3 positions[3];");if(scene.logarithmicDepthBufferEnabled){src.push("uniform float logDepthBufFC;");src.push("out float vFragDepth;");src.push("out float isPerspective;");}src.push("bool isPerspectiveMatrix(mat4 m) {");src.push(" return (m[2][3] == - 1.0);");src.push("}");src.push("uniform vec4 lightAmbient;");for(var _i334=0,len=lightsState.lights.length;_i334> 3) & 4095;");src.push("int v_packed_object_id_index = (polygonIndex >> 3) >> 12;");src.push("int objectIndex = int(texelFetch(uTexturePerPolygonIdPortionIds, ivec2(h_packed_object_id_index, v_packed_object_id_index), 0).r);");src.push("ivec2 objectIndexCoords = ivec2(objectIndex % 512, objectIndex / 512);");// get flags & flags2 src.push("uvec4 flags = texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+2, objectIndexCoords.y), 0);");src.push("uvec4 flags2 = texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+3, objectIndexCoords.y), 0);");// flags.x = NOT_RENDERED | COLOR_OPAQUE | COLOR_TRANSPARENT @@ -18568,7 +18578,7 @@ src.push("} else {");src.push("ivec4 packedVertexBase = ivec4(texelFetch (uObjec src.push(" return;");src.push("};");src.push("vec3 normal = normalize(cross(positions[2] - positions[0], positions[1] - positions[0]));");src.push("vec3 position;");src.push("position = positions[gl_VertexID % 3];");src.push("vec3 viewNormal = -normalize((transpose(inverse(viewMatrix*objectDecodeAndInstanceMatrix)) * vec4(normal,1)).xyz);");// when the geometry is not solid, if needed, flip the triangle winding src.push("if (solid != 1u) {");src.push("if (isPerspectiveMatrix(projMatrix)) {");src.push("vec3 uCameraEyeRtcInQuantizedSpace = (inverse(sceneModelMatrix * objectDecodeAndInstanceMatrix) * vec4(uCameraEyeRtc, 1)).xyz;");// src.push("vColor = vec4(vec3(1, -1, 0)*dot(normalize(position.xyz - uCameraEyeRtcInQuantizedSpace), normal), 1);") src.push("if (dot(position.xyz - uCameraEyeRtcInQuantizedSpace, normal) < 0.0) {");src.push("position = positions[2 - (gl_VertexID % 3)];");src.push("viewNormal = -viewNormal;");src.push("}");src.push("} else {");// src.push("vColor = vec4(vec3(1, -1, 0)*viewNormal.z, 1);") -src.push("if (viewNormal.z < 0.0) {");src.push("position = positions[2 - (gl_VertexID % 3)];");src.push("viewNormal = -viewNormal;");src.push("}");src.push("}");src.push("}");src.push("vec4 worldPosition = sceneModelMatrix * ((objectDecodeAndInstanceMatrix * vec4(position, 1.0))); ");src.push("vec4 viewPosition = viewMatrix * worldPosition; ");src.push("vec3 reflectedColor = vec3(0.0, 0.0, 0.0);");src.push("vec3 viewLightDir = vec3(0.0, 0.0, -1.0);");src.push("float lambertian = 1.0;");for(var _i329=0,_len78=lightsState.lights.length;_i329<_len78;_i329++){light=lightsState.lights[_i329];if(light.type==="ambient"){continue;}if(light.type==="dir"){if(light.space==="view"){src.push("viewLightDir = normalize(lightDir"+_i329+");");}else{src.push("viewLightDir = normalize((viewMatrix * vec4(lightDir"+_i329+", 0.0)).xyz);");}}else if(light.type==="point"){if(light.space==="view"){src.push("viewLightDir = -normalize(lightPos"+_i329+" - viewPosition.xyz);");}else{src.push("viewLightDir = -normalize((viewMatrix * vec4(lightPos"+_i329+", 0.0)).xyz);");}}else if(light.type==="spot"){if(light.space==="view"){src.push("viewLightDir = normalize(lightDir"+_i329+");");}else{src.push("viewLightDir = normalize((viewMatrix * vec4(lightDir"+_i329+", 0.0)).xyz);");}}else{continue;}src.push("lambertian = max(dot(-viewNormal, viewLightDir), 0.0);");src.push("reflectedColor += lambertian * (lightColor"+_i329+".rgb * lightColor"+_i329+".a);");}src.push("vec3 rgb = vec3(color.rgb) / 255.0;");src.push("vColor = vec4((lightAmbient.rgb * lightAmbient.a * rgb) + (reflectedColor * rgb), float(color.a) / 255.0);");src.push("vec4 clipPos = projMatrix * viewPosition;");if(scene.logarithmicDepthBufferEnabled){src.push("vFragDepth = 1.0 + clipPos.w;");src.push("isPerspective = float (isPerspectiveMatrix(projMatrix));");}if(clipping){src.push("vWorldPosition = worldPosition;");src.push("vFlags2 = flags2.r;");}src.push("gl_Position = clipPos;");src.push("}");src.push("}");return src;}},{key:"_buildFragmentShader",value:function _buildFragmentShader(){var scene=this._scene;var sectionPlanesState=scene._sectionPlanesState;var clipping=sectionPlanesState.getNumAllocatedSectionPlanes()>0;var src=[];src.push('#version 300 es');src.push("// TrianglesDataTextureColorRenderer fragment shader");src.push("#ifdef GL_FRAGMENT_PRECISION_HIGH");src.push("precision highp float;");src.push("precision highp int;");src.push("#else");src.push("precision mediump float;");src.push("precision mediump int;");src.push("#endif");if(scene.logarithmicDepthBufferEnabled){src.push("in float isPerspective;");src.push("uniform float logDepthBufFC;");src.push("in float vFragDepth;");}if(this._withSAO){src.push("uniform sampler2D uOcclusionTexture;");src.push("uniform vec4 uSAOParams;");src.push("const float packUpscale = 256. / 255.;");src.push("const float unpackDownScale = 255. / 256.;");src.push("const vec3 packFactors = vec3( 256. * 256. * 256., 256. * 256., 256. );");src.push("const vec4 unPackFactors = unpackDownScale / vec4( packFactors, 1. );");src.push("float unpackRGBToFloat( const in vec4 v ) {");src.push(" return dot( v, unPackFactors );");src.push("}");}if(clipping){src.push("in vec4 vWorldPosition;");src.push("flat in uint vFlags2;");for(var _i330=0,len=sectionPlanesState.getNumAllocatedSectionPlanes();_i330 0u;");src.push(" if (clippable) {");src.push(" float dist = 0.0;");for(var _i331=0,_len79=sectionPlanesState.getNumAllocatedSectionPlanes();_i331<_len79;_i331++){src.push("if (sectionPlaneActive"+_i331+") {");src.push(" dist += clamp(dot(-sectionPlaneDir"+_i331+".xyz, vWorldPosition.xyz - sectionPlanePos"+_i331+".xyz), 0.0, 1000.0);");src.push("}");}src.push(" if (dist > 0.0) { ");src.push(" discard;");src.push(" }");src.push("}");}if(scene.logarithmicDepthBufferEnabled){src.push(" gl_FragDepth = isPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5;");//src.push(" gl_FragDepth = log2( vFragDepth ) * logDepthBufFC * 0.5;"); +src.push("if (viewNormal.z < 0.0) {");src.push("position = positions[2 - (gl_VertexID % 3)];");src.push("viewNormal = -viewNormal;");src.push("}");src.push("}");src.push("}");src.push("vec4 worldPosition = sceneModelMatrix * ((objectDecodeAndInstanceMatrix * vec4(position, 1.0))); ");src.push("vec4 viewPosition = viewMatrix * worldPosition; ");src.push("vec3 reflectedColor = vec3(0.0, 0.0, 0.0);");src.push("vec3 viewLightDir = vec3(0.0, 0.0, -1.0);");src.push("float lambertian = 1.0;");for(var _i335=0,_len78=lightsState.lights.length;_i335<_len78;_i335++){light=lightsState.lights[_i335];if(light.type==="ambient"){continue;}if(light.type==="dir"){if(light.space==="view"){src.push("viewLightDir = normalize(lightDir"+_i335+");");}else{src.push("viewLightDir = normalize((viewMatrix * vec4(lightDir"+_i335+", 0.0)).xyz);");}}else if(light.type==="point"){if(light.space==="view"){src.push("viewLightDir = -normalize(lightPos"+_i335+" - viewPosition.xyz);");}else{src.push("viewLightDir = -normalize((viewMatrix * vec4(lightPos"+_i335+", 0.0)).xyz);");}}else if(light.type==="spot"){if(light.space==="view"){src.push("viewLightDir = normalize(lightDir"+_i335+");");}else{src.push("viewLightDir = normalize((viewMatrix * vec4(lightDir"+_i335+", 0.0)).xyz);");}}else{continue;}src.push("lambertian = max(dot(-viewNormal, viewLightDir), 0.0);");src.push("reflectedColor += lambertian * (lightColor"+_i335+".rgb * lightColor"+_i335+".a);");}src.push("vec3 rgb = vec3(color.rgb) / 255.0;");src.push("vColor = vec4((lightAmbient.rgb * lightAmbient.a * rgb) + (reflectedColor * rgb), float(color.a) / 255.0);");src.push("vec4 clipPos = projMatrix * viewPosition;");if(scene.logarithmicDepthBufferEnabled){src.push("vFragDepth = 1.0 + clipPos.w;");src.push("isPerspective = float (isPerspectiveMatrix(projMatrix));");}if(clipping){src.push("vWorldPosition = worldPosition;");src.push("vFlags2 = flags2.r;");}src.push("gl_Position = clipPos;");src.push("}");src.push("}");return src;}},{key:"_buildFragmentShader",value:function _buildFragmentShader(){var scene=this._scene;var sectionPlanesState=scene._sectionPlanesState;var clipping=sectionPlanesState.getNumAllocatedSectionPlanes()>0;var src=[];src.push('#version 300 es');src.push("// TrianglesDataTextureColorRenderer fragment shader");src.push("#ifdef GL_FRAGMENT_PRECISION_HIGH");src.push("precision highp float;");src.push("precision highp int;");src.push("#else");src.push("precision mediump float;");src.push("precision mediump int;");src.push("#endif");if(scene.logarithmicDepthBufferEnabled){src.push("in float isPerspective;");src.push("uniform float logDepthBufFC;");src.push("in float vFragDepth;");}if(this._withSAO){src.push("uniform sampler2D uOcclusionTexture;");src.push("uniform vec4 uSAOParams;");src.push("const float packUpscale = 256. / 255.;");src.push("const float unpackDownScale = 255. / 256.;");src.push("const vec3 packFactors = vec3( 256. * 256. * 256., 256. * 256., 256. );");src.push("const vec4 unPackFactors = unpackDownScale / vec4( packFactors, 1. );");src.push("float unpackRGBToFloat( const in vec4 v ) {");src.push(" return dot( v, unPackFactors );");src.push("}");}if(clipping){src.push("in vec4 vWorldPosition;");src.push("flat in uint vFlags2;");for(var _i336=0,len=sectionPlanesState.getNumAllocatedSectionPlanes();_i336 0u;");src.push(" if (clippable) {");src.push(" float dist = 0.0;");for(var _i337=0,_len79=sectionPlanesState.getNumAllocatedSectionPlanes();_i337<_len79;_i337++){src.push("if (sectionPlaneActive"+_i337+") {");src.push(" dist += clamp(dot(-sectionPlaneDir"+_i337+".xyz, vWorldPosition.xyz - sectionPlanePos"+_i337+".xyz), 0.0, 1000.0);");src.push("}");}src.push(" if (dist > 0.0) { ");src.push(" discard;");src.push(" }");src.push("}");}if(scene.logarithmicDepthBufferEnabled){src.push(" gl_FragDepth = isPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5;");//src.push(" gl_FragDepth = log2( vFragDepth ) * logDepthBufFC * 0.5;"); }if(this._withSAO){// Doing SAO blend in the main solid fill draw shader just so that edge lines can be drawn over the top // Would be more efficient to defer this, then render lines later, using same depth buffer for Z-reject src.push(" float viewportWidth = uSAOParams[0];");src.push(" float viewportHeight = uSAOParams[1];");src.push(" float blendCutoff = uSAOParams[2];");src.push(" float blendFactor = uSAOParams[3];");src.push(" vec2 uv = vec2(gl_FragCoord.x / viewportWidth, gl_FragCoord.y / viewportHeight);");src.push(" float ambient = smoothstep(blendCutoff, 1.0, unpackRGBToFloat(texture(uOcclusionTexture, uv))) * blendFactor;");src.push(" outColor = vec4(vColor.rgb * ambient, 1.0);");}else{src.push(" outColor = vColor;");}src.push("}");return src;}},{key:"webglContextRestored",value:function webglContextRestored(){this._program=null;}},{key:"destroy",value:function destroy(){if(this._program){this._program.destroy();}this._program=null;}}]);return TrianglesDataTextureColorRenderer;}();var defaultColor$1=new Float32Array([1,1,1]);var tempVec3a$j=math.vec3();var tempVec3b$f=math.vec3();var tempVec3c$c=math.vec3();math.vec3();var tempMat4a$b=math.mat4();/** @@ -18576,7 +18586,7 @@ src.push(" float viewportWidth = uSAOParams[0];");src.push(" float viewp */var TrianglesDataTextureSilhouetteRenderer=/*#__PURE__*/function(){function TrianglesDataTextureSilhouetteRenderer(scene,primitiveType){_classCallCheck(this,TrianglesDataTextureSilhouetteRenderer);this._scene=scene;this._hash=this._getHash();this._allocate();}_createClass(TrianglesDataTextureSilhouetteRenderer,[{key:"getValid",value:function getValid(){return this._hash===this._getHash();}},{key:"_getHash",value:function _getHash(){return this._scene._sectionPlanesState.getHash();}},{key:"drawLayer",value:function drawLayer(frameCtx,dataTextureLayer,renderPass){var scene=this._scene;var camera=scene.camera;var model=dataTextureLayer.model;var gl=scene.canvas.gl;var state=dataTextureLayer._state;var textureState=state.textureState;var origin=dataTextureLayer._state.origin;var position=model.position,rotationMatrix=model.rotationMatrix,rotationMatrixConjugate=model.rotationMatrixConjugate;var viewMatrix=camera.viewMatrix;if(!this._program){this._allocate();if(this.errors){return;}}if(frameCtx.lastProgramId!==this._program.id){frameCtx.lastProgramId=this._program.id;this._bindProgram(frameCtx,state);}textureState.bindCommonTextures(this._program,this.uTexturePerObjectPositionsDecodeMatrix,this._uTexturePerVertexIdCoordinates,this.uTexturePerObjectColorsAndFlags,this._uTexturePerObjectMatrix);var rtcViewMatrix;var rtcCameraEye;if(origin||position[0]!==0||position[1]!==0||position[2]!==0){var rtcOrigin=tempVec3a$j;if(origin){var rotatedOrigin=tempVec3b$f;math.transformPoint3(rotationMatrix,origin,rotatedOrigin);rtcOrigin[0]=rotatedOrigin[0];rtcOrigin[1]=rotatedOrigin[1];rtcOrigin[2]=rotatedOrigin[2];}else{rtcOrigin[0]=0;rtcOrigin[1]=0;rtcOrigin[2]=0;}rtcOrigin[0]+=position[0];rtcOrigin[1]+=position[1];rtcOrigin[2]+=position[2];rtcViewMatrix=createRTCViewMat(viewMatrix,rtcOrigin,tempMat4a$b);rtcCameraEye=tempVec3c$c;rtcCameraEye[0]=camera.eye[0]-rtcOrigin[0];rtcCameraEye[1]=camera.eye[1]-rtcOrigin[1];rtcCameraEye[2]=camera.eye[2]-rtcOrigin[2];}else{rtcViewMatrix=viewMatrix;rtcCameraEye=camera.eye;}gl.uniform3fv(this._uCameraEyeRtc,rtcCameraEye);gl.uniform1i(this._uRenderPass,renderPass);gl.uniformMatrix4fv(this._uWorldMatrix,false,rotationMatrixConjugate);gl.uniformMatrix4fv(this._uViewMatrix,false,rtcViewMatrix);gl.uniformMatrix4fv(this._uProjMatrix,false,camera.projMatrix);if(renderPass===RENDER_PASSES.SILHOUETTE_XRAYED){var material=scene.xrayMaterial._state;var fillColor=material.fillColor;var fillAlpha=material.fillAlpha;gl.uniform4f(this._uColor,fillColor[0],fillColor[1],fillColor[2],fillAlpha);}else if(renderPass===RENDER_PASSES.SILHOUETTE_HIGHLIGHTED){var _material3=scene.highlightMaterial._state;var _fillColor=_material3.fillColor;var _fillAlpha=_material3.fillAlpha;gl.uniform4f(this._uColor,_fillColor[0],_fillColor[1],_fillColor[2],_fillAlpha);}else if(renderPass===RENDER_PASSES.SILHOUETTE_SELECTED){var _material4=scene.selectedMaterial._state;var _fillColor2=_material4.fillColor;var _fillAlpha2=_material4.fillAlpha;gl.uniform4f(this._uColor,_fillColor2[0],_fillColor2[1],_fillColor2[2],_fillAlpha2);}else{gl.uniform4fv(this._uColor,defaultColor$1);}if(scene.logarithmicDepthBufferEnabled){var logDepthBufFC=2.0/(Math.log(frameCtx.pickZFar+1.0)/Math.LN2);gl.uniform1f(this._uLogDepthBufFC,logDepthBufFC);}var numAllocatedSectionPlanes=scene._sectionPlanesState.getNumAllocatedSectionPlanes();var numSectionPlanes=scene._sectionPlanesState.sectionPlanes.length;if(numAllocatedSectionPlanes>0){var sectionPlanes=scene._sectionPlanesState.sectionPlanes;var baseIndex=dataTextureLayer.layerIndex*numSectionPlanes;var renderFlags=model.renderFlags;for(var sectionPlaneIndex=0;sectionPlaneIndex0){textureState.bindTriangleIndicesTextures(this._program,this._uTexturePerPolygonIdPortionIds,this._uTexturePerPolygonIdIndices,8// 8 bits indices );gl.drawArrays(gl.TRIANGLES,0,state.numIndices8Bits);}if(state.numIndices16Bits>0){textureState.bindTriangleIndicesTextures(this._program,this._uTexturePerPolygonIdPortionIds,this._uTexturePerPolygonIdIndices,16// 16 bits indices );gl.drawArrays(gl.TRIANGLES,0,state.numIndices16Bits);}if(state.numIndices32Bits>0){textureState.bindTriangleIndicesTextures(this._program,this._uTexturePerPolygonIdPortionIds,this._uTexturePerPolygonIdIndices,32// 32 bits indices -);gl.drawArrays(gl.TRIANGLES,0,state.numIndices32Bits);}frameCtx.drawElements++;}},{key:"_allocate",value:function _allocate(){var scene=this._scene;var gl=scene.canvas.gl;this._program=new Program(gl,this._buildShader());if(this._program.errors){this.errors=this._program.errors;return;}var program=this._program;this._uRenderPass=program.getLocation("renderPass");this._uColor=program.getLocation("color");this._uWorldMatrix=program.getLocation("sceneModelMatrix");this._uViewMatrix=program.getLocation("viewMatrix");this._uProjMatrix=program.getLocation("projMatrix");this._uSectionPlanes=[];for(var _i332=0,len=scene._sectionPlanesState.getNumAllocatedSectionPlanes();_i3320;var src=[];src.push("#version 300 es");src.push("// Triangles dataTexture silhouette vertex shader");src.push("#ifdef GL_FRAGMENT_PRECISION_HIGH");src.push("precision highp float;");src.push("precision highp int;");src.push("precision highp usampler2D;");src.push("precision highp isampler2D;");src.push("precision highp sampler2D;");src.push("#else");src.push("precision mediump float;");src.push("precision mediump int;");src.push("precision mediump usampler2D;");src.push("precision mediump isampler2D;");src.push("precision mediump sampler2D;");src.push("#endif");src.push("uniform int renderPass;");if(scene.entityOffsetsEnabled){src.push("in vec3 offset;");}src.push("uniform mat4 sceneModelMatrix;");src.push("uniform mat4 viewMatrix;");src.push("uniform mat4 projMatrix;");// src.push("uniform sampler2D uOcclusionTexture;"); +);gl.drawArrays(gl.TRIANGLES,0,state.numIndices32Bits);}frameCtx.drawElements++;}},{key:"_allocate",value:function _allocate(){var scene=this._scene;var gl=scene.canvas.gl;this._program=new Program(gl,this._buildShader());if(this._program.errors){this.errors=this._program.errors;return;}var program=this._program;this._uRenderPass=program.getLocation("renderPass");this._uColor=program.getLocation("color");this._uWorldMatrix=program.getLocation("sceneModelMatrix");this._uViewMatrix=program.getLocation("viewMatrix");this._uProjMatrix=program.getLocation("projMatrix");this._uSectionPlanes=[];for(var _i338=0,len=scene._sectionPlanesState.getNumAllocatedSectionPlanes();_i3380;var src=[];src.push("#version 300 es");src.push("// Triangles dataTexture silhouette vertex shader");src.push("#ifdef GL_FRAGMENT_PRECISION_HIGH");src.push("precision highp float;");src.push("precision highp int;");src.push("precision highp usampler2D;");src.push("precision highp isampler2D;");src.push("precision highp sampler2D;");src.push("#else");src.push("precision mediump float;");src.push("precision mediump int;");src.push("precision mediump usampler2D;");src.push("precision mediump isampler2D;");src.push("precision mediump sampler2D;");src.push("#endif");src.push("uniform int renderPass;");if(scene.entityOffsetsEnabled){src.push("in vec3 offset;");}src.push("uniform mat4 sceneModelMatrix;");src.push("uniform mat4 viewMatrix;");src.push("uniform mat4 projMatrix;");// src.push("uniform sampler2D uOcclusionTexture;"); src.push("uniform highp sampler2D uObjectPerObjectPositionsDecodeMatrix;");src.push("uniform highp sampler2D uTexturePerObjectMatrix;");src.push("uniform lowp usampler2D uObjectPerObjectColorsAndFlags;");src.push("uniform mediump usampler2D uTexturePerVertexIdCoordinates;");src.push("uniform highp usampler2D uTexturePerPolygonIdIndices;");src.push("uniform mediump usampler2D uTexturePerPolygonIdPortionIds;");src.push("uniform vec3 uCameraEyeRtc;");src.push("vec3 positions[3];");if(scene.logarithmicDepthBufferEnabled){src.push("uniform float logDepthBufFC;");src.push("out float vFragDepth;");src.push("out float isPerspective;");}src.push("bool isPerspectiveMatrix(mat4 m) {");src.push(" return (m[2][3] == - 1.0);");src.push("}");if(clipping){src.push("out vec4 vWorldPosition;");src.push("flat out uint vFlags2;");}src.push("void main(void) {");// constants src.push("int polygonIndex = gl_VertexID / 3;");// get packed object-id src.push("int h_packed_object_id_index = (polygonIndex >> 3) & 4095;");src.push("int v_packed_object_id_index = (polygonIndex >> 3) >> 12;");src.push("int objectIndex = int(texelFetch(uTexturePerPolygonIdPortionIds, ivec2(h_packed_object_id_index, v_packed_object_id_index), 0).r);");src.push("ivec2 objectIndexCoords = ivec2(objectIndex % 512, objectIndex / 512);");// get flags & flags2 @@ -18588,12 +18598,12 @@ src.push("} else {");// get vertex base src.push("ivec4 packedVertexBase = ivec4(texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+4, objectIndexCoords.y), 0));");src.push("ivec4 packedIndexBaseOffset = ivec4(texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+5, objectIndexCoords.y), 0));");src.push("int indexBaseOffset = (packedIndexBaseOffset.r << 24) + (packedIndexBaseOffset.g << 16) + (packedIndexBaseOffset.b << 8) + packedIndexBaseOffset.a;");src.push("int h_index = (polygonIndex - indexBaseOffset) & 4095;");src.push("int v_index = (polygonIndex - indexBaseOffset) >> 12;");src.push("ivec3 vertexIndices = ivec3(texelFetch(uTexturePerPolygonIdIndices, ivec2(h_index, v_index), 0));");src.push("ivec3 uniqueVertexIndexes = vertexIndices + (packedVertexBase.r << 24) + (packedVertexBase.g << 16) + (packedVertexBase.b << 8) + packedVertexBase.a;");src.push("ivec3 indexPositionH = uniqueVertexIndexes & 4095;");src.push("ivec3 indexPositionV = uniqueVertexIndexes >> 12;");src.push("mat4 objectInstanceMatrix = mat4 (texelFetch (uTexturePerObjectMatrix, ivec2(objectIndexCoords.x*4+0, objectIndexCoords.y), 0), texelFetch (uTexturePerObjectMatrix, ivec2(objectIndexCoords.x*4+1, objectIndexCoords.y), 0), texelFetch (uTexturePerObjectMatrix, ivec2(objectIndexCoords.x*4+2, objectIndexCoords.y), 0), texelFetch (uTexturePerObjectMatrix, ivec2(objectIndexCoords.x*4+3, objectIndexCoords.y), 0));");src.push("mat4 objectDecodeAndInstanceMatrix = objectInstanceMatrix * mat4 (texelFetch (uObjectPerObjectPositionsDecodeMatrix, ivec2(objectIndexCoords.x*4+0, objectIndexCoords.y), 0), texelFetch (uObjectPerObjectPositionsDecodeMatrix, ivec2(objectIndexCoords.x*4+1, objectIndexCoords.y), 0), texelFetch (uObjectPerObjectPositionsDecodeMatrix, ivec2(objectIndexCoords.x*4+2, objectIndexCoords.y), 0), texelFetch (uObjectPerObjectPositionsDecodeMatrix, ivec2(objectIndexCoords.x*4+3, objectIndexCoords.y), 0));");src.push("uint solid = texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+7, objectIndexCoords.y), 0).r;");// get position src.push("positions[0] = vec3(texelFetch(uTexturePerVertexIdCoordinates, ivec2(indexPositionH.r, indexPositionV.r), 0));");src.push("positions[1] = vec3(texelFetch(uTexturePerVertexIdCoordinates, ivec2(indexPositionH.g, indexPositionV.g), 0));");src.push("positions[2] = vec3(texelFetch(uTexturePerVertexIdCoordinates, ivec2(indexPositionH.b, indexPositionV.b), 0));");// get normal src.push("vec3 normal = normalize(cross(positions[2] - positions[0], positions[1] - positions[0]));");src.push("vec3 position;");src.push("position = positions[gl_VertexID % 3];");src.push("vec3 viewNormal = -normalize((transpose(inverse(viewMatrix*objectDecodeAndInstanceMatrix)) * vec4(normal,1)).xyz);");// when the geometry is not solid, if needed, flip the triangle winding -src.push("if (solid != 1u) {");src.push("if (isPerspectiveMatrix(projMatrix)) {");src.push("vec3 uCameraEyeRtcInQuantizedSpace = (inverse(sceneModelMatrix * objectDecodeAndInstanceMatrix) * vec4(uCameraEyeRtc, 1)).xyz;");src.push("if (dot(position.xyz - uCameraEyeRtcInQuantizedSpace, normal) < 0.0) {");src.push("position = positions[2 - (gl_VertexID % 3)];");src.push("viewNormal = -viewNormal;");src.push("}");src.push("} else {");src.push("if (viewNormal.z < 0.0) {");src.push("position = positions[2 - (gl_VertexID % 3)];");src.push("viewNormal = -viewNormal;");src.push("}");src.push("}");src.push("}");src.push("vec4 worldPosition = sceneModelMatrix * (objectDecodeAndInstanceMatrix * vec4(position, 1.0)); ");src.push("vec4 viewPosition = viewMatrix * worldPosition; ");src.push("vec4 clipPos = projMatrix * viewPosition;");if(scene.logarithmicDepthBufferEnabled){src.push("vFragDepth = 1.0 + clipPos.w;");src.push("isPerspective = float (isPerspectiveMatrix(projMatrix));");}if(clipping){src.push("vWorldPosition = worldPosition;");src.push("vFlags2 = flags2.r;");}src.push("gl_Position = clipPos;");src.push("}");src.push("}");return src;}},{key:"_buildFragmentShader",value:function _buildFragmentShader(){var scene=this._scene;var clipping=scene._sectionPlanesState.getNumAllocatedSectionPlanes()>0;var src=[];src.push('#version 300 es');src.push("// Triangles dataTexture draw fragment shader");src.push("#ifdef GL_FRAGMENT_PRECISION_HIGH");src.push("precision highp float;");src.push("precision highp int;");src.push("#else");src.push("precision mediump float;");src.push("precision mediump int;");src.push("#endif");if(scene.logarithmicDepthBufferEnabled){src.push("in float isPerspective;");src.push("uniform float logDepthBufFC;");src.push("in float vFragDepth;");}if(clipping){src.push("in vec4 vWorldPosition;");src.push("flat in uint vFlags2;");for(var _i333=0,len=scene._sectionPlanesState.getNumAllocatedSectionPlanes();_i333 0u;");src.push(" if (clippable) {");src.push(" float dist = 0.0;");for(var _i334=0,_len80=scene._sectionPlanesState.getNumAllocatedSectionPlanes();_i334<_len80;_i334++){src.push("if (sectionPlaneActive"+_i334+") {");src.push(" dist += clamp(dot(-sectionPlaneDir"+_i334+".xyz, vWorldPosition.xyz - sectionPlanePos"+_i334+".xyz), 0.0, 1000.0);");src.push("}");}src.push(" if (dist > 0.0) { ");src.push(" discard;");src.push(" }");src.push("}");}if(scene.logarithmicDepthBufferEnabled){src.push(" gl_FragDepth = isPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5;");}src.push(" outColor = color;");src.push("}");return src;}},{key:"webglContextRestored",value:function webglContextRestored(){this._program=null;}},{key:"destroy",value:function destroy(){if(this._program){this._program.destroy();}this._program=null;}}]);return TrianglesDataTextureSilhouetteRenderer;}();var defaultColor=new Float32Array([0,0,0,1]);var tempVec3a$i=math.vec3();var tempVec3b$e=math.vec3();math.vec3();var tempMat4a$a=math.mat4();/** +src.push("if (solid != 1u) {");src.push("if (isPerspectiveMatrix(projMatrix)) {");src.push("vec3 uCameraEyeRtcInQuantizedSpace = (inverse(sceneModelMatrix * objectDecodeAndInstanceMatrix) * vec4(uCameraEyeRtc, 1)).xyz;");src.push("if (dot(position.xyz - uCameraEyeRtcInQuantizedSpace, normal) < 0.0) {");src.push("position = positions[2 - (gl_VertexID % 3)];");src.push("viewNormal = -viewNormal;");src.push("}");src.push("} else {");src.push("if (viewNormal.z < 0.0) {");src.push("position = positions[2 - (gl_VertexID % 3)];");src.push("viewNormal = -viewNormal;");src.push("}");src.push("}");src.push("}");src.push("vec4 worldPosition = sceneModelMatrix * (objectDecodeAndInstanceMatrix * vec4(position, 1.0)); ");src.push("vec4 viewPosition = viewMatrix * worldPosition; ");src.push("vec4 clipPos = projMatrix * viewPosition;");if(scene.logarithmicDepthBufferEnabled){src.push("vFragDepth = 1.0 + clipPos.w;");src.push("isPerspective = float (isPerspectiveMatrix(projMatrix));");}if(clipping){src.push("vWorldPosition = worldPosition;");src.push("vFlags2 = flags2.r;");}src.push("gl_Position = clipPos;");src.push("}");src.push("}");return src;}},{key:"_buildFragmentShader",value:function _buildFragmentShader(){var scene=this._scene;var clipping=scene._sectionPlanesState.getNumAllocatedSectionPlanes()>0;var src=[];src.push('#version 300 es');src.push("// Triangles dataTexture draw fragment shader");src.push("#ifdef GL_FRAGMENT_PRECISION_HIGH");src.push("precision highp float;");src.push("precision highp int;");src.push("#else");src.push("precision mediump float;");src.push("precision mediump int;");src.push("#endif");if(scene.logarithmicDepthBufferEnabled){src.push("in float isPerspective;");src.push("uniform float logDepthBufFC;");src.push("in float vFragDepth;");}if(clipping){src.push("in vec4 vWorldPosition;");src.push("flat in uint vFlags2;");for(var _i339=0,len=scene._sectionPlanesState.getNumAllocatedSectionPlanes();_i339 0u;");src.push(" if (clippable) {");src.push(" float dist = 0.0;");for(var _i340=0,_len80=scene._sectionPlanesState.getNumAllocatedSectionPlanes();_i340<_len80;_i340++){src.push("if (sectionPlaneActive"+_i340+") {");src.push(" dist += clamp(dot(-sectionPlaneDir"+_i340+".xyz, vWorldPosition.xyz - sectionPlanePos"+_i340+".xyz), 0.0, 1000.0);");src.push("}");}src.push(" if (dist > 0.0) { ");src.push(" discard;");src.push(" }");src.push("}");}if(scene.logarithmicDepthBufferEnabled){src.push(" gl_FragDepth = isPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5;");}src.push(" outColor = color;");src.push("}");return src;}},{key:"webglContextRestored",value:function webglContextRestored(){this._program=null;}},{key:"destroy",value:function destroy(){if(this._program){this._program.destroy();}this._program=null;}}]);return TrianglesDataTextureSilhouetteRenderer;}();var defaultColor=new Float32Array([0,0,0,1]);var tempVec3a$i=math.vec3();var tempVec3b$e=math.vec3();math.vec3();var tempMat4a$a=math.mat4();/** * @private */var TrianglesDataTextureEdgesRenderer=/*#__PURE__*/function(){function TrianglesDataTextureEdgesRenderer(scene){_classCallCheck(this,TrianglesDataTextureEdgesRenderer);this._scene=scene;this._hash=this._getHash();this._allocate();}_createClass(TrianglesDataTextureEdgesRenderer,[{key:"getValid",value:function getValid(){return this._hash===this._getHash();}},{key:"_getHash",value:function _getHash(){return this._scene._sectionPlanesState.getHash();}},{key:"drawLayer",value:function drawLayer(frameCtx,dataTextureLayer,renderPass){var model=dataTextureLayer.model;var scene=model.scene;var camera=scene.camera;var gl=scene.canvas.gl;var state=dataTextureLayer._state;var textureState=state.textureState;var origin=dataTextureLayer._state.origin;var position=model.position,rotationMatrix=model.rotationMatrix,rotationMatrixConjugate=model.rotationMatrixConjugate;var viewMatrix=camera.viewMatrix;if(!this._program){this._allocate(dataTextureLayer);if(this.errors){return;}}if(frameCtx.lastProgramId!==this._program.id){frameCtx.lastProgramId=this._program.id;this._bindProgram();}textureState.bindCommonTextures(this._program,this.uTexturePerObjectPositionsDecodeMatrix,this._uTexturePerVertexIdCoordinates,this.uTexturePerObjectColorsAndFlags,this._uTexturePerObjectMatrix);var rtcViewMatrix;var gotOrigin=origin[0]!==0||origin[1]!==0||origin[2]!==0;var gotPosition=position[0]!==0||position[1]!==0||position[2]!==0;if(gotOrigin||gotPosition){var rtcOrigin=tempVec3a$i;if(gotOrigin){var rotatedOrigin=math.transformPoint3(rotationMatrix,origin,tempVec3b$e);rtcOrigin[0]=rotatedOrigin[0];rtcOrigin[1]=rotatedOrigin[1];rtcOrigin[2]=rotatedOrigin[2];}else{rtcOrigin[0]=0;rtcOrigin[1]=0;rtcOrigin[2]=0;}rtcOrigin[0]+=position[0];rtcOrigin[1]+=position[1];rtcOrigin[2]+=position[2];rtcViewMatrix=createRTCViewMat(viewMatrix,rtcOrigin,tempMat4a$a);}else{rtcViewMatrix=viewMatrix;}gl.uniform1i(this._uRenderPass,renderPass);gl.uniformMatrix4fv(this._uSceneModelMatrix,false,rotationMatrixConjugate);gl.uniformMatrix4fv(this._uViewMatrix,false,rtcViewMatrix);gl.uniformMatrix4fv(this._uProjMatrix,false,camera.projMatrix);if(renderPass===RENDER_PASSES.EDGES_XRAYED){var material=scene.xrayMaterial._state;var edgeColor=material.edgeColor;var edgeAlpha=material.edgeAlpha;gl.uniform4f(this._uColor,edgeColor[0],edgeColor[1],edgeColor[2],edgeAlpha);}else if(renderPass===RENDER_PASSES.EDGES_HIGHLIGHTED){var _material5=scene.highlightMaterial._state;var _edgeColor=_material5.edgeColor;var _edgeAlpha=_material5.edgeAlpha;gl.uniform4f(this._uColor,_edgeColor[0],_edgeColor[1],_edgeColor[2],_edgeAlpha);}else if(renderPass===RENDER_PASSES.EDGES_SELECTED){var _material6=scene.selectedMaterial._state;var _edgeColor2=_material6.edgeColor;var _edgeAlpha2=_material6.edgeAlpha;gl.uniform4f(this._uColor,_edgeColor2[0],_edgeColor2[1],_edgeColor2[2],_edgeAlpha2);}else{gl.uniform4fv(this._uColor,defaultColor);}var numAllocatedSectionPlanes=scene._sectionPlanesState.getNumAllocatedSectionPlanes();var numSectionPlanes=scene._sectionPlanesState.sectionPlanes.length;if(numAllocatedSectionPlanes>0){var sectionPlanes=scene._sectionPlanesState.sectionPlanes;var baseIndex=dataTextureLayer.layerIndex*numSectionPlanes;var renderFlags=model.renderFlags;for(var sectionPlaneIndex=0;sectionPlaneIndex0){textureState.bindEdgeIndicesTextures(this._program,this._uTexturePerEdgeIdPortionIds,this._uTexturePerPolygonIdEdgeIndices,8// 8 bits edge indices );gl.drawArrays(gl.LINES,0,state.numEdgeIndices8Bits);}if(state.numEdgeIndices16Bits>0){textureState.bindEdgeIndicesTextures(this._program,this._uTexturePerEdgeIdPortionIds,this._uTexturePerPolygonIdEdgeIndices,16// 16 bits edge indices );gl.drawArrays(gl.LINES,0,state.numEdgeIndices16Bits);}if(state.numEdgeIndices32Bits>0){textureState.bindEdgeIndicesTextures(this._program,this._uTexturePerEdgeIdPortionIds,this._uTexturePerPolygonIdEdgeIndices,32// 32 bits edge indices -);gl.drawArrays(gl.LINES,0,state.numEdgeIndices32Bits);}frameCtx.drawElements++;}},{key:"_allocate",value:function _allocate(){var scene=this._scene;var gl=scene.canvas.gl;this._program=new Program(gl,this._buildShader());if(this._program.errors){this.errors=this._program.errors;return;}var program=this._program;this._uRenderPass=program.getLocation("renderPass");this._uColor=program.getLocation("color");this._uSceneModelMatrix=program.getLocation("sceneModelMatrix");this._uWorldMatrix=program.getLocation("worldMatrix");this._uViewMatrix=program.getLocation("viewMatrix");this._uProjMatrix=program.getLocation("projMatrix");this._uSectionPlanes=[];for(var _i335=0,len=scene._sectionPlanesState.getNumAllocatedSectionPlanes();_i3350;var src=[];src.push("#version 300 es");src.push("// Batched geometry edges drawing vertex shader");src.push("#ifdef GL_FRAGMENT_PRECISION_HIGH");src.push("precision highp float;");src.push("precision highp int;");src.push("precision highp usampler2D;");src.push("precision highp isampler2D;");src.push("precision highp sampler2D;");src.push("#else");src.push("precision mediump float;");src.push("precision mediump int;");src.push("precision mediump usampler2D;");src.push("precision mediump isampler2D;");src.push("precision mediump sampler2D;");src.push("#endif");src.push("uniform int renderPass;");// if (scene.entityOffsetsEnabled) { +);gl.drawArrays(gl.LINES,0,state.numEdgeIndices32Bits);}frameCtx.drawElements++;}},{key:"_allocate",value:function _allocate(){var scene=this._scene;var gl=scene.canvas.gl;this._program=new Program(gl,this._buildShader());if(this._program.errors){this.errors=this._program.errors;return;}var program=this._program;this._uRenderPass=program.getLocation("renderPass");this._uColor=program.getLocation("color");this._uSceneModelMatrix=program.getLocation("sceneModelMatrix");this._uWorldMatrix=program.getLocation("worldMatrix");this._uViewMatrix=program.getLocation("viewMatrix");this._uProjMatrix=program.getLocation("projMatrix");this._uSectionPlanes=[];for(var _i341=0,len=scene._sectionPlanesState.getNumAllocatedSectionPlanes();_i3410;var src=[];src.push("#version 300 es");src.push("// Batched geometry edges drawing vertex shader");src.push("#ifdef GL_FRAGMENT_PRECISION_HIGH");src.push("precision highp float;");src.push("precision highp int;");src.push("precision highp usampler2D;");src.push("precision highp isampler2D;");src.push("precision highp sampler2D;");src.push("#else");src.push("precision mediump float;");src.push("precision mediump int;");src.push("precision mediump usampler2D;");src.push("precision mediump isampler2D;");src.push("precision mediump sampler2D;");src.push("#endif");src.push("uniform int renderPass;");// if (scene.entityOffsetsEnabled) { // src.push("in vec3 offset;"); // } src.push("uniform mat4 sceneModelMatrix;");src.push("uniform mat4 viewMatrix;");src.push("uniform mat4 projMatrix;");src.push("uniform highp sampler2D uObjectPerObjectPositionsDecodeMatrix;");src.push("uniform highp sampler2D uTexturePerObjectMatrix;");src.push("uniform lowp usampler2D uObjectPerObjectColorsAndFlags;");src.push("uniform mediump usampler2D uTexturePerVertexIdCoordinates;");src.push("uniform highp usampler2D uTexturePerPolygonIdEdgeIndices;");src.push("uniform mediump usampler2D uTexturePerEdgeIdPortionIds;");src.push("uniform vec4 color;");if(scene.logarithmicDepthBufferEnabled){src.push("uniform float logDepthBufFC;");src.push("out float vFragDepth;");src.push("bool isPerspectiveMatrix(mat4 m) {");src.push(" return (m[2][3] == - 1.0);");src.push("}");src.push("out float isPerspective;");}if(clipping){src.push("out vec4 vWorldPosition;");src.push("flat out uint vFlags2;");}src.push("out vec4 vColor;");src.push("void main(void) {");// constants @@ -18606,12 +18616,12 @@ src.push(" return;");// Cull vertex src.push("} else {");// get vertex base src.push("ivec4 packedVertexBase = ivec4(texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+4, objectIndexCoords.y), 0));");src.push("ivec4 packedEdgeIndexBaseOffset = ivec4(texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+6, objectIndexCoords.y), 0));");src.push("int edgeIndexBaseOffset = (packedEdgeIndexBaseOffset.r << 24) + (packedEdgeIndexBaseOffset.g << 16) + (packedEdgeIndexBaseOffset.b << 8) + packedEdgeIndexBaseOffset.a;");src.push("int h_index = (edgeIndex - edgeIndexBaseOffset) & 4095;");src.push("int v_index = (edgeIndex - edgeIndexBaseOffset) >> 12;");src.push("ivec3 vertexIndices = ivec3(texelFetch(uTexturePerPolygonIdEdgeIndices, ivec2(h_index, v_index), 0));");src.push("ivec3 uniqueVertexIndexes = vertexIndices + (packedVertexBase.r << 24) + (packedVertexBase.g << 16) + (packedVertexBase.b << 8) + packedVertexBase.a;");src.push("int indexPositionH = uniqueVertexIndexes[gl_VertexID % 2] & 4095;");src.push("int indexPositionV = uniqueVertexIndexes[gl_VertexID % 2] >> 12;");src.push("mat4 objectInstanceMatrix = mat4 (texelFetch (uTexturePerObjectMatrix, ivec2(objectIndexCoords.x*4+0, objectIndexCoords.y), 0), texelFetch (uTexturePerObjectMatrix, ivec2(objectIndexCoords.x*4+1, objectIndexCoords.y), 0), texelFetch (uTexturePerObjectMatrix, ivec2(objectIndexCoords.x*4+2, objectIndexCoords.y), 0), texelFetch (uTexturePerObjectMatrix, ivec2(objectIndexCoords.x*4+3, objectIndexCoords.y), 0));");src.push("mat4 objectDecodeAndInstanceMatrix = objectInstanceMatrix * mat4 (texelFetch (uObjectPerObjectPositionsDecodeMatrix, ivec2(objectIndexCoords.x*4+0, objectIndexCoords.y), 0), texelFetch (uObjectPerObjectPositionsDecodeMatrix, ivec2(objectIndexCoords.x*4+1, objectIndexCoords.y), 0), texelFetch (uObjectPerObjectPositionsDecodeMatrix, ivec2(objectIndexCoords.x*4+2, objectIndexCoords.y), 0), texelFetch (uObjectPerObjectPositionsDecodeMatrix, ivec2(objectIndexCoords.x*4+3, objectIndexCoords.y), 0));");// get flags & flags2 src.push("uvec4 flags = texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+2, objectIndexCoords.y), 0);");src.push("uvec4 flags2 = texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+3, objectIndexCoords.y), 0);");// get position -src.push("vec3 position = vec3(texelFetch(uTexturePerVertexIdCoordinates, ivec2(indexPositionH, indexPositionV), 0));");src.push("mat4 matrix = mat4 (texelFetch (uTexturePerObjectMatrix, ivec2(objectIndexCoords.x*4+0, objectIndexCoords.y), 0), texelFetch (uTexturePerObjectMatrix, ivec2(objectIndexCoords.x*4+1, objectIndexCoords.y), 0), texelFetch (uTexturePerObjectMatrix, ivec2(objectIndexCoords.x*4+2, objectIndexCoords.y), 0), texelFetch (uTexturePerObjectMatrix, ivec2(objectIndexCoords.x*4+3, objectIndexCoords.y), 0));");src.push("vec4 worldPosition = sceneModelMatrix * (objectDecodeAndInstanceMatrix * vec4(position, 1.0)); ");src.push("vec4 viewPosition = viewMatrix * worldPosition; ");if(clipping){src.push(" vWorldPosition = worldPosition;");src.push(" vFlags2 = flags2.r;");}src.push("vec4 clipPos = projMatrix * viewPosition;");if(scene.logarithmicDepthBufferEnabled){src.push("vFragDepth = 1.0 + clipPos.w;");src.push("isPerspective = float (isPerspectiveMatrix(projMatrix));");}src.push("gl_Position = clipPos;");src.push("vColor = vec4(color.r, color.g, color.b, color.a);");src.push("}");src.push("}");return src;}},{key:"_buildFragmentShader",value:function _buildFragmentShader(){var scene=this._scene;var clipping=scene._sectionPlanesState.getNumAllocatedSectionPlanes()>0;var src=[];src.push('#version 300 es');src.push("// Batched geometry edges drawing fragment shader");if(scene.logarithmicDepthBufferEnabled){src.push("#extension GL_EXT_frag_depth : enable");}src.push("#ifdef GL_FRAGMENT_PRECISION_HIGH");src.push("precision highp float;");src.push("precision highp int;");src.push("#else");src.push("precision mediump float;");src.push("precision mediump int;");src.push("#endif");if(scene.logarithmicDepthBufferEnabled){src.push("in float isPerspective;");src.push("uniform float logDepthBufFC;");src.push("in float vFragDepth;");}if(clipping){src.push("in vec4 vWorldPosition;");src.push("flat in uint vFlags2;");for(var _i336=0,len=scene._sectionPlanesState.getNumAllocatedSectionPlanes();_i336 0u;");src.push(" if (clippable) {");src.push(" float dist = 0.0;");for(var _i337=0,_len81=scene._sectionPlanesState.getNumAllocatedSectionPlanes();_i337<_len81;_i337++){src.push("if (sectionPlaneActive"+_i337+") {");src.push(" dist += clamp(dot(-sectionPlaneDir"+_i337+".xyz, vWorldPosition.xyz - sectionPlanePos"+_i337+".xyz), 0.0, 1000.0);");src.push("}");}src.push(" if (dist > 0.0) { discard; }");src.push("}");}if(scene.logarithmicDepthBufferEnabled){src.push(" gl_FragDepth = isPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5;");}src.push(" outColor = vColor;");src.push("}");return src;}},{key:"webglContextRestored",value:function webglContextRestored(){this._program=null;}},{key:"destroy",value:function destroy(){if(this._program){this._program.destroy();}this._program=null;}}]);return TrianglesDataTextureEdgesRenderer;}();var tempVec3a$h=math.vec3();var tempVec3b$d=math.vec3();math.vec3();var tempMat4a$9=math.mat4();/** +src.push("vec3 position = vec3(texelFetch(uTexturePerVertexIdCoordinates, ivec2(indexPositionH, indexPositionV), 0));");src.push("mat4 matrix = mat4 (texelFetch (uTexturePerObjectMatrix, ivec2(objectIndexCoords.x*4+0, objectIndexCoords.y), 0), texelFetch (uTexturePerObjectMatrix, ivec2(objectIndexCoords.x*4+1, objectIndexCoords.y), 0), texelFetch (uTexturePerObjectMatrix, ivec2(objectIndexCoords.x*4+2, objectIndexCoords.y), 0), texelFetch (uTexturePerObjectMatrix, ivec2(objectIndexCoords.x*4+3, objectIndexCoords.y), 0));");src.push("vec4 worldPosition = sceneModelMatrix * (objectDecodeAndInstanceMatrix * vec4(position, 1.0)); ");src.push("vec4 viewPosition = viewMatrix * worldPosition; ");if(clipping){src.push(" vWorldPosition = worldPosition;");src.push(" vFlags2 = flags2.r;");}src.push("vec4 clipPos = projMatrix * viewPosition;");if(scene.logarithmicDepthBufferEnabled){src.push("vFragDepth = 1.0 + clipPos.w;");src.push("isPerspective = float (isPerspectiveMatrix(projMatrix));");}src.push("gl_Position = clipPos;");src.push("vColor = vec4(color.r, color.g, color.b, color.a);");src.push("}");src.push("}");return src;}},{key:"_buildFragmentShader",value:function _buildFragmentShader(){var scene=this._scene;var clipping=scene._sectionPlanesState.getNumAllocatedSectionPlanes()>0;var src=[];src.push('#version 300 es');src.push("// Batched geometry edges drawing fragment shader");if(scene.logarithmicDepthBufferEnabled){src.push("#extension GL_EXT_frag_depth : enable");}src.push("#ifdef GL_FRAGMENT_PRECISION_HIGH");src.push("precision highp float;");src.push("precision highp int;");src.push("#else");src.push("precision mediump float;");src.push("precision mediump int;");src.push("#endif");if(scene.logarithmicDepthBufferEnabled){src.push("in float isPerspective;");src.push("uniform float logDepthBufFC;");src.push("in float vFragDepth;");}if(clipping){src.push("in vec4 vWorldPosition;");src.push("flat in uint vFlags2;");for(var _i342=0,len=scene._sectionPlanesState.getNumAllocatedSectionPlanes();_i342 0u;");src.push(" if (clippable) {");src.push(" float dist = 0.0;");for(var _i343=0,_len81=scene._sectionPlanesState.getNumAllocatedSectionPlanes();_i343<_len81;_i343++){src.push("if (sectionPlaneActive"+_i343+") {");src.push(" dist += clamp(dot(-sectionPlaneDir"+_i343+".xyz, vWorldPosition.xyz - sectionPlanePos"+_i343+".xyz), 0.0, 1000.0);");src.push("}");}src.push(" if (dist > 0.0) { discard; }");src.push("}");}if(scene.logarithmicDepthBufferEnabled){src.push(" gl_FragDepth = isPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5;");}src.push(" outColor = vColor;");src.push("}");return src;}},{key:"webglContextRestored",value:function webglContextRestored(){this._program=null;}},{key:"destroy",value:function destroy(){if(this._program){this._program.destroy();}this._program=null;}}]);return TrianglesDataTextureEdgesRenderer;}();var tempVec3a$h=math.vec3();var tempVec3b$d=math.vec3();math.vec3();var tempMat4a$9=math.mat4();/** * @private */var TrianglesDataTextureEdgesColorRenderer=/*#__PURE__*/function(){function TrianglesDataTextureEdgesColorRenderer(scene){_classCallCheck(this,TrianglesDataTextureEdgesColorRenderer);this._scene=scene;this._hash=this._getHash();this._allocate();}_createClass(TrianglesDataTextureEdgesColorRenderer,[{key:"getValid",value:function getValid(){return this._hash===this._getHash();}},{key:"_getHash",value:function _getHash(){return this._scene._sectionPlanesState.getHash();}},{key:"drawLayer",value:function drawLayer(frameCtx,dataTextureLayer,renderPass){var model=dataTextureLayer.model;var scene=model.scene;var camera=scene.camera;var gl=scene.canvas.gl;var state=dataTextureLayer._state;var textureState=state.textureState;var origin=dataTextureLayer._state.origin;var position=model.position,rotationMatrix=model.rotationMatrix,rotationMatrixConjugate=model.rotationMatrixConjugate;var viewMatrix=camera.viewMatrix;if(!this._program){this._allocate();if(this.errors){return;}}if(frameCtx.lastProgramId!==this._program.id){frameCtx.lastProgramId=this._program.id;this._bindProgram();}textureState.bindCommonTextures(this._program,this.uTexturePerObjectPositionsDecodeMatrix,this._uTexturePerVertexIdCoordinates,this.uTexturePerObjectColorsAndFlags,this._uTexturePerObjectMatrix);var rtcViewMatrix;var gotOrigin=origin[0]!==0||origin[1]!==0||origin[2]!==0;var gotPosition=position[0]!==0||position[1]!==0||position[2]!==0;if(gotOrigin||gotPosition){var rtcOrigin=tempVec3a$h;if(gotOrigin){var rotatedOrigin=math.transformPoint3(rotationMatrix,origin,tempVec3b$d);rtcOrigin[0]=rotatedOrigin[0];rtcOrigin[1]=rotatedOrigin[1];rtcOrigin[2]=rotatedOrigin[2];}else{rtcOrigin[0]=0;rtcOrigin[1]=0;rtcOrigin[2]=0;}rtcOrigin[0]+=position[0];rtcOrigin[1]+=position[1];rtcOrigin[2]+=position[2];rtcViewMatrix=createRTCViewMat(viewMatrix,rtcOrigin,tempMat4a$9);}else{rtcViewMatrix=viewMatrix;}gl.uniform1i(this._uRenderPass,renderPass);gl.uniformMatrix4fv(this._uSceneModelMatrix,false,rotationMatrixConjugate);gl.uniformMatrix4fv(this._uViewMatrix,false,rtcViewMatrix);gl.uniformMatrix4fv(this._uProjMatrix,false,camera.projMatrix);var numAllocatedSectionPlanes=scene._sectionPlanesState.getNumAllocatedSectionPlanes();var numSectionPlanes=scene._sectionPlanesState.sectionPlanes.length;if(numAllocatedSectionPlanes>0){var sectionPlanes=scene._sectionPlanesState.sectionPlanes;var baseIndex=dataTextureLayer.layerIndex*numSectionPlanes;var renderFlags=model.renderFlags;for(var sectionPlaneIndex=0;sectionPlaneIndex0){textureState.bindEdgeIndicesTextures(this._program,this._uTexturePerEdgeIdPortionIds,this._uTexturePerPolygonIdEdgeIndices,8// 8 bits edge indices );gl.drawArrays(gl.LINES,0,state.numEdgeIndices8Bits);}if(state.numEdgeIndices16Bits>0){textureState.bindEdgeIndicesTextures(this._program,this._uTexturePerEdgeIdPortionIds,this._uTexturePerPolygonIdEdgeIndices,16// 16 bits edge indices );gl.drawArrays(gl.LINES,0,state.numEdgeIndices16Bits);}if(state.numEdgeIndices32Bits>0){textureState.bindEdgeIndicesTextures(this._program,this._uTexturePerEdgeIdPortionIds,this._uTexturePerPolygonIdEdgeIndices,32// 32 bits edge indices -);gl.drawArrays(gl.LINES,0,state.numEdgeIndices32Bits);}frameCtx.drawElements++;}},{key:"_allocate",value:function _allocate(){var scene=this._scene;var gl=scene.canvas.gl;this._program=new Program(gl,this._buildShader());if(this._program.errors){this.errors=this._program.errors;return;}var program=this._program;this._uRenderPass=program.getLocation("renderPass");this._uSceneModelMatrix=program.getLocation("sceneModelMatrix");this._uViewMatrix=program.getLocation("viewMatrix");this._uProjMatrix=program.getLocation("projMatrix");this._uSectionPlanes=[];for(var _i338=0,len=scene._sectionPlanesState.getNumAllocatedSectionPlanes();_i3380;var src=[];src.push("#version 300 es");src.push("// TrianglesDataTextureEdgesColorRenderer");src.push("#ifdef GL_FRAGMENT_PRECISION_HIGH");src.push("precision highp float;");src.push("precision highp int;");src.push("precision highp usampler2D;");src.push("precision highp isampler2D;");src.push("precision highp sampler2D;");src.push("#else");src.push("precision mediump float;");src.push("precision mediump int;");src.push("precision mediump usampler2D;");src.push("precision mediump isampler2D;");src.push("precision mediump sampler2D;");src.push("#endif");src.push("uniform int renderPass;");if(scene.entityOffsetsEnabled);src.push("uniform mat4 sceneModelMatrix;");src.push("uniform mat4 viewMatrix;");src.push("uniform mat4 projMatrix;");src.push("uniform highp sampler2D uObjectPerObjectPositionsDecodeMatrix;");src.push("uniform highp sampler2D uTexturePerObjectMatrix;");src.push("uniform lowp usampler2D uObjectPerObjectColorsAndFlags;");src.push("uniform highp sampler2D uObjectPerObjectOffsets;");src.push("uniform mediump usampler2D uTexturePerVertexIdCoordinates;");src.push("uniform highp usampler2D uTexturePerPolygonIdEdgeIndices;");src.push("uniform mediump usampler2D uTexturePerEdgeIdPortionIds;");// src.push("uniform vec4 color;"); if(scene.logarithmicDepthBufferEnabled){src.push("uniform float logDepthBufFC;");src.push("out float vFragDepth;");src.push("bool isPerspectiveMatrix(mat4 m) {");src.push(" return (m[2][3] == - 1.0);");src.push("}");src.push("out float isPerspective;");}if(clipping){src.push("out vec4 vWorldPosition;");src.push("flat out uint vFlags2;");}src.push("out vec4 vColor;");src.push("void main(void) {");// constants src.push("int edgeIndex = gl_VertexID / 2;");// get packed object-id @@ -18626,13 +18636,13 @@ src.push("uvec4 flags = texelFetch (uObjectPerObjectColorsAndFlags, ivec2(object src.push("vec3 position = vec3(texelFetch(uTexturePerVertexIdCoordinates, ivec2(indexPositionH, indexPositionV), 0));");// get color src.push("uvec4 color = texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+0, objectIndexCoords.y), 0);");src.push("if (color.a == 0u) {");src.push(" gl_Position = vec4(3.0, 3.0, 3.0, 1.0);");// Cull vertex src.push(" return;");src.push("};");src.push("vec4 worldPosition = sceneModelMatrix * (objectDecodeAndInstanceMatrix * vec4(position, 1.0)); ");src.push("vec4 viewPosition = viewMatrix * worldPosition; ");if(clipping){src.push(" vWorldPosition = worldPosition;");src.push(" vFlags2 = flags2.r;");}src.push("vec4 clipPos = projMatrix * viewPosition;");if(scene.logarithmicDepthBufferEnabled){src.push("vFragDepth = 1.0 + clipPos.w;");src.push("isPerspective = float (isPerspectiveMatrix(projMatrix));");}src.push("gl_Position = clipPos;");src.push("vec4 rgb = vec4(color.rgba);");//src.push("vColor = vec4(float(color.r-100.0) / 255.0, float(color.g-100.0) / 255.0, float(color.b-100.0) / 255.0, float(color.a) / 255.0);"); -src.push("vColor = vec4(float(rgb.r*0.5) / 255.0, float(rgb.g*0.5) / 255.0, float(rgb.b*0.5) / 255.0, float(rgb.a) / 255.0);");src.push("}");src.push("}");return src;}},{key:"_buildFragmentShader",value:function _buildFragmentShader(){var scene=this._scene;var clipping=scene._sectionPlanesState.getNumAllocatedSectionPlanes()>0;var src=[];src.push('#version 300 es');src.push("// TrianglesDataTextureEdgesColorRenderer");src.push("#ifdef GL_FRAGMENT_PRECISION_HIGH");src.push("precision highp float;");src.push("precision highp int;");src.push("#else");src.push("precision mediump float;");src.push("precision mediump int;");src.push("#endif");if(scene.logarithmicDepthBufferEnabled){src.push("in float isPerspective;");src.push("uniform float logDepthBufFC;");src.push("in float vFragDepth;");}if(clipping){src.push("in vec4 vWorldPosition;");src.push("flat in uint vFlags2;");for(var _i339=0,len=scene._sectionPlanesState.getNumAllocatedSectionPlanes();_i339 0u;");src.push(" if (clippable) {");src.push(" float dist = 0.0;");for(var _i340=0,_len82=scene._sectionPlanesState.getNumAllocatedSectionPlanes();_i340<_len82;_i340++){src.push("if (sectionPlaneActive"+_i340+") {");src.push(" dist += clamp(dot(-sectionPlaneDir"+_i340+".xyz, vWorldPosition.xyz - sectionPlanePos"+_i340+".xyz), 0.0, 1000.0);");src.push("}");}src.push(" if (dist > 0.0) { discard; }");src.push("}");}if(scene.logarithmicDepthBufferEnabled){src.push(" gl_FragDepth = isPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5;");}src.push(" outColor = vColor;");src.push("}");return src;}},{key:"webglContextRestored",value:function webglContextRestored(){this._program=null;}},{key:"destroy",value:function destroy(){if(this._program){this._program.destroy();}this._program=null;}}]);return TrianglesDataTextureEdgesColorRenderer;}();var tempVec3a$g=math.vec3();var tempVec3b$c=math.vec3();var tempVec3c$b=math.vec3();var tempMat4a$8=math.mat4();/** +src.push("vColor = vec4(float(rgb.r*0.5) / 255.0, float(rgb.g*0.5) / 255.0, float(rgb.b*0.5) / 255.0, float(rgb.a) / 255.0);");src.push("}");src.push("}");return src;}},{key:"_buildFragmentShader",value:function _buildFragmentShader(){var scene=this._scene;var clipping=scene._sectionPlanesState.getNumAllocatedSectionPlanes()>0;var src=[];src.push('#version 300 es');src.push("// TrianglesDataTextureEdgesColorRenderer");src.push("#ifdef GL_FRAGMENT_PRECISION_HIGH");src.push("precision highp float;");src.push("precision highp int;");src.push("#else");src.push("precision mediump float;");src.push("precision mediump int;");src.push("#endif");if(scene.logarithmicDepthBufferEnabled){src.push("in float isPerspective;");src.push("uniform float logDepthBufFC;");src.push("in float vFragDepth;");}if(clipping){src.push("in vec4 vWorldPosition;");src.push("flat in uint vFlags2;");for(var _i345=0,len=scene._sectionPlanesState.getNumAllocatedSectionPlanes();_i345 0u;");src.push(" if (clippable) {");src.push(" float dist = 0.0;");for(var _i346=0,_len82=scene._sectionPlanesState.getNumAllocatedSectionPlanes();_i346<_len82;_i346++){src.push("if (sectionPlaneActive"+_i346+") {");src.push(" dist += clamp(dot(-sectionPlaneDir"+_i346+".xyz, vWorldPosition.xyz - sectionPlanePos"+_i346+".xyz), 0.0, 1000.0);");src.push("}");}src.push(" if (dist > 0.0) { discard; }");src.push("}");}if(scene.logarithmicDepthBufferEnabled){src.push(" gl_FragDepth = isPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5;");}src.push(" outColor = vColor;");src.push("}");return src;}},{key:"webglContextRestored",value:function webglContextRestored(){this._program=null;}},{key:"destroy",value:function destroy(){if(this._program){this._program.destroy();}this._program=null;}}]);return TrianglesDataTextureEdgesColorRenderer;}();var tempVec3a$g=math.vec3();var tempVec3b$c=math.vec3();var tempVec3c$b=math.vec3();var tempMat4a$8=math.mat4();/** * @private */var TrianglesDataTexturePickMeshRenderer=/*#__PURE__*/function(){function TrianglesDataTexturePickMeshRenderer(scene){_classCallCheck(this,TrianglesDataTexturePickMeshRenderer);this._scene=scene;this._hash=this._getHash();this._allocate();}_createClass(TrianglesDataTexturePickMeshRenderer,[{key:"getValid",value:function getValid(){return this._hash===this._getHash();}},{key:"_getHash",value:function _getHash(){return this._scene._sectionPlanesState.getHash();}},{key:"drawLayer",value:function drawLayer(frameCtx,dataTextureLayer,renderPass){if(!this._program){this._allocate(dataTextureLayer);if(this.errors){return;}}if(frameCtx.lastProgramId!==this._program.id){frameCtx.lastProgramId=this._program.id;this._bindProgram(frameCtx);}var model=dataTextureLayer.model;var scene=model.scene;var camera=scene.camera;var gl=scene.canvas.gl;var state=dataTextureLayer._state;var textureState=state.textureState;var origin=dataTextureLayer._state.origin;var position=model.position,rotationMatrix=model.rotationMatrix,rotationMatrixConjugate=model.rotationMatrixConjugate;textureState.bindCommonTextures(this._program,this.uTexturePerObjectPositionsDecodeMatrix,this._uTexturePerVertexIdCoordinates,this.uTexturePerObjectColorsAndFlags,this._uTexturePerObjectMatrix);var rtcViewMatrix;var rtcCameraEye;var gotOrigin=origin[0]!==0||origin[1]!==0||origin[2]!==0;var gotPosition=position[0]!==0||position[1]!==0||position[2]!==0;if(gotOrigin||gotPosition){var rtcOrigin=tempVec3a$g;if(gotOrigin){var rotatedOrigin=math.transformPoint3(rotationMatrix,origin,tempVec3b$c);rtcOrigin[0]=rotatedOrigin[0];rtcOrigin[1]=rotatedOrigin[1];rtcOrigin[2]=rotatedOrigin[2];}else{rtcOrigin[0]=0;rtcOrigin[1]=0;rtcOrigin[2]=0;}rtcOrigin[0]+=position[0];rtcOrigin[1]+=position[1];rtcOrigin[2]+=position[2];rtcViewMatrix=createRTCViewMat(camera.viewMatrix,rtcOrigin,tempMat4a$8);rtcCameraEye=tempVec3c$b;rtcCameraEye[0]=camera.eye[0]-rtcOrigin[0];rtcCameraEye[1]=camera.eye[1]-rtcOrigin[1];rtcCameraEye[2]=camera.eye[2]-rtcOrigin[2];}else{rtcViewMatrix=camera.viewMatrix;rtcCameraEye=camera.eye;}gl.uniform2fv(this._uPickClipPos,frameCtx.pickClipPos);gl.uniform2f(this._uDrawingBufferSize,gl.drawingBufferWidth,gl.drawingBufferHeight);gl.uniformMatrix4fv(this._uSceneModelMatrix,false,rotationMatrixConjugate);gl.uniformMatrix4fv(this._uViewMatrix,false,rtcViewMatrix);gl.uniformMatrix4fv(this._uProjMatrix,false,camera.projMatrix);gl.uniform3fv(this._uCameraEyeRtc,rtcCameraEye);gl.uniform1i(this._uRenderPass,renderPass);if(scene.logarithmicDepthBufferEnabled){var logDepthBufFC=2.0/(Math.log(camera.project.far+1.0)/Math.LN2);// TODO: Far from pick project matrix? gl.uniform1f(this._uLogDepthBufFC,logDepthBufFC);}var numAllocatedSectionPlanes=scene._sectionPlanesState.getNumAllocatedSectionPlanes();var numSectionPlanes=scene._sectionPlanesState.sectionPlanes.length;if(numAllocatedSectionPlanes>0){var sectionPlanes=scene._sectionPlanesState.sectionPlanes;var baseIndex=dataTextureLayer.layerIndex*numSectionPlanes;var renderFlags=model.renderFlags;for(var sectionPlaneIndex=0;sectionPlaneIndex0){textureState.bindTriangleIndicesTextures(this._program,this._uTexturePerPolygonIdPortionIds,this._uTexturePerPolygonIdIndices,8// 8 bits indices );gl.drawArrays(gl.TRIANGLES,0,state.numIndices8Bits);}if(state.numIndices16Bits>0){textureState.bindTriangleIndicesTextures(this._program,this._uTexturePerPolygonIdPortionIds,this._uTexturePerPolygonIdIndices,16// 16 bits indices );gl.drawArrays(gl.TRIANGLES,0,state.numIndices16Bits);}if(state.numIndices32Bits>0){textureState.bindTriangleIndicesTextures(this._program,this._uTexturePerPolygonIdPortionIds,this._uTexturePerPolygonIdIndices,32// 32 bits indices -);gl.drawArrays(gl.TRIANGLES,0,state.numIndices32Bits);}frameCtx.drawElements++;}},{key:"_allocate",value:function _allocate(){var scene=this._scene;var gl=scene.canvas.gl;this._program=new Program(gl,this._buildShader());if(this._program.errors){this.errors=this._program.errors;return;}var program=this._program;this._uRenderPass=program.getLocation("renderPass");this._uPickInvisible=program.getLocation("pickInvisible");this._uPickClipPos=program.getLocation("pickClipPos");this._uDrawingBufferSize=program.getLocation("drawingBufferSize");this._uSceneModelMatrix=program.getLocation("sceneModelMatrix");this._uViewMatrix=program.getLocation("viewMatrix");this._uProjMatrix=program.getLocation("projMatrix");this._uSectionPlanes=[];for(var _i341=0,len=scene._sectionPlanesState.getNumAllocatedSectionPlanes();_i3410;var src=[];src.push("#version 300 es");src.push("// Batched geometry picking vertex shader");src.push("#ifdef GL_FRAGMENT_PRECISION_HIGH");src.push("precision highp float;");src.push("precision highp int;");src.push("precision highp usampler2D;");src.push("precision highp isampler2D;");src.push("precision highp sampler2D;");src.push("#else");src.push("precision mediump float;");src.push("precision mediump int;");src.push("precision mediump usampler2D;");src.push("precision mediump isampler2D;");src.push("precision mediump sampler2D;");src.push("#endif");src.push("uniform int renderPass;");if(scene.entityOffsetsEnabled){src.push("in vec3 offset;");}src.push("uniform mat4 sceneModelMatrix;");src.push("uniform mat4 viewMatrix;");src.push("uniform mat4 projMatrix;");src.push("uniform bool pickInvisible;");// src.push("uniform sampler2D uOcclusionTexture;"); +);gl.drawArrays(gl.TRIANGLES,0,state.numIndices32Bits);}frameCtx.drawElements++;}},{key:"_allocate",value:function _allocate(){var scene=this._scene;var gl=scene.canvas.gl;this._program=new Program(gl,this._buildShader());if(this._program.errors){this.errors=this._program.errors;return;}var program=this._program;this._uRenderPass=program.getLocation("renderPass");this._uPickInvisible=program.getLocation("pickInvisible");this._uPickClipPos=program.getLocation("pickClipPos");this._uDrawingBufferSize=program.getLocation("drawingBufferSize");this._uSceneModelMatrix=program.getLocation("sceneModelMatrix");this._uViewMatrix=program.getLocation("viewMatrix");this._uProjMatrix=program.getLocation("projMatrix");this._uSectionPlanes=[];for(var _i347=0,len=scene._sectionPlanesState.getNumAllocatedSectionPlanes();_i3470;var src=[];src.push("#version 300 es");src.push("// Batched geometry picking vertex shader");src.push("#ifdef GL_FRAGMENT_PRECISION_HIGH");src.push("precision highp float;");src.push("precision highp int;");src.push("precision highp usampler2D;");src.push("precision highp isampler2D;");src.push("precision highp sampler2D;");src.push("#else");src.push("precision mediump float;");src.push("precision mediump int;");src.push("precision mediump usampler2D;");src.push("precision mediump isampler2D;");src.push("precision mediump sampler2D;");src.push("#endif");src.push("uniform int renderPass;");if(scene.entityOffsetsEnabled){src.push("in vec3 offset;");}src.push("uniform mat4 sceneModelMatrix;");src.push("uniform mat4 viewMatrix;");src.push("uniform mat4 projMatrix;");src.push("uniform bool pickInvisible;");// src.push("uniform sampler2D uOcclusionTexture;"); src.push("uniform highp sampler2D uObjectPerObjectPositionsDecodeMatrix;");src.push("uniform highp sampler2D uTexturePerObjectMatrix;");src.push("uniform lowp usampler2D uObjectPerObjectColorsAndFlags;");src.push("uniform mediump usampler2D uTexturePerVertexIdCoordinates;");src.push("uniform highp usampler2D uTexturePerPolygonIdIndices;");src.push("uniform mediump usampler2D uTexturePerPolygonIdPortionIds;");src.push("uniform vec3 uCameraEyeRtc;");src.push("vec3 positions[3];");if(scene.logarithmicDepthBufferEnabled){src.push("uniform float logDepthBufFC;");src.push("out float vFragDepth;");src.push("out float isPerspective;");}src.push("uniform vec2 pickClipPos;");src.push("uniform vec2 drawingBufferSize;");src.push("vec4 remapClipPos(vec4 clipPos) {");src.push(" clipPos.xy /= clipPos.w;");src.push(" clipPos.xy = (clipPos.xy - pickClipPos) * drawingBufferSize;");src.push(" clipPos.xy *= clipPos.w;");src.push(" return clipPos;");src.push("}");src.push("bool isPerspectiveMatrix(mat4 m) {");src.push(" return (m[2][3] == - 1.0);");src.push("}");if(clipping){src.push("smooth out vec4 vWorldPosition;");src.push("flat out uvec4 vFlags2;");}src.push("out vec4 vPickColor;");src.push("void main(void) {");src.push("int polygonIndex = gl_VertexID / 3;");// get packed object-id src.push("int h_packed_object_id_index = (polygonIndex >> 3) & 4095;");src.push("int v_packed_object_id_index = (polygonIndex >> 3) >> 12;");src.push("int objectIndex = int(texelFetch(uTexturePerPolygonIdPortionIds, ivec2(h_packed_object_id_index, v_packed_object_id_index), 0).r);");src.push("ivec2 objectIndexCoords = ivec2(objectIndex % 512, objectIndex / 512);");// get flags & flags2 src.push("uvec4 flags = texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+2, objectIndexCoords.y), 0);");src.push("uvec4 flags2 = texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+3, objectIndexCoords.y), 0);");// flags.w = NOT_RENDERED | PICK @@ -18653,7 +18663,7 @@ src.push("if (solid != 1u) {");src.push("if (isPerspectiveMatrix(projMatrix)) {" gl.uniform1f(this._uLogDepthBufFC,logDepthBufFC);}var numAllocatedSectionPlanes=scene._sectionPlanesState.getNumAllocatedSectionPlanes();var numSectionPlanes=scene._sectionPlanesState.sectionPlanes.length;if(numAllocatedSectionPlanes>0){var sectionPlanes=scene._sectionPlanesState.sectionPlanes;var baseIndex=dataTextureLayer.layerIndex*numSectionPlanes;var renderFlags=model.renderFlags;for(var sectionPlaneIndex=0;sectionPlaneIndex0){textureState.bindTriangleIndicesTextures(this._program,this._uTexturePerPolygonIdPortionIds,this._uTexturePerPolygonIdIndices,8// 8 bits indices );gl.drawArrays(gl.TRIANGLES,0,state.numIndices8Bits);}if(state.numIndices16Bits>0){textureState.bindTriangleIndicesTextures(this._program,this._uTexturePerPolygonIdPortionIds,this._uTexturePerPolygonIdIndices,16// 16 bits indices );gl.drawArrays(gl.TRIANGLES,0,state.numIndices16Bits);}if(state.numIndices32Bits>0){textureState.bindTriangleIndicesTextures(this._program,this._uTexturePerPolygonIdPortionIds,this._uTexturePerPolygonIdIndices,32// 32 bits indices -);gl.drawArrays(gl.TRIANGLES,0,state.numIndices32Bits);}frameCtx.drawElements++;}},{key:"_allocate",value:function _allocate(){var scene=this._scene;var gl=scene.canvas.gl;this._program=new Program(gl,this._buildShader());if(this._program.errors){this.errors=this._program.errors;return;}var program=this._program;this._uRenderPass=program.getLocation("renderPass");this._uPickInvisible=program.getLocation("pickInvisible");this._uPickClipPos=program.getLocation("pickClipPos");this._uDrawingBufferSize=program.getLocation("drawingBufferSize");this._uSceneModelMatrix=program.getLocation("sceneModelMatrix");this._uViewMatrix=program.getLocation("viewMatrix");this._uProjMatrix=program.getLocation("projMatrix");this._uSectionPlanes=[];for(var _i342=0,len=scene._sectionPlanesState.getNumAllocatedSectionPlanes();_i3420;var src=[];src.push("#version 300 es");src.push("// Triangles dataTexture pick depth vertex shader");src.push("#ifdef GL_FRAGMENT_PRECISION_HIGH");src.push("precision highp float;");src.push("precision highp int;");src.push("precision highp usampler2D;");src.push("precision highp isampler2D;");src.push("precision highp sampler2D;");src.push("#else");src.push("precision mediump float;");src.push("precision mediump int;");src.push("precision mediump usampler2D;");src.push("precision mediump isampler2D;");src.push("precision mediump sampler2D;");src.push("#endif");src.push("uniform int renderPass;");if(scene.entityOffsetsEnabled){src.push("in vec3 offset;");}src.push("uniform mat4 sceneModelMatrix;");src.push("uniform mat4 viewMatrix;");src.push("uniform mat4 projMatrix;");src.push("uniform bool pickInvisible;");src.push("uniform highp sampler2D uObjectPerObjectPositionsDecodeMatrix;");src.push("uniform highp sampler2D uTexturePerObjectMatrix;");src.push("uniform lowp usampler2D uObjectPerObjectColorsAndFlags;");src.push("uniform mediump usampler2D uTexturePerVertexIdCoordinates;");src.push("uniform highp usampler2D uTexturePerPolygonIdIndices;");src.push("uniform mediump usampler2D uTexturePerPolygonIdPortionIds;");src.push("uniform vec3 uCameraEyeRtc;");src.push("vec3 positions[3];");if(scene.logarithmicDepthBufferEnabled){src.push("uniform float logDepthBufFC;");src.push("out float vFragDepth;");src.push("out float isPerspective;");}src.push("uniform vec2 pickClipPos;");src.push("uniform vec2 drawingBufferSize;");src.push("vec4 remapClipPos(vec4 clipPos) {");src.push(" clipPos.xy /= clipPos.w;");src.push(" clipPos.xy = (clipPos.xy - pickClipPos) * drawingBufferSize;");src.push(" clipPos.xy *= clipPos.w;");src.push(" return clipPos;");src.push("}");src.push("bool isPerspectiveMatrix(mat4 m) {");src.push(" return (m[2][3] == - 1.0);");src.push("}");if(clipping){src.push("out vec4 vWorldPosition;");src.push("flat out uint vFlags2;");}src.push("out vec4 vViewPosition;");src.push("void main(void) {");// constants +);gl.drawArrays(gl.TRIANGLES,0,state.numIndices32Bits);}frameCtx.drawElements++;}},{key:"_allocate",value:function _allocate(){var scene=this._scene;var gl=scene.canvas.gl;this._program=new Program(gl,this._buildShader());if(this._program.errors){this.errors=this._program.errors;return;}var program=this._program;this._uRenderPass=program.getLocation("renderPass");this._uPickInvisible=program.getLocation("pickInvisible");this._uPickClipPos=program.getLocation("pickClipPos");this._uDrawingBufferSize=program.getLocation("drawingBufferSize");this._uSceneModelMatrix=program.getLocation("sceneModelMatrix");this._uViewMatrix=program.getLocation("viewMatrix");this._uProjMatrix=program.getLocation("projMatrix");this._uSectionPlanes=[];for(var _i348=0,len=scene._sectionPlanesState.getNumAllocatedSectionPlanes();_i3480;var src=[];src.push("#version 300 es");src.push("// Triangles dataTexture pick depth vertex shader");src.push("#ifdef GL_FRAGMENT_PRECISION_HIGH");src.push("precision highp float;");src.push("precision highp int;");src.push("precision highp usampler2D;");src.push("precision highp isampler2D;");src.push("precision highp sampler2D;");src.push("#else");src.push("precision mediump float;");src.push("precision mediump int;");src.push("precision mediump usampler2D;");src.push("precision mediump isampler2D;");src.push("precision mediump sampler2D;");src.push("#endif");src.push("uniform int renderPass;");if(scene.entityOffsetsEnabled){src.push("in vec3 offset;");}src.push("uniform mat4 sceneModelMatrix;");src.push("uniform mat4 viewMatrix;");src.push("uniform mat4 projMatrix;");src.push("uniform bool pickInvisible;");src.push("uniform highp sampler2D uObjectPerObjectPositionsDecodeMatrix;");src.push("uniform highp sampler2D uTexturePerObjectMatrix;");src.push("uniform lowp usampler2D uObjectPerObjectColorsAndFlags;");src.push("uniform mediump usampler2D uTexturePerVertexIdCoordinates;");src.push("uniform highp usampler2D uTexturePerPolygonIdIndices;");src.push("uniform mediump usampler2D uTexturePerPolygonIdPortionIds;");src.push("uniform vec3 uCameraEyeRtc;");src.push("vec3 positions[3];");if(scene.logarithmicDepthBufferEnabled){src.push("uniform float logDepthBufFC;");src.push("out float vFragDepth;");src.push("out float isPerspective;");}src.push("uniform vec2 pickClipPos;");src.push("uniform vec2 drawingBufferSize;");src.push("vec4 remapClipPos(vec4 clipPos) {");src.push(" clipPos.xy /= clipPos.w;");src.push(" clipPos.xy = (clipPos.xy - pickClipPos) * drawingBufferSize;");src.push(" clipPos.xy *= clipPos.w;");src.push(" return clipPos;");src.push("}");src.push("bool isPerspectiveMatrix(mat4 m) {");src.push(" return (m[2][3] == - 1.0);");src.push("}");if(clipping){src.push("out vec4 vWorldPosition;");src.push("flat out uint vFlags2;");}src.push("out vec4 vViewPosition;");src.push("void main(void) {");// constants src.push("int polygonIndex = gl_VertexID / 3;");// get packed object-id src.push("int h_packed_object_id_index = (polygonIndex >> 3) & 4095;");src.push("int v_packed_object_id_index = (polygonIndex >> 3) >> 12;");src.push("int objectIndex = int(texelFetch(uTexturePerPolygonIdPortionIds, ivec2(h_packed_object_id_index, v_packed_object_id_index), 0).r);");src.push("ivec2 objectIndexCoords = ivec2(objectIndex % 512, objectIndex / 512);");// get flags & flags2 src.push("uvec4 flags = texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+2, objectIndexCoords.y), 0);");src.push("uvec4 flags2 = texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+3, objectIndexCoords.y), 0);");// flags.w = NOT_RENDERED | PICK @@ -18669,20 +18679,22 @@ src.push("vec3 normal = normalize(cross(positions[2] - positions[0], positions[1 src.push("if (solid != 1u) {");src.push("if (isPerspectiveMatrix(projMatrix)) {");src.push("vec3 uCameraEyeRtcInQuantizedSpace = (inverse(sceneModelMatrix * objectDecodeAndInstanceMatrix) * vec4(uCameraEyeRtc, 1)).xyz;");src.push("if (dot(position.xyz - uCameraEyeRtcInQuantizedSpace, normal) < 0.0) {");src.push("position = positions[2 - (gl_VertexID % 3)];");src.push("}");src.push("} else {");src.push("vec3 viewNormal = -normalize((transpose(inverse(viewMatrix*objectDecodeAndInstanceMatrix)) * vec4(normal,1)).xyz);");src.push("if (viewNormal.z < 0.0) {");src.push("position = positions[2 - (gl_VertexID % 3)];");src.push("}");src.push("}");src.push("}");src.push("vec4 worldPosition = sceneModelMatrix * (objectDecodeAndInstanceMatrix * vec4(position, 1.0)); ");src.push("vec4 viewPosition = viewMatrix * worldPosition; ");if(clipping){src.push(" vWorldPosition = worldPosition;");src.push(" vFlags2 = flags2.r;");}src.push("vViewPosition = viewPosition;");src.push("vec4 clipPos = projMatrix * viewPosition;");if(scene.logarithmicDepthBufferEnabled){src.push("vFragDepth = 1.0 + clipPos.w;");src.push("isPerspective = float (isPerspectiveMatrix(projMatrix));");}src.push("gl_Position = remapClipPos(clipPos);");src.push(" }");src.push("}");return src;}},{key:"_buildFragmentShader",value:function _buildFragmentShader(){var scene=this._scene;var clipping=scene._sectionPlanesState.getNumAllocatedSectionPlanes()>0;var src=[];src.push('#version 300 es');src.push("// Triangles dataTexture pick depth fragment shader");src.push("#ifdef GL_FRAGMENT_PRECISION_HIGH");src.push("precision highp float;");src.push("precision highp int;");src.push("#else");src.push("precision mediump float;");src.push("precision mediump int;");src.push("#endif");if(scene.logarithmicDepthBufferEnabled){src.push("in float isPerspective;");src.push("uniform float logDepthBufFC;");src.push("in float vFragDepth;");}src.push("uniform float pickZNear;");src.push("uniform float pickZFar;");if(clipping){src.push("in vec4 vWorldPosition;");src.push("flat in uint vFlags2;");for(var i=0;i 0u;");src.push(" if (clippable) {");src.push(" float dist = 0.0;");for(var i=0;i 0.0) { discard; }");src.push(" }");}if(scene.logarithmicDepthBufferEnabled){src.push(" gl_FragDepth = isPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5;");}src.push(" float zNormalizedDepth = abs((pickZNear + vViewPosition.z) / (pickZFar - pickZNear));");src.push(" outPackedDepth = packDepth(zNormalizedDepth); ");// Must be linear depth src.push("}");return src;}},{key:"webglContextRestored",value:function webglContextRestored(){this._program=null;}},{key:"destroy",value:function destroy(){if(this._program){this._program.destroy();}this._program=null;}}]);return TrianglesDataTexturePickDepthRenderer;}();var tempVec3a$e=math.vec3();var tempVec3b$a=math.vec3();var tempVec3c$9=math.vec3();var tempVec3d$2=math.vec3();math.vec3();var tempMat4a$6=math.mat4();/** * @private - */var TrianglesDataTextureSnapDepthRenderer=/*#__PURE__*/function(){function TrianglesDataTextureSnapDepthRenderer(scene){_classCallCheck(this,TrianglesDataTextureSnapDepthRenderer);this._scene=scene;this._hash=this._getHash();this._allocate();}_createClass(TrianglesDataTextureSnapDepthRenderer,[{key:"getValid",value:function getValid(){return this._hash===this._getHash();}},{key:"_getHash",value:function _getHash(){return this._scene._sectionPlanesState.getHash();}},{key:"drawLayer",value:function drawLayer(frameCtx,dataTextureLayer,renderPass){if(!this._program){this._allocate();if(this.errors){return;}}if(frameCtx.lastProgramId!==this._program.id){frameCtx.lastProgramId=this._program.id;this._bindProgram();}var model=dataTextureLayer.model;var scene=model.scene;var camera=scene.camera;var gl=scene.canvas.gl;var state=dataTextureLayer._state;var textureState=state.textureState;var origin=dataTextureLayer._state.origin;var position=model.position,rotationMatrix=model.rotationMatrix,rotationMatrixConjugate=model.rotationMatrixConjugate;var aabb=model.aabb;var viewMatrix=frameCtx.pickViewMatrix||camera.viewMatrix;var coordinateScaler=tempVec3a$e;coordinateScaler[0]=math.safeInv(aabb[3]-aabb[0])*math.MAX_INT;coordinateScaler[1]=math.safeInv(aabb[4]-aabb[1])*math.MAX_INT;coordinateScaler[2]=math.safeInv(aabb[5]-aabb[2])*math.MAX_INT;frameCtx.snapPickCoordinateScale[0]=math.safeInv(coordinateScaler[0]);frameCtx.snapPickCoordinateScale[1]=math.safeInv(coordinateScaler[1]);frameCtx.snapPickCoordinateScale[2]=math.safeInv(coordinateScaler[2]);textureState.bindCommonTextures(this._program,this.uTexturePerObjectPositionsDecodeMatrix,this._uTexturePerVertexIdCoordinates,this.uTexturePerObjectColorsAndFlags,this._uTexturePerObjectMatrix);var rtcViewMatrix;var rtcCameraEye;var gotOrigin=origin[0]!==0||origin[1]!==0||origin[2]!==0;var gotPosition=position[0]!==0||position[1]!==0||position[2]!==0;if(gotOrigin||gotPosition){var rtcOrigin=tempVec3b$a;if(gotOrigin){var rotatedOrigin=math.transformPoint3(rotationMatrix,origin,tempVec3c$9);rtcOrigin[0]=rotatedOrigin[0];rtcOrigin[1]=rotatedOrigin[1];rtcOrigin[2]=rotatedOrigin[2];}else{rtcOrigin[0]=0;rtcOrigin[1]=0;rtcOrigin[2]=0;}rtcOrigin[0]+=position[0];rtcOrigin[1]+=position[1];rtcOrigin[2]+=position[2];rtcViewMatrix=createRTCViewMat(viewMatrix,rtcOrigin,tempMat4a$6);rtcCameraEye=tempVec3d$2;rtcCameraEye[0]=camera.eye[0]-rtcOrigin[0];rtcCameraEye[1]=camera.eye[1]-rtcOrigin[1];rtcCameraEye[2]=camera.eye[2]-rtcOrigin[2];frameCtx.snapPickOrigin[0]=rtcOrigin[0];frameCtx.snapPickOrigin[1]=rtcOrigin[1];frameCtx.snapPickOrigin[2]=rtcOrigin[2];}else{rtcViewMatrix=viewMatrix;rtcCameraEye=camera.eye;frameCtx.snapPickOrigin[0]=0;frameCtx.snapPickOrigin[1]=0;frameCtx.snapPickOrigin[2]=0;}gl.uniform3fv(this._uCameraEyeRtc,rtcCameraEye);gl.uniform2fv(this.uVectorA,frameCtx.snapVectorA);gl.uniform2fv(this.uInverseVectorAB,frameCtx.snapInvVectorAB);gl.uniform1i(this._uLayerNumber,frameCtx.snapPickLayerNumber);gl.uniform3fv(this._uCoordinateScaler,coordinateScaler);gl.uniform1i(this._uRenderPass,renderPass);gl.uniform1i(this._uPickInvisible,frameCtx.pickInvisible);gl.uniformMatrix4fv(this._uSceneModelMatrix,false,rotationMatrixConjugate);gl.uniformMatrix4fv(this._uViewMatrix,false,rtcViewMatrix);gl.uniformMatrix4fv(this._uProjMatrix,false,camera.projMatrix);{var logDepthBufFC=2.0/(Math.log(frameCtx.pickZFar+1.0)/Math.LN2);gl.uniform1f(this._uLogDepthBufFC,logDepthBufFC);}var numAllocatedSectionPlanes=scene._sectionPlanesState.getNumAllocatedSectionPlanes();var numSectionPlanes=scene._sectionPlanesState.sectionPlanes.length;if(numAllocatedSectionPlanes>0){var sectionPlanes=scene._sectionPlanesState.sectionPlanes;var baseIndex=dataTextureLayer.layerIndex*numSectionPlanes;var renderFlags=model.renderFlags;for(var sectionPlaneIndex=0;sectionPlaneIndex0){textureState.bindEdgeIndicesTextures(this._program,this._uTexturePerEdgeIdPortionIds,this._uTexturePerPolygonIdEdgeIndices,8// 8 bits edge indices + */var TrianglesDataTextureSnapDepthRenderer=/*#__PURE__*/function(){function TrianglesDataTextureSnapDepthRenderer(scene){_classCallCheck(this,TrianglesDataTextureSnapDepthRenderer);this._scene=scene;this._hash=this._getHash();this._allocate();}_createClass(TrianglesDataTextureSnapDepthRenderer,[{key:"getValid",value:function getValid(){return this._hash===this._getHash();}},{key:"_getHash",value:function _getHash(){return this._scene._sectionPlanesState.getHash();}},{key:"drawLayer",value:function drawLayer(frameCtx,dataTextureLayer,renderPass){if(!this._program){this._allocate();if(this.errors){return;}}if(frameCtx.lastProgramId!==this._program.id){frameCtx.lastProgramId=this._program.id;this._bindProgram();}var model=dataTextureLayer.model;var scene=model.scene;var camera=scene.camera;var gl=scene.canvas.gl;var state=dataTextureLayer._state;var textureState=state.textureState;var origin=dataTextureLayer._state.origin;var position=model.position,rotationMatrix=model.rotationMatrix,rotationMatrixConjugate=model.rotationMatrixConjugate;var aabb=dataTextureLayer.aabb;// Per-layer AABB for best RTC accuracy +var viewMatrix=frameCtx.pickViewMatrix||camera.viewMatrix;var coordinateScaler=tempVec3a$e;coordinateScaler[0]=math.safeInv(aabb[3]-aabb[0])*math.MAX_INT;coordinateScaler[1]=math.safeInv(aabb[4]-aabb[1])*math.MAX_INT;coordinateScaler[2]=math.safeInv(aabb[5]-aabb[2])*math.MAX_INT;frameCtx.snapPickCoordinateScale[0]=math.safeInv(coordinateScaler[0]);frameCtx.snapPickCoordinateScale[1]=math.safeInv(coordinateScaler[1]);frameCtx.snapPickCoordinateScale[2]=math.safeInv(coordinateScaler[2]);textureState.bindCommonTextures(this._program,this.uTexturePerObjectPositionsDecodeMatrix,this._uTexturePerVertexIdCoordinates,this.uTexturePerObjectColorsAndFlags,this._uTexturePerObjectMatrix);var rtcViewMatrix;var rtcCameraEye;var gotOrigin=origin[0]!==0||origin[1]!==0||origin[2]!==0;var gotPosition=position[0]!==0||position[1]!==0||position[2]!==0;if(gotOrigin||gotPosition){var rtcOrigin=tempVec3b$a;if(gotOrigin){var rotatedOrigin=math.transformPoint3(rotationMatrix,origin,tempVec3c$9);rtcOrigin[0]=rotatedOrigin[0];rtcOrigin[1]=rotatedOrigin[1];rtcOrigin[2]=rotatedOrigin[2];}else{rtcOrigin[0]=0;rtcOrigin[1]=0;rtcOrigin[2]=0;}rtcOrigin[0]+=position[0];rtcOrigin[1]+=position[1];rtcOrigin[2]+=position[2];rtcViewMatrix=createRTCViewMat(viewMatrix,rtcOrigin,tempMat4a$6);rtcCameraEye=tempVec3d$2;rtcCameraEye[0]=camera.eye[0]-rtcOrigin[0];rtcCameraEye[1]=camera.eye[1]-rtcOrigin[1];rtcCameraEye[2]=camera.eye[2]-rtcOrigin[2];frameCtx.snapPickOrigin[0]=rtcOrigin[0];frameCtx.snapPickOrigin[1]=rtcOrigin[1];frameCtx.snapPickOrigin[2]=rtcOrigin[2];}else{rtcViewMatrix=viewMatrix;rtcCameraEye=camera.eye;frameCtx.snapPickOrigin[0]=0;frameCtx.snapPickOrigin[1]=0;frameCtx.snapPickOrigin[2]=0;}gl.uniform3fv(this._uCameraEyeRtc,rtcCameraEye);gl.uniform2fv(this.uVectorA,frameCtx.snapVectorA);gl.uniform2fv(this.uInverseVectorAB,frameCtx.snapInvVectorAB);gl.uniform1i(this._uLayerNumber,frameCtx.snapPickLayerNumber);gl.uniform3fv(this._uCoordinateScaler,coordinateScaler);gl.uniform1i(this._uRenderPass,renderPass);gl.uniform1i(this._uPickInvisible,frameCtx.pickInvisible);gl.uniformMatrix4fv(this._uSceneModelMatrix,false,rotationMatrixConjugate);gl.uniformMatrix4fv(this._uViewMatrix,false,rtcViewMatrix);gl.uniformMatrix4fv(this._uProjMatrix,false,camera.projMatrix);{var logDepthBufFC=2.0/(Math.log(frameCtx.pickZFar+1.0)/Math.LN2);gl.uniform1f(this._uLogDepthBufFC,logDepthBufFC);}var numAllocatedSectionPlanes=scene._sectionPlanesState.getNumAllocatedSectionPlanes();var numSectionPlanes=scene._sectionPlanesState.sectionPlanes.length;if(numAllocatedSectionPlanes>0){var sectionPlanes=scene._sectionPlanesState.sectionPlanes;var baseIndex=dataTextureLayer.layerIndex*numSectionPlanes;var renderFlags=model.renderFlags;for(var sectionPlaneIndex=0;sectionPlaneIndex0){textureState.bindEdgeIndicesTextures(this._program,this._uTexturePerEdgeIdPortionIds,this._uTexturePerPolygonIdEdgeIndices,8// 8 bits edge indices );gl.drawArrays(glMode,0,state.numEdgeIndices8Bits);}if(state.numEdgeIndices16Bits>0){textureState.bindEdgeIndicesTextures(this._program,this._uTexturePerEdgeIdPortionIds,this._uTexturePerPolygonIdEdgeIndices,16// 16 bits edge indices );gl.drawArrays(glMode,0,state.numEdgeIndices16Bits);}if(state.numEdgeIndices32Bits>0){textureState.bindEdgeIndicesTextures(this._program,this._uTexturePerEdgeIdPortionIds,this._uTexturePerPolygonIdEdgeIndices,32// 32 bits edge indices -);gl.drawArrays(glMode,0,state.numEdgeIndices32Bits);}frameCtx.drawElements++;}},{key:"_allocate",value:function _allocate(){var scene=this._scene;var gl=scene.canvas.gl;this._program=new Program(gl,this._buildShader());if(this._program.errors){this.errors=this._program.errors;return;}var program=this._program;this._uRenderPass=program.getLocation("renderPass");this._uPickInvisible=program.getLocation("pickInvisible");this._uSceneModelMatrix=program.getLocation("sceneModelMatrix");this._uViewMatrix=program.getLocation("viewMatrix");this._uProjMatrix=program.getLocation("projMatrix");this._uSectionPlanes=[];for(var _i343=0,len=scene._sectionPlanesState.getNumAllocatedSectionPlanes();_i3430;var src=[];src.push("#version 300 es");src.push("// Batched geometry edges drawing vertex shader");src.push("#ifdef GL_FRAGMENT_PRECISION_HIGH");src.push("precision highp float;");src.push("precision highp int;");src.push("precision highp usampler2D;");src.push("precision highp isampler2D;");src.push("precision highp sampler2D;");src.push("#else");src.push("precision mediump float;");src.push("precision mediump int;");src.push("precision mediump usampler2D;");src.push("precision mediump isampler2D;");src.push("precision mediump sampler2D;");src.push("#endif");src.push("uniform int renderPass;");if(scene.entityOffsetsEnabled){src.push("in vec3 offset;");}src.push("uniform mat4 sceneModelMatrix;");src.push("uniform mat4 viewMatrix;");src.push("uniform mat4 projMatrix;");src.push("uniform highp sampler2D uObjectPerObjectPositionsDecodeMatrix;");src.push("uniform lowp usampler2D uObjectPerObjectColorsAndFlags;");src.push("uniform highp sampler2D uTexturePerObjectMatrix;");src.push("uniform mediump usampler2D uTexturePerVertexIdCoordinates;");src.push("uniform highp usampler2D uTexturePerPolygonIdEdgeIndices;");src.push("uniform mediump usampler2D uTexturePerEdgeIdPortionIds;");src.push("uniform vec3 uCameraEyeRtc;");src.push("uniform vec2 uSnapVectorA;");src.push("uniform vec2 uSnapInvVectorAB;");src.push("vec3 positions[3];");{src.push("uniform float logDepthBufFC;");src.push("out float vFragDepth;");src.push("bool isPerspectiveMatrix(mat4 m) {");src.push(" return (m[2][3] == - 1.0);");src.push("}");src.push("out float isPerspective;");}src.push("vec2 remapClipPos(vec2 clipPos) {");src.push(" float x = (clipPos.x - uSnapVectorA.x) * uSnapInvVectorAB.x;");src.push(" float y = (clipPos.y - uSnapVectorA.y) * uSnapInvVectorAB.y;");src.push(" return vec2(x, y);");src.push("}");if(clipping){src.push("out vec4 vWorldPosition;");src.push("flat out uint vFlags2;");}src.push("out vec4 vViewPosition;");src.push("out highp vec3 relativeToOriginPosition;");src.push("void main(void) {");// constants +);gl.drawArrays(glMode,0,state.numEdgeIndices32Bits);}frameCtx.drawElements++;}},{key:"_allocate",value:function _allocate(){var scene=this._scene;var gl=scene.canvas.gl;this._program=new Program(gl,this._buildShader());if(this._program.errors){this.errors=this._program.errors;return;}var program=this._program;this._uRenderPass=program.getLocation("renderPass");this._uPickInvisible=program.getLocation("pickInvisible");this._uSceneModelMatrix=program.getLocation("sceneModelMatrix");this._uViewMatrix=program.getLocation("viewMatrix");this._uProjMatrix=program.getLocation("projMatrix");this._uSectionPlanes=[];for(var _i349=0,len=scene._sectionPlanesState.getNumAllocatedSectionPlanes();_i3490;var src=[];src.push("#version 300 es");src.push("// Batched geometry edges drawing vertex shader");src.push("#ifdef GL_FRAGMENT_PRECISION_HIGH");src.push("precision highp float;");src.push("precision highp int;");src.push("precision highp usampler2D;");src.push("precision highp isampler2D;");src.push("precision highp sampler2D;");src.push("#else");src.push("precision mediump float;");src.push("precision mediump int;");src.push("precision mediump usampler2D;");src.push("precision mediump isampler2D;");src.push("precision mediump sampler2D;");src.push("#endif");src.push("uniform int renderPass;");if(scene.entityOffsetsEnabled){src.push("in vec3 offset;");}src.push("uniform mat4 sceneModelMatrix;");src.push("uniform mat4 viewMatrix;");src.push("uniform mat4 projMatrix;");src.push("uniform highp sampler2D uObjectPerObjectPositionsDecodeMatrix;");src.push("uniform lowp usampler2D uObjectPerObjectColorsAndFlags;");src.push("uniform highp sampler2D uTexturePerObjectMatrix;");src.push("uniform mediump usampler2D uTexturePerVertexIdCoordinates;");src.push("uniform highp usampler2D uTexturePerPolygonIdEdgeIndices;");src.push("uniform mediump usampler2D uTexturePerEdgeIdPortionIds;");src.push("uniform vec3 uCameraEyeRtc;");src.push("uniform vec2 uSnapVectorA;");src.push("uniform vec2 uSnapInvVectorAB;");src.push("vec3 positions[3];");{src.push("uniform float logDepthBufFC;");src.push("out float vFragDepth;");src.push("bool isPerspectiveMatrix(mat4 m) {");src.push(" return (m[2][3] == - 1.0);");src.push("}");src.push("out float isPerspective;");}src.push("vec2 remapClipPos(vec2 clipPos) {");src.push(" float x = (clipPos.x - uSnapVectorA.x) * uSnapInvVectorAB.x;");src.push(" float y = (clipPos.y - uSnapVectorA.y) * uSnapInvVectorAB.y;");src.push(" return vec2(x, y);");src.push("}");if(clipping){src.push("out vec4 vWorldPosition;");src.push("flat out uint vFlags2;");}src.push("out vec4 vViewPosition;");src.push("out highp vec3 relativeToOriginPosition;");src.push("void main(void) {");// constants src.push("int edgeIndex = gl_VertexID / 2;");// get packed object-id src.push("int h_packed_object_id_index = (edgeIndex >> 3) & 4095;");src.push("int v_packed_object_id_index = (edgeIndex >> 3) >> 12;");src.push("int objectIndex = int(texelFetch(uTexturePerEdgeIdPortionIds, ivec2(h_packed_object_id_index, v_packed_object_id_index), 0).r);");src.push("ivec2 objectIndexCoords = ivec2(objectIndex % 512, objectIndex / 512);");// get flags & flags2 src.push("uvec4 flags = texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+2, objectIndexCoords.y), 0);");src.push("uvec4 flags2 = texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+3, objectIndexCoords.y), 0);");src.push("{");// get vertex base src.push("ivec4 packedVertexBase = ivec4(texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+4, objectIndexCoords.y), 0));");src.push("ivec4 packedEdgeIndexBaseOffset = ivec4(texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+6, objectIndexCoords.y), 0));");src.push("int edgeIndexBaseOffset = (packedEdgeIndexBaseOffset.r << 24) + (packedEdgeIndexBaseOffset.g << 16) + (packedEdgeIndexBaseOffset.b << 8) + packedEdgeIndexBaseOffset.a;");src.push("int h_index = (edgeIndex - edgeIndexBaseOffset) & 4095;");src.push("int v_index = (edgeIndex - edgeIndexBaseOffset) >> 12;");src.push("ivec3 vertexIndices = ivec3(texelFetch(uTexturePerPolygonIdEdgeIndices, ivec2(h_index, v_index), 0));");src.push("ivec3 uniqueVertexIndexes = vertexIndices + (packedVertexBase.r << 24) + (packedVertexBase.g << 16) + (packedVertexBase.b << 8) + packedVertexBase.a;");src.push("int indexPositionH = uniqueVertexIndexes[gl_VertexID % 2] & 4095;");src.push("int indexPositionV = uniqueVertexIndexes[gl_VertexID % 2] >> 12;");src.push("mat4 objectInstanceMatrix = mat4 (texelFetch (uTexturePerObjectMatrix, ivec2(objectIndexCoords.x*4+0, objectIndexCoords.y), 0), texelFetch (uTexturePerObjectMatrix, ivec2(objectIndexCoords.x*4+1, objectIndexCoords.y), 0), texelFetch (uTexturePerObjectMatrix, ivec2(objectIndexCoords.x*4+2, objectIndexCoords.y), 0), texelFetch (uTexturePerObjectMatrix, ivec2(objectIndexCoords.x*4+3, objectIndexCoords.y), 0));");src.push("mat4 objectDecodeAndInstanceMatrix = objectInstanceMatrix * mat4 (texelFetch (uObjectPerObjectPositionsDecodeMatrix, ivec2(objectIndexCoords.x*4+0, objectIndexCoords.y), 0), texelFetch (uObjectPerObjectPositionsDecodeMatrix, ivec2(objectIndexCoords.x*4+1, objectIndexCoords.y), 0), texelFetch (uObjectPerObjectPositionsDecodeMatrix, ivec2(objectIndexCoords.x*4+2, objectIndexCoords.y), 0), texelFetch (uObjectPerObjectPositionsDecodeMatrix, ivec2(objectIndexCoords.x*4+3, objectIndexCoords.y), 0));");src.push("uvec4 flags = texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+2, objectIndexCoords.y), 0);");src.push("uvec4 flags2 = texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+3, objectIndexCoords.y), 0);");src.push("vec3 position = vec3(texelFetch(uTexturePerVertexIdCoordinates, ivec2(indexPositionH, indexPositionV), 0));");src.push("vec4 worldPosition = sceneModelMatrix * (objectDecodeAndInstanceMatrix * vec4(position, 1.0)); ");src.push("relativeToOriginPosition = worldPosition.xyz;");src.push(" vec4 viewPosition = viewMatrix * worldPosition; ");if(clipping){src.push(" vWorldPosition = worldPosition;");src.push(" vFlags2 = flags2.r;");}src.push("vViewPosition = viewPosition;");src.push("vec4 clipPos = projMatrix * viewPosition;");src.push("float tmp = clipPos.w;");src.push("clipPos.xyzw /= tmp;");src.push("clipPos.xy = remapClipPos(clipPos.xy);");src.push("clipPos.xyzw *= tmp;");src.push("vViewPosition = clipPos;");{src.push("vFragDepth = 1.0 + clipPos.w;");src.push("isPerspective = float (isPerspectiveMatrix(projMatrix));");}src.push("gl_Position = clipPos;");src.push("gl_PointSize = 1.0;");// Windows needs this? -src.push(" }");src.push("}");return src;}},{key:"_buildFragmentShader",value:function _buildFragmentShader(){var scene=this._scene;var clipping=scene._sectionPlanesState.getNumAllocatedSectionPlanes()>0;var src=[];src.push('#version 300 es');src.push("// Triangles dataTexture pick depth fragment shader");src.push("#ifdef GL_FRAGMENT_PRECISION_HIGH");src.push("precision highp float;");src.push("precision highp int;");src.push("#else");src.push("precision mediump float;");src.push("precision mediump int;");src.push("#endif");{src.push("in float isPerspective;");src.push("uniform float logDepthBufFC;");src.push("in float vFragDepth;");}src.push("uniform int uLayerNumber;");src.push("uniform vec3 uCoordinateScaler;");if(clipping){src.push("in vec4 vWorldPosition;");src.push("flat in uint vFlags2;");for(var _i344=0,len=scene._sectionPlanesState.getNumAllocatedSectionPlanes();_i344 0u;");src.push(" if (clippable) {");src.push(" float dist = 0.0;");for(var i=0;i 0.0) { discard; }");src.push(" }");}{src.push(" gl_FragDepth = isPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5;");}src.push("outCoords = ivec4(relativeToOriginPosition.xyz * uCoordinateScaler.xyz, uLayerNumber);");src.push("}");return src;}},{key:"webglContextRestored",value:function webglContextRestored(){this._program=null;}},{key:"destroy",value:function destroy(){if(this._program){this._program.destroy();}this._program=null;}}]);return TrianglesDataTextureSnapDepthRenderer;}();var tempVec3a$d=math.vec3();var tempVec3b$9=math.vec3();var tempVec3c$8=math.vec3();var tempVec3d$1=math.vec3();math.vec3();var tempMat4a$5=math.mat4();/** +src.push(" }");src.push("}");return src;}},{key:"_buildFragmentShader",value:function _buildFragmentShader(){var scene=this._scene;var clipping=scene._sectionPlanesState.getNumAllocatedSectionPlanes()>0;var src=[];src.push('#version 300 es');src.push("// Triangles dataTexture pick depth fragment shader");src.push("#ifdef GL_FRAGMENT_PRECISION_HIGH");src.push("precision highp float;");src.push("precision highp int;");src.push("#else");src.push("precision mediump float;");src.push("precision mediump int;");src.push("#endif");{src.push("in float isPerspective;");src.push("uniform float logDepthBufFC;");src.push("in float vFragDepth;");}src.push("uniform int uLayerNumber;");src.push("uniform vec3 uCoordinateScaler;");if(clipping){src.push("in vec4 vWorldPosition;");src.push("flat in uint vFlags2;");for(var _i350=0,len=scene._sectionPlanesState.getNumAllocatedSectionPlanes();_i350 0u;");src.push(" if (clippable) {");src.push(" float dist = 0.0;");for(var i=0;i 0.0) { discard; }");src.push(" }");}{src.push(" gl_FragDepth = isPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5;");}src.push("outCoords = ivec4(relativeToOriginPosition.xyz * uCoordinateScaler.xyz, uLayerNumber);");src.push("}");return src;}},{key:"webglContextRestored",value:function webglContextRestored(){this._program=null;}},{key:"destroy",value:function destroy(){if(this._program){this._program.destroy();}this._program=null;}}]);return TrianglesDataTextureSnapDepthRenderer;}();var tempVec3a$d=math.vec3();var tempVec3b$9=math.vec3();var tempVec3c$8=math.vec3();var tempVec3d$1=math.vec3();math.vec3();var tempMat4a$5=math.mat4();/** * @private - */var TrianglesDataTextureSnapDepthBufInitRenderer=/*#__PURE__*/function(){function TrianglesDataTextureSnapDepthBufInitRenderer(scene){_classCallCheck(this,TrianglesDataTextureSnapDepthBufInitRenderer);this._scene=scene;this._hash=this._getHash();this._allocate();}_createClass(TrianglesDataTextureSnapDepthBufInitRenderer,[{key:"getValid",value:function getValid(){return this._hash===this._getHash();}},{key:"_getHash",value:function _getHash(){return this._scene._sectionPlanesState.getHash();}},{key:"drawLayer",value:function drawLayer(frameCtx,dataTextureLayer,renderPass){if(!this._program){this._allocate();}if(frameCtx.lastProgramId!==this._program.id){frameCtx.lastProgramId=this._program.id;this._bindProgram();}var model=dataTextureLayer.model;var scene=model.scene;var camera=scene.camera;var gl=scene.canvas.gl;var state=dataTextureLayer._state;var textureState=state.textureState;var origin=dataTextureLayer._state.origin;var position=model.position,rotationMatrix=model.rotationMatrix,rotationMatrixConjugate=model.rotationMatrixConjugate;var aabb=model.aabb;var viewMatrix=frameCtx.pickViewMatrix||camera.viewMatrix;var coordinateScaler=tempVec3a$d;coordinateScaler[0]=math.safeInv(aabb[3]-aabb[0])*math.MAX_INT;coordinateScaler[1]=math.safeInv(aabb[4]-aabb[1])*math.MAX_INT;coordinateScaler[2]=math.safeInv(aabb[5]-aabb[2])*math.MAX_INT;frameCtx.snapPickCoordinateScale[0]=math.safeInv(coordinateScaler[0]);frameCtx.snapPickCoordinateScale[1]=math.safeInv(coordinateScaler[1]);frameCtx.snapPickCoordinateScale[2]=math.safeInv(coordinateScaler[2]);textureState.bindCommonTextures(this._program,this.uTexturePerObjectPositionsDecodeMatrix,this._uTexturePerVertexIdCoordinates,this.uTexturePerObjectColorsAndFlags,this._uTexturePerObjectMatrix);var rtcViewMatrix;var rtcCameraEye;var gotOrigin=origin[0]!==0||origin[1]!==0||origin[2]!==0;var gotPosition=position[0]!==0||position[1]!==0||position[2]!==0;if(gotOrigin||gotPosition){var rtcOrigin=tempVec3b$9;if(gotOrigin){var rotatedOrigin=tempVec3c$8;math.transformPoint3(rotationMatrix,origin,rotatedOrigin);rtcOrigin[0]=rotatedOrigin[0];rtcOrigin[1]=rotatedOrigin[1];rtcOrigin[2]=rotatedOrigin[2];}else{rtcOrigin[0]=0;rtcOrigin[1]=0;rtcOrigin[2]=0;}rtcOrigin[0]+=position[0];rtcOrigin[1]+=position[1];rtcOrigin[2]+=position[2];rtcViewMatrix=createRTCViewMat(viewMatrix,rtcOrigin,tempMat4a$5);rtcCameraEye=tempVec3d$1;rtcCameraEye[0]=camera.eye[0]-rtcOrigin[0];rtcCameraEye[1]=camera.eye[1]-rtcOrigin[1];rtcCameraEye[2]=camera.eye[2]-rtcOrigin[2];frameCtx.snapPickOrigin[0]=rtcOrigin[0];frameCtx.snapPickOrigin[1]=rtcOrigin[1];frameCtx.snapPickOrigin[2]=rtcOrigin[2];}else{rtcViewMatrix=viewMatrix;rtcCameraEye=camera.eye;frameCtx.snapPickOrigin[0]=0;frameCtx.snapPickOrigin[1]=0;frameCtx.snapPickOrigin[2]=0;}gl.uniform3fv(this._uCameraEyeRtc,rtcCameraEye);gl.uniform2fv(this._uVectorA,frameCtx.snapVectorA);gl.uniform2fv(this._uInverseVectorAB,frameCtx.snapInvVectorAB);gl.uniform1i(this._uLayerNumber,frameCtx.snapPickLayerNumber);gl.uniform3fv(this._uCoordinateScaler,coordinateScaler);gl.uniform1i(this._uRenderPass,renderPass);gl.uniform1i(this._uPickInvisible,frameCtx.pickInvisible);gl.uniformMatrix4fv(this._uSceneWorldModelMatrix,false,rotationMatrixConjugate);gl.uniformMatrix4fv(this._uViewMatrix,false,rtcViewMatrix);gl.uniformMatrix4fv(this._uProjMatrix,false,camera.projMatrix);{var logDepthBufFC=2.0/(Math.log(frameCtx.pickZFar+1.0)/Math.LN2);gl.uniform1f(this._uLogDepthBufFC,logDepthBufFC);}var numAllocatedSectionPlanes=scene._sectionPlanesState.getNumAllocatedSectionPlanes();var numSectionPlanes=scene._sectionPlanesState.sectionPlanes.length;if(numAllocatedSectionPlanes>0){var sectionPlanes=scene._sectionPlanesState.sectionPlanes;var baseIndex=dataTextureLayer.layerIndex*numSectionPlanes;var renderFlags=model.renderFlags;for(var sectionPlaneIndex=0;sectionPlaneIndex0){textureState.bindTriangleIndicesTextures(this._program,this._uTexturePerPolygonIdPortionIds,this._uTexturePerPolygonIdIndices,8// 8 bits indices + */var TrianglesDataTextureSnapDepthBufInitRenderer=/*#__PURE__*/function(){function TrianglesDataTextureSnapDepthBufInitRenderer(scene){_classCallCheck(this,TrianglesDataTextureSnapDepthBufInitRenderer);this._scene=scene;this._hash=this._getHash();this._allocate();}_createClass(TrianglesDataTextureSnapDepthBufInitRenderer,[{key:"getValid",value:function getValid(){return this._hash===this._getHash();}},{key:"_getHash",value:function _getHash(){return this._scene._sectionPlanesState.getHash();}},{key:"drawLayer",value:function drawLayer(frameCtx,dataTextureLayer,renderPass){if(!this._program){this._allocate();}if(frameCtx.lastProgramId!==this._program.id){frameCtx.lastProgramId=this._program.id;this._bindProgram();}var model=dataTextureLayer.model;var scene=model.scene;var camera=scene.camera;var gl=scene.canvas.gl;var state=dataTextureLayer._state;var textureState=state.textureState;var origin=dataTextureLayer._state.origin;var position=model.position,rotationMatrix=model.rotationMatrix,rotationMatrixConjugate=model.rotationMatrixConjugate;var aabb=dataTextureLayer.aabb;// Per-layer AABB for best RTC accuracy +var viewMatrix=frameCtx.pickViewMatrix||camera.viewMatrix;var coordinateScaler=tempVec3a$d;coordinateScaler[0]=math.safeInv(aabb[3]-aabb[0])*math.MAX_INT;coordinateScaler[1]=math.safeInv(aabb[4]-aabb[1])*math.MAX_INT;coordinateScaler[2]=math.safeInv(aabb[5]-aabb[2])*math.MAX_INT;frameCtx.snapPickCoordinateScale[0]=math.safeInv(coordinateScaler[0]);frameCtx.snapPickCoordinateScale[1]=math.safeInv(coordinateScaler[1]);frameCtx.snapPickCoordinateScale[2]=math.safeInv(coordinateScaler[2]);textureState.bindCommonTextures(this._program,this.uTexturePerObjectPositionsDecodeMatrix,this._uTexturePerVertexIdCoordinates,this.uTexturePerObjectColorsAndFlags,this._uTexturePerObjectMatrix);var rtcViewMatrix;var rtcCameraEye;var gotOrigin=origin[0]!==0||origin[1]!==0||origin[2]!==0;var gotPosition=position[0]!==0||position[1]!==0||position[2]!==0;if(gotOrigin||gotPosition){var rtcOrigin=tempVec3b$9;if(gotOrigin){var rotatedOrigin=tempVec3c$8;math.transformPoint3(rotationMatrix,origin,rotatedOrigin);rtcOrigin[0]=rotatedOrigin[0];rtcOrigin[1]=rotatedOrigin[1];rtcOrigin[2]=rotatedOrigin[2];}else{rtcOrigin[0]=0;rtcOrigin[1]=0;rtcOrigin[2]=0;}rtcOrigin[0]+=position[0];rtcOrigin[1]+=position[1];rtcOrigin[2]+=position[2];rtcViewMatrix=createRTCViewMat(viewMatrix,rtcOrigin,tempMat4a$5);rtcCameraEye=tempVec3d$1;rtcCameraEye[0]=camera.eye[0]-rtcOrigin[0];rtcCameraEye[1]=camera.eye[1]-rtcOrigin[1];rtcCameraEye[2]=camera.eye[2]-rtcOrigin[2];frameCtx.snapPickOrigin[0]=rtcOrigin[0];frameCtx.snapPickOrigin[1]=rtcOrigin[1];frameCtx.snapPickOrigin[2]=rtcOrigin[2];}else{rtcViewMatrix=viewMatrix;rtcCameraEye=camera.eye;frameCtx.snapPickOrigin[0]=0;frameCtx.snapPickOrigin[1]=0;frameCtx.snapPickOrigin[2]=0;}gl.uniform3fv(this._uCameraEyeRtc,rtcCameraEye);gl.uniform2fv(this._uVectorA,frameCtx.snapVectorA);gl.uniform2fv(this._uInverseVectorAB,frameCtx.snapInvVectorAB);gl.uniform1i(this._uLayerNumber,frameCtx.snapPickLayerNumber);gl.uniform3fv(this._uCoordinateScaler,coordinateScaler);gl.uniform1i(this._uRenderPass,renderPass);gl.uniform1i(this._uPickInvisible,frameCtx.pickInvisible);gl.uniformMatrix4fv(this._uSceneWorldModelMatrix,false,rotationMatrixConjugate);gl.uniformMatrix4fv(this._uViewMatrix,false,rtcViewMatrix);gl.uniformMatrix4fv(this._uProjMatrix,false,camera.projMatrix);{var logDepthBufFC=2.0/(Math.log(frameCtx.pickZFar+1.0)/Math.LN2);gl.uniform1f(this._uLogDepthBufFC,logDepthBufFC);}var numAllocatedSectionPlanes=scene._sectionPlanesState.getNumAllocatedSectionPlanes();var numSectionPlanes=scene._sectionPlanesState.sectionPlanes.length;if(numAllocatedSectionPlanes>0){var sectionPlanes=scene._sectionPlanesState.sectionPlanes;var baseIndex=dataTextureLayer.layerIndex*numSectionPlanes;var renderFlags=model.renderFlags;for(var sectionPlaneIndex=0;sectionPlaneIndex0){textureState.bindTriangleIndicesTextures(this._program,this._uTexturePerPolygonIdPortionIds,this._uTexturePerPolygonIdIndices,8// 8 bits indices );gl.drawArrays(gl.TRIANGLES,0,state.numIndices8Bits);}if(state.numIndices16Bits>0){textureState.bindTriangleIndicesTextures(this._program,this._uTexturePerPolygonIdPortionIds,this._uTexturePerPolygonIdIndices,16// 16 bits indices );gl.drawArrays(gl.TRIANGLES,0,state.numIndices16Bits);}if(state.numIndices32Bits>0){textureState.bindTriangleIndicesTextures(this._program,this._uTexturePerPolygonIdPortionIds,this._uTexturePerPolygonIdIndices,32// 32 bits indices -);gl.drawArrays(gl.TRIANGLES,0,state.numIndices32Bits);}frameCtx.drawElements++;}},{key:"_allocate",value:function _allocate(){var scene=this._scene;var gl=scene.canvas.gl;this._program=new Program(gl,this._buildShader());if(this._program.errors){this.errors=this._program.errors;return;}var program=this._program;this._uRenderPass=program.getLocation("renderPass");this._uPickInvisible=program.getLocation("pickInvisible");this._uSceneWorldModelMatrix=program.getLocation("sceneModelMatrix");this._uViewMatrix=program.getLocation("viewMatrix");this._uProjMatrix=program.getLocation("projMatrix");this._uSectionPlanes=[];for(var _i345=0,len=scene._sectionPlanesState.getNumAllocatedSectionPlanes();_i3450;var src=[];src.push("#version 300 es");src.push("// TrianglesDataTextureSnapDepthBufInitRenderer vertex shader");src.push("#ifdef GL_FRAGMENT_PRECISION_HIGH");src.push("precision highp float;");src.push("precision highp int;");src.push("precision highp usampler2D;");src.push("precision highp isampler2D;");src.push("precision highp sampler2D;");src.push("#else");src.push("precision mediump float;");src.push("precision mediump int;");src.push("precision mediump usampler2D;");src.push("precision mediump isampler2D;");src.push("precision mediump sampler2D;");src.push("#endif");src.push("uniform int renderPass;");if(scene.entityOffsetsEnabled){src.push("in vec3 offset;");}src.push("uniform mat4 sceneModelMatrix;");src.push("uniform mat4 viewMatrix;");src.push("uniform mat4 projMatrix;");src.push("uniform highp sampler2D uObjectPerObjectPositionsDecodeMatrix;");src.push("uniform highp sampler2D uTexturePerObjectMatrix;");src.push("uniform lowp usampler2D uObjectPerObjectColorsAndFlags;");src.push("uniform mediump usampler2D uTexturePerVertexIdCoordinates;");src.push("uniform highp usampler2D uTexturePerPolygonIdIndices;");src.push("uniform mediump usampler2D uTexturePerPolygonIdPortionIds;");src.push("uniform vec3 uCameraEyeRtc;");src.push("uniform vec2 uVectorAB;");src.push("uniform vec2 uInverseVectorAB;");src.push("vec3 positions[3];");{src.push("uniform float logDepthBufFC;");src.push("out float vFragDepth;");src.push("out float isPerspective;");}src.push("bool isPerspectiveMatrix(mat4 m) {");src.push(" return (m[2][3] == - 1.0);");src.push("}");src.push("vec2 remapClipPos(vec2 clipPos) {");src.push(" float x = (clipPos.x - uVectorAB.x) * uInverseVectorAB.x;");src.push(" float y = (clipPos.y - uVectorAB.y) * uInverseVectorAB.y;");src.push(" return vec2(x, y);");src.push("}");src.push("flat out vec4 vPickColor;");src.push("out vec4 vWorldPosition;");if(clipping){src.push("flat out uint vFlags2;");}src.push("out highp vec3 relativeToOriginPosition;");src.push("void main(void) {");// constants +);gl.drawArrays(gl.TRIANGLES,0,state.numIndices32Bits);}frameCtx.drawElements++;}},{key:"_allocate",value:function _allocate(){var scene=this._scene;var gl=scene.canvas.gl;this._program=new Program(gl,this._buildShader());if(this._program.errors){this.errors=this._program.errors;return;}var program=this._program;this._uRenderPass=program.getLocation("renderPass");this._uPickInvisible=program.getLocation("pickInvisible");this._uSceneWorldModelMatrix=program.getLocation("sceneModelMatrix");this._uViewMatrix=program.getLocation("viewMatrix");this._uProjMatrix=program.getLocation("projMatrix");this._uSectionPlanes=[];for(var _i351=0,len=scene._sectionPlanesState.getNumAllocatedSectionPlanes();_i3510;var src=[];src.push("#version 300 es");src.push("// TrianglesDataTextureSnapDepthBufInitRenderer vertex shader");src.push("#ifdef GL_FRAGMENT_PRECISION_HIGH");src.push("precision highp float;");src.push("precision highp int;");src.push("precision highp usampler2D;");src.push("precision highp isampler2D;");src.push("precision highp sampler2D;");src.push("#else");src.push("precision mediump float;");src.push("precision mediump int;");src.push("precision mediump usampler2D;");src.push("precision mediump isampler2D;");src.push("precision mediump sampler2D;");src.push("#endif");src.push("uniform int renderPass;");if(scene.entityOffsetsEnabled){src.push("in vec3 offset;");}src.push("uniform mat4 sceneModelMatrix;");src.push("uniform mat4 viewMatrix;");src.push("uniform mat4 projMatrix;");src.push("uniform highp sampler2D uObjectPerObjectPositionsDecodeMatrix;");src.push("uniform highp sampler2D uTexturePerObjectMatrix;");src.push("uniform lowp usampler2D uObjectPerObjectColorsAndFlags;");src.push("uniform mediump usampler2D uTexturePerVertexIdCoordinates;");src.push("uniform highp usampler2D uTexturePerPolygonIdIndices;");src.push("uniform mediump usampler2D uTexturePerPolygonIdPortionIds;");src.push("uniform vec3 uCameraEyeRtc;");src.push("uniform vec2 uVectorAB;");src.push("uniform vec2 uInverseVectorAB;");src.push("vec3 positions[3];");{src.push("uniform float logDepthBufFC;");src.push("out float vFragDepth;");src.push("out float isPerspective;");}src.push("bool isPerspectiveMatrix(mat4 m) {");src.push(" return (m[2][3] == - 1.0);");src.push("}");src.push("vec2 remapClipPos(vec2 clipPos) {");src.push(" float x = (clipPos.x - uVectorAB.x) * uInverseVectorAB.x;");src.push(" float y = (clipPos.y - uVectorAB.y) * uInverseVectorAB.y;");src.push(" return vec2(x, y);");src.push("}");src.push("flat out vec4 vPickColor;");src.push("out vec4 vWorldPosition;");if(clipping){src.push("flat out uint vFlags2;");}src.push("out highp vec3 relativeToOriginPosition;");src.push("void main(void) {");// constants src.push("int polygonIndex = gl_VertexID / 3;");// get packed object-id src.push("int h_packed_object_id_index = (polygonIndex >> 3) & 4095;");src.push("int v_packed_object_id_index = (polygonIndex >> 3) >> 12;");src.push("int objectIndex = int(texelFetch(uTexturePerPolygonIdPortionIds, ivec2(h_packed_object_id_index, v_packed_object_id_index), 0).r);");src.push("ivec2 objectIndexCoords = ivec2(objectIndex % 512, objectIndex / 512);");// get flags & flags2 src.push("uvec4 flags = texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+2, objectIndexCoords.y), 0);");src.push("uvec4 flags2 = texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+3, objectIndexCoords.y), 0);");src.push("{");// get color @@ -18691,12 +18703,12 @@ src.push(" return;");src.push("};");// get vertex base src.push("ivec4 packedVertexBase = ivec4(texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+4, objectIndexCoords.y), 0));");src.push("ivec4 packedIndexBaseOffset = ivec4(texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+5, objectIndexCoords.y), 0));");src.push("int indexBaseOffset = (packedIndexBaseOffset.r << 24) + (packedIndexBaseOffset.g << 16) + (packedIndexBaseOffset.b << 8) + packedIndexBaseOffset.a;");src.push("int h_index = (polygonIndex - indexBaseOffset) & 4095;");src.push("int v_index = (polygonIndex - indexBaseOffset) >> 12;");src.push("ivec3 vertexIndices = ivec3(texelFetch(uTexturePerPolygonIdIndices, ivec2(h_index, v_index), 0));");src.push("ivec3 uniqueVertexIndexes = vertexIndices + (packedVertexBase.r << 24) + (packedVertexBase.g << 16) + (packedVertexBase.b << 8) + packedVertexBase.a;");src.push("ivec3 indexPositionH = uniqueVertexIndexes & 4095;");src.push("ivec3 indexPositionV = uniqueVertexIndexes >> 12;");src.push("mat4 objectInstanceMatrix = mat4 (texelFetch (uTexturePerObjectMatrix, ivec2(objectIndexCoords.x*4+0, objectIndexCoords.y), 0), texelFetch (uTexturePerObjectMatrix, ivec2(objectIndexCoords.x*4+1, objectIndexCoords.y), 0), texelFetch (uTexturePerObjectMatrix, ivec2(objectIndexCoords.x*4+2, objectIndexCoords.y), 0), texelFetch (uTexturePerObjectMatrix, ivec2(objectIndexCoords.x*4+3, objectIndexCoords.y), 0));");src.push("mat4 objectDecodeAndInstanceMatrix = objectInstanceMatrix * mat4 (texelFetch (uObjectPerObjectPositionsDecodeMatrix, ivec2(objectIndexCoords.x*4+0, objectIndexCoords.y), 0), texelFetch (uObjectPerObjectPositionsDecodeMatrix, ivec2(objectIndexCoords.x*4+1, objectIndexCoords.y), 0), texelFetch (uObjectPerObjectPositionsDecodeMatrix, ivec2(objectIndexCoords.x*4+2, objectIndexCoords.y), 0), texelFetch (uObjectPerObjectPositionsDecodeMatrix, ivec2(objectIndexCoords.x*4+3, objectIndexCoords.y), 0));");src.push("uint solid = texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+7, objectIndexCoords.y), 0).r;");// get position src.push("positions[0] = vec3(texelFetch(uTexturePerVertexIdCoordinates, ivec2(indexPositionH.r, indexPositionV.r), 0));");src.push("positions[1] = vec3(texelFetch(uTexturePerVertexIdCoordinates, ivec2(indexPositionH.g, indexPositionV.g), 0));");src.push("positions[2] = vec3(texelFetch(uTexturePerVertexIdCoordinates, ivec2(indexPositionH.b, indexPositionV.b), 0));");// get normal src.push("vec3 normal = normalize(cross(positions[2] - positions[0], positions[1] - positions[0]));");src.push("vec3 position;");src.push("position = positions[gl_VertexID % 3];");src.push("vec3 viewNormal = -normalize((transpose(inverse(viewMatrix*objectDecodeAndInstanceMatrix)) * vec4(normal,1)).xyz);");// when the geometry is not solid, if needed, flip the triangle winding -src.push("if (solid != 1u) {");src.push(" if (isPerspectiveMatrix(projMatrix)) {");src.push(" vec3 uCameraEyeRtcInQuantizedSpace = (inverse(sceneModelMatrix * objectDecodeAndInstanceMatrix) * vec4(uCameraEyeRtc, 1)).xyz;");src.push(" if (dot(position.xyz - uCameraEyeRtcInQuantizedSpace, normal) < 0.0) {");src.push(" position = positions[2 - (gl_VertexID % 3)];");src.push(" viewNormal = -viewNormal;");src.push(" }");src.push(" } else {");src.push(" if (viewNormal.z < 0.0) {");src.push(" position = positions[2 - (gl_VertexID % 3)];");src.push(" viewNormal = -viewNormal;");src.push(" }");src.push(" }");src.push("}");src.push("vec4 worldPosition = sceneModelMatrix * (objectDecodeAndInstanceMatrix * vec4(position, 1.0)); ");src.push("relativeToOriginPosition = worldPosition.xyz;");src.push("vec4 viewPosition = viewMatrix * worldPosition; ");src.push("vWorldPosition = worldPosition;");if(clipping){src.push("vFlags2 = flags2.r;");}src.push("vPickColor = vec4(texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+1, objectIndexCoords.y), 0));");src.push("vec4 clipPos = projMatrix * viewPosition;");src.push("float tmp = clipPos.w;");src.push("clipPos.xyzw /= tmp;");src.push("clipPos.xy = remapClipPos(clipPos.xy);");src.push("clipPos.xyzw *= tmp;");{src.push("vFragDepth = 1.0 + clipPos.w;");src.push("isPerspective = float (isPerspectiveMatrix(projMatrix));");}src.push("gl_Position = clipPos;");src.push(" }");src.push("}");return src;}},{key:"_buildFragmentShader",value:function _buildFragmentShader(){var scene=this._scene;var clipping=scene._sectionPlanesState.getNumAllocatedSectionPlanes()>0;var src=[];src.push('#version 300 es');src.push("// TrianglesDataTextureSnapDepthBufInitRenderer fragment shader");src.push("#ifdef GL_FRAGMENT_PRECISION_HIGH");src.push("precision highp float;");src.push("precision highp int;");src.push("#else");src.push("precision mediump float;");src.push("precision mediump int;");src.push("#endif");{src.push("in float isPerspective;");src.push("uniform float logDepthBufFC;");src.push("in float vFragDepth;");}src.push("uniform int uLayerNumber;");src.push("uniform vec3 uCoordinateScaler;");src.push("in vec4 vWorldPosition;");src.push("flat in vec4 vPickColor;");if(clipping){src.push("flat in uint vFlags2;");for(var _i346=0,len=scene._sectionPlanesState.getNumAllocatedSectionPlanes();_i346 0u;");src.push(" if (clippable) {");src.push(" float dist = 0.0;");for(var i=0;i 0.0) { discard; }");src.push(" }");}{src.push(" float dx = dFdx(vFragDepth);");src.push(" float dy = dFdy(vFragDepth);");src.push(" float diff = sqrt(dx*dx+dy*dy);");src.push(" gl_FragDepth = isPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth + diff ) * logDepthBufFC * 0.5;");}src.push("outCoords = ivec4(relativeToOriginPosition.xyz * uCoordinateScaler.xyz, - uLayerNumber);");src.push("vec3 xTangent = dFdx( vWorldPosition.xyz );");src.push("vec3 yTangent = dFdy( vWorldPosition.xyz );");src.push("vec3 worldNormal = normalize( cross( xTangent, yTangent ) );");src.push("outNormal = ivec4(worldNormal * float(".concat(math.MAX_INT,"), 1.0);"));src.push("outPickColor = uvec4(vPickColor);");src.push("}");return src;}},{key:"webglContextRestored",value:function webglContextRestored(){this._program=null;}},{key:"destroy",value:function destroy(){if(this._program){this._program.destroy();}this._program=null;}}]);return TrianglesDataTextureSnapDepthBufInitRenderer;}();var tempVec3a$c=math.vec3();var tempVec3b$8=math.vec3();var tempVec3c$7=math.vec3();math.vec3();var tempMat4a$4=math.mat4();/** +src.push("if (solid != 1u) {");src.push(" if (isPerspectiveMatrix(projMatrix)) {");src.push(" vec3 uCameraEyeRtcInQuantizedSpace = (inverse(sceneModelMatrix * objectDecodeAndInstanceMatrix) * vec4(uCameraEyeRtc, 1)).xyz;");src.push(" if (dot(position.xyz - uCameraEyeRtcInQuantizedSpace, normal) < 0.0) {");src.push(" position = positions[2 - (gl_VertexID % 3)];");src.push(" viewNormal = -viewNormal;");src.push(" }");src.push(" } else {");src.push(" if (viewNormal.z < 0.0) {");src.push(" position = positions[2 - (gl_VertexID % 3)];");src.push(" viewNormal = -viewNormal;");src.push(" }");src.push(" }");src.push("}");src.push("vec4 worldPosition = sceneModelMatrix * (objectDecodeAndInstanceMatrix * vec4(position, 1.0)); ");src.push("relativeToOriginPosition = worldPosition.xyz;");src.push("vec4 viewPosition = viewMatrix * worldPosition; ");src.push("vWorldPosition = worldPosition;");if(clipping){src.push("vFlags2 = flags2.r;");}src.push("vPickColor = vec4(texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+1, objectIndexCoords.y), 0));");src.push("vec4 clipPos = projMatrix * viewPosition;");src.push("float tmp = clipPos.w;");src.push("clipPos.xyzw /= tmp;");src.push("clipPos.xy = remapClipPos(clipPos.xy);");src.push("clipPos.xyzw *= tmp;");{src.push("vFragDepth = 1.0 + clipPos.w;");src.push("isPerspective = float (isPerspectiveMatrix(projMatrix));");}src.push("gl_Position = clipPos;");src.push(" }");src.push("}");return src;}},{key:"_buildFragmentShader",value:function _buildFragmentShader(){var scene=this._scene;var clipping=scene._sectionPlanesState.getNumAllocatedSectionPlanes()>0;var src=[];src.push('#version 300 es');src.push("// TrianglesDataTextureSnapDepthBufInitRenderer fragment shader");src.push("#ifdef GL_FRAGMENT_PRECISION_HIGH");src.push("precision highp float;");src.push("precision highp int;");src.push("#else");src.push("precision mediump float;");src.push("precision mediump int;");src.push("#endif");{src.push("in float isPerspective;");src.push("uniform float logDepthBufFC;");src.push("in float vFragDepth;");}src.push("uniform int uLayerNumber;");src.push("uniform vec3 uCoordinateScaler;");src.push("in vec4 vWorldPosition;");src.push("flat in vec4 vPickColor;");if(clipping){src.push("flat in uint vFlags2;");for(var _i352=0,len=scene._sectionPlanesState.getNumAllocatedSectionPlanes();_i352 0u;");src.push(" if (clippable) {");src.push(" float dist = 0.0;");for(var i=0;i 0.0) { discard; }");src.push(" }");}{src.push(" float dx = dFdx(vFragDepth);");src.push(" float dy = dFdy(vFragDepth);");src.push(" float diff = sqrt(dx*dx+dy*dy);");src.push(" gl_FragDepth = isPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth + diff ) * logDepthBufFC * 0.5;");}src.push("outCoords = ivec4(relativeToOriginPosition.xyz * uCoordinateScaler.xyz, - uLayerNumber);");src.push("vec3 xTangent = dFdx( vWorldPosition.xyz );");src.push("vec3 yTangent = dFdy( vWorldPosition.xyz );");src.push("vec3 worldNormal = normalize( cross( xTangent, yTangent ) );");src.push("outNormal = ivec4(worldNormal * float(".concat(math.MAX_INT,"), 1.0);"));src.push("outPickColor = uvec4(vPickColor);");src.push("}");return src;}},{key:"webglContextRestored",value:function webglContextRestored(){this._program=null;}},{key:"destroy",value:function destroy(){if(this._program){this._program.destroy();}this._program=null;}}]);return TrianglesDataTextureSnapDepthBufInitRenderer;}();var tempVec3a$c=math.vec3();var tempVec3b$8=math.vec3();var tempVec3c$7=math.vec3();math.vec3();var tempMat4a$4=math.mat4();/** * @private */var TrianglesDataTextureOcclusionRenderer=/*#__PURE__*/function(){function TrianglesDataTextureOcclusionRenderer(scene){_classCallCheck(this,TrianglesDataTextureOcclusionRenderer);this._scene=scene;this._hash=this._getHash();this._allocate();}_createClass(TrianglesDataTextureOcclusionRenderer,[{key:"getValid",value:function getValid(){return this._hash===this._getHash();}},{key:"_getHash",value:function _getHash(){return this._scene._sectionPlanesState.getHash();}},{key:"drawLayer",value:function drawLayer(frameCtx,dataTextureLayer,renderPass){var model=dataTextureLayer.model;var scene=model.scene;var camera=scene.camera;var gl=scene.canvas.gl;var state=dataTextureLayer._state;var textureState=state.textureState;var origin=dataTextureLayer._state.origin;var position=model.position,rotationMatrix=model.rotationMatrix,rotationMatrixConjugate=model.rotationMatrixConjugate;var viewMatrix=frameCtx.pickViewMatrix||camera.viewMatrix;if(!this._program){this._allocate(dataTextureLayer);if(this.errors){return;}}if(frameCtx.lastProgramId!==this._program.id){frameCtx.lastProgramId=this._program.id;this._bindProgram();}textureState.bindCommonTextures(this._program,this.uTexturePerObjectPositionsDecodeMatrix,this._uTexturePerVertexIdCoordinates,this.uTexturePerObjectColorsAndFlags,this._uTexturePerObjectMatrix);var rtcViewMatrix;var rtcCameraEye;if(origin||position[0]!==0||position[1]!==0||position[2]!==0){var rtcOrigin=tempVec3a$c;if(origin){var rotatedOrigin=tempVec3b$8;math.transformPoint3(rotationMatrix,origin,rotatedOrigin);rtcOrigin[0]=rotatedOrigin[0];rtcOrigin[1]=rotatedOrigin[1];rtcOrigin[2]=rotatedOrigin[2];}else{rtcOrigin[0]=0;rtcOrigin[1]=0;rtcOrigin[2]=0;}rtcOrigin[0]+=position[0];rtcOrigin[1]+=position[1];rtcOrigin[2]+=position[2];rtcViewMatrix=createRTCViewMat(viewMatrix,rtcOrigin,tempMat4a$4);rtcCameraEye=tempVec3c$7;rtcCameraEye[0]=camera.eye[0]-rtcOrigin[0];rtcCameraEye[1]=camera.eye[1]-rtcOrigin[1];rtcCameraEye[2]=camera.eye[2]-rtcOrigin[2];}else{rtcViewMatrix=viewMatrix;rtcCameraEye=camera.eye;}gl.uniform3fv(this._uCameraEyeRtc,rtcCameraEye);gl.uniform1i(this._uRenderPass,renderPass);gl.uniformMatrix4fv(this._uWorldMatrix,false,rotationMatrixConjugate);gl.uniformMatrix4fv(this._uViewMatrix,false,rtcViewMatrix);gl.uniformMatrix4fv(this._uProjMatrix,false,camera.projMatrix);var numAllocatedSectionPlanes=scene._sectionPlanesState.getNumAllocatedSectionPlanes();var numSectionPlanes=scene._sectionPlanesState.sectionPlanes.length;if(numAllocatedSectionPlanes>0){var sectionPlanes=scene._sectionPlanesState.sectionPlanes;var baseIndex=dataTextureLayer.layerIndex*numSectionPlanes;var renderFlags=model.renderFlags;for(var sectionPlaneIndex=0;sectionPlaneIndex0){textureState.bindTriangleIndicesTextures(this._program,this._uTexturePerPolygonIdPortionIds,this._uTexturePerPolygonIdIndices,8// 8 bits indices );gl.drawArrays(gl.TRIANGLES,0,state.numIndices8Bits);}if(state.numIndices16Bits>0){textureState.bindTriangleIndicesTextures(this._program,this._uTexturePerPolygonIdPortionIds,this._uTexturePerPolygonIdIndices,16// 16 bits indices );gl.drawArrays(gl.TRIANGLES,0,state.numIndices16Bits);}if(state.numIndices32Bits>0){textureState.bindTriangleIndicesTextures(this._program,this._uTexturePerPolygonIdPortionIds,this._uTexturePerPolygonIdIndices,32// 32 bits indices -);gl.drawArrays(gl.TRIANGLES,0,state.numIndices32Bits);}frameCtx.drawElements++;}},{key:"_allocate",value:function _allocate(){var scene=this._scene;var gl=scene.canvas.gl;this._program=new Program(gl,this._buildShader());if(this._program.errors){this.errors=this._program.errors;return;}var program=this._program;this._uRenderPass=program.getLocation("renderPass");this._uPickInvisible=program.getLocation("pickInvisible");this._uWorldMatrix=program.getLocation("sceneModelMatrix");this._uViewMatrix=program.getLocation("viewMatrix");this._uProjMatrix=program.getLocation("projMatrix");this._uSectionPlanes=[];for(var _i347=0,len=scene._sectionPlanesState.getNumAllocatedSectionPlanes();_i3470;var src=[];src.push("#version 300 es");src.push("// TrianglesDataTextureOcclusionRenderer vertex shader");src.push("#ifdef GL_FRAGMENT_PRECISION_HIGH");src.push("precision highp float;");src.push("precision highp int;");src.push("precision highp usampler2D;");src.push("precision highp isampler2D;");src.push("precision highp sampler2D;");src.push("#else");src.push("precision mediump float;");src.push("precision mediump int;");src.push("precision mediump usampler2D;");src.push("precision mediump isampler2D;");src.push("precision mediump sampler2D;");src.push("#endif");src.push("uniform int renderPass;");if(scene.entityOffsetsEnabled){src.push("in vec3 offset;");}src.push("uniform mat4 sceneModelMatrix;");src.push("uniform mat4 viewMatrix;");src.push("uniform mat4 projMatrix;");src.push("uniform highp sampler2D uObjectPerObjectPositionsDecodeMatrix;");src.push("uniform highp sampler2D uTexturePerObjectMatrix;");src.push("uniform lowp usampler2D uObjectPerObjectColorsAndFlags;");src.push("uniform mediump usampler2D uTexturePerVertexIdCoordinates;");src.push("uniform highp usampler2D uTexturePerPolygonIdIndices;");src.push("uniform mediump usampler2D uTexturePerPolygonIdPortionIds;");src.push("uniform vec3 uCameraEyeRtc;");src.push("vec3 positions[3];");src.push("bool isPerspectiveMatrix(mat4 m) {");src.push(" return (m[2][3] == - 1.0);");src.push("}");if(clipping){src.push("out vec4 vWorldPosition;");src.push("flat out uint vFlags2;");}src.push("void main(void) {");// constants +);gl.drawArrays(gl.TRIANGLES,0,state.numIndices32Bits);}frameCtx.drawElements++;}},{key:"_allocate",value:function _allocate(){var scene=this._scene;var gl=scene.canvas.gl;this._program=new Program(gl,this._buildShader());if(this._program.errors){this.errors=this._program.errors;return;}var program=this._program;this._uRenderPass=program.getLocation("renderPass");this._uPickInvisible=program.getLocation("pickInvisible");this._uWorldMatrix=program.getLocation("sceneModelMatrix");this._uViewMatrix=program.getLocation("viewMatrix");this._uProjMatrix=program.getLocation("projMatrix");this._uSectionPlanes=[];for(var _i353=0,len=scene._sectionPlanesState.getNumAllocatedSectionPlanes();_i3530;var src=[];src.push("#version 300 es");src.push("// TrianglesDataTextureOcclusionRenderer vertex shader");src.push("#ifdef GL_FRAGMENT_PRECISION_HIGH");src.push("precision highp float;");src.push("precision highp int;");src.push("precision highp usampler2D;");src.push("precision highp isampler2D;");src.push("precision highp sampler2D;");src.push("#else");src.push("precision mediump float;");src.push("precision mediump int;");src.push("precision mediump usampler2D;");src.push("precision mediump isampler2D;");src.push("precision mediump sampler2D;");src.push("#endif");src.push("uniform int renderPass;");if(scene.entityOffsetsEnabled){src.push("in vec3 offset;");}src.push("uniform mat4 sceneModelMatrix;");src.push("uniform mat4 viewMatrix;");src.push("uniform mat4 projMatrix;");src.push("uniform highp sampler2D uObjectPerObjectPositionsDecodeMatrix;");src.push("uniform highp sampler2D uTexturePerObjectMatrix;");src.push("uniform lowp usampler2D uObjectPerObjectColorsAndFlags;");src.push("uniform mediump usampler2D uTexturePerVertexIdCoordinates;");src.push("uniform highp usampler2D uTexturePerPolygonIdIndices;");src.push("uniform mediump usampler2D uTexturePerPolygonIdPortionIds;");src.push("uniform vec3 uCameraEyeRtc;");src.push("vec3 positions[3];");src.push("bool isPerspectiveMatrix(mat4 m) {");src.push(" return (m[2][3] == - 1.0);");src.push("}");if(clipping){src.push("out vec4 vWorldPosition;");src.push("flat out uint vFlags2;");}src.push("void main(void) {");// constants src.push("int polygonIndex = gl_VertexID / 3;");// get packed object-id src.push("int h_packed_object_id_index = (polygonIndex >> 3) & 4095;");src.push("int v_packed_object_id_index = (polygonIndex >> 3) >> 12;");src.push("int objectIndex = int(texelFetch(uTexturePerPolygonIdPortionIds, ivec2(h_packed_object_id_index, v_packed_object_id_index), 0).r);");src.push("ivec2 objectIndexCoords = ivec2(objectIndex % 512, objectIndex / 512);");// get flags & flags2 src.push("uvec4 flags = texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+2, objectIndexCoords.y), 0);");src.push("uvec4 flags2 = texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+3, objectIndexCoords.y), 0);");// flags.x = NOT_RENDERED | COLOR_OPAQUE | COLOR_TRANSPARENT @@ -18708,13 +18720,13 @@ src.push("ivec4 packedVertexBase = ivec4(texelFetch (uObjectPerObjectColorsAndFl src.push("positions[0] = vec3(texelFetch(uTexturePerVertexIdCoordinates, ivec2(indexPositionH.r, indexPositionV.r), 0));");src.push("positions[1] = vec3(texelFetch(uTexturePerVertexIdCoordinates, ivec2(indexPositionH.g, indexPositionV.g), 0));");src.push("positions[2] = vec3(texelFetch(uTexturePerVertexIdCoordinates, ivec2(indexPositionH.b, indexPositionV.b), 0));");// get color src.push("uvec4 color = texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+0, objectIndexCoords.y), 0);");src.push("if (color.a == 0u) {");src.push(" gl_Position = vec4(3.0, 3.0, 3.0, 1.0);");// Cull vertex src.push(" return;");src.push("};");src.push("vec3 normal = normalize(cross(positions[2] - positions[0], positions[1] - positions[0]));");src.push("vec3 position;");src.push("position = positions[gl_VertexID % 3];");// when the geometry is not solid, if needed, flip the triangle winding -src.push("if (solid != 1u) {");src.push(" if (isPerspectiveMatrix(projMatrix)) {");src.push(" vec3 uCameraEyeRtcInQuantizedSpace = (inverse(sceneModelMatrix * objectDecodeAndInstanceMatrix) * vec4(uCameraEyeRtc, 1)).xyz;");src.push(" if (dot(position.xyz - uCameraEyeRtcInQuantizedSpace, normal) < 0.0) {");src.push(" position = positions[2 - (gl_VertexID % 3)];");src.push(" }");src.push(" } else {");src.push(" vec3 viewNormal = -normalize((transpose(inverse(viewMatrix*objectDecodeAndInstanceMatrix)) * vec4(normal,1)).xyz);");src.push(" if (viewNormal.z < 0.0) {");src.push(" position = positions[2 - (gl_VertexID % 3)];");src.push(" }");src.push(" }");src.push("}");src.push("vec4 worldPosition = sceneModelMatrix * (objectDecodeAndInstanceMatrix * vec4(position, 1.0)); ");src.push("vec4 viewPosition = viewMatrix * worldPosition; ");src.push("vec4 clipPos = projMatrix * viewPosition;");if(clipping){src.push("vWorldPosition = worldPosition;");src.push("vFlags2 = flags2.r;");}src.push("gl_Position = clipPos;");src.push(" }");src.push("}");return src;}},{key:"_buildFragmentShader",value:function _buildFragmentShader(){var scene=this._scene;var sectionPlanesState=scene._sectionPlanesState;var clipping=sectionPlanesState.getNumAllocatedSectionPlanes()>0;var src=[];src.push('#version 300 es');src.push("// TrianglesDataTextureColorRenderer fragment shader");src.push("#ifdef GL_FRAGMENT_PRECISION_HIGH");src.push("precision highp float;");src.push("precision highp int;");src.push("#else");src.push("precision mediump float;");src.push("precision mediump int;");src.push("#endif");if(clipping){src.push("in vec4 vWorldPosition;");src.push("flat in uint vFlags2;");for(var _i348=0;_i348 0.0);");src.push(" if (clippable) {");src.push(" float dist = 0.0;");for(var _i349=0;_i349 0.0) { discard; }");src.push(" }");}src.push(" outColor = vec4(0.0, 0.0, 1.0, 1.0); ");// Occluders are blue +src.push("if (solid != 1u) {");src.push(" if (isPerspectiveMatrix(projMatrix)) {");src.push(" vec3 uCameraEyeRtcInQuantizedSpace = (inverse(sceneModelMatrix * objectDecodeAndInstanceMatrix) * vec4(uCameraEyeRtc, 1)).xyz;");src.push(" if (dot(position.xyz - uCameraEyeRtcInQuantizedSpace, normal) < 0.0) {");src.push(" position = positions[2 - (gl_VertexID % 3)];");src.push(" }");src.push(" } else {");src.push(" vec3 viewNormal = -normalize((transpose(inverse(viewMatrix*objectDecodeAndInstanceMatrix)) * vec4(normal,1)).xyz);");src.push(" if (viewNormal.z < 0.0) {");src.push(" position = positions[2 - (gl_VertexID % 3)];");src.push(" }");src.push(" }");src.push("}");src.push("vec4 worldPosition = sceneModelMatrix * (objectDecodeAndInstanceMatrix * vec4(position, 1.0)); ");src.push("vec4 viewPosition = viewMatrix * worldPosition; ");src.push("vec4 clipPos = projMatrix * viewPosition;");if(clipping){src.push("vWorldPosition = worldPosition;");src.push("vFlags2 = flags2.r;");}src.push("gl_Position = clipPos;");src.push(" }");src.push("}");return src;}},{key:"_buildFragmentShader",value:function _buildFragmentShader(){var scene=this._scene;var sectionPlanesState=scene._sectionPlanesState;var clipping=sectionPlanesState.getNumAllocatedSectionPlanes()>0;var src=[];src.push('#version 300 es');src.push("// TrianglesDataTextureColorRenderer fragment shader");src.push("#ifdef GL_FRAGMENT_PRECISION_HIGH");src.push("precision highp float;");src.push("precision highp int;");src.push("#else");src.push("precision mediump float;");src.push("precision mediump int;");src.push("#endif");if(clipping){src.push("in vec4 vWorldPosition;");src.push("flat in uint vFlags2;");for(var _i354=0;_i354 0.0);");src.push(" if (clippable) {");src.push(" float dist = 0.0;");for(var _i355=0;_i355 0.0) { discard; }");src.push(" }");}src.push(" outColor = vec4(0.0, 0.0, 1.0, 1.0); ");// Occluders are blue src.push("}");return src;}},{key:"webglContextRestored",value:function webglContextRestored(){this._program=null;}},{key:"destroy",value:function destroy(){if(this._program){this._program.destroy();}this._program=null;}}]);return TrianglesDataTextureOcclusionRenderer;}();var tempVec3a$b=math.vec3();var tempVec3b$7=math.vec3();var tempVec3c$6=math.vec3();math.vec3();var tempMat4a$3=math.mat4();/** * @private */var TrianglesDataTextureDepthRenderer=/*#__PURE__*/function(){function TrianglesDataTextureDepthRenderer(scene){_classCallCheck(this,TrianglesDataTextureDepthRenderer);this._scene=scene;this._allocate();this._hash=this._getHash();}_createClass(TrianglesDataTextureDepthRenderer,[{key:"getValid",value:function getValid(){return this._hash===this._getHash();}},{key:"_getHash",value:function _getHash(){return this._scene._sectionPlanesState.getHash();}},{key:"drawLayer",value:function drawLayer(frameCtx,dataTextureLayer,renderPass){var scene=this._scene;var camera=scene.camera;var model=dataTextureLayer.model;var gl=scene.canvas.gl;var state=dataTextureLayer._state;var textureState=state.textureState;var origin=dataTextureLayer._state.origin;var position=model.position,rotationMatrix=model.rotationMatrix,rotationMatrixConjugate=model.rotationMatrixConjugate;if(!this._program){this._allocate();if(this.errors){return;}}if(frameCtx.lastProgramId!==this._program.id){frameCtx.lastProgramId=this._program.id;this._bindProgram(frameCtx,state);}textureState.bindCommonTextures(this._program,this.uTexturePerObjectPositionsDecodeMatrix,this._uTexturePerVertexIdCoordinates,this.uTexturePerObjectColorsAndFlags,this._uTexturePerObjectMatrix);var rtcViewMatrix;var rtcCameraEye;var gotOrigin=origin[0]!==0||origin[1]!==0||origin[2]!==0;var gotPosition=position[0]!==0||position[1]!==0||position[2]!==0;if(gotOrigin||gotPosition){var rtcOrigin=tempVec3a$b;if(gotOrigin){var rotatedOrigin=math.transformPoint3(rotationMatrix,origin,tempVec3b$7);rtcOrigin[0]=rotatedOrigin[0];rtcOrigin[1]=rotatedOrigin[1];rtcOrigin[2]=rotatedOrigin[2];}else{rtcOrigin[0]=0;rtcOrigin[1]=0;rtcOrigin[2]=0;}rtcOrigin[0]+=position[0];rtcOrigin[1]+=position[1];rtcOrigin[2]+=position[2];rtcViewMatrix=createRTCViewMat(camera.viewMatrix,rtcOrigin,tempMat4a$3);rtcCameraEye=tempVec3c$6;rtcCameraEye[0]=camera.eye[0]-rtcOrigin[0];rtcCameraEye[1]=camera.eye[1]-rtcOrigin[1];rtcCameraEye[2]=camera.eye[2]-rtcOrigin[2];}else{rtcViewMatrix=camera.viewMatrix;rtcCameraEye=camera.eye;}gl.uniformMatrix4fv(this._uSceneModelMatrix,false,rotationMatrixConjugate);gl.uniformMatrix4fv(this._uViewMatrix,false,rtcViewMatrix);gl.uniformMatrix4fv(this._uProjMatrix,false,camera.projMatrix);gl.uniform3fv(this._uCameraEyeRtc,rtcCameraEye);gl.uniform1i(this._uRenderPass,renderPass);if(scene.logarithmicDepthBufferEnabled){var logDepthBufFC=2.0/(Math.log(frameCtx.pickZFar+1.0)/Math.LN2);gl.uniform1f(this._uLogDepthBufFC,logDepthBufFC);}var numAllocatedSectionPlanes=scene._sectionPlanesState.getNumAllocatedSectionPlanes();var numSectionPlanes=scene._sectionPlanesState.sectionPlanes.length;if(numAllocatedSectionPlanes>0){var sectionPlanes=scene._sectionPlanesState.sectionPlanes;var baseIndex=dataTextureLayer.layerIndex*numSectionPlanes;var renderFlags=model.renderFlags;for(var sectionPlaneIndex=0;sectionPlaneIndex0){textureState.bindTriangleIndicesTextures(this._program,this._uTexturePerPolygonIdPortionIds,this._uTexturePerPolygonIdIndices,8// 8 bits indices );gl.drawArrays(gl.TRIANGLES,0,state.numIndices8Bits);}if(state.numIndices16Bits>0){textureState.bindTriangleIndicesTextures(this._program,this._uTexturePerPolygonIdPortionIds,this._uTexturePerPolygonIdIndices,16// 16 bits indices );gl.drawArrays(gl.TRIANGLES,0,state.numIndices16Bits);}if(state.numIndices32Bits>0){textureState.bindTriangleIndicesTextures(this._program,this._uTexturePerPolygonIdPortionIds,this._uTexturePerPolygonIdIndices,32// 32 bits indices -);gl.drawArrays(gl.TRIANGLES,0,state.numIndices32Bits);}frameCtx.drawElements++;}},{key:"_allocate",value:function _allocate(){var scene=this._scene;var gl=scene.canvas.gl;this._program=new Program(gl,this._buildShader());if(this._program.errors){this.errors=this._program.errors;return;}var program=this._program;this._uRenderPass=program.getLocation("renderPass");this._uPositionsDecodeMatrix=program.getLocation("objectDecodeAndInstanceMatrix");this._uSceneModelMatrix=program.getLocation("sceneModelMatrix");this._uViewMatrix=program.getLocation("viewMatrix");this._uProjMatrix=program.getLocation("projMatrix");this._uSectionPlanes=[];for(var _i350=0,len=scene._sectionPlanesState.getNumAllocatedSectionPlanes();_i3500;var src=[];src.push("#version 300 es");src.push("// Triangles dataTexture draw vertex shader");src.push("#ifdef GL_FRAGMENT_PRECISION_HIGH");src.push("precision highp float;");src.push("precision highp int;");src.push("precision highp usampler2D;");src.push("precision highp isampler2D;");src.push("precision highp sampler2D;");src.push("#else");src.push("precision mediump float;");src.push("precision mediump int;");src.push("precision mediump usampler2D;");src.push("precision mediump isampler2D;");src.push("precision mediump sampler2D;");src.push("#endif");src.push("uniform int renderPass;");if(scene.entityOffsetsEnabled){src.push("in vec3 offset;");}src.push("uniform mat4 sceneModelMatrix;");src.push("uniform mat4 viewMatrix;");src.push("uniform mat4 projMatrix;");src.push("uniform highp sampler2D uObjectPerObjectPositionsDecodeMatrix;");src.push("uniform highp sampler2D uTexturePerObjectMatrix;");src.push("uniform lowp usampler2D uObjectPerObjectColorsAndFlags;");src.push("uniform mediump usampler2D uTexturePerVertexIdCoordinates;");src.push("uniform highp usampler2D uTexturePerPolygonIdIndices;");src.push("uniform mediump usampler2D uTexturePerPolygonIdPortionIds;");src.push("uniform vec3 uCameraEyeRtc;");src.push("vec3 positions[3];");if(scene.logarithmicDepthBufferEnabled){src.push("uniform float logDepthBufFC;");src.push("out float vFragDepth;");src.push("out float isPerspective;");}src.push("bool isPerspectiveMatrix(mat4 m) {");src.push(" return (m[2][3] == - 1.0);");src.push("}");src.push("out highp vec2 vHighPrecisionZW;");if(clipping){src.push("out vec4 vWorldPosition;");src.push("flat out uint vFlags2;");}src.push("void main(void) {");// constants +);gl.drawArrays(gl.TRIANGLES,0,state.numIndices32Bits);}frameCtx.drawElements++;}},{key:"_allocate",value:function _allocate(){var scene=this._scene;var gl=scene.canvas.gl;this._program=new Program(gl,this._buildShader());if(this._program.errors){this.errors=this._program.errors;return;}var program=this._program;this._uRenderPass=program.getLocation("renderPass");this._uPositionsDecodeMatrix=program.getLocation("objectDecodeAndInstanceMatrix");this._uSceneModelMatrix=program.getLocation("sceneModelMatrix");this._uViewMatrix=program.getLocation("viewMatrix");this._uProjMatrix=program.getLocation("projMatrix");this._uSectionPlanes=[];for(var _i356=0,len=scene._sectionPlanesState.getNumAllocatedSectionPlanes();_i3560;var src=[];src.push("#version 300 es");src.push("// Triangles dataTexture draw vertex shader");src.push("#ifdef GL_FRAGMENT_PRECISION_HIGH");src.push("precision highp float;");src.push("precision highp int;");src.push("precision highp usampler2D;");src.push("precision highp isampler2D;");src.push("precision highp sampler2D;");src.push("#else");src.push("precision mediump float;");src.push("precision mediump int;");src.push("precision mediump usampler2D;");src.push("precision mediump isampler2D;");src.push("precision mediump sampler2D;");src.push("#endif");src.push("uniform int renderPass;");if(scene.entityOffsetsEnabled){src.push("in vec3 offset;");}src.push("uniform mat4 sceneModelMatrix;");src.push("uniform mat4 viewMatrix;");src.push("uniform mat4 projMatrix;");src.push("uniform highp sampler2D uObjectPerObjectPositionsDecodeMatrix;");src.push("uniform highp sampler2D uTexturePerObjectMatrix;");src.push("uniform lowp usampler2D uObjectPerObjectColorsAndFlags;");src.push("uniform mediump usampler2D uTexturePerVertexIdCoordinates;");src.push("uniform highp usampler2D uTexturePerPolygonIdIndices;");src.push("uniform mediump usampler2D uTexturePerPolygonIdPortionIds;");src.push("uniform vec3 uCameraEyeRtc;");src.push("vec3 positions[3];");if(scene.logarithmicDepthBufferEnabled){src.push("uniform float logDepthBufFC;");src.push("out float vFragDepth;");src.push("out float isPerspective;");}src.push("bool isPerspectiveMatrix(mat4 m) {");src.push(" return (m[2][3] == - 1.0);");src.push("}");src.push("out highp vec2 vHighPrecisionZW;");if(clipping){src.push("out vec4 vWorldPosition;");src.push("flat out uint vFlags2;");}src.push("void main(void) {");// constants src.push("int polygonIndex = gl_VertexID / 3;");// get packed object-id src.push("int h_packed_object_id_index = (polygonIndex >> 3) & 4095;");src.push("int v_packed_object_id_index = (polygonIndex >> 3) >> 12;");src.push("int objectIndex = int(texelFetch(uTexturePerPolygonIdPortionIds, ivec2(h_packed_object_id_index, v_packed_object_id_index), 0).r);");src.push("ivec2 objectIndexCoords = ivec2(objectIndex % 512, objectIndex / 512);");// get flags & flags2 src.push("uvec4 flags = texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+2, objectIndexCoords.y), 0);");src.push("uvec4 flags2 = texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+3, objectIndexCoords.y), 0);");// flags.x = NOT_RENDERED | COLOR_OPAQUE | COLOR_TRANSPARENT @@ -18727,21 +18739,21 @@ src.push("positions[0] = vec3(texelFetch(uTexturePerVertexIdCoordinates, ivec2(i src.push("uvec4 color = texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+0, objectIndexCoords.y), 0);");src.push("if (color.a == 0u) {");src.push(" gl_Position = vec4(3.0, 3.0, 3.0, 1.0);");// Cull vertex src.push(" return;");src.push("};");// get normal src.push("vec3 normal = normalize(cross(positions[2] - positions[0], positions[1] - positions[0]));");src.push("vec3 position;");src.push("position = positions[gl_VertexID % 3];");src.push("vec3 viewNormal = -normalize((transpose(inverse(viewMatrix*objectDecodeAndInstanceMatrix)) * vec4(normal,1)).xyz);");// when the geometry is not solid, if needed, flip the triangle winding -src.push("if (solid != 1u) {");src.push("if (isPerspectiveMatrix(projMatrix)) {");src.push("vec3 uCameraEyeRtcInQuantizedSpace = (inverse(sceneModelMatrix * objectDecodeAndInstanceMatrix) * vec4(uCameraEyeRtc, 1)).xyz;");src.push("if (dot(position.xyz - uCameraEyeRtcInQuantizedSpace, normal) < 0.0) {");src.push("position = positions[2 - (gl_VertexID % 3)];");src.push("viewNormal = -viewNormal;");src.push("}");src.push("} else {");src.push("if (viewNormal.z < 0.0) {");src.push("position = positions[2 - (gl_VertexID % 3)];");src.push("viewNormal = -viewNormal;");src.push("}");src.push("}");src.push("}");src.push("vec4 worldPosition = sceneModelMatrix * (objectDecodeAndInstanceMatrix * vec4(position, 1.0)); ");src.push("vec4 viewPosition = viewMatrix * worldPosition; ");src.push("vec4 clipPos = projMatrix * viewPosition;");if(scene.logarithmicDepthBufferEnabled){src.push("vFragDepth = 1.0 + clipPos.w;");src.push("isPerspective = float (isPerspectiveMatrix(projMatrix));");}if(clipping){src.push("vWorldPosition = worldPosition;");src.push("vFlags2 = flags2.r;");}src.push("gl_Position = clipPos;");src.push("vHighPrecisionZW = gl_Position.zw;");src.push("}");src.push("}");return src;}},{key:"_buildFragmentShader",value:function _buildFragmentShader(){var scene=this._scene;var clipping=scene._sectionPlanesState.getNumAllocatedSectionPlanes()>0;var src=[];src.push('#version 300 es');src.push("// Triangles dataTexture draw fragment shader");src.push("#ifdef GL_FRAGMENT_PRECISION_HIGH");src.push("precision highp float;");src.push("precision highp int;");src.push("#else");src.push("precision mediump float;");src.push("precision mediump int;");src.push("#endif");src.push("in highp vec2 vHighPrecisionZW;");src.push("out vec4 outColor;");if(scene.logarithmicDepthBufferEnabled){src.push("in float isPerspective;");src.push("uniform float logDepthBufFC;");src.push("in float vFragDepth;");}if(clipping){src.push("in vec4 vWorldPosition;");src.push("flat in uint vFlags2;");for(var _i351=0,len=scene._sectionPlanesState.getNumAllocatedSectionPlanes();_i351 0u;");src.push(" if (clippable) {");src.push(" float dist = 0.0;");for(var _i352=0,_len83=scene._sectionPlanesState.getNumAllocatedSectionPlanes();_i352<_len83;_i352++){src.push("if (sectionPlaneActive"+_i352+") {");src.push(" dist += clamp(dot(-sectionPlaneDir"+_i352+".xyz, vWorldPosition.xyz - sectionPlanePos"+_i352+".xyz), 0.0, 1000.0);");src.push("}");}src.push(" if (dist > 0.0) { ");src.push(" discard;");src.push(" }");src.push("}");}if(scene.logarithmicDepthBufferEnabled){src.push(" gl_FragDepth = isPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5;");//src.push(" gl_FragDepth = log2( vFragDepth ) * logDepthBufFC * 0.5;"); +src.push("if (solid != 1u) {");src.push("if (isPerspectiveMatrix(projMatrix)) {");src.push("vec3 uCameraEyeRtcInQuantizedSpace = (inverse(sceneModelMatrix * objectDecodeAndInstanceMatrix) * vec4(uCameraEyeRtc, 1)).xyz;");src.push("if (dot(position.xyz - uCameraEyeRtcInQuantizedSpace, normal) < 0.0) {");src.push("position = positions[2 - (gl_VertexID % 3)];");src.push("viewNormal = -viewNormal;");src.push("}");src.push("} else {");src.push("if (viewNormal.z < 0.0) {");src.push("position = positions[2 - (gl_VertexID % 3)];");src.push("viewNormal = -viewNormal;");src.push("}");src.push("}");src.push("}");src.push("vec4 worldPosition = sceneModelMatrix * (objectDecodeAndInstanceMatrix * vec4(position, 1.0)); ");src.push("vec4 viewPosition = viewMatrix * worldPosition; ");src.push("vec4 clipPos = projMatrix * viewPosition;");if(scene.logarithmicDepthBufferEnabled){src.push("vFragDepth = 1.0 + clipPos.w;");src.push("isPerspective = float (isPerspectiveMatrix(projMatrix));");}if(clipping){src.push("vWorldPosition = worldPosition;");src.push("vFlags2 = flags2.r;");}src.push("gl_Position = clipPos;");src.push("vHighPrecisionZW = gl_Position.zw;");src.push("}");src.push("}");return src;}},{key:"_buildFragmentShader",value:function _buildFragmentShader(){var scene=this._scene;var clipping=scene._sectionPlanesState.getNumAllocatedSectionPlanes()>0;var src=[];src.push('#version 300 es');src.push("// Triangles dataTexture draw fragment shader");src.push("#ifdef GL_FRAGMENT_PRECISION_HIGH");src.push("precision highp float;");src.push("precision highp int;");src.push("#else");src.push("precision mediump float;");src.push("precision mediump int;");src.push("#endif");src.push("in highp vec2 vHighPrecisionZW;");src.push("out vec4 outColor;");if(scene.logarithmicDepthBufferEnabled){src.push("in float isPerspective;");src.push("uniform float logDepthBufFC;");src.push("in float vFragDepth;");}if(clipping){src.push("in vec4 vWorldPosition;");src.push("flat in uint vFlags2;");for(var _i357=0,len=scene._sectionPlanesState.getNumAllocatedSectionPlanes();_i357 0u;");src.push(" if (clippable) {");src.push(" float dist = 0.0;");for(var _i358=0,_len83=scene._sectionPlanesState.getNumAllocatedSectionPlanes();_i358<_len83;_i358++){src.push("if (sectionPlaneActive"+_i358+") {");src.push(" dist += clamp(dot(-sectionPlaneDir"+_i358+".xyz, vWorldPosition.xyz - sectionPlanePos"+_i358+".xyz), 0.0, 1000.0);");src.push("}");}src.push(" if (dist > 0.0) { ");src.push(" discard;");src.push(" }");src.push("}");}if(scene.logarithmicDepthBufferEnabled){src.push(" gl_FragDepth = isPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5;");//src.push(" gl_FragDepth = log2( vFragDepth ) * logDepthBufFC * 0.5;"); }src.push("float fragCoordZ = 0.5 * vHighPrecisionZW[0] / vHighPrecisionZW[1] + 0.5;");src.push(" outColor = vec4(vec3(1.0 - fragCoordZ), 1.0); ");src.push("}");return src;}},{key:"webglContextRestored",value:function webglContextRestored(){this._program=null;}},{key:"destroy",value:function destroy(){if(this._program){this._program.destroy();}this._program=null;}}]);return TrianglesDataTextureDepthRenderer;}();var tempVec3a$a=math.vec3();var tempVec3b$6=math.vec3();var tempVec3c$5=math.vec3();math.vec3();var tempMat4a$2=math.mat4();/** * @private */var TrianglesDataTextureNormalsRenderer=/*#__PURE__*/function(){function TrianglesDataTextureNormalsRenderer(scene){_classCallCheck(this,TrianglesDataTextureNormalsRenderer);this._scene=scene;this._hash=this._getHash();this._allocate();}_createClass(TrianglesDataTextureNormalsRenderer,[{key:"getValid",value:function getValid(){return this._hash===this._getHash();}},{key:"_getHash",value:function _getHash(){return this._scene._sectionPlanesState.getHash();}},{key:"drawLayer",value:function drawLayer(frameCtx,dataTextureLayer,renderPass){var model=dataTextureLayer.model;var scene=model.scene;var camera=scene.camera;var gl=scene.canvas.gl;var state=dataTextureLayer._state;var origin=dataTextureLayer._state.origin;var position=model.position,rotationMatrix=model.rotationMatrix,rotationMatrixConjugate=model.rotationMatrixConjugate;var viewMatrix=camera.viewMatrix;if(!this._program){this._allocate(dataTextureLayer);if(this.errors){return;}}if(frameCtx.lastProgramId!==this._program.id){frameCtx.lastProgramId=this._program.id;this._bindProgram(dataTextureLayer);}var rtcViewMatrix;var rtcCameraEye;var gotOrigin=origin[0]!==0||origin[1]!==0||origin[2]!==0;var gotPosition=position[0]!==0||position[1]!==0||position[2]!==0;if(gotOrigin||gotPosition){var rtcOrigin=tempVec3a$a;if(gotOrigin){var rotatedOrigin=tempVec3b$6;math.transformPoint3(rotationMatrix,origin,rotatedOrigin);rtcOrigin[0]=rotatedOrigin[0];rtcOrigin[1]=rotatedOrigin[1];rtcOrigin[2]=rotatedOrigin[2];}else{rtcOrigin[0]=0;rtcOrigin[1]=0;rtcOrigin[2]=0;}rtcOrigin[0]+=position[0];rtcOrigin[1]+=position[1];rtcOrigin[2]+=position[2];rtcViewMatrix=createRTCViewMat(viewMatrix,rtcOrigin,tempMat4a$2);rtcCameraEye=tempVec3c$5;rtcCameraEye[0]=camera.eye[0]-rtcOrigin[0];rtcCameraEye[1]=camera.eye[1]-rtcOrigin[1];rtcCameraEye[2]=camera.eye[2]-rtcOrigin[2];}else{rtcViewMatrix=viewMatrix;rtcCameraEye=camera.eye;}gl.uniform1i(this._uRenderPass,renderPass);gl.uniformMatrix4fv(this._uWorldMatrix,false,rotationMatrixConjugate);gl.uniformMatrix4fv(this._uViewMatrix,false,rtcViewMatrix);gl.uniformMatrix4fv(this._uProjMatrix,false,camera.projMatrix);gl.uniformMatrix4fv(this._uViewNormalMatrix,false,camera.viewNormalMatrix);gl.uniformMatrix4fv(this._uWorldNormalMatrix,false,model.worldNormalMatrix);var numAllocatedSectionPlanes=scene._sectionPlanesState.getNumAllocatedSectionPlanes();var numSectionPlanes=scene._sectionPlanesState.sectionPlanes.length;if(numAllocatedSectionPlanes>0){var sectionPlanes=scene._sectionPlanesState.sectionPlanes;var baseIndex=dataTextureLayer.layerIndex*numSectionPlanes;var renderFlags=model.renderFlags;for(var sectionPlaneIndex=0;sectionPlaneIndex0;var src=[];src.push("// Batched geometry normals vertex shader");if(scene.logarithmicDepthBufferEnabled&&WEBGL_INFO.SUPPORTED_EXTENSIONS["EXT_frag_depth"]){src.push("#extension GL_EXT_frag_depth : enable");}src.push("uniform int renderPass;");src.push("attribute vec3 position;");if(scene.entityOffsetsEnabled){src.push("attribute vec3 offset;");}src.push("attribute vec3 normal;");src.push("attribute vec4 color;");src.push("attribute vec4 flags;");src.push("attribute vec4 flags2;");src.push("uniform mat4 worldMatrix;");src.push("uniform mat4 worldNormalMatrix;");src.push("uniform mat4 viewMatrix;");src.push("uniform mat4 projMatrix;");src.push("uniform mat4 viewNormalMatrix;");src.push("uniform mat4 objectDecodeAndInstanceMatrix;");if(scene.logarithmicDepthBufferEnabled){src.push("uniform float logDepthBufFC;");if(WEBGL_INFO.SUPPORTED_EXTENSIONS["EXT_frag_depth"]){src.push("out float vFragDepth;");}src.push("bool isPerspectiveMatrix(mat4 m) {");src.push(" return (m[2][3] == - 1.0);");src.push("}");src.push("varying float isPerspective;");}src.push("vec3 octDecode(vec2 oct) {");src.push(" vec3 v = vec3(oct.xy, 1.0 - abs(oct.x) - abs(oct.y));");src.push(" if (v.z < 0.0) {");src.push(" v.xy = (1.0 - abs(v.yx)) * vec2(v.x >= 0.0 ? 1.0 : -1.0, v.y >= 0.0 ? 1.0 : -1.0);");src.push(" }");src.push(" return normalize(v);");src.push("}");if(clipping){src.push("out vec4 vWorldPosition;");src.push("out vec4 vFlags2;");}src.push("out vec3 vViewNormal;");src.push("void main(void) {");// flags.x = NOT_RENDERED | COLOR_OPAQUE | COLOR_TRANSPARENT // renderPass = COLOR_OPAQUE -src.push("if (int(flags.x) != renderPass) {");src.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);");src.push(" } else {");src.push(" vec4 worldPosition = worldMatrix * (objectDecodeAndInstanceMatrix * vec4(position, 1.0)); ");if(scene.entityOffsetsEnabled){src.push(" worldPosition.xyz = worldPosition.xyz + offset;");}src.push(" vec4 viewPosition = viewMatrix * worldPosition; ");src.push(" vec4 worldNormal = worldNormalMatrix * vec4(octDecode(normal.xy), 0.0); ");src.push(" vec3 viewNormal = normalize((viewNormalMatrix * worldNormal).xyz);");if(clipping){src.push(" vWorldPosition = worldPosition;");src.push(" vFlags2 = flags2;");}src.push(" vViewNormal = viewNormal;");src.push("vec4 clipPos = projMatrix * viewPosition;");if(scene.logarithmicDepthBufferEnabled){if(WEBGL_INFO.SUPPORTED_EXTENSIONS["EXT_frag_depth"]){src.push("vFragDepth = 1.0 + clipPos.w;");}else{src.push("clipPos.z = log2( max( 1e-6, clipPos.w + 1.0 ) ) * logDepthBufFC - 1.0;");src.push("clipPos.z *= clipPos.w;");}src.push("isPerspective = float (isPerspectiveMatrix(projMatrix));");}src.push("gl_Position = clipPos;");src.push(" }");src.push("}");return src;}},{key:"_buildFragmentShader",value:function _buildFragmentShader(){var scene=this._scene;var clipping=scene._sectionPlanesState.getNumAllocatedSectionPlanes()>0;var src=[];src.push("#version 300 es");src.push("// Batched geometry normals fragment shader");if(scene.logarithmicDepthBufferEnabled&&WEBGL_INFO.SUPPORTED_EXTENSIONS["EXT_frag_depth"]){src.push("#extension GL_EXT_frag_depth : enable");}src.push("#ifdef GL_FRAGMENT_PRECISION_HIGH");src.push("precision highp float;");src.push("precision highp int;");src.push("#else");src.push("precision mediump float;");src.push("precision mediump int;");src.push("#endif");if(scene.logarithmicDepthBufferEnabled&&WEBGL_INFO.SUPPORTED_EXTENSIONS["EXT_frag_depth"]){src.push("in float isPerspective;");src.push("uniform float logDepthBufFC;");src.push("in float vFragDepth;");}if(clipping){src.push("in vec4 vWorldPosition;");src.push("in vec4 vFlags2;");for(var _i354=0;_i354 0.0);");src.push(" if (clippable) {");src.push(" float dist = 0.0;");for(var i=0;i 0.0) { discard; }");src.push(" }");}if(scene.logarithmicDepthBufferEnabled&&WEBGL_INFO.SUPPORTED_EXTENSIONS["EXT_frag_depth"]){src.push(" gl_FragDepthEXT = isPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5;");}src.push(" gl_FragColor = vec4(packNormalToRGB(vViewNormal), 1.0); ");src.push("}");return src;}},{key:"webglContextRestored",value:function webglContextRestored(){this._program=null;}},{key:"destroy",value:function destroy(){if(this._program){this._program.destroy();}this._program=null;}}]);return TrianglesDataTextureNormalsRenderer;}();var tempVec3a$9=math.vec3();var tempVec3b$5=math.vec3();var tempVec3c$4=math.vec3();math.vec3();math.vec4();var tempMat4a$1=math.mat4();/** +src.push("if (int(flags.x) != renderPass) {");src.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);");src.push(" } else {");src.push(" vec4 worldPosition = worldMatrix * (objectDecodeAndInstanceMatrix * vec4(position, 1.0)); ");if(scene.entityOffsetsEnabled){src.push(" worldPosition.xyz = worldPosition.xyz + offset;");}src.push(" vec4 viewPosition = viewMatrix * worldPosition; ");src.push(" vec4 worldNormal = worldNormalMatrix * vec4(octDecode(normal.xy), 0.0); ");src.push(" vec3 viewNormal = normalize((viewNormalMatrix * worldNormal).xyz);");if(clipping){src.push(" vWorldPosition = worldPosition;");src.push(" vFlags2 = flags2;");}src.push(" vViewNormal = viewNormal;");src.push("vec4 clipPos = projMatrix * viewPosition;");if(scene.logarithmicDepthBufferEnabled){if(WEBGL_INFO.SUPPORTED_EXTENSIONS["EXT_frag_depth"]){src.push("vFragDepth = 1.0 + clipPos.w;");}else{src.push("clipPos.z = log2( max( 1e-6, clipPos.w + 1.0 ) ) * logDepthBufFC - 1.0;");src.push("clipPos.z *= clipPos.w;");}src.push("isPerspective = float (isPerspectiveMatrix(projMatrix));");}src.push("gl_Position = clipPos;");src.push(" }");src.push("}");return src;}},{key:"_buildFragmentShader",value:function _buildFragmentShader(){var scene=this._scene;var clipping=scene._sectionPlanesState.getNumAllocatedSectionPlanes()>0;var src=[];src.push("#version 300 es");src.push("// Batched geometry normals fragment shader");if(scene.logarithmicDepthBufferEnabled&&WEBGL_INFO.SUPPORTED_EXTENSIONS["EXT_frag_depth"]){src.push("#extension GL_EXT_frag_depth : enable");}src.push("#ifdef GL_FRAGMENT_PRECISION_HIGH");src.push("precision highp float;");src.push("precision highp int;");src.push("#else");src.push("precision mediump float;");src.push("precision mediump int;");src.push("#endif");if(scene.logarithmicDepthBufferEnabled&&WEBGL_INFO.SUPPORTED_EXTENSIONS["EXT_frag_depth"]){src.push("in float isPerspective;");src.push("uniform float logDepthBufFC;");src.push("in float vFragDepth;");}if(clipping){src.push("in vec4 vWorldPosition;");src.push("in vec4 vFlags2;");for(var _i360=0;_i360 0.0);");src.push(" if (clippable) {");src.push(" float dist = 0.0;");for(var i=0;i 0.0) { discard; }");src.push(" }");}if(scene.logarithmicDepthBufferEnabled&&WEBGL_INFO.SUPPORTED_EXTENSIONS["EXT_frag_depth"]){src.push(" gl_FragDepthEXT = isPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5;");}src.push(" gl_FragColor = vec4(packNormalToRGB(vViewNormal), 1.0); ");src.push("}");return src;}},{key:"webglContextRestored",value:function webglContextRestored(){this._program=null;}},{key:"destroy",value:function destroy(){if(this._program){this._program.destroy();}this._program=null;}}]);return TrianglesDataTextureNormalsRenderer;}();var tempVec3a$9=math.vec3();var tempVec3b$5=math.vec3();var tempVec3c$4=math.vec3();math.vec3();math.vec4();var tempMat4a$1=math.mat4();/** * @private */var TrianglesDataTexturePickNormalsFlatRenderer=/*#__PURE__*/function(){function TrianglesDataTexturePickNormalsFlatRenderer(scene,withSAO){_classCallCheck(this,TrianglesDataTexturePickNormalsFlatRenderer);this._scene=scene;this._withSAO=withSAO;this._hash=this._getHash();this._allocate();}_createClass(TrianglesDataTexturePickNormalsFlatRenderer,[{key:"getValid",value:function getValid(){return this._hash===this._getHash();}},{key:"_getHash",value:function _getHash(){var scene=this._scene;return[scene._lightsState.getHash(),scene._sectionPlanesState.getHash(),this._withSAO?"sao":"nosao"].join(";");}},{key:"drawLayer",value:function drawLayer(frameCtx,dataTextureLayer,renderPass){var scene=this._scene;var camera=scene.camera;var model=dataTextureLayer.model;var gl=scene.canvas.gl;var state=dataTextureLayer._state;var textureState=state.textureState;var origin=dataTextureLayer._state.origin;var position=model.position,rotationMatrix=model.rotationMatrix,rotationMatrixConjugate=model.rotationMatrixConjugate;if(!this._program){this._allocate();if(this.errors){return;}}if(frameCtx.lastProgramId!==this._program.id){frameCtx.lastProgramId=this._program.id;this._bindProgram(frameCtx,state);}textureState.bindCommonTextures(this._program,this.uTexturePerObjectPositionsDecodeMatrix,this._uTexturePerVertexIdCoordinates,this.uTexturePerObjectColorsAndFlags,this._uTexturePerObjectMatrix);var rtcViewMatrix;var rtcCameraEye;var gotOrigin=origin[0]!==0||origin[1]!==0||origin[2]!==0;var gotPosition=position[0]!==0||position[1]!==0||position[2]!==0;if(gotOrigin||gotPosition){var rtcOrigin=tempVec3a$9;if(gotOrigin){var rotatedOrigin=math.transformPoint3(rotationMatrix,origin,tempVec3b$5);rtcOrigin[0]=rotatedOrigin[0];rtcOrigin[1]=rotatedOrigin[1];rtcOrigin[2]=rotatedOrigin[2];}else{rtcOrigin[0]=0;rtcOrigin[1]=0;rtcOrigin[2]=0;}rtcOrigin[0]+=position[0];rtcOrigin[1]+=position[1];rtcOrigin[2]+=position[2];rtcViewMatrix=createRTCViewMat(camera.viewMatrix,rtcOrigin,tempMat4a$1);rtcCameraEye=tempVec3c$4;rtcCameraEye[0]=camera.eye[0]-rtcOrigin[0];rtcCameraEye[1]=camera.eye[1]-rtcOrigin[1];rtcCameraEye[2]=camera.eye[2]-rtcOrigin[2];}else{rtcViewMatrix=camera.viewMatrix;// TODO: make pickMatrix rtcCameraEye=camera.eye;}gl.uniform2fv(this._uPickClipPos,frameCtx.pickClipPos);gl.uniform2f(this._uDrawingBufferSize,gl.drawingBufferWidth,gl.drawingBufferHeight);gl.uniformMatrix4fv(this._uSceneModelMatrix,false,rotationMatrixConjugate);gl.uniformMatrix4fv(this._uViewMatrix,false,rtcViewMatrix);gl.uniformMatrix4fv(this._uProjMatrix,false,camera.projMatrix);// TODO: pickProjMatrix gl.uniform3fv(this._uCameraEyeRtc,rtcCameraEye);gl.uniform1i(this._uRenderPass,renderPass);if(scene.logarithmicDepthBufferEnabled){var logDepthBufFC=2.0/(Math.log(frameCtx.pickZFar+1.0)/Math.LN2);gl.uniform1f(this._uLogDepthBufFC,logDepthBufFC);}var numAllocatedSectionPlanes=scene._sectionPlanesState.getNumAllocatedSectionPlanes();var numSectionPlanes=scene._sectionPlanesState.sectionPlanes.length;if(numAllocatedSectionPlanes>0){var sectionPlanes=scene._sectionPlanesState.sectionPlanes;var baseIndex=dataTextureLayer.layerIndex*numSectionPlanes;var renderFlags=model.renderFlags;for(var sectionPlaneIndex=0;sectionPlaneIndex0){textureState.bindTriangleIndicesTextures(this._program,this._uTexturePerPolygonIdPortionIds,this._uTexturePerPolygonIdIndices,8// 8 bits indices );gl.drawArrays(gl.TRIANGLES,0,state.numIndices8Bits);}if(state.numIndices16Bits>0){textureState.bindTriangleIndicesTextures(this._program,this._uTexturePerPolygonIdPortionIds,this._uTexturePerPolygonIdIndices,16// 16 bits indices );gl.drawArrays(gl.TRIANGLES,0,state.numIndices16Bits);}if(state.numIndices32Bits>0){textureState.bindTriangleIndicesTextures(this._program,this._uTexturePerPolygonIdPortionIds,this._uTexturePerPolygonIdIndices,32// 32 bits indices -);gl.drawArrays(gl.TRIANGLES,0,state.numIndices32Bits);}frameCtx.drawElements++;}},{key:"_allocate",value:function _allocate(){var scene=this._scene;var gl=scene.canvas.gl;this._program=new Program(gl,this._buildShader());if(this._program.errors){this.errors=this._program.errors;return;}var program=this._program;this._uRenderPass=program.getLocation("renderPass");this._uPickInvisible=program.getLocation("pickInvisible");this._uPickClipPos=program.getLocation("pickClipPos");this._uDrawingBufferSize=program.getLocation("drawingBufferSize");this._uSceneModelMatrix=program.getLocation("sceneModelMatrix");this._uViewMatrix=program.getLocation("viewMatrix");this._uProjMatrix=program.getLocation("projMatrix");this._uSectionPlanes=[];for(var _i355=0,len=scene._sectionPlanesState.getNumAllocatedSectionPlanes();_i3550;var src=[];src.push("#version 300 es");src.push("// trianglesDatatextureNormalsRenderer vertex shader");src.push("#ifdef GL_FRAGMENT_PRECISION_HIGH");src.push("precision highp float;");src.push("precision highp int;");src.push("precision highp usampler2D;");src.push("precision highp isampler2D;");src.push("precision highp sampler2D;");src.push("#else");src.push("precision mediump float;");src.push("precision mediump int;");src.push("precision mediump usampler2D;");src.push("precision mediump isampler2D;");src.push("precision mediump sampler2D;");src.push("#endif");src.push("uniform int renderPass;");if(scene.entityOffsetsEnabled){src.push("in vec3 offset;");}src.push("uniform mat4 sceneModelMatrix;");src.push("uniform mat4 viewMatrix;");src.push("uniform mat4 projMatrix;");src.push("uniform highp sampler2D uObjectPerObjectPositionsDecodeMatrix;");src.push("uniform lowp usampler2D uObjectPerObjectColorsAndFlags;");src.push("uniform highp sampler2D uTexturePerObjectMatrix;");src.push("uniform mediump usampler2D uTexturePerVertexIdCoordinates;");src.push("uniform highp usampler2D uTexturePerPolygonIdIndices;");src.push("uniform mediump usampler2D uTexturePerPolygonIdPortionIds;");src.push("uniform vec3 uCameraEyeRtc;");src.push("vec3 positions[3];");if(scene.logarithmicDepthBufferEnabled){src.push("uniform float logDepthBufFC;");src.push("out float vFragDepth;");src.push("out float isPerspective;");}src.push("uniform vec2 pickClipPos;");src.push("uniform vec2 drawingBufferSize;");src.push("vec4 remapClipPos(vec4 clipPos) {");src.push(" clipPos.xy /= clipPos.w;");src.push(" clipPos.xy = (clipPos.xy - pickClipPos) * drawingBufferSize;");src.push(" clipPos.xy *= clipPos.w;");src.push(" return clipPos;");src.push("}");src.push("bool isPerspectiveMatrix(mat4 m) {");src.push(" return (m[2][3] == - 1.0);");src.push("}");src.push("out vec4 vWorldPosition;");if(clipping){src.push("flat out uint vFlags2;");}src.push("void main(void) {");// constants +);gl.drawArrays(gl.TRIANGLES,0,state.numIndices32Bits);}frameCtx.drawElements++;}},{key:"_allocate",value:function _allocate(){var scene=this._scene;var gl=scene.canvas.gl;this._program=new Program(gl,this._buildShader());if(this._program.errors){this.errors=this._program.errors;return;}var program=this._program;this._uRenderPass=program.getLocation("renderPass");this._uPickInvisible=program.getLocation("pickInvisible");this._uPickClipPos=program.getLocation("pickClipPos");this._uDrawingBufferSize=program.getLocation("drawingBufferSize");this._uSceneModelMatrix=program.getLocation("sceneModelMatrix");this._uViewMatrix=program.getLocation("viewMatrix");this._uProjMatrix=program.getLocation("projMatrix");this._uSectionPlanes=[];for(var _i361=0,len=scene._sectionPlanesState.getNumAllocatedSectionPlanes();_i3610;var src=[];src.push("#version 300 es");src.push("// trianglesDatatextureNormalsRenderer vertex shader");src.push("#ifdef GL_FRAGMENT_PRECISION_HIGH");src.push("precision highp float;");src.push("precision highp int;");src.push("precision highp usampler2D;");src.push("precision highp isampler2D;");src.push("precision highp sampler2D;");src.push("#else");src.push("precision mediump float;");src.push("precision mediump int;");src.push("precision mediump usampler2D;");src.push("precision mediump isampler2D;");src.push("precision mediump sampler2D;");src.push("#endif");src.push("uniform int renderPass;");if(scene.entityOffsetsEnabled){src.push("in vec3 offset;");}src.push("uniform mat4 sceneModelMatrix;");src.push("uniform mat4 viewMatrix;");src.push("uniform mat4 projMatrix;");src.push("uniform highp sampler2D uObjectPerObjectPositionsDecodeMatrix;");src.push("uniform lowp usampler2D uObjectPerObjectColorsAndFlags;");src.push("uniform highp sampler2D uTexturePerObjectMatrix;");src.push("uniform mediump usampler2D uTexturePerVertexIdCoordinates;");src.push("uniform highp usampler2D uTexturePerPolygonIdIndices;");src.push("uniform mediump usampler2D uTexturePerPolygonIdPortionIds;");src.push("uniform vec3 uCameraEyeRtc;");src.push("vec3 positions[3];");if(scene.logarithmicDepthBufferEnabled){src.push("uniform float logDepthBufFC;");src.push("out float vFragDepth;");src.push("out float isPerspective;");}src.push("uniform vec2 pickClipPos;");src.push("uniform vec2 drawingBufferSize;");src.push("vec4 remapClipPos(vec4 clipPos) {");src.push(" clipPos.xy /= clipPos.w;");src.push(" clipPos.xy = (clipPos.xy - pickClipPos) * drawingBufferSize;");src.push(" clipPos.xy *= clipPos.w;");src.push(" return clipPos;");src.push("}");src.push("bool isPerspectiveMatrix(mat4 m) {");src.push(" return (m[2][3] == - 1.0);");src.push("}");src.push("out vec4 vWorldPosition;");if(clipping){src.push("flat out uint vFlags2;");}src.push("void main(void) {");// constants src.push("int polygonIndex = gl_VertexID / 3;");// get packed object-id src.push("int h_packed_object_id_index = (polygonIndex >> 3) & 4095;");src.push("int v_packed_object_id_index = (polygonIndex >> 3) >> 12;");src.push("int objectIndex = int(texelFetch(uTexturePerPolygonIdPortionIds, ivec2(h_packed_object_id_index, v_packed_object_id_index), 0).r);");src.push("ivec2 objectIndexCoords = ivec2(objectIndex % 512, objectIndex / 512);");// get flags & flags2 src.push("uvec4 flags = texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+2, objectIndexCoords.y), 0);");src.push("uvec4 flags2 = texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+3, objectIndexCoords.y), 0);");// pickFlag = NOT_RENDERED | PICK @@ -18755,7 +18767,7 @@ src.push("uvec4 color = texelFetch (uObjectPerObjectColorsAndFlags, ivec2(object src.push(" return;");src.push("};");// get normal src.push("vec3 normal = normalize(cross(positions[2] - positions[0], positions[1] - positions[0]));");src.push("vec3 position;");src.push("position = positions[gl_VertexID % 3];");src.push("vec3 viewNormal = -normalize((transpose(inverse(viewMatrix*objectDecodeAndInstanceMatrix)) * vec4(normal,1)).xyz);");// when the geometry is not solid, if needed, flip the triangle winding src.push("if (solid != 1u) {");src.push("if (isPerspectiveMatrix(projMatrix)) {");src.push("vec3 uCameraEyeRtcInQuantizedSpace = (inverse(sceneModelMatrix * objectDecodeAndInstanceMatrix) * vec4(uCameraEyeRtc, 1)).xyz;");// src.push("vColor = vec4(vec3(1, -1, 0)*dot(normalize(position.xyz - uCameraEyeRtcInQuantizedSpace), normal), 1);") -src.push("if (dot(position.xyz - uCameraEyeRtcInQuantizedSpace, normal) < 0.0) {");src.push("position = positions[2 - (gl_VertexID % 3)];");src.push("viewNormal = -viewNormal;");src.push("}");src.push("} else {");src.push("vec3 viewNormal = -normalize((transpose(inverse(viewMatrix*objectDecodeAndInstanceMatrix)) * vec4(normal,1)).xyz);");src.push("if (viewNormal.z < 0.0) {");src.push("position = positions[2 - (gl_VertexID % 3)];");src.push("}");src.push("}");src.push("}");src.push("vec4 worldPosition = sceneModelMatrix * (objectDecodeAndInstanceMatrix * vec4(position, 1.0)); ");src.push("vec4 viewPosition = viewMatrix * worldPosition; ");src.push("vec4 clipPos = projMatrix * viewPosition;");if(scene.logarithmicDepthBufferEnabled){src.push("vFragDepth = 1.0 + clipPos.w;");src.push("isPerspective = float (isPerspectiveMatrix(projMatrix));");}src.push("vWorldPosition = worldPosition;");if(clipping){src.push("vFlags2 = flags2.r;");}src.push("gl_Position = remapClipPos(clipPos);");src.push("}");src.push("}");return src;}},{key:"_buildFragmentShader",value:function _buildFragmentShader(){var scene=this._scene;var clipping=scene._sectionPlanesState.getNumAllocatedSectionPlanes()>0;var src=[];src.push('#version 300 es');src.push("// TrianglesDataTexturePickNormalsRenderer fragment shader");src.push("#ifdef GL_FRAGMENT_PRECISION_HIGH");src.push("precision highp float;");src.push("precision highp int;");src.push("#else");src.push("precision mediump float;");src.push("precision mediump int;");src.push("#endif");if(scene.logarithmicDepthBufferEnabled){src.push("in float isPerspective;");src.push("uniform float logDepthBufFC;");src.push("in float vFragDepth;");}src.push("in vec4 vWorldPosition;");if(clipping){src.push("flat in uint vFlags2;");for(var _i356=0,len=scene._sectionPlanesState.getNumAllocatedSectionPlanes();_i356 0u;");src.push(" if (clippable) {");src.push(" float dist = 0.0;");for(var _i357=0,_len84=scene._sectionPlanesState.getNumAllocatedSectionPlanes();_i357<_len84;_i357++){src.push("if (sectionPlaneActive"+_i357+") {");src.push(" dist += clamp(dot(-sectionPlaneDir"+_i357+".xyz, vWorldPosition.xyz - sectionPlanePos"+_i357+".xyz), 0.0, 1000.0);");src.push("}");}src.push(" if (dist > 0.0) { ");src.push(" discard;");src.push(" }");src.push("}");}if(scene.logarithmicDepthBufferEnabled){src.push(" gl_FragDepth = isPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5;");}src.push(" vec3 xTangent = dFdx( vWorldPosition.xyz );");src.push(" vec3 yTangent = dFdy( vWorldPosition.xyz );");src.push(" vec3 worldNormal = normalize( cross( xTangent, yTangent ) );");src.push(" outNormal = ivec4(worldNormal * float(".concat(math.MAX_INT,"), 1.0);"));src.push("}");return src;}},{key:"webglContextRestored",value:function webglContextRestored(){this._program=null;}},{key:"destroy",value:function destroy(){if(this._program){this._program.destroy();}this._program=null;}}]);return TrianglesDataTexturePickNormalsFlatRenderer;}();/** +src.push("if (dot(position.xyz - uCameraEyeRtcInQuantizedSpace, normal) < 0.0) {");src.push("position = positions[2 - (gl_VertexID % 3)];");src.push("viewNormal = -viewNormal;");src.push("}");src.push("} else {");src.push("vec3 viewNormal = -normalize((transpose(inverse(viewMatrix*objectDecodeAndInstanceMatrix)) * vec4(normal,1)).xyz);");src.push("if (viewNormal.z < 0.0) {");src.push("position = positions[2 - (gl_VertexID % 3)];");src.push("}");src.push("}");src.push("}");src.push("vec4 worldPosition = sceneModelMatrix * (objectDecodeAndInstanceMatrix * vec4(position, 1.0)); ");src.push("vec4 viewPosition = viewMatrix * worldPosition; ");src.push("vec4 clipPos = projMatrix * viewPosition;");if(scene.logarithmicDepthBufferEnabled){src.push("vFragDepth = 1.0 + clipPos.w;");src.push("isPerspective = float (isPerspectiveMatrix(projMatrix));");}src.push("vWorldPosition = worldPosition;");if(clipping){src.push("vFlags2 = flags2.r;");}src.push("gl_Position = remapClipPos(clipPos);");src.push("}");src.push("}");return src;}},{key:"_buildFragmentShader",value:function _buildFragmentShader(){var scene=this._scene;var clipping=scene._sectionPlanesState.getNumAllocatedSectionPlanes()>0;var src=[];src.push('#version 300 es');src.push("// TrianglesDataTexturePickNormalsRenderer fragment shader");src.push("#ifdef GL_FRAGMENT_PRECISION_HIGH");src.push("precision highp float;");src.push("precision highp int;");src.push("#else");src.push("precision mediump float;");src.push("precision mediump int;");src.push("#endif");if(scene.logarithmicDepthBufferEnabled){src.push("in float isPerspective;");src.push("uniform float logDepthBufFC;");src.push("in float vFragDepth;");}src.push("in vec4 vWorldPosition;");if(clipping){src.push("flat in uint vFlags2;");for(var _i362=0,len=scene._sectionPlanesState.getNumAllocatedSectionPlanes();_i362 0u;");src.push(" if (clippable) {");src.push(" float dist = 0.0;");for(var _i363=0,_len84=scene._sectionPlanesState.getNumAllocatedSectionPlanes();_i363<_len84;_i363++){src.push("if (sectionPlaneActive"+_i363+") {");src.push(" dist += clamp(dot(-sectionPlaneDir"+_i363+".xyz, vWorldPosition.xyz - sectionPlanePos"+_i363+".xyz), 0.0, 1000.0);");src.push("}");}src.push(" if (dist > 0.0) { ");src.push(" discard;");src.push(" }");src.push("}");}if(scene.logarithmicDepthBufferEnabled){src.push(" gl_FragDepth = isPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5;");}src.push(" vec3 xTangent = dFdx( vWorldPosition.xyz );");src.push(" vec3 yTangent = dFdy( vWorldPosition.xyz );");src.push(" vec3 worldNormal = normalize( cross( xTangent, yTangent ) );");src.push(" outNormal = ivec4(worldNormal * float(".concat(math.MAX_INT,"), 1.0);"));src.push("}");return src;}},{key:"webglContextRestored",value:function webglContextRestored(){this._program=null;}},{key:"destroy",value:function destroy(){if(this._program){this._program.destroy();}this._program=null;}}]);return TrianglesDataTexturePickNormalsFlatRenderer;}();/** * @private */var TrianglesDataTextureRenderers=/*#__PURE__*/function(){function TrianglesDataTextureRenderers(scene){_classCallCheck(this,TrianglesDataTextureRenderers);this._scene=scene;}_createClass(TrianglesDataTextureRenderers,[{key:"_compile",value:function _compile(){if(this._colorRenderer&&!this._colorRenderer.getValid()){this._colorRenderer.destroy();this._colorRenderer=null;}if(this._colorRendererWithSAO&&!this._colorRendererWithSAO.getValid()){this._colorRendererWithSAO.destroy();this._colorRendererWithSAO=null;}if(this._flatColorRenderer&&!this._flatColorRenderer.getValid()){this._flatColorRenderer.destroy();this._flatColorRenderer=null;}if(this._flatColorRendererWithSAO&&!this._flatColorRendererWithSAO.getValid()){this._flatColorRendererWithSAO.destroy();this._flatColorRendererWithSAO=null;}if(this._colorQualityRendererWithSAO&&!this._colorQualityRendererWithSAO.getValid()){this._colorQualityRendererWithSAO.destroy();this._colorQualityRendererWithSAO=null;}if(this._depthRenderer&&!this._depthRenderer.getValid()){this._depthRenderer.destroy();this._depthRenderer=null;}if(this._normalsRenderer&&!this._normalsRenderer.getValid()){this._normalsRenderer.destroy();this._normalsRenderer=null;}if(this._silhouetteRenderer&&!this._silhouetteRenderer.getValid()){this._silhouetteRenderer.destroy();this._silhouetteRenderer=null;}if(this._edgesRenderer&&!this._edgesRenderer.getValid()){this._edgesRenderer.destroy();this._edgesRenderer=null;}if(this._edgesColorRenderer&&!this._edgesColorRenderer.getValid()){this._edgesColorRenderer.destroy();this._edgesColorRenderer=null;}if(this._pickMeshRenderer&&!this._pickMeshRenderer.getValid()){this._pickMeshRenderer.destroy();this._pickMeshRenderer=null;}if(this._pickDepthRenderer&&!this._pickDepthRenderer.getValid()){this._pickDepthRenderer.destroy();this._pickDepthRenderer=null;}if(this._vertexDepthRenderer&&!this._vertexDepthRenderer.getValid()){this._vertexDepthRenderer.destroy();this._vertexDepthRenderer=null;}if(this._snapDepthBufInitRenderer&&!this._snapDepthBufInitRenderer.getValid()){this._snapDepthBufInitRenderer.destroy();this._snapDepthBufInitRenderer=null;}if(this._pickNormalsRenderer&&this._pickNormalsRenderer.getValid()===false){this._pickNormalsRenderer.destroy();this._pickNormalsRenderer=null;}if(this._pickNormalsFlatRenderer&&this._pickNormalsFlatRenderer.getValid()===false){this._pickNormalsFlatRenderer.destroy();this._pickNormalsFlatRenderer=null;}if(this._occlusionRenderer&&this._occlusionRenderer.getValid()===false){this._occlusionRenderer.destroy();this._occlusionRenderer=null;}}},{key:"eagerCreateRenders",value:function eagerCreateRenders(){// Pre-initialize certain renderers that would otherwise be lazy-initialised // on user interaction, such as picking or emphasis, so that there is no delay @@ -18929,15 +18941,15 @@ this.numPortions=numPortions;var textureWidth=512*8;var textureHeight=Math.ceil( // - col5: (packed Uint32 bytes as RGBA) index base offset // - col6: (packed Uint32 bytes as RGBA) edge index base offset // - col7: (packed 4 bytes as RGBA) is-solid flag for objects -var texArray=new Uint8Array(4*textureWidth*textureHeight);dataTextureRamStats.sizeDataColorsAndFlags+=texArray.byteLength;dataTextureRamStats.numberOfTextures++;for(var _i358=0;_i358>24&255,vertexBases[_i358]>>16&255,vertexBases[_i358]>>8&255,vertexBases[_i358]&255],_i358*32+16);// triangles index base offset -texArray.set([indexBaseOffsets[_i358]>>24&255,indexBaseOffsets[_i358]>>16&255,indexBaseOffsets[_i358]>>8&255,indexBaseOffsets[_i358]&255],_i358*32+20);// edge index base offset -texArray.set([edgeIndexBaseOffsets[_i358]>>24&255,edgeIndexBaseOffsets[_i358]>>16&255,edgeIndexBaseOffsets[_i358]>>8&255,edgeIndexBaseOffsets[_i358]&255],_i358*32+24);// is-solid flag -texArray.set([solid[_i358]?1:0,0,0,0],_i358*32+28);}var texture=gl.createTexture();gl.bindTexture(gl.TEXTURE_2D,texture);gl.texStorage2D(gl.TEXTURE_2D,1,gl.RGBA8UI,textureWidth,textureHeight);gl.texSubImage2D(gl.TEXTURE_2D,0,0,0,textureWidth,textureHeight,gl.RGBA_INTEGER,gl.UNSIGNED_BYTE,texArray,0);gl.texParameteri(gl.TEXTURE_2D,gl.TEXTURE_MAG_FILTER,gl.NEAREST);gl.texParameteri(gl.TEXTURE_2D,gl.TEXTURE_MIN_FILTER,gl.NEAREST);gl.texParameteri(gl.TEXTURE_2D,gl.TEXTURE_WRAP_S,gl.CLAMP_TO_EDGE);gl.texParameteri(gl.TEXTURE_2D,gl.TEXTURE_WRAP_T,gl.CLAMP_TO_EDGE);gl.bindTexture(gl.TEXTURE_2D,null);return new BindableDataTexture(gl,texture,textureWidth,textureHeight,texArray);}/** +texArray.set([vertexBases[_i364]>>24&255,vertexBases[_i364]>>16&255,vertexBases[_i364]>>8&255,vertexBases[_i364]&255],_i364*32+16);// triangles index base offset +texArray.set([indexBaseOffsets[_i364]>>24&255,indexBaseOffsets[_i364]>>16&255,indexBaseOffsets[_i364]>>8&255,indexBaseOffsets[_i364]&255],_i364*32+20);// edge index base offset +texArray.set([edgeIndexBaseOffsets[_i364]>>24&255,edgeIndexBaseOffsets[_i364]>>16&255,edgeIndexBaseOffsets[_i364]>>8&255,edgeIndexBaseOffsets[_i364]&255],_i364*32+24);// is-solid flag +texArray.set([solid[_i364]?1:0,0,0,0],_i364*32+28);}var texture=gl.createTexture();gl.bindTexture(gl.TEXTURE_2D,texture);gl.texStorage2D(gl.TEXTURE_2D,1,gl.RGBA8UI,textureWidth,textureHeight);gl.texSubImage2D(gl.TEXTURE_2D,0,0,0,textureWidth,textureHeight,gl.RGBA_INTEGER,gl.UNSIGNED_BYTE,texArray,0);gl.texParameteri(gl.TEXTURE_2D,gl.TEXTURE_MAG_FILTER,gl.NEAREST);gl.texParameteri(gl.TEXTURE_2D,gl.TEXTURE_MIN_FILTER,gl.NEAREST);gl.texParameteri(gl.TEXTURE_2D,gl.TEXTURE_WRAP_S,gl.CLAMP_TO_EDGE);gl.texParameteri(gl.TEXTURE_2D,gl.TEXTURE_WRAP_T,gl.CLAMP_TO_EDGE);gl.bindTexture(gl.TEXTURE_2D,null);return new BindableDataTexture(gl,texture,textureWidth,textureHeight,texArray);}/** * This will generate a texture for all object offsets. * * @param {WebGL2RenderingContext} gl @@ -18958,8 +18970,8 @@ texArray.set([solid[_i358]?1:0,0,0,0],_i358*32+28);}var texture=gl.createTexture * @returns {BindableDataTexture} */},{key:"generateTextureForInstancingMatrices",value:function generateTextureForInstancingMatrices(gl,instanceMatrices){var numMatrices=instanceMatrices.length;if(numMatrices===0){throw"num instance matrices===0";}// in one row we can fit 512 matrices var textureWidth=512*4;var textureHeight=Math.ceil(numMatrices/(textureWidth/4));var texArray=new Float32Array(4*textureWidth*textureHeight);// dataTextureRamStats.sizeDataPositionDecodeMatrices += texArray.byteLength; -dataTextureRamStats.numberOfTextures++;for(var _i359=0;_i359} positionsArrays Arrays of quantized positions in the layer * @param lenPositions @@ -19021,7 +19033,7 @@ texArray.set(positionDecodeMatrices[_i360],_i360*16);}var texture=gl.createTextu * - a number of rows R where R*1024 is just >= than the number of vertices (positions / 3) * * @returns {BindableDataTexture} - */},{key:"generateTextureForPositions",value:function generateTextureForPositions(gl,positionsArrays,lenPositions){var numVertices=lenPositions/3;var textureWidth=4096;var textureHeight=Math.ceil(numVertices/textureWidth);if(textureHeight===0){throw"texture height===0";}var texArraySize=textureWidth*textureHeight*3;var texArray=new Uint16Array(texArraySize);dataTextureRamStats.sizeDataTexturePositions+=texArray.byteLength;dataTextureRamStats.numberOfTextures++;for(var _i367=0,j=0,len=positionsArrays.length;_i367} portionIdsArray * @@ -19057,21 +19069,22 @@ this._numVisibleLayerPortions=0;this._numTransparentLayerPortions=0;this._numXRa * * The outer index of this array is the externally seen `portionId`. * The inner value of the array, are `sub-portionIds` corresponding to the `portionId`. - */this._portionToSubPortionsMap=[];this._bucketGeometries={};/** + */this._portionToSubPortionsMap=[];this._bucketGeometries={};this._meshes=[];/** * The axis-aligned World-space boundary of this TrianglesDataTextureLayer's positions. - */this.aabb=math.collapseAABB3();/** + */this._aabb=math.collapseAABB3();this.aabbDirty=true;/** * The number of updates in the current frame; - */this._numUpdatesInFrame=0;this._finalized=false;}/** + */this._numUpdatesInFrame=0;this._finalized=false;}_createClass(TrianglesDataTextureLayer,[{key:"aabb",get:function get(){if(this.aabbDirty){math.collapseAABB3(this._aabb);for(var _i374=0,len=this._meshes.length;_i374MAX_NUMBER_OF_OBJECTS_IN_LAYER){dataTextureRamStats.cannotCreatePortion.because10BitsObjectId++;}var retVal=this._numPortions+numNewPortions<=MAX_NUMBER_OF_OBJECTS_IN_LAYER;var bucketIndex=0;// TODO: Is this a bug? + */},{key:"canCreatePortion",value:function canCreatePortion(portionCfg){if(this._finalized){throw"Already finalized";}var numNewPortions=portionCfg.buckets.length;if(this._numPortions+numNewPortions>MAX_NUMBER_OF_OBJECTS_IN_LAYER){dataTextureRamStats.cannotCreatePortion.because10BitsObjectId++;}var retVal=this._numPortions+numNewPortions<=MAX_NUMBER_OF_OBJECTS_IN_LAYER;var bucketIndex=0;// TODO: Is this a bug? var bucketGeometryId=portionCfg.geometryId!==undefined&&portionCfg.geometryId!==null?"".concat(portionCfg.geometryId,"#").concat(bucketIndex):"".concat(portionCfg.id,"#").concat(bucketIndex);var alreadyHasPortionGeometry=this._bucketGeometries[bucketGeometryId];if(!alreadyHasPortionGeometry){var maxIndicesOfAnyBits=Math.max(this._state.numIndices8Bits,this._state.numIndices16Bits,this._state.numIndices32Bits);var numVertices=0;var numIndices=0;portionCfg.buckets.forEach(function(bucket){numVertices+=bucket.positionsCompressed.length/3;numIndices+=bucket.indices.length/3;});if(this._state.numVertices+numVertices>MAX_DATA_TEXTURE_HEIGHT*4096||maxIndicesOfAnyBits+numIndices>MAX_DATA_TEXTURE_HEIGHT*4096){dataTextureRamStats.cannotCreatePortion.becauseTextureSize++;}retVal&&(retVal=this._state.numVertices+numVertices<=MAX_DATA_TEXTURE_HEIGHT*4096&&maxIndicesOfAnyBits+numIndices<=MAX_DATA_TEXTURE_HEIGHT*4096);}return retVal;}/** * Creates a new portion within this TrianglesDataTextureLayer, returns the new portion ID. * * Gives the portion the specified geometry, color and matrix. * + * @param mesh The SceneModelMesh that owns the portion * @param portionCfg.positionsCompressed Flat float Local-space positionsCompressed array. * @param [portionCfg.normals] Flat float normals array. * @param [portionCfg.colors] Flat float colors array. @@ -19085,7 +19098,7 @@ var bucketGeometryId=portionCfg.geometryId!==undefined&&portionCfg.geometryId!== * @param portionCfg.worldAABB Flat float AABB World-space AABB * @param portionCfg.pickColor Quantized pick color * @returns {number} Portion ID - */},{key:"createPortion",value:function createPortion(portionCfg){var _this96=this;if(this._finalized){throw"Already finalized";}var subPortionIds=[];// const portionAABB = portionCfg.worldAABB; + */},{key:"createPortion",value:function createPortion(mesh,portionCfg){var _this96=this;if(this._finalized){throw"Already finalized";}var subPortionIds=[];// const portionAABB = portionCfg.worldAABB; portionCfg.buckets.forEach(function(bucket,bucketIndex){var bucketGeometryId=portionCfg.geometryId!==undefined&&portionCfg.geometryId!==null?"".concat(portionCfg.geometryId,"#").concat(bucketIndex):"".concat(portionCfg.id,"#").concat(bucketIndex);var bucketGeometry=_this96._bucketGeometries[bucketGeometryId];if(!bucketGeometry){bucketGeometry=_this96._createBucketGeometry(portionCfg,bucket);_this96._bucketGeometries[bucketGeometryId]=bucketGeometry;}// const subPortionAABB = math.collapseAABB3(tempAABB3b); var subPortionId=_this96._createSubPortion(portionCfg,bucketGeometry,bucket);//math.expandAABB3(portionAABB, subPortionAABB); subPortionIds.push(subPortionId);});// const origin = this._state.origin; @@ -19098,7 +19111,7 @@ subPortionIds.push(subPortionId);});// const origin = this._state.origin; // portionAABB[5] += origin[2]; // } // math.expandAABB3(this.aabb, portionAABB); -var portionId=this._portionToSubPortionsMap.length;this._portionToSubPortionsMap.push(subPortionIds);this.model.numPortions++;return portionId;}},{key:"_createBucketGeometry",value:function _createBucketGeometry(portionCfg,bucket){// Indices alignement +var portionId=this._portionToSubPortionsMap.length;this._portionToSubPortionsMap.push(subPortionIds);this.model.numPortions++;this._meshes.push(mesh);return portionId;}},{key:"_createBucketGeometry",value:function _createBucketGeometry(portionCfg,bucket){// Indices alignement // This will make every mesh consume a multiple of INDICES_EDGE_INDICES_ALIGNEMENT_SIZE // array items for storing the triangles of the mesh, and it supports: // - a memory optimization of factor INDICES_EDGE_INDICES_ALIGNEMENT_SIZE @@ -19135,7 +19148,7 @@ obb:null// Lazy-created in _createSubPortion if needed // math.expandAABB3(subPortionAABB, bucketGeometry.aabb); // } buffer.perObjectSolid.push(!!portionCfg.solid);if(colors){buffer.perObjectColors.push([colors[0]*255,colors[1]*255,colors[2]*255,255]);}else if(color){// Color is pre-quantized by SceneModel -buffer.perObjectColors.push([color[0],color[1],color[2],opacity]);}buffer.perObjectPickColors.push(pickColor);buffer.perObjectVertexBases.push(bucketGeometry.vertexBase);{var currentNumIndices;if(bucketGeometry.numVertices<=1<<8){currentNumIndices=state.numIndices8Bits;}else if(bucketGeometry.numVertices<=1<<16){currentNumIndices=state.numIndices16Bits;}else{currentNumIndices=state.numIndices32Bits;}buffer.perObjectIndexBaseOffsets.push(currentNumIndices/3-bucketGeometry.indicesBase);}{var currentNumEdgeIndices;if(bucketGeometry.numVertices<=1<<8){currentNumEdgeIndices=state.numEdgeIndices8Bits;}else if(bucketGeometry.numVertices<=1<<16){currentNumEdgeIndices=state.numEdgeIndices16Bits;}else{currentNumEdgeIndices=state.numEdgeIndices32Bits;}buffer.perObjectEdgeIndexBaseOffsets.push(currentNumEdgeIndices/2-bucketGeometry.edgeIndicesBase);}var subPortionId=this._subPortions.length;if(bucketGeometry.numTriangles>0){var numIndices=bucketGeometry.numTriangles*3;var indicesPortionIdBuffer;if(bucketGeometry.numVertices<=1<<8){indicesPortionIdBuffer=buffer.perTriangleNumberPortionId8Bits;state.numIndices8Bits+=numIndices;dataTextureRamStats.totalPolygons8Bits+=bucketGeometry.numTriangles;}else if(bucketGeometry.numVertices<=1<<16){indicesPortionIdBuffer=buffer.perTriangleNumberPortionId16Bits;state.numIndices16Bits+=numIndices;dataTextureRamStats.totalPolygons16Bits+=bucketGeometry.numTriangles;}else{indicesPortionIdBuffer=buffer.perTriangleNumberPortionId32Bits;state.numIndices32Bits+=numIndices;dataTextureRamStats.totalPolygons32Bits+=bucketGeometry.numTriangles;}dataTextureRamStats.totalPolygons+=bucketGeometry.numTriangles;for(var _i368=0;_i3680){var numEdgeIndices=bucketGeometry.numEdges*2;var edgeIndicesPortionIdBuffer;if(bucketGeometry.numVertices<=1<<8){edgeIndicesPortionIdBuffer=buffer.perEdgeNumberPortionId8Bits;state.numEdgeIndices8Bits+=numEdgeIndices;dataTextureRamStats.totalEdges8Bits+=bucketGeometry.numEdges;}else if(bucketGeometry.numVertices<=1<<16){edgeIndicesPortionIdBuffer=buffer.perEdgeNumberPortionId16Bits;state.numEdgeIndices16Bits+=numEdgeIndices;dataTextureRamStats.totalEdges16Bits+=bucketGeometry.numEdges;}else{edgeIndicesPortionIdBuffer=buffer.perEdgeNumberPortionId32Bits;state.numEdgeIndices32Bits+=numEdgeIndices;dataTextureRamStats.totalEdges32Bits+=bucketGeometry.numEdges;}dataTextureRamStats.totalEdges+=bucketGeometry.numEdges;for(var _i369=0;_i3690){var numIndices=bucketGeometry.numTriangles*3;var indicesPortionIdBuffer;if(bucketGeometry.numVertices<=1<<8){indicesPortionIdBuffer=buffer.perTriangleNumberPortionId8Bits;state.numIndices8Bits+=numIndices;dataTextureRamStats.totalPolygons8Bits+=bucketGeometry.numTriangles;}else if(bucketGeometry.numVertices<=1<<16){indicesPortionIdBuffer=buffer.perTriangleNumberPortionId16Bits;state.numIndices16Bits+=numIndices;dataTextureRamStats.totalPolygons16Bits+=bucketGeometry.numTriangles;}else{indicesPortionIdBuffer=buffer.perTriangleNumberPortionId32Bits;state.numIndices32Bits+=numIndices;dataTextureRamStats.totalPolygons32Bits+=bucketGeometry.numTriangles;}dataTextureRamStats.totalPolygons+=bucketGeometry.numTriangles;for(var _i375=0;_i3750){var numEdgeIndices=bucketGeometry.numEdges*2;var edgeIndicesPortionIdBuffer;if(bucketGeometry.numVertices<=1<<8){edgeIndicesPortionIdBuffer=buffer.perEdgeNumberPortionId8Bits;state.numEdgeIndices8Bits+=numEdgeIndices;dataTextureRamStats.totalEdges8Bits+=bucketGeometry.numEdges;}else if(bucketGeometry.numVertices<=1<<16){edgeIndicesPortionIdBuffer=buffer.perEdgeNumberPortionId16Bits;state.numEdgeIndices16Bits+=numEdgeIndices;dataTextureRamStats.totalEdges16Bits+=bucketGeometry.numEdges;}else{edgeIndicesPortionIdBuffer=buffer.perEdgeNumberPortionId32Bits;state.numEdgeIndices32Bits+=numEdgeIndices;dataTextureRamStats.totalEdges32Bits+=bucketGeometry.numEdges;}dataTextureRamStats.totalEdges+=bucketGeometry.numEdges;for(var _i376=0;_i376=MAX_OBJECT_UPDATES_IN_FRAME_WITHOUT_BATCHED_UPDATE){this._beginDeferredFlags();// Subsequent flags updates now deferred }console.info("_subPortionSetColor write through");gl.bindTexture(gl.TEXTURE_2D,textureState.texturePerObjectColorsAndFlags._texture);gl.texSubImage2D(gl.TEXTURE_2D,0,// level @@ -19194,7 +19207,7 @@ Math.floor(subPortionId/512),// yoffset 1,// width 1,//height gl.RGBA_INTEGER,gl.UNSIGNED_BYTE,tempUint8Array4);// gl.bindTexture (gl.TEXTURE_2D, null); -}},{key:"setTransparent",value:function setTransparent(portionId,flags,transparent){if(transparent){this._numTransparentLayerPortions++;this.model.numTransparentLayerPortions++;}else{this._numTransparentLayerPortions--;this.model.numTransparentLayerPortions--;}this._setFlags(portionId,flags,transparent);}},{key:"_setFlags",value:function _setFlags(portionId,flags,transparent){var deferred=arguments.length>3&&arguments[3]!==undefined?arguments[3]:false;var subPortionIds=this._portionToSubPortionsMap[portionId];for(var _i371=0,len=subPortionIds.length;_i3713&&arguments[3]!==undefined?arguments[3]:false;if(!this._finalized){throw"Not finalized";}var visible=!!(flags&ENTITY_FLAGS.VISIBLE);var xrayed=!!(flags&ENTITY_FLAGS.XRAYED);var highlighted=!!(flags&ENTITY_FLAGS.HIGHLIGHTED);var selected=!!(flags&ENTITY_FLAGS.SELECTED);var edges=!!(flags&ENTITY_FLAGS.EDGES);var pickable=!!(flags&ENTITY_FLAGS.PICKABLE);var culled=!!(flags&ENTITY_FLAGS.CULLED);// Color +}},{key:"setTransparent",value:function setTransparent(portionId,flags,transparent){if(transparent){this._numTransparentLayerPortions++;this.model.numTransparentLayerPortions++;}else{this._numTransparentLayerPortions--;this.model.numTransparentLayerPortions--;}this._setFlags(portionId,flags,transparent);}},{key:"_setFlags",value:function _setFlags(portionId,flags,transparent){var deferred=arguments.length>3&&arguments[3]!==undefined?arguments[3]:false;var subPortionIds=this._portionToSubPortionsMap[portionId];for(var _i378=0,len=subPortionIds.length;_i3783&&arguments[3]!==undefined?arguments[3]:false;if(!this._finalized){throw"Not finalized";}var visible=!!(flags&ENTITY_FLAGS.VISIBLE);var xrayed=!!(flags&ENTITY_FLAGS.XRAYED);var highlighted=!!(flags&ENTITY_FLAGS.HIGHLIGHTED);var selected=!!(flags&ENTITY_FLAGS.SELECTED);var edges=!!(flags&ENTITY_FLAGS.EDGES);var pickable=!!(flags&ENTITY_FLAGS.PICKABLE);var culled=!!(flags&ENTITY_FLAGS.CULLED);// Color var f0;if(!visible||culled||xrayed){// Highlight & select are layered on top of color - not mutually exclusive f0=RENDER_PASSES.NOT_RENDERED;}else{if(transparent){f0=RENDER_PASSES.COLOR_TRANSPARENT;}else{f0=RENDER_PASSES.COLOR_OPAQUE;}}// Silhouette var f1;if(!visible||culled){f1=RENDER_PASSES.NOT_RENDERED;}else if(selected){f1=RENDER_PASSES.SILHOUETTE_SELECTED;}else if(highlighted){f1=RENDER_PASSES.SILHOUETTE_HIGHLIGHTED;}else if(xrayed){f1=RENDER_PASSES.SILHOUETTE_XRAYED;}else{f1=RENDER_PASSES.NOT_RENDERED;}// Edges @@ -19207,7 +19220,7 @@ Math.floor(subPortionId/512),// yoffset 1,// width 1,//height gl.RGBA_INTEGER,gl.UNSIGNED_BYTE,tempUint8Array4);// gl.bindTexture (gl.TEXTURE_2D, null); -}},{key:"_setDeferredFlags",value:function _setDeferredFlags(){}},{key:"_setFlags2",value:function _setFlags2(portionId,flags){var deferred=arguments.length>2&&arguments[2]!==undefined?arguments[2]:false;var subPortionIds=this._portionToSubPortionsMap[portionId];for(var _i372=0,len=subPortionIds.length;_i3722&&arguments[2]!==undefined?arguments[2]:false;if(!this._finalized){throw"Not finalized";}var clippable=!!(flags&ENTITY_FLAGS.CLIPPABLE)?255:0;var textureState=this._dataTextureState;var gl=this.model.scene.canvas.gl;tempUint8Array4[0]=clippable;tempUint8Array4[1]=0;tempUint8Array4[2]=1;tempUint8Array4[3]=2;// object flags2 +}},{key:"_setDeferredFlags",value:function _setDeferredFlags(){}},{key:"_setFlags2",value:function _setFlags2(portionId,flags){var deferred=arguments.length>2&&arguments[2]!==undefined?arguments[2]:false;var subPortionIds=this._portionToSubPortionsMap[portionId];for(var _i379=0,len=subPortionIds.length;_i3792&&arguments[2]!==undefined?arguments[2]:false;if(!this._finalized){throw"Not finalized";}var clippable=!!(flags&ENTITY_FLAGS.CLIPPABLE)?255:0;var textureState=this._dataTextureState;var gl=this.model.scene.canvas.gl;tempUint8Array4[0]=clippable;tempUint8Array4[1]=0;tempUint8Array4[2]=1;tempUint8Array4[3]=2;// object flags2 textureState.texturePerObjectColorsAndFlags._textureData.set(tempUint8Array4,subPortionId*32+12);if(this._deferredSetFlagsActive||deferred){// console.log("_subPortionSetFlags2 set flags defer"); this._deferredSetFlagsDirty=true;return;}if(++this._numUpdatesInFrame>=MAX_OBJECT_UPDATES_IN_FRAME_WITHOUT_BATCHED_UPDATE){this._beginDeferredFlags();// Subsequent flags updates now deferred }gl.bindTexture(gl.TEXTURE_2D,textureState.texturePerObjectColorsAndFlags._texture);gl.texSubImage2D(gl.TEXTURE_2D,0,// level @@ -19216,7 +19229,7 @@ Math.floor(subPortionId/512),// yoffset 1,// width 1,//height gl.RGBA_INTEGER,gl.UNSIGNED_BYTE,tempUint8Array4);// gl.bindTexture (gl.TEXTURE_2D, null); -}},{key:"_setDeferredFlags2",value:function _setDeferredFlags2(){}},{key:"setOffset",value:function setOffset(portionId,offset){var subPortionIds=this._portionToSubPortionsMap[portionId];for(var _i373=0,len=subPortionIds.length;_i3730){var meshes=childTransform._meshes;for(var j=0,lenj=meshes.length;j0){var _meshes=this._meshes;for(var _j3=0,_lenj2=_meshes.length;_j3<_lenj2;_j3++){_meshes[_j3]._transformDirty();}}}},{key:"_buildWorldMatrix",value:function _buildWorldMatrix(){var localMatrix=this.matrix;if(!this._parentTransform){for(var _i376=0,len=localMatrix.length;_i3760){var meshes=childTransform._meshes;for(var j=0,lenj=meshes.length;j0){var _meshes=this._meshes;for(var _j3=0,_lenj2=_meshes.length;_j3<_lenj2;_j3++){_meshes[_j3]._transformDirty();}}}},{key:"_buildWorldMatrix",value:function _buildWorldMatrix(){var localMatrix=this.matrix;if(!this._parentTransform){for(var _i383=0,len=localMatrix.length;_i3830){cfg.colorsCompressed=new Uint8Array(cfg.colorsCompressed);}else if(cfg.colors&&cfg.colors.length>0){var colors=cfg.colors;var colorsCompressed=new Uint8Array(colors.length);for(var _i392=0,_len85=colors.length;_i392<_len85;_i392++){colorsCompressed[_i392]=colors[_i392]*255;}cfg.colorsCompressed=colorsCompressed;}if(!cfg.buckets&&!cfg.edgeIndices&&(cfg.primitive==="triangles"||cfg.primitive==="solid"||cfg.primitive==="surface")){if(cfg.positions){cfg.edgeIndices=buildEdgeIndices(cfg.positions,cfg.indices,null,5.0);}else{cfg.edgeIndices=buildEdgeIndices(cfg.positionsCompressed,cfg.indices,cfg.positionsDecodeMatrix,2.0);}}if(cfg.uv){var bounds=geometryCompressionUtils.getUVBounds(cfg.uv);var result=geometryCompressionUtils.compressUVs(cfg.uv,bounds.min,bounds.max);cfg.uvCompressed=result.quantized;cfg.uvDecodeMatrix=result.decodeMatrix;}else if(cfg.uvCompressed){cfg.uvCompressed=new Uint16Array(cfg.uvCompressed);cfg.uvDecodeMatrix=new Float64Array(cfg.uvDecodeMatrix);}if(cfg.normals){// HACK + */},{key:"createGeometry",value:function createGeometry(cfg){if(cfg.id===undefined||cfg.id===null){this.error("[createGeometry] Config missing: id");return;}if(this._geometries[cfg.id]){this.error("[createGeometry] Geometry already created: "+cfg.id);return;}if(cfg.primitive===undefined||cfg.primitive===null){cfg.primitive="triangles";}if(cfg.primitive!=="points"&&cfg.primitive!=="lines"&&cfg.primitive!=="triangles"&&cfg.primitive!=="solid"&&cfg.primitive!=="surface"){this.error("[createGeometry] Unsupported value for 'primitive': '".concat(cfg.primitive,"' - supported values are 'points', 'lines', 'triangles', 'solid' and 'surface'. Defaulting to 'triangles'."));return;}if(!cfg.positions&&!cfg.positionsCompressed&&!cfg.buckets){this.error("[createGeometry] Param expected: `positions`, `positionsCompressed' or 'buckets");return null;}if(cfg.positionsCompressed&&!cfg.positionsDecodeMatrix&&!cfg.positionsDecodeBoundary){this.error("[createGeometry] Param expected: `positionsDecodeMatrix` or 'positionsDecodeBoundary' (required for `positionsCompressed')");return null;}if(cfg.positionsDecodeMatrix&&cfg.positionsDecodeBoundary){this.error("[createGeometry] Only one of these params expected: `positionsDecodeMatrix` or 'positionsDecodeBoundary' (required for `positionsCompressed')");return null;}if(cfg.uvCompressed&&!cfg.uvDecodeMatrix){this.error("[createGeometry] Param expected: `uvDecodeMatrix` (required for `uvCompressed')");return null;}if(!cfg.buckets&&!cfg.indices&&cfg.primitive!=="points"){this.error("[createGeometry] Param expected: indices (required for '".concat(cfg.primitive,"' primitive type)"));return null;}if(cfg.positionsDecodeBoundary){cfg.positionsDecodeMatrix=createPositionsDecodeMatrix(cfg.positionsDecodeBoundary,math.mat4());}if(cfg.positions){var aabb=math.collapseAABB3();cfg.positionsDecodeMatrix=math.mat4();math.expandAABB3Points3(aabb,cfg.positions);cfg.positionsCompressed=quantizePositions(cfg.positions,aabb,cfg.positionsDecodeMatrix);cfg.aabb=aabb;}else if(cfg.positionsCompressed){var _aabb=math.collapseAABB3();cfg.positionsDecodeMatrix=new Float64Array(cfg.positionsDecodeMatrix);cfg.positionsCompressed=new Uint16Array(cfg.positionsCompressed);math.expandAABB3Points3(_aabb,cfg.positionsCompressed);geometryCompressionUtils.decompressAABB(_aabb,cfg.positionsDecodeMatrix);cfg.aabb=_aabb;}else if(cfg.buckets){var _aabb2=math.collapseAABB3();this._dtxBuckets[cfg.id]=cfg.buckets;for(var _i398=0,len=cfg.buckets.length;_i3980){cfg.colorsCompressed=new Uint8Array(cfg.colorsCompressed);}else if(cfg.colors&&cfg.colors.length>0){var colors=cfg.colors;var colorsCompressed=new Uint8Array(colors.length);for(var _i399=0,_len85=colors.length;_i399<_len85;_i399++){colorsCompressed[_i399]=colors[_i399]*255;}cfg.colorsCompressed=colorsCompressed;}if(!cfg.buckets&&!cfg.edgeIndices&&(cfg.primitive==="triangles"||cfg.primitive==="solid"||cfg.primitive==="surface")){if(cfg.positions){cfg.edgeIndices=buildEdgeIndices(cfg.positions,cfg.indices,null,5.0);}else{cfg.edgeIndices=buildEdgeIndices(cfg.positionsCompressed,cfg.indices,cfg.positionsDecodeMatrix,2.0);}}if(cfg.uv){var bounds=geometryCompressionUtils.getUVBounds(cfg.uv);var result=geometryCompressionUtils.compressUVs(cfg.uv,bounds.min,bounds.max);cfg.uvCompressed=result.quantized;cfg.uvDecodeMatrix=result.decodeMatrix;}else if(cfg.uvCompressed){cfg.uvCompressed=new Uint16Array(cfg.uvCompressed);cfg.uvDecodeMatrix=new Float64Array(cfg.uvDecodeMatrix);}if(cfg.normals){// HACK cfg.normals=null;}this._geometries[cfg.id]=cfg;this._numTriangles+=cfg.indices?Math.round(cfg.indices.length/3):0;this.numGeometries++;}/** * Creates a texture within this SceneModel. * @@ -20995,7 +21008,7 @@ if(cfg.matrix){cfg.meshMatrix=cfg.matrix;}else if(cfg.scale||cfg.rotation||cfg.p cfg.type=DTX;// NPR cfg.color=cfg.color?new Uint8Array([Math.floor(cfg.color[0]*255),Math.floor(cfg.color[1]*255),Math.floor(cfg.color[2]*255)]):defaultCompressedColor;cfg.opacity=cfg.opacity!==undefined&&cfg.opacity!==null?Math.floor(cfg.opacity*255):255;// RTC if(cfg.positions){var rtcCenter=math.vec3();var rtcPositions=[];var rtcNeeded=worldToRTCPositions(cfg.positions,rtcPositions,rtcCenter);if(rtcNeeded){cfg.positions=rtcPositions;cfg.origin=math.addVec3(cfg.origin,rtcCenter,rtcCenter);}}// COMPRESSION -if(cfg.positions){var aabb=math.collapseAABB3();cfg.positionsDecodeMatrix=math.mat4();math.expandAABB3Points3(aabb,cfg.positions);cfg.positionsCompressed=quantizePositions(cfg.positions,aabb,cfg.positionsDecodeMatrix);cfg.aabb=aabb;}else if(cfg.positionsCompressed){var _aabb3=math.collapseAABB3();math.expandAABB3Points3(_aabb3,cfg.positionsCompressed);geometryCompressionUtils.decompressAABB(_aabb3,cfg.positionsDecodeMatrix);cfg.aabb=_aabb3;}if(cfg.buckets){var _aabb4=math.collapseAABB3();for(var _i393=0,len=cfg.buckets.length;_i393>24&0xFF;var b=pickId>>16&0xFF;var g=pickId>>8&0xFF;var r=pickId&0xFF;cfg.pickColor=new Uint8Array([r,g,b,a]);// Quantized pick color -cfg.solid=cfg.primitive==="solid";mesh.origin=math.vec3(cfg.origin);switch(cfg.type){case DTX:mesh.layer=this._getDTXLayer(cfg);mesh.aabb=cfg.aabb;break;case VBO_BATCHED:mesh.layer=this._getVBOBatchingLayer(cfg);mesh.aabb=cfg.aabb;break;case VBO_INSTANCED:mesh.layer=this._getVBOInstancingLayer(cfg);mesh.aabb=cfg.aabb;break;}if(cfg.transform){cfg.meshMatrix=cfg.transform.worldMatrix;}mesh.portionId=mesh.layer.createPortion(cfg);this._meshes[cfg.id]=mesh;this._meshList.push(mesh);return mesh;}},{key:"_getNumPrimitives",value:function _getNumPrimitives(cfg){var countIndices=0;var primitive=cfg.geometry?cfg.geometry.primitive:cfg.primitive;switch(primitive){case"triangles":case"solid":case"surface":switch(cfg.type){case DTX:for(var _i394=0,len=cfg.buckets.length;_i394>>0).toString(16);return hashString;}},{key:"_getVBOInstancingLayer",value:function _getVBOInstancingLayer(cfg){var model=this;var origin=cfg.origin;var textureSetId=cfg.textureSetId||"-";var geometryId=cfg.geometryId;var layerId="".concat(Math.round(origin[0]),".").concat(Math.round(origin[1]),".").concat(Math.round(origin[2]),".").concat(textureSetId,".").concat(geometryId);var vboInstancingLayer=this._vboInstancingLayers[layerId];if(vboInstancingLayer){return vboInstancingLayer;}var textureSet=cfg.textureSet;var geometry=cfg.geometry;while(!vboInstancingLayer){switch(geometry.primitive){case"triangles":// console.info(`[SceneModel ${this.id}]: creating TrianglesInstancingLayer`); vboInstancingLayer=new TrianglesInstancingLayer({model:model,textureSet:textureSet,geometry:geometry,origin:origin,layerIndex:0,solid:false});break;case"solid":// console.info(`[SceneModel ${this.id}]: creating TrianglesInstancingLayer`); vboInstancingLayer=new TrianglesInstancingLayer({model:model,textureSet:textureSet,geometry:geometry,origin:origin,layerIndex:0,solid:true});break;case"surface":// console.info(`[SceneModel ${this.id}]: creating TrianglesInstancingLayer`); @@ -21080,34 +21093,34 @@ vboInstancingLayer=new PointsInstancingLayer({model:model,textureSet:textureSet, * @param {Boolean} [cfg.selected=false] Indicates if the SceneModelEntity is initially selected. Selected appearance is configured by {@link SceneModel#selectedMaterial}. * @param {Boolean} [cfg.edges=false] Indicates if the SceneModelEntity's edges are initially emphasized. Edges appearance is configured by {@link SceneModel#edgeMaterial}. * @returns {SceneModelEntity} The new SceneModelEntity. - */},{key:"createEntity",value:function createEntity(cfg){if(cfg.id===undefined){cfg.id=math.createUUID();}else if(this.scene.components[cfg.id]){this.error("Scene already has a Component with this ID: ".concat(cfg.id," - will assign random ID"));cfg.id=math.createUUID();}if(cfg.meshIds===undefined){this.error("Config missing: meshIds");return;}var flags=0;if(this._visible&&cfg.visible!==false){flags=flags|ENTITY_FLAGS.VISIBLE;}if(this._pickable&&cfg.pickable!==false){flags=flags|ENTITY_FLAGS.PICKABLE;}if(this._culled&&cfg.culled!==false){flags=flags|ENTITY_FLAGS.CULLED;}if(this._clippable&&cfg.clippable!==false){flags=flags|ENTITY_FLAGS.CLIPPABLE;}if(this._collidable&&cfg.collidable!==false){flags=flags|ENTITY_FLAGS.COLLIDABLE;}if(this._edges&&cfg.edges!==false){flags=flags|ENTITY_FLAGS.EDGES;}if(this._xrayed&&cfg.xrayed!==false){flags=flags|ENTITY_FLAGS.XRAYED;}if(this._highlighted&&cfg.highlighted!==false){flags=flags|ENTITY_FLAGS.HIGHLIGHTED;}if(this._selected&&cfg.selected!==false){flags=flags|ENTITY_FLAGS.SELECTED;}cfg.flags=flags;this._createEntity(cfg);}},{key:"_createEntity",value:function _createEntity(cfg){var meshes=[];for(var _i398=0,len=cfg.meshIds.length;_i398b.sortId){return 1;}return 0;});for(var _i402=0,_len90=this.layerList.length;_i402<_len90;_i402++){var _layer=this.layerList[_i402];_layer.layerIndex=_i402;}this.glRedraw();this.scene._aabbDirty=true;this._viewMatrixDirty=true;this._matrixDirty=true;this._aabbDirty=true;this._setWorldMatrixDirty();this._sceneModelDirty();this.position=this._position;}/** @private */},{key:"stateSortCompare",value:function stateSortCompare(drawable1,drawable2){}/** @private */},{key:"rebuildRenderFlags",value:function rebuildRenderFlags(){this.renderFlags.reset();this._updateRenderFlagsVisibleLayers();if(this.renderFlags.numLayers>0&&this.renderFlags.numVisibleLayers===0){this.renderFlags.culled=true;return;}this._updateRenderFlags();}/** + */},{key:"finalize",value:function finalize(){if(this.destroyed){return;}for(var _i406=0,len=this.layerList.length;_i406b.sortId){return 1;}return 0;});for(var _i409=0,_len90=this.layerList.length;_i409<_len90;_i409++){var _layer=this.layerList[_i409];_layer.layerIndex=_i409;}this.glRedraw();this.scene._aabbDirty=true;this._viewMatrixDirty=true;this._matrixDirty=true;this._aabbDirty=true;this._setWorldMatrixDirty();this._sceneModelDirty();this.position=this._position;}/** @private */},{key:"stateSortCompare",value:function stateSortCompare(drawable1,drawable2){}/** @private */},{key:"rebuildRenderFlags",value:function rebuildRenderFlags(){this.renderFlags.reset();this._updateRenderFlagsVisibleLayers();if(this.renderFlags.numLayers>0&&this.renderFlags.numVisibleLayers===0){this.renderFlags.culled=true;return;}this._updateRenderFlags();}/** * @private - */},{key:"_updateRenderFlagsVisibleLayers",value:function _updateRenderFlagsVisibleLayers(){var renderFlags=this.renderFlags;renderFlags.numLayers=this.layerList.length;renderFlags.numVisibleLayers=0;for(var layerIndex=0,len=this.layerList.length;layerIndex0){for(var _i403=0;_i4030){renderFlags.colorTransparent=true;}if(this.numXRayedLayerPortions>0){var xrayMaterial=this.scene.xrayMaterial._state;if(xrayMaterial.fill){if(xrayMaterial.fillAlpha<1.0){renderFlags.xrayedSilhouetteTransparent=true;}else{renderFlags.xrayedSilhouetteOpaque=true;}}if(xrayMaterial.edges){if(xrayMaterial.edgeAlpha<1.0){renderFlags.xrayedEdgesTransparent=true;}else{renderFlags.xrayedEdgesOpaque=true;}}}if(this.numEdgesLayerPortions>0){var edgeMaterial=this.scene.edgeMaterial._state;if(edgeMaterial.edges){renderFlags.edgesOpaque=this.numTransparentLayerPortions0){renderFlags.edgesTransparent=true;}}}if(this.numSelectedLayerPortions>0){var selectedMaterial=this.scene.selectedMaterial._state;if(selectedMaterial.fill){if(selectedMaterial.fillAlpha<1.0){renderFlags.selectedSilhouetteTransparent=true;}else{renderFlags.selectedSilhouetteOpaque=true;}}if(selectedMaterial.edges){if(selectedMaterial.edgeAlpha<1.0){renderFlags.selectedEdgesTransparent=true;}else{renderFlags.selectedEdgesOpaque=true;}}}if(this.numHighlightedLayerPortions>0){var highlightMaterial=this.scene.highlightMaterial._state;if(highlightMaterial.fill){if(highlightMaterial.fillAlpha<1.0){renderFlags.highlightedSilhouetteTransparent=true;}else{renderFlags.highlightedSilhouetteOpaque=true;}}if(highlightMaterial.edges){if(highlightMaterial.edgeAlpha<1.0){renderFlags.highlightedEdgesTransparent=true;}else{renderFlags.highlightedEdgesOpaque=true;}}}}// -------------- RENDERING --------------------------------------------------------------------------------------- -/** @private */},{key:"drawColorOpaque",value:function drawColorOpaque(frameCtx){var renderFlags=this.renderFlags;for(var _i404=0,len=renderFlags.visibleLayers.length;_i4040){for(var _i410=0;_i4100){renderFlags.colorTransparent=true;}if(this.numXRayedLayerPortions>0){var xrayMaterial=this.scene.xrayMaterial._state;if(xrayMaterial.fill){if(xrayMaterial.fillAlpha<1.0){renderFlags.xrayedSilhouetteTransparent=true;}else{renderFlags.xrayedSilhouetteOpaque=true;}}if(xrayMaterial.edges){if(xrayMaterial.edgeAlpha<1.0){renderFlags.xrayedEdgesTransparent=true;}else{renderFlags.xrayedEdgesOpaque=true;}}}if(this.numEdgesLayerPortions>0){var edgeMaterial=this.scene.edgeMaterial._state;if(edgeMaterial.edges){renderFlags.edgesOpaque=this.numTransparentLayerPortions0){renderFlags.edgesTransparent=true;}}}if(this.numSelectedLayerPortions>0){var selectedMaterial=this.scene.selectedMaterial._state;if(selectedMaterial.fill){if(selectedMaterial.fillAlpha<1.0){renderFlags.selectedSilhouetteTransparent=true;}else{renderFlags.selectedSilhouetteOpaque=true;}}if(selectedMaterial.edges){if(selectedMaterial.edgeAlpha<1.0){renderFlags.selectedEdgesTransparent=true;}else{renderFlags.selectedEdgesOpaque=true;}}}if(this.numHighlightedLayerPortions>0){var highlightMaterial=this.scene.highlightMaterial._state;if(highlightMaterial.fill){if(highlightMaterial.fillAlpha<1.0){renderFlags.highlightedSilhouetteTransparent=true;}else{renderFlags.highlightedSilhouetteOpaque=true;}}if(highlightMaterial.edges){if(highlightMaterial.edgeAlpha<1.0){renderFlags.highlightedEdgesTransparent=true;}else{renderFlags.highlightedEdgesOpaque=true;}}}}// -------------- RENDERING --------------------------------------------------------------------------------------- +/** @private */},{key:"drawColorOpaque",value:function drawColorOpaque(frameCtx){var renderFlags=this.renderFlags;for(var _i411=0,len=renderFlags.visibleLayers.length;_i411 { + */},{key:"destroy",value:function destroy(){for(var layerId in this._vboBatchingLayers){if(this._vboBatchingLayers.hasOwnProperty(layerId)){this._vboBatchingLayers[layerId].destroy();}}this._vboBatchingLayers={};for(var _layerId in this._vboInstancingLayers){if(this._vboInstancingLayers.hasOwnProperty(_layerId)){this._vboInstancingLayers[_layerId].destroy();}}this._vboInstancingLayers={};this.scene.camera.off(this._onCameraViewMatrix);this.scene.off(this._onTick);for(var _i431=0,len=this.layerList.length;_i431 { // geometry.destroy(); // }); this._geometries={};this._dtxBuckets={};this._textures={};this._textureSets={};this._meshes={};this._entities={};this.scene._aabbDirty=true;if(this._isModel){this.scene._deregisterModel(this);}putScratchMemory();_get(_getPrototypeOf(SceneModel.prototype),"destroy",this).call(this);}}]);return SceneModel;}(Component);/** @@ -21404,7 +21417,7 @@ if(configs.followPointer){var _dolliedThroughSurface2=panController.dollyToCanva * @private */var MouseMiscHandler=/*#__PURE__*/function(){function MouseMiscHandler(scene,controllers,configs,states,updates){_classCallCheck(this,MouseMiscHandler);this._scene=scene;var canvas=this._scene.canvas.canvas;canvas.addEventListener("mouseenter",this._mouseEnterHandler=function(){states.mouseover=true;});canvas.addEventListener("mouseleave",this._mouseLeaveHandler=function(){states.mouseover=false;canvas.style.cursor=null;});document.addEventListener("mousemove",this._mouseMoveHandler=function(e){getCanvasPosFromEvent$2(e,canvas,states.pointerCanvasPos);});canvas.addEventListener("mousedown",this._mouseDownHandler=function(e){if(!(configs.active&&configs.pointerEnabled)){return;}getCanvasPosFromEvent$2(e,canvas,states.pointerCanvasPos);states.mouseover=true;});canvas.addEventListener("mouseup",this._mouseUpHandler=function(e){if(!(configs.active&&configs.pointerEnabled)){return;}});}_createClass(MouseMiscHandler,[{key:"reset",value:function reset(){}},{key:"destroy",value:function destroy(){var canvas=this._scene.canvas.canvas;document.removeEventListener("mousemove",this._mouseMoveHandler);canvas.removeEventListener("mouseenter",this._mouseEnterHandler);canvas.removeEventListener("mouseleave",this._mouseLeaveHandler);canvas.removeEventListener("mousedown",this._mouseDownHandler);canvas.removeEventListener("mouseup",this._mouseUpHandler);}}]);return MouseMiscHandler;}();function getCanvasPosFromEvent$2(event,canvas,canvasPos){if(!event){event=window.event;canvasPos[0]=event.x;canvasPos[1]=event.y;}else{var _canvas$getBoundingCl=canvas.getBoundingClientRect(),x=_canvas$getBoundingCl.x,y=_canvas$getBoundingCl.y;canvasPos[0]=event.clientX-x;canvasPos[1]=event.clientY-y;}return canvasPos;}var getCanvasPosFromEvent$1=function getCanvasPosFromEvent$1(event,canvasPos){if(!event){event=window.event;canvasPos[0]=event.x;canvasPos[1]=event.y;}else{var element=event.target;var totalOffsetLeft=0;var totalOffsetTop=0;while(element.offsetParent){totalOffsetLeft+=element.offsetLeft;totalOffsetTop+=element.offsetTop;element=element.offsetParent;}canvasPos[0]=event.pageX-totalOffsetLeft;canvasPos[1]=event.pageY-totalOffsetTop;}return canvasPos;};/** * @private - */var TouchPanRotateAndDollyHandler=/*#__PURE__*/function(){function TouchPanRotateAndDollyHandler(scene,controllers,configs,states,updates){_classCallCheck(this,TouchPanRotateAndDollyHandler);this._scene=scene;var pickController=controllers.pickController;var pivotController=controllers.pivotController;var tapStartCanvasPos=math.vec2();var tapCanvasPos0=math.vec2();var tapCanvasPos1=math.vec2();var touch0Vec=math.vec2();var lastCanvasTouchPosList=[];var canvas=this._scene.canvas.canvas;var numTouches=0;var waitForTick=false;this._onTick=scene.on("tick",function(){waitForTick=false;});canvas.addEventListener("touchstart",this._canvasTouchStartHandler=function(event){if(!(configs.active&&configs.pointerEnabled)){return;}event.preventDefault();var touches=event.touches;var changedTouches=event.changedTouches;states.touchStartTime=Date.now();if(touches.length===1&&changedTouches.length===1){getCanvasPosFromEvent$1(touches[0],tapStartCanvasPos);if(configs.followPointer){pickController.pickCursorPos=tapStartCanvasPos;pickController.schedulePickSurface=true;pickController.update();if(!configs.planView){if(pickController.picked&&pickController.pickedSurface&&pickController.pickResult&&pickController.pickResult.worldPos){pivotController.setPivotPos(pickController.pickResult.worldPos);if(!configs.firstPerson&&pivotController.startPivot()){pivotController.showPivot();}}else{if(configs.smartPivot){pivotController.setCanvasPivotPos(states.pointerCanvasPos);}else{pivotController.setPivotPos(scene.camera.look);}if(!configs.firstPerson&&pivotController.startPivot()){pivotController.showPivot();}}}}}while(lastCanvasTouchPosList.lengthlook dist var camera=scene.camera;math.subVec3(camera.eye,camera.look,[]);controllers.cameraFlight.flyTo({aabb:aabb});// TODO: Option to back off to fit AABB in view }else{// Fly to fit target boundary in view controllers.cameraFlight.flyTo({aabb:aabb});}};canvas.addEventListener("touchstart",this._canvasTouchStartHandler=function(e){if(!(configs.active&&configs.pointerEnabled)){return;}if(states.longTouchTimeout!==null){clearTimeout(states.longTouchTimeout);states.longTouchTimeout=null;}var touches=e.touches;var changedTouches=e.changedTouches;touchStartTime=Date.now();if(touches.length===1&&changedTouches.length===1){tapStartTime=touchStartTime;getCanvasPosFromEvent(touches[0],tapStartPos);var rightClickClientX=tapStartPos[0];var rightClickClientY=tapStartPos[1];var rightClickPageX=touches[0].pageX;var rightClickPageY=touches[0].pageY;states.longTouchTimeout=setTimeout(function(){controllers.cameraControl.fire("rightClick",{// For context menus -pagePos:[Math.round(rightClickPageX),Math.round(rightClickPageY)],canvasPos:[Math.round(rightClickClientX),Math.round(rightClickClientY)],event:e},true);states.longTouchTimeout=null;},configs.longTapTimeout);}else{tapStartTime=-1;}while(activeTouches.length-1&¤tTime-tapStartTime-1&&tapStartTime-lastTapTime1&&arguments[1]!==undefined?arguments[1]:{};if(this.finalized){throw"MetaScene already finalized - can't add more data";}this._globalizeIDs(metaModelData,options);var metaScene=this.metaScene;var propertyLookup=metaModelData.properties;// Create global Property Sets -if(metaModelData.propertySets){for(var _i435=0,len=metaModelData.propertySets.length;_i4350&&arguments[0]!==undefined?arguments[0]:{};var needFinishSnapshot=!this._snapshotBegun;var resize=params.width!==undefined&¶ms.height!==undefined;var canvas=this.scene.canvas.canvas;var saveWidth=canvas.clientWidth;var saveHeight=canvas.clientHeight;var width=params.width?Math.floor(params.width):canvas.width;var height=params.height?Math.floor(params.height):canvas.height;if(resize){canvas.width=width;canvas.height=height;}if(!this._snapshotBegun){this.beginSnapshot({width:width,height:height});}if(!params.includeGizmos){this.sendToPlugins("snapshotStarting");// Tells plugins to hide things that shouldn't be in snapshot -}var captured={};for(var _i450=0,len=this._plugins.length;_i4500&&_args[0]!==undefined?_args[0]:{};// We use gl.readPixels to get the WebGL canvas snapshot in a new + */},{key:"getSnapshotWithPlugins",value:function(){var _getSnapshotWithPlugins=_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee(){var params,needFinishSnapshot,resize,canvas,saveWidth,saveHeight,snapshotWidth,snapshotHeight,snapshotCanvas,pluginToCapture,pluginContainerElements,_i458,len,plugin,containerElement,_i459,_len97,_containerElement,format,_args=arguments;return _regeneratorRuntime().wrap(function _callee$(_context2){while(1){switch(_context2.prev=_context2.next){case 0:params=_args.length>0&&_args[0]!==undefined?_args[0]:{};// We use gl.readPixels to get the WebGL canvas snapshot in a new // HTMLCanvas element, scaled to the target snapshot size, then // use html2canvas to render each plugin's container element into // that HTMLCanvas. Finally, we save the HTMLCanvas to a bitmap. @@ -23405,15 +23418,15 @@ doublePickFlyTo:true});this._plugins=[];/** // canvas ourselves, in order to allow the Viewer to render the // right amount of pixels, for a sharper image. needFinishSnapshot=!this._snapshotBegun;resize=params.width!==undefined&¶ms.height!==undefined;canvas=this.scene.canvas.canvas;saveWidth=canvas.clientWidth;saveHeight=canvas.clientHeight;snapshotWidth=params.width?Math.floor(params.width):canvas.width;snapshotHeight=params.height?Math.floor(params.height):canvas.height;if(resize){canvas.width=snapshotWidth;canvas.height=snapshotHeight;}if(!this._snapshotBegun){this.beginSnapshot();}if(!params.includeGizmos){this.sendToPlugins("snapshotStarting");// Tells plugins to hide things that shouldn't be in snapshot -}this.scene._renderer.renderSnapshot();snapshotCanvas=this.scene._renderer.readSnapshotAsCanvas();if(resize){canvas.width=saveWidth;canvas.height=saveHeight;this.scene.glRedraw();}pluginToCapture={};pluginContainerElements=[];for(_i451=0,len=this._plugins.length;_i4511&&arguments[1]!==undefined?arguments[1]:true;var transfers=arguments.length>2?arguments[2]:undefined;var transfersSet=transfers||new Set();if(!object);else if(isTransferable(object)){transfersSet.add(object);}else if(isTransferable(object.buffer)){transfersSet.add(object.buffer);}else if(ArrayBuffer.isView(object));else if(recursive&&_typeof(object)==='object'){for(var key in object){getTransferList(object[key],recursive,transfersSet);}}return transfers===undefined?Array.from(transfersSet):[];}function isTransferable(object){if(!object){return false;}if(object instanceof ArrayBuffer){return true;}if(typeof MessagePort!=='undefined'&&object instanceof MessagePort){return true;}if(typeof ImageBitmap!=='undefined'&&object instanceof ImageBitmap){return true;}if(typeof OffscreenCanvas!=='undefined'&&object instanceof OffscreenCanvas){return true;}return false;}var NOOP=function NOOP(){};var WorkerThread=/*#__PURE__*/function(){function WorkerThread(props){_classCallCheck(this,WorkerThread);_defineProperty(this,"name",void 0);_defineProperty(this,"source",void 0);_defineProperty(this,"url",void 0);_defineProperty(this,"terminated",false);_defineProperty(this,"worker",void 0);_defineProperty(this,"onMessage",void 0);_defineProperty(this,"onError",void 0);_defineProperty(this,"_loadableURL",'');var name=props.name,source=props.source,url=props.url;assert$4(source||url);this.name=name;this.source=source;this.url=url;this.onMessage=NOOP;this.onError=function(error){return console.log(error);};this.worker=isBrowser$3?this._createBrowserWorker():this._createNodeWorker();}_createClass(WorkerThread,[{key:"destroy",value:function destroy(){this.onMessage=NOOP;this.onError=NOOP;this.worker.terminate();this.terminated=true;}},{key:"isRunning",get:function get(){return Boolean(this.onMessage);}},{key:"postMessage",value:function postMessage(data,transferList){transferList=transferList||getTransferList(data);this.worker.postMessage(data,transferList);}},{key:"_getErrorFromErrorEvent",value:function _getErrorFromErrorEvent(event){var message='Failed to load ';message+="worker ".concat(this.name," from ").concat(this.url,". ");if(event.message){message+="".concat(event.message," in ");}if(event.lineno){message+=":".concat(event.lineno,":").concat(event.colno);}return new Error(message);}},{key:"_createBrowserWorker",value:function _createBrowserWorker(){var _this105=this;this._loadableURL=getLoadableWorkerURL({source:this.source,url:this.url});var worker=new Worker(this._loadableURL,{name:this.name});worker.onmessage=function(event){if(!event.data){_this105.onError(new Error('No data received'));}else{_this105.onMessage(event.data);}};worker.onerror=function(error){_this105.onError(_this105._getErrorFromErrorEvent(error));_this105.terminated=true;};worker.onmessageerror=function(event){return console.error(event);};return worker;}},{key:"_createNodeWorker",value:function _createNodeWorker(){var _this106=this;var worker;if(this.url){var absolute=this.url.includes(':/')||this.url.startsWith('/');var url=absolute?this.url:"./".concat(this.url);worker=new Worker$1(url,{eval:false});}else if(this.source){worker=new Worker$1(this.source,{eval:true});}else{throw new Error('no worker');}worker.on('message',function(data){_this106.onMessage(data);});worker.on('error',function(error){_this106.onError(error);});worker.on('exit',function(code){});return worker;}}],[{key:"isSupported",value:function isSupported(){return typeof Worker!=='undefined'&&isBrowser$3||_typeof(Worker$1)!==undefined;}}]);return WorkerThread;}();var WorkerPool=/*#__PURE__*/function(){function WorkerPool(props){_classCallCheck(this,WorkerPool);_defineProperty(this,"name",'unnamed');_defineProperty(this,"source",void 0);_defineProperty(this,"url",void 0);_defineProperty(this,"maxConcurrency",1);_defineProperty(this,"maxMobileConcurrency",1);_defineProperty(this,"onDebug",function(){});_defineProperty(this,"reuseWorkers",true);_defineProperty(this,"props",{});_defineProperty(this,"jobQueue",[]);_defineProperty(this,"idleQueue",[]);_defineProperty(this,"count",0);_defineProperty(this,"isDestroyed",false);this.source=props.source;this.url=props.url;this.setProps(props);}_createClass(WorkerPool,[{key:"destroy",value:function destroy(){this.idleQueue.forEach(function(worker){return worker.destroy();});this.isDestroyed=true;}},{key:"setProps",value:function setProps(props){this.props=_objectSpread(_objectSpread({},this.props),props);if(props.name!==undefined){this.name=props.name;}if(props.maxConcurrency!==undefined){this.maxConcurrency=props.maxConcurrency;}if(props.maxMobileConcurrency!==undefined){this.maxMobileConcurrency=props.maxMobileConcurrency;}if(props.reuseWorkers!==undefined){this.reuseWorkers=props.reuseWorkers;}if(props.onDebug!==undefined){this.onDebug=props.onDebug;}}},{key:"startJob",value:function(){var _startJob=_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee2(name){var _this107=this;var onMessage,onError,startPromise,_args2=arguments;return _regeneratorRuntime().wrap(function _callee2$(_context3){while(1){switch(_context3.prev=_context3.next){case 0:onMessage=_args2.length>1&&_args2[1]!==undefined?_args2[1]:function(job,type,data){return job.done(data);};onError=_args2.length>2&&_args2[2]!==undefined?_args2[2]:function(job,error){return job.error(error);};startPromise=new Promise(function(onStart){_this107.jobQueue.push({name:name,onMessage:onMessage,onError:onError,onStart:onStart});return _this107;});this._startQueuedJob();_context3.next=6;return startPromise;case 6:return _context3.abrupt("return",_context3.sent);case 7:case"end":return _context3.stop();}}},_callee2,this);}));function startJob(_x7){return _startJob.apply(this,arguments);}return startJob;}()},{key:"_startQueuedJob",value:function(){var _startQueuedJob2=_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee3(){var workerThread,queuedJob,job;return _regeneratorRuntime().wrap(function _callee3$(_context4){while(1){switch(_context4.prev=_context4.next){case 0:if(this.jobQueue.length){_context4.next=2;break;}return _context4.abrupt("return");case 2:workerThread=this._getAvailableWorker();if(workerThread){_context4.next=5;break;}return _context4.abrupt("return");case 5:queuedJob=this.jobQueue.shift();if(!queuedJob){_context4.next=18;break;}this.onDebug({message:'Starting job',name:queuedJob.name,workerThread:workerThread,backlog:this.jobQueue.length});job=new WorkerJob(queuedJob.name,workerThread);workerThread.onMessage=function(data){return queuedJob.onMessage(job,data.type,data.payload);};workerThread.onError=function(error){return queuedJob.onError(job,error);};queuedJob.onStart(job);_context4.prev=12;_context4.next=15;return job.result;case 15:_context4.prev=15;this.returnWorkerToQueue(workerThread);return _context4.finish(15);case 18:case"end":return _context4.stop();}}},_callee3,this,[[12,,15,18]]);}));function _startQueuedJob(){return _startQueuedJob2.apply(this,arguments);}return _startQueuedJob;}()},{key:"returnWorkerToQueue",value:function returnWorkerToQueue(worker){var shouldDestroyWorker=this.isDestroyed||!this.reuseWorkers||this.count>this._getMaxConcurrency();if(shouldDestroyWorker){worker.destroy();this.count--;}else{this.idleQueue.push(worker);}if(!this.isDestroyed){this._startQueuedJob();}}},{key:"_getAvailableWorker",value:function _getAvailableWorker(){if(this.idleQueue.length>0){return this.idleQueue.shift()||null;}if(this.count0&&arguments[0]!==undefined?arguments[0]:{};WorkerFarm._workerFarm=WorkerFarm._workerFarm||new WorkerFarm({});WorkerFarm._workerFarm.setProps(props);return WorkerFarm._workerFarm;}}]);return WorkerFarm;}();_defineProperty(WorkerFarm,"_workerFarm",void 0);var NPM_TAG='latest';function getWorkerURL(worker){var options=arguments.length>1&&arguments[1]!==undefined?arguments[1]:{};var workerOptions=options[worker.id]||{};var workerFile="".concat(worker.id,"-worker.js");var url=workerOptions.workerUrl;if(!url&&worker.id==='compression'){url=options.workerUrl;}if(options._workerType==='test'){url="modules/".concat(worker.module,"/dist/").concat(workerFile);}if(!url){var version=worker.version;if(version==='latest'){version=NPM_TAG;}var versionTag=version?"@".concat(version):'';url="https://unpkg.com/@loaders.gl/".concat(worker.module).concat(versionTag,"/dist/").concat(workerFile);}assert$4(url);return url;}function validateWorkerVersion(worker){var coreVersion=arguments.length>1&&arguments[1]!==undefined?arguments[1]:VERSION$9;assert$4(worker,'no worker provided');var workerVersion=worker.version;if(!coreVersion||!workerVersion){return false;}return true;}var ChildProcessProxy={};var node=/*#__PURE__*/Object.freeze({__proto__:null,'default':ChildProcessProxy});var VERSION$8="3.2.6";var loadLibraryPromises={};function loadLibrary(_x8){return _loadLibrary.apply(this,arguments);}function _loadLibrary(){_loadLibrary=_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee21(libraryUrl){var moduleName,options,_args19=arguments;return _regeneratorRuntime().wrap(function _callee21$(_context25){while(1){switch(_context25.prev=_context25.next){case 0:moduleName=_args19.length>1&&_args19[1]!==undefined?_args19[1]:null;options=_args19.length>2&&_args19[2]!==undefined?_args19[2]:{};if(moduleName){libraryUrl=getLibraryUrl(libraryUrl,moduleName,options);}loadLibraryPromises[libraryUrl]=loadLibraryPromises[libraryUrl]||loadLibraryFromFile(libraryUrl);_context25.next=6;return loadLibraryPromises[libraryUrl];case 6:return _context25.abrupt("return",_context25.sent);case 7:case"end":return _context25.stop();}}},_callee21);}));return _loadLibrary.apply(this,arguments);}function getLibraryUrl(library,moduleName,options){if(library.startsWith('http')){return library;}var modules=options.modules||{};if(modules[library]){return modules[library];}if(!isBrowser$3){return"modules/".concat(moduleName,"/dist/libs/").concat(library);}if(options.CDN){assert$4(options.CDN.startsWith('http'));return"".concat(options.CDN,"/").concat(moduleName,"@").concat(VERSION$8,"/dist/libs/").concat(library);}if(isWorker){return"../src/libs/".concat(library);}return"modules/".concat(moduleName,"/src/libs/").concat(library);}function loadLibraryFromFile(_x9){return _loadLibraryFromFile.apply(this,arguments);}function _loadLibraryFromFile(){_loadLibraryFromFile=_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee22(libraryUrl){var _response,response,scriptSource;return _regeneratorRuntime().wrap(function _callee22$(_context26){while(1){switch(_context26.prev=_context26.next){case 0:if(!libraryUrl.endsWith('wasm')){_context26.next=7;break;}_context26.next=3;return fetch(libraryUrl);case 3:_response=_context26.sent;_context26.next=6;return _response.arrayBuffer();case 6:return _context26.abrupt("return",_context26.sent);case 7:if(isBrowser$3){_context26.next=20;break;}_context26.prev=8;_context26.t0=node&&undefined;if(!_context26.t0){_context26.next=14;break;}_context26.next=13;return undefined(libraryUrl);case 13:_context26.t0=_context26.sent;case 14:return _context26.abrupt("return",_context26.t0);case 17:_context26.prev=17;_context26.t1=_context26["catch"](8);return _context26.abrupt("return",null);case 20:if(!isWorker){_context26.next=22;break;}return _context26.abrupt("return",importScripts(libraryUrl));case 22:_context26.next=24;return fetch(libraryUrl);case 24:response=_context26.sent;_context26.next=27;return response.text();case 27:scriptSource=_context26.sent;return _context26.abrupt("return",loadLibraryFromString(scriptSource,libraryUrl));case 29:case"end":return _context26.stop();}}},_callee22,null,[[8,17]]);}));return _loadLibraryFromFile.apply(this,arguments);}function loadLibraryFromString(scriptSource,id){if(!isBrowser$3){return undefined&&undefined(scriptSource,id);}if(isWorker){eval.call(global_,scriptSource);return null;}var script=document.createElement('script');script.id=id;try{script.appendChild(document.createTextNode(scriptSource));}catch(e){script.text=scriptSource;}document.body.appendChild(script);return null;}function canParseWithWorker(loader,options){if(!WorkerFarm.isSupported()){return false;}if(!isBrowser$3&&!(options!==null&&options!==void 0&&options._nodeWorkers)){return false;}return loader.worker&&(options===null||options===void 0?void 0:options.worker);}function parseWithWorker(_x10,_x11,_x12,_x13,_x14){return _parseWithWorker.apply(this,arguments);}function _parseWithWorker(){_parseWithWorker=_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee23(loader,data,options,context,parseOnMainThread){var name,url,workerFarm,workerPool,job,result;return _regeneratorRuntime().wrap(function _callee23$(_context27){while(1){switch(_context27.prev=_context27.next){case 0:name=loader.id;url=getWorkerURL(loader,options);workerFarm=WorkerFarm.getWorkerFarm(options);workerPool=workerFarm.getWorkerPool({name:name,url:url});options=JSON.parse(JSON.stringify(options));context=JSON.parse(JSON.stringify(context||{}));_context27.next=8;return workerPool.startJob('process-on-worker',onMessage.bind(null,parseOnMainThread));case 8:job=_context27.sent;job.postMessage('process',{input:data,options:options,context:context});_context27.next=12;return job.result;case 12:result=_context27.sent;_context27.next=15;return result.result;case 15:return _context27.abrupt("return",_context27.sent);case 16:case"end":return _context27.stop();}}},_callee23);}));return _parseWithWorker.apply(this,arguments);}function onMessage(_x15,_x16,_x17,_x18){return _onMessage2.apply(this,arguments);}function _onMessage2(){_onMessage2=_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee24(parseOnMainThread,job,type,payload){var id,input,options,result,message;return _regeneratorRuntime().wrap(function _callee24$(_context28){while(1){switch(_context28.prev=_context28.next){case 0:_context28.t0=type;_context28.next=_context28.t0==='done'?3:_context28.t0==='error'?5:_context28.t0==='process'?7:20;break;case 3:job.done(payload);return _context28.abrupt("break",21);case 5:job.error(new Error(payload.error));return _context28.abrupt("break",21);case 7:id=payload.id,input=payload.input,options=payload.options;_context28.prev=8;_context28.next=11;return parseOnMainThread(input,options);case 11:result=_context28.sent;job.postMessage('done',{id:id,result:result});_context28.next=19;break;case 15:_context28.prev=15;_context28.t1=_context28["catch"](8);message=_context28.t1 instanceof Error?_context28.t1.message:'unknown error';job.postMessage('error',{id:id,error:message});case 19:return _context28.abrupt("break",21);case 20:console.warn("parse-with-worker unknown message ".concat(type));case 21:case"end":return _context28.stop();}}},_callee24,null,[[8,15]]);}));return _onMessage2.apply(this,arguments);}function getFirstCharacters$1(data){var length=arguments.length>1&&arguments[1]!==undefined?arguments[1]:5;if(typeof data==='string'){return data.slice(0,length);}else if(ArrayBuffer.isView(data)){return getMagicString$2(data.buffer,data.byteOffset,length);}else if(data instanceof ArrayBuffer){var byteOffset=0;return getMagicString$2(data,byteOffset,length);}return'';}function getMagicString$2(arrayBuffer,byteOffset,length){if(arrayBuffer.byteLength<=byteOffset+length){return'';}var dataView=new DataView(arrayBuffer);var magic='';for(var _i454=0;_i454=0);assert$5(padding>0);return byteLength+(padding-1)&~(padding-1);}function copyToArray(source,target,targetOffset){var sourceArray;if(source instanceof ArrayBuffer){sourceArray=new Uint8Array(source);}else{var srcByteOffset=source.byteOffset;var srcByteLength=source.byteLength;sourceArray=new Uint8Array(source.buffer||source.arrayBuffer,srcByteOffset,srcByteLength);}target.set(sourceArray,targetOffset);return targetOffset+padToNBytes(sourceArray.byteLength,4);}function concatenateArrayBuffersAsync(_x19){return _concatenateArrayBuffersAsync.apply(this,arguments);}function _concatenateArrayBuffersAsync(){_concatenateArrayBuffersAsync=_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee25(asyncIterator){var arrayBuffers,_iteratorAbruptCompletion,_didIteratorError,_iteratorError,_iterator,_step,chunk;return _regeneratorRuntime().wrap(function _callee25$(_context29){while(1){switch(_context29.prev=_context29.next){case 0:arrayBuffers=[];_iteratorAbruptCompletion=false;_didIteratorError=false;_context29.prev=3;_iterator=_asyncIterator(asyncIterator);case 5:_context29.next=7;return _iterator.next();case 7:if(!(_iteratorAbruptCompletion=!(_step=_context29.sent).done)){_context29.next=13;break;}chunk=_step.value;arrayBuffers.push(chunk);case 10:_iteratorAbruptCompletion=false;_context29.next=5;break;case 13:_context29.next=19;break;case 15:_context29.prev=15;_context29.t0=_context29["catch"](3);_didIteratorError=true;_iteratorError=_context29.t0;case 19:_context29.prev=19;_context29.prev=20;if(!(_iteratorAbruptCompletion&&_iterator["return"]!=null)){_context29.next=24;break;}_context29.next=24;return _iterator["return"]();case 24:_context29.prev=24;if(!_didIteratorError){_context29.next=27;break;}throw _iteratorError;case 27:return _context29.finish(24);case 28:return _context29.finish(19);case 29:return _context29.abrupt("return",concatenateArrayBuffers.apply(void 0,arrayBuffers));case 30:case"end":return _context29.stop();}}},_callee25,null,[[3,15,19,29],[20,,24,28]]);}));return _concatenateArrayBuffersAsync.apply(this,arguments);}var pathPrefix='';var fileAliases={};function resolvePath(filename){for(var alias in fileAliases){if(filename.startsWith(alias)){var replacement=fileAliases[alias];filename=filename.replace(alias,replacement);}}if(!filename.startsWith('http://')&&!filename.startsWith('https://')){filename="".concat(pathPrefix).concat(filename);}return filename;}function filename(url){var slashIndex=url&&url.lastIndexOf('/');return slashIndex>=0?url.substr(slashIndex+1):'';}var isBoolean=function isBoolean(x){return typeof x==='boolean';};var isFunction=function isFunction(x){return typeof x==='function';};var isObject=function isObject(x){return x!==null&&_typeof(x)==='object';};var isPureObject=function isPureObject(x){return isObject(x)&&x.constructor==={}.constructor;};var isIterable=function isIterable(x){return x&&typeof x[Symbol.iterator]==='function';};var isAsyncIterable=function isAsyncIterable(x){return x&&typeof x[Symbol.asyncIterator]==='function';};var isResponse=function isResponse(x){return typeof Response!=='undefined'&&x instanceof Response||x&&x.arrayBuffer&&x.text&&x.json;};var isBlob=function isBlob(x){return typeof Blob!=='undefined'&&x instanceof Blob;};var isBuffer=function isBuffer(x){return x&&_typeof(x)==='object'&&x.isBuffer;};var isReadableDOMStream=function isReadableDOMStream(x){return typeof ReadableStream!=='undefined'&&x instanceof ReadableStream||isObject(x)&&isFunction(x.tee)&&isFunction(x.cancel)&&isFunction(x.getReader);};var isReadableNodeStream=function isReadableNodeStream(x){return isObject(x)&&isFunction(x.read)&&isFunction(x.pipe)&&isBoolean(x.readable);};var isReadableStream=function isReadableStream(x){return isReadableDOMStream(x)||isReadableNodeStream(x);};var DATA_URL_PATTERN=/^data:([-\w.]+\/[-\w.+]+)(;|,)/;var MIME_TYPE_PATTERN=/^([-\w.]+\/[-\w.+]+)/;function parseMIMEType(mimeString){var matches=MIME_TYPE_PATTERN.exec(mimeString);if(matches){return matches[1];}return mimeString;}function parseMIMETypeFromURL(url){var matches=DATA_URL_PATTERN.exec(url);if(matches){return matches[1];}return'';}var QUERY_STRING_PATTERN=/\?.*/;function getResourceUrlAndType(resource){if(isResponse(resource)){var url=stripQueryString(resource.url||'');var contentTypeHeader=resource.headers.get('content-type')||'';return{url:url,type:parseMIMEType(contentTypeHeader)||parseMIMETypeFromURL(url)};}if(isBlob(resource)){return{url:stripQueryString(resource.name||''),type:resource.type||''};}if(typeof resource==='string'){return{url:stripQueryString(resource),type:parseMIMETypeFromURL(resource)};}return{url:'',type:''};}function getResourceContentLength(resource){if(isResponse(resource)){return resource.headers['content-length']||-1;}if(isBlob(resource)){return resource.size;}if(typeof resource==='string'){return resource.length;}if(resource instanceof ArrayBuffer){return resource.byteLength;}if(ArrayBuffer.isView(resource)){return resource.byteLength;}return-1;}function stripQueryString(url){return url.replace(QUERY_STRING_PATTERN,'');}function makeResponse(_x20){return _makeResponse.apply(this,arguments);}function _makeResponse(){_makeResponse=_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee26(resource){var headers,contentLength,_getResourceUrlAndTyp3,url,type,initialDataUrl,response;return _regeneratorRuntime().wrap(function _callee26$(_context30){while(1){switch(_context30.prev=_context30.next){case 0:if(!isResponse(resource)){_context30.next=2;break;}return _context30.abrupt("return",resource);case 2:headers={};contentLength=getResourceContentLength(resource);if(contentLength>=0){headers['content-length']=String(contentLength);}_getResourceUrlAndTyp3=getResourceUrlAndType(resource),url=_getResourceUrlAndTyp3.url,type=_getResourceUrlAndTyp3.type;if(type){headers['content-type']=type;}_context30.next=9;return getInitialDataUrl(resource);case 9:initialDataUrl=_context30.sent;if(initialDataUrl){headers['x-first-bytes']=initialDataUrl;}if(typeof resource==='string'){resource=new TextEncoder().encode(resource);}response=new Response(resource,{headers:headers});Object.defineProperty(response,'url',{value:url});return _context30.abrupt("return",response);case 15:case"end":return _context30.stop();}}},_callee26);}));return _makeResponse.apply(this,arguments);}function checkResponse(_x21){return _checkResponse.apply(this,arguments);}function _checkResponse(){_checkResponse=_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee27(response){var message;return _regeneratorRuntime().wrap(function _callee27$(_context31){while(1){switch(_context31.prev=_context31.next){case 0:if(response.ok){_context31.next=5;break;}_context31.next=3;return getResponseError(response);case 3:message=_context31.sent;throw new Error(message);case 5:case"end":return _context31.stop();}}},_callee27);}));return _checkResponse.apply(this,arguments);}function getResponseError(_x22){return _getResponseError.apply(this,arguments);}function _getResponseError(){_getResponseError=_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee28(response){var message,contentType,text;return _regeneratorRuntime().wrap(function _callee28$(_context32){while(1){switch(_context32.prev=_context32.next){case 0:message="Failed to fetch resource ".concat(response.url," (").concat(response.status,"): ");_context32.prev=1;contentType=response.headers.get('Content-Type');text=response.statusText;if(!contentType.includes('application/json')){_context32.next=11;break;}_context32.t0=text;_context32.t1=" ";_context32.next=9;return response.text();case 9:_context32.t2=_context32.sent;text=_context32.t0+=_context32.t1.concat.call(_context32.t1,_context32.t2);case 11:message+=text;message=message.length>60?"".concat(message.slice(0,60),"..."):message;_context32.next=17;break;case 15:_context32.prev=15;_context32.t3=_context32["catch"](1);case 17:return _context32.abrupt("return",message);case 18:case"end":return _context32.stop();}}},_callee28,null,[[1,15]]);}));return _getResponseError.apply(this,arguments);}function getInitialDataUrl(_x23){return _getInitialDataUrl.apply(this,arguments);}function _getInitialDataUrl(){_getInitialDataUrl=_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee29(resource){var INITIAL_DATA_LENGTH,blobSlice,slice,_base;return _regeneratorRuntime().wrap(function _callee29$(_context33){while(1){switch(_context33.prev=_context33.next){case 0:INITIAL_DATA_LENGTH=5;if(!(typeof resource==='string')){_context33.next=3;break;}return _context33.abrupt("return","data:,".concat(resource.slice(0,INITIAL_DATA_LENGTH)));case 3:if(!(resource instanceof Blob)){_context33.next=8;break;}blobSlice=resource.slice(0,5);_context33.next=7;return new Promise(function(resolve){var reader=new FileReader();reader.onload=function(event){var _event$target;return resolve(event===null||event===void 0?void 0:(_event$target=event.target)===null||_event$target===void 0?void 0:_event$target.result);};reader.readAsDataURL(blobSlice);});case 7:return _context33.abrupt("return",_context33.sent);case 8:if(!(resource instanceof ArrayBuffer)){_context33.next=12;break;}slice=resource.slice(0,INITIAL_DATA_LENGTH);_base=arrayBufferToBase64(slice);return _context33.abrupt("return","data:base64,".concat(_base));case 12:return _context33.abrupt("return",null);case 13:case"end":return _context33.stop();}}},_callee29);}));return _getInitialDataUrl.apply(this,arguments);}function arrayBufferToBase64(buffer){var binary='';var bytes=new Uint8Array(buffer);for(var _i456=0;_i456=0){return true;}return false;}function isBrowser$2(){var isNode=(typeof process==="undefined"?"undefined":_typeof(process))==='object'&&String(process)==='[object process]'&&!process.browser;return!isNode||isElectron$1();}var globals$1={self:typeof self!=='undefined'&&self,window:typeof window!=='undefined'&&window,global:typeof global!=='undefined'&&global,document:typeof document!=='undefined'&&document,process:(typeof process==="undefined"?"undefined":_typeof(process))==='object'&&process};var window_$1=globals$1.window||globals$1.self||globals$1.global;var process_$1=globals$1.process||{};var VERSION$7=typeof __VERSION__!=='undefined'?__VERSION__:'untranspiled source';var isBrowser$1=isBrowser$2();function getStorage$1(type){try{var storage=window[type];var x='__storage_test__';storage.setItem(x,x);storage.removeItem(x);return storage;}catch(e){return null;}}var LocalStorage$1=/*#__PURE__*/function(){function LocalStorage$1(id,defaultSettings){var type=arguments.length>2&&arguments[2]!==undefined?arguments[2]:'sessionStorage';_classCallCheck(this,LocalStorage$1);this.storage=getStorage$1(type);this.id=id;this.config={};Object.assign(this.config,defaultSettings);this._loadConfiguration();}_createClass(LocalStorage$1,[{key:"getConfiguration",value:function getConfiguration(){return this.config;}},{key:"setConfiguration",value:function setConfiguration(configuration){this.config={};return this.updateConfiguration(configuration);}},{key:"updateConfiguration",value:function updateConfiguration(configuration){Object.assign(this.config,configuration);if(this.storage){var serialized=JSON.stringify(this.config);this.storage.setItem(this.id,serialized);}return this;}},{key:"_loadConfiguration",value:function _loadConfiguration(){var configuration={};if(this.storage){var serializedConfiguration=this.storage.getItem(this.id);configuration=serializedConfiguration?JSON.parse(serializedConfiguration):{};}Object.assign(this.config,configuration);return this;}}]);return LocalStorage$1;}();function formatTime$1(ms){var formatted;if(ms<10){formatted="".concat(ms.toFixed(2),"ms");}else if(ms<100){formatted="".concat(ms.toFixed(1),"ms");}else if(ms<1000){formatted="".concat(ms.toFixed(0),"ms");}else{formatted="".concat((ms/1000).toFixed(2),"s");}return formatted;}function leftPad$1(string){var length=arguments.length>1&&arguments[1]!==undefined?arguments[1]:8;var padLength=Math.max(length-string.length,0);return"".concat(' '.repeat(padLength)).concat(string);}function formatImage$1(image,message,scale){var maxWidth=arguments.length>3&&arguments[3]!==undefined?arguments[3]:600;var imageUrl=image.src.replace(/\(/g,'%28').replace(/\)/g,'%29');if(image.width>maxWidth){scale=Math.min(scale,maxWidth/image.width);}var width=image.width*scale;var height=image.height*scale;var style=['font-size:1px;',"padding:".concat(Math.floor(height/2),"px ").concat(Math.floor(width/2),"px;"),"line-height:".concat(height,"px;"),"background:url(".concat(imageUrl,");"),"background-size:".concat(width,"px ").concat(height,"px;"),'color:transparent;'].join('');return["".concat(message," %c+"),style];}var COLOR$1={BLACK:30,RED:31,GREEN:32,YELLOW:33,BLUE:34,MAGENTA:35,CYAN:36,WHITE:37,BRIGHT_BLACK:90,BRIGHT_RED:91,BRIGHT_GREEN:92,BRIGHT_YELLOW:93,BRIGHT_BLUE:94,BRIGHT_MAGENTA:95,BRIGHT_CYAN:96,BRIGHT_WHITE:97};function getColor$1(color){return typeof color==='string'?COLOR$1[color.toUpperCase()]||COLOR$1.WHITE:color;}function addColor$1(string,color,background){if(!isBrowser$1&&typeof string==='string'){if(color){color=getColor$1(color);string="\x1B[".concat(color,"m").concat(string,"\x1B[39m");}if(background){color=getColor$1(background);string="\x1B[".concat(background+10,"m").concat(string,"\x1B[49m");}}return string;}function autobind$1(obj){var predefined=arguments.length>1&&arguments[1]!==undefined?arguments[1]:['constructor'];var proto=Object.getPrototypeOf(obj);var propNames=Object.getOwnPropertyNames(proto);var _iterator7=_createForOfIteratorHelper(propNames),_step7;try{var _loop4=function _loop4(){var key=_step7.value;if(typeof obj[key]==='function'){if(!predefined.find(function(name){return key===name;})){obj[key]=obj[key].bind(obj);}}};for(_iterator7.s();!(_step7=_iterator7.n()).done;){_loop4();}}catch(err){_iterator7.e(err);}finally{_iterator7.f();}}function assert$3(condition,message){if(!condition){throw new Error(message||'Assertion failed');}}function getHiResTimestamp$1(){var timestamp;if(isBrowser$1&&window_$1.performance){timestamp=window_$1.performance.now();}else if(process_$1.hrtime){var timeParts=process_$1.hrtime();timestamp=timeParts[0]*1000+timeParts[1]/1e6;}else{timestamp=Date.now();}return timestamp;}var originalConsole$1={debug:isBrowser$1?console.debug||console.log:console.log,log:console.log,info:console.info,warn:console.warn,error:console.error};var DEFAULT_SETTINGS$1={enabled:true,level:0};function noop$1(){}var cache$1={};var ONCE$1={once:true};function getTableHeader$1(table){for(var key in table){for(var title in table[key]){return title||'untitled';}}return'empty';}var Log$2=/*#__PURE__*/function(){function Log$2(){var _ref16=arguments.length>0&&arguments[0]!==undefined?arguments[0]:{id:''},id=_ref16.id;_classCallCheck(this,Log$2);this.id=id;this.VERSION=VERSION$7;this._startTs=getHiResTimestamp$1();this._deltaTs=getHiResTimestamp$1();this.LOG_THROTTLE_TIMEOUT=0;this._storage=new LocalStorage$1("__probe-".concat(this.id,"__"),DEFAULT_SETTINGS$1);this.userData={};this.timeStamp("".concat(this.id," started"));autobind$1(this);Object.seal(this);}_createClass(Log$2,[{key:"level",get:function get(){return this.getLevel();},set:function set(newLevel){this.setLevel(newLevel);}},{key:"isEnabled",value:function isEnabled(){return this._storage.config.enabled;}},{key:"getLevel",value:function getLevel(){return this._storage.config.level;}},{key:"getTotal",value:function getTotal(){return Number((getHiResTimestamp$1()-this._startTs).toPrecision(10));}},{key:"getDelta",value:function getDelta(){return Number((getHiResTimestamp$1()-this._deltaTs).toPrecision(10));}},{key:"priority",get:function get(){return this.level;},set:function set(newPriority){this.level=newPriority;}},{key:"getPriority",value:function getPriority(){return this.level;}},{key:"enable",value:function enable(){var enabled=arguments.length>0&&arguments[0]!==undefined?arguments[0]:true;this._storage.updateConfiguration({enabled:enabled});return this;}},{key:"setLevel",value:function setLevel(level){this._storage.updateConfiguration({level:level});return this;}},{key:"assert",value:function assert(condition,message){assert$3(condition,message);}},{key:"warn",value:function warn(message){return this._getLogFunction(0,message,originalConsole$1.warn,arguments,ONCE$1);}},{key:"error",value:function error(message){return this._getLogFunction(0,message,originalConsole$1.error,arguments);}},{key:"deprecated",value:function deprecated(oldUsage,newUsage){return this.warn("`".concat(oldUsage,"` is deprecated and will be removed in a later version. Use `").concat(newUsage,"` instead"));}},{key:"removed",value:function removed(oldUsage,newUsage){return this.error("`".concat(oldUsage,"` has been removed. Use `").concat(newUsage,"` instead"));}},{key:"probe",value:function probe(logLevel,message){return this._getLogFunction(logLevel,message,originalConsole$1.log,arguments,{time:true,once:true});}},{key:"log",value:function log(logLevel,message){return this._getLogFunction(logLevel,message,originalConsole$1.debug,arguments);}},{key:"info",value:function info(logLevel,message){return this._getLogFunction(logLevel,message,console.info,arguments);}},{key:"once",value:function once(logLevel,message){return this._getLogFunction(logLevel,message,originalConsole$1.debug||originalConsole$1.info,arguments,ONCE$1);}},{key:"table",value:function table(logLevel,_table,columns){if(_table){return this._getLogFunction(logLevel,_table,console.table||noop$1,columns&&[columns],{tag:getTableHeader$1(_table)});}return noop$1;}},{key:"image",value:function(_image6){function image(_x26){return _image6.apply(this,arguments);}image.toString=function(){return _image6.toString();};return image;}(function(_ref17){var logLevel=_ref17.logLevel,priority=_ref17.priority,image=_ref17.image,_ref17$message=_ref17.message,message=_ref17$message===void 0?'':_ref17$message,_ref17$scale=_ref17.scale,scale=_ref17$scale===void 0?1:_ref17$scale;if(!this._shouldLog(logLevel||priority)){return noop$1;}return isBrowser$1?logImageInBrowser$1({image:image,message:message,scale:scale}):logImageInNode$1({image:image,message:message,scale:scale});})},{key:"settings",value:function settings(){if(console.table){console.table(this._storage.config);}else{console.log(this._storage.config);}}},{key:"get",value:function get(setting){return this._storage.config[setting];}},{key:"set",value:function set(setting,value){this._storage.updateConfiguration(_defineProperty2({},setting,value));}},{key:"time",value:function time(logLevel,message){return this._getLogFunction(logLevel,message,console.time?console.time:console.info);}},{key:"timeEnd",value:function timeEnd(logLevel,message){return this._getLogFunction(logLevel,message,console.timeEnd?console.timeEnd:console.info);}},{key:"timeStamp",value:function timeStamp(logLevel,message){return this._getLogFunction(logLevel,message,console.timeStamp||noop$1);}},{key:"group",value:function group(logLevel,message){var opts=arguments.length>2&&arguments[2]!==undefined?arguments[2]:{collapsed:false};opts=normalizeArguments$1({logLevel:logLevel,message:message,opts:opts});var _opts=opts,collapsed=_opts.collapsed;opts.method=(collapsed?console.groupCollapsed:console.group)||console.info;return this._getLogFunction(opts);}},{key:"groupCollapsed",value:function groupCollapsed(logLevel,message){var opts=arguments.length>2&&arguments[2]!==undefined?arguments[2]:{};return this.group(logLevel,message,Object.assign({},opts,{collapsed:true}));}},{key:"groupEnd",value:function groupEnd(logLevel){return this._getLogFunction(logLevel,'',console.groupEnd||noop$1);}},{key:"withGroup",value:function withGroup(logLevel,message,func){this.group(logLevel,message)();try{func();}finally{this.groupEnd(logLevel)();}}},{key:"trace",value:function trace(){if(console.trace){console.trace();}}},{key:"_shouldLog",value:function _shouldLog(logLevel){return this.isEnabled()&&this.getLevel()>=normalizeLogLevel$1(logLevel);}},{key:"_getLogFunction",value:function _getLogFunction(logLevel,message,method){var args=arguments.length>3&&arguments[3]!==undefined?arguments[3]:[];var opts=arguments.length>4?arguments[4]:undefined;if(this._shouldLog(logLevel)){var _method;opts=normalizeArguments$1({logLevel:logLevel,message:message,args:args,opts:opts});method=method||opts.method;assert$3(method);opts.total=this.getTotal();opts.delta=this.getDelta();this._deltaTs=getHiResTimestamp$1();var tag=opts.tag||opts.message;if(opts.once){if(!cache$1[tag]){cache$1[tag]=getHiResTimestamp$1();}else{return noop$1;}}message=decorateMessage$1(this.id,opts.message,opts);return(_method=method).bind.apply(_method,[console,message].concat(_toConsumableArray(opts.args)));}return noop$1;}}]);return Log$2;}();Log$2.VERSION=VERSION$7;function normalizeLogLevel$1(logLevel){if(!logLevel){return 0;}var resolvedLevel;switch(_typeof(logLevel)){case'number':resolvedLevel=logLevel;break;case'object':resolvedLevel=logLevel.logLevel||logLevel.priority||0;break;default:return 0;}assert$3(Number.isFinite(resolvedLevel)&&resolvedLevel>=0);return resolvedLevel;}function normalizeArguments$1(opts){var logLevel=opts.logLevel,message=opts.message;opts.logLevel=normalizeLogLevel$1(logLevel);var args=opts.args?Array.from(opts.args):[];while(args.length&&args.shift()!==message){}opts.args=args;switch(_typeof(logLevel)){case'string':case'function':if(message!==undefined){args.unshift(message);}opts.message=logLevel;break;case'object':Object.assign(opts,logLevel);break;}if(typeof opts.message==='function'){opts.message=opts.message();}var messageType=_typeof(opts.message);assert$3(messageType==='string'||messageType==='object');return Object.assign(opts,opts.opts);}function decorateMessage$1(id,message,opts){if(typeof message==='string'){var _time=opts.time?leftPad$1(formatTime$1(opts.total)):'';message=opts.time?"".concat(id,": ").concat(_time," ").concat(message):"".concat(id,": ").concat(message);message=addColor$1(message,opts.color,opts.background);}return message;}function logImageInNode$1(_ref18){var image=_ref18.image,_ref18$message=_ref18.message,message=_ref18$message===void 0?'':_ref18$message,_ref18$scale=_ref18.scale,scale=_ref18$scale===void 0?1:_ref18$scale;var asciify=null;try{asciify=module.require('asciify-image');}catch(error){}if(asciify){return function(){return asciify(image,{fit:'box',width:"".concat(Math.round(80*scale),"%")}).then(function(data){return console.log(data);});};}return noop$1;}function logImageInBrowser$1(_ref19){var image=_ref19.image,_ref19$message=_ref19.message,message=_ref19$message===void 0?'':_ref19$message,_ref19$scale=_ref19.scale,scale=_ref19$scale===void 0?1:_ref19$scale;if(typeof image==='string'){var img=new Image();img.onload=function(){var _console;var args=formatImage$1(img,message,scale);(_console=console).log.apply(_console,_toConsumableArray(args));};img.src=image;return noop$1;}var element=image.nodeName||'';if(element.toLowerCase()==='img'){var _console2;(_console2=console).log.apply(_console2,_toConsumableArray(formatImage$1(image,message,scale)));return noop$1;}if(element.toLowerCase()==='canvas'){var _img=new Image();_img.onload=function(){var _console3;return(_console3=console).log.apply(_console3,_toConsumableArray(formatImage$1(_img,message,scale)));};_img.src=image.toDataURL();return noop$1;}return noop$1;}var probeLog=new Log$2({id:'loaders.gl'});var NullLog=/*#__PURE__*/function(){function NullLog(){_classCallCheck(this,NullLog);}_createClass(NullLog,[{key:"log",value:function log(){return function(){};}},{key:"info",value:function info(){return function(){};}},{key:"warn",value:function warn(){return function(){};}},{key:"error",value:function error(){return function(){};}}]);return NullLog;}();var ConsoleLog=/*#__PURE__*/function(){function ConsoleLog(){_classCallCheck(this,ConsoleLog);_defineProperty(this,"console",void 0);this.console=console;}_createClass(ConsoleLog,[{key:"log",value:function log(){var _this$console$log;for(var _len99=arguments.length,args=new Array(_len99),_key7=0;_key7<_len99;_key7++){args[_key7]=arguments[_key7];}return(_this$console$log=this.console.log).bind.apply(_this$console$log,[this.console].concat(args));}},{key:"info",value:function info(){var _this$console$info;for(var _len100=arguments.length,args=new Array(_len100),_key8=0;_key8<_len100;_key8++){args[_key8]=arguments[_key8];}return(_this$console$info=this.console.info).bind.apply(_this$console$info,[this.console].concat(args));}},{key:"warn",value:function warn(){var _this$console$warn;for(var _len101=arguments.length,args=new Array(_len101),_key9=0;_key9<_len101;_key9++){args[_key9]=arguments[_key9];}return(_this$console$warn=this.console.warn).bind.apply(_this$console$warn,[this.console].concat(args));}},{key:"error",value:function error(){var _this$console$error;for(var _len102=arguments.length,args=new Array(_len102),_key10=0;_key10<_len102;_key10++){args[_key10]=arguments[_key10];}return(_this$console$error=this.console.error).bind.apply(_this$console$error,[this.console].concat(args));}}]);return ConsoleLog;}();var DEFAULT_LOADER_OPTIONS={fetch:null,mimeType:undefined,nothrow:false,log:new ConsoleLog(),CDN:'https://unpkg.com/@loaders.gl',worker:true,maxConcurrency:3,maxMobileConcurrency:1,reuseWorkers:isBrowser$4,_nodeWorkers:false,_workerType:'',limit:0,_limitMB:0,batchSize:'auto',batchDebounceMs:0,metadata:false,transforms:[]};var REMOVED_LOADER_OPTIONS={"throws":'nothrow',dataType:'(no longer used)',uri:'baseUri',method:'fetch.method',headers:'fetch.headers',body:'fetch.body',mode:'fetch.mode',credentials:'fetch.credentials',cache:'fetch.cache',redirect:'fetch.redirect',referrer:'fetch.referrer',referrerPolicy:'fetch.referrerPolicy',integrity:'fetch.integrity',keepalive:'fetch.keepalive',signal:'fetch.signal'};function getGlobalLoaderState(){globalThis.loaders=globalThis.loaders||{};var loaders=globalThis.loaders;loaders._state=loaders._state||{};return loaders._state;}var getGlobalLoaderOptions=function getGlobalLoaderOptions(){var state=getGlobalLoaderState();state.globalOptions=state.globalOptions||_objectSpread({},DEFAULT_LOADER_OPTIONS);return state.globalOptions;};function normalizeOptions(options,loader,loaders,url){loaders=loaders||[];loaders=Array.isArray(loaders)?loaders:[loaders];validateOptions(options,loaders);return normalizeOptionsInternal(loader,options,url);}function getFetchFunction(options,context){var globalOptions=getGlobalLoaderOptions();var fetchOptions=options||globalOptions;if(typeof fetchOptions.fetch==='function'){return fetchOptions.fetch;}if(isObject(fetchOptions.fetch)){return function(url){return fetchFile(url,fetchOptions);};}if(context!==null&&context!==void 0&&context.fetch){return context===null||context===void 0?void 0:context.fetch;}return fetchFile;}function validateOptions(options,loaders){validateOptionsObject(options,null,DEFAULT_LOADER_OPTIONS,REMOVED_LOADER_OPTIONS,loaders);var _iterator8=_createForOfIteratorHelper(loaders),_step8;try{for(_iterator8.s();!(_step8=_iterator8.n()).done;){var loader=_step8.value;var idOptions=options&&options[loader.id]||{};var loaderOptions=loader.options&&loader.options[loader.id]||{};var deprecatedOptions=loader.deprecatedOptions&&loader.deprecatedOptions[loader.id]||{};validateOptionsObject(idOptions,loader.id,loaderOptions,deprecatedOptions,loaders);}}catch(err){_iterator8.e(err);}finally{_iterator8.f();}}function validateOptionsObject(options,id,defaultOptions,deprecatedOptions,loaders){var loaderName=id||'Top level';var prefix=id?"".concat(id,"."):'';for(var key in options){var isSubOptions=!id&&isObject(options[key]);var isBaseUriOption=key==='baseUri'&&!id;var isWorkerUrlOption=key==='workerUrl'&&id;if(!(key in defaultOptions)&&!isBaseUriOption&&!isWorkerUrlOption){if(key in deprecatedOptions){probeLog.warn("".concat(loaderName," loader option '").concat(prefix).concat(key,"' no longer supported, use '").concat(deprecatedOptions[key],"'"))();}else if(!isSubOptions){var suggestion=findSimilarOption(key,loaders);probeLog.warn("".concat(loaderName," loader option '").concat(prefix).concat(key,"' not recognized. ").concat(suggestion))();}}}}function findSimilarOption(optionKey,loaders){var lowerCaseOptionKey=optionKey.toLowerCase();var bestSuggestion='';var _iterator9=_createForOfIteratorHelper(loaders),_step9;try{for(_iterator9.s();!(_step9=_iterator9.n()).done;){var loader=_step9.value;for(var key in loader.options){if(optionKey===key){return"Did you mean '".concat(loader.id,".").concat(key,"'?");}var lowerCaseKey=key.toLowerCase();var isPartialMatch=lowerCaseOptionKey.startsWith(lowerCaseKey)||lowerCaseKey.startsWith(lowerCaseOptionKey);if(isPartialMatch){bestSuggestion=bestSuggestion||"Did you mean '".concat(loader.id,".").concat(key,"'?");}}}}catch(err){_iterator9.e(err);}finally{_iterator9.f();}return bestSuggestion;}function normalizeOptionsInternal(loader,options,url){var loaderDefaultOptions=loader.options||{};var mergedOptions=_objectSpread({},loaderDefaultOptions);addUrlOptions(mergedOptions,url);if(mergedOptions.log===null){mergedOptions.log=new NullLog();}mergeNestedFields(mergedOptions,getGlobalLoaderOptions());mergeNestedFields(mergedOptions,options);return mergedOptions;}function mergeNestedFields(mergedOptions,options){for(var key in options){if(key in options){var value=options[key];if(isPureObject(value)&&isPureObject(mergedOptions[key])){mergedOptions[key]=_objectSpread(_objectSpread({},mergedOptions[key]),options[key]);}else{mergedOptions[key]=options[key];}}}}function addUrlOptions(options,url){if(url&&!('baseUri'in options)){options.baseUri=url;}}function isLoaderObject(loader){var _loader;if(!loader){return false;}if(Array.isArray(loader)){loader=loader[0];}var hasExtensions=Array.isArray((_loader=loader)===null||_loader===void 0?void 0:_loader.extensions);return hasExtensions;}function normalizeLoader(loader){var _loader2,_loader3;assert$5(loader,'null loader');assert$5(isLoaderObject(loader),'invalid loader');var options;if(Array.isArray(loader)){options=loader[1];loader=loader[0];loader=_objectSpread(_objectSpread({},loader),{},{options:_objectSpread(_objectSpread({},loader.options),options)});}if((_loader2=loader)!==null&&_loader2!==void 0&&_loader2.parseTextSync||(_loader3=loader)!==null&&_loader3!==void 0&&_loader3.parseText){loader.text=true;}if(!loader.text){loader.binary=true;}return loader;}var getGlobalLoaderRegistry=function getGlobalLoaderRegistry(){var state=getGlobalLoaderState();state.loaderRegistry=state.loaderRegistry||[];return state.loaderRegistry;};function getRegisteredLoaders(){return getGlobalLoaderRegistry();}function isElectron(mockUserAgent){if(typeof window!=='undefined'&&_typeof(window.process)==='object'&&window.process.type==='renderer'){return true;}if(typeof process!=='undefined'&&_typeof(process.versions)==='object'&&Boolean(process.versions.electron)){return true;}var realUserAgent=(typeof navigator==="undefined"?"undefined":_typeof(navigator))==='object'&&typeof navigator.userAgent==='string'&&navigator.userAgent;var userAgent=mockUserAgent||realUserAgent;if(userAgent&&userAgent.indexOf('Electron')>=0){return true;}return false;}function isBrowser(){var isNode=(typeof process==="undefined"?"undefined":_typeof(process))==='object'&&String(process)==='[object process]'&&!process.browser;return!isNode||isElectron();}var globals={self:typeof self!=='undefined'&&self,window:typeof window!=='undefined'&&window,global:typeof global!=='undefined'&&global,document:typeof document!=='undefined'&&document,process:(typeof process==="undefined"?"undefined":_typeof(process))==='object'&&process};var window_=globals.window||globals.self||globals.global;var process_=globals.process||{};var VERSION$6=typeof __VERSION__!=='undefined'?__VERSION__:'untranspiled source';isBrowser();function getStorage(type){try{var storage=window[type];var x='__storage_test__';storage.setItem(x,x);storage.removeItem(x);return storage;}catch(e){return null;}}var LocalStorage=/*#__PURE__*/function(){function LocalStorage(id){_classCallCheck(this,LocalStorage);var defaultSettings=arguments.length>1&&arguments[1]!==undefined?arguments[1]:{};var type=arguments.length>2&&arguments[2]!==undefined?arguments[2]:'sessionStorage';_defineProperty(this,"storage",void 0);_defineProperty(this,"id",void 0);_defineProperty(this,"config",{});this.storage=getStorage(type);this.id=id;this.config={};Object.assign(this.config,defaultSettings);this._loadConfiguration();}_createClass(LocalStorage,[{key:"getConfiguration",value:function getConfiguration(){return this.config;}},{key:"setConfiguration",value:function setConfiguration(configuration){this.config={};return this.updateConfiguration(configuration);}},{key:"updateConfiguration",value:function updateConfiguration(configuration){Object.assign(this.config,configuration);if(this.storage){var serialized=JSON.stringify(this.config);this.storage.setItem(this.id,serialized);}return this;}},{key:"_loadConfiguration",value:function _loadConfiguration(){var configuration={};if(this.storage){var serializedConfiguration=this.storage.getItem(this.id);configuration=serializedConfiguration?JSON.parse(serializedConfiguration):{};}Object.assign(this.config,configuration);return this;}}]);return LocalStorage;}();function formatTime(ms){var formatted;if(ms<10){formatted="".concat(ms.toFixed(2),"ms");}else if(ms<100){formatted="".concat(ms.toFixed(1),"ms");}else if(ms<1000){formatted="".concat(ms.toFixed(0),"ms");}else{formatted="".concat((ms/1000).toFixed(2),"s");}return formatted;}function leftPad(string){var length=arguments.length>1&&arguments[1]!==undefined?arguments[1]:8;var padLength=Math.max(length-string.length,0);return"".concat(' '.repeat(padLength)).concat(string);}function formatImage(image,message,scale){var maxWidth=arguments.length>3&&arguments[3]!==undefined?arguments[3]:600;var imageUrl=image.src.replace(/\(/g,'%28').replace(/\)/g,'%29');if(image.width>maxWidth){scale=Math.min(scale,maxWidth/image.width);}var width=image.width*scale;var height=image.height*scale;var style=['font-size:1px;',"padding:".concat(Math.floor(height/2),"px ").concat(Math.floor(width/2),"px;"),"line-height:".concat(height,"px;"),"background:url(".concat(imageUrl,");"),"background-size:".concat(width,"px ").concat(height,"px;"),'color:transparent;'].join('');return["".concat(message," %c+"),style];}var COLOR;(function(COLOR){COLOR[COLOR["BLACK"]=30]="BLACK";COLOR[COLOR["RED"]=31]="RED";COLOR[COLOR["GREEN"]=32]="GREEN";COLOR[COLOR["YELLOW"]=33]="YELLOW";COLOR[COLOR["BLUE"]=34]="BLUE";COLOR[COLOR["MAGENTA"]=35]="MAGENTA";COLOR[COLOR["CYAN"]=36]="CYAN";COLOR[COLOR["WHITE"]=37]="WHITE";COLOR[COLOR["BRIGHT_BLACK"]=90]="BRIGHT_BLACK";COLOR[COLOR["BRIGHT_RED"]=91]="BRIGHT_RED";COLOR[COLOR["BRIGHT_GREEN"]=92]="BRIGHT_GREEN";COLOR[COLOR["BRIGHT_YELLOW"]=93]="BRIGHT_YELLOW";COLOR[COLOR["BRIGHT_BLUE"]=94]="BRIGHT_BLUE";COLOR[COLOR["BRIGHT_MAGENTA"]=95]="BRIGHT_MAGENTA";COLOR[COLOR["BRIGHT_CYAN"]=96]="BRIGHT_CYAN";COLOR[COLOR["BRIGHT_WHITE"]=97]="BRIGHT_WHITE";})(COLOR||(COLOR={}));function getColor(color){return typeof color==='string'?COLOR[color.toUpperCase()]||COLOR.WHITE:color;}function addColor(string,color,background){if(!isBrowser&&typeof string==='string'){if(color){color=getColor(color);string="\x1B[".concat(color,"m").concat(string,"\x1B[39m");}if(background){color=getColor(background);string="\x1B[".concat(background+10,"m").concat(string,"\x1B[49m");}}return string;}function autobind(obj){var predefined=arguments.length>1&&arguments[1]!==undefined?arguments[1]:['constructor'];var proto=Object.getPrototypeOf(obj);var propNames=Object.getOwnPropertyNames(proto);var _iterator10=_createForOfIteratorHelper(propNames),_step10;try{var _loop5=function _loop5(){var key=_step10.value;if(typeof obj[key]==='function'){if(!predefined.find(function(name){return key===name;})){obj[key]=obj[key].bind(obj);}}};for(_iterator10.s();!(_step10=_iterator10.n()).done;){_loop5();}}catch(err){_iterator10.e(err);}finally{_iterator10.f();}}function assert$2(condition,message){if(!condition){throw new Error(message||'Assertion failed');}}function getHiResTimestamp(){var timestamp;if(isBrowser&&'performance'in window_){var _window$performance,_window$performance$n;timestamp=window_===null||window_===void 0?void 0:(_window$performance=window_.performance)===null||_window$performance===void 0?void 0:(_window$performance$n=_window$performance.now)===null||_window$performance$n===void 0?void 0:_window$performance$n.call(_window$performance);}else if('hrtime'in process_){var _process$hrtime;var timeParts=process_===null||process_===void 0?void 0:(_process$hrtime=process_.hrtime)===null||_process$hrtime===void 0?void 0:_process$hrtime.call(process_);timestamp=timeParts[0]*1000+timeParts[1]/1e6;}else{timestamp=Date.now();}return timestamp;}var originalConsole={debug:isBrowser?console.debug||console.log:console.log,log:console.log,info:console.info,warn:console.warn,error:console.error};var DEFAULT_SETTINGS={enabled:true,level:0};function noop(){}var cache={};var ONCE={once:true};var Log$1=/*#__PURE__*/function(){function Log$1(){_classCallCheck(this,Log$1);var _ref20=arguments.length>0&&arguments[0]!==undefined?arguments[0]:{id:''},id=_ref20.id;_defineProperty(this,"id",void 0);_defineProperty(this,"VERSION",VERSION$6);_defineProperty(this,"_startTs",getHiResTimestamp());_defineProperty(this,"_deltaTs",getHiResTimestamp());_defineProperty(this,"_storage",void 0);_defineProperty(this,"userData",{});_defineProperty(this,"LOG_THROTTLE_TIMEOUT",0);this.id=id;this._storage=new LocalStorage("__probe-".concat(this.id,"__"),DEFAULT_SETTINGS);this.userData={};this.timeStamp("".concat(this.id," started"));autobind(this);Object.seal(this);}_createClass(Log$1,[{key:"level",get:function get(){return this.getLevel();},set:function set(newLevel){this.setLevel(newLevel);}},{key:"isEnabled",value:function isEnabled(){return this._storage.config.enabled;}},{key:"getLevel",value:function getLevel(){return this._storage.config.level;}},{key:"getTotal",value:function getTotal(){return Number((getHiResTimestamp()-this._startTs).toPrecision(10));}},{key:"getDelta",value:function getDelta(){return Number((getHiResTimestamp()-this._deltaTs).toPrecision(10));}},{key:"priority",get:function get(){return this.level;},set:function set(newPriority){this.level=newPriority;}},{key:"getPriority",value:function getPriority(){return this.level;}},{key:"enable",value:function enable(){var enabled=arguments.length>0&&arguments[0]!==undefined?arguments[0]:true;this._storage.updateConfiguration({enabled:enabled});return this;}},{key:"setLevel",value:function setLevel(level){this._storage.updateConfiguration({level:level});return this;}},{key:"get",value:function get(setting){return this._storage.config[setting];}},{key:"set",value:function set(setting,value){this._storage.updateConfiguration(_defineProperty2({},setting,value));}},{key:"settings",value:function settings(){if(console.table){console.table(this._storage.config);}else{console.log(this._storage.config);}}},{key:"assert",value:function assert(condition,message){assert$2(condition,message);}},{key:"warn",value:function warn(message){return this._getLogFunction(0,message,originalConsole.warn,arguments,ONCE);}},{key:"error",value:function error(message){return this._getLogFunction(0,message,originalConsole.error,arguments);}},{key:"deprecated",value:function deprecated(oldUsage,newUsage){return this.warn("`".concat(oldUsage,"` is deprecated and will be removed in a later version. Use `").concat(newUsage,"` instead"));}},{key:"removed",value:function removed(oldUsage,newUsage){return this.error("`".concat(oldUsage,"` has been removed. Use `").concat(newUsage,"` instead"));}},{key:"probe",value:function probe(logLevel,message){return this._getLogFunction(logLevel,message,originalConsole.log,arguments,{time:true,once:true});}},{key:"log",value:function log(logLevel,message){return this._getLogFunction(logLevel,message,originalConsole.debug,arguments);}},{key:"info",value:function info(logLevel,message){return this._getLogFunction(logLevel,message,console.info,arguments);}},{key:"once",value:function once(logLevel,message){for(var _len=arguments.length,args=new Array(_len>2?_len-2:0),_key=2;_key<_len;_key++){args[_key-2]=arguments[_key];}return this._getLogFunction(logLevel,message,originalConsole.debug||originalConsole.info,arguments,ONCE);}},{key:"table",value:function table(logLevel,_table2,columns){if(_table2){return this._getLogFunction(logLevel,_table2,console.table||noop,columns&&[columns],{tag:getTableHeader(_table2)});}return noop;}},{key:"image",value:function image(_ref){var logLevel=_ref.logLevel,priority=_ref.priority,image=_ref.image,_ref$message=_ref.message,message=_ref$message===void 0?'':_ref$message,_ref$scale=_ref.scale,scale=_ref$scale===void 0?1:_ref$scale;if(!this._shouldLog(logLevel||priority)){return noop;}return isBrowser?logImageInBrowser({image:image,message:message,scale:scale}):logImageInNode({image:image,message:message,scale:scale});}},{key:"time",value:function time(logLevel,message){return this._getLogFunction(logLevel,message,console.time?console.time:console.info);}},{key:"timeEnd",value:function timeEnd(logLevel,message){return this._getLogFunction(logLevel,message,console.timeEnd?console.timeEnd:console.info);}},{key:"timeStamp",value:function timeStamp(logLevel,message){return this._getLogFunction(logLevel,message,console.timeStamp||noop);}},{key:"group",value:function group(logLevel,message){var opts=arguments.length>2&&arguments[2]!==undefined?arguments[2]:{collapsed:false};var options=normalizeArguments({logLevel:logLevel,message:message,opts:opts});var collapsed=opts.collapsed;options.method=(collapsed?console.groupCollapsed:console.group)||console.info;return this._getLogFunction(options);}},{key:"groupCollapsed",value:function groupCollapsed(logLevel,message){var opts=arguments.length>2&&arguments[2]!==undefined?arguments[2]:{};return this.group(logLevel,message,Object.assign({},opts,{collapsed:true}));}},{key:"groupEnd",value:function groupEnd(logLevel){return this._getLogFunction(logLevel,'',console.groupEnd||noop);}},{key:"withGroup",value:function withGroup(logLevel,message,func){this.group(logLevel,message)();try{func();}finally{this.groupEnd(logLevel)();}}},{key:"trace",value:function trace(){if(console.trace){console.trace();}}},{key:"_shouldLog",value:function _shouldLog(logLevel){return this.isEnabled()&&this.getLevel()>=normalizeLogLevel(logLevel);}},{key:"_getLogFunction",value:function _getLogFunction(logLevel,message,method,args,opts){if(this._shouldLog(logLevel)){var _method2;opts=normalizeArguments({logLevel:logLevel,message:message,args:args,opts:opts});method=method||opts.method;assert$2(method);opts.total=this.getTotal();opts.delta=this.getDelta();this._deltaTs=getHiResTimestamp();var tag=opts.tag||opts.message;if(opts.once){if(!cache[tag]){cache[tag]=getHiResTimestamp();}else{return noop;}}message=decorateMessage(this.id,opts.message,opts);return(_method2=method).bind.apply(_method2,[console,message].concat(_toConsumableArray(opts.args)));}return noop;}}]);return Log$1;}();_defineProperty(Log$1,"VERSION",VERSION$6);function normalizeLogLevel(logLevel){if(!logLevel){return 0;}var resolvedLevel;switch(_typeof(logLevel)){case'number':resolvedLevel=logLevel;break;case'object':resolvedLevel=logLevel.logLevel||logLevel.priority||0;break;default:return 0;}assert$2(Number.isFinite(resolvedLevel)&&resolvedLevel>=0);return resolvedLevel;}function normalizeArguments(opts){var logLevel=opts.logLevel,message=opts.message;opts.logLevel=normalizeLogLevel(logLevel);var args=opts.args?Array.from(opts.args):[];while(args.length&&args.shift()!==message){}switch(_typeof(logLevel)){case'string':case'function':if(message!==undefined){args.unshift(message);}opts.message=logLevel;break;case'object':Object.assign(opts,logLevel);break;}if(typeof opts.message==='function'){opts.message=opts.message();}var messageType=_typeof(opts.message);assert$2(messageType==='string'||messageType==='object');return Object.assign(opts,{args:args},opts.opts);}function decorateMessage(id,message,opts){if(typeof message==='string'){var _time2=opts.time?leftPad(formatTime(opts.total)):'';message=opts.time?"".concat(id,": ").concat(_time2," ").concat(message):"".concat(id,": ").concat(message);message=addColor(message,opts.color,opts.background);}return message;}function logImageInNode(_ref2){var image=_ref2.image,_ref2$message=_ref2.message,message=_ref2$message===void 0?'':_ref2$message,_ref2$scale=_ref2.scale,scale=_ref2$scale===void 0?1:_ref2$scale;var asciify=null;try{asciify=module.require('asciify-image');}catch(error){}if(asciify){return function(){return asciify(image,{fit:'box',width:"".concat(Math.round(80*scale),"%")}).then(function(data){return console.log(data);});};}return noop;}function logImageInBrowser(_ref3){var image=_ref3.image,_ref3$message=_ref3.message,message=_ref3$message===void 0?'':_ref3$message,_ref3$scale=_ref3.scale,scale=_ref3$scale===void 0?1:_ref3$scale;if(typeof image==='string'){var img=new Image();img.onload=function(){var _console4;var args=formatImage(img,message,scale);(_console4=console).log.apply(_console4,_toConsumableArray(args));};img.src=image;return noop;}var element=image.nodeName||'';if(element.toLowerCase()==='img'){var _console5;(_console5=console).log.apply(_console5,_toConsumableArray(formatImage(image,message,scale)));return noop;}if(element.toLowerCase()==='canvas'){var _img2=new Image();_img2.onload=function(){var _console6;return(_console6=console).log.apply(_console6,_toConsumableArray(formatImage(_img2,message,scale)));};_img2.src=image.toDataURL();return noop;}return noop;}function getTableHeader(table){for(var key in table){for(var title in table[key]){return title||'untitled';}}return'empty';}var log=new Log$1({id:'loaders.gl'});var EXT_PATTERN=/\.([^.]+)$/;function selectLoader(_x27){return _selectLoader.apply(this,arguments);}function _selectLoader(){_selectLoader=_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee31(data){var loaders,options,context,loader,_args29=arguments;return _regeneratorRuntime().wrap(function _callee31$(_context35){while(1){switch(_context35.prev=_context35.next){case 0:loaders=_args29.length>1&&_args29[1]!==undefined?_args29[1]:[];options=_args29.length>2?_args29[2]:undefined;context=_args29.length>3?_args29[3]:undefined;if(validHTTPResponse(data)){_context35.next=5;break;}return _context35.abrupt("return",null);case 5:loader=selectLoaderSync(data,loaders,_objectSpread(_objectSpread({},options),{},{nothrow:true}),context);if(!loader){_context35.next=8;break;}return _context35.abrupt("return",loader);case 8:if(!isBlob(data)){_context35.next=13;break;}_context35.next=11;return data.slice(0,10).arrayBuffer();case 11:data=_context35.sent;loader=selectLoaderSync(data,loaders,options,context);case 13:if(!(!loader&&!(options!==null&&options!==void 0&&options.nothrow))){_context35.next=15;break;}throw new Error(getNoValidLoaderMessage(data));case 15:return _context35.abrupt("return",loader);case 16:case"end":return _context35.stop();}}},_callee31);}));return _selectLoader.apply(this,arguments);}function selectLoaderSync(data){var loaders=arguments.length>1&&arguments[1]!==undefined?arguments[1]:[];var options=arguments.length>2?arguments[2]:undefined;var context=arguments.length>3?arguments[3]:undefined;if(!validHTTPResponse(data)){return null;}if(loaders&&!Array.isArray(loaders)){return normalizeLoader(loaders);}var candidateLoaders=[];if(loaders){candidateLoaders=candidateLoaders.concat(loaders);}if(!(options!==null&&options!==void 0&&options.ignoreRegisteredLoaders)){var _candidateLoaders;(_candidateLoaders=candidateLoaders).push.apply(_candidateLoaders,_toConsumableArray(getRegisteredLoaders()));}normalizeLoaders(candidateLoaders);var loader=selectLoaderInternal(data,candidateLoaders,options,context);if(!loader&&!(options!==null&&options!==void 0&&options.nothrow)){throw new Error(getNoValidLoaderMessage(data));}return loader;}function selectLoaderInternal(data,loaders,options,context){var _getResourceUrlAndTyp=getResourceUrlAndType(data),url=_getResourceUrlAndTyp.url,type=_getResourceUrlAndTyp.type;var testUrl=url||(context===null||context===void 0?void 0:context.url);var loader=null;var reason='';if(options!==null&&options!==void 0&&options.mimeType){loader=findLoaderByMIMEType(loaders,options===null||options===void 0?void 0:options.mimeType);reason="match forced by supplied MIME type ".concat(options===null||options===void 0?void 0:options.mimeType);}loader=loader||findLoaderByUrl(loaders,testUrl);reason=reason||(loader?"matched url ".concat(testUrl):'');loader=loader||findLoaderByMIMEType(loaders,type);reason=reason||(loader?"matched MIME type ".concat(type):'');loader=loader||findLoaderByInitialBytes(loaders,data);reason=reason||(loader?"matched initial data ".concat(getFirstCharacters(data)):'');loader=loader||findLoaderByMIMEType(loaders,options===null||options===void 0?void 0:options.fallbackMimeType);reason=reason||(loader?"matched fallback MIME type ".concat(type):'');if(reason){var _loader;log.log(1,"selectLoader selected ".concat((_loader=loader)===null||_loader===void 0?void 0:_loader.name,": ").concat(reason,"."));}return loader;}function validHTTPResponse(data){if(data instanceof Response){if(data.status===204){return false;}}return true;}function getNoValidLoaderMessage(data){var _getResourceUrlAndTyp2=getResourceUrlAndType(data),url=_getResourceUrlAndTyp2.url,type=_getResourceUrlAndTyp2.type;var message='No valid loader found (';message+=url?"".concat(filename(url),", "):'no url provided, ';message+="MIME type: ".concat(type?"\"".concat(type,"\""):'not provided',", ");var firstCharacters=data?getFirstCharacters(data):'';message+=firstCharacters?" first bytes: \"".concat(firstCharacters,"\""):'first bytes: not available';message+=')';return message;}function normalizeLoaders(loaders){var _iterator11=_createForOfIteratorHelper(loaders),_step11;try{for(_iterator11.s();!(_step11=_iterator11.n()).done;){var loader=_step11.value;normalizeLoader(loader);}}catch(err){_iterator11.e(err);}finally{_iterator11.f();}}function findLoaderByUrl(loaders,url){var match=url&&EXT_PATTERN.exec(url);var extension=match&&match[1];return extension?findLoaderByExtension(loaders,extension):null;}function findLoaderByExtension(loaders,extension){extension=extension.toLowerCase();var _iterator12=_createForOfIteratorHelper(loaders),_step12;try{for(_iterator12.s();!(_step12=_iterator12.n()).done;){var loader=_step12.value;var _iterator13=_createForOfIteratorHelper(loader.extensions),_step13;try{for(_iterator13.s();!(_step13=_iterator13.n()).done;){var loaderExtension=_step13.value;if(loaderExtension.toLowerCase()===extension){return loader;}}}catch(err){_iterator13.e(err);}finally{_iterator13.f();}}}catch(err){_iterator12.e(err);}finally{_iterator12.f();}return null;}function findLoaderByMIMEType(loaders,mimeType){var _iterator14=_createForOfIteratorHelper(loaders),_step14;try{for(_iterator14.s();!(_step14=_iterator14.n()).done;){var loader=_step14.value;if(loader.mimeTypes&&loader.mimeTypes.includes(mimeType)){return loader;}if(mimeType==="application/x.".concat(loader.id)){return loader;}}}catch(err){_iterator14.e(err);}finally{_iterator14.f();}return null;}function findLoaderByInitialBytes(loaders,data){if(!data){return null;}var _iterator15=_createForOfIteratorHelper(loaders),_step15;try{for(_iterator15.s();!(_step15=_iterator15.n()).done;){var loader=_step15.value;if(typeof data==='string'){if(testDataAgainstText(data,loader)){return loader;}}else if(ArrayBuffer.isView(data)){if(testDataAgainstBinary(data.buffer,data.byteOffset,loader)){return loader;}}else if(data instanceof ArrayBuffer){var byteOffset=0;if(testDataAgainstBinary(data,byteOffset,loader)){return loader;}}}}catch(err){_iterator15.e(err);}finally{_iterator15.f();}return null;}function testDataAgainstText(data,loader){if(loader.testText){return loader.testText(data);}var tests=Array.isArray(loader.tests)?loader.tests:[loader.tests];return tests.some(function(test){return data.startsWith(test);});}function testDataAgainstBinary(data,byteOffset,loader){var tests=Array.isArray(loader.tests)?loader.tests:[loader.tests];return tests.some(function(test){return testBinary(data,byteOffset,loader,test);});}function testBinary(data,byteOffset,loader,test){if(test instanceof ArrayBuffer){return compareArrayBuffers(test,data,test.byteLength);}switch(_typeof(test)){case'function':return test(data,loader);case'string':var magic=getMagicString$1(data,byteOffset,test.length);return test===magic;default:return false;}}function getFirstCharacters(data){var length=arguments.length>1&&arguments[1]!==undefined?arguments[1]:5;if(typeof data==='string'){return data.slice(0,length);}else if(ArrayBuffer.isView(data)){return getMagicString$1(data.buffer,data.byteOffset,length);}else if(data instanceof ArrayBuffer){var byteOffset=0;return getMagicString$1(data,byteOffset,length);}return'';}function getMagicString$1(arrayBuffer,byteOffset,length){if(arrayBuffer.byteLength1&&_args5[1]!==undefined?_args5[1]:{};_options$chunkSize=options.chunkSize,chunkSize=_options$chunkSize===void 0?DEFAULT_CHUNK_SIZE$1:_options$chunkSize;byteOffset=0;case 3:if(!(byteOffset2&&arguments[2]!==undefined?arguments[2]:null;if(previousContext){return previousContext;}var resolvedContext=_objectSpread({fetch:getFetchFunction(options,context)},context);if(!Array.isArray(resolvedContext.loaders)){resolvedContext.loaders=null;}return resolvedContext;}function getLoadersFromContext(loaders,context){if(!context&&loaders&&!Array.isArray(loaders)){return loaders;}var candidateLoaders;if(loaders){candidateLoaders=Array.isArray(loaders)?loaders:[loaders];}if(context&&context.loaders){var contextLoaders=Array.isArray(context.loaders)?context.loaders:[context.loaders];candidateLoaders=candidateLoaders?[].concat(_toConsumableArray(candidateLoaders),_toConsumableArray(contextLoaders)):contextLoaders;}return candidateLoaders&&candidateLoaders.length?candidateLoaders:null;}function parse$3(_x31,_x32,_x33,_x34){return _parse$.apply(this,arguments);}function _parse$(){_parse$=_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee33(data,loaders,options,context){var _getResourceUrlAndTyp4,url,typedLoaders,candidateLoaders,loader;return _regeneratorRuntime().wrap(function _callee33$(_context37){while(1){switch(_context37.prev=_context37.next){case 0:assert$4(!context||_typeof(context)==='object');if(loaders&&!Array.isArray(loaders)&&!isLoaderObject(loaders)){context=undefined;options=loaders;loaders=undefined;}_context37.next=4;return data;case 4:data=_context37.sent;options=options||{};_getResourceUrlAndTyp4=getResourceUrlAndType(data),url=_getResourceUrlAndTyp4.url;typedLoaders=loaders;candidateLoaders=getLoadersFromContext(typedLoaders,context);_context37.next=11;return selectLoader(data,candidateLoaders,options);case 11:loader=_context37.sent;if(loader){_context37.next=14;break;}return _context37.abrupt("return",null);case 14:options=normalizeOptions(options,loader,candidateLoaders,url);context=getLoaderContext({url:url,parse:parse$3,loaders:candidateLoaders},options,context);_context37.next=18;return parseWithLoader(loader,data,options,context);case 18:return _context37.abrupt("return",_context37.sent);case 19:case"end":return _context37.stop();}}},_callee33);}));return _parse$.apply(this,arguments);}function parseWithLoader(_x35,_x36,_x37,_x38){return _parseWithLoader.apply(this,arguments);}function _parseWithLoader(){_parseWithLoader=_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee34(loader,data,options,context){var response,ok,redirected,status,statusText,type,url,headers;return _regeneratorRuntime().wrap(function _callee34$(_context38){while(1){switch(_context38.prev=_context38.next){case 0:validateWorkerVersion(loader);if(isResponse(data)){response=data;ok=response.ok,redirected=response.redirected,status=response.status,statusText=response.statusText,type=response.type,url=response.url;headers=Object.fromEntries(response.headers.entries());context.response={headers:headers,ok:ok,redirected:redirected,status:status,statusText:statusText,type:type,url:url};}_context38.next=4;return getArrayBufferOrStringFromData(data,loader,options);case 4:data=_context38.sent;if(!(loader.parseTextSync&&typeof data==='string')){_context38.next=8;break;}options.dataType='text';return _context38.abrupt("return",loader.parseTextSync(data,options,context,loader));case 8:if(!canParseWithWorker(loader,options)){_context38.next=12;break;}_context38.next=11;return parseWithWorker(loader,data,options,context,parse$3);case 11:return _context38.abrupt("return",_context38.sent);case 12:if(!(loader.parseText&&typeof data==='string')){_context38.next=16;break;}_context38.next=15;return loader.parseText(data,options,context,loader);case 15:return _context38.abrupt("return",_context38.sent);case 16:if(!loader.parse){_context38.next=20;break;}_context38.next=19;return loader.parse(data,options,context,loader);case 19:return _context38.abrupt("return",_context38.sent);case 20:assert$4(!loader.parseSync);throw new Error("".concat(loader.id," loader - no parser found and worker is disabled"));case 22:case"end":return _context38.stop();}}},_callee34);}));return _parseWithLoader.apply(this,arguments);}var VERSION$5="3.2.6";var VERSION$4="3.2.6";var VERSION$3="3.2.6";var BASIS_CDN_ENCODER_WASM="https://unpkg.com/@loaders.gl/textures@".concat(VERSION$3,"/dist/libs/basis_encoder.wasm");var BASIS_CDN_ENCODER_JS="https://unpkg.com/@loaders.gl/textures@".concat(VERSION$3,"/dist/libs/basis_encoder.js");var loadBasisTranscoderPromise;function loadBasisTrascoderModule(_x39){return _loadBasisTrascoderModule.apply(this,arguments);}function _loadBasisTrascoderModule(){_loadBasisTrascoderModule=_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee35(options){var modules;return _regeneratorRuntime().wrap(function _callee35$(_context39){while(1){switch(_context39.prev=_context39.next){case 0:modules=options.modules||{};if(!modules.basis){_context39.next=3;break;}return _context39.abrupt("return",modules.basis);case 3:loadBasisTranscoderPromise=loadBasisTranscoderPromise||loadBasisTrascoder(options);_context39.next=6;return loadBasisTranscoderPromise;case 6:return _context39.abrupt("return",_context39.sent);case 7:case"end":return _context39.stop();}}},_callee35);}));return _loadBasisTrascoderModule.apply(this,arguments);}function loadBasisTrascoder(_x40){return _loadBasisTrascoder.apply(this,arguments);}function _loadBasisTrascoder(){_loadBasisTrascoder=_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee36(options){var BASIS,wasmBinary,_yield$Promise$all,_yield$Promise$all2;return _regeneratorRuntime().wrap(function _callee36$(_context40){while(1){switch(_context40.prev=_context40.next){case 0:BASIS=null;wasmBinary=null;_context40.t0=Promise;_context40.next=5;return loadLibrary('basis_transcoder.js','textures',options);case 5:_context40.t1=_context40.sent;_context40.next=8;return loadLibrary('basis_transcoder.wasm','textures',options);case 8:_context40.t2=_context40.sent;_context40.t3=[_context40.t1,_context40.t2];_context40.next=12;return _context40.t0.all.call(_context40.t0,_context40.t3);case 12:_yield$Promise$all=_context40.sent;_yield$Promise$all2=_slicedToArray(_yield$Promise$all,2);BASIS=_yield$Promise$all2[0];wasmBinary=_yield$Promise$all2[1];BASIS=BASIS||globalThis.BASIS;_context40.next=19;return initializeBasisTrascoderModule(BASIS,wasmBinary);case 19:return _context40.abrupt("return",_context40.sent);case 20:case"end":return _context40.stop();}}},_callee36);}));return _loadBasisTrascoder.apply(this,arguments);}function initializeBasisTrascoderModule(BasisModule,wasmBinary){var options={};if(wasmBinary){options.wasmBinary=wasmBinary;}return new Promise(function(resolve){BasisModule(options).then(function(module){var BasisFile=module.BasisFile,initializeBasis=module.initializeBasis;initializeBasis();resolve({BasisFile:BasisFile});});});}var loadBasisEncoderPromise;function loadBasisEncoderModule(_x41){return _loadBasisEncoderModule.apply(this,arguments);}function _loadBasisEncoderModule(){_loadBasisEncoderModule=_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee37(options){var modules;return _regeneratorRuntime().wrap(function _callee37$(_context41){while(1){switch(_context41.prev=_context41.next){case 0:modules=options.modules||{};if(!modules.basisEncoder){_context41.next=3;break;}return _context41.abrupt("return",modules.basisEncoder);case 3:loadBasisEncoderPromise=loadBasisEncoderPromise||loadBasisEncoder(options);_context41.next=6;return loadBasisEncoderPromise;case 6:return _context41.abrupt("return",_context41.sent);case 7:case"end":return _context41.stop();}}},_callee37);}));return _loadBasisEncoderModule.apply(this,arguments);}function loadBasisEncoder(_x42){return _loadBasisEncoder.apply(this,arguments);}function _loadBasisEncoder(){_loadBasisEncoder=_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee38(options){var BASIS_ENCODER,wasmBinary,_yield$Promise$all3,_yield$Promise$all4;return _regeneratorRuntime().wrap(function _callee38$(_context42){while(1){switch(_context42.prev=_context42.next){case 0:BASIS_ENCODER=null;wasmBinary=null;_context42.t0=Promise;_context42.next=5;return loadLibrary(BASIS_CDN_ENCODER_JS,'textures',options);case 5:_context42.t1=_context42.sent;_context42.next=8;return loadLibrary(BASIS_CDN_ENCODER_WASM,'textures',options);case 8:_context42.t2=_context42.sent;_context42.t3=[_context42.t1,_context42.t2];_context42.next=12;return _context42.t0.all.call(_context42.t0,_context42.t3);case 12:_yield$Promise$all3=_context42.sent;_yield$Promise$all4=_slicedToArray(_yield$Promise$all3,2);BASIS_ENCODER=_yield$Promise$all4[0];wasmBinary=_yield$Promise$all4[1];BASIS_ENCODER=BASIS_ENCODER||globalThis.BASIS;_context42.next=19;return initializeBasisEncoderModule(BASIS_ENCODER,wasmBinary);case 19:return _context42.abrupt("return",_context42.sent);case 20:case"end":return _context42.stop();}}},_callee38);}));return _loadBasisEncoder.apply(this,arguments);}function initializeBasisEncoderModule(BasisEncoderModule,wasmBinary){var options={};if(wasmBinary){options.wasmBinary=wasmBinary;}return new Promise(function(resolve){BasisEncoderModule(options).then(function(module){var BasisFile=module.BasisFile,KTX2File=module.KTX2File,initializeBasis=module.initializeBasis,BasisEncoder=module.BasisEncoder;initializeBasis();resolve({BasisFile:BasisFile,KTX2File:KTX2File,BasisEncoder:BasisEncoder});});});}var GL_EXTENSIONS_CONSTANTS={COMPRESSED_RGB_S3TC_DXT1_EXT:0x83f0,COMPRESSED_RGBA_S3TC_DXT1_EXT:0x83f1,COMPRESSED_RGBA_S3TC_DXT3_EXT:0x83f2,COMPRESSED_RGBA_S3TC_DXT5_EXT:0x83f3,COMPRESSED_R11_EAC:0x9270,COMPRESSED_SIGNED_R11_EAC:0x9271,COMPRESSED_RG11_EAC:0x9272,COMPRESSED_SIGNED_RG11_EAC:0x9273,COMPRESSED_RGB8_ETC2:0x9274,COMPRESSED_RGBA8_ETC2_EAC:0x9275,COMPRESSED_SRGB8_ETC2:0x9276,COMPRESSED_SRGB8_ALPHA8_ETC2_EAC:0x9277,COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2:0x9278,COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2:0x9279,COMPRESSED_RGB_PVRTC_4BPPV1_IMG:0x8c00,COMPRESSED_RGBA_PVRTC_4BPPV1_IMG:0x8c02,COMPRESSED_RGB_PVRTC_2BPPV1_IMG:0x8c01,COMPRESSED_RGBA_PVRTC_2BPPV1_IMG:0x8c03,COMPRESSED_RGB_ETC1_WEBGL:0x8d64,COMPRESSED_RGB_ATC_WEBGL:0x8c92,COMPRESSED_RGBA_ATC_EXPLICIT_ALPHA_WEBGL:0x8c93,COMPRESSED_RGBA_ATC_INTERPOLATED_ALPHA_WEBGL:0x87ee,COMPRESSED_RGBA_ASTC_4X4_KHR:0x93b0,COMPRESSED_RGBA_ASTC_5X4_KHR:0x93b1,COMPRESSED_RGBA_ASTC_5X5_KHR:0x93b2,COMPRESSED_RGBA_ASTC_6X5_KHR:0x93b3,COMPRESSED_RGBA_ASTC_6X6_KHR:0x93b4,COMPRESSED_RGBA_ASTC_8X5_KHR:0x93b5,COMPRESSED_RGBA_ASTC_8X6_KHR:0x93b6,COMPRESSED_RGBA_ASTC_8X8_KHR:0x93b7,COMPRESSED_RGBA_ASTC_10X5_KHR:0x93b8,COMPRESSED_RGBA_ASTC_10X6_KHR:0x93b9,COMPRESSED_RGBA_ASTC_10X8_KHR:0x93ba,COMPRESSED_RGBA_ASTC_10X10_KHR:0x93bb,COMPRESSED_RGBA_ASTC_12X10_KHR:0x93bc,COMPRESSED_RGBA_ASTC_12X12_KHR:0x93bd,COMPRESSED_SRGB8_ALPHA8_ASTC_4X4_KHR:0x93d0,COMPRESSED_SRGB8_ALPHA8_ASTC_5X4_KHR:0x93d1,COMPRESSED_SRGB8_ALPHA8_ASTC_5X5_KHR:0x93d2,COMPRESSED_SRGB8_ALPHA8_ASTC_6X5_KHR:0x93d3,COMPRESSED_SRGB8_ALPHA8_ASTC_6X6_KHR:0x93d4,COMPRESSED_SRGB8_ALPHA8_ASTC_8X5_KHR:0x93d5,COMPRESSED_SRGB8_ALPHA8_ASTC_8X6_KHR:0x93d6,COMPRESSED_SRGB8_ALPHA8_ASTC_8X8_KHR:0x93d7,COMPRESSED_SRGB8_ALPHA8_ASTC_10X5_KHR:0x93d8,COMPRESSED_SRGB8_ALPHA8_ASTC_10X6_KHR:0x93d9,COMPRESSED_SRGB8_ALPHA8_ASTC_10X8_KHR:0x93da,COMPRESSED_SRGB8_ALPHA8_ASTC_10X10_KHR:0x93db,COMPRESSED_SRGB8_ALPHA8_ASTC_12X10_KHR:0x93dc,COMPRESSED_SRGB8_ALPHA8_ASTC_12X12_KHR:0x93dd,COMPRESSED_RED_RGTC1_EXT:0x8dbb,COMPRESSED_SIGNED_RED_RGTC1_EXT:0x8dbc,COMPRESSED_RED_GREEN_RGTC2_EXT:0x8dbd,COMPRESSED_SIGNED_RED_GREEN_RGTC2_EXT:0x8dbe,COMPRESSED_SRGB_S3TC_DXT1_EXT:0x8c4c,COMPRESSED_SRGB_ALPHA_S3TC_DXT1_EXT:0x8c4d,COMPRESSED_SRGB_ALPHA_S3TC_DXT3_EXT:0x8c4e,COMPRESSED_SRGB_ALPHA_S3TC_DXT5_EXT:0x8c4f};var BROWSER_PREFIXES=['','WEBKIT_','MOZ_'];var WEBGL_EXTENSIONS={WEBGL_compressed_texture_s3tc:'dxt',WEBGL_compressed_texture_s3tc_srgb:'dxt-srgb',WEBGL_compressed_texture_etc1:'etc1',WEBGL_compressed_texture_etc:'etc2',WEBGL_compressed_texture_pvrtc:'pvrtc',WEBGL_compressed_texture_atc:'atc',WEBGL_compressed_texture_astc:'astc',EXT_texture_compression_rgtc:'rgtc'};var formats=null;function getSupportedGPUTextureFormats(gl){if(!formats){gl=gl||getWebGLContext()||undefined;formats=new Set();var _iterator16=_createForOfIteratorHelper(BROWSER_PREFIXES),_step16;try{for(_iterator16.s();!(_step16=_iterator16.n()).done;){var prefix=_step16.value;for(var extension in WEBGL_EXTENSIONS){if(gl&&gl.getExtension("".concat(prefix).concat(extension))){var gpuTextureFormat=WEBGL_EXTENSIONS[extension];formats.add(gpuTextureFormat);}}}}catch(err){_iterator16.e(err);}finally{_iterator16.f();}}return formats;}function getWebGLContext(){try{var _canvas6=document.createElement('canvas');return _canvas6.getContext('webgl');}catch(error){return null;}}var n,i,s,a,r,o,l,f;!function(t){t[t.NONE=0]="NONE",t[t.BASISLZ=1]="BASISLZ",t[t.ZSTD=2]="ZSTD",t[t.ZLIB=3]="ZLIB";}(n||(n={})),function(t){t[t.BASICFORMAT=0]="BASICFORMAT";}(i||(i={})),function(t){t[t.UNSPECIFIED=0]="UNSPECIFIED",t[t.ETC1S=163]="ETC1S",t[t.UASTC=166]="UASTC";}(s||(s={})),function(t){t[t.UNSPECIFIED=0]="UNSPECIFIED",t[t.SRGB=1]="SRGB";}(a||(a={})),function(t){t[t.UNSPECIFIED=0]="UNSPECIFIED",t[t.LINEAR=1]="LINEAR",t[t.SRGB=2]="SRGB",t[t.ITU=3]="ITU",t[t.NTSC=4]="NTSC",t[t.SLOG=5]="SLOG",t[t.SLOG2=6]="SLOG2";}(r||(r={})),function(t){t[t.ALPHA_STRAIGHT=0]="ALPHA_STRAIGHT",t[t.ALPHA_PREMULTIPLIED=1]="ALPHA_PREMULTIPLIED";}(o||(o={})),function(t){t[t.RGB=0]="RGB",t[t.RRR=3]="RRR",t[t.GGG=4]="GGG",t[t.AAA=15]="AAA";}(l||(l={})),function(t){t[t.RGB=0]="RGB",t[t.RGBA=3]="RGBA",t[t.RRR=4]="RRR",t[t.RRRG=5]="RRRG";}(f||(f={}));var KTX2_ID=[0xab,0x4b,0x54,0x58,0x20,0x32,0x30,0xbb,0x0d,0x0a,0x1a,0x0a];function isKTX(data){var id=new Uint8Array(data);var notKTX=id.byteLength1&&_args41[1]!==undefined?_args41[1]:null;if(isEmptyObject(imagebitmapOptions)||!imagebitmapOptionsSupported){imagebitmapOptions=null;}if(!imagebitmapOptions){_context47.next=13;break;}_context47.prev=3;_context47.next=6;return createImageBitmap(blob,imagebitmapOptions);case 6:return _context47.abrupt("return",_context47.sent);case 9:_context47.prev=9;_context47.t0=_context47["catch"](3);console.warn(_context47.t0);imagebitmapOptionsSupported=false;case 13:_context47.next=15;return createImageBitmap(blob);case 15:return _context47.abrupt("return",_context47.sent);case 16:case"end":return _context47.stop();}}},_callee43,null,[[3,9]]);}));return _safeCreateImageBitmap.apply(this,arguments);}function isEmptyObject(object){for(var key in object||EMPTY_OBJECT){return false;}return true;}var BIG_ENDIAN=false;var LITTLE_ENDIAN=true;function getBinaryImageMetadata(binaryData){var dataView=toDataView(binaryData);return getPngMetadata(dataView)||getJpegMetadata(dataView)||getGifMetadata(dataView)||getBmpMetadata(dataView);}function getPngMetadata(binaryData){var dataView=toDataView(binaryData);var isPng=dataView.byteLength>=24&&dataView.getUint32(0,BIG_ENDIAN)===0x89504e47;if(!isPng){return null;}return{mimeType:'image/png',width:dataView.getUint32(16,BIG_ENDIAN),height:dataView.getUint32(20,BIG_ENDIAN)};}function getGifMetadata(binaryData){var dataView=toDataView(binaryData);var isGif=dataView.byteLength>=10&&dataView.getUint32(0,BIG_ENDIAN)===0x47494638;if(!isGif){return null;}return{mimeType:'image/gif',width:dataView.getUint16(6,LITTLE_ENDIAN),height:dataView.getUint16(8,LITTLE_ENDIAN)};}function getBmpMetadata(binaryData){var dataView=toDataView(binaryData);var isBmp=dataView.byteLength>=14&&dataView.getUint16(0,BIG_ENDIAN)===0x424d&&dataView.getUint32(2,LITTLE_ENDIAN)===dataView.byteLength;if(!isBmp){return null;}return{mimeType:'image/bmp',width:dataView.getUint32(18,LITTLE_ENDIAN),height:dataView.getUint32(22,LITTLE_ENDIAN)};}function getJpegMetadata(binaryData){var dataView=toDataView(binaryData);var isJpeg=dataView.byteLength>=3&&dataView.getUint16(0,BIG_ENDIAN)===0xffd8&&dataView.getUint8(2)===0xff;if(!isJpeg){return null;}var _getJpegMarkers=getJpegMarkers(),tableMarkers=_getJpegMarkers.tableMarkers,sofMarkers=_getJpegMarkers.sofMarkers;var i=2;while(i+9=0&&byteLength<=bufferView.byteLength);return{ArrayType:ArrayType,length:length,byteLength:byteLength};}var DEFAULT_GLTF_JSON={asset:{version:'2.0',generator:'loaders.gl'},buffers:[]};var GLTFScenegraph=/*#__PURE__*/function(){function GLTFScenegraph(gltf){_classCallCheck(this,GLTFScenegraph);_defineProperty(this,"gltf",void 0);_defineProperty(this,"sourceBuffers",void 0);_defineProperty(this,"byteLength",void 0);this.gltf=gltf||{json:_objectSpread({},DEFAULT_GLTF_JSON),buffers:[]};this.sourceBuffers=[];this.byteLength=0;if(this.gltf.buffers&&this.gltf.buffers[0]){this.byteLength=this.gltf.buffers[0].byteLength;this.sourceBuffers=[this.gltf.buffers[0]];}}_createClass(GLTFScenegraph,[{key:"json",get:function get(){return this.gltf.json;}},{key:"getApplicationData",value:function getApplicationData(key){var data=this.json[key];return data;}},{key:"getExtraData",value:function getExtraData(key){var extras=this.json.extras||{};return extras[key];}},{key:"getExtension",value:function getExtension(extensionName){var isExtension=this.getUsedExtensions().find(function(name){return name===extensionName;});var extensions=this.json.extensions||{};return isExtension?extensions[extensionName]||true:null;}},{key:"getRequiredExtension",value:function getRequiredExtension(extensionName){var isRequired=this.getRequiredExtensions().find(function(name){return name===extensionName;});return isRequired?this.getExtension(extensionName):null;}},{key:"getRequiredExtensions",value:function getRequiredExtensions(){return this.json.extensionsRequired||[];}},{key:"getUsedExtensions",value:function getUsedExtensions(){return this.json.extensionsUsed||[];}},{key:"getObjectExtension",value:function getObjectExtension(object,extensionName){var extensions=object.extensions||{};return extensions[extensionName];}},{key:"getScene",value:function getScene(index){return this.getObject('scenes',index);}},{key:"getNode",value:function getNode(index){return this.getObject('nodes',index);}},{key:"getSkin",value:function getSkin(index){return this.getObject('skins',index);}},{key:"getMesh",value:function getMesh(index){return this.getObject('meshes',index);}},{key:"getMaterial",value:function getMaterial(index){return this.getObject('materials',index);}},{key:"getAccessor",value:function getAccessor(index){return this.getObject('accessors',index);}},{key:"getTexture",value:function getTexture(index){return this.getObject('textures',index);}},{key:"getSampler",value:function getSampler(index){return this.getObject('samplers',index);}},{key:"getImage",value:function getImage(index){return this.getObject('images',index);}},{key:"getBufferView",value:function getBufferView(index){return this.getObject('bufferViews',index);}},{key:"getBuffer",value:function getBuffer(index){return this.getObject('buffers',index);}},{key:"getObject",value:function getObject(array,index){if(_typeof(index)==='object'){return index;}var object=this.json[array]&&this.json[array][index];if(!object){throw new Error("glTF file error: Could not find ".concat(array,"[").concat(index,"]"));}return object;}},{key:"getTypedArrayForBufferView",value:function getTypedArrayForBufferView(bufferView){bufferView=this.getBufferView(bufferView);var bufferIndex=bufferView.buffer;var binChunk=this.gltf.buffers[bufferIndex];assert$1(binChunk);var byteOffset=(bufferView.byteOffset||0)+binChunk.byteOffset;return new Uint8Array(binChunk.arrayBuffer,byteOffset,bufferView.byteLength);}},{key:"getTypedArrayForAccessor",value:function getTypedArrayForAccessor(accessor){accessor=this.getAccessor(accessor);var bufferView=this.getBufferView(accessor.bufferView);var buffer=this.getBuffer(bufferView.buffer);var arrayBuffer=buffer.data;var _getAccessorArrayType=getAccessorArrayTypeAndLength(accessor,bufferView),ArrayType=_getAccessorArrayType.ArrayType,length=_getAccessorArrayType.length;var byteOffset=bufferView.byteOffset+accessor.byteOffset;return new ArrayType(arrayBuffer,byteOffset,length);}},{key:"getTypedArrayForImageData",value:function getTypedArrayForImageData(image){image=this.getAccessor(image);var bufferView=this.getBufferView(image.bufferView);var buffer=this.getBuffer(bufferView.buffer);var arrayBuffer=buffer.data;var byteOffset=bufferView.byteOffset||0;return new Uint8Array(arrayBuffer,byteOffset,bufferView.byteLength);}},{key:"addApplicationData",value:function addApplicationData(key,data){this.json[key]=data;return this;}},{key:"addExtraData",value:function addExtraData(key,data){this.json.extras=this.json.extras||{};this.json.extras[key]=data;return this;}},{key:"addObjectExtension",value:function addObjectExtension(object,extensionName,data){object.extensions=object.extensions||{};object.extensions[extensionName]=data;this.registerUsedExtension(extensionName);return this;}},{key:"setObjectExtension",value:function setObjectExtension(object,extensionName,data){var extensions=object.extensions||{};extensions[extensionName]=data;}},{key:"removeObjectExtension",value:function removeObjectExtension(object,extensionName){var extensions=object.extensions||{};var extension=extensions[extensionName];delete extensions[extensionName];return extension;}},{key:"addExtension",value:function addExtension(extensionName){var extensionData=arguments.length>1&&arguments[1]!==undefined?arguments[1]:{};assert$1(extensionData);this.json.extensions=this.json.extensions||{};this.json.extensions[extensionName]=extensionData;this.registerUsedExtension(extensionName);return extensionData;}},{key:"addRequiredExtension",value:function addRequiredExtension(extensionName){var extensionData=arguments.length>1&&arguments[1]!==undefined?arguments[1]:{};assert$1(extensionData);this.addExtension(extensionName,extensionData);this.registerRequiredExtension(extensionName);return extensionData;}},{key:"registerUsedExtension",value:function registerUsedExtension(extensionName){this.json.extensionsUsed=this.json.extensionsUsed||[];if(!this.json.extensionsUsed.find(function(ext){return ext===extensionName;})){this.json.extensionsUsed.push(extensionName);}}},{key:"registerRequiredExtension",value:function registerRequiredExtension(extensionName){this.registerUsedExtension(extensionName);this.json.extensionsRequired=this.json.extensionsRequired||[];if(!this.json.extensionsRequired.find(function(ext){return ext===extensionName;})){this.json.extensionsRequired.push(extensionName);}}},{key:"removeExtension",value:function removeExtension(extensionName){if(this.json.extensionsRequired){this._removeStringFromArray(this.json.extensionsRequired,extensionName);}if(this.json.extensionsUsed){this._removeStringFromArray(this.json.extensionsUsed,extensionName);}if(this.json.extensions){delete this.json.extensions[extensionName];}}},{key:"setDefaultScene",value:function setDefaultScene(sceneIndex){this.json.scene=sceneIndex;}},{key:"addScene",value:function addScene(scene){var nodeIndices=scene.nodeIndices;this.json.scenes=this.json.scenes||[];this.json.scenes.push({nodes:nodeIndices});return this.json.scenes.length-1;}},{key:"addNode",value:function addNode(node){var meshIndex=node.meshIndex,matrix=node.matrix;this.json.nodes=this.json.nodes||[];var nodeData={mesh:meshIndex};if(matrix){nodeData.matrix=matrix;}this.json.nodes.push(nodeData);return this.json.nodes.length-1;}},{key:"addMesh",value:function addMesh(mesh){var attributes=mesh.attributes,indices=mesh.indices,material=mesh.material,_mesh$mode=mesh.mode,mode=_mesh$mode===void 0?4:_mesh$mode;var accessors=this._addAttributes(attributes);var glTFMesh={primitives:[{attributes:accessors,mode:mode}]};if(indices){var indicesAccessor=this._addIndices(indices);glTFMesh.primitives[0].indices=indicesAccessor;}if(Number.isFinite(material)){glTFMesh.primitives[0].material=material;}this.json.meshes=this.json.meshes||[];this.json.meshes.push(glTFMesh);return this.json.meshes.length-1;}},{key:"addPointCloud",value:function addPointCloud(attributes){var accessorIndices=this._addAttributes(attributes);var glTFMesh={primitives:[{attributes:accessorIndices,mode:0}]};this.json.meshes=this.json.meshes||[];this.json.meshes.push(glTFMesh);return this.json.meshes.length-1;}},{key:"addImage",value:function addImage(imageData,mimeTypeOpt){var metadata=getBinaryImageMetadata(imageData);var mimeType=mimeTypeOpt||(metadata===null||metadata===void 0?void 0:metadata.mimeType);var bufferViewIndex=this.addBufferView(imageData);var glTFImage={bufferView:bufferViewIndex,mimeType:mimeType};this.json.images=this.json.images||[];this.json.images.push(glTFImage);return this.json.images.length-1;}},{key:"addBufferView",value:function addBufferView(buffer){var byteLength=buffer.byteLength;assert$1(Number.isFinite(byteLength));this.sourceBuffers=this.sourceBuffers||[];this.sourceBuffers.push(buffer);var glTFBufferView={buffer:0,byteOffset:this.byteLength,byteLength:byteLength};this.byteLength+=padToNBytes(byteLength,4);this.json.bufferViews=this.json.bufferViews||[];this.json.bufferViews.push(glTFBufferView);return this.json.bufferViews.length-1;}},{key:"addAccessor",value:function addAccessor(bufferViewIndex,accessor){var glTFAccessor={bufferView:bufferViewIndex,type:getAccessorTypeFromSize(accessor.size),componentType:accessor.componentType,count:accessor.count,max:accessor.max,min:accessor.min};this.json.accessors=this.json.accessors||[];this.json.accessors.push(glTFAccessor);return this.json.accessors.length-1;}},{key:"addBinaryBuffer",value:function addBinaryBuffer(sourceBuffer){var accessor=arguments.length>1&&arguments[1]!==undefined?arguments[1]:{size:3};var bufferViewIndex=this.addBufferView(sourceBuffer);var minMax={min:accessor.min,max:accessor.max};if(!minMax.min||!minMax.max){minMax=this._getAccessorMinMax(sourceBuffer,accessor.size);}var accessorDefaults={size:accessor.size,componentType:getComponentTypeFromArray(sourceBuffer),count:Math.round(sourceBuffer.length/accessor.size),min:minMax.min,max:minMax.max};return this.addAccessor(bufferViewIndex,Object.assign(accessorDefaults,accessor));}},{key:"addTexture",value:function addTexture(texture){var imageIndex=texture.imageIndex;var glTFTexture={source:imageIndex};this.json.textures=this.json.textures||[];this.json.textures.push(glTFTexture);return this.json.textures.length-1;}},{key:"addMaterial",value:function addMaterial(pbrMaterialInfo){this.json.materials=this.json.materials||[];this.json.materials.push(pbrMaterialInfo);return this.json.materials.length-1;}},{key:"createBinaryChunk",value:function createBinaryChunk(){var _this$json,_this$json$buffers;this.gltf.buffers=[];var totalByteLength=this.byteLength;var arrayBuffer=new ArrayBuffer(totalByteLength);var targetArray=new Uint8Array(arrayBuffer);var dstByteOffset=0;var _iterator17=_createForOfIteratorHelper(this.sourceBuffers||[]),_step17;try{for(_iterator17.s();!(_step17=_iterator17.n()).done;){var sourceBuffer=_step17.value;dstByteOffset=copyToArray(sourceBuffer,targetArray,dstByteOffset);}}catch(err){_iterator17.e(err);}finally{_iterator17.f();}if((_this$json=this.json)!==null&&_this$json!==void 0&&(_this$json$buffers=_this$json.buffers)!==null&&_this$json$buffers!==void 0&&_this$json$buffers[0]){this.json.buffers[0].byteLength=totalByteLength;}else{this.json.buffers=[{byteLength:totalByteLength}];}this.gltf.binary=arrayBuffer;this.sourceBuffers=[arrayBuffer];}},{key:"_removeStringFromArray",value:function _removeStringFromArray(array,string){var found=true;while(found){var index=array.indexOf(string);if(index>-1){array.splice(index,1);}else{found=false;}}}},{key:"_addAttributes",value:function _addAttributes(){var attributes=arguments.length>0&&arguments[0]!==undefined?arguments[0]:{};var result={};for(var attributeKey in attributes){var attributeData=attributes[attributeKey];var attrName=this._getGltfAttributeName(attributeKey);var accessor=this.addBinaryBuffer(attributeData.value,attributeData);result[attrName]=accessor;}return result;}},{key:"_addIndices",value:function _addIndices(indices){return this.addBinaryBuffer(indices,{size:1});}},{key:"_getGltfAttributeName",value:function _getGltfAttributeName(attributeName){switch(attributeName.toLowerCase()){case'position':case'positions':case'vertices':return'POSITION';case'normal':case'normals':return'NORMAL';case'color':case'colors':return'COLOR_0';case'texcoord':case'texcoords':return'TEXCOORD_0';default:return attributeName;}}},{key:"_getAccessorMinMax",value:function _getAccessorMinMax(buffer,size){var result={min:null,max:null};if(buffer.length5&&_args44[5]!==undefined?_args44[5]:'NONE';_context50.next=3;return loadWasmInstance();case 3:instance=_context50.sent;decode$5(instance,instance.exports[DECODERS[mode]],target,count,size,source,instance.exports[FILTERS[filter||'NONE']]);case 5:case"end":return _context50.stop();}}},_callee46);}));return _meshoptDecodeGltfBuffer.apply(this,arguments);}var wasmPromise;function loadWasmInstance(){return _loadWasmInstance.apply(this,arguments);}function _loadWasmInstance(){_loadWasmInstance=_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee47(){return _regeneratorRuntime().wrap(function _callee47$(_context51){while(1){switch(_context51.prev=_context51.next){case 0:if(!wasmPromise){wasmPromise=loadWasmModule();}return _context51.abrupt("return",wasmPromise);case 2:case"end":return _context51.stop();}}},_callee47);}));return _loadWasmInstance.apply(this,arguments);}function loadWasmModule(){return _loadWasmModule.apply(this,arguments);}function _loadWasmModule(){_loadWasmModule=_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee48(){var wasm,result;return _regeneratorRuntime().wrap(function _callee48$(_context52){while(1){switch(_context52.prev=_context52.next){case 0:wasm=wasm_base;if(WebAssembly.validate(detector)){wasm=wasm_simd;console.log('Warning: meshopt_decoder is using experimental SIMD support');}_context52.next=4;return WebAssembly.instantiate(unpack(wasm),{});case 4:result=_context52.sent;_context52.next=7;return result.instance.exports.__wasm_call_ctors();case 7:return _context52.abrupt("return",result.instance);case 8:case"end":return _context52.stop();}}},_callee48);}));return _loadWasmModule.apply(this,arguments);}function unpack(data){var result=new Uint8Array(data.length);for(var _i459=0;_i45996?ch-71:ch>64?ch-65:ch>47?ch+4:ch>46?63:62;}var write=0;for(var _i460=0;_i460maxX?x:maxX;maxY=y>maxY?y:maxY;maxZ=_z4>maxZ?_z4:maxZ;}return[[minX,minY,minZ],[maxX,maxY,maxZ]];}function assert(condition,message){if(!condition){throw new Error(message||'loader assertion failed.');}}var Schema=/*#__PURE__*/function(){function Schema(fields,metadata){_classCallCheck(this,Schema);_defineProperty(this,"fields",void 0);_defineProperty(this,"metadata",void 0);assert(Array.isArray(fields));checkNames(fields);this.fields=fields;this.metadata=metadata||new Map();}_createClass(Schema,[{key:"compareTo",value:function compareTo(other){if(this.metadata!==other.metadata){return false;}if(this.fields.length!==other.fields.length){return false;}for(var _i462=0;_i4622&&arguments[2]!==undefined?arguments[2]:false;var metadata=arguments.length>3&&arguments[3]!==undefined?arguments[3]:new Map();_classCallCheck(this,Field);_defineProperty(this,"name",void 0);_defineProperty(this,"type",void 0);_defineProperty(this,"nullable",void 0);_defineProperty(this,"metadata",void 0);this.name=name;this.type=type;this.nullable=nullable;this.metadata=metadata;}_createClass(Field,[{key:"typeId",get:function get(){return this.type&&this.type.typeId;}},{key:"clone",value:function clone(){return new Field(this.name,this.type,this.nullable,this.metadata);}},{key:"compareTo",value:function compareTo(other){return this.name===other.name&&this.type===other.type&&this.nullable===other.nullable&&this.metadata===other.metadata;}},{key:"toString",value:function toString(){return"".concat(this.type).concat(this.nullable?', nullable':'').concat(this.metadata?", metadata: ".concat(this.metadata):'');}}]);return Field;}();var Type;(function(Type){Type[Type["NONE"]=0]="NONE";Type[Type["Null"]=1]="Null";Type[Type["Int"]=2]="Int";Type[Type["Float"]=3]="Float";Type[Type["Binary"]=4]="Binary";Type[Type["Utf8"]=5]="Utf8";Type[Type["Bool"]=6]="Bool";Type[Type["Decimal"]=7]="Decimal";Type[Type["Date"]=8]="Date";Type[Type["Time"]=9]="Time";Type[Type["Timestamp"]=10]="Timestamp";Type[Type["Interval"]=11]="Interval";Type[Type["List"]=12]="List";Type[Type["Struct"]=13]="Struct";Type[Type["Union"]=14]="Union";Type[Type["FixedSizeBinary"]=15]="FixedSizeBinary";Type[Type["FixedSizeList"]=16]="FixedSizeList";Type[Type["Map"]=17]="Map";Type[Type["Dictionary"]=-1]="Dictionary";Type[Type["Int8"]=-2]="Int8";Type[Type["Int16"]=-3]="Int16";Type[Type["Int32"]=-4]="Int32";Type[Type["Int64"]=-5]="Int64";Type[Type["Uint8"]=-6]="Uint8";Type[Type["Uint16"]=-7]="Uint16";Type[Type["Uint32"]=-8]="Uint32";Type[Type["Uint64"]=-9]="Uint64";Type[Type["Float16"]=-10]="Float16";Type[Type["Float32"]=-11]="Float32";Type[Type["Float64"]=-12]="Float64";Type[Type["DateDay"]=-13]="DateDay";Type[Type["DateMillisecond"]=-14]="DateMillisecond";Type[Type["TimestampSecond"]=-15]="TimestampSecond";Type[Type["TimestampMillisecond"]=-16]="TimestampMillisecond";Type[Type["TimestampMicrosecond"]=-17]="TimestampMicrosecond";Type[Type["TimestampNanosecond"]=-18]="TimestampNanosecond";Type[Type["TimeSecond"]=-19]="TimeSecond";Type[Type["TimeMillisecond"]=-20]="TimeMillisecond";Type[Type["TimeMicrosecond"]=-21]="TimeMicrosecond";Type[Type["TimeNanosecond"]=-22]="TimeNanosecond";Type[Type["DenseUnion"]=-23]="DenseUnion";Type[Type["SparseUnion"]=-24]="SparseUnion";Type[Type["IntervalDayTime"]=-25]="IntervalDayTime";Type[Type["IntervalYearMonth"]=-26]="IntervalYearMonth";})(Type||(Type={}));var _Symbol$toStringTag,_Symbol$toStringTag2,_Symbol$toStringTag7;var DataType=/*#__PURE__*/function(){function DataType(){_classCallCheck(this,DataType);}_createClass(DataType,[{key:"typeId",get:function get(){return Type.NONE;}},{key:"compareTo",value:function compareTo(other){return this===other;}}],[{key:"isNull",value:function isNull(x){return x&&x.typeId===Type.Null;}},{key:"isInt",value:function isInt(x){return x&&x.typeId===Type.Int;}},{key:"isFloat",value:function isFloat(x){return x&&x.typeId===Type.Float;}},{key:"isBinary",value:function isBinary(x){return x&&x.typeId===Type.Binary;}},{key:"isUtf8",value:function isUtf8(x){return x&&x.typeId===Type.Utf8;}},{key:"isBool",value:function isBool(x){return x&&x.typeId===Type.Bool;}},{key:"isDecimal",value:function isDecimal(x){return x&&x.typeId===Type.Decimal;}},{key:"isDate",value:function isDate(x){return x&&x.typeId===Type.Date;}},{key:"isTime",value:function isTime(x){return x&&x.typeId===Type.Time;}},{key:"isTimestamp",value:function isTimestamp(x){return x&&x.typeId===Type.Timestamp;}},{key:"isInterval",value:function isInterval(x){return x&&x.typeId===Type.Interval;}},{key:"isList",value:function isList(x){return x&&x.typeId===Type.List;}},{key:"isStruct",value:function isStruct(x){return x&&x.typeId===Type.Struct;}},{key:"isUnion",value:function isUnion(x){return x&&x.typeId===Type.Union;}},{key:"isFixedSizeBinary",value:function isFixedSizeBinary(x){return x&&x.typeId===Type.FixedSizeBinary;}},{key:"isFixedSizeList",value:function isFixedSizeList(x){return x&&x.typeId===Type.FixedSizeList;}},{key:"isMap",value:function isMap(x){return x&&x.typeId===Type.Map;}},{key:"isDictionary",value:function isDictionary(x){return x&&x.typeId===Type.Dictionary;}}]);return DataType;}();_Symbol$toStringTag=Symbol.toStringTag;var Int=/*#__PURE__*/function(_DataType,_Symbol$toStringTag3){_inherits(Int,_DataType);var _super129=_createSuper(Int);function Int(isSigned,bitWidth){var _this109;_classCallCheck(this,Int);_this109=_super129.call(this);_defineProperty(_assertThisInitialized(_this109),"isSigned",void 0);_defineProperty(_assertThisInitialized(_this109),"bitWidth",void 0);_this109.isSigned=isSigned;_this109.bitWidth=bitWidth;return _this109;}_createClass(Int,[{key:"typeId",get:function get(){return Type.Int;}},{key:_Symbol$toStringTag3,get:function get(){return'Int';}},{key:"toString",value:function toString(){return"".concat(this.isSigned?'I':'Ui',"nt").concat(this.bitWidth);}}]);return Int;}(DataType,_Symbol$toStringTag);var Int8=/*#__PURE__*/function(_Int){_inherits(Int8,_Int);var _super130=_createSuper(Int8);function Int8(){_classCallCheck(this,Int8);return _super130.call(this,true,8);}return _createClass(Int8);}(Int);var Int16=/*#__PURE__*/function(_Int2){_inherits(Int16,_Int2);var _super131=_createSuper(Int16);function Int16(){_classCallCheck(this,Int16);return _super131.call(this,true,16);}return _createClass(Int16);}(Int);var Int32=/*#__PURE__*/function(_Int3){_inherits(Int32,_Int3);var _super132=_createSuper(Int32);function Int32(){_classCallCheck(this,Int32);return _super132.call(this,true,32);}return _createClass(Int32);}(Int);var Uint8=/*#__PURE__*/function(_Int4){_inherits(Uint8,_Int4);var _super133=_createSuper(Uint8);function Uint8(){_classCallCheck(this,Uint8);return _super133.call(this,false,8);}return _createClass(Uint8);}(Int);var Uint16=/*#__PURE__*/function(_Int5){_inherits(Uint16,_Int5);var _super134=_createSuper(Uint16);function Uint16(){_classCallCheck(this,Uint16);return _super134.call(this,false,16);}return _createClass(Uint16);}(Int);var Uint32=/*#__PURE__*/function(_Int6){_inherits(Uint32,_Int6);var _super135=_createSuper(Uint32);function Uint32(){_classCallCheck(this,Uint32);return _super135.call(this,false,32);}return _createClass(Uint32);}(Int);var Precision={HALF:16,SINGLE:32,DOUBLE:64};_Symbol$toStringTag2=Symbol.toStringTag;var Float=/*#__PURE__*/function(_DataType2,_Symbol$toStringTag4){_inherits(Float,_DataType2);var _super136=_createSuper(Float);function Float(precision){var _this110;_classCallCheck(this,Float);_this110=_super136.call(this);_defineProperty(_assertThisInitialized(_this110),"precision",void 0);_this110.precision=precision;return _this110;}_createClass(Float,[{key:"typeId",get:function get(){return Type.Float;}},{key:_Symbol$toStringTag4,get:function get(){return'Float';}},{key:"toString",value:function toString(){return"Float".concat(this.precision);}}]);return Float;}(DataType,_Symbol$toStringTag2);var Float32=/*#__PURE__*/function(_Float){_inherits(Float32,_Float);var _super137=_createSuper(Float32);function Float32(){_classCallCheck(this,Float32);return _super137.call(this,Precision.SINGLE);}return _createClass(Float32);}(Float);var Float64=/*#__PURE__*/function(_Float2){_inherits(Float64,_Float2);var _super138=_createSuper(Float64);function Float64(){_classCallCheck(this,Float64);return _super138.call(this,Precision.DOUBLE);}return _createClass(Float64);}(Float);_Symbol$toStringTag7=Symbol.toStringTag;var FixedSizeList=/*#__PURE__*/function(_DataType3,_Symbol$toStringTag5){_inherits(FixedSizeList,_DataType3);var _super139=_createSuper(FixedSizeList);function FixedSizeList(listSize,child){var _this111;_classCallCheck(this,FixedSizeList);_this111=_super139.call(this);_defineProperty(_assertThisInitialized(_this111),"listSize",void 0);_defineProperty(_assertThisInitialized(_this111),"children",void 0);_this111.listSize=listSize;_this111.children=[child];return _this111;}_createClass(FixedSizeList,[{key:"typeId",get:function get(){return Type.FixedSizeList;}},{key:"valueType",get:function get(){return this.children[0].type;}},{key:"valueField",get:function get(){return this.children[0];}},{key:_Symbol$toStringTag5,get:function get(){return'FixedSizeList';}},{key:"toString",value:function toString(){return"FixedSizeList[".concat(this.listSize,"]<").concat(this.valueType,">");}}]);return FixedSizeList;}(DataType,_Symbol$toStringTag7);function getArrowTypeFromTypedArray(array){switch(array.constructor){case Int8Array:return new Int8();case Uint8Array:return new Uint8();case Int16Array:return new Int16();case Uint16Array:return new Uint16();case Int32Array:return new Int32();case Uint32Array:return new Uint32();case Float32Array:return new Float32();case Float64Array:return new Float64();default:throw new Error('array type not supported');}}function deduceMeshField(attributeName,attribute,optionalMetadata){var type=getArrowTypeFromTypedArray(attribute.value);var metadata=optionalMetadata?optionalMetadata:makeMeshAttributeMetadata(attribute);var field=new Field(attributeName,new FixedSizeList(attribute.size,new Field('value',type)),false,metadata);return field;}function makeMeshAttributeMetadata(attribute){var result=new Map();if('byteOffset'in attribute){result.set('byteOffset',attribute.byteOffset.toString(10));}if('byteStride'in attribute){result.set('byteStride',attribute.byteStride.toString(10));}if('normalized'in attribute){result.set('normalized',attribute.normalized.toString());}return result;}function getDracoSchema(attributes,loaderData,indices){var metadataMap=makeMetadata(loaderData.metadata);var fields=[];var namedLoaderDataAttributes=transformAttributesLoaderData(loaderData.attributes);for(var attributeName in attributes){var attribute=attributes[attributeName];var field=getArrowFieldFromAttribute(attributeName,attribute,namedLoaderDataAttributes[attributeName]);fields.push(field);}if(indices){var indicesField=getArrowFieldFromAttribute('indices',indices);fields.push(indicesField);}return new Schema(fields,metadataMap);}function transformAttributesLoaderData(loaderData){var result={};for(var key in loaderData){var dracoAttribute=loaderData[key];result[dracoAttribute.name||'undefined']=dracoAttribute;}return result;}function getArrowFieldFromAttribute(attributeName,attribute,loaderData){var metadataMap=loaderData?makeMetadata(loaderData.metadata):undefined;var field=deduceMeshField(attributeName,attribute,metadataMap);return field;}function makeMetadata(metadata){var metadataMap=new Map();for(var key in metadata){metadataMap.set("".concat(key,".string"),JSON.stringify(metadata[key]));}return metadataMap;}var DRACO_TO_GLTF_ATTRIBUTE_NAME_MAP={POSITION:'POSITION',NORMAL:'NORMAL',COLOR:'COLOR_0',TEX_COORD:'TEXCOORD_0'};var DRACO_DATA_TYPE_TO_TYPED_ARRAY_MAP={1:Int8Array,2:Uint8Array,3:Int16Array,4:Uint16Array,5:Int32Array,6:Uint32Array,9:Float32Array};var INDEX_ITEM_SIZE=4;var DracoParser=/*#__PURE__*/function(){function DracoParser(draco){_classCallCheck(this,DracoParser);_defineProperty(this,"draco",void 0);_defineProperty(this,"decoder",void 0);_defineProperty(this,"metadataQuerier",void 0);this.draco=draco;this.decoder=new this.draco.Decoder();this.metadataQuerier=new this.draco.MetadataQuerier();}_createClass(DracoParser,[{key:"destroy",value:function destroy(){this.draco.destroy(this.decoder);this.draco.destroy(this.metadataQuerier);}},{key:"parseSync",value:function parseSync(arrayBuffer){var options=arguments.length>1&&arguments[1]!==undefined?arguments[1]:{};var buffer=new this.draco.DecoderBuffer();buffer.Init(new Int8Array(arrayBuffer),arrayBuffer.byteLength);this._disableAttributeTransforms(options);var geometry_type=this.decoder.GetEncodedGeometryType(buffer);var dracoGeometry=geometry_type===this.draco.TRIANGULAR_MESH?new this.draco.Mesh():new this.draco.PointCloud();try{var dracoStatus;switch(geometry_type){case this.draco.TRIANGULAR_MESH:dracoStatus=this.decoder.DecodeBufferToMesh(buffer,dracoGeometry);break;case this.draco.POINT_CLOUD:dracoStatus=this.decoder.DecodeBufferToPointCloud(buffer,dracoGeometry);break;default:throw new Error('DRACO: Unknown geometry type.');}if(!dracoStatus.ok()||!dracoGeometry.ptr){var message="DRACO decompression failed: ".concat(dracoStatus.error_msg());throw new Error(message);}var loaderData=this._getDracoLoaderData(dracoGeometry,geometry_type,options);var geometry=this._getMeshData(dracoGeometry,loaderData,options);var boundingBox=getMeshBoundingBox(geometry.attributes);var schema=getDracoSchema(geometry.attributes,loaderData,geometry.indices);var data=_objectSpread(_objectSpread({loader:'draco',loaderData:loaderData,header:{vertexCount:dracoGeometry.num_points(),boundingBox:boundingBox}},geometry),{},{schema:schema});return data;}finally{this.draco.destroy(buffer);if(dracoGeometry){this.draco.destroy(dracoGeometry);}}}},{key:"_getDracoLoaderData",value:function _getDracoLoaderData(dracoGeometry,geometry_type,options){var metadata=this._getTopLevelMetadata(dracoGeometry);var attributes=this._getDracoAttributes(dracoGeometry,options);return{geometry_type:geometry_type,num_attributes:dracoGeometry.num_attributes(),num_points:dracoGeometry.num_points(),num_faces:dracoGeometry instanceof this.draco.Mesh?dracoGeometry.num_faces():0,metadata:metadata,attributes:attributes};}},{key:"_getDracoAttributes",value:function _getDracoAttributes(dracoGeometry,options){var dracoAttributes={};for(var attributeId=0;attributeId2&&arguments[2]!==undefined?arguments[2]:false;if(!array){return null;}if(Array.isArray(array)){return new ArrayType(array);}if(convertTypedArrays&&!(array instanceof ArrayType)){return new ArrayType(array);}return array;}var KHR_DRACO_MESH_COMPRESSION='KHR_draco_mesh_compression';var name$3=KHR_DRACO_MESH_COMPRESSION;function preprocess$1(gltfData,options,context){var scenegraph=new GLTFScenegraph(gltfData);var _iterator25=_createForOfIteratorHelper(makeMeshPrimitiveIterator(scenegraph)),_step25;try{for(_iterator25.s();!(_step25=_iterator25.n()).done;){var _primitive=_step25.value;if(scenegraph.getObjectExtension(_primitive,KHR_DRACO_MESH_COMPRESSION));}}catch(err){_iterator25.e(err);}finally{_iterator25.f();}}function decode$3(_x72,_x73,_x74){return _decode$2.apply(this,arguments);}function _decode$2(){_decode$2=_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee54(gltfData,options,context){var _options$gltf,scenegraph,promises,_iterator49,_step49,_primitive5;return _regeneratorRuntime().wrap(function _callee54$(_context58){while(1){switch(_context58.prev=_context58.next){case 0:if(options!==null&&options!==void 0&&(_options$gltf=options.gltf)!==null&&_options$gltf!==void 0&&_options$gltf.decompressMeshes){_context58.next=2;break;}return _context58.abrupt("return");case 2:scenegraph=new GLTFScenegraph(gltfData);promises=[];_iterator49=_createForOfIteratorHelper(makeMeshPrimitiveIterator(scenegraph));try{for(_iterator49.s();!(_step49=_iterator49.n()).done;){_primitive5=_step49.value;if(scenegraph.getObjectExtension(_primitive5,KHR_DRACO_MESH_COMPRESSION)){promises.push(decompressPrimitive(scenegraph,_primitive5,options,context));}}}catch(err){_iterator49.e(err);}finally{_iterator49.f();}_context58.next=8;return Promise.all(promises);case 8:scenegraph.removeExtension(KHR_DRACO_MESH_COMPRESSION);case 9:case"end":return _context58.stop();}}},_callee54);}));return _decode$2.apply(this,arguments);}function encode$3(gltfData){var options=arguments.length>1&&arguments[1]!==undefined?arguments[1]:{};var scenegraph=new GLTFScenegraph(gltfData);var _iterator26=_createForOfIteratorHelper(scenegraph.json.meshes||[]),_step26;try{for(_iterator26.s();!(_step26=_iterator26.n()).done;){var _mesh3=_step26.value;compressMesh(_mesh3);scenegraph.addRequiredExtension(KHR_DRACO_MESH_COMPRESSION);}}catch(err){_iterator26.e(err);}finally{_iterator26.f();}}function decompressPrimitive(_x75,_x76,_x77,_x78){return _decompressPrimitive.apply(this,arguments);}function _decompressPrimitive(){_decompressPrimitive=_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee55(scenegraph,primitive,options,context){var dracoExtension,buffer,bufferCopy,parse,dracoOptions,decodedData,decodedAttributes,_i562,_Object$entries5,_Object$entries5$_i,attributeName,decodedAttribute,accessorIndex,accessor;return _regeneratorRuntime().wrap(function _callee55$(_context59){while(1){switch(_context59.prev=_context59.next){case 0:dracoExtension=scenegraph.getObjectExtension(primitive,KHR_DRACO_MESH_COMPRESSION);if(dracoExtension){_context59.next=3;break;}return _context59.abrupt("return");case 3:buffer=scenegraph.getTypedArrayForBufferView(dracoExtension.bufferView);bufferCopy=sliceArrayBuffer(buffer.buffer,buffer.byteOffset);parse=context.parse;dracoOptions=_objectSpread({},options);delete dracoOptions['3d-tiles'];_context59.next=10;return parse(bufferCopy,DracoLoader,dracoOptions,context);case 10:decodedData=_context59.sent;decodedAttributes=getGLTFAccessors(decodedData.attributes);for(_i562=0,_Object$entries5=Object.entries(decodedAttributes);_i562<_Object$entries5.length;_i562++){_Object$entries5$_i=_slicedToArray(_Object$entries5[_i562],2),attributeName=_Object$entries5$_i[0],decodedAttribute=_Object$entries5$_i[1];if(attributeName in primitive.attributes){accessorIndex=primitive.attributes[attributeName];accessor=scenegraph.getAccessor(accessorIndex);if(accessor!==null&&accessor!==void 0&&accessor.min&&accessor!==null&&accessor!==void 0&&accessor.max){decodedAttribute.min=accessor.min;decodedAttribute.max=accessor.max;}}}primitive.attributes=decodedAttributes;if(decodedData.indices){primitive.indices=getGLTFAccessor(decodedData.indices);}checkPrimitive(primitive);case 16:case"end":return _context59.stop();}}},_callee55);}));return _decompressPrimitive.apply(this,arguments);}function compressMesh(attributes,indices){var mode=arguments.length>2&&arguments[2]!==undefined?arguments[2]:4;var options=arguments.length>3?arguments[3]:undefined;var context=arguments.length>4?arguments[4]:undefined;var _context$parseSync;if(!options.DracoWriter){throw new Error('options.gltf.DracoWriter not provided');}var compressedData=options.DracoWriter.encodeSync({attributes:attributes});var decodedData=context===null||context===void 0?void 0:(_context$parseSync=context.parseSync)===null||_context$parseSync===void 0?void 0:_context$parseSync.call(context,{attributes:attributes});var fauxAccessors=options._addFauxAttributes(decodedData.attributes);var bufferViewIndex=options.addBufferView(compressedData);var glTFMesh={primitives:[{attributes:fauxAccessors,mode:mode,extensions:_defineProperty2({},KHR_DRACO_MESH_COMPRESSION,{bufferView:bufferViewIndex,attributes:fauxAccessors})}]};return glTFMesh;}function checkPrimitive(primitive){if(!primitive.attributes&&Object.keys(primitive.attributes).length>0){throw new Error('glTF: Empty primitive detected: Draco decompression failure?');}}function makeMeshPrimitiveIterator(scenegraph){var _iterator27,_step27,_mesh4,_iterator28,_step28,_primitive2;return _regeneratorRuntime().wrap(function makeMeshPrimitiveIterator$(_context10){while(1){switch(_context10.prev=_context10.next){case 0:_iterator27=_createForOfIteratorHelper(scenegraph.json.meshes||[]);_context10.prev=1;_iterator27.s();case 3:if((_step27=_iterator27.n()).done){_context10.next=24;break;}_mesh4=_step27.value;_iterator28=_createForOfIteratorHelper(_mesh4.primitives);_context10.prev=6;_iterator28.s();case 8:if((_step28=_iterator28.n()).done){_context10.next=14;break;}_primitive2=_step28.value;_context10.next=12;return _primitive2;case 12:_context10.next=8;break;case 14:_context10.next=19;break;case 16:_context10.prev=16;_context10.t0=_context10["catch"](6);_iterator28.e(_context10.t0);case 19:_context10.prev=19;_iterator28.f();return _context10.finish(19);case 22:_context10.next=3;break;case 24:_context10.next=29;break;case 26:_context10.prev=26;_context10.t1=_context10["catch"](1);_iterator27.e(_context10.t1);case 29:_context10.prev=29;_iterator27.f();return _context10.finish(29);case 32:case"end":return _context10.stop();}}},_marked3,null,[[1,26,29,32],[6,16,19,22]]);}var KHR_draco_mesh_compression=/*#__PURE__*/Object.freeze({__proto__:null,name:name$3,preprocess:preprocess$1,decode:decode$3,encode:encode$3});var KHR_LIGHTS_PUNCTUAL='KHR_lights_punctual';var name$2=KHR_LIGHTS_PUNCTUAL;function decode$2(_x79){return _decode$3.apply(this,arguments);}function _decode$3(){_decode$3=_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee56(gltfData){var gltfScenegraph,json,extension,_iterator50,_step50,_node13,nodeExtension;return _regeneratorRuntime().wrap(function _callee56$(_context60){while(1){switch(_context60.prev=_context60.next){case 0:gltfScenegraph=new GLTFScenegraph(gltfData);json=gltfScenegraph.json;extension=gltfScenegraph.getExtension(KHR_LIGHTS_PUNCTUAL);if(extension){gltfScenegraph.json.lights=extension.lights;gltfScenegraph.removeExtension(KHR_LIGHTS_PUNCTUAL);}_iterator50=_createForOfIteratorHelper(json.nodes||[]);try{for(_iterator50.s();!(_step50=_iterator50.n()).done;){_node13=_step50.value;nodeExtension=gltfScenegraph.getObjectExtension(_node13,KHR_LIGHTS_PUNCTUAL);if(nodeExtension){_node13.light=nodeExtension.light;}gltfScenegraph.removeObjectExtension(_node13,KHR_LIGHTS_PUNCTUAL);}}catch(err){_iterator50.e(err);}finally{_iterator50.f();}case 6:case"end":return _context60.stop();}}},_callee56);}));return _decode$3.apply(this,arguments);}function encode$2(_x80){return _encode$.apply(this,arguments);}function _encode$(){_encode$=_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee57(gltfData){var gltfScenegraph,json,extension,_iterator51,_step51,light,_node14;return _regeneratorRuntime().wrap(function _callee57$(_context61){while(1){switch(_context61.prev=_context61.next){case 0:gltfScenegraph=new GLTFScenegraph(gltfData);json=gltfScenegraph.json;if(json.lights){extension=gltfScenegraph.addExtension(KHR_LIGHTS_PUNCTUAL);assert$1(!extension.lights);extension.lights=json.lights;delete json.lights;}if(gltfScenegraph.json.lights){_iterator51=_createForOfIteratorHelper(gltfScenegraph.json.lights);try{for(_iterator51.s();!(_step51=_iterator51.n()).done;){light=_step51.value;_node14=light.node;gltfScenegraph.addObjectExtension(_node14,KHR_LIGHTS_PUNCTUAL,light);}}catch(err){_iterator51.e(err);}finally{_iterator51.f();}delete gltfScenegraph.json.lights;}case 4:case"end":return _context61.stop();}}},_callee57);}));return _encode$.apply(this,arguments);}var KHR_lights_punctual=/*#__PURE__*/Object.freeze({__proto__:null,name:name$2,decode:decode$2,encode:encode$2});var KHR_MATERIALS_UNLIT='KHR_materials_unlit';var name$1=KHR_MATERIALS_UNLIT;function decode$1(_x81){return _decode$4.apply(this,arguments);}function _decode$4(){_decode$4=_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee58(gltfData){var gltfScenegraph,json,_iterator52,_step52,material,extension;return _regeneratorRuntime().wrap(function _callee58$(_context62){while(1){switch(_context62.prev=_context62.next){case 0:gltfScenegraph=new GLTFScenegraph(gltfData);json=gltfScenegraph.json;gltfScenegraph.removeExtension(KHR_MATERIALS_UNLIT);_iterator52=_createForOfIteratorHelper(json.materials||[]);try{for(_iterator52.s();!(_step52=_iterator52.n()).done;){material=_step52.value;extension=material.extensions&&material.extensions.KHR_materials_unlit;if(extension){material.unlit=true;}gltfScenegraph.removeObjectExtension(material,KHR_MATERIALS_UNLIT);}}catch(err){_iterator52.e(err);}finally{_iterator52.f();}case 5:case"end":return _context62.stop();}}},_callee58);}));return _decode$4.apply(this,arguments);}function encode$1(gltfData){var gltfScenegraph=new GLTFScenegraph(gltfData);var json=gltfScenegraph.json;if(gltfScenegraph.materials){var _iterator29=_createForOfIteratorHelper(json.materials||[]),_step29;try{for(_iterator29.s();!(_step29=_iterator29.n()).done;){var material=_step29.value;if(material.unlit){delete material.unlit;gltfScenegraph.addObjectExtension(material,KHR_MATERIALS_UNLIT,{});gltfScenegraph.addExtension(KHR_MATERIALS_UNLIT);}}}catch(err){_iterator29.e(err);}finally{_iterator29.f();}}}var KHR_materials_unlit=/*#__PURE__*/Object.freeze({__proto__:null,name:name$1,decode:decode$1,encode:encode$1});var KHR_TECHNIQUES_WEBGL='KHR_techniques_webgl';var name=KHR_TECHNIQUES_WEBGL;function decode(_x82){return _decode.apply(this,arguments);}function _decode(){_decode=_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee59(gltfData){var gltfScenegraph,json,extension,techniques,_iterator53,_step53,material,materialExtension;return _regeneratorRuntime().wrap(function _callee59$(_context63){while(1){switch(_context63.prev=_context63.next){case 0:gltfScenegraph=new GLTFScenegraph(gltfData);json=gltfScenegraph.json;extension=gltfScenegraph.getExtension(KHR_TECHNIQUES_WEBGL);if(extension){techniques=resolveTechniques(extension,gltfScenegraph);_iterator53=_createForOfIteratorHelper(json.materials||[]);try{for(_iterator53.s();!(_step53=_iterator53.n()).done;){material=_step53.value;materialExtension=gltfScenegraph.getObjectExtension(material,KHR_TECHNIQUES_WEBGL);if(materialExtension){material.technique=Object.assign({},materialExtension,techniques[materialExtension.technique]);material.technique.values=resolveValues(material.technique,gltfScenegraph);}gltfScenegraph.removeObjectExtension(material,KHR_TECHNIQUES_WEBGL);}}catch(err){_iterator53.e(err);}finally{_iterator53.f();}gltfScenegraph.removeExtension(KHR_TECHNIQUES_WEBGL);}case 4:case"end":return _context63.stop();}}},_callee59);}));return _decode.apply(this,arguments);}function encode(_x83,_x84){return _encode.apply(this,arguments);}function _encode(){_encode=_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee60(gltfData,options){return _regeneratorRuntime().wrap(function _callee60$(_context64){while(1){switch(_context64.prev=_context64.next){case 0:case"end":return _context64.stop();}}},_callee60);}));return _encode.apply(this,arguments);}function resolveTechniques(techniquesExtension,gltfScenegraph){var _techniquesExtension$=techniquesExtension.programs,programs=_techniquesExtension$===void 0?[]:_techniquesExtension$,_techniquesExtension$2=techniquesExtension.shaders,shaders=_techniquesExtension$2===void 0?[]:_techniquesExtension$2,_techniquesExtension$3=techniquesExtension.techniques,techniques=_techniquesExtension$3===void 0?[]:_techniquesExtension$3;var textDecoder=new TextDecoder();shaders.forEach(function(shader){if(Number.isFinite(shader.bufferView)){shader.code=textDecoder.decode(gltfScenegraph.getTypedArrayForBufferView(shader.bufferView));}else{throw new Error('KHR_techniques_webgl: no shader code');}});programs.forEach(function(program){program.fragmentShader=shaders[program.fragmentShader];program.vertexShader=shaders[program.vertexShader];});techniques.forEach(function(technique){technique.program=programs[technique.program];});return techniques;}function resolveValues(technique,gltfScenegraph){var values=Object.assign({},technique.values);Object.keys(technique.uniforms||{}).forEach(function(uniform){if(technique.uniforms[uniform].value&&!(uniform in values)){values[uniform]=technique.uniforms[uniform].value;}});Object.keys(values).forEach(function(uniform){if(_typeof(values[uniform])==='object'&&values[uniform].index!==undefined){values[uniform].texture=gltfScenegraph.getTexture(values[uniform].index);}});return values;}var KHR_techniques_webgl=/*#__PURE__*/Object.freeze({__proto__:null,name:name,decode:decode,encode:encode});var EXTENSIONS=[EXT_meshopt_compression,EXT_texture_webp,KHR_texture_basisu,KHR_draco_mesh_compression,KHR_lights_punctual,KHR_materials_unlit,KHR_techniques_webgl];function preprocessExtensions(gltf){var options=arguments.length>1&&arguments[1]!==undefined?arguments[1]:{};var context=arguments.length>2?arguments[2]:undefined;var extensions=EXTENSIONS.filter(function(extension){return useExtension(extension.name,options);});var _iterator30=_createForOfIteratorHelper(extensions),_step30;try{for(_iterator30.s();!(_step30=_iterator30.n()).done;){var extension=_step30.value;var _extension$preprocess;(_extension$preprocess=extension.preprocess)===null||_extension$preprocess===void 0?void 0:_extension$preprocess.call(extension,gltf,options,context);}}catch(err){_iterator30.e(err);}finally{_iterator30.f();}}function decodeExtensions(_x85){return _decodeExtensions.apply(this,arguments);}function _decodeExtensions(){_decodeExtensions=_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee61(gltf){var options,context,extensions,_iterator54,_step54,extension,_extension$decode,_args59=arguments;return _regeneratorRuntime().wrap(function _callee61$(_context65){while(1){switch(_context65.prev=_context65.next){case 0:options=_args59.length>1&&_args59[1]!==undefined?_args59[1]:{};context=_args59.length>2?_args59[2]:undefined;extensions=EXTENSIONS.filter(function(extension){return useExtension(extension.name,options);});_iterator54=_createForOfIteratorHelper(extensions);_context65.prev=4;_iterator54.s();case 6:if((_step54=_iterator54.n()).done){_context65.next=12;break;}extension=_step54.value;_context65.next=10;return(_extension$decode=extension.decode)===null||_extension$decode===void 0?void 0:_extension$decode.call(extension,gltf,options,context);case 10:_context65.next=6;break;case 12:_context65.next=17;break;case 14:_context65.prev=14;_context65.t0=_context65["catch"](4);_iterator54.e(_context65.t0);case 17:_context65.prev=17;_iterator54.f();return _context65.finish(17);case 20:case"end":return _context65.stop();}}},_callee61,null,[[4,14,17,20]]);}));return _decodeExtensions.apply(this,arguments);}function useExtension(extensionName,options){var _options$gltf;var excludes=(options===null||options===void 0?void 0:(_options$gltf=options.gltf)===null||_options$gltf===void 0?void 0:_options$gltf.excludeExtensions)||{};var exclude=extensionName in excludes&&!excludes[extensionName];return!exclude;}var KHR_BINARY_GLTF='KHR_binary_glTF';function preprocess(gltfData){var gltfScenegraph=new GLTFScenegraph(gltfData);var json=gltfScenegraph.json;var _iterator31=_createForOfIteratorHelper(json.images||[]),_step31;try{for(_iterator31.s();!(_step31=_iterator31.n()).done;){var _image7=_step31.value;var extension=gltfScenegraph.getObjectExtension(_image7,KHR_BINARY_GLTF);if(extension){Object.assign(_image7,extension);}gltfScenegraph.removeObjectExtension(_image7,KHR_BINARY_GLTF);}}catch(err){_iterator31.e(err);}finally{_iterator31.f();}if(json.buffers&&json.buffers[0]){delete json.buffers[0].uri;}gltfScenegraph.removeExtension(KHR_BINARY_GLTF);}var GLTF_ARRAYS={accessors:'accessor',animations:'animation',buffers:'buffer',bufferViews:'bufferView',images:'image',materials:'material',meshes:'mesh',nodes:'node',samplers:'sampler',scenes:'scene',skins:'skin',textures:'texture'};var GLTF_KEYS={accessor:'accessors',animations:'animation',buffer:'buffers',bufferView:'bufferViews',image:'images',material:'materials',mesh:'meshes',node:'nodes',sampler:'samplers',scene:'scenes',skin:'skins',texture:'textures'};var GLTFV1Normalizer=/*#__PURE__*/function(){function GLTFV1Normalizer(){_classCallCheck(this,GLTFV1Normalizer);_defineProperty(this,"idToIndexMap",{animations:{},accessors:{},buffers:{},bufferViews:{},images:{},materials:{},meshes:{},nodes:{},samplers:{},scenes:{},skins:{},textures:{}});_defineProperty(this,"json",void 0);}_createClass(GLTFV1Normalizer,[{key:"normalize",value:function normalize(gltf,options){this.json=gltf.json;var json=gltf.json;switch(json.asset&&json.asset.version){case'2.0':return;case undefined:case'1.0':break;default:console.warn("glTF: Unknown version ".concat(json.asset.version));return;}if(!options.normalize){throw new Error('glTF v1 is not supported.');}console.warn('Converting glTF v1 to glTF v2 format. This is experimental and may fail.');this._addAsset(json);this._convertTopLevelObjectsToArrays(json);preprocess(gltf);this._convertObjectIdsToArrayIndices(json);this._updateObjects(json);this._updateMaterial(json);}},{key:"_addAsset",value:function _addAsset(json){json.asset=json.asset||{};json.asset.version='2.0';json.asset.generator=json.asset.generator||'Normalized to glTF 2.0 by loaders.gl';}},{key:"_convertTopLevelObjectsToArrays",value:function _convertTopLevelObjectsToArrays(json){for(var arrayName in GLTF_ARRAYS){this._convertTopLevelObjectToArray(json,arrayName);}}},{key:"_convertTopLevelObjectToArray",value:function _convertTopLevelObjectToArray(json,mapName){var objectMap=json[mapName];if(!objectMap||Array.isArray(objectMap)){return;}json[mapName]=[];for(var id in objectMap){var object=objectMap[id];object.id=object.id||id;var index=json[mapName].length;json[mapName].push(object);this.idToIndexMap[mapName][id]=index;}}},{key:"_convertObjectIdsToArrayIndices",value:function _convertObjectIdsToArrayIndices(json){for(var arrayName in GLTF_ARRAYS){this._convertIdsToIndices(json,arrayName);}if('scene'in json){json.scene=this._convertIdToIndex(json.scene,'scene');}var _iterator32=_createForOfIteratorHelper(json.textures),_step32;try{for(_iterator32.s();!(_step32=_iterator32.n()).done;){var texture=_step32.value;this._convertTextureIds(texture);}}catch(err){_iterator32.e(err);}finally{_iterator32.f();}var _iterator33=_createForOfIteratorHelper(json.meshes),_step33;try{for(_iterator33.s();!(_step33=_iterator33.n()).done;){var _mesh5=_step33.value;this._convertMeshIds(_mesh5);}}catch(err){_iterator33.e(err);}finally{_iterator33.f();}var _iterator34=_createForOfIteratorHelper(json.nodes),_step34;try{for(_iterator34.s();!(_step34=_iterator34.n()).done;){var _node4=_step34.value;this._convertNodeIds(_node4);}}catch(err){_iterator34.e(err);}finally{_iterator34.f();}var _iterator35=_createForOfIteratorHelper(json.scenes),_step35;try{for(_iterator35.s();!(_step35=_iterator35.n()).done;){var _node5=_step35.value;this._convertSceneIds(_node5);}}catch(err){_iterator35.e(err);}finally{_iterator35.f();}}},{key:"_convertTextureIds",value:function _convertTextureIds(texture){if(texture.source){texture.source=this._convertIdToIndex(texture.source,'image');}}},{key:"_convertMeshIds",value:function _convertMeshIds(mesh){var _iterator36=_createForOfIteratorHelper(mesh.primitives),_step36;try{for(_iterator36.s();!(_step36=_iterator36.n()).done;){var _primitive3=_step36.value;var attributes=_primitive3.attributes,indices=_primitive3.indices,material=_primitive3.material;for(var attributeName in attributes){attributes[attributeName]=this._convertIdToIndex(attributes[attributeName],'accessor');}if(indices){_primitive3.indices=this._convertIdToIndex(indices,'accessor');}if(material){_primitive3.material=this._convertIdToIndex(material,'material');}}}catch(err){_iterator36.e(err);}finally{_iterator36.f();}}},{key:"_convertNodeIds",value:function _convertNodeIds(node){var _this114=this;if(node.children){node.children=node.children.map(function(child){return _this114._convertIdToIndex(child,'node');});}if(node.meshes){node.meshes=node.meshes.map(function(mesh){return _this114._convertIdToIndex(mesh,'mesh');});}}},{key:"_convertSceneIds",value:function _convertSceneIds(scene){var _this115=this;if(scene.nodes){scene.nodes=scene.nodes.map(function(node){return _this115._convertIdToIndex(node,'node');});}}},{key:"_convertIdsToIndices",value:function _convertIdsToIndices(json,topLevelArrayName){if(!json[topLevelArrayName]){console.warn("gltf v1: json doesn't contain attribute ".concat(topLevelArrayName));json[topLevelArrayName]=[];}var _iterator37=_createForOfIteratorHelper(json[topLevelArrayName]),_step37;try{for(_iterator37.s();!(_step37=_iterator37.n()).done;){var object=_step37.value;for(var key in object){var id=object[key];var index=this._convertIdToIndex(id,key);object[key]=index;}}}catch(err){_iterator37.e(err);}finally{_iterator37.f();}}},{key:"_convertIdToIndex",value:function _convertIdToIndex(id,key){var arrayName=GLTF_KEYS[key];if(arrayName in this.idToIndexMap){var index=this.idToIndexMap[arrayName][id];if(!Number.isFinite(index)){throw new Error("gltf v1: failed to resolve ".concat(key," with id ").concat(id));}return index;}return id;}},{key:"_updateObjects",value:function _updateObjects(json){var _iterator38=_createForOfIteratorHelper(this.json.buffers),_step38;try{for(_iterator38.s();!(_step38=_iterator38.n()).done;){var buffer=_step38.value;delete buffer.type;}}catch(err){_iterator38.e(err);}finally{_iterator38.f();}}},{key:"_updateMaterial",value:function _updateMaterial(json){var _iterator39=_createForOfIteratorHelper(json.materials),_step39;try{var _loop6=function _loop6(){var material=_step39.value;material.pbrMetallicRoughness={baseColorFactor:[1,1,1,1],metallicFactor:1,roughnessFactor:1};var textureId=((_material$values=material.values)===null||_material$values===void 0?void 0:_material$values.tex)||((_material$values2=material.values)===null||_material$values2===void 0?void 0:_material$values2.texture2d_0);var textureIndex=json.textures.findIndex(function(texture){return texture.id===textureId;});if(textureIndex!==-1){material.pbrMetallicRoughness.baseColorTexture={index:textureIndex};}};for(_iterator39.s();!(_step39=_iterator39.n()).done;){var _material$values,_material$values2;_loop6();}}catch(err){_iterator39.e(err);}finally{_iterator39.f();}}}]);return GLTFV1Normalizer;}();function normalizeGLTFV1(gltf){var options=arguments.length>1&&arguments[1]!==undefined?arguments[1]:{};return new GLTFV1Normalizer().normalize(gltf,options);}var COMPONENTS={SCALAR:1,VEC2:2,VEC3:3,VEC4:4,MAT2:4,MAT3:9,MAT4:16};var BYTES={5120:1,5121:1,5122:2,5123:2,5125:4,5126:4};var GL_SAMPLER={TEXTURE_MAG_FILTER:0x2800,TEXTURE_MIN_FILTER:0x2801,TEXTURE_WRAP_S:0x2802,TEXTURE_WRAP_T:0x2803,REPEAT:0x2901,LINEAR:0x2601,NEAREST_MIPMAP_LINEAR:0x2702};var SAMPLER_PARAMETER_GLTF_TO_GL={magFilter:GL_SAMPLER.TEXTURE_MAG_FILTER,minFilter:GL_SAMPLER.TEXTURE_MIN_FILTER,wrapS:GL_SAMPLER.TEXTURE_WRAP_S,wrapT:GL_SAMPLER.TEXTURE_WRAP_T};var DEFAULT_SAMPLER=(_DEFAULT_SAMPLER={},_defineProperty2(_DEFAULT_SAMPLER,GL_SAMPLER.TEXTURE_MAG_FILTER,GL_SAMPLER.LINEAR),_defineProperty2(_DEFAULT_SAMPLER,GL_SAMPLER.TEXTURE_MIN_FILTER,GL_SAMPLER.NEAREST_MIPMAP_LINEAR),_defineProperty2(_DEFAULT_SAMPLER,GL_SAMPLER.TEXTURE_WRAP_S,GL_SAMPLER.REPEAT),_defineProperty2(_DEFAULT_SAMPLER,GL_SAMPLER.TEXTURE_WRAP_T,GL_SAMPLER.REPEAT),_DEFAULT_SAMPLER);function getBytesFromComponentType(componentType){return BYTES[componentType];}function getSizeFromAccessorType(type){return COMPONENTS[type];}var GLTFPostProcessor=/*#__PURE__*/function(){function GLTFPostProcessor(){_classCallCheck(this,GLTFPostProcessor);_defineProperty(this,"baseUri",'');_defineProperty(this,"json",{});_defineProperty(this,"buffers",[]);_defineProperty(this,"images",[]);}_createClass(GLTFPostProcessor,[{key:"postProcess",value:function postProcess(gltf){var options=arguments.length>1&&arguments[1]!==undefined?arguments[1]:{};var json=gltf.json,_gltf$buffers=gltf.buffers,buffers=_gltf$buffers===void 0?[]:_gltf$buffers,_gltf$images=gltf.images,images=_gltf$images===void 0?[]:_gltf$images,_gltf$baseUri=gltf.baseUri,baseUri=_gltf$baseUri===void 0?'':_gltf$baseUri;assert$1(json);this.baseUri=baseUri;this.json=json;this.buffers=buffers;this.images=images;this._resolveTree(this.json,options);return this.json;}},{key:"_resolveTree",value:function _resolveTree(json){var _this116=this;var options=arguments.length>1&&arguments[1]!==undefined?arguments[1]:{};if(json.bufferViews){json.bufferViews=json.bufferViews.map(function(bufView,i){return _this116._resolveBufferView(bufView,i);});}if(json.images){json.images=json.images.map(function(image,i){return _this116._resolveImage(image,i);});}if(json.samplers){json.samplers=json.samplers.map(function(sampler,i){return _this116._resolveSampler(sampler,i);});}if(json.textures){json.textures=json.textures.map(function(texture,i){return _this116._resolveTexture(texture,i);});}if(json.accessors){json.accessors=json.accessors.map(function(accessor,i){return _this116._resolveAccessor(accessor,i);});}if(json.materials){json.materials=json.materials.map(function(material,i){return _this116._resolveMaterial(material,i);});}if(json.meshes){json.meshes=json.meshes.map(function(mesh,i){return _this116._resolveMesh(mesh,i);});}if(json.nodes){json.nodes=json.nodes.map(function(node,i){return _this116._resolveNode(node,i);});}if(json.skins){json.skins=json.skins.map(function(skin,i){return _this116._resolveSkin(skin,i);});}if(json.scenes){json.scenes=json.scenes.map(function(scene,i){return _this116._resolveScene(scene,i);});}if(json.scene!==undefined){json.scene=json.scenes[this.json.scene];}}},{key:"getScene",value:function getScene(index){return this._get('scenes',index);}},{key:"getNode",value:function getNode(index){return this._get('nodes',index);}},{key:"getSkin",value:function getSkin(index){return this._get('skins',index);}},{key:"getMesh",value:function getMesh(index){return this._get('meshes',index);}},{key:"getMaterial",value:function getMaterial(index){return this._get('materials',index);}},{key:"getAccessor",value:function getAccessor(index){return this._get('accessors',index);}},{key:"getCamera",value:function getCamera(index){return null;}},{key:"getTexture",value:function getTexture(index){return this._get('textures',index);}},{key:"getSampler",value:function getSampler(index){return this._get('samplers',index);}},{key:"getImage",value:function getImage(index){return this._get('images',index);}},{key:"getBufferView",value:function getBufferView(index){return this._get('bufferViews',index);}},{key:"getBuffer",value:function getBuffer(index){return this._get('buffers',index);}},{key:"_get",value:function _get(array,index){if(_typeof(index)==='object'){return index;}var object=this.json[array]&&this.json[array][index];if(!object){console.warn("glTF file error: Could not find ".concat(array,"[").concat(index,"]"));}return object;}},{key:"_resolveScene",value:function _resolveScene(scene,index){var _this117=this;scene.id=scene.id||"scene-".concat(index);scene.nodes=(scene.nodes||[]).map(function(node){return _this117.getNode(node);});return scene;}},{key:"_resolveNode",value:function _resolveNode(node,index){var _this118=this;node.id=node.id||"node-".concat(index);if(node.children){node.children=node.children.map(function(child){return _this118.getNode(child);});}if(node.mesh!==undefined){node.mesh=this.getMesh(node.mesh);}else if(node.meshes!==undefined&&node.meshes.length){node.mesh=node.meshes.reduce(function(accum,meshIndex){var mesh=_this118.getMesh(meshIndex);accum.id=mesh.id;accum.primitives=accum.primitives.concat(mesh.primitives);return accum;},{primitives:[]});}if(node.camera!==undefined){node.camera=this.getCamera(node.camera);}if(node.skin!==undefined){node.skin=this.getSkin(node.skin);}return node;}},{key:"_resolveSkin",value:function _resolveSkin(skin,index){skin.id=skin.id||"skin-".concat(index);skin.inverseBindMatrices=this.getAccessor(skin.inverseBindMatrices);return skin;}},{key:"_resolveMesh",value:function _resolveMesh(mesh,index){var _this119=this;mesh.id=mesh.id||"mesh-".concat(index);if(mesh.primitives){mesh.primitives=mesh.primitives.map(function(primitive){primitive=_objectSpread({},primitive);var attributes=primitive.attributes;primitive.attributes={};for(var attribute in attributes){primitive.attributes[attribute]=_this119.getAccessor(attributes[attribute]);}if(primitive.indices!==undefined){primitive.indices=_this119.getAccessor(primitive.indices);}if(primitive.material!==undefined){primitive.material=_this119.getMaterial(primitive.material);}return primitive;});}return mesh;}},{key:"_resolveMaterial",value:function _resolveMaterial(material,index){material.id=material.id||"material-".concat(index);if(material.normalTexture){material.normalTexture=_objectSpread({},material.normalTexture);material.normalTexture.texture=this.getTexture(material.normalTexture.index);}if(material.occlusionTexture){material.occlustionTexture=_objectSpread({},material.occlustionTexture);material.occlusionTexture.texture=this.getTexture(material.occlusionTexture.index);}if(material.emissiveTexture){material.emmisiveTexture=_objectSpread({},material.emmisiveTexture);material.emissiveTexture.texture=this.getTexture(material.emissiveTexture.index);}if(!material.emissiveFactor){material.emissiveFactor=material.emmisiveTexture?[1,1,1]:[0,0,0];}if(material.pbrMetallicRoughness){material.pbrMetallicRoughness=_objectSpread({},material.pbrMetallicRoughness);var mr=material.pbrMetallicRoughness;if(mr.baseColorTexture){mr.baseColorTexture=_objectSpread({},mr.baseColorTexture);mr.baseColorTexture.texture=this.getTexture(mr.baseColorTexture.index);}if(mr.metallicRoughnessTexture){mr.metallicRoughnessTexture=_objectSpread({},mr.metallicRoughnessTexture);mr.metallicRoughnessTexture.texture=this.getTexture(mr.metallicRoughnessTexture.index);}}return material;}},{key:"_resolveAccessor",value:function _resolveAccessor(accessor,index){accessor.id=accessor.id||"accessor-".concat(index);if(accessor.bufferView!==undefined){accessor.bufferView=this.getBufferView(accessor.bufferView);}accessor.bytesPerComponent=getBytesFromComponentType(accessor.componentType);accessor.components=getSizeFromAccessorType(accessor.type);accessor.bytesPerElement=accessor.bytesPerComponent*accessor.components;if(accessor.bufferView){var buffer=accessor.bufferView.buffer;var _getAccessorArrayType2=getAccessorArrayTypeAndLength(accessor,accessor.bufferView),ArrayType=_getAccessorArrayType2.ArrayType,byteLength=_getAccessorArrayType2.byteLength;var byteOffset=(accessor.bufferView.byteOffset||0)+(accessor.byteOffset||0)+buffer.byteOffset;var cutBuffer=buffer.arrayBuffer.slice(byteOffset,byteOffset+byteLength);if(accessor.bufferView.byteStride){cutBuffer=this._getValueFromInterleavedBuffer(buffer,byteOffset,accessor.bufferView.byteStride,accessor.bytesPerElement,accessor.count);}accessor.value=new ArrayType(cutBuffer);}return accessor;}},{key:"_getValueFromInterleavedBuffer",value:function _getValueFromInterleavedBuffer(buffer,byteOffset,byteStride,bytesPerElement,count){var result=new Uint8Array(count*bytesPerElement);for(var _i468=0;_i4681&&arguments[1]!==undefined?arguments[1]:0;return"".concat(String.fromCharCode(dataView.getUint8(byteOffset+0))).concat(String.fromCharCode(dataView.getUint8(byteOffset+1))).concat(String.fromCharCode(dataView.getUint8(byteOffset+2))).concat(String.fromCharCode(dataView.getUint8(byteOffset+3)));}function isGLB(arrayBuffer){var byteOffset=arguments.length>1&&arguments[1]!==undefined?arguments[1]:0;var options=arguments.length>2&&arguments[2]!==undefined?arguments[2]:{};var dataView=new DataView(arrayBuffer);var _options$magic=options.magic,magic=_options$magic===void 0?MAGIC_glTF:_options$magic;var magic1=dataView.getUint32(byteOffset,false);return magic1===magic||magic1===MAGIC_glTF;}function parseGLBSync(glb,arrayBuffer){var byteOffset=arguments.length>2&&arguments[2]!==undefined?arguments[2]:0;var options=arguments.length>3&&arguments[3]!==undefined?arguments[3]:{};var dataView=new DataView(arrayBuffer);var type=getMagicString(dataView,byteOffset+0);var version=dataView.getUint32(byteOffset+4,LE);var byteLength=dataView.getUint32(byteOffset+8,LE);Object.assign(glb,{header:{byteOffset:byteOffset,byteLength:byteLength,hasBinChunk:false},type:type,version:version,json:{},binChunks:[]});byteOffset+=GLB_FILE_HEADER_SIZE;switch(glb.version){case 1:return parseGLBV1(glb,dataView,byteOffset);case 2:return parseGLBV2(glb,dataView,byteOffset,options={});default:throw new Error("Invalid GLB version ".concat(glb.version,". Only supports v1 and v2."));}}function parseGLBV1(glb,dataView,byteOffset){assert$5(glb.header.byteLength>GLB_FILE_HEADER_SIZE+GLB_CHUNK_HEADER_SIZE);var contentLength=dataView.getUint32(byteOffset+0,LE);var contentFormat=dataView.getUint32(byteOffset+4,LE);byteOffset+=GLB_CHUNK_HEADER_SIZE;assert$5(contentFormat===GLB_V1_CONTENT_FORMAT_JSON);parseJSONChunk(glb,dataView,byteOffset,contentLength);byteOffset+=contentLength;byteOffset+=parseBINChunk(glb,dataView,byteOffset,glb.header.byteLength);return byteOffset;}function parseGLBV2(glb,dataView,byteOffset,options){assert$5(glb.header.byteLength>GLB_FILE_HEADER_SIZE+GLB_CHUNK_HEADER_SIZE);parseGLBChunksSync(glb,dataView,byteOffset,options);return byteOffset+glb.header.byteLength;}function parseGLBChunksSync(glb,dataView,byteOffset,options){while(byteOffset+8<=glb.header.byteLength){var chunkLength=dataView.getUint32(byteOffset+0,LE);var chunkFormat=dataView.getUint32(byteOffset+4,LE);byteOffset+=GLB_CHUNK_HEADER_SIZE;switch(chunkFormat){case GLB_CHUNK_TYPE_JSON:parseJSONChunk(glb,dataView,byteOffset,chunkLength);break;case GLB_CHUNK_TYPE_BIN:parseBINChunk(glb,dataView,byteOffset,chunkLength);break;case GLB_CHUNK_TYPE_JSON_XVIZ_DEPRECATED:if(!options.strict){parseJSONChunk(glb,dataView,byteOffset,chunkLength);}break;case GLB_CHUNK_TYPE_BIX_XVIZ_DEPRECATED:if(!options.strict){parseBINChunk(glb,dataView,byteOffset,chunkLength);}break;}byteOffset+=padToNBytes(chunkLength,4);}return byteOffset;}function parseJSONChunk(glb,dataView,byteOffset,chunkLength){var jsonChunk=new Uint8Array(dataView.buffer,byteOffset,chunkLength);var textDecoder=new TextDecoder('utf8');var jsonText=textDecoder.decode(jsonChunk);glb.json=JSON.parse(jsonText);return padToNBytes(chunkLength,4);}function parseBINChunk(glb,dataView,byteOffset,chunkLength){glb.header.hasBinChunk=true;glb.binChunks.push({byteOffset:byteOffset,byteLength:chunkLength,arrayBuffer:dataView.buffer});return padToNBytes(chunkLength,4);}function parseGLTF$1(_x86,_x87){return _parseGLTF$.apply(this,arguments);}function _parseGLTF$(){_parseGLTF$=_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee62(gltf,arrayBufferOrString){var byteOffset,options,context,_options$gltf,_options$gltf2,_options$gltf3,_options$gltf4,promises,_promise,promise,_args60=arguments;return _regeneratorRuntime().wrap(function _callee62$(_context66){while(1){switch(_context66.prev=_context66.next){case 0:byteOffset=_args60.length>2&&_args60[2]!==undefined?_args60[2]:0;options=_args60.length>3?_args60[3]:undefined;context=_args60.length>4?_args60[4]:undefined;parseGLTFContainerSync(gltf,arrayBufferOrString,byteOffset,options);normalizeGLTFV1(gltf,{normalize:options===null||options===void 0?void 0:(_options$gltf=options.gltf)===null||_options$gltf===void 0?void 0:_options$gltf.normalize});preprocessExtensions(gltf,options,context);promises=[];if(!(options!==null&&options!==void 0&&(_options$gltf2=options.gltf)!==null&&_options$gltf2!==void 0&&_options$gltf2.loadBuffers&&gltf.json.buffers)){_context66.next=10;break;}_context66.next=10;return loadBuffers(gltf,options,context);case 10:if(options!==null&&options!==void 0&&(_options$gltf3=options.gltf)!==null&&_options$gltf3!==void 0&&_options$gltf3.loadImages){_promise=loadImages(gltf,options,context);promises.push(_promise);}promise=decodeExtensions(gltf,options,context);promises.push(promise);_context66.next=15;return Promise.all(promises);case 15:return _context66.abrupt("return",options!==null&&options!==void 0&&(_options$gltf4=options.gltf)!==null&&_options$gltf4!==void 0&&_options$gltf4.postProcess?postProcessGLTF(gltf,options):gltf);case 16:case"end":return _context66.stop();}}},_callee62);}));return _parseGLTF$.apply(this,arguments);}function parseGLTFContainerSync(gltf,data,byteOffset,options){if(options.uri){gltf.baseUri=options.uri;}if(data instanceof ArrayBuffer&&!isGLB(data,byteOffset,options)){var textDecoder=new TextDecoder();data=textDecoder.decode(data);}if(typeof data==='string'){gltf.json=parseJSON(data);}else if(data instanceof ArrayBuffer){var glb={};byteOffset=parseGLBSync(glb,data,byteOffset,options.glb);assert$1(glb.type==='glTF',"Invalid GLB magic string ".concat(glb.type));gltf._glb=glb;gltf.json=glb.json;}else{assert$1(false,'GLTF: must be ArrayBuffer or string');}var buffers=gltf.json.buffers||[];gltf.buffers=new Array(buffers.length).fill(null);if(gltf._glb&&gltf._glb.header.hasBinChunk){var binChunks=gltf._glb.binChunks;gltf.buffers[0]={arrayBuffer:binChunks[0].arrayBuffer,byteOffset:binChunks[0].byteOffset,byteLength:binChunks[0].byteLength};}var images=gltf.json.images||[];gltf.images=new Array(images.length).fill({});}function loadBuffers(_x88,_x89,_x90){return _loadBuffers.apply(this,arguments);}function _loadBuffers(){_loadBuffers=_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee63(gltf,options,context){var buffers,_i563,buffer,_context$fetch,_response$arrayBuffer,_fetch,uri,response,arrayBuffer;return _regeneratorRuntime().wrap(function _callee63$(_context67){while(1){switch(_context67.prev=_context67.next){case 0:buffers=gltf.json.buffers||[];_i563=0;case 2:if(!(_i5631&&arguments[1]!==undefined?arguments[1]:true;var transfers=arguments.length>2?arguments[2]:undefined;var transfersSet=transfers||new Set();if(!object);else if(isTransferable(object)){transfersSet.add(object);}else if(isTransferable(object.buffer)){transfersSet.add(object.buffer);}else if(ArrayBuffer.isView(object));else if(recursive&&_typeof(object)==='object'){for(var key in object){getTransferList(object[key],recursive,transfersSet);}}return transfers===undefined?Array.from(transfersSet):[];}function isTransferable(object){if(!object){return false;}if(object instanceof ArrayBuffer){return true;}if(typeof MessagePort!=='undefined'&&object instanceof MessagePort){return true;}if(typeof ImageBitmap!=='undefined'&&object instanceof ImageBitmap){return true;}if(typeof OffscreenCanvas!=='undefined'&&object instanceof OffscreenCanvas){return true;}return false;}var NOOP=function NOOP(){};var WorkerThread=/*#__PURE__*/function(){function WorkerThread(props){_classCallCheck(this,WorkerThread);_defineProperty(this,"name",void 0);_defineProperty(this,"source",void 0);_defineProperty(this,"url",void 0);_defineProperty(this,"terminated",false);_defineProperty(this,"worker",void 0);_defineProperty(this,"onMessage",void 0);_defineProperty(this,"onError",void 0);_defineProperty(this,"_loadableURL",'');var name=props.name,source=props.source,url=props.url;assert$4(source||url);this.name=name;this.source=source;this.url=url;this.onMessage=NOOP;this.onError=function(error){return console.log(error);};this.worker=isBrowser$3?this._createBrowserWorker():this._createNodeWorker();}_createClass(WorkerThread,[{key:"destroy",value:function destroy(){this.onMessage=NOOP;this.onError=NOOP;this.worker.terminate();this.terminated=true;}},{key:"isRunning",get:function get(){return Boolean(this.onMessage);}},{key:"postMessage",value:function postMessage(data,transferList){transferList=transferList||getTransferList(data);this.worker.postMessage(data,transferList);}},{key:"_getErrorFromErrorEvent",value:function _getErrorFromErrorEvent(event){var message='Failed to load ';message+="worker ".concat(this.name," from ").concat(this.url,". ");if(event.message){message+="".concat(event.message," in ");}if(event.lineno){message+=":".concat(event.lineno,":").concat(event.colno);}return new Error(message);}},{key:"_createBrowserWorker",value:function _createBrowserWorker(){var _this105=this;this._loadableURL=getLoadableWorkerURL({source:this.source,url:this.url});var worker=new Worker(this._loadableURL,{name:this.name});worker.onmessage=function(event){if(!event.data){_this105.onError(new Error('No data received'));}else{_this105.onMessage(event.data);}};worker.onerror=function(error){_this105.onError(_this105._getErrorFromErrorEvent(error));_this105.terminated=true;};worker.onmessageerror=function(event){return console.error(event);};return worker;}},{key:"_createNodeWorker",value:function _createNodeWorker(){var _this106=this;var worker;if(this.url){var absolute=this.url.includes(':/')||this.url.startsWith('/');var url=absolute?this.url:"./".concat(this.url);worker=new Worker$1(url,{eval:false});}else if(this.source){worker=new Worker$1(this.source,{eval:true});}else{throw new Error('no worker');}worker.on('message',function(data){_this106.onMessage(data);});worker.on('error',function(error){_this106.onError(error);});worker.on('exit',function(code){});return worker;}}],[{key:"isSupported",value:function isSupported(){return typeof Worker!=='undefined'&&isBrowser$3||_typeof(Worker$1)!==undefined;}}]);return WorkerThread;}();var WorkerPool=/*#__PURE__*/function(){function WorkerPool(props){_classCallCheck(this,WorkerPool);_defineProperty(this,"name",'unnamed');_defineProperty(this,"source",void 0);_defineProperty(this,"url",void 0);_defineProperty(this,"maxConcurrency",1);_defineProperty(this,"maxMobileConcurrency",1);_defineProperty(this,"onDebug",function(){});_defineProperty(this,"reuseWorkers",true);_defineProperty(this,"props",{});_defineProperty(this,"jobQueue",[]);_defineProperty(this,"idleQueue",[]);_defineProperty(this,"count",0);_defineProperty(this,"isDestroyed",false);this.source=props.source;this.url=props.url;this.setProps(props);}_createClass(WorkerPool,[{key:"destroy",value:function destroy(){this.idleQueue.forEach(function(worker){return worker.destroy();});this.isDestroyed=true;}},{key:"setProps",value:function setProps(props){this.props=_objectSpread(_objectSpread({},this.props),props);if(props.name!==undefined){this.name=props.name;}if(props.maxConcurrency!==undefined){this.maxConcurrency=props.maxConcurrency;}if(props.maxMobileConcurrency!==undefined){this.maxMobileConcurrency=props.maxMobileConcurrency;}if(props.reuseWorkers!==undefined){this.reuseWorkers=props.reuseWorkers;}if(props.onDebug!==undefined){this.onDebug=props.onDebug;}}},{key:"startJob",value:function(){var _startJob=_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee2(name){var _this107=this;var onMessage,onError,startPromise,_args2=arguments;return _regeneratorRuntime().wrap(function _callee2$(_context3){while(1){switch(_context3.prev=_context3.next){case 0:onMessage=_args2.length>1&&_args2[1]!==undefined?_args2[1]:function(job,type,data){return job.done(data);};onError=_args2.length>2&&_args2[2]!==undefined?_args2[2]:function(job,error){return job.error(error);};startPromise=new Promise(function(onStart){_this107.jobQueue.push({name:name,onMessage:onMessage,onError:onError,onStart:onStart});return _this107;});this._startQueuedJob();_context3.next=6;return startPromise;case 6:return _context3.abrupt("return",_context3.sent);case 7:case"end":return _context3.stop();}}},_callee2,this);}));function startJob(_x7){return _startJob.apply(this,arguments);}return startJob;}()},{key:"_startQueuedJob",value:function(){var _startQueuedJob2=_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee3(){var workerThread,queuedJob,job;return _regeneratorRuntime().wrap(function _callee3$(_context4){while(1){switch(_context4.prev=_context4.next){case 0:if(this.jobQueue.length){_context4.next=2;break;}return _context4.abrupt("return");case 2:workerThread=this._getAvailableWorker();if(workerThread){_context4.next=5;break;}return _context4.abrupt("return");case 5:queuedJob=this.jobQueue.shift();if(!queuedJob){_context4.next=18;break;}this.onDebug({message:'Starting job',name:queuedJob.name,workerThread:workerThread,backlog:this.jobQueue.length});job=new WorkerJob(queuedJob.name,workerThread);workerThread.onMessage=function(data){return queuedJob.onMessage(job,data.type,data.payload);};workerThread.onError=function(error){return queuedJob.onError(job,error);};queuedJob.onStart(job);_context4.prev=12;_context4.next=15;return job.result;case 15:_context4.prev=15;this.returnWorkerToQueue(workerThread);return _context4.finish(15);case 18:case"end":return _context4.stop();}}},_callee3,this,[[12,,15,18]]);}));function _startQueuedJob(){return _startQueuedJob2.apply(this,arguments);}return _startQueuedJob;}()},{key:"returnWorkerToQueue",value:function returnWorkerToQueue(worker){var shouldDestroyWorker=this.isDestroyed||!this.reuseWorkers||this.count>this._getMaxConcurrency();if(shouldDestroyWorker){worker.destroy();this.count--;}else{this.idleQueue.push(worker);}if(!this.isDestroyed){this._startQueuedJob();}}},{key:"_getAvailableWorker",value:function _getAvailableWorker(){if(this.idleQueue.length>0){return this.idleQueue.shift()||null;}if(this.count0&&arguments[0]!==undefined?arguments[0]:{};WorkerFarm._workerFarm=WorkerFarm._workerFarm||new WorkerFarm({});WorkerFarm._workerFarm.setProps(props);return WorkerFarm._workerFarm;}}]);return WorkerFarm;}();_defineProperty(WorkerFarm,"_workerFarm",void 0);var NPM_TAG='latest';function getWorkerURL(worker){var options=arguments.length>1&&arguments[1]!==undefined?arguments[1]:{};var workerOptions=options[worker.id]||{};var workerFile="".concat(worker.id,"-worker.js");var url=workerOptions.workerUrl;if(!url&&worker.id==='compression'){url=options.workerUrl;}if(options._workerType==='test'){url="modules/".concat(worker.module,"/dist/").concat(workerFile);}if(!url){var version=worker.version;if(version==='latest'){version=NPM_TAG;}var versionTag=version?"@".concat(version):'';url="https://unpkg.com/@loaders.gl/".concat(worker.module).concat(versionTag,"/dist/").concat(workerFile);}assert$4(url);return url;}function validateWorkerVersion(worker){var coreVersion=arguments.length>1&&arguments[1]!==undefined?arguments[1]:VERSION$9;assert$4(worker,'no worker provided');var workerVersion=worker.version;if(!coreVersion||!workerVersion){return false;}return true;}var ChildProcessProxy={};var node=/*#__PURE__*/Object.freeze({__proto__:null,'default':ChildProcessProxy});var VERSION$8="3.2.6";var loadLibraryPromises={};function loadLibrary(_x8){return _loadLibrary.apply(this,arguments);}function _loadLibrary(){_loadLibrary=_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee21(libraryUrl){var moduleName,options,_args19=arguments;return _regeneratorRuntime().wrap(function _callee21$(_context25){while(1){switch(_context25.prev=_context25.next){case 0:moduleName=_args19.length>1&&_args19[1]!==undefined?_args19[1]:null;options=_args19.length>2&&_args19[2]!==undefined?_args19[2]:{};if(moduleName){libraryUrl=getLibraryUrl(libraryUrl,moduleName,options);}loadLibraryPromises[libraryUrl]=loadLibraryPromises[libraryUrl]||loadLibraryFromFile(libraryUrl);_context25.next=6;return loadLibraryPromises[libraryUrl];case 6:return _context25.abrupt("return",_context25.sent);case 7:case"end":return _context25.stop();}}},_callee21);}));return _loadLibrary.apply(this,arguments);}function getLibraryUrl(library,moduleName,options){if(library.startsWith('http')){return library;}var modules=options.modules||{};if(modules[library]){return modules[library];}if(!isBrowser$3){return"modules/".concat(moduleName,"/dist/libs/").concat(library);}if(options.CDN){assert$4(options.CDN.startsWith('http'));return"".concat(options.CDN,"/").concat(moduleName,"@").concat(VERSION$8,"/dist/libs/").concat(library);}if(isWorker){return"../src/libs/".concat(library);}return"modules/".concat(moduleName,"/src/libs/").concat(library);}function loadLibraryFromFile(_x9){return _loadLibraryFromFile.apply(this,arguments);}function _loadLibraryFromFile(){_loadLibraryFromFile=_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee22(libraryUrl){var _response,response,scriptSource;return _regeneratorRuntime().wrap(function _callee22$(_context26){while(1){switch(_context26.prev=_context26.next){case 0:if(!libraryUrl.endsWith('wasm')){_context26.next=7;break;}_context26.next=3;return fetch(libraryUrl);case 3:_response=_context26.sent;_context26.next=6;return _response.arrayBuffer();case 6:return _context26.abrupt("return",_context26.sent);case 7:if(isBrowser$3){_context26.next=20;break;}_context26.prev=8;_context26.t0=node&&undefined;if(!_context26.t0){_context26.next=14;break;}_context26.next=13;return undefined(libraryUrl);case 13:_context26.t0=_context26.sent;case 14:return _context26.abrupt("return",_context26.t0);case 17:_context26.prev=17;_context26.t1=_context26["catch"](8);return _context26.abrupt("return",null);case 20:if(!isWorker){_context26.next=22;break;}return _context26.abrupt("return",importScripts(libraryUrl));case 22:_context26.next=24;return fetch(libraryUrl);case 24:response=_context26.sent;_context26.next=27;return response.text();case 27:scriptSource=_context26.sent;return _context26.abrupt("return",loadLibraryFromString(scriptSource,libraryUrl));case 29:case"end":return _context26.stop();}}},_callee22,null,[[8,17]]);}));return _loadLibraryFromFile.apply(this,arguments);}function loadLibraryFromString(scriptSource,id){if(!isBrowser$3){return undefined&&undefined(scriptSource,id);}if(isWorker){eval.call(global_,scriptSource);return null;}var script=document.createElement('script');script.id=id;try{script.appendChild(document.createTextNode(scriptSource));}catch(e){script.text=scriptSource;}document.body.appendChild(script);return null;}function canParseWithWorker(loader,options){if(!WorkerFarm.isSupported()){return false;}if(!isBrowser$3&&!(options!==null&&options!==void 0&&options._nodeWorkers)){return false;}return loader.worker&&(options===null||options===void 0?void 0:options.worker);}function parseWithWorker(_x10,_x11,_x12,_x13,_x14){return _parseWithWorker.apply(this,arguments);}function _parseWithWorker(){_parseWithWorker=_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee23(loader,data,options,context,parseOnMainThread){var name,url,workerFarm,workerPool,job,result;return _regeneratorRuntime().wrap(function _callee23$(_context27){while(1){switch(_context27.prev=_context27.next){case 0:name=loader.id;url=getWorkerURL(loader,options);workerFarm=WorkerFarm.getWorkerFarm(options);workerPool=workerFarm.getWorkerPool({name:name,url:url});options=JSON.parse(JSON.stringify(options));context=JSON.parse(JSON.stringify(context||{}));_context27.next=8;return workerPool.startJob('process-on-worker',onMessage.bind(null,parseOnMainThread));case 8:job=_context27.sent;job.postMessage('process',{input:data,options:options,context:context});_context27.next=12;return job.result;case 12:result=_context27.sent;_context27.next=15;return result.result;case 15:return _context27.abrupt("return",_context27.sent);case 16:case"end":return _context27.stop();}}},_callee23);}));return _parseWithWorker.apply(this,arguments);}function onMessage(_x15,_x16,_x17,_x18){return _onMessage2.apply(this,arguments);}function _onMessage2(){_onMessage2=_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee24(parseOnMainThread,job,type,payload){var id,input,options,result,message;return _regeneratorRuntime().wrap(function _callee24$(_context28){while(1){switch(_context28.prev=_context28.next){case 0:_context28.t0=type;_context28.next=_context28.t0==='done'?3:_context28.t0==='error'?5:_context28.t0==='process'?7:20;break;case 3:job.done(payload);return _context28.abrupt("break",21);case 5:job.error(new Error(payload.error));return _context28.abrupt("break",21);case 7:id=payload.id,input=payload.input,options=payload.options;_context28.prev=8;_context28.next=11;return parseOnMainThread(input,options);case 11:result=_context28.sent;job.postMessage('done',{id:id,result:result});_context28.next=19;break;case 15:_context28.prev=15;_context28.t1=_context28["catch"](8);message=_context28.t1 instanceof Error?_context28.t1.message:'unknown error';job.postMessage('error',{id:id,error:message});case 19:return _context28.abrupt("break",21);case 20:console.warn("parse-with-worker unknown message ".concat(type));case 21:case"end":return _context28.stop();}}},_callee24,null,[[8,15]]);}));return _onMessage2.apply(this,arguments);}function getFirstCharacters$1(data){var length=arguments.length>1&&arguments[1]!==undefined?arguments[1]:5;if(typeof data==='string'){return data.slice(0,length);}else if(ArrayBuffer.isView(data)){return getMagicString$2(data.buffer,data.byteOffset,length);}else if(data instanceof ArrayBuffer){var byteOffset=0;return getMagicString$2(data,byteOffset,length);}return'';}function getMagicString$2(arrayBuffer,byteOffset,length){if(arrayBuffer.byteLength<=byteOffset+length){return'';}var dataView=new DataView(arrayBuffer);var magic='';for(var _i461=0;_i461=0);assert$5(padding>0);return byteLength+(padding-1)&~(padding-1);}function copyToArray(source,target,targetOffset){var sourceArray;if(source instanceof ArrayBuffer){sourceArray=new Uint8Array(source);}else{var srcByteOffset=source.byteOffset;var srcByteLength=source.byteLength;sourceArray=new Uint8Array(source.buffer||source.arrayBuffer,srcByteOffset,srcByteLength);}target.set(sourceArray,targetOffset);return targetOffset+padToNBytes(sourceArray.byteLength,4);}function concatenateArrayBuffersAsync(_x19){return _concatenateArrayBuffersAsync.apply(this,arguments);}function _concatenateArrayBuffersAsync(){_concatenateArrayBuffersAsync=_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee25(asyncIterator){var arrayBuffers,_iteratorAbruptCompletion,_didIteratorError,_iteratorError,_iterator,_step,chunk;return _regeneratorRuntime().wrap(function _callee25$(_context29){while(1){switch(_context29.prev=_context29.next){case 0:arrayBuffers=[];_iteratorAbruptCompletion=false;_didIteratorError=false;_context29.prev=3;_iterator=_asyncIterator(asyncIterator);case 5:_context29.next=7;return _iterator.next();case 7:if(!(_iteratorAbruptCompletion=!(_step=_context29.sent).done)){_context29.next=13;break;}chunk=_step.value;arrayBuffers.push(chunk);case 10:_iteratorAbruptCompletion=false;_context29.next=5;break;case 13:_context29.next=19;break;case 15:_context29.prev=15;_context29.t0=_context29["catch"](3);_didIteratorError=true;_iteratorError=_context29.t0;case 19:_context29.prev=19;_context29.prev=20;if(!(_iteratorAbruptCompletion&&_iterator["return"]!=null)){_context29.next=24;break;}_context29.next=24;return _iterator["return"]();case 24:_context29.prev=24;if(!_didIteratorError){_context29.next=27;break;}throw _iteratorError;case 27:return _context29.finish(24);case 28:return _context29.finish(19);case 29:return _context29.abrupt("return",concatenateArrayBuffers.apply(void 0,arrayBuffers));case 30:case"end":return _context29.stop();}}},_callee25,null,[[3,15,19,29],[20,,24,28]]);}));return _concatenateArrayBuffersAsync.apply(this,arguments);}var pathPrefix='';var fileAliases={};function resolvePath(filename){for(var alias in fileAliases){if(filename.startsWith(alias)){var replacement=fileAliases[alias];filename=filename.replace(alias,replacement);}}if(!filename.startsWith('http://')&&!filename.startsWith('https://')){filename="".concat(pathPrefix).concat(filename);}return filename;}function filename(url){var slashIndex=url&&url.lastIndexOf('/');return slashIndex>=0?url.substr(slashIndex+1):'';}var isBoolean=function isBoolean(x){return typeof x==='boolean';};var isFunction=function isFunction(x){return typeof x==='function';};var isObject=function isObject(x){return x!==null&&_typeof(x)==='object';};var isPureObject=function isPureObject(x){return isObject(x)&&x.constructor==={}.constructor;};var isIterable=function isIterable(x){return x&&typeof x[Symbol.iterator]==='function';};var isAsyncIterable=function isAsyncIterable(x){return x&&typeof x[Symbol.asyncIterator]==='function';};var isResponse=function isResponse(x){return typeof Response!=='undefined'&&x instanceof Response||x&&x.arrayBuffer&&x.text&&x.json;};var isBlob=function isBlob(x){return typeof Blob!=='undefined'&&x instanceof Blob;};var isBuffer=function isBuffer(x){return x&&_typeof(x)==='object'&&x.isBuffer;};var isReadableDOMStream=function isReadableDOMStream(x){return typeof ReadableStream!=='undefined'&&x instanceof ReadableStream||isObject(x)&&isFunction(x.tee)&&isFunction(x.cancel)&&isFunction(x.getReader);};var isReadableNodeStream=function isReadableNodeStream(x){return isObject(x)&&isFunction(x.read)&&isFunction(x.pipe)&&isBoolean(x.readable);};var isReadableStream=function isReadableStream(x){return isReadableDOMStream(x)||isReadableNodeStream(x);};var DATA_URL_PATTERN=/^data:([-\w.]+\/[-\w.+]+)(;|,)/;var MIME_TYPE_PATTERN=/^([-\w.]+\/[-\w.+]+)/;function parseMIMEType(mimeString){var matches=MIME_TYPE_PATTERN.exec(mimeString);if(matches){return matches[1];}return mimeString;}function parseMIMETypeFromURL(url){var matches=DATA_URL_PATTERN.exec(url);if(matches){return matches[1];}return'';}var QUERY_STRING_PATTERN=/\?.*/;function getResourceUrlAndType(resource){if(isResponse(resource)){var url=stripQueryString(resource.url||'');var contentTypeHeader=resource.headers.get('content-type')||'';return{url:url,type:parseMIMEType(contentTypeHeader)||parseMIMETypeFromURL(url)};}if(isBlob(resource)){return{url:stripQueryString(resource.name||''),type:resource.type||''};}if(typeof resource==='string'){return{url:stripQueryString(resource),type:parseMIMETypeFromURL(resource)};}return{url:'',type:''};}function getResourceContentLength(resource){if(isResponse(resource)){return resource.headers['content-length']||-1;}if(isBlob(resource)){return resource.size;}if(typeof resource==='string'){return resource.length;}if(resource instanceof ArrayBuffer){return resource.byteLength;}if(ArrayBuffer.isView(resource)){return resource.byteLength;}return-1;}function stripQueryString(url){return url.replace(QUERY_STRING_PATTERN,'');}function makeResponse(_x20){return _makeResponse.apply(this,arguments);}function _makeResponse(){_makeResponse=_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee26(resource){var headers,contentLength,_getResourceUrlAndTyp3,url,type,initialDataUrl,response;return _regeneratorRuntime().wrap(function _callee26$(_context30){while(1){switch(_context30.prev=_context30.next){case 0:if(!isResponse(resource)){_context30.next=2;break;}return _context30.abrupt("return",resource);case 2:headers={};contentLength=getResourceContentLength(resource);if(contentLength>=0){headers['content-length']=String(contentLength);}_getResourceUrlAndTyp3=getResourceUrlAndType(resource),url=_getResourceUrlAndTyp3.url,type=_getResourceUrlAndTyp3.type;if(type){headers['content-type']=type;}_context30.next=9;return getInitialDataUrl(resource);case 9:initialDataUrl=_context30.sent;if(initialDataUrl){headers['x-first-bytes']=initialDataUrl;}if(typeof resource==='string'){resource=new TextEncoder().encode(resource);}response=new Response(resource,{headers:headers});Object.defineProperty(response,'url',{value:url});return _context30.abrupt("return",response);case 15:case"end":return _context30.stop();}}},_callee26);}));return _makeResponse.apply(this,arguments);}function checkResponse(_x21){return _checkResponse.apply(this,arguments);}function _checkResponse(){_checkResponse=_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee27(response){var message;return _regeneratorRuntime().wrap(function _callee27$(_context31){while(1){switch(_context31.prev=_context31.next){case 0:if(response.ok){_context31.next=5;break;}_context31.next=3;return getResponseError(response);case 3:message=_context31.sent;throw new Error(message);case 5:case"end":return _context31.stop();}}},_callee27);}));return _checkResponse.apply(this,arguments);}function getResponseError(_x22){return _getResponseError.apply(this,arguments);}function _getResponseError(){_getResponseError=_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee28(response){var message,contentType,text;return _regeneratorRuntime().wrap(function _callee28$(_context32){while(1){switch(_context32.prev=_context32.next){case 0:message="Failed to fetch resource ".concat(response.url," (").concat(response.status,"): ");_context32.prev=1;contentType=response.headers.get('Content-Type');text=response.statusText;if(!contentType.includes('application/json')){_context32.next=11;break;}_context32.t0=text;_context32.t1=" ";_context32.next=9;return response.text();case 9:_context32.t2=_context32.sent;text=_context32.t0+=_context32.t1.concat.call(_context32.t1,_context32.t2);case 11:message+=text;message=message.length>60?"".concat(message.slice(0,60),"..."):message;_context32.next=17;break;case 15:_context32.prev=15;_context32.t3=_context32["catch"](1);case 17:return _context32.abrupt("return",message);case 18:case"end":return _context32.stop();}}},_callee28,null,[[1,15]]);}));return _getResponseError.apply(this,arguments);}function getInitialDataUrl(_x23){return _getInitialDataUrl.apply(this,arguments);}function _getInitialDataUrl(){_getInitialDataUrl=_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee29(resource){var INITIAL_DATA_LENGTH,blobSlice,slice,_base;return _regeneratorRuntime().wrap(function _callee29$(_context33){while(1){switch(_context33.prev=_context33.next){case 0:INITIAL_DATA_LENGTH=5;if(!(typeof resource==='string')){_context33.next=3;break;}return _context33.abrupt("return","data:,".concat(resource.slice(0,INITIAL_DATA_LENGTH)));case 3:if(!(resource instanceof Blob)){_context33.next=8;break;}blobSlice=resource.slice(0,5);_context33.next=7;return new Promise(function(resolve){var reader=new FileReader();reader.onload=function(event){var _event$target;return resolve(event===null||event===void 0?void 0:(_event$target=event.target)===null||_event$target===void 0?void 0:_event$target.result);};reader.readAsDataURL(blobSlice);});case 7:return _context33.abrupt("return",_context33.sent);case 8:if(!(resource instanceof ArrayBuffer)){_context33.next=12;break;}slice=resource.slice(0,INITIAL_DATA_LENGTH);_base=arrayBufferToBase64(slice);return _context33.abrupt("return","data:base64,".concat(_base));case 12:return _context33.abrupt("return",null);case 13:case"end":return _context33.stop();}}},_callee29);}));return _getInitialDataUrl.apply(this,arguments);}function arrayBufferToBase64(buffer){var binary='';var bytes=new Uint8Array(buffer);for(var _i463=0;_i463=0){return true;}return false;}function isBrowser$2(){var isNode=(typeof process==="undefined"?"undefined":_typeof(process))==='object'&&String(process)==='[object process]'&&!process.browser;return!isNode||isElectron$1();}var globals$1={self:typeof self!=='undefined'&&self,window:typeof window!=='undefined'&&window,global:typeof global!=='undefined'&&global,document:typeof document!=='undefined'&&document,process:(typeof process==="undefined"?"undefined":_typeof(process))==='object'&&process};var window_$1=globals$1.window||globals$1.self||globals$1.global;var process_$1=globals$1.process||{};var VERSION$7=typeof __VERSION__!=='undefined'?__VERSION__:'untranspiled source';var isBrowser$1=isBrowser$2();function getStorage$1(type){try{var storage=window[type];var x='__storage_test__';storage.setItem(x,x);storage.removeItem(x);return storage;}catch(e){return null;}}var LocalStorage$1=/*#__PURE__*/function(){function LocalStorage$1(id,defaultSettings){var type=arguments.length>2&&arguments[2]!==undefined?arguments[2]:'sessionStorage';_classCallCheck(this,LocalStorage$1);this.storage=getStorage$1(type);this.id=id;this.config={};Object.assign(this.config,defaultSettings);this._loadConfiguration();}_createClass(LocalStorage$1,[{key:"getConfiguration",value:function getConfiguration(){return this.config;}},{key:"setConfiguration",value:function setConfiguration(configuration){this.config={};return this.updateConfiguration(configuration);}},{key:"updateConfiguration",value:function updateConfiguration(configuration){Object.assign(this.config,configuration);if(this.storage){var serialized=JSON.stringify(this.config);this.storage.setItem(this.id,serialized);}return this;}},{key:"_loadConfiguration",value:function _loadConfiguration(){var configuration={};if(this.storage){var serializedConfiguration=this.storage.getItem(this.id);configuration=serializedConfiguration?JSON.parse(serializedConfiguration):{};}Object.assign(this.config,configuration);return this;}}]);return LocalStorage$1;}();function formatTime$1(ms){var formatted;if(ms<10){formatted="".concat(ms.toFixed(2),"ms");}else if(ms<100){formatted="".concat(ms.toFixed(1),"ms");}else if(ms<1000){formatted="".concat(ms.toFixed(0),"ms");}else{formatted="".concat((ms/1000).toFixed(2),"s");}return formatted;}function leftPad$1(string){var length=arguments.length>1&&arguments[1]!==undefined?arguments[1]:8;var padLength=Math.max(length-string.length,0);return"".concat(' '.repeat(padLength)).concat(string);}function formatImage$1(image,message,scale){var maxWidth=arguments.length>3&&arguments[3]!==undefined?arguments[3]:600;var imageUrl=image.src.replace(/\(/g,'%28').replace(/\)/g,'%29');if(image.width>maxWidth){scale=Math.min(scale,maxWidth/image.width);}var width=image.width*scale;var height=image.height*scale;var style=['font-size:1px;',"padding:".concat(Math.floor(height/2),"px ").concat(Math.floor(width/2),"px;"),"line-height:".concat(height,"px;"),"background:url(".concat(imageUrl,");"),"background-size:".concat(width,"px ").concat(height,"px;"),'color:transparent;'].join('');return["".concat(message," %c+"),style];}var COLOR$1={BLACK:30,RED:31,GREEN:32,YELLOW:33,BLUE:34,MAGENTA:35,CYAN:36,WHITE:37,BRIGHT_BLACK:90,BRIGHT_RED:91,BRIGHT_GREEN:92,BRIGHT_YELLOW:93,BRIGHT_BLUE:94,BRIGHT_MAGENTA:95,BRIGHT_CYAN:96,BRIGHT_WHITE:97};function getColor$1(color){return typeof color==='string'?COLOR$1[color.toUpperCase()]||COLOR$1.WHITE:color;}function addColor$1(string,color,background){if(!isBrowser$1&&typeof string==='string'){if(color){color=getColor$1(color);string="\x1B[".concat(color,"m").concat(string,"\x1B[39m");}if(background){color=getColor$1(background);string="\x1B[".concat(background+10,"m").concat(string,"\x1B[49m");}}return string;}function autobind$1(obj){var predefined=arguments.length>1&&arguments[1]!==undefined?arguments[1]:['constructor'];var proto=Object.getPrototypeOf(obj);var propNames=Object.getOwnPropertyNames(proto);var _iterator7=_createForOfIteratorHelper(propNames),_step7;try{var _loop4=function _loop4(){var key=_step7.value;if(typeof obj[key]==='function'){if(!predefined.find(function(name){return key===name;})){obj[key]=obj[key].bind(obj);}}};for(_iterator7.s();!(_step7=_iterator7.n()).done;){_loop4();}}catch(err){_iterator7.e(err);}finally{_iterator7.f();}}function assert$3(condition,message){if(!condition){throw new Error(message||'Assertion failed');}}function getHiResTimestamp$1(){var timestamp;if(isBrowser$1&&window_$1.performance){timestamp=window_$1.performance.now();}else if(process_$1.hrtime){var timeParts=process_$1.hrtime();timestamp=timeParts[0]*1000+timeParts[1]/1e6;}else{timestamp=Date.now();}return timestamp;}var originalConsole$1={debug:isBrowser$1?console.debug||console.log:console.log,log:console.log,info:console.info,warn:console.warn,error:console.error};var DEFAULT_SETTINGS$1={enabled:true,level:0};function noop$1(){}var cache$1={};var ONCE$1={once:true};function getTableHeader$1(table){for(var key in table){for(var title in table[key]){return title||'untitled';}}return'empty';}var Log$2=/*#__PURE__*/function(){function Log$2(){var _ref16=arguments.length>0&&arguments[0]!==undefined?arguments[0]:{id:''},id=_ref16.id;_classCallCheck(this,Log$2);this.id=id;this.VERSION=VERSION$7;this._startTs=getHiResTimestamp$1();this._deltaTs=getHiResTimestamp$1();this.LOG_THROTTLE_TIMEOUT=0;this._storage=new LocalStorage$1("__probe-".concat(this.id,"__"),DEFAULT_SETTINGS$1);this.userData={};this.timeStamp("".concat(this.id," started"));autobind$1(this);Object.seal(this);}_createClass(Log$2,[{key:"level",get:function get(){return this.getLevel();},set:function set(newLevel){this.setLevel(newLevel);}},{key:"isEnabled",value:function isEnabled(){return this._storage.config.enabled;}},{key:"getLevel",value:function getLevel(){return this._storage.config.level;}},{key:"getTotal",value:function getTotal(){return Number((getHiResTimestamp$1()-this._startTs).toPrecision(10));}},{key:"getDelta",value:function getDelta(){return Number((getHiResTimestamp$1()-this._deltaTs).toPrecision(10));}},{key:"priority",get:function get(){return this.level;},set:function set(newPriority){this.level=newPriority;}},{key:"getPriority",value:function getPriority(){return this.level;}},{key:"enable",value:function enable(){var enabled=arguments.length>0&&arguments[0]!==undefined?arguments[0]:true;this._storage.updateConfiguration({enabled:enabled});return this;}},{key:"setLevel",value:function setLevel(level){this._storage.updateConfiguration({level:level});return this;}},{key:"assert",value:function assert(condition,message){assert$3(condition,message);}},{key:"warn",value:function warn(message){return this._getLogFunction(0,message,originalConsole$1.warn,arguments,ONCE$1);}},{key:"error",value:function error(message){return this._getLogFunction(0,message,originalConsole$1.error,arguments);}},{key:"deprecated",value:function deprecated(oldUsage,newUsage){return this.warn("`".concat(oldUsage,"` is deprecated and will be removed in a later version. Use `").concat(newUsage,"` instead"));}},{key:"removed",value:function removed(oldUsage,newUsage){return this.error("`".concat(oldUsage,"` has been removed. Use `").concat(newUsage,"` instead"));}},{key:"probe",value:function probe(logLevel,message){return this._getLogFunction(logLevel,message,originalConsole$1.log,arguments,{time:true,once:true});}},{key:"log",value:function log(logLevel,message){return this._getLogFunction(logLevel,message,originalConsole$1.debug,arguments);}},{key:"info",value:function info(logLevel,message){return this._getLogFunction(logLevel,message,console.info,arguments);}},{key:"once",value:function once(logLevel,message){return this._getLogFunction(logLevel,message,originalConsole$1.debug||originalConsole$1.info,arguments,ONCE$1);}},{key:"table",value:function table(logLevel,_table,columns){if(_table){return this._getLogFunction(logLevel,_table,console.table||noop$1,columns&&[columns],{tag:getTableHeader$1(_table)});}return noop$1;}},{key:"image",value:function(_image6){function image(_x26){return _image6.apply(this,arguments);}image.toString=function(){return _image6.toString();};return image;}(function(_ref17){var logLevel=_ref17.logLevel,priority=_ref17.priority,image=_ref17.image,_ref17$message=_ref17.message,message=_ref17$message===void 0?'':_ref17$message,_ref17$scale=_ref17.scale,scale=_ref17$scale===void 0?1:_ref17$scale;if(!this._shouldLog(logLevel||priority)){return noop$1;}return isBrowser$1?logImageInBrowser$1({image:image,message:message,scale:scale}):logImageInNode$1({image:image,message:message,scale:scale});})},{key:"settings",value:function settings(){if(console.table){console.table(this._storage.config);}else{console.log(this._storage.config);}}},{key:"get",value:function get(setting){return this._storage.config[setting];}},{key:"set",value:function set(setting,value){this._storage.updateConfiguration(_defineProperty2({},setting,value));}},{key:"time",value:function time(logLevel,message){return this._getLogFunction(logLevel,message,console.time?console.time:console.info);}},{key:"timeEnd",value:function timeEnd(logLevel,message){return this._getLogFunction(logLevel,message,console.timeEnd?console.timeEnd:console.info);}},{key:"timeStamp",value:function timeStamp(logLevel,message){return this._getLogFunction(logLevel,message,console.timeStamp||noop$1);}},{key:"group",value:function group(logLevel,message){var opts=arguments.length>2&&arguments[2]!==undefined?arguments[2]:{collapsed:false};opts=normalizeArguments$1({logLevel:logLevel,message:message,opts:opts});var _opts=opts,collapsed=_opts.collapsed;opts.method=(collapsed?console.groupCollapsed:console.group)||console.info;return this._getLogFunction(opts);}},{key:"groupCollapsed",value:function groupCollapsed(logLevel,message){var opts=arguments.length>2&&arguments[2]!==undefined?arguments[2]:{};return this.group(logLevel,message,Object.assign({},opts,{collapsed:true}));}},{key:"groupEnd",value:function groupEnd(logLevel){return this._getLogFunction(logLevel,'',console.groupEnd||noop$1);}},{key:"withGroup",value:function withGroup(logLevel,message,func){this.group(logLevel,message)();try{func();}finally{this.groupEnd(logLevel)();}}},{key:"trace",value:function trace(){if(console.trace){console.trace();}}},{key:"_shouldLog",value:function _shouldLog(logLevel){return this.isEnabled()&&this.getLevel()>=normalizeLogLevel$1(logLevel);}},{key:"_getLogFunction",value:function _getLogFunction(logLevel,message,method){var args=arguments.length>3&&arguments[3]!==undefined?arguments[3]:[];var opts=arguments.length>4?arguments[4]:undefined;if(this._shouldLog(logLevel)){var _method;opts=normalizeArguments$1({logLevel:logLevel,message:message,args:args,opts:opts});method=method||opts.method;assert$3(method);opts.total=this.getTotal();opts.delta=this.getDelta();this._deltaTs=getHiResTimestamp$1();var tag=opts.tag||opts.message;if(opts.once){if(!cache$1[tag]){cache$1[tag]=getHiResTimestamp$1();}else{return noop$1;}}message=decorateMessage$1(this.id,opts.message,opts);return(_method=method).bind.apply(_method,[console,message].concat(_toConsumableArray(opts.args)));}return noop$1;}}]);return Log$2;}();Log$2.VERSION=VERSION$7;function normalizeLogLevel$1(logLevel){if(!logLevel){return 0;}var resolvedLevel;switch(_typeof(logLevel)){case'number':resolvedLevel=logLevel;break;case'object':resolvedLevel=logLevel.logLevel||logLevel.priority||0;break;default:return 0;}assert$3(Number.isFinite(resolvedLevel)&&resolvedLevel>=0);return resolvedLevel;}function normalizeArguments$1(opts){var logLevel=opts.logLevel,message=opts.message;opts.logLevel=normalizeLogLevel$1(logLevel);var args=opts.args?Array.from(opts.args):[];while(args.length&&args.shift()!==message){}opts.args=args;switch(_typeof(logLevel)){case'string':case'function':if(message!==undefined){args.unshift(message);}opts.message=logLevel;break;case'object':Object.assign(opts,logLevel);break;}if(typeof opts.message==='function'){opts.message=opts.message();}var messageType=_typeof(opts.message);assert$3(messageType==='string'||messageType==='object');return Object.assign(opts,opts.opts);}function decorateMessage$1(id,message,opts){if(typeof message==='string'){var _time=opts.time?leftPad$1(formatTime$1(opts.total)):'';message=opts.time?"".concat(id,": ").concat(_time," ").concat(message):"".concat(id,": ").concat(message);message=addColor$1(message,opts.color,opts.background);}return message;}function logImageInNode$1(_ref18){var image=_ref18.image,_ref18$message=_ref18.message,message=_ref18$message===void 0?'':_ref18$message,_ref18$scale=_ref18.scale,scale=_ref18$scale===void 0?1:_ref18$scale;var asciify=null;try{asciify=module.require('asciify-image');}catch(error){}if(asciify){return function(){return asciify(image,{fit:'box',width:"".concat(Math.round(80*scale),"%")}).then(function(data){return console.log(data);});};}return noop$1;}function logImageInBrowser$1(_ref19){var image=_ref19.image,_ref19$message=_ref19.message,message=_ref19$message===void 0?'':_ref19$message,_ref19$scale=_ref19.scale,scale=_ref19$scale===void 0?1:_ref19$scale;if(typeof image==='string'){var img=new Image();img.onload=function(){var _console;var args=formatImage$1(img,message,scale);(_console=console).log.apply(_console,_toConsumableArray(args));};img.src=image;return noop$1;}var element=image.nodeName||'';if(element.toLowerCase()==='img'){var _console2;(_console2=console).log.apply(_console2,_toConsumableArray(formatImage$1(image,message,scale)));return noop$1;}if(element.toLowerCase()==='canvas'){var _img=new Image();_img.onload=function(){var _console3;return(_console3=console).log.apply(_console3,_toConsumableArray(formatImage$1(_img,message,scale)));};_img.src=image.toDataURL();return noop$1;}return noop$1;}var probeLog=new Log$2({id:'loaders.gl'});var NullLog=/*#__PURE__*/function(){function NullLog(){_classCallCheck(this,NullLog);}_createClass(NullLog,[{key:"log",value:function log(){return function(){};}},{key:"info",value:function info(){return function(){};}},{key:"warn",value:function warn(){return function(){};}},{key:"error",value:function error(){return function(){};}}]);return NullLog;}();var ConsoleLog=/*#__PURE__*/function(){function ConsoleLog(){_classCallCheck(this,ConsoleLog);_defineProperty(this,"console",void 0);this.console=console;}_createClass(ConsoleLog,[{key:"log",value:function log(){var _this$console$log;for(var _len99=arguments.length,args=new Array(_len99),_key7=0;_key7<_len99;_key7++){args[_key7]=arguments[_key7];}return(_this$console$log=this.console.log).bind.apply(_this$console$log,[this.console].concat(args));}},{key:"info",value:function info(){var _this$console$info;for(var _len100=arguments.length,args=new Array(_len100),_key8=0;_key8<_len100;_key8++){args[_key8]=arguments[_key8];}return(_this$console$info=this.console.info).bind.apply(_this$console$info,[this.console].concat(args));}},{key:"warn",value:function warn(){var _this$console$warn;for(var _len101=arguments.length,args=new Array(_len101),_key9=0;_key9<_len101;_key9++){args[_key9]=arguments[_key9];}return(_this$console$warn=this.console.warn).bind.apply(_this$console$warn,[this.console].concat(args));}},{key:"error",value:function error(){var _this$console$error;for(var _len102=arguments.length,args=new Array(_len102),_key10=0;_key10<_len102;_key10++){args[_key10]=arguments[_key10];}return(_this$console$error=this.console.error).bind.apply(_this$console$error,[this.console].concat(args));}}]);return ConsoleLog;}();var DEFAULT_LOADER_OPTIONS={fetch:null,mimeType:undefined,nothrow:false,log:new ConsoleLog(),CDN:'https://unpkg.com/@loaders.gl',worker:true,maxConcurrency:3,maxMobileConcurrency:1,reuseWorkers:isBrowser$4,_nodeWorkers:false,_workerType:'',limit:0,_limitMB:0,batchSize:'auto',batchDebounceMs:0,metadata:false,transforms:[]};var REMOVED_LOADER_OPTIONS={"throws":'nothrow',dataType:'(no longer used)',uri:'baseUri',method:'fetch.method',headers:'fetch.headers',body:'fetch.body',mode:'fetch.mode',credentials:'fetch.credentials',cache:'fetch.cache',redirect:'fetch.redirect',referrer:'fetch.referrer',referrerPolicy:'fetch.referrerPolicy',integrity:'fetch.integrity',keepalive:'fetch.keepalive',signal:'fetch.signal'};function getGlobalLoaderState(){globalThis.loaders=globalThis.loaders||{};var loaders=globalThis.loaders;loaders._state=loaders._state||{};return loaders._state;}var getGlobalLoaderOptions=function getGlobalLoaderOptions(){var state=getGlobalLoaderState();state.globalOptions=state.globalOptions||_objectSpread({},DEFAULT_LOADER_OPTIONS);return state.globalOptions;};function normalizeOptions(options,loader,loaders,url){loaders=loaders||[];loaders=Array.isArray(loaders)?loaders:[loaders];validateOptions(options,loaders);return normalizeOptionsInternal(loader,options,url);}function getFetchFunction(options,context){var globalOptions=getGlobalLoaderOptions();var fetchOptions=options||globalOptions;if(typeof fetchOptions.fetch==='function'){return fetchOptions.fetch;}if(isObject(fetchOptions.fetch)){return function(url){return fetchFile(url,fetchOptions);};}if(context!==null&&context!==void 0&&context.fetch){return context===null||context===void 0?void 0:context.fetch;}return fetchFile;}function validateOptions(options,loaders){validateOptionsObject(options,null,DEFAULT_LOADER_OPTIONS,REMOVED_LOADER_OPTIONS,loaders);var _iterator8=_createForOfIteratorHelper(loaders),_step8;try{for(_iterator8.s();!(_step8=_iterator8.n()).done;){var loader=_step8.value;var idOptions=options&&options[loader.id]||{};var loaderOptions=loader.options&&loader.options[loader.id]||{};var deprecatedOptions=loader.deprecatedOptions&&loader.deprecatedOptions[loader.id]||{};validateOptionsObject(idOptions,loader.id,loaderOptions,deprecatedOptions,loaders);}}catch(err){_iterator8.e(err);}finally{_iterator8.f();}}function validateOptionsObject(options,id,defaultOptions,deprecatedOptions,loaders){var loaderName=id||'Top level';var prefix=id?"".concat(id,"."):'';for(var key in options){var isSubOptions=!id&&isObject(options[key]);var isBaseUriOption=key==='baseUri'&&!id;var isWorkerUrlOption=key==='workerUrl'&&id;if(!(key in defaultOptions)&&!isBaseUriOption&&!isWorkerUrlOption){if(key in deprecatedOptions){probeLog.warn("".concat(loaderName," loader option '").concat(prefix).concat(key,"' no longer supported, use '").concat(deprecatedOptions[key],"'"))();}else if(!isSubOptions){var suggestion=findSimilarOption(key,loaders);probeLog.warn("".concat(loaderName," loader option '").concat(prefix).concat(key,"' not recognized. ").concat(suggestion))();}}}}function findSimilarOption(optionKey,loaders){var lowerCaseOptionKey=optionKey.toLowerCase();var bestSuggestion='';var _iterator9=_createForOfIteratorHelper(loaders),_step9;try{for(_iterator9.s();!(_step9=_iterator9.n()).done;){var loader=_step9.value;for(var key in loader.options){if(optionKey===key){return"Did you mean '".concat(loader.id,".").concat(key,"'?");}var lowerCaseKey=key.toLowerCase();var isPartialMatch=lowerCaseOptionKey.startsWith(lowerCaseKey)||lowerCaseKey.startsWith(lowerCaseOptionKey);if(isPartialMatch){bestSuggestion=bestSuggestion||"Did you mean '".concat(loader.id,".").concat(key,"'?");}}}}catch(err){_iterator9.e(err);}finally{_iterator9.f();}return bestSuggestion;}function normalizeOptionsInternal(loader,options,url){var loaderDefaultOptions=loader.options||{};var mergedOptions=_objectSpread({},loaderDefaultOptions);addUrlOptions(mergedOptions,url);if(mergedOptions.log===null){mergedOptions.log=new NullLog();}mergeNestedFields(mergedOptions,getGlobalLoaderOptions());mergeNestedFields(mergedOptions,options);return mergedOptions;}function mergeNestedFields(mergedOptions,options){for(var key in options){if(key in options){var value=options[key];if(isPureObject(value)&&isPureObject(mergedOptions[key])){mergedOptions[key]=_objectSpread(_objectSpread({},mergedOptions[key]),options[key]);}else{mergedOptions[key]=options[key];}}}}function addUrlOptions(options,url){if(url&&!('baseUri'in options)){options.baseUri=url;}}function isLoaderObject(loader){var _loader;if(!loader){return false;}if(Array.isArray(loader)){loader=loader[0];}var hasExtensions=Array.isArray((_loader=loader)===null||_loader===void 0?void 0:_loader.extensions);return hasExtensions;}function normalizeLoader(loader){var _loader2,_loader3;assert$5(loader,'null loader');assert$5(isLoaderObject(loader),'invalid loader');var options;if(Array.isArray(loader)){options=loader[1];loader=loader[0];loader=_objectSpread(_objectSpread({},loader),{},{options:_objectSpread(_objectSpread({},loader.options),options)});}if((_loader2=loader)!==null&&_loader2!==void 0&&_loader2.parseTextSync||(_loader3=loader)!==null&&_loader3!==void 0&&_loader3.parseText){loader.text=true;}if(!loader.text){loader.binary=true;}return loader;}var getGlobalLoaderRegistry=function getGlobalLoaderRegistry(){var state=getGlobalLoaderState();state.loaderRegistry=state.loaderRegistry||[];return state.loaderRegistry;};function getRegisteredLoaders(){return getGlobalLoaderRegistry();}function isElectron(mockUserAgent){if(typeof window!=='undefined'&&_typeof(window.process)==='object'&&window.process.type==='renderer'){return true;}if(typeof process!=='undefined'&&_typeof(process.versions)==='object'&&Boolean(process.versions.electron)){return true;}var realUserAgent=(typeof navigator==="undefined"?"undefined":_typeof(navigator))==='object'&&typeof navigator.userAgent==='string'&&navigator.userAgent;var userAgent=mockUserAgent||realUserAgent;if(userAgent&&userAgent.indexOf('Electron')>=0){return true;}return false;}function isBrowser(){var isNode=(typeof process==="undefined"?"undefined":_typeof(process))==='object'&&String(process)==='[object process]'&&!process.browser;return!isNode||isElectron();}var globals={self:typeof self!=='undefined'&&self,window:typeof window!=='undefined'&&window,global:typeof global!=='undefined'&&global,document:typeof document!=='undefined'&&document,process:(typeof process==="undefined"?"undefined":_typeof(process))==='object'&&process};var window_=globals.window||globals.self||globals.global;var process_=globals.process||{};var VERSION$6=typeof __VERSION__!=='undefined'?__VERSION__:'untranspiled source';isBrowser();function getStorage(type){try{var storage=window[type];var x='__storage_test__';storage.setItem(x,x);storage.removeItem(x);return storage;}catch(e){return null;}}var LocalStorage=/*#__PURE__*/function(){function LocalStorage(id){_classCallCheck(this,LocalStorage);var defaultSettings=arguments.length>1&&arguments[1]!==undefined?arguments[1]:{};var type=arguments.length>2&&arguments[2]!==undefined?arguments[2]:'sessionStorage';_defineProperty(this,"storage",void 0);_defineProperty(this,"id",void 0);_defineProperty(this,"config",{});this.storage=getStorage(type);this.id=id;this.config={};Object.assign(this.config,defaultSettings);this._loadConfiguration();}_createClass(LocalStorage,[{key:"getConfiguration",value:function getConfiguration(){return this.config;}},{key:"setConfiguration",value:function setConfiguration(configuration){this.config={};return this.updateConfiguration(configuration);}},{key:"updateConfiguration",value:function updateConfiguration(configuration){Object.assign(this.config,configuration);if(this.storage){var serialized=JSON.stringify(this.config);this.storage.setItem(this.id,serialized);}return this;}},{key:"_loadConfiguration",value:function _loadConfiguration(){var configuration={};if(this.storage){var serializedConfiguration=this.storage.getItem(this.id);configuration=serializedConfiguration?JSON.parse(serializedConfiguration):{};}Object.assign(this.config,configuration);return this;}}]);return LocalStorage;}();function formatTime(ms){var formatted;if(ms<10){formatted="".concat(ms.toFixed(2),"ms");}else if(ms<100){formatted="".concat(ms.toFixed(1),"ms");}else if(ms<1000){formatted="".concat(ms.toFixed(0),"ms");}else{formatted="".concat((ms/1000).toFixed(2),"s");}return formatted;}function leftPad(string){var length=arguments.length>1&&arguments[1]!==undefined?arguments[1]:8;var padLength=Math.max(length-string.length,0);return"".concat(' '.repeat(padLength)).concat(string);}function formatImage(image,message,scale){var maxWidth=arguments.length>3&&arguments[3]!==undefined?arguments[3]:600;var imageUrl=image.src.replace(/\(/g,'%28').replace(/\)/g,'%29');if(image.width>maxWidth){scale=Math.min(scale,maxWidth/image.width);}var width=image.width*scale;var height=image.height*scale;var style=['font-size:1px;',"padding:".concat(Math.floor(height/2),"px ").concat(Math.floor(width/2),"px;"),"line-height:".concat(height,"px;"),"background:url(".concat(imageUrl,");"),"background-size:".concat(width,"px ").concat(height,"px;"),'color:transparent;'].join('');return["".concat(message," %c+"),style];}var COLOR;(function(COLOR){COLOR[COLOR["BLACK"]=30]="BLACK";COLOR[COLOR["RED"]=31]="RED";COLOR[COLOR["GREEN"]=32]="GREEN";COLOR[COLOR["YELLOW"]=33]="YELLOW";COLOR[COLOR["BLUE"]=34]="BLUE";COLOR[COLOR["MAGENTA"]=35]="MAGENTA";COLOR[COLOR["CYAN"]=36]="CYAN";COLOR[COLOR["WHITE"]=37]="WHITE";COLOR[COLOR["BRIGHT_BLACK"]=90]="BRIGHT_BLACK";COLOR[COLOR["BRIGHT_RED"]=91]="BRIGHT_RED";COLOR[COLOR["BRIGHT_GREEN"]=92]="BRIGHT_GREEN";COLOR[COLOR["BRIGHT_YELLOW"]=93]="BRIGHT_YELLOW";COLOR[COLOR["BRIGHT_BLUE"]=94]="BRIGHT_BLUE";COLOR[COLOR["BRIGHT_MAGENTA"]=95]="BRIGHT_MAGENTA";COLOR[COLOR["BRIGHT_CYAN"]=96]="BRIGHT_CYAN";COLOR[COLOR["BRIGHT_WHITE"]=97]="BRIGHT_WHITE";})(COLOR||(COLOR={}));function getColor(color){return typeof color==='string'?COLOR[color.toUpperCase()]||COLOR.WHITE:color;}function addColor(string,color,background){if(!isBrowser&&typeof string==='string'){if(color){color=getColor(color);string="\x1B[".concat(color,"m").concat(string,"\x1B[39m");}if(background){color=getColor(background);string="\x1B[".concat(background+10,"m").concat(string,"\x1B[49m");}}return string;}function autobind(obj){var predefined=arguments.length>1&&arguments[1]!==undefined?arguments[1]:['constructor'];var proto=Object.getPrototypeOf(obj);var propNames=Object.getOwnPropertyNames(proto);var _iterator10=_createForOfIteratorHelper(propNames),_step10;try{var _loop5=function _loop5(){var key=_step10.value;if(typeof obj[key]==='function'){if(!predefined.find(function(name){return key===name;})){obj[key]=obj[key].bind(obj);}}};for(_iterator10.s();!(_step10=_iterator10.n()).done;){_loop5();}}catch(err){_iterator10.e(err);}finally{_iterator10.f();}}function assert$2(condition,message){if(!condition){throw new Error(message||'Assertion failed');}}function getHiResTimestamp(){var timestamp;if(isBrowser&&'performance'in window_){var _window$performance,_window$performance$n;timestamp=window_===null||window_===void 0?void 0:(_window$performance=window_.performance)===null||_window$performance===void 0?void 0:(_window$performance$n=_window$performance.now)===null||_window$performance$n===void 0?void 0:_window$performance$n.call(_window$performance);}else if('hrtime'in process_){var _process$hrtime;var timeParts=process_===null||process_===void 0?void 0:(_process$hrtime=process_.hrtime)===null||_process$hrtime===void 0?void 0:_process$hrtime.call(process_);timestamp=timeParts[0]*1000+timeParts[1]/1e6;}else{timestamp=Date.now();}return timestamp;}var originalConsole={debug:isBrowser?console.debug||console.log:console.log,log:console.log,info:console.info,warn:console.warn,error:console.error};var DEFAULT_SETTINGS={enabled:true,level:0};function noop(){}var cache={};var ONCE={once:true};var Log$1=/*#__PURE__*/function(){function Log$1(){_classCallCheck(this,Log$1);var _ref20=arguments.length>0&&arguments[0]!==undefined?arguments[0]:{id:''},id=_ref20.id;_defineProperty(this,"id",void 0);_defineProperty(this,"VERSION",VERSION$6);_defineProperty(this,"_startTs",getHiResTimestamp());_defineProperty(this,"_deltaTs",getHiResTimestamp());_defineProperty(this,"_storage",void 0);_defineProperty(this,"userData",{});_defineProperty(this,"LOG_THROTTLE_TIMEOUT",0);this.id=id;this._storage=new LocalStorage("__probe-".concat(this.id,"__"),DEFAULT_SETTINGS);this.userData={};this.timeStamp("".concat(this.id," started"));autobind(this);Object.seal(this);}_createClass(Log$1,[{key:"level",get:function get(){return this.getLevel();},set:function set(newLevel){this.setLevel(newLevel);}},{key:"isEnabled",value:function isEnabled(){return this._storage.config.enabled;}},{key:"getLevel",value:function getLevel(){return this._storage.config.level;}},{key:"getTotal",value:function getTotal(){return Number((getHiResTimestamp()-this._startTs).toPrecision(10));}},{key:"getDelta",value:function getDelta(){return Number((getHiResTimestamp()-this._deltaTs).toPrecision(10));}},{key:"priority",get:function get(){return this.level;},set:function set(newPriority){this.level=newPriority;}},{key:"getPriority",value:function getPriority(){return this.level;}},{key:"enable",value:function enable(){var enabled=arguments.length>0&&arguments[0]!==undefined?arguments[0]:true;this._storage.updateConfiguration({enabled:enabled});return this;}},{key:"setLevel",value:function setLevel(level){this._storage.updateConfiguration({level:level});return this;}},{key:"get",value:function get(setting){return this._storage.config[setting];}},{key:"set",value:function set(setting,value){this._storage.updateConfiguration(_defineProperty2({},setting,value));}},{key:"settings",value:function settings(){if(console.table){console.table(this._storage.config);}else{console.log(this._storage.config);}}},{key:"assert",value:function assert(condition,message){assert$2(condition,message);}},{key:"warn",value:function warn(message){return this._getLogFunction(0,message,originalConsole.warn,arguments,ONCE);}},{key:"error",value:function error(message){return this._getLogFunction(0,message,originalConsole.error,arguments);}},{key:"deprecated",value:function deprecated(oldUsage,newUsage){return this.warn("`".concat(oldUsage,"` is deprecated and will be removed in a later version. Use `").concat(newUsage,"` instead"));}},{key:"removed",value:function removed(oldUsage,newUsage){return this.error("`".concat(oldUsage,"` has been removed. Use `").concat(newUsage,"` instead"));}},{key:"probe",value:function probe(logLevel,message){return this._getLogFunction(logLevel,message,originalConsole.log,arguments,{time:true,once:true});}},{key:"log",value:function log(logLevel,message){return this._getLogFunction(logLevel,message,originalConsole.debug,arguments);}},{key:"info",value:function info(logLevel,message){return this._getLogFunction(logLevel,message,console.info,arguments);}},{key:"once",value:function once(logLevel,message){for(var _len=arguments.length,args=new Array(_len>2?_len-2:0),_key=2;_key<_len;_key++){args[_key-2]=arguments[_key];}return this._getLogFunction(logLevel,message,originalConsole.debug||originalConsole.info,arguments,ONCE);}},{key:"table",value:function table(logLevel,_table2,columns){if(_table2){return this._getLogFunction(logLevel,_table2,console.table||noop,columns&&[columns],{tag:getTableHeader(_table2)});}return noop;}},{key:"image",value:function image(_ref){var logLevel=_ref.logLevel,priority=_ref.priority,image=_ref.image,_ref$message=_ref.message,message=_ref$message===void 0?'':_ref$message,_ref$scale=_ref.scale,scale=_ref$scale===void 0?1:_ref$scale;if(!this._shouldLog(logLevel||priority)){return noop;}return isBrowser?logImageInBrowser({image:image,message:message,scale:scale}):logImageInNode({image:image,message:message,scale:scale});}},{key:"time",value:function time(logLevel,message){return this._getLogFunction(logLevel,message,console.time?console.time:console.info);}},{key:"timeEnd",value:function timeEnd(logLevel,message){return this._getLogFunction(logLevel,message,console.timeEnd?console.timeEnd:console.info);}},{key:"timeStamp",value:function timeStamp(logLevel,message){return this._getLogFunction(logLevel,message,console.timeStamp||noop);}},{key:"group",value:function group(logLevel,message){var opts=arguments.length>2&&arguments[2]!==undefined?arguments[2]:{collapsed:false};var options=normalizeArguments({logLevel:logLevel,message:message,opts:opts});var collapsed=opts.collapsed;options.method=(collapsed?console.groupCollapsed:console.group)||console.info;return this._getLogFunction(options);}},{key:"groupCollapsed",value:function groupCollapsed(logLevel,message){var opts=arguments.length>2&&arguments[2]!==undefined?arguments[2]:{};return this.group(logLevel,message,Object.assign({},opts,{collapsed:true}));}},{key:"groupEnd",value:function groupEnd(logLevel){return this._getLogFunction(logLevel,'',console.groupEnd||noop);}},{key:"withGroup",value:function withGroup(logLevel,message,func){this.group(logLevel,message)();try{func();}finally{this.groupEnd(logLevel)();}}},{key:"trace",value:function trace(){if(console.trace){console.trace();}}},{key:"_shouldLog",value:function _shouldLog(logLevel){return this.isEnabled()&&this.getLevel()>=normalizeLogLevel(logLevel);}},{key:"_getLogFunction",value:function _getLogFunction(logLevel,message,method,args,opts){if(this._shouldLog(logLevel)){var _method2;opts=normalizeArguments({logLevel:logLevel,message:message,args:args,opts:opts});method=method||opts.method;assert$2(method);opts.total=this.getTotal();opts.delta=this.getDelta();this._deltaTs=getHiResTimestamp();var tag=opts.tag||opts.message;if(opts.once){if(!cache[tag]){cache[tag]=getHiResTimestamp();}else{return noop;}}message=decorateMessage(this.id,opts.message,opts);return(_method2=method).bind.apply(_method2,[console,message].concat(_toConsumableArray(opts.args)));}return noop;}}]);return Log$1;}();_defineProperty(Log$1,"VERSION",VERSION$6);function normalizeLogLevel(logLevel){if(!logLevel){return 0;}var resolvedLevel;switch(_typeof(logLevel)){case'number':resolvedLevel=logLevel;break;case'object':resolvedLevel=logLevel.logLevel||logLevel.priority||0;break;default:return 0;}assert$2(Number.isFinite(resolvedLevel)&&resolvedLevel>=0);return resolvedLevel;}function normalizeArguments(opts){var logLevel=opts.logLevel,message=opts.message;opts.logLevel=normalizeLogLevel(logLevel);var args=opts.args?Array.from(opts.args):[];while(args.length&&args.shift()!==message){}switch(_typeof(logLevel)){case'string':case'function':if(message!==undefined){args.unshift(message);}opts.message=logLevel;break;case'object':Object.assign(opts,logLevel);break;}if(typeof opts.message==='function'){opts.message=opts.message();}var messageType=_typeof(opts.message);assert$2(messageType==='string'||messageType==='object');return Object.assign(opts,{args:args},opts.opts);}function decorateMessage(id,message,opts){if(typeof message==='string'){var _time2=opts.time?leftPad(formatTime(opts.total)):'';message=opts.time?"".concat(id,": ").concat(_time2," ").concat(message):"".concat(id,": ").concat(message);message=addColor(message,opts.color,opts.background);}return message;}function logImageInNode(_ref2){var image=_ref2.image,_ref2$message=_ref2.message,message=_ref2$message===void 0?'':_ref2$message,_ref2$scale=_ref2.scale,scale=_ref2$scale===void 0?1:_ref2$scale;var asciify=null;try{asciify=module.require('asciify-image');}catch(error){}if(asciify){return function(){return asciify(image,{fit:'box',width:"".concat(Math.round(80*scale),"%")}).then(function(data){return console.log(data);});};}return noop;}function logImageInBrowser(_ref3){var image=_ref3.image,_ref3$message=_ref3.message,message=_ref3$message===void 0?'':_ref3$message,_ref3$scale=_ref3.scale,scale=_ref3$scale===void 0?1:_ref3$scale;if(typeof image==='string'){var img=new Image();img.onload=function(){var _console4;var args=formatImage(img,message,scale);(_console4=console).log.apply(_console4,_toConsumableArray(args));};img.src=image;return noop;}var element=image.nodeName||'';if(element.toLowerCase()==='img'){var _console5;(_console5=console).log.apply(_console5,_toConsumableArray(formatImage(image,message,scale)));return noop;}if(element.toLowerCase()==='canvas'){var _img2=new Image();_img2.onload=function(){var _console6;return(_console6=console).log.apply(_console6,_toConsumableArray(formatImage(_img2,message,scale)));};_img2.src=image.toDataURL();return noop;}return noop;}function getTableHeader(table){for(var key in table){for(var title in table[key]){return title||'untitled';}}return'empty';}var log=new Log$1({id:'loaders.gl'});var EXT_PATTERN=/\.([^.]+)$/;function selectLoader(_x27){return _selectLoader.apply(this,arguments);}function _selectLoader(){_selectLoader=_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee31(data){var loaders,options,context,loader,_args29=arguments;return _regeneratorRuntime().wrap(function _callee31$(_context35){while(1){switch(_context35.prev=_context35.next){case 0:loaders=_args29.length>1&&_args29[1]!==undefined?_args29[1]:[];options=_args29.length>2?_args29[2]:undefined;context=_args29.length>3?_args29[3]:undefined;if(validHTTPResponse(data)){_context35.next=5;break;}return _context35.abrupt("return",null);case 5:loader=selectLoaderSync(data,loaders,_objectSpread(_objectSpread({},options),{},{nothrow:true}),context);if(!loader){_context35.next=8;break;}return _context35.abrupt("return",loader);case 8:if(!isBlob(data)){_context35.next=13;break;}_context35.next=11;return data.slice(0,10).arrayBuffer();case 11:data=_context35.sent;loader=selectLoaderSync(data,loaders,options,context);case 13:if(!(!loader&&!(options!==null&&options!==void 0&&options.nothrow))){_context35.next=15;break;}throw new Error(getNoValidLoaderMessage(data));case 15:return _context35.abrupt("return",loader);case 16:case"end":return _context35.stop();}}},_callee31);}));return _selectLoader.apply(this,arguments);}function selectLoaderSync(data){var loaders=arguments.length>1&&arguments[1]!==undefined?arguments[1]:[];var options=arguments.length>2?arguments[2]:undefined;var context=arguments.length>3?arguments[3]:undefined;if(!validHTTPResponse(data)){return null;}if(loaders&&!Array.isArray(loaders)){return normalizeLoader(loaders);}var candidateLoaders=[];if(loaders){candidateLoaders=candidateLoaders.concat(loaders);}if(!(options!==null&&options!==void 0&&options.ignoreRegisteredLoaders)){var _candidateLoaders;(_candidateLoaders=candidateLoaders).push.apply(_candidateLoaders,_toConsumableArray(getRegisteredLoaders()));}normalizeLoaders(candidateLoaders);var loader=selectLoaderInternal(data,candidateLoaders,options,context);if(!loader&&!(options!==null&&options!==void 0&&options.nothrow)){throw new Error(getNoValidLoaderMessage(data));}return loader;}function selectLoaderInternal(data,loaders,options,context){var _getResourceUrlAndTyp=getResourceUrlAndType(data),url=_getResourceUrlAndTyp.url,type=_getResourceUrlAndTyp.type;var testUrl=url||(context===null||context===void 0?void 0:context.url);var loader=null;var reason='';if(options!==null&&options!==void 0&&options.mimeType){loader=findLoaderByMIMEType(loaders,options===null||options===void 0?void 0:options.mimeType);reason="match forced by supplied MIME type ".concat(options===null||options===void 0?void 0:options.mimeType);}loader=loader||findLoaderByUrl(loaders,testUrl);reason=reason||(loader?"matched url ".concat(testUrl):'');loader=loader||findLoaderByMIMEType(loaders,type);reason=reason||(loader?"matched MIME type ".concat(type):'');loader=loader||findLoaderByInitialBytes(loaders,data);reason=reason||(loader?"matched initial data ".concat(getFirstCharacters(data)):'');loader=loader||findLoaderByMIMEType(loaders,options===null||options===void 0?void 0:options.fallbackMimeType);reason=reason||(loader?"matched fallback MIME type ".concat(type):'');if(reason){var _loader;log.log(1,"selectLoader selected ".concat((_loader=loader)===null||_loader===void 0?void 0:_loader.name,": ").concat(reason,"."));}return loader;}function validHTTPResponse(data){if(data instanceof Response){if(data.status===204){return false;}}return true;}function getNoValidLoaderMessage(data){var _getResourceUrlAndTyp2=getResourceUrlAndType(data),url=_getResourceUrlAndTyp2.url,type=_getResourceUrlAndTyp2.type;var message='No valid loader found (';message+=url?"".concat(filename(url),", "):'no url provided, ';message+="MIME type: ".concat(type?"\"".concat(type,"\""):'not provided',", ");var firstCharacters=data?getFirstCharacters(data):'';message+=firstCharacters?" first bytes: \"".concat(firstCharacters,"\""):'first bytes: not available';message+=')';return message;}function normalizeLoaders(loaders){var _iterator11=_createForOfIteratorHelper(loaders),_step11;try{for(_iterator11.s();!(_step11=_iterator11.n()).done;){var loader=_step11.value;normalizeLoader(loader);}}catch(err){_iterator11.e(err);}finally{_iterator11.f();}}function findLoaderByUrl(loaders,url){var match=url&&EXT_PATTERN.exec(url);var extension=match&&match[1];return extension?findLoaderByExtension(loaders,extension):null;}function findLoaderByExtension(loaders,extension){extension=extension.toLowerCase();var _iterator12=_createForOfIteratorHelper(loaders),_step12;try{for(_iterator12.s();!(_step12=_iterator12.n()).done;){var loader=_step12.value;var _iterator13=_createForOfIteratorHelper(loader.extensions),_step13;try{for(_iterator13.s();!(_step13=_iterator13.n()).done;){var loaderExtension=_step13.value;if(loaderExtension.toLowerCase()===extension){return loader;}}}catch(err){_iterator13.e(err);}finally{_iterator13.f();}}}catch(err){_iterator12.e(err);}finally{_iterator12.f();}return null;}function findLoaderByMIMEType(loaders,mimeType){var _iterator14=_createForOfIteratorHelper(loaders),_step14;try{for(_iterator14.s();!(_step14=_iterator14.n()).done;){var loader=_step14.value;if(loader.mimeTypes&&loader.mimeTypes.includes(mimeType)){return loader;}if(mimeType==="application/x.".concat(loader.id)){return loader;}}}catch(err){_iterator14.e(err);}finally{_iterator14.f();}return null;}function findLoaderByInitialBytes(loaders,data){if(!data){return null;}var _iterator15=_createForOfIteratorHelper(loaders),_step15;try{for(_iterator15.s();!(_step15=_iterator15.n()).done;){var loader=_step15.value;if(typeof data==='string'){if(testDataAgainstText(data,loader)){return loader;}}else if(ArrayBuffer.isView(data)){if(testDataAgainstBinary(data.buffer,data.byteOffset,loader)){return loader;}}else if(data instanceof ArrayBuffer){var byteOffset=0;if(testDataAgainstBinary(data,byteOffset,loader)){return loader;}}}}catch(err){_iterator15.e(err);}finally{_iterator15.f();}return null;}function testDataAgainstText(data,loader){if(loader.testText){return loader.testText(data);}var tests=Array.isArray(loader.tests)?loader.tests:[loader.tests];return tests.some(function(test){return data.startsWith(test);});}function testDataAgainstBinary(data,byteOffset,loader){var tests=Array.isArray(loader.tests)?loader.tests:[loader.tests];return tests.some(function(test){return testBinary(data,byteOffset,loader,test);});}function testBinary(data,byteOffset,loader,test){if(test instanceof ArrayBuffer){return compareArrayBuffers(test,data,test.byteLength);}switch(_typeof(test)){case'function':return test(data,loader);case'string':var magic=getMagicString$1(data,byteOffset,test.length);return test===magic;default:return false;}}function getFirstCharacters(data){var length=arguments.length>1&&arguments[1]!==undefined?arguments[1]:5;if(typeof data==='string'){return data.slice(0,length);}else if(ArrayBuffer.isView(data)){return getMagicString$1(data.buffer,data.byteOffset,length);}else if(data instanceof ArrayBuffer){var byteOffset=0;return getMagicString$1(data,byteOffset,length);}return'';}function getMagicString$1(arrayBuffer,byteOffset,length){if(arrayBuffer.byteLength1&&_args5[1]!==undefined?_args5[1]:{};_options$chunkSize=options.chunkSize,chunkSize=_options$chunkSize===void 0?DEFAULT_CHUNK_SIZE$1:_options$chunkSize;byteOffset=0;case 3:if(!(byteOffset2&&arguments[2]!==undefined?arguments[2]:null;if(previousContext){return previousContext;}var resolvedContext=_objectSpread({fetch:getFetchFunction(options,context)},context);if(!Array.isArray(resolvedContext.loaders)){resolvedContext.loaders=null;}return resolvedContext;}function getLoadersFromContext(loaders,context){if(!context&&loaders&&!Array.isArray(loaders)){return loaders;}var candidateLoaders;if(loaders){candidateLoaders=Array.isArray(loaders)?loaders:[loaders];}if(context&&context.loaders){var contextLoaders=Array.isArray(context.loaders)?context.loaders:[context.loaders];candidateLoaders=candidateLoaders?[].concat(_toConsumableArray(candidateLoaders),_toConsumableArray(contextLoaders)):contextLoaders;}return candidateLoaders&&candidateLoaders.length?candidateLoaders:null;}function parse$3(_x31,_x32,_x33,_x34){return _parse$.apply(this,arguments);}function _parse$(){_parse$=_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee33(data,loaders,options,context){var _getResourceUrlAndTyp4,url,typedLoaders,candidateLoaders,loader;return _regeneratorRuntime().wrap(function _callee33$(_context37){while(1){switch(_context37.prev=_context37.next){case 0:assert$4(!context||_typeof(context)==='object');if(loaders&&!Array.isArray(loaders)&&!isLoaderObject(loaders)){context=undefined;options=loaders;loaders=undefined;}_context37.next=4;return data;case 4:data=_context37.sent;options=options||{};_getResourceUrlAndTyp4=getResourceUrlAndType(data),url=_getResourceUrlAndTyp4.url;typedLoaders=loaders;candidateLoaders=getLoadersFromContext(typedLoaders,context);_context37.next=11;return selectLoader(data,candidateLoaders,options);case 11:loader=_context37.sent;if(loader){_context37.next=14;break;}return _context37.abrupt("return",null);case 14:options=normalizeOptions(options,loader,candidateLoaders,url);context=getLoaderContext({url:url,parse:parse$3,loaders:candidateLoaders},options,context);_context37.next=18;return parseWithLoader(loader,data,options,context);case 18:return _context37.abrupt("return",_context37.sent);case 19:case"end":return _context37.stop();}}},_callee33);}));return _parse$.apply(this,arguments);}function parseWithLoader(_x35,_x36,_x37,_x38){return _parseWithLoader.apply(this,arguments);}function _parseWithLoader(){_parseWithLoader=_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee34(loader,data,options,context){var response,ok,redirected,status,statusText,type,url,headers;return _regeneratorRuntime().wrap(function _callee34$(_context38){while(1){switch(_context38.prev=_context38.next){case 0:validateWorkerVersion(loader);if(isResponse(data)){response=data;ok=response.ok,redirected=response.redirected,status=response.status,statusText=response.statusText,type=response.type,url=response.url;headers=Object.fromEntries(response.headers.entries());context.response={headers:headers,ok:ok,redirected:redirected,status:status,statusText:statusText,type:type,url:url};}_context38.next=4;return getArrayBufferOrStringFromData(data,loader,options);case 4:data=_context38.sent;if(!(loader.parseTextSync&&typeof data==='string')){_context38.next=8;break;}options.dataType='text';return _context38.abrupt("return",loader.parseTextSync(data,options,context,loader));case 8:if(!canParseWithWorker(loader,options)){_context38.next=12;break;}_context38.next=11;return parseWithWorker(loader,data,options,context,parse$3);case 11:return _context38.abrupt("return",_context38.sent);case 12:if(!(loader.parseText&&typeof data==='string')){_context38.next=16;break;}_context38.next=15;return loader.parseText(data,options,context,loader);case 15:return _context38.abrupt("return",_context38.sent);case 16:if(!loader.parse){_context38.next=20;break;}_context38.next=19;return loader.parse(data,options,context,loader);case 19:return _context38.abrupt("return",_context38.sent);case 20:assert$4(!loader.parseSync);throw new Error("".concat(loader.id," loader - no parser found and worker is disabled"));case 22:case"end":return _context38.stop();}}},_callee34);}));return _parseWithLoader.apply(this,arguments);}var VERSION$5="3.2.6";var VERSION$4="3.2.6";var VERSION$3="3.2.6";var BASIS_CDN_ENCODER_WASM="https://unpkg.com/@loaders.gl/textures@".concat(VERSION$3,"/dist/libs/basis_encoder.wasm");var BASIS_CDN_ENCODER_JS="https://unpkg.com/@loaders.gl/textures@".concat(VERSION$3,"/dist/libs/basis_encoder.js");var loadBasisTranscoderPromise;function loadBasisTrascoderModule(_x39){return _loadBasisTrascoderModule.apply(this,arguments);}function _loadBasisTrascoderModule(){_loadBasisTrascoderModule=_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee35(options){var modules;return _regeneratorRuntime().wrap(function _callee35$(_context39){while(1){switch(_context39.prev=_context39.next){case 0:modules=options.modules||{};if(!modules.basis){_context39.next=3;break;}return _context39.abrupt("return",modules.basis);case 3:loadBasisTranscoderPromise=loadBasisTranscoderPromise||loadBasisTrascoder(options);_context39.next=6;return loadBasisTranscoderPromise;case 6:return _context39.abrupt("return",_context39.sent);case 7:case"end":return _context39.stop();}}},_callee35);}));return _loadBasisTrascoderModule.apply(this,arguments);}function loadBasisTrascoder(_x40){return _loadBasisTrascoder.apply(this,arguments);}function _loadBasisTrascoder(){_loadBasisTrascoder=_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee36(options){var BASIS,wasmBinary,_yield$Promise$all,_yield$Promise$all2;return _regeneratorRuntime().wrap(function _callee36$(_context40){while(1){switch(_context40.prev=_context40.next){case 0:BASIS=null;wasmBinary=null;_context40.t0=Promise;_context40.next=5;return loadLibrary('basis_transcoder.js','textures',options);case 5:_context40.t1=_context40.sent;_context40.next=8;return loadLibrary('basis_transcoder.wasm','textures',options);case 8:_context40.t2=_context40.sent;_context40.t3=[_context40.t1,_context40.t2];_context40.next=12;return _context40.t0.all.call(_context40.t0,_context40.t3);case 12:_yield$Promise$all=_context40.sent;_yield$Promise$all2=_slicedToArray(_yield$Promise$all,2);BASIS=_yield$Promise$all2[0];wasmBinary=_yield$Promise$all2[1];BASIS=BASIS||globalThis.BASIS;_context40.next=19;return initializeBasisTrascoderModule(BASIS,wasmBinary);case 19:return _context40.abrupt("return",_context40.sent);case 20:case"end":return _context40.stop();}}},_callee36);}));return _loadBasisTrascoder.apply(this,arguments);}function initializeBasisTrascoderModule(BasisModule,wasmBinary){var options={};if(wasmBinary){options.wasmBinary=wasmBinary;}return new Promise(function(resolve){BasisModule(options).then(function(module){var BasisFile=module.BasisFile,initializeBasis=module.initializeBasis;initializeBasis();resolve({BasisFile:BasisFile});});});}var loadBasisEncoderPromise;function loadBasisEncoderModule(_x41){return _loadBasisEncoderModule.apply(this,arguments);}function _loadBasisEncoderModule(){_loadBasisEncoderModule=_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee37(options){var modules;return _regeneratorRuntime().wrap(function _callee37$(_context41){while(1){switch(_context41.prev=_context41.next){case 0:modules=options.modules||{};if(!modules.basisEncoder){_context41.next=3;break;}return _context41.abrupt("return",modules.basisEncoder);case 3:loadBasisEncoderPromise=loadBasisEncoderPromise||loadBasisEncoder(options);_context41.next=6;return loadBasisEncoderPromise;case 6:return _context41.abrupt("return",_context41.sent);case 7:case"end":return _context41.stop();}}},_callee37);}));return _loadBasisEncoderModule.apply(this,arguments);}function loadBasisEncoder(_x42){return _loadBasisEncoder.apply(this,arguments);}function _loadBasisEncoder(){_loadBasisEncoder=_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee38(options){var BASIS_ENCODER,wasmBinary,_yield$Promise$all3,_yield$Promise$all4;return _regeneratorRuntime().wrap(function _callee38$(_context42){while(1){switch(_context42.prev=_context42.next){case 0:BASIS_ENCODER=null;wasmBinary=null;_context42.t0=Promise;_context42.next=5;return loadLibrary(BASIS_CDN_ENCODER_JS,'textures',options);case 5:_context42.t1=_context42.sent;_context42.next=8;return loadLibrary(BASIS_CDN_ENCODER_WASM,'textures',options);case 8:_context42.t2=_context42.sent;_context42.t3=[_context42.t1,_context42.t2];_context42.next=12;return _context42.t0.all.call(_context42.t0,_context42.t3);case 12:_yield$Promise$all3=_context42.sent;_yield$Promise$all4=_slicedToArray(_yield$Promise$all3,2);BASIS_ENCODER=_yield$Promise$all4[0];wasmBinary=_yield$Promise$all4[1];BASIS_ENCODER=BASIS_ENCODER||globalThis.BASIS;_context42.next=19;return initializeBasisEncoderModule(BASIS_ENCODER,wasmBinary);case 19:return _context42.abrupt("return",_context42.sent);case 20:case"end":return _context42.stop();}}},_callee38);}));return _loadBasisEncoder.apply(this,arguments);}function initializeBasisEncoderModule(BasisEncoderModule,wasmBinary){var options={};if(wasmBinary){options.wasmBinary=wasmBinary;}return new Promise(function(resolve){BasisEncoderModule(options).then(function(module){var BasisFile=module.BasisFile,KTX2File=module.KTX2File,initializeBasis=module.initializeBasis,BasisEncoder=module.BasisEncoder;initializeBasis();resolve({BasisFile:BasisFile,KTX2File:KTX2File,BasisEncoder:BasisEncoder});});});}var GL_EXTENSIONS_CONSTANTS={COMPRESSED_RGB_S3TC_DXT1_EXT:0x83f0,COMPRESSED_RGBA_S3TC_DXT1_EXT:0x83f1,COMPRESSED_RGBA_S3TC_DXT3_EXT:0x83f2,COMPRESSED_RGBA_S3TC_DXT5_EXT:0x83f3,COMPRESSED_R11_EAC:0x9270,COMPRESSED_SIGNED_R11_EAC:0x9271,COMPRESSED_RG11_EAC:0x9272,COMPRESSED_SIGNED_RG11_EAC:0x9273,COMPRESSED_RGB8_ETC2:0x9274,COMPRESSED_RGBA8_ETC2_EAC:0x9275,COMPRESSED_SRGB8_ETC2:0x9276,COMPRESSED_SRGB8_ALPHA8_ETC2_EAC:0x9277,COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2:0x9278,COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2:0x9279,COMPRESSED_RGB_PVRTC_4BPPV1_IMG:0x8c00,COMPRESSED_RGBA_PVRTC_4BPPV1_IMG:0x8c02,COMPRESSED_RGB_PVRTC_2BPPV1_IMG:0x8c01,COMPRESSED_RGBA_PVRTC_2BPPV1_IMG:0x8c03,COMPRESSED_RGB_ETC1_WEBGL:0x8d64,COMPRESSED_RGB_ATC_WEBGL:0x8c92,COMPRESSED_RGBA_ATC_EXPLICIT_ALPHA_WEBGL:0x8c93,COMPRESSED_RGBA_ATC_INTERPOLATED_ALPHA_WEBGL:0x87ee,COMPRESSED_RGBA_ASTC_4X4_KHR:0x93b0,COMPRESSED_RGBA_ASTC_5X4_KHR:0x93b1,COMPRESSED_RGBA_ASTC_5X5_KHR:0x93b2,COMPRESSED_RGBA_ASTC_6X5_KHR:0x93b3,COMPRESSED_RGBA_ASTC_6X6_KHR:0x93b4,COMPRESSED_RGBA_ASTC_8X5_KHR:0x93b5,COMPRESSED_RGBA_ASTC_8X6_KHR:0x93b6,COMPRESSED_RGBA_ASTC_8X8_KHR:0x93b7,COMPRESSED_RGBA_ASTC_10X5_KHR:0x93b8,COMPRESSED_RGBA_ASTC_10X6_KHR:0x93b9,COMPRESSED_RGBA_ASTC_10X8_KHR:0x93ba,COMPRESSED_RGBA_ASTC_10X10_KHR:0x93bb,COMPRESSED_RGBA_ASTC_12X10_KHR:0x93bc,COMPRESSED_RGBA_ASTC_12X12_KHR:0x93bd,COMPRESSED_SRGB8_ALPHA8_ASTC_4X4_KHR:0x93d0,COMPRESSED_SRGB8_ALPHA8_ASTC_5X4_KHR:0x93d1,COMPRESSED_SRGB8_ALPHA8_ASTC_5X5_KHR:0x93d2,COMPRESSED_SRGB8_ALPHA8_ASTC_6X5_KHR:0x93d3,COMPRESSED_SRGB8_ALPHA8_ASTC_6X6_KHR:0x93d4,COMPRESSED_SRGB8_ALPHA8_ASTC_8X5_KHR:0x93d5,COMPRESSED_SRGB8_ALPHA8_ASTC_8X6_KHR:0x93d6,COMPRESSED_SRGB8_ALPHA8_ASTC_8X8_KHR:0x93d7,COMPRESSED_SRGB8_ALPHA8_ASTC_10X5_KHR:0x93d8,COMPRESSED_SRGB8_ALPHA8_ASTC_10X6_KHR:0x93d9,COMPRESSED_SRGB8_ALPHA8_ASTC_10X8_KHR:0x93da,COMPRESSED_SRGB8_ALPHA8_ASTC_10X10_KHR:0x93db,COMPRESSED_SRGB8_ALPHA8_ASTC_12X10_KHR:0x93dc,COMPRESSED_SRGB8_ALPHA8_ASTC_12X12_KHR:0x93dd,COMPRESSED_RED_RGTC1_EXT:0x8dbb,COMPRESSED_SIGNED_RED_RGTC1_EXT:0x8dbc,COMPRESSED_RED_GREEN_RGTC2_EXT:0x8dbd,COMPRESSED_SIGNED_RED_GREEN_RGTC2_EXT:0x8dbe,COMPRESSED_SRGB_S3TC_DXT1_EXT:0x8c4c,COMPRESSED_SRGB_ALPHA_S3TC_DXT1_EXT:0x8c4d,COMPRESSED_SRGB_ALPHA_S3TC_DXT3_EXT:0x8c4e,COMPRESSED_SRGB_ALPHA_S3TC_DXT5_EXT:0x8c4f};var BROWSER_PREFIXES=['','WEBKIT_','MOZ_'];var WEBGL_EXTENSIONS={WEBGL_compressed_texture_s3tc:'dxt',WEBGL_compressed_texture_s3tc_srgb:'dxt-srgb',WEBGL_compressed_texture_etc1:'etc1',WEBGL_compressed_texture_etc:'etc2',WEBGL_compressed_texture_pvrtc:'pvrtc',WEBGL_compressed_texture_atc:'atc',WEBGL_compressed_texture_astc:'astc',EXT_texture_compression_rgtc:'rgtc'};var formats=null;function getSupportedGPUTextureFormats(gl){if(!formats){gl=gl||getWebGLContext()||undefined;formats=new Set();var _iterator16=_createForOfIteratorHelper(BROWSER_PREFIXES),_step16;try{for(_iterator16.s();!(_step16=_iterator16.n()).done;){var prefix=_step16.value;for(var extension in WEBGL_EXTENSIONS){if(gl&&gl.getExtension("".concat(prefix).concat(extension))){var gpuTextureFormat=WEBGL_EXTENSIONS[extension];formats.add(gpuTextureFormat);}}}}catch(err){_iterator16.e(err);}finally{_iterator16.f();}}return formats;}function getWebGLContext(){try{var _canvas6=document.createElement('canvas');return _canvas6.getContext('webgl');}catch(error){return null;}}var n,i,s,a,r,o,l,f;!function(t){t[t.NONE=0]="NONE",t[t.BASISLZ=1]="BASISLZ",t[t.ZSTD=2]="ZSTD",t[t.ZLIB=3]="ZLIB";}(n||(n={})),function(t){t[t.BASICFORMAT=0]="BASICFORMAT";}(i||(i={})),function(t){t[t.UNSPECIFIED=0]="UNSPECIFIED",t[t.ETC1S=163]="ETC1S",t[t.UASTC=166]="UASTC";}(s||(s={})),function(t){t[t.UNSPECIFIED=0]="UNSPECIFIED",t[t.SRGB=1]="SRGB";}(a||(a={})),function(t){t[t.UNSPECIFIED=0]="UNSPECIFIED",t[t.LINEAR=1]="LINEAR",t[t.SRGB=2]="SRGB",t[t.ITU=3]="ITU",t[t.NTSC=4]="NTSC",t[t.SLOG=5]="SLOG",t[t.SLOG2=6]="SLOG2";}(r||(r={})),function(t){t[t.ALPHA_STRAIGHT=0]="ALPHA_STRAIGHT",t[t.ALPHA_PREMULTIPLIED=1]="ALPHA_PREMULTIPLIED";}(o||(o={})),function(t){t[t.RGB=0]="RGB",t[t.RRR=3]="RRR",t[t.GGG=4]="GGG",t[t.AAA=15]="AAA";}(l||(l={})),function(t){t[t.RGB=0]="RGB",t[t.RGBA=3]="RGBA",t[t.RRR=4]="RRR",t[t.RRRG=5]="RRRG";}(f||(f={}));var KTX2_ID=[0xab,0x4b,0x54,0x58,0x20,0x32,0x30,0xbb,0x0d,0x0a,0x1a,0x0a];function isKTX(data){var id=new Uint8Array(data);var notKTX=id.byteLength1&&_args41[1]!==undefined?_args41[1]:null;if(isEmptyObject(imagebitmapOptions)||!imagebitmapOptionsSupported){imagebitmapOptions=null;}if(!imagebitmapOptions){_context47.next=13;break;}_context47.prev=3;_context47.next=6;return createImageBitmap(blob,imagebitmapOptions);case 6:return _context47.abrupt("return",_context47.sent);case 9:_context47.prev=9;_context47.t0=_context47["catch"](3);console.warn(_context47.t0);imagebitmapOptionsSupported=false;case 13:_context47.next=15;return createImageBitmap(blob);case 15:return _context47.abrupt("return",_context47.sent);case 16:case"end":return _context47.stop();}}},_callee43,null,[[3,9]]);}));return _safeCreateImageBitmap.apply(this,arguments);}function isEmptyObject(object){for(var key in object||EMPTY_OBJECT){return false;}return true;}var BIG_ENDIAN=false;var LITTLE_ENDIAN=true;function getBinaryImageMetadata(binaryData){var dataView=toDataView(binaryData);return getPngMetadata(dataView)||getJpegMetadata(dataView)||getGifMetadata(dataView)||getBmpMetadata(dataView);}function getPngMetadata(binaryData){var dataView=toDataView(binaryData);var isPng=dataView.byteLength>=24&&dataView.getUint32(0,BIG_ENDIAN)===0x89504e47;if(!isPng){return null;}return{mimeType:'image/png',width:dataView.getUint32(16,BIG_ENDIAN),height:dataView.getUint32(20,BIG_ENDIAN)};}function getGifMetadata(binaryData){var dataView=toDataView(binaryData);var isGif=dataView.byteLength>=10&&dataView.getUint32(0,BIG_ENDIAN)===0x47494638;if(!isGif){return null;}return{mimeType:'image/gif',width:dataView.getUint16(6,LITTLE_ENDIAN),height:dataView.getUint16(8,LITTLE_ENDIAN)};}function getBmpMetadata(binaryData){var dataView=toDataView(binaryData);var isBmp=dataView.byteLength>=14&&dataView.getUint16(0,BIG_ENDIAN)===0x424d&&dataView.getUint32(2,LITTLE_ENDIAN)===dataView.byteLength;if(!isBmp){return null;}return{mimeType:'image/bmp',width:dataView.getUint32(18,LITTLE_ENDIAN),height:dataView.getUint32(22,LITTLE_ENDIAN)};}function getJpegMetadata(binaryData){var dataView=toDataView(binaryData);var isJpeg=dataView.byteLength>=3&&dataView.getUint16(0,BIG_ENDIAN)===0xffd8&&dataView.getUint8(2)===0xff;if(!isJpeg){return null;}var _getJpegMarkers=getJpegMarkers(),tableMarkers=_getJpegMarkers.tableMarkers,sofMarkers=_getJpegMarkers.sofMarkers;var i=2;while(i+9=0&&byteLength<=bufferView.byteLength);return{ArrayType:ArrayType,length:length,byteLength:byteLength};}var DEFAULT_GLTF_JSON={asset:{version:'2.0',generator:'loaders.gl'},buffers:[]};var GLTFScenegraph=/*#__PURE__*/function(){function GLTFScenegraph(gltf){_classCallCheck(this,GLTFScenegraph);_defineProperty(this,"gltf",void 0);_defineProperty(this,"sourceBuffers",void 0);_defineProperty(this,"byteLength",void 0);this.gltf=gltf||{json:_objectSpread({},DEFAULT_GLTF_JSON),buffers:[]};this.sourceBuffers=[];this.byteLength=0;if(this.gltf.buffers&&this.gltf.buffers[0]){this.byteLength=this.gltf.buffers[0].byteLength;this.sourceBuffers=[this.gltf.buffers[0]];}}_createClass(GLTFScenegraph,[{key:"json",get:function get(){return this.gltf.json;}},{key:"getApplicationData",value:function getApplicationData(key){var data=this.json[key];return data;}},{key:"getExtraData",value:function getExtraData(key){var extras=this.json.extras||{};return extras[key];}},{key:"getExtension",value:function getExtension(extensionName){var isExtension=this.getUsedExtensions().find(function(name){return name===extensionName;});var extensions=this.json.extensions||{};return isExtension?extensions[extensionName]||true:null;}},{key:"getRequiredExtension",value:function getRequiredExtension(extensionName){var isRequired=this.getRequiredExtensions().find(function(name){return name===extensionName;});return isRequired?this.getExtension(extensionName):null;}},{key:"getRequiredExtensions",value:function getRequiredExtensions(){return this.json.extensionsRequired||[];}},{key:"getUsedExtensions",value:function getUsedExtensions(){return this.json.extensionsUsed||[];}},{key:"getObjectExtension",value:function getObjectExtension(object,extensionName){var extensions=object.extensions||{};return extensions[extensionName];}},{key:"getScene",value:function getScene(index){return this.getObject('scenes',index);}},{key:"getNode",value:function getNode(index){return this.getObject('nodes',index);}},{key:"getSkin",value:function getSkin(index){return this.getObject('skins',index);}},{key:"getMesh",value:function getMesh(index){return this.getObject('meshes',index);}},{key:"getMaterial",value:function getMaterial(index){return this.getObject('materials',index);}},{key:"getAccessor",value:function getAccessor(index){return this.getObject('accessors',index);}},{key:"getTexture",value:function getTexture(index){return this.getObject('textures',index);}},{key:"getSampler",value:function getSampler(index){return this.getObject('samplers',index);}},{key:"getImage",value:function getImage(index){return this.getObject('images',index);}},{key:"getBufferView",value:function getBufferView(index){return this.getObject('bufferViews',index);}},{key:"getBuffer",value:function getBuffer(index){return this.getObject('buffers',index);}},{key:"getObject",value:function getObject(array,index){if(_typeof(index)==='object'){return index;}var object=this.json[array]&&this.json[array][index];if(!object){throw new Error("glTF file error: Could not find ".concat(array,"[").concat(index,"]"));}return object;}},{key:"getTypedArrayForBufferView",value:function getTypedArrayForBufferView(bufferView){bufferView=this.getBufferView(bufferView);var bufferIndex=bufferView.buffer;var binChunk=this.gltf.buffers[bufferIndex];assert$1(binChunk);var byteOffset=(bufferView.byteOffset||0)+binChunk.byteOffset;return new Uint8Array(binChunk.arrayBuffer,byteOffset,bufferView.byteLength);}},{key:"getTypedArrayForAccessor",value:function getTypedArrayForAccessor(accessor){accessor=this.getAccessor(accessor);var bufferView=this.getBufferView(accessor.bufferView);var buffer=this.getBuffer(bufferView.buffer);var arrayBuffer=buffer.data;var _getAccessorArrayType=getAccessorArrayTypeAndLength(accessor,bufferView),ArrayType=_getAccessorArrayType.ArrayType,length=_getAccessorArrayType.length;var byteOffset=bufferView.byteOffset+accessor.byteOffset;return new ArrayType(arrayBuffer,byteOffset,length);}},{key:"getTypedArrayForImageData",value:function getTypedArrayForImageData(image){image=this.getAccessor(image);var bufferView=this.getBufferView(image.bufferView);var buffer=this.getBuffer(bufferView.buffer);var arrayBuffer=buffer.data;var byteOffset=bufferView.byteOffset||0;return new Uint8Array(arrayBuffer,byteOffset,bufferView.byteLength);}},{key:"addApplicationData",value:function addApplicationData(key,data){this.json[key]=data;return this;}},{key:"addExtraData",value:function addExtraData(key,data){this.json.extras=this.json.extras||{};this.json.extras[key]=data;return this;}},{key:"addObjectExtension",value:function addObjectExtension(object,extensionName,data){object.extensions=object.extensions||{};object.extensions[extensionName]=data;this.registerUsedExtension(extensionName);return this;}},{key:"setObjectExtension",value:function setObjectExtension(object,extensionName,data){var extensions=object.extensions||{};extensions[extensionName]=data;}},{key:"removeObjectExtension",value:function removeObjectExtension(object,extensionName){var extensions=object.extensions||{};var extension=extensions[extensionName];delete extensions[extensionName];return extension;}},{key:"addExtension",value:function addExtension(extensionName){var extensionData=arguments.length>1&&arguments[1]!==undefined?arguments[1]:{};assert$1(extensionData);this.json.extensions=this.json.extensions||{};this.json.extensions[extensionName]=extensionData;this.registerUsedExtension(extensionName);return extensionData;}},{key:"addRequiredExtension",value:function addRequiredExtension(extensionName){var extensionData=arguments.length>1&&arguments[1]!==undefined?arguments[1]:{};assert$1(extensionData);this.addExtension(extensionName,extensionData);this.registerRequiredExtension(extensionName);return extensionData;}},{key:"registerUsedExtension",value:function registerUsedExtension(extensionName){this.json.extensionsUsed=this.json.extensionsUsed||[];if(!this.json.extensionsUsed.find(function(ext){return ext===extensionName;})){this.json.extensionsUsed.push(extensionName);}}},{key:"registerRequiredExtension",value:function registerRequiredExtension(extensionName){this.registerUsedExtension(extensionName);this.json.extensionsRequired=this.json.extensionsRequired||[];if(!this.json.extensionsRequired.find(function(ext){return ext===extensionName;})){this.json.extensionsRequired.push(extensionName);}}},{key:"removeExtension",value:function removeExtension(extensionName){if(this.json.extensionsRequired){this._removeStringFromArray(this.json.extensionsRequired,extensionName);}if(this.json.extensionsUsed){this._removeStringFromArray(this.json.extensionsUsed,extensionName);}if(this.json.extensions){delete this.json.extensions[extensionName];}}},{key:"setDefaultScene",value:function setDefaultScene(sceneIndex){this.json.scene=sceneIndex;}},{key:"addScene",value:function addScene(scene){var nodeIndices=scene.nodeIndices;this.json.scenes=this.json.scenes||[];this.json.scenes.push({nodes:nodeIndices});return this.json.scenes.length-1;}},{key:"addNode",value:function addNode(node){var meshIndex=node.meshIndex,matrix=node.matrix;this.json.nodes=this.json.nodes||[];var nodeData={mesh:meshIndex};if(matrix){nodeData.matrix=matrix;}this.json.nodes.push(nodeData);return this.json.nodes.length-1;}},{key:"addMesh",value:function addMesh(mesh){var attributes=mesh.attributes,indices=mesh.indices,material=mesh.material,_mesh$mode=mesh.mode,mode=_mesh$mode===void 0?4:_mesh$mode;var accessors=this._addAttributes(attributes);var glTFMesh={primitives:[{attributes:accessors,mode:mode}]};if(indices){var indicesAccessor=this._addIndices(indices);glTFMesh.primitives[0].indices=indicesAccessor;}if(Number.isFinite(material)){glTFMesh.primitives[0].material=material;}this.json.meshes=this.json.meshes||[];this.json.meshes.push(glTFMesh);return this.json.meshes.length-1;}},{key:"addPointCloud",value:function addPointCloud(attributes){var accessorIndices=this._addAttributes(attributes);var glTFMesh={primitives:[{attributes:accessorIndices,mode:0}]};this.json.meshes=this.json.meshes||[];this.json.meshes.push(glTFMesh);return this.json.meshes.length-1;}},{key:"addImage",value:function addImage(imageData,mimeTypeOpt){var metadata=getBinaryImageMetadata(imageData);var mimeType=mimeTypeOpt||(metadata===null||metadata===void 0?void 0:metadata.mimeType);var bufferViewIndex=this.addBufferView(imageData);var glTFImage={bufferView:bufferViewIndex,mimeType:mimeType};this.json.images=this.json.images||[];this.json.images.push(glTFImage);return this.json.images.length-1;}},{key:"addBufferView",value:function addBufferView(buffer){var byteLength=buffer.byteLength;assert$1(Number.isFinite(byteLength));this.sourceBuffers=this.sourceBuffers||[];this.sourceBuffers.push(buffer);var glTFBufferView={buffer:0,byteOffset:this.byteLength,byteLength:byteLength};this.byteLength+=padToNBytes(byteLength,4);this.json.bufferViews=this.json.bufferViews||[];this.json.bufferViews.push(glTFBufferView);return this.json.bufferViews.length-1;}},{key:"addAccessor",value:function addAccessor(bufferViewIndex,accessor){var glTFAccessor={bufferView:bufferViewIndex,type:getAccessorTypeFromSize(accessor.size),componentType:accessor.componentType,count:accessor.count,max:accessor.max,min:accessor.min};this.json.accessors=this.json.accessors||[];this.json.accessors.push(glTFAccessor);return this.json.accessors.length-1;}},{key:"addBinaryBuffer",value:function addBinaryBuffer(sourceBuffer){var accessor=arguments.length>1&&arguments[1]!==undefined?arguments[1]:{size:3};var bufferViewIndex=this.addBufferView(sourceBuffer);var minMax={min:accessor.min,max:accessor.max};if(!minMax.min||!minMax.max){minMax=this._getAccessorMinMax(sourceBuffer,accessor.size);}var accessorDefaults={size:accessor.size,componentType:getComponentTypeFromArray(sourceBuffer),count:Math.round(sourceBuffer.length/accessor.size),min:minMax.min,max:minMax.max};return this.addAccessor(bufferViewIndex,Object.assign(accessorDefaults,accessor));}},{key:"addTexture",value:function addTexture(texture){var imageIndex=texture.imageIndex;var glTFTexture={source:imageIndex};this.json.textures=this.json.textures||[];this.json.textures.push(glTFTexture);return this.json.textures.length-1;}},{key:"addMaterial",value:function addMaterial(pbrMaterialInfo){this.json.materials=this.json.materials||[];this.json.materials.push(pbrMaterialInfo);return this.json.materials.length-1;}},{key:"createBinaryChunk",value:function createBinaryChunk(){var _this$json,_this$json$buffers;this.gltf.buffers=[];var totalByteLength=this.byteLength;var arrayBuffer=new ArrayBuffer(totalByteLength);var targetArray=new Uint8Array(arrayBuffer);var dstByteOffset=0;var _iterator17=_createForOfIteratorHelper(this.sourceBuffers||[]),_step17;try{for(_iterator17.s();!(_step17=_iterator17.n()).done;){var sourceBuffer=_step17.value;dstByteOffset=copyToArray(sourceBuffer,targetArray,dstByteOffset);}}catch(err){_iterator17.e(err);}finally{_iterator17.f();}if((_this$json=this.json)!==null&&_this$json!==void 0&&(_this$json$buffers=_this$json.buffers)!==null&&_this$json$buffers!==void 0&&_this$json$buffers[0]){this.json.buffers[0].byteLength=totalByteLength;}else{this.json.buffers=[{byteLength:totalByteLength}];}this.gltf.binary=arrayBuffer;this.sourceBuffers=[arrayBuffer];}},{key:"_removeStringFromArray",value:function _removeStringFromArray(array,string){var found=true;while(found){var index=array.indexOf(string);if(index>-1){array.splice(index,1);}else{found=false;}}}},{key:"_addAttributes",value:function _addAttributes(){var attributes=arguments.length>0&&arguments[0]!==undefined?arguments[0]:{};var result={};for(var attributeKey in attributes){var attributeData=attributes[attributeKey];var attrName=this._getGltfAttributeName(attributeKey);var accessor=this.addBinaryBuffer(attributeData.value,attributeData);result[attrName]=accessor;}return result;}},{key:"_addIndices",value:function _addIndices(indices){return this.addBinaryBuffer(indices,{size:1});}},{key:"_getGltfAttributeName",value:function _getGltfAttributeName(attributeName){switch(attributeName.toLowerCase()){case'position':case'positions':case'vertices':return'POSITION';case'normal':case'normals':return'NORMAL';case'color':case'colors':return'COLOR_0';case'texcoord':case'texcoords':return'TEXCOORD_0';default:return attributeName;}}},{key:"_getAccessorMinMax",value:function _getAccessorMinMax(buffer,size){var result={min:null,max:null};if(buffer.length5&&_args44[5]!==undefined?_args44[5]:'NONE';_context50.next=3;return loadWasmInstance();case 3:instance=_context50.sent;decode$5(instance,instance.exports[DECODERS[mode]],target,count,size,source,instance.exports[FILTERS[filter||'NONE']]);case 5:case"end":return _context50.stop();}}},_callee46);}));return _meshoptDecodeGltfBuffer.apply(this,arguments);}var wasmPromise;function loadWasmInstance(){return _loadWasmInstance.apply(this,arguments);}function _loadWasmInstance(){_loadWasmInstance=_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee47(){return _regeneratorRuntime().wrap(function _callee47$(_context51){while(1){switch(_context51.prev=_context51.next){case 0:if(!wasmPromise){wasmPromise=loadWasmModule();}return _context51.abrupt("return",wasmPromise);case 2:case"end":return _context51.stop();}}},_callee47);}));return _loadWasmInstance.apply(this,arguments);}function loadWasmModule(){return _loadWasmModule.apply(this,arguments);}function _loadWasmModule(){_loadWasmModule=_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee48(){var wasm,result;return _regeneratorRuntime().wrap(function _callee48$(_context52){while(1){switch(_context52.prev=_context52.next){case 0:wasm=wasm_base;if(WebAssembly.validate(detector)){wasm=wasm_simd;console.log('Warning: meshopt_decoder is using experimental SIMD support');}_context52.next=4;return WebAssembly.instantiate(unpack(wasm),{});case 4:result=_context52.sent;_context52.next=7;return result.instance.exports.__wasm_call_ctors();case 7:return _context52.abrupt("return",result.instance);case 8:case"end":return _context52.stop();}}},_callee48);}));return _loadWasmModule.apply(this,arguments);}function unpack(data){var result=new Uint8Array(data.length);for(var _i466=0;_i46696?ch-71:ch>64?ch-65:ch>47?ch+4:ch>46?63:62;}var write=0;for(var _i467=0;_i467maxX?x:maxX;maxY=y>maxY?y:maxY;maxZ=_z4>maxZ?_z4:maxZ;}return[[minX,minY,minZ],[maxX,maxY,maxZ]];}function assert(condition,message){if(!condition){throw new Error(message||'loader assertion failed.');}}var Schema=/*#__PURE__*/function(){function Schema(fields,metadata){_classCallCheck(this,Schema);_defineProperty(this,"fields",void 0);_defineProperty(this,"metadata",void 0);assert(Array.isArray(fields));checkNames(fields);this.fields=fields;this.metadata=metadata||new Map();}_createClass(Schema,[{key:"compareTo",value:function compareTo(other){if(this.metadata!==other.metadata){return false;}if(this.fields.length!==other.fields.length){return false;}for(var _i469=0;_i4692&&arguments[2]!==undefined?arguments[2]:false;var metadata=arguments.length>3&&arguments[3]!==undefined?arguments[3]:new Map();_classCallCheck(this,Field);_defineProperty(this,"name",void 0);_defineProperty(this,"type",void 0);_defineProperty(this,"nullable",void 0);_defineProperty(this,"metadata",void 0);this.name=name;this.type=type;this.nullable=nullable;this.metadata=metadata;}_createClass(Field,[{key:"typeId",get:function get(){return this.type&&this.type.typeId;}},{key:"clone",value:function clone(){return new Field(this.name,this.type,this.nullable,this.metadata);}},{key:"compareTo",value:function compareTo(other){return this.name===other.name&&this.type===other.type&&this.nullable===other.nullable&&this.metadata===other.metadata;}},{key:"toString",value:function toString(){return"".concat(this.type).concat(this.nullable?', nullable':'').concat(this.metadata?", metadata: ".concat(this.metadata):'');}}]);return Field;}();var Type;(function(Type){Type[Type["NONE"]=0]="NONE";Type[Type["Null"]=1]="Null";Type[Type["Int"]=2]="Int";Type[Type["Float"]=3]="Float";Type[Type["Binary"]=4]="Binary";Type[Type["Utf8"]=5]="Utf8";Type[Type["Bool"]=6]="Bool";Type[Type["Decimal"]=7]="Decimal";Type[Type["Date"]=8]="Date";Type[Type["Time"]=9]="Time";Type[Type["Timestamp"]=10]="Timestamp";Type[Type["Interval"]=11]="Interval";Type[Type["List"]=12]="List";Type[Type["Struct"]=13]="Struct";Type[Type["Union"]=14]="Union";Type[Type["FixedSizeBinary"]=15]="FixedSizeBinary";Type[Type["FixedSizeList"]=16]="FixedSizeList";Type[Type["Map"]=17]="Map";Type[Type["Dictionary"]=-1]="Dictionary";Type[Type["Int8"]=-2]="Int8";Type[Type["Int16"]=-3]="Int16";Type[Type["Int32"]=-4]="Int32";Type[Type["Int64"]=-5]="Int64";Type[Type["Uint8"]=-6]="Uint8";Type[Type["Uint16"]=-7]="Uint16";Type[Type["Uint32"]=-8]="Uint32";Type[Type["Uint64"]=-9]="Uint64";Type[Type["Float16"]=-10]="Float16";Type[Type["Float32"]=-11]="Float32";Type[Type["Float64"]=-12]="Float64";Type[Type["DateDay"]=-13]="DateDay";Type[Type["DateMillisecond"]=-14]="DateMillisecond";Type[Type["TimestampSecond"]=-15]="TimestampSecond";Type[Type["TimestampMillisecond"]=-16]="TimestampMillisecond";Type[Type["TimestampMicrosecond"]=-17]="TimestampMicrosecond";Type[Type["TimestampNanosecond"]=-18]="TimestampNanosecond";Type[Type["TimeSecond"]=-19]="TimeSecond";Type[Type["TimeMillisecond"]=-20]="TimeMillisecond";Type[Type["TimeMicrosecond"]=-21]="TimeMicrosecond";Type[Type["TimeNanosecond"]=-22]="TimeNanosecond";Type[Type["DenseUnion"]=-23]="DenseUnion";Type[Type["SparseUnion"]=-24]="SparseUnion";Type[Type["IntervalDayTime"]=-25]="IntervalDayTime";Type[Type["IntervalYearMonth"]=-26]="IntervalYearMonth";})(Type||(Type={}));var _Symbol$toStringTag,_Symbol$toStringTag2,_Symbol$toStringTag7;var DataType=/*#__PURE__*/function(){function DataType(){_classCallCheck(this,DataType);}_createClass(DataType,[{key:"typeId",get:function get(){return Type.NONE;}},{key:"compareTo",value:function compareTo(other){return this===other;}}],[{key:"isNull",value:function isNull(x){return x&&x.typeId===Type.Null;}},{key:"isInt",value:function isInt(x){return x&&x.typeId===Type.Int;}},{key:"isFloat",value:function isFloat(x){return x&&x.typeId===Type.Float;}},{key:"isBinary",value:function isBinary(x){return x&&x.typeId===Type.Binary;}},{key:"isUtf8",value:function isUtf8(x){return x&&x.typeId===Type.Utf8;}},{key:"isBool",value:function isBool(x){return x&&x.typeId===Type.Bool;}},{key:"isDecimal",value:function isDecimal(x){return x&&x.typeId===Type.Decimal;}},{key:"isDate",value:function isDate(x){return x&&x.typeId===Type.Date;}},{key:"isTime",value:function isTime(x){return x&&x.typeId===Type.Time;}},{key:"isTimestamp",value:function isTimestamp(x){return x&&x.typeId===Type.Timestamp;}},{key:"isInterval",value:function isInterval(x){return x&&x.typeId===Type.Interval;}},{key:"isList",value:function isList(x){return x&&x.typeId===Type.List;}},{key:"isStruct",value:function isStruct(x){return x&&x.typeId===Type.Struct;}},{key:"isUnion",value:function isUnion(x){return x&&x.typeId===Type.Union;}},{key:"isFixedSizeBinary",value:function isFixedSizeBinary(x){return x&&x.typeId===Type.FixedSizeBinary;}},{key:"isFixedSizeList",value:function isFixedSizeList(x){return x&&x.typeId===Type.FixedSizeList;}},{key:"isMap",value:function isMap(x){return x&&x.typeId===Type.Map;}},{key:"isDictionary",value:function isDictionary(x){return x&&x.typeId===Type.Dictionary;}}]);return DataType;}();_Symbol$toStringTag=Symbol.toStringTag;var Int=/*#__PURE__*/function(_DataType,_Symbol$toStringTag3){_inherits(Int,_DataType);var _super129=_createSuper(Int);function Int(isSigned,bitWidth){var _this109;_classCallCheck(this,Int);_this109=_super129.call(this);_defineProperty(_assertThisInitialized(_this109),"isSigned",void 0);_defineProperty(_assertThisInitialized(_this109),"bitWidth",void 0);_this109.isSigned=isSigned;_this109.bitWidth=bitWidth;return _this109;}_createClass(Int,[{key:"typeId",get:function get(){return Type.Int;}},{key:_Symbol$toStringTag3,get:function get(){return'Int';}},{key:"toString",value:function toString(){return"".concat(this.isSigned?'I':'Ui',"nt").concat(this.bitWidth);}}]);return Int;}(DataType,_Symbol$toStringTag);var Int8=/*#__PURE__*/function(_Int){_inherits(Int8,_Int);var _super130=_createSuper(Int8);function Int8(){_classCallCheck(this,Int8);return _super130.call(this,true,8);}return _createClass(Int8);}(Int);var Int16=/*#__PURE__*/function(_Int2){_inherits(Int16,_Int2);var _super131=_createSuper(Int16);function Int16(){_classCallCheck(this,Int16);return _super131.call(this,true,16);}return _createClass(Int16);}(Int);var Int32=/*#__PURE__*/function(_Int3){_inherits(Int32,_Int3);var _super132=_createSuper(Int32);function Int32(){_classCallCheck(this,Int32);return _super132.call(this,true,32);}return _createClass(Int32);}(Int);var Uint8=/*#__PURE__*/function(_Int4){_inherits(Uint8,_Int4);var _super133=_createSuper(Uint8);function Uint8(){_classCallCheck(this,Uint8);return _super133.call(this,false,8);}return _createClass(Uint8);}(Int);var Uint16=/*#__PURE__*/function(_Int5){_inherits(Uint16,_Int5);var _super134=_createSuper(Uint16);function Uint16(){_classCallCheck(this,Uint16);return _super134.call(this,false,16);}return _createClass(Uint16);}(Int);var Uint32=/*#__PURE__*/function(_Int6){_inherits(Uint32,_Int6);var _super135=_createSuper(Uint32);function Uint32(){_classCallCheck(this,Uint32);return _super135.call(this,false,32);}return _createClass(Uint32);}(Int);var Precision={HALF:16,SINGLE:32,DOUBLE:64};_Symbol$toStringTag2=Symbol.toStringTag;var Float=/*#__PURE__*/function(_DataType2,_Symbol$toStringTag4){_inherits(Float,_DataType2);var _super136=_createSuper(Float);function Float(precision){var _this110;_classCallCheck(this,Float);_this110=_super136.call(this);_defineProperty(_assertThisInitialized(_this110),"precision",void 0);_this110.precision=precision;return _this110;}_createClass(Float,[{key:"typeId",get:function get(){return Type.Float;}},{key:_Symbol$toStringTag4,get:function get(){return'Float';}},{key:"toString",value:function toString(){return"Float".concat(this.precision);}}]);return Float;}(DataType,_Symbol$toStringTag2);var Float32=/*#__PURE__*/function(_Float){_inherits(Float32,_Float);var _super137=_createSuper(Float32);function Float32(){_classCallCheck(this,Float32);return _super137.call(this,Precision.SINGLE);}return _createClass(Float32);}(Float);var Float64=/*#__PURE__*/function(_Float2){_inherits(Float64,_Float2);var _super138=_createSuper(Float64);function Float64(){_classCallCheck(this,Float64);return _super138.call(this,Precision.DOUBLE);}return _createClass(Float64);}(Float);_Symbol$toStringTag7=Symbol.toStringTag;var FixedSizeList=/*#__PURE__*/function(_DataType3,_Symbol$toStringTag5){_inherits(FixedSizeList,_DataType3);var _super139=_createSuper(FixedSizeList);function FixedSizeList(listSize,child){var _this111;_classCallCheck(this,FixedSizeList);_this111=_super139.call(this);_defineProperty(_assertThisInitialized(_this111),"listSize",void 0);_defineProperty(_assertThisInitialized(_this111),"children",void 0);_this111.listSize=listSize;_this111.children=[child];return _this111;}_createClass(FixedSizeList,[{key:"typeId",get:function get(){return Type.FixedSizeList;}},{key:"valueType",get:function get(){return this.children[0].type;}},{key:"valueField",get:function get(){return this.children[0];}},{key:_Symbol$toStringTag5,get:function get(){return'FixedSizeList';}},{key:"toString",value:function toString(){return"FixedSizeList[".concat(this.listSize,"]<").concat(this.valueType,">");}}]);return FixedSizeList;}(DataType,_Symbol$toStringTag7);function getArrowTypeFromTypedArray(array){switch(array.constructor){case Int8Array:return new Int8();case Uint8Array:return new Uint8();case Int16Array:return new Int16();case Uint16Array:return new Uint16();case Int32Array:return new Int32();case Uint32Array:return new Uint32();case Float32Array:return new Float32();case Float64Array:return new Float64();default:throw new Error('array type not supported');}}function deduceMeshField(attributeName,attribute,optionalMetadata){var type=getArrowTypeFromTypedArray(attribute.value);var metadata=optionalMetadata?optionalMetadata:makeMeshAttributeMetadata(attribute);var field=new Field(attributeName,new FixedSizeList(attribute.size,new Field('value',type)),false,metadata);return field;}function makeMeshAttributeMetadata(attribute){var result=new Map();if('byteOffset'in attribute){result.set('byteOffset',attribute.byteOffset.toString(10));}if('byteStride'in attribute){result.set('byteStride',attribute.byteStride.toString(10));}if('normalized'in attribute){result.set('normalized',attribute.normalized.toString());}return result;}function getDracoSchema(attributes,loaderData,indices){var metadataMap=makeMetadata(loaderData.metadata);var fields=[];var namedLoaderDataAttributes=transformAttributesLoaderData(loaderData.attributes);for(var attributeName in attributes){var attribute=attributes[attributeName];var field=getArrowFieldFromAttribute(attributeName,attribute,namedLoaderDataAttributes[attributeName]);fields.push(field);}if(indices){var indicesField=getArrowFieldFromAttribute('indices',indices);fields.push(indicesField);}return new Schema(fields,metadataMap);}function transformAttributesLoaderData(loaderData){var result={};for(var key in loaderData){var dracoAttribute=loaderData[key];result[dracoAttribute.name||'undefined']=dracoAttribute;}return result;}function getArrowFieldFromAttribute(attributeName,attribute,loaderData){var metadataMap=loaderData?makeMetadata(loaderData.metadata):undefined;var field=deduceMeshField(attributeName,attribute,metadataMap);return field;}function makeMetadata(metadata){var metadataMap=new Map();for(var key in metadata){metadataMap.set("".concat(key,".string"),JSON.stringify(metadata[key]));}return metadataMap;}var DRACO_TO_GLTF_ATTRIBUTE_NAME_MAP={POSITION:'POSITION',NORMAL:'NORMAL',COLOR:'COLOR_0',TEX_COORD:'TEXCOORD_0'};var DRACO_DATA_TYPE_TO_TYPED_ARRAY_MAP={1:Int8Array,2:Uint8Array,3:Int16Array,4:Uint16Array,5:Int32Array,6:Uint32Array,9:Float32Array};var INDEX_ITEM_SIZE=4;var DracoParser=/*#__PURE__*/function(){function DracoParser(draco){_classCallCheck(this,DracoParser);_defineProperty(this,"draco",void 0);_defineProperty(this,"decoder",void 0);_defineProperty(this,"metadataQuerier",void 0);this.draco=draco;this.decoder=new this.draco.Decoder();this.metadataQuerier=new this.draco.MetadataQuerier();}_createClass(DracoParser,[{key:"destroy",value:function destroy(){this.draco.destroy(this.decoder);this.draco.destroy(this.metadataQuerier);}},{key:"parseSync",value:function parseSync(arrayBuffer){var options=arguments.length>1&&arguments[1]!==undefined?arguments[1]:{};var buffer=new this.draco.DecoderBuffer();buffer.Init(new Int8Array(arrayBuffer),arrayBuffer.byteLength);this._disableAttributeTransforms(options);var geometry_type=this.decoder.GetEncodedGeometryType(buffer);var dracoGeometry=geometry_type===this.draco.TRIANGULAR_MESH?new this.draco.Mesh():new this.draco.PointCloud();try{var dracoStatus;switch(geometry_type){case this.draco.TRIANGULAR_MESH:dracoStatus=this.decoder.DecodeBufferToMesh(buffer,dracoGeometry);break;case this.draco.POINT_CLOUD:dracoStatus=this.decoder.DecodeBufferToPointCloud(buffer,dracoGeometry);break;default:throw new Error('DRACO: Unknown geometry type.');}if(!dracoStatus.ok()||!dracoGeometry.ptr){var message="DRACO decompression failed: ".concat(dracoStatus.error_msg());throw new Error(message);}var loaderData=this._getDracoLoaderData(dracoGeometry,geometry_type,options);var geometry=this._getMeshData(dracoGeometry,loaderData,options);var boundingBox=getMeshBoundingBox(geometry.attributes);var schema=getDracoSchema(geometry.attributes,loaderData,geometry.indices);var data=_objectSpread(_objectSpread({loader:'draco',loaderData:loaderData,header:{vertexCount:dracoGeometry.num_points(),boundingBox:boundingBox}},geometry),{},{schema:schema});return data;}finally{this.draco.destroy(buffer);if(dracoGeometry){this.draco.destroy(dracoGeometry);}}}},{key:"_getDracoLoaderData",value:function _getDracoLoaderData(dracoGeometry,geometry_type,options){var metadata=this._getTopLevelMetadata(dracoGeometry);var attributes=this._getDracoAttributes(dracoGeometry,options);return{geometry_type:geometry_type,num_attributes:dracoGeometry.num_attributes(),num_points:dracoGeometry.num_points(),num_faces:dracoGeometry instanceof this.draco.Mesh?dracoGeometry.num_faces():0,metadata:metadata,attributes:attributes};}},{key:"_getDracoAttributes",value:function _getDracoAttributes(dracoGeometry,options){var dracoAttributes={};for(var attributeId=0;attributeId2&&arguments[2]!==undefined?arguments[2]:false;if(!array){return null;}if(Array.isArray(array)){return new ArrayType(array);}if(convertTypedArrays&&!(array instanceof ArrayType)){return new ArrayType(array);}return array;}var KHR_DRACO_MESH_COMPRESSION='KHR_draco_mesh_compression';var name$3=KHR_DRACO_MESH_COMPRESSION;function preprocess$1(gltfData,options,context){var scenegraph=new GLTFScenegraph(gltfData);var _iterator25=_createForOfIteratorHelper(makeMeshPrimitiveIterator(scenegraph)),_step25;try{for(_iterator25.s();!(_step25=_iterator25.n()).done;){var _primitive=_step25.value;if(scenegraph.getObjectExtension(_primitive,KHR_DRACO_MESH_COMPRESSION));}}catch(err){_iterator25.e(err);}finally{_iterator25.f();}}function decode$3(_x72,_x73,_x74){return _decode$2.apply(this,arguments);}function _decode$2(){_decode$2=_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee54(gltfData,options,context){var _options$gltf,scenegraph,promises,_iterator49,_step49,_primitive5;return _regeneratorRuntime().wrap(function _callee54$(_context58){while(1){switch(_context58.prev=_context58.next){case 0:if(options!==null&&options!==void 0&&(_options$gltf=options.gltf)!==null&&_options$gltf!==void 0&&_options$gltf.decompressMeshes){_context58.next=2;break;}return _context58.abrupt("return");case 2:scenegraph=new GLTFScenegraph(gltfData);promises=[];_iterator49=_createForOfIteratorHelper(makeMeshPrimitiveIterator(scenegraph));try{for(_iterator49.s();!(_step49=_iterator49.n()).done;){_primitive5=_step49.value;if(scenegraph.getObjectExtension(_primitive5,KHR_DRACO_MESH_COMPRESSION)){promises.push(decompressPrimitive(scenegraph,_primitive5,options,context));}}}catch(err){_iterator49.e(err);}finally{_iterator49.f();}_context58.next=8;return Promise.all(promises);case 8:scenegraph.removeExtension(KHR_DRACO_MESH_COMPRESSION);case 9:case"end":return _context58.stop();}}},_callee54);}));return _decode$2.apply(this,arguments);}function encode$3(gltfData){var options=arguments.length>1&&arguments[1]!==undefined?arguments[1]:{};var scenegraph=new GLTFScenegraph(gltfData);var _iterator26=_createForOfIteratorHelper(scenegraph.json.meshes||[]),_step26;try{for(_iterator26.s();!(_step26=_iterator26.n()).done;){var _mesh3=_step26.value;compressMesh(_mesh3);scenegraph.addRequiredExtension(KHR_DRACO_MESH_COMPRESSION);}}catch(err){_iterator26.e(err);}finally{_iterator26.f();}}function decompressPrimitive(_x75,_x76,_x77,_x78){return _decompressPrimitive.apply(this,arguments);}function _decompressPrimitive(){_decompressPrimitive=_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee55(scenegraph,primitive,options,context){var dracoExtension,buffer,bufferCopy,parse,dracoOptions,decodedData,decodedAttributes,_i569,_Object$entries5,_Object$entries5$_i,attributeName,decodedAttribute,accessorIndex,accessor;return _regeneratorRuntime().wrap(function _callee55$(_context59){while(1){switch(_context59.prev=_context59.next){case 0:dracoExtension=scenegraph.getObjectExtension(primitive,KHR_DRACO_MESH_COMPRESSION);if(dracoExtension){_context59.next=3;break;}return _context59.abrupt("return");case 3:buffer=scenegraph.getTypedArrayForBufferView(dracoExtension.bufferView);bufferCopy=sliceArrayBuffer(buffer.buffer,buffer.byteOffset);parse=context.parse;dracoOptions=_objectSpread({},options);delete dracoOptions['3d-tiles'];_context59.next=10;return parse(bufferCopy,DracoLoader,dracoOptions,context);case 10:decodedData=_context59.sent;decodedAttributes=getGLTFAccessors(decodedData.attributes);for(_i569=0,_Object$entries5=Object.entries(decodedAttributes);_i569<_Object$entries5.length;_i569++){_Object$entries5$_i=_slicedToArray(_Object$entries5[_i569],2),attributeName=_Object$entries5$_i[0],decodedAttribute=_Object$entries5$_i[1];if(attributeName in primitive.attributes){accessorIndex=primitive.attributes[attributeName];accessor=scenegraph.getAccessor(accessorIndex);if(accessor!==null&&accessor!==void 0&&accessor.min&&accessor!==null&&accessor!==void 0&&accessor.max){decodedAttribute.min=accessor.min;decodedAttribute.max=accessor.max;}}}primitive.attributes=decodedAttributes;if(decodedData.indices){primitive.indices=getGLTFAccessor(decodedData.indices);}checkPrimitive(primitive);case 16:case"end":return _context59.stop();}}},_callee55);}));return _decompressPrimitive.apply(this,arguments);}function compressMesh(attributes,indices){var mode=arguments.length>2&&arguments[2]!==undefined?arguments[2]:4;var options=arguments.length>3?arguments[3]:undefined;var context=arguments.length>4?arguments[4]:undefined;var _context$parseSync;if(!options.DracoWriter){throw new Error('options.gltf.DracoWriter not provided');}var compressedData=options.DracoWriter.encodeSync({attributes:attributes});var decodedData=context===null||context===void 0?void 0:(_context$parseSync=context.parseSync)===null||_context$parseSync===void 0?void 0:_context$parseSync.call(context,{attributes:attributes});var fauxAccessors=options._addFauxAttributes(decodedData.attributes);var bufferViewIndex=options.addBufferView(compressedData);var glTFMesh={primitives:[{attributes:fauxAccessors,mode:mode,extensions:_defineProperty2({},KHR_DRACO_MESH_COMPRESSION,{bufferView:bufferViewIndex,attributes:fauxAccessors})}]};return glTFMesh;}function checkPrimitive(primitive){if(!primitive.attributes&&Object.keys(primitive.attributes).length>0){throw new Error('glTF: Empty primitive detected: Draco decompression failure?');}}function makeMeshPrimitiveIterator(scenegraph){var _iterator27,_step27,_mesh4,_iterator28,_step28,_primitive2;return _regeneratorRuntime().wrap(function makeMeshPrimitiveIterator$(_context10){while(1){switch(_context10.prev=_context10.next){case 0:_iterator27=_createForOfIteratorHelper(scenegraph.json.meshes||[]);_context10.prev=1;_iterator27.s();case 3:if((_step27=_iterator27.n()).done){_context10.next=24;break;}_mesh4=_step27.value;_iterator28=_createForOfIteratorHelper(_mesh4.primitives);_context10.prev=6;_iterator28.s();case 8:if((_step28=_iterator28.n()).done){_context10.next=14;break;}_primitive2=_step28.value;_context10.next=12;return _primitive2;case 12:_context10.next=8;break;case 14:_context10.next=19;break;case 16:_context10.prev=16;_context10.t0=_context10["catch"](6);_iterator28.e(_context10.t0);case 19:_context10.prev=19;_iterator28.f();return _context10.finish(19);case 22:_context10.next=3;break;case 24:_context10.next=29;break;case 26:_context10.prev=26;_context10.t1=_context10["catch"](1);_iterator27.e(_context10.t1);case 29:_context10.prev=29;_iterator27.f();return _context10.finish(29);case 32:case"end":return _context10.stop();}}},_marked3,null,[[1,26,29,32],[6,16,19,22]]);}var KHR_draco_mesh_compression=/*#__PURE__*/Object.freeze({__proto__:null,name:name$3,preprocess:preprocess$1,decode:decode$3,encode:encode$3});var KHR_LIGHTS_PUNCTUAL='KHR_lights_punctual';var name$2=KHR_LIGHTS_PUNCTUAL;function decode$2(_x79){return _decode$3.apply(this,arguments);}function _decode$3(){_decode$3=_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee56(gltfData){var gltfScenegraph,json,extension,_iterator50,_step50,_node13,nodeExtension;return _regeneratorRuntime().wrap(function _callee56$(_context60){while(1){switch(_context60.prev=_context60.next){case 0:gltfScenegraph=new GLTFScenegraph(gltfData);json=gltfScenegraph.json;extension=gltfScenegraph.getExtension(KHR_LIGHTS_PUNCTUAL);if(extension){gltfScenegraph.json.lights=extension.lights;gltfScenegraph.removeExtension(KHR_LIGHTS_PUNCTUAL);}_iterator50=_createForOfIteratorHelper(json.nodes||[]);try{for(_iterator50.s();!(_step50=_iterator50.n()).done;){_node13=_step50.value;nodeExtension=gltfScenegraph.getObjectExtension(_node13,KHR_LIGHTS_PUNCTUAL);if(nodeExtension){_node13.light=nodeExtension.light;}gltfScenegraph.removeObjectExtension(_node13,KHR_LIGHTS_PUNCTUAL);}}catch(err){_iterator50.e(err);}finally{_iterator50.f();}case 6:case"end":return _context60.stop();}}},_callee56);}));return _decode$3.apply(this,arguments);}function encode$2(_x80){return _encode$.apply(this,arguments);}function _encode$(){_encode$=_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee57(gltfData){var gltfScenegraph,json,extension,_iterator51,_step51,light,_node14;return _regeneratorRuntime().wrap(function _callee57$(_context61){while(1){switch(_context61.prev=_context61.next){case 0:gltfScenegraph=new GLTFScenegraph(gltfData);json=gltfScenegraph.json;if(json.lights){extension=gltfScenegraph.addExtension(KHR_LIGHTS_PUNCTUAL);assert$1(!extension.lights);extension.lights=json.lights;delete json.lights;}if(gltfScenegraph.json.lights){_iterator51=_createForOfIteratorHelper(gltfScenegraph.json.lights);try{for(_iterator51.s();!(_step51=_iterator51.n()).done;){light=_step51.value;_node14=light.node;gltfScenegraph.addObjectExtension(_node14,KHR_LIGHTS_PUNCTUAL,light);}}catch(err){_iterator51.e(err);}finally{_iterator51.f();}delete gltfScenegraph.json.lights;}case 4:case"end":return _context61.stop();}}},_callee57);}));return _encode$.apply(this,arguments);}var KHR_lights_punctual=/*#__PURE__*/Object.freeze({__proto__:null,name:name$2,decode:decode$2,encode:encode$2});var KHR_MATERIALS_UNLIT='KHR_materials_unlit';var name$1=KHR_MATERIALS_UNLIT;function decode$1(_x81){return _decode$4.apply(this,arguments);}function _decode$4(){_decode$4=_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee58(gltfData){var gltfScenegraph,json,_iterator52,_step52,material,extension;return _regeneratorRuntime().wrap(function _callee58$(_context62){while(1){switch(_context62.prev=_context62.next){case 0:gltfScenegraph=new GLTFScenegraph(gltfData);json=gltfScenegraph.json;gltfScenegraph.removeExtension(KHR_MATERIALS_UNLIT);_iterator52=_createForOfIteratorHelper(json.materials||[]);try{for(_iterator52.s();!(_step52=_iterator52.n()).done;){material=_step52.value;extension=material.extensions&&material.extensions.KHR_materials_unlit;if(extension){material.unlit=true;}gltfScenegraph.removeObjectExtension(material,KHR_MATERIALS_UNLIT);}}catch(err){_iterator52.e(err);}finally{_iterator52.f();}case 5:case"end":return _context62.stop();}}},_callee58);}));return _decode$4.apply(this,arguments);}function encode$1(gltfData){var gltfScenegraph=new GLTFScenegraph(gltfData);var json=gltfScenegraph.json;if(gltfScenegraph.materials){var _iterator29=_createForOfIteratorHelper(json.materials||[]),_step29;try{for(_iterator29.s();!(_step29=_iterator29.n()).done;){var material=_step29.value;if(material.unlit){delete material.unlit;gltfScenegraph.addObjectExtension(material,KHR_MATERIALS_UNLIT,{});gltfScenegraph.addExtension(KHR_MATERIALS_UNLIT);}}}catch(err){_iterator29.e(err);}finally{_iterator29.f();}}}var KHR_materials_unlit=/*#__PURE__*/Object.freeze({__proto__:null,name:name$1,decode:decode$1,encode:encode$1});var KHR_TECHNIQUES_WEBGL='KHR_techniques_webgl';var name=KHR_TECHNIQUES_WEBGL;function decode(_x82){return _decode.apply(this,arguments);}function _decode(){_decode=_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee59(gltfData){var gltfScenegraph,json,extension,techniques,_iterator53,_step53,material,materialExtension;return _regeneratorRuntime().wrap(function _callee59$(_context63){while(1){switch(_context63.prev=_context63.next){case 0:gltfScenegraph=new GLTFScenegraph(gltfData);json=gltfScenegraph.json;extension=gltfScenegraph.getExtension(KHR_TECHNIQUES_WEBGL);if(extension){techniques=resolveTechniques(extension,gltfScenegraph);_iterator53=_createForOfIteratorHelper(json.materials||[]);try{for(_iterator53.s();!(_step53=_iterator53.n()).done;){material=_step53.value;materialExtension=gltfScenegraph.getObjectExtension(material,KHR_TECHNIQUES_WEBGL);if(materialExtension){material.technique=Object.assign({},materialExtension,techniques[materialExtension.technique]);material.technique.values=resolveValues(material.technique,gltfScenegraph);}gltfScenegraph.removeObjectExtension(material,KHR_TECHNIQUES_WEBGL);}}catch(err){_iterator53.e(err);}finally{_iterator53.f();}gltfScenegraph.removeExtension(KHR_TECHNIQUES_WEBGL);}case 4:case"end":return _context63.stop();}}},_callee59);}));return _decode.apply(this,arguments);}function encode(_x83,_x84){return _encode.apply(this,arguments);}function _encode(){_encode=_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee60(gltfData,options){return _regeneratorRuntime().wrap(function _callee60$(_context64){while(1){switch(_context64.prev=_context64.next){case 0:case"end":return _context64.stop();}}},_callee60);}));return _encode.apply(this,arguments);}function resolveTechniques(techniquesExtension,gltfScenegraph){var _techniquesExtension$=techniquesExtension.programs,programs=_techniquesExtension$===void 0?[]:_techniquesExtension$,_techniquesExtension$2=techniquesExtension.shaders,shaders=_techniquesExtension$2===void 0?[]:_techniquesExtension$2,_techniquesExtension$3=techniquesExtension.techniques,techniques=_techniquesExtension$3===void 0?[]:_techniquesExtension$3;var textDecoder=new TextDecoder();shaders.forEach(function(shader){if(Number.isFinite(shader.bufferView)){shader.code=textDecoder.decode(gltfScenegraph.getTypedArrayForBufferView(shader.bufferView));}else{throw new Error('KHR_techniques_webgl: no shader code');}});programs.forEach(function(program){program.fragmentShader=shaders[program.fragmentShader];program.vertexShader=shaders[program.vertexShader];});techniques.forEach(function(technique){technique.program=programs[technique.program];});return techniques;}function resolveValues(technique,gltfScenegraph){var values=Object.assign({},technique.values);Object.keys(technique.uniforms||{}).forEach(function(uniform){if(technique.uniforms[uniform].value&&!(uniform in values)){values[uniform]=technique.uniforms[uniform].value;}});Object.keys(values).forEach(function(uniform){if(_typeof(values[uniform])==='object'&&values[uniform].index!==undefined){values[uniform].texture=gltfScenegraph.getTexture(values[uniform].index);}});return values;}var KHR_techniques_webgl=/*#__PURE__*/Object.freeze({__proto__:null,name:name,decode:decode,encode:encode});var EXTENSIONS=[EXT_meshopt_compression,EXT_texture_webp,KHR_texture_basisu,KHR_draco_mesh_compression,KHR_lights_punctual,KHR_materials_unlit,KHR_techniques_webgl];function preprocessExtensions(gltf){var options=arguments.length>1&&arguments[1]!==undefined?arguments[1]:{};var context=arguments.length>2?arguments[2]:undefined;var extensions=EXTENSIONS.filter(function(extension){return useExtension(extension.name,options);});var _iterator30=_createForOfIteratorHelper(extensions),_step30;try{for(_iterator30.s();!(_step30=_iterator30.n()).done;){var extension=_step30.value;var _extension$preprocess;(_extension$preprocess=extension.preprocess)===null||_extension$preprocess===void 0?void 0:_extension$preprocess.call(extension,gltf,options,context);}}catch(err){_iterator30.e(err);}finally{_iterator30.f();}}function decodeExtensions(_x85){return _decodeExtensions.apply(this,arguments);}function _decodeExtensions(){_decodeExtensions=_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee61(gltf){var options,context,extensions,_iterator54,_step54,extension,_extension$decode,_args59=arguments;return _regeneratorRuntime().wrap(function _callee61$(_context65){while(1){switch(_context65.prev=_context65.next){case 0:options=_args59.length>1&&_args59[1]!==undefined?_args59[1]:{};context=_args59.length>2?_args59[2]:undefined;extensions=EXTENSIONS.filter(function(extension){return useExtension(extension.name,options);});_iterator54=_createForOfIteratorHelper(extensions);_context65.prev=4;_iterator54.s();case 6:if((_step54=_iterator54.n()).done){_context65.next=12;break;}extension=_step54.value;_context65.next=10;return(_extension$decode=extension.decode)===null||_extension$decode===void 0?void 0:_extension$decode.call(extension,gltf,options,context);case 10:_context65.next=6;break;case 12:_context65.next=17;break;case 14:_context65.prev=14;_context65.t0=_context65["catch"](4);_iterator54.e(_context65.t0);case 17:_context65.prev=17;_iterator54.f();return _context65.finish(17);case 20:case"end":return _context65.stop();}}},_callee61,null,[[4,14,17,20]]);}));return _decodeExtensions.apply(this,arguments);}function useExtension(extensionName,options){var _options$gltf;var excludes=(options===null||options===void 0?void 0:(_options$gltf=options.gltf)===null||_options$gltf===void 0?void 0:_options$gltf.excludeExtensions)||{};var exclude=extensionName in excludes&&!excludes[extensionName];return!exclude;}var KHR_BINARY_GLTF='KHR_binary_glTF';function preprocess(gltfData){var gltfScenegraph=new GLTFScenegraph(gltfData);var json=gltfScenegraph.json;var _iterator31=_createForOfIteratorHelper(json.images||[]),_step31;try{for(_iterator31.s();!(_step31=_iterator31.n()).done;){var _image7=_step31.value;var extension=gltfScenegraph.getObjectExtension(_image7,KHR_BINARY_GLTF);if(extension){Object.assign(_image7,extension);}gltfScenegraph.removeObjectExtension(_image7,KHR_BINARY_GLTF);}}catch(err){_iterator31.e(err);}finally{_iterator31.f();}if(json.buffers&&json.buffers[0]){delete json.buffers[0].uri;}gltfScenegraph.removeExtension(KHR_BINARY_GLTF);}var GLTF_ARRAYS={accessors:'accessor',animations:'animation',buffers:'buffer',bufferViews:'bufferView',images:'image',materials:'material',meshes:'mesh',nodes:'node',samplers:'sampler',scenes:'scene',skins:'skin',textures:'texture'};var GLTF_KEYS={accessor:'accessors',animations:'animation',buffer:'buffers',bufferView:'bufferViews',image:'images',material:'materials',mesh:'meshes',node:'nodes',sampler:'samplers',scene:'scenes',skin:'skins',texture:'textures'};var GLTFV1Normalizer=/*#__PURE__*/function(){function GLTFV1Normalizer(){_classCallCheck(this,GLTFV1Normalizer);_defineProperty(this,"idToIndexMap",{animations:{},accessors:{},buffers:{},bufferViews:{},images:{},materials:{},meshes:{},nodes:{},samplers:{},scenes:{},skins:{},textures:{}});_defineProperty(this,"json",void 0);}_createClass(GLTFV1Normalizer,[{key:"normalize",value:function normalize(gltf,options){this.json=gltf.json;var json=gltf.json;switch(json.asset&&json.asset.version){case'2.0':return;case undefined:case'1.0':break;default:console.warn("glTF: Unknown version ".concat(json.asset.version));return;}if(!options.normalize){throw new Error('glTF v1 is not supported.');}console.warn('Converting glTF v1 to glTF v2 format. This is experimental and may fail.');this._addAsset(json);this._convertTopLevelObjectsToArrays(json);preprocess(gltf);this._convertObjectIdsToArrayIndices(json);this._updateObjects(json);this._updateMaterial(json);}},{key:"_addAsset",value:function _addAsset(json){json.asset=json.asset||{};json.asset.version='2.0';json.asset.generator=json.asset.generator||'Normalized to glTF 2.0 by loaders.gl';}},{key:"_convertTopLevelObjectsToArrays",value:function _convertTopLevelObjectsToArrays(json){for(var arrayName in GLTF_ARRAYS){this._convertTopLevelObjectToArray(json,arrayName);}}},{key:"_convertTopLevelObjectToArray",value:function _convertTopLevelObjectToArray(json,mapName){var objectMap=json[mapName];if(!objectMap||Array.isArray(objectMap)){return;}json[mapName]=[];for(var id in objectMap){var object=objectMap[id];object.id=object.id||id;var index=json[mapName].length;json[mapName].push(object);this.idToIndexMap[mapName][id]=index;}}},{key:"_convertObjectIdsToArrayIndices",value:function _convertObjectIdsToArrayIndices(json){for(var arrayName in GLTF_ARRAYS){this._convertIdsToIndices(json,arrayName);}if('scene'in json){json.scene=this._convertIdToIndex(json.scene,'scene');}var _iterator32=_createForOfIteratorHelper(json.textures),_step32;try{for(_iterator32.s();!(_step32=_iterator32.n()).done;){var texture=_step32.value;this._convertTextureIds(texture);}}catch(err){_iterator32.e(err);}finally{_iterator32.f();}var _iterator33=_createForOfIteratorHelper(json.meshes),_step33;try{for(_iterator33.s();!(_step33=_iterator33.n()).done;){var _mesh5=_step33.value;this._convertMeshIds(_mesh5);}}catch(err){_iterator33.e(err);}finally{_iterator33.f();}var _iterator34=_createForOfIteratorHelper(json.nodes),_step34;try{for(_iterator34.s();!(_step34=_iterator34.n()).done;){var _node4=_step34.value;this._convertNodeIds(_node4);}}catch(err){_iterator34.e(err);}finally{_iterator34.f();}var _iterator35=_createForOfIteratorHelper(json.scenes),_step35;try{for(_iterator35.s();!(_step35=_iterator35.n()).done;){var _node5=_step35.value;this._convertSceneIds(_node5);}}catch(err){_iterator35.e(err);}finally{_iterator35.f();}}},{key:"_convertTextureIds",value:function _convertTextureIds(texture){if(texture.source){texture.source=this._convertIdToIndex(texture.source,'image');}}},{key:"_convertMeshIds",value:function _convertMeshIds(mesh){var _iterator36=_createForOfIteratorHelper(mesh.primitives),_step36;try{for(_iterator36.s();!(_step36=_iterator36.n()).done;){var _primitive3=_step36.value;var attributes=_primitive3.attributes,indices=_primitive3.indices,material=_primitive3.material;for(var attributeName in attributes){attributes[attributeName]=this._convertIdToIndex(attributes[attributeName],'accessor');}if(indices){_primitive3.indices=this._convertIdToIndex(indices,'accessor');}if(material){_primitive3.material=this._convertIdToIndex(material,'material');}}}catch(err){_iterator36.e(err);}finally{_iterator36.f();}}},{key:"_convertNodeIds",value:function _convertNodeIds(node){var _this114=this;if(node.children){node.children=node.children.map(function(child){return _this114._convertIdToIndex(child,'node');});}if(node.meshes){node.meshes=node.meshes.map(function(mesh){return _this114._convertIdToIndex(mesh,'mesh');});}}},{key:"_convertSceneIds",value:function _convertSceneIds(scene){var _this115=this;if(scene.nodes){scene.nodes=scene.nodes.map(function(node){return _this115._convertIdToIndex(node,'node');});}}},{key:"_convertIdsToIndices",value:function _convertIdsToIndices(json,topLevelArrayName){if(!json[topLevelArrayName]){console.warn("gltf v1: json doesn't contain attribute ".concat(topLevelArrayName));json[topLevelArrayName]=[];}var _iterator37=_createForOfIteratorHelper(json[topLevelArrayName]),_step37;try{for(_iterator37.s();!(_step37=_iterator37.n()).done;){var object=_step37.value;for(var key in object){var id=object[key];var index=this._convertIdToIndex(id,key);object[key]=index;}}}catch(err){_iterator37.e(err);}finally{_iterator37.f();}}},{key:"_convertIdToIndex",value:function _convertIdToIndex(id,key){var arrayName=GLTF_KEYS[key];if(arrayName in this.idToIndexMap){var index=this.idToIndexMap[arrayName][id];if(!Number.isFinite(index)){throw new Error("gltf v1: failed to resolve ".concat(key," with id ").concat(id));}return index;}return id;}},{key:"_updateObjects",value:function _updateObjects(json){var _iterator38=_createForOfIteratorHelper(this.json.buffers),_step38;try{for(_iterator38.s();!(_step38=_iterator38.n()).done;){var buffer=_step38.value;delete buffer.type;}}catch(err){_iterator38.e(err);}finally{_iterator38.f();}}},{key:"_updateMaterial",value:function _updateMaterial(json){var _iterator39=_createForOfIteratorHelper(json.materials),_step39;try{var _loop6=function _loop6(){var material=_step39.value;material.pbrMetallicRoughness={baseColorFactor:[1,1,1,1],metallicFactor:1,roughnessFactor:1};var textureId=((_material$values=material.values)===null||_material$values===void 0?void 0:_material$values.tex)||((_material$values2=material.values)===null||_material$values2===void 0?void 0:_material$values2.texture2d_0);var textureIndex=json.textures.findIndex(function(texture){return texture.id===textureId;});if(textureIndex!==-1){material.pbrMetallicRoughness.baseColorTexture={index:textureIndex};}};for(_iterator39.s();!(_step39=_iterator39.n()).done;){var _material$values,_material$values2;_loop6();}}catch(err){_iterator39.e(err);}finally{_iterator39.f();}}}]);return GLTFV1Normalizer;}();function normalizeGLTFV1(gltf){var options=arguments.length>1&&arguments[1]!==undefined?arguments[1]:{};return new GLTFV1Normalizer().normalize(gltf,options);}var COMPONENTS={SCALAR:1,VEC2:2,VEC3:3,VEC4:4,MAT2:4,MAT3:9,MAT4:16};var BYTES={5120:1,5121:1,5122:2,5123:2,5125:4,5126:4};var GL_SAMPLER={TEXTURE_MAG_FILTER:0x2800,TEXTURE_MIN_FILTER:0x2801,TEXTURE_WRAP_S:0x2802,TEXTURE_WRAP_T:0x2803,REPEAT:0x2901,LINEAR:0x2601,NEAREST_MIPMAP_LINEAR:0x2702};var SAMPLER_PARAMETER_GLTF_TO_GL={magFilter:GL_SAMPLER.TEXTURE_MAG_FILTER,minFilter:GL_SAMPLER.TEXTURE_MIN_FILTER,wrapS:GL_SAMPLER.TEXTURE_WRAP_S,wrapT:GL_SAMPLER.TEXTURE_WRAP_T};var DEFAULT_SAMPLER=(_DEFAULT_SAMPLER={},_defineProperty2(_DEFAULT_SAMPLER,GL_SAMPLER.TEXTURE_MAG_FILTER,GL_SAMPLER.LINEAR),_defineProperty2(_DEFAULT_SAMPLER,GL_SAMPLER.TEXTURE_MIN_FILTER,GL_SAMPLER.NEAREST_MIPMAP_LINEAR),_defineProperty2(_DEFAULT_SAMPLER,GL_SAMPLER.TEXTURE_WRAP_S,GL_SAMPLER.REPEAT),_defineProperty2(_DEFAULT_SAMPLER,GL_SAMPLER.TEXTURE_WRAP_T,GL_SAMPLER.REPEAT),_DEFAULT_SAMPLER);function getBytesFromComponentType(componentType){return BYTES[componentType];}function getSizeFromAccessorType(type){return COMPONENTS[type];}var GLTFPostProcessor=/*#__PURE__*/function(){function GLTFPostProcessor(){_classCallCheck(this,GLTFPostProcessor);_defineProperty(this,"baseUri",'');_defineProperty(this,"json",{});_defineProperty(this,"buffers",[]);_defineProperty(this,"images",[]);}_createClass(GLTFPostProcessor,[{key:"postProcess",value:function postProcess(gltf){var options=arguments.length>1&&arguments[1]!==undefined?arguments[1]:{};var json=gltf.json,_gltf$buffers=gltf.buffers,buffers=_gltf$buffers===void 0?[]:_gltf$buffers,_gltf$images=gltf.images,images=_gltf$images===void 0?[]:_gltf$images,_gltf$baseUri=gltf.baseUri,baseUri=_gltf$baseUri===void 0?'':_gltf$baseUri;assert$1(json);this.baseUri=baseUri;this.json=json;this.buffers=buffers;this.images=images;this._resolveTree(this.json,options);return this.json;}},{key:"_resolveTree",value:function _resolveTree(json){var _this116=this;var options=arguments.length>1&&arguments[1]!==undefined?arguments[1]:{};if(json.bufferViews){json.bufferViews=json.bufferViews.map(function(bufView,i){return _this116._resolveBufferView(bufView,i);});}if(json.images){json.images=json.images.map(function(image,i){return _this116._resolveImage(image,i);});}if(json.samplers){json.samplers=json.samplers.map(function(sampler,i){return _this116._resolveSampler(sampler,i);});}if(json.textures){json.textures=json.textures.map(function(texture,i){return _this116._resolveTexture(texture,i);});}if(json.accessors){json.accessors=json.accessors.map(function(accessor,i){return _this116._resolveAccessor(accessor,i);});}if(json.materials){json.materials=json.materials.map(function(material,i){return _this116._resolveMaterial(material,i);});}if(json.meshes){json.meshes=json.meshes.map(function(mesh,i){return _this116._resolveMesh(mesh,i);});}if(json.nodes){json.nodes=json.nodes.map(function(node,i){return _this116._resolveNode(node,i);});}if(json.skins){json.skins=json.skins.map(function(skin,i){return _this116._resolveSkin(skin,i);});}if(json.scenes){json.scenes=json.scenes.map(function(scene,i){return _this116._resolveScene(scene,i);});}if(json.scene!==undefined){json.scene=json.scenes[this.json.scene];}}},{key:"getScene",value:function getScene(index){return this._get('scenes',index);}},{key:"getNode",value:function getNode(index){return this._get('nodes',index);}},{key:"getSkin",value:function getSkin(index){return this._get('skins',index);}},{key:"getMesh",value:function getMesh(index){return this._get('meshes',index);}},{key:"getMaterial",value:function getMaterial(index){return this._get('materials',index);}},{key:"getAccessor",value:function getAccessor(index){return this._get('accessors',index);}},{key:"getCamera",value:function getCamera(index){return null;}},{key:"getTexture",value:function getTexture(index){return this._get('textures',index);}},{key:"getSampler",value:function getSampler(index){return this._get('samplers',index);}},{key:"getImage",value:function getImage(index){return this._get('images',index);}},{key:"getBufferView",value:function getBufferView(index){return this._get('bufferViews',index);}},{key:"getBuffer",value:function getBuffer(index){return this._get('buffers',index);}},{key:"_get",value:function _get(array,index){if(_typeof(index)==='object'){return index;}var object=this.json[array]&&this.json[array][index];if(!object){console.warn("glTF file error: Could not find ".concat(array,"[").concat(index,"]"));}return object;}},{key:"_resolveScene",value:function _resolveScene(scene,index){var _this117=this;scene.id=scene.id||"scene-".concat(index);scene.nodes=(scene.nodes||[]).map(function(node){return _this117.getNode(node);});return scene;}},{key:"_resolveNode",value:function _resolveNode(node,index){var _this118=this;node.id=node.id||"node-".concat(index);if(node.children){node.children=node.children.map(function(child){return _this118.getNode(child);});}if(node.mesh!==undefined){node.mesh=this.getMesh(node.mesh);}else if(node.meshes!==undefined&&node.meshes.length){node.mesh=node.meshes.reduce(function(accum,meshIndex){var mesh=_this118.getMesh(meshIndex);accum.id=mesh.id;accum.primitives=accum.primitives.concat(mesh.primitives);return accum;},{primitives:[]});}if(node.camera!==undefined){node.camera=this.getCamera(node.camera);}if(node.skin!==undefined){node.skin=this.getSkin(node.skin);}return node;}},{key:"_resolveSkin",value:function _resolveSkin(skin,index){skin.id=skin.id||"skin-".concat(index);skin.inverseBindMatrices=this.getAccessor(skin.inverseBindMatrices);return skin;}},{key:"_resolveMesh",value:function _resolveMesh(mesh,index){var _this119=this;mesh.id=mesh.id||"mesh-".concat(index);if(mesh.primitives){mesh.primitives=mesh.primitives.map(function(primitive){primitive=_objectSpread({},primitive);var attributes=primitive.attributes;primitive.attributes={};for(var attribute in attributes){primitive.attributes[attribute]=_this119.getAccessor(attributes[attribute]);}if(primitive.indices!==undefined){primitive.indices=_this119.getAccessor(primitive.indices);}if(primitive.material!==undefined){primitive.material=_this119.getMaterial(primitive.material);}return primitive;});}return mesh;}},{key:"_resolveMaterial",value:function _resolveMaterial(material,index){material.id=material.id||"material-".concat(index);if(material.normalTexture){material.normalTexture=_objectSpread({},material.normalTexture);material.normalTexture.texture=this.getTexture(material.normalTexture.index);}if(material.occlusionTexture){material.occlustionTexture=_objectSpread({},material.occlustionTexture);material.occlusionTexture.texture=this.getTexture(material.occlusionTexture.index);}if(material.emissiveTexture){material.emmisiveTexture=_objectSpread({},material.emmisiveTexture);material.emissiveTexture.texture=this.getTexture(material.emissiveTexture.index);}if(!material.emissiveFactor){material.emissiveFactor=material.emmisiveTexture?[1,1,1]:[0,0,0];}if(material.pbrMetallicRoughness){material.pbrMetallicRoughness=_objectSpread({},material.pbrMetallicRoughness);var mr=material.pbrMetallicRoughness;if(mr.baseColorTexture){mr.baseColorTexture=_objectSpread({},mr.baseColorTexture);mr.baseColorTexture.texture=this.getTexture(mr.baseColorTexture.index);}if(mr.metallicRoughnessTexture){mr.metallicRoughnessTexture=_objectSpread({},mr.metallicRoughnessTexture);mr.metallicRoughnessTexture.texture=this.getTexture(mr.metallicRoughnessTexture.index);}}return material;}},{key:"_resolveAccessor",value:function _resolveAccessor(accessor,index){accessor.id=accessor.id||"accessor-".concat(index);if(accessor.bufferView!==undefined){accessor.bufferView=this.getBufferView(accessor.bufferView);}accessor.bytesPerComponent=getBytesFromComponentType(accessor.componentType);accessor.components=getSizeFromAccessorType(accessor.type);accessor.bytesPerElement=accessor.bytesPerComponent*accessor.components;if(accessor.bufferView){var buffer=accessor.bufferView.buffer;var _getAccessorArrayType2=getAccessorArrayTypeAndLength(accessor,accessor.bufferView),ArrayType=_getAccessorArrayType2.ArrayType,byteLength=_getAccessorArrayType2.byteLength;var byteOffset=(accessor.bufferView.byteOffset||0)+(accessor.byteOffset||0)+buffer.byteOffset;var cutBuffer=buffer.arrayBuffer.slice(byteOffset,byteOffset+byteLength);if(accessor.bufferView.byteStride){cutBuffer=this._getValueFromInterleavedBuffer(buffer,byteOffset,accessor.bufferView.byteStride,accessor.bytesPerElement,accessor.count);}accessor.value=new ArrayType(cutBuffer);}return accessor;}},{key:"_getValueFromInterleavedBuffer",value:function _getValueFromInterleavedBuffer(buffer,byteOffset,byteStride,bytesPerElement,count){var result=new Uint8Array(count*bytesPerElement);for(var _i475=0;_i4751&&arguments[1]!==undefined?arguments[1]:0;return"".concat(String.fromCharCode(dataView.getUint8(byteOffset+0))).concat(String.fromCharCode(dataView.getUint8(byteOffset+1))).concat(String.fromCharCode(dataView.getUint8(byteOffset+2))).concat(String.fromCharCode(dataView.getUint8(byteOffset+3)));}function isGLB(arrayBuffer){var byteOffset=arguments.length>1&&arguments[1]!==undefined?arguments[1]:0;var options=arguments.length>2&&arguments[2]!==undefined?arguments[2]:{};var dataView=new DataView(arrayBuffer);var _options$magic=options.magic,magic=_options$magic===void 0?MAGIC_glTF:_options$magic;var magic1=dataView.getUint32(byteOffset,false);return magic1===magic||magic1===MAGIC_glTF;}function parseGLBSync(glb,arrayBuffer){var byteOffset=arguments.length>2&&arguments[2]!==undefined?arguments[2]:0;var options=arguments.length>3&&arguments[3]!==undefined?arguments[3]:{};var dataView=new DataView(arrayBuffer);var type=getMagicString(dataView,byteOffset+0);var version=dataView.getUint32(byteOffset+4,LE);var byteLength=dataView.getUint32(byteOffset+8,LE);Object.assign(glb,{header:{byteOffset:byteOffset,byteLength:byteLength,hasBinChunk:false},type:type,version:version,json:{},binChunks:[]});byteOffset+=GLB_FILE_HEADER_SIZE;switch(glb.version){case 1:return parseGLBV1(glb,dataView,byteOffset);case 2:return parseGLBV2(glb,dataView,byteOffset,options={});default:throw new Error("Invalid GLB version ".concat(glb.version,". Only supports v1 and v2."));}}function parseGLBV1(glb,dataView,byteOffset){assert$5(glb.header.byteLength>GLB_FILE_HEADER_SIZE+GLB_CHUNK_HEADER_SIZE);var contentLength=dataView.getUint32(byteOffset+0,LE);var contentFormat=dataView.getUint32(byteOffset+4,LE);byteOffset+=GLB_CHUNK_HEADER_SIZE;assert$5(contentFormat===GLB_V1_CONTENT_FORMAT_JSON);parseJSONChunk(glb,dataView,byteOffset,contentLength);byteOffset+=contentLength;byteOffset+=parseBINChunk(glb,dataView,byteOffset,glb.header.byteLength);return byteOffset;}function parseGLBV2(glb,dataView,byteOffset,options){assert$5(glb.header.byteLength>GLB_FILE_HEADER_SIZE+GLB_CHUNK_HEADER_SIZE);parseGLBChunksSync(glb,dataView,byteOffset,options);return byteOffset+glb.header.byteLength;}function parseGLBChunksSync(glb,dataView,byteOffset,options){while(byteOffset+8<=glb.header.byteLength){var chunkLength=dataView.getUint32(byteOffset+0,LE);var chunkFormat=dataView.getUint32(byteOffset+4,LE);byteOffset+=GLB_CHUNK_HEADER_SIZE;switch(chunkFormat){case GLB_CHUNK_TYPE_JSON:parseJSONChunk(glb,dataView,byteOffset,chunkLength);break;case GLB_CHUNK_TYPE_BIN:parseBINChunk(glb,dataView,byteOffset,chunkLength);break;case GLB_CHUNK_TYPE_JSON_XVIZ_DEPRECATED:if(!options.strict){parseJSONChunk(glb,dataView,byteOffset,chunkLength);}break;case GLB_CHUNK_TYPE_BIX_XVIZ_DEPRECATED:if(!options.strict){parseBINChunk(glb,dataView,byteOffset,chunkLength);}break;}byteOffset+=padToNBytes(chunkLength,4);}return byteOffset;}function parseJSONChunk(glb,dataView,byteOffset,chunkLength){var jsonChunk=new Uint8Array(dataView.buffer,byteOffset,chunkLength);var textDecoder=new TextDecoder('utf8');var jsonText=textDecoder.decode(jsonChunk);glb.json=JSON.parse(jsonText);return padToNBytes(chunkLength,4);}function parseBINChunk(glb,dataView,byteOffset,chunkLength){glb.header.hasBinChunk=true;glb.binChunks.push({byteOffset:byteOffset,byteLength:chunkLength,arrayBuffer:dataView.buffer});return padToNBytes(chunkLength,4);}function parseGLTF$1(_x86,_x87){return _parseGLTF$.apply(this,arguments);}function _parseGLTF$(){_parseGLTF$=_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee62(gltf,arrayBufferOrString){var byteOffset,options,context,_options$gltf,_options$gltf2,_options$gltf3,_options$gltf4,promises,_promise,promise,_args60=arguments;return _regeneratorRuntime().wrap(function _callee62$(_context66){while(1){switch(_context66.prev=_context66.next){case 0:byteOffset=_args60.length>2&&_args60[2]!==undefined?_args60[2]:0;options=_args60.length>3?_args60[3]:undefined;context=_args60.length>4?_args60[4]:undefined;parseGLTFContainerSync(gltf,arrayBufferOrString,byteOffset,options);normalizeGLTFV1(gltf,{normalize:options===null||options===void 0?void 0:(_options$gltf=options.gltf)===null||_options$gltf===void 0?void 0:_options$gltf.normalize});preprocessExtensions(gltf,options,context);promises=[];if(!(options!==null&&options!==void 0&&(_options$gltf2=options.gltf)!==null&&_options$gltf2!==void 0&&_options$gltf2.loadBuffers&&gltf.json.buffers)){_context66.next=10;break;}_context66.next=10;return loadBuffers(gltf,options,context);case 10:if(options!==null&&options!==void 0&&(_options$gltf3=options.gltf)!==null&&_options$gltf3!==void 0&&_options$gltf3.loadImages){_promise=loadImages(gltf,options,context);promises.push(_promise);}promise=decodeExtensions(gltf,options,context);promises.push(promise);_context66.next=15;return Promise.all(promises);case 15:return _context66.abrupt("return",options!==null&&options!==void 0&&(_options$gltf4=options.gltf)!==null&&_options$gltf4!==void 0&&_options$gltf4.postProcess?postProcessGLTF(gltf,options):gltf);case 16:case"end":return _context66.stop();}}},_callee62);}));return _parseGLTF$.apply(this,arguments);}function parseGLTFContainerSync(gltf,data,byteOffset,options){if(options.uri){gltf.baseUri=options.uri;}if(data instanceof ArrayBuffer&&!isGLB(data,byteOffset,options)){var textDecoder=new TextDecoder();data=textDecoder.decode(data);}if(typeof data==='string'){gltf.json=parseJSON(data);}else if(data instanceof ArrayBuffer){var glb={};byteOffset=parseGLBSync(glb,data,byteOffset,options.glb);assert$1(glb.type==='glTF',"Invalid GLB magic string ".concat(glb.type));gltf._glb=glb;gltf.json=glb.json;}else{assert$1(false,'GLTF: must be ArrayBuffer or string');}var buffers=gltf.json.buffers||[];gltf.buffers=new Array(buffers.length).fill(null);if(gltf._glb&&gltf._glb.header.hasBinChunk){var binChunks=gltf._glb.binChunks;gltf.buffers[0]={arrayBuffer:binChunks[0].arrayBuffer,byteOffset:binChunks[0].byteOffset,byteLength:binChunks[0].byteLength};}var images=gltf.json.images||[];gltf.images=new Array(images.length).fill({});}function loadBuffers(_x88,_x89,_x90){return _loadBuffers.apply(this,arguments);}function _loadBuffers(){_loadBuffers=_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee63(gltf,options,context){var buffers,_i570,buffer,_context$fetch,_response$arrayBuffer,_fetch,uri,response,arrayBuffer;return _regeneratorRuntime().wrap(function _callee63$(_context67){while(1){switch(_context67.prev=_context67.next){case 0:buffers=gltf.json.buffers||[];_i570=0;case 2:if(!(_i5701&&_args64[1]!==undefined?_args64[1]:{};context=_args64.length>2?_args64[2]:undefined;options=_objectSpread(_objectSpread({},GLTFLoader.options),options);options.gltf=_objectSpread(_objectSpread({},GLTFLoader.options.gltf),options.gltf);_options2=options,_options2$byteOffset=_options2.byteOffset,byteOffset=_options2$byteOffset===void 0?0:_options2$byteOffset;gltf={};_context70.next=8;return parseGLTF$1(gltf,arrayBuffer,byteOffset,options,context);case 8:return _context70.abrupt("return",_context70.sent);case 9:case"end":return _context70.stop();}}},_callee66);}));return _parse$3.apply(this,arguments);}var GLTFSceneModelLoader=/*#__PURE__*/function(){function GLTFSceneModelLoader(cfg){_classCallCheck(this,GLTFSceneModelLoader);}_createClass(GLTFSceneModelLoader,[{key:"load",value:function load(plugin,src,metaModelJSON,options,sceneModel,ok,error){options=options||{};loadGLTF(plugin,src,metaModelJSON,options,sceneModel,function(){core.scheduleTask(function(){sceneModel.scene.fire("modelLoaded",sceneModel.id);// FIXME: Assumes listeners know order of these two events sceneModel.fire("loaded",true,false);});if(ok){ok();}},function(msg){plugin.error(msg);if(error){error(msg);}sceneModel.fire("error",msg);});}},{key:"parse",value:function parse(plugin,gltf,metaModelJSON,options,sceneModel,ok,error){options=options||{};parseGLTF(plugin,"",gltf,metaModelJSON,options,sceneModel,function(){sceneModel.scene.fire("modelLoaded",sceneModel.id);// FIXME: Assumes listeners know order of these two events -sceneModel.fire("loaded",true,false);if(ok){ok();}});}}]);return GLTFSceneModelLoader;}();function getMetaModelCorrections(metaModelJSON){var eachRootStats={};var eachChildRoot={};var metaObjects=metaModelJSON.metaObjects||[];var metaObjectsMap={};for(var _i469=0,len=metaObjects.length;_i4690){for(var _i476=0;_i4760){for(var _i483=0;_i4830){if(nodeName===undefined||nodeName===null){ctx.log("Warning: 'name' properties not found on glTF scene nodes - will randomly-generate object IDs in XKT");}var entityId=nodeName;// Fall back on generated ID when `name` not found on glTF scene node(s) // if (!!entityId && sceneModel.entities[entityId]) { // ctx.log(`Warning: Two or more glTF nodes found with same 'name' attribute: '${nodeName} - will randomly-generating an object ID in XKT`); @@ -23756,7 +23769,7 @@ sceneModel.createEntity({id:entityId,meshIds:deferredMeshIds});deferredMeshIds.l * @returns {Entity} Entity representing the model, which will have {@link Entity#isModel} set ````true```` and will be registered by {@link Entity#id} in {@link Scene#models} */,set:function set(value){this._objectDefaults=value||IFCObjectDefaults;}},{key:"load",value:function load(){var _this121=this;var params=arguments.length>0&&arguments[0]!==undefined?arguments[0]:{};if(params.id&&this.viewer.scene.components[params.id]){this.error("Component with this ID already exists in viewer: "+params.id+" - will autogenerate this ID");delete params.id;}var sceneModel=new SceneModel(this.viewer.scene,utils.apply(params,{isModel:true,dtxEnabled:params.dtxEnabled}));var modelId=sceneModel.id;// In case ID was auto-generated if(!params.src&&!params.gltf){this.error("load() param expected: src or gltf");return sceneModel;// Return new empty model -}if(params.metaModelSrc||params.metaModelJSON){var objectDefaults=params.objectDefaults||this._objectDefaults||IFCObjectDefaults;var processMetaModelJSON=function processMetaModelJSON(metaModelJSON){_this121.viewer.metaScene.createMetaModel(modelId,metaModelJSON,{includeTypes:params.includeTypes,excludeTypes:params.excludeTypes});_this121.viewer.scene.canvas.spinner.processes--;var includeTypes;if(params.includeTypes){includeTypes={};for(var _i478=0,len=params.includeTypes.length;_i478=boundary[0]*scale&&s<=(boundary[0]+boundary[2])*scale&&t>=boundary[1]*scale&&t<=(boundary[1]+boundary[3])*scale){return i;}}}return-1;};this.setAreaHighlighted=function(areaId,highlighted){var area=areas[areaId];if(!area){throw"Area not found: "+areaId;}area.highlighted=!!highlighted;paint();};this.getAreaDir=function(areaId){var area=areas[areaId];if(!area){throw"Unknown area: "+areaId;}return area.dir;};this.getAreaUp=function(areaId){var area=areas[areaId];if(!area){throw"Unknown area: "+areaId;}return area.up;};this.getImage=function(){return this._textureCanvas;};this.destroy=function(){if(this._textureCanvas){this._textureCanvas.parentNode.removeChild(this._textureCanvas);this._textureCanvas=null;}};}var tempVec3a$4=math.vec3();var tempVec3b$1=math.vec3();math.mat4();/** * {@link Viewer} plugin that lets us look at the entire {@link Scene} from along a chosen axis or diagonal. * @@ -24792,7 +24805,7 @@ for(var _id5 in this._controls){if(this._controls.hasOwnProperty(_id5)){this._co * These are created and destroyed automatically as models are loaded and destroyed. * * @type {{String: {String:Storey}}} - */_this131.modelStoreys={};_this131._fitStoreyMaps=!!cfg.fitStoreyMaps;_this131._onModelLoaded=_this131.viewer.scene.on("modelLoaded",function(modelId){_this131._registerModelStoreys(modelId);_this131.fire("storeys",_this131.storeys);});return _this131;}_createClass(StoreyViewsPlugin,[{key:"_registerModelStoreys",value:function _registerModelStoreys(modelId){var _this132=this;var viewer=this.viewer;var scene=viewer.scene;var metaScene=viewer.metaScene;var metaModel=metaScene.metaModels[modelId];var model=scene.models[modelId];if(!metaModel||!metaModel.rootMetaObjects){return;}var rootMetaObjects=metaModel.rootMetaObjects;for(var j=0,lenj=rootMetaObjects.length;j0.5?childObjectIds.length:0;var storey=new Storey(this,model.aabb,storeyAABB,modelId,storeyId,numObjects);storey._onModelDestroyed=model.once("destroyed",function(){_this132._deregisterModelStoreys(modelId);_this132.fire("storeys",_this132.storeys);});this.storeys[storeyId]=storey;if(!this.modelStoreys[modelId]){this.modelStoreys[modelId]={};}this.modelStoreys[modelId][storeyId]=storey;}}}},{key:"_deregisterModelStoreys",value:function _deregisterModelStoreys(modelId){var storeys=this.modelStoreys[modelId];if(storeys){var scene=this.viewer.scene;for(var storyObjectId in storeys){if(storeys.hasOwnProperty(storyObjectId)){var storey=storeys[storyObjectId];var model=scene.models[storey.modelId];if(model){model.off(storey._onModelDestroyed);}delete this.storeys[storyObjectId];}}delete this.modelStoreys[modelId];}}/** + */_this131.modelStoreys={};_this131._fitStoreyMaps=!!cfg.fitStoreyMaps;_this131._onModelLoaded=_this131.viewer.scene.on("modelLoaded",function(modelId){_this131._registerModelStoreys(modelId);_this131.fire("storeys",_this131.storeys);});return _this131;}_createClass(StoreyViewsPlugin,[{key:"_registerModelStoreys",value:function _registerModelStoreys(modelId){var _this132=this;var viewer=this.viewer;var scene=viewer.scene;var metaScene=viewer.metaScene;var metaModel=metaScene.metaModels[modelId];var model=scene.models[modelId];if(!metaModel||!metaModel.rootMetaObjects){return;}var rootMetaObjects=metaModel.rootMetaObjects;for(var j=0,lenj=rootMetaObjects.length;j0.5?childObjectIds.length:0;var storey=new Storey(this,model.aabb,storeyAABB,modelId,storeyId,numObjects);storey._onModelDestroyed=model.once("destroyed",function(){_this132._deregisterModelStoreys(modelId);_this132.fire("storeys",_this132.storeys);});this.storeys[storeyId]=storey;if(!this.modelStoreys[modelId]){this.modelStoreys[modelId]={};}this.modelStoreys[modelId][storeyId]=storey;}}}},{key:"_deregisterModelStoreys",value:function _deregisterModelStoreys(modelId){var storeys=this.modelStoreys[modelId];if(storeys){var scene=this.viewer.scene;for(var storyObjectId in storeys){if(storeys.hasOwnProperty(storyObjectId)){var storey=storeys[storyObjectId];var model=scene.models[storey.modelId];if(model){model.off(storey._onModelDestroyed);}delete this.storeys[storyObjectId];}}delete this.modelStoreys[modelId];}}/** * When true, the elements of each floor map image will be proportionally resized to encompass the entire image. This leads to varying scales among different * floor map images. If false, each floor map image will display the model's extents, ensuring a consistent scale across all images. * @returns {*|boolean} @@ -25162,7 +25175,7 @@ var sectionPlane=new SectionPlane(this.viewer.scene,{id:params.id,pos:params.pos * @param {String} id ID of the {@link SectionPlane}. */},{key:"destroySectionPlane",value:function destroySectionPlane(id){var sectionPlane=this.viewer.scene.sectionPlanes[id];if(!sectionPlane){this.error("SectionPlane not found: "+id);return;}this._sectionPlaneDestroyed(sectionPlane);sectionPlane.destroy();if(id===this._shownControlId){this._shownControlId=null;}}},{key:"_sectionPlaneDestroyed",value:function _sectionPlaneDestroyed(sectionPlane){if(this._overview){this._overview.removeSectionPlane(sectionPlane);}var control=this._controls[sectionPlane.id];if(!control){return;}control.setVisible(false);control._setSectionPlane(null);delete this._controls[sectionPlane.id];this._freeControls.push(control);}/** * Destroys all {@link SectionPlane}s created by this FaceAlignedSectionPlanesPlugin. - */},{key:"clear",value:function clear(){var ids=Object.keys(this._sectionPlanes);for(var _i485=0,len=ids.length;_i485>5&0x1F)/31;b=(packedColor>>10&0x1F)/31;}else{r=defaultR;g=defaultG;b=defaultB;}if(splitMeshes&&r!==lastR||g!==lastG||b!==lastB){if(lastR!==null){newMesh=true;}lastR=r;lastG=g;lastB=b;}}for(var _i486=1;_i486<=3;_i486++){var vertexstart=start+_i486*12;positions.push(reader.getFloat32(vertexstart,true));positions.push(reader.getFloat32(vertexstart+4,true));positions.push(reader.getFloat32(vertexstart+8,true));normals.push(normalX,normalY,normalZ);if(hasColors){colors.push(r,g,b,1);// TODO: handle alpha +var dataOffset=84;var faceLength=12*4+2;var positions=[];var normals=[];var splitMeshes=options.splitMeshes;for(var face=0;face>5&0x1F)/31;b=(packedColor>>10&0x1F)/31;}else{r=defaultR;g=defaultG;b=defaultB;}if(splitMeshes&&r!==lastR||g!==lastG||b!==lastB){if(lastR!==null){newMesh=true;}lastR=r;lastG=g;lastB=b;}}for(var _i493=1;_i493<=3;_i493++){var vertexstart=start+_i493*12;positions.push(reader.getFloat32(vertexstart,true));positions.push(reader.getFloat32(vertexstart+4,true));positions.push(reader.getFloat32(vertexstart+8,true));normals.push(normalX,normalY,normalZ);if(hasColors){colors.push(r,g,b,1);// TODO: handle alpha }}if(splitMeshes&&newMesh){addMesh(modelNode,positions,normals,colors,material,options);positions=[];normals=[];colors=colors?[]:null;newMesh=false;}}if(positions.length>0){addMesh(modelNode,positions,normals,colors,material,options);}}function parseASCII(plugin,data,modelNode,options){var faceRegex=/facet([\s\S]*?)endfacet/g;var faceCounter=0;var floatRegex=/[\s]+([+-]?(?:\d+.\d+|\d+.|\d+|.\d+)(?:[eE][+-]?\d+)?)/.source;var vertexRegex=new RegExp('vertex'+floatRegex+floatRegex+floatRegex,'g');var normalRegex=new RegExp('normal'+floatRegex+floatRegex+floatRegex,'g');var positions=[];var normals=[];var colors=null;var normalx;var normaly;var normalz;var result;var verticesPerFace;var normalsPerFace;var text;while((result=faceRegex.exec(data))!==null){verticesPerFace=0;normalsPerFace=0;text=result[0];while((result=normalRegex.exec(text))!==null){normalx=parseFloat(result[1]);normaly=parseFloat(result[2]);normalz=parseFloat(result[3]);normalsPerFace++;}while((result=vertexRegex.exec(text))!==null){positions.push(parseFloat(result[1]),parseFloat(result[2]),parseFloat(result[3]));normals.push(normalx,normaly,normalz);verticesPerFace++;}if(normalsPerFace!==1){plugin.error("Error in normal of face "+faceCounter);}if(verticesPerFace!==3){plugin.error("Error in positions of face "+faceCounter);}faceCounter++;}var material=new MetallicMaterial(modelNode,{roughness:0.5});// var material = new PhongMaterial(modelNode, { // diffuse: [0.4, 0.4, 0.4], // reflectivity: 1, // specular: [0.5, 0.5, 1.0] // }); -addMesh(modelNode,positions,normals,colors,material,options);}function addMesh(modelNode,positions,normals,colors,material,options){var indices=new Int32Array(positions.length/3);for(var ni=0,len=indices.length;ni0?normals:null;colors=colors&&colors.length>0?colors:null;if(options.smoothNormals){math.faceToVertexNormals(positions,normals,options);}var origin=tempVec3a$1;worldToRTCPositions(positions,positions,origin);var geometry=new ReadableGeometry(modelNode,{primitive:"triangles",positions:positions,normals:normals,colors:colors,indices:indices});var mesh=new Mesh(modelNode,{origin:origin[0]!==0||origin[1]!==0||origin[2]!==0?origin:null,geometry:geometry,material:material,edges:options.edges});modelNode.addChild(mesh);}function ensureString(buffer){if(typeof buffer!=='string'){return decodeText(new Uint8Array(buffer));}return buffer;}function ensureBinary(buffer){if(typeof buffer==='string'){var arrayBuffer=new Uint8Array(buffer.length);for(var _i487=0;_i4870?normals:null;colors=colors&&colors.length>0?colors:null;if(options.smoothNormals){math.faceToVertexNormals(positions,normals,options);}var origin=tempVec3a$1;worldToRTCPositions(positions,positions,origin);var geometry=new ReadableGeometry(modelNode,{primitive:"triangles",positions:positions,normals:normals,colors:colors,indices:indices});var mesh=new Mesh(modelNode,{origin:origin[0]!==0||origin[1]!==0||origin[2]!==0?origin:null,geometry:geometry,material:material,edges:options.edges});modelNode.addChild(mesh);}function ensureString(buffer){if(typeof buffer!=='string'){return decodeText(new Uint8Array(buffer));}return buffer;}function ensureBinary(buffer){if(typeof buffer==='string'){var arrayBuffer=new Uint8Array(buffer.length);for(var _i494=0;_i494STL files. * @@ -25843,12 +25856,12 @@ addMesh(modelNode,positions,normals,colors,material,options);}function addMesh(m */_this141.errors=[];/** * True if errors were found generating this TreeView. * @type {boolean} - */_this141.valid=true;var containerElement=cfg.containerElement||document.getElementById(cfg.containerElementId);if(!(containerElement instanceof HTMLElement)){_this141.error("Mandatory config expected: valid containerElementId or containerElement");return _possibleConstructorReturn(_this141);}for(var _i489=0;;_i489++){if(!treeViews[_i489]){treeViews[_i489]=_assertThisInitialized(_this141);_this141._index=_i489;_this141._id="tree-".concat(_i489);break;}}_this141._containerElement=containerElement;_this141._metaModels={};_this141._autoAddModels=cfg.autoAddModels!==false;_this141._autoExpandDepth=cfg.autoExpandDepth||0;_this141._sortNodes=cfg.sortNodes!==false;_this141._pruneEmptyNodes=cfg.pruneEmptyNodes!==false;_this141._viewer=viewer;_this141._rootElement=null;_this141._muteSceneEvents=false;_this141._muteTreeEvents=false;_this141._rootNodes=[];_this141._objectNodes={};// Object ID -> Node + */_this141.valid=true;var containerElement=cfg.containerElement||document.getElementById(cfg.containerElementId);if(!(containerElement instanceof HTMLElement)){_this141.error("Mandatory config expected: valid containerElementId or containerElement");return _possibleConstructorReturn(_this141);}for(var _i496=0;;_i496++){if(!treeViews[_i496]){treeViews[_i496]=_assertThisInitialized(_this141);_this141._index=_i496;_this141._id="tree-".concat(_i496);break;}}_this141._containerElement=containerElement;_this141._metaModels={};_this141._autoAddModels=cfg.autoAddModels!==false;_this141._autoExpandDepth=cfg.autoExpandDepth||0;_this141._sortNodes=cfg.sortNodes!==false;_this141._pruneEmptyNodes=cfg.pruneEmptyNodes!==false;_this141._viewer=viewer;_this141._rootElement=null;_this141._muteSceneEvents=false;_this141._muteTreeEvents=false;_this141._rootNodes=[];_this141._objectNodes={};// Object ID -> Node _this141._nodeNodes={};// Node ID -> Node _this141._rootName=cfg.rootName;_this141._sortNodes=cfg.sortNodes;_this141._pruneEmptyNodes=cfg.pruneEmptyNodes;_this141._showListItemElementId=null;_this141._containerElement.oncontextmenu=function(e){e.preventDefault();};_this141._onObjectVisibility=_this141._viewer.scene.on("objectVisibility",function(entity){if(_this141._muteSceneEvents){return;}var objectId=entity.id;var node=_this141._objectNodes[objectId];if(!node){return;// Not in this tree }var visible=entity.visible;var updated=visible!==node.checked;if(!updated){return;}_this141._muteTreeEvents=true;node.checked=visible;if(visible){node.numVisibleEntities++;}else{node.numVisibleEntities--;}var checkbox=document.getElementById("checkbox-".concat(node.nodeId));if(checkbox){checkbox.checked=visible;}var parent=node.parent;while(parent){parent.checked=visible;if(visible){parent.numVisibleEntities++;}else{parent.numVisibleEntities--;}var parentCheckbox=document.getElementById("checkbox-".concat(parent.nodeId));if(parentCheckbox){var newChecked=parent.numVisibleEntities>0;if(newChecked!==parentCheckbox.checked){parentCheckbox.checked=newChecked;}}parent=parent.parent;}_this141._muteTreeEvents=false;});_this141._onObjectXrayed=_this141._viewer.scene.on('objectXRayed',function(entity){if(_this141._muteSceneEvents){return;}var objectId=entity.id;var node=_this141._objectNodes[objectId];if(!node){return;// Not in this tree }_this141._muteTreeEvents=true;var xrayed=entity.xrayed;var updated=xrayed!==node.xrayed;if(!updated){return;}node.xrayed=xrayed;var listItemElementId=node.nodeId;var listItemElement=document.getElementById(listItemElementId);if(listItemElement!==null){if(xrayed){listItemElement.classList.add('xrayed-node');}else{listItemElement.classList.remove('xrayed-node');}}_this141._muteTreeEvents=false;});_this141._switchExpandHandler=function(event){event.preventDefault();event.stopPropagation();var switchElement=event.target;_this141._expandSwitchElement(switchElement);};_this141._switchCollapseHandler=function(event){event.preventDefault();event.stopPropagation();var switchElement=event.target;_this141._collapseSwitchElement(switchElement);};_this141._checkboxChangeHandler=function(event){if(_this141._muteTreeEvents){return;}_this141._muteSceneEvents=true;var checkbox=event.target;var visible=checkbox.checked;var nodeId=checkbox.id.replace('checkbox-','');var checkedNode=_this141._nodeNodes[nodeId];var objects=_this141._viewer.scene.objects;var numUpdated=0;_this141._withNodeTree(checkedNode,function(node){var objectId=node.objectId;var checkBoxId="checkbox-".concat(node.nodeId);var entity=objects[objectId];var isLeaf=node.children.length===0;node.numVisibleEntities=visible?node.numEntities:0;if(isLeaf&&visible!==node.checked){numUpdated++;}node.checked=visible;var checkbox2=document.getElementById(checkBoxId);if(checkbox2){checkbox2.checked=visible;}if(entity){entity.visible=visible;}});var parent=checkedNode.parent;while(parent){parent.checked=visible;var checkbox2=document.getElementById("checkbox-".concat(parent.nodeId));// Parent checkboxes are always in DOM -if(visible){parent.numVisibleEntities+=numUpdated;}else{parent.numVisibleEntities-=numUpdated;}var newChecked=parent.numVisibleEntities>0;if(newChecked!==checkbox2.checked){checkbox2.checked=newChecked;}parent=parent.parent;}_this141._muteSceneEvents=false;};_this141._hierarchy=cfg.hierarchy||"containment";_this141._autoExpandDepth=cfg.autoExpandDepth||0;if(_this141._autoAddModels){var modelIds=Object.keys(_this141.viewer.metaScene.metaModels);for(var _i490=0,len=modelIds.length;_i4900;if(newChecked!==checkbox2.checked){checkbox2.checked=newChecked;}parent=parent.parent;}_this141._muteSceneEvents=false;};_this141._hierarchy=cfg.hierarchy||"containment";_this141._autoExpandDepth=cfg.autoExpandDepth||0;if(_this141._autoAddModels){var modelIds=Object.keys(_this141.viewer.metaScene.metaModels);for(var _i497=0,len=modelIds.length;_i4970;break;case"containment":default:this.valid=this._rootNodes.length>0;break;}return this.valid;}},{key:"_validateMetaModelForStoreysHierarchy",value:function _validateMetaModelForStoreysHierarchy(){var level=arguments.length>0&&arguments[0]!==undefined?arguments[0]:0;var ctx=arguments.length>1?arguments[1]:undefined;var buildingNode=arguments.length>2?arguments[2]:undefined;// ctx = ctx || { // foundIFCBuildingStoreys: false @@ -25951,12 +25964,12 @@ if(visible){parent.numVisibleEntities+=numUpdated;}else{parent.numVisibleEntitie // // errors.push("Can't build storeys hierarchy: no IfcBuildingStoreys found"); // } // } -return true;}},{key:"_createEnabledNodes",value:function _createEnabledNodes(){if(this._pruneEmptyNodes){this._findEmptyNodes();}switch(this._hierarchy){case"storeys":this._createStoreysNodes();if(this._rootNodes.length===0){this.error("Failed to build storeys hierarchy");}break;case"types":this._createTypesNodes();break;case"containment":default:this._createContainmentNodes();}if(this._sortNodes){this._doSortNodes();}this._synchNodesToEntities();this._createTrees();this.expandToDepth(this._autoExpandDepth);}},{key:"_createDisabledNodes",value:function _createDisabledNodes(){var ul=document.createElement('ul');this._rootElement=ul;this._containerElement.appendChild(ul);var rootMetaObjects=this._viewer.metaScene.rootMetaObjects;for(var objectId in rootMetaObjects){var rootMetaObject=rootMetaObjects[objectId];var metaObjectType=rootMetaObject.type;var metaObjectName=rootMetaObject.name;var rootName=metaObjectName&&metaObjectName!==""&&metaObjectName!=="Undefined"&&metaObjectName!=="Default"?metaObjectName:metaObjectType;var li=document.createElement('li');ul.appendChild(li);var switchElement=document.createElement('a');switchElement.href='#';switchElement.textContent='!';switchElement.classList.add('warn');switchElement.classList.add('warning');li.appendChild(switchElement);var span=document.createElement('span');span.textContent=rootName;li.appendChild(span);}}},{key:"_findEmptyNodes",value:function _findEmptyNodes(){var rootMetaObjects=this._viewer.metaScene.rootMetaObjects;for(var objectId in rootMetaObjects){this._findEmptyNodes2(rootMetaObjects[objectId]);}}},{key:"_findEmptyNodes2",value:function _findEmptyNodes2(metaObject){var countEntities=arguments.length>1&&arguments[1]!==undefined?arguments[1]:0;var viewer=this.viewer;var scene=viewer.scene;var children=metaObject.children;var objectId=metaObject.id;var entity=scene.objects[objectId];metaObject._countEntities=0;if(entity){metaObject._countEntities++;}if(children){for(var _i495=0,len=children.length;_i4951&&arguments[1]!==undefined?arguments[1]:0;var viewer=this.viewer;var scene=viewer.scene;var children=metaObject.children;var objectId=metaObject.id;var entity=scene.objects[objectId];metaObject._countEntities=0;if(entity){metaObject._countEntities++;}if(children){for(var _i502=0,len=children.length;_i502node2.aabb[idx]){return-1;}if(node1.aabb[idx]title2){return 1;}return 0;}},{key:"_synchNodesToEntities",value:function _synchNodesToEntities(){var objectIds=Object.keys(this.viewer.metaScene.metaObjects);var metaObjects=this._viewer.metaScene.metaObjects;var objects=this._viewer.scene.objects;for(var _i501=0,len=objectIds.length;_i501title2){return 1;}return 0;}},{key:"_synchNodesToEntities",value:function _synchNodesToEntities(){var objectIds=Object.keys(this.viewer.metaScene.metaObjects);var metaObjects=this._viewer.metaScene.metaObjects;var objects=this._viewer.scene.objects;for(var _i508=0,len=objectIds.length;_i5080){var switchElementId="switch-"+nodeId;var switchElement=document.createElement('a');switchElement.href='#';switchElement.id=switchElementId;switchElement.textContent='+';switchElement.classList.add('plus');switchElement.addEventListener('click',this._switchExpandHandler);nodeElement.appendChild(switchElement);}var checkbox=document.createElement('input');checkbox.id="checkbox-".concat(nodeId);checkbox.type="checkbox";checkbox.checked=node.checked;checkbox.style["pointer-events"]="all";checkbox.addEventListener("change",this._checkboxChangeHandler);nodeElement.appendChild(checkbox);var span=document.createElement('span');span.textContent=node.title;nodeElement.appendChild(span);span.oncontextmenu=function(e){_this145.fire("contextmenu",{event:e,viewer:_this145._viewer,treeViewPlugin:_this145,treeViewNode:node});e.preventDefault();};span.onclick=function(e){_this145.fire("nodeTitleClicked",{event:e,viewer:_this145._viewer,treeViewPlugin:_this145,treeViewNode:node});e.preventDefault();};return nodeElement;}},{key:"_expandSwitchElement",value:function _expandSwitchElement(switchElement){var _this146=this;var parentElement=switchElement.parentElement;var expanded=parentElement.getElementsByTagName('li')[0];if(expanded){return;}var nodeId=parentElement.id;var switchNode=this._nodeNodes[nodeId];var childNodes=switchNode.children;var nodeElements=childNodes.map(function(node){return _this146._createNodeElement(node);});var ul=document.createElement('ul');nodeElements.forEach(function(nodeElement){ul.appendChild(nodeElement);});parentElement.appendChild(ul);switchElement.classList.remove('plus');switchElement.classList.add('minus');switchElement.textContent='-';switchElement.removeEventListener('click',this._switchExpandHandler);switchElement.addEventListener('click',this._switchCollapseHandler);}},{key:"_collapseNode",value:function _collapseNode(objectId){var nodeId=objectId;var switchElementId="switch-"+nodeId;var switchElement=document.getElementById(switchElementId);this._collapseSwitchElement(switchElement);}},{key:"_collapseSwitchElement",value:function _collapseSwitchElement(switchElement){if(!switchElement){return;}var parent=switchElement.parentElement;if(!parent){return;}var ul=parent.querySelector('ul');if(!ul){return;}parent.removeChild(ul);switchElement.classList.remove('minus');switchElement.classList.add('plus');switchElement.textContent='+';switchElement.removeEventListener('click',this._switchCollapseHandler);switchElement.addEventListener('click',this._switchExpandHandler);}}]);return TreeViewPlugin;}(Plugin);/** * For each Entity in its Scene, efficiently combines updates from multiple culling systems into a single "culled" state. * @@ -25974,7 +25987,7 @@ this._objectsViewCulled=[];// A flag for each object to indicate its view-cull s this._objectsDetailCulled=[];// A flag for each object to indicate its detail-cull status this._objectsChanged=[];// A flag for each object, set whenever its cull status has changed since last _applyChanges() this._objectsChangedList=[];// A list of objects whose cull status has changed, applied and cleared by _applyChanges() -this._modelInfos={};this._numObjects=0;this._lenObjectsChangedList=0;this._dirty=true;this._onModelLoaded=scene.on("modelLoaded",function(modelId){var model=scene.models[modelId];if(model){_this147._addModel(model);}});this._onTick=scene.on("tick",function(){if(_this147._dirty){_this147._build();}_this147._applyChanges();});}_createClass(ObjectCullStates,[{key:"_addModel",value:function _addModel(model){var _this148=this;var modelInfo={model:model,onDestroyed:model.on("destroyed",function(){_this148._removeModel(model);})};this._modelInfos[model.id]=modelInfo;this._dirty=true;}},{key:"_removeModel",value:function _removeModel(model){var modelInfo=this._modelInfos[model.id];if(modelInfo){modelInfo.model.off(modelInfo.onDestroyed);delete this._modelInfos[model.id];this._dirty=true;}}},{key:"_build",value:function _build(){if(!this._dirty){return;}this._applyChanges();var objects=this._scene.objects;for(var _i503=0;_i5030){for(var _i504=0;_i5040){for(var _i511=0;_i511=this._maxTreeDepth){kdNode.objects=kdNode.objects||[];kdNode.objects.push(objectIdx);math.expandAABB3(kdNode.aabb,entityAABB);return;}if(kdNode.left){if(math.containsAABB3(kdNode.left.aabb,entityAABB)){this._insertEntityIntoKDTree(kdNode.left,entity,objectIdx,depth+1);return;}}if(kdNode.right){if(math.containsAABB3(kdNode.right.aabb,entityAABB)){this._insertEntityIntoKDTree(kdNode.right,entity,objectIdx,depth+1);return;}}var nodeAABB=kdNode.aabb;kdTreeDimLength[0]=nodeAABB[3]-nodeAABB[0];kdTreeDimLength[1]=nodeAABB[4]-nodeAABB[1];kdTreeDimLength[2]=nodeAABB[5]-nodeAABB[2];var dim=0;if(kdTreeDimLength[1]>kdTreeDimLength[dim]){dim=1;}if(kdTreeDimLength[2]>kdTreeDimLength[dim]){dim=2;}if(!kdNode.left){var aabbLeft=nodeAABB.slice();aabbLeft[dim+3]=(nodeAABB[dim]+nodeAABB[dim+3])/2.0;kdNode.left={aabb:aabbLeft,intersection:Frustum$1.INTERSECT};if(math.containsAABB3(aabbLeft,entityAABB)){this._insertEntityIntoKDTree(kdNode.left,entity,objectIdx,depth+1);return;}}if(!kdNode.right){var aabbRight=nodeAABB.slice();aabbRight[dim]=(nodeAABB[dim]+nodeAABB[dim+3])/2.0;kdNode.right={aabb:aabbRight,intersection:Frustum$1.INTERSECT};if(math.containsAABB3(aabbRight,entityAABB)){this._insertEntityIntoKDTree(kdNode.right,entity,objectIdx,depth+1);return;}}kdNode.objects=kdNode.objects||[];kdNode.objects.push(objectIdx);math.expandAABB3(kdNode.aabb,entityAABB);}},{key:"_visitKDNode",value:function _visitKDNode(kdNode){var intersects=arguments.length>1&&arguments[1]!==undefined?arguments[1]:Frustum$1.INTERSECT;if(intersects!==Frustum$1.INTERSECT&&kdNode.intersects===intersects){return;}if(intersects===Frustum$1.INTERSECT){intersects=frustumIntersectsAABB3(this._frustum,kdNode.aabb);kdNode.intersects=intersects;}var culled=intersects===Frustum$1.OUTSIDE;var objects=kdNode.objects;if(objects&&objects.length>0){for(var _i505=0,len=objects.length;_i505=this._maxTreeDepth){kdNode.objects=kdNode.objects||[];kdNode.objects.push(objectIdx);math.expandAABB3(kdNode.aabb,entityAABB);return;}if(kdNode.left){if(math.containsAABB3(kdNode.left.aabb,entityAABB)){this._insertEntityIntoKDTree(kdNode.left,entity,objectIdx,depth+1);return;}}if(kdNode.right){if(math.containsAABB3(kdNode.right.aabb,entityAABB)){this._insertEntityIntoKDTree(kdNode.right,entity,objectIdx,depth+1);return;}}var nodeAABB=kdNode.aabb;kdTreeDimLength[0]=nodeAABB[3]-nodeAABB[0];kdTreeDimLength[1]=nodeAABB[4]-nodeAABB[1];kdTreeDimLength[2]=nodeAABB[5]-nodeAABB[2];var dim=0;if(kdTreeDimLength[1]>kdTreeDimLength[dim]){dim=1;}if(kdTreeDimLength[2]>kdTreeDimLength[dim]){dim=2;}if(!kdNode.left){var aabbLeft=nodeAABB.slice();aabbLeft[dim+3]=(nodeAABB[dim]+nodeAABB[dim+3])/2.0;kdNode.left={aabb:aabbLeft,intersection:Frustum$1.INTERSECT};if(math.containsAABB3(aabbLeft,entityAABB)){this._insertEntityIntoKDTree(kdNode.left,entity,objectIdx,depth+1);return;}}if(!kdNode.right){var aabbRight=nodeAABB.slice();aabbRight[dim]=(nodeAABB[dim]+nodeAABB[dim+3])/2.0;kdNode.right={aabb:aabbRight,intersection:Frustum$1.INTERSECT};if(math.containsAABB3(aabbRight,entityAABB)){this._insertEntityIntoKDTree(kdNode.right,entity,objectIdx,depth+1);return;}}kdNode.objects=kdNode.objects||[];kdNode.objects.push(objectIdx);math.expandAABB3(kdNode.aabb,entityAABB);}},{key:"_visitKDNode",value:function _visitKDNode(kdNode){var intersects=arguments.length>1&&arguments[1]!==undefined?arguments[1]:Frustum$1.INTERSECT;if(intersects!==Frustum$1.INTERSECT&&kdNode.intersects===intersects){return;}if(intersects===Frustum$1.INTERSECT){intersects=frustumIntersectsAABB3(this._frustum,kdNode.aabb);kdNode.intersects=intersects;}var culled=intersects===Frustum$1.OUTSIDE;var objects=kdNode.objects;if(objects&&objects.length>0){for(var _i512=0,len=objects.length;_i512=0;){t[e]=0;}}var a=256,i=286,n=30,s=15,r=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]),o=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]),l=new Uint8Array([0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,7]),h=new Uint8Array([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]),d=new Array(576);e(d);var _=new Array(60);e(_);var f=new Array(512);e(f);var c=new Array(256);e(c);var u=new Array(29);e(u);var w=new Array(n);function m(t,e,a,i,n){this.static_tree=t,this.extra_bits=e,this.extra_base=a,this.elems=i,this.max_length=n,this.has_stree=t&&t.length;}var b,g,p;function k(t,e){this.dyn_tree=t,this.max_code=0,this.stat_desc=e;}e(w);var v=function v(t){return t<256?f[t]:f[256+(t>>>7)];},y=function y(t,e){t.pending_buf[t.pending++]=255&e,t.pending_buf[t.pending++]=e>>>8&255;},x=function x(t,e,a){t.bi_valid>16-a?(t.bi_buf|=e<>16-t.bi_valid,t.bi_valid+=a-16):(t.bi_buf|=e<>>=1,a<<=1;}while(--e>0);return a>>>1;},E=function E(t,e,a){var i=new Array(16);var n,r,o=0;for(n=1;n<=s;n++){o=o+a[n-1]<<1,i[n]=o;}for(r=0;r<=e;r++){var _e2=t[2*r+1];0!==_e2&&(t[2*r]=A(i[_e2]++,_e2));}},R=function R(t){var e;for(e=0;e8?y(t,t.bi_buf):t.bi_valid>0&&(t.pending_buf[t.pending++]=t.bi_buf),t.bi_buf=0,t.bi_valid=0;},U=function U(t,e,a,i){var n=2*e,s=2*a;return t[n]>1;o>=1;o--){S(t,a,o);}h=r;do{o=t.heap[1],t.heap[1]=t.heap[t.heap_len--],S(t,a,1),l=t.heap[1],t.heap[--t.heap_max]=o,t.heap[--t.heap_max]=l,a[2*h]=a[2*o]+a[2*l],t.depth[h]=(t.depth[o]>=t.depth[l]?t.depth[o]:t.depth[l])+1,a[2*o+1]=a[2*l+1]=h,t.heap[1]=h++,S(t,a,1);}while(t.heap_len>=2);t.heap[--t.heap_max]=t.heap[1],function(t,e){var a=e.dyn_tree,i=e.max_code,n=e.stat_desc.static_tree,r=e.stat_desc.has_stree,o=e.stat_desc.extra_bits,l=e.stat_desc.extra_base,h=e.stat_desc.max_length;var d,_,f,c,u,w,m=0;for(c=0;c<=s;c++){t.bl_count[c]=0;}for(a[2*t.heap[t.heap_max]+1]=0,d=t.heap_max+1;d<573;d++){_=t.heap[d],c=a[2*a[2*_+1]+1]+1,c>h&&(c=h,m++),a[2*_+1]=c,_>i||(t.bl_count[c]++,u=0,_>=l&&(u=o[_-l]),w=a[2*_],t.opt_len+=w*(c+u),r&&(t.static_len+=w*(n[2*_+1]+u)));}if(0!==m){do{for(c=h-1;0===t.bl_count[c];){c--;}t.bl_count[c]--,t.bl_count[c+1]+=2,t.bl_count[h]--,m-=2;}while(m>0);for(c=h;0!==c;c--){for(_=t.bl_count[c];0!==_;){f=t.heap[--d],f>i||(a[2*f+1]!==c&&(t.opt_len+=(c-a[2*f+1])*a[2*f],a[2*f+1]=c),_--);}}}}(t,e),E(a,d,t.bl_count);},O=function O(t,e,a){var i,n,s=-1,r=e[1],o=0,l=7,h=4;for(0===r&&(l=138,h=3),e[2*(a+1)+1]=65535,i=0;i<=a;i++){n=r,r=e[2*(i+1)+1],++o0?(2===t.strm.data_type&&(t.strm.data_type=function(t){var e,i=4093624447;for(e=0;e<=31;e++,i>>>=1){if(1&i&&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=3&&0===t.bl_tree[2*h[e]+1];e--){;}return t.opt_len+=3*(e+1)+5+5+4,e;}(t),s=t.opt_len+3+7>>>3,r=t.static_len+3+7>>>3,r<=s&&(s=r)):s=r=i+5,i+4<=s&&-1!==e?L(t,e,i,n):4===t.strategy||r===s?(x(t,2+(n?1:0),3),D(t,d,_)):(x(t,4+(n?1:0),3),function(t,e,a,i){var n;for(x(t,e-257,5),x(t,a-1,5),x(t,i-4,4),n=0;n>=7;h>8,t.pending_buf[t.sym_buf+t.sym_next++]=i,0===e?t.dyn_ltree[2*i]++:(t.matches++,e--,t.dyn_ltree[2*(c[i]+a+1)]++,t.dyn_dtree[2*v(e)]++),t.sym_next===t.sym_end;},_tr_align:function _tr_align(t){x(t,2,3),z(t,256,d),function(t){16===t.bi_valid?(y(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 C=function C(t,e,a,i){var n=65535&t|0,s=t>>>16&65535|0,r=0;for(;0!==a;){r=a>2e3?2e3:a,a-=r;do{n=n+e[i++]|0,s=s+n|0;}while(--r);n%=65521,s%=65521;}return n|s<<16|0;};var M=new Uint32Array(function(){var t,e=[];for(var a=0;a<256;a++){t=a;for(var i=0;i<8;i++){t=1&t?3988292384^t>>>1:t>>>1;}e[a]=t;}return e;}());var H=function H(t,e,a,i){var n=M,s=i+a;t^=-1;for(var _a6=i;_a6>>8^n[255&(t^e[_a6])];}return-1^t;},j={2:"need dictionary",1:"stream end",0:"","-1":"file error","-2":"stream error","-3":"data error","-4":"insufficient memory","-5":"buffer error","-6":"incompatible version"},K={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};var P=B._tr_init,Y=B._tr_stored_block,G=B._tr_flush_block,X=B._tr_tally,W=B._tr_align,q=K.Z_NO_FLUSH,J=K.Z_PARTIAL_FLUSH,Q=K.Z_FULL_FLUSH,V=K.Z_FINISH,$=K.Z_BLOCK,tt=K.Z_OK,et=K.Z_STREAM_END,at=K.Z_STREAM_ERROR,it=K.Z_DATA_ERROR,nt=K.Z_BUF_ERROR,st=K.Z_DEFAULT_COMPRESSION,rt=K.Z_FILTERED,ot=K.Z_HUFFMAN_ONLY,lt=K.Z_RLE,ht=K.Z_FIXED,dt=K.Z_DEFAULT_STRATEGY,_t=K.Z_UNKNOWN,ft=K.Z_DEFLATED,ct=258,ut=262,wt=42,mt=113,bt=666,gt=function gt(t,e){return t.msg=j[e],e;},pt=function pt(t){return 2*t-(t>4?9:0);},kt=function kt(t){var e=t.length;for(;--e>=0;){t[e]=0;}},vt=function vt(t){var e,a,i,n=t.w_size;e=t.hash_size,i=e;do{a=t.head[--i],t.head[i]=a>=n?a-n:0;}while(--e);e=n,i=e;do{a=t.prev[--i],t.prev[i]=a>=n?a-n:0;}while(--e);};var yt=function yt(t,e,a){return(e<t.avail_out&&(a=t.avail_out),0!==a&&(t.output.set(e.pending_buf.subarray(e.pending_out,e.pending_out+a),t.next_out),t.next_out+=a,e.pending_out+=a,t.total_out+=a,t.avail_out-=a,e.pending-=a,0===e.pending&&(e.pending_out=0));},zt=function zt(t,e){G(t,t.block_start>=0?t.block_start:-1,t.strstart-t.block_start,e),t.block_start=t.strstart,xt(t.strm);},At=function At(t,e){t.pending_buf[t.pending++]=e;},Et=function Et(t,e){t.pending_buf[t.pending++]=e>>>8&255,t.pending_buf[t.pending++]=255&e;},Rt=function Rt(t,e,a,i){var n=t.avail_in;return n>i&&(n=i),0===n?0:(t.avail_in-=n,e.set(t.input.subarray(t.next_in,t.next_in+n),a),1===t.state.wrap?t.adler=C(t.adler,e,n,a):2===t.state.wrap&&(t.adler=H(t.adler,e,n,a)),t.next_in+=n,t.total_in+=n,n);},Zt=function Zt(t,e){var a,i,n=t.max_chain_length,s=t.strstart,r=t.prev_length,o=t.nice_match;var l=t.strstart>t.w_size-ut?t.strstart-(t.w_size-ut):0,h=t.window,d=t.w_mask,_=t.prev,f=t.strstart+ct;var c=h[s+r-1],u=h[s+r];t.prev_length>=t.good_match&&(n>>=2),o>t.lookahead&&(o=t.lookahead);do{if(a=e,h[a+r]===u&&h[a+r-1]===c&&h[a]===h[s]&&h[++a]===h[s+1]){s+=2,a++;do{}while(h[++s]===h[++a]&&h[++s]===h[++a]&&h[++s]===h[++a]&&h[++s]===h[++a]&&h[++s]===h[++a]&&h[++s]===h[++a]&&h[++s]===h[++a]&&h[++s]===h[++a]&&sr){if(t.match_start=e,r=i,i>=o)break;c=h[s+r-1],u=h[s+r];}}}while((e=_[e&d])>l&&0!=--n);return r<=t.lookahead?r:t.lookahead;},Ut=function Ut(t){var e=t.w_size;var a,i,n;do{if(i=t.window_size-t.lookahead-t.strstart,t.strstart>=e+(e-ut)&&(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),vt(t),i+=e),0===t.strm.avail_in)break;if(a=Rt(t.strm,t.window,t.strstart+t.lookahead,i),t.lookahead+=a,t.lookahead+t.insert>=3)for(n=t.strstart-t.insert,t.ins_h=t.window[n],t.ins_h=yt(t,t.ins_h,t.window[n+1]);t.insert&&(t.ins_h=yt(t,t.ins_h,t.window[n+3-1]),t.prev[n&t.w_mask]=t.head[t.ins_h],t.head[t.ins_h]=n,n++,t.insert--,!(t.lookahead+t.insert<3));){;}}while(t.lookaheadt.w_size?t.w_size:t.pending_buf_size-5,r=0,o=t.strm.avail_in;do{if(a=65535,n=t.bi_valid+42>>3,t.strm.avail_outi+t.strm.avail_in&&(a=i+t.strm.avail_in),a>n&&(a=n),a>8,t.pending_buf[t.pending-2]=~a,t.pending_buf[t.pending-1]=~a>>8,xt(t.strm),i&&(i>a&&(i=a),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,a-=i),a&&(Rt(t.strm,t.strm.output,t.strm.next_out,a),t.strm.next_out+=a,t.strm.avail_out-=a,t.strm.total_out+=a);}while(0===r);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_watern&&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++,n+=t.w_size,t.insert>t.strstart&&(t.insert=t.strstart)),n>t.strm.avail_in&&(n=t.strm.avail_in),n&&(Rt(t.strm,t.window,t.strstart,n),t.strstart+=n,t.insert+=n>t.w_size-t.insert?t.w_size-t.insert:n),t.high_water>3,n=t.pending_buf_size-n>65535?65535:t.pending_buf_size-n,s=n>t.w_size?t.w_size:n,i=t.strstart-t.block_start,(i>=s||(i||e===V)&&e!==q&&0===t.strm.avail_in&&i<=n)&&(a=i>n?n:i,r=e===V&&0===t.strm.avail_in&&a===i?1:0,Y(t,t.block_start,a,r),t.block_start+=a,xt(t.strm)),r?3:1);},Dt=function Dt(t,e){var a,i;for(;;){if(t.lookahead=3&&(t.ins_h=yt(t,t.ins_h,t.window[t.strstart+3-1]),a=t.prev[t.strstart&t.w_mask]=t.head[t.ins_h],t.head[t.ins_h]=t.strstart),0!==a&&t.strstart-a<=t.w_size-ut&&(t.match_length=Zt(t,a)),t.match_length>=3){if(i=X(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=yt(t,t.ins_h,t.window[t.strstart+3-1]),a=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=yt(t,t.ins_h,t.window[t.strstart+1]);}else i=X(t,0,t.window[t.strstart]),t.lookahead--,t.strstart++;if(i&&(zt(t,!1),0===t.strm.avail_out))return 1;}return t.insert=t.strstart<2?t.strstart:2,e===V?(zt(t,!0),0===t.strm.avail_out?3:4):t.sym_next&&(zt(t,!1),0===t.strm.avail_out)?1:2;},Tt=function Tt(t,e){var a,i,n;for(;;){if(t.lookahead=3&&(t.ins_h=yt(t,t.ins_h,t.window[t.strstart+3-1]),a=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!==a&&t.prev_length4096)&&(t.match_length=2)),t.prev_length>=3&&t.match_length<=t.prev_length){n=t.strstart+t.lookahead-3,i=X(t,t.strstart-1-t.prev_match,t.prev_length-3),t.lookahead-=t.prev_length-1,t.prev_length-=2;do{++t.strstart<=n&&(t.ins_h=yt(t,t.ins_h,t.window[t.strstart+3-1]),a=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&&(zt(t,!1),0===t.strm.avail_out))return 1;}else if(t.match_available){if(i=X(t,0,t.window[t.strstart-1]),i&&zt(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=X(t,0,t.window[t.strstart-1]),t.match_available=0),t.insert=t.strstart<2?t.strstart:2,e===V?(zt(t,!0),0===t.strm.avail_out?3:4):t.sym_next&&(zt(t,!1),0===t.strm.avail_out)?1:2;};function Ot(t,e,a,i,n){this.good_length=t,this.max_lazy=e,this.nice_length=a,this.max_chain=i,this.func=n;}var It=[new Ot(0,0,0,0,St),new Ot(4,4,8,4,Dt),new Ot(4,5,16,8,Dt),new Ot(4,6,32,32,Dt),new Ot(4,4,16,16,Tt),new Ot(8,16,32,32,Tt),new Ot(8,16,128,128,Tt),new Ot(8,32,128,256,Tt),new Ot(32,128,258,1024,Tt),new Ot(32,258,258,4096,Tt)];function Ft(){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=ft,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),kt(this.dyn_ltree),kt(this.dyn_dtree),kt(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),kt(this.heap),this.heap_len=0,this.heap_max=0,this.depth=new Uint16Array(573),kt(this.depth),this.sym_buf=0,this.lit_bufsize=0,this.sym_next=0,this.sym_end=0,this.opt_len=0,this.static_len=0,this.matches=0,this.insert=0,this.bi_buf=0,this.bi_valid=0;}var Lt=function Lt(t){if(!t)return 1;var e=t.state;return!e||e.strm!==t||e.status!==wt&&57!==e.status&&69!==e.status&&73!==e.status&&91!==e.status&&103!==e.status&&e.status!==mt&&e.status!==bt?1:0;},Nt=function Nt(t){if(Lt(t))return gt(t,at);t.total_in=t.total_out=0,t.data_type=_t;var 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?wt:mt,t.adler=2===e.wrap?0:1,e.last_flush=-2,P(e),tt;},Bt=function Bt(t){var e=Nt(t);var a;return e===tt&&((a=t.state).window_size=2*a.w_size,kt(a.head),a.max_lazy_match=It[a.level].max_lazy,a.good_match=It[a.level].good_length,a.nice_match=It[a.level].nice_length,a.max_chain_length=It[a.level].max_chain,a.strstart=0,a.block_start=0,a.lookahead=0,a.insert=0,a.match_length=a.prev_length=2,a.match_available=0,a.ins_h=0),e;},Ct=function Ct(t,e,a,i,n,s){if(!t)return at;var r=1;if(e===st&&(e=6),i<0?(r=0,i=-i):i>15&&(r=2,i-=16),n<1||n>9||a!==ft||i<8||i>15||e<0||e>9||s<0||s>ht||8===i&&1!==r)return gt(t,at);8===i&&(i=9);var o=new Ft();return t.state=o,o.strm=t,o.status=wt,o.wrap=r,o.gzhead=null,o.w_bits=i,o.w_size=1<$||e<0)return t?gt(t,at):at;var a=t.state;if(!t.output||0!==t.avail_in&&!t.input||a.status===bt&&e!==V)return gt(t,0===t.avail_out?nt:at);var i=a.last_flush;if(a.last_flush=e,0!==a.pending){if(xt(t),0===t.avail_out)return a.last_flush=-1,tt;}else if(0===t.avail_in&&pt(e)<=pt(i)&&e!==V)return gt(t,nt);if(a.status===bt&&0!==t.avail_in)return gt(t,nt);if(a.status===wt&&0===a.wrap&&(a.status=mt),a.status===wt){var _e3=ft+(a.w_bits-8<<4)<<8,_i506=-1;if(_i506=a.strategy>=ot||a.level<2?0:a.level<6?1:6===a.level?2:3,_e3|=_i506<<6,0!==a.strstart&&(_e3|=32),_e3+=31-_e3%31,Et(a,_e3),0!==a.strstart&&(Et(a,t.adler>>>16),Et(a,65535&t.adler)),t.adler=1,a.status=mt,xt(t),0!==a.pending)return a.last_flush=-1,tt;}if(57===a.status)if(t.adler=0,At(a,31),At(a,139),At(a,8),a.gzhead)At(a,(a.gzhead.text?1:0)+(a.gzhead.hcrc?2:0)+(a.gzhead.extra?4:0)+(a.gzhead.name?8:0)+(a.gzhead.comment?16:0)),At(a,255&a.gzhead.time),At(a,a.gzhead.time>>8&255),At(a,a.gzhead.time>>16&255),At(a,a.gzhead.time>>24&255),At(a,9===a.level?2:a.strategy>=ot||a.level<2?4:0),At(a,255&a.gzhead.os),a.gzhead.extra&&a.gzhead.extra.length&&(At(a,255&a.gzhead.extra.length),At(a,a.gzhead.extra.length>>8&255)),a.gzhead.hcrc&&(t.adler=H(t.adler,a.pending_buf,a.pending,0)),a.gzindex=0,a.status=69;else if(At(a,0),At(a,0),At(a,0),At(a,0),At(a,0),At(a,9===a.level?2:a.strategy>=ot||a.level<2?4:0),At(a,3),a.status=mt,xt(t),0!==a.pending)return a.last_flush=-1,tt;if(69===a.status){if(a.gzhead.extra){var _e4=a.pending,_i507=(65535&a.gzhead.extra.length)-a.gzindex;for(;a.pending+_i507>a.pending_buf_size;){var _n3=a.pending_buf_size-a.pending;if(a.pending_buf.set(a.gzhead.extra.subarray(a.gzindex,a.gzindex+_n3),a.pending),a.pending=a.pending_buf_size,a.gzhead.hcrc&&a.pending>_e4&&(t.adler=H(t.adler,a.pending_buf,a.pending-_e4,_e4)),a.gzindex+=_n3,xt(t),0!==a.pending)return a.last_flush=-1,tt;_e4=0,_i507-=_n3;}var _n2=new Uint8Array(a.gzhead.extra);a.pending_buf.set(_n2.subarray(a.gzindex,a.gzindex+_i507),a.pending),a.pending+=_i507,a.gzhead.hcrc&&a.pending>_e4&&(t.adler=H(t.adler,a.pending_buf,a.pending-_e4,_e4)),a.gzindex=0;}a.status=73;}if(73===a.status){if(a.gzhead.name){var _e5,_i508=a.pending;do{if(a.pending===a.pending_buf_size){if(a.gzhead.hcrc&&a.pending>_i508&&(t.adler=H(t.adler,a.pending_buf,a.pending-_i508,_i508)),xt(t),0!==a.pending)return a.last_flush=-1,tt;_i508=0;}_e5=a.gzindex_i508&&(t.adler=H(t.adler,a.pending_buf,a.pending-_i508,_i508)),a.gzindex=0;}a.status=91;}if(91===a.status){if(a.gzhead.comment){var _e6,_i509=a.pending;do{if(a.pending===a.pending_buf_size){if(a.gzhead.hcrc&&a.pending>_i509&&(t.adler=H(t.adler,a.pending_buf,a.pending-_i509,_i509)),xt(t),0!==a.pending)return a.last_flush=-1,tt;_i509=0;}_e6=a.gzindex_i509&&(t.adler=H(t.adler,a.pending_buf,a.pending-_i509,_i509));}a.status=103;}if(103===a.status){if(a.gzhead.hcrc){if(a.pending+2>a.pending_buf_size&&(xt(t),0!==a.pending))return a.last_flush=-1,tt;At(a,255&t.adler),At(a,t.adler>>8&255),t.adler=0;}if(a.status=mt,xt(t),0!==a.pending)return a.last_flush=-1,tt;}if(0!==t.avail_in||0!==a.lookahead||e!==q&&a.status!==bt){var _i510=0===a.level?St(a,e):a.strategy===ot?function(t,e){var a;for(;;){if(0===t.lookahead&&(Ut(t),0===t.lookahead)){if(e===q)return 1;break;}if(t.match_length=0,a=X(t,0,t.window[t.strstart]),t.lookahead--,t.strstart++,a&&(zt(t,!1),0===t.strm.avail_out))return 1;}return t.insert=0,e===V?(zt(t,!0),0===t.strm.avail_out?3:4):t.sym_next&&(zt(t,!1),0===t.strm.avail_out)?1:2;}(a,e):a.strategy===lt?function(t,e){var a,i,n,s;var r=t.window;for(;;){if(t.lookahead<=ct){if(Ut(t),t.lookahead<=ct&&e===q)return 1;if(0===t.lookahead)break;}if(t.match_length=0,t.lookahead>=3&&t.strstart>0&&(n=t.strstart-1,i=r[n],i===r[++n]&&i===r[++n]&&i===r[++n])){s=t.strstart+ct;do{}while(i===r[++n]&&i===r[++n]&&i===r[++n]&&i===r[++n]&&i===r[++n]&&i===r[++n]&&i===r[++n]&&i===r[++n]&&nt.lookahead&&(t.match_length=t.lookahead);}if(t.match_length>=3?(a=X(t,1,t.match_length-3),t.lookahead-=t.match_length,t.strstart+=t.match_length,t.match_length=0):(a=X(t,0,t.window[t.strstart]),t.lookahead--,t.strstart++),a&&(zt(t,!1),0===t.strm.avail_out))return 1;}return t.insert=0,e===V?(zt(t,!0),0===t.strm.avail_out?3:4):t.sym_next&&(zt(t,!1),0===t.strm.avail_out)?1:2;}(a,e):It[a.level].func(a,e);if(3!==_i510&&4!==_i510||(a.status=bt),1===_i510||3===_i510)return 0===t.avail_out&&(a.last_flush=-1),tt;if(2===_i510&&(e===J?W(a):e!==$&&(Y(a,0,0,!1),e===Q&&(kt(a.head),0===a.lookahead&&(a.strstart=0,a.block_start=0,a.insert=0))),xt(t),0===t.avail_out))return a.last_flush=-1,tt;}return e!==V?tt:a.wrap<=0?et:(2===a.wrap?(At(a,255&t.adler),At(a,t.adler>>8&255),At(a,t.adler>>16&255),At(a,t.adler>>24&255),At(a,255&t.total_in),At(a,t.total_in>>8&255),At(a,t.total_in>>16&255),At(a,t.total_in>>24&255)):(Et(a,t.adler>>>16),Et(a,65535&t.adler)),xt(t),a.wrap>0&&(a.wrap=-a.wrap),0!==a.pending?tt:et);},deflateEnd:function deflateEnd(t){if(Lt(t))return at;var e=t.state.status;return t.state=null,e===mt?gt(t,it):tt;},deflateSetDictionary:function deflateSetDictionary(t,e){var a=e.length;if(Lt(t))return at;var i=t.state,n=i.wrap;if(2===n||1===n&&i.status!==wt||i.lookahead)return at;if(1===n&&(t.adler=C(t.adler,e,a,0)),i.wrap=0,a>=i.w_size){0===n&&(kt(i.head),i.strstart=0,i.block_start=0,i.insert=0);var _t2=new Uint8Array(i.w_size);_t2.set(e.subarray(a-i.w_size,a),0),e=_t2,a=i.w_size;}var s=t.avail_in,r=t.next_in,o=t.input;for(t.avail_in=a,t.next_in=0,t.input=e,Ut(i);i.lookahead>=3;){var _t3=i.strstart,_e7=i.lookahead-2;do{i.ins_h=yt(i,i.ins_h,i.window[_t3+3-1]),i.prev[_t3&i.w_mask]=i.head[i.ins_h],i.head[i.ins_h]=_t3,_t3++;}while(--_e7);i.strstart=_t3,i.lookahead=2,Ut(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=r,t.input=o,t.avail_in=s,i.wrap=n,tt;},deflateInfo:"pako deflate (from Nodeca project)"};var Ht=function Ht(t,e){return Object.prototype.hasOwnProperty.call(t,e);};var jt=function jt(t){var e=Array.prototype.slice.call(arguments,1);for(;e.length;){var _a7=e.shift();if(_a7){if("object"!=_typeof(_a7))throw new TypeError(_a7+"must be non-object");for(var _e8 in _a7){Ht(_a7,_e8)&&(t[_e8]=_a7[_e8]);}}}return t;},Kt=function Kt(t){var e=0;for(var _a8=0,_i511=t.length;_a8<_i511;_a8++){e+=t[_a8].length;}var a=new Uint8Array(e);for(var _e9=0,_i512=0,_n4=t.length;_e9<_n4;_e9++){var _n5=t[_e9];a.set(_n5,_i512),_i512+=_n5.length;}return a;};var Pt=!0;try{String.fromCharCode.apply(null,new Uint8Array(1));}catch(t){Pt=!1;}var Yt=new Uint8Array(256);for(var _t4=0;_t4<256;_t4++){Yt[_t4]=_t4>=252?6:_t4>=248?5:_t4>=240?4:_t4>=224?3:_t4>=192?2:1;}Yt[254]=Yt[254]=1;var Gt=function Gt(t){if("function"==typeof TextEncoder&&TextEncoder.prototype.encode)return new TextEncoder().encode(t);var e,a,i,n,s,r=t.length,o=0;for(n=0;n>>6,e[s++]=128|63&a):a<65536?(e[s++]=224|a>>>12,e[s++]=128|a>>>6&63,e[s++]=128|63&a):(e[s++]=240|a>>>18,e[s++]=128|a>>>12&63,e[s++]=128|a>>>6&63,e[s++]=128|63&a);}return e;},Xt=function Xt(t,e){var a=e||t.length;if("function"==typeof TextDecoder&&TextDecoder.prototype.decode)return new TextDecoder().decode(t.subarray(0,e));var i,n;var s=new Array(2*a);for(n=0,i=0;i4)s[n++]=65533,i+=_r6-1;else{for(_e10&=2===_r6?31:3===_r6?15:7;_r6>1&&i1?s[n++]=65533:_e10<65536?s[n++]=_e10:(_e10-=65536,s[n++]=55296|_e10>>10&1023,s[n++]=56320|1023&_e10);}}return function(t,e){if(e<65534&&t.subarray&&Pt)return String.fromCharCode.apply(null,t.length===e?t:t.subarray(0,e));var a="";for(var _i513=0;_i513t.length&&(e=t.length);var a=e-1;for(;a>=0&&128==(192&t[a]);){a--;}return a<0||0===a?e:a+Yt[t[a]]>e?a:e;};var qt=function qt(){this.input=null,this.next_in=0,this.avail_in=0,this.total_in=0,this.output=null,this.next_out=0,this.avail_out=0,this.total_out=0,this.msg="",this.state=null,this.data_type=2,this.adler=0;};var Jt=Object.prototype.toString,Qt=K.Z_NO_FLUSH,Vt=K.Z_SYNC_FLUSH,$t=K.Z_FULL_FLUSH,te=K.Z_FINISH,ee=K.Z_OK,ae=K.Z_STREAM_END,ie=K.Z_DEFAULT_COMPRESSION,ne=K.Z_DEFAULT_STRATEGY,se=K.Z_DEFLATED;function re(t){this.options=jt({level:ie,method:se,chunkSize:16384,windowBits:15,memLevel:8,strategy:ne},t||{});var 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 qt(),this.strm.avail_out=0;var a=Mt.deflateInit2(this.strm,e.level,e.method,e.windowBits,e.memLevel,e.strategy);if(a!==ee)throw new Error(j[a]);if(e.header&&Mt.deflateSetHeader(this.strm,e.header),e.dictionary){var _t5;if(_t5="string"==typeof e.dictionary?Gt(e.dictionary):"[object ArrayBuffer]"===Jt.call(e.dictionary)?new Uint8Array(e.dictionary):e.dictionary,a=Mt.deflateSetDictionary(this.strm,_t5),a!==ee)throw new Error(j[a]);this._dict_set=!0;}}function oe(t,e){var a=new re(e);if(a.push(t,!0),a.err)throw a.msg||j[a.err];return a.result;}re.prototype.push=function(t,e){var a=this.strm,i=this.options.chunkSize;var n,s;if(this.ended)return!1;for(s=e===~~e?e:!0===e?te:Qt,"string"==typeof t?a.input=Gt(t):"[object ArrayBuffer]"===Jt.call(t)?a.input=new Uint8Array(t):a.input=t,a.next_in=0,a.avail_in=a.input.length;;){if(0===a.avail_out&&(a.output=new Uint8Array(i),a.next_out=0,a.avail_out=i),(s===Vt||s===$t)&&a.avail_out<=6)this.onData(a.output.subarray(0,a.next_out)),a.avail_out=0;else{if(n=Mt.deflate(a,s),n===ae)return a.next_out>0&&this.onData(a.output.subarray(0,a.next_out)),n=Mt.deflateEnd(this.strm),this.onEnd(n),this.ended=!0,n===ee;if(0!==a.avail_out){if(s>0&&a.next_out>0)this.onData(a.output.subarray(0,a.next_out)),a.avail_out=0;else if(0===a.avail_in)break;}else this.onData(a.output);}}return!0;},re.prototype.onData=function(t){this.chunks.push(t);},re.prototype.onEnd=function(t){t===ee&&(this.result=Kt(this.chunks)),this.chunks=[],this.err=t,this.msg=this.strm.msg;};var le={Deflate:re,deflate:oe,deflateRaw:function deflateRaw(t,e){return(e=e||{}).raw=!0,oe(t,e);},gzip:function gzip(t,e){return(e=e||{}).gzip=!0,oe(t,e);},constants:K};var he=16209;var de=function de(t,e){var a,i,n,s,r,o,l,h,d,_,f,c,u,w,m,b,g,p,k,v,y,x,z,A;var E=t.state;a=t.next_in,z=t.input,i=a+(t.avail_in-5),n=t.next_out,A=t.output,s=n-(e-t.avail_out),r=n+(t.avail_out-257),o=E.dmax,l=E.wsize,h=E.whave,d=E.wnext,_=E.window,f=E.hold,c=E.bits,u=E.lencode,w=E.distcode,m=(1<>>24,f>>>=p,c-=p,p=g>>>16&255,0===p)A[n++]=65535&g;else{if(!(16&p)){if(0==(64&p)){g=u[(65535&g)+(f&(1<>>=p,c-=p),c<15&&(f+=z[a++]<>>24,f>>>=p,c-=p,p=g>>>16&255,!(16&p)){if(0==(64&p)){g=w[(65535&g)+(f&(1<o){t.msg="invalid distance too far back",E.mode=he;break t;}if(f>>>=p,c-=p,p=n-s,v>p){if(p=v-p,p>h&&E.sane){t.msg="invalid distance too far back",E.mode=he;break t;}if(y=0,x=_,0===d){if(y+=l-p,p2;){A[n++]=x[y++],A[n++]=x[y++],A[n++]=x[y++],k-=3;}k&&(A[n++]=x[y++],k>1&&(A[n++]=x[y++]));}else{y=n-v;do{A[n++]=A[y++],A[n++]=A[y++],A[n++]=A[y++],k-=3;}while(k>2);k&&(A[n++]=A[y++],k>1&&(A[n++]=A[y++]));}break;}}break;}}while(a>3,a-=k,c-=k<<3,f&=(1<=1&&0===E[g];g--){;}if(p>g&&(p=g),0===g)return n[s++]=20971520,n[s++]=20971520,o.bits=1,0;for(b=1;b0&&(0===t||1!==g))return-1;for(R[1]=0,w=1;w<_e;w++){R[w+1]=R[w]+E[w];}for(m=0;m852||2===t&&x>592)return 1;for(;;){Z=w-v,r[m]+1=u?(U=D[r[m]-u],S=A[r[m]-u]):(U=96,S=0),h=1<>v)+d]=Z<<24|U<<16|S|0;}while(0!==d);for(h=1<>=1;}if(0!==h?(z&=h-1,z+=h):z=0,m++,0==--E[w]){if(w===g)break;w=e[a+r[m]];}if(w>p&&(z&f)!==_){for(0===v&&(v=p),c+=b,k=w-v,y=1<852||2===t&&x>592)return 1;_=z&f,n[_]=p<<24|k<<16|c-s|0;}}return 0!==z&&(n[c+z]=w-v<<24|64<<16|0),o.bits=p,0;};var be=K.Z_FINISH,ge=K.Z_BLOCK,pe=K.Z_TREES,ke=K.Z_OK,ve=K.Z_STREAM_END,ye=K.Z_NEED_DICT,xe=K.Z_STREAM_ERROR,ze=K.Z_DATA_ERROR,Ae=K.Z_MEM_ERROR,Ee=K.Z_BUF_ERROR,Re=K.Z_DEFLATED,Ze=16180,Ue=16190,Se=16191,De=16192,Te=16194,Oe=16199,Ie=16200,Fe=16206,Le=16209,Ne=function Ne(t){return(t>>>24&255)+(t>>>8&65280)+((65280&t)<<8)+((255&t)<<24);};function Be(){this.strm=null,this.mode=0,this.last=!1,this.wrap=0,this.havedict=!1,this.flags=0,this.dmax=0,this.check=0,this.total=0,this.head=null,this.wbits=0,this.wsize=0,this.whave=0,this.wnext=0,this.window=null,this.hold=0,this.bits=0,this.length=0,this.offset=0,this.extra=0,this.lencode=null,this.distcode=null,this.lenbits=0,this.distbits=0,this.ncode=0,this.nlen=0,this.ndist=0,this.have=0,this.next=null,this.lens=new Uint16Array(320),this.work=new Uint16Array(288),this.lendyn=null,this.distdyn=null,this.sane=0,this.back=0,this.was=0;}var Ce=function Ce(t){if(!t)return 1;var e=t.state;return!e||e.strm!==t||e.mode16211?1:0;},Me=function Me(t){if(Ce(t))return xe;var e=t.state;return t.total_in=t.total_out=e.total=0,t.msg="",e.wrap&&(t.adler=1&e.wrap),e.mode=Ze,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,ke;},He=function He(t){if(Ce(t))return xe;var e=t.state;return e.wsize=0,e.whave=0,e.wnext=0,Me(t);},je=function je(t,e){var a;if(Ce(t))return xe;var i=t.state;return e<0?(a=0,e=-e):(a=5+(e>>4),e<48&&(e&=15)),e&&(e<8||e>15)?xe:(null!==i.window&&i.wbits!==e&&(i.window=null),i.wrap=a,i.wbits=e,He(t));},Ke=function Ke(t,e){if(!t)return xe;var a=new Be();t.state=a,a.strm=t,a.window=null,a.mode=Ze;var i=je(t,e);return i!==ke&&(t.state=null),i;};var Pe,Ye,Ge=!0;var Xe=function Xe(t){if(Ge){Pe=new Int32Array(512),Ye=new Int32Array(32);var _e11=0;for(;_e11<144;){t.lens[_e11++]=8;}for(;_e11<256;){t.lens[_e11++]=9;}for(;_e11<280;){t.lens[_e11++]=7;}for(;_e11<288;){t.lens[_e11++]=8;}for(me(1,t.lens,0,288,Pe,0,t.work,{bits:9}),_e11=0;_e11<32;){t.lens[_e11++]=5;}me(2,t.lens,0,32,Ye,0,t.work,{bits:5}),Ge=!1;}t.lencode=Pe,t.lenbits=9,t.distcode=Ye,t.distbits=5;},We=function We(t,e,a,i){var n;var s=t.state;return null===s.window&&(s.wsize=1<=s.wsize?(s.window.set(e.subarray(a-s.wsize,a),0),s.wnext=0,s.whave=s.wsize):(n=s.wsize-s.wnext,n>i&&(n=i),s.window.set(e.subarray(a-i,a-i+n),s.wnext),(i-=n)?(s.window.set(e.subarray(a-i,a),0),s.wnext=i,s.whave=s.wsize):(s.wnext+=n,s.wnext===s.wsize&&(s.wnext=0),s.whave>>8&255,a.check=H(a.check,A,2,0),h=0,d=0,a.mode=16181;break;}if(a.head&&(a.head.done=!1),!(1&a.wrap)||(((255&h)<<8)+(h>>8))%31){t.msg="incorrect header check",a.mode=Le;break;}if((15&h)!==Re){t.msg="unknown compression method",a.mode=Le;break;}if(h>>>=4,d-=4,y=8+(15&h),0===a.wbits&&(a.wbits=y),y>15||y>a.wbits){t.msg="invalid window size",a.mode=Le;break;}a.dmax=1<>8&1),512&a.flags&&4&a.wrap&&(A[0]=255&h,A[1]=h>>>8&255,a.check=H(a.check,A,2,0)),h=0,d=0,a.mode=16182;case 16182:for(;d<32;){if(0===o)break t;o--,h+=i[s++]<>>8&255,A[2]=h>>>16&255,A[3]=h>>>24&255,a.check=H(a.check,A,4,0)),h=0,d=0,a.mode=16183;case 16183:for(;d<16;){if(0===o)break t;o--,h+=i[s++]<>8),512&a.flags&&4&a.wrap&&(A[0]=255&h,A[1]=h>>>8&255,a.check=H(a.check,A,2,0)),h=0,d=0,a.mode=16184;case 16184:if(1024&a.flags){for(;d<16;){if(0===o)break t;o--,h+=i[s++]<>>8&255,a.check=H(a.check,A,2,0)),h=0,d=0;}else a.head&&(a.head.extra=null);a.mode=16185;case 16185:if(1024&a.flags&&(c=a.length,c>o&&(c=o),c&&(a.head&&(y=a.head.extra_len-a.length,a.head.extra||(a.head.extra=new Uint8Array(a.head.extra_len)),a.head.extra.set(i.subarray(s,s+c),y)),512&a.flags&&4&a.wrap&&(a.check=H(a.check,i,c,s)),o-=c,s+=c,a.length-=c),a.length))break t;a.length=0,a.mode=16186;case 16186:if(2048&a.flags){if(0===o)break t;c=0;do{y=i[s+c++],a.head&&y&&a.length<65536&&(a.head.name+=String.fromCharCode(y));}while(y&&c>9&1,a.head.done=!0),t.adler=a.check=0,a.mode=Se;break;case 16189:for(;d<32;){if(0===o)break t;o--,h+=i[s++]<>>=7&d,d-=7&d,a.mode=Fe;break;}for(;d<3;){if(0===o)break t;o--,h+=i[s++]<>>=1,d-=1,3&h){case 0:a.mode=16193;break;case 1:if(Xe(a),a.mode=Oe,e===pe){h>>>=2,d-=2;break t;}break;case 2:a.mode=16196;break;case 3:t.msg="invalid block type",a.mode=Le;}h>>>=2,d-=2;break;case 16193:for(h>>>=7&d,d-=7&d;d<32;){if(0===o)break t;o--,h+=i[s++]<>>16^65535)){t.msg="invalid stored block lengths",a.mode=Le;break;}if(a.length=65535&h,h=0,d=0,a.mode=Te,e===pe)break t;case Te:a.mode=16195;case 16195:if(c=a.length,c){if(c>o&&(c=o),c>l&&(c=l),0===c)break t;n.set(i.subarray(s,s+c),r),o-=c,s+=c,l-=c,r+=c,a.length-=c;break;}a.mode=Se;break;case 16196:for(;d<14;){if(0===o)break t;o--,h+=i[s++]<>>=5,d-=5,a.ndist=1+(31&h),h>>>=5,d-=5,a.ncode=4+(15&h),h>>>=4,d-=4,a.nlen>286||a.ndist>30){t.msg="too many length or distance symbols",a.mode=Le;break;}a.have=0,a.mode=16197;case 16197:for(;a.have>>=3,d-=3;}for(;a.have<19;){a.lens[Z[a.have++]]=0;}if(a.lencode=a.lendyn,a.lenbits=7,E={bits:a.lenbits},x=me(0,a.lens,0,19,a.lencode,0,a.work,E),a.lenbits=E.bits,x){t.msg="invalid code lengths set",a.mode=Le;break;}a.have=0,a.mode=16198;case 16198:for(;a.have>>24,b=z>>>16&255,g=65535&z,!(m<=d);){if(0===o)break t;o--,h+=i[s++]<>>=m,d-=m,a.lens[a.have++]=g;else{if(16===g){for(R=m+2;d>>=m,d-=m,0===a.have){t.msg="invalid bit length repeat",a.mode=Le;break;}y=a.lens[a.have-1],c=3+(3&h),h>>>=2,d-=2;}else if(17===g){for(R=m+3;d>>=m,d-=m,y=0,c=3+(7&h),h>>>=3,d-=3;}else{for(R=m+7;d>>=m,d-=m,y=0,c=11+(127&h),h>>>=7,d-=7;}if(a.have+c>a.nlen+a.ndist){t.msg="invalid bit length repeat",a.mode=Le;break;}for(;c--;){a.lens[a.have++]=y;}}}if(a.mode===Le)break;if(0===a.lens[256]){t.msg="invalid code -- missing end-of-block",a.mode=Le;break;}if(a.lenbits=9,E={bits:a.lenbits},x=me(1,a.lens,0,a.nlen,a.lencode,0,a.work,E),a.lenbits=E.bits,x){t.msg="invalid literal/lengths set",a.mode=Le;break;}if(a.distbits=6,a.distcode=a.distdyn,E={bits:a.distbits},x=me(2,a.lens,a.nlen,a.ndist,a.distcode,0,a.work,E),a.distbits=E.bits,x){t.msg="invalid distances set",a.mode=Le;break;}if(a.mode=Oe,e===pe)break t;case Oe:a.mode=Ie;case Ie:if(o>=6&&l>=258){t.next_out=r,t.avail_out=l,t.next_in=s,t.avail_in=o,a.hold=h,a.bits=d,de(t,f),r=t.next_out,n=t.output,l=t.avail_out,s=t.next_in,i=t.input,o=t.avail_in,h=a.hold,d=a.bits,a.mode===Se&&(a.back=-1);break;}for(a.back=0;z=a.lencode[h&(1<>>24,b=z>>>16&255,g=65535&z,!(m<=d);){if(0===o)break t;o--,h+=i[s++]<>p)],m=z>>>24,b=z>>>16&255,g=65535&z,!(p+m<=d);){if(0===o)break t;o--,h+=i[s++]<>>=p,d-=p,a.back+=p;}if(h>>>=m,d-=m,a.back+=m,a.length=g,0===b){a.mode=16205;break;}if(32&b){a.back=-1,a.mode=Se;break;}if(64&b){t.msg="invalid literal/length code",a.mode=Le;break;}a.extra=15&b,a.mode=16201;case 16201:if(a.extra){for(R=a.extra;d>>=a.extra,d-=a.extra,a.back+=a.extra;}a.was=a.length,a.mode=16202;case 16202:for(;z=a.distcode[h&(1<>>24,b=z>>>16&255,g=65535&z,!(m<=d);){if(0===o)break t;o--,h+=i[s++]<>p)],m=z>>>24,b=z>>>16&255,g=65535&z,!(p+m<=d);){if(0===o)break t;o--,h+=i[s++]<>>=p,d-=p,a.back+=p;}if(h>>>=m,d-=m,a.back+=m,64&b){t.msg="invalid distance code",a.mode=Le;break;}a.offset=g,a.extra=15&b,a.mode=16203;case 16203:if(a.extra){for(R=a.extra;d>>=a.extra,d-=a.extra,a.back+=a.extra;}if(a.offset>a.dmax){t.msg="invalid distance too far back",a.mode=Le;break;}a.mode=16204;case 16204:if(0===l)break t;if(c=f-l,a.offset>c){if(c=a.offset-c,c>a.whave&&a.sane){t.msg="invalid distance too far back",a.mode=Le;break;}c>a.wnext?(c-=a.wnext,u=a.wsize-c):u=a.wnext-c,c>a.length&&(c=a.length),w=a.window;}else w=n,u=r-a.offset,c=a.length;c>l&&(c=l),l-=c,a.length-=c;do{n[r++]=w[u++];}while(--c);0===a.length&&(a.mode=Ie);break;case 16205:if(0===l)break t;n[r++]=a.length,l--,a.mode=Ie;break;case Fe:if(a.wrap){for(;d<32;){if(0===o)break t;o--,h|=i[s++]<=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&&0==(15&e.windowBits)&&(e.windowBits|=15),this.err=0,this.msg="",this.ended=!1,this.chunks=[],this.strm=new qt(),this.strm.avail_out=0;var a=qe.inflateInit2(this.strm,e.windowBits);if(a!==ta)throw new Error(j[a]);if(this.header=new Je(),qe.inflateGetHeader(this.strm,this.header),e.dictionary&&("string"==typeof e.dictionary?e.dictionary=Gt(e.dictionary):"[object ArrayBuffer]"===Qe.call(e.dictionary)&&(e.dictionary=new Uint8Array(e.dictionary)),e.raw&&(a=qe.inflateSetDictionary(this.strm,e.dictionary),a!==ta)))throw new Error(j[a]);}function oa(t,e){var a=new ra(e);if(a.push(t),a.err)throw a.msg||j[a.err];return a.result;}ra.prototype.push=function(t,e){var a=this.strm,i=this.options.chunkSize,n=this.options.dictionary;var s,r,o;if(this.ended)return!1;for(r=e===~~e?e:!0===e?$e:Ve,"[object ArrayBuffer]"===Qe.call(t)?a.input=new Uint8Array(t):a.input=t,a.next_in=0,a.avail_in=a.input.length;;){for(0===a.avail_out&&(a.output=new Uint8Array(i),a.next_out=0,a.avail_out=i),s=qe.inflate(a,r),s===aa&&n&&(s=qe.inflateSetDictionary(a,n),s===ta?s=qe.inflate(a,r):s===na&&(s=aa));a.avail_in>0&&s===ea&&a.state.wrap>0&&0!==t[a.next_in];){qe.inflateReset(a),s=qe.inflate(a,r);}switch(s){case ia:case na:case aa:case sa:return this.onEnd(s),this.ended=!0,!1;}if(o=a.avail_out,a.next_out&&(0===a.avail_out||s===ea))if("string"===this.options.to){var _t6=Wt(a.output,a.next_out),_e12=a.next_out-_t6,_n6=Xt(a.output,_t6);a.next_out=_e12,a.avail_out=i-_e12,_e12&&a.output.set(a.output.subarray(_t6,_t6+_e12),0),this.onData(_n6);}else this.onData(a.output.length===a.next_out?a.output:a.output.subarray(0,a.next_out));if(s!==ta||0!==o){if(s===ea)return s=qe.inflateEnd(this.strm),this.onEnd(s),this.ended=!0,!0;if(0===a.avail_in)break;}}return!0;},ra.prototype.onData=function(t){this.chunks.push(t);},ra.prototype.onEnd=function(t){t===ta&&("string"===this.options.to?this.result=this.chunks.join(""):this.result=Kt(this.chunks)),this.chunks=[],this.err=t,this.msg=this.strm.msg;};var la={Inflate:ra,inflate:oa,inflateRaw:function inflateRaw(t,e){return(e=e||{}).raw=!0,oa(t,e);},ungzip:oa,constants:K};var ha=le.Deflate,da=le.deflate,_a=le.deflateRaw,fa=le.gzip,ca=la.Inflate,ua=la.inflate,wa=la.inflateRaw,ma=la.ungzip;var ba=ha,ga=da,pa=_a,ka=fa,va=ca,ya=ua,xa=wa,za=ma,Aa=K,Ea={Deflate:ba,deflate:ga,deflateRaw:pa,gzip:ka,Inflate:va,inflate:ya,inflateRaw:xa,ungzip:za,constants:Aa};t.Deflate=ba,t.Inflate=va,t.constants=Aa,t["default"]=Ea,t.deflate=ga,t.deflateRaw=pa,t.gzip=ka,t.inflate=ya,t.inflateRaw=xa,t.ungzip=za,Object.defineProperty(t,"__esModule",{value:!0});});var p=/*#__PURE__*/Object.freeze({__proto__:null});/* +var isBase64=!!dataUriRegexResult[2];var data=dataUriRegexResult[3];data=window.decodeURIComponent(data);if(isBase64){data=window.atob(data);}try{var buffer=new ArrayBuffer(data.length);var view=new Uint8Array(buffer);for(var i=0;i=0;){t[e]=0;}}var a=256,i=286,n=30,s=15,r=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]),o=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]),l=new Uint8Array([0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,7]),h=new Uint8Array([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]),d=new Array(576);e(d);var _=new Array(60);e(_);var f=new Array(512);e(f);var c=new Array(256);e(c);var u=new Array(29);e(u);var w=new Array(n);function m(t,e,a,i,n){this.static_tree=t,this.extra_bits=e,this.extra_base=a,this.elems=i,this.max_length=n,this.has_stree=t&&t.length;}var b,g,p;function k(t,e){this.dyn_tree=t,this.max_code=0,this.stat_desc=e;}e(w);var v=function v(t){return t<256?f[t]:f[256+(t>>>7)];},y=function y(t,e){t.pending_buf[t.pending++]=255&e,t.pending_buf[t.pending++]=e>>>8&255;},x=function x(t,e,a){t.bi_valid>16-a?(t.bi_buf|=e<>16-t.bi_valid,t.bi_valid+=a-16):(t.bi_buf|=e<>>=1,a<<=1;}while(--e>0);return a>>>1;},E=function E(t,e,a){var i=new Array(16);var n,r,o=0;for(n=1;n<=s;n++){o=o+a[n-1]<<1,i[n]=o;}for(r=0;r<=e;r++){var _e2=t[2*r+1];0!==_e2&&(t[2*r]=A(i[_e2]++,_e2));}},R=function R(t){var e;for(e=0;e8?y(t,t.bi_buf):t.bi_valid>0&&(t.pending_buf[t.pending++]=t.bi_buf),t.bi_buf=0,t.bi_valid=0;},U=function U(t,e,a,i){var n=2*e,s=2*a;return t[n]>1;o>=1;o--){S(t,a,o);}h=r;do{o=t.heap[1],t.heap[1]=t.heap[t.heap_len--],S(t,a,1),l=t.heap[1],t.heap[--t.heap_max]=o,t.heap[--t.heap_max]=l,a[2*h]=a[2*o]+a[2*l],t.depth[h]=(t.depth[o]>=t.depth[l]?t.depth[o]:t.depth[l])+1,a[2*o+1]=a[2*l+1]=h,t.heap[1]=h++,S(t,a,1);}while(t.heap_len>=2);t.heap[--t.heap_max]=t.heap[1],function(t,e){var a=e.dyn_tree,i=e.max_code,n=e.stat_desc.static_tree,r=e.stat_desc.has_stree,o=e.stat_desc.extra_bits,l=e.stat_desc.extra_base,h=e.stat_desc.max_length;var d,_,f,c,u,w,m=0;for(c=0;c<=s;c++){t.bl_count[c]=0;}for(a[2*t.heap[t.heap_max]+1]=0,d=t.heap_max+1;d<573;d++){_=t.heap[d],c=a[2*a[2*_+1]+1]+1,c>h&&(c=h,m++),a[2*_+1]=c,_>i||(t.bl_count[c]++,u=0,_>=l&&(u=o[_-l]),w=a[2*_],t.opt_len+=w*(c+u),r&&(t.static_len+=w*(n[2*_+1]+u)));}if(0!==m){do{for(c=h-1;0===t.bl_count[c];){c--;}t.bl_count[c]--,t.bl_count[c+1]+=2,t.bl_count[h]--,m-=2;}while(m>0);for(c=h;0!==c;c--){for(_=t.bl_count[c];0!==_;){f=t.heap[--d],f>i||(a[2*f+1]!==c&&(t.opt_len+=(c-a[2*f+1])*a[2*f],a[2*f+1]=c),_--);}}}}(t,e),E(a,d,t.bl_count);},O=function O(t,e,a){var i,n,s=-1,r=e[1],o=0,l=7,h=4;for(0===r&&(l=138,h=3),e[2*(a+1)+1]=65535,i=0;i<=a;i++){n=r,r=e[2*(i+1)+1],++o0?(2===t.strm.data_type&&(t.strm.data_type=function(t){var e,i=4093624447;for(e=0;e<=31;e++,i>>>=1){if(1&i&&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=3&&0===t.bl_tree[2*h[e]+1];e--){;}return t.opt_len+=3*(e+1)+5+5+4,e;}(t),s=t.opt_len+3+7>>>3,r=t.static_len+3+7>>>3,r<=s&&(s=r)):s=r=i+5,i+4<=s&&-1!==e?L(t,e,i,n):4===t.strategy||r===s?(x(t,2+(n?1:0),3),D(t,d,_)):(x(t,4+(n?1:0),3),function(t,e,a,i){var n;for(x(t,e-257,5),x(t,a-1,5),x(t,i-4,4),n=0;n>=7;h>8,t.pending_buf[t.sym_buf+t.sym_next++]=i,0===e?t.dyn_ltree[2*i]++:(t.matches++,e--,t.dyn_ltree[2*(c[i]+a+1)]++,t.dyn_dtree[2*v(e)]++),t.sym_next===t.sym_end;},_tr_align:function _tr_align(t){x(t,2,3),z(t,256,d),function(t){16===t.bi_valid?(y(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 C=function C(t,e,a,i){var n=65535&t|0,s=t>>>16&65535|0,r=0;for(;0!==a;){r=a>2e3?2e3:a,a-=r;do{n=n+e[i++]|0,s=s+n|0;}while(--r);n%=65521,s%=65521;}return n|s<<16|0;};var M=new Uint32Array(function(){var t,e=[];for(var a=0;a<256;a++){t=a;for(var i=0;i<8;i++){t=1&t?3988292384^t>>>1:t>>>1;}e[a]=t;}return e;}());var H=function H(t,e,a,i){var n=M,s=i+a;t^=-1;for(var _a6=i;_a6>>8^n[255&(t^e[_a6])];}return-1^t;},j={2:"need dictionary",1:"stream end",0:"","-1":"file error","-2":"stream error","-3":"data error","-4":"insufficient memory","-5":"buffer error","-6":"incompatible version"},K={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};var P=B._tr_init,Y=B._tr_stored_block,G=B._tr_flush_block,X=B._tr_tally,W=B._tr_align,q=K.Z_NO_FLUSH,J=K.Z_PARTIAL_FLUSH,Q=K.Z_FULL_FLUSH,V=K.Z_FINISH,$=K.Z_BLOCK,tt=K.Z_OK,et=K.Z_STREAM_END,at=K.Z_STREAM_ERROR,it=K.Z_DATA_ERROR,nt=K.Z_BUF_ERROR,st=K.Z_DEFAULT_COMPRESSION,rt=K.Z_FILTERED,ot=K.Z_HUFFMAN_ONLY,lt=K.Z_RLE,ht=K.Z_FIXED,dt=K.Z_DEFAULT_STRATEGY,_t=K.Z_UNKNOWN,ft=K.Z_DEFLATED,ct=258,ut=262,wt=42,mt=113,bt=666,gt=function gt(t,e){return t.msg=j[e],e;},pt=function pt(t){return 2*t-(t>4?9:0);},kt=function kt(t){var e=t.length;for(;--e>=0;){t[e]=0;}},vt=function vt(t){var e,a,i,n=t.w_size;e=t.hash_size,i=e;do{a=t.head[--i],t.head[i]=a>=n?a-n:0;}while(--e);e=n,i=e;do{a=t.prev[--i],t.prev[i]=a>=n?a-n:0;}while(--e);};var yt=function yt(t,e,a){return(e<t.avail_out&&(a=t.avail_out),0!==a&&(t.output.set(e.pending_buf.subarray(e.pending_out,e.pending_out+a),t.next_out),t.next_out+=a,e.pending_out+=a,t.total_out+=a,t.avail_out-=a,e.pending-=a,0===e.pending&&(e.pending_out=0));},zt=function zt(t,e){G(t,t.block_start>=0?t.block_start:-1,t.strstart-t.block_start,e),t.block_start=t.strstart,xt(t.strm);},At=function At(t,e){t.pending_buf[t.pending++]=e;},Et=function Et(t,e){t.pending_buf[t.pending++]=e>>>8&255,t.pending_buf[t.pending++]=255&e;},Rt=function Rt(t,e,a,i){var n=t.avail_in;return n>i&&(n=i),0===n?0:(t.avail_in-=n,e.set(t.input.subarray(t.next_in,t.next_in+n),a),1===t.state.wrap?t.adler=C(t.adler,e,n,a):2===t.state.wrap&&(t.adler=H(t.adler,e,n,a)),t.next_in+=n,t.total_in+=n,n);},Zt=function Zt(t,e){var a,i,n=t.max_chain_length,s=t.strstart,r=t.prev_length,o=t.nice_match;var l=t.strstart>t.w_size-ut?t.strstart-(t.w_size-ut):0,h=t.window,d=t.w_mask,_=t.prev,f=t.strstart+ct;var c=h[s+r-1],u=h[s+r];t.prev_length>=t.good_match&&(n>>=2),o>t.lookahead&&(o=t.lookahead);do{if(a=e,h[a+r]===u&&h[a+r-1]===c&&h[a]===h[s]&&h[++a]===h[s+1]){s+=2,a++;do{}while(h[++s]===h[++a]&&h[++s]===h[++a]&&h[++s]===h[++a]&&h[++s]===h[++a]&&h[++s]===h[++a]&&h[++s]===h[++a]&&h[++s]===h[++a]&&h[++s]===h[++a]&&sr){if(t.match_start=e,r=i,i>=o)break;c=h[s+r-1],u=h[s+r];}}}while((e=_[e&d])>l&&0!=--n);return r<=t.lookahead?r:t.lookahead;},Ut=function Ut(t){var e=t.w_size;var a,i,n;do{if(i=t.window_size-t.lookahead-t.strstart,t.strstart>=e+(e-ut)&&(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),vt(t),i+=e),0===t.strm.avail_in)break;if(a=Rt(t.strm,t.window,t.strstart+t.lookahead,i),t.lookahead+=a,t.lookahead+t.insert>=3)for(n=t.strstart-t.insert,t.ins_h=t.window[n],t.ins_h=yt(t,t.ins_h,t.window[n+1]);t.insert&&(t.ins_h=yt(t,t.ins_h,t.window[n+3-1]),t.prev[n&t.w_mask]=t.head[t.ins_h],t.head[t.ins_h]=n,n++,t.insert--,!(t.lookahead+t.insert<3));){;}}while(t.lookaheadt.w_size?t.w_size:t.pending_buf_size-5,r=0,o=t.strm.avail_in;do{if(a=65535,n=t.bi_valid+42>>3,t.strm.avail_outi+t.strm.avail_in&&(a=i+t.strm.avail_in),a>n&&(a=n),a>8,t.pending_buf[t.pending-2]=~a,t.pending_buf[t.pending-1]=~a>>8,xt(t.strm),i&&(i>a&&(i=a),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,a-=i),a&&(Rt(t.strm,t.strm.output,t.strm.next_out,a),t.strm.next_out+=a,t.strm.avail_out-=a,t.strm.total_out+=a);}while(0===r);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_watern&&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++,n+=t.w_size,t.insert>t.strstart&&(t.insert=t.strstart)),n>t.strm.avail_in&&(n=t.strm.avail_in),n&&(Rt(t.strm,t.window,t.strstart,n),t.strstart+=n,t.insert+=n>t.w_size-t.insert?t.w_size-t.insert:n),t.high_water>3,n=t.pending_buf_size-n>65535?65535:t.pending_buf_size-n,s=n>t.w_size?t.w_size:n,i=t.strstart-t.block_start,(i>=s||(i||e===V)&&e!==q&&0===t.strm.avail_in&&i<=n)&&(a=i>n?n:i,r=e===V&&0===t.strm.avail_in&&a===i?1:0,Y(t,t.block_start,a,r),t.block_start+=a,xt(t.strm)),r?3:1);},Dt=function Dt(t,e){var a,i;for(;;){if(t.lookahead=3&&(t.ins_h=yt(t,t.ins_h,t.window[t.strstart+3-1]),a=t.prev[t.strstart&t.w_mask]=t.head[t.ins_h],t.head[t.ins_h]=t.strstart),0!==a&&t.strstart-a<=t.w_size-ut&&(t.match_length=Zt(t,a)),t.match_length>=3){if(i=X(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=yt(t,t.ins_h,t.window[t.strstart+3-1]),a=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=yt(t,t.ins_h,t.window[t.strstart+1]);}else i=X(t,0,t.window[t.strstart]),t.lookahead--,t.strstart++;if(i&&(zt(t,!1),0===t.strm.avail_out))return 1;}return t.insert=t.strstart<2?t.strstart:2,e===V?(zt(t,!0),0===t.strm.avail_out?3:4):t.sym_next&&(zt(t,!1),0===t.strm.avail_out)?1:2;},Tt=function Tt(t,e){var a,i,n;for(;;){if(t.lookahead=3&&(t.ins_h=yt(t,t.ins_h,t.window[t.strstart+3-1]),a=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!==a&&t.prev_length4096)&&(t.match_length=2)),t.prev_length>=3&&t.match_length<=t.prev_length){n=t.strstart+t.lookahead-3,i=X(t,t.strstart-1-t.prev_match,t.prev_length-3),t.lookahead-=t.prev_length-1,t.prev_length-=2;do{++t.strstart<=n&&(t.ins_h=yt(t,t.ins_h,t.window[t.strstart+3-1]),a=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&&(zt(t,!1),0===t.strm.avail_out))return 1;}else if(t.match_available){if(i=X(t,0,t.window[t.strstart-1]),i&&zt(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=X(t,0,t.window[t.strstart-1]),t.match_available=0),t.insert=t.strstart<2?t.strstart:2,e===V?(zt(t,!0),0===t.strm.avail_out?3:4):t.sym_next&&(zt(t,!1),0===t.strm.avail_out)?1:2;};function Ot(t,e,a,i,n){this.good_length=t,this.max_lazy=e,this.nice_length=a,this.max_chain=i,this.func=n;}var It=[new Ot(0,0,0,0,St),new Ot(4,4,8,4,Dt),new Ot(4,5,16,8,Dt),new Ot(4,6,32,32,Dt),new Ot(4,4,16,16,Tt),new Ot(8,16,32,32,Tt),new Ot(8,16,128,128,Tt),new Ot(8,32,128,256,Tt),new Ot(32,128,258,1024,Tt),new Ot(32,258,258,4096,Tt)];function Ft(){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=ft,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),kt(this.dyn_ltree),kt(this.dyn_dtree),kt(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),kt(this.heap),this.heap_len=0,this.heap_max=0,this.depth=new Uint16Array(573),kt(this.depth),this.sym_buf=0,this.lit_bufsize=0,this.sym_next=0,this.sym_end=0,this.opt_len=0,this.static_len=0,this.matches=0,this.insert=0,this.bi_buf=0,this.bi_valid=0;}var Lt=function Lt(t){if(!t)return 1;var e=t.state;return!e||e.strm!==t||e.status!==wt&&57!==e.status&&69!==e.status&&73!==e.status&&91!==e.status&&103!==e.status&&e.status!==mt&&e.status!==bt?1:0;},Nt=function Nt(t){if(Lt(t))return gt(t,at);t.total_in=t.total_out=0,t.data_type=_t;var 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?wt:mt,t.adler=2===e.wrap?0:1,e.last_flush=-2,P(e),tt;},Bt=function Bt(t){var e=Nt(t);var a;return e===tt&&((a=t.state).window_size=2*a.w_size,kt(a.head),a.max_lazy_match=It[a.level].max_lazy,a.good_match=It[a.level].good_length,a.nice_match=It[a.level].nice_length,a.max_chain_length=It[a.level].max_chain,a.strstart=0,a.block_start=0,a.lookahead=0,a.insert=0,a.match_length=a.prev_length=2,a.match_available=0,a.ins_h=0),e;},Ct=function Ct(t,e,a,i,n,s){if(!t)return at;var r=1;if(e===st&&(e=6),i<0?(r=0,i=-i):i>15&&(r=2,i-=16),n<1||n>9||a!==ft||i<8||i>15||e<0||e>9||s<0||s>ht||8===i&&1!==r)return gt(t,at);8===i&&(i=9);var o=new Ft();return t.state=o,o.strm=t,o.status=wt,o.wrap=r,o.gzhead=null,o.w_bits=i,o.w_size=1<$||e<0)return t?gt(t,at):at;var a=t.state;if(!t.output||0!==t.avail_in&&!t.input||a.status===bt&&e!==V)return gt(t,0===t.avail_out?nt:at);var i=a.last_flush;if(a.last_flush=e,0!==a.pending){if(xt(t),0===t.avail_out)return a.last_flush=-1,tt;}else if(0===t.avail_in&&pt(e)<=pt(i)&&e!==V)return gt(t,nt);if(a.status===bt&&0!==t.avail_in)return gt(t,nt);if(a.status===wt&&0===a.wrap&&(a.status=mt),a.status===wt){var _e3=ft+(a.w_bits-8<<4)<<8,_i513=-1;if(_i513=a.strategy>=ot||a.level<2?0:a.level<6?1:6===a.level?2:3,_e3|=_i513<<6,0!==a.strstart&&(_e3|=32),_e3+=31-_e3%31,Et(a,_e3),0!==a.strstart&&(Et(a,t.adler>>>16),Et(a,65535&t.adler)),t.adler=1,a.status=mt,xt(t),0!==a.pending)return a.last_flush=-1,tt;}if(57===a.status)if(t.adler=0,At(a,31),At(a,139),At(a,8),a.gzhead)At(a,(a.gzhead.text?1:0)+(a.gzhead.hcrc?2:0)+(a.gzhead.extra?4:0)+(a.gzhead.name?8:0)+(a.gzhead.comment?16:0)),At(a,255&a.gzhead.time),At(a,a.gzhead.time>>8&255),At(a,a.gzhead.time>>16&255),At(a,a.gzhead.time>>24&255),At(a,9===a.level?2:a.strategy>=ot||a.level<2?4:0),At(a,255&a.gzhead.os),a.gzhead.extra&&a.gzhead.extra.length&&(At(a,255&a.gzhead.extra.length),At(a,a.gzhead.extra.length>>8&255)),a.gzhead.hcrc&&(t.adler=H(t.adler,a.pending_buf,a.pending,0)),a.gzindex=0,a.status=69;else if(At(a,0),At(a,0),At(a,0),At(a,0),At(a,0),At(a,9===a.level?2:a.strategy>=ot||a.level<2?4:0),At(a,3),a.status=mt,xt(t),0!==a.pending)return a.last_flush=-1,tt;if(69===a.status){if(a.gzhead.extra){var _e4=a.pending,_i514=(65535&a.gzhead.extra.length)-a.gzindex;for(;a.pending+_i514>a.pending_buf_size;){var _n3=a.pending_buf_size-a.pending;if(a.pending_buf.set(a.gzhead.extra.subarray(a.gzindex,a.gzindex+_n3),a.pending),a.pending=a.pending_buf_size,a.gzhead.hcrc&&a.pending>_e4&&(t.adler=H(t.adler,a.pending_buf,a.pending-_e4,_e4)),a.gzindex+=_n3,xt(t),0!==a.pending)return a.last_flush=-1,tt;_e4=0,_i514-=_n3;}var _n2=new Uint8Array(a.gzhead.extra);a.pending_buf.set(_n2.subarray(a.gzindex,a.gzindex+_i514),a.pending),a.pending+=_i514,a.gzhead.hcrc&&a.pending>_e4&&(t.adler=H(t.adler,a.pending_buf,a.pending-_e4,_e4)),a.gzindex=0;}a.status=73;}if(73===a.status){if(a.gzhead.name){var _e5,_i515=a.pending;do{if(a.pending===a.pending_buf_size){if(a.gzhead.hcrc&&a.pending>_i515&&(t.adler=H(t.adler,a.pending_buf,a.pending-_i515,_i515)),xt(t),0!==a.pending)return a.last_flush=-1,tt;_i515=0;}_e5=a.gzindex_i515&&(t.adler=H(t.adler,a.pending_buf,a.pending-_i515,_i515)),a.gzindex=0;}a.status=91;}if(91===a.status){if(a.gzhead.comment){var _e6,_i516=a.pending;do{if(a.pending===a.pending_buf_size){if(a.gzhead.hcrc&&a.pending>_i516&&(t.adler=H(t.adler,a.pending_buf,a.pending-_i516,_i516)),xt(t),0!==a.pending)return a.last_flush=-1,tt;_i516=0;}_e6=a.gzindex_i516&&(t.adler=H(t.adler,a.pending_buf,a.pending-_i516,_i516));}a.status=103;}if(103===a.status){if(a.gzhead.hcrc){if(a.pending+2>a.pending_buf_size&&(xt(t),0!==a.pending))return a.last_flush=-1,tt;At(a,255&t.adler),At(a,t.adler>>8&255),t.adler=0;}if(a.status=mt,xt(t),0!==a.pending)return a.last_flush=-1,tt;}if(0!==t.avail_in||0!==a.lookahead||e!==q&&a.status!==bt){var _i517=0===a.level?St(a,e):a.strategy===ot?function(t,e){var a;for(;;){if(0===t.lookahead&&(Ut(t),0===t.lookahead)){if(e===q)return 1;break;}if(t.match_length=0,a=X(t,0,t.window[t.strstart]),t.lookahead--,t.strstart++,a&&(zt(t,!1),0===t.strm.avail_out))return 1;}return t.insert=0,e===V?(zt(t,!0),0===t.strm.avail_out?3:4):t.sym_next&&(zt(t,!1),0===t.strm.avail_out)?1:2;}(a,e):a.strategy===lt?function(t,e){var a,i,n,s;var r=t.window;for(;;){if(t.lookahead<=ct){if(Ut(t),t.lookahead<=ct&&e===q)return 1;if(0===t.lookahead)break;}if(t.match_length=0,t.lookahead>=3&&t.strstart>0&&(n=t.strstart-1,i=r[n],i===r[++n]&&i===r[++n]&&i===r[++n])){s=t.strstart+ct;do{}while(i===r[++n]&&i===r[++n]&&i===r[++n]&&i===r[++n]&&i===r[++n]&&i===r[++n]&&i===r[++n]&&i===r[++n]&&nt.lookahead&&(t.match_length=t.lookahead);}if(t.match_length>=3?(a=X(t,1,t.match_length-3),t.lookahead-=t.match_length,t.strstart+=t.match_length,t.match_length=0):(a=X(t,0,t.window[t.strstart]),t.lookahead--,t.strstart++),a&&(zt(t,!1),0===t.strm.avail_out))return 1;}return t.insert=0,e===V?(zt(t,!0),0===t.strm.avail_out?3:4):t.sym_next&&(zt(t,!1),0===t.strm.avail_out)?1:2;}(a,e):It[a.level].func(a,e);if(3!==_i517&&4!==_i517||(a.status=bt),1===_i517||3===_i517)return 0===t.avail_out&&(a.last_flush=-1),tt;if(2===_i517&&(e===J?W(a):e!==$&&(Y(a,0,0,!1),e===Q&&(kt(a.head),0===a.lookahead&&(a.strstart=0,a.block_start=0,a.insert=0))),xt(t),0===t.avail_out))return a.last_flush=-1,tt;}return e!==V?tt:a.wrap<=0?et:(2===a.wrap?(At(a,255&t.adler),At(a,t.adler>>8&255),At(a,t.adler>>16&255),At(a,t.adler>>24&255),At(a,255&t.total_in),At(a,t.total_in>>8&255),At(a,t.total_in>>16&255),At(a,t.total_in>>24&255)):(Et(a,t.adler>>>16),Et(a,65535&t.adler)),xt(t),a.wrap>0&&(a.wrap=-a.wrap),0!==a.pending?tt:et);},deflateEnd:function deflateEnd(t){if(Lt(t))return at;var e=t.state.status;return t.state=null,e===mt?gt(t,it):tt;},deflateSetDictionary:function deflateSetDictionary(t,e){var a=e.length;if(Lt(t))return at;var i=t.state,n=i.wrap;if(2===n||1===n&&i.status!==wt||i.lookahead)return at;if(1===n&&(t.adler=C(t.adler,e,a,0)),i.wrap=0,a>=i.w_size){0===n&&(kt(i.head),i.strstart=0,i.block_start=0,i.insert=0);var _t2=new Uint8Array(i.w_size);_t2.set(e.subarray(a-i.w_size,a),0),e=_t2,a=i.w_size;}var s=t.avail_in,r=t.next_in,o=t.input;for(t.avail_in=a,t.next_in=0,t.input=e,Ut(i);i.lookahead>=3;){var _t3=i.strstart,_e7=i.lookahead-2;do{i.ins_h=yt(i,i.ins_h,i.window[_t3+3-1]),i.prev[_t3&i.w_mask]=i.head[i.ins_h],i.head[i.ins_h]=_t3,_t3++;}while(--_e7);i.strstart=_t3,i.lookahead=2,Ut(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=r,t.input=o,t.avail_in=s,i.wrap=n,tt;},deflateInfo:"pako deflate (from Nodeca project)"};var Ht=function Ht(t,e){return Object.prototype.hasOwnProperty.call(t,e);};var jt=function jt(t){var e=Array.prototype.slice.call(arguments,1);for(;e.length;){var _a7=e.shift();if(_a7){if("object"!=_typeof(_a7))throw new TypeError(_a7+"must be non-object");for(var _e8 in _a7){Ht(_a7,_e8)&&(t[_e8]=_a7[_e8]);}}}return t;},Kt=function Kt(t){var e=0;for(var _a8=0,_i518=t.length;_a8<_i518;_a8++){e+=t[_a8].length;}var a=new Uint8Array(e);for(var _e9=0,_i519=0,_n4=t.length;_e9<_n4;_e9++){var _n5=t[_e9];a.set(_n5,_i519),_i519+=_n5.length;}return a;};var Pt=!0;try{String.fromCharCode.apply(null,new Uint8Array(1));}catch(t){Pt=!1;}var Yt=new Uint8Array(256);for(var _t4=0;_t4<256;_t4++){Yt[_t4]=_t4>=252?6:_t4>=248?5:_t4>=240?4:_t4>=224?3:_t4>=192?2:1;}Yt[254]=Yt[254]=1;var Gt=function Gt(t){if("function"==typeof TextEncoder&&TextEncoder.prototype.encode)return new TextEncoder().encode(t);var e,a,i,n,s,r=t.length,o=0;for(n=0;n>>6,e[s++]=128|63&a):a<65536?(e[s++]=224|a>>>12,e[s++]=128|a>>>6&63,e[s++]=128|63&a):(e[s++]=240|a>>>18,e[s++]=128|a>>>12&63,e[s++]=128|a>>>6&63,e[s++]=128|63&a);}return e;},Xt=function Xt(t,e){var a=e||t.length;if("function"==typeof TextDecoder&&TextDecoder.prototype.decode)return new TextDecoder().decode(t.subarray(0,e));var i,n;var s=new Array(2*a);for(n=0,i=0;i4)s[n++]=65533,i+=_r6-1;else{for(_e10&=2===_r6?31:3===_r6?15:7;_r6>1&&i1?s[n++]=65533:_e10<65536?s[n++]=_e10:(_e10-=65536,s[n++]=55296|_e10>>10&1023,s[n++]=56320|1023&_e10);}}return function(t,e){if(e<65534&&t.subarray&&Pt)return String.fromCharCode.apply(null,t.length===e?t:t.subarray(0,e));var a="";for(var _i520=0;_i520t.length&&(e=t.length);var a=e-1;for(;a>=0&&128==(192&t[a]);){a--;}return a<0||0===a?e:a+Yt[t[a]]>e?a:e;};var qt=function qt(){this.input=null,this.next_in=0,this.avail_in=0,this.total_in=0,this.output=null,this.next_out=0,this.avail_out=0,this.total_out=0,this.msg="",this.state=null,this.data_type=2,this.adler=0;};var Jt=Object.prototype.toString,Qt=K.Z_NO_FLUSH,Vt=K.Z_SYNC_FLUSH,$t=K.Z_FULL_FLUSH,te=K.Z_FINISH,ee=K.Z_OK,ae=K.Z_STREAM_END,ie=K.Z_DEFAULT_COMPRESSION,ne=K.Z_DEFAULT_STRATEGY,se=K.Z_DEFLATED;function re(t){this.options=jt({level:ie,method:se,chunkSize:16384,windowBits:15,memLevel:8,strategy:ne},t||{});var 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 qt(),this.strm.avail_out=0;var a=Mt.deflateInit2(this.strm,e.level,e.method,e.windowBits,e.memLevel,e.strategy);if(a!==ee)throw new Error(j[a]);if(e.header&&Mt.deflateSetHeader(this.strm,e.header),e.dictionary){var _t5;if(_t5="string"==typeof e.dictionary?Gt(e.dictionary):"[object ArrayBuffer]"===Jt.call(e.dictionary)?new Uint8Array(e.dictionary):e.dictionary,a=Mt.deflateSetDictionary(this.strm,_t5),a!==ee)throw new Error(j[a]);this._dict_set=!0;}}function oe(t,e){var a=new re(e);if(a.push(t,!0),a.err)throw a.msg||j[a.err];return a.result;}re.prototype.push=function(t,e){var a=this.strm,i=this.options.chunkSize;var n,s;if(this.ended)return!1;for(s=e===~~e?e:!0===e?te:Qt,"string"==typeof t?a.input=Gt(t):"[object ArrayBuffer]"===Jt.call(t)?a.input=new Uint8Array(t):a.input=t,a.next_in=0,a.avail_in=a.input.length;;){if(0===a.avail_out&&(a.output=new Uint8Array(i),a.next_out=0,a.avail_out=i),(s===Vt||s===$t)&&a.avail_out<=6)this.onData(a.output.subarray(0,a.next_out)),a.avail_out=0;else{if(n=Mt.deflate(a,s),n===ae)return a.next_out>0&&this.onData(a.output.subarray(0,a.next_out)),n=Mt.deflateEnd(this.strm),this.onEnd(n),this.ended=!0,n===ee;if(0!==a.avail_out){if(s>0&&a.next_out>0)this.onData(a.output.subarray(0,a.next_out)),a.avail_out=0;else if(0===a.avail_in)break;}else this.onData(a.output);}}return!0;},re.prototype.onData=function(t){this.chunks.push(t);},re.prototype.onEnd=function(t){t===ee&&(this.result=Kt(this.chunks)),this.chunks=[],this.err=t,this.msg=this.strm.msg;};var le={Deflate:re,deflate:oe,deflateRaw:function deflateRaw(t,e){return(e=e||{}).raw=!0,oe(t,e);},gzip:function gzip(t,e){return(e=e||{}).gzip=!0,oe(t,e);},constants:K};var he=16209;var de=function de(t,e){var a,i,n,s,r,o,l,h,d,_,f,c,u,w,m,b,g,p,k,v,y,x,z,A;var E=t.state;a=t.next_in,z=t.input,i=a+(t.avail_in-5),n=t.next_out,A=t.output,s=n-(e-t.avail_out),r=n+(t.avail_out-257),o=E.dmax,l=E.wsize,h=E.whave,d=E.wnext,_=E.window,f=E.hold,c=E.bits,u=E.lencode,w=E.distcode,m=(1<>>24,f>>>=p,c-=p,p=g>>>16&255,0===p)A[n++]=65535&g;else{if(!(16&p)){if(0==(64&p)){g=u[(65535&g)+(f&(1<>>=p,c-=p),c<15&&(f+=z[a++]<>>24,f>>>=p,c-=p,p=g>>>16&255,!(16&p)){if(0==(64&p)){g=w[(65535&g)+(f&(1<o){t.msg="invalid distance too far back",E.mode=he;break t;}if(f>>>=p,c-=p,p=n-s,v>p){if(p=v-p,p>h&&E.sane){t.msg="invalid distance too far back",E.mode=he;break t;}if(y=0,x=_,0===d){if(y+=l-p,p2;){A[n++]=x[y++],A[n++]=x[y++],A[n++]=x[y++],k-=3;}k&&(A[n++]=x[y++],k>1&&(A[n++]=x[y++]));}else{y=n-v;do{A[n++]=A[y++],A[n++]=A[y++],A[n++]=A[y++],k-=3;}while(k>2);k&&(A[n++]=A[y++],k>1&&(A[n++]=A[y++]));}break;}}break;}}while(a>3,a-=k,c-=k<<3,f&=(1<=1&&0===E[g];g--){;}if(p>g&&(p=g),0===g)return n[s++]=20971520,n[s++]=20971520,o.bits=1,0;for(b=1;b0&&(0===t||1!==g))return-1;for(R[1]=0,w=1;w<_e;w++){R[w+1]=R[w]+E[w];}for(m=0;m852||2===t&&x>592)return 1;for(;;){Z=w-v,r[m]+1=u?(U=D[r[m]-u],S=A[r[m]-u]):(U=96,S=0),h=1<>v)+d]=Z<<24|U<<16|S|0;}while(0!==d);for(h=1<>=1;}if(0!==h?(z&=h-1,z+=h):z=0,m++,0==--E[w]){if(w===g)break;w=e[a+r[m]];}if(w>p&&(z&f)!==_){for(0===v&&(v=p),c+=b,k=w-v,y=1<852||2===t&&x>592)return 1;_=z&f,n[_]=p<<24|k<<16|c-s|0;}}return 0!==z&&(n[c+z]=w-v<<24|64<<16|0),o.bits=p,0;};var be=K.Z_FINISH,ge=K.Z_BLOCK,pe=K.Z_TREES,ke=K.Z_OK,ve=K.Z_STREAM_END,ye=K.Z_NEED_DICT,xe=K.Z_STREAM_ERROR,ze=K.Z_DATA_ERROR,Ae=K.Z_MEM_ERROR,Ee=K.Z_BUF_ERROR,Re=K.Z_DEFLATED,Ze=16180,Ue=16190,Se=16191,De=16192,Te=16194,Oe=16199,Ie=16200,Fe=16206,Le=16209,Ne=function Ne(t){return(t>>>24&255)+(t>>>8&65280)+((65280&t)<<8)+((255&t)<<24);};function Be(){this.strm=null,this.mode=0,this.last=!1,this.wrap=0,this.havedict=!1,this.flags=0,this.dmax=0,this.check=0,this.total=0,this.head=null,this.wbits=0,this.wsize=0,this.whave=0,this.wnext=0,this.window=null,this.hold=0,this.bits=0,this.length=0,this.offset=0,this.extra=0,this.lencode=null,this.distcode=null,this.lenbits=0,this.distbits=0,this.ncode=0,this.nlen=0,this.ndist=0,this.have=0,this.next=null,this.lens=new Uint16Array(320),this.work=new Uint16Array(288),this.lendyn=null,this.distdyn=null,this.sane=0,this.back=0,this.was=0;}var Ce=function Ce(t){if(!t)return 1;var e=t.state;return!e||e.strm!==t||e.mode16211?1:0;},Me=function Me(t){if(Ce(t))return xe;var e=t.state;return t.total_in=t.total_out=e.total=0,t.msg="",e.wrap&&(t.adler=1&e.wrap),e.mode=Ze,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,ke;},He=function He(t){if(Ce(t))return xe;var e=t.state;return e.wsize=0,e.whave=0,e.wnext=0,Me(t);},je=function je(t,e){var a;if(Ce(t))return xe;var i=t.state;return e<0?(a=0,e=-e):(a=5+(e>>4),e<48&&(e&=15)),e&&(e<8||e>15)?xe:(null!==i.window&&i.wbits!==e&&(i.window=null),i.wrap=a,i.wbits=e,He(t));},Ke=function Ke(t,e){if(!t)return xe;var a=new Be();t.state=a,a.strm=t,a.window=null,a.mode=Ze;var i=je(t,e);return i!==ke&&(t.state=null),i;};var Pe,Ye,Ge=!0;var Xe=function Xe(t){if(Ge){Pe=new Int32Array(512),Ye=new Int32Array(32);var _e11=0;for(;_e11<144;){t.lens[_e11++]=8;}for(;_e11<256;){t.lens[_e11++]=9;}for(;_e11<280;){t.lens[_e11++]=7;}for(;_e11<288;){t.lens[_e11++]=8;}for(me(1,t.lens,0,288,Pe,0,t.work,{bits:9}),_e11=0;_e11<32;){t.lens[_e11++]=5;}me(2,t.lens,0,32,Ye,0,t.work,{bits:5}),Ge=!1;}t.lencode=Pe,t.lenbits=9,t.distcode=Ye,t.distbits=5;},We=function We(t,e,a,i){var n;var s=t.state;return null===s.window&&(s.wsize=1<=s.wsize?(s.window.set(e.subarray(a-s.wsize,a),0),s.wnext=0,s.whave=s.wsize):(n=s.wsize-s.wnext,n>i&&(n=i),s.window.set(e.subarray(a-i,a-i+n),s.wnext),(i-=n)?(s.window.set(e.subarray(a-i,a),0),s.wnext=i,s.whave=s.wsize):(s.wnext+=n,s.wnext===s.wsize&&(s.wnext=0),s.whave>>8&255,a.check=H(a.check,A,2,0),h=0,d=0,a.mode=16181;break;}if(a.head&&(a.head.done=!1),!(1&a.wrap)||(((255&h)<<8)+(h>>8))%31){t.msg="incorrect header check",a.mode=Le;break;}if((15&h)!==Re){t.msg="unknown compression method",a.mode=Le;break;}if(h>>>=4,d-=4,y=8+(15&h),0===a.wbits&&(a.wbits=y),y>15||y>a.wbits){t.msg="invalid window size",a.mode=Le;break;}a.dmax=1<>8&1),512&a.flags&&4&a.wrap&&(A[0]=255&h,A[1]=h>>>8&255,a.check=H(a.check,A,2,0)),h=0,d=0,a.mode=16182;case 16182:for(;d<32;){if(0===o)break t;o--,h+=i[s++]<>>8&255,A[2]=h>>>16&255,A[3]=h>>>24&255,a.check=H(a.check,A,4,0)),h=0,d=0,a.mode=16183;case 16183:for(;d<16;){if(0===o)break t;o--,h+=i[s++]<>8),512&a.flags&&4&a.wrap&&(A[0]=255&h,A[1]=h>>>8&255,a.check=H(a.check,A,2,0)),h=0,d=0,a.mode=16184;case 16184:if(1024&a.flags){for(;d<16;){if(0===o)break t;o--,h+=i[s++]<>>8&255,a.check=H(a.check,A,2,0)),h=0,d=0;}else a.head&&(a.head.extra=null);a.mode=16185;case 16185:if(1024&a.flags&&(c=a.length,c>o&&(c=o),c&&(a.head&&(y=a.head.extra_len-a.length,a.head.extra||(a.head.extra=new Uint8Array(a.head.extra_len)),a.head.extra.set(i.subarray(s,s+c),y)),512&a.flags&&4&a.wrap&&(a.check=H(a.check,i,c,s)),o-=c,s+=c,a.length-=c),a.length))break t;a.length=0,a.mode=16186;case 16186:if(2048&a.flags){if(0===o)break t;c=0;do{y=i[s+c++],a.head&&y&&a.length<65536&&(a.head.name+=String.fromCharCode(y));}while(y&&c>9&1,a.head.done=!0),t.adler=a.check=0,a.mode=Se;break;case 16189:for(;d<32;){if(0===o)break t;o--,h+=i[s++]<>>=7&d,d-=7&d,a.mode=Fe;break;}for(;d<3;){if(0===o)break t;o--,h+=i[s++]<>>=1,d-=1,3&h){case 0:a.mode=16193;break;case 1:if(Xe(a),a.mode=Oe,e===pe){h>>>=2,d-=2;break t;}break;case 2:a.mode=16196;break;case 3:t.msg="invalid block type",a.mode=Le;}h>>>=2,d-=2;break;case 16193:for(h>>>=7&d,d-=7&d;d<32;){if(0===o)break t;o--,h+=i[s++]<>>16^65535)){t.msg="invalid stored block lengths",a.mode=Le;break;}if(a.length=65535&h,h=0,d=0,a.mode=Te,e===pe)break t;case Te:a.mode=16195;case 16195:if(c=a.length,c){if(c>o&&(c=o),c>l&&(c=l),0===c)break t;n.set(i.subarray(s,s+c),r),o-=c,s+=c,l-=c,r+=c,a.length-=c;break;}a.mode=Se;break;case 16196:for(;d<14;){if(0===o)break t;o--,h+=i[s++]<>>=5,d-=5,a.ndist=1+(31&h),h>>>=5,d-=5,a.ncode=4+(15&h),h>>>=4,d-=4,a.nlen>286||a.ndist>30){t.msg="too many length or distance symbols",a.mode=Le;break;}a.have=0,a.mode=16197;case 16197:for(;a.have>>=3,d-=3;}for(;a.have<19;){a.lens[Z[a.have++]]=0;}if(a.lencode=a.lendyn,a.lenbits=7,E={bits:a.lenbits},x=me(0,a.lens,0,19,a.lencode,0,a.work,E),a.lenbits=E.bits,x){t.msg="invalid code lengths set",a.mode=Le;break;}a.have=0,a.mode=16198;case 16198:for(;a.have>>24,b=z>>>16&255,g=65535&z,!(m<=d);){if(0===o)break t;o--,h+=i[s++]<>>=m,d-=m,a.lens[a.have++]=g;else{if(16===g){for(R=m+2;d>>=m,d-=m,0===a.have){t.msg="invalid bit length repeat",a.mode=Le;break;}y=a.lens[a.have-1],c=3+(3&h),h>>>=2,d-=2;}else if(17===g){for(R=m+3;d>>=m,d-=m,y=0,c=3+(7&h),h>>>=3,d-=3;}else{for(R=m+7;d>>=m,d-=m,y=0,c=11+(127&h),h>>>=7,d-=7;}if(a.have+c>a.nlen+a.ndist){t.msg="invalid bit length repeat",a.mode=Le;break;}for(;c--;){a.lens[a.have++]=y;}}}if(a.mode===Le)break;if(0===a.lens[256]){t.msg="invalid code -- missing end-of-block",a.mode=Le;break;}if(a.lenbits=9,E={bits:a.lenbits},x=me(1,a.lens,0,a.nlen,a.lencode,0,a.work,E),a.lenbits=E.bits,x){t.msg="invalid literal/lengths set",a.mode=Le;break;}if(a.distbits=6,a.distcode=a.distdyn,E={bits:a.distbits},x=me(2,a.lens,a.nlen,a.ndist,a.distcode,0,a.work,E),a.distbits=E.bits,x){t.msg="invalid distances set",a.mode=Le;break;}if(a.mode=Oe,e===pe)break t;case Oe:a.mode=Ie;case Ie:if(o>=6&&l>=258){t.next_out=r,t.avail_out=l,t.next_in=s,t.avail_in=o,a.hold=h,a.bits=d,de(t,f),r=t.next_out,n=t.output,l=t.avail_out,s=t.next_in,i=t.input,o=t.avail_in,h=a.hold,d=a.bits,a.mode===Se&&(a.back=-1);break;}for(a.back=0;z=a.lencode[h&(1<>>24,b=z>>>16&255,g=65535&z,!(m<=d);){if(0===o)break t;o--,h+=i[s++]<>p)],m=z>>>24,b=z>>>16&255,g=65535&z,!(p+m<=d);){if(0===o)break t;o--,h+=i[s++]<>>=p,d-=p,a.back+=p;}if(h>>>=m,d-=m,a.back+=m,a.length=g,0===b){a.mode=16205;break;}if(32&b){a.back=-1,a.mode=Se;break;}if(64&b){t.msg="invalid literal/length code",a.mode=Le;break;}a.extra=15&b,a.mode=16201;case 16201:if(a.extra){for(R=a.extra;d>>=a.extra,d-=a.extra,a.back+=a.extra;}a.was=a.length,a.mode=16202;case 16202:for(;z=a.distcode[h&(1<>>24,b=z>>>16&255,g=65535&z,!(m<=d);){if(0===o)break t;o--,h+=i[s++]<>p)],m=z>>>24,b=z>>>16&255,g=65535&z,!(p+m<=d);){if(0===o)break t;o--,h+=i[s++]<>>=p,d-=p,a.back+=p;}if(h>>>=m,d-=m,a.back+=m,64&b){t.msg="invalid distance code",a.mode=Le;break;}a.offset=g,a.extra=15&b,a.mode=16203;case 16203:if(a.extra){for(R=a.extra;d>>=a.extra,d-=a.extra,a.back+=a.extra;}if(a.offset>a.dmax){t.msg="invalid distance too far back",a.mode=Le;break;}a.mode=16204;case 16204:if(0===l)break t;if(c=f-l,a.offset>c){if(c=a.offset-c,c>a.whave&&a.sane){t.msg="invalid distance too far back",a.mode=Le;break;}c>a.wnext?(c-=a.wnext,u=a.wsize-c):u=a.wnext-c,c>a.length&&(c=a.length),w=a.window;}else w=n,u=r-a.offset,c=a.length;c>l&&(c=l),l-=c,a.length-=c;do{n[r++]=w[u++];}while(--c);0===a.length&&(a.mode=Ie);break;case 16205:if(0===l)break t;n[r++]=a.length,l--,a.mode=Ie;break;case Fe:if(a.wrap){for(;d<32;){if(0===o)break t;o--,h|=i[s++]<=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&&0==(15&e.windowBits)&&(e.windowBits|=15),this.err=0,this.msg="",this.ended=!1,this.chunks=[],this.strm=new qt(),this.strm.avail_out=0;var a=qe.inflateInit2(this.strm,e.windowBits);if(a!==ta)throw new Error(j[a]);if(this.header=new Je(),qe.inflateGetHeader(this.strm,this.header),e.dictionary&&("string"==typeof e.dictionary?e.dictionary=Gt(e.dictionary):"[object ArrayBuffer]"===Qe.call(e.dictionary)&&(e.dictionary=new Uint8Array(e.dictionary)),e.raw&&(a=qe.inflateSetDictionary(this.strm,e.dictionary),a!==ta)))throw new Error(j[a]);}function oa(t,e){var a=new ra(e);if(a.push(t),a.err)throw a.msg||j[a.err];return a.result;}ra.prototype.push=function(t,e){var a=this.strm,i=this.options.chunkSize,n=this.options.dictionary;var s,r,o;if(this.ended)return!1;for(r=e===~~e?e:!0===e?$e:Ve,"[object ArrayBuffer]"===Qe.call(t)?a.input=new Uint8Array(t):a.input=t,a.next_in=0,a.avail_in=a.input.length;;){for(0===a.avail_out&&(a.output=new Uint8Array(i),a.next_out=0,a.avail_out=i),s=qe.inflate(a,r),s===aa&&n&&(s=qe.inflateSetDictionary(a,n),s===ta?s=qe.inflate(a,r):s===na&&(s=aa));a.avail_in>0&&s===ea&&a.state.wrap>0&&0!==t[a.next_in];){qe.inflateReset(a),s=qe.inflate(a,r);}switch(s){case ia:case na:case aa:case sa:return this.onEnd(s),this.ended=!0,!1;}if(o=a.avail_out,a.next_out&&(0===a.avail_out||s===ea))if("string"===this.options.to){var _t6=Wt(a.output,a.next_out),_e12=a.next_out-_t6,_n6=Xt(a.output,_t6);a.next_out=_e12,a.avail_out=i-_e12,_e12&&a.output.set(a.output.subarray(_t6,_t6+_e12),0),this.onData(_n6);}else this.onData(a.output.length===a.next_out?a.output:a.output.subarray(0,a.next_out));if(s!==ta||0!==o){if(s===ea)return s=qe.inflateEnd(this.strm),this.onEnd(s),this.ended=!0,!0;if(0===a.avail_in)break;}}return!0;},ra.prototype.onData=function(t){this.chunks.push(t);},ra.prototype.onEnd=function(t){t===ta&&("string"===this.options.to?this.result=this.chunks.join(""):this.result=Kt(this.chunks)),this.chunks=[],this.err=t,this.msg=this.strm.msg;};var la={Inflate:ra,inflate:oa,inflateRaw:function inflateRaw(t,e){return(e=e||{}).raw=!0,oa(t,e);},ungzip:oa,constants:K};var ha=le.Deflate,da=le.deflate,_a=le.deflateRaw,fa=le.gzip,ca=la.Inflate,ua=la.inflate,wa=la.inflateRaw,ma=la.ungzip;var ba=ha,ga=da,pa=_a,ka=fa,va=ca,ya=ua,xa=wa,za=ma,Aa=K,Ea={Deflate:ba,deflate:ga,deflateRaw:pa,gzip:ka,Inflate:va,inflate:ya,inflateRaw:xa,ungzip:za,constants:Aa};t.Deflate=ba,t.Inflate=va,t.constants=Aa,t["default"]=Ea,t.deflate=ga,t.deflateRaw=pa,t.gzip=ka,t.inflate=ya,t.inflateRaw=xa,t.ungzip=za,Object.defineProperty(t,"__esModule",{value:!0});});var p=/*#__PURE__*/Object.freeze({__proto__:null});/* Parser for .XKT Format V1 @@ -26084,7 +26097,7 @@ var isBase64=!!dataUriRegexResult[2];var data=dataUriRegexResult[3];data=window. DEPRECATED */var pako$9=window.pako||p;if(!pako$9.inflate){// See https://github.com/nodeca/pako/issues/97 -pako$9=pako$9["default"];}var decompressColor$9=function(){var color2=new Float32Array(3);return function(color){color2[0]=color[0]/255.0;color2[1]=color[1]/255.0;color2[2]=color[2]/255.0;return color2;};}();function extract$9(elements){return{positions:elements[0],normals:elements[1],indices:elements[2],edgeIndices:elements[3],meshPositions:elements[4],meshIndices:elements[5],meshEdgesIndices:elements[6],meshColors:elements[7],entityIDs:elements[8],entityMeshes:elements[9],entityIsObjects:elements[10],positionsDecodeMatrix:elements[11]};}function inflate$9(deflatedData){return{positions:new Uint16Array(pako$9.inflate(deflatedData.positions).buffer),normals:new Int8Array(pako$9.inflate(deflatedData.normals).buffer),indices:new Uint32Array(pako$9.inflate(deflatedData.indices).buffer),edgeIndices:new Uint32Array(pako$9.inflate(deflatedData.edgeIndices).buffer),meshPositions:new Uint32Array(pako$9.inflate(deflatedData.meshPositions).buffer),meshIndices:new Uint32Array(pako$9.inflate(deflatedData.meshIndices).buffer),meshEdgesIndices:new Uint32Array(pako$9.inflate(deflatedData.meshEdgesIndices).buffer),meshColors:new Uint8Array(pako$9.inflate(deflatedData.meshColors).buffer),entityIDs:pako$9.inflate(deflatedData.entityIDs,{to:'string'}),entityMeshes:new Uint32Array(pako$9.inflate(deflatedData.entityMeshes).buffer),entityIsObjects:new Uint8Array(pako$9.inflate(deflatedData.entityIsObjects).buffer),positionsDecodeMatrix:new Float32Array(pako$9.inflate(deflatedData.positionsDecodeMatrix).buffer)};}function load$9(viewer,options,inflatedData,sceneModel,metaModel,manifestCtx){manifestCtx.getNextId();sceneModel.positionsCompression="precompressed";sceneModel.normalsCompression="precompressed";var positions=inflatedData.positions;var normals=inflatedData.normals;var indices=inflatedData.indices;var edgeIndices=inflatedData.edgeIndices;var meshPositions=inflatedData.meshPositions;var meshIndices=inflatedData.meshIndices;var meshEdgesIndices=inflatedData.meshEdgesIndices;var meshColors=inflatedData.meshColors;var entityIDs=JSON.parse(inflatedData.entityIDs);var entityMeshes=inflatedData.entityMeshes;var entityIsObjects=inflatedData.entityIsObjects;var numMeshes=meshPositions.length;var numEntities=entityMeshes.length;for(var _i514=0;_i5141;var atLastGeometry=_geometryIndex2===numGeometries-1;var meshColor=decompressColor$2(eachMeshMaterial.subarray(_meshIndex2*6,_meshIndex2*6+3));var meshOpacity=eachMeshMaterial[_meshIndex2*6+3]/255.0;var meshMetallic=eachMeshMaterial[_meshIndex2*6+4]/255.0;var meshRoughness=eachMeshMaterial[_meshIndex2*6+5]/255.0;var meshId=manifestCtx.getNextId();if(isReusedGeometry){// Create mesh for multi-use geometry - create (or reuse) geometry, create mesh using that geometry var meshMatrixIndex=eachMeshMatricesPortion[_meshIndex2];var meshMatrix=matrices.slice(meshMatrixIndex,meshMatrixIndex+16);var geometryId="".concat(modelPartId,"-geometry.").concat(tileIndex,".").concat(_geometryIndex2);// These IDs are local to the SceneModel -var geometryArrays=geometryArraysCache[geometryId];if(!geometryArrays){geometryArrays={batchThisMesh:!options.reuseGeometries};var primitiveType=eachGeometryPrimitiveType[_geometryIndex2];var geometryValid=false;switch(primitiveType){case 0:geometryArrays.primitiveName="solid";geometryArrays.geometryPositions=positions.subarray(eachGeometryPositionsPortion[_geometryIndex2],atLastGeometry?positions.length:eachGeometryPositionsPortion[_geometryIndex2+1]);geometryArrays.geometryNormals=normals.subarray(eachGeometryNormalsPortion[_geometryIndex2],atLastGeometry?normals.length:eachGeometryNormalsPortion[_geometryIndex2+1]);geometryArrays.geometryIndices=indices.subarray(eachGeometryIndicesPortion[_geometryIndex2],atLastGeometry?indices.length:eachGeometryIndicesPortion[_geometryIndex2+1]);geometryArrays.geometryEdgeIndices=edgeIndices.subarray(eachGeometryEdgeIndicesPortion[_geometryIndex2],atLastGeometry?edgeIndices.length:eachGeometryEdgeIndicesPortion[_geometryIndex2+1]);geometryValid=geometryArrays.geometryPositions.length>0&&geometryArrays.geometryIndices.length>0;break;case 1:geometryArrays.primitiveName="surface";geometryArrays.geometryPositions=positions.subarray(eachGeometryPositionsPortion[_geometryIndex2],atLastGeometry?positions.length:eachGeometryPositionsPortion[_geometryIndex2+1]);geometryArrays.geometryNormals=normals.subarray(eachGeometryNormalsPortion[_geometryIndex2],atLastGeometry?normals.length:eachGeometryNormalsPortion[_geometryIndex2+1]);geometryArrays.geometryIndices=indices.subarray(eachGeometryIndicesPortion[_geometryIndex2],atLastGeometry?indices.length:eachGeometryIndicesPortion[_geometryIndex2+1]);geometryArrays.geometryEdgeIndices=edgeIndices.subarray(eachGeometryEdgeIndicesPortion[_geometryIndex2],atLastGeometry?edgeIndices.length:eachGeometryEdgeIndicesPortion[_geometryIndex2+1]);geometryValid=geometryArrays.geometryPositions.length>0&&geometryArrays.geometryIndices.length>0;break;case 2:geometryArrays.primitiveName="points";geometryArrays.geometryPositions=positions.subarray(eachGeometryPositionsPortion[_geometryIndex2],atLastGeometry?positions.length:eachGeometryPositionsPortion[_geometryIndex2+1]);geometryArrays.geometryColors=convertColorsRGBToRGBA(colors.subarray(eachGeometryColorsPortion[_geometryIndex2],atLastGeometry?colors.length:eachGeometryColorsPortion[_geometryIndex2+1]));geometryValid=geometryArrays.geometryPositions.length>0;break;case 3:geometryArrays.primitiveName="lines";geometryArrays.geometryPositions=positions.subarray(eachGeometryPositionsPortion[_geometryIndex2],atLastGeometry?positions.length:eachGeometryPositionsPortion[_geometryIndex2+1]);geometryArrays.geometryIndices=indices.subarray(eachGeometryIndicesPortion[_geometryIndex2],atLastGeometry?indices.length:eachGeometryIndicesPortion[_geometryIndex2+1]);geometryValid=geometryArrays.geometryPositions.length>0&&geometryArrays.geometryIndices.length>0;break;default:continue;}if(!geometryValid){geometryArrays=null;}if(geometryArrays){if(geometryArrays.geometryPositions.length>1000);if(geometryArrays.batchThisMesh){geometryArrays.decompressedPositions=new Float32Array(geometryArrays.geometryPositions.length);var geometryPositions=geometryArrays.geometryPositions;var decompressedPositions=geometryArrays.decompressedPositions;for(var _i519=0,len=geometryPositions.length;_i5190&&geometryIndices.length>0;break;case 1:primitiveName="surface";_geometryPositions2=positions.subarray(eachGeometryPositionsPortion[_geometryIndex2],atLastGeometry?positions.length:eachGeometryPositionsPortion[_geometryIndex2+1]);geometryNormals=normals.subarray(eachGeometryNormalsPortion[_geometryIndex2],atLastGeometry?normals.length:eachGeometryNormalsPortion[_geometryIndex2+1]);geometryIndices=indices.subarray(eachGeometryIndicesPortion[_geometryIndex2],atLastGeometry?indices.length:eachGeometryIndicesPortion[_geometryIndex2+1]);geometryEdgeIndices=edgeIndices.subarray(eachGeometryEdgeIndicesPortion[_geometryIndex2],atLastGeometry?edgeIndices.length:eachGeometryEdgeIndicesPortion[_geometryIndex2+1]);_geometryValid=_geometryPositions2.length>0&&geometryIndices.length>0;break;case 2:primitiveName="points";_geometryPositions2=positions.subarray(eachGeometryPositionsPortion[_geometryIndex2],atLastGeometry?positions.length:eachGeometryPositionsPortion[_geometryIndex2+1]);geometryColors=convertColorsRGBToRGBA(colors.subarray(eachGeometryColorsPortion[_geometryIndex2],atLastGeometry?colors.length:eachGeometryColorsPortion[_geometryIndex2+1]));_geometryValid=_geometryPositions2.length>0;break;case 3:primitiveName="lines";_geometryPositions2=positions.subarray(eachGeometryPositionsPortion[_geometryIndex2],atLastGeometry?positions.length:eachGeometryPositionsPortion[_geometryIndex2+1]);geometryIndices=indices.subarray(eachGeometryIndicesPortion[_geometryIndex2],atLastGeometry?indices.length:eachGeometryIndicesPortion[_geometryIndex2+1]);_geometryValid=_geometryPositions2.length>0&&geometryIndices.length>0;break;default:continue;}if(_geometryValid){sceneModel.createMesh(utils.apply(meshDefaults,{id:meshId,origin:tileCenter,primitive:primitiveName,positionsCompressed:_geometryPositions2,normalsCompressed:geometryNormals,colorsCompressed:geometryColors,indices:geometryIndices,edgeIndices:geometryEdgeIndices,positionsDecodeMatrix:tileDecodeMatrix,color:meshColor,metallic:meshMetallic,roughness:meshRoughness,opacity:meshOpacity}));meshIds.push(meshId);}}}if(meshIds.length>0){sceneModel.createEntity(utils.apply(entityDefaults,{id:entityId,isObject:true,meshIds:meshIds}));}}}}/** @private */var ParserV8={version:8,parse:function parse(viewer,options,elements,sceneModel,metaModel,manifestCtx){var deflatedData=extract$2(elements);var inflatedData=inflate$2(deflatedData);load$2(viewer,options,inflatedData,sceneModel,metaModel,manifestCtx);}};/* +var geometryArrays=geometryArraysCache[geometryId];if(!geometryArrays){geometryArrays={batchThisMesh:!options.reuseGeometries};var primitiveType=eachGeometryPrimitiveType[_geometryIndex2];var geometryValid=false;switch(primitiveType){case 0:geometryArrays.primitiveName="solid";geometryArrays.geometryPositions=positions.subarray(eachGeometryPositionsPortion[_geometryIndex2],atLastGeometry?positions.length:eachGeometryPositionsPortion[_geometryIndex2+1]);geometryArrays.geometryNormals=normals.subarray(eachGeometryNormalsPortion[_geometryIndex2],atLastGeometry?normals.length:eachGeometryNormalsPortion[_geometryIndex2+1]);geometryArrays.geometryIndices=indices.subarray(eachGeometryIndicesPortion[_geometryIndex2],atLastGeometry?indices.length:eachGeometryIndicesPortion[_geometryIndex2+1]);geometryArrays.geometryEdgeIndices=edgeIndices.subarray(eachGeometryEdgeIndicesPortion[_geometryIndex2],atLastGeometry?edgeIndices.length:eachGeometryEdgeIndicesPortion[_geometryIndex2+1]);geometryValid=geometryArrays.geometryPositions.length>0&&geometryArrays.geometryIndices.length>0;break;case 1:geometryArrays.primitiveName="surface";geometryArrays.geometryPositions=positions.subarray(eachGeometryPositionsPortion[_geometryIndex2],atLastGeometry?positions.length:eachGeometryPositionsPortion[_geometryIndex2+1]);geometryArrays.geometryNormals=normals.subarray(eachGeometryNormalsPortion[_geometryIndex2],atLastGeometry?normals.length:eachGeometryNormalsPortion[_geometryIndex2+1]);geometryArrays.geometryIndices=indices.subarray(eachGeometryIndicesPortion[_geometryIndex2],atLastGeometry?indices.length:eachGeometryIndicesPortion[_geometryIndex2+1]);geometryArrays.geometryEdgeIndices=edgeIndices.subarray(eachGeometryEdgeIndicesPortion[_geometryIndex2],atLastGeometry?edgeIndices.length:eachGeometryEdgeIndicesPortion[_geometryIndex2+1]);geometryValid=geometryArrays.geometryPositions.length>0&&geometryArrays.geometryIndices.length>0;break;case 2:geometryArrays.primitiveName="points";geometryArrays.geometryPositions=positions.subarray(eachGeometryPositionsPortion[_geometryIndex2],atLastGeometry?positions.length:eachGeometryPositionsPortion[_geometryIndex2+1]);geometryArrays.geometryColors=convertColorsRGBToRGBA(colors.subarray(eachGeometryColorsPortion[_geometryIndex2],atLastGeometry?colors.length:eachGeometryColorsPortion[_geometryIndex2+1]));geometryValid=geometryArrays.geometryPositions.length>0;break;case 3:geometryArrays.primitiveName="lines";geometryArrays.geometryPositions=positions.subarray(eachGeometryPositionsPortion[_geometryIndex2],atLastGeometry?positions.length:eachGeometryPositionsPortion[_geometryIndex2+1]);geometryArrays.geometryIndices=indices.subarray(eachGeometryIndicesPortion[_geometryIndex2],atLastGeometry?indices.length:eachGeometryIndicesPortion[_geometryIndex2+1]);geometryValid=geometryArrays.geometryPositions.length>0&&geometryArrays.geometryIndices.length>0;break;default:continue;}if(!geometryValid){geometryArrays=null;}if(geometryArrays){if(geometryArrays.geometryPositions.length>1000);if(geometryArrays.batchThisMesh){geometryArrays.decompressedPositions=new Float32Array(geometryArrays.geometryPositions.length);var geometryPositions=geometryArrays.geometryPositions;var decompressedPositions=geometryArrays.decompressedPositions;for(var _i526=0,len=geometryPositions.length;_i5260&&geometryIndices.length>0;break;case 1:primitiveName="surface";_geometryPositions2=positions.subarray(eachGeometryPositionsPortion[_geometryIndex2],atLastGeometry?positions.length:eachGeometryPositionsPortion[_geometryIndex2+1]);geometryNormals=normals.subarray(eachGeometryNormalsPortion[_geometryIndex2],atLastGeometry?normals.length:eachGeometryNormalsPortion[_geometryIndex2+1]);geometryIndices=indices.subarray(eachGeometryIndicesPortion[_geometryIndex2],atLastGeometry?indices.length:eachGeometryIndicesPortion[_geometryIndex2+1]);geometryEdgeIndices=edgeIndices.subarray(eachGeometryEdgeIndicesPortion[_geometryIndex2],atLastGeometry?edgeIndices.length:eachGeometryEdgeIndicesPortion[_geometryIndex2+1]);_geometryValid=_geometryPositions2.length>0&&geometryIndices.length>0;break;case 2:primitiveName="points";_geometryPositions2=positions.subarray(eachGeometryPositionsPortion[_geometryIndex2],atLastGeometry?positions.length:eachGeometryPositionsPortion[_geometryIndex2+1]);geometryColors=convertColorsRGBToRGBA(colors.subarray(eachGeometryColorsPortion[_geometryIndex2],atLastGeometry?colors.length:eachGeometryColorsPortion[_geometryIndex2+1]));_geometryValid=_geometryPositions2.length>0;break;case 3:primitiveName="lines";_geometryPositions2=positions.subarray(eachGeometryPositionsPortion[_geometryIndex2],atLastGeometry?positions.length:eachGeometryPositionsPortion[_geometryIndex2+1]);geometryIndices=indices.subarray(eachGeometryIndicesPortion[_geometryIndex2],atLastGeometry?indices.length:eachGeometryIndicesPortion[_geometryIndex2+1]);_geometryValid=_geometryPositions2.length>0&&geometryIndices.length>0;break;default:continue;}if(_geometryValid){sceneModel.createMesh(utils.apply(meshDefaults,{id:meshId,origin:tileCenter,primitive:primitiveName,positionsCompressed:_geometryPositions2,normalsCompressed:geometryNormals,colorsCompressed:geometryColors,indices:geometryIndices,edgeIndices:geometryEdgeIndices,positionsDecodeMatrix:tileDecodeMatrix,color:meshColor,metallic:meshMetallic,roughness:meshRoughness,opacity:meshOpacity}));meshIds.push(meshId);}}}if(meshIds.length>0){sceneModel.createEntity(utils.apply(entityDefaults,{id:entityId,isObject:true,meshIds:meshIds}));}}}}/** @private */var ParserV8={version:8,parse:function parse(viewer,options,elements,sceneModel,metaModel,manifestCtx){var deflatedData=extract$2(elements);var inflatedData=inflate$2(deflatedData);load$2(viewer,options,inflatedData,sceneModel,metaModel,manifestCtx);}};/* Parser for .XKT Format V9 @@ -26218,7 +26231,7 @@ if(options.excludeTypesMap&&metaObject.type&&options.excludeTypesMap[metaObject. var props=options.objectDefaults?options.objectDefaults[metaObject.type]||options.objectDefaults["DEFAULT"]:null;if(props){if(props.visible===false){entityDefaults.visible=false;}if(props.pickable===false){entityDefaults.pickable=false;}if(props.colorize){meshDefaults.color=props.colorize;}if(props.opacity!==undefined&&props.opacity!==null){meshDefaults.opacity=props.opacity;}if(props.metallic!==undefined&&props.metallic!==null){meshDefaults.metallic=props.metallic;}if(props.roughness!==undefined&&props.roughness!==null){meshDefaults.roughness=props.roughness;}}}else{if(options.excludeUnclassifiedObjects){continue;}}// Iterate each entity's meshes for(var _meshIndex3=firstMeshIndex;_meshIndex3<=lastMeshIndex;_meshIndex3++){var _geometryIndex3=eachMeshGeometriesPortion[_meshIndex3];var geometryReuseCount=geometryReuseCounts[_geometryIndex3];var isReusedGeometry=geometryReuseCount>1;var atLastGeometry=_geometryIndex3===numGeometries-1;var meshColor=decompressColor$1(eachMeshMaterial.subarray(_meshIndex3*6,_meshIndex3*6+3));var meshOpacity=eachMeshMaterial[_meshIndex3*6+3]/255.0;var meshMetallic=eachMeshMaterial[_meshIndex3*6+4]/255.0;var meshRoughness=eachMeshMaterial[_meshIndex3*6+5]/255.0;var meshId=manifestCtx.getNextId();if(isReusedGeometry){// Create mesh for multi-use geometry - create (or reuse) geometry, create mesh using that geometry var meshMatrixIndex=eachMeshMatricesPortion[_meshIndex3];var meshMatrix=matrices.slice(meshMatrixIndex,meshMatrixIndex+16);var geometryId="".concat(modelPartId,"-geometry.").concat(tileIndex,".").concat(_geometryIndex3);// These IDs are local to the SceneModel -var geometryArrays=geometryArraysCache[geometryId];if(!geometryArrays){geometryArrays={batchThisMesh:!options.reuseGeometries};var primitiveType=eachGeometryPrimitiveType[_geometryIndex3];var geometryValid=false;switch(primitiveType){case 0:geometryArrays.primitiveName="solid";geometryArrays.geometryPositions=positions.subarray(eachGeometryPositionsPortion[_geometryIndex3],atLastGeometry?positions.length:eachGeometryPositionsPortion[_geometryIndex3+1]);geometryArrays.geometryNormals=normals.subarray(eachGeometryNormalsPortion[_geometryIndex3],atLastGeometry?normals.length:eachGeometryNormalsPortion[_geometryIndex3+1]);geometryArrays.geometryIndices=indices.subarray(eachGeometryIndicesPortion[_geometryIndex3],atLastGeometry?indices.length:eachGeometryIndicesPortion[_geometryIndex3+1]);geometryArrays.geometryEdgeIndices=edgeIndices.subarray(eachGeometryEdgeIndicesPortion[_geometryIndex3],atLastGeometry?edgeIndices.length:eachGeometryEdgeIndicesPortion[_geometryIndex3+1]);geometryValid=geometryArrays.geometryPositions.length>0&&geometryArrays.geometryIndices.length>0;break;case 1:geometryArrays.primitiveName="surface";geometryArrays.geometryPositions=positions.subarray(eachGeometryPositionsPortion[_geometryIndex3],atLastGeometry?positions.length:eachGeometryPositionsPortion[_geometryIndex3+1]);geometryArrays.geometryNormals=normals.subarray(eachGeometryNormalsPortion[_geometryIndex3],atLastGeometry?normals.length:eachGeometryNormalsPortion[_geometryIndex3+1]);geometryArrays.geometryIndices=indices.subarray(eachGeometryIndicesPortion[_geometryIndex3],atLastGeometry?indices.length:eachGeometryIndicesPortion[_geometryIndex3+1]);geometryArrays.geometryEdgeIndices=edgeIndices.subarray(eachGeometryEdgeIndicesPortion[_geometryIndex3],atLastGeometry?edgeIndices.length:eachGeometryEdgeIndicesPortion[_geometryIndex3+1]);geometryValid=geometryArrays.geometryPositions.length>0&&geometryArrays.geometryIndices.length>0;break;case 2:geometryArrays.primitiveName="points";geometryArrays.geometryPositions=positions.subarray(eachGeometryPositionsPortion[_geometryIndex3],atLastGeometry?positions.length:eachGeometryPositionsPortion[_geometryIndex3+1]);geometryArrays.geometryColors=colors.subarray(eachGeometryColorsPortion[_geometryIndex3],atLastGeometry?colors.length:eachGeometryColorsPortion[_geometryIndex3+1]);geometryValid=geometryArrays.geometryPositions.length>0;break;case 3:geometryArrays.primitiveName="lines";geometryArrays.geometryPositions=positions.subarray(eachGeometryPositionsPortion[_geometryIndex3],atLastGeometry?positions.length:eachGeometryPositionsPortion[_geometryIndex3+1]);geometryArrays.geometryIndices=indices.subarray(eachGeometryIndicesPortion[_geometryIndex3],atLastGeometry?indices.length:eachGeometryIndicesPortion[_geometryIndex3+1]);geometryValid=geometryArrays.geometryPositions.length>0&&geometryArrays.geometryIndices.length>0;break;default:continue;}if(!geometryValid){geometryArrays=null;}if(geometryArrays){if(geometryArrays.geometryPositions.length>1000);if(geometryArrays.batchThisMesh){geometryArrays.decompressedPositions=new Float32Array(geometryArrays.geometryPositions.length);geometryArrays.transformedAndRecompressedPositions=new Uint16Array(geometryArrays.geometryPositions.length);var geometryPositions=geometryArrays.geometryPositions;var decompressedPositions=geometryArrays.decompressedPositions;for(var _i521=0,len=geometryPositions.length;_i5210&&geometryIndices.length>0;break;case 1:primitiveName="surface";_geometryPositions3=positions.subarray(eachGeometryPositionsPortion[_geometryIndex3],atLastGeometry?positions.length:eachGeometryPositionsPortion[_geometryIndex3+1]);geometryNormals=normals.subarray(eachGeometryNormalsPortion[_geometryIndex3],atLastGeometry?normals.length:eachGeometryNormalsPortion[_geometryIndex3+1]);geometryIndices=indices.subarray(eachGeometryIndicesPortion[_geometryIndex3],atLastGeometry?indices.length:eachGeometryIndicesPortion[_geometryIndex3+1]);geometryEdgeIndices=edgeIndices.subarray(eachGeometryEdgeIndicesPortion[_geometryIndex3],atLastGeometry?edgeIndices.length:eachGeometryEdgeIndicesPortion[_geometryIndex3+1]);_geometryValid2=_geometryPositions3.length>0&&geometryIndices.length>0;break;case 2:primitiveName="points";_geometryPositions3=positions.subarray(eachGeometryPositionsPortion[_geometryIndex3],atLastGeometry?positions.length:eachGeometryPositionsPortion[_geometryIndex3+1]);geometryColors=colors.subarray(eachGeometryColorsPortion[_geometryIndex3],atLastGeometry?colors.length:eachGeometryColorsPortion[_geometryIndex3+1]);_geometryValid2=_geometryPositions3.length>0;break;case 3:primitiveName="lines";_geometryPositions3=positions.subarray(eachGeometryPositionsPortion[_geometryIndex3],atLastGeometry?positions.length:eachGeometryPositionsPortion[_geometryIndex3+1]);geometryIndices=indices.subarray(eachGeometryIndicesPortion[_geometryIndex3],atLastGeometry?indices.length:eachGeometryIndicesPortion[_geometryIndex3+1]);_geometryValid2=_geometryPositions3.length>0&&geometryIndices.length>0;break;default:continue;}if(_geometryValid2){sceneModel.createMesh(utils.apply(meshDefaults,{id:meshId,origin:tileCenter,primitive:primitiveName,positionsCompressed:_geometryPositions3,normalsCompressed:geometryNormals,colorsCompressed:geometryColors,indices:geometryIndices,edgeIndices:geometryEdgeIndices,positionsDecodeMatrix:tileDecodeMatrix,color:meshColor,metallic:meshMetallic,roughness:meshRoughness,opacity:meshOpacity}));meshIds.push(meshId);}}}if(meshIds.length>0){sceneModel.createEntity(utils.apply(entityDefaults,{id:entityId,isObject:true,meshIds:meshIds}));}}}}/** @private */var ParserV9={version:9,parse:function parse(viewer,options,elements,sceneModel,metaModel,manifestCtx){var deflatedData=extract$1(elements);var inflatedData=inflate$1(deflatedData);load$1(viewer,options,inflatedData,sceneModel,metaModel,manifestCtx);}};/* +var geometryArrays=geometryArraysCache[geometryId];if(!geometryArrays){geometryArrays={batchThisMesh:!options.reuseGeometries};var primitiveType=eachGeometryPrimitiveType[_geometryIndex3];var geometryValid=false;switch(primitiveType){case 0:geometryArrays.primitiveName="solid";geometryArrays.geometryPositions=positions.subarray(eachGeometryPositionsPortion[_geometryIndex3],atLastGeometry?positions.length:eachGeometryPositionsPortion[_geometryIndex3+1]);geometryArrays.geometryNormals=normals.subarray(eachGeometryNormalsPortion[_geometryIndex3],atLastGeometry?normals.length:eachGeometryNormalsPortion[_geometryIndex3+1]);geometryArrays.geometryIndices=indices.subarray(eachGeometryIndicesPortion[_geometryIndex3],atLastGeometry?indices.length:eachGeometryIndicesPortion[_geometryIndex3+1]);geometryArrays.geometryEdgeIndices=edgeIndices.subarray(eachGeometryEdgeIndicesPortion[_geometryIndex3],atLastGeometry?edgeIndices.length:eachGeometryEdgeIndicesPortion[_geometryIndex3+1]);geometryValid=geometryArrays.geometryPositions.length>0&&geometryArrays.geometryIndices.length>0;break;case 1:geometryArrays.primitiveName="surface";geometryArrays.geometryPositions=positions.subarray(eachGeometryPositionsPortion[_geometryIndex3],atLastGeometry?positions.length:eachGeometryPositionsPortion[_geometryIndex3+1]);geometryArrays.geometryNormals=normals.subarray(eachGeometryNormalsPortion[_geometryIndex3],atLastGeometry?normals.length:eachGeometryNormalsPortion[_geometryIndex3+1]);geometryArrays.geometryIndices=indices.subarray(eachGeometryIndicesPortion[_geometryIndex3],atLastGeometry?indices.length:eachGeometryIndicesPortion[_geometryIndex3+1]);geometryArrays.geometryEdgeIndices=edgeIndices.subarray(eachGeometryEdgeIndicesPortion[_geometryIndex3],atLastGeometry?edgeIndices.length:eachGeometryEdgeIndicesPortion[_geometryIndex3+1]);geometryValid=geometryArrays.geometryPositions.length>0&&geometryArrays.geometryIndices.length>0;break;case 2:geometryArrays.primitiveName="points";geometryArrays.geometryPositions=positions.subarray(eachGeometryPositionsPortion[_geometryIndex3],atLastGeometry?positions.length:eachGeometryPositionsPortion[_geometryIndex3+1]);geometryArrays.geometryColors=colors.subarray(eachGeometryColorsPortion[_geometryIndex3],atLastGeometry?colors.length:eachGeometryColorsPortion[_geometryIndex3+1]);geometryValid=geometryArrays.geometryPositions.length>0;break;case 3:geometryArrays.primitiveName="lines";geometryArrays.geometryPositions=positions.subarray(eachGeometryPositionsPortion[_geometryIndex3],atLastGeometry?positions.length:eachGeometryPositionsPortion[_geometryIndex3+1]);geometryArrays.geometryIndices=indices.subarray(eachGeometryIndicesPortion[_geometryIndex3],atLastGeometry?indices.length:eachGeometryIndicesPortion[_geometryIndex3+1]);geometryValid=geometryArrays.geometryPositions.length>0&&geometryArrays.geometryIndices.length>0;break;default:continue;}if(!geometryValid){geometryArrays=null;}if(geometryArrays){if(geometryArrays.geometryPositions.length>1000);if(geometryArrays.batchThisMesh){geometryArrays.decompressedPositions=new Float32Array(geometryArrays.geometryPositions.length);geometryArrays.transformedAndRecompressedPositions=new Uint16Array(geometryArrays.geometryPositions.length);var geometryPositions=geometryArrays.geometryPositions;var decompressedPositions=geometryArrays.decompressedPositions;for(var _i528=0,len=geometryPositions.length;_i5280&&geometryIndices.length>0;break;case 1:primitiveName="surface";_geometryPositions3=positions.subarray(eachGeometryPositionsPortion[_geometryIndex3],atLastGeometry?positions.length:eachGeometryPositionsPortion[_geometryIndex3+1]);geometryNormals=normals.subarray(eachGeometryNormalsPortion[_geometryIndex3],atLastGeometry?normals.length:eachGeometryNormalsPortion[_geometryIndex3+1]);geometryIndices=indices.subarray(eachGeometryIndicesPortion[_geometryIndex3],atLastGeometry?indices.length:eachGeometryIndicesPortion[_geometryIndex3+1]);geometryEdgeIndices=edgeIndices.subarray(eachGeometryEdgeIndicesPortion[_geometryIndex3],atLastGeometry?edgeIndices.length:eachGeometryEdgeIndicesPortion[_geometryIndex3+1]);_geometryValid2=_geometryPositions3.length>0&&geometryIndices.length>0;break;case 2:primitiveName="points";_geometryPositions3=positions.subarray(eachGeometryPositionsPortion[_geometryIndex3],atLastGeometry?positions.length:eachGeometryPositionsPortion[_geometryIndex3+1]);geometryColors=colors.subarray(eachGeometryColorsPortion[_geometryIndex3],atLastGeometry?colors.length:eachGeometryColorsPortion[_geometryIndex3+1]);_geometryValid2=_geometryPositions3.length>0;break;case 3:primitiveName="lines";_geometryPositions3=positions.subarray(eachGeometryPositionsPortion[_geometryIndex3],atLastGeometry?positions.length:eachGeometryPositionsPortion[_geometryIndex3+1]);geometryIndices=indices.subarray(eachGeometryIndicesPortion[_geometryIndex3],atLastGeometry?indices.length:eachGeometryIndicesPortion[_geometryIndex3+1]);_geometryValid2=_geometryPositions3.length>0&&geometryIndices.length>0;break;default:continue;}if(_geometryValid2){sceneModel.createMesh(utils.apply(meshDefaults,{id:meshId,origin:tileCenter,primitive:primitiveName,positionsCompressed:_geometryPositions3,normalsCompressed:geometryNormals,colorsCompressed:geometryColors,indices:geometryIndices,edgeIndices:geometryEdgeIndices,positionsDecodeMatrix:tileDecodeMatrix,color:meshColor,metallic:meshMetallic,roughness:meshRoughness,opacity:meshOpacity}));meshIds.push(meshId);}}}if(meshIds.length>0){sceneModel.createEntity(utils.apply(entityDefaults,{id:entityId,isObject:true,meshIds:meshIds}));}}}}/** @private */var ParserV9={version:9,parse:function parse(viewer,options,elements,sceneModel,metaModel,manifestCtx){var deflatedData=extract$1(elements);var inflatedData=inflate$1(deflatedData);load$1(viewer,options,inflatedData,sceneModel,metaModel,manifestCtx);}};/* Parser for .XKT Format V10 */var pako=window.pako||p;if(!pako.inflate){// See https://github.com/nodeca/pako/issues/97 pako=pako["default"];}var tempVec4a=math.vec4();var tempVec4b=math.vec4();var NUM_TEXTURE_ATTRIBUTES=9;function extract(elements){var i=0;return{metadata:elements[i++],textureData:elements[i++],eachTextureDataPortion:elements[i++],eachTextureAttributes:elements[i++],positions:elements[i++],normals:elements[i++],colors:elements[i++],uvs:elements[i++],indices:elements[i++],edgeIndices:elements[i++],eachTextureSetTextures:elements[i++],matrices:elements[i++],reusedGeometriesDecodeMatrix:elements[i++],eachGeometryPrimitiveType:elements[i++],eachGeometryPositionsPortion:elements[i++],eachGeometryNormalsPortion:elements[i++],eachGeometryColorsPortion:elements[i++],eachGeometryUVsPortion:elements[i++],eachGeometryIndicesPortion:elements[i++],eachGeometryEdgeIndicesPortion:elements[i++],eachMeshGeometriesPortion:elements[i++],eachMeshMatricesPortion:elements[i++],eachMeshTextureSet:elements[i++],eachMeshMaterialAttributes:elements[i++],eachEntityId:elements[i++],eachEntityMeshesPortion:elements[i++],eachTileAABB:elements[i++],eachTileEntitiesPortion:elements[i++]};}function inflate(deflatedData){function inflate(array,options){return array.length===0?[]:pako.inflate(array,options).buffer;}return{metadata:JSON.parse(pako.inflate(deflatedData.metadata,{to:'string'})),textureData:new Uint8Array(inflate(deflatedData.textureData)),// <<----------------------------- ??? ZIPPing to blame? @@ -26239,8 +26252,8 @@ if(options.excludeTypesMap&&metaObject.type&&options.excludeTypesMap[metaObject. var props=options.objectDefaults?options.objectDefaults[metaObject.type]||options.objectDefaults["DEFAULT"]:null;if(props){if(props.visible===false){entityDefaults.visible=false;}if(props.pickable===false){entityDefaults.pickable=false;}if(props.colorize){meshDefaults.color=props.colorize;}if(props.opacity!==undefined&&props.opacity!==null){meshDefaults.opacity=props.opacity;}if(props.metallic!==undefined&&props.metallic!==null){meshDefaults.metallic=props.metallic;}if(props.roughness!==undefined&&props.roughness!==null){meshDefaults.roughness=props.roughness;}}}else{if(options.excludeUnclassifiedObjects){continue;}}// Iterate each entity's meshes for(var _meshIndex4=firstMeshIndex;_meshIndex4<=lastMeshIndex;_meshIndex4++){var _geometryIndex4=eachMeshGeometriesPortion[_meshIndex4];var geometryReuseCount=geometryReuseCounts[_geometryIndex4];var isReusedGeometry=geometryReuseCount>1;var atLastGeometry=_geometryIndex4===numGeometries-1;var _textureSetIndex=eachMeshTextureSet[_meshIndex4];var _textureSetId=_textureSetIndex>=0?"".concat(modelPartId,"-textureSet-").concat(_textureSetIndex):null;var meshColor=decompressColor(eachMeshMaterialAttributes.subarray(_meshIndex4*6,_meshIndex4*6+3));var meshOpacity=eachMeshMaterialAttributes[_meshIndex4*6+3]/255.0;var meshMetallic=eachMeshMaterialAttributes[_meshIndex4*6+4]/255.0;var meshRoughness=eachMeshMaterialAttributes[_meshIndex4*6+5]/255.0;var meshId=manifestCtx.getNextId();if(isReusedGeometry){// Create mesh for multi-use geometry - create (or reuse) geometry, create mesh using that geometry var meshMatrixIndex=eachMeshMatricesPortion[_meshIndex4];var meshMatrix=matrices.slice(meshMatrixIndex,meshMatrixIndex+16);var geometryId="".concat(modelPartId,"-geometry.").concat(tileIndex,".").concat(_geometryIndex4);// These IDs are local to the SceneModel -var geometryArrays=geometryArraysCache[geometryId];if(!geometryArrays){geometryArrays={batchThisMesh:!options.reuseGeometries};var primitiveType=eachGeometryPrimitiveType[_geometryIndex4];var geometryValid=false;switch(primitiveType){case 0:geometryArrays.primitiveName="solid";geometryArrays.geometryPositions=positions.subarray(eachGeometryPositionsPortion[_geometryIndex4],atLastGeometry?positions.length:eachGeometryPositionsPortion[_geometryIndex4+1]);geometryArrays.geometryNormals=normals.subarray(eachGeometryNormalsPortion[_geometryIndex4],atLastGeometry?normals.length:eachGeometryNormalsPortion[_geometryIndex4+1]);geometryArrays.geometryUVs=uvs.subarray(eachGeometryUVsPortion[_geometryIndex4],atLastGeometry?uvs.length:eachGeometryUVsPortion[_geometryIndex4+1]);geometryArrays.geometryIndices=indices.subarray(eachGeometryIndicesPortion[_geometryIndex4],atLastGeometry?indices.length:eachGeometryIndicesPortion[_geometryIndex4+1]);geometryArrays.geometryEdgeIndices=edgeIndices.subarray(eachGeometryEdgeIndicesPortion[_geometryIndex4],atLastGeometry?edgeIndices.length:eachGeometryEdgeIndicesPortion[_geometryIndex4+1]);geometryValid=geometryArrays.geometryPositions.length>0&&geometryArrays.geometryIndices.length>0;break;case 1:geometryArrays.primitiveName="surface";geometryArrays.geometryPositions=positions.subarray(eachGeometryPositionsPortion[_geometryIndex4],atLastGeometry?positions.length:eachGeometryPositionsPortion[_geometryIndex4+1]);geometryArrays.geometryNormals=normals.subarray(eachGeometryNormalsPortion[_geometryIndex4],atLastGeometry?normals.length:eachGeometryNormalsPortion[_geometryIndex4+1]);geometryArrays.geometryUVs=uvs.subarray(eachGeometryUVsPortion[_geometryIndex4],atLastGeometry?uvs.length:eachGeometryUVsPortion[_geometryIndex4+1]);geometryArrays.geometryIndices=indices.subarray(eachGeometryIndicesPortion[_geometryIndex4],atLastGeometry?indices.length:eachGeometryIndicesPortion[_geometryIndex4+1]);geometryArrays.geometryEdgeIndices=edgeIndices.subarray(eachGeometryEdgeIndicesPortion[_geometryIndex4],atLastGeometry?edgeIndices.length:eachGeometryEdgeIndicesPortion[_geometryIndex4+1]);geometryValid=geometryArrays.geometryPositions.length>0&&geometryArrays.geometryIndices.length>0;break;case 2:geometryArrays.primitiveName="points";geometryArrays.geometryPositions=positions.subarray(eachGeometryPositionsPortion[_geometryIndex4],atLastGeometry?positions.length:eachGeometryPositionsPortion[_geometryIndex4+1]);geometryArrays.geometryColors=colors.subarray(eachGeometryColorsPortion[_geometryIndex4],atLastGeometry?colors.length:eachGeometryColorsPortion[_geometryIndex4+1]);geometryValid=geometryArrays.geometryPositions.length>0;break;case 3:geometryArrays.primitiveName="lines";geometryArrays.geometryPositions=positions.subarray(eachGeometryPositionsPortion[_geometryIndex4],atLastGeometry?positions.length:eachGeometryPositionsPortion[_geometryIndex4+1]);geometryArrays.geometryIndices=indices.subarray(eachGeometryIndicesPortion[_geometryIndex4],atLastGeometry?indices.length:eachGeometryIndicesPortion[_geometryIndex4+1]);geometryValid=geometryArrays.geometryPositions.length>0&&geometryArrays.geometryIndices.length>0;break;case 4:geometryArrays.primitiveName="lines";geometryArrays.geometryPositions=positions.subarray(eachGeometryPositionsPortion[_geometryIndex4],atLastGeometry?positions.length:eachGeometryPositionsPortion[_geometryIndex4+1]);geometryArrays.geometryIndices=lineStripToLines(geometryArrays.geometryPositions,indices.subarray(eachGeometryIndicesPortion[_geometryIndex4],atLastGeometry?indices.length:eachGeometryIndicesPortion[_geometryIndex4+1]));geometryValid=geometryArrays.geometryPositions.length>0&&geometryArrays.geometryIndices.length>0;break;default:continue;}if(!geometryValid){geometryArrays=null;}if(geometryArrays){if(geometryArrays.geometryPositions.length>1000);if(geometryArrays.batchThisMesh){geometryArrays.decompressedPositions=new Float32Array(geometryArrays.geometryPositions.length);geometryArrays.transformedAndRecompressedPositions=new Uint16Array(geometryArrays.geometryPositions.length);var geometryPositions=geometryArrays.geometryPositions;var decompressedPositions=geometryArrays.decompressedPositions;for(var _i523=0,len=geometryPositions.length;_i5230&&geometryIndices.length>0;break;case 1:primitiveName="surface";_geometryPositions4=positions.subarray(eachGeometryPositionsPortion[_geometryIndex4],atLastGeometry?positions.length:eachGeometryPositionsPortion[_geometryIndex4+1]);geometryNormals=normals.subarray(eachGeometryNormalsPortion[_geometryIndex4],atLastGeometry?normals.length:eachGeometryNormalsPortion[_geometryIndex4+1]);geometryUVs=uvs.subarray(eachGeometryUVsPortion[_geometryIndex4],atLastGeometry?uvs.length:eachGeometryUVsPortion[_geometryIndex4+1]);geometryIndices=indices.subarray(eachGeometryIndicesPortion[_geometryIndex4],atLastGeometry?indices.length:eachGeometryIndicesPortion[_geometryIndex4+1]);geometryEdgeIndices=edgeIndices.subarray(eachGeometryEdgeIndicesPortion[_geometryIndex4],atLastGeometry?edgeIndices.length:eachGeometryEdgeIndicesPortion[_geometryIndex4+1]);_geometryValid3=_geometryPositions4.length>0&&geometryIndices.length>0;break;case 2:primitiveName="points";_geometryPositions4=positions.subarray(eachGeometryPositionsPortion[_geometryIndex4],atLastGeometry?positions.length:eachGeometryPositionsPortion[_geometryIndex4+1]);geometryColors=colors.subarray(eachGeometryColorsPortion[_geometryIndex4],atLastGeometry?colors.length:eachGeometryColorsPortion[_geometryIndex4+1]);_geometryValid3=_geometryPositions4.length>0;break;case 3:primitiveName="lines";_geometryPositions4=positions.subarray(eachGeometryPositionsPortion[_geometryIndex4],atLastGeometry?positions.length:eachGeometryPositionsPortion[_geometryIndex4+1]);geometryIndices=indices.subarray(eachGeometryIndicesPortion[_geometryIndex4],atLastGeometry?indices.length:eachGeometryIndicesPortion[_geometryIndex4+1]);_geometryValid3=_geometryPositions4.length>0&&geometryIndices.length>0;break;case 4:primitiveName="lines";_geometryPositions4=positions.subarray(eachGeometryPositionsPortion[_geometryIndex4],atLastGeometry?positions.length:eachGeometryPositionsPortion[_geometryIndex4+1]);geometryIndices=lineStripToLines(_geometryPositions4,indices.subarray(eachGeometryIndicesPortion[_geometryIndex4],atLastGeometry?indices.length:eachGeometryIndicesPortion[_geometryIndex4+1]));_geometryValid3=_geometryPositions4.length>0&&geometryIndices.length>0;break;default:continue;}if(_geometryValid3){sceneModel.createMesh(utils.apply(meshDefaults,{id:meshId,textureSetId:_textureSetId,origin:tileCenter,primitive:primitiveName,positionsCompressed:_geometryPositions4,normalsCompressed:geometryNormals,uv:geometryUVs&&geometryUVs.length>0?geometryUVs:null,colorsCompressed:geometryColors,indices:geometryIndices,edgeIndices:geometryEdgeIndices,positionsDecodeMatrix:tileDecodeMatrix,color:meshColor,metallic:meshMetallic,roughness:meshRoughness,opacity:meshOpacity}));meshIds.push(meshId);}}}if(meshIds.length>0){sceneModel.createEntity(utils.apply(entityDefaults,{id:entityId,isObject:true,meshIds:meshIds}));}}}}function lineStripToLines(positions,indices){var linesIndices=[];if(indices.length>1){for(var _i525=0,len=indices.length-1;_i5251){for(var _i526=0,_len114=positions.length/3-1;_i526<_len114;_i526++){linesIndices.push(_i526);linesIndices.push(_i526+1);}}return linesIndices;}/** @private */var ParserV10={version:10,parse:function parse(viewer,options,elements,sceneModel,metaModel,manifestCtx){var deflatedData=extract(elements);var inflatedData=inflate(deflatedData);load(viewer,options,inflatedData,sceneModel,metaModel,manifestCtx);}};var parsers={};parsers[ParserV1.version]=ParserV1;parsers[ParserV2.version]=ParserV2;parsers[ParserV3.version]=ParserV3;parsers[ParserV4.version]=ParserV4;parsers[ParserV5.version]=ParserV5;parsers[ParserV6.version]=ParserV6;parsers[ParserV7.version]=ParserV7;parsers[ParserV8.version]=ParserV8;parsers[ParserV9.version]=ParserV9;parsers[ParserV10.version]=ParserV10;/** +var geometryArrays=geometryArraysCache[geometryId];if(!geometryArrays){geometryArrays={batchThisMesh:!options.reuseGeometries};var primitiveType=eachGeometryPrimitiveType[_geometryIndex4];var geometryValid=false;switch(primitiveType){case 0:geometryArrays.primitiveName="solid";geometryArrays.geometryPositions=positions.subarray(eachGeometryPositionsPortion[_geometryIndex4],atLastGeometry?positions.length:eachGeometryPositionsPortion[_geometryIndex4+1]);geometryArrays.geometryNormals=normals.subarray(eachGeometryNormalsPortion[_geometryIndex4],atLastGeometry?normals.length:eachGeometryNormalsPortion[_geometryIndex4+1]);geometryArrays.geometryUVs=uvs.subarray(eachGeometryUVsPortion[_geometryIndex4],atLastGeometry?uvs.length:eachGeometryUVsPortion[_geometryIndex4+1]);geometryArrays.geometryIndices=indices.subarray(eachGeometryIndicesPortion[_geometryIndex4],atLastGeometry?indices.length:eachGeometryIndicesPortion[_geometryIndex4+1]);geometryArrays.geometryEdgeIndices=edgeIndices.subarray(eachGeometryEdgeIndicesPortion[_geometryIndex4],atLastGeometry?edgeIndices.length:eachGeometryEdgeIndicesPortion[_geometryIndex4+1]);geometryValid=geometryArrays.geometryPositions.length>0&&geometryArrays.geometryIndices.length>0;break;case 1:geometryArrays.primitiveName="surface";geometryArrays.geometryPositions=positions.subarray(eachGeometryPositionsPortion[_geometryIndex4],atLastGeometry?positions.length:eachGeometryPositionsPortion[_geometryIndex4+1]);geometryArrays.geometryNormals=normals.subarray(eachGeometryNormalsPortion[_geometryIndex4],atLastGeometry?normals.length:eachGeometryNormalsPortion[_geometryIndex4+1]);geometryArrays.geometryUVs=uvs.subarray(eachGeometryUVsPortion[_geometryIndex4],atLastGeometry?uvs.length:eachGeometryUVsPortion[_geometryIndex4+1]);geometryArrays.geometryIndices=indices.subarray(eachGeometryIndicesPortion[_geometryIndex4],atLastGeometry?indices.length:eachGeometryIndicesPortion[_geometryIndex4+1]);geometryArrays.geometryEdgeIndices=edgeIndices.subarray(eachGeometryEdgeIndicesPortion[_geometryIndex4],atLastGeometry?edgeIndices.length:eachGeometryEdgeIndicesPortion[_geometryIndex4+1]);geometryValid=geometryArrays.geometryPositions.length>0&&geometryArrays.geometryIndices.length>0;break;case 2:geometryArrays.primitiveName="points";geometryArrays.geometryPositions=positions.subarray(eachGeometryPositionsPortion[_geometryIndex4],atLastGeometry?positions.length:eachGeometryPositionsPortion[_geometryIndex4+1]);geometryArrays.geometryColors=colors.subarray(eachGeometryColorsPortion[_geometryIndex4],atLastGeometry?colors.length:eachGeometryColorsPortion[_geometryIndex4+1]);geometryValid=geometryArrays.geometryPositions.length>0;break;case 3:geometryArrays.primitiveName="lines";geometryArrays.geometryPositions=positions.subarray(eachGeometryPositionsPortion[_geometryIndex4],atLastGeometry?positions.length:eachGeometryPositionsPortion[_geometryIndex4+1]);geometryArrays.geometryIndices=indices.subarray(eachGeometryIndicesPortion[_geometryIndex4],atLastGeometry?indices.length:eachGeometryIndicesPortion[_geometryIndex4+1]);geometryValid=geometryArrays.geometryPositions.length>0&&geometryArrays.geometryIndices.length>0;break;case 4:geometryArrays.primitiveName="lines";geometryArrays.geometryPositions=positions.subarray(eachGeometryPositionsPortion[_geometryIndex4],atLastGeometry?positions.length:eachGeometryPositionsPortion[_geometryIndex4+1]);geometryArrays.geometryIndices=lineStripToLines(geometryArrays.geometryPositions,indices.subarray(eachGeometryIndicesPortion[_geometryIndex4],atLastGeometry?indices.length:eachGeometryIndicesPortion[_geometryIndex4+1]));geometryValid=geometryArrays.geometryPositions.length>0&&geometryArrays.geometryIndices.length>0;break;default:continue;}if(!geometryValid){geometryArrays=null;}if(geometryArrays){if(geometryArrays.geometryPositions.length>1000);if(geometryArrays.batchThisMesh){geometryArrays.decompressedPositions=new Float32Array(geometryArrays.geometryPositions.length);geometryArrays.transformedAndRecompressedPositions=new Uint16Array(geometryArrays.geometryPositions.length);var geometryPositions=geometryArrays.geometryPositions;var decompressedPositions=geometryArrays.decompressedPositions;for(var _i530=0,len=geometryPositions.length;_i5300&&geometryIndices.length>0;break;case 1:primitiveName="surface";_geometryPositions4=positions.subarray(eachGeometryPositionsPortion[_geometryIndex4],atLastGeometry?positions.length:eachGeometryPositionsPortion[_geometryIndex4+1]);geometryNormals=normals.subarray(eachGeometryNormalsPortion[_geometryIndex4],atLastGeometry?normals.length:eachGeometryNormalsPortion[_geometryIndex4+1]);geometryUVs=uvs.subarray(eachGeometryUVsPortion[_geometryIndex4],atLastGeometry?uvs.length:eachGeometryUVsPortion[_geometryIndex4+1]);geometryIndices=indices.subarray(eachGeometryIndicesPortion[_geometryIndex4],atLastGeometry?indices.length:eachGeometryIndicesPortion[_geometryIndex4+1]);geometryEdgeIndices=edgeIndices.subarray(eachGeometryEdgeIndicesPortion[_geometryIndex4],atLastGeometry?edgeIndices.length:eachGeometryEdgeIndicesPortion[_geometryIndex4+1]);_geometryValid3=_geometryPositions4.length>0&&geometryIndices.length>0;break;case 2:primitiveName="points";_geometryPositions4=positions.subarray(eachGeometryPositionsPortion[_geometryIndex4],atLastGeometry?positions.length:eachGeometryPositionsPortion[_geometryIndex4+1]);geometryColors=colors.subarray(eachGeometryColorsPortion[_geometryIndex4],atLastGeometry?colors.length:eachGeometryColorsPortion[_geometryIndex4+1]);_geometryValid3=_geometryPositions4.length>0;break;case 3:primitiveName="lines";_geometryPositions4=positions.subarray(eachGeometryPositionsPortion[_geometryIndex4],atLastGeometry?positions.length:eachGeometryPositionsPortion[_geometryIndex4+1]);geometryIndices=indices.subarray(eachGeometryIndicesPortion[_geometryIndex4],atLastGeometry?indices.length:eachGeometryIndicesPortion[_geometryIndex4+1]);_geometryValid3=_geometryPositions4.length>0&&geometryIndices.length>0;break;case 4:primitiveName="lines";_geometryPositions4=positions.subarray(eachGeometryPositionsPortion[_geometryIndex4],atLastGeometry?positions.length:eachGeometryPositionsPortion[_geometryIndex4+1]);geometryIndices=lineStripToLines(_geometryPositions4,indices.subarray(eachGeometryIndicesPortion[_geometryIndex4],atLastGeometry?indices.length:eachGeometryIndicesPortion[_geometryIndex4+1]));_geometryValid3=_geometryPositions4.length>0&&geometryIndices.length>0;break;default:continue;}if(_geometryValid3){sceneModel.createMesh(utils.apply(meshDefaults,{id:meshId,textureSetId:_textureSetId,origin:tileCenter,primitive:primitiveName,positionsCompressed:_geometryPositions4,normalsCompressed:geometryNormals,uv:geometryUVs&&geometryUVs.length>0?geometryUVs:null,colorsCompressed:geometryColors,indices:geometryIndices,edgeIndices:geometryEdgeIndices,positionsDecodeMatrix:tileDecodeMatrix,color:meshColor,metallic:meshMetallic,roughness:meshRoughness,opacity:meshOpacity}));meshIds.push(meshId);}}}if(meshIds.length>0){sceneModel.createEntity(utils.apply(entityDefaults,{id:entityId,isObject:true,meshIds:meshIds}));}}}}function lineStripToLines(positions,indices){var linesIndices=[];if(indices.length>1){for(var _i532=0,len=indices.length-1;_i5321){for(var _i533=0,_len114=positions.length/3-1;_i533<_len114;_i533++){linesIndices.push(_i533);linesIndices.push(_i533+1);}}return linesIndices;}/** @private */var ParserV10={version:10,parse:function parse(viewer,options,elements,sceneModel,metaModel,manifestCtx){var deflatedData=extract(elements);var inflatedData=inflate(deflatedData);load(viewer,options,inflatedData,sceneModel,metaModel,manifestCtx);}};var parsers={};parsers[ParserV1.version]=ParserV1;parsers[ParserV2.version]=ParserV2;parsers[ParserV3.version]=ParserV3;parsers[ParserV4.version]=ParserV4;parsers[ParserV5.version]=ParserV5;parsers[ParserV6.version]=ParserV6;parsers[ParserV7.version]=ParserV7;parsers[ParserV8.version]=ParserV8;parsers[ParserV9.version]=ParserV9;parsers[ParserV10.version]=ParserV10;/** * {@link Viewer} plugin that loads models from xeokit's optimized *````.XKT````* format. * * @@ -26996,11 +27009,11 @@ var _primitiveType4=eachGeometryPrimitiveType[_geometryIndex4];var primitiveName * primitives. Only works while {@link DTX#enabled} is also ````true````. * @returns {Entity} Entity representing the model, which will have {@link Entity#isModel} set ````true```` and will be registered by {@link Entity#id} in {@link Scene#models}. */},{key:"load",value:function load(){var _this152=this;var params=arguments.length>0&&arguments[0]!==undefined?arguments[0]:{};if(params.id&&this.viewer.scene.components[params.id]){this.error("Component with this ID already exists in viewer: "+params.id+" - will autogenerate this ID");delete params.id;}if(!params.src&&!params.xkt&&!params.manifestSrc&&!params.manifest){this.error("load() param expected: src, xkt, manifestSrc or manifestData");return sceneModel;// Return new empty model -}var options={};var includeTypes=params.includeTypes||this._includeTypes;var excludeTypes=params.excludeTypes||this._excludeTypes;var objectDefaults=params.objectDefaults||this._objectDefaults;options.reuseGeometries=params.reuseGeometries!==null&¶ms.reuseGeometries!==undefined?params.reuseGeometries:this._reuseGeometries!==false;if(includeTypes){options.includeTypesMap={};for(var _i527=0,len=includeTypes.length;_i527=metaDataFiles.length){done();}else{_this152._dataSource.getMetaModel("".concat(baseDir).concat(metaDataFiles[i]),function(metaModelData){metaModel.loadData(metaModelData,{includeTypes:includeTypes,excludeTypes:excludeTypes,globalizeObjectIds:options.globalizeObjectIds});i++;loadNext();},error);}};loadNext();};var loadXKTs=function loadXKTs(xktFiles,done,error){var i=0;var loadNext=function loadNext(){if(i>=xktFiles.length){done();}else{_this152._dataSource.getXKT("".concat(baseDir).concat(xktFiles[i]),function(arrayBuffer){_this152._parseModel(arrayBuffer,params,options,sceneModel,metaModel,manifestCtx);i++;loadNext();},error);}};loadNext();};if(params.manifest){var manifestData=params.manifest;var xktFiles=manifestData.xktFiles;if(!xktFiles||xktFiles.length===0){error("load(): Failed to load model manifest - manifest not valid");return;}var metaModelFiles=manifestData.metaModelFiles;if(metaModelFiles){loadJSONs(metaModelFiles,function(){loadXKTs(xktFiles,finish,error);},error);}else{loadXKTs(xktFiles,finish,error);}}else{this._dataSource.getManifest(params.manifestSrc,function(manifestData){if(sceneModel.destroyed){return;}var xktFiles=manifestData.xktFiles;if(!xktFiles||xktFiles.length===0){error("load(): Failed to load model manifest - manifest not valid");return;}var metaModelFiles=manifestData.metaModelFiles;if(metaModelFiles){loadJSONs(metaModelFiles,function(){loadXKTs(xktFiles,finish,error);},error);}else{loadXKTs(xktFiles,finish,error);}},error);}}}return sceneModel;}},{key:"_loadModel",value:function _loadModel(src,params,options,sceneModel,metaModel,manifestCtx,done,error){var _this153=this;this._dataSource.getXKT(params.src,function(arrayBuffer){_this153._parseModel(arrayBuffer,params,options,sceneModel,metaModel,manifestCtx);done();},error);}},{key:"_parseModel",value:function _parseModel(arrayBuffer,params,options,sceneModel,metaModel,manifestCtx){if(sceneModel.destroyed){return;}var dataView=new DataView(arrayBuffer);var dataArray=new Uint8Array(arrayBuffer);var xktVersion=dataView.getUint32(0,true);var parser=parsers[xktVersion];if(!parser){this.error("Unsupported .XKT file version: "+xktVersion+" - this XKTLoaderPlugin supports versions "+Object.keys(parsers));return;}this.log("Loading .xkt V"+xktVersion);var numElements=dataView.getUint32(4,true);var elements=[];var byteOffset=(numElements+2)*4;for(var _i529=0;_i529=metaDataFiles.length){done();}else{_this152._dataSource.getMetaModel("".concat(baseDir).concat(metaDataFiles[i]),function(metaModelData){metaModel.loadData(metaModelData,{includeTypes:includeTypes,excludeTypes:excludeTypes,globalizeObjectIds:options.globalizeObjectIds});i++;loadNext();},error);}};loadNext();};var loadXKTs=function loadXKTs(xktFiles,done,error){var i=0;var loadNext=function loadNext(){if(i>=xktFiles.length){done();}else{_this152._dataSource.getXKT("".concat(baseDir).concat(xktFiles[i]),function(arrayBuffer){_this152._parseModel(arrayBuffer,params,options,sceneModel,metaModel,manifestCtx);i++;loadNext();},error);}};loadNext();};if(params.manifest){var manifestData=params.manifest;var xktFiles=manifestData.xktFiles;if(!xktFiles||xktFiles.length===0){error("load(): Failed to load model manifest - manifest not valid");return;}var metaModelFiles=manifestData.metaModelFiles;if(metaModelFiles){loadJSONs(metaModelFiles,function(){loadXKTs(xktFiles,finish,error);},error);}else{loadXKTs(xktFiles,finish,error);}}else{this._dataSource.getManifest(params.manifestSrc,function(manifestData){if(sceneModel.destroyed){return;}var xktFiles=manifestData.xktFiles;if(!xktFiles||xktFiles.length===0){error("load(): Failed to load model manifest - manifest not valid");return;}var metaModelFiles=manifestData.metaModelFiles;if(metaModelFiles){loadJSONs(metaModelFiles,function(){loadXKTs(xktFiles,finish,error);},error);}else{loadXKTs(xktFiles,finish,error);}},error);}}}return sceneModel;}},{key:"_loadModel",value:function _loadModel(src,params,options,sceneModel,metaModel,manifestCtx,done,error){var _this153=this;this._dataSource.getXKT(params.src,function(arrayBuffer){_this153._parseModel(arrayBuffer,params,options,sceneModel,metaModel,manifestCtx);done();},error);}},{key:"_parseModel",value:function _parseModel(arrayBuffer,params,options,sceneModel,metaModel,manifestCtx){if(sceneModel.destroyed){return;}var dataView=new DataView(arrayBuffer);var dataArray=new Uint8Array(arrayBuffer);var xktVersion=dataView.getUint32(0,true);var parser=parsers[xktVersion];if(!parser){this.error("Unsupported .XKT file version: "+xktVersion+" - this XKTLoaderPlugin supports versions "+Object.keys(parsers));return;}this.log("Loading .xkt V"+xktVersion);var numElements=dataView.getUint32(4,true);var elements=[];var byteOffset=(numElements+2)*4;for(var _i536=0;_i5360&&arguments[0]!==undefined?arguments[0]:{};params.workerScriptsPath=this._workerScriptsPath;if(params.id&&this.viewer.scene.components[params.id]){this.error("Component with this ID already exists in viewer: "+params.id+" - will autogenerate this ID");delete params.id;}var modelNode=new Node$2(this.viewer.scene,utils.apply(params,{isModel:true}));var src=params.src;if(!src){this.error("load() param expected: src");return modelNode;// Return new empty model }this._loader.load(this,modelNode,src,params);return modelNode;}}]);return XML3DLoaderPlugin;}(Plugin);var __defProp=Object.defineProperty;var __defProps=Object.defineProperties;var __getOwnPropDescs=Object.getOwnPropertyDescriptors;var __getOwnPropSymbols=Object.getOwnPropertySymbols;var __hasOwnProp=Object.prototype.hasOwnProperty;var __propIsEnum=Object.prototype.propertyIsEnumerable;var __defNormalProp=function __defNormalProp(obj,key,value){return key in obj?__defProp(obj,key,{enumerable:true,configurable:true,writable:true,value:value}):obj[key]=value;};var __spreadValues=function __spreadValues(a,b){for(var prop in b||(b={})){if(__hasOwnProp.call(b,prop))__defNormalProp(a,prop,b[prop]);}if(__getOwnPropSymbols){var _iterator41=_createForOfIteratorHelper(__getOwnPropSymbols(b)),_step41;try{for(_iterator41.s();!(_step41=_iterator41.n()).done;){var prop=_step41.value;if(__propIsEnum.call(b,prop))__defNormalProp(a,prop,b[prop]);}}catch(err){_iterator41.e(err);}finally{_iterator41.f();}}return a;};var __spreadProps=function __spreadProps(a,b){return __defProps(a,__getOwnPropDescs(b));};var __commonJS=function __commonJS(cb,mod){return function __require(){return mod||(0,cb[Object.keys(cb)[0]])((mod={exports:{}}).exports,mod),mod.exports;};};var __async=function __async(__this,__arguments,generator){return new Promise(function(resolve,reject){var fulfilled=function fulfilled(value){try{step(generator.next(value));}catch(e){reject(e);}};var rejected=function rejected(value){try{step(generator["throw"](value));}catch(e){reject(e);}};var step=function step(x){return x.done?resolve(x.value):Promise.resolve(x.value).then(fulfilled,rejected);};step((generator=generator.apply(__this,__arguments)).next());});};// dist/web-ifc-mt.js -var require_web_ifc_mt=__commonJS({"dist/web-ifc-mt.js":function distWebIfcMtJs(exports,module){var WebIFCWasm2=function(){var _scriptDir=typeof document!=="undefined"&&document.currentScript?document.currentScript.src:void 0;return function(){var WebIFCWasm3=arguments.length>0&&arguments[0]!==undefined?arguments[0]:{};function GROWABLE_HEAP_I8(){if(wasmMemory.buffer!=HEAP8.buffer){updateMemoryViews();}return HEAP8;}function GROWABLE_HEAP_U8(){if(wasmMemory.buffer!=HEAP8.buffer){updateMemoryViews();}return HEAPU8;}function GROWABLE_HEAP_I16(){if(wasmMemory.buffer!=HEAP8.buffer){updateMemoryViews();}return HEAP16;}function GROWABLE_HEAP_U16(){if(wasmMemory.buffer!=HEAP8.buffer){updateMemoryViews();}return HEAPU16;}function GROWABLE_HEAP_I32(){if(wasmMemory.buffer!=HEAP8.buffer){updateMemoryViews();}return HEAP32;}function GROWABLE_HEAP_U32(){if(wasmMemory.buffer!=HEAP8.buffer){updateMemoryViews();}return HEAPU32;}function GROWABLE_HEAP_F32(){if(wasmMemory.buffer!=HEAP8.buffer){updateMemoryViews();}return HEAPF32;}function GROWABLE_HEAP_F64(){if(wasmMemory.buffer!=HEAP8.buffer){updateMemoryViews();}return HEAPF64;}var Module=typeof WebIFCWasm3!="undefined"?WebIFCWasm3:{};var readyPromiseResolve,readyPromiseReject;Module["ready"]=new Promise(function(resolve,reject){readyPromiseResolve=resolve;readyPromiseReject=reject;});var moduleOverrides=Object.assign({},Module);var thisProgram="./this.program";var quit_=function quit_(status,toThrow){throw toThrow;};var ENVIRONMENT_IS_WEB=(typeof window==="undefined"?"undefined":_typeof(window))=="object";var ENVIRONMENT_IS_WORKER=typeof importScripts=="function";var ENVIRONMENT_IS_NODE=(typeof process==="undefined"?"undefined":_typeof(process))=="object"&&_typeof(process.versions)=="object"&&typeof process.versions.node=="string";var ENVIRONMENT_IS_PTHREAD=Module["ENVIRONMENT_IS_PTHREAD"]||false;var scriptDirectory="";function locateFile(path){if(Module["locateFile"]){return Module["locateFile"](path,scriptDirectory);}return scriptDirectory+path;}var read_,readAsync,readBinary;if(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER){if(ENVIRONMENT_IS_WORKER){scriptDirectory=self.location.href;}else if(typeof document!="undefined"&&document.currentScript){scriptDirectory=document.currentScript.src;}if(_scriptDir){scriptDirectory=_scriptDir;}if(scriptDirectory.indexOf("blob:")!==0){scriptDirectory=scriptDirectory.substr(0,scriptDirectory.replace(/[?#].*/,"").lastIndexOf("/")+1);}else{scriptDirectory="";}{read_=function read_(url){var xhr=new XMLHttpRequest();xhr.open("GET",url,false);xhr.send(null);return xhr.responseText;};if(ENVIRONMENT_IS_WORKER){readBinary=function readBinary(url){var xhr=new XMLHttpRequest();xhr.open("GET",url,false);xhr.responseType="arraybuffer";xhr.send(null);return new Uint8Array(xhr.response);};}readAsync=function readAsync(url,onload,onerror){var xhr=new XMLHttpRequest();xhr.open("GET",url,true);xhr.responseType="arraybuffer";xhr.onload=function(){if(xhr.status==200||xhr.status==0&&xhr.response){onload(xhr.response);return;}onerror();};xhr.onerror=onerror;xhr.send(null);};}}var out=Module["print"]||console.log.bind(console);var err=Module["printErr"]||console.warn.bind(console);Object.assign(Module,moduleOverrides);moduleOverrides=null;if(Module["arguments"]);if(Module["thisProgram"])thisProgram=Module["thisProgram"];if(Module["quit"])quit_=Module["quit"];var wasmBinary;if(Module["wasmBinary"])wasmBinary=Module["wasmBinary"];var noExitRuntime=Module["noExitRuntime"]||true;if((typeof WebAssembly==="undefined"?"undefined":_typeof(WebAssembly))!="object"){abort("no native wasm support detected");}var wasmMemory;var wasmModule;var ABORT=false;var EXITSTATUS;function assert(condition,text){if(!condition){abort(text);}}var UTF8Decoder=typeof TextDecoder!="undefined"?new TextDecoder("utf8"):void 0;function UTF8ArrayToString(heapOrArray,idx,maxBytesToRead){idx>>>=0;var endIdx=idx+maxBytesToRead;var endPtr=idx;while(heapOrArray[endPtr]&&!(endPtr>=endIdx)){++endPtr;}if(endPtr-idx>16&&heapOrArray.buffer&&UTF8Decoder){return UTF8Decoder.decode(heapOrArray.buffer instanceof SharedArrayBuffer?heapOrArray.slice(idx,endPtr):heapOrArray.subarray(idx,endPtr));}var str="";while(idx>10,56320|ch&1023);}}return str;}function UTF8ToString(ptr,maxBytesToRead){ptr>>>=0;return ptr?UTF8ArrayToString(GROWABLE_HEAP_U8(),ptr,maxBytesToRead):"";}function stringToUTF8Array(str,heap,outIdx,maxBytesToWrite){outIdx>>>=0;if(!(maxBytesToWrite>0))return 0;var startIdx=outIdx;var endIdx=outIdx+maxBytesToWrite-1;for(var i=0;i=55296&&u<=57343){var u1=str.charCodeAt(++i);u=65536+((u&1023)<<10)|u1&1023;}if(u<=127){if(outIdx>=endIdx)break;heap[outIdx++>>>0]=u;}else if(u<=2047){if(outIdx+1>=endIdx)break;heap[outIdx++>>>0]=192|u>>6;heap[outIdx++>>>0]=128|u&63;}else if(u<=65535){if(outIdx+2>=endIdx)break;heap[outIdx++>>>0]=224|u>>12;heap[outIdx++>>>0]=128|u>>6&63;heap[outIdx++>>>0]=128|u&63;}else{if(outIdx+3>=endIdx)break;heap[outIdx++>>>0]=240|u>>18;heap[outIdx++>>>0]=128|u>>12&63;heap[outIdx++>>>0]=128|u>>6&63;heap[outIdx++>>>0]=128|u&63;}}heap[outIdx>>>0]=0;return outIdx-startIdx;}function stringToUTF8(str,outPtr,maxBytesToWrite){return stringToUTF8Array(str,GROWABLE_HEAP_U8(),outPtr,maxBytesToWrite);}function lengthBytesUTF8(str){var len=0;for(var i=0;i=55296&&c<=57343){len+=4;++i;}else{len+=3;}}return len;}var HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAPF64;function updateMemoryViews(){var b=wasmMemory.buffer;Module["HEAP8"]=HEAP8=new Int8Array(b);Module["HEAP16"]=HEAP16=new Int16Array(b);Module["HEAP32"]=HEAP32=new Int32Array(b);Module["HEAPU8"]=HEAPU8=new Uint8Array(b);Module["HEAPU16"]=HEAPU16=new Uint16Array(b);Module["HEAPU32"]=HEAPU32=new Uint32Array(b);Module["HEAPF32"]=HEAPF32=new Float32Array(b);Module["HEAPF64"]=HEAPF64=new Float64Array(b);}var INITIAL_MEMORY=Module["INITIAL_MEMORY"]||16777216;assert(INITIAL_MEMORY>=5242880,"INITIAL_MEMORY should be larger than STACK_SIZE, was "+INITIAL_MEMORY+"! (STACK_SIZE="+5242880+")");if(ENVIRONMENT_IS_PTHREAD){wasmMemory=Module["wasmMemory"];}else{if(Module["wasmMemory"]){wasmMemory=Module["wasmMemory"];}else{wasmMemory=new WebAssembly.Memory({"initial":INITIAL_MEMORY/65536,"maximum":4294967296/65536,"shared":true});if(!(wasmMemory.buffer instanceof SharedArrayBuffer)){err("requested a shared WebAssembly.Memory but the returned buffer is not a SharedArrayBuffer, indicating that while the browser has SharedArrayBuffer it does not have WebAssembly threads support - you may need to set a flag");if(ENVIRONMENT_IS_NODE){err("(on node you may need: --experimental-wasm-threads --experimental-wasm-bulk-memory and/or recent version)");}throw Error("bad memory");}}}updateMemoryViews();INITIAL_MEMORY=wasmMemory.buffer.byteLength;var wasmTable;var __ATPRERUN__=[];var __ATINIT__=[];var __ATPOSTRUN__=[];function keepRuntimeAlive(){return noExitRuntime;}function preRun(){if(Module["preRun"]){if(typeof Module["preRun"]=="function")Module["preRun"]=[Module["preRun"]];while(Module["preRun"].length){addOnPreRun(Module["preRun"].shift());}}callRuntimeCallbacks(__ATPRERUN__);}function initRuntime(){if(ENVIRONMENT_IS_PTHREAD)return;if(!Module["noFSInit"]&&!FS.init.initialized)FS.init();FS.ignorePermissions=false;callRuntimeCallbacks(__ATINIT__);}function postRun(){if(ENVIRONMENT_IS_PTHREAD)return;if(Module["postRun"]){if(typeof Module["postRun"]=="function")Module["postRun"]=[Module["postRun"]];while(Module["postRun"].length){addOnPostRun(Module["postRun"].shift());}}callRuntimeCallbacks(__ATPOSTRUN__);}function addOnPreRun(cb){__ATPRERUN__.unshift(cb);}function addOnInit(cb){__ATINIT__.unshift(cb);}function addOnPostRun(cb){__ATPOSTRUN__.unshift(cb);}var runDependencies=0;var dependenciesFulfilled=null;function getUniqueRunDependency(id){return id;}function addRunDependency(id){runDependencies++;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies);}}function removeRunDependency(id){runDependencies--;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies);}if(runDependencies==0){if(dependenciesFulfilled){var callback=dependenciesFulfilled;dependenciesFulfilled=null;callback();}}}function abort(what){if(Module["onAbort"]){Module["onAbort"](what);}what="Aborted("+what+")";err(what);ABORT=true;EXITSTATUS=1;what+=". Build with -sASSERTIONS for more info.";var e=new WebAssembly.RuntimeError(what);readyPromiseReject(e);throw e;}var dataURIPrefix="data:application/octet-stream;base64,";function isDataURI(filename){return filename.startsWith(dataURIPrefix);}var wasmBinaryFile;wasmBinaryFile="web-ifc-mt.wasm";if(!isDataURI(wasmBinaryFile)){wasmBinaryFile=locateFile(wasmBinaryFile);}function getBinary(file){try{if(file==wasmBinaryFile&&wasmBinary){return new Uint8Array(wasmBinary);}if(readBinary){return readBinary(file);}throw"both async and sync fetching of the wasm failed";}catch(err2){abort(err2);}}function getBinaryPromise(){if(!wasmBinary&&(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER)){if(typeof fetch=="function"){return fetch(wasmBinaryFile,{credentials:"same-origin"}).then(function(response){if(!response["ok"]){throw"failed to load wasm binary file at '"+wasmBinaryFile+"'";}return response["arrayBuffer"]();})["catch"](function(){return getBinary(wasmBinaryFile);});}}return Promise.resolve().then(function(){return getBinary(wasmBinaryFile);});}function createWasm(){var info={"a":wasmImports};function receiveInstance(instance,module2){var exports3=instance.exports;Module["asm"]=exports3;registerTLSInit(Module["asm"]["ka"]);wasmTable=Module["asm"]["ia"];addOnInit(Module["asm"]["ha"]);wasmModule=module2;PThread.loadWasmModuleToAllWorkers(function(){return removeRunDependency();});}addRunDependency();function receiveInstantiationResult(result){receiveInstance(result["instance"],result["module"]);}function instantiateArrayBuffer(receiver){return getBinaryPromise().then(function(binary){return WebAssembly.instantiate(binary,info);}).then(function(instance){return instance;}).then(receiver,function(reason){err("failed to asynchronously prepare wasm: "+reason);abort(reason);});}function instantiateAsync(){if(!wasmBinary&&typeof WebAssembly.instantiateStreaming=="function"&&!isDataURI(wasmBinaryFile)&&typeof fetch=="function"){return fetch(wasmBinaryFile,{credentials:"same-origin"}).then(function(response){var result=WebAssembly.instantiateStreaming(response,info);return result.then(receiveInstantiationResult,function(reason){err("wasm streaming compile failed: "+reason);err("falling back to ArrayBuffer instantiation");return instantiateArrayBuffer(receiveInstantiationResult);});});}else{return instantiateArrayBuffer(receiveInstantiationResult);}}if(Module["instantiateWasm"]){try{var exports2=Module["instantiateWasm"](info,receiveInstance);return exports2;}catch(e){err("Module.instantiateWasm callback failed with error: "+e);readyPromiseReject(e);}}instantiateAsync()["catch"](readyPromiseReject);return{};}var tempDouble;var tempI64;function ExitStatus(status){this.name="ExitStatus";this.message="Program terminated with exit("+status+")";this.status=status;}function killThread(pthread_ptr){var worker=PThread.pthreads[pthread_ptr];delete PThread.pthreads[pthread_ptr];worker.terminate();_emscripten_thread_free_data(pthread_ptr);PThread.runningWorkers.splice(PThread.runningWorkers.indexOf(worker),1);worker.pthread_ptr=0;}function cancelThread(pthread_ptr){var worker=PThread.pthreads[pthread_ptr];worker.postMessage({"cmd":"cancel"});}function cleanupThread(pthread_ptr){var worker=PThread.pthreads[pthread_ptr];assert(worker);PThread.returnWorkerToPool(worker);}function spawnThread(threadParams){var worker=PThread.getNewWorker();if(!worker){return 6;}PThread.runningWorkers.push(worker);PThread.pthreads[threadParams.pthread_ptr]=worker;worker.pthread_ptr=threadParams.pthread_ptr;var msg={"cmd":"run","start_routine":threadParams.startRoutine,"arg":threadParams.arg,"pthread_ptr":threadParams.pthread_ptr};worker.postMessage(msg,threadParams.transferList);return 0;}var PATH={isAbs:function isAbs(path){return path.charAt(0)==="/";},splitPath:function splitPath(filename){var splitPathRe=/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/;return splitPathRe.exec(filename).slice(1);},normalizeArray:function normalizeArray(parts,allowAboveRoot){var up=0;for(var i=parts.length-1;i>=0;i--){var last=parts[i];if(last==="."){parts.splice(i,1);}else if(last===".."){parts.splice(i,1);up++;}else if(up){parts.splice(i,1);up--;}}if(allowAboveRoot){for(;up;up--){parts.unshift("..");}}return parts;},normalize:function normalize(path){var isAbsolute=PATH.isAbs(path),trailingSlash=path.substr(-1)==="/";path=PATH.normalizeArray(path.split("/").filter(function(p){return!!p;}),!isAbsolute).join("/");if(!path&&!isAbsolute){path=".";}if(path&&trailingSlash){path+="/";}return(isAbsolute?"/":"")+path;},dirname:function dirname(path){var result=PATH.splitPath(path),root=result[0],dir=result[1];if(!root&&!dir){return".";}if(dir){dir=dir.substr(0,dir.length-1);}return root+dir;},basename:function basename(path){if(path==="/")return"/";path=PATH.normalize(path);path=path.replace(/\/$/,"");var lastSlash=path.lastIndexOf("/");if(lastSlash===-1)return path;return path.substr(lastSlash+1);},join:function join(){var paths=Array.prototype.slice.call(arguments);return PATH.normalize(paths.join("/"));},join2:function join2(l,r){return PATH.normalize(l+"/"+r);}};function getRandomDevice(){if((typeof crypto==="undefined"?"undefined":_typeof(crypto))=="object"&&typeof crypto["getRandomValues"]=="function"){var randomBuffer=new Uint8Array(1);return function(){crypto.getRandomValues(randomBuffer);return randomBuffer[0];};}else return function(){return abort("randomDevice");};}var PATH_FS={resolve:function resolve(){var resolvedPath="",resolvedAbsolute=false;for(var i=arguments.length-1;i>=-1&&!resolvedAbsolute;i--){var path=i>=0?arguments[i]:FS.cwd();if(typeof path!="string"){throw new TypeError("Arguments to path.resolve must be strings");}else if(!path){return"";}resolvedPath=path+"/"+resolvedPath;resolvedAbsolute=PATH.isAbs(path);}resolvedPath=PATH.normalizeArray(resolvedPath.split("/").filter(function(p){return!!p;}),!resolvedAbsolute).join("/");return(resolvedAbsolute?"/":"")+resolvedPath||".";},relative:function relative(from,to){from=PATH_FS.resolve(from).substr(1);to=PATH_FS.resolve(to).substr(1);function trim(arr){var start=0;for(;start=0;end--){if(arr[end]!=="")break;}if(start>end)return[];return arr.slice(start,end-start+1);}var fromParts=trim(from.split("/"));var toParts=trim(to.split("/"));var length=Math.min(fromParts.length,toParts.length);var samePartsLength=length;for(var i=0;i0?length:lengthBytesUTF8(stringy)+1;var u8array=new Array(len);var numBytesWritten=stringToUTF8Array(stringy,u8array,0,u8array.length);if(dontAddNull)u8array.length=numBytesWritten;return u8array;}var TTY={ttys:[],init:function init(){},shutdown:function shutdown(){},register:function register(dev,ops){TTY.ttys[dev]={input:[],output:[],ops:ops};FS.registerDevice(dev,TTY.stream_ops);},stream_ops:{open:function open(stream){var tty=TTY.ttys[stream.node.rdev];if(!tty){throw new FS.ErrnoError(43);}stream.tty=tty;stream.seekable=false;},close:function close(stream){stream.tty.ops.fsync(stream.tty);},fsync:function fsync(stream){stream.tty.ops.fsync(stream.tty);},read:function read(stream,buffer,offset,length,pos){if(!stream.tty||!stream.tty.ops.get_char){throw new FS.ErrnoError(60);}var bytesRead=0;for(var i=0;i0){out(UTF8ArrayToString(tty.output,0));tty.output=[];}}},default_tty1_ops:{put_char:function put_char(tty,val){if(val===null||val===10){err(UTF8ArrayToString(tty.output,0));tty.output=[];}else{if(val!=0)tty.output.push(val);}},fsync:function fsync(tty){if(tty.output&&tty.output.length>0){err(UTF8ArrayToString(tty.output,0));tty.output=[];}}}};function mmapAlloc(size){abort();}var MEMFS={ops_table:null,mount:function mount(_mount){return MEMFS.createNode(null,"/",16384|511,0);},createNode:function createNode(parent,name,mode,dev){if(FS.isBlkdev(mode)||FS.isFIFO(mode)){throw new FS.ErrnoError(63);}if(!MEMFS.ops_table){MEMFS.ops_table={dir:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr,lookup:MEMFS.node_ops.lookup,mknod:MEMFS.node_ops.mknod,rename:MEMFS.node_ops.rename,unlink:MEMFS.node_ops.unlink,rmdir:MEMFS.node_ops.rmdir,readdir:MEMFS.node_ops.readdir,symlink:MEMFS.node_ops.symlink},stream:{llseek:MEMFS.stream_ops.llseek}},file:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr},stream:{llseek:MEMFS.stream_ops.llseek,read:MEMFS.stream_ops.read,write:MEMFS.stream_ops.write,allocate:MEMFS.stream_ops.allocate,mmap:MEMFS.stream_ops.mmap,msync:MEMFS.stream_ops.msync}},link:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr,readlink:MEMFS.node_ops.readlink},stream:{}},chrdev:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr},stream:FS.chrdev_stream_ops}};}var node=FS.createNode(parent,name,mode,dev);if(FS.isDir(node.mode)){node.node_ops=MEMFS.ops_table.dir.node;node.stream_ops=MEMFS.ops_table.dir.stream;node.contents={};}else if(FS.isFile(node.mode)){node.node_ops=MEMFS.ops_table.file.node;node.stream_ops=MEMFS.ops_table.file.stream;node.usedBytes=0;node.contents=null;}else if(FS.isLink(node.mode)){node.node_ops=MEMFS.ops_table.link.node;node.stream_ops=MEMFS.ops_table.link.stream;}else if(FS.isChrdev(node.mode)){node.node_ops=MEMFS.ops_table.chrdev.node;node.stream_ops=MEMFS.ops_table.chrdev.stream;}node.timestamp=Date.now();if(parent){parent.contents[name]=node;parent.timestamp=node.timestamp;}return node;},getFileDataAsTypedArray:function getFileDataAsTypedArray(node){if(!node.contents)return new Uint8Array(0);if(node.contents.subarray)return node.contents.subarray(0,node.usedBytes);return new Uint8Array(node.contents);},expandFileStorage:function expandFileStorage(node,newCapacity){newCapacity>>>=0;var prevCapacity=node.contents?node.contents.length:0;if(prevCapacity>=newCapacity)return;var CAPACITY_DOUBLING_MAX=1024*1024;newCapacity=Math.max(newCapacity,prevCapacity*(prevCapacity>>0);if(prevCapacity!=0)newCapacity=Math.max(newCapacity,256);var oldContents=node.contents;node.contents=new Uint8Array(newCapacity);if(node.usedBytes>0)node.contents.set(oldContents.subarray(0,node.usedBytes),0);},resizeFileStorage:function resizeFileStorage(node,newSize){newSize>>>=0;if(node.usedBytes==newSize)return;if(newSize==0){node.contents=null;node.usedBytes=0;}else{var oldContents=node.contents;node.contents=new Uint8Array(newSize);if(oldContents){node.contents.set(oldContents.subarray(0,Math.min(newSize,node.usedBytes)));}node.usedBytes=newSize;}},node_ops:{getattr:function getattr(node){var attr={};attr.dev=FS.isChrdev(node.mode)?node.id:1;attr.ino=node.id;attr.mode=node.mode;attr.nlink=1;attr.uid=0;attr.gid=0;attr.rdev=node.rdev;if(FS.isDir(node.mode)){attr.size=4096;}else if(FS.isFile(node.mode)){attr.size=node.usedBytes;}else if(FS.isLink(node.mode)){attr.size=node.link.length;}else{attr.size=0;}attr.atime=new Date(node.timestamp);attr.mtime=new Date(node.timestamp);attr.ctime=new Date(node.timestamp);attr.blksize=4096;attr.blocks=Math.ceil(attr.size/attr.blksize);return attr;},setattr:function setattr(node,attr){if(attr.mode!==void 0){node.mode=attr.mode;}if(attr.timestamp!==void 0){node.timestamp=attr.timestamp;}if(attr.size!==void 0){MEMFS.resizeFileStorage(node,attr.size);}},lookup:function lookup(parent,name){throw FS.genericErrors[44];},mknod:function mknod(parent,name,mode,dev){return MEMFS.createNode(parent,name,mode,dev);},rename:function rename(old_node,new_dir,new_name){if(FS.isDir(old_node.mode)){var new_node;try{new_node=FS.lookupNode(new_dir,new_name);}catch(e){}if(new_node){for(var i in new_node.contents){throw new FS.ErrnoError(55);}}}delete old_node.parent.contents[old_node.name];old_node.parent.timestamp=Date.now();old_node.name=new_name;new_dir.contents[new_name]=old_node;new_dir.timestamp=old_node.parent.timestamp;old_node.parent=new_dir;},unlink:function unlink(parent,name){delete parent.contents[name];parent.timestamp=Date.now();},rmdir:function rmdir(parent,name){var node=FS.lookupNode(parent,name);for(var i in node.contents){throw new FS.ErrnoError(55);}delete parent.contents[name];parent.timestamp=Date.now();},readdir:function readdir(node){var entries=[".",".."];for(var key in node.contents){if(!node.contents.hasOwnProperty(key)){continue;}entries.push(key);}return entries;},symlink:function symlink(parent,newname,oldpath){var node=MEMFS.createNode(parent,newname,511|40960,0);node.link=oldpath;return node;},readlink:function readlink(node){if(!FS.isLink(node.mode)){throw new FS.ErrnoError(28);}return node.link;}},stream_ops:{read:function read(stream,buffer,offset,length,position){var contents=stream.node.contents;if(position>=stream.node.usedBytes)return 0;var size=Math.min(stream.node.usedBytes-position,length);if(size>8&&contents.subarray){buffer.set(contents.subarray(position,position+size),offset);}else{for(var i=0;i0||position+length>>=0;GROWABLE_HEAP_I8().set(contents,ptr>>>0);}return{ptr:ptr,allocated:allocated};},msync:function msync(stream,buffer,offset,length,mmapFlags){MEMFS.stream_ops.write(stream,buffer,0,length,offset,false);return 0;}}};function asyncLoad(url,onload,onerror,noRunDep){var dep=!noRunDep?getUniqueRunDependency("al "+url):"";readAsync(url,function(arrayBuffer){assert(arrayBuffer,'Loading data file "'+url+'" failed (no arrayBuffer).');onload(new Uint8Array(arrayBuffer));if(dep)removeRunDependency();},function(event){if(onerror){onerror();}else{throw'Loading data file "'+url+'" failed.';}});if(dep)addRunDependency();}var FS={root:null,mounts:[],devices:{},streams:[],nextInode:1,nameTable:null,currentPath:"/",initialized:false,ignorePermissions:true,ErrnoError:null,genericErrors:{},filesystems:null,syncFSRequests:0,lookupPath:function lookupPath(path){var opts=arguments.length>1&&arguments[1]!==undefined?arguments[1]:{};path=PATH_FS.resolve(path);if(!path)return{path:"",node:null};var defaults={follow_mount:true,recurse_count:0};opts=Object.assign(defaults,opts);if(opts.recurse_count>8){throw new FS.ErrnoError(32);}var parts=path.split("/").filter(function(p){return!!p;});var current=FS.root;var current_path="/";for(var i=0;i40){throw new FS.ErrnoError(32);}}}}return{path:current_path,node:current};},getPath:function getPath(node){var path;while(true){if(FS.isRoot(node)){var mount=node.mount.mountpoint;if(!path)return mount;return mount[mount.length-1]!=="/"?mount+"/"+path:mount+path;}path=path?node.name+"/"+path:node.name;node=node.parent;}},hashName:function hashName(parentid,name){var hash=0;for(var i=0;i>>0)%FS.nameTable.length;},hashAddNode:function hashAddNode(node){var hash=FS.hashName(node.parent.id,node.name);node.name_next=FS.nameTable[hash];FS.nameTable[hash]=node;},hashRemoveNode:function hashRemoveNode(node){var hash=FS.hashName(node.parent.id,node.name);if(FS.nameTable[hash]===node){FS.nameTable[hash]=node.name_next;}else{var current=FS.nameTable[hash];while(current){if(current.name_next===node){current.name_next=node.name_next;break;}current=current.name_next;}}},lookupNode:function lookupNode(parent,name){var errCode=FS.mayLookup(parent);if(errCode){throw new FS.ErrnoError(errCode,parent);}var hash=FS.hashName(parent.id,name);for(var node=FS.nameTable[hash];node;node=node.name_next){var nodeName=node.name;if(node.parent.id===parent.id&&nodeName===name){return node;}}return FS.lookup(parent,name);},createNode:function createNode(parent,name,mode,rdev){var node=new FS.FSNode(parent,name,mode,rdev);FS.hashAddNode(node);return node;},destroyNode:function destroyNode(node){FS.hashRemoveNode(node);},isRoot:function isRoot(node){return node===node.parent;},isMountpoint:function isMountpoint(node){return!!node.mounted;},isFile:function isFile(mode){return(mode&61440)===32768;},isDir:function isDir(mode){return(mode&61440)===16384;},isLink:function isLink(mode){return(mode&61440)===40960;},isChrdev:function isChrdev(mode){return(mode&61440)===8192;},isBlkdev:function isBlkdev(mode){return(mode&61440)===24576;},isFIFO:function isFIFO(mode){return(mode&61440)===4096;},isSocket:function isSocket(mode){return(mode&49152)===49152;},flagModes:{"r":0,"r+":2,"w":577,"w+":578,"a":1089,"a+":1090},modeStringToFlags:function modeStringToFlags(str){var flags=FS.flagModes[str];if(typeof flags=="undefined"){throw new Error("Unknown file open mode: "+str);}return flags;},flagsToPermissionString:function flagsToPermissionString(flag){var perms=["r","w","rw"][flag&3];if(flag&512){perms+="w";}return perms;},nodePermissions:function nodePermissions(node,perms){if(FS.ignorePermissions){return 0;}if(perms.includes("r")&&!(node.mode&292)){return 2;}else if(perms.includes("w")&&!(node.mode&146)){return 2;}else if(perms.includes("x")&&!(node.mode&73)){return 2;}return 0;},mayLookup:function mayLookup(dir){var errCode=FS.nodePermissions(dir,"x");if(errCode)return errCode;if(!dir.node_ops.lookup)return 2;return 0;},mayCreate:function mayCreate(dir,name){try{var node=FS.lookupNode(dir,name);return 20;}catch(e){}return FS.nodePermissions(dir,"wx");},mayDelete:function mayDelete(dir,name,isdir){var node;try{node=FS.lookupNode(dir,name);}catch(e){return e.errno;}var errCode=FS.nodePermissions(dir,"wx");if(errCode){return errCode;}if(isdir){if(!FS.isDir(node.mode)){return 54;}if(FS.isRoot(node)||FS.getPath(node)===FS.cwd()){return 10;}}else{if(FS.isDir(node.mode)){return 31;}}return 0;},mayOpen:function mayOpen(node,flags){if(!node){return 44;}if(FS.isLink(node.mode)){return 32;}else if(FS.isDir(node.mode)){if(FS.flagsToPermissionString(flags)!=="r"||flags&512){return 31;}}return FS.nodePermissions(node,FS.flagsToPermissionString(flags));},MAX_OPEN_FDS:4096,nextfd:function nextfd(){var fd_start=arguments.length>0&&arguments[0]!==undefined?arguments[0]:0;var fd_end=arguments.length>1&&arguments[1]!==undefined?arguments[1]:FS.MAX_OPEN_FDS;for(var fd=fd_start;fd<=fd_end;fd++){if(!FS.streams[fd]){return fd;}}throw new FS.ErrnoError(33);},getStream:function getStream(fd){return FS.streams[fd];},createStream:function createStream(stream,fd_start,fd_end){if(!FS.FSStream){FS.FSStream=function(){this.shared={};};FS.FSStream.prototype={};Object.defineProperties(FS.FSStream.prototype,{object:{get:function get(){return this.node;},set:function set(val){this.node=val;}},isRead:{get:function get(){return(this.flags&2097155)!==1;}},isWrite:{get:function get(){return(this.flags&2097155)!==0;}},isAppend:{get:function get(){return this.flags&1024;}},flags:{get:function get(){return this.shared.flags;},set:function set(val){this.shared.flags=val;}},position:{get:function get(){return this.shared.position;},set:function set(val){this.shared.position=val;}}});}stream=Object.assign(new FS.FSStream(),stream);var fd=FS.nextfd(fd_start,fd_end);stream.fd=fd;FS.streams[fd]=stream;return stream;},closeStream:function closeStream(fd){FS.streams[fd]=null;},chrdev_stream_ops:{open:function open(stream){var device=FS.getDevice(stream.node.rdev);stream.stream_ops=device.stream_ops;if(stream.stream_ops.open){stream.stream_ops.open(stream);}},llseek:function llseek(){throw new FS.ErrnoError(70);}},major:function major(dev){return dev>>8;},minor:function minor(dev){return dev&255;},makedev:function makedev(ma,mi){return ma<<8|mi;},registerDevice:function registerDevice(dev,ops){FS.devices[dev]={stream_ops:ops};},getDevice:function getDevice(dev){return FS.devices[dev];},getMounts:function getMounts(mount){var mounts=[];var check=[mount];while(check.length){var m=check.pop();mounts.push(m);check.push.apply(check,m.mounts);}return mounts;},syncfs:function syncfs(populate,callback){if(typeof populate=="function"){callback=populate;populate=false;}FS.syncFSRequests++;if(FS.syncFSRequests>1){err("warning: "+FS.syncFSRequests+" FS.syncfs operations in flight at once, probably just doing extra work");}var mounts=FS.getMounts(FS.root.mount);var completed=0;function doCallback(errCode){FS.syncFSRequests--;return callback(errCode);}function done(errCode){if(errCode){if(!done.errored){done.errored=true;return doCallback(errCode);}return;}if(++completed>=mounts.length){doCallback(null);}}mounts.forEach(function(mount){if(!mount.type.syncfs){return done(null);}mount.type.syncfs(mount,populate,done);});},mount:function mount(type,opts,mountpoint){var root=mountpoint==="/";var pseudo=!mountpoint;var node;if(root&&FS.root){throw new FS.ErrnoError(10);}else if(!root&&!pseudo){var lookup=FS.lookupPath(mountpoint,{follow_mount:false});mountpoint=lookup.path;node=lookup.node;if(FS.isMountpoint(node)){throw new FS.ErrnoError(10);}if(!FS.isDir(node.mode)){throw new FS.ErrnoError(54);}}var mount={type:type,opts:opts,mountpoint:mountpoint,mounts:[]};var mountRoot=type.mount(mount);mountRoot.mount=mount;mount.root=mountRoot;if(root){FS.root=mountRoot;}else if(node){node.mounted=mount;if(node.mount){node.mount.mounts.push(mount);}}return mountRoot;},unmount:function unmount(mountpoint){var lookup=FS.lookupPath(mountpoint,{follow_mount:false});if(!FS.isMountpoint(lookup.node)){throw new FS.ErrnoError(28);}var node=lookup.node;var mount=node.mounted;var mounts=FS.getMounts(mount);Object.keys(FS.nameTable).forEach(function(hash){var current=FS.nameTable[hash];while(current){var next=current.name_next;if(mounts.includes(current.mount)){FS.destroyNode(current);}current=next;}});node.mounted=null;var idx=node.mount.mounts.indexOf(mount);node.mount.mounts.splice(idx,1);},lookup:function lookup(parent,name){return parent.node_ops.lookup(parent,name);},mknod:function mknod(path,mode,dev){var lookup=FS.lookupPath(path,{parent:true});var parent=lookup.node;var name=PATH.basename(path);if(!name||name==="."||name===".."){throw new FS.ErrnoError(28);}var errCode=FS.mayCreate(parent,name);if(errCode){throw new FS.ErrnoError(errCode);}if(!parent.node_ops.mknod){throw new FS.ErrnoError(63);}return parent.node_ops.mknod(parent,name,mode,dev);},create:function create(path,mode){mode=mode!==void 0?mode:438;mode&=4095;mode|=32768;return FS.mknod(path,mode,0);},mkdir:function mkdir(path,mode){mode=mode!==void 0?mode:511;mode&=511|512;mode|=16384;return FS.mknod(path,mode,0);},mkdirTree:function mkdirTree(path,mode){var dirs=path.split("/");var d="";for(var i=0;i>>=0;if(length<0||position<0){throw new FS.ErrnoError(28);}if(FS.isClosed(stream)){throw new FS.ErrnoError(8);}if((stream.flags&2097155)===1){throw new FS.ErrnoError(8);}if(FS.isDir(stream.node.mode)){throw new FS.ErrnoError(31);}if(!stream.stream_ops.read){throw new FS.ErrnoError(28);}var seeking=typeof position!="undefined";if(!seeking){position=stream.position;}else if(!stream.seekable){throw new FS.ErrnoError(70);}var bytesRead=stream.stream_ops.read(stream,buffer,offset,length,position);if(!seeking)stream.position+=bytesRead;return bytesRead;},write:function write(stream,buffer,offset,length,position,canOwn){offset>>>=0;if(length<0||position<0){throw new FS.ErrnoError(28);}if(FS.isClosed(stream)){throw new FS.ErrnoError(8);}if((stream.flags&2097155)===0){throw new FS.ErrnoError(8);}if(FS.isDir(stream.node.mode)){throw new FS.ErrnoError(31);}if(!stream.stream_ops.write){throw new FS.ErrnoError(28);}if(stream.seekable&&stream.flags&1024){FS.llseek(stream,0,2);}var seeking=typeof position!="undefined";if(!seeking){position=stream.position;}else if(!stream.seekable){throw new FS.ErrnoError(70);}var bytesWritten=stream.stream_ops.write(stream,buffer,offset,length,position,canOwn);if(!seeking)stream.position+=bytesWritten;return bytesWritten;},allocate:function allocate(stream,offset,length){if(FS.isClosed(stream)){throw new FS.ErrnoError(8);}if(offset<0||length<=0){throw new FS.ErrnoError(28);}if((stream.flags&2097155)===0){throw new FS.ErrnoError(8);}if(!FS.isFile(stream.node.mode)&&!FS.isDir(stream.node.mode)){throw new FS.ErrnoError(43);}if(!stream.stream_ops.allocate){throw new FS.ErrnoError(138);}stream.stream_ops.allocate(stream,offset,length);},mmap:function mmap(stream,length,position,prot,flags){if((prot&2)!==0&&(flags&2)===0&&(stream.flags&2097155)!==2){throw new FS.ErrnoError(2);}if((stream.flags&2097155)===1){throw new FS.ErrnoError(2);}if(!stream.stream_ops.mmap){throw new FS.ErrnoError(43);}return stream.stream_ops.mmap(stream,length,position,prot,flags);},msync:function msync(stream,buffer,offset,length,mmapFlags){offset>>>=0;if(!stream.stream_ops.msync){return 0;}return stream.stream_ops.msync(stream,buffer,offset,length,mmapFlags);},munmap:function munmap(stream){return 0;},ioctl:function ioctl(stream,cmd,arg){if(!stream.stream_ops.ioctl){throw new FS.ErrnoError(59);}return stream.stream_ops.ioctl(stream,cmd,arg);},readFile:function readFile(path){var opts=arguments.length>1&&arguments[1]!==undefined?arguments[1]:{};opts.flags=opts.flags||0;opts.encoding=opts.encoding||"binary";if(opts.encoding!=="utf8"&&opts.encoding!=="binary"){throw new Error('Invalid encoding type "'+opts.encoding+'"');}var ret;var stream=FS.open(path,opts.flags);var stat=FS.stat(path);var length=stat.size;var buf=new Uint8Array(length);FS.read(stream,buf,0,length,0);if(opts.encoding==="utf8"){ret=UTF8ArrayToString(buf,0);}else if(opts.encoding==="binary"){ret=buf;}FS.close(stream);return ret;},writeFile:function writeFile(path,data){var opts=arguments.length>2&&arguments[2]!==undefined?arguments[2]:{};opts.flags=opts.flags||577;var stream=FS.open(path,opts.flags,opts.mode);if(typeof data=="string"){var buf=new Uint8Array(lengthBytesUTF8(data)+1);var actualNumBytes=stringToUTF8Array(data,buf,0,buf.length);FS.write(stream,buf,0,actualNumBytes,void 0,opts.canOwn);}else if(ArrayBuffer.isView(data)){FS.write(stream,data,0,data.byteLength,void 0,opts.canOwn);}else{throw new Error("Unsupported data type");}FS.close(stream);},cwd:function cwd(){return FS.currentPath;},chdir:function chdir(path){var lookup=FS.lookupPath(path,{follow:true});if(lookup.node===null){throw new FS.ErrnoError(44);}if(!FS.isDir(lookup.node.mode)){throw new FS.ErrnoError(54);}var errCode=FS.nodePermissions(lookup.node,"x");if(errCode){throw new FS.ErrnoError(errCode);}FS.currentPath=lookup.path;},createDefaultDirectories:function createDefaultDirectories(){FS.mkdir("/tmp");FS.mkdir("/home");FS.mkdir("/home/web_user");},createDefaultDevices:function createDefaultDevices(){FS.mkdir("/dev");FS.registerDevice(FS.makedev(1,3),{read:function read(){return 0;},write:function write(stream,buffer,offset,length,pos){return length;}});FS.mkdev("/dev/null",FS.makedev(1,3));TTY.register(FS.makedev(5,0),TTY.default_tty_ops);TTY.register(FS.makedev(6,0),TTY.default_tty1_ops);FS.mkdev("/dev/tty",FS.makedev(5,0));FS.mkdev("/dev/tty1",FS.makedev(6,0));var random_device=getRandomDevice();FS.createDevice("/dev","random",random_device);FS.createDevice("/dev","urandom",random_device);FS.mkdir("/dev/shm");FS.mkdir("/dev/shm/tmp");},createSpecialDirectories:function createSpecialDirectories(){FS.mkdir("/proc");var proc_self=FS.mkdir("/proc/self");FS.mkdir("/proc/self/fd");FS.mount({mount:function mount(){var node=FS.createNode(proc_self,"fd",16384|511,73);node.node_ops={lookup:function lookup(parent,name){var fd=+name;var stream=FS.getStream(fd);if(!stream)throw new FS.ErrnoError(8);var ret={parent:null,mount:{mountpoint:"fake"},node_ops:{readlink:function readlink(){return stream.path;}}};ret.parent=ret;return ret;}};return node;}},{},"/proc/self/fd");},createStandardStreams:function createStandardStreams(){if(Module["stdin"]){FS.createDevice("/dev","stdin",Module["stdin"]);}else{FS.symlink("/dev/tty","/dev/stdin");}if(Module["stdout"]){FS.createDevice("/dev","stdout",null,Module["stdout"]);}else{FS.symlink("/dev/tty","/dev/stdout");}if(Module["stderr"]){FS.createDevice("/dev","stderr",null,Module["stderr"]);}else{FS.symlink("/dev/tty1","/dev/stderr");}FS.open("/dev/stdin",0);FS.open("/dev/stdout",1);FS.open("/dev/stderr",1);},ensureErrnoError:function ensureErrnoError(){if(FS.ErrnoError)return;FS.ErrnoError=function ErrnoError(errno,node){this.node=node;this.setErrno=function(errno2){this.errno=errno2;};this.setErrno(errno);this.message="FS error";};FS.ErrnoError.prototype=new Error();FS.ErrnoError.prototype.constructor=FS.ErrnoError;[44].forEach(function(code){FS.genericErrors[code]=new FS.ErrnoError(code);FS.genericErrors[code].stack="";});},staticInit:function staticInit(){FS.ensureErrnoError();FS.nameTable=new Array(4096);FS.mount(MEMFS,{},"/");FS.createDefaultDirectories();FS.createDefaultDevices();FS.createSpecialDirectories();FS.filesystems={"MEMFS":MEMFS};},init:function init(input,output,error){FS.init.initialized=true;FS.ensureErrnoError();Module["stdin"]=input||Module["stdin"];Module["stdout"]=output||Module["stdout"];Module["stderr"]=error||Module["stderr"];FS.createStandardStreams();},quit:function quit(){FS.init.initialized=false;for(var i=0;ithis.length-1||idx<0){return void 0;}var chunkOffset=idx%this.chunkSize;var chunkNum=idx/this.chunkSize|0;return this.getter(chunkNum)[chunkOffset];};LazyUint8Array.prototype.setDataGetter=function LazyUint8Array_setDataGetter(getter){this.getter=getter;};LazyUint8Array.prototype.cacheLength=function LazyUint8Array_cacheLength(){var xhr=new XMLHttpRequest();xhr.open("HEAD",url,false);xhr.send(null);if(!(xhr.status>=200&&xhr.status<300||xhr.status===304))throw new Error("Couldn't load "+url+". Status: "+xhr.status);var datalength=Number(xhr.getResponseHeader("Content-length"));var header;var hasByteServing=(header=xhr.getResponseHeader("Accept-Ranges"))&&header==="bytes";var usesGzip=(header=xhr.getResponseHeader("Content-Encoding"))&&header==="gzip";var chunkSize=1024*1024;if(!hasByteServing)chunkSize=datalength;var doXHR=function doXHR(from,to){if(from>to)throw new Error("invalid range ("+from+", "+to+") or no bytes requested!");if(to>datalength-1)throw new Error("only "+datalength+" bytes available! programmer error!");var xhr2=new XMLHttpRequest();xhr2.open("GET",url,false);if(datalength!==chunkSize)xhr2.setRequestHeader("Range","bytes="+from+"-"+to);xhr2.responseType="arraybuffer";if(xhr2.overrideMimeType){xhr2.overrideMimeType("text/plain; charset=x-user-defined");}xhr2.send(null);if(!(xhr2.status>=200&&xhr2.status<300||xhr2.status===304))throw new Error("Couldn't load "+url+". Status: "+xhr2.status);if(xhr2.response!==void 0){return new Uint8Array(xhr2.response||[]);}return intArrayFromString(xhr2.responseText||"",true);};var lazyArray2=this;lazyArray2.setDataGetter(function(chunkNum){var start=chunkNum*chunkSize;var end=(chunkNum+1)*chunkSize-1;end=Math.min(end,datalength-1);if(typeof lazyArray2.chunks[chunkNum]=="undefined"){lazyArray2.chunks[chunkNum]=doXHR(start,end);}if(typeof lazyArray2.chunks[chunkNum]=="undefined")throw new Error("doXHR failed!");return lazyArray2.chunks[chunkNum];});if(usesGzip||!datalength){chunkSize=datalength=1;datalength=this.getter(0).length;chunkSize=datalength;out("LazyFiles on gzip forces download of the whole file when length is accessed");}this._length=datalength;this._chunkSize=chunkSize;this.lengthKnown=true;};if(typeof XMLHttpRequest!="undefined"){if(!ENVIRONMENT_IS_WORKER)throw"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc";var lazyArray=new LazyUint8Array();Object.defineProperties(lazyArray,{length:{get:function get(){if(!this.lengthKnown){this.cacheLength();}return this._length;}},chunkSize:{get:function get(){if(!this.lengthKnown){this.cacheLength();}return this._chunkSize;}}});var properties={isDevice:false,contents:lazyArray};}else{var properties={isDevice:false,url:url};}var node=FS.createFile(parent,name,properties,canRead,canWrite);if(properties.contents){node.contents=properties.contents;}else if(properties.url){node.contents=null;node.url=properties.url;}Object.defineProperties(node,{usedBytes:{get:function get(){return this.contents.length;}}});var stream_ops={};var keys=Object.keys(node.stream_ops);keys.forEach(function(key){var fn=node.stream_ops[key];stream_ops[key]=function forceLoadLazyFile(){FS.forceLoadFile(node);return fn.apply(null,arguments);};});function writeChunks(stream,buffer,offset,length,position){var contents=stream.node.contents;if(position>=contents.length)return 0;var size=Math.min(contents.length-position,length);if(contents.slice){for(var i=0;i1&&arguments[1]!==undefined?arguments[1]:function(){};var onerror=arguments.length>2&&arguments[2]!==undefined?arguments[2]:function(){};var indexedDB=FS.indexedDB();try{var openRequest=indexedDB.open(FS.DB_NAME(),FS.DB_VERSION);}catch(e){return onerror(e);}openRequest.onupgradeneeded=function(){out("creating db");var db=openRequest.result;db.createObjectStore(FS.DB_STORE_NAME);};openRequest.onsuccess=function(){var db=openRequest.result;var transaction=db.transaction([FS.DB_STORE_NAME],"readwrite");var files=transaction.objectStore(FS.DB_STORE_NAME);var ok=0,fail=0,total=paths.length;function finish(){if(fail==0)onload();else onerror();}paths.forEach(function(path){var putRequest=files.put(FS.analyzePath(path).object.contents,path);putRequest.onsuccess=function(){ok++;if(ok+fail==total)finish();};putRequest.onerror=function(){fail++;if(ok+fail==total)finish();};});transaction.onerror=onerror;};openRequest.onerror=onerror;},loadFilesFromDB:function loadFilesFromDB(paths){var onload=arguments.length>1&&arguments[1]!==undefined?arguments[1]:function(){};var onerror=arguments.length>2&&arguments[2]!==undefined?arguments[2]:function(){};var indexedDB=FS.indexedDB();try{var openRequest=indexedDB.open(FS.DB_NAME(),FS.DB_VERSION);}catch(e){return onerror(e);}openRequest.onupgradeneeded=onerror;openRequest.onsuccess=function(){var db=openRequest.result;try{var transaction=db.transaction([FS.DB_STORE_NAME],"readonly");}catch(e){onerror(e);return;}var files=transaction.objectStore(FS.DB_STORE_NAME);var ok=0,fail=0,total=paths.length;function finish(){if(fail==0)onload();else onerror();}paths.forEach(function(path){var getRequest=files.get(path);getRequest.onsuccess=function(){if(FS.analyzePath(path).exists){FS.unlink(path);}FS.createDataFile(PATH.dirname(path),PATH.basename(path),getRequest.result,true,true,true);ok++;if(ok+fail==total)finish();};getRequest.onerror=function(){fail++;if(ok+fail==total)finish();};});transaction.onerror=onerror;};openRequest.onerror=onerror;}};var SYSCALLS={DEFAULT_POLLMASK:5,calculateAt:function calculateAt(dirfd,path,allowEmpty){if(PATH.isAbs(path)){return path;}var dir;if(dirfd===-100){dir=FS.cwd();}else{var dirstream=SYSCALLS.getStreamFromFD(dirfd);dir=dirstream.path;}if(path.length==0){if(!allowEmpty){throw new FS.ErrnoError(44);}return dir;}return PATH.join2(dir,path);},doStat:function doStat(func,path,buf){try{var stat=func(path);}catch(e){if(e&&e.node&&PATH.normalize(path)!==PATH.normalize(FS.getPath(e.node))){return-54;}throw e;}GROWABLE_HEAP_I32()[buf>>>2]=stat.dev;GROWABLE_HEAP_I32()[buf+8>>>2]=stat.ino;GROWABLE_HEAP_I32()[buf+12>>>2]=stat.mode;GROWABLE_HEAP_U32()[buf+16>>>2]=stat.nlink;GROWABLE_HEAP_I32()[buf+20>>>2]=stat.uid;GROWABLE_HEAP_I32()[buf+24>>>2]=stat.gid;GROWABLE_HEAP_I32()[buf+28>>>2]=stat.rdev;tempI64=[stat.size>>>0,(tempDouble=stat.size,+Math.abs(tempDouble)>=1?tempDouble>0?(Math.min(+Math.floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],GROWABLE_HEAP_I32()[buf+40>>>2]=tempI64[0],GROWABLE_HEAP_I32()[buf+44>>>2]=tempI64[1];GROWABLE_HEAP_I32()[buf+48>>>2]=4096;GROWABLE_HEAP_I32()[buf+52>>>2]=stat.blocks;var atime=stat.atime.getTime();var mtime=stat.mtime.getTime();var ctime=stat.ctime.getTime();tempI64=[Math.floor(atime/1e3)>>>0,(tempDouble=Math.floor(atime/1e3),+Math.abs(tempDouble)>=1?tempDouble>0?(Math.min(+Math.floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],GROWABLE_HEAP_I32()[buf+56>>>2]=tempI64[0],GROWABLE_HEAP_I32()[buf+60>>>2]=tempI64[1];GROWABLE_HEAP_U32()[buf+64>>>2]=atime%1e3*1e3;tempI64=[Math.floor(mtime/1e3)>>>0,(tempDouble=Math.floor(mtime/1e3),+Math.abs(tempDouble)>=1?tempDouble>0?(Math.min(+Math.floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],GROWABLE_HEAP_I32()[buf+72>>>2]=tempI64[0],GROWABLE_HEAP_I32()[buf+76>>>2]=tempI64[1];GROWABLE_HEAP_U32()[buf+80>>>2]=mtime%1e3*1e3;tempI64=[Math.floor(ctime/1e3)>>>0,(tempDouble=Math.floor(ctime/1e3),+Math.abs(tempDouble)>=1?tempDouble>0?(Math.min(+Math.floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],GROWABLE_HEAP_I32()[buf+88>>>2]=tempI64[0],GROWABLE_HEAP_I32()[buf+92>>>2]=tempI64[1];GROWABLE_HEAP_U32()[buf+96>>>2]=ctime%1e3*1e3;tempI64=[stat.ino>>>0,(tempDouble=stat.ino,+Math.abs(tempDouble)>=1?tempDouble>0?(Math.min(+Math.floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],GROWABLE_HEAP_I32()[buf+104>>>2]=tempI64[0],GROWABLE_HEAP_I32()[buf+108>>>2]=tempI64[1];return 0;},doMsync:function doMsync(addr,stream,len,flags,offset){if(!FS.isFile(stream.node.mode)){throw new FS.ErrnoError(43);}if(flags&2){return 0;}addr>>>=0;var buffer=GROWABLE_HEAP_U8().slice(addr,addr+len);FS.msync(stream,buffer,offset,len,flags);},varargs:void 0,get:function get(){SYSCALLS.varargs+=4;var ret=GROWABLE_HEAP_I32()[SYSCALLS.varargs-4>>>2];return ret;},getStr:function getStr(ptr){var ret=UTF8ToString(ptr);return ret;},getStreamFromFD:function getStreamFromFD(fd){var stream=FS.getStream(fd);if(!stream)throw new FS.ErrnoError(8);return stream;}};function _proc_exit(code){if(ENVIRONMENT_IS_PTHREAD)return _emscripten_proxy_to_main_thread_js(1,1,code);EXITSTATUS=code;if(!keepRuntimeAlive()){PThread.terminateAllThreads();if(Module["onExit"])Module["onExit"](code);ABORT=true;}quit_(code,new ExitStatus(code));}function exitJS(status,implicit){EXITSTATUS=status;if(!implicit){if(ENVIRONMENT_IS_PTHREAD){exitOnMainThread(status);throw"unwind";}}_proc_exit(status);}var _exit=exitJS;function handleException(e){if(e instanceof ExitStatus||e=="unwind"){return EXITSTATUS;}quit_(1,e);}var PThread={unusedWorkers:[],runningWorkers:[],tlsInitFunctions:[],pthreads:{},init:function init(){if(ENVIRONMENT_IS_PTHREAD){PThread.initWorker();}else{PThread.initMainThread();}},initMainThread:function initMainThread(){var pthreadPoolSize=navigator.hardwareConcurrency;while(pthreadPoolSize--){PThread.allocateUnusedWorker();}},initWorker:function initWorker(){noExitRuntime=false;},setExitStatus:function setExitStatus(status){EXITSTATUS=status;},terminateAllThreads:function terminateAllThreads(){for(var _i530=0,_Object$values2=Object.values(PThread.pthreads);_i530<_Object$values2.length;_i530++){var worker=_Object$values2[_i530];PThread.returnWorkerToPool(worker);}var _iterator42=_createForOfIteratorHelper(PThread.unusedWorkers),_step42;try{for(_iterator42.s();!(_step42=_iterator42.n()).done;){var worker=_step42.value;worker.terminate();}}catch(err){_iterator42.e(err);}finally{_iterator42.f();}PThread.unusedWorkers=[];},returnWorkerToPool:function returnWorkerToPool(worker){var pthread_ptr=worker.pthread_ptr;delete PThread.pthreads[pthread_ptr];PThread.unusedWorkers.push(worker);PThread.runningWorkers.splice(PThread.runningWorkers.indexOf(worker),1);worker.pthread_ptr=0;_emscripten_thread_free_data(pthread_ptr);},receiveObjectTransfer:function receiveObjectTransfer(data){},threadInitTLS:function threadInitTLS(){PThread.tlsInitFunctions.forEach(function(f){return f();});},loadWasmModuleToWorker:function loadWasmModuleToWorker(worker){return new Promise(function(onFinishedLoading){worker.onmessage=function(e){var d=e["data"];var cmd=d["cmd"];if(worker.pthread_ptr)PThread.currentProxiedOperationCallerThread=worker.pthread_ptr;if(d["targetThread"]&&d["targetThread"]!=_pthread_self()){var targetWorker=PThread.pthreads[d.targetThread];if(targetWorker){targetWorker.postMessage(d,d["transferList"]);}else{err('Internal error! Worker sent a message "'+cmd+'" to target pthread '+d["targetThread"]+", but that thread no longer exists!");}PThread.currentProxiedOperationCallerThread=void 0;return;}if(cmd==="processProxyingQueue"){executeNotifiedProxyingQueue(d["queue"]);}else if(cmd==="spawnThread"){spawnThread(d);}else if(cmd==="cleanupThread"){cleanupThread(d["thread"]);}else if(cmd==="killThread"){killThread(d["thread"]);}else if(cmd==="cancelThread"){cancelThread(d["thread"]);}else if(cmd==="loaded"){worker.loaded=true;onFinishedLoading(worker);}else if(cmd==="print"){out("Thread "+d["threadId"]+": "+d["text"]);}else if(cmd==="printErr"){err("Thread "+d["threadId"]+": "+d["text"]);}else if(cmd==="alert"){alert("Thread "+d["threadId"]+": "+d["text"]);}else if(d.target==="setimmediate"){worker.postMessage(d);}else if(cmd==="callHandler"){Module[d["handler"]].apply(Module,_toConsumableArray(d["args"]));}else if(cmd){err("worker sent an unknown command "+cmd);}PThread.currentProxiedOperationCallerThread=void 0;};worker.onerror=function(e){var message="worker sent an error!";err(message+" "+e.filename+":"+e.lineno+": "+e.message);throw e;};var handlers=[];var knownHandlers=["onExit","onAbort","print","printErr"];for(var _i531=0,_knownHandlers=knownHandlers;_i531<_knownHandlers.length;_i531++){var handler=_knownHandlers[_i531];if(Module.hasOwnProperty(handler)){handlers.push(handler);}}worker.postMessage({"cmd":"load","handlers":handlers,"urlOrBlob":Module["mainScriptUrlOrBlob"]||_scriptDir,"wasmMemory":wasmMemory,"wasmModule":wasmModule});});},loadWasmModuleToAllWorkers:function loadWasmModuleToAllWorkers(onMaybeReady){if(ENVIRONMENT_IS_PTHREAD){return onMaybeReady();}var pthreadPoolReady=Promise.all(PThread.unusedWorkers.map(PThread.loadWasmModuleToWorker));pthreadPoolReady.then(onMaybeReady);},allocateUnusedWorker:function allocateUnusedWorker(){var worker;var pthreadMainJs=locateFile("web-ifc-mt.worker.js");worker=new Worker(pthreadMainJs);PThread.unusedWorkers.push(worker);},getNewWorker:function getNewWorker(){if(PThread.unusedWorkers.length==0){PThread.allocateUnusedWorker();PThread.loadWasmModuleToWorker(PThread.unusedWorkers[0]);}return PThread.unusedWorkers.pop();}};Module["PThread"]=PThread;function callRuntimeCallbacks(callbacks){while(callbacks.length>0){callbacks.shift()(Module);}}function establishStackSpace(){var pthread_ptr=_pthread_self();var stackTop=GROWABLE_HEAP_I32()[pthread_ptr+52>>>2];var stackSize=GROWABLE_HEAP_I32()[pthread_ptr+56>>>2];var stackMax=stackTop-stackSize;_emscripten_stack_set_limits2(stackTop,stackMax);_stackRestore(stackTop);}Module["establishStackSpace"]=establishStackSpace;function exitOnMainThread(returnCode){if(ENVIRONMENT_IS_PTHREAD)return _emscripten_proxy_to_main_thread_js(2,0,returnCode);try{_exit(returnCode);}catch(e){handleException(e);}}var wasmTableMirror=[];function getWasmTableEntry(funcPtr){var func=wasmTableMirror[funcPtr];if(!func){if(funcPtr>=wasmTableMirror.length)wasmTableMirror.length=funcPtr+1;wasmTableMirror[funcPtr]=func=wasmTable.get(funcPtr);}return func;}function invokeEntryPoint(ptr,arg){var result=getWasmTableEntry(ptr)(arg);if(keepRuntimeAlive()){PThread.setExitStatus(result);}else{__emscripten_thread_exit(result);}}Module["invokeEntryPoint"]=invokeEntryPoint;function registerTLSInit(tlsInitFunc){PThread.tlsInitFunctions.push(tlsInitFunc);}function ExceptionInfo(excPtr){this.excPtr=excPtr;this.ptr=excPtr-24;this.set_type=function(type){GROWABLE_HEAP_U32()[this.ptr+4>>>2]=type;};this.get_type=function(){return GROWABLE_HEAP_U32()[this.ptr+4>>>2];};this.set_destructor=function(destructor){GROWABLE_HEAP_U32()[this.ptr+8>>>2]=destructor;};this.get_destructor=function(){return GROWABLE_HEAP_U32()[this.ptr+8>>>2];};this.set_refcount=function(refcount){GROWABLE_HEAP_I32()[this.ptr>>>2]=refcount;};this.set_caught=function(caught){caught=caught?1:0;GROWABLE_HEAP_I8()[this.ptr+12>>>0]=caught;};this.get_caught=function(){return GROWABLE_HEAP_I8()[this.ptr+12>>>0]!=0;};this.set_rethrown=function(rethrown){rethrown=rethrown?1:0;GROWABLE_HEAP_I8()[this.ptr+13>>>0]=rethrown;};this.get_rethrown=function(){return GROWABLE_HEAP_I8()[this.ptr+13>>>0]!=0;};this.init=function(type,destructor){this.set_adjusted_ptr(0);this.set_type(type);this.set_destructor(destructor);this.set_refcount(0);this.set_caught(false);this.set_rethrown(false);};this.add_ref=function(){Atomics.add(GROWABLE_HEAP_I32(),this.ptr+0>>2,1);};this.release_ref=function(){var prev=Atomics.sub(GROWABLE_HEAP_I32(),this.ptr+0>>2,1);return prev===1;};this.set_adjusted_ptr=function(adjustedPtr){GROWABLE_HEAP_U32()[this.ptr+16>>>2]=adjustedPtr;};this.get_adjusted_ptr=function(){return GROWABLE_HEAP_U32()[this.ptr+16>>>2];};this.get_exception_ptr=function(){var isPointer=_cxa_is_pointer_type(this.get_type());if(isPointer){return GROWABLE_HEAP_U32()[this.excPtr>>>2];}var adjusted=this.get_adjusted_ptr();if(adjusted!==0)return adjusted;return this.excPtr;};}function ___cxa_throw(ptr,type,destructor){var info=new ExceptionInfo(ptr);info.init(type,destructor);throw ptr;}function ___emscripten_init_main_thread_js(tb){__emscripten_thread_init(tb,!ENVIRONMENT_IS_WORKER,1,!ENVIRONMENT_IS_WEB);PThread.threadInitTLS();}function ___emscripten_thread_cleanup(thread){if(!ENVIRONMENT_IS_PTHREAD)cleanupThread(thread);else postMessage({"cmd":"cleanupThread","thread":thread});}function __dlinit(main_dso_handle){}var dlopenMissingError="To use dlopen, you need enable dynamic linking, see https://github.com/emscripten-core/emscripten/wiki/Linking";function __dlopen_js(handle){abort(dlopenMissingError);}function __dlsym_catchup_js(handle,symbolIndex){abort(dlopenMissingError);}var tupleRegistrations={};function runDestructors(destructors){while(destructors.length){var ptr=destructors.pop();var del=destructors.pop();del(ptr);}}function simpleReadValueFromPointer(pointer){return this["fromWireType"](GROWABLE_HEAP_I32()[pointer>>>2]);}var awaitingDependencies={};var registeredTypes={};var typeDependencies={};var char_0=48;var char_9=57;function makeLegalFunctionName(name){if(name===void 0){return"_unknown";}name=name.replace(/[^a-zA-Z0-9_]/g,"$");var f=name.charCodeAt(0);if(f>=char_0&&f<=char_9){return"_"+name;}return name;}function createNamedFunction(name,body){name=makeLegalFunctionName(name);return new Function("body","return function "+name+'() {\n "use strict"; return body.apply(this, arguments);\n};\n')(body);}function extendError(baseErrorType,errorName){var errorClass=createNamedFunction(errorName,function(message){this.name=errorName;this.message=message;var stack=new Error(message).stack;if(stack!==void 0){this.stack=this.toString()+"\n"+stack.replace(/^Error(:[^\n]*)?\n/,"");}});errorClass.prototype=Object.create(baseErrorType.prototype);errorClass.prototype.constructor=errorClass;errorClass.prototype.toString=function(){if(this.message===void 0){return this.name;}else{return this.name+": "+this.message;}};return errorClass;}var InternalError=void 0;function throwInternalError(message){throw new InternalError(message);}function whenDependentTypesAreResolved(myTypes,dependentTypes,getTypeConverters){myTypes.forEach(function(type){typeDependencies[type]=dependentTypes;});function onComplete(typeConverters2){var myTypeConverters=getTypeConverters(typeConverters2);if(myTypeConverters.length!==myTypes.length){throwInternalError("Mismatched type converter count");}for(var i=0;i>>0]){ret+=embind_charCodes[GROWABLE_HEAP_U8()[c++>>>0]];}return ret;}var BindingError=void 0;function throwBindingError(message){throw new BindingError(message);}function registerType(rawType,registeredInstance){var options=arguments.length>2&&arguments[2]!==undefined?arguments[2]:{};if(!("argPackAdvance"in registeredInstance)){throw new TypeError("registerType registeredInstance requires argPackAdvance");}var name=registeredInstance.name;if(!rawType){throwBindingError('type "'+name+'" must have a positive integer typeid pointer');}if(registeredTypes.hasOwnProperty(rawType)){if(options.ignoreDuplicateRegistrations){return;}else{throwBindingError("Cannot register type '"+name+"' twice");}}registeredTypes[rawType]=registeredInstance;delete typeDependencies[rawType];if(awaitingDependencies.hasOwnProperty(rawType)){var callbacks=awaitingDependencies[rawType];delete awaitingDependencies[rawType];callbacks.forEach(function(cb){return cb();});}}function __embind_register_bool(rawType,name,size,trueValue,falseValue){var shift=getShiftFromSize(size);name=readLatin1String(name);registerType(rawType,{name:name,"fromWireType":function fromWireType(wt){return!!wt;},"toWireType":function toWireType(destructors,o){return o?trueValue:falseValue;},"argPackAdvance":8,"readValueFromPointer":function readValueFromPointer(pointer){var heap;if(size===1){heap=GROWABLE_HEAP_I8();}else if(size===2){heap=GROWABLE_HEAP_I16();}else if(size===4){heap=GROWABLE_HEAP_I32();}else{throw new TypeError("Unknown boolean type size: "+name);}return this["fromWireType"](heap[pointer>>>shift]);},destructorFunction:null});}function ClassHandle_isAliasOf(other){if(!(this instanceof ClassHandle)){return false;}if(!(other instanceof ClassHandle)){return false;}var leftClass=this.$$.ptrType.registeredClass;var left=this.$$.ptr;var rightClass=other.$$.ptrType.registeredClass;var right=other.$$.ptr;while(leftClass.baseClass){left=leftClass.upcast(left);leftClass=leftClass.baseClass;}while(rightClass.baseClass){right=rightClass.upcast(right);rightClass=rightClass.baseClass;}return leftClass===rightClass&&left===right;}function shallowCopyInternalPointer(o){return{count:o.count,deleteScheduled:o.deleteScheduled,preservePointerOnDelete:o.preservePointerOnDelete,ptr:o.ptr,ptrType:o.ptrType,smartPtr:o.smartPtr,smartPtrType:o.smartPtrType};}function throwInstanceAlreadyDeleted(obj){function getInstanceTypeName(handle){return handle.$$.ptrType.registeredClass.name;}throwBindingError(getInstanceTypeName(obj)+" instance already deleted");}var finalizationRegistry=false;function detachFinalizer(handle){}function runDestructor($$){if($$.smartPtr){$$.smartPtrType.rawDestructor($$.smartPtr);}else{$$.ptrType.registeredClass.rawDestructor($$.ptr);}}function releaseClassHandle($$){$$.count.value-=1;var toDelete=$$.count.value===0;if(toDelete){runDestructor($$);}}function downcastPointer(ptr,ptrClass,desiredClass){if(ptrClass===desiredClass){return ptr;}if(desiredClass.baseClass===void 0){return null;}var rv=downcastPointer(ptr,ptrClass,desiredClass.baseClass);if(rv===null){return null;}return desiredClass.downcast(rv);}var registeredPointers={};function getInheritedInstanceCount(){return Object.keys(registeredInstances).length;}function getLiveInheritedInstances(){var rv=[];for(var k in registeredInstances){if(registeredInstances.hasOwnProperty(k)){rv.push(registeredInstances[k]);}}return rv;}var deletionQueue=[];function flushPendingDeletes(){while(deletionQueue.length){var obj=deletionQueue.pop();obj.$$.deleteScheduled=false;obj["delete"]();}}var delayFunction=void 0;function setDelayFunction(fn){delayFunction=fn;if(deletionQueue.length&&delayFunction){delayFunction(flushPendingDeletes);}}function init_embind(){Module["getInheritedInstanceCount"]=getInheritedInstanceCount;Module["getLiveInheritedInstances"]=getLiveInheritedInstances;Module["flushPendingDeletes"]=flushPendingDeletes;Module["setDelayFunction"]=setDelayFunction;}var registeredInstances={};function getBasestPointer(class_,ptr){if(ptr===void 0){throwBindingError("ptr should not be undefined");}while(class_.baseClass){ptr=class_.upcast(ptr);class_=class_.baseClass;}return ptr;}function getInheritedInstance(class_,ptr){ptr=getBasestPointer(class_,ptr);return registeredInstances[ptr];}function makeClassHandle(prototype,record){if(!record.ptrType||!record.ptr){throwInternalError("makeClassHandle requires ptr and ptrType");}var hasSmartPtrType=!!record.smartPtrType;var hasSmartPtr=!!record.smartPtr;if(hasSmartPtrType!==hasSmartPtr){throwInternalError("Both smartPtrType and smartPtr must be specified");}record.count={value:1};return attachFinalizer(Object.create(prototype,{$$:{value:record}}));}function RegisteredPointer_fromWireType(ptr){var rawPointer=this.getPointee(ptr);if(!rawPointer){this.destructor(ptr);return null;}var registeredInstance=getInheritedInstance(this.registeredClass,rawPointer);if(registeredInstance!==void 0){if(registeredInstance.$$.count.value===0){registeredInstance.$$.ptr=rawPointer;registeredInstance.$$.smartPtr=ptr;return registeredInstance["clone"]();}else{var rv=registeredInstance["clone"]();this.destructor(ptr);return rv;}}function makeDefaultHandle(){if(this.isSmartPointer){return makeClassHandle(this.registeredClass.instancePrototype,{ptrType:this.pointeeType,ptr:rawPointer,smartPtrType:this,smartPtr:ptr});}else{return makeClassHandle(this.registeredClass.instancePrototype,{ptrType:this,ptr:ptr});}}var actualType=this.registeredClass.getActualType(rawPointer);var registeredPointerRecord=registeredPointers[actualType];if(!registeredPointerRecord){return makeDefaultHandle.call(this);}var toType;if(this.isConst){toType=registeredPointerRecord.constPointerType;}else{toType=registeredPointerRecord.pointerType;}var dp=downcastPointer(rawPointer,this.registeredClass,toType.registeredClass);if(dp===null){return makeDefaultHandle.call(this);}if(this.isSmartPointer){return makeClassHandle(toType.registeredClass.instancePrototype,{ptrType:toType,ptr:dp,smartPtrType:this,smartPtr:ptr});}else{return makeClassHandle(toType.registeredClass.instancePrototype,{ptrType:toType,ptr:dp});}}function attachFinalizer(handle){if(typeof FinalizationRegistry==="undefined"){attachFinalizer=function attachFinalizer(handle2){return handle2;};return handle;}finalizationRegistry=new FinalizationRegistry(function(info){releaseClassHandle(info.$$);});attachFinalizer=function attachFinalizer(handle2){var $$=handle2.$$;var hasSmartPtr=!!$$.smartPtr;if(hasSmartPtr){var info={$$:$$};finalizationRegistry.register(handle2,info,handle2);}return handle2;};detachFinalizer=function detachFinalizer(handle2){return finalizationRegistry.unregister(handle2);};return attachFinalizer(handle);}function ClassHandle_clone(){if(!this.$$.ptr){throwInstanceAlreadyDeleted(this);}if(this.$$.preservePointerOnDelete){this.$$.count.value+=1;return this;}else{var clone=attachFinalizer(Object.create(Object.getPrototypeOf(this),{$$:{value:shallowCopyInternalPointer(this.$$)}}));clone.$$.count.value+=1;clone.$$.deleteScheduled=false;return clone;}}function ClassHandle_delete(){if(!this.$$.ptr){throwInstanceAlreadyDeleted(this);}if(this.$$.deleteScheduled&&!this.$$.preservePointerOnDelete){throwBindingError("Object already scheduled for deletion");}detachFinalizer(this);releaseClassHandle(this.$$);if(!this.$$.preservePointerOnDelete){this.$$.smartPtr=void 0;this.$$.ptr=void 0;}}function ClassHandle_isDeleted(){return!this.$$.ptr;}function ClassHandle_deleteLater(){if(!this.$$.ptr){throwInstanceAlreadyDeleted(this);}if(this.$$.deleteScheduled&&!this.$$.preservePointerOnDelete){throwBindingError("Object already scheduled for deletion");}deletionQueue.push(this);if(deletionQueue.length===1&&delayFunction){delayFunction(flushPendingDeletes);}this.$$.deleteScheduled=true;return this;}function init_ClassHandle(){ClassHandle.prototype["isAliasOf"]=ClassHandle_isAliasOf;ClassHandle.prototype["clone"]=ClassHandle_clone;ClassHandle.prototype["delete"]=ClassHandle_delete;ClassHandle.prototype["isDeleted"]=ClassHandle_isDeleted;ClassHandle.prototype["deleteLater"]=ClassHandle_deleteLater;}function ClassHandle(){}function ensureOverloadTable(proto,methodName,humanName){if(proto[methodName].overloadTable===void 0){var prevFunc=proto[methodName];proto[methodName]=function(){if(!proto[methodName].overloadTable.hasOwnProperty(arguments.length)){throwBindingError("Function '"+humanName+"' called with an invalid number of arguments ("+arguments.length+") - expects one of ("+proto[methodName].overloadTable+")!");}return proto[methodName].overloadTable[arguments.length].apply(this,arguments);};proto[methodName].overloadTable=[];proto[methodName].overloadTable[prevFunc.argCount]=prevFunc;}}function exposePublicSymbol(name,value,numArguments){if(Module.hasOwnProperty(name)){if(numArguments===void 0||Module[name].overloadTable!==void 0&&Module[name].overloadTable[numArguments]!==void 0){throwBindingError("Cannot register public name '"+name+"' twice");}ensureOverloadTable(Module,name,name);if(Module.hasOwnProperty(numArguments)){throwBindingError("Cannot register multiple overloads of a function with the same number of arguments ("+numArguments+")!");}Module[name].overloadTable[numArguments]=value;}else{Module[name]=value;if(numArguments!==void 0){Module[name].numArguments=numArguments;}}}function RegisteredClass(name,constructor,instancePrototype,rawDestructor,baseClass,getActualType,upcast,downcast){this.name=name;this.constructor=constructor;this.instancePrototype=instancePrototype;this.rawDestructor=rawDestructor;this.baseClass=baseClass;this.getActualType=getActualType;this.upcast=upcast;this.downcast=downcast;this.pureVirtualFunctions=[];}function upcastPointer(ptr,ptrClass,desiredClass){while(ptrClass!==desiredClass){if(!ptrClass.upcast){throwBindingError("Expected null or instance of "+desiredClass.name+", got an instance of "+ptrClass.name);}ptr=ptrClass.upcast(ptr);ptrClass=ptrClass.baseClass;}return ptr;}function constNoSmartPtrRawPointerToWireType(destructors,handle){if(handle===null){if(this.isReference){throwBindingError("null is not a valid "+this.name);}return 0;}if(!handle.$$){throwBindingError('Cannot pass "'+embindRepr(handle)+'" as a '+this.name);}if(!handle.$$.ptr){throwBindingError("Cannot pass deleted object as a pointer of type "+this.name);}var handleClass=handle.$$.ptrType.registeredClass;var ptr=upcastPointer(handle.$$.ptr,handleClass,this.registeredClass);return ptr;}function genericPointerToWireType(destructors,handle){var ptr;if(handle===null){if(this.isReference){throwBindingError("null is not a valid "+this.name);}if(this.isSmartPointer){ptr=this.rawConstructor();if(destructors!==null){destructors.push(this.rawDestructor,ptr);}return ptr;}else{return 0;}}if(!handle.$$){throwBindingError('Cannot pass "'+embindRepr(handle)+'" as a '+this.name);}if(!handle.$$.ptr){throwBindingError("Cannot pass deleted object as a pointer of type "+this.name);}if(!this.isConst&&handle.$$.ptrType.isConst){throwBindingError("Cannot convert argument of type "+(handle.$$.smartPtrType?handle.$$.smartPtrType.name:handle.$$.ptrType.name)+" to parameter type "+this.name);}var handleClass=handle.$$.ptrType.registeredClass;ptr=upcastPointer(handle.$$.ptr,handleClass,this.registeredClass);if(this.isSmartPointer){if(handle.$$.smartPtr===void 0){throwBindingError("Passing raw pointer to smart pointer is illegal");}switch(this.sharingPolicy){case 0:if(handle.$$.smartPtrType===this){ptr=handle.$$.smartPtr;}else{throwBindingError("Cannot convert argument of type "+(handle.$$.smartPtrType?handle.$$.smartPtrType.name:handle.$$.ptrType.name)+" to parameter type "+this.name);}break;case 1:ptr=handle.$$.smartPtr;break;case 2:if(handle.$$.smartPtrType===this){ptr=handle.$$.smartPtr;}else{var clonedHandle=handle["clone"]();ptr=this.rawShare(ptr,Emval.toHandle(function(){clonedHandle["delete"]();}));if(destructors!==null){destructors.push(this.rawDestructor,ptr);}}break;default:throwBindingError("Unsupporting sharing policy");}}return ptr;}function nonConstNoSmartPtrRawPointerToWireType(destructors,handle){if(handle===null){if(this.isReference){throwBindingError("null is not a valid "+this.name);}return 0;}if(!handle.$$){throwBindingError('Cannot pass "'+embindRepr(handle)+'" as a '+this.name);}if(!handle.$$.ptr){throwBindingError("Cannot pass deleted object as a pointer of type "+this.name);}if(handle.$$.ptrType.isConst){throwBindingError("Cannot convert argument of type "+handle.$$.ptrType.name+" to parameter type "+this.name);}var handleClass=handle.$$.ptrType.registeredClass;var ptr=upcastPointer(handle.$$.ptr,handleClass,this.registeredClass);return ptr;}function RegisteredPointer_getPointee(ptr){if(this.rawGetPointee){ptr=this.rawGetPointee(ptr);}return ptr;}function RegisteredPointer_destructor(ptr){if(this.rawDestructor){this.rawDestructor(ptr);}}function RegisteredPointer_deleteObject(handle){if(handle!==null){handle["delete"]();}}function init_RegisteredPointer(){RegisteredPointer.prototype.getPointee=RegisteredPointer_getPointee;RegisteredPointer.prototype.destructor=RegisteredPointer_destructor;RegisteredPointer.prototype["argPackAdvance"]=8;RegisteredPointer.prototype["readValueFromPointer"]=simpleReadValueFromPointer;RegisteredPointer.prototype["deleteObject"]=RegisteredPointer_deleteObject;RegisteredPointer.prototype["fromWireType"]=RegisteredPointer_fromWireType;}function RegisteredPointer(name,registeredClass,isReference,isConst,isSmartPointer,pointeeType,sharingPolicy,rawGetPointee,rawConstructor,rawShare,rawDestructor){this.name=name;this.registeredClass=registeredClass;this.isReference=isReference;this.isConst=isConst;this.isSmartPointer=isSmartPointer;this.pointeeType=pointeeType;this.sharingPolicy=sharingPolicy;this.rawGetPointee=rawGetPointee;this.rawConstructor=rawConstructor;this.rawShare=rawShare;this.rawDestructor=rawDestructor;if(!isSmartPointer&®isteredClass.baseClass===void 0){if(isConst){this["toWireType"]=constNoSmartPtrRawPointerToWireType;this.destructorFunction=null;}else{this["toWireType"]=nonConstNoSmartPtrRawPointerToWireType;this.destructorFunction=null;}}else{this["toWireType"]=genericPointerToWireType;}}function replacePublicSymbol(name,value,numArguments){if(!Module.hasOwnProperty(name)){throwInternalError("Replacing nonexistant public symbol");}if(Module[name].overloadTable!==void 0&&numArguments!==void 0){Module[name].overloadTable[numArguments]=value;}else{Module[name]=value;Module[name].argCount=numArguments;}}function dynCallLegacy(sig,ptr,args){var f=Module["dynCall_"+sig];return args&&args.length?f.apply(null,[ptr].concat(args)):f.call(null,ptr);}function dynCall(sig,ptr,args){if(sig.includes("j")){return dynCallLegacy(sig,ptr,args);}var rtn=getWasmTableEntry(ptr).apply(null,args);return rtn;}function getDynCaller(sig,ptr){var argCache=[];return function(){argCache.length=0;Object.assign(argCache,arguments);return dynCall(sig,ptr,argCache);};}function embind__requireFunction(signature,rawFunction){signature=readLatin1String(signature);function makeDynCaller(){if(signature.includes("j")){return getDynCaller(signature,rawFunction);}return getWasmTableEntry(rawFunction);}var fp=makeDynCaller();if(typeof fp!="function"){throwBindingError("unknown function pointer with signature "+signature+": "+rawFunction);}return fp;}var UnboundTypeError=void 0;function getTypeName(type){var ptr=___getTypeName(type);var rv=readLatin1String(ptr);_free2(ptr);return rv;}function throwUnboundTypeError(message,types){var unboundTypes=[];var seen={};function visit(type){if(seen[type]){return;}if(registeredTypes[type]){return;}if(typeDependencies[type]){typeDependencies[type].forEach(visit);return;}unboundTypes.push(type);seen[type]=true;}types.forEach(visit);throw new UnboundTypeError(message+": "+unboundTypes.map(getTypeName).join([", "]));}function __embind_register_class(rawType,rawPointerType,rawConstPointerType,baseClassRawType,getActualTypeSignature,getActualType,upcastSignature,upcast,downcastSignature,downcast,name,destructorSignature,rawDestructor){name=readLatin1String(name);getActualType=embind__requireFunction(getActualTypeSignature,getActualType);if(upcast){upcast=embind__requireFunction(upcastSignature,upcast);}if(downcast){downcast=embind__requireFunction(downcastSignature,downcast);}rawDestructor=embind__requireFunction(destructorSignature,rawDestructor);var legalFunctionName=makeLegalFunctionName(name);exposePublicSymbol(legalFunctionName,function(){throwUnboundTypeError("Cannot construct "+name+" due to unbound types",[baseClassRawType]);});whenDependentTypesAreResolved([rawType,rawPointerType,rawConstPointerType],baseClassRawType?[baseClassRawType]:[],function(base){base=base[0];var baseClass;var basePrototype;if(baseClassRawType){baseClass=base.registeredClass;basePrototype=baseClass.instancePrototype;}else{basePrototype=ClassHandle.prototype;}var constructor=createNamedFunction(legalFunctionName,function(){if(Object.getPrototypeOf(this)!==instancePrototype){throw new BindingError("Use 'new' to construct "+name);}if(registeredClass.constructor_body===void 0){throw new BindingError(name+" has no accessible constructor");}var body=registeredClass.constructor_body[arguments.length];if(body===void 0){throw new BindingError("Tried to invoke ctor of "+name+" with invalid number of parameters ("+arguments.length+") - expected ("+Object.keys(registeredClass.constructor_body).toString()+") parameters instead!");}return body.apply(this,arguments);});var instancePrototype=Object.create(basePrototype,{constructor:{value:constructor}});constructor.prototype=instancePrototype;var registeredClass=new RegisteredClass(name,constructor,instancePrototype,rawDestructor,baseClass,getActualType,upcast,downcast);var referenceConverter=new RegisteredPointer(name,registeredClass,true,false,false);var pointerConverter=new RegisteredPointer(name+"*",registeredClass,false,false,false);var constPointerConverter=new RegisteredPointer(name+" const*",registeredClass,false,true,false);registeredPointers[rawType]={pointerType:pointerConverter,constPointerType:constPointerConverter};replacePublicSymbol(legalFunctionName,constructor);return[referenceConverter,pointerConverter,constPointerConverter];});}function heap32VectorToArray(count,firstElement){var array=[];for(var i=0;i>>2]);}return array;}function new_(constructor,argumentList){if(!(constructor instanceof Function)){throw new TypeError("new_ called with constructor type "+_typeof(constructor)+" which is not a function");}var dummy=createNamedFunction(constructor.name||"unknownFunctionName",function(){});dummy.prototype=constructor.prototype;var obj=new dummy();var r=constructor.apply(obj,argumentList);return r instanceof Object?r:obj;}function craftInvokerFunction(humanName,argTypes,classType,cppInvokerFunc,cppTargetFunc){var argCount=argTypes.length;if(argCount<2){throwBindingError("argTypes array size mismatch! Must at least get return value and 'this' types!");}var isClassMethodFunc=argTypes[1]!==null&&classType!==null;var needsDestructorStack=false;for(var i=1;i0?", ":"")+argsListWired;}invokerFnBody+=(returns?"var rv = ":"")+"invoker(fn"+(argsListWired.length>0?", ":"")+argsListWired+");\n";if(needsDestructorStack){invokerFnBody+="runDestructors(destructors);\n";}else{for(var i=isClassMethodFunc?1:2;i0);var rawArgTypes=heap32VectorToArray(argCount,rawArgTypesAddr);invoker=embind__requireFunction(invokerSignature,invoker);whenDependentTypesAreResolved([],[rawClassType],function(classType){classType=classType[0];var humanName="constructor "+classType.name;if(classType.registeredClass.constructor_body===void 0){classType.registeredClass.constructor_body=[];}if(classType.registeredClass.constructor_body[argCount-1]!==void 0){throw new BindingError("Cannot register multiple constructors with identical number of parameters ("+(argCount-1)+") for class '"+classType.name+"'! Overload resolution is currently only performed using the parameter count, not actual type info!");}classType.registeredClass.constructor_body[argCount-1]=function(){throwUnboundTypeError("Cannot construct "+classType.name+" due to unbound types",rawArgTypes);};whenDependentTypesAreResolved([],rawArgTypes,function(argTypes){argTypes.splice(1,0,null);classType.registeredClass.constructor_body[argCount-1]=craftInvokerFunction(humanName,argTypes,null,invoker,rawConstructor);return[];});return[];});}function __embind_register_class_function(rawClassType,methodName,argCount,rawArgTypesAddr,invokerSignature,rawInvoker,context,isPureVirtual){var rawArgTypes=heap32VectorToArray(argCount,rawArgTypesAddr);methodName=readLatin1String(methodName);rawInvoker=embind__requireFunction(invokerSignature,rawInvoker);whenDependentTypesAreResolved([],[rawClassType],function(classType){classType=classType[0];var humanName=classType.name+"."+methodName;if(methodName.startsWith("@@")){methodName=Symbol[methodName.substring(2)];}if(isPureVirtual){classType.registeredClass.pureVirtualFunctions.push(methodName);}function unboundTypesHandler(){throwUnboundTypeError("Cannot call "+humanName+" due to unbound types",rawArgTypes);}var proto=classType.registeredClass.instancePrototype;var method=proto[methodName];if(method===void 0||method.overloadTable===void 0&&method.className!==classType.name&&method.argCount===argCount-2){unboundTypesHandler.argCount=argCount-2;unboundTypesHandler.className=classType.name;proto[methodName]=unboundTypesHandler;}else{ensureOverloadTable(proto,methodName,humanName);proto[methodName].overloadTable[argCount-2]=unboundTypesHandler;}whenDependentTypesAreResolved([],rawArgTypes,function(argTypes){var memberFunction=craftInvokerFunction(humanName,argTypes,classType,rawInvoker,context);if(proto[methodName].overloadTable===void 0){memberFunction.argCount=argCount-2;proto[methodName]=memberFunction;}else{proto[methodName].overloadTable[argCount-2]=memberFunction;}return[];});return[];});}var emval_free_list=[];var emval_handle_array=[{},{value:void 0},{value:null},{value:true},{value:false}];function __emval_decref(handle){if(handle>4&&--emval_handle_array[handle].refcount===0){emval_handle_array[handle]=void 0;emval_free_list.push(handle);}}function count_emval_handles(){var count=0;for(var i=5;i>>0]);};case 1:return function(pointer){var heap=signed?GROWABLE_HEAP_I16():GROWABLE_HEAP_U16();return this["fromWireType"](heap[pointer>>>1]);};case 2:return function(pointer){var heap=signed?GROWABLE_HEAP_I32():GROWABLE_HEAP_U32();return this["fromWireType"](heap[pointer>>>2]);};default:throw new TypeError("Unknown integer type: "+name);}}function __embind_register_enum(rawType,name,size,isSigned){var shift=getShiftFromSize(size);name=readLatin1String(name);function ctor(){}ctor.values={};registerType(rawType,{name:name,constructor:ctor,"fromWireType":function fromWireType(c){return this.constructor.values[c];},"toWireType":function toWireType(destructors,c){return c.value;},"argPackAdvance":8,"readValueFromPointer":enumReadValueFromPointer(name,shift,isSigned),destructorFunction:null});exposePublicSymbol(name,ctor);}function requireRegisteredType(rawType,humanName){var impl=registeredTypes[rawType];if(impl===void 0){throwBindingError(humanName+" has unknown type "+getTypeName(rawType));}return impl;}function __embind_register_enum_value(rawEnumType,name,enumValue){var enumType=requireRegisteredType(rawEnumType,"enum");name=readLatin1String(name);var Enum=enumType.constructor;var Value=Object.create(enumType.constructor.prototype,{value:{value:enumValue},constructor:{value:createNamedFunction(enumType.name+"_"+name,function(){})}});Enum.values[enumValue]=Value;Enum[name]=Value;}function embindRepr(v){if(v===null){return"null";}var t=_typeof(v);if(t==="object"||t==="array"||t==="function"){return v.toString();}else{return""+v;}}function floatReadValueFromPointer(name,shift){switch(shift){case 2:return function(pointer){return this["fromWireType"](GROWABLE_HEAP_F32()[pointer>>>2]);};case 3:return function(pointer){return this["fromWireType"](GROWABLE_HEAP_F64()[pointer>>>3]);};default:throw new TypeError("Unknown float type: "+name);}}function __embind_register_float(rawType,name,size){var shift=getShiftFromSize(size);name=readLatin1String(name);registerType(rawType,{name:name,"fromWireType":function fromWireType(value){return value;},"toWireType":function toWireType(destructors,value){return value;},"argPackAdvance":8,"readValueFromPointer":floatReadValueFromPointer(name,shift),destructorFunction:null});}function __embind_register_function(name,argCount,rawArgTypesAddr,signature,rawInvoker,fn){var argTypes=heap32VectorToArray(argCount,rawArgTypesAddr);name=readLatin1String(name);rawInvoker=embind__requireFunction(signature,rawInvoker);exposePublicSymbol(name,function(){throwUnboundTypeError("Cannot call "+name+" due to unbound types",argTypes);},argCount-1);whenDependentTypesAreResolved([],argTypes,function(argTypes2){var invokerArgsArray=[argTypes2[0],null].concat(argTypes2.slice(1));replacePublicSymbol(name,craftInvokerFunction(name,invokerArgsArray,null,rawInvoker,fn),argCount-1);return[];});}function integerReadValueFromPointer(name,shift,signed){switch(shift){case 0:return signed?function readS8FromPointer(pointer){return GROWABLE_HEAP_I8()[pointer>>>0];}:function readU8FromPointer(pointer){return GROWABLE_HEAP_U8()[pointer>>>0];};case 1:return signed?function readS16FromPointer(pointer){return GROWABLE_HEAP_I16()[pointer>>>1];}:function readU16FromPointer(pointer){return GROWABLE_HEAP_U16()[pointer>>>1];};case 2:return signed?function readS32FromPointer(pointer){return GROWABLE_HEAP_I32()[pointer>>>2];}:function readU32FromPointer(pointer){return GROWABLE_HEAP_U32()[pointer>>>2];};default:throw new TypeError("Unknown integer type: "+name);}}function __embind_register_integer(primitiveType,name,size,minRange,maxRange){name=readLatin1String(name);var shift=getShiftFromSize(size);var fromWireType=function fromWireType(value){return value;};if(minRange===0){var bitshift=32-8*size;fromWireType=function fromWireType(value){return value<>>bitshift;};}var isUnsignedType=name.includes("unsigned");var checkAssertions=function checkAssertions(value,toTypeName){};var toWireType;if(isUnsignedType){toWireType=function toWireType(destructors,value){checkAssertions(value,this.name);return value>>>0;};}else{toWireType=function toWireType(destructors,value){checkAssertions(value,this.name);return value;};}registerType(primitiveType,{name:name,"fromWireType":fromWireType,"toWireType":toWireType,"argPackAdvance":8,"readValueFromPointer":integerReadValueFromPointer(name,shift,minRange!==0),destructorFunction:null});}function __embind_register_memory_view(rawType,dataTypeIndex,name){var typeMapping=[Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array];var TA=typeMapping[dataTypeIndex];function decodeMemoryView(handle){handle=handle>>2;var heap=GROWABLE_HEAP_U32();var size=heap[handle>>>0];var data=heap[handle+1>>>0];return new TA(heap.buffer,data,size);}name=readLatin1String(name);registerType(rawType,{name:name,"fromWireType":decodeMemoryView,"argPackAdvance":8,"readValueFromPointer":decodeMemoryView},{ignoreDuplicateRegistrations:true});}function __embind_register_std_string(rawType,name){name=readLatin1String(name);var stdStringIsUTF8=name==="std::string";registerType(rawType,{name:name,"fromWireType":function fromWireType(value){var length=GROWABLE_HEAP_U32()[value>>>2];var payload=value+4;var str;if(stdStringIsUTF8){var decodeStartPtr=payload;for(var i=0;i<=length;++i){var currentBytePtr=payload+i;if(i==length||GROWABLE_HEAP_U8()[currentBytePtr>>>0]==0){var maxRead=currentBytePtr-decodeStartPtr;var stringSegment=UTF8ToString(decodeStartPtr,maxRead);if(str===void 0){str=stringSegment;}else{str+=String.fromCharCode(0);str+=stringSegment;}decodeStartPtr=currentBytePtr+1;}}}else{var a=new Array(length);for(var i=0;i>>0]);}str=a.join("");}_free2(value);return str;},"toWireType":function toWireType(destructors,value){if(value instanceof ArrayBuffer){value=new Uint8Array(value);}var length;var valueIsOfTypeString=typeof value=="string";if(!(valueIsOfTypeString||value instanceof Uint8Array||value instanceof Uint8ClampedArray||value instanceof Int8Array)){throwBindingError("Cannot pass non-string to std::string");}if(stdStringIsUTF8&&valueIsOfTypeString){length=lengthBytesUTF8(value);}else{length=value.length;}var base=_malloc2(4+length+1);var ptr=base+4;ptr>>>=0;GROWABLE_HEAP_U32()[base>>>2]=length;if(stdStringIsUTF8&&valueIsOfTypeString){stringToUTF8(value,ptr,length+1);}else{if(valueIsOfTypeString){for(var i=0;i255){_free2(ptr);throwBindingError("String has UTF-16 code units that do not fit in 8 bits");}GROWABLE_HEAP_U8()[ptr+i>>>0]=charCode;}}else{for(var i=0;i>>0]=value[i];}}}if(destructors!==null){destructors.push(_free2,base);}return base;},"argPackAdvance":8,"readValueFromPointer":simpleReadValueFromPointer,destructorFunction:function destructorFunction(ptr){_free2(ptr);}});}var UTF16Decoder=typeof TextDecoder!="undefined"?new TextDecoder("utf-16le"):void 0;function UTF16ToString(ptr,maxBytesToRead){var endPtr=ptr;var idx=endPtr>>1;var maxIdx=idx+maxBytesToRead/2;while(!(idx>=maxIdx)&&GROWABLE_HEAP_U16()[idx>>>0]){++idx;}endPtr=idx<<1;if(endPtr-ptr>32&&UTF16Decoder)return UTF16Decoder.decode(GROWABLE_HEAP_U8().slice(ptr,endPtr));var str="";for(var i=0;!(i>=maxBytesToRead/2);++i){var codeUnit=GROWABLE_HEAP_I16()[ptr+i*2>>>1];if(codeUnit==0)break;str+=String.fromCharCode(codeUnit);}return str;}function stringToUTF16(str,outPtr,maxBytesToWrite){if(maxBytesToWrite===void 0){maxBytesToWrite=2147483647;}if(maxBytesToWrite<2)return 0;maxBytesToWrite-=2;var startPtr=outPtr;var numCharsToWrite=maxBytesToWrite>>1]=codeUnit;outPtr+=2;}GROWABLE_HEAP_I16()[outPtr>>>1]=0;return outPtr-startPtr;}function lengthBytesUTF16(str){return str.length*2;}function UTF32ToString(ptr,maxBytesToRead){var i=0;var str="";while(!(i>=maxBytesToRead/4)){var utf32=GROWABLE_HEAP_I32()[ptr+i*4>>>2];if(utf32==0)break;++i;if(utf32>=65536){var ch=utf32-65536;str+=String.fromCharCode(55296|ch>>10,56320|ch&1023);}else{str+=String.fromCharCode(utf32);}}return str;}function stringToUTF32(str,outPtr,maxBytesToWrite){outPtr>>>=0;if(maxBytesToWrite===void 0){maxBytesToWrite=2147483647;}if(maxBytesToWrite<4)return 0;var startPtr=outPtr;var endPtr=startPtr+maxBytesToWrite-4;for(var i=0;i=55296&&codeUnit<=57343){var trailSurrogate=str.charCodeAt(++i);codeUnit=65536+((codeUnit&1023)<<10)|trailSurrogate&1023;}GROWABLE_HEAP_I32()[outPtr>>>2]=codeUnit;outPtr+=4;if(outPtr+4>endPtr)break;}GROWABLE_HEAP_I32()[outPtr>>>2]=0;return outPtr-startPtr;}function lengthBytesUTF32(str){var len=0;for(var i=0;i=55296&&codeUnit<=57343)++i;len+=4;}return len;}function __embind_register_std_wstring(rawType,charSize,name){name=readLatin1String(name);var decodeString,encodeString,getHeap,lengthBytesUTF,shift;if(charSize===2){decodeString=UTF16ToString;encodeString=stringToUTF16;lengthBytesUTF=lengthBytesUTF16;getHeap=function getHeap(){return GROWABLE_HEAP_U16();};shift=1;}else if(charSize===4){decodeString=UTF32ToString;encodeString=stringToUTF32;lengthBytesUTF=lengthBytesUTF32;getHeap=function getHeap(){return GROWABLE_HEAP_U32();};shift=2;}registerType(rawType,{name:name,"fromWireType":function fromWireType(value){var length=GROWABLE_HEAP_U32()[value>>>2];var HEAP=getHeap();var str;var decodeStartPtr=value+4;for(var i=0;i<=length;++i){var currentBytePtr=value+4+i*charSize;if(i==length||HEAP[currentBytePtr>>>shift]==0){var maxReadBytes=currentBytePtr-decodeStartPtr;var stringSegment=decodeString(decodeStartPtr,maxReadBytes);if(str===void 0){str=stringSegment;}else{str+=String.fromCharCode(0);str+=stringSegment;}decodeStartPtr=currentBytePtr+charSize;}}_free2(value);return str;},"toWireType":function toWireType(destructors,value){if(!(typeof value=="string")){throwBindingError("Cannot pass non-string to C++ string type "+name);}var length=lengthBytesUTF(value);var ptr=_malloc2(4+length+charSize);ptr>>>=0;GROWABLE_HEAP_U32()[ptr>>>2]=length>>shift;encodeString(value,ptr+4,length+charSize);if(destructors!==null){destructors.push(_free2,ptr);}return ptr;},"argPackAdvance":8,"readValueFromPointer":simpleReadValueFromPointer,destructorFunction:function destructorFunction(ptr){_free2(ptr);}});}function __embind_register_value_array(rawType,name,constructorSignature,rawConstructor,destructorSignature,rawDestructor){tupleRegistrations[rawType]={name:readLatin1String(name),rawConstructor:embind__requireFunction(constructorSignature,rawConstructor),rawDestructor:embind__requireFunction(destructorSignature,rawDestructor),elements:[]};}function __embind_register_value_array_element(rawTupleType,getterReturnType,getterSignature,getter,getterContext,setterArgumentType,setterSignature,setter,setterContext){tupleRegistrations[rawTupleType].elements.push({getterReturnType:getterReturnType,getter:embind__requireFunction(getterSignature,getter),getterContext:getterContext,setterArgumentType:setterArgumentType,setter:embind__requireFunction(setterSignature,setter),setterContext:setterContext});}function __embind_register_value_object(rawType,name,constructorSignature,rawConstructor,destructorSignature,rawDestructor){structRegistrations[rawType]={name:readLatin1String(name),rawConstructor:embind__requireFunction(constructorSignature,rawConstructor),rawDestructor:embind__requireFunction(destructorSignature,rawDestructor),fields:[]};}function __embind_register_value_object_field(structType,fieldName,getterReturnType,getterSignature,getter,getterContext,setterArgumentType,setterSignature,setter,setterContext){structRegistrations[structType].fields.push({fieldName:readLatin1String(fieldName),getterReturnType:getterReturnType,getter:embind__requireFunction(getterSignature,getter),getterContext:getterContext,setterArgumentType:setterArgumentType,setter:embind__requireFunction(setterSignature,setter),setterContext:setterContext});}function __embind_register_void(rawType,name){name=readLatin1String(name);registerType(rawType,{isVoid:true,name:name,"argPackAdvance":0,"fromWireType":function fromWireType(){return void 0;},"toWireType":function toWireType(destructors,o){return void 0;}});}function __emscripten_err(str){err(UTF8ToString(str));}function executeNotifiedProxyingQueue(queue){Atomics.store(GROWABLE_HEAP_I32(),queue>>2,1);if(_pthread_self()){__emscripten_proxy_execute_task_queue(queue);}Atomics.compareExchange(GROWABLE_HEAP_I32(),queue>>2,1,0);}Module["executeNotifiedProxyingQueue"]=executeNotifiedProxyingQueue;function __emscripten_notify_task_queue(targetThreadId,currThreadId,mainThreadId,queue){if(targetThreadId==currThreadId){setTimeout(function(){return executeNotifiedProxyingQueue(queue);});}else if(ENVIRONMENT_IS_PTHREAD){postMessage({"targetThread":targetThreadId,"cmd":"processProxyingQueue","queue":queue});}else{var worker=PThread.pthreads[targetThreadId];if(!worker){return;}worker.postMessage({"cmd":"processProxyingQueue","queue":queue});}return 1;}function __emscripten_set_offscreencanvas_size(target,width,height){return-1;}function __emval_as(handle,returnType,destructorsRef){handle=Emval.toValue(handle);returnType=requireRegisteredType(returnType,"emval::as");var destructors=[];var rd=Emval.toHandle(destructors);GROWABLE_HEAP_U32()[destructorsRef>>>2]=rd;return returnType["toWireType"](destructors,handle);}function emval_lookupTypes(argCount,argTypes){var a=new Array(argCount);for(var i=0;i>>2],"parameter "+i);}return a;}function __emval_call(handle,argCount,argTypes,argv){handle=Emval.toValue(handle);var types=emval_lookupTypes(argCount,argTypes);var args=new Array(argCount);for(var i=0;i4){emval_handle_array[handle].refcount+=1;}}function __emval_instanceof(object,constructor){object=Emval.toValue(object);constructor=Emval.toValue(constructor);return object instanceof constructor;}function __emval_is_number(handle){handle=Emval.toValue(handle);return typeof handle=="number";}function __emval_is_string(handle){handle=Emval.toValue(handle);return typeof handle=="string";}function __emval_new_array(){return Emval.toHandle([]);}function __emval_new_cstring(v){return Emval.toHandle(getStringOrSymbol(v));}function __emval_new_object(){return Emval.toHandle({});}function __emval_run_destructors(handle){var destructors=Emval.toValue(handle);runDestructors(destructors);__emval_decref(handle);}function __emval_set_property(handle,key,value){handle=Emval.toValue(handle);key=Emval.toValue(key);value=Emval.toValue(value);handle[key]=value;}function __emval_take_value(type,arg){type=requireRegisteredType(type,"_emval_take_value");var v=type["readValueFromPointer"](arg);return Emval.toHandle(v);}function _abort(){abort("");}function warnOnce(text){if(!warnOnce.shown)warnOnce.shown={};if(!warnOnce.shown[text]){warnOnce.shown[text]=1;err(text);}}function _emscripten_check_blocking_allowed(){if(ENVIRONMENT_IS_WORKER)return;warnOnce("Blocking on the main thread is very dangerous, see https://emscripten.org/docs/porting/pthreads.html#blocking-on-the-main-browser-thread");}var _emscripten_get_now;_emscripten_get_now=function _emscripten_get_now(){return performance.timeOrigin+performance.now();};function _emscripten_memcpy_big(dest,src,num){GROWABLE_HEAP_U8().copyWithin(dest>>>0,src>>>0,src+num>>>0);}function withStackSave(f){var stack=_stackSave();var ret=f();_stackRestore(stack);return ret;}function _emscripten_proxy_to_main_thread_js(index,sync){var numCallArgs=arguments.length-2;var outerArgs=arguments;return withStackSave(function(){var serializedNumCallArgs=numCallArgs;var args=_stackAlloc(serializedNumCallArgs*8);var b=args>>3;for(var i=0;i>>0]=arg;}return _emscripten_run_in_main_runtime_thread_js2(index,serializedNumCallArgs,args,sync);});}var _emscripten_receive_on_main_thread_js_callArgs=[];function _emscripten_receive_on_main_thread_js(index,numCallArgs,args){_emscripten_receive_on_main_thread_js_callArgs.length=numCallArgs;var b=args>>3;for(var i=0;i>>0];}var func=proxiedFunctionTable[index];return func.apply(null,_emscripten_receive_on_main_thread_js_callArgs);}function getHeapMax(){return 4294901760;}function emscripten_realloc_buffer(size){var b=wasmMemory.buffer;try{wasmMemory.grow(size-b.byteLength+65535>>>16);updateMemoryViews();return 1;}catch(e){}}function _emscripten_resize_heap(requestedSize){var oldSize=GROWABLE_HEAP_U8().length;requestedSize=requestedSize>>>0;if(requestedSize<=oldSize){return false;}var maxHeapSize=getHeapMax();if(requestedSize>maxHeapSize){return false;}var alignUp=function alignUp(x,multiple){return x+(multiple-x%multiple)%multiple;};for(var cutDown=1;cutDown<=4;cutDown*=2){var overGrownHeapSize=oldSize*(1+0.2/cutDown);overGrownHeapSize=Math.min(overGrownHeapSize,requestedSize+100663296);var newSize=Math.min(maxHeapSize,alignUp(Math.max(requestedSize,overGrownHeapSize),65536));var replacement=emscripten_realloc_buffer(newSize);if(replacement){return true;}}return false;}function _emscripten_unwind_to_js_event_loop(){throw"unwind";}var ENV={};function getExecutableName(){return thisProgram||"./this.program";}function getEnvStrings(){if(!getEnvStrings.strings){var lang=((typeof navigator==="undefined"?"undefined":_typeof(navigator))=="object"&&navigator.languages&&navigator.languages[0]||"C").replace("-","_")+".UTF-8";var env={"USER":"web_user","LOGNAME":"web_user","PATH":"/","PWD":"/","HOME":"/home/web_user","LANG":lang,"_":getExecutableName()};for(var x in ENV){if(ENV[x]===void 0)delete env[x];else env[x]=ENV[x];}var strings=[];for(var x in env){strings.push(x+"="+env[x]);}getEnvStrings.strings=strings;}return getEnvStrings.strings;}function writeAsciiToMemory(str,buffer,dontAddNull){for(var i=0;i>>0]=str.charCodeAt(i);}if(!dontAddNull)GROWABLE_HEAP_I8()[buffer>>>0]=0;}function _environ_get(__environ,environ_buf){if(ENVIRONMENT_IS_PTHREAD)return _emscripten_proxy_to_main_thread_js(3,1,__environ,environ_buf);var bufSize=0;getEnvStrings().forEach(function(string,i){var ptr=environ_buf+bufSize;GROWABLE_HEAP_U32()[__environ+i*4>>>2]=ptr;writeAsciiToMemory(string,ptr);bufSize+=string.length+1;});return 0;}function _environ_sizes_get(penviron_count,penviron_buf_size){if(ENVIRONMENT_IS_PTHREAD)return _emscripten_proxy_to_main_thread_js(4,1,penviron_count,penviron_buf_size);var strings=getEnvStrings();GROWABLE_HEAP_U32()[penviron_count>>>2]=strings.length;var bufSize=0;strings.forEach(function(string){bufSize+=string.length+1;});GROWABLE_HEAP_U32()[penviron_buf_size>>>2]=bufSize;return 0;}function _fd_close(fd){if(ENVIRONMENT_IS_PTHREAD)return _emscripten_proxy_to_main_thread_js(5,1,fd);try{var stream=SYSCALLS.getStreamFromFD(fd);FS.close(stream);return 0;}catch(e){if(typeof FS=="undefined"||!(e instanceof FS.ErrnoError))throw e;return e.errno;}}function doReadv(stream,iov,iovcnt,offset){var ret=0;for(var i=0;i>>2];var len=GROWABLE_HEAP_U32()[iov+4>>>2];iov+=8;var curr=FS.read(stream,GROWABLE_HEAP_I8(),ptr,len,offset);if(curr<0)return-1;ret+=curr;if(curr>>2]=num;return 0;}catch(e){if(typeof FS=="undefined"||!(e instanceof FS.ErrnoError))throw e;return e.errno;}}function convertI32PairToI53Checked(lo,hi){return hi+2097152>>>0<4194305-!!lo?(lo>>>0)+hi*4294967296:NaN;}function _fd_seek(fd,offset_low,offset_high,whence,newOffset){if(ENVIRONMENT_IS_PTHREAD)return _emscripten_proxy_to_main_thread_js(7,1,fd,offset_low,offset_high,whence,newOffset);try{var offset=convertI32PairToI53Checked(offset_low,offset_high);if(isNaN(offset))return 61;var stream=SYSCALLS.getStreamFromFD(fd);FS.llseek(stream,offset,whence);tempI64=[stream.position>>>0,(tempDouble=stream.position,+Math.abs(tempDouble)>=1?tempDouble>0?(Math.min(+Math.floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],GROWABLE_HEAP_I32()[newOffset>>>2]=tempI64[0],GROWABLE_HEAP_I32()[newOffset+4>>>2]=tempI64[1];if(stream.getdents&&offset===0&&whence===0)stream.getdents=null;return 0;}catch(e){if(typeof FS=="undefined"||!(e instanceof FS.ErrnoError))throw e;return e.errno;}}function doWritev(stream,iov,iovcnt,offset){var ret=0;for(var i=0;i>>2];var len=GROWABLE_HEAP_U32()[iov+4>>>2];iov+=8;var curr=FS.write(stream,GROWABLE_HEAP_I8(),ptr,len,offset);if(curr<0)return-1;ret+=curr;if(typeof offset!=="undefined"){offset+=curr;}}return ret;}function _fd_write(fd,iov,iovcnt,pnum){if(ENVIRONMENT_IS_PTHREAD)return _emscripten_proxy_to_main_thread_js(8,1,fd,iov,iovcnt,pnum);try{var stream=SYSCALLS.getStreamFromFD(fd);var num=doWritev(stream,iov,iovcnt);GROWABLE_HEAP_U32()[pnum>>>2]=num;return 0;}catch(e){if(typeof FS=="undefined"||!(e instanceof FS.ErrnoError))throw e;return e.errno;}}function __isLeapYear(year){return year%4===0&&(year%100!==0||year%400===0);}function __arraySum(array,index){var sum=0;for(var i=0;i<=index;sum+=array[i++]){}return sum;}var __MONTH_DAYS_LEAP=[31,29,31,30,31,30,31,31,30,31,30,31];var __MONTH_DAYS_REGULAR=[31,28,31,30,31,30,31,31,30,31,30,31];function __addDays(date,days){var newDate=new Date(date.getTime());while(days>0){var leap=__isLeapYear(newDate.getFullYear());var currentMonth=newDate.getMonth();var daysInCurrentMonth=(leap?__MONTH_DAYS_LEAP:__MONTH_DAYS_REGULAR)[currentMonth];if(days>daysInCurrentMonth-newDate.getDate()){days-=daysInCurrentMonth-newDate.getDate()+1;newDate.setDate(1);if(currentMonth<11){newDate.setMonth(currentMonth+1);}else{newDate.setMonth(0);newDate.setFullYear(newDate.getFullYear()+1);}}else{newDate.setDate(newDate.getDate()+days);return newDate;}}return newDate;}function writeArrayToMemory(array,buffer){GROWABLE_HEAP_I8().set(array,buffer>>>0);}function _strftime(s,maxsize,format,tm){var tm_zone=GROWABLE_HEAP_I32()[tm+40>>>2];var date={tm_sec:GROWABLE_HEAP_I32()[tm>>>2],tm_min:GROWABLE_HEAP_I32()[tm+4>>>2],tm_hour:GROWABLE_HEAP_I32()[tm+8>>>2],tm_mday:GROWABLE_HEAP_I32()[tm+12>>>2],tm_mon:GROWABLE_HEAP_I32()[tm+16>>>2],tm_year:GROWABLE_HEAP_I32()[tm+20>>>2],tm_wday:GROWABLE_HEAP_I32()[tm+24>>>2],tm_yday:GROWABLE_HEAP_I32()[tm+28>>>2],tm_isdst:GROWABLE_HEAP_I32()[tm+32>>>2],tm_gmtoff:GROWABLE_HEAP_I32()[tm+36>>>2],tm_zone:tm_zone?UTF8ToString(tm_zone):""};var pattern=UTF8ToString(format);var EXPANSION_RULES_1={"%c":"%a %b %d %H:%M:%S %Y","%D":"%m/%d/%y","%F":"%Y-%m-%d","%h":"%b","%r":"%I:%M:%S %p","%R":"%H:%M","%T":"%H:%M:%S","%x":"%m/%d/%y","%X":"%H:%M:%S","%Ec":"%c","%EC":"%C","%Ex":"%m/%d/%y","%EX":"%H:%M:%S","%Ey":"%y","%EY":"%Y","%Od":"%d","%Oe":"%e","%OH":"%H","%OI":"%I","%Om":"%m","%OM":"%M","%OS":"%S","%Ou":"%u","%OU":"%U","%OV":"%V","%Ow":"%w","%OW":"%W","%Oy":"%y"};for(var rule in EXPANSION_RULES_1){pattern=pattern.replace(new RegExp(rule,"g"),EXPANSION_RULES_1[rule]);}var WEEKDAYS=["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"];var MONTHS=["January","February","March","April","May","June","July","August","September","October","November","December"];function leadingSomething(value,digits,character){var str=typeof value=="number"?value.toString():value||"";while(str.length0?1:0;}var compare;if((compare=sgn(date1.getFullYear()-date2.getFullYear()))===0){if((compare=sgn(date1.getMonth()-date2.getMonth()))===0){compare=sgn(date1.getDate()-date2.getDate());}}return compare;}function getFirstWeekStartDate(janFourth){switch(janFourth.getDay()){case 0:return new Date(janFourth.getFullYear()-1,11,29);case 1:return janFourth;case 2:return new Date(janFourth.getFullYear(),0,3);case 3:return new Date(janFourth.getFullYear(),0,2);case 4:return new Date(janFourth.getFullYear(),0,1);case 5:return new Date(janFourth.getFullYear()-1,11,31);case 6:return new Date(janFourth.getFullYear()-1,11,30);}}function getWeekBasedYear(date2){var thisDate=__addDays(new Date(date2.tm_year+1900,0,1),date2.tm_yday);var janFourthThisYear=new Date(thisDate.getFullYear(),0,4);var janFourthNextYear=new Date(thisDate.getFullYear()+1,0,4);var firstWeekStartThisYear=getFirstWeekStartDate(janFourthThisYear);var firstWeekStartNextYear=getFirstWeekStartDate(janFourthNextYear);if(compareByDay(firstWeekStartThisYear,thisDate)<=0){if(compareByDay(firstWeekStartNextYear,thisDate)<=0){return thisDate.getFullYear()+1;}return thisDate.getFullYear();}return thisDate.getFullYear()-1;}var EXPANSION_RULES_2={"%a":function a(date2){return WEEKDAYS[date2.tm_wday].substring(0,3);},"%A":function A(date2){return WEEKDAYS[date2.tm_wday];},"%b":function b(date2){return MONTHS[date2.tm_mon].substring(0,3);},"%B":function B(date2){return MONTHS[date2.tm_mon];},"%C":function C(date2){var year=date2.tm_year+1900;return leadingNulls(year/100|0,2);},"%d":function d(date2){return leadingNulls(date2.tm_mday,2);},"%e":function e(date2){return leadingSomething(date2.tm_mday,2," ");},"%g":function g(date2){return getWeekBasedYear(date2).toString().substring(2);},"%G":function G(date2){return getWeekBasedYear(date2);},"%H":function H(date2){return leadingNulls(date2.tm_hour,2);},"%I":function I(date2){var twelveHour=date2.tm_hour;if(twelveHour==0)twelveHour=12;else if(twelveHour>12)twelveHour-=12;return leadingNulls(twelveHour,2);},"%j":function j(date2){return leadingNulls(date2.tm_mday+__arraySum(__isLeapYear(date2.tm_year+1900)?__MONTH_DAYS_LEAP:__MONTH_DAYS_REGULAR,date2.tm_mon-1),3);},"%m":function m(date2){return leadingNulls(date2.tm_mon+1,2);},"%M":function M(date2){return leadingNulls(date2.tm_min,2);},"%n":function n(){return"\n";},"%p":function p(date2){if(date2.tm_hour>=0&&date2.tm_hour<12){return"AM";}return"PM";},"%S":function S(date2){return leadingNulls(date2.tm_sec,2);},"%t":function t(){return" ";},"%u":function u(date2){return date2.tm_wday||7;},"%U":function U(date2){var days=date2.tm_yday+7-date2.tm_wday;return leadingNulls(Math.floor(days/7),2);},"%V":function V(date2){var val=Math.floor((date2.tm_yday+7-(date2.tm_wday+6)%7)/7);if((date2.tm_wday+371-date2.tm_yday-2)%7<=2){val++;}if(!val){val=52;var dec31=(date2.tm_wday+7-date2.tm_yday-1)%7;if(dec31==4||dec31==5&&__isLeapYear(date2.tm_year%400-1)){val++;}}else if(val==53){var jan1=(date2.tm_wday+371-date2.tm_yday)%7;if(jan1!=4&&(jan1!=3||!__isLeapYear(date2.tm_year)))val=1;}return leadingNulls(val,2);},"%w":function w(date2){return date2.tm_wday;},"%W":function W(date2){var days=date2.tm_yday+7-(date2.tm_wday+6)%7;return leadingNulls(Math.floor(days/7),2);},"%y":function y(date2){return(date2.tm_year+1900).toString().substring(2);},"%Y":function Y(date2){return date2.tm_year+1900;},"%z":function z(date2){var off=date2.tm_gmtoff;var ahead=off>=0;off=Math.abs(off)/60;off=off/60*100+off%60;return(ahead?"+":"-")+String("0000"+off).slice(-4);},"%Z":function Z(date2){return date2.tm_zone;},"%%":function _(){return"%";}};pattern=pattern.replace(/%%/g,"\0\0");for(var rule in EXPANSION_RULES_2){if(pattern.includes(rule)){pattern=pattern.replace(new RegExp(rule,"g"),EXPANSION_RULES_2[rule](date));}}pattern=pattern.replace(/\0\0/g,"%");var bytes=intArrayFromString(pattern,false);if(bytes.length>maxsize){return 0;}writeArrayToMemory(bytes,s);return bytes.length-1;}function _strftime_l(s,maxsize,format,tm,loc){return _strftime(s,maxsize,format,tm);}PThread.init();var FSNode=function FSNode(parent,name,mode,rdev){if(!parent){parent=this;}this.parent=parent;this.mount=parent.mount;this.mounted=null;this.id=FS.nextInode++;this.name=name;this.mode=mode;this.node_ops={};this.stream_ops={};this.rdev=rdev;};var readMode=292|73;var writeMode=146;Object.defineProperties(FSNode.prototype,{read:{get:function get(){return(this.mode&readMode)===readMode;},set:function set(val){val?this.mode|=readMode:this.mode&=~readMode;}},write:{get:function get(){return(this.mode&writeMode)===writeMode;},set:function set(val){val?this.mode|=writeMode:this.mode&=~writeMode;}},isFolder:{get:function get(){return FS.isDir(this.mode);}},isDevice:{get:function get(){return FS.isChrdev(this.mode);}}});FS.FSNode=FSNode;FS.staticInit();InternalError=Module["InternalError"]=extendError(Error,"InternalError");embind_init_charCodes();BindingError=Module["BindingError"]=extendError(Error,"BindingError");init_ClassHandle();init_embind();init_RegisteredPointer();UnboundTypeError=Module["UnboundTypeError"]=extendError(Error,"UnboundTypeError");init_emval();var proxiedFunctionTable=[null,_proc_exit,exitOnMainThread,_environ_get,_environ_sizes_get,_fd_close,_fd_read,_fd_seek,_fd_write];var wasmImports={"g":___cxa_throw,"T":___emscripten_init_main_thread_js,"J":___emscripten_thread_cleanup,"X":__dlinit,"_":__dlopen_js,"Z":__dlsym_catchup_js,"da":__embind_finalize_value_array,"q":__embind_finalize_value_object,"H":__embind_register_bigint,"ba":__embind_register_bool,"p":__embind_register_class,"o":__embind_register_class_constructor,"c":__embind_register_class_function,"aa":__embind_register_emval,"D":__embind_register_enum,"t":__embind_register_enum_value,"B":__embind_register_float,"d":__embind_register_function,"s":__embind_register_integer,"i":__embind_register_memory_view,"C":__embind_register_std_string,"x":__embind_register_std_wstring,"ea":__embind_register_value_array,"j":__embind_register_value_array_element,"r":__embind_register_value_object,"f":__embind_register_value_object_field,"ca":__embind_register_void,"Y":__emscripten_err,"V":__emscripten_notify_task_queue,"S":__emscripten_set_offscreencanvas_size,"n":__emval_as,"z":__emval_call,"b":__emval_decref,"F":__emval_get_global,"l":__emval_get_property,"u":__emval_incref,"ga":__emval_instanceof,"y":__emval_is_number,"E":__emval_is_string,"fa":__emval_new_array,"h":__emval_new_cstring,"w":__emval_new_object,"m":__emval_run_destructors,"k":__emval_set_property,"e":__emval_take_value,"A":_abort,"U":_emscripten_check_blocking_allowed,"v":_emscripten_get_now,"W":_emscripten_memcpy_big,"R":_emscripten_receive_on_main_thread_js,"P":_emscripten_resize_heap,"$":_emscripten_unwind_to_js_event_loop,"L":_environ_get,"M":_environ_sizes_get,"I":_exit,"N":_fd_close,"O":_fd_read,"G":_fd_seek,"Q":_fd_write,"a":wasmMemory||Module["wasmMemory"],"K":_strftime_l};createWasm();var _malloc2=function _malloc(){return(_malloc2=Module["asm"]["ja"]).apply(null,arguments);};Module["__emscripten_tls_init"]=function(){return(Module["__emscripten_tls_init"]=Module["asm"]["ka"]).apply(null,arguments);};var _pthread_self=Module["_pthread_self"]=function(){return(_pthread_self=Module["_pthread_self"]=Module["asm"]["la"]).apply(null,arguments);};var ___getTypeName=Module["___getTypeName"]=function(){return(___getTypeName=Module["___getTypeName"]=Module["asm"]["ma"]).apply(null,arguments);};Module["__embind_initialize_bindings"]=function(){return(Module["__embind_initialize_bindings"]=Module["asm"]["na"]).apply(null,arguments);};var __emscripten_thread_init=Module["__emscripten_thread_init"]=function(){return(__emscripten_thread_init=Module["__emscripten_thread_init"]=Module["asm"]["oa"]).apply(null,arguments);};Module["__emscripten_thread_crashed"]=function(){return(Module["__emscripten_thread_crashed"]=Module["asm"]["pa"]).apply(null,arguments);};var _emscripten_run_in_main_runtime_thread_js2=function _emscripten_run_in_main_runtime_thread_js(){return(_emscripten_run_in_main_runtime_thread_js2=Module["asm"]["qa"]).apply(null,arguments);};var __emscripten_proxy_execute_task_queue=Module["__emscripten_proxy_execute_task_queue"]=function(){return(__emscripten_proxy_execute_task_queue=Module["__emscripten_proxy_execute_task_queue"]=Module["asm"]["ra"]).apply(null,arguments);};var _emscripten_thread_free_data=function __emscripten_thread_free_data(){return(_emscripten_thread_free_data=Module["asm"]["sa"]).apply(null,arguments);};var __emscripten_thread_exit=Module["__emscripten_thread_exit"]=function(){return(__emscripten_thread_exit=Module["__emscripten_thread_exit"]=Module["asm"]["ta"]).apply(null,arguments);};var _free2=function _free(){return(_free2=Module["asm"]["ua"]).apply(null,arguments);};var _emscripten_stack_set_limits2=function _emscripten_stack_set_limits(){return(_emscripten_stack_set_limits2=Module["asm"]["va"]).apply(null,arguments);};var _stackSave=function stackSave(){return(_stackSave=Module["asm"]["wa"]).apply(null,arguments);};var _stackRestore=function stackRestore(){return(_stackRestore=Module["asm"]["xa"]).apply(null,arguments);};var _stackAlloc=function stackAlloc(){return(_stackAlloc=Module["asm"]["ya"]).apply(null,arguments);};var _cxa_is_pointer_type=function ___cxa_is_pointer_type(){return(_cxa_is_pointer_type=Module["asm"]["za"]).apply(null,arguments);};Module["dynCall_jiji"]=function(){return(Module["dynCall_jiji"]=Module["asm"]["Aa"]).apply(null,arguments);};Module["dynCall_viijii"]=function(){return(Module["dynCall_viijii"]=Module["asm"]["Ba"]).apply(null,arguments);};Module["dynCall_iiiiij"]=function(){return(Module["dynCall_iiiiij"]=Module["asm"]["Ca"]).apply(null,arguments);};Module["dynCall_iiiiijj"]=function(){return(Module["dynCall_iiiiijj"]=Module["asm"]["Da"]).apply(null,arguments);};Module["dynCall_iiiiiijj"]=function(){return(Module["dynCall_iiiiiijj"]=Module["asm"]["Ea"]).apply(null,arguments);};Module["keepRuntimeAlive"]=keepRuntimeAlive;Module["wasmMemory"]=wasmMemory;Module["ExitStatus"]=ExitStatus;Module["PThread"]=PThread;var calledRun;dependenciesFulfilled=function runCaller(){if(!calledRun)run();if(!calledRun)dependenciesFulfilled=runCaller;};function run(){if(runDependencies>0){return;}if(ENVIRONMENT_IS_PTHREAD){readyPromiseResolve(Module);initRuntime();startWorker(Module);return;}preRun();if(runDependencies>0){return;}function doRun(){if(calledRun)return;calledRun=true;Module["calledRun"]=true;if(ABORT)return;initRuntime();readyPromiseResolve(Module);if(Module["onRuntimeInitialized"])Module["onRuntimeInitialized"]();postRun();}if(Module["setStatus"]){Module["setStatus"]("Running...");setTimeout(function(){setTimeout(function(){Module["setStatus"]("");},1);doRun();},1);}else{doRun();}}if(Module["preInit"]){if(typeof Module["preInit"]=="function")Module["preInit"]=[Module["preInit"]];while(Module["preInit"].length>0){Module["preInit"].pop()();}}run();return WebIFCWasm3.ready;};}();if(_typeof(exports)==="object"&&_typeof(module)==="object")module.exports=WebIFCWasm2;else if(typeof define==="function"&&define["amd"])define([],function(){return WebIFCWasm2;});else if(_typeof(exports)==="object")exports["WebIFCWasm"]=WebIFCWasm2;}});// dist/web-ifc.js +var require_web_ifc_mt=__commonJS({"dist/web-ifc-mt.js":function distWebIfcMtJs(exports,module){var WebIFCWasm2=function(){var _scriptDir=typeof document!=="undefined"&&document.currentScript?document.currentScript.src:void 0;return function(){var WebIFCWasm3=arguments.length>0&&arguments[0]!==undefined?arguments[0]:{};function GROWABLE_HEAP_I8(){if(wasmMemory.buffer!=HEAP8.buffer){updateMemoryViews();}return HEAP8;}function GROWABLE_HEAP_U8(){if(wasmMemory.buffer!=HEAP8.buffer){updateMemoryViews();}return HEAPU8;}function GROWABLE_HEAP_I16(){if(wasmMemory.buffer!=HEAP8.buffer){updateMemoryViews();}return HEAP16;}function GROWABLE_HEAP_U16(){if(wasmMemory.buffer!=HEAP8.buffer){updateMemoryViews();}return HEAPU16;}function GROWABLE_HEAP_I32(){if(wasmMemory.buffer!=HEAP8.buffer){updateMemoryViews();}return HEAP32;}function GROWABLE_HEAP_U32(){if(wasmMemory.buffer!=HEAP8.buffer){updateMemoryViews();}return HEAPU32;}function GROWABLE_HEAP_F32(){if(wasmMemory.buffer!=HEAP8.buffer){updateMemoryViews();}return HEAPF32;}function GROWABLE_HEAP_F64(){if(wasmMemory.buffer!=HEAP8.buffer){updateMemoryViews();}return HEAPF64;}var Module=typeof WebIFCWasm3!="undefined"?WebIFCWasm3:{};var readyPromiseResolve,readyPromiseReject;Module["ready"]=new Promise(function(resolve,reject){readyPromiseResolve=resolve;readyPromiseReject=reject;});var moduleOverrides=Object.assign({},Module);var thisProgram="./this.program";var quit_=function quit_(status,toThrow){throw toThrow;};var ENVIRONMENT_IS_WEB=(typeof window==="undefined"?"undefined":_typeof(window))=="object";var ENVIRONMENT_IS_WORKER=typeof importScripts=="function";var ENVIRONMENT_IS_NODE=(typeof process==="undefined"?"undefined":_typeof(process))=="object"&&_typeof(process.versions)=="object"&&typeof process.versions.node=="string";var ENVIRONMENT_IS_PTHREAD=Module["ENVIRONMENT_IS_PTHREAD"]||false;var scriptDirectory="";function locateFile(path){if(Module["locateFile"]){return Module["locateFile"](path,scriptDirectory);}return scriptDirectory+path;}var read_,readAsync,readBinary;if(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER){if(ENVIRONMENT_IS_WORKER){scriptDirectory=self.location.href;}else if(typeof document!="undefined"&&document.currentScript){scriptDirectory=document.currentScript.src;}if(_scriptDir){scriptDirectory=_scriptDir;}if(scriptDirectory.indexOf("blob:")!==0){scriptDirectory=scriptDirectory.substr(0,scriptDirectory.replace(/[?#].*/,"").lastIndexOf("/")+1);}else{scriptDirectory="";}{read_=function read_(url){var xhr=new XMLHttpRequest();xhr.open("GET",url,false);xhr.send(null);return xhr.responseText;};if(ENVIRONMENT_IS_WORKER){readBinary=function readBinary(url){var xhr=new XMLHttpRequest();xhr.open("GET",url,false);xhr.responseType="arraybuffer";xhr.send(null);return new Uint8Array(xhr.response);};}readAsync=function readAsync(url,onload,onerror){var xhr=new XMLHttpRequest();xhr.open("GET",url,true);xhr.responseType="arraybuffer";xhr.onload=function(){if(xhr.status==200||xhr.status==0&&xhr.response){onload(xhr.response);return;}onerror();};xhr.onerror=onerror;xhr.send(null);};}}var out=Module["print"]||console.log.bind(console);var err=Module["printErr"]||console.warn.bind(console);Object.assign(Module,moduleOverrides);moduleOverrides=null;if(Module["arguments"]);if(Module["thisProgram"])thisProgram=Module["thisProgram"];if(Module["quit"])quit_=Module["quit"];var wasmBinary;if(Module["wasmBinary"])wasmBinary=Module["wasmBinary"];var noExitRuntime=Module["noExitRuntime"]||true;if((typeof WebAssembly==="undefined"?"undefined":_typeof(WebAssembly))!="object"){abort("no native wasm support detected");}var wasmMemory;var wasmModule;var ABORT=false;var EXITSTATUS;function assert(condition,text){if(!condition){abort(text);}}var UTF8Decoder=typeof TextDecoder!="undefined"?new TextDecoder("utf8"):void 0;function UTF8ArrayToString(heapOrArray,idx,maxBytesToRead){idx>>>=0;var endIdx=idx+maxBytesToRead;var endPtr=idx;while(heapOrArray[endPtr]&&!(endPtr>=endIdx)){++endPtr;}if(endPtr-idx>16&&heapOrArray.buffer&&UTF8Decoder){return UTF8Decoder.decode(heapOrArray.buffer instanceof SharedArrayBuffer?heapOrArray.slice(idx,endPtr):heapOrArray.subarray(idx,endPtr));}var str="";while(idx>10,56320|ch&1023);}}return str;}function UTF8ToString(ptr,maxBytesToRead){ptr>>>=0;return ptr?UTF8ArrayToString(GROWABLE_HEAP_U8(),ptr,maxBytesToRead):"";}function stringToUTF8Array(str,heap,outIdx,maxBytesToWrite){outIdx>>>=0;if(!(maxBytesToWrite>0))return 0;var startIdx=outIdx;var endIdx=outIdx+maxBytesToWrite-1;for(var i=0;i=55296&&u<=57343){var u1=str.charCodeAt(++i);u=65536+((u&1023)<<10)|u1&1023;}if(u<=127){if(outIdx>=endIdx)break;heap[outIdx++>>>0]=u;}else if(u<=2047){if(outIdx+1>=endIdx)break;heap[outIdx++>>>0]=192|u>>6;heap[outIdx++>>>0]=128|u&63;}else if(u<=65535){if(outIdx+2>=endIdx)break;heap[outIdx++>>>0]=224|u>>12;heap[outIdx++>>>0]=128|u>>6&63;heap[outIdx++>>>0]=128|u&63;}else{if(outIdx+3>=endIdx)break;heap[outIdx++>>>0]=240|u>>18;heap[outIdx++>>>0]=128|u>>12&63;heap[outIdx++>>>0]=128|u>>6&63;heap[outIdx++>>>0]=128|u&63;}}heap[outIdx>>>0]=0;return outIdx-startIdx;}function stringToUTF8(str,outPtr,maxBytesToWrite){return stringToUTF8Array(str,GROWABLE_HEAP_U8(),outPtr,maxBytesToWrite);}function lengthBytesUTF8(str){var len=0;for(var i=0;i=55296&&c<=57343){len+=4;++i;}else{len+=3;}}return len;}var HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAPF64;function updateMemoryViews(){var b=wasmMemory.buffer;Module["HEAP8"]=HEAP8=new Int8Array(b);Module["HEAP16"]=HEAP16=new Int16Array(b);Module["HEAP32"]=HEAP32=new Int32Array(b);Module["HEAPU8"]=HEAPU8=new Uint8Array(b);Module["HEAPU16"]=HEAPU16=new Uint16Array(b);Module["HEAPU32"]=HEAPU32=new Uint32Array(b);Module["HEAPF32"]=HEAPF32=new Float32Array(b);Module["HEAPF64"]=HEAPF64=new Float64Array(b);}var INITIAL_MEMORY=Module["INITIAL_MEMORY"]||16777216;assert(INITIAL_MEMORY>=5242880,"INITIAL_MEMORY should be larger than STACK_SIZE, was "+INITIAL_MEMORY+"! (STACK_SIZE="+5242880+")");if(ENVIRONMENT_IS_PTHREAD){wasmMemory=Module["wasmMemory"];}else{if(Module["wasmMemory"]){wasmMemory=Module["wasmMemory"];}else{wasmMemory=new WebAssembly.Memory({"initial":INITIAL_MEMORY/65536,"maximum":4294967296/65536,"shared":true});if(!(wasmMemory.buffer instanceof SharedArrayBuffer)){err("requested a shared WebAssembly.Memory but the returned buffer is not a SharedArrayBuffer, indicating that while the browser has SharedArrayBuffer it does not have WebAssembly threads support - you may need to set a flag");if(ENVIRONMENT_IS_NODE){err("(on node you may need: --experimental-wasm-threads --experimental-wasm-bulk-memory and/or recent version)");}throw Error("bad memory");}}}updateMemoryViews();INITIAL_MEMORY=wasmMemory.buffer.byteLength;var wasmTable;var __ATPRERUN__=[];var __ATINIT__=[];var __ATPOSTRUN__=[];function keepRuntimeAlive(){return noExitRuntime;}function preRun(){if(Module["preRun"]){if(typeof Module["preRun"]=="function")Module["preRun"]=[Module["preRun"]];while(Module["preRun"].length){addOnPreRun(Module["preRun"].shift());}}callRuntimeCallbacks(__ATPRERUN__);}function initRuntime(){if(ENVIRONMENT_IS_PTHREAD)return;if(!Module["noFSInit"]&&!FS.init.initialized)FS.init();FS.ignorePermissions=false;callRuntimeCallbacks(__ATINIT__);}function postRun(){if(ENVIRONMENT_IS_PTHREAD)return;if(Module["postRun"]){if(typeof Module["postRun"]=="function")Module["postRun"]=[Module["postRun"]];while(Module["postRun"].length){addOnPostRun(Module["postRun"].shift());}}callRuntimeCallbacks(__ATPOSTRUN__);}function addOnPreRun(cb){__ATPRERUN__.unshift(cb);}function addOnInit(cb){__ATINIT__.unshift(cb);}function addOnPostRun(cb){__ATPOSTRUN__.unshift(cb);}var runDependencies=0;var dependenciesFulfilled=null;function getUniqueRunDependency(id){return id;}function addRunDependency(id){runDependencies++;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies);}}function removeRunDependency(id){runDependencies--;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies);}if(runDependencies==0){if(dependenciesFulfilled){var callback=dependenciesFulfilled;dependenciesFulfilled=null;callback();}}}function abort(what){if(Module["onAbort"]){Module["onAbort"](what);}what="Aborted("+what+")";err(what);ABORT=true;EXITSTATUS=1;what+=". Build with -sASSERTIONS for more info.";var e=new WebAssembly.RuntimeError(what);readyPromiseReject(e);throw e;}var dataURIPrefix="data:application/octet-stream;base64,";function isDataURI(filename){return filename.startsWith(dataURIPrefix);}var wasmBinaryFile;wasmBinaryFile="web-ifc-mt.wasm";if(!isDataURI(wasmBinaryFile)){wasmBinaryFile=locateFile(wasmBinaryFile);}function getBinary(file){try{if(file==wasmBinaryFile&&wasmBinary){return new Uint8Array(wasmBinary);}if(readBinary){return readBinary(file);}throw"both async and sync fetching of the wasm failed";}catch(err2){abort(err2);}}function getBinaryPromise(){if(!wasmBinary&&(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER)){if(typeof fetch=="function"){return fetch(wasmBinaryFile,{credentials:"same-origin"}).then(function(response){if(!response["ok"]){throw"failed to load wasm binary file at '"+wasmBinaryFile+"'";}return response["arrayBuffer"]();})["catch"](function(){return getBinary(wasmBinaryFile);});}}return Promise.resolve().then(function(){return getBinary(wasmBinaryFile);});}function createWasm(){var info={"a":wasmImports};function receiveInstance(instance,module2){var exports3=instance.exports;Module["asm"]=exports3;registerTLSInit(Module["asm"]["ka"]);wasmTable=Module["asm"]["ia"];addOnInit(Module["asm"]["ha"]);wasmModule=module2;PThread.loadWasmModuleToAllWorkers(function(){return removeRunDependency();});}addRunDependency();function receiveInstantiationResult(result){receiveInstance(result["instance"],result["module"]);}function instantiateArrayBuffer(receiver){return getBinaryPromise().then(function(binary){return WebAssembly.instantiate(binary,info);}).then(function(instance){return instance;}).then(receiver,function(reason){err("failed to asynchronously prepare wasm: "+reason);abort(reason);});}function instantiateAsync(){if(!wasmBinary&&typeof WebAssembly.instantiateStreaming=="function"&&!isDataURI(wasmBinaryFile)&&typeof fetch=="function"){return fetch(wasmBinaryFile,{credentials:"same-origin"}).then(function(response){var result=WebAssembly.instantiateStreaming(response,info);return result.then(receiveInstantiationResult,function(reason){err("wasm streaming compile failed: "+reason);err("falling back to ArrayBuffer instantiation");return instantiateArrayBuffer(receiveInstantiationResult);});});}else{return instantiateArrayBuffer(receiveInstantiationResult);}}if(Module["instantiateWasm"]){try{var exports2=Module["instantiateWasm"](info,receiveInstance);return exports2;}catch(e){err("Module.instantiateWasm callback failed with error: "+e);readyPromiseReject(e);}}instantiateAsync()["catch"](readyPromiseReject);return{};}var tempDouble;var tempI64;function ExitStatus(status){this.name="ExitStatus";this.message="Program terminated with exit("+status+")";this.status=status;}function killThread(pthread_ptr){var worker=PThread.pthreads[pthread_ptr];delete PThread.pthreads[pthread_ptr];worker.terminate();_emscripten_thread_free_data(pthread_ptr);PThread.runningWorkers.splice(PThread.runningWorkers.indexOf(worker),1);worker.pthread_ptr=0;}function cancelThread(pthread_ptr){var worker=PThread.pthreads[pthread_ptr];worker.postMessage({"cmd":"cancel"});}function cleanupThread(pthread_ptr){var worker=PThread.pthreads[pthread_ptr];assert(worker);PThread.returnWorkerToPool(worker);}function spawnThread(threadParams){var worker=PThread.getNewWorker();if(!worker){return 6;}PThread.runningWorkers.push(worker);PThread.pthreads[threadParams.pthread_ptr]=worker;worker.pthread_ptr=threadParams.pthread_ptr;var msg={"cmd":"run","start_routine":threadParams.startRoutine,"arg":threadParams.arg,"pthread_ptr":threadParams.pthread_ptr};worker.postMessage(msg,threadParams.transferList);return 0;}var PATH={isAbs:function isAbs(path){return path.charAt(0)==="/";},splitPath:function splitPath(filename){var splitPathRe=/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/;return splitPathRe.exec(filename).slice(1);},normalizeArray:function normalizeArray(parts,allowAboveRoot){var up=0;for(var i=parts.length-1;i>=0;i--){var last=parts[i];if(last==="."){parts.splice(i,1);}else if(last===".."){parts.splice(i,1);up++;}else if(up){parts.splice(i,1);up--;}}if(allowAboveRoot){for(;up;up--){parts.unshift("..");}}return parts;},normalize:function normalize(path){var isAbsolute=PATH.isAbs(path),trailingSlash=path.substr(-1)==="/";path=PATH.normalizeArray(path.split("/").filter(function(p){return!!p;}),!isAbsolute).join("/");if(!path&&!isAbsolute){path=".";}if(path&&trailingSlash){path+="/";}return(isAbsolute?"/":"")+path;},dirname:function dirname(path){var result=PATH.splitPath(path),root=result[0],dir=result[1];if(!root&&!dir){return".";}if(dir){dir=dir.substr(0,dir.length-1);}return root+dir;},basename:function basename(path){if(path==="/")return"/";path=PATH.normalize(path);path=path.replace(/\/$/,"");var lastSlash=path.lastIndexOf("/");if(lastSlash===-1)return path;return path.substr(lastSlash+1);},join:function join(){var paths=Array.prototype.slice.call(arguments);return PATH.normalize(paths.join("/"));},join2:function join2(l,r){return PATH.normalize(l+"/"+r);}};function getRandomDevice(){if((typeof crypto==="undefined"?"undefined":_typeof(crypto))=="object"&&typeof crypto["getRandomValues"]=="function"){var randomBuffer=new Uint8Array(1);return function(){crypto.getRandomValues(randomBuffer);return randomBuffer[0];};}else return function(){return abort("randomDevice");};}var PATH_FS={resolve:function resolve(){var resolvedPath="",resolvedAbsolute=false;for(var i=arguments.length-1;i>=-1&&!resolvedAbsolute;i--){var path=i>=0?arguments[i]:FS.cwd();if(typeof path!="string"){throw new TypeError("Arguments to path.resolve must be strings");}else if(!path){return"";}resolvedPath=path+"/"+resolvedPath;resolvedAbsolute=PATH.isAbs(path);}resolvedPath=PATH.normalizeArray(resolvedPath.split("/").filter(function(p){return!!p;}),!resolvedAbsolute).join("/");return(resolvedAbsolute?"/":"")+resolvedPath||".";},relative:function relative(from,to){from=PATH_FS.resolve(from).substr(1);to=PATH_FS.resolve(to).substr(1);function trim(arr){var start=0;for(;start=0;end--){if(arr[end]!=="")break;}if(start>end)return[];return arr.slice(start,end-start+1);}var fromParts=trim(from.split("/"));var toParts=trim(to.split("/"));var length=Math.min(fromParts.length,toParts.length);var samePartsLength=length;for(var i=0;i0?length:lengthBytesUTF8(stringy)+1;var u8array=new Array(len);var numBytesWritten=stringToUTF8Array(stringy,u8array,0,u8array.length);if(dontAddNull)u8array.length=numBytesWritten;return u8array;}var TTY={ttys:[],init:function init(){},shutdown:function shutdown(){},register:function register(dev,ops){TTY.ttys[dev]={input:[],output:[],ops:ops};FS.registerDevice(dev,TTY.stream_ops);},stream_ops:{open:function open(stream){var tty=TTY.ttys[stream.node.rdev];if(!tty){throw new FS.ErrnoError(43);}stream.tty=tty;stream.seekable=false;},close:function close(stream){stream.tty.ops.fsync(stream.tty);},fsync:function fsync(stream){stream.tty.ops.fsync(stream.tty);},read:function read(stream,buffer,offset,length,pos){if(!stream.tty||!stream.tty.ops.get_char){throw new FS.ErrnoError(60);}var bytesRead=0;for(var i=0;i0){out(UTF8ArrayToString(tty.output,0));tty.output=[];}}},default_tty1_ops:{put_char:function put_char(tty,val){if(val===null||val===10){err(UTF8ArrayToString(tty.output,0));tty.output=[];}else{if(val!=0)tty.output.push(val);}},fsync:function fsync(tty){if(tty.output&&tty.output.length>0){err(UTF8ArrayToString(tty.output,0));tty.output=[];}}}};function mmapAlloc(size){abort();}var MEMFS={ops_table:null,mount:function mount(_mount){return MEMFS.createNode(null,"/",16384|511,0);},createNode:function createNode(parent,name,mode,dev){if(FS.isBlkdev(mode)||FS.isFIFO(mode)){throw new FS.ErrnoError(63);}if(!MEMFS.ops_table){MEMFS.ops_table={dir:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr,lookup:MEMFS.node_ops.lookup,mknod:MEMFS.node_ops.mknod,rename:MEMFS.node_ops.rename,unlink:MEMFS.node_ops.unlink,rmdir:MEMFS.node_ops.rmdir,readdir:MEMFS.node_ops.readdir,symlink:MEMFS.node_ops.symlink},stream:{llseek:MEMFS.stream_ops.llseek}},file:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr},stream:{llseek:MEMFS.stream_ops.llseek,read:MEMFS.stream_ops.read,write:MEMFS.stream_ops.write,allocate:MEMFS.stream_ops.allocate,mmap:MEMFS.stream_ops.mmap,msync:MEMFS.stream_ops.msync}},link:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr,readlink:MEMFS.node_ops.readlink},stream:{}},chrdev:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr},stream:FS.chrdev_stream_ops}};}var node=FS.createNode(parent,name,mode,dev);if(FS.isDir(node.mode)){node.node_ops=MEMFS.ops_table.dir.node;node.stream_ops=MEMFS.ops_table.dir.stream;node.contents={};}else if(FS.isFile(node.mode)){node.node_ops=MEMFS.ops_table.file.node;node.stream_ops=MEMFS.ops_table.file.stream;node.usedBytes=0;node.contents=null;}else if(FS.isLink(node.mode)){node.node_ops=MEMFS.ops_table.link.node;node.stream_ops=MEMFS.ops_table.link.stream;}else if(FS.isChrdev(node.mode)){node.node_ops=MEMFS.ops_table.chrdev.node;node.stream_ops=MEMFS.ops_table.chrdev.stream;}node.timestamp=Date.now();if(parent){parent.contents[name]=node;parent.timestamp=node.timestamp;}return node;},getFileDataAsTypedArray:function getFileDataAsTypedArray(node){if(!node.contents)return new Uint8Array(0);if(node.contents.subarray)return node.contents.subarray(0,node.usedBytes);return new Uint8Array(node.contents);},expandFileStorage:function expandFileStorage(node,newCapacity){newCapacity>>>=0;var prevCapacity=node.contents?node.contents.length:0;if(prevCapacity>=newCapacity)return;var CAPACITY_DOUBLING_MAX=1024*1024;newCapacity=Math.max(newCapacity,prevCapacity*(prevCapacity>>0);if(prevCapacity!=0)newCapacity=Math.max(newCapacity,256);var oldContents=node.contents;node.contents=new Uint8Array(newCapacity);if(node.usedBytes>0)node.contents.set(oldContents.subarray(0,node.usedBytes),0);},resizeFileStorage:function resizeFileStorage(node,newSize){newSize>>>=0;if(node.usedBytes==newSize)return;if(newSize==0){node.contents=null;node.usedBytes=0;}else{var oldContents=node.contents;node.contents=new Uint8Array(newSize);if(oldContents){node.contents.set(oldContents.subarray(0,Math.min(newSize,node.usedBytes)));}node.usedBytes=newSize;}},node_ops:{getattr:function getattr(node){var attr={};attr.dev=FS.isChrdev(node.mode)?node.id:1;attr.ino=node.id;attr.mode=node.mode;attr.nlink=1;attr.uid=0;attr.gid=0;attr.rdev=node.rdev;if(FS.isDir(node.mode)){attr.size=4096;}else if(FS.isFile(node.mode)){attr.size=node.usedBytes;}else if(FS.isLink(node.mode)){attr.size=node.link.length;}else{attr.size=0;}attr.atime=new Date(node.timestamp);attr.mtime=new Date(node.timestamp);attr.ctime=new Date(node.timestamp);attr.blksize=4096;attr.blocks=Math.ceil(attr.size/attr.blksize);return attr;},setattr:function setattr(node,attr){if(attr.mode!==void 0){node.mode=attr.mode;}if(attr.timestamp!==void 0){node.timestamp=attr.timestamp;}if(attr.size!==void 0){MEMFS.resizeFileStorage(node,attr.size);}},lookup:function lookup(parent,name){throw FS.genericErrors[44];},mknod:function mknod(parent,name,mode,dev){return MEMFS.createNode(parent,name,mode,dev);},rename:function rename(old_node,new_dir,new_name){if(FS.isDir(old_node.mode)){var new_node;try{new_node=FS.lookupNode(new_dir,new_name);}catch(e){}if(new_node){for(var i in new_node.contents){throw new FS.ErrnoError(55);}}}delete old_node.parent.contents[old_node.name];old_node.parent.timestamp=Date.now();old_node.name=new_name;new_dir.contents[new_name]=old_node;new_dir.timestamp=old_node.parent.timestamp;old_node.parent=new_dir;},unlink:function unlink(parent,name){delete parent.contents[name];parent.timestamp=Date.now();},rmdir:function rmdir(parent,name){var node=FS.lookupNode(parent,name);for(var i in node.contents){throw new FS.ErrnoError(55);}delete parent.contents[name];parent.timestamp=Date.now();},readdir:function readdir(node){var entries=[".",".."];for(var key in node.contents){if(!node.contents.hasOwnProperty(key)){continue;}entries.push(key);}return entries;},symlink:function symlink(parent,newname,oldpath){var node=MEMFS.createNode(parent,newname,511|40960,0);node.link=oldpath;return node;},readlink:function readlink(node){if(!FS.isLink(node.mode)){throw new FS.ErrnoError(28);}return node.link;}},stream_ops:{read:function read(stream,buffer,offset,length,position){var contents=stream.node.contents;if(position>=stream.node.usedBytes)return 0;var size=Math.min(stream.node.usedBytes-position,length);if(size>8&&contents.subarray){buffer.set(contents.subarray(position,position+size),offset);}else{for(var i=0;i0||position+length>>=0;GROWABLE_HEAP_I8().set(contents,ptr>>>0);}return{ptr:ptr,allocated:allocated};},msync:function msync(stream,buffer,offset,length,mmapFlags){MEMFS.stream_ops.write(stream,buffer,0,length,offset,false);return 0;}}};function asyncLoad(url,onload,onerror,noRunDep){var dep=!noRunDep?getUniqueRunDependency("al "+url):"";readAsync(url,function(arrayBuffer){assert(arrayBuffer,'Loading data file "'+url+'" failed (no arrayBuffer).');onload(new Uint8Array(arrayBuffer));if(dep)removeRunDependency();},function(event){if(onerror){onerror();}else{throw'Loading data file "'+url+'" failed.';}});if(dep)addRunDependency();}var FS={root:null,mounts:[],devices:{},streams:[],nextInode:1,nameTable:null,currentPath:"/",initialized:false,ignorePermissions:true,ErrnoError:null,genericErrors:{},filesystems:null,syncFSRequests:0,lookupPath:function lookupPath(path){var opts=arguments.length>1&&arguments[1]!==undefined?arguments[1]:{};path=PATH_FS.resolve(path);if(!path)return{path:"",node:null};var defaults={follow_mount:true,recurse_count:0};opts=Object.assign(defaults,opts);if(opts.recurse_count>8){throw new FS.ErrnoError(32);}var parts=path.split("/").filter(function(p){return!!p;});var current=FS.root;var current_path="/";for(var i=0;i40){throw new FS.ErrnoError(32);}}}}return{path:current_path,node:current};},getPath:function getPath(node){var path;while(true){if(FS.isRoot(node)){var mount=node.mount.mountpoint;if(!path)return mount;return mount[mount.length-1]!=="/"?mount+"/"+path:mount+path;}path=path?node.name+"/"+path:node.name;node=node.parent;}},hashName:function hashName(parentid,name){var hash=0;for(var i=0;i>>0)%FS.nameTable.length;},hashAddNode:function hashAddNode(node){var hash=FS.hashName(node.parent.id,node.name);node.name_next=FS.nameTable[hash];FS.nameTable[hash]=node;},hashRemoveNode:function hashRemoveNode(node){var hash=FS.hashName(node.parent.id,node.name);if(FS.nameTable[hash]===node){FS.nameTable[hash]=node.name_next;}else{var current=FS.nameTable[hash];while(current){if(current.name_next===node){current.name_next=node.name_next;break;}current=current.name_next;}}},lookupNode:function lookupNode(parent,name){var errCode=FS.mayLookup(parent);if(errCode){throw new FS.ErrnoError(errCode,parent);}var hash=FS.hashName(parent.id,name);for(var node=FS.nameTable[hash];node;node=node.name_next){var nodeName=node.name;if(node.parent.id===parent.id&&nodeName===name){return node;}}return FS.lookup(parent,name);},createNode:function createNode(parent,name,mode,rdev){var node=new FS.FSNode(parent,name,mode,rdev);FS.hashAddNode(node);return node;},destroyNode:function destroyNode(node){FS.hashRemoveNode(node);},isRoot:function isRoot(node){return node===node.parent;},isMountpoint:function isMountpoint(node){return!!node.mounted;},isFile:function isFile(mode){return(mode&61440)===32768;},isDir:function isDir(mode){return(mode&61440)===16384;},isLink:function isLink(mode){return(mode&61440)===40960;},isChrdev:function isChrdev(mode){return(mode&61440)===8192;},isBlkdev:function isBlkdev(mode){return(mode&61440)===24576;},isFIFO:function isFIFO(mode){return(mode&61440)===4096;},isSocket:function isSocket(mode){return(mode&49152)===49152;},flagModes:{"r":0,"r+":2,"w":577,"w+":578,"a":1089,"a+":1090},modeStringToFlags:function modeStringToFlags(str){var flags=FS.flagModes[str];if(typeof flags=="undefined"){throw new Error("Unknown file open mode: "+str);}return flags;},flagsToPermissionString:function flagsToPermissionString(flag){var perms=["r","w","rw"][flag&3];if(flag&512){perms+="w";}return perms;},nodePermissions:function nodePermissions(node,perms){if(FS.ignorePermissions){return 0;}if(perms.includes("r")&&!(node.mode&292)){return 2;}else if(perms.includes("w")&&!(node.mode&146)){return 2;}else if(perms.includes("x")&&!(node.mode&73)){return 2;}return 0;},mayLookup:function mayLookup(dir){var errCode=FS.nodePermissions(dir,"x");if(errCode)return errCode;if(!dir.node_ops.lookup)return 2;return 0;},mayCreate:function mayCreate(dir,name){try{var node=FS.lookupNode(dir,name);return 20;}catch(e){}return FS.nodePermissions(dir,"wx");},mayDelete:function mayDelete(dir,name,isdir){var node;try{node=FS.lookupNode(dir,name);}catch(e){return e.errno;}var errCode=FS.nodePermissions(dir,"wx");if(errCode){return errCode;}if(isdir){if(!FS.isDir(node.mode)){return 54;}if(FS.isRoot(node)||FS.getPath(node)===FS.cwd()){return 10;}}else{if(FS.isDir(node.mode)){return 31;}}return 0;},mayOpen:function mayOpen(node,flags){if(!node){return 44;}if(FS.isLink(node.mode)){return 32;}else if(FS.isDir(node.mode)){if(FS.flagsToPermissionString(flags)!=="r"||flags&512){return 31;}}return FS.nodePermissions(node,FS.flagsToPermissionString(flags));},MAX_OPEN_FDS:4096,nextfd:function nextfd(){var fd_start=arguments.length>0&&arguments[0]!==undefined?arguments[0]:0;var fd_end=arguments.length>1&&arguments[1]!==undefined?arguments[1]:FS.MAX_OPEN_FDS;for(var fd=fd_start;fd<=fd_end;fd++){if(!FS.streams[fd]){return fd;}}throw new FS.ErrnoError(33);},getStream:function getStream(fd){return FS.streams[fd];},createStream:function createStream(stream,fd_start,fd_end){if(!FS.FSStream){FS.FSStream=function(){this.shared={};};FS.FSStream.prototype={};Object.defineProperties(FS.FSStream.prototype,{object:{get:function get(){return this.node;},set:function set(val){this.node=val;}},isRead:{get:function get(){return(this.flags&2097155)!==1;}},isWrite:{get:function get(){return(this.flags&2097155)!==0;}},isAppend:{get:function get(){return this.flags&1024;}},flags:{get:function get(){return this.shared.flags;},set:function set(val){this.shared.flags=val;}},position:{get:function get(){return this.shared.position;},set:function set(val){this.shared.position=val;}}});}stream=Object.assign(new FS.FSStream(),stream);var fd=FS.nextfd(fd_start,fd_end);stream.fd=fd;FS.streams[fd]=stream;return stream;},closeStream:function closeStream(fd){FS.streams[fd]=null;},chrdev_stream_ops:{open:function open(stream){var device=FS.getDevice(stream.node.rdev);stream.stream_ops=device.stream_ops;if(stream.stream_ops.open){stream.stream_ops.open(stream);}},llseek:function llseek(){throw new FS.ErrnoError(70);}},major:function major(dev){return dev>>8;},minor:function minor(dev){return dev&255;},makedev:function makedev(ma,mi){return ma<<8|mi;},registerDevice:function registerDevice(dev,ops){FS.devices[dev]={stream_ops:ops};},getDevice:function getDevice(dev){return FS.devices[dev];},getMounts:function getMounts(mount){var mounts=[];var check=[mount];while(check.length){var m=check.pop();mounts.push(m);check.push.apply(check,m.mounts);}return mounts;},syncfs:function syncfs(populate,callback){if(typeof populate=="function"){callback=populate;populate=false;}FS.syncFSRequests++;if(FS.syncFSRequests>1){err("warning: "+FS.syncFSRequests+" FS.syncfs operations in flight at once, probably just doing extra work");}var mounts=FS.getMounts(FS.root.mount);var completed=0;function doCallback(errCode){FS.syncFSRequests--;return callback(errCode);}function done(errCode){if(errCode){if(!done.errored){done.errored=true;return doCallback(errCode);}return;}if(++completed>=mounts.length){doCallback(null);}}mounts.forEach(function(mount){if(!mount.type.syncfs){return done(null);}mount.type.syncfs(mount,populate,done);});},mount:function mount(type,opts,mountpoint){var root=mountpoint==="/";var pseudo=!mountpoint;var node;if(root&&FS.root){throw new FS.ErrnoError(10);}else if(!root&&!pseudo){var lookup=FS.lookupPath(mountpoint,{follow_mount:false});mountpoint=lookup.path;node=lookup.node;if(FS.isMountpoint(node)){throw new FS.ErrnoError(10);}if(!FS.isDir(node.mode)){throw new FS.ErrnoError(54);}}var mount={type:type,opts:opts,mountpoint:mountpoint,mounts:[]};var mountRoot=type.mount(mount);mountRoot.mount=mount;mount.root=mountRoot;if(root){FS.root=mountRoot;}else if(node){node.mounted=mount;if(node.mount){node.mount.mounts.push(mount);}}return mountRoot;},unmount:function unmount(mountpoint){var lookup=FS.lookupPath(mountpoint,{follow_mount:false});if(!FS.isMountpoint(lookup.node)){throw new FS.ErrnoError(28);}var node=lookup.node;var mount=node.mounted;var mounts=FS.getMounts(mount);Object.keys(FS.nameTable).forEach(function(hash){var current=FS.nameTable[hash];while(current){var next=current.name_next;if(mounts.includes(current.mount)){FS.destroyNode(current);}current=next;}});node.mounted=null;var idx=node.mount.mounts.indexOf(mount);node.mount.mounts.splice(idx,1);},lookup:function lookup(parent,name){return parent.node_ops.lookup(parent,name);},mknod:function mknod(path,mode,dev){var lookup=FS.lookupPath(path,{parent:true});var parent=lookup.node;var name=PATH.basename(path);if(!name||name==="."||name===".."){throw new FS.ErrnoError(28);}var errCode=FS.mayCreate(parent,name);if(errCode){throw new FS.ErrnoError(errCode);}if(!parent.node_ops.mknod){throw new FS.ErrnoError(63);}return parent.node_ops.mknod(parent,name,mode,dev);},create:function create(path,mode){mode=mode!==void 0?mode:438;mode&=4095;mode|=32768;return FS.mknod(path,mode,0);},mkdir:function mkdir(path,mode){mode=mode!==void 0?mode:511;mode&=511|512;mode|=16384;return FS.mknod(path,mode,0);},mkdirTree:function mkdirTree(path,mode){var dirs=path.split("/");var d="";for(var i=0;i>>=0;if(length<0||position<0){throw new FS.ErrnoError(28);}if(FS.isClosed(stream)){throw new FS.ErrnoError(8);}if((stream.flags&2097155)===1){throw new FS.ErrnoError(8);}if(FS.isDir(stream.node.mode)){throw new FS.ErrnoError(31);}if(!stream.stream_ops.read){throw new FS.ErrnoError(28);}var seeking=typeof position!="undefined";if(!seeking){position=stream.position;}else if(!stream.seekable){throw new FS.ErrnoError(70);}var bytesRead=stream.stream_ops.read(stream,buffer,offset,length,position);if(!seeking)stream.position+=bytesRead;return bytesRead;},write:function write(stream,buffer,offset,length,position,canOwn){offset>>>=0;if(length<0||position<0){throw new FS.ErrnoError(28);}if(FS.isClosed(stream)){throw new FS.ErrnoError(8);}if((stream.flags&2097155)===0){throw new FS.ErrnoError(8);}if(FS.isDir(stream.node.mode)){throw new FS.ErrnoError(31);}if(!stream.stream_ops.write){throw new FS.ErrnoError(28);}if(stream.seekable&&stream.flags&1024){FS.llseek(stream,0,2);}var seeking=typeof position!="undefined";if(!seeking){position=stream.position;}else if(!stream.seekable){throw new FS.ErrnoError(70);}var bytesWritten=stream.stream_ops.write(stream,buffer,offset,length,position,canOwn);if(!seeking)stream.position+=bytesWritten;return bytesWritten;},allocate:function allocate(stream,offset,length){if(FS.isClosed(stream)){throw new FS.ErrnoError(8);}if(offset<0||length<=0){throw new FS.ErrnoError(28);}if((stream.flags&2097155)===0){throw new FS.ErrnoError(8);}if(!FS.isFile(stream.node.mode)&&!FS.isDir(stream.node.mode)){throw new FS.ErrnoError(43);}if(!stream.stream_ops.allocate){throw new FS.ErrnoError(138);}stream.stream_ops.allocate(stream,offset,length);},mmap:function mmap(stream,length,position,prot,flags){if((prot&2)!==0&&(flags&2)===0&&(stream.flags&2097155)!==2){throw new FS.ErrnoError(2);}if((stream.flags&2097155)===1){throw new FS.ErrnoError(2);}if(!stream.stream_ops.mmap){throw new FS.ErrnoError(43);}return stream.stream_ops.mmap(stream,length,position,prot,flags);},msync:function msync(stream,buffer,offset,length,mmapFlags){offset>>>=0;if(!stream.stream_ops.msync){return 0;}return stream.stream_ops.msync(stream,buffer,offset,length,mmapFlags);},munmap:function munmap(stream){return 0;},ioctl:function ioctl(stream,cmd,arg){if(!stream.stream_ops.ioctl){throw new FS.ErrnoError(59);}return stream.stream_ops.ioctl(stream,cmd,arg);},readFile:function readFile(path){var opts=arguments.length>1&&arguments[1]!==undefined?arguments[1]:{};opts.flags=opts.flags||0;opts.encoding=opts.encoding||"binary";if(opts.encoding!=="utf8"&&opts.encoding!=="binary"){throw new Error('Invalid encoding type "'+opts.encoding+'"');}var ret;var stream=FS.open(path,opts.flags);var stat=FS.stat(path);var length=stat.size;var buf=new Uint8Array(length);FS.read(stream,buf,0,length,0);if(opts.encoding==="utf8"){ret=UTF8ArrayToString(buf,0);}else if(opts.encoding==="binary"){ret=buf;}FS.close(stream);return ret;},writeFile:function writeFile(path,data){var opts=arguments.length>2&&arguments[2]!==undefined?arguments[2]:{};opts.flags=opts.flags||577;var stream=FS.open(path,opts.flags,opts.mode);if(typeof data=="string"){var buf=new Uint8Array(lengthBytesUTF8(data)+1);var actualNumBytes=stringToUTF8Array(data,buf,0,buf.length);FS.write(stream,buf,0,actualNumBytes,void 0,opts.canOwn);}else if(ArrayBuffer.isView(data)){FS.write(stream,data,0,data.byteLength,void 0,opts.canOwn);}else{throw new Error("Unsupported data type");}FS.close(stream);},cwd:function cwd(){return FS.currentPath;},chdir:function chdir(path){var lookup=FS.lookupPath(path,{follow:true});if(lookup.node===null){throw new FS.ErrnoError(44);}if(!FS.isDir(lookup.node.mode)){throw new FS.ErrnoError(54);}var errCode=FS.nodePermissions(lookup.node,"x");if(errCode){throw new FS.ErrnoError(errCode);}FS.currentPath=lookup.path;},createDefaultDirectories:function createDefaultDirectories(){FS.mkdir("/tmp");FS.mkdir("/home");FS.mkdir("/home/web_user");},createDefaultDevices:function createDefaultDevices(){FS.mkdir("/dev");FS.registerDevice(FS.makedev(1,3),{read:function read(){return 0;},write:function write(stream,buffer,offset,length,pos){return length;}});FS.mkdev("/dev/null",FS.makedev(1,3));TTY.register(FS.makedev(5,0),TTY.default_tty_ops);TTY.register(FS.makedev(6,0),TTY.default_tty1_ops);FS.mkdev("/dev/tty",FS.makedev(5,0));FS.mkdev("/dev/tty1",FS.makedev(6,0));var random_device=getRandomDevice();FS.createDevice("/dev","random",random_device);FS.createDevice("/dev","urandom",random_device);FS.mkdir("/dev/shm");FS.mkdir("/dev/shm/tmp");},createSpecialDirectories:function createSpecialDirectories(){FS.mkdir("/proc");var proc_self=FS.mkdir("/proc/self");FS.mkdir("/proc/self/fd");FS.mount({mount:function mount(){var node=FS.createNode(proc_self,"fd",16384|511,73);node.node_ops={lookup:function lookup(parent,name){var fd=+name;var stream=FS.getStream(fd);if(!stream)throw new FS.ErrnoError(8);var ret={parent:null,mount:{mountpoint:"fake"},node_ops:{readlink:function readlink(){return stream.path;}}};ret.parent=ret;return ret;}};return node;}},{},"/proc/self/fd");},createStandardStreams:function createStandardStreams(){if(Module["stdin"]){FS.createDevice("/dev","stdin",Module["stdin"]);}else{FS.symlink("/dev/tty","/dev/stdin");}if(Module["stdout"]){FS.createDevice("/dev","stdout",null,Module["stdout"]);}else{FS.symlink("/dev/tty","/dev/stdout");}if(Module["stderr"]){FS.createDevice("/dev","stderr",null,Module["stderr"]);}else{FS.symlink("/dev/tty1","/dev/stderr");}FS.open("/dev/stdin",0);FS.open("/dev/stdout",1);FS.open("/dev/stderr",1);},ensureErrnoError:function ensureErrnoError(){if(FS.ErrnoError)return;FS.ErrnoError=function ErrnoError(errno,node){this.node=node;this.setErrno=function(errno2){this.errno=errno2;};this.setErrno(errno);this.message="FS error";};FS.ErrnoError.prototype=new Error();FS.ErrnoError.prototype.constructor=FS.ErrnoError;[44].forEach(function(code){FS.genericErrors[code]=new FS.ErrnoError(code);FS.genericErrors[code].stack="";});},staticInit:function staticInit(){FS.ensureErrnoError();FS.nameTable=new Array(4096);FS.mount(MEMFS,{},"/");FS.createDefaultDirectories();FS.createDefaultDevices();FS.createSpecialDirectories();FS.filesystems={"MEMFS":MEMFS};},init:function init(input,output,error){FS.init.initialized=true;FS.ensureErrnoError();Module["stdin"]=input||Module["stdin"];Module["stdout"]=output||Module["stdout"];Module["stderr"]=error||Module["stderr"];FS.createStandardStreams();},quit:function quit(){FS.init.initialized=false;for(var i=0;ithis.length-1||idx<0){return void 0;}var chunkOffset=idx%this.chunkSize;var chunkNum=idx/this.chunkSize|0;return this.getter(chunkNum)[chunkOffset];};LazyUint8Array.prototype.setDataGetter=function LazyUint8Array_setDataGetter(getter){this.getter=getter;};LazyUint8Array.prototype.cacheLength=function LazyUint8Array_cacheLength(){var xhr=new XMLHttpRequest();xhr.open("HEAD",url,false);xhr.send(null);if(!(xhr.status>=200&&xhr.status<300||xhr.status===304))throw new Error("Couldn't load "+url+". Status: "+xhr.status);var datalength=Number(xhr.getResponseHeader("Content-length"));var header;var hasByteServing=(header=xhr.getResponseHeader("Accept-Ranges"))&&header==="bytes";var usesGzip=(header=xhr.getResponseHeader("Content-Encoding"))&&header==="gzip";var chunkSize=1024*1024;if(!hasByteServing)chunkSize=datalength;var doXHR=function doXHR(from,to){if(from>to)throw new Error("invalid range ("+from+", "+to+") or no bytes requested!");if(to>datalength-1)throw new Error("only "+datalength+" bytes available! programmer error!");var xhr2=new XMLHttpRequest();xhr2.open("GET",url,false);if(datalength!==chunkSize)xhr2.setRequestHeader("Range","bytes="+from+"-"+to);xhr2.responseType="arraybuffer";if(xhr2.overrideMimeType){xhr2.overrideMimeType("text/plain; charset=x-user-defined");}xhr2.send(null);if(!(xhr2.status>=200&&xhr2.status<300||xhr2.status===304))throw new Error("Couldn't load "+url+". Status: "+xhr2.status);if(xhr2.response!==void 0){return new Uint8Array(xhr2.response||[]);}return intArrayFromString(xhr2.responseText||"",true);};var lazyArray2=this;lazyArray2.setDataGetter(function(chunkNum){var start=chunkNum*chunkSize;var end=(chunkNum+1)*chunkSize-1;end=Math.min(end,datalength-1);if(typeof lazyArray2.chunks[chunkNum]=="undefined"){lazyArray2.chunks[chunkNum]=doXHR(start,end);}if(typeof lazyArray2.chunks[chunkNum]=="undefined")throw new Error("doXHR failed!");return lazyArray2.chunks[chunkNum];});if(usesGzip||!datalength){chunkSize=datalength=1;datalength=this.getter(0).length;chunkSize=datalength;out("LazyFiles on gzip forces download of the whole file when length is accessed");}this._length=datalength;this._chunkSize=chunkSize;this.lengthKnown=true;};if(typeof XMLHttpRequest!="undefined"){if(!ENVIRONMENT_IS_WORKER)throw"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc";var lazyArray=new LazyUint8Array();Object.defineProperties(lazyArray,{length:{get:function get(){if(!this.lengthKnown){this.cacheLength();}return this._length;}},chunkSize:{get:function get(){if(!this.lengthKnown){this.cacheLength();}return this._chunkSize;}}});var properties={isDevice:false,contents:lazyArray};}else{var properties={isDevice:false,url:url};}var node=FS.createFile(parent,name,properties,canRead,canWrite);if(properties.contents){node.contents=properties.contents;}else if(properties.url){node.contents=null;node.url=properties.url;}Object.defineProperties(node,{usedBytes:{get:function get(){return this.contents.length;}}});var stream_ops={};var keys=Object.keys(node.stream_ops);keys.forEach(function(key){var fn=node.stream_ops[key];stream_ops[key]=function forceLoadLazyFile(){FS.forceLoadFile(node);return fn.apply(null,arguments);};});function writeChunks(stream,buffer,offset,length,position){var contents=stream.node.contents;if(position>=contents.length)return 0;var size=Math.min(contents.length-position,length);if(contents.slice){for(var i=0;i1&&arguments[1]!==undefined?arguments[1]:function(){};var onerror=arguments.length>2&&arguments[2]!==undefined?arguments[2]:function(){};var indexedDB=FS.indexedDB();try{var openRequest=indexedDB.open(FS.DB_NAME(),FS.DB_VERSION);}catch(e){return onerror(e);}openRequest.onupgradeneeded=function(){out("creating db");var db=openRequest.result;db.createObjectStore(FS.DB_STORE_NAME);};openRequest.onsuccess=function(){var db=openRequest.result;var transaction=db.transaction([FS.DB_STORE_NAME],"readwrite");var files=transaction.objectStore(FS.DB_STORE_NAME);var ok=0,fail=0,total=paths.length;function finish(){if(fail==0)onload();else onerror();}paths.forEach(function(path){var putRequest=files.put(FS.analyzePath(path).object.contents,path);putRequest.onsuccess=function(){ok++;if(ok+fail==total)finish();};putRequest.onerror=function(){fail++;if(ok+fail==total)finish();};});transaction.onerror=onerror;};openRequest.onerror=onerror;},loadFilesFromDB:function loadFilesFromDB(paths){var onload=arguments.length>1&&arguments[1]!==undefined?arguments[1]:function(){};var onerror=arguments.length>2&&arguments[2]!==undefined?arguments[2]:function(){};var indexedDB=FS.indexedDB();try{var openRequest=indexedDB.open(FS.DB_NAME(),FS.DB_VERSION);}catch(e){return onerror(e);}openRequest.onupgradeneeded=onerror;openRequest.onsuccess=function(){var db=openRequest.result;try{var transaction=db.transaction([FS.DB_STORE_NAME],"readonly");}catch(e){onerror(e);return;}var files=transaction.objectStore(FS.DB_STORE_NAME);var ok=0,fail=0,total=paths.length;function finish(){if(fail==0)onload();else onerror();}paths.forEach(function(path){var getRequest=files.get(path);getRequest.onsuccess=function(){if(FS.analyzePath(path).exists){FS.unlink(path);}FS.createDataFile(PATH.dirname(path),PATH.basename(path),getRequest.result,true,true,true);ok++;if(ok+fail==total)finish();};getRequest.onerror=function(){fail++;if(ok+fail==total)finish();};});transaction.onerror=onerror;};openRequest.onerror=onerror;}};var SYSCALLS={DEFAULT_POLLMASK:5,calculateAt:function calculateAt(dirfd,path,allowEmpty){if(PATH.isAbs(path)){return path;}var dir;if(dirfd===-100){dir=FS.cwd();}else{var dirstream=SYSCALLS.getStreamFromFD(dirfd);dir=dirstream.path;}if(path.length==0){if(!allowEmpty){throw new FS.ErrnoError(44);}return dir;}return PATH.join2(dir,path);},doStat:function doStat(func,path,buf){try{var stat=func(path);}catch(e){if(e&&e.node&&PATH.normalize(path)!==PATH.normalize(FS.getPath(e.node))){return-54;}throw e;}GROWABLE_HEAP_I32()[buf>>>2]=stat.dev;GROWABLE_HEAP_I32()[buf+8>>>2]=stat.ino;GROWABLE_HEAP_I32()[buf+12>>>2]=stat.mode;GROWABLE_HEAP_U32()[buf+16>>>2]=stat.nlink;GROWABLE_HEAP_I32()[buf+20>>>2]=stat.uid;GROWABLE_HEAP_I32()[buf+24>>>2]=stat.gid;GROWABLE_HEAP_I32()[buf+28>>>2]=stat.rdev;tempI64=[stat.size>>>0,(tempDouble=stat.size,+Math.abs(tempDouble)>=1?tempDouble>0?(Math.min(+Math.floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],GROWABLE_HEAP_I32()[buf+40>>>2]=tempI64[0],GROWABLE_HEAP_I32()[buf+44>>>2]=tempI64[1];GROWABLE_HEAP_I32()[buf+48>>>2]=4096;GROWABLE_HEAP_I32()[buf+52>>>2]=stat.blocks;var atime=stat.atime.getTime();var mtime=stat.mtime.getTime();var ctime=stat.ctime.getTime();tempI64=[Math.floor(atime/1e3)>>>0,(tempDouble=Math.floor(atime/1e3),+Math.abs(tempDouble)>=1?tempDouble>0?(Math.min(+Math.floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],GROWABLE_HEAP_I32()[buf+56>>>2]=tempI64[0],GROWABLE_HEAP_I32()[buf+60>>>2]=tempI64[1];GROWABLE_HEAP_U32()[buf+64>>>2]=atime%1e3*1e3;tempI64=[Math.floor(mtime/1e3)>>>0,(tempDouble=Math.floor(mtime/1e3),+Math.abs(tempDouble)>=1?tempDouble>0?(Math.min(+Math.floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],GROWABLE_HEAP_I32()[buf+72>>>2]=tempI64[0],GROWABLE_HEAP_I32()[buf+76>>>2]=tempI64[1];GROWABLE_HEAP_U32()[buf+80>>>2]=mtime%1e3*1e3;tempI64=[Math.floor(ctime/1e3)>>>0,(tempDouble=Math.floor(ctime/1e3),+Math.abs(tempDouble)>=1?tempDouble>0?(Math.min(+Math.floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],GROWABLE_HEAP_I32()[buf+88>>>2]=tempI64[0],GROWABLE_HEAP_I32()[buf+92>>>2]=tempI64[1];GROWABLE_HEAP_U32()[buf+96>>>2]=ctime%1e3*1e3;tempI64=[stat.ino>>>0,(tempDouble=stat.ino,+Math.abs(tempDouble)>=1?tempDouble>0?(Math.min(+Math.floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],GROWABLE_HEAP_I32()[buf+104>>>2]=tempI64[0],GROWABLE_HEAP_I32()[buf+108>>>2]=tempI64[1];return 0;},doMsync:function doMsync(addr,stream,len,flags,offset){if(!FS.isFile(stream.node.mode)){throw new FS.ErrnoError(43);}if(flags&2){return 0;}addr>>>=0;var buffer=GROWABLE_HEAP_U8().slice(addr,addr+len);FS.msync(stream,buffer,offset,len,flags);},varargs:void 0,get:function get(){SYSCALLS.varargs+=4;var ret=GROWABLE_HEAP_I32()[SYSCALLS.varargs-4>>>2];return ret;},getStr:function getStr(ptr){var ret=UTF8ToString(ptr);return ret;},getStreamFromFD:function getStreamFromFD(fd){var stream=FS.getStream(fd);if(!stream)throw new FS.ErrnoError(8);return stream;}};function _proc_exit(code){if(ENVIRONMENT_IS_PTHREAD)return _emscripten_proxy_to_main_thread_js(1,1,code);EXITSTATUS=code;if(!keepRuntimeAlive()){PThread.terminateAllThreads();if(Module["onExit"])Module["onExit"](code);ABORT=true;}quit_(code,new ExitStatus(code));}function exitJS(status,implicit){EXITSTATUS=status;if(!implicit){if(ENVIRONMENT_IS_PTHREAD){exitOnMainThread(status);throw"unwind";}}_proc_exit(status);}var _exit=exitJS;function handleException(e){if(e instanceof ExitStatus||e=="unwind"){return EXITSTATUS;}quit_(1,e);}var PThread={unusedWorkers:[],runningWorkers:[],tlsInitFunctions:[],pthreads:{},init:function init(){if(ENVIRONMENT_IS_PTHREAD){PThread.initWorker();}else{PThread.initMainThread();}},initMainThread:function initMainThread(){var pthreadPoolSize=navigator.hardwareConcurrency;while(pthreadPoolSize--){PThread.allocateUnusedWorker();}},initWorker:function initWorker(){noExitRuntime=false;},setExitStatus:function setExitStatus(status){EXITSTATUS=status;},terminateAllThreads:function terminateAllThreads(){for(var _i537=0,_Object$values2=Object.values(PThread.pthreads);_i537<_Object$values2.length;_i537++){var worker=_Object$values2[_i537];PThread.returnWorkerToPool(worker);}var _iterator42=_createForOfIteratorHelper(PThread.unusedWorkers),_step42;try{for(_iterator42.s();!(_step42=_iterator42.n()).done;){var worker=_step42.value;worker.terminate();}}catch(err){_iterator42.e(err);}finally{_iterator42.f();}PThread.unusedWorkers=[];},returnWorkerToPool:function returnWorkerToPool(worker){var pthread_ptr=worker.pthread_ptr;delete PThread.pthreads[pthread_ptr];PThread.unusedWorkers.push(worker);PThread.runningWorkers.splice(PThread.runningWorkers.indexOf(worker),1);worker.pthread_ptr=0;_emscripten_thread_free_data(pthread_ptr);},receiveObjectTransfer:function receiveObjectTransfer(data){},threadInitTLS:function threadInitTLS(){PThread.tlsInitFunctions.forEach(function(f){return f();});},loadWasmModuleToWorker:function loadWasmModuleToWorker(worker){return new Promise(function(onFinishedLoading){worker.onmessage=function(e){var d=e["data"];var cmd=d["cmd"];if(worker.pthread_ptr)PThread.currentProxiedOperationCallerThread=worker.pthread_ptr;if(d["targetThread"]&&d["targetThread"]!=_pthread_self()){var targetWorker=PThread.pthreads[d.targetThread];if(targetWorker){targetWorker.postMessage(d,d["transferList"]);}else{err('Internal error! Worker sent a message "'+cmd+'" to target pthread '+d["targetThread"]+", but that thread no longer exists!");}PThread.currentProxiedOperationCallerThread=void 0;return;}if(cmd==="processProxyingQueue"){executeNotifiedProxyingQueue(d["queue"]);}else if(cmd==="spawnThread"){spawnThread(d);}else if(cmd==="cleanupThread"){cleanupThread(d["thread"]);}else if(cmd==="killThread"){killThread(d["thread"]);}else if(cmd==="cancelThread"){cancelThread(d["thread"]);}else if(cmd==="loaded"){worker.loaded=true;onFinishedLoading(worker);}else if(cmd==="print"){out("Thread "+d["threadId"]+": "+d["text"]);}else if(cmd==="printErr"){err("Thread "+d["threadId"]+": "+d["text"]);}else if(cmd==="alert"){alert("Thread "+d["threadId"]+": "+d["text"]);}else if(d.target==="setimmediate"){worker.postMessage(d);}else if(cmd==="callHandler"){Module[d["handler"]].apply(Module,_toConsumableArray(d["args"]));}else if(cmd){err("worker sent an unknown command "+cmd);}PThread.currentProxiedOperationCallerThread=void 0;};worker.onerror=function(e){var message="worker sent an error!";err(message+" "+e.filename+":"+e.lineno+": "+e.message);throw e;};var handlers=[];var knownHandlers=["onExit","onAbort","print","printErr"];for(var _i538=0,_knownHandlers=knownHandlers;_i538<_knownHandlers.length;_i538++){var handler=_knownHandlers[_i538];if(Module.hasOwnProperty(handler)){handlers.push(handler);}}worker.postMessage({"cmd":"load","handlers":handlers,"urlOrBlob":Module["mainScriptUrlOrBlob"]||_scriptDir,"wasmMemory":wasmMemory,"wasmModule":wasmModule});});},loadWasmModuleToAllWorkers:function loadWasmModuleToAllWorkers(onMaybeReady){if(ENVIRONMENT_IS_PTHREAD){return onMaybeReady();}var pthreadPoolReady=Promise.all(PThread.unusedWorkers.map(PThread.loadWasmModuleToWorker));pthreadPoolReady.then(onMaybeReady);},allocateUnusedWorker:function allocateUnusedWorker(){var worker;var pthreadMainJs=locateFile("web-ifc-mt.worker.js");worker=new Worker(pthreadMainJs);PThread.unusedWorkers.push(worker);},getNewWorker:function getNewWorker(){if(PThread.unusedWorkers.length==0){PThread.allocateUnusedWorker();PThread.loadWasmModuleToWorker(PThread.unusedWorkers[0]);}return PThread.unusedWorkers.pop();}};Module["PThread"]=PThread;function callRuntimeCallbacks(callbacks){while(callbacks.length>0){callbacks.shift()(Module);}}function establishStackSpace(){var pthread_ptr=_pthread_self();var stackTop=GROWABLE_HEAP_I32()[pthread_ptr+52>>>2];var stackSize=GROWABLE_HEAP_I32()[pthread_ptr+56>>>2];var stackMax=stackTop-stackSize;_emscripten_stack_set_limits2(stackTop,stackMax);_stackRestore(stackTop);}Module["establishStackSpace"]=establishStackSpace;function exitOnMainThread(returnCode){if(ENVIRONMENT_IS_PTHREAD)return _emscripten_proxy_to_main_thread_js(2,0,returnCode);try{_exit(returnCode);}catch(e){handleException(e);}}var wasmTableMirror=[];function getWasmTableEntry(funcPtr){var func=wasmTableMirror[funcPtr];if(!func){if(funcPtr>=wasmTableMirror.length)wasmTableMirror.length=funcPtr+1;wasmTableMirror[funcPtr]=func=wasmTable.get(funcPtr);}return func;}function invokeEntryPoint(ptr,arg){var result=getWasmTableEntry(ptr)(arg);if(keepRuntimeAlive()){PThread.setExitStatus(result);}else{__emscripten_thread_exit(result);}}Module["invokeEntryPoint"]=invokeEntryPoint;function registerTLSInit(tlsInitFunc){PThread.tlsInitFunctions.push(tlsInitFunc);}function ExceptionInfo(excPtr){this.excPtr=excPtr;this.ptr=excPtr-24;this.set_type=function(type){GROWABLE_HEAP_U32()[this.ptr+4>>>2]=type;};this.get_type=function(){return GROWABLE_HEAP_U32()[this.ptr+4>>>2];};this.set_destructor=function(destructor){GROWABLE_HEAP_U32()[this.ptr+8>>>2]=destructor;};this.get_destructor=function(){return GROWABLE_HEAP_U32()[this.ptr+8>>>2];};this.set_refcount=function(refcount){GROWABLE_HEAP_I32()[this.ptr>>>2]=refcount;};this.set_caught=function(caught){caught=caught?1:0;GROWABLE_HEAP_I8()[this.ptr+12>>>0]=caught;};this.get_caught=function(){return GROWABLE_HEAP_I8()[this.ptr+12>>>0]!=0;};this.set_rethrown=function(rethrown){rethrown=rethrown?1:0;GROWABLE_HEAP_I8()[this.ptr+13>>>0]=rethrown;};this.get_rethrown=function(){return GROWABLE_HEAP_I8()[this.ptr+13>>>0]!=0;};this.init=function(type,destructor){this.set_adjusted_ptr(0);this.set_type(type);this.set_destructor(destructor);this.set_refcount(0);this.set_caught(false);this.set_rethrown(false);};this.add_ref=function(){Atomics.add(GROWABLE_HEAP_I32(),this.ptr+0>>2,1);};this.release_ref=function(){var prev=Atomics.sub(GROWABLE_HEAP_I32(),this.ptr+0>>2,1);return prev===1;};this.set_adjusted_ptr=function(adjustedPtr){GROWABLE_HEAP_U32()[this.ptr+16>>>2]=adjustedPtr;};this.get_adjusted_ptr=function(){return GROWABLE_HEAP_U32()[this.ptr+16>>>2];};this.get_exception_ptr=function(){var isPointer=_cxa_is_pointer_type(this.get_type());if(isPointer){return GROWABLE_HEAP_U32()[this.excPtr>>>2];}var adjusted=this.get_adjusted_ptr();if(adjusted!==0)return adjusted;return this.excPtr;};}function ___cxa_throw(ptr,type,destructor){var info=new ExceptionInfo(ptr);info.init(type,destructor);throw ptr;}function ___emscripten_init_main_thread_js(tb){__emscripten_thread_init(tb,!ENVIRONMENT_IS_WORKER,1,!ENVIRONMENT_IS_WEB);PThread.threadInitTLS();}function ___emscripten_thread_cleanup(thread){if(!ENVIRONMENT_IS_PTHREAD)cleanupThread(thread);else postMessage({"cmd":"cleanupThread","thread":thread});}function __dlinit(main_dso_handle){}var dlopenMissingError="To use dlopen, you need enable dynamic linking, see https://github.com/emscripten-core/emscripten/wiki/Linking";function __dlopen_js(handle){abort(dlopenMissingError);}function __dlsym_catchup_js(handle,symbolIndex){abort(dlopenMissingError);}var tupleRegistrations={};function runDestructors(destructors){while(destructors.length){var ptr=destructors.pop();var del=destructors.pop();del(ptr);}}function simpleReadValueFromPointer(pointer){return this["fromWireType"](GROWABLE_HEAP_I32()[pointer>>>2]);}var awaitingDependencies={};var registeredTypes={};var typeDependencies={};var char_0=48;var char_9=57;function makeLegalFunctionName(name){if(name===void 0){return"_unknown";}name=name.replace(/[^a-zA-Z0-9_]/g,"$");var f=name.charCodeAt(0);if(f>=char_0&&f<=char_9){return"_"+name;}return name;}function createNamedFunction(name,body){name=makeLegalFunctionName(name);return new Function("body","return function "+name+'() {\n "use strict"; return body.apply(this, arguments);\n};\n')(body);}function extendError(baseErrorType,errorName){var errorClass=createNamedFunction(errorName,function(message){this.name=errorName;this.message=message;var stack=new Error(message).stack;if(stack!==void 0){this.stack=this.toString()+"\n"+stack.replace(/^Error(:[^\n]*)?\n/,"");}});errorClass.prototype=Object.create(baseErrorType.prototype);errorClass.prototype.constructor=errorClass;errorClass.prototype.toString=function(){if(this.message===void 0){return this.name;}else{return this.name+": "+this.message;}};return errorClass;}var InternalError=void 0;function throwInternalError(message){throw new InternalError(message);}function whenDependentTypesAreResolved(myTypes,dependentTypes,getTypeConverters){myTypes.forEach(function(type){typeDependencies[type]=dependentTypes;});function onComplete(typeConverters2){var myTypeConverters=getTypeConverters(typeConverters2);if(myTypeConverters.length!==myTypes.length){throwInternalError("Mismatched type converter count");}for(var i=0;i>>0]){ret+=embind_charCodes[GROWABLE_HEAP_U8()[c++>>>0]];}return ret;}var BindingError=void 0;function throwBindingError(message){throw new BindingError(message);}function registerType(rawType,registeredInstance){var options=arguments.length>2&&arguments[2]!==undefined?arguments[2]:{};if(!("argPackAdvance"in registeredInstance)){throw new TypeError("registerType registeredInstance requires argPackAdvance");}var name=registeredInstance.name;if(!rawType){throwBindingError('type "'+name+'" must have a positive integer typeid pointer');}if(registeredTypes.hasOwnProperty(rawType)){if(options.ignoreDuplicateRegistrations){return;}else{throwBindingError("Cannot register type '"+name+"' twice");}}registeredTypes[rawType]=registeredInstance;delete typeDependencies[rawType];if(awaitingDependencies.hasOwnProperty(rawType)){var callbacks=awaitingDependencies[rawType];delete awaitingDependencies[rawType];callbacks.forEach(function(cb){return cb();});}}function __embind_register_bool(rawType,name,size,trueValue,falseValue){var shift=getShiftFromSize(size);name=readLatin1String(name);registerType(rawType,{name:name,"fromWireType":function fromWireType(wt){return!!wt;},"toWireType":function toWireType(destructors,o){return o?trueValue:falseValue;},"argPackAdvance":8,"readValueFromPointer":function readValueFromPointer(pointer){var heap;if(size===1){heap=GROWABLE_HEAP_I8();}else if(size===2){heap=GROWABLE_HEAP_I16();}else if(size===4){heap=GROWABLE_HEAP_I32();}else{throw new TypeError("Unknown boolean type size: "+name);}return this["fromWireType"](heap[pointer>>>shift]);},destructorFunction:null});}function ClassHandle_isAliasOf(other){if(!(this instanceof ClassHandle)){return false;}if(!(other instanceof ClassHandle)){return false;}var leftClass=this.$$.ptrType.registeredClass;var left=this.$$.ptr;var rightClass=other.$$.ptrType.registeredClass;var right=other.$$.ptr;while(leftClass.baseClass){left=leftClass.upcast(left);leftClass=leftClass.baseClass;}while(rightClass.baseClass){right=rightClass.upcast(right);rightClass=rightClass.baseClass;}return leftClass===rightClass&&left===right;}function shallowCopyInternalPointer(o){return{count:o.count,deleteScheduled:o.deleteScheduled,preservePointerOnDelete:o.preservePointerOnDelete,ptr:o.ptr,ptrType:o.ptrType,smartPtr:o.smartPtr,smartPtrType:o.smartPtrType};}function throwInstanceAlreadyDeleted(obj){function getInstanceTypeName(handle){return handle.$$.ptrType.registeredClass.name;}throwBindingError(getInstanceTypeName(obj)+" instance already deleted");}var finalizationRegistry=false;function detachFinalizer(handle){}function runDestructor($$){if($$.smartPtr){$$.smartPtrType.rawDestructor($$.smartPtr);}else{$$.ptrType.registeredClass.rawDestructor($$.ptr);}}function releaseClassHandle($$){$$.count.value-=1;var toDelete=$$.count.value===0;if(toDelete){runDestructor($$);}}function downcastPointer(ptr,ptrClass,desiredClass){if(ptrClass===desiredClass){return ptr;}if(desiredClass.baseClass===void 0){return null;}var rv=downcastPointer(ptr,ptrClass,desiredClass.baseClass);if(rv===null){return null;}return desiredClass.downcast(rv);}var registeredPointers={};function getInheritedInstanceCount(){return Object.keys(registeredInstances).length;}function getLiveInheritedInstances(){var rv=[];for(var k in registeredInstances){if(registeredInstances.hasOwnProperty(k)){rv.push(registeredInstances[k]);}}return rv;}var deletionQueue=[];function flushPendingDeletes(){while(deletionQueue.length){var obj=deletionQueue.pop();obj.$$.deleteScheduled=false;obj["delete"]();}}var delayFunction=void 0;function setDelayFunction(fn){delayFunction=fn;if(deletionQueue.length&&delayFunction){delayFunction(flushPendingDeletes);}}function init_embind(){Module["getInheritedInstanceCount"]=getInheritedInstanceCount;Module["getLiveInheritedInstances"]=getLiveInheritedInstances;Module["flushPendingDeletes"]=flushPendingDeletes;Module["setDelayFunction"]=setDelayFunction;}var registeredInstances={};function getBasestPointer(class_,ptr){if(ptr===void 0){throwBindingError("ptr should not be undefined");}while(class_.baseClass){ptr=class_.upcast(ptr);class_=class_.baseClass;}return ptr;}function getInheritedInstance(class_,ptr){ptr=getBasestPointer(class_,ptr);return registeredInstances[ptr];}function makeClassHandle(prototype,record){if(!record.ptrType||!record.ptr){throwInternalError("makeClassHandle requires ptr and ptrType");}var hasSmartPtrType=!!record.smartPtrType;var hasSmartPtr=!!record.smartPtr;if(hasSmartPtrType!==hasSmartPtr){throwInternalError("Both smartPtrType and smartPtr must be specified");}record.count={value:1};return attachFinalizer(Object.create(prototype,{$$:{value:record}}));}function RegisteredPointer_fromWireType(ptr){var rawPointer=this.getPointee(ptr);if(!rawPointer){this.destructor(ptr);return null;}var registeredInstance=getInheritedInstance(this.registeredClass,rawPointer);if(registeredInstance!==void 0){if(registeredInstance.$$.count.value===0){registeredInstance.$$.ptr=rawPointer;registeredInstance.$$.smartPtr=ptr;return registeredInstance["clone"]();}else{var rv=registeredInstance["clone"]();this.destructor(ptr);return rv;}}function makeDefaultHandle(){if(this.isSmartPointer){return makeClassHandle(this.registeredClass.instancePrototype,{ptrType:this.pointeeType,ptr:rawPointer,smartPtrType:this,smartPtr:ptr});}else{return makeClassHandle(this.registeredClass.instancePrototype,{ptrType:this,ptr:ptr});}}var actualType=this.registeredClass.getActualType(rawPointer);var registeredPointerRecord=registeredPointers[actualType];if(!registeredPointerRecord){return makeDefaultHandle.call(this);}var toType;if(this.isConst){toType=registeredPointerRecord.constPointerType;}else{toType=registeredPointerRecord.pointerType;}var dp=downcastPointer(rawPointer,this.registeredClass,toType.registeredClass);if(dp===null){return makeDefaultHandle.call(this);}if(this.isSmartPointer){return makeClassHandle(toType.registeredClass.instancePrototype,{ptrType:toType,ptr:dp,smartPtrType:this,smartPtr:ptr});}else{return makeClassHandle(toType.registeredClass.instancePrototype,{ptrType:toType,ptr:dp});}}function attachFinalizer(handle){if(typeof FinalizationRegistry==="undefined"){attachFinalizer=function attachFinalizer(handle2){return handle2;};return handle;}finalizationRegistry=new FinalizationRegistry(function(info){releaseClassHandle(info.$$);});attachFinalizer=function attachFinalizer(handle2){var $$=handle2.$$;var hasSmartPtr=!!$$.smartPtr;if(hasSmartPtr){var info={$$:$$};finalizationRegistry.register(handle2,info,handle2);}return handle2;};detachFinalizer=function detachFinalizer(handle2){return finalizationRegistry.unregister(handle2);};return attachFinalizer(handle);}function ClassHandle_clone(){if(!this.$$.ptr){throwInstanceAlreadyDeleted(this);}if(this.$$.preservePointerOnDelete){this.$$.count.value+=1;return this;}else{var clone=attachFinalizer(Object.create(Object.getPrototypeOf(this),{$$:{value:shallowCopyInternalPointer(this.$$)}}));clone.$$.count.value+=1;clone.$$.deleteScheduled=false;return clone;}}function ClassHandle_delete(){if(!this.$$.ptr){throwInstanceAlreadyDeleted(this);}if(this.$$.deleteScheduled&&!this.$$.preservePointerOnDelete){throwBindingError("Object already scheduled for deletion");}detachFinalizer(this);releaseClassHandle(this.$$);if(!this.$$.preservePointerOnDelete){this.$$.smartPtr=void 0;this.$$.ptr=void 0;}}function ClassHandle_isDeleted(){return!this.$$.ptr;}function ClassHandle_deleteLater(){if(!this.$$.ptr){throwInstanceAlreadyDeleted(this);}if(this.$$.deleteScheduled&&!this.$$.preservePointerOnDelete){throwBindingError("Object already scheduled for deletion");}deletionQueue.push(this);if(deletionQueue.length===1&&delayFunction){delayFunction(flushPendingDeletes);}this.$$.deleteScheduled=true;return this;}function init_ClassHandle(){ClassHandle.prototype["isAliasOf"]=ClassHandle_isAliasOf;ClassHandle.prototype["clone"]=ClassHandle_clone;ClassHandle.prototype["delete"]=ClassHandle_delete;ClassHandle.prototype["isDeleted"]=ClassHandle_isDeleted;ClassHandle.prototype["deleteLater"]=ClassHandle_deleteLater;}function ClassHandle(){}function ensureOverloadTable(proto,methodName,humanName){if(proto[methodName].overloadTable===void 0){var prevFunc=proto[methodName];proto[methodName]=function(){if(!proto[methodName].overloadTable.hasOwnProperty(arguments.length)){throwBindingError("Function '"+humanName+"' called with an invalid number of arguments ("+arguments.length+") - expects one of ("+proto[methodName].overloadTable+")!");}return proto[methodName].overloadTable[arguments.length].apply(this,arguments);};proto[methodName].overloadTable=[];proto[methodName].overloadTable[prevFunc.argCount]=prevFunc;}}function exposePublicSymbol(name,value,numArguments){if(Module.hasOwnProperty(name)){if(numArguments===void 0||Module[name].overloadTable!==void 0&&Module[name].overloadTable[numArguments]!==void 0){throwBindingError("Cannot register public name '"+name+"' twice");}ensureOverloadTable(Module,name,name);if(Module.hasOwnProperty(numArguments)){throwBindingError("Cannot register multiple overloads of a function with the same number of arguments ("+numArguments+")!");}Module[name].overloadTable[numArguments]=value;}else{Module[name]=value;if(numArguments!==void 0){Module[name].numArguments=numArguments;}}}function RegisteredClass(name,constructor,instancePrototype,rawDestructor,baseClass,getActualType,upcast,downcast){this.name=name;this.constructor=constructor;this.instancePrototype=instancePrototype;this.rawDestructor=rawDestructor;this.baseClass=baseClass;this.getActualType=getActualType;this.upcast=upcast;this.downcast=downcast;this.pureVirtualFunctions=[];}function upcastPointer(ptr,ptrClass,desiredClass){while(ptrClass!==desiredClass){if(!ptrClass.upcast){throwBindingError("Expected null or instance of "+desiredClass.name+", got an instance of "+ptrClass.name);}ptr=ptrClass.upcast(ptr);ptrClass=ptrClass.baseClass;}return ptr;}function constNoSmartPtrRawPointerToWireType(destructors,handle){if(handle===null){if(this.isReference){throwBindingError("null is not a valid "+this.name);}return 0;}if(!handle.$$){throwBindingError('Cannot pass "'+embindRepr(handle)+'" as a '+this.name);}if(!handle.$$.ptr){throwBindingError("Cannot pass deleted object as a pointer of type "+this.name);}var handleClass=handle.$$.ptrType.registeredClass;var ptr=upcastPointer(handle.$$.ptr,handleClass,this.registeredClass);return ptr;}function genericPointerToWireType(destructors,handle){var ptr;if(handle===null){if(this.isReference){throwBindingError("null is not a valid "+this.name);}if(this.isSmartPointer){ptr=this.rawConstructor();if(destructors!==null){destructors.push(this.rawDestructor,ptr);}return ptr;}else{return 0;}}if(!handle.$$){throwBindingError('Cannot pass "'+embindRepr(handle)+'" as a '+this.name);}if(!handle.$$.ptr){throwBindingError("Cannot pass deleted object as a pointer of type "+this.name);}if(!this.isConst&&handle.$$.ptrType.isConst){throwBindingError("Cannot convert argument of type "+(handle.$$.smartPtrType?handle.$$.smartPtrType.name:handle.$$.ptrType.name)+" to parameter type "+this.name);}var handleClass=handle.$$.ptrType.registeredClass;ptr=upcastPointer(handle.$$.ptr,handleClass,this.registeredClass);if(this.isSmartPointer){if(handle.$$.smartPtr===void 0){throwBindingError("Passing raw pointer to smart pointer is illegal");}switch(this.sharingPolicy){case 0:if(handle.$$.smartPtrType===this){ptr=handle.$$.smartPtr;}else{throwBindingError("Cannot convert argument of type "+(handle.$$.smartPtrType?handle.$$.smartPtrType.name:handle.$$.ptrType.name)+" to parameter type "+this.name);}break;case 1:ptr=handle.$$.smartPtr;break;case 2:if(handle.$$.smartPtrType===this){ptr=handle.$$.smartPtr;}else{var clonedHandle=handle["clone"]();ptr=this.rawShare(ptr,Emval.toHandle(function(){clonedHandle["delete"]();}));if(destructors!==null){destructors.push(this.rawDestructor,ptr);}}break;default:throwBindingError("Unsupporting sharing policy");}}return ptr;}function nonConstNoSmartPtrRawPointerToWireType(destructors,handle){if(handle===null){if(this.isReference){throwBindingError("null is not a valid "+this.name);}return 0;}if(!handle.$$){throwBindingError('Cannot pass "'+embindRepr(handle)+'" as a '+this.name);}if(!handle.$$.ptr){throwBindingError("Cannot pass deleted object as a pointer of type "+this.name);}if(handle.$$.ptrType.isConst){throwBindingError("Cannot convert argument of type "+handle.$$.ptrType.name+" to parameter type "+this.name);}var handleClass=handle.$$.ptrType.registeredClass;var ptr=upcastPointer(handle.$$.ptr,handleClass,this.registeredClass);return ptr;}function RegisteredPointer_getPointee(ptr){if(this.rawGetPointee){ptr=this.rawGetPointee(ptr);}return ptr;}function RegisteredPointer_destructor(ptr){if(this.rawDestructor){this.rawDestructor(ptr);}}function RegisteredPointer_deleteObject(handle){if(handle!==null){handle["delete"]();}}function init_RegisteredPointer(){RegisteredPointer.prototype.getPointee=RegisteredPointer_getPointee;RegisteredPointer.prototype.destructor=RegisteredPointer_destructor;RegisteredPointer.prototype["argPackAdvance"]=8;RegisteredPointer.prototype["readValueFromPointer"]=simpleReadValueFromPointer;RegisteredPointer.prototype["deleteObject"]=RegisteredPointer_deleteObject;RegisteredPointer.prototype["fromWireType"]=RegisteredPointer_fromWireType;}function RegisteredPointer(name,registeredClass,isReference,isConst,isSmartPointer,pointeeType,sharingPolicy,rawGetPointee,rawConstructor,rawShare,rawDestructor){this.name=name;this.registeredClass=registeredClass;this.isReference=isReference;this.isConst=isConst;this.isSmartPointer=isSmartPointer;this.pointeeType=pointeeType;this.sharingPolicy=sharingPolicy;this.rawGetPointee=rawGetPointee;this.rawConstructor=rawConstructor;this.rawShare=rawShare;this.rawDestructor=rawDestructor;if(!isSmartPointer&®isteredClass.baseClass===void 0){if(isConst){this["toWireType"]=constNoSmartPtrRawPointerToWireType;this.destructorFunction=null;}else{this["toWireType"]=nonConstNoSmartPtrRawPointerToWireType;this.destructorFunction=null;}}else{this["toWireType"]=genericPointerToWireType;}}function replacePublicSymbol(name,value,numArguments){if(!Module.hasOwnProperty(name)){throwInternalError("Replacing nonexistant public symbol");}if(Module[name].overloadTable!==void 0&&numArguments!==void 0){Module[name].overloadTable[numArguments]=value;}else{Module[name]=value;Module[name].argCount=numArguments;}}function dynCallLegacy(sig,ptr,args){var f=Module["dynCall_"+sig];return args&&args.length?f.apply(null,[ptr].concat(args)):f.call(null,ptr);}function dynCall(sig,ptr,args){if(sig.includes("j")){return dynCallLegacy(sig,ptr,args);}var rtn=getWasmTableEntry(ptr).apply(null,args);return rtn;}function getDynCaller(sig,ptr){var argCache=[];return function(){argCache.length=0;Object.assign(argCache,arguments);return dynCall(sig,ptr,argCache);};}function embind__requireFunction(signature,rawFunction){signature=readLatin1String(signature);function makeDynCaller(){if(signature.includes("j")){return getDynCaller(signature,rawFunction);}return getWasmTableEntry(rawFunction);}var fp=makeDynCaller();if(typeof fp!="function"){throwBindingError("unknown function pointer with signature "+signature+": "+rawFunction);}return fp;}var UnboundTypeError=void 0;function getTypeName(type){var ptr=___getTypeName(type);var rv=readLatin1String(ptr);_free2(ptr);return rv;}function throwUnboundTypeError(message,types){var unboundTypes=[];var seen={};function visit(type){if(seen[type]){return;}if(registeredTypes[type]){return;}if(typeDependencies[type]){typeDependencies[type].forEach(visit);return;}unboundTypes.push(type);seen[type]=true;}types.forEach(visit);throw new UnboundTypeError(message+": "+unboundTypes.map(getTypeName).join([", "]));}function __embind_register_class(rawType,rawPointerType,rawConstPointerType,baseClassRawType,getActualTypeSignature,getActualType,upcastSignature,upcast,downcastSignature,downcast,name,destructorSignature,rawDestructor){name=readLatin1String(name);getActualType=embind__requireFunction(getActualTypeSignature,getActualType);if(upcast){upcast=embind__requireFunction(upcastSignature,upcast);}if(downcast){downcast=embind__requireFunction(downcastSignature,downcast);}rawDestructor=embind__requireFunction(destructorSignature,rawDestructor);var legalFunctionName=makeLegalFunctionName(name);exposePublicSymbol(legalFunctionName,function(){throwUnboundTypeError("Cannot construct "+name+" due to unbound types",[baseClassRawType]);});whenDependentTypesAreResolved([rawType,rawPointerType,rawConstPointerType],baseClassRawType?[baseClassRawType]:[],function(base){base=base[0];var baseClass;var basePrototype;if(baseClassRawType){baseClass=base.registeredClass;basePrototype=baseClass.instancePrototype;}else{basePrototype=ClassHandle.prototype;}var constructor=createNamedFunction(legalFunctionName,function(){if(Object.getPrototypeOf(this)!==instancePrototype){throw new BindingError("Use 'new' to construct "+name);}if(registeredClass.constructor_body===void 0){throw new BindingError(name+" has no accessible constructor");}var body=registeredClass.constructor_body[arguments.length];if(body===void 0){throw new BindingError("Tried to invoke ctor of "+name+" with invalid number of parameters ("+arguments.length+") - expected ("+Object.keys(registeredClass.constructor_body).toString()+") parameters instead!");}return body.apply(this,arguments);});var instancePrototype=Object.create(basePrototype,{constructor:{value:constructor}});constructor.prototype=instancePrototype;var registeredClass=new RegisteredClass(name,constructor,instancePrototype,rawDestructor,baseClass,getActualType,upcast,downcast);var referenceConverter=new RegisteredPointer(name,registeredClass,true,false,false);var pointerConverter=new RegisteredPointer(name+"*",registeredClass,false,false,false);var constPointerConverter=new RegisteredPointer(name+" const*",registeredClass,false,true,false);registeredPointers[rawType]={pointerType:pointerConverter,constPointerType:constPointerConverter};replacePublicSymbol(legalFunctionName,constructor);return[referenceConverter,pointerConverter,constPointerConverter];});}function heap32VectorToArray(count,firstElement){var array=[];for(var i=0;i>>2]);}return array;}function new_(constructor,argumentList){if(!(constructor instanceof Function)){throw new TypeError("new_ called with constructor type "+_typeof(constructor)+" which is not a function");}var dummy=createNamedFunction(constructor.name||"unknownFunctionName",function(){});dummy.prototype=constructor.prototype;var obj=new dummy();var r=constructor.apply(obj,argumentList);return r instanceof Object?r:obj;}function craftInvokerFunction(humanName,argTypes,classType,cppInvokerFunc,cppTargetFunc){var argCount=argTypes.length;if(argCount<2){throwBindingError("argTypes array size mismatch! Must at least get return value and 'this' types!");}var isClassMethodFunc=argTypes[1]!==null&&classType!==null;var needsDestructorStack=false;for(var i=1;i0?", ":"")+argsListWired;}invokerFnBody+=(returns?"var rv = ":"")+"invoker(fn"+(argsListWired.length>0?", ":"")+argsListWired+");\n";if(needsDestructorStack){invokerFnBody+="runDestructors(destructors);\n";}else{for(var i=isClassMethodFunc?1:2;i0);var rawArgTypes=heap32VectorToArray(argCount,rawArgTypesAddr);invoker=embind__requireFunction(invokerSignature,invoker);whenDependentTypesAreResolved([],[rawClassType],function(classType){classType=classType[0];var humanName="constructor "+classType.name;if(classType.registeredClass.constructor_body===void 0){classType.registeredClass.constructor_body=[];}if(classType.registeredClass.constructor_body[argCount-1]!==void 0){throw new BindingError("Cannot register multiple constructors with identical number of parameters ("+(argCount-1)+") for class '"+classType.name+"'! Overload resolution is currently only performed using the parameter count, not actual type info!");}classType.registeredClass.constructor_body[argCount-1]=function(){throwUnboundTypeError("Cannot construct "+classType.name+" due to unbound types",rawArgTypes);};whenDependentTypesAreResolved([],rawArgTypes,function(argTypes){argTypes.splice(1,0,null);classType.registeredClass.constructor_body[argCount-1]=craftInvokerFunction(humanName,argTypes,null,invoker,rawConstructor);return[];});return[];});}function __embind_register_class_function(rawClassType,methodName,argCount,rawArgTypesAddr,invokerSignature,rawInvoker,context,isPureVirtual){var rawArgTypes=heap32VectorToArray(argCount,rawArgTypesAddr);methodName=readLatin1String(methodName);rawInvoker=embind__requireFunction(invokerSignature,rawInvoker);whenDependentTypesAreResolved([],[rawClassType],function(classType){classType=classType[0];var humanName=classType.name+"."+methodName;if(methodName.startsWith("@@")){methodName=Symbol[methodName.substring(2)];}if(isPureVirtual){classType.registeredClass.pureVirtualFunctions.push(methodName);}function unboundTypesHandler(){throwUnboundTypeError("Cannot call "+humanName+" due to unbound types",rawArgTypes);}var proto=classType.registeredClass.instancePrototype;var method=proto[methodName];if(method===void 0||method.overloadTable===void 0&&method.className!==classType.name&&method.argCount===argCount-2){unboundTypesHandler.argCount=argCount-2;unboundTypesHandler.className=classType.name;proto[methodName]=unboundTypesHandler;}else{ensureOverloadTable(proto,methodName,humanName);proto[methodName].overloadTable[argCount-2]=unboundTypesHandler;}whenDependentTypesAreResolved([],rawArgTypes,function(argTypes){var memberFunction=craftInvokerFunction(humanName,argTypes,classType,rawInvoker,context);if(proto[methodName].overloadTable===void 0){memberFunction.argCount=argCount-2;proto[methodName]=memberFunction;}else{proto[methodName].overloadTable[argCount-2]=memberFunction;}return[];});return[];});}var emval_free_list=[];var emval_handle_array=[{},{value:void 0},{value:null},{value:true},{value:false}];function __emval_decref(handle){if(handle>4&&--emval_handle_array[handle].refcount===0){emval_handle_array[handle]=void 0;emval_free_list.push(handle);}}function count_emval_handles(){var count=0;for(var i=5;i>>0]);};case 1:return function(pointer){var heap=signed?GROWABLE_HEAP_I16():GROWABLE_HEAP_U16();return this["fromWireType"](heap[pointer>>>1]);};case 2:return function(pointer){var heap=signed?GROWABLE_HEAP_I32():GROWABLE_HEAP_U32();return this["fromWireType"](heap[pointer>>>2]);};default:throw new TypeError("Unknown integer type: "+name);}}function __embind_register_enum(rawType,name,size,isSigned){var shift=getShiftFromSize(size);name=readLatin1String(name);function ctor(){}ctor.values={};registerType(rawType,{name:name,constructor:ctor,"fromWireType":function fromWireType(c){return this.constructor.values[c];},"toWireType":function toWireType(destructors,c){return c.value;},"argPackAdvance":8,"readValueFromPointer":enumReadValueFromPointer(name,shift,isSigned),destructorFunction:null});exposePublicSymbol(name,ctor);}function requireRegisteredType(rawType,humanName){var impl=registeredTypes[rawType];if(impl===void 0){throwBindingError(humanName+" has unknown type "+getTypeName(rawType));}return impl;}function __embind_register_enum_value(rawEnumType,name,enumValue){var enumType=requireRegisteredType(rawEnumType,"enum");name=readLatin1String(name);var Enum=enumType.constructor;var Value=Object.create(enumType.constructor.prototype,{value:{value:enumValue},constructor:{value:createNamedFunction(enumType.name+"_"+name,function(){})}});Enum.values[enumValue]=Value;Enum[name]=Value;}function embindRepr(v){if(v===null){return"null";}var t=_typeof(v);if(t==="object"||t==="array"||t==="function"){return v.toString();}else{return""+v;}}function floatReadValueFromPointer(name,shift){switch(shift){case 2:return function(pointer){return this["fromWireType"](GROWABLE_HEAP_F32()[pointer>>>2]);};case 3:return function(pointer){return this["fromWireType"](GROWABLE_HEAP_F64()[pointer>>>3]);};default:throw new TypeError("Unknown float type: "+name);}}function __embind_register_float(rawType,name,size){var shift=getShiftFromSize(size);name=readLatin1String(name);registerType(rawType,{name:name,"fromWireType":function fromWireType(value){return value;},"toWireType":function toWireType(destructors,value){return value;},"argPackAdvance":8,"readValueFromPointer":floatReadValueFromPointer(name,shift),destructorFunction:null});}function __embind_register_function(name,argCount,rawArgTypesAddr,signature,rawInvoker,fn){var argTypes=heap32VectorToArray(argCount,rawArgTypesAddr);name=readLatin1String(name);rawInvoker=embind__requireFunction(signature,rawInvoker);exposePublicSymbol(name,function(){throwUnboundTypeError("Cannot call "+name+" due to unbound types",argTypes);},argCount-1);whenDependentTypesAreResolved([],argTypes,function(argTypes2){var invokerArgsArray=[argTypes2[0],null].concat(argTypes2.slice(1));replacePublicSymbol(name,craftInvokerFunction(name,invokerArgsArray,null,rawInvoker,fn),argCount-1);return[];});}function integerReadValueFromPointer(name,shift,signed){switch(shift){case 0:return signed?function readS8FromPointer(pointer){return GROWABLE_HEAP_I8()[pointer>>>0];}:function readU8FromPointer(pointer){return GROWABLE_HEAP_U8()[pointer>>>0];};case 1:return signed?function readS16FromPointer(pointer){return GROWABLE_HEAP_I16()[pointer>>>1];}:function readU16FromPointer(pointer){return GROWABLE_HEAP_U16()[pointer>>>1];};case 2:return signed?function readS32FromPointer(pointer){return GROWABLE_HEAP_I32()[pointer>>>2];}:function readU32FromPointer(pointer){return GROWABLE_HEAP_U32()[pointer>>>2];};default:throw new TypeError("Unknown integer type: "+name);}}function __embind_register_integer(primitiveType,name,size,minRange,maxRange){name=readLatin1String(name);var shift=getShiftFromSize(size);var fromWireType=function fromWireType(value){return value;};if(minRange===0){var bitshift=32-8*size;fromWireType=function fromWireType(value){return value<>>bitshift;};}var isUnsignedType=name.includes("unsigned");var checkAssertions=function checkAssertions(value,toTypeName){};var toWireType;if(isUnsignedType){toWireType=function toWireType(destructors,value){checkAssertions(value,this.name);return value>>>0;};}else{toWireType=function toWireType(destructors,value){checkAssertions(value,this.name);return value;};}registerType(primitiveType,{name:name,"fromWireType":fromWireType,"toWireType":toWireType,"argPackAdvance":8,"readValueFromPointer":integerReadValueFromPointer(name,shift,minRange!==0),destructorFunction:null});}function __embind_register_memory_view(rawType,dataTypeIndex,name){var typeMapping=[Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array];var TA=typeMapping[dataTypeIndex];function decodeMemoryView(handle){handle=handle>>2;var heap=GROWABLE_HEAP_U32();var size=heap[handle>>>0];var data=heap[handle+1>>>0];return new TA(heap.buffer,data,size);}name=readLatin1String(name);registerType(rawType,{name:name,"fromWireType":decodeMemoryView,"argPackAdvance":8,"readValueFromPointer":decodeMemoryView},{ignoreDuplicateRegistrations:true});}function __embind_register_std_string(rawType,name){name=readLatin1String(name);var stdStringIsUTF8=name==="std::string";registerType(rawType,{name:name,"fromWireType":function fromWireType(value){var length=GROWABLE_HEAP_U32()[value>>>2];var payload=value+4;var str;if(stdStringIsUTF8){var decodeStartPtr=payload;for(var i=0;i<=length;++i){var currentBytePtr=payload+i;if(i==length||GROWABLE_HEAP_U8()[currentBytePtr>>>0]==0){var maxRead=currentBytePtr-decodeStartPtr;var stringSegment=UTF8ToString(decodeStartPtr,maxRead);if(str===void 0){str=stringSegment;}else{str+=String.fromCharCode(0);str+=stringSegment;}decodeStartPtr=currentBytePtr+1;}}}else{var a=new Array(length);for(var i=0;i>>0]);}str=a.join("");}_free2(value);return str;},"toWireType":function toWireType(destructors,value){if(value instanceof ArrayBuffer){value=new Uint8Array(value);}var length;var valueIsOfTypeString=typeof value=="string";if(!(valueIsOfTypeString||value instanceof Uint8Array||value instanceof Uint8ClampedArray||value instanceof Int8Array)){throwBindingError("Cannot pass non-string to std::string");}if(stdStringIsUTF8&&valueIsOfTypeString){length=lengthBytesUTF8(value);}else{length=value.length;}var base=_malloc2(4+length+1);var ptr=base+4;ptr>>>=0;GROWABLE_HEAP_U32()[base>>>2]=length;if(stdStringIsUTF8&&valueIsOfTypeString){stringToUTF8(value,ptr,length+1);}else{if(valueIsOfTypeString){for(var i=0;i255){_free2(ptr);throwBindingError("String has UTF-16 code units that do not fit in 8 bits");}GROWABLE_HEAP_U8()[ptr+i>>>0]=charCode;}}else{for(var i=0;i>>0]=value[i];}}}if(destructors!==null){destructors.push(_free2,base);}return base;},"argPackAdvance":8,"readValueFromPointer":simpleReadValueFromPointer,destructorFunction:function destructorFunction(ptr){_free2(ptr);}});}var UTF16Decoder=typeof TextDecoder!="undefined"?new TextDecoder("utf-16le"):void 0;function UTF16ToString(ptr,maxBytesToRead){var endPtr=ptr;var idx=endPtr>>1;var maxIdx=idx+maxBytesToRead/2;while(!(idx>=maxIdx)&&GROWABLE_HEAP_U16()[idx>>>0]){++idx;}endPtr=idx<<1;if(endPtr-ptr>32&&UTF16Decoder)return UTF16Decoder.decode(GROWABLE_HEAP_U8().slice(ptr,endPtr));var str="";for(var i=0;!(i>=maxBytesToRead/2);++i){var codeUnit=GROWABLE_HEAP_I16()[ptr+i*2>>>1];if(codeUnit==0)break;str+=String.fromCharCode(codeUnit);}return str;}function stringToUTF16(str,outPtr,maxBytesToWrite){if(maxBytesToWrite===void 0){maxBytesToWrite=2147483647;}if(maxBytesToWrite<2)return 0;maxBytesToWrite-=2;var startPtr=outPtr;var numCharsToWrite=maxBytesToWrite>>1]=codeUnit;outPtr+=2;}GROWABLE_HEAP_I16()[outPtr>>>1]=0;return outPtr-startPtr;}function lengthBytesUTF16(str){return str.length*2;}function UTF32ToString(ptr,maxBytesToRead){var i=0;var str="";while(!(i>=maxBytesToRead/4)){var utf32=GROWABLE_HEAP_I32()[ptr+i*4>>>2];if(utf32==0)break;++i;if(utf32>=65536){var ch=utf32-65536;str+=String.fromCharCode(55296|ch>>10,56320|ch&1023);}else{str+=String.fromCharCode(utf32);}}return str;}function stringToUTF32(str,outPtr,maxBytesToWrite){outPtr>>>=0;if(maxBytesToWrite===void 0){maxBytesToWrite=2147483647;}if(maxBytesToWrite<4)return 0;var startPtr=outPtr;var endPtr=startPtr+maxBytesToWrite-4;for(var i=0;i=55296&&codeUnit<=57343){var trailSurrogate=str.charCodeAt(++i);codeUnit=65536+((codeUnit&1023)<<10)|trailSurrogate&1023;}GROWABLE_HEAP_I32()[outPtr>>>2]=codeUnit;outPtr+=4;if(outPtr+4>endPtr)break;}GROWABLE_HEAP_I32()[outPtr>>>2]=0;return outPtr-startPtr;}function lengthBytesUTF32(str){var len=0;for(var i=0;i=55296&&codeUnit<=57343)++i;len+=4;}return len;}function __embind_register_std_wstring(rawType,charSize,name){name=readLatin1String(name);var decodeString,encodeString,getHeap,lengthBytesUTF,shift;if(charSize===2){decodeString=UTF16ToString;encodeString=stringToUTF16;lengthBytesUTF=lengthBytesUTF16;getHeap=function getHeap(){return GROWABLE_HEAP_U16();};shift=1;}else if(charSize===4){decodeString=UTF32ToString;encodeString=stringToUTF32;lengthBytesUTF=lengthBytesUTF32;getHeap=function getHeap(){return GROWABLE_HEAP_U32();};shift=2;}registerType(rawType,{name:name,"fromWireType":function fromWireType(value){var length=GROWABLE_HEAP_U32()[value>>>2];var HEAP=getHeap();var str;var decodeStartPtr=value+4;for(var i=0;i<=length;++i){var currentBytePtr=value+4+i*charSize;if(i==length||HEAP[currentBytePtr>>>shift]==0){var maxReadBytes=currentBytePtr-decodeStartPtr;var stringSegment=decodeString(decodeStartPtr,maxReadBytes);if(str===void 0){str=stringSegment;}else{str+=String.fromCharCode(0);str+=stringSegment;}decodeStartPtr=currentBytePtr+charSize;}}_free2(value);return str;},"toWireType":function toWireType(destructors,value){if(!(typeof value=="string")){throwBindingError("Cannot pass non-string to C++ string type "+name);}var length=lengthBytesUTF(value);var ptr=_malloc2(4+length+charSize);ptr>>>=0;GROWABLE_HEAP_U32()[ptr>>>2]=length>>shift;encodeString(value,ptr+4,length+charSize);if(destructors!==null){destructors.push(_free2,ptr);}return ptr;},"argPackAdvance":8,"readValueFromPointer":simpleReadValueFromPointer,destructorFunction:function destructorFunction(ptr){_free2(ptr);}});}function __embind_register_value_array(rawType,name,constructorSignature,rawConstructor,destructorSignature,rawDestructor){tupleRegistrations[rawType]={name:readLatin1String(name),rawConstructor:embind__requireFunction(constructorSignature,rawConstructor),rawDestructor:embind__requireFunction(destructorSignature,rawDestructor),elements:[]};}function __embind_register_value_array_element(rawTupleType,getterReturnType,getterSignature,getter,getterContext,setterArgumentType,setterSignature,setter,setterContext){tupleRegistrations[rawTupleType].elements.push({getterReturnType:getterReturnType,getter:embind__requireFunction(getterSignature,getter),getterContext:getterContext,setterArgumentType:setterArgumentType,setter:embind__requireFunction(setterSignature,setter),setterContext:setterContext});}function __embind_register_value_object(rawType,name,constructorSignature,rawConstructor,destructorSignature,rawDestructor){structRegistrations[rawType]={name:readLatin1String(name),rawConstructor:embind__requireFunction(constructorSignature,rawConstructor),rawDestructor:embind__requireFunction(destructorSignature,rawDestructor),fields:[]};}function __embind_register_value_object_field(structType,fieldName,getterReturnType,getterSignature,getter,getterContext,setterArgumentType,setterSignature,setter,setterContext){structRegistrations[structType].fields.push({fieldName:readLatin1String(fieldName),getterReturnType:getterReturnType,getter:embind__requireFunction(getterSignature,getter),getterContext:getterContext,setterArgumentType:setterArgumentType,setter:embind__requireFunction(setterSignature,setter),setterContext:setterContext});}function __embind_register_void(rawType,name){name=readLatin1String(name);registerType(rawType,{isVoid:true,name:name,"argPackAdvance":0,"fromWireType":function fromWireType(){return void 0;},"toWireType":function toWireType(destructors,o){return void 0;}});}function __emscripten_err(str){err(UTF8ToString(str));}function executeNotifiedProxyingQueue(queue){Atomics.store(GROWABLE_HEAP_I32(),queue>>2,1);if(_pthread_self()){__emscripten_proxy_execute_task_queue(queue);}Atomics.compareExchange(GROWABLE_HEAP_I32(),queue>>2,1,0);}Module["executeNotifiedProxyingQueue"]=executeNotifiedProxyingQueue;function __emscripten_notify_task_queue(targetThreadId,currThreadId,mainThreadId,queue){if(targetThreadId==currThreadId){setTimeout(function(){return executeNotifiedProxyingQueue(queue);});}else if(ENVIRONMENT_IS_PTHREAD){postMessage({"targetThread":targetThreadId,"cmd":"processProxyingQueue","queue":queue});}else{var worker=PThread.pthreads[targetThreadId];if(!worker){return;}worker.postMessage({"cmd":"processProxyingQueue","queue":queue});}return 1;}function __emscripten_set_offscreencanvas_size(target,width,height){return-1;}function __emval_as(handle,returnType,destructorsRef){handle=Emval.toValue(handle);returnType=requireRegisteredType(returnType,"emval::as");var destructors=[];var rd=Emval.toHandle(destructors);GROWABLE_HEAP_U32()[destructorsRef>>>2]=rd;return returnType["toWireType"](destructors,handle);}function emval_lookupTypes(argCount,argTypes){var a=new Array(argCount);for(var i=0;i>>2],"parameter "+i);}return a;}function __emval_call(handle,argCount,argTypes,argv){handle=Emval.toValue(handle);var types=emval_lookupTypes(argCount,argTypes);var args=new Array(argCount);for(var i=0;i4){emval_handle_array[handle].refcount+=1;}}function __emval_instanceof(object,constructor){object=Emval.toValue(object);constructor=Emval.toValue(constructor);return object instanceof constructor;}function __emval_is_number(handle){handle=Emval.toValue(handle);return typeof handle=="number";}function __emval_is_string(handle){handle=Emval.toValue(handle);return typeof handle=="string";}function __emval_new_array(){return Emval.toHandle([]);}function __emval_new_cstring(v){return Emval.toHandle(getStringOrSymbol(v));}function __emval_new_object(){return Emval.toHandle({});}function __emval_run_destructors(handle){var destructors=Emval.toValue(handle);runDestructors(destructors);__emval_decref(handle);}function __emval_set_property(handle,key,value){handle=Emval.toValue(handle);key=Emval.toValue(key);value=Emval.toValue(value);handle[key]=value;}function __emval_take_value(type,arg){type=requireRegisteredType(type,"_emval_take_value");var v=type["readValueFromPointer"](arg);return Emval.toHandle(v);}function _abort(){abort("");}function warnOnce(text){if(!warnOnce.shown)warnOnce.shown={};if(!warnOnce.shown[text]){warnOnce.shown[text]=1;err(text);}}function _emscripten_check_blocking_allowed(){if(ENVIRONMENT_IS_WORKER)return;warnOnce("Blocking on the main thread is very dangerous, see https://emscripten.org/docs/porting/pthreads.html#blocking-on-the-main-browser-thread");}var _emscripten_get_now;_emscripten_get_now=function _emscripten_get_now(){return performance.timeOrigin+performance.now();};function _emscripten_memcpy_big(dest,src,num){GROWABLE_HEAP_U8().copyWithin(dest>>>0,src>>>0,src+num>>>0);}function withStackSave(f){var stack=_stackSave();var ret=f();_stackRestore(stack);return ret;}function _emscripten_proxy_to_main_thread_js(index,sync){var numCallArgs=arguments.length-2;var outerArgs=arguments;return withStackSave(function(){var serializedNumCallArgs=numCallArgs;var args=_stackAlloc(serializedNumCallArgs*8);var b=args>>3;for(var i=0;i>>0]=arg;}return _emscripten_run_in_main_runtime_thread_js2(index,serializedNumCallArgs,args,sync);});}var _emscripten_receive_on_main_thread_js_callArgs=[];function _emscripten_receive_on_main_thread_js(index,numCallArgs,args){_emscripten_receive_on_main_thread_js_callArgs.length=numCallArgs;var b=args>>3;for(var i=0;i>>0];}var func=proxiedFunctionTable[index];return func.apply(null,_emscripten_receive_on_main_thread_js_callArgs);}function getHeapMax(){return 4294901760;}function emscripten_realloc_buffer(size){var b=wasmMemory.buffer;try{wasmMemory.grow(size-b.byteLength+65535>>>16);updateMemoryViews();return 1;}catch(e){}}function _emscripten_resize_heap(requestedSize){var oldSize=GROWABLE_HEAP_U8().length;requestedSize=requestedSize>>>0;if(requestedSize<=oldSize){return false;}var maxHeapSize=getHeapMax();if(requestedSize>maxHeapSize){return false;}var alignUp=function alignUp(x,multiple){return x+(multiple-x%multiple)%multiple;};for(var cutDown=1;cutDown<=4;cutDown*=2){var overGrownHeapSize=oldSize*(1+0.2/cutDown);overGrownHeapSize=Math.min(overGrownHeapSize,requestedSize+100663296);var newSize=Math.min(maxHeapSize,alignUp(Math.max(requestedSize,overGrownHeapSize),65536));var replacement=emscripten_realloc_buffer(newSize);if(replacement){return true;}}return false;}function _emscripten_unwind_to_js_event_loop(){throw"unwind";}var ENV={};function getExecutableName(){return thisProgram||"./this.program";}function getEnvStrings(){if(!getEnvStrings.strings){var lang=((typeof navigator==="undefined"?"undefined":_typeof(navigator))=="object"&&navigator.languages&&navigator.languages[0]||"C").replace("-","_")+".UTF-8";var env={"USER":"web_user","LOGNAME":"web_user","PATH":"/","PWD":"/","HOME":"/home/web_user","LANG":lang,"_":getExecutableName()};for(var x in ENV){if(ENV[x]===void 0)delete env[x];else env[x]=ENV[x];}var strings=[];for(var x in env){strings.push(x+"="+env[x]);}getEnvStrings.strings=strings;}return getEnvStrings.strings;}function writeAsciiToMemory(str,buffer,dontAddNull){for(var i=0;i>>0]=str.charCodeAt(i);}if(!dontAddNull)GROWABLE_HEAP_I8()[buffer>>>0]=0;}function _environ_get(__environ,environ_buf){if(ENVIRONMENT_IS_PTHREAD)return _emscripten_proxy_to_main_thread_js(3,1,__environ,environ_buf);var bufSize=0;getEnvStrings().forEach(function(string,i){var ptr=environ_buf+bufSize;GROWABLE_HEAP_U32()[__environ+i*4>>>2]=ptr;writeAsciiToMemory(string,ptr);bufSize+=string.length+1;});return 0;}function _environ_sizes_get(penviron_count,penviron_buf_size){if(ENVIRONMENT_IS_PTHREAD)return _emscripten_proxy_to_main_thread_js(4,1,penviron_count,penviron_buf_size);var strings=getEnvStrings();GROWABLE_HEAP_U32()[penviron_count>>>2]=strings.length;var bufSize=0;strings.forEach(function(string){bufSize+=string.length+1;});GROWABLE_HEAP_U32()[penviron_buf_size>>>2]=bufSize;return 0;}function _fd_close(fd){if(ENVIRONMENT_IS_PTHREAD)return _emscripten_proxy_to_main_thread_js(5,1,fd);try{var stream=SYSCALLS.getStreamFromFD(fd);FS.close(stream);return 0;}catch(e){if(typeof FS=="undefined"||!(e instanceof FS.ErrnoError))throw e;return e.errno;}}function doReadv(stream,iov,iovcnt,offset){var ret=0;for(var i=0;i>>2];var len=GROWABLE_HEAP_U32()[iov+4>>>2];iov+=8;var curr=FS.read(stream,GROWABLE_HEAP_I8(),ptr,len,offset);if(curr<0)return-1;ret+=curr;if(curr>>2]=num;return 0;}catch(e){if(typeof FS=="undefined"||!(e instanceof FS.ErrnoError))throw e;return e.errno;}}function convertI32PairToI53Checked(lo,hi){return hi+2097152>>>0<4194305-!!lo?(lo>>>0)+hi*4294967296:NaN;}function _fd_seek(fd,offset_low,offset_high,whence,newOffset){if(ENVIRONMENT_IS_PTHREAD)return _emscripten_proxy_to_main_thread_js(7,1,fd,offset_low,offset_high,whence,newOffset);try{var offset=convertI32PairToI53Checked(offset_low,offset_high);if(isNaN(offset))return 61;var stream=SYSCALLS.getStreamFromFD(fd);FS.llseek(stream,offset,whence);tempI64=[stream.position>>>0,(tempDouble=stream.position,+Math.abs(tempDouble)>=1?tempDouble>0?(Math.min(+Math.floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],GROWABLE_HEAP_I32()[newOffset>>>2]=tempI64[0],GROWABLE_HEAP_I32()[newOffset+4>>>2]=tempI64[1];if(stream.getdents&&offset===0&&whence===0)stream.getdents=null;return 0;}catch(e){if(typeof FS=="undefined"||!(e instanceof FS.ErrnoError))throw e;return e.errno;}}function doWritev(stream,iov,iovcnt,offset){var ret=0;for(var i=0;i>>2];var len=GROWABLE_HEAP_U32()[iov+4>>>2];iov+=8;var curr=FS.write(stream,GROWABLE_HEAP_I8(),ptr,len,offset);if(curr<0)return-1;ret+=curr;if(typeof offset!=="undefined"){offset+=curr;}}return ret;}function _fd_write(fd,iov,iovcnt,pnum){if(ENVIRONMENT_IS_PTHREAD)return _emscripten_proxy_to_main_thread_js(8,1,fd,iov,iovcnt,pnum);try{var stream=SYSCALLS.getStreamFromFD(fd);var num=doWritev(stream,iov,iovcnt);GROWABLE_HEAP_U32()[pnum>>>2]=num;return 0;}catch(e){if(typeof FS=="undefined"||!(e instanceof FS.ErrnoError))throw e;return e.errno;}}function __isLeapYear(year){return year%4===0&&(year%100!==0||year%400===0);}function __arraySum(array,index){var sum=0;for(var i=0;i<=index;sum+=array[i++]){}return sum;}var __MONTH_DAYS_LEAP=[31,29,31,30,31,30,31,31,30,31,30,31];var __MONTH_DAYS_REGULAR=[31,28,31,30,31,30,31,31,30,31,30,31];function __addDays(date,days){var newDate=new Date(date.getTime());while(days>0){var leap=__isLeapYear(newDate.getFullYear());var currentMonth=newDate.getMonth();var daysInCurrentMonth=(leap?__MONTH_DAYS_LEAP:__MONTH_DAYS_REGULAR)[currentMonth];if(days>daysInCurrentMonth-newDate.getDate()){days-=daysInCurrentMonth-newDate.getDate()+1;newDate.setDate(1);if(currentMonth<11){newDate.setMonth(currentMonth+1);}else{newDate.setMonth(0);newDate.setFullYear(newDate.getFullYear()+1);}}else{newDate.setDate(newDate.getDate()+days);return newDate;}}return newDate;}function writeArrayToMemory(array,buffer){GROWABLE_HEAP_I8().set(array,buffer>>>0);}function _strftime(s,maxsize,format,tm){var tm_zone=GROWABLE_HEAP_I32()[tm+40>>>2];var date={tm_sec:GROWABLE_HEAP_I32()[tm>>>2],tm_min:GROWABLE_HEAP_I32()[tm+4>>>2],tm_hour:GROWABLE_HEAP_I32()[tm+8>>>2],tm_mday:GROWABLE_HEAP_I32()[tm+12>>>2],tm_mon:GROWABLE_HEAP_I32()[tm+16>>>2],tm_year:GROWABLE_HEAP_I32()[tm+20>>>2],tm_wday:GROWABLE_HEAP_I32()[tm+24>>>2],tm_yday:GROWABLE_HEAP_I32()[tm+28>>>2],tm_isdst:GROWABLE_HEAP_I32()[tm+32>>>2],tm_gmtoff:GROWABLE_HEAP_I32()[tm+36>>>2],tm_zone:tm_zone?UTF8ToString(tm_zone):""};var pattern=UTF8ToString(format);var EXPANSION_RULES_1={"%c":"%a %b %d %H:%M:%S %Y","%D":"%m/%d/%y","%F":"%Y-%m-%d","%h":"%b","%r":"%I:%M:%S %p","%R":"%H:%M","%T":"%H:%M:%S","%x":"%m/%d/%y","%X":"%H:%M:%S","%Ec":"%c","%EC":"%C","%Ex":"%m/%d/%y","%EX":"%H:%M:%S","%Ey":"%y","%EY":"%Y","%Od":"%d","%Oe":"%e","%OH":"%H","%OI":"%I","%Om":"%m","%OM":"%M","%OS":"%S","%Ou":"%u","%OU":"%U","%OV":"%V","%Ow":"%w","%OW":"%W","%Oy":"%y"};for(var rule in EXPANSION_RULES_1){pattern=pattern.replace(new RegExp(rule,"g"),EXPANSION_RULES_1[rule]);}var WEEKDAYS=["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"];var MONTHS=["January","February","March","April","May","June","July","August","September","October","November","December"];function leadingSomething(value,digits,character){var str=typeof value=="number"?value.toString():value||"";while(str.length0?1:0;}var compare;if((compare=sgn(date1.getFullYear()-date2.getFullYear()))===0){if((compare=sgn(date1.getMonth()-date2.getMonth()))===0){compare=sgn(date1.getDate()-date2.getDate());}}return compare;}function getFirstWeekStartDate(janFourth){switch(janFourth.getDay()){case 0:return new Date(janFourth.getFullYear()-1,11,29);case 1:return janFourth;case 2:return new Date(janFourth.getFullYear(),0,3);case 3:return new Date(janFourth.getFullYear(),0,2);case 4:return new Date(janFourth.getFullYear(),0,1);case 5:return new Date(janFourth.getFullYear()-1,11,31);case 6:return new Date(janFourth.getFullYear()-1,11,30);}}function getWeekBasedYear(date2){var thisDate=__addDays(new Date(date2.tm_year+1900,0,1),date2.tm_yday);var janFourthThisYear=new Date(thisDate.getFullYear(),0,4);var janFourthNextYear=new Date(thisDate.getFullYear()+1,0,4);var firstWeekStartThisYear=getFirstWeekStartDate(janFourthThisYear);var firstWeekStartNextYear=getFirstWeekStartDate(janFourthNextYear);if(compareByDay(firstWeekStartThisYear,thisDate)<=0){if(compareByDay(firstWeekStartNextYear,thisDate)<=0){return thisDate.getFullYear()+1;}return thisDate.getFullYear();}return thisDate.getFullYear()-1;}var EXPANSION_RULES_2={"%a":function a(date2){return WEEKDAYS[date2.tm_wday].substring(0,3);},"%A":function A(date2){return WEEKDAYS[date2.tm_wday];},"%b":function b(date2){return MONTHS[date2.tm_mon].substring(0,3);},"%B":function B(date2){return MONTHS[date2.tm_mon];},"%C":function C(date2){var year=date2.tm_year+1900;return leadingNulls(year/100|0,2);},"%d":function d(date2){return leadingNulls(date2.tm_mday,2);},"%e":function e(date2){return leadingSomething(date2.tm_mday,2," ");},"%g":function g(date2){return getWeekBasedYear(date2).toString().substring(2);},"%G":function G(date2){return getWeekBasedYear(date2);},"%H":function H(date2){return leadingNulls(date2.tm_hour,2);},"%I":function I(date2){var twelveHour=date2.tm_hour;if(twelveHour==0)twelveHour=12;else if(twelveHour>12)twelveHour-=12;return leadingNulls(twelveHour,2);},"%j":function j(date2){return leadingNulls(date2.tm_mday+__arraySum(__isLeapYear(date2.tm_year+1900)?__MONTH_DAYS_LEAP:__MONTH_DAYS_REGULAR,date2.tm_mon-1),3);},"%m":function m(date2){return leadingNulls(date2.tm_mon+1,2);},"%M":function M(date2){return leadingNulls(date2.tm_min,2);},"%n":function n(){return"\n";},"%p":function p(date2){if(date2.tm_hour>=0&&date2.tm_hour<12){return"AM";}return"PM";},"%S":function S(date2){return leadingNulls(date2.tm_sec,2);},"%t":function t(){return" ";},"%u":function u(date2){return date2.tm_wday||7;},"%U":function U(date2){var days=date2.tm_yday+7-date2.tm_wday;return leadingNulls(Math.floor(days/7),2);},"%V":function V(date2){var val=Math.floor((date2.tm_yday+7-(date2.tm_wday+6)%7)/7);if((date2.tm_wday+371-date2.tm_yday-2)%7<=2){val++;}if(!val){val=52;var dec31=(date2.tm_wday+7-date2.tm_yday-1)%7;if(dec31==4||dec31==5&&__isLeapYear(date2.tm_year%400-1)){val++;}}else if(val==53){var jan1=(date2.tm_wday+371-date2.tm_yday)%7;if(jan1!=4&&(jan1!=3||!__isLeapYear(date2.tm_year)))val=1;}return leadingNulls(val,2);},"%w":function w(date2){return date2.tm_wday;},"%W":function W(date2){var days=date2.tm_yday+7-(date2.tm_wday+6)%7;return leadingNulls(Math.floor(days/7),2);},"%y":function y(date2){return(date2.tm_year+1900).toString().substring(2);},"%Y":function Y(date2){return date2.tm_year+1900;},"%z":function z(date2){var off=date2.tm_gmtoff;var ahead=off>=0;off=Math.abs(off)/60;off=off/60*100+off%60;return(ahead?"+":"-")+String("0000"+off).slice(-4);},"%Z":function Z(date2){return date2.tm_zone;},"%%":function _(){return"%";}};pattern=pattern.replace(/%%/g,"\0\0");for(var rule in EXPANSION_RULES_2){if(pattern.includes(rule)){pattern=pattern.replace(new RegExp(rule,"g"),EXPANSION_RULES_2[rule](date));}}pattern=pattern.replace(/\0\0/g,"%");var bytes=intArrayFromString(pattern,false);if(bytes.length>maxsize){return 0;}writeArrayToMemory(bytes,s);return bytes.length-1;}function _strftime_l(s,maxsize,format,tm,loc){return _strftime(s,maxsize,format,tm);}PThread.init();var FSNode=function FSNode(parent,name,mode,rdev){if(!parent){parent=this;}this.parent=parent;this.mount=parent.mount;this.mounted=null;this.id=FS.nextInode++;this.name=name;this.mode=mode;this.node_ops={};this.stream_ops={};this.rdev=rdev;};var readMode=292|73;var writeMode=146;Object.defineProperties(FSNode.prototype,{read:{get:function get(){return(this.mode&readMode)===readMode;},set:function set(val){val?this.mode|=readMode:this.mode&=~readMode;}},write:{get:function get(){return(this.mode&writeMode)===writeMode;},set:function set(val){val?this.mode|=writeMode:this.mode&=~writeMode;}},isFolder:{get:function get(){return FS.isDir(this.mode);}},isDevice:{get:function get(){return FS.isChrdev(this.mode);}}});FS.FSNode=FSNode;FS.staticInit();InternalError=Module["InternalError"]=extendError(Error,"InternalError");embind_init_charCodes();BindingError=Module["BindingError"]=extendError(Error,"BindingError");init_ClassHandle();init_embind();init_RegisteredPointer();UnboundTypeError=Module["UnboundTypeError"]=extendError(Error,"UnboundTypeError");init_emval();var proxiedFunctionTable=[null,_proc_exit,exitOnMainThread,_environ_get,_environ_sizes_get,_fd_close,_fd_read,_fd_seek,_fd_write];var wasmImports={"g":___cxa_throw,"T":___emscripten_init_main_thread_js,"J":___emscripten_thread_cleanup,"X":__dlinit,"_":__dlopen_js,"Z":__dlsym_catchup_js,"da":__embind_finalize_value_array,"q":__embind_finalize_value_object,"H":__embind_register_bigint,"ba":__embind_register_bool,"p":__embind_register_class,"o":__embind_register_class_constructor,"c":__embind_register_class_function,"aa":__embind_register_emval,"D":__embind_register_enum,"t":__embind_register_enum_value,"B":__embind_register_float,"d":__embind_register_function,"s":__embind_register_integer,"i":__embind_register_memory_view,"C":__embind_register_std_string,"x":__embind_register_std_wstring,"ea":__embind_register_value_array,"j":__embind_register_value_array_element,"r":__embind_register_value_object,"f":__embind_register_value_object_field,"ca":__embind_register_void,"Y":__emscripten_err,"V":__emscripten_notify_task_queue,"S":__emscripten_set_offscreencanvas_size,"n":__emval_as,"z":__emval_call,"b":__emval_decref,"F":__emval_get_global,"l":__emval_get_property,"u":__emval_incref,"ga":__emval_instanceof,"y":__emval_is_number,"E":__emval_is_string,"fa":__emval_new_array,"h":__emval_new_cstring,"w":__emval_new_object,"m":__emval_run_destructors,"k":__emval_set_property,"e":__emval_take_value,"A":_abort,"U":_emscripten_check_blocking_allowed,"v":_emscripten_get_now,"W":_emscripten_memcpy_big,"R":_emscripten_receive_on_main_thread_js,"P":_emscripten_resize_heap,"$":_emscripten_unwind_to_js_event_loop,"L":_environ_get,"M":_environ_sizes_get,"I":_exit,"N":_fd_close,"O":_fd_read,"G":_fd_seek,"Q":_fd_write,"a":wasmMemory||Module["wasmMemory"],"K":_strftime_l};createWasm();var _malloc2=function _malloc(){return(_malloc2=Module["asm"]["ja"]).apply(null,arguments);};Module["__emscripten_tls_init"]=function(){return(Module["__emscripten_tls_init"]=Module["asm"]["ka"]).apply(null,arguments);};var _pthread_self=Module["_pthread_self"]=function(){return(_pthread_self=Module["_pthread_self"]=Module["asm"]["la"]).apply(null,arguments);};var ___getTypeName=Module["___getTypeName"]=function(){return(___getTypeName=Module["___getTypeName"]=Module["asm"]["ma"]).apply(null,arguments);};Module["__embind_initialize_bindings"]=function(){return(Module["__embind_initialize_bindings"]=Module["asm"]["na"]).apply(null,arguments);};var __emscripten_thread_init=Module["__emscripten_thread_init"]=function(){return(__emscripten_thread_init=Module["__emscripten_thread_init"]=Module["asm"]["oa"]).apply(null,arguments);};Module["__emscripten_thread_crashed"]=function(){return(Module["__emscripten_thread_crashed"]=Module["asm"]["pa"]).apply(null,arguments);};var _emscripten_run_in_main_runtime_thread_js2=function _emscripten_run_in_main_runtime_thread_js(){return(_emscripten_run_in_main_runtime_thread_js2=Module["asm"]["qa"]).apply(null,arguments);};var __emscripten_proxy_execute_task_queue=Module["__emscripten_proxy_execute_task_queue"]=function(){return(__emscripten_proxy_execute_task_queue=Module["__emscripten_proxy_execute_task_queue"]=Module["asm"]["ra"]).apply(null,arguments);};var _emscripten_thread_free_data=function __emscripten_thread_free_data(){return(_emscripten_thread_free_data=Module["asm"]["sa"]).apply(null,arguments);};var __emscripten_thread_exit=Module["__emscripten_thread_exit"]=function(){return(__emscripten_thread_exit=Module["__emscripten_thread_exit"]=Module["asm"]["ta"]).apply(null,arguments);};var _free2=function _free(){return(_free2=Module["asm"]["ua"]).apply(null,arguments);};var _emscripten_stack_set_limits2=function _emscripten_stack_set_limits(){return(_emscripten_stack_set_limits2=Module["asm"]["va"]).apply(null,arguments);};var _stackSave=function stackSave(){return(_stackSave=Module["asm"]["wa"]).apply(null,arguments);};var _stackRestore=function stackRestore(){return(_stackRestore=Module["asm"]["xa"]).apply(null,arguments);};var _stackAlloc=function stackAlloc(){return(_stackAlloc=Module["asm"]["ya"]).apply(null,arguments);};var _cxa_is_pointer_type=function ___cxa_is_pointer_type(){return(_cxa_is_pointer_type=Module["asm"]["za"]).apply(null,arguments);};Module["dynCall_jiji"]=function(){return(Module["dynCall_jiji"]=Module["asm"]["Aa"]).apply(null,arguments);};Module["dynCall_viijii"]=function(){return(Module["dynCall_viijii"]=Module["asm"]["Ba"]).apply(null,arguments);};Module["dynCall_iiiiij"]=function(){return(Module["dynCall_iiiiij"]=Module["asm"]["Ca"]).apply(null,arguments);};Module["dynCall_iiiiijj"]=function(){return(Module["dynCall_iiiiijj"]=Module["asm"]["Da"]).apply(null,arguments);};Module["dynCall_iiiiiijj"]=function(){return(Module["dynCall_iiiiiijj"]=Module["asm"]["Ea"]).apply(null,arguments);};Module["keepRuntimeAlive"]=keepRuntimeAlive;Module["wasmMemory"]=wasmMemory;Module["ExitStatus"]=ExitStatus;Module["PThread"]=PThread;var calledRun;dependenciesFulfilled=function runCaller(){if(!calledRun)run();if(!calledRun)dependenciesFulfilled=runCaller;};function run(){if(runDependencies>0){return;}if(ENVIRONMENT_IS_PTHREAD){readyPromiseResolve(Module);initRuntime();startWorker(Module);return;}preRun();if(runDependencies>0){return;}function doRun(){if(calledRun)return;calledRun=true;Module["calledRun"]=true;if(ABORT)return;initRuntime();readyPromiseResolve(Module);if(Module["onRuntimeInitialized"])Module["onRuntimeInitialized"]();postRun();}if(Module["setStatus"]){Module["setStatus"]("Running...");setTimeout(function(){setTimeout(function(){Module["setStatus"]("");},1);doRun();},1);}else{doRun();}}if(Module["preInit"]){if(typeof Module["preInit"]=="function")Module["preInit"]=[Module["preInit"]];while(Module["preInit"].length>0){Module["preInit"].pop()();}}run();return WebIFCWasm3.ready;};}();if(_typeof(exports)==="object"&&_typeof(module)==="object")module.exports=WebIFCWasm2;else if(typeof define==="function"&&define["amd"])define([],function(){return WebIFCWasm2;});else if(_typeof(exports)==="object")exports["WebIFCWasm"]=WebIFCWasm2;}});// dist/web-ifc.js var require_web_ifc=__commonJS({"dist/web-ifc.js":function distWebIfcJs(exports,module){var WebIFCWasm2=function(){var _scriptDir=typeof document!=="undefined"&&document.currentScript?document.currentScript.src:void 0;return function(){var WebIFCWasm3=arguments.length>0&&arguments[0]!==undefined?arguments[0]:{};var Module=typeof WebIFCWasm3!="undefined"?WebIFCWasm3:{};var readyPromiseResolve,readyPromiseReject;Module["ready"]=new Promise(function(resolve,reject){readyPromiseResolve=resolve;readyPromiseReject=reject;});var moduleOverrides=Object.assign({},Module);var thisProgram="./this.program";var ENVIRONMENT_IS_WEB=true;var scriptDirectory="";function locateFile(path){if(Module["locateFile"]){return Module["locateFile"](path,scriptDirectory);}return scriptDirectory+path;}var read_,readAsync,readBinary;{if(typeof document!="undefined"&&document.currentScript){scriptDirectory=document.currentScript.src;}if(_scriptDir){scriptDirectory=_scriptDir;}if(scriptDirectory.indexOf("blob:")!==0){scriptDirectory=scriptDirectory.substr(0,scriptDirectory.replace(/[?#].*/,"").lastIndexOf("/")+1);}else{scriptDirectory="";}{read_=function read_(url){var xhr=new XMLHttpRequest();xhr.open("GET",url,false);xhr.send(null);return xhr.responseText;};readAsync=function readAsync(url,onload,onerror){var xhr=new XMLHttpRequest();xhr.open("GET",url,true);xhr.responseType="arraybuffer";xhr.onload=function(){if(xhr.status==200||xhr.status==0&&xhr.response){onload(xhr.response);return;}onerror();};xhr.onerror=onerror;xhr.send(null);};}}var out=Module["print"]||console.log.bind(console);var err=Module["printErr"]||console.warn.bind(console);Object.assign(Module,moduleOverrides);moduleOverrides=null;if(Module["arguments"]);if(Module["thisProgram"])thisProgram=Module["thisProgram"];if(Module["quit"]);var wasmBinary;if(Module["wasmBinary"])wasmBinary=Module["wasmBinary"];Module["noExitRuntime"]||true;if((typeof WebAssembly==="undefined"?"undefined":_typeof(WebAssembly))!="object"){abort("no native wasm support detected");}var wasmMemory;var ABORT=false;function assert(condition,text){if(!condition){abort(text);}}var UTF8Decoder=typeof TextDecoder!="undefined"?new TextDecoder("utf8"):void 0;function UTF8ArrayToString(heapOrArray,idx,maxBytesToRead){idx>>>=0;var endIdx=idx+maxBytesToRead;var endPtr=idx;while(heapOrArray[endPtr]&&!(endPtr>=endIdx)){++endPtr;}if(endPtr-idx>16&&heapOrArray.buffer&&UTF8Decoder){return UTF8Decoder.decode(heapOrArray.subarray(idx,endPtr));}var str="";while(idx>10,56320|ch&1023);}}return str;}function UTF8ToString(ptr,maxBytesToRead){ptr>>>=0;return ptr?UTF8ArrayToString(HEAPU8,ptr,maxBytesToRead):"";}function stringToUTF8Array(str,heap,outIdx,maxBytesToWrite){outIdx>>>=0;if(!(maxBytesToWrite>0))return 0;var startIdx=outIdx;var endIdx=outIdx+maxBytesToWrite-1;for(var i=0;i=55296&&u<=57343){var u1=str.charCodeAt(++i);u=65536+((u&1023)<<10)|u1&1023;}if(u<=127){if(outIdx>=endIdx)break;heap[outIdx++>>>0]=u;}else if(u<=2047){if(outIdx+1>=endIdx)break;heap[outIdx++>>>0]=192|u>>6;heap[outIdx++>>>0]=128|u&63;}else if(u<=65535){if(outIdx+2>=endIdx)break;heap[outIdx++>>>0]=224|u>>12;heap[outIdx++>>>0]=128|u>>6&63;heap[outIdx++>>>0]=128|u&63;}else{if(outIdx+3>=endIdx)break;heap[outIdx++>>>0]=240|u>>18;heap[outIdx++>>>0]=128|u>>12&63;heap[outIdx++>>>0]=128|u>>6&63;heap[outIdx++>>>0]=128|u&63;}}heap[outIdx>>>0]=0;return outIdx-startIdx;}function stringToUTF8(str,outPtr,maxBytesToWrite){return stringToUTF8Array(str,HEAPU8,outPtr,maxBytesToWrite);}function lengthBytesUTF8(str){var len=0;for(var i=0;i=55296&&c<=57343){len+=4;++i;}else{len+=3;}}return len;}var HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAPF64;function updateMemoryViews(){var b=wasmMemory.buffer;Module["HEAP8"]=HEAP8=new Int8Array(b);Module["HEAP16"]=HEAP16=new Int16Array(b);Module["HEAP32"]=HEAP32=new Int32Array(b);Module["HEAPU8"]=HEAPU8=new Uint8Array(b);Module["HEAPU16"]=HEAPU16=new Uint16Array(b);Module["HEAPU32"]=HEAPU32=new Uint32Array(b);Module["HEAPF32"]=HEAPF32=new Float32Array(b);Module["HEAPF64"]=HEAPF64=new Float64Array(b);}var wasmTable;var __ATPRERUN__=[];var __ATINIT__=[];var __ATPOSTRUN__=[];function preRun(){if(Module["preRun"]){if(typeof Module["preRun"]=="function")Module["preRun"]=[Module["preRun"]];while(Module["preRun"].length){addOnPreRun(Module["preRun"].shift());}}callRuntimeCallbacks(__ATPRERUN__);}function initRuntime(){if(!Module["noFSInit"]&&!FS.init.initialized)FS.init();FS.ignorePermissions=false;callRuntimeCallbacks(__ATINIT__);}function postRun(){if(Module["postRun"]){if(typeof Module["postRun"]=="function")Module["postRun"]=[Module["postRun"]];while(Module["postRun"].length){addOnPostRun(Module["postRun"].shift());}}callRuntimeCallbacks(__ATPOSTRUN__);}function addOnPreRun(cb){__ATPRERUN__.unshift(cb);}function addOnInit(cb){__ATINIT__.unshift(cb);}function addOnPostRun(cb){__ATPOSTRUN__.unshift(cb);}var runDependencies=0;var dependenciesFulfilled=null;function getUniqueRunDependency(id){return id;}function addRunDependency(id){runDependencies++;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies);}}function removeRunDependency(id){runDependencies--;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies);}if(runDependencies==0){if(dependenciesFulfilled){var callback=dependenciesFulfilled;dependenciesFulfilled=null;callback();}}}function abort(what){if(Module["onAbort"]){Module["onAbort"](what);}what="Aborted("+what+")";err(what);ABORT=true;what+=". Build with -sASSERTIONS for more info.";var e=new WebAssembly.RuntimeError(what);readyPromiseReject(e);throw e;}var dataURIPrefix="data:application/octet-stream;base64,";function isDataURI(filename){return filename.startsWith(dataURIPrefix);}var wasmBinaryFile;wasmBinaryFile="web-ifc.wasm";if(!isDataURI(wasmBinaryFile)){wasmBinaryFile=locateFile(wasmBinaryFile);}function getBinary(file){try{if(file==wasmBinaryFile&&wasmBinary){return new Uint8Array(wasmBinary);}if(readBinary);throw"both async and sync fetching of the wasm failed";}catch(err2){abort(err2);}}function getBinaryPromise(){if(!wasmBinary&&ENVIRONMENT_IS_WEB){if(typeof fetch=="function"){return fetch(wasmBinaryFile,{credentials:"same-origin"}).then(function(response){if(!response["ok"]){throw"failed to load wasm binary file at '"+wasmBinaryFile+"'";}return response["arrayBuffer"]();})["catch"](function(){return getBinary(wasmBinaryFile);});}}return Promise.resolve().then(function(){return getBinary(wasmBinaryFile);});}function createWasm(){var info={"a":wasmImports};function receiveInstance(instance,module2){var exports3=instance.exports;Module["asm"]=exports3;wasmMemory=Module["asm"]["V"];updateMemoryViews();wasmTable=Module["asm"]["X"];addOnInit(Module["asm"]["W"]);removeRunDependency();}addRunDependency();function receiveInstantiationResult(result){receiveInstance(result["instance"]);}function instantiateArrayBuffer(receiver){return getBinaryPromise().then(function(binary){return WebAssembly.instantiate(binary,info);}).then(function(instance){return instance;}).then(receiver,function(reason){err("failed to asynchronously prepare wasm: "+reason);abort(reason);});}function instantiateAsync(){if(!wasmBinary&&typeof WebAssembly.instantiateStreaming=="function"&&!isDataURI(wasmBinaryFile)&&typeof fetch=="function"){return fetch(wasmBinaryFile,{credentials:"same-origin"}).then(function(response){var result=WebAssembly.instantiateStreaming(response,info);return result.then(receiveInstantiationResult,function(reason){err("wasm streaming compile failed: "+reason);err("falling back to ArrayBuffer instantiation");return instantiateArrayBuffer(receiveInstantiationResult);});});}else{return instantiateArrayBuffer(receiveInstantiationResult);}}if(Module["instantiateWasm"]){try{var exports2=Module["instantiateWasm"](info,receiveInstance);return exports2;}catch(e){err("Module.instantiateWasm callback failed with error: "+e);readyPromiseReject(e);}}instantiateAsync()["catch"](readyPromiseReject);return{};}var tempDouble;var tempI64;function callRuntimeCallbacks(callbacks){while(callbacks.length>0){callbacks.shift()(Module);}}function ExceptionInfo(excPtr){this.excPtr=excPtr;this.ptr=excPtr-24;this.set_type=function(type){HEAPU32[this.ptr+4>>>2]=type;};this.get_type=function(){return HEAPU32[this.ptr+4>>>2];};this.set_destructor=function(destructor){HEAPU32[this.ptr+8>>>2]=destructor;};this.get_destructor=function(){return HEAPU32[this.ptr+8>>>2];};this.set_refcount=function(refcount){HEAP32[this.ptr>>>2]=refcount;};this.set_caught=function(caught){caught=caught?1:0;HEAP8[this.ptr+12>>>0]=caught;};this.get_caught=function(){return HEAP8[this.ptr+12>>>0]!=0;};this.set_rethrown=function(rethrown){rethrown=rethrown?1:0;HEAP8[this.ptr+13>>>0]=rethrown;};this.get_rethrown=function(){return HEAP8[this.ptr+13>>>0]!=0;};this.init=function(type,destructor){this.set_adjusted_ptr(0);this.set_type(type);this.set_destructor(destructor);this.set_refcount(0);this.set_caught(false);this.set_rethrown(false);};this.add_ref=function(){var value=HEAP32[this.ptr>>>2];HEAP32[this.ptr>>>2]=value+1;};this.release_ref=function(){var prev=HEAP32[this.ptr>>>2];HEAP32[this.ptr>>>2]=prev-1;return prev===1;};this.set_adjusted_ptr=function(adjustedPtr){HEAPU32[this.ptr+16>>>2]=adjustedPtr;};this.get_adjusted_ptr=function(){return HEAPU32[this.ptr+16>>>2];};this.get_exception_ptr=function(){var isPointer=_cxa_is_pointer_type2(this.get_type());if(isPointer){return HEAPU32[this.excPtr>>>2];}var adjusted=this.get_adjusted_ptr();if(adjusted!==0)return adjusted;return this.excPtr;};}function ___cxa_throw(ptr,type,destructor){var info=new ExceptionInfo(ptr);info.init(type,destructor);throw ptr;}var tupleRegistrations={};function runDestructors(destructors){while(destructors.length){var ptr=destructors.pop();var del=destructors.pop();del(ptr);}}function simpleReadValueFromPointer(pointer){return this["fromWireType"](HEAP32[pointer>>>2]);}var awaitingDependencies={};var registeredTypes={};var typeDependencies={};var char_0=48;var char_9=57;function makeLegalFunctionName(name){if(name===void 0){return"_unknown";}name=name.replace(/[^a-zA-Z0-9_]/g,"$");var f=name.charCodeAt(0);if(f>=char_0&&f<=char_9){return"_"+name;}return name;}function createNamedFunction(name,body){name=makeLegalFunctionName(name);return new Function("body","return function "+name+'() {\n "use strict"; return body.apply(this, arguments);\n};\n')(body);}function extendError(baseErrorType,errorName){var errorClass=createNamedFunction(errorName,function(message){this.name=errorName;this.message=message;var stack=new Error(message).stack;if(stack!==void 0){this.stack=this.toString()+"\n"+stack.replace(/^Error(:[^\n]*)?\n/,"");}});errorClass.prototype=Object.create(baseErrorType.prototype);errorClass.prototype.constructor=errorClass;errorClass.prototype.toString=function(){if(this.message===void 0){return this.name;}else{return this.name+": "+this.message;}};return errorClass;}var InternalError=void 0;function throwInternalError(message){throw new InternalError(message);}function whenDependentTypesAreResolved(myTypes,dependentTypes,getTypeConverters){myTypes.forEach(function(type){typeDependencies[type]=dependentTypes;});function onComplete(typeConverters2){var myTypeConverters=getTypeConverters(typeConverters2);if(myTypeConverters.length!==myTypes.length){throwInternalError("Mismatched type converter count");}for(var i=0;i>>0]){ret+=embind_charCodes[HEAPU8[c++>>>0]];}return ret;}var BindingError=void 0;function throwBindingError(message){throw new BindingError(message);}function registerType(rawType,registeredInstance){var options=arguments.length>2&&arguments[2]!==undefined?arguments[2]:{};if(!("argPackAdvance"in registeredInstance)){throw new TypeError("registerType registeredInstance requires argPackAdvance");}var name=registeredInstance.name;if(!rawType){throwBindingError('type "'+name+'" must have a positive integer typeid pointer');}if(registeredTypes.hasOwnProperty(rawType)){if(options.ignoreDuplicateRegistrations){return;}else{throwBindingError("Cannot register type '"+name+"' twice");}}registeredTypes[rawType]=registeredInstance;delete typeDependencies[rawType];if(awaitingDependencies.hasOwnProperty(rawType)){var callbacks=awaitingDependencies[rawType];delete awaitingDependencies[rawType];callbacks.forEach(function(cb){return cb();});}}function __embind_register_bool(rawType,name,size,trueValue,falseValue){var shift=getShiftFromSize(size);name=readLatin1String(name);registerType(rawType,{name:name,"fromWireType":function fromWireType(wt){return!!wt;},"toWireType":function toWireType(destructors,o){return o?trueValue:falseValue;},"argPackAdvance":8,"readValueFromPointer":function readValueFromPointer(pointer){var heap;if(size===1){heap=HEAP8;}else if(size===2){heap=HEAP16;}else if(size===4){heap=HEAP32;}else{throw new TypeError("Unknown boolean type size: "+name);}return this["fromWireType"](heap[pointer>>>shift]);},destructorFunction:null});}function ClassHandle_isAliasOf(other){if(!(this instanceof ClassHandle)){return false;}if(!(other instanceof ClassHandle)){return false;}var leftClass=this.$$.ptrType.registeredClass;var left=this.$$.ptr;var rightClass=other.$$.ptrType.registeredClass;var right=other.$$.ptr;while(leftClass.baseClass){left=leftClass.upcast(left);leftClass=leftClass.baseClass;}while(rightClass.baseClass){right=rightClass.upcast(right);rightClass=rightClass.baseClass;}return leftClass===rightClass&&left===right;}function shallowCopyInternalPointer(o){return{count:o.count,deleteScheduled:o.deleteScheduled,preservePointerOnDelete:o.preservePointerOnDelete,ptr:o.ptr,ptrType:o.ptrType,smartPtr:o.smartPtr,smartPtrType:o.smartPtrType};}function throwInstanceAlreadyDeleted(obj){function getInstanceTypeName(handle){return handle.$$.ptrType.registeredClass.name;}throwBindingError(getInstanceTypeName(obj)+" instance already deleted");}var finalizationRegistry=false;function detachFinalizer(handle){}function runDestructor($$){if($$.smartPtr){$$.smartPtrType.rawDestructor($$.smartPtr);}else{$$.ptrType.registeredClass.rawDestructor($$.ptr);}}function releaseClassHandle($$){$$.count.value-=1;var toDelete=$$.count.value===0;if(toDelete){runDestructor($$);}}function downcastPointer(ptr,ptrClass,desiredClass){if(ptrClass===desiredClass){return ptr;}if(desiredClass.baseClass===void 0){return null;}var rv=downcastPointer(ptr,ptrClass,desiredClass.baseClass);if(rv===null){return null;}return desiredClass.downcast(rv);}var registeredPointers={};function getInheritedInstanceCount(){return Object.keys(registeredInstances).length;}function getLiveInheritedInstances(){var rv=[];for(var k in registeredInstances){if(registeredInstances.hasOwnProperty(k)){rv.push(registeredInstances[k]);}}return rv;}var deletionQueue=[];function flushPendingDeletes(){while(deletionQueue.length){var obj=deletionQueue.pop();obj.$$.deleteScheduled=false;obj["delete"]();}}var delayFunction=void 0;function setDelayFunction(fn){delayFunction=fn;if(deletionQueue.length&&delayFunction){delayFunction(flushPendingDeletes);}}function init_embind(){Module["getInheritedInstanceCount"]=getInheritedInstanceCount;Module["getLiveInheritedInstances"]=getLiveInheritedInstances;Module["flushPendingDeletes"]=flushPendingDeletes;Module["setDelayFunction"]=setDelayFunction;}var registeredInstances={};function getBasestPointer(class_,ptr){if(ptr===void 0){throwBindingError("ptr should not be undefined");}while(class_.baseClass){ptr=class_.upcast(ptr);class_=class_.baseClass;}return ptr;}function getInheritedInstance(class_,ptr){ptr=getBasestPointer(class_,ptr);return registeredInstances[ptr];}function makeClassHandle(prototype,record){if(!record.ptrType||!record.ptr){throwInternalError("makeClassHandle requires ptr and ptrType");}var hasSmartPtrType=!!record.smartPtrType;var hasSmartPtr=!!record.smartPtr;if(hasSmartPtrType!==hasSmartPtr){throwInternalError("Both smartPtrType and smartPtr must be specified");}record.count={value:1};return attachFinalizer(Object.create(prototype,{$$:{value:record}}));}function RegisteredPointer_fromWireType(ptr){var rawPointer=this.getPointee(ptr);if(!rawPointer){this.destructor(ptr);return null;}var registeredInstance=getInheritedInstance(this.registeredClass,rawPointer);if(registeredInstance!==void 0){if(registeredInstance.$$.count.value===0){registeredInstance.$$.ptr=rawPointer;registeredInstance.$$.smartPtr=ptr;return registeredInstance["clone"]();}else{var rv=registeredInstance["clone"]();this.destructor(ptr);return rv;}}function makeDefaultHandle(){if(this.isSmartPointer){return makeClassHandle(this.registeredClass.instancePrototype,{ptrType:this.pointeeType,ptr:rawPointer,smartPtrType:this,smartPtr:ptr});}else{return makeClassHandle(this.registeredClass.instancePrototype,{ptrType:this,ptr:ptr});}}var actualType=this.registeredClass.getActualType(rawPointer);var registeredPointerRecord=registeredPointers[actualType];if(!registeredPointerRecord){return makeDefaultHandle.call(this);}var toType;if(this.isConst){toType=registeredPointerRecord.constPointerType;}else{toType=registeredPointerRecord.pointerType;}var dp=downcastPointer(rawPointer,this.registeredClass,toType.registeredClass);if(dp===null){return makeDefaultHandle.call(this);}if(this.isSmartPointer){return makeClassHandle(toType.registeredClass.instancePrototype,{ptrType:toType,ptr:dp,smartPtrType:this,smartPtr:ptr});}else{return makeClassHandle(toType.registeredClass.instancePrototype,{ptrType:toType,ptr:dp});}}function attachFinalizer(handle){if(typeof FinalizationRegistry==="undefined"){attachFinalizer=function attachFinalizer(handle2){return handle2;};return handle;}finalizationRegistry=new FinalizationRegistry(function(info){releaseClassHandle(info.$$);});attachFinalizer=function attachFinalizer(handle2){var $$=handle2.$$;var hasSmartPtr=!!$$.smartPtr;if(hasSmartPtr){var info={$$:$$};finalizationRegistry.register(handle2,info,handle2);}return handle2;};detachFinalizer=function detachFinalizer(handle2){return finalizationRegistry.unregister(handle2);};return attachFinalizer(handle);}function ClassHandle_clone(){if(!this.$$.ptr){throwInstanceAlreadyDeleted(this);}if(this.$$.preservePointerOnDelete){this.$$.count.value+=1;return this;}else{var clone=attachFinalizer(Object.create(Object.getPrototypeOf(this),{$$:{value:shallowCopyInternalPointer(this.$$)}}));clone.$$.count.value+=1;clone.$$.deleteScheduled=false;return clone;}}function ClassHandle_delete(){if(!this.$$.ptr){throwInstanceAlreadyDeleted(this);}if(this.$$.deleteScheduled&&!this.$$.preservePointerOnDelete){throwBindingError("Object already scheduled for deletion");}detachFinalizer(this);releaseClassHandle(this.$$);if(!this.$$.preservePointerOnDelete){this.$$.smartPtr=void 0;this.$$.ptr=void 0;}}function ClassHandle_isDeleted(){return!this.$$.ptr;}function ClassHandle_deleteLater(){if(!this.$$.ptr){throwInstanceAlreadyDeleted(this);}if(this.$$.deleteScheduled&&!this.$$.preservePointerOnDelete){throwBindingError("Object already scheduled for deletion");}deletionQueue.push(this);if(deletionQueue.length===1&&delayFunction){delayFunction(flushPendingDeletes);}this.$$.deleteScheduled=true;return this;}function init_ClassHandle(){ClassHandle.prototype["isAliasOf"]=ClassHandle_isAliasOf;ClassHandle.prototype["clone"]=ClassHandle_clone;ClassHandle.prototype["delete"]=ClassHandle_delete;ClassHandle.prototype["isDeleted"]=ClassHandle_isDeleted;ClassHandle.prototype["deleteLater"]=ClassHandle_deleteLater;}function ClassHandle(){}function ensureOverloadTable(proto,methodName,humanName){if(proto[methodName].overloadTable===void 0){var prevFunc=proto[methodName];proto[methodName]=function(){if(!proto[methodName].overloadTable.hasOwnProperty(arguments.length)){throwBindingError("Function '"+humanName+"' called with an invalid number of arguments ("+arguments.length+") - expects one of ("+proto[methodName].overloadTable+")!");}return proto[methodName].overloadTable[arguments.length].apply(this,arguments);};proto[methodName].overloadTable=[];proto[methodName].overloadTable[prevFunc.argCount]=prevFunc;}}function exposePublicSymbol(name,value,numArguments){if(Module.hasOwnProperty(name)){if(numArguments===void 0||Module[name].overloadTable!==void 0&&Module[name].overloadTable[numArguments]!==void 0){throwBindingError("Cannot register public name '"+name+"' twice");}ensureOverloadTable(Module,name,name);if(Module.hasOwnProperty(numArguments)){throwBindingError("Cannot register multiple overloads of a function with the same number of arguments ("+numArguments+")!");}Module[name].overloadTable[numArguments]=value;}else{Module[name]=value;if(numArguments!==void 0){Module[name].numArguments=numArguments;}}}function RegisteredClass(name,constructor,instancePrototype,rawDestructor,baseClass,getActualType,upcast,downcast){this.name=name;this.constructor=constructor;this.instancePrototype=instancePrototype;this.rawDestructor=rawDestructor;this.baseClass=baseClass;this.getActualType=getActualType;this.upcast=upcast;this.downcast=downcast;this.pureVirtualFunctions=[];}function upcastPointer(ptr,ptrClass,desiredClass){while(ptrClass!==desiredClass){if(!ptrClass.upcast){throwBindingError("Expected null or instance of "+desiredClass.name+", got an instance of "+ptrClass.name);}ptr=ptrClass.upcast(ptr);ptrClass=ptrClass.baseClass;}return ptr;}function constNoSmartPtrRawPointerToWireType(destructors,handle){if(handle===null){if(this.isReference){throwBindingError("null is not a valid "+this.name);}return 0;}if(!handle.$$){throwBindingError('Cannot pass "'+embindRepr(handle)+'" as a '+this.name);}if(!handle.$$.ptr){throwBindingError("Cannot pass deleted object as a pointer of type "+this.name);}var handleClass=handle.$$.ptrType.registeredClass;var ptr=upcastPointer(handle.$$.ptr,handleClass,this.registeredClass);return ptr;}function genericPointerToWireType(destructors,handle){var ptr;if(handle===null){if(this.isReference){throwBindingError("null is not a valid "+this.name);}if(this.isSmartPointer){ptr=this.rawConstructor();if(destructors!==null){destructors.push(this.rawDestructor,ptr);}return ptr;}else{return 0;}}if(!handle.$$){throwBindingError('Cannot pass "'+embindRepr(handle)+'" as a '+this.name);}if(!handle.$$.ptr){throwBindingError("Cannot pass deleted object as a pointer of type "+this.name);}if(!this.isConst&&handle.$$.ptrType.isConst){throwBindingError("Cannot convert argument of type "+(handle.$$.smartPtrType?handle.$$.smartPtrType.name:handle.$$.ptrType.name)+" to parameter type "+this.name);}var handleClass=handle.$$.ptrType.registeredClass;ptr=upcastPointer(handle.$$.ptr,handleClass,this.registeredClass);if(this.isSmartPointer){if(handle.$$.smartPtr===void 0){throwBindingError("Passing raw pointer to smart pointer is illegal");}switch(this.sharingPolicy){case 0:if(handle.$$.smartPtrType===this){ptr=handle.$$.smartPtr;}else{throwBindingError("Cannot convert argument of type "+(handle.$$.smartPtrType?handle.$$.smartPtrType.name:handle.$$.ptrType.name)+" to parameter type "+this.name);}break;case 1:ptr=handle.$$.smartPtr;break;case 2:if(handle.$$.smartPtrType===this){ptr=handle.$$.smartPtr;}else{var clonedHandle=handle["clone"]();ptr=this.rawShare(ptr,Emval.toHandle(function(){clonedHandle["delete"]();}));if(destructors!==null){destructors.push(this.rawDestructor,ptr);}}break;default:throwBindingError("Unsupporting sharing policy");}}return ptr;}function nonConstNoSmartPtrRawPointerToWireType(destructors,handle){if(handle===null){if(this.isReference){throwBindingError("null is not a valid "+this.name);}return 0;}if(!handle.$$){throwBindingError('Cannot pass "'+embindRepr(handle)+'" as a '+this.name);}if(!handle.$$.ptr){throwBindingError("Cannot pass deleted object as a pointer of type "+this.name);}if(handle.$$.ptrType.isConst){throwBindingError("Cannot convert argument of type "+handle.$$.ptrType.name+" to parameter type "+this.name);}var handleClass=handle.$$.ptrType.registeredClass;var ptr=upcastPointer(handle.$$.ptr,handleClass,this.registeredClass);return ptr;}function RegisteredPointer_getPointee(ptr){if(this.rawGetPointee){ptr=this.rawGetPointee(ptr);}return ptr;}function RegisteredPointer_destructor(ptr){if(this.rawDestructor){this.rawDestructor(ptr);}}function RegisteredPointer_deleteObject(handle){if(handle!==null){handle["delete"]();}}function init_RegisteredPointer(){RegisteredPointer.prototype.getPointee=RegisteredPointer_getPointee;RegisteredPointer.prototype.destructor=RegisteredPointer_destructor;RegisteredPointer.prototype["argPackAdvance"]=8;RegisteredPointer.prototype["readValueFromPointer"]=simpleReadValueFromPointer;RegisteredPointer.prototype["deleteObject"]=RegisteredPointer_deleteObject;RegisteredPointer.prototype["fromWireType"]=RegisteredPointer_fromWireType;}function RegisteredPointer(name,registeredClass,isReference,isConst,isSmartPointer,pointeeType,sharingPolicy,rawGetPointee,rawConstructor,rawShare,rawDestructor){this.name=name;this.registeredClass=registeredClass;this.isReference=isReference;this.isConst=isConst;this.isSmartPointer=isSmartPointer;this.pointeeType=pointeeType;this.sharingPolicy=sharingPolicy;this.rawGetPointee=rawGetPointee;this.rawConstructor=rawConstructor;this.rawShare=rawShare;this.rawDestructor=rawDestructor;if(!isSmartPointer&®isteredClass.baseClass===void 0){if(isConst){this["toWireType"]=constNoSmartPtrRawPointerToWireType;this.destructorFunction=null;}else{this["toWireType"]=nonConstNoSmartPtrRawPointerToWireType;this.destructorFunction=null;}}else{this["toWireType"]=genericPointerToWireType;}}function replacePublicSymbol(name,value,numArguments){if(!Module.hasOwnProperty(name)){throwInternalError("Replacing nonexistant public symbol");}if(Module[name].overloadTable!==void 0&&numArguments!==void 0){Module[name].overloadTable[numArguments]=value;}else{Module[name]=value;Module[name].argCount=numArguments;}}function dynCallLegacy(sig,ptr,args){var f=Module["dynCall_"+sig];return args&&args.length?f.apply(null,[ptr].concat(args)):f.call(null,ptr);}var wasmTableMirror=[];function getWasmTableEntry(funcPtr){var func=wasmTableMirror[funcPtr];if(!func){if(funcPtr>=wasmTableMirror.length)wasmTableMirror.length=funcPtr+1;wasmTableMirror[funcPtr]=func=wasmTable.get(funcPtr);}return func;}function dynCall(sig,ptr,args){if(sig.includes("j")){return dynCallLegacy(sig,ptr,args);}var rtn=getWasmTableEntry(ptr).apply(null,args);return rtn;}function getDynCaller(sig,ptr){var argCache=[];return function(){argCache.length=0;Object.assign(argCache,arguments);return dynCall(sig,ptr,argCache);};}function embind__requireFunction(signature,rawFunction){signature=readLatin1String(signature);function makeDynCaller(){if(signature.includes("j")){return getDynCaller(signature,rawFunction);}return getWasmTableEntry(rawFunction);}var fp=makeDynCaller();if(typeof fp!="function"){throwBindingError("unknown function pointer with signature "+signature+": "+rawFunction);}return fp;}var UnboundTypeError=void 0;function getTypeName(type){var ptr=___getTypeName(type);var rv=readLatin1String(ptr);_free3(ptr);return rv;}function throwUnboundTypeError(message,types){var unboundTypes=[];var seen={};function visit(type){if(seen[type]){return;}if(registeredTypes[type]){return;}if(typeDependencies[type]){typeDependencies[type].forEach(visit);return;}unboundTypes.push(type);seen[type]=true;}types.forEach(visit);throw new UnboundTypeError(message+": "+unboundTypes.map(getTypeName).join([", "]));}function __embind_register_class(rawType,rawPointerType,rawConstPointerType,baseClassRawType,getActualTypeSignature,getActualType,upcastSignature,upcast,downcastSignature,downcast,name,destructorSignature,rawDestructor){name=readLatin1String(name);getActualType=embind__requireFunction(getActualTypeSignature,getActualType);if(upcast){upcast=embind__requireFunction(upcastSignature,upcast);}if(downcast){downcast=embind__requireFunction(downcastSignature,downcast);}rawDestructor=embind__requireFunction(destructorSignature,rawDestructor);var legalFunctionName=makeLegalFunctionName(name);exposePublicSymbol(legalFunctionName,function(){throwUnboundTypeError("Cannot construct "+name+" due to unbound types",[baseClassRawType]);});whenDependentTypesAreResolved([rawType,rawPointerType,rawConstPointerType],baseClassRawType?[baseClassRawType]:[],function(base){base=base[0];var baseClass;var basePrototype;if(baseClassRawType){baseClass=base.registeredClass;basePrototype=baseClass.instancePrototype;}else{basePrototype=ClassHandle.prototype;}var constructor=createNamedFunction(legalFunctionName,function(){if(Object.getPrototypeOf(this)!==instancePrototype){throw new BindingError("Use 'new' to construct "+name);}if(registeredClass.constructor_body===void 0){throw new BindingError(name+" has no accessible constructor");}var body=registeredClass.constructor_body[arguments.length];if(body===void 0){throw new BindingError("Tried to invoke ctor of "+name+" with invalid number of parameters ("+arguments.length+") - expected ("+Object.keys(registeredClass.constructor_body).toString()+") parameters instead!");}return body.apply(this,arguments);});var instancePrototype=Object.create(basePrototype,{constructor:{value:constructor}});constructor.prototype=instancePrototype;var registeredClass=new RegisteredClass(name,constructor,instancePrototype,rawDestructor,baseClass,getActualType,upcast,downcast);var referenceConverter=new RegisteredPointer(name,registeredClass,true,false,false);var pointerConverter=new RegisteredPointer(name+"*",registeredClass,false,false,false);var constPointerConverter=new RegisteredPointer(name+" const*",registeredClass,false,true,false);registeredPointers[rawType]={pointerType:pointerConverter,constPointerType:constPointerConverter};replacePublicSymbol(legalFunctionName,constructor);return[referenceConverter,pointerConverter,constPointerConverter];});}function heap32VectorToArray(count,firstElement){var array=[];for(var i=0;i>>2]);}return array;}function new_(constructor,argumentList){if(!(constructor instanceof Function)){throw new TypeError("new_ called with constructor type "+_typeof(constructor)+" which is not a function");}var dummy=createNamedFunction(constructor.name||"unknownFunctionName",function(){});dummy.prototype=constructor.prototype;var obj=new dummy();var r=constructor.apply(obj,argumentList);return r instanceof Object?r:obj;}function craftInvokerFunction(humanName,argTypes,classType,cppInvokerFunc,cppTargetFunc){var argCount=argTypes.length;if(argCount<2){throwBindingError("argTypes array size mismatch! Must at least get return value and 'this' types!");}var isClassMethodFunc=argTypes[1]!==null&&classType!==null;var needsDestructorStack=false;for(var i=1;i0?", ":"")+argsListWired;}invokerFnBody+=(returns?"var rv = ":"")+"invoker(fn"+(argsListWired.length>0?", ":"")+argsListWired+");\n";if(needsDestructorStack){invokerFnBody+="runDestructors(destructors);\n";}else{for(var i=isClassMethodFunc?1:2;i0);var rawArgTypes=heap32VectorToArray(argCount,rawArgTypesAddr);invoker=embind__requireFunction(invokerSignature,invoker);whenDependentTypesAreResolved([],[rawClassType],function(classType){classType=classType[0];var humanName="constructor "+classType.name;if(classType.registeredClass.constructor_body===void 0){classType.registeredClass.constructor_body=[];}if(classType.registeredClass.constructor_body[argCount-1]!==void 0){throw new BindingError("Cannot register multiple constructors with identical number of parameters ("+(argCount-1)+") for class '"+classType.name+"'! Overload resolution is currently only performed using the parameter count, not actual type info!");}classType.registeredClass.constructor_body[argCount-1]=function(){throwUnboundTypeError("Cannot construct "+classType.name+" due to unbound types",rawArgTypes);};whenDependentTypesAreResolved([],rawArgTypes,function(argTypes){argTypes.splice(1,0,null);classType.registeredClass.constructor_body[argCount-1]=craftInvokerFunction(humanName,argTypes,null,invoker,rawConstructor);return[];});return[];});}function __embind_register_class_function(rawClassType,methodName,argCount,rawArgTypesAddr,invokerSignature,rawInvoker,context,isPureVirtual){var rawArgTypes=heap32VectorToArray(argCount,rawArgTypesAddr);methodName=readLatin1String(methodName);rawInvoker=embind__requireFunction(invokerSignature,rawInvoker);whenDependentTypesAreResolved([],[rawClassType],function(classType){classType=classType[0];var humanName=classType.name+"."+methodName;if(methodName.startsWith("@@")){methodName=Symbol[methodName.substring(2)];}if(isPureVirtual){classType.registeredClass.pureVirtualFunctions.push(methodName);}function unboundTypesHandler(){throwUnboundTypeError("Cannot call "+humanName+" due to unbound types",rawArgTypes);}var proto=classType.registeredClass.instancePrototype;var method=proto[methodName];if(method===void 0||method.overloadTable===void 0&&method.className!==classType.name&&method.argCount===argCount-2){unboundTypesHandler.argCount=argCount-2;unboundTypesHandler.className=classType.name;proto[methodName]=unboundTypesHandler;}else{ensureOverloadTable(proto,methodName,humanName);proto[methodName].overloadTable[argCount-2]=unboundTypesHandler;}whenDependentTypesAreResolved([],rawArgTypes,function(argTypes){var memberFunction=craftInvokerFunction(humanName,argTypes,classType,rawInvoker,context);if(proto[methodName].overloadTable===void 0){memberFunction.argCount=argCount-2;proto[methodName]=memberFunction;}else{proto[methodName].overloadTable[argCount-2]=memberFunction;}return[];});return[];});}var emval_free_list=[];var emval_handle_array=[{},{value:void 0},{value:null},{value:true},{value:false}];function __emval_decref(handle){if(handle>4&&--emval_handle_array[handle].refcount===0){emval_handle_array[handle]=void 0;emval_free_list.push(handle);}}function count_emval_handles(){var count=0;for(var i=5;i>>0]);};case 1:return function(pointer){var heap=signed?HEAP16:HEAPU16;return this["fromWireType"](heap[pointer>>>1]);};case 2:return function(pointer){var heap=signed?HEAP32:HEAPU32;return this["fromWireType"](heap[pointer>>>2]);};default:throw new TypeError("Unknown integer type: "+name);}}function __embind_register_enum(rawType,name,size,isSigned){var shift=getShiftFromSize(size);name=readLatin1String(name);function ctor(){}ctor.values={};registerType(rawType,{name:name,constructor:ctor,"fromWireType":function fromWireType(c){return this.constructor.values[c];},"toWireType":function toWireType(destructors,c){return c.value;},"argPackAdvance":8,"readValueFromPointer":enumReadValueFromPointer(name,shift,isSigned),destructorFunction:null});exposePublicSymbol(name,ctor);}function requireRegisteredType(rawType,humanName){var impl=registeredTypes[rawType];if(impl===void 0){throwBindingError(humanName+" has unknown type "+getTypeName(rawType));}return impl;}function __embind_register_enum_value(rawEnumType,name,enumValue){var enumType=requireRegisteredType(rawEnumType,"enum");name=readLatin1String(name);var Enum=enumType.constructor;var Value=Object.create(enumType.constructor.prototype,{value:{value:enumValue},constructor:{value:createNamedFunction(enumType.name+"_"+name,function(){})}});Enum.values[enumValue]=Value;Enum[name]=Value;}function embindRepr(v){if(v===null){return"null";}var t=_typeof(v);if(t==="object"||t==="array"||t==="function"){return v.toString();}else{return""+v;}}function floatReadValueFromPointer(name,shift){switch(shift){case 2:return function(pointer){return this["fromWireType"](HEAPF32[pointer>>>2]);};case 3:return function(pointer){return this["fromWireType"](HEAPF64[pointer>>>3]);};default:throw new TypeError("Unknown float type: "+name);}}function __embind_register_float(rawType,name,size){var shift=getShiftFromSize(size);name=readLatin1String(name);registerType(rawType,{name:name,"fromWireType":function fromWireType(value){return value;},"toWireType":function toWireType(destructors,value){return value;},"argPackAdvance":8,"readValueFromPointer":floatReadValueFromPointer(name,shift),destructorFunction:null});}function __embind_register_function(name,argCount,rawArgTypesAddr,signature,rawInvoker,fn){var argTypes=heap32VectorToArray(argCount,rawArgTypesAddr);name=readLatin1String(name);rawInvoker=embind__requireFunction(signature,rawInvoker);exposePublicSymbol(name,function(){throwUnboundTypeError("Cannot call "+name+" due to unbound types",argTypes);},argCount-1);whenDependentTypesAreResolved([],argTypes,function(argTypes2){var invokerArgsArray=[argTypes2[0],null].concat(argTypes2.slice(1));replacePublicSymbol(name,craftInvokerFunction(name,invokerArgsArray,null,rawInvoker,fn),argCount-1);return[];});}function integerReadValueFromPointer(name,shift,signed){switch(shift){case 0:return signed?function readS8FromPointer(pointer){return HEAP8[pointer>>>0];}:function readU8FromPointer(pointer){return HEAPU8[pointer>>>0];};case 1:return signed?function readS16FromPointer(pointer){return HEAP16[pointer>>>1];}:function readU16FromPointer(pointer){return HEAPU16[pointer>>>1];};case 2:return signed?function readS32FromPointer(pointer){return HEAP32[pointer>>>2];}:function readU32FromPointer(pointer){return HEAPU32[pointer>>>2];};default:throw new TypeError("Unknown integer type: "+name);}}function __embind_register_integer(primitiveType,name,size,minRange,maxRange){name=readLatin1String(name);var shift=getShiftFromSize(size);var fromWireType=function fromWireType(value){return value;};if(minRange===0){var bitshift=32-8*size;fromWireType=function fromWireType(value){return value<>>bitshift;};}var isUnsignedType=name.includes("unsigned");var checkAssertions=function checkAssertions(value,toTypeName){};var toWireType;if(isUnsignedType){toWireType=function toWireType(destructors,value){checkAssertions(value,this.name);return value>>>0;};}else{toWireType=function toWireType(destructors,value){checkAssertions(value,this.name);return value;};}registerType(primitiveType,{name:name,"fromWireType":fromWireType,"toWireType":toWireType,"argPackAdvance":8,"readValueFromPointer":integerReadValueFromPointer(name,shift,minRange!==0),destructorFunction:null});}function __embind_register_memory_view(rawType,dataTypeIndex,name){var typeMapping=[Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array];var TA=typeMapping[dataTypeIndex];function decodeMemoryView(handle){handle=handle>>2;var heap=HEAPU32;var size=heap[handle>>>0];var data=heap[handle+1>>>0];return new TA(heap.buffer,data,size);}name=readLatin1String(name);registerType(rawType,{name:name,"fromWireType":decodeMemoryView,"argPackAdvance":8,"readValueFromPointer":decodeMemoryView},{ignoreDuplicateRegistrations:true});}function __embind_register_std_string(rawType,name){name=readLatin1String(name);var stdStringIsUTF8=name==="std::string";registerType(rawType,{name:name,"fromWireType":function fromWireType(value){var length=HEAPU32[value>>>2];var payload=value+4;var str;if(stdStringIsUTF8){var decodeStartPtr=payload;for(var i=0;i<=length;++i){var currentBytePtr=payload+i;if(i==length||HEAPU8[currentBytePtr>>>0]==0){var maxRead=currentBytePtr-decodeStartPtr;var stringSegment=UTF8ToString(decodeStartPtr,maxRead);if(str===void 0){str=stringSegment;}else{str+=String.fromCharCode(0);str+=stringSegment;}decodeStartPtr=currentBytePtr+1;}}}else{var a=new Array(length);for(var i=0;i>>0]);}str=a.join("");}_free3(value);return str;},"toWireType":function toWireType(destructors,value){if(value instanceof ArrayBuffer){value=new Uint8Array(value);}var length;var valueIsOfTypeString=typeof value=="string";if(!(valueIsOfTypeString||value instanceof Uint8Array||value instanceof Uint8ClampedArray||value instanceof Int8Array)){throwBindingError("Cannot pass non-string to std::string");}if(stdStringIsUTF8&&valueIsOfTypeString){length=lengthBytesUTF8(value);}else{length=value.length;}var base=_malloc3(4+length+1);var ptr=base+4;ptr>>>=0;HEAPU32[base>>>2]=length;if(stdStringIsUTF8&&valueIsOfTypeString){stringToUTF8(value,ptr,length+1);}else{if(valueIsOfTypeString){for(var i=0;i255){_free3(ptr);throwBindingError("String has UTF-16 code units that do not fit in 8 bits");}HEAPU8[ptr+i>>>0]=charCode;}}else{for(var i=0;i>>0]=value[i];}}}if(destructors!==null){destructors.push(_free3,base);}return base;},"argPackAdvance":8,"readValueFromPointer":simpleReadValueFromPointer,destructorFunction:function destructorFunction(ptr){_free3(ptr);}});}var UTF16Decoder=typeof TextDecoder!="undefined"?new TextDecoder("utf-16le"):void 0;function UTF16ToString(ptr,maxBytesToRead){var endPtr=ptr;var idx=endPtr>>1;var maxIdx=idx+maxBytesToRead/2;while(!(idx>=maxIdx)&&HEAPU16[idx>>>0]){++idx;}endPtr=idx<<1;if(endPtr-ptr>32&&UTF16Decoder)return UTF16Decoder.decode(HEAPU8.subarray(ptr>>>0,endPtr>>>0));var str="";for(var i=0;!(i>=maxBytesToRead/2);++i){var codeUnit=HEAP16[ptr+i*2>>>1];if(codeUnit==0)break;str+=String.fromCharCode(codeUnit);}return str;}function stringToUTF16(str,outPtr,maxBytesToWrite){if(maxBytesToWrite===void 0){maxBytesToWrite=2147483647;}if(maxBytesToWrite<2)return 0;maxBytesToWrite-=2;var startPtr=outPtr;var numCharsToWrite=maxBytesToWrite>>1]=codeUnit;outPtr+=2;}HEAP16[outPtr>>>1]=0;return outPtr-startPtr;}function lengthBytesUTF16(str){return str.length*2;}function UTF32ToString(ptr,maxBytesToRead){var i=0;var str="";while(!(i>=maxBytesToRead/4)){var utf32=HEAP32[ptr+i*4>>>2];if(utf32==0)break;++i;if(utf32>=65536){var ch=utf32-65536;str+=String.fromCharCode(55296|ch>>10,56320|ch&1023);}else{str+=String.fromCharCode(utf32);}}return str;}function stringToUTF32(str,outPtr,maxBytesToWrite){outPtr>>>=0;if(maxBytesToWrite===void 0){maxBytesToWrite=2147483647;}if(maxBytesToWrite<4)return 0;var startPtr=outPtr;var endPtr=startPtr+maxBytesToWrite-4;for(var i=0;i=55296&&codeUnit<=57343){var trailSurrogate=str.charCodeAt(++i);codeUnit=65536+((codeUnit&1023)<<10)|trailSurrogate&1023;}HEAP32[outPtr>>>2]=codeUnit;outPtr+=4;if(outPtr+4>endPtr)break;}HEAP32[outPtr>>>2]=0;return outPtr-startPtr;}function lengthBytesUTF32(str){var len=0;for(var i=0;i=55296&&codeUnit<=57343)++i;len+=4;}return len;}function __embind_register_std_wstring(rawType,charSize,name){name=readLatin1String(name);var decodeString,encodeString,getHeap,lengthBytesUTF,shift;if(charSize===2){decodeString=UTF16ToString;encodeString=stringToUTF16;lengthBytesUTF=lengthBytesUTF16;getHeap=function getHeap(){return HEAPU16;};shift=1;}else if(charSize===4){decodeString=UTF32ToString;encodeString=stringToUTF32;lengthBytesUTF=lengthBytesUTF32;getHeap=function getHeap(){return HEAPU32;};shift=2;}registerType(rawType,{name:name,"fromWireType":function fromWireType(value){var length=HEAPU32[value>>>2];var HEAP=getHeap();var str;var decodeStartPtr=value+4;for(var i=0;i<=length;++i){var currentBytePtr=value+4+i*charSize;if(i==length||HEAP[currentBytePtr>>>shift]==0){var maxReadBytes=currentBytePtr-decodeStartPtr;var stringSegment=decodeString(decodeStartPtr,maxReadBytes);if(str===void 0){str=stringSegment;}else{str+=String.fromCharCode(0);str+=stringSegment;}decodeStartPtr=currentBytePtr+charSize;}}_free3(value);return str;},"toWireType":function toWireType(destructors,value){if(!(typeof value=="string")){throwBindingError("Cannot pass non-string to C++ string type "+name);}var length=lengthBytesUTF(value);var ptr=_malloc3(4+length+charSize);ptr>>>=0;HEAPU32[ptr>>>2]=length>>shift;encodeString(value,ptr+4,length+charSize);if(destructors!==null){destructors.push(_free3,ptr);}return ptr;},"argPackAdvance":8,"readValueFromPointer":simpleReadValueFromPointer,destructorFunction:function destructorFunction(ptr){_free3(ptr);}});}function __embind_register_value_array(rawType,name,constructorSignature,rawConstructor,destructorSignature,rawDestructor){tupleRegistrations[rawType]={name:readLatin1String(name),rawConstructor:embind__requireFunction(constructorSignature,rawConstructor),rawDestructor:embind__requireFunction(destructorSignature,rawDestructor),elements:[]};}function __embind_register_value_array_element(rawTupleType,getterReturnType,getterSignature,getter,getterContext,setterArgumentType,setterSignature,setter,setterContext){tupleRegistrations[rawTupleType].elements.push({getterReturnType:getterReturnType,getter:embind__requireFunction(getterSignature,getter),getterContext:getterContext,setterArgumentType:setterArgumentType,setter:embind__requireFunction(setterSignature,setter),setterContext:setterContext});}function __embind_register_value_object(rawType,name,constructorSignature,rawConstructor,destructorSignature,rawDestructor){structRegistrations[rawType]={name:readLatin1String(name),rawConstructor:embind__requireFunction(constructorSignature,rawConstructor),rawDestructor:embind__requireFunction(destructorSignature,rawDestructor),fields:[]};}function __embind_register_value_object_field(structType,fieldName,getterReturnType,getterSignature,getter,getterContext,setterArgumentType,setterSignature,setter,setterContext){structRegistrations[structType].fields.push({fieldName:readLatin1String(fieldName),getterReturnType:getterReturnType,getter:embind__requireFunction(getterSignature,getter),getterContext:getterContext,setterArgumentType:setterArgumentType,setter:embind__requireFunction(setterSignature,setter),setterContext:setterContext});}function __embind_register_void(rawType,name){name=readLatin1String(name);registerType(rawType,{isVoid:true,name:name,"argPackAdvance":0,"fromWireType":function fromWireType(){return void 0;},"toWireType":function toWireType(destructors,o){return void 0;}});}function __emval_as(handle,returnType,destructorsRef){handle=Emval.toValue(handle);returnType=requireRegisteredType(returnType,"emval::as");var destructors=[];var rd=Emval.toHandle(destructors);HEAPU32[destructorsRef>>>2]=rd;return returnType["toWireType"](destructors,handle);}function emval_lookupTypes(argCount,argTypes){var a=new Array(argCount);for(var i=0;i>>2],"parameter "+i);}return a;}function __emval_call(handle,argCount,argTypes,argv){handle=Emval.toValue(handle);var types=emval_lookupTypes(argCount,argTypes);var args=new Array(argCount);for(var i=0;i4){emval_handle_array[handle].refcount+=1;}}function __emval_instanceof(object,constructor){object=Emval.toValue(object);constructor=Emval.toValue(constructor);return object instanceof constructor;}function __emval_is_number(handle){handle=Emval.toValue(handle);return typeof handle=="number";}function __emval_is_string(handle){handle=Emval.toValue(handle);return typeof handle=="string";}function __emval_new_array(){return Emval.toHandle([]);}function __emval_new_cstring(v){return Emval.toHandle(getStringOrSymbol(v));}function __emval_new_object(){return Emval.toHandle({});}function __emval_run_destructors(handle){var destructors=Emval.toValue(handle);runDestructors(destructors);__emval_decref(handle);}function __emval_set_property(handle,key,value){handle=Emval.toValue(handle);key=Emval.toValue(key);value=Emval.toValue(value);handle[key]=value;}function __emval_take_value(type,arg){type=requireRegisteredType(type,"_emval_take_value");var v=type["readValueFromPointer"](arg);return Emval.toHandle(v);}function _abort(){abort("");}function _emscripten_memcpy_big(dest,src,num){HEAPU8.copyWithin(dest>>>0,src>>>0,src+num>>>0);}function getHeapMax(){return 4294901760;}function emscripten_realloc_buffer(size){var b=wasmMemory.buffer;try{wasmMemory.grow(size-b.byteLength+65535>>>16);updateMemoryViews();return 1;}catch(e){}}function _emscripten_resize_heap(requestedSize){var oldSize=HEAPU8.length;requestedSize=requestedSize>>>0;var maxHeapSize=getHeapMax();if(requestedSize>maxHeapSize){return false;}var alignUp=function alignUp(x,multiple){return x+(multiple-x%multiple)%multiple;};for(var cutDown=1;cutDown<=4;cutDown*=2){var overGrownHeapSize=oldSize*(1+0.2/cutDown);overGrownHeapSize=Math.min(overGrownHeapSize,requestedSize+100663296);var newSize=Math.min(maxHeapSize,alignUp(Math.max(requestedSize,overGrownHeapSize),65536));var replacement=emscripten_realloc_buffer(newSize);if(replacement){return true;}}return false;}var ENV={};function getExecutableName(){return thisProgram||"./this.program";}function getEnvStrings(){if(!getEnvStrings.strings){var lang=((typeof navigator==="undefined"?"undefined":_typeof(navigator))=="object"&&navigator.languages&&navigator.languages[0]||"C").replace("-","_")+".UTF-8";var env={"USER":"web_user","LOGNAME":"web_user","PATH":"/","PWD":"/","HOME":"/home/web_user","LANG":lang,"_":getExecutableName()};for(var x in ENV){if(ENV[x]===void 0)delete env[x];else env[x]=ENV[x];}var strings=[];for(var x in env){strings.push(x+"="+env[x]);}getEnvStrings.strings=strings;}return getEnvStrings.strings;}function writeAsciiToMemory(str,buffer,dontAddNull){for(var i=0;i>>0]=str.charCodeAt(i);}if(!dontAddNull)HEAP8[buffer>>>0]=0;}var PATH={isAbs:function isAbs(path){return path.charAt(0)==="/";},splitPath:function splitPath(filename){var splitPathRe=/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/;return splitPathRe.exec(filename).slice(1);},normalizeArray:function normalizeArray(parts,allowAboveRoot){var up=0;for(var i=parts.length-1;i>=0;i--){var last=parts[i];if(last==="."){parts.splice(i,1);}else if(last===".."){parts.splice(i,1);up++;}else if(up){parts.splice(i,1);up--;}}if(allowAboveRoot){for(;up;up--){parts.unshift("..");}}return parts;},normalize:function normalize(path){var isAbsolute=PATH.isAbs(path),trailingSlash=path.substr(-1)==="/";path=PATH.normalizeArray(path.split("/").filter(function(p){return!!p;}),!isAbsolute).join("/");if(!path&&!isAbsolute){path=".";}if(path&&trailingSlash){path+="/";}return(isAbsolute?"/":"")+path;},dirname:function dirname(path){var result=PATH.splitPath(path),root=result[0],dir=result[1];if(!root&&!dir){return".";}if(dir){dir=dir.substr(0,dir.length-1);}return root+dir;},basename:function basename(path){if(path==="/")return"/";path=PATH.normalize(path);path=path.replace(/\/$/,"");var lastSlash=path.lastIndexOf("/");if(lastSlash===-1)return path;return path.substr(lastSlash+1);},join:function join(){var paths=Array.prototype.slice.call(arguments);return PATH.normalize(paths.join("/"));},join2:function join2(l,r){return PATH.normalize(l+"/"+r);}};function getRandomDevice(){if((typeof crypto==="undefined"?"undefined":_typeof(crypto))=="object"&&typeof crypto["getRandomValues"]=="function"){var randomBuffer=new Uint8Array(1);return function(){crypto.getRandomValues(randomBuffer);return randomBuffer[0];};}else return function(){return abort("randomDevice");};}var PATH_FS={resolve:function resolve(){var resolvedPath="",resolvedAbsolute=false;for(var i=arguments.length-1;i>=-1&&!resolvedAbsolute;i--){var path=i>=0?arguments[i]:FS.cwd();if(typeof path!="string"){throw new TypeError("Arguments to path.resolve must be strings");}else if(!path){return"";}resolvedPath=path+"/"+resolvedPath;resolvedAbsolute=PATH.isAbs(path);}resolvedPath=PATH.normalizeArray(resolvedPath.split("/").filter(function(p){return!!p;}),!resolvedAbsolute).join("/");return(resolvedAbsolute?"/":"")+resolvedPath||".";},relative:function relative(from,to){from=PATH_FS.resolve(from).substr(1);to=PATH_FS.resolve(to).substr(1);function trim(arr){var start=0;for(;start=0;end--){if(arr[end]!=="")break;}if(start>end)return[];return arr.slice(start,end-start+1);}var fromParts=trim(from.split("/"));var toParts=trim(to.split("/"));var length=Math.min(fromParts.length,toParts.length);var samePartsLength=length;for(var i=0;i0?length:lengthBytesUTF8(stringy)+1;var u8array=new Array(len);var numBytesWritten=stringToUTF8Array(stringy,u8array,0,u8array.length);if(dontAddNull)u8array.length=numBytesWritten;return u8array;}var TTY={ttys:[],init:function init(){},shutdown:function shutdown(){},register:function register(dev,ops){TTY.ttys[dev]={input:[],output:[],ops:ops};FS.registerDevice(dev,TTY.stream_ops);},stream_ops:{open:function open(stream){var tty=TTY.ttys[stream.node.rdev];if(!tty){throw new FS.ErrnoError(43);}stream.tty=tty;stream.seekable=false;},close:function close(stream){stream.tty.ops.fsync(stream.tty);},fsync:function fsync(stream){stream.tty.ops.fsync(stream.tty);},read:function read(stream,buffer,offset,length,pos){if(!stream.tty||!stream.tty.ops.get_char){throw new FS.ErrnoError(60);}var bytesRead=0;for(var i=0;i0){out(UTF8ArrayToString(tty.output,0));tty.output=[];}}},default_tty1_ops:{put_char:function put_char(tty,val){if(val===null||val===10){err(UTF8ArrayToString(tty.output,0));tty.output=[];}else{if(val!=0)tty.output.push(val);}},fsync:function fsync(tty){if(tty.output&&tty.output.length>0){err(UTF8ArrayToString(tty.output,0));tty.output=[];}}}};function mmapAlloc(size){abort();}var MEMFS={ops_table:null,mount:function mount(_mount2){return MEMFS.createNode(null,"/",16384|511,0);},createNode:function createNode(parent,name,mode,dev){if(FS.isBlkdev(mode)||FS.isFIFO(mode)){throw new FS.ErrnoError(63);}if(!MEMFS.ops_table){MEMFS.ops_table={dir:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr,lookup:MEMFS.node_ops.lookup,mknod:MEMFS.node_ops.mknod,rename:MEMFS.node_ops.rename,unlink:MEMFS.node_ops.unlink,rmdir:MEMFS.node_ops.rmdir,readdir:MEMFS.node_ops.readdir,symlink:MEMFS.node_ops.symlink},stream:{llseek:MEMFS.stream_ops.llseek}},file:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr},stream:{llseek:MEMFS.stream_ops.llseek,read:MEMFS.stream_ops.read,write:MEMFS.stream_ops.write,allocate:MEMFS.stream_ops.allocate,mmap:MEMFS.stream_ops.mmap,msync:MEMFS.stream_ops.msync}},link:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr,readlink:MEMFS.node_ops.readlink},stream:{}},chrdev:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr},stream:FS.chrdev_stream_ops}};}var node=FS.createNode(parent,name,mode,dev);if(FS.isDir(node.mode)){node.node_ops=MEMFS.ops_table.dir.node;node.stream_ops=MEMFS.ops_table.dir.stream;node.contents={};}else if(FS.isFile(node.mode)){node.node_ops=MEMFS.ops_table.file.node;node.stream_ops=MEMFS.ops_table.file.stream;node.usedBytes=0;node.contents=null;}else if(FS.isLink(node.mode)){node.node_ops=MEMFS.ops_table.link.node;node.stream_ops=MEMFS.ops_table.link.stream;}else if(FS.isChrdev(node.mode)){node.node_ops=MEMFS.ops_table.chrdev.node;node.stream_ops=MEMFS.ops_table.chrdev.stream;}node.timestamp=Date.now();if(parent){parent.contents[name]=node;parent.timestamp=node.timestamp;}return node;},getFileDataAsTypedArray:function getFileDataAsTypedArray(node){if(!node.contents)return new Uint8Array(0);if(node.contents.subarray)return node.contents.subarray(0,node.usedBytes);return new Uint8Array(node.contents);},expandFileStorage:function expandFileStorage(node,newCapacity){newCapacity>>>=0;var prevCapacity=node.contents?node.contents.length:0;if(prevCapacity>=newCapacity)return;var CAPACITY_DOUBLING_MAX=1024*1024;newCapacity=Math.max(newCapacity,prevCapacity*(prevCapacity>>0);if(prevCapacity!=0)newCapacity=Math.max(newCapacity,256);var oldContents=node.contents;node.contents=new Uint8Array(newCapacity);if(node.usedBytes>0)node.contents.set(oldContents.subarray(0,node.usedBytes),0);},resizeFileStorage:function resizeFileStorage(node,newSize){newSize>>>=0;if(node.usedBytes==newSize)return;if(newSize==0){node.contents=null;node.usedBytes=0;}else{var oldContents=node.contents;node.contents=new Uint8Array(newSize);if(oldContents){node.contents.set(oldContents.subarray(0,Math.min(newSize,node.usedBytes)));}node.usedBytes=newSize;}},node_ops:{getattr:function getattr(node){var attr={};attr.dev=FS.isChrdev(node.mode)?node.id:1;attr.ino=node.id;attr.mode=node.mode;attr.nlink=1;attr.uid=0;attr.gid=0;attr.rdev=node.rdev;if(FS.isDir(node.mode)){attr.size=4096;}else if(FS.isFile(node.mode)){attr.size=node.usedBytes;}else if(FS.isLink(node.mode)){attr.size=node.link.length;}else{attr.size=0;}attr.atime=new Date(node.timestamp);attr.mtime=new Date(node.timestamp);attr.ctime=new Date(node.timestamp);attr.blksize=4096;attr.blocks=Math.ceil(attr.size/attr.blksize);return attr;},setattr:function setattr(node,attr){if(attr.mode!==void 0){node.mode=attr.mode;}if(attr.timestamp!==void 0){node.timestamp=attr.timestamp;}if(attr.size!==void 0){MEMFS.resizeFileStorage(node,attr.size);}},lookup:function lookup(parent,name){throw FS.genericErrors[44];},mknod:function mknod(parent,name,mode,dev){return MEMFS.createNode(parent,name,mode,dev);},rename:function rename(old_node,new_dir,new_name){if(FS.isDir(old_node.mode)){var new_node;try{new_node=FS.lookupNode(new_dir,new_name);}catch(e){}if(new_node){for(var i in new_node.contents){throw new FS.ErrnoError(55);}}}delete old_node.parent.contents[old_node.name];old_node.parent.timestamp=Date.now();old_node.name=new_name;new_dir.contents[new_name]=old_node;new_dir.timestamp=old_node.parent.timestamp;old_node.parent=new_dir;},unlink:function unlink(parent,name){delete parent.contents[name];parent.timestamp=Date.now();},rmdir:function rmdir(parent,name){var node=FS.lookupNode(parent,name);for(var i in node.contents){throw new FS.ErrnoError(55);}delete parent.contents[name];parent.timestamp=Date.now();},readdir:function readdir(node){var entries=[".",".."];for(var key in node.contents){if(!node.contents.hasOwnProperty(key)){continue;}entries.push(key);}return entries;},symlink:function symlink(parent,newname,oldpath){var node=MEMFS.createNode(parent,newname,511|40960,0);node.link=oldpath;return node;},readlink:function readlink(node){if(!FS.isLink(node.mode)){throw new FS.ErrnoError(28);}return node.link;}},stream_ops:{read:function read(stream,buffer,offset,length,position){var contents=stream.node.contents;if(position>=stream.node.usedBytes)return 0;var size=Math.min(stream.node.usedBytes-position,length);if(size>8&&contents.subarray){buffer.set(contents.subarray(position,position+size),offset);}else{for(var i=0;i0||position+length>>=0;HEAP8.set(contents,ptr>>>0);}return{ptr:ptr,allocated:allocated};},msync:function msync(stream,buffer,offset,length,mmapFlags){MEMFS.stream_ops.write(stream,buffer,0,length,offset,false);return 0;}}};function asyncLoad(url,onload,onerror,noRunDep){var dep=!noRunDep?getUniqueRunDependency("al "+url):"";readAsync(url,function(arrayBuffer){assert(arrayBuffer,'Loading data file "'+url+'" failed (no arrayBuffer).');onload(new Uint8Array(arrayBuffer));if(dep)removeRunDependency();},function(event){if(onerror){onerror();}else{throw'Loading data file "'+url+'" failed.';}});if(dep)addRunDependency();}var FS={root:null,mounts:[],devices:{},streams:[],nextInode:1,nameTable:null,currentPath:"/",initialized:false,ignorePermissions:true,ErrnoError:null,genericErrors:{},filesystems:null,syncFSRequests:0,lookupPath:function lookupPath(path){var opts=arguments.length>1&&arguments[1]!==undefined?arguments[1]:{};path=PATH_FS.resolve(path);if(!path)return{path:"",node:null};var defaults={follow_mount:true,recurse_count:0};opts=Object.assign(defaults,opts);if(opts.recurse_count>8){throw new FS.ErrnoError(32);}var parts=path.split("/").filter(function(p){return!!p;});var current=FS.root;var current_path="/";for(var i=0;i40){throw new FS.ErrnoError(32);}}}}return{path:current_path,node:current};},getPath:function getPath(node){var path;while(true){if(FS.isRoot(node)){var mount=node.mount.mountpoint;if(!path)return mount;return mount[mount.length-1]!=="/"?mount+"/"+path:mount+path;}path=path?node.name+"/"+path:node.name;node=node.parent;}},hashName:function hashName(parentid,name){var hash=0;for(var i=0;i>>0)%FS.nameTable.length;},hashAddNode:function hashAddNode(node){var hash=FS.hashName(node.parent.id,node.name);node.name_next=FS.nameTable[hash];FS.nameTable[hash]=node;},hashRemoveNode:function hashRemoveNode(node){var hash=FS.hashName(node.parent.id,node.name);if(FS.nameTable[hash]===node){FS.nameTable[hash]=node.name_next;}else{var current=FS.nameTable[hash];while(current){if(current.name_next===node){current.name_next=node.name_next;break;}current=current.name_next;}}},lookupNode:function lookupNode(parent,name){var errCode=FS.mayLookup(parent);if(errCode){throw new FS.ErrnoError(errCode,parent);}var hash=FS.hashName(parent.id,name);for(var node=FS.nameTable[hash];node;node=node.name_next){var nodeName=node.name;if(node.parent.id===parent.id&&nodeName===name){return node;}}return FS.lookup(parent,name);},createNode:function createNode(parent,name,mode,rdev){var node=new FS.FSNode(parent,name,mode,rdev);FS.hashAddNode(node);return node;},destroyNode:function destroyNode(node){FS.hashRemoveNode(node);},isRoot:function isRoot(node){return node===node.parent;},isMountpoint:function isMountpoint(node){return!!node.mounted;},isFile:function isFile(mode){return(mode&61440)===32768;},isDir:function isDir(mode){return(mode&61440)===16384;},isLink:function isLink(mode){return(mode&61440)===40960;},isChrdev:function isChrdev(mode){return(mode&61440)===8192;},isBlkdev:function isBlkdev(mode){return(mode&61440)===24576;},isFIFO:function isFIFO(mode){return(mode&61440)===4096;},isSocket:function isSocket(mode){return(mode&49152)===49152;},flagModes:{"r":0,"r+":2,"w":577,"w+":578,"a":1089,"a+":1090},modeStringToFlags:function modeStringToFlags(str){var flags=FS.flagModes[str];if(typeof flags=="undefined"){throw new Error("Unknown file open mode: "+str);}return flags;},flagsToPermissionString:function flagsToPermissionString(flag){var perms=["r","w","rw"][flag&3];if(flag&512){perms+="w";}return perms;},nodePermissions:function nodePermissions(node,perms){if(FS.ignorePermissions){return 0;}if(perms.includes("r")&&!(node.mode&292)){return 2;}else if(perms.includes("w")&&!(node.mode&146)){return 2;}else if(perms.includes("x")&&!(node.mode&73)){return 2;}return 0;},mayLookup:function mayLookup(dir){var errCode=FS.nodePermissions(dir,"x");if(errCode)return errCode;if(!dir.node_ops.lookup)return 2;return 0;},mayCreate:function mayCreate(dir,name){try{var node=FS.lookupNode(dir,name);return 20;}catch(e){}return FS.nodePermissions(dir,"wx");},mayDelete:function mayDelete(dir,name,isdir){var node;try{node=FS.lookupNode(dir,name);}catch(e){return e.errno;}var errCode=FS.nodePermissions(dir,"wx");if(errCode){return errCode;}if(isdir){if(!FS.isDir(node.mode)){return 54;}if(FS.isRoot(node)||FS.getPath(node)===FS.cwd()){return 10;}}else{if(FS.isDir(node.mode)){return 31;}}return 0;},mayOpen:function mayOpen(node,flags){if(!node){return 44;}if(FS.isLink(node.mode)){return 32;}else if(FS.isDir(node.mode)){if(FS.flagsToPermissionString(flags)!=="r"||flags&512){return 31;}}return FS.nodePermissions(node,FS.flagsToPermissionString(flags));},MAX_OPEN_FDS:4096,nextfd:function nextfd(){var fd_start=arguments.length>0&&arguments[0]!==undefined?arguments[0]:0;var fd_end=arguments.length>1&&arguments[1]!==undefined?arguments[1]:FS.MAX_OPEN_FDS;for(var fd=fd_start;fd<=fd_end;fd++){if(!FS.streams[fd]){return fd;}}throw new FS.ErrnoError(33);},getStream:function getStream(fd){return FS.streams[fd];},createStream:function createStream(stream,fd_start,fd_end){if(!FS.FSStream){FS.FSStream=function(){this.shared={};};FS.FSStream.prototype={};Object.defineProperties(FS.FSStream.prototype,{object:{get:function get(){return this.node;},set:function set(val){this.node=val;}},isRead:{get:function get(){return(this.flags&2097155)!==1;}},isWrite:{get:function get(){return(this.flags&2097155)!==0;}},isAppend:{get:function get(){return this.flags&1024;}},flags:{get:function get(){return this.shared.flags;},set:function set(val){this.shared.flags=val;}},position:{get:function get(){return this.shared.position;},set:function set(val){this.shared.position=val;}}});}stream=Object.assign(new FS.FSStream(),stream);var fd=FS.nextfd(fd_start,fd_end);stream.fd=fd;FS.streams[fd]=stream;return stream;},closeStream:function closeStream(fd){FS.streams[fd]=null;},chrdev_stream_ops:{open:function open(stream){var device=FS.getDevice(stream.node.rdev);stream.stream_ops=device.stream_ops;if(stream.stream_ops.open){stream.stream_ops.open(stream);}},llseek:function llseek(){throw new FS.ErrnoError(70);}},major:function major(dev){return dev>>8;},minor:function minor(dev){return dev&255;},makedev:function makedev(ma,mi){return ma<<8|mi;},registerDevice:function registerDevice(dev,ops){FS.devices[dev]={stream_ops:ops};},getDevice:function getDevice(dev){return FS.devices[dev];},getMounts:function getMounts(mount){var mounts=[];var check=[mount];while(check.length){var m=check.pop();mounts.push(m);check.push.apply(check,m.mounts);}return mounts;},syncfs:function syncfs(populate,callback){if(typeof populate=="function"){callback=populate;populate=false;}FS.syncFSRequests++;if(FS.syncFSRequests>1){err("warning: "+FS.syncFSRequests+" FS.syncfs operations in flight at once, probably just doing extra work");}var mounts=FS.getMounts(FS.root.mount);var completed=0;function doCallback(errCode){FS.syncFSRequests--;return callback(errCode);}function done(errCode){if(errCode){if(!done.errored){done.errored=true;return doCallback(errCode);}return;}if(++completed>=mounts.length){doCallback(null);}}mounts.forEach(function(mount){if(!mount.type.syncfs){return done(null);}mount.type.syncfs(mount,populate,done);});},mount:function mount(type,opts,mountpoint){var root=mountpoint==="/";var pseudo=!mountpoint;var node;if(root&&FS.root){throw new FS.ErrnoError(10);}else if(!root&&!pseudo){var lookup=FS.lookupPath(mountpoint,{follow_mount:false});mountpoint=lookup.path;node=lookup.node;if(FS.isMountpoint(node)){throw new FS.ErrnoError(10);}if(!FS.isDir(node.mode)){throw new FS.ErrnoError(54);}}var mount={type:type,opts:opts,mountpoint:mountpoint,mounts:[]};var mountRoot=type.mount(mount);mountRoot.mount=mount;mount.root=mountRoot;if(root){FS.root=mountRoot;}else if(node){node.mounted=mount;if(node.mount){node.mount.mounts.push(mount);}}return mountRoot;},unmount:function unmount(mountpoint){var lookup=FS.lookupPath(mountpoint,{follow_mount:false});if(!FS.isMountpoint(lookup.node)){throw new FS.ErrnoError(28);}var node=lookup.node;var mount=node.mounted;var mounts=FS.getMounts(mount);Object.keys(FS.nameTable).forEach(function(hash){var current=FS.nameTable[hash];while(current){var next=current.name_next;if(mounts.includes(current.mount)){FS.destroyNode(current);}current=next;}});node.mounted=null;var idx=node.mount.mounts.indexOf(mount);node.mount.mounts.splice(idx,1);},lookup:function lookup(parent,name){return parent.node_ops.lookup(parent,name);},mknod:function mknod(path,mode,dev){var lookup=FS.lookupPath(path,{parent:true});var parent=lookup.node;var name=PATH.basename(path);if(!name||name==="."||name===".."){throw new FS.ErrnoError(28);}var errCode=FS.mayCreate(parent,name);if(errCode){throw new FS.ErrnoError(errCode);}if(!parent.node_ops.mknod){throw new FS.ErrnoError(63);}return parent.node_ops.mknod(parent,name,mode,dev);},create:function create(path,mode){mode=mode!==void 0?mode:438;mode&=4095;mode|=32768;return FS.mknod(path,mode,0);},mkdir:function mkdir(path,mode){mode=mode!==void 0?mode:511;mode&=511|512;mode|=16384;return FS.mknod(path,mode,0);},mkdirTree:function mkdirTree(path,mode){var dirs=path.split("/");var d="";for(var i=0;i>>=0;if(length<0||position<0){throw new FS.ErrnoError(28);}if(FS.isClosed(stream)){throw new FS.ErrnoError(8);}if((stream.flags&2097155)===1){throw new FS.ErrnoError(8);}if(FS.isDir(stream.node.mode)){throw new FS.ErrnoError(31);}if(!stream.stream_ops.read){throw new FS.ErrnoError(28);}var seeking=typeof position!="undefined";if(!seeking){position=stream.position;}else if(!stream.seekable){throw new FS.ErrnoError(70);}var bytesRead=stream.stream_ops.read(stream,buffer,offset,length,position);if(!seeking)stream.position+=bytesRead;return bytesRead;},write:function write(stream,buffer,offset,length,position,canOwn){offset>>>=0;if(length<0||position<0){throw new FS.ErrnoError(28);}if(FS.isClosed(stream)){throw new FS.ErrnoError(8);}if((stream.flags&2097155)===0){throw new FS.ErrnoError(8);}if(FS.isDir(stream.node.mode)){throw new FS.ErrnoError(31);}if(!stream.stream_ops.write){throw new FS.ErrnoError(28);}if(stream.seekable&&stream.flags&1024){FS.llseek(stream,0,2);}var seeking=typeof position!="undefined";if(!seeking){position=stream.position;}else if(!stream.seekable){throw new FS.ErrnoError(70);}var bytesWritten=stream.stream_ops.write(stream,buffer,offset,length,position,canOwn);if(!seeking)stream.position+=bytesWritten;return bytesWritten;},allocate:function allocate(stream,offset,length){if(FS.isClosed(stream)){throw new FS.ErrnoError(8);}if(offset<0||length<=0){throw new FS.ErrnoError(28);}if((stream.flags&2097155)===0){throw new FS.ErrnoError(8);}if(!FS.isFile(stream.node.mode)&&!FS.isDir(stream.node.mode)){throw new FS.ErrnoError(43);}if(!stream.stream_ops.allocate){throw new FS.ErrnoError(138);}stream.stream_ops.allocate(stream,offset,length);},mmap:function mmap(stream,length,position,prot,flags){if((prot&2)!==0&&(flags&2)===0&&(stream.flags&2097155)!==2){throw new FS.ErrnoError(2);}if((stream.flags&2097155)===1){throw new FS.ErrnoError(2);}if(!stream.stream_ops.mmap){throw new FS.ErrnoError(43);}return stream.stream_ops.mmap(stream,length,position,prot,flags);},msync:function msync(stream,buffer,offset,length,mmapFlags){offset>>>=0;if(!stream.stream_ops.msync){return 0;}return stream.stream_ops.msync(stream,buffer,offset,length,mmapFlags);},munmap:function munmap(stream){return 0;},ioctl:function ioctl(stream,cmd,arg){if(!stream.stream_ops.ioctl){throw new FS.ErrnoError(59);}return stream.stream_ops.ioctl(stream,cmd,arg);},readFile:function readFile(path){var opts=arguments.length>1&&arguments[1]!==undefined?arguments[1]:{};opts.flags=opts.flags||0;opts.encoding=opts.encoding||"binary";if(opts.encoding!=="utf8"&&opts.encoding!=="binary"){throw new Error('Invalid encoding type "'+opts.encoding+'"');}var ret;var stream=FS.open(path,opts.flags);var stat=FS.stat(path);var length=stat.size;var buf=new Uint8Array(length);FS.read(stream,buf,0,length,0);if(opts.encoding==="utf8"){ret=UTF8ArrayToString(buf,0);}else if(opts.encoding==="binary"){ret=buf;}FS.close(stream);return ret;},writeFile:function writeFile(path,data){var opts=arguments.length>2&&arguments[2]!==undefined?arguments[2]:{};opts.flags=opts.flags||577;var stream=FS.open(path,opts.flags,opts.mode);if(typeof data=="string"){var buf=new Uint8Array(lengthBytesUTF8(data)+1);var actualNumBytes=stringToUTF8Array(data,buf,0,buf.length);FS.write(stream,buf,0,actualNumBytes,void 0,opts.canOwn);}else if(ArrayBuffer.isView(data)){FS.write(stream,data,0,data.byteLength,void 0,opts.canOwn);}else{throw new Error("Unsupported data type");}FS.close(stream);},cwd:function cwd(){return FS.currentPath;},chdir:function chdir(path){var lookup=FS.lookupPath(path,{follow:true});if(lookup.node===null){throw new FS.ErrnoError(44);}if(!FS.isDir(lookup.node.mode)){throw new FS.ErrnoError(54);}var errCode=FS.nodePermissions(lookup.node,"x");if(errCode){throw new FS.ErrnoError(errCode);}FS.currentPath=lookup.path;},createDefaultDirectories:function createDefaultDirectories(){FS.mkdir("/tmp");FS.mkdir("/home");FS.mkdir("/home/web_user");},createDefaultDevices:function createDefaultDevices(){FS.mkdir("/dev");FS.registerDevice(FS.makedev(1,3),{read:function read(){return 0;},write:function write(stream,buffer,offset,length,pos){return length;}});FS.mkdev("/dev/null",FS.makedev(1,3));TTY.register(FS.makedev(5,0),TTY.default_tty_ops);TTY.register(FS.makedev(6,0),TTY.default_tty1_ops);FS.mkdev("/dev/tty",FS.makedev(5,0));FS.mkdev("/dev/tty1",FS.makedev(6,0));var random_device=getRandomDevice();FS.createDevice("/dev","random",random_device);FS.createDevice("/dev","urandom",random_device);FS.mkdir("/dev/shm");FS.mkdir("/dev/shm/tmp");},createSpecialDirectories:function createSpecialDirectories(){FS.mkdir("/proc");var proc_self=FS.mkdir("/proc/self");FS.mkdir("/proc/self/fd");FS.mount({mount:function mount(){var node=FS.createNode(proc_self,"fd",16384|511,73);node.node_ops={lookup:function lookup(parent,name){var fd=+name;var stream=FS.getStream(fd);if(!stream)throw new FS.ErrnoError(8);var ret={parent:null,mount:{mountpoint:"fake"},node_ops:{readlink:function readlink(){return stream.path;}}};ret.parent=ret;return ret;}};return node;}},{},"/proc/self/fd");},createStandardStreams:function createStandardStreams(){if(Module["stdin"]){FS.createDevice("/dev","stdin",Module["stdin"]);}else{FS.symlink("/dev/tty","/dev/stdin");}if(Module["stdout"]){FS.createDevice("/dev","stdout",null,Module["stdout"]);}else{FS.symlink("/dev/tty","/dev/stdout");}if(Module["stderr"]){FS.createDevice("/dev","stderr",null,Module["stderr"]);}else{FS.symlink("/dev/tty1","/dev/stderr");}FS.open("/dev/stdin",0);FS.open("/dev/stdout",1);FS.open("/dev/stderr",1);},ensureErrnoError:function ensureErrnoError(){if(FS.ErrnoError)return;FS.ErrnoError=function ErrnoError(errno,node){this.node=node;this.setErrno=function(errno2){this.errno=errno2;};this.setErrno(errno);this.message="FS error";};FS.ErrnoError.prototype=new Error();FS.ErrnoError.prototype.constructor=FS.ErrnoError;[44].forEach(function(code){FS.genericErrors[code]=new FS.ErrnoError(code);FS.genericErrors[code].stack="";});},staticInit:function staticInit(){FS.ensureErrnoError();FS.nameTable=new Array(4096);FS.mount(MEMFS,{},"/");FS.createDefaultDirectories();FS.createDefaultDevices();FS.createSpecialDirectories();FS.filesystems={"MEMFS":MEMFS};},init:function init(input,output,error){FS.init.initialized=true;FS.ensureErrnoError();Module["stdin"]=input||Module["stdin"];Module["stdout"]=output||Module["stdout"];Module["stderr"]=error||Module["stderr"];FS.createStandardStreams();},quit:function quit(){FS.init.initialized=false;for(var i=0;ithis.length-1||idx<0){return void 0;}var chunkOffset=idx%this.chunkSize;var chunkNum=idx/this.chunkSize|0;return this.getter(chunkNum)[chunkOffset];};LazyUint8Array.prototype.setDataGetter=function LazyUint8Array_setDataGetter(getter){this.getter=getter;};LazyUint8Array.prototype.cacheLength=function LazyUint8Array_cacheLength(){var xhr=new XMLHttpRequest();xhr.open("HEAD",url,false);xhr.send(null);if(!(xhr.status>=200&&xhr.status<300||xhr.status===304))throw new Error("Couldn't load "+url+". Status: "+xhr.status);var datalength=Number(xhr.getResponseHeader("Content-length"));var header;var hasByteServing=(header=xhr.getResponseHeader("Accept-Ranges"))&&header==="bytes";var usesGzip=(header=xhr.getResponseHeader("Content-Encoding"))&&header==="gzip";var chunkSize=1024*1024;if(!hasByteServing)chunkSize=datalength;var doXHR=function doXHR(from,to){if(from>to)throw new Error("invalid range ("+from+", "+to+") or no bytes requested!");if(to>datalength-1)throw new Error("only "+datalength+" bytes available! programmer error!");var xhr2=new XMLHttpRequest();xhr2.open("GET",url,false);if(datalength!==chunkSize)xhr2.setRequestHeader("Range","bytes="+from+"-"+to);xhr2.responseType="arraybuffer";if(xhr2.overrideMimeType){xhr2.overrideMimeType("text/plain; charset=x-user-defined");}xhr2.send(null);if(!(xhr2.status>=200&&xhr2.status<300||xhr2.status===304))throw new Error("Couldn't load "+url+". Status: "+xhr2.status);if(xhr2.response!==void 0){return new Uint8Array(xhr2.response||[]);}return intArrayFromString(xhr2.responseText||"",true);};var lazyArray2=this;lazyArray2.setDataGetter(function(chunkNum){var start=chunkNum*chunkSize;var end=(chunkNum+1)*chunkSize-1;end=Math.min(end,datalength-1);if(typeof lazyArray2.chunks[chunkNum]=="undefined"){lazyArray2.chunks[chunkNum]=doXHR(start,end);}if(typeof lazyArray2.chunks[chunkNum]=="undefined")throw new Error("doXHR failed!");return lazyArray2.chunks[chunkNum];});if(usesGzip||!datalength){chunkSize=datalength=1;datalength=this.getter(0).length;chunkSize=datalength;out("LazyFiles on gzip forces download of the whole file when length is accessed");}this._length=datalength;this._chunkSize=chunkSize;this.lengthKnown=true;};if(typeof XMLHttpRequest!="undefined"){throw"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc";var lazyArray=new LazyUint8Array();var properties={isDevice:false,contents:lazyArray};}else{var properties={isDevice:false,url:url};}var node=FS.createFile(parent,name,properties,canRead,canWrite);if(properties.contents){node.contents=properties.contents;}else if(properties.url){node.contents=null;node.url=properties.url;}Object.defineProperties(node,{usedBytes:{get:function get(){return this.contents.length;}}});var stream_ops={};var keys=Object.keys(node.stream_ops);keys.forEach(function(key){var fn=node.stream_ops[key];stream_ops[key]=function forceLoadLazyFile(){FS.forceLoadFile(node);return fn.apply(null,arguments);};});function writeChunks(stream,buffer,offset,length,position){var contents=stream.node.contents;if(position>=contents.length)return 0;var size=Math.min(contents.length-position,length);if(contents.slice){for(var i=0;i1&&arguments[1]!==undefined?arguments[1]:function(){};var onerror=arguments.length>2&&arguments[2]!==undefined?arguments[2]:function(){};var indexedDB=FS.indexedDB();try{var openRequest=indexedDB.open(FS.DB_NAME(),FS.DB_VERSION);}catch(e){return onerror(e);}openRequest.onupgradeneeded=function(){out("creating db");var db=openRequest.result;db.createObjectStore(FS.DB_STORE_NAME);};openRequest.onsuccess=function(){var db=openRequest.result;var transaction=db.transaction([FS.DB_STORE_NAME],"readwrite");var files=transaction.objectStore(FS.DB_STORE_NAME);var ok=0,fail=0,total=paths.length;function finish(){if(fail==0)onload();else onerror();}paths.forEach(function(path){var putRequest=files.put(FS.analyzePath(path).object.contents,path);putRequest.onsuccess=function(){ok++;if(ok+fail==total)finish();};putRequest.onerror=function(){fail++;if(ok+fail==total)finish();};});transaction.onerror=onerror;};openRequest.onerror=onerror;},loadFilesFromDB:function loadFilesFromDB(paths){var onload=arguments.length>1&&arguments[1]!==undefined?arguments[1]:function(){};var onerror=arguments.length>2&&arguments[2]!==undefined?arguments[2]:function(){};var indexedDB=FS.indexedDB();try{var openRequest=indexedDB.open(FS.DB_NAME(),FS.DB_VERSION);}catch(e){return onerror(e);}openRequest.onupgradeneeded=onerror;openRequest.onsuccess=function(){var db=openRequest.result;try{var transaction=db.transaction([FS.DB_STORE_NAME],"readonly");}catch(e){onerror(e);return;}var files=transaction.objectStore(FS.DB_STORE_NAME);var ok=0,fail=0,total=paths.length;function finish(){if(fail==0)onload();else onerror();}paths.forEach(function(path){var getRequest=files.get(path);getRequest.onsuccess=function(){if(FS.analyzePath(path).exists){FS.unlink(path);}FS.createDataFile(PATH.dirname(path),PATH.basename(path),getRequest.result,true,true,true);ok++;if(ok+fail==total)finish();};getRequest.onerror=function(){fail++;if(ok+fail==total)finish();};});transaction.onerror=onerror;};openRequest.onerror=onerror;}};var SYSCALLS={DEFAULT_POLLMASK:5,calculateAt:function calculateAt(dirfd,path,allowEmpty){if(PATH.isAbs(path)){return path;}var dir;if(dirfd===-100){dir=FS.cwd();}else{var dirstream=SYSCALLS.getStreamFromFD(dirfd);dir=dirstream.path;}if(path.length==0){if(!allowEmpty){throw new FS.ErrnoError(44);}return dir;}return PATH.join2(dir,path);},doStat:function doStat(func,path,buf){try{var stat=func(path);}catch(e){if(e&&e.node&&PATH.normalize(path)!==PATH.normalize(FS.getPath(e.node))){return-54;}throw e;}HEAP32[buf>>>2]=stat.dev;HEAP32[buf+8>>>2]=stat.ino;HEAP32[buf+12>>>2]=stat.mode;HEAPU32[buf+16>>>2]=stat.nlink;HEAP32[buf+20>>>2]=stat.uid;HEAP32[buf+24>>>2]=stat.gid;HEAP32[buf+28>>>2]=stat.rdev;tempI64=[stat.size>>>0,(tempDouble=stat.size,+Math.abs(tempDouble)>=1?tempDouble>0?(Math.min(+Math.floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[buf+40>>>2]=tempI64[0],HEAP32[buf+44>>>2]=tempI64[1];HEAP32[buf+48>>>2]=4096;HEAP32[buf+52>>>2]=stat.blocks;var atime=stat.atime.getTime();var mtime=stat.mtime.getTime();var ctime=stat.ctime.getTime();tempI64=[Math.floor(atime/1e3)>>>0,(tempDouble=Math.floor(atime/1e3),+Math.abs(tempDouble)>=1?tempDouble>0?(Math.min(+Math.floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[buf+56>>>2]=tempI64[0],HEAP32[buf+60>>>2]=tempI64[1];HEAPU32[buf+64>>>2]=atime%1e3*1e3;tempI64=[Math.floor(mtime/1e3)>>>0,(tempDouble=Math.floor(mtime/1e3),+Math.abs(tempDouble)>=1?tempDouble>0?(Math.min(+Math.floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[buf+72>>>2]=tempI64[0],HEAP32[buf+76>>>2]=tempI64[1];HEAPU32[buf+80>>>2]=mtime%1e3*1e3;tempI64=[Math.floor(ctime/1e3)>>>0,(tempDouble=Math.floor(ctime/1e3),+Math.abs(tempDouble)>=1?tempDouble>0?(Math.min(+Math.floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[buf+88>>>2]=tempI64[0],HEAP32[buf+92>>>2]=tempI64[1];HEAPU32[buf+96>>>2]=ctime%1e3*1e3;tempI64=[stat.ino>>>0,(tempDouble=stat.ino,+Math.abs(tempDouble)>=1?tempDouble>0?(Math.min(+Math.floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[buf+104>>>2]=tempI64[0],HEAP32[buf+108>>>2]=tempI64[1];return 0;},doMsync:function doMsync(addr,stream,len,flags,offset){if(!FS.isFile(stream.node.mode)){throw new FS.ErrnoError(43);}if(flags&2){return 0;}addr>>>=0;var buffer=HEAPU8.slice(addr,addr+len);FS.msync(stream,buffer,offset,len,flags);},varargs:void 0,get:function get(){SYSCALLS.varargs+=4;var ret=HEAP32[SYSCALLS.varargs-4>>>2];return ret;},getStr:function getStr(ptr){var ret=UTF8ToString(ptr);return ret;},getStreamFromFD:function getStreamFromFD(fd){var stream=FS.getStream(fd);if(!stream)throw new FS.ErrnoError(8);return stream;}};function _environ_get(__environ,environ_buf){var bufSize=0;getEnvStrings().forEach(function(string,i){var ptr=environ_buf+bufSize;HEAPU32[__environ+i*4>>>2]=ptr;writeAsciiToMemory(string,ptr);bufSize+=string.length+1;});return 0;}function _environ_sizes_get(penviron_count,penviron_buf_size){var strings=getEnvStrings();HEAPU32[penviron_count>>>2]=strings.length;var bufSize=0;strings.forEach(function(string){bufSize+=string.length+1;});HEAPU32[penviron_buf_size>>>2]=bufSize;return 0;}function _fd_close(fd){try{var stream=SYSCALLS.getStreamFromFD(fd);FS.close(stream);return 0;}catch(e){if(typeof FS=="undefined"||!(e instanceof FS.ErrnoError))throw e;return e.errno;}}function doReadv(stream,iov,iovcnt,offset){var ret=0;for(var i=0;i>>2];var len=HEAPU32[iov+4>>>2];iov+=8;var curr=FS.read(stream,HEAP8,ptr,len,offset);if(curr<0)return-1;ret+=curr;if(curr>>2]=num;return 0;}catch(e){if(typeof FS=="undefined"||!(e instanceof FS.ErrnoError))throw e;return e.errno;}}function convertI32PairToI53Checked(lo,hi){return hi+2097152>>>0<4194305-!!lo?(lo>>>0)+hi*4294967296:NaN;}function _fd_seek(fd,offset_low,offset_high,whence,newOffset){try{var offset=convertI32PairToI53Checked(offset_low,offset_high);if(isNaN(offset))return 61;var stream=SYSCALLS.getStreamFromFD(fd);FS.llseek(stream,offset,whence);tempI64=[stream.position>>>0,(tempDouble=stream.position,+Math.abs(tempDouble)>=1?tempDouble>0?(Math.min(+Math.floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[newOffset>>>2]=tempI64[0],HEAP32[newOffset+4>>>2]=tempI64[1];if(stream.getdents&&offset===0&&whence===0)stream.getdents=null;return 0;}catch(e){if(typeof FS=="undefined"||!(e instanceof FS.ErrnoError))throw e;return e.errno;}}function doWritev(stream,iov,iovcnt,offset){var ret=0;for(var i=0;i>>2];var len=HEAPU32[iov+4>>>2];iov+=8;var curr=FS.write(stream,HEAP8,ptr,len,offset);if(curr<0)return-1;ret+=curr;if(typeof offset!=="undefined"){offset+=curr;}}return ret;}function _fd_write(fd,iov,iovcnt,pnum){try{var stream=SYSCALLS.getStreamFromFD(fd);var num=doWritev(stream,iov,iovcnt);HEAPU32[pnum>>>2]=num;return 0;}catch(e){if(typeof FS=="undefined"||!(e instanceof FS.ErrnoError))throw e;return e.errno;}}function __isLeapYear(year){return year%4===0&&(year%100!==0||year%400===0);}function __arraySum(array,index){var sum=0;for(var i=0;i<=index;sum+=array[i++]){}return sum;}var __MONTH_DAYS_LEAP=[31,29,31,30,31,30,31,31,30,31,30,31];var __MONTH_DAYS_REGULAR=[31,28,31,30,31,30,31,31,30,31,30,31];function __addDays(date,days){var newDate=new Date(date.getTime());while(days>0){var leap=__isLeapYear(newDate.getFullYear());var currentMonth=newDate.getMonth();var daysInCurrentMonth=(leap?__MONTH_DAYS_LEAP:__MONTH_DAYS_REGULAR)[currentMonth];if(days>daysInCurrentMonth-newDate.getDate()){days-=daysInCurrentMonth-newDate.getDate()+1;newDate.setDate(1);if(currentMonth<11){newDate.setMonth(currentMonth+1);}else{newDate.setMonth(0);newDate.setFullYear(newDate.getFullYear()+1);}}else{newDate.setDate(newDate.getDate()+days);return newDate;}}return newDate;}function writeArrayToMemory(array,buffer){HEAP8.set(array,buffer>>>0);}function _strftime(s,maxsize,format,tm){var tm_zone=HEAP32[tm+40>>>2];var date={tm_sec:HEAP32[tm>>>2],tm_min:HEAP32[tm+4>>>2],tm_hour:HEAP32[tm+8>>>2],tm_mday:HEAP32[tm+12>>>2],tm_mon:HEAP32[tm+16>>>2],tm_year:HEAP32[tm+20>>>2],tm_wday:HEAP32[tm+24>>>2],tm_yday:HEAP32[tm+28>>>2],tm_isdst:HEAP32[tm+32>>>2],tm_gmtoff:HEAP32[tm+36>>>2],tm_zone:tm_zone?UTF8ToString(tm_zone):""};var pattern=UTF8ToString(format);var EXPANSION_RULES_1={"%c":"%a %b %d %H:%M:%S %Y","%D":"%m/%d/%y","%F":"%Y-%m-%d","%h":"%b","%r":"%I:%M:%S %p","%R":"%H:%M","%T":"%H:%M:%S","%x":"%m/%d/%y","%X":"%H:%M:%S","%Ec":"%c","%EC":"%C","%Ex":"%m/%d/%y","%EX":"%H:%M:%S","%Ey":"%y","%EY":"%Y","%Od":"%d","%Oe":"%e","%OH":"%H","%OI":"%I","%Om":"%m","%OM":"%M","%OS":"%S","%Ou":"%u","%OU":"%U","%OV":"%V","%Ow":"%w","%OW":"%W","%Oy":"%y"};for(var rule in EXPANSION_RULES_1){pattern=pattern.replace(new RegExp(rule,"g"),EXPANSION_RULES_1[rule]);}var WEEKDAYS=["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"];var MONTHS=["January","February","March","April","May","June","July","August","September","October","November","December"];function leadingSomething(value,digits,character){var str=typeof value=="number"?value.toString():value||"";while(str.length0?1:0;}var compare;if((compare=sgn(date1.getFullYear()-date2.getFullYear()))===0){if((compare=sgn(date1.getMonth()-date2.getMonth()))===0){compare=sgn(date1.getDate()-date2.getDate());}}return compare;}function getFirstWeekStartDate(janFourth){switch(janFourth.getDay()){case 0:return new Date(janFourth.getFullYear()-1,11,29);case 1:return janFourth;case 2:return new Date(janFourth.getFullYear(),0,3);case 3:return new Date(janFourth.getFullYear(),0,2);case 4:return new Date(janFourth.getFullYear(),0,1);case 5:return new Date(janFourth.getFullYear()-1,11,31);case 6:return new Date(janFourth.getFullYear()-1,11,30);}}function getWeekBasedYear(date2){var thisDate=__addDays(new Date(date2.tm_year+1900,0,1),date2.tm_yday);var janFourthThisYear=new Date(thisDate.getFullYear(),0,4);var janFourthNextYear=new Date(thisDate.getFullYear()+1,0,4);var firstWeekStartThisYear=getFirstWeekStartDate(janFourthThisYear);var firstWeekStartNextYear=getFirstWeekStartDate(janFourthNextYear);if(compareByDay(firstWeekStartThisYear,thisDate)<=0){if(compareByDay(firstWeekStartNextYear,thisDate)<=0){return thisDate.getFullYear()+1;}return thisDate.getFullYear();}return thisDate.getFullYear()-1;}var EXPANSION_RULES_2={"%a":function a(date2){return WEEKDAYS[date2.tm_wday].substring(0,3);},"%A":function A(date2){return WEEKDAYS[date2.tm_wday];},"%b":function b(date2){return MONTHS[date2.tm_mon].substring(0,3);},"%B":function B(date2){return MONTHS[date2.tm_mon];},"%C":function C(date2){var year=date2.tm_year+1900;return leadingNulls(year/100|0,2);},"%d":function d(date2){return leadingNulls(date2.tm_mday,2);},"%e":function e(date2){return leadingSomething(date2.tm_mday,2," ");},"%g":function g(date2){return getWeekBasedYear(date2).toString().substring(2);},"%G":function G(date2){return getWeekBasedYear(date2);},"%H":function H(date2){return leadingNulls(date2.tm_hour,2);},"%I":function I(date2){var twelveHour=date2.tm_hour;if(twelveHour==0)twelveHour=12;else if(twelveHour>12)twelveHour-=12;return leadingNulls(twelveHour,2);},"%j":function j(date2){return leadingNulls(date2.tm_mday+__arraySum(__isLeapYear(date2.tm_year+1900)?__MONTH_DAYS_LEAP:__MONTH_DAYS_REGULAR,date2.tm_mon-1),3);},"%m":function m(date2){return leadingNulls(date2.tm_mon+1,2);},"%M":function M(date2){return leadingNulls(date2.tm_min,2);},"%n":function n(){return"\n";},"%p":function p(date2){if(date2.tm_hour>=0&&date2.tm_hour<12){return"AM";}return"PM";},"%S":function S(date2){return leadingNulls(date2.tm_sec,2);},"%t":function t(){return" ";},"%u":function u(date2){return date2.tm_wday||7;},"%U":function U(date2){var days=date2.tm_yday+7-date2.tm_wday;return leadingNulls(Math.floor(days/7),2);},"%V":function V(date2){var val=Math.floor((date2.tm_yday+7-(date2.tm_wday+6)%7)/7);if((date2.tm_wday+371-date2.tm_yday-2)%7<=2){val++;}if(!val){val=52;var dec31=(date2.tm_wday+7-date2.tm_yday-1)%7;if(dec31==4||dec31==5&&__isLeapYear(date2.tm_year%400-1)){val++;}}else if(val==53){var jan1=(date2.tm_wday+371-date2.tm_yday)%7;if(jan1!=4&&(jan1!=3||!__isLeapYear(date2.tm_year)))val=1;}return leadingNulls(val,2);},"%w":function w(date2){return date2.tm_wday;},"%W":function W(date2){var days=date2.tm_yday+7-(date2.tm_wday+6)%7;return leadingNulls(Math.floor(days/7),2);},"%y":function y(date2){return(date2.tm_year+1900).toString().substring(2);},"%Y":function Y(date2){return date2.tm_year+1900;},"%z":function z(date2){var off=date2.tm_gmtoff;var ahead=off>=0;off=Math.abs(off)/60;off=off/60*100+off%60;return(ahead?"+":"-")+String("0000"+off).slice(-4);},"%Z":function Z(date2){return date2.tm_zone;},"%%":function _(){return"%";}};pattern=pattern.replace(/%%/g,"\0\0");for(var rule in EXPANSION_RULES_2){if(pattern.includes(rule)){pattern=pattern.replace(new RegExp(rule,"g"),EXPANSION_RULES_2[rule](date));}}pattern=pattern.replace(/\0\0/g,"%");var bytes=intArrayFromString(pattern,false);if(bytes.length>maxsize){return 0;}writeArrayToMemory(bytes,s);return bytes.length-1;}function _strftime_l(s,maxsize,format,tm,loc){return _strftime(s,maxsize,format,tm);}InternalError=Module["InternalError"]=extendError(Error,"InternalError");embind_init_charCodes();BindingError=Module["BindingError"]=extendError(Error,"BindingError");init_ClassHandle();init_embind();init_RegisteredPointer();UnboundTypeError=Module["UnboundTypeError"]=extendError(Error,"UnboundTypeError");init_emval();var FSNode=function FSNode(parent,name,mode,rdev){if(!parent){parent=this;}this.parent=parent;this.mount=parent.mount;this.mounted=null;this.id=FS.nextInode++;this.name=name;this.mode=mode;this.node_ops={};this.stream_ops={};this.rdev=rdev;};var readMode=292|73;var writeMode=146;Object.defineProperties(FSNode.prototype,{read:{get:function get(){return(this.mode&readMode)===readMode;},set:function set(val){val?this.mode|=readMode:this.mode&=~readMode;}},write:{get:function get(){return(this.mode&writeMode)===writeMode;},set:function set(val){val?this.mode|=writeMode:this.mode&=~writeMode;}},isFolder:{get:function get(){return FS.isDir(this.mode);}},isDevice:{get:function get(){return FS.isChrdev(this.mode);}}});FS.FSNode=FSNode;FS.staticInit();var wasmImports={"f":___cxa_throw,"R":__embind_finalize_value_array,"p":__embind_finalize_value_object,"F":__embind_register_bigint,"P":__embind_register_bool,"o":__embind_register_class,"n":__embind_register_class_constructor,"b":__embind_register_class_function,"O":__embind_register_emval,"B":__embind_register_enum,"s":__embind_register_enum_value,"z":__embind_register_float,"c":__embind_register_function,"r":__embind_register_integer,"h":__embind_register_memory_view,"A":__embind_register_std_string,"v":__embind_register_std_wstring,"S":__embind_register_value_array,"i":__embind_register_value_array_element,"q":__embind_register_value_object,"e":__embind_register_value_object_field,"Q":__embind_register_void,"m":__emval_as,"x":__emval_call,"a":__emval_decref,"D":__emval_get_global,"k":__emval_get_property,"t":__emval_incref,"U":__emval_instanceof,"w":__emval_is_number,"C":__emval_is_string,"T":__emval_new_array,"g":__emval_new_cstring,"u":__emval_new_object,"l":__emval_run_destructors,"j":__emval_set_property,"d":__emval_take_value,"y":_abort,"N":_emscripten_memcpy_big,"L":_emscripten_resize_heap,"H":_environ_get,"I":_environ_sizes_get,"J":_fd_close,"K":_fd_read,"E":_fd_seek,"M":_fd_write,"G":_strftime_l};createWasm();var _malloc3=function _malloc(){return(_malloc3=Module["asm"]["Y"]).apply(null,arguments);};var ___getTypeName=Module["___getTypeName"]=function(){return(___getTypeName=Module["___getTypeName"]=Module["asm"]["Z"]).apply(null,arguments);};Module["__embind_initialize_bindings"]=function(){return(Module["__embind_initialize_bindings"]=Module["asm"]["_"]).apply(null,arguments);};var _free3=function _free(){return(_free3=Module["asm"]["$"]).apply(null,arguments);};var _cxa_is_pointer_type2=function ___cxa_is_pointer_type(){return(_cxa_is_pointer_type2=Module["asm"]["aa"]).apply(null,arguments);};Module["dynCall_jiji"]=function(){return(Module["dynCall_jiji"]=Module["asm"]["ba"]).apply(null,arguments);};Module["dynCall_viijii"]=function(){return(Module["dynCall_viijii"]=Module["asm"]["ca"]).apply(null,arguments);};Module["dynCall_iiiiij"]=function(){return(Module["dynCall_iiiiij"]=Module["asm"]["da"]).apply(null,arguments);};Module["dynCall_iiiiijj"]=function(){return(Module["dynCall_iiiiijj"]=Module["asm"]["ea"]).apply(null,arguments);};Module["dynCall_iiiiiijj"]=function(){return(Module["dynCall_iiiiiijj"]=Module["asm"]["fa"]).apply(null,arguments);};var calledRun;dependenciesFulfilled=function runCaller(){if(!calledRun)run();if(!calledRun)dependenciesFulfilled=runCaller;};function run(){if(runDependencies>0){return;}preRun();if(runDependencies>0){return;}function doRun(){if(calledRun)return;calledRun=true;Module["calledRun"]=true;if(ABORT)return;initRuntime();readyPromiseResolve(Module);if(Module["onRuntimeInitialized"])Module["onRuntimeInitialized"]();postRun();}if(Module["setStatus"]){Module["setStatus"]("Running...");setTimeout(function(){setTimeout(function(){Module["setStatus"]("");},1);doRun();},1);}else{doRun();}}if(Module["preInit"]){if(typeof Module["preInit"]=="function")Module["preInit"]=[Module["preInit"]];while(Module["preInit"].length>0){Module["preInit"].pop()();}}run();return WebIFCWasm3.ready;};}();if(_typeof(exports)==="object"&&_typeof(module)==="object")module.exports=WebIFCWasm2;else if(typeof define==="function"&&define["amd"])define([],function(){return WebIFCWasm2;});else if(_typeof(exports)==="object")exports["WebIFCWasm"]=WebIFCWasm2;}});var IFCGEOSLICE=1971632696;var IFCGEOMODEL=2680139844;var IFCELECTRICFLOWTREATMENTDEVICE=24726584;var IFCDISTRIBUTIONBOARD=3693000487;var IFCCONVEYORSEGMENT=3460952963;var IFCCAISSONFOUNDATION=3999819293;var IFCBOREHOLE=3314249567;var IFCBEARING=4196446775;var IFCALIGNMENT=325726236;var IFCTRACKELEMENT=3425753595;var IFCSIGNAL=991950508;var IFCREINFORCEDSOIL=3798194928;var IFCRAIL=3290496277;var IFCPAVEMENT=1383356374;var IFCNAVIGATIONELEMENT=2182337498;var IFCMOORINGDEVICE=234836483;var IFCMOBILETELECOMMUNICATIONSAPPLIANCE=2078563270;var IFCLIQUIDTERMINAL=1638804497;var IFCLINEARPOSITIONINGELEMENT=1154579445;var IFCKERB=2696325953;var IFCGEOTECHNICALASSEMBLY=2713699986;var IFCELECTRICFLOWTREATMENTDEVICETYPE=2142170206;var IFCEARTHWORKSFILL=3376911765;var IFCEARTHWORKSELEMENT=1077100507;var IFCEARTHWORKSCUT=3071239417;var IFCDISTRIBUTIONBOARDTYPE=479945903;var IFCDEEPFOUNDATION=3426335179;var IFCCOURSE=1502416096;var IFCCONVEYORSEGMENTTYPE=2940368186;var IFCCAISSONFOUNDATIONTYPE=3203706013;var IFCBUILTSYSTEM=3862327254;var IFCBUILTELEMENT=1876633798;var IFCBRIDGEPART=963979645;var IFCBRIDGE=644574406;var IFCBEARINGTYPE=3649138523;var IFCALIGNMENTVERTICAL=1662888072;var IFCALIGNMENTSEGMENT=317615605;var IFCALIGNMENTHORIZONTAL=1545765605;var IFCALIGNMENTCANT=4266260250;var IFCVIBRATIONDAMPERTYPE=3956297820;var IFCVIBRATIONDAMPER=1530820697;var IFCVEHICLE=840318589;var IFCTRANSPORTATIONDEVICE=1953115116;var IFCTRACKELEMENTTYPE=618700268;var IFCTENDONCONDUITTYPE=2281632017;var IFCTENDONCONDUIT=3663046924;var IFCSINESPIRAL=42703149;var IFCSIGNALTYPE=1894708472;var IFCSIGNTYPE=3599934289;var IFCSIGN=33720170;var IFCSEVENTHORDERPOLYNOMIALSPIRAL=1027922057;var IFCSEGMENTEDREFERENCECURVE=544395925;var IFCSECONDORDERPOLYNOMIALSPIRAL=3649235739;var IFCROADPART=550521510;var IFCROAD=146592293;var IFCRELADHERESTOELEMENT=3818125796;var IFCREFERENT=4021432810;var IFCRAILWAYPART=1891881377;var IFCRAILWAY=3992365140;var IFCRAILTYPE=1763565496;var IFCPOSITIONINGELEMENT=1946335990;var IFCPAVEMENTTYPE=514975943;var IFCNAVIGATIONELEMENTTYPE=506776471;var IFCMOORINGDEVICETYPE=710110818;var IFCMOBILETELECOMMUNICATIONSAPPLIANCETYPE=1950438474;var IFCMARINEPART=976884017;var IFCMARINEFACILITY=525669439;var IFCLIQUIDTERMINALTYPE=1770583370;var IFCLINEARELEMENT=2176059722;var IFCKERBTYPE=679976338;var IFCIMPACTPROTECTIONDEVICETYPE=3948183225;var IFCIMPACTPROTECTIONDEVICE=2568555532;var IFCGRADIENTCURVE=2898700619;var IFCGEOTECHNICALSTRATUM=1594536857;var IFCGEOTECHNICALELEMENT=4230923436;var IFCFACILITYPARTCOMMON=4228831410;var IFCFACILITYPART=1310830890;var IFCFACILITY=24185140;var IFCDIRECTRIXDERIVEDREFERENCESWEPTAREASOLID=4234616927;var IFCDEEPFOUNDATIONTYPE=1306400036;var IFCCOURSETYPE=4189326743;var IFCCOSINESPIRAL=2000195564;var IFCCLOTHOID=3497074424;var IFCBUILTELEMENTTYPE=1626504194;var IFCVEHICLETYPE=3651464721;var IFCTRIANGULATEDIRREGULARNETWORK=1229763772;var IFCTRANSPORTATIONDEVICETYPE=3665877780;var IFCTHIRDORDERPOLYNOMIALSPIRAL=782932809;var IFCSPIRAL=2735484536;var IFCSECTIONEDSURFACE=1356537516;var IFCSECTIONEDSOLIDHORIZONTAL=1290935644;var IFCSECTIONEDSOLID=1862484736;var IFCRELPOSITIONS=1441486842;var IFCRELASSOCIATESPROFILEDEF=1033248425;var IFCPOLYNOMIALCURVE=3381221214;var IFCOFFSETCURVEBYDISTANCES=2485787929;var IFCOFFSETCURVE=590820931;var IFCINDEXEDPOLYGONALTEXTUREMAP=3465909080;var IFCDIRECTRIXCURVESWEPTAREASOLID=593015953;var IFCCURVESEGMENT=4212018352;var IFCAXIS2PLACEMENTLINEAR=3425423356;var IFCSEGMENT=823603102;var IFCPOINTBYDISTANCEEXPRESSION=2165702409;var IFCOPENCROSSPROFILEDEF=182550632;var IFCLINEARPLACEMENT=388784114;var IFCALIGNMENTHORIZONTALSEGMENT=536804194;var IFCALIGNMENTCANTSEGMENT=3752311538;var IFCTEXTURECOORDINATEINDICESWITHVOIDS=1010789467;var IFCTEXTURECOORDINATEINDICES=222769930;var IFCQUANTITYNUMBER=2691318326;var IFCALIGNMENTVERTICALSEGMENT=3633395639;var IFCCONTROLLER=25142252;var IFCALARM=3087945054;var IFCACTUATOR=4288193352;var IFCUNITARYCONTROLELEMENT=630975310;var IFCSENSOR=4086658281;var IFCPROTECTIVEDEVICETRIPPINGUNIT=2295281155;var IFCFLOWINSTRUMENT=182646315;var IFCFIRESUPPRESSIONTERMINAL=1426591983;var IFCFILTER=819412036;var IFCFAN=3415622556;var IFCELECTRICTIMECONTROL=1003880860;var IFCELECTRICMOTOR=402227799;var IFCELECTRICGENERATOR=264262732;var IFCELECTRICFLOWSTORAGEDEVICE=3310460725;var IFCELECTRICDISTRIBUTIONBOARD=862014818;var IFCELECTRICAPPLIANCE=1904799276;var IFCDUCTSILENCER=1360408905;var IFCDUCTSEGMENT=3518393246;var IFCDUCTFITTING=342316401;var IFCDISTRIBUTIONCIRCUIT=562808652;var IFCDAMPER=4074379575;var IFCCOOLINGTOWER=3640358203;var IFCCOOLEDBEAM=4136498852;var IFCCONDENSER=2272882330;var IFCCOMPRESSOR=3571504051;var IFCCOMMUNICATIONSAPPLIANCE=3221913625;var IFCCOIL=639361253;var IFCCHILLER=3902619387;var IFCCABLESEGMENT=4217484030;var IFCCABLEFITTING=1051757585;var IFCCABLECARRIERSEGMENT=3758799889;var IFCCABLECARRIERFITTING=635142910;var IFCBURNER=2938176219;var IFCBOILER=32344328;var IFCBEAMSTANDARDCASE=2906023776;var IFCAUDIOVISUALAPPLIANCE=277319702;var IFCAIRTOAIRHEATRECOVERY=2056796094;var IFCAIRTERMINALBOX=177149247;var IFCAIRTERMINAL=1634111441;var IFCWINDOWSTANDARDCASE=486154966;var IFCWASTETERMINAL=4237592921;var IFCWALLELEMENTEDCASE=4156078855;var IFCVALVE=4207607924;var IFCUNITARYEQUIPMENT=4292641817;var IFCUNITARYCONTROLELEMENTTYPE=3179687236;var IFCTUBEBUNDLE=3026737570;var IFCTRANSFORMER=3825984169;var IFCTANK=812556717;var IFCSWITCHINGDEVICE=1162798199;var IFCSTRUCTURALLOADCASE=385403989;var IFCSTACKTERMINAL=1404847402;var IFCSPACEHEATER=1999602285;var IFCSOLARDEVICE=3420628829;var IFCSLABSTANDARDCASE=3027962421;var IFCSLABELEMENTEDCASE=3127900445;var IFCSHADINGDEVICE=1329646415;var IFCSANITARYTERMINAL=3053780830;var IFCREINFORCINGBARTYPE=2572171363;var IFCRATIONALBSPLINECURVEWITHKNOTS=1232101972;var IFCPUMP=90941305;var IFCPROTECTIVEDEVICETRIPPINGUNITTYPE=655969474;var IFCPROTECTIVEDEVICE=738039164;var IFCPLATESTANDARDCASE=1156407060;var IFCPIPESEGMENT=3612865200;var IFCPIPEFITTING=310824031;var IFCOUTLET=3694346114;var IFCOUTERBOUNDARYCURVE=144952367;var IFCMOTORCONNECTION=2474470126;var IFCMEMBERSTANDARDCASE=1911478936;var IFCMEDICALDEVICE=1437502449;var IFCLIGHTFIXTURE=629592764;var IFCLAMP=76236018;var IFCJUNCTIONBOX=2176052936;var IFCINTERCEPTOR=4175244083;var IFCHUMIDIFIER=2068733104;var IFCHEATEXCHANGER=3319311131;var IFCFLOWMETER=2188021234;var IFCEXTERNALSPATIALELEMENT=1209101575;var IFCEVAPORATOR=484807127;var IFCEVAPORATIVECOOLER=3747195512;var IFCENGINE=2814081492;var IFCELECTRICDISTRIBUTIONBOARDTYPE=2417008758;var IFCDOORSTANDARDCASE=3242481149;var IFCDISTRIBUTIONSYSTEM=3205830791;var IFCCOMMUNICATIONSAPPLIANCETYPE=400855858;var IFCCOLUMNSTANDARDCASE=905975707;var IFCCIVILELEMENT=1677625105;var IFCCHIMNEY=3296154744;var IFCCABLEFITTINGTYPE=2674252688;var IFCBURNERTYPE=2188180465;var IFCBUILDINGSYSTEM=1177604601;var IFCBUILDINGELEMENTPARTTYPE=39481116;var IFCBOUNDARYCURVE=1136057603;var IFCBSPLINECURVEWITHKNOTS=2461110595;var IFCAUDIOVISUALAPPLIANCETYPE=1532957894;var IFCWORKCALENDAR=4088093105;var IFCWINDOWTYPE=4009809668;var IFCVOIDINGFEATURE=926996030;var IFCVIBRATIONISOLATOR=2391383451;var IFCTENDONTYPE=2415094496;var IFCTENDONANCHORTYPE=3081323446;var IFCSYSTEMFURNITUREELEMENT=413509423;var IFCSURFACEFEATURE=3101698114;var IFCSTRUCTURALSURFACEACTION=3657597509;var IFCSTRUCTURALCURVEREACTION=2757150158;var IFCSTRUCTURALCURVEACTION=1004757350;var IFCSTAIRTYPE=338393293;var IFCSOLARDEVICETYPE=1072016465;var IFCSHADINGDEVICETYPE=4074543187;var IFCSEAMCURVE=2157484638;var IFCROOFTYPE=2781568857;var IFCREINFORCINGMESHTYPE=2310774935;var IFCREINFORCINGELEMENTTYPE=964333572;var IFCRATIONALBSPLINESURFACEWITHKNOTS=683857671;var IFCRAMPTYPE=1469900589;var IFCPOLYGONALFACESET=2839578677;var IFCPILETYPE=1158309216;var IFCOPENINGSTANDARDCASE=3079942009;var IFCMEDICALDEVICETYPE=1114901282;var IFCINTERSECTIONCURVE=3113134337;var IFCINTERCEPTORTYPE=3946677679;var IFCINDEXEDPOLYCURVE=2571569899;var IFCGEOGRAPHICELEMENT=3493046030;var IFCFURNITURE=1509553395;var IFCFOOTINGTYPE=1893162501;var IFCEXTERNALSPATIALSTRUCTUREELEMENT=2853485674;var IFCEVENT=4148101412;var IFCENGINETYPE=132023988;var IFCELEMENTASSEMBLYTYPE=2397081782;var IFCDOORTYPE=2323601079;var IFCCYLINDRICALSURFACE=1213902940;var IFCCONSTRUCTIONPRODUCTRESOURCETYPE=1525564444;var IFCCONSTRUCTIONMATERIALRESOURCETYPE=4105962743;var IFCCONSTRUCTIONEQUIPMENTRESOURCETYPE=2185764099;var IFCCOMPOSITECURVEONSURFACE=15328376;var IFCCOMPLEXPROPERTYTEMPLATE=3875453745;var IFCCIVILELEMENTTYPE=3893394355;var IFCCHIMNEYTYPE=2197970202;var IFCBSPLINESURFACEWITHKNOTS=167062518;var IFCBSPLINESURFACE=2887950389;var IFCADVANCEDBREPWITHVOIDS=2603310189;var IFCADVANCEDBREP=1635779807;var IFCTRIANGULATEDFACESET=2916149573;var IFCTOROIDALSURFACE=1935646853;var IFCTESSELLATEDFACESET=2387106220;var IFCTASKTYPE=3206491090;var IFCSURFACECURVE=699246055;var IFCSUBCONTRACTRESOURCETYPE=4095615324;var IFCSTRUCTURALSURFACEREACTION=603775116;var IFCSPHERICALSURFACE=4015995234;var IFCSPATIALZONETYPE=2481509218;var IFCSPATIALZONE=463610769;var IFCSPATIALELEMENTTYPE=710998568;var IFCSPATIALELEMENT=1412071761;var IFCSIMPLEPROPERTYTEMPLATE=3663146110;var IFCREVOLVEDAREASOLIDTAPERED=3243963512;var IFCREPARAMETRISEDCOMPOSITECURVESEGMENT=816062949;var IFCRELSPACEBOUNDARY2NDLEVEL=1521410863;var IFCRELSPACEBOUNDARY1STLEVEL=3523091289;var IFCRELINTERFERESELEMENTS=427948657;var IFCRELDEFINESBYTEMPLATE=307848117;var IFCRELDEFINESBYOBJECT=1462361463;var IFCRELDECLARES=2565941209;var IFCRELASSIGNSTOGROUPBYFACTOR=1027710054;var IFCPROPERTYTEMPLATE=3521284610;var IFCPROPERTYSETTEMPLATE=492091185;var IFCPROJECTLIBRARY=653396225;var IFCPROCEDURETYPE=569719735;var IFCPREDEFINEDPROPERTYSET=3967405729;var IFCPCURVE=1682466193;var IFCLABORRESOURCETYPE=428585644;var IFCINDEXEDPOLYGONALFACEWITHVOIDS=2294589976;var IFCINDEXEDPOLYGONALFACE=178912537;var IFCGEOGRAPHICELEMENTTYPE=4095422895;var IFCFIXEDREFERENCESWEPTAREASOLID=2652556860;var IFCEXTRUDEDAREASOLIDTAPERED=2804161546;var IFCEVENTTYPE=4024345920;var IFCCURVEBOUNDEDSURFACE=2629017746;var IFCCREWRESOURCETYPE=1815067380;var IFCCONTEXT=3419103109;var IFCCONSTRUCTIONRESOURCETYPE=2574617495;var IFCCARTESIANPOINTLIST3D=2059837836;var IFCCARTESIANPOINTLIST2D=1675464909;var IFCCARTESIANPOINTLIST=574549367;var IFCADVANCEDFACE=3406155212;var IFCTYPERESOURCE=3698973494;var IFCTYPEPROCESS=3736923433;var IFCTESSELLATEDITEM=901063453;var IFCSWEPTDISKSOLIDPOLYGONAL=1096409881;var IFCRESOURCETIME=1042787934;var IFCRESOURCECONSTRAINTRELATIONSHIP=1608871552;var IFCRESOURCEAPPROVALRELATIONSHIP=2943643501;var IFCQUANTITYSET=2090586900;var IFCPROPERTYTEMPLATEDEFINITION=1482703590;var IFCPREDEFINEDPROPERTIES=3778827333;var IFCMIRROREDPROFILEDEF=2998442950;var IFCMATERIALRELATIONSHIP=853536259;var IFCMATERIALPROFILESETUSAGETAPERING=3404854881;var IFCMATERIALPROFILESETUSAGE=3079605661;var IFCMATERIALCONSTITUENTSET=2852063980;var IFCMATERIALCONSTITUENT=3708119e3;var IFCLAGTIME=1585845231;var IFCINDEXEDTRIANGLETEXTUREMAP=2133299955;var IFCINDEXEDTEXTUREMAP=1437953363;var IFCINDEXEDCOLOURMAP=3570813810;var IFCEXTERNALREFERENCERELATIONSHIP=1437805879;var IFCEXTENDEDPROPERTIES=297599258;var IFCEVENTTIME=211053100;var IFCCONVERSIONBASEDUNITWITHOFFSET=2713554722;var IFCCOLOURRGBLIST=3285139300;var IFCWORKTIME=1236880293;var IFCTEXTUREVERTEXLIST=3611470254;var IFCTASKTIMERECURRING=2771591690;var IFCTASKTIME=1549132990;var IFCSURFACEREINFORCEMENTAREA=2934153892;var IFCSTRUCTURALLOADORRESULT=609421318;var IFCSTRUCTURALLOADCONFIGURATION=3478079324;var IFCPROJECTEDCRS=3843373140;var IFCMATERIALPROFILEWITHOFFSETS=552965576;var IFCMATERIALPROFILESET=164193824;var IFCMATERIALPROFILE=2235152071;var IFCMATERIALLAYERWITHOFFSETS=1847252529;var IFCMAPCONVERSION=3057273783;var IFCCOORDINATEOPERATION=1785450214;var IFCCONNECTIONVOLUMEGEOMETRY=775493141;var IFCREINFORCINGBAR=979691226;var IFCELECTRICDISTRIBUTIONPOINT=3700593921;var IFCDISTRIBUTIONCONTROLELEMENT=1062813311;var IFCDISTRIBUTIONCHAMBERELEMENT=1052013943;var IFCCONTROLLERTYPE=578613899;var IFCCHAMFEREDGEFEATURE=2454782716;var IFCBEAM=753842376;var IFCALARMTYPE=3001207471;var IFCACTUATORTYPE=2874132201;var IFCWINDOW=3304561284;var IFCWALLSTANDARDCASE=3512223829;var IFCWALL=2391406946;var IFCVIBRATIONISOLATORTYPE=3313531582;var IFCTENDONANCHOR=2347447852;var IFCTENDON=3824725483;var IFCSTRUCTURALANALYSISMODEL=2515109513;var IFCSTAIRFLIGHT=4252922144;var IFCSTAIR=331165859;var IFCSLAB=1529196076;var IFCSENSORTYPE=1783015770;var IFCROUNDEDEDGEFEATURE=1376911519;var IFCROOF=2016517767;var IFCREINFORCINGMESH=2320036040;var IFCREINFORCINGELEMENT=3027567501;var IFCRATIONALBEZIERCURVE=3055160366;var IFCRAMPFLIGHT=3283111854;var IFCRAMP=3024970846;var IFCRAILING=2262370178;var IFCPLATE=3171933400;var IFCPILE=1687234759;var IFCMEMBER=1073191201;var IFCFOOTING=900683007;var IFCFLOWTREATMENTDEVICE=3508470533;var IFCFLOWTERMINAL=2223149337;var IFCFLOWSTORAGEDEVICE=707683696;var IFCFLOWSEGMENT=987401354;var IFCFLOWMOVINGDEVICE=3132237377;var IFCFLOWINSTRUMENTTYPE=4037862832;var IFCFLOWFITTING=4278956645;var IFCFLOWCONTROLLER=2058353004;var IFCFIRESUPPRESSIONTERMINALTYPE=4222183408;var IFCFILTERTYPE=1810631287;var IFCFANTYPE=346874300;var IFCENERGYCONVERSIONDEVICE=1658829314;var IFCELECTRICALELEMENT=857184966;var IFCELECTRICALCIRCUIT=1634875225;var IFCELECTRICTIMECONTROLTYPE=712377611;var IFCELECTRICMOTORTYPE=1217240411;var IFCELECTRICHEATERTYPE=1365060375;var IFCELECTRICGENERATORTYPE=1534661035;var IFCELECTRICFLOWSTORAGEDEVICETYPE=3277789161;var IFCELECTRICAPPLIANCETYPE=663422040;var IFCEDGEFEATURE=855621170;var IFCDUCTSILENCERTYPE=2030761528;var IFCDUCTSEGMENTTYPE=3760055223;var IFCDUCTFITTINGTYPE=869906466;var IFCDOOR=395920057;var IFCDISTRIBUTIONPORT=3041715199;var IFCDISTRIBUTIONFLOWELEMENT=3040386961;var IFCDISTRIBUTIONELEMENT=1945004755;var IFCDISTRIBUTIONCONTROLELEMENTTYPE=2063403501;var IFCDISTRIBUTIONCHAMBERELEMENTTYPE=1599208980;var IFCDISCRETEACCESSORYTYPE=2635815018;var IFCDISCRETEACCESSORY=1335981549;var IFCDIAMETERDIMENSION=4147604152;var IFCDAMPERTYPE=3961806047;var IFCCURTAINWALL=3495092785;var IFCCOVERING=1973544240;var IFCCOOLINGTOWERTYPE=2954562838;var IFCCOOLEDBEAMTYPE=335055490;var IFCCONSTRUCTIONPRODUCTRESOURCE=488727124;var IFCCONSTRUCTIONMATERIALRESOURCE=1060000209;var IFCCONSTRUCTIONEQUIPMENTRESOURCE=3898045240;var IFCCONDITIONCRITERION=1163958913;var IFCCONDITION=2188551683;var IFCCONDENSERTYPE=2816379211;var IFCCOMPRESSORTYPE=3850581409;var IFCCOLUMN=843113511;var IFCCOILTYPE=2301859152;var IFCCIRCLE=2611217952;var IFCCHILLERTYPE=2951183804;var IFCCABLESEGMENTTYPE=1285652485;var IFCCABLECARRIERSEGMENTTYPE=3293546465;var IFCCABLECARRIERFITTINGTYPE=395041908;var IFCBUILDINGELEMENTPROXYTYPE=1909888760;var IFCBUILDINGELEMENTPROXY=1095909175;var IFCBUILDINGELEMENTPART=2979338954;var IFCBUILDINGELEMENTCOMPONENT=52481810;var IFCBUILDINGELEMENT=3299480353;var IFCBOILERTYPE=231477066;var IFCBEZIERCURVE=1916977116;var IFCBEAMTYPE=819618141;var IFCBSPLINECURVE=1967976161;var IFCASSET=3460190687;var IFCANGULARDIMENSION=2470393545;var IFCAIRTOAIRHEATRECOVERYTYPE=1871374353;var IFCAIRTERMINALTYPE=3352864051;var IFCAIRTERMINALBOXTYPE=1411407467;var IFCACTIONREQUEST=3821786052;var IFC2DCOMPOSITECURVE=1213861670;var IFCZONE=1033361043;var IFCWORKSCHEDULE=3342526732;var IFCWORKPLAN=4218914973;var IFCWORKCONTROL=1028945134;var IFCWASTETERMINALTYPE=1133259667;var IFCWALLTYPE=1898987631;var IFCVIRTUALELEMENT=2769231204;var IFCVALVETYPE=728799441;var IFCUNITARYEQUIPMENTTYPE=1911125066;var IFCTUBEBUNDLETYPE=1600972822;var IFCTRIMMEDCURVE=3593883385;var IFCTRANSPORTELEMENT=1620046519;var IFCTRANSFORMERTYPE=1692211062;var IFCTIMESERIESSCHEDULE=1637806684;var IFCTANKTYPE=5716631;var IFCSYSTEM=2254336722;var IFCSWITCHINGDEVICETYPE=2315554128;var IFCSUBCONTRACTRESOURCE=148013059;var IFCSTRUCTURALSURFACECONNECTION=1975003073;var IFCSTRUCTURALRESULTGROUP=2986769608;var IFCSTRUCTURALPOINTREACTION=1235345126;var IFCSTRUCTURALPOINTCONNECTION=734778138;var IFCSTRUCTURALPOINTACTION=2082059205;var IFCSTRUCTURALPLANARACTIONVARYING=3987759626;var IFCSTRUCTURALPLANARACTION=1621171031;var IFCSTRUCTURALLOADGROUP=1252848954;var IFCSTRUCTURALLINEARACTIONVARYING=1721250024;var IFCSTRUCTURALLINEARACTION=1807405624;var IFCSTRUCTURALCURVEMEMBERVARYING=2445595289;var IFCSTRUCTURALCURVEMEMBER=214636428;var IFCSTRUCTURALCURVECONNECTION=4243806635;var IFCSTRUCTURALCONNECTION=1179482911;var IFCSTRUCTURALACTION=682877961;var IFCSTAIRFLIGHTTYPE=1039846685;var IFCSTACKTERMINALTYPE=3112655638;var IFCSPACETYPE=3812236995;var IFCSPACEPROGRAM=652456506;var IFCSPACEHEATERTYPE=1305183839;var IFCSPACE=3856911033;var IFCSLABTYPE=2533589738;var IFCSITE=4097777520;var IFCSERVICELIFE=4105383287;var IFCSCHEDULETIMECONTROL=3517283431;var IFCSANITARYTERMINALTYPE=1768891740;var IFCRELASSIGNSTASKS=2863920197;var IFCRELAGGREGATES=160246688;var IFCRAMPFLIGHTTYPE=2324767716;var IFCRAILINGTYPE=2893384427;var IFCRADIUSDIMENSION=3248260540;var IFCPUMPTYPE=2250791053;var IFCPROTECTIVEDEVICETYPE=1842657554;var IFCPROJECTIONELEMENT=3651124850;var IFCPROJECTORDERRECORD=3642467123;var IFCPROJECTORDER=2904328755;var IFCPROCEDURE=2744685151;var IFCPORT=3740093272;var IFCPOLYLINE=3724593414;var IFCPLATETYPE=4017108033;var IFCPIPESEGMENTTYPE=4231323485;var IFCPIPEFITTINGTYPE=804291784;var IFCPERMIT=3327091369;var IFCPERFORMANCEHISTORY=2382730787;var IFCOUTLETTYPE=2837617999;var IFCORDERACTION=3425660407;var IFCOPENINGELEMENT=3588315303;var IFCOCCUPANT=4143007308;var IFCMOVE=1916936684;var IFCMOTORCONNECTIONTYPE=977012517;var IFCMEMBERTYPE=3181161470;var IFCMECHANICALFASTENERTYPE=2108223431;var IFCMECHANICALFASTENER=377706215;var IFCLINEARDIMENSION=2506943328;var IFCLIGHTFIXTURETYPE=1161773419;var IFCLAMPTYPE=1051575348;var IFCLABORRESOURCE=3827777499;var IFCJUNCTIONBOXTYPE=4288270099;var IFCINVENTORY=2391368822;var IFCHUMIDIFIERTYPE=1806887404;var IFCHEATEXCHANGERTYPE=1251058090;var IFCGROUP=2706460486;var IFCGRID=3009204131;var IFCGASTERMINALTYPE=200128114;var IFCFURNITURESTANDARD=814719939;var IFCFURNISHINGELEMENT=263784265;var IFCFLOWTREATMENTDEVICETYPE=3009222698;var IFCFLOWTERMINALTYPE=2297155007;var IFCFLOWSTORAGEDEVICETYPE=1339347760;var IFCFLOWSEGMENTTYPE=1834744321;var IFCFLOWMOVINGDEVICETYPE=1482959167;var IFCFLOWMETERTYPE=3815607619;var IFCFLOWFITTINGTYPE=3198132628;var IFCFLOWCONTROLLERTYPE=3907093117;var IFCFEATUREELEMENTSUBTRACTION=1287392070;var IFCFEATUREELEMENTADDITION=2143335405;var IFCFEATUREELEMENT=2827207264;var IFCFASTENERTYPE=2489546625;var IFCFASTENER=647756555;var IFCFACETEDBREPWITHVOIDS=3737207727;var IFCFACETEDBREP=807026263;var IFCEVAPORATORTYPE=3390157468;var IFCEVAPORATIVECOOLERTYPE=3174744832;var IFCEQUIPMENTSTANDARD=3272907226;var IFCEQUIPMENTELEMENT=1962604670;var IFCENERGYCONVERSIONDEVICETYPE=2107101300;var IFCELLIPSE=1704287377;var IFCELEMENTCOMPONENTTYPE=2590856083;var IFCELEMENTCOMPONENT=1623761950;var IFCELEMENTASSEMBLY=4123344466;var IFCELEMENT=1758889154;var IFCELECTRICALBASEPROPERTIES=360485395;var IFCDISTRIBUTIONFLOWELEMENTTYPE=3849074793;var IFCDISTRIBUTIONELEMENTTYPE=3256556792;var IFCDIMENSIONCURVEDIRECTEDCALLOUT=681481545;var IFCCURTAINWALLTYPE=1457835157;var IFCCREWRESOURCE=3295246426;var IFCCOVERINGTYPE=1916426348;var IFCCOSTSCHEDULE=1419761937;var IFCCOSTITEM=3895139033;var IFCCONTROL=3293443760;var IFCCONSTRUCTIONRESOURCE=2559216714;var IFCCONIC=2510884976;var IFCCOMPOSITECURVE=3732776249;var IFCCOLUMNTYPE=300633059;var IFCCIRCLEHOLLOWPROFILEDEF=2937912522;var IFCBUILDINGSTOREY=3124254112;var IFCBUILDINGELEMENTTYPE=1950629157;var IFCBUILDING=4031249490;var IFCBOUNDEDCURVE=1260505505;var IFCBOOLEANCLIPPINGRESULT=3649129432;var IFCBLOCK=1334484129;var IFCASYMMETRICISHAPEPROFILEDEF=3207858831;var IFCANNOTATION=1674181508;var IFCACTOR=2296667514;var IFCTRANSPORTELEMENTTYPE=2097647324;var IFCTASK=3473067441;var IFCSYSTEMFURNITUREELEMENTTYPE=1580310250;var IFCSURFACEOFREVOLUTION=4124788165;var IFCSURFACEOFLINEAREXTRUSION=2809605785;var IFCSURFACECURVESWEPTAREASOLID=2028607225;var IFCSTRUCTUREDDIMENSIONCALLOUT=4070609034;var IFCSTRUCTURALSURFACEMEMBERVARYING=2218152070;var IFCSTRUCTURALSURFACEMEMBER=3979015343;var IFCSTRUCTURALREACTION=3689010777;var IFCSTRUCTURALMEMBER=530289379;var IFCSTRUCTURALITEM=3136571912;var IFCSTRUCTURALACTIVITY=3544373492;var IFCSPHERE=451544542;var IFCSPATIALSTRUCTUREELEMENTTYPE=3893378262;var IFCSPATIALSTRUCTUREELEMENT=2706606064;var IFCRIGHTCIRCULARCYLINDER=3626867408;var IFCRIGHTCIRCULARCONE=4158566097;var IFCREVOLVEDAREASOLID=1856042241;var IFCRESOURCE=2914609552;var IFCRELVOIDSELEMENT=1401173127;var IFCRELSPACEBOUNDARY=3451746338;var IFCRELSERVICESBUILDINGS=366585022;var IFCRELSEQUENCE=4122056220;var IFCRELSCHEDULESCOSTITEMS=1058617721;var IFCRELREFERENCEDINSPATIALSTRUCTURE=1245217292;var IFCRELPROJECTSELEMENT=750771296;var IFCRELOVERRIDESPROPERTIES=202636808;var IFCRELOCCUPIESSPACES=2051452291;var IFCRELNESTS=3268803585;var IFCRELINTERACTIONREQUIREMENTS=4189434867;var IFCRELFLOWCONTROLELEMENTS=279856033;var IFCRELFILLSELEMENT=3940055652;var IFCRELDEFINESBYTYPE=781010003;var IFCRELDEFINESBYPROPERTIES=4186316022;var IFCRELDEFINES=693640335;var IFCRELDECOMPOSES=2551354335;var IFCRELCOVERSSPACES=2802773753;var IFCRELCOVERSBLDGELEMENTS=886880790;var IFCRELCONTAINEDINSPATIALSTRUCTURE=3242617779;var IFCRELCONNECTSWITHREALIZINGELEMENTS=3678494232;var IFCRELCONNECTSWITHECCENTRICITY=504942748;var IFCRELCONNECTSSTRUCTURALMEMBER=1638771189;var IFCRELCONNECTSSTRUCTURALELEMENT=3912681535;var IFCRELCONNECTSSTRUCTURALACTIVITY=2127690289;var IFCRELCONNECTSPORTS=3190031847;var IFCRELCONNECTSPORTTOELEMENT=4201705270;var IFCRELCONNECTSPATHELEMENTS=3945020480;var IFCRELCONNECTSELEMENTS=1204542856;var IFCRELCONNECTS=826625072;var IFCRELASSOCIATESPROFILEPROPERTIES=2851387026;var IFCRELASSOCIATESMATERIAL=2655215786;var IFCRELASSOCIATESLIBRARY=3840914261;var IFCRELASSOCIATESDOCUMENT=982818633;var IFCRELASSOCIATESCONSTRAINT=2728634034;var IFCRELASSOCIATESCLASSIFICATION=919958153;var IFCRELASSOCIATESAPPROVAL=4095574036;var IFCRELASSOCIATESAPPLIEDVALUE=1327628568;var IFCRELASSOCIATES=1865459582;var IFCRELASSIGNSTORESOURCE=205026976;var IFCRELASSIGNSTOPROJECTORDER=3372526763;var IFCRELASSIGNSTOPRODUCT=2857406711;var IFCRELASSIGNSTOPROCESS=4278684876;var IFCRELASSIGNSTOGROUP=1307041759;var IFCRELASSIGNSTOCONTROL=2495723537;var IFCRELASSIGNSTOACTOR=1683148259;var IFCRELASSIGNS=3939117080;var IFCRECTANGULARTRIMMEDSURFACE=3454111270;var IFCRECTANGULARPYRAMID=2798486643;var IFCRECTANGLEHOLLOWPROFILEDEF=2770003689;var IFCPROXY=3219374653;var IFCPROPERTYSET=1451395588;var IFCPROJECTIONCURVE=4194566429;var IFCPROJECT=103090709;var IFCPRODUCT=4208778838;var IFCPROCESS=2945172077;var IFCPLANE=220341763;var IFCPLANARBOX=603570806;var IFCPERMEABLECOVERINGPROPERTIES=3566463478;var IFCOFFSETCURVE3D=3505215534;var IFCOFFSETCURVE2D=3388369263;var IFCOBJECT=3888040117;var IFCMANIFOLDSOLIDBREP=1425443689;var IFCLINE=1281925730;var IFCLSHAPEPROFILEDEF=572779678;var IFCISHAPEPROFILEDEF=1484403080;var IFCGEOMETRICCURVESET=987898635;var IFCFURNITURETYPE=1268542332;var IFCFURNISHINGELEMENTTYPE=4238390223;var IFCFLUIDFLOWPROPERTIES=3455213021;var IFCFILLAREASTYLETILES=315944413;var IFCFILLAREASTYLETILESYMBOLWITHSTYLE=4203026998;var IFCFILLAREASTYLEHATCHING=374418227;var IFCFACEBASEDSURFACEMODEL=2047409740;var IFCEXTRUDEDAREASOLID=477187591;var IFCENERGYPROPERTIES=80994333;var IFCELLIPSEPROFILEDEF=2835456948;var IFCELEMENTARYSURFACE=2777663545;var IFCELEMENTTYPE=339256511;var IFCELEMENTQUANTITY=1883228015;var IFCEDGELOOP=1472233963;var IFCDRAUGHTINGPREDEFINEDCURVEFONT=4006246654;var IFCDRAUGHTINGPREDEFINEDCOLOUR=445594917;var IFCDRAUGHTINGCALLOUT=3073041342;var IFCDOORSTYLE=526551008;var IFCDOORPANELPROPERTIES=1714330368;var IFCDOORLININGPROPERTIES=2963535650;var IFCDIRECTION=32440307;var IFCDIMENSIONCURVETERMINATOR=4054601972;var IFCDIMENSIONCURVE=606661476;var IFCDEFINEDSYMBOL=693772133;var IFCCURVEBOUNDEDPLANE=2827736869;var IFCCURVE=2601014836;var IFCCSGSOLID=2147822146;var IFCCSGPRIMITIVE3D=2506170314;var IFCCRANERAILFSHAPEPROFILEDEF=194851669;var IFCCRANERAILASHAPEPROFILEDEF=4133800736;var IFCCOMPOSITECURVESEGMENT=2485617015;var IFCCLOSEDSHELL=2205249479;var IFCCIRCLEPROFILEDEF=1383045692;var IFCCARTESIANTRANSFORMATIONOPERATOR3DNONUNIFORM=1416205885;var IFCCARTESIANTRANSFORMATIONOPERATOR3D=3331915920;var IFCCARTESIANTRANSFORMATIONOPERATOR2DNONUNIFORM=3486308946;var IFCCARTESIANTRANSFORMATIONOPERATOR2D=3749851601;var IFCCARTESIANTRANSFORMATIONOPERATOR=59481748;var IFCCARTESIANPOINT=1123145078;var IFCCSHAPEPROFILEDEF=2898889636;var IFCBOXEDHALFSPACE=2713105998;var IFCBOUNDINGBOX=2581212453;var IFCBOUNDEDSURFACE=4182860854;var IFCBOOLEANRESULT=2736907675;var IFCAXIS2PLACEMENT3D=2740243338;var IFCAXIS2PLACEMENT2D=3125803723;var IFCAXIS1PLACEMENT=4261334040;var IFCANNOTATIONSURFACE=1302238472;var IFCANNOTATIONFILLAREAOCCURRENCE=2265737646;var IFCANNOTATIONFILLAREA=669184980;var IFCANNOTATIONCURVEOCCURRENCE=3288037868;var IFCZSHAPEPROFILEDEF=2543172580;var IFCWINDOWSTYLE=1299126871;var IFCWINDOWPANELPROPERTIES=512836454;var IFCWINDOWLININGPROPERTIES=336235671;var IFCVERTEXLOOP=2759199220;var IFCVECTOR=1417489154;var IFCUSHAPEPROFILEDEF=427810014;var IFCTYPEPRODUCT=2347495698;var IFCTYPEOBJECT=1628702193;var IFCTWODIRECTIONREPEATFACTOR=1345879162;var IFCTRAPEZIUMPROFILEDEF=2715220739;var IFCTEXTLITERALWITHEXTENT=3124975700;var IFCTEXTLITERAL=4282788508;var IFCTERMINATORSYMBOL=3028897424;var IFCTSHAPEPROFILEDEF=3071757647;var IFCSWEPTSURFACE=230924584;var IFCSWEPTDISKSOLID=1260650574;var IFCSWEPTAREASOLID=2247615214;var IFCSURFACESTYLERENDERING=1878645084;var IFCSURFACE=2513912981;var IFCSUBEDGE=2233826070;var IFCSTRUCTURALSTEELPROFILEPROPERTIES=3653947884;var IFCSTRUCTURALPROFILEPROPERTIES=3843319758;var IFCSTRUCTURALLOADSINGLEFORCEWARPING=1190533807;var IFCSTRUCTURALLOADSINGLEFORCE=1597423693;var IFCSTRUCTURALLOADSINGLEDISPLACEMENTDISTORTION=1973038258;var IFCSTRUCTURALLOADSINGLEDISPLACEMENT=2473145415;var IFCSTRUCTURALLOADPLANARFORCE=2668620305;var IFCSTRUCTURALLOADLINEARFORCE=1595516126;var IFCSPACETHERMALLOADPROPERTIES=390701378;var IFCSOUNDVALUE=1202362311;var IFCSOUNDPROPERTIES=2485662743;var IFCSOLIDMODEL=723233188;var IFCSLIPPAGECONNECTIONCONDITION=2609359061;var IFCSHELLBASEDSURFACEMODEL=4124623270;var IFCSERVICELIFEFACTOR=2411513650;var IFCSECTIONEDSPINE=1509187699;var IFCROUNDEDRECTANGLEPROFILEDEF=2778083089;var IFCRELATIONSHIP=478536968;var IFCREINFORCEMENTDEFINITIONPROPERTIES=3765753017;var IFCREGULARTIMESERIES=3413951693;var IFCRECTANGLEPROFILEDEF=3615266464;var IFCPROPERTYTABLEVALUE=110355661;var IFCPROPERTYSINGLEVALUE=3650150729;var IFCPROPERTYSETDEFINITION=3357820518;var IFCPROPERTYREFERENCEVALUE=941946838;var IFCPROPERTYLISTVALUE=2752243245;var IFCPROPERTYENUMERATEDVALUE=4166981789;var IFCPROPERTYDEFINITION=1680319473;var IFCPROPERTYBOUNDEDVALUE=871118103;var IFCPRODUCTDEFINITIONSHAPE=673634403;var IFCPREDEFINEDPOINTMARKERSYMBOL=179317114;var IFCPREDEFINEDDIMENSIONSYMBOL=433424934;var IFCPREDEFINEDCURVEFONT=2559016684;var IFCPREDEFINEDCOLOUR=759155922;var IFCPOLYGONALBOUNDEDHALFSPACE=2775532180;var IFCPOLYLOOP=2924175390;var IFCPOINTONSURFACE=1423911732;var IFCPOINTONCURVE=4022376103;var IFCPOINT=2067069095;var IFCPLANAREXTENT=1663979128;var IFCPLACEMENT=2004835150;var IFCPIXELTEXTURE=597895409;var IFCPHYSICALCOMPLEXQUANTITY=3021840470;var IFCPATH=2519244187;var IFCPARAMETERIZEDPROFILEDEF=2529465313;var IFCORIENTEDEDGE=1029017970;var IFCOPENSHELL=2665983363;var IFCONEDIRECTIONREPEATFACTOR=2833995503;var IFCOBJECTDEFINITION=219451334;var IFCMECHANICALCONCRETEMATERIALPROPERTIES=1430189142;var IFCMATERIALDEFINITIONREPRESENTATION=2022407955;var IFCMAPPEDITEM=2347385850;var IFCLOOP=1008929658;var IFCLOCALPLACEMENT=2624227202;var IFCLIGHTSOURCESPOT=3422422726;var IFCLIGHTSOURCEPOSITIONAL=1520743889;var IFCLIGHTSOURCEGONIOMETRIC=4266656042;var IFCLIGHTSOURCEDIRECTIONAL=2604431987;var IFCLIGHTSOURCEAMBIENT=125510826;var IFCLIGHTSOURCE=1402838566;var IFCIRREGULARTIMESERIES=3741457305;var IFCIMAGETEXTURE=3905492369;var IFCHYGROSCOPICMATERIALPROPERTIES=2445078500;var IFCHALFSPACESOLID=812098782;var IFCGRIDPLACEMENT=178086475;var IFCGEOMETRICSET=3590301190;var IFCGEOMETRICREPRESENTATIONSUBCONTEXT=4142052618;var IFCGEOMETRICREPRESENTATIONITEM=2453401579;var IFCGEOMETRICREPRESENTATIONCONTEXT=3448662350;var IFCGENERALPROFILEPROPERTIES=1446786286;var IFCGENERALMATERIALPROPERTIES=803998398;var IFCFUELPROPERTIES=3857492461;var IFCFILLAREASTYLE=738692330;var IFCFAILURECONNECTIONCONDITION=4219587988;var IFCFACESURFACE=3008276851;var IFCFACEOUTERBOUND=803316827;var IFCFACEBOUND=1809719519;var IFCFACE=2556980723;var IFCEXTENDEDMATERIALPROPERTIES=1860660968;var IFCEDGECURVE=476780140;var IFCEDGE=3900360178;var IFCDRAUGHTINGPREDEFINEDTEXTFONT=4170525392;var IFCDOCUMENTREFERENCE=3732053477;var IFCDIMENSIONPAIR=1694125774;var IFCDIMENSIONCALLOUTRELATIONSHIP=2273265877;var IFCDERIVEDPROFILEDEF=3632507154;var IFCCURVESTYLE=3800577675;var IFCCONVERSIONBASEDUNIT=2889183280;var IFCCONTEXTDEPENDENTUNIT=3050246964;var IFCCONNECTIONPOINTECCENTRICITY=45288368;var IFCCONNECTIONCURVEGEOMETRY=1981873012;var IFCCONNECTEDFACESET=370225590;var IFCCOMPOSITEPROFILEDEF=1485152156;var IFCCOMPLEXPROPERTY=2542286263;var IFCCOLOURRGB=776857604;var IFCCLASSIFICATIONREFERENCE=647927063;var IFCCENTERLINEPROFILEDEF=3150382593;var IFCBLOBTEXTURE=616511568;var IFCARBITRARYPROFILEDEFWITHVOIDS=2705031697;var IFCARBITRARYOPENPROFILEDEF=1310608509;var IFCARBITRARYCLOSEDPROFILEDEF=3798115385;var IFCANNOTATIONTEXTOCCURRENCE=2297822566;var IFCANNOTATIONSYMBOLOCCURRENCE=3612888222;var IFCANNOTATIONSURFACEOCCURRENCE=962685235;var IFCANNOTATIONOCCURRENCE=2442683028;var IFCWATERPROPERTIES=1065908215;var IFCVIRTUALGRIDINTERSECTION=891718957;var IFCVERTEXPOINT=1907098498;var IFCVERTEX=2799835756;var IFCTOPOLOGYREPRESENTATION=1735638870;var IFCTOPOLOGICALREPRESENTATIONITEM=1377556343;var IFCTIMESERIESREFERENCERELATIONSHIP=1718945513;var IFCTHERMALMATERIALPROPERTIES=3317419933;var IFCTEXTUREVERTEX=1210645708;var IFCTEXTUREMAP=2552916305;var IFCTEXTURECOORDINATEGENERATOR=1742049831;var IFCTEXTURECOORDINATE=280115917;var IFCTEXTSTYLETEXTMODEL=1640371178;var IFCTEXTSTYLEFORDEFINEDFONT=2636378356;var IFCTEXTSTYLEFONTMODEL=1983826977;var IFCTEXTSTYLE=1447204868;var IFCTELECOMADDRESS=912023232;var IFCTABLE=985171141;var IFCSYMBOLSTYLE=1290481447;var IFCSURFACETEXTURE=626085974;var IFCSURFACESTYLEWITHTEXTURES=1351298697;var IFCSURFACESTYLESHADING=846575682;var IFCSURFACESTYLEREFRACTION=1607154358;var IFCSURFACESTYLELIGHTING=3303107099;var IFCSURFACESTYLE=1300840506;var IFCSTYLEDREPRESENTATION=3049322572;var IFCSTYLEDITEM=3958052878;var IFCSTYLEMODEL=2830218821;var IFCSTRUCTURALLOADTEMPERATURE=3408363356;var IFCSTRUCTURALLOADSTATIC=2525727697;var IFCSIMPLEPROPERTY=3692461612;var IFCSHAPEREPRESENTATION=4240577450;var IFCSHAPEMODEL=3982875396;var IFCSHAPEASPECT=867548509;var IFCSECTIONREINFORCEMENTPROPERTIES=4165799628;var IFCSECTIONPROPERTIES=2042790032;var IFCSIUNIT=448429030;var IFCRIBPLATEPROFILEPROPERTIES=3679540991;var IFCREPRESENTATIONMAP=1660063152;var IFCREPRESENTATION=1076942058;var IFCREINFORCEMENTBARPROPERTIES=1580146022;var IFCREFERENCESVALUEDOCUMENT=2692823254;var IFCQUANTITYWEIGHT=825690147;var IFCQUANTITYVOLUME=2405470396;var IFCQUANTITYTIME=3252649465;var IFCQUANTITYLENGTH=931644368;var IFCQUANTITYCOUNT=2093928680;var IFCQUANTITYAREA=2044713172;var IFCPROPERTYENUMERATION=3710013099;var IFCPROPERTYDEPENDENCYRELATIONSHIP=148025276;var IFCPROPERTYCONSTRAINTRELATIONSHIP=3896028662;var IFCPROPERTY=2598011224;var IFCPROFILEPROPERTIES=2802850158;var IFCPRODUCTSOFCOMBUSTIONPROPERTIES=2267347899;var IFCPRODUCTREPRESENTATION=2095639259;var IFCPRESENTATIONLAYERWITHSTYLE=1304840413;var IFCPRESENTATIONLAYERASSIGNMENT=2022622350;var IFCPREDEFINEDTEXTFONT=1775413392;var IFCPREDEFINEDTERMINATORSYMBOL=3213052703;var IFCPREDEFINEDSYMBOL=990879717;var IFCPREDEFINEDITEM=3727388367;var IFCPOSTALADDRESS=3355820592;var IFCPHYSICALSIMPLEQUANTITY=2226359599;var IFCPERSONANDORGANIZATION=101040310;var IFCPERSON=2077209135;var IFCORGANIZATIONRELATIONSHIP=1411181986;var IFCORGANIZATION=4251960020;var IFCOPTICALMATERIALPROPERTIES=1227763645;var IFCOBJECTIVE=2251480897;var IFCOBJECTPLACEMENT=3701648758;var IFCMETRIC=3368373690;var IFCMECHANICALSTEELMATERIALPROPERTIES=677618848;var IFCMECHANICALMATERIALPROPERTIES=4256014907;var IFCMATERIALPROPERTIES=3265635763;var IFCMATERIALLAYERSETUSAGE=1303795690;var IFCMATERIALLAYERSET=3303938423;var IFCMATERIALLAYER=248100487;var IFCMATERIALCLASSIFICATIONRELATIONSHIP=1847130766;var IFCMATERIAL=1838606355;var IFCLIBRARYREFERENCE=3452421091;var IFCLIBRARYINFORMATION=2655187982;var IFCEXTERNALLYDEFINEDTEXTFONT=3548104201;var IFCEXTERNALLYDEFINEDSYMBOL=3207319532;var IFCEXTERNALLYDEFINEDSURFACESTYLE=1040185647;var IFCEXTERNALLYDEFINEDHATCHSTYLE=2242383968;var IFCENVIRONMENTALIMPACTVALUE=1648886627;var IFCDRAUGHTINGCALLOUTRELATIONSHIP=3796139169;var IFCDOCUMENTINFORMATIONRELATIONSHIP=770865208;var IFCDOCUMENTINFORMATION=1154170062;var IFCCURVESTYLEFONTPATTERN=3510044353;var IFCCURVESTYLEFONTANDSCALING=2367409068;var IFCCURVESTYLEFONT=1105321065;var IFCCURRENCYRELATIONSHIP=539742890;var IFCCOSTVALUE=602808272;var IFCCONSTRAINTRELATIONSHIP=347226245;var IFCCONSTRAINTCLASSIFICATIONRELATIONSHIP=613356794;var IFCCONSTRAINTAGGREGATIONRELATIONSHIP=1658513725;var IFCCONNECTIONSURFACEGEOMETRY=2732653382;var IFCCONNECTIONPORTGEOMETRY=4257277454;var IFCCONNECTIONPOINTGEOMETRY=2614616156;var IFCCOLOURSPECIFICATION=3264961684;var IFCCLASSIFICATIONITEMRELATIONSHIP=1098599126;var IFCCLASSIFICATIONITEM=1767535486;var IFCCLASSIFICATION=747523909;var IFCBOUNDARYNODECONDITIONWARPING=2069777674;var IFCBOUNDARYNODECONDITION=1387855156;var IFCBOUNDARYFACECONDITION=3367102660;var IFCBOUNDARYEDGECONDITION=1560379544;var IFCAPPROVALRELATIONSHIP=3869604511;var IFCAPPROVALACTORRELATIONSHIP=2080292479;var IFCAPPLIEDVALUERELATIONSHIP=1110488051;var FILE_DESCRIPTION=599546466;var FILE_NAME=1390159747;var FILE_SCHEMA=1109904537;var Handle=/*#__PURE__*/_createClass(function Handle(value){_classCallCheck(this,Handle);this.value=value;this.type=5;});var IfcLineObject=/*#__PURE__*/_createClass(function IfcLineObject(expressID){_classCallCheck(this,IfcLineObject);this.expressID=expressID;this.type=0;});var FromRawLineData=[];var InversePropertyDef={};var InheritanceDef={};var Constructors={};var ToRawLineData={};var TypeInitialisers={};var SchemaNames=[];function TypeInitialiser(schema,tapeItem){if(Array.isArray(tapeItem))tapeItem.map(function(p){return TypeInitialiser(schema,p);});if(tapeItem.typecode)return TypeInitialisers[schema][tapeItem.typecode](tapeItem.value);else return tapeItem.value;}function Labelise(tapeItem){tapeItem.value=tapeItem.value.toString();tapeItem.valueType=tapeItem.type;tapeItem.type=2;tapeItem.label=tapeItem.constructor.name.toUpperCase();return tapeItem;}var Schemas;(function(Schemas2){Schemas2["IFC2X3"]="IFC2X3";Schemas2["IFC4"]="IFC4";Schemas2["IFC4X3"]="IFC4X3";})(Schemas||(Schemas={}));SchemaNames[1]="IFC2X3";FromRawLineData[1]={3630933823:function _(id,v){return new IFC2X3.IfcActorRole(id,v[0],!v[1]?null:new IFC2X3.IfcLabel(v[1].value),!v[2]?null:new IFC2X3.IfcText(v[2].value));},618182010:function _(id,v){return new IFC2X3.IfcAddress(id,v[0],!v[1]?null:new IFC2X3.IfcText(v[1].value),!v[2]?null:new IFC2X3.IfcLabel(v[2].value));},639542469:function _(id,v){return new IFC2X3.IfcApplication(id,new Handle(v[0].value),new IFC2X3.IfcLabel(v[1].value),new IFC2X3.IfcLabel(v[2].value),new IFC2X3.IfcIdentifier(v[3].value));},411424972:function _(id,v){return new IFC2X3.IfcAppliedValue(id,!v[0]?null:new IFC2X3.IfcLabel(v[0].value),!v[1]?null:new IFC2X3.IfcText(v[1].value),!v[2]?null:new Handle(v[2].value),!v[3]?null:new Handle(v[3].value),!v[4]?null:new Handle(v[4].value),!v[5]?null:new Handle(v[5].value));},1110488051:function _(id,v){return new IFC2X3.IfcAppliedValueRelationship(id,new Handle(v[0].value),v[1].map(function(p){return new Handle(p.value);}),v[2],!v[3]?null:new IFC2X3.IfcLabel(v[3].value),!v[4]?null:new IFC2X3.IfcText(v[4].value));},130549933:function _(id,v){return new IFC2X3.IfcApproval(id,!v[0]?null:new IFC2X3.IfcText(v[0].value),new Handle(v[1].value),!v[2]?null:new IFC2X3.IfcLabel(v[2].value),!v[3]?null:new IFC2X3.IfcLabel(v[3].value),!v[4]?null:new IFC2X3.IfcText(v[4].value),new IFC2X3.IfcLabel(v[5].value),new IFC2X3.IfcIdentifier(v[6].value));},2080292479:function _(id,v){return new IFC2X3.IfcApprovalActorRelationship(id,new Handle(v[0].value),new Handle(v[1].value),new Handle(v[2].value));},390851274:function _(id,v){return new IFC2X3.IfcApprovalPropertyRelationship(id,v[0].map(function(p){return new Handle(p.value);}),new Handle(v[1].value));},3869604511:function _(id,v){return new IFC2X3.IfcApprovalRelationship(id,new Handle(v[0].value),new Handle(v[1].value),!v[2]?null:new IFC2X3.IfcText(v[2].value),new IFC2X3.IfcLabel(v[3].value));},4037036970:function _(id,v){return new IFC2X3.IfcBoundaryCondition(id,!v[0]?null:new IFC2X3.IfcLabel(v[0].value));},1560379544:function _(id,v){return new IFC2X3.IfcBoundaryEdgeCondition(id,!v[0]?null:new IFC2X3.IfcLabel(v[0].value),!v[1]?null:new IFC2X3.IfcModulusOfLinearSubgradeReactionMeasure(v[1].value),!v[2]?null:new IFC2X3.IfcModulusOfLinearSubgradeReactionMeasure(v[2].value),!v[3]?null:new IFC2X3.IfcModulusOfLinearSubgradeReactionMeasure(v[3].value),!v[4]?null:new IFC2X3.IfcModulusOfRotationalSubgradeReactionMeasure(v[4].value),!v[5]?null:new IFC2X3.IfcModulusOfRotationalSubgradeReactionMeasure(v[5].value),!v[6]?null:new IFC2X3.IfcModulusOfRotationalSubgradeReactionMeasure(v[6].value));},3367102660:function _(id,v){return new IFC2X3.IfcBoundaryFaceCondition(id,!v[0]?null:new IFC2X3.IfcLabel(v[0].value),!v[1]?null:new IFC2X3.IfcModulusOfSubgradeReactionMeasure(v[1].value),!v[2]?null:new IFC2X3.IfcModulusOfSubgradeReactionMeasure(v[2].value),!v[3]?null:new IFC2X3.IfcModulusOfSubgradeReactionMeasure(v[3].value));},1387855156:function _(id,v){return new IFC2X3.IfcBoundaryNodeCondition(id,!v[0]?null:new IFC2X3.IfcLabel(v[0].value),!v[1]?null:new IFC2X3.IfcLinearStiffnessMeasure(v[1].value),!v[2]?null:new IFC2X3.IfcLinearStiffnessMeasure(v[2].value),!v[3]?null:new IFC2X3.IfcLinearStiffnessMeasure(v[3].value),!v[4]?null:new IFC2X3.IfcRotationalStiffnessMeasure(v[4].value),!v[5]?null:new IFC2X3.IfcRotationalStiffnessMeasure(v[5].value),!v[6]?null:new IFC2X3.IfcRotationalStiffnessMeasure(v[6].value));},2069777674:function _(id,v){return new IFC2X3.IfcBoundaryNodeConditionWarping(id,!v[0]?null:new IFC2X3.IfcLabel(v[0].value),!v[1]?null:new IFC2X3.IfcLinearStiffnessMeasure(v[1].value),!v[2]?null:new IFC2X3.IfcLinearStiffnessMeasure(v[2].value),!v[3]?null:new IFC2X3.IfcLinearStiffnessMeasure(v[3].value),!v[4]?null:new IFC2X3.IfcRotationalStiffnessMeasure(v[4].value),!v[5]?null:new IFC2X3.IfcRotationalStiffnessMeasure(v[5].value),!v[6]?null:new IFC2X3.IfcRotationalStiffnessMeasure(v[6].value),!v[7]?null:new IFC2X3.IfcWarpingMomentMeasure(v[7].value));},622194075:function _(id,v){return new IFC2X3.IfcCalendarDate(id,new IFC2X3.IfcDayInMonthNumber(v[0].value),new IFC2X3.IfcMonthInYearNumber(v[1].value),new IFC2X3.IfcYearNumber(v[2].value));},747523909:function _(id,v){return new IFC2X3.IfcClassification(id,new IFC2X3.IfcLabel(v[0].value),new IFC2X3.IfcLabel(v[1].value),!v[2]?null:new Handle(v[2].value),new IFC2X3.IfcLabel(v[3].value));},1767535486:function _(id,v){return new IFC2X3.IfcClassificationItem(id,new Handle(v[0].value),!v[1]?null:new Handle(v[1].value),new IFC2X3.IfcLabel(v[2].value));},1098599126:function _(id,v){return new IFC2X3.IfcClassificationItemRelationship(id,new Handle(v[0].value),v[1].map(function(p){return new Handle(p.value);}));},938368621:function _(id,v){return new IFC2X3.IfcClassificationNotation(id,v[0].map(function(p){return new Handle(p.value);}));},3639012971:function _(id,v){return new IFC2X3.IfcClassificationNotationFacet(id,new IFC2X3.IfcLabel(v[0].value));},3264961684:function _(id,v){return new IFC2X3.IfcColourSpecification(id,!v[0]?null:new IFC2X3.IfcLabel(v[0].value));},2859738748:function _(id,_2){return new IFC2X3.IfcConnectionGeometry(id);},2614616156:function _(id,v){return new IFC2X3.IfcConnectionPointGeometry(id,new Handle(v[0].value),!v[1]?null:new Handle(v[1].value));},4257277454:function _(id,v){return new IFC2X3.IfcConnectionPortGeometry(id,new Handle(v[0].value),!v[1]?null:new Handle(v[1].value),new Handle(v[2].value));},2732653382:function _(id,v){return new IFC2X3.IfcConnectionSurfaceGeometry(id,new Handle(v[0].value),!v[1]?null:new Handle(v[1].value));},1959218052:function _(id,v){return new IFC2X3.IfcConstraint(id,new IFC2X3.IfcLabel(v[0].value),!v[1]?null:new IFC2X3.IfcText(v[1].value),v[2],!v[3]?null:new IFC2X3.IfcLabel(v[3].value),!v[4]?null:new Handle(v[4].value),!v[5]?null:new Handle(v[5].value),!v[6]?null:new IFC2X3.IfcLabel(v[6].value));},1658513725:function _(id,v){return new IFC2X3.IfcConstraintAggregationRelationship(id,!v[0]?null:new IFC2X3.IfcLabel(v[0].value),!v[1]?null:new IFC2X3.IfcText(v[1].value),new Handle(v[2].value),v[3].map(function(p){return new Handle(p.value);}),v[4]);},613356794:function _(id,v){return new IFC2X3.IfcConstraintClassificationRelationship(id,new Handle(v[0].value),v[1].map(function(p){return new Handle(p.value);}));},347226245:function _(id,v){return new IFC2X3.IfcConstraintRelationship(id,!v[0]?null:new IFC2X3.IfcLabel(v[0].value),!v[1]?null:new IFC2X3.IfcText(v[1].value),new Handle(v[2].value),v[3].map(function(p){return new Handle(p.value);}));},1065062679:function _(id,v){return new IFC2X3.IfcCoordinatedUniversalTimeOffset(id,new IFC2X3.IfcHourInDay(v[0].value),!v[1]?null:new IFC2X3.IfcMinuteInHour(v[1].value),v[2]);},602808272:function _(id,v){return new IFC2X3.IfcCostValue(id,!v[0]?null:new IFC2X3.IfcLabel(v[0].value),!v[1]?null:new IFC2X3.IfcText(v[1].value),!v[2]?null:new Handle(v[2].value),!v[3]?null:new Handle(v[3].value),!v[4]?null:new Handle(v[4].value),!v[5]?null:new Handle(v[5].value),new IFC2X3.IfcLabel(v[6].value),!v[7]?null:new IFC2X3.IfcText(v[7].value));},539742890:function _(id,v){return new IFC2X3.IfcCurrencyRelationship(id,new Handle(v[0].value),new Handle(v[1].value),new IFC2X3.IfcPositiveRatioMeasure(v[2].value),new Handle(v[3].value),!v[4]?null:new Handle(v[4].value));},1105321065:function _(id,v){return new IFC2X3.IfcCurveStyleFont(id,!v[0]?null:new IFC2X3.IfcLabel(v[0].value),v[1].map(function(p){return new Handle(p.value);}));},2367409068:function _(id,v){return new IFC2X3.IfcCurveStyleFontAndScaling(id,!v[0]?null:new IFC2X3.IfcLabel(v[0].value),new Handle(v[1].value),new IFC2X3.IfcPositiveRatioMeasure(v[2].value));},3510044353:function _(id,v){return new IFC2X3.IfcCurveStyleFontPattern(id,new IFC2X3.IfcLengthMeasure(v[0].value),new IFC2X3.IfcPositiveLengthMeasure(v[1].value));},1072939445:function _(id,v){return new IFC2X3.IfcDateAndTime(id,new Handle(v[0].value),new Handle(v[1].value));},1765591967:function _(id,v){return new IFC2X3.IfcDerivedUnit(id,v[0].map(function(p){return new Handle(p.value);}),v[1],!v[2]?null:new IFC2X3.IfcLabel(v[2].value));},1045800335:function _(id,v){return new IFC2X3.IfcDerivedUnitElement(id,new Handle(v[0].value),v[1].value);},2949456006:function _(id,v){return new IFC2X3.IfcDimensionalExponents(id,v[0].value,v[1].value,v[2].value,v[3].value,v[4].value,v[5].value,v[6].value);},1376555844:function _(id,v){return new IFC2X3.IfcDocumentElectronicFormat(id,!v[0]?null:new IFC2X3.IfcLabel(v[0].value),!v[1]?null:new IFC2X3.IfcLabel(v[1].value),!v[2]?null:new IFC2X3.IfcLabel(v[2].value));},1154170062:function _(id,v){return new IFC2X3.IfcDocumentInformation(id,new IFC2X3.IfcIdentifier(v[0].value),new IFC2X3.IfcLabel(v[1].value),!v[2]?null:new IFC2X3.IfcText(v[2].value),!v[3]?null:v[3].map(function(p){return new Handle(p.value);}),!v[4]?null:new IFC2X3.IfcText(v[4].value),!v[5]?null:new IFC2X3.IfcText(v[5].value),!v[6]?null:new IFC2X3.IfcText(v[6].value),!v[7]?null:new IFC2X3.IfcLabel(v[7].value),!v[8]?null:new Handle(v[8].value),!v[9]?null:v[9].map(function(p){return new Handle(p.value);}),!v[10]?null:new Handle(v[10].value),!v[11]?null:new Handle(v[11].value),!v[12]?null:new Handle(v[12].value),!v[13]?null:new Handle(v[13].value),!v[14]?null:new Handle(v[14].value),v[15],v[16]);},770865208:function _(id,v){return new IFC2X3.IfcDocumentInformationRelationship(id,new Handle(v[0].value),v[1].map(function(p){return new Handle(p.value);}),!v[2]?null:new IFC2X3.IfcLabel(v[2].value));},3796139169:function _(id,v){return new IFC2X3.IfcDraughtingCalloutRelationship(id,!v[0]?null:new IFC2X3.IfcLabel(v[0].value),!v[1]?null:new IFC2X3.IfcText(v[1].value),new Handle(v[2].value),new Handle(v[3].value));},1648886627:function _(id,v){return new IFC2X3.IfcEnvironmentalImpactValue(id,!v[0]?null:new IFC2X3.IfcLabel(v[0].value),!v[1]?null:new IFC2X3.IfcText(v[1].value),!v[2]?null:new Handle(v[2].value),!v[3]?null:new Handle(v[3].value),!v[4]?null:new Handle(v[4].value),!v[5]?null:new Handle(v[5].value),new IFC2X3.IfcLabel(v[6].value),v[7],!v[8]?null:new IFC2X3.IfcLabel(v[8].value));},3200245327:function _(id,v){return new IFC2X3.IfcExternalReference(id,!v[0]?null:new IFC2X3.IfcLabel(v[0].value),!v[1]?null:new IFC2X3.IfcIdentifier(v[1].value),!v[2]?null:new IFC2X3.IfcLabel(v[2].value));},2242383968:function _(id,v){return new IFC2X3.IfcExternallyDefinedHatchStyle(id,!v[0]?null:new IFC2X3.IfcLabel(v[0].value),!v[1]?null:new IFC2X3.IfcIdentifier(v[1].value),!v[2]?null:new IFC2X3.IfcLabel(v[2].value));},1040185647:function _(id,v){return new IFC2X3.IfcExternallyDefinedSurfaceStyle(id,!v[0]?null:new IFC2X3.IfcLabel(v[0].value),!v[1]?null:new IFC2X3.IfcIdentifier(v[1].value),!v[2]?null:new IFC2X3.IfcLabel(v[2].value));},3207319532:function _(id,v){return new IFC2X3.IfcExternallyDefinedSymbol(id,!v[0]?null:new IFC2X3.IfcLabel(v[0].value),!v[1]?null:new IFC2X3.IfcIdentifier(v[1].value),!v[2]?null:new IFC2X3.IfcLabel(v[2].value));},3548104201:function _(id,v){return new IFC2X3.IfcExternallyDefinedTextFont(id,!v[0]?null:new IFC2X3.IfcLabel(v[0].value),!v[1]?null:new IFC2X3.IfcIdentifier(v[1].value),!v[2]?null:new IFC2X3.IfcLabel(v[2].value));},852622518:function _(id,v){return new IFC2X3.IfcGridAxis(id,!v[0]?null:new IFC2X3.IfcLabel(v[0].value),new Handle(v[1].value),new IFC2X3.IfcBoolean(v[2].value));},3020489413:function _(id,v){return new IFC2X3.IfcIrregularTimeSeriesValue(id,new Handle(v[0].value),v[1].map(function(p){return TypeInitialiser(1,p);}));},2655187982:function _(id,v){return new IFC2X3.IfcLibraryInformation(id,new IFC2X3.IfcLabel(v[0].value),!v[1]?null:new IFC2X3.IfcLabel(v[1].value),!v[2]?null:new Handle(v[2].value),!v[3]?null:new Handle(v[3].value),!v[4]?null:v[4].map(function(p){return new Handle(p.value);}));},3452421091:function _(id,v){return new IFC2X3.IfcLibraryReference(id,!v[0]?null:new IFC2X3.IfcLabel(v[0].value),!v[1]?null:new IFC2X3.IfcIdentifier(v[1].value),!v[2]?null:new IFC2X3.IfcLabel(v[2].value));},4162380809:function _(id,v){return new IFC2X3.IfcLightDistributionData(id,new IFC2X3.IfcPlaneAngleMeasure(v[0].value),v[1].map(function(p){return new IFC2X3.IfcPlaneAngleMeasure(p.value);}),v[2].map(function(p){return new IFC2X3.IfcLuminousIntensityDistributionMeasure(p.value);}));},1566485204:function _(id,v){return new IFC2X3.IfcLightIntensityDistribution(id,v[0],v[1].map(function(p){return new Handle(p.value);}));},30780891:function _(id,v){return new IFC2X3.IfcLocalTime(id,new IFC2X3.IfcHourInDay(v[0].value),!v[1]?null:new IFC2X3.IfcMinuteInHour(v[1].value),!v[2]?null:new IFC2X3.IfcSecondInMinute(v[2].value),!v[3]?null:new Handle(v[3].value),!v[4]?null:new IFC2X3.IfcDaylightSavingHour(v[4].value));},1838606355:function _(id,v){return new IFC2X3.IfcMaterial(id,new IFC2X3.IfcLabel(v[0].value));},1847130766:function _(id,v){return new IFC2X3.IfcMaterialClassificationRelationship(id,v[0].map(function(p){return new Handle(p.value);}),new Handle(v[1].value));},248100487:function _(id,v){return new IFC2X3.IfcMaterialLayer(id,!v[0]?null:new Handle(v[0].value),new IFC2X3.IfcPositiveLengthMeasure(v[1].value),!v[2]?null:new IFC2X3.IfcLogical(v[2].value));},3303938423:function _(id,v){return new IFC2X3.IfcMaterialLayerSet(id,v[0].map(function(p){return new Handle(p.value);}),!v[1]?null:new IFC2X3.IfcLabel(v[1].value));},1303795690:function _(id,v){return new IFC2X3.IfcMaterialLayerSetUsage(id,new Handle(v[0].value),v[1],v[2],new IFC2X3.IfcLengthMeasure(v[3].value));},2199411900:function _(id,v){return new IFC2X3.IfcMaterialList(id,v[0].map(function(p){return new Handle(p.value);}));},3265635763:function _(id,v){return new IFC2X3.IfcMaterialProperties(id,new Handle(v[0].value));},2597039031:function _(id,v){return new IFC2X3.IfcMeasureWithUnit(id,TypeInitialiser(1,v[0]),new Handle(v[1].value));},4256014907:function _(id,v){return new IFC2X3.IfcMechanicalMaterialProperties(id,new Handle(v[0].value),!v[1]?null:new IFC2X3.IfcDynamicViscosityMeasure(v[1].value),!v[2]?null:new IFC2X3.IfcModulusOfElasticityMeasure(v[2].value),!v[3]?null:new IFC2X3.IfcModulusOfElasticityMeasure(v[3].value),!v[4]?null:new IFC2X3.IfcPositiveRatioMeasure(v[4].value),!v[5]?null:new IFC2X3.IfcThermalExpansionCoefficientMeasure(v[5].value));},677618848:function _(id,v){return new IFC2X3.IfcMechanicalSteelMaterialProperties(id,new Handle(v[0].value),!v[1]?null:new IFC2X3.IfcDynamicViscosityMeasure(v[1].value),!v[2]?null:new IFC2X3.IfcModulusOfElasticityMeasure(v[2].value),!v[3]?null:new IFC2X3.IfcModulusOfElasticityMeasure(v[3].value),!v[4]?null:new IFC2X3.IfcPositiveRatioMeasure(v[4].value),!v[5]?null:new IFC2X3.IfcThermalExpansionCoefficientMeasure(v[5].value),!v[6]?null:new IFC2X3.IfcPressureMeasure(v[6].value),!v[7]?null:new IFC2X3.IfcPressureMeasure(v[7].value),!v[8]?null:new IFC2X3.IfcPositiveRatioMeasure(v[8].value),!v[9]?null:new IFC2X3.IfcModulusOfElasticityMeasure(v[9].value),!v[10]?null:new IFC2X3.IfcPressureMeasure(v[10].value),!v[11]?null:new IFC2X3.IfcPositiveRatioMeasure(v[11].value),!v[12]?null:v[12].map(function(p){return new Handle(p.value);}));},3368373690:function _(id,v){return new IFC2X3.IfcMetric(id,new IFC2X3.IfcLabel(v[0].value),!v[1]?null:new IFC2X3.IfcText(v[1].value),v[2],!v[3]?null:new IFC2X3.IfcLabel(v[3].value),!v[4]?null:new Handle(v[4].value),!v[5]?null:new Handle(v[5].value),!v[6]?null:new IFC2X3.IfcLabel(v[6].value),v[7],!v[8]?null:new IFC2X3.IfcLabel(v[8].value),new Handle(v[9].value));},2706619895:function _(id,v){return new IFC2X3.IfcMonetaryUnit(id,v[0]);},1918398963:function _(id,v){return new IFC2X3.IfcNamedUnit(id,new Handle(v[0].value),v[1]);},3701648758:function _(id,_3){return new IFC2X3.IfcObjectPlacement(id);},2251480897:function _(id,v){return new IFC2X3.IfcObjective(id,new IFC2X3.IfcLabel(v[0].value),!v[1]?null:new IFC2X3.IfcText(v[1].value),v[2],!v[3]?null:new IFC2X3.IfcLabel(v[3].value),!v[4]?null:new Handle(v[4].value),!v[5]?null:new Handle(v[5].value),!v[6]?null:new IFC2X3.IfcLabel(v[6].value),!v[7]?null:new Handle(v[7].value),!v[8]?null:new Handle(v[8].value),v[9],!v[10]?null:new IFC2X3.IfcLabel(v[10].value));},1227763645:function _(id,v){return new IFC2X3.IfcOpticalMaterialProperties(id,new Handle(v[0].value),!v[1]?null:new IFC2X3.IfcPositiveRatioMeasure(v[1].value),!v[2]?null:new IFC2X3.IfcPositiveRatioMeasure(v[2].value),!v[3]?null:new IFC2X3.IfcPositiveRatioMeasure(v[3].value),!v[4]?null:new IFC2X3.IfcPositiveRatioMeasure(v[4].value),!v[5]?null:new IFC2X3.IfcPositiveRatioMeasure(v[5].value),!v[6]?null:new IFC2X3.IfcPositiveRatioMeasure(v[6].value),!v[7]?null:new IFC2X3.IfcPositiveRatioMeasure(v[7].value),!v[8]?null:new IFC2X3.IfcPositiveRatioMeasure(v[8].value),!v[9]?null:new IFC2X3.IfcPositiveRatioMeasure(v[9].value));},4251960020:function _(id,v){return new IFC2X3.IfcOrganization(id,!v[0]?null:new IFC2X3.IfcIdentifier(v[0].value),new IFC2X3.IfcLabel(v[1].value),!v[2]?null:new IFC2X3.IfcText(v[2].value),!v[3]?null:v[3].map(function(p){return new Handle(p.value);}),!v[4]?null:v[4].map(function(p){return new Handle(p.value);}));},1411181986:function _(id,v){return new IFC2X3.IfcOrganizationRelationship(id,new IFC2X3.IfcLabel(v[0].value),!v[1]?null:new IFC2X3.IfcText(v[1].value),new Handle(v[2].value),v[3].map(function(p){return new Handle(p.value);}));},1207048766:function _(id,v){return new IFC2X3.IfcOwnerHistory(id,new Handle(v[0].value),new Handle(v[1].value),v[2],v[3],!v[4]?null:new IFC2X3.IfcTimeStamp(v[4].value),!v[5]?null:new Handle(v[5].value),!v[6]?null:new Handle(v[6].value),new IFC2X3.IfcTimeStamp(v[7].value));},2077209135:function _(id,v){return new IFC2X3.IfcPerson(id,!v[0]?null:new IFC2X3.IfcIdentifier(v[0].value),!v[1]?null:new IFC2X3.IfcLabel(v[1].value),!v[2]?null:new IFC2X3.IfcLabel(v[2].value),!v[3]?null:v[3].map(function(p){return new IFC2X3.IfcLabel(p.value);}),!v[4]?null:v[4].map(function(p){return new IFC2X3.IfcLabel(p.value);}),!v[5]?null:v[5].map(function(p){return new IFC2X3.IfcLabel(p.value);}),!v[6]?null:v[6].map(function(p){return new Handle(p.value);}),!v[7]?null:v[7].map(function(p){return new Handle(p.value);}));},101040310:function _(id,v){return new IFC2X3.IfcPersonAndOrganization(id,new Handle(v[0].value),new Handle(v[1].value),!v[2]?null:v[2].map(function(p){return new Handle(p.value);}));},2483315170:function _(id,v){return new IFC2X3.IfcPhysicalQuantity(id,new IFC2X3.IfcLabel(v[0].value),!v[1]?null:new IFC2X3.IfcText(v[1].value));},2226359599:function _(id,v){return new IFC2X3.IfcPhysicalSimpleQuantity(id,new IFC2X3.IfcLabel(v[0].value),!v[1]?null:new IFC2X3.IfcText(v[1].value),!v[2]?null:new Handle(v[2].value));},3355820592:function _(id,v){return new IFC2X3.IfcPostalAddress(id,v[0],!v[1]?null:new IFC2X3.IfcText(v[1].value),!v[2]?null:new IFC2X3.IfcLabel(v[2].value),!v[3]?null:new IFC2X3.IfcLabel(v[3].value),!v[4]?null:v[4].map(function(p){return new IFC2X3.IfcLabel(p.value);}),!v[5]?null:new IFC2X3.IfcLabel(v[5].value),!v[6]?null:new IFC2X3.IfcLabel(v[6].value),!v[7]?null:new IFC2X3.IfcLabel(v[7].value),!v[8]?null:new IFC2X3.IfcLabel(v[8].value),!v[9]?null:new IFC2X3.IfcLabel(v[9].value));},3727388367:function _(id,v){return new IFC2X3.IfcPreDefinedItem(id,new IFC2X3.IfcLabel(v[0].value));},990879717:function _(id,v){return new IFC2X3.IfcPreDefinedSymbol(id,new IFC2X3.IfcLabel(v[0].value));},3213052703:function _(id,v){return new IFC2X3.IfcPreDefinedTerminatorSymbol(id,new IFC2X3.IfcLabel(v[0].value));},1775413392:function _(id,v){return new IFC2X3.IfcPreDefinedTextFont(id,new IFC2X3.IfcLabel(v[0].value));},2022622350:function _(id,v){return new IFC2X3.IfcPresentationLayerAssignment(id,new IFC2X3.IfcLabel(v[0].value),!v[1]?null:new IFC2X3.IfcText(v[1].value),v[2].map(function(p){return new Handle(p.value);}),!v[3]?null:new IFC2X3.IfcIdentifier(v[3].value));},1304840413:function _(id,v){return new IFC2X3.IfcPresentationLayerWithStyle(id,new IFC2X3.IfcLabel(v[0].value),!v[1]?null:new IFC2X3.IfcText(v[1].value),v[2].map(function(p){return new Handle(p.value);}),!v[3]?null:new IFC2X3.IfcIdentifier(v[3].value),v[4].value,v[5].value,v[6].value,!v[7]?null:v[7].map(function(p){return new Handle(p.value);}));},3119450353:function _(id,v){return new IFC2X3.IfcPresentationStyle(id,!v[0]?null:new IFC2X3.IfcLabel(v[0].value));},2417041796:function _(id,v){return new IFC2X3.IfcPresentationStyleAssignment(id,v[0].map(function(p){return new Handle(p.value);}));},2095639259:function _(id,v){return new IFC2X3.IfcProductRepresentation(id,!v[0]?null:new IFC2X3.IfcLabel(v[0].value),!v[1]?null:new IFC2X3.IfcText(v[1].value),v[2].map(function(p){return new Handle(p.value);}));},2267347899:function _(id,v){return new IFC2X3.IfcProductsOfCombustionProperties(id,new Handle(v[0].value),!v[1]?null:new IFC2X3.IfcSpecificHeatCapacityMeasure(v[1].value),!v[2]?null:new IFC2X3.IfcPositiveRatioMeasure(v[2].value),!v[3]?null:new IFC2X3.IfcPositiveRatioMeasure(v[3].value),!v[4]?null:new IFC2X3.IfcPositiveRatioMeasure(v[4].value));},3958567839:function _(id,v){return new IFC2X3.IfcProfileDef(id,v[0],!v[1]?null:new IFC2X3.IfcLabel(v[1].value));},2802850158:function _(id,v){return new IFC2X3.IfcProfileProperties(id,!v[0]?null:new IFC2X3.IfcLabel(v[0].value),!v[1]?null:new Handle(v[1].value));},2598011224:function _(id,v){return new IFC2X3.IfcProperty(id,new IFC2X3.IfcIdentifier(v[0].value),!v[1]?null:new IFC2X3.IfcText(v[1].value));},3896028662:function _(id,v){return new IFC2X3.IfcPropertyConstraintRelationship(id,new Handle(v[0].value),v[1].map(function(p){return new Handle(p.value);}),!v[2]?null:new IFC2X3.IfcLabel(v[2].value),!v[3]?null:new IFC2X3.IfcText(v[3].value));},148025276:function _(id,v){return new IFC2X3.IfcPropertyDependencyRelationship(id,new Handle(v[0].value),new Handle(v[1].value),!v[2]?null:new IFC2X3.IfcLabel(v[2].value),!v[3]?null:new IFC2X3.IfcText(v[3].value),!v[4]?null:new IFC2X3.IfcText(v[4].value));},3710013099:function _(id,v){return new IFC2X3.IfcPropertyEnumeration(id,new IFC2X3.IfcLabel(v[0].value),v[1].map(function(p){return TypeInitialiser(1,p);}),!v[2]?null:new Handle(v[2].value));},2044713172:function _(id,v){return new IFC2X3.IfcQuantityArea(id,new IFC2X3.IfcLabel(v[0].value),!v[1]?null:new IFC2X3.IfcText(v[1].value),!v[2]?null:new Handle(v[2].value),new IFC2X3.IfcAreaMeasure(v[3].value));},2093928680:function _(id,v){return new IFC2X3.IfcQuantityCount(id,new IFC2X3.IfcLabel(v[0].value),!v[1]?null:new IFC2X3.IfcText(v[1].value),!v[2]?null:new Handle(v[2].value),new IFC2X3.IfcCountMeasure(v[3].value));},931644368:function _(id,v){return new IFC2X3.IfcQuantityLength(id,new IFC2X3.IfcLabel(v[0].value),!v[1]?null:new IFC2X3.IfcText(v[1].value),!v[2]?null:new Handle(v[2].value),new IFC2X3.IfcLengthMeasure(v[3].value));},3252649465:function _(id,v){return new IFC2X3.IfcQuantityTime(id,new IFC2X3.IfcLabel(v[0].value),!v[1]?null:new IFC2X3.IfcText(v[1].value),!v[2]?null:new Handle(v[2].value),new IFC2X3.IfcTimeMeasure(v[3].value));},2405470396:function _(id,v){return new IFC2X3.IfcQuantityVolume(id,new IFC2X3.IfcLabel(v[0].value),!v[1]?null:new IFC2X3.IfcText(v[1].value),!v[2]?null:new Handle(v[2].value),new IFC2X3.IfcVolumeMeasure(v[3].value));},825690147:function _(id,v){return new IFC2X3.IfcQuantityWeight(id,new IFC2X3.IfcLabel(v[0].value),!v[1]?null:new IFC2X3.IfcText(v[1].value),!v[2]?null:new Handle(v[2].value),new IFC2X3.IfcMassMeasure(v[3].value));},2692823254:function _(id,v){return new IFC2X3.IfcReferencesValueDocument(id,new Handle(v[0].value),v[1].map(function(p){return new Handle(p.value);}),!v[2]?null:new IFC2X3.IfcLabel(v[2].value),!v[3]?null:new IFC2X3.IfcText(v[3].value));},1580146022:function _(id,v){return new IFC2X3.IfcReinforcementBarProperties(id,new IFC2X3.IfcAreaMeasure(v[0].value),new IFC2X3.IfcLabel(v[1].value),v[2],!v[3]?null:new IFC2X3.IfcLengthMeasure(v[3].value),!v[4]?null:new IFC2X3.IfcPositiveLengthMeasure(v[4].value),!v[5]?null:new IFC2X3.IfcCountMeasure(v[5].value));},1222501353:function _(id,v){return new IFC2X3.IfcRelaxation(id,new IFC2X3.IfcNormalisedRatioMeasure(v[0].value),new IFC2X3.IfcNormalisedRatioMeasure(v[1].value));},1076942058:function _(id,v){return new IFC2X3.IfcRepresentation(id,new Handle(v[0].value),!v[1]?null:new IFC2X3.IfcLabel(v[1].value),!v[2]?null:new IFC2X3.IfcLabel(v[2].value),v[3].map(function(p){return new Handle(p.value);}));},3377609919:function _(id,v){return new IFC2X3.IfcRepresentationContext(id,!v[0]?null:new IFC2X3.IfcLabel(v[0].value),!v[1]?null:new IFC2X3.IfcLabel(v[1].value));},3008791417:function _(id,_4){return new IFC2X3.IfcRepresentationItem(id);},1660063152:function _(id,v){return new IFC2X3.IfcRepresentationMap(id,new Handle(v[0].value),new Handle(v[1].value));},3679540991:function _(id,v){return new IFC2X3.IfcRibPlateProfileProperties(id,!v[0]?null:new IFC2X3.IfcLabel(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC2X3.IfcPositiveLengthMeasure(v[2].value),!v[3]?null:new IFC2X3.IfcPositiveLengthMeasure(v[3].value),!v[4]?null:new IFC2X3.IfcPositiveLengthMeasure(v[4].value),!v[5]?null:new IFC2X3.IfcPositiveLengthMeasure(v[5].value),v[6]);},2341007311:function _(id,v){return new IFC2X3.IfcRoot(id,new IFC2X3.IfcGloballyUniqueId(v[0].value),new Handle(v[1].value),!v[2]?null:new IFC2X3.IfcLabel(v[2].value),!v[3]?null:new IFC2X3.IfcText(v[3].value));},448429030:function _(id,v){return new IFC2X3.IfcSIUnit(id,v[0],v[1],v[2]);},2042790032:function _(id,v){return new IFC2X3.IfcSectionProperties(id,v[0],new Handle(v[1].value),!v[2]?null:new Handle(v[2].value));},4165799628:function _(id,v){return new IFC2X3.IfcSectionReinforcementProperties(id,new IFC2X3.IfcLengthMeasure(v[0].value),new IFC2X3.IfcLengthMeasure(v[1].value),!v[2]?null:new IFC2X3.IfcLengthMeasure(v[2].value),v[3],new Handle(v[4].value),v[5].map(function(p){return new Handle(p.value);}));},867548509:function _(id,v){return new IFC2X3.IfcShapeAspect(id,v[0].map(function(p){return new Handle(p.value);}),!v[1]?null:new IFC2X3.IfcLabel(v[1].value),!v[2]?null:new IFC2X3.IfcText(v[2].value),v[3].value,new Handle(v[4].value));},3982875396:function _(id,v){return new IFC2X3.IfcShapeModel(id,new Handle(v[0].value),!v[1]?null:new IFC2X3.IfcLabel(v[1].value),!v[2]?null:new IFC2X3.IfcLabel(v[2].value),v[3].map(function(p){return new Handle(p.value);}));},4240577450:function _(id,v){return new IFC2X3.IfcShapeRepresentation(id,new Handle(v[0].value),!v[1]?null:new IFC2X3.IfcLabel(v[1].value),!v[2]?null:new IFC2X3.IfcLabel(v[2].value),v[3].map(function(p){return new Handle(p.value);}));},3692461612:function _(id,v){return new IFC2X3.IfcSimpleProperty(id,new IFC2X3.IfcIdentifier(v[0].value),!v[1]?null:new IFC2X3.IfcText(v[1].value));},2273995522:function _(id,v){return new IFC2X3.IfcStructuralConnectionCondition(id,!v[0]?null:new IFC2X3.IfcLabel(v[0].value));},2162789131:function _(id,v){return new IFC2X3.IfcStructuralLoad(id,!v[0]?null:new IFC2X3.IfcLabel(v[0].value));},2525727697:function _(id,v){return new IFC2X3.IfcStructuralLoadStatic(id,!v[0]?null:new IFC2X3.IfcLabel(v[0].value));},3408363356:function _(id,v){return new IFC2X3.IfcStructuralLoadTemperature(id,!v[0]?null:new IFC2X3.IfcLabel(v[0].value),!v[1]?null:new IFC2X3.IfcThermodynamicTemperatureMeasure(v[1].value),!v[2]?null:new IFC2X3.IfcThermodynamicTemperatureMeasure(v[2].value),!v[3]?null:new IFC2X3.IfcThermodynamicTemperatureMeasure(v[3].value));},2830218821:function _(id,v){return new IFC2X3.IfcStyleModel(id,new Handle(v[0].value),!v[1]?null:new IFC2X3.IfcLabel(v[1].value),!v[2]?null:new IFC2X3.IfcLabel(v[2].value),v[3].map(function(p){return new Handle(p.value);}));},3958052878:function _(id,v){return new IFC2X3.IfcStyledItem(id,!v[0]?null:new Handle(v[0].value),v[1].map(function(p){return new Handle(p.value);}),!v[2]?null:new IFC2X3.IfcLabel(v[2].value));},3049322572:function _(id,v){return new IFC2X3.IfcStyledRepresentation(id,new Handle(v[0].value),!v[1]?null:new IFC2X3.IfcLabel(v[1].value),!v[2]?null:new IFC2X3.IfcLabel(v[2].value),v[3].map(function(p){return new Handle(p.value);}));},1300840506:function _(id,v){return new IFC2X3.IfcSurfaceStyle(id,!v[0]?null:new IFC2X3.IfcLabel(v[0].value),v[1],v[2].map(function(p){return new Handle(p.value);}));},3303107099:function _(id,v){return new IFC2X3.IfcSurfaceStyleLighting(id,new Handle(v[0].value),new Handle(v[1].value),new Handle(v[2].value),new Handle(v[3].value));},1607154358:function _(id,v){return new IFC2X3.IfcSurfaceStyleRefraction(id,!v[0]?null:new IFC2X3.IfcReal(v[0].value),!v[1]?null:new IFC2X3.IfcReal(v[1].value));},846575682:function _(id,v){return new IFC2X3.IfcSurfaceStyleShading(id,new Handle(v[0].value));},1351298697:function _(id,v){return new IFC2X3.IfcSurfaceStyleWithTextures(id,v[0].map(function(p){return new Handle(p.value);}));},626085974:function _(id,v){return new IFC2X3.IfcSurfaceTexture(id,v[0].value,v[1].value,v[2],!v[3]?null:new Handle(v[3].value));},1290481447:function _(id,v){return new IFC2X3.IfcSymbolStyle(id,!v[0]?null:new IFC2X3.IfcLabel(v[0].value),TypeInitialiser(1,v[1]));},985171141:function _(id,v){return new IFC2X3.IfcTable(id,v[0].value,v[1].map(function(p){return new Handle(p.value);}));},531007025:function _(id,v){return new IFC2X3.IfcTableRow(id,v[0].map(function(p){return TypeInitialiser(1,p);}),v[1].value);},912023232:function _(id,v){return new IFC2X3.IfcTelecomAddress(id,v[0],!v[1]?null:new IFC2X3.IfcText(v[1].value),!v[2]?null:new IFC2X3.IfcLabel(v[2].value),!v[3]?null:v[3].map(function(p){return new IFC2X3.IfcLabel(p.value);}),!v[4]?null:v[4].map(function(p){return new IFC2X3.IfcLabel(p.value);}),!v[5]?null:new IFC2X3.IfcLabel(v[5].value),!v[6]?null:v[6].map(function(p){return new IFC2X3.IfcLabel(p.value);}),!v[7]?null:new IFC2X3.IfcLabel(v[7].value));},1447204868:function _(id,v){return new IFC2X3.IfcTextStyle(id,!v[0]?null:new IFC2X3.IfcLabel(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new Handle(v[2].value),new Handle(v[3].value));},1983826977:function _(id,v){return new IFC2X3.IfcTextStyleFontModel(id,new IFC2X3.IfcLabel(v[0].value),!v[1]?null:v[1].map(function(p){return new IFC2X3.IfcTextFontName(p.value);}),!v[2]?null:new IFC2X3.IfcFontStyle(v[2].value),!v[3]?null:new IFC2X3.IfcFontVariant(v[3].value),!v[4]?null:new IFC2X3.IfcFontWeight(v[4].value),TypeInitialiser(1,v[5]));},2636378356:function _(id,v){return new IFC2X3.IfcTextStyleForDefinedFont(id,new Handle(v[0].value),!v[1]?null:new Handle(v[1].value));},1640371178:function _(id,v){return new IFC2X3.IfcTextStyleTextModel(id,!v[0]?null:TypeInitialiser(1,v[0]),!v[1]?null:new IFC2X3.IfcTextAlignment(v[1].value),!v[2]?null:new IFC2X3.IfcTextDecoration(v[2].value),!v[3]?null:TypeInitialiser(1,v[3]),!v[4]?null:TypeInitialiser(1,v[4]),!v[5]?null:new IFC2X3.IfcTextTransformation(v[5].value),!v[6]?null:TypeInitialiser(1,v[6]));},1484833681:function _(id,v){return new IFC2X3.IfcTextStyleWithBoxCharacteristics(id,!v[0]?null:new IFC2X3.IfcPositiveLengthMeasure(v[0].value),!v[1]?null:new IFC2X3.IfcPositiveLengthMeasure(v[1].value),!v[2]?null:new IFC2X3.IfcPlaneAngleMeasure(v[2].value),!v[3]?null:new IFC2X3.IfcPlaneAngleMeasure(v[3].value),!v[4]?null:TypeInitialiser(1,v[4]));},280115917:function _(id,_5){return new IFC2X3.IfcTextureCoordinate(id);},1742049831:function _(id,v){return new IFC2X3.IfcTextureCoordinateGenerator(id,new IFC2X3.IfcLabel(v[0].value),v[1].map(function(p){return TypeInitialiser(1,p);}));},2552916305:function _(id,v){return new IFC2X3.IfcTextureMap(id,v[0].map(function(p){return new Handle(p.value);}));},1210645708:function _(id,v){return new IFC2X3.IfcTextureVertex(id,v[0].map(function(p){return new IFC2X3.IfcParameterValue(p.value);}));},3317419933:function _(id,v){return new IFC2X3.IfcThermalMaterialProperties(id,new Handle(v[0].value),!v[1]?null:new IFC2X3.IfcSpecificHeatCapacityMeasure(v[1].value),!v[2]?null:new IFC2X3.IfcThermodynamicTemperatureMeasure(v[2].value),!v[3]?null:new IFC2X3.IfcThermodynamicTemperatureMeasure(v[3].value),!v[4]?null:new IFC2X3.IfcThermalConductivityMeasure(v[4].value));},3101149627:function _(id,v){return new IFC2X3.IfcTimeSeries(id,new IFC2X3.IfcLabel(v[0].value),!v[1]?null:new IFC2X3.IfcText(v[1].value),new Handle(v[2].value),new Handle(v[3].value),v[4],v[5],!v[6]?null:new IFC2X3.IfcLabel(v[6].value),!v[7]?null:new Handle(v[7].value));},1718945513:function _(id,v){return new IFC2X3.IfcTimeSeriesReferenceRelationship(id,new Handle(v[0].value),v[1].map(function(p){return new Handle(p.value);}));},581633288:function _(id,v){return new IFC2X3.IfcTimeSeriesValue(id,v[0].map(function(p){return TypeInitialiser(1,p);}));},1377556343:function _(id,_6){return new IFC2X3.IfcTopologicalRepresentationItem(id);},1735638870:function _(id,v){return new IFC2X3.IfcTopologyRepresentation(id,new Handle(v[0].value),!v[1]?null:new IFC2X3.IfcLabel(v[1].value),!v[2]?null:new IFC2X3.IfcLabel(v[2].value),v[3].map(function(p){return new Handle(p.value);}));},180925521:function _(id,v){return new IFC2X3.IfcUnitAssignment(id,v[0].map(function(p){return new Handle(p.value);}));},2799835756:function _(id,_7){return new IFC2X3.IfcVertex(id);},3304826586:function _(id,v){return new IFC2X3.IfcVertexBasedTextureMap(id,v[0].map(function(p){return new Handle(p.value);}),v[1].map(function(p){return new Handle(p.value);}));},1907098498:function _(id,v){return new IFC2X3.IfcVertexPoint(id,new Handle(v[0].value));},891718957:function _(id,v){return new IFC2X3.IfcVirtualGridIntersection(id,v[0].map(function(p){return new Handle(p.value);}),v[1].map(function(p){return new IFC2X3.IfcLengthMeasure(p.value);}));},1065908215:function _(id,v){return new IFC2X3.IfcWaterProperties(id,new Handle(v[0].value),!v[1]?null:v[1].value,!v[2]?null:new IFC2X3.IfcIonConcentrationMeasure(v[2].value),!v[3]?null:new IFC2X3.IfcIonConcentrationMeasure(v[3].value),!v[4]?null:new IFC2X3.IfcIonConcentrationMeasure(v[4].value),!v[5]?null:new IFC2X3.IfcNormalisedRatioMeasure(v[5].value),!v[6]?null:new IFC2X3.IfcPHMeasure(v[6].value),!v[7]?null:new IFC2X3.IfcNormalisedRatioMeasure(v[7].value));},2442683028:function _(id,v){return new IFC2X3.IfcAnnotationOccurrence(id,!v[0]?null:new Handle(v[0].value),v[1].map(function(p){return new Handle(p.value);}),!v[2]?null:new IFC2X3.IfcLabel(v[2].value));},962685235:function _(id,v){return new IFC2X3.IfcAnnotationSurfaceOccurrence(id,!v[0]?null:new Handle(v[0].value),v[1].map(function(p){return new Handle(p.value);}),!v[2]?null:new IFC2X3.IfcLabel(v[2].value));},3612888222:function _(id,v){return new IFC2X3.IfcAnnotationSymbolOccurrence(id,!v[0]?null:new Handle(v[0].value),v[1].map(function(p){return new Handle(p.value);}),!v[2]?null:new IFC2X3.IfcLabel(v[2].value));},2297822566:function _(id,v){return new IFC2X3.IfcAnnotationTextOccurrence(id,!v[0]?null:new Handle(v[0].value),v[1].map(function(p){return new Handle(p.value);}),!v[2]?null:new IFC2X3.IfcLabel(v[2].value));},3798115385:function _(id,v){return new IFC2X3.IfcArbitraryClosedProfileDef(id,v[0],!v[1]?null:new IFC2X3.IfcLabel(v[1].value),new Handle(v[2].value));},1310608509:function _(id,v){return new IFC2X3.IfcArbitraryOpenProfileDef(id,v[0],!v[1]?null:new IFC2X3.IfcLabel(v[1].value),new Handle(v[2].value));},2705031697:function _(id,v){return new IFC2X3.IfcArbitraryProfileDefWithVoids(id,v[0],!v[1]?null:new IFC2X3.IfcLabel(v[1].value),new Handle(v[2].value),v[3].map(function(p){return new Handle(p.value);}));},616511568:function _(id,v){return new IFC2X3.IfcBlobTexture(id,v[0].value,v[1].value,v[2],!v[3]?null:new Handle(v[3].value),new IFC2X3.IfcIdentifier(v[4].value),v[5].value);},3150382593:function _(id,v){return new IFC2X3.IfcCenterLineProfileDef(id,v[0],!v[1]?null:new IFC2X3.IfcLabel(v[1].value),new Handle(v[2].value),new IFC2X3.IfcPositiveLengthMeasure(v[3].value));},647927063:function _(id,v){return new IFC2X3.IfcClassificationReference(id,!v[0]?null:new IFC2X3.IfcLabel(v[0].value),!v[1]?null:new IFC2X3.IfcIdentifier(v[1].value),!v[2]?null:new IFC2X3.IfcLabel(v[2].value),!v[3]?null:new Handle(v[3].value));},776857604:function _(id,v){return new IFC2X3.IfcColourRgb(id,!v[0]?null:new IFC2X3.IfcLabel(v[0].value),new IFC2X3.IfcNormalisedRatioMeasure(v[1].value),new IFC2X3.IfcNormalisedRatioMeasure(v[2].value),new IFC2X3.IfcNormalisedRatioMeasure(v[3].value));},2542286263:function _(id,v){return new IFC2X3.IfcComplexProperty(id,new IFC2X3.IfcIdentifier(v[0].value),!v[1]?null:new IFC2X3.IfcText(v[1].value),new IFC2X3.IfcIdentifier(v[2].value),v[3].map(function(p){return new Handle(p.value);}));},1485152156:function _(id,v){return new IFC2X3.IfcCompositeProfileDef(id,v[0],!v[1]?null:new IFC2X3.IfcLabel(v[1].value),v[2].map(function(p){return new Handle(p.value);}),!v[3]?null:new IFC2X3.IfcLabel(v[3].value));},370225590:function _(id,v){return new IFC2X3.IfcConnectedFaceSet(id,v[0].map(function(p){return new Handle(p.value);}));},1981873012:function _(id,v){return new IFC2X3.IfcConnectionCurveGeometry(id,new Handle(v[0].value),!v[1]?null:new Handle(v[1].value));},45288368:function _(id,v){return new IFC2X3.IfcConnectionPointEccentricity(id,new Handle(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC2X3.IfcLengthMeasure(v[2].value),!v[3]?null:new IFC2X3.IfcLengthMeasure(v[3].value),!v[4]?null:new IFC2X3.IfcLengthMeasure(v[4].value));},3050246964:function _(id,v){return new IFC2X3.IfcContextDependentUnit(id,new Handle(v[0].value),v[1],new IFC2X3.IfcLabel(v[2].value));},2889183280:function _(id,v){return new IFC2X3.IfcConversionBasedUnit(id,new Handle(v[0].value),v[1],new IFC2X3.IfcLabel(v[2].value),new Handle(v[3].value));},3800577675:function _(id,v){return new IFC2X3.IfcCurveStyle(id,!v[0]?null:new IFC2X3.IfcLabel(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:TypeInitialiser(1,v[2]),!v[3]?null:new Handle(v[3].value));},3632507154:function _(id,v){return new IFC2X3.IfcDerivedProfileDef(id,v[0],!v[1]?null:new IFC2X3.IfcLabel(v[1].value),new Handle(v[2].value),new Handle(v[3].value),!v[4]?null:new IFC2X3.IfcLabel(v[4].value));},2273265877:function _(id,v){return new IFC2X3.IfcDimensionCalloutRelationship(id,!v[0]?null:new IFC2X3.IfcLabel(v[0].value),!v[1]?null:new IFC2X3.IfcText(v[1].value),new Handle(v[2].value),new Handle(v[3].value));},1694125774:function _(id,v){return new IFC2X3.IfcDimensionPair(id,!v[0]?null:new IFC2X3.IfcLabel(v[0].value),!v[1]?null:new IFC2X3.IfcText(v[1].value),new Handle(v[2].value),new Handle(v[3].value));},3732053477:function _(id,v){return new IFC2X3.IfcDocumentReference(id,!v[0]?null:new IFC2X3.IfcLabel(v[0].value),!v[1]?null:new IFC2X3.IfcIdentifier(v[1].value),!v[2]?null:new IFC2X3.IfcLabel(v[2].value));},4170525392:function _(id,v){return new IFC2X3.IfcDraughtingPreDefinedTextFont(id,new IFC2X3.IfcLabel(v[0].value));},3900360178:function _(id,v){return new IFC2X3.IfcEdge(id,new Handle(v[0].value),new Handle(v[1].value));},476780140:function _(id,v){return new IFC2X3.IfcEdgeCurve(id,new Handle(v[0].value),new Handle(v[1].value),new Handle(v[2].value),v[3].value);},1860660968:function _(id,v){return new IFC2X3.IfcExtendedMaterialProperties(id,new Handle(v[0].value),v[1].map(function(p){return new Handle(p.value);}),!v[2]?null:new IFC2X3.IfcText(v[2].value),new IFC2X3.IfcLabel(v[3].value));},2556980723:function _(id,v){return new IFC2X3.IfcFace(id,v[0].map(function(p){return new Handle(p.value);}));},1809719519:function _(id,v){return new IFC2X3.IfcFaceBound(id,new Handle(v[0].value),v[1].value);},803316827:function _(id,v){return new IFC2X3.IfcFaceOuterBound(id,new Handle(v[0].value),v[1].value);},3008276851:function _(id,v){return new IFC2X3.IfcFaceSurface(id,v[0].map(function(p){return new Handle(p.value);}),new Handle(v[1].value),v[2].value);},4219587988:function _(id,v){return new IFC2X3.IfcFailureConnectionCondition(id,!v[0]?null:new IFC2X3.IfcLabel(v[0].value),!v[1]?null:new IFC2X3.IfcForceMeasure(v[1].value),!v[2]?null:new IFC2X3.IfcForceMeasure(v[2].value),!v[3]?null:new IFC2X3.IfcForceMeasure(v[3].value),!v[4]?null:new IFC2X3.IfcForceMeasure(v[4].value),!v[5]?null:new IFC2X3.IfcForceMeasure(v[5].value),!v[6]?null:new IFC2X3.IfcForceMeasure(v[6].value));},738692330:function _(id,v){return new IFC2X3.IfcFillAreaStyle(id,!v[0]?null:new IFC2X3.IfcLabel(v[0].value),v[1].map(function(p){return new Handle(p.value);}));},3857492461:function _(id,v){return new IFC2X3.IfcFuelProperties(id,new Handle(v[0].value),!v[1]?null:new IFC2X3.IfcThermodynamicTemperatureMeasure(v[1].value),!v[2]?null:new IFC2X3.IfcPositiveRatioMeasure(v[2].value),!v[3]?null:new IFC2X3.IfcHeatingValueMeasure(v[3].value),!v[4]?null:new IFC2X3.IfcHeatingValueMeasure(v[4].value));},803998398:function _(id,v){return new IFC2X3.IfcGeneralMaterialProperties(id,new Handle(v[0].value),!v[1]?null:new IFC2X3.IfcMolecularWeightMeasure(v[1].value),!v[2]?null:new IFC2X3.IfcNormalisedRatioMeasure(v[2].value),!v[3]?null:new IFC2X3.IfcMassDensityMeasure(v[3].value));},1446786286:function _(id,v){return new IFC2X3.IfcGeneralProfileProperties(id,!v[0]?null:new IFC2X3.IfcLabel(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC2X3.IfcMassPerLengthMeasure(v[2].value),!v[3]?null:new IFC2X3.IfcPositiveLengthMeasure(v[3].value),!v[4]?null:new IFC2X3.IfcPositiveLengthMeasure(v[4].value),!v[5]?null:new IFC2X3.IfcPositiveLengthMeasure(v[5].value),!v[6]?null:new IFC2X3.IfcAreaMeasure(v[6].value));},3448662350:function _(id,v){return new IFC2X3.IfcGeometricRepresentationContext(id,!v[0]?null:new IFC2X3.IfcLabel(v[0].value),!v[1]?null:new IFC2X3.IfcLabel(v[1].value),new IFC2X3.IfcDimensionCount(v[2].value),!v[3]?null:v[3].value,new Handle(v[4].value),!v[5]?null:new Handle(v[5].value));},2453401579:function _(id,_8){return new IFC2X3.IfcGeometricRepresentationItem(id);},4142052618:function _(id,v){return new IFC2X3.IfcGeometricRepresentationSubContext(id,!v[0]?null:new IFC2X3.IfcLabel(v[0].value),!v[1]?null:new IFC2X3.IfcLabel(v[1].value),new Handle(v[2].value),!v[3]?null:new IFC2X3.IfcPositiveRatioMeasure(v[3].value),v[4],!v[5]?null:new IFC2X3.IfcLabel(v[5].value));},3590301190:function _(id,v){return new IFC2X3.IfcGeometricSet(id,v[0].map(function(p){return new Handle(p.value);}));},178086475:function _(id,v){return new IFC2X3.IfcGridPlacement(id,new Handle(v[0].value),!v[1]?null:new Handle(v[1].value));},812098782:function _(id,v){return new IFC2X3.IfcHalfSpaceSolid(id,new Handle(v[0].value),v[1].value);},2445078500:function _(id,v){return new IFC2X3.IfcHygroscopicMaterialProperties(id,new Handle(v[0].value),!v[1]?null:new IFC2X3.IfcPositiveRatioMeasure(v[1].value),!v[2]?null:new IFC2X3.IfcPositiveRatioMeasure(v[2].value),!v[3]?null:new IFC2X3.IfcIsothermalMoistureCapacityMeasure(v[3].value),!v[4]?null:new IFC2X3.IfcVaporPermeabilityMeasure(v[4].value),!v[5]?null:new IFC2X3.IfcMoistureDiffusivityMeasure(v[5].value));},3905492369:function _(id,v){return new IFC2X3.IfcImageTexture(id,v[0].value,v[1].value,v[2],!v[3]?null:new Handle(v[3].value),new IFC2X3.IfcIdentifier(v[4].value));},3741457305:function _(id,v){return new IFC2X3.IfcIrregularTimeSeries(id,new IFC2X3.IfcLabel(v[0].value),!v[1]?null:new IFC2X3.IfcText(v[1].value),new Handle(v[2].value),new Handle(v[3].value),v[4],v[5],!v[6]?null:new IFC2X3.IfcLabel(v[6].value),!v[7]?null:new Handle(v[7].value),v[8].map(function(p){return new Handle(p.value);}));},1402838566:function _(id,v){return new IFC2X3.IfcLightSource(id,!v[0]?null:new IFC2X3.IfcLabel(v[0].value),new Handle(v[1].value),!v[2]?null:new IFC2X3.IfcNormalisedRatioMeasure(v[2].value),!v[3]?null:new IFC2X3.IfcNormalisedRatioMeasure(v[3].value));},125510826:function _(id,v){return new IFC2X3.IfcLightSourceAmbient(id,!v[0]?null:new IFC2X3.IfcLabel(v[0].value),new Handle(v[1].value),!v[2]?null:new IFC2X3.IfcNormalisedRatioMeasure(v[2].value),!v[3]?null:new IFC2X3.IfcNormalisedRatioMeasure(v[3].value));},2604431987:function _(id,v){return new IFC2X3.IfcLightSourceDirectional(id,!v[0]?null:new IFC2X3.IfcLabel(v[0].value),new Handle(v[1].value),!v[2]?null:new IFC2X3.IfcNormalisedRatioMeasure(v[2].value),!v[3]?null:new IFC2X3.IfcNormalisedRatioMeasure(v[3].value),new Handle(v[4].value));},4266656042:function _(id,v){return new IFC2X3.IfcLightSourceGoniometric(id,!v[0]?null:new IFC2X3.IfcLabel(v[0].value),new Handle(v[1].value),!v[2]?null:new IFC2X3.IfcNormalisedRatioMeasure(v[2].value),!v[3]?null:new IFC2X3.IfcNormalisedRatioMeasure(v[3].value),new Handle(v[4].value),!v[5]?null:new Handle(v[5].value),new IFC2X3.IfcThermodynamicTemperatureMeasure(v[6].value),new IFC2X3.IfcLuminousFluxMeasure(v[7].value),v[8],new Handle(v[9].value));},1520743889:function _(id,v){return new IFC2X3.IfcLightSourcePositional(id,!v[0]?null:new IFC2X3.IfcLabel(v[0].value),new Handle(v[1].value),!v[2]?null:new IFC2X3.IfcNormalisedRatioMeasure(v[2].value),!v[3]?null:new IFC2X3.IfcNormalisedRatioMeasure(v[3].value),new Handle(v[4].value),new IFC2X3.IfcPositiveLengthMeasure(v[5].value),new IFC2X3.IfcReal(v[6].value),new IFC2X3.IfcReal(v[7].value),new IFC2X3.IfcReal(v[8].value));},3422422726:function _(id,v){return new IFC2X3.IfcLightSourceSpot(id,!v[0]?null:new IFC2X3.IfcLabel(v[0].value),new Handle(v[1].value),!v[2]?null:new IFC2X3.IfcNormalisedRatioMeasure(v[2].value),!v[3]?null:new IFC2X3.IfcNormalisedRatioMeasure(v[3].value),new Handle(v[4].value),new IFC2X3.IfcPositiveLengthMeasure(v[5].value),new IFC2X3.IfcReal(v[6].value),new IFC2X3.IfcReal(v[7].value),new IFC2X3.IfcReal(v[8].value),new Handle(v[9].value),!v[10]?null:new IFC2X3.IfcReal(v[10].value),new IFC2X3.IfcPositivePlaneAngleMeasure(v[11].value),new IFC2X3.IfcPositivePlaneAngleMeasure(v[12].value));},2624227202:function _(id,v){return new IFC2X3.IfcLocalPlacement(id,!v[0]?null:new Handle(v[0].value),new Handle(v[1].value));},1008929658:function _(id,_9){return new IFC2X3.IfcLoop(id);},2347385850:function _(id,v){return new IFC2X3.IfcMappedItem(id,new Handle(v[0].value),new Handle(v[1].value));},2022407955:function _(id,v){return new IFC2X3.IfcMaterialDefinitionRepresentation(id,!v[0]?null:new IFC2X3.IfcLabel(v[0].value),!v[1]?null:new IFC2X3.IfcText(v[1].value),v[2].map(function(p){return new Handle(p.value);}),new Handle(v[3].value));},1430189142:function _(id,v){return new IFC2X3.IfcMechanicalConcreteMaterialProperties(id,new Handle(v[0].value),!v[1]?null:new IFC2X3.IfcDynamicViscosityMeasure(v[1].value),!v[2]?null:new IFC2X3.IfcModulusOfElasticityMeasure(v[2].value),!v[3]?null:new IFC2X3.IfcModulusOfElasticityMeasure(v[3].value),!v[4]?null:new IFC2X3.IfcPositiveRatioMeasure(v[4].value),!v[5]?null:new IFC2X3.IfcThermalExpansionCoefficientMeasure(v[5].value),!v[6]?null:new IFC2X3.IfcPressureMeasure(v[6].value),!v[7]?null:new IFC2X3.IfcPositiveLengthMeasure(v[7].value),!v[8]?null:new IFC2X3.IfcText(v[8].value),!v[9]?null:new IFC2X3.IfcText(v[9].value),!v[10]?null:new IFC2X3.IfcNormalisedRatioMeasure(v[10].value),!v[11]?null:new IFC2X3.IfcText(v[11].value));},219451334:function _(id,v){return new IFC2X3.IfcObjectDefinition(id,new IFC2X3.IfcGloballyUniqueId(v[0].value),new Handle(v[1].value),!v[2]?null:new IFC2X3.IfcLabel(v[2].value),!v[3]?null:new IFC2X3.IfcText(v[3].value));},2833995503:function _(id,v){return new IFC2X3.IfcOneDirectionRepeatFactor(id,new Handle(v[0].value));},2665983363:function _(id,v){return new IFC2X3.IfcOpenShell(id,v[0].map(function(p){return new Handle(p.value);}));},1029017970:function _(id,v){return new IFC2X3.IfcOrientedEdge(id,new Handle(v[0].value),v[1].value);},2529465313:function _(id,v){return new IFC2X3.IfcParameterizedProfileDef(id,v[0],!v[1]?null:new IFC2X3.IfcLabel(v[1].value),new Handle(v[2].value));},2519244187:function _(id,v){return new IFC2X3.IfcPath(id,v[0].map(function(p){return new Handle(p.value);}));},3021840470:function _(id,v){return new IFC2X3.IfcPhysicalComplexQuantity(id,new IFC2X3.IfcLabel(v[0].value),!v[1]?null:new IFC2X3.IfcText(v[1].value),v[2].map(function(p){return new Handle(p.value);}),new IFC2X3.IfcLabel(v[3].value),!v[4]?null:new IFC2X3.IfcLabel(v[4].value),!v[5]?null:new IFC2X3.IfcLabel(v[5].value));},597895409:function _(id,v){return new IFC2X3.IfcPixelTexture(id,v[0].value,v[1].value,v[2],!v[3]?null:new Handle(v[3].value),new IFC2X3.IfcInteger(v[4].value),new IFC2X3.IfcInteger(v[5].value),new IFC2X3.IfcInteger(v[6].value),v[7].map(function(p){return p.value;}));},2004835150:function _(id,v){return new IFC2X3.IfcPlacement(id,new Handle(v[0].value));},1663979128:function _(id,v){return new IFC2X3.IfcPlanarExtent(id,new IFC2X3.IfcLengthMeasure(v[0].value),new IFC2X3.IfcLengthMeasure(v[1].value));},2067069095:function _(id,_10){return new IFC2X3.IfcPoint(id);},4022376103:function _(id,v){return new IFC2X3.IfcPointOnCurve(id,new Handle(v[0].value),new IFC2X3.IfcParameterValue(v[1].value));},1423911732:function _(id,v){return new IFC2X3.IfcPointOnSurface(id,new Handle(v[0].value),new IFC2X3.IfcParameterValue(v[1].value),new IFC2X3.IfcParameterValue(v[2].value));},2924175390:function _(id,v){return new IFC2X3.IfcPolyLoop(id,v[0].map(function(p){return new Handle(p.value);}));},2775532180:function _(id,v){return new IFC2X3.IfcPolygonalBoundedHalfSpace(id,new Handle(v[0].value),v[1].value,new Handle(v[2].value),new Handle(v[3].value));},759155922:function _(id,v){return new IFC2X3.IfcPreDefinedColour(id,new IFC2X3.IfcLabel(v[0].value));},2559016684:function _(id,v){return new IFC2X3.IfcPreDefinedCurveFont(id,new IFC2X3.IfcLabel(v[0].value));},433424934:function _(id,v){return new IFC2X3.IfcPreDefinedDimensionSymbol(id,new IFC2X3.IfcLabel(v[0].value));},179317114:function _(id,v){return new IFC2X3.IfcPreDefinedPointMarkerSymbol(id,new IFC2X3.IfcLabel(v[0].value));},673634403:function _(id,v){return new IFC2X3.IfcProductDefinitionShape(id,!v[0]?null:new IFC2X3.IfcLabel(v[0].value),!v[1]?null:new IFC2X3.IfcText(v[1].value),v[2].map(function(p){return new Handle(p.value);}));},871118103:function _(id,v){return new IFC2X3.IfcPropertyBoundedValue(id,new IFC2X3.IfcIdentifier(v[0].value),!v[1]?null:new IFC2X3.IfcText(v[1].value),!v[2]?null:TypeInitialiser(1,v[2]),!v[3]?null:TypeInitialiser(1,v[3]),!v[4]?null:new Handle(v[4].value));},1680319473:function _(id,v){return new IFC2X3.IfcPropertyDefinition(id,new IFC2X3.IfcGloballyUniqueId(v[0].value),new Handle(v[1].value),!v[2]?null:new IFC2X3.IfcLabel(v[2].value),!v[3]?null:new IFC2X3.IfcText(v[3].value));},4166981789:function _(id,v){return new IFC2X3.IfcPropertyEnumeratedValue(id,new IFC2X3.IfcIdentifier(v[0].value),!v[1]?null:new IFC2X3.IfcText(v[1].value),v[2].map(function(p){return TypeInitialiser(1,p);}),!v[3]?null:new Handle(v[3].value));},2752243245:function _(id,v){return new IFC2X3.IfcPropertyListValue(id,new IFC2X3.IfcIdentifier(v[0].value),!v[1]?null:new IFC2X3.IfcText(v[1].value),v[2].map(function(p){return TypeInitialiser(1,p);}),!v[3]?null:new Handle(v[3].value));},941946838:function _(id,v){return new IFC2X3.IfcPropertyReferenceValue(id,new IFC2X3.IfcIdentifier(v[0].value),!v[1]?null:new IFC2X3.IfcText(v[1].value),!v[2]?null:new IFC2X3.IfcLabel(v[2].value),new Handle(v[3].value));},3357820518:function _(id,v){return new IFC2X3.IfcPropertySetDefinition(id,new IFC2X3.IfcGloballyUniqueId(v[0].value),new Handle(v[1].value),!v[2]?null:new IFC2X3.IfcLabel(v[2].value),!v[3]?null:new IFC2X3.IfcText(v[3].value));},3650150729:function _(id,v){return new IFC2X3.IfcPropertySingleValue(id,new IFC2X3.IfcIdentifier(v[0].value),!v[1]?null:new IFC2X3.IfcText(v[1].value),!v[2]?null:TypeInitialiser(1,v[2]),!v[3]?null:new Handle(v[3].value));},110355661:function _(id,v){return new IFC2X3.IfcPropertyTableValue(id,new IFC2X3.IfcIdentifier(v[0].value),!v[1]?null:new IFC2X3.IfcText(v[1].value),v[2].map(function(p){return TypeInitialiser(1,p);}),v[3].map(function(p){return TypeInitialiser(1,p);}),!v[4]?null:new IFC2X3.IfcText(v[4].value),!v[5]?null:new Handle(v[5].value),!v[6]?null:new Handle(v[6].value));},3615266464:function _(id,v){return new IFC2X3.IfcRectangleProfileDef(id,v[0],!v[1]?null:new IFC2X3.IfcLabel(v[1].value),new Handle(v[2].value),new IFC2X3.IfcPositiveLengthMeasure(v[3].value),new IFC2X3.IfcPositiveLengthMeasure(v[4].value));},3413951693:function _(id,v){return new IFC2X3.IfcRegularTimeSeries(id,new IFC2X3.IfcLabel(v[0].value),!v[1]?null:new IFC2X3.IfcText(v[1].value),new Handle(v[2].value),new Handle(v[3].value),v[4],v[5],!v[6]?null:new IFC2X3.IfcLabel(v[6].value),!v[7]?null:new Handle(v[7].value),new IFC2X3.IfcTimeMeasure(v[8].value),v[9].map(function(p){return new Handle(p.value);}));},3765753017:function _(id,v){return new IFC2X3.IfcReinforcementDefinitionProperties(id,new IFC2X3.IfcGloballyUniqueId(v[0].value),new Handle(v[1].value),!v[2]?null:new IFC2X3.IfcLabel(v[2].value),!v[3]?null:new IFC2X3.IfcText(v[3].value),!v[4]?null:new IFC2X3.IfcLabel(v[4].value),v[5].map(function(p){return new Handle(p.value);}));},478536968:function _(id,v){return new IFC2X3.IfcRelationship(id,new IFC2X3.IfcGloballyUniqueId(v[0].value),new Handle(v[1].value),!v[2]?null:new IFC2X3.IfcLabel(v[2].value),!v[3]?null:new IFC2X3.IfcText(v[3].value));},2778083089:function _(id,v){return new IFC2X3.IfcRoundedRectangleProfileDef(id,v[0],!v[1]?null:new IFC2X3.IfcLabel(v[1].value),new Handle(v[2].value),new IFC2X3.IfcPositiveLengthMeasure(v[3].value),new IFC2X3.IfcPositiveLengthMeasure(v[4].value),new IFC2X3.IfcPositiveLengthMeasure(v[5].value));},1509187699:function _(id,v){return new IFC2X3.IfcSectionedSpine(id,new Handle(v[0].value),v[1].map(function(p){return new Handle(p.value);}),v[2].map(function(p){return new Handle(p.value);}));},2411513650:function _(id,v){return new IFC2X3.IfcServiceLifeFactor(id,new IFC2X3.IfcGloballyUniqueId(v[0].value),new Handle(v[1].value),!v[2]?null:new IFC2X3.IfcLabel(v[2].value),!v[3]?null:new IFC2X3.IfcText(v[3].value),v[4],!v[5]?null:TypeInitialiser(1,v[5]),TypeInitialiser(1,v[6]),!v[7]?null:TypeInitialiser(1,v[7]));},4124623270:function _(id,v){return new IFC2X3.IfcShellBasedSurfaceModel(id,v[0].map(function(p){return new Handle(p.value);}));},2609359061:function _(id,v){return new IFC2X3.IfcSlippageConnectionCondition(id,!v[0]?null:new IFC2X3.IfcLabel(v[0].value),!v[1]?null:new IFC2X3.IfcLengthMeasure(v[1].value),!v[2]?null:new IFC2X3.IfcLengthMeasure(v[2].value),!v[3]?null:new IFC2X3.IfcLengthMeasure(v[3].value));},723233188:function _(id,_11){return new IFC2X3.IfcSolidModel(id);},2485662743:function _(id,v){return new IFC2X3.IfcSoundProperties(id,new IFC2X3.IfcGloballyUniqueId(v[0].value),new Handle(v[1].value),!v[2]?null:new IFC2X3.IfcLabel(v[2].value),!v[3]?null:new IFC2X3.IfcText(v[3].value),new IFC2X3.IfcBoolean(v[4].value),v[5],v[6].map(function(p){return new Handle(p.value);}));},1202362311:function _(id,v){return new IFC2X3.IfcSoundValue(id,new IFC2X3.IfcGloballyUniqueId(v[0].value),new Handle(v[1].value),!v[2]?null:new IFC2X3.IfcLabel(v[2].value),!v[3]?null:new IFC2X3.IfcText(v[3].value),!v[4]?null:new Handle(v[4].value),new IFC2X3.IfcFrequencyMeasure(v[5].value),!v[6]?null:TypeInitialiser(1,v[6]));},390701378:function _(id,v){return new IFC2X3.IfcSpaceThermalLoadProperties(id,new IFC2X3.IfcGloballyUniqueId(v[0].value),new Handle(v[1].value),!v[2]?null:new IFC2X3.IfcLabel(v[2].value),!v[3]?null:new IFC2X3.IfcText(v[3].value),!v[4]?null:new IFC2X3.IfcPositiveRatioMeasure(v[4].value),v[5],v[6],!v[7]?null:new IFC2X3.IfcText(v[7].value),new IFC2X3.IfcPowerMeasure(v[8].value),!v[9]?null:new IFC2X3.IfcPowerMeasure(v[9].value),!v[10]?null:new Handle(v[10].value),!v[11]?null:new IFC2X3.IfcLabel(v[11].value),!v[12]?null:new IFC2X3.IfcLabel(v[12].value),v[13]);},1595516126:function _(id,v){return new IFC2X3.IfcStructuralLoadLinearForce(id,!v[0]?null:new IFC2X3.IfcLabel(v[0].value),!v[1]?null:new IFC2X3.IfcLinearForceMeasure(v[1].value),!v[2]?null:new IFC2X3.IfcLinearForceMeasure(v[2].value),!v[3]?null:new IFC2X3.IfcLinearForceMeasure(v[3].value),!v[4]?null:new IFC2X3.IfcLinearMomentMeasure(v[4].value),!v[5]?null:new IFC2X3.IfcLinearMomentMeasure(v[5].value),!v[6]?null:new IFC2X3.IfcLinearMomentMeasure(v[6].value));},2668620305:function _(id,v){return new IFC2X3.IfcStructuralLoadPlanarForce(id,!v[0]?null:new IFC2X3.IfcLabel(v[0].value),!v[1]?null:new IFC2X3.IfcPlanarForceMeasure(v[1].value),!v[2]?null:new IFC2X3.IfcPlanarForceMeasure(v[2].value),!v[3]?null:new IFC2X3.IfcPlanarForceMeasure(v[3].value));},2473145415:function _(id,v){return new IFC2X3.IfcStructuralLoadSingleDisplacement(id,!v[0]?null:new IFC2X3.IfcLabel(v[0].value),!v[1]?null:new IFC2X3.IfcLengthMeasure(v[1].value),!v[2]?null:new IFC2X3.IfcLengthMeasure(v[2].value),!v[3]?null:new IFC2X3.IfcLengthMeasure(v[3].value),!v[4]?null:new IFC2X3.IfcPlaneAngleMeasure(v[4].value),!v[5]?null:new IFC2X3.IfcPlaneAngleMeasure(v[5].value),!v[6]?null:new IFC2X3.IfcPlaneAngleMeasure(v[6].value));},1973038258:function _(id,v){return new IFC2X3.IfcStructuralLoadSingleDisplacementDistortion(id,!v[0]?null:new IFC2X3.IfcLabel(v[0].value),!v[1]?null:new IFC2X3.IfcLengthMeasure(v[1].value),!v[2]?null:new IFC2X3.IfcLengthMeasure(v[2].value),!v[3]?null:new IFC2X3.IfcLengthMeasure(v[3].value),!v[4]?null:new IFC2X3.IfcPlaneAngleMeasure(v[4].value),!v[5]?null:new IFC2X3.IfcPlaneAngleMeasure(v[5].value),!v[6]?null:new IFC2X3.IfcPlaneAngleMeasure(v[6].value),!v[7]?null:new IFC2X3.IfcCurvatureMeasure(v[7].value));},1597423693:function _(id,v){return new IFC2X3.IfcStructuralLoadSingleForce(id,!v[0]?null:new IFC2X3.IfcLabel(v[0].value),!v[1]?null:new IFC2X3.IfcForceMeasure(v[1].value),!v[2]?null:new IFC2X3.IfcForceMeasure(v[2].value),!v[3]?null:new IFC2X3.IfcForceMeasure(v[3].value),!v[4]?null:new IFC2X3.IfcTorqueMeasure(v[4].value),!v[5]?null:new IFC2X3.IfcTorqueMeasure(v[5].value),!v[6]?null:new IFC2X3.IfcTorqueMeasure(v[6].value));},1190533807:function _(id,v){return new IFC2X3.IfcStructuralLoadSingleForceWarping(id,!v[0]?null:new IFC2X3.IfcLabel(v[0].value),!v[1]?null:new IFC2X3.IfcForceMeasure(v[1].value),!v[2]?null:new IFC2X3.IfcForceMeasure(v[2].value),!v[3]?null:new IFC2X3.IfcForceMeasure(v[3].value),!v[4]?null:new IFC2X3.IfcTorqueMeasure(v[4].value),!v[5]?null:new IFC2X3.IfcTorqueMeasure(v[5].value),!v[6]?null:new IFC2X3.IfcTorqueMeasure(v[6].value),!v[7]?null:new IFC2X3.IfcWarpingMomentMeasure(v[7].value));},3843319758:function _(id,v){return new IFC2X3.IfcStructuralProfileProperties(id,!v[0]?null:new IFC2X3.IfcLabel(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC2X3.IfcMassPerLengthMeasure(v[2].value),!v[3]?null:new IFC2X3.IfcPositiveLengthMeasure(v[3].value),!v[4]?null:new IFC2X3.IfcPositiveLengthMeasure(v[4].value),!v[5]?null:new IFC2X3.IfcPositiveLengthMeasure(v[5].value),!v[6]?null:new IFC2X3.IfcAreaMeasure(v[6].value),!v[7]?null:new IFC2X3.IfcMomentOfInertiaMeasure(v[7].value),!v[8]?null:new IFC2X3.IfcMomentOfInertiaMeasure(v[8].value),!v[9]?null:new IFC2X3.IfcMomentOfInertiaMeasure(v[9].value),!v[10]?null:new IFC2X3.IfcMomentOfInertiaMeasure(v[10].value),!v[11]?null:new IFC2X3.IfcWarpingConstantMeasure(v[11].value),!v[12]?null:new IFC2X3.IfcLengthMeasure(v[12].value),!v[13]?null:new IFC2X3.IfcLengthMeasure(v[13].value),!v[14]?null:new IFC2X3.IfcAreaMeasure(v[14].value),!v[15]?null:new IFC2X3.IfcAreaMeasure(v[15].value),!v[16]?null:new IFC2X3.IfcSectionModulusMeasure(v[16].value),!v[17]?null:new IFC2X3.IfcSectionModulusMeasure(v[17].value),!v[18]?null:new IFC2X3.IfcSectionModulusMeasure(v[18].value),!v[19]?null:new IFC2X3.IfcSectionModulusMeasure(v[19].value),!v[20]?null:new IFC2X3.IfcSectionModulusMeasure(v[20].value),!v[21]?null:new IFC2X3.IfcLengthMeasure(v[21].value),!v[22]?null:new IFC2X3.IfcLengthMeasure(v[22].value));},3653947884:function _(id,v){return new IFC2X3.IfcStructuralSteelProfileProperties(id,!v[0]?null:new IFC2X3.IfcLabel(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC2X3.IfcMassPerLengthMeasure(v[2].value),!v[3]?null:new IFC2X3.IfcPositiveLengthMeasure(v[3].value),!v[4]?null:new IFC2X3.IfcPositiveLengthMeasure(v[4].value),!v[5]?null:new IFC2X3.IfcPositiveLengthMeasure(v[5].value),!v[6]?null:new IFC2X3.IfcAreaMeasure(v[6].value),!v[7]?null:new IFC2X3.IfcMomentOfInertiaMeasure(v[7].value),!v[8]?null:new IFC2X3.IfcMomentOfInertiaMeasure(v[8].value),!v[9]?null:new IFC2X3.IfcMomentOfInertiaMeasure(v[9].value),!v[10]?null:new IFC2X3.IfcMomentOfInertiaMeasure(v[10].value),!v[11]?null:new IFC2X3.IfcWarpingConstantMeasure(v[11].value),!v[12]?null:new IFC2X3.IfcLengthMeasure(v[12].value),!v[13]?null:new IFC2X3.IfcLengthMeasure(v[13].value),!v[14]?null:new IFC2X3.IfcAreaMeasure(v[14].value),!v[15]?null:new IFC2X3.IfcAreaMeasure(v[15].value),!v[16]?null:new IFC2X3.IfcSectionModulusMeasure(v[16].value),!v[17]?null:new IFC2X3.IfcSectionModulusMeasure(v[17].value),!v[18]?null:new IFC2X3.IfcSectionModulusMeasure(v[18].value),!v[19]?null:new IFC2X3.IfcSectionModulusMeasure(v[19].value),!v[20]?null:new IFC2X3.IfcSectionModulusMeasure(v[20].value),!v[21]?null:new IFC2X3.IfcLengthMeasure(v[21].value),!v[22]?null:new IFC2X3.IfcLengthMeasure(v[22].value),!v[23]?null:new IFC2X3.IfcAreaMeasure(v[23].value),!v[24]?null:new IFC2X3.IfcAreaMeasure(v[24].value),!v[25]?null:new IFC2X3.IfcPositiveRatioMeasure(v[25].value),!v[26]?null:new IFC2X3.IfcPositiveRatioMeasure(v[26].value));},2233826070:function _(id,v){return new IFC2X3.IfcSubedge(id,new Handle(v[0].value),new Handle(v[1].value),new Handle(v[2].value));},2513912981:function _(id,_12){return new IFC2X3.IfcSurface(id);},1878645084:function _(id,v){return new IFC2X3.IfcSurfaceStyleRendering(id,new Handle(v[0].value),!v[1]?null:new IFC2X3.IfcNormalisedRatioMeasure(v[1].value),!v[2]?null:new Handle(v[2].value),!v[3]?null:new Handle(v[3].value),!v[4]?null:new Handle(v[4].value),!v[5]?null:new Handle(v[5].value),!v[6]?null:new Handle(v[6].value),!v[7]?null:TypeInitialiser(1,v[7]),v[8]);},2247615214:function _(id,v){return new IFC2X3.IfcSweptAreaSolid(id,new Handle(v[0].value),new Handle(v[1].value));},1260650574:function _(id,v){return new IFC2X3.IfcSweptDiskSolid(id,new Handle(v[0].value),new IFC2X3.IfcPositiveLengthMeasure(v[1].value),!v[2]?null:new IFC2X3.IfcPositiveLengthMeasure(v[2].value),new IFC2X3.IfcParameterValue(v[3].value),new IFC2X3.IfcParameterValue(v[4].value));},230924584:function _(id,v){return new IFC2X3.IfcSweptSurface(id,new Handle(v[0].value),new Handle(v[1].value));},3071757647:function _(id,v){return new IFC2X3.IfcTShapeProfileDef(id,v[0],!v[1]?null:new IFC2X3.IfcLabel(v[1].value),new Handle(v[2].value),new IFC2X3.IfcPositiveLengthMeasure(v[3].value),new IFC2X3.IfcPositiveLengthMeasure(v[4].value),new IFC2X3.IfcPositiveLengthMeasure(v[5].value),new IFC2X3.IfcPositiveLengthMeasure(v[6].value),!v[7]?null:new IFC2X3.IfcPositiveLengthMeasure(v[7].value),!v[8]?null:new IFC2X3.IfcPositiveLengthMeasure(v[8].value),!v[9]?null:new IFC2X3.IfcPositiveLengthMeasure(v[9].value),!v[10]?null:new IFC2X3.IfcPlaneAngleMeasure(v[10].value),!v[11]?null:new IFC2X3.IfcPlaneAngleMeasure(v[11].value),!v[12]?null:new IFC2X3.IfcPositiveLengthMeasure(v[12].value));},3028897424:function _(id,v){return new IFC2X3.IfcTerminatorSymbol(id,!v[0]?null:new Handle(v[0].value),v[1].map(function(p){return new Handle(p.value);}),!v[2]?null:new IFC2X3.IfcLabel(v[2].value),new Handle(v[3].value));},4282788508:function _(id,v){return new IFC2X3.IfcTextLiteral(id,new IFC2X3.IfcPresentableText(v[0].value),new Handle(v[1].value),v[2]);},3124975700:function _(id,v){return new IFC2X3.IfcTextLiteralWithExtent(id,new IFC2X3.IfcPresentableText(v[0].value),new Handle(v[1].value),v[2],new Handle(v[3].value),new IFC2X3.IfcBoxAlignment(v[4].value));},2715220739:function _(id,v){return new IFC2X3.IfcTrapeziumProfileDef(id,v[0],!v[1]?null:new IFC2X3.IfcLabel(v[1].value),new Handle(v[2].value),new IFC2X3.IfcPositiveLengthMeasure(v[3].value),new IFC2X3.IfcPositiveLengthMeasure(v[4].value),new IFC2X3.IfcPositiveLengthMeasure(v[5].value),new IFC2X3.IfcLengthMeasure(v[6].value));},1345879162:function _(id,v){return new IFC2X3.IfcTwoDirectionRepeatFactor(id,new Handle(v[0].value),new Handle(v[1].value));},1628702193:function _(id,v){return new IFC2X3.IfcTypeObject(id,new IFC2X3.IfcGloballyUniqueId(v[0].value),new Handle(v[1].value),!v[2]?null:new IFC2X3.IfcLabel(v[2].value),!v[3]?null:new IFC2X3.IfcText(v[3].value),!v[4]?null:new IFC2X3.IfcLabel(v[4].value),!v[5]?null:v[5].map(function(p){return new Handle(p.value);}));},2347495698:function _(id,v){return new IFC2X3.IfcTypeProduct(id,new IFC2X3.IfcGloballyUniqueId(v[0].value),new Handle(v[1].value),!v[2]?null:new IFC2X3.IfcLabel(v[2].value),!v[3]?null:new IFC2X3.IfcText(v[3].value),!v[4]?null:new IFC2X3.IfcLabel(v[4].value),!v[5]?null:v[5].map(function(p){return new Handle(p.value);}),!v[6]?null:v[6].map(function(p){return new Handle(p.value);}),!v[7]?null:new IFC2X3.IfcLabel(v[7].value));},427810014:function _(id,v){return new IFC2X3.IfcUShapeProfileDef(id,v[0],!v[1]?null:new IFC2X3.IfcLabel(v[1].value),new Handle(v[2].value),new IFC2X3.IfcPositiveLengthMeasure(v[3].value),new IFC2X3.IfcPositiveLengthMeasure(v[4].value),new IFC2X3.IfcPositiveLengthMeasure(v[5].value),new IFC2X3.IfcPositiveLengthMeasure(v[6].value),!v[7]?null:new IFC2X3.IfcPositiveLengthMeasure(v[7].value),!v[8]?null:new IFC2X3.IfcPositiveLengthMeasure(v[8].value),!v[9]?null:new IFC2X3.IfcPlaneAngleMeasure(v[9].value),!v[10]?null:new IFC2X3.IfcPositiveLengthMeasure(v[10].value));},1417489154:function _(id,v){return new IFC2X3.IfcVector(id,new Handle(v[0].value),new IFC2X3.IfcLengthMeasure(v[1].value));},2759199220:function _(id,v){return new IFC2X3.IfcVertexLoop(id,new Handle(v[0].value));},336235671:function _(id,v){return new IFC2X3.IfcWindowLiningProperties(id,new IFC2X3.IfcGloballyUniqueId(v[0].value),new Handle(v[1].value),!v[2]?null:new IFC2X3.IfcLabel(v[2].value),!v[3]?null:new IFC2X3.IfcText(v[3].value),!v[4]?null:new IFC2X3.IfcPositiveLengthMeasure(v[4].value),!v[5]?null:new IFC2X3.IfcPositiveLengthMeasure(v[5].value),!v[6]?null:new IFC2X3.IfcPositiveLengthMeasure(v[6].value),!v[7]?null:new IFC2X3.IfcPositiveLengthMeasure(v[7].value),!v[8]?null:new IFC2X3.IfcNormalisedRatioMeasure(v[8].value),!v[9]?null:new IFC2X3.IfcNormalisedRatioMeasure(v[9].value),!v[10]?null:new IFC2X3.IfcNormalisedRatioMeasure(v[10].value),!v[11]?null:new IFC2X3.IfcNormalisedRatioMeasure(v[11].value),!v[12]?null:new Handle(v[12].value));},512836454:function _(id,v){return new IFC2X3.IfcWindowPanelProperties(id,new IFC2X3.IfcGloballyUniqueId(v[0].value),new Handle(v[1].value),!v[2]?null:new IFC2X3.IfcLabel(v[2].value),!v[3]?null:new IFC2X3.IfcText(v[3].value),v[4],v[5],!v[6]?null:new IFC2X3.IfcPositiveLengthMeasure(v[6].value),!v[7]?null:new IFC2X3.IfcPositiveLengthMeasure(v[7].value),!v[8]?null:new Handle(v[8].value));},1299126871:function _(id,v){return new IFC2X3.IfcWindowStyle(id,new IFC2X3.IfcGloballyUniqueId(v[0].value),new Handle(v[1].value),!v[2]?null:new IFC2X3.IfcLabel(v[2].value),!v[3]?null:new IFC2X3.IfcText(v[3].value),!v[4]?null:new IFC2X3.IfcLabel(v[4].value),!v[5]?null:v[5].map(function(p){return new Handle(p.value);}),!v[6]?null:v[6].map(function(p){return new Handle(p.value);}),!v[7]?null:new IFC2X3.IfcLabel(v[7].value),v[8],v[9],v[10].value,v[11].value);},2543172580:function _(id,v){return new IFC2X3.IfcZShapeProfileDef(id,v[0],!v[1]?null:new IFC2X3.IfcLabel(v[1].value),new Handle(v[2].value),new IFC2X3.IfcPositiveLengthMeasure(v[3].value),new IFC2X3.IfcPositiveLengthMeasure(v[4].value),new IFC2X3.IfcPositiveLengthMeasure(v[5].value),new IFC2X3.IfcPositiveLengthMeasure(v[6].value),!v[7]?null:new IFC2X3.IfcPositiveLengthMeasure(v[7].value),!v[8]?null:new IFC2X3.IfcPositiveLengthMeasure(v[8].value));},3288037868:function _(id,v){return new IFC2X3.IfcAnnotationCurveOccurrence(id,!v[0]?null:new Handle(v[0].value),v[1].map(function(p){return new Handle(p.value);}),!v[2]?null:new IFC2X3.IfcLabel(v[2].value));},669184980:function _(id,v){return new IFC2X3.IfcAnnotationFillArea(id,new Handle(v[0].value),!v[1]?null:v[1].map(function(p){return new Handle(p.value);}));},2265737646:function _(id,v){return new IFC2X3.IfcAnnotationFillAreaOccurrence(id,!v[0]?null:new Handle(v[0].value),v[1].map(function(p){return new Handle(p.value);}),!v[2]?null:new IFC2X3.IfcLabel(v[2].value),!v[3]?null:new Handle(v[3].value),v[4]);},1302238472:function _(id,v){return new IFC2X3.IfcAnnotationSurface(id,new Handle(v[0].value),!v[1]?null:new Handle(v[1].value));},4261334040:function _(id,v){return new IFC2X3.IfcAxis1Placement(id,new Handle(v[0].value),!v[1]?null:new Handle(v[1].value));},3125803723:function _(id,v){return new IFC2X3.IfcAxis2Placement2D(id,new Handle(v[0].value),!v[1]?null:new Handle(v[1].value));},2740243338:function _(id,v){return new IFC2X3.IfcAxis2Placement3D(id,new Handle(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new Handle(v[2].value));},2736907675:function _(id,v){return new IFC2X3.IfcBooleanResult(id,v[0],new Handle(v[1].value),new Handle(v[2].value));},4182860854:function _(id,_13){return new IFC2X3.IfcBoundedSurface(id);},2581212453:function _(id,v){return new IFC2X3.IfcBoundingBox(id,new Handle(v[0].value),new IFC2X3.IfcPositiveLengthMeasure(v[1].value),new IFC2X3.IfcPositiveLengthMeasure(v[2].value),new IFC2X3.IfcPositiveLengthMeasure(v[3].value));},2713105998:function _(id,v){return new IFC2X3.IfcBoxedHalfSpace(id,new Handle(v[0].value),v[1].value,new Handle(v[2].value));},2898889636:function _(id,v){return new IFC2X3.IfcCShapeProfileDef(id,v[0],!v[1]?null:new IFC2X3.IfcLabel(v[1].value),new Handle(v[2].value),new IFC2X3.IfcPositiveLengthMeasure(v[3].value),new IFC2X3.IfcPositiveLengthMeasure(v[4].value),new IFC2X3.IfcPositiveLengthMeasure(v[5].value),new IFC2X3.IfcPositiveLengthMeasure(v[6].value),!v[7]?null:new IFC2X3.IfcPositiveLengthMeasure(v[7].value),!v[8]?null:new IFC2X3.IfcPositiveLengthMeasure(v[8].value));},1123145078:function _(id,v){return new IFC2X3.IfcCartesianPoint(id,v[0].map(function(p){return new IFC2X3.IfcLengthMeasure(p.value);}));},59481748:function _(id,v){return new IFC2X3.IfcCartesianTransformationOperator(id,!v[0]?null:new Handle(v[0].value),!v[1]?null:new Handle(v[1].value),new Handle(v[2].value),!v[3]?null:v[3].value);},3749851601:function _(id,v){return new IFC2X3.IfcCartesianTransformationOperator2D(id,!v[0]?null:new Handle(v[0].value),!v[1]?null:new Handle(v[1].value),new Handle(v[2].value),!v[3]?null:v[3].value);},3486308946:function _(id,v){return new IFC2X3.IfcCartesianTransformationOperator2DnonUniform(id,!v[0]?null:new Handle(v[0].value),!v[1]?null:new Handle(v[1].value),new Handle(v[2].value),!v[3]?null:v[3].value,!v[4]?null:v[4].value);},3331915920:function _(id,v){return new IFC2X3.IfcCartesianTransformationOperator3D(id,!v[0]?null:new Handle(v[0].value),!v[1]?null:new Handle(v[1].value),new Handle(v[2].value),!v[3]?null:v[3].value,!v[4]?null:new Handle(v[4].value));},1416205885:function _(id,v){return new IFC2X3.IfcCartesianTransformationOperator3DnonUniform(id,!v[0]?null:new Handle(v[0].value),!v[1]?null:new Handle(v[1].value),new Handle(v[2].value),!v[3]?null:v[3].value,!v[4]?null:new Handle(v[4].value),!v[5]?null:v[5].value,!v[6]?null:v[6].value);},1383045692:function _(id,v){return new IFC2X3.IfcCircleProfileDef(id,v[0],!v[1]?null:new IFC2X3.IfcLabel(v[1].value),new Handle(v[2].value),new IFC2X3.IfcPositiveLengthMeasure(v[3].value));},2205249479:function _(id,v){return new IFC2X3.IfcClosedShell(id,v[0].map(function(p){return new Handle(p.value);}));},2485617015:function _(id,v){return new IFC2X3.IfcCompositeCurveSegment(id,v[0],v[1].value,new Handle(v[2].value));},4133800736:function _(id,v){return new IFC2X3.IfcCraneRailAShapeProfileDef(id,v[0],!v[1]?null:new IFC2X3.IfcLabel(v[1].value),new Handle(v[2].value),new IFC2X3.IfcPositiveLengthMeasure(v[3].value),new IFC2X3.IfcPositiveLengthMeasure(v[4].value),!v[5]?null:new IFC2X3.IfcPositiveLengthMeasure(v[5].value),new IFC2X3.IfcPositiveLengthMeasure(v[6].value),new IFC2X3.IfcPositiveLengthMeasure(v[7].value),new IFC2X3.IfcPositiveLengthMeasure(v[8].value),new IFC2X3.IfcPositiveLengthMeasure(v[9].value),new IFC2X3.IfcPositiveLengthMeasure(v[10].value),new IFC2X3.IfcPositiveLengthMeasure(v[11].value),new IFC2X3.IfcPositiveLengthMeasure(v[12].value),new IFC2X3.IfcPositiveLengthMeasure(v[13].value),!v[14]?null:new IFC2X3.IfcPositiveLengthMeasure(v[14].value));},194851669:function _(id,v){return new IFC2X3.IfcCraneRailFShapeProfileDef(id,v[0],!v[1]?null:new IFC2X3.IfcLabel(v[1].value),new Handle(v[2].value),new IFC2X3.IfcPositiveLengthMeasure(v[3].value),new IFC2X3.IfcPositiveLengthMeasure(v[4].value),!v[5]?null:new IFC2X3.IfcPositiveLengthMeasure(v[5].value),new IFC2X3.IfcPositiveLengthMeasure(v[6].value),new IFC2X3.IfcPositiveLengthMeasure(v[7].value),new IFC2X3.IfcPositiveLengthMeasure(v[8].value),new IFC2X3.IfcPositiveLengthMeasure(v[9].value),new IFC2X3.IfcPositiveLengthMeasure(v[10].value),!v[11]?null:new IFC2X3.IfcPositiveLengthMeasure(v[11].value));},2506170314:function _(id,v){return new IFC2X3.IfcCsgPrimitive3D(id,new Handle(v[0].value));},2147822146:function _(id,v){return new IFC2X3.IfcCsgSolid(id,new Handle(v[0].value));},2601014836:function _(id,_14){return new IFC2X3.IfcCurve(id);},2827736869:function _(id,v){return new IFC2X3.IfcCurveBoundedPlane(id,new Handle(v[0].value),new Handle(v[1].value),!v[2]?null:v[2].map(function(p){return new Handle(p.value);}));},693772133:function _(id,v){return new IFC2X3.IfcDefinedSymbol(id,new Handle(v[0].value),new Handle(v[1].value));},606661476:function _(id,v){return new IFC2X3.IfcDimensionCurve(id,!v[0]?null:new Handle(v[0].value),v[1].map(function(p){return new Handle(p.value);}),!v[2]?null:new IFC2X3.IfcLabel(v[2].value));},4054601972:function _(id,v){return new IFC2X3.IfcDimensionCurveTerminator(id,!v[0]?null:new Handle(v[0].value),v[1].map(function(p){return new Handle(p.value);}),!v[2]?null:new IFC2X3.IfcLabel(v[2].value),new Handle(v[3].value),v[4]);},32440307:function _(id,v){return new IFC2X3.IfcDirection(id,v[0].map(function(p){return p.value;}));},2963535650:function _(id,v){return new IFC2X3.IfcDoorLiningProperties(id,new IFC2X3.IfcGloballyUniqueId(v[0].value),new Handle(v[1].value),!v[2]?null:new IFC2X3.IfcLabel(v[2].value),!v[3]?null:new IFC2X3.IfcText(v[3].value),!v[4]?null:new IFC2X3.IfcPositiveLengthMeasure(v[4].value),!v[5]?null:new IFC2X3.IfcPositiveLengthMeasure(v[5].value),!v[6]?null:new IFC2X3.IfcPositiveLengthMeasure(v[6].value),!v[7]?null:new IFC2X3.IfcPositiveLengthMeasure(v[7].value),!v[8]?null:new IFC2X3.IfcPositiveLengthMeasure(v[8].value),!v[9]?null:new IFC2X3.IfcLengthMeasure(v[9].value),!v[10]?null:new IFC2X3.IfcLengthMeasure(v[10].value),!v[11]?null:new IFC2X3.IfcLengthMeasure(v[11].value),!v[12]?null:new IFC2X3.IfcPositiveLengthMeasure(v[12].value),!v[13]?null:new IFC2X3.IfcPositiveLengthMeasure(v[13].value),!v[14]?null:new Handle(v[14].value));},1714330368:function _(id,v){return new IFC2X3.IfcDoorPanelProperties(id,new IFC2X3.IfcGloballyUniqueId(v[0].value),new Handle(v[1].value),!v[2]?null:new IFC2X3.IfcLabel(v[2].value),!v[3]?null:new IFC2X3.IfcText(v[3].value),!v[4]?null:new IFC2X3.IfcPositiveLengthMeasure(v[4].value),v[5],!v[6]?null:new IFC2X3.IfcNormalisedRatioMeasure(v[6].value),v[7],!v[8]?null:new Handle(v[8].value));},526551008:function _(id,v){return new IFC2X3.IfcDoorStyle(id,new IFC2X3.IfcGloballyUniqueId(v[0].value),new Handle(v[1].value),!v[2]?null:new IFC2X3.IfcLabel(v[2].value),!v[3]?null:new IFC2X3.IfcText(v[3].value),!v[4]?null:new IFC2X3.IfcLabel(v[4].value),!v[5]?null:v[5].map(function(p){return new Handle(p.value);}),!v[6]?null:v[6].map(function(p){return new Handle(p.value);}),!v[7]?null:new IFC2X3.IfcLabel(v[7].value),v[8],v[9],v[10].value,v[11].value);},3073041342:function _(id,v){return new IFC2X3.IfcDraughtingCallout(id,v[0].map(function(p){return new Handle(p.value);}));},445594917:function _(id,v){return new IFC2X3.IfcDraughtingPreDefinedColour(id,new IFC2X3.IfcLabel(v[0].value));},4006246654:function _(id,v){return new IFC2X3.IfcDraughtingPreDefinedCurveFont(id,new IFC2X3.IfcLabel(v[0].value));},1472233963:function _(id,v){return new IFC2X3.IfcEdgeLoop(id,v[0].map(function(p){return new Handle(p.value);}));},1883228015:function _(id,v){return new IFC2X3.IfcElementQuantity(id,new IFC2X3.IfcGloballyUniqueId(v[0].value),new Handle(v[1].value),!v[2]?null:new IFC2X3.IfcLabel(v[2].value),!v[3]?null:new IFC2X3.IfcText(v[3].value),!v[4]?null:new IFC2X3.IfcLabel(v[4].value),v[5].map(function(p){return new Handle(p.value);}));},339256511:function _(id,v){return new IFC2X3.IfcElementType(id,new IFC2X3.IfcGloballyUniqueId(v[0].value),new Handle(v[1].value),!v[2]?null:new IFC2X3.IfcLabel(v[2].value),!v[3]?null:new IFC2X3.IfcText(v[3].value),!v[4]?null:new IFC2X3.IfcLabel(v[4].value),!v[5]?null:v[5].map(function(p){return new Handle(p.value);}),!v[6]?null:v[6].map(function(p){return new Handle(p.value);}),!v[7]?null:new IFC2X3.IfcLabel(v[7].value),!v[8]?null:new IFC2X3.IfcLabel(v[8].value));},2777663545:function _(id,v){return new IFC2X3.IfcElementarySurface(id,new Handle(v[0].value));},2835456948:function _(id,v){return new IFC2X3.IfcEllipseProfileDef(id,v[0],!v[1]?null:new IFC2X3.IfcLabel(v[1].value),new Handle(v[2].value),new IFC2X3.IfcPositiveLengthMeasure(v[3].value),new IFC2X3.IfcPositiveLengthMeasure(v[4].value));},80994333:function _(id,v){return new IFC2X3.IfcEnergyProperties(id,new IFC2X3.IfcGloballyUniqueId(v[0].value),new Handle(v[1].value),!v[2]?null:new IFC2X3.IfcLabel(v[2].value),!v[3]?null:new IFC2X3.IfcText(v[3].value),v[4],!v[5]?null:new IFC2X3.IfcLabel(v[5].value));},477187591:function _(id,v){return new IFC2X3.IfcExtrudedAreaSolid(id,new Handle(v[0].value),new Handle(v[1].value),new Handle(v[2].value),new IFC2X3.IfcPositiveLengthMeasure(v[3].value));},2047409740:function _(id,v){return new IFC2X3.IfcFaceBasedSurfaceModel(id,v[0].map(function(p){return new Handle(p.value);}));},374418227:function _(id,v){return new IFC2X3.IfcFillAreaStyleHatching(id,new Handle(v[0].value),new Handle(v[1].value),!v[2]?null:new Handle(v[2].value),!v[3]?null:new Handle(v[3].value),new IFC2X3.IfcPlaneAngleMeasure(v[4].value));},4203026998:function _(id,v){return new IFC2X3.IfcFillAreaStyleTileSymbolWithStyle(id,new Handle(v[0].value));},315944413:function _(id,v){return new IFC2X3.IfcFillAreaStyleTiles(id,new Handle(v[0].value),v[1].map(function(p){return new Handle(p.value);}),new IFC2X3.IfcPositiveRatioMeasure(v[2].value));},3455213021:function _(id,v){return new IFC2X3.IfcFluidFlowProperties(id,new IFC2X3.IfcGloballyUniqueId(v[0].value),new Handle(v[1].value),!v[2]?null:new IFC2X3.IfcLabel(v[2].value),!v[3]?null:new IFC2X3.IfcText(v[3].value),v[4],!v[5]?null:new Handle(v[5].value),!v[6]?null:new Handle(v[6].value),!v[7]?null:new Handle(v[7].value),new Handle(v[8].value),!v[9]?null:new Handle(v[9].value),!v[10]?null:new IFC2X3.IfcLabel(v[10].value),!v[11]?null:new IFC2X3.IfcThermodynamicTemperatureMeasure(v[11].value),!v[12]?null:new IFC2X3.IfcThermodynamicTemperatureMeasure(v[12].value),!v[13]?null:new Handle(v[13].value),!v[14]?null:new Handle(v[14].value),!v[15]?null:TypeInitialiser(1,v[15]),!v[16]?null:new IFC2X3.IfcPositiveRatioMeasure(v[16].value),!v[17]?null:new IFC2X3.IfcLinearVelocityMeasure(v[17].value),!v[18]?null:new IFC2X3.IfcPressureMeasure(v[18].value));},4238390223:function _(id,v){return new IFC2X3.IfcFurnishingElementType(id,new IFC2X3.IfcGloballyUniqueId(v[0].value),new Handle(v[1].value),!v[2]?null:new IFC2X3.IfcLabel(v[2].value),!v[3]?null:new IFC2X3.IfcText(v[3].value),!v[4]?null:new IFC2X3.IfcLabel(v[4].value),!v[5]?null:v[5].map(function(p){return new Handle(p.value);}),!v[6]?null:v[6].map(function(p){return new Handle(p.value);}),!v[7]?null:new IFC2X3.IfcLabel(v[7].value),!v[8]?null:new IFC2X3.IfcLabel(v[8].value));},1268542332:function _(id,v){return new IFC2X3.IfcFurnitureType(id,new IFC2X3.IfcGloballyUniqueId(v[0].value),new Handle(v[1].value),!v[2]?null:new IFC2X3.IfcLabel(v[2].value),!v[3]?null:new IFC2X3.IfcText(v[3].value),!v[4]?null:new IFC2X3.IfcLabel(v[4].value),!v[5]?null:v[5].map(function(p){return new Handle(p.value);}),!v[6]?null:v[6].map(function(p){return new Handle(p.value);}),!v[7]?null:new IFC2X3.IfcLabel(v[7].value),!v[8]?null:new IFC2X3.IfcLabel(v[8].value),v[9]);},987898635:function _(id,v){return new IFC2X3.IfcGeometricCurveSet(id,v[0].map(function(p){return new Handle(p.value);}));},1484403080:function _(id,v){return new IFC2X3.IfcIShapeProfileDef(id,v[0],!v[1]?null:new IFC2X3.IfcLabel(v[1].value),new Handle(v[2].value),new IFC2X3.IfcPositiveLengthMeasure(v[3].value),new IFC2X3.IfcPositiveLengthMeasure(v[4].value),new IFC2X3.IfcPositiveLengthMeasure(v[5].value),new IFC2X3.IfcPositiveLengthMeasure(v[6].value),!v[7]?null:new IFC2X3.IfcPositiveLengthMeasure(v[7].value));},572779678:function _(id,v){return new IFC2X3.IfcLShapeProfileDef(id,v[0],!v[1]?null:new IFC2X3.IfcLabel(v[1].value),new Handle(v[2].value),new IFC2X3.IfcPositiveLengthMeasure(v[3].value),!v[4]?null:new IFC2X3.IfcPositiveLengthMeasure(v[4].value),new IFC2X3.IfcPositiveLengthMeasure(v[5].value),!v[6]?null:new IFC2X3.IfcPositiveLengthMeasure(v[6].value),!v[7]?null:new IFC2X3.IfcPositiveLengthMeasure(v[7].value),!v[8]?null:new IFC2X3.IfcPlaneAngleMeasure(v[8].value),!v[9]?null:new IFC2X3.IfcPositiveLengthMeasure(v[9].value),!v[10]?null:new IFC2X3.IfcPositiveLengthMeasure(v[10].value));},1281925730:function _(id,v){return new IFC2X3.IfcLine(id,new Handle(v[0].value),new Handle(v[1].value));},1425443689:function _(id,v){return new IFC2X3.IfcManifoldSolidBrep(id,new Handle(v[0].value));},3888040117:function _(id,v){return new IFC2X3.IfcObject(id,new IFC2X3.IfcGloballyUniqueId(v[0].value),new Handle(v[1].value),!v[2]?null:new IFC2X3.IfcLabel(v[2].value),!v[3]?null:new IFC2X3.IfcText(v[3].value),!v[4]?null:new IFC2X3.IfcLabel(v[4].value));},3388369263:function _(id,v){return new IFC2X3.IfcOffsetCurve2D(id,new Handle(v[0].value),new IFC2X3.IfcLengthMeasure(v[1].value),v[2].value);},3505215534:function _(id,v){return new IFC2X3.IfcOffsetCurve3D(id,new Handle(v[0].value),new IFC2X3.IfcLengthMeasure(v[1].value),v[2].value,new Handle(v[3].value));},3566463478:function _(id,v){return new IFC2X3.IfcPermeableCoveringProperties(id,new IFC2X3.IfcGloballyUniqueId(v[0].value),new Handle(v[1].value),!v[2]?null:new IFC2X3.IfcLabel(v[2].value),!v[3]?null:new IFC2X3.IfcText(v[3].value),v[4],v[5],!v[6]?null:new IFC2X3.IfcPositiveLengthMeasure(v[6].value),!v[7]?null:new IFC2X3.IfcPositiveLengthMeasure(v[7].value),!v[8]?null:new Handle(v[8].value));},603570806:function _(id,v){return new IFC2X3.IfcPlanarBox(id,new IFC2X3.IfcLengthMeasure(v[0].value),new IFC2X3.IfcLengthMeasure(v[1].value),new Handle(v[2].value));},220341763:function _(id,v){return new IFC2X3.IfcPlane(id,new Handle(v[0].value));},2945172077:function _(id,v){return new IFC2X3.IfcProcess(id,new IFC2X3.IfcGloballyUniqueId(v[0].value),new Handle(v[1].value),!v[2]?null:new IFC2X3.IfcLabel(v[2].value),!v[3]?null:new IFC2X3.IfcText(v[3].value),!v[4]?null:new IFC2X3.IfcLabel(v[4].value));},4208778838:function _(id,v){return new IFC2X3.IfcProduct(id,new IFC2X3.IfcGloballyUniqueId(v[0].value),new Handle(v[1].value),!v[2]?null:new IFC2X3.IfcLabel(v[2].value),!v[3]?null:new IFC2X3.IfcText(v[3].value),!v[4]?null:new IFC2X3.IfcLabel(v[4].value),!v[5]?null:new Handle(v[5].value),!v[6]?null:new Handle(v[6].value));},103090709:function _(id,v){return new IFC2X3.IfcProject(id,new IFC2X3.IfcGloballyUniqueId(v[0].value),new Handle(v[1].value),!v[2]?null:new IFC2X3.IfcLabel(v[2].value),!v[3]?null:new IFC2X3.IfcText(v[3].value),!v[4]?null:new IFC2X3.IfcLabel(v[4].value),!v[5]?null:new IFC2X3.IfcLabel(v[5].value),!v[6]?null:new IFC2X3.IfcLabel(v[6].value),v[7].map(function(p){return new Handle(p.value);}),new Handle(v[8].value));},4194566429:function _(id,v){return new IFC2X3.IfcProjectionCurve(id,!v[0]?null:new Handle(v[0].value),v[1].map(function(p){return new Handle(p.value);}),!v[2]?null:new IFC2X3.IfcLabel(v[2].value));},1451395588:function _(id,v){return new IFC2X3.IfcPropertySet(id,new IFC2X3.IfcGloballyUniqueId(v[0].value),new Handle(v[1].value),!v[2]?null:new IFC2X3.IfcLabel(v[2].value),!v[3]?null:new IFC2X3.IfcText(v[3].value),v[4].map(function(p){return new Handle(p.value);}));},3219374653:function _(id,v){return new IFC2X3.IfcProxy(id,new IFC2X3.IfcGloballyUniqueId(v[0].value),new Handle(v[1].value),!v[2]?null:new IFC2X3.IfcLabel(v[2].value),!v[3]?null:new IFC2X3.IfcText(v[3].value),!v[4]?null:new IFC2X3.IfcLabel(v[4].value),!v[5]?null:new Handle(v[5].value),!v[6]?null:new Handle(v[6].value),v[7],!v[8]?null:new IFC2X3.IfcLabel(v[8].value));},2770003689:function _(id,v){return new IFC2X3.IfcRectangleHollowProfileDef(id,v[0],!v[1]?null:new IFC2X3.IfcLabel(v[1].value),new Handle(v[2].value),new IFC2X3.IfcPositiveLengthMeasure(v[3].value),new IFC2X3.IfcPositiveLengthMeasure(v[4].value),new IFC2X3.IfcPositiveLengthMeasure(v[5].value),!v[6]?null:new IFC2X3.IfcPositiveLengthMeasure(v[6].value),!v[7]?null:new IFC2X3.IfcPositiveLengthMeasure(v[7].value));},2798486643:function _(id,v){return new IFC2X3.IfcRectangularPyramid(id,new Handle(v[0].value),new IFC2X3.IfcPositiveLengthMeasure(v[1].value),new IFC2X3.IfcPositiveLengthMeasure(v[2].value),new IFC2X3.IfcPositiveLengthMeasure(v[3].value));},3454111270:function _(id,v){return new IFC2X3.IfcRectangularTrimmedSurface(id,new Handle(v[0].value),new IFC2X3.IfcParameterValue(v[1].value),new IFC2X3.IfcParameterValue(v[2].value),new IFC2X3.IfcParameterValue(v[3].value),new IFC2X3.IfcParameterValue(v[4].value),v[5].value,v[6].value);},3939117080:function _(id,v){return new IFC2X3.IfcRelAssigns(id,new IFC2X3.IfcGloballyUniqueId(v[0].value),new Handle(v[1].value),!v[2]?null:new IFC2X3.IfcLabel(v[2].value),!v[3]?null:new IFC2X3.IfcText(v[3].value),v[4].map(function(p){return new Handle(p.value);}),v[5]);},1683148259:function _(id,v){return new IFC2X3.IfcRelAssignsToActor(id,new IFC2X3.IfcGloballyUniqueId(v[0].value),new Handle(v[1].value),!v[2]?null:new IFC2X3.IfcLabel(v[2].value),!v[3]?null:new IFC2X3.IfcText(v[3].value),v[4].map(function(p){return new Handle(p.value);}),v[5],new Handle(v[6].value),!v[7]?null:new Handle(v[7].value));},2495723537:function _(id,v){return new IFC2X3.IfcRelAssignsToControl(id,new IFC2X3.IfcGloballyUniqueId(v[0].value),new Handle(v[1].value),!v[2]?null:new IFC2X3.IfcLabel(v[2].value),!v[3]?null:new IFC2X3.IfcText(v[3].value),v[4].map(function(p){return new Handle(p.value);}),v[5],new Handle(v[6].value));},1307041759:function _(id,v){return new IFC2X3.IfcRelAssignsToGroup(id,new IFC2X3.IfcGloballyUniqueId(v[0].value),new Handle(v[1].value),!v[2]?null:new IFC2X3.IfcLabel(v[2].value),!v[3]?null:new IFC2X3.IfcText(v[3].value),v[4].map(function(p){return new Handle(p.value);}),v[5],new Handle(v[6].value));},4278684876:function _(id,v){return new IFC2X3.IfcRelAssignsToProcess(id,new IFC2X3.IfcGloballyUniqueId(v[0].value),new Handle(v[1].value),!v[2]?null:new IFC2X3.IfcLabel(v[2].value),!v[3]?null:new IFC2X3.IfcText(v[3].value),v[4].map(function(p){return new Handle(p.value);}),v[5],new Handle(v[6].value),!v[7]?null:new Handle(v[7].value));},2857406711:function _(id,v){return new IFC2X3.IfcRelAssignsToProduct(id,new IFC2X3.IfcGloballyUniqueId(v[0].value),new Handle(v[1].value),!v[2]?null:new IFC2X3.IfcLabel(v[2].value),!v[3]?null:new IFC2X3.IfcText(v[3].value),v[4].map(function(p){return new Handle(p.value);}),v[5],new Handle(v[6].value));},3372526763:function _(id,v){return new IFC2X3.IfcRelAssignsToProjectOrder(id,new IFC2X3.IfcGloballyUniqueId(v[0].value),new Handle(v[1].value),!v[2]?null:new IFC2X3.IfcLabel(v[2].value),!v[3]?null:new IFC2X3.IfcText(v[3].value),v[4].map(function(p){return new Handle(p.value);}),v[5],new Handle(v[6].value));},205026976:function _(id,v){return new IFC2X3.IfcRelAssignsToResource(id,new IFC2X3.IfcGloballyUniqueId(v[0].value),new Handle(v[1].value),!v[2]?null:new IFC2X3.IfcLabel(v[2].value),!v[3]?null:new IFC2X3.IfcText(v[3].value),v[4].map(function(p){return new Handle(p.value);}),v[5],new Handle(v[6].value));},1865459582:function _(id,v){return new IFC2X3.IfcRelAssociates(id,new IFC2X3.IfcGloballyUniqueId(v[0].value),new Handle(v[1].value),!v[2]?null:new IFC2X3.IfcLabel(v[2].value),!v[3]?null:new IFC2X3.IfcText(v[3].value),v[4].map(function(p){return new Handle(p.value);}));},1327628568:function _(id,v){return new IFC2X3.IfcRelAssociatesAppliedValue(id,new IFC2X3.IfcGloballyUniqueId(v[0].value),new Handle(v[1].value),!v[2]?null:new IFC2X3.IfcLabel(v[2].value),!v[3]?null:new IFC2X3.IfcText(v[3].value),v[4].map(function(p){return new Handle(p.value);}),new Handle(v[5].value));},4095574036:function _(id,v){return new IFC2X3.IfcRelAssociatesApproval(id,new IFC2X3.IfcGloballyUniqueId(v[0].value),new Handle(v[1].value),!v[2]?null:new IFC2X3.IfcLabel(v[2].value),!v[3]?null:new IFC2X3.IfcText(v[3].value),v[4].map(function(p){return new Handle(p.value);}),new Handle(v[5].value));},919958153:function _(id,v){return new IFC2X3.IfcRelAssociatesClassification(id,new IFC2X3.IfcGloballyUniqueId(v[0].value),new Handle(v[1].value),!v[2]?null:new IFC2X3.IfcLabel(v[2].value),!v[3]?null:new IFC2X3.IfcText(v[3].value),v[4].map(function(p){return new Handle(p.value);}),new Handle(v[5].value));},2728634034:function _(id,v){return new IFC2X3.IfcRelAssociatesConstraint(id,new IFC2X3.IfcGloballyUniqueId(v[0].value),new Handle(v[1].value),!v[2]?null:new IFC2X3.IfcLabel(v[2].value),!v[3]?null:new IFC2X3.IfcText(v[3].value),v[4].map(function(p){return new Handle(p.value);}),new IFC2X3.IfcLabel(v[5].value),new Handle(v[6].value));},982818633:function _(id,v){return new IFC2X3.IfcRelAssociatesDocument(id,new IFC2X3.IfcGloballyUniqueId(v[0].value),new Handle(v[1].value),!v[2]?null:new IFC2X3.IfcLabel(v[2].value),!v[3]?null:new IFC2X3.IfcText(v[3].value),v[4].map(function(p){return new Handle(p.value);}),new Handle(v[5].value));},3840914261:function _(id,v){return new IFC2X3.IfcRelAssociatesLibrary(id,new IFC2X3.IfcGloballyUniqueId(v[0].value),new Handle(v[1].value),!v[2]?null:new IFC2X3.IfcLabel(v[2].value),!v[3]?null:new IFC2X3.IfcText(v[3].value),v[4].map(function(p){return new Handle(p.value);}),new Handle(v[5].value));},2655215786:function _(id,v){return new IFC2X3.IfcRelAssociatesMaterial(id,new IFC2X3.IfcGloballyUniqueId(v[0].value),new Handle(v[1].value),!v[2]?null:new IFC2X3.IfcLabel(v[2].value),!v[3]?null:new IFC2X3.IfcText(v[3].value),v[4].map(function(p){return new Handle(p.value);}),new Handle(v[5].value));},2851387026:function _(id,v){return new IFC2X3.IfcRelAssociatesProfileProperties(id,new IFC2X3.IfcGloballyUniqueId(v[0].value),new Handle(v[1].value),!v[2]?null:new IFC2X3.IfcLabel(v[2].value),!v[3]?null:new IFC2X3.IfcText(v[3].value),v[4].map(function(p){return new Handle(p.value);}),new Handle(v[5].value),!v[6]?null:new Handle(v[6].value),!v[7]?null:new Handle(v[7].value));},826625072:function _(id,v){return new IFC2X3.IfcRelConnects(id,new IFC2X3.IfcGloballyUniqueId(v[0].value),new Handle(v[1].value),!v[2]?null:new IFC2X3.IfcLabel(v[2].value),!v[3]?null:new IFC2X3.IfcText(v[3].value));},1204542856:function _(id,v){return new IFC2X3.IfcRelConnectsElements(id,new IFC2X3.IfcGloballyUniqueId(v[0].value),new Handle(v[1].value),!v[2]?null:new IFC2X3.IfcLabel(v[2].value),!v[3]?null:new IFC2X3.IfcText(v[3].value),!v[4]?null:new Handle(v[4].value),new Handle(v[5].value),new Handle(v[6].value));},3945020480:function _(id,v){return new IFC2X3.IfcRelConnectsPathElements(id,new IFC2X3.IfcGloballyUniqueId(v[0].value),new Handle(v[1].value),!v[2]?null:new IFC2X3.IfcLabel(v[2].value),!v[3]?null:new IFC2X3.IfcText(v[3].value),!v[4]?null:new Handle(v[4].value),new Handle(v[5].value),new Handle(v[6].value),v[7].map(function(p){return p.value;}),v[8].map(function(p){return p.value;}),v[9],v[10]);},4201705270:function _(id,v){return new IFC2X3.IfcRelConnectsPortToElement(id,new IFC2X3.IfcGloballyUniqueId(v[0].value),new Handle(v[1].value),!v[2]?null:new IFC2X3.IfcLabel(v[2].value),!v[3]?null:new IFC2X3.IfcText(v[3].value),new Handle(v[4].value),new Handle(v[5].value));},3190031847:function _(id,v){return new IFC2X3.IfcRelConnectsPorts(id,new IFC2X3.IfcGloballyUniqueId(v[0].value),new Handle(v[1].value),!v[2]?null:new IFC2X3.IfcLabel(v[2].value),!v[3]?null:new IFC2X3.IfcText(v[3].value),new Handle(v[4].value),new Handle(v[5].value),!v[6]?null:new Handle(v[6].value));},2127690289:function _(id,v){return new IFC2X3.IfcRelConnectsStructuralActivity(id,new IFC2X3.IfcGloballyUniqueId(v[0].value),new Handle(v[1].value),!v[2]?null:new IFC2X3.IfcLabel(v[2].value),!v[3]?null:new IFC2X3.IfcText(v[3].value),new Handle(v[4].value),new Handle(v[5].value));},3912681535:function _(id,v){return new IFC2X3.IfcRelConnectsStructuralElement(id,new IFC2X3.IfcGloballyUniqueId(v[0].value),new Handle(v[1].value),!v[2]?null:new IFC2X3.IfcLabel(v[2].value),!v[3]?null:new IFC2X3.IfcText(v[3].value),new Handle(v[4].value),new Handle(v[5].value));},1638771189:function _(id,v){return new IFC2X3.IfcRelConnectsStructuralMember(id,new IFC2X3.IfcGloballyUniqueId(v[0].value),new Handle(v[1].value),!v[2]?null:new IFC2X3.IfcLabel(v[2].value),!v[3]?null:new IFC2X3.IfcText(v[3].value),new Handle(v[4].value),new Handle(v[5].value),!v[6]?null:new Handle(v[6].value),!v[7]?null:new Handle(v[7].value),!v[8]?null:new IFC2X3.IfcLengthMeasure(v[8].value),!v[9]?null:new Handle(v[9].value));},504942748:function _(id,v){return new IFC2X3.IfcRelConnectsWithEccentricity(id,new IFC2X3.IfcGloballyUniqueId(v[0].value),new Handle(v[1].value),!v[2]?null:new IFC2X3.IfcLabel(v[2].value),!v[3]?null:new IFC2X3.IfcText(v[3].value),new Handle(v[4].value),new Handle(v[5].value),!v[6]?null:new Handle(v[6].value),!v[7]?null:new Handle(v[7].value),!v[8]?null:new IFC2X3.IfcLengthMeasure(v[8].value),!v[9]?null:new Handle(v[9].value),new Handle(v[10].value));},3678494232:function _(id,v){return new IFC2X3.IfcRelConnectsWithRealizingElements(id,new IFC2X3.IfcGloballyUniqueId(v[0].value),new Handle(v[1].value),!v[2]?null:new IFC2X3.IfcLabel(v[2].value),!v[3]?null:new IFC2X3.IfcText(v[3].value),!v[4]?null:new Handle(v[4].value),new Handle(v[5].value),new Handle(v[6].value),v[7].map(function(p){return new Handle(p.value);}),!v[8]?null:new IFC2X3.IfcLabel(v[8].value));},3242617779:function _(id,v){return new IFC2X3.IfcRelContainedInSpatialStructure(id,new IFC2X3.IfcGloballyUniqueId(v[0].value),new Handle(v[1].value),!v[2]?null:new IFC2X3.IfcLabel(v[2].value),!v[3]?null:new IFC2X3.IfcText(v[3].value),v[4].map(function(p){return new Handle(p.value);}),new Handle(v[5].value));},886880790:function _(id,v){return new IFC2X3.IfcRelCoversBldgElements(id,new IFC2X3.IfcGloballyUniqueId(v[0].value),new Handle(v[1].value),!v[2]?null:new IFC2X3.IfcLabel(v[2].value),!v[3]?null:new IFC2X3.IfcText(v[3].value),new Handle(v[4].value),v[5].map(function(p){return new Handle(p.value);}));},2802773753:function _(id,v){return new IFC2X3.IfcRelCoversSpaces(id,new IFC2X3.IfcGloballyUniqueId(v[0].value),new Handle(v[1].value),!v[2]?null:new IFC2X3.IfcLabel(v[2].value),!v[3]?null:new IFC2X3.IfcText(v[3].value),new Handle(v[4].value),v[5].map(function(p){return new Handle(p.value);}));},2551354335:function _(id,v){return new IFC2X3.IfcRelDecomposes(id,new IFC2X3.IfcGloballyUniqueId(v[0].value),new Handle(v[1].value),!v[2]?null:new IFC2X3.IfcLabel(v[2].value),!v[3]?null:new IFC2X3.IfcText(v[3].value),new Handle(v[4].value),v[5].map(function(p){return new Handle(p.value);}));},693640335:function _(id,v){return new IFC2X3.IfcRelDefines(id,new IFC2X3.IfcGloballyUniqueId(v[0].value),new Handle(v[1].value),!v[2]?null:new IFC2X3.IfcLabel(v[2].value),!v[3]?null:new IFC2X3.IfcText(v[3].value),v[4].map(function(p){return new Handle(p.value);}));},4186316022:function _(id,v){return new IFC2X3.IfcRelDefinesByProperties(id,new IFC2X3.IfcGloballyUniqueId(v[0].value),new Handle(v[1].value),!v[2]?null:new IFC2X3.IfcLabel(v[2].value),!v[3]?null:new IFC2X3.IfcText(v[3].value),v[4].map(function(p){return new Handle(p.value);}),new Handle(v[5].value));},781010003:function _(id,v){return new IFC2X3.IfcRelDefinesByType(id,new IFC2X3.IfcGloballyUniqueId(v[0].value),new Handle(v[1].value),!v[2]?null:new IFC2X3.IfcLabel(v[2].value),!v[3]?null:new IFC2X3.IfcText(v[3].value),v[4].map(function(p){return new Handle(p.value);}),new Handle(v[5].value));},3940055652:function _(id,v){return new IFC2X3.IfcRelFillsElement(id,new IFC2X3.IfcGloballyUniqueId(v[0].value),new Handle(v[1].value),!v[2]?null:new IFC2X3.IfcLabel(v[2].value),!v[3]?null:new IFC2X3.IfcText(v[3].value),new Handle(v[4].value),new Handle(v[5].value));},279856033:function _(id,v){return new IFC2X3.IfcRelFlowControlElements(id,new IFC2X3.IfcGloballyUniqueId(v[0].value),new Handle(v[1].value),!v[2]?null:new IFC2X3.IfcLabel(v[2].value),!v[3]?null:new IFC2X3.IfcText(v[3].value),v[4].map(function(p){return new Handle(p.value);}),new Handle(v[5].value));},4189434867:function _(id,v){return new IFC2X3.IfcRelInteractionRequirements(id,new IFC2X3.IfcGloballyUniqueId(v[0].value),new Handle(v[1].value),!v[2]?null:new IFC2X3.IfcLabel(v[2].value),!v[3]?null:new IFC2X3.IfcText(v[3].value),!v[4]?null:new IFC2X3.IfcCountMeasure(v[4].value),!v[5]?null:new IFC2X3.IfcNormalisedRatioMeasure(v[5].value),!v[6]?null:new Handle(v[6].value),new Handle(v[7].value),new Handle(v[8].value));},3268803585:function _(id,v){return new IFC2X3.IfcRelNests(id,new IFC2X3.IfcGloballyUniqueId(v[0].value),new Handle(v[1].value),!v[2]?null:new IFC2X3.IfcLabel(v[2].value),!v[3]?null:new IFC2X3.IfcText(v[3].value),new Handle(v[4].value),v[5].map(function(p){return new Handle(p.value);}));},2051452291:function _(id,v){return new IFC2X3.IfcRelOccupiesSpaces(id,new IFC2X3.IfcGloballyUniqueId(v[0].value),new Handle(v[1].value),!v[2]?null:new IFC2X3.IfcLabel(v[2].value),!v[3]?null:new IFC2X3.IfcText(v[3].value),v[4].map(function(p){return new Handle(p.value);}),v[5],new Handle(v[6].value),!v[7]?null:new Handle(v[7].value));},202636808:function _(id,v){return new IFC2X3.IfcRelOverridesProperties(id,new IFC2X3.IfcGloballyUniqueId(v[0].value),new Handle(v[1].value),!v[2]?null:new IFC2X3.IfcLabel(v[2].value),!v[3]?null:new IFC2X3.IfcText(v[3].value),v[4].map(function(p){return new Handle(p.value);}),new Handle(v[5].value),v[6].map(function(p){return new Handle(p.value);}));},750771296:function _(id,v){return new IFC2X3.IfcRelProjectsElement(id,new IFC2X3.IfcGloballyUniqueId(v[0].value),new Handle(v[1].value),!v[2]?null:new IFC2X3.IfcLabel(v[2].value),!v[3]?null:new IFC2X3.IfcText(v[3].value),new Handle(v[4].value),new Handle(v[5].value));},1245217292:function _(id,v){return new IFC2X3.IfcRelReferencedInSpatialStructure(id,new IFC2X3.IfcGloballyUniqueId(v[0].value),new Handle(v[1].value),!v[2]?null:new IFC2X3.IfcLabel(v[2].value),!v[3]?null:new IFC2X3.IfcText(v[3].value),v[4].map(function(p){return new Handle(p.value);}),new Handle(v[5].value));},1058617721:function _(id,v){return new IFC2X3.IfcRelSchedulesCostItems(id,new IFC2X3.IfcGloballyUniqueId(v[0].value),new Handle(v[1].value),!v[2]?null:new IFC2X3.IfcLabel(v[2].value),!v[3]?null:new IFC2X3.IfcText(v[3].value),v[4].map(function(p){return new Handle(p.value);}),v[5],new Handle(v[6].value));},4122056220:function _(id,v){return new IFC2X3.IfcRelSequence(id,new IFC2X3.IfcGloballyUniqueId(v[0].value),new Handle(v[1].value),!v[2]?null:new IFC2X3.IfcLabel(v[2].value),!v[3]?null:new IFC2X3.IfcText(v[3].value),new Handle(v[4].value),new Handle(v[5].value),new IFC2X3.IfcTimeMeasure(v[6].value),v[7]);},366585022:function _(id,v){return new IFC2X3.IfcRelServicesBuildings(id,new IFC2X3.IfcGloballyUniqueId(v[0].value),new Handle(v[1].value),!v[2]?null:new IFC2X3.IfcLabel(v[2].value),!v[3]?null:new IFC2X3.IfcText(v[3].value),new Handle(v[4].value),v[5].map(function(p){return new Handle(p.value);}));},3451746338:function _(id,v){return new IFC2X3.IfcRelSpaceBoundary(id,new IFC2X3.IfcGloballyUniqueId(v[0].value),new Handle(v[1].value),!v[2]?null:new IFC2X3.IfcLabel(v[2].value),!v[3]?null:new IFC2X3.IfcText(v[3].value),new Handle(v[4].value),!v[5]?null:new Handle(v[5].value),!v[6]?null:new Handle(v[6].value),v[7],v[8]);},1401173127:function _(id,v){return new IFC2X3.IfcRelVoidsElement(id,new IFC2X3.IfcGloballyUniqueId(v[0].value),new Handle(v[1].value),!v[2]?null:new IFC2X3.IfcLabel(v[2].value),!v[3]?null:new IFC2X3.IfcText(v[3].value),new Handle(v[4].value),new Handle(v[5].value));},2914609552:function _(id,v){return new IFC2X3.IfcResource(id,new IFC2X3.IfcGloballyUniqueId(v[0].value),new Handle(v[1].value),!v[2]?null:new IFC2X3.IfcLabel(v[2].value),!v[3]?null:new IFC2X3.IfcText(v[3].value),!v[4]?null:new IFC2X3.IfcLabel(v[4].value));},1856042241:function _(id,v){return new IFC2X3.IfcRevolvedAreaSolid(id,new Handle(v[0].value),new Handle(v[1].value),new Handle(v[2].value),new IFC2X3.IfcPlaneAngleMeasure(v[3].value));},4158566097:function _(id,v){return new IFC2X3.IfcRightCircularCone(id,new Handle(v[0].value),new IFC2X3.IfcPositiveLengthMeasure(v[1].value),new IFC2X3.IfcPositiveLengthMeasure(v[2].value));},3626867408:function _(id,v){return new IFC2X3.IfcRightCircularCylinder(id,new Handle(v[0].value),new IFC2X3.IfcPositiveLengthMeasure(v[1].value),new IFC2X3.IfcPositiveLengthMeasure(v[2].value));},2706606064:function _(id,v){return new IFC2X3.IfcSpatialStructureElement(id,new IFC2X3.IfcGloballyUniqueId(v[0].value),new Handle(v[1].value),!v[2]?null:new IFC2X3.IfcLabel(v[2].value),!v[3]?null:new IFC2X3.IfcText(v[3].value),!v[4]?null:new IFC2X3.IfcLabel(v[4].value),!v[5]?null:new Handle(v[5].value),!v[6]?null:new Handle(v[6].value),!v[7]?null:new IFC2X3.IfcLabel(v[7].value),v[8]);},3893378262:function _(id,v){return new IFC2X3.IfcSpatialStructureElementType(id,new IFC2X3.IfcGloballyUniqueId(v[0].value),new Handle(v[1].value),!v[2]?null:new IFC2X3.IfcLabel(v[2].value),!v[3]?null:new IFC2X3.IfcText(v[3].value),!v[4]?null:new IFC2X3.IfcLabel(v[4].value),!v[5]?null:v[5].map(function(p){return new Handle(p.value);}),!v[6]?null:v[6].map(function(p){return new Handle(p.value);}),!v[7]?null:new IFC2X3.IfcLabel(v[7].value),!v[8]?null:new IFC2X3.IfcLabel(v[8].value));},451544542:function _(id,v){return new IFC2X3.IfcSphere(id,new Handle(v[0].value),new IFC2X3.IfcPositiveLengthMeasure(v[1].value));},3544373492:function _(id,v){return new IFC2X3.IfcStructuralActivity(id,new IFC2X3.IfcGloballyUniqueId(v[0].value),new Handle(v[1].value),!v[2]?null:new IFC2X3.IfcLabel(v[2].value),!v[3]?null:new IFC2X3.IfcText(v[3].value),!v[4]?null:new IFC2X3.IfcLabel(v[4].value),!v[5]?null:new Handle(v[5].value),!v[6]?null:new Handle(v[6].value),new Handle(v[7].value),v[8]);},3136571912:function _(id,v){return new IFC2X3.IfcStructuralItem(id,new IFC2X3.IfcGloballyUniqueId(v[0].value),new Handle(v[1].value),!v[2]?null:new IFC2X3.IfcLabel(v[2].value),!v[3]?null:new IFC2X3.IfcText(v[3].value),!v[4]?null:new IFC2X3.IfcLabel(v[4].value),!v[5]?null:new Handle(v[5].value),!v[6]?null:new Handle(v[6].value));},530289379:function _(id,v){return new IFC2X3.IfcStructuralMember(id,new IFC2X3.IfcGloballyUniqueId(v[0].value),new Handle(v[1].value),!v[2]?null:new IFC2X3.IfcLabel(v[2].value),!v[3]?null:new IFC2X3.IfcText(v[3].value),!v[4]?null:new IFC2X3.IfcLabel(v[4].value),!v[5]?null:new Handle(v[5].value),!v[6]?null:new Handle(v[6].value));},3689010777:function _(id,v){return new IFC2X3.IfcStructuralReaction(id,new IFC2X3.IfcGloballyUniqueId(v[0].value),new Handle(v[1].value),!v[2]?null:new IFC2X3.IfcLabel(v[2].value),!v[3]?null:new IFC2X3.IfcText(v[3].value),!v[4]?null:new IFC2X3.IfcLabel(v[4].value),!v[5]?null:new Handle(v[5].value),!v[6]?null:new Handle(v[6].value),new Handle(v[7].value),v[8]);},3979015343:function _(id,v){return new IFC2X3.IfcStructuralSurfaceMember(id,new IFC2X3.IfcGloballyUniqueId(v[0].value),new Handle(v[1].value),!v[2]?null:new IFC2X3.IfcLabel(v[2].value),!v[3]?null:new IFC2X3.IfcText(v[3].value),!v[4]?null:new IFC2X3.IfcLabel(v[4].value),!v[5]?null:new Handle(v[5].value),!v[6]?null:new Handle(v[6].value),v[7],!v[8]?null:new IFC2X3.IfcPositiveLengthMeasure(v[8].value));},2218152070:function _(id,v){return new IFC2X3.IfcStructuralSurfaceMemberVarying(id,new IFC2X3.IfcGloballyUniqueId(v[0].value),new Handle(v[1].value),!v[2]?null:new IFC2X3.IfcLabel(v[2].value),!v[3]?null:new IFC2X3.IfcText(v[3].value),!v[4]?null:new IFC2X3.IfcLabel(v[4].value),!v[5]?null:new Handle(v[5].value),!v[6]?null:new Handle(v[6].value),v[7],!v[8]?null:new IFC2X3.IfcPositiveLengthMeasure(v[8].value),v[9].map(function(p){return new IFC2X3.IfcPositiveLengthMeasure(p.value);}),new Handle(v[10].value));},4070609034:function _(id,v){return new IFC2X3.IfcStructuredDimensionCallout(id,v[0].map(function(p){return new Handle(p.value);}));},2028607225:function _(id,v){return new IFC2X3.IfcSurfaceCurveSweptAreaSolid(id,new Handle(v[0].value),new Handle(v[1].value),new Handle(v[2].value),new IFC2X3.IfcParameterValue(v[3].value),new IFC2X3.IfcParameterValue(v[4].value),new Handle(v[5].value));},2809605785:function _(id,v){return new IFC2X3.IfcSurfaceOfLinearExtrusion(id,new Handle(v[0].value),new Handle(v[1].value),new Handle(v[2].value),new IFC2X3.IfcLengthMeasure(v[3].value));},4124788165:function _(id,v){return new IFC2X3.IfcSurfaceOfRevolution(id,new Handle(v[0].value),new Handle(v[1].value),new Handle(v[2].value));},1580310250:function _(id,v){return new IFC2X3.IfcSystemFurnitureElementType(id,new IFC2X3.IfcGloballyUniqueId(v[0].value),new Handle(v[1].value),!v[2]?null:new IFC2X3.IfcLabel(v[2].value),!v[3]?null:new IFC2X3.IfcText(v[3].value),!v[4]?null:new IFC2X3.IfcLabel(v[4].value),!v[5]?null:v[5].map(function(p){return new Handle(p.value);}),!v[6]?null:v[6].map(function(p){return new Handle(p.value);}),!v[7]?null:new IFC2X3.IfcLabel(v[7].value),!v[8]?null:new IFC2X3.IfcLabel(v[8].value));},3473067441:function _(id,v){return new IFC2X3.IfcTask(id,new IFC2X3.IfcGloballyUniqueId(v[0].value),new Handle(v[1].value),!v[2]?null:new IFC2X3.IfcLabel(v[2].value),!v[3]?null:new IFC2X3.IfcText(v[3].value),!v[4]?null:new IFC2X3.IfcLabel(v[4].value),new IFC2X3.IfcIdentifier(v[5].value),!v[6]?null:new IFC2X3.IfcLabel(v[6].value),!v[7]?null:new IFC2X3.IfcLabel(v[7].value),v[8].value,!v[9]?null:v[9].value);},2097647324:function _(id,v){return new IFC2X3.IfcTransportElementType(id,new IFC2X3.IfcGloballyUniqueId(v[0].value),new Handle(v[1].value),!v[2]?null:new IFC2X3.IfcLabel(v[2].value),!v[3]?null:new IFC2X3.IfcText(v[3].value),!v[4]?null:new IFC2X3.IfcLabel(v[4].value),!v[5]?null:v[5].map(function(p){return new Handle(p.value);}),!v[6]?null:v[6].map(function(p){return new Handle(p.value);}),!v[7]?null:new IFC2X3.IfcLabel(v[7].value),!v[8]?null:new IFC2X3.IfcLabel(v[8].value),v[9]);},2296667514:function _(id,v){return new IFC2X3.IfcActor(id,new IFC2X3.IfcGloballyUniqueId(v[0].value),new Handle(v[1].value),!v[2]?null:new IFC2X3.IfcLabel(v[2].value),!v[3]?null:new IFC2X3.IfcText(v[3].value),!v[4]?null:new IFC2X3.IfcLabel(v[4].value),new Handle(v[5].value));},1674181508:function _(id,v){return new IFC2X3.IfcAnnotation(id,new IFC2X3.IfcGloballyUniqueId(v[0].value),new Handle(v[1].value),!v[2]?null:new IFC2X3.IfcLabel(v[2].value),!v[3]?null:new IFC2X3.IfcText(v[3].value),!v[4]?null:new IFC2X3.IfcLabel(v[4].value),!v[5]?null:new Handle(v[5].value),!v[6]?null:new Handle(v[6].value));},3207858831:function _(id,v){return new IFC2X3.IfcAsymmetricIShapeProfileDef(id,v[0],!v[1]?null:new IFC2X3.IfcLabel(v[1].value),new Handle(v[2].value),new IFC2X3.IfcPositiveLengthMeasure(v[3].value),new IFC2X3.IfcPositiveLengthMeasure(v[4].value),new IFC2X3.IfcPositiveLengthMeasure(v[5].value),new IFC2X3.IfcPositiveLengthMeasure(v[6].value),!v[7]?null:new IFC2X3.IfcPositiveLengthMeasure(v[7].value),new IFC2X3.IfcPositiveLengthMeasure(v[8].value),!v[9]?null:new IFC2X3.IfcPositiveLengthMeasure(v[9].value),!v[10]?null:new IFC2X3.IfcPositiveLengthMeasure(v[10].value),!v[11]?null:new IFC2X3.IfcPositiveLengthMeasure(v[11].value));},1334484129:function _(id,v){return new IFC2X3.IfcBlock(id,new Handle(v[0].value),new IFC2X3.IfcPositiveLengthMeasure(v[1].value),new IFC2X3.IfcPositiveLengthMeasure(v[2].value),new IFC2X3.IfcPositiveLengthMeasure(v[3].value));},3649129432:function _(id,v){return new IFC2X3.IfcBooleanClippingResult(id,v[0],new Handle(v[1].value),new Handle(v[2].value));},1260505505:function _(id,_15){return new IFC2X3.IfcBoundedCurve(id);},4031249490:function _(id,v){return new IFC2X3.IfcBuilding(id,new IFC2X3.IfcGloballyUniqueId(v[0].value),new Handle(v[1].value),!v[2]?null:new IFC2X3.IfcLabel(v[2].value),!v[3]?null:new IFC2X3.IfcText(v[3].value),!v[4]?null:new IFC2X3.IfcLabel(v[4].value),!v[5]?null:new Handle(v[5].value),!v[6]?null:new Handle(v[6].value),!v[7]?null:new IFC2X3.IfcLabel(v[7].value),v[8],!v[9]?null:new IFC2X3.IfcLengthMeasure(v[9].value),!v[10]?null:new IFC2X3.IfcLengthMeasure(v[10].value),!v[11]?null:new Handle(v[11].value));},1950629157:function _(id,v){return new IFC2X3.IfcBuildingElementType(id,new IFC2X3.IfcGloballyUniqueId(v[0].value),new Handle(v[1].value),!v[2]?null:new IFC2X3.IfcLabel(v[2].value),!v[3]?null:new IFC2X3.IfcText(v[3].value),!v[4]?null:new IFC2X3.IfcLabel(v[4].value),!v[5]?null:v[5].map(function(p){return new Handle(p.value);}),!v[6]?null:v[6].map(function(p){return new Handle(p.value);}),!v[7]?null:new IFC2X3.IfcLabel(v[7].value),!v[8]?null:new IFC2X3.IfcLabel(v[8].value));},3124254112:function _(id,v){return new IFC2X3.IfcBuildingStorey(id,new IFC2X3.IfcGloballyUniqueId(v[0].value),new Handle(v[1].value),!v[2]?null:new IFC2X3.IfcLabel(v[2].value),!v[3]?null:new IFC2X3.IfcText(v[3].value),!v[4]?null:new IFC2X3.IfcLabel(v[4].value),!v[5]?null:new Handle(v[5].value),!v[6]?null:new Handle(v[6].value),!v[7]?null:new IFC2X3.IfcLabel(v[7].value),v[8],!v[9]?null:new IFC2X3.IfcLengthMeasure(v[9].value));},2937912522:function _(id,v){return new IFC2X3.IfcCircleHollowProfileDef(id,v[0],!v[1]?null:new IFC2X3.IfcLabel(v[1].value),new Handle(v[2].value),new IFC2X3.IfcPositiveLengthMeasure(v[3].value),new IFC2X3.IfcPositiveLengthMeasure(v[4].value));},300633059:function _(id,v){return new IFC2X3.IfcColumnType(id,new IFC2X3.IfcGloballyUniqueId(v[0].value),new Handle(v[1].value),!v[2]?null:new IFC2X3.IfcLabel(v[2].value),!v[3]?null:new IFC2X3.IfcText(v[3].value),!v[4]?null:new IFC2X3.IfcLabel(v[4].value),!v[5]?null:v[5].map(function(p){return new Handle(p.value);}),!v[6]?null:v[6].map(function(p){return new Handle(p.value);}),!v[7]?null:new IFC2X3.IfcLabel(v[7].value),!v[8]?null:new IFC2X3.IfcLabel(v[8].value),v[9]);},3732776249:function _(id,v){return new IFC2X3.IfcCompositeCurve(id,v[0].map(function(p){return new Handle(p.value);}),v[1].value);},2510884976:function _(id,v){return new IFC2X3.IfcConic(id,new Handle(v[0].value));},2559216714:function _(id,v){return new IFC2X3.IfcConstructionResource(id,new IFC2X3.IfcGloballyUniqueId(v[0].value),new Handle(v[1].value),!v[2]?null:new IFC2X3.IfcLabel(v[2].value),!v[3]?null:new IFC2X3.IfcText(v[3].value),!v[4]?null:new IFC2X3.IfcLabel(v[4].value),!v[5]?null:new IFC2X3.IfcIdentifier(v[5].value),!v[6]?null:new IFC2X3.IfcLabel(v[6].value),v[7],!v[8]?null:new Handle(v[8].value));},3293443760:function _(id,v){return new IFC2X3.IfcControl(id,new IFC2X3.IfcGloballyUniqueId(v[0].value),new Handle(v[1].value),!v[2]?null:new IFC2X3.IfcLabel(v[2].value),!v[3]?null:new IFC2X3.IfcText(v[3].value),!v[4]?null:new IFC2X3.IfcLabel(v[4].value));},3895139033:function _(id,v){return new IFC2X3.IfcCostItem(id,new IFC2X3.IfcGloballyUniqueId(v[0].value),new Handle(v[1].value),!v[2]?null:new IFC2X3.IfcLabel(v[2].value),!v[3]?null:new IFC2X3.IfcText(v[3].value),!v[4]?null:new IFC2X3.IfcLabel(v[4].value));},1419761937:function _(id,v){return new IFC2X3.IfcCostSchedule(id,new IFC2X3.IfcGloballyUniqueId(v[0].value),new Handle(v[1].value),!v[2]?null:new IFC2X3.IfcLabel(v[2].value),!v[3]?null:new IFC2X3.IfcText(v[3].value),!v[4]?null:new IFC2X3.IfcLabel(v[4].value),!v[5]?null:new Handle(v[5].value),!v[6]?null:new Handle(v[6].value),!v[7]?null:new Handle(v[7].value),!v[8]?null:new IFC2X3.IfcLabel(v[8].value),!v[9]?null:v[9].map(function(p){return new Handle(p.value);}),!v[10]?null:new Handle(v[10].value),new IFC2X3.IfcIdentifier(v[11].value),v[12]);},1916426348:function _(id,v){return new IFC2X3.IfcCoveringType(id,new IFC2X3.IfcGloballyUniqueId(v[0].value),new Handle(v[1].value),!v[2]?null:new IFC2X3.IfcLabel(v[2].value),!v[3]?null:new IFC2X3.IfcText(v[3].value),!v[4]?null:new IFC2X3.IfcLabel(v[4].value),!v[5]?null:v[5].map(function(p){return new Handle(p.value);}),!v[6]?null:v[6].map(function(p){return new Handle(p.value);}),!v[7]?null:new IFC2X3.IfcLabel(v[7].value),!v[8]?null:new IFC2X3.IfcLabel(v[8].value),v[9]);},3295246426:function _(id,v){return new IFC2X3.IfcCrewResource(id,new IFC2X3.IfcGloballyUniqueId(v[0].value),new Handle(v[1].value),!v[2]?null:new IFC2X3.IfcLabel(v[2].value),!v[3]?null:new IFC2X3.IfcText(v[3].value),!v[4]?null:new IFC2X3.IfcLabel(v[4].value),!v[5]?null:new IFC2X3.IfcIdentifier(v[5].value),!v[6]?null:new IFC2X3.IfcLabel(v[6].value),v[7],!v[8]?null:new Handle(v[8].value));},1457835157:function _(id,v){return new IFC2X3.IfcCurtainWallType(id,new IFC2X3.IfcGloballyUniqueId(v[0].value),new Handle(v[1].value),!v[2]?null:new IFC2X3.IfcLabel(v[2].value),!v[3]?null:new IFC2X3.IfcText(v[3].value),!v[4]?null:new IFC2X3.IfcLabel(v[4].value),!v[5]?null:v[5].map(function(p){return new Handle(p.value);}),!v[6]?null:v[6].map(function(p){return new Handle(p.value);}),!v[7]?null:new IFC2X3.IfcLabel(v[7].value),!v[8]?null:new IFC2X3.IfcLabel(v[8].value),v[9]);},681481545:function _(id,v){return new IFC2X3.IfcDimensionCurveDirectedCallout(id,v[0].map(function(p){return new Handle(p.value);}));},3256556792:function _(id,v){return new IFC2X3.IfcDistributionElementType(id,new IFC2X3.IfcGloballyUniqueId(v[0].value),new Handle(v[1].value),!v[2]?null:new IFC2X3.IfcLabel(v[2].value),!v[3]?null:new IFC2X3.IfcText(v[3].value),!v[4]?null:new IFC2X3.IfcLabel(v[4].value),!v[5]?null:v[5].map(function(p){return new Handle(p.value);}),!v[6]?null:v[6].map(function(p){return new Handle(p.value);}),!v[7]?null:new IFC2X3.IfcLabel(v[7].value),!v[8]?null:new IFC2X3.IfcLabel(v[8].value));},3849074793:function _(id,v){return new IFC2X3.IfcDistributionFlowElementType(id,new IFC2X3.IfcGloballyUniqueId(v[0].value),new Handle(v[1].value),!v[2]?null:new IFC2X3.IfcLabel(v[2].value),!v[3]?null:new IFC2X3.IfcText(v[3].value),!v[4]?null:new IFC2X3.IfcLabel(v[4].value),!v[5]?null:v[5].map(function(p){return new Handle(p.value);}),!v[6]?null:v[6].map(function(p){return new Handle(p.value);}),!v[7]?null:new IFC2X3.IfcLabel(v[7].value),!v[8]?null:new IFC2X3.IfcLabel(v[8].value));},360485395:function _(id,v){return new IFC2X3.IfcElectricalBaseProperties(id,new IFC2X3.IfcGloballyUniqueId(v[0].value),new Handle(v[1].value),!v[2]?null:new IFC2X3.IfcLabel(v[2].value),!v[3]?null:new IFC2X3.IfcText(v[3].value),v[4],!v[5]?null:new IFC2X3.IfcLabel(v[5].value),v[6],new IFC2X3.IfcElectricVoltageMeasure(v[7].value),new IFC2X3.IfcFrequencyMeasure(v[8].value),!v[9]?null:new IFC2X3.IfcElectricCurrentMeasure(v[9].value),!v[10]?null:new IFC2X3.IfcElectricCurrentMeasure(v[10].value),!v[11]?null:new IFC2X3.IfcPowerMeasure(v[11].value),!v[12]?null:new IFC2X3.IfcPowerMeasure(v[12].value),v[13].value);},1758889154:function _(id,v){return new IFC2X3.IfcElement(id,new IFC2X3.IfcGloballyUniqueId(v[0].value),new Handle(v[1].value),!v[2]?null:new IFC2X3.IfcLabel(v[2].value),!v[3]?null:new IFC2X3.IfcText(v[3].value),!v[4]?null:new IFC2X3.IfcLabel(v[4].value),!v[5]?null:new Handle(v[5].value),!v[6]?null:new Handle(v[6].value),!v[7]?null:new IFC2X3.IfcIdentifier(v[7].value));},4123344466:function _(id,v){return new IFC2X3.IfcElementAssembly(id,new IFC2X3.IfcGloballyUniqueId(v[0].value),new Handle(v[1].value),!v[2]?null:new IFC2X3.IfcLabel(v[2].value),!v[3]?null:new IFC2X3.IfcText(v[3].value),!v[4]?null:new IFC2X3.IfcLabel(v[4].value),!v[5]?null:new Handle(v[5].value),!v[6]?null:new Handle(v[6].value),!v[7]?null:new IFC2X3.IfcIdentifier(v[7].value),v[8],v[9]);},1623761950:function _(id,v){return new IFC2X3.IfcElementComponent(id,new IFC2X3.IfcGloballyUniqueId(v[0].value),new Handle(v[1].value),!v[2]?null:new IFC2X3.IfcLabel(v[2].value),!v[3]?null:new IFC2X3.IfcText(v[3].value),!v[4]?null:new IFC2X3.IfcLabel(v[4].value),!v[5]?null:new Handle(v[5].value),!v[6]?null:new Handle(v[6].value),!v[7]?null:new IFC2X3.IfcIdentifier(v[7].value));},2590856083:function _(id,v){return new IFC2X3.IfcElementComponentType(id,new IFC2X3.IfcGloballyUniqueId(v[0].value),new Handle(v[1].value),!v[2]?null:new IFC2X3.IfcLabel(v[2].value),!v[3]?null:new IFC2X3.IfcText(v[3].value),!v[4]?null:new IFC2X3.IfcLabel(v[4].value),!v[5]?null:v[5].map(function(p){return new Handle(p.value);}),!v[6]?null:v[6].map(function(p){return new Handle(p.value);}),!v[7]?null:new IFC2X3.IfcLabel(v[7].value),!v[8]?null:new IFC2X3.IfcLabel(v[8].value));},1704287377:function _(id,v){return new IFC2X3.IfcEllipse(id,new Handle(v[0].value),new IFC2X3.IfcPositiveLengthMeasure(v[1].value),new IFC2X3.IfcPositiveLengthMeasure(v[2].value));},2107101300:function _(id,v){return new IFC2X3.IfcEnergyConversionDeviceType(id,new IFC2X3.IfcGloballyUniqueId(v[0].value),new Handle(v[1].value),!v[2]?null:new IFC2X3.IfcLabel(v[2].value),!v[3]?null:new IFC2X3.IfcText(v[3].value),!v[4]?null:new IFC2X3.IfcLabel(v[4].value),!v[5]?null:v[5].map(function(p){return new Handle(p.value);}),!v[6]?null:v[6].map(function(p){return new Handle(p.value);}),!v[7]?null:new IFC2X3.IfcLabel(v[7].value),!v[8]?null:new IFC2X3.IfcLabel(v[8].value));},1962604670:function _(id,v){return new IFC2X3.IfcEquipmentElement(id,new IFC2X3.IfcGloballyUniqueId(v[0].value),new Handle(v[1].value),!v[2]?null:new IFC2X3.IfcLabel(v[2].value),!v[3]?null:new IFC2X3.IfcText(v[3].value),!v[4]?null:new IFC2X3.IfcLabel(v[4].value),!v[5]?null:new Handle(v[5].value),!v[6]?null:new Handle(v[6].value),!v[7]?null:new IFC2X3.IfcIdentifier(v[7].value));},3272907226:function _(id,v){return new IFC2X3.IfcEquipmentStandard(id,new IFC2X3.IfcGloballyUniqueId(v[0].value),new Handle(v[1].value),!v[2]?null:new IFC2X3.IfcLabel(v[2].value),!v[3]?null:new IFC2X3.IfcText(v[3].value),!v[4]?null:new IFC2X3.IfcLabel(v[4].value));},3174744832:function _(id,v){return new IFC2X3.IfcEvaporativeCoolerType(id,new IFC2X3.IfcGloballyUniqueId(v[0].value),new Handle(v[1].value),!v[2]?null:new IFC2X3.IfcLabel(v[2].value),!v[3]?null:new IFC2X3.IfcText(v[3].value),!v[4]?null:new IFC2X3.IfcLabel(v[4].value),!v[5]?null:v[5].map(function(p){return new Handle(p.value);}),!v[6]?null:v[6].map(function(p){return new Handle(p.value);}),!v[7]?null:new IFC2X3.IfcLabel(v[7].value),!v[8]?null:new IFC2X3.IfcLabel(v[8].value),v[9]);},3390157468:function _(id,v){return new IFC2X3.IfcEvaporatorType(id,new IFC2X3.IfcGloballyUniqueId(v[0].value),new Handle(v[1].value),!v[2]?null:new IFC2X3.IfcLabel(v[2].value),!v[3]?null:new IFC2X3.IfcText(v[3].value),!v[4]?null:new IFC2X3.IfcLabel(v[4].value),!v[5]?null:v[5].map(function(p){return new Handle(p.value);}),!v[6]?null:v[6].map(function(p){return new Handle(p.value);}),!v[7]?null:new IFC2X3.IfcLabel(v[7].value),!v[8]?null:new IFC2X3.IfcLabel(v[8].value),v[9]);},807026263:function _(id,v){return new IFC2X3.IfcFacetedBrep(id,new Handle(v[0].value));},3737207727:function _(id,v){return new IFC2X3.IfcFacetedBrepWithVoids(id,new Handle(v[0].value),v[1].map(function(p){return new Handle(p.value);}));},647756555:function _(id,v){return new IFC2X3.IfcFastener(id,new IFC2X3.IfcGloballyUniqueId(v[0].value),new Handle(v[1].value),!v[2]?null:new IFC2X3.IfcLabel(v[2].value),!v[3]?null:new IFC2X3.IfcText(v[3].value),!v[4]?null:new IFC2X3.IfcLabel(v[4].value),!v[5]?null:new Handle(v[5].value),!v[6]?null:new Handle(v[6].value),!v[7]?null:new IFC2X3.IfcIdentifier(v[7].value));},2489546625:function _(id,v){return new IFC2X3.IfcFastenerType(id,new IFC2X3.IfcGloballyUniqueId(v[0].value),new Handle(v[1].value),!v[2]?null:new IFC2X3.IfcLabel(v[2].value),!v[3]?null:new IFC2X3.IfcText(v[3].value),!v[4]?null:new IFC2X3.IfcLabel(v[4].value),!v[5]?null:v[5].map(function(p){return new Handle(p.value);}),!v[6]?null:v[6].map(function(p){return new Handle(p.value);}),!v[7]?null:new IFC2X3.IfcLabel(v[7].value),!v[8]?null:new IFC2X3.IfcLabel(v[8].value));},2827207264:function _(id,v){return new IFC2X3.IfcFeatureElement(id,new IFC2X3.IfcGloballyUniqueId(v[0].value),new Handle(v[1].value),!v[2]?null:new IFC2X3.IfcLabel(v[2].value),!v[3]?null:new IFC2X3.IfcText(v[3].value),!v[4]?null:new IFC2X3.IfcLabel(v[4].value),!v[5]?null:new Handle(v[5].value),!v[6]?null:new Handle(v[6].value),!v[7]?null:new IFC2X3.IfcIdentifier(v[7].value));},2143335405:function _(id,v){return new IFC2X3.IfcFeatureElementAddition(id,new IFC2X3.IfcGloballyUniqueId(v[0].value),new Handle(v[1].value),!v[2]?null:new IFC2X3.IfcLabel(v[2].value),!v[3]?null:new IFC2X3.IfcText(v[3].value),!v[4]?null:new IFC2X3.IfcLabel(v[4].value),!v[5]?null:new Handle(v[5].value),!v[6]?null:new Handle(v[6].value),!v[7]?null:new IFC2X3.IfcIdentifier(v[7].value));},1287392070:function _(id,v){return new IFC2X3.IfcFeatureElementSubtraction(id,new IFC2X3.IfcGloballyUniqueId(v[0].value),new Handle(v[1].value),!v[2]?null:new IFC2X3.IfcLabel(v[2].value),!v[3]?null:new IFC2X3.IfcText(v[3].value),!v[4]?null:new IFC2X3.IfcLabel(v[4].value),!v[5]?null:new Handle(v[5].value),!v[6]?null:new Handle(v[6].value),!v[7]?null:new IFC2X3.IfcIdentifier(v[7].value));},3907093117:function _(id,v){return new IFC2X3.IfcFlowControllerType(id,new IFC2X3.IfcGloballyUniqueId(v[0].value),new Handle(v[1].value),!v[2]?null:new IFC2X3.IfcLabel(v[2].value),!v[3]?null:new IFC2X3.IfcText(v[3].value),!v[4]?null:new IFC2X3.IfcLabel(v[4].value),!v[5]?null:v[5].map(function(p){return new Handle(p.value);}),!v[6]?null:v[6].map(function(p){return new Handle(p.value);}),!v[7]?null:new IFC2X3.IfcLabel(v[7].value),!v[8]?null:new IFC2X3.IfcLabel(v[8].value));},3198132628:function _(id,v){return new IFC2X3.IfcFlowFittingType(id,new IFC2X3.IfcGloballyUniqueId(v[0].value),new Handle(v[1].value),!v[2]?null:new IFC2X3.IfcLabel(v[2].value),!v[3]?null:new IFC2X3.IfcText(v[3].value),!v[4]?null:new IFC2X3.IfcLabel(v[4].value),!v[5]?null:v[5].map(function(p){return new Handle(p.value);}),!v[6]?null:v[6].map(function(p){return new Handle(p.value);}),!v[7]?null:new IFC2X3.IfcLabel(v[7].value),!v[8]?null:new IFC2X3.IfcLabel(v[8].value));},3815607619:function _(id,v){return new IFC2X3.IfcFlowMeterType(id,new IFC2X3.IfcGloballyUniqueId(v[0].value),new Handle(v[1].value),!v[2]?null:new IFC2X3.IfcLabel(v[2].value),!v[3]?null:new IFC2X3.IfcText(v[3].value),!v[4]?null:new IFC2X3.IfcLabel(v[4].value),!v[5]?null:v[5].map(function(p){return new Handle(p.value);}),!v[6]?null:v[6].map(function(p){return new Handle(p.value);}),!v[7]?null:new IFC2X3.IfcLabel(v[7].value),!v[8]?null:new IFC2X3.IfcLabel(v[8].value),v[9]);},1482959167:function _(id,v){return new IFC2X3.IfcFlowMovingDeviceType(id,new IFC2X3.IfcGloballyUniqueId(v[0].value),new Handle(v[1].value),!v[2]?null:new IFC2X3.IfcLabel(v[2].value),!v[3]?null:new IFC2X3.IfcText(v[3].value),!v[4]?null:new IFC2X3.IfcLabel(v[4].value),!v[5]?null:v[5].map(function(p){return new Handle(p.value);}),!v[6]?null:v[6].map(function(p){return new Handle(p.value);}),!v[7]?null:new IFC2X3.IfcLabel(v[7].value),!v[8]?null:new IFC2X3.IfcLabel(v[8].value));},1834744321:function _(id,v){return new IFC2X3.IfcFlowSegmentType(id,new IFC2X3.IfcGloballyUniqueId(v[0].value),new Handle(v[1].value),!v[2]?null:new IFC2X3.IfcLabel(v[2].value),!v[3]?null:new IFC2X3.IfcText(v[3].value),!v[4]?null:new IFC2X3.IfcLabel(v[4].value),!v[5]?null:v[5].map(function(p){return new Handle(p.value);}),!v[6]?null:v[6].map(function(p){return new Handle(p.value);}),!v[7]?null:new IFC2X3.IfcLabel(v[7].value),!v[8]?null:new IFC2X3.IfcLabel(v[8].value));},1339347760:function _(id,v){return new IFC2X3.IfcFlowStorageDeviceType(id,new IFC2X3.IfcGloballyUniqueId(v[0].value),new Handle(v[1].value),!v[2]?null:new IFC2X3.IfcLabel(v[2].value),!v[3]?null:new IFC2X3.IfcText(v[3].value),!v[4]?null:new IFC2X3.IfcLabel(v[4].value),!v[5]?null:v[5].map(function(p){return new Handle(p.value);}),!v[6]?null:v[6].map(function(p){return new Handle(p.value);}),!v[7]?null:new IFC2X3.IfcLabel(v[7].value),!v[8]?null:new IFC2X3.IfcLabel(v[8].value));},2297155007:function _(id,v){return new IFC2X3.IfcFlowTerminalType(id,new IFC2X3.IfcGloballyUniqueId(v[0].value),new Handle(v[1].value),!v[2]?null:new IFC2X3.IfcLabel(v[2].value),!v[3]?null:new IFC2X3.IfcText(v[3].value),!v[4]?null:new IFC2X3.IfcLabel(v[4].value),!v[5]?null:v[5].map(function(p){return new Handle(p.value);}),!v[6]?null:v[6].map(function(p){return new Handle(p.value);}),!v[7]?null:new IFC2X3.IfcLabel(v[7].value),!v[8]?null:new IFC2X3.IfcLabel(v[8].value));},3009222698:function _(id,v){return new IFC2X3.IfcFlowTreatmentDeviceType(id,new IFC2X3.IfcGloballyUniqueId(v[0].value),new Handle(v[1].value),!v[2]?null:new IFC2X3.IfcLabel(v[2].value),!v[3]?null:new IFC2X3.IfcText(v[3].value),!v[4]?null:new IFC2X3.IfcLabel(v[4].value),!v[5]?null:v[5].map(function(p){return new Handle(p.value);}),!v[6]?null:v[6].map(function(p){return new Handle(p.value);}),!v[7]?null:new IFC2X3.IfcLabel(v[7].value),!v[8]?null:new IFC2X3.IfcLabel(v[8].value));},263784265:function _(id,v){return new IFC2X3.IfcFurnishingElement(id,new IFC2X3.IfcGloballyUniqueId(v[0].value),new Handle(v[1].value),!v[2]?null:new IFC2X3.IfcLabel(v[2].value),!v[3]?null:new IFC2X3.IfcText(v[3].value),!v[4]?null:new IFC2X3.IfcLabel(v[4].value),!v[5]?null:new Handle(v[5].value),!v[6]?null:new Handle(v[6].value),!v[7]?null:new IFC2X3.IfcIdentifier(v[7].value));},814719939:function _(id,v){return new IFC2X3.IfcFurnitureStandard(id,new IFC2X3.IfcGloballyUniqueId(v[0].value),new Handle(v[1].value),!v[2]?null:new IFC2X3.IfcLabel(v[2].value),!v[3]?null:new IFC2X3.IfcText(v[3].value),!v[4]?null:new IFC2X3.IfcLabel(v[4].value));},200128114:function _(id,v){return new IFC2X3.IfcGasTerminalType(id,new IFC2X3.IfcGloballyUniqueId(v[0].value),new Handle(v[1].value),!v[2]?null:new IFC2X3.IfcLabel(v[2].value),!v[3]?null:new IFC2X3.IfcText(v[3].value),!v[4]?null:new IFC2X3.IfcLabel(v[4].value),!v[5]?null:v[5].map(function(p){return new Handle(p.value);}),!v[6]?null:v[6].map(function(p){return new Handle(p.value);}),!v[7]?null:new IFC2X3.IfcLabel(v[7].value),!v[8]?null:new IFC2X3.IfcLabel(v[8].value),v[9]);},3009204131:function _(id,v){return new IFC2X3.IfcGrid(id,new IFC2X3.IfcGloballyUniqueId(v[0].value),new Handle(v[1].value),!v[2]?null:new IFC2X3.IfcLabel(v[2].value),!v[3]?null:new IFC2X3.IfcText(v[3].value),!v[4]?null:new IFC2X3.IfcLabel(v[4].value),!v[5]?null:new Handle(v[5].value),!v[6]?null:new Handle(v[6].value),v[7].map(function(p){return new Handle(p.value);}),v[8].map(function(p){return new Handle(p.value);}),!v[9]?null:v[9].map(function(p){return new Handle(p.value);}));},2706460486:function _(id,v){return new IFC2X3.IfcGroup(id,new IFC2X3.IfcGloballyUniqueId(v[0].value),new Handle(v[1].value),!v[2]?null:new IFC2X3.IfcLabel(v[2].value),!v[3]?null:new IFC2X3.IfcText(v[3].value),!v[4]?null:new IFC2X3.IfcLabel(v[4].value));},1251058090:function _(id,v){return new IFC2X3.IfcHeatExchangerType(id,new IFC2X3.IfcGloballyUniqueId(v[0].value),new Handle(v[1].value),!v[2]?null:new IFC2X3.IfcLabel(v[2].value),!v[3]?null:new IFC2X3.IfcText(v[3].value),!v[4]?null:new IFC2X3.IfcLabel(v[4].value),!v[5]?null:v[5].map(function(p){return new Handle(p.value);}),!v[6]?null:v[6].map(function(p){return new Handle(p.value);}),!v[7]?null:new IFC2X3.IfcLabel(v[7].value),!v[8]?null:new IFC2X3.IfcLabel(v[8].value),v[9]);},1806887404:function _(id,v){return new IFC2X3.IfcHumidifierType(id,new IFC2X3.IfcGloballyUniqueId(v[0].value),new Handle(v[1].value),!v[2]?null:new IFC2X3.IfcLabel(v[2].value),!v[3]?null:new IFC2X3.IfcText(v[3].value),!v[4]?null:new IFC2X3.IfcLabel(v[4].value),!v[5]?null:v[5].map(function(p){return new Handle(p.value);}),!v[6]?null:v[6].map(function(p){return new Handle(p.value);}),!v[7]?null:new IFC2X3.IfcLabel(v[7].value),!v[8]?null:new IFC2X3.IfcLabel(v[8].value),v[9]);},2391368822:function _(id,v){return new IFC2X3.IfcInventory(id,new IFC2X3.IfcGloballyUniqueId(v[0].value),new Handle(v[1].value),!v[2]?null:new IFC2X3.IfcLabel(v[2].value),!v[3]?null:new IFC2X3.IfcText(v[3].value),!v[4]?null:new IFC2X3.IfcLabel(v[4].value),v[5],new Handle(v[6].value),v[7].map(function(p){return new Handle(p.value);}),new Handle(v[8].value),!v[9]?null:new Handle(v[9].value),!v[10]?null:new Handle(v[10].value));},4288270099:function _(id,v){return new IFC2X3.IfcJunctionBoxType(id,new IFC2X3.IfcGloballyUniqueId(v[0].value),new Handle(v[1].value),!v[2]?null:new IFC2X3.IfcLabel(v[2].value),!v[3]?null:new IFC2X3.IfcText(v[3].value),!v[4]?null:new IFC2X3.IfcLabel(v[4].value),!v[5]?null:v[5].map(function(p){return new Handle(p.value);}),!v[6]?null:v[6].map(function(p){return new Handle(p.value);}),!v[7]?null:new IFC2X3.IfcLabel(v[7].value),!v[8]?null:new IFC2X3.IfcLabel(v[8].value),v[9]);},3827777499:function _(id,v){return new IFC2X3.IfcLaborResource(id,new IFC2X3.IfcGloballyUniqueId(v[0].value),new Handle(v[1].value),!v[2]?null:new IFC2X3.IfcLabel(v[2].value),!v[3]?null:new IFC2X3.IfcText(v[3].value),!v[4]?null:new IFC2X3.IfcLabel(v[4].value),!v[5]?null:new IFC2X3.IfcIdentifier(v[5].value),!v[6]?null:new IFC2X3.IfcLabel(v[6].value),v[7],!v[8]?null:new Handle(v[8].value),!v[9]?null:new IFC2X3.IfcText(v[9].value));},1051575348:function _(id,v){return new IFC2X3.IfcLampType(id,new IFC2X3.IfcGloballyUniqueId(v[0].value),new Handle(v[1].value),!v[2]?null:new IFC2X3.IfcLabel(v[2].value),!v[3]?null:new IFC2X3.IfcText(v[3].value),!v[4]?null:new IFC2X3.IfcLabel(v[4].value),!v[5]?null:v[5].map(function(p){return new Handle(p.value);}),!v[6]?null:v[6].map(function(p){return new Handle(p.value);}),!v[7]?null:new IFC2X3.IfcLabel(v[7].value),!v[8]?null:new IFC2X3.IfcLabel(v[8].value),v[9]);},1161773419:function _(id,v){return new IFC2X3.IfcLightFixtureType(id,new IFC2X3.IfcGloballyUniqueId(v[0].value),new Handle(v[1].value),!v[2]?null:new IFC2X3.IfcLabel(v[2].value),!v[3]?null:new IFC2X3.IfcText(v[3].value),!v[4]?null:new IFC2X3.IfcLabel(v[4].value),!v[5]?null:v[5].map(function(p){return new Handle(p.value);}),!v[6]?null:v[6].map(function(p){return new Handle(p.value);}),!v[7]?null:new IFC2X3.IfcLabel(v[7].value),!v[8]?null:new IFC2X3.IfcLabel(v[8].value),v[9]);},2506943328:function _(id,v){return new IFC2X3.IfcLinearDimension(id,v[0].map(function(p){return new Handle(p.value);}));},377706215:function _(id,v){return new IFC2X3.IfcMechanicalFastener(id,new IFC2X3.IfcGloballyUniqueId(v[0].value),new Handle(v[1].value),!v[2]?null:new IFC2X3.IfcLabel(v[2].value),!v[3]?null:new IFC2X3.IfcText(v[3].value),!v[4]?null:new IFC2X3.IfcLabel(v[4].value),!v[5]?null:new Handle(v[5].value),!v[6]?null:new Handle(v[6].value),!v[7]?null:new IFC2X3.IfcIdentifier(v[7].value),!v[8]?null:new IFC2X3.IfcPositiveLengthMeasure(v[8].value),!v[9]?null:new IFC2X3.IfcPositiveLengthMeasure(v[9].value));},2108223431:function _(id,v){return new IFC2X3.IfcMechanicalFastenerType(id,new IFC2X3.IfcGloballyUniqueId(v[0].value),new Handle(v[1].value),!v[2]?null:new IFC2X3.IfcLabel(v[2].value),!v[3]?null:new IFC2X3.IfcText(v[3].value),!v[4]?null:new IFC2X3.IfcLabel(v[4].value),!v[5]?null:v[5].map(function(p){return new Handle(p.value);}),!v[6]?null:v[6].map(function(p){return new Handle(p.value);}),!v[7]?null:new IFC2X3.IfcLabel(v[7].value),!v[8]?null:new IFC2X3.IfcLabel(v[8].value));},3181161470:function _(id,v){return new IFC2X3.IfcMemberType(id,new IFC2X3.IfcGloballyUniqueId(v[0].value),new Handle(v[1].value),!v[2]?null:new IFC2X3.IfcLabel(v[2].value),!v[3]?null:new IFC2X3.IfcText(v[3].value),!v[4]?null:new IFC2X3.IfcLabel(v[4].value),!v[5]?null:v[5].map(function(p){return new Handle(p.value);}),!v[6]?null:v[6].map(function(p){return new Handle(p.value);}),!v[7]?null:new IFC2X3.IfcLabel(v[7].value),!v[8]?null:new IFC2X3.IfcLabel(v[8].value),v[9]);},977012517:function _(id,v){return new IFC2X3.IfcMotorConnectionType(id,new IFC2X3.IfcGloballyUniqueId(v[0].value),new Handle(v[1].value),!v[2]?null:new IFC2X3.IfcLabel(v[2].value),!v[3]?null:new IFC2X3.IfcText(v[3].value),!v[4]?null:new IFC2X3.IfcLabel(v[4].value),!v[5]?null:v[5].map(function(p){return new Handle(p.value);}),!v[6]?null:v[6].map(function(p){return new Handle(p.value);}),!v[7]?null:new IFC2X3.IfcLabel(v[7].value),!v[8]?null:new IFC2X3.IfcLabel(v[8].value),v[9]);},1916936684:function _(id,v){return new IFC2X3.IfcMove(id,new IFC2X3.IfcGloballyUniqueId(v[0].value),new Handle(v[1].value),!v[2]?null:new IFC2X3.IfcLabel(v[2].value),!v[3]?null:new IFC2X3.IfcText(v[3].value),!v[4]?null:new IFC2X3.IfcLabel(v[4].value),new IFC2X3.IfcIdentifier(v[5].value),!v[6]?null:new IFC2X3.IfcLabel(v[6].value),!v[7]?null:new IFC2X3.IfcLabel(v[7].value),v[8].value,!v[9]?null:v[9].value,new Handle(v[10].value),new Handle(v[11].value),!v[12]?null:v[12].map(function(p){return new IFC2X3.IfcText(p.value);}));},4143007308:function _(id,v){return new IFC2X3.IfcOccupant(id,new IFC2X3.IfcGloballyUniqueId(v[0].value),new Handle(v[1].value),!v[2]?null:new IFC2X3.IfcLabel(v[2].value),!v[3]?null:new IFC2X3.IfcText(v[3].value),!v[4]?null:new IFC2X3.IfcLabel(v[4].value),new Handle(v[5].value),v[6]);},3588315303:function _(id,v){return new IFC2X3.IfcOpeningElement(id,new IFC2X3.IfcGloballyUniqueId(v[0].value),new Handle(v[1].value),!v[2]?null:new IFC2X3.IfcLabel(v[2].value),!v[3]?null:new IFC2X3.IfcText(v[3].value),!v[4]?null:new IFC2X3.IfcLabel(v[4].value),!v[5]?null:new Handle(v[5].value),!v[6]?null:new Handle(v[6].value),!v[7]?null:new IFC2X3.IfcIdentifier(v[7].value));},3425660407:function _(id,v){return new IFC2X3.IfcOrderAction(id,new IFC2X3.IfcGloballyUniqueId(v[0].value),new Handle(v[1].value),!v[2]?null:new IFC2X3.IfcLabel(v[2].value),!v[3]?null:new IFC2X3.IfcText(v[3].value),!v[4]?null:new IFC2X3.IfcLabel(v[4].value),new IFC2X3.IfcIdentifier(v[5].value),!v[6]?null:new IFC2X3.IfcLabel(v[6].value),!v[7]?null:new IFC2X3.IfcLabel(v[7].value),v[8].value,!v[9]?null:v[9].value,new IFC2X3.IfcIdentifier(v[10].value));},2837617999:function _(id,v){return new IFC2X3.IfcOutletType(id,new IFC2X3.IfcGloballyUniqueId(v[0].value),new Handle(v[1].value),!v[2]?null:new IFC2X3.IfcLabel(v[2].value),!v[3]?null:new IFC2X3.IfcText(v[3].value),!v[4]?null:new IFC2X3.IfcLabel(v[4].value),!v[5]?null:v[5].map(function(p){return new Handle(p.value);}),!v[6]?null:v[6].map(function(p){return new Handle(p.value);}),!v[7]?null:new IFC2X3.IfcLabel(v[7].value),!v[8]?null:new IFC2X3.IfcLabel(v[8].value),v[9]);},2382730787:function _(id,v){return new IFC2X3.IfcPerformanceHistory(id,new IFC2X3.IfcGloballyUniqueId(v[0].value),new Handle(v[1].value),!v[2]?null:new IFC2X3.IfcLabel(v[2].value),!v[3]?null:new IFC2X3.IfcText(v[3].value),!v[4]?null:new IFC2X3.IfcLabel(v[4].value),new IFC2X3.IfcLabel(v[5].value));},3327091369:function _(id,v){return new IFC2X3.IfcPermit(id,new IFC2X3.IfcGloballyUniqueId(v[0].value),new Handle(v[1].value),!v[2]?null:new IFC2X3.IfcLabel(v[2].value),!v[3]?null:new IFC2X3.IfcText(v[3].value),!v[4]?null:new IFC2X3.IfcLabel(v[4].value),new IFC2X3.IfcIdentifier(v[5].value));},804291784:function _(id,v){return new IFC2X3.IfcPipeFittingType(id,new IFC2X3.IfcGloballyUniqueId(v[0].value),new Handle(v[1].value),!v[2]?null:new IFC2X3.IfcLabel(v[2].value),!v[3]?null:new IFC2X3.IfcText(v[3].value),!v[4]?null:new IFC2X3.IfcLabel(v[4].value),!v[5]?null:v[5].map(function(p){return new Handle(p.value);}),!v[6]?null:v[6].map(function(p){return new Handle(p.value);}),!v[7]?null:new IFC2X3.IfcLabel(v[7].value),!v[8]?null:new IFC2X3.IfcLabel(v[8].value),v[9]);},4231323485:function _(id,v){return new IFC2X3.IfcPipeSegmentType(id,new IFC2X3.IfcGloballyUniqueId(v[0].value),new Handle(v[1].value),!v[2]?null:new IFC2X3.IfcLabel(v[2].value),!v[3]?null:new IFC2X3.IfcText(v[3].value),!v[4]?null:new IFC2X3.IfcLabel(v[4].value),!v[5]?null:v[5].map(function(p){return new Handle(p.value);}),!v[6]?null:v[6].map(function(p){return new Handle(p.value);}),!v[7]?null:new IFC2X3.IfcLabel(v[7].value),!v[8]?null:new IFC2X3.IfcLabel(v[8].value),v[9]);},4017108033:function _(id,v){return new IFC2X3.IfcPlateType(id,new IFC2X3.IfcGloballyUniqueId(v[0].value),new Handle(v[1].value),!v[2]?null:new IFC2X3.IfcLabel(v[2].value),!v[3]?null:new IFC2X3.IfcText(v[3].value),!v[4]?null:new IFC2X3.IfcLabel(v[4].value),!v[5]?null:v[5].map(function(p){return new Handle(p.value);}),!v[6]?null:v[6].map(function(p){return new Handle(p.value);}),!v[7]?null:new IFC2X3.IfcLabel(v[7].value),!v[8]?null:new IFC2X3.IfcLabel(v[8].value),v[9]);},3724593414:function _(id,v){return new IFC2X3.IfcPolyline(id,v[0].map(function(p){return new Handle(p.value);}));},3740093272:function _(id,v){return new IFC2X3.IfcPort(id,new IFC2X3.IfcGloballyUniqueId(v[0].value),new Handle(v[1].value),!v[2]?null:new IFC2X3.IfcLabel(v[2].value),!v[3]?null:new IFC2X3.IfcText(v[3].value),!v[4]?null:new IFC2X3.IfcLabel(v[4].value),!v[5]?null:new Handle(v[5].value),!v[6]?null:new Handle(v[6].value));},2744685151:function _(id,v){return new IFC2X3.IfcProcedure(id,new IFC2X3.IfcGloballyUniqueId(v[0].value),new Handle(v[1].value),!v[2]?null:new IFC2X3.IfcLabel(v[2].value),!v[3]?null:new IFC2X3.IfcText(v[3].value),!v[4]?null:new IFC2X3.IfcLabel(v[4].value),new IFC2X3.IfcIdentifier(v[5].value),v[6],!v[7]?null:new IFC2X3.IfcLabel(v[7].value));},2904328755:function _(id,v){return new IFC2X3.IfcProjectOrder(id,new IFC2X3.IfcGloballyUniqueId(v[0].value),new Handle(v[1].value),!v[2]?null:new IFC2X3.IfcLabel(v[2].value),!v[3]?null:new IFC2X3.IfcText(v[3].value),!v[4]?null:new IFC2X3.IfcLabel(v[4].value),new IFC2X3.IfcIdentifier(v[5].value),v[6],!v[7]?null:new IFC2X3.IfcLabel(v[7].value));},3642467123:function _(id,v){return new IFC2X3.IfcProjectOrderRecord(id,new IFC2X3.IfcGloballyUniqueId(v[0].value),new Handle(v[1].value),!v[2]?null:new IFC2X3.IfcLabel(v[2].value),!v[3]?null:new IFC2X3.IfcText(v[3].value),!v[4]?null:new IFC2X3.IfcLabel(v[4].value),v[5].map(function(p){return new Handle(p.value);}),v[6]);},3651124850:function _(id,v){return new IFC2X3.IfcProjectionElement(id,new IFC2X3.IfcGloballyUniqueId(v[0].value),new Handle(v[1].value),!v[2]?null:new IFC2X3.IfcLabel(v[2].value),!v[3]?null:new IFC2X3.IfcText(v[3].value),!v[4]?null:new IFC2X3.IfcLabel(v[4].value),!v[5]?null:new Handle(v[5].value),!v[6]?null:new Handle(v[6].value),!v[7]?null:new IFC2X3.IfcIdentifier(v[7].value));},1842657554:function _(id,v){return new IFC2X3.IfcProtectiveDeviceType(id,new IFC2X3.IfcGloballyUniqueId(v[0].value),new Handle(v[1].value),!v[2]?null:new IFC2X3.IfcLabel(v[2].value),!v[3]?null:new IFC2X3.IfcText(v[3].value),!v[4]?null:new IFC2X3.IfcLabel(v[4].value),!v[5]?null:v[5].map(function(p){return new Handle(p.value);}),!v[6]?null:v[6].map(function(p){return new Handle(p.value);}),!v[7]?null:new IFC2X3.IfcLabel(v[7].value),!v[8]?null:new IFC2X3.IfcLabel(v[8].value),v[9]);},2250791053:function _(id,v){return new IFC2X3.IfcPumpType(id,new IFC2X3.IfcGloballyUniqueId(v[0].value),new Handle(v[1].value),!v[2]?null:new IFC2X3.IfcLabel(v[2].value),!v[3]?null:new IFC2X3.IfcText(v[3].value),!v[4]?null:new IFC2X3.IfcLabel(v[4].value),!v[5]?null:v[5].map(function(p){return new Handle(p.value);}),!v[6]?null:v[6].map(function(p){return new Handle(p.value);}),!v[7]?null:new IFC2X3.IfcLabel(v[7].value),!v[8]?null:new IFC2X3.IfcLabel(v[8].value),v[9]);},3248260540:function _(id,v){return new IFC2X3.IfcRadiusDimension(id,v[0].map(function(p){return new Handle(p.value);}));},2893384427:function _(id,v){return new IFC2X3.IfcRailingType(id,new IFC2X3.IfcGloballyUniqueId(v[0].value),new Handle(v[1].value),!v[2]?null:new IFC2X3.IfcLabel(v[2].value),!v[3]?null:new IFC2X3.IfcText(v[3].value),!v[4]?null:new IFC2X3.IfcLabel(v[4].value),!v[5]?null:v[5].map(function(p){return new Handle(p.value);}),!v[6]?null:v[6].map(function(p){return new Handle(p.value);}),!v[7]?null:new IFC2X3.IfcLabel(v[7].value),!v[8]?null:new IFC2X3.IfcLabel(v[8].value),v[9]);},2324767716:function _(id,v){return new IFC2X3.IfcRampFlightType(id,new IFC2X3.IfcGloballyUniqueId(v[0].value),new Handle(v[1].value),!v[2]?null:new IFC2X3.IfcLabel(v[2].value),!v[3]?null:new IFC2X3.IfcText(v[3].value),!v[4]?null:new IFC2X3.IfcLabel(v[4].value),!v[5]?null:v[5].map(function(p){return new Handle(p.value);}),!v[6]?null:v[6].map(function(p){return new Handle(p.value);}),!v[7]?null:new IFC2X3.IfcLabel(v[7].value),!v[8]?null:new IFC2X3.IfcLabel(v[8].value),v[9]);},160246688:function _(id,v){return new IFC2X3.IfcRelAggregates(id,new IFC2X3.IfcGloballyUniqueId(v[0].value),new Handle(v[1].value),!v[2]?null:new IFC2X3.IfcLabel(v[2].value),!v[3]?null:new IFC2X3.IfcText(v[3].value),new Handle(v[4].value),v[5].map(function(p){return new Handle(p.value);}));},2863920197:function _(id,v){return new IFC2X3.IfcRelAssignsTasks(id,new IFC2X3.IfcGloballyUniqueId(v[0].value),new Handle(v[1].value),!v[2]?null:new IFC2X3.IfcLabel(v[2].value),!v[3]?null:new IFC2X3.IfcText(v[3].value),v[4].map(function(p){return new Handle(p.value);}),v[5],new Handle(v[6].value),!v[7]?null:new Handle(v[7].value));},1768891740:function _(id,v){return new IFC2X3.IfcSanitaryTerminalType(id,new IFC2X3.IfcGloballyUniqueId(v[0].value),new Handle(v[1].value),!v[2]?null:new IFC2X3.IfcLabel(v[2].value),!v[3]?null:new IFC2X3.IfcText(v[3].value),!v[4]?null:new IFC2X3.IfcLabel(v[4].value),!v[5]?null:v[5].map(function(p){return new Handle(p.value);}),!v[6]?null:v[6].map(function(p){return new Handle(p.value);}),!v[7]?null:new IFC2X3.IfcLabel(v[7].value),!v[8]?null:new IFC2X3.IfcLabel(v[8].value),v[9]);},3517283431:function _(id,v){return new IFC2X3.IfcScheduleTimeControl(id,new IFC2X3.IfcGloballyUniqueId(v[0].value),new Handle(v[1].value),!v[2]?null:new IFC2X3.IfcLabel(v[2].value),!v[3]?null:new IFC2X3.IfcText(v[3].value),!v[4]?null:new IFC2X3.IfcLabel(v[4].value),!v[5]?null:new Handle(v[5].value),!v[6]?null:new Handle(v[6].value),!v[7]?null:new Handle(v[7].value),!v[8]?null:new Handle(v[8].value),!v[9]?null:new Handle(v[9].value),!v[10]?null:new Handle(v[10].value),!v[11]?null:new Handle(v[11].value),!v[12]?null:new Handle(v[12].value),!v[13]?null:new IFC2X3.IfcTimeMeasure(v[13].value),!v[14]?null:new IFC2X3.IfcTimeMeasure(v[14].value),!v[15]?null:new IFC2X3.IfcTimeMeasure(v[15].value),!v[16]?null:new IFC2X3.IfcTimeMeasure(v[16].value),!v[17]?null:new IFC2X3.IfcTimeMeasure(v[17].value),!v[18]?null:v[18].value,!v[19]?null:new Handle(v[19].value),!v[20]?null:new IFC2X3.IfcTimeMeasure(v[20].value),!v[21]?null:new IFC2X3.IfcTimeMeasure(v[21].value),!v[22]?null:new IFC2X3.IfcPositiveRatioMeasure(v[22].value));},4105383287:function _(id,v){return new IFC2X3.IfcServiceLife(id,new IFC2X3.IfcGloballyUniqueId(v[0].value),new Handle(v[1].value),!v[2]?null:new IFC2X3.IfcLabel(v[2].value),!v[3]?null:new IFC2X3.IfcText(v[3].value),!v[4]?null:new IFC2X3.IfcLabel(v[4].value),v[5],new IFC2X3.IfcTimeMeasure(v[6].value));},4097777520:function _(id,v){return new IFC2X3.IfcSite(id,new IFC2X3.IfcGloballyUniqueId(v[0].value),new Handle(v[1].value),!v[2]?null:new IFC2X3.IfcLabel(v[2].value),!v[3]?null:new IFC2X3.IfcText(v[3].value),!v[4]?null:new IFC2X3.IfcLabel(v[4].value),!v[5]?null:new Handle(v[5].value),!v[6]?null:new Handle(v[6].value),!v[7]?null:new IFC2X3.IfcLabel(v[7].value),v[8],!v[9]?null:new IFC2X3.IfcCompoundPlaneAngleMeasure(v[9]),!v[10]?null:new IFC2X3.IfcCompoundPlaneAngleMeasure(v[10]),!v[11]?null:new IFC2X3.IfcLengthMeasure(v[11].value),!v[12]?null:new IFC2X3.IfcLabel(v[12].value),!v[13]?null:new Handle(v[13].value));},2533589738:function _(id,v){return new IFC2X3.IfcSlabType(id,new IFC2X3.IfcGloballyUniqueId(v[0].value),new Handle(v[1].value),!v[2]?null:new IFC2X3.IfcLabel(v[2].value),!v[3]?null:new IFC2X3.IfcText(v[3].value),!v[4]?null:new IFC2X3.IfcLabel(v[4].value),!v[5]?null:v[5].map(function(p){return new Handle(p.value);}),!v[6]?null:v[6].map(function(p){return new Handle(p.value);}),!v[7]?null:new IFC2X3.IfcLabel(v[7].value),!v[8]?null:new IFC2X3.IfcLabel(v[8].value),v[9]);},3856911033:function _(id,v){return new IFC2X3.IfcSpace(id,new IFC2X3.IfcGloballyUniqueId(v[0].value),new Handle(v[1].value),!v[2]?null:new IFC2X3.IfcLabel(v[2].value),!v[3]?null:new IFC2X3.IfcText(v[3].value),!v[4]?null:new IFC2X3.IfcLabel(v[4].value),!v[5]?null:new Handle(v[5].value),!v[6]?null:new Handle(v[6].value),!v[7]?null:new IFC2X3.IfcLabel(v[7].value),v[8],v[9],!v[10]?null:new IFC2X3.IfcLengthMeasure(v[10].value));},1305183839:function _(id,v){return new IFC2X3.IfcSpaceHeaterType(id,new IFC2X3.IfcGloballyUniqueId(v[0].value),new Handle(v[1].value),!v[2]?null:new IFC2X3.IfcLabel(v[2].value),!v[3]?null:new IFC2X3.IfcText(v[3].value),!v[4]?null:new IFC2X3.IfcLabel(v[4].value),!v[5]?null:v[5].map(function(p){return new Handle(p.value);}),!v[6]?null:v[6].map(function(p){return new Handle(p.value);}),!v[7]?null:new IFC2X3.IfcLabel(v[7].value),!v[8]?null:new IFC2X3.IfcLabel(v[8].value),v[9]);},652456506:function _(id,v){return new IFC2X3.IfcSpaceProgram(id,new IFC2X3.IfcGloballyUniqueId(v[0].value),new Handle(v[1].value),!v[2]?null:new IFC2X3.IfcLabel(v[2].value),!v[3]?null:new IFC2X3.IfcText(v[3].value),!v[4]?null:new IFC2X3.IfcLabel(v[4].value),new IFC2X3.IfcIdentifier(v[5].value),!v[6]?null:new IFC2X3.IfcAreaMeasure(v[6].value),!v[7]?null:new IFC2X3.IfcAreaMeasure(v[7].value),!v[8]?null:new Handle(v[8].value),new IFC2X3.IfcAreaMeasure(v[9].value));},3812236995:function _(id,v){return new IFC2X3.IfcSpaceType(id,new IFC2X3.IfcGloballyUniqueId(v[0].value),new Handle(v[1].value),!v[2]?null:new IFC2X3.IfcLabel(v[2].value),!v[3]?null:new IFC2X3.IfcText(v[3].value),!v[4]?null:new IFC2X3.IfcLabel(v[4].value),!v[5]?null:v[5].map(function(p){return new Handle(p.value);}),!v[6]?null:v[6].map(function(p){return new Handle(p.value);}),!v[7]?null:new IFC2X3.IfcLabel(v[7].value),!v[8]?null:new IFC2X3.IfcLabel(v[8].value),v[9]);},3112655638:function _(id,v){return new IFC2X3.IfcStackTerminalType(id,new IFC2X3.IfcGloballyUniqueId(v[0].value),new Handle(v[1].value),!v[2]?null:new IFC2X3.IfcLabel(v[2].value),!v[3]?null:new IFC2X3.IfcText(v[3].value),!v[4]?null:new IFC2X3.IfcLabel(v[4].value),!v[5]?null:v[5].map(function(p){return new Handle(p.value);}),!v[6]?null:v[6].map(function(p){return new Handle(p.value);}),!v[7]?null:new IFC2X3.IfcLabel(v[7].value),!v[8]?null:new IFC2X3.IfcLabel(v[8].value),v[9]);},1039846685:function _(id,v){return new IFC2X3.IfcStairFlightType(id,new IFC2X3.IfcGloballyUniqueId(v[0].value),new Handle(v[1].value),!v[2]?null:new IFC2X3.IfcLabel(v[2].value),!v[3]?null:new IFC2X3.IfcText(v[3].value),!v[4]?null:new IFC2X3.IfcLabel(v[4].value),!v[5]?null:v[5].map(function(p){return new Handle(p.value);}),!v[6]?null:v[6].map(function(p){return new Handle(p.value);}),!v[7]?null:new IFC2X3.IfcLabel(v[7].value),!v[8]?null:new IFC2X3.IfcLabel(v[8].value),v[9]);},682877961:function _(id,v){return new IFC2X3.IfcStructuralAction(id,new IFC2X3.IfcGloballyUniqueId(v[0].value),new Handle(v[1].value),!v[2]?null:new IFC2X3.IfcLabel(v[2].value),!v[3]?null:new IFC2X3.IfcText(v[3].value),!v[4]?null:new IFC2X3.IfcLabel(v[4].value),!v[5]?null:new Handle(v[5].value),!v[6]?null:new Handle(v[6].value),new Handle(v[7].value),v[8],v[9].value,!v[10]?null:new Handle(v[10].value));},1179482911:function _(id,v){return new IFC2X3.IfcStructuralConnection(id,new IFC2X3.IfcGloballyUniqueId(v[0].value),new Handle(v[1].value),!v[2]?null:new IFC2X3.IfcLabel(v[2].value),!v[3]?null:new IFC2X3.IfcText(v[3].value),!v[4]?null:new IFC2X3.IfcLabel(v[4].value),!v[5]?null:new Handle(v[5].value),!v[6]?null:new Handle(v[6].value),!v[7]?null:new Handle(v[7].value));},4243806635:function _(id,v){return new IFC2X3.IfcStructuralCurveConnection(id,new IFC2X3.IfcGloballyUniqueId(v[0].value),new Handle(v[1].value),!v[2]?null:new IFC2X3.IfcLabel(v[2].value),!v[3]?null:new IFC2X3.IfcText(v[3].value),!v[4]?null:new IFC2X3.IfcLabel(v[4].value),!v[5]?null:new Handle(v[5].value),!v[6]?null:new Handle(v[6].value),!v[7]?null:new Handle(v[7].value));},214636428:function _(id,v){return new IFC2X3.IfcStructuralCurveMember(id,new IFC2X3.IfcGloballyUniqueId(v[0].value),new Handle(v[1].value),!v[2]?null:new IFC2X3.IfcLabel(v[2].value),!v[3]?null:new IFC2X3.IfcText(v[3].value),!v[4]?null:new IFC2X3.IfcLabel(v[4].value),!v[5]?null:new Handle(v[5].value),!v[6]?null:new Handle(v[6].value),v[7]);},2445595289:function _(id,v){return new IFC2X3.IfcStructuralCurveMemberVarying(id,new IFC2X3.IfcGloballyUniqueId(v[0].value),new Handle(v[1].value),!v[2]?null:new IFC2X3.IfcLabel(v[2].value),!v[3]?null:new IFC2X3.IfcText(v[3].value),!v[4]?null:new IFC2X3.IfcLabel(v[4].value),!v[5]?null:new Handle(v[5].value),!v[6]?null:new Handle(v[6].value),v[7]);},1807405624:function _(id,v){return new IFC2X3.IfcStructuralLinearAction(id,new IFC2X3.IfcGloballyUniqueId(v[0].value),new Handle(v[1].value),!v[2]?null:new IFC2X3.IfcLabel(v[2].value),!v[3]?null:new IFC2X3.IfcText(v[3].value),!v[4]?null:new IFC2X3.IfcLabel(v[4].value),!v[5]?null:new Handle(v[5].value),!v[6]?null:new Handle(v[6].value),new Handle(v[7].value),v[8],v[9].value,!v[10]?null:new Handle(v[10].value),v[11]);},1721250024:function _(id,v){return new IFC2X3.IfcStructuralLinearActionVarying(id,new IFC2X3.IfcGloballyUniqueId(v[0].value),new Handle(v[1].value),!v[2]?null:new IFC2X3.IfcLabel(v[2].value),!v[3]?null:new IFC2X3.IfcText(v[3].value),!v[4]?null:new IFC2X3.IfcLabel(v[4].value),!v[5]?null:new Handle(v[5].value),!v[6]?null:new Handle(v[6].value),new Handle(v[7].value),v[8],v[9].value,!v[10]?null:new Handle(v[10].value),v[11],new Handle(v[12].value),v[13].map(function(p){return new Handle(p.value);}));},1252848954:function _(id,v){return new IFC2X3.IfcStructuralLoadGroup(id,new IFC2X3.IfcGloballyUniqueId(v[0].value),new Handle(v[1].value),!v[2]?null:new IFC2X3.IfcLabel(v[2].value),!v[3]?null:new IFC2X3.IfcText(v[3].value),!v[4]?null:new IFC2X3.IfcLabel(v[4].value),v[5],v[6],v[7],!v[8]?null:new IFC2X3.IfcRatioMeasure(v[8].value),!v[9]?null:new IFC2X3.IfcLabel(v[9].value));},1621171031:function _(id,v){return new IFC2X3.IfcStructuralPlanarAction(id,new IFC2X3.IfcGloballyUniqueId(v[0].value),new Handle(v[1].value),!v[2]?null:new IFC2X3.IfcLabel(v[2].value),!v[3]?null:new IFC2X3.IfcText(v[3].value),!v[4]?null:new IFC2X3.IfcLabel(v[4].value),!v[5]?null:new Handle(v[5].value),!v[6]?null:new Handle(v[6].value),new Handle(v[7].value),v[8],v[9].value,!v[10]?null:new Handle(v[10].value),v[11]);},3987759626:function _(id,v){return new IFC2X3.IfcStructuralPlanarActionVarying(id,new IFC2X3.IfcGloballyUniqueId(v[0].value),new Handle(v[1].value),!v[2]?null:new IFC2X3.IfcLabel(v[2].value),!v[3]?null:new IFC2X3.IfcText(v[3].value),!v[4]?null:new IFC2X3.IfcLabel(v[4].value),!v[5]?null:new Handle(v[5].value),!v[6]?null:new Handle(v[6].value),new Handle(v[7].value),v[8],v[9].value,!v[10]?null:new Handle(v[10].value),v[11],new Handle(v[12].value),v[13].map(function(p){return new Handle(p.value);}));},2082059205:function _(id,v){return new IFC2X3.IfcStructuralPointAction(id,new IFC2X3.IfcGloballyUniqueId(v[0].value),new Handle(v[1].value),!v[2]?null:new IFC2X3.IfcLabel(v[2].value),!v[3]?null:new IFC2X3.IfcText(v[3].value),!v[4]?null:new IFC2X3.IfcLabel(v[4].value),!v[5]?null:new Handle(v[5].value),!v[6]?null:new Handle(v[6].value),new Handle(v[7].value),v[8],v[9].value,!v[10]?null:new Handle(v[10].value));},734778138:function _(id,v){return new IFC2X3.IfcStructuralPointConnection(id,new IFC2X3.IfcGloballyUniqueId(v[0].value),new Handle(v[1].value),!v[2]?null:new IFC2X3.IfcLabel(v[2].value),!v[3]?null:new IFC2X3.IfcText(v[3].value),!v[4]?null:new IFC2X3.IfcLabel(v[4].value),!v[5]?null:new Handle(v[5].value),!v[6]?null:new Handle(v[6].value),!v[7]?null:new Handle(v[7].value));},1235345126:function _(id,v){return new IFC2X3.IfcStructuralPointReaction(id,new IFC2X3.IfcGloballyUniqueId(v[0].value),new Handle(v[1].value),!v[2]?null:new IFC2X3.IfcLabel(v[2].value),!v[3]?null:new IFC2X3.IfcText(v[3].value),!v[4]?null:new IFC2X3.IfcLabel(v[4].value),!v[5]?null:new Handle(v[5].value),!v[6]?null:new Handle(v[6].value),new Handle(v[7].value),v[8]);},2986769608:function _(id,v){return new IFC2X3.IfcStructuralResultGroup(id,new IFC2X3.IfcGloballyUniqueId(v[0].value),new Handle(v[1].value),!v[2]?null:new IFC2X3.IfcLabel(v[2].value),!v[3]?null:new IFC2X3.IfcText(v[3].value),!v[4]?null:new IFC2X3.IfcLabel(v[4].value),v[5],!v[6]?null:new Handle(v[6].value),v[7].value);},1975003073:function _(id,v){return new IFC2X3.IfcStructuralSurfaceConnection(id,new IFC2X3.IfcGloballyUniqueId(v[0].value),new Handle(v[1].value),!v[2]?null:new IFC2X3.IfcLabel(v[2].value),!v[3]?null:new IFC2X3.IfcText(v[3].value),!v[4]?null:new IFC2X3.IfcLabel(v[4].value),!v[5]?null:new Handle(v[5].value),!v[6]?null:new Handle(v[6].value),!v[7]?null:new Handle(v[7].value));},148013059:function _(id,v){return new IFC2X3.IfcSubContractResource(id,new IFC2X3.IfcGloballyUniqueId(v[0].value),new Handle(v[1].value),!v[2]?null:new IFC2X3.IfcLabel(v[2].value),!v[3]?null:new IFC2X3.IfcText(v[3].value),!v[4]?null:new IFC2X3.IfcLabel(v[4].value),!v[5]?null:new IFC2X3.IfcIdentifier(v[5].value),!v[6]?null:new IFC2X3.IfcLabel(v[6].value),v[7],!v[8]?null:new Handle(v[8].value),!v[9]?null:new Handle(v[9].value),!v[10]?null:new IFC2X3.IfcText(v[10].value));},2315554128:function _(id,v){return new IFC2X3.IfcSwitchingDeviceType(id,new IFC2X3.IfcGloballyUniqueId(v[0].value),new Handle(v[1].value),!v[2]?null:new IFC2X3.IfcLabel(v[2].value),!v[3]?null:new IFC2X3.IfcText(v[3].value),!v[4]?null:new IFC2X3.IfcLabel(v[4].value),!v[5]?null:v[5].map(function(p){return new Handle(p.value);}),!v[6]?null:v[6].map(function(p){return new Handle(p.value);}),!v[7]?null:new IFC2X3.IfcLabel(v[7].value),!v[8]?null:new IFC2X3.IfcLabel(v[8].value),v[9]);},2254336722:function _(id,v){return new IFC2X3.IfcSystem(id,new IFC2X3.IfcGloballyUniqueId(v[0].value),new Handle(v[1].value),!v[2]?null:new IFC2X3.IfcLabel(v[2].value),!v[3]?null:new IFC2X3.IfcText(v[3].value),!v[4]?null:new IFC2X3.IfcLabel(v[4].value));},5716631:function _(id,v){return new IFC2X3.IfcTankType(id,new IFC2X3.IfcGloballyUniqueId(v[0].value),new Handle(v[1].value),!v[2]?null:new IFC2X3.IfcLabel(v[2].value),!v[3]?null:new IFC2X3.IfcText(v[3].value),!v[4]?null:new IFC2X3.IfcLabel(v[4].value),!v[5]?null:v[5].map(function(p){return new Handle(p.value);}),!v[6]?null:v[6].map(function(p){return new Handle(p.value);}),!v[7]?null:new IFC2X3.IfcLabel(v[7].value),!v[8]?null:new IFC2X3.IfcLabel(v[8].value),v[9]);},1637806684:function _(id,v){return new IFC2X3.IfcTimeSeriesSchedule(id,new IFC2X3.IfcGloballyUniqueId(v[0].value),new Handle(v[1].value),!v[2]?null:new IFC2X3.IfcLabel(v[2].value),!v[3]?null:new IFC2X3.IfcText(v[3].value),!v[4]?null:new IFC2X3.IfcLabel(v[4].value),!v[5]?null:v[5].map(function(p){return new Handle(p.value);}),v[6],new Handle(v[7].value));},1692211062:function _(id,v){return new IFC2X3.IfcTransformerType(id,new IFC2X3.IfcGloballyUniqueId(v[0].value),new Handle(v[1].value),!v[2]?null:new IFC2X3.IfcLabel(v[2].value),!v[3]?null:new IFC2X3.IfcText(v[3].value),!v[4]?null:new IFC2X3.IfcLabel(v[4].value),!v[5]?null:v[5].map(function(p){return new Handle(p.value);}),!v[6]?null:v[6].map(function(p){return new Handle(p.value);}),!v[7]?null:new IFC2X3.IfcLabel(v[7].value),!v[8]?null:new IFC2X3.IfcLabel(v[8].value),v[9]);},1620046519:function _(id,v){return new IFC2X3.IfcTransportElement(id,new IFC2X3.IfcGloballyUniqueId(v[0].value),new Handle(v[1].value),!v[2]?null:new IFC2X3.IfcLabel(v[2].value),!v[3]?null:new IFC2X3.IfcText(v[3].value),!v[4]?null:new IFC2X3.IfcLabel(v[4].value),!v[5]?null:new Handle(v[5].value),!v[6]?null:new Handle(v[6].value),!v[7]?null:new IFC2X3.IfcIdentifier(v[7].value),v[8],!v[9]?null:new IFC2X3.IfcMassMeasure(v[9].value),!v[10]?null:new IFC2X3.IfcCountMeasure(v[10].value));},3593883385:function _(id,v){return new IFC2X3.IfcTrimmedCurve(id,new Handle(v[0].value),v[1].map(function(p){return new Handle(p.value);}),v[2].map(function(p){return new Handle(p.value);}),v[3].value,v[4]);},1600972822:function _(id,v){return new IFC2X3.IfcTubeBundleType(id,new IFC2X3.IfcGloballyUniqueId(v[0].value),new Handle(v[1].value),!v[2]?null:new IFC2X3.IfcLabel(v[2].value),!v[3]?null:new IFC2X3.IfcText(v[3].value),!v[4]?null:new IFC2X3.IfcLabel(v[4].value),!v[5]?null:v[5].map(function(p){return new Handle(p.value);}),!v[6]?null:v[6].map(function(p){return new Handle(p.value);}),!v[7]?null:new IFC2X3.IfcLabel(v[7].value),!v[8]?null:new IFC2X3.IfcLabel(v[8].value),v[9]);},1911125066:function _(id,v){return new IFC2X3.IfcUnitaryEquipmentType(id,new IFC2X3.IfcGloballyUniqueId(v[0].value),new Handle(v[1].value),!v[2]?null:new IFC2X3.IfcLabel(v[2].value),!v[3]?null:new IFC2X3.IfcText(v[3].value),!v[4]?null:new IFC2X3.IfcLabel(v[4].value),!v[5]?null:v[5].map(function(p){return new Handle(p.value);}),!v[6]?null:v[6].map(function(p){return new Handle(p.value);}),!v[7]?null:new IFC2X3.IfcLabel(v[7].value),!v[8]?null:new IFC2X3.IfcLabel(v[8].value),v[9]);},728799441:function _(id,v){return new IFC2X3.IfcValveType(id,new IFC2X3.IfcGloballyUniqueId(v[0].value),new Handle(v[1].value),!v[2]?null:new IFC2X3.IfcLabel(v[2].value),!v[3]?null:new IFC2X3.IfcText(v[3].value),!v[4]?null:new IFC2X3.IfcLabel(v[4].value),!v[5]?null:v[5].map(function(p){return new Handle(p.value);}),!v[6]?null:v[6].map(function(p){return new Handle(p.value);}),!v[7]?null:new IFC2X3.IfcLabel(v[7].value),!v[8]?null:new IFC2X3.IfcLabel(v[8].value),v[9]);},2769231204:function _(id,v){return new IFC2X3.IfcVirtualElement(id,new IFC2X3.IfcGloballyUniqueId(v[0].value),new Handle(v[1].value),!v[2]?null:new IFC2X3.IfcLabel(v[2].value),!v[3]?null:new IFC2X3.IfcText(v[3].value),!v[4]?null:new IFC2X3.IfcLabel(v[4].value),!v[5]?null:new Handle(v[5].value),!v[6]?null:new Handle(v[6].value),!v[7]?null:new IFC2X3.IfcIdentifier(v[7].value));},1898987631:function _(id,v){return new IFC2X3.IfcWallType(id,new IFC2X3.IfcGloballyUniqueId(v[0].value),new Handle(v[1].value),!v[2]?null:new IFC2X3.IfcLabel(v[2].value),!v[3]?null:new IFC2X3.IfcText(v[3].value),!v[4]?null:new IFC2X3.IfcLabel(v[4].value),!v[5]?null:v[5].map(function(p){return new Handle(p.value);}),!v[6]?null:v[6].map(function(p){return new Handle(p.value);}),!v[7]?null:new IFC2X3.IfcLabel(v[7].value),!v[8]?null:new IFC2X3.IfcLabel(v[8].value),v[9]);},1133259667:function _(id,v){return new IFC2X3.IfcWasteTerminalType(id,new IFC2X3.IfcGloballyUniqueId(v[0].value),new Handle(v[1].value),!v[2]?null:new IFC2X3.IfcLabel(v[2].value),!v[3]?null:new IFC2X3.IfcText(v[3].value),!v[4]?null:new IFC2X3.IfcLabel(v[4].value),!v[5]?null:v[5].map(function(p){return new Handle(p.value);}),!v[6]?null:v[6].map(function(p){return new Handle(p.value);}),!v[7]?null:new IFC2X3.IfcLabel(v[7].value),!v[8]?null:new IFC2X3.IfcLabel(v[8].value),v[9]);},1028945134:function _(id,v){return new IFC2X3.IfcWorkControl(id,new IFC2X3.IfcGloballyUniqueId(v[0].value),new Handle(v[1].value),!v[2]?null:new IFC2X3.IfcLabel(v[2].value),!v[3]?null:new IFC2X3.IfcText(v[3].value),!v[4]?null:new IFC2X3.IfcLabel(v[4].value),new IFC2X3.IfcIdentifier(v[5].value),new Handle(v[6].value),!v[7]?null:v[7].map(function(p){return new Handle(p.value);}),!v[8]?null:new IFC2X3.IfcLabel(v[8].value),!v[9]?null:new IFC2X3.IfcTimeMeasure(v[9].value),!v[10]?null:new IFC2X3.IfcTimeMeasure(v[10].value),new Handle(v[11].value),!v[12]?null:new Handle(v[12].value),v[13],!v[14]?null:new IFC2X3.IfcLabel(v[14].value));},4218914973:function _(id,v){return new IFC2X3.IfcWorkPlan(id,new IFC2X3.IfcGloballyUniqueId(v[0].value),new Handle(v[1].value),!v[2]?null:new IFC2X3.IfcLabel(v[2].value),!v[3]?null:new IFC2X3.IfcText(v[3].value),!v[4]?null:new IFC2X3.IfcLabel(v[4].value),new IFC2X3.IfcIdentifier(v[5].value),new Handle(v[6].value),!v[7]?null:v[7].map(function(p){return new Handle(p.value);}),!v[8]?null:new IFC2X3.IfcLabel(v[8].value),!v[9]?null:new IFC2X3.IfcTimeMeasure(v[9].value),!v[10]?null:new IFC2X3.IfcTimeMeasure(v[10].value),new Handle(v[11].value),!v[12]?null:new Handle(v[12].value),v[13],!v[14]?null:new IFC2X3.IfcLabel(v[14].value));},3342526732:function _(id,v){return new IFC2X3.IfcWorkSchedule(id,new IFC2X3.IfcGloballyUniqueId(v[0].value),new Handle(v[1].value),!v[2]?null:new IFC2X3.IfcLabel(v[2].value),!v[3]?null:new IFC2X3.IfcText(v[3].value),!v[4]?null:new IFC2X3.IfcLabel(v[4].value),new IFC2X3.IfcIdentifier(v[5].value),new Handle(v[6].value),!v[7]?null:v[7].map(function(p){return new Handle(p.value);}),!v[8]?null:new IFC2X3.IfcLabel(v[8].value),!v[9]?null:new IFC2X3.IfcTimeMeasure(v[9].value),!v[10]?null:new IFC2X3.IfcTimeMeasure(v[10].value),new Handle(v[11].value),!v[12]?null:new Handle(v[12].value),v[13],!v[14]?null:new IFC2X3.IfcLabel(v[14].value));},1033361043:function _(id,v){return new IFC2X3.IfcZone(id,new IFC2X3.IfcGloballyUniqueId(v[0].value),new Handle(v[1].value),!v[2]?null:new IFC2X3.IfcLabel(v[2].value),!v[3]?null:new IFC2X3.IfcText(v[3].value),!v[4]?null:new IFC2X3.IfcLabel(v[4].value));},1213861670:function _(id,v){return new IFC2X3.Ifc2DCompositeCurve(id,v[0].map(function(p){return new Handle(p.value);}),v[1].value);},3821786052:function _(id,v){return new IFC2X3.IfcActionRequest(id,new IFC2X3.IfcGloballyUniqueId(v[0].value),new Handle(v[1].value),!v[2]?null:new IFC2X3.IfcLabel(v[2].value),!v[3]?null:new IFC2X3.IfcText(v[3].value),!v[4]?null:new IFC2X3.IfcLabel(v[4].value),new IFC2X3.IfcIdentifier(v[5].value));},1411407467:function _(id,v){return new IFC2X3.IfcAirTerminalBoxType(id,new IFC2X3.IfcGloballyUniqueId(v[0].value),new Handle(v[1].value),!v[2]?null:new IFC2X3.IfcLabel(v[2].value),!v[3]?null:new IFC2X3.IfcText(v[3].value),!v[4]?null:new IFC2X3.IfcLabel(v[4].value),!v[5]?null:v[5].map(function(p){return new Handle(p.value);}),!v[6]?null:v[6].map(function(p){return new Handle(p.value);}),!v[7]?null:new IFC2X3.IfcLabel(v[7].value),!v[8]?null:new IFC2X3.IfcLabel(v[8].value),v[9]);},3352864051:function _(id,v){return new IFC2X3.IfcAirTerminalType(id,new IFC2X3.IfcGloballyUniqueId(v[0].value),new Handle(v[1].value),!v[2]?null:new IFC2X3.IfcLabel(v[2].value),!v[3]?null:new IFC2X3.IfcText(v[3].value),!v[4]?null:new IFC2X3.IfcLabel(v[4].value),!v[5]?null:v[5].map(function(p){return new Handle(p.value);}),!v[6]?null:v[6].map(function(p){return new Handle(p.value);}),!v[7]?null:new IFC2X3.IfcLabel(v[7].value),!v[8]?null:new IFC2X3.IfcLabel(v[8].value),v[9]);},1871374353:function _(id,v){return new IFC2X3.IfcAirToAirHeatRecoveryType(id,new IFC2X3.IfcGloballyUniqueId(v[0].value),new Handle(v[1].value),!v[2]?null:new IFC2X3.IfcLabel(v[2].value),!v[3]?null:new IFC2X3.IfcText(v[3].value),!v[4]?null:new IFC2X3.IfcLabel(v[4].value),!v[5]?null:v[5].map(function(p){return new Handle(p.value);}),!v[6]?null:v[6].map(function(p){return new Handle(p.value);}),!v[7]?null:new IFC2X3.IfcLabel(v[7].value),!v[8]?null:new IFC2X3.IfcLabel(v[8].value),v[9]);},2470393545:function _(id,v){return new IFC2X3.IfcAngularDimension(id,v[0].map(function(p){return new Handle(p.value);}));},3460190687:function _(id,v){return new IFC2X3.IfcAsset(id,new IFC2X3.IfcGloballyUniqueId(v[0].value),new Handle(v[1].value),!v[2]?null:new IFC2X3.IfcLabel(v[2].value),!v[3]?null:new IFC2X3.IfcText(v[3].value),!v[4]?null:new IFC2X3.IfcLabel(v[4].value),new IFC2X3.IfcIdentifier(v[5].value),new Handle(v[6].value),new Handle(v[7].value),new Handle(v[8].value),new Handle(v[9].value),new Handle(v[10].value),new Handle(v[11].value),new Handle(v[12].value),new Handle(v[13].value));},1967976161:function _(id,v){return new IFC2X3.IfcBSplineCurve(id,v[0].value,v[1].map(function(p){return new Handle(p.value);}),v[2],v[3].value,v[4].value);},819618141:function _(id,v){return new IFC2X3.IfcBeamType(id,new IFC2X3.IfcGloballyUniqueId(v[0].value),new Handle(v[1].value),!v[2]?null:new IFC2X3.IfcLabel(v[2].value),!v[3]?null:new IFC2X3.IfcText(v[3].value),!v[4]?null:new IFC2X3.IfcLabel(v[4].value),!v[5]?null:v[5].map(function(p){return new Handle(p.value);}),!v[6]?null:v[6].map(function(p){return new Handle(p.value);}),!v[7]?null:new IFC2X3.IfcLabel(v[7].value),!v[8]?null:new IFC2X3.IfcLabel(v[8].value),v[9]);},1916977116:function _(id,v){return new IFC2X3.IfcBezierCurve(id,v[0].value,v[1].map(function(p){return new Handle(p.value);}),v[2],v[3].value,v[4].value);},231477066:function _(id,v){return new IFC2X3.IfcBoilerType(id,new IFC2X3.IfcGloballyUniqueId(v[0].value),new Handle(v[1].value),!v[2]?null:new IFC2X3.IfcLabel(v[2].value),!v[3]?null:new IFC2X3.IfcText(v[3].value),!v[4]?null:new IFC2X3.IfcLabel(v[4].value),!v[5]?null:v[5].map(function(p){return new Handle(p.value);}),!v[6]?null:v[6].map(function(p){return new Handle(p.value);}),!v[7]?null:new IFC2X3.IfcLabel(v[7].value),!v[8]?null:new IFC2X3.IfcLabel(v[8].value),v[9]);},3299480353:function _(id,v){return new IFC2X3.IfcBuildingElement(id,new IFC2X3.IfcGloballyUniqueId(v[0].value),new Handle(v[1].value),!v[2]?null:new IFC2X3.IfcLabel(v[2].value),!v[3]?null:new IFC2X3.IfcText(v[3].value),!v[4]?null:new IFC2X3.IfcLabel(v[4].value),!v[5]?null:new Handle(v[5].value),!v[6]?null:new Handle(v[6].value),!v[7]?null:new IFC2X3.IfcIdentifier(v[7].value));},52481810:function _(id,v){return new IFC2X3.IfcBuildingElementComponent(id,new IFC2X3.IfcGloballyUniqueId(v[0].value),new Handle(v[1].value),!v[2]?null:new IFC2X3.IfcLabel(v[2].value),!v[3]?null:new IFC2X3.IfcText(v[3].value),!v[4]?null:new IFC2X3.IfcLabel(v[4].value),!v[5]?null:new Handle(v[5].value),!v[6]?null:new Handle(v[6].value),!v[7]?null:new IFC2X3.IfcIdentifier(v[7].value));},2979338954:function _(id,v){return new IFC2X3.IfcBuildingElementPart(id,new IFC2X3.IfcGloballyUniqueId(v[0].value),new Handle(v[1].value),!v[2]?null:new IFC2X3.IfcLabel(v[2].value),!v[3]?null:new IFC2X3.IfcText(v[3].value),!v[4]?null:new IFC2X3.IfcLabel(v[4].value),!v[5]?null:new Handle(v[5].value),!v[6]?null:new Handle(v[6].value),!v[7]?null:new IFC2X3.IfcIdentifier(v[7].value));},1095909175:function _(id,v){return new IFC2X3.IfcBuildingElementProxy(id,new IFC2X3.IfcGloballyUniqueId(v[0].value),new Handle(v[1].value),!v[2]?null:new IFC2X3.IfcLabel(v[2].value),!v[3]?null:new IFC2X3.IfcText(v[3].value),!v[4]?null:new IFC2X3.IfcLabel(v[4].value),!v[5]?null:new Handle(v[5].value),!v[6]?null:new Handle(v[6].value),!v[7]?null:new IFC2X3.IfcIdentifier(v[7].value),v[8]);},1909888760:function _(id,v){return new IFC2X3.IfcBuildingElementProxyType(id,new IFC2X3.IfcGloballyUniqueId(v[0].value),new Handle(v[1].value),!v[2]?null:new IFC2X3.IfcLabel(v[2].value),!v[3]?null:new IFC2X3.IfcText(v[3].value),!v[4]?null:new IFC2X3.IfcLabel(v[4].value),!v[5]?null:v[5].map(function(p){return new Handle(p.value);}),!v[6]?null:v[6].map(function(p){return new Handle(p.value);}),!v[7]?null:new IFC2X3.IfcLabel(v[7].value),!v[8]?null:new IFC2X3.IfcLabel(v[8].value),v[9]);},395041908:function _(id,v){return new IFC2X3.IfcCableCarrierFittingType(id,new IFC2X3.IfcGloballyUniqueId(v[0].value),new Handle(v[1].value),!v[2]?null:new IFC2X3.IfcLabel(v[2].value),!v[3]?null:new IFC2X3.IfcText(v[3].value),!v[4]?null:new IFC2X3.IfcLabel(v[4].value),!v[5]?null:v[5].map(function(p){return new Handle(p.value);}),!v[6]?null:v[6].map(function(p){return new Handle(p.value);}),!v[7]?null:new IFC2X3.IfcLabel(v[7].value),!v[8]?null:new IFC2X3.IfcLabel(v[8].value),v[9]);},3293546465:function _(id,v){return new IFC2X3.IfcCableCarrierSegmentType(id,new IFC2X3.IfcGloballyUniqueId(v[0].value),new Handle(v[1].value),!v[2]?null:new IFC2X3.IfcLabel(v[2].value),!v[3]?null:new IFC2X3.IfcText(v[3].value),!v[4]?null:new IFC2X3.IfcLabel(v[4].value),!v[5]?null:v[5].map(function(p){return new Handle(p.value);}),!v[6]?null:v[6].map(function(p){return new Handle(p.value);}),!v[7]?null:new IFC2X3.IfcLabel(v[7].value),!v[8]?null:new IFC2X3.IfcLabel(v[8].value),v[9]);},1285652485:function _(id,v){return new IFC2X3.IfcCableSegmentType(id,new IFC2X3.IfcGloballyUniqueId(v[0].value),new Handle(v[1].value),!v[2]?null:new IFC2X3.IfcLabel(v[2].value),!v[3]?null:new IFC2X3.IfcText(v[3].value),!v[4]?null:new IFC2X3.IfcLabel(v[4].value),!v[5]?null:v[5].map(function(p){return new Handle(p.value);}),!v[6]?null:v[6].map(function(p){return new Handle(p.value);}),!v[7]?null:new IFC2X3.IfcLabel(v[7].value),!v[8]?null:new IFC2X3.IfcLabel(v[8].value),v[9]);},2951183804:function _(id,v){return new IFC2X3.IfcChillerType(id,new IFC2X3.IfcGloballyUniqueId(v[0].value),new Handle(v[1].value),!v[2]?null:new IFC2X3.IfcLabel(v[2].value),!v[3]?null:new IFC2X3.IfcText(v[3].value),!v[4]?null:new IFC2X3.IfcLabel(v[4].value),!v[5]?null:v[5].map(function(p){return new Handle(p.value);}),!v[6]?null:v[6].map(function(p){return new Handle(p.value);}),!v[7]?null:new IFC2X3.IfcLabel(v[7].value),!v[8]?null:new IFC2X3.IfcLabel(v[8].value),v[9]);},2611217952:function _(id,v){return new IFC2X3.IfcCircle(id,new Handle(v[0].value),new IFC2X3.IfcPositiveLengthMeasure(v[1].value));},2301859152:function _(id,v){return new IFC2X3.IfcCoilType(id,new IFC2X3.IfcGloballyUniqueId(v[0].value),new Handle(v[1].value),!v[2]?null:new IFC2X3.IfcLabel(v[2].value),!v[3]?null:new IFC2X3.IfcText(v[3].value),!v[4]?null:new IFC2X3.IfcLabel(v[4].value),!v[5]?null:v[5].map(function(p){return new Handle(p.value);}),!v[6]?null:v[6].map(function(p){return new Handle(p.value);}),!v[7]?null:new IFC2X3.IfcLabel(v[7].value),!v[8]?null:new IFC2X3.IfcLabel(v[8].value),v[9]);},843113511:function _(id,v){return new IFC2X3.IfcColumn(id,new IFC2X3.IfcGloballyUniqueId(v[0].value),new Handle(v[1].value),!v[2]?null:new IFC2X3.IfcLabel(v[2].value),!v[3]?null:new IFC2X3.IfcText(v[3].value),!v[4]?null:new IFC2X3.IfcLabel(v[4].value),!v[5]?null:new Handle(v[5].value),!v[6]?null:new Handle(v[6].value),!v[7]?null:new IFC2X3.IfcIdentifier(v[7].value));},3850581409:function _(id,v){return new IFC2X3.IfcCompressorType(id,new IFC2X3.IfcGloballyUniqueId(v[0].value),new Handle(v[1].value),!v[2]?null:new IFC2X3.IfcLabel(v[2].value),!v[3]?null:new IFC2X3.IfcText(v[3].value),!v[4]?null:new IFC2X3.IfcLabel(v[4].value),!v[5]?null:v[5].map(function(p){return new Handle(p.value);}),!v[6]?null:v[6].map(function(p){return new Handle(p.value);}),!v[7]?null:new IFC2X3.IfcLabel(v[7].value),!v[8]?null:new IFC2X3.IfcLabel(v[8].value),v[9]);},2816379211:function _(id,v){return new IFC2X3.IfcCondenserType(id,new IFC2X3.IfcGloballyUniqueId(v[0].value),new Handle(v[1].value),!v[2]?null:new IFC2X3.IfcLabel(v[2].value),!v[3]?null:new IFC2X3.IfcText(v[3].value),!v[4]?null:new IFC2X3.IfcLabel(v[4].value),!v[5]?null:v[5].map(function(p){return new Handle(p.value);}),!v[6]?null:v[6].map(function(p){return new Handle(p.value);}),!v[7]?null:new IFC2X3.IfcLabel(v[7].value),!v[8]?null:new IFC2X3.IfcLabel(v[8].value),v[9]);},2188551683:function _(id,v){return new IFC2X3.IfcCondition(id,new IFC2X3.IfcGloballyUniqueId(v[0].value),new Handle(v[1].value),!v[2]?null:new IFC2X3.IfcLabel(v[2].value),!v[3]?null:new IFC2X3.IfcText(v[3].value),!v[4]?null:new IFC2X3.IfcLabel(v[4].value));},1163958913:function _(id,v){return new IFC2X3.IfcConditionCriterion(id,new IFC2X3.IfcGloballyUniqueId(v[0].value),new Handle(v[1].value),!v[2]?null:new IFC2X3.IfcLabel(v[2].value),!v[3]?null:new IFC2X3.IfcText(v[3].value),!v[4]?null:new IFC2X3.IfcLabel(v[4].value),new Handle(v[5].value),new Handle(v[6].value));},3898045240:function _(id,v){return new IFC2X3.IfcConstructionEquipmentResource(id,new IFC2X3.IfcGloballyUniqueId(v[0].value),new Handle(v[1].value),!v[2]?null:new IFC2X3.IfcLabel(v[2].value),!v[3]?null:new IFC2X3.IfcText(v[3].value),!v[4]?null:new IFC2X3.IfcLabel(v[4].value),!v[5]?null:new IFC2X3.IfcIdentifier(v[5].value),!v[6]?null:new IFC2X3.IfcLabel(v[6].value),v[7],!v[8]?null:new Handle(v[8].value));},1060000209:function _(id,v){return new IFC2X3.IfcConstructionMaterialResource(id,new IFC2X3.IfcGloballyUniqueId(v[0].value),new Handle(v[1].value),!v[2]?null:new IFC2X3.IfcLabel(v[2].value),!v[3]?null:new IFC2X3.IfcText(v[3].value),!v[4]?null:new IFC2X3.IfcLabel(v[4].value),!v[5]?null:new IFC2X3.IfcIdentifier(v[5].value),!v[6]?null:new IFC2X3.IfcLabel(v[6].value),v[7],!v[8]?null:new Handle(v[8].value),!v[9]?null:v[9].map(function(p){return new Handle(p.value);}),!v[10]?null:new IFC2X3.IfcRatioMeasure(v[10].value));},488727124:function _(id,v){return new IFC2X3.IfcConstructionProductResource(id,new IFC2X3.IfcGloballyUniqueId(v[0].value),new Handle(v[1].value),!v[2]?null:new IFC2X3.IfcLabel(v[2].value),!v[3]?null:new IFC2X3.IfcText(v[3].value),!v[4]?null:new IFC2X3.IfcLabel(v[4].value),!v[5]?null:new IFC2X3.IfcIdentifier(v[5].value),!v[6]?null:new IFC2X3.IfcLabel(v[6].value),v[7],!v[8]?null:new Handle(v[8].value));},335055490:function _(id,v){return new IFC2X3.IfcCooledBeamType(id,new IFC2X3.IfcGloballyUniqueId(v[0].value),new Handle(v[1].value),!v[2]?null:new IFC2X3.IfcLabel(v[2].value),!v[3]?null:new IFC2X3.IfcText(v[3].value),!v[4]?null:new IFC2X3.IfcLabel(v[4].value),!v[5]?null:v[5].map(function(p){return new Handle(p.value);}),!v[6]?null:v[6].map(function(p){return new Handle(p.value);}),!v[7]?null:new IFC2X3.IfcLabel(v[7].value),!v[8]?null:new IFC2X3.IfcLabel(v[8].value),v[9]);},2954562838:function _(id,v){return new IFC2X3.IfcCoolingTowerType(id,new IFC2X3.IfcGloballyUniqueId(v[0].value),new Handle(v[1].value),!v[2]?null:new IFC2X3.IfcLabel(v[2].value),!v[3]?null:new IFC2X3.IfcText(v[3].value),!v[4]?null:new IFC2X3.IfcLabel(v[4].value),!v[5]?null:v[5].map(function(p){return new Handle(p.value);}),!v[6]?null:v[6].map(function(p){return new Handle(p.value);}),!v[7]?null:new IFC2X3.IfcLabel(v[7].value),!v[8]?null:new IFC2X3.IfcLabel(v[8].value),v[9]);},1973544240:function _(id,v){return new IFC2X3.IfcCovering(id,new IFC2X3.IfcGloballyUniqueId(v[0].value),new Handle(v[1].value),!v[2]?null:new IFC2X3.IfcLabel(v[2].value),!v[3]?null:new IFC2X3.IfcText(v[3].value),!v[4]?null:new IFC2X3.IfcLabel(v[4].value),!v[5]?null:new Handle(v[5].value),!v[6]?null:new Handle(v[6].value),!v[7]?null:new IFC2X3.IfcIdentifier(v[7].value),v[8]);},3495092785:function _(id,v){return new IFC2X3.IfcCurtainWall(id,new IFC2X3.IfcGloballyUniqueId(v[0].value),new Handle(v[1].value),!v[2]?null:new IFC2X3.IfcLabel(v[2].value),!v[3]?null:new IFC2X3.IfcText(v[3].value),!v[4]?null:new IFC2X3.IfcLabel(v[4].value),!v[5]?null:new Handle(v[5].value),!v[6]?null:new Handle(v[6].value),!v[7]?null:new IFC2X3.IfcIdentifier(v[7].value));},3961806047:function _(id,v){return new IFC2X3.IfcDamperType(id,new IFC2X3.IfcGloballyUniqueId(v[0].value),new Handle(v[1].value),!v[2]?null:new IFC2X3.IfcLabel(v[2].value),!v[3]?null:new IFC2X3.IfcText(v[3].value),!v[4]?null:new IFC2X3.IfcLabel(v[4].value),!v[5]?null:v[5].map(function(p){return new Handle(p.value);}),!v[6]?null:v[6].map(function(p){return new Handle(p.value);}),!v[7]?null:new IFC2X3.IfcLabel(v[7].value),!v[8]?null:new IFC2X3.IfcLabel(v[8].value),v[9]);},4147604152:function _(id,v){return new IFC2X3.IfcDiameterDimension(id,v[0].map(function(p){return new Handle(p.value);}));},1335981549:function _(id,v){return new IFC2X3.IfcDiscreteAccessory(id,new IFC2X3.IfcGloballyUniqueId(v[0].value),new Handle(v[1].value),!v[2]?null:new IFC2X3.IfcLabel(v[2].value),!v[3]?null:new IFC2X3.IfcText(v[3].value),!v[4]?null:new IFC2X3.IfcLabel(v[4].value),!v[5]?null:new Handle(v[5].value),!v[6]?null:new Handle(v[6].value),!v[7]?null:new IFC2X3.IfcIdentifier(v[7].value));},2635815018:function _(id,v){return new IFC2X3.IfcDiscreteAccessoryType(id,new IFC2X3.IfcGloballyUniqueId(v[0].value),new Handle(v[1].value),!v[2]?null:new IFC2X3.IfcLabel(v[2].value),!v[3]?null:new IFC2X3.IfcText(v[3].value),!v[4]?null:new IFC2X3.IfcLabel(v[4].value),!v[5]?null:v[5].map(function(p){return new Handle(p.value);}),!v[6]?null:v[6].map(function(p){return new Handle(p.value);}),!v[7]?null:new IFC2X3.IfcLabel(v[7].value),!v[8]?null:new IFC2X3.IfcLabel(v[8].value));},1599208980:function _(id,v){return new IFC2X3.IfcDistributionChamberElementType(id,new IFC2X3.IfcGloballyUniqueId(v[0].value),new Handle(v[1].value),!v[2]?null:new IFC2X3.IfcLabel(v[2].value),!v[3]?null:new IFC2X3.IfcText(v[3].value),!v[4]?null:new IFC2X3.IfcLabel(v[4].value),!v[5]?null:v[5].map(function(p){return new Handle(p.value);}),!v[6]?null:v[6].map(function(p){return new Handle(p.value);}),!v[7]?null:new IFC2X3.IfcLabel(v[7].value),!v[8]?null:new IFC2X3.IfcLabel(v[8].value),v[9]);},2063403501:function _(id,v){return new IFC2X3.IfcDistributionControlElementType(id,new IFC2X3.IfcGloballyUniqueId(v[0].value),new Handle(v[1].value),!v[2]?null:new IFC2X3.IfcLabel(v[2].value),!v[3]?null:new IFC2X3.IfcText(v[3].value),!v[4]?null:new IFC2X3.IfcLabel(v[4].value),!v[5]?null:v[5].map(function(p){return new Handle(p.value);}),!v[6]?null:v[6].map(function(p){return new Handle(p.value);}),!v[7]?null:new IFC2X3.IfcLabel(v[7].value),!v[8]?null:new IFC2X3.IfcLabel(v[8].value));},1945004755:function _(id,v){return new IFC2X3.IfcDistributionElement(id,new IFC2X3.IfcGloballyUniqueId(v[0].value),new Handle(v[1].value),!v[2]?null:new IFC2X3.IfcLabel(v[2].value),!v[3]?null:new IFC2X3.IfcText(v[3].value),!v[4]?null:new IFC2X3.IfcLabel(v[4].value),!v[5]?null:new Handle(v[5].value),!v[6]?null:new Handle(v[6].value),!v[7]?null:new IFC2X3.IfcIdentifier(v[7].value));},3040386961:function _(id,v){return new IFC2X3.IfcDistributionFlowElement(id,new IFC2X3.IfcGloballyUniqueId(v[0].value),new Handle(v[1].value),!v[2]?null:new IFC2X3.IfcLabel(v[2].value),!v[3]?null:new IFC2X3.IfcText(v[3].value),!v[4]?null:new IFC2X3.IfcLabel(v[4].value),!v[5]?null:new Handle(v[5].value),!v[6]?null:new Handle(v[6].value),!v[7]?null:new IFC2X3.IfcIdentifier(v[7].value));},3041715199:function _(id,v){return new IFC2X3.IfcDistributionPort(id,new IFC2X3.IfcGloballyUniqueId(v[0].value),new Handle(v[1].value),!v[2]?null:new IFC2X3.IfcLabel(v[2].value),!v[3]?null:new IFC2X3.IfcText(v[3].value),!v[4]?null:new IFC2X3.IfcLabel(v[4].value),!v[5]?null:new Handle(v[5].value),!v[6]?null:new Handle(v[6].value),v[7]);},395920057:function _(id,v){return new IFC2X3.IfcDoor(id,new IFC2X3.IfcGloballyUniqueId(v[0].value),new Handle(v[1].value),!v[2]?null:new IFC2X3.IfcLabel(v[2].value),!v[3]?null:new IFC2X3.IfcText(v[3].value),!v[4]?null:new IFC2X3.IfcLabel(v[4].value),!v[5]?null:new Handle(v[5].value),!v[6]?null:new Handle(v[6].value),!v[7]?null:new IFC2X3.IfcIdentifier(v[7].value),!v[8]?null:new IFC2X3.IfcPositiveLengthMeasure(v[8].value),!v[9]?null:new IFC2X3.IfcPositiveLengthMeasure(v[9].value));},869906466:function _(id,v){return new IFC2X3.IfcDuctFittingType(id,new IFC2X3.IfcGloballyUniqueId(v[0].value),new Handle(v[1].value),!v[2]?null:new IFC2X3.IfcLabel(v[2].value),!v[3]?null:new IFC2X3.IfcText(v[3].value),!v[4]?null:new IFC2X3.IfcLabel(v[4].value),!v[5]?null:v[5].map(function(p){return new Handle(p.value);}),!v[6]?null:v[6].map(function(p){return new Handle(p.value);}),!v[7]?null:new IFC2X3.IfcLabel(v[7].value),!v[8]?null:new IFC2X3.IfcLabel(v[8].value),v[9]);},3760055223:function _(id,v){return new IFC2X3.IfcDuctSegmentType(id,new IFC2X3.IfcGloballyUniqueId(v[0].value),new Handle(v[1].value),!v[2]?null:new IFC2X3.IfcLabel(v[2].value),!v[3]?null:new IFC2X3.IfcText(v[3].value),!v[4]?null:new IFC2X3.IfcLabel(v[4].value),!v[5]?null:v[5].map(function(p){return new Handle(p.value);}),!v[6]?null:v[6].map(function(p){return new Handle(p.value);}),!v[7]?null:new IFC2X3.IfcLabel(v[7].value),!v[8]?null:new IFC2X3.IfcLabel(v[8].value),v[9]);},2030761528:function _(id,v){return new IFC2X3.IfcDuctSilencerType(id,new IFC2X3.IfcGloballyUniqueId(v[0].value),new Handle(v[1].value),!v[2]?null:new IFC2X3.IfcLabel(v[2].value),!v[3]?null:new IFC2X3.IfcText(v[3].value),!v[4]?null:new IFC2X3.IfcLabel(v[4].value),!v[5]?null:v[5].map(function(p){return new Handle(p.value);}),!v[6]?null:v[6].map(function(p){return new Handle(p.value);}),!v[7]?null:new IFC2X3.IfcLabel(v[7].value),!v[8]?null:new IFC2X3.IfcLabel(v[8].value),v[9]);},855621170:function _(id,v){return new IFC2X3.IfcEdgeFeature(id,new IFC2X3.IfcGloballyUniqueId(v[0].value),new Handle(v[1].value),!v[2]?null:new IFC2X3.IfcLabel(v[2].value),!v[3]?null:new IFC2X3.IfcText(v[3].value),!v[4]?null:new IFC2X3.IfcLabel(v[4].value),!v[5]?null:new Handle(v[5].value),!v[6]?null:new Handle(v[6].value),!v[7]?null:new IFC2X3.IfcIdentifier(v[7].value),!v[8]?null:new IFC2X3.IfcPositiveLengthMeasure(v[8].value));},663422040:function _(id,v){return new IFC2X3.IfcElectricApplianceType(id,new IFC2X3.IfcGloballyUniqueId(v[0].value),new Handle(v[1].value),!v[2]?null:new IFC2X3.IfcLabel(v[2].value),!v[3]?null:new IFC2X3.IfcText(v[3].value),!v[4]?null:new IFC2X3.IfcLabel(v[4].value),!v[5]?null:v[5].map(function(p){return new Handle(p.value);}),!v[6]?null:v[6].map(function(p){return new Handle(p.value);}),!v[7]?null:new IFC2X3.IfcLabel(v[7].value),!v[8]?null:new IFC2X3.IfcLabel(v[8].value),v[9]);},3277789161:function _(id,v){return new IFC2X3.IfcElectricFlowStorageDeviceType(id,new IFC2X3.IfcGloballyUniqueId(v[0].value),new Handle(v[1].value),!v[2]?null:new IFC2X3.IfcLabel(v[2].value),!v[3]?null:new IFC2X3.IfcText(v[3].value),!v[4]?null:new IFC2X3.IfcLabel(v[4].value),!v[5]?null:v[5].map(function(p){return new Handle(p.value);}),!v[6]?null:v[6].map(function(p){return new Handle(p.value);}),!v[7]?null:new IFC2X3.IfcLabel(v[7].value),!v[8]?null:new IFC2X3.IfcLabel(v[8].value),v[9]);},1534661035:function _(id,v){return new IFC2X3.IfcElectricGeneratorType(id,new IFC2X3.IfcGloballyUniqueId(v[0].value),new Handle(v[1].value),!v[2]?null:new IFC2X3.IfcLabel(v[2].value),!v[3]?null:new IFC2X3.IfcText(v[3].value),!v[4]?null:new IFC2X3.IfcLabel(v[4].value),!v[5]?null:v[5].map(function(p){return new Handle(p.value);}),!v[6]?null:v[6].map(function(p){return new Handle(p.value);}),!v[7]?null:new IFC2X3.IfcLabel(v[7].value),!v[8]?null:new IFC2X3.IfcLabel(v[8].value),v[9]);},1365060375:function _(id,v){return new IFC2X3.IfcElectricHeaterType(id,new IFC2X3.IfcGloballyUniqueId(v[0].value),new Handle(v[1].value),!v[2]?null:new IFC2X3.IfcLabel(v[2].value),!v[3]?null:new IFC2X3.IfcText(v[3].value),!v[4]?null:new IFC2X3.IfcLabel(v[4].value),!v[5]?null:v[5].map(function(p){return new Handle(p.value);}),!v[6]?null:v[6].map(function(p){return new Handle(p.value);}),!v[7]?null:new IFC2X3.IfcLabel(v[7].value),!v[8]?null:new IFC2X3.IfcLabel(v[8].value),v[9]);},1217240411:function _(id,v){return new IFC2X3.IfcElectricMotorType(id,new IFC2X3.IfcGloballyUniqueId(v[0].value),new Handle(v[1].value),!v[2]?null:new IFC2X3.IfcLabel(v[2].value),!v[3]?null:new IFC2X3.IfcText(v[3].value),!v[4]?null:new IFC2X3.IfcLabel(v[4].value),!v[5]?null:v[5].map(function(p){return new Handle(p.value);}),!v[6]?null:v[6].map(function(p){return new Handle(p.value);}),!v[7]?null:new IFC2X3.IfcLabel(v[7].value),!v[8]?null:new IFC2X3.IfcLabel(v[8].value),v[9]);},712377611:function _(id,v){return new IFC2X3.IfcElectricTimeControlType(id,new IFC2X3.IfcGloballyUniqueId(v[0].value),new Handle(v[1].value),!v[2]?null:new IFC2X3.IfcLabel(v[2].value),!v[3]?null:new IFC2X3.IfcText(v[3].value),!v[4]?null:new IFC2X3.IfcLabel(v[4].value),!v[5]?null:v[5].map(function(p){return new Handle(p.value);}),!v[6]?null:v[6].map(function(p){return new Handle(p.value);}),!v[7]?null:new IFC2X3.IfcLabel(v[7].value),!v[8]?null:new IFC2X3.IfcLabel(v[8].value),v[9]);},1634875225:function _(id,v){return new IFC2X3.IfcElectricalCircuit(id,new IFC2X3.IfcGloballyUniqueId(v[0].value),new Handle(v[1].value),!v[2]?null:new IFC2X3.IfcLabel(v[2].value),!v[3]?null:new IFC2X3.IfcText(v[3].value),!v[4]?null:new IFC2X3.IfcLabel(v[4].value));},857184966:function _(id,v){return new IFC2X3.IfcElectricalElement(id,new IFC2X3.IfcGloballyUniqueId(v[0].value),new Handle(v[1].value),!v[2]?null:new IFC2X3.IfcLabel(v[2].value),!v[3]?null:new IFC2X3.IfcText(v[3].value),!v[4]?null:new IFC2X3.IfcLabel(v[4].value),!v[5]?null:new Handle(v[5].value),!v[6]?null:new Handle(v[6].value),!v[7]?null:new IFC2X3.IfcIdentifier(v[7].value));},1658829314:function _(id,v){return new IFC2X3.IfcEnergyConversionDevice(id,new IFC2X3.IfcGloballyUniqueId(v[0].value),new Handle(v[1].value),!v[2]?null:new IFC2X3.IfcLabel(v[2].value),!v[3]?null:new IFC2X3.IfcText(v[3].value),!v[4]?null:new IFC2X3.IfcLabel(v[4].value),!v[5]?null:new Handle(v[5].value),!v[6]?null:new Handle(v[6].value),!v[7]?null:new IFC2X3.IfcIdentifier(v[7].value));},346874300:function _(id,v){return new IFC2X3.IfcFanType(id,new IFC2X3.IfcGloballyUniqueId(v[0].value),new Handle(v[1].value),!v[2]?null:new IFC2X3.IfcLabel(v[2].value),!v[3]?null:new IFC2X3.IfcText(v[3].value),!v[4]?null:new IFC2X3.IfcLabel(v[4].value),!v[5]?null:v[5].map(function(p){return new Handle(p.value);}),!v[6]?null:v[6].map(function(p){return new Handle(p.value);}),!v[7]?null:new IFC2X3.IfcLabel(v[7].value),!v[8]?null:new IFC2X3.IfcLabel(v[8].value),v[9]);},1810631287:function _(id,v){return new IFC2X3.IfcFilterType(id,new IFC2X3.IfcGloballyUniqueId(v[0].value),new Handle(v[1].value),!v[2]?null:new IFC2X3.IfcLabel(v[2].value),!v[3]?null:new IFC2X3.IfcText(v[3].value),!v[4]?null:new IFC2X3.IfcLabel(v[4].value),!v[5]?null:v[5].map(function(p){return new Handle(p.value);}),!v[6]?null:v[6].map(function(p){return new Handle(p.value);}),!v[7]?null:new IFC2X3.IfcLabel(v[7].value),!v[8]?null:new IFC2X3.IfcLabel(v[8].value),v[9]);},4222183408:function _(id,v){return new IFC2X3.IfcFireSuppressionTerminalType(id,new IFC2X3.IfcGloballyUniqueId(v[0].value),new Handle(v[1].value),!v[2]?null:new IFC2X3.IfcLabel(v[2].value),!v[3]?null:new IFC2X3.IfcText(v[3].value),!v[4]?null:new IFC2X3.IfcLabel(v[4].value),!v[5]?null:v[5].map(function(p){return new Handle(p.value);}),!v[6]?null:v[6].map(function(p){return new Handle(p.value);}),!v[7]?null:new IFC2X3.IfcLabel(v[7].value),!v[8]?null:new IFC2X3.IfcLabel(v[8].value),v[9]);},2058353004:function _(id,v){return new IFC2X3.IfcFlowController(id,new IFC2X3.IfcGloballyUniqueId(v[0].value),new Handle(v[1].value),!v[2]?null:new IFC2X3.IfcLabel(v[2].value),!v[3]?null:new IFC2X3.IfcText(v[3].value),!v[4]?null:new IFC2X3.IfcLabel(v[4].value),!v[5]?null:new Handle(v[5].value),!v[6]?null:new Handle(v[6].value),!v[7]?null:new IFC2X3.IfcIdentifier(v[7].value));},4278956645:function _(id,v){return new IFC2X3.IfcFlowFitting(id,new IFC2X3.IfcGloballyUniqueId(v[0].value),new Handle(v[1].value),!v[2]?null:new IFC2X3.IfcLabel(v[2].value),!v[3]?null:new IFC2X3.IfcText(v[3].value),!v[4]?null:new IFC2X3.IfcLabel(v[4].value),!v[5]?null:new Handle(v[5].value),!v[6]?null:new Handle(v[6].value),!v[7]?null:new IFC2X3.IfcIdentifier(v[7].value));},4037862832:function _(id,v){return new IFC2X3.IfcFlowInstrumentType(id,new IFC2X3.IfcGloballyUniqueId(v[0].value),new Handle(v[1].value),!v[2]?null:new IFC2X3.IfcLabel(v[2].value),!v[3]?null:new IFC2X3.IfcText(v[3].value),!v[4]?null:new IFC2X3.IfcLabel(v[4].value),!v[5]?null:v[5].map(function(p){return new Handle(p.value);}),!v[6]?null:v[6].map(function(p){return new Handle(p.value);}),!v[7]?null:new IFC2X3.IfcLabel(v[7].value),!v[8]?null:new IFC2X3.IfcLabel(v[8].value),v[9]);},3132237377:function _(id,v){return new IFC2X3.IfcFlowMovingDevice(id,new IFC2X3.IfcGloballyUniqueId(v[0].value),new Handle(v[1].value),!v[2]?null:new IFC2X3.IfcLabel(v[2].value),!v[3]?null:new IFC2X3.IfcText(v[3].value),!v[4]?null:new IFC2X3.IfcLabel(v[4].value),!v[5]?null:new Handle(v[5].value),!v[6]?null:new Handle(v[6].value),!v[7]?null:new IFC2X3.IfcIdentifier(v[7].value));},987401354:function _(id,v){return new IFC2X3.IfcFlowSegment(id,new IFC2X3.IfcGloballyUniqueId(v[0].value),new Handle(v[1].value),!v[2]?null:new IFC2X3.IfcLabel(v[2].value),!v[3]?null:new IFC2X3.IfcText(v[3].value),!v[4]?null:new IFC2X3.IfcLabel(v[4].value),!v[5]?null:new Handle(v[5].value),!v[6]?null:new Handle(v[6].value),!v[7]?null:new IFC2X3.IfcIdentifier(v[7].value));},707683696:function _(id,v){return new IFC2X3.IfcFlowStorageDevice(id,new IFC2X3.IfcGloballyUniqueId(v[0].value),new Handle(v[1].value),!v[2]?null:new IFC2X3.IfcLabel(v[2].value),!v[3]?null:new IFC2X3.IfcText(v[3].value),!v[4]?null:new IFC2X3.IfcLabel(v[4].value),!v[5]?null:new Handle(v[5].value),!v[6]?null:new Handle(v[6].value),!v[7]?null:new IFC2X3.IfcIdentifier(v[7].value));},2223149337:function _(id,v){return new IFC2X3.IfcFlowTerminal(id,new IFC2X3.IfcGloballyUniqueId(v[0].value),new Handle(v[1].value),!v[2]?null:new IFC2X3.IfcLabel(v[2].value),!v[3]?null:new IFC2X3.IfcText(v[3].value),!v[4]?null:new IFC2X3.IfcLabel(v[4].value),!v[5]?null:new Handle(v[5].value),!v[6]?null:new Handle(v[6].value),!v[7]?null:new IFC2X3.IfcIdentifier(v[7].value));},3508470533:function _(id,v){return new IFC2X3.IfcFlowTreatmentDevice(id,new IFC2X3.IfcGloballyUniqueId(v[0].value),new Handle(v[1].value),!v[2]?null:new IFC2X3.IfcLabel(v[2].value),!v[3]?null:new IFC2X3.IfcText(v[3].value),!v[4]?null:new IFC2X3.IfcLabel(v[4].value),!v[5]?null:new Handle(v[5].value),!v[6]?null:new Handle(v[6].value),!v[7]?null:new IFC2X3.IfcIdentifier(v[7].value));},900683007:function _(id,v){return new IFC2X3.IfcFooting(id,new IFC2X3.IfcGloballyUniqueId(v[0].value),new Handle(v[1].value),!v[2]?null:new IFC2X3.IfcLabel(v[2].value),!v[3]?null:new IFC2X3.IfcText(v[3].value),!v[4]?null:new IFC2X3.IfcLabel(v[4].value),!v[5]?null:new Handle(v[5].value),!v[6]?null:new Handle(v[6].value),!v[7]?null:new IFC2X3.IfcIdentifier(v[7].value),v[8]);},1073191201:function _(id,v){return new IFC2X3.IfcMember(id,new IFC2X3.IfcGloballyUniqueId(v[0].value),new Handle(v[1].value),!v[2]?null:new IFC2X3.IfcLabel(v[2].value),!v[3]?null:new IFC2X3.IfcText(v[3].value),!v[4]?null:new IFC2X3.IfcLabel(v[4].value),!v[5]?null:new Handle(v[5].value),!v[6]?null:new Handle(v[6].value),!v[7]?null:new IFC2X3.IfcIdentifier(v[7].value));},1687234759:function _(id,v){return new IFC2X3.IfcPile(id,new IFC2X3.IfcGloballyUniqueId(v[0].value),new Handle(v[1].value),!v[2]?null:new IFC2X3.IfcLabel(v[2].value),!v[3]?null:new IFC2X3.IfcText(v[3].value),!v[4]?null:new IFC2X3.IfcLabel(v[4].value),!v[5]?null:new Handle(v[5].value),!v[6]?null:new Handle(v[6].value),!v[7]?null:new IFC2X3.IfcIdentifier(v[7].value),v[8],v[9]);},3171933400:function _(id,v){return new IFC2X3.IfcPlate(id,new IFC2X3.IfcGloballyUniqueId(v[0].value),new Handle(v[1].value),!v[2]?null:new IFC2X3.IfcLabel(v[2].value),!v[3]?null:new IFC2X3.IfcText(v[3].value),!v[4]?null:new IFC2X3.IfcLabel(v[4].value),!v[5]?null:new Handle(v[5].value),!v[6]?null:new Handle(v[6].value),!v[7]?null:new IFC2X3.IfcIdentifier(v[7].value));},2262370178:function _(id,v){return new IFC2X3.IfcRailing(id,new IFC2X3.IfcGloballyUniqueId(v[0].value),new Handle(v[1].value),!v[2]?null:new IFC2X3.IfcLabel(v[2].value),!v[3]?null:new IFC2X3.IfcText(v[3].value),!v[4]?null:new IFC2X3.IfcLabel(v[4].value),!v[5]?null:new Handle(v[5].value),!v[6]?null:new Handle(v[6].value),!v[7]?null:new IFC2X3.IfcIdentifier(v[7].value),v[8]);},3024970846:function _(id,v){return new IFC2X3.IfcRamp(id,new IFC2X3.IfcGloballyUniqueId(v[0].value),new Handle(v[1].value),!v[2]?null:new IFC2X3.IfcLabel(v[2].value),!v[3]?null:new IFC2X3.IfcText(v[3].value),!v[4]?null:new IFC2X3.IfcLabel(v[4].value),!v[5]?null:new Handle(v[5].value),!v[6]?null:new Handle(v[6].value),!v[7]?null:new IFC2X3.IfcIdentifier(v[7].value),v[8]);},3283111854:function _(id,v){return new IFC2X3.IfcRampFlight(id,new IFC2X3.IfcGloballyUniqueId(v[0].value),new Handle(v[1].value),!v[2]?null:new IFC2X3.IfcLabel(v[2].value),!v[3]?null:new IFC2X3.IfcText(v[3].value),!v[4]?null:new IFC2X3.IfcLabel(v[4].value),!v[5]?null:new Handle(v[5].value),!v[6]?null:new Handle(v[6].value),!v[7]?null:new IFC2X3.IfcIdentifier(v[7].value));},3055160366:function _(id,v){return new IFC2X3.IfcRationalBezierCurve(id,v[0].value,v[1].map(function(p){return new Handle(p.value);}),v[2],v[3].value,v[4].value,v[5].map(function(p){return p.value;}));},3027567501:function _(id,v){return new IFC2X3.IfcReinforcingElement(id,new IFC2X3.IfcGloballyUniqueId(v[0].value),new Handle(v[1].value),!v[2]?null:new IFC2X3.IfcLabel(v[2].value),!v[3]?null:new IFC2X3.IfcText(v[3].value),!v[4]?null:new IFC2X3.IfcLabel(v[4].value),!v[5]?null:new Handle(v[5].value),!v[6]?null:new Handle(v[6].value),!v[7]?null:new IFC2X3.IfcIdentifier(v[7].value),!v[8]?null:new IFC2X3.IfcLabel(v[8].value));},2320036040:function _(id,v){return new IFC2X3.IfcReinforcingMesh(id,new IFC2X3.IfcGloballyUniqueId(v[0].value),new Handle(v[1].value),!v[2]?null:new IFC2X3.IfcLabel(v[2].value),!v[3]?null:new IFC2X3.IfcText(v[3].value),!v[4]?null:new IFC2X3.IfcLabel(v[4].value),!v[5]?null:new Handle(v[5].value),!v[6]?null:new Handle(v[6].value),!v[7]?null:new IFC2X3.IfcIdentifier(v[7].value),!v[8]?null:new IFC2X3.IfcLabel(v[8].value),!v[9]?null:new IFC2X3.IfcPositiveLengthMeasure(v[9].value),!v[10]?null:new IFC2X3.IfcPositiveLengthMeasure(v[10].value),new IFC2X3.IfcPositiveLengthMeasure(v[11].value),new IFC2X3.IfcPositiveLengthMeasure(v[12].value),new IFC2X3.IfcAreaMeasure(v[13].value),new IFC2X3.IfcAreaMeasure(v[14].value),new IFC2X3.IfcPositiveLengthMeasure(v[15].value),new IFC2X3.IfcPositiveLengthMeasure(v[16].value));},2016517767:function _(id,v){return new IFC2X3.IfcRoof(id,new IFC2X3.IfcGloballyUniqueId(v[0].value),new Handle(v[1].value),!v[2]?null:new IFC2X3.IfcLabel(v[2].value),!v[3]?null:new IFC2X3.IfcText(v[3].value),!v[4]?null:new IFC2X3.IfcLabel(v[4].value),!v[5]?null:new Handle(v[5].value),!v[6]?null:new Handle(v[6].value),!v[7]?null:new IFC2X3.IfcIdentifier(v[7].value),v[8]);},1376911519:function _(id,v){return new IFC2X3.IfcRoundedEdgeFeature(id,new IFC2X3.IfcGloballyUniqueId(v[0].value),new Handle(v[1].value),!v[2]?null:new IFC2X3.IfcLabel(v[2].value),!v[3]?null:new IFC2X3.IfcText(v[3].value),!v[4]?null:new IFC2X3.IfcLabel(v[4].value),!v[5]?null:new Handle(v[5].value),!v[6]?null:new Handle(v[6].value),!v[7]?null:new IFC2X3.IfcIdentifier(v[7].value),!v[8]?null:new IFC2X3.IfcPositiveLengthMeasure(v[8].value),!v[9]?null:new IFC2X3.IfcPositiveLengthMeasure(v[9].value));},1783015770:function _(id,v){return new IFC2X3.IfcSensorType(id,new IFC2X3.IfcGloballyUniqueId(v[0].value),new Handle(v[1].value),!v[2]?null:new IFC2X3.IfcLabel(v[2].value),!v[3]?null:new IFC2X3.IfcText(v[3].value),!v[4]?null:new IFC2X3.IfcLabel(v[4].value),!v[5]?null:v[5].map(function(p){return new Handle(p.value);}),!v[6]?null:v[6].map(function(p){return new Handle(p.value);}),!v[7]?null:new IFC2X3.IfcLabel(v[7].value),!v[8]?null:new IFC2X3.IfcLabel(v[8].value),v[9]);},1529196076:function _(id,v){return new IFC2X3.IfcSlab(id,new IFC2X3.IfcGloballyUniqueId(v[0].value),new Handle(v[1].value),!v[2]?null:new IFC2X3.IfcLabel(v[2].value),!v[3]?null:new IFC2X3.IfcText(v[3].value),!v[4]?null:new IFC2X3.IfcLabel(v[4].value),!v[5]?null:new Handle(v[5].value),!v[6]?null:new Handle(v[6].value),!v[7]?null:new IFC2X3.IfcIdentifier(v[7].value),v[8]);},331165859:function _(id,v){return new IFC2X3.IfcStair(id,new IFC2X3.IfcGloballyUniqueId(v[0].value),new Handle(v[1].value),!v[2]?null:new IFC2X3.IfcLabel(v[2].value),!v[3]?null:new IFC2X3.IfcText(v[3].value),!v[4]?null:new IFC2X3.IfcLabel(v[4].value),!v[5]?null:new Handle(v[5].value),!v[6]?null:new Handle(v[6].value),!v[7]?null:new IFC2X3.IfcIdentifier(v[7].value),v[8]);},4252922144:function _(id,v){return new IFC2X3.IfcStairFlight(id,new IFC2X3.IfcGloballyUniqueId(v[0].value),new Handle(v[1].value),!v[2]?null:new IFC2X3.IfcLabel(v[2].value),!v[3]?null:new IFC2X3.IfcText(v[3].value),!v[4]?null:new IFC2X3.IfcLabel(v[4].value),!v[5]?null:new Handle(v[5].value),!v[6]?null:new Handle(v[6].value),!v[7]?null:new IFC2X3.IfcIdentifier(v[7].value),!v[8]?null:v[8].value,!v[9]?null:v[9].value,!v[10]?null:new IFC2X3.IfcPositiveLengthMeasure(v[10].value),!v[11]?null:new IFC2X3.IfcPositiveLengthMeasure(v[11].value));},2515109513:function _(id,v){return new IFC2X3.IfcStructuralAnalysisModel(id,new IFC2X3.IfcGloballyUniqueId(v[0].value),new Handle(v[1].value),!v[2]?null:new IFC2X3.IfcLabel(v[2].value),!v[3]?null:new IFC2X3.IfcText(v[3].value),!v[4]?null:new IFC2X3.IfcLabel(v[4].value),v[5],!v[6]?null:new Handle(v[6].value),!v[7]?null:v[7].map(function(p){return new Handle(p.value);}),!v[8]?null:v[8].map(function(p){return new Handle(p.value);}));},3824725483:function _(id,v){return new IFC2X3.IfcTendon(id,new IFC2X3.IfcGloballyUniqueId(v[0].value),new Handle(v[1].value),!v[2]?null:new IFC2X3.IfcLabel(v[2].value),!v[3]?null:new IFC2X3.IfcText(v[3].value),!v[4]?null:new IFC2X3.IfcLabel(v[4].value),!v[5]?null:new Handle(v[5].value),!v[6]?null:new Handle(v[6].value),!v[7]?null:new IFC2X3.IfcIdentifier(v[7].value),!v[8]?null:new IFC2X3.IfcLabel(v[8].value),v[9],new IFC2X3.IfcPositiveLengthMeasure(v[10].value),new IFC2X3.IfcAreaMeasure(v[11].value),!v[12]?null:new IFC2X3.IfcForceMeasure(v[12].value),!v[13]?null:new IFC2X3.IfcPressureMeasure(v[13].value),!v[14]?null:new IFC2X3.IfcNormalisedRatioMeasure(v[14].value),!v[15]?null:new IFC2X3.IfcPositiveLengthMeasure(v[15].value),!v[16]?null:new IFC2X3.IfcPositiveLengthMeasure(v[16].value));},2347447852:function _(id,v){return new IFC2X3.IfcTendonAnchor(id,new IFC2X3.IfcGloballyUniqueId(v[0].value),new Handle(v[1].value),!v[2]?null:new IFC2X3.IfcLabel(v[2].value),!v[3]?null:new IFC2X3.IfcText(v[3].value),!v[4]?null:new IFC2X3.IfcLabel(v[4].value),!v[5]?null:new Handle(v[5].value),!v[6]?null:new Handle(v[6].value),!v[7]?null:new IFC2X3.IfcIdentifier(v[7].value),!v[8]?null:new IFC2X3.IfcLabel(v[8].value));},3313531582:function _(id,v){return new IFC2X3.IfcVibrationIsolatorType(id,new IFC2X3.IfcGloballyUniqueId(v[0].value),new Handle(v[1].value),!v[2]?null:new IFC2X3.IfcLabel(v[2].value),!v[3]?null:new IFC2X3.IfcText(v[3].value),!v[4]?null:new IFC2X3.IfcLabel(v[4].value),!v[5]?null:v[5].map(function(p){return new Handle(p.value);}),!v[6]?null:v[6].map(function(p){return new Handle(p.value);}),!v[7]?null:new IFC2X3.IfcLabel(v[7].value),!v[8]?null:new IFC2X3.IfcLabel(v[8].value),v[9]);},2391406946:function _(id,v){return new IFC2X3.IfcWall(id,new IFC2X3.IfcGloballyUniqueId(v[0].value),new Handle(v[1].value),!v[2]?null:new IFC2X3.IfcLabel(v[2].value),!v[3]?null:new IFC2X3.IfcText(v[3].value),!v[4]?null:new IFC2X3.IfcLabel(v[4].value),!v[5]?null:new Handle(v[5].value),!v[6]?null:new Handle(v[6].value),!v[7]?null:new IFC2X3.IfcIdentifier(v[7].value));},3512223829:function _(id,v){return new IFC2X3.IfcWallStandardCase(id,new IFC2X3.IfcGloballyUniqueId(v[0].value),new Handle(v[1].value),!v[2]?null:new IFC2X3.IfcLabel(v[2].value),!v[3]?null:new IFC2X3.IfcText(v[3].value),!v[4]?null:new IFC2X3.IfcLabel(v[4].value),!v[5]?null:new Handle(v[5].value),!v[6]?null:new Handle(v[6].value),!v[7]?null:new IFC2X3.IfcIdentifier(v[7].value));},3304561284:function _(id,v){return new IFC2X3.IfcWindow(id,new IFC2X3.IfcGloballyUniqueId(v[0].value),new Handle(v[1].value),!v[2]?null:new IFC2X3.IfcLabel(v[2].value),!v[3]?null:new IFC2X3.IfcText(v[3].value),!v[4]?null:new IFC2X3.IfcLabel(v[4].value),!v[5]?null:new Handle(v[5].value),!v[6]?null:new Handle(v[6].value),!v[7]?null:new IFC2X3.IfcIdentifier(v[7].value),!v[8]?null:new IFC2X3.IfcPositiveLengthMeasure(v[8].value),!v[9]?null:new IFC2X3.IfcPositiveLengthMeasure(v[9].value));},2874132201:function _(id,v){return new IFC2X3.IfcActuatorType(id,new IFC2X3.IfcGloballyUniqueId(v[0].value),new Handle(v[1].value),!v[2]?null:new IFC2X3.IfcLabel(v[2].value),!v[3]?null:new IFC2X3.IfcText(v[3].value),!v[4]?null:new IFC2X3.IfcLabel(v[4].value),!v[5]?null:v[5].map(function(p){return new Handle(p.value);}),!v[6]?null:v[6].map(function(p){return new Handle(p.value);}),!v[7]?null:new IFC2X3.IfcLabel(v[7].value),!v[8]?null:new IFC2X3.IfcLabel(v[8].value),v[9]);},3001207471:function _(id,v){return new IFC2X3.IfcAlarmType(id,new IFC2X3.IfcGloballyUniqueId(v[0].value),new Handle(v[1].value),!v[2]?null:new IFC2X3.IfcLabel(v[2].value),!v[3]?null:new IFC2X3.IfcText(v[3].value),!v[4]?null:new IFC2X3.IfcLabel(v[4].value),!v[5]?null:v[5].map(function(p){return new Handle(p.value);}),!v[6]?null:v[6].map(function(p){return new Handle(p.value);}),!v[7]?null:new IFC2X3.IfcLabel(v[7].value),!v[8]?null:new IFC2X3.IfcLabel(v[8].value),v[9]);},753842376:function _(id,v){return new IFC2X3.IfcBeam(id,new IFC2X3.IfcGloballyUniqueId(v[0].value),new Handle(v[1].value),!v[2]?null:new IFC2X3.IfcLabel(v[2].value),!v[3]?null:new IFC2X3.IfcText(v[3].value),!v[4]?null:new IFC2X3.IfcLabel(v[4].value),!v[5]?null:new Handle(v[5].value),!v[6]?null:new Handle(v[6].value),!v[7]?null:new IFC2X3.IfcIdentifier(v[7].value));},2454782716:function _(id,v){return new IFC2X3.IfcChamferEdgeFeature(id,new IFC2X3.IfcGloballyUniqueId(v[0].value),new Handle(v[1].value),!v[2]?null:new IFC2X3.IfcLabel(v[2].value),!v[3]?null:new IFC2X3.IfcText(v[3].value),!v[4]?null:new IFC2X3.IfcLabel(v[4].value),!v[5]?null:new Handle(v[5].value),!v[6]?null:new Handle(v[6].value),!v[7]?null:new IFC2X3.IfcIdentifier(v[7].value),!v[8]?null:new IFC2X3.IfcPositiveLengthMeasure(v[8].value),!v[9]?null:new IFC2X3.IfcPositiveLengthMeasure(v[9].value),!v[10]?null:new IFC2X3.IfcPositiveLengthMeasure(v[10].value));},578613899:function _(id,v){return new IFC2X3.IfcControllerType(id,new IFC2X3.IfcGloballyUniqueId(v[0].value),new Handle(v[1].value),!v[2]?null:new IFC2X3.IfcLabel(v[2].value),!v[3]?null:new IFC2X3.IfcText(v[3].value),!v[4]?null:new IFC2X3.IfcLabel(v[4].value),!v[5]?null:v[5].map(function(p){return new Handle(p.value);}),!v[6]?null:v[6].map(function(p){return new Handle(p.value);}),!v[7]?null:new IFC2X3.IfcLabel(v[7].value),!v[8]?null:new IFC2X3.IfcLabel(v[8].value),v[9]);},1052013943:function _(id,v){return new IFC2X3.IfcDistributionChamberElement(id,new IFC2X3.IfcGloballyUniqueId(v[0].value),new Handle(v[1].value),!v[2]?null:new IFC2X3.IfcLabel(v[2].value),!v[3]?null:new IFC2X3.IfcText(v[3].value),!v[4]?null:new IFC2X3.IfcLabel(v[4].value),!v[5]?null:new Handle(v[5].value),!v[6]?null:new Handle(v[6].value),!v[7]?null:new IFC2X3.IfcIdentifier(v[7].value));},1062813311:function _(id,v){return new IFC2X3.IfcDistributionControlElement(id,new IFC2X3.IfcGloballyUniqueId(v[0].value),new Handle(v[1].value),!v[2]?null:new IFC2X3.IfcLabel(v[2].value),!v[3]?null:new IFC2X3.IfcText(v[3].value),!v[4]?null:new IFC2X3.IfcLabel(v[4].value),!v[5]?null:new Handle(v[5].value),!v[6]?null:new Handle(v[6].value),!v[7]?null:new IFC2X3.IfcIdentifier(v[7].value),!v[8]?null:new IFC2X3.IfcIdentifier(v[8].value));},3700593921:function _(id,v){return new IFC2X3.IfcElectricDistributionPoint(id,new IFC2X3.IfcGloballyUniqueId(v[0].value),new Handle(v[1].value),!v[2]?null:new IFC2X3.IfcLabel(v[2].value),!v[3]?null:new IFC2X3.IfcText(v[3].value),!v[4]?null:new IFC2X3.IfcLabel(v[4].value),!v[5]?null:new Handle(v[5].value),!v[6]?null:new Handle(v[6].value),!v[7]?null:new IFC2X3.IfcIdentifier(v[7].value),v[8],!v[9]?null:new IFC2X3.IfcLabel(v[9].value));},979691226:function _(id,v){return new IFC2X3.IfcReinforcingBar(id,new IFC2X3.IfcGloballyUniqueId(v[0].value),new Handle(v[1].value),!v[2]?null:new IFC2X3.IfcLabel(v[2].value),!v[3]?null:new IFC2X3.IfcText(v[3].value),!v[4]?null:new IFC2X3.IfcLabel(v[4].value),!v[5]?null:new Handle(v[5].value),!v[6]?null:new Handle(v[6].value),!v[7]?null:new IFC2X3.IfcIdentifier(v[7].value),!v[8]?null:new IFC2X3.IfcLabel(v[8].value),new IFC2X3.IfcPositiveLengthMeasure(v[9].value),new IFC2X3.IfcAreaMeasure(v[10].value),!v[11]?null:new IFC2X3.IfcPositiveLengthMeasure(v[11].value),v[12],v[13]);}};InheritanceDef[1]={618182010:[IFCTELECOMADDRESS,IFCPOSTALADDRESS],411424972:[IFCENVIRONMENTALIMPACTVALUE,IFCCOSTVALUE],4037036970:[IFCBOUNDARYNODECONDITIONWARPING,IFCBOUNDARYNODECONDITION,IFCBOUNDARYFACECONDITION,IFCBOUNDARYEDGECONDITION],1387855156:[IFCBOUNDARYNODECONDITIONWARPING],3264961684:[IFCCOLOURRGB],2859738748:[IFCCONNECTIONCURVEGEOMETRY,IFCCONNECTIONSURFACEGEOMETRY,IFCCONNECTIONPORTGEOMETRY,IFCCONNECTIONPOINTECCENTRICITY,IFCCONNECTIONPOINTGEOMETRY],2614616156:[IFCCONNECTIONPOINTECCENTRICITY],1959218052:[IFCOBJECTIVE,IFCMETRIC],3796139169:[IFCDIMENSIONPAIR,IFCDIMENSIONCALLOUTRELATIONSHIP],3200245327:[IFCDOCUMENTREFERENCE,IFCCLASSIFICATIONREFERENCE,IFCLIBRARYREFERENCE,IFCEXTERNALLYDEFINEDTEXTFONT,IFCEXTERNALLYDEFINEDSYMBOL,IFCEXTERNALLYDEFINEDSURFACESTYLE,IFCEXTERNALLYDEFINEDHATCHSTYLE],3265635763:[IFCHYGROSCOPICMATERIALPROPERTIES,IFCGENERALMATERIALPROPERTIES,IFCFUELPROPERTIES,IFCEXTENDEDMATERIALPROPERTIES,IFCWATERPROPERTIES,IFCTHERMALMATERIALPROPERTIES,IFCPRODUCTSOFCOMBUSTIONPROPERTIES,IFCOPTICALMATERIALPROPERTIES,IFCMECHANICALCONCRETEMATERIALPROPERTIES,IFCMECHANICALSTEELMATERIALPROPERTIES,IFCMECHANICALMATERIALPROPERTIES],4256014907:[IFCMECHANICALCONCRETEMATERIALPROPERTIES,IFCMECHANICALSTEELMATERIALPROPERTIES],1918398963:[IFCCONVERSIONBASEDUNIT,IFCCONTEXTDEPENDENTUNIT,IFCSIUNIT],3701648758:[IFCLOCALPLACEMENT,IFCGRIDPLACEMENT],2483315170:[IFCPHYSICALCOMPLEXQUANTITY,IFCQUANTITYWEIGHT,IFCQUANTITYVOLUME,IFCQUANTITYTIME,IFCQUANTITYLENGTH,IFCQUANTITYCOUNT,IFCQUANTITYAREA,IFCPHYSICALSIMPLEQUANTITY],2226359599:[IFCQUANTITYWEIGHT,IFCQUANTITYVOLUME,IFCQUANTITYTIME,IFCQUANTITYLENGTH,IFCQUANTITYCOUNT,IFCQUANTITYAREA],3727388367:[IFCDRAUGHTINGPREDEFINEDCURVEFONT,IFCPREDEFINEDCURVEFONT,IFCDRAUGHTINGPREDEFINEDCOLOUR,IFCPREDEFINEDCOLOUR,IFCDRAUGHTINGPREDEFINEDTEXTFONT,IFCTEXTSTYLEFONTMODEL,IFCPREDEFINEDTEXTFONT,IFCPREDEFINEDPOINTMARKERSYMBOL,IFCPREDEFINEDDIMENSIONSYMBOL,IFCPREDEFINEDTERMINATORSYMBOL,IFCPREDEFINEDSYMBOL],990879717:[IFCPREDEFINEDPOINTMARKERSYMBOL,IFCPREDEFINEDDIMENSIONSYMBOL,IFCPREDEFINEDTERMINATORSYMBOL],1775413392:[IFCDRAUGHTINGPREDEFINEDTEXTFONT,IFCTEXTSTYLEFONTMODEL],2022622350:[IFCPRESENTATIONLAYERWITHSTYLE],3119450353:[IFCFILLAREASTYLE,IFCCURVESTYLE,IFCTEXTSTYLE,IFCSYMBOLSTYLE,IFCSURFACESTYLE],2095639259:[IFCPRODUCTDEFINITIONSHAPE,IFCMATERIALDEFINITIONREPRESENTATION],3958567839:[IFCLSHAPEPROFILEDEF,IFCASYMMETRICISHAPEPROFILEDEF,IFCISHAPEPROFILEDEF,IFCELLIPSEPROFILEDEF,IFCCRANERAILFSHAPEPROFILEDEF,IFCCRANERAILASHAPEPROFILEDEF,IFCCIRCLEHOLLOWPROFILEDEF,IFCCIRCLEPROFILEDEF,IFCCSHAPEPROFILEDEF,IFCZSHAPEPROFILEDEF,IFCUSHAPEPROFILEDEF,IFCTRAPEZIUMPROFILEDEF,IFCTSHAPEPROFILEDEF,IFCRECTANGLEHOLLOWPROFILEDEF,IFCROUNDEDRECTANGLEPROFILEDEF,IFCRECTANGLEPROFILEDEF,IFCPARAMETERIZEDPROFILEDEF,IFCDERIVEDPROFILEDEF,IFCCOMPOSITEPROFILEDEF,IFCCENTERLINEPROFILEDEF,IFCARBITRARYOPENPROFILEDEF,IFCARBITRARYPROFILEDEFWITHVOIDS,IFCARBITRARYCLOSEDPROFILEDEF],2802850158:[IFCSTRUCTURALSTEELPROFILEPROPERTIES,IFCSTRUCTURALPROFILEPROPERTIES,IFCGENERALPROFILEPROPERTIES,IFCRIBPLATEPROFILEPROPERTIES],2598011224:[IFCCOMPLEXPROPERTY,IFCPROPERTYTABLEVALUE,IFCPROPERTYSINGLEVALUE,IFCPROPERTYREFERENCEVALUE,IFCPROPERTYLISTVALUE,IFCPROPERTYENUMERATEDVALUE,IFCPROPERTYBOUNDEDVALUE,IFCSIMPLEPROPERTY],1076942058:[IFCSTYLEDREPRESENTATION,IFCSTYLEMODEL,IFCTOPOLOGYREPRESENTATION,IFCSHAPEREPRESENTATION,IFCSHAPEMODEL],3377609919:[IFCGEOMETRICREPRESENTATIONSUBCONTEXT,IFCGEOMETRICREPRESENTATIONCONTEXT],3008791417:[IFCMAPPEDITEM,IFCFILLAREASTYLETILES,IFCFILLAREASTYLETILESYMBOLWITHSTYLE,IFCFILLAREASTYLEHATCHING,IFCFACEBASEDSURFACEMODEL,IFCDIAMETERDIMENSION,IFCANGULARDIMENSION,IFCRADIUSDIMENSION,IFCLINEARDIMENSION,IFCDIMENSIONCURVEDIRECTEDCALLOUT,IFCSTRUCTUREDDIMENSIONCALLOUT,IFCDRAUGHTINGCALLOUT,IFCDIRECTION,IFCDEFINEDSYMBOL,IFCCIRCLE,IFCELLIPSE,IFCCONIC,IFCRATIONALBEZIERCURVE,IFCBEZIERCURVE,IFCBSPLINECURVE,IFCTRIMMEDCURVE,IFCPOLYLINE,IFC2DCOMPOSITECURVE,IFCCOMPOSITECURVE,IFCBOUNDEDCURVE,IFCOFFSETCURVE3D,IFCOFFSETCURVE2D,IFCLINE,IFCCURVE,IFCBLOCK,IFCSPHERE,IFCRIGHTCIRCULARCYLINDER,IFCRIGHTCIRCULARCONE,IFCRECTANGULARPYRAMID,IFCCSGPRIMITIVE3D,IFCCOMPOSITECURVESEGMENT,IFCCARTESIANTRANSFORMATIONOPERATOR3DNONUNIFORM,IFCCARTESIANTRANSFORMATIONOPERATOR3D,IFCCARTESIANTRANSFORMATIONOPERATOR2DNONUNIFORM,IFCCARTESIANTRANSFORMATIONOPERATOR2D,IFCCARTESIANTRANSFORMATIONOPERATOR,IFCBOUNDINGBOX,IFCBOOLEANCLIPPINGRESULT,IFCBOOLEANRESULT,IFCANNOTATIONSURFACE,IFCANNOTATIONFILLAREA,IFCVECTOR,IFCTEXTLITERALWITHEXTENT,IFCTEXTLITERAL,IFCPLANE,IFCELEMENTARYSURFACE,IFCRECTANGULARTRIMMEDSURFACE,IFCCURVEBOUNDEDPLANE,IFCBOUNDEDSURFACE,IFCSURFACEOFREVOLUTION,IFCSURFACEOFLINEAREXTRUSION,IFCSWEPTSURFACE,IFCSURFACE,IFCFACETEDBREPWITHVOIDS,IFCFACETEDBREP,IFCMANIFOLDSOLIDBREP,IFCCSGSOLID,IFCSWEPTDISKSOLID,IFCSURFACECURVESWEPTAREASOLID,IFCREVOLVEDAREASOLID,IFCEXTRUDEDAREASOLID,IFCSWEPTAREASOLID,IFCSOLIDMODEL,IFCSHELLBASEDSURFACEMODEL,IFCSECTIONEDSPINE,IFCCARTESIANPOINT,IFCPOINTONSURFACE,IFCPOINTONCURVE,IFCPOINT,IFCPLANARBOX,IFCPLANAREXTENT,IFCAXIS2PLACEMENT3D,IFCAXIS2PLACEMENT2D,IFCAXIS1PLACEMENT,IFCPLACEMENT,IFCTWODIRECTIONREPEATFACTOR,IFCONEDIRECTIONREPEATFACTOR,IFCLIGHTSOURCESPOT,IFCLIGHTSOURCEPOSITIONAL,IFCLIGHTSOURCEGONIOMETRIC,IFCLIGHTSOURCEDIRECTIONAL,IFCLIGHTSOURCEAMBIENT,IFCLIGHTSOURCE,IFCBOXEDHALFSPACE,IFCPOLYGONALBOUNDEDHALFSPACE,IFCHALFSPACESOLID,IFCGEOMETRICCURVESET,IFCGEOMETRICSET,IFCGEOMETRICREPRESENTATIONITEM,IFCPATH,IFCEDGELOOP,IFCVERTEXLOOP,IFCPOLYLOOP,IFCLOOP,IFCFACEOUTERBOUND,IFCFACEBOUND,IFCFACESURFACE,IFCFACE,IFCSUBEDGE,IFCORIENTEDEDGE,IFCEDGECURVE,IFCEDGE,IFCCLOSEDSHELL,IFCOPENSHELL,IFCCONNECTEDFACESET,IFCVERTEXPOINT,IFCVERTEX,IFCTOPOLOGICALREPRESENTATIONITEM,IFCANNOTATIONFILLAREAOCCURRENCE,IFCPROJECTIONCURVE,IFCDIMENSIONCURVE,IFCANNOTATIONCURVEOCCURRENCE,IFCANNOTATIONTEXTOCCURRENCE,IFCDIMENSIONCURVETERMINATOR,IFCTERMINATORSYMBOL,IFCANNOTATIONSYMBOLOCCURRENCE,IFCANNOTATIONSURFACEOCCURRENCE,IFCANNOTATIONOCCURRENCE,IFCSTYLEDITEM],2341007311:[IFCRELDEFINESBYTYPE,IFCRELOVERRIDESPROPERTIES,IFCRELDEFINESBYPROPERTIES,IFCRELDEFINES,IFCRELAGGREGATES,IFCRELNESTS,IFCRELDECOMPOSES,IFCRELVOIDSELEMENT,IFCRELSPACEBOUNDARY,IFCRELSERVICESBUILDINGS,IFCRELSEQUENCE,IFCRELREFERENCEDINSPATIALSTRUCTURE,IFCRELPROJECTSELEMENT,IFCRELINTERACTIONREQUIREMENTS,IFCRELFLOWCONTROLELEMENTS,IFCRELFILLSELEMENT,IFCRELCOVERSSPACES,IFCRELCOVERSBLDGELEMENTS,IFCRELCONTAINEDINSPATIALSTRUCTURE,IFCRELCONNECTSWITHECCENTRICITY,IFCRELCONNECTSSTRUCTURALMEMBER,IFCRELCONNECTSSTRUCTURALELEMENT,IFCRELCONNECTSSTRUCTURALACTIVITY,IFCRELCONNECTSPORTS,IFCRELCONNECTSPORTTOELEMENT,IFCRELCONNECTSWITHREALIZINGELEMENTS,IFCRELCONNECTSPATHELEMENTS,IFCRELCONNECTSELEMENTS,IFCRELCONNECTS,IFCRELASSOCIATESPROFILEPROPERTIES,IFCRELASSOCIATESMATERIAL,IFCRELASSOCIATESLIBRARY,IFCRELASSOCIATESDOCUMENT,IFCRELASSOCIATESCONSTRAINT,IFCRELASSOCIATESCLASSIFICATION,IFCRELASSOCIATESAPPROVAL,IFCRELASSOCIATESAPPLIEDVALUE,IFCRELASSOCIATES,IFCRELASSIGNSTORESOURCE,IFCRELASSIGNSTOPRODUCT,IFCRELASSIGNSTOPROCESS,IFCRELASSIGNSTOGROUP,IFCRELASSIGNSTASKS,IFCRELSCHEDULESCOSTITEMS,IFCRELASSIGNSTOPROJECTORDER,IFCRELASSIGNSTOCONTROL,IFCRELOCCUPIESSPACES,IFCRELASSIGNSTOACTOR,IFCRELASSIGNS,IFCRELATIONSHIP,IFCPROPERTYSET,IFCPERMEABLECOVERINGPROPERTIES,IFCFLUIDFLOWPROPERTIES,IFCELECTRICALBASEPROPERTIES,IFCENERGYPROPERTIES,IFCELEMENTQUANTITY,IFCDOORPANELPROPERTIES,IFCDOORLININGPROPERTIES,IFCWINDOWPANELPROPERTIES,IFCWINDOWLININGPROPERTIES,IFCSPACETHERMALLOADPROPERTIES,IFCSOUNDVALUE,IFCSOUNDPROPERTIES,IFCSERVICELIFEFACTOR,IFCREINFORCEMENTDEFINITIONPROPERTIES,IFCPROPERTYSETDEFINITION,IFCPROPERTYDEFINITION,IFCCONDITION,IFCASSET,IFCZONE,IFCSTRUCTURALANALYSISMODEL,IFCELECTRICALCIRCUIT,IFCSYSTEM,IFCSTRUCTURALRESULTGROUP,IFCSTRUCTURALLOADGROUP,IFCINVENTORY,IFCGROUP,IFCCONDITIONCRITERION,IFCACTIONREQUEST,IFCWORKSCHEDULE,IFCWORKPLAN,IFCWORKCONTROL,IFCTIMESERIESSCHEDULE,IFCSPACEPROGRAM,IFCSERVICELIFE,IFCSCHEDULETIMECONTROL,IFCPROJECTORDERRECORD,IFCPROJECTORDER,IFCPERMIT,IFCPERFORMANCEHISTORY,IFCFURNITURESTANDARD,IFCEQUIPMENTSTANDARD,IFCCOSTSCHEDULE,IFCCOSTITEM,IFCCONTROL,IFCOCCUPANT,IFCACTOR,IFCCONSTRUCTIONPRODUCTRESOURCE,IFCCONSTRUCTIONMATERIALRESOURCE,IFCCONSTRUCTIONEQUIPMENTRESOURCE,IFCSUBCONTRACTRESOURCE,IFCLABORRESOURCE,IFCCREWRESOURCE,IFCCONSTRUCTIONRESOURCE,IFCRESOURCE,IFCPROJECT,IFCDISTRIBUTIONPORT,IFCPORT,IFCGRID,IFCELECTRICALELEMENT,IFCDISTRIBUTIONCONTROLELEMENT,IFCDISTRIBUTIONCHAMBERELEMENT,IFCFLOWTREATMENTDEVICE,IFCFLOWTERMINAL,IFCFLOWSTORAGEDEVICE,IFCFLOWSEGMENT,IFCFLOWMOVINGDEVICE,IFCFLOWFITTING,IFCELECTRICDISTRIBUTIONPOINT,IFCFLOWCONTROLLER,IFCENERGYCONVERSIONDEVICE,IFCDISTRIBUTIONFLOWELEMENT,IFCDISTRIBUTIONELEMENT,IFCBEAM,IFCWINDOW,IFCWALLSTANDARDCASE,IFCWALL,IFCSTAIRFLIGHT,IFCSTAIR,IFCSLAB,IFCROOF,IFCRAMPFLIGHT,IFCRAMP,IFCRAILING,IFCPLATE,IFCPILE,IFCMEMBER,IFCFOOTING,IFCDOOR,IFCCURTAINWALL,IFCCOVERING,IFCCOLUMN,IFCBUILDINGELEMENTPROXY,IFCREINFORCINGBAR,IFCTENDONANCHOR,IFCTENDON,IFCREINFORCINGMESH,IFCREINFORCINGELEMENT,IFCBUILDINGELEMENTPART,IFCBUILDINGELEMENTCOMPONENT,IFCBUILDINGELEMENT,IFCVIRTUALELEMENT,IFCTRANSPORTELEMENT,IFCFURNISHINGELEMENT,IFCCHAMFEREDGEFEATURE,IFCROUNDEDEDGEFEATURE,IFCEDGEFEATURE,IFCOPENINGELEMENT,IFCFEATUREELEMENTSUBTRACTION,IFCPROJECTIONELEMENT,IFCFEATUREELEMENTADDITION,IFCFEATUREELEMENT,IFCEQUIPMENTELEMENT,IFCDISCRETEACCESSORY,IFCMECHANICALFASTENER,IFCFASTENER,IFCELEMENTCOMPONENT,IFCELEMENTASSEMBLY,IFCELEMENT,IFCANNOTATION,IFCSTRUCTURALSURFACECONNECTION,IFCSTRUCTURALPOINTCONNECTION,IFCSTRUCTURALCURVECONNECTION,IFCSTRUCTURALCONNECTION,IFCSTRUCTURALCURVEMEMBERVARYING,IFCSTRUCTURALCURVEMEMBER,IFCSTRUCTURALSURFACEMEMBERVARYING,IFCSTRUCTURALSURFACEMEMBER,IFCSTRUCTURALMEMBER,IFCSTRUCTURALITEM,IFCSTRUCTURALPOINTACTION,IFCSTRUCTURALPLANARACTIONVARYING,IFCSTRUCTURALPLANARACTION,IFCSTRUCTURALLINEARACTIONVARYING,IFCSTRUCTURALLINEARACTION,IFCSTRUCTURALACTION,IFCSTRUCTURALPOINTREACTION,IFCSTRUCTURALREACTION,IFCSTRUCTURALACTIVITY,IFCSPACE,IFCSITE,IFCBUILDINGSTOREY,IFCBUILDING,IFCSPATIALSTRUCTUREELEMENT,IFCPROXY,IFCPRODUCT,IFCPROCEDURE,IFCORDERACTION,IFCMOVE,IFCTASK,IFCPROCESS,IFCOBJECT,IFCVIBRATIONISOLATORTYPE,IFCDISCRETEACCESSORYTYPE,IFCMECHANICALFASTENERTYPE,IFCFASTENERTYPE,IFCELEMENTCOMPONENTTYPE,IFCCONTROLLERTYPE,IFCALARMTYPE,IFCACTUATORTYPE,IFCSENSORTYPE,IFCFLOWINSTRUMENTTYPE,IFCDISTRIBUTIONCONTROLELEMENTTYPE,IFCDISTRIBUTIONCHAMBERELEMENTTYPE,IFCFILTERTYPE,IFCDUCTSILENCERTYPE,IFCFLOWTREATMENTDEVICETYPE,IFCFIRESUPPRESSIONTERMINALTYPE,IFCELECTRICHEATERTYPE,IFCELECTRICAPPLIANCETYPE,IFCAIRTERMINALTYPE,IFCWASTETERMINALTYPE,IFCSTACKTERMINALTYPE,IFCSANITARYTERMINALTYPE,IFCOUTLETTYPE,IFCLIGHTFIXTURETYPE,IFCLAMPTYPE,IFCGASTERMINALTYPE,IFCFLOWTERMINALTYPE,IFCELECTRICFLOWSTORAGEDEVICETYPE,IFCTANKTYPE,IFCFLOWSTORAGEDEVICETYPE,IFCDUCTSEGMENTTYPE,IFCCABLESEGMENTTYPE,IFCCABLECARRIERSEGMENTTYPE,IFCPIPESEGMENTTYPE,IFCFLOWSEGMENTTYPE,IFCFANTYPE,IFCCOMPRESSORTYPE,IFCPUMPTYPE,IFCFLOWMOVINGDEVICETYPE,IFCDUCTFITTINGTYPE,IFCCABLECARRIERFITTINGTYPE,IFCPIPEFITTINGTYPE,IFCJUNCTIONBOXTYPE,IFCFLOWFITTINGTYPE,IFCELECTRICTIMECONTROLTYPE,IFCDAMPERTYPE,IFCAIRTERMINALBOXTYPE,IFCVALVETYPE,IFCSWITCHINGDEVICETYPE,IFCPROTECTIVEDEVICETYPE,IFCFLOWMETERTYPE,IFCFLOWCONTROLLERTYPE,IFCELECTRICMOTORTYPE,IFCELECTRICGENERATORTYPE,IFCCOOLINGTOWERTYPE,IFCCOOLEDBEAMTYPE,IFCCONDENSERTYPE,IFCCOILTYPE,IFCCHILLERTYPE,IFCBOILERTYPE,IFCAIRTOAIRHEATRECOVERYTYPE,IFCUNITARYEQUIPMENTTYPE,IFCTUBEBUNDLETYPE,IFCTRANSFORMERTYPE,IFCSPACEHEATERTYPE,IFCMOTORCONNECTIONTYPE,IFCHUMIDIFIERTYPE,IFCHEATEXCHANGERTYPE,IFCEVAPORATORTYPE,IFCEVAPORATIVECOOLERTYPE,IFCENERGYCONVERSIONDEVICETYPE,IFCDISTRIBUTIONFLOWELEMENTTYPE,IFCDISTRIBUTIONELEMENTTYPE,IFCBUILDINGELEMENTPROXYTYPE,IFCBEAMTYPE,IFCWALLTYPE,IFCSTAIRFLIGHTTYPE,IFCSLABTYPE,IFCRAMPFLIGHTTYPE,IFCRAILINGTYPE,IFCPLATETYPE,IFCMEMBERTYPE,IFCCURTAINWALLTYPE,IFCCOVERINGTYPE,IFCCOLUMNTYPE,IFCBUILDINGELEMENTTYPE,IFCTRANSPORTELEMENTTYPE,IFCSPACETYPE,IFCSPATIALSTRUCTUREELEMENTTYPE,IFCSYSTEMFURNITUREELEMENTTYPE,IFCFURNITURETYPE,IFCFURNISHINGELEMENTTYPE,IFCELEMENTTYPE,IFCDOORSTYLE,IFCWINDOWSTYLE,IFCTYPEPRODUCT,IFCTYPEOBJECT,IFCOBJECTDEFINITION],3982875396:[IFCTOPOLOGYREPRESENTATION,IFCSHAPEREPRESENTATION],3692461612:[IFCPROPERTYTABLEVALUE,IFCPROPERTYSINGLEVALUE,IFCPROPERTYREFERENCEVALUE,IFCPROPERTYLISTVALUE,IFCPROPERTYENUMERATEDVALUE,IFCPROPERTYBOUNDEDVALUE],2273995522:[IFCSLIPPAGECONNECTIONCONDITION,IFCFAILURECONNECTIONCONDITION],2162789131:[IFCSTRUCTURALLOADSINGLEFORCEWARPING,IFCSTRUCTURALLOADSINGLEFORCE,IFCSTRUCTURALLOADSINGLEDISPLACEMENTDISTORTION,IFCSTRUCTURALLOADSINGLEDISPLACEMENT,IFCSTRUCTURALLOADPLANARFORCE,IFCSTRUCTURALLOADLINEARFORCE,IFCSTRUCTURALLOADTEMPERATURE,IFCSTRUCTURALLOADSTATIC],2525727697:[IFCSTRUCTURALLOADSINGLEFORCEWARPING,IFCSTRUCTURALLOADSINGLEFORCE,IFCSTRUCTURALLOADSINGLEDISPLACEMENTDISTORTION,IFCSTRUCTURALLOADSINGLEDISPLACEMENT,IFCSTRUCTURALLOADPLANARFORCE,IFCSTRUCTURALLOADLINEARFORCE,IFCSTRUCTURALLOADTEMPERATURE],2830218821:[IFCSTYLEDREPRESENTATION],3958052878:[IFCANNOTATIONFILLAREAOCCURRENCE,IFCPROJECTIONCURVE,IFCDIMENSIONCURVE,IFCANNOTATIONCURVEOCCURRENCE,IFCANNOTATIONTEXTOCCURRENCE,IFCDIMENSIONCURVETERMINATOR,IFCTERMINATORSYMBOL,IFCANNOTATIONSYMBOLOCCURRENCE,IFCANNOTATIONSURFACEOCCURRENCE,IFCANNOTATIONOCCURRENCE],846575682:[IFCSURFACESTYLERENDERING],626085974:[IFCPIXELTEXTURE,IFCIMAGETEXTURE,IFCBLOBTEXTURE],280115917:[IFCTEXTUREMAP,IFCTEXTURECOORDINATEGENERATOR],3101149627:[IFCREGULARTIMESERIES,IFCIRREGULARTIMESERIES],1377556343:[IFCPATH,IFCEDGELOOP,IFCVERTEXLOOP,IFCPOLYLOOP,IFCLOOP,IFCFACEOUTERBOUND,IFCFACEBOUND,IFCFACESURFACE,IFCFACE,IFCSUBEDGE,IFCORIENTEDEDGE,IFCEDGECURVE,IFCEDGE,IFCCLOSEDSHELL,IFCOPENSHELL,IFCCONNECTEDFACESET,IFCVERTEXPOINT,IFCVERTEX],2799835756:[IFCVERTEXPOINT],2442683028:[IFCANNOTATIONFILLAREAOCCURRENCE,IFCPROJECTIONCURVE,IFCDIMENSIONCURVE,IFCANNOTATIONCURVEOCCURRENCE,IFCANNOTATIONTEXTOCCURRENCE,IFCDIMENSIONCURVETERMINATOR,IFCTERMINATORSYMBOL,IFCANNOTATIONSYMBOLOCCURRENCE,IFCANNOTATIONSURFACEOCCURRENCE],3612888222:[IFCDIMENSIONCURVETERMINATOR,IFCTERMINATORSYMBOL],3798115385:[IFCARBITRARYPROFILEDEFWITHVOIDS],1310608509:[IFCCENTERLINEPROFILEDEF],370225590:[IFCCLOSEDSHELL,IFCOPENSHELL],3900360178:[IFCSUBEDGE,IFCORIENTEDEDGE,IFCEDGECURVE],2556980723:[IFCFACESURFACE],1809719519:[IFCFACEOUTERBOUND],1446786286:[IFCSTRUCTURALSTEELPROFILEPROPERTIES,IFCSTRUCTURALPROFILEPROPERTIES],3448662350:[IFCGEOMETRICREPRESENTATIONSUBCONTEXT],2453401579:[IFCFILLAREASTYLETILES,IFCFILLAREASTYLETILESYMBOLWITHSTYLE,IFCFILLAREASTYLEHATCHING,IFCFACEBASEDSURFACEMODEL,IFCDIAMETERDIMENSION,IFCANGULARDIMENSION,IFCRADIUSDIMENSION,IFCLINEARDIMENSION,IFCDIMENSIONCURVEDIRECTEDCALLOUT,IFCSTRUCTUREDDIMENSIONCALLOUT,IFCDRAUGHTINGCALLOUT,IFCDIRECTION,IFCDEFINEDSYMBOL,IFCCIRCLE,IFCELLIPSE,IFCCONIC,IFCRATIONALBEZIERCURVE,IFCBEZIERCURVE,IFCBSPLINECURVE,IFCTRIMMEDCURVE,IFCPOLYLINE,IFC2DCOMPOSITECURVE,IFCCOMPOSITECURVE,IFCBOUNDEDCURVE,IFCOFFSETCURVE3D,IFCOFFSETCURVE2D,IFCLINE,IFCCURVE,IFCBLOCK,IFCSPHERE,IFCRIGHTCIRCULARCYLINDER,IFCRIGHTCIRCULARCONE,IFCRECTANGULARPYRAMID,IFCCSGPRIMITIVE3D,IFCCOMPOSITECURVESEGMENT,IFCCARTESIANTRANSFORMATIONOPERATOR3DNONUNIFORM,IFCCARTESIANTRANSFORMATIONOPERATOR3D,IFCCARTESIANTRANSFORMATIONOPERATOR2DNONUNIFORM,IFCCARTESIANTRANSFORMATIONOPERATOR2D,IFCCARTESIANTRANSFORMATIONOPERATOR,IFCBOUNDINGBOX,IFCBOOLEANCLIPPINGRESULT,IFCBOOLEANRESULT,IFCANNOTATIONSURFACE,IFCANNOTATIONFILLAREA,IFCVECTOR,IFCTEXTLITERALWITHEXTENT,IFCTEXTLITERAL,IFCPLANE,IFCELEMENTARYSURFACE,IFCRECTANGULARTRIMMEDSURFACE,IFCCURVEBOUNDEDPLANE,IFCBOUNDEDSURFACE,IFCSURFACEOFREVOLUTION,IFCSURFACEOFLINEAREXTRUSION,IFCSWEPTSURFACE,IFCSURFACE,IFCFACETEDBREPWITHVOIDS,IFCFACETEDBREP,IFCMANIFOLDSOLIDBREP,IFCCSGSOLID,IFCSWEPTDISKSOLID,IFCSURFACECURVESWEPTAREASOLID,IFCREVOLVEDAREASOLID,IFCEXTRUDEDAREASOLID,IFCSWEPTAREASOLID,IFCSOLIDMODEL,IFCSHELLBASEDSURFACEMODEL,IFCSECTIONEDSPINE,IFCCARTESIANPOINT,IFCPOINTONSURFACE,IFCPOINTONCURVE,IFCPOINT,IFCPLANARBOX,IFCPLANAREXTENT,IFCAXIS2PLACEMENT3D,IFCAXIS2PLACEMENT2D,IFCAXIS1PLACEMENT,IFCPLACEMENT,IFCTWODIRECTIONREPEATFACTOR,IFCONEDIRECTIONREPEATFACTOR,IFCLIGHTSOURCESPOT,IFCLIGHTSOURCEPOSITIONAL,IFCLIGHTSOURCEGONIOMETRIC,IFCLIGHTSOURCEDIRECTIONAL,IFCLIGHTSOURCEAMBIENT,IFCLIGHTSOURCE,IFCBOXEDHALFSPACE,IFCPOLYGONALBOUNDEDHALFSPACE,IFCHALFSPACESOLID,IFCGEOMETRICCURVESET,IFCGEOMETRICSET],3590301190:[IFCGEOMETRICCURVESET],812098782:[IFCBOXEDHALFSPACE,IFCPOLYGONALBOUNDEDHALFSPACE],1402838566:[IFCLIGHTSOURCESPOT,IFCLIGHTSOURCEPOSITIONAL,IFCLIGHTSOURCEGONIOMETRIC,IFCLIGHTSOURCEDIRECTIONAL,IFCLIGHTSOURCEAMBIENT],1520743889:[IFCLIGHTSOURCESPOT],1008929658:[IFCEDGELOOP,IFCVERTEXLOOP,IFCPOLYLOOP],219451334:[IFCCONDITION,IFCASSET,IFCZONE,IFCSTRUCTURALANALYSISMODEL,IFCELECTRICALCIRCUIT,IFCSYSTEM,IFCSTRUCTURALRESULTGROUP,IFCSTRUCTURALLOADGROUP,IFCINVENTORY,IFCGROUP,IFCCONDITIONCRITERION,IFCACTIONREQUEST,IFCWORKSCHEDULE,IFCWORKPLAN,IFCWORKCONTROL,IFCTIMESERIESSCHEDULE,IFCSPACEPROGRAM,IFCSERVICELIFE,IFCSCHEDULETIMECONTROL,IFCPROJECTORDERRECORD,IFCPROJECTORDER,IFCPERMIT,IFCPERFORMANCEHISTORY,IFCFURNITURESTANDARD,IFCEQUIPMENTSTANDARD,IFCCOSTSCHEDULE,IFCCOSTITEM,IFCCONTROL,IFCOCCUPANT,IFCACTOR,IFCCONSTRUCTIONPRODUCTRESOURCE,IFCCONSTRUCTIONMATERIALRESOURCE,IFCCONSTRUCTIONEQUIPMENTRESOURCE,IFCSUBCONTRACTRESOURCE,IFCLABORRESOURCE,IFCCREWRESOURCE,IFCCONSTRUCTIONRESOURCE,IFCRESOURCE,IFCPROJECT,IFCDISTRIBUTIONPORT,IFCPORT,IFCGRID,IFCELECTRICALELEMENT,IFCDISTRIBUTIONCONTROLELEMENT,IFCDISTRIBUTIONCHAMBERELEMENT,IFCFLOWTREATMENTDEVICE,IFCFLOWTERMINAL,IFCFLOWSTORAGEDEVICE,IFCFLOWSEGMENT,IFCFLOWMOVINGDEVICE,IFCFLOWFITTING,IFCELECTRICDISTRIBUTIONPOINT,IFCFLOWCONTROLLER,IFCENERGYCONVERSIONDEVICE,IFCDISTRIBUTIONFLOWELEMENT,IFCDISTRIBUTIONELEMENT,IFCBEAM,IFCWINDOW,IFCWALLSTANDARDCASE,IFCWALL,IFCSTAIRFLIGHT,IFCSTAIR,IFCSLAB,IFCROOF,IFCRAMPFLIGHT,IFCRAMP,IFCRAILING,IFCPLATE,IFCPILE,IFCMEMBER,IFCFOOTING,IFCDOOR,IFCCURTAINWALL,IFCCOVERING,IFCCOLUMN,IFCBUILDINGELEMENTPROXY,IFCREINFORCINGBAR,IFCTENDONANCHOR,IFCTENDON,IFCREINFORCINGMESH,IFCREINFORCINGELEMENT,IFCBUILDINGELEMENTPART,IFCBUILDINGELEMENTCOMPONENT,IFCBUILDINGELEMENT,IFCVIRTUALELEMENT,IFCTRANSPORTELEMENT,IFCFURNISHINGELEMENT,IFCCHAMFEREDGEFEATURE,IFCROUNDEDEDGEFEATURE,IFCEDGEFEATURE,IFCOPENINGELEMENT,IFCFEATUREELEMENTSUBTRACTION,IFCPROJECTIONELEMENT,IFCFEATUREELEMENTADDITION,IFCFEATUREELEMENT,IFCEQUIPMENTELEMENT,IFCDISCRETEACCESSORY,IFCMECHANICALFASTENER,IFCFASTENER,IFCELEMENTCOMPONENT,IFCELEMENTASSEMBLY,IFCELEMENT,IFCANNOTATION,IFCSTRUCTURALSURFACECONNECTION,IFCSTRUCTURALPOINTCONNECTION,IFCSTRUCTURALCURVECONNECTION,IFCSTRUCTURALCONNECTION,IFCSTRUCTURALCURVEMEMBERVARYING,IFCSTRUCTURALCURVEMEMBER,IFCSTRUCTURALSURFACEMEMBERVARYING,IFCSTRUCTURALSURFACEMEMBER,IFCSTRUCTURALMEMBER,IFCSTRUCTURALITEM,IFCSTRUCTURALPOINTACTION,IFCSTRUCTURALPLANARACTIONVARYING,IFCSTRUCTURALPLANARACTION,IFCSTRUCTURALLINEARACTIONVARYING,IFCSTRUCTURALLINEARACTION,IFCSTRUCTURALACTION,IFCSTRUCTURALPOINTREACTION,IFCSTRUCTURALREACTION,IFCSTRUCTURALACTIVITY,IFCSPACE,IFCSITE,IFCBUILDINGSTOREY,IFCBUILDING,IFCSPATIALSTRUCTUREELEMENT,IFCPROXY,IFCPRODUCT,IFCPROCEDURE,IFCORDERACTION,IFCMOVE,IFCTASK,IFCPROCESS,IFCOBJECT,IFCVIBRATIONISOLATORTYPE,IFCDISCRETEACCESSORYTYPE,IFCMECHANICALFASTENERTYPE,IFCFASTENERTYPE,IFCELEMENTCOMPONENTTYPE,IFCCONTROLLERTYPE,IFCALARMTYPE,IFCACTUATORTYPE,IFCSENSORTYPE,IFCFLOWINSTRUMENTTYPE,IFCDISTRIBUTIONCONTROLELEMENTTYPE,IFCDISTRIBUTIONCHAMBERELEMENTTYPE,IFCFILTERTYPE,IFCDUCTSILENCERTYPE,IFCFLOWTREATMENTDEVICETYPE,IFCFIRESUPPRESSIONTERMINALTYPE,IFCELECTRICHEATERTYPE,IFCELECTRICAPPLIANCETYPE,IFCAIRTERMINALTYPE,IFCWASTETERMINALTYPE,IFCSTACKTERMINALTYPE,IFCSANITARYTERMINALTYPE,IFCOUTLETTYPE,IFCLIGHTFIXTURETYPE,IFCLAMPTYPE,IFCGASTERMINALTYPE,IFCFLOWTERMINALTYPE,IFCELECTRICFLOWSTORAGEDEVICETYPE,IFCTANKTYPE,IFCFLOWSTORAGEDEVICETYPE,IFCDUCTSEGMENTTYPE,IFCCABLESEGMENTTYPE,IFCCABLECARRIERSEGMENTTYPE,IFCPIPESEGMENTTYPE,IFCFLOWSEGMENTTYPE,IFCFANTYPE,IFCCOMPRESSORTYPE,IFCPUMPTYPE,IFCFLOWMOVINGDEVICETYPE,IFCDUCTFITTINGTYPE,IFCCABLECARRIERFITTINGTYPE,IFCPIPEFITTINGTYPE,IFCJUNCTIONBOXTYPE,IFCFLOWFITTINGTYPE,IFCELECTRICTIMECONTROLTYPE,IFCDAMPERTYPE,IFCAIRTERMINALBOXTYPE,IFCVALVETYPE,IFCSWITCHINGDEVICETYPE,IFCPROTECTIVEDEVICETYPE,IFCFLOWMETERTYPE,IFCFLOWCONTROLLERTYPE,IFCELECTRICMOTORTYPE,IFCELECTRICGENERATORTYPE,IFCCOOLINGTOWERTYPE,IFCCOOLEDBEAMTYPE,IFCCONDENSERTYPE,IFCCOILTYPE,IFCCHILLERTYPE,IFCBOILERTYPE,IFCAIRTOAIRHEATRECOVERYTYPE,IFCUNITARYEQUIPMENTTYPE,IFCTUBEBUNDLETYPE,IFCTRANSFORMERTYPE,IFCSPACEHEATERTYPE,IFCMOTORCONNECTIONTYPE,IFCHUMIDIFIERTYPE,IFCHEATEXCHANGERTYPE,IFCEVAPORATORTYPE,IFCEVAPORATIVECOOLERTYPE,IFCENERGYCONVERSIONDEVICETYPE,IFCDISTRIBUTIONFLOWELEMENTTYPE,IFCDISTRIBUTIONELEMENTTYPE,IFCBUILDINGELEMENTPROXYTYPE,IFCBEAMTYPE,IFCWALLTYPE,IFCSTAIRFLIGHTTYPE,IFCSLABTYPE,IFCRAMPFLIGHTTYPE,IFCRAILINGTYPE,IFCPLATETYPE,IFCMEMBERTYPE,IFCCURTAINWALLTYPE,IFCCOVERINGTYPE,IFCCOLUMNTYPE,IFCBUILDINGELEMENTTYPE,IFCTRANSPORTELEMENTTYPE,IFCSPACETYPE,IFCSPATIALSTRUCTUREELEMENTTYPE,IFCSYSTEMFURNITUREELEMENTTYPE,IFCFURNITURETYPE,IFCFURNISHINGELEMENTTYPE,IFCELEMENTTYPE,IFCDOORSTYLE,IFCWINDOWSTYLE,IFCTYPEPRODUCT,IFCTYPEOBJECT],2833995503:[IFCTWODIRECTIONREPEATFACTOR],2529465313:[IFCLSHAPEPROFILEDEF,IFCASYMMETRICISHAPEPROFILEDEF,IFCISHAPEPROFILEDEF,IFCELLIPSEPROFILEDEF,IFCCRANERAILFSHAPEPROFILEDEF,IFCCRANERAILASHAPEPROFILEDEF,IFCCIRCLEHOLLOWPROFILEDEF,IFCCIRCLEPROFILEDEF,IFCCSHAPEPROFILEDEF,IFCZSHAPEPROFILEDEF,IFCUSHAPEPROFILEDEF,IFCTRAPEZIUMPROFILEDEF,IFCTSHAPEPROFILEDEF,IFCRECTANGLEHOLLOWPROFILEDEF,IFCROUNDEDRECTANGLEPROFILEDEF,IFCRECTANGLEPROFILEDEF],2004835150:[IFCAXIS2PLACEMENT3D,IFCAXIS2PLACEMENT2D,IFCAXIS1PLACEMENT],1663979128:[IFCPLANARBOX],2067069095:[IFCCARTESIANPOINT,IFCPOINTONSURFACE,IFCPOINTONCURVE],759155922:[IFCDRAUGHTINGPREDEFINEDCOLOUR],2559016684:[IFCDRAUGHTINGPREDEFINEDCURVEFONT],1680319473:[IFCPROPERTYSET,IFCPERMEABLECOVERINGPROPERTIES,IFCFLUIDFLOWPROPERTIES,IFCELECTRICALBASEPROPERTIES,IFCENERGYPROPERTIES,IFCELEMENTQUANTITY,IFCDOORPANELPROPERTIES,IFCDOORLININGPROPERTIES,IFCWINDOWPANELPROPERTIES,IFCWINDOWLININGPROPERTIES,IFCSPACETHERMALLOADPROPERTIES,IFCSOUNDVALUE,IFCSOUNDPROPERTIES,IFCSERVICELIFEFACTOR,IFCREINFORCEMENTDEFINITIONPROPERTIES,IFCPROPERTYSETDEFINITION],3357820518:[IFCPROPERTYSET,IFCPERMEABLECOVERINGPROPERTIES,IFCFLUIDFLOWPROPERTIES,IFCELECTRICALBASEPROPERTIES,IFCENERGYPROPERTIES,IFCELEMENTQUANTITY,IFCDOORPANELPROPERTIES,IFCDOORLININGPROPERTIES,IFCWINDOWPANELPROPERTIES,IFCWINDOWLININGPROPERTIES,IFCSPACETHERMALLOADPROPERTIES,IFCSOUNDVALUE,IFCSOUNDPROPERTIES,IFCSERVICELIFEFACTOR,IFCREINFORCEMENTDEFINITIONPROPERTIES],3615266464:[IFCRECTANGLEHOLLOWPROFILEDEF,IFCROUNDEDRECTANGLEPROFILEDEF],478536968:[IFCRELDEFINESBYTYPE,IFCRELOVERRIDESPROPERTIES,IFCRELDEFINESBYPROPERTIES,IFCRELDEFINES,IFCRELAGGREGATES,IFCRELNESTS,IFCRELDECOMPOSES,IFCRELVOIDSELEMENT,IFCRELSPACEBOUNDARY,IFCRELSERVICESBUILDINGS,IFCRELSEQUENCE,IFCRELREFERENCEDINSPATIALSTRUCTURE,IFCRELPROJECTSELEMENT,IFCRELINTERACTIONREQUIREMENTS,IFCRELFLOWCONTROLELEMENTS,IFCRELFILLSELEMENT,IFCRELCOVERSSPACES,IFCRELCOVERSBLDGELEMENTS,IFCRELCONTAINEDINSPATIALSTRUCTURE,IFCRELCONNECTSWITHECCENTRICITY,IFCRELCONNECTSSTRUCTURALMEMBER,IFCRELCONNECTSSTRUCTURALELEMENT,IFCRELCONNECTSSTRUCTURALACTIVITY,IFCRELCONNECTSPORTS,IFCRELCONNECTSPORTTOELEMENT,IFCRELCONNECTSWITHREALIZINGELEMENTS,IFCRELCONNECTSPATHELEMENTS,IFCRELCONNECTSELEMENTS,IFCRELCONNECTS,IFCRELASSOCIATESPROFILEPROPERTIES,IFCRELASSOCIATESMATERIAL,IFCRELASSOCIATESLIBRARY,IFCRELASSOCIATESDOCUMENT,IFCRELASSOCIATESCONSTRAINT,IFCRELASSOCIATESCLASSIFICATION,IFCRELASSOCIATESAPPROVAL,IFCRELASSOCIATESAPPLIEDVALUE,IFCRELASSOCIATES,IFCRELASSIGNSTORESOURCE,IFCRELASSIGNSTOPRODUCT,IFCRELASSIGNSTOPROCESS,IFCRELASSIGNSTOGROUP,IFCRELASSIGNSTASKS,IFCRELSCHEDULESCOSTITEMS,IFCRELASSIGNSTOPROJECTORDER,IFCRELASSIGNSTOCONTROL,IFCRELOCCUPIESSPACES,IFCRELASSIGNSTOACTOR,IFCRELASSIGNS],723233188:[IFCFACETEDBREPWITHVOIDS,IFCFACETEDBREP,IFCMANIFOLDSOLIDBREP,IFCCSGSOLID,IFCSWEPTDISKSOLID,IFCSURFACECURVESWEPTAREASOLID,IFCREVOLVEDAREASOLID,IFCEXTRUDEDAREASOLID,IFCSWEPTAREASOLID],2473145415:[IFCSTRUCTURALLOADSINGLEDISPLACEMENTDISTORTION],1597423693:[IFCSTRUCTURALLOADSINGLEFORCEWARPING],3843319758:[IFCSTRUCTURALSTEELPROFILEPROPERTIES],2513912981:[IFCPLANE,IFCELEMENTARYSURFACE,IFCRECTANGULARTRIMMEDSURFACE,IFCCURVEBOUNDEDPLANE,IFCBOUNDEDSURFACE,IFCSURFACEOFREVOLUTION,IFCSURFACEOFLINEAREXTRUSION,IFCSWEPTSURFACE],2247615214:[IFCSURFACECURVESWEPTAREASOLID,IFCREVOLVEDAREASOLID,IFCEXTRUDEDAREASOLID],230924584:[IFCSURFACEOFREVOLUTION,IFCSURFACEOFLINEAREXTRUSION],3028897424:[IFCDIMENSIONCURVETERMINATOR],4282788508:[IFCTEXTLITERALWITHEXTENT],1628702193:[IFCVIBRATIONISOLATORTYPE,IFCDISCRETEACCESSORYTYPE,IFCMECHANICALFASTENERTYPE,IFCFASTENERTYPE,IFCELEMENTCOMPONENTTYPE,IFCCONTROLLERTYPE,IFCALARMTYPE,IFCACTUATORTYPE,IFCSENSORTYPE,IFCFLOWINSTRUMENTTYPE,IFCDISTRIBUTIONCONTROLELEMENTTYPE,IFCDISTRIBUTIONCHAMBERELEMENTTYPE,IFCFILTERTYPE,IFCDUCTSILENCERTYPE,IFCFLOWTREATMENTDEVICETYPE,IFCFIRESUPPRESSIONTERMINALTYPE,IFCELECTRICHEATERTYPE,IFCELECTRICAPPLIANCETYPE,IFCAIRTERMINALTYPE,IFCWASTETERMINALTYPE,IFCSTACKTERMINALTYPE,IFCSANITARYTERMINALTYPE,IFCOUTLETTYPE,IFCLIGHTFIXTURETYPE,IFCLAMPTYPE,IFCGASTERMINALTYPE,IFCFLOWTERMINALTYPE,IFCELECTRICFLOWSTORAGEDEVICETYPE,IFCTANKTYPE,IFCFLOWSTORAGEDEVICETYPE,IFCDUCTSEGMENTTYPE,IFCCABLESEGMENTTYPE,IFCCABLECARRIERSEGMENTTYPE,IFCPIPESEGMENTTYPE,IFCFLOWSEGMENTTYPE,IFCFANTYPE,IFCCOMPRESSORTYPE,IFCPUMPTYPE,IFCFLOWMOVINGDEVICETYPE,IFCDUCTFITTINGTYPE,IFCCABLECARRIERFITTINGTYPE,IFCPIPEFITTINGTYPE,IFCJUNCTIONBOXTYPE,IFCFLOWFITTINGTYPE,IFCELECTRICTIMECONTROLTYPE,IFCDAMPERTYPE,IFCAIRTERMINALBOXTYPE,IFCVALVETYPE,IFCSWITCHINGDEVICETYPE,IFCPROTECTIVEDEVICETYPE,IFCFLOWMETERTYPE,IFCFLOWCONTROLLERTYPE,IFCELECTRICMOTORTYPE,IFCELECTRICGENERATORTYPE,IFCCOOLINGTOWERTYPE,IFCCOOLEDBEAMTYPE,IFCCONDENSERTYPE,IFCCOILTYPE,IFCCHILLERTYPE,IFCBOILERTYPE,IFCAIRTOAIRHEATRECOVERYTYPE,IFCUNITARYEQUIPMENTTYPE,IFCTUBEBUNDLETYPE,IFCTRANSFORMERTYPE,IFCSPACEHEATERTYPE,IFCMOTORCONNECTIONTYPE,IFCHUMIDIFIERTYPE,IFCHEATEXCHANGERTYPE,IFCEVAPORATORTYPE,IFCEVAPORATIVECOOLERTYPE,IFCENERGYCONVERSIONDEVICETYPE,IFCDISTRIBUTIONFLOWELEMENTTYPE,IFCDISTRIBUTIONELEMENTTYPE,IFCBUILDINGELEMENTPROXYTYPE,IFCBEAMTYPE,IFCWALLTYPE,IFCSTAIRFLIGHTTYPE,IFCSLABTYPE,IFCRAMPFLIGHTTYPE,IFCRAILINGTYPE,IFCPLATETYPE,IFCMEMBERTYPE,IFCCURTAINWALLTYPE,IFCCOVERINGTYPE,IFCCOLUMNTYPE,IFCBUILDINGELEMENTTYPE,IFCTRANSPORTELEMENTTYPE,IFCSPACETYPE,IFCSPATIALSTRUCTUREELEMENTTYPE,IFCSYSTEMFURNITUREELEMENTTYPE,IFCFURNITURETYPE,IFCFURNISHINGELEMENTTYPE,IFCELEMENTTYPE,IFCDOORSTYLE,IFCWINDOWSTYLE,IFCTYPEPRODUCT],2347495698:[IFCVIBRATIONISOLATORTYPE,IFCDISCRETEACCESSORYTYPE,IFCMECHANICALFASTENERTYPE,IFCFASTENERTYPE,IFCELEMENTCOMPONENTTYPE,IFCCONTROLLERTYPE,IFCALARMTYPE,IFCACTUATORTYPE,IFCSENSORTYPE,IFCFLOWINSTRUMENTTYPE,IFCDISTRIBUTIONCONTROLELEMENTTYPE,IFCDISTRIBUTIONCHAMBERELEMENTTYPE,IFCFILTERTYPE,IFCDUCTSILENCERTYPE,IFCFLOWTREATMENTDEVICETYPE,IFCFIRESUPPRESSIONTERMINALTYPE,IFCELECTRICHEATERTYPE,IFCELECTRICAPPLIANCETYPE,IFCAIRTERMINALTYPE,IFCWASTETERMINALTYPE,IFCSTACKTERMINALTYPE,IFCSANITARYTERMINALTYPE,IFCOUTLETTYPE,IFCLIGHTFIXTURETYPE,IFCLAMPTYPE,IFCGASTERMINALTYPE,IFCFLOWTERMINALTYPE,IFCELECTRICFLOWSTORAGEDEVICETYPE,IFCTANKTYPE,IFCFLOWSTORAGEDEVICETYPE,IFCDUCTSEGMENTTYPE,IFCCABLESEGMENTTYPE,IFCCABLECARRIERSEGMENTTYPE,IFCPIPESEGMENTTYPE,IFCFLOWSEGMENTTYPE,IFCFANTYPE,IFCCOMPRESSORTYPE,IFCPUMPTYPE,IFCFLOWMOVINGDEVICETYPE,IFCDUCTFITTINGTYPE,IFCCABLECARRIERFITTINGTYPE,IFCPIPEFITTINGTYPE,IFCJUNCTIONBOXTYPE,IFCFLOWFITTINGTYPE,IFCELECTRICTIMECONTROLTYPE,IFCDAMPERTYPE,IFCAIRTERMINALBOXTYPE,IFCVALVETYPE,IFCSWITCHINGDEVICETYPE,IFCPROTECTIVEDEVICETYPE,IFCFLOWMETERTYPE,IFCFLOWCONTROLLERTYPE,IFCELECTRICMOTORTYPE,IFCELECTRICGENERATORTYPE,IFCCOOLINGTOWERTYPE,IFCCOOLEDBEAMTYPE,IFCCONDENSERTYPE,IFCCOILTYPE,IFCCHILLERTYPE,IFCBOILERTYPE,IFCAIRTOAIRHEATRECOVERYTYPE,IFCUNITARYEQUIPMENTTYPE,IFCTUBEBUNDLETYPE,IFCTRANSFORMERTYPE,IFCSPACEHEATERTYPE,IFCMOTORCONNECTIONTYPE,IFCHUMIDIFIERTYPE,IFCHEATEXCHANGERTYPE,IFCEVAPORATORTYPE,IFCEVAPORATIVECOOLERTYPE,IFCENERGYCONVERSIONDEVICETYPE,IFCDISTRIBUTIONFLOWELEMENTTYPE,IFCDISTRIBUTIONELEMENTTYPE,IFCBUILDINGELEMENTPROXYTYPE,IFCBEAMTYPE,IFCWALLTYPE,IFCSTAIRFLIGHTTYPE,IFCSLABTYPE,IFCRAMPFLIGHTTYPE,IFCRAILINGTYPE,IFCPLATETYPE,IFCMEMBERTYPE,IFCCURTAINWALLTYPE,IFCCOVERINGTYPE,IFCCOLUMNTYPE,IFCBUILDINGELEMENTTYPE,IFCTRANSPORTELEMENTTYPE,IFCSPACETYPE,IFCSPATIALSTRUCTUREELEMENTTYPE,IFCSYSTEMFURNITUREELEMENTTYPE,IFCFURNITURETYPE,IFCFURNISHINGELEMENTTYPE,IFCELEMENTTYPE,IFCDOORSTYLE,IFCWINDOWSTYLE],3288037868:[IFCPROJECTIONCURVE,IFCDIMENSIONCURVE],2736907675:[IFCBOOLEANCLIPPINGRESULT],4182860854:[IFCRECTANGULARTRIMMEDSURFACE,IFCCURVEBOUNDEDPLANE],59481748:[IFCCARTESIANTRANSFORMATIONOPERATOR3DNONUNIFORM,IFCCARTESIANTRANSFORMATIONOPERATOR3D,IFCCARTESIANTRANSFORMATIONOPERATOR2DNONUNIFORM,IFCCARTESIANTRANSFORMATIONOPERATOR2D],3749851601:[IFCCARTESIANTRANSFORMATIONOPERATOR2DNONUNIFORM],3331915920:[IFCCARTESIANTRANSFORMATIONOPERATOR3DNONUNIFORM],1383045692:[IFCCIRCLEHOLLOWPROFILEDEF],2506170314:[IFCBLOCK,IFCSPHERE,IFCRIGHTCIRCULARCYLINDER,IFCRIGHTCIRCULARCONE,IFCRECTANGULARPYRAMID],2601014836:[IFCCIRCLE,IFCELLIPSE,IFCCONIC,IFCRATIONALBEZIERCURVE,IFCBEZIERCURVE,IFCBSPLINECURVE,IFCTRIMMEDCURVE,IFCPOLYLINE,IFC2DCOMPOSITECURVE,IFCCOMPOSITECURVE,IFCBOUNDEDCURVE,IFCOFFSETCURVE3D,IFCOFFSETCURVE2D,IFCLINE],3073041342:[IFCDIAMETERDIMENSION,IFCANGULARDIMENSION,IFCRADIUSDIMENSION,IFCLINEARDIMENSION,IFCDIMENSIONCURVEDIRECTEDCALLOUT,IFCSTRUCTUREDDIMENSIONCALLOUT],339256511:[IFCVIBRATIONISOLATORTYPE,IFCDISCRETEACCESSORYTYPE,IFCMECHANICALFASTENERTYPE,IFCFASTENERTYPE,IFCELEMENTCOMPONENTTYPE,IFCCONTROLLERTYPE,IFCALARMTYPE,IFCACTUATORTYPE,IFCSENSORTYPE,IFCFLOWINSTRUMENTTYPE,IFCDISTRIBUTIONCONTROLELEMENTTYPE,IFCDISTRIBUTIONCHAMBERELEMENTTYPE,IFCFILTERTYPE,IFCDUCTSILENCERTYPE,IFCFLOWTREATMENTDEVICETYPE,IFCFIRESUPPRESSIONTERMINALTYPE,IFCELECTRICHEATERTYPE,IFCELECTRICAPPLIANCETYPE,IFCAIRTERMINALTYPE,IFCWASTETERMINALTYPE,IFCSTACKTERMINALTYPE,IFCSANITARYTERMINALTYPE,IFCOUTLETTYPE,IFCLIGHTFIXTURETYPE,IFCLAMPTYPE,IFCGASTERMINALTYPE,IFCFLOWTERMINALTYPE,IFCELECTRICFLOWSTORAGEDEVICETYPE,IFCTANKTYPE,IFCFLOWSTORAGEDEVICETYPE,IFCDUCTSEGMENTTYPE,IFCCABLESEGMENTTYPE,IFCCABLECARRIERSEGMENTTYPE,IFCPIPESEGMENTTYPE,IFCFLOWSEGMENTTYPE,IFCFANTYPE,IFCCOMPRESSORTYPE,IFCPUMPTYPE,IFCFLOWMOVINGDEVICETYPE,IFCDUCTFITTINGTYPE,IFCCABLECARRIERFITTINGTYPE,IFCPIPEFITTINGTYPE,IFCJUNCTIONBOXTYPE,IFCFLOWFITTINGTYPE,IFCELECTRICTIMECONTROLTYPE,IFCDAMPERTYPE,IFCAIRTERMINALBOXTYPE,IFCVALVETYPE,IFCSWITCHINGDEVICETYPE,IFCPROTECTIVEDEVICETYPE,IFCFLOWMETERTYPE,IFCFLOWCONTROLLERTYPE,IFCELECTRICMOTORTYPE,IFCELECTRICGENERATORTYPE,IFCCOOLINGTOWERTYPE,IFCCOOLEDBEAMTYPE,IFCCONDENSERTYPE,IFCCOILTYPE,IFCCHILLERTYPE,IFCBOILERTYPE,IFCAIRTOAIRHEATRECOVERYTYPE,IFCUNITARYEQUIPMENTTYPE,IFCTUBEBUNDLETYPE,IFCTRANSFORMERTYPE,IFCSPACEHEATERTYPE,IFCMOTORCONNECTIONTYPE,IFCHUMIDIFIERTYPE,IFCHEATEXCHANGERTYPE,IFCEVAPORATORTYPE,IFCEVAPORATIVECOOLERTYPE,IFCENERGYCONVERSIONDEVICETYPE,IFCDISTRIBUTIONFLOWELEMENTTYPE,IFCDISTRIBUTIONELEMENTTYPE,IFCBUILDINGELEMENTPROXYTYPE,IFCBEAMTYPE,IFCWALLTYPE,IFCSTAIRFLIGHTTYPE,IFCSLABTYPE,IFCRAMPFLIGHTTYPE,IFCRAILINGTYPE,IFCPLATETYPE,IFCMEMBERTYPE,IFCCURTAINWALLTYPE,IFCCOVERINGTYPE,IFCCOLUMNTYPE,IFCBUILDINGELEMENTTYPE,IFCTRANSPORTELEMENTTYPE,IFCSPACETYPE,IFCSPATIALSTRUCTUREELEMENTTYPE,IFCSYSTEMFURNITUREELEMENTTYPE,IFCFURNITURETYPE,IFCFURNISHINGELEMENTTYPE],2777663545:[IFCPLANE],80994333:[IFCELECTRICALBASEPROPERTIES],4238390223:[IFCSYSTEMFURNITUREELEMENTTYPE,IFCFURNITURETYPE],1484403080:[IFCASYMMETRICISHAPEPROFILEDEF],1425443689:[IFCFACETEDBREPWITHVOIDS,IFCFACETEDBREP],3888040117:[IFCCONDITION,IFCASSET,IFCZONE,IFCSTRUCTURALANALYSISMODEL,IFCELECTRICALCIRCUIT,IFCSYSTEM,IFCSTRUCTURALRESULTGROUP,IFCSTRUCTURALLOADGROUP,IFCINVENTORY,IFCGROUP,IFCCONDITIONCRITERION,IFCACTIONREQUEST,IFCWORKSCHEDULE,IFCWORKPLAN,IFCWORKCONTROL,IFCTIMESERIESSCHEDULE,IFCSPACEPROGRAM,IFCSERVICELIFE,IFCSCHEDULETIMECONTROL,IFCPROJECTORDERRECORD,IFCPROJECTORDER,IFCPERMIT,IFCPERFORMANCEHISTORY,IFCFURNITURESTANDARD,IFCEQUIPMENTSTANDARD,IFCCOSTSCHEDULE,IFCCOSTITEM,IFCCONTROL,IFCOCCUPANT,IFCACTOR,IFCCONSTRUCTIONPRODUCTRESOURCE,IFCCONSTRUCTIONMATERIALRESOURCE,IFCCONSTRUCTIONEQUIPMENTRESOURCE,IFCSUBCONTRACTRESOURCE,IFCLABORRESOURCE,IFCCREWRESOURCE,IFCCONSTRUCTIONRESOURCE,IFCRESOURCE,IFCPROJECT,IFCDISTRIBUTIONPORT,IFCPORT,IFCGRID,IFCELECTRICALELEMENT,IFCDISTRIBUTIONCONTROLELEMENT,IFCDISTRIBUTIONCHAMBERELEMENT,IFCFLOWTREATMENTDEVICE,IFCFLOWTERMINAL,IFCFLOWSTORAGEDEVICE,IFCFLOWSEGMENT,IFCFLOWMOVINGDEVICE,IFCFLOWFITTING,IFCELECTRICDISTRIBUTIONPOINT,IFCFLOWCONTROLLER,IFCENERGYCONVERSIONDEVICE,IFCDISTRIBUTIONFLOWELEMENT,IFCDISTRIBUTIONELEMENT,IFCBEAM,IFCWINDOW,IFCWALLSTANDARDCASE,IFCWALL,IFCSTAIRFLIGHT,IFCSTAIR,IFCSLAB,IFCROOF,IFCRAMPFLIGHT,IFCRAMP,IFCRAILING,IFCPLATE,IFCPILE,IFCMEMBER,IFCFOOTING,IFCDOOR,IFCCURTAINWALL,IFCCOVERING,IFCCOLUMN,IFCBUILDINGELEMENTPROXY,IFCREINFORCINGBAR,IFCTENDONANCHOR,IFCTENDON,IFCREINFORCINGMESH,IFCREINFORCINGELEMENT,IFCBUILDINGELEMENTPART,IFCBUILDINGELEMENTCOMPONENT,IFCBUILDINGELEMENT,IFCVIRTUALELEMENT,IFCTRANSPORTELEMENT,IFCFURNISHINGELEMENT,IFCCHAMFEREDGEFEATURE,IFCROUNDEDEDGEFEATURE,IFCEDGEFEATURE,IFCOPENINGELEMENT,IFCFEATUREELEMENTSUBTRACTION,IFCPROJECTIONELEMENT,IFCFEATUREELEMENTADDITION,IFCFEATUREELEMENT,IFCEQUIPMENTELEMENT,IFCDISCRETEACCESSORY,IFCMECHANICALFASTENER,IFCFASTENER,IFCELEMENTCOMPONENT,IFCELEMENTASSEMBLY,IFCELEMENT,IFCANNOTATION,IFCSTRUCTURALSURFACECONNECTION,IFCSTRUCTURALPOINTCONNECTION,IFCSTRUCTURALCURVECONNECTION,IFCSTRUCTURALCONNECTION,IFCSTRUCTURALCURVEMEMBERVARYING,IFCSTRUCTURALCURVEMEMBER,IFCSTRUCTURALSURFACEMEMBERVARYING,IFCSTRUCTURALSURFACEMEMBER,IFCSTRUCTURALMEMBER,IFCSTRUCTURALITEM,IFCSTRUCTURALPOINTACTION,IFCSTRUCTURALPLANARACTIONVARYING,IFCSTRUCTURALPLANARACTION,IFCSTRUCTURALLINEARACTIONVARYING,IFCSTRUCTURALLINEARACTION,IFCSTRUCTURALACTION,IFCSTRUCTURALPOINTREACTION,IFCSTRUCTURALREACTION,IFCSTRUCTURALACTIVITY,IFCSPACE,IFCSITE,IFCBUILDINGSTOREY,IFCBUILDING,IFCSPATIALSTRUCTUREELEMENT,IFCPROXY,IFCPRODUCT,IFCPROCEDURE,IFCORDERACTION,IFCMOVE,IFCTASK,IFCPROCESS],2945172077:[IFCPROCEDURE,IFCORDERACTION,IFCMOVE,IFCTASK],4208778838:[IFCDISTRIBUTIONPORT,IFCPORT,IFCGRID,IFCELECTRICALELEMENT,IFCDISTRIBUTIONCONTROLELEMENT,IFCDISTRIBUTIONCHAMBERELEMENT,IFCFLOWTREATMENTDEVICE,IFCFLOWTERMINAL,IFCFLOWSTORAGEDEVICE,IFCFLOWSEGMENT,IFCFLOWMOVINGDEVICE,IFCFLOWFITTING,IFCELECTRICDISTRIBUTIONPOINT,IFCFLOWCONTROLLER,IFCENERGYCONVERSIONDEVICE,IFCDISTRIBUTIONFLOWELEMENT,IFCDISTRIBUTIONELEMENT,IFCBEAM,IFCWINDOW,IFCWALLSTANDARDCASE,IFCWALL,IFCSTAIRFLIGHT,IFCSTAIR,IFCSLAB,IFCROOF,IFCRAMPFLIGHT,IFCRAMP,IFCRAILING,IFCPLATE,IFCPILE,IFCMEMBER,IFCFOOTING,IFCDOOR,IFCCURTAINWALL,IFCCOVERING,IFCCOLUMN,IFCBUILDINGELEMENTPROXY,IFCREINFORCINGBAR,IFCTENDONANCHOR,IFCTENDON,IFCREINFORCINGMESH,IFCREINFORCINGELEMENT,IFCBUILDINGELEMENTPART,IFCBUILDINGELEMENTCOMPONENT,IFCBUILDINGELEMENT,IFCVIRTUALELEMENT,IFCTRANSPORTELEMENT,IFCFURNISHINGELEMENT,IFCCHAMFEREDGEFEATURE,IFCROUNDEDEDGEFEATURE,IFCEDGEFEATURE,IFCOPENINGELEMENT,IFCFEATUREELEMENTSUBTRACTION,IFCPROJECTIONELEMENT,IFCFEATUREELEMENTADDITION,IFCFEATUREELEMENT,IFCEQUIPMENTELEMENT,IFCDISCRETEACCESSORY,IFCMECHANICALFASTENER,IFCFASTENER,IFCELEMENTCOMPONENT,IFCELEMENTASSEMBLY,IFCELEMENT,IFCANNOTATION,IFCSTRUCTURALSURFACECONNECTION,IFCSTRUCTURALPOINTCONNECTION,IFCSTRUCTURALCURVECONNECTION,IFCSTRUCTURALCONNECTION,IFCSTRUCTURALCURVEMEMBERVARYING,IFCSTRUCTURALCURVEMEMBER,IFCSTRUCTURALSURFACEMEMBERVARYING,IFCSTRUCTURALSURFACEMEMBER,IFCSTRUCTURALMEMBER,IFCSTRUCTURALITEM,IFCSTRUCTURALPOINTACTION,IFCSTRUCTURALPLANARACTIONVARYING,IFCSTRUCTURALPLANARACTION,IFCSTRUCTURALLINEARACTIONVARYING,IFCSTRUCTURALLINEARACTION,IFCSTRUCTURALACTION,IFCSTRUCTURALPOINTREACTION,IFCSTRUCTURALREACTION,IFCSTRUCTURALACTIVITY,IFCSPACE,IFCSITE,IFCBUILDINGSTOREY,IFCBUILDING,IFCSPATIALSTRUCTUREELEMENT,IFCPROXY],3939117080:[IFCRELASSIGNSTORESOURCE,IFCRELASSIGNSTOPRODUCT,IFCRELASSIGNSTOPROCESS,IFCRELASSIGNSTOGROUP,IFCRELASSIGNSTASKS,IFCRELSCHEDULESCOSTITEMS,IFCRELASSIGNSTOPROJECTORDER,IFCRELASSIGNSTOCONTROL,IFCRELOCCUPIESSPACES,IFCRELASSIGNSTOACTOR],1683148259:[IFCRELOCCUPIESSPACES],2495723537:[IFCRELASSIGNSTASKS,IFCRELSCHEDULESCOSTITEMS,IFCRELASSIGNSTOPROJECTORDER],1865459582:[IFCRELASSOCIATESPROFILEPROPERTIES,IFCRELASSOCIATESMATERIAL,IFCRELASSOCIATESLIBRARY,IFCRELASSOCIATESDOCUMENT,IFCRELASSOCIATESCONSTRAINT,IFCRELASSOCIATESCLASSIFICATION,IFCRELASSOCIATESAPPROVAL,IFCRELASSOCIATESAPPLIEDVALUE],826625072:[IFCRELVOIDSELEMENT,IFCRELSPACEBOUNDARY,IFCRELSERVICESBUILDINGS,IFCRELSEQUENCE,IFCRELREFERENCEDINSPATIALSTRUCTURE,IFCRELPROJECTSELEMENT,IFCRELINTERACTIONREQUIREMENTS,IFCRELFLOWCONTROLELEMENTS,IFCRELFILLSELEMENT,IFCRELCOVERSSPACES,IFCRELCOVERSBLDGELEMENTS,IFCRELCONTAINEDINSPATIALSTRUCTURE,IFCRELCONNECTSWITHECCENTRICITY,IFCRELCONNECTSSTRUCTURALMEMBER,IFCRELCONNECTSSTRUCTURALELEMENT,IFCRELCONNECTSSTRUCTURALACTIVITY,IFCRELCONNECTSPORTS,IFCRELCONNECTSPORTTOELEMENT,IFCRELCONNECTSWITHREALIZINGELEMENTS,IFCRELCONNECTSPATHELEMENTS,IFCRELCONNECTSELEMENTS],1204542856:[IFCRELCONNECTSWITHREALIZINGELEMENTS,IFCRELCONNECTSPATHELEMENTS],1638771189:[IFCRELCONNECTSWITHECCENTRICITY],2551354335:[IFCRELAGGREGATES,IFCRELNESTS],693640335:[IFCRELDEFINESBYTYPE,IFCRELOVERRIDESPROPERTIES,IFCRELDEFINESBYPROPERTIES],4186316022:[IFCRELOVERRIDESPROPERTIES],2914609552:[IFCCONSTRUCTIONPRODUCTRESOURCE,IFCCONSTRUCTIONMATERIALRESOURCE,IFCCONSTRUCTIONEQUIPMENTRESOURCE,IFCSUBCONTRACTRESOURCE,IFCLABORRESOURCE,IFCCREWRESOURCE,IFCCONSTRUCTIONRESOURCE],2706606064:[IFCSPACE,IFCSITE,IFCBUILDINGSTOREY,IFCBUILDING],3893378262:[IFCSPACETYPE],3544373492:[IFCSTRUCTURALPOINTACTION,IFCSTRUCTURALPLANARACTIONVARYING,IFCSTRUCTURALPLANARACTION,IFCSTRUCTURALLINEARACTIONVARYING,IFCSTRUCTURALLINEARACTION,IFCSTRUCTURALACTION,IFCSTRUCTURALPOINTREACTION,IFCSTRUCTURALREACTION],3136571912:[IFCSTRUCTURALSURFACECONNECTION,IFCSTRUCTURALPOINTCONNECTION,IFCSTRUCTURALCURVECONNECTION,IFCSTRUCTURALCONNECTION,IFCSTRUCTURALCURVEMEMBERVARYING,IFCSTRUCTURALCURVEMEMBER,IFCSTRUCTURALSURFACEMEMBERVARYING,IFCSTRUCTURALSURFACEMEMBER,IFCSTRUCTURALMEMBER],530289379:[IFCSTRUCTURALCURVEMEMBERVARYING,IFCSTRUCTURALCURVEMEMBER,IFCSTRUCTURALSURFACEMEMBERVARYING,IFCSTRUCTURALSURFACEMEMBER],3689010777:[IFCSTRUCTURALPOINTREACTION],3979015343:[IFCSTRUCTURALSURFACEMEMBERVARYING],3473067441:[IFCORDERACTION,IFCMOVE],2296667514:[IFCOCCUPANT],1260505505:[IFCRATIONALBEZIERCURVE,IFCBEZIERCURVE,IFCBSPLINECURVE,IFCTRIMMEDCURVE,IFCPOLYLINE,IFC2DCOMPOSITECURVE,IFCCOMPOSITECURVE],1950629157:[IFCBUILDINGELEMENTPROXYTYPE,IFCBEAMTYPE,IFCWALLTYPE,IFCSTAIRFLIGHTTYPE,IFCSLABTYPE,IFCRAMPFLIGHTTYPE,IFCRAILINGTYPE,IFCPLATETYPE,IFCMEMBERTYPE,IFCCURTAINWALLTYPE,IFCCOVERINGTYPE,IFCCOLUMNTYPE],3732776249:[IFC2DCOMPOSITECURVE],2510884976:[IFCCIRCLE,IFCELLIPSE],2559216714:[IFCCONSTRUCTIONPRODUCTRESOURCE,IFCCONSTRUCTIONMATERIALRESOURCE,IFCCONSTRUCTIONEQUIPMENTRESOURCE,IFCSUBCONTRACTRESOURCE,IFCLABORRESOURCE,IFCCREWRESOURCE],3293443760:[IFCCONDITIONCRITERION,IFCACTIONREQUEST,IFCWORKSCHEDULE,IFCWORKPLAN,IFCWORKCONTROL,IFCTIMESERIESSCHEDULE,IFCSPACEPROGRAM,IFCSERVICELIFE,IFCSCHEDULETIMECONTROL,IFCPROJECTORDERRECORD,IFCPROJECTORDER,IFCPERMIT,IFCPERFORMANCEHISTORY,IFCFURNITURESTANDARD,IFCEQUIPMENTSTANDARD,IFCCOSTSCHEDULE,IFCCOSTITEM],681481545:[IFCDIAMETERDIMENSION,IFCANGULARDIMENSION,IFCRADIUSDIMENSION,IFCLINEARDIMENSION],3256556792:[IFCCONTROLLERTYPE,IFCALARMTYPE,IFCACTUATORTYPE,IFCSENSORTYPE,IFCFLOWINSTRUMENTTYPE,IFCDISTRIBUTIONCONTROLELEMENTTYPE,IFCDISTRIBUTIONCHAMBERELEMENTTYPE,IFCFILTERTYPE,IFCDUCTSILENCERTYPE,IFCFLOWTREATMENTDEVICETYPE,IFCFIRESUPPRESSIONTERMINALTYPE,IFCELECTRICHEATERTYPE,IFCELECTRICAPPLIANCETYPE,IFCAIRTERMINALTYPE,IFCWASTETERMINALTYPE,IFCSTACKTERMINALTYPE,IFCSANITARYTERMINALTYPE,IFCOUTLETTYPE,IFCLIGHTFIXTURETYPE,IFCLAMPTYPE,IFCGASTERMINALTYPE,IFCFLOWTERMINALTYPE,IFCELECTRICFLOWSTORAGEDEVICETYPE,IFCTANKTYPE,IFCFLOWSTORAGEDEVICETYPE,IFCDUCTSEGMENTTYPE,IFCCABLESEGMENTTYPE,IFCCABLECARRIERSEGMENTTYPE,IFCPIPESEGMENTTYPE,IFCFLOWSEGMENTTYPE,IFCFANTYPE,IFCCOMPRESSORTYPE,IFCPUMPTYPE,IFCFLOWMOVINGDEVICETYPE,IFCDUCTFITTINGTYPE,IFCCABLECARRIERFITTINGTYPE,IFCPIPEFITTINGTYPE,IFCJUNCTIONBOXTYPE,IFCFLOWFITTINGTYPE,IFCELECTRICTIMECONTROLTYPE,IFCDAMPERTYPE,IFCAIRTERMINALBOXTYPE,IFCVALVETYPE,IFCSWITCHINGDEVICETYPE,IFCPROTECTIVEDEVICETYPE,IFCFLOWMETERTYPE,IFCFLOWCONTROLLERTYPE,IFCELECTRICMOTORTYPE,IFCELECTRICGENERATORTYPE,IFCCOOLINGTOWERTYPE,IFCCOOLEDBEAMTYPE,IFCCONDENSERTYPE,IFCCOILTYPE,IFCCHILLERTYPE,IFCBOILERTYPE,IFCAIRTOAIRHEATRECOVERYTYPE,IFCUNITARYEQUIPMENTTYPE,IFCTUBEBUNDLETYPE,IFCTRANSFORMERTYPE,IFCSPACEHEATERTYPE,IFCMOTORCONNECTIONTYPE,IFCHUMIDIFIERTYPE,IFCHEATEXCHANGERTYPE,IFCEVAPORATORTYPE,IFCEVAPORATIVECOOLERTYPE,IFCENERGYCONVERSIONDEVICETYPE,IFCDISTRIBUTIONFLOWELEMENTTYPE],3849074793:[IFCDISTRIBUTIONCHAMBERELEMENTTYPE,IFCFILTERTYPE,IFCDUCTSILENCERTYPE,IFCFLOWTREATMENTDEVICETYPE,IFCFIRESUPPRESSIONTERMINALTYPE,IFCELECTRICHEATERTYPE,IFCELECTRICAPPLIANCETYPE,IFCAIRTERMINALTYPE,IFCWASTETERMINALTYPE,IFCSTACKTERMINALTYPE,IFCSANITARYTERMINALTYPE,IFCOUTLETTYPE,IFCLIGHTFIXTURETYPE,IFCLAMPTYPE,IFCGASTERMINALTYPE,IFCFLOWTERMINALTYPE,IFCELECTRICFLOWSTORAGEDEVICETYPE,IFCTANKTYPE,IFCFLOWSTORAGEDEVICETYPE,IFCDUCTSEGMENTTYPE,IFCCABLESEGMENTTYPE,IFCCABLECARRIERSEGMENTTYPE,IFCPIPESEGMENTTYPE,IFCFLOWSEGMENTTYPE,IFCFANTYPE,IFCCOMPRESSORTYPE,IFCPUMPTYPE,IFCFLOWMOVINGDEVICETYPE,IFCDUCTFITTINGTYPE,IFCCABLECARRIERFITTINGTYPE,IFCPIPEFITTINGTYPE,IFCJUNCTIONBOXTYPE,IFCFLOWFITTINGTYPE,IFCELECTRICTIMECONTROLTYPE,IFCDAMPERTYPE,IFCAIRTERMINALBOXTYPE,IFCVALVETYPE,IFCSWITCHINGDEVICETYPE,IFCPROTECTIVEDEVICETYPE,IFCFLOWMETERTYPE,IFCFLOWCONTROLLERTYPE,IFCELECTRICMOTORTYPE,IFCELECTRICGENERATORTYPE,IFCCOOLINGTOWERTYPE,IFCCOOLEDBEAMTYPE,IFCCONDENSERTYPE,IFCCOILTYPE,IFCCHILLERTYPE,IFCBOILERTYPE,IFCAIRTOAIRHEATRECOVERYTYPE,IFCUNITARYEQUIPMENTTYPE,IFCTUBEBUNDLETYPE,IFCTRANSFORMERTYPE,IFCSPACEHEATERTYPE,IFCMOTORCONNECTIONTYPE,IFCHUMIDIFIERTYPE,IFCHEATEXCHANGERTYPE,IFCEVAPORATORTYPE,IFCEVAPORATIVECOOLERTYPE,IFCENERGYCONVERSIONDEVICETYPE],1758889154:[IFCELECTRICALELEMENT,IFCDISTRIBUTIONCONTROLELEMENT,IFCDISTRIBUTIONCHAMBERELEMENT,IFCFLOWTREATMENTDEVICE,IFCFLOWTERMINAL,IFCFLOWSTORAGEDEVICE,IFCFLOWSEGMENT,IFCFLOWMOVINGDEVICE,IFCFLOWFITTING,IFCELECTRICDISTRIBUTIONPOINT,IFCFLOWCONTROLLER,IFCENERGYCONVERSIONDEVICE,IFCDISTRIBUTIONFLOWELEMENT,IFCDISTRIBUTIONELEMENT,IFCBEAM,IFCWINDOW,IFCWALLSTANDARDCASE,IFCWALL,IFCSTAIRFLIGHT,IFCSTAIR,IFCSLAB,IFCROOF,IFCRAMPFLIGHT,IFCRAMP,IFCRAILING,IFCPLATE,IFCPILE,IFCMEMBER,IFCFOOTING,IFCDOOR,IFCCURTAINWALL,IFCCOVERING,IFCCOLUMN,IFCBUILDINGELEMENTPROXY,IFCREINFORCINGBAR,IFCTENDONANCHOR,IFCTENDON,IFCREINFORCINGMESH,IFCREINFORCINGELEMENT,IFCBUILDINGELEMENTPART,IFCBUILDINGELEMENTCOMPONENT,IFCBUILDINGELEMENT,IFCVIRTUALELEMENT,IFCTRANSPORTELEMENT,IFCFURNISHINGELEMENT,IFCCHAMFEREDGEFEATURE,IFCROUNDEDEDGEFEATURE,IFCEDGEFEATURE,IFCOPENINGELEMENT,IFCFEATUREELEMENTSUBTRACTION,IFCPROJECTIONELEMENT,IFCFEATUREELEMENTADDITION,IFCFEATUREELEMENT,IFCEQUIPMENTELEMENT,IFCDISCRETEACCESSORY,IFCMECHANICALFASTENER,IFCFASTENER,IFCELEMENTCOMPONENT,IFCELEMENTASSEMBLY],1623761950:[IFCDISCRETEACCESSORY,IFCMECHANICALFASTENER,IFCFASTENER],2590856083:[IFCVIBRATIONISOLATORTYPE,IFCDISCRETEACCESSORYTYPE,IFCMECHANICALFASTENERTYPE,IFCFASTENERTYPE],2107101300:[IFCELECTRICMOTORTYPE,IFCELECTRICGENERATORTYPE,IFCCOOLINGTOWERTYPE,IFCCOOLEDBEAMTYPE,IFCCONDENSERTYPE,IFCCOILTYPE,IFCCHILLERTYPE,IFCBOILERTYPE,IFCAIRTOAIRHEATRECOVERYTYPE,IFCUNITARYEQUIPMENTTYPE,IFCTUBEBUNDLETYPE,IFCTRANSFORMERTYPE,IFCSPACEHEATERTYPE,IFCMOTORCONNECTIONTYPE,IFCHUMIDIFIERTYPE,IFCHEATEXCHANGERTYPE,IFCEVAPORATORTYPE,IFCEVAPORATIVECOOLERTYPE],647756555:[IFCMECHANICALFASTENER],2489546625:[IFCMECHANICALFASTENERTYPE],2827207264:[IFCCHAMFEREDGEFEATURE,IFCROUNDEDEDGEFEATURE,IFCEDGEFEATURE,IFCOPENINGELEMENT,IFCFEATUREELEMENTSUBTRACTION,IFCPROJECTIONELEMENT,IFCFEATUREELEMENTADDITION],2143335405:[IFCPROJECTIONELEMENT],1287392070:[IFCCHAMFEREDGEFEATURE,IFCROUNDEDEDGEFEATURE,IFCEDGEFEATURE,IFCOPENINGELEMENT],3907093117:[IFCELECTRICTIMECONTROLTYPE,IFCDAMPERTYPE,IFCAIRTERMINALBOXTYPE,IFCVALVETYPE,IFCSWITCHINGDEVICETYPE,IFCPROTECTIVEDEVICETYPE,IFCFLOWMETERTYPE],3198132628:[IFCDUCTFITTINGTYPE,IFCCABLECARRIERFITTINGTYPE,IFCPIPEFITTINGTYPE,IFCJUNCTIONBOXTYPE],1482959167:[IFCFANTYPE,IFCCOMPRESSORTYPE,IFCPUMPTYPE],1834744321:[IFCDUCTSEGMENTTYPE,IFCCABLESEGMENTTYPE,IFCCABLECARRIERSEGMENTTYPE,IFCPIPESEGMENTTYPE],1339347760:[IFCELECTRICFLOWSTORAGEDEVICETYPE,IFCTANKTYPE],2297155007:[IFCFIRESUPPRESSIONTERMINALTYPE,IFCELECTRICHEATERTYPE,IFCELECTRICAPPLIANCETYPE,IFCAIRTERMINALTYPE,IFCWASTETERMINALTYPE,IFCSTACKTERMINALTYPE,IFCSANITARYTERMINALTYPE,IFCOUTLETTYPE,IFCLIGHTFIXTURETYPE,IFCLAMPTYPE,IFCGASTERMINALTYPE],3009222698:[IFCFILTERTYPE,IFCDUCTSILENCERTYPE],2706460486:[IFCCONDITION,IFCASSET,IFCZONE,IFCSTRUCTURALANALYSISMODEL,IFCELECTRICALCIRCUIT,IFCSYSTEM,IFCSTRUCTURALRESULTGROUP,IFCSTRUCTURALLOADGROUP,IFCINVENTORY],3740093272:[IFCDISTRIBUTIONPORT],682877961:[IFCSTRUCTURALPOINTACTION,IFCSTRUCTURALPLANARACTIONVARYING,IFCSTRUCTURALPLANARACTION,IFCSTRUCTURALLINEARACTIONVARYING,IFCSTRUCTURALLINEARACTION],1179482911:[IFCSTRUCTURALSURFACECONNECTION,IFCSTRUCTURALPOINTCONNECTION,IFCSTRUCTURALCURVECONNECTION],214636428:[IFCSTRUCTURALCURVEMEMBERVARYING],1807405624:[IFCSTRUCTURALLINEARACTIONVARYING],1621171031:[IFCSTRUCTURALPLANARACTIONVARYING],2254336722:[IFCSTRUCTURALANALYSISMODEL,IFCELECTRICALCIRCUIT],1028945134:[IFCWORKSCHEDULE,IFCWORKPLAN],1967976161:[IFCRATIONALBEZIERCURVE,IFCBEZIERCURVE],1916977116:[IFCRATIONALBEZIERCURVE],3299480353:[IFCBEAM,IFCWINDOW,IFCWALLSTANDARDCASE,IFCWALL,IFCSTAIRFLIGHT,IFCSTAIR,IFCSLAB,IFCROOF,IFCRAMPFLIGHT,IFCRAMP,IFCRAILING,IFCPLATE,IFCPILE,IFCMEMBER,IFCFOOTING,IFCDOOR,IFCCURTAINWALL,IFCCOVERING,IFCCOLUMN,IFCBUILDINGELEMENTPROXY,IFCREINFORCINGBAR,IFCTENDONANCHOR,IFCTENDON,IFCREINFORCINGMESH,IFCREINFORCINGELEMENT,IFCBUILDINGELEMENTPART,IFCBUILDINGELEMENTCOMPONENT],52481810:[IFCREINFORCINGBAR,IFCTENDONANCHOR,IFCTENDON,IFCREINFORCINGMESH,IFCREINFORCINGELEMENT,IFCBUILDINGELEMENTPART],2635815018:[IFCVIBRATIONISOLATORTYPE],2063403501:[IFCCONTROLLERTYPE,IFCALARMTYPE,IFCACTUATORTYPE,IFCSENSORTYPE,IFCFLOWINSTRUMENTTYPE],1945004755:[IFCDISTRIBUTIONCONTROLELEMENT,IFCDISTRIBUTIONCHAMBERELEMENT,IFCFLOWTREATMENTDEVICE,IFCFLOWTERMINAL,IFCFLOWSTORAGEDEVICE,IFCFLOWSEGMENT,IFCFLOWMOVINGDEVICE,IFCFLOWFITTING,IFCELECTRICDISTRIBUTIONPOINT,IFCFLOWCONTROLLER,IFCENERGYCONVERSIONDEVICE,IFCDISTRIBUTIONFLOWELEMENT],3040386961:[IFCDISTRIBUTIONCHAMBERELEMENT,IFCFLOWTREATMENTDEVICE,IFCFLOWTERMINAL,IFCFLOWSTORAGEDEVICE,IFCFLOWSEGMENT,IFCFLOWMOVINGDEVICE,IFCFLOWFITTING,IFCELECTRICDISTRIBUTIONPOINT,IFCFLOWCONTROLLER,IFCENERGYCONVERSIONDEVICE],855621170:[IFCCHAMFEREDGEFEATURE,IFCROUNDEDEDGEFEATURE],2058353004:[IFCELECTRICDISTRIBUTIONPOINT],3027567501:[IFCREINFORCINGBAR,IFCTENDONANCHOR,IFCTENDON,IFCREINFORCINGMESH],2391406946:[IFCWALLSTANDARDCASE]};InversePropertyDef[1]={618182010:[["OfPerson",IFCPERSON,7,true],["OfOrganization",IFCORGANIZATION,4,true]],411424972:[["ValuesReferenced",IFCREFERENCESVALUEDOCUMENT,1,true],["ValueOfComponents",IFCAPPLIEDVALUERELATIONSHIP,0,true],["IsComponentIn",IFCAPPLIEDVALUERELATIONSHIP,1,true]],130549933:[["Actors",IFCAPPROVALACTORRELATIONSHIP,1,true],["IsRelatedWith",IFCAPPROVALRELATIONSHIP,0,true],["Relates",IFCAPPROVALRELATIONSHIP,1,true]],747523909:[["Contains",IFCCLASSIFICATIONITEM,1,true]],1767535486:[["IsClassifiedItemIn",IFCCLASSIFICATIONITEMRELATIONSHIP,1,true],["IsClassifyingItemIn",IFCCLASSIFICATIONITEMRELATIONSHIP,0,true]],1959218052:[["ClassifiedAs",IFCCONSTRAINTCLASSIFICATIONRELATIONSHIP,0,true],["RelatesConstraints",IFCCONSTRAINTRELATIONSHIP,2,true],["IsRelatedWith",IFCCONSTRAINTRELATIONSHIP,3,true],["PropertiesForConstraint",IFCPROPERTYCONSTRAINTRELATIONSHIP,0,true],["Aggregates",IFCCONSTRAINTAGGREGATIONRELATIONSHIP,2,true],["IsAggregatedIn",IFCCONSTRAINTAGGREGATIONRELATIONSHIP,3,true]],602808272:[["ValuesReferenced",IFCREFERENCESVALUEDOCUMENT,1,true],["ValueOfComponents",IFCAPPLIEDVALUERELATIONSHIP,0,true],["IsComponentIn",IFCAPPLIEDVALUERELATIONSHIP,1,true]],1154170062:[["IsPointedTo",IFCDOCUMENTINFORMATIONRELATIONSHIP,1,true],["IsPointer",IFCDOCUMENTINFORMATIONRELATIONSHIP,0,true]],1648886627:[["ValuesReferenced",IFCREFERENCESVALUEDOCUMENT,1,true],["ValueOfComponents",IFCAPPLIEDVALUERELATIONSHIP,0,true],["IsComponentIn",IFCAPPLIEDVALUERELATIONSHIP,1,true]],852622518:[["PartOfW",IFCGRID,9,true],["PartOfV",IFCGRID,8,true],["PartOfU",IFCGRID,7,true],["HasIntersections",IFCVIRTUALGRIDINTERSECTION,0,true]],3452421091:[["ReferenceIntoLibrary",IFCLIBRARYINFORMATION,4,true]],1838606355:[["HasRepresentation",IFCMATERIALDEFINITIONREPRESENTATION,3,true],["ClassifiedAs",IFCMATERIALCLASSIFICATIONRELATIONSHIP,1,true]],248100487:[["ToMaterialLayerSet",IFCMATERIALLAYERSET,0,false]],3368373690:[["ClassifiedAs",IFCCONSTRAINTCLASSIFICATIONRELATIONSHIP,0,true],["RelatesConstraints",IFCCONSTRAINTRELATIONSHIP,2,true],["IsRelatedWith",IFCCONSTRAINTRELATIONSHIP,3,true],["PropertiesForConstraint",IFCPROPERTYCONSTRAINTRELATIONSHIP,0,true],["Aggregates",IFCCONSTRAINTAGGREGATIONRELATIONSHIP,2,true],["IsAggregatedIn",IFCCONSTRAINTAGGREGATIONRELATIONSHIP,3,true]],3701648758:[["PlacesObject",IFCPRODUCT,5,true],["ReferencedByPlacements",IFCLOCALPLACEMENT,0,true]],2251480897:[["ClassifiedAs",IFCCONSTRAINTCLASSIFICATIONRELATIONSHIP,0,true],["RelatesConstraints",IFCCONSTRAINTRELATIONSHIP,2,true],["IsRelatedWith",IFCCONSTRAINTRELATIONSHIP,3,true],["PropertiesForConstraint",IFCPROPERTYCONSTRAINTRELATIONSHIP,0,true],["Aggregates",IFCCONSTRAINTAGGREGATIONRELATIONSHIP,2,true],["IsAggregatedIn",IFCCONSTRAINTAGGREGATIONRELATIONSHIP,3,true]],4251960020:[["IsRelatedBy",IFCORGANIZATIONRELATIONSHIP,3,true],["Relates",IFCORGANIZATIONRELATIONSHIP,2,true],["Engages",IFCPERSONANDORGANIZATION,1,true]],2077209135:[["EngagedIn",IFCPERSONANDORGANIZATION,0,true]],2483315170:[["PartOfComplex",IFCPHYSICALCOMPLEXQUANTITY,2,true]],2226359599:[["PartOfComplex",IFCPHYSICALCOMPLEXQUANTITY,2,true]],3355820592:[["OfPerson",IFCPERSON,7,true],["OfOrganization",IFCORGANIZATION,4,true]],2598011224:[["PropertyForDependance",IFCPROPERTYDEPENDENCYRELATIONSHIP,0,true],["PropertyDependsOn",IFCPROPERTYDEPENDENCYRELATIONSHIP,1,true],["PartOfComplex",IFCCOMPLEXPROPERTY,3,true]],2044713172:[["PartOfComplex",IFCPHYSICALCOMPLEXQUANTITY,2,true]],2093928680:[["PartOfComplex",IFCPHYSICALCOMPLEXQUANTITY,2,true]],931644368:[["PartOfComplex",IFCPHYSICALCOMPLEXQUANTITY,2,true]],3252649465:[["PartOfComplex",IFCPHYSICALCOMPLEXQUANTITY,2,true]],2405470396:[["PartOfComplex",IFCPHYSICALCOMPLEXQUANTITY,2,true]],825690147:[["PartOfComplex",IFCPHYSICALCOMPLEXQUANTITY,2,true]],1076942058:[["RepresentationMap",IFCREPRESENTATIONMAP,1,true],["LayerAssignments",IFCPRESENTATIONLAYERASSIGNMENT,2,true],["OfProductRepresentation",IFCPRODUCTREPRESENTATION,2,true]],3377609919:[["RepresentationsInContext",IFCREPRESENTATION,0,true]],3008791417:[["LayerAssignments",IFCPRESENTATIONLAYERASSIGNMENT,2,true],["StyledByItem",IFCSTYLEDITEM,0,true]],1660063152:[["MapUsage",IFCMAPPEDITEM,0,true]],3982875396:[["RepresentationMap",IFCREPRESENTATIONMAP,1,true],["LayerAssignments",IFCPRESENTATIONLAYERASSIGNMENT,2,true],["OfProductRepresentation",IFCPRODUCTREPRESENTATION,2,true],["OfShapeAspect",IFCSHAPEASPECT,0,true]],4240577450:[["RepresentationMap",IFCREPRESENTATIONMAP,1,true],["LayerAssignments",IFCPRESENTATIONLAYERASSIGNMENT,2,true],["OfProductRepresentation",IFCPRODUCTREPRESENTATION,2,true],["OfShapeAspect",IFCSHAPEASPECT,0,true]],3692461612:[["PropertyForDependance",IFCPROPERTYDEPENDENCYRELATIONSHIP,0,true],["PropertyDependsOn",IFCPROPERTYDEPENDENCYRELATIONSHIP,1,true],["PartOfComplex",IFCCOMPLEXPROPERTY,3,true]],2830218821:[["RepresentationMap",IFCREPRESENTATIONMAP,1,true],["LayerAssignments",IFCPRESENTATIONLAYERASSIGNMENT,2,true],["OfProductRepresentation",IFCPRODUCTREPRESENTATION,2,true]],3958052878:[["LayerAssignments",IFCPRESENTATIONLAYERASSIGNMENT,2,true],["StyledByItem",IFCSTYLEDITEM,0,true]],3049322572:[["RepresentationMap",IFCREPRESENTATIONMAP,1,true],["LayerAssignments",IFCPRESENTATIONLAYERASSIGNMENT,2,true],["OfProductRepresentation",IFCPRODUCTREPRESENTATION,2,true]],531007025:[["OfTable",IFCTABLE,1,false]],912023232:[["OfPerson",IFCPERSON,7,true],["OfOrganization",IFCORGANIZATION,4,true]],280115917:[["AnnotatedSurface",IFCANNOTATIONSURFACE,1,true]],1742049831:[["AnnotatedSurface",IFCANNOTATIONSURFACE,1,true]],2552916305:[["AnnotatedSurface",IFCANNOTATIONSURFACE,1,true]],3101149627:[["DocumentedBy",IFCTIMESERIESREFERENCERELATIONSHIP,0,true]],1377556343:[["LayerAssignments",IFCPRESENTATIONLAYERASSIGNMENT,2,true],["StyledByItem",IFCSTYLEDITEM,0,true]],1735638870:[["RepresentationMap",IFCREPRESENTATIONMAP,1,true],["LayerAssignments",IFCPRESENTATIONLAYERASSIGNMENT,2,true],["OfProductRepresentation",IFCPRODUCTREPRESENTATION,2,true],["OfShapeAspect",IFCSHAPEASPECT,0,true]],2799835756:[["LayerAssignments",IFCPRESENTATIONLAYERASSIGNMENT,2,true],["StyledByItem",IFCSTYLEDITEM,0,true]],1907098498:[["LayerAssignments",IFCPRESENTATIONLAYERASSIGNMENT,2,true],["StyledByItem",IFCSTYLEDITEM,0,true]],2442683028:[["LayerAssignments",IFCPRESENTATIONLAYERASSIGNMENT,2,true],["StyledByItem",IFCSTYLEDITEM,0,true]],962685235:[["LayerAssignments",IFCPRESENTATIONLAYERASSIGNMENT,2,true],["StyledByItem",IFCSTYLEDITEM,0,true]],3612888222:[["LayerAssignments",IFCPRESENTATIONLAYERASSIGNMENT,2,true],["StyledByItem",IFCSTYLEDITEM,0,true]],2297822566:[["LayerAssignments",IFCPRESENTATIONLAYERASSIGNMENT,2,true],["StyledByItem",IFCSTYLEDITEM,0,true]],2542286263:[["PropertyForDependance",IFCPROPERTYDEPENDENCYRELATIONSHIP,0,true],["PropertyDependsOn",IFCPROPERTYDEPENDENCYRELATIONSHIP,1,true],["PartOfComplex",IFCCOMPLEXPROPERTY,3,true]],370225590:[["LayerAssignments",IFCPRESENTATIONLAYERASSIGNMENT,2,true],["StyledByItem",IFCSTYLEDITEM,0,true]],3732053477:[["ReferenceToDocument",IFCDOCUMENTINFORMATION,3,true]],3900360178:[["LayerAssignments",IFCPRESENTATIONLAYERASSIGNMENT,2,true],["StyledByItem",IFCSTYLEDITEM,0,true]],476780140:[["LayerAssignments",IFCPRESENTATIONLAYERASSIGNMENT,2,true],["StyledByItem",IFCSTYLEDITEM,0,true]],2556980723:[["LayerAssignments",IFCPRESENTATIONLAYERASSIGNMENT,2,true],["StyledByItem",IFCSTYLEDITEM,0,true]],1809719519:[["LayerAssignments",IFCPRESENTATIONLAYERASSIGNMENT,2,true],["StyledByItem",IFCSTYLEDITEM,0,true]],803316827:[["LayerAssignments",IFCPRESENTATIONLAYERASSIGNMENT,2,true],["StyledByItem",IFCSTYLEDITEM,0,true]],3008276851:[["LayerAssignments",IFCPRESENTATIONLAYERASSIGNMENT,2,true],["StyledByItem",IFCSTYLEDITEM,0,true]],3448662350:[["RepresentationsInContext",IFCREPRESENTATION,0,true],["HasSubContexts",IFCGEOMETRICREPRESENTATIONSUBCONTEXT,6,true]],2453401579:[["LayerAssignments",IFCPRESENTATIONLAYERASSIGNMENT,2,true],["StyledByItem",IFCSTYLEDITEM,0,true]],4142052618:[["RepresentationsInContext",IFCREPRESENTATION,0,true],["HasSubContexts",IFCGEOMETRICREPRESENTATIONSUBCONTEXT,6,true]],3590301190:[["LayerAssignments",IFCPRESENTATIONLAYERASSIGNMENT,2,true],["StyledByItem",IFCSTYLEDITEM,0,true]],178086475:[["PlacesObject",IFCPRODUCT,5,true],["ReferencedByPlacements",IFCLOCALPLACEMENT,0,true]],812098782:[["LayerAssignments",IFCPRESENTATIONLAYERASSIGNMENT,2,true],["StyledByItem",IFCSTYLEDITEM,0,true]],3741457305:[["DocumentedBy",IFCTIMESERIESREFERENCERELATIONSHIP,0,true]],1402838566:[["LayerAssignments",IFCPRESENTATIONLAYERASSIGNMENT,2,true],["StyledByItem",IFCSTYLEDITEM,0,true]],125510826:[["LayerAssignments",IFCPRESENTATIONLAYERASSIGNMENT,2,true],["StyledByItem",IFCSTYLEDITEM,0,true]],2604431987:[["LayerAssignments",IFCPRESENTATIONLAYERASSIGNMENT,2,true],["StyledByItem",IFCSTYLEDITEM,0,true]],4266656042:[["LayerAssignments",IFCPRESENTATIONLAYERASSIGNMENT,2,true],["StyledByItem",IFCSTYLEDITEM,0,true]],1520743889:[["LayerAssignments",IFCPRESENTATIONLAYERASSIGNMENT,2,true],["StyledByItem",IFCSTYLEDITEM,0,true]],3422422726:[["LayerAssignments",IFCPRESENTATIONLAYERASSIGNMENT,2,true],["StyledByItem",IFCSTYLEDITEM,0,true]],2624227202:[["PlacesObject",IFCPRODUCT,5,true],["ReferencedByPlacements",IFCLOCALPLACEMENT,0,true]],1008929658:[["LayerAssignments",IFCPRESENTATIONLAYERASSIGNMENT,2,true],["StyledByItem",IFCSTYLEDITEM,0,true]],2347385850:[["LayerAssignments",IFCPRESENTATIONLAYERASSIGNMENT,2,true],["StyledByItem",IFCSTYLEDITEM,0,true]],219451334:[["HasAssignments",IFCRELASSIGNS,4,true],["IsDecomposedBy",IFCRELDECOMPOSES,4,true],["Decomposes",IFCRELDECOMPOSES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true]],2833995503:[["LayerAssignments",IFCPRESENTATIONLAYERASSIGNMENT,2,true],["StyledByItem",IFCSTYLEDITEM,0,true]],2665983363:[["LayerAssignments",IFCPRESENTATIONLAYERASSIGNMENT,2,true],["StyledByItem",IFCSTYLEDITEM,0,true]],1029017970:[["LayerAssignments",IFCPRESENTATIONLAYERASSIGNMENT,2,true],["StyledByItem",IFCSTYLEDITEM,0,true]],2519244187:[["LayerAssignments",IFCPRESENTATIONLAYERASSIGNMENT,2,true],["StyledByItem",IFCSTYLEDITEM,0,true]],3021840470:[["PartOfComplex",IFCPHYSICALCOMPLEXQUANTITY,2,true]],2004835150:[["LayerAssignments",IFCPRESENTATIONLAYERASSIGNMENT,2,true],["StyledByItem",IFCSTYLEDITEM,0,true]],1663979128:[["LayerAssignments",IFCPRESENTATIONLAYERASSIGNMENT,2,true],["StyledByItem",IFCSTYLEDITEM,0,true]],2067069095:[["LayerAssignments",IFCPRESENTATIONLAYERASSIGNMENT,2,true],["StyledByItem",IFCSTYLEDITEM,0,true]],4022376103:[["LayerAssignments",IFCPRESENTATIONLAYERASSIGNMENT,2,true],["StyledByItem",IFCSTYLEDITEM,0,true]],1423911732:[["LayerAssignments",IFCPRESENTATIONLAYERASSIGNMENT,2,true],["StyledByItem",IFCSTYLEDITEM,0,true]],2924175390:[["LayerAssignments",IFCPRESENTATIONLAYERASSIGNMENT,2,true],["StyledByItem",IFCSTYLEDITEM,0,true]],2775532180:[["LayerAssignments",IFCPRESENTATIONLAYERASSIGNMENT,2,true],["StyledByItem",IFCSTYLEDITEM,0,true]],673634403:[["ShapeOfProduct",IFCPRODUCT,6,true],["HasShapeAspects",IFCSHAPEASPECT,4,true]],871118103:[["PropertyForDependance",IFCPROPERTYDEPENDENCYRELATIONSHIP,0,true],["PropertyDependsOn",IFCPROPERTYDEPENDENCYRELATIONSHIP,1,true],["PartOfComplex",IFCCOMPLEXPROPERTY,3,true]],1680319473:[["HasAssociations",IFCRELASSOCIATES,4,true]],4166981789:[["PropertyForDependance",IFCPROPERTYDEPENDENCYRELATIONSHIP,0,true],["PropertyDependsOn",IFCPROPERTYDEPENDENCYRELATIONSHIP,1,true],["PartOfComplex",IFCCOMPLEXPROPERTY,3,true]],2752243245:[["PropertyForDependance",IFCPROPERTYDEPENDENCYRELATIONSHIP,0,true],["PropertyDependsOn",IFCPROPERTYDEPENDENCYRELATIONSHIP,1,true],["PartOfComplex",IFCCOMPLEXPROPERTY,3,true]],941946838:[["PropertyForDependance",IFCPROPERTYDEPENDENCYRELATIONSHIP,0,true],["PropertyDependsOn",IFCPROPERTYDEPENDENCYRELATIONSHIP,1,true],["PartOfComplex",IFCCOMPLEXPROPERTY,3,true]],3357820518:[["HasAssociations",IFCRELASSOCIATES,4,true],["PropertyDefinitionOf",IFCRELDEFINESBYPROPERTIES,5,true],["DefinesType",IFCTYPEOBJECT,5,true]],3650150729:[["PropertyForDependance",IFCPROPERTYDEPENDENCYRELATIONSHIP,0,true],["PropertyDependsOn",IFCPROPERTYDEPENDENCYRELATIONSHIP,1,true],["PartOfComplex",IFCCOMPLEXPROPERTY,3,true]],110355661:[["PropertyForDependance",IFCPROPERTYDEPENDENCYRELATIONSHIP,0,true],["PropertyDependsOn",IFCPROPERTYDEPENDENCYRELATIONSHIP,1,true],["PartOfComplex",IFCCOMPLEXPROPERTY,3,true]],3413951693:[["DocumentedBy",IFCTIMESERIESREFERENCERELATIONSHIP,0,true]],3765753017:[["HasAssociations",IFCRELASSOCIATES,4,true],["PropertyDefinitionOf",IFCRELDEFINESBYPROPERTIES,5,true],["DefinesType",IFCTYPEOBJECT,5,true]],1509187699:[["LayerAssignments",IFCPRESENTATIONLAYERASSIGNMENT,2,true],["StyledByItem",IFCSTYLEDITEM,0,true]],2411513650:[["HasAssociations",IFCRELASSOCIATES,4,true],["PropertyDefinitionOf",IFCRELDEFINESBYPROPERTIES,5,true],["DefinesType",IFCTYPEOBJECT,5,true]],4124623270:[["LayerAssignments",IFCPRESENTATIONLAYERASSIGNMENT,2,true],["StyledByItem",IFCSTYLEDITEM,0,true]],723233188:[["LayerAssignments",IFCPRESENTATIONLAYERASSIGNMENT,2,true],["StyledByItem",IFCSTYLEDITEM,0,true]],2485662743:[["HasAssociations",IFCRELASSOCIATES,4,true],["PropertyDefinitionOf",IFCRELDEFINESBYPROPERTIES,5,true],["DefinesType",IFCTYPEOBJECT,5,true]],1202362311:[["HasAssociations",IFCRELASSOCIATES,4,true],["PropertyDefinitionOf",IFCRELDEFINESBYPROPERTIES,5,true],["DefinesType",IFCTYPEOBJECT,5,true]],390701378:[["HasAssociations",IFCRELASSOCIATES,4,true],["PropertyDefinitionOf",IFCRELDEFINESBYPROPERTIES,5,true],["DefinesType",IFCTYPEOBJECT,5,true]],2233826070:[["LayerAssignments",IFCPRESENTATIONLAYERASSIGNMENT,2,true],["StyledByItem",IFCSTYLEDITEM,0,true]],2513912981:[["LayerAssignments",IFCPRESENTATIONLAYERASSIGNMENT,2,true],["StyledByItem",IFCSTYLEDITEM,0,true]],2247615214:[["LayerAssignments",IFCPRESENTATIONLAYERASSIGNMENT,2,true],["StyledByItem",IFCSTYLEDITEM,0,true]],1260650574:[["LayerAssignments",IFCPRESENTATIONLAYERASSIGNMENT,2,true],["StyledByItem",IFCSTYLEDITEM,0,true]],230924584:[["LayerAssignments",IFCPRESENTATIONLAYERASSIGNMENT,2,true],["StyledByItem",IFCSTYLEDITEM,0,true]],3028897424:[["LayerAssignments",IFCPRESENTATIONLAYERASSIGNMENT,2,true],["StyledByItem",IFCSTYLEDITEM,0,true]],4282788508:[["LayerAssignments",IFCPRESENTATIONLAYERASSIGNMENT,2,true],["StyledByItem",IFCSTYLEDITEM,0,true]],3124975700:[["LayerAssignments",IFCPRESENTATIONLAYERASSIGNMENT,2,true],["StyledByItem",IFCSTYLEDITEM,0,true]],1345879162:[["LayerAssignments",IFCPRESENTATIONLAYERASSIGNMENT,2,true],["StyledByItem",IFCSTYLEDITEM,0,true]],1628702193:[["HasAssignments",IFCRELASSIGNS,4,true],["IsDecomposedBy",IFCRELDECOMPOSES,4,true],["Decomposes",IFCRELDECOMPOSES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["ObjectTypeOf",IFCRELDEFINESBYTYPE,5,true]],2347495698:[["HasAssignments",IFCRELASSIGNS,4,true],["IsDecomposedBy",IFCRELDECOMPOSES,4,true],["Decomposes",IFCRELDECOMPOSES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["ObjectTypeOf",IFCRELDEFINESBYTYPE,5,true]],1417489154:[["LayerAssignments",IFCPRESENTATIONLAYERASSIGNMENT,2,true],["StyledByItem",IFCSTYLEDITEM,0,true]],2759199220:[["LayerAssignments",IFCPRESENTATIONLAYERASSIGNMENT,2,true],["StyledByItem",IFCSTYLEDITEM,0,true]],336235671:[["HasAssociations",IFCRELASSOCIATES,4,true],["PropertyDefinitionOf",IFCRELDEFINESBYPROPERTIES,5,true],["DefinesType",IFCTYPEOBJECT,5,true]],512836454:[["HasAssociations",IFCRELASSOCIATES,4,true],["PropertyDefinitionOf",IFCRELDEFINESBYPROPERTIES,5,true],["DefinesType",IFCTYPEOBJECT,5,true]],1299126871:[["HasAssignments",IFCRELASSIGNS,4,true],["IsDecomposedBy",IFCRELDECOMPOSES,4,true],["Decomposes",IFCRELDECOMPOSES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["ObjectTypeOf",IFCRELDEFINESBYTYPE,5,true]],3288037868:[["LayerAssignments",IFCPRESENTATIONLAYERASSIGNMENT,2,true],["StyledByItem",IFCSTYLEDITEM,0,true]],669184980:[["LayerAssignments",IFCPRESENTATIONLAYERASSIGNMENT,2,true],["StyledByItem",IFCSTYLEDITEM,0,true]],2265737646:[["LayerAssignments",IFCPRESENTATIONLAYERASSIGNMENT,2,true],["StyledByItem",IFCSTYLEDITEM,0,true]],1302238472:[["LayerAssignments",IFCPRESENTATIONLAYERASSIGNMENT,2,true],["StyledByItem",IFCSTYLEDITEM,0,true]],4261334040:[["LayerAssignments",IFCPRESENTATIONLAYERASSIGNMENT,2,true],["StyledByItem",IFCSTYLEDITEM,0,true]],3125803723:[["LayerAssignments",IFCPRESENTATIONLAYERASSIGNMENT,2,true],["StyledByItem",IFCSTYLEDITEM,0,true]],2740243338:[["LayerAssignments",IFCPRESENTATIONLAYERASSIGNMENT,2,true],["StyledByItem",IFCSTYLEDITEM,0,true]],2736907675:[["LayerAssignments",IFCPRESENTATIONLAYERASSIGNMENT,2,true],["StyledByItem",IFCSTYLEDITEM,0,true]],4182860854:[["LayerAssignments",IFCPRESENTATIONLAYERASSIGNMENT,2,true],["StyledByItem",IFCSTYLEDITEM,0,true]],2581212453:[["LayerAssignments",IFCPRESENTATIONLAYERASSIGNMENT,2,true],["StyledByItem",IFCSTYLEDITEM,0,true]],2713105998:[["LayerAssignments",IFCPRESENTATIONLAYERASSIGNMENT,2,true],["StyledByItem",IFCSTYLEDITEM,0,true]],1123145078:[["LayerAssignments",IFCPRESENTATIONLAYERASSIGNMENT,2,true],["StyledByItem",IFCSTYLEDITEM,0,true]],59481748:[["LayerAssignments",IFCPRESENTATIONLAYERASSIGNMENT,2,true],["StyledByItem",IFCSTYLEDITEM,0,true]],3749851601:[["LayerAssignments",IFCPRESENTATIONLAYERASSIGNMENT,2,true],["StyledByItem",IFCSTYLEDITEM,0,true]],3486308946:[["LayerAssignments",IFCPRESENTATIONLAYERASSIGNMENT,2,true],["StyledByItem",IFCSTYLEDITEM,0,true]],3331915920:[["LayerAssignments",IFCPRESENTATIONLAYERASSIGNMENT,2,true],["StyledByItem",IFCSTYLEDITEM,0,true]],1416205885:[["LayerAssignments",IFCPRESENTATIONLAYERASSIGNMENT,2,true],["StyledByItem",IFCSTYLEDITEM,0,true]],2205249479:[["LayerAssignments",IFCPRESENTATIONLAYERASSIGNMENT,2,true],["StyledByItem",IFCSTYLEDITEM,0,true]],2485617015:[["LayerAssignments",IFCPRESENTATIONLAYERASSIGNMENT,2,true],["StyledByItem",IFCSTYLEDITEM,0,true],["UsingCurves",IFCCOMPOSITECURVE,0,true]],2506170314:[["LayerAssignments",IFCPRESENTATIONLAYERASSIGNMENT,2,true],["StyledByItem",IFCSTYLEDITEM,0,true]],2147822146:[["LayerAssignments",IFCPRESENTATIONLAYERASSIGNMENT,2,true],["StyledByItem",IFCSTYLEDITEM,0,true]],2601014836:[["LayerAssignments",IFCPRESENTATIONLAYERASSIGNMENT,2,true],["StyledByItem",IFCSTYLEDITEM,0,true]],2827736869:[["LayerAssignments",IFCPRESENTATIONLAYERASSIGNMENT,2,true],["StyledByItem",IFCSTYLEDITEM,0,true]],693772133:[["LayerAssignments",IFCPRESENTATIONLAYERASSIGNMENT,2,true],["StyledByItem",IFCSTYLEDITEM,0,true]],606661476:[["LayerAssignments",IFCPRESENTATIONLAYERASSIGNMENT,2,true],["StyledByItem",IFCSTYLEDITEM,0,true],["AnnotatedBySymbols",IFCTERMINATORSYMBOL,3,true]],4054601972:[["LayerAssignments",IFCPRESENTATIONLAYERASSIGNMENT,2,true],["StyledByItem",IFCSTYLEDITEM,0,true]],32440307:[["LayerAssignments",IFCPRESENTATIONLAYERASSIGNMENT,2,true],["StyledByItem",IFCSTYLEDITEM,0,true]],2963535650:[["HasAssociations",IFCRELASSOCIATES,4,true],["PropertyDefinitionOf",IFCRELDEFINESBYPROPERTIES,5,true],["DefinesType",IFCTYPEOBJECT,5,true]],1714330368:[["HasAssociations",IFCRELASSOCIATES,4,true],["PropertyDefinitionOf",IFCRELDEFINESBYPROPERTIES,5,true],["DefinesType",IFCTYPEOBJECT,5,true]],526551008:[["HasAssignments",IFCRELASSIGNS,4,true],["IsDecomposedBy",IFCRELDECOMPOSES,4,true],["Decomposes",IFCRELDECOMPOSES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["ObjectTypeOf",IFCRELDEFINESBYTYPE,5,true]],3073041342:[["LayerAssignments",IFCPRESENTATIONLAYERASSIGNMENT,2,true],["StyledByItem",IFCSTYLEDITEM,0,true],["IsRelatedFromCallout",IFCDRAUGHTINGCALLOUTRELATIONSHIP,3,true],["IsRelatedToCallout",IFCDRAUGHTINGCALLOUTRELATIONSHIP,2,true]],1472233963:[["LayerAssignments",IFCPRESENTATIONLAYERASSIGNMENT,2,true],["StyledByItem",IFCSTYLEDITEM,0,true]],1883228015:[["HasAssociations",IFCRELASSOCIATES,4,true],["PropertyDefinitionOf",IFCRELDEFINESBYPROPERTIES,5,true],["DefinesType",IFCTYPEOBJECT,5,true]],339256511:[["HasAssignments",IFCRELASSIGNS,4,true],["IsDecomposedBy",IFCRELDECOMPOSES,4,true],["Decomposes",IFCRELDECOMPOSES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["ObjectTypeOf",IFCRELDEFINESBYTYPE,5,true]],2777663545:[["LayerAssignments",IFCPRESENTATIONLAYERASSIGNMENT,2,true],["StyledByItem",IFCSTYLEDITEM,0,true]],80994333:[["HasAssociations",IFCRELASSOCIATES,4,true],["PropertyDefinitionOf",IFCRELDEFINESBYPROPERTIES,5,true],["DefinesType",IFCTYPEOBJECT,5,true]],477187591:[["LayerAssignments",IFCPRESENTATIONLAYERASSIGNMENT,2,true],["StyledByItem",IFCSTYLEDITEM,0,true]],2047409740:[["LayerAssignments",IFCPRESENTATIONLAYERASSIGNMENT,2,true],["StyledByItem",IFCSTYLEDITEM,0,true]],374418227:[["LayerAssignments",IFCPRESENTATIONLAYERASSIGNMENT,2,true],["StyledByItem",IFCSTYLEDITEM,0,true]],4203026998:[["LayerAssignments",IFCPRESENTATIONLAYERASSIGNMENT,2,true],["StyledByItem",IFCSTYLEDITEM,0,true]],315944413:[["LayerAssignments",IFCPRESENTATIONLAYERASSIGNMENT,2,true],["StyledByItem",IFCSTYLEDITEM,0,true]],3455213021:[["HasAssociations",IFCRELASSOCIATES,4,true],["PropertyDefinitionOf",IFCRELDEFINESBYPROPERTIES,5,true],["DefinesType",IFCTYPEOBJECT,5,true]],4238390223:[["HasAssignments",IFCRELASSIGNS,4,true],["IsDecomposedBy",IFCRELDECOMPOSES,4,true],["Decomposes",IFCRELDECOMPOSES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["ObjectTypeOf",IFCRELDEFINESBYTYPE,5,true]],1268542332:[["HasAssignments",IFCRELASSIGNS,4,true],["IsDecomposedBy",IFCRELDECOMPOSES,4,true],["Decomposes",IFCRELDECOMPOSES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["ObjectTypeOf",IFCRELDEFINESBYTYPE,5,true]],987898635:[["LayerAssignments",IFCPRESENTATIONLAYERASSIGNMENT,2,true],["StyledByItem",IFCSTYLEDITEM,0,true]],1281925730:[["LayerAssignments",IFCPRESENTATIONLAYERASSIGNMENT,2,true],["StyledByItem",IFCSTYLEDITEM,0,true]],1425443689:[["LayerAssignments",IFCPRESENTATIONLAYERASSIGNMENT,2,true],["StyledByItem",IFCSTYLEDITEM,0,true]],3888040117:[["HasAssignments",IFCRELASSIGNS,4,true],["IsDecomposedBy",IFCRELDECOMPOSES,4,true],["Decomposes",IFCRELDECOMPOSES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDefinedBy",IFCRELDEFINES,4,true]],3388369263:[["LayerAssignments",IFCPRESENTATIONLAYERASSIGNMENT,2,true],["StyledByItem",IFCSTYLEDITEM,0,true]],3505215534:[["LayerAssignments",IFCPRESENTATIONLAYERASSIGNMENT,2,true],["StyledByItem",IFCSTYLEDITEM,0,true]],3566463478:[["HasAssociations",IFCRELASSOCIATES,4,true],["PropertyDefinitionOf",IFCRELDEFINESBYPROPERTIES,5,true],["DefinesType",IFCTYPEOBJECT,5,true]],603570806:[["LayerAssignments",IFCPRESENTATIONLAYERASSIGNMENT,2,true],["StyledByItem",IFCSTYLEDITEM,0,true]],220341763:[["LayerAssignments",IFCPRESENTATIONLAYERASSIGNMENT,2,true],["StyledByItem",IFCSTYLEDITEM,0,true]],2945172077:[["HasAssignments",IFCRELASSIGNS,4,true],["IsDecomposedBy",IFCRELDECOMPOSES,4,true],["Decomposes",IFCRELDECOMPOSES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDefinedBy",IFCRELDEFINES,4,true],["OperatesOn",IFCRELASSIGNSTOPROCESS,6,true],["IsSuccessorFrom",IFCRELSEQUENCE,5,true],["IsPredecessorTo",IFCRELSEQUENCE,4,true]],4208778838:[["HasAssignments",IFCRELASSIGNS,4,true],["IsDecomposedBy",IFCRELDECOMPOSES,4,true],["Decomposes",IFCRELDECOMPOSES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDefinedBy",IFCRELDEFINES,4,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true]],103090709:[["HasAssignments",IFCRELASSIGNS,4,true],["IsDecomposedBy",IFCRELDECOMPOSES,4,true],["Decomposes",IFCRELDECOMPOSES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDefinedBy",IFCRELDEFINES,4,true]],4194566429:[["LayerAssignments",IFCPRESENTATIONLAYERASSIGNMENT,2,true],["StyledByItem",IFCSTYLEDITEM,0,true]],1451395588:[["HasAssociations",IFCRELASSOCIATES,4,true],["PropertyDefinitionOf",IFCRELDEFINESBYPROPERTIES,5,true],["DefinesType",IFCTYPEOBJECT,5,true]],3219374653:[["HasAssignments",IFCRELASSIGNS,4,true],["IsDecomposedBy",IFCRELDECOMPOSES,4,true],["Decomposes",IFCRELDECOMPOSES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDefinedBy",IFCRELDEFINES,4,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true]],2798486643:[["LayerAssignments",IFCPRESENTATIONLAYERASSIGNMENT,2,true],["StyledByItem",IFCSTYLEDITEM,0,true]],3454111270:[["LayerAssignments",IFCPRESENTATIONLAYERASSIGNMENT,2,true],["StyledByItem",IFCSTYLEDITEM,0,true]],2914609552:[["HasAssignments",IFCRELASSIGNS,4,true],["IsDecomposedBy",IFCRELDECOMPOSES,4,true],["Decomposes",IFCRELDECOMPOSES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDefinedBy",IFCRELDEFINES,4,true],["ResourceOf",IFCRELASSIGNSTORESOURCE,6,true]],1856042241:[["LayerAssignments",IFCPRESENTATIONLAYERASSIGNMENT,2,true],["StyledByItem",IFCSTYLEDITEM,0,true]],4158566097:[["LayerAssignments",IFCPRESENTATIONLAYERASSIGNMENT,2,true],["StyledByItem",IFCSTYLEDITEM,0,true]],3626867408:[["LayerAssignments",IFCPRESENTATIONLAYERASSIGNMENT,2,true],["StyledByItem",IFCSTYLEDITEM,0,true]],2706606064:[["HasAssignments",IFCRELASSIGNS,4,true],["IsDecomposedBy",IFCRELDECOMPOSES,4,true],["Decomposes",IFCRELDECOMPOSES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDefinedBy",IFCRELDEFINES,4,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true],["ReferencesElements",IFCRELREFERENCEDINSPATIALSTRUCTURE,5,true],["ServicedBySystems",IFCRELSERVICESBUILDINGS,5,true],["ContainsElements",IFCRELCONTAINEDINSPATIALSTRUCTURE,5,true]],3893378262:[["HasAssignments",IFCRELASSIGNS,4,true],["IsDecomposedBy",IFCRELDECOMPOSES,4,true],["Decomposes",IFCRELDECOMPOSES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["ObjectTypeOf",IFCRELDEFINESBYTYPE,5,true]],451544542:[["LayerAssignments",IFCPRESENTATIONLAYERASSIGNMENT,2,true],["StyledByItem",IFCSTYLEDITEM,0,true]],3544373492:[["HasAssignments",IFCRELASSIGNS,4,true],["IsDecomposedBy",IFCRELDECOMPOSES,4,true],["Decomposes",IFCRELDECOMPOSES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDefinedBy",IFCRELDEFINES,4,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true],["AssignedToStructuralItem",IFCRELCONNECTSSTRUCTURALACTIVITY,5,false]],3136571912:[["HasAssignments",IFCRELASSIGNS,4,true],["IsDecomposedBy",IFCRELDECOMPOSES,4,true],["Decomposes",IFCRELDECOMPOSES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDefinedBy",IFCRELDEFINES,4,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true],["AssignedStructuralActivity",IFCRELCONNECTSSTRUCTURALACTIVITY,4,true]],530289379:[["HasAssignments",IFCRELASSIGNS,4,true],["IsDecomposedBy",IFCRELDECOMPOSES,4,true],["Decomposes",IFCRELDECOMPOSES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDefinedBy",IFCRELDEFINES,4,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true],["AssignedStructuralActivity",IFCRELCONNECTSSTRUCTURALACTIVITY,4,true],["ReferencesElement",IFCRELCONNECTSSTRUCTURALELEMENT,5,true],["ConnectedBy",IFCRELCONNECTSSTRUCTURALMEMBER,4,true]],3689010777:[["HasAssignments",IFCRELASSIGNS,4,true],["IsDecomposedBy",IFCRELDECOMPOSES,4,true],["Decomposes",IFCRELDECOMPOSES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDefinedBy",IFCRELDEFINES,4,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true],["AssignedToStructuralItem",IFCRELCONNECTSSTRUCTURALACTIVITY,5,false],["Causes",IFCSTRUCTURALACTION,10,true]],3979015343:[["HasAssignments",IFCRELASSIGNS,4,true],["IsDecomposedBy",IFCRELDECOMPOSES,4,true],["Decomposes",IFCRELDECOMPOSES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDefinedBy",IFCRELDEFINES,4,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true],["AssignedStructuralActivity",IFCRELCONNECTSSTRUCTURALACTIVITY,4,true],["ReferencesElement",IFCRELCONNECTSSTRUCTURALELEMENT,5,true],["ConnectedBy",IFCRELCONNECTSSTRUCTURALMEMBER,4,true]],2218152070:[["HasAssignments",IFCRELASSIGNS,4,true],["IsDecomposedBy",IFCRELDECOMPOSES,4,true],["Decomposes",IFCRELDECOMPOSES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDefinedBy",IFCRELDEFINES,4,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true],["AssignedStructuralActivity",IFCRELCONNECTSSTRUCTURALACTIVITY,4,true],["ReferencesElement",IFCRELCONNECTSSTRUCTURALELEMENT,5,true],["ConnectedBy",IFCRELCONNECTSSTRUCTURALMEMBER,4,true]],4070609034:[["LayerAssignments",IFCPRESENTATIONLAYERASSIGNMENT,2,true],["StyledByItem",IFCSTYLEDITEM,0,true],["IsRelatedFromCallout",IFCDRAUGHTINGCALLOUTRELATIONSHIP,3,true],["IsRelatedToCallout",IFCDRAUGHTINGCALLOUTRELATIONSHIP,2,true]],2028607225:[["LayerAssignments",IFCPRESENTATIONLAYERASSIGNMENT,2,true],["StyledByItem",IFCSTYLEDITEM,0,true]],2809605785:[["LayerAssignments",IFCPRESENTATIONLAYERASSIGNMENT,2,true],["StyledByItem",IFCSTYLEDITEM,0,true]],4124788165:[["LayerAssignments",IFCPRESENTATIONLAYERASSIGNMENT,2,true],["StyledByItem",IFCSTYLEDITEM,0,true]],1580310250:[["HasAssignments",IFCRELASSIGNS,4,true],["IsDecomposedBy",IFCRELDECOMPOSES,4,true],["Decomposes",IFCRELDECOMPOSES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["ObjectTypeOf",IFCRELDEFINESBYTYPE,5,true]],3473067441:[["HasAssignments",IFCRELASSIGNS,4,true],["IsDecomposedBy",IFCRELDECOMPOSES,4,true],["Decomposes",IFCRELDECOMPOSES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDefinedBy",IFCRELDEFINES,4,true],["OperatesOn",IFCRELASSIGNSTOPROCESS,6,true],["IsSuccessorFrom",IFCRELSEQUENCE,5,true],["IsPredecessorTo",IFCRELSEQUENCE,4,true]],2097647324:[["HasAssignments",IFCRELASSIGNS,4,true],["IsDecomposedBy",IFCRELDECOMPOSES,4,true],["Decomposes",IFCRELDECOMPOSES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["ObjectTypeOf",IFCRELDEFINESBYTYPE,5,true]],2296667514:[["HasAssignments",IFCRELASSIGNS,4,true],["IsDecomposedBy",IFCRELDECOMPOSES,4,true],["Decomposes",IFCRELDECOMPOSES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDefinedBy",IFCRELDEFINES,4,true],["IsActingUpon",IFCRELASSIGNSTOACTOR,6,true]],1674181508:[["HasAssignments",IFCRELASSIGNS,4,true],["IsDecomposedBy",IFCRELDECOMPOSES,4,true],["Decomposes",IFCRELDECOMPOSES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDefinedBy",IFCRELDEFINES,4,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true],["ContainedInStructure",IFCRELCONTAINEDINSPATIALSTRUCTURE,4,true]],1334484129:[["LayerAssignments",IFCPRESENTATIONLAYERASSIGNMENT,2,true],["StyledByItem",IFCSTYLEDITEM,0,true]],3649129432:[["LayerAssignments",IFCPRESENTATIONLAYERASSIGNMENT,2,true],["StyledByItem",IFCSTYLEDITEM,0,true]],1260505505:[["LayerAssignments",IFCPRESENTATIONLAYERASSIGNMENT,2,true],["StyledByItem",IFCSTYLEDITEM,0,true]],4031249490:[["HasAssignments",IFCRELASSIGNS,4,true],["IsDecomposedBy",IFCRELDECOMPOSES,4,true],["Decomposes",IFCRELDECOMPOSES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDefinedBy",IFCRELDEFINES,4,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true],["ReferencesElements",IFCRELREFERENCEDINSPATIALSTRUCTURE,5,true],["ServicedBySystems",IFCRELSERVICESBUILDINGS,5,true],["ContainsElements",IFCRELCONTAINEDINSPATIALSTRUCTURE,5,true]],1950629157:[["HasAssignments",IFCRELASSIGNS,4,true],["IsDecomposedBy",IFCRELDECOMPOSES,4,true],["Decomposes",IFCRELDECOMPOSES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["ObjectTypeOf",IFCRELDEFINESBYTYPE,5,true]],3124254112:[["HasAssignments",IFCRELASSIGNS,4,true],["IsDecomposedBy",IFCRELDECOMPOSES,4,true],["Decomposes",IFCRELDECOMPOSES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDefinedBy",IFCRELDEFINES,4,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true],["ReferencesElements",IFCRELREFERENCEDINSPATIALSTRUCTURE,5,true],["ServicedBySystems",IFCRELSERVICESBUILDINGS,5,true],["ContainsElements",IFCRELCONTAINEDINSPATIALSTRUCTURE,5,true]],300633059:[["HasAssignments",IFCRELASSIGNS,4,true],["IsDecomposedBy",IFCRELDECOMPOSES,4,true],["Decomposes",IFCRELDECOMPOSES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["ObjectTypeOf",IFCRELDEFINESBYTYPE,5,true]],3732776249:[["LayerAssignments",IFCPRESENTATIONLAYERASSIGNMENT,2,true],["StyledByItem",IFCSTYLEDITEM,0,true]],2510884976:[["LayerAssignments",IFCPRESENTATIONLAYERASSIGNMENT,2,true],["StyledByItem",IFCSTYLEDITEM,0,true]],2559216714:[["HasAssignments",IFCRELASSIGNS,4,true],["IsDecomposedBy",IFCRELDECOMPOSES,4,true],["Decomposes",IFCRELDECOMPOSES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDefinedBy",IFCRELDEFINES,4,true],["ResourceOf",IFCRELASSIGNSTORESOURCE,6,true]],3293443760:[["HasAssignments",IFCRELASSIGNS,4,true],["IsDecomposedBy",IFCRELDECOMPOSES,4,true],["Decomposes",IFCRELDECOMPOSES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDefinedBy",IFCRELDEFINES,4,true],["Controls",IFCRELASSIGNSTOCONTROL,6,true]],3895139033:[["HasAssignments",IFCRELASSIGNS,4,true],["IsDecomposedBy",IFCRELDECOMPOSES,4,true],["Decomposes",IFCRELDECOMPOSES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDefinedBy",IFCRELDEFINES,4,true],["Controls",IFCRELASSIGNSTOCONTROL,6,true]],1419761937:[["HasAssignments",IFCRELASSIGNS,4,true],["IsDecomposedBy",IFCRELDECOMPOSES,4,true],["Decomposes",IFCRELDECOMPOSES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDefinedBy",IFCRELDEFINES,4,true],["Controls",IFCRELASSIGNSTOCONTROL,6,true]],1916426348:[["HasAssignments",IFCRELASSIGNS,4,true],["IsDecomposedBy",IFCRELDECOMPOSES,4,true],["Decomposes",IFCRELDECOMPOSES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["ObjectTypeOf",IFCRELDEFINESBYTYPE,5,true]],3295246426:[["HasAssignments",IFCRELASSIGNS,4,true],["IsDecomposedBy",IFCRELDECOMPOSES,4,true],["Decomposes",IFCRELDECOMPOSES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDefinedBy",IFCRELDEFINES,4,true],["ResourceOf",IFCRELASSIGNSTORESOURCE,6,true]],1457835157:[["HasAssignments",IFCRELASSIGNS,4,true],["IsDecomposedBy",IFCRELDECOMPOSES,4,true],["Decomposes",IFCRELDECOMPOSES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["ObjectTypeOf",IFCRELDEFINESBYTYPE,5,true]],681481545:[["LayerAssignments",IFCPRESENTATIONLAYERASSIGNMENT,2,true],["StyledByItem",IFCSTYLEDITEM,0,true],["IsRelatedFromCallout",IFCDRAUGHTINGCALLOUTRELATIONSHIP,3,true],["IsRelatedToCallout",IFCDRAUGHTINGCALLOUTRELATIONSHIP,2,true]],3256556792:[["HasAssignments",IFCRELASSIGNS,4,true],["IsDecomposedBy",IFCRELDECOMPOSES,4,true],["Decomposes",IFCRELDECOMPOSES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["ObjectTypeOf",IFCRELDEFINESBYTYPE,5,true]],3849074793:[["HasAssignments",IFCRELASSIGNS,4,true],["IsDecomposedBy",IFCRELDECOMPOSES,4,true],["Decomposes",IFCRELDECOMPOSES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["ObjectTypeOf",IFCRELDEFINESBYTYPE,5,true]],360485395:[["HasAssociations",IFCRELASSOCIATES,4,true],["PropertyDefinitionOf",IFCRELDEFINESBYPROPERTIES,5,true],["DefinesType",IFCTYPEOBJECT,5,true]],1758889154:[["HasAssignments",IFCRELASSIGNS,4,true],["IsDecomposedBy",IFCRELDECOMPOSES,4,true],["Decomposes",IFCRELDECOMPOSES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDefinedBy",IFCRELDEFINES,4,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true],["HasStructuralMember",IFCRELCONNECTSSTRUCTURALELEMENT,4,true],["FillsVoids",IFCRELFILLSELEMENT,5,true],["ConnectedTo",IFCRELCONNECTSELEMENTS,5,true],["HasCoverings",IFCRELCOVERSBLDGELEMENTS,4,true],["HasProjections",IFCRELPROJECTSELEMENT,4,true],["ReferencedInStructures",IFCRELREFERENCEDINSPATIALSTRUCTURE,4,true],["HasPorts",IFCRELCONNECTSPORTTOELEMENT,5,true],["HasOpenings",IFCRELVOIDSELEMENT,4,true],["IsConnectionRealization",IFCRELCONNECTSWITHREALIZINGELEMENTS,7,true],["ProvidesBoundaries",IFCRELSPACEBOUNDARY,5,true],["ConnectedFrom",IFCRELCONNECTSELEMENTS,6,true],["ContainedInStructure",IFCRELCONTAINEDINSPATIALSTRUCTURE,4,true]],4123344466:[["HasAssignments",IFCRELASSIGNS,4,true],["IsDecomposedBy",IFCRELDECOMPOSES,4,true],["Decomposes",IFCRELDECOMPOSES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDefinedBy",IFCRELDEFINES,4,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true],["HasStructuralMember",IFCRELCONNECTSSTRUCTURALELEMENT,4,true],["FillsVoids",IFCRELFILLSELEMENT,5,true],["ConnectedTo",IFCRELCONNECTSELEMENTS,5,true],["HasCoverings",IFCRELCOVERSBLDGELEMENTS,4,true],["HasProjections",IFCRELPROJECTSELEMENT,4,true],["ReferencedInStructures",IFCRELREFERENCEDINSPATIALSTRUCTURE,4,true],["HasPorts",IFCRELCONNECTSPORTTOELEMENT,5,true],["HasOpenings",IFCRELVOIDSELEMENT,4,true],["IsConnectionRealization",IFCRELCONNECTSWITHREALIZINGELEMENTS,7,true],["ProvidesBoundaries",IFCRELSPACEBOUNDARY,5,true],["ConnectedFrom",IFCRELCONNECTSELEMENTS,6,true],["ContainedInStructure",IFCRELCONTAINEDINSPATIALSTRUCTURE,4,true]],1623761950:[["HasAssignments",IFCRELASSIGNS,4,true],["IsDecomposedBy",IFCRELDECOMPOSES,4,true],["Decomposes",IFCRELDECOMPOSES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDefinedBy",IFCRELDEFINES,4,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true],["HasStructuralMember",IFCRELCONNECTSSTRUCTURALELEMENT,4,true],["FillsVoids",IFCRELFILLSELEMENT,5,true],["ConnectedTo",IFCRELCONNECTSELEMENTS,5,true],["HasCoverings",IFCRELCOVERSBLDGELEMENTS,4,true],["HasProjections",IFCRELPROJECTSELEMENT,4,true],["ReferencedInStructures",IFCRELREFERENCEDINSPATIALSTRUCTURE,4,true],["HasPorts",IFCRELCONNECTSPORTTOELEMENT,5,true],["HasOpenings",IFCRELVOIDSELEMENT,4,true],["IsConnectionRealization",IFCRELCONNECTSWITHREALIZINGELEMENTS,7,true],["ProvidesBoundaries",IFCRELSPACEBOUNDARY,5,true],["ConnectedFrom",IFCRELCONNECTSELEMENTS,6,true],["ContainedInStructure",IFCRELCONTAINEDINSPATIALSTRUCTURE,4,true]],2590856083:[["HasAssignments",IFCRELASSIGNS,4,true],["IsDecomposedBy",IFCRELDECOMPOSES,4,true],["Decomposes",IFCRELDECOMPOSES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["ObjectTypeOf",IFCRELDEFINESBYTYPE,5,true]],1704287377:[["LayerAssignments",IFCPRESENTATIONLAYERASSIGNMENT,2,true],["StyledByItem",IFCSTYLEDITEM,0,true]],2107101300:[["HasAssignments",IFCRELASSIGNS,4,true],["IsDecomposedBy",IFCRELDECOMPOSES,4,true],["Decomposes",IFCRELDECOMPOSES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["ObjectTypeOf",IFCRELDEFINESBYTYPE,5,true]],1962604670:[["HasAssignments",IFCRELASSIGNS,4,true],["IsDecomposedBy",IFCRELDECOMPOSES,4,true],["Decomposes",IFCRELDECOMPOSES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDefinedBy",IFCRELDEFINES,4,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true],["HasStructuralMember",IFCRELCONNECTSSTRUCTURALELEMENT,4,true],["FillsVoids",IFCRELFILLSELEMENT,5,true],["ConnectedTo",IFCRELCONNECTSELEMENTS,5,true],["HasCoverings",IFCRELCOVERSBLDGELEMENTS,4,true],["HasProjections",IFCRELPROJECTSELEMENT,4,true],["ReferencedInStructures",IFCRELREFERENCEDINSPATIALSTRUCTURE,4,true],["HasPorts",IFCRELCONNECTSPORTTOELEMENT,5,true],["HasOpenings",IFCRELVOIDSELEMENT,4,true],["IsConnectionRealization",IFCRELCONNECTSWITHREALIZINGELEMENTS,7,true],["ProvidesBoundaries",IFCRELSPACEBOUNDARY,5,true],["ConnectedFrom",IFCRELCONNECTSELEMENTS,6,true],["ContainedInStructure",IFCRELCONTAINEDINSPATIALSTRUCTURE,4,true]],3272907226:[["HasAssignments",IFCRELASSIGNS,4,true],["IsDecomposedBy",IFCRELDECOMPOSES,4,true],["Decomposes",IFCRELDECOMPOSES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDefinedBy",IFCRELDEFINES,4,true],["Controls",IFCRELASSIGNSTOCONTROL,6,true]],3174744832:[["HasAssignments",IFCRELASSIGNS,4,true],["IsDecomposedBy",IFCRELDECOMPOSES,4,true],["Decomposes",IFCRELDECOMPOSES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["ObjectTypeOf",IFCRELDEFINESBYTYPE,5,true]],3390157468:[["HasAssignments",IFCRELASSIGNS,4,true],["IsDecomposedBy",IFCRELDECOMPOSES,4,true],["Decomposes",IFCRELDECOMPOSES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["ObjectTypeOf",IFCRELDEFINESBYTYPE,5,true]],807026263:[["LayerAssignments",IFCPRESENTATIONLAYERASSIGNMENT,2,true],["StyledByItem",IFCSTYLEDITEM,0,true]],3737207727:[["LayerAssignments",IFCPRESENTATIONLAYERASSIGNMENT,2,true],["StyledByItem",IFCSTYLEDITEM,0,true]],647756555:[["HasAssignments",IFCRELASSIGNS,4,true],["IsDecomposedBy",IFCRELDECOMPOSES,4,true],["Decomposes",IFCRELDECOMPOSES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDefinedBy",IFCRELDEFINES,4,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true],["HasStructuralMember",IFCRELCONNECTSSTRUCTURALELEMENT,4,true],["FillsVoids",IFCRELFILLSELEMENT,5,true],["ConnectedTo",IFCRELCONNECTSELEMENTS,5,true],["HasCoverings",IFCRELCOVERSBLDGELEMENTS,4,true],["HasProjections",IFCRELPROJECTSELEMENT,4,true],["ReferencedInStructures",IFCRELREFERENCEDINSPATIALSTRUCTURE,4,true],["HasPorts",IFCRELCONNECTSPORTTOELEMENT,5,true],["HasOpenings",IFCRELVOIDSELEMENT,4,true],["IsConnectionRealization",IFCRELCONNECTSWITHREALIZINGELEMENTS,7,true],["ProvidesBoundaries",IFCRELSPACEBOUNDARY,5,true],["ConnectedFrom",IFCRELCONNECTSELEMENTS,6,true],["ContainedInStructure",IFCRELCONTAINEDINSPATIALSTRUCTURE,4,true]],2489546625:[["HasAssignments",IFCRELASSIGNS,4,true],["IsDecomposedBy",IFCRELDECOMPOSES,4,true],["Decomposes",IFCRELDECOMPOSES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["ObjectTypeOf",IFCRELDEFINESBYTYPE,5,true]],2827207264:[["HasAssignments",IFCRELASSIGNS,4,true],["IsDecomposedBy",IFCRELDECOMPOSES,4,true],["Decomposes",IFCRELDECOMPOSES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDefinedBy",IFCRELDEFINES,4,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true],["HasStructuralMember",IFCRELCONNECTSSTRUCTURALELEMENT,4,true],["FillsVoids",IFCRELFILLSELEMENT,5,true],["ConnectedTo",IFCRELCONNECTSELEMENTS,5,true],["HasCoverings",IFCRELCOVERSBLDGELEMENTS,4,true],["HasProjections",IFCRELPROJECTSELEMENT,4,true],["ReferencedInStructures",IFCRELREFERENCEDINSPATIALSTRUCTURE,4,true],["HasPorts",IFCRELCONNECTSPORTTOELEMENT,5,true],["HasOpenings",IFCRELVOIDSELEMENT,4,true],["IsConnectionRealization",IFCRELCONNECTSWITHREALIZINGELEMENTS,7,true],["ProvidesBoundaries",IFCRELSPACEBOUNDARY,5,true],["ConnectedFrom",IFCRELCONNECTSELEMENTS,6,true],["ContainedInStructure",IFCRELCONTAINEDINSPATIALSTRUCTURE,4,true]],2143335405:[["HasAssignments",IFCRELASSIGNS,4,true],["IsDecomposedBy",IFCRELDECOMPOSES,4,true],["Decomposes",IFCRELDECOMPOSES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDefinedBy",IFCRELDEFINES,4,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true],["HasStructuralMember",IFCRELCONNECTSSTRUCTURALELEMENT,4,true],["FillsVoids",IFCRELFILLSELEMENT,5,true],["ConnectedTo",IFCRELCONNECTSELEMENTS,5,true],["HasCoverings",IFCRELCOVERSBLDGELEMENTS,4,true],["HasProjections",IFCRELPROJECTSELEMENT,4,true],["ReferencedInStructures",IFCRELREFERENCEDINSPATIALSTRUCTURE,4,true],["HasPorts",IFCRELCONNECTSPORTTOELEMENT,5,true],["HasOpenings",IFCRELVOIDSELEMENT,4,true],["IsConnectionRealization",IFCRELCONNECTSWITHREALIZINGELEMENTS,7,true],["ProvidesBoundaries",IFCRELSPACEBOUNDARY,5,true],["ConnectedFrom",IFCRELCONNECTSELEMENTS,6,true],["ContainedInStructure",IFCRELCONTAINEDINSPATIALSTRUCTURE,4,true],["ProjectsElements",IFCRELPROJECTSELEMENT,5,false]],1287392070:[["HasAssignments",IFCRELASSIGNS,4,true],["IsDecomposedBy",IFCRELDECOMPOSES,4,true],["Decomposes",IFCRELDECOMPOSES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDefinedBy",IFCRELDEFINES,4,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true],["HasStructuralMember",IFCRELCONNECTSSTRUCTURALELEMENT,4,true],["FillsVoids",IFCRELFILLSELEMENT,5,true],["ConnectedTo",IFCRELCONNECTSELEMENTS,5,true],["HasCoverings",IFCRELCOVERSBLDGELEMENTS,4,true],["HasProjections",IFCRELPROJECTSELEMENT,4,true],["ReferencedInStructures",IFCRELREFERENCEDINSPATIALSTRUCTURE,4,true],["HasPorts",IFCRELCONNECTSPORTTOELEMENT,5,true],["HasOpenings",IFCRELVOIDSELEMENT,4,true],["IsConnectionRealization",IFCRELCONNECTSWITHREALIZINGELEMENTS,7,true],["ProvidesBoundaries",IFCRELSPACEBOUNDARY,5,true],["ConnectedFrom",IFCRELCONNECTSELEMENTS,6,true],["ContainedInStructure",IFCRELCONTAINEDINSPATIALSTRUCTURE,4,true],["VoidsElements",IFCRELVOIDSELEMENT,5,false]],3907093117:[["HasAssignments",IFCRELASSIGNS,4,true],["IsDecomposedBy",IFCRELDECOMPOSES,4,true],["Decomposes",IFCRELDECOMPOSES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["ObjectTypeOf",IFCRELDEFINESBYTYPE,5,true]],3198132628:[["HasAssignments",IFCRELASSIGNS,4,true],["IsDecomposedBy",IFCRELDECOMPOSES,4,true],["Decomposes",IFCRELDECOMPOSES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["ObjectTypeOf",IFCRELDEFINESBYTYPE,5,true]],3815607619:[["HasAssignments",IFCRELASSIGNS,4,true],["IsDecomposedBy",IFCRELDECOMPOSES,4,true],["Decomposes",IFCRELDECOMPOSES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["ObjectTypeOf",IFCRELDEFINESBYTYPE,5,true]],1482959167:[["HasAssignments",IFCRELASSIGNS,4,true],["IsDecomposedBy",IFCRELDECOMPOSES,4,true],["Decomposes",IFCRELDECOMPOSES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["ObjectTypeOf",IFCRELDEFINESBYTYPE,5,true]],1834744321:[["HasAssignments",IFCRELASSIGNS,4,true],["IsDecomposedBy",IFCRELDECOMPOSES,4,true],["Decomposes",IFCRELDECOMPOSES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["ObjectTypeOf",IFCRELDEFINESBYTYPE,5,true]],1339347760:[["HasAssignments",IFCRELASSIGNS,4,true],["IsDecomposedBy",IFCRELDECOMPOSES,4,true],["Decomposes",IFCRELDECOMPOSES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["ObjectTypeOf",IFCRELDEFINESBYTYPE,5,true]],2297155007:[["HasAssignments",IFCRELASSIGNS,4,true],["IsDecomposedBy",IFCRELDECOMPOSES,4,true],["Decomposes",IFCRELDECOMPOSES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["ObjectTypeOf",IFCRELDEFINESBYTYPE,5,true]],3009222698:[["HasAssignments",IFCRELASSIGNS,4,true],["IsDecomposedBy",IFCRELDECOMPOSES,4,true],["Decomposes",IFCRELDECOMPOSES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["ObjectTypeOf",IFCRELDEFINESBYTYPE,5,true]],263784265:[["HasAssignments",IFCRELASSIGNS,4,true],["IsDecomposedBy",IFCRELDECOMPOSES,4,true],["Decomposes",IFCRELDECOMPOSES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDefinedBy",IFCRELDEFINES,4,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true],["HasStructuralMember",IFCRELCONNECTSSTRUCTURALELEMENT,4,true],["FillsVoids",IFCRELFILLSELEMENT,5,true],["ConnectedTo",IFCRELCONNECTSELEMENTS,5,true],["HasCoverings",IFCRELCOVERSBLDGELEMENTS,4,true],["HasProjections",IFCRELPROJECTSELEMENT,4,true],["ReferencedInStructures",IFCRELREFERENCEDINSPATIALSTRUCTURE,4,true],["HasPorts",IFCRELCONNECTSPORTTOELEMENT,5,true],["HasOpenings",IFCRELVOIDSELEMENT,4,true],["IsConnectionRealization",IFCRELCONNECTSWITHREALIZINGELEMENTS,7,true],["ProvidesBoundaries",IFCRELSPACEBOUNDARY,5,true],["ConnectedFrom",IFCRELCONNECTSELEMENTS,6,true],["ContainedInStructure",IFCRELCONTAINEDINSPATIALSTRUCTURE,4,true]],814719939:[["HasAssignments",IFCRELASSIGNS,4,true],["IsDecomposedBy",IFCRELDECOMPOSES,4,true],["Decomposes",IFCRELDECOMPOSES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDefinedBy",IFCRELDEFINES,4,true],["Controls",IFCRELASSIGNSTOCONTROL,6,true]],200128114:[["HasAssignments",IFCRELASSIGNS,4,true],["IsDecomposedBy",IFCRELDECOMPOSES,4,true],["Decomposes",IFCRELDECOMPOSES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["ObjectTypeOf",IFCRELDEFINESBYTYPE,5,true]],3009204131:[["HasAssignments",IFCRELASSIGNS,4,true],["IsDecomposedBy",IFCRELDECOMPOSES,4,true],["Decomposes",IFCRELDECOMPOSES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDefinedBy",IFCRELDEFINES,4,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true],["ContainedInStructure",IFCRELCONTAINEDINSPATIALSTRUCTURE,4,true]],2706460486:[["HasAssignments",IFCRELASSIGNS,4,true],["IsDecomposedBy",IFCRELDECOMPOSES,4,true],["Decomposes",IFCRELDECOMPOSES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDefinedBy",IFCRELDEFINES,4,true],["IsGroupedBy",IFCRELASSIGNSTOGROUP,6,false]],1251058090:[["HasAssignments",IFCRELASSIGNS,4,true],["IsDecomposedBy",IFCRELDECOMPOSES,4,true],["Decomposes",IFCRELDECOMPOSES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["ObjectTypeOf",IFCRELDEFINESBYTYPE,5,true]],1806887404:[["HasAssignments",IFCRELASSIGNS,4,true],["IsDecomposedBy",IFCRELDECOMPOSES,4,true],["Decomposes",IFCRELDECOMPOSES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["ObjectTypeOf",IFCRELDEFINESBYTYPE,5,true]],2391368822:[["HasAssignments",IFCRELASSIGNS,4,true],["IsDecomposedBy",IFCRELDECOMPOSES,4,true],["Decomposes",IFCRELDECOMPOSES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDefinedBy",IFCRELDEFINES,4,true],["IsGroupedBy",IFCRELASSIGNSTOGROUP,6,false]],4288270099:[["HasAssignments",IFCRELASSIGNS,4,true],["IsDecomposedBy",IFCRELDECOMPOSES,4,true],["Decomposes",IFCRELDECOMPOSES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["ObjectTypeOf",IFCRELDEFINESBYTYPE,5,true]],3827777499:[["HasAssignments",IFCRELASSIGNS,4,true],["IsDecomposedBy",IFCRELDECOMPOSES,4,true],["Decomposes",IFCRELDECOMPOSES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDefinedBy",IFCRELDEFINES,4,true],["ResourceOf",IFCRELASSIGNSTORESOURCE,6,true]],1051575348:[["HasAssignments",IFCRELASSIGNS,4,true],["IsDecomposedBy",IFCRELDECOMPOSES,4,true],["Decomposes",IFCRELDECOMPOSES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["ObjectTypeOf",IFCRELDEFINESBYTYPE,5,true]],1161773419:[["HasAssignments",IFCRELASSIGNS,4,true],["IsDecomposedBy",IFCRELDECOMPOSES,4,true],["Decomposes",IFCRELDECOMPOSES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["ObjectTypeOf",IFCRELDEFINESBYTYPE,5,true]],2506943328:[["LayerAssignments",IFCPRESENTATIONLAYERASSIGNMENT,2,true],["StyledByItem",IFCSTYLEDITEM,0,true],["IsRelatedFromCallout",IFCDRAUGHTINGCALLOUTRELATIONSHIP,3,true],["IsRelatedToCallout",IFCDRAUGHTINGCALLOUTRELATIONSHIP,2,true]],377706215:[["HasAssignments",IFCRELASSIGNS,4,true],["IsDecomposedBy",IFCRELDECOMPOSES,4,true],["Decomposes",IFCRELDECOMPOSES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDefinedBy",IFCRELDEFINES,4,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true],["HasStructuralMember",IFCRELCONNECTSSTRUCTURALELEMENT,4,true],["FillsVoids",IFCRELFILLSELEMENT,5,true],["ConnectedTo",IFCRELCONNECTSELEMENTS,5,true],["HasCoverings",IFCRELCOVERSBLDGELEMENTS,4,true],["HasProjections",IFCRELPROJECTSELEMENT,4,true],["ReferencedInStructures",IFCRELREFERENCEDINSPATIALSTRUCTURE,4,true],["HasPorts",IFCRELCONNECTSPORTTOELEMENT,5,true],["HasOpenings",IFCRELVOIDSELEMENT,4,true],["IsConnectionRealization",IFCRELCONNECTSWITHREALIZINGELEMENTS,7,true],["ProvidesBoundaries",IFCRELSPACEBOUNDARY,5,true],["ConnectedFrom",IFCRELCONNECTSELEMENTS,6,true],["ContainedInStructure",IFCRELCONTAINEDINSPATIALSTRUCTURE,4,true]],2108223431:[["HasAssignments",IFCRELASSIGNS,4,true],["IsDecomposedBy",IFCRELDECOMPOSES,4,true],["Decomposes",IFCRELDECOMPOSES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["ObjectTypeOf",IFCRELDEFINESBYTYPE,5,true]],3181161470:[["HasAssignments",IFCRELASSIGNS,4,true],["IsDecomposedBy",IFCRELDECOMPOSES,4,true],["Decomposes",IFCRELDECOMPOSES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["ObjectTypeOf",IFCRELDEFINESBYTYPE,5,true]],977012517:[["HasAssignments",IFCRELASSIGNS,4,true],["IsDecomposedBy",IFCRELDECOMPOSES,4,true],["Decomposes",IFCRELDECOMPOSES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["ObjectTypeOf",IFCRELDEFINESBYTYPE,5,true]],1916936684:[["HasAssignments",IFCRELASSIGNS,4,true],["IsDecomposedBy",IFCRELDECOMPOSES,4,true],["Decomposes",IFCRELDECOMPOSES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDefinedBy",IFCRELDEFINES,4,true],["OperatesOn",IFCRELASSIGNSTOPROCESS,6,true],["IsSuccessorFrom",IFCRELSEQUENCE,5,true],["IsPredecessorTo",IFCRELSEQUENCE,4,true]],4143007308:[["HasAssignments",IFCRELASSIGNS,4,true],["IsDecomposedBy",IFCRELDECOMPOSES,4,true],["Decomposes",IFCRELDECOMPOSES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDefinedBy",IFCRELDEFINES,4,true],["IsActingUpon",IFCRELASSIGNSTOACTOR,6,true]],3588315303:[["HasAssignments",IFCRELASSIGNS,4,true],["IsDecomposedBy",IFCRELDECOMPOSES,4,true],["Decomposes",IFCRELDECOMPOSES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDefinedBy",IFCRELDEFINES,4,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true],["HasStructuralMember",IFCRELCONNECTSSTRUCTURALELEMENT,4,true],["FillsVoids",IFCRELFILLSELEMENT,5,true],["ConnectedTo",IFCRELCONNECTSELEMENTS,5,true],["HasCoverings",IFCRELCOVERSBLDGELEMENTS,4,true],["HasProjections",IFCRELPROJECTSELEMENT,4,true],["ReferencedInStructures",IFCRELREFERENCEDINSPATIALSTRUCTURE,4,true],["HasPorts",IFCRELCONNECTSPORTTOELEMENT,5,true],["HasOpenings",IFCRELVOIDSELEMENT,4,true],["IsConnectionRealization",IFCRELCONNECTSWITHREALIZINGELEMENTS,7,true],["ProvidesBoundaries",IFCRELSPACEBOUNDARY,5,true],["ConnectedFrom",IFCRELCONNECTSELEMENTS,6,true],["ContainedInStructure",IFCRELCONTAINEDINSPATIALSTRUCTURE,4,true],["VoidsElements",IFCRELVOIDSELEMENT,5,false],["HasFillings",IFCRELFILLSELEMENT,4,true]],3425660407:[["HasAssignments",IFCRELASSIGNS,4,true],["IsDecomposedBy",IFCRELDECOMPOSES,4,true],["Decomposes",IFCRELDECOMPOSES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDefinedBy",IFCRELDEFINES,4,true],["OperatesOn",IFCRELASSIGNSTOPROCESS,6,true],["IsSuccessorFrom",IFCRELSEQUENCE,5,true],["IsPredecessorTo",IFCRELSEQUENCE,4,true]],2837617999:[["HasAssignments",IFCRELASSIGNS,4,true],["IsDecomposedBy",IFCRELDECOMPOSES,4,true],["Decomposes",IFCRELDECOMPOSES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["ObjectTypeOf",IFCRELDEFINESBYTYPE,5,true]],2382730787:[["HasAssignments",IFCRELASSIGNS,4,true],["IsDecomposedBy",IFCRELDECOMPOSES,4,true],["Decomposes",IFCRELDECOMPOSES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDefinedBy",IFCRELDEFINES,4,true],["Controls",IFCRELASSIGNSTOCONTROL,6,true]],3327091369:[["HasAssignments",IFCRELASSIGNS,4,true],["IsDecomposedBy",IFCRELDECOMPOSES,4,true],["Decomposes",IFCRELDECOMPOSES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDefinedBy",IFCRELDEFINES,4,true],["Controls",IFCRELASSIGNSTOCONTROL,6,true]],804291784:[["HasAssignments",IFCRELASSIGNS,4,true],["IsDecomposedBy",IFCRELDECOMPOSES,4,true],["Decomposes",IFCRELDECOMPOSES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["ObjectTypeOf",IFCRELDEFINESBYTYPE,5,true]],4231323485:[["HasAssignments",IFCRELASSIGNS,4,true],["IsDecomposedBy",IFCRELDECOMPOSES,4,true],["Decomposes",IFCRELDECOMPOSES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["ObjectTypeOf",IFCRELDEFINESBYTYPE,5,true]],4017108033:[["HasAssignments",IFCRELASSIGNS,4,true],["IsDecomposedBy",IFCRELDECOMPOSES,4,true],["Decomposes",IFCRELDECOMPOSES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["ObjectTypeOf",IFCRELDEFINESBYTYPE,5,true]],3724593414:[["LayerAssignments",IFCPRESENTATIONLAYERASSIGNMENT,2,true],["StyledByItem",IFCSTYLEDITEM,0,true]],3740093272:[["HasAssignments",IFCRELASSIGNS,4,true],["IsDecomposedBy",IFCRELDECOMPOSES,4,true],["Decomposes",IFCRELDECOMPOSES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDefinedBy",IFCRELDEFINES,4,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true],["ContainedIn",IFCRELCONNECTSPORTTOELEMENT,4,false],["ConnectedFrom",IFCRELCONNECTSPORTS,5,true],["ConnectedTo",IFCRELCONNECTSPORTS,4,true]],2744685151:[["HasAssignments",IFCRELASSIGNS,4,true],["IsDecomposedBy",IFCRELDECOMPOSES,4,true],["Decomposes",IFCRELDECOMPOSES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDefinedBy",IFCRELDEFINES,4,true],["OperatesOn",IFCRELASSIGNSTOPROCESS,6,true],["IsSuccessorFrom",IFCRELSEQUENCE,5,true],["IsPredecessorTo",IFCRELSEQUENCE,4,true]],2904328755:[["HasAssignments",IFCRELASSIGNS,4,true],["IsDecomposedBy",IFCRELDECOMPOSES,4,true],["Decomposes",IFCRELDECOMPOSES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDefinedBy",IFCRELDEFINES,4,true],["Controls",IFCRELASSIGNSTOCONTROL,6,true]],3642467123:[["HasAssignments",IFCRELASSIGNS,4,true],["IsDecomposedBy",IFCRELDECOMPOSES,4,true],["Decomposes",IFCRELDECOMPOSES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDefinedBy",IFCRELDEFINES,4,true],["Controls",IFCRELASSIGNSTOCONTROL,6,true]],3651124850:[["HasAssignments",IFCRELASSIGNS,4,true],["IsDecomposedBy",IFCRELDECOMPOSES,4,true],["Decomposes",IFCRELDECOMPOSES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDefinedBy",IFCRELDEFINES,4,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true],["HasStructuralMember",IFCRELCONNECTSSTRUCTURALELEMENT,4,true],["FillsVoids",IFCRELFILLSELEMENT,5,true],["ConnectedTo",IFCRELCONNECTSELEMENTS,5,true],["HasCoverings",IFCRELCOVERSBLDGELEMENTS,4,true],["HasProjections",IFCRELPROJECTSELEMENT,4,true],["ReferencedInStructures",IFCRELREFERENCEDINSPATIALSTRUCTURE,4,true],["HasPorts",IFCRELCONNECTSPORTTOELEMENT,5,true],["HasOpenings",IFCRELVOIDSELEMENT,4,true],["IsConnectionRealization",IFCRELCONNECTSWITHREALIZINGELEMENTS,7,true],["ProvidesBoundaries",IFCRELSPACEBOUNDARY,5,true],["ConnectedFrom",IFCRELCONNECTSELEMENTS,6,true],["ContainedInStructure",IFCRELCONTAINEDINSPATIALSTRUCTURE,4,true],["ProjectsElements",IFCRELPROJECTSELEMENT,5,false]],1842657554:[["HasAssignments",IFCRELASSIGNS,4,true],["IsDecomposedBy",IFCRELDECOMPOSES,4,true],["Decomposes",IFCRELDECOMPOSES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["ObjectTypeOf",IFCRELDEFINESBYTYPE,5,true]],2250791053:[["HasAssignments",IFCRELASSIGNS,4,true],["IsDecomposedBy",IFCRELDECOMPOSES,4,true],["Decomposes",IFCRELDECOMPOSES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["ObjectTypeOf",IFCRELDEFINESBYTYPE,5,true]],3248260540:[["LayerAssignments",IFCPRESENTATIONLAYERASSIGNMENT,2,true],["StyledByItem",IFCSTYLEDITEM,0,true],["IsRelatedFromCallout",IFCDRAUGHTINGCALLOUTRELATIONSHIP,3,true],["IsRelatedToCallout",IFCDRAUGHTINGCALLOUTRELATIONSHIP,2,true]],2893384427:[["HasAssignments",IFCRELASSIGNS,4,true],["IsDecomposedBy",IFCRELDECOMPOSES,4,true],["Decomposes",IFCRELDECOMPOSES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["ObjectTypeOf",IFCRELDEFINESBYTYPE,5,true]],2324767716:[["HasAssignments",IFCRELASSIGNS,4,true],["IsDecomposedBy",IFCRELDECOMPOSES,4,true],["Decomposes",IFCRELDECOMPOSES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["ObjectTypeOf",IFCRELDEFINESBYTYPE,5,true]],1768891740:[["HasAssignments",IFCRELASSIGNS,4,true],["IsDecomposedBy",IFCRELDECOMPOSES,4,true],["Decomposes",IFCRELDECOMPOSES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["ObjectTypeOf",IFCRELDEFINESBYTYPE,5,true]],3517283431:[["HasAssignments",IFCRELASSIGNS,4,true],["IsDecomposedBy",IFCRELDECOMPOSES,4,true],["Decomposes",IFCRELDECOMPOSES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDefinedBy",IFCRELDEFINES,4,true],["Controls",IFCRELASSIGNSTOCONTROL,6,true],["ScheduleTimeControlAssigned",IFCRELASSIGNSTASKS,7,false]],4105383287:[["HasAssignments",IFCRELASSIGNS,4,true],["IsDecomposedBy",IFCRELDECOMPOSES,4,true],["Decomposes",IFCRELDECOMPOSES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDefinedBy",IFCRELDEFINES,4,true],["Controls",IFCRELASSIGNSTOCONTROL,6,true]],4097777520:[["HasAssignments",IFCRELASSIGNS,4,true],["IsDecomposedBy",IFCRELDECOMPOSES,4,true],["Decomposes",IFCRELDECOMPOSES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDefinedBy",IFCRELDEFINES,4,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true],["ReferencesElements",IFCRELREFERENCEDINSPATIALSTRUCTURE,5,true],["ServicedBySystems",IFCRELSERVICESBUILDINGS,5,true],["ContainsElements",IFCRELCONTAINEDINSPATIALSTRUCTURE,5,true]],2533589738:[["HasAssignments",IFCRELASSIGNS,4,true],["IsDecomposedBy",IFCRELDECOMPOSES,4,true],["Decomposes",IFCRELDECOMPOSES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["ObjectTypeOf",IFCRELDEFINESBYTYPE,5,true]],3856911033:[["HasAssignments",IFCRELASSIGNS,4,true],["IsDecomposedBy",IFCRELDECOMPOSES,4,true],["Decomposes",IFCRELDECOMPOSES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDefinedBy",IFCRELDEFINES,4,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true],["ReferencesElements",IFCRELREFERENCEDINSPATIALSTRUCTURE,5,true],["ServicedBySystems",IFCRELSERVICESBUILDINGS,5,true],["ContainsElements",IFCRELCONTAINEDINSPATIALSTRUCTURE,5,true],["HasCoverings",IFCRELCOVERSSPACES,4,true],["BoundedBy",IFCRELSPACEBOUNDARY,4,true]],1305183839:[["HasAssignments",IFCRELASSIGNS,4,true],["IsDecomposedBy",IFCRELDECOMPOSES,4,true],["Decomposes",IFCRELDECOMPOSES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["ObjectTypeOf",IFCRELDEFINESBYTYPE,5,true]],652456506:[["HasAssignments",IFCRELASSIGNS,4,true],["IsDecomposedBy",IFCRELDECOMPOSES,4,true],["Decomposes",IFCRELDECOMPOSES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDefinedBy",IFCRELDEFINES,4,true],["Controls",IFCRELASSIGNSTOCONTROL,6,true],["HasInteractionReqsFrom",IFCRELINTERACTIONREQUIREMENTS,7,true],["HasInteractionReqsTo",IFCRELINTERACTIONREQUIREMENTS,8,true]],3812236995:[["HasAssignments",IFCRELASSIGNS,4,true],["IsDecomposedBy",IFCRELDECOMPOSES,4,true],["Decomposes",IFCRELDECOMPOSES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["ObjectTypeOf",IFCRELDEFINESBYTYPE,5,true]],3112655638:[["HasAssignments",IFCRELASSIGNS,4,true],["IsDecomposedBy",IFCRELDECOMPOSES,4,true],["Decomposes",IFCRELDECOMPOSES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["ObjectTypeOf",IFCRELDEFINESBYTYPE,5,true]],1039846685:[["HasAssignments",IFCRELASSIGNS,4,true],["IsDecomposedBy",IFCRELDECOMPOSES,4,true],["Decomposes",IFCRELDECOMPOSES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["ObjectTypeOf",IFCRELDEFINESBYTYPE,5,true]],682877961:[["HasAssignments",IFCRELASSIGNS,4,true],["IsDecomposedBy",IFCRELDECOMPOSES,4,true],["Decomposes",IFCRELDECOMPOSES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDefinedBy",IFCRELDEFINES,4,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true],["AssignedToStructuralItem",IFCRELCONNECTSSTRUCTURALACTIVITY,5,false]],1179482911:[["HasAssignments",IFCRELASSIGNS,4,true],["IsDecomposedBy",IFCRELDECOMPOSES,4,true],["Decomposes",IFCRELDECOMPOSES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDefinedBy",IFCRELDEFINES,4,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true],["AssignedStructuralActivity",IFCRELCONNECTSSTRUCTURALACTIVITY,4,true],["ConnectsStructuralMembers",IFCRELCONNECTSSTRUCTURALMEMBER,5,true]],4243806635:[["HasAssignments",IFCRELASSIGNS,4,true],["IsDecomposedBy",IFCRELDECOMPOSES,4,true],["Decomposes",IFCRELDECOMPOSES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDefinedBy",IFCRELDEFINES,4,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true],["AssignedStructuralActivity",IFCRELCONNECTSSTRUCTURALACTIVITY,4,true],["ConnectsStructuralMembers",IFCRELCONNECTSSTRUCTURALMEMBER,5,true]],214636428:[["HasAssignments",IFCRELASSIGNS,4,true],["IsDecomposedBy",IFCRELDECOMPOSES,4,true],["Decomposes",IFCRELDECOMPOSES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDefinedBy",IFCRELDEFINES,4,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true],["AssignedStructuralActivity",IFCRELCONNECTSSTRUCTURALACTIVITY,4,true],["ReferencesElement",IFCRELCONNECTSSTRUCTURALELEMENT,5,true],["ConnectedBy",IFCRELCONNECTSSTRUCTURALMEMBER,4,true]],2445595289:[["HasAssignments",IFCRELASSIGNS,4,true],["IsDecomposedBy",IFCRELDECOMPOSES,4,true],["Decomposes",IFCRELDECOMPOSES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDefinedBy",IFCRELDEFINES,4,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true],["AssignedStructuralActivity",IFCRELCONNECTSSTRUCTURALACTIVITY,4,true],["ReferencesElement",IFCRELCONNECTSSTRUCTURALELEMENT,5,true],["ConnectedBy",IFCRELCONNECTSSTRUCTURALMEMBER,4,true]],1807405624:[["HasAssignments",IFCRELASSIGNS,4,true],["IsDecomposedBy",IFCRELDECOMPOSES,4,true],["Decomposes",IFCRELDECOMPOSES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDefinedBy",IFCRELDEFINES,4,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true],["AssignedToStructuralItem",IFCRELCONNECTSSTRUCTURALACTIVITY,5,false]],1721250024:[["HasAssignments",IFCRELASSIGNS,4,true],["IsDecomposedBy",IFCRELDECOMPOSES,4,true],["Decomposes",IFCRELDECOMPOSES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDefinedBy",IFCRELDEFINES,4,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true],["AssignedToStructuralItem",IFCRELCONNECTSSTRUCTURALACTIVITY,5,false]],1252848954:[["HasAssignments",IFCRELASSIGNS,4,true],["IsDecomposedBy",IFCRELDECOMPOSES,4,true],["Decomposes",IFCRELDECOMPOSES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDefinedBy",IFCRELDEFINES,4,true],["IsGroupedBy",IFCRELASSIGNSTOGROUP,6,false],["SourceOfResultGroup",IFCSTRUCTURALRESULTGROUP,6,true],["LoadGroupFor",IFCSTRUCTURALANALYSISMODEL,7,true]],1621171031:[["HasAssignments",IFCRELASSIGNS,4,true],["IsDecomposedBy",IFCRELDECOMPOSES,4,true],["Decomposes",IFCRELDECOMPOSES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDefinedBy",IFCRELDEFINES,4,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true],["AssignedToStructuralItem",IFCRELCONNECTSSTRUCTURALACTIVITY,5,false]],3987759626:[["HasAssignments",IFCRELASSIGNS,4,true],["IsDecomposedBy",IFCRELDECOMPOSES,4,true],["Decomposes",IFCRELDECOMPOSES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDefinedBy",IFCRELDEFINES,4,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true],["AssignedToStructuralItem",IFCRELCONNECTSSTRUCTURALACTIVITY,5,false]],2082059205:[["HasAssignments",IFCRELASSIGNS,4,true],["IsDecomposedBy",IFCRELDECOMPOSES,4,true],["Decomposes",IFCRELDECOMPOSES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDefinedBy",IFCRELDEFINES,4,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true],["AssignedToStructuralItem",IFCRELCONNECTSSTRUCTURALACTIVITY,5,false]],734778138:[["HasAssignments",IFCRELASSIGNS,4,true],["IsDecomposedBy",IFCRELDECOMPOSES,4,true],["Decomposes",IFCRELDECOMPOSES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDefinedBy",IFCRELDEFINES,4,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true],["AssignedStructuralActivity",IFCRELCONNECTSSTRUCTURALACTIVITY,4,true],["ConnectsStructuralMembers",IFCRELCONNECTSSTRUCTURALMEMBER,5,true]],1235345126:[["HasAssignments",IFCRELASSIGNS,4,true],["IsDecomposedBy",IFCRELDECOMPOSES,4,true],["Decomposes",IFCRELDECOMPOSES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDefinedBy",IFCRELDEFINES,4,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true],["AssignedToStructuralItem",IFCRELCONNECTSSTRUCTURALACTIVITY,5,false],["Causes",IFCSTRUCTURALACTION,10,true]],2986769608:[["HasAssignments",IFCRELASSIGNS,4,true],["IsDecomposedBy",IFCRELDECOMPOSES,4,true],["Decomposes",IFCRELDECOMPOSES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDefinedBy",IFCRELDEFINES,4,true],["IsGroupedBy",IFCRELASSIGNSTOGROUP,6,false],["ResultGroupFor",IFCSTRUCTURALANALYSISMODEL,8,true]],1975003073:[["HasAssignments",IFCRELASSIGNS,4,true],["IsDecomposedBy",IFCRELDECOMPOSES,4,true],["Decomposes",IFCRELDECOMPOSES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDefinedBy",IFCRELDEFINES,4,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true],["AssignedStructuralActivity",IFCRELCONNECTSSTRUCTURALACTIVITY,4,true],["ConnectsStructuralMembers",IFCRELCONNECTSSTRUCTURALMEMBER,5,true]],148013059:[["HasAssignments",IFCRELASSIGNS,4,true],["IsDecomposedBy",IFCRELDECOMPOSES,4,true],["Decomposes",IFCRELDECOMPOSES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDefinedBy",IFCRELDEFINES,4,true],["ResourceOf",IFCRELASSIGNSTORESOURCE,6,true]],2315554128:[["HasAssignments",IFCRELASSIGNS,4,true],["IsDecomposedBy",IFCRELDECOMPOSES,4,true],["Decomposes",IFCRELDECOMPOSES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["ObjectTypeOf",IFCRELDEFINESBYTYPE,5,true]],2254336722:[["HasAssignments",IFCRELASSIGNS,4,true],["IsDecomposedBy",IFCRELDECOMPOSES,4,true],["Decomposes",IFCRELDECOMPOSES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDefinedBy",IFCRELDEFINES,4,true],["IsGroupedBy",IFCRELASSIGNSTOGROUP,6,false],["ServicesBuildings",IFCRELSERVICESBUILDINGS,4,true]],5716631:[["HasAssignments",IFCRELASSIGNS,4,true],["IsDecomposedBy",IFCRELDECOMPOSES,4,true],["Decomposes",IFCRELDECOMPOSES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["ObjectTypeOf",IFCRELDEFINESBYTYPE,5,true]],1637806684:[["HasAssignments",IFCRELASSIGNS,4,true],["IsDecomposedBy",IFCRELDECOMPOSES,4,true],["Decomposes",IFCRELDECOMPOSES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDefinedBy",IFCRELDEFINES,4,true],["Controls",IFCRELASSIGNSTOCONTROL,6,true]],1692211062:[["HasAssignments",IFCRELASSIGNS,4,true],["IsDecomposedBy",IFCRELDECOMPOSES,4,true],["Decomposes",IFCRELDECOMPOSES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["ObjectTypeOf",IFCRELDEFINESBYTYPE,5,true]],1620046519:[["HasAssignments",IFCRELASSIGNS,4,true],["IsDecomposedBy",IFCRELDECOMPOSES,4,true],["Decomposes",IFCRELDECOMPOSES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDefinedBy",IFCRELDEFINES,4,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true],["HasStructuralMember",IFCRELCONNECTSSTRUCTURALELEMENT,4,true],["FillsVoids",IFCRELFILLSELEMENT,5,true],["ConnectedTo",IFCRELCONNECTSELEMENTS,5,true],["HasCoverings",IFCRELCOVERSBLDGELEMENTS,4,true],["HasProjections",IFCRELPROJECTSELEMENT,4,true],["ReferencedInStructures",IFCRELREFERENCEDINSPATIALSTRUCTURE,4,true],["HasPorts",IFCRELCONNECTSPORTTOELEMENT,5,true],["HasOpenings",IFCRELVOIDSELEMENT,4,true],["IsConnectionRealization",IFCRELCONNECTSWITHREALIZINGELEMENTS,7,true],["ProvidesBoundaries",IFCRELSPACEBOUNDARY,5,true],["ConnectedFrom",IFCRELCONNECTSELEMENTS,6,true],["ContainedInStructure",IFCRELCONTAINEDINSPATIALSTRUCTURE,4,true]],3593883385:[["LayerAssignments",IFCPRESENTATIONLAYERASSIGNMENT,2,true],["StyledByItem",IFCSTYLEDITEM,0,true]],1600972822:[["HasAssignments",IFCRELASSIGNS,4,true],["IsDecomposedBy",IFCRELDECOMPOSES,4,true],["Decomposes",IFCRELDECOMPOSES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["ObjectTypeOf",IFCRELDEFINESBYTYPE,5,true]],1911125066:[["HasAssignments",IFCRELASSIGNS,4,true],["IsDecomposedBy",IFCRELDECOMPOSES,4,true],["Decomposes",IFCRELDECOMPOSES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["ObjectTypeOf",IFCRELDEFINESBYTYPE,5,true]],728799441:[["HasAssignments",IFCRELASSIGNS,4,true],["IsDecomposedBy",IFCRELDECOMPOSES,4,true],["Decomposes",IFCRELDECOMPOSES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["ObjectTypeOf",IFCRELDEFINESBYTYPE,5,true]],2769231204:[["HasAssignments",IFCRELASSIGNS,4,true],["IsDecomposedBy",IFCRELDECOMPOSES,4,true],["Decomposes",IFCRELDECOMPOSES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDefinedBy",IFCRELDEFINES,4,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true],["HasStructuralMember",IFCRELCONNECTSSTRUCTURALELEMENT,4,true],["FillsVoids",IFCRELFILLSELEMENT,5,true],["ConnectedTo",IFCRELCONNECTSELEMENTS,5,true],["HasCoverings",IFCRELCOVERSBLDGELEMENTS,4,true],["HasProjections",IFCRELPROJECTSELEMENT,4,true],["ReferencedInStructures",IFCRELREFERENCEDINSPATIALSTRUCTURE,4,true],["HasPorts",IFCRELCONNECTSPORTTOELEMENT,5,true],["HasOpenings",IFCRELVOIDSELEMENT,4,true],["IsConnectionRealization",IFCRELCONNECTSWITHREALIZINGELEMENTS,7,true],["ProvidesBoundaries",IFCRELSPACEBOUNDARY,5,true],["ConnectedFrom",IFCRELCONNECTSELEMENTS,6,true],["ContainedInStructure",IFCRELCONTAINEDINSPATIALSTRUCTURE,4,true]],1898987631:[["HasAssignments",IFCRELASSIGNS,4,true],["IsDecomposedBy",IFCRELDECOMPOSES,4,true],["Decomposes",IFCRELDECOMPOSES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["ObjectTypeOf",IFCRELDEFINESBYTYPE,5,true]],1133259667:[["HasAssignments",IFCRELASSIGNS,4,true],["IsDecomposedBy",IFCRELDECOMPOSES,4,true],["Decomposes",IFCRELDECOMPOSES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["ObjectTypeOf",IFCRELDEFINESBYTYPE,5,true]],1028945134:[["HasAssignments",IFCRELASSIGNS,4,true],["IsDecomposedBy",IFCRELDECOMPOSES,4,true],["Decomposes",IFCRELDECOMPOSES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDefinedBy",IFCRELDEFINES,4,true],["Controls",IFCRELASSIGNSTOCONTROL,6,true]],4218914973:[["HasAssignments",IFCRELASSIGNS,4,true],["IsDecomposedBy",IFCRELDECOMPOSES,4,true],["Decomposes",IFCRELDECOMPOSES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDefinedBy",IFCRELDEFINES,4,true],["Controls",IFCRELASSIGNSTOCONTROL,6,true]],3342526732:[["HasAssignments",IFCRELASSIGNS,4,true],["IsDecomposedBy",IFCRELDECOMPOSES,4,true],["Decomposes",IFCRELDECOMPOSES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDefinedBy",IFCRELDEFINES,4,true],["Controls",IFCRELASSIGNSTOCONTROL,6,true]],1033361043:[["HasAssignments",IFCRELASSIGNS,4,true],["IsDecomposedBy",IFCRELDECOMPOSES,4,true],["Decomposes",IFCRELDECOMPOSES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDefinedBy",IFCRELDEFINES,4,true],["IsGroupedBy",IFCRELASSIGNSTOGROUP,6,false]],1213861670:[["LayerAssignments",IFCPRESENTATIONLAYERASSIGNMENT,2,true],["StyledByItem",IFCSTYLEDITEM,0,true]],3821786052:[["HasAssignments",IFCRELASSIGNS,4,true],["IsDecomposedBy",IFCRELDECOMPOSES,4,true],["Decomposes",IFCRELDECOMPOSES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDefinedBy",IFCRELDEFINES,4,true],["Controls",IFCRELASSIGNSTOCONTROL,6,true]],1411407467:[["HasAssignments",IFCRELASSIGNS,4,true],["IsDecomposedBy",IFCRELDECOMPOSES,4,true],["Decomposes",IFCRELDECOMPOSES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["ObjectTypeOf",IFCRELDEFINESBYTYPE,5,true]],3352864051:[["HasAssignments",IFCRELASSIGNS,4,true],["IsDecomposedBy",IFCRELDECOMPOSES,4,true],["Decomposes",IFCRELDECOMPOSES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["ObjectTypeOf",IFCRELDEFINESBYTYPE,5,true]],1871374353:[["HasAssignments",IFCRELASSIGNS,4,true],["IsDecomposedBy",IFCRELDECOMPOSES,4,true],["Decomposes",IFCRELDECOMPOSES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["ObjectTypeOf",IFCRELDEFINESBYTYPE,5,true]],2470393545:[["LayerAssignments",IFCPRESENTATIONLAYERASSIGNMENT,2,true],["StyledByItem",IFCSTYLEDITEM,0,true],["IsRelatedFromCallout",IFCDRAUGHTINGCALLOUTRELATIONSHIP,3,true],["IsRelatedToCallout",IFCDRAUGHTINGCALLOUTRELATIONSHIP,2,true]],3460190687:[["HasAssignments",IFCRELASSIGNS,4,true],["IsDecomposedBy",IFCRELDECOMPOSES,4,true],["Decomposes",IFCRELDECOMPOSES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDefinedBy",IFCRELDEFINES,4,true],["IsGroupedBy",IFCRELASSIGNSTOGROUP,6,false]],1967976161:[["LayerAssignments",IFCPRESENTATIONLAYERASSIGNMENT,2,true],["StyledByItem",IFCSTYLEDITEM,0,true]],819618141:[["HasAssignments",IFCRELASSIGNS,4,true],["IsDecomposedBy",IFCRELDECOMPOSES,4,true],["Decomposes",IFCRELDECOMPOSES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["ObjectTypeOf",IFCRELDEFINESBYTYPE,5,true]],1916977116:[["LayerAssignments",IFCPRESENTATIONLAYERASSIGNMENT,2,true],["StyledByItem",IFCSTYLEDITEM,0,true]],231477066:[["HasAssignments",IFCRELASSIGNS,4,true],["IsDecomposedBy",IFCRELDECOMPOSES,4,true],["Decomposes",IFCRELDECOMPOSES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["ObjectTypeOf",IFCRELDEFINESBYTYPE,5,true]],3299480353:[["HasAssignments",IFCRELASSIGNS,4,true],["IsDecomposedBy",IFCRELDECOMPOSES,4,true],["Decomposes",IFCRELDECOMPOSES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDefinedBy",IFCRELDEFINES,4,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true],["HasStructuralMember",IFCRELCONNECTSSTRUCTURALELEMENT,4,true],["FillsVoids",IFCRELFILLSELEMENT,5,true],["ConnectedTo",IFCRELCONNECTSELEMENTS,5,true],["HasCoverings",IFCRELCOVERSBLDGELEMENTS,4,true],["HasProjections",IFCRELPROJECTSELEMENT,4,true],["ReferencedInStructures",IFCRELREFERENCEDINSPATIALSTRUCTURE,4,true],["HasPorts",IFCRELCONNECTSPORTTOELEMENT,5,true],["HasOpenings",IFCRELVOIDSELEMENT,4,true],["IsConnectionRealization",IFCRELCONNECTSWITHREALIZINGELEMENTS,7,true],["ProvidesBoundaries",IFCRELSPACEBOUNDARY,5,true],["ConnectedFrom",IFCRELCONNECTSELEMENTS,6,true],["ContainedInStructure",IFCRELCONTAINEDINSPATIALSTRUCTURE,4,true]],52481810:[["HasAssignments",IFCRELASSIGNS,4,true],["IsDecomposedBy",IFCRELDECOMPOSES,4,true],["Decomposes",IFCRELDECOMPOSES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDefinedBy",IFCRELDEFINES,4,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true],["HasStructuralMember",IFCRELCONNECTSSTRUCTURALELEMENT,4,true],["FillsVoids",IFCRELFILLSELEMENT,5,true],["ConnectedTo",IFCRELCONNECTSELEMENTS,5,true],["HasCoverings",IFCRELCOVERSBLDGELEMENTS,4,true],["HasProjections",IFCRELPROJECTSELEMENT,4,true],["ReferencedInStructures",IFCRELREFERENCEDINSPATIALSTRUCTURE,4,true],["HasPorts",IFCRELCONNECTSPORTTOELEMENT,5,true],["HasOpenings",IFCRELVOIDSELEMENT,4,true],["IsConnectionRealization",IFCRELCONNECTSWITHREALIZINGELEMENTS,7,true],["ProvidesBoundaries",IFCRELSPACEBOUNDARY,5,true],["ConnectedFrom",IFCRELCONNECTSELEMENTS,6,true],["ContainedInStructure",IFCRELCONTAINEDINSPATIALSTRUCTURE,4,true]],2979338954:[["HasAssignments",IFCRELASSIGNS,4,true],["IsDecomposedBy",IFCRELDECOMPOSES,4,true],["Decomposes",IFCRELDECOMPOSES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDefinedBy",IFCRELDEFINES,4,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true],["HasStructuralMember",IFCRELCONNECTSSTRUCTURALELEMENT,4,true],["FillsVoids",IFCRELFILLSELEMENT,5,true],["ConnectedTo",IFCRELCONNECTSELEMENTS,5,true],["HasCoverings",IFCRELCOVERSBLDGELEMENTS,4,true],["HasProjections",IFCRELPROJECTSELEMENT,4,true],["ReferencedInStructures",IFCRELREFERENCEDINSPATIALSTRUCTURE,4,true],["HasPorts",IFCRELCONNECTSPORTTOELEMENT,5,true],["HasOpenings",IFCRELVOIDSELEMENT,4,true],["IsConnectionRealization",IFCRELCONNECTSWITHREALIZINGELEMENTS,7,true],["ProvidesBoundaries",IFCRELSPACEBOUNDARY,5,true],["ConnectedFrom",IFCRELCONNECTSELEMENTS,6,true],["ContainedInStructure",IFCRELCONTAINEDINSPATIALSTRUCTURE,4,true]],1095909175:[["HasAssignments",IFCRELASSIGNS,4,true],["IsDecomposedBy",IFCRELDECOMPOSES,4,true],["Decomposes",IFCRELDECOMPOSES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDefinedBy",IFCRELDEFINES,4,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true],["HasStructuralMember",IFCRELCONNECTSSTRUCTURALELEMENT,4,true],["FillsVoids",IFCRELFILLSELEMENT,5,true],["ConnectedTo",IFCRELCONNECTSELEMENTS,5,true],["HasCoverings",IFCRELCOVERSBLDGELEMENTS,4,true],["HasProjections",IFCRELPROJECTSELEMENT,4,true],["ReferencedInStructures",IFCRELREFERENCEDINSPATIALSTRUCTURE,4,true],["HasPorts",IFCRELCONNECTSPORTTOELEMENT,5,true],["HasOpenings",IFCRELVOIDSELEMENT,4,true],["IsConnectionRealization",IFCRELCONNECTSWITHREALIZINGELEMENTS,7,true],["ProvidesBoundaries",IFCRELSPACEBOUNDARY,5,true],["ConnectedFrom",IFCRELCONNECTSELEMENTS,6,true],["ContainedInStructure",IFCRELCONTAINEDINSPATIALSTRUCTURE,4,true]],1909888760:[["HasAssignments",IFCRELASSIGNS,4,true],["IsDecomposedBy",IFCRELDECOMPOSES,4,true],["Decomposes",IFCRELDECOMPOSES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["ObjectTypeOf",IFCRELDEFINESBYTYPE,5,true]],395041908:[["HasAssignments",IFCRELASSIGNS,4,true],["IsDecomposedBy",IFCRELDECOMPOSES,4,true],["Decomposes",IFCRELDECOMPOSES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["ObjectTypeOf",IFCRELDEFINESBYTYPE,5,true]],3293546465:[["HasAssignments",IFCRELASSIGNS,4,true],["IsDecomposedBy",IFCRELDECOMPOSES,4,true],["Decomposes",IFCRELDECOMPOSES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["ObjectTypeOf",IFCRELDEFINESBYTYPE,5,true]],1285652485:[["HasAssignments",IFCRELASSIGNS,4,true],["IsDecomposedBy",IFCRELDECOMPOSES,4,true],["Decomposes",IFCRELDECOMPOSES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["ObjectTypeOf",IFCRELDEFINESBYTYPE,5,true]],2951183804:[["HasAssignments",IFCRELASSIGNS,4,true],["IsDecomposedBy",IFCRELDECOMPOSES,4,true],["Decomposes",IFCRELDECOMPOSES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["ObjectTypeOf",IFCRELDEFINESBYTYPE,5,true]],2611217952:[["LayerAssignments",IFCPRESENTATIONLAYERASSIGNMENT,2,true],["StyledByItem",IFCSTYLEDITEM,0,true]],2301859152:[["HasAssignments",IFCRELASSIGNS,4,true],["IsDecomposedBy",IFCRELDECOMPOSES,4,true],["Decomposes",IFCRELDECOMPOSES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["ObjectTypeOf",IFCRELDEFINESBYTYPE,5,true]],843113511:[["HasAssignments",IFCRELASSIGNS,4,true],["IsDecomposedBy",IFCRELDECOMPOSES,4,true],["Decomposes",IFCRELDECOMPOSES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDefinedBy",IFCRELDEFINES,4,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true],["HasStructuralMember",IFCRELCONNECTSSTRUCTURALELEMENT,4,true],["FillsVoids",IFCRELFILLSELEMENT,5,true],["ConnectedTo",IFCRELCONNECTSELEMENTS,5,true],["HasCoverings",IFCRELCOVERSBLDGELEMENTS,4,true],["HasProjections",IFCRELPROJECTSELEMENT,4,true],["ReferencedInStructures",IFCRELREFERENCEDINSPATIALSTRUCTURE,4,true],["HasPorts",IFCRELCONNECTSPORTTOELEMENT,5,true],["HasOpenings",IFCRELVOIDSELEMENT,4,true],["IsConnectionRealization",IFCRELCONNECTSWITHREALIZINGELEMENTS,7,true],["ProvidesBoundaries",IFCRELSPACEBOUNDARY,5,true],["ConnectedFrom",IFCRELCONNECTSELEMENTS,6,true],["ContainedInStructure",IFCRELCONTAINEDINSPATIALSTRUCTURE,4,true]],3850581409:[["HasAssignments",IFCRELASSIGNS,4,true],["IsDecomposedBy",IFCRELDECOMPOSES,4,true],["Decomposes",IFCRELDECOMPOSES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["ObjectTypeOf",IFCRELDEFINESBYTYPE,5,true]],2816379211:[["HasAssignments",IFCRELASSIGNS,4,true],["IsDecomposedBy",IFCRELDECOMPOSES,4,true],["Decomposes",IFCRELDECOMPOSES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["ObjectTypeOf",IFCRELDEFINESBYTYPE,5,true]],2188551683:[["HasAssignments",IFCRELASSIGNS,4,true],["IsDecomposedBy",IFCRELDECOMPOSES,4,true],["Decomposes",IFCRELDECOMPOSES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDefinedBy",IFCRELDEFINES,4,true],["IsGroupedBy",IFCRELASSIGNSTOGROUP,6,false]],1163958913:[["HasAssignments",IFCRELASSIGNS,4,true],["IsDecomposedBy",IFCRELDECOMPOSES,4,true],["Decomposes",IFCRELDECOMPOSES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDefinedBy",IFCRELDEFINES,4,true],["Controls",IFCRELASSIGNSTOCONTROL,6,true]],3898045240:[["HasAssignments",IFCRELASSIGNS,4,true],["IsDecomposedBy",IFCRELDECOMPOSES,4,true],["Decomposes",IFCRELDECOMPOSES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDefinedBy",IFCRELDEFINES,4,true],["ResourceOf",IFCRELASSIGNSTORESOURCE,6,true]],1060000209:[["HasAssignments",IFCRELASSIGNS,4,true],["IsDecomposedBy",IFCRELDECOMPOSES,4,true],["Decomposes",IFCRELDECOMPOSES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDefinedBy",IFCRELDEFINES,4,true],["ResourceOf",IFCRELASSIGNSTORESOURCE,6,true]],488727124:[["HasAssignments",IFCRELASSIGNS,4,true],["IsDecomposedBy",IFCRELDECOMPOSES,4,true],["Decomposes",IFCRELDECOMPOSES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDefinedBy",IFCRELDEFINES,4,true],["ResourceOf",IFCRELASSIGNSTORESOURCE,6,true]],335055490:[["HasAssignments",IFCRELASSIGNS,4,true],["IsDecomposedBy",IFCRELDECOMPOSES,4,true],["Decomposes",IFCRELDECOMPOSES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["ObjectTypeOf",IFCRELDEFINESBYTYPE,5,true]],2954562838:[["HasAssignments",IFCRELASSIGNS,4,true],["IsDecomposedBy",IFCRELDECOMPOSES,4,true],["Decomposes",IFCRELDECOMPOSES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["ObjectTypeOf",IFCRELDEFINESBYTYPE,5,true]],1973544240:[["HasAssignments",IFCRELASSIGNS,4,true],["IsDecomposedBy",IFCRELDECOMPOSES,4,true],["Decomposes",IFCRELDECOMPOSES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDefinedBy",IFCRELDEFINES,4,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true],["HasStructuralMember",IFCRELCONNECTSSTRUCTURALELEMENT,4,true],["FillsVoids",IFCRELFILLSELEMENT,5,true],["ConnectedTo",IFCRELCONNECTSELEMENTS,5,true],["HasCoverings",IFCRELCOVERSBLDGELEMENTS,4,true],["HasProjections",IFCRELPROJECTSELEMENT,4,true],["ReferencedInStructures",IFCRELREFERENCEDINSPATIALSTRUCTURE,4,true],["HasPorts",IFCRELCONNECTSPORTTOELEMENT,5,true],["HasOpenings",IFCRELVOIDSELEMENT,4,true],["IsConnectionRealization",IFCRELCONNECTSWITHREALIZINGELEMENTS,7,true],["ProvidesBoundaries",IFCRELSPACEBOUNDARY,5,true],["ConnectedFrom",IFCRELCONNECTSELEMENTS,6,true],["ContainedInStructure",IFCRELCONTAINEDINSPATIALSTRUCTURE,4,true],["CoversSpaces",IFCRELCOVERSSPACES,5,true],["Covers",IFCRELCOVERSBLDGELEMENTS,5,true]],3495092785:[["HasAssignments",IFCRELASSIGNS,4,true],["IsDecomposedBy",IFCRELDECOMPOSES,4,true],["Decomposes",IFCRELDECOMPOSES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDefinedBy",IFCRELDEFINES,4,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true],["HasStructuralMember",IFCRELCONNECTSSTRUCTURALELEMENT,4,true],["FillsVoids",IFCRELFILLSELEMENT,5,true],["ConnectedTo",IFCRELCONNECTSELEMENTS,5,true],["HasCoverings",IFCRELCOVERSBLDGELEMENTS,4,true],["HasProjections",IFCRELPROJECTSELEMENT,4,true],["ReferencedInStructures",IFCRELREFERENCEDINSPATIALSTRUCTURE,4,true],["HasPorts",IFCRELCONNECTSPORTTOELEMENT,5,true],["HasOpenings",IFCRELVOIDSELEMENT,4,true],["IsConnectionRealization",IFCRELCONNECTSWITHREALIZINGELEMENTS,7,true],["ProvidesBoundaries",IFCRELSPACEBOUNDARY,5,true],["ConnectedFrom",IFCRELCONNECTSELEMENTS,6,true],["ContainedInStructure",IFCRELCONTAINEDINSPATIALSTRUCTURE,4,true]],3961806047:[["HasAssignments",IFCRELASSIGNS,4,true],["IsDecomposedBy",IFCRELDECOMPOSES,4,true],["Decomposes",IFCRELDECOMPOSES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["ObjectTypeOf",IFCRELDEFINESBYTYPE,5,true]],4147604152:[["LayerAssignments",IFCPRESENTATIONLAYERASSIGNMENT,2,true],["StyledByItem",IFCSTYLEDITEM,0,true],["IsRelatedFromCallout",IFCDRAUGHTINGCALLOUTRELATIONSHIP,3,true],["IsRelatedToCallout",IFCDRAUGHTINGCALLOUTRELATIONSHIP,2,true]],1335981549:[["HasAssignments",IFCRELASSIGNS,4,true],["IsDecomposedBy",IFCRELDECOMPOSES,4,true],["Decomposes",IFCRELDECOMPOSES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDefinedBy",IFCRELDEFINES,4,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true],["HasStructuralMember",IFCRELCONNECTSSTRUCTURALELEMENT,4,true],["FillsVoids",IFCRELFILLSELEMENT,5,true],["ConnectedTo",IFCRELCONNECTSELEMENTS,5,true],["HasCoverings",IFCRELCOVERSBLDGELEMENTS,4,true],["HasProjections",IFCRELPROJECTSELEMENT,4,true],["ReferencedInStructures",IFCRELREFERENCEDINSPATIALSTRUCTURE,4,true],["HasPorts",IFCRELCONNECTSPORTTOELEMENT,5,true],["HasOpenings",IFCRELVOIDSELEMENT,4,true],["IsConnectionRealization",IFCRELCONNECTSWITHREALIZINGELEMENTS,7,true],["ProvidesBoundaries",IFCRELSPACEBOUNDARY,5,true],["ConnectedFrom",IFCRELCONNECTSELEMENTS,6,true],["ContainedInStructure",IFCRELCONTAINEDINSPATIALSTRUCTURE,4,true]],2635815018:[["HasAssignments",IFCRELASSIGNS,4,true],["IsDecomposedBy",IFCRELDECOMPOSES,4,true],["Decomposes",IFCRELDECOMPOSES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["ObjectTypeOf",IFCRELDEFINESBYTYPE,5,true]],1599208980:[["HasAssignments",IFCRELASSIGNS,4,true],["IsDecomposedBy",IFCRELDECOMPOSES,4,true],["Decomposes",IFCRELDECOMPOSES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["ObjectTypeOf",IFCRELDEFINESBYTYPE,5,true]],2063403501:[["HasAssignments",IFCRELASSIGNS,4,true],["IsDecomposedBy",IFCRELDECOMPOSES,4,true],["Decomposes",IFCRELDECOMPOSES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["ObjectTypeOf",IFCRELDEFINESBYTYPE,5,true]],1945004755:[["HasAssignments",IFCRELASSIGNS,4,true],["IsDecomposedBy",IFCRELDECOMPOSES,4,true],["Decomposes",IFCRELDECOMPOSES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDefinedBy",IFCRELDEFINES,4,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true],["HasStructuralMember",IFCRELCONNECTSSTRUCTURALELEMENT,4,true],["FillsVoids",IFCRELFILLSELEMENT,5,true],["ConnectedTo",IFCRELCONNECTSELEMENTS,5,true],["HasCoverings",IFCRELCOVERSBLDGELEMENTS,4,true],["HasProjections",IFCRELPROJECTSELEMENT,4,true],["ReferencedInStructures",IFCRELREFERENCEDINSPATIALSTRUCTURE,4,true],["HasPorts",IFCRELCONNECTSPORTTOELEMENT,5,true],["HasOpenings",IFCRELVOIDSELEMENT,4,true],["IsConnectionRealization",IFCRELCONNECTSWITHREALIZINGELEMENTS,7,true],["ProvidesBoundaries",IFCRELSPACEBOUNDARY,5,true],["ConnectedFrom",IFCRELCONNECTSELEMENTS,6,true],["ContainedInStructure",IFCRELCONTAINEDINSPATIALSTRUCTURE,4,true]],3040386961:[["HasAssignments",IFCRELASSIGNS,4,true],["IsDecomposedBy",IFCRELDECOMPOSES,4,true],["Decomposes",IFCRELDECOMPOSES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDefinedBy",IFCRELDEFINES,4,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true],["HasStructuralMember",IFCRELCONNECTSSTRUCTURALELEMENT,4,true],["FillsVoids",IFCRELFILLSELEMENT,5,true],["ConnectedTo",IFCRELCONNECTSELEMENTS,5,true],["HasCoverings",IFCRELCOVERSBLDGELEMENTS,4,true],["HasProjections",IFCRELPROJECTSELEMENT,4,true],["ReferencedInStructures",IFCRELREFERENCEDINSPATIALSTRUCTURE,4,true],["HasPorts",IFCRELCONNECTSPORTTOELEMENT,5,true],["HasOpenings",IFCRELVOIDSELEMENT,4,true],["IsConnectionRealization",IFCRELCONNECTSWITHREALIZINGELEMENTS,7,true],["ProvidesBoundaries",IFCRELSPACEBOUNDARY,5,true],["ConnectedFrom",IFCRELCONNECTSELEMENTS,6,true],["ContainedInStructure",IFCRELCONTAINEDINSPATIALSTRUCTURE,4,true],["HasControlElements",IFCRELFLOWCONTROLELEMENTS,5,true]],3041715199:[["HasAssignments",IFCRELASSIGNS,4,true],["IsDecomposedBy",IFCRELDECOMPOSES,4,true],["Decomposes",IFCRELDECOMPOSES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDefinedBy",IFCRELDEFINES,4,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true],["ContainedIn",IFCRELCONNECTSPORTTOELEMENT,4,false],["ConnectedFrom",IFCRELCONNECTSPORTS,5,true],["ConnectedTo",IFCRELCONNECTSPORTS,4,true]],395920057:[["HasAssignments",IFCRELASSIGNS,4,true],["IsDecomposedBy",IFCRELDECOMPOSES,4,true],["Decomposes",IFCRELDECOMPOSES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDefinedBy",IFCRELDEFINES,4,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true],["HasStructuralMember",IFCRELCONNECTSSTRUCTURALELEMENT,4,true],["FillsVoids",IFCRELFILLSELEMENT,5,true],["ConnectedTo",IFCRELCONNECTSELEMENTS,5,true],["HasCoverings",IFCRELCOVERSBLDGELEMENTS,4,true],["HasProjections",IFCRELPROJECTSELEMENT,4,true],["ReferencedInStructures",IFCRELREFERENCEDINSPATIALSTRUCTURE,4,true],["HasPorts",IFCRELCONNECTSPORTTOELEMENT,5,true],["HasOpenings",IFCRELVOIDSELEMENT,4,true],["IsConnectionRealization",IFCRELCONNECTSWITHREALIZINGELEMENTS,7,true],["ProvidesBoundaries",IFCRELSPACEBOUNDARY,5,true],["ConnectedFrom",IFCRELCONNECTSELEMENTS,6,true],["ContainedInStructure",IFCRELCONTAINEDINSPATIALSTRUCTURE,4,true]],869906466:[["HasAssignments",IFCRELASSIGNS,4,true],["IsDecomposedBy",IFCRELDECOMPOSES,4,true],["Decomposes",IFCRELDECOMPOSES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["ObjectTypeOf",IFCRELDEFINESBYTYPE,5,true]],3760055223:[["HasAssignments",IFCRELASSIGNS,4,true],["IsDecomposedBy",IFCRELDECOMPOSES,4,true],["Decomposes",IFCRELDECOMPOSES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["ObjectTypeOf",IFCRELDEFINESBYTYPE,5,true]],2030761528:[["HasAssignments",IFCRELASSIGNS,4,true],["IsDecomposedBy",IFCRELDECOMPOSES,4,true],["Decomposes",IFCRELDECOMPOSES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["ObjectTypeOf",IFCRELDEFINESBYTYPE,5,true]],855621170:[["HasAssignments",IFCRELASSIGNS,4,true],["IsDecomposedBy",IFCRELDECOMPOSES,4,true],["Decomposes",IFCRELDECOMPOSES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDefinedBy",IFCRELDEFINES,4,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true],["HasStructuralMember",IFCRELCONNECTSSTRUCTURALELEMENT,4,true],["FillsVoids",IFCRELFILLSELEMENT,5,true],["ConnectedTo",IFCRELCONNECTSELEMENTS,5,true],["HasCoverings",IFCRELCOVERSBLDGELEMENTS,4,true],["HasProjections",IFCRELPROJECTSELEMENT,4,true],["ReferencedInStructures",IFCRELREFERENCEDINSPATIALSTRUCTURE,4,true],["HasPorts",IFCRELCONNECTSPORTTOELEMENT,5,true],["HasOpenings",IFCRELVOIDSELEMENT,4,true],["IsConnectionRealization",IFCRELCONNECTSWITHREALIZINGELEMENTS,7,true],["ProvidesBoundaries",IFCRELSPACEBOUNDARY,5,true],["ConnectedFrom",IFCRELCONNECTSELEMENTS,6,true],["ContainedInStructure",IFCRELCONTAINEDINSPATIALSTRUCTURE,4,true],["VoidsElements",IFCRELVOIDSELEMENT,5,false]],663422040:[["HasAssignments",IFCRELASSIGNS,4,true],["IsDecomposedBy",IFCRELDECOMPOSES,4,true],["Decomposes",IFCRELDECOMPOSES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["ObjectTypeOf",IFCRELDEFINESBYTYPE,5,true]],3277789161:[["HasAssignments",IFCRELASSIGNS,4,true],["IsDecomposedBy",IFCRELDECOMPOSES,4,true],["Decomposes",IFCRELDECOMPOSES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["ObjectTypeOf",IFCRELDEFINESBYTYPE,5,true]],1534661035:[["HasAssignments",IFCRELASSIGNS,4,true],["IsDecomposedBy",IFCRELDECOMPOSES,4,true],["Decomposes",IFCRELDECOMPOSES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["ObjectTypeOf",IFCRELDEFINESBYTYPE,5,true]],1365060375:[["HasAssignments",IFCRELASSIGNS,4,true],["IsDecomposedBy",IFCRELDECOMPOSES,4,true],["Decomposes",IFCRELDECOMPOSES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["ObjectTypeOf",IFCRELDEFINESBYTYPE,5,true]],1217240411:[["HasAssignments",IFCRELASSIGNS,4,true],["IsDecomposedBy",IFCRELDECOMPOSES,4,true],["Decomposes",IFCRELDECOMPOSES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["ObjectTypeOf",IFCRELDEFINESBYTYPE,5,true]],712377611:[["HasAssignments",IFCRELASSIGNS,4,true],["IsDecomposedBy",IFCRELDECOMPOSES,4,true],["Decomposes",IFCRELDECOMPOSES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["ObjectTypeOf",IFCRELDEFINESBYTYPE,5,true]],1634875225:[["HasAssignments",IFCRELASSIGNS,4,true],["IsDecomposedBy",IFCRELDECOMPOSES,4,true],["Decomposes",IFCRELDECOMPOSES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDefinedBy",IFCRELDEFINES,4,true],["IsGroupedBy",IFCRELASSIGNSTOGROUP,6,false],["ServicesBuildings",IFCRELSERVICESBUILDINGS,4,true]],857184966:[["HasAssignments",IFCRELASSIGNS,4,true],["IsDecomposedBy",IFCRELDECOMPOSES,4,true],["Decomposes",IFCRELDECOMPOSES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDefinedBy",IFCRELDEFINES,4,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true],["HasStructuralMember",IFCRELCONNECTSSTRUCTURALELEMENT,4,true],["FillsVoids",IFCRELFILLSELEMENT,5,true],["ConnectedTo",IFCRELCONNECTSELEMENTS,5,true],["HasCoverings",IFCRELCOVERSBLDGELEMENTS,4,true],["HasProjections",IFCRELPROJECTSELEMENT,4,true],["ReferencedInStructures",IFCRELREFERENCEDINSPATIALSTRUCTURE,4,true],["HasPorts",IFCRELCONNECTSPORTTOELEMENT,5,true],["HasOpenings",IFCRELVOIDSELEMENT,4,true],["IsConnectionRealization",IFCRELCONNECTSWITHREALIZINGELEMENTS,7,true],["ProvidesBoundaries",IFCRELSPACEBOUNDARY,5,true],["ConnectedFrom",IFCRELCONNECTSELEMENTS,6,true],["ContainedInStructure",IFCRELCONTAINEDINSPATIALSTRUCTURE,4,true]],1658829314:[["HasAssignments",IFCRELASSIGNS,4,true],["IsDecomposedBy",IFCRELDECOMPOSES,4,true],["Decomposes",IFCRELDECOMPOSES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDefinedBy",IFCRELDEFINES,4,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true],["HasStructuralMember",IFCRELCONNECTSSTRUCTURALELEMENT,4,true],["FillsVoids",IFCRELFILLSELEMENT,5,true],["ConnectedTo",IFCRELCONNECTSELEMENTS,5,true],["HasCoverings",IFCRELCOVERSBLDGELEMENTS,4,true],["HasProjections",IFCRELPROJECTSELEMENT,4,true],["ReferencedInStructures",IFCRELREFERENCEDINSPATIALSTRUCTURE,4,true],["HasPorts",IFCRELCONNECTSPORTTOELEMENT,5,true],["HasOpenings",IFCRELVOIDSELEMENT,4,true],["IsConnectionRealization",IFCRELCONNECTSWITHREALIZINGELEMENTS,7,true],["ProvidesBoundaries",IFCRELSPACEBOUNDARY,5,true],["ConnectedFrom",IFCRELCONNECTSELEMENTS,6,true],["ContainedInStructure",IFCRELCONTAINEDINSPATIALSTRUCTURE,4,true],["HasControlElements",IFCRELFLOWCONTROLELEMENTS,5,true]],346874300:[["HasAssignments",IFCRELASSIGNS,4,true],["IsDecomposedBy",IFCRELDECOMPOSES,4,true],["Decomposes",IFCRELDECOMPOSES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["ObjectTypeOf",IFCRELDEFINESBYTYPE,5,true]],1810631287:[["HasAssignments",IFCRELASSIGNS,4,true],["IsDecomposedBy",IFCRELDECOMPOSES,4,true],["Decomposes",IFCRELDECOMPOSES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["ObjectTypeOf",IFCRELDEFINESBYTYPE,5,true]],4222183408:[["HasAssignments",IFCRELASSIGNS,4,true],["IsDecomposedBy",IFCRELDECOMPOSES,4,true],["Decomposes",IFCRELDECOMPOSES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["ObjectTypeOf",IFCRELDEFINESBYTYPE,5,true]],2058353004:[["HasAssignments",IFCRELASSIGNS,4,true],["IsDecomposedBy",IFCRELDECOMPOSES,4,true],["Decomposes",IFCRELDECOMPOSES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDefinedBy",IFCRELDEFINES,4,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true],["HasStructuralMember",IFCRELCONNECTSSTRUCTURALELEMENT,4,true],["FillsVoids",IFCRELFILLSELEMENT,5,true],["ConnectedTo",IFCRELCONNECTSELEMENTS,5,true],["HasCoverings",IFCRELCOVERSBLDGELEMENTS,4,true],["HasProjections",IFCRELPROJECTSELEMENT,4,true],["ReferencedInStructures",IFCRELREFERENCEDINSPATIALSTRUCTURE,4,true],["HasPorts",IFCRELCONNECTSPORTTOELEMENT,5,true],["HasOpenings",IFCRELVOIDSELEMENT,4,true],["IsConnectionRealization",IFCRELCONNECTSWITHREALIZINGELEMENTS,7,true],["ProvidesBoundaries",IFCRELSPACEBOUNDARY,5,true],["ConnectedFrom",IFCRELCONNECTSELEMENTS,6,true],["ContainedInStructure",IFCRELCONTAINEDINSPATIALSTRUCTURE,4,true],["HasControlElements",IFCRELFLOWCONTROLELEMENTS,5,true]],4278956645:[["HasAssignments",IFCRELASSIGNS,4,true],["IsDecomposedBy",IFCRELDECOMPOSES,4,true],["Decomposes",IFCRELDECOMPOSES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDefinedBy",IFCRELDEFINES,4,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true],["HasStructuralMember",IFCRELCONNECTSSTRUCTURALELEMENT,4,true],["FillsVoids",IFCRELFILLSELEMENT,5,true],["ConnectedTo",IFCRELCONNECTSELEMENTS,5,true],["HasCoverings",IFCRELCOVERSBLDGELEMENTS,4,true],["HasProjections",IFCRELPROJECTSELEMENT,4,true],["ReferencedInStructures",IFCRELREFERENCEDINSPATIALSTRUCTURE,4,true],["HasPorts",IFCRELCONNECTSPORTTOELEMENT,5,true],["HasOpenings",IFCRELVOIDSELEMENT,4,true],["IsConnectionRealization",IFCRELCONNECTSWITHREALIZINGELEMENTS,7,true],["ProvidesBoundaries",IFCRELSPACEBOUNDARY,5,true],["ConnectedFrom",IFCRELCONNECTSELEMENTS,6,true],["ContainedInStructure",IFCRELCONTAINEDINSPATIALSTRUCTURE,4,true],["HasControlElements",IFCRELFLOWCONTROLELEMENTS,5,true]],4037862832:[["HasAssignments",IFCRELASSIGNS,4,true],["IsDecomposedBy",IFCRELDECOMPOSES,4,true],["Decomposes",IFCRELDECOMPOSES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["ObjectTypeOf",IFCRELDEFINESBYTYPE,5,true]],3132237377:[["HasAssignments",IFCRELASSIGNS,4,true],["IsDecomposedBy",IFCRELDECOMPOSES,4,true],["Decomposes",IFCRELDECOMPOSES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDefinedBy",IFCRELDEFINES,4,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true],["HasStructuralMember",IFCRELCONNECTSSTRUCTURALELEMENT,4,true],["FillsVoids",IFCRELFILLSELEMENT,5,true],["ConnectedTo",IFCRELCONNECTSELEMENTS,5,true],["HasCoverings",IFCRELCOVERSBLDGELEMENTS,4,true],["HasProjections",IFCRELPROJECTSELEMENT,4,true],["ReferencedInStructures",IFCRELREFERENCEDINSPATIALSTRUCTURE,4,true],["HasPorts",IFCRELCONNECTSPORTTOELEMENT,5,true],["HasOpenings",IFCRELVOIDSELEMENT,4,true],["IsConnectionRealization",IFCRELCONNECTSWITHREALIZINGELEMENTS,7,true],["ProvidesBoundaries",IFCRELSPACEBOUNDARY,5,true],["ConnectedFrom",IFCRELCONNECTSELEMENTS,6,true],["ContainedInStructure",IFCRELCONTAINEDINSPATIALSTRUCTURE,4,true],["HasControlElements",IFCRELFLOWCONTROLELEMENTS,5,true]],987401354:[["HasAssignments",IFCRELASSIGNS,4,true],["IsDecomposedBy",IFCRELDECOMPOSES,4,true],["Decomposes",IFCRELDECOMPOSES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDefinedBy",IFCRELDEFINES,4,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true],["HasStructuralMember",IFCRELCONNECTSSTRUCTURALELEMENT,4,true],["FillsVoids",IFCRELFILLSELEMENT,5,true],["ConnectedTo",IFCRELCONNECTSELEMENTS,5,true],["HasCoverings",IFCRELCOVERSBLDGELEMENTS,4,true],["HasProjections",IFCRELPROJECTSELEMENT,4,true],["ReferencedInStructures",IFCRELREFERENCEDINSPATIALSTRUCTURE,4,true],["HasPorts",IFCRELCONNECTSPORTTOELEMENT,5,true],["HasOpenings",IFCRELVOIDSELEMENT,4,true],["IsConnectionRealization",IFCRELCONNECTSWITHREALIZINGELEMENTS,7,true],["ProvidesBoundaries",IFCRELSPACEBOUNDARY,5,true],["ConnectedFrom",IFCRELCONNECTSELEMENTS,6,true],["ContainedInStructure",IFCRELCONTAINEDINSPATIALSTRUCTURE,4,true],["HasControlElements",IFCRELFLOWCONTROLELEMENTS,5,true]],707683696:[["HasAssignments",IFCRELASSIGNS,4,true],["IsDecomposedBy",IFCRELDECOMPOSES,4,true],["Decomposes",IFCRELDECOMPOSES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDefinedBy",IFCRELDEFINES,4,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true],["HasStructuralMember",IFCRELCONNECTSSTRUCTURALELEMENT,4,true],["FillsVoids",IFCRELFILLSELEMENT,5,true],["ConnectedTo",IFCRELCONNECTSELEMENTS,5,true],["HasCoverings",IFCRELCOVERSBLDGELEMENTS,4,true],["HasProjections",IFCRELPROJECTSELEMENT,4,true],["ReferencedInStructures",IFCRELREFERENCEDINSPATIALSTRUCTURE,4,true],["HasPorts",IFCRELCONNECTSPORTTOELEMENT,5,true],["HasOpenings",IFCRELVOIDSELEMENT,4,true],["IsConnectionRealization",IFCRELCONNECTSWITHREALIZINGELEMENTS,7,true],["ProvidesBoundaries",IFCRELSPACEBOUNDARY,5,true],["ConnectedFrom",IFCRELCONNECTSELEMENTS,6,true],["ContainedInStructure",IFCRELCONTAINEDINSPATIALSTRUCTURE,4,true],["HasControlElements",IFCRELFLOWCONTROLELEMENTS,5,true]],2223149337:[["HasAssignments",IFCRELASSIGNS,4,true],["IsDecomposedBy",IFCRELDECOMPOSES,4,true],["Decomposes",IFCRELDECOMPOSES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDefinedBy",IFCRELDEFINES,4,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true],["HasStructuralMember",IFCRELCONNECTSSTRUCTURALELEMENT,4,true],["FillsVoids",IFCRELFILLSELEMENT,5,true],["ConnectedTo",IFCRELCONNECTSELEMENTS,5,true],["HasCoverings",IFCRELCOVERSBLDGELEMENTS,4,true],["HasProjections",IFCRELPROJECTSELEMENT,4,true],["ReferencedInStructures",IFCRELREFERENCEDINSPATIALSTRUCTURE,4,true],["HasPorts",IFCRELCONNECTSPORTTOELEMENT,5,true],["HasOpenings",IFCRELVOIDSELEMENT,4,true],["IsConnectionRealization",IFCRELCONNECTSWITHREALIZINGELEMENTS,7,true],["ProvidesBoundaries",IFCRELSPACEBOUNDARY,5,true],["ConnectedFrom",IFCRELCONNECTSELEMENTS,6,true],["ContainedInStructure",IFCRELCONTAINEDINSPATIALSTRUCTURE,4,true],["HasControlElements",IFCRELFLOWCONTROLELEMENTS,5,true]],3508470533:[["HasAssignments",IFCRELASSIGNS,4,true],["IsDecomposedBy",IFCRELDECOMPOSES,4,true],["Decomposes",IFCRELDECOMPOSES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDefinedBy",IFCRELDEFINES,4,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true],["HasStructuralMember",IFCRELCONNECTSSTRUCTURALELEMENT,4,true],["FillsVoids",IFCRELFILLSELEMENT,5,true],["ConnectedTo",IFCRELCONNECTSELEMENTS,5,true],["HasCoverings",IFCRELCOVERSBLDGELEMENTS,4,true],["HasProjections",IFCRELPROJECTSELEMENT,4,true],["ReferencedInStructures",IFCRELREFERENCEDINSPATIALSTRUCTURE,4,true],["HasPorts",IFCRELCONNECTSPORTTOELEMENT,5,true],["HasOpenings",IFCRELVOIDSELEMENT,4,true],["IsConnectionRealization",IFCRELCONNECTSWITHREALIZINGELEMENTS,7,true],["ProvidesBoundaries",IFCRELSPACEBOUNDARY,5,true],["ConnectedFrom",IFCRELCONNECTSELEMENTS,6,true],["ContainedInStructure",IFCRELCONTAINEDINSPATIALSTRUCTURE,4,true],["HasControlElements",IFCRELFLOWCONTROLELEMENTS,5,true]],900683007:[["HasAssignments",IFCRELASSIGNS,4,true],["IsDecomposedBy",IFCRELDECOMPOSES,4,true],["Decomposes",IFCRELDECOMPOSES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDefinedBy",IFCRELDEFINES,4,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true],["HasStructuralMember",IFCRELCONNECTSSTRUCTURALELEMENT,4,true],["FillsVoids",IFCRELFILLSELEMENT,5,true],["ConnectedTo",IFCRELCONNECTSELEMENTS,5,true],["HasCoverings",IFCRELCOVERSBLDGELEMENTS,4,true],["HasProjections",IFCRELPROJECTSELEMENT,4,true],["ReferencedInStructures",IFCRELREFERENCEDINSPATIALSTRUCTURE,4,true],["HasPorts",IFCRELCONNECTSPORTTOELEMENT,5,true],["HasOpenings",IFCRELVOIDSELEMENT,4,true],["IsConnectionRealization",IFCRELCONNECTSWITHREALIZINGELEMENTS,7,true],["ProvidesBoundaries",IFCRELSPACEBOUNDARY,5,true],["ConnectedFrom",IFCRELCONNECTSELEMENTS,6,true],["ContainedInStructure",IFCRELCONTAINEDINSPATIALSTRUCTURE,4,true]],1073191201:[["HasAssignments",IFCRELASSIGNS,4,true],["IsDecomposedBy",IFCRELDECOMPOSES,4,true],["Decomposes",IFCRELDECOMPOSES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDefinedBy",IFCRELDEFINES,4,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true],["HasStructuralMember",IFCRELCONNECTSSTRUCTURALELEMENT,4,true],["FillsVoids",IFCRELFILLSELEMENT,5,true],["ConnectedTo",IFCRELCONNECTSELEMENTS,5,true],["HasCoverings",IFCRELCOVERSBLDGELEMENTS,4,true],["HasProjections",IFCRELPROJECTSELEMENT,4,true],["ReferencedInStructures",IFCRELREFERENCEDINSPATIALSTRUCTURE,4,true],["HasPorts",IFCRELCONNECTSPORTTOELEMENT,5,true],["HasOpenings",IFCRELVOIDSELEMENT,4,true],["IsConnectionRealization",IFCRELCONNECTSWITHREALIZINGELEMENTS,7,true],["ProvidesBoundaries",IFCRELSPACEBOUNDARY,5,true],["ConnectedFrom",IFCRELCONNECTSELEMENTS,6,true],["ContainedInStructure",IFCRELCONTAINEDINSPATIALSTRUCTURE,4,true]],1687234759:[["HasAssignments",IFCRELASSIGNS,4,true],["IsDecomposedBy",IFCRELDECOMPOSES,4,true],["Decomposes",IFCRELDECOMPOSES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDefinedBy",IFCRELDEFINES,4,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true],["HasStructuralMember",IFCRELCONNECTSSTRUCTURALELEMENT,4,true],["FillsVoids",IFCRELFILLSELEMENT,5,true],["ConnectedTo",IFCRELCONNECTSELEMENTS,5,true],["HasCoverings",IFCRELCOVERSBLDGELEMENTS,4,true],["HasProjections",IFCRELPROJECTSELEMENT,4,true],["ReferencedInStructures",IFCRELREFERENCEDINSPATIALSTRUCTURE,4,true],["HasPorts",IFCRELCONNECTSPORTTOELEMENT,5,true],["HasOpenings",IFCRELVOIDSELEMENT,4,true],["IsConnectionRealization",IFCRELCONNECTSWITHREALIZINGELEMENTS,7,true],["ProvidesBoundaries",IFCRELSPACEBOUNDARY,5,true],["ConnectedFrom",IFCRELCONNECTSELEMENTS,6,true],["ContainedInStructure",IFCRELCONTAINEDINSPATIALSTRUCTURE,4,true]],3171933400:[["HasAssignments",IFCRELASSIGNS,4,true],["IsDecomposedBy",IFCRELDECOMPOSES,4,true],["Decomposes",IFCRELDECOMPOSES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDefinedBy",IFCRELDEFINES,4,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true],["HasStructuralMember",IFCRELCONNECTSSTRUCTURALELEMENT,4,true],["FillsVoids",IFCRELFILLSELEMENT,5,true],["ConnectedTo",IFCRELCONNECTSELEMENTS,5,true],["HasCoverings",IFCRELCOVERSBLDGELEMENTS,4,true],["HasProjections",IFCRELPROJECTSELEMENT,4,true],["ReferencedInStructures",IFCRELREFERENCEDINSPATIALSTRUCTURE,4,true],["HasPorts",IFCRELCONNECTSPORTTOELEMENT,5,true],["HasOpenings",IFCRELVOIDSELEMENT,4,true],["IsConnectionRealization",IFCRELCONNECTSWITHREALIZINGELEMENTS,7,true],["ProvidesBoundaries",IFCRELSPACEBOUNDARY,5,true],["ConnectedFrom",IFCRELCONNECTSELEMENTS,6,true],["ContainedInStructure",IFCRELCONTAINEDINSPATIALSTRUCTURE,4,true]],2262370178:[["HasAssignments",IFCRELASSIGNS,4,true],["IsDecomposedBy",IFCRELDECOMPOSES,4,true],["Decomposes",IFCRELDECOMPOSES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDefinedBy",IFCRELDEFINES,4,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true],["HasStructuralMember",IFCRELCONNECTSSTRUCTURALELEMENT,4,true],["FillsVoids",IFCRELFILLSELEMENT,5,true],["ConnectedTo",IFCRELCONNECTSELEMENTS,5,true],["HasCoverings",IFCRELCOVERSBLDGELEMENTS,4,true],["HasProjections",IFCRELPROJECTSELEMENT,4,true],["ReferencedInStructures",IFCRELREFERENCEDINSPATIALSTRUCTURE,4,true],["HasPorts",IFCRELCONNECTSPORTTOELEMENT,5,true],["HasOpenings",IFCRELVOIDSELEMENT,4,true],["IsConnectionRealization",IFCRELCONNECTSWITHREALIZINGELEMENTS,7,true],["ProvidesBoundaries",IFCRELSPACEBOUNDARY,5,true],["ConnectedFrom",IFCRELCONNECTSELEMENTS,6,true],["ContainedInStructure",IFCRELCONTAINEDINSPATIALSTRUCTURE,4,true]],3024970846:[["HasAssignments",IFCRELASSIGNS,4,true],["IsDecomposedBy",IFCRELDECOMPOSES,4,true],["Decomposes",IFCRELDECOMPOSES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDefinedBy",IFCRELDEFINES,4,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true],["HasStructuralMember",IFCRELCONNECTSSTRUCTURALELEMENT,4,true],["FillsVoids",IFCRELFILLSELEMENT,5,true],["ConnectedTo",IFCRELCONNECTSELEMENTS,5,true],["HasCoverings",IFCRELCOVERSBLDGELEMENTS,4,true],["HasProjections",IFCRELPROJECTSELEMENT,4,true],["ReferencedInStructures",IFCRELREFERENCEDINSPATIALSTRUCTURE,4,true],["HasPorts",IFCRELCONNECTSPORTTOELEMENT,5,true],["HasOpenings",IFCRELVOIDSELEMENT,4,true],["IsConnectionRealization",IFCRELCONNECTSWITHREALIZINGELEMENTS,7,true],["ProvidesBoundaries",IFCRELSPACEBOUNDARY,5,true],["ConnectedFrom",IFCRELCONNECTSELEMENTS,6,true],["ContainedInStructure",IFCRELCONTAINEDINSPATIALSTRUCTURE,4,true]],3283111854:[["HasAssignments",IFCRELASSIGNS,4,true],["IsDecomposedBy",IFCRELDECOMPOSES,4,true],["Decomposes",IFCRELDECOMPOSES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDefinedBy",IFCRELDEFINES,4,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true],["HasStructuralMember",IFCRELCONNECTSSTRUCTURALELEMENT,4,true],["FillsVoids",IFCRELFILLSELEMENT,5,true],["ConnectedTo",IFCRELCONNECTSELEMENTS,5,true],["HasCoverings",IFCRELCOVERSBLDGELEMENTS,4,true],["HasProjections",IFCRELPROJECTSELEMENT,4,true],["ReferencedInStructures",IFCRELREFERENCEDINSPATIALSTRUCTURE,4,true],["HasPorts",IFCRELCONNECTSPORTTOELEMENT,5,true],["HasOpenings",IFCRELVOIDSELEMENT,4,true],["IsConnectionRealization",IFCRELCONNECTSWITHREALIZINGELEMENTS,7,true],["ProvidesBoundaries",IFCRELSPACEBOUNDARY,5,true],["ConnectedFrom",IFCRELCONNECTSELEMENTS,6,true],["ContainedInStructure",IFCRELCONTAINEDINSPATIALSTRUCTURE,4,true]],3055160366:[["LayerAssignments",IFCPRESENTATIONLAYERASSIGNMENT,2,true],["StyledByItem",IFCSTYLEDITEM,0,true]],3027567501:[["HasAssignments",IFCRELASSIGNS,4,true],["IsDecomposedBy",IFCRELDECOMPOSES,4,true],["Decomposes",IFCRELDECOMPOSES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDefinedBy",IFCRELDEFINES,4,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true],["HasStructuralMember",IFCRELCONNECTSSTRUCTURALELEMENT,4,true],["FillsVoids",IFCRELFILLSELEMENT,5,true],["ConnectedTo",IFCRELCONNECTSELEMENTS,5,true],["HasCoverings",IFCRELCOVERSBLDGELEMENTS,4,true],["HasProjections",IFCRELPROJECTSELEMENT,4,true],["ReferencedInStructures",IFCRELREFERENCEDINSPATIALSTRUCTURE,4,true],["HasPorts",IFCRELCONNECTSPORTTOELEMENT,5,true],["HasOpenings",IFCRELVOIDSELEMENT,4,true],["IsConnectionRealization",IFCRELCONNECTSWITHREALIZINGELEMENTS,7,true],["ProvidesBoundaries",IFCRELSPACEBOUNDARY,5,true],["ConnectedFrom",IFCRELCONNECTSELEMENTS,6,true],["ContainedInStructure",IFCRELCONTAINEDINSPATIALSTRUCTURE,4,true]],2320036040:[["HasAssignments",IFCRELASSIGNS,4,true],["IsDecomposedBy",IFCRELDECOMPOSES,4,true],["Decomposes",IFCRELDECOMPOSES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDefinedBy",IFCRELDEFINES,4,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true],["HasStructuralMember",IFCRELCONNECTSSTRUCTURALELEMENT,4,true],["FillsVoids",IFCRELFILLSELEMENT,5,true],["ConnectedTo",IFCRELCONNECTSELEMENTS,5,true],["HasCoverings",IFCRELCOVERSBLDGELEMENTS,4,true],["HasProjections",IFCRELPROJECTSELEMENT,4,true],["ReferencedInStructures",IFCRELREFERENCEDINSPATIALSTRUCTURE,4,true],["HasPorts",IFCRELCONNECTSPORTTOELEMENT,5,true],["HasOpenings",IFCRELVOIDSELEMENT,4,true],["IsConnectionRealization",IFCRELCONNECTSWITHREALIZINGELEMENTS,7,true],["ProvidesBoundaries",IFCRELSPACEBOUNDARY,5,true],["ConnectedFrom",IFCRELCONNECTSELEMENTS,6,true],["ContainedInStructure",IFCRELCONTAINEDINSPATIALSTRUCTURE,4,true]],2016517767:[["HasAssignments",IFCRELASSIGNS,4,true],["IsDecomposedBy",IFCRELDECOMPOSES,4,true],["Decomposes",IFCRELDECOMPOSES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDefinedBy",IFCRELDEFINES,4,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true],["HasStructuralMember",IFCRELCONNECTSSTRUCTURALELEMENT,4,true],["FillsVoids",IFCRELFILLSELEMENT,5,true],["ConnectedTo",IFCRELCONNECTSELEMENTS,5,true],["HasCoverings",IFCRELCOVERSBLDGELEMENTS,4,true],["HasProjections",IFCRELPROJECTSELEMENT,4,true],["ReferencedInStructures",IFCRELREFERENCEDINSPATIALSTRUCTURE,4,true],["HasPorts",IFCRELCONNECTSPORTTOELEMENT,5,true],["HasOpenings",IFCRELVOIDSELEMENT,4,true],["IsConnectionRealization",IFCRELCONNECTSWITHREALIZINGELEMENTS,7,true],["ProvidesBoundaries",IFCRELSPACEBOUNDARY,5,true],["ConnectedFrom",IFCRELCONNECTSELEMENTS,6,true],["ContainedInStructure",IFCRELCONTAINEDINSPATIALSTRUCTURE,4,true]],1376911519:[["HasAssignments",IFCRELASSIGNS,4,true],["IsDecomposedBy",IFCRELDECOMPOSES,4,true],["Decomposes",IFCRELDECOMPOSES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDefinedBy",IFCRELDEFINES,4,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true],["HasStructuralMember",IFCRELCONNECTSSTRUCTURALELEMENT,4,true],["FillsVoids",IFCRELFILLSELEMENT,5,true],["ConnectedTo",IFCRELCONNECTSELEMENTS,5,true],["HasCoverings",IFCRELCOVERSBLDGELEMENTS,4,true],["HasProjections",IFCRELPROJECTSELEMENT,4,true],["ReferencedInStructures",IFCRELREFERENCEDINSPATIALSTRUCTURE,4,true],["HasPorts",IFCRELCONNECTSPORTTOELEMENT,5,true],["HasOpenings",IFCRELVOIDSELEMENT,4,true],["IsConnectionRealization",IFCRELCONNECTSWITHREALIZINGELEMENTS,7,true],["ProvidesBoundaries",IFCRELSPACEBOUNDARY,5,true],["ConnectedFrom",IFCRELCONNECTSELEMENTS,6,true],["ContainedInStructure",IFCRELCONTAINEDINSPATIALSTRUCTURE,4,true],["VoidsElements",IFCRELVOIDSELEMENT,5,false]],1783015770:[["HasAssignments",IFCRELASSIGNS,4,true],["IsDecomposedBy",IFCRELDECOMPOSES,4,true],["Decomposes",IFCRELDECOMPOSES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["ObjectTypeOf",IFCRELDEFINESBYTYPE,5,true]],1529196076:[["HasAssignments",IFCRELASSIGNS,4,true],["IsDecomposedBy",IFCRELDECOMPOSES,4,true],["Decomposes",IFCRELDECOMPOSES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDefinedBy",IFCRELDEFINES,4,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true],["HasStructuralMember",IFCRELCONNECTSSTRUCTURALELEMENT,4,true],["FillsVoids",IFCRELFILLSELEMENT,5,true],["ConnectedTo",IFCRELCONNECTSELEMENTS,5,true],["HasCoverings",IFCRELCOVERSBLDGELEMENTS,4,true],["HasProjections",IFCRELPROJECTSELEMENT,4,true],["ReferencedInStructures",IFCRELREFERENCEDINSPATIALSTRUCTURE,4,true],["HasPorts",IFCRELCONNECTSPORTTOELEMENT,5,true],["HasOpenings",IFCRELVOIDSELEMENT,4,true],["IsConnectionRealization",IFCRELCONNECTSWITHREALIZINGELEMENTS,7,true],["ProvidesBoundaries",IFCRELSPACEBOUNDARY,5,true],["ConnectedFrom",IFCRELCONNECTSELEMENTS,6,true],["ContainedInStructure",IFCRELCONTAINEDINSPATIALSTRUCTURE,4,true]],331165859:[["HasAssignments",IFCRELASSIGNS,4,true],["IsDecomposedBy",IFCRELDECOMPOSES,4,true],["Decomposes",IFCRELDECOMPOSES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDefinedBy",IFCRELDEFINES,4,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true],["HasStructuralMember",IFCRELCONNECTSSTRUCTURALELEMENT,4,true],["FillsVoids",IFCRELFILLSELEMENT,5,true],["ConnectedTo",IFCRELCONNECTSELEMENTS,5,true],["HasCoverings",IFCRELCOVERSBLDGELEMENTS,4,true],["HasProjections",IFCRELPROJECTSELEMENT,4,true],["ReferencedInStructures",IFCRELREFERENCEDINSPATIALSTRUCTURE,4,true],["HasPorts",IFCRELCONNECTSPORTTOELEMENT,5,true],["HasOpenings",IFCRELVOIDSELEMENT,4,true],["IsConnectionRealization",IFCRELCONNECTSWITHREALIZINGELEMENTS,7,true],["ProvidesBoundaries",IFCRELSPACEBOUNDARY,5,true],["ConnectedFrom",IFCRELCONNECTSELEMENTS,6,true],["ContainedInStructure",IFCRELCONTAINEDINSPATIALSTRUCTURE,4,true]],4252922144:[["HasAssignments",IFCRELASSIGNS,4,true],["IsDecomposedBy",IFCRELDECOMPOSES,4,true],["Decomposes",IFCRELDECOMPOSES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDefinedBy",IFCRELDEFINES,4,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true],["HasStructuralMember",IFCRELCONNECTSSTRUCTURALELEMENT,4,true],["FillsVoids",IFCRELFILLSELEMENT,5,true],["ConnectedTo",IFCRELCONNECTSELEMENTS,5,true],["HasCoverings",IFCRELCOVERSBLDGELEMENTS,4,true],["HasProjections",IFCRELPROJECTSELEMENT,4,true],["ReferencedInStructures",IFCRELREFERENCEDINSPATIALSTRUCTURE,4,true],["HasPorts",IFCRELCONNECTSPORTTOELEMENT,5,true],["HasOpenings",IFCRELVOIDSELEMENT,4,true],["IsConnectionRealization",IFCRELCONNECTSWITHREALIZINGELEMENTS,7,true],["ProvidesBoundaries",IFCRELSPACEBOUNDARY,5,true],["ConnectedFrom",IFCRELCONNECTSELEMENTS,6,true],["ContainedInStructure",IFCRELCONTAINEDINSPATIALSTRUCTURE,4,true]],2515109513:[["HasAssignments",IFCRELASSIGNS,4,true],["IsDecomposedBy",IFCRELDECOMPOSES,4,true],["Decomposes",IFCRELDECOMPOSES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDefinedBy",IFCRELDEFINES,4,true],["IsGroupedBy",IFCRELASSIGNSTOGROUP,6,false],["ServicesBuildings",IFCRELSERVICESBUILDINGS,4,true]],3824725483:[["HasAssignments",IFCRELASSIGNS,4,true],["IsDecomposedBy",IFCRELDECOMPOSES,4,true],["Decomposes",IFCRELDECOMPOSES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDefinedBy",IFCRELDEFINES,4,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true],["HasStructuralMember",IFCRELCONNECTSSTRUCTURALELEMENT,4,true],["FillsVoids",IFCRELFILLSELEMENT,5,true],["ConnectedTo",IFCRELCONNECTSELEMENTS,5,true],["HasCoverings",IFCRELCOVERSBLDGELEMENTS,4,true],["HasProjections",IFCRELPROJECTSELEMENT,4,true],["ReferencedInStructures",IFCRELREFERENCEDINSPATIALSTRUCTURE,4,true],["HasPorts",IFCRELCONNECTSPORTTOELEMENT,5,true],["HasOpenings",IFCRELVOIDSELEMENT,4,true],["IsConnectionRealization",IFCRELCONNECTSWITHREALIZINGELEMENTS,7,true],["ProvidesBoundaries",IFCRELSPACEBOUNDARY,5,true],["ConnectedFrom",IFCRELCONNECTSELEMENTS,6,true],["ContainedInStructure",IFCRELCONTAINEDINSPATIALSTRUCTURE,4,true]],2347447852:[["HasAssignments",IFCRELASSIGNS,4,true],["IsDecomposedBy",IFCRELDECOMPOSES,4,true],["Decomposes",IFCRELDECOMPOSES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDefinedBy",IFCRELDEFINES,4,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true],["HasStructuralMember",IFCRELCONNECTSSTRUCTURALELEMENT,4,true],["FillsVoids",IFCRELFILLSELEMENT,5,true],["ConnectedTo",IFCRELCONNECTSELEMENTS,5,true],["HasCoverings",IFCRELCOVERSBLDGELEMENTS,4,true],["HasProjections",IFCRELPROJECTSELEMENT,4,true],["ReferencedInStructures",IFCRELREFERENCEDINSPATIALSTRUCTURE,4,true],["HasPorts",IFCRELCONNECTSPORTTOELEMENT,5,true],["HasOpenings",IFCRELVOIDSELEMENT,4,true],["IsConnectionRealization",IFCRELCONNECTSWITHREALIZINGELEMENTS,7,true],["ProvidesBoundaries",IFCRELSPACEBOUNDARY,5,true],["ConnectedFrom",IFCRELCONNECTSELEMENTS,6,true],["ContainedInStructure",IFCRELCONTAINEDINSPATIALSTRUCTURE,4,true]],3313531582:[["HasAssignments",IFCRELASSIGNS,4,true],["IsDecomposedBy",IFCRELDECOMPOSES,4,true],["Decomposes",IFCRELDECOMPOSES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["ObjectTypeOf",IFCRELDEFINESBYTYPE,5,true]],2391406946:[["HasAssignments",IFCRELASSIGNS,4,true],["IsDecomposedBy",IFCRELDECOMPOSES,4,true],["Decomposes",IFCRELDECOMPOSES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDefinedBy",IFCRELDEFINES,4,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true],["HasStructuralMember",IFCRELCONNECTSSTRUCTURALELEMENT,4,true],["FillsVoids",IFCRELFILLSELEMENT,5,true],["ConnectedTo",IFCRELCONNECTSELEMENTS,5,true],["HasCoverings",IFCRELCOVERSBLDGELEMENTS,4,true],["HasProjections",IFCRELPROJECTSELEMENT,4,true],["ReferencedInStructures",IFCRELREFERENCEDINSPATIALSTRUCTURE,4,true],["HasPorts",IFCRELCONNECTSPORTTOELEMENT,5,true],["HasOpenings",IFCRELVOIDSELEMENT,4,true],["IsConnectionRealization",IFCRELCONNECTSWITHREALIZINGELEMENTS,7,true],["ProvidesBoundaries",IFCRELSPACEBOUNDARY,5,true],["ConnectedFrom",IFCRELCONNECTSELEMENTS,6,true],["ContainedInStructure",IFCRELCONTAINEDINSPATIALSTRUCTURE,4,true]],3512223829:[["HasAssignments",IFCRELASSIGNS,4,true],["IsDecomposedBy",IFCRELDECOMPOSES,4,true],["Decomposes",IFCRELDECOMPOSES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDefinedBy",IFCRELDEFINES,4,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true],["HasStructuralMember",IFCRELCONNECTSSTRUCTURALELEMENT,4,true],["FillsVoids",IFCRELFILLSELEMENT,5,true],["ConnectedTo",IFCRELCONNECTSELEMENTS,5,true],["HasCoverings",IFCRELCOVERSBLDGELEMENTS,4,true],["HasProjections",IFCRELPROJECTSELEMENT,4,true],["ReferencedInStructures",IFCRELREFERENCEDINSPATIALSTRUCTURE,4,true],["HasPorts",IFCRELCONNECTSPORTTOELEMENT,5,true],["HasOpenings",IFCRELVOIDSELEMENT,4,true],["IsConnectionRealization",IFCRELCONNECTSWITHREALIZINGELEMENTS,7,true],["ProvidesBoundaries",IFCRELSPACEBOUNDARY,5,true],["ConnectedFrom",IFCRELCONNECTSELEMENTS,6,true],["ContainedInStructure",IFCRELCONTAINEDINSPATIALSTRUCTURE,4,true]],3304561284:[["HasAssignments",IFCRELASSIGNS,4,true],["IsDecomposedBy",IFCRELDECOMPOSES,4,true],["Decomposes",IFCRELDECOMPOSES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDefinedBy",IFCRELDEFINES,4,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true],["HasStructuralMember",IFCRELCONNECTSSTRUCTURALELEMENT,4,true],["FillsVoids",IFCRELFILLSELEMENT,5,true],["ConnectedTo",IFCRELCONNECTSELEMENTS,5,true],["HasCoverings",IFCRELCOVERSBLDGELEMENTS,4,true],["HasProjections",IFCRELPROJECTSELEMENT,4,true],["ReferencedInStructures",IFCRELREFERENCEDINSPATIALSTRUCTURE,4,true],["HasPorts",IFCRELCONNECTSPORTTOELEMENT,5,true],["HasOpenings",IFCRELVOIDSELEMENT,4,true],["IsConnectionRealization",IFCRELCONNECTSWITHREALIZINGELEMENTS,7,true],["ProvidesBoundaries",IFCRELSPACEBOUNDARY,5,true],["ConnectedFrom",IFCRELCONNECTSELEMENTS,6,true],["ContainedInStructure",IFCRELCONTAINEDINSPATIALSTRUCTURE,4,true]],2874132201:[["HasAssignments",IFCRELASSIGNS,4,true],["IsDecomposedBy",IFCRELDECOMPOSES,4,true],["Decomposes",IFCRELDECOMPOSES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["ObjectTypeOf",IFCRELDEFINESBYTYPE,5,true]],3001207471:[["HasAssignments",IFCRELASSIGNS,4,true],["IsDecomposedBy",IFCRELDECOMPOSES,4,true],["Decomposes",IFCRELDECOMPOSES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["ObjectTypeOf",IFCRELDEFINESBYTYPE,5,true]],753842376:[["HasAssignments",IFCRELASSIGNS,4,true],["IsDecomposedBy",IFCRELDECOMPOSES,4,true],["Decomposes",IFCRELDECOMPOSES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDefinedBy",IFCRELDEFINES,4,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true],["HasStructuralMember",IFCRELCONNECTSSTRUCTURALELEMENT,4,true],["FillsVoids",IFCRELFILLSELEMENT,5,true],["ConnectedTo",IFCRELCONNECTSELEMENTS,5,true],["HasCoverings",IFCRELCOVERSBLDGELEMENTS,4,true],["HasProjections",IFCRELPROJECTSELEMENT,4,true],["ReferencedInStructures",IFCRELREFERENCEDINSPATIALSTRUCTURE,4,true],["HasPorts",IFCRELCONNECTSPORTTOELEMENT,5,true],["HasOpenings",IFCRELVOIDSELEMENT,4,true],["IsConnectionRealization",IFCRELCONNECTSWITHREALIZINGELEMENTS,7,true],["ProvidesBoundaries",IFCRELSPACEBOUNDARY,5,true],["ConnectedFrom",IFCRELCONNECTSELEMENTS,6,true],["ContainedInStructure",IFCRELCONTAINEDINSPATIALSTRUCTURE,4,true]],2454782716:[["HasAssignments",IFCRELASSIGNS,4,true],["IsDecomposedBy",IFCRELDECOMPOSES,4,true],["Decomposes",IFCRELDECOMPOSES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDefinedBy",IFCRELDEFINES,4,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true],["HasStructuralMember",IFCRELCONNECTSSTRUCTURALELEMENT,4,true],["FillsVoids",IFCRELFILLSELEMENT,5,true],["ConnectedTo",IFCRELCONNECTSELEMENTS,5,true],["HasCoverings",IFCRELCOVERSBLDGELEMENTS,4,true],["HasProjections",IFCRELPROJECTSELEMENT,4,true],["ReferencedInStructures",IFCRELREFERENCEDINSPATIALSTRUCTURE,4,true],["HasPorts",IFCRELCONNECTSPORTTOELEMENT,5,true],["HasOpenings",IFCRELVOIDSELEMENT,4,true],["IsConnectionRealization",IFCRELCONNECTSWITHREALIZINGELEMENTS,7,true],["ProvidesBoundaries",IFCRELSPACEBOUNDARY,5,true],["ConnectedFrom",IFCRELCONNECTSELEMENTS,6,true],["ContainedInStructure",IFCRELCONTAINEDINSPATIALSTRUCTURE,4,true],["VoidsElements",IFCRELVOIDSELEMENT,5,false]],578613899:[["HasAssignments",IFCRELASSIGNS,4,true],["IsDecomposedBy",IFCRELDECOMPOSES,4,true],["Decomposes",IFCRELDECOMPOSES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["ObjectTypeOf",IFCRELDEFINESBYTYPE,5,true]],1052013943:[["HasAssignments",IFCRELASSIGNS,4,true],["IsDecomposedBy",IFCRELDECOMPOSES,4,true],["Decomposes",IFCRELDECOMPOSES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDefinedBy",IFCRELDEFINES,4,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true],["HasStructuralMember",IFCRELCONNECTSSTRUCTURALELEMENT,4,true],["FillsVoids",IFCRELFILLSELEMENT,5,true],["ConnectedTo",IFCRELCONNECTSELEMENTS,5,true],["HasCoverings",IFCRELCOVERSBLDGELEMENTS,4,true],["HasProjections",IFCRELPROJECTSELEMENT,4,true],["ReferencedInStructures",IFCRELREFERENCEDINSPATIALSTRUCTURE,4,true],["HasPorts",IFCRELCONNECTSPORTTOELEMENT,5,true],["HasOpenings",IFCRELVOIDSELEMENT,4,true],["IsConnectionRealization",IFCRELCONNECTSWITHREALIZINGELEMENTS,7,true],["ProvidesBoundaries",IFCRELSPACEBOUNDARY,5,true],["ConnectedFrom",IFCRELCONNECTSELEMENTS,6,true],["ContainedInStructure",IFCRELCONTAINEDINSPATIALSTRUCTURE,4,true],["HasControlElements",IFCRELFLOWCONTROLELEMENTS,5,true]],1062813311:[["HasAssignments",IFCRELASSIGNS,4,true],["IsDecomposedBy",IFCRELDECOMPOSES,4,true],["Decomposes",IFCRELDECOMPOSES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDefinedBy",IFCRELDEFINES,4,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true],["HasStructuralMember",IFCRELCONNECTSSTRUCTURALELEMENT,4,true],["FillsVoids",IFCRELFILLSELEMENT,5,true],["ConnectedTo",IFCRELCONNECTSELEMENTS,5,true],["HasCoverings",IFCRELCOVERSBLDGELEMENTS,4,true],["HasProjections",IFCRELPROJECTSELEMENT,4,true],["ReferencedInStructures",IFCRELREFERENCEDINSPATIALSTRUCTURE,4,true],["HasPorts",IFCRELCONNECTSPORTTOELEMENT,5,true],["HasOpenings",IFCRELVOIDSELEMENT,4,true],["IsConnectionRealization",IFCRELCONNECTSWITHREALIZINGELEMENTS,7,true],["ProvidesBoundaries",IFCRELSPACEBOUNDARY,5,true],["ConnectedFrom",IFCRELCONNECTSELEMENTS,6,true],["ContainedInStructure",IFCRELCONTAINEDINSPATIALSTRUCTURE,4,true],["AssignedToFlowElement",IFCRELFLOWCONTROLELEMENTS,4,true]],3700593921:[["HasAssignments",IFCRELASSIGNS,4,true],["IsDecomposedBy",IFCRELDECOMPOSES,4,true],["Decomposes",IFCRELDECOMPOSES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDefinedBy",IFCRELDEFINES,4,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true],["HasStructuralMember",IFCRELCONNECTSSTRUCTURALELEMENT,4,true],["FillsVoids",IFCRELFILLSELEMENT,5,true],["ConnectedTo",IFCRELCONNECTSELEMENTS,5,true],["HasCoverings",IFCRELCOVERSBLDGELEMENTS,4,true],["HasProjections",IFCRELPROJECTSELEMENT,4,true],["ReferencedInStructures",IFCRELREFERENCEDINSPATIALSTRUCTURE,4,true],["HasPorts",IFCRELCONNECTSPORTTOELEMENT,5,true],["HasOpenings",IFCRELVOIDSELEMENT,4,true],["IsConnectionRealization",IFCRELCONNECTSWITHREALIZINGELEMENTS,7,true],["ProvidesBoundaries",IFCRELSPACEBOUNDARY,5,true],["ConnectedFrom",IFCRELCONNECTSELEMENTS,6,true],["ContainedInStructure",IFCRELCONTAINEDINSPATIALSTRUCTURE,4,true],["HasControlElements",IFCRELFLOWCONTROLELEMENTS,5,true]],979691226:[["HasAssignments",IFCRELASSIGNS,4,true],["IsDecomposedBy",IFCRELDECOMPOSES,4,true],["Decomposes",IFCRELDECOMPOSES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDefinedBy",IFCRELDEFINES,4,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true],["HasStructuralMember",IFCRELCONNECTSSTRUCTURALELEMENT,4,true],["FillsVoids",IFCRELFILLSELEMENT,5,true],["ConnectedTo",IFCRELCONNECTSELEMENTS,5,true],["HasCoverings",IFCRELCOVERSBLDGELEMENTS,4,true],["HasProjections",IFCRELPROJECTSELEMENT,4,true],["ReferencedInStructures",IFCRELREFERENCEDINSPATIALSTRUCTURE,4,true],["HasPorts",IFCRELCONNECTSPORTTOELEMENT,5,true],["HasOpenings",IFCRELVOIDSELEMENT,4,true],["IsConnectionRealization",IFCRELCONNECTSWITHREALIZINGELEMENTS,7,true],["ProvidesBoundaries",IFCRELSPACEBOUNDARY,5,true],["ConnectedFrom",IFCRELCONNECTSELEMENTS,6,true],["ContainedInStructure",IFCRELCONTAINEDINSPATIALSTRUCTURE,4,true]]};Constructors[1]={3630933823:function _(ID,a){return new IFC2X3.IfcActorRole(ID,a[0],a[1],a[2]);},618182010:function _(ID,a){return new IFC2X3.IfcAddress(ID,a[0],a[1],a[2]);},639542469:function _(ID,a){return new IFC2X3.IfcApplication(ID,a[0],a[1],a[2],a[3]);},411424972:function _(ID,a){return new IFC2X3.IfcAppliedValue(ID,a[0],a[1],a[2],a[3],a[4],a[5]);},1110488051:function _(ID,a){return new IFC2X3.IfcAppliedValueRelationship(ID,a[0],a[1],a[2],a[3],a[4]);},130549933:function _(ID,a){return new IFC2X3.IfcApproval(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6]);},2080292479:function _(ID,a){return new IFC2X3.IfcApprovalActorRelationship(ID,a[0],a[1],a[2]);},390851274:function _(ID,a){return new IFC2X3.IfcApprovalPropertyRelationship(ID,a[0],a[1]);},3869604511:function _(ID,a){return new IFC2X3.IfcApprovalRelationship(ID,a[0],a[1],a[2],a[3]);},4037036970:function _(ID,a){return new IFC2X3.IfcBoundaryCondition(ID,a[0]);},1560379544:function _(ID,a){return new IFC2X3.IfcBoundaryEdgeCondition(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6]);},3367102660:function _(ID,a){return new IFC2X3.IfcBoundaryFaceCondition(ID,a[0],a[1],a[2],a[3]);},1387855156:function _(ID,a){return new IFC2X3.IfcBoundaryNodeCondition(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6]);},2069777674:function _(ID,a){return new IFC2X3.IfcBoundaryNodeConditionWarping(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7]);},622194075:function _(ID,a){return new IFC2X3.IfcCalendarDate(ID,a[0],a[1],a[2]);},747523909:function _(ID,a){return new IFC2X3.IfcClassification(ID,a[0],a[1],a[2],a[3]);},1767535486:function _(ID,a){return new IFC2X3.IfcClassificationItem(ID,a[0],a[1],a[2]);},1098599126:function _(ID,a){return new IFC2X3.IfcClassificationItemRelationship(ID,a[0],a[1]);},938368621:function _(ID,a){return new IFC2X3.IfcClassificationNotation(ID,a[0]);},3639012971:function _(ID,a){return new IFC2X3.IfcClassificationNotationFacet(ID,a[0]);},3264961684:function _(ID,a){return new IFC2X3.IfcColourSpecification(ID,a[0]);},2859738748:function _(ID,_16){return new IFC2X3.IfcConnectionGeometry(ID);},2614616156:function _(ID,a){return new IFC2X3.IfcConnectionPointGeometry(ID,a[0],a[1]);},4257277454:function _(ID,a){return new IFC2X3.IfcConnectionPortGeometry(ID,a[0],a[1],a[2]);},2732653382:function _(ID,a){return new IFC2X3.IfcConnectionSurfaceGeometry(ID,a[0],a[1]);},1959218052:function _(ID,a){return new IFC2X3.IfcConstraint(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6]);},1658513725:function _(ID,a){return new IFC2X3.IfcConstraintAggregationRelationship(ID,a[0],a[1],a[2],a[3],a[4]);},613356794:function _(ID,a){return new IFC2X3.IfcConstraintClassificationRelationship(ID,a[0],a[1]);},347226245:function _(ID,a){return new IFC2X3.IfcConstraintRelationship(ID,a[0],a[1],a[2],a[3]);},1065062679:function _(ID,a){return new IFC2X3.IfcCoordinatedUniversalTimeOffset(ID,a[0],a[1],a[2]);},602808272:function _(ID,a){return new IFC2X3.IfcCostValue(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7]);},539742890:function _(ID,a){return new IFC2X3.IfcCurrencyRelationship(ID,a[0],a[1],a[2],a[3],a[4]);},1105321065:function _(ID,a){return new IFC2X3.IfcCurveStyleFont(ID,a[0],a[1]);},2367409068:function _(ID,a){return new IFC2X3.IfcCurveStyleFontAndScaling(ID,a[0],a[1],a[2]);},3510044353:function _(ID,a){return new IFC2X3.IfcCurveStyleFontPattern(ID,a[0],a[1]);},1072939445:function _(ID,a){return new IFC2X3.IfcDateAndTime(ID,a[0],a[1]);},1765591967:function _(ID,a){return new IFC2X3.IfcDerivedUnit(ID,a[0],a[1],a[2]);},1045800335:function _(ID,a){return new IFC2X3.IfcDerivedUnitElement(ID,a[0],a[1]);},2949456006:function _(ID,a){return new IFC2X3.IfcDimensionalExponents(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6]);},1376555844:function _(ID,a){return new IFC2X3.IfcDocumentElectronicFormat(ID,a[0],a[1],a[2]);},1154170062:function _(ID,a){return new IFC2X3.IfcDocumentInformation(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9],a[10],a[11],a[12],a[13],a[14],a[15],a[16]);},770865208:function _(ID,a){return new IFC2X3.IfcDocumentInformationRelationship(ID,a[0],a[1],a[2]);},3796139169:function _(ID,a){return new IFC2X3.IfcDraughtingCalloutRelationship(ID,a[0],a[1],a[2],a[3]);},1648886627:function _(ID,a){return new IFC2X3.IfcEnvironmentalImpactValue(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8]);},3200245327:function _(ID,a){return new IFC2X3.IfcExternalReference(ID,a[0],a[1],a[2]);},2242383968:function _(ID,a){return new IFC2X3.IfcExternallyDefinedHatchStyle(ID,a[0],a[1],a[2]);},1040185647:function _(ID,a){return new IFC2X3.IfcExternallyDefinedSurfaceStyle(ID,a[0],a[1],a[2]);},3207319532:function _(ID,a){return new IFC2X3.IfcExternallyDefinedSymbol(ID,a[0],a[1],a[2]);},3548104201:function _(ID,a){return new IFC2X3.IfcExternallyDefinedTextFont(ID,a[0],a[1],a[2]);},852622518:function _(ID,a){return new IFC2X3.IfcGridAxis(ID,a[0],a[1],a[2]);},3020489413:function _(ID,a){return new IFC2X3.IfcIrregularTimeSeriesValue(ID,a[0],a[1]);},2655187982:function _(ID,a){return new IFC2X3.IfcLibraryInformation(ID,a[0],a[1],a[2],a[3],a[4]);},3452421091:function _(ID,a){return new IFC2X3.IfcLibraryReference(ID,a[0],a[1],a[2]);},4162380809:function _(ID,a){return new IFC2X3.IfcLightDistributionData(ID,a[0],a[1],a[2]);},1566485204:function _(ID,a){return new IFC2X3.IfcLightIntensityDistribution(ID,a[0],a[1]);},30780891:function _(ID,a){return new IFC2X3.IfcLocalTime(ID,a[0],a[1],a[2],a[3],a[4]);},1838606355:function _(ID,a){return new IFC2X3.IfcMaterial(ID,a[0]);},1847130766:function _(ID,a){return new IFC2X3.IfcMaterialClassificationRelationship(ID,a[0],a[1]);},248100487:function _(ID,a){return new IFC2X3.IfcMaterialLayer(ID,a[0],a[1],a[2]);},3303938423:function _(ID,a){return new IFC2X3.IfcMaterialLayerSet(ID,a[0],a[1]);},1303795690:function _(ID,a){return new IFC2X3.IfcMaterialLayerSetUsage(ID,a[0],a[1],a[2],a[3]);},2199411900:function _(ID,a){return new IFC2X3.IfcMaterialList(ID,a[0]);},3265635763:function _(ID,a){return new IFC2X3.IfcMaterialProperties(ID,a[0]);},2597039031:function _(ID,a){return new IFC2X3.IfcMeasureWithUnit(ID,a[0],a[1]);},4256014907:function _(ID,a){return new IFC2X3.IfcMechanicalMaterialProperties(ID,a[0],a[1],a[2],a[3],a[4],a[5]);},677618848:function _(ID,a){return new IFC2X3.IfcMechanicalSteelMaterialProperties(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9],a[10],a[11],a[12]);},3368373690:function _(ID,a){return new IFC2X3.IfcMetric(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9]);},2706619895:function _(ID,a){return new IFC2X3.IfcMonetaryUnit(ID,a[0]);},1918398963:function _(ID,a){return new IFC2X3.IfcNamedUnit(ID,a[0],a[1]);},3701648758:function _(ID,_17){return new IFC2X3.IfcObjectPlacement(ID);},2251480897:function _(ID,a){return new IFC2X3.IfcObjective(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9],a[10]);},1227763645:function _(ID,a){return new IFC2X3.IfcOpticalMaterialProperties(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9]);},4251960020:function _(ID,a){return new IFC2X3.IfcOrganization(ID,a[0],a[1],a[2],a[3],a[4]);},1411181986:function _(ID,a){return new IFC2X3.IfcOrganizationRelationship(ID,a[0],a[1],a[2],a[3]);},1207048766:function _(ID,a){return new IFC2X3.IfcOwnerHistory(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7]);},2077209135:function _(ID,a){return new IFC2X3.IfcPerson(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7]);},101040310:function _(ID,a){return new IFC2X3.IfcPersonAndOrganization(ID,a[0],a[1],a[2]);},2483315170:function _(ID,a){return new IFC2X3.IfcPhysicalQuantity(ID,a[0],a[1]);},2226359599:function _(ID,a){return new IFC2X3.IfcPhysicalSimpleQuantity(ID,a[0],a[1],a[2]);},3355820592:function _(ID,a){return new IFC2X3.IfcPostalAddress(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9]);},3727388367:function _(ID,a){return new IFC2X3.IfcPreDefinedItem(ID,a[0]);},990879717:function _(ID,a){return new IFC2X3.IfcPreDefinedSymbol(ID,a[0]);},3213052703:function _(ID,a){return new IFC2X3.IfcPreDefinedTerminatorSymbol(ID,a[0]);},1775413392:function _(ID,a){return new IFC2X3.IfcPreDefinedTextFont(ID,a[0]);},2022622350:function _(ID,a){return new IFC2X3.IfcPresentationLayerAssignment(ID,a[0],a[1],a[2],a[3]);},1304840413:function _(ID,a){return new IFC2X3.IfcPresentationLayerWithStyle(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7]);},3119450353:function _(ID,a){return new IFC2X3.IfcPresentationStyle(ID,a[0]);},2417041796:function _(ID,a){return new IFC2X3.IfcPresentationStyleAssignment(ID,a[0]);},2095639259:function _(ID,a){return new IFC2X3.IfcProductRepresentation(ID,a[0],a[1],a[2]);},2267347899:function _(ID,a){return new IFC2X3.IfcProductsOfCombustionProperties(ID,a[0],a[1],a[2],a[3],a[4]);},3958567839:function _(ID,a){return new IFC2X3.IfcProfileDef(ID,a[0],a[1]);},2802850158:function _(ID,a){return new IFC2X3.IfcProfileProperties(ID,a[0],a[1]);},2598011224:function _(ID,a){return new IFC2X3.IfcProperty(ID,a[0],a[1]);},3896028662:function _(ID,a){return new IFC2X3.IfcPropertyConstraintRelationship(ID,a[0],a[1],a[2],a[3]);},148025276:function _(ID,a){return new IFC2X3.IfcPropertyDependencyRelationship(ID,a[0],a[1],a[2],a[3],a[4]);},3710013099:function _(ID,a){return new IFC2X3.IfcPropertyEnumeration(ID,a[0],a[1],a[2]);},2044713172:function _(ID,a){return new IFC2X3.IfcQuantityArea(ID,a[0],a[1],a[2],a[3]);},2093928680:function _(ID,a){return new IFC2X3.IfcQuantityCount(ID,a[0],a[1],a[2],a[3]);},931644368:function _(ID,a){return new IFC2X3.IfcQuantityLength(ID,a[0],a[1],a[2],a[3]);},3252649465:function _(ID,a){return new IFC2X3.IfcQuantityTime(ID,a[0],a[1],a[2],a[3]);},2405470396:function _(ID,a){return new IFC2X3.IfcQuantityVolume(ID,a[0],a[1],a[2],a[3]);},825690147:function _(ID,a){return new IFC2X3.IfcQuantityWeight(ID,a[0],a[1],a[2],a[3]);},2692823254:function _(ID,a){return new IFC2X3.IfcReferencesValueDocument(ID,a[0],a[1],a[2],a[3]);},1580146022:function _(ID,a){return new IFC2X3.IfcReinforcementBarProperties(ID,a[0],a[1],a[2],a[3],a[4],a[5]);},1222501353:function _(ID,a){return new IFC2X3.IfcRelaxation(ID,a[0],a[1]);},1076942058:function _(ID,a){return new IFC2X3.IfcRepresentation(ID,a[0],a[1],a[2],a[3]);},3377609919:function _(ID,a){return new IFC2X3.IfcRepresentationContext(ID,a[0],a[1]);},3008791417:function _(ID,_18){return new IFC2X3.IfcRepresentationItem(ID);},1660063152:function _(ID,a){return new IFC2X3.IfcRepresentationMap(ID,a[0],a[1]);},3679540991:function _(ID,a){return new IFC2X3.IfcRibPlateProfileProperties(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6]);},2341007311:function _(ID,a){return new IFC2X3.IfcRoot(ID,a[0],a[1],a[2],a[3]);},448429030:function _(ID,a){return new IFC2X3.IfcSIUnit(ID,a[0],a[1],a[2]);},2042790032:function _(ID,a){return new IFC2X3.IfcSectionProperties(ID,a[0],a[1],a[2]);},4165799628:function _(ID,a){return new IFC2X3.IfcSectionReinforcementProperties(ID,a[0],a[1],a[2],a[3],a[4],a[5]);},867548509:function _(ID,a){return new IFC2X3.IfcShapeAspect(ID,a[0],a[1],a[2],a[3],a[4]);},3982875396:function _(ID,a){return new IFC2X3.IfcShapeModel(ID,a[0],a[1],a[2],a[3]);},4240577450:function _(ID,a){return new IFC2X3.IfcShapeRepresentation(ID,a[0],a[1],a[2],a[3]);},3692461612:function _(ID,a){return new IFC2X3.IfcSimpleProperty(ID,a[0],a[1]);},2273995522:function _(ID,a){return new IFC2X3.IfcStructuralConnectionCondition(ID,a[0]);},2162789131:function _(ID,a){return new IFC2X3.IfcStructuralLoad(ID,a[0]);},2525727697:function _(ID,a){return new IFC2X3.IfcStructuralLoadStatic(ID,a[0]);},3408363356:function _(ID,a){return new IFC2X3.IfcStructuralLoadTemperature(ID,a[0],a[1],a[2],a[3]);},2830218821:function _(ID,a){return new IFC2X3.IfcStyleModel(ID,a[0],a[1],a[2],a[3]);},3958052878:function _(ID,a){return new IFC2X3.IfcStyledItem(ID,a[0],a[1],a[2]);},3049322572:function _(ID,a){return new IFC2X3.IfcStyledRepresentation(ID,a[0],a[1],a[2],a[3]);},1300840506:function _(ID,a){return new IFC2X3.IfcSurfaceStyle(ID,a[0],a[1],a[2]);},3303107099:function _(ID,a){return new IFC2X3.IfcSurfaceStyleLighting(ID,a[0],a[1],a[2],a[3]);},1607154358:function _(ID,a){return new IFC2X3.IfcSurfaceStyleRefraction(ID,a[0],a[1]);},846575682:function _(ID,a){return new IFC2X3.IfcSurfaceStyleShading(ID,a[0]);},1351298697:function _(ID,a){return new IFC2X3.IfcSurfaceStyleWithTextures(ID,a[0]);},626085974:function _(ID,a){return new IFC2X3.IfcSurfaceTexture(ID,a[0],a[1],a[2],a[3]);},1290481447:function _(ID,a){return new IFC2X3.IfcSymbolStyle(ID,a[0],a[1]);},985171141:function _(ID,a){return new IFC2X3.IfcTable(ID,a[0],a[1]);},531007025:function _(ID,a){return new IFC2X3.IfcTableRow(ID,a[0],a[1]);},912023232:function _(ID,a){return new IFC2X3.IfcTelecomAddress(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7]);},1447204868:function _(ID,a){return new IFC2X3.IfcTextStyle(ID,a[0],a[1],a[2],a[3]);},1983826977:function _(ID,a){return new IFC2X3.IfcTextStyleFontModel(ID,a[0],a[1],a[2],a[3],a[4],a[5]);},2636378356:function _(ID,a){return new IFC2X3.IfcTextStyleForDefinedFont(ID,a[0],a[1]);},1640371178:function _(ID,a){return new IFC2X3.IfcTextStyleTextModel(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6]);},1484833681:function _(ID,a){return new IFC2X3.IfcTextStyleWithBoxCharacteristics(ID,a[0],a[1],a[2],a[3],a[4]);},280115917:function _(ID,_19){return new IFC2X3.IfcTextureCoordinate(ID);},1742049831:function _(ID,a){return new IFC2X3.IfcTextureCoordinateGenerator(ID,a[0],a[1]);},2552916305:function _(ID,a){return new IFC2X3.IfcTextureMap(ID,a[0]);},1210645708:function _(ID,a){return new IFC2X3.IfcTextureVertex(ID,a[0]);},3317419933:function _(ID,a){return new IFC2X3.IfcThermalMaterialProperties(ID,a[0],a[1],a[2],a[3],a[4]);},3101149627:function _(ID,a){return new IFC2X3.IfcTimeSeries(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7]);},1718945513:function _(ID,a){return new IFC2X3.IfcTimeSeriesReferenceRelationship(ID,a[0],a[1]);},581633288:function _(ID,a){return new IFC2X3.IfcTimeSeriesValue(ID,a[0]);},1377556343:function _(ID,_20){return new IFC2X3.IfcTopologicalRepresentationItem(ID);},1735638870:function _(ID,a){return new IFC2X3.IfcTopologyRepresentation(ID,a[0],a[1],a[2],a[3]);},180925521:function _(ID,a){return new IFC2X3.IfcUnitAssignment(ID,a[0]);},2799835756:function _(ID,_21){return new IFC2X3.IfcVertex(ID);},3304826586:function _(ID,a){return new IFC2X3.IfcVertexBasedTextureMap(ID,a[0],a[1]);},1907098498:function _(ID,a){return new IFC2X3.IfcVertexPoint(ID,a[0]);},891718957:function _(ID,a){return new IFC2X3.IfcVirtualGridIntersection(ID,a[0],a[1]);},1065908215:function _(ID,a){return new IFC2X3.IfcWaterProperties(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7]);},2442683028:function _(ID,a){return new IFC2X3.IfcAnnotationOccurrence(ID,a[0],a[1],a[2]);},962685235:function _(ID,a){return new IFC2X3.IfcAnnotationSurfaceOccurrence(ID,a[0],a[1],a[2]);},3612888222:function _(ID,a){return new IFC2X3.IfcAnnotationSymbolOccurrence(ID,a[0],a[1],a[2]);},2297822566:function _(ID,a){return new IFC2X3.IfcAnnotationTextOccurrence(ID,a[0],a[1],a[2]);},3798115385:function _(ID,a){return new IFC2X3.IfcArbitraryClosedProfileDef(ID,a[0],a[1],a[2]);},1310608509:function _(ID,a){return new IFC2X3.IfcArbitraryOpenProfileDef(ID,a[0],a[1],a[2]);},2705031697:function _(ID,a){return new IFC2X3.IfcArbitraryProfileDefWithVoids(ID,a[0],a[1],a[2],a[3]);},616511568:function _(ID,a){return new IFC2X3.IfcBlobTexture(ID,a[0],a[1],a[2],a[3],a[4],a[5]);},3150382593:function _(ID,a){return new IFC2X3.IfcCenterLineProfileDef(ID,a[0],a[1],a[2],a[3]);},647927063:function _(ID,a){return new IFC2X3.IfcClassificationReference(ID,a[0],a[1],a[2],a[3]);},776857604:function _(ID,a){return new IFC2X3.IfcColourRgb(ID,a[0],a[1],a[2],a[3]);},2542286263:function _(ID,a){return new IFC2X3.IfcComplexProperty(ID,a[0],a[1],a[2],a[3]);},1485152156:function _(ID,a){return new IFC2X3.IfcCompositeProfileDef(ID,a[0],a[1],a[2],a[3]);},370225590:function _(ID,a){return new IFC2X3.IfcConnectedFaceSet(ID,a[0]);},1981873012:function _(ID,a){return new IFC2X3.IfcConnectionCurveGeometry(ID,a[0],a[1]);},45288368:function _(ID,a){return new IFC2X3.IfcConnectionPointEccentricity(ID,a[0],a[1],a[2],a[3],a[4]);},3050246964:function _(ID,a){return new IFC2X3.IfcContextDependentUnit(ID,a[0],a[1],a[2]);},2889183280:function _(ID,a){return new IFC2X3.IfcConversionBasedUnit(ID,a[0],a[1],a[2],a[3]);},3800577675:function _(ID,a){return new IFC2X3.IfcCurveStyle(ID,a[0],a[1],a[2],a[3]);},3632507154:function _(ID,a){return new IFC2X3.IfcDerivedProfileDef(ID,a[0],a[1],a[2],a[3],a[4]);},2273265877:function _(ID,a){return new IFC2X3.IfcDimensionCalloutRelationship(ID,a[0],a[1],a[2],a[3]);},1694125774:function _(ID,a){return new IFC2X3.IfcDimensionPair(ID,a[0],a[1],a[2],a[3]);},3732053477:function _(ID,a){return new IFC2X3.IfcDocumentReference(ID,a[0],a[1],a[2]);},4170525392:function _(ID,a){return new IFC2X3.IfcDraughtingPreDefinedTextFont(ID,a[0]);},3900360178:function _(ID,a){return new IFC2X3.IfcEdge(ID,a[0],a[1]);},476780140:function _(ID,a){return new IFC2X3.IfcEdgeCurve(ID,a[0],a[1],a[2],a[3]);},1860660968:function _(ID,a){return new IFC2X3.IfcExtendedMaterialProperties(ID,a[0],a[1],a[2],a[3]);},2556980723:function _(ID,a){return new IFC2X3.IfcFace(ID,a[0]);},1809719519:function _(ID,a){return new IFC2X3.IfcFaceBound(ID,a[0],a[1]);},803316827:function _(ID,a){return new IFC2X3.IfcFaceOuterBound(ID,a[0],a[1]);},3008276851:function _(ID,a){return new IFC2X3.IfcFaceSurface(ID,a[0],a[1],a[2]);},4219587988:function _(ID,a){return new IFC2X3.IfcFailureConnectionCondition(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6]);},738692330:function _(ID,a){return new IFC2X3.IfcFillAreaStyle(ID,a[0],a[1]);},3857492461:function _(ID,a){return new IFC2X3.IfcFuelProperties(ID,a[0],a[1],a[2],a[3],a[4]);},803998398:function _(ID,a){return new IFC2X3.IfcGeneralMaterialProperties(ID,a[0],a[1],a[2],a[3]);},1446786286:function _(ID,a){return new IFC2X3.IfcGeneralProfileProperties(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6]);},3448662350:function _(ID,a){return new IFC2X3.IfcGeometricRepresentationContext(ID,a[0],a[1],a[2],a[3],a[4],a[5]);},2453401579:function _(ID,_22){return new IFC2X3.IfcGeometricRepresentationItem(ID);},4142052618:function _(ID,a){return new IFC2X3.IfcGeometricRepresentationSubContext(ID,a[0],a[1],a[2],a[3],a[4],a[5]);},3590301190:function _(ID,a){return new IFC2X3.IfcGeometricSet(ID,a[0]);},178086475:function _(ID,a){return new IFC2X3.IfcGridPlacement(ID,a[0],a[1]);},812098782:function _(ID,a){return new IFC2X3.IfcHalfSpaceSolid(ID,a[0],a[1]);},2445078500:function _(ID,a){return new IFC2X3.IfcHygroscopicMaterialProperties(ID,a[0],a[1],a[2],a[3],a[4],a[5]);},3905492369:function _(ID,a){return new IFC2X3.IfcImageTexture(ID,a[0],a[1],a[2],a[3],a[4]);},3741457305:function _(ID,a){return new IFC2X3.IfcIrregularTimeSeries(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8]);},1402838566:function _(ID,a){return new IFC2X3.IfcLightSource(ID,a[0],a[1],a[2],a[3]);},125510826:function _(ID,a){return new IFC2X3.IfcLightSourceAmbient(ID,a[0],a[1],a[2],a[3]);},2604431987:function _(ID,a){return new IFC2X3.IfcLightSourceDirectional(ID,a[0],a[1],a[2],a[3],a[4]);},4266656042:function _(ID,a){return new IFC2X3.IfcLightSourceGoniometric(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9]);},1520743889:function _(ID,a){return new IFC2X3.IfcLightSourcePositional(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8]);},3422422726:function _(ID,a){return new IFC2X3.IfcLightSourceSpot(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9],a[10],a[11],a[12]);},2624227202:function _(ID,a){return new IFC2X3.IfcLocalPlacement(ID,a[0],a[1]);},1008929658:function _(ID,_23){return new IFC2X3.IfcLoop(ID);},2347385850:function _(ID,a){return new IFC2X3.IfcMappedItem(ID,a[0],a[1]);},2022407955:function _(ID,a){return new IFC2X3.IfcMaterialDefinitionRepresentation(ID,a[0],a[1],a[2],a[3]);},1430189142:function _(ID,a){return new IFC2X3.IfcMechanicalConcreteMaterialProperties(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9],a[10],a[11]);},219451334:function _(ID,a){return new IFC2X3.IfcObjectDefinition(ID,a[0],a[1],a[2],a[3]);},2833995503:function _(ID,a){return new IFC2X3.IfcOneDirectionRepeatFactor(ID,a[0]);},2665983363:function _(ID,a){return new IFC2X3.IfcOpenShell(ID,a[0]);},1029017970:function _(ID,a){return new IFC2X3.IfcOrientedEdge(ID,a[0],a[1]);},2529465313:function _(ID,a){return new IFC2X3.IfcParameterizedProfileDef(ID,a[0],a[1],a[2]);},2519244187:function _(ID,a){return new IFC2X3.IfcPath(ID,a[0]);},3021840470:function _(ID,a){return new IFC2X3.IfcPhysicalComplexQuantity(ID,a[0],a[1],a[2],a[3],a[4],a[5]);},597895409:function _(ID,a){return new IFC2X3.IfcPixelTexture(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7]);},2004835150:function _(ID,a){return new IFC2X3.IfcPlacement(ID,a[0]);},1663979128:function _(ID,a){return new IFC2X3.IfcPlanarExtent(ID,a[0],a[1]);},2067069095:function _(ID,_24){return new IFC2X3.IfcPoint(ID);},4022376103:function _(ID,a){return new IFC2X3.IfcPointOnCurve(ID,a[0],a[1]);},1423911732:function _(ID,a){return new IFC2X3.IfcPointOnSurface(ID,a[0],a[1],a[2]);},2924175390:function _(ID,a){return new IFC2X3.IfcPolyLoop(ID,a[0]);},2775532180:function _(ID,a){return new IFC2X3.IfcPolygonalBoundedHalfSpace(ID,a[0],a[1],a[2],a[3]);},759155922:function _(ID,a){return new IFC2X3.IfcPreDefinedColour(ID,a[0]);},2559016684:function _(ID,a){return new IFC2X3.IfcPreDefinedCurveFont(ID,a[0]);},433424934:function _(ID,a){return new IFC2X3.IfcPreDefinedDimensionSymbol(ID,a[0]);},179317114:function _(ID,a){return new IFC2X3.IfcPreDefinedPointMarkerSymbol(ID,a[0]);},673634403:function _(ID,a){return new IFC2X3.IfcProductDefinitionShape(ID,a[0],a[1],a[2]);},871118103:function _(ID,a){return new IFC2X3.IfcPropertyBoundedValue(ID,a[0],a[1],a[2],a[3],a[4]);},1680319473:function _(ID,a){return new IFC2X3.IfcPropertyDefinition(ID,a[0],a[1],a[2],a[3]);},4166981789:function _(ID,a){return new IFC2X3.IfcPropertyEnumeratedValue(ID,a[0],a[1],a[2],a[3]);},2752243245:function _(ID,a){return new IFC2X3.IfcPropertyListValue(ID,a[0],a[1],a[2],a[3]);},941946838:function _(ID,a){return new IFC2X3.IfcPropertyReferenceValue(ID,a[0],a[1],a[2],a[3]);},3357820518:function _(ID,a){return new IFC2X3.IfcPropertySetDefinition(ID,a[0],a[1],a[2],a[3]);},3650150729:function _(ID,a){return new IFC2X3.IfcPropertySingleValue(ID,a[0],a[1],a[2],a[3]);},110355661:function _(ID,a){return new IFC2X3.IfcPropertyTableValue(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6]);},3615266464:function _(ID,a){return new IFC2X3.IfcRectangleProfileDef(ID,a[0],a[1],a[2],a[3],a[4]);},3413951693:function _(ID,a){return new IFC2X3.IfcRegularTimeSeries(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9]);},3765753017:function _(ID,a){return new IFC2X3.IfcReinforcementDefinitionProperties(ID,a[0],a[1],a[2],a[3],a[4],a[5]);},478536968:function _(ID,a){return new IFC2X3.IfcRelationship(ID,a[0],a[1],a[2],a[3]);},2778083089:function _(ID,a){return new IFC2X3.IfcRoundedRectangleProfileDef(ID,a[0],a[1],a[2],a[3],a[4],a[5]);},1509187699:function _(ID,a){return new IFC2X3.IfcSectionedSpine(ID,a[0],a[1],a[2]);},2411513650:function _(ID,a){return new IFC2X3.IfcServiceLifeFactor(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7]);},4124623270:function _(ID,a){return new IFC2X3.IfcShellBasedSurfaceModel(ID,a[0]);},2609359061:function _(ID,a){return new IFC2X3.IfcSlippageConnectionCondition(ID,a[0],a[1],a[2],a[3]);},723233188:function _(ID,_25){return new IFC2X3.IfcSolidModel(ID);},2485662743:function _(ID,a){return new IFC2X3.IfcSoundProperties(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6]);},1202362311:function _(ID,a){return new IFC2X3.IfcSoundValue(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6]);},390701378:function _(ID,a){return new IFC2X3.IfcSpaceThermalLoadProperties(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9],a[10],a[11],a[12],a[13]);},1595516126:function _(ID,a){return new IFC2X3.IfcStructuralLoadLinearForce(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6]);},2668620305:function _(ID,a){return new IFC2X3.IfcStructuralLoadPlanarForce(ID,a[0],a[1],a[2],a[3]);},2473145415:function _(ID,a){return new IFC2X3.IfcStructuralLoadSingleDisplacement(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6]);},1973038258:function _(ID,a){return new IFC2X3.IfcStructuralLoadSingleDisplacementDistortion(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7]);},1597423693:function _(ID,a){return new IFC2X3.IfcStructuralLoadSingleForce(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6]);},1190533807:function _(ID,a){return new IFC2X3.IfcStructuralLoadSingleForceWarping(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7]);},3843319758:function _(ID,a){return new IFC2X3.IfcStructuralProfileProperties(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9],a[10],a[11],a[12],a[13],a[14],a[15],a[16],a[17],a[18],a[19],a[20],a[21],a[22]);},3653947884:function _(ID,a){return new IFC2X3.IfcStructuralSteelProfileProperties(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9],a[10],a[11],a[12],a[13],a[14],a[15],a[16],a[17],a[18],a[19],a[20],a[21],a[22],a[23],a[24],a[25],a[26]);},2233826070:function _(ID,a){return new IFC2X3.IfcSubedge(ID,a[0],a[1],a[2]);},2513912981:function _(ID,_26){return new IFC2X3.IfcSurface(ID);},1878645084:function _(ID,a){return new IFC2X3.IfcSurfaceStyleRendering(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8]);},2247615214:function _(ID,a){return new IFC2X3.IfcSweptAreaSolid(ID,a[0],a[1]);},1260650574:function _(ID,a){return new IFC2X3.IfcSweptDiskSolid(ID,a[0],a[1],a[2],a[3],a[4]);},230924584:function _(ID,a){return new IFC2X3.IfcSweptSurface(ID,a[0],a[1]);},3071757647:function _(ID,a){return new IFC2X3.IfcTShapeProfileDef(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9],a[10],a[11],a[12]);},3028897424:function _(ID,a){return new IFC2X3.IfcTerminatorSymbol(ID,a[0],a[1],a[2],a[3]);},4282788508:function _(ID,a){return new IFC2X3.IfcTextLiteral(ID,a[0],a[1],a[2]);},3124975700:function _(ID,a){return new IFC2X3.IfcTextLiteralWithExtent(ID,a[0],a[1],a[2],a[3],a[4]);},2715220739:function _(ID,a){return new IFC2X3.IfcTrapeziumProfileDef(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6]);},1345879162:function _(ID,a){return new IFC2X3.IfcTwoDirectionRepeatFactor(ID,a[0],a[1]);},1628702193:function _(ID,a){return new IFC2X3.IfcTypeObject(ID,a[0],a[1],a[2],a[3],a[4],a[5]);},2347495698:function _(ID,a){return new IFC2X3.IfcTypeProduct(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7]);},427810014:function _(ID,a){return new IFC2X3.IfcUShapeProfileDef(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9],a[10]);},1417489154:function _(ID,a){return new IFC2X3.IfcVector(ID,a[0],a[1]);},2759199220:function _(ID,a){return new IFC2X3.IfcVertexLoop(ID,a[0]);},336235671:function _(ID,a){return new IFC2X3.IfcWindowLiningProperties(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9],a[10],a[11],a[12]);},512836454:function _(ID,a){return new IFC2X3.IfcWindowPanelProperties(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8]);},1299126871:function _(ID,a){return new IFC2X3.IfcWindowStyle(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9],a[10],a[11]);},2543172580:function _(ID,a){return new IFC2X3.IfcZShapeProfileDef(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8]);},3288037868:function _(ID,a){return new IFC2X3.IfcAnnotationCurveOccurrence(ID,a[0],a[1],a[2]);},669184980:function _(ID,a){return new IFC2X3.IfcAnnotationFillArea(ID,a[0],a[1]);},2265737646:function _(ID,a){return new IFC2X3.IfcAnnotationFillAreaOccurrence(ID,a[0],a[1],a[2],a[3],a[4]);},1302238472:function _(ID,a){return new IFC2X3.IfcAnnotationSurface(ID,a[0],a[1]);},4261334040:function _(ID,a){return new IFC2X3.IfcAxis1Placement(ID,a[0],a[1]);},3125803723:function _(ID,a){return new IFC2X3.IfcAxis2Placement2D(ID,a[0],a[1]);},2740243338:function _(ID,a){return new IFC2X3.IfcAxis2Placement3D(ID,a[0],a[1],a[2]);},2736907675:function _(ID,a){return new IFC2X3.IfcBooleanResult(ID,a[0],a[1],a[2]);},4182860854:function _(ID,_27){return new IFC2X3.IfcBoundedSurface(ID);},2581212453:function _(ID,a){return new IFC2X3.IfcBoundingBox(ID,a[0],a[1],a[2],a[3]);},2713105998:function _(ID,a){return new IFC2X3.IfcBoxedHalfSpace(ID,a[0],a[1],a[2]);},2898889636:function _(ID,a){return new IFC2X3.IfcCShapeProfileDef(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8]);},1123145078:function _(ID,a){return new IFC2X3.IfcCartesianPoint(ID,a[0]);},59481748:function _(ID,a){return new IFC2X3.IfcCartesianTransformationOperator(ID,a[0],a[1],a[2],a[3]);},3749851601:function _(ID,a){return new IFC2X3.IfcCartesianTransformationOperator2D(ID,a[0],a[1],a[2],a[3]);},3486308946:function _(ID,a){return new IFC2X3.IfcCartesianTransformationOperator2DnonUniform(ID,a[0],a[1],a[2],a[3],a[4]);},3331915920:function _(ID,a){return new IFC2X3.IfcCartesianTransformationOperator3D(ID,a[0],a[1],a[2],a[3],a[4]);},1416205885:function _(ID,a){return new IFC2X3.IfcCartesianTransformationOperator3DnonUniform(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6]);},1383045692:function _(ID,a){return new IFC2X3.IfcCircleProfileDef(ID,a[0],a[1],a[2],a[3]);},2205249479:function _(ID,a){return new IFC2X3.IfcClosedShell(ID,a[0]);},2485617015:function _(ID,a){return new IFC2X3.IfcCompositeCurveSegment(ID,a[0],a[1],a[2]);},4133800736:function _(ID,a){return new IFC2X3.IfcCraneRailAShapeProfileDef(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9],a[10],a[11],a[12],a[13],a[14]);},194851669:function _(ID,a){return new IFC2X3.IfcCraneRailFShapeProfileDef(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9],a[10],a[11]);},2506170314:function _(ID,a){return new IFC2X3.IfcCsgPrimitive3D(ID,a[0]);},2147822146:function _(ID,a){return new IFC2X3.IfcCsgSolid(ID,a[0]);},2601014836:function _(ID,_28){return new IFC2X3.IfcCurve(ID);},2827736869:function _(ID,a){return new IFC2X3.IfcCurveBoundedPlane(ID,a[0],a[1],a[2]);},693772133:function _(ID,a){return new IFC2X3.IfcDefinedSymbol(ID,a[0],a[1]);},606661476:function _(ID,a){return new IFC2X3.IfcDimensionCurve(ID,a[0],a[1],a[2]);},4054601972:function _(ID,a){return new IFC2X3.IfcDimensionCurveTerminator(ID,a[0],a[1],a[2],a[3],a[4]);},32440307:function _(ID,a){return new IFC2X3.IfcDirection(ID,a[0]);},2963535650:function _(ID,a){return new IFC2X3.IfcDoorLiningProperties(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9],a[10],a[11],a[12],a[13],a[14]);},1714330368:function _(ID,a){return new IFC2X3.IfcDoorPanelProperties(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8]);},526551008:function _(ID,a){return new IFC2X3.IfcDoorStyle(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9],a[10],a[11]);},3073041342:function _(ID,a){return new IFC2X3.IfcDraughtingCallout(ID,a[0]);},445594917:function _(ID,a){return new IFC2X3.IfcDraughtingPreDefinedColour(ID,a[0]);},4006246654:function _(ID,a){return new IFC2X3.IfcDraughtingPreDefinedCurveFont(ID,a[0]);},1472233963:function _(ID,a){return new IFC2X3.IfcEdgeLoop(ID,a[0]);},1883228015:function _(ID,a){return new IFC2X3.IfcElementQuantity(ID,a[0],a[1],a[2],a[3],a[4],a[5]);},339256511:function _(ID,a){return new IFC2X3.IfcElementType(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8]);},2777663545:function _(ID,a){return new IFC2X3.IfcElementarySurface(ID,a[0]);},2835456948:function _(ID,a){return new IFC2X3.IfcEllipseProfileDef(ID,a[0],a[1],a[2],a[3],a[4]);},80994333:function _(ID,a){return new IFC2X3.IfcEnergyProperties(ID,a[0],a[1],a[2],a[3],a[4],a[5]);},477187591:function _(ID,a){return new IFC2X3.IfcExtrudedAreaSolid(ID,a[0],a[1],a[2],a[3]);},2047409740:function _(ID,a){return new IFC2X3.IfcFaceBasedSurfaceModel(ID,a[0]);},374418227:function _(ID,a){return new IFC2X3.IfcFillAreaStyleHatching(ID,a[0],a[1],a[2],a[3],a[4]);},4203026998:function _(ID,a){return new IFC2X3.IfcFillAreaStyleTileSymbolWithStyle(ID,a[0]);},315944413:function _(ID,a){return new IFC2X3.IfcFillAreaStyleTiles(ID,a[0],a[1],a[2]);},3455213021:function _(ID,a){return new IFC2X3.IfcFluidFlowProperties(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9],a[10],a[11],a[12],a[13],a[14],a[15],a[16],a[17],a[18]);},4238390223:function _(ID,a){return new IFC2X3.IfcFurnishingElementType(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8]);},1268542332:function _(ID,a){return new IFC2X3.IfcFurnitureType(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9]);},987898635:function _(ID,a){return new IFC2X3.IfcGeometricCurveSet(ID,a[0]);},1484403080:function _(ID,a){return new IFC2X3.IfcIShapeProfileDef(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7]);},572779678:function _(ID,a){return new IFC2X3.IfcLShapeProfileDef(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9],a[10]);},1281925730:function _(ID,a){return new IFC2X3.IfcLine(ID,a[0],a[1]);},1425443689:function _(ID,a){return new IFC2X3.IfcManifoldSolidBrep(ID,a[0]);},3888040117:function _(ID,a){return new IFC2X3.IfcObject(ID,a[0],a[1],a[2],a[3],a[4]);},3388369263:function _(ID,a){return new IFC2X3.IfcOffsetCurve2D(ID,a[0],a[1],a[2]);},3505215534:function _(ID,a){return new IFC2X3.IfcOffsetCurve3D(ID,a[0],a[1],a[2],a[3]);},3566463478:function _(ID,a){return new IFC2X3.IfcPermeableCoveringProperties(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8]);},603570806:function _(ID,a){return new IFC2X3.IfcPlanarBox(ID,a[0],a[1],a[2]);},220341763:function _(ID,a){return new IFC2X3.IfcPlane(ID,a[0]);},2945172077:function _(ID,a){return new IFC2X3.IfcProcess(ID,a[0],a[1],a[2],a[3],a[4]);},4208778838:function _(ID,a){return new IFC2X3.IfcProduct(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6]);},103090709:function _(ID,a){return new IFC2X3.IfcProject(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8]);},4194566429:function _(ID,a){return new IFC2X3.IfcProjectionCurve(ID,a[0],a[1],a[2]);},1451395588:function _(ID,a){return new IFC2X3.IfcPropertySet(ID,a[0],a[1],a[2],a[3],a[4]);},3219374653:function _(ID,a){return new IFC2X3.IfcProxy(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8]);},2770003689:function _(ID,a){return new IFC2X3.IfcRectangleHollowProfileDef(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7]);},2798486643:function _(ID,a){return new IFC2X3.IfcRectangularPyramid(ID,a[0],a[1],a[2],a[3]);},3454111270:function _(ID,a){return new IFC2X3.IfcRectangularTrimmedSurface(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6]);},3939117080:function _(ID,a){return new IFC2X3.IfcRelAssigns(ID,a[0],a[1],a[2],a[3],a[4],a[5]);},1683148259:function _(ID,a){return new IFC2X3.IfcRelAssignsToActor(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7]);},2495723537:function _(ID,a){return new IFC2X3.IfcRelAssignsToControl(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6]);},1307041759:function _(ID,a){return new IFC2X3.IfcRelAssignsToGroup(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6]);},4278684876:function _(ID,a){return new IFC2X3.IfcRelAssignsToProcess(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7]);},2857406711:function _(ID,a){return new IFC2X3.IfcRelAssignsToProduct(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6]);},3372526763:function _(ID,a){return new IFC2X3.IfcRelAssignsToProjectOrder(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6]);},205026976:function _(ID,a){return new IFC2X3.IfcRelAssignsToResource(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6]);},1865459582:function _(ID,a){return new IFC2X3.IfcRelAssociates(ID,a[0],a[1],a[2],a[3],a[4]);},1327628568:function _(ID,a){return new IFC2X3.IfcRelAssociatesAppliedValue(ID,a[0],a[1],a[2],a[3],a[4],a[5]);},4095574036:function _(ID,a){return new IFC2X3.IfcRelAssociatesApproval(ID,a[0],a[1],a[2],a[3],a[4],a[5]);},919958153:function _(ID,a){return new IFC2X3.IfcRelAssociatesClassification(ID,a[0],a[1],a[2],a[3],a[4],a[5]);},2728634034:function _(ID,a){return new IFC2X3.IfcRelAssociatesConstraint(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6]);},982818633:function _(ID,a){return new IFC2X3.IfcRelAssociatesDocument(ID,a[0],a[1],a[2],a[3],a[4],a[5]);},3840914261:function _(ID,a){return new IFC2X3.IfcRelAssociatesLibrary(ID,a[0],a[1],a[2],a[3],a[4],a[5]);},2655215786:function _(ID,a){return new IFC2X3.IfcRelAssociatesMaterial(ID,a[0],a[1],a[2],a[3],a[4],a[5]);},2851387026:function _(ID,a){return new IFC2X3.IfcRelAssociatesProfileProperties(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7]);},826625072:function _(ID,a){return new IFC2X3.IfcRelConnects(ID,a[0],a[1],a[2],a[3]);},1204542856:function _(ID,a){return new IFC2X3.IfcRelConnectsElements(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6]);},3945020480:function _(ID,a){return new IFC2X3.IfcRelConnectsPathElements(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9],a[10]);},4201705270:function _(ID,a){return new IFC2X3.IfcRelConnectsPortToElement(ID,a[0],a[1],a[2],a[3],a[4],a[5]);},3190031847:function _(ID,a){return new IFC2X3.IfcRelConnectsPorts(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6]);},2127690289:function _(ID,a){return new IFC2X3.IfcRelConnectsStructuralActivity(ID,a[0],a[1],a[2],a[3],a[4],a[5]);},3912681535:function _(ID,a){return new IFC2X3.IfcRelConnectsStructuralElement(ID,a[0],a[1],a[2],a[3],a[4],a[5]);},1638771189:function _(ID,a){return new IFC2X3.IfcRelConnectsStructuralMember(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9]);},504942748:function _(ID,a){return new IFC2X3.IfcRelConnectsWithEccentricity(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9],a[10]);},3678494232:function _(ID,a){return new IFC2X3.IfcRelConnectsWithRealizingElements(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8]);},3242617779:function _(ID,a){return new IFC2X3.IfcRelContainedInSpatialStructure(ID,a[0],a[1],a[2],a[3],a[4],a[5]);},886880790:function _(ID,a){return new IFC2X3.IfcRelCoversBldgElements(ID,a[0],a[1],a[2],a[3],a[4],a[5]);},2802773753:function _(ID,a){return new IFC2X3.IfcRelCoversSpaces(ID,a[0],a[1],a[2],a[3],a[4],a[5]);},2551354335:function _(ID,a){return new IFC2X3.IfcRelDecomposes(ID,a[0],a[1],a[2],a[3],a[4],a[5]);},693640335:function _(ID,a){return new IFC2X3.IfcRelDefines(ID,a[0],a[1],a[2],a[3],a[4]);},4186316022:function _(ID,a){return new IFC2X3.IfcRelDefinesByProperties(ID,a[0],a[1],a[2],a[3],a[4],a[5]);},781010003:function _(ID,a){return new IFC2X3.IfcRelDefinesByType(ID,a[0],a[1],a[2],a[3],a[4],a[5]);},3940055652:function _(ID,a){return new IFC2X3.IfcRelFillsElement(ID,a[0],a[1],a[2],a[3],a[4],a[5]);},279856033:function _(ID,a){return new IFC2X3.IfcRelFlowControlElements(ID,a[0],a[1],a[2],a[3],a[4],a[5]);},4189434867:function _(ID,a){return new IFC2X3.IfcRelInteractionRequirements(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8]);},3268803585:function _(ID,a){return new IFC2X3.IfcRelNests(ID,a[0],a[1],a[2],a[3],a[4],a[5]);},2051452291:function _(ID,a){return new IFC2X3.IfcRelOccupiesSpaces(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7]);},202636808:function _(ID,a){return new IFC2X3.IfcRelOverridesProperties(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6]);},750771296:function _(ID,a){return new IFC2X3.IfcRelProjectsElement(ID,a[0],a[1],a[2],a[3],a[4],a[5]);},1245217292:function _(ID,a){return new IFC2X3.IfcRelReferencedInSpatialStructure(ID,a[0],a[1],a[2],a[3],a[4],a[5]);},1058617721:function _(ID,a){return new IFC2X3.IfcRelSchedulesCostItems(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6]);},4122056220:function _(ID,a){return new IFC2X3.IfcRelSequence(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7]);},366585022:function _(ID,a){return new IFC2X3.IfcRelServicesBuildings(ID,a[0],a[1],a[2],a[3],a[4],a[5]);},3451746338:function _(ID,a){return new IFC2X3.IfcRelSpaceBoundary(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8]);},1401173127:function _(ID,a){return new IFC2X3.IfcRelVoidsElement(ID,a[0],a[1],a[2],a[3],a[4],a[5]);},2914609552:function _(ID,a){return new IFC2X3.IfcResource(ID,a[0],a[1],a[2],a[3],a[4]);},1856042241:function _(ID,a){return new IFC2X3.IfcRevolvedAreaSolid(ID,a[0],a[1],a[2],a[3]);},4158566097:function _(ID,a){return new IFC2X3.IfcRightCircularCone(ID,a[0],a[1],a[2]);},3626867408:function _(ID,a){return new IFC2X3.IfcRightCircularCylinder(ID,a[0],a[1],a[2]);},2706606064:function _(ID,a){return new IFC2X3.IfcSpatialStructureElement(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8]);},3893378262:function _(ID,a){return new IFC2X3.IfcSpatialStructureElementType(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8]);},451544542:function _(ID,a){return new IFC2X3.IfcSphere(ID,a[0],a[1]);},3544373492:function _(ID,a){return new IFC2X3.IfcStructuralActivity(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8]);},3136571912:function _(ID,a){return new IFC2X3.IfcStructuralItem(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6]);},530289379:function _(ID,a){return new IFC2X3.IfcStructuralMember(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6]);},3689010777:function _(ID,a){return new IFC2X3.IfcStructuralReaction(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8]);},3979015343:function _(ID,a){return new IFC2X3.IfcStructuralSurfaceMember(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8]);},2218152070:function _(ID,a){return new IFC2X3.IfcStructuralSurfaceMemberVarying(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9],a[10]);},4070609034:function _(ID,a){return new IFC2X3.IfcStructuredDimensionCallout(ID,a[0]);},2028607225:function _(ID,a){return new IFC2X3.IfcSurfaceCurveSweptAreaSolid(ID,a[0],a[1],a[2],a[3],a[4],a[5]);},2809605785:function _(ID,a){return new IFC2X3.IfcSurfaceOfLinearExtrusion(ID,a[0],a[1],a[2],a[3]);},4124788165:function _(ID,a){return new IFC2X3.IfcSurfaceOfRevolution(ID,a[0],a[1],a[2]);},1580310250:function _(ID,a){return new IFC2X3.IfcSystemFurnitureElementType(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8]);},3473067441:function _(ID,a){return new IFC2X3.IfcTask(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9]);},2097647324:function _(ID,a){return new IFC2X3.IfcTransportElementType(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9]);},2296667514:function _(ID,a){return new IFC2X3.IfcActor(ID,a[0],a[1],a[2],a[3],a[4],a[5]);},1674181508:function _(ID,a){return new IFC2X3.IfcAnnotation(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6]);},3207858831:function _(ID,a){return new IFC2X3.IfcAsymmetricIShapeProfileDef(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9],a[10],a[11]);},1334484129:function _(ID,a){return new IFC2X3.IfcBlock(ID,a[0],a[1],a[2],a[3]);},3649129432:function _(ID,a){return new IFC2X3.IfcBooleanClippingResult(ID,a[0],a[1],a[2]);},1260505505:function _(ID,_29){return new IFC2X3.IfcBoundedCurve(ID);},4031249490:function _(ID,a){return new IFC2X3.IfcBuilding(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9],a[10],a[11]);},1950629157:function _(ID,a){return new IFC2X3.IfcBuildingElementType(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8]);},3124254112:function _(ID,a){return new IFC2X3.IfcBuildingStorey(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9]);},2937912522:function _(ID,a){return new IFC2X3.IfcCircleHollowProfileDef(ID,a[0],a[1],a[2],a[3],a[4]);},300633059:function _(ID,a){return new IFC2X3.IfcColumnType(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9]);},3732776249:function _(ID,a){return new IFC2X3.IfcCompositeCurve(ID,a[0],a[1]);},2510884976:function _(ID,a){return new IFC2X3.IfcConic(ID,a[0]);},2559216714:function _(ID,a){return new IFC2X3.IfcConstructionResource(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8]);},3293443760:function _(ID,a){return new IFC2X3.IfcControl(ID,a[0],a[1],a[2],a[3],a[4]);},3895139033:function _(ID,a){return new IFC2X3.IfcCostItem(ID,a[0],a[1],a[2],a[3],a[4]);},1419761937:function _(ID,a){return new IFC2X3.IfcCostSchedule(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9],a[10],a[11],a[12]);},1916426348:function _(ID,a){return new IFC2X3.IfcCoveringType(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9]);},3295246426:function _(ID,a){return new IFC2X3.IfcCrewResource(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8]);},1457835157:function _(ID,a){return new IFC2X3.IfcCurtainWallType(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9]);},681481545:function _(ID,a){return new IFC2X3.IfcDimensionCurveDirectedCallout(ID,a[0]);},3256556792:function _(ID,a){return new IFC2X3.IfcDistributionElementType(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8]);},3849074793:function _(ID,a){return new IFC2X3.IfcDistributionFlowElementType(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8]);},360485395:function _(ID,a){return new IFC2X3.IfcElectricalBaseProperties(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9],a[10],a[11],a[12],a[13]);},1758889154:function _(ID,a){return new IFC2X3.IfcElement(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7]);},4123344466:function _(ID,a){return new IFC2X3.IfcElementAssembly(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9]);},1623761950:function _(ID,a){return new IFC2X3.IfcElementComponent(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7]);},2590856083:function _(ID,a){return new IFC2X3.IfcElementComponentType(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8]);},1704287377:function _(ID,a){return new IFC2X3.IfcEllipse(ID,a[0],a[1],a[2]);},2107101300:function _(ID,a){return new IFC2X3.IfcEnergyConversionDeviceType(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8]);},1962604670:function _(ID,a){return new IFC2X3.IfcEquipmentElement(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7]);},3272907226:function _(ID,a){return new IFC2X3.IfcEquipmentStandard(ID,a[0],a[1],a[2],a[3],a[4]);},3174744832:function _(ID,a){return new IFC2X3.IfcEvaporativeCoolerType(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9]);},3390157468:function _(ID,a){return new IFC2X3.IfcEvaporatorType(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9]);},807026263:function _(ID,a){return new IFC2X3.IfcFacetedBrep(ID,a[0]);},3737207727:function _(ID,a){return new IFC2X3.IfcFacetedBrepWithVoids(ID,a[0],a[1]);},647756555:function _(ID,a){return new IFC2X3.IfcFastener(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7]);},2489546625:function _(ID,a){return new IFC2X3.IfcFastenerType(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8]);},2827207264:function _(ID,a){return new IFC2X3.IfcFeatureElement(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7]);},2143335405:function _(ID,a){return new IFC2X3.IfcFeatureElementAddition(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7]);},1287392070:function _(ID,a){return new IFC2X3.IfcFeatureElementSubtraction(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7]);},3907093117:function _(ID,a){return new IFC2X3.IfcFlowControllerType(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8]);},3198132628:function _(ID,a){return new IFC2X3.IfcFlowFittingType(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8]);},3815607619:function _(ID,a){return new IFC2X3.IfcFlowMeterType(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9]);},1482959167:function _(ID,a){return new IFC2X3.IfcFlowMovingDeviceType(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8]);},1834744321:function _(ID,a){return new IFC2X3.IfcFlowSegmentType(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8]);},1339347760:function _(ID,a){return new IFC2X3.IfcFlowStorageDeviceType(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8]);},2297155007:function _(ID,a){return new IFC2X3.IfcFlowTerminalType(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8]);},3009222698:function _(ID,a){return new IFC2X3.IfcFlowTreatmentDeviceType(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8]);},263784265:function _(ID,a){return new IFC2X3.IfcFurnishingElement(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7]);},814719939:function _(ID,a){return new IFC2X3.IfcFurnitureStandard(ID,a[0],a[1],a[2],a[3],a[4]);},200128114:function _(ID,a){return new IFC2X3.IfcGasTerminalType(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9]);},3009204131:function _(ID,a){return new IFC2X3.IfcGrid(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9]);},2706460486:function _(ID,a){return new IFC2X3.IfcGroup(ID,a[0],a[1],a[2],a[3],a[4]);},1251058090:function _(ID,a){return new IFC2X3.IfcHeatExchangerType(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9]);},1806887404:function _(ID,a){return new IFC2X3.IfcHumidifierType(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9]);},2391368822:function _(ID,a){return new IFC2X3.IfcInventory(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9],a[10]);},4288270099:function _(ID,a){return new IFC2X3.IfcJunctionBoxType(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9]);},3827777499:function _(ID,a){return new IFC2X3.IfcLaborResource(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9]);},1051575348:function _(ID,a){return new IFC2X3.IfcLampType(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9]);},1161773419:function _(ID,a){return new IFC2X3.IfcLightFixtureType(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9]);},2506943328:function _(ID,a){return new IFC2X3.IfcLinearDimension(ID,a[0]);},377706215:function _(ID,a){return new IFC2X3.IfcMechanicalFastener(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9]);},2108223431:function _(ID,a){return new IFC2X3.IfcMechanicalFastenerType(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8]);},3181161470:function _(ID,a){return new IFC2X3.IfcMemberType(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9]);},977012517:function _(ID,a){return new IFC2X3.IfcMotorConnectionType(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9]);},1916936684:function _(ID,a){return new IFC2X3.IfcMove(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9],a[10],a[11],a[12]);},4143007308:function _(ID,a){return new IFC2X3.IfcOccupant(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6]);},3588315303:function _(ID,a){return new IFC2X3.IfcOpeningElement(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7]);},3425660407:function _(ID,a){return new IFC2X3.IfcOrderAction(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9],a[10]);},2837617999:function _(ID,a){return new IFC2X3.IfcOutletType(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9]);},2382730787:function _(ID,a){return new IFC2X3.IfcPerformanceHistory(ID,a[0],a[1],a[2],a[3],a[4],a[5]);},3327091369:function _(ID,a){return new IFC2X3.IfcPermit(ID,a[0],a[1],a[2],a[3],a[4],a[5]);},804291784:function _(ID,a){return new IFC2X3.IfcPipeFittingType(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9]);},4231323485:function _(ID,a){return new IFC2X3.IfcPipeSegmentType(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9]);},4017108033:function _(ID,a){return new IFC2X3.IfcPlateType(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9]);},3724593414:function _(ID,a){return new IFC2X3.IfcPolyline(ID,a[0]);},3740093272:function _(ID,a){return new IFC2X3.IfcPort(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6]);},2744685151:function _(ID,a){return new IFC2X3.IfcProcedure(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7]);},2904328755:function _(ID,a){return new IFC2X3.IfcProjectOrder(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7]);},3642467123:function _(ID,a){return new IFC2X3.IfcProjectOrderRecord(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6]);},3651124850:function _(ID,a){return new IFC2X3.IfcProjectionElement(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7]);},1842657554:function _(ID,a){return new IFC2X3.IfcProtectiveDeviceType(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9]);},2250791053:function _(ID,a){return new IFC2X3.IfcPumpType(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9]);},3248260540:function _(ID,a){return new IFC2X3.IfcRadiusDimension(ID,a[0]);},2893384427:function _(ID,a){return new IFC2X3.IfcRailingType(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9]);},2324767716:function _(ID,a){return new IFC2X3.IfcRampFlightType(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9]);},160246688:function _(ID,a){return new IFC2X3.IfcRelAggregates(ID,a[0],a[1],a[2],a[3],a[4],a[5]);},2863920197:function _(ID,a){return new IFC2X3.IfcRelAssignsTasks(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7]);},1768891740:function _(ID,a){return new IFC2X3.IfcSanitaryTerminalType(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9]);},3517283431:function _(ID,a){return new IFC2X3.IfcScheduleTimeControl(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9],a[10],a[11],a[12],a[13],a[14],a[15],a[16],a[17],a[18],a[19],a[20],a[21],a[22]);},4105383287:function _(ID,a){return new IFC2X3.IfcServiceLife(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6]);},4097777520:function _(ID,a){return new IFC2X3.IfcSite(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9],a[10],a[11],a[12],a[13]);},2533589738:function _(ID,a){return new IFC2X3.IfcSlabType(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9]);},3856911033:function _(ID,a){return new IFC2X3.IfcSpace(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9],a[10]);},1305183839:function _(ID,a){return new IFC2X3.IfcSpaceHeaterType(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9]);},652456506:function _(ID,a){return new IFC2X3.IfcSpaceProgram(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9]);},3812236995:function _(ID,a){return new IFC2X3.IfcSpaceType(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9]);},3112655638:function _(ID,a){return new IFC2X3.IfcStackTerminalType(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9]);},1039846685:function _(ID,a){return new IFC2X3.IfcStairFlightType(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9]);},682877961:function _(ID,a){return new IFC2X3.IfcStructuralAction(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9],a[10]);},1179482911:function _(ID,a){return new IFC2X3.IfcStructuralConnection(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7]);},4243806635:function _(ID,a){return new IFC2X3.IfcStructuralCurveConnection(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7]);},214636428:function _(ID,a){return new IFC2X3.IfcStructuralCurveMember(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7]);},2445595289:function _(ID,a){return new IFC2X3.IfcStructuralCurveMemberVarying(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7]);},1807405624:function _(ID,a){return new IFC2X3.IfcStructuralLinearAction(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9],a[10],a[11]);},1721250024:function _(ID,a){return new IFC2X3.IfcStructuralLinearActionVarying(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9],a[10],a[11],a[12],a[13]);},1252848954:function _(ID,a){return new IFC2X3.IfcStructuralLoadGroup(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9]);},1621171031:function _(ID,a){return new IFC2X3.IfcStructuralPlanarAction(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9],a[10],a[11]);},3987759626:function _(ID,a){return new IFC2X3.IfcStructuralPlanarActionVarying(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9],a[10],a[11],a[12],a[13]);},2082059205:function _(ID,a){return new IFC2X3.IfcStructuralPointAction(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9],a[10]);},734778138:function _(ID,a){return new IFC2X3.IfcStructuralPointConnection(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7]);},1235345126:function _(ID,a){return new IFC2X3.IfcStructuralPointReaction(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8]);},2986769608:function _(ID,a){return new IFC2X3.IfcStructuralResultGroup(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7]);},1975003073:function _(ID,a){return new IFC2X3.IfcStructuralSurfaceConnection(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7]);},148013059:function _(ID,a){return new IFC2X3.IfcSubContractResource(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9],a[10]);},2315554128:function _(ID,a){return new IFC2X3.IfcSwitchingDeviceType(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9]);},2254336722:function _(ID,a){return new IFC2X3.IfcSystem(ID,a[0],a[1],a[2],a[3],a[4]);},5716631:function _(ID,a){return new IFC2X3.IfcTankType(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9]);},1637806684:function _(ID,a){return new IFC2X3.IfcTimeSeriesSchedule(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7]);},1692211062:function _(ID,a){return new IFC2X3.IfcTransformerType(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9]);},1620046519:function _(ID,a){return new IFC2X3.IfcTransportElement(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9],a[10]);},3593883385:function _(ID,a){return new IFC2X3.IfcTrimmedCurve(ID,a[0],a[1],a[2],a[3],a[4]);},1600972822:function _(ID,a){return new IFC2X3.IfcTubeBundleType(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9]);},1911125066:function _(ID,a){return new IFC2X3.IfcUnitaryEquipmentType(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9]);},728799441:function _(ID,a){return new IFC2X3.IfcValveType(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9]);},2769231204:function _(ID,a){return new IFC2X3.IfcVirtualElement(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7]);},1898987631:function _(ID,a){return new IFC2X3.IfcWallType(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9]);},1133259667:function _(ID,a){return new IFC2X3.IfcWasteTerminalType(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9]);},1028945134:function _(ID,a){return new IFC2X3.IfcWorkControl(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9],a[10],a[11],a[12],a[13],a[14]);},4218914973:function _(ID,a){return new IFC2X3.IfcWorkPlan(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9],a[10],a[11],a[12],a[13],a[14]);},3342526732:function _(ID,a){return new IFC2X3.IfcWorkSchedule(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9],a[10],a[11],a[12],a[13],a[14]);},1033361043:function _(ID,a){return new IFC2X3.IfcZone(ID,a[0],a[1],a[2],a[3],a[4]);},1213861670:function _(ID,a){return new IFC2X3.Ifc2DCompositeCurve(ID,a[0],a[1]);},3821786052:function _(ID,a){return new IFC2X3.IfcActionRequest(ID,a[0],a[1],a[2],a[3],a[4],a[5]);},1411407467:function _(ID,a){return new IFC2X3.IfcAirTerminalBoxType(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9]);},3352864051:function _(ID,a){return new IFC2X3.IfcAirTerminalType(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9]);},1871374353:function _(ID,a){return new IFC2X3.IfcAirToAirHeatRecoveryType(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9]);},2470393545:function _(ID,a){return new IFC2X3.IfcAngularDimension(ID,a[0]);},3460190687:function _(ID,a){return new IFC2X3.IfcAsset(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9],a[10],a[11],a[12],a[13]);},1967976161:function _(ID,a){return new IFC2X3.IfcBSplineCurve(ID,a[0],a[1],a[2],a[3],a[4]);},819618141:function _(ID,a){return new IFC2X3.IfcBeamType(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9]);},1916977116:function _(ID,a){return new IFC2X3.IfcBezierCurve(ID,a[0],a[1],a[2],a[3],a[4]);},231477066:function _(ID,a){return new IFC2X3.IfcBoilerType(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9]);},3299480353:function _(ID,a){return new IFC2X3.IfcBuildingElement(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7]);},52481810:function _(ID,a){return new IFC2X3.IfcBuildingElementComponent(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7]);},2979338954:function _(ID,a){return new IFC2X3.IfcBuildingElementPart(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7]);},1095909175:function _(ID,a){return new IFC2X3.IfcBuildingElementProxy(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8]);},1909888760:function _(ID,a){return new IFC2X3.IfcBuildingElementProxyType(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9]);},395041908:function _(ID,a){return new IFC2X3.IfcCableCarrierFittingType(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9]);},3293546465:function _(ID,a){return new IFC2X3.IfcCableCarrierSegmentType(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9]);},1285652485:function _(ID,a){return new IFC2X3.IfcCableSegmentType(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9]);},2951183804:function _(ID,a){return new IFC2X3.IfcChillerType(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9]);},2611217952:function _(ID,a){return new IFC2X3.IfcCircle(ID,a[0],a[1]);},2301859152:function _(ID,a){return new IFC2X3.IfcCoilType(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9]);},843113511:function _(ID,a){return new IFC2X3.IfcColumn(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7]);},3850581409:function _(ID,a){return new IFC2X3.IfcCompressorType(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9]);},2816379211:function _(ID,a){return new IFC2X3.IfcCondenserType(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9]);},2188551683:function _(ID,a){return new IFC2X3.IfcCondition(ID,a[0],a[1],a[2],a[3],a[4]);},1163958913:function _(ID,a){return new IFC2X3.IfcConditionCriterion(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6]);},3898045240:function _(ID,a){return new IFC2X3.IfcConstructionEquipmentResource(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8]);},1060000209:function _(ID,a){return new IFC2X3.IfcConstructionMaterialResource(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9],a[10]);},488727124:function _(ID,a){return new IFC2X3.IfcConstructionProductResource(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8]);},335055490:function _(ID,a){return new IFC2X3.IfcCooledBeamType(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9]);},2954562838:function _(ID,a){return new IFC2X3.IfcCoolingTowerType(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9]);},1973544240:function _(ID,a){return new IFC2X3.IfcCovering(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8]);},3495092785:function _(ID,a){return new IFC2X3.IfcCurtainWall(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7]);},3961806047:function _(ID,a){return new IFC2X3.IfcDamperType(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9]);},4147604152:function _(ID,a){return new IFC2X3.IfcDiameterDimension(ID,a[0]);},1335981549:function _(ID,a){return new IFC2X3.IfcDiscreteAccessory(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7]);},2635815018:function _(ID,a){return new IFC2X3.IfcDiscreteAccessoryType(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8]);},1599208980:function _(ID,a){return new IFC2X3.IfcDistributionChamberElementType(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9]);},2063403501:function _(ID,a){return new IFC2X3.IfcDistributionControlElementType(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8]);},1945004755:function _(ID,a){return new IFC2X3.IfcDistributionElement(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7]);},3040386961:function _(ID,a){return new IFC2X3.IfcDistributionFlowElement(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7]);},3041715199:function _(ID,a){return new IFC2X3.IfcDistributionPort(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7]);},395920057:function _(ID,a){return new IFC2X3.IfcDoor(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9]);},869906466:function _(ID,a){return new IFC2X3.IfcDuctFittingType(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9]);},3760055223:function _(ID,a){return new IFC2X3.IfcDuctSegmentType(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9]);},2030761528:function _(ID,a){return new IFC2X3.IfcDuctSilencerType(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9]);},855621170:function _(ID,a){return new IFC2X3.IfcEdgeFeature(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8]);},663422040:function _(ID,a){return new IFC2X3.IfcElectricApplianceType(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9]);},3277789161:function _(ID,a){return new IFC2X3.IfcElectricFlowStorageDeviceType(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9]);},1534661035:function _(ID,a){return new IFC2X3.IfcElectricGeneratorType(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9]);},1365060375:function _(ID,a){return new IFC2X3.IfcElectricHeaterType(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9]);},1217240411:function _(ID,a){return new IFC2X3.IfcElectricMotorType(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9]);},712377611:function _(ID,a){return new IFC2X3.IfcElectricTimeControlType(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9]);},1634875225:function _(ID,a){return new IFC2X3.IfcElectricalCircuit(ID,a[0],a[1],a[2],a[3],a[4]);},857184966:function _(ID,a){return new IFC2X3.IfcElectricalElement(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7]);},1658829314:function _(ID,a){return new IFC2X3.IfcEnergyConversionDevice(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7]);},346874300:function _(ID,a){return new IFC2X3.IfcFanType(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9]);},1810631287:function _(ID,a){return new IFC2X3.IfcFilterType(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9]);},4222183408:function _(ID,a){return new IFC2X3.IfcFireSuppressionTerminalType(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9]);},2058353004:function _(ID,a){return new IFC2X3.IfcFlowController(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7]);},4278956645:function _(ID,a){return new IFC2X3.IfcFlowFitting(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7]);},4037862832:function _(ID,a){return new IFC2X3.IfcFlowInstrumentType(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9]);},3132237377:function _(ID,a){return new IFC2X3.IfcFlowMovingDevice(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7]);},987401354:function _(ID,a){return new IFC2X3.IfcFlowSegment(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7]);},707683696:function _(ID,a){return new IFC2X3.IfcFlowStorageDevice(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7]);},2223149337:function _(ID,a){return new IFC2X3.IfcFlowTerminal(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7]);},3508470533:function _(ID,a){return new IFC2X3.IfcFlowTreatmentDevice(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7]);},900683007:function _(ID,a){return new IFC2X3.IfcFooting(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8]);},1073191201:function _(ID,a){return new IFC2X3.IfcMember(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7]);},1687234759:function _(ID,a){return new IFC2X3.IfcPile(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9]);},3171933400:function _(ID,a){return new IFC2X3.IfcPlate(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7]);},2262370178:function _(ID,a){return new IFC2X3.IfcRailing(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8]);},3024970846:function _(ID,a){return new IFC2X3.IfcRamp(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8]);},3283111854:function _(ID,a){return new IFC2X3.IfcRampFlight(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7]);},3055160366:function _(ID,a){return new IFC2X3.IfcRationalBezierCurve(ID,a[0],a[1],a[2],a[3],a[4],a[5]);},3027567501:function _(ID,a){return new IFC2X3.IfcReinforcingElement(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8]);},2320036040:function _(ID,a){return new IFC2X3.IfcReinforcingMesh(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9],a[10],a[11],a[12],a[13],a[14],a[15],a[16]);},2016517767:function _(ID,a){return new IFC2X3.IfcRoof(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8]);},1376911519:function _(ID,a){return new IFC2X3.IfcRoundedEdgeFeature(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9]);},1783015770:function _(ID,a){return new IFC2X3.IfcSensorType(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9]);},1529196076:function _(ID,a){return new IFC2X3.IfcSlab(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8]);},331165859:function _(ID,a){return new IFC2X3.IfcStair(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8]);},4252922144:function _(ID,a){return new IFC2X3.IfcStairFlight(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9],a[10],a[11]);},2515109513:function _(ID,a){return new IFC2X3.IfcStructuralAnalysisModel(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8]);},3824725483:function _(ID,a){return new IFC2X3.IfcTendon(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9],a[10],a[11],a[12],a[13],a[14],a[15],a[16]);},2347447852:function _(ID,a){return new IFC2X3.IfcTendonAnchor(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8]);},3313531582:function _(ID,a){return new IFC2X3.IfcVibrationIsolatorType(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9]);},2391406946:function _(ID,a){return new IFC2X3.IfcWall(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7]);},3512223829:function _(ID,a){return new IFC2X3.IfcWallStandardCase(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7]);},3304561284:function _(ID,a){return new IFC2X3.IfcWindow(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9]);},2874132201:function _(ID,a){return new IFC2X3.IfcActuatorType(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9]);},3001207471:function _(ID,a){return new IFC2X3.IfcAlarmType(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9]);},753842376:function _(ID,a){return new IFC2X3.IfcBeam(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7]);},2454782716:function _(ID,a){return new IFC2X3.IfcChamferEdgeFeature(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9],a[10]);},578613899:function _(ID,a){return new IFC2X3.IfcControllerType(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9]);},1052013943:function _(ID,a){return new IFC2X3.IfcDistributionChamberElement(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7]);},1062813311:function _(ID,a){return new IFC2X3.IfcDistributionControlElement(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8]);},3700593921:function _(ID,a){return new IFC2X3.IfcElectricDistributionPoint(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9]);},979691226:function _(ID,a){return new IFC2X3.IfcReinforcingBar(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9],a[10],a[11],a[12],a[13]);}};ToRawLineData[1]={3630933823:function _(i){return[i.Role,i.UserDefinedRole,i.Description];},618182010:function _(i){return[i.Purpose,i.Description,i.UserDefinedPurpose];},639542469:function _(i){return[i.ApplicationDeveloper,i.Version,i.ApplicationFullName,i.ApplicationIdentifier];},411424972:function _(i){return[i.Name,i.Description,i.AppliedValue,i.UnitBasis,i.ApplicableDate,i.FixedUntilDate];},1110488051:function _(i){return[i.ComponentOfTotal,i.Components,i.ArithmeticOperator,i.Name,i.Description];},130549933:function _(i){return[i.Description,i.ApprovalDateTime,i.ApprovalStatus,i.ApprovalLevel,i.ApprovalQualifier,i.Name,i.Identifier];},2080292479:function _(i){return[i.Actor,i.Approval,i.Role];},390851274:function _(i){return[i.ApprovedProperties,i.Approval];},3869604511:function _(i){return[i.RelatedApproval,i.RelatingApproval,i.Description,i.Name];},4037036970:function _(i){return[i.Name];},1560379544:function _(i){return[i.Name,i.LinearStiffnessByLengthX,i.LinearStiffnessByLengthY,i.LinearStiffnessByLengthZ,i.RotationalStiffnessByLengthX,i.RotationalStiffnessByLengthY,i.RotationalStiffnessByLengthZ];},3367102660:function _(i){return[i.Name,i.LinearStiffnessByAreaX,i.LinearStiffnessByAreaY,i.LinearStiffnessByAreaZ];},1387855156:function _(i){return[i.Name,i.LinearStiffnessX,i.LinearStiffnessY,i.LinearStiffnessZ,i.RotationalStiffnessX,i.RotationalStiffnessY,i.RotationalStiffnessZ];},2069777674:function _(i){return[i.Name,i.LinearStiffnessX,i.LinearStiffnessY,i.LinearStiffnessZ,i.RotationalStiffnessX,i.RotationalStiffnessY,i.RotationalStiffnessZ,i.WarpingStiffness];},622194075:function _(i){return[i.DayComponent,i.MonthComponent,i.YearComponent];},747523909:function _(i){return[i.Source,i.Edition,i.EditionDate,i.Name];},1767535486:function _(i){return[i.Notation,i.ItemOf,i.Title];},1098599126:function _(i){return[i.RelatingItem,i.RelatedItems];},938368621:function _(i){return[i.NotationFacets];},3639012971:function _(i){return[i.NotationValue];},3264961684:function _(i){return[i.Name];},2859738748:function _(_30){return[];},2614616156:function _(i){return[i.PointOnRelatingElement,i.PointOnRelatedElement];},4257277454:function _(i){return[i.LocationAtRelatingElement,i.LocationAtRelatedElement,i.ProfileOfPort];},2732653382:function _(i){return[i.SurfaceOnRelatingElement,i.SurfaceOnRelatedElement];},1959218052:function _(i){return[i.Name,i.Description,i.ConstraintGrade,i.ConstraintSource,i.CreatingActor,i.CreationTime,i.UserDefinedGrade];},1658513725:function _(i){return[i.Name,i.Description,i.RelatingConstraint,i.RelatedConstraints,i.LogicalAggregator];},613356794:function _(i){return[i.ClassifiedConstraint,i.RelatedClassifications];},347226245:function _(i){return[i.Name,i.Description,i.RelatingConstraint,i.RelatedConstraints];},1065062679:function _(i){return[i.HourOffset,i.MinuteOffset,i.Sense];},602808272:function _(i){return[i.Name,i.Description,i.AppliedValue,i.UnitBasis,i.ApplicableDate,i.FixedUntilDate,i.CostType,i.Condition];},539742890:function _(i){return[i.RelatingMonetaryUnit,i.RelatedMonetaryUnit,i.ExchangeRate,i.RateDateTime,i.RateSource];},1105321065:function _(i){return[i.Name,i.PatternList];},2367409068:function _(i){return[i.Name,i.CurveFont,i.CurveFontScaling];},3510044353:function _(i){return[i.VisibleSegmentLength,i.InvisibleSegmentLength];},1072939445:function _(i){return[i.DateComponent,i.TimeComponent];},1765591967:function _(i){return[i.Elements,i.UnitType,i.UserDefinedType];},1045800335:function _(i){return[i.Unit,i.Exponent];},2949456006:function _(i){return[i.LengthExponent,i.MassExponent,i.TimeExponent,i.ElectricCurrentExponent,i.ThermodynamicTemperatureExponent,i.AmountOfSubstanceExponent,i.LuminousIntensityExponent];},1376555844:function _(i){return[i.FileExtension,i.MimeContentType,i.MimeSubtype];},1154170062:function _(i){return[i.DocumentId,i.Name,i.Description,i.DocumentReferences,i.Purpose,i.IntendedUse,i.Scope,i.Revision,i.DocumentOwner,i.Editors,i.CreationTime,i.LastRevisionTime,i.ElectronicFormat,i.ValidFrom,i.ValidUntil,i.Confidentiality,i.Status];},770865208:function _(i){return[i.RelatingDocument,i.RelatedDocuments,i.RelationshipType];},3796139169:function _(i){return[i.Name,i.Description,i.RelatingDraughtingCallout,i.RelatedDraughtingCallout];},1648886627:function _(i){return[i.Name,i.Description,i.AppliedValue,i.UnitBasis,i.ApplicableDate,i.FixedUntilDate,i.ImpactType,i.Category,i.UserDefinedCategory];},3200245327:function _(i){return[i.Location,i.ItemReference,i.Name];},2242383968:function _(i){return[i.Location,i.ItemReference,i.Name];},1040185647:function _(i){return[i.Location,i.ItemReference,i.Name];},3207319532:function _(i){return[i.Location,i.ItemReference,i.Name];},3548104201:function _(i){return[i.Location,i.ItemReference,i.Name];},852622518:function _(i){var _a;return[i.AxisTag,i.AxisCurve,(_a=i.SameSense)==null?void 0:_a.toString()];},3020489413:function _(i){return[i.TimeStamp,i.ListValues.map(function(p){return Labelise(p);})];},2655187982:function _(i){return[i.Name,i.Version,i.Publisher,i.VersionDate,i.LibraryReference];},3452421091:function _(i){return[i.Location,i.ItemReference,i.Name];},4162380809:function _(i){return[i.MainPlaneAngle,i.SecondaryPlaneAngle,i.LuminousIntensity];},1566485204:function _(i){return[i.LightDistributionCurve,i.DistributionData];},30780891:function _(i){return[i.HourComponent,i.MinuteComponent,i.SecondComponent,i.Zone,i.DaylightSavingOffset];},1838606355:function _(i){return[i.Name];},1847130766:function _(i){return[i.MaterialClassifications,i.ClassifiedMaterial];},248100487:function _(i){var _a;return[i.Material,i.LayerThickness,(_a=i.IsVentilated)==null?void 0:_a.toString()];},3303938423:function _(i){return[i.MaterialLayers,i.LayerSetName];},1303795690:function _(i){return[i.ForLayerSet,i.LayerSetDirection,i.DirectionSense,i.OffsetFromReferenceLine];},2199411900:function _(i){return[i.Materials];},3265635763:function _(i){return[i.Material];},2597039031:function _(i){return[Labelise(i.ValueComponent),i.UnitComponent];},4256014907:function _(i){return[i.Material,i.DynamicViscosity,i.YoungModulus,i.ShearModulus,i.PoissonRatio,i.ThermalExpansionCoefficient];},677618848:function _(i){return[i.Material,i.DynamicViscosity,i.YoungModulus,i.ShearModulus,i.PoissonRatio,i.ThermalExpansionCoefficient,i.YieldStress,i.UltimateStress,i.UltimateStrain,i.HardeningModule,i.ProportionalStress,i.PlasticStrain,i.Relaxations];},3368373690:function _(i){return[i.Name,i.Description,i.ConstraintGrade,i.ConstraintSource,i.CreatingActor,i.CreationTime,i.UserDefinedGrade,i.Benchmark,i.ValueSource,i.DataValue];},2706619895:function _(i){return[i.Currency];},1918398963:function _(i){return[i.Dimensions,i.UnitType];},3701648758:function _(_31){return[];},2251480897:function _(i){return[i.Name,i.Description,i.ConstraintGrade,i.ConstraintSource,i.CreatingActor,i.CreationTime,i.UserDefinedGrade,i.BenchmarkValues,i.ResultValues,i.ObjectiveQualifier,i.UserDefinedQualifier];},1227763645:function _(i){return[i.Material,i.VisibleTransmittance,i.SolarTransmittance,i.ThermalIrTransmittance,i.ThermalIrEmissivityBack,i.ThermalIrEmissivityFront,i.VisibleReflectanceBack,i.VisibleReflectanceFront,i.SolarReflectanceFront,i.SolarReflectanceBack];},4251960020:function _(i){return[i.Id,i.Name,i.Description,i.Roles,i.Addresses];},1411181986:function _(i){return[i.Name,i.Description,i.RelatingOrganization,i.RelatedOrganizations];},1207048766:function _(i){return[i.OwningUser,i.OwningApplication,i.State,i.ChangeAction,i.LastModifiedDate,i.LastModifyingUser,i.LastModifyingApplication,i.CreationDate];},2077209135:function _(i){return[i.Id,i.FamilyName,i.GivenName,i.MiddleNames,i.PrefixTitles,i.SuffixTitles,i.Roles,i.Addresses];},101040310:function _(i){return[i.ThePerson,i.TheOrganization,i.Roles];},2483315170:function _(i){return[i.Name,i.Description];},2226359599:function _(i){return[i.Name,i.Description,i.Unit];},3355820592:function _(i){return[i.Purpose,i.Description,i.UserDefinedPurpose,i.InternalLocation,i.AddressLines,i.PostalBox,i.Town,i.Region,i.PostalCode,i.Country];},3727388367:function _(i){return[i.Name];},990879717:function _(i){return[i.Name];},3213052703:function _(i){return[i.Name];},1775413392:function _(i){return[i.Name];},2022622350:function _(i){return[i.Name,i.Description,i.AssignedItems,i.Identifier];},1304840413:function _(i){return[i.Name,i.Description,i.AssignedItems,i.Identifier,i.LayerOn,i.LayerFrozen,i.LayerBlocked,i.LayerStyles];},3119450353:function _(i){return[i.Name];},2417041796:function _(i){return[i.Styles];},2095639259:function _(i){return[i.Name,i.Description,i.Representations];},2267347899:function _(i){return[i.Material,i.SpecificHeatCapacity,i.N20Content,i.COContent,i.CO2Content];},3958567839:function _(i){return[i.ProfileType,i.ProfileName];},2802850158:function _(i){return[i.ProfileName,i.ProfileDefinition];},2598011224:function _(i){return[i.Name,i.Description];},3896028662:function _(i){return[i.RelatingConstraint,i.RelatedProperties,i.Name,i.Description];},148025276:function _(i){return[i.DependingProperty,i.DependantProperty,i.Name,i.Description,i.Expression];},3710013099:function _(i){return[i.Name,i.EnumerationValues.map(function(p){return Labelise(p);}),i.Unit];},2044713172:function _(i){return[i.Name,i.Description,i.Unit,i.AreaValue];},2093928680:function _(i){return[i.Name,i.Description,i.Unit,i.CountValue];},931644368:function _(i){return[i.Name,i.Description,i.Unit,i.LengthValue];},3252649465:function _(i){return[i.Name,i.Description,i.Unit,i.TimeValue];},2405470396:function _(i){return[i.Name,i.Description,i.Unit,i.VolumeValue];},825690147:function _(i){return[i.Name,i.Description,i.Unit,i.WeightValue];},2692823254:function _(i){return[i.ReferencedDocument,i.ReferencingValues,i.Name,i.Description];},1580146022:function _(i){return[i.TotalCrossSectionArea,i.SteelGrade,i.BarSurface,i.EffectiveDepth,i.NominalBarDiameter,i.BarCount];},1222501353:function _(i){return[i.RelaxationValue,i.InitialStress];},1076942058:function _(i){return[i.ContextOfItems,i.RepresentationIdentifier,i.RepresentationType,i.Items];},3377609919:function _(i){return[i.ContextIdentifier,i.ContextType];},3008791417:function _(_32){return[];},1660063152:function _(i){return[i.MappingOrigin,i.MappedRepresentation];},3679540991:function _(i){return[i.ProfileName,i.ProfileDefinition,i.Thickness,i.RibHeight,i.RibWidth,i.RibSpacing,i.Direction];},2341007311:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description];},448429030:function _(i){return[i.Dimensions,i.UnitType,i.Prefix,i.Name];},2042790032:function _(i){return[i.SectionType,i.StartProfile,i.EndProfile];},4165799628:function _(i){return[i.LongitudinalStartPosition,i.LongitudinalEndPosition,i.TransversePosition,i.ReinforcementRole,i.SectionDefinition,i.CrossSectionReinforcementDefinitions];},867548509:function _(i){return[i.ShapeRepresentations,i.Name,i.Description,i.ProductDefinitional,i.PartOfProductDefinitionShape];},3982875396:function _(i){return[i.ContextOfItems,i.RepresentationIdentifier,i.RepresentationType,i.Items];},4240577450:function _(i){return[i.ContextOfItems,i.RepresentationIdentifier,i.RepresentationType,i.Items];},3692461612:function _(i){return[i.Name,i.Description];},2273995522:function _(i){return[i.Name];},2162789131:function _(i){return[i.Name];},2525727697:function _(i){return[i.Name];},3408363356:function _(i){return[i.Name,i.DeltaT_Constant,i.DeltaT_Y,i.DeltaT_Z];},2830218821:function _(i){return[i.ContextOfItems,i.RepresentationIdentifier,i.RepresentationType,i.Items];},3958052878:function _(i){return[i.Item,i.Styles,i.Name];},3049322572:function _(i){return[i.ContextOfItems,i.RepresentationIdentifier,i.RepresentationType,i.Items];},1300840506:function _(i){return[i.Name,i.Side,i.Styles];},3303107099:function _(i){return[i.DiffuseTransmissionColour,i.DiffuseReflectionColour,i.TransmissionColour,i.ReflectanceColour];},1607154358:function _(i){return[i.RefractionIndex,i.DispersionFactor];},846575682:function _(i){return[i.SurfaceColour];},1351298697:function _(i){return[i.Textures];},626085974:function _(i){return[i.RepeatS,i.RepeatT,i.TextureType,i.TextureTransform];},1290481447:function _(i){return[i.Name,Labelise(i.StyleOfSymbol)];},985171141:function _(i){return[i.Name,i.Rows];},531007025:function _(i){return[i.RowCells.map(function(p){return Labelise(p);}),i.IsHeading];},912023232:function _(i){return[i.Purpose,i.Description,i.UserDefinedPurpose,i.TelephoneNumbers,i.FacsimileNumbers,i.PagerNumber,i.ElectronicMailAddresses,i.WWWHomePageURL];},1447204868:function _(i){return[i.Name,i.TextCharacterAppearance,i.TextStyle,i.TextFontStyle];},1983826977:function _(i){return[i.Name,i.FontFamily,i.FontStyle,i.FontVariant,i.FontWeight,Labelise(i.FontSize)];},2636378356:function _(i){return[i.Colour,i.BackgroundColour];},1640371178:function _(i){return[!i.TextIndent?null:Labelise(i.TextIndent),i.TextAlign,i.TextDecoration,!i.LetterSpacing?null:Labelise(i.LetterSpacing),!i.WordSpacing?null:Labelise(i.WordSpacing),i.TextTransform,!i.LineHeight?null:Labelise(i.LineHeight)];},1484833681:function _(i){return[i.BoxHeight,i.BoxWidth,i.BoxSlantAngle,i.BoxRotateAngle,!i.CharacterSpacing?null:Labelise(i.CharacterSpacing)];},280115917:function _(_33){return[];},1742049831:function _(i){return[i.Mode,i.Parameter.map(function(p){return Labelise(p);})];},2552916305:function _(i){return[i.TextureMaps];},1210645708:function _(i){return[i.Coordinates];},3317419933:function _(i){return[i.Material,i.SpecificHeatCapacity,i.BoilingPoint,i.FreezingPoint,i.ThermalConductivity];},3101149627:function _(i){return[i.Name,i.Description,i.StartTime,i.EndTime,i.TimeSeriesDataType,i.DataOrigin,i.UserDefinedDataOrigin,i.Unit];},1718945513:function _(i){return[i.ReferencedTimeSeries,i.TimeSeriesReferences];},581633288:function _(i){return[i.ListValues.map(function(p){return Labelise(p);})];},1377556343:function _(_34){return[];},1735638870:function _(i){return[i.ContextOfItems,i.RepresentationIdentifier,i.RepresentationType,i.Items];},180925521:function _(i){return[i.Units];},2799835756:function _(_35){return[];},3304826586:function _(i){return[i.TextureVertices,i.TexturePoints];},1907098498:function _(i){return[i.VertexGeometry];},891718957:function _(i){return[i.IntersectingAxes,i.OffsetDistances];},1065908215:function _(i){return[i.Material,i.IsPotable,i.Hardness,i.AlkalinityConcentration,i.AcidityConcentration,i.ImpuritiesContent,i.PHLevel,i.DissolvedSolidsContent];},2442683028:function _(i){return[i.Item,i.Styles,i.Name];},962685235:function _(i){return[i.Item,i.Styles,i.Name];},3612888222:function _(i){return[i.Item,i.Styles,i.Name];},2297822566:function _(i){return[i.Item,i.Styles,i.Name];},3798115385:function _(i){return[i.ProfileType,i.ProfileName,i.OuterCurve];},1310608509:function _(i){return[i.ProfileType,i.ProfileName,i.Curve];},2705031697:function _(i){return[i.ProfileType,i.ProfileName,i.OuterCurve,i.InnerCurves];},616511568:function _(i){return[i.RepeatS,i.RepeatT,i.TextureType,i.TextureTransform,i.RasterFormat,i.RasterCode];},3150382593:function _(i){return[i.ProfileType,i.ProfileName,i.Curve,i.Thickness];},647927063:function _(i){return[i.Location,i.ItemReference,i.Name,i.ReferencedSource];},776857604:function _(i){return[i.Name,i.Red,i.Green,i.Blue];},2542286263:function _(i){return[i.Name,i.Description,i.UsageName,i.HasProperties];},1485152156:function _(i){return[i.ProfileType,i.ProfileName,i.Profiles,i.Label];},370225590:function _(i){return[i.CfsFaces];},1981873012:function _(i){return[i.CurveOnRelatingElement,i.CurveOnRelatedElement];},45288368:function _(i){return[i.PointOnRelatingElement,i.PointOnRelatedElement,i.EccentricityInX,i.EccentricityInY,i.EccentricityInZ];},3050246964:function _(i){return[i.Dimensions,i.UnitType,i.Name];},2889183280:function _(i){return[i.Dimensions,i.UnitType,i.Name,i.ConversionFactor];},3800577675:function _(i){return[i.Name,i.CurveFont,!i.CurveWidth?null:Labelise(i.CurveWidth),i.CurveColour];},3632507154:function _(i){return[i.ProfileType,i.ProfileName,i.ParentProfile,i.Operator,i.Label];},2273265877:function _(i){return[i.Name,i.Description,i.RelatingDraughtingCallout,i.RelatedDraughtingCallout];},1694125774:function _(i){return[i.Name,i.Description,i.RelatingDraughtingCallout,i.RelatedDraughtingCallout];},3732053477:function _(i){return[i.Location,i.ItemReference,i.Name];},4170525392:function _(i){return[i.Name];},3900360178:function _(i){return[i.EdgeStart,i.EdgeEnd];},476780140:function _(i){return[i.EdgeStart,i.EdgeEnd,i.EdgeGeometry,i.SameSense];},1860660968:function _(i){return[i.Material,i.ExtendedProperties,i.Description,i.Name];},2556980723:function _(i){return[i.Bounds];},1809719519:function _(i){return[i.Bound,i.Orientation];},803316827:function _(i){return[i.Bound,i.Orientation];},3008276851:function _(i){return[i.Bounds,i.FaceSurface,i.SameSense];},4219587988:function _(i){return[i.Name,i.TensionFailureX,i.TensionFailureY,i.TensionFailureZ,i.CompressionFailureX,i.CompressionFailureY,i.CompressionFailureZ];},738692330:function _(i){return[i.Name,i.FillStyles];},3857492461:function _(i){return[i.Material,i.CombustionTemperature,i.CarbonContent,i.LowerHeatingValue,i.HigherHeatingValue];},803998398:function _(i){return[i.Material,i.MolecularWeight,i.Porosity,i.MassDensity];},1446786286:function _(i){return[i.ProfileName,i.ProfileDefinition,i.PhysicalWeight,i.Perimeter,i.MinimumPlateThickness,i.MaximumPlateThickness,i.CrossSectionArea];},3448662350:function _(i){return[i.ContextIdentifier,i.ContextType,i.CoordinateSpaceDimension,i.Precision,i.WorldCoordinateSystem,i.TrueNorth];},2453401579:function _(_36){return[];},4142052618:function _(i){return[i.ContextIdentifier,i.ContextType,i.CoordinateSpaceDimension,i.Precision,i.WorldCoordinateSystem,i.TrueNorth,i.ParentContext,i.TargetScale,i.TargetView,i.UserDefinedTargetView];},3590301190:function _(i){return[i.Elements];},178086475:function _(i){return[i.PlacementLocation,i.PlacementRefDirection];},812098782:function _(i){return[i.BaseSurface,i.AgreementFlag];},2445078500:function _(i){return[i.Material,i.UpperVaporResistanceFactor,i.LowerVaporResistanceFactor,i.IsothermalMoistureCapacity,i.VaporPermeability,i.MoistureDiffusivity];},3905492369:function _(i){return[i.RepeatS,i.RepeatT,i.TextureType,i.TextureTransform,i.UrlReference];},3741457305:function _(i){return[i.Name,i.Description,i.StartTime,i.EndTime,i.TimeSeriesDataType,i.DataOrigin,i.UserDefinedDataOrigin,i.Unit,i.Values];},1402838566:function _(i){return[i.Name,i.LightColour,i.AmbientIntensity,i.Intensity];},125510826:function _(i){return[i.Name,i.LightColour,i.AmbientIntensity,i.Intensity];},2604431987:function _(i){return[i.Name,i.LightColour,i.AmbientIntensity,i.Intensity,i.Orientation];},4266656042:function _(i){return[i.Name,i.LightColour,i.AmbientIntensity,i.Intensity,i.Position,i.ColourAppearance,i.ColourTemperature,i.LuminousFlux,i.LightEmissionSource,i.LightDistributionDataSource];},1520743889:function _(i){return[i.Name,i.LightColour,i.AmbientIntensity,i.Intensity,i.Position,i.Radius,i.ConstantAttenuation,i.DistanceAttenuation,i.QuadricAttenuation];},3422422726:function _(i){return[i.Name,i.LightColour,i.AmbientIntensity,i.Intensity,i.Position,i.Radius,i.ConstantAttenuation,i.DistanceAttenuation,i.QuadricAttenuation,i.Orientation,i.ConcentrationExponent,i.SpreadAngle,i.BeamWidthAngle];},2624227202:function _(i){return[i.PlacementRelTo,i.RelativePlacement];},1008929658:function _(_37){return[];},2347385850:function _(i){return[i.MappingSource,i.MappingTarget];},2022407955:function _(i){return[i.Name,i.Description,i.Representations,i.RepresentedMaterial];},1430189142:function _(i){return[i.Material,i.DynamicViscosity,i.YoungModulus,i.ShearModulus,i.PoissonRatio,i.ThermalExpansionCoefficient,i.CompressiveStrength,i.MaxAggregateSize,i.AdmixturesDescription,i.Workability,i.ProtectivePoreRatio,i.WaterImpermeability];},219451334:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description];},2833995503:function _(i){return[i.RepeatFactor];},2665983363:function _(i){return[i.CfsFaces];},1029017970:function _(i){return[i.EdgeStart,i.EdgeEnd,i.EdgeElement,i.Orientation];},2529465313:function _(i){return[i.ProfileType,i.ProfileName,i.Position];},2519244187:function _(i){return[i.EdgeList];},3021840470:function _(i){return[i.Name,i.Description,i.HasQuantities,i.Discrimination,i.Quality,i.Usage];},597895409:function _(i){return[i.RepeatS,i.RepeatT,i.TextureType,i.TextureTransform,i.Width,i.Height,i.ColourComponents,i.Pixel];},2004835150:function _(i){return[i.Location];},1663979128:function _(i){return[i.SizeInX,i.SizeInY];},2067069095:function _(_38){return[];},4022376103:function _(i){return[i.BasisCurve,i.PointParameter];},1423911732:function _(i){return[i.BasisSurface,i.PointParameterU,i.PointParameterV];},2924175390:function _(i){return[i.Polygon];},2775532180:function _(i){return[i.BaseSurface,i.AgreementFlag,i.Position,i.PolygonalBoundary];},759155922:function _(i){return[i.Name];},2559016684:function _(i){return[i.Name];},433424934:function _(i){return[i.Name];},179317114:function _(i){return[i.Name];},673634403:function _(i){return[i.Name,i.Description,i.Representations];},871118103:function _(i){return[i.Name,i.Description,!i.UpperBoundValue?null:Labelise(i.UpperBoundValue),!i.LowerBoundValue?null:Labelise(i.LowerBoundValue),i.Unit];},1680319473:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description];},4166981789:function _(i){return[i.Name,i.Description,i.EnumerationValues.map(function(p){return Labelise(p);}),i.EnumerationReference];},2752243245:function _(i){return[i.Name,i.Description,i.ListValues.map(function(p){return Labelise(p);}),i.Unit];},941946838:function _(i){return[i.Name,i.Description,i.UsageName,i.PropertyReference];},3357820518:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description];},3650150729:function _(i){return[i.Name,i.Description,!i.NominalValue?null:Labelise(i.NominalValue),i.Unit];},110355661:function _(i){return[i.Name,i.Description,i.DefiningValues.map(function(p){return Labelise(p);}),i.DefinedValues.map(function(p){return Labelise(p);}),i.Expression,i.DefiningUnit,i.DefinedUnit];},3615266464:function _(i){return[i.ProfileType,i.ProfileName,i.Position,i.XDim,i.YDim];},3413951693:function _(i){return[i.Name,i.Description,i.StartTime,i.EndTime,i.TimeSeriesDataType,i.DataOrigin,i.UserDefinedDataOrigin,i.Unit,i.TimeStep,i.Values];},3765753017:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.DefinitionType,i.ReinforcementSectionDefinitions];},478536968:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description];},2778083089:function _(i){return[i.ProfileType,i.ProfileName,i.Position,i.XDim,i.YDim,i.RoundingRadius];},1509187699:function _(i){return[i.SpineCurve,i.CrossSections,i.CrossSectionPositions];},2411513650:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.PredefinedType,!i.UpperValue?null:Labelise(i.UpperValue),Labelise(i.MostUsedValue),!i.LowerValue?null:Labelise(i.LowerValue)];},4124623270:function _(i){return[i.SbsmBoundary];},2609359061:function _(i){return[i.Name,i.SlippageX,i.SlippageY,i.SlippageZ];},723233188:function _(_39){return[];},2485662743:function _(i){var _a;return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,(_a=i.IsAttenuating)==null?void 0:_a.toString(),i.SoundScale,i.SoundValues];},1202362311:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.SoundLevelTimeSeries,i.Frequency,!i.SoundLevelSingleValue?null:Labelise(i.SoundLevelSingleValue)];},390701378:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ApplicableValueRatio,i.ThermalLoadSource,i.PropertySource,i.SourceDescription,i.MaximumValue,i.MinimumValue,i.ThermalLoadTimeSeriesValues,i.UserDefinedThermalLoadSource,i.UserDefinedPropertySource,i.ThermalLoadType];},1595516126:function _(i){return[i.Name,i.LinearForceX,i.LinearForceY,i.LinearForceZ,i.LinearMomentX,i.LinearMomentY,i.LinearMomentZ];},2668620305:function _(i){return[i.Name,i.PlanarForceX,i.PlanarForceY,i.PlanarForceZ];},2473145415:function _(i){return[i.Name,i.DisplacementX,i.DisplacementY,i.DisplacementZ,i.RotationalDisplacementRX,i.RotationalDisplacementRY,i.RotationalDisplacementRZ];},1973038258:function _(i){return[i.Name,i.DisplacementX,i.DisplacementY,i.DisplacementZ,i.RotationalDisplacementRX,i.RotationalDisplacementRY,i.RotationalDisplacementRZ,i.Distortion];},1597423693:function _(i){return[i.Name,i.ForceX,i.ForceY,i.ForceZ,i.MomentX,i.MomentY,i.MomentZ];},1190533807:function _(i){return[i.Name,i.ForceX,i.ForceY,i.ForceZ,i.MomentX,i.MomentY,i.MomentZ,i.WarpingMoment];},3843319758:function _(i){return[i.ProfileName,i.ProfileDefinition,i.PhysicalWeight,i.Perimeter,i.MinimumPlateThickness,i.MaximumPlateThickness,i.CrossSectionArea,i.TorsionalConstantX,i.MomentOfInertiaYZ,i.MomentOfInertiaY,i.MomentOfInertiaZ,i.WarpingConstant,i.ShearCentreZ,i.ShearCentreY,i.ShearDeformationAreaZ,i.ShearDeformationAreaY,i.MaximumSectionModulusY,i.MinimumSectionModulusY,i.MaximumSectionModulusZ,i.MinimumSectionModulusZ,i.TorsionalSectionModulus,i.CentreOfGravityInX,i.CentreOfGravityInY];},3653947884:function _(i){return[i.ProfileName,i.ProfileDefinition,i.PhysicalWeight,i.Perimeter,i.MinimumPlateThickness,i.MaximumPlateThickness,i.CrossSectionArea,i.TorsionalConstantX,i.MomentOfInertiaYZ,i.MomentOfInertiaY,i.MomentOfInertiaZ,i.WarpingConstant,i.ShearCentreZ,i.ShearCentreY,i.ShearDeformationAreaZ,i.ShearDeformationAreaY,i.MaximumSectionModulusY,i.MinimumSectionModulusY,i.MaximumSectionModulusZ,i.MinimumSectionModulusZ,i.TorsionalSectionModulus,i.CentreOfGravityInX,i.CentreOfGravityInY,i.ShearAreaZ,i.ShearAreaY,i.PlasticShapeFactorY,i.PlasticShapeFactorZ];},2233826070:function _(i){return[i.EdgeStart,i.EdgeEnd,i.ParentEdge];},2513912981:function _(_40){return[];},1878645084:function _(i){return[i.SurfaceColour,i.Transparency,i.DiffuseColour,i.TransmissionColour,i.DiffuseTransmissionColour,i.ReflectionColour,i.SpecularColour,!i.SpecularHighlight?null:Labelise(i.SpecularHighlight),i.ReflectanceMethod];},2247615214:function _(i){return[i.SweptArea,i.Position];},1260650574:function _(i){return[i.Directrix,i.Radius,i.InnerRadius,i.StartParam,i.EndParam];},230924584:function _(i){return[i.SweptCurve,i.Position];},3071757647:function _(i){return[i.ProfileType,i.ProfileName,i.Position,i.Depth,i.FlangeWidth,i.WebThickness,i.FlangeThickness,i.FilletRadius,i.FlangeEdgeRadius,i.WebEdgeRadius,i.WebSlope,i.FlangeSlope,i.CentreOfGravityInY];},3028897424:function _(i){return[i.Item,i.Styles,i.Name,i.AnnotatedCurve];},4282788508:function _(i){return[i.Literal,i.Placement,i.Path];},3124975700:function _(i){return[i.Literal,i.Placement,i.Path,i.Extent,i.BoxAlignment];},2715220739:function _(i){return[i.ProfileType,i.ProfileName,i.Position,i.BottomXDim,i.TopXDim,i.YDim,i.TopXOffset];},1345879162:function _(i){return[i.RepeatFactor,i.SecondRepeatFactor];},1628702193:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ApplicableOccurrence,i.HasPropertySets];},2347495698:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ApplicableOccurrence,i.HasPropertySets,i.RepresentationMaps,i.Tag];},427810014:function _(i){return[i.ProfileType,i.ProfileName,i.Position,i.Depth,i.FlangeWidth,i.WebThickness,i.FlangeThickness,i.FilletRadius,i.EdgeRadius,i.FlangeSlope,i.CentreOfGravityInX];},1417489154:function _(i){return[i.Orientation,i.Magnitude];},2759199220:function _(i){return[i.LoopVertex];},336235671:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.LiningDepth,i.LiningThickness,i.TransomThickness,i.MullionThickness,i.FirstTransomOffset,i.SecondTransomOffset,i.FirstMullionOffset,i.SecondMullionOffset,i.ShapeAspectStyle];},512836454:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.OperationType,i.PanelPosition,i.FrameDepth,i.FrameThickness,i.ShapeAspectStyle];},1299126871:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ApplicableOccurrence,i.HasPropertySets,i.RepresentationMaps,i.Tag,i.ConstructionType,i.OperationType,i.ParameterTakesPrecedence,i.Sizeable];},2543172580:function _(i){return[i.ProfileType,i.ProfileName,i.Position,i.Depth,i.FlangeWidth,i.WebThickness,i.FlangeThickness,i.FilletRadius,i.EdgeRadius];},3288037868:function _(i){return[i.Item,i.Styles,i.Name];},669184980:function _(i){return[i.OuterBoundary,i.InnerBoundaries];},2265737646:function _(i){return[i.Item,i.Styles,i.Name,i.FillStyleTarget,i.GlobalOrLocal];},1302238472:function _(i){return[i.Item,i.TextureCoordinates];},4261334040:function _(i){return[i.Location,i.Axis];},3125803723:function _(i){return[i.Location,i.RefDirection];},2740243338:function _(i){return[i.Location,i.Axis,i.RefDirection];},2736907675:function _(i){return[i.Operator,i.FirstOperand,i.SecondOperand];},4182860854:function _(_41){return[];},2581212453:function _(i){return[i.Corner,i.XDim,i.YDim,i.ZDim];},2713105998:function _(i){return[i.BaseSurface,i.AgreementFlag,i.Enclosure];},2898889636:function _(i){return[i.ProfileType,i.ProfileName,i.Position,i.Depth,i.Width,i.WallThickness,i.Girth,i.InternalFilletRadius,i.CentreOfGravityInX];},1123145078:function _(i){return[i.Coordinates];},59481748:function _(i){return[i.Axis1,i.Axis2,i.LocalOrigin,i.Scale];},3749851601:function _(i){return[i.Axis1,i.Axis2,i.LocalOrigin,i.Scale];},3486308946:function _(i){return[i.Axis1,i.Axis2,i.LocalOrigin,i.Scale,i.Scale2];},3331915920:function _(i){return[i.Axis1,i.Axis2,i.LocalOrigin,i.Scale,i.Axis3];},1416205885:function _(i){return[i.Axis1,i.Axis2,i.LocalOrigin,i.Scale,i.Axis3,i.Scale2,i.Scale3];},1383045692:function _(i){return[i.ProfileType,i.ProfileName,i.Position,i.Radius];},2205249479:function _(i){return[i.CfsFaces];},2485617015:function _(i){return[i.Transition,i.SameSense,i.ParentCurve];},4133800736:function _(i){return[i.ProfileType,i.ProfileName,i.Position,i.OverallHeight,i.BaseWidth2,i.Radius,i.HeadWidth,i.HeadDepth2,i.HeadDepth3,i.WebThickness,i.BaseWidth4,i.BaseDepth1,i.BaseDepth2,i.BaseDepth3,i.CentreOfGravityInY];},194851669:function _(i){return[i.ProfileType,i.ProfileName,i.Position,i.OverallHeight,i.HeadWidth,i.Radius,i.HeadDepth2,i.HeadDepth3,i.WebThickness,i.BaseDepth1,i.BaseDepth2,i.CentreOfGravityInY];},2506170314:function _(i){return[i.Position];},2147822146:function _(i){return[i.TreeRootExpression];},2601014836:function _(_42){return[];},2827736869:function _(i){return[i.BasisSurface,i.OuterBoundary,i.InnerBoundaries];},693772133:function _(i){return[i.Definition,i.Target];},606661476:function _(i){return[i.Item,i.Styles,i.Name];},4054601972:function _(i){return[i.Item,i.Styles,i.Name,i.AnnotatedCurve,i.Role];},32440307:function _(i){return[i.DirectionRatios];},2963535650:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.LiningDepth,i.LiningThickness,i.ThresholdDepth,i.ThresholdThickness,i.TransomThickness,i.TransomOffset,i.LiningOffset,i.ThresholdOffset,i.CasingThickness,i.CasingDepth,i.ShapeAspectStyle];},1714330368:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.PanelDepth,i.PanelOperation,i.PanelWidth,i.PanelPosition,i.ShapeAspectStyle];},526551008:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ApplicableOccurrence,i.HasPropertySets,i.RepresentationMaps,i.Tag,i.OperationType,i.ConstructionType,i.ParameterTakesPrecedence,i.Sizeable];},3073041342:function _(i){return[i.Contents];},445594917:function _(i){return[i.Name];},4006246654:function _(i){return[i.Name];},1472233963:function _(i){return[i.EdgeList];},1883228015:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.MethodOfMeasurement,i.Quantities];},339256511:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ApplicableOccurrence,i.HasPropertySets,i.RepresentationMaps,i.Tag,i.ElementType];},2777663545:function _(i){return[i.Position];},2835456948:function _(i){return[i.ProfileType,i.ProfileName,i.Position,i.SemiAxis1,i.SemiAxis2];},80994333:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.EnergySequence,i.UserDefinedEnergySequence];},477187591:function _(i){return[i.SweptArea,i.Position,i.ExtrudedDirection,i.Depth];},2047409740:function _(i){return[i.FbsmFaces];},374418227:function _(i){return[i.HatchLineAppearance,i.StartOfNextHatchLine,i.PointOfReferenceHatchLine,i.PatternStart,i.HatchLineAngle];},4203026998:function _(i){return[i.Symbol];},315944413:function _(i){return[i.TilingPattern,i.Tiles,i.TilingScale];},3455213021:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.PropertySource,i.FlowConditionTimeSeries,i.VelocityTimeSeries,i.FlowrateTimeSeries,i.Fluid,i.PressureTimeSeries,i.UserDefinedPropertySource,i.TemperatureSingleValue,i.WetBulbTemperatureSingleValue,i.WetBulbTemperatureTimeSeries,i.TemperatureTimeSeries,!i.FlowrateSingleValue?null:Labelise(i.FlowrateSingleValue),i.FlowConditionSingleValue,i.VelocitySingleValue,i.PressureSingleValue];},4238390223:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ApplicableOccurrence,i.HasPropertySets,i.RepresentationMaps,i.Tag,i.ElementType];},1268542332:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ApplicableOccurrence,i.HasPropertySets,i.RepresentationMaps,i.Tag,i.ElementType,i.AssemblyPlace];},987898635:function _(i){return[i.Elements];},1484403080:function _(i){return[i.ProfileType,i.ProfileName,i.Position,i.OverallWidth,i.OverallDepth,i.WebThickness,i.FlangeThickness,i.FilletRadius];},572779678:function _(i){return[i.ProfileType,i.ProfileName,i.Position,i.Depth,i.Width,i.Thickness,i.FilletRadius,i.EdgeRadius,i.LegSlope,i.CentreOfGravityInX,i.CentreOfGravityInY];},1281925730:function _(i){return[i.Pnt,i.Dir];},1425443689:function _(i){return[i.Outer];},3888040117:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType];},3388369263:function _(i){return[i.BasisCurve,i.Distance,i.SelfIntersect];},3505215534:function _(i){return[i.BasisCurve,i.Distance,i.SelfIntersect,i.RefDirection];},3566463478:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.OperationType,i.PanelPosition,i.FrameDepth,i.FrameThickness,i.ShapeAspectStyle];},603570806:function _(i){return[i.SizeInX,i.SizeInY,i.Placement];},220341763:function _(i){return[i.Position];},2945172077:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType];},4208778838:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.ObjectPlacement,i.Representation];},103090709:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.LongName,i.Phase,i.RepresentationContexts,i.UnitsInContext];},4194566429:function _(i){return[i.Item,i.Styles,i.Name];},1451395588:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.HasProperties];},3219374653:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.ObjectPlacement,i.Representation,i.ProxyType,i.Tag];},2770003689:function _(i){return[i.ProfileType,i.ProfileName,i.Position,i.XDim,i.YDim,i.WallThickness,i.InnerFilletRadius,i.OuterFilletRadius];},2798486643:function _(i){return[i.Position,i.XLength,i.YLength,i.Height];},3454111270:function _(i){return[i.BasisSurface,i.U1,i.V1,i.U2,i.V2,i.Usense,i.Vsense];},3939117080:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.RelatedObjects,i.RelatedObjectsType];},1683148259:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.RelatedObjects,i.RelatedObjectsType,i.RelatingActor,i.ActingRole];},2495723537:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.RelatedObjects,i.RelatedObjectsType,i.RelatingControl];},1307041759:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.RelatedObjects,i.RelatedObjectsType,i.RelatingGroup];},4278684876:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.RelatedObjects,i.RelatedObjectsType,i.RelatingProcess,i.QuantityInProcess];},2857406711:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.RelatedObjects,i.RelatedObjectsType,i.RelatingProduct];},3372526763:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.RelatedObjects,i.RelatedObjectsType,i.RelatingControl];},205026976:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.RelatedObjects,i.RelatedObjectsType,i.RelatingResource];},1865459582:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.RelatedObjects];},1327628568:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.RelatedObjects,i.RelatingAppliedValue];},4095574036:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.RelatedObjects,i.RelatingApproval];},919958153:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.RelatedObjects,i.RelatingClassification];},2728634034:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.RelatedObjects,i.Intent,i.RelatingConstraint];},982818633:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.RelatedObjects,i.RelatingDocument];},3840914261:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.RelatedObjects,i.RelatingLibrary];},2655215786:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.RelatedObjects,i.RelatingMaterial];},2851387026:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.RelatedObjects,i.RelatingProfileProperties,i.ProfileSectionLocation,i.ProfileOrientation];},826625072:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description];},1204542856:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ConnectionGeometry,i.RelatingElement,i.RelatedElement];},3945020480:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ConnectionGeometry,i.RelatingElement,i.RelatedElement,i.RelatingPriorities,i.RelatedPriorities,i.RelatedConnectionType,i.RelatingConnectionType];},4201705270:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.RelatingPort,i.RelatedElement];},3190031847:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.RelatingPort,i.RelatedPort,i.RealizingElement];},2127690289:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.RelatingElement,i.RelatedStructuralActivity];},3912681535:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.RelatingElement,i.RelatedStructuralMember];},1638771189:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.RelatingStructuralMember,i.RelatedStructuralConnection,i.AppliedCondition,i.AdditionalConditions,i.SupportedLength,i.ConditionCoordinateSystem];},504942748:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.RelatingStructuralMember,i.RelatedStructuralConnection,i.AppliedCondition,i.AdditionalConditions,i.SupportedLength,i.ConditionCoordinateSystem,i.ConnectionConstraint];},3678494232:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ConnectionGeometry,i.RelatingElement,i.RelatedElement,i.RealizingElements,i.ConnectionType];},3242617779:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.RelatedElements,i.RelatingStructure];},886880790:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.RelatingBuildingElement,i.RelatedCoverings];},2802773753:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.RelatedSpace,i.RelatedCoverings];},2551354335:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.RelatingObject,i.RelatedObjects];},693640335:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.RelatedObjects];},4186316022:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.RelatedObjects,i.RelatingPropertyDefinition];},781010003:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.RelatedObjects,i.RelatingType];},3940055652:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.RelatingOpeningElement,i.RelatedBuildingElement];},279856033:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.RelatedControlElements,i.RelatingFlowElement];},4189434867:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.DailyInteraction,i.ImportanceRating,i.LocationOfInteraction,i.RelatedSpaceProgram,i.RelatingSpaceProgram];},3268803585:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.RelatingObject,i.RelatedObjects];},2051452291:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.RelatedObjects,i.RelatedObjectsType,i.RelatingActor,i.ActingRole];},202636808:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.RelatedObjects,i.RelatingPropertyDefinition,i.OverridingProperties];},750771296:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.RelatingElement,i.RelatedFeatureElement];},1245217292:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.RelatedElements,i.RelatingStructure];},1058617721:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.RelatedObjects,i.RelatedObjectsType,i.RelatingControl];},4122056220:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.RelatingProcess,i.RelatedProcess,i.TimeLag,i.SequenceType];},366585022:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.RelatingSystem,i.RelatedBuildings];},3451746338:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.RelatingSpace,i.RelatedBuildingElement,i.ConnectionGeometry,i.PhysicalOrVirtualBoundary,i.InternalOrExternalBoundary];},1401173127:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.RelatingBuildingElement,i.RelatedOpeningElement];},2914609552:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType];},1856042241:function _(i){return[i.SweptArea,i.Position,i.Axis,i.Angle];},4158566097:function _(i){return[i.Position,i.Height,i.BottomRadius];},3626867408:function _(i){return[i.Position,i.Height,i.Radius];},2706606064:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.ObjectPlacement,i.Representation,i.LongName,i.CompositionType];},3893378262:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ApplicableOccurrence,i.HasPropertySets,i.RepresentationMaps,i.Tag,i.ElementType];},451544542:function _(i){return[i.Position,i.Radius];},3544373492:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.ObjectPlacement,i.Representation,i.AppliedLoad,i.GlobalOrLocal];},3136571912:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.ObjectPlacement,i.Representation];},530289379:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.ObjectPlacement,i.Representation];},3689010777:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.ObjectPlacement,i.Representation,i.AppliedLoad,i.GlobalOrLocal];},3979015343:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.ObjectPlacement,i.Representation,i.PredefinedType,i.Thickness];},2218152070:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.ObjectPlacement,i.Representation,i.PredefinedType,i.Thickness,i.SubsequentThickness,i.VaryingThicknessLocation];},4070609034:function _(i){return[i.Contents];},2028607225:function _(i){return[i.SweptArea,i.Position,i.Directrix,i.StartParam,i.EndParam,i.ReferenceSurface];},2809605785:function _(i){return[i.SweptCurve,i.Position,i.ExtrudedDirection,i.Depth];},4124788165:function _(i){return[i.SweptCurve,i.Position,i.AxisPosition];},1580310250:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ApplicableOccurrence,i.HasPropertySets,i.RepresentationMaps,i.Tag,i.ElementType];},3473067441:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.TaskId,i.Status,i.WorkMethod,i.IsMilestone,i.Priority];},2097647324:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ApplicableOccurrence,i.HasPropertySets,i.RepresentationMaps,i.Tag,i.ElementType,i.PredefinedType];},2296667514:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.TheActor];},1674181508:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.ObjectPlacement,i.Representation];},3207858831:function _(i){return[i.ProfileType,i.ProfileName,i.Position,i.OverallWidth,i.OverallDepth,i.WebThickness,i.FlangeThickness,i.FilletRadius,i.TopFlangeWidth,i.TopFlangeThickness,i.TopFlangeFilletRadius,i.CentreOfGravityInY];},1334484129:function _(i){return[i.Position,i.XLength,i.YLength,i.ZLength];},3649129432:function _(i){return[i.Operator,i.FirstOperand,i.SecondOperand];},1260505505:function _(_43){return[];},4031249490:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.ObjectPlacement,i.Representation,i.LongName,i.CompositionType,i.ElevationOfRefHeight,i.ElevationOfTerrain,i.BuildingAddress];},1950629157:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ApplicableOccurrence,i.HasPropertySets,i.RepresentationMaps,i.Tag,i.ElementType];},3124254112:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.ObjectPlacement,i.Representation,i.LongName,i.CompositionType,i.Elevation];},2937912522:function _(i){return[i.ProfileType,i.ProfileName,i.Position,i.Radius,i.WallThickness];},300633059:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ApplicableOccurrence,i.HasPropertySets,i.RepresentationMaps,i.Tag,i.ElementType,i.PredefinedType];},3732776249:function _(i){return[i.Segments,i.SelfIntersect];},2510884976:function _(i){return[i.Position];},2559216714:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.ResourceIdentifier,i.ResourceGroup,i.ResourceConsumption,i.BaseQuantity];},3293443760:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType];},3895139033:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType];},1419761937:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.SubmittedBy,i.PreparedBy,i.SubmittedOn,i.Status,i.TargetUsers,i.UpdateDate,i.ID,i.PredefinedType];},1916426348:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ApplicableOccurrence,i.HasPropertySets,i.RepresentationMaps,i.Tag,i.ElementType,i.PredefinedType];},3295246426:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.ResourceIdentifier,i.ResourceGroup,i.ResourceConsumption,i.BaseQuantity];},1457835157:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ApplicableOccurrence,i.HasPropertySets,i.RepresentationMaps,i.Tag,i.ElementType,i.PredefinedType];},681481545:function _(i){return[i.Contents];},3256556792:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ApplicableOccurrence,i.HasPropertySets,i.RepresentationMaps,i.Tag,i.ElementType];},3849074793:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ApplicableOccurrence,i.HasPropertySets,i.RepresentationMaps,i.Tag,i.ElementType];},360485395:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.EnergySequence,i.UserDefinedEnergySequence,i.ElectricCurrentType,i.InputVoltage,i.InputFrequency,i.FullLoadCurrent,i.MinimumCircuitCurrent,i.MaximumPowerInput,i.RatedPowerInput,i.InputPhase];},1758889154:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.ObjectPlacement,i.Representation,i.Tag];},4123344466:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.ObjectPlacement,i.Representation,i.Tag,i.AssemblyPlace,i.PredefinedType];},1623761950:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.ObjectPlacement,i.Representation,i.Tag];},2590856083:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ApplicableOccurrence,i.HasPropertySets,i.RepresentationMaps,i.Tag,i.ElementType];},1704287377:function _(i){return[i.Position,i.SemiAxis1,i.SemiAxis2];},2107101300:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ApplicableOccurrence,i.HasPropertySets,i.RepresentationMaps,i.Tag,i.ElementType];},1962604670:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.ObjectPlacement,i.Representation,i.Tag];},3272907226:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType];},3174744832:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ApplicableOccurrence,i.HasPropertySets,i.RepresentationMaps,i.Tag,i.ElementType,i.PredefinedType];},3390157468:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ApplicableOccurrence,i.HasPropertySets,i.RepresentationMaps,i.Tag,i.ElementType,i.PredefinedType];},807026263:function _(i){return[i.Outer];},3737207727:function _(i){return[i.Outer,i.Voids];},647756555:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.ObjectPlacement,i.Representation,i.Tag];},2489546625:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ApplicableOccurrence,i.HasPropertySets,i.RepresentationMaps,i.Tag,i.ElementType];},2827207264:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.ObjectPlacement,i.Representation,i.Tag];},2143335405:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.ObjectPlacement,i.Representation,i.Tag];},1287392070:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.ObjectPlacement,i.Representation,i.Tag];},3907093117:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ApplicableOccurrence,i.HasPropertySets,i.RepresentationMaps,i.Tag,i.ElementType];},3198132628:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ApplicableOccurrence,i.HasPropertySets,i.RepresentationMaps,i.Tag,i.ElementType];},3815607619:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ApplicableOccurrence,i.HasPropertySets,i.RepresentationMaps,i.Tag,i.ElementType,i.PredefinedType];},1482959167:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ApplicableOccurrence,i.HasPropertySets,i.RepresentationMaps,i.Tag,i.ElementType];},1834744321:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ApplicableOccurrence,i.HasPropertySets,i.RepresentationMaps,i.Tag,i.ElementType];},1339347760:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ApplicableOccurrence,i.HasPropertySets,i.RepresentationMaps,i.Tag,i.ElementType];},2297155007:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ApplicableOccurrence,i.HasPropertySets,i.RepresentationMaps,i.Tag,i.ElementType];},3009222698:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ApplicableOccurrence,i.HasPropertySets,i.RepresentationMaps,i.Tag,i.ElementType];},263784265:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.ObjectPlacement,i.Representation,i.Tag];},814719939:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType];},200128114:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ApplicableOccurrence,i.HasPropertySets,i.RepresentationMaps,i.Tag,i.ElementType,i.PredefinedType];},3009204131:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.ObjectPlacement,i.Representation,i.UAxes,i.VAxes,i.WAxes];},2706460486:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType];},1251058090:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ApplicableOccurrence,i.HasPropertySets,i.RepresentationMaps,i.Tag,i.ElementType,i.PredefinedType];},1806887404:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ApplicableOccurrence,i.HasPropertySets,i.RepresentationMaps,i.Tag,i.ElementType,i.PredefinedType];},2391368822:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.InventoryType,i.Jurisdiction,i.ResponsiblePersons,i.LastUpdateDate,i.CurrentValue,i.OriginalValue];},4288270099:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ApplicableOccurrence,i.HasPropertySets,i.RepresentationMaps,i.Tag,i.ElementType,i.PredefinedType];},3827777499:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.ResourceIdentifier,i.ResourceGroup,i.ResourceConsumption,i.BaseQuantity,i.SkillSet];},1051575348:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ApplicableOccurrence,i.HasPropertySets,i.RepresentationMaps,i.Tag,i.ElementType,i.PredefinedType];},1161773419:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ApplicableOccurrence,i.HasPropertySets,i.RepresentationMaps,i.Tag,i.ElementType,i.PredefinedType];},2506943328:function _(i){return[i.Contents];},377706215:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.ObjectPlacement,i.Representation,i.Tag,i.NominalDiameter,i.NominalLength];},2108223431:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ApplicableOccurrence,i.HasPropertySets,i.RepresentationMaps,i.Tag,i.ElementType];},3181161470:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ApplicableOccurrence,i.HasPropertySets,i.RepresentationMaps,i.Tag,i.ElementType,i.PredefinedType];},977012517:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ApplicableOccurrence,i.HasPropertySets,i.RepresentationMaps,i.Tag,i.ElementType,i.PredefinedType];},1916936684:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.TaskId,i.Status,i.WorkMethod,i.IsMilestone,i.Priority,i.MoveFrom,i.MoveTo,i.PunchList];},4143007308:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.TheActor,i.PredefinedType];},3588315303:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.ObjectPlacement,i.Representation,i.Tag];},3425660407:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.TaskId,i.Status,i.WorkMethod,i.IsMilestone,i.Priority,i.ActionID];},2837617999:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ApplicableOccurrence,i.HasPropertySets,i.RepresentationMaps,i.Tag,i.ElementType,i.PredefinedType];},2382730787:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.LifeCyclePhase];},3327091369:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.PermitID];},804291784:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ApplicableOccurrence,i.HasPropertySets,i.RepresentationMaps,i.Tag,i.ElementType,i.PredefinedType];},4231323485:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ApplicableOccurrence,i.HasPropertySets,i.RepresentationMaps,i.Tag,i.ElementType,i.PredefinedType];},4017108033:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ApplicableOccurrence,i.HasPropertySets,i.RepresentationMaps,i.Tag,i.ElementType,i.PredefinedType];},3724593414:function _(i){return[i.Points];},3740093272:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.ObjectPlacement,i.Representation];},2744685151:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.ProcedureID,i.ProcedureType,i.UserDefinedProcedureType];},2904328755:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.ID,i.PredefinedType,i.Status];},3642467123:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.Records,i.PredefinedType];},3651124850:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.ObjectPlacement,i.Representation,i.Tag];},1842657554:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ApplicableOccurrence,i.HasPropertySets,i.RepresentationMaps,i.Tag,i.ElementType,i.PredefinedType];},2250791053:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ApplicableOccurrence,i.HasPropertySets,i.RepresentationMaps,i.Tag,i.ElementType,i.PredefinedType];},3248260540:function _(i){return[i.Contents];},2893384427:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ApplicableOccurrence,i.HasPropertySets,i.RepresentationMaps,i.Tag,i.ElementType,i.PredefinedType];},2324767716:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ApplicableOccurrence,i.HasPropertySets,i.RepresentationMaps,i.Tag,i.ElementType,i.PredefinedType];},160246688:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.RelatingObject,i.RelatedObjects];},2863920197:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.RelatedObjects,i.RelatedObjectsType,i.RelatingControl,i.TimeForTask];},1768891740:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ApplicableOccurrence,i.HasPropertySets,i.RepresentationMaps,i.Tag,i.ElementType,i.PredefinedType];},3517283431:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.ActualStart,i.EarlyStart,i.LateStart,i.ScheduleStart,i.ActualFinish,i.EarlyFinish,i.LateFinish,i.ScheduleFinish,i.ScheduleDuration,i.ActualDuration,i.RemainingTime,i.FreeFloat,i.TotalFloat,i.IsCritical,i.StatusTime,i.StartFloat,i.FinishFloat,i.Completion];},4105383287:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.ServiceLifeType,i.ServiceLifeDuration];},4097777520:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.ObjectPlacement,i.Representation,i.LongName,i.CompositionType,i.RefLatitude,i.RefLongitude,i.RefElevation,i.LandTitleNumber,i.SiteAddress];},2533589738:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ApplicableOccurrence,i.HasPropertySets,i.RepresentationMaps,i.Tag,i.ElementType,i.PredefinedType];},3856911033:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.ObjectPlacement,i.Representation,i.LongName,i.CompositionType,i.InteriorOrExteriorSpace,i.ElevationWithFlooring];},1305183839:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ApplicableOccurrence,i.HasPropertySets,i.RepresentationMaps,i.Tag,i.ElementType,i.PredefinedType];},652456506:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.SpaceProgramIdentifier,i.MaxRequiredArea,i.MinRequiredArea,i.RequestedLocation,i.StandardRequiredArea];},3812236995:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ApplicableOccurrence,i.HasPropertySets,i.RepresentationMaps,i.Tag,i.ElementType,i.PredefinedType];},3112655638:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ApplicableOccurrence,i.HasPropertySets,i.RepresentationMaps,i.Tag,i.ElementType,i.PredefinedType];},1039846685:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ApplicableOccurrence,i.HasPropertySets,i.RepresentationMaps,i.Tag,i.ElementType,i.PredefinedType];},682877961:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.ObjectPlacement,i.Representation,i.AppliedLoad,i.GlobalOrLocal,i.DestabilizingLoad,i.CausedBy];},1179482911:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.ObjectPlacement,i.Representation,i.AppliedCondition];},4243806635:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.ObjectPlacement,i.Representation,i.AppliedCondition];},214636428:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.ObjectPlacement,i.Representation,i.PredefinedType];},2445595289:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.ObjectPlacement,i.Representation,i.PredefinedType];},1807405624:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.ObjectPlacement,i.Representation,i.AppliedLoad,i.GlobalOrLocal,i.DestabilizingLoad,i.CausedBy,i.ProjectedOrTrue];},1721250024:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.ObjectPlacement,i.Representation,i.AppliedLoad,i.GlobalOrLocal,i.DestabilizingLoad,i.CausedBy,i.ProjectedOrTrue,i.VaryingAppliedLoadLocation,i.SubsequentAppliedLoads];},1252848954:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.PredefinedType,i.ActionType,i.ActionSource,i.Coefficient,i.Purpose];},1621171031:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.ObjectPlacement,i.Representation,i.AppliedLoad,i.GlobalOrLocal,i.DestabilizingLoad,i.CausedBy,i.ProjectedOrTrue];},3987759626:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.ObjectPlacement,i.Representation,i.AppliedLoad,i.GlobalOrLocal,i.DestabilizingLoad,i.CausedBy,i.ProjectedOrTrue,i.VaryingAppliedLoadLocation,i.SubsequentAppliedLoads];},2082059205:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.ObjectPlacement,i.Representation,i.AppliedLoad,i.GlobalOrLocal,i.DestabilizingLoad,i.CausedBy];},734778138:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.ObjectPlacement,i.Representation,i.AppliedCondition];},1235345126:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.ObjectPlacement,i.Representation,i.AppliedLoad,i.GlobalOrLocal];},2986769608:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.TheoryType,i.ResultForLoadGroup,i.IsLinear];},1975003073:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.ObjectPlacement,i.Representation,i.AppliedCondition];},148013059:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.ResourceIdentifier,i.ResourceGroup,i.ResourceConsumption,i.BaseQuantity,i.SubContractor,i.JobDescription];},2315554128:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ApplicableOccurrence,i.HasPropertySets,i.RepresentationMaps,i.Tag,i.ElementType,i.PredefinedType];},2254336722:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType];},5716631:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ApplicableOccurrence,i.HasPropertySets,i.RepresentationMaps,i.Tag,i.ElementType,i.PredefinedType];},1637806684:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.ApplicableDates,i.TimeSeriesScheduleType,i.TimeSeries];},1692211062:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ApplicableOccurrence,i.HasPropertySets,i.RepresentationMaps,i.Tag,i.ElementType,i.PredefinedType];},1620046519:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.ObjectPlacement,i.Representation,i.Tag,i.OperationType,i.CapacityByWeight,i.CapacityByNumber];},3593883385:function _(i){return[i.BasisCurve,i.Trim1,i.Trim2,i.SenseAgreement,i.MasterRepresentation];},1600972822:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ApplicableOccurrence,i.HasPropertySets,i.RepresentationMaps,i.Tag,i.ElementType,i.PredefinedType];},1911125066:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ApplicableOccurrence,i.HasPropertySets,i.RepresentationMaps,i.Tag,i.ElementType,i.PredefinedType];},728799441:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ApplicableOccurrence,i.HasPropertySets,i.RepresentationMaps,i.Tag,i.ElementType,i.PredefinedType];},2769231204:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.ObjectPlacement,i.Representation,i.Tag];},1898987631:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ApplicableOccurrence,i.HasPropertySets,i.RepresentationMaps,i.Tag,i.ElementType,i.PredefinedType];},1133259667:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ApplicableOccurrence,i.HasPropertySets,i.RepresentationMaps,i.Tag,i.ElementType,i.PredefinedType];},1028945134:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.Identifier,i.CreationDate,i.Creators,i.Purpose,i.Duration,i.TotalFloat,i.StartTime,i.FinishTime,i.WorkControlType,i.UserDefinedControlType];},4218914973:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.Identifier,i.CreationDate,i.Creators,i.Purpose,i.Duration,i.TotalFloat,i.StartTime,i.FinishTime,i.WorkControlType,i.UserDefinedControlType];},3342526732:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.Identifier,i.CreationDate,i.Creators,i.Purpose,i.Duration,i.TotalFloat,i.StartTime,i.FinishTime,i.WorkControlType,i.UserDefinedControlType];},1033361043:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType];},1213861670:function _(i){return[i.Segments,i.SelfIntersect];},3821786052:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.RequestID];},1411407467:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ApplicableOccurrence,i.HasPropertySets,i.RepresentationMaps,i.Tag,i.ElementType,i.PredefinedType];},3352864051:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ApplicableOccurrence,i.HasPropertySets,i.RepresentationMaps,i.Tag,i.ElementType,i.PredefinedType];},1871374353:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ApplicableOccurrence,i.HasPropertySets,i.RepresentationMaps,i.Tag,i.ElementType,i.PredefinedType];},2470393545:function _(i){return[i.Contents];},3460190687:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.AssetID,i.OriginalValue,i.CurrentValue,i.TotalReplacementCost,i.Owner,i.User,i.ResponsiblePerson,i.IncorporationDate,i.DepreciatedValue];},1967976161:function _(i){return[i.Degree,i.ControlPointsList,i.CurveForm,i.ClosedCurve,i.SelfIntersect];},819618141:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ApplicableOccurrence,i.HasPropertySets,i.RepresentationMaps,i.Tag,i.ElementType,i.PredefinedType];},1916977116:function _(i){return[i.Degree,i.ControlPointsList,i.CurveForm,i.ClosedCurve,i.SelfIntersect];},231477066:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ApplicableOccurrence,i.HasPropertySets,i.RepresentationMaps,i.Tag,i.ElementType,i.PredefinedType];},3299480353:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.ObjectPlacement,i.Representation,i.Tag];},52481810:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.ObjectPlacement,i.Representation,i.Tag];},2979338954:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.ObjectPlacement,i.Representation,i.Tag];},1095909175:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.ObjectPlacement,i.Representation,i.Tag,i.CompositionType];},1909888760:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ApplicableOccurrence,i.HasPropertySets,i.RepresentationMaps,i.Tag,i.ElementType,i.PredefinedType];},395041908:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ApplicableOccurrence,i.HasPropertySets,i.RepresentationMaps,i.Tag,i.ElementType,i.PredefinedType];},3293546465:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ApplicableOccurrence,i.HasPropertySets,i.RepresentationMaps,i.Tag,i.ElementType,i.PredefinedType];},1285652485:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ApplicableOccurrence,i.HasPropertySets,i.RepresentationMaps,i.Tag,i.ElementType,i.PredefinedType];},2951183804:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ApplicableOccurrence,i.HasPropertySets,i.RepresentationMaps,i.Tag,i.ElementType,i.PredefinedType];},2611217952:function _(i){return[i.Position,i.Radius];},2301859152:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ApplicableOccurrence,i.HasPropertySets,i.RepresentationMaps,i.Tag,i.ElementType,i.PredefinedType];},843113511:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.ObjectPlacement,i.Representation,i.Tag];},3850581409:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ApplicableOccurrence,i.HasPropertySets,i.RepresentationMaps,i.Tag,i.ElementType,i.PredefinedType];},2816379211:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ApplicableOccurrence,i.HasPropertySets,i.RepresentationMaps,i.Tag,i.ElementType,i.PredefinedType];},2188551683:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType];},1163958913:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.Criterion,i.CriterionDateTime];},3898045240:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.ResourceIdentifier,i.ResourceGroup,i.ResourceConsumption,i.BaseQuantity];},1060000209:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.ResourceIdentifier,i.ResourceGroup,i.ResourceConsumption,i.BaseQuantity,i.Suppliers,i.UsageRatio];},488727124:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.ResourceIdentifier,i.ResourceGroup,i.ResourceConsumption,i.BaseQuantity];},335055490:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ApplicableOccurrence,i.HasPropertySets,i.RepresentationMaps,i.Tag,i.ElementType,i.PredefinedType];},2954562838:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ApplicableOccurrence,i.HasPropertySets,i.RepresentationMaps,i.Tag,i.ElementType,i.PredefinedType];},1973544240:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.ObjectPlacement,i.Representation,i.Tag,i.PredefinedType];},3495092785:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.ObjectPlacement,i.Representation,i.Tag];},3961806047:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ApplicableOccurrence,i.HasPropertySets,i.RepresentationMaps,i.Tag,i.ElementType,i.PredefinedType];},4147604152:function _(i){return[i.Contents];},1335981549:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.ObjectPlacement,i.Representation,i.Tag];},2635815018:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ApplicableOccurrence,i.HasPropertySets,i.RepresentationMaps,i.Tag,i.ElementType];},1599208980:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ApplicableOccurrence,i.HasPropertySets,i.RepresentationMaps,i.Tag,i.ElementType,i.PredefinedType];},2063403501:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ApplicableOccurrence,i.HasPropertySets,i.RepresentationMaps,i.Tag,i.ElementType];},1945004755:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.ObjectPlacement,i.Representation,i.Tag];},3040386961:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.ObjectPlacement,i.Representation,i.Tag];},3041715199:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.ObjectPlacement,i.Representation,i.FlowDirection];},395920057:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.ObjectPlacement,i.Representation,i.Tag,i.OverallHeight,i.OverallWidth];},869906466:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ApplicableOccurrence,i.HasPropertySets,i.RepresentationMaps,i.Tag,i.ElementType,i.PredefinedType];},3760055223:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ApplicableOccurrence,i.HasPropertySets,i.RepresentationMaps,i.Tag,i.ElementType,i.PredefinedType];},2030761528:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ApplicableOccurrence,i.HasPropertySets,i.RepresentationMaps,i.Tag,i.ElementType,i.PredefinedType];},855621170:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.ObjectPlacement,i.Representation,i.Tag,i.FeatureLength];},663422040:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ApplicableOccurrence,i.HasPropertySets,i.RepresentationMaps,i.Tag,i.ElementType,i.PredefinedType];},3277789161:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ApplicableOccurrence,i.HasPropertySets,i.RepresentationMaps,i.Tag,i.ElementType,i.PredefinedType];},1534661035:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ApplicableOccurrence,i.HasPropertySets,i.RepresentationMaps,i.Tag,i.ElementType,i.PredefinedType];},1365060375:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ApplicableOccurrence,i.HasPropertySets,i.RepresentationMaps,i.Tag,i.ElementType,i.PredefinedType];},1217240411:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ApplicableOccurrence,i.HasPropertySets,i.RepresentationMaps,i.Tag,i.ElementType,i.PredefinedType];},712377611:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ApplicableOccurrence,i.HasPropertySets,i.RepresentationMaps,i.Tag,i.ElementType,i.PredefinedType];},1634875225:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType];},857184966:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.ObjectPlacement,i.Representation,i.Tag];},1658829314:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.ObjectPlacement,i.Representation,i.Tag];},346874300:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ApplicableOccurrence,i.HasPropertySets,i.RepresentationMaps,i.Tag,i.ElementType,i.PredefinedType];},1810631287:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ApplicableOccurrence,i.HasPropertySets,i.RepresentationMaps,i.Tag,i.ElementType,i.PredefinedType];},4222183408:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ApplicableOccurrence,i.HasPropertySets,i.RepresentationMaps,i.Tag,i.ElementType,i.PredefinedType];},2058353004:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.ObjectPlacement,i.Representation,i.Tag];},4278956645:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.ObjectPlacement,i.Representation,i.Tag];},4037862832:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ApplicableOccurrence,i.HasPropertySets,i.RepresentationMaps,i.Tag,i.ElementType,i.PredefinedType];},3132237377:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.ObjectPlacement,i.Representation,i.Tag];},987401354:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.ObjectPlacement,i.Representation,i.Tag];},707683696:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.ObjectPlacement,i.Representation,i.Tag];},2223149337:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.ObjectPlacement,i.Representation,i.Tag];},3508470533:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.ObjectPlacement,i.Representation,i.Tag];},900683007:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.ObjectPlacement,i.Representation,i.Tag,i.PredefinedType];},1073191201:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.ObjectPlacement,i.Representation,i.Tag];},1687234759:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.ObjectPlacement,i.Representation,i.Tag,i.PredefinedType,i.ConstructionType];},3171933400:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.ObjectPlacement,i.Representation,i.Tag];},2262370178:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.ObjectPlacement,i.Representation,i.Tag,i.PredefinedType];},3024970846:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.ObjectPlacement,i.Representation,i.Tag,i.ShapeType];},3283111854:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.ObjectPlacement,i.Representation,i.Tag];},3055160366:function _(i){return[i.Degree,i.ControlPointsList,i.CurveForm,i.ClosedCurve,i.SelfIntersect,i.WeightsData];},3027567501:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.ObjectPlacement,i.Representation,i.Tag,i.SteelGrade];},2320036040:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.ObjectPlacement,i.Representation,i.Tag,i.SteelGrade,i.MeshLength,i.MeshWidth,i.LongitudinalBarNominalDiameter,i.TransverseBarNominalDiameter,i.LongitudinalBarCrossSectionArea,i.TransverseBarCrossSectionArea,i.LongitudinalBarSpacing,i.TransverseBarSpacing];},2016517767:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.ObjectPlacement,i.Representation,i.Tag,i.ShapeType];},1376911519:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.ObjectPlacement,i.Representation,i.Tag,i.FeatureLength,i.Radius];},1783015770:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ApplicableOccurrence,i.HasPropertySets,i.RepresentationMaps,i.Tag,i.ElementType,i.PredefinedType];},1529196076:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.ObjectPlacement,i.Representation,i.Tag,i.PredefinedType];},331165859:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.ObjectPlacement,i.Representation,i.Tag,i.ShapeType];},4252922144:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.ObjectPlacement,i.Representation,i.Tag,i.NumberOfRiser,i.NumberOfTreads,i.RiserHeight,i.TreadLength];},2515109513:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.PredefinedType,i.OrientationOf2DPlane,i.LoadedBy,i.HasResults];},3824725483:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.ObjectPlacement,i.Representation,i.Tag,i.SteelGrade,i.PredefinedType,i.NominalDiameter,i.CrossSectionArea,i.TensionForce,i.PreStress,i.FrictionCoefficient,i.AnchorageSlip,i.MinCurvatureRadius];},2347447852:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.ObjectPlacement,i.Representation,i.Tag,i.SteelGrade];},3313531582:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ApplicableOccurrence,i.HasPropertySets,i.RepresentationMaps,i.Tag,i.ElementType,i.PredefinedType];},2391406946:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.ObjectPlacement,i.Representation,i.Tag];},3512223829:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.ObjectPlacement,i.Representation,i.Tag];},3304561284:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.ObjectPlacement,i.Representation,i.Tag,i.OverallHeight,i.OverallWidth];},2874132201:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ApplicableOccurrence,i.HasPropertySets,i.RepresentationMaps,i.Tag,i.ElementType,i.PredefinedType];},3001207471:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ApplicableOccurrence,i.HasPropertySets,i.RepresentationMaps,i.Tag,i.ElementType,i.PredefinedType];},753842376:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.ObjectPlacement,i.Representation,i.Tag];},2454782716:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.ObjectPlacement,i.Representation,i.Tag,i.FeatureLength,i.Width,i.Height];},578613899:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ApplicableOccurrence,i.HasPropertySets,i.RepresentationMaps,i.Tag,i.ElementType,i.PredefinedType];},1052013943:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.ObjectPlacement,i.Representation,i.Tag];},1062813311:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.ObjectPlacement,i.Representation,i.Tag,i.ControlElementId];},3700593921:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.ObjectPlacement,i.Representation,i.Tag,i.DistributionPointFunction,i.UserDefinedFunction];},979691226:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.ObjectPlacement,i.Representation,i.Tag,i.SteelGrade,i.NominalDiameter,i.CrossSectionArea,i.BarLength,i.BarRole,i.BarSurface];}};TypeInitialisers[1]={3699917729:function _(v){return new IFC2X3.IfcAbsorbedDoseMeasure(v);},4182062534:function _(v){return new IFC2X3.IfcAccelerationMeasure(v);},360377573:function _(v){return new IFC2X3.IfcAmountOfSubstanceMeasure(v);},632304761:function _(v){return new IFC2X3.IfcAngularVelocityMeasure(v);},2650437152:function _(v){return new IFC2X3.IfcAreaMeasure(v);},2735952531:function _(v){return new IFC2X3.IfcBoolean(v);},1867003952:function _(v){return new IFC2X3.IfcBoxAlignment(v);},2991860651:function _(v){return new IFC2X3.IfcComplexNumber(v);},3812528620:function _(v){return new IFC2X3.IfcCompoundPlaneAngleMeasure(v);},3238673880:function _(v){return new IFC2X3.IfcContextDependentMeasure(v);},1778710042:function _(v){return new IFC2X3.IfcCountMeasure(v);},94842927:function _(v){return new IFC2X3.IfcCurvatureMeasure(v);},86635668:function _(v){return new IFC2X3.IfcDayInMonthNumber(v);},300323983:function _(v){return new IFC2X3.IfcDaylightSavingHour(v);},1514641115:function _(v){return new IFC2X3.IfcDescriptiveMeasure(v);},4134073009:function _(v){return new IFC2X3.IfcDimensionCount(v);},524656162:function _(v){return new IFC2X3.IfcDoseEquivalentMeasure(v);},69416015:function _(v){return new IFC2X3.IfcDynamicViscosityMeasure(v);},1827137117:function _(v){return new IFC2X3.IfcElectricCapacitanceMeasure(v);},3818826038:function _(v){return new IFC2X3.IfcElectricChargeMeasure(v);},2093906313:function _(v){return new IFC2X3.IfcElectricConductanceMeasure(v);},3790457270:function _(v){return new IFC2X3.IfcElectricCurrentMeasure(v);},2951915441:function _(v){return new IFC2X3.IfcElectricResistanceMeasure(v);},2506197118:function _(v){return new IFC2X3.IfcElectricVoltageMeasure(v);},2078135608:function _(v){return new IFC2X3.IfcEnergyMeasure(v);},1102727119:function _(v){return new IFC2X3.IfcFontStyle(v);},2715512545:function _(v){return new IFC2X3.IfcFontVariant(v);},2590844177:function _(v){return new IFC2X3.IfcFontWeight(v);},1361398929:function _(v){return new IFC2X3.IfcForceMeasure(v);},3044325142:function _(v){return new IFC2X3.IfcFrequencyMeasure(v);},3064340077:function _(v){return new IFC2X3.IfcGloballyUniqueId(v);},3113092358:function _(v){return new IFC2X3.IfcHeatFluxDensityMeasure(v);},1158859006:function _(v){return new IFC2X3.IfcHeatingValueMeasure(v);},2589826445:function _(v){return new IFC2X3.IfcHourInDay(v);},983778844:function _(v){return new IFC2X3.IfcIdentifier(v);},3358199106:function _(v){return new IFC2X3.IfcIlluminanceMeasure(v);},2679005408:function _(v){return new IFC2X3.IfcInductanceMeasure(v);},1939436016:function _(v){return new IFC2X3.IfcInteger(v);},3809634241:function _(v){return new IFC2X3.IfcIntegerCountRateMeasure(v);},3686016028:function _(v){return new IFC2X3.IfcIonConcentrationMeasure(v);},3192672207:function _(v){return new IFC2X3.IfcIsothermalMoistureCapacityMeasure(v);},2054016361:function _(v){return new IFC2X3.IfcKinematicViscosityMeasure(v);},3258342251:function _(v){return new IFC2X3.IfcLabel(v);},1243674935:function _(v){return new IFC2X3.IfcLengthMeasure(v);},191860431:function _(v){return new IFC2X3.IfcLinearForceMeasure(v);},2128979029:function _(v){return new IFC2X3.IfcLinearMomentMeasure(v);},1307019551:function _(v){return new IFC2X3.IfcLinearStiffnessMeasure(v);},3086160713:function _(v){return new IFC2X3.IfcLinearVelocityMeasure(v);},503418787:function _(v){return new IFC2X3.IfcLogical(v);},2095003142:function _(v){return new IFC2X3.IfcLuminousFluxMeasure(v);},2755797622:function _(v){return new IFC2X3.IfcLuminousIntensityDistributionMeasure(v);},151039812:function _(v){return new IFC2X3.IfcLuminousIntensityMeasure(v);},286949696:function _(v){return new IFC2X3.IfcMagneticFluxDensityMeasure(v);},2486716878:function _(v){return new IFC2X3.IfcMagneticFluxMeasure(v);},1477762836:function _(v){return new IFC2X3.IfcMassDensityMeasure(v);},4017473158:function _(v){return new IFC2X3.IfcMassFlowRateMeasure(v);},3124614049:function _(v){return new IFC2X3.IfcMassMeasure(v);},3531705166:function _(v){return new IFC2X3.IfcMassPerLengthMeasure(v);},102610177:function _(v){return new IFC2X3.IfcMinuteInHour(v);},3341486342:function _(v){return new IFC2X3.IfcModulusOfElasticityMeasure(v);},2173214787:function _(v){return new IFC2X3.IfcModulusOfLinearSubgradeReactionMeasure(v);},1052454078:function _(v){return new IFC2X3.IfcModulusOfRotationalSubgradeReactionMeasure(v);},1753493141:function _(v){return new IFC2X3.IfcModulusOfSubgradeReactionMeasure(v);},3177669450:function _(v){return new IFC2X3.IfcMoistureDiffusivityMeasure(v);},1648970520:function _(v){return new IFC2X3.IfcMolecularWeightMeasure(v);},3114022597:function _(v){return new IFC2X3.IfcMomentOfInertiaMeasure(v);},2615040989:function _(v){return new IFC2X3.IfcMonetaryMeasure(v);},765770214:function _(v){return new IFC2X3.IfcMonthInYearNumber(v);},2095195183:function _(v){return new IFC2X3.IfcNormalisedRatioMeasure(v);},2395907400:function _(v){return new IFC2X3.IfcNumericMeasure(v);},929793134:function _(v){return new IFC2X3.IfcPHMeasure(v);},2260317790:function _(v){return new IFC2X3.IfcParameterValue(v);},2642773653:function _(v){return new IFC2X3.IfcPlanarForceMeasure(v);},4042175685:function _(v){return new IFC2X3.IfcPlaneAngleMeasure(v);},2815919920:function _(v){return new IFC2X3.IfcPositiveLengthMeasure(v);},3054510233:function _(v){return new IFC2X3.IfcPositivePlaneAngleMeasure(v);},1245737093:function _(v){return new IFC2X3.IfcPositiveRatioMeasure(v);},1364037233:function _(v){return new IFC2X3.IfcPowerMeasure(v);},2169031380:function _(v){return new IFC2X3.IfcPresentableText(v);},3665567075:function _(v){return new IFC2X3.IfcPressureMeasure(v);},3972513137:function _(v){return new IFC2X3.IfcRadioActivityMeasure(v);},96294661:function _(v){return new IFC2X3.IfcRatioMeasure(v);},200335297:function _(v){return new IFC2X3.IfcReal(v);},2133746277:function _(v){return new IFC2X3.IfcRotationalFrequencyMeasure(v);},1755127002:function _(v){return new IFC2X3.IfcRotationalMassMeasure(v);},3211557302:function _(v){return new IFC2X3.IfcRotationalStiffnessMeasure(v);},2766185779:function _(v){return new IFC2X3.IfcSecondInMinute(v);},3467162246:function _(v){return new IFC2X3.IfcSectionModulusMeasure(v);},2190458107:function _(v){return new IFC2X3.IfcSectionalAreaIntegralMeasure(v);},408310005:function _(v){return new IFC2X3.IfcShearModulusMeasure(v);},3471399674:function _(v){return new IFC2X3.IfcSolidAngleMeasure(v);},846465480:function _(v){return new IFC2X3.IfcSoundPowerMeasure(v);},993287707:function _(v){return new IFC2X3.IfcSoundPressureMeasure(v);},3477203348:function _(v){return new IFC2X3.IfcSpecificHeatCapacityMeasure(v);},2757832317:function _(v){return new IFC2X3.IfcSpecularExponent(v);},361837227:function _(v){return new IFC2X3.IfcSpecularRoughness(v);},58845555:function _(v){return new IFC2X3.IfcTemperatureGradientMeasure(v);},2801250643:function _(v){return new IFC2X3.IfcText(v);},1460886941:function _(v){return new IFC2X3.IfcTextAlignment(v);},3490877962:function _(v){return new IFC2X3.IfcTextDecoration(v);},603696268:function _(v){return new IFC2X3.IfcTextFontName(v);},296282323:function _(v){return new IFC2X3.IfcTextTransformation(v);},232962298:function _(v){return new IFC2X3.IfcThermalAdmittanceMeasure(v);},2645777649:function _(v){return new IFC2X3.IfcThermalConductivityMeasure(v);},2281867870:function _(v){return new IFC2X3.IfcThermalExpansionCoefficientMeasure(v);},857959152:function _(v){return new IFC2X3.IfcThermalResistanceMeasure(v);},2016195849:function _(v){return new IFC2X3.IfcThermalTransmittanceMeasure(v);},743184107:function _(v){return new IFC2X3.IfcThermodynamicTemperatureMeasure(v);},2726807636:function _(v){return new IFC2X3.IfcTimeMeasure(v);},2591213694:function _(v){return new IFC2X3.IfcTimeStamp(v);},1278329552:function _(v){return new IFC2X3.IfcTorqueMeasure(v);},3345633955:function _(v){return new IFC2X3.IfcVaporPermeabilityMeasure(v);},3458127941:function _(v){return new IFC2X3.IfcVolumeMeasure(v);},2593997549:function _(v){return new IFC2X3.IfcVolumetricFlowRateMeasure(v);},51269191:function _(v){return new IFC2X3.IfcWarpingConstantMeasure(v);},1718600412:function _(v){return new IFC2X3.IfcWarpingMomentMeasure(v);},4065007721:function _(v){return new IFC2X3.IfcYearNumber(v);}};var IFC2X3;(function(IFC2X32){var IfcAbsorbedDoseMeasure=/*#__PURE__*/_createClass(function IfcAbsorbedDoseMeasure(v){_classCallCheck(this,IfcAbsorbedDoseMeasure);this.type=4;this.value=parseFloat(v);});IFC2X32.IfcAbsorbedDoseMeasure=IfcAbsorbedDoseMeasure;var IfcAccelerationMeasure=/*#__PURE__*/_createClass(function IfcAccelerationMeasure(v){_classCallCheck(this,IfcAccelerationMeasure);this.type=4;this.value=parseFloat(v);});IFC2X32.IfcAccelerationMeasure=IfcAccelerationMeasure;var IfcAmountOfSubstanceMeasure=/*#__PURE__*/_createClass(function IfcAmountOfSubstanceMeasure(v){_classCallCheck(this,IfcAmountOfSubstanceMeasure);this.type=4;this.value=parseFloat(v);});IFC2X32.IfcAmountOfSubstanceMeasure=IfcAmountOfSubstanceMeasure;var IfcAngularVelocityMeasure=/*#__PURE__*/_createClass(function IfcAngularVelocityMeasure(v){_classCallCheck(this,IfcAngularVelocityMeasure);this.type=4;this.value=parseFloat(v);});IFC2X32.IfcAngularVelocityMeasure=IfcAngularVelocityMeasure;var IfcAreaMeasure=/*#__PURE__*/_createClass(function IfcAreaMeasure(v){_classCallCheck(this,IfcAreaMeasure);this.type=4;this.value=parseFloat(v);});IFC2X32.IfcAreaMeasure=IfcAreaMeasure;var IfcBoolean=/*#__PURE__*/_createClass(function IfcBoolean(v){_classCallCheck(this,IfcBoolean);this.type=3;this.value=v=="true"?true:false;});IFC2X32.IfcBoolean=IfcBoolean;var IfcBoxAlignment=/*#__PURE__*/_createClass(function IfcBoxAlignment(value){_classCallCheck(this,IfcBoxAlignment);this.value=value;this.type=1;});IFC2X32.IfcBoxAlignment=IfcBoxAlignment;var IfcComplexNumber=/*#__PURE__*/_createClass(function IfcComplexNumber(value){_classCallCheck(this,IfcComplexNumber);this.value=value;});IFC2X32.IfcComplexNumber=IfcComplexNumber;var IfcCompoundPlaneAngleMeasure=/*#__PURE__*/_createClass(function IfcCompoundPlaneAngleMeasure(value){_classCallCheck(this,IfcCompoundPlaneAngleMeasure);this.value=value;});IFC2X32.IfcCompoundPlaneAngleMeasure=IfcCompoundPlaneAngleMeasure;var IfcContextDependentMeasure=/*#__PURE__*/_createClass(function IfcContextDependentMeasure(v){_classCallCheck(this,IfcContextDependentMeasure);this.type=4;this.value=parseFloat(v);});IFC2X32.IfcContextDependentMeasure=IfcContextDependentMeasure;var IfcCountMeasure=/*#__PURE__*/_createClass(function IfcCountMeasure(v){_classCallCheck(this,IfcCountMeasure);this.type=4;this.value=parseFloat(v);});IFC2X32.IfcCountMeasure=IfcCountMeasure;var IfcCurvatureMeasure=/*#__PURE__*/_createClass(function IfcCurvatureMeasure(v){_classCallCheck(this,IfcCurvatureMeasure);this.type=4;this.value=parseFloat(v);});IFC2X32.IfcCurvatureMeasure=IfcCurvatureMeasure;var IfcDayInMonthNumber=/*#__PURE__*/_createClass(function IfcDayInMonthNumber(v){_classCallCheck(this,IfcDayInMonthNumber);this.type=4;this.value=parseFloat(v);});IFC2X32.IfcDayInMonthNumber=IfcDayInMonthNumber;var IfcDaylightSavingHour=/*#__PURE__*/_createClass(function IfcDaylightSavingHour(v){_classCallCheck(this,IfcDaylightSavingHour);this.type=4;this.value=parseFloat(v);});IFC2X32.IfcDaylightSavingHour=IfcDaylightSavingHour;var IfcDescriptiveMeasure=/*#__PURE__*/_createClass(function IfcDescriptiveMeasure(value){_classCallCheck(this,IfcDescriptiveMeasure);this.value=value;this.type=1;});IFC2X32.IfcDescriptiveMeasure=IfcDescriptiveMeasure;var IfcDimensionCount=/*#__PURE__*/_createClass(function IfcDimensionCount(v){_classCallCheck(this,IfcDimensionCount);this.type=4;this.value=parseFloat(v);});IFC2X32.IfcDimensionCount=IfcDimensionCount;var IfcDoseEquivalentMeasure=/*#__PURE__*/_createClass(function IfcDoseEquivalentMeasure(v){_classCallCheck(this,IfcDoseEquivalentMeasure);this.type=4;this.value=parseFloat(v);});IFC2X32.IfcDoseEquivalentMeasure=IfcDoseEquivalentMeasure;var IfcDynamicViscosityMeasure=/*#__PURE__*/_createClass(function IfcDynamicViscosityMeasure(v){_classCallCheck(this,IfcDynamicViscosityMeasure);this.type=4;this.value=parseFloat(v);});IFC2X32.IfcDynamicViscosityMeasure=IfcDynamicViscosityMeasure;var IfcElectricCapacitanceMeasure=/*#__PURE__*/_createClass(function IfcElectricCapacitanceMeasure(v){_classCallCheck(this,IfcElectricCapacitanceMeasure);this.type=4;this.value=parseFloat(v);});IFC2X32.IfcElectricCapacitanceMeasure=IfcElectricCapacitanceMeasure;var IfcElectricChargeMeasure=/*#__PURE__*/_createClass(function IfcElectricChargeMeasure(v){_classCallCheck(this,IfcElectricChargeMeasure);this.type=4;this.value=parseFloat(v);});IFC2X32.IfcElectricChargeMeasure=IfcElectricChargeMeasure;var IfcElectricConductanceMeasure=/*#__PURE__*/_createClass(function IfcElectricConductanceMeasure(v){_classCallCheck(this,IfcElectricConductanceMeasure);this.type=4;this.value=parseFloat(v);});IFC2X32.IfcElectricConductanceMeasure=IfcElectricConductanceMeasure;var IfcElectricCurrentMeasure=/*#__PURE__*/_createClass(function IfcElectricCurrentMeasure(v){_classCallCheck(this,IfcElectricCurrentMeasure);this.type=4;this.value=parseFloat(v);});IFC2X32.IfcElectricCurrentMeasure=IfcElectricCurrentMeasure;var IfcElectricResistanceMeasure=/*#__PURE__*/_createClass(function IfcElectricResistanceMeasure(v){_classCallCheck(this,IfcElectricResistanceMeasure);this.type=4;this.value=parseFloat(v);});IFC2X32.IfcElectricResistanceMeasure=IfcElectricResistanceMeasure;var IfcElectricVoltageMeasure=/*#__PURE__*/_createClass(function IfcElectricVoltageMeasure(v){_classCallCheck(this,IfcElectricVoltageMeasure);this.type=4;this.value=parseFloat(v);});IFC2X32.IfcElectricVoltageMeasure=IfcElectricVoltageMeasure;var IfcEnergyMeasure=/*#__PURE__*/_createClass(function IfcEnergyMeasure(v){_classCallCheck(this,IfcEnergyMeasure);this.type=4;this.value=parseFloat(v);});IFC2X32.IfcEnergyMeasure=IfcEnergyMeasure;var IfcFontStyle=/*#__PURE__*/_createClass(function IfcFontStyle(value){_classCallCheck(this,IfcFontStyle);this.value=value;this.type=1;});IFC2X32.IfcFontStyle=IfcFontStyle;var IfcFontVariant=/*#__PURE__*/_createClass(function IfcFontVariant(value){_classCallCheck(this,IfcFontVariant);this.value=value;this.type=1;});IFC2X32.IfcFontVariant=IfcFontVariant;var IfcFontWeight=/*#__PURE__*/_createClass(function IfcFontWeight(value){_classCallCheck(this,IfcFontWeight);this.value=value;this.type=1;});IFC2X32.IfcFontWeight=IfcFontWeight;var IfcForceMeasure=/*#__PURE__*/_createClass(function IfcForceMeasure(v){_classCallCheck(this,IfcForceMeasure);this.type=4;this.value=parseFloat(v);});IFC2X32.IfcForceMeasure=IfcForceMeasure;var IfcFrequencyMeasure=/*#__PURE__*/_createClass(function IfcFrequencyMeasure(v){_classCallCheck(this,IfcFrequencyMeasure);this.type=4;this.value=parseFloat(v);});IFC2X32.IfcFrequencyMeasure=IfcFrequencyMeasure;var IfcGloballyUniqueId=/*#__PURE__*/_createClass(function IfcGloballyUniqueId(value){_classCallCheck(this,IfcGloballyUniqueId);this.value=value;this.type=1;});IFC2X32.IfcGloballyUniqueId=IfcGloballyUniqueId;var IfcHeatFluxDensityMeasure=/*#__PURE__*/_createClass(function IfcHeatFluxDensityMeasure(v){_classCallCheck(this,IfcHeatFluxDensityMeasure);this.type=4;this.value=parseFloat(v);});IFC2X32.IfcHeatFluxDensityMeasure=IfcHeatFluxDensityMeasure;var IfcHeatingValueMeasure=/*#__PURE__*/_createClass(function IfcHeatingValueMeasure(v){_classCallCheck(this,IfcHeatingValueMeasure);this.type=4;this.value=parseFloat(v);});IFC2X32.IfcHeatingValueMeasure=IfcHeatingValueMeasure;var IfcHourInDay=/*#__PURE__*/_createClass(function IfcHourInDay(v){_classCallCheck(this,IfcHourInDay);this.type=4;this.value=parseFloat(v);});IFC2X32.IfcHourInDay=IfcHourInDay;var IfcIdentifier=/*#__PURE__*/_createClass(function IfcIdentifier(value){_classCallCheck(this,IfcIdentifier);this.value=value;this.type=1;});IFC2X32.IfcIdentifier=IfcIdentifier;var IfcIlluminanceMeasure=/*#__PURE__*/_createClass(function IfcIlluminanceMeasure(v){_classCallCheck(this,IfcIlluminanceMeasure);this.type=4;this.value=parseFloat(v);});IFC2X32.IfcIlluminanceMeasure=IfcIlluminanceMeasure;var IfcInductanceMeasure=/*#__PURE__*/_createClass(function IfcInductanceMeasure(v){_classCallCheck(this,IfcInductanceMeasure);this.type=4;this.value=parseFloat(v);});IFC2X32.IfcInductanceMeasure=IfcInductanceMeasure;var IfcInteger=/*#__PURE__*/_createClass(function IfcInteger(v){_classCallCheck(this,IfcInteger);this.type=4;this.value=parseFloat(v);});IFC2X32.IfcInteger=IfcInteger;var IfcIntegerCountRateMeasure=/*#__PURE__*/_createClass(function IfcIntegerCountRateMeasure(v){_classCallCheck(this,IfcIntegerCountRateMeasure);this.type=4;this.value=parseFloat(v);});IFC2X32.IfcIntegerCountRateMeasure=IfcIntegerCountRateMeasure;var IfcIonConcentrationMeasure=/*#__PURE__*/_createClass(function IfcIonConcentrationMeasure(v){_classCallCheck(this,IfcIonConcentrationMeasure);this.type=4;this.value=parseFloat(v);});IFC2X32.IfcIonConcentrationMeasure=IfcIonConcentrationMeasure;var IfcIsothermalMoistureCapacityMeasure=/*#__PURE__*/_createClass(function IfcIsothermalMoistureCapacityMeasure(v){_classCallCheck(this,IfcIsothermalMoistureCapacityMeasure);this.type=4;this.value=parseFloat(v);});IFC2X32.IfcIsothermalMoistureCapacityMeasure=IfcIsothermalMoistureCapacityMeasure;var IfcKinematicViscosityMeasure=/*#__PURE__*/_createClass(function IfcKinematicViscosityMeasure(v){_classCallCheck(this,IfcKinematicViscosityMeasure);this.type=4;this.value=parseFloat(v);});IFC2X32.IfcKinematicViscosityMeasure=IfcKinematicViscosityMeasure;var IfcLabel=/*#__PURE__*/_createClass(function IfcLabel(value){_classCallCheck(this,IfcLabel);this.value=value;this.type=1;});IFC2X32.IfcLabel=IfcLabel;var IfcLengthMeasure=/*#__PURE__*/_createClass(function IfcLengthMeasure(v){_classCallCheck(this,IfcLengthMeasure);this.type=4;this.value=parseFloat(v);});IFC2X32.IfcLengthMeasure=IfcLengthMeasure;var IfcLinearForceMeasure=/*#__PURE__*/_createClass(function IfcLinearForceMeasure(v){_classCallCheck(this,IfcLinearForceMeasure);this.type=4;this.value=parseFloat(v);});IFC2X32.IfcLinearForceMeasure=IfcLinearForceMeasure;var IfcLinearMomentMeasure=/*#__PURE__*/_createClass(function IfcLinearMomentMeasure(v){_classCallCheck(this,IfcLinearMomentMeasure);this.type=4;this.value=parseFloat(v);});IFC2X32.IfcLinearMomentMeasure=IfcLinearMomentMeasure;var IfcLinearStiffnessMeasure=/*#__PURE__*/_createClass(function IfcLinearStiffnessMeasure(v){_classCallCheck(this,IfcLinearStiffnessMeasure);this.type=4;this.value=parseFloat(v);});IFC2X32.IfcLinearStiffnessMeasure=IfcLinearStiffnessMeasure;var IfcLinearVelocityMeasure=/*#__PURE__*/_createClass(function IfcLinearVelocityMeasure(v){_classCallCheck(this,IfcLinearVelocityMeasure);this.type=4;this.value=parseFloat(v);});IFC2X32.IfcLinearVelocityMeasure=IfcLinearVelocityMeasure;var IfcLogical=/*#__PURE__*/_createClass(function IfcLogical(v){_classCallCheck(this,IfcLogical);this.type=3;this.value=v=="true"?true:false;});IFC2X32.IfcLogical=IfcLogical;var IfcLuminousFluxMeasure=/*#__PURE__*/_createClass(function IfcLuminousFluxMeasure(v){_classCallCheck(this,IfcLuminousFluxMeasure);this.type=4;this.value=parseFloat(v);});IFC2X32.IfcLuminousFluxMeasure=IfcLuminousFluxMeasure;var IfcLuminousIntensityDistributionMeasure=/*#__PURE__*/_createClass(function IfcLuminousIntensityDistributionMeasure(v){_classCallCheck(this,IfcLuminousIntensityDistributionMeasure);this.type=4;this.value=parseFloat(v);});IFC2X32.IfcLuminousIntensityDistributionMeasure=IfcLuminousIntensityDistributionMeasure;var IfcLuminousIntensityMeasure=/*#__PURE__*/_createClass(function IfcLuminousIntensityMeasure(v){_classCallCheck(this,IfcLuminousIntensityMeasure);this.type=4;this.value=parseFloat(v);});IFC2X32.IfcLuminousIntensityMeasure=IfcLuminousIntensityMeasure;var IfcMagneticFluxDensityMeasure=/*#__PURE__*/_createClass(function IfcMagneticFluxDensityMeasure(v){_classCallCheck(this,IfcMagneticFluxDensityMeasure);this.type=4;this.value=parseFloat(v);});IFC2X32.IfcMagneticFluxDensityMeasure=IfcMagneticFluxDensityMeasure;var IfcMagneticFluxMeasure=/*#__PURE__*/_createClass(function IfcMagneticFluxMeasure(v){_classCallCheck(this,IfcMagneticFluxMeasure);this.type=4;this.value=parseFloat(v);});IFC2X32.IfcMagneticFluxMeasure=IfcMagneticFluxMeasure;var IfcMassDensityMeasure=/*#__PURE__*/_createClass(function IfcMassDensityMeasure(v){_classCallCheck(this,IfcMassDensityMeasure);this.type=4;this.value=parseFloat(v);});IFC2X32.IfcMassDensityMeasure=IfcMassDensityMeasure;var IfcMassFlowRateMeasure=/*#__PURE__*/_createClass(function IfcMassFlowRateMeasure(v){_classCallCheck(this,IfcMassFlowRateMeasure);this.type=4;this.value=parseFloat(v);});IFC2X32.IfcMassFlowRateMeasure=IfcMassFlowRateMeasure;var IfcMassMeasure=/*#__PURE__*/_createClass(function IfcMassMeasure(v){_classCallCheck(this,IfcMassMeasure);this.type=4;this.value=parseFloat(v);});IFC2X32.IfcMassMeasure=IfcMassMeasure;var IfcMassPerLengthMeasure=/*#__PURE__*/_createClass(function IfcMassPerLengthMeasure(v){_classCallCheck(this,IfcMassPerLengthMeasure);this.type=4;this.value=parseFloat(v);});IFC2X32.IfcMassPerLengthMeasure=IfcMassPerLengthMeasure;var IfcMinuteInHour=/*#__PURE__*/_createClass(function IfcMinuteInHour(v){_classCallCheck(this,IfcMinuteInHour);this.type=4;this.value=parseFloat(v);});IFC2X32.IfcMinuteInHour=IfcMinuteInHour;var IfcModulusOfElasticityMeasure=/*#__PURE__*/_createClass(function IfcModulusOfElasticityMeasure(v){_classCallCheck(this,IfcModulusOfElasticityMeasure);this.type=4;this.value=parseFloat(v);});IFC2X32.IfcModulusOfElasticityMeasure=IfcModulusOfElasticityMeasure;var IfcModulusOfLinearSubgradeReactionMeasure=/*#__PURE__*/_createClass(function IfcModulusOfLinearSubgradeReactionMeasure(v){_classCallCheck(this,IfcModulusOfLinearSubgradeReactionMeasure);this.type=4;this.value=parseFloat(v);});IFC2X32.IfcModulusOfLinearSubgradeReactionMeasure=IfcModulusOfLinearSubgradeReactionMeasure;var IfcModulusOfRotationalSubgradeReactionMeasure=/*#__PURE__*/_createClass(function IfcModulusOfRotationalSubgradeReactionMeasure(v){_classCallCheck(this,IfcModulusOfRotationalSubgradeReactionMeasure);this.type=4;this.value=parseFloat(v);});IFC2X32.IfcModulusOfRotationalSubgradeReactionMeasure=IfcModulusOfRotationalSubgradeReactionMeasure;var IfcModulusOfSubgradeReactionMeasure=/*#__PURE__*/_createClass(function IfcModulusOfSubgradeReactionMeasure(v){_classCallCheck(this,IfcModulusOfSubgradeReactionMeasure);this.type=4;this.value=parseFloat(v);});IFC2X32.IfcModulusOfSubgradeReactionMeasure=IfcModulusOfSubgradeReactionMeasure;var IfcMoistureDiffusivityMeasure=/*#__PURE__*/_createClass(function IfcMoistureDiffusivityMeasure(v){_classCallCheck(this,IfcMoistureDiffusivityMeasure);this.type=4;this.value=parseFloat(v);});IFC2X32.IfcMoistureDiffusivityMeasure=IfcMoistureDiffusivityMeasure;var IfcMolecularWeightMeasure=/*#__PURE__*/_createClass(function IfcMolecularWeightMeasure(v){_classCallCheck(this,IfcMolecularWeightMeasure);this.type=4;this.value=parseFloat(v);});IFC2X32.IfcMolecularWeightMeasure=IfcMolecularWeightMeasure;var IfcMomentOfInertiaMeasure=/*#__PURE__*/_createClass(function IfcMomentOfInertiaMeasure(v){_classCallCheck(this,IfcMomentOfInertiaMeasure);this.type=4;this.value=parseFloat(v);});IFC2X32.IfcMomentOfInertiaMeasure=IfcMomentOfInertiaMeasure;var IfcMonetaryMeasure=/*#__PURE__*/_createClass(function IfcMonetaryMeasure(v){_classCallCheck(this,IfcMonetaryMeasure);this.type=4;this.value=parseFloat(v);});IFC2X32.IfcMonetaryMeasure=IfcMonetaryMeasure;var IfcMonthInYearNumber=/*#__PURE__*/_createClass(function IfcMonthInYearNumber(v){_classCallCheck(this,IfcMonthInYearNumber);this.type=4;this.value=parseFloat(v);});IFC2X32.IfcMonthInYearNumber=IfcMonthInYearNumber;var IfcNormalisedRatioMeasure=/*#__PURE__*/_createClass(function IfcNormalisedRatioMeasure(v){_classCallCheck(this,IfcNormalisedRatioMeasure);this.type=4;this.value=parseFloat(v);});IFC2X32.IfcNormalisedRatioMeasure=IfcNormalisedRatioMeasure;var IfcNumericMeasure=/*#__PURE__*/_createClass(function IfcNumericMeasure(v){_classCallCheck(this,IfcNumericMeasure);this.type=4;this.value=parseFloat(v);});IFC2X32.IfcNumericMeasure=IfcNumericMeasure;var IfcPHMeasure=/*#__PURE__*/_createClass(function IfcPHMeasure(v){_classCallCheck(this,IfcPHMeasure);this.type=4;this.value=parseFloat(v);});IFC2X32.IfcPHMeasure=IfcPHMeasure;var IfcParameterValue=/*#__PURE__*/_createClass(function IfcParameterValue(v){_classCallCheck(this,IfcParameterValue);this.type=4;this.value=parseFloat(v);});IFC2X32.IfcParameterValue=IfcParameterValue;var IfcPlanarForceMeasure=/*#__PURE__*/_createClass(function IfcPlanarForceMeasure(v){_classCallCheck(this,IfcPlanarForceMeasure);this.type=4;this.value=parseFloat(v);});IFC2X32.IfcPlanarForceMeasure=IfcPlanarForceMeasure;var IfcPlaneAngleMeasure=/*#__PURE__*/_createClass(function IfcPlaneAngleMeasure(v){_classCallCheck(this,IfcPlaneAngleMeasure);this.type=4;this.value=parseFloat(v);});IFC2X32.IfcPlaneAngleMeasure=IfcPlaneAngleMeasure;var IfcPositiveLengthMeasure=/*#__PURE__*/_createClass(function IfcPositiveLengthMeasure(v){_classCallCheck(this,IfcPositiveLengthMeasure);this.type=4;this.value=parseFloat(v);});IFC2X32.IfcPositiveLengthMeasure=IfcPositiveLengthMeasure;var IfcPositivePlaneAngleMeasure=/*#__PURE__*/_createClass(function IfcPositivePlaneAngleMeasure(v){_classCallCheck(this,IfcPositivePlaneAngleMeasure);this.type=4;this.value=parseFloat(v);});IFC2X32.IfcPositivePlaneAngleMeasure=IfcPositivePlaneAngleMeasure;var IfcPositiveRatioMeasure=/*#__PURE__*/_createClass(function IfcPositiveRatioMeasure(v){_classCallCheck(this,IfcPositiveRatioMeasure);this.type=4;this.value=parseFloat(v);});IFC2X32.IfcPositiveRatioMeasure=IfcPositiveRatioMeasure;var IfcPowerMeasure=/*#__PURE__*/_createClass(function IfcPowerMeasure(v){_classCallCheck(this,IfcPowerMeasure);this.type=4;this.value=parseFloat(v);});IFC2X32.IfcPowerMeasure=IfcPowerMeasure;var IfcPresentableText=/*#__PURE__*/_createClass(function IfcPresentableText(value){_classCallCheck(this,IfcPresentableText);this.value=value;this.type=1;});IFC2X32.IfcPresentableText=IfcPresentableText;var IfcPressureMeasure=/*#__PURE__*/_createClass(function IfcPressureMeasure(v){_classCallCheck(this,IfcPressureMeasure);this.type=4;this.value=parseFloat(v);});IFC2X32.IfcPressureMeasure=IfcPressureMeasure;var IfcRadioActivityMeasure=/*#__PURE__*/_createClass(function IfcRadioActivityMeasure(v){_classCallCheck(this,IfcRadioActivityMeasure);this.type=4;this.value=parseFloat(v);});IFC2X32.IfcRadioActivityMeasure=IfcRadioActivityMeasure;var IfcRatioMeasure=/*#__PURE__*/_createClass(function IfcRatioMeasure(v){_classCallCheck(this,IfcRatioMeasure);this.type=4;this.value=parseFloat(v);});IFC2X32.IfcRatioMeasure=IfcRatioMeasure;var IfcReal=/*#__PURE__*/_createClass(function IfcReal(v){_classCallCheck(this,IfcReal);this.type=4;this.value=parseFloat(v);});IFC2X32.IfcReal=IfcReal;var IfcRotationalFrequencyMeasure=/*#__PURE__*/_createClass(function IfcRotationalFrequencyMeasure(v){_classCallCheck(this,IfcRotationalFrequencyMeasure);this.type=4;this.value=parseFloat(v);});IFC2X32.IfcRotationalFrequencyMeasure=IfcRotationalFrequencyMeasure;var IfcRotationalMassMeasure=/*#__PURE__*/_createClass(function IfcRotationalMassMeasure(v){_classCallCheck(this,IfcRotationalMassMeasure);this.type=4;this.value=parseFloat(v);});IFC2X32.IfcRotationalMassMeasure=IfcRotationalMassMeasure;var IfcRotationalStiffnessMeasure=/*#__PURE__*/_createClass(function IfcRotationalStiffnessMeasure(v){_classCallCheck(this,IfcRotationalStiffnessMeasure);this.type=4;this.value=parseFloat(v);});IFC2X32.IfcRotationalStiffnessMeasure=IfcRotationalStiffnessMeasure;var IfcSecondInMinute=/*#__PURE__*/_createClass(function IfcSecondInMinute(v){_classCallCheck(this,IfcSecondInMinute);this.type=4;this.value=parseFloat(v);});IFC2X32.IfcSecondInMinute=IfcSecondInMinute;var IfcSectionModulusMeasure=/*#__PURE__*/_createClass(function IfcSectionModulusMeasure(v){_classCallCheck(this,IfcSectionModulusMeasure);this.type=4;this.value=parseFloat(v);});IFC2X32.IfcSectionModulusMeasure=IfcSectionModulusMeasure;var IfcSectionalAreaIntegralMeasure=/*#__PURE__*/_createClass(function IfcSectionalAreaIntegralMeasure(v){_classCallCheck(this,IfcSectionalAreaIntegralMeasure);this.type=4;this.value=parseFloat(v);});IFC2X32.IfcSectionalAreaIntegralMeasure=IfcSectionalAreaIntegralMeasure;var IfcShearModulusMeasure=/*#__PURE__*/_createClass(function IfcShearModulusMeasure(v){_classCallCheck(this,IfcShearModulusMeasure);this.type=4;this.value=parseFloat(v);});IFC2X32.IfcShearModulusMeasure=IfcShearModulusMeasure;var IfcSolidAngleMeasure=/*#__PURE__*/_createClass(function IfcSolidAngleMeasure(v){_classCallCheck(this,IfcSolidAngleMeasure);this.type=4;this.value=parseFloat(v);});IFC2X32.IfcSolidAngleMeasure=IfcSolidAngleMeasure;var IfcSoundPowerMeasure=/*#__PURE__*/_createClass(function IfcSoundPowerMeasure(v){_classCallCheck(this,IfcSoundPowerMeasure);this.type=4;this.value=parseFloat(v);});IFC2X32.IfcSoundPowerMeasure=IfcSoundPowerMeasure;var IfcSoundPressureMeasure=/*#__PURE__*/_createClass(function IfcSoundPressureMeasure(v){_classCallCheck(this,IfcSoundPressureMeasure);this.type=4;this.value=parseFloat(v);});IFC2X32.IfcSoundPressureMeasure=IfcSoundPressureMeasure;var IfcSpecificHeatCapacityMeasure=/*#__PURE__*/_createClass(function IfcSpecificHeatCapacityMeasure(v){_classCallCheck(this,IfcSpecificHeatCapacityMeasure);this.type=4;this.value=parseFloat(v);});IFC2X32.IfcSpecificHeatCapacityMeasure=IfcSpecificHeatCapacityMeasure;var IfcSpecularExponent=/*#__PURE__*/_createClass(function IfcSpecularExponent(v){_classCallCheck(this,IfcSpecularExponent);this.type=4;this.value=parseFloat(v);});IFC2X32.IfcSpecularExponent=IfcSpecularExponent;var IfcSpecularRoughness=/*#__PURE__*/_createClass(function IfcSpecularRoughness(v){_classCallCheck(this,IfcSpecularRoughness);this.type=4;this.value=parseFloat(v);});IFC2X32.IfcSpecularRoughness=IfcSpecularRoughness;var IfcTemperatureGradientMeasure=/*#__PURE__*/_createClass(function IfcTemperatureGradientMeasure(v){_classCallCheck(this,IfcTemperatureGradientMeasure);this.type=4;this.value=parseFloat(v);});IFC2X32.IfcTemperatureGradientMeasure=IfcTemperatureGradientMeasure;var IfcText=/*#__PURE__*/_createClass(function IfcText(value){_classCallCheck(this,IfcText);this.value=value;this.type=1;});IFC2X32.IfcText=IfcText;var IfcTextAlignment=/*#__PURE__*/_createClass(function IfcTextAlignment(value){_classCallCheck(this,IfcTextAlignment);this.value=value;this.type=1;});IFC2X32.IfcTextAlignment=IfcTextAlignment;var IfcTextDecoration=/*#__PURE__*/_createClass(function IfcTextDecoration(value){_classCallCheck(this,IfcTextDecoration);this.value=value;this.type=1;});IFC2X32.IfcTextDecoration=IfcTextDecoration;var IfcTextFontName=/*#__PURE__*/_createClass(function IfcTextFontName(value){_classCallCheck(this,IfcTextFontName);this.value=value;this.type=1;});IFC2X32.IfcTextFontName=IfcTextFontName;var IfcTextTransformation=/*#__PURE__*/_createClass(function IfcTextTransformation(value){_classCallCheck(this,IfcTextTransformation);this.value=value;this.type=1;});IFC2X32.IfcTextTransformation=IfcTextTransformation;var IfcThermalAdmittanceMeasure=/*#__PURE__*/_createClass(function IfcThermalAdmittanceMeasure(v){_classCallCheck(this,IfcThermalAdmittanceMeasure);this.type=4;this.value=parseFloat(v);});IFC2X32.IfcThermalAdmittanceMeasure=IfcThermalAdmittanceMeasure;var IfcThermalConductivityMeasure=/*#__PURE__*/_createClass(function IfcThermalConductivityMeasure(v){_classCallCheck(this,IfcThermalConductivityMeasure);this.type=4;this.value=parseFloat(v);});IFC2X32.IfcThermalConductivityMeasure=IfcThermalConductivityMeasure;var IfcThermalExpansionCoefficientMeasure=/*#__PURE__*/_createClass(function IfcThermalExpansionCoefficientMeasure(v){_classCallCheck(this,IfcThermalExpansionCoefficientMeasure);this.type=4;this.value=parseFloat(v);});IFC2X32.IfcThermalExpansionCoefficientMeasure=IfcThermalExpansionCoefficientMeasure;var IfcThermalResistanceMeasure=/*#__PURE__*/_createClass(function IfcThermalResistanceMeasure(v){_classCallCheck(this,IfcThermalResistanceMeasure);this.type=4;this.value=parseFloat(v);});IFC2X32.IfcThermalResistanceMeasure=IfcThermalResistanceMeasure;var IfcThermalTransmittanceMeasure=/*#__PURE__*/_createClass(function IfcThermalTransmittanceMeasure(v){_classCallCheck(this,IfcThermalTransmittanceMeasure);this.type=4;this.value=parseFloat(v);});IFC2X32.IfcThermalTransmittanceMeasure=IfcThermalTransmittanceMeasure;var IfcThermodynamicTemperatureMeasure=/*#__PURE__*/_createClass(function IfcThermodynamicTemperatureMeasure(v){_classCallCheck(this,IfcThermodynamicTemperatureMeasure);this.type=4;this.value=parseFloat(v);});IFC2X32.IfcThermodynamicTemperatureMeasure=IfcThermodynamicTemperatureMeasure;var IfcTimeMeasure=/*#__PURE__*/_createClass(function IfcTimeMeasure(v){_classCallCheck(this,IfcTimeMeasure);this.type=4;this.value=parseFloat(v);});IFC2X32.IfcTimeMeasure=IfcTimeMeasure;var IfcTimeStamp=/*#__PURE__*/_createClass(function IfcTimeStamp(v){_classCallCheck(this,IfcTimeStamp);this.type=4;this.value=parseFloat(v);});IFC2X32.IfcTimeStamp=IfcTimeStamp;var IfcTorqueMeasure=/*#__PURE__*/_createClass(function IfcTorqueMeasure(v){_classCallCheck(this,IfcTorqueMeasure);this.type=4;this.value=parseFloat(v);});IFC2X32.IfcTorqueMeasure=IfcTorqueMeasure;var IfcVaporPermeabilityMeasure=/*#__PURE__*/_createClass(function IfcVaporPermeabilityMeasure(v){_classCallCheck(this,IfcVaporPermeabilityMeasure);this.type=4;this.value=parseFloat(v);});IFC2X32.IfcVaporPermeabilityMeasure=IfcVaporPermeabilityMeasure;var IfcVolumeMeasure=/*#__PURE__*/_createClass(function IfcVolumeMeasure(v){_classCallCheck(this,IfcVolumeMeasure);this.type=4;this.value=parseFloat(v);});IFC2X32.IfcVolumeMeasure=IfcVolumeMeasure;var IfcVolumetricFlowRateMeasure=/*#__PURE__*/_createClass(function IfcVolumetricFlowRateMeasure(v){_classCallCheck(this,IfcVolumetricFlowRateMeasure);this.type=4;this.value=parseFloat(v);});IFC2X32.IfcVolumetricFlowRateMeasure=IfcVolumetricFlowRateMeasure;var IfcWarpingConstantMeasure=/*#__PURE__*/_createClass(function IfcWarpingConstantMeasure(v){_classCallCheck(this,IfcWarpingConstantMeasure);this.type=4;this.value=parseFloat(v);});IFC2X32.IfcWarpingConstantMeasure=IfcWarpingConstantMeasure;var IfcWarpingMomentMeasure=/*#__PURE__*/_createClass(function IfcWarpingMomentMeasure(v){_classCallCheck(this,IfcWarpingMomentMeasure);this.type=4;this.value=parseFloat(v);});IFC2X32.IfcWarpingMomentMeasure=IfcWarpingMomentMeasure;var IfcYearNumber=/*#__PURE__*/_createClass(function IfcYearNumber(v){_classCallCheck(this,IfcYearNumber);this.type=4;this.value=parseFloat(v);});IFC2X32.IfcYearNumber=IfcYearNumber;var IfcActionSourceTypeEnum=/*#__PURE__*/_createClass(function IfcActionSourceTypeEnum(){_classCallCheck(this,IfcActionSourceTypeEnum);});IfcActionSourceTypeEnum.DEAD_LOAD_G={type:3,value:"DEAD_LOAD_G"};IfcActionSourceTypeEnum.COMPLETION_G1={type:3,value:"COMPLETION_G1"};IfcActionSourceTypeEnum.LIVE_LOAD_Q={type:3,value:"LIVE_LOAD_Q"};IfcActionSourceTypeEnum.SNOW_S={type:3,value:"SNOW_S"};IfcActionSourceTypeEnum.WIND_W={type:3,value:"WIND_W"};IfcActionSourceTypeEnum.PRESTRESSING_P={type:3,value:"PRESTRESSING_P"};IfcActionSourceTypeEnum.SETTLEMENT_U={type:3,value:"SETTLEMENT_U"};IfcActionSourceTypeEnum.TEMPERATURE_T={type:3,value:"TEMPERATURE_T"};IfcActionSourceTypeEnum.EARTHQUAKE_E={type:3,value:"EARTHQUAKE_E"};IfcActionSourceTypeEnum.FIRE={type:3,value:"FIRE"};IfcActionSourceTypeEnum.IMPULSE={type:3,value:"IMPULSE"};IfcActionSourceTypeEnum.IMPACT={type:3,value:"IMPACT"};IfcActionSourceTypeEnum.TRANSPORT={type:3,value:"TRANSPORT"};IfcActionSourceTypeEnum.ERECTION={type:3,value:"ERECTION"};IfcActionSourceTypeEnum.PROPPING={type:3,value:"PROPPING"};IfcActionSourceTypeEnum.SYSTEM_IMPERFECTION={type:3,value:"SYSTEM_IMPERFECTION"};IfcActionSourceTypeEnum.SHRINKAGE={type:3,value:"SHRINKAGE"};IfcActionSourceTypeEnum.CREEP={type:3,value:"CREEP"};IfcActionSourceTypeEnum.LACK_OF_FIT={type:3,value:"LACK_OF_FIT"};IfcActionSourceTypeEnum.BUOYANCY={type:3,value:"BUOYANCY"};IfcActionSourceTypeEnum.ICE={type:3,value:"ICE"};IfcActionSourceTypeEnum.CURRENT={type:3,value:"CURRENT"};IfcActionSourceTypeEnum.WAVE={type:3,value:"WAVE"};IfcActionSourceTypeEnum.RAIN={type:3,value:"RAIN"};IfcActionSourceTypeEnum.BRAKES={type:3,value:"BRAKES"};IfcActionSourceTypeEnum.USERDEFINED={type:3,value:"USERDEFINED"};IfcActionSourceTypeEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC2X32.IfcActionSourceTypeEnum=IfcActionSourceTypeEnum;var IfcActionTypeEnum=/*#__PURE__*/_createClass(function IfcActionTypeEnum(){_classCallCheck(this,IfcActionTypeEnum);});IfcActionTypeEnum.PERMANENT_G={type:3,value:"PERMANENT_G"};IfcActionTypeEnum.VARIABLE_Q={type:3,value:"VARIABLE_Q"};IfcActionTypeEnum.EXTRAORDINARY_A={type:3,value:"EXTRAORDINARY_A"};IfcActionTypeEnum.USERDEFINED={type:3,value:"USERDEFINED"};IfcActionTypeEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC2X32.IfcActionTypeEnum=IfcActionTypeEnum;var IfcActuatorTypeEnum=/*#__PURE__*/_createClass(function IfcActuatorTypeEnum(){_classCallCheck(this,IfcActuatorTypeEnum);});IfcActuatorTypeEnum.ELECTRICACTUATOR={type:3,value:"ELECTRICACTUATOR"};IfcActuatorTypeEnum.HANDOPERATEDACTUATOR={type:3,value:"HANDOPERATEDACTUATOR"};IfcActuatorTypeEnum.HYDRAULICACTUATOR={type:3,value:"HYDRAULICACTUATOR"};IfcActuatorTypeEnum.PNEUMATICACTUATOR={type:3,value:"PNEUMATICACTUATOR"};IfcActuatorTypeEnum.THERMOSTATICACTUATOR={type:3,value:"THERMOSTATICACTUATOR"};IfcActuatorTypeEnum.USERDEFINED={type:3,value:"USERDEFINED"};IfcActuatorTypeEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC2X32.IfcActuatorTypeEnum=IfcActuatorTypeEnum;var IfcAddressTypeEnum=/*#__PURE__*/_createClass(function IfcAddressTypeEnum(){_classCallCheck(this,IfcAddressTypeEnum);});IfcAddressTypeEnum.OFFICE={type:3,value:"OFFICE"};IfcAddressTypeEnum.SITE={type:3,value:"SITE"};IfcAddressTypeEnum.HOME={type:3,value:"HOME"};IfcAddressTypeEnum.DISTRIBUTIONPOINT={type:3,value:"DISTRIBUTIONPOINT"};IfcAddressTypeEnum.USERDEFINED={type:3,value:"USERDEFINED"};IFC2X32.IfcAddressTypeEnum=IfcAddressTypeEnum;var IfcAheadOrBehind=/*#__PURE__*/_createClass(function IfcAheadOrBehind(){_classCallCheck(this,IfcAheadOrBehind);});IfcAheadOrBehind.AHEAD={type:3,value:"AHEAD"};IfcAheadOrBehind.BEHIND={type:3,value:"BEHIND"};IFC2X32.IfcAheadOrBehind=IfcAheadOrBehind;var IfcAirTerminalBoxTypeEnum=/*#__PURE__*/_createClass(function IfcAirTerminalBoxTypeEnum(){_classCallCheck(this,IfcAirTerminalBoxTypeEnum);});IfcAirTerminalBoxTypeEnum.CONSTANTFLOW={type:3,value:"CONSTANTFLOW"};IfcAirTerminalBoxTypeEnum.VARIABLEFLOWPRESSUREDEPENDANT={type:3,value:"VARIABLEFLOWPRESSUREDEPENDANT"};IfcAirTerminalBoxTypeEnum.VARIABLEFLOWPRESSUREINDEPENDANT={type:3,value:"VARIABLEFLOWPRESSUREINDEPENDANT"};IfcAirTerminalBoxTypeEnum.USERDEFINED={type:3,value:"USERDEFINED"};IfcAirTerminalBoxTypeEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC2X32.IfcAirTerminalBoxTypeEnum=IfcAirTerminalBoxTypeEnum;var IfcAirTerminalTypeEnum=/*#__PURE__*/_createClass(function IfcAirTerminalTypeEnum(){_classCallCheck(this,IfcAirTerminalTypeEnum);});IfcAirTerminalTypeEnum.GRILLE={type:3,value:"GRILLE"};IfcAirTerminalTypeEnum.REGISTER={type:3,value:"REGISTER"};IfcAirTerminalTypeEnum.DIFFUSER={type:3,value:"DIFFUSER"};IfcAirTerminalTypeEnum.EYEBALL={type:3,value:"EYEBALL"};IfcAirTerminalTypeEnum.IRIS={type:3,value:"IRIS"};IfcAirTerminalTypeEnum.LINEARGRILLE={type:3,value:"LINEARGRILLE"};IfcAirTerminalTypeEnum.LINEARDIFFUSER={type:3,value:"LINEARDIFFUSER"};IfcAirTerminalTypeEnum.USERDEFINED={type:3,value:"USERDEFINED"};IfcAirTerminalTypeEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC2X32.IfcAirTerminalTypeEnum=IfcAirTerminalTypeEnum;var IfcAirToAirHeatRecoveryTypeEnum=/*#__PURE__*/_createClass(function IfcAirToAirHeatRecoveryTypeEnum(){_classCallCheck(this,IfcAirToAirHeatRecoveryTypeEnum);});IfcAirToAirHeatRecoveryTypeEnum.FIXEDPLATECOUNTERFLOWEXCHANGER={type:3,value:"FIXEDPLATECOUNTERFLOWEXCHANGER"};IfcAirToAirHeatRecoveryTypeEnum.FIXEDPLATECROSSFLOWEXCHANGER={type:3,value:"FIXEDPLATECROSSFLOWEXCHANGER"};IfcAirToAirHeatRecoveryTypeEnum.FIXEDPLATEPARALLELFLOWEXCHANGER={type:3,value:"FIXEDPLATEPARALLELFLOWEXCHANGER"};IfcAirToAirHeatRecoveryTypeEnum.ROTARYWHEEL={type:3,value:"ROTARYWHEEL"};IfcAirToAirHeatRecoveryTypeEnum.RUNAROUNDCOILLOOP={type:3,value:"RUNAROUNDCOILLOOP"};IfcAirToAirHeatRecoveryTypeEnum.HEATPIPE={type:3,value:"HEATPIPE"};IfcAirToAirHeatRecoveryTypeEnum.TWINTOWERENTHALPYRECOVERYLOOPS={type:3,value:"TWINTOWERENTHALPYRECOVERYLOOPS"};IfcAirToAirHeatRecoveryTypeEnum.THERMOSIPHONSEALEDTUBEHEATEXCHANGERS={type:3,value:"THERMOSIPHONSEALEDTUBEHEATEXCHANGERS"};IfcAirToAirHeatRecoveryTypeEnum.THERMOSIPHONCOILTYPEHEATEXCHANGERS={type:3,value:"THERMOSIPHONCOILTYPEHEATEXCHANGERS"};IfcAirToAirHeatRecoveryTypeEnum.USERDEFINED={type:3,value:"USERDEFINED"};IfcAirToAirHeatRecoveryTypeEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC2X32.IfcAirToAirHeatRecoveryTypeEnum=IfcAirToAirHeatRecoveryTypeEnum;var IfcAlarmTypeEnum=/*#__PURE__*/_createClass(function IfcAlarmTypeEnum(){_classCallCheck(this,IfcAlarmTypeEnum);});IfcAlarmTypeEnum.BELL={type:3,value:"BELL"};IfcAlarmTypeEnum.BREAKGLASSBUTTON={type:3,value:"BREAKGLASSBUTTON"};IfcAlarmTypeEnum.LIGHT={type:3,value:"LIGHT"};IfcAlarmTypeEnum.MANUALPULLBOX={type:3,value:"MANUALPULLBOX"};IfcAlarmTypeEnum.SIREN={type:3,value:"SIREN"};IfcAlarmTypeEnum.WHISTLE={type:3,value:"WHISTLE"};IfcAlarmTypeEnum.USERDEFINED={type:3,value:"USERDEFINED"};IfcAlarmTypeEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC2X32.IfcAlarmTypeEnum=IfcAlarmTypeEnum;var IfcAnalysisModelTypeEnum=/*#__PURE__*/_createClass(function IfcAnalysisModelTypeEnum(){_classCallCheck(this,IfcAnalysisModelTypeEnum);});IfcAnalysisModelTypeEnum.IN_PLANE_LOADING_2D={type:3,value:"IN_PLANE_LOADING_2D"};IfcAnalysisModelTypeEnum.OUT_PLANE_LOADING_2D={type:3,value:"OUT_PLANE_LOADING_2D"};IfcAnalysisModelTypeEnum.LOADING_3D={type:3,value:"LOADING_3D"};IfcAnalysisModelTypeEnum.USERDEFINED={type:3,value:"USERDEFINED"};IfcAnalysisModelTypeEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC2X32.IfcAnalysisModelTypeEnum=IfcAnalysisModelTypeEnum;var IfcAnalysisTheoryTypeEnum=/*#__PURE__*/_createClass(function IfcAnalysisTheoryTypeEnum(){_classCallCheck(this,IfcAnalysisTheoryTypeEnum);});IfcAnalysisTheoryTypeEnum.FIRST_ORDER_THEORY={type:3,value:"FIRST_ORDER_THEORY"};IfcAnalysisTheoryTypeEnum.SECOND_ORDER_THEORY={type:3,value:"SECOND_ORDER_THEORY"};IfcAnalysisTheoryTypeEnum.THIRD_ORDER_THEORY={type:3,value:"THIRD_ORDER_THEORY"};IfcAnalysisTheoryTypeEnum.FULL_NONLINEAR_THEORY={type:3,value:"FULL_NONLINEAR_THEORY"};IfcAnalysisTheoryTypeEnum.USERDEFINED={type:3,value:"USERDEFINED"};IfcAnalysisTheoryTypeEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC2X32.IfcAnalysisTheoryTypeEnum=IfcAnalysisTheoryTypeEnum;var IfcArithmeticOperatorEnum=/*#__PURE__*/_createClass(function IfcArithmeticOperatorEnum(){_classCallCheck(this,IfcArithmeticOperatorEnum);});IfcArithmeticOperatorEnum.ADD={type:3,value:"ADD"};IfcArithmeticOperatorEnum.DIVIDE={type:3,value:"DIVIDE"};IfcArithmeticOperatorEnum.MULTIPLY={type:3,value:"MULTIPLY"};IfcArithmeticOperatorEnum.SUBTRACT={type:3,value:"SUBTRACT"};IFC2X32.IfcArithmeticOperatorEnum=IfcArithmeticOperatorEnum;var IfcAssemblyPlaceEnum=/*#__PURE__*/_createClass(function IfcAssemblyPlaceEnum(){_classCallCheck(this,IfcAssemblyPlaceEnum);});IfcAssemblyPlaceEnum.SITE={type:3,value:"SITE"};IfcAssemblyPlaceEnum.FACTORY={type:3,value:"FACTORY"};IfcAssemblyPlaceEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC2X32.IfcAssemblyPlaceEnum=IfcAssemblyPlaceEnum;var IfcBSplineCurveForm=/*#__PURE__*/_createClass(function IfcBSplineCurveForm(){_classCallCheck(this,IfcBSplineCurveForm);});IfcBSplineCurveForm.POLYLINE_FORM={type:3,value:"POLYLINE_FORM"};IfcBSplineCurveForm.CIRCULAR_ARC={type:3,value:"CIRCULAR_ARC"};IfcBSplineCurveForm.ELLIPTIC_ARC={type:3,value:"ELLIPTIC_ARC"};IfcBSplineCurveForm.PARABOLIC_ARC={type:3,value:"PARABOLIC_ARC"};IfcBSplineCurveForm.HYPERBOLIC_ARC={type:3,value:"HYPERBOLIC_ARC"};IfcBSplineCurveForm.UNSPECIFIED={type:3,value:"UNSPECIFIED"};IFC2X32.IfcBSplineCurveForm=IfcBSplineCurveForm;var IfcBeamTypeEnum=/*#__PURE__*/_createClass(function IfcBeamTypeEnum(){_classCallCheck(this,IfcBeamTypeEnum);});IfcBeamTypeEnum.BEAM={type:3,value:"BEAM"};IfcBeamTypeEnum.JOIST={type:3,value:"JOIST"};IfcBeamTypeEnum.LINTEL={type:3,value:"LINTEL"};IfcBeamTypeEnum.T_BEAM={type:3,value:"T_BEAM"};IfcBeamTypeEnum.USERDEFINED={type:3,value:"USERDEFINED"};IfcBeamTypeEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC2X32.IfcBeamTypeEnum=IfcBeamTypeEnum;var IfcBenchmarkEnum=/*#__PURE__*/_createClass(function IfcBenchmarkEnum(){_classCallCheck(this,IfcBenchmarkEnum);});IfcBenchmarkEnum.GREATERTHAN={type:3,value:"GREATERTHAN"};IfcBenchmarkEnum.GREATERTHANOREQUALTO={type:3,value:"GREATERTHANOREQUALTO"};IfcBenchmarkEnum.LESSTHAN={type:3,value:"LESSTHAN"};IfcBenchmarkEnum.LESSTHANOREQUALTO={type:3,value:"LESSTHANOREQUALTO"};IfcBenchmarkEnum.EQUALTO={type:3,value:"EQUALTO"};IfcBenchmarkEnum.NOTEQUALTO={type:3,value:"NOTEQUALTO"};IFC2X32.IfcBenchmarkEnum=IfcBenchmarkEnum;var IfcBoilerTypeEnum=/*#__PURE__*/_createClass(function IfcBoilerTypeEnum(){_classCallCheck(this,IfcBoilerTypeEnum);});IfcBoilerTypeEnum.WATER={type:3,value:"WATER"};IfcBoilerTypeEnum.STEAM={type:3,value:"STEAM"};IfcBoilerTypeEnum.USERDEFINED={type:3,value:"USERDEFINED"};IfcBoilerTypeEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC2X32.IfcBoilerTypeEnum=IfcBoilerTypeEnum;var IfcBooleanOperator=/*#__PURE__*/_createClass(function IfcBooleanOperator(){_classCallCheck(this,IfcBooleanOperator);});IfcBooleanOperator.UNION={type:3,value:"UNION"};IfcBooleanOperator.INTERSECTION={type:3,value:"INTERSECTION"};IfcBooleanOperator.DIFFERENCE={type:3,value:"DIFFERENCE"};IFC2X32.IfcBooleanOperator=IfcBooleanOperator;var IfcBuildingElementProxyTypeEnum=/*#__PURE__*/_createClass(function IfcBuildingElementProxyTypeEnum(){_classCallCheck(this,IfcBuildingElementProxyTypeEnum);});IfcBuildingElementProxyTypeEnum.USERDEFINED={type:3,value:"USERDEFINED"};IfcBuildingElementProxyTypeEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC2X32.IfcBuildingElementProxyTypeEnum=IfcBuildingElementProxyTypeEnum;var IfcCableCarrierFittingTypeEnum=/*#__PURE__*/_createClass(function IfcCableCarrierFittingTypeEnum(){_classCallCheck(this,IfcCableCarrierFittingTypeEnum);});IfcCableCarrierFittingTypeEnum.BEND={type:3,value:"BEND"};IfcCableCarrierFittingTypeEnum.CROSS={type:3,value:"CROSS"};IfcCableCarrierFittingTypeEnum.REDUCER={type:3,value:"REDUCER"};IfcCableCarrierFittingTypeEnum.TEE={type:3,value:"TEE"};IfcCableCarrierFittingTypeEnum.USERDEFINED={type:3,value:"USERDEFINED"};IfcCableCarrierFittingTypeEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC2X32.IfcCableCarrierFittingTypeEnum=IfcCableCarrierFittingTypeEnum;var IfcCableCarrierSegmentTypeEnum=/*#__PURE__*/_createClass(function IfcCableCarrierSegmentTypeEnum(){_classCallCheck(this,IfcCableCarrierSegmentTypeEnum);});IfcCableCarrierSegmentTypeEnum.CABLELADDERSEGMENT={type:3,value:"CABLELADDERSEGMENT"};IfcCableCarrierSegmentTypeEnum.CABLETRAYSEGMENT={type:3,value:"CABLETRAYSEGMENT"};IfcCableCarrierSegmentTypeEnum.CABLETRUNKINGSEGMENT={type:3,value:"CABLETRUNKINGSEGMENT"};IfcCableCarrierSegmentTypeEnum.CONDUITSEGMENT={type:3,value:"CONDUITSEGMENT"};IfcCableCarrierSegmentTypeEnum.USERDEFINED={type:3,value:"USERDEFINED"};IfcCableCarrierSegmentTypeEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC2X32.IfcCableCarrierSegmentTypeEnum=IfcCableCarrierSegmentTypeEnum;var IfcCableSegmentTypeEnum=/*#__PURE__*/_createClass(function IfcCableSegmentTypeEnum(){_classCallCheck(this,IfcCableSegmentTypeEnum);});IfcCableSegmentTypeEnum.CABLESEGMENT={type:3,value:"CABLESEGMENT"};IfcCableSegmentTypeEnum.CONDUCTORSEGMENT={type:3,value:"CONDUCTORSEGMENT"};IfcCableSegmentTypeEnum.USERDEFINED={type:3,value:"USERDEFINED"};IfcCableSegmentTypeEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC2X32.IfcCableSegmentTypeEnum=IfcCableSegmentTypeEnum;var IfcChangeActionEnum=/*#__PURE__*/_createClass(function IfcChangeActionEnum(){_classCallCheck(this,IfcChangeActionEnum);});IfcChangeActionEnum.NOCHANGE={type:3,value:"NOCHANGE"};IfcChangeActionEnum.MODIFIED={type:3,value:"MODIFIED"};IfcChangeActionEnum.ADDED={type:3,value:"ADDED"};IfcChangeActionEnum.DELETED={type:3,value:"DELETED"};IfcChangeActionEnum.MODIFIEDADDED={type:3,value:"MODIFIEDADDED"};IfcChangeActionEnum.MODIFIEDDELETED={type:3,value:"MODIFIEDDELETED"};IFC2X32.IfcChangeActionEnum=IfcChangeActionEnum;var IfcChillerTypeEnum=/*#__PURE__*/_createClass(function IfcChillerTypeEnum(){_classCallCheck(this,IfcChillerTypeEnum);});IfcChillerTypeEnum.AIRCOOLED={type:3,value:"AIRCOOLED"};IfcChillerTypeEnum.WATERCOOLED={type:3,value:"WATERCOOLED"};IfcChillerTypeEnum.HEATRECOVERY={type:3,value:"HEATRECOVERY"};IfcChillerTypeEnum.USERDEFINED={type:3,value:"USERDEFINED"};IfcChillerTypeEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC2X32.IfcChillerTypeEnum=IfcChillerTypeEnum;var IfcCoilTypeEnum=/*#__PURE__*/_createClass(function IfcCoilTypeEnum(){_classCallCheck(this,IfcCoilTypeEnum);});IfcCoilTypeEnum.DXCOOLINGCOIL={type:3,value:"DXCOOLINGCOIL"};IfcCoilTypeEnum.WATERCOOLINGCOIL={type:3,value:"WATERCOOLINGCOIL"};IfcCoilTypeEnum.STEAMHEATINGCOIL={type:3,value:"STEAMHEATINGCOIL"};IfcCoilTypeEnum.WATERHEATINGCOIL={type:3,value:"WATERHEATINGCOIL"};IfcCoilTypeEnum.ELECTRICHEATINGCOIL={type:3,value:"ELECTRICHEATINGCOIL"};IfcCoilTypeEnum.GASHEATINGCOIL={type:3,value:"GASHEATINGCOIL"};IfcCoilTypeEnum.USERDEFINED={type:3,value:"USERDEFINED"};IfcCoilTypeEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC2X32.IfcCoilTypeEnum=IfcCoilTypeEnum;var IfcColumnTypeEnum=/*#__PURE__*/_createClass(function IfcColumnTypeEnum(){_classCallCheck(this,IfcColumnTypeEnum);});IfcColumnTypeEnum.COLUMN={type:3,value:"COLUMN"};IfcColumnTypeEnum.USERDEFINED={type:3,value:"USERDEFINED"};IfcColumnTypeEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC2X32.IfcColumnTypeEnum=IfcColumnTypeEnum;var IfcCompressorTypeEnum=/*#__PURE__*/_createClass(function IfcCompressorTypeEnum(){_classCallCheck(this,IfcCompressorTypeEnum);});IfcCompressorTypeEnum.DYNAMIC={type:3,value:"DYNAMIC"};IfcCompressorTypeEnum.RECIPROCATING={type:3,value:"RECIPROCATING"};IfcCompressorTypeEnum.ROTARY={type:3,value:"ROTARY"};IfcCompressorTypeEnum.SCROLL={type:3,value:"SCROLL"};IfcCompressorTypeEnum.TROCHOIDAL={type:3,value:"TROCHOIDAL"};IfcCompressorTypeEnum.SINGLESTAGE={type:3,value:"SINGLESTAGE"};IfcCompressorTypeEnum.BOOSTER={type:3,value:"BOOSTER"};IfcCompressorTypeEnum.OPENTYPE={type:3,value:"OPENTYPE"};IfcCompressorTypeEnum.HERMETIC={type:3,value:"HERMETIC"};IfcCompressorTypeEnum.SEMIHERMETIC={type:3,value:"SEMIHERMETIC"};IfcCompressorTypeEnum.WELDEDSHELLHERMETIC={type:3,value:"WELDEDSHELLHERMETIC"};IfcCompressorTypeEnum.ROLLINGPISTON={type:3,value:"ROLLINGPISTON"};IfcCompressorTypeEnum.ROTARYVANE={type:3,value:"ROTARYVANE"};IfcCompressorTypeEnum.SINGLESCREW={type:3,value:"SINGLESCREW"};IfcCompressorTypeEnum.TWINSCREW={type:3,value:"TWINSCREW"};IfcCompressorTypeEnum.USERDEFINED={type:3,value:"USERDEFINED"};IfcCompressorTypeEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC2X32.IfcCompressorTypeEnum=IfcCompressorTypeEnum;var IfcCondenserTypeEnum=/*#__PURE__*/_createClass(function IfcCondenserTypeEnum(){_classCallCheck(this,IfcCondenserTypeEnum);});IfcCondenserTypeEnum.WATERCOOLEDSHELLTUBE={type:3,value:"WATERCOOLEDSHELLTUBE"};IfcCondenserTypeEnum.WATERCOOLEDSHELLCOIL={type:3,value:"WATERCOOLEDSHELLCOIL"};IfcCondenserTypeEnum.WATERCOOLEDTUBEINTUBE={type:3,value:"WATERCOOLEDTUBEINTUBE"};IfcCondenserTypeEnum.WATERCOOLEDBRAZEDPLATE={type:3,value:"WATERCOOLEDBRAZEDPLATE"};IfcCondenserTypeEnum.AIRCOOLED={type:3,value:"AIRCOOLED"};IfcCondenserTypeEnum.EVAPORATIVECOOLED={type:3,value:"EVAPORATIVECOOLED"};IfcCondenserTypeEnum.USERDEFINED={type:3,value:"USERDEFINED"};IfcCondenserTypeEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC2X32.IfcCondenserTypeEnum=IfcCondenserTypeEnum;var IfcConnectionTypeEnum=/*#__PURE__*/_createClass(function IfcConnectionTypeEnum(){_classCallCheck(this,IfcConnectionTypeEnum);});IfcConnectionTypeEnum.ATPATH={type:3,value:"ATPATH"};IfcConnectionTypeEnum.ATSTART={type:3,value:"ATSTART"};IfcConnectionTypeEnum.ATEND={type:3,value:"ATEND"};IfcConnectionTypeEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC2X32.IfcConnectionTypeEnum=IfcConnectionTypeEnum;var IfcConstraintEnum=/*#__PURE__*/_createClass(function IfcConstraintEnum(){_classCallCheck(this,IfcConstraintEnum);});IfcConstraintEnum.HARD={type:3,value:"HARD"};IfcConstraintEnum.SOFT={type:3,value:"SOFT"};IfcConstraintEnum.ADVISORY={type:3,value:"ADVISORY"};IfcConstraintEnum.USERDEFINED={type:3,value:"USERDEFINED"};IfcConstraintEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC2X32.IfcConstraintEnum=IfcConstraintEnum;var IfcControllerTypeEnum=/*#__PURE__*/_createClass(function IfcControllerTypeEnum(){_classCallCheck(this,IfcControllerTypeEnum);});IfcControllerTypeEnum.FLOATING={type:3,value:"FLOATING"};IfcControllerTypeEnum.PROPORTIONAL={type:3,value:"PROPORTIONAL"};IfcControllerTypeEnum.PROPORTIONALINTEGRAL={type:3,value:"PROPORTIONALINTEGRAL"};IfcControllerTypeEnum.PROPORTIONALINTEGRALDERIVATIVE={type:3,value:"PROPORTIONALINTEGRALDERIVATIVE"};IfcControllerTypeEnum.TIMEDTWOPOSITION={type:3,value:"TIMEDTWOPOSITION"};IfcControllerTypeEnum.TWOPOSITION={type:3,value:"TWOPOSITION"};IfcControllerTypeEnum.USERDEFINED={type:3,value:"USERDEFINED"};IfcControllerTypeEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC2X32.IfcControllerTypeEnum=IfcControllerTypeEnum;var IfcCooledBeamTypeEnum=/*#__PURE__*/_createClass(function IfcCooledBeamTypeEnum(){_classCallCheck(this,IfcCooledBeamTypeEnum);});IfcCooledBeamTypeEnum.ACTIVE={type:3,value:"ACTIVE"};IfcCooledBeamTypeEnum.PASSIVE={type:3,value:"PASSIVE"};IfcCooledBeamTypeEnum.USERDEFINED={type:3,value:"USERDEFINED"};IfcCooledBeamTypeEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC2X32.IfcCooledBeamTypeEnum=IfcCooledBeamTypeEnum;var IfcCoolingTowerTypeEnum=/*#__PURE__*/_createClass(function IfcCoolingTowerTypeEnum(){_classCallCheck(this,IfcCoolingTowerTypeEnum);});IfcCoolingTowerTypeEnum.NATURALDRAFT={type:3,value:"NATURALDRAFT"};IfcCoolingTowerTypeEnum.MECHANICALINDUCEDDRAFT={type:3,value:"MECHANICALINDUCEDDRAFT"};IfcCoolingTowerTypeEnum.MECHANICALFORCEDDRAFT={type:3,value:"MECHANICALFORCEDDRAFT"};IfcCoolingTowerTypeEnum.USERDEFINED={type:3,value:"USERDEFINED"};IfcCoolingTowerTypeEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC2X32.IfcCoolingTowerTypeEnum=IfcCoolingTowerTypeEnum;var IfcCostScheduleTypeEnum=/*#__PURE__*/_createClass(function IfcCostScheduleTypeEnum(){_classCallCheck(this,IfcCostScheduleTypeEnum);});IfcCostScheduleTypeEnum.BUDGET={type:3,value:"BUDGET"};IfcCostScheduleTypeEnum.COSTPLAN={type:3,value:"COSTPLAN"};IfcCostScheduleTypeEnum.ESTIMATE={type:3,value:"ESTIMATE"};IfcCostScheduleTypeEnum.TENDER={type:3,value:"TENDER"};IfcCostScheduleTypeEnum.PRICEDBILLOFQUANTITIES={type:3,value:"PRICEDBILLOFQUANTITIES"};IfcCostScheduleTypeEnum.UNPRICEDBILLOFQUANTITIES={type:3,value:"UNPRICEDBILLOFQUANTITIES"};IfcCostScheduleTypeEnum.SCHEDULEOFRATES={type:3,value:"SCHEDULEOFRATES"};IfcCostScheduleTypeEnum.USERDEFINED={type:3,value:"USERDEFINED"};IfcCostScheduleTypeEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC2X32.IfcCostScheduleTypeEnum=IfcCostScheduleTypeEnum;var IfcCoveringTypeEnum=/*#__PURE__*/_createClass(function IfcCoveringTypeEnum(){_classCallCheck(this,IfcCoveringTypeEnum);});IfcCoveringTypeEnum.CEILING={type:3,value:"CEILING"};IfcCoveringTypeEnum.FLOORING={type:3,value:"FLOORING"};IfcCoveringTypeEnum.CLADDING={type:3,value:"CLADDING"};IfcCoveringTypeEnum.ROOFING={type:3,value:"ROOFING"};IfcCoveringTypeEnum.INSULATION={type:3,value:"INSULATION"};IfcCoveringTypeEnum.MEMBRANE={type:3,value:"MEMBRANE"};IfcCoveringTypeEnum.SLEEVING={type:3,value:"SLEEVING"};IfcCoveringTypeEnum.WRAPPING={type:3,value:"WRAPPING"};IfcCoveringTypeEnum.USERDEFINED={type:3,value:"USERDEFINED"};IfcCoveringTypeEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC2X32.IfcCoveringTypeEnum=IfcCoveringTypeEnum;var IfcCurrencyEnum=/*#__PURE__*/_createClass(function IfcCurrencyEnum(){_classCallCheck(this,IfcCurrencyEnum);});IfcCurrencyEnum.AED={type:3,value:"AED"};IfcCurrencyEnum.AES={type:3,value:"AES"};IfcCurrencyEnum.ATS={type:3,value:"ATS"};IfcCurrencyEnum.AUD={type:3,value:"AUD"};IfcCurrencyEnum.BBD={type:3,value:"BBD"};IfcCurrencyEnum.BEG={type:3,value:"BEG"};IfcCurrencyEnum.BGL={type:3,value:"BGL"};IfcCurrencyEnum.BHD={type:3,value:"BHD"};IfcCurrencyEnum.BMD={type:3,value:"BMD"};IfcCurrencyEnum.BND={type:3,value:"BND"};IfcCurrencyEnum.BRL={type:3,value:"BRL"};IfcCurrencyEnum.BSD={type:3,value:"BSD"};IfcCurrencyEnum.BWP={type:3,value:"BWP"};IfcCurrencyEnum.BZD={type:3,value:"BZD"};IfcCurrencyEnum.CAD={type:3,value:"CAD"};IfcCurrencyEnum.CBD={type:3,value:"CBD"};IfcCurrencyEnum.CHF={type:3,value:"CHF"};IfcCurrencyEnum.CLP={type:3,value:"CLP"};IfcCurrencyEnum.CNY={type:3,value:"CNY"};IfcCurrencyEnum.CYS={type:3,value:"CYS"};IfcCurrencyEnum.CZK={type:3,value:"CZK"};IfcCurrencyEnum.DDP={type:3,value:"DDP"};IfcCurrencyEnum.DEM={type:3,value:"DEM"};IfcCurrencyEnum.DKK={type:3,value:"DKK"};IfcCurrencyEnum.EGL={type:3,value:"EGL"};IfcCurrencyEnum.EST={type:3,value:"EST"};IfcCurrencyEnum.EUR={type:3,value:"EUR"};IfcCurrencyEnum.FAK={type:3,value:"FAK"};IfcCurrencyEnum.FIM={type:3,value:"FIM"};IfcCurrencyEnum.FJD={type:3,value:"FJD"};IfcCurrencyEnum.FKP={type:3,value:"FKP"};IfcCurrencyEnum.FRF={type:3,value:"FRF"};IfcCurrencyEnum.GBP={type:3,value:"GBP"};IfcCurrencyEnum.GIP={type:3,value:"GIP"};IfcCurrencyEnum.GMD={type:3,value:"GMD"};IfcCurrencyEnum.GRX={type:3,value:"GRX"};IfcCurrencyEnum.HKD={type:3,value:"HKD"};IfcCurrencyEnum.HUF={type:3,value:"HUF"};IfcCurrencyEnum.ICK={type:3,value:"ICK"};IfcCurrencyEnum.IDR={type:3,value:"IDR"};IfcCurrencyEnum.ILS={type:3,value:"ILS"};IfcCurrencyEnum.INR={type:3,value:"INR"};IfcCurrencyEnum.IRP={type:3,value:"IRP"};IfcCurrencyEnum.ITL={type:3,value:"ITL"};IfcCurrencyEnum.JMD={type:3,value:"JMD"};IfcCurrencyEnum.JOD={type:3,value:"JOD"};IfcCurrencyEnum.JPY={type:3,value:"JPY"};IfcCurrencyEnum.KES={type:3,value:"KES"};IfcCurrencyEnum.KRW={type:3,value:"KRW"};IfcCurrencyEnum.KWD={type:3,value:"KWD"};IfcCurrencyEnum.KYD={type:3,value:"KYD"};IfcCurrencyEnum.LKR={type:3,value:"LKR"};IfcCurrencyEnum.LUF={type:3,value:"LUF"};IfcCurrencyEnum.MTL={type:3,value:"MTL"};IfcCurrencyEnum.MUR={type:3,value:"MUR"};IfcCurrencyEnum.MXN={type:3,value:"MXN"};IfcCurrencyEnum.MYR={type:3,value:"MYR"};IfcCurrencyEnum.NLG={type:3,value:"NLG"};IfcCurrencyEnum.NZD={type:3,value:"NZD"};IfcCurrencyEnum.OMR={type:3,value:"OMR"};IfcCurrencyEnum.PGK={type:3,value:"PGK"};IfcCurrencyEnum.PHP={type:3,value:"PHP"};IfcCurrencyEnum.PKR={type:3,value:"PKR"};IfcCurrencyEnum.PLN={type:3,value:"PLN"};IfcCurrencyEnum.PTN={type:3,value:"PTN"};IfcCurrencyEnum.QAR={type:3,value:"QAR"};IfcCurrencyEnum.RUR={type:3,value:"RUR"};IfcCurrencyEnum.SAR={type:3,value:"SAR"};IfcCurrencyEnum.SCR={type:3,value:"SCR"};IfcCurrencyEnum.SEK={type:3,value:"SEK"};IfcCurrencyEnum.SGD={type:3,value:"SGD"};IfcCurrencyEnum.SKP={type:3,value:"SKP"};IfcCurrencyEnum.THB={type:3,value:"THB"};IfcCurrencyEnum.TRL={type:3,value:"TRL"};IfcCurrencyEnum.TTD={type:3,value:"TTD"};IfcCurrencyEnum.TWD={type:3,value:"TWD"};IfcCurrencyEnum.USD={type:3,value:"USD"};IfcCurrencyEnum.VEB={type:3,value:"VEB"};IfcCurrencyEnum.VND={type:3,value:"VND"};IfcCurrencyEnum.XEU={type:3,value:"XEU"};IfcCurrencyEnum.ZAR={type:3,value:"ZAR"};IfcCurrencyEnum.ZWD={type:3,value:"ZWD"};IfcCurrencyEnum.NOK={type:3,value:"NOK"};IFC2X32.IfcCurrencyEnum=IfcCurrencyEnum;var IfcCurtainWallTypeEnum=/*#__PURE__*/_createClass(function IfcCurtainWallTypeEnum(){_classCallCheck(this,IfcCurtainWallTypeEnum);});IfcCurtainWallTypeEnum.USERDEFINED={type:3,value:"USERDEFINED"};IfcCurtainWallTypeEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC2X32.IfcCurtainWallTypeEnum=IfcCurtainWallTypeEnum;var IfcDamperTypeEnum=/*#__PURE__*/_createClass(function IfcDamperTypeEnum(){_classCallCheck(this,IfcDamperTypeEnum);});IfcDamperTypeEnum.CONTROLDAMPER={type:3,value:"CONTROLDAMPER"};IfcDamperTypeEnum.FIREDAMPER={type:3,value:"FIREDAMPER"};IfcDamperTypeEnum.SMOKEDAMPER={type:3,value:"SMOKEDAMPER"};IfcDamperTypeEnum.FIRESMOKEDAMPER={type:3,value:"FIRESMOKEDAMPER"};IfcDamperTypeEnum.BACKDRAFTDAMPER={type:3,value:"BACKDRAFTDAMPER"};IfcDamperTypeEnum.RELIEFDAMPER={type:3,value:"RELIEFDAMPER"};IfcDamperTypeEnum.BLASTDAMPER={type:3,value:"BLASTDAMPER"};IfcDamperTypeEnum.GRAVITYDAMPER={type:3,value:"GRAVITYDAMPER"};IfcDamperTypeEnum.GRAVITYRELIEFDAMPER={type:3,value:"GRAVITYRELIEFDAMPER"};IfcDamperTypeEnum.BALANCINGDAMPER={type:3,value:"BALANCINGDAMPER"};IfcDamperTypeEnum.FUMEHOODEXHAUST={type:3,value:"FUMEHOODEXHAUST"};IfcDamperTypeEnum.USERDEFINED={type:3,value:"USERDEFINED"};IfcDamperTypeEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC2X32.IfcDamperTypeEnum=IfcDamperTypeEnum;var IfcDataOriginEnum=/*#__PURE__*/_createClass(function IfcDataOriginEnum(){_classCallCheck(this,IfcDataOriginEnum);});IfcDataOriginEnum.MEASURED={type:3,value:"MEASURED"};IfcDataOriginEnum.PREDICTED={type:3,value:"PREDICTED"};IfcDataOriginEnum.SIMULATED={type:3,value:"SIMULATED"};IfcDataOriginEnum.USERDEFINED={type:3,value:"USERDEFINED"};IfcDataOriginEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC2X32.IfcDataOriginEnum=IfcDataOriginEnum;var IfcDerivedUnitEnum=/*#__PURE__*/_createClass(function IfcDerivedUnitEnum(){_classCallCheck(this,IfcDerivedUnitEnum);});IfcDerivedUnitEnum.ANGULARVELOCITYUNIT={type:3,value:"ANGULARVELOCITYUNIT"};IfcDerivedUnitEnum.COMPOUNDPLANEANGLEUNIT={type:3,value:"COMPOUNDPLANEANGLEUNIT"};IfcDerivedUnitEnum.DYNAMICVISCOSITYUNIT={type:3,value:"DYNAMICVISCOSITYUNIT"};IfcDerivedUnitEnum.HEATFLUXDENSITYUNIT={type:3,value:"HEATFLUXDENSITYUNIT"};IfcDerivedUnitEnum.INTEGERCOUNTRATEUNIT={type:3,value:"INTEGERCOUNTRATEUNIT"};IfcDerivedUnitEnum.ISOTHERMALMOISTURECAPACITYUNIT={type:3,value:"ISOTHERMALMOISTURECAPACITYUNIT"};IfcDerivedUnitEnum.KINEMATICVISCOSITYUNIT={type:3,value:"KINEMATICVISCOSITYUNIT"};IfcDerivedUnitEnum.LINEARVELOCITYUNIT={type:3,value:"LINEARVELOCITYUNIT"};IfcDerivedUnitEnum.MASSDENSITYUNIT={type:3,value:"MASSDENSITYUNIT"};IfcDerivedUnitEnum.MASSFLOWRATEUNIT={type:3,value:"MASSFLOWRATEUNIT"};IfcDerivedUnitEnum.MOISTUREDIFFUSIVITYUNIT={type:3,value:"MOISTUREDIFFUSIVITYUNIT"};IfcDerivedUnitEnum.MOLECULARWEIGHTUNIT={type:3,value:"MOLECULARWEIGHTUNIT"};IfcDerivedUnitEnum.SPECIFICHEATCAPACITYUNIT={type:3,value:"SPECIFICHEATCAPACITYUNIT"};IfcDerivedUnitEnum.THERMALADMITTANCEUNIT={type:3,value:"THERMALADMITTANCEUNIT"};IfcDerivedUnitEnum.THERMALCONDUCTANCEUNIT={type:3,value:"THERMALCONDUCTANCEUNIT"};IfcDerivedUnitEnum.THERMALRESISTANCEUNIT={type:3,value:"THERMALRESISTANCEUNIT"};IfcDerivedUnitEnum.THERMALTRANSMITTANCEUNIT={type:3,value:"THERMALTRANSMITTANCEUNIT"};IfcDerivedUnitEnum.VAPORPERMEABILITYUNIT={type:3,value:"VAPORPERMEABILITYUNIT"};IfcDerivedUnitEnum.VOLUMETRICFLOWRATEUNIT={type:3,value:"VOLUMETRICFLOWRATEUNIT"};IfcDerivedUnitEnum.ROTATIONALFREQUENCYUNIT={type:3,value:"ROTATIONALFREQUENCYUNIT"};IfcDerivedUnitEnum.TORQUEUNIT={type:3,value:"TORQUEUNIT"};IfcDerivedUnitEnum.MOMENTOFINERTIAUNIT={type:3,value:"MOMENTOFINERTIAUNIT"};IfcDerivedUnitEnum.LINEARMOMENTUNIT={type:3,value:"LINEARMOMENTUNIT"};IfcDerivedUnitEnum.LINEARFORCEUNIT={type:3,value:"LINEARFORCEUNIT"};IfcDerivedUnitEnum.PLANARFORCEUNIT={type:3,value:"PLANARFORCEUNIT"};IfcDerivedUnitEnum.MODULUSOFELASTICITYUNIT={type:3,value:"MODULUSOFELASTICITYUNIT"};IfcDerivedUnitEnum.SHEARMODULUSUNIT={type:3,value:"SHEARMODULUSUNIT"};IfcDerivedUnitEnum.LINEARSTIFFNESSUNIT={type:3,value:"LINEARSTIFFNESSUNIT"};IfcDerivedUnitEnum.ROTATIONALSTIFFNESSUNIT={type:3,value:"ROTATIONALSTIFFNESSUNIT"};IfcDerivedUnitEnum.MODULUSOFSUBGRADEREACTIONUNIT={type:3,value:"MODULUSOFSUBGRADEREACTIONUNIT"};IfcDerivedUnitEnum.ACCELERATIONUNIT={type:3,value:"ACCELERATIONUNIT"};IfcDerivedUnitEnum.CURVATUREUNIT={type:3,value:"CURVATUREUNIT"};IfcDerivedUnitEnum.HEATINGVALUEUNIT={type:3,value:"HEATINGVALUEUNIT"};IfcDerivedUnitEnum.IONCONCENTRATIONUNIT={type:3,value:"IONCONCENTRATIONUNIT"};IfcDerivedUnitEnum.LUMINOUSINTENSITYDISTRIBUTIONUNIT={type:3,value:"LUMINOUSINTENSITYDISTRIBUTIONUNIT"};IfcDerivedUnitEnum.MASSPERLENGTHUNIT={type:3,value:"MASSPERLENGTHUNIT"};IfcDerivedUnitEnum.MODULUSOFLINEARSUBGRADEREACTIONUNIT={type:3,value:"MODULUSOFLINEARSUBGRADEREACTIONUNIT"};IfcDerivedUnitEnum.MODULUSOFROTATIONALSUBGRADEREACTIONUNIT={type:3,value:"MODULUSOFROTATIONALSUBGRADEREACTIONUNIT"};IfcDerivedUnitEnum.PHUNIT={type:3,value:"PHUNIT"};IfcDerivedUnitEnum.ROTATIONALMASSUNIT={type:3,value:"ROTATIONALMASSUNIT"};IfcDerivedUnitEnum.SECTIONAREAINTEGRALUNIT={type:3,value:"SECTIONAREAINTEGRALUNIT"};IfcDerivedUnitEnum.SECTIONMODULUSUNIT={type:3,value:"SECTIONMODULUSUNIT"};IfcDerivedUnitEnum.SOUNDPOWERUNIT={type:3,value:"SOUNDPOWERUNIT"};IfcDerivedUnitEnum.SOUNDPRESSUREUNIT={type:3,value:"SOUNDPRESSUREUNIT"};IfcDerivedUnitEnum.TEMPERATUREGRADIENTUNIT={type:3,value:"TEMPERATUREGRADIENTUNIT"};IfcDerivedUnitEnum.THERMALEXPANSIONCOEFFICIENTUNIT={type:3,value:"THERMALEXPANSIONCOEFFICIENTUNIT"};IfcDerivedUnitEnum.WARPINGCONSTANTUNIT={type:3,value:"WARPINGCONSTANTUNIT"};IfcDerivedUnitEnum.WARPINGMOMENTUNIT={type:3,value:"WARPINGMOMENTUNIT"};IfcDerivedUnitEnum.USERDEFINED={type:3,value:"USERDEFINED"};IFC2X32.IfcDerivedUnitEnum=IfcDerivedUnitEnum;var IfcDimensionExtentUsage=/*#__PURE__*/_createClass(function IfcDimensionExtentUsage(){_classCallCheck(this,IfcDimensionExtentUsage);});IfcDimensionExtentUsage.ORIGIN={type:3,value:"ORIGIN"};IfcDimensionExtentUsage.TARGET={type:3,value:"TARGET"};IFC2X32.IfcDimensionExtentUsage=IfcDimensionExtentUsage;var IfcDirectionSenseEnum=/*#__PURE__*/_createClass(function IfcDirectionSenseEnum(){_classCallCheck(this,IfcDirectionSenseEnum);});IfcDirectionSenseEnum.POSITIVE={type:3,value:"POSITIVE"};IfcDirectionSenseEnum.NEGATIVE={type:3,value:"NEGATIVE"};IFC2X32.IfcDirectionSenseEnum=IfcDirectionSenseEnum;var IfcDistributionChamberElementTypeEnum=/*#__PURE__*/_createClass(function IfcDistributionChamberElementTypeEnum(){_classCallCheck(this,IfcDistributionChamberElementTypeEnum);});IfcDistributionChamberElementTypeEnum.FORMEDDUCT={type:3,value:"FORMEDDUCT"};IfcDistributionChamberElementTypeEnum.INSPECTIONCHAMBER={type:3,value:"INSPECTIONCHAMBER"};IfcDistributionChamberElementTypeEnum.INSPECTIONPIT={type:3,value:"INSPECTIONPIT"};IfcDistributionChamberElementTypeEnum.MANHOLE={type:3,value:"MANHOLE"};IfcDistributionChamberElementTypeEnum.METERCHAMBER={type:3,value:"METERCHAMBER"};IfcDistributionChamberElementTypeEnum.SUMP={type:3,value:"SUMP"};IfcDistributionChamberElementTypeEnum.TRENCH={type:3,value:"TRENCH"};IfcDistributionChamberElementTypeEnum.VALVECHAMBER={type:3,value:"VALVECHAMBER"};IfcDistributionChamberElementTypeEnum.USERDEFINED={type:3,value:"USERDEFINED"};IfcDistributionChamberElementTypeEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC2X32.IfcDistributionChamberElementTypeEnum=IfcDistributionChamberElementTypeEnum;var IfcDocumentConfidentialityEnum=/*#__PURE__*/_createClass(function IfcDocumentConfidentialityEnum(){_classCallCheck(this,IfcDocumentConfidentialityEnum);});IfcDocumentConfidentialityEnum.PUBLIC={type:3,value:"PUBLIC"};IfcDocumentConfidentialityEnum.RESTRICTED={type:3,value:"RESTRICTED"};IfcDocumentConfidentialityEnum.CONFIDENTIAL={type:3,value:"CONFIDENTIAL"};IfcDocumentConfidentialityEnum.PERSONAL={type:3,value:"PERSONAL"};IfcDocumentConfidentialityEnum.USERDEFINED={type:3,value:"USERDEFINED"};IfcDocumentConfidentialityEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC2X32.IfcDocumentConfidentialityEnum=IfcDocumentConfidentialityEnum;var IfcDocumentStatusEnum=/*#__PURE__*/_createClass(function IfcDocumentStatusEnum(){_classCallCheck(this,IfcDocumentStatusEnum);});IfcDocumentStatusEnum.DRAFT={type:3,value:"DRAFT"};IfcDocumentStatusEnum.FINALDRAFT={type:3,value:"FINALDRAFT"};IfcDocumentStatusEnum.FINAL={type:3,value:"FINAL"};IfcDocumentStatusEnum.REVISION={type:3,value:"REVISION"};IfcDocumentStatusEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC2X32.IfcDocumentStatusEnum=IfcDocumentStatusEnum;var IfcDoorPanelOperationEnum=/*#__PURE__*/_createClass(function IfcDoorPanelOperationEnum(){_classCallCheck(this,IfcDoorPanelOperationEnum);});IfcDoorPanelOperationEnum.SWINGING={type:3,value:"SWINGING"};IfcDoorPanelOperationEnum.DOUBLE_ACTING={type:3,value:"DOUBLE_ACTING"};IfcDoorPanelOperationEnum.SLIDING={type:3,value:"SLIDING"};IfcDoorPanelOperationEnum.FOLDING={type:3,value:"FOLDING"};IfcDoorPanelOperationEnum.REVOLVING={type:3,value:"REVOLVING"};IfcDoorPanelOperationEnum.ROLLINGUP={type:3,value:"ROLLINGUP"};IfcDoorPanelOperationEnum.USERDEFINED={type:3,value:"USERDEFINED"};IfcDoorPanelOperationEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC2X32.IfcDoorPanelOperationEnum=IfcDoorPanelOperationEnum;var IfcDoorPanelPositionEnum=/*#__PURE__*/_createClass(function IfcDoorPanelPositionEnum(){_classCallCheck(this,IfcDoorPanelPositionEnum);});IfcDoorPanelPositionEnum.LEFT={type:3,value:"LEFT"};IfcDoorPanelPositionEnum.MIDDLE={type:3,value:"MIDDLE"};IfcDoorPanelPositionEnum.RIGHT={type:3,value:"RIGHT"};IfcDoorPanelPositionEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC2X32.IfcDoorPanelPositionEnum=IfcDoorPanelPositionEnum;var IfcDoorStyleConstructionEnum=/*#__PURE__*/_createClass(function IfcDoorStyleConstructionEnum(){_classCallCheck(this,IfcDoorStyleConstructionEnum);});IfcDoorStyleConstructionEnum.ALUMINIUM={type:3,value:"ALUMINIUM"};IfcDoorStyleConstructionEnum.HIGH_GRADE_STEEL={type:3,value:"HIGH_GRADE_STEEL"};IfcDoorStyleConstructionEnum.STEEL={type:3,value:"STEEL"};IfcDoorStyleConstructionEnum.WOOD={type:3,value:"WOOD"};IfcDoorStyleConstructionEnum.ALUMINIUM_WOOD={type:3,value:"ALUMINIUM_WOOD"};IfcDoorStyleConstructionEnum.ALUMINIUM_PLASTIC={type:3,value:"ALUMINIUM_PLASTIC"};IfcDoorStyleConstructionEnum.PLASTIC={type:3,value:"PLASTIC"};IfcDoorStyleConstructionEnum.USERDEFINED={type:3,value:"USERDEFINED"};IfcDoorStyleConstructionEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC2X32.IfcDoorStyleConstructionEnum=IfcDoorStyleConstructionEnum;var IfcDoorStyleOperationEnum=/*#__PURE__*/_createClass(function IfcDoorStyleOperationEnum(){_classCallCheck(this,IfcDoorStyleOperationEnum);});IfcDoorStyleOperationEnum.SINGLE_SWING_LEFT={type:3,value:"SINGLE_SWING_LEFT"};IfcDoorStyleOperationEnum.SINGLE_SWING_RIGHT={type:3,value:"SINGLE_SWING_RIGHT"};IfcDoorStyleOperationEnum.DOUBLE_DOOR_SINGLE_SWING={type:3,value:"DOUBLE_DOOR_SINGLE_SWING"};IfcDoorStyleOperationEnum.DOUBLE_DOOR_SINGLE_SWING_OPPOSITE_LEFT={type:3,value:"DOUBLE_DOOR_SINGLE_SWING_OPPOSITE_LEFT"};IfcDoorStyleOperationEnum.DOUBLE_DOOR_SINGLE_SWING_OPPOSITE_RIGHT={type:3,value:"DOUBLE_DOOR_SINGLE_SWING_OPPOSITE_RIGHT"};IfcDoorStyleOperationEnum.DOUBLE_SWING_LEFT={type:3,value:"DOUBLE_SWING_LEFT"};IfcDoorStyleOperationEnum.DOUBLE_SWING_RIGHT={type:3,value:"DOUBLE_SWING_RIGHT"};IfcDoorStyleOperationEnum.DOUBLE_DOOR_DOUBLE_SWING={type:3,value:"DOUBLE_DOOR_DOUBLE_SWING"};IfcDoorStyleOperationEnum.SLIDING_TO_LEFT={type:3,value:"SLIDING_TO_LEFT"};IfcDoorStyleOperationEnum.SLIDING_TO_RIGHT={type:3,value:"SLIDING_TO_RIGHT"};IfcDoorStyleOperationEnum.DOUBLE_DOOR_SLIDING={type:3,value:"DOUBLE_DOOR_SLIDING"};IfcDoorStyleOperationEnum.FOLDING_TO_LEFT={type:3,value:"FOLDING_TO_LEFT"};IfcDoorStyleOperationEnum.FOLDING_TO_RIGHT={type:3,value:"FOLDING_TO_RIGHT"};IfcDoorStyleOperationEnum.DOUBLE_DOOR_FOLDING={type:3,value:"DOUBLE_DOOR_FOLDING"};IfcDoorStyleOperationEnum.REVOLVING={type:3,value:"REVOLVING"};IfcDoorStyleOperationEnum.ROLLINGUP={type:3,value:"ROLLINGUP"};IfcDoorStyleOperationEnum.USERDEFINED={type:3,value:"USERDEFINED"};IfcDoorStyleOperationEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC2X32.IfcDoorStyleOperationEnum=IfcDoorStyleOperationEnum;var IfcDuctFittingTypeEnum=/*#__PURE__*/_createClass(function IfcDuctFittingTypeEnum(){_classCallCheck(this,IfcDuctFittingTypeEnum);});IfcDuctFittingTypeEnum.BEND={type:3,value:"BEND"};IfcDuctFittingTypeEnum.CONNECTOR={type:3,value:"CONNECTOR"};IfcDuctFittingTypeEnum.ENTRY={type:3,value:"ENTRY"};IfcDuctFittingTypeEnum.EXIT={type:3,value:"EXIT"};IfcDuctFittingTypeEnum.JUNCTION={type:3,value:"JUNCTION"};IfcDuctFittingTypeEnum.OBSTRUCTION={type:3,value:"OBSTRUCTION"};IfcDuctFittingTypeEnum.TRANSITION={type:3,value:"TRANSITION"};IfcDuctFittingTypeEnum.USERDEFINED={type:3,value:"USERDEFINED"};IfcDuctFittingTypeEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC2X32.IfcDuctFittingTypeEnum=IfcDuctFittingTypeEnum;var IfcDuctSegmentTypeEnum=/*#__PURE__*/_createClass(function IfcDuctSegmentTypeEnum(){_classCallCheck(this,IfcDuctSegmentTypeEnum);});IfcDuctSegmentTypeEnum.RIGIDSEGMENT={type:3,value:"RIGIDSEGMENT"};IfcDuctSegmentTypeEnum.FLEXIBLESEGMENT={type:3,value:"FLEXIBLESEGMENT"};IfcDuctSegmentTypeEnum.USERDEFINED={type:3,value:"USERDEFINED"};IfcDuctSegmentTypeEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC2X32.IfcDuctSegmentTypeEnum=IfcDuctSegmentTypeEnum;var IfcDuctSilencerTypeEnum=/*#__PURE__*/_createClass(function IfcDuctSilencerTypeEnum(){_classCallCheck(this,IfcDuctSilencerTypeEnum);});IfcDuctSilencerTypeEnum.FLATOVAL={type:3,value:"FLATOVAL"};IfcDuctSilencerTypeEnum.RECTANGULAR={type:3,value:"RECTANGULAR"};IfcDuctSilencerTypeEnum.ROUND={type:3,value:"ROUND"};IfcDuctSilencerTypeEnum.USERDEFINED={type:3,value:"USERDEFINED"};IfcDuctSilencerTypeEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC2X32.IfcDuctSilencerTypeEnum=IfcDuctSilencerTypeEnum;var IfcElectricApplianceTypeEnum=/*#__PURE__*/_createClass(function IfcElectricApplianceTypeEnum(){_classCallCheck(this,IfcElectricApplianceTypeEnum);});IfcElectricApplianceTypeEnum.COMPUTER={type:3,value:"COMPUTER"};IfcElectricApplianceTypeEnum.DIRECTWATERHEATER={type:3,value:"DIRECTWATERHEATER"};IfcElectricApplianceTypeEnum.DISHWASHER={type:3,value:"DISHWASHER"};IfcElectricApplianceTypeEnum.ELECTRICCOOKER={type:3,value:"ELECTRICCOOKER"};IfcElectricApplianceTypeEnum.ELECTRICHEATER={type:3,value:"ELECTRICHEATER"};IfcElectricApplianceTypeEnum.FACSIMILE={type:3,value:"FACSIMILE"};IfcElectricApplianceTypeEnum.FREESTANDINGFAN={type:3,value:"FREESTANDINGFAN"};IfcElectricApplianceTypeEnum.FREEZER={type:3,value:"FREEZER"};IfcElectricApplianceTypeEnum.FRIDGE_FREEZER={type:3,value:"FRIDGE_FREEZER"};IfcElectricApplianceTypeEnum.HANDDRYER={type:3,value:"HANDDRYER"};IfcElectricApplianceTypeEnum.INDIRECTWATERHEATER={type:3,value:"INDIRECTWATERHEATER"};IfcElectricApplianceTypeEnum.MICROWAVE={type:3,value:"MICROWAVE"};IfcElectricApplianceTypeEnum.PHOTOCOPIER={type:3,value:"PHOTOCOPIER"};IfcElectricApplianceTypeEnum.PRINTER={type:3,value:"PRINTER"};IfcElectricApplianceTypeEnum.REFRIGERATOR={type:3,value:"REFRIGERATOR"};IfcElectricApplianceTypeEnum.RADIANTHEATER={type:3,value:"RADIANTHEATER"};IfcElectricApplianceTypeEnum.SCANNER={type:3,value:"SCANNER"};IfcElectricApplianceTypeEnum.TELEPHONE={type:3,value:"TELEPHONE"};IfcElectricApplianceTypeEnum.TUMBLEDRYER={type:3,value:"TUMBLEDRYER"};IfcElectricApplianceTypeEnum.TV={type:3,value:"TV"};IfcElectricApplianceTypeEnum.VENDINGMACHINE={type:3,value:"VENDINGMACHINE"};IfcElectricApplianceTypeEnum.WASHINGMACHINE={type:3,value:"WASHINGMACHINE"};IfcElectricApplianceTypeEnum.WATERHEATER={type:3,value:"WATERHEATER"};IfcElectricApplianceTypeEnum.WATERCOOLER={type:3,value:"WATERCOOLER"};IfcElectricApplianceTypeEnum.USERDEFINED={type:3,value:"USERDEFINED"};IfcElectricApplianceTypeEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC2X32.IfcElectricApplianceTypeEnum=IfcElectricApplianceTypeEnum;var IfcElectricCurrentEnum=/*#__PURE__*/_createClass(function IfcElectricCurrentEnum(){_classCallCheck(this,IfcElectricCurrentEnum);});IfcElectricCurrentEnum.ALTERNATING={type:3,value:"ALTERNATING"};IfcElectricCurrentEnum.DIRECT={type:3,value:"DIRECT"};IfcElectricCurrentEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC2X32.IfcElectricCurrentEnum=IfcElectricCurrentEnum;var IfcElectricDistributionPointFunctionEnum=/*#__PURE__*/_createClass(function IfcElectricDistributionPointFunctionEnum(){_classCallCheck(this,IfcElectricDistributionPointFunctionEnum);});IfcElectricDistributionPointFunctionEnum.ALARMPANEL={type:3,value:"ALARMPANEL"};IfcElectricDistributionPointFunctionEnum.CONSUMERUNIT={type:3,value:"CONSUMERUNIT"};IfcElectricDistributionPointFunctionEnum.CONTROLPANEL={type:3,value:"CONTROLPANEL"};IfcElectricDistributionPointFunctionEnum.DISTRIBUTIONBOARD={type:3,value:"DISTRIBUTIONBOARD"};IfcElectricDistributionPointFunctionEnum.GASDETECTORPANEL={type:3,value:"GASDETECTORPANEL"};IfcElectricDistributionPointFunctionEnum.INDICATORPANEL={type:3,value:"INDICATORPANEL"};IfcElectricDistributionPointFunctionEnum.MIMICPANEL={type:3,value:"MIMICPANEL"};IfcElectricDistributionPointFunctionEnum.MOTORCONTROLCENTRE={type:3,value:"MOTORCONTROLCENTRE"};IfcElectricDistributionPointFunctionEnum.SWITCHBOARD={type:3,value:"SWITCHBOARD"};IfcElectricDistributionPointFunctionEnum.USERDEFINED={type:3,value:"USERDEFINED"};IfcElectricDistributionPointFunctionEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC2X32.IfcElectricDistributionPointFunctionEnum=IfcElectricDistributionPointFunctionEnum;var IfcElectricFlowStorageDeviceTypeEnum=/*#__PURE__*/_createClass(function IfcElectricFlowStorageDeviceTypeEnum(){_classCallCheck(this,IfcElectricFlowStorageDeviceTypeEnum);});IfcElectricFlowStorageDeviceTypeEnum.BATTERY={type:3,value:"BATTERY"};IfcElectricFlowStorageDeviceTypeEnum.CAPACITORBANK={type:3,value:"CAPACITORBANK"};IfcElectricFlowStorageDeviceTypeEnum.HARMONICFILTER={type:3,value:"HARMONICFILTER"};IfcElectricFlowStorageDeviceTypeEnum.INDUCTORBANK={type:3,value:"INDUCTORBANK"};IfcElectricFlowStorageDeviceTypeEnum.UPS={type:3,value:"UPS"};IfcElectricFlowStorageDeviceTypeEnum.USERDEFINED={type:3,value:"USERDEFINED"};IfcElectricFlowStorageDeviceTypeEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC2X32.IfcElectricFlowStorageDeviceTypeEnum=IfcElectricFlowStorageDeviceTypeEnum;var IfcElectricGeneratorTypeEnum=/*#__PURE__*/_createClass(function IfcElectricGeneratorTypeEnum(){_classCallCheck(this,IfcElectricGeneratorTypeEnum);});IfcElectricGeneratorTypeEnum.USERDEFINED={type:3,value:"USERDEFINED"};IfcElectricGeneratorTypeEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC2X32.IfcElectricGeneratorTypeEnum=IfcElectricGeneratorTypeEnum;var IfcElectricHeaterTypeEnum=/*#__PURE__*/_createClass(function IfcElectricHeaterTypeEnum(){_classCallCheck(this,IfcElectricHeaterTypeEnum);});IfcElectricHeaterTypeEnum.ELECTRICPOINTHEATER={type:3,value:"ELECTRICPOINTHEATER"};IfcElectricHeaterTypeEnum.ELECTRICCABLEHEATER={type:3,value:"ELECTRICCABLEHEATER"};IfcElectricHeaterTypeEnum.ELECTRICMATHEATER={type:3,value:"ELECTRICMATHEATER"};IfcElectricHeaterTypeEnum.USERDEFINED={type:3,value:"USERDEFINED"};IfcElectricHeaterTypeEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC2X32.IfcElectricHeaterTypeEnum=IfcElectricHeaterTypeEnum;var IfcElectricMotorTypeEnum=/*#__PURE__*/_createClass(function IfcElectricMotorTypeEnum(){_classCallCheck(this,IfcElectricMotorTypeEnum);});IfcElectricMotorTypeEnum.DC={type:3,value:"DC"};IfcElectricMotorTypeEnum.INDUCTION={type:3,value:"INDUCTION"};IfcElectricMotorTypeEnum.POLYPHASE={type:3,value:"POLYPHASE"};IfcElectricMotorTypeEnum.RELUCTANCESYNCHRONOUS={type:3,value:"RELUCTANCESYNCHRONOUS"};IfcElectricMotorTypeEnum.SYNCHRONOUS={type:3,value:"SYNCHRONOUS"};IfcElectricMotorTypeEnum.USERDEFINED={type:3,value:"USERDEFINED"};IfcElectricMotorTypeEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC2X32.IfcElectricMotorTypeEnum=IfcElectricMotorTypeEnum;var IfcElectricTimeControlTypeEnum=/*#__PURE__*/_createClass(function IfcElectricTimeControlTypeEnum(){_classCallCheck(this,IfcElectricTimeControlTypeEnum);});IfcElectricTimeControlTypeEnum.TIMECLOCK={type:3,value:"TIMECLOCK"};IfcElectricTimeControlTypeEnum.TIMEDELAY={type:3,value:"TIMEDELAY"};IfcElectricTimeControlTypeEnum.RELAY={type:3,value:"RELAY"};IfcElectricTimeControlTypeEnum.USERDEFINED={type:3,value:"USERDEFINED"};IfcElectricTimeControlTypeEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC2X32.IfcElectricTimeControlTypeEnum=IfcElectricTimeControlTypeEnum;var IfcElementAssemblyTypeEnum=/*#__PURE__*/_createClass(function IfcElementAssemblyTypeEnum(){_classCallCheck(this,IfcElementAssemblyTypeEnum);});IfcElementAssemblyTypeEnum.ACCESSORY_ASSEMBLY={type:3,value:"ACCESSORY_ASSEMBLY"};IfcElementAssemblyTypeEnum.ARCH={type:3,value:"ARCH"};IfcElementAssemblyTypeEnum.BEAM_GRID={type:3,value:"BEAM_GRID"};IfcElementAssemblyTypeEnum.BRACED_FRAME={type:3,value:"BRACED_FRAME"};IfcElementAssemblyTypeEnum.GIRDER={type:3,value:"GIRDER"};IfcElementAssemblyTypeEnum.REINFORCEMENT_UNIT={type:3,value:"REINFORCEMENT_UNIT"};IfcElementAssemblyTypeEnum.RIGID_FRAME={type:3,value:"RIGID_FRAME"};IfcElementAssemblyTypeEnum.SLAB_FIELD={type:3,value:"SLAB_FIELD"};IfcElementAssemblyTypeEnum.TRUSS={type:3,value:"TRUSS"};IfcElementAssemblyTypeEnum.USERDEFINED={type:3,value:"USERDEFINED"};IfcElementAssemblyTypeEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC2X32.IfcElementAssemblyTypeEnum=IfcElementAssemblyTypeEnum;var IfcElementCompositionEnum=/*#__PURE__*/_createClass(function IfcElementCompositionEnum(){_classCallCheck(this,IfcElementCompositionEnum);});IfcElementCompositionEnum.COMPLEX={type:3,value:"COMPLEX"};IfcElementCompositionEnum.ELEMENT={type:3,value:"ELEMENT"};IfcElementCompositionEnum.PARTIAL={type:3,value:"PARTIAL"};IFC2X32.IfcElementCompositionEnum=IfcElementCompositionEnum;var IfcEnergySequenceEnum=/*#__PURE__*/_createClass(function IfcEnergySequenceEnum(){_classCallCheck(this,IfcEnergySequenceEnum);});IfcEnergySequenceEnum.PRIMARY={type:3,value:"PRIMARY"};IfcEnergySequenceEnum.SECONDARY={type:3,value:"SECONDARY"};IfcEnergySequenceEnum.TERTIARY={type:3,value:"TERTIARY"};IfcEnergySequenceEnum.AUXILIARY={type:3,value:"AUXILIARY"};IfcEnergySequenceEnum.USERDEFINED={type:3,value:"USERDEFINED"};IfcEnergySequenceEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC2X32.IfcEnergySequenceEnum=IfcEnergySequenceEnum;var IfcEnvironmentalImpactCategoryEnum=/*#__PURE__*/_createClass(function IfcEnvironmentalImpactCategoryEnum(){_classCallCheck(this,IfcEnvironmentalImpactCategoryEnum);});IfcEnvironmentalImpactCategoryEnum.COMBINEDVALUE={type:3,value:"COMBINEDVALUE"};IfcEnvironmentalImpactCategoryEnum.DISPOSAL={type:3,value:"DISPOSAL"};IfcEnvironmentalImpactCategoryEnum.EXTRACTION={type:3,value:"EXTRACTION"};IfcEnvironmentalImpactCategoryEnum.INSTALLATION={type:3,value:"INSTALLATION"};IfcEnvironmentalImpactCategoryEnum.MANUFACTURE={type:3,value:"MANUFACTURE"};IfcEnvironmentalImpactCategoryEnum.TRANSPORTATION={type:3,value:"TRANSPORTATION"};IfcEnvironmentalImpactCategoryEnum.USERDEFINED={type:3,value:"USERDEFINED"};IfcEnvironmentalImpactCategoryEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC2X32.IfcEnvironmentalImpactCategoryEnum=IfcEnvironmentalImpactCategoryEnum;var IfcEvaporativeCoolerTypeEnum=/*#__PURE__*/_createClass(function IfcEvaporativeCoolerTypeEnum(){_classCallCheck(this,IfcEvaporativeCoolerTypeEnum);});IfcEvaporativeCoolerTypeEnum.DIRECTEVAPORATIVERANDOMMEDIAAIRCOOLER={type:3,value:"DIRECTEVAPORATIVERANDOMMEDIAAIRCOOLER"};IfcEvaporativeCoolerTypeEnum.DIRECTEVAPORATIVERIGIDMEDIAAIRCOOLER={type:3,value:"DIRECTEVAPORATIVERIGIDMEDIAAIRCOOLER"};IfcEvaporativeCoolerTypeEnum.DIRECTEVAPORATIVESLINGERSPACKAGEDAIRCOOLER={type:3,value:"DIRECTEVAPORATIVESLINGERSPACKAGEDAIRCOOLER"};IfcEvaporativeCoolerTypeEnum.DIRECTEVAPORATIVEPACKAGEDROTARYAIRCOOLER={type:3,value:"DIRECTEVAPORATIVEPACKAGEDROTARYAIRCOOLER"};IfcEvaporativeCoolerTypeEnum.DIRECTEVAPORATIVEAIRWASHER={type:3,value:"DIRECTEVAPORATIVEAIRWASHER"};IfcEvaporativeCoolerTypeEnum.INDIRECTEVAPORATIVEPACKAGEAIRCOOLER={type:3,value:"INDIRECTEVAPORATIVEPACKAGEAIRCOOLER"};IfcEvaporativeCoolerTypeEnum.INDIRECTEVAPORATIVEWETCOIL={type:3,value:"INDIRECTEVAPORATIVEWETCOIL"};IfcEvaporativeCoolerTypeEnum.INDIRECTEVAPORATIVECOOLINGTOWERORCOILCOOLER={type:3,value:"INDIRECTEVAPORATIVECOOLINGTOWERORCOILCOOLER"};IfcEvaporativeCoolerTypeEnum.INDIRECTDIRECTCOMBINATION={type:3,value:"INDIRECTDIRECTCOMBINATION"};IfcEvaporativeCoolerTypeEnum.USERDEFINED={type:3,value:"USERDEFINED"};IfcEvaporativeCoolerTypeEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC2X32.IfcEvaporativeCoolerTypeEnum=IfcEvaporativeCoolerTypeEnum;var IfcEvaporatorTypeEnum=/*#__PURE__*/_createClass(function IfcEvaporatorTypeEnum(){_classCallCheck(this,IfcEvaporatorTypeEnum);});IfcEvaporatorTypeEnum.DIRECTEXPANSIONSHELLANDTUBE={type:3,value:"DIRECTEXPANSIONSHELLANDTUBE"};IfcEvaporatorTypeEnum.DIRECTEXPANSIONTUBEINTUBE={type:3,value:"DIRECTEXPANSIONTUBEINTUBE"};IfcEvaporatorTypeEnum.DIRECTEXPANSIONBRAZEDPLATE={type:3,value:"DIRECTEXPANSIONBRAZEDPLATE"};IfcEvaporatorTypeEnum.FLOODEDSHELLANDTUBE={type:3,value:"FLOODEDSHELLANDTUBE"};IfcEvaporatorTypeEnum.SHELLANDCOIL={type:3,value:"SHELLANDCOIL"};IfcEvaporatorTypeEnum.USERDEFINED={type:3,value:"USERDEFINED"};IfcEvaporatorTypeEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC2X32.IfcEvaporatorTypeEnum=IfcEvaporatorTypeEnum;var IfcFanTypeEnum=/*#__PURE__*/_createClass(function IfcFanTypeEnum(){_classCallCheck(this,IfcFanTypeEnum);});IfcFanTypeEnum.CENTRIFUGALFORWARDCURVED={type:3,value:"CENTRIFUGALFORWARDCURVED"};IfcFanTypeEnum.CENTRIFUGALRADIAL={type:3,value:"CENTRIFUGALRADIAL"};IfcFanTypeEnum.CENTRIFUGALBACKWARDINCLINEDCURVED={type:3,value:"CENTRIFUGALBACKWARDINCLINEDCURVED"};IfcFanTypeEnum.CENTRIFUGALAIRFOIL={type:3,value:"CENTRIFUGALAIRFOIL"};IfcFanTypeEnum.TUBEAXIAL={type:3,value:"TUBEAXIAL"};IfcFanTypeEnum.VANEAXIAL={type:3,value:"VANEAXIAL"};IfcFanTypeEnum.PROPELLORAXIAL={type:3,value:"PROPELLORAXIAL"};IfcFanTypeEnum.USERDEFINED={type:3,value:"USERDEFINED"};IfcFanTypeEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC2X32.IfcFanTypeEnum=IfcFanTypeEnum;var IfcFilterTypeEnum=/*#__PURE__*/_createClass(function IfcFilterTypeEnum(){_classCallCheck(this,IfcFilterTypeEnum);});IfcFilterTypeEnum.AIRPARTICLEFILTER={type:3,value:"AIRPARTICLEFILTER"};IfcFilterTypeEnum.ODORFILTER={type:3,value:"ODORFILTER"};IfcFilterTypeEnum.OILFILTER={type:3,value:"OILFILTER"};IfcFilterTypeEnum.STRAINER={type:3,value:"STRAINER"};IfcFilterTypeEnum.WATERFILTER={type:3,value:"WATERFILTER"};IfcFilterTypeEnum.USERDEFINED={type:3,value:"USERDEFINED"};IfcFilterTypeEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC2X32.IfcFilterTypeEnum=IfcFilterTypeEnum;var IfcFireSuppressionTerminalTypeEnum=/*#__PURE__*/_createClass(function IfcFireSuppressionTerminalTypeEnum(){_classCallCheck(this,IfcFireSuppressionTerminalTypeEnum);});IfcFireSuppressionTerminalTypeEnum.BREECHINGINLET={type:3,value:"BREECHINGINLET"};IfcFireSuppressionTerminalTypeEnum.FIREHYDRANT={type:3,value:"FIREHYDRANT"};IfcFireSuppressionTerminalTypeEnum.HOSEREEL={type:3,value:"HOSEREEL"};IfcFireSuppressionTerminalTypeEnum.SPRINKLER={type:3,value:"SPRINKLER"};IfcFireSuppressionTerminalTypeEnum.SPRINKLERDEFLECTOR={type:3,value:"SPRINKLERDEFLECTOR"};IfcFireSuppressionTerminalTypeEnum.USERDEFINED={type:3,value:"USERDEFINED"};IfcFireSuppressionTerminalTypeEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC2X32.IfcFireSuppressionTerminalTypeEnum=IfcFireSuppressionTerminalTypeEnum;var IfcFlowDirectionEnum=/*#__PURE__*/_createClass(function IfcFlowDirectionEnum(){_classCallCheck(this,IfcFlowDirectionEnum);});IfcFlowDirectionEnum.SOURCE={type:3,value:"SOURCE"};IfcFlowDirectionEnum.SINK={type:3,value:"SINK"};IfcFlowDirectionEnum.SOURCEANDSINK={type:3,value:"SOURCEANDSINK"};IfcFlowDirectionEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC2X32.IfcFlowDirectionEnum=IfcFlowDirectionEnum;var IfcFlowInstrumentTypeEnum=/*#__PURE__*/_createClass(function IfcFlowInstrumentTypeEnum(){_classCallCheck(this,IfcFlowInstrumentTypeEnum);});IfcFlowInstrumentTypeEnum.PRESSUREGAUGE={type:3,value:"PRESSUREGAUGE"};IfcFlowInstrumentTypeEnum.THERMOMETER={type:3,value:"THERMOMETER"};IfcFlowInstrumentTypeEnum.AMMETER={type:3,value:"AMMETER"};IfcFlowInstrumentTypeEnum.FREQUENCYMETER={type:3,value:"FREQUENCYMETER"};IfcFlowInstrumentTypeEnum.POWERFACTORMETER={type:3,value:"POWERFACTORMETER"};IfcFlowInstrumentTypeEnum.PHASEANGLEMETER={type:3,value:"PHASEANGLEMETER"};IfcFlowInstrumentTypeEnum.VOLTMETER_PEAK={type:3,value:"VOLTMETER_PEAK"};IfcFlowInstrumentTypeEnum.VOLTMETER_RMS={type:3,value:"VOLTMETER_RMS"};IfcFlowInstrumentTypeEnum.USERDEFINED={type:3,value:"USERDEFINED"};IfcFlowInstrumentTypeEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC2X32.IfcFlowInstrumentTypeEnum=IfcFlowInstrumentTypeEnum;var IfcFlowMeterTypeEnum=/*#__PURE__*/_createClass(function IfcFlowMeterTypeEnum(){_classCallCheck(this,IfcFlowMeterTypeEnum);});IfcFlowMeterTypeEnum.ELECTRICMETER={type:3,value:"ELECTRICMETER"};IfcFlowMeterTypeEnum.ENERGYMETER={type:3,value:"ENERGYMETER"};IfcFlowMeterTypeEnum.FLOWMETER={type:3,value:"FLOWMETER"};IfcFlowMeterTypeEnum.GASMETER={type:3,value:"GASMETER"};IfcFlowMeterTypeEnum.OILMETER={type:3,value:"OILMETER"};IfcFlowMeterTypeEnum.WATERMETER={type:3,value:"WATERMETER"};IfcFlowMeterTypeEnum.USERDEFINED={type:3,value:"USERDEFINED"};IfcFlowMeterTypeEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC2X32.IfcFlowMeterTypeEnum=IfcFlowMeterTypeEnum;var IfcFootingTypeEnum=/*#__PURE__*/_createClass(function IfcFootingTypeEnum(){_classCallCheck(this,IfcFootingTypeEnum);});IfcFootingTypeEnum.FOOTING_BEAM={type:3,value:"FOOTING_BEAM"};IfcFootingTypeEnum.PAD_FOOTING={type:3,value:"PAD_FOOTING"};IfcFootingTypeEnum.PILE_CAP={type:3,value:"PILE_CAP"};IfcFootingTypeEnum.STRIP_FOOTING={type:3,value:"STRIP_FOOTING"};IfcFootingTypeEnum.USERDEFINED={type:3,value:"USERDEFINED"};IfcFootingTypeEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC2X32.IfcFootingTypeEnum=IfcFootingTypeEnum;var IfcGasTerminalTypeEnum=/*#__PURE__*/_createClass(function IfcGasTerminalTypeEnum(){_classCallCheck(this,IfcGasTerminalTypeEnum);});IfcGasTerminalTypeEnum.GASAPPLIANCE={type:3,value:"GASAPPLIANCE"};IfcGasTerminalTypeEnum.GASBOOSTER={type:3,value:"GASBOOSTER"};IfcGasTerminalTypeEnum.GASBURNER={type:3,value:"GASBURNER"};IfcGasTerminalTypeEnum.USERDEFINED={type:3,value:"USERDEFINED"};IfcGasTerminalTypeEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC2X32.IfcGasTerminalTypeEnum=IfcGasTerminalTypeEnum;var IfcGeometricProjectionEnum=/*#__PURE__*/_createClass(function IfcGeometricProjectionEnum(){_classCallCheck(this,IfcGeometricProjectionEnum);});IfcGeometricProjectionEnum.GRAPH_VIEW={type:3,value:"GRAPH_VIEW"};IfcGeometricProjectionEnum.SKETCH_VIEW={type:3,value:"SKETCH_VIEW"};IfcGeometricProjectionEnum.MODEL_VIEW={type:3,value:"MODEL_VIEW"};IfcGeometricProjectionEnum.PLAN_VIEW={type:3,value:"PLAN_VIEW"};IfcGeometricProjectionEnum.REFLECTED_PLAN_VIEW={type:3,value:"REFLECTED_PLAN_VIEW"};IfcGeometricProjectionEnum.SECTION_VIEW={type:3,value:"SECTION_VIEW"};IfcGeometricProjectionEnum.ELEVATION_VIEW={type:3,value:"ELEVATION_VIEW"};IfcGeometricProjectionEnum.USERDEFINED={type:3,value:"USERDEFINED"};IfcGeometricProjectionEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC2X32.IfcGeometricProjectionEnum=IfcGeometricProjectionEnum;var IfcGlobalOrLocalEnum=/*#__PURE__*/_createClass(function IfcGlobalOrLocalEnum(){_classCallCheck(this,IfcGlobalOrLocalEnum);});IfcGlobalOrLocalEnum.GLOBAL_COORDS={type:3,value:"GLOBAL_COORDS"};IfcGlobalOrLocalEnum.LOCAL_COORDS={type:3,value:"LOCAL_COORDS"};IFC2X32.IfcGlobalOrLocalEnum=IfcGlobalOrLocalEnum;var IfcHeatExchangerTypeEnum=/*#__PURE__*/_createClass(function IfcHeatExchangerTypeEnum(){_classCallCheck(this,IfcHeatExchangerTypeEnum);});IfcHeatExchangerTypeEnum.PLATE={type:3,value:"PLATE"};IfcHeatExchangerTypeEnum.SHELLANDTUBE={type:3,value:"SHELLANDTUBE"};IfcHeatExchangerTypeEnum.USERDEFINED={type:3,value:"USERDEFINED"};IfcHeatExchangerTypeEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC2X32.IfcHeatExchangerTypeEnum=IfcHeatExchangerTypeEnum;var IfcHumidifierTypeEnum=/*#__PURE__*/_createClass(function IfcHumidifierTypeEnum(){_classCallCheck(this,IfcHumidifierTypeEnum);});IfcHumidifierTypeEnum.STEAMINJECTION={type:3,value:"STEAMINJECTION"};IfcHumidifierTypeEnum.ADIABATICAIRWASHER={type:3,value:"ADIABATICAIRWASHER"};IfcHumidifierTypeEnum.ADIABATICPAN={type:3,value:"ADIABATICPAN"};IfcHumidifierTypeEnum.ADIABATICWETTEDELEMENT={type:3,value:"ADIABATICWETTEDELEMENT"};IfcHumidifierTypeEnum.ADIABATICATOMIZING={type:3,value:"ADIABATICATOMIZING"};IfcHumidifierTypeEnum.ADIABATICULTRASONIC={type:3,value:"ADIABATICULTRASONIC"};IfcHumidifierTypeEnum.ADIABATICRIGIDMEDIA={type:3,value:"ADIABATICRIGIDMEDIA"};IfcHumidifierTypeEnum.ADIABATICCOMPRESSEDAIRNOZZLE={type:3,value:"ADIABATICCOMPRESSEDAIRNOZZLE"};IfcHumidifierTypeEnum.ASSISTEDELECTRIC={type:3,value:"ASSISTEDELECTRIC"};IfcHumidifierTypeEnum.ASSISTEDNATURALGAS={type:3,value:"ASSISTEDNATURALGAS"};IfcHumidifierTypeEnum.ASSISTEDPROPANE={type:3,value:"ASSISTEDPROPANE"};IfcHumidifierTypeEnum.ASSISTEDBUTANE={type:3,value:"ASSISTEDBUTANE"};IfcHumidifierTypeEnum.ASSISTEDSTEAM={type:3,value:"ASSISTEDSTEAM"};IfcHumidifierTypeEnum.USERDEFINED={type:3,value:"USERDEFINED"};IfcHumidifierTypeEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC2X32.IfcHumidifierTypeEnum=IfcHumidifierTypeEnum;var IfcInternalOrExternalEnum=/*#__PURE__*/_createClass(function IfcInternalOrExternalEnum(){_classCallCheck(this,IfcInternalOrExternalEnum);});IfcInternalOrExternalEnum.INTERNAL={type:3,value:"INTERNAL"};IfcInternalOrExternalEnum.EXTERNAL={type:3,value:"EXTERNAL"};IfcInternalOrExternalEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC2X32.IfcInternalOrExternalEnum=IfcInternalOrExternalEnum;var IfcInventoryTypeEnum=/*#__PURE__*/_createClass(function IfcInventoryTypeEnum(){_classCallCheck(this,IfcInventoryTypeEnum);});IfcInventoryTypeEnum.ASSETINVENTORY={type:3,value:"ASSETINVENTORY"};IfcInventoryTypeEnum.SPACEINVENTORY={type:3,value:"SPACEINVENTORY"};IfcInventoryTypeEnum.FURNITUREINVENTORY={type:3,value:"FURNITUREINVENTORY"};IfcInventoryTypeEnum.USERDEFINED={type:3,value:"USERDEFINED"};IfcInventoryTypeEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC2X32.IfcInventoryTypeEnum=IfcInventoryTypeEnum;var IfcJunctionBoxTypeEnum=/*#__PURE__*/_createClass(function IfcJunctionBoxTypeEnum(){_classCallCheck(this,IfcJunctionBoxTypeEnum);});IfcJunctionBoxTypeEnum.USERDEFINED={type:3,value:"USERDEFINED"};IfcJunctionBoxTypeEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC2X32.IfcJunctionBoxTypeEnum=IfcJunctionBoxTypeEnum;var IfcLampTypeEnum=/*#__PURE__*/_createClass(function IfcLampTypeEnum(){_classCallCheck(this,IfcLampTypeEnum);});IfcLampTypeEnum.COMPACTFLUORESCENT={type:3,value:"COMPACTFLUORESCENT"};IfcLampTypeEnum.FLUORESCENT={type:3,value:"FLUORESCENT"};IfcLampTypeEnum.HIGHPRESSUREMERCURY={type:3,value:"HIGHPRESSUREMERCURY"};IfcLampTypeEnum.HIGHPRESSURESODIUM={type:3,value:"HIGHPRESSURESODIUM"};IfcLampTypeEnum.METALHALIDE={type:3,value:"METALHALIDE"};IfcLampTypeEnum.TUNGSTENFILAMENT={type:3,value:"TUNGSTENFILAMENT"};IfcLampTypeEnum.USERDEFINED={type:3,value:"USERDEFINED"};IfcLampTypeEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC2X32.IfcLampTypeEnum=IfcLampTypeEnum;var IfcLayerSetDirectionEnum=/*#__PURE__*/_createClass(function IfcLayerSetDirectionEnum(){_classCallCheck(this,IfcLayerSetDirectionEnum);});IfcLayerSetDirectionEnum.AXIS1={type:3,value:"AXIS1"};IfcLayerSetDirectionEnum.AXIS2={type:3,value:"AXIS2"};IfcLayerSetDirectionEnum.AXIS3={type:3,value:"AXIS3"};IFC2X32.IfcLayerSetDirectionEnum=IfcLayerSetDirectionEnum;var IfcLightDistributionCurveEnum=/*#__PURE__*/_createClass(function IfcLightDistributionCurveEnum(){_classCallCheck(this,IfcLightDistributionCurveEnum);});IfcLightDistributionCurveEnum.TYPE_A={type:3,value:"TYPE_A"};IfcLightDistributionCurveEnum.TYPE_B={type:3,value:"TYPE_B"};IfcLightDistributionCurveEnum.TYPE_C={type:3,value:"TYPE_C"};IfcLightDistributionCurveEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC2X32.IfcLightDistributionCurveEnum=IfcLightDistributionCurveEnum;var IfcLightEmissionSourceEnum=/*#__PURE__*/_createClass(function IfcLightEmissionSourceEnum(){_classCallCheck(this,IfcLightEmissionSourceEnum);});IfcLightEmissionSourceEnum.COMPACTFLUORESCENT={type:3,value:"COMPACTFLUORESCENT"};IfcLightEmissionSourceEnum.FLUORESCENT={type:3,value:"FLUORESCENT"};IfcLightEmissionSourceEnum.HIGHPRESSUREMERCURY={type:3,value:"HIGHPRESSUREMERCURY"};IfcLightEmissionSourceEnum.HIGHPRESSURESODIUM={type:3,value:"HIGHPRESSURESODIUM"};IfcLightEmissionSourceEnum.LIGHTEMITTINGDIODE={type:3,value:"LIGHTEMITTINGDIODE"};IfcLightEmissionSourceEnum.LOWPRESSURESODIUM={type:3,value:"LOWPRESSURESODIUM"};IfcLightEmissionSourceEnum.LOWVOLTAGEHALOGEN={type:3,value:"LOWVOLTAGEHALOGEN"};IfcLightEmissionSourceEnum.MAINVOLTAGEHALOGEN={type:3,value:"MAINVOLTAGEHALOGEN"};IfcLightEmissionSourceEnum.METALHALIDE={type:3,value:"METALHALIDE"};IfcLightEmissionSourceEnum.TUNGSTENFILAMENT={type:3,value:"TUNGSTENFILAMENT"};IfcLightEmissionSourceEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC2X32.IfcLightEmissionSourceEnum=IfcLightEmissionSourceEnum;var IfcLightFixtureTypeEnum=/*#__PURE__*/_createClass(function IfcLightFixtureTypeEnum(){_classCallCheck(this,IfcLightFixtureTypeEnum);});IfcLightFixtureTypeEnum.POINTSOURCE={type:3,value:"POINTSOURCE"};IfcLightFixtureTypeEnum.DIRECTIONSOURCE={type:3,value:"DIRECTIONSOURCE"};IfcLightFixtureTypeEnum.USERDEFINED={type:3,value:"USERDEFINED"};IfcLightFixtureTypeEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC2X32.IfcLightFixtureTypeEnum=IfcLightFixtureTypeEnum;var IfcLoadGroupTypeEnum=/*#__PURE__*/_createClass(function IfcLoadGroupTypeEnum(){_classCallCheck(this,IfcLoadGroupTypeEnum);});IfcLoadGroupTypeEnum.LOAD_GROUP={type:3,value:"LOAD_GROUP"};IfcLoadGroupTypeEnum.LOAD_CASE={type:3,value:"LOAD_CASE"};IfcLoadGroupTypeEnum.LOAD_COMBINATION_GROUP={type:3,value:"LOAD_COMBINATION_GROUP"};IfcLoadGroupTypeEnum.LOAD_COMBINATION={type:3,value:"LOAD_COMBINATION"};IfcLoadGroupTypeEnum.USERDEFINED={type:3,value:"USERDEFINED"};IfcLoadGroupTypeEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC2X32.IfcLoadGroupTypeEnum=IfcLoadGroupTypeEnum;var IfcLogicalOperatorEnum=/*#__PURE__*/_createClass(function IfcLogicalOperatorEnum(){_classCallCheck(this,IfcLogicalOperatorEnum);});IfcLogicalOperatorEnum.LOGICALAND={type:3,value:"LOGICALAND"};IfcLogicalOperatorEnum.LOGICALOR={type:3,value:"LOGICALOR"};IFC2X32.IfcLogicalOperatorEnum=IfcLogicalOperatorEnum;var IfcMemberTypeEnum=/*#__PURE__*/_createClass(function IfcMemberTypeEnum(){_classCallCheck(this,IfcMemberTypeEnum);});IfcMemberTypeEnum.BRACE={type:3,value:"BRACE"};IfcMemberTypeEnum.CHORD={type:3,value:"CHORD"};IfcMemberTypeEnum.COLLAR={type:3,value:"COLLAR"};IfcMemberTypeEnum.MEMBER={type:3,value:"MEMBER"};IfcMemberTypeEnum.MULLION={type:3,value:"MULLION"};IfcMemberTypeEnum.PLATE={type:3,value:"PLATE"};IfcMemberTypeEnum.POST={type:3,value:"POST"};IfcMemberTypeEnum.PURLIN={type:3,value:"PURLIN"};IfcMemberTypeEnum.RAFTER={type:3,value:"RAFTER"};IfcMemberTypeEnum.STRINGER={type:3,value:"STRINGER"};IfcMemberTypeEnum.STRUT={type:3,value:"STRUT"};IfcMemberTypeEnum.STUD={type:3,value:"STUD"};IfcMemberTypeEnum.USERDEFINED={type:3,value:"USERDEFINED"};IfcMemberTypeEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC2X32.IfcMemberTypeEnum=IfcMemberTypeEnum;var IfcMotorConnectionTypeEnum=/*#__PURE__*/_createClass(function IfcMotorConnectionTypeEnum(){_classCallCheck(this,IfcMotorConnectionTypeEnum);});IfcMotorConnectionTypeEnum.BELTDRIVE={type:3,value:"BELTDRIVE"};IfcMotorConnectionTypeEnum.COUPLING={type:3,value:"COUPLING"};IfcMotorConnectionTypeEnum.DIRECTDRIVE={type:3,value:"DIRECTDRIVE"};IfcMotorConnectionTypeEnum.USERDEFINED={type:3,value:"USERDEFINED"};IfcMotorConnectionTypeEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC2X32.IfcMotorConnectionTypeEnum=IfcMotorConnectionTypeEnum;var IfcNullStyle=/*#__PURE__*/_createClass(function IfcNullStyle(){_classCallCheck(this,IfcNullStyle);});IfcNullStyle.NULL={type:3,value:"NULL"};IFC2X32.IfcNullStyle=IfcNullStyle;var IfcObjectTypeEnum=/*#__PURE__*/_createClass(function IfcObjectTypeEnum(){_classCallCheck(this,IfcObjectTypeEnum);});IfcObjectTypeEnum.PRODUCT={type:3,value:"PRODUCT"};IfcObjectTypeEnum.PROCESS={type:3,value:"PROCESS"};IfcObjectTypeEnum.CONTROL={type:3,value:"CONTROL"};IfcObjectTypeEnum.RESOURCE={type:3,value:"RESOURCE"};IfcObjectTypeEnum.ACTOR={type:3,value:"ACTOR"};IfcObjectTypeEnum.GROUP={type:3,value:"GROUP"};IfcObjectTypeEnum.PROJECT={type:3,value:"PROJECT"};IfcObjectTypeEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC2X32.IfcObjectTypeEnum=IfcObjectTypeEnum;var IfcObjectiveEnum=/*#__PURE__*/_createClass(function IfcObjectiveEnum(){_classCallCheck(this,IfcObjectiveEnum);});IfcObjectiveEnum.CODECOMPLIANCE={type:3,value:"CODECOMPLIANCE"};IfcObjectiveEnum.DESIGNINTENT={type:3,value:"DESIGNINTENT"};IfcObjectiveEnum.HEALTHANDSAFETY={type:3,value:"HEALTHANDSAFETY"};IfcObjectiveEnum.REQUIREMENT={type:3,value:"REQUIREMENT"};IfcObjectiveEnum.SPECIFICATION={type:3,value:"SPECIFICATION"};IfcObjectiveEnum.TRIGGERCONDITION={type:3,value:"TRIGGERCONDITION"};IfcObjectiveEnum.USERDEFINED={type:3,value:"USERDEFINED"};IfcObjectiveEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC2X32.IfcObjectiveEnum=IfcObjectiveEnum;var IfcOccupantTypeEnum=/*#__PURE__*/_createClass(function IfcOccupantTypeEnum(){_classCallCheck(this,IfcOccupantTypeEnum);});IfcOccupantTypeEnum.ASSIGNEE={type:3,value:"ASSIGNEE"};IfcOccupantTypeEnum.ASSIGNOR={type:3,value:"ASSIGNOR"};IfcOccupantTypeEnum.LESSEE={type:3,value:"LESSEE"};IfcOccupantTypeEnum.LESSOR={type:3,value:"LESSOR"};IfcOccupantTypeEnum.LETTINGAGENT={type:3,value:"LETTINGAGENT"};IfcOccupantTypeEnum.OWNER={type:3,value:"OWNER"};IfcOccupantTypeEnum.TENANT={type:3,value:"TENANT"};IfcOccupantTypeEnum.USERDEFINED={type:3,value:"USERDEFINED"};IfcOccupantTypeEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC2X32.IfcOccupantTypeEnum=IfcOccupantTypeEnum;var IfcOutletTypeEnum=/*#__PURE__*/_createClass(function IfcOutletTypeEnum(){_classCallCheck(this,IfcOutletTypeEnum);});IfcOutletTypeEnum.AUDIOVISUALOUTLET={type:3,value:"AUDIOVISUALOUTLET"};IfcOutletTypeEnum.COMMUNICATIONSOUTLET={type:3,value:"COMMUNICATIONSOUTLET"};IfcOutletTypeEnum.POWEROUTLET={type:3,value:"POWEROUTLET"};IfcOutletTypeEnum.USERDEFINED={type:3,value:"USERDEFINED"};IfcOutletTypeEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC2X32.IfcOutletTypeEnum=IfcOutletTypeEnum;var IfcPermeableCoveringOperationEnum=/*#__PURE__*/_createClass(function IfcPermeableCoveringOperationEnum(){_classCallCheck(this,IfcPermeableCoveringOperationEnum);});IfcPermeableCoveringOperationEnum.GRILL={type:3,value:"GRILL"};IfcPermeableCoveringOperationEnum.LOUVER={type:3,value:"LOUVER"};IfcPermeableCoveringOperationEnum.SCREEN={type:3,value:"SCREEN"};IfcPermeableCoveringOperationEnum.USERDEFINED={type:3,value:"USERDEFINED"};IfcPermeableCoveringOperationEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC2X32.IfcPermeableCoveringOperationEnum=IfcPermeableCoveringOperationEnum;var IfcPhysicalOrVirtualEnum=/*#__PURE__*/_createClass(function IfcPhysicalOrVirtualEnum(){_classCallCheck(this,IfcPhysicalOrVirtualEnum);});IfcPhysicalOrVirtualEnum.PHYSICAL={type:3,value:"PHYSICAL"};IfcPhysicalOrVirtualEnum.VIRTUAL={type:3,value:"VIRTUAL"};IfcPhysicalOrVirtualEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC2X32.IfcPhysicalOrVirtualEnum=IfcPhysicalOrVirtualEnum;var IfcPileConstructionEnum=/*#__PURE__*/_createClass(function IfcPileConstructionEnum(){_classCallCheck(this,IfcPileConstructionEnum);});IfcPileConstructionEnum.CAST_IN_PLACE={type:3,value:"CAST_IN_PLACE"};IfcPileConstructionEnum.COMPOSITE={type:3,value:"COMPOSITE"};IfcPileConstructionEnum.PRECAST_CONCRETE={type:3,value:"PRECAST_CONCRETE"};IfcPileConstructionEnum.PREFAB_STEEL={type:3,value:"PREFAB_STEEL"};IfcPileConstructionEnum.USERDEFINED={type:3,value:"USERDEFINED"};IfcPileConstructionEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC2X32.IfcPileConstructionEnum=IfcPileConstructionEnum;var IfcPileTypeEnum=/*#__PURE__*/_createClass(function IfcPileTypeEnum(){_classCallCheck(this,IfcPileTypeEnum);});IfcPileTypeEnum.COHESION={type:3,value:"COHESION"};IfcPileTypeEnum.FRICTION={type:3,value:"FRICTION"};IfcPileTypeEnum.SUPPORT={type:3,value:"SUPPORT"};IfcPileTypeEnum.USERDEFINED={type:3,value:"USERDEFINED"};IfcPileTypeEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC2X32.IfcPileTypeEnum=IfcPileTypeEnum;var IfcPipeFittingTypeEnum=/*#__PURE__*/_createClass(function IfcPipeFittingTypeEnum(){_classCallCheck(this,IfcPipeFittingTypeEnum);});IfcPipeFittingTypeEnum.BEND={type:3,value:"BEND"};IfcPipeFittingTypeEnum.CONNECTOR={type:3,value:"CONNECTOR"};IfcPipeFittingTypeEnum.ENTRY={type:3,value:"ENTRY"};IfcPipeFittingTypeEnum.EXIT={type:3,value:"EXIT"};IfcPipeFittingTypeEnum.JUNCTION={type:3,value:"JUNCTION"};IfcPipeFittingTypeEnum.OBSTRUCTION={type:3,value:"OBSTRUCTION"};IfcPipeFittingTypeEnum.TRANSITION={type:3,value:"TRANSITION"};IfcPipeFittingTypeEnum.USERDEFINED={type:3,value:"USERDEFINED"};IfcPipeFittingTypeEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC2X32.IfcPipeFittingTypeEnum=IfcPipeFittingTypeEnum;var IfcPipeSegmentTypeEnum=/*#__PURE__*/_createClass(function IfcPipeSegmentTypeEnum(){_classCallCheck(this,IfcPipeSegmentTypeEnum);});IfcPipeSegmentTypeEnum.FLEXIBLESEGMENT={type:3,value:"FLEXIBLESEGMENT"};IfcPipeSegmentTypeEnum.RIGIDSEGMENT={type:3,value:"RIGIDSEGMENT"};IfcPipeSegmentTypeEnum.GUTTER={type:3,value:"GUTTER"};IfcPipeSegmentTypeEnum.SPOOL={type:3,value:"SPOOL"};IfcPipeSegmentTypeEnum.USERDEFINED={type:3,value:"USERDEFINED"};IfcPipeSegmentTypeEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC2X32.IfcPipeSegmentTypeEnum=IfcPipeSegmentTypeEnum;var IfcPlateTypeEnum=/*#__PURE__*/_createClass(function IfcPlateTypeEnum(){_classCallCheck(this,IfcPlateTypeEnum);});IfcPlateTypeEnum.CURTAIN_PANEL={type:3,value:"CURTAIN_PANEL"};IfcPlateTypeEnum.SHEET={type:3,value:"SHEET"};IfcPlateTypeEnum.USERDEFINED={type:3,value:"USERDEFINED"};IfcPlateTypeEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC2X32.IfcPlateTypeEnum=IfcPlateTypeEnum;var IfcProcedureTypeEnum=/*#__PURE__*/_createClass(function IfcProcedureTypeEnum(){_classCallCheck(this,IfcProcedureTypeEnum);});IfcProcedureTypeEnum.ADVICE_CAUTION={type:3,value:"ADVICE_CAUTION"};IfcProcedureTypeEnum.ADVICE_NOTE={type:3,value:"ADVICE_NOTE"};IfcProcedureTypeEnum.ADVICE_WARNING={type:3,value:"ADVICE_WARNING"};IfcProcedureTypeEnum.CALIBRATION={type:3,value:"CALIBRATION"};IfcProcedureTypeEnum.DIAGNOSTIC={type:3,value:"DIAGNOSTIC"};IfcProcedureTypeEnum.SHUTDOWN={type:3,value:"SHUTDOWN"};IfcProcedureTypeEnum.STARTUP={type:3,value:"STARTUP"};IfcProcedureTypeEnum.USERDEFINED={type:3,value:"USERDEFINED"};IfcProcedureTypeEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC2X32.IfcProcedureTypeEnum=IfcProcedureTypeEnum;var IfcProfileTypeEnum=/*#__PURE__*/_createClass(function IfcProfileTypeEnum(){_classCallCheck(this,IfcProfileTypeEnum);});IfcProfileTypeEnum.CURVE={type:3,value:"CURVE"};IfcProfileTypeEnum.AREA={type:3,value:"AREA"};IFC2X32.IfcProfileTypeEnum=IfcProfileTypeEnum;var IfcProjectOrderRecordTypeEnum=/*#__PURE__*/_createClass(function IfcProjectOrderRecordTypeEnum(){_classCallCheck(this,IfcProjectOrderRecordTypeEnum);});IfcProjectOrderRecordTypeEnum.CHANGE={type:3,value:"CHANGE"};IfcProjectOrderRecordTypeEnum.MAINTENANCE={type:3,value:"MAINTENANCE"};IfcProjectOrderRecordTypeEnum.MOVE={type:3,value:"MOVE"};IfcProjectOrderRecordTypeEnum.PURCHASE={type:3,value:"PURCHASE"};IfcProjectOrderRecordTypeEnum.WORK={type:3,value:"WORK"};IfcProjectOrderRecordTypeEnum.USERDEFINED={type:3,value:"USERDEFINED"};IfcProjectOrderRecordTypeEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC2X32.IfcProjectOrderRecordTypeEnum=IfcProjectOrderRecordTypeEnum;var IfcProjectOrderTypeEnum=/*#__PURE__*/_createClass(function IfcProjectOrderTypeEnum(){_classCallCheck(this,IfcProjectOrderTypeEnum);});IfcProjectOrderTypeEnum.CHANGEORDER={type:3,value:"CHANGEORDER"};IfcProjectOrderTypeEnum.MAINTENANCEWORKORDER={type:3,value:"MAINTENANCEWORKORDER"};IfcProjectOrderTypeEnum.MOVEORDER={type:3,value:"MOVEORDER"};IfcProjectOrderTypeEnum.PURCHASEORDER={type:3,value:"PURCHASEORDER"};IfcProjectOrderTypeEnum.WORKORDER={type:3,value:"WORKORDER"};IfcProjectOrderTypeEnum.USERDEFINED={type:3,value:"USERDEFINED"};IfcProjectOrderTypeEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC2X32.IfcProjectOrderTypeEnum=IfcProjectOrderTypeEnum;var IfcProjectedOrTrueLengthEnum=/*#__PURE__*/_createClass(function IfcProjectedOrTrueLengthEnum(){_classCallCheck(this,IfcProjectedOrTrueLengthEnum);});IfcProjectedOrTrueLengthEnum.PROJECTED_LENGTH={type:3,value:"PROJECTED_LENGTH"};IfcProjectedOrTrueLengthEnum.TRUE_LENGTH={type:3,value:"TRUE_LENGTH"};IFC2X32.IfcProjectedOrTrueLengthEnum=IfcProjectedOrTrueLengthEnum;var IfcPropertySourceEnum=/*#__PURE__*/_createClass(function IfcPropertySourceEnum(){_classCallCheck(this,IfcPropertySourceEnum);});IfcPropertySourceEnum.DESIGN={type:3,value:"DESIGN"};IfcPropertySourceEnum.DESIGNMAXIMUM={type:3,value:"DESIGNMAXIMUM"};IfcPropertySourceEnum.DESIGNMINIMUM={type:3,value:"DESIGNMINIMUM"};IfcPropertySourceEnum.SIMULATED={type:3,value:"SIMULATED"};IfcPropertySourceEnum.ASBUILT={type:3,value:"ASBUILT"};IfcPropertySourceEnum.COMMISSIONING={type:3,value:"COMMISSIONING"};IfcPropertySourceEnum.MEASURED={type:3,value:"MEASURED"};IfcPropertySourceEnum.USERDEFINED={type:3,value:"USERDEFINED"};IfcPropertySourceEnum.NOTKNOWN={type:3,value:"NOTKNOWN"};IFC2X32.IfcPropertySourceEnum=IfcPropertySourceEnum;var IfcProtectiveDeviceTypeEnum=/*#__PURE__*/_createClass(function IfcProtectiveDeviceTypeEnum(){_classCallCheck(this,IfcProtectiveDeviceTypeEnum);});IfcProtectiveDeviceTypeEnum.FUSEDISCONNECTOR={type:3,value:"FUSEDISCONNECTOR"};IfcProtectiveDeviceTypeEnum.CIRCUITBREAKER={type:3,value:"CIRCUITBREAKER"};IfcProtectiveDeviceTypeEnum.EARTHFAILUREDEVICE={type:3,value:"EARTHFAILUREDEVICE"};IfcProtectiveDeviceTypeEnum.RESIDUALCURRENTCIRCUITBREAKER={type:3,value:"RESIDUALCURRENTCIRCUITBREAKER"};IfcProtectiveDeviceTypeEnum.RESIDUALCURRENTSWITCH={type:3,value:"RESIDUALCURRENTSWITCH"};IfcProtectiveDeviceTypeEnum.VARISTOR={type:3,value:"VARISTOR"};IfcProtectiveDeviceTypeEnum.USERDEFINED={type:3,value:"USERDEFINED"};IfcProtectiveDeviceTypeEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC2X32.IfcProtectiveDeviceTypeEnum=IfcProtectiveDeviceTypeEnum;var IfcPumpTypeEnum=/*#__PURE__*/_createClass(function IfcPumpTypeEnum(){_classCallCheck(this,IfcPumpTypeEnum);});IfcPumpTypeEnum.CIRCULATOR={type:3,value:"CIRCULATOR"};IfcPumpTypeEnum.ENDSUCTION={type:3,value:"ENDSUCTION"};IfcPumpTypeEnum.SPLITCASE={type:3,value:"SPLITCASE"};IfcPumpTypeEnum.VERTICALINLINE={type:3,value:"VERTICALINLINE"};IfcPumpTypeEnum.VERTICALTURBINE={type:3,value:"VERTICALTURBINE"};IfcPumpTypeEnum.USERDEFINED={type:3,value:"USERDEFINED"};IfcPumpTypeEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC2X32.IfcPumpTypeEnum=IfcPumpTypeEnum;var IfcRailingTypeEnum=/*#__PURE__*/_createClass(function IfcRailingTypeEnum(){_classCallCheck(this,IfcRailingTypeEnum);});IfcRailingTypeEnum.HANDRAIL={type:3,value:"HANDRAIL"};IfcRailingTypeEnum.GUARDRAIL={type:3,value:"GUARDRAIL"};IfcRailingTypeEnum.BALUSTRADE={type:3,value:"BALUSTRADE"};IfcRailingTypeEnum.USERDEFINED={type:3,value:"USERDEFINED"};IfcRailingTypeEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC2X32.IfcRailingTypeEnum=IfcRailingTypeEnum;var IfcRampFlightTypeEnum=/*#__PURE__*/_createClass(function IfcRampFlightTypeEnum(){_classCallCheck(this,IfcRampFlightTypeEnum);});IfcRampFlightTypeEnum.STRAIGHT={type:3,value:"STRAIGHT"};IfcRampFlightTypeEnum.SPIRAL={type:3,value:"SPIRAL"};IfcRampFlightTypeEnum.USERDEFINED={type:3,value:"USERDEFINED"};IfcRampFlightTypeEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC2X32.IfcRampFlightTypeEnum=IfcRampFlightTypeEnum;var IfcRampTypeEnum=/*#__PURE__*/_createClass(function IfcRampTypeEnum(){_classCallCheck(this,IfcRampTypeEnum);});IfcRampTypeEnum.STRAIGHT_RUN_RAMP={type:3,value:"STRAIGHT_RUN_RAMP"};IfcRampTypeEnum.TWO_STRAIGHT_RUN_RAMP={type:3,value:"TWO_STRAIGHT_RUN_RAMP"};IfcRampTypeEnum.QUARTER_TURN_RAMP={type:3,value:"QUARTER_TURN_RAMP"};IfcRampTypeEnum.TWO_QUARTER_TURN_RAMP={type:3,value:"TWO_QUARTER_TURN_RAMP"};IfcRampTypeEnum.HALF_TURN_RAMP={type:3,value:"HALF_TURN_RAMP"};IfcRampTypeEnum.SPIRAL_RAMP={type:3,value:"SPIRAL_RAMP"};IfcRampTypeEnum.USERDEFINED={type:3,value:"USERDEFINED"};IfcRampTypeEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC2X32.IfcRampTypeEnum=IfcRampTypeEnum;var IfcReflectanceMethodEnum=/*#__PURE__*/_createClass(function IfcReflectanceMethodEnum(){_classCallCheck(this,IfcReflectanceMethodEnum);});IfcReflectanceMethodEnum.BLINN={type:3,value:"BLINN"};IfcReflectanceMethodEnum.FLAT={type:3,value:"FLAT"};IfcReflectanceMethodEnum.GLASS={type:3,value:"GLASS"};IfcReflectanceMethodEnum.MATT={type:3,value:"MATT"};IfcReflectanceMethodEnum.METAL={type:3,value:"METAL"};IfcReflectanceMethodEnum.MIRROR={type:3,value:"MIRROR"};IfcReflectanceMethodEnum.PHONG={type:3,value:"PHONG"};IfcReflectanceMethodEnum.PLASTIC={type:3,value:"PLASTIC"};IfcReflectanceMethodEnum.STRAUSS={type:3,value:"STRAUSS"};IfcReflectanceMethodEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC2X32.IfcReflectanceMethodEnum=IfcReflectanceMethodEnum;var IfcReinforcingBarRoleEnum=/*#__PURE__*/_createClass(function IfcReinforcingBarRoleEnum(){_classCallCheck(this,IfcReinforcingBarRoleEnum);});IfcReinforcingBarRoleEnum.MAIN={type:3,value:"MAIN"};IfcReinforcingBarRoleEnum.SHEAR={type:3,value:"SHEAR"};IfcReinforcingBarRoleEnum.LIGATURE={type:3,value:"LIGATURE"};IfcReinforcingBarRoleEnum.STUD={type:3,value:"STUD"};IfcReinforcingBarRoleEnum.PUNCHING={type:3,value:"PUNCHING"};IfcReinforcingBarRoleEnum.EDGE={type:3,value:"EDGE"};IfcReinforcingBarRoleEnum.RING={type:3,value:"RING"};IfcReinforcingBarRoleEnum.USERDEFINED={type:3,value:"USERDEFINED"};IfcReinforcingBarRoleEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC2X32.IfcReinforcingBarRoleEnum=IfcReinforcingBarRoleEnum;var IfcReinforcingBarSurfaceEnum=/*#__PURE__*/_createClass(function IfcReinforcingBarSurfaceEnum(){_classCallCheck(this,IfcReinforcingBarSurfaceEnum);});IfcReinforcingBarSurfaceEnum.PLAIN={type:3,value:"PLAIN"};IfcReinforcingBarSurfaceEnum.TEXTURED={type:3,value:"TEXTURED"};IFC2X32.IfcReinforcingBarSurfaceEnum=IfcReinforcingBarSurfaceEnum;var IfcResourceConsumptionEnum=/*#__PURE__*/_createClass(function IfcResourceConsumptionEnum(){_classCallCheck(this,IfcResourceConsumptionEnum);});IfcResourceConsumptionEnum.CONSUMED={type:3,value:"CONSUMED"};IfcResourceConsumptionEnum.PARTIALLYCONSUMED={type:3,value:"PARTIALLYCONSUMED"};IfcResourceConsumptionEnum.NOTCONSUMED={type:3,value:"NOTCONSUMED"};IfcResourceConsumptionEnum.OCCUPIED={type:3,value:"OCCUPIED"};IfcResourceConsumptionEnum.PARTIALLYOCCUPIED={type:3,value:"PARTIALLYOCCUPIED"};IfcResourceConsumptionEnum.NOTOCCUPIED={type:3,value:"NOTOCCUPIED"};IfcResourceConsumptionEnum.USERDEFINED={type:3,value:"USERDEFINED"};IfcResourceConsumptionEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC2X32.IfcResourceConsumptionEnum=IfcResourceConsumptionEnum;var IfcRibPlateDirectionEnum=/*#__PURE__*/_createClass(function IfcRibPlateDirectionEnum(){_classCallCheck(this,IfcRibPlateDirectionEnum);});IfcRibPlateDirectionEnum.DIRECTION_X={type:3,value:"DIRECTION_X"};IfcRibPlateDirectionEnum.DIRECTION_Y={type:3,value:"DIRECTION_Y"};IFC2X32.IfcRibPlateDirectionEnum=IfcRibPlateDirectionEnum;var IfcRoleEnum=/*#__PURE__*/_createClass(function IfcRoleEnum(){_classCallCheck(this,IfcRoleEnum);});IfcRoleEnum.SUPPLIER={type:3,value:"SUPPLIER"};IfcRoleEnum.MANUFACTURER={type:3,value:"MANUFACTURER"};IfcRoleEnum.CONTRACTOR={type:3,value:"CONTRACTOR"};IfcRoleEnum.SUBCONTRACTOR={type:3,value:"SUBCONTRACTOR"};IfcRoleEnum.ARCHITECT={type:3,value:"ARCHITECT"};IfcRoleEnum.STRUCTURALENGINEER={type:3,value:"STRUCTURALENGINEER"};IfcRoleEnum.COSTENGINEER={type:3,value:"COSTENGINEER"};IfcRoleEnum.CLIENT={type:3,value:"CLIENT"};IfcRoleEnum.BUILDINGOWNER={type:3,value:"BUILDINGOWNER"};IfcRoleEnum.BUILDINGOPERATOR={type:3,value:"BUILDINGOPERATOR"};IfcRoleEnum.MECHANICALENGINEER={type:3,value:"MECHANICALENGINEER"};IfcRoleEnum.ELECTRICALENGINEER={type:3,value:"ELECTRICALENGINEER"};IfcRoleEnum.PROJECTMANAGER={type:3,value:"PROJECTMANAGER"};IfcRoleEnum.FACILITIESMANAGER={type:3,value:"FACILITIESMANAGER"};IfcRoleEnum.CIVILENGINEER={type:3,value:"CIVILENGINEER"};IfcRoleEnum.COMISSIONINGENGINEER={type:3,value:"COMISSIONINGENGINEER"};IfcRoleEnum.ENGINEER={type:3,value:"ENGINEER"};IfcRoleEnum.OWNER={type:3,value:"OWNER"};IfcRoleEnum.CONSULTANT={type:3,value:"CONSULTANT"};IfcRoleEnum.CONSTRUCTIONMANAGER={type:3,value:"CONSTRUCTIONMANAGER"};IfcRoleEnum.FIELDCONSTRUCTIONMANAGER={type:3,value:"FIELDCONSTRUCTIONMANAGER"};IfcRoleEnum.RESELLER={type:3,value:"RESELLER"};IfcRoleEnum.USERDEFINED={type:3,value:"USERDEFINED"};IFC2X32.IfcRoleEnum=IfcRoleEnum;var IfcRoofTypeEnum=/*#__PURE__*/_createClass(function IfcRoofTypeEnum(){_classCallCheck(this,IfcRoofTypeEnum);});IfcRoofTypeEnum.FLAT_ROOF={type:3,value:"FLAT_ROOF"};IfcRoofTypeEnum.SHED_ROOF={type:3,value:"SHED_ROOF"};IfcRoofTypeEnum.GABLE_ROOF={type:3,value:"GABLE_ROOF"};IfcRoofTypeEnum.HIP_ROOF={type:3,value:"HIP_ROOF"};IfcRoofTypeEnum.HIPPED_GABLE_ROOF={type:3,value:"HIPPED_GABLE_ROOF"};IfcRoofTypeEnum.GAMBREL_ROOF={type:3,value:"GAMBREL_ROOF"};IfcRoofTypeEnum.MANSARD_ROOF={type:3,value:"MANSARD_ROOF"};IfcRoofTypeEnum.BARREL_ROOF={type:3,value:"BARREL_ROOF"};IfcRoofTypeEnum.RAINBOW_ROOF={type:3,value:"RAINBOW_ROOF"};IfcRoofTypeEnum.BUTTERFLY_ROOF={type:3,value:"BUTTERFLY_ROOF"};IfcRoofTypeEnum.PAVILION_ROOF={type:3,value:"PAVILION_ROOF"};IfcRoofTypeEnum.DOME_ROOF={type:3,value:"DOME_ROOF"};IfcRoofTypeEnum.FREEFORM={type:3,value:"FREEFORM"};IfcRoofTypeEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC2X32.IfcRoofTypeEnum=IfcRoofTypeEnum;var IfcSIPrefix=/*#__PURE__*/_createClass(function IfcSIPrefix(){_classCallCheck(this,IfcSIPrefix);});IfcSIPrefix.EXA={type:3,value:"EXA"};IfcSIPrefix.PETA={type:3,value:"PETA"};IfcSIPrefix.TERA={type:3,value:"TERA"};IfcSIPrefix.GIGA={type:3,value:"GIGA"};IfcSIPrefix.MEGA={type:3,value:"MEGA"};IfcSIPrefix.KILO={type:3,value:"KILO"};IfcSIPrefix.HECTO={type:3,value:"HECTO"};IfcSIPrefix.DECA={type:3,value:"DECA"};IfcSIPrefix.DECI={type:3,value:"DECI"};IfcSIPrefix.CENTI={type:3,value:"CENTI"};IfcSIPrefix.MILLI={type:3,value:"MILLI"};IfcSIPrefix.MICRO={type:3,value:"MICRO"};IfcSIPrefix.NANO={type:3,value:"NANO"};IfcSIPrefix.PICO={type:3,value:"PICO"};IfcSIPrefix.FEMTO={type:3,value:"FEMTO"};IfcSIPrefix.ATTO={type:3,value:"ATTO"};IFC2X32.IfcSIPrefix=IfcSIPrefix;var IfcSIUnitName=/*#__PURE__*/_createClass(function IfcSIUnitName(){_classCallCheck(this,IfcSIUnitName);});IfcSIUnitName.AMPERE={type:3,value:"AMPERE"};IfcSIUnitName.BECQUEREL={type:3,value:"BECQUEREL"};IfcSIUnitName.CANDELA={type:3,value:"CANDELA"};IfcSIUnitName.COULOMB={type:3,value:"COULOMB"};IfcSIUnitName.CUBIC_METRE={type:3,value:"CUBIC_METRE"};IfcSIUnitName.DEGREE_CELSIUS={type:3,value:"DEGREE_CELSIUS"};IfcSIUnitName.FARAD={type:3,value:"FARAD"};IfcSIUnitName.GRAM={type:3,value:"GRAM"};IfcSIUnitName.GRAY={type:3,value:"GRAY"};IfcSIUnitName.HENRY={type:3,value:"HENRY"};IfcSIUnitName.HERTZ={type:3,value:"HERTZ"};IfcSIUnitName.JOULE={type:3,value:"JOULE"};IfcSIUnitName.KELVIN={type:3,value:"KELVIN"};IfcSIUnitName.LUMEN={type:3,value:"LUMEN"};IfcSIUnitName.LUX={type:3,value:"LUX"};IfcSIUnitName.METRE={type:3,value:"METRE"};IfcSIUnitName.MOLE={type:3,value:"MOLE"};IfcSIUnitName.NEWTON={type:3,value:"NEWTON"};IfcSIUnitName.OHM={type:3,value:"OHM"};IfcSIUnitName.PASCAL={type:3,value:"PASCAL"};IfcSIUnitName.RADIAN={type:3,value:"RADIAN"};IfcSIUnitName.SECOND={type:3,value:"SECOND"};IfcSIUnitName.SIEMENS={type:3,value:"SIEMENS"};IfcSIUnitName.SIEVERT={type:3,value:"SIEVERT"};IfcSIUnitName.SQUARE_METRE={type:3,value:"SQUARE_METRE"};IfcSIUnitName.STERADIAN={type:3,value:"STERADIAN"};IfcSIUnitName.TESLA={type:3,value:"TESLA"};IfcSIUnitName.VOLT={type:3,value:"VOLT"};IfcSIUnitName.WATT={type:3,value:"WATT"};IfcSIUnitName.WEBER={type:3,value:"WEBER"};IFC2X32.IfcSIUnitName=IfcSIUnitName;var IfcSanitaryTerminalTypeEnum=/*#__PURE__*/_createClass(function IfcSanitaryTerminalTypeEnum(){_classCallCheck(this,IfcSanitaryTerminalTypeEnum);});IfcSanitaryTerminalTypeEnum.BATH={type:3,value:"BATH"};IfcSanitaryTerminalTypeEnum.BIDET={type:3,value:"BIDET"};IfcSanitaryTerminalTypeEnum.CISTERN={type:3,value:"CISTERN"};IfcSanitaryTerminalTypeEnum.SHOWER={type:3,value:"SHOWER"};IfcSanitaryTerminalTypeEnum.SINK={type:3,value:"SINK"};IfcSanitaryTerminalTypeEnum.SANITARYFOUNTAIN={type:3,value:"SANITARYFOUNTAIN"};IfcSanitaryTerminalTypeEnum.TOILETPAN={type:3,value:"TOILETPAN"};IfcSanitaryTerminalTypeEnum.URINAL={type:3,value:"URINAL"};IfcSanitaryTerminalTypeEnum.WASHHANDBASIN={type:3,value:"WASHHANDBASIN"};IfcSanitaryTerminalTypeEnum.WCSEAT={type:3,value:"WCSEAT"};IfcSanitaryTerminalTypeEnum.USERDEFINED={type:3,value:"USERDEFINED"};IfcSanitaryTerminalTypeEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC2X32.IfcSanitaryTerminalTypeEnum=IfcSanitaryTerminalTypeEnum;var IfcSectionTypeEnum=/*#__PURE__*/_createClass(function IfcSectionTypeEnum(){_classCallCheck(this,IfcSectionTypeEnum);});IfcSectionTypeEnum.UNIFORM={type:3,value:"UNIFORM"};IfcSectionTypeEnum.TAPERED={type:3,value:"TAPERED"};IFC2X32.IfcSectionTypeEnum=IfcSectionTypeEnum;var IfcSensorTypeEnum=/*#__PURE__*/_createClass(function IfcSensorTypeEnum(){_classCallCheck(this,IfcSensorTypeEnum);});IfcSensorTypeEnum.CO2SENSOR={type:3,value:"CO2SENSOR"};IfcSensorTypeEnum.FIRESENSOR={type:3,value:"FIRESENSOR"};IfcSensorTypeEnum.FLOWSENSOR={type:3,value:"FLOWSENSOR"};IfcSensorTypeEnum.GASSENSOR={type:3,value:"GASSENSOR"};IfcSensorTypeEnum.HEATSENSOR={type:3,value:"HEATSENSOR"};IfcSensorTypeEnum.HUMIDITYSENSOR={type:3,value:"HUMIDITYSENSOR"};IfcSensorTypeEnum.LIGHTSENSOR={type:3,value:"LIGHTSENSOR"};IfcSensorTypeEnum.MOISTURESENSOR={type:3,value:"MOISTURESENSOR"};IfcSensorTypeEnum.MOVEMENTSENSOR={type:3,value:"MOVEMENTSENSOR"};IfcSensorTypeEnum.PRESSURESENSOR={type:3,value:"PRESSURESENSOR"};IfcSensorTypeEnum.SMOKESENSOR={type:3,value:"SMOKESENSOR"};IfcSensorTypeEnum.SOUNDSENSOR={type:3,value:"SOUNDSENSOR"};IfcSensorTypeEnum.TEMPERATURESENSOR={type:3,value:"TEMPERATURESENSOR"};IfcSensorTypeEnum.USERDEFINED={type:3,value:"USERDEFINED"};IfcSensorTypeEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC2X32.IfcSensorTypeEnum=IfcSensorTypeEnum;var IfcSequenceEnum=/*#__PURE__*/_createClass(function IfcSequenceEnum(){_classCallCheck(this,IfcSequenceEnum);});IfcSequenceEnum.START_START={type:3,value:"START_START"};IfcSequenceEnum.START_FINISH={type:3,value:"START_FINISH"};IfcSequenceEnum.FINISH_START={type:3,value:"FINISH_START"};IfcSequenceEnum.FINISH_FINISH={type:3,value:"FINISH_FINISH"};IfcSequenceEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC2X32.IfcSequenceEnum=IfcSequenceEnum;var IfcServiceLifeFactorTypeEnum=/*#__PURE__*/_createClass(function IfcServiceLifeFactorTypeEnum(){_classCallCheck(this,IfcServiceLifeFactorTypeEnum);});IfcServiceLifeFactorTypeEnum.A_QUALITYOFCOMPONENTS={type:3,value:"A_QUALITYOFCOMPONENTS"};IfcServiceLifeFactorTypeEnum.B_DESIGNLEVEL={type:3,value:"B_DESIGNLEVEL"};IfcServiceLifeFactorTypeEnum.C_WORKEXECUTIONLEVEL={type:3,value:"C_WORKEXECUTIONLEVEL"};IfcServiceLifeFactorTypeEnum.D_INDOORENVIRONMENT={type:3,value:"D_INDOORENVIRONMENT"};IfcServiceLifeFactorTypeEnum.E_OUTDOORENVIRONMENT={type:3,value:"E_OUTDOORENVIRONMENT"};IfcServiceLifeFactorTypeEnum.F_INUSECONDITIONS={type:3,value:"F_INUSECONDITIONS"};IfcServiceLifeFactorTypeEnum.G_MAINTENANCELEVEL={type:3,value:"G_MAINTENANCELEVEL"};IfcServiceLifeFactorTypeEnum.USERDEFINED={type:3,value:"USERDEFINED"};IfcServiceLifeFactorTypeEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC2X32.IfcServiceLifeFactorTypeEnum=IfcServiceLifeFactorTypeEnum;var IfcServiceLifeTypeEnum=/*#__PURE__*/_createClass(function IfcServiceLifeTypeEnum(){_classCallCheck(this,IfcServiceLifeTypeEnum);});IfcServiceLifeTypeEnum.ACTUALSERVICELIFE={type:3,value:"ACTUALSERVICELIFE"};IfcServiceLifeTypeEnum.EXPECTEDSERVICELIFE={type:3,value:"EXPECTEDSERVICELIFE"};IfcServiceLifeTypeEnum.OPTIMISTICREFERENCESERVICELIFE={type:3,value:"OPTIMISTICREFERENCESERVICELIFE"};IfcServiceLifeTypeEnum.PESSIMISTICREFERENCESERVICELIFE={type:3,value:"PESSIMISTICREFERENCESERVICELIFE"};IfcServiceLifeTypeEnum.REFERENCESERVICELIFE={type:3,value:"REFERENCESERVICELIFE"};IFC2X32.IfcServiceLifeTypeEnum=IfcServiceLifeTypeEnum;var IfcSlabTypeEnum=/*#__PURE__*/_createClass(function IfcSlabTypeEnum(){_classCallCheck(this,IfcSlabTypeEnum);});IfcSlabTypeEnum.FLOOR={type:3,value:"FLOOR"};IfcSlabTypeEnum.ROOF={type:3,value:"ROOF"};IfcSlabTypeEnum.LANDING={type:3,value:"LANDING"};IfcSlabTypeEnum.BASESLAB={type:3,value:"BASESLAB"};IfcSlabTypeEnum.USERDEFINED={type:3,value:"USERDEFINED"};IfcSlabTypeEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC2X32.IfcSlabTypeEnum=IfcSlabTypeEnum;var IfcSoundScaleEnum=/*#__PURE__*/_createClass(function IfcSoundScaleEnum(){_classCallCheck(this,IfcSoundScaleEnum);});IfcSoundScaleEnum.DBA={type:3,value:"DBA"};IfcSoundScaleEnum.DBB={type:3,value:"DBB"};IfcSoundScaleEnum.DBC={type:3,value:"DBC"};IfcSoundScaleEnum.NC={type:3,value:"NC"};IfcSoundScaleEnum.NR={type:3,value:"NR"};IfcSoundScaleEnum.USERDEFINED={type:3,value:"USERDEFINED"};IfcSoundScaleEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC2X32.IfcSoundScaleEnum=IfcSoundScaleEnum;var IfcSpaceHeaterTypeEnum=/*#__PURE__*/_createClass(function IfcSpaceHeaterTypeEnum(){_classCallCheck(this,IfcSpaceHeaterTypeEnum);});IfcSpaceHeaterTypeEnum.SECTIONALRADIATOR={type:3,value:"SECTIONALRADIATOR"};IfcSpaceHeaterTypeEnum.PANELRADIATOR={type:3,value:"PANELRADIATOR"};IfcSpaceHeaterTypeEnum.TUBULARRADIATOR={type:3,value:"TUBULARRADIATOR"};IfcSpaceHeaterTypeEnum.CONVECTOR={type:3,value:"CONVECTOR"};IfcSpaceHeaterTypeEnum.BASEBOARDHEATER={type:3,value:"BASEBOARDHEATER"};IfcSpaceHeaterTypeEnum.FINNEDTUBEUNIT={type:3,value:"FINNEDTUBEUNIT"};IfcSpaceHeaterTypeEnum.UNITHEATER={type:3,value:"UNITHEATER"};IfcSpaceHeaterTypeEnum.USERDEFINED={type:3,value:"USERDEFINED"};IfcSpaceHeaterTypeEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC2X32.IfcSpaceHeaterTypeEnum=IfcSpaceHeaterTypeEnum;var IfcSpaceTypeEnum=/*#__PURE__*/_createClass(function IfcSpaceTypeEnum(){_classCallCheck(this,IfcSpaceTypeEnum);});IfcSpaceTypeEnum.USERDEFINED={type:3,value:"USERDEFINED"};IfcSpaceTypeEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC2X32.IfcSpaceTypeEnum=IfcSpaceTypeEnum;var IfcStackTerminalTypeEnum=/*#__PURE__*/_createClass(function IfcStackTerminalTypeEnum(){_classCallCheck(this,IfcStackTerminalTypeEnum);});IfcStackTerminalTypeEnum.BIRDCAGE={type:3,value:"BIRDCAGE"};IfcStackTerminalTypeEnum.COWL={type:3,value:"COWL"};IfcStackTerminalTypeEnum.RAINWATERHOPPER={type:3,value:"RAINWATERHOPPER"};IfcStackTerminalTypeEnum.USERDEFINED={type:3,value:"USERDEFINED"};IfcStackTerminalTypeEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC2X32.IfcStackTerminalTypeEnum=IfcStackTerminalTypeEnum;var IfcStairFlightTypeEnum=/*#__PURE__*/_createClass(function IfcStairFlightTypeEnum(){_classCallCheck(this,IfcStairFlightTypeEnum);});IfcStairFlightTypeEnum.STRAIGHT={type:3,value:"STRAIGHT"};IfcStairFlightTypeEnum.WINDER={type:3,value:"WINDER"};IfcStairFlightTypeEnum.SPIRAL={type:3,value:"SPIRAL"};IfcStairFlightTypeEnum.CURVED={type:3,value:"CURVED"};IfcStairFlightTypeEnum.FREEFORM={type:3,value:"FREEFORM"};IfcStairFlightTypeEnum.USERDEFINED={type:3,value:"USERDEFINED"};IfcStairFlightTypeEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC2X32.IfcStairFlightTypeEnum=IfcStairFlightTypeEnum;var IfcStairTypeEnum=/*#__PURE__*/_createClass(function IfcStairTypeEnum(){_classCallCheck(this,IfcStairTypeEnum);});IfcStairTypeEnum.STRAIGHT_RUN_STAIR={type:3,value:"STRAIGHT_RUN_STAIR"};IfcStairTypeEnum.TWO_STRAIGHT_RUN_STAIR={type:3,value:"TWO_STRAIGHT_RUN_STAIR"};IfcStairTypeEnum.QUARTER_WINDING_STAIR={type:3,value:"QUARTER_WINDING_STAIR"};IfcStairTypeEnum.QUARTER_TURN_STAIR={type:3,value:"QUARTER_TURN_STAIR"};IfcStairTypeEnum.HALF_WINDING_STAIR={type:3,value:"HALF_WINDING_STAIR"};IfcStairTypeEnum.HALF_TURN_STAIR={type:3,value:"HALF_TURN_STAIR"};IfcStairTypeEnum.TWO_QUARTER_WINDING_STAIR={type:3,value:"TWO_QUARTER_WINDING_STAIR"};IfcStairTypeEnum.TWO_QUARTER_TURN_STAIR={type:3,value:"TWO_QUARTER_TURN_STAIR"};IfcStairTypeEnum.THREE_QUARTER_WINDING_STAIR={type:3,value:"THREE_QUARTER_WINDING_STAIR"};IfcStairTypeEnum.THREE_QUARTER_TURN_STAIR={type:3,value:"THREE_QUARTER_TURN_STAIR"};IfcStairTypeEnum.SPIRAL_STAIR={type:3,value:"SPIRAL_STAIR"};IfcStairTypeEnum.DOUBLE_RETURN_STAIR={type:3,value:"DOUBLE_RETURN_STAIR"};IfcStairTypeEnum.CURVED_RUN_STAIR={type:3,value:"CURVED_RUN_STAIR"};IfcStairTypeEnum.TWO_CURVED_RUN_STAIR={type:3,value:"TWO_CURVED_RUN_STAIR"};IfcStairTypeEnum.USERDEFINED={type:3,value:"USERDEFINED"};IfcStairTypeEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC2X32.IfcStairTypeEnum=IfcStairTypeEnum;var IfcStateEnum=/*#__PURE__*/_createClass(function IfcStateEnum(){_classCallCheck(this,IfcStateEnum);});IfcStateEnum.READWRITE={type:3,value:"READWRITE"};IfcStateEnum.READONLY={type:3,value:"READONLY"};IfcStateEnum.LOCKED={type:3,value:"LOCKED"};IfcStateEnum.READWRITELOCKED={type:3,value:"READWRITELOCKED"};IfcStateEnum.READONLYLOCKED={type:3,value:"READONLYLOCKED"};IFC2X32.IfcStateEnum=IfcStateEnum;var IfcStructuralCurveTypeEnum=/*#__PURE__*/_createClass(function IfcStructuralCurveTypeEnum(){_classCallCheck(this,IfcStructuralCurveTypeEnum);});IfcStructuralCurveTypeEnum.RIGID_JOINED_MEMBER={type:3,value:"RIGID_JOINED_MEMBER"};IfcStructuralCurveTypeEnum.PIN_JOINED_MEMBER={type:3,value:"PIN_JOINED_MEMBER"};IfcStructuralCurveTypeEnum.CABLE={type:3,value:"CABLE"};IfcStructuralCurveTypeEnum.TENSION_MEMBER={type:3,value:"TENSION_MEMBER"};IfcStructuralCurveTypeEnum.COMPRESSION_MEMBER={type:3,value:"COMPRESSION_MEMBER"};IfcStructuralCurveTypeEnum.USERDEFINED={type:3,value:"USERDEFINED"};IfcStructuralCurveTypeEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC2X32.IfcStructuralCurveTypeEnum=IfcStructuralCurveTypeEnum;var IfcStructuralSurfaceTypeEnum=/*#__PURE__*/_createClass(function IfcStructuralSurfaceTypeEnum(){_classCallCheck(this,IfcStructuralSurfaceTypeEnum);});IfcStructuralSurfaceTypeEnum.BENDING_ELEMENT={type:3,value:"BENDING_ELEMENT"};IfcStructuralSurfaceTypeEnum.MEMBRANE_ELEMENT={type:3,value:"MEMBRANE_ELEMENT"};IfcStructuralSurfaceTypeEnum.SHELL={type:3,value:"SHELL"};IfcStructuralSurfaceTypeEnum.USERDEFINED={type:3,value:"USERDEFINED"};IfcStructuralSurfaceTypeEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC2X32.IfcStructuralSurfaceTypeEnum=IfcStructuralSurfaceTypeEnum;var IfcSurfaceSide=/*#__PURE__*/_createClass(function IfcSurfaceSide(){_classCallCheck(this,IfcSurfaceSide);});IfcSurfaceSide.POSITIVE={type:3,value:"POSITIVE"};IfcSurfaceSide.NEGATIVE={type:3,value:"NEGATIVE"};IfcSurfaceSide.BOTH={type:3,value:"BOTH"};IFC2X32.IfcSurfaceSide=IfcSurfaceSide;var IfcSurfaceTextureEnum=/*#__PURE__*/_createClass(function IfcSurfaceTextureEnum(){_classCallCheck(this,IfcSurfaceTextureEnum);});IfcSurfaceTextureEnum.BUMP={type:3,value:"BUMP"};IfcSurfaceTextureEnum.OPACITY={type:3,value:"OPACITY"};IfcSurfaceTextureEnum.REFLECTION={type:3,value:"REFLECTION"};IfcSurfaceTextureEnum.SELFILLUMINATION={type:3,value:"SELFILLUMINATION"};IfcSurfaceTextureEnum.SHININESS={type:3,value:"SHININESS"};IfcSurfaceTextureEnum.SPECULAR={type:3,value:"SPECULAR"};IfcSurfaceTextureEnum.TEXTURE={type:3,value:"TEXTURE"};IfcSurfaceTextureEnum.TRANSPARENCYMAP={type:3,value:"TRANSPARENCYMAP"};IfcSurfaceTextureEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC2X32.IfcSurfaceTextureEnum=IfcSurfaceTextureEnum;var IfcSwitchingDeviceTypeEnum=/*#__PURE__*/_createClass(function IfcSwitchingDeviceTypeEnum(){_classCallCheck(this,IfcSwitchingDeviceTypeEnum);});IfcSwitchingDeviceTypeEnum.CONTACTOR={type:3,value:"CONTACTOR"};IfcSwitchingDeviceTypeEnum.EMERGENCYSTOP={type:3,value:"EMERGENCYSTOP"};IfcSwitchingDeviceTypeEnum.STARTER={type:3,value:"STARTER"};IfcSwitchingDeviceTypeEnum.SWITCHDISCONNECTOR={type:3,value:"SWITCHDISCONNECTOR"};IfcSwitchingDeviceTypeEnum.TOGGLESWITCH={type:3,value:"TOGGLESWITCH"};IfcSwitchingDeviceTypeEnum.USERDEFINED={type:3,value:"USERDEFINED"};IfcSwitchingDeviceTypeEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC2X32.IfcSwitchingDeviceTypeEnum=IfcSwitchingDeviceTypeEnum;var IfcTankTypeEnum=/*#__PURE__*/_createClass(function IfcTankTypeEnum(){_classCallCheck(this,IfcTankTypeEnum);});IfcTankTypeEnum.PREFORMED={type:3,value:"PREFORMED"};IfcTankTypeEnum.SECTIONAL={type:3,value:"SECTIONAL"};IfcTankTypeEnum.EXPANSION={type:3,value:"EXPANSION"};IfcTankTypeEnum.PRESSUREVESSEL={type:3,value:"PRESSUREVESSEL"};IfcTankTypeEnum.USERDEFINED={type:3,value:"USERDEFINED"};IfcTankTypeEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC2X32.IfcTankTypeEnum=IfcTankTypeEnum;var IfcTendonTypeEnum=/*#__PURE__*/_createClass(function IfcTendonTypeEnum(){_classCallCheck(this,IfcTendonTypeEnum);});IfcTendonTypeEnum.STRAND={type:3,value:"STRAND"};IfcTendonTypeEnum.WIRE={type:3,value:"WIRE"};IfcTendonTypeEnum.BAR={type:3,value:"BAR"};IfcTendonTypeEnum.COATED={type:3,value:"COATED"};IfcTendonTypeEnum.USERDEFINED={type:3,value:"USERDEFINED"};IfcTendonTypeEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC2X32.IfcTendonTypeEnum=IfcTendonTypeEnum;var IfcTextPath=/*#__PURE__*/_createClass(function IfcTextPath(){_classCallCheck(this,IfcTextPath);});IfcTextPath.LEFT={type:3,value:"LEFT"};IfcTextPath.RIGHT={type:3,value:"RIGHT"};IfcTextPath.UP={type:3,value:"UP"};IfcTextPath.DOWN={type:3,value:"DOWN"};IFC2X32.IfcTextPath=IfcTextPath;var IfcThermalLoadSourceEnum=/*#__PURE__*/_createClass(function IfcThermalLoadSourceEnum(){_classCallCheck(this,IfcThermalLoadSourceEnum);});IfcThermalLoadSourceEnum.PEOPLE={type:3,value:"PEOPLE"};IfcThermalLoadSourceEnum.LIGHTING={type:3,value:"LIGHTING"};IfcThermalLoadSourceEnum.EQUIPMENT={type:3,value:"EQUIPMENT"};IfcThermalLoadSourceEnum.VENTILATIONINDOORAIR={type:3,value:"VENTILATIONINDOORAIR"};IfcThermalLoadSourceEnum.VENTILATIONOUTSIDEAIR={type:3,value:"VENTILATIONOUTSIDEAIR"};IfcThermalLoadSourceEnum.RECIRCULATEDAIR={type:3,value:"RECIRCULATEDAIR"};IfcThermalLoadSourceEnum.EXHAUSTAIR={type:3,value:"EXHAUSTAIR"};IfcThermalLoadSourceEnum.AIREXCHANGERATE={type:3,value:"AIREXCHANGERATE"};IfcThermalLoadSourceEnum.DRYBULBTEMPERATURE={type:3,value:"DRYBULBTEMPERATURE"};IfcThermalLoadSourceEnum.RELATIVEHUMIDITY={type:3,value:"RELATIVEHUMIDITY"};IfcThermalLoadSourceEnum.INFILTRATION={type:3,value:"INFILTRATION"};IfcThermalLoadSourceEnum.USERDEFINED={type:3,value:"USERDEFINED"};IfcThermalLoadSourceEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC2X32.IfcThermalLoadSourceEnum=IfcThermalLoadSourceEnum;var IfcThermalLoadTypeEnum=/*#__PURE__*/_createClass(function IfcThermalLoadTypeEnum(){_classCallCheck(this,IfcThermalLoadTypeEnum);});IfcThermalLoadTypeEnum.SENSIBLE={type:3,value:"SENSIBLE"};IfcThermalLoadTypeEnum.LATENT={type:3,value:"LATENT"};IfcThermalLoadTypeEnum.RADIANT={type:3,value:"RADIANT"};IfcThermalLoadTypeEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC2X32.IfcThermalLoadTypeEnum=IfcThermalLoadTypeEnum;var IfcTimeSeriesDataTypeEnum=/*#__PURE__*/_createClass(function IfcTimeSeriesDataTypeEnum(){_classCallCheck(this,IfcTimeSeriesDataTypeEnum);});IfcTimeSeriesDataTypeEnum.CONTINUOUS={type:3,value:"CONTINUOUS"};IfcTimeSeriesDataTypeEnum.DISCRETE={type:3,value:"DISCRETE"};IfcTimeSeriesDataTypeEnum.DISCRETEBINARY={type:3,value:"DISCRETEBINARY"};IfcTimeSeriesDataTypeEnum.PIECEWISEBINARY={type:3,value:"PIECEWISEBINARY"};IfcTimeSeriesDataTypeEnum.PIECEWISECONSTANT={type:3,value:"PIECEWISECONSTANT"};IfcTimeSeriesDataTypeEnum.PIECEWISECONTINUOUS={type:3,value:"PIECEWISECONTINUOUS"};IfcTimeSeriesDataTypeEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC2X32.IfcTimeSeriesDataTypeEnum=IfcTimeSeriesDataTypeEnum;var IfcTimeSeriesScheduleTypeEnum=/*#__PURE__*/_createClass(function IfcTimeSeriesScheduleTypeEnum(){_classCallCheck(this,IfcTimeSeriesScheduleTypeEnum);});IfcTimeSeriesScheduleTypeEnum.ANNUAL={type:3,value:"ANNUAL"};IfcTimeSeriesScheduleTypeEnum.MONTHLY={type:3,value:"MONTHLY"};IfcTimeSeriesScheduleTypeEnum.WEEKLY={type:3,value:"WEEKLY"};IfcTimeSeriesScheduleTypeEnum.DAILY={type:3,value:"DAILY"};IfcTimeSeriesScheduleTypeEnum.USERDEFINED={type:3,value:"USERDEFINED"};IfcTimeSeriesScheduleTypeEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC2X32.IfcTimeSeriesScheduleTypeEnum=IfcTimeSeriesScheduleTypeEnum;var IfcTransformerTypeEnum=/*#__PURE__*/_createClass(function IfcTransformerTypeEnum(){_classCallCheck(this,IfcTransformerTypeEnum);});IfcTransformerTypeEnum.CURRENT={type:3,value:"CURRENT"};IfcTransformerTypeEnum.FREQUENCY={type:3,value:"FREQUENCY"};IfcTransformerTypeEnum.VOLTAGE={type:3,value:"VOLTAGE"};IfcTransformerTypeEnum.USERDEFINED={type:3,value:"USERDEFINED"};IfcTransformerTypeEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC2X32.IfcTransformerTypeEnum=IfcTransformerTypeEnum;var IfcTransitionCode=/*#__PURE__*/_createClass(function IfcTransitionCode(){_classCallCheck(this,IfcTransitionCode);});IfcTransitionCode.DISCONTINUOUS={type:3,value:"DISCONTINUOUS"};IfcTransitionCode.CONTINUOUS={type:3,value:"CONTINUOUS"};IfcTransitionCode.CONTSAMEGRADIENT={type:3,value:"CONTSAMEGRADIENT"};IfcTransitionCode.CONTSAMEGRADIENTSAMECURVATURE={type:3,value:"CONTSAMEGRADIENTSAMECURVATURE"};IFC2X32.IfcTransitionCode=IfcTransitionCode;var IfcTransportElementTypeEnum=/*#__PURE__*/_createClass(function IfcTransportElementTypeEnum(){_classCallCheck(this,IfcTransportElementTypeEnum);});IfcTransportElementTypeEnum.ELEVATOR={type:3,value:"ELEVATOR"};IfcTransportElementTypeEnum.ESCALATOR={type:3,value:"ESCALATOR"};IfcTransportElementTypeEnum.MOVINGWALKWAY={type:3,value:"MOVINGWALKWAY"};IfcTransportElementTypeEnum.USERDEFINED={type:3,value:"USERDEFINED"};IfcTransportElementTypeEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC2X32.IfcTransportElementTypeEnum=IfcTransportElementTypeEnum;var IfcTrimmingPreference=/*#__PURE__*/_createClass(function IfcTrimmingPreference(){_classCallCheck(this,IfcTrimmingPreference);});IfcTrimmingPreference.CARTESIAN={type:3,value:"CARTESIAN"};IfcTrimmingPreference.PARAMETER={type:3,value:"PARAMETER"};IfcTrimmingPreference.UNSPECIFIED={type:3,value:"UNSPECIFIED"};IFC2X32.IfcTrimmingPreference=IfcTrimmingPreference;var IfcTubeBundleTypeEnum=/*#__PURE__*/_createClass(function IfcTubeBundleTypeEnum(){_classCallCheck(this,IfcTubeBundleTypeEnum);});IfcTubeBundleTypeEnum.FINNED={type:3,value:"FINNED"};IfcTubeBundleTypeEnum.USERDEFINED={type:3,value:"USERDEFINED"};IfcTubeBundleTypeEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC2X32.IfcTubeBundleTypeEnum=IfcTubeBundleTypeEnum;var IfcUnitEnum=/*#__PURE__*/_createClass(function IfcUnitEnum(){_classCallCheck(this,IfcUnitEnum);});IfcUnitEnum.ABSORBEDDOSEUNIT={type:3,value:"ABSORBEDDOSEUNIT"};IfcUnitEnum.AMOUNTOFSUBSTANCEUNIT={type:3,value:"AMOUNTOFSUBSTANCEUNIT"};IfcUnitEnum.AREAUNIT={type:3,value:"AREAUNIT"};IfcUnitEnum.DOSEEQUIVALENTUNIT={type:3,value:"DOSEEQUIVALENTUNIT"};IfcUnitEnum.ELECTRICCAPACITANCEUNIT={type:3,value:"ELECTRICCAPACITANCEUNIT"};IfcUnitEnum.ELECTRICCHARGEUNIT={type:3,value:"ELECTRICCHARGEUNIT"};IfcUnitEnum.ELECTRICCONDUCTANCEUNIT={type:3,value:"ELECTRICCONDUCTANCEUNIT"};IfcUnitEnum.ELECTRICCURRENTUNIT={type:3,value:"ELECTRICCURRENTUNIT"};IfcUnitEnum.ELECTRICRESISTANCEUNIT={type:3,value:"ELECTRICRESISTANCEUNIT"};IfcUnitEnum.ELECTRICVOLTAGEUNIT={type:3,value:"ELECTRICVOLTAGEUNIT"};IfcUnitEnum.ENERGYUNIT={type:3,value:"ENERGYUNIT"};IfcUnitEnum.FORCEUNIT={type:3,value:"FORCEUNIT"};IfcUnitEnum.FREQUENCYUNIT={type:3,value:"FREQUENCYUNIT"};IfcUnitEnum.ILLUMINANCEUNIT={type:3,value:"ILLUMINANCEUNIT"};IfcUnitEnum.INDUCTANCEUNIT={type:3,value:"INDUCTANCEUNIT"};IfcUnitEnum.LENGTHUNIT={type:3,value:"LENGTHUNIT"};IfcUnitEnum.LUMINOUSFLUXUNIT={type:3,value:"LUMINOUSFLUXUNIT"};IfcUnitEnum.LUMINOUSINTENSITYUNIT={type:3,value:"LUMINOUSINTENSITYUNIT"};IfcUnitEnum.MAGNETICFLUXDENSITYUNIT={type:3,value:"MAGNETICFLUXDENSITYUNIT"};IfcUnitEnum.MAGNETICFLUXUNIT={type:3,value:"MAGNETICFLUXUNIT"};IfcUnitEnum.MASSUNIT={type:3,value:"MASSUNIT"};IfcUnitEnum.PLANEANGLEUNIT={type:3,value:"PLANEANGLEUNIT"};IfcUnitEnum.POWERUNIT={type:3,value:"POWERUNIT"};IfcUnitEnum.PRESSUREUNIT={type:3,value:"PRESSUREUNIT"};IfcUnitEnum.RADIOACTIVITYUNIT={type:3,value:"RADIOACTIVITYUNIT"};IfcUnitEnum.SOLIDANGLEUNIT={type:3,value:"SOLIDANGLEUNIT"};IfcUnitEnum.THERMODYNAMICTEMPERATUREUNIT={type:3,value:"THERMODYNAMICTEMPERATUREUNIT"};IfcUnitEnum.TIMEUNIT={type:3,value:"TIMEUNIT"};IfcUnitEnum.VOLUMEUNIT={type:3,value:"VOLUMEUNIT"};IfcUnitEnum.USERDEFINED={type:3,value:"USERDEFINED"};IFC2X32.IfcUnitEnum=IfcUnitEnum;var IfcUnitaryEquipmentTypeEnum=/*#__PURE__*/_createClass(function IfcUnitaryEquipmentTypeEnum(){_classCallCheck(this,IfcUnitaryEquipmentTypeEnum);});IfcUnitaryEquipmentTypeEnum.AIRHANDLER={type:3,value:"AIRHANDLER"};IfcUnitaryEquipmentTypeEnum.AIRCONDITIONINGUNIT={type:3,value:"AIRCONDITIONINGUNIT"};IfcUnitaryEquipmentTypeEnum.SPLITSYSTEM={type:3,value:"SPLITSYSTEM"};IfcUnitaryEquipmentTypeEnum.ROOFTOPUNIT={type:3,value:"ROOFTOPUNIT"};IfcUnitaryEquipmentTypeEnum.USERDEFINED={type:3,value:"USERDEFINED"};IfcUnitaryEquipmentTypeEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC2X32.IfcUnitaryEquipmentTypeEnum=IfcUnitaryEquipmentTypeEnum;var IfcValveTypeEnum=/*#__PURE__*/_createClass(function IfcValveTypeEnum(){_classCallCheck(this,IfcValveTypeEnum);});IfcValveTypeEnum.AIRRELEASE={type:3,value:"AIRRELEASE"};IfcValveTypeEnum.ANTIVACUUM={type:3,value:"ANTIVACUUM"};IfcValveTypeEnum.CHANGEOVER={type:3,value:"CHANGEOVER"};IfcValveTypeEnum.CHECK={type:3,value:"CHECK"};IfcValveTypeEnum.COMMISSIONING={type:3,value:"COMMISSIONING"};IfcValveTypeEnum.DIVERTING={type:3,value:"DIVERTING"};IfcValveTypeEnum.DRAWOFFCOCK={type:3,value:"DRAWOFFCOCK"};IfcValveTypeEnum.DOUBLECHECK={type:3,value:"DOUBLECHECK"};IfcValveTypeEnum.DOUBLEREGULATING={type:3,value:"DOUBLEREGULATING"};IfcValveTypeEnum.FAUCET={type:3,value:"FAUCET"};IfcValveTypeEnum.FLUSHING={type:3,value:"FLUSHING"};IfcValveTypeEnum.GASCOCK={type:3,value:"GASCOCK"};IfcValveTypeEnum.GASTAP={type:3,value:"GASTAP"};IfcValveTypeEnum.ISOLATING={type:3,value:"ISOLATING"};IfcValveTypeEnum.MIXING={type:3,value:"MIXING"};IfcValveTypeEnum.PRESSUREREDUCING={type:3,value:"PRESSUREREDUCING"};IfcValveTypeEnum.PRESSURERELIEF={type:3,value:"PRESSURERELIEF"};IfcValveTypeEnum.REGULATING={type:3,value:"REGULATING"};IfcValveTypeEnum.SAFETYCUTOFF={type:3,value:"SAFETYCUTOFF"};IfcValveTypeEnum.STEAMTRAP={type:3,value:"STEAMTRAP"};IfcValveTypeEnum.STOPCOCK={type:3,value:"STOPCOCK"};IfcValveTypeEnum.USERDEFINED={type:3,value:"USERDEFINED"};IfcValveTypeEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC2X32.IfcValveTypeEnum=IfcValveTypeEnum;var IfcVibrationIsolatorTypeEnum=/*#__PURE__*/_createClass(function IfcVibrationIsolatorTypeEnum(){_classCallCheck(this,IfcVibrationIsolatorTypeEnum);});IfcVibrationIsolatorTypeEnum.COMPRESSION={type:3,value:"COMPRESSION"};IfcVibrationIsolatorTypeEnum.SPRING={type:3,value:"SPRING"};IfcVibrationIsolatorTypeEnum.USERDEFINED={type:3,value:"USERDEFINED"};IfcVibrationIsolatorTypeEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC2X32.IfcVibrationIsolatorTypeEnum=IfcVibrationIsolatorTypeEnum;var IfcWallTypeEnum=/*#__PURE__*/_createClass(function IfcWallTypeEnum(){_classCallCheck(this,IfcWallTypeEnum);});IfcWallTypeEnum.STANDARD={type:3,value:"STANDARD"};IfcWallTypeEnum.POLYGONAL={type:3,value:"POLYGONAL"};IfcWallTypeEnum.SHEAR={type:3,value:"SHEAR"};IfcWallTypeEnum.ELEMENTEDWALL={type:3,value:"ELEMENTEDWALL"};IfcWallTypeEnum.PLUMBINGWALL={type:3,value:"PLUMBINGWALL"};IfcWallTypeEnum.USERDEFINED={type:3,value:"USERDEFINED"};IfcWallTypeEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC2X32.IfcWallTypeEnum=IfcWallTypeEnum;var IfcWasteTerminalTypeEnum=/*#__PURE__*/_createClass(function IfcWasteTerminalTypeEnum(){_classCallCheck(this,IfcWasteTerminalTypeEnum);});IfcWasteTerminalTypeEnum.FLOORTRAP={type:3,value:"FLOORTRAP"};IfcWasteTerminalTypeEnum.FLOORWASTE={type:3,value:"FLOORWASTE"};IfcWasteTerminalTypeEnum.GULLYSUMP={type:3,value:"GULLYSUMP"};IfcWasteTerminalTypeEnum.GULLYTRAP={type:3,value:"GULLYTRAP"};IfcWasteTerminalTypeEnum.GREASEINTERCEPTOR={type:3,value:"GREASEINTERCEPTOR"};IfcWasteTerminalTypeEnum.OILINTERCEPTOR={type:3,value:"OILINTERCEPTOR"};IfcWasteTerminalTypeEnum.PETROLINTERCEPTOR={type:3,value:"PETROLINTERCEPTOR"};IfcWasteTerminalTypeEnum.ROOFDRAIN={type:3,value:"ROOFDRAIN"};IfcWasteTerminalTypeEnum.WASTEDISPOSALUNIT={type:3,value:"WASTEDISPOSALUNIT"};IfcWasteTerminalTypeEnum.WASTETRAP={type:3,value:"WASTETRAP"};IfcWasteTerminalTypeEnum.USERDEFINED={type:3,value:"USERDEFINED"};IfcWasteTerminalTypeEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC2X32.IfcWasteTerminalTypeEnum=IfcWasteTerminalTypeEnum;var IfcWindowPanelOperationEnum=/*#__PURE__*/_createClass(function IfcWindowPanelOperationEnum(){_classCallCheck(this,IfcWindowPanelOperationEnum);});IfcWindowPanelOperationEnum.SIDEHUNGRIGHTHAND={type:3,value:"SIDEHUNGRIGHTHAND"};IfcWindowPanelOperationEnum.SIDEHUNGLEFTHAND={type:3,value:"SIDEHUNGLEFTHAND"};IfcWindowPanelOperationEnum.TILTANDTURNRIGHTHAND={type:3,value:"TILTANDTURNRIGHTHAND"};IfcWindowPanelOperationEnum.TILTANDTURNLEFTHAND={type:3,value:"TILTANDTURNLEFTHAND"};IfcWindowPanelOperationEnum.TOPHUNG={type:3,value:"TOPHUNG"};IfcWindowPanelOperationEnum.BOTTOMHUNG={type:3,value:"BOTTOMHUNG"};IfcWindowPanelOperationEnum.PIVOTHORIZONTAL={type:3,value:"PIVOTHORIZONTAL"};IfcWindowPanelOperationEnum.PIVOTVERTICAL={type:3,value:"PIVOTVERTICAL"};IfcWindowPanelOperationEnum.SLIDINGHORIZONTAL={type:3,value:"SLIDINGHORIZONTAL"};IfcWindowPanelOperationEnum.SLIDINGVERTICAL={type:3,value:"SLIDINGVERTICAL"};IfcWindowPanelOperationEnum.REMOVABLECASEMENT={type:3,value:"REMOVABLECASEMENT"};IfcWindowPanelOperationEnum.FIXEDCASEMENT={type:3,value:"FIXEDCASEMENT"};IfcWindowPanelOperationEnum.OTHEROPERATION={type:3,value:"OTHEROPERATION"};IfcWindowPanelOperationEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC2X32.IfcWindowPanelOperationEnum=IfcWindowPanelOperationEnum;var IfcWindowPanelPositionEnum=/*#__PURE__*/_createClass(function IfcWindowPanelPositionEnum(){_classCallCheck(this,IfcWindowPanelPositionEnum);});IfcWindowPanelPositionEnum.LEFT={type:3,value:"LEFT"};IfcWindowPanelPositionEnum.MIDDLE={type:3,value:"MIDDLE"};IfcWindowPanelPositionEnum.RIGHT={type:3,value:"RIGHT"};IfcWindowPanelPositionEnum.BOTTOM={type:3,value:"BOTTOM"};IfcWindowPanelPositionEnum.TOP={type:3,value:"TOP"};IfcWindowPanelPositionEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC2X32.IfcWindowPanelPositionEnum=IfcWindowPanelPositionEnum;var IfcWindowStyleConstructionEnum=/*#__PURE__*/_createClass(function IfcWindowStyleConstructionEnum(){_classCallCheck(this,IfcWindowStyleConstructionEnum);});IfcWindowStyleConstructionEnum.ALUMINIUM={type:3,value:"ALUMINIUM"};IfcWindowStyleConstructionEnum.HIGH_GRADE_STEEL={type:3,value:"HIGH_GRADE_STEEL"};IfcWindowStyleConstructionEnum.STEEL={type:3,value:"STEEL"};IfcWindowStyleConstructionEnum.WOOD={type:3,value:"WOOD"};IfcWindowStyleConstructionEnum.ALUMINIUM_WOOD={type:3,value:"ALUMINIUM_WOOD"};IfcWindowStyleConstructionEnum.PLASTIC={type:3,value:"PLASTIC"};IfcWindowStyleConstructionEnum.OTHER_CONSTRUCTION={type:3,value:"OTHER_CONSTRUCTION"};IfcWindowStyleConstructionEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC2X32.IfcWindowStyleConstructionEnum=IfcWindowStyleConstructionEnum;var IfcWindowStyleOperationEnum=/*#__PURE__*/_createClass(function IfcWindowStyleOperationEnum(){_classCallCheck(this,IfcWindowStyleOperationEnum);});IfcWindowStyleOperationEnum.SINGLE_PANEL={type:3,value:"SINGLE_PANEL"};IfcWindowStyleOperationEnum.DOUBLE_PANEL_VERTICAL={type:3,value:"DOUBLE_PANEL_VERTICAL"};IfcWindowStyleOperationEnum.DOUBLE_PANEL_HORIZONTAL={type:3,value:"DOUBLE_PANEL_HORIZONTAL"};IfcWindowStyleOperationEnum.TRIPLE_PANEL_VERTICAL={type:3,value:"TRIPLE_PANEL_VERTICAL"};IfcWindowStyleOperationEnum.TRIPLE_PANEL_BOTTOM={type:3,value:"TRIPLE_PANEL_BOTTOM"};IfcWindowStyleOperationEnum.TRIPLE_PANEL_TOP={type:3,value:"TRIPLE_PANEL_TOP"};IfcWindowStyleOperationEnum.TRIPLE_PANEL_LEFT={type:3,value:"TRIPLE_PANEL_LEFT"};IfcWindowStyleOperationEnum.TRIPLE_PANEL_RIGHT={type:3,value:"TRIPLE_PANEL_RIGHT"};IfcWindowStyleOperationEnum.TRIPLE_PANEL_HORIZONTAL={type:3,value:"TRIPLE_PANEL_HORIZONTAL"};IfcWindowStyleOperationEnum.USERDEFINED={type:3,value:"USERDEFINED"};IfcWindowStyleOperationEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC2X32.IfcWindowStyleOperationEnum=IfcWindowStyleOperationEnum;var IfcWorkControlTypeEnum=/*#__PURE__*/_createClass(function IfcWorkControlTypeEnum(){_classCallCheck(this,IfcWorkControlTypeEnum);});IfcWorkControlTypeEnum.ACTUAL={type:3,value:"ACTUAL"};IfcWorkControlTypeEnum.BASELINE={type:3,value:"BASELINE"};IfcWorkControlTypeEnum.PLANNED={type:3,value:"PLANNED"};IfcWorkControlTypeEnum.USERDEFINED={type:3,value:"USERDEFINED"};IfcWorkControlTypeEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC2X32.IfcWorkControlTypeEnum=IfcWorkControlTypeEnum;var IfcActorRole=/*#__PURE__*/function(_IfcLineObject){_inherits(IfcActorRole,_IfcLineObject);var _super152=_createSuper(IfcActorRole);function IfcActorRole(expressID,Role,UserDefinedRole,Description){var _this155;_classCallCheck(this,IfcActorRole);_this155=_super152.call(this,expressID);_this155.Role=Role;_this155.UserDefinedRole=UserDefinedRole;_this155.Description=Description;_this155.type=3630933823;return _this155;}return _createClass(IfcActorRole);}(IfcLineObject);IFC2X32.IfcActorRole=IfcActorRole;var IfcAddress=/*#__PURE__*/function(_IfcLineObject2){_inherits(IfcAddress,_IfcLineObject2);var _super153=_createSuper(IfcAddress);function IfcAddress(expressID,Purpose,Description,UserDefinedPurpose){var _this156;_classCallCheck(this,IfcAddress);_this156=_super153.call(this,expressID);_this156.Purpose=Purpose;_this156.Description=Description;_this156.UserDefinedPurpose=UserDefinedPurpose;_this156.type=618182010;return _this156;}return _createClass(IfcAddress);}(IfcLineObject);IFC2X32.IfcAddress=IfcAddress;var IfcApplication=/*#__PURE__*/function(_IfcLineObject3){_inherits(IfcApplication,_IfcLineObject3);var _super154=_createSuper(IfcApplication);function IfcApplication(expressID,ApplicationDeveloper,Version,ApplicationFullName,ApplicationIdentifier){var _this157;_classCallCheck(this,IfcApplication);_this157=_super154.call(this,expressID);_this157.ApplicationDeveloper=ApplicationDeveloper;_this157.Version=Version;_this157.ApplicationFullName=ApplicationFullName;_this157.ApplicationIdentifier=ApplicationIdentifier;_this157.type=639542469;return _this157;}return _createClass(IfcApplication);}(IfcLineObject);IFC2X32.IfcApplication=IfcApplication;var IfcAppliedValue=/*#__PURE__*/function(_IfcLineObject4){_inherits(IfcAppliedValue,_IfcLineObject4);var _super155=_createSuper(IfcAppliedValue);function IfcAppliedValue(expressID,Name,Description,AppliedValue,UnitBasis,ApplicableDate,FixedUntilDate){var _this158;_classCallCheck(this,IfcAppliedValue);_this158=_super155.call(this,expressID);_this158.Name=Name;_this158.Description=Description;_this158.AppliedValue=AppliedValue;_this158.UnitBasis=UnitBasis;_this158.ApplicableDate=ApplicableDate;_this158.FixedUntilDate=FixedUntilDate;_this158.type=411424972;return _this158;}return _createClass(IfcAppliedValue);}(IfcLineObject);IFC2X32.IfcAppliedValue=IfcAppliedValue;var IfcAppliedValueRelationship=/*#__PURE__*/function(_IfcLineObject5){_inherits(IfcAppliedValueRelationship,_IfcLineObject5);var _super156=_createSuper(IfcAppliedValueRelationship);function IfcAppliedValueRelationship(expressID,ComponentOfTotal,Components,ArithmeticOperator,Name,Description){var _this159;_classCallCheck(this,IfcAppliedValueRelationship);_this159=_super156.call(this,expressID);_this159.ComponentOfTotal=ComponentOfTotal;_this159.Components=Components;_this159.ArithmeticOperator=ArithmeticOperator;_this159.Name=Name;_this159.Description=Description;_this159.type=1110488051;return _this159;}return _createClass(IfcAppliedValueRelationship);}(IfcLineObject);IFC2X32.IfcAppliedValueRelationship=IfcAppliedValueRelationship;var IfcApproval=/*#__PURE__*/function(_IfcLineObject6){_inherits(IfcApproval,_IfcLineObject6);var _super157=_createSuper(IfcApproval);function IfcApproval(expressID,Description,ApprovalDateTime,ApprovalStatus,ApprovalLevel,ApprovalQualifier,Name,Identifier){var _this160;_classCallCheck(this,IfcApproval);_this160=_super157.call(this,expressID);_this160.Description=Description;_this160.ApprovalDateTime=ApprovalDateTime;_this160.ApprovalStatus=ApprovalStatus;_this160.ApprovalLevel=ApprovalLevel;_this160.ApprovalQualifier=ApprovalQualifier;_this160.Name=Name;_this160.Identifier=Identifier;_this160.type=130549933;return _this160;}return _createClass(IfcApproval);}(IfcLineObject);IFC2X32.IfcApproval=IfcApproval;var IfcApprovalActorRelationship=/*#__PURE__*/function(_IfcLineObject7){_inherits(IfcApprovalActorRelationship,_IfcLineObject7);var _super158=_createSuper(IfcApprovalActorRelationship);function IfcApprovalActorRelationship(expressID,Actor,Approval,Role){var _this161;_classCallCheck(this,IfcApprovalActorRelationship);_this161=_super158.call(this,expressID);_this161.Actor=Actor;_this161.Approval=Approval;_this161.Role=Role;_this161.type=2080292479;return _this161;}return _createClass(IfcApprovalActorRelationship);}(IfcLineObject);IFC2X32.IfcApprovalActorRelationship=IfcApprovalActorRelationship;var IfcApprovalPropertyRelationship=/*#__PURE__*/function(_IfcLineObject8){_inherits(IfcApprovalPropertyRelationship,_IfcLineObject8);var _super159=_createSuper(IfcApprovalPropertyRelationship);function IfcApprovalPropertyRelationship(expressID,ApprovedProperties,Approval){var _this162;_classCallCheck(this,IfcApprovalPropertyRelationship);_this162=_super159.call(this,expressID);_this162.ApprovedProperties=ApprovedProperties;_this162.Approval=Approval;_this162.type=390851274;return _this162;}return _createClass(IfcApprovalPropertyRelationship);}(IfcLineObject);IFC2X32.IfcApprovalPropertyRelationship=IfcApprovalPropertyRelationship;var IfcApprovalRelationship=/*#__PURE__*/function(_IfcLineObject9){_inherits(IfcApprovalRelationship,_IfcLineObject9);var _super160=_createSuper(IfcApprovalRelationship);function IfcApprovalRelationship(expressID,RelatedApproval,RelatingApproval,Description,Name){var _this163;_classCallCheck(this,IfcApprovalRelationship);_this163=_super160.call(this,expressID);_this163.RelatedApproval=RelatedApproval;_this163.RelatingApproval=RelatingApproval;_this163.Description=Description;_this163.Name=Name;_this163.type=3869604511;return _this163;}return _createClass(IfcApprovalRelationship);}(IfcLineObject);IFC2X32.IfcApprovalRelationship=IfcApprovalRelationship;var IfcBoundaryCondition=/*#__PURE__*/function(_IfcLineObject10){_inherits(IfcBoundaryCondition,_IfcLineObject10);var _super161=_createSuper(IfcBoundaryCondition);function IfcBoundaryCondition(expressID,Name){var _this164;_classCallCheck(this,IfcBoundaryCondition);_this164=_super161.call(this,expressID);_this164.Name=Name;_this164.type=4037036970;return _this164;}return _createClass(IfcBoundaryCondition);}(IfcLineObject);IFC2X32.IfcBoundaryCondition=IfcBoundaryCondition;var IfcBoundaryEdgeCondition=/*#__PURE__*/function(_IfcBoundaryCondition){_inherits(IfcBoundaryEdgeCondition,_IfcBoundaryCondition);var _super162=_createSuper(IfcBoundaryEdgeCondition);function IfcBoundaryEdgeCondition(expressID,Name,LinearStiffnessByLengthX,LinearStiffnessByLengthY,LinearStiffnessByLengthZ,RotationalStiffnessByLengthX,RotationalStiffnessByLengthY,RotationalStiffnessByLengthZ){var _this165;_classCallCheck(this,IfcBoundaryEdgeCondition);_this165=_super162.call(this,expressID,Name);_this165.Name=Name;_this165.LinearStiffnessByLengthX=LinearStiffnessByLengthX;_this165.LinearStiffnessByLengthY=LinearStiffnessByLengthY;_this165.LinearStiffnessByLengthZ=LinearStiffnessByLengthZ;_this165.RotationalStiffnessByLengthX=RotationalStiffnessByLengthX;_this165.RotationalStiffnessByLengthY=RotationalStiffnessByLengthY;_this165.RotationalStiffnessByLengthZ=RotationalStiffnessByLengthZ;_this165.type=1560379544;return _this165;}return _createClass(IfcBoundaryEdgeCondition);}(IfcBoundaryCondition);IFC2X32.IfcBoundaryEdgeCondition=IfcBoundaryEdgeCondition;var IfcBoundaryFaceCondition=/*#__PURE__*/function(_IfcBoundaryCondition2){_inherits(IfcBoundaryFaceCondition,_IfcBoundaryCondition2);var _super163=_createSuper(IfcBoundaryFaceCondition);function IfcBoundaryFaceCondition(expressID,Name,LinearStiffnessByAreaX,LinearStiffnessByAreaY,LinearStiffnessByAreaZ){var _this166;_classCallCheck(this,IfcBoundaryFaceCondition);_this166=_super163.call(this,expressID,Name);_this166.Name=Name;_this166.LinearStiffnessByAreaX=LinearStiffnessByAreaX;_this166.LinearStiffnessByAreaY=LinearStiffnessByAreaY;_this166.LinearStiffnessByAreaZ=LinearStiffnessByAreaZ;_this166.type=3367102660;return _this166;}return _createClass(IfcBoundaryFaceCondition);}(IfcBoundaryCondition);IFC2X32.IfcBoundaryFaceCondition=IfcBoundaryFaceCondition;var IfcBoundaryNodeCondition=/*#__PURE__*/function(_IfcBoundaryCondition3){_inherits(IfcBoundaryNodeCondition,_IfcBoundaryCondition3);var _super164=_createSuper(IfcBoundaryNodeCondition);function IfcBoundaryNodeCondition(expressID,Name,LinearStiffnessX,LinearStiffnessY,LinearStiffnessZ,RotationalStiffnessX,RotationalStiffnessY,RotationalStiffnessZ){var _this167;_classCallCheck(this,IfcBoundaryNodeCondition);_this167=_super164.call(this,expressID,Name);_this167.Name=Name;_this167.LinearStiffnessX=LinearStiffnessX;_this167.LinearStiffnessY=LinearStiffnessY;_this167.LinearStiffnessZ=LinearStiffnessZ;_this167.RotationalStiffnessX=RotationalStiffnessX;_this167.RotationalStiffnessY=RotationalStiffnessY;_this167.RotationalStiffnessZ=RotationalStiffnessZ;_this167.type=1387855156;return _this167;}return _createClass(IfcBoundaryNodeCondition);}(IfcBoundaryCondition);IFC2X32.IfcBoundaryNodeCondition=IfcBoundaryNodeCondition;var IfcBoundaryNodeConditionWarping=/*#__PURE__*/function(_IfcBoundaryNodeCondi){_inherits(IfcBoundaryNodeConditionWarping,_IfcBoundaryNodeCondi);var _super165=_createSuper(IfcBoundaryNodeConditionWarping);function IfcBoundaryNodeConditionWarping(expressID,Name,LinearStiffnessX,LinearStiffnessY,LinearStiffnessZ,RotationalStiffnessX,RotationalStiffnessY,RotationalStiffnessZ,WarpingStiffness){var _this168;_classCallCheck(this,IfcBoundaryNodeConditionWarping);_this168=_super165.call(this,expressID,Name,LinearStiffnessX,LinearStiffnessY,LinearStiffnessZ,RotationalStiffnessX,RotationalStiffnessY,RotationalStiffnessZ);_this168.Name=Name;_this168.LinearStiffnessX=LinearStiffnessX;_this168.LinearStiffnessY=LinearStiffnessY;_this168.LinearStiffnessZ=LinearStiffnessZ;_this168.RotationalStiffnessX=RotationalStiffnessX;_this168.RotationalStiffnessY=RotationalStiffnessY;_this168.RotationalStiffnessZ=RotationalStiffnessZ;_this168.WarpingStiffness=WarpingStiffness;_this168.type=2069777674;return _this168;}return _createClass(IfcBoundaryNodeConditionWarping);}(IfcBoundaryNodeCondition);IFC2X32.IfcBoundaryNodeConditionWarping=IfcBoundaryNodeConditionWarping;var IfcCalendarDate=/*#__PURE__*/function(_IfcLineObject11){_inherits(IfcCalendarDate,_IfcLineObject11);var _super166=_createSuper(IfcCalendarDate);function IfcCalendarDate(expressID,DayComponent,MonthComponent,YearComponent){var _this169;_classCallCheck(this,IfcCalendarDate);_this169=_super166.call(this,expressID);_this169.DayComponent=DayComponent;_this169.MonthComponent=MonthComponent;_this169.YearComponent=YearComponent;_this169.type=622194075;return _this169;}return _createClass(IfcCalendarDate);}(IfcLineObject);IFC2X32.IfcCalendarDate=IfcCalendarDate;var IfcClassification=/*#__PURE__*/function(_IfcLineObject12){_inherits(IfcClassification,_IfcLineObject12);var _super167=_createSuper(IfcClassification);function IfcClassification(expressID,Source,Edition,EditionDate,Name){var _this170;_classCallCheck(this,IfcClassification);_this170=_super167.call(this,expressID);_this170.Source=Source;_this170.Edition=Edition;_this170.EditionDate=EditionDate;_this170.Name=Name;_this170.type=747523909;return _this170;}return _createClass(IfcClassification);}(IfcLineObject);IFC2X32.IfcClassification=IfcClassification;var IfcClassificationItem=/*#__PURE__*/function(_IfcLineObject13){_inherits(IfcClassificationItem,_IfcLineObject13);var _super168=_createSuper(IfcClassificationItem);function IfcClassificationItem(expressID,Notation,ItemOf,Title){var _this171;_classCallCheck(this,IfcClassificationItem);_this171=_super168.call(this,expressID);_this171.Notation=Notation;_this171.ItemOf=ItemOf;_this171.Title=Title;_this171.type=1767535486;return _this171;}return _createClass(IfcClassificationItem);}(IfcLineObject);IFC2X32.IfcClassificationItem=IfcClassificationItem;var IfcClassificationItemRelationship=/*#__PURE__*/function(_IfcLineObject14){_inherits(IfcClassificationItemRelationship,_IfcLineObject14);var _super169=_createSuper(IfcClassificationItemRelationship);function IfcClassificationItemRelationship(expressID,RelatingItem,RelatedItems){var _this172;_classCallCheck(this,IfcClassificationItemRelationship);_this172=_super169.call(this,expressID);_this172.RelatingItem=RelatingItem;_this172.RelatedItems=RelatedItems;_this172.type=1098599126;return _this172;}return _createClass(IfcClassificationItemRelationship);}(IfcLineObject);IFC2X32.IfcClassificationItemRelationship=IfcClassificationItemRelationship;var IfcClassificationNotation=/*#__PURE__*/function(_IfcLineObject15){_inherits(IfcClassificationNotation,_IfcLineObject15);var _super170=_createSuper(IfcClassificationNotation);function IfcClassificationNotation(expressID,NotationFacets){var _this173;_classCallCheck(this,IfcClassificationNotation);_this173=_super170.call(this,expressID);_this173.NotationFacets=NotationFacets;_this173.type=938368621;return _this173;}return _createClass(IfcClassificationNotation);}(IfcLineObject);IFC2X32.IfcClassificationNotation=IfcClassificationNotation;var IfcClassificationNotationFacet=/*#__PURE__*/function(_IfcLineObject16){_inherits(IfcClassificationNotationFacet,_IfcLineObject16);var _super171=_createSuper(IfcClassificationNotationFacet);function IfcClassificationNotationFacet(expressID,NotationValue){var _this174;_classCallCheck(this,IfcClassificationNotationFacet);_this174=_super171.call(this,expressID);_this174.NotationValue=NotationValue;_this174.type=3639012971;return _this174;}return _createClass(IfcClassificationNotationFacet);}(IfcLineObject);IFC2X32.IfcClassificationNotationFacet=IfcClassificationNotationFacet;var IfcColourSpecification=/*#__PURE__*/function(_IfcLineObject17){_inherits(IfcColourSpecification,_IfcLineObject17);var _super172=_createSuper(IfcColourSpecification);function IfcColourSpecification(expressID,Name){var _this175;_classCallCheck(this,IfcColourSpecification);_this175=_super172.call(this,expressID);_this175.Name=Name;_this175.type=3264961684;return _this175;}return _createClass(IfcColourSpecification);}(IfcLineObject);IFC2X32.IfcColourSpecification=IfcColourSpecification;var IfcConnectionGeometry=/*#__PURE__*/function(_IfcLineObject18){_inherits(IfcConnectionGeometry,_IfcLineObject18);var _super173=_createSuper(IfcConnectionGeometry);function IfcConnectionGeometry(expressID){var _this176;_classCallCheck(this,IfcConnectionGeometry);_this176=_super173.call(this,expressID);_this176.type=2859738748;return _this176;}return _createClass(IfcConnectionGeometry);}(IfcLineObject);IFC2X32.IfcConnectionGeometry=IfcConnectionGeometry;var IfcConnectionPointGeometry=/*#__PURE__*/function(_IfcConnectionGeometr){_inherits(IfcConnectionPointGeometry,_IfcConnectionGeometr);var _super174=_createSuper(IfcConnectionPointGeometry);function IfcConnectionPointGeometry(expressID,PointOnRelatingElement,PointOnRelatedElement){var _this177;_classCallCheck(this,IfcConnectionPointGeometry);_this177=_super174.call(this,expressID);_this177.PointOnRelatingElement=PointOnRelatingElement;_this177.PointOnRelatedElement=PointOnRelatedElement;_this177.type=2614616156;return _this177;}return _createClass(IfcConnectionPointGeometry);}(IfcConnectionGeometry);IFC2X32.IfcConnectionPointGeometry=IfcConnectionPointGeometry;var IfcConnectionPortGeometry=/*#__PURE__*/function(_IfcConnectionGeometr2){_inherits(IfcConnectionPortGeometry,_IfcConnectionGeometr2);var _super175=_createSuper(IfcConnectionPortGeometry);function IfcConnectionPortGeometry(expressID,LocationAtRelatingElement,LocationAtRelatedElement,ProfileOfPort){var _this178;_classCallCheck(this,IfcConnectionPortGeometry);_this178=_super175.call(this,expressID);_this178.LocationAtRelatingElement=LocationAtRelatingElement;_this178.LocationAtRelatedElement=LocationAtRelatedElement;_this178.ProfileOfPort=ProfileOfPort;_this178.type=4257277454;return _this178;}return _createClass(IfcConnectionPortGeometry);}(IfcConnectionGeometry);IFC2X32.IfcConnectionPortGeometry=IfcConnectionPortGeometry;var IfcConnectionSurfaceGeometry=/*#__PURE__*/function(_IfcConnectionGeometr3){_inherits(IfcConnectionSurfaceGeometry,_IfcConnectionGeometr3);var _super176=_createSuper(IfcConnectionSurfaceGeometry);function IfcConnectionSurfaceGeometry(expressID,SurfaceOnRelatingElement,SurfaceOnRelatedElement){var _this179;_classCallCheck(this,IfcConnectionSurfaceGeometry);_this179=_super176.call(this,expressID);_this179.SurfaceOnRelatingElement=SurfaceOnRelatingElement;_this179.SurfaceOnRelatedElement=SurfaceOnRelatedElement;_this179.type=2732653382;return _this179;}return _createClass(IfcConnectionSurfaceGeometry);}(IfcConnectionGeometry);IFC2X32.IfcConnectionSurfaceGeometry=IfcConnectionSurfaceGeometry;var IfcConstraint=/*#__PURE__*/function(_IfcLineObject19){_inherits(IfcConstraint,_IfcLineObject19);var _super177=_createSuper(IfcConstraint);function IfcConstraint(expressID,Name,Description,ConstraintGrade,ConstraintSource,CreatingActor,CreationTime,UserDefinedGrade){var _this180;_classCallCheck(this,IfcConstraint);_this180=_super177.call(this,expressID);_this180.Name=Name;_this180.Description=Description;_this180.ConstraintGrade=ConstraintGrade;_this180.ConstraintSource=ConstraintSource;_this180.CreatingActor=CreatingActor;_this180.CreationTime=CreationTime;_this180.UserDefinedGrade=UserDefinedGrade;_this180.type=1959218052;return _this180;}return _createClass(IfcConstraint);}(IfcLineObject);IFC2X32.IfcConstraint=IfcConstraint;var IfcConstraintAggregationRelationship=/*#__PURE__*/function(_IfcLineObject20){_inherits(IfcConstraintAggregationRelationship,_IfcLineObject20);var _super178=_createSuper(IfcConstraintAggregationRelationship);function IfcConstraintAggregationRelationship(expressID,Name,Description,RelatingConstraint,RelatedConstraints,LogicalAggregator){var _this181;_classCallCheck(this,IfcConstraintAggregationRelationship);_this181=_super178.call(this,expressID);_this181.Name=Name;_this181.Description=Description;_this181.RelatingConstraint=RelatingConstraint;_this181.RelatedConstraints=RelatedConstraints;_this181.LogicalAggregator=LogicalAggregator;_this181.type=1658513725;return _this181;}return _createClass(IfcConstraintAggregationRelationship);}(IfcLineObject);IFC2X32.IfcConstraintAggregationRelationship=IfcConstraintAggregationRelationship;var IfcConstraintClassificationRelationship=/*#__PURE__*/function(_IfcLineObject21){_inherits(IfcConstraintClassificationRelationship,_IfcLineObject21);var _super179=_createSuper(IfcConstraintClassificationRelationship);function IfcConstraintClassificationRelationship(expressID,ClassifiedConstraint,RelatedClassifications){var _this182;_classCallCheck(this,IfcConstraintClassificationRelationship);_this182=_super179.call(this,expressID);_this182.ClassifiedConstraint=ClassifiedConstraint;_this182.RelatedClassifications=RelatedClassifications;_this182.type=613356794;return _this182;}return _createClass(IfcConstraintClassificationRelationship);}(IfcLineObject);IFC2X32.IfcConstraintClassificationRelationship=IfcConstraintClassificationRelationship;var IfcConstraintRelationship=/*#__PURE__*/function(_IfcLineObject22){_inherits(IfcConstraintRelationship,_IfcLineObject22);var _super180=_createSuper(IfcConstraintRelationship);function IfcConstraintRelationship(expressID,Name,Description,RelatingConstraint,RelatedConstraints){var _this183;_classCallCheck(this,IfcConstraintRelationship);_this183=_super180.call(this,expressID);_this183.Name=Name;_this183.Description=Description;_this183.RelatingConstraint=RelatingConstraint;_this183.RelatedConstraints=RelatedConstraints;_this183.type=347226245;return _this183;}return _createClass(IfcConstraintRelationship);}(IfcLineObject);IFC2X32.IfcConstraintRelationship=IfcConstraintRelationship;var IfcCoordinatedUniversalTimeOffset=/*#__PURE__*/function(_IfcLineObject23){_inherits(IfcCoordinatedUniversalTimeOffset,_IfcLineObject23);var _super181=_createSuper(IfcCoordinatedUniversalTimeOffset);function IfcCoordinatedUniversalTimeOffset(expressID,HourOffset,MinuteOffset,Sense){var _this184;_classCallCheck(this,IfcCoordinatedUniversalTimeOffset);_this184=_super181.call(this,expressID);_this184.HourOffset=HourOffset;_this184.MinuteOffset=MinuteOffset;_this184.Sense=Sense;_this184.type=1065062679;return _this184;}return _createClass(IfcCoordinatedUniversalTimeOffset);}(IfcLineObject);IFC2X32.IfcCoordinatedUniversalTimeOffset=IfcCoordinatedUniversalTimeOffset;var IfcCostValue=/*#__PURE__*/function(_IfcAppliedValue){_inherits(IfcCostValue,_IfcAppliedValue);var _super182=_createSuper(IfcCostValue);function IfcCostValue(expressID,Name,Description,AppliedValue,UnitBasis,ApplicableDate,FixedUntilDate,CostType,Condition){var _this185;_classCallCheck(this,IfcCostValue);_this185=_super182.call(this,expressID,Name,Description,AppliedValue,UnitBasis,ApplicableDate,FixedUntilDate);_this185.Name=Name;_this185.Description=Description;_this185.AppliedValue=AppliedValue;_this185.UnitBasis=UnitBasis;_this185.ApplicableDate=ApplicableDate;_this185.FixedUntilDate=FixedUntilDate;_this185.CostType=CostType;_this185.Condition=Condition;_this185.type=602808272;return _this185;}return _createClass(IfcCostValue);}(IfcAppliedValue);IFC2X32.IfcCostValue=IfcCostValue;var IfcCurrencyRelationship=/*#__PURE__*/function(_IfcLineObject24){_inherits(IfcCurrencyRelationship,_IfcLineObject24);var _super183=_createSuper(IfcCurrencyRelationship);function IfcCurrencyRelationship(expressID,RelatingMonetaryUnit,RelatedMonetaryUnit,ExchangeRate,RateDateTime,RateSource){var _this186;_classCallCheck(this,IfcCurrencyRelationship);_this186=_super183.call(this,expressID);_this186.RelatingMonetaryUnit=RelatingMonetaryUnit;_this186.RelatedMonetaryUnit=RelatedMonetaryUnit;_this186.ExchangeRate=ExchangeRate;_this186.RateDateTime=RateDateTime;_this186.RateSource=RateSource;_this186.type=539742890;return _this186;}return _createClass(IfcCurrencyRelationship);}(IfcLineObject);IFC2X32.IfcCurrencyRelationship=IfcCurrencyRelationship;var IfcCurveStyleFont=/*#__PURE__*/function(_IfcLineObject25){_inherits(IfcCurveStyleFont,_IfcLineObject25);var _super184=_createSuper(IfcCurveStyleFont);function IfcCurveStyleFont(expressID,Name,PatternList){var _this187;_classCallCheck(this,IfcCurveStyleFont);_this187=_super184.call(this,expressID);_this187.Name=Name;_this187.PatternList=PatternList;_this187.type=1105321065;return _this187;}return _createClass(IfcCurveStyleFont);}(IfcLineObject);IFC2X32.IfcCurveStyleFont=IfcCurveStyleFont;var IfcCurveStyleFontAndScaling=/*#__PURE__*/function(_IfcLineObject26){_inherits(IfcCurveStyleFontAndScaling,_IfcLineObject26);var _super185=_createSuper(IfcCurveStyleFontAndScaling);function IfcCurveStyleFontAndScaling(expressID,Name,CurveFont,CurveFontScaling){var _this188;_classCallCheck(this,IfcCurveStyleFontAndScaling);_this188=_super185.call(this,expressID);_this188.Name=Name;_this188.CurveFont=CurveFont;_this188.CurveFontScaling=CurveFontScaling;_this188.type=2367409068;return _this188;}return _createClass(IfcCurveStyleFontAndScaling);}(IfcLineObject);IFC2X32.IfcCurveStyleFontAndScaling=IfcCurveStyleFontAndScaling;var IfcCurveStyleFontPattern=/*#__PURE__*/function(_IfcLineObject27){_inherits(IfcCurveStyleFontPattern,_IfcLineObject27);var _super186=_createSuper(IfcCurveStyleFontPattern);function IfcCurveStyleFontPattern(expressID,VisibleSegmentLength,InvisibleSegmentLength){var _this189;_classCallCheck(this,IfcCurveStyleFontPattern);_this189=_super186.call(this,expressID);_this189.VisibleSegmentLength=VisibleSegmentLength;_this189.InvisibleSegmentLength=InvisibleSegmentLength;_this189.type=3510044353;return _this189;}return _createClass(IfcCurveStyleFontPattern);}(IfcLineObject);IFC2X32.IfcCurveStyleFontPattern=IfcCurveStyleFontPattern;var IfcDateAndTime=/*#__PURE__*/function(_IfcLineObject28){_inherits(IfcDateAndTime,_IfcLineObject28);var _super187=_createSuper(IfcDateAndTime);function IfcDateAndTime(expressID,DateComponent,TimeComponent){var _this190;_classCallCheck(this,IfcDateAndTime);_this190=_super187.call(this,expressID);_this190.DateComponent=DateComponent;_this190.TimeComponent=TimeComponent;_this190.type=1072939445;return _this190;}return _createClass(IfcDateAndTime);}(IfcLineObject);IFC2X32.IfcDateAndTime=IfcDateAndTime;var IfcDerivedUnit=/*#__PURE__*/function(_IfcLineObject29){_inherits(IfcDerivedUnit,_IfcLineObject29);var _super188=_createSuper(IfcDerivedUnit);function IfcDerivedUnit(expressID,Elements,UnitType,UserDefinedType){var _this191;_classCallCheck(this,IfcDerivedUnit);_this191=_super188.call(this,expressID);_this191.Elements=Elements;_this191.UnitType=UnitType;_this191.UserDefinedType=UserDefinedType;_this191.type=1765591967;return _this191;}return _createClass(IfcDerivedUnit);}(IfcLineObject);IFC2X32.IfcDerivedUnit=IfcDerivedUnit;var IfcDerivedUnitElement=/*#__PURE__*/function(_IfcLineObject30){_inherits(IfcDerivedUnitElement,_IfcLineObject30);var _super189=_createSuper(IfcDerivedUnitElement);function IfcDerivedUnitElement(expressID,Unit,Exponent){var _this192;_classCallCheck(this,IfcDerivedUnitElement);_this192=_super189.call(this,expressID);_this192.Unit=Unit;_this192.Exponent=Exponent;_this192.type=1045800335;return _this192;}return _createClass(IfcDerivedUnitElement);}(IfcLineObject);IFC2X32.IfcDerivedUnitElement=IfcDerivedUnitElement;var IfcDimensionalExponents=/*#__PURE__*/function(_IfcLineObject31){_inherits(IfcDimensionalExponents,_IfcLineObject31);var _super190=_createSuper(IfcDimensionalExponents);function IfcDimensionalExponents(expressID,LengthExponent,MassExponent,TimeExponent,ElectricCurrentExponent,ThermodynamicTemperatureExponent,AmountOfSubstanceExponent,LuminousIntensityExponent){var _this193;_classCallCheck(this,IfcDimensionalExponents);_this193=_super190.call(this,expressID);_this193.LengthExponent=LengthExponent;_this193.MassExponent=MassExponent;_this193.TimeExponent=TimeExponent;_this193.ElectricCurrentExponent=ElectricCurrentExponent;_this193.ThermodynamicTemperatureExponent=ThermodynamicTemperatureExponent;_this193.AmountOfSubstanceExponent=AmountOfSubstanceExponent;_this193.LuminousIntensityExponent=LuminousIntensityExponent;_this193.type=2949456006;return _this193;}return _createClass(IfcDimensionalExponents);}(IfcLineObject);IFC2X32.IfcDimensionalExponents=IfcDimensionalExponents;var IfcDocumentElectronicFormat=/*#__PURE__*/function(_IfcLineObject32){_inherits(IfcDocumentElectronicFormat,_IfcLineObject32);var _super191=_createSuper(IfcDocumentElectronicFormat);function IfcDocumentElectronicFormat(expressID,FileExtension,MimeContentType,MimeSubtype){var _this194;_classCallCheck(this,IfcDocumentElectronicFormat);_this194=_super191.call(this,expressID);_this194.FileExtension=FileExtension;_this194.MimeContentType=MimeContentType;_this194.MimeSubtype=MimeSubtype;_this194.type=1376555844;return _this194;}return _createClass(IfcDocumentElectronicFormat);}(IfcLineObject);IFC2X32.IfcDocumentElectronicFormat=IfcDocumentElectronicFormat;var IfcDocumentInformation=/*#__PURE__*/function(_IfcLineObject33){_inherits(IfcDocumentInformation,_IfcLineObject33);var _super192=_createSuper(IfcDocumentInformation);function IfcDocumentInformation(expressID,DocumentId,Name,Description,DocumentReferences,Purpose,IntendedUse,Scope,Revision,DocumentOwner,Editors,CreationTime,LastRevisionTime,ElectronicFormat,ValidFrom,ValidUntil,Confidentiality,Status){var _this195;_classCallCheck(this,IfcDocumentInformation);_this195=_super192.call(this,expressID);_this195.DocumentId=DocumentId;_this195.Name=Name;_this195.Description=Description;_this195.DocumentReferences=DocumentReferences;_this195.Purpose=Purpose;_this195.IntendedUse=IntendedUse;_this195.Scope=Scope;_this195.Revision=Revision;_this195.DocumentOwner=DocumentOwner;_this195.Editors=Editors;_this195.CreationTime=CreationTime;_this195.LastRevisionTime=LastRevisionTime;_this195.ElectronicFormat=ElectronicFormat;_this195.ValidFrom=ValidFrom;_this195.ValidUntil=ValidUntil;_this195.Confidentiality=Confidentiality;_this195.Status=Status;_this195.type=1154170062;return _this195;}return _createClass(IfcDocumentInformation);}(IfcLineObject);IFC2X32.IfcDocumentInformation=IfcDocumentInformation;var IfcDocumentInformationRelationship=/*#__PURE__*/function(_IfcLineObject34){_inherits(IfcDocumentInformationRelationship,_IfcLineObject34);var _super193=_createSuper(IfcDocumentInformationRelationship);function IfcDocumentInformationRelationship(expressID,RelatingDocument,RelatedDocuments,RelationshipType){var _this196;_classCallCheck(this,IfcDocumentInformationRelationship);_this196=_super193.call(this,expressID);_this196.RelatingDocument=RelatingDocument;_this196.RelatedDocuments=RelatedDocuments;_this196.RelationshipType=RelationshipType;_this196.type=770865208;return _this196;}return _createClass(IfcDocumentInformationRelationship);}(IfcLineObject);IFC2X32.IfcDocumentInformationRelationship=IfcDocumentInformationRelationship;var IfcDraughtingCalloutRelationship=/*#__PURE__*/function(_IfcLineObject35){_inherits(IfcDraughtingCalloutRelationship,_IfcLineObject35);var _super194=_createSuper(IfcDraughtingCalloutRelationship);function IfcDraughtingCalloutRelationship(expressID,Name,Description,RelatingDraughtingCallout,RelatedDraughtingCallout){var _this197;_classCallCheck(this,IfcDraughtingCalloutRelationship);_this197=_super194.call(this,expressID);_this197.Name=Name;_this197.Description=Description;_this197.RelatingDraughtingCallout=RelatingDraughtingCallout;_this197.RelatedDraughtingCallout=RelatedDraughtingCallout;_this197.type=3796139169;return _this197;}return _createClass(IfcDraughtingCalloutRelationship);}(IfcLineObject);IFC2X32.IfcDraughtingCalloutRelationship=IfcDraughtingCalloutRelationship;var IfcEnvironmentalImpactValue=/*#__PURE__*/function(_IfcAppliedValue2){_inherits(IfcEnvironmentalImpactValue,_IfcAppliedValue2);var _super195=_createSuper(IfcEnvironmentalImpactValue);function IfcEnvironmentalImpactValue(expressID,Name,Description,AppliedValue,UnitBasis,ApplicableDate,FixedUntilDate,ImpactType,Category,UserDefinedCategory){var _this198;_classCallCheck(this,IfcEnvironmentalImpactValue);_this198=_super195.call(this,expressID,Name,Description,AppliedValue,UnitBasis,ApplicableDate,FixedUntilDate);_this198.Name=Name;_this198.Description=Description;_this198.AppliedValue=AppliedValue;_this198.UnitBasis=UnitBasis;_this198.ApplicableDate=ApplicableDate;_this198.FixedUntilDate=FixedUntilDate;_this198.ImpactType=ImpactType;_this198.Category=Category;_this198.UserDefinedCategory=UserDefinedCategory;_this198.type=1648886627;return _this198;}return _createClass(IfcEnvironmentalImpactValue);}(IfcAppliedValue);IFC2X32.IfcEnvironmentalImpactValue=IfcEnvironmentalImpactValue;var IfcExternalReference=/*#__PURE__*/function(_IfcLineObject36){_inherits(IfcExternalReference,_IfcLineObject36);var _super196=_createSuper(IfcExternalReference);function IfcExternalReference(expressID,Location,ItemReference,Name){var _this199;_classCallCheck(this,IfcExternalReference);_this199=_super196.call(this,expressID);_this199.Location=Location;_this199.ItemReference=ItemReference;_this199.Name=Name;_this199.type=3200245327;return _this199;}return _createClass(IfcExternalReference);}(IfcLineObject);IFC2X32.IfcExternalReference=IfcExternalReference;var IfcExternallyDefinedHatchStyle=/*#__PURE__*/function(_IfcExternalReference){_inherits(IfcExternallyDefinedHatchStyle,_IfcExternalReference);var _super197=_createSuper(IfcExternallyDefinedHatchStyle);function IfcExternallyDefinedHatchStyle(expressID,Location,ItemReference,Name){var _this200;_classCallCheck(this,IfcExternallyDefinedHatchStyle);_this200=_super197.call(this,expressID,Location,ItemReference,Name);_this200.Location=Location;_this200.ItemReference=ItemReference;_this200.Name=Name;_this200.type=2242383968;return _this200;}return _createClass(IfcExternallyDefinedHatchStyle);}(IfcExternalReference);IFC2X32.IfcExternallyDefinedHatchStyle=IfcExternallyDefinedHatchStyle;var IfcExternallyDefinedSurfaceStyle=/*#__PURE__*/function(_IfcExternalReference2){_inherits(IfcExternallyDefinedSurfaceStyle,_IfcExternalReference2);var _super198=_createSuper(IfcExternallyDefinedSurfaceStyle);function IfcExternallyDefinedSurfaceStyle(expressID,Location,ItemReference,Name){var _this201;_classCallCheck(this,IfcExternallyDefinedSurfaceStyle);_this201=_super198.call(this,expressID,Location,ItemReference,Name);_this201.Location=Location;_this201.ItemReference=ItemReference;_this201.Name=Name;_this201.type=1040185647;return _this201;}return _createClass(IfcExternallyDefinedSurfaceStyle);}(IfcExternalReference);IFC2X32.IfcExternallyDefinedSurfaceStyle=IfcExternallyDefinedSurfaceStyle;var IfcExternallyDefinedSymbol=/*#__PURE__*/function(_IfcExternalReference3){_inherits(IfcExternallyDefinedSymbol,_IfcExternalReference3);var _super199=_createSuper(IfcExternallyDefinedSymbol);function IfcExternallyDefinedSymbol(expressID,Location,ItemReference,Name){var _this202;_classCallCheck(this,IfcExternallyDefinedSymbol);_this202=_super199.call(this,expressID,Location,ItemReference,Name);_this202.Location=Location;_this202.ItemReference=ItemReference;_this202.Name=Name;_this202.type=3207319532;return _this202;}return _createClass(IfcExternallyDefinedSymbol);}(IfcExternalReference);IFC2X32.IfcExternallyDefinedSymbol=IfcExternallyDefinedSymbol;var IfcExternallyDefinedTextFont=/*#__PURE__*/function(_IfcExternalReference4){_inherits(IfcExternallyDefinedTextFont,_IfcExternalReference4);var _super200=_createSuper(IfcExternallyDefinedTextFont);function IfcExternallyDefinedTextFont(expressID,Location,ItemReference,Name){var _this203;_classCallCheck(this,IfcExternallyDefinedTextFont);_this203=_super200.call(this,expressID,Location,ItemReference,Name);_this203.Location=Location;_this203.ItemReference=ItemReference;_this203.Name=Name;_this203.type=3548104201;return _this203;}return _createClass(IfcExternallyDefinedTextFont);}(IfcExternalReference);IFC2X32.IfcExternallyDefinedTextFont=IfcExternallyDefinedTextFont;var IfcGridAxis=/*#__PURE__*/function(_IfcLineObject37){_inherits(IfcGridAxis,_IfcLineObject37);var _super201=_createSuper(IfcGridAxis);function IfcGridAxis(expressID,AxisTag,AxisCurve,SameSense){var _this204;_classCallCheck(this,IfcGridAxis);_this204=_super201.call(this,expressID);_this204.AxisTag=AxisTag;_this204.AxisCurve=AxisCurve;_this204.SameSense=SameSense;_this204.type=852622518;return _this204;}return _createClass(IfcGridAxis);}(IfcLineObject);IFC2X32.IfcGridAxis=IfcGridAxis;var IfcIrregularTimeSeriesValue=/*#__PURE__*/function(_IfcLineObject38){_inherits(IfcIrregularTimeSeriesValue,_IfcLineObject38);var _super202=_createSuper(IfcIrregularTimeSeriesValue);function IfcIrregularTimeSeriesValue(expressID,TimeStamp,ListValues){var _this205;_classCallCheck(this,IfcIrregularTimeSeriesValue);_this205=_super202.call(this,expressID);_this205.TimeStamp=TimeStamp;_this205.ListValues=ListValues;_this205.type=3020489413;return _this205;}return _createClass(IfcIrregularTimeSeriesValue);}(IfcLineObject);IFC2X32.IfcIrregularTimeSeriesValue=IfcIrregularTimeSeriesValue;var IfcLibraryInformation=/*#__PURE__*/function(_IfcLineObject39){_inherits(IfcLibraryInformation,_IfcLineObject39);var _super203=_createSuper(IfcLibraryInformation);function IfcLibraryInformation(expressID,Name,Version,Publisher,VersionDate,LibraryReference){var _this206;_classCallCheck(this,IfcLibraryInformation);_this206=_super203.call(this,expressID);_this206.Name=Name;_this206.Version=Version;_this206.Publisher=Publisher;_this206.VersionDate=VersionDate;_this206.LibraryReference=LibraryReference;_this206.type=2655187982;return _this206;}return _createClass(IfcLibraryInformation);}(IfcLineObject);IFC2X32.IfcLibraryInformation=IfcLibraryInformation;var IfcLibraryReference=/*#__PURE__*/function(_IfcExternalReference5){_inherits(IfcLibraryReference,_IfcExternalReference5);var _super204=_createSuper(IfcLibraryReference);function IfcLibraryReference(expressID,Location,ItemReference,Name){var _this207;_classCallCheck(this,IfcLibraryReference);_this207=_super204.call(this,expressID,Location,ItemReference,Name);_this207.Location=Location;_this207.ItemReference=ItemReference;_this207.Name=Name;_this207.type=3452421091;return _this207;}return _createClass(IfcLibraryReference);}(IfcExternalReference);IFC2X32.IfcLibraryReference=IfcLibraryReference;var IfcLightDistributionData=/*#__PURE__*/function(_IfcLineObject40){_inherits(IfcLightDistributionData,_IfcLineObject40);var _super205=_createSuper(IfcLightDistributionData);function IfcLightDistributionData(expressID,MainPlaneAngle,SecondaryPlaneAngle,LuminousIntensity){var _this208;_classCallCheck(this,IfcLightDistributionData);_this208=_super205.call(this,expressID);_this208.MainPlaneAngle=MainPlaneAngle;_this208.SecondaryPlaneAngle=SecondaryPlaneAngle;_this208.LuminousIntensity=LuminousIntensity;_this208.type=4162380809;return _this208;}return _createClass(IfcLightDistributionData);}(IfcLineObject);IFC2X32.IfcLightDistributionData=IfcLightDistributionData;var IfcLightIntensityDistribution=/*#__PURE__*/function(_IfcLineObject41){_inherits(IfcLightIntensityDistribution,_IfcLineObject41);var _super206=_createSuper(IfcLightIntensityDistribution);function IfcLightIntensityDistribution(expressID,LightDistributionCurve,DistributionData){var _this209;_classCallCheck(this,IfcLightIntensityDistribution);_this209=_super206.call(this,expressID);_this209.LightDistributionCurve=LightDistributionCurve;_this209.DistributionData=DistributionData;_this209.type=1566485204;return _this209;}return _createClass(IfcLightIntensityDistribution);}(IfcLineObject);IFC2X32.IfcLightIntensityDistribution=IfcLightIntensityDistribution;var IfcLocalTime=/*#__PURE__*/function(_IfcLineObject42){_inherits(IfcLocalTime,_IfcLineObject42);var _super207=_createSuper(IfcLocalTime);function IfcLocalTime(expressID,HourComponent,MinuteComponent,SecondComponent,Zone,DaylightSavingOffset){var _this210;_classCallCheck(this,IfcLocalTime);_this210=_super207.call(this,expressID);_this210.HourComponent=HourComponent;_this210.MinuteComponent=MinuteComponent;_this210.SecondComponent=SecondComponent;_this210.Zone=Zone;_this210.DaylightSavingOffset=DaylightSavingOffset;_this210.type=30780891;return _this210;}return _createClass(IfcLocalTime);}(IfcLineObject);IFC2X32.IfcLocalTime=IfcLocalTime;var IfcMaterial=/*#__PURE__*/function(_IfcLineObject43){_inherits(IfcMaterial,_IfcLineObject43);var _super208=_createSuper(IfcMaterial);function IfcMaterial(expressID,Name){var _this211;_classCallCheck(this,IfcMaterial);_this211=_super208.call(this,expressID);_this211.Name=Name;_this211.type=1838606355;return _this211;}return _createClass(IfcMaterial);}(IfcLineObject);IFC2X32.IfcMaterial=IfcMaterial;var IfcMaterialClassificationRelationship=/*#__PURE__*/function(_IfcLineObject44){_inherits(IfcMaterialClassificationRelationship,_IfcLineObject44);var _super209=_createSuper(IfcMaterialClassificationRelationship);function IfcMaterialClassificationRelationship(expressID,MaterialClassifications,ClassifiedMaterial){var _this212;_classCallCheck(this,IfcMaterialClassificationRelationship);_this212=_super209.call(this,expressID);_this212.MaterialClassifications=MaterialClassifications;_this212.ClassifiedMaterial=ClassifiedMaterial;_this212.type=1847130766;return _this212;}return _createClass(IfcMaterialClassificationRelationship);}(IfcLineObject);IFC2X32.IfcMaterialClassificationRelationship=IfcMaterialClassificationRelationship;var IfcMaterialLayer=/*#__PURE__*/function(_IfcLineObject45){_inherits(IfcMaterialLayer,_IfcLineObject45);var _super210=_createSuper(IfcMaterialLayer);function IfcMaterialLayer(expressID,Material,LayerThickness,IsVentilated){var _this213;_classCallCheck(this,IfcMaterialLayer);_this213=_super210.call(this,expressID);_this213.Material=Material;_this213.LayerThickness=LayerThickness;_this213.IsVentilated=IsVentilated;_this213.type=248100487;return _this213;}return _createClass(IfcMaterialLayer);}(IfcLineObject);IFC2X32.IfcMaterialLayer=IfcMaterialLayer;var IfcMaterialLayerSet=/*#__PURE__*/function(_IfcLineObject46){_inherits(IfcMaterialLayerSet,_IfcLineObject46);var _super211=_createSuper(IfcMaterialLayerSet);function IfcMaterialLayerSet(expressID,MaterialLayers,LayerSetName){var _this214;_classCallCheck(this,IfcMaterialLayerSet);_this214=_super211.call(this,expressID);_this214.MaterialLayers=MaterialLayers;_this214.LayerSetName=LayerSetName;_this214.type=3303938423;return _this214;}return _createClass(IfcMaterialLayerSet);}(IfcLineObject);IFC2X32.IfcMaterialLayerSet=IfcMaterialLayerSet;var IfcMaterialLayerSetUsage=/*#__PURE__*/function(_IfcLineObject47){_inherits(IfcMaterialLayerSetUsage,_IfcLineObject47);var _super212=_createSuper(IfcMaterialLayerSetUsage);function IfcMaterialLayerSetUsage(expressID,ForLayerSet,LayerSetDirection,DirectionSense,OffsetFromReferenceLine){var _this215;_classCallCheck(this,IfcMaterialLayerSetUsage);_this215=_super212.call(this,expressID);_this215.ForLayerSet=ForLayerSet;_this215.LayerSetDirection=LayerSetDirection;_this215.DirectionSense=DirectionSense;_this215.OffsetFromReferenceLine=OffsetFromReferenceLine;_this215.type=1303795690;return _this215;}return _createClass(IfcMaterialLayerSetUsage);}(IfcLineObject);IFC2X32.IfcMaterialLayerSetUsage=IfcMaterialLayerSetUsage;var IfcMaterialList=/*#__PURE__*/function(_IfcLineObject48){_inherits(IfcMaterialList,_IfcLineObject48);var _super213=_createSuper(IfcMaterialList);function IfcMaterialList(expressID,Materials){var _this216;_classCallCheck(this,IfcMaterialList);_this216=_super213.call(this,expressID);_this216.Materials=Materials;_this216.type=2199411900;return _this216;}return _createClass(IfcMaterialList);}(IfcLineObject);IFC2X32.IfcMaterialList=IfcMaterialList;var IfcMaterialProperties=/*#__PURE__*/function(_IfcLineObject49){_inherits(IfcMaterialProperties,_IfcLineObject49);var _super214=_createSuper(IfcMaterialProperties);function IfcMaterialProperties(expressID,Material){var _this217;_classCallCheck(this,IfcMaterialProperties);_this217=_super214.call(this,expressID);_this217.Material=Material;_this217.type=3265635763;return _this217;}return _createClass(IfcMaterialProperties);}(IfcLineObject);IFC2X32.IfcMaterialProperties=IfcMaterialProperties;var IfcMeasureWithUnit=/*#__PURE__*/function(_IfcLineObject50){_inherits(IfcMeasureWithUnit,_IfcLineObject50);var _super215=_createSuper(IfcMeasureWithUnit);function IfcMeasureWithUnit(expressID,ValueComponent,UnitComponent){var _this218;_classCallCheck(this,IfcMeasureWithUnit);_this218=_super215.call(this,expressID);_this218.ValueComponent=ValueComponent;_this218.UnitComponent=UnitComponent;_this218.type=2597039031;return _this218;}return _createClass(IfcMeasureWithUnit);}(IfcLineObject);IFC2X32.IfcMeasureWithUnit=IfcMeasureWithUnit;var IfcMechanicalMaterialProperties=/*#__PURE__*/function(_IfcMaterialPropertie){_inherits(IfcMechanicalMaterialProperties,_IfcMaterialPropertie);var _super216=_createSuper(IfcMechanicalMaterialProperties);function IfcMechanicalMaterialProperties(expressID,Material,DynamicViscosity,YoungModulus,ShearModulus,PoissonRatio,ThermalExpansionCoefficient){var _this219;_classCallCheck(this,IfcMechanicalMaterialProperties);_this219=_super216.call(this,expressID,Material);_this219.Material=Material;_this219.DynamicViscosity=DynamicViscosity;_this219.YoungModulus=YoungModulus;_this219.ShearModulus=ShearModulus;_this219.PoissonRatio=PoissonRatio;_this219.ThermalExpansionCoefficient=ThermalExpansionCoefficient;_this219.type=4256014907;return _this219;}return _createClass(IfcMechanicalMaterialProperties);}(IfcMaterialProperties);IFC2X32.IfcMechanicalMaterialProperties=IfcMechanicalMaterialProperties;var IfcMechanicalSteelMaterialProperties=/*#__PURE__*/function(_IfcMechanicalMateria){_inherits(IfcMechanicalSteelMaterialProperties,_IfcMechanicalMateria);var _super217=_createSuper(IfcMechanicalSteelMaterialProperties);function IfcMechanicalSteelMaterialProperties(expressID,Material,DynamicViscosity,YoungModulus,ShearModulus,PoissonRatio,ThermalExpansionCoefficient,YieldStress,UltimateStress,UltimateStrain,HardeningModule,ProportionalStress,PlasticStrain,Relaxations){var _this220;_classCallCheck(this,IfcMechanicalSteelMaterialProperties);_this220=_super217.call(this,expressID,Material,DynamicViscosity,YoungModulus,ShearModulus,PoissonRatio,ThermalExpansionCoefficient);_this220.Material=Material;_this220.DynamicViscosity=DynamicViscosity;_this220.YoungModulus=YoungModulus;_this220.ShearModulus=ShearModulus;_this220.PoissonRatio=PoissonRatio;_this220.ThermalExpansionCoefficient=ThermalExpansionCoefficient;_this220.YieldStress=YieldStress;_this220.UltimateStress=UltimateStress;_this220.UltimateStrain=UltimateStrain;_this220.HardeningModule=HardeningModule;_this220.ProportionalStress=ProportionalStress;_this220.PlasticStrain=PlasticStrain;_this220.Relaxations=Relaxations;_this220.type=677618848;return _this220;}return _createClass(IfcMechanicalSteelMaterialProperties);}(IfcMechanicalMaterialProperties);IFC2X32.IfcMechanicalSteelMaterialProperties=IfcMechanicalSteelMaterialProperties;var IfcMetric=/*#__PURE__*/function(_IfcConstraint){_inherits(IfcMetric,_IfcConstraint);var _super218=_createSuper(IfcMetric);function IfcMetric(expressID,Name,Description,ConstraintGrade,ConstraintSource,CreatingActor,CreationTime,UserDefinedGrade,Benchmark,ValueSource,DataValue){var _this221;_classCallCheck(this,IfcMetric);_this221=_super218.call(this,expressID,Name,Description,ConstraintGrade,ConstraintSource,CreatingActor,CreationTime,UserDefinedGrade);_this221.Name=Name;_this221.Description=Description;_this221.ConstraintGrade=ConstraintGrade;_this221.ConstraintSource=ConstraintSource;_this221.CreatingActor=CreatingActor;_this221.CreationTime=CreationTime;_this221.UserDefinedGrade=UserDefinedGrade;_this221.Benchmark=Benchmark;_this221.ValueSource=ValueSource;_this221.DataValue=DataValue;_this221.type=3368373690;return _this221;}return _createClass(IfcMetric);}(IfcConstraint);IFC2X32.IfcMetric=IfcMetric;var IfcMonetaryUnit=/*#__PURE__*/function(_IfcLineObject51){_inherits(IfcMonetaryUnit,_IfcLineObject51);var _super219=_createSuper(IfcMonetaryUnit);function IfcMonetaryUnit(expressID,Currency){var _this222;_classCallCheck(this,IfcMonetaryUnit);_this222=_super219.call(this,expressID);_this222.Currency=Currency;_this222.type=2706619895;return _this222;}return _createClass(IfcMonetaryUnit);}(IfcLineObject);IFC2X32.IfcMonetaryUnit=IfcMonetaryUnit;var IfcNamedUnit=/*#__PURE__*/function(_IfcLineObject52){_inherits(IfcNamedUnit,_IfcLineObject52);var _super220=_createSuper(IfcNamedUnit);function IfcNamedUnit(expressID,Dimensions,UnitType){var _this223;_classCallCheck(this,IfcNamedUnit);_this223=_super220.call(this,expressID);_this223.Dimensions=Dimensions;_this223.UnitType=UnitType;_this223.type=1918398963;return _this223;}return _createClass(IfcNamedUnit);}(IfcLineObject);IFC2X32.IfcNamedUnit=IfcNamedUnit;var IfcObjectPlacement=/*#__PURE__*/function(_IfcLineObject53){_inherits(IfcObjectPlacement,_IfcLineObject53);var _super221=_createSuper(IfcObjectPlacement);function IfcObjectPlacement(expressID){var _this224;_classCallCheck(this,IfcObjectPlacement);_this224=_super221.call(this,expressID);_this224.type=3701648758;return _this224;}return _createClass(IfcObjectPlacement);}(IfcLineObject);IFC2X32.IfcObjectPlacement=IfcObjectPlacement;var IfcObjective=/*#__PURE__*/function(_IfcConstraint2){_inherits(IfcObjective,_IfcConstraint2);var _super222=_createSuper(IfcObjective);function IfcObjective(expressID,Name,Description,ConstraintGrade,ConstraintSource,CreatingActor,CreationTime,UserDefinedGrade,BenchmarkValues,ResultValues,ObjectiveQualifier,UserDefinedQualifier){var _this225;_classCallCheck(this,IfcObjective);_this225=_super222.call(this,expressID,Name,Description,ConstraintGrade,ConstraintSource,CreatingActor,CreationTime,UserDefinedGrade);_this225.Name=Name;_this225.Description=Description;_this225.ConstraintGrade=ConstraintGrade;_this225.ConstraintSource=ConstraintSource;_this225.CreatingActor=CreatingActor;_this225.CreationTime=CreationTime;_this225.UserDefinedGrade=UserDefinedGrade;_this225.BenchmarkValues=BenchmarkValues;_this225.ResultValues=ResultValues;_this225.ObjectiveQualifier=ObjectiveQualifier;_this225.UserDefinedQualifier=UserDefinedQualifier;_this225.type=2251480897;return _this225;}return _createClass(IfcObjective);}(IfcConstraint);IFC2X32.IfcObjective=IfcObjective;var IfcOpticalMaterialProperties=/*#__PURE__*/function(_IfcMaterialPropertie2){_inherits(IfcOpticalMaterialProperties,_IfcMaterialPropertie2);var _super223=_createSuper(IfcOpticalMaterialProperties);function IfcOpticalMaterialProperties(expressID,Material,VisibleTransmittance,SolarTransmittance,ThermalIrTransmittance,ThermalIrEmissivityBack,ThermalIrEmissivityFront,VisibleReflectanceBack,VisibleReflectanceFront,SolarReflectanceFront,SolarReflectanceBack){var _this226;_classCallCheck(this,IfcOpticalMaterialProperties);_this226=_super223.call(this,expressID,Material);_this226.Material=Material;_this226.VisibleTransmittance=VisibleTransmittance;_this226.SolarTransmittance=SolarTransmittance;_this226.ThermalIrTransmittance=ThermalIrTransmittance;_this226.ThermalIrEmissivityBack=ThermalIrEmissivityBack;_this226.ThermalIrEmissivityFront=ThermalIrEmissivityFront;_this226.VisibleReflectanceBack=VisibleReflectanceBack;_this226.VisibleReflectanceFront=VisibleReflectanceFront;_this226.SolarReflectanceFront=SolarReflectanceFront;_this226.SolarReflectanceBack=SolarReflectanceBack;_this226.type=1227763645;return _this226;}return _createClass(IfcOpticalMaterialProperties);}(IfcMaterialProperties);IFC2X32.IfcOpticalMaterialProperties=IfcOpticalMaterialProperties;var IfcOrganization=/*#__PURE__*/function(_IfcLineObject54){_inherits(IfcOrganization,_IfcLineObject54);var _super224=_createSuper(IfcOrganization);function IfcOrganization(expressID,Id,Name,Description,Roles,Addresses){var _this227;_classCallCheck(this,IfcOrganization);_this227=_super224.call(this,expressID);_this227.Id=Id;_this227.Name=Name;_this227.Description=Description;_this227.Roles=Roles;_this227.Addresses=Addresses;_this227.type=4251960020;return _this227;}return _createClass(IfcOrganization);}(IfcLineObject);IFC2X32.IfcOrganization=IfcOrganization;var IfcOrganizationRelationship=/*#__PURE__*/function(_IfcLineObject55){_inherits(IfcOrganizationRelationship,_IfcLineObject55);var _super225=_createSuper(IfcOrganizationRelationship);function IfcOrganizationRelationship(expressID,Name,Description,RelatingOrganization,RelatedOrganizations){var _this228;_classCallCheck(this,IfcOrganizationRelationship);_this228=_super225.call(this,expressID);_this228.Name=Name;_this228.Description=Description;_this228.RelatingOrganization=RelatingOrganization;_this228.RelatedOrganizations=RelatedOrganizations;_this228.type=1411181986;return _this228;}return _createClass(IfcOrganizationRelationship);}(IfcLineObject);IFC2X32.IfcOrganizationRelationship=IfcOrganizationRelationship;var IfcOwnerHistory=/*#__PURE__*/function(_IfcLineObject56){_inherits(IfcOwnerHistory,_IfcLineObject56);var _super226=_createSuper(IfcOwnerHistory);function IfcOwnerHistory(expressID,OwningUser,OwningApplication,State,ChangeAction,LastModifiedDate,LastModifyingUser,LastModifyingApplication,CreationDate){var _this229;_classCallCheck(this,IfcOwnerHistory);_this229=_super226.call(this,expressID);_this229.OwningUser=OwningUser;_this229.OwningApplication=OwningApplication;_this229.State=State;_this229.ChangeAction=ChangeAction;_this229.LastModifiedDate=LastModifiedDate;_this229.LastModifyingUser=LastModifyingUser;_this229.LastModifyingApplication=LastModifyingApplication;_this229.CreationDate=CreationDate;_this229.type=1207048766;return _this229;}return _createClass(IfcOwnerHistory);}(IfcLineObject);IFC2X32.IfcOwnerHistory=IfcOwnerHistory;var IfcPerson=/*#__PURE__*/function(_IfcLineObject57){_inherits(IfcPerson,_IfcLineObject57);var _super227=_createSuper(IfcPerson);function IfcPerson(expressID,Id,FamilyName,GivenName,MiddleNames,PrefixTitles,SuffixTitles,Roles,Addresses){var _this230;_classCallCheck(this,IfcPerson);_this230=_super227.call(this,expressID);_this230.Id=Id;_this230.FamilyName=FamilyName;_this230.GivenName=GivenName;_this230.MiddleNames=MiddleNames;_this230.PrefixTitles=PrefixTitles;_this230.SuffixTitles=SuffixTitles;_this230.Roles=Roles;_this230.Addresses=Addresses;_this230.type=2077209135;return _this230;}return _createClass(IfcPerson);}(IfcLineObject);IFC2X32.IfcPerson=IfcPerson;var IfcPersonAndOrganization=/*#__PURE__*/function(_IfcLineObject58){_inherits(IfcPersonAndOrganization,_IfcLineObject58);var _super228=_createSuper(IfcPersonAndOrganization);function IfcPersonAndOrganization(expressID,ThePerson,TheOrganization,Roles){var _this231;_classCallCheck(this,IfcPersonAndOrganization);_this231=_super228.call(this,expressID);_this231.ThePerson=ThePerson;_this231.TheOrganization=TheOrganization;_this231.Roles=Roles;_this231.type=101040310;return _this231;}return _createClass(IfcPersonAndOrganization);}(IfcLineObject);IFC2X32.IfcPersonAndOrganization=IfcPersonAndOrganization;var IfcPhysicalQuantity=/*#__PURE__*/function(_IfcLineObject59){_inherits(IfcPhysicalQuantity,_IfcLineObject59);var _super229=_createSuper(IfcPhysicalQuantity);function IfcPhysicalQuantity(expressID,Name,Description){var _this232;_classCallCheck(this,IfcPhysicalQuantity);_this232=_super229.call(this,expressID);_this232.Name=Name;_this232.Description=Description;_this232.type=2483315170;return _this232;}return _createClass(IfcPhysicalQuantity);}(IfcLineObject);IFC2X32.IfcPhysicalQuantity=IfcPhysicalQuantity;var IfcPhysicalSimpleQuantity=/*#__PURE__*/function(_IfcPhysicalQuantity){_inherits(IfcPhysicalSimpleQuantity,_IfcPhysicalQuantity);var _super230=_createSuper(IfcPhysicalSimpleQuantity);function IfcPhysicalSimpleQuantity(expressID,Name,Description,Unit){var _this233;_classCallCheck(this,IfcPhysicalSimpleQuantity);_this233=_super230.call(this,expressID,Name,Description);_this233.Name=Name;_this233.Description=Description;_this233.Unit=Unit;_this233.type=2226359599;return _this233;}return _createClass(IfcPhysicalSimpleQuantity);}(IfcPhysicalQuantity);IFC2X32.IfcPhysicalSimpleQuantity=IfcPhysicalSimpleQuantity;var IfcPostalAddress=/*#__PURE__*/function(_IfcAddress){_inherits(IfcPostalAddress,_IfcAddress);var _super231=_createSuper(IfcPostalAddress);function IfcPostalAddress(expressID,Purpose,Description,UserDefinedPurpose,InternalLocation,AddressLines,PostalBox,Town,Region,PostalCode,Country){var _this234;_classCallCheck(this,IfcPostalAddress);_this234=_super231.call(this,expressID,Purpose,Description,UserDefinedPurpose);_this234.Purpose=Purpose;_this234.Description=Description;_this234.UserDefinedPurpose=UserDefinedPurpose;_this234.InternalLocation=InternalLocation;_this234.AddressLines=AddressLines;_this234.PostalBox=PostalBox;_this234.Town=Town;_this234.Region=Region;_this234.PostalCode=PostalCode;_this234.Country=Country;_this234.type=3355820592;return _this234;}return _createClass(IfcPostalAddress);}(IfcAddress);IFC2X32.IfcPostalAddress=IfcPostalAddress;var IfcPreDefinedItem=/*#__PURE__*/function(_IfcLineObject60){_inherits(IfcPreDefinedItem,_IfcLineObject60);var _super232=_createSuper(IfcPreDefinedItem);function IfcPreDefinedItem(expressID,Name){var _this235;_classCallCheck(this,IfcPreDefinedItem);_this235=_super232.call(this,expressID);_this235.Name=Name;_this235.type=3727388367;return _this235;}return _createClass(IfcPreDefinedItem);}(IfcLineObject);IFC2X32.IfcPreDefinedItem=IfcPreDefinedItem;var IfcPreDefinedSymbol=/*#__PURE__*/function(_IfcPreDefinedItem){_inherits(IfcPreDefinedSymbol,_IfcPreDefinedItem);var _super233=_createSuper(IfcPreDefinedSymbol);function IfcPreDefinedSymbol(expressID,Name){var _this236;_classCallCheck(this,IfcPreDefinedSymbol);_this236=_super233.call(this,expressID,Name);_this236.Name=Name;_this236.type=990879717;return _this236;}return _createClass(IfcPreDefinedSymbol);}(IfcPreDefinedItem);IFC2X32.IfcPreDefinedSymbol=IfcPreDefinedSymbol;var IfcPreDefinedTerminatorSymbol=/*#__PURE__*/function(_IfcPreDefinedSymbol){_inherits(IfcPreDefinedTerminatorSymbol,_IfcPreDefinedSymbol);var _super234=_createSuper(IfcPreDefinedTerminatorSymbol);function IfcPreDefinedTerminatorSymbol(expressID,Name){var _this237;_classCallCheck(this,IfcPreDefinedTerminatorSymbol);_this237=_super234.call(this,expressID,Name);_this237.Name=Name;_this237.type=3213052703;return _this237;}return _createClass(IfcPreDefinedTerminatorSymbol);}(IfcPreDefinedSymbol);IFC2X32.IfcPreDefinedTerminatorSymbol=IfcPreDefinedTerminatorSymbol;var IfcPreDefinedTextFont=/*#__PURE__*/function(_IfcPreDefinedItem2){_inherits(IfcPreDefinedTextFont,_IfcPreDefinedItem2);var _super235=_createSuper(IfcPreDefinedTextFont);function IfcPreDefinedTextFont(expressID,Name){var _this238;_classCallCheck(this,IfcPreDefinedTextFont);_this238=_super235.call(this,expressID,Name);_this238.Name=Name;_this238.type=1775413392;return _this238;}return _createClass(IfcPreDefinedTextFont);}(IfcPreDefinedItem);IFC2X32.IfcPreDefinedTextFont=IfcPreDefinedTextFont;var IfcPresentationLayerAssignment=/*#__PURE__*/function(_IfcLineObject61){_inherits(IfcPresentationLayerAssignment,_IfcLineObject61);var _super236=_createSuper(IfcPresentationLayerAssignment);function IfcPresentationLayerAssignment(expressID,Name,Description,AssignedItems,Identifier){var _this239;_classCallCheck(this,IfcPresentationLayerAssignment);_this239=_super236.call(this,expressID);_this239.Name=Name;_this239.Description=Description;_this239.AssignedItems=AssignedItems;_this239.Identifier=Identifier;_this239.type=2022622350;return _this239;}return _createClass(IfcPresentationLayerAssignment);}(IfcLineObject);IFC2X32.IfcPresentationLayerAssignment=IfcPresentationLayerAssignment;var IfcPresentationLayerWithStyle=/*#__PURE__*/function(_IfcPresentationLayer){_inherits(IfcPresentationLayerWithStyle,_IfcPresentationLayer);var _super237=_createSuper(IfcPresentationLayerWithStyle);function IfcPresentationLayerWithStyle(expressID,Name,Description,AssignedItems,Identifier,LayerOn,LayerFrozen,LayerBlocked,LayerStyles){var _this240;_classCallCheck(this,IfcPresentationLayerWithStyle);_this240=_super237.call(this,expressID,Name,Description,AssignedItems,Identifier);_this240.Name=Name;_this240.Description=Description;_this240.AssignedItems=AssignedItems;_this240.Identifier=Identifier;_this240.LayerOn=LayerOn;_this240.LayerFrozen=LayerFrozen;_this240.LayerBlocked=LayerBlocked;_this240.LayerStyles=LayerStyles;_this240.type=1304840413;return _this240;}return _createClass(IfcPresentationLayerWithStyle);}(IfcPresentationLayerAssignment);IFC2X32.IfcPresentationLayerWithStyle=IfcPresentationLayerWithStyle;var IfcPresentationStyle=/*#__PURE__*/function(_IfcLineObject62){_inherits(IfcPresentationStyle,_IfcLineObject62);var _super238=_createSuper(IfcPresentationStyle);function IfcPresentationStyle(expressID,Name){var _this241;_classCallCheck(this,IfcPresentationStyle);_this241=_super238.call(this,expressID);_this241.Name=Name;_this241.type=3119450353;return _this241;}return _createClass(IfcPresentationStyle);}(IfcLineObject);IFC2X32.IfcPresentationStyle=IfcPresentationStyle;var IfcPresentationStyleAssignment=/*#__PURE__*/function(_IfcLineObject63){_inherits(IfcPresentationStyleAssignment,_IfcLineObject63);var _super239=_createSuper(IfcPresentationStyleAssignment);function IfcPresentationStyleAssignment(expressID,Styles){var _this242;_classCallCheck(this,IfcPresentationStyleAssignment);_this242=_super239.call(this,expressID);_this242.Styles=Styles;_this242.type=2417041796;return _this242;}return _createClass(IfcPresentationStyleAssignment);}(IfcLineObject);IFC2X32.IfcPresentationStyleAssignment=IfcPresentationStyleAssignment;var IfcProductRepresentation=/*#__PURE__*/function(_IfcLineObject64){_inherits(IfcProductRepresentation,_IfcLineObject64);var _super240=_createSuper(IfcProductRepresentation);function IfcProductRepresentation(expressID,Name,Description,Representations){var _this243;_classCallCheck(this,IfcProductRepresentation);_this243=_super240.call(this,expressID);_this243.Name=Name;_this243.Description=Description;_this243.Representations=Representations;_this243.type=2095639259;return _this243;}return _createClass(IfcProductRepresentation);}(IfcLineObject);IFC2X32.IfcProductRepresentation=IfcProductRepresentation;var IfcProductsOfCombustionProperties=/*#__PURE__*/function(_IfcMaterialPropertie3){_inherits(IfcProductsOfCombustionProperties,_IfcMaterialPropertie3);var _super241=_createSuper(IfcProductsOfCombustionProperties);function IfcProductsOfCombustionProperties(expressID,Material,SpecificHeatCapacity,N20Content,COContent,CO2Content){var _this244;_classCallCheck(this,IfcProductsOfCombustionProperties);_this244=_super241.call(this,expressID,Material);_this244.Material=Material;_this244.SpecificHeatCapacity=SpecificHeatCapacity;_this244.N20Content=N20Content;_this244.COContent=COContent;_this244.CO2Content=CO2Content;_this244.type=2267347899;return _this244;}return _createClass(IfcProductsOfCombustionProperties);}(IfcMaterialProperties);IFC2X32.IfcProductsOfCombustionProperties=IfcProductsOfCombustionProperties;var IfcProfileDef=/*#__PURE__*/function(_IfcLineObject65){_inherits(IfcProfileDef,_IfcLineObject65);var _super242=_createSuper(IfcProfileDef);function IfcProfileDef(expressID,ProfileType,ProfileName){var _this245;_classCallCheck(this,IfcProfileDef);_this245=_super242.call(this,expressID);_this245.ProfileType=ProfileType;_this245.ProfileName=ProfileName;_this245.type=3958567839;return _this245;}return _createClass(IfcProfileDef);}(IfcLineObject);IFC2X32.IfcProfileDef=IfcProfileDef;var IfcProfileProperties=/*#__PURE__*/function(_IfcLineObject66){_inherits(IfcProfileProperties,_IfcLineObject66);var _super243=_createSuper(IfcProfileProperties);function IfcProfileProperties(expressID,ProfileName,ProfileDefinition){var _this246;_classCallCheck(this,IfcProfileProperties);_this246=_super243.call(this,expressID);_this246.ProfileName=ProfileName;_this246.ProfileDefinition=ProfileDefinition;_this246.type=2802850158;return _this246;}return _createClass(IfcProfileProperties);}(IfcLineObject);IFC2X32.IfcProfileProperties=IfcProfileProperties;var IfcProperty=/*#__PURE__*/function(_IfcLineObject67){_inherits(IfcProperty,_IfcLineObject67);var _super244=_createSuper(IfcProperty);function IfcProperty(expressID,Name,Description){var _this247;_classCallCheck(this,IfcProperty);_this247=_super244.call(this,expressID);_this247.Name=Name;_this247.Description=Description;_this247.type=2598011224;return _this247;}return _createClass(IfcProperty);}(IfcLineObject);IFC2X32.IfcProperty=IfcProperty;var IfcPropertyConstraintRelationship=/*#__PURE__*/function(_IfcLineObject68){_inherits(IfcPropertyConstraintRelationship,_IfcLineObject68);var _super245=_createSuper(IfcPropertyConstraintRelationship);function IfcPropertyConstraintRelationship(expressID,RelatingConstraint,RelatedProperties,Name,Description){var _this248;_classCallCheck(this,IfcPropertyConstraintRelationship);_this248=_super245.call(this,expressID);_this248.RelatingConstraint=RelatingConstraint;_this248.RelatedProperties=RelatedProperties;_this248.Name=Name;_this248.Description=Description;_this248.type=3896028662;return _this248;}return _createClass(IfcPropertyConstraintRelationship);}(IfcLineObject);IFC2X32.IfcPropertyConstraintRelationship=IfcPropertyConstraintRelationship;var IfcPropertyDependencyRelationship=/*#__PURE__*/function(_IfcLineObject69){_inherits(IfcPropertyDependencyRelationship,_IfcLineObject69);var _super246=_createSuper(IfcPropertyDependencyRelationship);function IfcPropertyDependencyRelationship(expressID,DependingProperty,DependantProperty,Name,Description,Expression){var _this249;_classCallCheck(this,IfcPropertyDependencyRelationship);_this249=_super246.call(this,expressID);_this249.DependingProperty=DependingProperty;_this249.DependantProperty=DependantProperty;_this249.Name=Name;_this249.Description=Description;_this249.Expression=Expression;_this249.type=148025276;return _this249;}return _createClass(IfcPropertyDependencyRelationship);}(IfcLineObject);IFC2X32.IfcPropertyDependencyRelationship=IfcPropertyDependencyRelationship;var IfcPropertyEnumeration=/*#__PURE__*/function(_IfcLineObject70){_inherits(IfcPropertyEnumeration,_IfcLineObject70);var _super247=_createSuper(IfcPropertyEnumeration);function IfcPropertyEnumeration(expressID,Name,EnumerationValues,Unit){var _this250;_classCallCheck(this,IfcPropertyEnumeration);_this250=_super247.call(this,expressID);_this250.Name=Name;_this250.EnumerationValues=EnumerationValues;_this250.Unit=Unit;_this250.type=3710013099;return _this250;}return _createClass(IfcPropertyEnumeration);}(IfcLineObject);IFC2X32.IfcPropertyEnumeration=IfcPropertyEnumeration;var IfcQuantityArea=/*#__PURE__*/function(_IfcPhysicalSimpleQua){_inherits(IfcQuantityArea,_IfcPhysicalSimpleQua);var _super248=_createSuper(IfcQuantityArea);function IfcQuantityArea(expressID,Name,Description,Unit,AreaValue){var _this251;_classCallCheck(this,IfcQuantityArea);_this251=_super248.call(this,expressID,Name,Description,Unit);_this251.Name=Name;_this251.Description=Description;_this251.Unit=Unit;_this251.AreaValue=AreaValue;_this251.type=2044713172;return _this251;}return _createClass(IfcQuantityArea);}(IfcPhysicalSimpleQuantity);IFC2X32.IfcQuantityArea=IfcQuantityArea;var IfcQuantityCount=/*#__PURE__*/function(_IfcPhysicalSimpleQua2){_inherits(IfcQuantityCount,_IfcPhysicalSimpleQua2);var _super249=_createSuper(IfcQuantityCount);function IfcQuantityCount(expressID,Name,Description,Unit,CountValue){var _this252;_classCallCheck(this,IfcQuantityCount);_this252=_super249.call(this,expressID,Name,Description,Unit);_this252.Name=Name;_this252.Description=Description;_this252.Unit=Unit;_this252.CountValue=CountValue;_this252.type=2093928680;return _this252;}return _createClass(IfcQuantityCount);}(IfcPhysicalSimpleQuantity);IFC2X32.IfcQuantityCount=IfcQuantityCount;var IfcQuantityLength=/*#__PURE__*/function(_IfcPhysicalSimpleQua3){_inherits(IfcQuantityLength,_IfcPhysicalSimpleQua3);var _super250=_createSuper(IfcQuantityLength);function IfcQuantityLength(expressID,Name,Description,Unit,LengthValue){var _this253;_classCallCheck(this,IfcQuantityLength);_this253=_super250.call(this,expressID,Name,Description,Unit);_this253.Name=Name;_this253.Description=Description;_this253.Unit=Unit;_this253.LengthValue=LengthValue;_this253.type=931644368;return _this253;}return _createClass(IfcQuantityLength);}(IfcPhysicalSimpleQuantity);IFC2X32.IfcQuantityLength=IfcQuantityLength;var IfcQuantityTime=/*#__PURE__*/function(_IfcPhysicalSimpleQua4){_inherits(IfcQuantityTime,_IfcPhysicalSimpleQua4);var _super251=_createSuper(IfcQuantityTime);function IfcQuantityTime(expressID,Name,Description,Unit,TimeValue){var _this254;_classCallCheck(this,IfcQuantityTime);_this254=_super251.call(this,expressID,Name,Description,Unit);_this254.Name=Name;_this254.Description=Description;_this254.Unit=Unit;_this254.TimeValue=TimeValue;_this254.type=3252649465;return _this254;}return _createClass(IfcQuantityTime);}(IfcPhysicalSimpleQuantity);IFC2X32.IfcQuantityTime=IfcQuantityTime;var IfcQuantityVolume=/*#__PURE__*/function(_IfcPhysicalSimpleQua5){_inherits(IfcQuantityVolume,_IfcPhysicalSimpleQua5);var _super252=_createSuper(IfcQuantityVolume);function IfcQuantityVolume(expressID,Name,Description,Unit,VolumeValue){var _this255;_classCallCheck(this,IfcQuantityVolume);_this255=_super252.call(this,expressID,Name,Description,Unit);_this255.Name=Name;_this255.Description=Description;_this255.Unit=Unit;_this255.VolumeValue=VolumeValue;_this255.type=2405470396;return _this255;}return _createClass(IfcQuantityVolume);}(IfcPhysicalSimpleQuantity);IFC2X32.IfcQuantityVolume=IfcQuantityVolume;var IfcQuantityWeight=/*#__PURE__*/function(_IfcPhysicalSimpleQua6){_inherits(IfcQuantityWeight,_IfcPhysicalSimpleQua6);var _super253=_createSuper(IfcQuantityWeight);function IfcQuantityWeight(expressID,Name,Description,Unit,WeightValue){var _this256;_classCallCheck(this,IfcQuantityWeight);_this256=_super253.call(this,expressID,Name,Description,Unit);_this256.Name=Name;_this256.Description=Description;_this256.Unit=Unit;_this256.WeightValue=WeightValue;_this256.type=825690147;return _this256;}return _createClass(IfcQuantityWeight);}(IfcPhysicalSimpleQuantity);IFC2X32.IfcQuantityWeight=IfcQuantityWeight;var IfcReferencesValueDocument=/*#__PURE__*/function(_IfcLineObject71){_inherits(IfcReferencesValueDocument,_IfcLineObject71);var _super254=_createSuper(IfcReferencesValueDocument);function IfcReferencesValueDocument(expressID,ReferencedDocument,ReferencingValues,Name,Description){var _this257;_classCallCheck(this,IfcReferencesValueDocument);_this257=_super254.call(this,expressID);_this257.ReferencedDocument=ReferencedDocument;_this257.ReferencingValues=ReferencingValues;_this257.Name=Name;_this257.Description=Description;_this257.type=2692823254;return _this257;}return _createClass(IfcReferencesValueDocument);}(IfcLineObject);IFC2X32.IfcReferencesValueDocument=IfcReferencesValueDocument;var IfcReinforcementBarProperties=/*#__PURE__*/function(_IfcLineObject72){_inherits(IfcReinforcementBarProperties,_IfcLineObject72);var _super255=_createSuper(IfcReinforcementBarProperties);function IfcReinforcementBarProperties(expressID,TotalCrossSectionArea,SteelGrade,BarSurface,EffectiveDepth,NominalBarDiameter,BarCount){var _this258;_classCallCheck(this,IfcReinforcementBarProperties);_this258=_super255.call(this,expressID);_this258.TotalCrossSectionArea=TotalCrossSectionArea;_this258.SteelGrade=SteelGrade;_this258.BarSurface=BarSurface;_this258.EffectiveDepth=EffectiveDepth;_this258.NominalBarDiameter=NominalBarDiameter;_this258.BarCount=BarCount;_this258.type=1580146022;return _this258;}return _createClass(IfcReinforcementBarProperties);}(IfcLineObject);IFC2X32.IfcReinforcementBarProperties=IfcReinforcementBarProperties;var IfcRelaxation=/*#__PURE__*/function(_IfcLineObject73){_inherits(IfcRelaxation,_IfcLineObject73);var _super256=_createSuper(IfcRelaxation);function IfcRelaxation(expressID,RelaxationValue,InitialStress){var _this259;_classCallCheck(this,IfcRelaxation);_this259=_super256.call(this,expressID);_this259.RelaxationValue=RelaxationValue;_this259.InitialStress=InitialStress;_this259.type=1222501353;return _this259;}return _createClass(IfcRelaxation);}(IfcLineObject);IFC2X32.IfcRelaxation=IfcRelaxation;var IfcRepresentation=/*#__PURE__*/function(_IfcLineObject74){_inherits(IfcRepresentation,_IfcLineObject74);var _super257=_createSuper(IfcRepresentation);function IfcRepresentation(expressID,ContextOfItems,RepresentationIdentifier,RepresentationType,Items){var _this260;_classCallCheck(this,IfcRepresentation);_this260=_super257.call(this,expressID);_this260.ContextOfItems=ContextOfItems;_this260.RepresentationIdentifier=RepresentationIdentifier;_this260.RepresentationType=RepresentationType;_this260.Items=Items;_this260.type=1076942058;return _this260;}return _createClass(IfcRepresentation);}(IfcLineObject);IFC2X32.IfcRepresentation=IfcRepresentation;var IfcRepresentationContext=/*#__PURE__*/function(_IfcLineObject75){_inherits(IfcRepresentationContext,_IfcLineObject75);var _super258=_createSuper(IfcRepresentationContext);function IfcRepresentationContext(expressID,ContextIdentifier,ContextType){var _this261;_classCallCheck(this,IfcRepresentationContext);_this261=_super258.call(this,expressID);_this261.ContextIdentifier=ContextIdentifier;_this261.ContextType=ContextType;_this261.type=3377609919;return _this261;}return _createClass(IfcRepresentationContext);}(IfcLineObject);IFC2X32.IfcRepresentationContext=IfcRepresentationContext;var IfcRepresentationItem=/*#__PURE__*/function(_IfcLineObject76){_inherits(IfcRepresentationItem,_IfcLineObject76);var _super259=_createSuper(IfcRepresentationItem);function IfcRepresentationItem(expressID){var _this262;_classCallCheck(this,IfcRepresentationItem);_this262=_super259.call(this,expressID);_this262.type=3008791417;return _this262;}return _createClass(IfcRepresentationItem);}(IfcLineObject);IFC2X32.IfcRepresentationItem=IfcRepresentationItem;var IfcRepresentationMap=/*#__PURE__*/function(_IfcLineObject77){_inherits(IfcRepresentationMap,_IfcLineObject77);var _super260=_createSuper(IfcRepresentationMap);function IfcRepresentationMap(expressID,MappingOrigin,MappedRepresentation){var _this263;_classCallCheck(this,IfcRepresentationMap);_this263=_super260.call(this,expressID);_this263.MappingOrigin=MappingOrigin;_this263.MappedRepresentation=MappedRepresentation;_this263.type=1660063152;return _this263;}return _createClass(IfcRepresentationMap);}(IfcLineObject);IFC2X32.IfcRepresentationMap=IfcRepresentationMap;var IfcRibPlateProfileProperties=/*#__PURE__*/function(_IfcProfileProperties){_inherits(IfcRibPlateProfileProperties,_IfcProfileProperties);var _super261=_createSuper(IfcRibPlateProfileProperties);function IfcRibPlateProfileProperties(expressID,ProfileName,ProfileDefinition,Thickness,RibHeight,RibWidth,RibSpacing,Direction){var _this264;_classCallCheck(this,IfcRibPlateProfileProperties);_this264=_super261.call(this,expressID,ProfileName,ProfileDefinition);_this264.ProfileName=ProfileName;_this264.ProfileDefinition=ProfileDefinition;_this264.Thickness=Thickness;_this264.RibHeight=RibHeight;_this264.RibWidth=RibWidth;_this264.RibSpacing=RibSpacing;_this264.Direction=Direction;_this264.type=3679540991;return _this264;}return _createClass(IfcRibPlateProfileProperties);}(IfcProfileProperties);IFC2X32.IfcRibPlateProfileProperties=IfcRibPlateProfileProperties;var IfcRoot=/*#__PURE__*/function(_IfcLineObject78){_inherits(IfcRoot,_IfcLineObject78);var _super262=_createSuper(IfcRoot);function IfcRoot(expressID,GlobalId,OwnerHistory,Name,Description){var _this265;_classCallCheck(this,IfcRoot);_this265=_super262.call(this,expressID);_this265.GlobalId=GlobalId;_this265.OwnerHistory=OwnerHistory;_this265.Name=Name;_this265.Description=Description;_this265.type=2341007311;return _this265;}return _createClass(IfcRoot);}(IfcLineObject);IFC2X32.IfcRoot=IfcRoot;var IfcSIUnit=/*#__PURE__*/function(_IfcNamedUnit){_inherits(IfcSIUnit,_IfcNamedUnit);var _super263=_createSuper(IfcSIUnit);function IfcSIUnit(expressID,UnitType,Prefix,Name){var _this266;_classCallCheck(this,IfcSIUnit);_this266=_super263.call(this,expressID,new Handle(0),UnitType);_this266.UnitType=UnitType;_this266.Prefix=Prefix;_this266.Name=Name;_this266.type=448429030;return _this266;}return _createClass(IfcSIUnit);}(IfcNamedUnit);IFC2X32.IfcSIUnit=IfcSIUnit;var IfcSectionProperties=/*#__PURE__*/function(_IfcLineObject79){_inherits(IfcSectionProperties,_IfcLineObject79);var _super264=_createSuper(IfcSectionProperties);function IfcSectionProperties(expressID,SectionType,StartProfile,EndProfile){var _this267;_classCallCheck(this,IfcSectionProperties);_this267=_super264.call(this,expressID);_this267.SectionType=SectionType;_this267.StartProfile=StartProfile;_this267.EndProfile=EndProfile;_this267.type=2042790032;return _this267;}return _createClass(IfcSectionProperties);}(IfcLineObject);IFC2X32.IfcSectionProperties=IfcSectionProperties;var IfcSectionReinforcementProperties=/*#__PURE__*/function(_IfcLineObject80){_inherits(IfcSectionReinforcementProperties,_IfcLineObject80);var _super265=_createSuper(IfcSectionReinforcementProperties);function IfcSectionReinforcementProperties(expressID,LongitudinalStartPosition,LongitudinalEndPosition,TransversePosition,ReinforcementRole,SectionDefinition,CrossSectionReinforcementDefinitions){var _this268;_classCallCheck(this,IfcSectionReinforcementProperties);_this268=_super265.call(this,expressID);_this268.LongitudinalStartPosition=LongitudinalStartPosition;_this268.LongitudinalEndPosition=LongitudinalEndPosition;_this268.TransversePosition=TransversePosition;_this268.ReinforcementRole=ReinforcementRole;_this268.SectionDefinition=SectionDefinition;_this268.CrossSectionReinforcementDefinitions=CrossSectionReinforcementDefinitions;_this268.type=4165799628;return _this268;}return _createClass(IfcSectionReinforcementProperties);}(IfcLineObject);IFC2X32.IfcSectionReinforcementProperties=IfcSectionReinforcementProperties;var IfcShapeAspect=/*#__PURE__*/function(_IfcLineObject81){_inherits(IfcShapeAspect,_IfcLineObject81);var _super266=_createSuper(IfcShapeAspect);function IfcShapeAspect(expressID,ShapeRepresentations,Name,Description,ProductDefinitional,PartOfProductDefinitionShape){var _this269;_classCallCheck(this,IfcShapeAspect);_this269=_super266.call(this,expressID);_this269.ShapeRepresentations=ShapeRepresentations;_this269.Name=Name;_this269.Description=Description;_this269.ProductDefinitional=ProductDefinitional;_this269.PartOfProductDefinitionShape=PartOfProductDefinitionShape;_this269.type=867548509;return _this269;}return _createClass(IfcShapeAspect);}(IfcLineObject);IFC2X32.IfcShapeAspect=IfcShapeAspect;var IfcShapeModel=/*#__PURE__*/function(_IfcRepresentation){_inherits(IfcShapeModel,_IfcRepresentation);var _super267=_createSuper(IfcShapeModel);function IfcShapeModel(expressID,ContextOfItems,RepresentationIdentifier,RepresentationType,Items){var _this270;_classCallCheck(this,IfcShapeModel);_this270=_super267.call(this,expressID,ContextOfItems,RepresentationIdentifier,RepresentationType,Items);_this270.ContextOfItems=ContextOfItems;_this270.RepresentationIdentifier=RepresentationIdentifier;_this270.RepresentationType=RepresentationType;_this270.Items=Items;_this270.type=3982875396;return _this270;}return _createClass(IfcShapeModel);}(IfcRepresentation);IFC2X32.IfcShapeModel=IfcShapeModel;var IfcShapeRepresentation=/*#__PURE__*/function(_IfcShapeModel){_inherits(IfcShapeRepresentation,_IfcShapeModel);var _super268=_createSuper(IfcShapeRepresentation);function IfcShapeRepresentation(expressID,ContextOfItems,RepresentationIdentifier,RepresentationType,Items){var _this271;_classCallCheck(this,IfcShapeRepresentation);_this271=_super268.call(this,expressID,ContextOfItems,RepresentationIdentifier,RepresentationType,Items);_this271.ContextOfItems=ContextOfItems;_this271.RepresentationIdentifier=RepresentationIdentifier;_this271.RepresentationType=RepresentationType;_this271.Items=Items;_this271.type=4240577450;return _this271;}return _createClass(IfcShapeRepresentation);}(IfcShapeModel);IFC2X32.IfcShapeRepresentation=IfcShapeRepresentation;var IfcSimpleProperty=/*#__PURE__*/function(_IfcProperty){_inherits(IfcSimpleProperty,_IfcProperty);var _super269=_createSuper(IfcSimpleProperty);function IfcSimpleProperty(expressID,Name,Description){var _this272;_classCallCheck(this,IfcSimpleProperty);_this272=_super269.call(this,expressID,Name,Description);_this272.Name=Name;_this272.Description=Description;_this272.type=3692461612;return _this272;}return _createClass(IfcSimpleProperty);}(IfcProperty);IFC2X32.IfcSimpleProperty=IfcSimpleProperty;var IfcStructuralConnectionCondition=/*#__PURE__*/function(_IfcLineObject82){_inherits(IfcStructuralConnectionCondition,_IfcLineObject82);var _super270=_createSuper(IfcStructuralConnectionCondition);function IfcStructuralConnectionCondition(expressID,Name){var _this273;_classCallCheck(this,IfcStructuralConnectionCondition);_this273=_super270.call(this,expressID);_this273.Name=Name;_this273.type=2273995522;return _this273;}return _createClass(IfcStructuralConnectionCondition);}(IfcLineObject);IFC2X32.IfcStructuralConnectionCondition=IfcStructuralConnectionCondition;var IfcStructuralLoad=/*#__PURE__*/function(_IfcLineObject83){_inherits(IfcStructuralLoad,_IfcLineObject83);var _super271=_createSuper(IfcStructuralLoad);function IfcStructuralLoad(expressID,Name){var _this274;_classCallCheck(this,IfcStructuralLoad);_this274=_super271.call(this,expressID);_this274.Name=Name;_this274.type=2162789131;return _this274;}return _createClass(IfcStructuralLoad);}(IfcLineObject);IFC2X32.IfcStructuralLoad=IfcStructuralLoad;var IfcStructuralLoadStatic=/*#__PURE__*/function(_IfcStructuralLoad){_inherits(IfcStructuralLoadStatic,_IfcStructuralLoad);var _super272=_createSuper(IfcStructuralLoadStatic);function IfcStructuralLoadStatic(expressID,Name){var _this275;_classCallCheck(this,IfcStructuralLoadStatic);_this275=_super272.call(this,expressID,Name);_this275.Name=Name;_this275.type=2525727697;return _this275;}return _createClass(IfcStructuralLoadStatic);}(IfcStructuralLoad);IFC2X32.IfcStructuralLoadStatic=IfcStructuralLoadStatic;var IfcStructuralLoadTemperature=/*#__PURE__*/function(_IfcStructuralLoadSta){_inherits(IfcStructuralLoadTemperature,_IfcStructuralLoadSta);var _super273=_createSuper(IfcStructuralLoadTemperature);function IfcStructuralLoadTemperature(expressID,Name,DeltaT_Constant,DeltaT_Y,DeltaT_Z){var _this276;_classCallCheck(this,IfcStructuralLoadTemperature);_this276=_super273.call(this,expressID,Name);_this276.Name=Name;_this276.DeltaT_Constant=DeltaT_Constant;_this276.DeltaT_Y=DeltaT_Y;_this276.DeltaT_Z=DeltaT_Z;_this276.type=3408363356;return _this276;}return _createClass(IfcStructuralLoadTemperature);}(IfcStructuralLoadStatic);IFC2X32.IfcStructuralLoadTemperature=IfcStructuralLoadTemperature;var IfcStyleModel=/*#__PURE__*/function(_IfcRepresentation2){_inherits(IfcStyleModel,_IfcRepresentation2);var _super274=_createSuper(IfcStyleModel);function IfcStyleModel(expressID,ContextOfItems,RepresentationIdentifier,RepresentationType,Items){var _this277;_classCallCheck(this,IfcStyleModel);_this277=_super274.call(this,expressID,ContextOfItems,RepresentationIdentifier,RepresentationType,Items);_this277.ContextOfItems=ContextOfItems;_this277.RepresentationIdentifier=RepresentationIdentifier;_this277.RepresentationType=RepresentationType;_this277.Items=Items;_this277.type=2830218821;return _this277;}return _createClass(IfcStyleModel);}(IfcRepresentation);IFC2X32.IfcStyleModel=IfcStyleModel;var IfcStyledItem=/*#__PURE__*/function(_IfcRepresentationIte){_inherits(IfcStyledItem,_IfcRepresentationIte);var _super275=_createSuper(IfcStyledItem);function IfcStyledItem(expressID,Item,Styles,Name){var _this278;_classCallCheck(this,IfcStyledItem);_this278=_super275.call(this,expressID);_this278.Item=Item;_this278.Styles=Styles;_this278.Name=Name;_this278.type=3958052878;return _this278;}return _createClass(IfcStyledItem);}(IfcRepresentationItem);IFC2X32.IfcStyledItem=IfcStyledItem;var IfcStyledRepresentation=/*#__PURE__*/function(_IfcStyleModel){_inherits(IfcStyledRepresentation,_IfcStyleModel);var _super276=_createSuper(IfcStyledRepresentation);function IfcStyledRepresentation(expressID,ContextOfItems,RepresentationIdentifier,RepresentationType,Items){var _this279;_classCallCheck(this,IfcStyledRepresentation);_this279=_super276.call(this,expressID,ContextOfItems,RepresentationIdentifier,RepresentationType,Items);_this279.ContextOfItems=ContextOfItems;_this279.RepresentationIdentifier=RepresentationIdentifier;_this279.RepresentationType=RepresentationType;_this279.Items=Items;_this279.type=3049322572;return _this279;}return _createClass(IfcStyledRepresentation);}(IfcStyleModel);IFC2X32.IfcStyledRepresentation=IfcStyledRepresentation;var IfcSurfaceStyle=/*#__PURE__*/function(_IfcPresentationStyle){_inherits(IfcSurfaceStyle,_IfcPresentationStyle);var _super277=_createSuper(IfcSurfaceStyle);function IfcSurfaceStyle(expressID,Name,Side,Styles){var _this280;_classCallCheck(this,IfcSurfaceStyle);_this280=_super277.call(this,expressID,Name);_this280.Name=Name;_this280.Side=Side;_this280.Styles=Styles;_this280.type=1300840506;return _this280;}return _createClass(IfcSurfaceStyle);}(IfcPresentationStyle);IFC2X32.IfcSurfaceStyle=IfcSurfaceStyle;var IfcSurfaceStyleLighting=/*#__PURE__*/function(_IfcLineObject84){_inherits(IfcSurfaceStyleLighting,_IfcLineObject84);var _super278=_createSuper(IfcSurfaceStyleLighting);function IfcSurfaceStyleLighting(expressID,DiffuseTransmissionColour,DiffuseReflectionColour,TransmissionColour,ReflectanceColour){var _this281;_classCallCheck(this,IfcSurfaceStyleLighting);_this281=_super278.call(this,expressID);_this281.DiffuseTransmissionColour=DiffuseTransmissionColour;_this281.DiffuseReflectionColour=DiffuseReflectionColour;_this281.TransmissionColour=TransmissionColour;_this281.ReflectanceColour=ReflectanceColour;_this281.type=3303107099;return _this281;}return _createClass(IfcSurfaceStyleLighting);}(IfcLineObject);IFC2X32.IfcSurfaceStyleLighting=IfcSurfaceStyleLighting;var IfcSurfaceStyleRefraction=/*#__PURE__*/function(_IfcLineObject85){_inherits(IfcSurfaceStyleRefraction,_IfcLineObject85);var _super279=_createSuper(IfcSurfaceStyleRefraction);function IfcSurfaceStyleRefraction(expressID,RefractionIndex,DispersionFactor){var _this282;_classCallCheck(this,IfcSurfaceStyleRefraction);_this282=_super279.call(this,expressID);_this282.RefractionIndex=RefractionIndex;_this282.DispersionFactor=DispersionFactor;_this282.type=1607154358;return _this282;}return _createClass(IfcSurfaceStyleRefraction);}(IfcLineObject);IFC2X32.IfcSurfaceStyleRefraction=IfcSurfaceStyleRefraction;var IfcSurfaceStyleShading=/*#__PURE__*/function(_IfcLineObject86){_inherits(IfcSurfaceStyleShading,_IfcLineObject86);var _super280=_createSuper(IfcSurfaceStyleShading);function IfcSurfaceStyleShading(expressID,SurfaceColour){var _this283;_classCallCheck(this,IfcSurfaceStyleShading);_this283=_super280.call(this,expressID);_this283.SurfaceColour=SurfaceColour;_this283.type=846575682;return _this283;}return _createClass(IfcSurfaceStyleShading);}(IfcLineObject);IFC2X32.IfcSurfaceStyleShading=IfcSurfaceStyleShading;var IfcSurfaceStyleWithTextures=/*#__PURE__*/function(_IfcLineObject87){_inherits(IfcSurfaceStyleWithTextures,_IfcLineObject87);var _super281=_createSuper(IfcSurfaceStyleWithTextures);function IfcSurfaceStyleWithTextures(expressID,Textures){var _this284;_classCallCheck(this,IfcSurfaceStyleWithTextures);_this284=_super281.call(this,expressID);_this284.Textures=Textures;_this284.type=1351298697;return _this284;}return _createClass(IfcSurfaceStyleWithTextures);}(IfcLineObject);IFC2X32.IfcSurfaceStyleWithTextures=IfcSurfaceStyleWithTextures;var IfcSurfaceTexture=/*#__PURE__*/function(_IfcLineObject88){_inherits(IfcSurfaceTexture,_IfcLineObject88);var _super282=_createSuper(IfcSurfaceTexture);function IfcSurfaceTexture(expressID,RepeatS,RepeatT,TextureType,TextureTransform){var _this285;_classCallCheck(this,IfcSurfaceTexture);_this285=_super282.call(this,expressID);_this285.RepeatS=RepeatS;_this285.RepeatT=RepeatT;_this285.TextureType=TextureType;_this285.TextureTransform=TextureTransform;_this285.type=626085974;return _this285;}return _createClass(IfcSurfaceTexture);}(IfcLineObject);IFC2X32.IfcSurfaceTexture=IfcSurfaceTexture;var IfcSymbolStyle=/*#__PURE__*/function(_IfcPresentationStyle2){_inherits(IfcSymbolStyle,_IfcPresentationStyle2);var _super283=_createSuper(IfcSymbolStyle);function IfcSymbolStyle(expressID,Name,StyleOfSymbol){var _this286;_classCallCheck(this,IfcSymbolStyle);_this286=_super283.call(this,expressID,Name);_this286.Name=Name;_this286.StyleOfSymbol=StyleOfSymbol;_this286.type=1290481447;return _this286;}return _createClass(IfcSymbolStyle);}(IfcPresentationStyle);IFC2X32.IfcSymbolStyle=IfcSymbolStyle;var IfcTable=/*#__PURE__*/function(_IfcLineObject89){_inherits(IfcTable,_IfcLineObject89);var _super284=_createSuper(IfcTable);function IfcTable(expressID,Name,Rows){var _this287;_classCallCheck(this,IfcTable);_this287=_super284.call(this,expressID);_this287.Name=Name;_this287.Rows=Rows;_this287.type=985171141;return _this287;}return _createClass(IfcTable);}(IfcLineObject);IFC2X32.IfcTable=IfcTable;var IfcTableRow=/*#__PURE__*/function(_IfcLineObject90){_inherits(IfcTableRow,_IfcLineObject90);var _super285=_createSuper(IfcTableRow);function IfcTableRow(expressID,RowCells,IsHeading){var _this288;_classCallCheck(this,IfcTableRow);_this288=_super285.call(this,expressID);_this288.RowCells=RowCells;_this288.IsHeading=IsHeading;_this288.type=531007025;return _this288;}return _createClass(IfcTableRow);}(IfcLineObject);IFC2X32.IfcTableRow=IfcTableRow;var IfcTelecomAddress=/*#__PURE__*/function(_IfcAddress2){_inherits(IfcTelecomAddress,_IfcAddress2);var _super286=_createSuper(IfcTelecomAddress);function IfcTelecomAddress(expressID,Purpose,Description,UserDefinedPurpose,TelephoneNumbers,FacsimileNumbers,PagerNumber,ElectronicMailAddresses,WWWHomePageURL){var _this289;_classCallCheck(this,IfcTelecomAddress);_this289=_super286.call(this,expressID,Purpose,Description,UserDefinedPurpose);_this289.Purpose=Purpose;_this289.Description=Description;_this289.UserDefinedPurpose=UserDefinedPurpose;_this289.TelephoneNumbers=TelephoneNumbers;_this289.FacsimileNumbers=FacsimileNumbers;_this289.PagerNumber=PagerNumber;_this289.ElectronicMailAddresses=ElectronicMailAddresses;_this289.WWWHomePageURL=WWWHomePageURL;_this289.type=912023232;return _this289;}return _createClass(IfcTelecomAddress);}(IfcAddress);IFC2X32.IfcTelecomAddress=IfcTelecomAddress;var IfcTextStyle=/*#__PURE__*/function(_IfcPresentationStyle3){_inherits(IfcTextStyle,_IfcPresentationStyle3);var _super287=_createSuper(IfcTextStyle);function IfcTextStyle(expressID,Name,TextCharacterAppearance,TextStyle,TextFontStyle){var _this290;_classCallCheck(this,IfcTextStyle);_this290=_super287.call(this,expressID,Name);_this290.Name=Name;_this290.TextCharacterAppearance=TextCharacterAppearance;_this290.TextStyle=TextStyle;_this290.TextFontStyle=TextFontStyle;_this290.type=1447204868;return _this290;}return _createClass(IfcTextStyle);}(IfcPresentationStyle);IFC2X32.IfcTextStyle=IfcTextStyle;var IfcTextStyleFontModel=/*#__PURE__*/function(_IfcPreDefinedTextFon){_inherits(IfcTextStyleFontModel,_IfcPreDefinedTextFon);var _super288=_createSuper(IfcTextStyleFontModel);function IfcTextStyleFontModel(expressID,Name,FontFamily,FontStyle,FontVariant,FontWeight,FontSize){var _this291;_classCallCheck(this,IfcTextStyleFontModel);_this291=_super288.call(this,expressID,Name);_this291.Name=Name;_this291.FontFamily=FontFamily;_this291.FontStyle=FontStyle;_this291.FontVariant=FontVariant;_this291.FontWeight=FontWeight;_this291.FontSize=FontSize;_this291.type=1983826977;return _this291;}return _createClass(IfcTextStyleFontModel);}(IfcPreDefinedTextFont);IFC2X32.IfcTextStyleFontModel=IfcTextStyleFontModel;var IfcTextStyleForDefinedFont=/*#__PURE__*/function(_IfcLineObject91){_inherits(IfcTextStyleForDefinedFont,_IfcLineObject91);var _super289=_createSuper(IfcTextStyleForDefinedFont);function IfcTextStyleForDefinedFont(expressID,Colour,BackgroundColour){var _this292;_classCallCheck(this,IfcTextStyleForDefinedFont);_this292=_super289.call(this,expressID);_this292.Colour=Colour;_this292.BackgroundColour=BackgroundColour;_this292.type=2636378356;return _this292;}return _createClass(IfcTextStyleForDefinedFont);}(IfcLineObject);IFC2X32.IfcTextStyleForDefinedFont=IfcTextStyleForDefinedFont;var IfcTextStyleTextModel=/*#__PURE__*/function(_IfcLineObject92){_inherits(IfcTextStyleTextModel,_IfcLineObject92);var _super290=_createSuper(IfcTextStyleTextModel);function IfcTextStyleTextModel(expressID,TextIndent,TextAlign,TextDecoration,LetterSpacing,WordSpacing,TextTransform,LineHeight){var _this293;_classCallCheck(this,IfcTextStyleTextModel);_this293=_super290.call(this,expressID);_this293.TextIndent=TextIndent;_this293.TextAlign=TextAlign;_this293.TextDecoration=TextDecoration;_this293.LetterSpacing=LetterSpacing;_this293.WordSpacing=WordSpacing;_this293.TextTransform=TextTransform;_this293.LineHeight=LineHeight;_this293.type=1640371178;return _this293;}return _createClass(IfcTextStyleTextModel);}(IfcLineObject);IFC2X32.IfcTextStyleTextModel=IfcTextStyleTextModel;var IfcTextStyleWithBoxCharacteristics=/*#__PURE__*/function(_IfcLineObject93){_inherits(IfcTextStyleWithBoxCharacteristics,_IfcLineObject93);var _super291=_createSuper(IfcTextStyleWithBoxCharacteristics);function IfcTextStyleWithBoxCharacteristics(expressID,BoxHeight,BoxWidth,BoxSlantAngle,BoxRotateAngle,CharacterSpacing){var _this294;_classCallCheck(this,IfcTextStyleWithBoxCharacteristics);_this294=_super291.call(this,expressID);_this294.BoxHeight=BoxHeight;_this294.BoxWidth=BoxWidth;_this294.BoxSlantAngle=BoxSlantAngle;_this294.BoxRotateAngle=BoxRotateAngle;_this294.CharacterSpacing=CharacterSpacing;_this294.type=1484833681;return _this294;}return _createClass(IfcTextStyleWithBoxCharacteristics);}(IfcLineObject);IFC2X32.IfcTextStyleWithBoxCharacteristics=IfcTextStyleWithBoxCharacteristics;var IfcTextureCoordinate=/*#__PURE__*/function(_IfcLineObject94){_inherits(IfcTextureCoordinate,_IfcLineObject94);var _super292=_createSuper(IfcTextureCoordinate);function IfcTextureCoordinate(expressID){var _this295;_classCallCheck(this,IfcTextureCoordinate);_this295=_super292.call(this,expressID);_this295.type=280115917;return _this295;}return _createClass(IfcTextureCoordinate);}(IfcLineObject);IFC2X32.IfcTextureCoordinate=IfcTextureCoordinate;var IfcTextureCoordinateGenerator=/*#__PURE__*/function(_IfcTextureCoordinate){_inherits(IfcTextureCoordinateGenerator,_IfcTextureCoordinate);var _super293=_createSuper(IfcTextureCoordinateGenerator);function IfcTextureCoordinateGenerator(expressID,Mode,Parameter){var _this296;_classCallCheck(this,IfcTextureCoordinateGenerator);_this296=_super293.call(this,expressID);_this296.Mode=Mode;_this296.Parameter=Parameter;_this296.type=1742049831;return _this296;}return _createClass(IfcTextureCoordinateGenerator);}(IfcTextureCoordinate);IFC2X32.IfcTextureCoordinateGenerator=IfcTextureCoordinateGenerator;var IfcTextureMap=/*#__PURE__*/function(_IfcTextureCoordinate2){_inherits(IfcTextureMap,_IfcTextureCoordinate2);var _super294=_createSuper(IfcTextureMap);function IfcTextureMap(expressID,TextureMaps){var _this297;_classCallCheck(this,IfcTextureMap);_this297=_super294.call(this,expressID);_this297.TextureMaps=TextureMaps;_this297.type=2552916305;return _this297;}return _createClass(IfcTextureMap);}(IfcTextureCoordinate);IFC2X32.IfcTextureMap=IfcTextureMap;var IfcTextureVertex=/*#__PURE__*/function(_IfcLineObject95){_inherits(IfcTextureVertex,_IfcLineObject95);var _super295=_createSuper(IfcTextureVertex);function IfcTextureVertex(expressID,Coordinates){var _this298;_classCallCheck(this,IfcTextureVertex);_this298=_super295.call(this,expressID);_this298.Coordinates=Coordinates;_this298.type=1210645708;return _this298;}return _createClass(IfcTextureVertex);}(IfcLineObject);IFC2X32.IfcTextureVertex=IfcTextureVertex;var IfcThermalMaterialProperties=/*#__PURE__*/function(_IfcMaterialPropertie4){_inherits(IfcThermalMaterialProperties,_IfcMaterialPropertie4);var _super296=_createSuper(IfcThermalMaterialProperties);function IfcThermalMaterialProperties(expressID,Material,SpecificHeatCapacity,BoilingPoint,FreezingPoint,ThermalConductivity){var _this299;_classCallCheck(this,IfcThermalMaterialProperties);_this299=_super296.call(this,expressID,Material);_this299.Material=Material;_this299.SpecificHeatCapacity=SpecificHeatCapacity;_this299.BoilingPoint=BoilingPoint;_this299.FreezingPoint=FreezingPoint;_this299.ThermalConductivity=ThermalConductivity;_this299.type=3317419933;return _this299;}return _createClass(IfcThermalMaterialProperties);}(IfcMaterialProperties);IFC2X32.IfcThermalMaterialProperties=IfcThermalMaterialProperties;var IfcTimeSeries=/*#__PURE__*/function(_IfcLineObject96){_inherits(IfcTimeSeries,_IfcLineObject96);var _super297=_createSuper(IfcTimeSeries);function IfcTimeSeries(expressID,Name,Description,StartTime,EndTime,TimeSeriesDataType,DataOrigin,UserDefinedDataOrigin,Unit){var _this300;_classCallCheck(this,IfcTimeSeries);_this300=_super297.call(this,expressID);_this300.Name=Name;_this300.Description=Description;_this300.StartTime=StartTime;_this300.EndTime=EndTime;_this300.TimeSeriesDataType=TimeSeriesDataType;_this300.DataOrigin=DataOrigin;_this300.UserDefinedDataOrigin=UserDefinedDataOrigin;_this300.Unit=Unit;_this300.type=3101149627;return _this300;}return _createClass(IfcTimeSeries);}(IfcLineObject);IFC2X32.IfcTimeSeries=IfcTimeSeries;var IfcTimeSeriesReferenceRelationship=/*#__PURE__*/function(_IfcLineObject97){_inherits(IfcTimeSeriesReferenceRelationship,_IfcLineObject97);var _super298=_createSuper(IfcTimeSeriesReferenceRelationship);function IfcTimeSeriesReferenceRelationship(expressID,ReferencedTimeSeries,TimeSeriesReferences){var _this301;_classCallCheck(this,IfcTimeSeriesReferenceRelationship);_this301=_super298.call(this,expressID);_this301.ReferencedTimeSeries=ReferencedTimeSeries;_this301.TimeSeriesReferences=TimeSeriesReferences;_this301.type=1718945513;return _this301;}return _createClass(IfcTimeSeriesReferenceRelationship);}(IfcLineObject);IFC2X32.IfcTimeSeriesReferenceRelationship=IfcTimeSeriesReferenceRelationship;var IfcTimeSeriesValue=/*#__PURE__*/function(_IfcLineObject98){_inherits(IfcTimeSeriesValue,_IfcLineObject98);var _super299=_createSuper(IfcTimeSeriesValue);function IfcTimeSeriesValue(expressID,ListValues){var _this302;_classCallCheck(this,IfcTimeSeriesValue);_this302=_super299.call(this,expressID);_this302.ListValues=ListValues;_this302.type=581633288;return _this302;}return _createClass(IfcTimeSeriesValue);}(IfcLineObject);IFC2X32.IfcTimeSeriesValue=IfcTimeSeriesValue;var IfcTopologicalRepresentationItem=/*#__PURE__*/function(_IfcRepresentationIte2){_inherits(IfcTopologicalRepresentationItem,_IfcRepresentationIte2);var _super300=_createSuper(IfcTopologicalRepresentationItem);function IfcTopologicalRepresentationItem(expressID){var _this303;_classCallCheck(this,IfcTopologicalRepresentationItem);_this303=_super300.call(this,expressID);_this303.type=1377556343;return _this303;}return _createClass(IfcTopologicalRepresentationItem);}(IfcRepresentationItem);IFC2X32.IfcTopologicalRepresentationItem=IfcTopologicalRepresentationItem;var IfcTopologyRepresentation=/*#__PURE__*/function(_IfcShapeModel2){_inherits(IfcTopologyRepresentation,_IfcShapeModel2);var _super301=_createSuper(IfcTopologyRepresentation);function IfcTopologyRepresentation(expressID,ContextOfItems,RepresentationIdentifier,RepresentationType,Items){var _this304;_classCallCheck(this,IfcTopologyRepresentation);_this304=_super301.call(this,expressID,ContextOfItems,RepresentationIdentifier,RepresentationType,Items);_this304.ContextOfItems=ContextOfItems;_this304.RepresentationIdentifier=RepresentationIdentifier;_this304.RepresentationType=RepresentationType;_this304.Items=Items;_this304.type=1735638870;return _this304;}return _createClass(IfcTopologyRepresentation);}(IfcShapeModel);IFC2X32.IfcTopologyRepresentation=IfcTopologyRepresentation;var IfcUnitAssignment=/*#__PURE__*/function(_IfcLineObject99){_inherits(IfcUnitAssignment,_IfcLineObject99);var _super302=_createSuper(IfcUnitAssignment);function IfcUnitAssignment(expressID,Units){var _this305;_classCallCheck(this,IfcUnitAssignment);_this305=_super302.call(this,expressID);_this305.Units=Units;_this305.type=180925521;return _this305;}return _createClass(IfcUnitAssignment);}(IfcLineObject);IFC2X32.IfcUnitAssignment=IfcUnitAssignment;var IfcVertex=/*#__PURE__*/function(_IfcTopologicalRepres){_inherits(IfcVertex,_IfcTopologicalRepres);var _super303=_createSuper(IfcVertex);function IfcVertex(expressID){var _this306;_classCallCheck(this,IfcVertex);_this306=_super303.call(this,expressID);_this306.type=2799835756;return _this306;}return _createClass(IfcVertex);}(IfcTopologicalRepresentationItem);IFC2X32.IfcVertex=IfcVertex;var IfcVertexBasedTextureMap=/*#__PURE__*/function(_IfcLineObject100){_inherits(IfcVertexBasedTextureMap,_IfcLineObject100);var _super304=_createSuper(IfcVertexBasedTextureMap);function IfcVertexBasedTextureMap(expressID,TextureVertices,TexturePoints){var _this307;_classCallCheck(this,IfcVertexBasedTextureMap);_this307=_super304.call(this,expressID);_this307.TextureVertices=TextureVertices;_this307.TexturePoints=TexturePoints;_this307.type=3304826586;return _this307;}return _createClass(IfcVertexBasedTextureMap);}(IfcLineObject);IFC2X32.IfcVertexBasedTextureMap=IfcVertexBasedTextureMap;var IfcVertexPoint=/*#__PURE__*/function(_IfcVertex){_inherits(IfcVertexPoint,_IfcVertex);var _super305=_createSuper(IfcVertexPoint);function IfcVertexPoint(expressID,VertexGeometry){var _this308;_classCallCheck(this,IfcVertexPoint);_this308=_super305.call(this,expressID);_this308.VertexGeometry=VertexGeometry;_this308.type=1907098498;return _this308;}return _createClass(IfcVertexPoint);}(IfcVertex);IFC2X32.IfcVertexPoint=IfcVertexPoint;var IfcVirtualGridIntersection=/*#__PURE__*/function(_IfcLineObject101){_inherits(IfcVirtualGridIntersection,_IfcLineObject101);var _super306=_createSuper(IfcVirtualGridIntersection);function IfcVirtualGridIntersection(expressID,IntersectingAxes,OffsetDistances){var _this309;_classCallCheck(this,IfcVirtualGridIntersection);_this309=_super306.call(this,expressID);_this309.IntersectingAxes=IntersectingAxes;_this309.OffsetDistances=OffsetDistances;_this309.type=891718957;return _this309;}return _createClass(IfcVirtualGridIntersection);}(IfcLineObject);IFC2X32.IfcVirtualGridIntersection=IfcVirtualGridIntersection;var IfcWaterProperties=/*#__PURE__*/function(_IfcMaterialPropertie5){_inherits(IfcWaterProperties,_IfcMaterialPropertie5);var _super307=_createSuper(IfcWaterProperties);function IfcWaterProperties(expressID,Material,IsPotable,Hardness,AlkalinityConcentration,AcidityConcentration,ImpuritiesContent,PHLevel,DissolvedSolidsContent){var _this310;_classCallCheck(this,IfcWaterProperties);_this310=_super307.call(this,expressID,Material);_this310.Material=Material;_this310.IsPotable=IsPotable;_this310.Hardness=Hardness;_this310.AlkalinityConcentration=AlkalinityConcentration;_this310.AcidityConcentration=AcidityConcentration;_this310.ImpuritiesContent=ImpuritiesContent;_this310.PHLevel=PHLevel;_this310.DissolvedSolidsContent=DissolvedSolidsContent;_this310.type=1065908215;return _this310;}return _createClass(IfcWaterProperties);}(IfcMaterialProperties);IFC2X32.IfcWaterProperties=IfcWaterProperties;var IfcAnnotationOccurrence=/*#__PURE__*/function(_IfcStyledItem){_inherits(IfcAnnotationOccurrence,_IfcStyledItem);var _super308=_createSuper(IfcAnnotationOccurrence);function IfcAnnotationOccurrence(expressID,Item,Styles,Name){var _this311;_classCallCheck(this,IfcAnnotationOccurrence);_this311=_super308.call(this,expressID,Item,Styles,Name);_this311.Item=Item;_this311.Styles=Styles;_this311.Name=Name;_this311.type=2442683028;return _this311;}return _createClass(IfcAnnotationOccurrence);}(IfcStyledItem);IFC2X32.IfcAnnotationOccurrence=IfcAnnotationOccurrence;var IfcAnnotationSurfaceOccurrence=/*#__PURE__*/function(_IfcAnnotationOccurre){_inherits(IfcAnnotationSurfaceOccurrence,_IfcAnnotationOccurre);var _super309=_createSuper(IfcAnnotationSurfaceOccurrence);function IfcAnnotationSurfaceOccurrence(expressID,Item,Styles,Name){var _this312;_classCallCheck(this,IfcAnnotationSurfaceOccurrence);_this312=_super309.call(this,expressID,Item,Styles,Name);_this312.Item=Item;_this312.Styles=Styles;_this312.Name=Name;_this312.type=962685235;return _this312;}return _createClass(IfcAnnotationSurfaceOccurrence);}(IfcAnnotationOccurrence);IFC2X32.IfcAnnotationSurfaceOccurrence=IfcAnnotationSurfaceOccurrence;var IfcAnnotationSymbolOccurrence=/*#__PURE__*/function(_IfcAnnotationOccurre2){_inherits(IfcAnnotationSymbolOccurrence,_IfcAnnotationOccurre2);var _super310=_createSuper(IfcAnnotationSymbolOccurrence);function IfcAnnotationSymbolOccurrence(expressID,Item,Styles,Name){var _this313;_classCallCheck(this,IfcAnnotationSymbolOccurrence);_this313=_super310.call(this,expressID,Item,Styles,Name);_this313.Item=Item;_this313.Styles=Styles;_this313.Name=Name;_this313.type=3612888222;return _this313;}return _createClass(IfcAnnotationSymbolOccurrence);}(IfcAnnotationOccurrence);IFC2X32.IfcAnnotationSymbolOccurrence=IfcAnnotationSymbolOccurrence;var IfcAnnotationTextOccurrence=/*#__PURE__*/function(_IfcAnnotationOccurre3){_inherits(IfcAnnotationTextOccurrence,_IfcAnnotationOccurre3);var _super311=_createSuper(IfcAnnotationTextOccurrence);function IfcAnnotationTextOccurrence(expressID,Item,Styles,Name){var _this314;_classCallCheck(this,IfcAnnotationTextOccurrence);_this314=_super311.call(this,expressID,Item,Styles,Name);_this314.Item=Item;_this314.Styles=Styles;_this314.Name=Name;_this314.type=2297822566;return _this314;}return _createClass(IfcAnnotationTextOccurrence);}(IfcAnnotationOccurrence);IFC2X32.IfcAnnotationTextOccurrence=IfcAnnotationTextOccurrence;var IfcArbitraryClosedProfileDef=/*#__PURE__*/function(_IfcProfileDef){_inherits(IfcArbitraryClosedProfileDef,_IfcProfileDef);var _super312=_createSuper(IfcArbitraryClosedProfileDef);function IfcArbitraryClosedProfileDef(expressID,ProfileType,ProfileName,OuterCurve){var _this315;_classCallCheck(this,IfcArbitraryClosedProfileDef);_this315=_super312.call(this,expressID,ProfileType,ProfileName);_this315.ProfileType=ProfileType;_this315.ProfileName=ProfileName;_this315.OuterCurve=OuterCurve;_this315.type=3798115385;return _this315;}return _createClass(IfcArbitraryClosedProfileDef);}(IfcProfileDef);IFC2X32.IfcArbitraryClosedProfileDef=IfcArbitraryClosedProfileDef;var IfcArbitraryOpenProfileDef=/*#__PURE__*/function(_IfcProfileDef2){_inherits(IfcArbitraryOpenProfileDef,_IfcProfileDef2);var _super313=_createSuper(IfcArbitraryOpenProfileDef);function IfcArbitraryOpenProfileDef(expressID,ProfileType,ProfileName,Curve){var _this316;_classCallCheck(this,IfcArbitraryOpenProfileDef);_this316=_super313.call(this,expressID,ProfileType,ProfileName);_this316.ProfileType=ProfileType;_this316.ProfileName=ProfileName;_this316.Curve=Curve;_this316.type=1310608509;return _this316;}return _createClass(IfcArbitraryOpenProfileDef);}(IfcProfileDef);IFC2X32.IfcArbitraryOpenProfileDef=IfcArbitraryOpenProfileDef;var IfcArbitraryProfileDefWithVoids=/*#__PURE__*/function(_IfcArbitraryClosedPr){_inherits(IfcArbitraryProfileDefWithVoids,_IfcArbitraryClosedPr);var _super314=_createSuper(IfcArbitraryProfileDefWithVoids);function IfcArbitraryProfileDefWithVoids(expressID,ProfileType,ProfileName,OuterCurve,InnerCurves){var _this317;_classCallCheck(this,IfcArbitraryProfileDefWithVoids);_this317=_super314.call(this,expressID,ProfileType,ProfileName,OuterCurve);_this317.ProfileType=ProfileType;_this317.ProfileName=ProfileName;_this317.OuterCurve=OuterCurve;_this317.InnerCurves=InnerCurves;_this317.type=2705031697;return _this317;}return _createClass(IfcArbitraryProfileDefWithVoids);}(IfcArbitraryClosedProfileDef);IFC2X32.IfcArbitraryProfileDefWithVoids=IfcArbitraryProfileDefWithVoids;var IfcBlobTexture=/*#__PURE__*/function(_IfcSurfaceTexture){_inherits(IfcBlobTexture,_IfcSurfaceTexture);var _super315=_createSuper(IfcBlobTexture);function IfcBlobTexture(expressID,RepeatS,RepeatT,TextureType,TextureTransform,RasterFormat,RasterCode){var _this318;_classCallCheck(this,IfcBlobTexture);_this318=_super315.call(this,expressID,RepeatS,RepeatT,TextureType,TextureTransform);_this318.RepeatS=RepeatS;_this318.RepeatT=RepeatT;_this318.TextureType=TextureType;_this318.TextureTransform=TextureTransform;_this318.RasterFormat=RasterFormat;_this318.RasterCode=RasterCode;_this318.type=616511568;return _this318;}return _createClass(IfcBlobTexture);}(IfcSurfaceTexture);IFC2X32.IfcBlobTexture=IfcBlobTexture;var IfcCenterLineProfileDef=/*#__PURE__*/function(_IfcArbitraryOpenProf){_inherits(IfcCenterLineProfileDef,_IfcArbitraryOpenProf);var _super316=_createSuper(IfcCenterLineProfileDef);function IfcCenterLineProfileDef(expressID,ProfileType,ProfileName,Curve,Thickness){var _this319;_classCallCheck(this,IfcCenterLineProfileDef);_this319=_super316.call(this,expressID,ProfileType,ProfileName,Curve);_this319.ProfileType=ProfileType;_this319.ProfileName=ProfileName;_this319.Curve=Curve;_this319.Thickness=Thickness;_this319.type=3150382593;return _this319;}return _createClass(IfcCenterLineProfileDef);}(IfcArbitraryOpenProfileDef);IFC2X32.IfcCenterLineProfileDef=IfcCenterLineProfileDef;var IfcClassificationReference=/*#__PURE__*/function(_IfcExternalReference6){_inherits(IfcClassificationReference,_IfcExternalReference6);var _super317=_createSuper(IfcClassificationReference);function IfcClassificationReference(expressID,Location,ItemReference,Name,ReferencedSource){var _this320;_classCallCheck(this,IfcClassificationReference);_this320=_super317.call(this,expressID,Location,ItemReference,Name);_this320.Location=Location;_this320.ItemReference=ItemReference;_this320.Name=Name;_this320.ReferencedSource=ReferencedSource;_this320.type=647927063;return _this320;}return _createClass(IfcClassificationReference);}(IfcExternalReference);IFC2X32.IfcClassificationReference=IfcClassificationReference;var IfcColourRgb=/*#__PURE__*/function(_IfcColourSpecificati){_inherits(IfcColourRgb,_IfcColourSpecificati);var _super318=_createSuper(IfcColourRgb);function IfcColourRgb(expressID,Name,Red,Green,Blue){var _this321;_classCallCheck(this,IfcColourRgb);_this321=_super318.call(this,expressID,Name);_this321.Name=Name;_this321.Red=Red;_this321.Green=Green;_this321.Blue=Blue;_this321.type=776857604;return _this321;}return _createClass(IfcColourRgb);}(IfcColourSpecification);IFC2X32.IfcColourRgb=IfcColourRgb;var IfcComplexProperty=/*#__PURE__*/function(_IfcProperty2){_inherits(IfcComplexProperty,_IfcProperty2);var _super319=_createSuper(IfcComplexProperty);function IfcComplexProperty(expressID,Name,Description,UsageName,HasProperties){var _this322;_classCallCheck(this,IfcComplexProperty);_this322=_super319.call(this,expressID,Name,Description);_this322.Name=Name;_this322.Description=Description;_this322.UsageName=UsageName;_this322.HasProperties=HasProperties;_this322.type=2542286263;return _this322;}return _createClass(IfcComplexProperty);}(IfcProperty);IFC2X32.IfcComplexProperty=IfcComplexProperty;var IfcCompositeProfileDef=/*#__PURE__*/function(_IfcProfileDef3){_inherits(IfcCompositeProfileDef,_IfcProfileDef3);var _super320=_createSuper(IfcCompositeProfileDef);function IfcCompositeProfileDef(expressID,ProfileType,ProfileName,Profiles,Label){var _this323;_classCallCheck(this,IfcCompositeProfileDef);_this323=_super320.call(this,expressID,ProfileType,ProfileName);_this323.ProfileType=ProfileType;_this323.ProfileName=ProfileName;_this323.Profiles=Profiles;_this323.Label=Label;_this323.type=1485152156;return _this323;}return _createClass(IfcCompositeProfileDef);}(IfcProfileDef);IFC2X32.IfcCompositeProfileDef=IfcCompositeProfileDef;var IfcConnectedFaceSet=/*#__PURE__*/function(_IfcTopologicalRepres2){_inherits(IfcConnectedFaceSet,_IfcTopologicalRepres2);var _super321=_createSuper(IfcConnectedFaceSet);function IfcConnectedFaceSet(expressID,CfsFaces){var _this324;_classCallCheck(this,IfcConnectedFaceSet);_this324=_super321.call(this,expressID);_this324.CfsFaces=CfsFaces;_this324.type=370225590;return _this324;}return _createClass(IfcConnectedFaceSet);}(IfcTopologicalRepresentationItem);IFC2X32.IfcConnectedFaceSet=IfcConnectedFaceSet;var IfcConnectionCurveGeometry=/*#__PURE__*/function(_IfcConnectionGeometr4){_inherits(IfcConnectionCurveGeometry,_IfcConnectionGeometr4);var _super322=_createSuper(IfcConnectionCurveGeometry);function IfcConnectionCurveGeometry(expressID,CurveOnRelatingElement,CurveOnRelatedElement){var _this325;_classCallCheck(this,IfcConnectionCurveGeometry);_this325=_super322.call(this,expressID);_this325.CurveOnRelatingElement=CurveOnRelatingElement;_this325.CurveOnRelatedElement=CurveOnRelatedElement;_this325.type=1981873012;return _this325;}return _createClass(IfcConnectionCurveGeometry);}(IfcConnectionGeometry);IFC2X32.IfcConnectionCurveGeometry=IfcConnectionCurveGeometry;var IfcConnectionPointEccentricity=/*#__PURE__*/function(_IfcConnectionPointGe){_inherits(IfcConnectionPointEccentricity,_IfcConnectionPointGe);var _super323=_createSuper(IfcConnectionPointEccentricity);function IfcConnectionPointEccentricity(expressID,PointOnRelatingElement,PointOnRelatedElement,EccentricityInX,EccentricityInY,EccentricityInZ){var _this326;_classCallCheck(this,IfcConnectionPointEccentricity);_this326=_super323.call(this,expressID,PointOnRelatingElement,PointOnRelatedElement);_this326.PointOnRelatingElement=PointOnRelatingElement;_this326.PointOnRelatedElement=PointOnRelatedElement;_this326.EccentricityInX=EccentricityInX;_this326.EccentricityInY=EccentricityInY;_this326.EccentricityInZ=EccentricityInZ;_this326.type=45288368;return _this326;}return _createClass(IfcConnectionPointEccentricity);}(IfcConnectionPointGeometry);IFC2X32.IfcConnectionPointEccentricity=IfcConnectionPointEccentricity;var IfcContextDependentUnit=/*#__PURE__*/function(_IfcNamedUnit2){_inherits(IfcContextDependentUnit,_IfcNamedUnit2);var _super324=_createSuper(IfcContextDependentUnit);function IfcContextDependentUnit(expressID,Dimensions,UnitType,Name){var _this327;_classCallCheck(this,IfcContextDependentUnit);_this327=_super324.call(this,expressID,Dimensions,UnitType);_this327.Dimensions=Dimensions;_this327.UnitType=UnitType;_this327.Name=Name;_this327.type=3050246964;return _this327;}return _createClass(IfcContextDependentUnit);}(IfcNamedUnit);IFC2X32.IfcContextDependentUnit=IfcContextDependentUnit;var IfcConversionBasedUnit=/*#__PURE__*/function(_IfcNamedUnit3){_inherits(IfcConversionBasedUnit,_IfcNamedUnit3);var _super325=_createSuper(IfcConversionBasedUnit);function IfcConversionBasedUnit(expressID,Dimensions,UnitType,Name,ConversionFactor){var _this328;_classCallCheck(this,IfcConversionBasedUnit);_this328=_super325.call(this,expressID,Dimensions,UnitType);_this328.Dimensions=Dimensions;_this328.UnitType=UnitType;_this328.Name=Name;_this328.ConversionFactor=ConversionFactor;_this328.type=2889183280;return _this328;}return _createClass(IfcConversionBasedUnit);}(IfcNamedUnit);IFC2X32.IfcConversionBasedUnit=IfcConversionBasedUnit;var IfcCurveStyle=/*#__PURE__*/function(_IfcPresentationStyle4){_inherits(IfcCurveStyle,_IfcPresentationStyle4);var _super326=_createSuper(IfcCurveStyle);function IfcCurveStyle(expressID,Name,CurveFont,CurveWidth,CurveColour){var _this329;_classCallCheck(this,IfcCurveStyle);_this329=_super326.call(this,expressID,Name);_this329.Name=Name;_this329.CurveFont=CurveFont;_this329.CurveWidth=CurveWidth;_this329.CurveColour=CurveColour;_this329.type=3800577675;return _this329;}return _createClass(IfcCurveStyle);}(IfcPresentationStyle);IFC2X32.IfcCurveStyle=IfcCurveStyle;var IfcDerivedProfileDef=/*#__PURE__*/function(_IfcProfileDef4){_inherits(IfcDerivedProfileDef,_IfcProfileDef4);var _super327=_createSuper(IfcDerivedProfileDef);function IfcDerivedProfileDef(expressID,ProfileType,ProfileName,ParentProfile,Operator,Label){var _this330;_classCallCheck(this,IfcDerivedProfileDef);_this330=_super327.call(this,expressID,ProfileType,ProfileName);_this330.ProfileType=ProfileType;_this330.ProfileName=ProfileName;_this330.ParentProfile=ParentProfile;_this330.Operator=Operator;_this330.Label=Label;_this330.type=3632507154;return _this330;}return _createClass(IfcDerivedProfileDef);}(IfcProfileDef);IFC2X32.IfcDerivedProfileDef=IfcDerivedProfileDef;var IfcDimensionCalloutRelationship=/*#__PURE__*/function(_IfcDraughtingCallout){_inherits(IfcDimensionCalloutRelationship,_IfcDraughtingCallout);var _super328=_createSuper(IfcDimensionCalloutRelationship);function IfcDimensionCalloutRelationship(expressID,Name,Description,RelatingDraughtingCallout,RelatedDraughtingCallout){var _this331;_classCallCheck(this,IfcDimensionCalloutRelationship);_this331=_super328.call(this,expressID,Name,Description,RelatingDraughtingCallout,RelatedDraughtingCallout);_this331.Name=Name;_this331.Description=Description;_this331.RelatingDraughtingCallout=RelatingDraughtingCallout;_this331.RelatedDraughtingCallout=RelatedDraughtingCallout;_this331.type=2273265877;return _this331;}return _createClass(IfcDimensionCalloutRelationship);}(IfcDraughtingCalloutRelationship);IFC2X32.IfcDimensionCalloutRelationship=IfcDimensionCalloutRelationship;var IfcDimensionPair=/*#__PURE__*/function(_IfcDraughtingCallout2){_inherits(IfcDimensionPair,_IfcDraughtingCallout2);var _super329=_createSuper(IfcDimensionPair);function IfcDimensionPair(expressID,Name,Description,RelatingDraughtingCallout,RelatedDraughtingCallout){var _this332;_classCallCheck(this,IfcDimensionPair);_this332=_super329.call(this,expressID,Name,Description,RelatingDraughtingCallout,RelatedDraughtingCallout);_this332.Name=Name;_this332.Description=Description;_this332.RelatingDraughtingCallout=RelatingDraughtingCallout;_this332.RelatedDraughtingCallout=RelatedDraughtingCallout;_this332.type=1694125774;return _this332;}return _createClass(IfcDimensionPair);}(IfcDraughtingCalloutRelationship);IFC2X32.IfcDimensionPair=IfcDimensionPair;var IfcDocumentReference=/*#__PURE__*/function(_IfcExternalReference7){_inherits(IfcDocumentReference,_IfcExternalReference7);var _super330=_createSuper(IfcDocumentReference);function IfcDocumentReference(expressID,Location,ItemReference,Name){var _this333;_classCallCheck(this,IfcDocumentReference);_this333=_super330.call(this,expressID,Location,ItemReference,Name);_this333.Location=Location;_this333.ItemReference=ItemReference;_this333.Name=Name;_this333.type=3732053477;return _this333;}return _createClass(IfcDocumentReference);}(IfcExternalReference);IFC2X32.IfcDocumentReference=IfcDocumentReference;var IfcDraughtingPreDefinedTextFont=/*#__PURE__*/function(_IfcPreDefinedTextFon2){_inherits(IfcDraughtingPreDefinedTextFont,_IfcPreDefinedTextFon2);var _super331=_createSuper(IfcDraughtingPreDefinedTextFont);function IfcDraughtingPreDefinedTextFont(expressID,Name){var _this334;_classCallCheck(this,IfcDraughtingPreDefinedTextFont);_this334=_super331.call(this,expressID,Name);_this334.Name=Name;_this334.type=4170525392;return _this334;}return _createClass(IfcDraughtingPreDefinedTextFont);}(IfcPreDefinedTextFont);IFC2X32.IfcDraughtingPreDefinedTextFont=IfcDraughtingPreDefinedTextFont;var IfcEdge=/*#__PURE__*/function(_IfcTopologicalRepres3){_inherits(IfcEdge,_IfcTopologicalRepres3);var _super332=_createSuper(IfcEdge);function IfcEdge(expressID,EdgeStart,EdgeEnd){var _this335;_classCallCheck(this,IfcEdge);_this335=_super332.call(this,expressID);_this335.EdgeStart=EdgeStart;_this335.EdgeEnd=EdgeEnd;_this335.type=3900360178;return _this335;}return _createClass(IfcEdge);}(IfcTopologicalRepresentationItem);IFC2X32.IfcEdge=IfcEdge;var IfcEdgeCurve=/*#__PURE__*/function(_IfcEdge){_inherits(IfcEdgeCurve,_IfcEdge);var _super333=_createSuper(IfcEdgeCurve);function IfcEdgeCurve(expressID,EdgeStart,EdgeEnd,EdgeGeometry,SameSense){var _this336;_classCallCheck(this,IfcEdgeCurve);_this336=_super333.call(this,expressID,EdgeStart,EdgeEnd);_this336.EdgeStart=EdgeStart;_this336.EdgeEnd=EdgeEnd;_this336.EdgeGeometry=EdgeGeometry;_this336.SameSense=SameSense;_this336.type=476780140;return _this336;}return _createClass(IfcEdgeCurve);}(IfcEdge);IFC2X32.IfcEdgeCurve=IfcEdgeCurve;var IfcExtendedMaterialProperties=/*#__PURE__*/function(_IfcMaterialPropertie6){_inherits(IfcExtendedMaterialProperties,_IfcMaterialPropertie6);var _super334=_createSuper(IfcExtendedMaterialProperties);function IfcExtendedMaterialProperties(expressID,Material,ExtendedProperties,Description,Name){var _this337;_classCallCheck(this,IfcExtendedMaterialProperties);_this337=_super334.call(this,expressID,Material);_this337.Material=Material;_this337.ExtendedProperties=ExtendedProperties;_this337.Description=Description;_this337.Name=Name;_this337.type=1860660968;return _this337;}return _createClass(IfcExtendedMaterialProperties);}(IfcMaterialProperties);IFC2X32.IfcExtendedMaterialProperties=IfcExtendedMaterialProperties;var IfcFace=/*#__PURE__*/function(_IfcTopologicalRepres4){_inherits(IfcFace,_IfcTopologicalRepres4);var _super335=_createSuper(IfcFace);function IfcFace(expressID,Bounds){var _this338;_classCallCheck(this,IfcFace);_this338=_super335.call(this,expressID);_this338.Bounds=Bounds;_this338.type=2556980723;return _this338;}return _createClass(IfcFace);}(IfcTopologicalRepresentationItem);IFC2X32.IfcFace=IfcFace;var IfcFaceBound=/*#__PURE__*/function(_IfcTopologicalRepres5){_inherits(IfcFaceBound,_IfcTopologicalRepres5);var _super336=_createSuper(IfcFaceBound);function IfcFaceBound(expressID,Bound,Orientation){var _this339;_classCallCheck(this,IfcFaceBound);_this339=_super336.call(this,expressID);_this339.Bound=Bound;_this339.Orientation=Orientation;_this339.type=1809719519;return _this339;}return _createClass(IfcFaceBound);}(IfcTopologicalRepresentationItem);IFC2X32.IfcFaceBound=IfcFaceBound;var IfcFaceOuterBound=/*#__PURE__*/function(_IfcFaceBound){_inherits(IfcFaceOuterBound,_IfcFaceBound);var _super337=_createSuper(IfcFaceOuterBound);function IfcFaceOuterBound(expressID,Bound,Orientation){var _this340;_classCallCheck(this,IfcFaceOuterBound);_this340=_super337.call(this,expressID,Bound,Orientation);_this340.Bound=Bound;_this340.Orientation=Orientation;_this340.type=803316827;return _this340;}return _createClass(IfcFaceOuterBound);}(IfcFaceBound);IFC2X32.IfcFaceOuterBound=IfcFaceOuterBound;var IfcFaceSurface=/*#__PURE__*/function(_IfcFace){_inherits(IfcFaceSurface,_IfcFace);var _super338=_createSuper(IfcFaceSurface);function IfcFaceSurface(expressID,Bounds,FaceSurface,SameSense){var _this341;_classCallCheck(this,IfcFaceSurface);_this341=_super338.call(this,expressID,Bounds);_this341.Bounds=Bounds;_this341.FaceSurface=FaceSurface;_this341.SameSense=SameSense;_this341.type=3008276851;return _this341;}return _createClass(IfcFaceSurface);}(IfcFace);IFC2X32.IfcFaceSurface=IfcFaceSurface;var IfcFailureConnectionCondition=/*#__PURE__*/function(_IfcStructuralConnect){_inherits(IfcFailureConnectionCondition,_IfcStructuralConnect);var _super339=_createSuper(IfcFailureConnectionCondition);function IfcFailureConnectionCondition(expressID,Name,TensionFailureX,TensionFailureY,TensionFailureZ,CompressionFailureX,CompressionFailureY,CompressionFailureZ){var _this342;_classCallCheck(this,IfcFailureConnectionCondition);_this342=_super339.call(this,expressID,Name);_this342.Name=Name;_this342.TensionFailureX=TensionFailureX;_this342.TensionFailureY=TensionFailureY;_this342.TensionFailureZ=TensionFailureZ;_this342.CompressionFailureX=CompressionFailureX;_this342.CompressionFailureY=CompressionFailureY;_this342.CompressionFailureZ=CompressionFailureZ;_this342.type=4219587988;return _this342;}return _createClass(IfcFailureConnectionCondition);}(IfcStructuralConnectionCondition);IFC2X32.IfcFailureConnectionCondition=IfcFailureConnectionCondition;var IfcFillAreaStyle=/*#__PURE__*/function(_IfcPresentationStyle5){_inherits(IfcFillAreaStyle,_IfcPresentationStyle5);var _super340=_createSuper(IfcFillAreaStyle);function IfcFillAreaStyle(expressID,Name,FillStyles){var _this343;_classCallCheck(this,IfcFillAreaStyle);_this343=_super340.call(this,expressID,Name);_this343.Name=Name;_this343.FillStyles=FillStyles;_this343.type=738692330;return _this343;}return _createClass(IfcFillAreaStyle);}(IfcPresentationStyle);IFC2X32.IfcFillAreaStyle=IfcFillAreaStyle;var IfcFuelProperties=/*#__PURE__*/function(_IfcMaterialPropertie7){_inherits(IfcFuelProperties,_IfcMaterialPropertie7);var _super341=_createSuper(IfcFuelProperties);function IfcFuelProperties(expressID,Material,CombustionTemperature,CarbonContent,LowerHeatingValue,HigherHeatingValue){var _this344;_classCallCheck(this,IfcFuelProperties);_this344=_super341.call(this,expressID,Material);_this344.Material=Material;_this344.CombustionTemperature=CombustionTemperature;_this344.CarbonContent=CarbonContent;_this344.LowerHeatingValue=LowerHeatingValue;_this344.HigherHeatingValue=HigherHeatingValue;_this344.type=3857492461;return _this344;}return _createClass(IfcFuelProperties);}(IfcMaterialProperties);IFC2X32.IfcFuelProperties=IfcFuelProperties;var IfcGeneralMaterialProperties=/*#__PURE__*/function(_IfcMaterialPropertie8){_inherits(IfcGeneralMaterialProperties,_IfcMaterialPropertie8);var _super342=_createSuper(IfcGeneralMaterialProperties);function IfcGeneralMaterialProperties(expressID,Material,MolecularWeight,Porosity,MassDensity){var _this345;_classCallCheck(this,IfcGeneralMaterialProperties);_this345=_super342.call(this,expressID,Material);_this345.Material=Material;_this345.MolecularWeight=MolecularWeight;_this345.Porosity=Porosity;_this345.MassDensity=MassDensity;_this345.type=803998398;return _this345;}return _createClass(IfcGeneralMaterialProperties);}(IfcMaterialProperties);IFC2X32.IfcGeneralMaterialProperties=IfcGeneralMaterialProperties;var IfcGeneralProfileProperties=/*#__PURE__*/function(_IfcProfileProperties2){_inherits(IfcGeneralProfileProperties,_IfcProfileProperties2);var _super343=_createSuper(IfcGeneralProfileProperties);function IfcGeneralProfileProperties(expressID,ProfileName,ProfileDefinition,PhysicalWeight,Perimeter,MinimumPlateThickness,MaximumPlateThickness,CrossSectionArea){var _this346;_classCallCheck(this,IfcGeneralProfileProperties);_this346=_super343.call(this,expressID,ProfileName,ProfileDefinition);_this346.ProfileName=ProfileName;_this346.ProfileDefinition=ProfileDefinition;_this346.PhysicalWeight=PhysicalWeight;_this346.Perimeter=Perimeter;_this346.MinimumPlateThickness=MinimumPlateThickness;_this346.MaximumPlateThickness=MaximumPlateThickness;_this346.CrossSectionArea=CrossSectionArea;_this346.type=1446786286;return _this346;}return _createClass(IfcGeneralProfileProperties);}(IfcProfileProperties);IFC2X32.IfcGeneralProfileProperties=IfcGeneralProfileProperties;var IfcGeometricRepresentationContext=/*#__PURE__*/function(_IfcRepresentationCon){_inherits(IfcGeometricRepresentationContext,_IfcRepresentationCon);var _super344=_createSuper(IfcGeometricRepresentationContext);function IfcGeometricRepresentationContext(expressID,ContextIdentifier,ContextType,CoordinateSpaceDimension,Precision,WorldCoordinateSystem,TrueNorth){var _this347;_classCallCheck(this,IfcGeometricRepresentationContext);_this347=_super344.call(this,expressID,ContextIdentifier,ContextType);_this347.ContextIdentifier=ContextIdentifier;_this347.ContextType=ContextType;_this347.CoordinateSpaceDimension=CoordinateSpaceDimension;_this347.Precision=Precision;_this347.WorldCoordinateSystem=WorldCoordinateSystem;_this347.TrueNorth=TrueNorth;_this347.type=3448662350;return _this347;}return _createClass(IfcGeometricRepresentationContext);}(IfcRepresentationContext);IFC2X32.IfcGeometricRepresentationContext=IfcGeometricRepresentationContext;var IfcGeometricRepresentationItem=/*#__PURE__*/function(_IfcRepresentationIte3){_inherits(IfcGeometricRepresentationItem,_IfcRepresentationIte3);var _super345=_createSuper(IfcGeometricRepresentationItem);function IfcGeometricRepresentationItem(expressID){var _this348;_classCallCheck(this,IfcGeometricRepresentationItem);_this348=_super345.call(this,expressID);_this348.type=2453401579;return _this348;}return _createClass(IfcGeometricRepresentationItem);}(IfcRepresentationItem);IFC2X32.IfcGeometricRepresentationItem=IfcGeometricRepresentationItem;var IfcGeometricRepresentationSubContext=/*#__PURE__*/function(_IfcGeometricRepresen){_inherits(IfcGeometricRepresentationSubContext,_IfcGeometricRepresen);var _super346=_createSuper(IfcGeometricRepresentationSubContext);function IfcGeometricRepresentationSubContext(expressID,ContextIdentifier,ContextType,ParentContext,TargetScale,TargetView,UserDefinedTargetView){var _this349;_classCallCheck(this,IfcGeometricRepresentationSubContext);_this349=_super346.call(this,expressID,ContextIdentifier,ContextType,new IfcDimensionCount(0),null,new Handle(0),null);_this349.ContextIdentifier=ContextIdentifier;_this349.ContextType=ContextType;_this349.ParentContext=ParentContext;_this349.TargetScale=TargetScale;_this349.TargetView=TargetView;_this349.UserDefinedTargetView=UserDefinedTargetView;_this349.type=4142052618;return _this349;}return _createClass(IfcGeometricRepresentationSubContext);}(IfcGeometricRepresentationContext);IFC2X32.IfcGeometricRepresentationSubContext=IfcGeometricRepresentationSubContext;var IfcGeometricSet=/*#__PURE__*/function(_IfcGeometricRepresen2){_inherits(IfcGeometricSet,_IfcGeometricRepresen2);var _super347=_createSuper(IfcGeometricSet);function IfcGeometricSet(expressID,Elements){var _this350;_classCallCheck(this,IfcGeometricSet);_this350=_super347.call(this,expressID);_this350.Elements=Elements;_this350.type=3590301190;return _this350;}return _createClass(IfcGeometricSet);}(IfcGeometricRepresentationItem);IFC2X32.IfcGeometricSet=IfcGeometricSet;var IfcGridPlacement=/*#__PURE__*/function(_IfcObjectPlacement){_inherits(IfcGridPlacement,_IfcObjectPlacement);var _super348=_createSuper(IfcGridPlacement);function IfcGridPlacement(expressID,PlacementLocation,PlacementRefDirection){var _this351;_classCallCheck(this,IfcGridPlacement);_this351=_super348.call(this,expressID);_this351.PlacementLocation=PlacementLocation;_this351.PlacementRefDirection=PlacementRefDirection;_this351.type=178086475;return _this351;}return _createClass(IfcGridPlacement);}(IfcObjectPlacement);IFC2X32.IfcGridPlacement=IfcGridPlacement;var IfcHalfSpaceSolid=/*#__PURE__*/function(_IfcGeometricRepresen3){_inherits(IfcHalfSpaceSolid,_IfcGeometricRepresen3);var _super349=_createSuper(IfcHalfSpaceSolid);function IfcHalfSpaceSolid(expressID,BaseSurface,AgreementFlag){var _this352;_classCallCheck(this,IfcHalfSpaceSolid);_this352=_super349.call(this,expressID);_this352.BaseSurface=BaseSurface;_this352.AgreementFlag=AgreementFlag;_this352.type=812098782;return _this352;}return _createClass(IfcHalfSpaceSolid);}(IfcGeometricRepresentationItem);IFC2X32.IfcHalfSpaceSolid=IfcHalfSpaceSolid;var IfcHygroscopicMaterialProperties=/*#__PURE__*/function(_IfcMaterialPropertie9){_inherits(IfcHygroscopicMaterialProperties,_IfcMaterialPropertie9);var _super350=_createSuper(IfcHygroscopicMaterialProperties);function IfcHygroscopicMaterialProperties(expressID,Material,UpperVaporResistanceFactor,LowerVaporResistanceFactor,IsothermalMoistureCapacity,VaporPermeability,MoistureDiffusivity){var _this353;_classCallCheck(this,IfcHygroscopicMaterialProperties);_this353=_super350.call(this,expressID,Material);_this353.Material=Material;_this353.UpperVaporResistanceFactor=UpperVaporResistanceFactor;_this353.LowerVaporResistanceFactor=LowerVaporResistanceFactor;_this353.IsothermalMoistureCapacity=IsothermalMoistureCapacity;_this353.VaporPermeability=VaporPermeability;_this353.MoistureDiffusivity=MoistureDiffusivity;_this353.type=2445078500;return _this353;}return _createClass(IfcHygroscopicMaterialProperties);}(IfcMaterialProperties);IFC2X32.IfcHygroscopicMaterialProperties=IfcHygroscopicMaterialProperties;var IfcImageTexture=/*#__PURE__*/function(_IfcSurfaceTexture2){_inherits(IfcImageTexture,_IfcSurfaceTexture2);var _super351=_createSuper(IfcImageTexture);function IfcImageTexture(expressID,RepeatS,RepeatT,TextureType,TextureTransform,UrlReference){var _this354;_classCallCheck(this,IfcImageTexture);_this354=_super351.call(this,expressID,RepeatS,RepeatT,TextureType,TextureTransform);_this354.RepeatS=RepeatS;_this354.RepeatT=RepeatT;_this354.TextureType=TextureType;_this354.TextureTransform=TextureTransform;_this354.UrlReference=UrlReference;_this354.type=3905492369;return _this354;}return _createClass(IfcImageTexture);}(IfcSurfaceTexture);IFC2X32.IfcImageTexture=IfcImageTexture;var IfcIrregularTimeSeries=/*#__PURE__*/function(_IfcTimeSeries){_inherits(IfcIrregularTimeSeries,_IfcTimeSeries);var _super352=_createSuper(IfcIrregularTimeSeries);function IfcIrregularTimeSeries(expressID,Name,Description,StartTime,EndTime,TimeSeriesDataType,DataOrigin,UserDefinedDataOrigin,Unit,Values){var _this355;_classCallCheck(this,IfcIrregularTimeSeries);_this355=_super352.call(this,expressID,Name,Description,StartTime,EndTime,TimeSeriesDataType,DataOrigin,UserDefinedDataOrigin,Unit);_this355.Name=Name;_this355.Description=Description;_this355.StartTime=StartTime;_this355.EndTime=EndTime;_this355.TimeSeriesDataType=TimeSeriesDataType;_this355.DataOrigin=DataOrigin;_this355.UserDefinedDataOrigin=UserDefinedDataOrigin;_this355.Unit=Unit;_this355.Values=Values;_this355.type=3741457305;return _this355;}return _createClass(IfcIrregularTimeSeries);}(IfcTimeSeries);IFC2X32.IfcIrregularTimeSeries=IfcIrregularTimeSeries;var IfcLightSource=/*#__PURE__*/function(_IfcGeometricRepresen4){_inherits(IfcLightSource,_IfcGeometricRepresen4);var _super353=_createSuper(IfcLightSource);function IfcLightSource(expressID,Name,LightColour,AmbientIntensity,Intensity){var _this356;_classCallCheck(this,IfcLightSource);_this356=_super353.call(this,expressID);_this356.Name=Name;_this356.LightColour=LightColour;_this356.AmbientIntensity=AmbientIntensity;_this356.Intensity=Intensity;_this356.type=1402838566;return _this356;}return _createClass(IfcLightSource);}(IfcGeometricRepresentationItem);IFC2X32.IfcLightSource=IfcLightSource;var IfcLightSourceAmbient=/*#__PURE__*/function(_IfcLightSource){_inherits(IfcLightSourceAmbient,_IfcLightSource);var _super354=_createSuper(IfcLightSourceAmbient);function IfcLightSourceAmbient(expressID,Name,LightColour,AmbientIntensity,Intensity){var _this357;_classCallCheck(this,IfcLightSourceAmbient);_this357=_super354.call(this,expressID,Name,LightColour,AmbientIntensity,Intensity);_this357.Name=Name;_this357.LightColour=LightColour;_this357.AmbientIntensity=AmbientIntensity;_this357.Intensity=Intensity;_this357.type=125510826;return _this357;}return _createClass(IfcLightSourceAmbient);}(IfcLightSource);IFC2X32.IfcLightSourceAmbient=IfcLightSourceAmbient;var IfcLightSourceDirectional=/*#__PURE__*/function(_IfcLightSource2){_inherits(IfcLightSourceDirectional,_IfcLightSource2);var _super355=_createSuper(IfcLightSourceDirectional);function IfcLightSourceDirectional(expressID,Name,LightColour,AmbientIntensity,Intensity,Orientation){var _this358;_classCallCheck(this,IfcLightSourceDirectional);_this358=_super355.call(this,expressID,Name,LightColour,AmbientIntensity,Intensity);_this358.Name=Name;_this358.LightColour=LightColour;_this358.AmbientIntensity=AmbientIntensity;_this358.Intensity=Intensity;_this358.Orientation=Orientation;_this358.type=2604431987;return _this358;}return _createClass(IfcLightSourceDirectional);}(IfcLightSource);IFC2X32.IfcLightSourceDirectional=IfcLightSourceDirectional;var IfcLightSourceGoniometric=/*#__PURE__*/function(_IfcLightSource3){_inherits(IfcLightSourceGoniometric,_IfcLightSource3);var _super356=_createSuper(IfcLightSourceGoniometric);function IfcLightSourceGoniometric(expressID,Name,LightColour,AmbientIntensity,Intensity,Position,ColourAppearance,ColourTemperature,LuminousFlux,LightEmissionSource,LightDistributionDataSource){var _this359;_classCallCheck(this,IfcLightSourceGoniometric);_this359=_super356.call(this,expressID,Name,LightColour,AmbientIntensity,Intensity);_this359.Name=Name;_this359.LightColour=LightColour;_this359.AmbientIntensity=AmbientIntensity;_this359.Intensity=Intensity;_this359.Position=Position;_this359.ColourAppearance=ColourAppearance;_this359.ColourTemperature=ColourTemperature;_this359.LuminousFlux=LuminousFlux;_this359.LightEmissionSource=LightEmissionSource;_this359.LightDistributionDataSource=LightDistributionDataSource;_this359.type=4266656042;return _this359;}return _createClass(IfcLightSourceGoniometric);}(IfcLightSource);IFC2X32.IfcLightSourceGoniometric=IfcLightSourceGoniometric;var IfcLightSourcePositional=/*#__PURE__*/function(_IfcLightSource4){_inherits(IfcLightSourcePositional,_IfcLightSource4);var _super357=_createSuper(IfcLightSourcePositional);function IfcLightSourcePositional(expressID,Name,LightColour,AmbientIntensity,Intensity,Position,Radius,ConstantAttenuation,DistanceAttenuation,QuadricAttenuation){var _this360;_classCallCheck(this,IfcLightSourcePositional);_this360=_super357.call(this,expressID,Name,LightColour,AmbientIntensity,Intensity);_this360.Name=Name;_this360.LightColour=LightColour;_this360.AmbientIntensity=AmbientIntensity;_this360.Intensity=Intensity;_this360.Position=Position;_this360.Radius=Radius;_this360.ConstantAttenuation=ConstantAttenuation;_this360.DistanceAttenuation=DistanceAttenuation;_this360.QuadricAttenuation=QuadricAttenuation;_this360.type=1520743889;return _this360;}return _createClass(IfcLightSourcePositional);}(IfcLightSource);IFC2X32.IfcLightSourcePositional=IfcLightSourcePositional;var IfcLightSourceSpot=/*#__PURE__*/function(_IfcLightSourcePositi){_inherits(IfcLightSourceSpot,_IfcLightSourcePositi);var _super358=_createSuper(IfcLightSourceSpot);function IfcLightSourceSpot(expressID,Name,LightColour,AmbientIntensity,Intensity,Position,Radius,ConstantAttenuation,DistanceAttenuation,QuadricAttenuation,Orientation,ConcentrationExponent,SpreadAngle,BeamWidthAngle){var _this361;_classCallCheck(this,IfcLightSourceSpot);_this361=_super358.call(this,expressID,Name,LightColour,AmbientIntensity,Intensity,Position,Radius,ConstantAttenuation,DistanceAttenuation,QuadricAttenuation);_this361.Name=Name;_this361.LightColour=LightColour;_this361.AmbientIntensity=AmbientIntensity;_this361.Intensity=Intensity;_this361.Position=Position;_this361.Radius=Radius;_this361.ConstantAttenuation=ConstantAttenuation;_this361.DistanceAttenuation=DistanceAttenuation;_this361.QuadricAttenuation=QuadricAttenuation;_this361.Orientation=Orientation;_this361.ConcentrationExponent=ConcentrationExponent;_this361.SpreadAngle=SpreadAngle;_this361.BeamWidthAngle=BeamWidthAngle;_this361.type=3422422726;return _this361;}return _createClass(IfcLightSourceSpot);}(IfcLightSourcePositional);IFC2X32.IfcLightSourceSpot=IfcLightSourceSpot;var IfcLocalPlacement=/*#__PURE__*/function(_IfcObjectPlacement2){_inherits(IfcLocalPlacement,_IfcObjectPlacement2);var _super359=_createSuper(IfcLocalPlacement);function IfcLocalPlacement(expressID,PlacementRelTo,RelativePlacement){var _this362;_classCallCheck(this,IfcLocalPlacement);_this362=_super359.call(this,expressID);_this362.PlacementRelTo=PlacementRelTo;_this362.RelativePlacement=RelativePlacement;_this362.type=2624227202;return _this362;}return _createClass(IfcLocalPlacement);}(IfcObjectPlacement);IFC2X32.IfcLocalPlacement=IfcLocalPlacement;var IfcLoop=/*#__PURE__*/function(_IfcTopologicalRepres6){_inherits(IfcLoop,_IfcTopologicalRepres6);var _super360=_createSuper(IfcLoop);function IfcLoop(expressID){var _this363;_classCallCheck(this,IfcLoop);_this363=_super360.call(this,expressID);_this363.type=1008929658;return _this363;}return _createClass(IfcLoop);}(IfcTopologicalRepresentationItem);IFC2X32.IfcLoop=IfcLoop;var IfcMappedItem=/*#__PURE__*/function(_IfcRepresentationIte4){_inherits(IfcMappedItem,_IfcRepresentationIte4);var _super361=_createSuper(IfcMappedItem);function IfcMappedItem(expressID,MappingSource,MappingTarget){var _this364;_classCallCheck(this,IfcMappedItem);_this364=_super361.call(this,expressID);_this364.MappingSource=MappingSource;_this364.MappingTarget=MappingTarget;_this364.type=2347385850;return _this364;}return _createClass(IfcMappedItem);}(IfcRepresentationItem);IFC2X32.IfcMappedItem=IfcMappedItem;var IfcMaterialDefinitionRepresentation=/*#__PURE__*/function(_IfcProductRepresenta){_inherits(IfcMaterialDefinitionRepresentation,_IfcProductRepresenta);var _super362=_createSuper(IfcMaterialDefinitionRepresentation);function IfcMaterialDefinitionRepresentation(expressID,Name,Description,Representations,RepresentedMaterial){var _this365;_classCallCheck(this,IfcMaterialDefinitionRepresentation);_this365=_super362.call(this,expressID,Name,Description,Representations);_this365.Name=Name;_this365.Description=Description;_this365.Representations=Representations;_this365.RepresentedMaterial=RepresentedMaterial;_this365.type=2022407955;return _this365;}return _createClass(IfcMaterialDefinitionRepresentation);}(IfcProductRepresentation);IFC2X32.IfcMaterialDefinitionRepresentation=IfcMaterialDefinitionRepresentation;var IfcMechanicalConcreteMaterialProperties=/*#__PURE__*/function(_IfcMechanicalMateria2){_inherits(IfcMechanicalConcreteMaterialProperties,_IfcMechanicalMateria2);var _super363=_createSuper(IfcMechanicalConcreteMaterialProperties);function IfcMechanicalConcreteMaterialProperties(expressID,Material,DynamicViscosity,YoungModulus,ShearModulus,PoissonRatio,ThermalExpansionCoefficient,CompressiveStrength,MaxAggregateSize,AdmixturesDescription,Workability,ProtectivePoreRatio,WaterImpermeability){var _this366;_classCallCheck(this,IfcMechanicalConcreteMaterialProperties);_this366=_super363.call(this,expressID,Material,DynamicViscosity,YoungModulus,ShearModulus,PoissonRatio,ThermalExpansionCoefficient);_this366.Material=Material;_this366.DynamicViscosity=DynamicViscosity;_this366.YoungModulus=YoungModulus;_this366.ShearModulus=ShearModulus;_this366.PoissonRatio=PoissonRatio;_this366.ThermalExpansionCoefficient=ThermalExpansionCoefficient;_this366.CompressiveStrength=CompressiveStrength;_this366.MaxAggregateSize=MaxAggregateSize;_this366.AdmixturesDescription=AdmixturesDescription;_this366.Workability=Workability;_this366.ProtectivePoreRatio=ProtectivePoreRatio;_this366.WaterImpermeability=WaterImpermeability;_this366.type=1430189142;return _this366;}return _createClass(IfcMechanicalConcreteMaterialProperties);}(IfcMechanicalMaterialProperties);IFC2X32.IfcMechanicalConcreteMaterialProperties=IfcMechanicalConcreteMaterialProperties;var IfcObjectDefinition=/*#__PURE__*/function(_IfcRoot){_inherits(IfcObjectDefinition,_IfcRoot);var _super364=_createSuper(IfcObjectDefinition);function IfcObjectDefinition(expressID,GlobalId,OwnerHistory,Name,Description){var _this367;_classCallCheck(this,IfcObjectDefinition);_this367=_super364.call(this,expressID,GlobalId,OwnerHistory,Name,Description);_this367.GlobalId=GlobalId;_this367.OwnerHistory=OwnerHistory;_this367.Name=Name;_this367.Description=Description;_this367.type=219451334;return _this367;}return _createClass(IfcObjectDefinition);}(IfcRoot);IFC2X32.IfcObjectDefinition=IfcObjectDefinition;var IfcOneDirectionRepeatFactor=/*#__PURE__*/function(_IfcGeometricRepresen5){_inherits(IfcOneDirectionRepeatFactor,_IfcGeometricRepresen5);var _super365=_createSuper(IfcOneDirectionRepeatFactor);function IfcOneDirectionRepeatFactor(expressID,RepeatFactor){var _this368;_classCallCheck(this,IfcOneDirectionRepeatFactor);_this368=_super365.call(this,expressID);_this368.RepeatFactor=RepeatFactor;_this368.type=2833995503;return _this368;}return _createClass(IfcOneDirectionRepeatFactor);}(IfcGeometricRepresentationItem);IFC2X32.IfcOneDirectionRepeatFactor=IfcOneDirectionRepeatFactor;var IfcOpenShell=/*#__PURE__*/function(_IfcConnectedFaceSet){_inherits(IfcOpenShell,_IfcConnectedFaceSet);var _super366=_createSuper(IfcOpenShell);function IfcOpenShell(expressID,CfsFaces){var _this369;_classCallCheck(this,IfcOpenShell);_this369=_super366.call(this,expressID,CfsFaces);_this369.CfsFaces=CfsFaces;_this369.type=2665983363;return _this369;}return _createClass(IfcOpenShell);}(IfcConnectedFaceSet);IFC2X32.IfcOpenShell=IfcOpenShell;var IfcOrientedEdge=/*#__PURE__*/function(_IfcEdge2){_inherits(IfcOrientedEdge,_IfcEdge2);var _super367=_createSuper(IfcOrientedEdge);function IfcOrientedEdge(expressID,EdgeElement,Orientation){var _this370;_classCallCheck(this,IfcOrientedEdge);_this370=_super367.call(this,expressID,new Handle(0),new Handle(0));_this370.EdgeElement=EdgeElement;_this370.Orientation=Orientation;_this370.type=1029017970;return _this370;}return _createClass(IfcOrientedEdge);}(IfcEdge);IFC2X32.IfcOrientedEdge=IfcOrientedEdge;var IfcParameterizedProfileDef=/*#__PURE__*/function(_IfcProfileDef5){_inherits(IfcParameterizedProfileDef,_IfcProfileDef5);var _super368=_createSuper(IfcParameterizedProfileDef);function IfcParameterizedProfileDef(expressID,ProfileType,ProfileName,Position){var _this371;_classCallCheck(this,IfcParameterizedProfileDef);_this371=_super368.call(this,expressID,ProfileType,ProfileName);_this371.ProfileType=ProfileType;_this371.ProfileName=ProfileName;_this371.Position=Position;_this371.type=2529465313;return _this371;}return _createClass(IfcParameterizedProfileDef);}(IfcProfileDef);IFC2X32.IfcParameterizedProfileDef=IfcParameterizedProfileDef;var IfcPath=/*#__PURE__*/function(_IfcTopologicalRepres7){_inherits(IfcPath,_IfcTopologicalRepres7);var _super369=_createSuper(IfcPath);function IfcPath(expressID,EdgeList){var _this372;_classCallCheck(this,IfcPath);_this372=_super369.call(this,expressID);_this372.EdgeList=EdgeList;_this372.type=2519244187;return _this372;}return _createClass(IfcPath);}(IfcTopologicalRepresentationItem);IFC2X32.IfcPath=IfcPath;var IfcPhysicalComplexQuantity=/*#__PURE__*/function(_IfcPhysicalQuantity2){_inherits(IfcPhysicalComplexQuantity,_IfcPhysicalQuantity2);var _super370=_createSuper(IfcPhysicalComplexQuantity);function IfcPhysicalComplexQuantity(expressID,Name,Description,HasQuantities,Discrimination,Quality,Usage){var _this373;_classCallCheck(this,IfcPhysicalComplexQuantity);_this373=_super370.call(this,expressID,Name,Description);_this373.Name=Name;_this373.Description=Description;_this373.HasQuantities=HasQuantities;_this373.Discrimination=Discrimination;_this373.Quality=Quality;_this373.Usage=Usage;_this373.type=3021840470;return _this373;}return _createClass(IfcPhysicalComplexQuantity);}(IfcPhysicalQuantity);IFC2X32.IfcPhysicalComplexQuantity=IfcPhysicalComplexQuantity;var IfcPixelTexture=/*#__PURE__*/function(_IfcSurfaceTexture3){_inherits(IfcPixelTexture,_IfcSurfaceTexture3);var _super371=_createSuper(IfcPixelTexture);function IfcPixelTexture(expressID,RepeatS,RepeatT,TextureType,TextureTransform,Width,Height,ColourComponents,Pixel){var _this374;_classCallCheck(this,IfcPixelTexture);_this374=_super371.call(this,expressID,RepeatS,RepeatT,TextureType,TextureTransform);_this374.RepeatS=RepeatS;_this374.RepeatT=RepeatT;_this374.TextureType=TextureType;_this374.TextureTransform=TextureTransform;_this374.Width=Width;_this374.Height=Height;_this374.ColourComponents=ColourComponents;_this374.Pixel=Pixel;_this374.type=597895409;return _this374;}return _createClass(IfcPixelTexture);}(IfcSurfaceTexture);IFC2X32.IfcPixelTexture=IfcPixelTexture;var IfcPlacement=/*#__PURE__*/function(_IfcGeometricRepresen6){_inherits(IfcPlacement,_IfcGeometricRepresen6);var _super372=_createSuper(IfcPlacement);function IfcPlacement(expressID,Location){var _this375;_classCallCheck(this,IfcPlacement);_this375=_super372.call(this,expressID);_this375.Location=Location;_this375.type=2004835150;return _this375;}return _createClass(IfcPlacement);}(IfcGeometricRepresentationItem);IFC2X32.IfcPlacement=IfcPlacement;var IfcPlanarExtent=/*#__PURE__*/function(_IfcGeometricRepresen7){_inherits(IfcPlanarExtent,_IfcGeometricRepresen7);var _super373=_createSuper(IfcPlanarExtent);function IfcPlanarExtent(expressID,SizeInX,SizeInY){var _this376;_classCallCheck(this,IfcPlanarExtent);_this376=_super373.call(this,expressID);_this376.SizeInX=SizeInX;_this376.SizeInY=SizeInY;_this376.type=1663979128;return _this376;}return _createClass(IfcPlanarExtent);}(IfcGeometricRepresentationItem);IFC2X32.IfcPlanarExtent=IfcPlanarExtent;var IfcPoint=/*#__PURE__*/function(_IfcGeometricRepresen8){_inherits(IfcPoint,_IfcGeometricRepresen8);var _super374=_createSuper(IfcPoint);function IfcPoint(expressID){var _this377;_classCallCheck(this,IfcPoint);_this377=_super374.call(this,expressID);_this377.type=2067069095;return _this377;}return _createClass(IfcPoint);}(IfcGeometricRepresentationItem);IFC2X32.IfcPoint=IfcPoint;var IfcPointOnCurve=/*#__PURE__*/function(_IfcPoint){_inherits(IfcPointOnCurve,_IfcPoint);var _super375=_createSuper(IfcPointOnCurve);function IfcPointOnCurve(expressID,BasisCurve,PointParameter){var _this378;_classCallCheck(this,IfcPointOnCurve);_this378=_super375.call(this,expressID);_this378.BasisCurve=BasisCurve;_this378.PointParameter=PointParameter;_this378.type=4022376103;return _this378;}return _createClass(IfcPointOnCurve);}(IfcPoint);IFC2X32.IfcPointOnCurve=IfcPointOnCurve;var IfcPointOnSurface=/*#__PURE__*/function(_IfcPoint2){_inherits(IfcPointOnSurface,_IfcPoint2);var _super376=_createSuper(IfcPointOnSurface);function IfcPointOnSurface(expressID,BasisSurface,PointParameterU,PointParameterV){var _this379;_classCallCheck(this,IfcPointOnSurface);_this379=_super376.call(this,expressID);_this379.BasisSurface=BasisSurface;_this379.PointParameterU=PointParameterU;_this379.PointParameterV=PointParameterV;_this379.type=1423911732;return _this379;}return _createClass(IfcPointOnSurface);}(IfcPoint);IFC2X32.IfcPointOnSurface=IfcPointOnSurface;var IfcPolyLoop=/*#__PURE__*/function(_IfcLoop){_inherits(IfcPolyLoop,_IfcLoop);var _super377=_createSuper(IfcPolyLoop);function IfcPolyLoop(expressID,Polygon){var _this380;_classCallCheck(this,IfcPolyLoop);_this380=_super377.call(this,expressID);_this380.Polygon=Polygon;_this380.type=2924175390;return _this380;}return _createClass(IfcPolyLoop);}(IfcLoop);IFC2X32.IfcPolyLoop=IfcPolyLoop;var IfcPolygonalBoundedHalfSpace=/*#__PURE__*/function(_IfcHalfSpaceSolid){_inherits(IfcPolygonalBoundedHalfSpace,_IfcHalfSpaceSolid);var _super378=_createSuper(IfcPolygonalBoundedHalfSpace);function IfcPolygonalBoundedHalfSpace(expressID,BaseSurface,AgreementFlag,Position,PolygonalBoundary){var _this381;_classCallCheck(this,IfcPolygonalBoundedHalfSpace);_this381=_super378.call(this,expressID,BaseSurface,AgreementFlag);_this381.BaseSurface=BaseSurface;_this381.AgreementFlag=AgreementFlag;_this381.Position=Position;_this381.PolygonalBoundary=PolygonalBoundary;_this381.type=2775532180;return _this381;}return _createClass(IfcPolygonalBoundedHalfSpace);}(IfcHalfSpaceSolid);IFC2X32.IfcPolygonalBoundedHalfSpace=IfcPolygonalBoundedHalfSpace;var IfcPreDefinedColour=/*#__PURE__*/function(_IfcPreDefinedItem3){_inherits(IfcPreDefinedColour,_IfcPreDefinedItem3);var _super379=_createSuper(IfcPreDefinedColour);function IfcPreDefinedColour(expressID,Name){var _this382;_classCallCheck(this,IfcPreDefinedColour);_this382=_super379.call(this,expressID,Name);_this382.Name=Name;_this382.type=759155922;return _this382;}return _createClass(IfcPreDefinedColour);}(IfcPreDefinedItem);IFC2X32.IfcPreDefinedColour=IfcPreDefinedColour;var IfcPreDefinedCurveFont=/*#__PURE__*/function(_IfcPreDefinedItem4){_inherits(IfcPreDefinedCurveFont,_IfcPreDefinedItem4);var _super380=_createSuper(IfcPreDefinedCurveFont);function IfcPreDefinedCurveFont(expressID,Name){var _this383;_classCallCheck(this,IfcPreDefinedCurveFont);_this383=_super380.call(this,expressID,Name);_this383.Name=Name;_this383.type=2559016684;return _this383;}return _createClass(IfcPreDefinedCurveFont);}(IfcPreDefinedItem);IFC2X32.IfcPreDefinedCurveFont=IfcPreDefinedCurveFont;var IfcPreDefinedDimensionSymbol=/*#__PURE__*/function(_IfcPreDefinedSymbol2){_inherits(IfcPreDefinedDimensionSymbol,_IfcPreDefinedSymbol2);var _super381=_createSuper(IfcPreDefinedDimensionSymbol);function IfcPreDefinedDimensionSymbol(expressID,Name){var _this384;_classCallCheck(this,IfcPreDefinedDimensionSymbol);_this384=_super381.call(this,expressID,Name);_this384.Name=Name;_this384.type=433424934;return _this384;}return _createClass(IfcPreDefinedDimensionSymbol);}(IfcPreDefinedSymbol);IFC2X32.IfcPreDefinedDimensionSymbol=IfcPreDefinedDimensionSymbol;var IfcPreDefinedPointMarkerSymbol=/*#__PURE__*/function(_IfcPreDefinedSymbol3){_inherits(IfcPreDefinedPointMarkerSymbol,_IfcPreDefinedSymbol3);var _super382=_createSuper(IfcPreDefinedPointMarkerSymbol);function IfcPreDefinedPointMarkerSymbol(expressID,Name){var _this385;_classCallCheck(this,IfcPreDefinedPointMarkerSymbol);_this385=_super382.call(this,expressID,Name);_this385.Name=Name;_this385.type=179317114;return _this385;}return _createClass(IfcPreDefinedPointMarkerSymbol);}(IfcPreDefinedSymbol);IFC2X32.IfcPreDefinedPointMarkerSymbol=IfcPreDefinedPointMarkerSymbol;var IfcProductDefinitionShape=/*#__PURE__*/function(_IfcProductRepresenta2){_inherits(IfcProductDefinitionShape,_IfcProductRepresenta2);var _super383=_createSuper(IfcProductDefinitionShape);function IfcProductDefinitionShape(expressID,Name,Description,Representations){var _this386;_classCallCheck(this,IfcProductDefinitionShape);_this386=_super383.call(this,expressID,Name,Description,Representations);_this386.Name=Name;_this386.Description=Description;_this386.Representations=Representations;_this386.type=673634403;return _this386;}return _createClass(IfcProductDefinitionShape);}(IfcProductRepresentation);IFC2X32.IfcProductDefinitionShape=IfcProductDefinitionShape;var IfcPropertyBoundedValue=/*#__PURE__*/function(_IfcSimpleProperty){_inherits(IfcPropertyBoundedValue,_IfcSimpleProperty);var _super384=_createSuper(IfcPropertyBoundedValue);function IfcPropertyBoundedValue(expressID,Name,Description,UpperBoundValue,LowerBoundValue,Unit){var _this387;_classCallCheck(this,IfcPropertyBoundedValue);_this387=_super384.call(this,expressID,Name,Description);_this387.Name=Name;_this387.Description=Description;_this387.UpperBoundValue=UpperBoundValue;_this387.LowerBoundValue=LowerBoundValue;_this387.Unit=Unit;_this387.type=871118103;return _this387;}return _createClass(IfcPropertyBoundedValue);}(IfcSimpleProperty);IFC2X32.IfcPropertyBoundedValue=IfcPropertyBoundedValue;var IfcPropertyDefinition=/*#__PURE__*/function(_IfcRoot2){_inherits(IfcPropertyDefinition,_IfcRoot2);var _super385=_createSuper(IfcPropertyDefinition);function IfcPropertyDefinition(expressID,GlobalId,OwnerHistory,Name,Description){var _this388;_classCallCheck(this,IfcPropertyDefinition);_this388=_super385.call(this,expressID,GlobalId,OwnerHistory,Name,Description);_this388.GlobalId=GlobalId;_this388.OwnerHistory=OwnerHistory;_this388.Name=Name;_this388.Description=Description;_this388.type=1680319473;return _this388;}return _createClass(IfcPropertyDefinition);}(IfcRoot);IFC2X32.IfcPropertyDefinition=IfcPropertyDefinition;var IfcPropertyEnumeratedValue=/*#__PURE__*/function(_IfcSimpleProperty2){_inherits(IfcPropertyEnumeratedValue,_IfcSimpleProperty2);var _super386=_createSuper(IfcPropertyEnumeratedValue);function IfcPropertyEnumeratedValue(expressID,Name,Description,EnumerationValues,EnumerationReference){var _this389;_classCallCheck(this,IfcPropertyEnumeratedValue);_this389=_super386.call(this,expressID,Name,Description);_this389.Name=Name;_this389.Description=Description;_this389.EnumerationValues=EnumerationValues;_this389.EnumerationReference=EnumerationReference;_this389.type=4166981789;return _this389;}return _createClass(IfcPropertyEnumeratedValue);}(IfcSimpleProperty);IFC2X32.IfcPropertyEnumeratedValue=IfcPropertyEnumeratedValue;var IfcPropertyListValue=/*#__PURE__*/function(_IfcSimpleProperty3){_inherits(IfcPropertyListValue,_IfcSimpleProperty3);var _super387=_createSuper(IfcPropertyListValue);function IfcPropertyListValue(expressID,Name,Description,ListValues,Unit){var _this390;_classCallCheck(this,IfcPropertyListValue);_this390=_super387.call(this,expressID,Name,Description);_this390.Name=Name;_this390.Description=Description;_this390.ListValues=ListValues;_this390.Unit=Unit;_this390.type=2752243245;return _this390;}return _createClass(IfcPropertyListValue);}(IfcSimpleProperty);IFC2X32.IfcPropertyListValue=IfcPropertyListValue;var IfcPropertyReferenceValue=/*#__PURE__*/function(_IfcSimpleProperty4){_inherits(IfcPropertyReferenceValue,_IfcSimpleProperty4);var _super388=_createSuper(IfcPropertyReferenceValue);function IfcPropertyReferenceValue(expressID,Name,Description,UsageName,PropertyReference){var _this391;_classCallCheck(this,IfcPropertyReferenceValue);_this391=_super388.call(this,expressID,Name,Description);_this391.Name=Name;_this391.Description=Description;_this391.UsageName=UsageName;_this391.PropertyReference=PropertyReference;_this391.type=941946838;return _this391;}return _createClass(IfcPropertyReferenceValue);}(IfcSimpleProperty);IFC2X32.IfcPropertyReferenceValue=IfcPropertyReferenceValue;var IfcPropertySetDefinition=/*#__PURE__*/function(_IfcPropertyDefinitio){_inherits(IfcPropertySetDefinition,_IfcPropertyDefinitio);var _super389=_createSuper(IfcPropertySetDefinition);function IfcPropertySetDefinition(expressID,GlobalId,OwnerHistory,Name,Description){var _this392;_classCallCheck(this,IfcPropertySetDefinition);_this392=_super389.call(this,expressID,GlobalId,OwnerHistory,Name,Description);_this392.GlobalId=GlobalId;_this392.OwnerHistory=OwnerHistory;_this392.Name=Name;_this392.Description=Description;_this392.type=3357820518;return _this392;}return _createClass(IfcPropertySetDefinition);}(IfcPropertyDefinition);IFC2X32.IfcPropertySetDefinition=IfcPropertySetDefinition;var IfcPropertySingleValue=/*#__PURE__*/function(_IfcSimpleProperty5){_inherits(IfcPropertySingleValue,_IfcSimpleProperty5);var _super390=_createSuper(IfcPropertySingleValue);function IfcPropertySingleValue(expressID,Name,Description,NominalValue,Unit){var _this393;_classCallCheck(this,IfcPropertySingleValue);_this393=_super390.call(this,expressID,Name,Description);_this393.Name=Name;_this393.Description=Description;_this393.NominalValue=NominalValue;_this393.Unit=Unit;_this393.type=3650150729;return _this393;}return _createClass(IfcPropertySingleValue);}(IfcSimpleProperty);IFC2X32.IfcPropertySingleValue=IfcPropertySingleValue;var IfcPropertyTableValue=/*#__PURE__*/function(_IfcSimpleProperty6){_inherits(IfcPropertyTableValue,_IfcSimpleProperty6);var _super391=_createSuper(IfcPropertyTableValue);function IfcPropertyTableValue(expressID,Name,Description,DefiningValues,DefinedValues,Expression,DefiningUnit,DefinedUnit){var _this394;_classCallCheck(this,IfcPropertyTableValue);_this394=_super391.call(this,expressID,Name,Description);_this394.Name=Name;_this394.Description=Description;_this394.DefiningValues=DefiningValues;_this394.DefinedValues=DefinedValues;_this394.Expression=Expression;_this394.DefiningUnit=DefiningUnit;_this394.DefinedUnit=DefinedUnit;_this394.type=110355661;return _this394;}return _createClass(IfcPropertyTableValue);}(IfcSimpleProperty);IFC2X32.IfcPropertyTableValue=IfcPropertyTableValue;var IfcRectangleProfileDef=/*#__PURE__*/function(_IfcParameterizedProf){_inherits(IfcRectangleProfileDef,_IfcParameterizedProf);var _super392=_createSuper(IfcRectangleProfileDef);function IfcRectangleProfileDef(expressID,ProfileType,ProfileName,Position,XDim,YDim){var _this395;_classCallCheck(this,IfcRectangleProfileDef);_this395=_super392.call(this,expressID,ProfileType,ProfileName,Position);_this395.ProfileType=ProfileType;_this395.ProfileName=ProfileName;_this395.Position=Position;_this395.XDim=XDim;_this395.YDim=YDim;_this395.type=3615266464;return _this395;}return _createClass(IfcRectangleProfileDef);}(IfcParameterizedProfileDef);IFC2X32.IfcRectangleProfileDef=IfcRectangleProfileDef;var IfcRegularTimeSeries=/*#__PURE__*/function(_IfcTimeSeries2){_inherits(IfcRegularTimeSeries,_IfcTimeSeries2);var _super393=_createSuper(IfcRegularTimeSeries);function IfcRegularTimeSeries(expressID,Name,Description,StartTime,EndTime,TimeSeriesDataType,DataOrigin,UserDefinedDataOrigin,Unit,TimeStep,Values){var _this396;_classCallCheck(this,IfcRegularTimeSeries);_this396=_super393.call(this,expressID,Name,Description,StartTime,EndTime,TimeSeriesDataType,DataOrigin,UserDefinedDataOrigin,Unit);_this396.Name=Name;_this396.Description=Description;_this396.StartTime=StartTime;_this396.EndTime=EndTime;_this396.TimeSeriesDataType=TimeSeriesDataType;_this396.DataOrigin=DataOrigin;_this396.UserDefinedDataOrigin=UserDefinedDataOrigin;_this396.Unit=Unit;_this396.TimeStep=TimeStep;_this396.Values=Values;_this396.type=3413951693;return _this396;}return _createClass(IfcRegularTimeSeries);}(IfcTimeSeries);IFC2X32.IfcRegularTimeSeries=IfcRegularTimeSeries;var IfcReinforcementDefinitionProperties=/*#__PURE__*/function(_IfcPropertySetDefini){_inherits(IfcReinforcementDefinitionProperties,_IfcPropertySetDefini);var _super394=_createSuper(IfcReinforcementDefinitionProperties);function IfcReinforcementDefinitionProperties(expressID,GlobalId,OwnerHistory,Name,Description,DefinitionType,ReinforcementSectionDefinitions){var _this397;_classCallCheck(this,IfcReinforcementDefinitionProperties);_this397=_super394.call(this,expressID,GlobalId,OwnerHistory,Name,Description);_this397.GlobalId=GlobalId;_this397.OwnerHistory=OwnerHistory;_this397.Name=Name;_this397.Description=Description;_this397.DefinitionType=DefinitionType;_this397.ReinforcementSectionDefinitions=ReinforcementSectionDefinitions;_this397.type=3765753017;return _this397;}return _createClass(IfcReinforcementDefinitionProperties);}(IfcPropertySetDefinition);IFC2X32.IfcReinforcementDefinitionProperties=IfcReinforcementDefinitionProperties;var IfcRelationship=/*#__PURE__*/function(_IfcRoot3){_inherits(IfcRelationship,_IfcRoot3);var _super395=_createSuper(IfcRelationship);function IfcRelationship(expressID,GlobalId,OwnerHistory,Name,Description){var _this398;_classCallCheck(this,IfcRelationship);_this398=_super395.call(this,expressID,GlobalId,OwnerHistory,Name,Description);_this398.GlobalId=GlobalId;_this398.OwnerHistory=OwnerHistory;_this398.Name=Name;_this398.Description=Description;_this398.type=478536968;return _this398;}return _createClass(IfcRelationship);}(IfcRoot);IFC2X32.IfcRelationship=IfcRelationship;var IfcRoundedRectangleProfileDef=/*#__PURE__*/function(_IfcRectangleProfileD){_inherits(IfcRoundedRectangleProfileDef,_IfcRectangleProfileD);var _super396=_createSuper(IfcRoundedRectangleProfileDef);function IfcRoundedRectangleProfileDef(expressID,ProfileType,ProfileName,Position,XDim,YDim,RoundingRadius){var _this399;_classCallCheck(this,IfcRoundedRectangleProfileDef);_this399=_super396.call(this,expressID,ProfileType,ProfileName,Position,XDim,YDim);_this399.ProfileType=ProfileType;_this399.ProfileName=ProfileName;_this399.Position=Position;_this399.XDim=XDim;_this399.YDim=YDim;_this399.RoundingRadius=RoundingRadius;_this399.type=2778083089;return _this399;}return _createClass(IfcRoundedRectangleProfileDef);}(IfcRectangleProfileDef);IFC2X32.IfcRoundedRectangleProfileDef=IfcRoundedRectangleProfileDef;var IfcSectionedSpine=/*#__PURE__*/function(_IfcGeometricRepresen9){_inherits(IfcSectionedSpine,_IfcGeometricRepresen9);var _super397=_createSuper(IfcSectionedSpine);function IfcSectionedSpine(expressID,SpineCurve,CrossSections,CrossSectionPositions){var _this400;_classCallCheck(this,IfcSectionedSpine);_this400=_super397.call(this,expressID);_this400.SpineCurve=SpineCurve;_this400.CrossSections=CrossSections;_this400.CrossSectionPositions=CrossSectionPositions;_this400.type=1509187699;return _this400;}return _createClass(IfcSectionedSpine);}(IfcGeometricRepresentationItem);IFC2X32.IfcSectionedSpine=IfcSectionedSpine;var IfcServiceLifeFactor=/*#__PURE__*/function(_IfcPropertySetDefini2){_inherits(IfcServiceLifeFactor,_IfcPropertySetDefini2);var _super398=_createSuper(IfcServiceLifeFactor);function IfcServiceLifeFactor(expressID,GlobalId,OwnerHistory,Name,Description,PredefinedType,UpperValue,MostUsedValue,LowerValue){var _this401;_classCallCheck(this,IfcServiceLifeFactor);_this401=_super398.call(this,expressID,GlobalId,OwnerHistory,Name,Description);_this401.GlobalId=GlobalId;_this401.OwnerHistory=OwnerHistory;_this401.Name=Name;_this401.Description=Description;_this401.PredefinedType=PredefinedType;_this401.UpperValue=UpperValue;_this401.MostUsedValue=MostUsedValue;_this401.LowerValue=LowerValue;_this401.type=2411513650;return _this401;}return _createClass(IfcServiceLifeFactor);}(IfcPropertySetDefinition);IFC2X32.IfcServiceLifeFactor=IfcServiceLifeFactor;var IfcShellBasedSurfaceModel=/*#__PURE__*/function(_IfcGeometricRepresen10){_inherits(IfcShellBasedSurfaceModel,_IfcGeometricRepresen10);var _super399=_createSuper(IfcShellBasedSurfaceModel);function IfcShellBasedSurfaceModel(expressID,SbsmBoundary){var _this402;_classCallCheck(this,IfcShellBasedSurfaceModel);_this402=_super399.call(this,expressID);_this402.SbsmBoundary=SbsmBoundary;_this402.type=4124623270;return _this402;}return _createClass(IfcShellBasedSurfaceModel);}(IfcGeometricRepresentationItem);IFC2X32.IfcShellBasedSurfaceModel=IfcShellBasedSurfaceModel;var IfcSlippageConnectionCondition=/*#__PURE__*/function(_IfcStructuralConnect2){_inherits(IfcSlippageConnectionCondition,_IfcStructuralConnect2);var _super400=_createSuper(IfcSlippageConnectionCondition);function IfcSlippageConnectionCondition(expressID,Name,SlippageX,SlippageY,SlippageZ){var _this403;_classCallCheck(this,IfcSlippageConnectionCondition);_this403=_super400.call(this,expressID,Name);_this403.Name=Name;_this403.SlippageX=SlippageX;_this403.SlippageY=SlippageY;_this403.SlippageZ=SlippageZ;_this403.type=2609359061;return _this403;}return _createClass(IfcSlippageConnectionCondition);}(IfcStructuralConnectionCondition);IFC2X32.IfcSlippageConnectionCondition=IfcSlippageConnectionCondition;var IfcSolidModel=/*#__PURE__*/function(_IfcGeometricRepresen11){_inherits(IfcSolidModel,_IfcGeometricRepresen11);var _super401=_createSuper(IfcSolidModel);function IfcSolidModel(expressID){var _this404;_classCallCheck(this,IfcSolidModel);_this404=_super401.call(this,expressID);_this404.type=723233188;return _this404;}return _createClass(IfcSolidModel);}(IfcGeometricRepresentationItem);IFC2X32.IfcSolidModel=IfcSolidModel;var IfcSoundProperties=/*#__PURE__*/function(_IfcPropertySetDefini3){_inherits(IfcSoundProperties,_IfcPropertySetDefini3);var _super402=_createSuper(IfcSoundProperties);function IfcSoundProperties(expressID,GlobalId,OwnerHistory,Name,Description,IsAttenuating,SoundScale,SoundValues){var _this405;_classCallCheck(this,IfcSoundProperties);_this405=_super402.call(this,expressID,GlobalId,OwnerHistory,Name,Description);_this405.GlobalId=GlobalId;_this405.OwnerHistory=OwnerHistory;_this405.Name=Name;_this405.Description=Description;_this405.IsAttenuating=IsAttenuating;_this405.SoundScale=SoundScale;_this405.SoundValues=SoundValues;_this405.type=2485662743;return _this405;}return _createClass(IfcSoundProperties);}(IfcPropertySetDefinition);IFC2X32.IfcSoundProperties=IfcSoundProperties;var IfcSoundValue=/*#__PURE__*/function(_IfcPropertySetDefini4){_inherits(IfcSoundValue,_IfcPropertySetDefini4);var _super403=_createSuper(IfcSoundValue);function IfcSoundValue(expressID,GlobalId,OwnerHistory,Name,Description,SoundLevelTimeSeries,Frequency,SoundLevelSingleValue){var _this406;_classCallCheck(this,IfcSoundValue);_this406=_super403.call(this,expressID,GlobalId,OwnerHistory,Name,Description);_this406.GlobalId=GlobalId;_this406.OwnerHistory=OwnerHistory;_this406.Name=Name;_this406.Description=Description;_this406.SoundLevelTimeSeries=SoundLevelTimeSeries;_this406.Frequency=Frequency;_this406.SoundLevelSingleValue=SoundLevelSingleValue;_this406.type=1202362311;return _this406;}return _createClass(IfcSoundValue);}(IfcPropertySetDefinition);IFC2X32.IfcSoundValue=IfcSoundValue;var IfcSpaceThermalLoadProperties=/*#__PURE__*/function(_IfcPropertySetDefini5){_inherits(IfcSpaceThermalLoadProperties,_IfcPropertySetDefini5);var _super404=_createSuper(IfcSpaceThermalLoadProperties);function IfcSpaceThermalLoadProperties(expressID,GlobalId,OwnerHistory,Name,Description,ApplicableValueRatio,ThermalLoadSource,PropertySource,SourceDescription,MaximumValue,MinimumValue,ThermalLoadTimeSeriesValues,UserDefinedThermalLoadSource,UserDefinedPropertySource,ThermalLoadType){var _this407;_classCallCheck(this,IfcSpaceThermalLoadProperties);_this407=_super404.call(this,expressID,GlobalId,OwnerHistory,Name,Description);_this407.GlobalId=GlobalId;_this407.OwnerHistory=OwnerHistory;_this407.Name=Name;_this407.Description=Description;_this407.ApplicableValueRatio=ApplicableValueRatio;_this407.ThermalLoadSource=ThermalLoadSource;_this407.PropertySource=PropertySource;_this407.SourceDescription=SourceDescription;_this407.MaximumValue=MaximumValue;_this407.MinimumValue=MinimumValue;_this407.ThermalLoadTimeSeriesValues=ThermalLoadTimeSeriesValues;_this407.UserDefinedThermalLoadSource=UserDefinedThermalLoadSource;_this407.UserDefinedPropertySource=UserDefinedPropertySource;_this407.ThermalLoadType=ThermalLoadType;_this407.type=390701378;return _this407;}return _createClass(IfcSpaceThermalLoadProperties);}(IfcPropertySetDefinition);IFC2X32.IfcSpaceThermalLoadProperties=IfcSpaceThermalLoadProperties;var IfcStructuralLoadLinearForce=/*#__PURE__*/function(_IfcStructuralLoadSta2){_inherits(IfcStructuralLoadLinearForce,_IfcStructuralLoadSta2);var _super405=_createSuper(IfcStructuralLoadLinearForce);function IfcStructuralLoadLinearForce(expressID,Name,LinearForceX,LinearForceY,LinearForceZ,LinearMomentX,LinearMomentY,LinearMomentZ){var _this408;_classCallCheck(this,IfcStructuralLoadLinearForce);_this408=_super405.call(this,expressID,Name);_this408.Name=Name;_this408.LinearForceX=LinearForceX;_this408.LinearForceY=LinearForceY;_this408.LinearForceZ=LinearForceZ;_this408.LinearMomentX=LinearMomentX;_this408.LinearMomentY=LinearMomentY;_this408.LinearMomentZ=LinearMomentZ;_this408.type=1595516126;return _this408;}return _createClass(IfcStructuralLoadLinearForce);}(IfcStructuralLoadStatic);IFC2X32.IfcStructuralLoadLinearForce=IfcStructuralLoadLinearForce;var IfcStructuralLoadPlanarForce=/*#__PURE__*/function(_IfcStructuralLoadSta3){_inherits(IfcStructuralLoadPlanarForce,_IfcStructuralLoadSta3);var _super406=_createSuper(IfcStructuralLoadPlanarForce);function IfcStructuralLoadPlanarForce(expressID,Name,PlanarForceX,PlanarForceY,PlanarForceZ){var _this409;_classCallCheck(this,IfcStructuralLoadPlanarForce);_this409=_super406.call(this,expressID,Name);_this409.Name=Name;_this409.PlanarForceX=PlanarForceX;_this409.PlanarForceY=PlanarForceY;_this409.PlanarForceZ=PlanarForceZ;_this409.type=2668620305;return _this409;}return _createClass(IfcStructuralLoadPlanarForce);}(IfcStructuralLoadStatic);IFC2X32.IfcStructuralLoadPlanarForce=IfcStructuralLoadPlanarForce;var IfcStructuralLoadSingleDisplacement=/*#__PURE__*/function(_IfcStructuralLoadSta4){_inherits(IfcStructuralLoadSingleDisplacement,_IfcStructuralLoadSta4);var _super407=_createSuper(IfcStructuralLoadSingleDisplacement);function IfcStructuralLoadSingleDisplacement(expressID,Name,DisplacementX,DisplacementY,DisplacementZ,RotationalDisplacementRX,RotationalDisplacementRY,RotationalDisplacementRZ){var _this410;_classCallCheck(this,IfcStructuralLoadSingleDisplacement);_this410=_super407.call(this,expressID,Name);_this410.Name=Name;_this410.DisplacementX=DisplacementX;_this410.DisplacementY=DisplacementY;_this410.DisplacementZ=DisplacementZ;_this410.RotationalDisplacementRX=RotationalDisplacementRX;_this410.RotationalDisplacementRY=RotationalDisplacementRY;_this410.RotationalDisplacementRZ=RotationalDisplacementRZ;_this410.type=2473145415;return _this410;}return _createClass(IfcStructuralLoadSingleDisplacement);}(IfcStructuralLoadStatic);IFC2X32.IfcStructuralLoadSingleDisplacement=IfcStructuralLoadSingleDisplacement;var IfcStructuralLoadSingleDisplacementDistortion=/*#__PURE__*/function(_IfcStructuralLoadSin){_inherits(IfcStructuralLoadSingleDisplacementDistortion,_IfcStructuralLoadSin);var _super408=_createSuper(IfcStructuralLoadSingleDisplacementDistortion);function IfcStructuralLoadSingleDisplacementDistortion(expressID,Name,DisplacementX,DisplacementY,DisplacementZ,RotationalDisplacementRX,RotationalDisplacementRY,RotationalDisplacementRZ,Distortion){var _this411;_classCallCheck(this,IfcStructuralLoadSingleDisplacementDistortion);_this411=_super408.call(this,expressID,Name,DisplacementX,DisplacementY,DisplacementZ,RotationalDisplacementRX,RotationalDisplacementRY,RotationalDisplacementRZ);_this411.Name=Name;_this411.DisplacementX=DisplacementX;_this411.DisplacementY=DisplacementY;_this411.DisplacementZ=DisplacementZ;_this411.RotationalDisplacementRX=RotationalDisplacementRX;_this411.RotationalDisplacementRY=RotationalDisplacementRY;_this411.RotationalDisplacementRZ=RotationalDisplacementRZ;_this411.Distortion=Distortion;_this411.type=1973038258;return _this411;}return _createClass(IfcStructuralLoadSingleDisplacementDistortion);}(IfcStructuralLoadSingleDisplacement);IFC2X32.IfcStructuralLoadSingleDisplacementDistortion=IfcStructuralLoadSingleDisplacementDistortion;var IfcStructuralLoadSingleForce=/*#__PURE__*/function(_IfcStructuralLoadSta5){_inherits(IfcStructuralLoadSingleForce,_IfcStructuralLoadSta5);var _super409=_createSuper(IfcStructuralLoadSingleForce);function IfcStructuralLoadSingleForce(expressID,Name,ForceX,ForceY,ForceZ,MomentX,MomentY,MomentZ){var _this412;_classCallCheck(this,IfcStructuralLoadSingleForce);_this412=_super409.call(this,expressID,Name);_this412.Name=Name;_this412.ForceX=ForceX;_this412.ForceY=ForceY;_this412.ForceZ=ForceZ;_this412.MomentX=MomentX;_this412.MomentY=MomentY;_this412.MomentZ=MomentZ;_this412.type=1597423693;return _this412;}return _createClass(IfcStructuralLoadSingleForce);}(IfcStructuralLoadStatic);IFC2X32.IfcStructuralLoadSingleForce=IfcStructuralLoadSingleForce;var IfcStructuralLoadSingleForceWarping=/*#__PURE__*/function(_IfcStructuralLoadSin2){_inherits(IfcStructuralLoadSingleForceWarping,_IfcStructuralLoadSin2);var _super410=_createSuper(IfcStructuralLoadSingleForceWarping);function IfcStructuralLoadSingleForceWarping(expressID,Name,ForceX,ForceY,ForceZ,MomentX,MomentY,MomentZ,WarpingMoment){var _this413;_classCallCheck(this,IfcStructuralLoadSingleForceWarping);_this413=_super410.call(this,expressID,Name,ForceX,ForceY,ForceZ,MomentX,MomentY,MomentZ);_this413.Name=Name;_this413.ForceX=ForceX;_this413.ForceY=ForceY;_this413.ForceZ=ForceZ;_this413.MomentX=MomentX;_this413.MomentY=MomentY;_this413.MomentZ=MomentZ;_this413.WarpingMoment=WarpingMoment;_this413.type=1190533807;return _this413;}return _createClass(IfcStructuralLoadSingleForceWarping);}(IfcStructuralLoadSingleForce);IFC2X32.IfcStructuralLoadSingleForceWarping=IfcStructuralLoadSingleForceWarping;var IfcStructuralProfileProperties=/*#__PURE__*/function(_IfcGeneralProfilePro){_inherits(IfcStructuralProfileProperties,_IfcGeneralProfilePro);var _super411=_createSuper(IfcStructuralProfileProperties);function IfcStructuralProfileProperties(expressID,ProfileName,ProfileDefinition,PhysicalWeight,Perimeter,MinimumPlateThickness,MaximumPlateThickness,CrossSectionArea,TorsionalConstantX,MomentOfInertiaYZ,MomentOfInertiaY,MomentOfInertiaZ,WarpingConstant,ShearCentreZ,ShearCentreY,ShearDeformationAreaZ,ShearDeformationAreaY,MaximumSectionModulusY,MinimumSectionModulusY,MaximumSectionModulusZ,MinimumSectionModulusZ,TorsionalSectionModulus,CentreOfGravityInX,CentreOfGravityInY){var _this414;_classCallCheck(this,IfcStructuralProfileProperties);_this414=_super411.call(this,expressID,ProfileName,ProfileDefinition,PhysicalWeight,Perimeter,MinimumPlateThickness,MaximumPlateThickness,CrossSectionArea);_this414.ProfileName=ProfileName;_this414.ProfileDefinition=ProfileDefinition;_this414.PhysicalWeight=PhysicalWeight;_this414.Perimeter=Perimeter;_this414.MinimumPlateThickness=MinimumPlateThickness;_this414.MaximumPlateThickness=MaximumPlateThickness;_this414.CrossSectionArea=CrossSectionArea;_this414.TorsionalConstantX=TorsionalConstantX;_this414.MomentOfInertiaYZ=MomentOfInertiaYZ;_this414.MomentOfInertiaY=MomentOfInertiaY;_this414.MomentOfInertiaZ=MomentOfInertiaZ;_this414.WarpingConstant=WarpingConstant;_this414.ShearCentreZ=ShearCentreZ;_this414.ShearCentreY=ShearCentreY;_this414.ShearDeformationAreaZ=ShearDeformationAreaZ;_this414.ShearDeformationAreaY=ShearDeformationAreaY;_this414.MaximumSectionModulusY=MaximumSectionModulusY;_this414.MinimumSectionModulusY=MinimumSectionModulusY;_this414.MaximumSectionModulusZ=MaximumSectionModulusZ;_this414.MinimumSectionModulusZ=MinimumSectionModulusZ;_this414.TorsionalSectionModulus=TorsionalSectionModulus;_this414.CentreOfGravityInX=CentreOfGravityInX;_this414.CentreOfGravityInY=CentreOfGravityInY;_this414.type=3843319758;return _this414;}return _createClass(IfcStructuralProfileProperties);}(IfcGeneralProfileProperties);IFC2X32.IfcStructuralProfileProperties=IfcStructuralProfileProperties;var IfcStructuralSteelProfileProperties=/*#__PURE__*/function(_IfcStructuralProfile){_inherits(IfcStructuralSteelProfileProperties,_IfcStructuralProfile);var _super412=_createSuper(IfcStructuralSteelProfileProperties);function IfcStructuralSteelProfileProperties(expressID,ProfileName,ProfileDefinition,PhysicalWeight,Perimeter,MinimumPlateThickness,MaximumPlateThickness,CrossSectionArea,TorsionalConstantX,MomentOfInertiaYZ,MomentOfInertiaY,MomentOfInertiaZ,WarpingConstant,ShearCentreZ,ShearCentreY,ShearDeformationAreaZ,ShearDeformationAreaY,MaximumSectionModulusY,MinimumSectionModulusY,MaximumSectionModulusZ,MinimumSectionModulusZ,TorsionalSectionModulus,CentreOfGravityInX,CentreOfGravityInY,ShearAreaZ,ShearAreaY,PlasticShapeFactorY,PlasticShapeFactorZ){var _this415;_classCallCheck(this,IfcStructuralSteelProfileProperties);_this415=_super412.call(this,expressID,ProfileName,ProfileDefinition,PhysicalWeight,Perimeter,MinimumPlateThickness,MaximumPlateThickness,CrossSectionArea,TorsionalConstantX,MomentOfInertiaYZ,MomentOfInertiaY,MomentOfInertiaZ,WarpingConstant,ShearCentreZ,ShearCentreY,ShearDeformationAreaZ,ShearDeformationAreaY,MaximumSectionModulusY,MinimumSectionModulusY,MaximumSectionModulusZ,MinimumSectionModulusZ,TorsionalSectionModulus,CentreOfGravityInX,CentreOfGravityInY);_this415.ProfileName=ProfileName;_this415.ProfileDefinition=ProfileDefinition;_this415.PhysicalWeight=PhysicalWeight;_this415.Perimeter=Perimeter;_this415.MinimumPlateThickness=MinimumPlateThickness;_this415.MaximumPlateThickness=MaximumPlateThickness;_this415.CrossSectionArea=CrossSectionArea;_this415.TorsionalConstantX=TorsionalConstantX;_this415.MomentOfInertiaYZ=MomentOfInertiaYZ;_this415.MomentOfInertiaY=MomentOfInertiaY;_this415.MomentOfInertiaZ=MomentOfInertiaZ;_this415.WarpingConstant=WarpingConstant;_this415.ShearCentreZ=ShearCentreZ;_this415.ShearCentreY=ShearCentreY;_this415.ShearDeformationAreaZ=ShearDeformationAreaZ;_this415.ShearDeformationAreaY=ShearDeformationAreaY;_this415.MaximumSectionModulusY=MaximumSectionModulusY;_this415.MinimumSectionModulusY=MinimumSectionModulusY;_this415.MaximumSectionModulusZ=MaximumSectionModulusZ;_this415.MinimumSectionModulusZ=MinimumSectionModulusZ;_this415.TorsionalSectionModulus=TorsionalSectionModulus;_this415.CentreOfGravityInX=CentreOfGravityInX;_this415.CentreOfGravityInY=CentreOfGravityInY;_this415.ShearAreaZ=ShearAreaZ;_this415.ShearAreaY=ShearAreaY;_this415.PlasticShapeFactorY=PlasticShapeFactorY;_this415.PlasticShapeFactorZ=PlasticShapeFactorZ;_this415.type=3653947884;return _this415;}return _createClass(IfcStructuralSteelProfileProperties);}(IfcStructuralProfileProperties);IFC2X32.IfcStructuralSteelProfileProperties=IfcStructuralSteelProfileProperties;var IfcSubedge=/*#__PURE__*/function(_IfcEdge3){_inherits(IfcSubedge,_IfcEdge3);var _super413=_createSuper(IfcSubedge);function IfcSubedge(expressID,EdgeStart,EdgeEnd,ParentEdge){var _this416;_classCallCheck(this,IfcSubedge);_this416=_super413.call(this,expressID,EdgeStart,EdgeEnd);_this416.EdgeStart=EdgeStart;_this416.EdgeEnd=EdgeEnd;_this416.ParentEdge=ParentEdge;_this416.type=2233826070;return _this416;}return _createClass(IfcSubedge);}(IfcEdge);IFC2X32.IfcSubedge=IfcSubedge;var IfcSurface=/*#__PURE__*/function(_IfcGeometricRepresen12){_inherits(IfcSurface,_IfcGeometricRepresen12);var _super414=_createSuper(IfcSurface);function IfcSurface(expressID){var _this417;_classCallCheck(this,IfcSurface);_this417=_super414.call(this,expressID);_this417.type=2513912981;return _this417;}return _createClass(IfcSurface);}(IfcGeometricRepresentationItem);IFC2X32.IfcSurface=IfcSurface;var IfcSurfaceStyleRendering=/*#__PURE__*/function(_IfcSurfaceStyleShadi){_inherits(IfcSurfaceStyleRendering,_IfcSurfaceStyleShadi);var _super415=_createSuper(IfcSurfaceStyleRendering);function IfcSurfaceStyleRendering(expressID,SurfaceColour,Transparency,DiffuseColour,TransmissionColour,DiffuseTransmissionColour,ReflectionColour,SpecularColour,SpecularHighlight,ReflectanceMethod){var _this418;_classCallCheck(this,IfcSurfaceStyleRendering);_this418=_super415.call(this,expressID,SurfaceColour);_this418.SurfaceColour=SurfaceColour;_this418.Transparency=Transparency;_this418.DiffuseColour=DiffuseColour;_this418.TransmissionColour=TransmissionColour;_this418.DiffuseTransmissionColour=DiffuseTransmissionColour;_this418.ReflectionColour=ReflectionColour;_this418.SpecularColour=SpecularColour;_this418.SpecularHighlight=SpecularHighlight;_this418.ReflectanceMethod=ReflectanceMethod;_this418.type=1878645084;return _this418;}return _createClass(IfcSurfaceStyleRendering);}(IfcSurfaceStyleShading);IFC2X32.IfcSurfaceStyleRendering=IfcSurfaceStyleRendering;var IfcSweptAreaSolid=/*#__PURE__*/function(_IfcSolidModel){_inherits(IfcSweptAreaSolid,_IfcSolidModel);var _super416=_createSuper(IfcSweptAreaSolid);function IfcSweptAreaSolid(expressID,SweptArea,Position){var _this419;_classCallCheck(this,IfcSweptAreaSolid);_this419=_super416.call(this,expressID);_this419.SweptArea=SweptArea;_this419.Position=Position;_this419.type=2247615214;return _this419;}return _createClass(IfcSweptAreaSolid);}(IfcSolidModel);IFC2X32.IfcSweptAreaSolid=IfcSweptAreaSolid;var IfcSweptDiskSolid=/*#__PURE__*/function(_IfcSolidModel2){_inherits(IfcSweptDiskSolid,_IfcSolidModel2);var _super417=_createSuper(IfcSweptDiskSolid);function IfcSweptDiskSolid(expressID,Directrix,Radius,InnerRadius,StartParam,EndParam){var _this420;_classCallCheck(this,IfcSweptDiskSolid);_this420=_super417.call(this,expressID);_this420.Directrix=Directrix;_this420.Radius=Radius;_this420.InnerRadius=InnerRadius;_this420.StartParam=StartParam;_this420.EndParam=EndParam;_this420.type=1260650574;return _this420;}return _createClass(IfcSweptDiskSolid);}(IfcSolidModel);IFC2X32.IfcSweptDiskSolid=IfcSweptDiskSolid;var IfcSweptSurface=/*#__PURE__*/function(_IfcSurface){_inherits(IfcSweptSurface,_IfcSurface);var _super418=_createSuper(IfcSweptSurface);function IfcSweptSurface(expressID,SweptCurve,Position){var _this421;_classCallCheck(this,IfcSweptSurface);_this421=_super418.call(this,expressID);_this421.SweptCurve=SweptCurve;_this421.Position=Position;_this421.type=230924584;return _this421;}return _createClass(IfcSweptSurface);}(IfcSurface);IFC2X32.IfcSweptSurface=IfcSweptSurface;var IfcTShapeProfileDef=/*#__PURE__*/function(_IfcParameterizedProf2){_inherits(IfcTShapeProfileDef,_IfcParameterizedProf2);var _super419=_createSuper(IfcTShapeProfileDef);function IfcTShapeProfileDef(expressID,ProfileType,ProfileName,Position,Depth,FlangeWidth,WebThickness,FlangeThickness,FilletRadius,FlangeEdgeRadius,WebEdgeRadius,WebSlope,FlangeSlope,CentreOfGravityInY){var _this422;_classCallCheck(this,IfcTShapeProfileDef);_this422=_super419.call(this,expressID,ProfileType,ProfileName,Position);_this422.ProfileType=ProfileType;_this422.ProfileName=ProfileName;_this422.Position=Position;_this422.Depth=Depth;_this422.FlangeWidth=FlangeWidth;_this422.WebThickness=WebThickness;_this422.FlangeThickness=FlangeThickness;_this422.FilletRadius=FilletRadius;_this422.FlangeEdgeRadius=FlangeEdgeRadius;_this422.WebEdgeRadius=WebEdgeRadius;_this422.WebSlope=WebSlope;_this422.FlangeSlope=FlangeSlope;_this422.CentreOfGravityInY=CentreOfGravityInY;_this422.type=3071757647;return _this422;}return _createClass(IfcTShapeProfileDef);}(IfcParameterizedProfileDef);IFC2X32.IfcTShapeProfileDef=IfcTShapeProfileDef;var IfcTerminatorSymbol=/*#__PURE__*/function(_IfcAnnotationSymbolO){_inherits(IfcTerminatorSymbol,_IfcAnnotationSymbolO);var _super420=_createSuper(IfcTerminatorSymbol);function IfcTerminatorSymbol(expressID,Item,Styles,Name,AnnotatedCurve){var _this423;_classCallCheck(this,IfcTerminatorSymbol);_this423=_super420.call(this,expressID,Item,Styles,Name);_this423.Item=Item;_this423.Styles=Styles;_this423.Name=Name;_this423.AnnotatedCurve=AnnotatedCurve;_this423.type=3028897424;return _this423;}return _createClass(IfcTerminatorSymbol);}(IfcAnnotationSymbolOccurrence);IFC2X32.IfcTerminatorSymbol=IfcTerminatorSymbol;var IfcTextLiteral=/*#__PURE__*/function(_IfcGeometricRepresen13){_inherits(IfcTextLiteral,_IfcGeometricRepresen13);var _super421=_createSuper(IfcTextLiteral);function IfcTextLiteral(expressID,Literal,Placement,Path){var _this424;_classCallCheck(this,IfcTextLiteral);_this424=_super421.call(this,expressID);_this424.Literal=Literal;_this424.Placement=Placement;_this424.Path=Path;_this424.type=4282788508;return _this424;}return _createClass(IfcTextLiteral);}(IfcGeometricRepresentationItem);IFC2X32.IfcTextLiteral=IfcTextLiteral;var IfcTextLiteralWithExtent=/*#__PURE__*/function(_IfcTextLiteral){_inherits(IfcTextLiteralWithExtent,_IfcTextLiteral);var _super422=_createSuper(IfcTextLiteralWithExtent);function IfcTextLiteralWithExtent(expressID,Literal,Placement,Path,Extent,BoxAlignment){var _this425;_classCallCheck(this,IfcTextLiteralWithExtent);_this425=_super422.call(this,expressID,Literal,Placement,Path);_this425.Literal=Literal;_this425.Placement=Placement;_this425.Path=Path;_this425.Extent=Extent;_this425.BoxAlignment=BoxAlignment;_this425.type=3124975700;return _this425;}return _createClass(IfcTextLiteralWithExtent);}(IfcTextLiteral);IFC2X32.IfcTextLiteralWithExtent=IfcTextLiteralWithExtent;var IfcTrapeziumProfileDef=/*#__PURE__*/function(_IfcParameterizedProf3){_inherits(IfcTrapeziumProfileDef,_IfcParameterizedProf3);var _super423=_createSuper(IfcTrapeziumProfileDef);function IfcTrapeziumProfileDef(expressID,ProfileType,ProfileName,Position,BottomXDim,TopXDim,YDim,TopXOffset){var _this426;_classCallCheck(this,IfcTrapeziumProfileDef);_this426=_super423.call(this,expressID,ProfileType,ProfileName,Position);_this426.ProfileType=ProfileType;_this426.ProfileName=ProfileName;_this426.Position=Position;_this426.BottomXDim=BottomXDim;_this426.TopXDim=TopXDim;_this426.YDim=YDim;_this426.TopXOffset=TopXOffset;_this426.type=2715220739;return _this426;}return _createClass(IfcTrapeziumProfileDef);}(IfcParameterizedProfileDef);IFC2X32.IfcTrapeziumProfileDef=IfcTrapeziumProfileDef;var IfcTwoDirectionRepeatFactor=/*#__PURE__*/function(_IfcOneDirectionRepea){_inherits(IfcTwoDirectionRepeatFactor,_IfcOneDirectionRepea);var _super424=_createSuper(IfcTwoDirectionRepeatFactor);function IfcTwoDirectionRepeatFactor(expressID,RepeatFactor,SecondRepeatFactor){var _this427;_classCallCheck(this,IfcTwoDirectionRepeatFactor);_this427=_super424.call(this,expressID,RepeatFactor);_this427.RepeatFactor=RepeatFactor;_this427.SecondRepeatFactor=SecondRepeatFactor;_this427.type=1345879162;return _this427;}return _createClass(IfcTwoDirectionRepeatFactor);}(IfcOneDirectionRepeatFactor);IFC2X32.IfcTwoDirectionRepeatFactor=IfcTwoDirectionRepeatFactor;var IfcTypeObject=/*#__PURE__*/function(_IfcObjectDefinition){_inherits(IfcTypeObject,_IfcObjectDefinition);var _super425=_createSuper(IfcTypeObject);function IfcTypeObject(expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets){var _this428;_classCallCheck(this,IfcTypeObject);_this428=_super425.call(this,expressID,GlobalId,OwnerHistory,Name,Description);_this428.GlobalId=GlobalId;_this428.OwnerHistory=OwnerHistory;_this428.Name=Name;_this428.Description=Description;_this428.ApplicableOccurrence=ApplicableOccurrence;_this428.HasPropertySets=HasPropertySets;_this428.type=1628702193;return _this428;}return _createClass(IfcTypeObject);}(IfcObjectDefinition);IFC2X32.IfcTypeObject=IfcTypeObject;var IfcTypeProduct=/*#__PURE__*/function(_IfcTypeObject){_inherits(IfcTypeProduct,_IfcTypeObject);var _super426=_createSuper(IfcTypeProduct);function IfcTypeProduct(expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag){var _this429;_classCallCheck(this,IfcTypeProduct);_this429=_super426.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets);_this429.GlobalId=GlobalId;_this429.OwnerHistory=OwnerHistory;_this429.Name=Name;_this429.Description=Description;_this429.ApplicableOccurrence=ApplicableOccurrence;_this429.HasPropertySets=HasPropertySets;_this429.RepresentationMaps=RepresentationMaps;_this429.Tag=Tag;_this429.type=2347495698;return _this429;}return _createClass(IfcTypeProduct);}(IfcTypeObject);IFC2X32.IfcTypeProduct=IfcTypeProduct;var IfcUShapeProfileDef=/*#__PURE__*/function(_IfcParameterizedProf4){_inherits(IfcUShapeProfileDef,_IfcParameterizedProf4);var _super427=_createSuper(IfcUShapeProfileDef);function IfcUShapeProfileDef(expressID,ProfileType,ProfileName,Position,Depth,FlangeWidth,WebThickness,FlangeThickness,FilletRadius,EdgeRadius,FlangeSlope,CentreOfGravityInX){var _this430;_classCallCheck(this,IfcUShapeProfileDef);_this430=_super427.call(this,expressID,ProfileType,ProfileName,Position);_this430.ProfileType=ProfileType;_this430.ProfileName=ProfileName;_this430.Position=Position;_this430.Depth=Depth;_this430.FlangeWidth=FlangeWidth;_this430.WebThickness=WebThickness;_this430.FlangeThickness=FlangeThickness;_this430.FilletRadius=FilletRadius;_this430.EdgeRadius=EdgeRadius;_this430.FlangeSlope=FlangeSlope;_this430.CentreOfGravityInX=CentreOfGravityInX;_this430.type=427810014;return _this430;}return _createClass(IfcUShapeProfileDef);}(IfcParameterizedProfileDef);IFC2X32.IfcUShapeProfileDef=IfcUShapeProfileDef;var IfcVector=/*#__PURE__*/function(_IfcGeometricRepresen14){_inherits(IfcVector,_IfcGeometricRepresen14);var _super428=_createSuper(IfcVector);function IfcVector(expressID,Orientation,Magnitude){var _this431;_classCallCheck(this,IfcVector);_this431=_super428.call(this,expressID);_this431.Orientation=Orientation;_this431.Magnitude=Magnitude;_this431.type=1417489154;return _this431;}return _createClass(IfcVector);}(IfcGeometricRepresentationItem);IFC2X32.IfcVector=IfcVector;var IfcVertexLoop=/*#__PURE__*/function(_IfcLoop2){_inherits(IfcVertexLoop,_IfcLoop2);var _super429=_createSuper(IfcVertexLoop);function IfcVertexLoop(expressID,LoopVertex){var _this432;_classCallCheck(this,IfcVertexLoop);_this432=_super429.call(this,expressID);_this432.LoopVertex=LoopVertex;_this432.type=2759199220;return _this432;}return _createClass(IfcVertexLoop);}(IfcLoop);IFC2X32.IfcVertexLoop=IfcVertexLoop;var IfcWindowLiningProperties=/*#__PURE__*/function(_IfcPropertySetDefini6){_inherits(IfcWindowLiningProperties,_IfcPropertySetDefini6);var _super430=_createSuper(IfcWindowLiningProperties);function IfcWindowLiningProperties(expressID,GlobalId,OwnerHistory,Name,Description,LiningDepth,LiningThickness,TransomThickness,MullionThickness,FirstTransomOffset,SecondTransomOffset,FirstMullionOffset,SecondMullionOffset,ShapeAspectStyle){var _this433;_classCallCheck(this,IfcWindowLiningProperties);_this433=_super430.call(this,expressID,GlobalId,OwnerHistory,Name,Description);_this433.GlobalId=GlobalId;_this433.OwnerHistory=OwnerHistory;_this433.Name=Name;_this433.Description=Description;_this433.LiningDepth=LiningDepth;_this433.LiningThickness=LiningThickness;_this433.TransomThickness=TransomThickness;_this433.MullionThickness=MullionThickness;_this433.FirstTransomOffset=FirstTransomOffset;_this433.SecondTransomOffset=SecondTransomOffset;_this433.FirstMullionOffset=FirstMullionOffset;_this433.SecondMullionOffset=SecondMullionOffset;_this433.ShapeAspectStyle=ShapeAspectStyle;_this433.type=336235671;return _this433;}return _createClass(IfcWindowLiningProperties);}(IfcPropertySetDefinition);IFC2X32.IfcWindowLiningProperties=IfcWindowLiningProperties;var IfcWindowPanelProperties=/*#__PURE__*/function(_IfcPropertySetDefini7){_inherits(IfcWindowPanelProperties,_IfcPropertySetDefini7);var _super431=_createSuper(IfcWindowPanelProperties);function IfcWindowPanelProperties(expressID,GlobalId,OwnerHistory,Name,Description,OperationType,PanelPosition,FrameDepth,FrameThickness,ShapeAspectStyle){var _this434;_classCallCheck(this,IfcWindowPanelProperties);_this434=_super431.call(this,expressID,GlobalId,OwnerHistory,Name,Description);_this434.GlobalId=GlobalId;_this434.OwnerHistory=OwnerHistory;_this434.Name=Name;_this434.Description=Description;_this434.OperationType=OperationType;_this434.PanelPosition=PanelPosition;_this434.FrameDepth=FrameDepth;_this434.FrameThickness=FrameThickness;_this434.ShapeAspectStyle=ShapeAspectStyle;_this434.type=512836454;return _this434;}return _createClass(IfcWindowPanelProperties);}(IfcPropertySetDefinition);IFC2X32.IfcWindowPanelProperties=IfcWindowPanelProperties;var IfcWindowStyle=/*#__PURE__*/function(_IfcTypeProduct){_inherits(IfcWindowStyle,_IfcTypeProduct);var _super432=_createSuper(IfcWindowStyle);function IfcWindowStyle(expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ConstructionType,OperationType,ParameterTakesPrecedence,Sizeable){var _this435;_classCallCheck(this,IfcWindowStyle);_this435=_super432.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag);_this435.GlobalId=GlobalId;_this435.OwnerHistory=OwnerHistory;_this435.Name=Name;_this435.Description=Description;_this435.ApplicableOccurrence=ApplicableOccurrence;_this435.HasPropertySets=HasPropertySets;_this435.RepresentationMaps=RepresentationMaps;_this435.Tag=Tag;_this435.ConstructionType=ConstructionType;_this435.OperationType=OperationType;_this435.ParameterTakesPrecedence=ParameterTakesPrecedence;_this435.Sizeable=Sizeable;_this435.type=1299126871;return _this435;}return _createClass(IfcWindowStyle);}(IfcTypeProduct);IFC2X32.IfcWindowStyle=IfcWindowStyle;var IfcZShapeProfileDef=/*#__PURE__*/function(_IfcParameterizedProf5){_inherits(IfcZShapeProfileDef,_IfcParameterizedProf5);var _super433=_createSuper(IfcZShapeProfileDef);function IfcZShapeProfileDef(expressID,ProfileType,ProfileName,Position,Depth,FlangeWidth,WebThickness,FlangeThickness,FilletRadius,EdgeRadius){var _this436;_classCallCheck(this,IfcZShapeProfileDef);_this436=_super433.call(this,expressID,ProfileType,ProfileName,Position);_this436.ProfileType=ProfileType;_this436.ProfileName=ProfileName;_this436.Position=Position;_this436.Depth=Depth;_this436.FlangeWidth=FlangeWidth;_this436.WebThickness=WebThickness;_this436.FlangeThickness=FlangeThickness;_this436.FilletRadius=FilletRadius;_this436.EdgeRadius=EdgeRadius;_this436.type=2543172580;return _this436;}return _createClass(IfcZShapeProfileDef);}(IfcParameterizedProfileDef);IFC2X32.IfcZShapeProfileDef=IfcZShapeProfileDef;var IfcAnnotationCurveOccurrence=/*#__PURE__*/function(_IfcAnnotationOccurre4){_inherits(IfcAnnotationCurveOccurrence,_IfcAnnotationOccurre4);var _super434=_createSuper(IfcAnnotationCurveOccurrence);function IfcAnnotationCurveOccurrence(expressID,Item,Styles,Name){var _this437;_classCallCheck(this,IfcAnnotationCurveOccurrence);_this437=_super434.call(this,expressID,Item,Styles,Name);_this437.Item=Item;_this437.Styles=Styles;_this437.Name=Name;_this437.type=3288037868;return _this437;}return _createClass(IfcAnnotationCurveOccurrence);}(IfcAnnotationOccurrence);IFC2X32.IfcAnnotationCurveOccurrence=IfcAnnotationCurveOccurrence;var IfcAnnotationFillArea=/*#__PURE__*/function(_IfcGeometricRepresen15){_inherits(IfcAnnotationFillArea,_IfcGeometricRepresen15);var _super435=_createSuper(IfcAnnotationFillArea);function IfcAnnotationFillArea(expressID,OuterBoundary,InnerBoundaries){var _this438;_classCallCheck(this,IfcAnnotationFillArea);_this438=_super435.call(this,expressID);_this438.OuterBoundary=OuterBoundary;_this438.InnerBoundaries=InnerBoundaries;_this438.type=669184980;return _this438;}return _createClass(IfcAnnotationFillArea);}(IfcGeometricRepresentationItem);IFC2X32.IfcAnnotationFillArea=IfcAnnotationFillArea;var IfcAnnotationFillAreaOccurrence=/*#__PURE__*/function(_IfcAnnotationOccurre5){_inherits(IfcAnnotationFillAreaOccurrence,_IfcAnnotationOccurre5);var _super436=_createSuper(IfcAnnotationFillAreaOccurrence);function IfcAnnotationFillAreaOccurrence(expressID,Item,Styles,Name,FillStyleTarget,GlobalOrLocal){var _this439;_classCallCheck(this,IfcAnnotationFillAreaOccurrence);_this439=_super436.call(this,expressID,Item,Styles,Name);_this439.Item=Item;_this439.Styles=Styles;_this439.Name=Name;_this439.FillStyleTarget=FillStyleTarget;_this439.GlobalOrLocal=GlobalOrLocal;_this439.type=2265737646;return _this439;}return _createClass(IfcAnnotationFillAreaOccurrence);}(IfcAnnotationOccurrence);IFC2X32.IfcAnnotationFillAreaOccurrence=IfcAnnotationFillAreaOccurrence;var IfcAnnotationSurface=/*#__PURE__*/function(_IfcGeometricRepresen16){_inherits(IfcAnnotationSurface,_IfcGeometricRepresen16);var _super437=_createSuper(IfcAnnotationSurface);function IfcAnnotationSurface(expressID,Item,TextureCoordinates){var _this440;_classCallCheck(this,IfcAnnotationSurface);_this440=_super437.call(this,expressID);_this440.Item=Item;_this440.TextureCoordinates=TextureCoordinates;_this440.type=1302238472;return _this440;}return _createClass(IfcAnnotationSurface);}(IfcGeometricRepresentationItem);IFC2X32.IfcAnnotationSurface=IfcAnnotationSurface;var IfcAxis1Placement=/*#__PURE__*/function(_IfcPlacement){_inherits(IfcAxis1Placement,_IfcPlacement);var _super438=_createSuper(IfcAxis1Placement);function IfcAxis1Placement(expressID,Location,Axis){var _this441;_classCallCheck(this,IfcAxis1Placement);_this441=_super438.call(this,expressID,Location);_this441.Location=Location;_this441.Axis=Axis;_this441.type=4261334040;return _this441;}return _createClass(IfcAxis1Placement);}(IfcPlacement);IFC2X32.IfcAxis1Placement=IfcAxis1Placement;var IfcAxis2Placement2D=/*#__PURE__*/function(_IfcPlacement2){_inherits(IfcAxis2Placement2D,_IfcPlacement2);var _super439=_createSuper(IfcAxis2Placement2D);function IfcAxis2Placement2D(expressID,Location,RefDirection){var _this442;_classCallCheck(this,IfcAxis2Placement2D);_this442=_super439.call(this,expressID,Location);_this442.Location=Location;_this442.RefDirection=RefDirection;_this442.type=3125803723;return _this442;}return _createClass(IfcAxis2Placement2D);}(IfcPlacement);IFC2X32.IfcAxis2Placement2D=IfcAxis2Placement2D;var IfcAxis2Placement3D=/*#__PURE__*/function(_IfcPlacement3){_inherits(IfcAxis2Placement3D,_IfcPlacement3);var _super440=_createSuper(IfcAxis2Placement3D);function IfcAxis2Placement3D(expressID,Location,Axis,RefDirection){var _this443;_classCallCheck(this,IfcAxis2Placement3D);_this443=_super440.call(this,expressID,Location);_this443.Location=Location;_this443.Axis=Axis;_this443.RefDirection=RefDirection;_this443.type=2740243338;return _this443;}return _createClass(IfcAxis2Placement3D);}(IfcPlacement);IFC2X32.IfcAxis2Placement3D=IfcAxis2Placement3D;var IfcBooleanResult=/*#__PURE__*/function(_IfcGeometricRepresen17){_inherits(IfcBooleanResult,_IfcGeometricRepresen17);var _super441=_createSuper(IfcBooleanResult);function IfcBooleanResult(expressID,Operator,FirstOperand,SecondOperand){var _this444;_classCallCheck(this,IfcBooleanResult);_this444=_super441.call(this,expressID);_this444.Operator=Operator;_this444.FirstOperand=FirstOperand;_this444.SecondOperand=SecondOperand;_this444.type=2736907675;return _this444;}return _createClass(IfcBooleanResult);}(IfcGeometricRepresentationItem);IFC2X32.IfcBooleanResult=IfcBooleanResult;var IfcBoundedSurface=/*#__PURE__*/function(_IfcSurface2){_inherits(IfcBoundedSurface,_IfcSurface2);var _super442=_createSuper(IfcBoundedSurface);function IfcBoundedSurface(expressID){var _this445;_classCallCheck(this,IfcBoundedSurface);_this445=_super442.call(this,expressID);_this445.type=4182860854;return _this445;}return _createClass(IfcBoundedSurface);}(IfcSurface);IFC2X32.IfcBoundedSurface=IfcBoundedSurface;var IfcBoundingBox=/*#__PURE__*/function(_IfcGeometricRepresen18){_inherits(IfcBoundingBox,_IfcGeometricRepresen18);var _super443=_createSuper(IfcBoundingBox);function IfcBoundingBox(expressID,Corner,XDim,YDim,ZDim){var _this446;_classCallCheck(this,IfcBoundingBox);_this446=_super443.call(this,expressID);_this446.Corner=Corner;_this446.XDim=XDim;_this446.YDim=YDim;_this446.ZDim=ZDim;_this446.type=2581212453;return _this446;}return _createClass(IfcBoundingBox);}(IfcGeometricRepresentationItem);IFC2X32.IfcBoundingBox=IfcBoundingBox;var IfcBoxedHalfSpace=/*#__PURE__*/function(_IfcHalfSpaceSolid2){_inherits(IfcBoxedHalfSpace,_IfcHalfSpaceSolid2);var _super444=_createSuper(IfcBoxedHalfSpace);function IfcBoxedHalfSpace(expressID,BaseSurface,AgreementFlag,Enclosure){var _this447;_classCallCheck(this,IfcBoxedHalfSpace);_this447=_super444.call(this,expressID,BaseSurface,AgreementFlag);_this447.BaseSurface=BaseSurface;_this447.AgreementFlag=AgreementFlag;_this447.Enclosure=Enclosure;_this447.type=2713105998;return _this447;}return _createClass(IfcBoxedHalfSpace);}(IfcHalfSpaceSolid);IFC2X32.IfcBoxedHalfSpace=IfcBoxedHalfSpace;var IfcCShapeProfileDef=/*#__PURE__*/function(_IfcParameterizedProf6){_inherits(IfcCShapeProfileDef,_IfcParameterizedProf6);var _super445=_createSuper(IfcCShapeProfileDef);function IfcCShapeProfileDef(expressID,ProfileType,ProfileName,Position,Depth,Width,WallThickness,Girth,InternalFilletRadius,CentreOfGravityInX){var _this448;_classCallCheck(this,IfcCShapeProfileDef);_this448=_super445.call(this,expressID,ProfileType,ProfileName,Position);_this448.ProfileType=ProfileType;_this448.ProfileName=ProfileName;_this448.Position=Position;_this448.Depth=Depth;_this448.Width=Width;_this448.WallThickness=WallThickness;_this448.Girth=Girth;_this448.InternalFilletRadius=InternalFilletRadius;_this448.CentreOfGravityInX=CentreOfGravityInX;_this448.type=2898889636;return _this448;}return _createClass(IfcCShapeProfileDef);}(IfcParameterizedProfileDef);IFC2X32.IfcCShapeProfileDef=IfcCShapeProfileDef;var IfcCartesianPoint=/*#__PURE__*/function(_IfcPoint3){_inherits(IfcCartesianPoint,_IfcPoint3);var _super446=_createSuper(IfcCartesianPoint);function IfcCartesianPoint(expressID,Coordinates){var _this449;_classCallCheck(this,IfcCartesianPoint);_this449=_super446.call(this,expressID);_this449.Coordinates=Coordinates;_this449.type=1123145078;return _this449;}return _createClass(IfcCartesianPoint);}(IfcPoint);IFC2X32.IfcCartesianPoint=IfcCartesianPoint;var IfcCartesianTransformationOperator=/*#__PURE__*/function(_IfcGeometricRepresen19){_inherits(IfcCartesianTransformationOperator,_IfcGeometricRepresen19);var _super447=_createSuper(IfcCartesianTransformationOperator);function IfcCartesianTransformationOperator(expressID,Axis1,Axis2,LocalOrigin,Scale){var _this450;_classCallCheck(this,IfcCartesianTransformationOperator);_this450=_super447.call(this,expressID);_this450.Axis1=Axis1;_this450.Axis2=Axis2;_this450.LocalOrigin=LocalOrigin;_this450.Scale=Scale;_this450.type=59481748;return _this450;}return _createClass(IfcCartesianTransformationOperator);}(IfcGeometricRepresentationItem);IFC2X32.IfcCartesianTransformationOperator=IfcCartesianTransformationOperator;var IfcCartesianTransformationOperator2D=/*#__PURE__*/function(_IfcCartesianTransfor){_inherits(IfcCartesianTransformationOperator2D,_IfcCartesianTransfor);var _super448=_createSuper(IfcCartesianTransformationOperator2D);function IfcCartesianTransformationOperator2D(expressID,Axis1,Axis2,LocalOrigin,Scale){var _this451;_classCallCheck(this,IfcCartesianTransformationOperator2D);_this451=_super448.call(this,expressID,Axis1,Axis2,LocalOrigin,Scale);_this451.Axis1=Axis1;_this451.Axis2=Axis2;_this451.LocalOrigin=LocalOrigin;_this451.Scale=Scale;_this451.type=3749851601;return _this451;}return _createClass(IfcCartesianTransformationOperator2D);}(IfcCartesianTransformationOperator);IFC2X32.IfcCartesianTransformationOperator2D=IfcCartesianTransformationOperator2D;var IfcCartesianTransformationOperator2DnonUniform=/*#__PURE__*/function(_IfcCartesianTransfor2){_inherits(IfcCartesianTransformationOperator2DnonUniform,_IfcCartesianTransfor2);var _super449=_createSuper(IfcCartesianTransformationOperator2DnonUniform);function IfcCartesianTransformationOperator2DnonUniform(expressID,Axis1,Axis2,LocalOrigin,Scale,Scale2){var _this452;_classCallCheck(this,IfcCartesianTransformationOperator2DnonUniform);_this452=_super449.call(this,expressID,Axis1,Axis2,LocalOrigin,Scale);_this452.Axis1=Axis1;_this452.Axis2=Axis2;_this452.LocalOrigin=LocalOrigin;_this452.Scale=Scale;_this452.Scale2=Scale2;_this452.type=3486308946;return _this452;}return _createClass(IfcCartesianTransformationOperator2DnonUniform);}(IfcCartesianTransformationOperator2D);IFC2X32.IfcCartesianTransformationOperator2DnonUniform=IfcCartesianTransformationOperator2DnonUniform;var IfcCartesianTransformationOperator3D=/*#__PURE__*/function(_IfcCartesianTransfor3){_inherits(IfcCartesianTransformationOperator3D,_IfcCartesianTransfor3);var _super450=_createSuper(IfcCartesianTransformationOperator3D);function IfcCartesianTransformationOperator3D(expressID,Axis1,Axis2,LocalOrigin,Scale,Axis3){var _this453;_classCallCheck(this,IfcCartesianTransformationOperator3D);_this453=_super450.call(this,expressID,Axis1,Axis2,LocalOrigin,Scale);_this453.Axis1=Axis1;_this453.Axis2=Axis2;_this453.LocalOrigin=LocalOrigin;_this453.Scale=Scale;_this453.Axis3=Axis3;_this453.type=3331915920;return _this453;}return _createClass(IfcCartesianTransformationOperator3D);}(IfcCartesianTransformationOperator);IFC2X32.IfcCartesianTransformationOperator3D=IfcCartesianTransformationOperator3D;var IfcCartesianTransformationOperator3DnonUniform=/*#__PURE__*/function(_IfcCartesianTransfor4){_inherits(IfcCartesianTransformationOperator3DnonUniform,_IfcCartesianTransfor4);var _super451=_createSuper(IfcCartesianTransformationOperator3DnonUniform);function IfcCartesianTransformationOperator3DnonUniform(expressID,Axis1,Axis2,LocalOrigin,Scale,Axis3,Scale2,Scale3){var _this454;_classCallCheck(this,IfcCartesianTransformationOperator3DnonUniform);_this454=_super451.call(this,expressID,Axis1,Axis2,LocalOrigin,Scale,Axis3);_this454.Axis1=Axis1;_this454.Axis2=Axis2;_this454.LocalOrigin=LocalOrigin;_this454.Scale=Scale;_this454.Axis3=Axis3;_this454.Scale2=Scale2;_this454.Scale3=Scale3;_this454.type=1416205885;return _this454;}return _createClass(IfcCartesianTransformationOperator3DnonUniform);}(IfcCartesianTransformationOperator3D);IFC2X32.IfcCartesianTransformationOperator3DnonUniform=IfcCartesianTransformationOperator3DnonUniform;var IfcCircleProfileDef=/*#__PURE__*/function(_IfcParameterizedProf7){_inherits(IfcCircleProfileDef,_IfcParameterizedProf7);var _super452=_createSuper(IfcCircleProfileDef);function IfcCircleProfileDef(expressID,ProfileType,ProfileName,Position,Radius){var _this455;_classCallCheck(this,IfcCircleProfileDef);_this455=_super452.call(this,expressID,ProfileType,ProfileName,Position);_this455.ProfileType=ProfileType;_this455.ProfileName=ProfileName;_this455.Position=Position;_this455.Radius=Radius;_this455.type=1383045692;return _this455;}return _createClass(IfcCircleProfileDef);}(IfcParameterizedProfileDef);IFC2X32.IfcCircleProfileDef=IfcCircleProfileDef;var IfcClosedShell=/*#__PURE__*/function(_IfcConnectedFaceSet2){_inherits(IfcClosedShell,_IfcConnectedFaceSet2);var _super453=_createSuper(IfcClosedShell);function IfcClosedShell(expressID,CfsFaces){var _this456;_classCallCheck(this,IfcClosedShell);_this456=_super453.call(this,expressID,CfsFaces);_this456.CfsFaces=CfsFaces;_this456.type=2205249479;return _this456;}return _createClass(IfcClosedShell);}(IfcConnectedFaceSet);IFC2X32.IfcClosedShell=IfcClosedShell;var IfcCompositeCurveSegment=/*#__PURE__*/function(_IfcGeometricRepresen20){_inherits(IfcCompositeCurveSegment,_IfcGeometricRepresen20);var _super454=_createSuper(IfcCompositeCurveSegment);function IfcCompositeCurveSegment(expressID,Transition,SameSense,ParentCurve){var _this457;_classCallCheck(this,IfcCompositeCurveSegment);_this457=_super454.call(this,expressID);_this457.Transition=Transition;_this457.SameSense=SameSense;_this457.ParentCurve=ParentCurve;_this457.type=2485617015;return _this457;}return _createClass(IfcCompositeCurveSegment);}(IfcGeometricRepresentationItem);IFC2X32.IfcCompositeCurveSegment=IfcCompositeCurveSegment;var IfcCraneRailAShapeProfileDef=/*#__PURE__*/function(_IfcParameterizedProf8){_inherits(IfcCraneRailAShapeProfileDef,_IfcParameterizedProf8);var _super455=_createSuper(IfcCraneRailAShapeProfileDef);function IfcCraneRailAShapeProfileDef(expressID,ProfileType,ProfileName,Position,OverallHeight,BaseWidth2,Radius,HeadWidth,HeadDepth2,HeadDepth3,WebThickness,BaseWidth4,BaseDepth1,BaseDepth2,BaseDepth3,CentreOfGravityInY){var _this458;_classCallCheck(this,IfcCraneRailAShapeProfileDef);_this458=_super455.call(this,expressID,ProfileType,ProfileName,Position);_this458.ProfileType=ProfileType;_this458.ProfileName=ProfileName;_this458.Position=Position;_this458.OverallHeight=OverallHeight;_this458.BaseWidth2=BaseWidth2;_this458.Radius=Radius;_this458.HeadWidth=HeadWidth;_this458.HeadDepth2=HeadDepth2;_this458.HeadDepth3=HeadDepth3;_this458.WebThickness=WebThickness;_this458.BaseWidth4=BaseWidth4;_this458.BaseDepth1=BaseDepth1;_this458.BaseDepth2=BaseDepth2;_this458.BaseDepth3=BaseDepth3;_this458.CentreOfGravityInY=CentreOfGravityInY;_this458.type=4133800736;return _this458;}return _createClass(IfcCraneRailAShapeProfileDef);}(IfcParameterizedProfileDef);IFC2X32.IfcCraneRailAShapeProfileDef=IfcCraneRailAShapeProfileDef;var IfcCraneRailFShapeProfileDef=/*#__PURE__*/function(_IfcParameterizedProf9){_inherits(IfcCraneRailFShapeProfileDef,_IfcParameterizedProf9);var _super456=_createSuper(IfcCraneRailFShapeProfileDef);function IfcCraneRailFShapeProfileDef(expressID,ProfileType,ProfileName,Position,OverallHeight,HeadWidth,Radius,HeadDepth2,HeadDepth3,WebThickness,BaseDepth1,BaseDepth2,CentreOfGravityInY){var _this459;_classCallCheck(this,IfcCraneRailFShapeProfileDef);_this459=_super456.call(this,expressID,ProfileType,ProfileName,Position);_this459.ProfileType=ProfileType;_this459.ProfileName=ProfileName;_this459.Position=Position;_this459.OverallHeight=OverallHeight;_this459.HeadWidth=HeadWidth;_this459.Radius=Radius;_this459.HeadDepth2=HeadDepth2;_this459.HeadDepth3=HeadDepth3;_this459.WebThickness=WebThickness;_this459.BaseDepth1=BaseDepth1;_this459.BaseDepth2=BaseDepth2;_this459.CentreOfGravityInY=CentreOfGravityInY;_this459.type=194851669;return _this459;}return _createClass(IfcCraneRailFShapeProfileDef);}(IfcParameterizedProfileDef);IFC2X32.IfcCraneRailFShapeProfileDef=IfcCraneRailFShapeProfileDef;var IfcCsgPrimitive3D=/*#__PURE__*/function(_IfcGeometricRepresen21){_inherits(IfcCsgPrimitive3D,_IfcGeometricRepresen21);var _super457=_createSuper(IfcCsgPrimitive3D);function IfcCsgPrimitive3D(expressID,Position){var _this460;_classCallCheck(this,IfcCsgPrimitive3D);_this460=_super457.call(this,expressID);_this460.Position=Position;_this460.type=2506170314;return _this460;}return _createClass(IfcCsgPrimitive3D);}(IfcGeometricRepresentationItem);IFC2X32.IfcCsgPrimitive3D=IfcCsgPrimitive3D;var IfcCsgSolid=/*#__PURE__*/function(_IfcSolidModel3){_inherits(IfcCsgSolid,_IfcSolidModel3);var _super458=_createSuper(IfcCsgSolid);function IfcCsgSolid(expressID,TreeRootExpression){var _this461;_classCallCheck(this,IfcCsgSolid);_this461=_super458.call(this,expressID);_this461.TreeRootExpression=TreeRootExpression;_this461.type=2147822146;return _this461;}return _createClass(IfcCsgSolid);}(IfcSolidModel);IFC2X32.IfcCsgSolid=IfcCsgSolid;var IfcCurve=/*#__PURE__*/function(_IfcGeometricRepresen22){_inherits(IfcCurve,_IfcGeometricRepresen22);var _super459=_createSuper(IfcCurve);function IfcCurve(expressID){var _this462;_classCallCheck(this,IfcCurve);_this462=_super459.call(this,expressID);_this462.type=2601014836;return _this462;}return _createClass(IfcCurve);}(IfcGeometricRepresentationItem);IFC2X32.IfcCurve=IfcCurve;var IfcCurveBoundedPlane=/*#__PURE__*/function(_IfcBoundedSurface){_inherits(IfcCurveBoundedPlane,_IfcBoundedSurface);var _super460=_createSuper(IfcCurveBoundedPlane);function IfcCurveBoundedPlane(expressID,BasisSurface,OuterBoundary,InnerBoundaries){var _this463;_classCallCheck(this,IfcCurveBoundedPlane);_this463=_super460.call(this,expressID);_this463.BasisSurface=BasisSurface;_this463.OuterBoundary=OuterBoundary;_this463.InnerBoundaries=InnerBoundaries;_this463.type=2827736869;return _this463;}return _createClass(IfcCurveBoundedPlane);}(IfcBoundedSurface);IFC2X32.IfcCurveBoundedPlane=IfcCurveBoundedPlane;var IfcDefinedSymbol=/*#__PURE__*/function(_IfcGeometricRepresen23){_inherits(IfcDefinedSymbol,_IfcGeometricRepresen23);var _super461=_createSuper(IfcDefinedSymbol);function IfcDefinedSymbol(expressID,Definition,Target){var _this464;_classCallCheck(this,IfcDefinedSymbol);_this464=_super461.call(this,expressID);_this464.Definition=Definition;_this464.Target=Target;_this464.type=693772133;return _this464;}return _createClass(IfcDefinedSymbol);}(IfcGeometricRepresentationItem);IFC2X32.IfcDefinedSymbol=IfcDefinedSymbol;var IfcDimensionCurve=/*#__PURE__*/function(_IfcAnnotationCurveOc){_inherits(IfcDimensionCurve,_IfcAnnotationCurveOc);var _super462=_createSuper(IfcDimensionCurve);function IfcDimensionCurve(expressID,Item,Styles,Name){var _this465;_classCallCheck(this,IfcDimensionCurve);_this465=_super462.call(this,expressID,Item,Styles,Name);_this465.Item=Item;_this465.Styles=Styles;_this465.Name=Name;_this465.type=606661476;return _this465;}return _createClass(IfcDimensionCurve);}(IfcAnnotationCurveOccurrence);IFC2X32.IfcDimensionCurve=IfcDimensionCurve;var IfcDimensionCurveTerminator=/*#__PURE__*/function(_IfcTerminatorSymbol){_inherits(IfcDimensionCurveTerminator,_IfcTerminatorSymbol);var _super463=_createSuper(IfcDimensionCurveTerminator);function IfcDimensionCurveTerminator(expressID,Item,Styles,Name,AnnotatedCurve,Role){var _this466;_classCallCheck(this,IfcDimensionCurveTerminator);_this466=_super463.call(this,expressID,Item,Styles,Name,AnnotatedCurve);_this466.Item=Item;_this466.Styles=Styles;_this466.Name=Name;_this466.AnnotatedCurve=AnnotatedCurve;_this466.Role=Role;_this466.type=4054601972;return _this466;}return _createClass(IfcDimensionCurveTerminator);}(IfcTerminatorSymbol);IFC2X32.IfcDimensionCurveTerminator=IfcDimensionCurveTerminator;var IfcDirection=/*#__PURE__*/function(_IfcGeometricRepresen24){_inherits(IfcDirection,_IfcGeometricRepresen24);var _super464=_createSuper(IfcDirection);function IfcDirection(expressID,DirectionRatios){var _this467;_classCallCheck(this,IfcDirection);_this467=_super464.call(this,expressID);_this467.DirectionRatios=DirectionRatios;_this467.type=32440307;return _this467;}return _createClass(IfcDirection);}(IfcGeometricRepresentationItem);IFC2X32.IfcDirection=IfcDirection;var IfcDoorLiningProperties=/*#__PURE__*/function(_IfcPropertySetDefini8){_inherits(IfcDoorLiningProperties,_IfcPropertySetDefini8);var _super465=_createSuper(IfcDoorLiningProperties);function IfcDoorLiningProperties(expressID,GlobalId,OwnerHistory,Name,Description,LiningDepth,LiningThickness,ThresholdDepth,ThresholdThickness,TransomThickness,TransomOffset,LiningOffset,ThresholdOffset,CasingThickness,CasingDepth,ShapeAspectStyle){var _this468;_classCallCheck(this,IfcDoorLiningProperties);_this468=_super465.call(this,expressID,GlobalId,OwnerHistory,Name,Description);_this468.GlobalId=GlobalId;_this468.OwnerHistory=OwnerHistory;_this468.Name=Name;_this468.Description=Description;_this468.LiningDepth=LiningDepth;_this468.LiningThickness=LiningThickness;_this468.ThresholdDepth=ThresholdDepth;_this468.ThresholdThickness=ThresholdThickness;_this468.TransomThickness=TransomThickness;_this468.TransomOffset=TransomOffset;_this468.LiningOffset=LiningOffset;_this468.ThresholdOffset=ThresholdOffset;_this468.CasingThickness=CasingThickness;_this468.CasingDepth=CasingDepth;_this468.ShapeAspectStyle=ShapeAspectStyle;_this468.type=2963535650;return _this468;}return _createClass(IfcDoorLiningProperties);}(IfcPropertySetDefinition);IFC2X32.IfcDoorLiningProperties=IfcDoorLiningProperties;var IfcDoorPanelProperties=/*#__PURE__*/function(_IfcPropertySetDefini9){_inherits(IfcDoorPanelProperties,_IfcPropertySetDefini9);var _super466=_createSuper(IfcDoorPanelProperties);function IfcDoorPanelProperties(expressID,GlobalId,OwnerHistory,Name,Description,PanelDepth,PanelOperation,PanelWidth,PanelPosition,ShapeAspectStyle){var _this469;_classCallCheck(this,IfcDoorPanelProperties);_this469=_super466.call(this,expressID,GlobalId,OwnerHistory,Name,Description);_this469.GlobalId=GlobalId;_this469.OwnerHistory=OwnerHistory;_this469.Name=Name;_this469.Description=Description;_this469.PanelDepth=PanelDepth;_this469.PanelOperation=PanelOperation;_this469.PanelWidth=PanelWidth;_this469.PanelPosition=PanelPosition;_this469.ShapeAspectStyle=ShapeAspectStyle;_this469.type=1714330368;return _this469;}return _createClass(IfcDoorPanelProperties);}(IfcPropertySetDefinition);IFC2X32.IfcDoorPanelProperties=IfcDoorPanelProperties;var IfcDoorStyle=/*#__PURE__*/function(_IfcTypeProduct2){_inherits(IfcDoorStyle,_IfcTypeProduct2);var _super467=_createSuper(IfcDoorStyle);function IfcDoorStyle(expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,OperationType,ConstructionType,ParameterTakesPrecedence,Sizeable){var _this470;_classCallCheck(this,IfcDoorStyle);_this470=_super467.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag);_this470.GlobalId=GlobalId;_this470.OwnerHistory=OwnerHistory;_this470.Name=Name;_this470.Description=Description;_this470.ApplicableOccurrence=ApplicableOccurrence;_this470.HasPropertySets=HasPropertySets;_this470.RepresentationMaps=RepresentationMaps;_this470.Tag=Tag;_this470.OperationType=OperationType;_this470.ConstructionType=ConstructionType;_this470.ParameterTakesPrecedence=ParameterTakesPrecedence;_this470.Sizeable=Sizeable;_this470.type=526551008;return _this470;}return _createClass(IfcDoorStyle);}(IfcTypeProduct);IFC2X32.IfcDoorStyle=IfcDoorStyle;var IfcDraughtingCallout=/*#__PURE__*/function(_IfcGeometricRepresen25){_inherits(IfcDraughtingCallout,_IfcGeometricRepresen25);var _super468=_createSuper(IfcDraughtingCallout);function IfcDraughtingCallout(expressID,Contents){var _this471;_classCallCheck(this,IfcDraughtingCallout);_this471=_super468.call(this,expressID);_this471.Contents=Contents;_this471.type=3073041342;return _this471;}return _createClass(IfcDraughtingCallout);}(IfcGeometricRepresentationItem);IFC2X32.IfcDraughtingCallout=IfcDraughtingCallout;var IfcDraughtingPreDefinedColour=/*#__PURE__*/function(_IfcPreDefinedColour){_inherits(IfcDraughtingPreDefinedColour,_IfcPreDefinedColour);var _super469=_createSuper(IfcDraughtingPreDefinedColour);function IfcDraughtingPreDefinedColour(expressID,Name){var _this472;_classCallCheck(this,IfcDraughtingPreDefinedColour);_this472=_super469.call(this,expressID,Name);_this472.Name=Name;_this472.type=445594917;return _this472;}return _createClass(IfcDraughtingPreDefinedColour);}(IfcPreDefinedColour);IFC2X32.IfcDraughtingPreDefinedColour=IfcDraughtingPreDefinedColour;var IfcDraughtingPreDefinedCurveFont=/*#__PURE__*/function(_IfcPreDefinedCurveFo){_inherits(IfcDraughtingPreDefinedCurveFont,_IfcPreDefinedCurveFo);var _super470=_createSuper(IfcDraughtingPreDefinedCurveFont);function IfcDraughtingPreDefinedCurveFont(expressID,Name){var _this473;_classCallCheck(this,IfcDraughtingPreDefinedCurveFont);_this473=_super470.call(this,expressID,Name);_this473.Name=Name;_this473.type=4006246654;return _this473;}return _createClass(IfcDraughtingPreDefinedCurveFont);}(IfcPreDefinedCurveFont);IFC2X32.IfcDraughtingPreDefinedCurveFont=IfcDraughtingPreDefinedCurveFont;var IfcEdgeLoop=/*#__PURE__*/function(_IfcLoop3){_inherits(IfcEdgeLoop,_IfcLoop3);var _super471=_createSuper(IfcEdgeLoop);function IfcEdgeLoop(expressID,EdgeList){var _this474;_classCallCheck(this,IfcEdgeLoop);_this474=_super471.call(this,expressID);_this474.EdgeList=EdgeList;_this474.type=1472233963;return _this474;}return _createClass(IfcEdgeLoop);}(IfcLoop);IFC2X32.IfcEdgeLoop=IfcEdgeLoop;var IfcElementQuantity=/*#__PURE__*/function(_IfcPropertySetDefini10){_inherits(IfcElementQuantity,_IfcPropertySetDefini10);var _super472=_createSuper(IfcElementQuantity);function IfcElementQuantity(expressID,GlobalId,OwnerHistory,Name,Description,MethodOfMeasurement,Quantities){var _this475;_classCallCheck(this,IfcElementQuantity);_this475=_super472.call(this,expressID,GlobalId,OwnerHistory,Name,Description);_this475.GlobalId=GlobalId;_this475.OwnerHistory=OwnerHistory;_this475.Name=Name;_this475.Description=Description;_this475.MethodOfMeasurement=MethodOfMeasurement;_this475.Quantities=Quantities;_this475.type=1883228015;return _this475;}return _createClass(IfcElementQuantity);}(IfcPropertySetDefinition);IFC2X32.IfcElementQuantity=IfcElementQuantity;var IfcElementType=/*#__PURE__*/function(_IfcTypeProduct3){_inherits(IfcElementType,_IfcTypeProduct3);var _super473=_createSuper(IfcElementType);function IfcElementType(expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType){var _this476;_classCallCheck(this,IfcElementType);_this476=_super473.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag);_this476.GlobalId=GlobalId;_this476.OwnerHistory=OwnerHistory;_this476.Name=Name;_this476.Description=Description;_this476.ApplicableOccurrence=ApplicableOccurrence;_this476.HasPropertySets=HasPropertySets;_this476.RepresentationMaps=RepresentationMaps;_this476.Tag=Tag;_this476.ElementType=ElementType;_this476.type=339256511;return _this476;}return _createClass(IfcElementType);}(IfcTypeProduct);IFC2X32.IfcElementType=IfcElementType;var IfcElementarySurface=/*#__PURE__*/function(_IfcSurface3){_inherits(IfcElementarySurface,_IfcSurface3);var _super474=_createSuper(IfcElementarySurface);function IfcElementarySurface(expressID,Position){var _this477;_classCallCheck(this,IfcElementarySurface);_this477=_super474.call(this,expressID);_this477.Position=Position;_this477.type=2777663545;return _this477;}return _createClass(IfcElementarySurface);}(IfcSurface);IFC2X32.IfcElementarySurface=IfcElementarySurface;var IfcEllipseProfileDef=/*#__PURE__*/function(_IfcParameterizedProf10){_inherits(IfcEllipseProfileDef,_IfcParameterizedProf10);var _super475=_createSuper(IfcEllipseProfileDef);function IfcEllipseProfileDef(expressID,ProfileType,ProfileName,Position,SemiAxis1,SemiAxis2){var _this478;_classCallCheck(this,IfcEllipseProfileDef);_this478=_super475.call(this,expressID,ProfileType,ProfileName,Position);_this478.ProfileType=ProfileType;_this478.ProfileName=ProfileName;_this478.Position=Position;_this478.SemiAxis1=SemiAxis1;_this478.SemiAxis2=SemiAxis2;_this478.type=2835456948;return _this478;}return _createClass(IfcEllipseProfileDef);}(IfcParameterizedProfileDef);IFC2X32.IfcEllipseProfileDef=IfcEllipseProfileDef;var IfcEnergyProperties=/*#__PURE__*/function(_IfcPropertySetDefini11){_inherits(IfcEnergyProperties,_IfcPropertySetDefini11);var _super476=_createSuper(IfcEnergyProperties);function IfcEnergyProperties(expressID,GlobalId,OwnerHistory,Name,Description,EnergySequence,UserDefinedEnergySequence){var _this479;_classCallCheck(this,IfcEnergyProperties);_this479=_super476.call(this,expressID,GlobalId,OwnerHistory,Name,Description);_this479.GlobalId=GlobalId;_this479.OwnerHistory=OwnerHistory;_this479.Name=Name;_this479.Description=Description;_this479.EnergySequence=EnergySequence;_this479.UserDefinedEnergySequence=UserDefinedEnergySequence;_this479.type=80994333;return _this479;}return _createClass(IfcEnergyProperties);}(IfcPropertySetDefinition);IFC2X32.IfcEnergyProperties=IfcEnergyProperties;var IfcExtrudedAreaSolid=/*#__PURE__*/function(_IfcSweptAreaSolid){_inherits(IfcExtrudedAreaSolid,_IfcSweptAreaSolid);var _super477=_createSuper(IfcExtrudedAreaSolid);function IfcExtrudedAreaSolid(expressID,SweptArea,Position,ExtrudedDirection,Depth){var _this480;_classCallCheck(this,IfcExtrudedAreaSolid);_this480=_super477.call(this,expressID,SweptArea,Position);_this480.SweptArea=SweptArea;_this480.Position=Position;_this480.ExtrudedDirection=ExtrudedDirection;_this480.Depth=Depth;_this480.type=477187591;return _this480;}return _createClass(IfcExtrudedAreaSolid);}(IfcSweptAreaSolid);IFC2X32.IfcExtrudedAreaSolid=IfcExtrudedAreaSolid;var IfcFaceBasedSurfaceModel=/*#__PURE__*/function(_IfcGeometricRepresen26){_inherits(IfcFaceBasedSurfaceModel,_IfcGeometricRepresen26);var _super478=_createSuper(IfcFaceBasedSurfaceModel);function IfcFaceBasedSurfaceModel(expressID,FbsmFaces){var _this481;_classCallCheck(this,IfcFaceBasedSurfaceModel);_this481=_super478.call(this,expressID);_this481.FbsmFaces=FbsmFaces;_this481.type=2047409740;return _this481;}return _createClass(IfcFaceBasedSurfaceModel);}(IfcGeometricRepresentationItem);IFC2X32.IfcFaceBasedSurfaceModel=IfcFaceBasedSurfaceModel;var IfcFillAreaStyleHatching=/*#__PURE__*/function(_IfcGeometricRepresen27){_inherits(IfcFillAreaStyleHatching,_IfcGeometricRepresen27);var _super479=_createSuper(IfcFillAreaStyleHatching);function IfcFillAreaStyleHatching(expressID,HatchLineAppearance,StartOfNextHatchLine,PointOfReferenceHatchLine,PatternStart,HatchLineAngle){var _this482;_classCallCheck(this,IfcFillAreaStyleHatching);_this482=_super479.call(this,expressID);_this482.HatchLineAppearance=HatchLineAppearance;_this482.StartOfNextHatchLine=StartOfNextHatchLine;_this482.PointOfReferenceHatchLine=PointOfReferenceHatchLine;_this482.PatternStart=PatternStart;_this482.HatchLineAngle=HatchLineAngle;_this482.type=374418227;return _this482;}return _createClass(IfcFillAreaStyleHatching);}(IfcGeometricRepresentationItem);IFC2X32.IfcFillAreaStyleHatching=IfcFillAreaStyleHatching;var IfcFillAreaStyleTileSymbolWithStyle=/*#__PURE__*/function(_IfcGeometricRepresen28){_inherits(IfcFillAreaStyleTileSymbolWithStyle,_IfcGeometricRepresen28);var _super480=_createSuper(IfcFillAreaStyleTileSymbolWithStyle);function IfcFillAreaStyleTileSymbolWithStyle(expressID,Symbol2){var _this483;_classCallCheck(this,IfcFillAreaStyleTileSymbolWithStyle);_this483=_super480.call(this,expressID);_this483.Symbol=Symbol2;_this483.type=4203026998;return _this483;}return _createClass(IfcFillAreaStyleTileSymbolWithStyle);}(IfcGeometricRepresentationItem);IFC2X32.IfcFillAreaStyleTileSymbolWithStyle=IfcFillAreaStyleTileSymbolWithStyle;var IfcFillAreaStyleTiles=/*#__PURE__*/function(_IfcGeometricRepresen29){_inherits(IfcFillAreaStyleTiles,_IfcGeometricRepresen29);var _super481=_createSuper(IfcFillAreaStyleTiles);function IfcFillAreaStyleTiles(expressID,TilingPattern,Tiles,TilingScale){var _this484;_classCallCheck(this,IfcFillAreaStyleTiles);_this484=_super481.call(this,expressID);_this484.TilingPattern=TilingPattern;_this484.Tiles=Tiles;_this484.TilingScale=TilingScale;_this484.type=315944413;return _this484;}return _createClass(IfcFillAreaStyleTiles);}(IfcGeometricRepresentationItem);IFC2X32.IfcFillAreaStyleTiles=IfcFillAreaStyleTiles;var IfcFluidFlowProperties=/*#__PURE__*/function(_IfcPropertySetDefini12){_inherits(IfcFluidFlowProperties,_IfcPropertySetDefini12);var _super482=_createSuper(IfcFluidFlowProperties);function IfcFluidFlowProperties(expressID,GlobalId,OwnerHistory,Name,Description,PropertySource,FlowConditionTimeSeries,VelocityTimeSeries,FlowrateTimeSeries,Fluid,PressureTimeSeries,UserDefinedPropertySource,TemperatureSingleValue,WetBulbTemperatureSingleValue,WetBulbTemperatureTimeSeries,TemperatureTimeSeries,FlowrateSingleValue,FlowConditionSingleValue,VelocitySingleValue,PressureSingleValue){var _this485;_classCallCheck(this,IfcFluidFlowProperties);_this485=_super482.call(this,expressID,GlobalId,OwnerHistory,Name,Description);_this485.GlobalId=GlobalId;_this485.OwnerHistory=OwnerHistory;_this485.Name=Name;_this485.Description=Description;_this485.PropertySource=PropertySource;_this485.FlowConditionTimeSeries=FlowConditionTimeSeries;_this485.VelocityTimeSeries=VelocityTimeSeries;_this485.FlowrateTimeSeries=FlowrateTimeSeries;_this485.Fluid=Fluid;_this485.PressureTimeSeries=PressureTimeSeries;_this485.UserDefinedPropertySource=UserDefinedPropertySource;_this485.TemperatureSingleValue=TemperatureSingleValue;_this485.WetBulbTemperatureSingleValue=WetBulbTemperatureSingleValue;_this485.WetBulbTemperatureTimeSeries=WetBulbTemperatureTimeSeries;_this485.TemperatureTimeSeries=TemperatureTimeSeries;_this485.FlowrateSingleValue=FlowrateSingleValue;_this485.FlowConditionSingleValue=FlowConditionSingleValue;_this485.VelocitySingleValue=VelocitySingleValue;_this485.PressureSingleValue=PressureSingleValue;_this485.type=3455213021;return _this485;}return _createClass(IfcFluidFlowProperties);}(IfcPropertySetDefinition);IFC2X32.IfcFluidFlowProperties=IfcFluidFlowProperties;var IfcFurnishingElementType=/*#__PURE__*/function(_IfcElementType){_inherits(IfcFurnishingElementType,_IfcElementType);var _super483=_createSuper(IfcFurnishingElementType);function IfcFurnishingElementType(expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType){var _this486;_classCallCheck(this,IfcFurnishingElementType);_this486=_super483.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType);_this486.GlobalId=GlobalId;_this486.OwnerHistory=OwnerHistory;_this486.Name=Name;_this486.Description=Description;_this486.ApplicableOccurrence=ApplicableOccurrence;_this486.HasPropertySets=HasPropertySets;_this486.RepresentationMaps=RepresentationMaps;_this486.Tag=Tag;_this486.ElementType=ElementType;_this486.type=4238390223;return _this486;}return _createClass(IfcFurnishingElementType);}(IfcElementType);IFC2X32.IfcFurnishingElementType=IfcFurnishingElementType;var IfcFurnitureType=/*#__PURE__*/function(_IfcFurnishingElement){_inherits(IfcFurnitureType,_IfcFurnishingElement);var _super484=_createSuper(IfcFurnitureType);function IfcFurnitureType(expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType,AssemblyPlace){var _this487;_classCallCheck(this,IfcFurnitureType);_this487=_super484.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType);_this487.GlobalId=GlobalId;_this487.OwnerHistory=OwnerHistory;_this487.Name=Name;_this487.Description=Description;_this487.ApplicableOccurrence=ApplicableOccurrence;_this487.HasPropertySets=HasPropertySets;_this487.RepresentationMaps=RepresentationMaps;_this487.Tag=Tag;_this487.ElementType=ElementType;_this487.AssemblyPlace=AssemblyPlace;_this487.type=1268542332;return _this487;}return _createClass(IfcFurnitureType);}(IfcFurnishingElementType);IFC2X32.IfcFurnitureType=IfcFurnitureType;var IfcGeometricCurveSet=/*#__PURE__*/function(_IfcGeometricSet){_inherits(IfcGeometricCurveSet,_IfcGeometricSet);var _super485=_createSuper(IfcGeometricCurveSet);function IfcGeometricCurveSet(expressID,Elements){var _this488;_classCallCheck(this,IfcGeometricCurveSet);_this488=_super485.call(this,expressID,Elements);_this488.Elements=Elements;_this488.type=987898635;return _this488;}return _createClass(IfcGeometricCurveSet);}(IfcGeometricSet);IFC2X32.IfcGeometricCurveSet=IfcGeometricCurveSet;var IfcIShapeProfileDef=/*#__PURE__*/function(_IfcParameterizedProf11){_inherits(IfcIShapeProfileDef,_IfcParameterizedProf11);var _super486=_createSuper(IfcIShapeProfileDef);function IfcIShapeProfileDef(expressID,ProfileType,ProfileName,Position,OverallWidth,OverallDepth,WebThickness,FlangeThickness,FilletRadius){var _this489;_classCallCheck(this,IfcIShapeProfileDef);_this489=_super486.call(this,expressID,ProfileType,ProfileName,Position);_this489.ProfileType=ProfileType;_this489.ProfileName=ProfileName;_this489.Position=Position;_this489.OverallWidth=OverallWidth;_this489.OverallDepth=OverallDepth;_this489.WebThickness=WebThickness;_this489.FlangeThickness=FlangeThickness;_this489.FilletRadius=FilletRadius;_this489.type=1484403080;return _this489;}return _createClass(IfcIShapeProfileDef);}(IfcParameterizedProfileDef);IFC2X32.IfcIShapeProfileDef=IfcIShapeProfileDef;var IfcLShapeProfileDef=/*#__PURE__*/function(_IfcParameterizedProf12){_inherits(IfcLShapeProfileDef,_IfcParameterizedProf12);var _super487=_createSuper(IfcLShapeProfileDef);function IfcLShapeProfileDef(expressID,ProfileType,ProfileName,Position,Depth,Width,Thickness,FilletRadius,EdgeRadius,LegSlope,CentreOfGravityInX,CentreOfGravityInY){var _this490;_classCallCheck(this,IfcLShapeProfileDef);_this490=_super487.call(this,expressID,ProfileType,ProfileName,Position);_this490.ProfileType=ProfileType;_this490.ProfileName=ProfileName;_this490.Position=Position;_this490.Depth=Depth;_this490.Width=Width;_this490.Thickness=Thickness;_this490.FilletRadius=FilletRadius;_this490.EdgeRadius=EdgeRadius;_this490.LegSlope=LegSlope;_this490.CentreOfGravityInX=CentreOfGravityInX;_this490.CentreOfGravityInY=CentreOfGravityInY;_this490.type=572779678;return _this490;}return _createClass(IfcLShapeProfileDef);}(IfcParameterizedProfileDef);IFC2X32.IfcLShapeProfileDef=IfcLShapeProfileDef;var IfcLine=/*#__PURE__*/function(_IfcCurve){_inherits(IfcLine,_IfcCurve);var _super488=_createSuper(IfcLine);function IfcLine(expressID,Pnt,Dir){var _this491;_classCallCheck(this,IfcLine);_this491=_super488.call(this,expressID);_this491.Pnt=Pnt;_this491.Dir=Dir;_this491.type=1281925730;return _this491;}return _createClass(IfcLine);}(IfcCurve);IFC2X32.IfcLine=IfcLine;var IfcManifoldSolidBrep=/*#__PURE__*/function(_IfcSolidModel4){_inherits(IfcManifoldSolidBrep,_IfcSolidModel4);var _super489=_createSuper(IfcManifoldSolidBrep);function IfcManifoldSolidBrep(expressID,Outer){var _this492;_classCallCheck(this,IfcManifoldSolidBrep);_this492=_super489.call(this,expressID);_this492.Outer=Outer;_this492.type=1425443689;return _this492;}return _createClass(IfcManifoldSolidBrep);}(IfcSolidModel);IFC2X32.IfcManifoldSolidBrep=IfcManifoldSolidBrep;var IfcObject=/*#__PURE__*/function(_IfcObjectDefinition2){_inherits(IfcObject,_IfcObjectDefinition2);var _super490=_createSuper(IfcObject);function IfcObject(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType){var _this493;_classCallCheck(this,IfcObject);_this493=_super490.call(this,expressID,GlobalId,OwnerHistory,Name,Description);_this493.GlobalId=GlobalId;_this493.OwnerHistory=OwnerHistory;_this493.Name=Name;_this493.Description=Description;_this493.ObjectType=ObjectType;_this493.type=3888040117;return _this493;}return _createClass(IfcObject);}(IfcObjectDefinition);IFC2X32.IfcObject=IfcObject;var IfcOffsetCurve2D=/*#__PURE__*/function(_IfcCurve2){_inherits(IfcOffsetCurve2D,_IfcCurve2);var _super491=_createSuper(IfcOffsetCurve2D);function IfcOffsetCurve2D(expressID,BasisCurve,Distance,SelfIntersect){var _this494;_classCallCheck(this,IfcOffsetCurve2D);_this494=_super491.call(this,expressID);_this494.BasisCurve=BasisCurve;_this494.Distance=Distance;_this494.SelfIntersect=SelfIntersect;_this494.type=3388369263;return _this494;}return _createClass(IfcOffsetCurve2D);}(IfcCurve);IFC2X32.IfcOffsetCurve2D=IfcOffsetCurve2D;var IfcOffsetCurve3D=/*#__PURE__*/function(_IfcCurve3){_inherits(IfcOffsetCurve3D,_IfcCurve3);var _super492=_createSuper(IfcOffsetCurve3D);function IfcOffsetCurve3D(expressID,BasisCurve,Distance,SelfIntersect,RefDirection){var _this495;_classCallCheck(this,IfcOffsetCurve3D);_this495=_super492.call(this,expressID);_this495.BasisCurve=BasisCurve;_this495.Distance=Distance;_this495.SelfIntersect=SelfIntersect;_this495.RefDirection=RefDirection;_this495.type=3505215534;return _this495;}return _createClass(IfcOffsetCurve3D);}(IfcCurve);IFC2X32.IfcOffsetCurve3D=IfcOffsetCurve3D;var IfcPermeableCoveringProperties=/*#__PURE__*/function(_IfcPropertySetDefini13){_inherits(IfcPermeableCoveringProperties,_IfcPropertySetDefini13);var _super493=_createSuper(IfcPermeableCoveringProperties);function IfcPermeableCoveringProperties(expressID,GlobalId,OwnerHistory,Name,Description,OperationType,PanelPosition,FrameDepth,FrameThickness,ShapeAspectStyle){var _this496;_classCallCheck(this,IfcPermeableCoveringProperties);_this496=_super493.call(this,expressID,GlobalId,OwnerHistory,Name,Description);_this496.GlobalId=GlobalId;_this496.OwnerHistory=OwnerHistory;_this496.Name=Name;_this496.Description=Description;_this496.OperationType=OperationType;_this496.PanelPosition=PanelPosition;_this496.FrameDepth=FrameDepth;_this496.FrameThickness=FrameThickness;_this496.ShapeAspectStyle=ShapeAspectStyle;_this496.type=3566463478;return _this496;}return _createClass(IfcPermeableCoveringProperties);}(IfcPropertySetDefinition);IFC2X32.IfcPermeableCoveringProperties=IfcPermeableCoveringProperties;var IfcPlanarBox=/*#__PURE__*/function(_IfcPlanarExtent){_inherits(IfcPlanarBox,_IfcPlanarExtent);var _super494=_createSuper(IfcPlanarBox);function IfcPlanarBox(expressID,SizeInX,SizeInY,Placement){var _this497;_classCallCheck(this,IfcPlanarBox);_this497=_super494.call(this,expressID,SizeInX,SizeInY);_this497.SizeInX=SizeInX;_this497.SizeInY=SizeInY;_this497.Placement=Placement;_this497.type=603570806;return _this497;}return _createClass(IfcPlanarBox);}(IfcPlanarExtent);IFC2X32.IfcPlanarBox=IfcPlanarBox;var IfcPlane=/*#__PURE__*/function(_IfcElementarySurface){_inherits(IfcPlane,_IfcElementarySurface);var _super495=_createSuper(IfcPlane);function IfcPlane(expressID,Position){var _this498;_classCallCheck(this,IfcPlane);_this498=_super495.call(this,expressID,Position);_this498.Position=Position;_this498.type=220341763;return _this498;}return _createClass(IfcPlane);}(IfcElementarySurface);IFC2X32.IfcPlane=IfcPlane;var IfcProcess=/*#__PURE__*/function(_IfcObject){_inherits(IfcProcess,_IfcObject);var _super496=_createSuper(IfcProcess);function IfcProcess(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType){var _this499;_classCallCheck(this,IfcProcess);_this499=_super496.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType);_this499.GlobalId=GlobalId;_this499.OwnerHistory=OwnerHistory;_this499.Name=Name;_this499.Description=Description;_this499.ObjectType=ObjectType;_this499.type=2945172077;return _this499;}return _createClass(IfcProcess);}(IfcObject);IFC2X32.IfcProcess=IfcProcess;var IfcProduct=/*#__PURE__*/function(_IfcObject2){_inherits(IfcProduct,_IfcObject2);var _super497=_createSuper(IfcProduct);function IfcProduct(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation){var _this500;_classCallCheck(this,IfcProduct);_this500=_super497.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType);_this500.GlobalId=GlobalId;_this500.OwnerHistory=OwnerHistory;_this500.Name=Name;_this500.Description=Description;_this500.ObjectType=ObjectType;_this500.ObjectPlacement=ObjectPlacement;_this500.Representation=Representation;_this500.type=4208778838;return _this500;}return _createClass(IfcProduct);}(IfcObject);IFC2X32.IfcProduct=IfcProduct;var IfcProject=/*#__PURE__*/function(_IfcObject3){_inherits(IfcProject,_IfcObject3);var _super498=_createSuper(IfcProject);function IfcProject(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,LongName,Phase,RepresentationContexts,UnitsInContext){var _this501;_classCallCheck(this,IfcProject);_this501=_super498.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType);_this501.GlobalId=GlobalId;_this501.OwnerHistory=OwnerHistory;_this501.Name=Name;_this501.Description=Description;_this501.ObjectType=ObjectType;_this501.LongName=LongName;_this501.Phase=Phase;_this501.RepresentationContexts=RepresentationContexts;_this501.UnitsInContext=UnitsInContext;_this501.type=103090709;return _this501;}return _createClass(IfcProject);}(IfcObject);IFC2X32.IfcProject=IfcProject;var IfcProjectionCurve=/*#__PURE__*/function(_IfcAnnotationCurveOc2){_inherits(IfcProjectionCurve,_IfcAnnotationCurveOc2);var _super499=_createSuper(IfcProjectionCurve);function IfcProjectionCurve(expressID,Item,Styles,Name){var _this502;_classCallCheck(this,IfcProjectionCurve);_this502=_super499.call(this,expressID,Item,Styles,Name);_this502.Item=Item;_this502.Styles=Styles;_this502.Name=Name;_this502.type=4194566429;return _this502;}return _createClass(IfcProjectionCurve);}(IfcAnnotationCurveOccurrence);IFC2X32.IfcProjectionCurve=IfcProjectionCurve;var IfcPropertySet=/*#__PURE__*/function(_IfcPropertySetDefini14){_inherits(IfcPropertySet,_IfcPropertySetDefini14);var _super500=_createSuper(IfcPropertySet);function IfcPropertySet(expressID,GlobalId,OwnerHistory,Name,Description,HasProperties){var _this503;_classCallCheck(this,IfcPropertySet);_this503=_super500.call(this,expressID,GlobalId,OwnerHistory,Name,Description);_this503.GlobalId=GlobalId;_this503.OwnerHistory=OwnerHistory;_this503.Name=Name;_this503.Description=Description;_this503.HasProperties=HasProperties;_this503.type=1451395588;return _this503;}return _createClass(IfcPropertySet);}(IfcPropertySetDefinition);IFC2X32.IfcPropertySet=IfcPropertySet;var IfcProxy=/*#__PURE__*/function(_IfcProduct){_inherits(IfcProxy,_IfcProduct);var _super501=_createSuper(IfcProxy);function IfcProxy(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,ProxyType,Tag){var _this504;_classCallCheck(this,IfcProxy);_this504=_super501.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation);_this504.GlobalId=GlobalId;_this504.OwnerHistory=OwnerHistory;_this504.Name=Name;_this504.Description=Description;_this504.ObjectType=ObjectType;_this504.ObjectPlacement=ObjectPlacement;_this504.Representation=Representation;_this504.ProxyType=ProxyType;_this504.Tag=Tag;_this504.type=3219374653;return _this504;}return _createClass(IfcProxy);}(IfcProduct);IFC2X32.IfcProxy=IfcProxy;var IfcRectangleHollowProfileDef=/*#__PURE__*/function(_IfcRectangleProfileD2){_inherits(IfcRectangleHollowProfileDef,_IfcRectangleProfileD2);var _super502=_createSuper(IfcRectangleHollowProfileDef);function IfcRectangleHollowProfileDef(expressID,ProfileType,ProfileName,Position,XDim,YDim,WallThickness,InnerFilletRadius,OuterFilletRadius){var _this505;_classCallCheck(this,IfcRectangleHollowProfileDef);_this505=_super502.call(this,expressID,ProfileType,ProfileName,Position,XDim,YDim);_this505.ProfileType=ProfileType;_this505.ProfileName=ProfileName;_this505.Position=Position;_this505.XDim=XDim;_this505.YDim=YDim;_this505.WallThickness=WallThickness;_this505.InnerFilletRadius=InnerFilletRadius;_this505.OuterFilletRadius=OuterFilletRadius;_this505.type=2770003689;return _this505;}return _createClass(IfcRectangleHollowProfileDef);}(IfcRectangleProfileDef);IFC2X32.IfcRectangleHollowProfileDef=IfcRectangleHollowProfileDef;var IfcRectangularPyramid=/*#__PURE__*/function(_IfcCsgPrimitive3D){_inherits(IfcRectangularPyramid,_IfcCsgPrimitive3D);var _super503=_createSuper(IfcRectangularPyramid);function IfcRectangularPyramid(expressID,Position,XLength,YLength,Height){var _this506;_classCallCheck(this,IfcRectangularPyramid);_this506=_super503.call(this,expressID,Position);_this506.Position=Position;_this506.XLength=XLength;_this506.YLength=YLength;_this506.Height=Height;_this506.type=2798486643;return _this506;}return _createClass(IfcRectangularPyramid);}(IfcCsgPrimitive3D);IFC2X32.IfcRectangularPyramid=IfcRectangularPyramid;var IfcRectangularTrimmedSurface=/*#__PURE__*/function(_IfcBoundedSurface2){_inherits(IfcRectangularTrimmedSurface,_IfcBoundedSurface2);var _super504=_createSuper(IfcRectangularTrimmedSurface);function IfcRectangularTrimmedSurface(expressID,BasisSurface,U1,V1,U2,V2,Usense,Vsense){var _this507;_classCallCheck(this,IfcRectangularTrimmedSurface);_this507=_super504.call(this,expressID);_this507.BasisSurface=BasisSurface;_this507.U1=U1;_this507.V1=V1;_this507.U2=U2;_this507.V2=V2;_this507.Usense=Usense;_this507.Vsense=Vsense;_this507.type=3454111270;return _this507;}return _createClass(IfcRectangularTrimmedSurface);}(IfcBoundedSurface);IFC2X32.IfcRectangularTrimmedSurface=IfcRectangularTrimmedSurface;var IfcRelAssigns=/*#__PURE__*/function(_IfcRelationship){_inherits(IfcRelAssigns,_IfcRelationship);var _super505=_createSuper(IfcRelAssigns);function IfcRelAssigns(expressID,GlobalId,OwnerHistory,Name,Description,RelatedObjects,RelatedObjectsType){var _this508;_classCallCheck(this,IfcRelAssigns);_this508=_super505.call(this,expressID,GlobalId,OwnerHistory,Name,Description);_this508.GlobalId=GlobalId;_this508.OwnerHistory=OwnerHistory;_this508.Name=Name;_this508.Description=Description;_this508.RelatedObjects=RelatedObjects;_this508.RelatedObjectsType=RelatedObjectsType;_this508.type=3939117080;return _this508;}return _createClass(IfcRelAssigns);}(IfcRelationship);IFC2X32.IfcRelAssigns=IfcRelAssigns;var IfcRelAssignsToActor=/*#__PURE__*/function(_IfcRelAssigns){_inherits(IfcRelAssignsToActor,_IfcRelAssigns);var _super506=_createSuper(IfcRelAssignsToActor);function IfcRelAssignsToActor(expressID,GlobalId,OwnerHistory,Name,Description,RelatedObjects,RelatedObjectsType,RelatingActor,ActingRole){var _this509;_classCallCheck(this,IfcRelAssignsToActor);_this509=_super506.call(this,expressID,GlobalId,OwnerHistory,Name,Description,RelatedObjects,RelatedObjectsType);_this509.GlobalId=GlobalId;_this509.OwnerHistory=OwnerHistory;_this509.Name=Name;_this509.Description=Description;_this509.RelatedObjects=RelatedObjects;_this509.RelatedObjectsType=RelatedObjectsType;_this509.RelatingActor=RelatingActor;_this509.ActingRole=ActingRole;_this509.type=1683148259;return _this509;}return _createClass(IfcRelAssignsToActor);}(IfcRelAssigns);IFC2X32.IfcRelAssignsToActor=IfcRelAssignsToActor;var IfcRelAssignsToControl=/*#__PURE__*/function(_IfcRelAssigns2){_inherits(IfcRelAssignsToControl,_IfcRelAssigns2);var _super507=_createSuper(IfcRelAssignsToControl);function IfcRelAssignsToControl(expressID,GlobalId,OwnerHistory,Name,Description,RelatedObjects,RelatedObjectsType,RelatingControl){var _this510;_classCallCheck(this,IfcRelAssignsToControl);_this510=_super507.call(this,expressID,GlobalId,OwnerHistory,Name,Description,RelatedObjects,RelatedObjectsType);_this510.GlobalId=GlobalId;_this510.OwnerHistory=OwnerHistory;_this510.Name=Name;_this510.Description=Description;_this510.RelatedObjects=RelatedObjects;_this510.RelatedObjectsType=RelatedObjectsType;_this510.RelatingControl=RelatingControl;_this510.type=2495723537;return _this510;}return _createClass(IfcRelAssignsToControl);}(IfcRelAssigns);IFC2X32.IfcRelAssignsToControl=IfcRelAssignsToControl;var IfcRelAssignsToGroup=/*#__PURE__*/function(_IfcRelAssigns3){_inherits(IfcRelAssignsToGroup,_IfcRelAssigns3);var _super508=_createSuper(IfcRelAssignsToGroup);function IfcRelAssignsToGroup(expressID,GlobalId,OwnerHistory,Name,Description,RelatedObjects,RelatedObjectsType,RelatingGroup){var _this511;_classCallCheck(this,IfcRelAssignsToGroup);_this511=_super508.call(this,expressID,GlobalId,OwnerHistory,Name,Description,RelatedObjects,RelatedObjectsType);_this511.GlobalId=GlobalId;_this511.OwnerHistory=OwnerHistory;_this511.Name=Name;_this511.Description=Description;_this511.RelatedObjects=RelatedObjects;_this511.RelatedObjectsType=RelatedObjectsType;_this511.RelatingGroup=RelatingGroup;_this511.type=1307041759;return _this511;}return _createClass(IfcRelAssignsToGroup);}(IfcRelAssigns);IFC2X32.IfcRelAssignsToGroup=IfcRelAssignsToGroup;var IfcRelAssignsToProcess=/*#__PURE__*/function(_IfcRelAssigns4){_inherits(IfcRelAssignsToProcess,_IfcRelAssigns4);var _super509=_createSuper(IfcRelAssignsToProcess);function IfcRelAssignsToProcess(expressID,GlobalId,OwnerHistory,Name,Description,RelatedObjects,RelatedObjectsType,RelatingProcess,QuantityInProcess){var _this512;_classCallCheck(this,IfcRelAssignsToProcess);_this512=_super509.call(this,expressID,GlobalId,OwnerHistory,Name,Description,RelatedObjects,RelatedObjectsType);_this512.GlobalId=GlobalId;_this512.OwnerHistory=OwnerHistory;_this512.Name=Name;_this512.Description=Description;_this512.RelatedObjects=RelatedObjects;_this512.RelatedObjectsType=RelatedObjectsType;_this512.RelatingProcess=RelatingProcess;_this512.QuantityInProcess=QuantityInProcess;_this512.type=4278684876;return _this512;}return _createClass(IfcRelAssignsToProcess);}(IfcRelAssigns);IFC2X32.IfcRelAssignsToProcess=IfcRelAssignsToProcess;var IfcRelAssignsToProduct=/*#__PURE__*/function(_IfcRelAssigns5){_inherits(IfcRelAssignsToProduct,_IfcRelAssigns5);var _super510=_createSuper(IfcRelAssignsToProduct);function IfcRelAssignsToProduct(expressID,GlobalId,OwnerHistory,Name,Description,RelatedObjects,RelatedObjectsType,RelatingProduct){var _this513;_classCallCheck(this,IfcRelAssignsToProduct);_this513=_super510.call(this,expressID,GlobalId,OwnerHistory,Name,Description,RelatedObjects,RelatedObjectsType);_this513.GlobalId=GlobalId;_this513.OwnerHistory=OwnerHistory;_this513.Name=Name;_this513.Description=Description;_this513.RelatedObjects=RelatedObjects;_this513.RelatedObjectsType=RelatedObjectsType;_this513.RelatingProduct=RelatingProduct;_this513.type=2857406711;return _this513;}return _createClass(IfcRelAssignsToProduct);}(IfcRelAssigns);IFC2X32.IfcRelAssignsToProduct=IfcRelAssignsToProduct;var IfcRelAssignsToProjectOrder=/*#__PURE__*/function(_IfcRelAssignsToContr){_inherits(IfcRelAssignsToProjectOrder,_IfcRelAssignsToContr);var _super511=_createSuper(IfcRelAssignsToProjectOrder);function IfcRelAssignsToProjectOrder(expressID,GlobalId,OwnerHistory,Name,Description,RelatedObjects,RelatedObjectsType,RelatingControl){var _this514;_classCallCheck(this,IfcRelAssignsToProjectOrder);_this514=_super511.call(this,expressID,GlobalId,OwnerHistory,Name,Description,RelatedObjects,RelatedObjectsType,RelatingControl);_this514.GlobalId=GlobalId;_this514.OwnerHistory=OwnerHistory;_this514.Name=Name;_this514.Description=Description;_this514.RelatedObjects=RelatedObjects;_this514.RelatedObjectsType=RelatedObjectsType;_this514.RelatingControl=RelatingControl;_this514.type=3372526763;return _this514;}return _createClass(IfcRelAssignsToProjectOrder);}(IfcRelAssignsToControl);IFC2X32.IfcRelAssignsToProjectOrder=IfcRelAssignsToProjectOrder;var IfcRelAssignsToResource=/*#__PURE__*/function(_IfcRelAssigns6){_inherits(IfcRelAssignsToResource,_IfcRelAssigns6);var _super512=_createSuper(IfcRelAssignsToResource);function IfcRelAssignsToResource(expressID,GlobalId,OwnerHistory,Name,Description,RelatedObjects,RelatedObjectsType,RelatingResource){var _this515;_classCallCheck(this,IfcRelAssignsToResource);_this515=_super512.call(this,expressID,GlobalId,OwnerHistory,Name,Description,RelatedObjects,RelatedObjectsType);_this515.GlobalId=GlobalId;_this515.OwnerHistory=OwnerHistory;_this515.Name=Name;_this515.Description=Description;_this515.RelatedObjects=RelatedObjects;_this515.RelatedObjectsType=RelatedObjectsType;_this515.RelatingResource=RelatingResource;_this515.type=205026976;return _this515;}return _createClass(IfcRelAssignsToResource);}(IfcRelAssigns);IFC2X32.IfcRelAssignsToResource=IfcRelAssignsToResource;var IfcRelAssociates=/*#__PURE__*/function(_IfcRelationship2){_inherits(IfcRelAssociates,_IfcRelationship2);var _super513=_createSuper(IfcRelAssociates);function IfcRelAssociates(expressID,GlobalId,OwnerHistory,Name,Description,RelatedObjects){var _this516;_classCallCheck(this,IfcRelAssociates);_this516=_super513.call(this,expressID,GlobalId,OwnerHistory,Name,Description);_this516.GlobalId=GlobalId;_this516.OwnerHistory=OwnerHistory;_this516.Name=Name;_this516.Description=Description;_this516.RelatedObjects=RelatedObjects;_this516.type=1865459582;return _this516;}return _createClass(IfcRelAssociates);}(IfcRelationship);IFC2X32.IfcRelAssociates=IfcRelAssociates;var IfcRelAssociatesAppliedValue=/*#__PURE__*/function(_IfcRelAssociates){_inherits(IfcRelAssociatesAppliedValue,_IfcRelAssociates);var _super514=_createSuper(IfcRelAssociatesAppliedValue);function IfcRelAssociatesAppliedValue(expressID,GlobalId,OwnerHistory,Name,Description,RelatedObjects,RelatingAppliedValue){var _this517;_classCallCheck(this,IfcRelAssociatesAppliedValue);_this517=_super514.call(this,expressID,GlobalId,OwnerHistory,Name,Description,RelatedObjects);_this517.GlobalId=GlobalId;_this517.OwnerHistory=OwnerHistory;_this517.Name=Name;_this517.Description=Description;_this517.RelatedObjects=RelatedObjects;_this517.RelatingAppliedValue=RelatingAppliedValue;_this517.type=1327628568;return _this517;}return _createClass(IfcRelAssociatesAppliedValue);}(IfcRelAssociates);IFC2X32.IfcRelAssociatesAppliedValue=IfcRelAssociatesAppliedValue;var IfcRelAssociatesApproval=/*#__PURE__*/function(_IfcRelAssociates2){_inherits(IfcRelAssociatesApproval,_IfcRelAssociates2);var _super515=_createSuper(IfcRelAssociatesApproval);function IfcRelAssociatesApproval(expressID,GlobalId,OwnerHistory,Name,Description,RelatedObjects,RelatingApproval){var _this518;_classCallCheck(this,IfcRelAssociatesApproval);_this518=_super515.call(this,expressID,GlobalId,OwnerHistory,Name,Description,RelatedObjects);_this518.GlobalId=GlobalId;_this518.OwnerHistory=OwnerHistory;_this518.Name=Name;_this518.Description=Description;_this518.RelatedObjects=RelatedObjects;_this518.RelatingApproval=RelatingApproval;_this518.type=4095574036;return _this518;}return _createClass(IfcRelAssociatesApproval);}(IfcRelAssociates);IFC2X32.IfcRelAssociatesApproval=IfcRelAssociatesApproval;var IfcRelAssociatesClassification=/*#__PURE__*/function(_IfcRelAssociates3){_inherits(IfcRelAssociatesClassification,_IfcRelAssociates3);var _super516=_createSuper(IfcRelAssociatesClassification);function IfcRelAssociatesClassification(expressID,GlobalId,OwnerHistory,Name,Description,RelatedObjects,RelatingClassification){var _this519;_classCallCheck(this,IfcRelAssociatesClassification);_this519=_super516.call(this,expressID,GlobalId,OwnerHistory,Name,Description,RelatedObjects);_this519.GlobalId=GlobalId;_this519.OwnerHistory=OwnerHistory;_this519.Name=Name;_this519.Description=Description;_this519.RelatedObjects=RelatedObjects;_this519.RelatingClassification=RelatingClassification;_this519.type=919958153;return _this519;}return _createClass(IfcRelAssociatesClassification);}(IfcRelAssociates);IFC2X32.IfcRelAssociatesClassification=IfcRelAssociatesClassification;var IfcRelAssociatesConstraint=/*#__PURE__*/function(_IfcRelAssociates4){_inherits(IfcRelAssociatesConstraint,_IfcRelAssociates4);var _super517=_createSuper(IfcRelAssociatesConstraint);function IfcRelAssociatesConstraint(expressID,GlobalId,OwnerHistory,Name,Description,RelatedObjects,Intent,RelatingConstraint){var _this520;_classCallCheck(this,IfcRelAssociatesConstraint);_this520=_super517.call(this,expressID,GlobalId,OwnerHistory,Name,Description,RelatedObjects);_this520.GlobalId=GlobalId;_this520.OwnerHistory=OwnerHistory;_this520.Name=Name;_this520.Description=Description;_this520.RelatedObjects=RelatedObjects;_this520.Intent=Intent;_this520.RelatingConstraint=RelatingConstraint;_this520.type=2728634034;return _this520;}return _createClass(IfcRelAssociatesConstraint);}(IfcRelAssociates);IFC2X32.IfcRelAssociatesConstraint=IfcRelAssociatesConstraint;var IfcRelAssociatesDocument=/*#__PURE__*/function(_IfcRelAssociates5){_inherits(IfcRelAssociatesDocument,_IfcRelAssociates5);var _super518=_createSuper(IfcRelAssociatesDocument);function IfcRelAssociatesDocument(expressID,GlobalId,OwnerHistory,Name,Description,RelatedObjects,RelatingDocument){var _this521;_classCallCheck(this,IfcRelAssociatesDocument);_this521=_super518.call(this,expressID,GlobalId,OwnerHistory,Name,Description,RelatedObjects);_this521.GlobalId=GlobalId;_this521.OwnerHistory=OwnerHistory;_this521.Name=Name;_this521.Description=Description;_this521.RelatedObjects=RelatedObjects;_this521.RelatingDocument=RelatingDocument;_this521.type=982818633;return _this521;}return _createClass(IfcRelAssociatesDocument);}(IfcRelAssociates);IFC2X32.IfcRelAssociatesDocument=IfcRelAssociatesDocument;var IfcRelAssociatesLibrary=/*#__PURE__*/function(_IfcRelAssociates6){_inherits(IfcRelAssociatesLibrary,_IfcRelAssociates6);var _super519=_createSuper(IfcRelAssociatesLibrary);function IfcRelAssociatesLibrary(expressID,GlobalId,OwnerHistory,Name,Description,RelatedObjects,RelatingLibrary){var _this522;_classCallCheck(this,IfcRelAssociatesLibrary);_this522=_super519.call(this,expressID,GlobalId,OwnerHistory,Name,Description,RelatedObjects);_this522.GlobalId=GlobalId;_this522.OwnerHistory=OwnerHistory;_this522.Name=Name;_this522.Description=Description;_this522.RelatedObjects=RelatedObjects;_this522.RelatingLibrary=RelatingLibrary;_this522.type=3840914261;return _this522;}return _createClass(IfcRelAssociatesLibrary);}(IfcRelAssociates);IFC2X32.IfcRelAssociatesLibrary=IfcRelAssociatesLibrary;var IfcRelAssociatesMaterial=/*#__PURE__*/function(_IfcRelAssociates7){_inherits(IfcRelAssociatesMaterial,_IfcRelAssociates7);var _super520=_createSuper(IfcRelAssociatesMaterial);function IfcRelAssociatesMaterial(expressID,GlobalId,OwnerHistory,Name,Description,RelatedObjects,RelatingMaterial){var _this523;_classCallCheck(this,IfcRelAssociatesMaterial);_this523=_super520.call(this,expressID,GlobalId,OwnerHistory,Name,Description,RelatedObjects);_this523.GlobalId=GlobalId;_this523.OwnerHistory=OwnerHistory;_this523.Name=Name;_this523.Description=Description;_this523.RelatedObjects=RelatedObjects;_this523.RelatingMaterial=RelatingMaterial;_this523.type=2655215786;return _this523;}return _createClass(IfcRelAssociatesMaterial);}(IfcRelAssociates);IFC2X32.IfcRelAssociatesMaterial=IfcRelAssociatesMaterial;var IfcRelAssociatesProfileProperties=/*#__PURE__*/function(_IfcRelAssociates8){_inherits(IfcRelAssociatesProfileProperties,_IfcRelAssociates8);var _super521=_createSuper(IfcRelAssociatesProfileProperties);function IfcRelAssociatesProfileProperties(expressID,GlobalId,OwnerHistory,Name,Description,RelatedObjects,RelatingProfileProperties,ProfileSectionLocation,ProfileOrientation){var _this524;_classCallCheck(this,IfcRelAssociatesProfileProperties);_this524=_super521.call(this,expressID,GlobalId,OwnerHistory,Name,Description,RelatedObjects);_this524.GlobalId=GlobalId;_this524.OwnerHistory=OwnerHistory;_this524.Name=Name;_this524.Description=Description;_this524.RelatedObjects=RelatedObjects;_this524.RelatingProfileProperties=RelatingProfileProperties;_this524.ProfileSectionLocation=ProfileSectionLocation;_this524.ProfileOrientation=ProfileOrientation;_this524.type=2851387026;return _this524;}return _createClass(IfcRelAssociatesProfileProperties);}(IfcRelAssociates);IFC2X32.IfcRelAssociatesProfileProperties=IfcRelAssociatesProfileProperties;var IfcRelConnects=/*#__PURE__*/function(_IfcRelationship3){_inherits(IfcRelConnects,_IfcRelationship3);var _super522=_createSuper(IfcRelConnects);function IfcRelConnects(expressID,GlobalId,OwnerHistory,Name,Description){var _this525;_classCallCheck(this,IfcRelConnects);_this525=_super522.call(this,expressID,GlobalId,OwnerHistory,Name,Description);_this525.GlobalId=GlobalId;_this525.OwnerHistory=OwnerHistory;_this525.Name=Name;_this525.Description=Description;_this525.type=826625072;return _this525;}return _createClass(IfcRelConnects);}(IfcRelationship);IFC2X32.IfcRelConnects=IfcRelConnects;var IfcRelConnectsElements=/*#__PURE__*/function(_IfcRelConnects){_inherits(IfcRelConnectsElements,_IfcRelConnects);var _super523=_createSuper(IfcRelConnectsElements);function IfcRelConnectsElements(expressID,GlobalId,OwnerHistory,Name,Description,ConnectionGeometry,RelatingElement,RelatedElement){var _this526;_classCallCheck(this,IfcRelConnectsElements);_this526=_super523.call(this,expressID,GlobalId,OwnerHistory,Name,Description);_this526.GlobalId=GlobalId;_this526.OwnerHistory=OwnerHistory;_this526.Name=Name;_this526.Description=Description;_this526.ConnectionGeometry=ConnectionGeometry;_this526.RelatingElement=RelatingElement;_this526.RelatedElement=RelatedElement;_this526.type=1204542856;return _this526;}return _createClass(IfcRelConnectsElements);}(IfcRelConnects);IFC2X32.IfcRelConnectsElements=IfcRelConnectsElements;var IfcRelConnectsPathElements=/*#__PURE__*/function(_IfcRelConnectsElemen){_inherits(IfcRelConnectsPathElements,_IfcRelConnectsElemen);var _super524=_createSuper(IfcRelConnectsPathElements);function IfcRelConnectsPathElements(expressID,GlobalId,OwnerHistory,Name,Description,ConnectionGeometry,RelatingElement,RelatedElement,RelatingPriorities,RelatedPriorities,RelatedConnectionType,RelatingConnectionType){var _this527;_classCallCheck(this,IfcRelConnectsPathElements);_this527=_super524.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ConnectionGeometry,RelatingElement,RelatedElement);_this527.GlobalId=GlobalId;_this527.OwnerHistory=OwnerHistory;_this527.Name=Name;_this527.Description=Description;_this527.ConnectionGeometry=ConnectionGeometry;_this527.RelatingElement=RelatingElement;_this527.RelatedElement=RelatedElement;_this527.RelatingPriorities=RelatingPriorities;_this527.RelatedPriorities=RelatedPriorities;_this527.RelatedConnectionType=RelatedConnectionType;_this527.RelatingConnectionType=RelatingConnectionType;_this527.type=3945020480;return _this527;}return _createClass(IfcRelConnectsPathElements);}(IfcRelConnectsElements);IFC2X32.IfcRelConnectsPathElements=IfcRelConnectsPathElements;var IfcRelConnectsPortToElement=/*#__PURE__*/function(_IfcRelConnects2){_inherits(IfcRelConnectsPortToElement,_IfcRelConnects2);var _super525=_createSuper(IfcRelConnectsPortToElement);function IfcRelConnectsPortToElement(expressID,GlobalId,OwnerHistory,Name,Description,RelatingPort,RelatedElement){var _this528;_classCallCheck(this,IfcRelConnectsPortToElement);_this528=_super525.call(this,expressID,GlobalId,OwnerHistory,Name,Description);_this528.GlobalId=GlobalId;_this528.OwnerHistory=OwnerHistory;_this528.Name=Name;_this528.Description=Description;_this528.RelatingPort=RelatingPort;_this528.RelatedElement=RelatedElement;_this528.type=4201705270;return _this528;}return _createClass(IfcRelConnectsPortToElement);}(IfcRelConnects);IFC2X32.IfcRelConnectsPortToElement=IfcRelConnectsPortToElement;var IfcRelConnectsPorts=/*#__PURE__*/function(_IfcRelConnects3){_inherits(IfcRelConnectsPorts,_IfcRelConnects3);var _super526=_createSuper(IfcRelConnectsPorts);function IfcRelConnectsPorts(expressID,GlobalId,OwnerHistory,Name,Description,RelatingPort,RelatedPort,RealizingElement){var _this529;_classCallCheck(this,IfcRelConnectsPorts);_this529=_super526.call(this,expressID,GlobalId,OwnerHistory,Name,Description);_this529.GlobalId=GlobalId;_this529.OwnerHistory=OwnerHistory;_this529.Name=Name;_this529.Description=Description;_this529.RelatingPort=RelatingPort;_this529.RelatedPort=RelatedPort;_this529.RealizingElement=RealizingElement;_this529.type=3190031847;return _this529;}return _createClass(IfcRelConnectsPorts);}(IfcRelConnects);IFC2X32.IfcRelConnectsPorts=IfcRelConnectsPorts;var IfcRelConnectsStructuralActivity=/*#__PURE__*/function(_IfcRelConnects4){_inherits(IfcRelConnectsStructuralActivity,_IfcRelConnects4);var _super527=_createSuper(IfcRelConnectsStructuralActivity);function IfcRelConnectsStructuralActivity(expressID,GlobalId,OwnerHistory,Name,Description,RelatingElement,RelatedStructuralActivity){var _this530;_classCallCheck(this,IfcRelConnectsStructuralActivity);_this530=_super527.call(this,expressID,GlobalId,OwnerHistory,Name,Description);_this530.GlobalId=GlobalId;_this530.OwnerHistory=OwnerHistory;_this530.Name=Name;_this530.Description=Description;_this530.RelatingElement=RelatingElement;_this530.RelatedStructuralActivity=RelatedStructuralActivity;_this530.type=2127690289;return _this530;}return _createClass(IfcRelConnectsStructuralActivity);}(IfcRelConnects);IFC2X32.IfcRelConnectsStructuralActivity=IfcRelConnectsStructuralActivity;var IfcRelConnectsStructuralElement=/*#__PURE__*/function(_IfcRelConnects5){_inherits(IfcRelConnectsStructuralElement,_IfcRelConnects5);var _super528=_createSuper(IfcRelConnectsStructuralElement);function IfcRelConnectsStructuralElement(expressID,GlobalId,OwnerHistory,Name,Description,RelatingElement,RelatedStructuralMember){var _this531;_classCallCheck(this,IfcRelConnectsStructuralElement);_this531=_super528.call(this,expressID,GlobalId,OwnerHistory,Name,Description);_this531.GlobalId=GlobalId;_this531.OwnerHistory=OwnerHistory;_this531.Name=Name;_this531.Description=Description;_this531.RelatingElement=RelatingElement;_this531.RelatedStructuralMember=RelatedStructuralMember;_this531.type=3912681535;return _this531;}return _createClass(IfcRelConnectsStructuralElement);}(IfcRelConnects);IFC2X32.IfcRelConnectsStructuralElement=IfcRelConnectsStructuralElement;var IfcRelConnectsStructuralMember=/*#__PURE__*/function(_IfcRelConnects6){_inherits(IfcRelConnectsStructuralMember,_IfcRelConnects6);var _super529=_createSuper(IfcRelConnectsStructuralMember);function IfcRelConnectsStructuralMember(expressID,GlobalId,OwnerHistory,Name,Description,RelatingStructuralMember,RelatedStructuralConnection,AppliedCondition,AdditionalConditions,SupportedLength,ConditionCoordinateSystem){var _this532;_classCallCheck(this,IfcRelConnectsStructuralMember);_this532=_super529.call(this,expressID,GlobalId,OwnerHistory,Name,Description);_this532.GlobalId=GlobalId;_this532.OwnerHistory=OwnerHistory;_this532.Name=Name;_this532.Description=Description;_this532.RelatingStructuralMember=RelatingStructuralMember;_this532.RelatedStructuralConnection=RelatedStructuralConnection;_this532.AppliedCondition=AppliedCondition;_this532.AdditionalConditions=AdditionalConditions;_this532.SupportedLength=SupportedLength;_this532.ConditionCoordinateSystem=ConditionCoordinateSystem;_this532.type=1638771189;return _this532;}return _createClass(IfcRelConnectsStructuralMember);}(IfcRelConnects);IFC2X32.IfcRelConnectsStructuralMember=IfcRelConnectsStructuralMember;var IfcRelConnectsWithEccentricity=/*#__PURE__*/function(_IfcRelConnectsStruct){_inherits(IfcRelConnectsWithEccentricity,_IfcRelConnectsStruct);var _super530=_createSuper(IfcRelConnectsWithEccentricity);function IfcRelConnectsWithEccentricity(expressID,GlobalId,OwnerHistory,Name,Description,RelatingStructuralMember,RelatedStructuralConnection,AppliedCondition,AdditionalConditions,SupportedLength,ConditionCoordinateSystem,ConnectionConstraint){var _this533;_classCallCheck(this,IfcRelConnectsWithEccentricity);_this533=_super530.call(this,expressID,GlobalId,OwnerHistory,Name,Description,RelatingStructuralMember,RelatedStructuralConnection,AppliedCondition,AdditionalConditions,SupportedLength,ConditionCoordinateSystem);_this533.GlobalId=GlobalId;_this533.OwnerHistory=OwnerHistory;_this533.Name=Name;_this533.Description=Description;_this533.RelatingStructuralMember=RelatingStructuralMember;_this533.RelatedStructuralConnection=RelatedStructuralConnection;_this533.AppliedCondition=AppliedCondition;_this533.AdditionalConditions=AdditionalConditions;_this533.SupportedLength=SupportedLength;_this533.ConditionCoordinateSystem=ConditionCoordinateSystem;_this533.ConnectionConstraint=ConnectionConstraint;_this533.type=504942748;return _this533;}return _createClass(IfcRelConnectsWithEccentricity);}(IfcRelConnectsStructuralMember);IFC2X32.IfcRelConnectsWithEccentricity=IfcRelConnectsWithEccentricity;var IfcRelConnectsWithRealizingElements=/*#__PURE__*/function(_IfcRelConnectsElemen2){_inherits(IfcRelConnectsWithRealizingElements,_IfcRelConnectsElemen2);var _super531=_createSuper(IfcRelConnectsWithRealizingElements);function IfcRelConnectsWithRealizingElements(expressID,GlobalId,OwnerHistory,Name,Description,ConnectionGeometry,RelatingElement,RelatedElement,RealizingElements,ConnectionType){var _this534;_classCallCheck(this,IfcRelConnectsWithRealizingElements);_this534=_super531.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ConnectionGeometry,RelatingElement,RelatedElement);_this534.GlobalId=GlobalId;_this534.OwnerHistory=OwnerHistory;_this534.Name=Name;_this534.Description=Description;_this534.ConnectionGeometry=ConnectionGeometry;_this534.RelatingElement=RelatingElement;_this534.RelatedElement=RelatedElement;_this534.RealizingElements=RealizingElements;_this534.ConnectionType=ConnectionType;_this534.type=3678494232;return _this534;}return _createClass(IfcRelConnectsWithRealizingElements);}(IfcRelConnectsElements);IFC2X32.IfcRelConnectsWithRealizingElements=IfcRelConnectsWithRealizingElements;var IfcRelContainedInSpatialStructure=/*#__PURE__*/function(_IfcRelConnects7){_inherits(IfcRelContainedInSpatialStructure,_IfcRelConnects7);var _super532=_createSuper(IfcRelContainedInSpatialStructure);function IfcRelContainedInSpatialStructure(expressID,GlobalId,OwnerHistory,Name,Description,RelatedElements,RelatingStructure){var _this535;_classCallCheck(this,IfcRelContainedInSpatialStructure);_this535=_super532.call(this,expressID,GlobalId,OwnerHistory,Name,Description);_this535.GlobalId=GlobalId;_this535.OwnerHistory=OwnerHistory;_this535.Name=Name;_this535.Description=Description;_this535.RelatedElements=RelatedElements;_this535.RelatingStructure=RelatingStructure;_this535.type=3242617779;return _this535;}return _createClass(IfcRelContainedInSpatialStructure);}(IfcRelConnects);IFC2X32.IfcRelContainedInSpatialStructure=IfcRelContainedInSpatialStructure;var IfcRelCoversBldgElements=/*#__PURE__*/function(_IfcRelConnects8){_inherits(IfcRelCoversBldgElements,_IfcRelConnects8);var _super533=_createSuper(IfcRelCoversBldgElements);function IfcRelCoversBldgElements(expressID,GlobalId,OwnerHistory,Name,Description,RelatingBuildingElement,RelatedCoverings){var _this536;_classCallCheck(this,IfcRelCoversBldgElements);_this536=_super533.call(this,expressID,GlobalId,OwnerHistory,Name,Description);_this536.GlobalId=GlobalId;_this536.OwnerHistory=OwnerHistory;_this536.Name=Name;_this536.Description=Description;_this536.RelatingBuildingElement=RelatingBuildingElement;_this536.RelatedCoverings=RelatedCoverings;_this536.type=886880790;return _this536;}return _createClass(IfcRelCoversBldgElements);}(IfcRelConnects);IFC2X32.IfcRelCoversBldgElements=IfcRelCoversBldgElements;var IfcRelCoversSpaces=/*#__PURE__*/function(_IfcRelConnects9){_inherits(IfcRelCoversSpaces,_IfcRelConnects9);var _super534=_createSuper(IfcRelCoversSpaces);function IfcRelCoversSpaces(expressID,GlobalId,OwnerHistory,Name,Description,RelatedSpace,RelatedCoverings){var _this537;_classCallCheck(this,IfcRelCoversSpaces);_this537=_super534.call(this,expressID,GlobalId,OwnerHistory,Name,Description);_this537.GlobalId=GlobalId;_this537.OwnerHistory=OwnerHistory;_this537.Name=Name;_this537.Description=Description;_this537.RelatedSpace=RelatedSpace;_this537.RelatedCoverings=RelatedCoverings;_this537.type=2802773753;return _this537;}return _createClass(IfcRelCoversSpaces);}(IfcRelConnects);IFC2X32.IfcRelCoversSpaces=IfcRelCoversSpaces;var IfcRelDecomposes=/*#__PURE__*/function(_IfcRelationship4){_inherits(IfcRelDecomposes,_IfcRelationship4);var _super535=_createSuper(IfcRelDecomposes);function IfcRelDecomposes(expressID,GlobalId,OwnerHistory,Name,Description,RelatingObject,RelatedObjects){var _this538;_classCallCheck(this,IfcRelDecomposes);_this538=_super535.call(this,expressID,GlobalId,OwnerHistory,Name,Description);_this538.GlobalId=GlobalId;_this538.OwnerHistory=OwnerHistory;_this538.Name=Name;_this538.Description=Description;_this538.RelatingObject=RelatingObject;_this538.RelatedObjects=RelatedObjects;_this538.type=2551354335;return _this538;}return _createClass(IfcRelDecomposes);}(IfcRelationship);IFC2X32.IfcRelDecomposes=IfcRelDecomposes;var IfcRelDefines=/*#__PURE__*/function(_IfcRelationship5){_inherits(IfcRelDefines,_IfcRelationship5);var _super536=_createSuper(IfcRelDefines);function IfcRelDefines(expressID,GlobalId,OwnerHistory,Name,Description,RelatedObjects){var _this539;_classCallCheck(this,IfcRelDefines);_this539=_super536.call(this,expressID,GlobalId,OwnerHistory,Name,Description);_this539.GlobalId=GlobalId;_this539.OwnerHistory=OwnerHistory;_this539.Name=Name;_this539.Description=Description;_this539.RelatedObjects=RelatedObjects;_this539.type=693640335;return _this539;}return _createClass(IfcRelDefines);}(IfcRelationship);IFC2X32.IfcRelDefines=IfcRelDefines;var IfcRelDefinesByProperties=/*#__PURE__*/function(_IfcRelDefines){_inherits(IfcRelDefinesByProperties,_IfcRelDefines);var _super537=_createSuper(IfcRelDefinesByProperties);function IfcRelDefinesByProperties(expressID,GlobalId,OwnerHistory,Name,Description,RelatedObjects,RelatingPropertyDefinition){var _this540;_classCallCheck(this,IfcRelDefinesByProperties);_this540=_super537.call(this,expressID,GlobalId,OwnerHistory,Name,Description,RelatedObjects);_this540.GlobalId=GlobalId;_this540.OwnerHistory=OwnerHistory;_this540.Name=Name;_this540.Description=Description;_this540.RelatedObjects=RelatedObjects;_this540.RelatingPropertyDefinition=RelatingPropertyDefinition;_this540.type=4186316022;return _this540;}return _createClass(IfcRelDefinesByProperties);}(IfcRelDefines);IFC2X32.IfcRelDefinesByProperties=IfcRelDefinesByProperties;var IfcRelDefinesByType=/*#__PURE__*/function(_IfcRelDefines2){_inherits(IfcRelDefinesByType,_IfcRelDefines2);var _super538=_createSuper(IfcRelDefinesByType);function IfcRelDefinesByType(expressID,GlobalId,OwnerHistory,Name,Description,RelatedObjects,RelatingType){var _this541;_classCallCheck(this,IfcRelDefinesByType);_this541=_super538.call(this,expressID,GlobalId,OwnerHistory,Name,Description,RelatedObjects);_this541.GlobalId=GlobalId;_this541.OwnerHistory=OwnerHistory;_this541.Name=Name;_this541.Description=Description;_this541.RelatedObjects=RelatedObjects;_this541.RelatingType=RelatingType;_this541.type=781010003;return _this541;}return _createClass(IfcRelDefinesByType);}(IfcRelDefines);IFC2X32.IfcRelDefinesByType=IfcRelDefinesByType;var IfcRelFillsElement=/*#__PURE__*/function(_IfcRelConnects10){_inherits(IfcRelFillsElement,_IfcRelConnects10);var _super539=_createSuper(IfcRelFillsElement);function IfcRelFillsElement(expressID,GlobalId,OwnerHistory,Name,Description,RelatingOpeningElement,RelatedBuildingElement){var _this542;_classCallCheck(this,IfcRelFillsElement);_this542=_super539.call(this,expressID,GlobalId,OwnerHistory,Name,Description);_this542.GlobalId=GlobalId;_this542.OwnerHistory=OwnerHistory;_this542.Name=Name;_this542.Description=Description;_this542.RelatingOpeningElement=RelatingOpeningElement;_this542.RelatedBuildingElement=RelatedBuildingElement;_this542.type=3940055652;return _this542;}return _createClass(IfcRelFillsElement);}(IfcRelConnects);IFC2X32.IfcRelFillsElement=IfcRelFillsElement;var IfcRelFlowControlElements=/*#__PURE__*/function(_IfcRelConnects11){_inherits(IfcRelFlowControlElements,_IfcRelConnects11);var _super540=_createSuper(IfcRelFlowControlElements);function IfcRelFlowControlElements(expressID,GlobalId,OwnerHistory,Name,Description,RelatedControlElements,RelatingFlowElement){var _this543;_classCallCheck(this,IfcRelFlowControlElements);_this543=_super540.call(this,expressID,GlobalId,OwnerHistory,Name,Description);_this543.GlobalId=GlobalId;_this543.OwnerHistory=OwnerHistory;_this543.Name=Name;_this543.Description=Description;_this543.RelatedControlElements=RelatedControlElements;_this543.RelatingFlowElement=RelatingFlowElement;_this543.type=279856033;return _this543;}return _createClass(IfcRelFlowControlElements);}(IfcRelConnects);IFC2X32.IfcRelFlowControlElements=IfcRelFlowControlElements;var IfcRelInteractionRequirements=/*#__PURE__*/function(_IfcRelConnects12){_inherits(IfcRelInteractionRequirements,_IfcRelConnects12);var _super541=_createSuper(IfcRelInteractionRequirements);function IfcRelInteractionRequirements(expressID,GlobalId,OwnerHistory,Name,Description,DailyInteraction,ImportanceRating,LocationOfInteraction,RelatedSpaceProgram,RelatingSpaceProgram){var _this544;_classCallCheck(this,IfcRelInteractionRequirements);_this544=_super541.call(this,expressID,GlobalId,OwnerHistory,Name,Description);_this544.GlobalId=GlobalId;_this544.OwnerHistory=OwnerHistory;_this544.Name=Name;_this544.Description=Description;_this544.DailyInteraction=DailyInteraction;_this544.ImportanceRating=ImportanceRating;_this544.LocationOfInteraction=LocationOfInteraction;_this544.RelatedSpaceProgram=RelatedSpaceProgram;_this544.RelatingSpaceProgram=RelatingSpaceProgram;_this544.type=4189434867;return _this544;}return _createClass(IfcRelInteractionRequirements);}(IfcRelConnects);IFC2X32.IfcRelInteractionRequirements=IfcRelInteractionRequirements;var IfcRelNests=/*#__PURE__*/function(_IfcRelDecomposes){_inherits(IfcRelNests,_IfcRelDecomposes);var _super542=_createSuper(IfcRelNests);function IfcRelNests(expressID,GlobalId,OwnerHistory,Name,Description,RelatingObject,RelatedObjects){var _this545;_classCallCheck(this,IfcRelNests);_this545=_super542.call(this,expressID,GlobalId,OwnerHistory,Name,Description,RelatingObject,RelatedObjects);_this545.GlobalId=GlobalId;_this545.OwnerHistory=OwnerHistory;_this545.Name=Name;_this545.Description=Description;_this545.RelatingObject=RelatingObject;_this545.RelatedObjects=RelatedObjects;_this545.type=3268803585;return _this545;}return _createClass(IfcRelNests);}(IfcRelDecomposes);IFC2X32.IfcRelNests=IfcRelNests;var IfcRelOccupiesSpaces=/*#__PURE__*/function(_IfcRelAssignsToActor){_inherits(IfcRelOccupiesSpaces,_IfcRelAssignsToActor);var _super543=_createSuper(IfcRelOccupiesSpaces);function IfcRelOccupiesSpaces(expressID,GlobalId,OwnerHistory,Name,Description,RelatedObjects,RelatedObjectsType,RelatingActor,ActingRole){var _this546;_classCallCheck(this,IfcRelOccupiesSpaces);_this546=_super543.call(this,expressID,GlobalId,OwnerHistory,Name,Description,RelatedObjects,RelatedObjectsType,RelatingActor,ActingRole);_this546.GlobalId=GlobalId;_this546.OwnerHistory=OwnerHistory;_this546.Name=Name;_this546.Description=Description;_this546.RelatedObjects=RelatedObjects;_this546.RelatedObjectsType=RelatedObjectsType;_this546.RelatingActor=RelatingActor;_this546.ActingRole=ActingRole;_this546.type=2051452291;return _this546;}return _createClass(IfcRelOccupiesSpaces);}(IfcRelAssignsToActor);IFC2X32.IfcRelOccupiesSpaces=IfcRelOccupiesSpaces;var IfcRelOverridesProperties=/*#__PURE__*/function(_IfcRelDefinesByPrope){_inherits(IfcRelOverridesProperties,_IfcRelDefinesByPrope);var _super544=_createSuper(IfcRelOverridesProperties);function IfcRelOverridesProperties(expressID,GlobalId,OwnerHistory,Name,Description,RelatedObjects,RelatingPropertyDefinition,OverridingProperties){var _this547;_classCallCheck(this,IfcRelOverridesProperties);_this547=_super544.call(this,expressID,GlobalId,OwnerHistory,Name,Description,RelatedObjects,RelatingPropertyDefinition);_this547.GlobalId=GlobalId;_this547.OwnerHistory=OwnerHistory;_this547.Name=Name;_this547.Description=Description;_this547.RelatedObjects=RelatedObjects;_this547.RelatingPropertyDefinition=RelatingPropertyDefinition;_this547.OverridingProperties=OverridingProperties;_this547.type=202636808;return _this547;}return _createClass(IfcRelOverridesProperties);}(IfcRelDefinesByProperties);IFC2X32.IfcRelOverridesProperties=IfcRelOverridesProperties;var IfcRelProjectsElement=/*#__PURE__*/function(_IfcRelConnects13){_inherits(IfcRelProjectsElement,_IfcRelConnects13);var _super545=_createSuper(IfcRelProjectsElement);function IfcRelProjectsElement(expressID,GlobalId,OwnerHistory,Name,Description,RelatingElement,RelatedFeatureElement){var _this548;_classCallCheck(this,IfcRelProjectsElement);_this548=_super545.call(this,expressID,GlobalId,OwnerHistory,Name,Description);_this548.GlobalId=GlobalId;_this548.OwnerHistory=OwnerHistory;_this548.Name=Name;_this548.Description=Description;_this548.RelatingElement=RelatingElement;_this548.RelatedFeatureElement=RelatedFeatureElement;_this548.type=750771296;return _this548;}return _createClass(IfcRelProjectsElement);}(IfcRelConnects);IFC2X32.IfcRelProjectsElement=IfcRelProjectsElement;var IfcRelReferencedInSpatialStructure=/*#__PURE__*/function(_IfcRelConnects14){_inherits(IfcRelReferencedInSpatialStructure,_IfcRelConnects14);var _super546=_createSuper(IfcRelReferencedInSpatialStructure);function IfcRelReferencedInSpatialStructure(expressID,GlobalId,OwnerHistory,Name,Description,RelatedElements,RelatingStructure){var _this549;_classCallCheck(this,IfcRelReferencedInSpatialStructure);_this549=_super546.call(this,expressID,GlobalId,OwnerHistory,Name,Description);_this549.GlobalId=GlobalId;_this549.OwnerHistory=OwnerHistory;_this549.Name=Name;_this549.Description=Description;_this549.RelatedElements=RelatedElements;_this549.RelatingStructure=RelatingStructure;_this549.type=1245217292;return _this549;}return _createClass(IfcRelReferencedInSpatialStructure);}(IfcRelConnects);IFC2X32.IfcRelReferencedInSpatialStructure=IfcRelReferencedInSpatialStructure;var IfcRelSchedulesCostItems=/*#__PURE__*/function(_IfcRelAssignsToContr2){_inherits(IfcRelSchedulesCostItems,_IfcRelAssignsToContr2);var _super547=_createSuper(IfcRelSchedulesCostItems);function IfcRelSchedulesCostItems(expressID,GlobalId,OwnerHistory,Name,Description,RelatedObjects,RelatedObjectsType,RelatingControl){var _this550;_classCallCheck(this,IfcRelSchedulesCostItems);_this550=_super547.call(this,expressID,GlobalId,OwnerHistory,Name,Description,RelatedObjects,RelatedObjectsType,RelatingControl);_this550.GlobalId=GlobalId;_this550.OwnerHistory=OwnerHistory;_this550.Name=Name;_this550.Description=Description;_this550.RelatedObjects=RelatedObjects;_this550.RelatedObjectsType=RelatedObjectsType;_this550.RelatingControl=RelatingControl;_this550.type=1058617721;return _this550;}return _createClass(IfcRelSchedulesCostItems);}(IfcRelAssignsToControl);IFC2X32.IfcRelSchedulesCostItems=IfcRelSchedulesCostItems;var IfcRelSequence=/*#__PURE__*/function(_IfcRelConnects15){_inherits(IfcRelSequence,_IfcRelConnects15);var _super548=_createSuper(IfcRelSequence);function IfcRelSequence(expressID,GlobalId,OwnerHistory,Name,Description,RelatingProcess,RelatedProcess,TimeLag,SequenceType){var _this551;_classCallCheck(this,IfcRelSequence);_this551=_super548.call(this,expressID,GlobalId,OwnerHistory,Name,Description);_this551.GlobalId=GlobalId;_this551.OwnerHistory=OwnerHistory;_this551.Name=Name;_this551.Description=Description;_this551.RelatingProcess=RelatingProcess;_this551.RelatedProcess=RelatedProcess;_this551.TimeLag=TimeLag;_this551.SequenceType=SequenceType;_this551.type=4122056220;return _this551;}return _createClass(IfcRelSequence);}(IfcRelConnects);IFC2X32.IfcRelSequence=IfcRelSequence;var IfcRelServicesBuildings=/*#__PURE__*/function(_IfcRelConnects16){_inherits(IfcRelServicesBuildings,_IfcRelConnects16);var _super549=_createSuper(IfcRelServicesBuildings);function IfcRelServicesBuildings(expressID,GlobalId,OwnerHistory,Name,Description,RelatingSystem,RelatedBuildings){var _this552;_classCallCheck(this,IfcRelServicesBuildings);_this552=_super549.call(this,expressID,GlobalId,OwnerHistory,Name,Description);_this552.GlobalId=GlobalId;_this552.OwnerHistory=OwnerHistory;_this552.Name=Name;_this552.Description=Description;_this552.RelatingSystem=RelatingSystem;_this552.RelatedBuildings=RelatedBuildings;_this552.type=366585022;return _this552;}return _createClass(IfcRelServicesBuildings);}(IfcRelConnects);IFC2X32.IfcRelServicesBuildings=IfcRelServicesBuildings;var IfcRelSpaceBoundary=/*#__PURE__*/function(_IfcRelConnects17){_inherits(IfcRelSpaceBoundary,_IfcRelConnects17);var _super550=_createSuper(IfcRelSpaceBoundary);function IfcRelSpaceBoundary(expressID,GlobalId,OwnerHistory,Name,Description,RelatingSpace,RelatedBuildingElement,ConnectionGeometry,PhysicalOrVirtualBoundary,InternalOrExternalBoundary){var _this553;_classCallCheck(this,IfcRelSpaceBoundary);_this553=_super550.call(this,expressID,GlobalId,OwnerHistory,Name,Description);_this553.GlobalId=GlobalId;_this553.OwnerHistory=OwnerHistory;_this553.Name=Name;_this553.Description=Description;_this553.RelatingSpace=RelatingSpace;_this553.RelatedBuildingElement=RelatedBuildingElement;_this553.ConnectionGeometry=ConnectionGeometry;_this553.PhysicalOrVirtualBoundary=PhysicalOrVirtualBoundary;_this553.InternalOrExternalBoundary=InternalOrExternalBoundary;_this553.type=3451746338;return _this553;}return _createClass(IfcRelSpaceBoundary);}(IfcRelConnects);IFC2X32.IfcRelSpaceBoundary=IfcRelSpaceBoundary;var IfcRelVoidsElement=/*#__PURE__*/function(_IfcRelConnects18){_inherits(IfcRelVoidsElement,_IfcRelConnects18);var _super551=_createSuper(IfcRelVoidsElement);function IfcRelVoidsElement(expressID,GlobalId,OwnerHistory,Name,Description,RelatingBuildingElement,RelatedOpeningElement){var _this554;_classCallCheck(this,IfcRelVoidsElement);_this554=_super551.call(this,expressID,GlobalId,OwnerHistory,Name,Description);_this554.GlobalId=GlobalId;_this554.OwnerHistory=OwnerHistory;_this554.Name=Name;_this554.Description=Description;_this554.RelatingBuildingElement=RelatingBuildingElement;_this554.RelatedOpeningElement=RelatedOpeningElement;_this554.type=1401173127;return _this554;}return _createClass(IfcRelVoidsElement);}(IfcRelConnects);IFC2X32.IfcRelVoidsElement=IfcRelVoidsElement;var IfcResource=/*#__PURE__*/function(_IfcObject4){_inherits(IfcResource,_IfcObject4);var _super552=_createSuper(IfcResource);function IfcResource(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType){var _this555;_classCallCheck(this,IfcResource);_this555=_super552.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType);_this555.GlobalId=GlobalId;_this555.OwnerHistory=OwnerHistory;_this555.Name=Name;_this555.Description=Description;_this555.ObjectType=ObjectType;_this555.type=2914609552;return _this555;}return _createClass(IfcResource);}(IfcObject);IFC2X32.IfcResource=IfcResource;var IfcRevolvedAreaSolid=/*#__PURE__*/function(_IfcSweptAreaSolid2){_inherits(IfcRevolvedAreaSolid,_IfcSweptAreaSolid2);var _super553=_createSuper(IfcRevolvedAreaSolid);function IfcRevolvedAreaSolid(expressID,SweptArea,Position,Axis,Angle){var _this556;_classCallCheck(this,IfcRevolvedAreaSolid);_this556=_super553.call(this,expressID,SweptArea,Position);_this556.SweptArea=SweptArea;_this556.Position=Position;_this556.Axis=Axis;_this556.Angle=Angle;_this556.type=1856042241;return _this556;}return _createClass(IfcRevolvedAreaSolid);}(IfcSweptAreaSolid);IFC2X32.IfcRevolvedAreaSolid=IfcRevolvedAreaSolid;var IfcRightCircularCone=/*#__PURE__*/function(_IfcCsgPrimitive3D2){_inherits(IfcRightCircularCone,_IfcCsgPrimitive3D2);var _super554=_createSuper(IfcRightCircularCone);function IfcRightCircularCone(expressID,Position,Height,BottomRadius){var _this557;_classCallCheck(this,IfcRightCircularCone);_this557=_super554.call(this,expressID,Position);_this557.Position=Position;_this557.Height=Height;_this557.BottomRadius=BottomRadius;_this557.type=4158566097;return _this557;}return _createClass(IfcRightCircularCone);}(IfcCsgPrimitive3D);IFC2X32.IfcRightCircularCone=IfcRightCircularCone;var IfcRightCircularCylinder=/*#__PURE__*/function(_IfcCsgPrimitive3D3){_inherits(IfcRightCircularCylinder,_IfcCsgPrimitive3D3);var _super555=_createSuper(IfcRightCircularCylinder);function IfcRightCircularCylinder(expressID,Position,Height,Radius){var _this558;_classCallCheck(this,IfcRightCircularCylinder);_this558=_super555.call(this,expressID,Position);_this558.Position=Position;_this558.Height=Height;_this558.Radius=Radius;_this558.type=3626867408;return _this558;}return _createClass(IfcRightCircularCylinder);}(IfcCsgPrimitive3D);IFC2X32.IfcRightCircularCylinder=IfcRightCircularCylinder;var IfcSpatialStructureElement=/*#__PURE__*/function(_IfcProduct2){_inherits(IfcSpatialStructureElement,_IfcProduct2);var _super556=_createSuper(IfcSpatialStructureElement);function IfcSpatialStructureElement(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,LongName,CompositionType){var _this559;_classCallCheck(this,IfcSpatialStructureElement);_this559=_super556.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation);_this559.GlobalId=GlobalId;_this559.OwnerHistory=OwnerHistory;_this559.Name=Name;_this559.Description=Description;_this559.ObjectType=ObjectType;_this559.ObjectPlacement=ObjectPlacement;_this559.Representation=Representation;_this559.LongName=LongName;_this559.CompositionType=CompositionType;_this559.type=2706606064;return _this559;}return _createClass(IfcSpatialStructureElement);}(IfcProduct);IFC2X32.IfcSpatialStructureElement=IfcSpatialStructureElement;var IfcSpatialStructureElementType=/*#__PURE__*/function(_IfcElementType2){_inherits(IfcSpatialStructureElementType,_IfcElementType2);var _super557=_createSuper(IfcSpatialStructureElementType);function IfcSpatialStructureElementType(expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType){var _this560;_classCallCheck(this,IfcSpatialStructureElementType);_this560=_super557.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType);_this560.GlobalId=GlobalId;_this560.OwnerHistory=OwnerHistory;_this560.Name=Name;_this560.Description=Description;_this560.ApplicableOccurrence=ApplicableOccurrence;_this560.HasPropertySets=HasPropertySets;_this560.RepresentationMaps=RepresentationMaps;_this560.Tag=Tag;_this560.ElementType=ElementType;_this560.type=3893378262;return _this560;}return _createClass(IfcSpatialStructureElementType);}(IfcElementType);IFC2X32.IfcSpatialStructureElementType=IfcSpatialStructureElementType;var IfcSphere=/*#__PURE__*/function(_IfcCsgPrimitive3D4){_inherits(IfcSphere,_IfcCsgPrimitive3D4);var _super558=_createSuper(IfcSphere);function IfcSphere(expressID,Position,Radius){var _this561;_classCallCheck(this,IfcSphere);_this561=_super558.call(this,expressID,Position);_this561.Position=Position;_this561.Radius=Radius;_this561.type=451544542;return _this561;}return _createClass(IfcSphere);}(IfcCsgPrimitive3D);IFC2X32.IfcSphere=IfcSphere;var IfcStructuralActivity=/*#__PURE__*/function(_IfcProduct3){_inherits(IfcStructuralActivity,_IfcProduct3);var _super559=_createSuper(IfcStructuralActivity);function IfcStructuralActivity(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,AppliedLoad,GlobalOrLocal){var _this562;_classCallCheck(this,IfcStructuralActivity);_this562=_super559.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation);_this562.GlobalId=GlobalId;_this562.OwnerHistory=OwnerHistory;_this562.Name=Name;_this562.Description=Description;_this562.ObjectType=ObjectType;_this562.ObjectPlacement=ObjectPlacement;_this562.Representation=Representation;_this562.AppliedLoad=AppliedLoad;_this562.GlobalOrLocal=GlobalOrLocal;_this562.type=3544373492;return _this562;}return _createClass(IfcStructuralActivity);}(IfcProduct);IFC2X32.IfcStructuralActivity=IfcStructuralActivity;var IfcStructuralItem=/*#__PURE__*/function(_IfcProduct4){_inherits(IfcStructuralItem,_IfcProduct4);var _super560=_createSuper(IfcStructuralItem);function IfcStructuralItem(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation){var _this563;_classCallCheck(this,IfcStructuralItem);_this563=_super560.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation);_this563.GlobalId=GlobalId;_this563.OwnerHistory=OwnerHistory;_this563.Name=Name;_this563.Description=Description;_this563.ObjectType=ObjectType;_this563.ObjectPlacement=ObjectPlacement;_this563.Representation=Representation;_this563.type=3136571912;return _this563;}return _createClass(IfcStructuralItem);}(IfcProduct);IFC2X32.IfcStructuralItem=IfcStructuralItem;var IfcStructuralMember=/*#__PURE__*/function(_IfcStructuralItem){_inherits(IfcStructuralMember,_IfcStructuralItem);var _super561=_createSuper(IfcStructuralMember);function IfcStructuralMember(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation){var _this564;_classCallCheck(this,IfcStructuralMember);_this564=_super561.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation);_this564.GlobalId=GlobalId;_this564.OwnerHistory=OwnerHistory;_this564.Name=Name;_this564.Description=Description;_this564.ObjectType=ObjectType;_this564.ObjectPlacement=ObjectPlacement;_this564.Representation=Representation;_this564.type=530289379;return _this564;}return _createClass(IfcStructuralMember);}(IfcStructuralItem);IFC2X32.IfcStructuralMember=IfcStructuralMember;var IfcStructuralReaction=/*#__PURE__*/function(_IfcStructuralActivit){_inherits(IfcStructuralReaction,_IfcStructuralActivit);var _super562=_createSuper(IfcStructuralReaction);function IfcStructuralReaction(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,AppliedLoad,GlobalOrLocal){var _this565;_classCallCheck(this,IfcStructuralReaction);_this565=_super562.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,AppliedLoad,GlobalOrLocal);_this565.GlobalId=GlobalId;_this565.OwnerHistory=OwnerHistory;_this565.Name=Name;_this565.Description=Description;_this565.ObjectType=ObjectType;_this565.ObjectPlacement=ObjectPlacement;_this565.Representation=Representation;_this565.AppliedLoad=AppliedLoad;_this565.GlobalOrLocal=GlobalOrLocal;_this565.type=3689010777;return _this565;}return _createClass(IfcStructuralReaction);}(IfcStructuralActivity);IFC2X32.IfcStructuralReaction=IfcStructuralReaction;var IfcStructuralSurfaceMember=/*#__PURE__*/function(_IfcStructuralMember){_inherits(IfcStructuralSurfaceMember,_IfcStructuralMember);var _super563=_createSuper(IfcStructuralSurfaceMember);function IfcStructuralSurfaceMember(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,PredefinedType,Thickness){var _this566;_classCallCheck(this,IfcStructuralSurfaceMember);_this566=_super563.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation);_this566.GlobalId=GlobalId;_this566.OwnerHistory=OwnerHistory;_this566.Name=Name;_this566.Description=Description;_this566.ObjectType=ObjectType;_this566.ObjectPlacement=ObjectPlacement;_this566.Representation=Representation;_this566.PredefinedType=PredefinedType;_this566.Thickness=Thickness;_this566.type=3979015343;return _this566;}return _createClass(IfcStructuralSurfaceMember);}(IfcStructuralMember);IFC2X32.IfcStructuralSurfaceMember=IfcStructuralSurfaceMember;var IfcStructuralSurfaceMemberVarying=/*#__PURE__*/function(_IfcStructuralSurface){_inherits(IfcStructuralSurfaceMemberVarying,_IfcStructuralSurface);var _super564=_createSuper(IfcStructuralSurfaceMemberVarying);function IfcStructuralSurfaceMemberVarying(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,PredefinedType,Thickness,SubsequentThickness,VaryingThicknessLocation){var _this567;_classCallCheck(this,IfcStructuralSurfaceMemberVarying);_this567=_super564.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,PredefinedType,Thickness);_this567.GlobalId=GlobalId;_this567.OwnerHistory=OwnerHistory;_this567.Name=Name;_this567.Description=Description;_this567.ObjectType=ObjectType;_this567.ObjectPlacement=ObjectPlacement;_this567.Representation=Representation;_this567.PredefinedType=PredefinedType;_this567.Thickness=Thickness;_this567.SubsequentThickness=SubsequentThickness;_this567.VaryingThicknessLocation=VaryingThicknessLocation;_this567.type=2218152070;return _this567;}return _createClass(IfcStructuralSurfaceMemberVarying);}(IfcStructuralSurfaceMember);IFC2X32.IfcStructuralSurfaceMemberVarying=IfcStructuralSurfaceMemberVarying;var IfcStructuredDimensionCallout=/*#__PURE__*/function(_IfcDraughtingCallout3){_inherits(IfcStructuredDimensionCallout,_IfcDraughtingCallout3);var _super565=_createSuper(IfcStructuredDimensionCallout);function IfcStructuredDimensionCallout(expressID,Contents){var _this568;_classCallCheck(this,IfcStructuredDimensionCallout);_this568=_super565.call(this,expressID,Contents);_this568.Contents=Contents;_this568.type=4070609034;return _this568;}return _createClass(IfcStructuredDimensionCallout);}(IfcDraughtingCallout);IFC2X32.IfcStructuredDimensionCallout=IfcStructuredDimensionCallout;var IfcSurfaceCurveSweptAreaSolid=/*#__PURE__*/function(_IfcSweptAreaSolid3){_inherits(IfcSurfaceCurveSweptAreaSolid,_IfcSweptAreaSolid3);var _super566=_createSuper(IfcSurfaceCurveSweptAreaSolid);function IfcSurfaceCurveSweptAreaSolid(expressID,SweptArea,Position,Directrix,StartParam,EndParam,ReferenceSurface){var _this569;_classCallCheck(this,IfcSurfaceCurveSweptAreaSolid);_this569=_super566.call(this,expressID,SweptArea,Position);_this569.SweptArea=SweptArea;_this569.Position=Position;_this569.Directrix=Directrix;_this569.StartParam=StartParam;_this569.EndParam=EndParam;_this569.ReferenceSurface=ReferenceSurface;_this569.type=2028607225;return _this569;}return _createClass(IfcSurfaceCurveSweptAreaSolid);}(IfcSweptAreaSolid);IFC2X32.IfcSurfaceCurveSweptAreaSolid=IfcSurfaceCurveSweptAreaSolid;var IfcSurfaceOfLinearExtrusion=/*#__PURE__*/function(_IfcSweptSurface){_inherits(IfcSurfaceOfLinearExtrusion,_IfcSweptSurface);var _super567=_createSuper(IfcSurfaceOfLinearExtrusion);function IfcSurfaceOfLinearExtrusion(expressID,SweptCurve,Position,ExtrudedDirection,Depth){var _this570;_classCallCheck(this,IfcSurfaceOfLinearExtrusion);_this570=_super567.call(this,expressID,SweptCurve,Position);_this570.SweptCurve=SweptCurve;_this570.Position=Position;_this570.ExtrudedDirection=ExtrudedDirection;_this570.Depth=Depth;_this570.type=2809605785;return _this570;}return _createClass(IfcSurfaceOfLinearExtrusion);}(IfcSweptSurface);IFC2X32.IfcSurfaceOfLinearExtrusion=IfcSurfaceOfLinearExtrusion;var IfcSurfaceOfRevolution=/*#__PURE__*/function(_IfcSweptSurface2){_inherits(IfcSurfaceOfRevolution,_IfcSweptSurface2);var _super568=_createSuper(IfcSurfaceOfRevolution);function IfcSurfaceOfRevolution(expressID,SweptCurve,Position,AxisPosition){var _this571;_classCallCheck(this,IfcSurfaceOfRevolution);_this571=_super568.call(this,expressID,SweptCurve,Position);_this571.SweptCurve=SweptCurve;_this571.Position=Position;_this571.AxisPosition=AxisPosition;_this571.type=4124788165;return _this571;}return _createClass(IfcSurfaceOfRevolution);}(IfcSweptSurface);IFC2X32.IfcSurfaceOfRevolution=IfcSurfaceOfRevolution;var IfcSystemFurnitureElementType=/*#__PURE__*/function(_IfcFurnishingElement2){_inherits(IfcSystemFurnitureElementType,_IfcFurnishingElement2);var _super569=_createSuper(IfcSystemFurnitureElementType);function IfcSystemFurnitureElementType(expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType){var _this572;_classCallCheck(this,IfcSystemFurnitureElementType);_this572=_super569.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType);_this572.GlobalId=GlobalId;_this572.OwnerHistory=OwnerHistory;_this572.Name=Name;_this572.Description=Description;_this572.ApplicableOccurrence=ApplicableOccurrence;_this572.HasPropertySets=HasPropertySets;_this572.RepresentationMaps=RepresentationMaps;_this572.Tag=Tag;_this572.ElementType=ElementType;_this572.type=1580310250;return _this572;}return _createClass(IfcSystemFurnitureElementType);}(IfcFurnishingElementType);IFC2X32.IfcSystemFurnitureElementType=IfcSystemFurnitureElementType;var IfcTask=/*#__PURE__*/function(_IfcProcess){_inherits(IfcTask,_IfcProcess);var _super570=_createSuper(IfcTask);function IfcTask(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,TaskId,Status,WorkMethod,IsMilestone,Priority){var _this573;_classCallCheck(this,IfcTask);_this573=_super570.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType);_this573.GlobalId=GlobalId;_this573.OwnerHistory=OwnerHistory;_this573.Name=Name;_this573.Description=Description;_this573.ObjectType=ObjectType;_this573.TaskId=TaskId;_this573.Status=Status;_this573.WorkMethod=WorkMethod;_this573.IsMilestone=IsMilestone;_this573.Priority=Priority;_this573.type=3473067441;return _this573;}return _createClass(IfcTask);}(IfcProcess);IFC2X32.IfcTask=IfcTask;var IfcTransportElementType=/*#__PURE__*/function(_IfcElementType3){_inherits(IfcTransportElementType,_IfcElementType3);var _super571=_createSuper(IfcTransportElementType);function IfcTransportElementType(expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType,PredefinedType){var _this574;_classCallCheck(this,IfcTransportElementType);_this574=_super571.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType);_this574.GlobalId=GlobalId;_this574.OwnerHistory=OwnerHistory;_this574.Name=Name;_this574.Description=Description;_this574.ApplicableOccurrence=ApplicableOccurrence;_this574.HasPropertySets=HasPropertySets;_this574.RepresentationMaps=RepresentationMaps;_this574.Tag=Tag;_this574.ElementType=ElementType;_this574.PredefinedType=PredefinedType;_this574.type=2097647324;return _this574;}return _createClass(IfcTransportElementType);}(IfcElementType);IFC2X32.IfcTransportElementType=IfcTransportElementType;var IfcActor=/*#__PURE__*/function(_IfcObject5){_inherits(IfcActor,_IfcObject5);var _super572=_createSuper(IfcActor);function IfcActor(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,TheActor){var _this575;_classCallCheck(this,IfcActor);_this575=_super572.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType);_this575.GlobalId=GlobalId;_this575.OwnerHistory=OwnerHistory;_this575.Name=Name;_this575.Description=Description;_this575.ObjectType=ObjectType;_this575.TheActor=TheActor;_this575.type=2296667514;return _this575;}return _createClass(IfcActor);}(IfcObject);IFC2X32.IfcActor=IfcActor;var IfcAnnotation=/*#__PURE__*/function(_IfcProduct5){_inherits(IfcAnnotation,_IfcProduct5);var _super573=_createSuper(IfcAnnotation);function IfcAnnotation(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation){var _this576;_classCallCheck(this,IfcAnnotation);_this576=_super573.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation);_this576.GlobalId=GlobalId;_this576.OwnerHistory=OwnerHistory;_this576.Name=Name;_this576.Description=Description;_this576.ObjectType=ObjectType;_this576.ObjectPlacement=ObjectPlacement;_this576.Representation=Representation;_this576.type=1674181508;return _this576;}return _createClass(IfcAnnotation);}(IfcProduct);IFC2X32.IfcAnnotation=IfcAnnotation;var IfcAsymmetricIShapeProfileDef=/*#__PURE__*/function(_IfcIShapeProfileDef){_inherits(IfcAsymmetricIShapeProfileDef,_IfcIShapeProfileDef);var _super574=_createSuper(IfcAsymmetricIShapeProfileDef);function IfcAsymmetricIShapeProfileDef(expressID,ProfileType,ProfileName,Position,OverallWidth,OverallDepth,WebThickness,FlangeThickness,FilletRadius,TopFlangeWidth,TopFlangeThickness,TopFlangeFilletRadius,CentreOfGravityInY){var _this577;_classCallCheck(this,IfcAsymmetricIShapeProfileDef);_this577=_super574.call(this,expressID,ProfileType,ProfileName,Position,OverallWidth,OverallDepth,WebThickness,FlangeThickness,FilletRadius);_this577.ProfileType=ProfileType;_this577.ProfileName=ProfileName;_this577.Position=Position;_this577.OverallWidth=OverallWidth;_this577.OverallDepth=OverallDepth;_this577.WebThickness=WebThickness;_this577.FlangeThickness=FlangeThickness;_this577.FilletRadius=FilletRadius;_this577.TopFlangeWidth=TopFlangeWidth;_this577.TopFlangeThickness=TopFlangeThickness;_this577.TopFlangeFilletRadius=TopFlangeFilletRadius;_this577.CentreOfGravityInY=CentreOfGravityInY;_this577.type=3207858831;return _this577;}return _createClass(IfcAsymmetricIShapeProfileDef);}(IfcIShapeProfileDef);IFC2X32.IfcAsymmetricIShapeProfileDef=IfcAsymmetricIShapeProfileDef;var IfcBlock=/*#__PURE__*/function(_IfcCsgPrimitive3D5){_inherits(IfcBlock,_IfcCsgPrimitive3D5);var _super575=_createSuper(IfcBlock);function IfcBlock(expressID,Position,XLength,YLength,ZLength){var _this578;_classCallCheck(this,IfcBlock);_this578=_super575.call(this,expressID,Position);_this578.Position=Position;_this578.XLength=XLength;_this578.YLength=YLength;_this578.ZLength=ZLength;_this578.type=1334484129;return _this578;}return _createClass(IfcBlock);}(IfcCsgPrimitive3D);IFC2X32.IfcBlock=IfcBlock;var IfcBooleanClippingResult=/*#__PURE__*/function(_IfcBooleanResult){_inherits(IfcBooleanClippingResult,_IfcBooleanResult);var _super576=_createSuper(IfcBooleanClippingResult);function IfcBooleanClippingResult(expressID,Operator,FirstOperand,SecondOperand){var _this579;_classCallCheck(this,IfcBooleanClippingResult);_this579=_super576.call(this,expressID,Operator,FirstOperand,SecondOperand);_this579.Operator=Operator;_this579.FirstOperand=FirstOperand;_this579.SecondOperand=SecondOperand;_this579.type=3649129432;return _this579;}return _createClass(IfcBooleanClippingResult);}(IfcBooleanResult);IFC2X32.IfcBooleanClippingResult=IfcBooleanClippingResult;var IfcBoundedCurve=/*#__PURE__*/function(_IfcCurve4){_inherits(IfcBoundedCurve,_IfcCurve4);var _super577=_createSuper(IfcBoundedCurve);function IfcBoundedCurve(expressID){var _this580;_classCallCheck(this,IfcBoundedCurve);_this580=_super577.call(this,expressID);_this580.type=1260505505;return _this580;}return _createClass(IfcBoundedCurve);}(IfcCurve);IFC2X32.IfcBoundedCurve=IfcBoundedCurve;var IfcBuilding=/*#__PURE__*/function(_IfcSpatialStructureE){_inherits(IfcBuilding,_IfcSpatialStructureE);var _super578=_createSuper(IfcBuilding);function IfcBuilding(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,LongName,CompositionType,ElevationOfRefHeight,ElevationOfTerrain,BuildingAddress){var _this581;_classCallCheck(this,IfcBuilding);_this581=_super578.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,LongName,CompositionType);_this581.GlobalId=GlobalId;_this581.OwnerHistory=OwnerHistory;_this581.Name=Name;_this581.Description=Description;_this581.ObjectType=ObjectType;_this581.ObjectPlacement=ObjectPlacement;_this581.Representation=Representation;_this581.LongName=LongName;_this581.CompositionType=CompositionType;_this581.ElevationOfRefHeight=ElevationOfRefHeight;_this581.ElevationOfTerrain=ElevationOfTerrain;_this581.BuildingAddress=BuildingAddress;_this581.type=4031249490;return _this581;}return _createClass(IfcBuilding);}(IfcSpatialStructureElement);IFC2X32.IfcBuilding=IfcBuilding;var IfcBuildingElementType=/*#__PURE__*/function(_IfcElementType4){_inherits(IfcBuildingElementType,_IfcElementType4);var _super579=_createSuper(IfcBuildingElementType);function IfcBuildingElementType(expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType){var _this582;_classCallCheck(this,IfcBuildingElementType);_this582=_super579.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType);_this582.GlobalId=GlobalId;_this582.OwnerHistory=OwnerHistory;_this582.Name=Name;_this582.Description=Description;_this582.ApplicableOccurrence=ApplicableOccurrence;_this582.HasPropertySets=HasPropertySets;_this582.RepresentationMaps=RepresentationMaps;_this582.Tag=Tag;_this582.ElementType=ElementType;_this582.type=1950629157;return _this582;}return _createClass(IfcBuildingElementType);}(IfcElementType);IFC2X32.IfcBuildingElementType=IfcBuildingElementType;var IfcBuildingStorey=/*#__PURE__*/function(_IfcSpatialStructureE2){_inherits(IfcBuildingStorey,_IfcSpatialStructureE2);var _super580=_createSuper(IfcBuildingStorey);function IfcBuildingStorey(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,LongName,CompositionType,Elevation){var _this583;_classCallCheck(this,IfcBuildingStorey);_this583=_super580.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,LongName,CompositionType);_this583.GlobalId=GlobalId;_this583.OwnerHistory=OwnerHistory;_this583.Name=Name;_this583.Description=Description;_this583.ObjectType=ObjectType;_this583.ObjectPlacement=ObjectPlacement;_this583.Representation=Representation;_this583.LongName=LongName;_this583.CompositionType=CompositionType;_this583.Elevation=Elevation;_this583.type=3124254112;return _this583;}return _createClass(IfcBuildingStorey);}(IfcSpatialStructureElement);IFC2X32.IfcBuildingStorey=IfcBuildingStorey;var IfcCircleHollowProfileDef=/*#__PURE__*/function(_IfcCircleProfileDef){_inherits(IfcCircleHollowProfileDef,_IfcCircleProfileDef);var _super581=_createSuper(IfcCircleHollowProfileDef);function IfcCircleHollowProfileDef(expressID,ProfileType,ProfileName,Position,Radius,WallThickness){var _this584;_classCallCheck(this,IfcCircleHollowProfileDef);_this584=_super581.call(this,expressID,ProfileType,ProfileName,Position,Radius);_this584.ProfileType=ProfileType;_this584.ProfileName=ProfileName;_this584.Position=Position;_this584.Radius=Radius;_this584.WallThickness=WallThickness;_this584.type=2937912522;return _this584;}return _createClass(IfcCircleHollowProfileDef);}(IfcCircleProfileDef);IFC2X32.IfcCircleHollowProfileDef=IfcCircleHollowProfileDef;var IfcColumnType=/*#__PURE__*/function(_IfcBuildingElementTy){_inherits(IfcColumnType,_IfcBuildingElementTy);var _super582=_createSuper(IfcColumnType);function IfcColumnType(expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType,PredefinedType){var _this585;_classCallCheck(this,IfcColumnType);_this585=_super582.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType);_this585.GlobalId=GlobalId;_this585.OwnerHistory=OwnerHistory;_this585.Name=Name;_this585.Description=Description;_this585.ApplicableOccurrence=ApplicableOccurrence;_this585.HasPropertySets=HasPropertySets;_this585.RepresentationMaps=RepresentationMaps;_this585.Tag=Tag;_this585.ElementType=ElementType;_this585.PredefinedType=PredefinedType;_this585.type=300633059;return _this585;}return _createClass(IfcColumnType);}(IfcBuildingElementType);IFC2X32.IfcColumnType=IfcColumnType;var IfcCompositeCurve=/*#__PURE__*/function(_IfcBoundedCurve){_inherits(IfcCompositeCurve,_IfcBoundedCurve);var _super583=_createSuper(IfcCompositeCurve);function IfcCompositeCurve(expressID,Segments,SelfIntersect){var _this586;_classCallCheck(this,IfcCompositeCurve);_this586=_super583.call(this,expressID);_this586.Segments=Segments;_this586.SelfIntersect=SelfIntersect;_this586.type=3732776249;return _this586;}return _createClass(IfcCompositeCurve);}(IfcBoundedCurve);IFC2X32.IfcCompositeCurve=IfcCompositeCurve;var IfcConic=/*#__PURE__*/function(_IfcCurve5){_inherits(IfcConic,_IfcCurve5);var _super584=_createSuper(IfcConic);function IfcConic(expressID,Position){var _this587;_classCallCheck(this,IfcConic);_this587=_super584.call(this,expressID);_this587.Position=Position;_this587.type=2510884976;return _this587;}return _createClass(IfcConic);}(IfcCurve);IFC2X32.IfcConic=IfcConic;var IfcConstructionResource=/*#__PURE__*/function(_IfcResource){_inherits(IfcConstructionResource,_IfcResource);var _super585=_createSuper(IfcConstructionResource);function IfcConstructionResource(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ResourceIdentifier,ResourceGroup,ResourceConsumption,BaseQuantity){var _this588;_classCallCheck(this,IfcConstructionResource);_this588=_super585.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType);_this588.GlobalId=GlobalId;_this588.OwnerHistory=OwnerHistory;_this588.Name=Name;_this588.Description=Description;_this588.ObjectType=ObjectType;_this588.ResourceIdentifier=ResourceIdentifier;_this588.ResourceGroup=ResourceGroup;_this588.ResourceConsumption=ResourceConsumption;_this588.BaseQuantity=BaseQuantity;_this588.type=2559216714;return _this588;}return _createClass(IfcConstructionResource);}(IfcResource);IFC2X32.IfcConstructionResource=IfcConstructionResource;var IfcControl=/*#__PURE__*/function(_IfcObject6){_inherits(IfcControl,_IfcObject6);var _super586=_createSuper(IfcControl);function IfcControl(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType){var _this589;_classCallCheck(this,IfcControl);_this589=_super586.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType);_this589.GlobalId=GlobalId;_this589.OwnerHistory=OwnerHistory;_this589.Name=Name;_this589.Description=Description;_this589.ObjectType=ObjectType;_this589.type=3293443760;return _this589;}return _createClass(IfcControl);}(IfcObject);IFC2X32.IfcControl=IfcControl;var IfcCostItem=/*#__PURE__*/function(_IfcControl){_inherits(IfcCostItem,_IfcControl);var _super587=_createSuper(IfcCostItem);function IfcCostItem(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType){var _this590;_classCallCheck(this,IfcCostItem);_this590=_super587.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType);_this590.GlobalId=GlobalId;_this590.OwnerHistory=OwnerHistory;_this590.Name=Name;_this590.Description=Description;_this590.ObjectType=ObjectType;_this590.type=3895139033;return _this590;}return _createClass(IfcCostItem);}(IfcControl);IFC2X32.IfcCostItem=IfcCostItem;var IfcCostSchedule=/*#__PURE__*/function(_IfcControl2){_inherits(IfcCostSchedule,_IfcControl2);var _super588=_createSuper(IfcCostSchedule);function IfcCostSchedule(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,SubmittedBy,PreparedBy,SubmittedOn,Status,TargetUsers,UpdateDate,ID,PredefinedType){var _this591;_classCallCheck(this,IfcCostSchedule);_this591=_super588.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType);_this591.GlobalId=GlobalId;_this591.OwnerHistory=OwnerHistory;_this591.Name=Name;_this591.Description=Description;_this591.ObjectType=ObjectType;_this591.SubmittedBy=SubmittedBy;_this591.PreparedBy=PreparedBy;_this591.SubmittedOn=SubmittedOn;_this591.Status=Status;_this591.TargetUsers=TargetUsers;_this591.UpdateDate=UpdateDate;_this591.ID=ID;_this591.PredefinedType=PredefinedType;_this591.type=1419761937;return _this591;}return _createClass(IfcCostSchedule);}(IfcControl);IFC2X32.IfcCostSchedule=IfcCostSchedule;var IfcCoveringType=/*#__PURE__*/function(_IfcBuildingElementTy2){_inherits(IfcCoveringType,_IfcBuildingElementTy2);var _super589=_createSuper(IfcCoveringType);function IfcCoveringType(expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType,PredefinedType){var _this592;_classCallCheck(this,IfcCoveringType);_this592=_super589.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType);_this592.GlobalId=GlobalId;_this592.OwnerHistory=OwnerHistory;_this592.Name=Name;_this592.Description=Description;_this592.ApplicableOccurrence=ApplicableOccurrence;_this592.HasPropertySets=HasPropertySets;_this592.RepresentationMaps=RepresentationMaps;_this592.Tag=Tag;_this592.ElementType=ElementType;_this592.PredefinedType=PredefinedType;_this592.type=1916426348;return _this592;}return _createClass(IfcCoveringType);}(IfcBuildingElementType);IFC2X32.IfcCoveringType=IfcCoveringType;var IfcCrewResource=/*#__PURE__*/function(_IfcConstructionResou){_inherits(IfcCrewResource,_IfcConstructionResou);var _super590=_createSuper(IfcCrewResource);function IfcCrewResource(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ResourceIdentifier,ResourceGroup,ResourceConsumption,BaseQuantity){var _this593;_classCallCheck(this,IfcCrewResource);_this593=_super590.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ResourceIdentifier,ResourceGroup,ResourceConsumption,BaseQuantity);_this593.GlobalId=GlobalId;_this593.OwnerHistory=OwnerHistory;_this593.Name=Name;_this593.Description=Description;_this593.ObjectType=ObjectType;_this593.ResourceIdentifier=ResourceIdentifier;_this593.ResourceGroup=ResourceGroup;_this593.ResourceConsumption=ResourceConsumption;_this593.BaseQuantity=BaseQuantity;_this593.type=3295246426;return _this593;}return _createClass(IfcCrewResource);}(IfcConstructionResource);IFC2X32.IfcCrewResource=IfcCrewResource;var IfcCurtainWallType=/*#__PURE__*/function(_IfcBuildingElementTy3){_inherits(IfcCurtainWallType,_IfcBuildingElementTy3);var _super591=_createSuper(IfcCurtainWallType);function IfcCurtainWallType(expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType,PredefinedType){var _this594;_classCallCheck(this,IfcCurtainWallType);_this594=_super591.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType);_this594.GlobalId=GlobalId;_this594.OwnerHistory=OwnerHistory;_this594.Name=Name;_this594.Description=Description;_this594.ApplicableOccurrence=ApplicableOccurrence;_this594.HasPropertySets=HasPropertySets;_this594.RepresentationMaps=RepresentationMaps;_this594.Tag=Tag;_this594.ElementType=ElementType;_this594.PredefinedType=PredefinedType;_this594.type=1457835157;return _this594;}return _createClass(IfcCurtainWallType);}(IfcBuildingElementType);IFC2X32.IfcCurtainWallType=IfcCurtainWallType;var IfcDimensionCurveDirectedCallout=/*#__PURE__*/function(_IfcDraughtingCallout4){_inherits(IfcDimensionCurveDirectedCallout,_IfcDraughtingCallout4);var _super592=_createSuper(IfcDimensionCurveDirectedCallout);function IfcDimensionCurveDirectedCallout(expressID,Contents){var _this595;_classCallCheck(this,IfcDimensionCurveDirectedCallout);_this595=_super592.call(this,expressID,Contents);_this595.Contents=Contents;_this595.type=681481545;return _this595;}return _createClass(IfcDimensionCurveDirectedCallout);}(IfcDraughtingCallout);IFC2X32.IfcDimensionCurveDirectedCallout=IfcDimensionCurveDirectedCallout;var IfcDistributionElementType=/*#__PURE__*/function(_IfcElementType5){_inherits(IfcDistributionElementType,_IfcElementType5);var _super593=_createSuper(IfcDistributionElementType);function IfcDistributionElementType(expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType){var _this596;_classCallCheck(this,IfcDistributionElementType);_this596=_super593.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType);_this596.GlobalId=GlobalId;_this596.OwnerHistory=OwnerHistory;_this596.Name=Name;_this596.Description=Description;_this596.ApplicableOccurrence=ApplicableOccurrence;_this596.HasPropertySets=HasPropertySets;_this596.RepresentationMaps=RepresentationMaps;_this596.Tag=Tag;_this596.ElementType=ElementType;_this596.type=3256556792;return _this596;}return _createClass(IfcDistributionElementType);}(IfcElementType);IFC2X32.IfcDistributionElementType=IfcDistributionElementType;var IfcDistributionFlowElementType=/*#__PURE__*/function(_IfcDistributionEleme){_inherits(IfcDistributionFlowElementType,_IfcDistributionEleme);var _super594=_createSuper(IfcDistributionFlowElementType);function IfcDistributionFlowElementType(expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType){var _this597;_classCallCheck(this,IfcDistributionFlowElementType);_this597=_super594.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType);_this597.GlobalId=GlobalId;_this597.OwnerHistory=OwnerHistory;_this597.Name=Name;_this597.Description=Description;_this597.ApplicableOccurrence=ApplicableOccurrence;_this597.HasPropertySets=HasPropertySets;_this597.RepresentationMaps=RepresentationMaps;_this597.Tag=Tag;_this597.ElementType=ElementType;_this597.type=3849074793;return _this597;}return _createClass(IfcDistributionFlowElementType);}(IfcDistributionElementType);IFC2X32.IfcDistributionFlowElementType=IfcDistributionFlowElementType;var IfcElectricalBaseProperties=/*#__PURE__*/function(_IfcEnergyProperties){_inherits(IfcElectricalBaseProperties,_IfcEnergyProperties);var _super595=_createSuper(IfcElectricalBaseProperties);function IfcElectricalBaseProperties(expressID,GlobalId,OwnerHistory,Name,Description,EnergySequence,UserDefinedEnergySequence,ElectricCurrentType,InputVoltage,InputFrequency,FullLoadCurrent,MinimumCircuitCurrent,MaximumPowerInput,RatedPowerInput,InputPhase){var _this598;_classCallCheck(this,IfcElectricalBaseProperties);_this598=_super595.call(this,expressID,GlobalId,OwnerHistory,Name,Description,EnergySequence,UserDefinedEnergySequence);_this598.GlobalId=GlobalId;_this598.OwnerHistory=OwnerHistory;_this598.Name=Name;_this598.Description=Description;_this598.EnergySequence=EnergySequence;_this598.UserDefinedEnergySequence=UserDefinedEnergySequence;_this598.ElectricCurrentType=ElectricCurrentType;_this598.InputVoltage=InputVoltage;_this598.InputFrequency=InputFrequency;_this598.FullLoadCurrent=FullLoadCurrent;_this598.MinimumCircuitCurrent=MinimumCircuitCurrent;_this598.MaximumPowerInput=MaximumPowerInput;_this598.RatedPowerInput=RatedPowerInput;_this598.InputPhase=InputPhase;_this598.type=360485395;return _this598;}return _createClass(IfcElectricalBaseProperties);}(IfcEnergyProperties);IFC2X32.IfcElectricalBaseProperties=IfcElectricalBaseProperties;var IfcElement=/*#__PURE__*/function(_IfcProduct6){_inherits(IfcElement,_IfcProduct6);var _super596=_createSuper(IfcElement);function IfcElement(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag){var _this599;_classCallCheck(this,IfcElement);_this599=_super596.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation);_this599.GlobalId=GlobalId;_this599.OwnerHistory=OwnerHistory;_this599.Name=Name;_this599.Description=Description;_this599.ObjectType=ObjectType;_this599.ObjectPlacement=ObjectPlacement;_this599.Representation=Representation;_this599.Tag=Tag;_this599.type=1758889154;return _this599;}return _createClass(IfcElement);}(IfcProduct);IFC2X32.IfcElement=IfcElement;var IfcElementAssembly=/*#__PURE__*/function(_IfcElement){_inherits(IfcElementAssembly,_IfcElement);var _super597=_createSuper(IfcElementAssembly);function IfcElementAssembly(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag,AssemblyPlace,PredefinedType){var _this600;_classCallCheck(this,IfcElementAssembly);_this600=_super597.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag);_this600.GlobalId=GlobalId;_this600.OwnerHistory=OwnerHistory;_this600.Name=Name;_this600.Description=Description;_this600.ObjectType=ObjectType;_this600.ObjectPlacement=ObjectPlacement;_this600.Representation=Representation;_this600.Tag=Tag;_this600.AssemblyPlace=AssemblyPlace;_this600.PredefinedType=PredefinedType;_this600.type=4123344466;return _this600;}return _createClass(IfcElementAssembly);}(IfcElement);IFC2X32.IfcElementAssembly=IfcElementAssembly;var IfcElementComponent=/*#__PURE__*/function(_IfcElement2){_inherits(IfcElementComponent,_IfcElement2);var _super598=_createSuper(IfcElementComponent);function IfcElementComponent(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag){var _this601;_classCallCheck(this,IfcElementComponent);_this601=_super598.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag);_this601.GlobalId=GlobalId;_this601.OwnerHistory=OwnerHistory;_this601.Name=Name;_this601.Description=Description;_this601.ObjectType=ObjectType;_this601.ObjectPlacement=ObjectPlacement;_this601.Representation=Representation;_this601.Tag=Tag;_this601.type=1623761950;return _this601;}return _createClass(IfcElementComponent);}(IfcElement);IFC2X32.IfcElementComponent=IfcElementComponent;var IfcElementComponentType=/*#__PURE__*/function(_IfcElementType6){_inherits(IfcElementComponentType,_IfcElementType6);var _super599=_createSuper(IfcElementComponentType);function IfcElementComponentType(expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType){var _this602;_classCallCheck(this,IfcElementComponentType);_this602=_super599.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType);_this602.GlobalId=GlobalId;_this602.OwnerHistory=OwnerHistory;_this602.Name=Name;_this602.Description=Description;_this602.ApplicableOccurrence=ApplicableOccurrence;_this602.HasPropertySets=HasPropertySets;_this602.RepresentationMaps=RepresentationMaps;_this602.Tag=Tag;_this602.ElementType=ElementType;_this602.type=2590856083;return _this602;}return _createClass(IfcElementComponentType);}(IfcElementType);IFC2X32.IfcElementComponentType=IfcElementComponentType;var IfcEllipse=/*#__PURE__*/function(_IfcConic){_inherits(IfcEllipse,_IfcConic);var _super600=_createSuper(IfcEllipse);function IfcEllipse(expressID,Position,SemiAxis1,SemiAxis2){var _this603;_classCallCheck(this,IfcEllipse);_this603=_super600.call(this,expressID,Position);_this603.Position=Position;_this603.SemiAxis1=SemiAxis1;_this603.SemiAxis2=SemiAxis2;_this603.type=1704287377;return _this603;}return _createClass(IfcEllipse);}(IfcConic);IFC2X32.IfcEllipse=IfcEllipse;var IfcEnergyConversionDeviceType=/*#__PURE__*/function(_IfcDistributionFlowE){_inherits(IfcEnergyConversionDeviceType,_IfcDistributionFlowE);var _super601=_createSuper(IfcEnergyConversionDeviceType);function IfcEnergyConversionDeviceType(expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType){var _this604;_classCallCheck(this,IfcEnergyConversionDeviceType);_this604=_super601.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType);_this604.GlobalId=GlobalId;_this604.OwnerHistory=OwnerHistory;_this604.Name=Name;_this604.Description=Description;_this604.ApplicableOccurrence=ApplicableOccurrence;_this604.HasPropertySets=HasPropertySets;_this604.RepresentationMaps=RepresentationMaps;_this604.Tag=Tag;_this604.ElementType=ElementType;_this604.type=2107101300;return _this604;}return _createClass(IfcEnergyConversionDeviceType);}(IfcDistributionFlowElementType);IFC2X32.IfcEnergyConversionDeviceType=IfcEnergyConversionDeviceType;var IfcEquipmentElement=/*#__PURE__*/function(_IfcElement3){_inherits(IfcEquipmentElement,_IfcElement3);var _super602=_createSuper(IfcEquipmentElement);function IfcEquipmentElement(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag){var _this605;_classCallCheck(this,IfcEquipmentElement);_this605=_super602.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag);_this605.GlobalId=GlobalId;_this605.OwnerHistory=OwnerHistory;_this605.Name=Name;_this605.Description=Description;_this605.ObjectType=ObjectType;_this605.ObjectPlacement=ObjectPlacement;_this605.Representation=Representation;_this605.Tag=Tag;_this605.type=1962604670;return _this605;}return _createClass(IfcEquipmentElement);}(IfcElement);IFC2X32.IfcEquipmentElement=IfcEquipmentElement;var IfcEquipmentStandard=/*#__PURE__*/function(_IfcControl3){_inherits(IfcEquipmentStandard,_IfcControl3);var _super603=_createSuper(IfcEquipmentStandard);function IfcEquipmentStandard(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType){var _this606;_classCallCheck(this,IfcEquipmentStandard);_this606=_super603.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType);_this606.GlobalId=GlobalId;_this606.OwnerHistory=OwnerHistory;_this606.Name=Name;_this606.Description=Description;_this606.ObjectType=ObjectType;_this606.type=3272907226;return _this606;}return _createClass(IfcEquipmentStandard);}(IfcControl);IFC2X32.IfcEquipmentStandard=IfcEquipmentStandard;var IfcEvaporativeCoolerType=/*#__PURE__*/function(_IfcEnergyConversionD){_inherits(IfcEvaporativeCoolerType,_IfcEnergyConversionD);var _super604=_createSuper(IfcEvaporativeCoolerType);function IfcEvaporativeCoolerType(expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType,PredefinedType){var _this607;_classCallCheck(this,IfcEvaporativeCoolerType);_this607=_super604.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType);_this607.GlobalId=GlobalId;_this607.OwnerHistory=OwnerHistory;_this607.Name=Name;_this607.Description=Description;_this607.ApplicableOccurrence=ApplicableOccurrence;_this607.HasPropertySets=HasPropertySets;_this607.RepresentationMaps=RepresentationMaps;_this607.Tag=Tag;_this607.ElementType=ElementType;_this607.PredefinedType=PredefinedType;_this607.type=3174744832;return _this607;}return _createClass(IfcEvaporativeCoolerType);}(IfcEnergyConversionDeviceType);IFC2X32.IfcEvaporativeCoolerType=IfcEvaporativeCoolerType;var IfcEvaporatorType=/*#__PURE__*/function(_IfcEnergyConversionD2){_inherits(IfcEvaporatorType,_IfcEnergyConversionD2);var _super605=_createSuper(IfcEvaporatorType);function IfcEvaporatorType(expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType,PredefinedType){var _this608;_classCallCheck(this,IfcEvaporatorType);_this608=_super605.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType);_this608.GlobalId=GlobalId;_this608.OwnerHistory=OwnerHistory;_this608.Name=Name;_this608.Description=Description;_this608.ApplicableOccurrence=ApplicableOccurrence;_this608.HasPropertySets=HasPropertySets;_this608.RepresentationMaps=RepresentationMaps;_this608.Tag=Tag;_this608.ElementType=ElementType;_this608.PredefinedType=PredefinedType;_this608.type=3390157468;return _this608;}return _createClass(IfcEvaporatorType);}(IfcEnergyConversionDeviceType);IFC2X32.IfcEvaporatorType=IfcEvaporatorType;var IfcFacetedBrep=/*#__PURE__*/function(_IfcManifoldSolidBrep){_inherits(IfcFacetedBrep,_IfcManifoldSolidBrep);var _super606=_createSuper(IfcFacetedBrep);function IfcFacetedBrep(expressID,Outer){var _this609;_classCallCheck(this,IfcFacetedBrep);_this609=_super606.call(this,expressID,Outer);_this609.Outer=Outer;_this609.type=807026263;return _this609;}return _createClass(IfcFacetedBrep);}(IfcManifoldSolidBrep);IFC2X32.IfcFacetedBrep=IfcFacetedBrep;var IfcFacetedBrepWithVoids=/*#__PURE__*/function(_IfcManifoldSolidBrep2){_inherits(IfcFacetedBrepWithVoids,_IfcManifoldSolidBrep2);var _super607=_createSuper(IfcFacetedBrepWithVoids);function IfcFacetedBrepWithVoids(expressID,Outer,Voids){var _this610;_classCallCheck(this,IfcFacetedBrepWithVoids);_this610=_super607.call(this,expressID,Outer);_this610.Outer=Outer;_this610.Voids=Voids;_this610.type=3737207727;return _this610;}return _createClass(IfcFacetedBrepWithVoids);}(IfcManifoldSolidBrep);IFC2X32.IfcFacetedBrepWithVoids=IfcFacetedBrepWithVoids;var IfcFastener=/*#__PURE__*/function(_IfcElementComponent){_inherits(IfcFastener,_IfcElementComponent);var _super608=_createSuper(IfcFastener);function IfcFastener(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag){var _this611;_classCallCheck(this,IfcFastener);_this611=_super608.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag);_this611.GlobalId=GlobalId;_this611.OwnerHistory=OwnerHistory;_this611.Name=Name;_this611.Description=Description;_this611.ObjectType=ObjectType;_this611.ObjectPlacement=ObjectPlacement;_this611.Representation=Representation;_this611.Tag=Tag;_this611.type=647756555;return _this611;}return _createClass(IfcFastener);}(IfcElementComponent);IFC2X32.IfcFastener=IfcFastener;var IfcFastenerType=/*#__PURE__*/function(_IfcElementComponentT){_inherits(IfcFastenerType,_IfcElementComponentT);var _super609=_createSuper(IfcFastenerType);function IfcFastenerType(expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType){var _this612;_classCallCheck(this,IfcFastenerType);_this612=_super609.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType);_this612.GlobalId=GlobalId;_this612.OwnerHistory=OwnerHistory;_this612.Name=Name;_this612.Description=Description;_this612.ApplicableOccurrence=ApplicableOccurrence;_this612.HasPropertySets=HasPropertySets;_this612.RepresentationMaps=RepresentationMaps;_this612.Tag=Tag;_this612.ElementType=ElementType;_this612.type=2489546625;return _this612;}return _createClass(IfcFastenerType);}(IfcElementComponentType);IFC2X32.IfcFastenerType=IfcFastenerType;var IfcFeatureElement=/*#__PURE__*/function(_IfcElement4){_inherits(IfcFeatureElement,_IfcElement4);var _super610=_createSuper(IfcFeatureElement);function IfcFeatureElement(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag){var _this613;_classCallCheck(this,IfcFeatureElement);_this613=_super610.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag);_this613.GlobalId=GlobalId;_this613.OwnerHistory=OwnerHistory;_this613.Name=Name;_this613.Description=Description;_this613.ObjectType=ObjectType;_this613.ObjectPlacement=ObjectPlacement;_this613.Representation=Representation;_this613.Tag=Tag;_this613.type=2827207264;return _this613;}return _createClass(IfcFeatureElement);}(IfcElement);IFC2X32.IfcFeatureElement=IfcFeatureElement;var IfcFeatureElementAddition=/*#__PURE__*/function(_IfcFeatureElement){_inherits(IfcFeatureElementAddition,_IfcFeatureElement);var _super611=_createSuper(IfcFeatureElementAddition);function IfcFeatureElementAddition(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag){var _this614;_classCallCheck(this,IfcFeatureElementAddition);_this614=_super611.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag);_this614.GlobalId=GlobalId;_this614.OwnerHistory=OwnerHistory;_this614.Name=Name;_this614.Description=Description;_this614.ObjectType=ObjectType;_this614.ObjectPlacement=ObjectPlacement;_this614.Representation=Representation;_this614.Tag=Tag;_this614.type=2143335405;return _this614;}return _createClass(IfcFeatureElementAddition);}(IfcFeatureElement);IFC2X32.IfcFeatureElementAddition=IfcFeatureElementAddition;var IfcFeatureElementSubtraction=/*#__PURE__*/function(_IfcFeatureElement2){_inherits(IfcFeatureElementSubtraction,_IfcFeatureElement2);var _super612=_createSuper(IfcFeatureElementSubtraction);function IfcFeatureElementSubtraction(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag){var _this615;_classCallCheck(this,IfcFeatureElementSubtraction);_this615=_super612.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag);_this615.GlobalId=GlobalId;_this615.OwnerHistory=OwnerHistory;_this615.Name=Name;_this615.Description=Description;_this615.ObjectType=ObjectType;_this615.ObjectPlacement=ObjectPlacement;_this615.Representation=Representation;_this615.Tag=Tag;_this615.type=1287392070;return _this615;}return _createClass(IfcFeatureElementSubtraction);}(IfcFeatureElement);IFC2X32.IfcFeatureElementSubtraction=IfcFeatureElementSubtraction;var IfcFlowControllerType=/*#__PURE__*/function(_IfcDistributionFlowE2){_inherits(IfcFlowControllerType,_IfcDistributionFlowE2);var _super613=_createSuper(IfcFlowControllerType);function IfcFlowControllerType(expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType){var _this616;_classCallCheck(this,IfcFlowControllerType);_this616=_super613.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType);_this616.GlobalId=GlobalId;_this616.OwnerHistory=OwnerHistory;_this616.Name=Name;_this616.Description=Description;_this616.ApplicableOccurrence=ApplicableOccurrence;_this616.HasPropertySets=HasPropertySets;_this616.RepresentationMaps=RepresentationMaps;_this616.Tag=Tag;_this616.ElementType=ElementType;_this616.type=3907093117;return _this616;}return _createClass(IfcFlowControllerType);}(IfcDistributionFlowElementType);IFC2X32.IfcFlowControllerType=IfcFlowControllerType;var IfcFlowFittingType=/*#__PURE__*/function(_IfcDistributionFlowE3){_inherits(IfcFlowFittingType,_IfcDistributionFlowE3);var _super614=_createSuper(IfcFlowFittingType);function IfcFlowFittingType(expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType){var _this617;_classCallCheck(this,IfcFlowFittingType);_this617=_super614.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType);_this617.GlobalId=GlobalId;_this617.OwnerHistory=OwnerHistory;_this617.Name=Name;_this617.Description=Description;_this617.ApplicableOccurrence=ApplicableOccurrence;_this617.HasPropertySets=HasPropertySets;_this617.RepresentationMaps=RepresentationMaps;_this617.Tag=Tag;_this617.ElementType=ElementType;_this617.type=3198132628;return _this617;}return _createClass(IfcFlowFittingType);}(IfcDistributionFlowElementType);IFC2X32.IfcFlowFittingType=IfcFlowFittingType;var IfcFlowMeterType=/*#__PURE__*/function(_IfcFlowControllerTyp){_inherits(IfcFlowMeterType,_IfcFlowControllerTyp);var _super615=_createSuper(IfcFlowMeterType);function IfcFlowMeterType(expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType,PredefinedType){var _this618;_classCallCheck(this,IfcFlowMeterType);_this618=_super615.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType);_this618.GlobalId=GlobalId;_this618.OwnerHistory=OwnerHistory;_this618.Name=Name;_this618.Description=Description;_this618.ApplicableOccurrence=ApplicableOccurrence;_this618.HasPropertySets=HasPropertySets;_this618.RepresentationMaps=RepresentationMaps;_this618.Tag=Tag;_this618.ElementType=ElementType;_this618.PredefinedType=PredefinedType;_this618.type=3815607619;return _this618;}return _createClass(IfcFlowMeterType);}(IfcFlowControllerType);IFC2X32.IfcFlowMeterType=IfcFlowMeterType;var IfcFlowMovingDeviceType=/*#__PURE__*/function(_IfcDistributionFlowE4){_inherits(IfcFlowMovingDeviceType,_IfcDistributionFlowE4);var _super616=_createSuper(IfcFlowMovingDeviceType);function IfcFlowMovingDeviceType(expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType){var _this619;_classCallCheck(this,IfcFlowMovingDeviceType);_this619=_super616.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType);_this619.GlobalId=GlobalId;_this619.OwnerHistory=OwnerHistory;_this619.Name=Name;_this619.Description=Description;_this619.ApplicableOccurrence=ApplicableOccurrence;_this619.HasPropertySets=HasPropertySets;_this619.RepresentationMaps=RepresentationMaps;_this619.Tag=Tag;_this619.ElementType=ElementType;_this619.type=1482959167;return _this619;}return _createClass(IfcFlowMovingDeviceType);}(IfcDistributionFlowElementType);IFC2X32.IfcFlowMovingDeviceType=IfcFlowMovingDeviceType;var IfcFlowSegmentType=/*#__PURE__*/function(_IfcDistributionFlowE5){_inherits(IfcFlowSegmentType,_IfcDistributionFlowE5);var _super617=_createSuper(IfcFlowSegmentType);function IfcFlowSegmentType(expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType){var _this620;_classCallCheck(this,IfcFlowSegmentType);_this620=_super617.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType);_this620.GlobalId=GlobalId;_this620.OwnerHistory=OwnerHistory;_this620.Name=Name;_this620.Description=Description;_this620.ApplicableOccurrence=ApplicableOccurrence;_this620.HasPropertySets=HasPropertySets;_this620.RepresentationMaps=RepresentationMaps;_this620.Tag=Tag;_this620.ElementType=ElementType;_this620.type=1834744321;return _this620;}return _createClass(IfcFlowSegmentType);}(IfcDistributionFlowElementType);IFC2X32.IfcFlowSegmentType=IfcFlowSegmentType;var IfcFlowStorageDeviceType=/*#__PURE__*/function(_IfcDistributionFlowE6){_inherits(IfcFlowStorageDeviceType,_IfcDistributionFlowE6);var _super618=_createSuper(IfcFlowStorageDeviceType);function IfcFlowStorageDeviceType(expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType){var _this621;_classCallCheck(this,IfcFlowStorageDeviceType);_this621=_super618.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType);_this621.GlobalId=GlobalId;_this621.OwnerHistory=OwnerHistory;_this621.Name=Name;_this621.Description=Description;_this621.ApplicableOccurrence=ApplicableOccurrence;_this621.HasPropertySets=HasPropertySets;_this621.RepresentationMaps=RepresentationMaps;_this621.Tag=Tag;_this621.ElementType=ElementType;_this621.type=1339347760;return _this621;}return _createClass(IfcFlowStorageDeviceType);}(IfcDistributionFlowElementType);IFC2X32.IfcFlowStorageDeviceType=IfcFlowStorageDeviceType;var IfcFlowTerminalType=/*#__PURE__*/function(_IfcDistributionFlowE7){_inherits(IfcFlowTerminalType,_IfcDistributionFlowE7);var _super619=_createSuper(IfcFlowTerminalType);function IfcFlowTerminalType(expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType){var _this622;_classCallCheck(this,IfcFlowTerminalType);_this622=_super619.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType);_this622.GlobalId=GlobalId;_this622.OwnerHistory=OwnerHistory;_this622.Name=Name;_this622.Description=Description;_this622.ApplicableOccurrence=ApplicableOccurrence;_this622.HasPropertySets=HasPropertySets;_this622.RepresentationMaps=RepresentationMaps;_this622.Tag=Tag;_this622.ElementType=ElementType;_this622.type=2297155007;return _this622;}return _createClass(IfcFlowTerminalType);}(IfcDistributionFlowElementType);IFC2X32.IfcFlowTerminalType=IfcFlowTerminalType;var IfcFlowTreatmentDeviceType=/*#__PURE__*/function(_IfcDistributionFlowE8){_inherits(IfcFlowTreatmentDeviceType,_IfcDistributionFlowE8);var _super620=_createSuper(IfcFlowTreatmentDeviceType);function IfcFlowTreatmentDeviceType(expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType){var _this623;_classCallCheck(this,IfcFlowTreatmentDeviceType);_this623=_super620.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType);_this623.GlobalId=GlobalId;_this623.OwnerHistory=OwnerHistory;_this623.Name=Name;_this623.Description=Description;_this623.ApplicableOccurrence=ApplicableOccurrence;_this623.HasPropertySets=HasPropertySets;_this623.RepresentationMaps=RepresentationMaps;_this623.Tag=Tag;_this623.ElementType=ElementType;_this623.type=3009222698;return _this623;}return _createClass(IfcFlowTreatmentDeviceType);}(IfcDistributionFlowElementType);IFC2X32.IfcFlowTreatmentDeviceType=IfcFlowTreatmentDeviceType;var IfcFurnishingElement=/*#__PURE__*/function(_IfcElement5){_inherits(IfcFurnishingElement,_IfcElement5);var _super621=_createSuper(IfcFurnishingElement);function IfcFurnishingElement(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag){var _this624;_classCallCheck(this,IfcFurnishingElement);_this624=_super621.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag);_this624.GlobalId=GlobalId;_this624.OwnerHistory=OwnerHistory;_this624.Name=Name;_this624.Description=Description;_this624.ObjectType=ObjectType;_this624.ObjectPlacement=ObjectPlacement;_this624.Representation=Representation;_this624.Tag=Tag;_this624.type=263784265;return _this624;}return _createClass(IfcFurnishingElement);}(IfcElement);IFC2X32.IfcFurnishingElement=IfcFurnishingElement;var IfcFurnitureStandard=/*#__PURE__*/function(_IfcControl4){_inherits(IfcFurnitureStandard,_IfcControl4);var _super622=_createSuper(IfcFurnitureStandard);function IfcFurnitureStandard(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType){var _this625;_classCallCheck(this,IfcFurnitureStandard);_this625=_super622.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType);_this625.GlobalId=GlobalId;_this625.OwnerHistory=OwnerHistory;_this625.Name=Name;_this625.Description=Description;_this625.ObjectType=ObjectType;_this625.type=814719939;return _this625;}return _createClass(IfcFurnitureStandard);}(IfcControl);IFC2X32.IfcFurnitureStandard=IfcFurnitureStandard;var IfcGasTerminalType=/*#__PURE__*/function(_IfcFlowTerminalType){_inherits(IfcGasTerminalType,_IfcFlowTerminalType);var _super623=_createSuper(IfcGasTerminalType);function IfcGasTerminalType(expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType,PredefinedType){var _this626;_classCallCheck(this,IfcGasTerminalType);_this626=_super623.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType);_this626.GlobalId=GlobalId;_this626.OwnerHistory=OwnerHistory;_this626.Name=Name;_this626.Description=Description;_this626.ApplicableOccurrence=ApplicableOccurrence;_this626.HasPropertySets=HasPropertySets;_this626.RepresentationMaps=RepresentationMaps;_this626.Tag=Tag;_this626.ElementType=ElementType;_this626.PredefinedType=PredefinedType;_this626.type=200128114;return _this626;}return _createClass(IfcGasTerminalType);}(IfcFlowTerminalType);IFC2X32.IfcGasTerminalType=IfcGasTerminalType;var IfcGrid=/*#__PURE__*/function(_IfcProduct7){_inherits(IfcGrid,_IfcProduct7);var _super624=_createSuper(IfcGrid);function IfcGrid(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,UAxes,VAxes,WAxes){var _this627;_classCallCheck(this,IfcGrid);_this627=_super624.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation);_this627.GlobalId=GlobalId;_this627.OwnerHistory=OwnerHistory;_this627.Name=Name;_this627.Description=Description;_this627.ObjectType=ObjectType;_this627.ObjectPlacement=ObjectPlacement;_this627.Representation=Representation;_this627.UAxes=UAxes;_this627.VAxes=VAxes;_this627.WAxes=WAxes;_this627.type=3009204131;return _this627;}return _createClass(IfcGrid);}(IfcProduct);IFC2X32.IfcGrid=IfcGrid;var IfcGroup=/*#__PURE__*/function(_IfcObject7){_inherits(IfcGroup,_IfcObject7);var _super625=_createSuper(IfcGroup);function IfcGroup(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType){var _this628;_classCallCheck(this,IfcGroup);_this628=_super625.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType);_this628.GlobalId=GlobalId;_this628.OwnerHistory=OwnerHistory;_this628.Name=Name;_this628.Description=Description;_this628.ObjectType=ObjectType;_this628.type=2706460486;return _this628;}return _createClass(IfcGroup);}(IfcObject);IFC2X32.IfcGroup=IfcGroup;var IfcHeatExchangerType=/*#__PURE__*/function(_IfcEnergyConversionD3){_inherits(IfcHeatExchangerType,_IfcEnergyConversionD3);var _super626=_createSuper(IfcHeatExchangerType);function IfcHeatExchangerType(expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType,PredefinedType){var _this629;_classCallCheck(this,IfcHeatExchangerType);_this629=_super626.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType);_this629.GlobalId=GlobalId;_this629.OwnerHistory=OwnerHistory;_this629.Name=Name;_this629.Description=Description;_this629.ApplicableOccurrence=ApplicableOccurrence;_this629.HasPropertySets=HasPropertySets;_this629.RepresentationMaps=RepresentationMaps;_this629.Tag=Tag;_this629.ElementType=ElementType;_this629.PredefinedType=PredefinedType;_this629.type=1251058090;return _this629;}return _createClass(IfcHeatExchangerType);}(IfcEnergyConversionDeviceType);IFC2X32.IfcHeatExchangerType=IfcHeatExchangerType;var IfcHumidifierType=/*#__PURE__*/function(_IfcEnergyConversionD4){_inherits(IfcHumidifierType,_IfcEnergyConversionD4);var _super627=_createSuper(IfcHumidifierType);function IfcHumidifierType(expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType,PredefinedType){var _this630;_classCallCheck(this,IfcHumidifierType);_this630=_super627.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType);_this630.GlobalId=GlobalId;_this630.OwnerHistory=OwnerHistory;_this630.Name=Name;_this630.Description=Description;_this630.ApplicableOccurrence=ApplicableOccurrence;_this630.HasPropertySets=HasPropertySets;_this630.RepresentationMaps=RepresentationMaps;_this630.Tag=Tag;_this630.ElementType=ElementType;_this630.PredefinedType=PredefinedType;_this630.type=1806887404;return _this630;}return _createClass(IfcHumidifierType);}(IfcEnergyConversionDeviceType);IFC2X32.IfcHumidifierType=IfcHumidifierType;var IfcInventory=/*#__PURE__*/function(_IfcGroup){_inherits(IfcInventory,_IfcGroup);var _super628=_createSuper(IfcInventory);function IfcInventory(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,InventoryType,Jurisdiction,ResponsiblePersons,LastUpdateDate,CurrentValue,OriginalValue){var _this631;_classCallCheck(this,IfcInventory);_this631=_super628.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType);_this631.GlobalId=GlobalId;_this631.OwnerHistory=OwnerHistory;_this631.Name=Name;_this631.Description=Description;_this631.ObjectType=ObjectType;_this631.InventoryType=InventoryType;_this631.Jurisdiction=Jurisdiction;_this631.ResponsiblePersons=ResponsiblePersons;_this631.LastUpdateDate=LastUpdateDate;_this631.CurrentValue=CurrentValue;_this631.OriginalValue=OriginalValue;_this631.type=2391368822;return _this631;}return _createClass(IfcInventory);}(IfcGroup);IFC2X32.IfcInventory=IfcInventory;var IfcJunctionBoxType=/*#__PURE__*/function(_IfcFlowFittingType){_inherits(IfcJunctionBoxType,_IfcFlowFittingType);var _super629=_createSuper(IfcJunctionBoxType);function IfcJunctionBoxType(expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType,PredefinedType){var _this632;_classCallCheck(this,IfcJunctionBoxType);_this632=_super629.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType);_this632.GlobalId=GlobalId;_this632.OwnerHistory=OwnerHistory;_this632.Name=Name;_this632.Description=Description;_this632.ApplicableOccurrence=ApplicableOccurrence;_this632.HasPropertySets=HasPropertySets;_this632.RepresentationMaps=RepresentationMaps;_this632.Tag=Tag;_this632.ElementType=ElementType;_this632.PredefinedType=PredefinedType;_this632.type=4288270099;return _this632;}return _createClass(IfcJunctionBoxType);}(IfcFlowFittingType);IFC2X32.IfcJunctionBoxType=IfcJunctionBoxType;var IfcLaborResource=/*#__PURE__*/function(_IfcConstructionResou2){_inherits(IfcLaborResource,_IfcConstructionResou2);var _super630=_createSuper(IfcLaborResource);function IfcLaborResource(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ResourceIdentifier,ResourceGroup,ResourceConsumption,BaseQuantity,SkillSet){var _this633;_classCallCheck(this,IfcLaborResource);_this633=_super630.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ResourceIdentifier,ResourceGroup,ResourceConsumption,BaseQuantity);_this633.GlobalId=GlobalId;_this633.OwnerHistory=OwnerHistory;_this633.Name=Name;_this633.Description=Description;_this633.ObjectType=ObjectType;_this633.ResourceIdentifier=ResourceIdentifier;_this633.ResourceGroup=ResourceGroup;_this633.ResourceConsumption=ResourceConsumption;_this633.BaseQuantity=BaseQuantity;_this633.SkillSet=SkillSet;_this633.type=3827777499;return _this633;}return _createClass(IfcLaborResource);}(IfcConstructionResource);IFC2X32.IfcLaborResource=IfcLaborResource;var IfcLampType=/*#__PURE__*/function(_IfcFlowTerminalType2){_inherits(IfcLampType,_IfcFlowTerminalType2);var _super631=_createSuper(IfcLampType);function IfcLampType(expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType,PredefinedType){var _this634;_classCallCheck(this,IfcLampType);_this634=_super631.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType);_this634.GlobalId=GlobalId;_this634.OwnerHistory=OwnerHistory;_this634.Name=Name;_this634.Description=Description;_this634.ApplicableOccurrence=ApplicableOccurrence;_this634.HasPropertySets=HasPropertySets;_this634.RepresentationMaps=RepresentationMaps;_this634.Tag=Tag;_this634.ElementType=ElementType;_this634.PredefinedType=PredefinedType;_this634.type=1051575348;return _this634;}return _createClass(IfcLampType);}(IfcFlowTerminalType);IFC2X32.IfcLampType=IfcLampType;var IfcLightFixtureType=/*#__PURE__*/function(_IfcFlowTerminalType3){_inherits(IfcLightFixtureType,_IfcFlowTerminalType3);var _super632=_createSuper(IfcLightFixtureType);function IfcLightFixtureType(expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType,PredefinedType){var _this635;_classCallCheck(this,IfcLightFixtureType);_this635=_super632.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType);_this635.GlobalId=GlobalId;_this635.OwnerHistory=OwnerHistory;_this635.Name=Name;_this635.Description=Description;_this635.ApplicableOccurrence=ApplicableOccurrence;_this635.HasPropertySets=HasPropertySets;_this635.RepresentationMaps=RepresentationMaps;_this635.Tag=Tag;_this635.ElementType=ElementType;_this635.PredefinedType=PredefinedType;_this635.type=1161773419;return _this635;}return _createClass(IfcLightFixtureType);}(IfcFlowTerminalType);IFC2X32.IfcLightFixtureType=IfcLightFixtureType;var IfcLinearDimension=/*#__PURE__*/function(_IfcDimensionCurveDir){_inherits(IfcLinearDimension,_IfcDimensionCurveDir);var _super633=_createSuper(IfcLinearDimension);function IfcLinearDimension(expressID,Contents){var _this636;_classCallCheck(this,IfcLinearDimension);_this636=_super633.call(this,expressID,Contents);_this636.Contents=Contents;_this636.type=2506943328;return _this636;}return _createClass(IfcLinearDimension);}(IfcDimensionCurveDirectedCallout);IFC2X32.IfcLinearDimension=IfcLinearDimension;var IfcMechanicalFastener=/*#__PURE__*/function(_IfcFastener){_inherits(IfcMechanicalFastener,_IfcFastener);var _super634=_createSuper(IfcMechanicalFastener);function IfcMechanicalFastener(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag,NominalDiameter,NominalLength){var _this637;_classCallCheck(this,IfcMechanicalFastener);_this637=_super634.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag);_this637.GlobalId=GlobalId;_this637.OwnerHistory=OwnerHistory;_this637.Name=Name;_this637.Description=Description;_this637.ObjectType=ObjectType;_this637.ObjectPlacement=ObjectPlacement;_this637.Representation=Representation;_this637.Tag=Tag;_this637.NominalDiameter=NominalDiameter;_this637.NominalLength=NominalLength;_this637.type=377706215;return _this637;}return _createClass(IfcMechanicalFastener);}(IfcFastener);IFC2X32.IfcMechanicalFastener=IfcMechanicalFastener;var IfcMechanicalFastenerType=/*#__PURE__*/function(_IfcFastenerType){_inherits(IfcMechanicalFastenerType,_IfcFastenerType);var _super635=_createSuper(IfcMechanicalFastenerType);function IfcMechanicalFastenerType(expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType){var _this638;_classCallCheck(this,IfcMechanicalFastenerType);_this638=_super635.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType);_this638.GlobalId=GlobalId;_this638.OwnerHistory=OwnerHistory;_this638.Name=Name;_this638.Description=Description;_this638.ApplicableOccurrence=ApplicableOccurrence;_this638.HasPropertySets=HasPropertySets;_this638.RepresentationMaps=RepresentationMaps;_this638.Tag=Tag;_this638.ElementType=ElementType;_this638.type=2108223431;return _this638;}return _createClass(IfcMechanicalFastenerType);}(IfcFastenerType);IFC2X32.IfcMechanicalFastenerType=IfcMechanicalFastenerType;var IfcMemberType=/*#__PURE__*/function(_IfcBuildingElementTy4){_inherits(IfcMemberType,_IfcBuildingElementTy4);var _super636=_createSuper(IfcMemberType);function IfcMemberType(expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType,PredefinedType){var _this639;_classCallCheck(this,IfcMemberType);_this639=_super636.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType);_this639.GlobalId=GlobalId;_this639.OwnerHistory=OwnerHistory;_this639.Name=Name;_this639.Description=Description;_this639.ApplicableOccurrence=ApplicableOccurrence;_this639.HasPropertySets=HasPropertySets;_this639.RepresentationMaps=RepresentationMaps;_this639.Tag=Tag;_this639.ElementType=ElementType;_this639.PredefinedType=PredefinedType;_this639.type=3181161470;return _this639;}return _createClass(IfcMemberType);}(IfcBuildingElementType);IFC2X32.IfcMemberType=IfcMemberType;var IfcMotorConnectionType=/*#__PURE__*/function(_IfcEnergyConversionD5){_inherits(IfcMotorConnectionType,_IfcEnergyConversionD5);var _super637=_createSuper(IfcMotorConnectionType);function IfcMotorConnectionType(expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType,PredefinedType){var _this640;_classCallCheck(this,IfcMotorConnectionType);_this640=_super637.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType);_this640.GlobalId=GlobalId;_this640.OwnerHistory=OwnerHistory;_this640.Name=Name;_this640.Description=Description;_this640.ApplicableOccurrence=ApplicableOccurrence;_this640.HasPropertySets=HasPropertySets;_this640.RepresentationMaps=RepresentationMaps;_this640.Tag=Tag;_this640.ElementType=ElementType;_this640.PredefinedType=PredefinedType;_this640.type=977012517;return _this640;}return _createClass(IfcMotorConnectionType);}(IfcEnergyConversionDeviceType);IFC2X32.IfcMotorConnectionType=IfcMotorConnectionType;var IfcMove=/*#__PURE__*/function(_IfcTask){_inherits(IfcMove,_IfcTask);var _super638=_createSuper(IfcMove);function IfcMove(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,TaskId,Status,WorkMethod,IsMilestone,Priority,MoveFrom,MoveTo,PunchList){var _this641;_classCallCheck(this,IfcMove);_this641=_super638.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,TaskId,Status,WorkMethod,IsMilestone,Priority);_this641.GlobalId=GlobalId;_this641.OwnerHistory=OwnerHistory;_this641.Name=Name;_this641.Description=Description;_this641.ObjectType=ObjectType;_this641.TaskId=TaskId;_this641.Status=Status;_this641.WorkMethod=WorkMethod;_this641.IsMilestone=IsMilestone;_this641.Priority=Priority;_this641.MoveFrom=MoveFrom;_this641.MoveTo=MoveTo;_this641.PunchList=PunchList;_this641.type=1916936684;return _this641;}return _createClass(IfcMove);}(IfcTask);IFC2X32.IfcMove=IfcMove;var IfcOccupant=/*#__PURE__*/function(_IfcActor){_inherits(IfcOccupant,_IfcActor);var _super639=_createSuper(IfcOccupant);function IfcOccupant(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,TheActor,PredefinedType){var _this642;_classCallCheck(this,IfcOccupant);_this642=_super639.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,TheActor);_this642.GlobalId=GlobalId;_this642.OwnerHistory=OwnerHistory;_this642.Name=Name;_this642.Description=Description;_this642.ObjectType=ObjectType;_this642.TheActor=TheActor;_this642.PredefinedType=PredefinedType;_this642.type=4143007308;return _this642;}return _createClass(IfcOccupant);}(IfcActor);IFC2X32.IfcOccupant=IfcOccupant;var IfcOpeningElement=/*#__PURE__*/function(_IfcFeatureElementSub){_inherits(IfcOpeningElement,_IfcFeatureElementSub);var _super640=_createSuper(IfcOpeningElement);function IfcOpeningElement(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag){var _this643;_classCallCheck(this,IfcOpeningElement);_this643=_super640.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag);_this643.GlobalId=GlobalId;_this643.OwnerHistory=OwnerHistory;_this643.Name=Name;_this643.Description=Description;_this643.ObjectType=ObjectType;_this643.ObjectPlacement=ObjectPlacement;_this643.Representation=Representation;_this643.Tag=Tag;_this643.type=3588315303;return _this643;}return _createClass(IfcOpeningElement);}(IfcFeatureElementSubtraction);IFC2X32.IfcOpeningElement=IfcOpeningElement;var IfcOrderAction=/*#__PURE__*/function(_IfcTask2){_inherits(IfcOrderAction,_IfcTask2);var _super641=_createSuper(IfcOrderAction);function IfcOrderAction(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,TaskId,Status,WorkMethod,IsMilestone,Priority,ActionID){var _this644;_classCallCheck(this,IfcOrderAction);_this644=_super641.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,TaskId,Status,WorkMethod,IsMilestone,Priority);_this644.GlobalId=GlobalId;_this644.OwnerHistory=OwnerHistory;_this644.Name=Name;_this644.Description=Description;_this644.ObjectType=ObjectType;_this644.TaskId=TaskId;_this644.Status=Status;_this644.WorkMethod=WorkMethod;_this644.IsMilestone=IsMilestone;_this644.Priority=Priority;_this644.ActionID=ActionID;_this644.type=3425660407;return _this644;}return _createClass(IfcOrderAction);}(IfcTask);IFC2X32.IfcOrderAction=IfcOrderAction;var IfcOutletType=/*#__PURE__*/function(_IfcFlowTerminalType4){_inherits(IfcOutletType,_IfcFlowTerminalType4);var _super642=_createSuper(IfcOutletType);function IfcOutletType(expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType,PredefinedType){var _this645;_classCallCheck(this,IfcOutletType);_this645=_super642.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType);_this645.GlobalId=GlobalId;_this645.OwnerHistory=OwnerHistory;_this645.Name=Name;_this645.Description=Description;_this645.ApplicableOccurrence=ApplicableOccurrence;_this645.HasPropertySets=HasPropertySets;_this645.RepresentationMaps=RepresentationMaps;_this645.Tag=Tag;_this645.ElementType=ElementType;_this645.PredefinedType=PredefinedType;_this645.type=2837617999;return _this645;}return _createClass(IfcOutletType);}(IfcFlowTerminalType);IFC2X32.IfcOutletType=IfcOutletType;var IfcPerformanceHistory=/*#__PURE__*/function(_IfcControl5){_inherits(IfcPerformanceHistory,_IfcControl5);var _super643=_createSuper(IfcPerformanceHistory);function IfcPerformanceHistory(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,LifeCyclePhase){var _this646;_classCallCheck(this,IfcPerformanceHistory);_this646=_super643.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType);_this646.GlobalId=GlobalId;_this646.OwnerHistory=OwnerHistory;_this646.Name=Name;_this646.Description=Description;_this646.ObjectType=ObjectType;_this646.LifeCyclePhase=LifeCyclePhase;_this646.type=2382730787;return _this646;}return _createClass(IfcPerformanceHistory);}(IfcControl);IFC2X32.IfcPerformanceHistory=IfcPerformanceHistory;var IfcPermit=/*#__PURE__*/function(_IfcControl6){_inherits(IfcPermit,_IfcControl6);var _super644=_createSuper(IfcPermit);function IfcPermit(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,PermitID){var _this647;_classCallCheck(this,IfcPermit);_this647=_super644.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType);_this647.GlobalId=GlobalId;_this647.OwnerHistory=OwnerHistory;_this647.Name=Name;_this647.Description=Description;_this647.ObjectType=ObjectType;_this647.PermitID=PermitID;_this647.type=3327091369;return _this647;}return _createClass(IfcPermit);}(IfcControl);IFC2X32.IfcPermit=IfcPermit;var IfcPipeFittingType=/*#__PURE__*/function(_IfcFlowFittingType2){_inherits(IfcPipeFittingType,_IfcFlowFittingType2);var _super645=_createSuper(IfcPipeFittingType);function IfcPipeFittingType(expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType,PredefinedType){var _this648;_classCallCheck(this,IfcPipeFittingType);_this648=_super645.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType);_this648.GlobalId=GlobalId;_this648.OwnerHistory=OwnerHistory;_this648.Name=Name;_this648.Description=Description;_this648.ApplicableOccurrence=ApplicableOccurrence;_this648.HasPropertySets=HasPropertySets;_this648.RepresentationMaps=RepresentationMaps;_this648.Tag=Tag;_this648.ElementType=ElementType;_this648.PredefinedType=PredefinedType;_this648.type=804291784;return _this648;}return _createClass(IfcPipeFittingType);}(IfcFlowFittingType);IFC2X32.IfcPipeFittingType=IfcPipeFittingType;var IfcPipeSegmentType=/*#__PURE__*/function(_IfcFlowSegmentType){_inherits(IfcPipeSegmentType,_IfcFlowSegmentType);var _super646=_createSuper(IfcPipeSegmentType);function IfcPipeSegmentType(expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType,PredefinedType){var _this649;_classCallCheck(this,IfcPipeSegmentType);_this649=_super646.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType);_this649.GlobalId=GlobalId;_this649.OwnerHistory=OwnerHistory;_this649.Name=Name;_this649.Description=Description;_this649.ApplicableOccurrence=ApplicableOccurrence;_this649.HasPropertySets=HasPropertySets;_this649.RepresentationMaps=RepresentationMaps;_this649.Tag=Tag;_this649.ElementType=ElementType;_this649.PredefinedType=PredefinedType;_this649.type=4231323485;return _this649;}return _createClass(IfcPipeSegmentType);}(IfcFlowSegmentType);IFC2X32.IfcPipeSegmentType=IfcPipeSegmentType;var IfcPlateType=/*#__PURE__*/function(_IfcBuildingElementTy5){_inherits(IfcPlateType,_IfcBuildingElementTy5);var _super647=_createSuper(IfcPlateType);function IfcPlateType(expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType,PredefinedType){var _this650;_classCallCheck(this,IfcPlateType);_this650=_super647.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType);_this650.GlobalId=GlobalId;_this650.OwnerHistory=OwnerHistory;_this650.Name=Name;_this650.Description=Description;_this650.ApplicableOccurrence=ApplicableOccurrence;_this650.HasPropertySets=HasPropertySets;_this650.RepresentationMaps=RepresentationMaps;_this650.Tag=Tag;_this650.ElementType=ElementType;_this650.PredefinedType=PredefinedType;_this650.type=4017108033;return _this650;}return _createClass(IfcPlateType);}(IfcBuildingElementType);IFC2X32.IfcPlateType=IfcPlateType;var IfcPolyline=/*#__PURE__*/function(_IfcBoundedCurve2){_inherits(IfcPolyline,_IfcBoundedCurve2);var _super648=_createSuper(IfcPolyline);function IfcPolyline(expressID,Points){var _this651;_classCallCheck(this,IfcPolyline);_this651=_super648.call(this,expressID);_this651.Points=Points;_this651.type=3724593414;return _this651;}return _createClass(IfcPolyline);}(IfcBoundedCurve);IFC2X32.IfcPolyline=IfcPolyline;var IfcPort=/*#__PURE__*/function(_IfcProduct8){_inherits(IfcPort,_IfcProduct8);var _super649=_createSuper(IfcPort);function IfcPort(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation){var _this652;_classCallCheck(this,IfcPort);_this652=_super649.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation);_this652.GlobalId=GlobalId;_this652.OwnerHistory=OwnerHistory;_this652.Name=Name;_this652.Description=Description;_this652.ObjectType=ObjectType;_this652.ObjectPlacement=ObjectPlacement;_this652.Representation=Representation;_this652.type=3740093272;return _this652;}return _createClass(IfcPort);}(IfcProduct);IFC2X32.IfcPort=IfcPort;var IfcProcedure=/*#__PURE__*/function(_IfcProcess2){_inherits(IfcProcedure,_IfcProcess2);var _super650=_createSuper(IfcProcedure);function IfcProcedure(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ProcedureID,ProcedureType,UserDefinedProcedureType){var _this653;_classCallCheck(this,IfcProcedure);_this653=_super650.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType);_this653.GlobalId=GlobalId;_this653.OwnerHistory=OwnerHistory;_this653.Name=Name;_this653.Description=Description;_this653.ObjectType=ObjectType;_this653.ProcedureID=ProcedureID;_this653.ProcedureType=ProcedureType;_this653.UserDefinedProcedureType=UserDefinedProcedureType;_this653.type=2744685151;return _this653;}return _createClass(IfcProcedure);}(IfcProcess);IFC2X32.IfcProcedure=IfcProcedure;var IfcProjectOrder=/*#__PURE__*/function(_IfcControl7){_inherits(IfcProjectOrder,_IfcControl7);var _super651=_createSuper(IfcProjectOrder);function IfcProjectOrder(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ID,PredefinedType,Status){var _this654;_classCallCheck(this,IfcProjectOrder);_this654=_super651.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType);_this654.GlobalId=GlobalId;_this654.OwnerHistory=OwnerHistory;_this654.Name=Name;_this654.Description=Description;_this654.ObjectType=ObjectType;_this654.ID=ID;_this654.PredefinedType=PredefinedType;_this654.Status=Status;_this654.type=2904328755;return _this654;}return _createClass(IfcProjectOrder);}(IfcControl);IFC2X32.IfcProjectOrder=IfcProjectOrder;var IfcProjectOrderRecord=/*#__PURE__*/function(_IfcControl8){_inherits(IfcProjectOrderRecord,_IfcControl8);var _super652=_createSuper(IfcProjectOrderRecord);function IfcProjectOrderRecord(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,Records,PredefinedType){var _this655;_classCallCheck(this,IfcProjectOrderRecord);_this655=_super652.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType);_this655.GlobalId=GlobalId;_this655.OwnerHistory=OwnerHistory;_this655.Name=Name;_this655.Description=Description;_this655.ObjectType=ObjectType;_this655.Records=Records;_this655.PredefinedType=PredefinedType;_this655.type=3642467123;return _this655;}return _createClass(IfcProjectOrderRecord);}(IfcControl);IFC2X32.IfcProjectOrderRecord=IfcProjectOrderRecord;var IfcProjectionElement=/*#__PURE__*/function(_IfcFeatureElementAdd){_inherits(IfcProjectionElement,_IfcFeatureElementAdd);var _super653=_createSuper(IfcProjectionElement);function IfcProjectionElement(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag){var _this656;_classCallCheck(this,IfcProjectionElement);_this656=_super653.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag);_this656.GlobalId=GlobalId;_this656.OwnerHistory=OwnerHistory;_this656.Name=Name;_this656.Description=Description;_this656.ObjectType=ObjectType;_this656.ObjectPlacement=ObjectPlacement;_this656.Representation=Representation;_this656.Tag=Tag;_this656.type=3651124850;return _this656;}return _createClass(IfcProjectionElement);}(IfcFeatureElementAddition);IFC2X32.IfcProjectionElement=IfcProjectionElement;var IfcProtectiveDeviceType=/*#__PURE__*/function(_IfcFlowControllerTyp2){_inherits(IfcProtectiveDeviceType,_IfcFlowControllerTyp2);var _super654=_createSuper(IfcProtectiveDeviceType);function IfcProtectiveDeviceType(expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType,PredefinedType){var _this657;_classCallCheck(this,IfcProtectiveDeviceType);_this657=_super654.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType);_this657.GlobalId=GlobalId;_this657.OwnerHistory=OwnerHistory;_this657.Name=Name;_this657.Description=Description;_this657.ApplicableOccurrence=ApplicableOccurrence;_this657.HasPropertySets=HasPropertySets;_this657.RepresentationMaps=RepresentationMaps;_this657.Tag=Tag;_this657.ElementType=ElementType;_this657.PredefinedType=PredefinedType;_this657.type=1842657554;return _this657;}return _createClass(IfcProtectiveDeviceType);}(IfcFlowControllerType);IFC2X32.IfcProtectiveDeviceType=IfcProtectiveDeviceType;var IfcPumpType=/*#__PURE__*/function(_IfcFlowMovingDeviceT){_inherits(IfcPumpType,_IfcFlowMovingDeviceT);var _super655=_createSuper(IfcPumpType);function IfcPumpType(expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType,PredefinedType){var _this658;_classCallCheck(this,IfcPumpType);_this658=_super655.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType);_this658.GlobalId=GlobalId;_this658.OwnerHistory=OwnerHistory;_this658.Name=Name;_this658.Description=Description;_this658.ApplicableOccurrence=ApplicableOccurrence;_this658.HasPropertySets=HasPropertySets;_this658.RepresentationMaps=RepresentationMaps;_this658.Tag=Tag;_this658.ElementType=ElementType;_this658.PredefinedType=PredefinedType;_this658.type=2250791053;return _this658;}return _createClass(IfcPumpType);}(IfcFlowMovingDeviceType);IFC2X32.IfcPumpType=IfcPumpType;var IfcRadiusDimension=/*#__PURE__*/function(_IfcDimensionCurveDir2){_inherits(IfcRadiusDimension,_IfcDimensionCurveDir2);var _super656=_createSuper(IfcRadiusDimension);function IfcRadiusDimension(expressID,Contents){var _this659;_classCallCheck(this,IfcRadiusDimension);_this659=_super656.call(this,expressID,Contents);_this659.Contents=Contents;_this659.type=3248260540;return _this659;}return _createClass(IfcRadiusDimension);}(IfcDimensionCurveDirectedCallout);IFC2X32.IfcRadiusDimension=IfcRadiusDimension;var IfcRailingType=/*#__PURE__*/function(_IfcBuildingElementTy6){_inherits(IfcRailingType,_IfcBuildingElementTy6);var _super657=_createSuper(IfcRailingType);function IfcRailingType(expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType,PredefinedType){var _this660;_classCallCheck(this,IfcRailingType);_this660=_super657.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType);_this660.GlobalId=GlobalId;_this660.OwnerHistory=OwnerHistory;_this660.Name=Name;_this660.Description=Description;_this660.ApplicableOccurrence=ApplicableOccurrence;_this660.HasPropertySets=HasPropertySets;_this660.RepresentationMaps=RepresentationMaps;_this660.Tag=Tag;_this660.ElementType=ElementType;_this660.PredefinedType=PredefinedType;_this660.type=2893384427;return _this660;}return _createClass(IfcRailingType);}(IfcBuildingElementType);IFC2X32.IfcRailingType=IfcRailingType;var IfcRampFlightType=/*#__PURE__*/function(_IfcBuildingElementTy7){_inherits(IfcRampFlightType,_IfcBuildingElementTy7);var _super658=_createSuper(IfcRampFlightType);function IfcRampFlightType(expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType,PredefinedType){var _this661;_classCallCheck(this,IfcRampFlightType);_this661=_super658.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType);_this661.GlobalId=GlobalId;_this661.OwnerHistory=OwnerHistory;_this661.Name=Name;_this661.Description=Description;_this661.ApplicableOccurrence=ApplicableOccurrence;_this661.HasPropertySets=HasPropertySets;_this661.RepresentationMaps=RepresentationMaps;_this661.Tag=Tag;_this661.ElementType=ElementType;_this661.PredefinedType=PredefinedType;_this661.type=2324767716;return _this661;}return _createClass(IfcRampFlightType);}(IfcBuildingElementType);IFC2X32.IfcRampFlightType=IfcRampFlightType;var IfcRelAggregates=/*#__PURE__*/function(_IfcRelDecomposes2){_inherits(IfcRelAggregates,_IfcRelDecomposes2);var _super659=_createSuper(IfcRelAggregates);function IfcRelAggregates(expressID,GlobalId,OwnerHistory,Name,Description,RelatingObject,RelatedObjects){var _this662;_classCallCheck(this,IfcRelAggregates);_this662=_super659.call(this,expressID,GlobalId,OwnerHistory,Name,Description,RelatingObject,RelatedObjects);_this662.GlobalId=GlobalId;_this662.OwnerHistory=OwnerHistory;_this662.Name=Name;_this662.Description=Description;_this662.RelatingObject=RelatingObject;_this662.RelatedObjects=RelatedObjects;_this662.type=160246688;return _this662;}return _createClass(IfcRelAggregates);}(IfcRelDecomposes);IFC2X32.IfcRelAggregates=IfcRelAggregates;var IfcRelAssignsTasks=/*#__PURE__*/function(_IfcRelAssignsToContr3){_inherits(IfcRelAssignsTasks,_IfcRelAssignsToContr3);var _super660=_createSuper(IfcRelAssignsTasks);function IfcRelAssignsTasks(expressID,GlobalId,OwnerHistory,Name,Description,RelatedObjects,RelatedObjectsType,RelatingControl,TimeForTask){var _this663;_classCallCheck(this,IfcRelAssignsTasks);_this663=_super660.call(this,expressID,GlobalId,OwnerHistory,Name,Description,RelatedObjects,RelatedObjectsType,RelatingControl);_this663.GlobalId=GlobalId;_this663.OwnerHistory=OwnerHistory;_this663.Name=Name;_this663.Description=Description;_this663.RelatedObjects=RelatedObjects;_this663.RelatedObjectsType=RelatedObjectsType;_this663.RelatingControl=RelatingControl;_this663.TimeForTask=TimeForTask;_this663.type=2863920197;return _this663;}return _createClass(IfcRelAssignsTasks);}(IfcRelAssignsToControl);IFC2X32.IfcRelAssignsTasks=IfcRelAssignsTasks;var IfcSanitaryTerminalType=/*#__PURE__*/function(_IfcFlowTerminalType5){_inherits(IfcSanitaryTerminalType,_IfcFlowTerminalType5);var _super661=_createSuper(IfcSanitaryTerminalType);function IfcSanitaryTerminalType(expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType,PredefinedType){var _this664;_classCallCheck(this,IfcSanitaryTerminalType);_this664=_super661.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType);_this664.GlobalId=GlobalId;_this664.OwnerHistory=OwnerHistory;_this664.Name=Name;_this664.Description=Description;_this664.ApplicableOccurrence=ApplicableOccurrence;_this664.HasPropertySets=HasPropertySets;_this664.RepresentationMaps=RepresentationMaps;_this664.Tag=Tag;_this664.ElementType=ElementType;_this664.PredefinedType=PredefinedType;_this664.type=1768891740;return _this664;}return _createClass(IfcSanitaryTerminalType);}(IfcFlowTerminalType);IFC2X32.IfcSanitaryTerminalType=IfcSanitaryTerminalType;var IfcScheduleTimeControl=/*#__PURE__*/function(_IfcControl9){_inherits(IfcScheduleTimeControl,_IfcControl9);var _super662=_createSuper(IfcScheduleTimeControl);function IfcScheduleTimeControl(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ActualStart,EarlyStart,LateStart,ScheduleStart,ActualFinish,EarlyFinish,LateFinish,ScheduleFinish,ScheduleDuration,ActualDuration,RemainingTime,FreeFloat,TotalFloat,IsCritical,StatusTime,StartFloat,FinishFloat,Completion){var _this665;_classCallCheck(this,IfcScheduleTimeControl);_this665=_super662.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType);_this665.GlobalId=GlobalId;_this665.OwnerHistory=OwnerHistory;_this665.Name=Name;_this665.Description=Description;_this665.ObjectType=ObjectType;_this665.ActualStart=ActualStart;_this665.EarlyStart=EarlyStart;_this665.LateStart=LateStart;_this665.ScheduleStart=ScheduleStart;_this665.ActualFinish=ActualFinish;_this665.EarlyFinish=EarlyFinish;_this665.LateFinish=LateFinish;_this665.ScheduleFinish=ScheduleFinish;_this665.ScheduleDuration=ScheduleDuration;_this665.ActualDuration=ActualDuration;_this665.RemainingTime=RemainingTime;_this665.FreeFloat=FreeFloat;_this665.TotalFloat=TotalFloat;_this665.IsCritical=IsCritical;_this665.StatusTime=StatusTime;_this665.StartFloat=StartFloat;_this665.FinishFloat=FinishFloat;_this665.Completion=Completion;_this665.type=3517283431;return _this665;}return _createClass(IfcScheduleTimeControl);}(IfcControl);IFC2X32.IfcScheduleTimeControl=IfcScheduleTimeControl;var IfcServiceLife=/*#__PURE__*/function(_IfcControl10){_inherits(IfcServiceLife,_IfcControl10);var _super663=_createSuper(IfcServiceLife);function IfcServiceLife(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ServiceLifeType,ServiceLifeDuration){var _this666;_classCallCheck(this,IfcServiceLife);_this666=_super663.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType);_this666.GlobalId=GlobalId;_this666.OwnerHistory=OwnerHistory;_this666.Name=Name;_this666.Description=Description;_this666.ObjectType=ObjectType;_this666.ServiceLifeType=ServiceLifeType;_this666.ServiceLifeDuration=ServiceLifeDuration;_this666.type=4105383287;return _this666;}return _createClass(IfcServiceLife);}(IfcControl);IFC2X32.IfcServiceLife=IfcServiceLife;var IfcSite=/*#__PURE__*/function(_IfcSpatialStructureE3){_inherits(IfcSite,_IfcSpatialStructureE3);var _super664=_createSuper(IfcSite);function IfcSite(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,LongName,CompositionType,RefLatitude,RefLongitude,RefElevation,LandTitleNumber,SiteAddress){var _this667;_classCallCheck(this,IfcSite);_this667=_super664.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,LongName,CompositionType);_this667.GlobalId=GlobalId;_this667.OwnerHistory=OwnerHistory;_this667.Name=Name;_this667.Description=Description;_this667.ObjectType=ObjectType;_this667.ObjectPlacement=ObjectPlacement;_this667.Representation=Representation;_this667.LongName=LongName;_this667.CompositionType=CompositionType;_this667.RefLatitude=RefLatitude;_this667.RefLongitude=RefLongitude;_this667.RefElevation=RefElevation;_this667.LandTitleNumber=LandTitleNumber;_this667.SiteAddress=SiteAddress;_this667.type=4097777520;return _this667;}return _createClass(IfcSite);}(IfcSpatialStructureElement);IFC2X32.IfcSite=IfcSite;var IfcSlabType=/*#__PURE__*/function(_IfcBuildingElementTy8){_inherits(IfcSlabType,_IfcBuildingElementTy8);var _super665=_createSuper(IfcSlabType);function IfcSlabType(expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType,PredefinedType){var _this668;_classCallCheck(this,IfcSlabType);_this668=_super665.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType);_this668.GlobalId=GlobalId;_this668.OwnerHistory=OwnerHistory;_this668.Name=Name;_this668.Description=Description;_this668.ApplicableOccurrence=ApplicableOccurrence;_this668.HasPropertySets=HasPropertySets;_this668.RepresentationMaps=RepresentationMaps;_this668.Tag=Tag;_this668.ElementType=ElementType;_this668.PredefinedType=PredefinedType;_this668.type=2533589738;return _this668;}return _createClass(IfcSlabType);}(IfcBuildingElementType);IFC2X32.IfcSlabType=IfcSlabType;var IfcSpace=/*#__PURE__*/function(_IfcSpatialStructureE4){_inherits(IfcSpace,_IfcSpatialStructureE4);var _super666=_createSuper(IfcSpace);function IfcSpace(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,LongName,CompositionType,InteriorOrExteriorSpace,ElevationWithFlooring){var _this669;_classCallCheck(this,IfcSpace);_this669=_super666.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,LongName,CompositionType);_this669.GlobalId=GlobalId;_this669.OwnerHistory=OwnerHistory;_this669.Name=Name;_this669.Description=Description;_this669.ObjectType=ObjectType;_this669.ObjectPlacement=ObjectPlacement;_this669.Representation=Representation;_this669.LongName=LongName;_this669.CompositionType=CompositionType;_this669.InteriorOrExteriorSpace=InteriorOrExteriorSpace;_this669.ElevationWithFlooring=ElevationWithFlooring;_this669.type=3856911033;return _this669;}return _createClass(IfcSpace);}(IfcSpatialStructureElement);IFC2X32.IfcSpace=IfcSpace;var IfcSpaceHeaterType=/*#__PURE__*/function(_IfcEnergyConversionD6){_inherits(IfcSpaceHeaterType,_IfcEnergyConversionD6);var _super667=_createSuper(IfcSpaceHeaterType);function IfcSpaceHeaterType(expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType,PredefinedType){var _this670;_classCallCheck(this,IfcSpaceHeaterType);_this670=_super667.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType);_this670.GlobalId=GlobalId;_this670.OwnerHistory=OwnerHistory;_this670.Name=Name;_this670.Description=Description;_this670.ApplicableOccurrence=ApplicableOccurrence;_this670.HasPropertySets=HasPropertySets;_this670.RepresentationMaps=RepresentationMaps;_this670.Tag=Tag;_this670.ElementType=ElementType;_this670.PredefinedType=PredefinedType;_this670.type=1305183839;return _this670;}return _createClass(IfcSpaceHeaterType);}(IfcEnergyConversionDeviceType);IFC2X32.IfcSpaceHeaterType=IfcSpaceHeaterType;var IfcSpaceProgram=/*#__PURE__*/function(_IfcControl11){_inherits(IfcSpaceProgram,_IfcControl11);var _super668=_createSuper(IfcSpaceProgram);function IfcSpaceProgram(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,SpaceProgramIdentifier,MaxRequiredArea,MinRequiredArea,RequestedLocation,StandardRequiredArea){var _this671;_classCallCheck(this,IfcSpaceProgram);_this671=_super668.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType);_this671.GlobalId=GlobalId;_this671.OwnerHistory=OwnerHistory;_this671.Name=Name;_this671.Description=Description;_this671.ObjectType=ObjectType;_this671.SpaceProgramIdentifier=SpaceProgramIdentifier;_this671.MaxRequiredArea=MaxRequiredArea;_this671.MinRequiredArea=MinRequiredArea;_this671.RequestedLocation=RequestedLocation;_this671.StandardRequiredArea=StandardRequiredArea;_this671.type=652456506;return _this671;}return _createClass(IfcSpaceProgram);}(IfcControl);IFC2X32.IfcSpaceProgram=IfcSpaceProgram;var IfcSpaceType=/*#__PURE__*/function(_IfcSpatialStructureE5){_inherits(IfcSpaceType,_IfcSpatialStructureE5);var _super669=_createSuper(IfcSpaceType);function IfcSpaceType(expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType,PredefinedType){var _this672;_classCallCheck(this,IfcSpaceType);_this672=_super669.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType);_this672.GlobalId=GlobalId;_this672.OwnerHistory=OwnerHistory;_this672.Name=Name;_this672.Description=Description;_this672.ApplicableOccurrence=ApplicableOccurrence;_this672.HasPropertySets=HasPropertySets;_this672.RepresentationMaps=RepresentationMaps;_this672.Tag=Tag;_this672.ElementType=ElementType;_this672.PredefinedType=PredefinedType;_this672.type=3812236995;return _this672;}return _createClass(IfcSpaceType);}(IfcSpatialStructureElementType);IFC2X32.IfcSpaceType=IfcSpaceType;var IfcStackTerminalType=/*#__PURE__*/function(_IfcFlowTerminalType6){_inherits(IfcStackTerminalType,_IfcFlowTerminalType6);var _super670=_createSuper(IfcStackTerminalType);function IfcStackTerminalType(expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType,PredefinedType){var _this673;_classCallCheck(this,IfcStackTerminalType);_this673=_super670.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType);_this673.GlobalId=GlobalId;_this673.OwnerHistory=OwnerHistory;_this673.Name=Name;_this673.Description=Description;_this673.ApplicableOccurrence=ApplicableOccurrence;_this673.HasPropertySets=HasPropertySets;_this673.RepresentationMaps=RepresentationMaps;_this673.Tag=Tag;_this673.ElementType=ElementType;_this673.PredefinedType=PredefinedType;_this673.type=3112655638;return _this673;}return _createClass(IfcStackTerminalType);}(IfcFlowTerminalType);IFC2X32.IfcStackTerminalType=IfcStackTerminalType;var IfcStairFlightType=/*#__PURE__*/function(_IfcBuildingElementTy9){_inherits(IfcStairFlightType,_IfcBuildingElementTy9);var _super671=_createSuper(IfcStairFlightType);function IfcStairFlightType(expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType,PredefinedType){var _this674;_classCallCheck(this,IfcStairFlightType);_this674=_super671.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType);_this674.GlobalId=GlobalId;_this674.OwnerHistory=OwnerHistory;_this674.Name=Name;_this674.Description=Description;_this674.ApplicableOccurrence=ApplicableOccurrence;_this674.HasPropertySets=HasPropertySets;_this674.RepresentationMaps=RepresentationMaps;_this674.Tag=Tag;_this674.ElementType=ElementType;_this674.PredefinedType=PredefinedType;_this674.type=1039846685;return _this674;}return _createClass(IfcStairFlightType);}(IfcBuildingElementType);IFC2X32.IfcStairFlightType=IfcStairFlightType;var IfcStructuralAction=/*#__PURE__*/function(_IfcStructuralActivit2){_inherits(IfcStructuralAction,_IfcStructuralActivit2);var _super672=_createSuper(IfcStructuralAction);function IfcStructuralAction(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,AppliedLoad,GlobalOrLocal,DestabilizingLoad,CausedBy){var _this675;_classCallCheck(this,IfcStructuralAction);_this675=_super672.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,AppliedLoad,GlobalOrLocal);_this675.GlobalId=GlobalId;_this675.OwnerHistory=OwnerHistory;_this675.Name=Name;_this675.Description=Description;_this675.ObjectType=ObjectType;_this675.ObjectPlacement=ObjectPlacement;_this675.Representation=Representation;_this675.AppliedLoad=AppliedLoad;_this675.GlobalOrLocal=GlobalOrLocal;_this675.DestabilizingLoad=DestabilizingLoad;_this675.CausedBy=CausedBy;_this675.type=682877961;return _this675;}return _createClass(IfcStructuralAction);}(IfcStructuralActivity);IFC2X32.IfcStructuralAction=IfcStructuralAction;var IfcStructuralConnection=/*#__PURE__*/function(_IfcStructuralItem2){_inherits(IfcStructuralConnection,_IfcStructuralItem2);var _super673=_createSuper(IfcStructuralConnection);function IfcStructuralConnection(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,AppliedCondition){var _this676;_classCallCheck(this,IfcStructuralConnection);_this676=_super673.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation);_this676.GlobalId=GlobalId;_this676.OwnerHistory=OwnerHistory;_this676.Name=Name;_this676.Description=Description;_this676.ObjectType=ObjectType;_this676.ObjectPlacement=ObjectPlacement;_this676.Representation=Representation;_this676.AppliedCondition=AppliedCondition;_this676.type=1179482911;return _this676;}return _createClass(IfcStructuralConnection);}(IfcStructuralItem);IFC2X32.IfcStructuralConnection=IfcStructuralConnection;var IfcStructuralCurveConnection=/*#__PURE__*/function(_IfcStructuralConnect3){_inherits(IfcStructuralCurveConnection,_IfcStructuralConnect3);var _super674=_createSuper(IfcStructuralCurveConnection);function IfcStructuralCurveConnection(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,AppliedCondition){var _this677;_classCallCheck(this,IfcStructuralCurveConnection);_this677=_super674.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,AppliedCondition);_this677.GlobalId=GlobalId;_this677.OwnerHistory=OwnerHistory;_this677.Name=Name;_this677.Description=Description;_this677.ObjectType=ObjectType;_this677.ObjectPlacement=ObjectPlacement;_this677.Representation=Representation;_this677.AppliedCondition=AppliedCondition;_this677.type=4243806635;return _this677;}return _createClass(IfcStructuralCurveConnection);}(IfcStructuralConnection);IFC2X32.IfcStructuralCurveConnection=IfcStructuralCurveConnection;var IfcStructuralCurveMember=/*#__PURE__*/function(_IfcStructuralMember2){_inherits(IfcStructuralCurveMember,_IfcStructuralMember2);var _super675=_createSuper(IfcStructuralCurveMember);function IfcStructuralCurveMember(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,PredefinedType){var _this678;_classCallCheck(this,IfcStructuralCurveMember);_this678=_super675.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation);_this678.GlobalId=GlobalId;_this678.OwnerHistory=OwnerHistory;_this678.Name=Name;_this678.Description=Description;_this678.ObjectType=ObjectType;_this678.ObjectPlacement=ObjectPlacement;_this678.Representation=Representation;_this678.PredefinedType=PredefinedType;_this678.type=214636428;return _this678;}return _createClass(IfcStructuralCurveMember);}(IfcStructuralMember);IFC2X32.IfcStructuralCurveMember=IfcStructuralCurveMember;var IfcStructuralCurveMemberVarying=/*#__PURE__*/function(_IfcStructuralCurveMe){_inherits(IfcStructuralCurveMemberVarying,_IfcStructuralCurveMe);var _super676=_createSuper(IfcStructuralCurveMemberVarying);function IfcStructuralCurveMemberVarying(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,PredefinedType){var _this679;_classCallCheck(this,IfcStructuralCurveMemberVarying);_this679=_super676.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,PredefinedType);_this679.GlobalId=GlobalId;_this679.OwnerHistory=OwnerHistory;_this679.Name=Name;_this679.Description=Description;_this679.ObjectType=ObjectType;_this679.ObjectPlacement=ObjectPlacement;_this679.Representation=Representation;_this679.PredefinedType=PredefinedType;_this679.type=2445595289;return _this679;}return _createClass(IfcStructuralCurveMemberVarying);}(IfcStructuralCurveMember);IFC2X32.IfcStructuralCurveMemberVarying=IfcStructuralCurveMemberVarying;var IfcStructuralLinearAction=/*#__PURE__*/function(_IfcStructuralAction){_inherits(IfcStructuralLinearAction,_IfcStructuralAction);var _super677=_createSuper(IfcStructuralLinearAction);function IfcStructuralLinearAction(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,AppliedLoad,GlobalOrLocal,DestabilizingLoad,CausedBy,ProjectedOrTrue){var _this680;_classCallCheck(this,IfcStructuralLinearAction);_this680=_super677.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,AppliedLoad,GlobalOrLocal,DestabilizingLoad,CausedBy);_this680.GlobalId=GlobalId;_this680.OwnerHistory=OwnerHistory;_this680.Name=Name;_this680.Description=Description;_this680.ObjectType=ObjectType;_this680.ObjectPlacement=ObjectPlacement;_this680.Representation=Representation;_this680.AppliedLoad=AppliedLoad;_this680.GlobalOrLocal=GlobalOrLocal;_this680.DestabilizingLoad=DestabilizingLoad;_this680.CausedBy=CausedBy;_this680.ProjectedOrTrue=ProjectedOrTrue;_this680.type=1807405624;return _this680;}return _createClass(IfcStructuralLinearAction);}(IfcStructuralAction);IFC2X32.IfcStructuralLinearAction=IfcStructuralLinearAction;var IfcStructuralLinearActionVarying=/*#__PURE__*/function(_IfcStructuralLinearA){_inherits(IfcStructuralLinearActionVarying,_IfcStructuralLinearA);var _super678=_createSuper(IfcStructuralLinearActionVarying);function IfcStructuralLinearActionVarying(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,AppliedLoad,GlobalOrLocal,DestabilizingLoad,CausedBy,ProjectedOrTrue,VaryingAppliedLoadLocation,SubsequentAppliedLoads){var _this681;_classCallCheck(this,IfcStructuralLinearActionVarying);_this681=_super678.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,AppliedLoad,GlobalOrLocal,DestabilizingLoad,CausedBy,ProjectedOrTrue);_this681.GlobalId=GlobalId;_this681.OwnerHistory=OwnerHistory;_this681.Name=Name;_this681.Description=Description;_this681.ObjectType=ObjectType;_this681.ObjectPlacement=ObjectPlacement;_this681.Representation=Representation;_this681.AppliedLoad=AppliedLoad;_this681.GlobalOrLocal=GlobalOrLocal;_this681.DestabilizingLoad=DestabilizingLoad;_this681.CausedBy=CausedBy;_this681.ProjectedOrTrue=ProjectedOrTrue;_this681.VaryingAppliedLoadLocation=VaryingAppliedLoadLocation;_this681.SubsequentAppliedLoads=SubsequentAppliedLoads;_this681.type=1721250024;return _this681;}return _createClass(IfcStructuralLinearActionVarying);}(IfcStructuralLinearAction);IFC2X32.IfcStructuralLinearActionVarying=IfcStructuralLinearActionVarying;var IfcStructuralLoadGroup=/*#__PURE__*/function(_IfcGroup2){_inherits(IfcStructuralLoadGroup,_IfcGroup2);var _super679=_createSuper(IfcStructuralLoadGroup);function IfcStructuralLoadGroup(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,PredefinedType,ActionType,ActionSource,Coefficient,Purpose){var _this682;_classCallCheck(this,IfcStructuralLoadGroup);_this682=_super679.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType);_this682.GlobalId=GlobalId;_this682.OwnerHistory=OwnerHistory;_this682.Name=Name;_this682.Description=Description;_this682.ObjectType=ObjectType;_this682.PredefinedType=PredefinedType;_this682.ActionType=ActionType;_this682.ActionSource=ActionSource;_this682.Coefficient=Coefficient;_this682.Purpose=Purpose;_this682.type=1252848954;return _this682;}return _createClass(IfcStructuralLoadGroup);}(IfcGroup);IFC2X32.IfcStructuralLoadGroup=IfcStructuralLoadGroup;var IfcStructuralPlanarAction=/*#__PURE__*/function(_IfcStructuralAction2){_inherits(IfcStructuralPlanarAction,_IfcStructuralAction2);var _super680=_createSuper(IfcStructuralPlanarAction);function IfcStructuralPlanarAction(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,AppliedLoad,GlobalOrLocal,DestabilizingLoad,CausedBy,ProjectedOrTrue){var _this683;_classCallCheck(this,IfcStructuralPlanarAction);_this683=_super680.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,AppliedLoad,GlobalOrLocal,DestabilizingLoad,CausedBy);_this683.GlobalId=GlobalId;_this683.OwnerHistory=OwnerHistory;_this683.Name=Name;_this683.Description=Description;_this683.ObjectType=ObjectType;_this683.ObjectPlacement=ObjectPlacement;_this683.Representation=Representation;_this683.AppliedLoad=AppliedLoad;_this683.GlobalOrLocal=GlobalOrLocal;_this683.DestabilizingLoad=DestabilizingLoad;_this683.CausedBy=CausedBy;_this683.ProjectedOrTrue=ProjectedOrTrue;_this683.type=1621171031;return _this683;}return _createClass(IfcStructuralPlanarAction);}(IfcStructuralAction);IFC2X32.IfcStructuralPlanarAction=IfcStructuralPlanarAction;var IfcStructuralPlanarActionVarying=/*#__PURE__*/function(_IfcStructuralPlanarA){_inherits(IfcStructuralPlanarActionVarying,_IfcStructuralPlanarA);var _super681=_createSuper(IfcStructuralPlanarActionVarying);function IfcStructuralPlanarActionVarying(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,AppliedLoad,GlobalOrLocal,DestabilizingLoad,CausedBy,ProjectedOrTrue,VaryingAppliedLoadLocation,SubsequentAppliedLoads){var _this684;_classCallCheck(this,IfcStructuralPlanarActionVarying);_this684=_super681.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,AppliedLoad,GlobalOrLocal,DestabilizingLoad,CausedBy,ProjectedOrTrue);_this684.GlobalId=GlobalId;_this684.OwnerHistory=OwnerHistory;_this684.Name=Name;_this684.Description=Description;_this684.ObjectType=ObjectType;_this684.ObjectPlacement=ObjectPlacement;_this684.Representation=Representation;_this684.AppliedLoad=AppliedLoad;_this684.GlobalOrLocal=GlobalOrLocal;_this684.DestabilizingLoad=DestabilizingLoad;_this684.CausedBy=CausedBy;_this684.ProjectedOrTrue=ProjectedOrTrue;_this684.VaryingAppliedLoadLocation=VaryingAppliedLoadLocation;_this684.SubsequentAppliedLoads=SubsequentAppliedLoads;_this684.type=3987759626;return _this684;}return _createClass(IfcStructuralPlanarActionVarying);}(IfcStructuralPlanarAction);IFC2X32.IfcStructuralPlanarActionVarying=IfcStructuralPlanarActionVarying;var IfcStructuralPointAction=/*#__PURE__*/function(_IfcStructuralAction3){_inherits(IfcStructuralPointAction,_IfcStructuralAction3);var _super682=_createSuper(IfcStructuralPointAction);function IfcStructuralPointAction(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,AppliedLoad,GlobalOrLocal,DestabilizingLoad,CausedBy){var _this685;_classCallCheck(this,IfcStructuralPointAction);_this685=_super682.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,AppliedLoad,GlobalOrLocal,DestabilizingLoad,CausedBy);_this685.GlobalId=GlobalId;_this685.OwnerHistory=OwnerHistory;_this685.Name=Name;_this685.Description=Description;_this685.ObjectType=ObjectType;_this685.ObjectPlacement=ObjectPlacement;_this685.Representation=Representation;_this685.AppliedLoad=AppliedLoad;_this685.GlobalOrLocal=GlobalOrLocal;_this685.DestabilizingLoad=DestabilizingLoad;_this685.CausedBy=CausedBy;_this685.type=2082059205;return _this685;}return _createClass(IfcStructuralPointAction);}(IfcStructuralAction);IFC2X32.IfcStructuralPointAction=IfcStructuralPointAction;var IfcStructuralPointConnection=/*#__PURE__*/function(_IfcStructuralConnect4){_inherits(IfcStructuralPointConnection,_IfcStructuralConnect4);var _super683=_createSuper(IfcStructuralPointConnection);function IfcStructuralPointConnection(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,AppliedCondition){var _this686;_classCallCheck(this,IfcStructuralPointConnection);_this686=_super683.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,AppliedCondition);_this686.GlobalId=GlobalId;_this686.OwnerHistory=OwnerHistory;_this686.Name=Name;_this686.Description=Description;_this686.ObjectType=ObjectType;_this686.ObjectPlacement=ObjectPlacement;_this686.Representation=Representation;_this686.AppliedCondition=AppliedCondition;_this686.type=734778138;return _this686;}return _createClass(IfcStructuralPointConnection);}(IfcStructuralConnection);IFC2X32.IfcStructuralPointConnection=IfcStructuralPointConnection;var IfcStructuralPointReaction=/*#__PURE__*/function(_IfcStructuralReactio){_inherits(IfcStructuralPointReaction,_IfcStructuralReactio);var _super684=_createSuper(IfcStructuralPointReaction);function IfcStructuralPointReaction(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,AppliedLoad,GlobalOrLocal){var _this687;_classCallCheck(this,IfcStructuralPointReaction);_this687=_super684.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,AppliedLoad,GlobalOrLocal);_this687.GlobalId=GlobalId;_this687.OwnerHistory=OwnerHistory;_this687.Name=Name;_this687.Description=Description;_this687.ObjectType=ObjectType;_this687.ObjectPlacement=ObjectPlacement;_this687.Representation=Representation;_this687.AppliedLoad=AppliedLoad;_this687.GlobalOrLocal=GlobalOrLocal;_this687.type=1235345126;return _this687;}return _createClass(IfcStructuralPointReaction);}(IfcStructuralReaction);IFC2X32.IfcStructuralPointReaction=IfcStructuralPointReaction;var IfcStructuralResultGroup=/*#__PURE__*/function(_IfcGroup3){_inherits(IfcStructuralResultGroup,_IfcGroup3);var _super685=_createSuper(IfcStructuralResultGroup);function IfcStructuralResultGroup(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,TheoryType,ResultForLoadGroup,IsLinear){var _this688;_classCallCheck(this,IfcStructuralResultGroup);_this688=_super685.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType);_this688.GlobalId=GlobalId;_this688.OwnerHistory=OwnerHistory;_this688.Name=Name;_this688.Description=Description;_this688.ObjectType=ObjectType;_this688.TheoryType=TheoryType;_this688.ResultForLoadGroup=ResultForLoadGroup;_this688.IsLinear=IsLinear;_this688.type=2986769608;return _this688;}return _createClass(IfcStructuralResultGroup);}(IfcGroup);IFC2X32.IfcStructuralResultGroup=IfcStructuralResultGroup;var IfcStructuralSurfaceConnection=/*#__PURE__*/function(_IfcStructuralConnect5){_inherits(IfcStructuralSurfaceConnection,_IfcStructuralConnect5);var _super686=_createSuper(IfcStructuralSurfaceConnection);function IfcStructuralSurfaceConnection(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,AppliedCondition){var _this689;_classCallCheck(this,IfcStructuralSurfaceConnection);_this689=_super686.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,AppliedCondition);_this689.GlobalId=GlobalId;_this689.OwnerHistory=OwnerHistory;_this689.Name=Name;_this689.Description=Description;_this689.ObjectType=ObjectType;_this689.ObjectPlacement=ObjectPlacement;_this689.Representation=Representation;_this689.AppliedCondition=AppliedCondition;_this689.type=1975003073;return _this689;}return _createClass(IfcStructuralSurfaceConnection);}(IfcStructuralConnection);IFC2X32.IfcStructuralSurfaceConnection=IfcStructuralSurfaceConnection;var IfcSubContractResource=/*#__PURE__*/function(_IfcConstructionResou3){_inherits(IfcSubContractResource,_IfcConstructionResou3);var _super687=_createSuper(IfcSubContractResource);function IfcSubContractResource(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ResourceIdentifier,ResourceGroup,ResourceConsumption,BaseQuantity,SubContractor,JobDescription){var _this690;_classCallCheck(this,IfcSubContractResource);_this690=_super687.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ResourceIdentifier,ResourceGroup,ResourceConsumption,BaseQuantity);_this690.GlobalId=GlobalId;_this690.OwnerHistory=OwnerHistory;_this690.Name=Name;_this690.Description=Description;_this690.ObjectType=ObjectType;_this690.ResourceIdentifier=ResourceIdentifier;_this690.ResourceGroup=ResourceGroup;_this690.ResourceConsumption=ResourceConsumption;_this690.BaseQuantity=BaseQuantity;_this690.SubContractor=SubContractor;_this690.JobDescription=JobDescription;_this690.type=148013059;return _this690;}return _createClass(IfcSubContractResource);}(IfcConstructionResource);IFC2X32.IfcSubContractResource=IfcSubContractResource;var IfcSwitchingDeviceType=/*#__PURE__*/function(_IfcFlowControllerTyp3){_inherits(IfcSwitchingDeviceType,_IfcFlowControllerTyp3);var _super688=_createSuper(IfcSwitchingDeviceType);function IfcSwitchingDeviceType(expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType,PredefinedType){var _this691;_classCallCheck(this,IfcSwitchingDeviceType);_this691=_super688.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType);_this691.GlobalId=GlobalId;_this691.OwnerHistory=OwnerHistory;_this691.Name=Name;_this691.Description=Description;_this691.ApplicableOccurrence=ApplicableOccurrence;_this691.HasPropertySets=HasPropertySets;_this691.RepresentationMaps=RepresentationMaps;_this691.Tag=Tag;_this691.ElementType=ElementType;_this691.PredefinedType=PredefinedType;_this691.type=2315554128;return _this691;}return _createClass(IfcSwitchingDeviceType);}(IfcFlowControllerType);IFC2X32.IfcSwitchingDeviceType=IfcSwitchingDeviceType;var IfcSystem=/*#__PURE__*/function(_IfcGroup4){_inherits(IfcSystem,_IfcGroup4);var _super689=_createSuper(IfcSystem);function IfcSystem(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType){var _this692;_classCallCheck(this,IfcSystem);_this692=_super689.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType);_this692.GlobalId=GlobalId;_this692.OwnerHistory=OwnerHistory;_this692.Name=Name;_this692.Description=Description;_this692.ObjectType=ObjectType;_this692.type=2254336722;return _this692;}return _createClass(IfcSystem);}(IfcGroup);IFC2X32.IfcSystem=IfcSystem;var IfcTankType=/*#__PURE__*/function(_IfcFlowStorageDevice){_inherits(IfcTankType,_IfcFlowStorageDevice);var _super690=_createSuper(IfcTankType);function IfcTankType(expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType,PredefinedType){var _this693;_classCallCheck(this,IfcTankType);_this693=_super690.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType);_this693.GlobalId=GlobalId;_this693.OwnerHistory=OwnerHistory;_this693.Name=Name;_this693.Description=Description;_this693.ApplicableOccurrence=ApplicableOccurrence;_this693.HasPropertySets=HasPropertySets;_this693.RepresentationMaps=RepresentationMaps;_this693.Tag=Tag;_this693.ElementType=ElementType;_this693.PredefinedType=PredefinedType;_this693.type=5716631;return _this693;}return _createClass(IfcTankType);}(IfcFlowStorageDeviceType);IFC2X32.IfcTankType=IfcTankType;var IfcTimeSeriesSchedule=/*#__PURE__*/function(_IfcControl12){_inherits(IfcTimeSeriesSchedule,_IfcControl12);var _super691=_createSuper(IfcTimeSeriesSchedule);function IfcTimeSeriesSchedule(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ApplicableDates,TimeSeriesScheduleType,TimeSeries){var _this694;_classCallCheck(this,IfcTimeSeriesSchedule);_this694=_super691.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType);_this694.GlobalId=GlobalId;_this694.OwnerHistory=OwnerHistory;_this694.Name=Name;_this694.Description=Description;_this694.ObjectType=ObjectType;_this694.ApplicableDates=ApplicableDates;_this694.TimeSeriesScheduleType=TimeSeriesScheduleType;_this694.TimeSeries=TimeSeries;_this694.type=1637806684;return _this694;}return _createClass(IfcTimeSeriesSchedule);}(IfcControl);IFC2X32.IfcTimeSeriesSchedule=IfcTimeSeriesSchedule;var IfcTransformerType=/*#__PURE__*/function(_IfcEnergyConversionD7){_inherits(IfcTransformerType,_IfcEnergyConversionD7);var _super692=_createSuper(IfcTransformerType);function IfcTransformerType(expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType,PredefinedType){var _this695;_classCallCheck(this,IfcTransformerType);_this695=_super692.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType);_this695.GlobalId=GlobalId;_this695.OwnerHistory=OwnerHistory;_this695.Name=Name;_this695.Description=Description;_this695.ApplicableOccurrence=ApplicableOccurrence;_this695.HasPropertySets=HasPropertySets;_this695.RepresentationMaps=RepresentationMaps;_this695.Tag=Tag;_this695.ElementType=ElementType;_this695.PredefinedType=PredefinedType;_this695.type=1692211062;return _this695;}return _createClass(IfcTransformerType);}(IfcEnergyConversionDeviceType);IFC2X32.IfcTransformerType=IfcTransformerType;var IfcTransportElement=/*#__PURE__*/function(_IfcElement6){_inherits(IfcTransportElement,_IfcElement6);var _super693=_createSuper(IfcTransportElement);function IfcTransportElement(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag,OperationType,CapacityByWeight,CapacityByNumber){var _this696;_classCallCheck(this,IfcTransportElement);_this696=_super693.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag);_this696.GlobalId=GlobalId;_this696.OwnerHistory=OwnerHistory;_this696.Name=Name;_this696.Description=Description;_this696.ObjectType=ObjectType;_this696.ObjectPlacement=ObjectPlacement;_this696.Representation=Representation;_this696.Tag=Tag;_this696.OperationType=OperationType;_this696.CapacityByWeight=CapacityByWeight;_this696.CapacityByNumber=CapacityByNumber;_this696.type=1620046519;return _this696;}return _createClass(IfcTransportElement);}(IfcElement);IFC2X32.IfcTransportElement=IfcTransportElement;var IfcTrimmedCurve=/*#__PURE__*/function(_IfcBoundedCurve3){_inherits(IfcTrimmedCurve,_IfcBoundedCurve3);var _super694=_createSuper(IfcTrimmedCurve);function IfcTrimmedCurve(expressID,BasisCurve,Trim1,Trim2,SenseAgreement,MasterRepresentation){var _this697;_classCallCheck(this,IfcTrimmedCurve);_this697=_super694.call(this,expressID);_this697.BasisCurve=BasisCurve;_this697.Trim1=Trim1;_this697.Trim2=Trim2;_this697.SenseAgreement=SenseAgreement;_this697.MasterRepresentation=MasterRepresentation;_this697.type=3593883385;return _this697;}return _createClass(IfcTrimmedCurve);}(IfcBoundedCurve);IFC2X32.IfcTrimmedCurve=IfcTrimmedCurve;var IfcTubeBundleType=/*#__PURE__*/function(_IfcEnergyConversionD8){_inherits(IfcTubeBundleType,_IfcEnergyConversionD8);var _super695=_createSuper(IfcTubeBundleType);function IfcTubeBundleType(expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType,PredefinedType){var _this698;_classCallCheck(this,IfcTubeBundleType);_this698=_super695.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType);_this698.GlobalId=GlobalId;_this698.OwnerHistory=OwnerHistory;_this698.Name=Name;_this698.Description=Description;_this698.ApplicableOccurrence=ApplicableOccurrence;_this698.HasPropertySets=HasPropertySets;_this698.RepresentationMaps=RepresentationMaps;_this698.Tag=Tag;_this698.ElementType=ElementType;_this698.PredefinedType=PredefinedType;_this698.type=1600972822;return _this698;}return _createClass(IfcTubeBundleType);}(IfcEnergyConversionDeviceType);IFC2X32.IfcTubeBundleType=IfcTubeBundleType;var IfcUnitaryEquipmentType=/*#__PURE__*/function(_IfcEnergyConversionD9){_inherits(IfcUnitaryEquipmentType,_IfcEnergyConversionD9);var _super696=_createSuper(IfcUnitaryEquipmentType);function IfcUnitaryEquipmentType(expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType,PredefinedType){var _this699;_classCallCheck(this,IfcUnitaryEquipmentType);_this699=_super696.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType);_this699.GlobalId=GlobalId;_this699.OwnerHistory=OwnerHistory;_this699.Name=Name;_this699.Description=Description;_this699.ApplicableOccurrence=ApplicableOccurrence;_this699.HasPropertySets=HasPropertySets;_this699.RepresentationMaps=RepresentationMaps;_this699.Tag=Tag;_this699.ElementType=ElementType;_this699.PredefinedType=PredefinedType;_this699.type=1911125066;return _this699;}return _createClass(IfcUnitaryEquipmentType);}(IfcEnergyConversionDeviceType);IFC2X32.IfcUnitaryEquipmentType=IfcUnitaryEquipmentType;var IfcValveType=/*#__PURE__*/function(_IfcFlowControllerTyp4){_inherits(IfcValveType,_IfcFlowControllerTyp4);var _super697=_createSuper(IfcValveType);function IfcValveType(expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType,PredefinedType){var _this700;_classCallCheck(this,IfcValveType);_this700=_super697.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType);_this700.GlobalId=GlobalId;_this700.OwnerHistory=OwnerHistory;_this700.Name=Name;_this700.Description=Description;_this700.ApplicableOccurrence=ApplicableOccurrence;_this700.HasPropertySets=HasPropertySets;_this700.RepresentationMaps=RepresentationMaps;_this700.Tag=Tag;_this700.ElementType=ElementType;_this700.PredefinedType=PredefinedType;_this700.type=728799441;return _this700;}return _createClass(IfcValveType);}(IfcFlowControllerType);IFC2X32.IfcValveType=IfcValveType;var IfcVirtualElement=/*#__PURE__*/function(_IfcElement7){_inherits(IfcVirtualElement,_IfcElement7);var _super698=_createSuper(IfcVirtualElement);function IfcVirtualElement(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag){var _this701;_classCallCheck(this,IfcVirtualElement);_this701=_super698.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag);_this701.GlobalId=GlobalId;_this701.OwnerHistory=OwnerHistory;_this701.Name=Name;_this701.Description=Description;_this701.ObjectType=ObjectType;_this701.ObjectPlacement=ObjectPlacement;_this701.Representation=Representation;_this701.Tag=Tag;_this701.type=2769231204;return _this701;}return _createClass(IfcVirtualElement);}(IfcElement);IFC2X32.IfcVirtualElement=IfcVirtualElement;var IfcWallType=/*#__PURE__*/function(_IfcBuildingElementTy10){_inherits(IfcWallType,_IfcBuildingElementTy10);var _super699=_createSuper(IfcWallType);function IfcWallType(expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType,PredefinedType){var _this702;_classCallCheck(this,IfcWallType);_this702=_super699.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType);_this702.GlobalId=GlobalId;_this702.OwnerHistory=OwnerHistory;_this702.Name=Name;_this702.Description=Description;_this702.ApplicableOccurrence=ApplicableOccurrence;_this702.HasPropertySets=HasPropertySets;_this702.RepresentationMaps=RepresentationMaps;_this702.Tag=Tag;_this702.ElementType=ElementType;_this702.PredefinedType=PredefinedType;_this702.type=1898987631;return _this702;}return _createClass(IfcWallType);}(IfcBuildingElementType);IFC2X32.IfcWallType=IfcWallType;var IfcWasteTerminalType=/*#__PURE__*/function(_IfcFlowTerminalType7){_inherits(IfcWasteTerminalType,_IfcFlowTerminalType7);var _super700=_createSuper(IfcWasteTerminalType);function IfcWasteTerminalType(expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType,PredefinedType){var _this703;_classCallCheck(this,IfcWasteTerminalType);_this703=_super700.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType);_this703.GlobalId=GlobalId;_this703.OwnerHistory=OwnerHistory;_this703.Name=Name;_this703.Description=Description;_this703.ApplicableOccurrence=ApplicableOccurrence;_this703.HasPropertySets=HasPropertySets;_this703.RepresentationMaps=RepresentationMaps;_this703.Tag=Tag;_this703.ElementType=ElementType;_this703.PredefinedType=PredefinedType;_this703.type=1133259667;return _this703;}return _createClass(IfcWasteTerminalType);}(IfcFlowTerminalType);IFC2X32.IfcWasteTerminalType=IfcWasteTerminalType;var IfcWorkControl=/*#__PURE__*/function(_IfcControl13){_inherits(IfcWorkControl,_IfcControl13);var _super701=_createSuper(IfcWorkControl);function IfcWorkControl(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,Identifier,CreationDate,Creators,Purpose,Duration,TotalFloat,StartTime,FinishTime,WorkControlType,UserDefinedControlType){var _this704;_classCallCheck(this,IfcWorkControl);_this704=_super701.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType);_this704.GlobalId=GlobalId;_this704.OwnerHistory=OwnerHistory;_this704.Name=Name;_this704.Description=Description;_this704.ObjectType=ObjectType;_this704.Identifier=Identifier;_this704.CreationDate=CreationDate;_this704.Creators=Creators;_this704.Purpose=Purpose;_this704.Duration=Duration;_this704.TotalFloat=TotalFloat;_this704.StartTime=StartTime;_this704.FinishTime=FinishTime;_this704.WorkControlType=WorkControlType;_this704.UserDefinedControlType=UserDefinedControlType;_this704.type=1028945134;return _this704;}return _createClass(IfcWorkControl);}(IfcControl);IFC2X32.IfcWorkControl=IfcWorkControl;var IfcWorkPlan=/*#__PURE__*/function(_IfcWorkControl){_inherits(IfcWorkPlan,_IfcWorkControl);var _super702=_createSuper(IfcWorkPlan);function IfcWorkPlan(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,Identifier,CreationDate,Creators,Purpose,Duration,TotalFloat,StartTime,FinishTime,WorkControlType,UserDefinedControlType){var _this705;_classCallCheck(this,IfcWorkPlan);_this705=_super702.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,Identifier,CreationDate,Creators,Purpose,Duration,TotalFloat,StartTime,FinishTime,WorkControlType,UserDefinedControlType);_this705.GlobalId=GlobalId;_this705.OwnerHistory=OwnerHistory;_this705.Name=Name;_this705.Description=Description;_this705.ObjectType=ObjectType;_this705.Identifier=Identifier;_this705.CreationDate=CreationDate;_this705.Creators=Creators;_this705.Purpose=Purpose;_this705.Duration=Duration;_this705.TotalFloat=TotalFloat;_this705.StartTime=StartTime;_this705.FinishTime=FinishTime;_this705.WorkControlType=WorkControlType;_this705.UserDefinedControlType=UserDefinedControlType;_this705.type=4218914973;return _this705;}return _createClass(IfcWorkPlan);}(IfcWorkControl);IFC2X32.IfcWorkPlan=IfcWorkPlan;var IfcWorkSchedule=/*#__PURE__*/function(_IfcWorkControl2){_inherits(IfcWorkSchedule,_IfcWorkControl2);var _super703=_createSuper(IfcWorkSchedule);function IfcWorkSchedule(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,Identifier,CreationDate,Creators,Purpose,Duration,TotalFloat,StartTime,FinishTime,WorkControlType,UserDefinedControlType){var _this706;_classCallCheck(this,IfcWorkSchedule);_this706=_super703.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,Identifier,CreationDate,Creators,Purpose,Duration,TotalFloat,StartTime,FinishTime,WorkControlType,UserDefinedControlType);_this706.GlobalId=GlobalId;_this706.OwnerHistory=OwnerHistory;_this706.Name=Name;_this706.Description=Description;_this706.ObjectType=ObjectType;_this706.Identifier=Identifier;_this706.CreationDate=CreationDate;_this706.Creators=Creators;_this706.Purpose=Purpose;_this706.Duration=Duration;_this706.TotalFloat=TotalFloat;_this706.StartTime=StartTime;_this706.FinishTime=FinishTime;_this706.WorkControlType=WorkControlType;_this706.UserDefinedControlType=UserDefinedControlType;_this706.type=3342526732;return _this706;}return _createClass(IfcWorkSchedule);}(IfcWorkControl);IFC2X32.IfcWorkSchedule=IfcWorkSchedule;var IfcZone=/*#__PURE__*/function(_IfcGroup5){_inherits(IfcZone,_IfcGroup5);var _super704=_createSuper(IfcZone);function IfcZone(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType){var _this707;_classCallCheck(this,IfcZone);_this707=_super704.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType);_this707.GlobalId=GlobalId;_this707.OwnerHistory=OwnerHistory;_this707.Name=Name;_this707.Description=Description;_this707.ObjectType=ObjectType;_this707.type=1033361043;return _this707;}return _createClass(IfcZone);}(IfcGroup);IFC2X32.IfcZone=IfcZone;var Ifc2DCompositeCurve=/*#__PURE__*/function(_IfcCompositeCurve){_inherits(Ifc2DCompositeCurve,_IfcCompositeCurve);var _super705=_createSuper(Ifc2DCompositeCurve);function Ifc2DCompositeCurve(expressID,Segments,SelfIntersect){var _this708;_classCallCheck(this,Ifc2DCompositeCurve);_this708=_super705.call(this,expressID,Segments,SelfIntersect);_this708.Segments=Segments;_this708.SelfIntersect=SelfIntersect;_this708.type=1213861670;return _this708;}return _createClass(Ifc2DCompositeCurve);}(IfcCompositeCurve);IFC2X32.Ifc2DCompositeCurve=Ifc2DCompositeCurve;var IfcActionRequest=/*#__PURE__*/function(_IfcControl14){_inherits(IfcActionRequest,_IfcControl14);var _super706=_createSuper(IfcActionRequest);function IfcActionRequest(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,RequestID){var _this709;_classCallCheck(this,IfcActionRequest);_this709=_super706.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType);_this709.GlobalId=GlobalId;_this709.OwnerHistory=OwnerHistory;_this709.Name=Name;_this709.Description=Description;_this709.ObjectType=ObjectType;_this709.RequestID=RequestID;_this709.type=3821786052;return _this709;}return _createClass(IfcActionRequest);}(IfcControl);IFC2X32.IfcActionRequest=IfcActionRequest;var IfcAirTerminalBoxType=/*#__PURE__*/function(_IfcFlowControllerTyp5){_inherits(IfcAirTerminalBoxType,_IfcFlowControllerTyp5);var _super707=_createSuper(IfcAirTerminalBoxType);function IfcAirTerminalBoxType(expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType,PredefinedType){var _this710;_classCallCheck(this,IfcAirTerminalBoxType);_this710=_super707.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType);_this710.GlobalId=GlobalId;_this710.OwnerHistory=OwnerHistory;_this710.Name=Name;_this710.Description=Description;_this710.ApplicableOccurrence=ApplicableOccurrence;_this710.HasPropertySets=HasPropertySets;_this710.RepresentationMaps=RepresentationMaps;_this710.Tag=Tag;_this710.ElementType=ElementType;_this710.PredefinedType=PredefinedType;_this710.type=1411407467;return _this710;}return _createClass(IfcAirTerminalBoxType);}(IfcFlowControllerType);IFC2X32.IfcAirTerminalBoxType=IfcAirTerminalBoxType;var IfcAirTerminalType=/*#__PURE__*/function(_IfcFlowTerminalType8){_inherits(IfcAirTerminalType,_IfcFlowTerminalType8);var _super708=_createSuper(IfcAirTerminalType);function IfcAirTerminalType(expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType,PredefinedType){var _this711;_classCallCheck(this,IfcAirTerminalType);_this711=_super708.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType);_this711.GlobalId=GlobalId;_this711.OwnerHistory=OwnerHistory;_this711.Name=Name;_this711.Description=Description;_this711.ApplicableOccurrence=ApplicableOccurrence;_this711.HasPropertySets=HasPropertySets;_this711.RepresentationMaps=RepresentationMaps;_this711.Tag=Tag;_this711.ElementType=ElementType;_this711.PredefinedType=PredefinedType;_this711.type=3352864051;return _this711;}return _createClass(IfcAirTerminalType);}(IfcFlowTerminalType);IFC2X32.IfcAirTerminalType=IfcAirTerminalType;var IfcAirToAirHeatRecoveryType=/*#__PURE__*/function(_IfcEnergyConversionD10){_inherits(IfcAirToAirHeatRecoveryType,_IfcEnergyConversionD10);var _super709=_createSuper(IfcAirToAirHeatRecoveryType);function IfcAirToAirHeatRecoveryType(expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType,PredefinedType){var _this712;_classCallCheck(this,IfcAirToAirHeatRecoveryType);_this712=_super709.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType);_this712.GlobalId=GlobalId;_this712.OwnerHistory=OwnerHistory;_this712.Name=Name;_this712.Description=Description;_this712.ApplicableOccurrence=ApplicableOccurrence;_this712.HasPropertySets=HasPropertySets;_this712.RepresentationMaps=RepresentationMaps;_this712.Tag=Tag;_this712.ElementType=ElementType;_this712.PredefinedType=PredefinedType;_this712.type=1871374353;return _this712;}return _createClass(IfcAirToAirHeatRecoveryType);}(IfcEnergyConversionDeviceType);IFC2X32.IfcAirToAirHeatRecoveryType=IfcAirToAirHeatRecoveryType;var IfcAngularDimension=/*#__PURE__*/function(_IfcDimensionCurveDir3){_inherits(IfcAngularDimension,_IfcDimensionCurveDir3);var _super710=_createSuper(IfcAngularDimension);function IfcAngularDimension(expressID,Contents){var _this713;_classCallCheck(this,IfcAngularDimension);_this713=_super710.call(this,expressID,Contents);_this713.Contents=Contents;_this713.type=2470393545;return _this713;}return _createClass(IfcAngularDimension);}(IfcDimensionCurveDirectedCallout);IFC2X32.IfcAngularDimension=IfcAngularDimension;var IfcAsset=/*#__PURE__*/function(_IfcGroup6){_inherits(IfcAsset,_IfcGroup6);var _super711=_createSuper(IfcAsset);function IfcAsset(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,AssetID,OriginalValue,CurrentValue,TotalReplacementCost,Owner,User,ResponsiblePerson,IncorporationDate,DepreciatedValue){var _this714;_classCallCheck(this,IfcAsset);_this714=_super711.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType);_this714.GlobalId=GlobalId;_this714.OwnerHistory=OwnerHistory;_this714.Name=Name;_this714.Description=Description;_this714.ObjectType=ObjectType;_this714.AssetID=AssetID;_this714.OriginalValue=OriginalValue;_this714.CurrentValue=CurrentValue;_this714.TotalReplacementCost=TotalReplacementCost;_this714.Owner=Owner;_this714.User=User;_this714.ResponsiblePerson=ResponsiblePerson;_this714.IncorporationDate=IncorporationDate;_this714.DepreciatedValue=DepreciatedValue;_this714.type=3460190687;return _this714;}return _createClass(IfcAsset);}(IfcGroup);IFC2X32.IfcAsset=IfcAsset;var IfcBSplineCurve=/*#__PURE__*/function(_IfcBoundedCurve4){_inherits(IfcBSplineCurve,_IfcBoundedCurve4);var _super712=_createSuper(IfcBSplineCurve);function IfcBSplineCurve(expressID,Degree,ControlPointsList,CurveForm,ClosedCurve,SelfIntersect){var _this715;_classCallCheck(this,IfcBSplineCurve);_this715=_super712.call(this,expressID);_this715.Degree=Degree;_this715.ControlPointsList=ControlPointsList;_this715.CurveForm=CurveForm;_this715.ClosedCurve=ClosedCurve;_this715.SelfIntersect=SelfIntersect;_this715.type=1967976161;return _this715;}return _createClass(IfcBSplineCurve);}(IfcBoundedCurve);IFC2X32.IfcBSplineCurve=IfcBSplineCurve;var IfcBeamType=/*#__PURE__*/function(_IfcBuildingElementTy11){_inherits(IfcBeamType,_IfcBuildingElementTy11);var _super713=_createSuper(IfcBeamType);function IfcBeamType(expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType,PredefinedType){var _this716;_classCallCheck(this,IfcBeamType);_this716=_super713.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType);_this716.GlobalId=GlobalId;_this716.OwnerHistory=OwnerHistory;_this716.Name=Name;_this716.Description=Description;_this716.ApplicableOccurrence=ApplicableOccurrence;_this716.HasPropertySets=HasPropertySets;_this716.RepresentationMaps=RepresentationMaps;_this716.Tag=Tag;_this716.ElementType=ElementType;_this716.PredefinedType=PredefinedType;_this716.type=819618141;return _this716;}return _createClass(IfcBeamType);}(IfcBuildingElementType);IFC2X32.IfcBeamType=IfcBeamType;var IfcBezierCurve=/*#__PURE__*/function(_IfcBSplineCurve){_inherits(IfcBezierCurve,_IfcBSplineCurve);var _super714=_createSuper(IfcBezierCurve);function IfcBezierCurve(expressID,Degree,ControlPointsList,CurveForm,ClosedCurve,SelfIntersect){var _this717;_classCallCheck(this,IfcBezierCurve);_this717=_super714.call(this,expressID,Degree,ControlPointsList,CurveForm,ClosedCurve,SelfIntersect);_this717.Degree=Degree;_this717.ControlPointsList=ControlPointsList;_this717.CurveForm=CurveForm;_this717.ClosedCurve=ClosedCurve;_this717.SelfIntersect=SelfIntersect;_this717.type=1916977116;return _this717;}return _createClass(IfcBezierCurve);}(IfcBSplineCurve);IFC2X32.IfcBezierCurve=IfcBezierCurve;var IfcBoilerType=/*#__PURE__*/function(_IfcEnergyConversionD11){_inherits(IfcBoilerType,_IfcEnergyConversionD11);var _super715=_createSuper(IfcBoilerType);function IfcBoilerType(expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType,PredefinedType){var _this718;_classCallCheck(this,IfcBoilerType);_this718=_super715.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType);_this718.GlobalId=GlobalId;_this718.OwnerHistory=OwnerHistory;_this718.Name=Name;_this718.Description=Description;_this718.ApplicableOccurrence=ApplicableOccurrence;_this718.HasPropertySets=HasPropertySets;_this718.RepresentationMaps=RepresentationMaps;_this718.Tag=Tag;_this718.ElementType=ElementType;_this718.PredefinedType=PredefinedType;_this718.type=231477066;return _this718;}return _createClass(IfcBoilerType);}(IfcEnergyConversionDeviceType);IFC2X32.IfcBoilerType=IfcBoilerType;var IfcBuildingElement=/*#__PURE__*/function(_IfcElement8){_inherits(IfcBuildingElement,_IfcElement8);var _super716=_createSuper(IfcBuildingElement);function IfcBuildingElement(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag){var _this719;_classCallCheck(this,IfcBuildingElement);_this719=_super716.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag);_this719.GlobalId=GlobalId;_this719.OwnerHistory=OwnerHistory;_this719.Name=Name;_this719.Description=Description;_this719.ObjectType=ObjectType;_this719.ObjectPlacement=ObjectPlacement;_this719.Representation=Representation;_this719.Tag=Tag;_this719.type=3299480353;return _this719;}return _createClass(IfcBuildingElement);}(IfcElement);IFC2X32.IfcBuildingElement=IfcBuildingElement;var IfcBuildingElementComponent=/*#__PURE__*/function(_IfcBuildingElement){_inherits(IfcBuildingElementComponent,_IfcBuildingElement);var _super717=_createSuper(IfcBuildingElementComponent);function IfcBuildingElementComponent(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag){var _this720;_classCallCheck(this,IfcBuildingElementComponent);_this720=_super717.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag);_this720.GlobalId=GlobalId;_this720.OwnerHistory=OwnerHistory;_this720.Name=Name;_this720.Description=Description;_this720.ObjectType=ObjectType;_this720.ObjectPlacement=ObjectPlacement;_this720.Representation=Representation;_this720.Tag=Tag;_this720.type=52481810;return _this720;}return _createClass(IfcBuildingElementComponent);}(IfcBuildingElement);IFC2X32.IfcBuildingElementComponent=IfcBuildingElementComponent;var IfcBuildingElementPart=/*#__PURE__*/function(_IfcBuildingElementCo){_inherits(IfcBuildingElementPart,_IfcBuildingElementCo);var _super718=_createSuper(IfcBuildingElementPart);function IfcBuildingElementPart(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag){var _this721;_classCallCheck(this,IfcBuildingElementPart);_this721=_super718.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag);_this721.GlobalId=GlobalId;_this721.OwnerHistory=OwnerHistory;_this721.Name=Name;_this721.Description=Description;_this721.ObjectType=ObjectType;_this721.ObjectPlacement=ObjectPlacement;_this721.Representation=Representation;_this721.Tag=Tag;_this721.type=2979338954;return _this721;}return _createClass(IfcBuildingElementPart);}(IfcBuildingElementComponent);IFC2X32.IfcBuildingElementPart=IfcBuildingElementPart;var IfcBuildingElementProxy=/*#__PURE__*/function(_IfcBuildingElement2){_inherits(IfcBuildingElementProxy,_IfcBuildingElement2);var _super719=_createSuper(IfcBuildingElementProxy);function IfcBuildingElementProxy(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag,CompositionType){var _this722;_classCallCheck(this,IfcBuildingElementProxy);_this722=_super719.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag);_this722.GlobalId=GlobalId;_this722.OwnerHistory=OwnerHistory;_this722.Name=Name;_this722.Description=Description;_this722.ObjectType=ObjectType;_this722.ObjectPlacement=ObjectPlacement;_this722.Representation=Representation;_this722.Tag=Tag;_this722.CompositionType=CompositionType;_this722.type=1095909175;return _this722;}return _createClass(IfcBuildingElementProxy);}(IfcBuildingElement);IFC2X32.IfcBuildingElementProxy=IfcBuildingElementProxy;var IfcBuildingElementProxyType=/*#__PURE__*/function(_IfcBuildingElementTy12){_inherits(IfcBuildingElementProxyType,_IfcBuildingElementTy12);var _super720=_createSuper(IfcBuildingElementProxyType);function IfcBuildingElementProxyType(expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType,PredefinedType){var _this723;_classCallCheck(this,IfcBuildingElementProxyType);_this723=_super720.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType);_this723.GlobalId=GlobalId;_this723.OwnerHistory=OwnerHistory;_this723.Name=Name;_this723.Description=Description;_this723.ApplicableOccurrence=ApplicableOccurrence;_this723.HasPropertySets=HasPropertySets;_this723.RepresentationMaps=RepresentationMaps;_this723.Tag=Tag;_this723.ElementType=ElementType;_this723.PredefinedType=PredefinedType;_this723.type=1909888760;return _this723;}return _createClass(IfcBuildingElementProxyType);}(IfcBuildingElementType);IFC2X32.IfcBuildingElementProxyType=IfcBuildingElementProxyType;var IfcCableCarrierFittingType=/*#__PURE__*/function(_IfcFlowFittingType3){_inherits(IfcCableCarrierFittingType,_IfcFlowFittingType3);var _super721=_createSuper(IfcCableCarrierFittingType);function IfcCableCarrierFittingType(expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType,PredefinedType){var _this724;_classCallCheck(this,IfcCableCarrierFittingType);_this724=_super721.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType);_this724.GlobalId=GlobalId;_this724.OwnerHistory=OwnerHistory;_this724.Name=Name;_this724.Description=Description;_this724.ApplicableOccurrence=ApplicableOccurrence;_this724.HasPropertySets=HasPropertySets;_this724.RepresentationMaps=RepresentationMaps;_this724.Tag=Tag;_this724.ElementType=ElementType;_this724.PredefinedType=PredefinedType;_this724.type=395041908;return _this724;}return _createClass(IfcCableCarrierFittingType);}(IfcFlowFittingType);IFC2X32.IfcCableCarrierFittingType=IfcCableCarrierFittingType;var IfcCableCarrierSegmentType=/*#__PURE__*/function(_IfcFlowSegmentType2){_inherits(IfcCableCarrierSegmentType,_IfcFlowSegmentType2);var _super722=_createSuper(IfcCableCarrierSegmentType);function IfcCableCarrierSegmentType(expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType,PredefinedType){var _this725;_classCallCheck(this,IfcCableCarrierSegmentType);_this725=_super722.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType);_this725.GlobalId=GlobalId;_this725.OwnerHistory=OwnerHistory;_this725.Name=Name;_this725.Description=Description;_this725.ApplicableOccurrence=ApplicableOccurrence;_this725.HasPropertySets=HasPropertySets;_this725.RepresentationMaps=RepresentationMaps;_this725.Tag=Tag;_this725.ElementType=ElementType;_this725.PredefinedType=PredefinedType;_this725.type=3293546465;return _this725;}return _createClass(IfcCableCarrierSegmentType);}(IfcFlowSegmentType);IFC2X32.IfcCableCarrierSegmentType=IfcCableCarrierSegmentType;var IfcCableSegmentType=/*#__PURE__*/function(_IfcFlowSegmentType3){_inherits(IfcCableSegmentType,_IfcFlowSegmentType3);var _super723=_createSuper(IfcCableSegmentType);function IfcCableSegmentType(expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType,PredefinedType){var _this726;_classCallCheck(this,IfcCableSegmentType);_this726=_super723.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType);_this726.GlobalId=GlobalId;_this726.OwnerHistory=OwnerHistory;_this726.Name=Name;_this726.Description=Description;_this726.ApplicableOccurrence=ApplicableOccurrence;_this726.HasPropertySets=HasPropertySets;_this726.RepresentationMaps=RepresentationMaps;_this726.Tag=Tag;_this726.ElementType=ElementType;_this726.PredefinedType=PredefinedType;_this726.type=1285652485;return _this726;}return _createClass(IfcCableSegmentType);}(IfcFlowSegmentType);IFC2X32.IfcCableSegmentType=IfcCableSegmentType;var IfcChillerType=/*#__PURE__*/function(_IfcEnergyConversionD12){_inherits(IfcChillerType,_IfcEnergyConversionD12);var _super724=_createSuper(IfcChillerType);function IfcChillerType(expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType,PredefinedType){var _this727;_classCallCheck(this,IfcChillerType);_this727=_super724.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType);_this727.GlobalId=GlobalId;_this727.OwnerHistory=OwnerHistory;_this727.Name=Name;_this727.Description=Description;_this727.ApplicableOccurrence=ApplicableOccurrence;_this727.HasPropertySets=HasPropertySets;_this727.RepresentationMaps=RepresentationMaps;_this727.Tag=Tag;_this727.ElementType=ElementType;_this727.PredefinedType=PredefinedType;_this727.type=2951183804;return _this727;}return _createClass(IfcChillerType);}(IfcEnergyConversionDeviceType);IFC2X32.IfcChillerType=IfcChillerType;var IfcCircle=/*#__PURE__*/function(_IfcConic2){_inherits(IfcCircle,_IfcConic2);var _super725=_createSuper(IfcCircle);function IfcCircle(expressID,Position,Radius){var _this728;_classCallCheck(this,IfcCircle);_this728=_super725.call(this,expressID,Position);_this728.Position=Position;_this728.Radius=Radius;_this728.type=2611217952;return _this728;}return _createClass(IfcCircle);}(IfcConic);IFC2X32.IfcCircle=IfcCircle;var IfcCoilType=/*#__PURE__*/function(_IfcEnergyConversionD13){_inherits(IfcCoilType,_IfcEnergyConversionD13);var _super726=_createSuper(IfcCoilType);function IfcCoilType(expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType,PredefinedType){var _this729;_classCallCheck(this,IfcCoilType);_this729=_super726.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType);_this729.GlobalId=GlobalId;_this729.OwnerHistory=OwnerHistory;_this729.Name=Name;_this729.Description=Description;_this729.ApplicableOccurrence=ApplicableOccurrence;_this729.HasPropertySets=HasPropertySets;_this729.RepresentationMaps=RepresentationMaps;_this729.Tag=Tag;_this729.ElementType=ElementType;_this729.PredefinedType=PredefinedType;_this729.type=2301859152;return _this729;}return _createClass(IfcCoilType);}(IfcEnergyConversionDeviceType);IFC2X32.IfcCoilType=IfcCoilType;var IfcColumn=/*#__PURE__*/function(_IfcBuildingElement3){_inherits(IfcColumn,_IfcBuildingElement3);var _super727=_createSuper(IfcColumn);function IfcColumn(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag){var _this730;_classCallCheck(this,IfcColumn);_this730=_super727.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag);_this730.GlobalId=GlobalId;_this730.OwnerHistory=OwnerHistory;_this730.Name=Name;_this730.Description=Description;_this730.ObjectType=ObjectType;_this730.ObjectPlacement=ObjectPlacement;_this730.Representation=Representation;_this730.Tag=Tag;_this730.type=843113511;return _this730;}return _createClass(IfcColumn);}(IfcBuildingElement);IFC2X32.IfcColumn=IfcColumn;var IfcCompressorType=/*#__PURE__*/function(_IfcFlowMovingDeviceT2){_inherits(IfcCompressorType,_IfcFlowMovingDeviceT2);var _super728=_createSuper(IfcCompressorType);function IfcCompressorType(expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType,PredefinedType){var _this731;_classCallCheck(this,IfcCompressorType);_this731=_super728.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType);_this731.GlobalId=GlobalId;_this731.OwnerHistory=OwnerHistory;_this731.Name=Name;_this731.Description=Description;_this731.ApplicableOccurrence=ApplicableOccurrence;_this731.HasPropertySets=HasPropertySets;_this731.RepresentationMaps=RepresentationMaps;_this731.Tag=Tag;_this731.ElementType=ElementType;_this731.PredefinedType=PredefinedType;_this731.type=3850581409;return _this731;}return _createClass(IfcCompressorType);}(IfcFlowMovingDeviceType);IFC2X32.IfcCompressorType=IfcCompressorType;var IfcCondenserType=/*#__PURE__*/function(_IfcEnergyConversionD14){_inherits(IfcCondenserType,_IfcEnergyConversionD14);var _super729=_createSuper(IfcCondenserType);function IfcCondenserType(expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType,PredefinedType){var _this732;_classCallCheck(this,IfcCondenserType);_this732=_super729.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType);_this732.GlobalId=GlobalId;_this732.OwnerHistory=OwnerHistory;_this732.Name=Name;_this732.Description=Description;_this732.ApplicableOccurrence=ApplicableOccurrence;_this732.HasPropertySets=HasPropertySets;_this732.RepresentationMaps=RepresentationMaps;_this732.Tag=Tag;_this732.ElementType=ElementType;_this732.PredefinedType=PredefinedType;_this732.type=2816379211;return _this732;}return _createClass(IfcCondenserType);}(IfcEnergyConversionDeviceType);IFC2X32.IfcCondenserType=IfcCondenserType;var IfcCondition=/*#__PURE__*/function(_IfcGroup7){_inherits(IfcCondition,_IfcGroup7);var _super730=_createSuper(IfcCondition);function IfcCondition(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType){var _this733;_classCallCheck(this,IfcCondition);_this733=_super730.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType);_this733.GlobalId=GlobalId;_this733.OwnerHistory=OwnerHistory;_this733.Name=Name;_this733.Description=Description;_this733.ObjectType=ObjectType;_this733.type=2188551683;return _this733;}return _createClass(IfcCondition);}(IfcGroup);IFC2X32.IfcCondition=IfcCondition;var IfcConditionCriterion=/*#__PURE__*/function(_IfcControl15){_inherits(IfcConditionCriterion,_IfcControl15);var _super731=_createSuper(IfcConditionCriterion);function IfcConditionCriterion(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,Criterion,CriterionDateTime){var _this734;_classCallCheck(this,IfcConditionCriterion);_this734=_super731.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType);_this734.GlobalId=GlobalId;_this734.OwnerHistory=OwnerHistory;_this734.Name=Name;_this734.Description=Description;_this734.ObjectType=ObjectType;_this734.Criterion=Criterion;_this734.CriterionDateTime=CriterionDateTime;_this734.type=1163958913;return _this734;}return _createClass(IfcConditionCriterion);}(IfcControl);IFC2X32.IfcConditionCriterion=IfcConditionCriterion;var IfcConstructionEquipmentResource=/*#__PURE__*/function(_IfcConstructionResou4){_inherits(IfcConstructionEquipmentResource,_IfcConstructionResou4);var _super732=_createSuper(IfcConstructionEquipmentResource);function IfcConstructionEquipmentResource(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ResourceIdentifier,ResourceGroup,ResourceConsumption,BaseQuantity){var _this735;_classCallCheck(this,IfcConstructionEquipmentResource);_this735=_super732.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ResourceIdentifier,ResourceGroup,ResourceConsumption,BaseQuantity);_this735.GlobalId=GlobalId;_this735.OwnerHistory=OwnerHistory;_this735.Name=Name;_this735.Description=Description;_this735.ObjectType=ObjectType;_this735.ResourceIdentifier=ResourceIdentifier;_this735.ResourceGroup=ResourceGroup;_this735.ResourceConsumption=ResourceConsumption;_this735.BaseQuantity=BaseQuantity;_this735.type=3898045240;return _this735;}return _createClass(IfcConstructionEquipmentResource);}(IfcConstructionResource);IFC2X32.IfcConstructionEquipmentResource=IfcConstructionEquipmentResource;var IfcConstructionMaterialResource=/*#__PURE__*/function(_IfcConstructionResou5){_inherits(IfcConstructionMaterialResource,_IfcConstructionResou5);var _super733=_createSuper(IfcConstructionMaterialResource);function IfcConstructionMaterialResource(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ResourceIdentifier,ResourceGroup,ResourceConsumption,BaseQuantity,Suppliers,UsageRatio){var _this736;_classCallCheck(this,IfcConstructionMaterialResource);_this736=_super733.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ResourceIdentifier,ResourceGroup,ResourceConsumption,BaseQuantity);_this736.GlobalId=GlobalId;_this736.OwnerHistory=OwnerHistory;_this736.Name=Name;_this736.Description=Description;_this736.ObjectType=ObjectType;_this736.ResourceIdentifier=ResourceIdentifier;_this736.ResourceGroup=ResourceGroup;_this736.ResourceConsumption=ResourceConsumption;_this736.BaseQuantity=BaseQuantity;_this736.Suppliers=Suppliers;_this736.UsageRatio=UsageRatio;_this736.type=1060000209;return _this736;}return _createClass(IfcConstructionMaterialResource);}(IfcConstructionResource);IFC2X32.IfcConstructionMaterialResource=IfcConstructionMaterialResource;var IfcConstructionProductResource=/*#__PURE__*/function(_IfcConstructionResou6){_inherits(IfcConstructionProductResource,_IfcConstructionResou6);var _super734=_createSuper(IfcConstructionProductResource);function IfcConstructionProductResource(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ResourceIdentifier,ResourceGroup,ResourceConsumption,BaseQuantity){var _this737;_classCallCheck(this,IfcConstructionProductResource);_this737=_super734.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ResourceIdentifier,ResourceGroup,ResourceConsumption,BaseQuantity);_this737.GlobalId=GlobalId;_this737.OwnerHistory=OwnerHistory;_this737.Name=Name;_this737.Description=Description;_this737.ObjectType=ObjectType;_this737.ResourceIdentifier=ResourceIdentifier;_this737.ResourceGroup=ResourceGroup;_this737.ResourceConsumption=ResourceConsumption;_this737.BaseQuantity=BaseQuantity;_this737.type=488727124;return _this737;}return _createClass(IfcConstructionProductResource);}(IfcConstructionResource);IFC2X32.IfcConstructionProductResource=IfcConstructionProductResource;var IfcCooledBeamType=/*#__PURE__*/function(_IfcEnergyConversionD15){_inherits(IfcCooledBeamType,_IfcEnergyConversionD15);var _super735=_createSuper(IfcCooledBeamType);function IfcCooledBeamType(expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType,PredefinedType){var _this738;_classCallCheck(this,IfcCooledBeamType);_this738=_super735.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType);_this738.GlobalId=GlobalId;_this738.OwnerHistory=OwnerHistory;_this738.Name=Name;_this738.Description=Description;_this738.ApplicableOccurrence=ApplicableOccurrence;_this738.HasPropertySets=HasPropertySets;_this738.RepresentationMaps=RepresentationMaps;_this738.Tag=Tag;_this738.ElementType=ElementType;_this738.PredefinedType=PredefinedType;_this738.type=335055490;return _this738;}return _createClass(IfcCooledBeamType);}(IfcEnergyConversionDeviceType);IFC2X32.IfcCooledBeamType=IfcCooledBeamType;var IfcCoolingTowerType=/*#__PURE__*/function(_IfcEnergyConversionD16){_inherits(IfcCoolingTowerType,_IfcEnergyConversionD16);var _super736=_createSuper(IfcCoolingTowerType);function IfcCoolingTowerType(expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType,PredefinedType){var _this739;_classCallCheck(this,IfcCoolingTowerType);_this739=_super736.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType);_this739.GlobalId=GlobalId;_this739.OwnerHistory=OwnerHistory;_this739.Name=Name;_this739.Description=Description;_this739.ApplicableOccurrence=ApplicableOccurrence;_this739.HasPropertySets=HasPropertySets;_this739.RepresentationMaps=RepresentationMaps;_this739.Tag=Tag;_this739.ElementType=ElementType;_this739.PredefinedType=PredefinedType;_this739.type=2954562838;return _this739;}return _createClass(IfcCoolingTowerType);}(IfcEnergyConversionDeviceType);IFC2X32.IfcCoolingTowerType=IfcCoolingTowerType;var IfcCovering=/*#__PURE__*/function(_IfcBuildingElement4){_inherits(IfcCovering,_IfcBuildingElement4);var _super737=_createSuper(IfcCovering);function IfcCovering(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag,PredefinedType){var _this740;_classCallCheck(this,IfcCovering);_this740=_super737.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag);_this740.GlobalId=GlobalId;_this740.OwnerHistory=OwnerHistory;_this740.Name=Name;_this740.Description=Description;_this740.ObjectType=ObjectType;_this740.ObjectPlacement=ObjectPlacement;_this740.Representation=Representation;_this740.Tag=Tag;_this740.PredefinedType=PredefinedType;_this740.type=1973544240;return _this740;}return _createClass(IfcCovering);}(IfcBuildingElement);IFC2X32.IfcCovering=IfcCovering;var IfcCurtainWall=/*#__PURE__*/function(_IfcBuildingElement5){_inherits(IfcCurtainWall,_IfcBuildingElement5);var _super738=_createSuper(IfcCurtainWall);function IfcCurtainWall(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag){var _this741;_classCallCheck(this,IfcCurtainWall);_this741=_super738.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag);_this741.GlobalId=GlobalId;_this741.OwnerHistory=OwnerHistory;_this741.Name=Name;_this741.Description=Description;_this741.ObjectType=ObjectType;_this741.ObjectPlacement=ObjectPlacement;_this741.Representation=Representation;_this741.Tag=Tag;_this741.type=3495092785;return _this741;}return _createClass(IfcCurtainWall);}(IfcBuildingElement);IFC2X32.IfcCurtainWall=IfcCurtainWall;var IfcDamperType=/*#__PURE__*/function(_IfcFlowControllerTyp6){_inherits(IfcDamperType,_IfcFlowControllerTyp6);var _super739=_createSuper(IfcDamperType);function IfcDamperType(expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType,PredefinedType){var _this742;_classCallCheck(this,IfcDamperType);_this742=_super739.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType);_this742.GlobalId=GlobalId;_this742.OwnerHistory=OwnerHistory;_this742.Name=Name;_this742.Description=Description;_this742.ApplicableOccurrence=ApplicableOccurrence;_this742.HasPropertySets=HasPropertySets;_this742.RepresentationMaps=RepresentationMaps;_this742.Tag=Tag;_this742.ElementType=ElementType;_this742.PredefinedType=PredefinedType;_this742.type=3961806047;return _this742;}return _createClass(IfcDamperType);}(IfcFlowControllerType);IFC2X32.IfcDamperType=IfcDamperType;var IfcDiameterDimension=/*#__PURE__*/function(_IfcDimensionCurveDir4){_inherits(IfcDiameterDimension,_IfcDimensionCurveDir4);var _super740=_createSuper(IfcDiameterDimension);function IfcDiameterDimension(expressID,Contents){var _this743;_classCallCheck(this,IfcDiameterDimension);_this743=_super740.call(this,expressID,Contents);_this743.Contents=Contents;_this743.type=4147604152;return _this743;}return _createClass(IfcDiameterDimension);}(IfcDimensionCurveDirectedCallout);IFC2X32.IfcDiameterDimension=IfcDiameterDimension;var IfcDiscreteAccessory=/*#__PURE__*/function(_IfcElementComponent2){_inherits(IfcDiscreteAccessory,_IfcElementComponent2);var _super741=_createSuper(IfcDiscreteAccessory);function IfcDiscreteAccessory(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag){var _this744;_classCallCheck(this,IfcDiscreteAccessory);_this744=_super741.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag);_this744.GlobalId=GlobalId;_this744.OwnerHistory=OwnerHistory;_this744.Name=Name;_this744.Description=Description;_this744.ObjectType=ObjectType;_this744.ObjectPlacement=ObjectPlacement;_this744.Representation=Representation;_this744.Tag=Tag;_this744.type=1335981549;return _this744;}return _createClass(IfcDiscreteAccessory);}(IfcElementComponent);IFC2X32.IfcDiscreteAccessory=IfcDiscreteAccessory;var IfcDiscreteAccessoryType=/*#__PURE__*/function(_IfcElementComponentT2){_inherits(IfcDiscreteAccessoryType,_IfcElementComponentT2);var _super742=_createSuper(IfcDiscreteAccessoryType);function IfcDiscreteAccessoryType(expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType){var _this745;_classCallCheck(this,IfcDiscreteAccessoryType);_this745=_super742.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType);_this745.GlobalId=GlobalId;_this745.OwnerHistory=OwnerHistory;_this745.Name=Name;_this745.Description=Description;_this745.ApplicableOccurrence=ApplicableOccurrence;_this745.HasPropertySets=HasPropertySets;_this745.RepresentationMaps=RepresentationMaps;_this745.Tag=Tag;_this745.ElementType=ElementType;_this745.type=2635815018;return _this745;}return _createClass(IfcDiscreteAccessoryType);}(IfcElementComponentType);IFC2X32.IfcDiscreteAccessoryType=IfcDiscreteAccessoryType;var IfcDistributionChamberElementType=/*#__PURE__*/function(_IfcDistributionFlowE9){_inherits(IfcDistributionChamberElementType,_IfcDistributionFlowE9);var _super743=_createSuper(IfcDistributionChamberElementType);function IfcDistributionChamberElementType(expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType,PredefinedType){var _this746;_classCallCheck(this,IfcDistributionChamberElementType);_this746=_super743.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType);_this746.GlobalId=GlobalId;_this746.OwnerHistory=OwnerHistory;_this746.Name=Name;_this746.Description=Description;_this746.ApplicableOccurrence=ApplicableOccurrence;_this746.HasPropertySets=HasPropertySets;_this746.RepresentationMaps=RepresentationMaps;_this746.Tag=Tag;_this746.ElementType=ElementType;_this746.PredefinedType=PredefinedType;_this746.type=1599208980;return _this746;}return _createClass(IfcDistributionChamberElementType);}(IfcDistributionFlowElementType);IFC2X32.IfcDistributionChamberElementType=IfcDistributionChamberElementType;var IfcDistributionControlElementType=/*#__PURE__*/function(_IfcDistributionEleme2){_inherits(IfcDistributionControlElementType,_IfcDistributionEleme2);var _super744=_createSuper(IfcDistributionControlElementType);function IfcDistributionControlElementType(expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType){var _this747;_classCallCheck(this,IfcDistributionControlElementType);_this747=_super744.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType);_this747.GlobalId=GlobalId;_this747.OwnerHistory=OwnerHistory;_this747.Name=Name;_this747.Description=Description;_this747.ApplicableOccurrence=ApplicableOccurrence;_this747.HasPropertySets=HasPropertySets;_this747.RepresentationMaps=RepresentationMaps;_this747.Tag=Tag;_this747.ElementType=ElementType;_this747.type=2063403501;return _this747;}return _createClass(IfcDistributionControlElementType);}(IfcDistributionElementType);IFC2X32.IfcDistributionControlElementType=IfcDistributionControlElementType;var IfcDistributionElement=/*#__PURE__*/function(_IfcElement9){_inherits(IfcDistributionElement,_IfcElement9);var _super745=_createSuper(IfcDistributionElement);function IfcDistributionElement(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag){var _this748;_classCallCheck(this,IfcDistributionElement);_this748=_super745.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag);_this748.GlobalId=GlobalId;_this748.OwnerHistory=OwnerHistory;_this748.Name=Name;_this748.Description=Description;_this748.ObjectType=ObjectType;_this748.ObjectPlacement=ObjectPlacement;_this748.Representation=Representation;_this748.Tag=Tag;_this748.type=1945004755;return _this748;}return _createClass(IfcDistributionElement);}(IfcElement);IFC2X32.IfcDistributionElement=IfcDistributionElement;var IfcDistributionFlowElement=/*#__PURE__*/function(_IfcDistributionEleme3){_inherits(IfcDistributionFlowElement,_IfcDistributionEleme3);var _super746=_createSuper(IfcDistributionFlowElement);function IfcDistributionFlowElement(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag){var _this749;_classCallCheck(this,IfcDistributionFlowElement);_this749=_super746.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag);_this749.GlobalId=GlobalId;_this749.OwnerHistory=OwnerHistory;_this749.Name=Name;_this749.Description=Description;_this749.ObjectType=ObjectType;_this749.ObjectPlacement=ObjectPlacement;_this749.Representation=Representation;_this749.Tag=Tag;_this749.type=3040386961;return _this749;}return _createClass(IfcDistributionFlowElement);}(IfcDistributionElement);IFC2X32.IfcDistributionFlowElement=IfcDistributionFlowElement;var IfcDistributionPort=/*#__PURE__*/function(_IfcPort){_inherits(IfcDistributionPort,_IfcPort);var _super747=_createSuper(IfcDistributionPort);function IfcDistributionPort(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,FlowDirection){var _this750;_classCallCheck(this,IfcDistributionPort);_this750=_super747.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation);_this750.GlobalId=GlobalId;_this750.OwnerHistory=OwnerHistory;_this750.Name=Name;_this750.Description=Description;_this750.ObjectType=ObjectType;_this750.ObjectPlacement=ObjectPlacement;_this750.Representation=Representation;_this750.FlowDirection=FlowDirection;_this750.type=3041715199;return _this750;}return _createClass(IfcDistributionPort);}(IfcPort);IFC2X32.IfcDistributionPort=IfcDistributionPort;var IfcDoor=/*#__PURE__*/function(_IfcBuildingElement6){_inherits(IfcDoor,_IfcBuildingElement6);var _super748=_createSuper(IfcDoor);function IfcDoor(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag,OverallHeight,OverallWidth){var _this751;_classCallCheck(this,IfcDoor);_this751=_super748.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag);_this751.GlobalId=GlobalId;_this751.OwnerHistory=OwnerHistory;_this751.Name=Name;_this751.Description=Description;_this751.ObjectType=ObjectType;_this751.ObjectPlacement=ObjectPlacement;_this751.Representation=Representation;_this751.Tag=Tag;_this751.OverallHeight=OverallHeight;_this751.OverallWidth=OverallWidth;_this751.type=395920057;return _this751;}return _createClass(IfcDoor);}(IfcBuildingElement);IFC2X32.IfcDoor=IfcDoor;var IfcDuctFittingType=/*#__PURE__*/function(_IfcFlowFittingType4){_inherits(IfcDuctFittingType,_IfcFlowFittingType4);var _super749=_createSuper(IfcDuctFittingType);function IfcDuctFittingType(expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType,PredefinedType){var _this752;_classCallCheck(this,IfcDuctFittingType);_this752=_super749.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType);_this752.GlobalId=GlobalId;_this752.OwnerHistory=OwnerHistory;_this752.Name=Name;_this752.Description=Description;_this752.ApplicableOccurrence=ApplicableOccurrence;_this752.HasPropertySets=HasPropertySets;_this752.RepresentationMaps=RepresentationMaps;_this752.Tag=Tag;_this752.ElementType=ElementType;_this752.PredefinedType=PredefinedType;_this752.type=869906466;return _this752;}return _createClass(IfcDuctFittingType);}(IfcFlowFittingType);IFC2X32.IfcDuctFittingType=IfcDuctFittingType;var IfcDuctSegmentType=/*#__PURE__*/function(_IfcFlowSegmentType4){_inherits(IfcDuctSegmentType,_IfcFlowSegmentType4);var _super750=_createSuper(IfcDuctSegmentType);function IfcDuctSegmentType(expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType,PredefinedType){var _this753;_classCallCheck(this,IfcDuctSegmentType);_this753=_super750.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType);_this753.GlobalId=GlobalId;_this753.OwnerHistory=OwnerHistory;_this753.Name=Name;_this753.Description=Description;_this753.ApplicableOccurrence=ApplicableOccurrence;_this753.HasPropertySets=HasPropertySets;_this753.RepresentationMaps=RepresentationMaps;_this753.Tag=Tag;_this753.ElementType=ElementType;_this753.PredefinedType=PredefinedType;_this753.type=3760055223;return _this753;}return _createClass(IfcDuctSegmentType);}(IfcFlowSegmentType);IFC2X32.IfcDuctSegmentType=IfcDuctSegmentType;var IfcDuctSilencerType=/*#__PURE__*/function(_IfcFlowTreatmentDevi){_inherits(IfcDuctSilencerType,_IfcFlowTreatmentDevi);var _super751=_createSuper(IfcDuctSilencerType);function IfcDuctSilencerType(expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType,PredefinedType){var _this754;_classCallCheck(this,IfcDuctSilencerType);_this754=_super751.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType);_this754.GlobalId=GlobalId;_this754.OwnerHistory=OwnerHistory;_this754.Name=Name;_this754.Description=Description;_this754.ApplicableOccurrence=ApplicableOccurrence;_this754.HasPropertySets=HasPropertySets;_this754.RepresentationMaps=RepresentationMaps;_this754.Tag=Tag;_this754.ElementType=ElementType;_this754.PredefinedType=PredefinedType;_this754.type=2030761528;return _this754;}return _createClass(IfcDuctSilencerType);}(IfcFlowTreatmentDeviceType);IFC2X32.IfcDuctSilencerType=IfcDuctSilencerType;var IfcEdgeFeature=/*#__PURE__*/function(_IfcFeatureElementSub2){_inherits(IfcEdgeFeature,_IfcFeatureElementSub2);var _super752=_createSuper(IfcEdgeFeature);function IfcEdgeFeature(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag,FeatureLength){var _this755;_classCallCheck(this,IfcEdgeFeature);_this755=_super752.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag);_this755.GlobalId=GlobalId;_this755.OwnerHistory=OwnerHistory;_this755.Name=Name;_this755.Description=Description;_this755.ObjectType=ObjectType;_this755.ObjectPlacement=ObjectPlacement;_this755.Representation=Representation;_this755.Tag=Tag;_this755.FeatureLength=FeatureLength;_this755.type=855621170;return _this755;}return _createClass(IfcEdgeFeature);}(IfcFeatureElementSubtraction);IFC2X32.IfcEdgeFeature=IfcEdgeFeature;var IfcElectricApplianceType=/*#__PURE__*/function(_IfcFlowTerminalType9){_inherits(IfcElectricApplianceType,_IfcFlowTerminalType9);var _super753=_createSuper(IfcElectricApplianceType);function IfcElectricApplianceType(expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType,PredefinedType){var _this756;_classCallCheck(this,IfcElectricApplianceType);_this756=_super753.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType);_this756.GlobalId=GlobalId;_this756.OwnerHistory=OwnerHistory;_this756.Name=Name;_this756.Description=Description;_this756.ApplicableOccurrence=ApplicableOccurrence;_this756.HasPropertySets=HasPropertySets;_this756.RepresentationMaps=RepresentationMaps;_this756.Tag=Tag;_this756.ElementType=ElementType;_this756.PredefinedType=PredefinedType;_this756.type=663422040;return _this756;}return _createClass(IfcElectricApplianceType);}(IfcFlowTerminalType);IFC2X32.IfcElectricApplianceType=IfcElectricApplianceType;var IfcElectricFlowStorageDeviceType=/*#__PURE__*/function(_IfcFlowStorageDevice2){_inherits(IfcElectricFlowStorageDeviceType,_IfcFlowStorageDevice2);var _super754=_createSuper(IfcElectricFlowStorageDeviceType);function IfcElectricFlowStorageDeviceType(expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType,PredefinedType){var _this757;_classCallCheck(this,IfcElectricFlowStorageDeviceType);_this757=_super754.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType);_this757.GlobalId=GlobalId;_this757.OwnerHistory=OwnerHistory;_this757.Name=Name;_this757.Description=Description;_this757.ApplicableOccurrence=ApplicableOccurrence;_this757.HasPropertySets=HasPropertySets;_this757.RepresentationMaps=RepresentationMaps;_this757.Tag=Tag;_this757.ElementType=ElementType;_this757.PredefinedType=PredefinedType;_this757.type=3277789161;return _this757;}return _createClass(IfcElectricFlowStorageDeviceType);}(IfcFlowStorageDeviceType);IFC2X32.IfcElectricFlowStorageDeviceType=IfcElectricFlowStorageDeviceType;var IfcElectricGeneratorType=/*#__PURE__*/function(_IfcEnergyConversionD17){_inherits(IfcElectricGeneratorType,_IfcEnergyConversionD17);var _super755=_createSuper(IfcElectricGeneratorType);function IfcElectricGeneratorType(expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType,PredefinedType){var _this758;_classCallCheck(this,IfcElectricGeneratorType);_this758=_super755.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType);_this758.GlobalId=GlobalId;_this758.OwnerHistory=OwnerHistory;_this758.Name=Name;_this758.Description=Description;_this758.ApplicableOccurrence=ApplicableOccurrence;_this758.HasPropertySets=HasPropertySets;_this758.RepresentationMaps=RepresentationMaps;_this758.Tag=Tag;_this758.ElementType=ElementType;_this758.PredefinedType=PredefinedType;_this758.type=1534661035;return _this758;}return _createClass(IfcElectricGeneratorType);}(IfcEnergyConversionDeviceType);IFC2X32.IfcElectricGeneratorType=IfcElectricGeneratorType;var IfcElectricHeaterType=/*#__PURE__*/function(_IfcFlowTerminalType10){_inherits(IfcElectricHeaterType,_IfcFlowTerminalType10);var _super756=_createSuper(IfcElectricHeaterType);function IfcElectricHeaterType(expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType,PredefinedType){var _this759;_classCallCheck(this,IfcElectricHeaterType);_this759=_super756.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType);_this759.GlobalId=GlobalId;_this759.OwnerHistory=OwnerHistory;_this759.Name=Name;_this759.Description=Description;_this759.ApplicableOccurrence=ApplicableOccurrence;_this759.HasPropertySets=HasPropertySets;_this759.RepresentationMaps=RepresentationMaps;_this759.Tag=Tag;_this759.ElementType=ElementType;_this759.PredefinedType=PredefinedType;_this759.type=1365060375;return _this759;}return _createClass(IfcElectricHeaterType);}(IfcFlowTerminalType);IFC2X32.IfcElectricHeaterType=IfcElectricHeaterType;var IfcElectricMotorType=/*#__PURE__*/function(_IfcEnergyConversionD18){_inherits(IfcElectricMotorType,_IfcEnergyConversionD18);var _super757=_createSuper(IfcElectricMotorType);function IfcElectricMotorType(expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType,PredefinedType){var _this760;_classCallCheck(this,IfcElectricMotorType);_this760=_super757.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType);_this760.GlobalId=GlobalId;_this760.OwnerHistory=OwnerHistory;_this760.Name=Name;_this760.Description=Description;_this760.ApplicableOccurrence=ApplicableOccurrence;_this760.HasPropertySets=HasPropertySets;_this760.RepresentationMaps=RepresentationMaps;_this760.Tag=Tag;_this760.ElementType=ElementType;_this760.PredefinedType=PredefinedType;_this760.type=1217240411;return _this760;}return _createClass(IfcElectricMotorType);}(IfcEnergyConversionDeviceType);IFC2X32.IfcElectricMotorType=IfcElectricMotorType;var IfcElectricTimeControlType=/*#__PURE__*/function(_IfcFlowControllerTyp7){_inherits(IfcElectricTimeControlType,_IfcFlowControllerTyp7);var _super758=_createSuper(IfcElectricTimeControlType);function IfcElectricTimeControlType(expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType,PredefinedType){var _this761;_classCallCheck(this,IfcElectricTimeControlType);_this761=_super758.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType);_this761.GlobalId=GlobalId;_this761.OwnerHistory=OwnerHistory;_this761.Name=Name;_this761.Description=Description;_this761.ApplicableOccurrence=ApplicableOccurrence;_this761.HasPropertySets=HasPropertySets;_this761.RepresentationMaps=RepresentationMaps;_this761.Tag=Tag;_this761.ElementType=ElementType;_this761.PredefinedType=PredefinedType;_this761.type=712377611;return _this761;}return _createClass(IfcElectricTimeControlType);}(IfcFlowControllerType);IFC2X32.IfcElectricTimeControlType=IfcElectricTimeControlType;var IfcElectricalCircuit=/*#__PURE__*/function(_IfcSystem){_inherits(IfcElectricalCircuit,_IfcSystem);var _super759=_createSuper(IfcElectricalCircuit);function IfcElectricalCircuit(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType){var _this762;_classCallCheck(this,IfcElectricalCircuit);_this762=_super759.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType);_this762.GlobalId=GlobalId;_this762.OwnerHistory=OwnerHistory;_this762.Name=Name;_this762.Description=Description;_this762.ObjectType=ObjectType;_this762.type=1634875225;return _this762;}return _createClass(IfcElectricalCircuit);}(IfcSystem);IFC2X32.IfcElectricalCircuit=IfcElectricalCircuit;var IfcElectricalElement=/*#__PURE__*/function(_IfcElement10){_inherits(IfcElectricalElement,_IfcElement10);var _super760=_createSuper(IfcElectricalElement);function IfcElectricalElement(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag){var _this763;_classCallCheck(this,IfcElectricalElement);_this763=_super760.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag);_this763.GlobalId=GlobalId;_this763.OwnerHistory=OwnerHistory;_this763.Name=Name;_this763.Description=Description;_this763.ObjectType=ObjectType;_this763.ObjectPlacement=ObjectPlacement;_this763.Representation=Representation;_this763.Tag=Tag;_this763.type=857184966;return _this763;}return _createClass(IfcElectricalElement);}(IfcElement);IFC2X32.IfcElectricalElement=IfcElectricalElement;var IfcEnergyConversionDevice=/*#__PURE__*/function(_IfcDistributionFlowE10){_inherits(IfcEnergyConversionDevice,_IfcDistributionFlowE10);var _super761=_createSuper(IfcEnergyConversionDevice);function IfcEnergyConversionDevice(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag){var _this764;_classCallCheck(this,IfcEnergyConversionDevice);_this764=_super761.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag);_this764.GlobalId=GlobalId;_this764.OwnerHistory=OwnerHistory;_this764.Name=Name;_this764.Description=Description;_this764.ObjectType=ObjectType;_this764.ObjectPlacement=ObjectPlacement;_this764.Representation=Representation;_this764.Tag=Tag;_this764.type=1658829314;return _this764;}return _createClass(IfcEnergyConversionDevice);}(IfcDistributionFlowElement);IFC2X32.IfcEnergyConversionDevice=IfcEnergyConversionDevice;var IfcFanType=/*#__PURE__*/function(_IfcFlowMovingDeviceT3){_inherits(IfcFanType,_IfcFlowMovingDeviceT3);var _super762=_createSuper(IfcFanType);function IfcFanType(expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType,PredefinedType){var _this765;_classCallCheck(this,IfcFanType);_this765=_super762.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType);_this765.GlobalId=GlobalId;_this765.OwnerHistory=OwnerHistory;_this765.Name=Name;_this765.Description=Description;_this765.ApplicableOccurrence=ApplicableOccurrence;_this765.HasPropertySets=HasPropertySets;_this765.RepresentationMaps=RepresentationMaps;_this765.Tag=Tag;_this765.ElementType=ElementType;_this765.PredefinedType=PredefinedType;_this765.type=346874300;return _this765;}return _createClass(IfcFanType);}(IfcFlowMovingDeviceType);IFC2X32.IfcFanType=IfcFanType;var IfcFilterType=/*#__PURE__*/function(_IfcFlowTreatmentDevi2){_inherits(IfcFilterType,_IfcFlowTreatmentDevi2);var _super763=_createSuper(IfcFilterType);function IfcFilterType(expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType,PredefinedType){var _this766;_classCallCheck(this,IfcFilterType);_this766=_super763.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType);_this766.GlobalId=GlobalId;_this766.OwnerHistory=OwnerHistory;_this766.Name=Name;_this766.Description=Description;_this766.ApplicableOccurrence=ApplicableOccurrence;_this766.HasPropertySets=HasPropertySets;_this766.RepresentationMaps=RepresentationMaps;_this766.Tag=Tag;_this766.ElementType=ElementType;_this766.PredefinedType=PredefinedType;_this766.type=1810631287;return _this766;}return _createClass(IfcFilterType);}(IfcFlowTreatmentDeviceType);IFC2X32.IfcFilterType=IfcFilterType;var IfcFireSuppressionTerminalType=/*#__PURE__*/function(_IfcFlowTerminalType11){_inherits(IfcFireSuppressionTerminalType,_IfcFlowTerminalType11);var _super764=_createSuper(IfcFireSuppressionTerminalType);function IfcFireSuppressionTerminalType(expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType,PredefinedType){var _this767;_classCallCheck(this,IfcFireSuppressionTerminalType);_this767=_super764.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType);_this767.GlobalId=GlobalId;_this767.OwnerHistory=OwnerHistory;_this767.Name=Name;_this767.Description=Description;_this767.ApplicableOccurrence=ApplicableOccurrence;_this767.HasPropertySets=HasPropertySets;_this767.RepresentationMaps=RepresentationMaps;_this767.Tag=Tag;_this767.ElementType=ElementType;_this767.PredefinedType=PredefinedType;_this767.type=4222183408;return _this767;}return _createClass(IfcFireSuppressionTerminalType);}(IfcFlowTerminalType);IFC2X32.IfcFireSuppressionTerminalType=IfcFireSuppressionTerminalType;var IfcFlowController=/*#__PURE__*/function(_IfcDistributionFlowE11){_inherits(IfcFlowController,_IfcDistributionFlowE11);var _super765=_createSuper(IfcFlowController);function IfcFlowController(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag){var _this768;_classCallCheck(this,IfcFlowController);_this768=_super765.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag);_this768.GlobalId=GlobalId;_this768.OwnerHistory=OwnerHistory;_this768.Name=Name;_this768.Description=Description;_this768.ObjectType=ObjectType;_this768.ObjectPlacement=ObjectPlacement;_this768.Representation=Representation;_this768.Tag=Tag;_this768.type=2058353004;return _this768;}return _createClass(IfcFlowController);}(IfcDistributionFlowElement);IFC2X32.IfcFlowController=IfcFlowController;var IfcFlowFitting=/*#__PURE__*/function(_IfcDistributionFlowE12){_inherits(IfcFlowFitting,_IfcDistributionFlowE12);var _super766=_createSuper(IfcFlowFitting);function IfcFlowFitting(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag){var _this769;_classCallCheck(this,IfcFlowFitting);_this769=_super766.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag);_this769.GlobalId=GlobalId;_this769.OwnerHistory=OwnerHistory;_this769.Name=Name;_this769.Description=Description;_this769.ObjectType=ObjectType;_this769.ObjectPlacement=ObjectPlacement;_this769.Representation=Representation;_this769.Tag=Tag;_this769.type=4278956645;return _this769;}return _createClass(IfcFlowFitting);}(IfcDistributionFlowElement);IFC2X32.IfcFlowFitting=IfcFlowFitting;var IfcFlowInstrumentType=/*#__PURE__*/function(_IfcDistributionContr){_inherits(IfcFlowInstrumentType,_IfcDistributionContr);var _super767=_createSuper(IfcFlowInstrumentType);function IfcFlowInstrumentType(expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType,PredefinedType){var _this770;_classCallCheck(this,IfcFlowInstrumentType);_this770=_super767.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType);_this770.GlobalId=GlobalId;_this770.OwnerHistory=OwnerHistory;_this770.Name=Name;_this770.Description=Description;_this770.ApplicableOccurrence=ApplicableOccurrence;_this770.HasPropertySets=HasPropertySets;_this770.RepresentationMaps=RepresentationMaps;_this770.Tag=Tag;_this770.ElementType=ElementType;_this770.PredefinedType=PredefinedType;_this770.type=4037862832;return _this770;}return _createClass(IfcFlowInstrumentType);}(IfcDistributionControlElementType);IFC2X32.IfcFlowInstrumentType=IfcFlowInstrumentType;var IfcFlowMovingDevice=/*#__PURE__*/function(_IfcDistributionFlowE13){_inherits(IfcFlowMovingDevice,_IfcDistributionFlowE13);var _super768=_createSuper(IfcFlowMovingDevice);function IfcFlowMovingDevice(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag){var _this771;_classCallCheck(this,IfcFlowMovingDevice);_this771=_super768.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag);_this771.GlobalId=GlobalId;_this771.OwnerHistory=OwnerHistory;_this771.Name=Name;_this771.Description=Description;_this771.ObjectType=ObjectType;_this771.ObjectPlacement=ObjectPlacement;_this771.Representation=Representation;_this771.Tag=Tag;_this771.type=3132237377;return _this771;}return _createClass(IfcFlowMovingDevice);}(IfcDistributionFlowElement);IFC2X32.IfcFlowMovingDevice=IfcFlowMovingDevice;var IfcFlowSegment=/*#__PURE__*/function(_IfcDistributionFlowE14){_inherits(IfcFlowSegment,_IfcDistributionFlowE14);var _super769=_createSuper(IfcFlowSegment);function IfcFlowSegment(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag){var _this772;_classCallCheck(this,IfcFlowSegment);_this772=_super769.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag);_this772.GlobalId=GlobalId;_this772.OwnerHistory=OwnerHistory;_this772.Name=Name;_this772.Description=Description;_this772.ObjectType=ObjectType;_this772.ObjectPlacement=ObjectPlacement;_this772.Representation=Representation;_this772.Tag=Tag;_this772.type=987401354;return _this772;}return _createClass(IfcFlowSegment);}(IfcDistributionFlowElement);IFC2X32.IfcFlowSegment=IfcFlowSegment;var IfcFlowStorageDevice=/*#__PURE__*/function(_IfcDistributionFlowE15){_inherits(IfcFlowStorageDevice,_IfcDistributionFlowE15);var _super770=_createSuper(IfcFlowStorageDevice);function IfcFlowStorageDevice(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag){var _this773;_classCallCheck(this,IfcFlowStorageDevice);_this773=_super770.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag);_this773.GlobalId=GlobalId;_this773.OwnerHistory=OwnerHistory;_this773.Name=Name;_this773.Description=Description;_this773.ObjectType=ObjectType;_this773.ObjectPlacement=ObjectPlacement;_this773.Representation=Representation;_this773.Tag=Tag;_this773.type=707683696;return _this773;}return _createClass(IfcFlowStorageDevice);}(IfcDistributionFlowElement);IFC2X32.IfcFlowStorageDevice=IfcFlowStorageDevice;var IfcFlowTerminal=/*#__PURE__*/function(_IfcDistributionFlowE16){_inherits(IfcFlowTerminal,_IfcDistributionFlowE16);var _super771=_createSuper(IfcFlowTerminal);function IfcFlowTerminal(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag){var _this774;_classCallCheck(this,IfcFlowTerminal);_this774=_super771.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag);_this774.GlobalId=GlobalId;_this774.OwnerHistory=OwnerHistory;_this774.Name=Name;_this774.Description=Description;_this774.ObjectType=ObjectType;_this774.ObjectPlacement=ObjectPlacement;_this774.Representation=Representation;_this774.Tag=Tag;_this774.type=2223149337;return _this774;}return _createClass(IfcFlowTerminal);}(IfcDistributionFlowElement);IFC2X32.IfcFlowTerminal=IfcFlowTerminal;var IfcFlowTreatmentDevice=/*#__PURE__*/function(_IfcDistributionFlowE17){_inherits(IfcFlowTreatmentDevice,_IfcDistributionFlowE17);var _super772=_createSuper(IfcFlowTreatmentDevice);function IfcFlowTreatmentDevice(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag){var _this775;_classCallCheck(this,IfcFlowTreatmentDevice);_this775=_super772.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag);_this775.GlobalId=GlobalId;_this775.OwnerHistory=OwnerHistory;_this775.Name=Name;_this775.Description=Description;_this775.ObjectType=ObjectType;_this775.ObjectPlacement=ObjectPlacement;_this775.Representation=Representation;_this775.Tag=Tag;_this775.type=3508470533;return _this775;}return _createClass(IfcFlowTreatmentDevice);}(IfcDistributionFlowElement);IFC2X32.IfcFlowTreatmentDevice=IfcFlowTreatmentDevice;var IfcFooting=/*#__PURE__*/function(_IfcBuildingElement7){_inherits(IfcFooting,_IfcBuildingElement7);var _super773=_createSuper(IfcFooting);function IfcFooting(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag,PredefinedType){var _this776;_classCallCheck(this,IfcFooting);_this776=_super773.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag);_this776.GlobalId=GlobalId;_this776.OwnerHistory=OwnerHistory;_this776.Name=Name;_this776.Description=Description;_this776.ObjectType=ObjectType;_this776.ObjectPlacement=ObjectPlacement;_this776.Representation=Representation;_this776.Tag=Tag;_this776.PredefinedType=PredefinedType;_this776.type=900683007;return _this776;}return _createClass(IfcFooting);}(IfcBuildingElement);IFC2X32.IfcFooting=IfcFooting;var IfcMember=/*#__PURE__*/function(_IfcBuildingElement8){_inherits(IfcMember,_IfcBuildingElement8);var _super774=_createSuper(IfcMember);function IfcMember(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag){var _this777;_classCallCheck(this,IfcMember);_this777=_super774.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag);_this777.GlobalId=GlobalId;_this777.OwnerHistory=OwnerHistory;_this777.Name=Name;_this777.Description=Description;_this777.ObjectType=ObjectType;_this777.ObjectPlacement=ObjectPlacement;_this777.Representation=Representation;_this777.Tag=Tag;_this777.type=1073191201;return _this777;}return _createClass(IfcMember);}(IfcBuildingElement);IFC2X32.IfcMember=IfcMember;var IfcPile=/*#__PURE__*/function(_IfcBuildingElement9){_inherits(IfcPile,_IfcBuildingElement9);var _super775=_createSuper(IfcPile);function IfcPile(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag,PredefinedType,ConstructionType){var _this778;_classCallCheck(this,IfcPile);_this778=_super775.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag);_this778.GlobalId=GlobalId;_this778.OwnerHistory=OwnerHistory;_this778.Name=Name;_this778.Description=Description;_this778.ObjectType=ObjectType;_this778.ObjectPlacement=ObjectPlacement;_this778.Representation=Representation;_this778.Tag=Tag;_this778.PredefinedType=PredefinedType;_this778.ConstructionType=ConstructionType;_this778.type=1687234759;return _this778;}return _createClass(IfcPile);}(IfcBuildingElement);IFC2X32.IfcPile=IfcPile;var IfcPlate=/*#__PURE__*/function(_IfcBuildingElement10){_inherits(IfcPlate,_IfcBuildingElement10);var _super776=_createSuper(IfcPlate);function IfcPlate(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag){var _this779;_classCallCheck(this,IfcPlate);_this779=_super776.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag);_this779.GlobalId=GlobalId;_this779.OwnerHistory=OwnerHistory;_this779.Name=Name;_this779.Description=Description;_this779.ObjectType=ObjectType;_this779.ObjectPlacement=ObjectPlacement;_this779.Representation=Representation;_this779.Tag=Tag;_this779.type=3171933400;return _this779;}return _createClass(IfcPlate);}(IfcBuildingElement);IFC2X32.IfcPlate=IfcPlate;var IfcRailing=/*#__PURE__*/function(_IfcBuildingElement11){_inherits(IfcRailing,_IfcBuildingElement11);var _super777=_createSuper(IfcRailing);function IfcRailing(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag,PredefinedType){var _this780;_classCallCheck(this,IfcRailing);_this780=_super777.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag);_this780.GlobalId=GlobalId;_this780.OwnerHistory=OwnerHistory;_this780.Name=Name;_this780.Description=Description;_this780.ObjectType=ObjectType;_this780.ObjectPlacement=ObjectPlacement;_this780.Representation=Representation;_this780.Tag=Tag;_this780.PredefinedType=PredefinedType;_this780.type=2262370178;return _this780;}return _createClass(IfcRailing);}(IfcBuildingElement);IFC2X32.IfcRailing=IfcRailing;var IfcRamp=/*#__PURE__*/function(_IfcBuildingElement12){_inherits(IfcRamp,_IfcBuildingElement12);var _super778=_createSuper(IfcRamp);function IfcRamp(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag,ShapeType){var _this781;_classCallCheck(this,IfcRamp);_this781=_super778.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag);_this781.GlobalId=GlobalId;_this781.OwnerHistory=OwnerHistory;_this781.Name=Name;_this781.Description=Description;_this781.ObjectType=ObjectType;_this781.ObjectPlacement=ObjectPlacement;_this781.Representation=Representation;_this781.Tag=Tag;_this781.ShapeType=ShapeType;_this781.type=3024970846;return _this781;}return _createClass(IfcRamp);}(IfcBuildingElement);IFC2X32.IfcRamp=IfcRamp;var IfcRampFlight=/*#__PURE__*/function(_IfcBuildingElement13){_inherits(IfcRampFlight,_IfcBuildingElement13);var _super779=_createSuper(IfcRampFlight);function IfcRampFlight(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag){var _this782;_classCallCheck(this,IfcRampFlight);_this782=_super779.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag);_this782.GlobalId=GlobalId;_this782.OwnerHistory=OwnerHistory;_this782.Name=Name;_this782.Description=Description;_this782.ObjectType=ObjectType;_this782.ObjectPlacement=ObjectPlacement;_this782.Representation=Representation;_this782.Tag=Tag;_this782.type=3283111854;return _this782;}return _createClass(IfcRampFlight);}(IfcBuildingElement);IFC2X32.IfcRampFlight=IfcRampFlight;var IfcRationalBezierCurve=/*#__PURE__*/function(_IfcBezierCurve){_inherits(IfcRationalBezierCurve,_IfcBezierCurve);var _super780=_createSuper(IfcRationalBezierCurve);function IfcRationalBezierCurve(expressID,Degree,ControlPointsList,CurveForm,ClosedCurve,SelfIntersect,WeightsData){var _this783;_classCallCheck(this,IfcRationalBezierCurve);_this783=_super780.call(this,expressID,Degree,ControlPointsList,CurveForm,ClosedCurve,SelfIntersect);_this783.Degree=Degree;_this783.ControlPointsList=ControlPointsList;_this783.CurveForm=CurveForm;_this783.ClosedCurve=ClosedCurve;_this783.SelfIntersect=SelfIntersect;_this783.WeightsData=WeightsData;_this783.type=3055160366;return _this783;}return _createClass(IfcRationalBezierCurve);}(IfcBezierCurve);IFC2X32.IfcRationalBezierCurve=IfcRationalBezierCurve;var IfcReinforcingElement=/*#__PURE__*/function(_IfcBuildingElementCo2){_inherits(IfcReinforcingElement,_IfcBuildingElementCo2);var _super781=_createSuper(IfcReinforcingElement);function IfcReinforcingElement(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag,SteelGrade){var _this784;_classCallCheck(this,IfcReinforcingElement);_this784=_super781.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag);_this784.GlobalId=GlobalId;_this784.OwnerHistory=OwnerHistory;_this784.Name=Name;_this784.Description=Description;_this784.ObjectType=ObjectType;_this784.ObjectPlacement=ObjectPlacement;_this784.Representation=Representation;_this784.Tag=Tag;_this784.SteelGrade=SteelGrade;_this784.type=3027567501;return _this784;}return _createClass(IfcReinforcingElement);}(IfcBuildingElementComponent);IFC2X32.IfcReinforcingElement=IfcReinforcingElement;var IfcReinforcingMesh=/*#__PURE__*/function(_IfcReinforcingElemen){_inherits(IfcReinforcingMesh,_IfcReinforcingElemen);var _super782=_createSuper(IfcReinforcingMesh);function IfcReinforcingMesh(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag,SteelGrade,MeshLength,MeshWidth,LongitudinalBarNominalDiameter,TransverseBarNominalDiameter,LongitudinalBarCrossSectionArea,TransverseBarCrossSectionArea,LongitudinalBarSpacing,TransverseBarSpacing){var _this785;_classCallCheck(this,IfcReinforcingMesh);_this785=_super782.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag,SteelGrade);_this785.GlobalId=GlobalId;_this785.OwnerHistory=OwnerHistory;_this785.Name=Name;_this785.Description=Description;_this785.ObjectType=ObjectType;_this785.ObjectPlacement=ObjectPlacement;_this785.Representation=Representation;_this785.Tag=Tag;_this785.SteelGrade=SteelGrade;_this785.MeshLength=MeshLength;_this785.MeshWidth=MeshWidth;_this785.LongitudinalBarNominalDiameter=LongitudinalBarNominalDiameter;_this785.TransverseBarNominalDiameter=TransverseBarNominalDiameter;_this785.LongitudinalBarCrossSectionArea=LongitudinalBarCrossSectionArea;_this785.TransverseBarCrossSectionArea=TransverseBarCrossSectionArea;_this785.LongitudinalBarSpacing=LongitudinalBarSpacing;_this785.TransverseBarSpacing=TransverseBarSpacing;_this785.type=2320036040;return _this785;}return _createClass(IfcReinforcingMesh);}(IfcReinforcingElement);IFC2X32.IfcReinforcingMesh=IfcReinforcingMesh;var IfcRoof=/*#__PURE__*/function(_IfcBuildingElement14){_inherits(IfcRoof,_IfcBuildingElement14);var _super783=_createSuper(IfcRoof);function IfcRoof(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag,ShapeType){var _this786;_classCallCheck(this,IfcRoof);_this786=_super783.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag);_this786.GlobalId=GlobalId;_this786.OwnerHistory=OwnerHistory;_this786.Name=Name;_this786.Description=Description;_this786.ObjectType=ObjectType;_this786.ObjectPlacement=ObjectPlacement;_this786.Representation=Representation;_this786.Tag=Tag;_this786.ShapeType=ShapeType;_this786.type=2016517767;return _this786;}return _createClass(IfcRoof);}(IfcBuildingElement);IFC2X32.IfcRoof=IfcRoof;var IfcRoundedEdgeFeature=/*#__PURE__*/function(_IfcEdgeFeature){_inherits(IfcRoundedEdgeFeature,_IfcEdgeFeature);var _super784=_createSuper(IfcRoundedEdgeFeature);function IfcRoundedEdgeFeature(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag,FeatureLength,Radius){var _this787;_classCallCheck(this,IfcRoundedEdgeFeature);_this787=_super784.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag,FeatureLength);_this787.GlobalId=GlobalId;_this787.OwnerHistory=OwnerHistory;_this787.Name=Name;_this787.Description=Description;_this787.ObjectType=ObjectType;_this787.ObjectPlacement=ObjectPlacement;_this787.Representation=Representation;_this787.Tag=Tag;_this787.FeatureLength=FeatureLength;_this787.Radius=Radius;_this787.type=1376911519;return _this787;}return _createClass(IfcRoundedEdgeFeature);}(IfcEdgeFeature);IFC2X32.IfcRoundedEdgeFeature=IfcRoundedEdgeFeature;var IfcSensorType=/*#__PURE__*/function(_IfcDistributionContr2){_inherits(IfcSensorType,_IfcDistributionContr2);var _super785=_createSuper(IfcSensorType);function IfcSensorType(expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType,PredefinedType){var _this788;_classCallCheck(this,IfcSensorType);_this788=_super785.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType);_this788.GlobalId=GlobalId;_this788.OwnerHistory=OwnerHistory;_this788.Name=Name;_this788.Description=Description;_this788.ApplicableOccurrence=ApplicableOccurrence;_this788.HasPropertySets=HasPropertySets;_this788.RepresentationMaps=RepresentationMaps;_this788.Tag=Tag;_this788.ElementType=ElementType;_this788.PredefinedType=PredefinedType;_this788.type=1783015770;return _this788;}return _createClass(IfcSensorType);}(IfcDistributionControlElementType);IFC2X32.IfcSensorType=IfcSensorType;var IfcSlab=/*#__PURE__*/function(_IfcBuildingElement15){_inherits(IfcSlab,_IfcBuildingElement15);var _super786=_createSuper(IfcSlab);function IfcSlab(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag,PredefinedType){var _this789;_classCallCheck(this,IfcSlab);_this789=_super786.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag);_this789.GlobalId=GlobalId;_this789.OwnerHistory=OwnerHistory;_this789.Name=Name;_this789.Description=Description;_this789.ObjectType=ObjectType;_this789.ObjectPlacement=ObjectPlacement;_this789.Representation=Representation;_this789.Tag=Tag;_this789.PredefinedType=PredefinedType;_this789.type=1529196076;return _this789;}return _createClass(IfcSlab);}(IfcBuildingElement);IFC2X32.IfcSlab=IfcSlab;var IfcStair=/*#__PURE__*/function(_IfcBuildingElement16){_inherits(IfcStair,_IfcBuildingElement16);var _super787=_createSuper(IfcStair);function IfcStair(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag,ShapeType){var _this790;_classCallCheck(this,IfcStair);_this790=_super787.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag);_this790.GlobalId=GlobalId;_this790.OwnerHistory=OwnerHistory;_this790.Name=Name;_this790.Description=Description;_this790.ObjectType=ObjectType;_this790.ObjectPlacement=ObjectPlacement;_this790.Representation=Representation;_this790.Tag=Tag;_this790.ShapeType=ShapeType;_this790.type=331165859;return _this790;}return _createClass(IfcStair);}(IfcBuildingElement);IFC2X32.IfcStair=IfcStair;var IfcStairFlight=/*#__PURE__*/function(_IfcBuildingElement17){_inherits(IfcStairFlight,_IfcBuildingElement17);var _super788=_createSuper(IfcStairFlight);function IfcStairFlight(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag,NumberOfRiser,NumberOfTreads,RiserHeight,TreadLength){var _this791;_classCallCheck(this,IfcStairFlight);_this791=_super788.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag);_this791.GlobalId=GlobalId;_this791.OwnerHistory=OwnerHistory;_this791.Name=Name;_this791.Description=Description;_this791.ObjectType=ObjectType;_this791.ObjectPlacement=ObjectPlacement;_this791.Representation=Representation;_this791.Tag=Tag;_this791.NumberOfRiser=NumberOfRiser;_this791.NumberOfTreads=NumberOfTreads;_this791.RiserHeight=RiserHeight;_this791.TreadLength=TreadLength;_this791.type=4252922144;return _this791;}return _createClass(IfcStairFlight);}(IfcBuildingElement);IFC2X32.IfcStairFlight=IfcStairFlight;var IfcStructuralAnalysisModel=/*#__PURE__*/function(_IfcSystem2){_inherits(IfcStructuralAnalysisModel,_IfcSystem2);var _super789=_createSuper(IfcStructuralAnalysisModel);function IfcStructuralAnalysisModel(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,PredefinedType,OrientationOf2DPlane,LoadedBy,HasResults){var _this792;_classCallCheck(this,IfcStructuralAnalysisModel);_this792=_super789.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType);_this792.GlobalId=GlobalId;_this792.OwnerHistory=OwnerHistory;_this792.Name=Name;_this792.Description=Description;_this792.ObjectType=ObjectType;_this792.PredefinedType=PredefinedType;_this792.OrientationOf2DPlane=OrientationOf2DPlane;_this792.LoadedBy=LoadedBy;_this792.HasResults=HasResults;_this792.type=2515109513;return _this792;}return _createClass(IfcStructuralAnalysisModel);}(IfcSystem);IFC2X32.IfcStructuralAnalysisModel=IfcStructuralAnalysisModel;var IfcTendon=/*#__PURE__*/function(_IfcReinforcingElemen2){_inherits(IfcTendon,_IfcReinforcingElemen2);var _super790=_createSuper(IfcTendon);function IfcTendon(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag,SteelGrade,PredefinedType,NominalDiameter,CrossSectionArea,TensionForce,PreStress,FrictionCoefficient,AnchorageSlip,MinCurvatureRadius){var _this793;_classCallCheck(this,IfcTendon);_this793=_super790.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag,SteelGrade);_this793.GlobalId=GlobalId;_this793.OwnerHistory=OwnerHistory;_this793.Name=Name;_this793.Description=Description;_this793.ObjectType=ObjectType;_this793.ObjectPlacement=ObjectPlacement;_this793.Representation=Representation;_this793.Tag=Tag;_this793.SteelGrade=SteelGrade;_this793.PredefinedType=PredefinedType;_this793.NominalDiameter=NominalDiameter;_this793.CrossSectionArea=CrossSectionArea;_this793.TensionForce=TensionForce;_this793.PreStress=PreStress;_this793.FrictionCoefficient=FrictionCoefficient;_this793.AnchorageSlip=AnchorageSlip;_this793.MinCurvatureRadius=MinCurvatureRadius;_this793.type=3824725483;return _this793;}return _createClass(IfcTendon);}(IfcReinforcingElement);IFC2X32.IfcTendon=IfcTendon;var IfcTendonAnchor=/*#__PURE__*/function(_IfcReinforcingElemen3){_inherits(IfcTendonAnchor,_IfcReinforcingElemen3);var _super791=_createSuper(IfcTendonAnchor);function IfcTendonAnchor(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag,SteelGrade){var _this794;_classCallCheck(this,IfcTendonAnchor);_this794=_super791.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag,SteelGrade);_this794.GlobalId=GlobalId;_this794.OwnerHistory=OwnerHistory;_this794.Name=Name;_this794.Description=Description;_this794.ObjectType=ObjectType;_this794.ObjectPlacement=ObjectPlacement;_this794.Representation=Representation;_this794.Tag=Tag;_this794.SteelGrade=SteelGrade;_this794.type=2347447852;return _this794;}return _createClass(IfcTendonAnchor);}(IfcReinforcingElement);IFC2X32.IfcTendonAnchor=IfcTendonAnchor;var IfcVibrationIsolatorType=/*#__PURE__*/function(_IfcDiscreteAccessory){_inherits(IfcVibrationIsolatorType,_IfcDiscreteAccessory);var _super792=_createSuper(IfcVibrationIsolatorType);function IfcVibrationIsolatorType(expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType,PredefinedType){var _this795;_classCallCheck(this,IfcVibrationIsolatorType);_this795=_super792.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType);_this795.GlobalId=GlobalId;_this795.OwnerHistory=OwnerHistory;_this795.Name=Name;_this795.Description=Description;_this795.ApplicableOccurrence=ApplicableOccurrence;_this795.HasPropertySets=HasPropertySets;_this795.RepresentationMaps=RepresentationMaps;_this795.Tag=Tag;_this795.ElementType=ElementType;_this795.PredefinedType=PredefinedType;_this795.type=3313531582;return _this795;}return _createClass(IfcVibrationIsolatorType);}(IfcDiscreteAccessoryType);IFC2X32.IfcVibrationIsolatorType=IfcVibrationIsolatorType;var IfcWall=/*#__PURE__*/function(_IfcBuildingElement18){_inherits(IfcWall,_IfcBuildingElement18);var _super793=_createSuper(IfcWall);function IfcWall(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag){var _this796;_classCallCheck(this,IfcWall);_this796=_super793.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag);_this796.GlobalId=GlobalId;_this796.OwnerHistory=OwnerHistory;_this796.Name=Name;_this796.Description=Description;_this796.ObjectType=ObjectType;_this796.ObjectPlacement=ObjectPlacement;_this796.Representation=Representation;_this796.Tag=Tag;_this796.type=2391406946;return _this796;}return _createClass(IfcWall);}(IfcBuildingElement);IFC2X32.IfcWall=IfcWall;var IfcWallStandardCase=/*#__PURE__*/function(_IfcWall){_inherits(IfcWallStandardCase,_IfcWall);var _super794=_createSuper(IfcWallStandardCase);function IfcWallStandardCase(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag){var _this797;_classCallCheck(this,IfcWallStandardCase);_this797=_super794.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag);_this797.GlobalId=GlobalId;_this797.OwnerHistory=OwnerHistory;_this797.Name=Name;_this797.Description=Description;_this797.ObjectType=ObjectType;_this797.ObjectPlacement=ObjectPlacement;_this797.Representation=Representation;_this797.Tag=Tag;_this797.type=3512223829;return _this797;}return _createClass(IfcWallStandardCase);}(IfcWall);IFC2X32.IfcWallStandardCase=IfcWallStandardCase;var IfcWindow=/*#__PURE__*/function(_IfcBuildingElement19){_inherits(IfcWindow,_IfcBuildingElement19);var _super795=_createSuper(IfcWindow);function IfcWindow(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag,OverallHeight,OverallWidth){var _this798;_classCallCheck(this,IfcWindow);_this798=_super795.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag);_this798.GlobalId=GlobalId;_this798.OwnerHistory=OwnerHistory;_this798.Name=Name;_this798.Description=Description;_this798.ObjectType=ObjectType;_this798.ObjectPlacement=ObjectPlacement;_this798.Representation=Representation;_this798.Tag=Tag;_this798.OverallHeight=OverallHeight;_this798.OverallWidth=OverallWidth;_this798.type=3304561284;return _this798;}return _createClass(IfcWindow);}(IfcBuildingElement);IFC2X32.IfcWindow=IfcWindow;var IfcActuatorType=/*#__PURE__*/function(_IfcDistributionContr3){_inherits(IfcActuatorType,_IfcDistributionContr3);var _super796=_createSuper(IfcActuatorType);function IfcActuatorType(expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType,PredefinedType){var _this799;_classCallCheck(this,IfcActuatorType);_this799=_super796.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType);_this799.GlobalId=GlobalId;_this799.OwnerHistory=OwnerHistory;_this799.Name=Name;_this799.Description=Description;_this799.ApplicableOccurrence=ApplicableOccurrence;_this799.HasPropertySets=HasPropertySets;_this799.RepresentationMaps=RepresentationMaps;_this799.Tag=Tag;_this799.ElementType=ElementType;_this799.PredefinedType=PredefinedType;_this799.type=2874132201;return _this799;}return _createClass(IfcActuatorType);}(IfcDistributionControlElementType);IFC2X32.IfcActuatorType=IfcActuatorType;var IfcAlarmType=/*#__PURE__*/function(_IfcDistributionContr4){_inherits(IfcAlarmType,_IfcDistributionContr4);var _super797=_createSuper(IfcAlarmType);function IfcAlarmType(expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType,PredefinedType){var _this800;_classCallCheck(this,IfcAlarmType);_this800=_super797.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType);_this800.GlobalId=GlobalId;_this800.OwnerHistory=OwnerHistory;_this800.Name=Name;_this800.Description=Description;_this800.ApplicableOccurrence=ApplicableOccurrence;_this800.HasPropertySets=HasPropertySets;_this800.RepresentationMaps=RepresentationMaps;_this800.Tag=Tag;_this800.ElementType=ElementType;_this800.PredefinedType=PredefinedType;_this800.type=3001207471;return _this800;}return _createClass(IfcAlarmType);}(IfcDistributionControlElementType);IFC2X32.IfcAlarmType=IfcAlarmType;var IfcBeam=/*#__PURE__*/function(_IfcBuildingElement20){_inherits(IfcBeam,_IfcBuildingElement20);var _super798=_createSuper(IfcBeam);function IfcBeam(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag){var _this801;_classCallCheck(this,IfcBeam);_this801=_super798.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag);_this801.GlobalId=GlobalId;_this801.OwnerHistory=OwnerHistory;_this801.Name=Name;_this801.Description=Description;_this801.ObjectType=ObjectType;_this801.ObjectPlacement=ObjectPlacement;_this801.Representation=Representation;_this801.Tag=Tag;_this801.type=753842376;return _this801;}return _createClass(IfcBeam);}(IfcBuildingElement);IFC2X32.IfcBeam=IfcBeam;var IfcChamferEdgeFeature=/*#__PURE__*/function(_IfcEdgeFeature2){_inherits(IfcChamferEdgeFeature,_IfcEdgeFeature2);var _super799=_createSuper(IfcChamferEdgeFeature);function IfcChamferEdgeFeature(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag,FeatureLength,Width,Height){var _this802;_classCallCheck(this,IfcChamferEdgeFeature);_this802=_super799.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag,FeatureLength);_this802.GlobalId=GlobalId;_this802.OwnerHistory=OwnerHistory;_this802.Name=Name;_this802.Description=Description;_this802.ObjectType=ObjectType;_this802.ObjectPlacement=ObjectPlacement;_this802.Representation=Representation;_this802.Tag=Tag;_this802.FeatureLength=FeatureLength;_this802.Width=Width;_this802.Height=Height;_this802.type=2454782716;return _this802;}return _createClass(IfcChamferEdgeFeature);}(IfcEdgeFeature);IFC2X32.IfcChamferEdgeFeature=IfcChamferEdgeFeature;var IfcControllerType=/*#__PURE__*/function(_IfcDistributionContr5){_inherits(IfcControllerType,_IfcDistributionContr5);var _super800=_createSuper(IfcControllerType);function IfcControllerType(expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType,PredefinedType){var _this803;_classCallCheck(this,IfcControllerType);_this803=_super800.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType);_this803.GlobalId=GlobalId;_this803.OwnerHistory=OwnerHistory;_this803.Name=Name;_this803.Description=Description;_this803.ApplicableOccurrence=ApplicableOccurrence;_this803.HasPropertySets=HasPropertySets;_this803.RepresentationMaps=RepresentationMaps;_this803.Tag=Tag;_this803.ElementType=ElementType;_this803.PredefinedType=PredefinedType;_this803.type=578613899;return _this803;}return _createClass(IfcControllerType);}(IfcDistributionControlElementType);IFC2X32.IfcControllerType=IfcControllerType;var IfcDistributionChamberElement=/*#__PURE__*/function(_IfcDistributionFlowE18){_inherits(IfcDistributionChamberElement,_IfcDistributionFlowE18);var _super801=_createSuper(IfcDistributionChamberElement);function IfcDistributionChamberElement(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag){var _this804;_classCallCheck(this,IfcDistributionChamberElement);_this804=_super801.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag);_this804.GlobalId=GlobalId;_this804.OwnerHistory=OwnerHistory;_this804.Name=Name;_this804.Description=Description;_this804.ObjectType=ObjectType;_this804.ObjectPlacement=ObjectPlacement;_this804.Representation=Representation;_this804.Tag=Tag;_this804.type=1052013943;return _this804;}return _createClass(IfcDistributionChamberElement);}(IfcDistributionFlowElement);IFC2X32.IfcDistributionChamberElement=IfcDistributionChamberElement;var IfcDistributionControlElement=/*#__PURE__*/function(_IfcDistributionEleme4){_inherits(IfcDistributionControlElement,_IfcDistributionEleme4);var _super802=_createSuper(IfcDistributionControlElement);function IfcDistributionControlElement(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag,ControlElementId){var _this805;_classCallCheck(this,IfcDistributionControlElement);_this805=_super802.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag);_this805.GlobalId=GlobalId;_this805.OwnerHistory=OwnerHistory;_this805.Name=Name;_this805.Description=Description;_this805.ObjectType=ObjectType;_this805.ObjectPlacement=ObjectPlacement;_this805.Representation=Representation;_this805.Tag=Tag;_this805.ControlElementId=ControlElementId;_this805.type=1062813311;return _this805;}return _createClass(IfcDistributionControlElement);}(IfcDistributionElement);IFC2X32.IfcDistributionControlElement=IfcDistributionControlElement;var IfcElectricDistributionPoint=/*#__PURE__*/function(_IfcFlowController){_inherits(IfcElectricDistributionPoint,_IfcFlowController);var _super803=_createSuper(IfcElectricDistributionPoint);function IfcElectricDistributionPoint(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag,DistributionPointFunction,UserDefinedFunction){var _this806;_classCallCheck(this,IfcElectricDistributionPoint);_this806=_super803.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag);_this806.GlobalId=GlobalId;_this806.OwnerHistory=OwnerHistory;_this806.Name=Name;_this806.Description=Description;_this806.ObjectType=ObjectType;_this806.ObjectPlacement=ObjectPlacement;_this806.Representation=Representation;_this806.Tag=Tag;_this806.DistributionPointFunction=DistributionPointFunction;_this806.UserDefinedFunction=UserDefinedFunction;_this806.type=3700593921;return _this806;}return _createClass(IfcElectricDistributionPoint);}(IfcFlowController);IFC2X32.IfcElectricDistributionPoint=IfcElectricDistributionPoint;var IfcReinforcingBar=/*#__PURE__*/function(_IfcReinforcingElemen4){_inherits(IfcReinforcingBar,_IfcReinforcingElemen4);var _super804=_createSuper(IfcReinforcingBar);function IfcReinforcingBar(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag,SteelGrade,NominalDiameter,CrossSectionArea,BarLength,BarRole,BarSurface){var _this807;_classCallCheck(this,IfcReinforcingBar);_this807=_super804.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag,SteelGrade);_this807.GlobalId=GlobalId;_this807.OwnerHistory=OwnerHistory;_this807.Name=Name;_this807.Description=Description;_this807.ObjectType=ObjectType;_this807.ObjectPlacement=ObjectPlacement;_this807.Representation=Representation;_this807.Tag=Tag;_this807.SteelGrade=SteelGrade;_this807.NominalDiameter=NominalDiameter;_this807.CrossSectionArea=CrossSectionArea;_this807.BarLength=BarLength;_this807.BarRole=BarRole;_this807.BarSurface=BarSurface;_this807.type=979691226;return _this807;}return _createClass(IfcReinforcingBar);}(IfcReinforcingElement);IFC2X32.IfcReinforcingBar=IfcReinforcingBar;})(IFC2X3||(IFC2X3={}));SchemaNames[2]="IFC4";FromRawLineData[2]={3630933823:function _(id,v){return new IFC4.IfcActorRole(id,v[0],!v[1]?null:new IFC4.IfcLabel(v[1].value),!v[2]?null:new IFC4.IfcText(v[2].value));},618182010:function _(id,v){return new IFC4.IfcAddress(id,v[0],!v[1]?null:new IFC4.IfcText(v[1].value),!v[2]?null:new IFC4.IfcLabel(v[2].value));},639542469:function _(id,v){return new IFC4.IfcApplication(id,new Handle(v[0].value),new IFC4.IfcLabel(v[1].value),new IFC4.IfcLabel(v[2].value),new IFC4.IfcIdentifier(v[3].value));},411424972:function _(id,v){return new IFC4.IfcAppliedValue(id,!v[0]?null:new IFC4.IfcLabel(v[0].value),!v[1]?null:new IFC4.IfcText(v[1].value),!v[2]?null:new Handle(v[2].value),!v[3]?null:new Handle(v[3].value),!v[4]?null:new IFC4.IfcDate(v[4].value),!v[5]?null:new IFC4.IfcDate(v[5].value),!v[6]?null:new IFC4.IfcLabel(v[6].value),!v[7]?null:new IFC4.IfcLabel(v[7].value),v[8],!v[9]?null:v[9].map(function(p){return new Handle(p.value);}));},130549933:function _(id,v){return new IFC4.IfcApproval(id,!v[0]?null:new IFC4.IfcIdentifier(v[0].value),!v[1]?null:new IFC4.IfcLabel(v[1].value),!v[2]?null:new IFC4.IfcText(v[2].value),!v[3]?null:new IFC4.IfcDateTime(v[3].value),!v[4]?null:new IFC4.IfcLabel(v[4].value),!v[5]?null:new IFC4.IfcLabel(v[5].value),!v[6]?null:new IFC4.IfcText(v[6].value),!v[7]?null:new Handle(v[7].value),!v[8]?null:new Handle(v[8].value));},4037036970:function _(id,v){return new IFC4.IfcBoundaryCondition(id,!v[0]?null:new IFC4.IfcLabel(v[0].value));},1560379544:function _(id,v){return new IFC4.IfcBoundaryEdgeCondition(id,!v[0]?null:new IFC4.IfcLabel(v[0].value),!v[1]?null:TypeInitialiser(2,v[1]),!v[2]?null:TypeInitialiser(2,v[2]),!v[3]?null:TypeInitialiser(2,v[3]),!v[4]?null:TypeInitialiser(2,v[4]),!v[5]?null:TypeInitialiser(2,v[5]),!v[6]?null:TypeInitialiser(2,v[6]));},3367102660:function _(id,v){return new IFC4.IfcBoundaryFaceCondition(id,!v[0]?null:new IFC4.IfcLabel(v[0].value),!v[1]?null:TypeInitialiser(2,v[1]),!v[2]?null:TypeInitialiser(2,v[2]),!v[3]?null:TypeInitialiser(2,v[3]));},1387855156:function _(id,v){return new IFC4.IfcBoundaryNodeCondition(id,!v[0]?null:new IFC4.IfcLabel(v[0].value),!v[1]?null:TypeInitialiser(2,v[1]),!v[2]?null:TypeInitialiser(2,v[2]),!v[3]?null:TypeInitialiser(2,v[3]),!v[4]?null:TypeInitialiser(2,v[4]),!v[5]?null:TypeInitialiser(2,v[5]),!v[6]?null:TypeInitialiser(2,v[6]));},2069777674:function _(id,v){return new IFC4.IfcBoundaryNodeConditionWarping(id,!v[0]?null:new IFC4.IfcLabel(v[0].value),!v[1]?null:TypeInitialiser(2,v[1]),!v[2]?null:TypeInitialiser(2,v[2]),!v[3]?null:TypeInitialiser(2,v[3]),!v[4]?null:TypeInitialiser(2,v[4]),!v[5]?null:TypeInitialiser(2,v[5]),!v[6]?null:TypeInitialiser(2,v[6]),!v[7]?null:TypeInitialiser(2,v[7]));},2859738748:function _(id,_44){return new IFC4.IfcConnectionGeometry(id);},2614616156:function _(id,v){return new IFC4.IfcConnectionPointGeometry(id,new Handle(v[0].value),!v[1]?null:new Handle(v[1].value));},2732653382:function _(id,v){return new IFC4.IfcConnectionSurfaceGeometry(id,new Handle(v[0].value),!v[1]?null:new Handle(v[1].value));},775493141:function _(id,v){return new IFC4.IfcConnectionVolumeGeometry(id,new Handle(v[0].value),!v[1]?null:new Handle(v[1].value));},1959218052:function _(id,v){return new IFC4.IfcConstraint(id,new IFC4.IfcLabel(v[0].value),!v[1]?null:new IFC4.IfcText(v[1].value),v[2],!v[3]?null:new IFC4.IfcLabel(v[3].value),!v[4]?null:new Handle(v[4].value),!v[5]?null:new IFC4.IfcDateTime(v[5].value),!v[6]?null:new IFC4.IfcLabel(v[6].value));},1785450214:function _(id,v){return new IFC4.IfcCoordinateOperation(id,new Handle(v[0].value),new Handle(v[1].value));},1466758467:function _(id,v){return new IFC4.IfcCoordinateReferenceSystem(id,new IFC4.IfcLabel(v[0].value),!v[1]?null:new IFC4.IfcText(v[1].value),!v[2]?null:new IFC4.IfcIdentifier(v[2].value),!v[3]?null:new IFC4.IfcIdentifier(v[3].value));},602808272:function _(id,v){return new IFC4.IfcCostValue(id,!v[0]?null:new IFC4.IfcLabel(v[0].value),!v[1]?null:new IFC4.IfcText(v[1].value),!v[2]?null:new Handle(v[2].value),!v[3]?null:new Handle(v[3].value),!v[4]?null:new IFC4.IfcDate(v[4].value),!v[5]?null:new IFC4.IfcDate(v[5].value),!v[6]?null:new IFC4.IfcLabel(v[6].value),!v[7]?null:new IFC4.IfcLabel(v[7].value),v[8],!v[9]?null:v[9].map(function(p){return new Handle(p.value);}));},1765591967:function _(id,v){return new IFC4.IfcDerivedUnit(id,v[0].map(function(p){return new Handle(p.value);}),v[1],!v[2]?null:new IFC4.IfcLabel(v[2].value));},1045800335:function _(id,v){return new IFC4.IfcDerivedUnitElement(id,new Handle(v[0].value),v[1].value);},2949456006:function _(id,v){return new IFC4.IfcDimensionalExponents(id,v[0].value,v[1].value,v[2].value,v[3].value,v[4].value,v[5].value,v[6].value);},4294318154:function _(id,_45){return new IFC4.IfcExternalInformation(id);},3200245327:function _(id,v){return new IFC4.IfcExternalReference(id,!v[0]?null:new IFC4.IfcURIReference(v[0].value),!v[1]?null:new IFC4.IfcIdentifier(v[1].value),!v[2]?null:new IFC4.IfcLabel(v[2].value));},2242383968:function _(id,v){return new IFC4.IfcExternallyDefinedHatchStyle(id,!v[0]?null:new IFC4.IfcURIReference(v[0].value),!v[1]?null:new IFC4.IfcIdentifier(v[1].value),!v[2]?null:new IFC4.IfcLabel(v[2].value));},1040185647:function _(id,v){return new IFC4.IfcExternallyDefinedSurfaceStyle(id,!v[0]?null:new IFC4.IfcURIReference(v[0].value),!v[1]?null:new IFC4.IfcIdentifier(v[1].value),!v[2]?null:new IFC4.IfcLabel(v[2].value));},3548104201:function _(id,v){return new IFC4.IfcExternallyDefinedTextFont(id,!v[0]?null:new IFC4.IfcURIReference(v[0].value),!v[1]?null:new IFC4.IfcIdentifier(v[1].value),!v[2]?null:new IFC4.IfcLabel(v[2].value));},852622518:function _(id,v){return new IFC4.IfcGridAxis(id,!v[0]?null:new IFC4.IfcLabel(v[0].value),new Handle(v[1].value),new IFC4.IfcBoolean(v[2].value));},3020489413:function _(id,v){return new IFC4.IfcIrregularTimeSeriesValue(id,new IFC4.IfcDateTime(v[0].value),v[1].map(function(p){return TypeInitialiser(2,p);}));},2655187982:function _(id,v){return new IFC4.IfcLibraryInformation(id,new IFC4.IfcLabel(v[0].value),!v[1]?null:new IFC4.IfcLabel(v[1].value),!v[2]?null:new Handle(v[2].value),!v[3]?null:new IFC4.IfcDateTime(v[3].value),!v[4]?null:new IFC4.IfcURIReference(v[4].value),!v[5]?null:new IFC4.IfcText(v[5].value));},3452421091:function _(id,v){return new IFC4.IfcLibraryReference(id,!v[0]?null:new IFC4.IfcURIReference(v[0].value),!v[1]?null:new IFC4.IfcIdentifier(v[1].value),!v[2]?null:new IFC4.IfcLabel(v[2].value),!v[3]?null:new IFC4.IfcText(v[3].value),!v[4]?null:new IFC4.IfcLanguageId(v[4].value),!v[5]?null:new Handle(v[5].value));},4162380809:function _(id,v){return new IFC4.IfcLightDistributionData(id,new IFC4.IfcPlaneAngleMeasure(v[0].value),v[1].map(function(p){return new IFC4.IfcPlaneAngleMeasure(p.value);}),v[2].map(function(p){return new IFC4.IfcLuminousIntensityDistributionMeasure(p.value);}));},1566485204:function _(id,v){return new IFC4.IfcLightIntensityDistribution(id,v[0],v[1].map(function(p){return new Handle(p.value);}));},3057273783:function _(id,v){return new IFC4.IfcMapConversion(id,new Handle(v[0].value),new Handle(v[1].value),new IFC4.IfcLengthMeasure(v[2].value),new IFC4.IfcLengthMeasure(v[3].value),new IFC4.IfcLengthMeasure(v[4].value),!v[5]?null:new IFC4.IfcReal(v[5].value),!v[6]?null:new IFC4.IfcReal(v[6].value),!v[7]?null:new IFC4.IfcReal(v[7].value));},1847130766:function _(id,v){return new IFC4.IfcMaterialClassificationRelationship(id,v[0].map(function(p){return new Handle(p.value);}),new Handle(v[1].value));},760658860:function _(id,_46){return new IFC4.IfcMaterialDefinition(id);},248100487:function _(id,v){return new IFC4.IfcMaterialLayer(id,!v[0]?null:new Handle(v[0].value),new IFC4.IfcNonNegativeLengthMeasure(v[1].value),!v[2]?null:new IFC4.IfcLogical(v[2].value),!v[3]?null:new IFC4.IfcLabel(v[3].value),!v[4]?null:new IFC4.IfcText(v[4].value),!v[5]?null:new IFC4.IfcLabel(v[5].value),!v[6]?null:new IFC4.IfcInteger(v[6].value));},3303938423:function _(id,v){return new IFC4.IfcMaterialLayerSet(id,v[0].map(function(p){return new Handle(p.value);}),!v[1]?null:new IFC4.IfcLabel(v[1].value),!v[2]?null:new IFC4.IfcText(v[2].value));},1847252529:function _(id,v){return new IFC4.IfcMaterialLayerWithOffsets(id,!v[0]?null:new Handle(v[0].value),new IFC4.IfcNonNegativeLengthMeasure(v[1].value),!v[2]?null:new IFC4.IfcLogical(v[2].value),!v[3]?null:new IFC4.IfcLabel(v[3].value),!v[4]?null:new IFC4.IfcText(v[4].value),!v[5]?null:new IFC4.IfcLabel(v[5].value),!v[6]?null:new IFC4.IfcInteger(v[6].value),v[7],new IFC4.IfcLengthMeasure(v[8].value));},2199411900:function _(id,v){return new IFC4.IfcMaterialList(id,v[0].map(function(p){return new Handle(p.value);}));},2235152071:function _(id,v){return new IFC4.IfcMaterialProfile(id,!v[0]?null:new IFC4.IfcLabel(v[0].value),!v[1]?null:new IFC4.IfcText(v[1].value),!v[2]?null:new Handle(v[2].value),new Handle(v[3].value),!v[4]?null:new IFC4.IfcInteger(v[4].value),!v[5]?null:new IFC4.IfcLabel(v[5].value));},164193824:function _(id,v){return new IFC4.IfcMaterialProfileSet(id,!v[0]?null:new IFC4.IfcLabel(v[0].value),!v[1]?null:new IFC4.IfcText(v[1].value),v[2].map(function(p){return new Handle(p.value);}),!v[3]?null:new Handle(v[3].value));},552965576:function _(id,v){return new IFC4.IfcMaterialProfileWithOffsets(id,!v[0]?null:new IFC4.IfcLabel(v[0].value),!v[1]?null:new IFC4.IfcText(v[1].value),!v[2]?null:new Handle(v[2].value),new Handle(v[3].value),!v[4]?null:new IFC4.IfcInteger(v[4].value),!v[5]?null:new IFC4.IfcLabel(v[5].value),new IFC4.IfcLengthMeasure(v[6].value));},1507914824:function _(id,_47){return new IFC4.IfcMaterialUsageDefinition(id);},2597039031:function _(id,v){return new IFC4.IfcMeasureWithUnit(id,TypeInitialiser(2,v[0]),new Handle(v[1].value));},3368373690:function _(id,v){return new IFC4.IfcMetric(id,new IFC4.IfcLabel(v[0].value),!v[1]?null:new IFC4.IfcText(v[1].value),v[2],!v[3]?null:new IFC4.IfcLabel(v[3].value),!v[4]?null:new Handle(v[4].value),!v[5]?null:new IFC4.IfcDateTime(v[5].value),!v[6]?null:new IFC4.IfcLabel(v[6].value),v[7],!v[8]?null:new IFC4.IfcLabel(v[8].value),!v[9]?null:new Handle(v[9].value),!v[10]?null:new Handle(v[10].value));},2706619895:function _(id,v){return new IFC4.IfcMonetaryUnit(id,new IFC4.IfcLabel(v[0].value));},1918398963:function _(id,v){return new IFC4.IfcNamedUnit(id,new Handle(v[0].value),v[1]);},3701648758:function _(id,_48){return new IFC4.IfcObjectPlacement(id);},2251480897:function _(id,v){return new IFC4.IfcObjective(id,new IFC4.IfcLabel(v[0].value),!v[1]?null:new IFC4.IfcText(v[1].value),v[2],!v[3]?null:new IFC4.IfcLabel(v[3].value),!v[4]?null:new Handle(v[4].value),!v[5]?null:new IFC4.IfcDateTime(v[5].value),!v[6]?null:new IFC4.IfcLabel(v[6].value),!v[7]?null:v[7].map(function(p){return new Handle(p.value);}),v[8],v[9],!v[10]?null:new IFC4.IfcLabel(v[10].value));},4251960020:function _(id,v){return new IFC4.IfcOrganization(id,!v[0]?null:new IFC4.IfcIdentifier(v[0].value),new IFC4.IfcLabel(v[1].value),!v[2]?null:new IFC4.IfcText(v[2].value),!v[3]?null:v[3].map(function(p){return new Handle(p.value);}),!v[4]?null:v[4].map(function(p){return new Handle(p.value);}));},1207048766:function _(id,v){return new IFC4.IfcOwnerHistory(id,new Handle(v[0].value),new Handle(v[1].value),v[2],v[3],!v[4]?null:new IFC4.IfcTimeStamp(v[4].value),!v[5]?null:new Handle(v[5].value),!v[6]?null:new Handle(v[6].value),new IFC4.IfcTimeStamp(v[7].value));},2077209135:function _(id,v){return new IFC4.IfcPerson(id,!v[0]?null:new IFC4.IfcIdentifier(v[0].value),!v[1]?null:new IFC4.IfcLabel(v[1].value),!v[2]?null:new IFC4.IfcLabel(v[2].value),!v[3]?null:v[3].map(function(p){return new IFC4.IfcLabel(p.value);}),!v[4]?null:v[4].map(function(p){return new IFC4.IfcLabel(p.value);}),!v[5]?null:v[5].map(function(p){return new IFC4.IfcLabel(p.value);}),!v[6]?null:v[6].map(function(p){return new Handle(p.value);}),!v[7]?null:v[7].map(function(p){return new Handle(p.value);}));},101040310:function _(id,v){return new IFC4.IfcPersonAndOrganization(id,new Handle(v[0].value),new Handle(v[1].value),!v[2]?null:v[2].map(function(p){return new Handle(p.value);}));},2483315170:function _(id,v){return new IFC4.IfcPhysicalQuantity(id,new IFC4.IfcLabel(v[0].value),!v[1]?null:new IFC4.IfcText(v[1].value));},2226359599:function _(id,v){return new IFC4.IfcPhysicalSimpleQuantity(id,new IFC4.IfcLabel(v[0].value),!v[1]?null:new IFC4.IfcText(v[1].value),!v[2]?null:new Handle(v[2].value));},3355820592:function _(id,v){return new IFC4.IfcPostalAddress(id,v[0],!v[1]?null:new IFC4.IfcText(v[1].value),!v[2]?null:new IFC4.IfcLabel(v[2].value),!v[3]?null:new IFC4.IfcLabel(v[3].value),!v[4]?null:v[4].map(function(p){return new IFC4.IfcLabel(p.value);}),!v[5]?null:new IFC4.IfcLabel(v[5].value),!v[6]?null:new IFC4.IfcLabel(v[6].value),!v[7]?null:new IFC4.IfcLabel(v[7].value),!v[8]?null:new IFC4.IfcLabel(v[8].value),!v[9]?null:new IFC4.IfcLabel(v[9].value));},677532197:function _(id,_49){return new IFC4.IfcPresentationItem(id);},2022622350:function _(id,v){return new IFC4.IfcPresentationLayerAssignment(id,new IFC4.IfcLabel(v[0].value),!v[1]?null:new IFC4.IfcText(v[1].value),v[2].map(function(p){return new Handle(p.value);}),!v[3]?null:new IFC4.IfcIdentifier(v[3].value));},1304840413:function _(id,v){return new IFC4.IfcPresentationLayerWithStyle(id,new IFC4.IfcLabel(v[0].value),!v[1]?null:new IFC4.IfcText(v[1].value),v[2].map(function(p){return new Handle(p.value);}),!v[3]?null:new IFC4.IfcIdentifier(v[3].value),new IFC4.IfcLogical(v[4].value),new IFC4.IfcLogical(v[5].value),new IFC4.IfcLogical(v[6].value),!v[7]?null:v[7].map(function(p){return new Handle(p.value);}));},3119450353:function _(id,v){return new IFC4.IfcPresentationStyle(id,!v[0]?null:new IFC4.IfcLabel(v[0].value));},2417041796:function _(id,v){return new IFC4.IfcPresentationStyleAssignment(id,v[0].map(function(p){return new Handle(p.value);}));},2095639259:function _(id,v){return new IFC4.IfcProductRepresentation(id,!v[0]?null:new IFC4.IfcLabel(v[0].value),!v[1]?null:new IFC4.IfcText(v[1].value),v[2].map(function(p){return new Handle(p.value);}));},3958567839:function _(id,v){return new IFC4.IfcProfileDef(id,v[0],!v[1]?null:new IFC4.IfcLabel(v[1].value));},3843373140:function _(id,v){return new IFC4.IfcProjectedCRS(id,new IFC4.IfcLabel(v[0].value),!v[1]?null:new IFC4.IfcText(v[1].value),!v[2]?null:new IFC4.IfcIdentifier(v[2].value),!v[3]?null:new IFC4.IfcIdentifier(v[3].value),!v[4]?null:new IFC4.IfcIdentifier(v[4].value),!v[5]?null:new IFC4.IfcIdentifier(v[5].value),!v[6]?null:new Handle(v[6].value));},986844984:function _(id,_50){return new IFC4.IfcPropertyAbstraction(id);},3710013099:function _(id,v){return new IFC4.IfcPropertyEnumeration(id,new IFC4.IfcLabel(v[0].value),v[1].map(function(p){return TypeInitialiser(2,p);}),!v[2]?null:new Handle(v[2].value));},2044713172:function _(id,v){return new IFC4.IfcQuantityArea(id,new IFC4.IfcLabel(v[0].value),!v[1]?null:new IFC4.IfcText(v[1].value),!v[2]?null:new Handle(v[2].value),new IFC4.IfcAreaMeasure(v[3].value),!v[4]?null:new IFC4.IfcLabel(v[4].value));},2093928680:function _(id,v){return new IFC4.IfcQuantityCount(id,new IFC4.IfcLabel(v[0].value),!v[1]?null:new IFC4.IfcText(v[1].value),!v[2]?null:new Handle(v[2].value),new IFC4.IfcCountMeasure(v[3].value),!v[4]?null:new IFC4.IfcLabel(v[4].value));},931644368:function _(id,v){return new IFC4.IfcQuantityLength(id,new IFC4.IfcLabel(v[0].value),!v[1]?null:new IFC4.IfcText(v[1].value),!v[2]?null:new Handle(v[2].value),new IFC4.IfcLengthMeasure(v[3].value),!v[4]?null:new IFC4.IfcLabel(v[4].value));},3252649465:function _(id,v){return new IFC4.IfcQuantityTime(id,new IFC4.IfcLabel(v[0].value),!v[1]?null:new IFC4.IfcText(v[1].value),!v[2]?null:new Handle(v[2].value),new IFC4.IfcTimeMeasure(v[3].value),!v[4]?null:new IFC4.IfcLabel(v[4].value));},2405470396:function _(id,v){return new IFC4.IfcQuantityVolume(id,new IFC4.IfcLabel(v[0].value),!v[1]?null:new IFC4.IfcText(v[1].value),!v[2]?null:new Handle(v[2].value),new IFC4.IfcVolumeMeasure(v[3].value),!v[4]?null:new IFC4.IfcLabel(v[4].value));},825690147:function _(id,v){return new IFC4.IfcQuantityWeight(id,new IFC4.IfcLabel(v[0].value),!v[1]?null:new IFC4.IfcText(v[1].value),!v[2]?null:new Handle(v[2].value),new IFC4.IfcMassMeasure(v[3].value),!v[4]?null:new IFC4.IfcLabel(v[4].value));},3915482550:function _(id,v){return new IFC4.IfcRecurrencePattern(id,v[0],!v[1]?null:v[1].map(function(p){return new IFC4.IfcDayInMonthNumber(p.value);}),!v[2]?null:v[2].map(function(p){return new IFC4.IfcDayInWeekNumber(p.value);}),!v[3]?null:v[3].map(function(p){return new IFC4.IfcMonthInYearNumber(p.value);}),!v[4]?null:new IFC4.IfcInteger(v[4].value),!v[5]?null:new IFC4.IfcInteger(v[5].value),!v[6]?null:new IFC4.IfcInteger(v[6].value),!v[7]?null:v[7].map(function(p){return new Handle(p.value);}));},2433181523:function _(id,v){return new IFC4.IfcReference(id,!v[0]?null:new IFC4.IfcIdentifier(v[0].value),!v[1]?null:new IFC4.IfcIdentifier(v[1].value),!v[2]?null:new IFC4.IfcLabel(v[2].value),!v[3]?null:v[3].map(function(p){return new IFC4.IfcInteger(p.value);}),!v[4]?null:new Handle(v[4].value));},1076942058:function _(id,v){return new IFC4.IfcRepresentation(id,new Handle(v[0].value),!v[1]?null:new IFC4.IfcLabel(v[1].value),!v[2]?null:new IFC4.IfcLabel(v[2].value),v[3].map(function(p){return new Handle(p.value);}));},3377609919:function _(id,v){return new IFC4.IfcRepresentationContext(id,!v[0]?null:new IFC4.IfcLabel(v[0].value),!v[1]?null:new IFC4.IfcLabel(v[1].value));},3008791417:function _(id,_51){return new IFC4.IfcRepresentationItem(id);},1660063152:function _(id,v){return new IFC4.IfcRepresentationMap(id,new Handle(v[0].value),new Handle(v[1].value));},2439245199:function _(id,v){return new IFC4.IfcResourceLevelRelationship(id,!v[0]?null:new IFC4.IfcLabel(v[0].value),!v[1]?null:new IFC4.IfcText(v[1].value));},2341007311:function _(id,v){return new IFC4.IfcRoot(id,new IFC4.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4.IfcLabel(v[2].value),!v[3]?null:new IFC4.IfcText(v[3].value));},448429030:function _(id,v){return new IFC4.IfcSIUnit(id,v[0],v[1],v[2]);},1054537805:function _(id,v){return new IFC4.IfcSchedulingTime(id,!v[0]?null:new IFC4.IfcLabel(v[0].value),v[1],!v[2]?null:new IFC4.IfcLabel(v[2].value));},867548509:function _(id,v){return new IFC4.IfcShapeAspect(id,v[0].map(function(p){return new Handle(p.value);}),!v[1]?null:new IFC4.IfcLabel(v[1].value),!v[2]?null:new IFC4.IfcText(v[2].value),new IFC4.IfcLogical(v[3].value),!v[4]?null:new Handle(v[4].value));},3982875396:function _(id,v){return new IFC4.IfcShapeModel(id,new Handle(v[0].value),!v[1]?null:new IFC4.IfcLabel(v[1].value),!v[2]?null:new IFC4.IfcLabel(v[2].value),v[3].map(function(p){return new Handle(p.value);}));},4240577450:function _(id,v){return new IFC4.IfcShapeRepresentation(id,new Handle(v[0].value),!v[1]?null:new IFC4.IfcLabel(v[1].value),!v[2]?null:new IFC4.IfcLabel(v[2].value),v[3].map(function(p){return new Handle(p.value);}));},2273995522:function _(id,v){return new IFC4.IfcStructuralConnectionCondition(id,!v[0]?null:new IFC4.IfcLabel(v[0].value));},2162789131:function _(id,v){return new IFC4.IfcStructuralLoad(id,!v[0]?null:new IFC4.IfcLabel(v[0].value));},3478079324:function _(id,v){return new IFC4.IfcStructuralLoadConfiguration(id,!v[0]?null:new IFC4.IfcLabel(v[0].value),v[1].map(function(p){return new Handle(p.value);}),!v[2]?null:v[2].map(function(p){return new IFC4.IfcLengthMeasure(p.value);}));},609421318:function _(id,v){return new IFC4.IfcStructuralLoadOrResult(id,!v[0]?null:new IFC4.IfcLabel(v[0].value));},2525727697:function _(id,v){return new IFC4.IfcStructuralLoadStatic(id,!v[0]?null:new IFC4.IfcLabel(v[0].value));},3408363356:function _(id,v){return new IFC4.IfcStructuralLoadTemperature(id,!v[0]?null:new IFC4.IfcLabel(v[0].value),!v[1]?null:new IFC4.IfcThermodynamicTemperatureMeasure(v[1].value),!v[2]?null:new IFC4.IfcThermodynamicTemperatureMeasure(v[2].value),!v[3]?null:new IFC4.IfcThermodynamicTemperatureMeasure(v[3].value));},2830218821:function _(id,v){return new IFC4.IfcStyleModel(id,new Handle(v[0].value),!v[1]?null:new IFC4.IfcLabel(v[1].value),!v[2]?null:new IFC4.IfcLabel(v[2].value),v[3].map(function(p){return new Handle(p.value);}));},3958052878:function _(id,v){return new IFC4.IfcStyledItem(id,!v[0]?null:new Handle(v[0].value),v[1].map(function(p){return new Handle(p.value);}),!v[2]?null:new IFC4.IfcLabel(v[2].value));},3049322572:function _(id,v){return new IFC4.IfcStyledRepresentation(id,new Handle(v[0].value),!v[1]?null:new IFC4.IfcLabel(v[1].value),!v[2]?null:new IFC4.IfcLabel(v[2].value),v[3].map(function(p){return new Handle(p.value);}));},2934153892:function _(id,v){return new IFC4.IfcSurfaceReinforcementArea(id,!v[0]?null:new IFC4.IfcLabel(v[0].value),!v[1]?null:v[1].map(function(p){return new IFC4.IfcLengthMeasure(p.value);}),!v[2]?null:v[2].map(function(p){return new IFC4.IfcLengthMeasure(p.value);}),!v[3]?null:new IFC4.IfcRatioMeasure(v[3].value));},1300840506:function _(id,v){return new IFC4.IfcSurfaceStyle(id,!v[0]?null:new IFC4.IfcLabel(v[0].value),v[1],v[2].map(function(p){return new Handle(p.value);}));},3303107099:function _(id,v){return new IFC4.IfcSurfaceStyleLighting(id,new Handle(v[0].value),new Handle(v[1].value),new Handle(v[2].value),new Handle(v[3].value));},1607154358:function _(id,v){return new IFC4.IfcSurfaceStyleRefraction(id,!v[0]?null:new IFC4.IfcReal(v[0].value),!v[1]?null:new IFC4.IfcReal(v[1].value));},846575682:function _(id,v){return new IFC4.IfcSurfaceStyleShading(id,new Handle(v[0].value),!v[1]?null:new IFC4.IfcNormalisedRatioMeasure(v[1].value));},1351298697:function _(id,v){return new IFC4.IfcSurfaceStyleWithTextures(id,v[0].map(function(p){return new Handle(p.value);}));},626085974:function _(id,v){return new IFC4.IfcSurfaceTexture(id,new IFC4.IfcBoolean(v[0].value),new IFC4.IfcBoolean(v[1].value),!v[2]?null:new IFC4.IfcIdentifier(v[2].value),!v[3]?null:new Handle(v[3].value),!v[4]?null:v[4].map(function(p){return new IFC4.IfcIdentifier(p.value);}));},985171141:function _(id,v){return new IFC4.IfcTable(id,!v[0]?null:new IFC4.IfcLabel(v[0].value),!v[1]?null:v[1].map(function(p){return new Handle(p.value);}),!v[2]?null:v[2].map(function(p){return new Handle(p.value);}));},2043862942:function _(id,v){return new IFC4.IfcTableColumn(id,!v[0]?null:new IFC4.IfcIdentifier(v[0].value),!v[1]?null:new IFC4.IfcLabel(v[1].value),!v[2]?null:new IFC4.IfcText(v[2].value),!v[3]?null:new Handle(v[3].value),!v[4]?null:new Handle(v[4].value));},531007025:function _(id,v){return new IFC4.IfcTableRow(id,!v[0]?null:v[0].map(function(p){return TypeInitialiser(2,p);}),!v[1]?null:new IFC4.IfcBoolean(v[1].value));},1549132990:function _(id,v){return new IFC4.IfcTaskTime(id,!v[0]?null:new IFC4.IfcLabel(v[0].value),v[1],!v[2]?null:new IFC4.IfcLabel(v[2].value),v[3],!v[4]?null:new IFC4.IfcDuration(v[4].value),!v[5]?null:new IFC4.IfcDateTime(v[5].value),!v[6]?null:new IFC4.IfcDateTime(v[6].value),!v[7]?null:new IFC4.IfcDateTime(v[7].value),!v[8]?null:new IFC4.IfcDateTime(v[8].value),!v[9]?null:new IFC4.IfcDateTime(v[9].value),!v[10]?null:new IFC4.IfcDateTime(v[10].value),!v[11]?null:new IFC4.IfcDuration(v[11].value),!v[12]?null:new IFC4.IfcDuration(v[12].value),!v[13]?null:new IFC4.IfcBoolean(v[13].value),!v[14]?null:new IFC4.IfcDateTime(v[14].value),!v[15]?null:new IFC4.IfcDuration(v[15].value),!v[16]?null:new IFC4.IfcDateTime(v[16].value),!v[17]?null:new IFC4.IfcDateTime(v[17].value),!v[18]?null:new IFC4.IfcDuration(v[18].value),!v[19]?null:new IFC4.IfcPositiveRatioMeasure(v[19].value));},2771591690:function _(id,v){return new IFC4.IfcTaskTimeRecurring(id,!v[0]?null:new IFC4.IfcLabel(v[0].value),v[1],!v[2]?null:new IFC4.IfcLabel(v[2].value),v[3],!v[4]?null:new IFC4.IfcDuration(v[4].value),!v[5]?null:new IFC4.IfcDateTime(v[5].value),!v[6]?null:new IFC4.IfcDateTime(v[6].value),!v[7]?null:new IFC4.IfcDateTime(v[7].value),!v[8]?null:new IFC4.IfcDateTime(v[8].value),!v[9]?null:new IFC4.IfcDateTime(v[9].value),!v[10]?null:new IFC4.IfcDateTime(v[10].value),!v[11]?null:new IFC4.IfcDuration(v[11].value),!v[12]?null:new IFC4.IfcDuration(v[12].value),!v[13]?null:new IFC4.IfcBoolean(v[13].value),!v[14]?null:new IFC4.IfcDateTime(v[14].value),!v[15]?null:new IFC4.IfcDuration(v[15].value),!v[16]?null:new IFC4.IfcDateTime(v[16].value),!v[17]?null:new IFC4.IfcDateTime(v[17].value),!v[18]?null:new IFC4.IfcDuration(v[18].value),!v[19]?null:new IFC4.IfcPositiveRatioMeasure(v[19].value),new Handle(v[20].value));},912023232:function _(id,v){return new IFC4.IfcTelecomAddress(id,v[0],!v[1]?null:new IFC4.IfcText(v[1].value),!v[2]?null:new IFC4.IfcLabel(v[2].value),!v[3]?null:v[3].map(function(p){return new IFC4.IfcLabel(p.value);}),!v[4]?null:v[4].map(function(p){return new IFC4.IfcLabel(p.value);}),!v[5]?null:new IFC4.IfcLabel(v[5].value),!v[6]?null:v[6].map(function(p){return new IFC4.IfcLabel(p.value);}),!v[7]?null:new IFC4.IfcURIReference(v[7].value),!v[8]?null:v[8].map(function(p){return new IFC4.IfcURIReference(p.value);}));},1447204868:function _(id,v){return new IFC4.IfcTextStyle(id,!v[0]?null:new IFC4.IfcLabel(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new Handle(v[2].value),new Handle(v[3].value),!v[4]?null:new IFC4.IfcBoolean(v[4].value));},2636378356:function _(id,v){return new IFC4.IfcTextStyleForDefinedFont(id,new Handle(v[0].value),!v[1]?null:new Handle(v[1].value));},1640371178:function _(id,v){return new IFC4.IfcTextStyleTextModel(id,!v[0]?null:TypeInitialiser(2,v[0]),!v[1]?null:new IFC4.IfcTextAlignment(v[1].value),!v[2]?null:new IFC4.IfcTextDecoration(v[2].value),!v[3]?null:TypeInitialiser(2,v[3]),!v[4]?null:TypeInitialiser(2,v[4]),!v[5]?null:new IFC4.IfcTextTransformation(v[5].value),!v[6]?null:TypeInitialiser(2,v[6]));},280115917:function _(id,v){return new IFC4.IfcTextureCoordinate(id,v[0].map(function(p){return new Handle(p.value);}));},1742049831:function _(id,v){return new IFC4.IfcTextureCoordinateGenerator(id,v[0].map(function(p){return new Handle(p.value);}),new IFC4.IfcLabel(v[1].value),!v[2]?null:v[2].map(function(p){return new IFC4.IfcReal(p.value);}));},2552916305:function _(id,v){return new IFC4.IfcTextureMap(id,v[0].map(function(p){return new Handle(p.value);}),v[1].map(function(p){return new Handle(p.value);}),new Handle(v[2].value));},1210645708:function _(id,v){return new IFC4.IfcTextureVertex(id,v[0].map(function(p){return new IFC4.IfcParameterValue(p.value);}));},3611470254:function _(id,v){return new IFC4.IfcTextureVertexList(id,v[0].map(function(p){return new IFC4.IfcParameterValue(p.value);}));},1199560280:function _(id,v){return new IFC4.IfcTimePeriod(id,new IFC4.IfcTime(v[0].value),new IFC4.IfcTime(v[1].value));},3101149627:function _(id,v){return new IFC4.IfcTimeSeries(id,new IFC4.IfcLabel(v[0].value),!v[1]?null:new IFC4.IfcText(v[1].value),new IFC4.IfcDateTime(v[2].value),new IFC4.IfcDateTime(v[3].value),v[4],v[5],!v[6]?null:new IFC4.IfcLabel(v[6].value),!v[7]?null:new Handle(v[7].value));},581633288:function _(id,v){return new IFC4.IfcTimeSeriesValue(id,v[0].map(function(p){return TypeInitialiser(2,p);}));},1377556343:function _(id,_52){return new IFC4.IfcTopologicalRepresentationItem(id);},1735638870:function _(id,v){return new IFC4.IfcTopologyRepresentation(id,new Handle(v[0].value),!v[1]?null:new IFC4.IfcLabel(v[1].value),!v[2]?null:new IFC4.IfcLabel(v[2].value),v[3].map(function(p){return new Handle(p.value);}));},180925521:function _(id,v){return new IFC4.IfcUnitAssignment(id,v[0].map(function(p){return new Handle(p.value);}));},2799835756:function _(id,_53){return new IFC4.IfcVertex(id);},1907098498:function _(id,v){return new IFC4.IfcVertexPoint(id,new Handle(v[0].value));},891718957:function _(id,v){return new IFC4.IfcVirtualGridIntersection(id,v[0].map(function(p){return new Handle(p.value);}),v[1].map(function(p){return new IFC4.IfcLengthMeasure(p.value);}));},1236880293:function _(id,v){return new IFC4.IfcWorkTime(id,!v[0]?null:new IFC4.IfcLabel(v[0].value),v[1],!v[2]?null:new IFC4.IfcLabel(v[2].value),!v[3]?null:new Handle(v[3].value),!v[4]?null:new IFC4.IfcDate(v[4].value),!v[5]?null:new IFC4.IfcDate(v[5].value));},3869604511:function _(id,v){return new IFC4.IfcApprovalRelationship(id,!v[0]?null:new IFC4.IfcLabel(v[0].value),!v[1]?null:new IFC4.IfcText(v[1].value),new Handle(v[2].value),v[3].map(function(p){return new Handle(p.value);}));},3798115385:function _(id,v){return new IFC4.IfcArbitraryClosedProfileDef(id,v[0],!v[1]?null:new IFC4.IfcLabel(v[1].value),new Handle(v[2].value));},1310608509:function _(id,v){return new IFC4.IfcArbitraryOpenProfileDef(id,v[0],!v[1]?null:new IFC4.IfcLabel(v[1].value),new Handle(v[2].value));},2705031697:function _(id,v){return new IFC4.IfcArbitraryProfileDefWithVoids(id,v[0],!v[1]?null:new IFC4.IfcLabel(v[1].value),new Handle(v[2].value),v[3].map(function(p){return new Handle(p.value);}));},616511568:function _(id,v){return new IFC4.IfcBlobTexture(id,new IFC4.IfcBoolean(v[0].value),new IFC4.IfcBoolean(v[1].value),!v[2]?null:new IFC4.IfcIdentifier(v[2].value),!v[3]?null:new Handle(v[3].value),!v[4]?null:v[4].map(function(p){return new IFC4.IfcIdentifier(p.value);}),new IFC4.IfcIdentifier(v[5].value),new IFC4.IfcBinary(v[6].value));},3150382593:function _(id,v){return new IFC4.IfcCenterLineProfileDef(id,v[0],!v[1]?null:new IFC4.IfcLabel(v[1].value),new Handle(v[2].value),new IFC4.IfcPositiveLengthMeasure(v[3].value));},747523909:function _(id,v){return new IFC4.IfcClassification(id,!v[0]?null:new IFC4.IfcLabel(v[0].value),!v[1]?null:new IFC4.IfcLabel(v[1].value),!v[2]?null:new IFC4.IfcDate(v[2].value),new IFC4.IfcLabel(v[3].value),!v[4]?null:new IFC4.IfcText(v[4].value),!v[5]?null:new IFC4.IfcURIReference(v[5].value),!v[6]?null:v[6].map(function(p){return new IFC4.IfcIdentifier(p.value);}));},647927063:function _(id,v){return new IFC4.IfcClassificationReference(id,!v[0]?null:new IFC4.IfcURIReference(v[0].value),!v[1]?null:new IFC4.IfcIdentifier(v[1].value),!v[2]?null:new IFC4.IfcLabel(v[2].value),!v[3]?null:new Handle(v[3].value),!v[4]?null:new IFC4.IfcText(v[4].value),!v[5]?null:new IFC4.IfcIdentifier(v[5].value));},3285139300:function _(id,v){return new IFC4.IfcColourRgbList(id,v[0].map(function(p){return new IFC4.IfcNormalisedRatioMeasure(p.value);}));},3264961684:function _(id,v){return new IFC4.IfcColourSpecification(id,!v[0]?null:new IFC4.IfcLabel(v[0].value));},1485152156:function _(id,v){return new IFC4.IfcCompositeProfileDef(id,v[0],!v[1]?null:new IFC4.IfcLabel(v[1].value),v[2].map(function(p){return new Handle(p.value);}),!v[3]?null:new IFC4.IfcLabel(v[3].value));},370225590:function _(id,v){return new IFC4.IfcConnectedFaceSet(id,v[0].map(function(p){return new Handle(p.value);}));},1981873012:function _(id,v){return new IFC4.IfcConnectionCurveGeometry(id,new Handle(v[0].value),!v[1]?null:new Handle(v[1].value));},45288368:function _(id,v){return new IFC4.IfcConnectionPointEccentricity(id,new Handle(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4.IfcLengthMeasure(v[2].value),!v[3]?null:new IFC4.IfcLengthMeasure(v[3].value),!v[4]?null:new IFC4.IfcLengthMeasure(v[4].value));},3050246964:function _(id,v){return new IFC4.IfcContextDependentUnit(id,new Handle(v[0].value),v[1],new IFC4.IfcLabel(v[2].value));},2889183280:function _(id,v){return new IFC4.IfcConversionBasedUnit(id,new Handle(v[0].value),v[1],new IFC4.IfcLabel(v[2].value),new Handle(v[3].value));},2713554722:function _(id,v){return new IFC4.IfcConversionBasedUnitWithOffset(id,new Handle(v[0].value),v[1],new IFC4.IfcLabel(v[2].value),new Handle(v[3].value),new IFC4.IfcReal(v[4].value));},539742890:function _(id,v){return new IFC4.IfcCurrencyRelationship(id,!v[0]?null:new IFC4.IfcLabel(v[0].value),!v[1]?null:new IFC4.IfcText(v[1].value),new Handle(v[2].value),new Handle(v[3].value),new IFC4.IfcPositiveRatioMeasure(v[4].value),!v[5]?null:new IFC4.IfcDateTime(v[5].value),!v[6]?null:new Handle(v[6].value));},3800577675:function _(id,v){return new IFC4.IfcCurveStyle(id,!v[0]?null:new IFC4.IfcLabel(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:TypeInitialiser(2,v[2]),!v[3]?null:new Handle(v[3].value),!v[4]?null:new IFC4.IfcBoolean(v[4].value));},1105321065:function _(id,v){return new IFC4.IfcCurveStyleFont(id,!v[0]?null:new IFC4.IfcLabel(v[0].value),v[1].map(function(p){return new Handle(p.value);}));},2367409068:function _(id,v){return new IFC4.IfcCurveStyleFontAndScaling(id,!v[0]?null:new IFC4.IfcLabel(v[0].value),new Handle(v[1].value),new IFC4.IfcPositiveRatioMeasure(v[2].value));},3510044353:function _(id,v){return new IFC4.IfcCurveStyleFontPattern(id,new IFC4.IfcLengthMeasure(v[0].value),new IFC4.IfcPositiveLengthMeasure(v[1].value));},3632507154:function _(id,v){return new IFC4.IfcDerivedProfileDef(id,v[0],!v[1]?null:new IFC4.IfcLabel(v[1].value),new Handle(v[2].value),new Handle(v[3].value),!v[4]?null:new IFC4.IfcLabel(v[4].value));},1154170062:function _(id,v){return new IFC4.IfcDocumentInformation(id,new IFC4.IfcIdentifier(v[0].value),new IFC4.IfcLabel(v[1].value),!v[2]?null:new IFC4.IfcText(v[2].value),!v[3]?null:new IFC4.IfcURIReference(v[3].value),!v[4]?null:new IFC4.IfcText(v[4].value),!v[5]?null:new IFC4.IfcText(v[5].value),!v[6]?null:new IFC4.IfcText(v[6].value),!v[7]?null:new IFC4.IfcLabel(v[7].value),!v[8]?null:new Handle(v[8].value),!v[9]?null:v[9].map(function(p){return new Handle(p.value);}),!v[10]?null:new IFC4.IfcDateTime(v[10].value),!v[11]?null:new IFC4.IfcDateTime(v[11].value),!v[12]?null:new IFC4.IfcIdentifier(v[12].value),!v[13]?null:new IFC4.IfcDate(v[13].value),!v[14]?null:new IFC4.IfcDate(v[14].value),v[15],v[16]);},770865208:function _(id,v){return new IFC4.IfcDocumentInformationRelationship(id,!v[0]?null:new IFC4.IfcLabel(v[0].value),!v[1]?null:new IFC4.IfcText(v[1].value),new Handle(v[2].value),v[3].map(function(p){return new Handle(p.value);}),!v[4]?null:new IFC4.IfcLabel(v[4].value));},3732053477:function _(id,v){return new IFC4.IfcDocumentReference(id,!v[0]?null:new IFC4.IfcURIReference(v[0].value),!v[1]?null:new IFC4.IfcIdentifier(v[1].value),!v[2]?null:new IFC4.IfcLabel(v[2].value),!v[3]?null:new IFC4.IfcText(v[3].value),!v[4]?null:new Handle(v[4].value));},3900360178:function _(id,v){return new IFC4.IfcEdge(id,new Handle(v[0].value),new Handle(v[1].value));},476780140:function _(id,v){return new IFC4.IfcEdgeCurve(id,new Handle(v[0].value),new Handle(v[1].value),new Handle(v[2].value),new IFC4.IfcBoolean(v[3].value));},211053100:function _(id,v){return new IFC4.IfcEventTime(id,!v[0]?null:new IFC4.IfcLabel(v[0].value),v[1],!v[2]?null:new IFC4.IfcLabel(v[2].value),!v[3]?null:new IFC4.IfcDateTime(v[3].value),!v[4]?null:new IFC4.IfcDateTime(v[4].value),!v[5]?null:new IFC4.IfcDateTime(v[5].value),!v[6]?null:new IFC4.IfcDateTime(v[6].value));},297599258:function _(id,v){return new IFC4.IfcExtendedProperties(id,!v[0]?null:new IFC4.IfcIdentifier(v[0].value),!v[1]?null:new IFC4.IfcText(v[1].value),v[2].map(function(p){return new Handle(p.value);}));},1437805879:function _(id,v){return new IFC4.IfcExternalReferenceRelationship(id,!v[0]?null:new IFC4.IfcLabel(v[0].value),!v[1]?null:new IFC4.IfcText(v[1].value),new Handle(v[2].value),v[3].map(function(p){return new Handle(p.value);}));},2556980723:function _(id,v){return new IFC4.IfcFace(id,v[0].map(function(p){return new Handle(p.value);}));},1809719519:function _(id,v){return new IFC4.IfcFaceBound(id,new Handle(v[0].value),new IFC4.IfcBoolean(v[1].value));},803316827:function _(id,v){return new IFC4.IfcFaceOuterBound(id,new Handle(v[0].value),new IFC4.IfcBoolean(v[1].value));},3008276851:function _(id,v){return new IFC4.IfcFaceSurface(id,v[0].map(function(p){return new Handle(p.value);}),new Handle(v[1].value),new IFC4.IfcBoolean(v[2].value));},4219587988:function _(id,v){return new IFC4.IfcFailureConnectionCondition(id,!v[0]?null:new IFC4.IfcLabel(v[0].value),!v[1]?null:new IFC4.IfcForceMeasure(v[1].value),!v[2]?null:new IFC4.IfcForceMeasure(v[2].value),!v[3]?null:new IFC4.IfcForceMeasure(v[3].value),!v[4]?null:new IFC4.IfcForceMeasure(v[4].value),!v[5]?null:new IFC4.IfcForceMeasure(v[5].value),!v[6]?null:new IFC4.IfcForceMeasure(v[6].value));},738692330:function _(id,v){return new IFC4.IfcFillAreaStyle(id,!v[0]?null:new IFC4.IfcLabel(v[0].value),v[1].map(function(p){return new Handle(p.value);}),!v[2]?null:new IFC4.IfcBoolean(v[2].value));},3448662350:function _(id,v){return new IFC4.IfcGeometricRepresentationContext(id,!v[0]?null:new IFC4.IfcLabel(v[0].value),!v[1]?null:new IFC4.IfcLabel(v[1].value),new IFC4.IfcDimensionCount(v[2].value),!v[3]?null:new IFC4.IfcReal(v[3].value),new Handle(v[4].value),!v[5]?null:new Handle(v[5].value));},2453401579:function _(id,_54){return new IFC4.IfcGeometricRepresentationItem(id);},4142052618:function _(id,v){return new IFC4.IfcGeometricRepresentationSubContext(id,!v[0]?null:new IFC4.IfcLabel(v[0].value),!v[1]?null:new IFC4.IfcLabel(v[1].value),new Handle(v[2].value),!v[3]?null:new IFC4.IfcPositiveRatioMeasure(v[3].value),v[4],!v[5]?null:new IFC4.IfcLabel(v[5].value));},3590301190:function _(id,v){return new IFC4.IfcGeometricSet(id,v[0].map(function(p){return new Handle(p.value);}));},178086475:function _(id,v){return new IFC4.IfcGridPlacement(id,new Handle(v[0].value),!v[1]?null:new Handle(v[1].value));},812098782:function _(id,v){return new IFC4.IfcHalfSpaceSolid(id,new Handle(v[0].value),new IFC4.IfcBoolean(v[1].value));},3905492369:function _(id,v){return new IFC4.IfcImageTexture(id,new IFC4.IfcBoolean(v[0].value),new IFC4.IfcBoolean(v[1].value),!v[2]?null:new IFC4.IfcIdentifier(v[2].value),!v[3]?null:new Handle(v[3].value),!v[4]?null:v[4].map(function(p){return new IFC4.IfcIdentifier(p.value);}),new IFC4.IfcURIReference(v[5].value));},3570813810:function _(id,v){return new IFC4.IfcIndexedColourMap(id,new Handle(v[0].value),!v[1]?null:new IFC4.IfcNormalisedRatioMeasure(v[1].value),new Handle(v[2].value),v[3].map(function(p){return new IFC4.IfcPositiveInteger(p.value);}));},1437953363:function _(id,v){return new IFC4.IfcIndexedTextureMap(id,v[0].map(function(p){return new Handle(p.value);}),new Handle(v[1].value),new Handle(v[2].value));},2133299955:function _(id,v){return new IFC4.IfcIndexedTriangleTextureMap(id,v[0].map(function(p){return new Handle(p.value);}),new Handle(v[1].value),new Handle(v[2].value),!v[3]?null:v[3].map(function(p){return new IFC4.IfcPositiveInteger(p.value);}));},3741457305:function _(id,v){return new IFC4.IfcIrregularTimeSeries(id,new IFC4.IfcLabel(v[0].value),!v[1]?null:new IFC4.IfcText(v[1].value),new IFC4.IfcDateTime(v[2].value),new IFC4.IfcDateTime(v[3].value),v[4],v[5],!v[6]?null:new IFC4.IfcLabel(v[6].value),!v[7]?null:new Handle(v[7].value),v[8].map(function(p){return new Handle(p.value);}));},1585845231:function _(id,v){return new IFC4.IfcLagTime(id,!v[0]?null:new IFC4.IfcLabel(v[0].value),v[1],!v[2]?null:new IFC4.IfcLabel(v[2].value),TypeInitialiser(2,v[3]),v[4]);},1402838566:function _(id,v){return new IFC4.IfcLightSource(id,!v[0]?null:new IFC4.IfcLabel(v[0].value),new Handle(v[1].value),!v[2]?null:new IFC4.IfcNormalisedRatioMeasure(v[2].value),!v[3]?null:new IFC4.IfcNormalisedRatioMeasure(v[3].value));},125510826:function _(id,v){return new IFC4.IfcLightSourceAmbient(id,!v[0]?null:new IFC4.IfcLabel(v[0].value),new Handle(v[1].value),!v[2]?null:new IFC4.IfcNormalisedRatioMeasure(v[2].value),!v[3]?null:new IFC4.IfcNormalisedRatioMeasure(v[3].value));},2604431987:function _(id,v){return new IFC4.IfcLightSourceDirectional(id,!v[0]?null:new IFC4.IfcLabel(v[0].value),new Handle(v[1].value),!v[2]?null:new IFC4.IfcNormalisedRatioMeasure(v[2].value),!v[3]?null:new IFC4.IfcNormalisedRatioMeasure(v[3].value),new Handle(v[4].value));},4266656042:function _(id,v){return new IFC4.IfcLightSourceGoniometric(id,!v[0]?null:new IFC4.IfcLabel(v[0].value),new Handle(v[1].value),!v[2]?null:new IFC4.IfcNormalisedRatioMeasure(v[2].value),!v[3]?null:new IFC4.IfcNormalisedRatioMeasure(v[3].value),new Handle(v[4].value),!v[5]?null:new Handle(v[5].value),new IFC4.IfcThermodynamicTemperatureMeasure(v[6].value),new IFC4.IfcLuminousFluxMeasure(v[7].value),v[8],new Handle(v[9].value));},1520743889:function _(id,v){return new IFC4.IfcLightSourcePositional(id,!v[0]?null:new IFC4.IfcLabel(v[0].value),new Handle(v[1].value),!v[2]?null:new IFC4.IfcNormalisedRatioMeasure(v[2].value),!v[3]?null:new IFC4.IfcNormalisedRatioMeasure(v[3].value),new Handle(v[4].value),new IFC4.IfcPositiveLengthMeasure(v[5].value),new IFC4.IfcReal(v[6].value),new IFC4.IfcReal(v[7].value),new IFC4.IfcReal(v[8].value));},3422422726:function _(id,v){return new IFC4.IfcLightSourceSpot(id,!v[0]?null:new IFC4.IfcLabel(v[0].value),new Handle(v[1].value),!v[2]?null:new IFC4.IfcNormalisedRatioMeasure(v[2].value),!v[3]?null:new IFC4.IfcNormalisedRatioMeasure(v[3].value),new Handle(v[4].value),new IFC4.IfcPositiveLengthMeasure(v[5].value),new IFC4.IfcReal(v[6].value),new IFC4.IfcReal(v[7].value),new IFC4.IfcReal(v[8].value),new Handle(v[9].value),!v[10]?null:new IFC4.IfcReal(v[10].value),new IFC4.IfcPositivePlaneAngleMeasure(v[11].value),new IFC4.IfcPositivePlaneAngleMeasure(v[12].value));},2624227202:function _(id,v){return new IFC4.IfcLocalPlacement(id,!v[0]?null:new Handle(v[0].value),new Handle(v[1].value));},1008929658:function _(id,_55){return new IFC4.IfcLoop(id);},2347385850:function _(id,v){return new IFC4.IfcMappedItem(id,new Handle(v[0].value),new Handle(v[1].value));},1838606355:function _(id,v){return new IFC4.IfcMaterial(id,new IFC4.IfcLabel(v[0].value),!v[1]?null:new IFC4.IfcText(v[1].value),!v[2]?null:new IFC4.IfcLabel(v[2].value));},3708119e3:function _(id,v){return new IFC4.IfcMaterialConstituent(id,!v[0]?null:new IFC4.IfcLabel(v[0].value),!v[1]?null:new IFC4.IfcText(v[1].value),new Handle(v[2].value),!v[3]?null:new IFC4.IfcNormalisedRatioMeasure(v[3].value),!v[4]?null:new IFC4.IfcLabel(v[4].value));},2852063980:function _(id,v){return new IFC4.IfcMaterialConstituentSet(id,!v[0]?null:new IFC4.IfcLabel(v[0].value),!v[1]?null:new IFC4.IfcText(v[1].value),!v[2]?null:v[2].map(function(p){return new Handle(p.value);}));},2022407955:function _(id,v){return new IFC4.IfcMaterialDefinitionRepresentation(id,!v[0]?null:new IFC4.IfcLabel(v[0].value),!v[1]?null:new IFC4.IfcText(v[1].value),v[2].map(function(p){return new Handle(p.value);}),new Handle(v[3].value));},1303795690:function _(id,v){return new IFC4.IfcMaterialLayerSetUsage(id,new Handle(v[0].value),v[1],v[2],new IFC4.IfcLengthMeasure(v[3].value),!v[4]?null:new IFC4.IfcPositiveLengthMeasure(v[4].value));},3079605661:function _(id,v){return new IFC4.IfcMaterialProfileSetUsage(id,new Handle(v[0].value),!v[1]?null:new IFC4.IfcCardinalPointReference(v[1].value),!v[2]?null:new IFC4.IfcPositiveLengthMeasure(v[2].value));},3404854881:function _(id,v){return new IFC4.IfcMaterialProfileSetUsageTapering(id,new Handle(v[0].value),!v[1]?null:new IFC4.IfcCardinalPointReference(v[1].value),!v[2]?null:new IFC4.IfcPositiveLengthMeasure(v[2].value),new Handle(v[3].value),!v[4]?null:new IFC4.IfcCardinalPointReference(v[4].value));},3265635763:function _(id,v){return new IFC4.IfcMaterialProperties(id,!v[0]?null:new IFC4.IfcIdentifier(v[0].value),!v[1]?null:new IFC4.IfcText(v[1].value),v[2].map(function(p){return new Handle(p.value);}),new Handle(v[3].value));},853536259:function _(id,v){return new IFC4.IfcMaterialRelationship(id,!v[0]?null:new IFC4.IfcLabel(v[0].value),!v[1]?null:new IFC4.IfcText(v[1].value),new Handle(v[2].value),v[3].map(function(p){return new Handle(p.value);}),!v[4]?null:new IFC4.IfcLabel(v[4].value));},2998442950:function _(id,v){return new IFC4.IfcMirroredProfileDef(id,v[0],!v[1]?null:new IFC4.IfcLabel(v[1].value),new Handle(v[2].value),!v[3]?null:new IFC4.IfcLabel(v[3].value));},219451334:function _(id,v){return new IFC4.IfcObjectDefinition(id,new IFC4.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4.IfcLabel(v[2].value),!v[3]?null:new IFC4.IfcText(v[3].value));},2665983363:function _(id,v){return new IFC4.IfcOpenShell(id,v[0].map(function(p){return new Handle(p.value);}));},1411181986:function _(id,v){return new IFC4.IfcOrganizationRelationship(id,!v[0]?null:new IFC4.IfcLabel(v[0].value),!v[1]?null:new IFC4.IfcText(v[1].value),new Handle(v[2].value),v[3].map(function(p){return new Handle(p.value);}));},1029017970:function _(id,v){return new IFC4.IfcOrientedEdge(id,new Handle(v[0].value),new IFC4.IfcBoolean(v[1].value));},2529465313:function _(id,v){return new IFC4.IfcParameterizedProfileDef(id,v[0],!v[1]?null:new IFC4.IfcLabel(v[1].value),!v[2]?null:new Handle(v[2].value));},2519244187:function _(id,v){return new IFC4.IfcPath(id,v[0].map(function(p){return new Handle(p.value);}));},3021840470:function _(id,v){return new IFC4.IfcPhysicalComplexQuantity(id,new IFC4.IfcLabel(v[0].value),!v[1]?null:new IFC4.IfcText(v[1].value),v[2].map(function(p){return new Handle(p.value);}),new IFC4.IfcLabel(v[3].value),!v[4]?null:new IFC4.IfcLabel(v[4].value),!v[5]?null:new IFC4.IfcLabel(v[5].value));},597895409:function _(id,v){return new IFC4.IfcPixelTexture(id,new IFC4.IfcBoolean(v[0].value),new IFC4.IfcBoolean(v[1].value),!v[2]?null:new IFC4.IfcIdentifier(v[2].value),!v[3]?null:new Handle(v[3].value),!v[4]?null:v[4].map(function(p){return new IFC4.IfcIdentifier(p.value);}),new IFC4.IfcInteger(v[5].value),new IFC4.IfcInteger(v[6].value),new IFC4.IfcInteger(v[7].value),v[8].map(function(p){return new IFC4.IfcBinary(p.value);}));},2004835150:function _(id,v){return new IFC4.IfcPlacement(id,new Handle(v[0].value));},1663979128:function _(id,v){return new IFC4.IfcPlanarExtent(id,new IFC4.IfcLengthMeasure(v[0].value),new IFC4.IfcLengthMeasure(v[1].value));},2067069095:function _(id,_56){return new IFC4.IfcPoint(id);},4022376103:function _(id,v){return new IFC4.IfcPointOnCurve(id,new Handle(v[0].value),new IFC4.IfcParameterValue(v[1].value));},1423911732:function _(id,v){return new IFC4.IfcPointOnSurface(id,new Handle(v[0].value),new IFC4.IfcParameterValue(v[1].value),new IFC4.IfcParameterValue(v[2].value));},2924175390:function _(id,v){return new IFC4.IfcPolyLoop(id,v[0].map(function(p){return new Handle(p.value);}));},2775532180:function _(id,v){return new IFC4.IfcPolygonalBoundedHalfSpace(id,new Handle(v[0].value),new IFC4.IfcBoolean(v[1].value),new Handle(v[2].value),new Handle(v[3].value));},3727388367:function _(id,v){return new IFC4.IfcPreDefinedItem(id,new IFC4.IfcLabel(v[0].value));},3778827333:function _(id,_57){return new IFC4.IfcPreDefinedProperties(id);},1775413392:function _(id,v){return new IFC4.IfcPreDefinedTextFont(id,new IFC4.IfcLabel(v[0].value));},673634403:function _(id,v){return new IFC4.IfcProductDefinitionShape(id,!v[0]?null:new IFC4.IfcLabel(v[0].value),!v[1]?null:new IFC4.IfcText(v[1].value),v[2].map(function(p){return new Handle(p.value);}));},2802850158:function _(id,v){return new IFC4.IfcProfileProperties(id,!v[0]?null:new IFC4.IfcIdentifier(v[0].value),!v[1]?null:new IFC4.IfcText(v[1].value),v[2].map(function(p){return new Handle(p.value);}),new Handle(v[3].value));},2598011224:function _(id,v){return new IFC4.IfcProperty(id,new IFC4.IfcIdentifier(v[0].value),!v[1]?null:new IFC4.IfcText(v[1].value));},1680319473:function _(id,v){return new IFC4.IfcPropertyDefinition(id,new IFC4.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4.IfcLabel(v[2].value),!v[3]?null:new IFC4.IfcText(v[3].value));},148025276:function _(id,v){return new IFC4.IfcPropertyDependencyRelationship(id,!v[0]?null:new IFC4.IfcLabel(v[0].value),!v[1]?null:new IFC4.IfcText(v[1].value),new Handle(v[2].value),new Handle(v[3].value),!v[4]?null:new IFC4.IfcText(v[4].value));},3357820518:function _(id,v){return new IFC4.IfcPropertySetDefinition(id,new IFC4.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4.IfcLabel(v[2].value),!v[3]?null:new IFC4.IfcText(v[3].value));},1482703590:function _(id,v){return new IFC4.IfcPropertyTemplateDefinition(id,new IFC4.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4.IfcLabel(v[2].value),!v[3]?null:new IFC4.IfcText(v[3].value));},2090586900:function _(id,v){return new IFC4.IfcQuantitySet(id,new IFC4.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4.IfcLabel(v[2].value),!v[3]?null:new IFC4.IfcText(v[3].value));},3615266464:function _(id,v){return new IFC4.IfcRectangleProfileDef(id,v[0],!v[1]?null:new IFC4.IfcLabel(v[1].value),!v[2]?null:new Handle(v[2].value),new IFC4.IfcPositiveLengthMeasure(v[3].value),new IFC4.IfcPositiveLengthMeasure(v[4].value));},3413951693:function _(id,v){return new IFC4.IfcRegularTimeSeries(id,new IFC4.IfcLabel(v[0].value),!v[1]?null:new IFC4.IfcText(v[1].value),new IFC4.IfcDateTime(v[2].value),new IFC4.IfcDateTime(v[3].value),v[4],v[5],!v[6]?null:new IFC4.IfcLabel(v[6].value),!v[7]?null:new Handle(v[7].value),new IFC4.IfcTimeMeasure(v[8].value),v[9].map(function(p){return new Handle(p.value);}));},1580146022:function _(id,v){return new IFC4.IfcReinforcementBarProperties(id,new IFC4.IfcAreaMeasure(v[0].value),new IFC4.IfcLabel(v[1].value),v[2],!v[3]?null:new IFC4.IfcLengthMeasure(v[3].value),!v[4]?null:new IFC4.IfcPositiveLengthMeasure(v[4].value),!v[5]?null:new IFC4.IfcCountMeasure(v[5].value));},478536968:function _(id,v){return new IFC4.IfcRelationship(id,new IFC4.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4.IfcLabel(v[2].value),!v[3]?null:new IFC4.IfcText(v[3].value));},2943643501:function _(id,v){return new IFC4.IfcResourceApprovalRelationship(id,!v[0]?null:new IFC4.IfcLabel(v[0].value),!v[1]?null:new IFC4.IfcText(v[1].value),v[2].map(function(p){return new Handle(p.value);}),new Handle(v[3].value));},1608871552:function _(id,v){return new IFC4.IfcResourceConstraintRelationship(id,!v[0]?null:new IFC4.IfcLabel(v[0].value),!v[1]?null:new IFC4.IfcText(v[1].value),new Handle(v[2].value),v[3].map(function(p){return new Handle(p.value);}));},1042787934:function _(id,v){return new IFC4.IfcResourceTime(id,!v[0]?null:new IFC4.IfcLabel(v[0].value),v[1],!v[2]?null:new IFC4.IfcLabel(v[2].value),!v[3]?null:new IFC4.IfcDuration(v[3].value),!v[4]?null:new IFC4.IfcPositiveRatioMeasure(v[4].value),!v[5]?null:new IFC4.IfcDateTime(v[5].value),!v[6]?null:new IFC4.IfcDateTime(v[6].value),!v[7]?null:new IFC4.IfcLabel(v[7].value),!v[8]?null:new IFC4.IfcDuration(v[8].value),!v[9]?null:new IFC4.IfcBoolean(v[9].value),!v[10]?null:new IFC4.IfcDateTime(v[10].value),!v[11]?null:new IFC4.IfcDuration(v[11].value),!v[12]?null:new IFC4.IfcPositiveRatioMeasure(v[12].value),!v[13]?null:new IFC4.IfcDateTime(v[13].value),!v[14]?null:new IFC4.IfcDateTime(v[14].value),!v[15]?null:new IFC4.IfcDuration(v[15].value),!v[16]?null:new IFC4.IfcPositiveRatioMeasure(v[16].value),!v[17]?null:new IFC4.IfcPositiveRatioMeasure(v[17].value));},2778083089:function _(id,v){return new IFC4.IfcRoundedRectangleProfileDef(id,v[0],!v[1]?null:new IFC4.IfcLabel(v[1].value),!v[2]?null:new Handle(v[2].value),new IFC4.IfcPositiveLengthMeasure(v[3].value),new IFC4.IfcPositiveLengthMeasure(v[4].value),new IFC4.IfcPositiveLengthMeasure(v[5].value));},2042790032:function _(id,v){return new IFC4.IfcSectionProperties(id,v[0],new Handle(v[1].value),!v[2]?null:new Handle(v[2].value));},4165799628:function _(id,v){return new IFC4.IfcSectionReinforcementProperties(id,new IFC4.IfcLengthMeasure(v[0].value),new IFC4.IfcLengthMeasure(v[1].value),!v[2]?null:new IFC4.IfcLengthMeasure(v[2].value),v[3],new Handle(v[4].value),v[5].map(function(p){return new Handle(p.value);}));},1509187699:function _(id,v){return new IFC4.IfcSectionedSpine(id,new Handle(v[0].value),v[1].map(function(p){return new Handle(p.value);}),v[2].map(function(p){return new Handle(p.value);}));},4124623270:function _(id,v){return new IFC4.IfcShellBasedSurfaceModel(id,v[0].map(function(p){return new Handle(p.value);}));},3692461612:function _(id,v){return new IFC4.IfcSimpleProperty(id,new IFC4.IfcIdentifier(v[0].value),!v[1]?null:new IFC4.IfcText(v[1].value));},2609359061:function _(id,v){return new IFC4.IfcSlippageConnectionCondition(id,!v[0]?null:new IFC4.IfcLabel(v[0].value),!v[1]?null:new IFC4.IfcLengthMeasure(v[1].value),!v[2]?null:new IFC4.IfcLengthMeasure(v[2].value),!v[3]?null:new IFC4.IfcLengthMeasure(v[3].value));},723233188:function _(id,_58){return new IFC4.IfcSolidModel(id);},1595516126:function _(id,v){return new IFC4.IfcStructuralLoadLinearForce(id,!v[0]?null:new IFC4.IfcLabel(v[0].value),!v[1]?null:new IFC4.IfcLinearForceMeasure(v[1].value),!v[2]?null:new IFC4.IfcLinearForceMeasure(v[2].value),!v[3]?null:new IFC4.IfcLinearForceMeasure(v[3].value),!v[4]?null:new IFC4.IfcLinearMomentMeasure(v[4].value),!v[5]?null:new IFC4.IfcLinearMomentMeasure(v[5].value),!v[6]?null:new IFC4.IfcLinearMomentMeasure(v[6].value));},2668620305:function _(id,v){return new IFC4.IfcStructuralLoadPlanarForce(id,!v[0]?null:new IFC4.IfcLabel(v[0].value),!v[1]?null:new IFC4.IfcPlanarForceMeasure(v[1].value),!v[2]?null:new IFC4.IfcPlanarForceMeasure(v[2].value),!v[3]?null:new IFC4.IfcPlanarForceMeasure(v[3].value));},2473145415:function _(id,v){return new IFC4.IfcStructuralLoadSingleDisplacement(id,!v[0]?null:new IFC4.IfcLabel(v[0].value),!v[1]?null:new IFC4.IfcLengthMeasure(v[1].value),!v[2]?null:new IFC4.IfcLengthMeasure(v[2].value),!v[3]?null:new IFC4.IfcLengthMeasure(v[3].value),!v[4]?null:new IFC4.IfcPlaneAngleMeasure(v[4].value),!v[5]?null:new IFC4.IfcPlaneAngleMeasure(v[5].value),!v[6]?null:new IFC4.IfcPlaneAngleMeasure(v[6].value));},1973038258:function _(id,v){return new IFC4.IfcStructuralLoadSingleDisplacementDistortion(id,!v[0]?null:new IFC4.IfcLabel(v[0].value),!v[1]?null:new IFC4.IfcLengthMeasure(v[1].value),!v[2]?null:new IFC4.IfcLengthMeasure(v[2].value),!v[3]?null:new IFC4.IfcLengthMeasure(v[3].value),!v[4]?null:new IFC4.IfcPlaneAngleMeasure(v[4].value),!v[5]?null:new IFC4.IfcPlaneAngleMeasure(v[5].value),!v[6]?null:new IFC4.IfcPlaneAngleMeasure(v[6].value),!v[7]?null:new IFC4.IfcCurvatureMeasure(v[7].value));},1597423693:function _(id,v){return new IFC4.IfcStructuralLoadSingleForce(id,!v[0]?null:new IFC4.IfcLabel(v[0].value),!v[1]?null:new IFC4.IfcForceMeasure(v[1].value),!v[2]?null:new IFC4.IfcForceMeasure(v[2].value),!v[3]?null:new IFC4.IfcForceMeasure(v[3].value),!v[4]?null:new IFC4.IfcTorqueMeasure(v[4].value),!v[5]?null:new IFC4.IfcTorqueMeasure(v[5].value),!v[6]?null:new IFC4.IfcTorqueMeasure(v[6].value));},1190533807:function _(id,v){return new IFC4.IfcStructuralLoadSingleForceWarping(id,!v[0]?null:new IFC4.IfcLabel(v[0].value),!v[1]?null:new IFC4.IfcForceMeasure(v[1].value),!v[2]?null:new IFC4.IfcForceMeasure(v[2].value),!v[3]?null:new IFC4.IfcForceMeasure(v[3].value),!v[4]?null:new IFC4.IfcTorqueMeasure(v[4].value),!v[5]?null:new IFC4.IfcTorqueMeasure(v[5].value),!v[6]?null:new IFC4.IfcTorqueMeasure(v[6].value),!v[7]?null:new IFC4.IfcWarpingMomentMeasure(v[7].value));},2233826070:function _(id,v){return new IFC4.IfcSubedge(id,new Handle(v[0].value),new Handle(v[1].value),new Handle(v[2].value));},2513912981:function _(id,_59){return new IFC4.IfcSurface(id);},1878645084:function _(id,v){return new IFC4.IfcSurfaceStyleRendering(id,new Handle(v[0].value),!v[1]?null:new IFC4.IfcNormalisedRatioMeasure(v[1].value),!v[2]?null:new Handle(v[2].value),!v[3]?null:new Handle(v[3].value),!v[4]?null:new Handle(v[4].value),!v[5]?null:new Handle(v[5].value),!v[6]?null:new Handle(v[6].value),!v[7]?null:TypeInitialiser(2,v[7]),v[8]);},2247615214:function _(id,v){return new IFC4.IfcSweptAreaSolid(id,new Handle(v[0].value),!v[1]?null:new Handle(v[1].value));},1260650574:function _(id,v){return new IFC4.IfcSweptDiskSolid(id,new Handle(v[0].value),new IFC4.IfcPositiveLengthMeasure(v[1].value),!v[2]?null:new IFC4.IfcPositiveLengthMeasure(v[2].value),!v[3]?null:new IFC4.IfcParameterValue(v[3].value),!v[4]?null:new IFC4.IfcParameterValue(v[4].value));},1096409881:function _(id,v){return new IFC4.IfcSweptDiskSolidPolygonal(id,new Handle(v[0].value),new IFC4.IfcPositiveLengthMeasure(v[1].value),!v[2]?null:new IFC4.IfcPositiveLengthMeasure(v[2].value),!v[3]?null:new IFC4.IfcParameterValue(v[3].value),!v[4]?null:new IFC4.IfcParameterValue(v[4].value),!v[5]?null:new IFC4.IfcPositiveLengthMeasure(v[5].value));},230924584:function _(id,v){return new IFC4.IfcSweptSurface(id,new Handle(v[0].value),!v[1]?null:new Handle(v[1].value));},3071757647:function _(id,v){return new IFC4.IfcTShapeProfileDef(id,v[0],!v[1]?null:new IFC4.IfcLabel(v[1].value),!v[2]?null:new Handle(v[2].value),new IFC4.IfcPositiveLengthMeasure(v[3].value),new IFC4.IfcPositiveLengthMeasure(v[4].value),new IFC4.IfcPositiveLengthMeasure(v[5].value),new IFC4.IfcPositiveLengthMeasure(v[6].value),!v[7]?null:new IFC4.IfcNonNegativeLengthMeasure(v[7].value),!v[8]?null:new IFC4.IfcNonNegativeLengthMeasure(v[8].value),!v[9]?null:new IFC4.IfcNonNegativeLengthMeasure(v[9].value),!v[10]?null:new IFC4.IfcPlaneAngleMeasure(v[10].value),!v[11]?null:new IFC4.IfcPlaneAngleMeasure(v[11].value));},901063453:function _(id,_60){return new IFC4.IfcTessellatedItem(id);},4282788508:function _(id,v){return new IFC4.IfcTextLiteral(id,new IFC4.IfcPresentableText(v[0].value),new Handle(v[1].value),v[2]);},3124975700:function _(id,v){return new IFC4.IfcTextLiteralWithExtent(id,new IFC4.IfcPresentableText(v[0].value),new Handle(v[1].value),v[2],new Handle(v[3].value),new IFC4.IfcBoxAlignment(v[4].value));},1983826977:function _(id,v){return new IFC4.IfcTextStyleFontModel(id,new IFC4.IfcLabel(v[0].value),v[1].map(function(p){return new IFC4.IfcTextFontName(p.value);}),!v[2]?null:new IFC4.IfcFontStyle(v[2].value),!v[3]?null:new IFC4.IfcFontVariant(v[3].value),!v[4]?null:new IFC4.IfcFontWeight(v[4].value),TypeInitialiser(2,v[5]));},2715220739:function _(id,v){return new IFC4.IfcTrapeziumProfileDef(id,v[0],!v[1]?null:new IFC4.IfcLabel(v[1].value),!v[2]?null:new Handle(v[2].value),new IFC4.IfcPositiveLengthMeasure(v[3].value),new IFC4.IfcPositiveLengthMeasure(v[4].value),new IFC4.IfcPositiveLengthMeasure(v[5].value),new IFC4.IfcLengthMeasure(v[6].value));},1628702193:function _(id,v){return new IFC4.IfcTypeObject(id,new IFC4.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4.IfcLabel(v[2].value),!v[3]?null:new IFC4.IfcText(v[3].value),!v[4]?null:new IFC4.IfcIdentifier(v[4].value),!v[5]?null:v[5].map(function(p){return new Handle(p.value);}));},3736923433:function _(id,v){return new IFC4.IfcTypeProcess(id,new IFC4.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4.IfcLabel(v[2].value),!v[3]?null:new IFC4.IfcText(v[3].value),!v[4]?null:new IFC4.IfcIdentifier(v[4].value),!v[5]?null:v[5].map(function(p){return new Handle(p.value);}),!v[6]?null:new IFC4.IfcIdentifier(v[6].value),!v[7]?null:new IFC4.IfcText(v[7].value),!v[8]?null:new IFC4.IfcLabel(v[8].value));},2347495698:function _(id,v){return new IFC4.IfcTypeProduct(id,new IFC4.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4.IfcLabel(v[2].value),!v[3]?null:new IFC4.IfcText(v[3].value),!v[4]?null:new IFC4.IfcIdentifier(v[4].value),!v[5]?null:v[5].map(function(p){return new Handle(p.value);}),!v[6]?null:v[6].map(function(p){return new Handle(p.value);}),!v[7]?null:new IFC4.IfcLabel(v[7].value));},3698973494:function _(id,v){return new IFC4.IfcTypeResource(id,new IFC4.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4.IfcLabel(v[2].value),!v[3]?null:new IFC4.IfcText(v[3].value),!v[4]?null:new IFC4.IfcIdentifier(v[4].value),!v[5]?null:v[5].map(function(p){return new Handle(p.value);}),!v[6]?null:new IFC4.IfcIdentifier(v[6].value),!v[7]?null:new IFC4.IfcText(v[7].value),!v[8]?null:new IFC4.IfcLabel(v[8].value));},427810014:function _(id,v){return new IFC4.IfcUShapeProfileDef(id,v[0],!v[1]?null:new IFC4.IfcLabel(v[1].value),!v[2]?null:new Handle(v[2].value),new IFC4.IfcPositiveLengthMeasure(v[3].value),new IFC4.IfcPositiveLengthMeasure(v[4].value),new IFC4.IfcPositiveLengthMeasure(v[5].value),new IFC4.IfcPositiveLengthMeasure(v[6].value),!v[7]?null:new IFC4.IfcNonNegativeLengthMeasure(v[7].value),!v[8]?null:new IFC4.IfcNonNegativeLengthMeasure(v[8].value),!v[9]?null:new IFC4.IfcPlaneAngleMeasure(v[9].value));},1417489154:function _(id,v){return new IFC4.IfcVector(id,new Handle(v[0].value),new IFC4.IfcLengthMeasure(v[1].value));},2759199220:function _(id,v){return new IFC4.IfcVertexLoop(id,new Handle(v[0].value));},1299126871:function _(id,v){return new IFC4.IfcWindowStyle(id,new IFC4.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4.IfcLabel(v[2].value),!v[3]?null:new IFC4.IfcText(v[3].value),!v[4]?null:new IFC4.IfcIdentifier(v[4].value),!v[5]?null:v[5].map(function(p){return new Handle(p.value);}),!v[6]?null:v[6].map(function(p){return new Handle(p.value);}),!v[7]?null:new IFC4.IfcLabel(v[7].value),v[8],v[9],new IFC4.IfcBoolean(v[10].value),new IFC4.IfcBoolean(v[11].value));},2543172580:function _(id,v){return new IFC4.IfcZShapeProfileDef(id,v[0],!v[1]?null:new IFC4.IfcLabel(v[1].value),!v[2]?null:new Handle(v[2].value),new IFC4.IfcPositiveLengthMeasure(v[3].value),new IFC4.IfcPositiveLengthMeasure(v[4].value),new IFC4.IfcPositiveLengthMeasure(v[5].value),new IFC4.IfcPositiveLengthMeasure(v[6].value),!v[7]?null:new IFC4.IfcNonNegativeLengthMeasure(v[7].value),!v[8]?null:new IFC4.IfcNonNegativeLengthMeasure(v[8].value));},3406155212:function _(id,v){return new IFC4.IfcAdvancedFace(id,v[0].map(function(p){return new Handle(p.value);}),new Handle(v[1].value),new IFC4.IfcBoolean(v[2].value));},669184980:function _(id,v){return new IFC4.IfcAnnotationFillArea(id,new Handle(v[0].value),!v[1]?null:v[1].map(function(p){return new Handle(p.value);}));},3207858831:function _(id,v){return new IFC4.IfcAsymmetricIShapeProfileDef(id,v[0],!v[1]?null:new IFC4.IfcLabel(v[1].value),!v[2]?null:new Handle(v[2].value),new IFC4.IfcPositiveLengthMeasure(v[3].value),new IFC4.IfcPositiveLengthMeasure(v[4].value),new IFC4.IfcPositiveLengthMeasure(v[5].value),new IFC4.IfcPositiveLengthMeasure(v[6].value),!v[7]?null:new IFC4.IfcNonNegativeLengthMeasure(v[7].value),new IFC4.IfcPositiveLengthMeasure(v[8].value),!v[9]?null:new IFC4.IfcPositiveLengthMeasure(v[9].value),!v[10]?null:new IFC4.IfcNonNegativeLengthMeasure(v[10].value),!v[11]?null:new IFC4.IfcNonNegativeLengthMeasure(v[11].value),!v[12]?null:new IFC4.IfcPlaneAngleMeasure(v[12].value),!v[13]?null:new IFC4.IfcNonNegativeLengthMeasure(v[13].value),!v[14]?null:new IFC4.IfcPlaneAngleMeasure(v[14].value));},4261334040:function _(id,v){return new IFC4.IfcAxis1Placement(id,new Handle(v[0].value),!v[1]?null:new Handle(v[1].value));},3125803723:function _(id,v){return new IFC4.IfcAxis2Placement2D(id,new Handle(v[0].value),!v[1]?null:new Handle(v[1].value));},2740243338:function _(id,v){return new IFC4.IfcAxis2Placement3D(id,new Handle(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new Handle(v[2].value));},2736907675:function _(id,v){return new IFC4.IfcBooleanResult(id,v[0],new Handle(v[1].value),new Handle(v[2].value));},4182860854:function _(id,_61){return new IFC4.IfcBoundedSurface(id);},2581212453:function _(id,v){return new IFC4.IfcBoundingBox(id,new Handle(v[0].value),new IFC4.IfcPositiveLengthMeasure(v[1].value),new IFC4.IfcPositiveLengthMeasure(v[2].value),new IFC4.IfcPositiveLengthMeasure(v[3].value));},2713105998:function _(id,v){return new IFC4.IfcBoxedHalfSpace(id,new Handle(v[0].value),new IFC4.IfcBoolean(v[1].value),new Handle(v[2].value));},2898889636:function _(id,v){return new IFC4.IfcCShapeProfileDef(id,v[0],!v[1]?null:new IFC4.IfcLabel(v[1].value),!v[2]?null:new Handle(v[2].value),new IFC4.IfcPositiveLengthMeasure(v[3].value),new IFC4.IfcPositiveLengthMeasure(v[4].value),new IFC4.IfcPositiveLengthMeasure(v[5].value),new IFC4.IfcPositiveLengthMeasure(v[6].value),!v[7]?null:new IFC4.IfcNonNegativeLengthMeasure(v[7].value));},1123145078:function _(id,v){return new IFC4.IfcCartesianPoint(id,v[0].map(function(p){return new IFC4.IfcLengthMeasure(p.value);}));},574549367:function _(id,_62){return new IFC4.IfcCartesianPointList(id);},1675464909:function _(id,v){return new IFC4.IfcCartesianPointList2D(id,v[0].map(function(p){return new IFC4.IfcLengthMeasure(p.value);}));},2059837836:function _(id,v){return new IFC4.IfcCartesianPointList3D(id,v[0].map(function(p){return new IFC4.IfcLengthMeasure(p.value);}));},59481748:function _(id,v){return new IFC4.IfcCartesianTransformationOperator(id,!v[0]?null:new Handle(v[0].value),!v[1]?null:new Handle(v[1].value),new Handle(v[2].value),!v[3]?null:new IFC4.IfcReal(v[3].value));},3749851601:function _(id,v){return new IFC4.IfcCartesianTransformationOperator2D(id,!v[0]?null:new Handle(v[0].value),!v[1]?null:new Handle(v[1].value),new Handle(v[2].value),!v[3]?null:new IFC4.IfcReal(v[3].value));},3486308946:function _(id,v){return new IFC4.IfcCartesianTransformationOperator2DnonUniform(id,!v[0]?null:new Handle(v[0].value),!v[1]?null:new Handle(v[1].value),new Handle(v[2].value),!v[3]?null:new IFC4.IfcReal(v[3].value),!v[4]?null:new IFC4.IfcReal(v[4].value));},3331915920:function _(id,v){return new IFC4.IfcCartesianTransformationOperator3D(id,!v[0]?null:new Handle(v[0].value),!v[1]?null:new Handle(v[1].value),new Handle(v[2].value),!v[3]?null:new IFC4.IfcReal(v[3].value),!v[4]?null:new Handle(v[4].value));},1416205885:function _(id,v){return new IFC4.IfcCartesianTransformationOperator3DnonUniform(id,!v[0]?null:new Handle(v[0].value),!v[1]?null:new Handle(v[1].value),new Handle(v[2].value),!v[3]?null:new IFC4.IfcReal(v[3].value),!v[4]?null:new Handle(v[4].value),!v[5]?null:new IFC4.IfcReal(v[5].value),!v[6]?null:new IFC4.IfcReal(v[6].value));},1383045692:function _(id,v){return new IFC4.IfcCircleProfileDef(id,v[0],!v[1]?null:new IFC4.IfcLabel(v[1].value),!v[2]?null:new Handle(v[2].value),new IFC4.IfcPositiveLengthMeasure(v[3].value));},2205249479:function _(id,v){return new IFC4.IfcClosedShell(id,v[0].map(function(p){return new Handle(p.value);}));},776857604:function _(id,v){return new IFC4.IfcColourRgb(id,!v[0]?null:new IFC4.IfcLabel(v[0].value),new IFC4.IfcNormalisedRatioMeasure(v[1].value),new IFC4.IfcNormalisedRatioMeasure(v[2].value),new IFC4.IfcNormalisedRatioMeasure(v[3].value));},2542286263:function _(id,v){return new IFC4.IfcComplexProperty(id,new IFC4.IfcIdentifier(v[0].value),!v[1]?null:new IFC4.IfcText(v[1].value),new IFC4.IfcIdentifier(v[2].value),v[3].map(function(p){return new Handle(p.value);}));},2485617015:function _(id,v){return new IFC4.IfcCompositeCurveSegment(id,v[0],new IFC4.IfcBoolean(v[1].value),new Handle(v[2].value));},2574617495:function _(id,v){return new IFC4.IfcConstructionResourceType(id,new IFC4.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4.IfcLabel(v[2].value),!v[3]?null:new IFC4.IfcText(v[3].value),!v[4]?null:new IFC4.IfcIdentifier(v[4].value),!v[5]?null:v[5].map(function(p){return new Handle(p.value);}),!v[6]?null:new IFC4.IfcIdentifier(v[6].value),!v[7]?null:new IFC4.IfcText(v[7].value),!v[8]?null:new IFC4.IfcLabel(v[8].value),!v[9]?null:v[9].map(function(p){return new Handle(p.value);}),!v[10]?null:new Handle(v[10].value));},3419103109:function _(id,v){return new IFC4.IfcContext(id,new IFC4.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4.IfcLabel(v[2].value),!v[3]?null:new IFC4.IfcText(v[3].value),!v[4]?null:new IFC4.IfcLabel(v[4].value),!v[5]?null:new IFC4.IfcLabel(v[5].value),!v[6]?null:new IFC4.IfcLabel(v[6].value),!v[7]?null:v[7].map(function(p){return new Handle(p.value);}),!v[8]?null:new Handle(v[8].value));},1815067380:function _(id,v){return new IFC4.IfcCrewResourceType(id,new IFC4.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4.IfcLabel(v[2].value),!v[3]?null:new IFC4.IfcText(v[3].value),!v[4]?null:new IFC4.IfcIdentifier(v[4].value),!v[5]?null:v[5].map(function(p){return new Handle(p.value);}),!v[6]?null:new IFC4.IfcIdentifier(v[6].value),!v[7]?null:new IFC4.IfcText(v[7].value),!v[8]?null:new IFC4.IfcLabel(v[8].value),!v[9]?null:v[9].map(function(p){return new Handle(p.value);}),!v[10]?null:new Handle(v[10].value),v[11]);},2506170314:function _(id,v){return new IFC4.IfcCsgPrimitive3D(id,new Handle(v[0].value));},2147822146:function _(id,v){return new IFC4.IfcCsgSolid(id,new Handle(v[0].value));},2601014836:function _(id,_63){return new IFC4.IfcCurve(id);},2827736869:function _(id,v){return new IFC4.IfcCurveBoundedPlane(id,new Handle(v[0].value),new Handle(v[1].value),!v[2]?null:v[2].map(function(p){return new Handle(p.value);}));},2629017746:function _(id,v){return new IFC4.IfcCurveBoundedSurface(id,new Handle(v[0].value),v[1].map(function(p){return new Handle(p.value);}),new IFC4.IfcBoolean(v[2].value));},32440307:function _(id,v){return new IFC4.IfcDirection(id,v[0].map(function(p){return new IFC4.IfcReal(p.value);}));},526551008:function _(id,v){return new IFC4.IfcDoorStyle(id,new IFC4.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4.IfcLabel(v[2].value),!v[3]?null:new IFC4.IfcText(v[3].value),!v[4]?null:new IFC4.IfcIdentifier(v[4].value),!v[5]?null:v[5].map(function(p){return new Handle(p.value);}),!v[6]?null:v[6].map(function(p){return new Handle(p.value);}),!v[7]?null:new IFC4.IfcLabel(v[7].value),v[8],v[9],new IFC4.IfcBoolean(v[10].value),new IFC4.IfcBoolean(v[11].value));},1472233963:function _(id,v){return new IFC4.IfcEdgeLoop(id,v[0].map(function(p){return new Handle(p.value);}));},1883228015:function _(id,v){return new IFC4.IfcElementQuantity(id,new IFC4.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4.IfcLabel(v[2].value),!v[3]?null:new IFC4.IfcText(v[3].value),!v[4]?null:new IFC4.IfcLabel(v[4].value),v[5].map(function(p){return new Handle(p.value);}));},339256511:function _(id,v){return new IFC4.IfcElementType(id,new IFC4.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4.IfcLabel(v[2].value),!v[3]?null:new IFC4.IfcText(v[3].value),!v[4]?null:new IFC4.IfcIdentifier(v[4].value),!v[5]?null:v[5].map(function(p){return new Handle(p.value);}),!v[6]?null:v[6].map(function(p){return new Handle(p.value);}),!v[7]?null:new IFC4.IfcLabel(v[7].value),!v[8]?null:new IFC4.IfcLabel(v[8].value));},2777663545:function _(id,v){return new IFC4.IfcElementarySurface(id,new Handle(v[0].value));},2835456948:function _(id,v){return new IFC4.IfcEllipseProfileDef(id,v[0],!v[1]?null:new IFC4.IfcLabel(v[1].value),!v[2]?null:new Handle(v[2].value),new IFC4.IfcPositiveLengthMeasure(v[3].value),new IFC4.IfcPositiveLengthMeasure(v[4].value));},4024345920:function _(id,v){return new IFC4.IfcEventType(id,new IFC4.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4.IfcLabel(v[2].value),!v[3]?null:new IFC4.IfcText(v[3].value),!v[4]?null:new IFC4.IfcIdentifier(v[4].value),!v[5]?null:v[5].map(function(p){return new Handle(p.value);}),!v[6]?null:new IFC4.IfcIdentifier(v[6].value),!v[7]?null:new IFC4.IfcText(v[7].value),!v[8]?null:new IFC4.IfcLabel(v[8].value),v[9],v[10],!v[11]?null:new IFC4.IfcLabel(v[11].value));},477187591:function _(id,v){return new IFC4.IfcExtrudedAreaSolid(id,new Handle(v[0].value),!v[1]?null:new Handle(v[1].value),new Handle(v[2].value),new IFC4.IfcPositiveLengthMeasure(v[3].value));},2804161546:function _(id,v){return new IFC4.IfcExtrudedAreaSolidTapered(id,new Handle(v[0].value),!v[1]?null:new Handle(v[1].value),new Handle(v[2].value),new IFC4.IfcPositiveLengthMeasure(v[3].value),new Handle(v[4].value));},2047409740:function _(id,v){return new IFC4.IfcFaceBasedSurfaceModel(id,v[0].map(function(p){return new Handle(p.value);}));},374418227:function _(id,v){return new IFC4.IfcFillAreaStyleHatching(id,new Handle(v[0].value),new Handle(v[1].value),!v[2]?null:new Handle(v[2].value),!v[3]?null:new Handle(v[3].value),new IFC4.IfcPlaneAngleMeasure(v[4].value));},315944413:function _(id,v){return new IFC4.IfcFillAreaStyleTiles(id,v[0].map(function(p){return new Handle(p.value);}),v[1].map(function(p){return new Handle(p.value);}),new IFC4.IfcPositiveRatioMeasure(v[2].value));},2652556860:function _(id,v){return new IFC4.IfcFixedReferenceSweptAreaSolid(id,new Handle(v[0].value),!v[1]?null:new Handle(v[1].value),new Handle(v[2].value),!v[3]?null:new IFC4.IfcParameterValue(v[3].value),!v[4]?null:new IFC4.IfcParameterValue(v[4].value),new Handle(v[5].value));},4238390223:function _(id,v){return new IFC4.IfcFurnishingElementType(id,new IFC4.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4.IfcLabel(v[2].value),!v[3]?null:new IFC4.IfcText(v[3].value),!v[4]?null:new IFC4.IfcIdentifier(v[4].value),!v[5]?null:v[5].map(function(p){return new Handle(p.value);}),!v[6]?null:v[6].map(function(p){return new Handle(p.value);}),!v[7]?null:new IFC4.IfcLabel(v[7].value),!v[8]?null:new IFC4.IfcLabel(v[8].value));},1268542332:function _(id,v){return new IFC4.IfcFurnitureType(id,new IFC4.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4.IfcLabel(v[2].value),!v[3]?null:new IFC4.IfcText(v[3].value),!v[4]?null:new IFC4.IfcIdentifier(v[4].value),!v[5]?null:v[5].map(function(p){return new Handle(p.value);}),!v[6]?null:v[6].map(function(p){return new Handle(p.value);}),!v[7]?null:new IFC4.IfcLabel(v[7].value),!v[8]?null:new IFC4.IfcLabel(v[8].value),v[9],v[10]);},4095422895:function _(id,v){return new IFC4.IfcGeographicElementType(id,new IFC4.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4.IfcLabel(v[2].value),!v[3]?null:new IFC4.IfcText(v[3].value),!v[4]?null:new IFC4.IfcIdentifier(v[4].value),!v[5]?null:v[5].map(function(p){return new Handle(p.value);}),!v[6]?null:v[6].map(function(p){return new Handle(p.value);}),!v[7]?null:new IFC4.IfcLabel(v[7].value),!v[8]?null:new IFC4.IfcLabel(v[8].value),v[9]);},987898635:function _(id,v){return new IFC4.IfcGeometricCurveSet(id,v[0].map(function(p){return new Handle(p.value);}));},1484403080:function _(id,v){return new IFC4.IfcIShapeProfileDef(id,v[0],!v[1]?null:new IFC4.IfcLabel(v[1].value),!v[2]?null:new Handle(v[2].value),new IFC4.IfcPositiveLengthMeasure(v[3].value),new IFC4.IfcPositiveLengthMeasure(v[4].value),new IFC4.IfcPositiveLengthMeasure(v[5].value),new IFC4.IfcPositiveLengthMeasure(v[6].value),!v[7]?null:new IFC4.IfcNonNegativeLengthMeasure(v[7].value),!v[8]?null:new IFC4.IfcNonNegativeLengthMeasure(v[8].value),!v[9]?null:new IFC4.IfcPlaneAngleMeasure(v[9].value));},178912537:function _(id,v){return new IFC4.IfcIndexedPolygonalFace(id,v[0].map(function(p){return new IFC4.IfcPositiveInteger(p.value);}));},2294589976:function _(id,v){return new IFC4.IfcIndexedPolygonalFaceWithVoids(id,v[0].map(function(p){return new IFC4.IfcPositiveInteger(p.value);}),v[1].map(function(p){return new IFC4.IfcPositiveInteger(p.value);}));},572779678:function _(id,v){return new IFC4.IfcLShapeProfileDef(id,v[0],!v[1]?null:new IFC4.IfcLabel(v[1].value),!v[2]?null:new Handle(v[2].value),new IFC4.IfcPositiveLengthMeasure(v[3].value),!v[4]?null:new IFC4.IfcPositiveLengthMeasure(v[4].value),new IFC4.IfcPositiveLengthMeasure(v[5].value),!v[6]?null:new IFC4.IfcNonNegativeLengthMeasure(v[6].value),!v[7]?null:new IFC4.IfcNonNegativeLengthMeasure(v[7].value),!v[8]?null:new IFC4.IfcPlaneAngleMeasure(v[8].value));},428585644:function _(id,v){return new IFC4.IfcLaborResourceType(id,new IFC4.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4.IfcLabel(v[2].value),!v[3]?null:new IFC4.IfcText(v[3].value),!v[4]?null:new IFC4.IfcIdentifier(v[4].value),!v[5]?null:v[5].map(function(p){return new Handle(p.value);}),!v[6]?null:new IFC4.IfcIdentifier(v[6].value),!v[7]?null:new IFC4.IfcText(v[7].value),!v[8]?null:new IFC4.IfcLabel(v[8].value),!v[9]?null:v[9].map(function(p){return new Handle(p.value);}),!v[10]?null:new Handle(v[10].value),v[11]);},1281925730:function _(id,v){return new IFC4.IfcLine(id,new Handle(v[0].value),new Handle(v[1].value));},1425443689:function _(id,v){return new IFC4.IfcManifoldSolidBrep(id,new Handle(v[0].value));},3888040117:function _(id,v){return new IFC4.IfcObject(id,new IFC4.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4.IfcLabel(v[2].value),!v[3]?null:new IFC4.IfcText(v[3].value),!v[4]?null:new IFC4.IfcLabel(v[4].value));},3388369263:function _(id,v){return new IFC4.IfcOffsetCurve2D(id,new Handle(v[0].value),new IFC4.IfcLengthMeasure(v[1].value),new IFC4.IfcLogical(v[2].value));},3505215534:function _(id,v){return new IFC4.IfcOffsetCurve3D(id,new Handle(v[0].value),new IFC4.IfcLengthMeasure(v[1].value),new IFC4.IfcLogical(v[2].value),new Handle(v[3].value));},1682466193:function _(id,v){return new IFC4.IfcPcurve(id,new Handle(v[0].value),new Handle(v[1].value));},603570806:function _(id,v){return new IFC4.IfcPlanarBox(id,new IFC4.IfcLengthMeasure(v[0].value),new IFC4.IfcLengthMeasure(v[1].value),new Handle(v[2].value));},220341763:function _(id,v){return new IFC4.IfcPlane(id,new Handle(v[0].value));},759155922:function _(id,v){return new IFC4.IfcPreDefinedColour(id,new IFC4.IfcLabel(v[0].value));},2559016684:function _(id,v){return new IFC4.IfcPreDefinedCurveFont(id,new IFC4.IfcLabel(v[0].value));},3967405729:function _(id,v){return new IFC4.IfcPreDefinedPropertySet(id,new IFC4.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4.IfcLabel(v[2].value),!v[3]?null:new IFC4.IfcText(v[3].value));},569719735:function _(id,v){return new IFC4.IfcProcedureType(id,new IFC4.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4.IfcLabel(v[2].value),!v[3]?null:new IFC4.IfcText(v[3].value),!v[4]?null:new IFC4.IfcIdentifier(v[4].value),!v[5]?null:v[5].map(function(p){return new Handle(p.value);}),!v[6]?null:new IFC4.IfcIdentifier(v[6].value),!v[7]?null:new IFC4.IfcText(v[7].value),!v[8]?null:new IFC4.IfcLabel(v[8].value),v[9]);},2945172077:function _(id,v){return new IFC4.IfcProcess(id,new IFC4.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4.IfcLabel(v[2].value),!v[3]?null:new IFC4.IfcText(v[3].value),!v[4]?null:new IFC4.IfcLabel(v[4].value),!v[5]?null:new IFC4.IfcIdentifier(v[5].value),!v[6]?null:new IFC4.IfcText(v[6].value));},4208778838:function _(id,v){return new IFC4.IfcProduct(id,new IFC4.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4.IfcLabel(v[2].value),!v[3]?null:new IFC4.IfcText(v[3].value),!v[4]?null:new IFC4.IfcLabel(v[4].value),!v[5]?null:new Handle(v[5].value),!v[6]?null:new Handle(v[6].value));},103090709:function _(id,v){return new IFC4.IfcProject(id,new IFC4.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4.IfcLabel(v[2].value),!v[3]?null:new IFC4.IfcText(v[3].value),!v[4]?null:new IFC4.IfcLabel(v[4].value),!v[5]?null:new IFC4.IfcLabel(v[5].value),!v[6]?null:new IFC4.IfcLabel(v[6].value),!v[7]?null:v[7].map(function(p){return new Handle(p.value);}),!v[8]?null:new Handle(v[8].value));},653396225:function _(id,v){return new IFC4.IfcProjectLibrary(id,new IFC4.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4.IfcLabel(v[2].value),!v[3]?null:new IFC4.IfcText(v[3].value),!v[4]?null:new IFC4.IfcLabel(v[4].value),!v[5]?null:new IFC4.IfcLabel(v[5].value),!v[6]?null:new IFC4.IfcLabel(v[6].value),!v[7]?null:v[7].map(function(p){return new Handle(p.value);}),!v[8]?null:new Handle(v[8].value));},871118103:function _(id,v){return new IFC4.IfcPropertyBoundedValue(id,new IFC4.IfcIdentifier(v[0].value),!v[1]?null:new IFC4.IfcText(v[1].value),!v[2]?null:TypeInitialiser(2,v[2]),!v[3]?null:TypeInitialiser(2,v[3]),!v[4]?null:new Handle(v[4].value),!v[5]?null:TypeInitialiser(2,v[5]));},4166981789:function _(id,v){return new IFC4.IfcPropertyEnumeratedValue(id,new IFC4.IfcIdentifier(v[0].value),!v[1]?null:new IFC4.IfcText(v[1].value),!v[2]?null:v[2].map(function(p){return TypeInitialiser(2,p);}),!v[3]?null:new Handle(v[3].value));},2752243245:function _(id,v){return new IFC4.IfcPropertyListValue(id,new IFC4.IfcIdentifier(v[0].value),!v[1]?null:new IFC4.IfcText(v[1].value),!v[2]?null:v[2].map(function(p){return TypeInitialiser(2,p);}),!v[3]?null:new Handle(v[3].value));},941946838:function _(id,v){return new IFC4.IfcPropertyReferenceValue(id,new IFC4.IfcIdentifier(v[0].value),!v[1]?null:new IFC4.IfcText(v[1].value),!v[2]?null:new IFC4.IfcText(v[2].value),!v[3]?null:new Handle(v[3].value));},1451395588:function _(id,v){return new IFC4.IfcPropertySet(id,new IFC4.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4.IfcLabel(v[2].value),!v[3]?null:new IFC4.IfcText(v[3].value),v[4].map(function(p){return new Handle(p.value);}));},492091185:function _(id,v){return new IFC4.IfcPropertySetTemplate(id,new IFC4.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4.IfcLabel(v[2].value),!v[3]?null:new IFC4.IfcText(v[3].value),v[4],!v[5]?null:new IFC4.IfcIdentifier(v[5].value),v[6].map(function(p){return new Handle(p.value);}));},3650150729:function _(id,v){return new IFC4.IfcPropertySingleValue(id,new IFC4.IfcIdentifier(v[0].value),!v[1]?null:new IFC4.IfcText(v[1].value),!v[2]?null:TypeInitialiser(2,v[2]),!v[3]?null:new Handle(v[3].value));},110355661:function _(id,v){return new IFC4.IfcPropertyTableValue(id,new IFC4.IfcIdentifier(v[0].value),!v[1]?null:new IFC4.IfcText(v[1].value),!v[2]?null:v[2].map(function(p){return TypeInitialiser(2,p);}),!v[3]?null:v[3].map(function(p){return TypeInitialiser(2,p);}),!v[4]?null:new IFC4.IfcText(v[4].value),!v[5]?null:new Handle(v[5].value),!v[6]?null:new Handle(v[6].value),v[7]);},3521284610:function _(id,v){return new IFC4.IfcPropertyTemplate(id,new IFC4.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4.IfcLabel(v[2].value),!v[3]?null:new IFC4.IfcText(v[3].value));},3219374653:function _(id,v){return new IFC4.IfcProxy(id,new IFC4.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4.IfcLabel(v[2].value),!v[3]?null:new IFC4.IfcText(v[3].value),!v[4]?null:new IFC4.IfcLabel(v[4].value),!v[5]?null:new Handle(v[5].value),!v[6]?null:new Handle(v[6].value),v[7],!v[8]?null:new IFC4.IfcLabel(v[8].value));},2770003689:function _(id,v){return new IFC4.IfcRectangleHollowProfileDef(id,v[0],!v[1]?null:new IFC4.IfcLabel(v[1].value),!v[2]?null:new Handle(v[2].value),new IFC4.IfcPositiveLengthMeasure(v[3].value),new IFC4.IfcPositiveLengthMeasure(v[4].value),new IFC4.IfcPositiveLengthMeasure(v[5].value),!v[6]?null:new IFC4.IfcNonNegativeLengthMeasure(v[6].value),!v[7]?null:new IFC4.IfcNonNegativeLengthMeasure(v[7].value));},2798486643:function _(id,v){return new IFC4.IfcRectangularPyramid(id,new Handle(v[0].value),new IFC4.IfcPositiveLengthMeasure(v[1].value),new IFC4.IfcPositiveLengthMeasure(v[2].value),new IFC4.IfcPositiveLengthMeasure(v[3].value));},3454111270:function _(id,v){return new IFC4.IfcRectangularTrimmedSurface(id,new Handle(v[0].value),new IFC4.IfcParameterValue(v[1].value),new IFC4.IfcParameterValue(v[2].value),new IFC4.IfcParameterValue(v[3].value),new IFC4.IfcParameterValue(v[4].value),new IFC4.IfcBoolean(v[5].value),new IFC4.IfcBoolean(v[6].value));},3765753017:function _(id,v){return new IFC4.IfcReinforcementDefinitionProperties(id,new IFC4.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4.IfcLabel(v[2].value),!v[3]?null:new IFC4.IfcText(v[3].value),!v[4]?null:new IFC4.IfcLabel(v[4].value),v[5].map(function(p){return new Handle(p.value);}));},3939117080:function _(id,v){return new IFC4.IfcRelAssigns(id,new IFC4.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4.IfcLabel(v[2].value),!v[3]?null:new IFC4.IfcText(v[3].value),v[4].map(function(p){return new Handle(p.value);}),v[5]);},1683148259:function _(id,v){return new IFC4.IfcRelAssignsToActor(id,new IFC4.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4.IfcLabel(v[2].value),!v[3]?null:new IFC4.IfcText(v[3].value),v[4].map(function(p){return new Handle(p.value);}),v[5],new Handle(v[6].value),!v[7]?null:new Handle(v[7].value));},2495723537:function _(id,v){return new IFC4.IfcRelAssignsToControl(id,new IFC4.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4.IfcLabel(v[2].value),!v[3]?null:new IFC4.IfcText(v[3].value),v[4].map(function(p){return new Handle(p.value);}),v[5],new Handle(v[6].value));},1307041759:function _(id,v){return new IFC4.IfcRelAssignsToGroup(id,new IFC4.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4.IfcLabel(v[2].value),!v[3]?null:new IFC4.IfcText(v[3].value),v[4].map(function(p){return new Handle(p.value);}),v[5],new Handle(v[6].value));},1027710054:function _(id,v){return new IFC4.IfcRelAssignsToGroupByFactor(id,new IFC4.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4.IfcLabel(v[2].value),!v[3]?null:new IFC4.IfcText(v[3].value),v[4].map(function(p){return new Handle(p.value);}),v[5],new Handle(v[6].value),new IFC4.IfcRatioMeasure(v[7].value));},4278684876:function _(id,v){return new IFC4.IfcRelAssignsToProcess(id,new IFC4.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4.IfcLabel(v[2].value),!v[3]?null:new IFC4.IfcText(v[3].value),v[4].map(function(p){return new Handle(p.value);}),v[5],new Handle(v[6].value),!v[7]?null:new Handle(v[7].value));},2857406711:function _(id,v){return new IFC4.IfcRelAssignsToProduct(id,new IFC4.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4.IfcLabel(v[2].value),!v[3]?null:new IFC4.IfcText(v[3].value),v[4].map(function(p){return new Handle(p.value);}),v[5],new Handle(v[6].value));},205026976:function _(id,v){return new IFC4.IfcRelAssignsToResource(id,new IFC4.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4.IfcLabel(v[2].value),!v[3]?null:new IFC4.IfcText(v[3].value),v[4].map(function(p){return new Handle(p.value);}),v[5],new Handle(v[6].value));},1865459582:function _(id,v){return new IFC4.IfcRelAssociates(id,new IFC4.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4.IfcLabel(v[2].value),!v[3]?null:new IFC4.IfcText(v[3].value),v[4].map(function(p){return new Handle(p.value);}));},4095574036:function _(id,v){return new IFC4.IfcRelAssociatesApproval(id,new IFC4.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4.IfcLabel(v[2].value),!v[3]?null:new IFC4.IfcText(v[3].value),v[4].map(function(p){return new Handle(p.value);}),new Handle(v[5].value));},919958153:function _(id,v){return new IFC4.IfcRelAssociatesClassification(id,new IFC4.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4.IfcLabel(v[2].value),!v[3]?null:new IFC4.IfcText(v[3].value),v[4].map(function(p){return new Handle(p.value);}),new Handle(v[5].value));},2728634034:function _(id,v){return new IFC4.IfcRelAssociatesConstraint(id,new IFC4.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4.IfcLabel(v[2].value),!v[3]?null:new IFC4.IfcText(v[3].value),v[4].map(function(p){return new Handle(p.value);}),!v[5]?null:new IFC4.IfcLabel(v[5].value),new Handle(v[6].value));},982818633:function _(id,v){return new IFC4.IfcRelAssociatesDocument(id,new IFC4.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4.IfcLabel(v[2].value),!v[3]?null:new IFC4.IfcText(v[3].value),v[4].map(function(p){return new Handle(p.value);}),new Handle(v[5].value));},3840914261:function _(id,v){return new IFC4.IfcRelAssociatesLibrary(id,new IFC4.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4.IfcLabel(v[2].value),!v[3]?null:new IFC4.IfcText(v[3].value),v[4].map(function(p){return new Handle(p.value);}),new Handle(v[5].value));},2655215786:function _(id,v){return new IFC4.IfcRelAssociatesMaterial(id,new IFC4.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4.IfcLabel(v[2].value),!v[3]?null:new IFC4.IfcText(v[3].value),v[4].map(function(p){return new Handle(p.value);}),new Handle(v[5].value));},826625072:function _(id,v){return new IFC4.IfcRelConnects(id,new IFC4.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4.IfcLabel(v[2].value),!v[3]?null:new IFC4.IfcText(v[3].value));},1204542856:function _(id,v){return new IFC4.IfcRelConnectsElements(id,new IFC4.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4.IfcLabel(v[2].value),!v[3]?null:new IFC4.IfcText(v[3].value),!v[4]?null:new Handle(v[4].value),new Handle(v[5].value),new Handle(v[6].value));},3945020480:function _(id,v){return new IFC4.IfcRelConnectsPathElements(id,new IFC4.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4.IfcLabel(v[2].value),!v[3]?null:new IFC4.IfcText(v[3].value),!v[4]?null:new Handle(v[4].value),new Handle(v[5].value),new Handle(v[6].value),v[7].map(function(p){return new IFC4.IfcInteger(p.value);}),v[8].map(function(p){return new IFC4.IfcInteger(p.value);}),v[9],v[10]);},4201705270:function _(id,v){return new IFC4.IfcRelConnectsPortToElement(id,new IFC4.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4.IfcLabel(v[2].value),!v[3]?null:new IFC4.IfcText(v[3].value),new Handle(v[4].value),new Handle(v[5].value));},3190031847:function _(id,v){return new IFC4.IfcRelConnectsPorts(id,new IFC4.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4.IfcLabel(v[2].value),!v[3]?null:new IFC4.IfcText(v[3].value),new Handle(v[4].value),new Handle(v[5].value),!v[6]?null:new Handle(v[6].value));},2127690289:function _(id,v){return new IFC4.IfcRelConnectsStructuralActivity(id,new IFC4.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4.IfcLabel(v[2].value),!v[3]?null:new IFC4.IfcText(v[3].value),new Handle(v[4].value),new Handle(v[5].value));},1638771189:function _(id,v){return new IFC4.IfcRelConnectsStructuralMember(id,new IFC4.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4.IfcLabel(v[2].value),!v[3]?null:new IFC4.IfcText(v[3].value),new Handle(v[4].value),new Handle(v[5].value),!v[6]?null:new Handle(v[6].value),!v[7]?null:new Handle(v[7].value),!v[8]?null:new IFC4.IfcLengthMeasure(v[8].value),!v[9]?null:new Handle(v[9].value));},504942748:function _(id,v){return new IFC4.IfcRelConnectsWithEccentricity(id,new IFC4.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4.IfcLabel(v[2].value),!v[3]?null:new IFC4.IfcText(v[3].value),new Handle(v[4].value),new Handle(v[5].value),!v[6]?null:new Handle(v[6].value),!v[7]?null:new Handle(v[7].value),!v[8]?null:new IFC4.IfcLengthMeasure(v[8].value),!v[9]?null:new Handle(v[9].value),new Handle(v[10].value));},3678494232:function _(id,v){return new IFC4.IfcRelConnectsWithRealizingElements(id,new IFC4.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4.IfcLabel(v[2].value),!v[3]?null:new IFC4.IfcText(v[3].value),!v[4]?null:new Handle(v[4].value),new Handle(v[5].value),new Handle(v[6].value),v[7].map(function(p){return new Handle(p.value);}),!v[8]?null:new IFC4.IfcLabel(v[8].value));},3242617779:function _(id,v){return new IFC4.IfcRelContainedInSpatialStructure(id,new IFC4.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4.IfcLabel(v[2].value),!v[3]?null:new IFC4.IfcText(v[3].value),v[4].map(function(p){return new Handle(p.value);}),new Handle(v[5].value));},886880790:function _(id,v){return new IFC4.IfcRelCoversBldgElements(id,new IFC4.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4.IfcLabel(v[2].value),!v[3]?null:new IFC4.IfcText(v[3].value),new Handle(v[4].value),v[5].map(function(p){return new Handle(p.value);}));},2802773753:function _(id,v){return new IFC4.IfcRelCoversSpaces(id,new IFC4.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4.IfcLabel(v[2].value),!v[3]?null:new IFC4.IfcText(v[3].value),new Handle(v[4].value),v[5].map(function(p){return new Handle(p.value);}));},2565941209:function _(id,v){return new IFC4.IfcRelDeclares(id,new IFC4.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4.IfcLabel(v[2].value),!v[3]?null:new IFC4.IfcText(v[3].value),new Handle(v[4].value),v[5].map(function(p){return new Handle(p.value);}));},2551354335:function _(id,v){return new IFC4.IfcRelDecomposes(id,new IFC4.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4.IfcLabel(v[2].value),!v[3]?null:new IFC4.IfcText(v[3].value));},693640335:function _(id,v){return new IFC4.IfcRelDefines(id,new IFC4.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4.IfcLabel(v[2].value),!v[3]?null:new IFC4.IfcText(v[3].value));},1462361463:function _(id,v){return new IFC4.IfcRelDefinesByObject(id,new IFC4.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4.IfcLabel(v[2].value),!v[3]?null:new IFC4.IfcText(v[3].value),v[4].map(function(p){return new Handle(p.value);}),new Handle(v[5].value));},4186316022:function _(id,v){return new IFC4.IfcRelDefinesByProperties(id,new IFC4.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4.IfcLabel(v[2].value),!v[3]?null:new IFC4.IfcText(v[3].value),v[4].map(function(p){return new Handle(p.value);}),new Handle(v[5].value));},307848117:function _(id,v){return new IFC4.IfcRelDefinesByTemplate(id,new IFC4.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4.IfcLabel(v[2].value),!v[3]?null:new IFC4.IfcText(v[3].value),v[4].map(function(p){return new Handle(p.value);}),new Handle(v[5].value));},781010003:function _(id,v){return new IFC4.IfcRelDefinesByType(id,new IFC4.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4.IfcLabel(v[2].value),!v[3]?null:new IFC4.IfcText(v[3].value),v[4].map(function(p){return new Handle(p.value);}),new Handle(v[5].value));},3940055652:function _(id,v){return new IFC4.IfcRelFillsElement(id,new IFC4.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4.IfcLabel(v[2].value),!v[3]?null:new IFC4.IfcText(v[3].value),new Handle(v[4].value),new Handle(v[5].value));},279856033:function _(id,v){return new IFC4.IfcRelFlowControlElements(id,new IFC4.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4.IfcLabel(v[2].value),!v[3]?null:new IFC4.IfcText(v[3].value),v[4].map(function(p){return new Handle(p.value);}),new Handle(v[5].value));},427948657:function _(id,v){return new IFC4.IfcRelInterferesElements(id,new IFC4.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4.IfcLabel(v[2].value),!v[3]?null:new IFC4.IfcText(v[3].value),new Handle(v[4].value),new Handle(v[5].value),!v[6]?null:new Handle(v[6].value),!v[7]?null:new IFC4.IfcIdentifier(v[7].value),v[8].value);},3268803585:function _(id,v){return new IFC4.IfcRelNests(id,new IFC4.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4.IfcLabel(v[2].value),!v[3]?null:new IFC4.IfcText(v[3].value),new Handle(v[4].value),v[5].map(function(p){return new Handle(p.value);}));},750771296:function _(id,v){return new IFC4.IfcRelProjectsElement(id,new IFC4.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4.IfcLabel(v[2].value),!v[3]?null:new IFC4.IfcText(v[3].value),new Handle(v[4].value),new Handle(v[5].value));},1245217292:function _(id,v){return new IFC4.IfcRelReferencedInSpatialStructure(id,new IFC4.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4.IfcLabel(v[2].value),!v[3]?null:new IFC4.IfcText(v[3].value),v[4].map(function(p){return new Handle(p.value);}),new Handle(v[5].value));},4122056220:function _(id,v){return new IFC4.IfcRelSequence(id,new IFC4.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4.IfcLabel(v[2].value),!v[3]?null:new IFC4.IfcText(v[3].value),new Handle(v[4].value),new Handle(v[5].value),!v[6]?null:new Handle(v[6].value),v[7],!v[8]?null:new IFC4.IfcLabel(v[8].value));},366585022:function _(id,v){return new IFC4.IfcRelServicesBuildings(id,new IFC4.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4.IfcLabel(v[2].value),!v[3]?null:new IFC4.IfcText(v[3].value),new Handle(v[4].value),v[5].map(function(p){return new Handle(p.value);}));},3451746338:function _(id,v){return new IFC4.IfcRelSpaceBoundary(id,new IFC4.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4.IfcLabel(v[2].value),!v[3]?null:new IFC4.IfcText(v[3].value),new Handle(v[4].value),new Handle(v[5].value),!v[6]?null:new Handle(v[6].value),v[7],v[8]);},3523091289:function _(id,v){return new IFC4.IfcRelSpaceBoundary1stLevel(id,new IFC4.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4.IfcLabel(v[2].value),!v[3]?null:new IFC4.IfcText(v[3].value),new Handle(v[4].value),new Handle(v[5].value),!v[6]?null:new Handle(v[6].value),v[7],v[8],!v[9]?null:new Handle(v[9].value));},1521410863:function _(id,v){return new IFC4.IfcRelSpaceBoundary2ndLevel(id,new IFC4.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4.IfcLabel(v[2].value),!v[3]?null:new IFC4.IfcText(v[3].value),new Handle(v[4].value),new Handle(v[5].value),!v[6]?null:new Handle(v[6].value),v[7],v[8],!v[9]?null:new Handle(v[9].value),!v[10]?null:new Handle(v[10].value));},1401173127:function _(id,v){return new IFC4.IfcRelVoidsElement(id,new IFC4.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4.IfcLabel(v[2].value),!v[3]?null:new IFC4.IfcText(v[3].value),new Handle(v[4].value),new Handle(v[5].value));},816062949:function _(id,v){return new IFC4.IfcReparametrisedCompositeCurveSegment(id,v[0],new IFC4.IfcBoolean(v[1].value),new Handle(v[2].value),new IFC4.IfcParameterValue(v[3].value));},2914609552:function _(id,v){return new IFC4.IfcResource(id,new IFC4.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4.IfcLabel(v[2].value),!v[3]?null:new IFC4.IfcText(v[3].value),!v[4]?null:new IFC4.IfcLabel(v[4].value),!v[5]?null:new IFC4.IfcIdentifier(v[5].value),!v[6]?null:new IFC4.IfcText(v[6].value));},1856042241:function _(id,v){return new IFC4.IfcRevolvedAreaSolid(id,new Handle(v[0].value),!v[1]?null:new Handle(v[1].value),new Handle(v[2].value),new IFC4.IfcPlaneAngleMeasure(v[3].value));},3243963512:function _(id,v){return new IFC4.IfcRevolvedAreaSolidTapered(id,new Handle(v[0].value),!v[1]?null:new Handle(v[1].value),new Handle(v[2].value),new IFC4.IfcPlaneAngleMeasure(v[3].value),new Handle(v[4].value));},4158566097:function _(id,v){return new IFC4.IfcRightCircularCone(id,new Handle(v[0].value),new IFC4.IfcPositiveLengthMeasure(v[1].value),new IFC4.IfcPositiveLengthMeasure(v[2].value));},3626867408:function _(id,v){return new IFC4.IfcRightCircularCylinder(id,new Handle(v[0].value),new IFC4.IfcPositiveLengthMeasure(v[1].value),new IFC4.IfcPositiveLengthMeasure(v[2].value));},3663146110:function _(id,v){return new IFC4.IfcSimplePropertyTemplate(id,new IFC4.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4.IfcLabel(v[2].value),!v[3]?null:new IFC4.IfcText(v[3].value),v[4],!v[5]?null:new IFC4.IfcLabel(v[5].value),!v[6]?null:new IFC4.IfcLabel(v[6].value),!v[7]?null:new Handle(v[7].value),!v[8]?null:new Handle(v[8].value),!v[9]?null:new Handle(v[9].value),!v[10]?null:new IFC4.IfcLabel(v[10].value),v[11]);},1412071761:function _(id,v){return new IFC4.IfcSpatialElement(id,new IFC4.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4.IfcLabel(v[2].value),!v[3]?null:new IFC4.IfcText(v[3].value),!v[4]?null:new IFC4.IfcLabel(v[4].value),!v[5]?null:new Handle(v[5].value),!v[6]?null:new Handle(v[6].value),!v[7]?null:new IFC4.IfcLabel(v[7].value));},710998568:function _(id,v){return new IFC4.IfcSpatialElementType(id,new IFC4.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4.IfcLabel(v[2].value),!v[3]?null:new IFC4.IfcText(v[3].value),!v[4]?null:new IFC4.IfcIdentifier(v[4].value),!v[5]?null:v[5].map(function(p){return new Handle(p.value);}),!v[6]?null:v[6].map(function(p){return new Handle(p.value);}),!v[7]?null:new IFC4.IfcLabel(v[7].value),!v[8]?null:new IFC4.IfcLabel(v[8].value));},2706606064:function _(id,v){return new IFC4.IfcSpatialStructureElement(id,new IFC4.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4.IfcLabel(v[2].value),!v[3]?null:new IFC4.IfcText(v[3].value),!v[4]?null:new IFC4.IfcLabel(v[4].value),!v[5]?null:new Handle(v[5].value),!v[6]?null:new Handle(v[6].value),!v[7]?null:new IFC4.IfcLabel(v[7].value),v[8]);},3893378262:function _(id,v){return new IFC4.IfcSpatialStructureElementType(id,new IFC4.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4.IfcLabel(v[2].value),!v[3]?null:new IFC4.IfcText(v[3].value),!v[4]?null:new IFC4.IfcIdentifier(v[4].value),!v[5]?null:v[5].map(function(p){return new Handle(p.value);}),!v[6]?null:v[6].map(function(p){return new Handle(p.value);}),!v[7]?null:new IFC4.IfcLabel(v[7].value),!v[8]?null:new IFC4.IfcLabel(v[8].value));},463610769:function _(id,v){return new IFC4.IfcSpatialZone(id,new IFC4.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4.IfcLabel(v[2].value),!v[3]?null:new IFC4.IfcText(v[3].value),!v[4]?null:new IFC4.IfcLabel(v[4].value),!v[5]?null:new Handle(v[5].value),!v[6]?null:new Handle(v[6].value),!v[7]?null:new IFC4.IfcLabel(v[7].value),v[8]);},2481509218:function _(id,v){return new IFC4.IfcSpatialZoneType(id,new IFC4.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4.IfcLabel(v[2].value),!v[3]?null:new IFC4.IfcText(v[3].value),!v[4]?null:new IFC4.IfcIdentifier(v[4].value),!v[5]?null:v[5].map(function(p){return new Handle(p.value);}),!v[6]?null:v[6].map(function(p){return new Handle(p.value);}),!v[7]?null:new IFC4.IfcLabel(v[7].value),!v[8]?null:new IFC4.IfcLabel(v[8].value),v[9],!v[10]?null:new IFC4.IfcLabel(v[10].value));},451544542:function _(id,v){return new IFC4.IfcSphere(id,new Handle(v[0].value),new IFC4.IfcPositiveLengthMeasure(v[1].value));},4015995234:function _(id,v){return new IFC4.IfcSphericalSurface(id,new Handle(v[0].value),new IFC4.IfcPositiveLengthMeasure(v[1].value));},3544373492:function _(id,v){return new IFC4.IfcStructuralActivity(id,new IFC4.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4.IfcLabel(v[2].value),!v[3]?null:new IFC4.IfcText(v[3].value),!v[4]?null:new IFC4.IfcLabel(v[4].value),!v[5]?null:new Handle(v[5].value),!v[6]?null:new Handle(v[6].value),new Handle(v[7].value),v[8]);},3136571912:function _(id,v){return new IFC4.IfcStructuralItem(id,new IFC4.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4.IfcLabel(v[2].value),!v[3]?null:new IFC4.IfcText(v[3].value),!v[4]?null:new IFC4.IfcLabel(v[4].value),!v[5]?null:new Handle(v[5].value),!v[6]?null:new Handle(v[6].value));},530289379:function _(id,v){return new IFC4.IfcStructuralMember(id,new IFC4.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4.IfcLabel(v[2].value),!v[3]?null:new IFC4.IfcText(v[3].value),!v[4]?null:new IFC4.IfcLabel(v[4].value),!v[5]?null:new Handle(v[5].value),!v[6]?null:new Handle(v[6].value));},3689010777:function _(id,v){return new IFC4.IfcStructuralReaction(id,new IFC4.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4.IfcLabel(v[2].value),!v[3]?null:new IFC4.IfcText(v[3].value),!v[4]?null:new IFC4.IfcLabel(v[4].value),!v[5]?null:new Handle(v[5].value),!v[6]?null:new Handle(v[6].value),new Handle(v[7].value),v[8]);},3979015343:function _(id,v){return new IFC4.IfcStructuralSurfaceMember(id,new IFC4.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4.IfcLabel(v[2].value),!v[3]?null:new IFC4.IfcText(v[3].value),!v[4]?null:new IFC4.IfcLabel(v[4].value),!v[5]?null:new Handle(v[5].value),!v[6]?null:new Handle(v[6].value),v[7],!v[8]?null:new IFC4.IfcPositiveLengthMeasure(v[8].value));},2218152070:function _(id,v){return new IFC4.IfcStructuralSurfaceMemberVarying(id,new IFC4.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4.IfcLabel(v[2].value),!v[3]?null:new IFC4.IfcText(v[3].value),!v[4]?null:new IFC4.IfcLabel(v[4].value),!v[5]?null:new Handle(v[5].value),!v[6]?null:new Handle(v[6].value),v[7],!v[8]?null:new IFC4.IfcPositiveLengthMeasure(v[8].value));},603775116:function _(id,v){return new IFC4.IfcStructuralSurfaceReaction(id,new IFC4.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4.IfcLabel(v[2].value),!v[3]?null:new IFC4.IfcText(v[3].value),!v[4]?null:new IFC4.IfcLabel(v[4].value),!v[5]?null:new Handle(v[5].value),!v[6]?null:new Handle(v[6].value),new Handle(v[7].value),v[8],v[9]);},4095615324:function _(id,v){return new IFC4.IfcSubContractResourceType(id,new IFC4.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4.IfcLabel(v[2].value),!v[3]?null:new IFC4.IfcText(v[3].value),!v[4]?null:new IFC4.IfcIdentifier(v[4].value),!v[5]?null:v[5].map(function(p){return new Handle(p.value);}),!v[6]?null:new IFC4.IfcIdentifier(v[6].value),!v[7]?null:new IFC4.IfcText(v[7].value),!v[8]?null:new IFC4.IfcLabel(v[8].value),!v[9]?null:v[9].map(function(p){return new Handle(p.value);}),!v[10]?null:new Handle(v[10].value),v[11]);},699246055:function _(id,v){return new IFC4.IfcSurfaceCurve(id,new Handle(v[0].value),v[1].map(function(p){return new Handle(p.value);}),v[2]);},2028607225:function _(id,v){return new IFC4.IfcSurfaceCurveSweptAreaSolid(id,new Handle(v[0].value),!v[1]?null:new Handle(v[1].value),new Handle(v[2].value),!v[3]?null:new IFC4.IfcParameterValue(v[3].value),!v[4]?null:new IFC4.IfcParameterValue(v[4].value),new Handle(v[5].value));},2809605785:function _(id,v){return new IFC4.IfcSurfaceOfLinearExtrusion(id,new Handle(v[0].value),!v[1]?null:new Handle(v[1].value),new Handle(v[2].value),new IFC4.IfcLengthMeasure(v[3].value));},4124788165:function _(id,v){return new IFC4.IfcSurfaceOfRevolution(id,new Handle(v[0].value),!v[1]?null:new Handle(v[1].value),new Handle(v[2].value));},1580310250:function _(id,v){return new IFC4.IfcSystemFurnitureElementType(id,new IFC4.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4.IfcLabel(v[2].value),!v[3]?null:new IFC4.IfcText(v[3].value),!v[4]?null:new IFC4.IfcIdentifier(v[4].value),!v[5]?null:v[5].map(function(p){return new Handle(p.value);}),!v[6]?null:v[6].map(function(p){return new Handle(p.value);}),!v[7]?null:new IFC4.IfcLabel(v[7].value),!v[8]?null:new IFC4.IfcLabel(v[8].value),v[9]);},3473067441:function _(id,v){return new IFC4.IfcTask(id,new IFC4.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4.IfcLabel(v[2].value),!v[3]?null:new IFC4.IfcText(v[3].value),!v[4]?null:new IFC4.IfcLabel(v[4].value),!v[5]?null:new IFC4.IfcIdentifier(v[5].value),!v[6]?null:new IFC4.IfcText(v[6].value),!v[7]?null:new IFC4.IfcLabel(v[7].value),!v[8]?null:new IFC4.IfcLabel(v[8].value),new IFC4.IfcBoolean(v[9].value),!v[10]?null:new IFC4.IfcInteger(v[10].value),!v[11]?null:new Handle(v[11].value),v[12]);},3206491090:function _(id,v){return new IFC4.IfcTaskType(id,new IFC4.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4.IfcLabel(v[2].value),!v[3]?null:new IFC4.IfcText(v[3].value),!v[4]?null:new IFC4.IfcIdentifier(v[4].value),!v[5]?null:v[5].map(function(p){return new Handle(p.value);}),!v[6]?null:new IFC4.IfcIdentifier(v[6].value),!v[7]?null:new IFC4.IfcText(v[7].value),!v[8]?null:new IFC4.IfcLabel(v[8].value),v[9],!v[10]?null:new IFC4.IfcLabel(v[10].value));},2387106220:function _(id,v){return new IFC4.IfcTessellatedFaceSet(id,new Handle(v[0].value));},1935646853:function _(id,v){return new IFC4.IfcToroidalSurface(id,new Handle(v[0].value),new IFC4.IfcPositiveLengthMeasure(v[1].value),new IFC4.IfcPositiveLengthMeasure(v[2].value));},2097647324:function _(id,v){return new IFC4.IfcTransportElementType(id,new IFC4.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4.IfcLabel(v[2].value),!v[3]?null:new IFC4.IfcText(v[3].value),!v[4]?null:new IFC4.IfcIdentifier(v[4].value),!v[5]?null:v[5].map(function(p){return new Handle(p.value);}),!v[6]?null:v[6].map(function(p){return new Handle(p.value);}),!v[7]?null:new IFC4.IfcLabel(v[7].value),!v[8]?null:new IFC4.IfcLabel(v[8].value),v[9]);},2916149573:function _(id,v){return new IFC4.IfcTriangulatedFaceSet(id,new Handle(v[0].value),!v[1]?null:v[1].map(function(p){return new IFC4.IfcParameterValue(p.value);}),!v[2]?null:new IFC4.IfcBoolean(v[2].value),v[3].map(function(p){return new IFC4.IfcPositiveInteger(p.value);}),!v[4]?null:v[4].map(function(p){return new IFC4.IfcPositiveInteger(p.value);}));},336235671:function _(id,v){return new IFC4.IfcWindowLiningProperties(id,new IFC4.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4.IfcLabel(v[2].value),!v[3]?null:new IFC4.IfcText(v[3].value),!v[4]?null:new IFC4.IfcPositiveLengthMeasure(v[4].value),!v[5]?null:new IFC4.IfcNonNegativeLengthMeasure(v[5].value),!v[6]?null:new IFC4.IfcNonNegativeLengthMeasure(v[6].value),!v[7]?null:new IFC4.IfcNonNegativeLengthMeasure(v[7].value),!v[8]?null:new IFC4.IfcNormalisedRatioMeasure(v[8].value),!v[9]?null:new IFC4.IfcNormalisedRatioMeasure(v[9].value),!v[10]?null:new IFC4.IfcNormalisedRatioMeasure(v[10].value),!v[11]?null:new IFC4.IfcNormalisedRatioMeasure(v[11].value),!v[12]?null:new Handle(v[12].value),!v[13]?null:new IFC4.IfcLengthMeasure(v[13].value),!v[14]?null:new IFC4.IfcLengthMeasure(v[14].value),!v[15]?null:new IFC4.IfcLengthMeasure(v[15].value));},512836454:function _(id,v){return new IFC4.IfcWindowPanelProperties(id,new IFC4.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4.IfcLabel(v[2].value),!v[3]?null:new IFC4.IfcText(v[3].value),v[4],v[5],!v[6]?null:new IFC4.IfcPositiveLengthMeasure(v[6].value),!v[7]?null:new IFC4.IfcPositiveLengthMeasure(v[7].value),!v[8]?null:new Handle(v[8].value));},2296667514:function _(id,v){return new IFC4.IfcActor(id,new IFC4.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4.IfcLabel(v[2].value),!v[3]?null:new IFC4.IfcText(v[3].value),!v[4]?null:new IFC4.IfcLabel(v[4].value),new Handle(v[5].value));},1635779807:function _(id,v){return new IFC4.IfcAdvancedBrep(id,new Handle(v[0].value));},2603310189:function _(id,v){return new IFC4.IfcAdvancedBrepWithVoids(id,new Handle(v[0].value),v[1].map(function(p){return new Handle(p.value);}));},1674181508:function _(id,v){return new IFC4.IfcAnnotation(id,new IFC4.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4.IfcLabel(v[2].value),!v[3]?null:new IFC4.IfcText(v[3].value),!v[4]?null:new IFC4.IfcLabel(v[4].value),!v[5]?null:new Handle(v[5].value),!v[6]?null:new Handle(v[6].value));},2887950389:function _(id,v){return new IFC4.IfcBSplineSurface(id,new IFC4.IfcInteger(v[0].value),new IFC4.IfcInteger(v[1].value),v[2].map(function(p){return new Handle(p.value);}),v[3],new IFC4.IfcLogical(v[4].value),new IFC4.IfcLogical(v[5].value),new IFC4.IfcLogical(v[6].value));},167062518:function _(id,v){return new IFC4.IfcBSplineSurfaceWithKnots(id,new IFC4.IfcInteger(v[0].value),new IFC4.IfcInteger(v[1].value),v[2].map(function(p){return new Handle(p.value);}),v[3],new IFC4.IfcLogical(v[4].value),new IFC4.IfcLogical(v[5].value),new IFC4.IfcLogical(v[6].value),v[7].map(function(p){return new IFC4.IfcInteger(p.value);}),v[8].map(function(p){return new IFC4.IfcInteger(p.value);}),v[9].map(function(p){return new IFC4.IfcParameterValue(p.value);}),v[10].map(function(p){return new IFC4.IfcParameterValue(p.value);}),v[11]);},1334484129:function _(id,v){return new IFC4.IfcBlock(id,new Handle(v[0].value),new IFC4.IfcPositiveLengthMeasure(v[1].value),new IFC4.IfcPositiveLengthMeasure(v[2].value),new IFC4.IfcPositiveLengthMeasure(v[3].value));},3649129432:function _(id,v){return new IFC4.IfcBooleanClippingResult(id,v[0],new Handle(v[1].value),new Handle(v[2].value));},1260505505:function _(id,_64){return new IFC4.IfcBoundedCurve(id);},4031249490:function _(id,v){return new IFC4.IfcBuilding(id,new IFC4.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4.IfcLabel(v[2].value),!v[3]?null:new IFC4.IfcText(v[3].value),!v[4]?null:new IFC4.IfcLabel(v[4].value),!v[5]?null:new Handle(v[5].value),!v[6]?null:new Handle(v[6].value),!v[7]?null:new IFC4.IfcLabel(v[7].value),v[8],!v[9]?null:new IFC4.IfcLengthMeasure(v[9].value),!v[10]?null:new IFC4.IfcLengthMeasure(v[10].value),!v[11]?null:new Handle(v[11].value));},1950629157:function _(id,v){return new IFC4.IfcBuildingElementType(id,new IFC4.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4.IfcLabel(v[2].value),!v[3]?null:new IFC4.IfcText(v[3].value),!v[4]?null:new IFC4.IfcIdentifier(v[4].value),!v[5]?null:v[5].map(function(p){return new Handle(p.value);}),!v[6]?null:v[6].map(function(p){return new Handle(p.value);}),!v[7]?null:new IFC4.IfcLabel(v[7].value),!v[8]?null:new IFC4.IfcLabel(v[8].value));},3124254112:function _(id,v){return new IFC4.IfcBuildingStorey(id,new IFC4.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4.IfcLabel(v[2].value),!v[3]?null:new IFC4.IfcText(v[3].value),!v[4]?null:new IFC4.IfcLabel(v[4].value),!v[5]?null:new Handle(v[5].value),!v[6]?null:new Handle(v[6].value),!v[7]?null:new IFC4.IfcLabel(v[7].value),v[8],!v[9]?null:new IFC4.IfcLengthMeasure(v[9].value));},2197970202:function _(id,v){return new IFC4.IfcChimneyType(id,new IFC4.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4.IfcLabel(v[2].value),!v[3]?null:new IFC4.IfcText(v[3].value),!v[4]?null:new IFC4.IfcIdentifier(v[4].value),!v[5]?null:v[5].map(function(p){return new Handle(p.value);}),!v[6]?null:v[6].map(function(p){return new Handle(p.value);}),!v[7]?null:new IFC4.IfcLabel(v[7].value),!v[8]?null:new IFC4.IfcLabel(v[8].value),v[9]);},2937912522:function _(id,v){return new IFC4.IfcCircleHollowProfileDef(id,v[0],!v[1]?null:new IFC4.IfcLabel(v[1].value),!v[2]?null:new Handle(v[2].value),new IFC4.IfcPositiveLengthMeasure(v[3].value),new IFC4.IfcPositiveLengthMeasure(v[4].value));},3893394355:function _(id,v){return new IFC4.IfcCivilElementType(id,new IFC4.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4.IfcLabel(v[2].value),!v[3]?null:new IFC4.IfcText(v[3].value),!v[4]?null:new IFC4.IfcIdentifier(v[4].value),!v[5]?null:v[5].map(function(p){return new Handle(p.value);}),!v[6]?null:v[6].map(function(p){return new Handle(p.value);}),!v[7]?null:new IFC4.IfcLabel(v[7].value),!v[8]?null:new IFC4.IfcLabel(v[8].value));},300633059:function _(id,v){return new IFC4.IfcColumnType(id,new IFC4.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4.IfcLabel(v[2].value),!v[3]?null:new IFC4.IfcText(v[3].value),!v[4]?null:new IFC4.IfcIdentifier(v[4].value),!v[5]?null:v[5].map(function(p){return new Handle(p.value);}),!v[6]?null:v[6].map(function(p){return new Handle(p.value);}),!v[7]?null:new IFC4.IfcLabel(v[7].value),!v[8]?null:new IFC4.IfcLabel(v[8].value),v[9]);},3875453745:function _(id,v){return new IFC4.IfcComplexPropertyTemplate(id,new IFC4.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4.IfcLabel(v[2].value),!v[3]?null:new IFC4.IfcText(v[3].value),!v[4]?null:new IFC4.IfcLabel(v[4].value),v[5],!v[6]?null:v[6].map(function(p){return new Handle(p.value);}));},3732776249:function _(id,v){return new IFC4.IfcCompositeCurve(id,v[0].map(function(p){return new Handle(p.value);}),new IFC4.IfcLogical(v[1].value));},15328376:function _(id,v){return new IFC4.IfcCompositeCurveOnSurface(id,v[0].map(function(p){return new Handle(p.value);}),new IFC4.IfcLogical(v[1].value));},2510884976:function _(id,v){return new IFC4.IfcConic(id,new Handle(v[0].value));},2185764099:function _(id,v){return new IFC4.IfcConstructionEquipmentResourceType(id,new IFC4.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4.IfcLabel(v[2].value),!v[3]?null:new IFC4.IfcText(v[3].value),!v[4]?null:new IFC4.IfcIdentifier(v[4].value),!v[5]?null:v[5].map(function(p){return new Handle(p.value);}),!v[6]?null:new IFC4.IfcIdentifier(v[6].value),!v[7]?null:new IFC4.IfcText(v[7].value),!v[8]?null:new IFC4.IfcLabel(v[8].value),!v[9]?null:v[9].map(function(p){return new Handle(p.value);}),!v[10]?null:new Handle(v[10].value),v[11]);},4105962743:function _(id,v){return new IFC4.IfcConstructionMaterialResourceType(id,new IFC4.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4.IfcLabel(v[2].value),!v[3]?null:new IFC4.IfcText(v[3].value),!v[4]?null:new IFC4.IfcIdentifier(v[4].value),!v[5]?null:v[5].map(function(p){return new Handle(p.value);}),!v[6]?null:new IFC4.IfcIdentifier(v[6].value),!v[7]?null:new IFC4.IfcText(v[7].value),!v[8]?null:new IFC4.IfcLabel(v[8].value),!v[9]?null:v[9].map(function(p){return new Handle(p.value);}),!v[10]?null:new Handle(v[10].value),v[11]);},1525564444:function _(id,v){return new IFC4.IfcConstructionProductResourceType(id,new IFC4.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4.IfcLabel(v[2].value),!v[3]?null:new IFC4.IfcText(v[3].value),!v[4]?null:new IFC4.IfcIdentifier(v[4].value),!v[5]?null:v[5].map(function(p){return new Handle(p.value);}),!v[6]?null:new IFC4.IfcIdentifier(v[6].value),!v[7]?null:new IFC4.IfcText(v[7].value),!v[8]?null:new IFC4.IfcLabel(v[8].value),!v[9]?null:v[9].map(function(p){return new Handle(p.value);}),!v[10]?null:new Handle(v[10].value),v[11]);},2559216714:function _(id,v){return new IFC4.IfcConstructionResource(id,new IFC4.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4.IfcLabel(v[2].value),!v[3]?null:new IFC4.IfcText(v[3].value),!v[4]?null:new IFC4.IfcLabel(v[4].value),!v[5]?null:new IFC4.IfcIdentifier(v[5].value),!v[6]?null:new IFC4.IfcText(v[6].value),!v[7]?null:new Handle(v[7].value),!v[8]?null:v[8].map(function(p){return new Handle(p.value);}),!v[9]?null:new Handle(v[9].value));},3293443760:function _(id,v){return new IFC4.IfcControl(id,new IFC4.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4.IfcLabel(v[2].value),!v[3]?null:new IFC4.IfcText(v[3].value),!v[4]?null:new IFC4.IfcLabel(v[4].value),!v[5]?null:new IFC4.IfcIdentifier(v[5].value));},3895139033:function _(id,v){return new IFC4.IfcCostItem(id,new IFC4.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4.IfcLabel(v[2].value),!v[3]?null:new IFC4.IfcText(v[3].value),!v[4]?null:new IFC4.IfcLabel(v[4].value),!v[5]?null:new IFC4.IfcIdentifier(v[5].value),v[6],!v[7]?null:v[7].map(function(p){return new Handle(p.value);}),!v[8]?null:v[8].map(function(p){return new Handle(p.value);}));},1419761937:function _(id,v){return new IFC4.IfcCostSchedule(id,new IFC4.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4.IfcLabel(v[2].value),!v[3]?null:new IFC4.IfcText(v[3].value),!v[4]?null:new IFC4.IfcLabel(v[4].value),!v[5]?null:new IFC4.IfcIdentifier(v[5].value),v[6],!v[7]?null:new IFC4.IfcLabel(v[7].value),!v[8]?null:new IFC4.IfcDateTime(v[8].value),!v[9]?null:new IFC4.IfcDateTime(v[9].value));},1916426348:function _(id,v){return new IFC4.IfcCoveringType(id,new IFC4.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4.IfcLabel(v[2].value),!v[3]?null:new IFC4.IfcText(v[3].value),!v[4]?null:new IFC4.IfcIdentifier(v[4].value),!v[5]?null:v[5].map(function(p){return new Handle(p.value);}),!v[6]?null:v[6].map(function(p){return new Handle(p.value);}),!v[7]?null:new IFC4.IfcLabel(v[7].value),!v[8]?null:new IFC4.IfcLabel(v[8].value),v[9]);},3295246426:function _(id,v){return new IFC4.IfcCrewResource(id,new IFC4.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4.IfcLabel(v[2].value),!v[3]?null:new IFC4.IfcText(v[3].value),!v[4]?null:new IFC4.IfcLabel(v[4].value),!v[5]?null:new IFC4.IfcIdentifier(v[5].value),!v[6]?null:new IFC4.IfcText(v[6].value),!v[7]?null:new Handle(v[7].value),!v[8]?null:v[8].map(function(p){return new Handle(p.value);}),!v[9]?null:new Handle(v[9].value),v[10]);},1457835157:function _(id,v){return new IFC4.IfcCurtainWallType(id,new IFC4.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4.IfcLabel(v[2].value),!v[3]?null:new IFC4.IfcText(v[3].value),!v[4]?null:new IFC4.IfcIdentifier(v[4].value),!v[5]?null:v[5].map(function(p){return new Handle(p.value);}),!v[6]?null:v[6].map(function(p){return new Handle(p.value);}),!v[7]?null:new IFC4.IfcLabel(v[7].value),!v[8]?null:new IFC4.IfcLabel(v[8].value),v[9]);},1213902940:function _(id,v){return new IFC4.IfcCylindricalSurface(id,new Handle(v[0].value),new IFC4.IfcPositiveLengthMeasure(v[1].value));},3256556792:function _(id,v){return new IFC4.IfcDistributionElementType(id,new IFC4.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4.IfcLabel(v[2].value),!v[3]?null:new IFC4.IfcText(v[3].value),!v[4]?null:new IFC4.IfcIdentifier(v[4].value),!v[5]?null:v[5].map(function(p){return new Handle(p.value);}),!v[6]?null:v[6].map(function(p){return new Handle(p.value);}),!v[7]?null:new IFC4.IfcLabel(v[7].value),!v[8]?null:new IFC4.IfcLabel(v[8].value));},3849074793:function _(id,v){return new IFC4.IfcDistributionFlowElementType(id,new IFC4.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4.IfcLabel(v[2].value),!v[3]?null:new IFC4.IfcText(v[3].value),!v[4]?null:new IFC4.IfcIdentifier(v[4].value),!v[5]?null:v[5].map(function(p){return new Handle(p.value);}),!v[6]?null:v[6].map(function(p){return new Handle(p.value);}),!v[7]?null:new IFC4.IfcLabel(v[7].value),!v[8]?null:new IFC4.IfcLabel(v[8].value));},2963535650:function _(id,v){return new IFC4.IfcDoorLiningProperties(id,new IFC4.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4.IfcLabel(v[2].value),!v[3]?null:new IFC4.IfcText(v[3].value),!v[4]?null:new IFC4.IfcPositiveLengthMeasure(v[4].value),!v[5]?null:new IFC4.IfcNonNegativeLengthMeasure(v[5].value),!v[6]?null:new IFC4.IfcPositiveLengthMeasure(v[6].value),!v[7]?null:new IFC4.IfcNonNegativeLengthMeasure(v[7].value),!v[8]?null:new IFC4.IfcNonNegativeLengthMeasure(v[8].value),!v[9]?null:new IFC4.IfcLengthMeasure(v[9].value),!v[10]?null:new IFC4.IfcLengthMeasure(v[10].value),!v[11]?null:new IFC4.IfcLengthMeasure(v[11].value),!v[12]?null:new IFC4.IfcPositiveLengthMeasure(v[12].value),!v[13]?null:new IFC4.IfcPositiveLengthMeasure(v[13].value),!v[14]?null:new Handle(v[14].value),!v[15]?null:new IFC4.IfcLengthMeasure(v[15].value),!v[16]?null:new IFC4.IfcLengthMeasure(v[16].value));},1714330368:function _(id,v){return new IFC4.IfcDoorPanelProperties(id,new IFC4.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4.IfcLabel(v[2].value),!v[3]?null:new IFC4.IfcText(v[3].value),!v[4]?null:new IFC4.IfcPositiveLengthMeasure(v[4].value),v[5],!v[6]?null:new IFC4.IfcNormalisedRatioMeasure(v[6].value),v[7],!v[8]?null:new Handle(v[8].value));},2323601079:function _(id,v){return new IFC4.IfcDoorType(id,new IFC4.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4.IfcLabel(v[2].value),!v[3]?null:new IFC4.IfcText(v[3].value),!v[4]?null:new IFC4.IfcIdentifier(v[4].value),!v[5]?null:v[5].map(function(p){return new Handle(p.value);}),!v[6]?null:v[6].map(function(p){return new Handle(p.value);}),!v[7]?null:new IFC4.IfcLabel(v[7].value),!v[8]?null:new IFC4.IfcLabel(v[8].value),v[9],v[10],!v[11]?null:new IFC4.IfcBoolean(v[11].value),!v[12]?null:new IFC4.IfcLabel(v[12].value));},445594917:function _(id,v){return new IFC4.IfcDraughtingPreDefinedColour(id,new IFC4.IfcLabel(v[0].value));},4006246654:function _(id,v){return new IFC4.IfcDraughtingPreDefinedCurveFont(id,new IFC4.IfcLabel(v[0].value));},1758889154:function _(id,v){return new IFC4.IfcElement(id,new IFC4.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4.IfcLabel(v[2].value),!v[3]?null:new IFC4.IfcText(v[3].value),!v[4]?null:new IFC4.IfcLabel(v[4].value),!v[5]?null:new Handle(v[5].value),!v[6]?null:new Handle(v[6].value),!v[7]?null:new IFC4.IfcIdentifier(v[7].value));},4123344466:function _(id,v){return new IFC4.IfcElementAssembly(id,new IFC4.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4.IfcLabel(v[2].value),!v[3]?null:new IFC4.IfcText(v[3].value),!v[4]?null:new IFC4.IfcLabel(v[4].value),!v[5]?null:new Handle(v[5].value),!v[6]?null:new Handle(v[6].value),!v[7]?null:new IFC4.IfcIdentifier(v[7].value),v[8],v[9]);},2397081782:function _(id,v){return new IFC4.IfcElementAssemblyType(id,new IFC4.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4.IfcLabel(v[2].value),!v[3]?null:new IFC4.IfcText(v[3].value),!v[4]?null:new IFC4.IfcIdentifier(v[4].value),!v[5]?null:v[5].map(function(p){return new Handle(p.value);}),!v[6]?null:v[6].map(function(p){return new Handle(p.value);}),!v[7]?null:new IFC4.IfcLabel(v[7].value),!v[8]?null:new IFC4.IfcLabel(v[8].value),v[9]);},1623761950:function _(id,v){return new IFC4.IfcElementComponent(id,new IFC4.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4.IfcLabel(v[2].value),!v[3]?null:new IFC4.IfcText(v[3].value),!v[4]?null:new IFC4.IfcLabel(v[4].value),!v[5]?null:new Handle(v[5].value),!v[6]?null:new Handle(v[6].value),!v[7]?null:new IFC4.IfcIdentifier(v[7].value));},2590856083:function _(id,v){return new IFC4.IfcElementComponentType(id,new IFC4.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4.IfcLabel(v[2].value),!v[3]?null:new IFC4.IfcText(v[3].value),!v[4]?null:new IFC4.IfcIdentifier(v[4].value),!v[5]?null:v[5].map(function(p){return new Handle(p.value);}),!v[6]?null:v[6].map(function(p){return new Handle(p.value);}),!v[7]?null:new IFC4.IfcLabel(v[7].value),!v[8]?null:new IFC4.IfcLabel(v[8].value));},1704287377:function _(id,v){return new IFC4.IfcEllipse(id,new Handle(v[0].value),new IFC4.IfcPositiveLengthMeasure(v[1].value),new IFC4.IfcPositiveLengthMeasure(v[2].value));},2107101300:function _(id,v){return new IFC4.IfcEnergyConversionDeviceType(id,new IFC4.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4.IfcLabel(v[2].value),!v[3]?null:new IFC4.IfcText(v[3].value),!v[4]?null:new IFC4.IfcIdentifier(v[4].value),!v[5]?null:v[5].map(function(p){return new Handle(p.value);}),!v[6]?null:v[6].map(function(p){return new Handle(p.value);}),!v[7]?null:new IFC4.IfcLabel(v[7].value),!v[8]?null:new IFC4.IfcLabel(v[8].value));},132023988:function _(id,v){return new IFC4.IfcEngineType(id,new IFC4.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4.IfcLabel(v[2].value),!v[3]?null:new IFC4.IfcText(v[3].value),!v[4]?null:new IFC4.IfcIdentifier(v[4].value),!v[5]?null:v[5].map(function(p){return new Handle(p.value);}),!v[6]?null:v[6].map(function(p){return new Handle(p.value);}),!v[7]?null:new IFC4.IfcLabel(v[7].value),!v[8]?null:new IFC4.IfcLabel(v[8].value),v[9]);},3174744832:function _(id,v){return new IFC4.IfcEvaporativeCoolerType(id,new IFC4.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4.IfcLabel(v[2].value),!v[3]?null:new IFC4.IfcText(v[3].value),!v[4]?null:new IFC4.IfcIdentifier(v[4].value),!v[5]?null:v[5].map(function(p){return new Handle(p.value);}),!v[6]?null:v[6].map(function(p){return new Handle(p.value);}),!v[7]?null:new IFC4.IfcLabel(v[7].value),!v[8]?null:new IFC4.IfcLabel(v[8].value),v[9]);},3390157468:function _(id,v){return new IFC4.IfcEvaporatorType(id,new IFC4.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4.IfcLabel(v[2].value),!v[3]?null:new IFC4.IfcText(v[3].value),!v[4]?null:new IFC4.IfcIdentifier(v[4].value),!v[5]?null:v[5].map(function(p){return new Handle(p.value);}),!v[6]?null:v[6].map(function(p){return new Handle(p.value);}),!v[7]?null:new IFC4.IfcLabel(v[7].value),!v[8]?null:new IFC4.IfcLabel(v[8].value),v[9]);},4148101412:function _(id,v){return new IFC4.IfcEvent(id,new IFC4.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4.IfcLabel(v[2].value),!v[3]?null:new IFC4.IfcText(v[3].value),!v[4]?null:new IFC4.IfcLabel(v[4].value),!v[5]?null:new IFC4.IfcIdentifier(v[5].value),!v[6]?null:new IFC4.IfcText(v[6].value),v[7],v[8],!v[9]?null:new IFC4.IfcLabel(v[9].value),!v[10]?null:new Handle(v[10].value));},2853485674:function _(id,v){return new IFC4.IfcExternalSpatialStructureElement(id,new IFC4.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4.IfcLabel(v[2].value),!v[3]?null:new IFC4.IfcText(v[3].value),!v[4]?null:new IFC4.IfcLabel(v[4].value),!v[5]?null:new Handle(v[5].value),!v[6]?null:new Handle(v[6].value),!v[7]?null:new IFC4.IfcLabel(v[7].value));},807026263:function _(id,v){return new IFC4.IfcFacetedBrep(id,new Handle(v[0].value));},3737207727:function _(id,v){return new IFC4.IfcFacetedBrepWithVoids(id,new Handle(v[0].value),v[1].map(function(p){return new Handle(p.value);}));},647756555:function _(id,v){return new IFC4.IfcFastener(id,new IFC4.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4.IfcLabel(v[2].value),!v[3]?null:new IFC4.IfcText(v[3].value),!v[4]?null:new IFC4.IfcLabel(v[4].value),!v[5]?null:new Handle(v[5].value),!v[6]?null:new Handle(v[6].value),!v[7]?null:new IFC4.IfcIdentifier(v[7].value),v[8]);},2489546625:function _(id,v){return new IFC4.IfcFastenerType(id,new IFC4.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4.IfcLabel(v[2].value),!v[3]?null:new IFC4.IfcText(v[3].value),!v[4]?null:new IFC4.IfcIdentifier(v[4].value),!v[5]?null:v[5].map(function(p){return new Handle(p.value);}),!v[6]?null:v[6].map(function(p){return new Handle(p.value);}),!v[7]?null:new IFC4.IfcLabel(v[7].value),!v[8]?null:new IFC4.IfcLabel(v[8].value),v[9]);},2827207264:function _(id,v){return new IFC4.IfcFeatureElement(id,new IFC4.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4.IfcLabel(v[2].value),!v[3]?null:new IFC4.IfcText(v[3].value),!v[4]?null:new IFC4.IfcLabel(v[4].value),!v[5]?null:new Handle(v[5].value),!v[6]?null:new Handle(v[6].value),!v[7]?null:new IFC4.IfcIdentifier(v[7].value));},2143335405:function _(id,v){return new IFC4.IfcFeatureElementAddition(id,new IFC4.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4.IfcLabel(v[2].value),!v[3]?null:new IFC4.IfcText(v[3].value),!v[4]?null:new IFC4.IfcLabel(v[4].value),!v[5]?null:new Handle(v[5].value),!v[6]?null:new Handle(v[6].value),!v[7]?null:new IFC4.IfcIdentifier(v[7].value));},1287392070:function _(id,v){return new IFC4.IfcFeatureElementSubtraction(id,new IFC4.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4.IfcLabel(v[2].value),!v[3]?null:new IFC4.IfcText(v[3].value),!v[4]?null:new IFC4.IfcLabel(v[4].value),!v[5]?null:new Handle(v[5].value),!v[6]?null:new Handle(v[6].value),!v[7]?null:new IFC4.IfcIdentifier(v[7].value));},3907093117:function _(id,v){return new IFC4.IfcFlowControllerType(id,new IFC4.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4.IfcLabel(v[2].value),!v[3]?null:new IFC4.IfcText(v[3].value),!v[4]?null:new IFC4.IfcIdentifier(v[4].value),!v[5]?null:v[5].map(function(p){return new Handle(p.value);}),!v[6]?null:v[6].map(function(p){return new Handle(p.value);}),!v[7]?null:new IFC4.IfcLabel(v[7].value),!v[8]?null:new IFC4.IfcLabel(v[8].value));},3198132628:function _(id,v){return new IFC4.IfcFlowFittingType(id,new IFC4.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4.IfcLabel(v[2].value),!v[3]?null:new IFC4.IfcText(v[3].value),!v[4]?null:new IFC4.IfcIdentifier(v[4].value),!v[5]?null:v[5].map(function(p){return new Handle(p.value);}),!v[6]?null:v[6].map(function(p){return new Handle(p.value);}),!v[7]?null:new IFC4.IfcLabel(v[7].value),!v[8]?null:new IFC4.IfcLabel(v[8].value));},3815607619:function _(id,v){return new IFC4.IfcFlowMeterType(id,new IFC4.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4.IfcLabel(v[2].value),!v[3]?null:new IFC4.IfcText(v[3].value),!v[4]?null:new IFC4.IfcIdentifier(v[4].value),!v[5]?null:v[5].map(function(p){return new Handle(p.value);}),!v[6]?null:v[6].map(function(p){return new Handle(p.value);}),!v[7]?null:new IFC4.IfcLabel(v[7].value),!v[8]?null:new IFC4.IfcLabel(v[8].value),v[9]);},1482959167:function _(id,v){return new IFC4.IfcFlowMovingDeviceType(id,new IFC4.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4.IfcLabel(v[2].value),!v[3]?null:new IFC4.IfcText(v[3].value),!v[4]?null:new IFC4.IfcIdentifier(v[4].value),!v[5]?null:v[5].map(function(p){return new Handle(p.value);}),!v[6]?null:v[6].map(function(p){return new Handle(p.value);}),!v[7]?null:new IFC4.IfcLabel(v[7].value),!v[8]?null:new IFC4.IfcLabel(v[8].value));},1834744321:function _(id,v){return new IFC4.IfcFlowSegmentType(id,new IFC4.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4.IfcLabel(v[2].value),!v[3]?null:new IFC4.IfcText(v[3].value),!v[4]?null:new IFC4.IfcIdentifier(v[4].value),!v[5]?null:v[5].map(function(p){return new Handle(p.value);}),!v[6]?null:v[6].map(function(p){return new Handle(p.value);}),!v[7]?null:new IFC4.IfcLabel(v[7].value),!v[8]?null:new IFC4.IfcLabel(v[8].value));},1339347760:function _(id,v){return new IFC4.IfcFlowStorageDeviceType(id,new IFC4.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4.IfcLabel(v[2].value),!v[3]?null:new IFC4.IfcText(v[3].value),!v[4]?null:new IFC4.IfcIdentifier(v[4].value),!v[5]?null:v[5].map(function(p){return new Handle(p.value);}),!v[6]?null:v[6].map(function(p){return new Handle(p.value);}),!v[7]?null:new IFC4.IfcLabel(v[7].value),!v[8]?null:new IFC4.IfcLabel(v[8].value));},2297155007:function _(id,v){return new IFC4.IfcFlowTerminalType(id,new IFC4.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4.IfcLabel(v[2].value),!v[3]?null:new IFC4.IfcText(v[3].value),!v[4]?null:new IFC4.IfcIdentifier(v[4].value),!v[5]?null:v[5].map(function(p){return new Handle(p.value);}),!v[6]?null:v[6].map(function(p){return new Handle(p.value);}),!v[7]?null:new IFC4.IfcLabel(v[7].value),!v[8]?null:new IFC4.IfcLabel(v[8].value));},3009222698:function _(id,v){return new IFC4.IfcFlowTreatmentDeviceType(id,new IFC4.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4.IfcLabel(v[2].value),!v[3]?null:new IFC4.IfcText(v[3].value),!v[4]?null:new IFC4.IfcIdentifier(v[4].value),!v[5]?null:v[5].map(function(p){return new Handle(p.value);}),!v[6]?null:v[6].map(function(p){return new Handle(p.value);}),!v[7]?null:new IFC4.IfcLabel(v[7].value),!v[8]?null:new IFC4.IfcLabel(v[8].value));},1893162501:function _(id,v){return new IFC4.IfcFootingType(id,new IFC4.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4.IfcLabel(v[2].value),!v[3]?null:new IFC4.IfcText(v[3].value),!v[4]?null:new IFC4.IfcIdentifier(v[4].value),!v[5]?null:v[5].map(function(p){return new Handle(p.value);}),!v[6]?null:v[6].map(function(p){return new Handle(p.value);}),!v[7]?null:new IFC4.IfcLabel(v[7].value),!v[8]?null:new IFC4.IfcLabel(v[8].value),v[9]);},263784265:function _(id,v){return new IFC4.IfcFurnishingElement(id,new IFC4.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4.IfcLabel(v[2].value),!v[3]?null:new IFC4.IfcText(v[3].value),!v[4]?null:new IFC4.IfcLabel(v[4].value),!v[5]?null:new Handle(v[5].value),!v[6]?null:new Handle(v[6].value),!v[7]?null:new IFC4.IfcIdentifier(v[7].value));},1509553395:function _(id,v){return new IFC4.IfcFurniture(id,new IFC4.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4.IfcLabel(v[2].value),!v[3]?null:new IFC4.IfcText(v[3].value),!v[4]?null:new IFC4.IfcLabel(v[4].value),!v[5]?null:new Handle(v[5].value),!v[6]?null:new Handle(v[6].value),!v[7]?null:new IFC4.IfcIdentifier(v[7].value),v[8]);},3493046030:function _(id,v){return new IFC4.IfcGeographicElement(id,new IFC4.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4.IfcLabel(v[2].value),!v[3]?null:new IFC4.IfcText(v[3].value),!v[4]?null:new IFC4.IfcLabel(v[4].value),!v[5]?null:new Handle(v[5].value),!v[6]?null:new Handle(v[6].value),!v[7]?null:new IFC4.IfcIdentifier(v[7].value),v[8]);},3009204131:function _(id,v){return new IFC4.IfcGrid(id,new IFC4.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4.IfcLabel(v[2].value),!v[3]?null:new IFC4.IfcText(v[3].value),!v[4]?null:new IFC4.IfcLabel(v[4].value),!v[5]?null:new Handle(v[5].value),!v[6]?null:new Handle(v[6].value),v[7].map(function(p){return new Handle(p.value);}),v[8].map(function(p){return new Handle(p.value);}),!v[9]?null:v[9].map(function(p){return new Handle(p.value);}),v[10]);},2706460486:function _(id,v){return new IFC4.IfcGroup(id,new IFC4.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4.IfcLabel(v[2].value),!v[3]?null:new IFC4.IfcText(v[3].value),!v[4]?null:new IFC4.IfcLabel(v[4].value));},1251058090:function _(id,v){return new IFC4.IfcHeatExchangerType(id,new IFC4.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4.IfcLabel(v[2].value),!v[3]?null:new IFC4.IfcText(v[3].value),!v[4]?null:new IFC4.IfcIdentifier(v[4].value),!v[5]?null:v[5].map(function(p){return new Handle(p.value);}),!v[6]?null:v[6].map(function(p){return new Handle(p.value);}),!v[7]?null:new IFC4.IfcLabel(v[7].value),!v[8]?null:new IFC4.IfcLabel(v[8].value),v[9]);},1806887404:function _(id,v){return new IFC4.IfcHumidifierType(id,new IFC4.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4.IfcLabel(v[2].value),!v[3]?null:new IFC4.IfcText(v[3].value),!v[4]?null:new IFC4.IfcIdentifier(v[4].value),!v[5]?null:v[5].map(function(p){return new Handle(p.value);}),!v[6]?null:v[6].map(function(p){return new Handle(p.value);}),!v[7]?null:new IFC4.IfcLabel(v[7].value),!v[8]?null:new IFC4.IfcLabel(v[8].value),v[9]);},2571569899:function _(id,v){return new IFC4.IfcIndexedPolyCurve(id,new Handle(v[0].value),!v[1]?null:v[1].map(function(p){return TypeInitialiser(2,p);}),!v[2]?null:new IFC4.IfcBoolean(v[2].value));},3946677679:function _(id,v){return new IFC4.IfcInterceptorType(id,new IFC4.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4.IfcLabel(v[2].value),!v[3]?null:new IFC4.IfcText(v[3].value),!v[4]?null:new IFC4.IfcIdentifier(v[4].value),!v[5]?null:v[5].map(function(p){return new Handle(p.value);}),!v[6]?null:v[6].map(function(p){return new Handle(p.value);}),!v[7]?null:new IFC4.IfcLabel(v[7].value),!v[8]?null:new IFC4.IfcLabel(v[8].value),v[9]);},3113134337:function _(id,v){return new IFC4.IfcIntersectionCurve(id,new Handle(v[0].value),v[1].map(function(p){return new Handle(p.value);}),v[2]);},2391368822:function _(id,v){return new IFC4.IfcInventory(id,new IFC4.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4.IfcLabel(v[2].value),!v[3]?null:new IFC4.IfcText(v[3].value),!v[4]?null:new IFC4.IfcLabel(v[4].value),v[5],!v[6]?null:new Handle(v[6].value),!v[7]?null:v[7].map(function(p){return new Handle(p.value);}),!v[8]?null:new IFC4.IfcDate(v[8].value),!v[9]?null:new Handle(v[9].value),!v[10]?null:new Handle(v[10].value));},4288270099:function _(id,v){return new IFC4.IfcJunctionBoxType(id,new IFC4.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4.IfcLabel(v[2].value),!v[3]?null:new IFC4.IfcText(v[3].value),!v[4]?null:new IFC4.IfcIdentifier(v[4].value),!v[5]?null:v[5].map(function(p){return new Handle(p.value);}),!v[6]?null:v[6].map(function(p){return new Handle(p.value);}),!v[7]?null:new IFC4.IfcLabel(v[7].value),!v[8]?null:new IFC4.IfcLabel(v[8].value),v[9]);},3827777499:function _(id,v){return new IFC4.IfcLaborResource(id,new IFC4.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4.IfcLabel(v[2].value),!v[3]?null:new IFC4.IfcText(v[3].value),!v[4]?null:new IFC4.IfcLabel(v[4].value),!v[5]?null:new IFC4.IfcIdentifier(v[5].value),!v[6]?null:new IFC4.IfcText(v[6].value),!v[7]?null:new Handle(v[7].value),!v[8]?null:v[8].map(function(p){return new Handle(p.value);}),!v[9]?null:new Handle(v[9].value),v[10]);},1051575348:function _(id,v){return new IFC4.IfcLampType(id,new IFC4.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4.IfcLabel(v[2].value),!v[3]?null:new IFC4.IfcText(v[3].value),!v[4]?null:new IFC4.IfcIdentifier(v[4].value),!v[5]?null:v[5].map(function(p){return new Handle(p.value);}),!v[6]?null:v[6].map(function(p){return new Handle(p.value);}),!v[7]?null:new IFC4.IfcLabel(v[7].value),!v[8]?null:new IFC4.IfcLabel(v[8].value),v[9]);},1161773419:function _(id,v){return new IFC4.IfcLightFixtureType(id,new IFC4.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4.IfcLabel(v[2].value),!v[3]?null:new IFC4.IfcText(v[3].value),!v[4]?null:new IFC4.IfcIdentifier(v[4].value),!v[5]?null:v[5].map(function(p){return new Handle(p.value);}),!v[6]?null:v[6].map(function(p){return new Handle(p.value);}),!v[7]?null:new IFC4.IfcLabel(v[7].value),!v[8]?null:new IFC4.IfcLabel(v[8].value),v[9]);},377706215:function _(id,v){return new IFC4.IfcMechanicalFastener(id,new IFC4.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4.IfcLabel(v[2].value),!v[3]?null:new IFC4.IfcText(v[3].value),!v[4]?null:new IFC4.IfcLabel(v[4].value),!v[5]?null:new Handle(v[5].value),!v[6]?null:new Handle(v[6].value),!v[7]?null:new IFC4.IfcIdentifier(v[7].value),!v[8]?null:new IFC4.IfcPositiveLengthMeasure(v[8].value),!v[9]?null:new IFC4.IfcPositiveLengthMeasure(v[9].value),v[10]);},2108223431:function _(id,v){return new IFC4.IfcMechanicalFastenerType(id,new IFC4.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4.IfcLabel(v[2].value),!v[3]?null:new IFC4.IfcText(v[3].value),!v[4]?null:new IFC4.IfcIdentifier(v[4].value),!v[5]?null:v[5].map(function(p){return new Handle(p.value);}),!v[6]?null:v[6].map(function(p){return new Handle(p.value);}),!v[7]?null:new IFC4.IfcLabel(v[7].value),!v[8]?null:new IFC4.IfcLabel(v[8].value),v[9],!v[10]?null:new IFC4.IfcPositiveLengthMeasure(v[10].value),!v[11]?null:new IFC4.IfcPositiveLengthMeasure(v[11].value));},1114901282:function _(id,v){return new IFC4.IfcMedicalDeviceType(id,new IFC4.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4.IfcLabel(v[2].value),!v[3]?null:new IFC4.IfcText(v[3].value),!v[4]?null:new IFC4.IfcIdentifier(v[4].value),!v[5]?null:v[5].map(function(p){return new Handle(p.value);}),!v[6]?null:v[6].map(function(p){return new Handle(p.value);}),!v[7]?null:new IFC4.IfcLabel(v[7].value),!v[8]?null:new IFC4.IfcLabel(v[8].value),v[9]);},3181161470:function _(id,v){return new IFC4.IfcMemberType(id,new IFC4.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4.IfcLabel(v[2].value),!v[3]?null:new IFC4.IfcText(v[3].value),!v[4]?null:new IFC4.IfcIdentifier(v[4].value),!v[5]?null:v[5].map(function(p){return new Handle(p.value);}),!v[6]?null:v[6].map(function(p){return new Handle(p.value);}),!v[7]?null:new IFC4.IfcLabel(v[7].value),!v[8]?null:new IFC4.IfcLabel(v[8].value),v[9]);},977012517:function _(id,v){return new IFC4.IfcMotorConnectionType(id,new IFC4.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4.IfcLabel(v[2].value),!v[3]?null:new IFC4.IfcText(v[3].value),!v[4]?null:new IFC4.IfcIdentifier(v[4].value),!v[5]?null:v[5].map(function(p){return new Handle(p.value);}),!v[6]?null:v[6].map(function(p){return new Handle(p.value);}),!v[7]?null:new IFC4.IfcLabel(v[7].value),!v[8]?null:new IFC4.IfcLabel(v[8].value),v[9]);},4143007308:function _(id,v){return new IFC4.IfcOccupant(id,new IFC4.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4.IfcLabel(v[2].value),!v[3]?null:new IFC4.IfcText(v[3].value),!v[4]?null:new IFC4.IfcLabel(v[4].value),new Handle(v[5].value),v[6]);},3588315303:function _(id,v){return new IFC4.IfcOpeningElement(id,new IFC4.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4.IfcLabel(v[2].value),!v[3]?null:new IFC4.IfcText(v[3].value),!v[4]?null:new IFC4.IfcLabel(v[4].value),!v[5]?null:new Handle(v[5].value),!v[6]?null:new Handle(v[6].value),!v[7]?null:new IFC4.IfcIdentifier(v[7].value),v[8]);},3079942009:function _(id,v){return new IFC4.IfcOpeningStandardCase(id,new IFC4.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4.IfcLabel(v[2].value),!v[3]?null:new IFC4.IfcText(v[3].value),!v[4]?null:new IFC4.IfcLabel(v[4].value),!v[5]?null:new Handle(v[5].value),!v[6]?null:new Handle(v[6].value),!v[7]?null:new IFC4.IfcIdentifier(v[7].value),v[8]);},2837617999:function _(id,v){return new IFC4.IfcOutletType(id,new IFC4.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4.IfcLabel(v[2].value),!v[3]?null:new IFC4.IfcText(v[3].value),!v[4]?null:new IFC4.IfcIdentifier(v[4].value),!v[5]?null:v[5].map(function(p){return new Handle(p.value);}),!v[6]?null:v[6].map(function(p){return new Handle(p.value);}),!v[7]?null:new IFC4.IfcLabel(v[7].value),!v[8]?null:new IFC4.IfcLabel(v[8].value),v[9]);},2382730787:function _(id,v){return new IFC4.IfcPerformanceHistory(id,new IFC4.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4.IfcLabel(v[2].value),!v[3]?null:new IFC4.IfcText(v[3].value),!v[4]?null:new IFC4.IfcLabel(v[4].value),!v[5]?null:new IFC4.IfcIdentifier(v[5].value),new IFC4.IfcLabel(v[6].value),v[7]);},3566463478:function _(id,v){return new IFC4.IfcPermeableCoveringProperties(id,new IFC4.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4.IfcLabel(v[2].value),!v[3]?null:new IFC4.IfcText(v[3].value),v[4],v[5],!v[6]?null:new IFC4.IfcPositiveLengthMeasure(v[6].value),!v[7]?null:new IFC4.IfcPositiveLengthMeasure(v[7].value),!v[8]?null:new Handle(v[8].value));},3327091369:function _(id,v){return new IFC4.IfcPermit(id,new IFC4.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4.IfcLabel(v[2].value),!v[3]?null:new IFC4.IfcText(v[3].value),!v[4]?null:new IFC4.IfcLabel(v[4].value),!v[5]?null:new IFC4.IfcIdentifier(v[5].value),v[6],!v[7]?null:new IFC4.IfcLabel(v[7].value),!v[8]?null:new IFC4.IfcText(v[8].value));},1158309216:function _(id,v){return new IFC4.IfcPileType(id,new IFC4.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4.IfcLabel(v[2].value),!v[3]?null:new IFC4.IfcText(v[3].value),!v[4]?null:new IFC4.IfcIdentifier(v[4].value),!v[5]?null:v[5].map(function(p){return new Handle(p.value);}),!v[6]?null:v[6].map(function(p){return new Handle(p.value);}),!v[7]?null:new IFC4.IfcLabel(v[7].value),!v[8]?null:new IFC4.IfcLabel(v[8].value),v[9]);},804291784:function _(id,v){return new IFC4.IfcPipeFittingType(id,new IFC4.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4.IfcLabel(v[2].value),!v[3]?null:new IFC4.IfcText(v[3].value),!v[4]?null:new IFC4.IfcIdentifier(v[4].value),!v[5]?null:v[5].map(function(p){return new Handle(p.value);}),!v[6]?null:v[6].map(function(p){return new Handle(p.value);}),!v[7]?null:new IFC4.IfcLabel(v[7].value),!v[8]?null:new IFC4.IfcLabel(v[8].value),v[9]);},4231323485:function _(id,v){return new IFC4.IfcPipeSegmentType(id,new IFC4.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4.IfcLabel(v[2].value),!v[3]?null:new IFC4.IfcText(v[3].value),!v[4]?null:new IFC4.IfcIdentifier(v[4].value),!v[5]?null:v[5].map(function(p){return new Handle(p.value);}),!v[6]?null:v[6].map(function(p){return new Handle(p.value);}),!v[7]?null:new IFC4.IfcLabel(v[7].value),!v[8]?null:new IFC4.IfcLabel(v[8].value),v[9]);},4017108033:function _(id,v){return new IFC4.IfcPlateType(id,new IFC4.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4.IfcLabel(v[2].value),!v[3]?null:new IFC4.IfcText(v[3].value),!v[4]?null:new IFC4.IfcIdentifier(v[4].value),!v[5]?null:v[5].map(function(p){return new Handle(p.value);}),!v[6]?null:v[6].map(function(p){return new Handle(p.value);}),!v[7]?null:new IFC4.IfcLabel(v[7].value),!v[8]?null:new IFC4.IfcLabel(v[8].value),v[9]);},2839578677:function _(id,v){return new IFC4.IfcPolygonalFaceSet(id,new Handle(v[0].value),!v[1]?null:new IFC4.IfcBoolean(v[1].value),v[2].map(function(p){return new Handle(p.value);}),!v[3]?null:v[3].map(function(p){return new IFC4.IfcPositiveInteger(p.value);}));},3724593414:function _(id,v){return new IFC4.IfcPolyline(id,v[0].map(function(p){return new Handle(p.value);}));},3740093272:function _(id,v){return new IFC4.IfcPort(id,new IFC4.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4.IfcLabel(v[2].value),!v[3]?null:new IFC4.IfcText(v[3].value),!v[4]?null:new IFC4.IfcLabel(v[4].value),!v[5]?null:new Handle(v[5].value),!v[6]?null:new Handle(v[6].value));},2744685151:function _(id,v){return new IFC4.IfcProcedure(id,new IFC4.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4.IfcLabel(v[2].value),!v[3]?null:new IFC4.IfcText(v[3].value),!v[4]?null:new IFC4.IfcLabel(v[4].value),!v[5]?null:new IFC4.IfcIdentifier(v[5].value),!v[6]?null:new IFC4.IfcText(v[6].value),v[7]);},2904328755:function _(id,v){return new IFC4.IfcProjectOrder(id,new IFC4.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4.IfcLabel(v[2].value),!v[3]?null:new IFC4.IfcText(v[3].value),!v[4]?null:new IFC4.IfcLabel(v[4].value),!v[5]?null:new IFC4.IfcIdentifier(v[5].value),v[6],!v[7]?null:new IFC4.IfcLabel(v[7].value),!v[8]?null:new IFC4.IfcText(v[8].value));},3651124850:function _(id,v){return new IFC4.IfcProjectionElement(id,new IFC4.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4.IfcLabel(v[2].value),!v[3]?null:new IFC4.IfcText(v[3].value),!v[4]?null:new IFC4.IfcLabel(v[4].value),!v[5]?null:new Handle(v[5].value),!v[6]?null:new Handle(v[6].value),!v[7]?null:new IFC4.IfcIdentifier(v[7].value),v[8]);},1842657554:function _(id,v){return new IFC4.IfcProtectiveDeviceType(id,new IFC4.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4.IfcLabel(v[2].value),!v[3]?null:new IFC4.IfcText(v[3].value),!v[4]?null:new IFC4.IfcIdentifier(v[4].value),!v[5]?null:v[5].map(function(p){return new Handle(p.value);}),!v[6]?null:v[6].map(function(p){return new Handle(p.value);}),!v[7]?null:new IFC4.IfcLabel(v[7].value),!v[8]?null:new IFC4.IfcLabel(v[8].value),v[9]);},2250791053:function _(id,v){return new IFC4.IfcPumpType(id,new IFC4.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4.IfcLabel(v[2].value),!v[3]?null:new IFC4.IfcText(v[3].value),!v[4]?null:new IFC4.IfcIdentifier(v[4].value),!v[5]?null:v[5].map(function(p){return new Handle(p.value);}),!v[6]?null:v[6].map(function(p){return new Handle(p.value);}),!v[7]?null:new IFC4.IfcLabel(v[7].value),!v[8]?null:new IFC4.IfcLabel(v[8].value),v[9]);},2893384427:function _(id,v){return new IFC4.IfcRailingType(id,new IFC4.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4.IfcLabel(v[2].value),!v[3]?null:new IFC4.IfcText(v[3].value),!v[4]?null:new IFC4.IfcIdentifier(v[4].value),!v[5]?null:v[5].map(function(p){return new Handle(p.value);}),!v[6]?null:v[6].map(function(p){return new Handle(p.value);}),!v[7]?null:new IFC4.IfcLabel(v[7].value),!v[8]?null:new IFC4.IfcLabel(v[8].value),v[9]);},2324767716:function _(id,v){return new IFC4.IfcRampFlightType(id,new IFC4.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4.IfcLabel(v[2].value),!v[3]?null:new IFC4.IfcText(v[3].value),!v[4]?null:new IFC4.IfcIdentifier(v[4].value),!v[5]?null:v[5].map(function(p){return new Handle(p.value);}),!v[6]?null:v[6].map(function(p){return new Handle(p.value);}),!v[7]?null:new IFC4.IfcLabel(v[7].value),!v[8]?null:new IFC4.IfcLabel(v[8].value),v[9]);},1469900589:function _(id,v){return new IFC4.IfcRampType(id,new IFC4.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4.IfcLabel(v[2].value),!v[3]?null:new IFC4.IfcText(v[3].value),!v[4]?null:new IFC4.IfcIdentifier(v[4].value),!v[5]?null:v[5].map(function(p){return new Handle(p.value);}),!v[6]?null:v[6].map(function(p){return new Handle(p.value);}),!v[7]?null:new IFC4.IfcLabel(v[7].value),!v[8]?null:new IFC4.IfcLabel(v[8].value),v[9]);},683857671:function _(id,v){return new IFC4.IfcRationalBSplineSurfaceWithKnots(id,new IFC4.IfcInteger(v[0].value),new IFC4.IfcInteger(v[1].value),v[2].map(function(p){return new Handle(p.value);}),v[3],new IFC4.IfcLogical(v[4].value),new IFC4.IfcLogical(v[5].value),new IFC4.IfcLogical(v[6].value),v[7].map(function(p){return new IFC4.IfcInteger(p.value);}),v[8].map(function(p){return new IFC4.IfcInteger(p.value);}),v[9].map(function(p){return new IFC4.IfcParameterValue(p.value);}),v[10].map(function(p){return new IFC4.IfcParameterValue(p.value);}),v[11],v[12].map(function(p){return new IFC4.IfcReal(p.value);}));},3027567501:function _(id,v){return new IFC4.IfcReinforcingElement(id,new IFC4.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4.IfcLabel(v[2].value),!v[3]?null:new IFC4.IfcText(v[3].value),!v[4]?null:new IFC4.IfcLabel(v[4].value),!v[5]?null:new Handle(v[5].value),!v[6]?null:new Handle(v[6].value),!v[7]?null:new IFC4.IfcIdentifier(v[7].value),!v[8]?null:new IFC4.IfcLabel(v[8].value));},964333572:function _(id,v){return new IFC4.IfcReinforcingElementType(id,new IFC4.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4.IfcLabel(v[2].value),!v[3]?null:new IFC4.IfcText(v[3].value),!v[4]?null:new IFC4.IfcIdentifier(v[4].value),!v[5]?null:v[5].map(function(p){return new Handle(p.value);}),!v[6]?null:v[6].map(function(p){return new Handle(p.value);}),!v[7]?null:new IFC4.IfcLabel(v[7].value),!v[8]?null:new IFC4.IfcLabel(v[8].value));},2320036040:function _(id,v){return new IFC4.IfcReinforcingMesh(id,new IFC4.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4.IfcLabel(v[2].value),!v[3]?null:new IFC4.IfcText(v[3].value),!v[4]?null:new IFC4.IfcLabel(v[4].value),!v[5]?null:new Handle(v[5].value),!v[6]?null:new Handle(v[6].value),!v[7]?null:new IFC4.IfcIdentifier(v[7].value),!v[8]?null:new IFC4.IfcLabel(v[8].value),!v[9]?null:new IFC4.IfcPositiveLengthMeasure(v[9].value),!v[10]?null:new IFC4.IfcPositiveLengthMeasure(v[10].value),!v[11]?null:new IFC4.IfcPositiveLengthMeasure(v[11].value),!v[12]?null:new IFC4.IfcPositiveLengthMeasure(v[12].value),!v[13]?null:new IFC4.IfcAreaMeasure(v[13].value),!v[14]?null:new IFC4.IfcAreaMeasure(v[14].value),!v[15]?null:new IFC4.IfcPositiveLengthMeasure(v[15].value),!v[16]?null:new IFC4.IfcPositiveLengthMeasure(v[16].value),v[17]);},2310774935:function _(id,v){return new IFC4.IfcReinforcingMeshType(id,new IFC4.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4.IfcLabel(v[2].value),!v[3]?null:new IFC4.IfcText(v[3].value),!v[4]?null:new IFC4.IfcIdentifier(v[4].value),!v[5]?null:v[5].map(function(p){return new Handle(p.value);}),!v[6]?null:v[6].map(function(p){return new Handle(p.value);}),!v[7]?null:new IFC4.IfcLabel(v[7].value),!v[8]?null:new IFC4.IfcLabel(v[8].value),v[9],!v[10]?null:new IFC4.IfcPositiveLengthMeasure(v[10].value),!v[11]?null:new IFC4.IfcPositiveLengthMeasure(v[11].value),!v[12]?null:new IFC4.IfcPositiveLengthMeasure(v[12].value),!v[13]?null:new IFC4.IfcPositiveLengthMeasure(v[13].value),!v[14]?null:new IFC4.IfcAreaMeasure(v[14].value),!v[15]?null:new IFC4.IfcAreaMeasure(v[15].value),!v[16]?null:new IFC4.IfcPositiveLengthMeasure(v[16].value),!v[17]?null:new IFC4.IfcPositiveLengthMeasure(v[17].value),!v[18]?null:new IFC4.IfcLabel(v[18].value),!v[19]?null:v[19].map(function(p){return TypeInitialiser(2,p);}));},160246688:function _(id,v){return new IFC4.IfcRelAggregates(id,new IFC4.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4.IfcLabel(v[2].value),!v[3]?null:new IFC4.IfcText(v[3].value),new Handle(v[4].value),v[5].map(function(p){return new Handle(p.value);}));},2781568857:function _(id,v){return new IFC4.IfcRoofType(id,new IFC4.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4.IfcLabel(v[2].value),!v[3]?null:new IFC4.IfcText(v[3].value),!v[4]?null:new IFC4.IfcIdentifier(v[4].value),!v[5]?null:v[5].map(function(p){return new Handle(p.value);}),!v[6]?null:v[6].map(function(p){return new Handle(p.value);}),!v[7]?null:new IFC4.IfcLabel(v[7].value),!v[8]?null:new IFC4.IfcLabel(v[8].value),v[9]);},1768891740:function _(id,v){return new IFC4.IfcSanitaryTerminalType(id,new IFC4.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4.IfcLabel(v[2].value),!v[3]?null:new IFC4.IfcText(v[3].value),!v[4]?null:new IFC4.IfcIdentifier(v[4].value),!v[5]?null:v[5].map(function(p){return new Handle(p.value);}),!v[6]?null:v[6].map(function(p){return new Handle(p.value);}),!v[7]?null:new IFC4.IfcLabel(v[7].value),!v[8]?null:new IFC4.IfcLabel(v[8].value),v[9]);},2157484638:function _(id,v){return new IFC4.IfcSeamCurve(id,new Handle(v[0].value),v[1].map(function(p){return new Handle(p.value);}),v[2]);},4074543187:function _(id,v){return new IFC4.IfcShadingDeviceType(id,new IFC4.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4.IfcLabel(v[2].value),!v[3]?null:new IFC4.IfcText(v[3].value),!v[4]?null:new IFC4.IfcIdentifier(v[4].value),!v[5]?null:v[5].map(function(p){return new Handle(p.value);}),!v[6]?null:v[6].map(function(p){return new Handle(p.value);}),!v[7]?null:new IFC4.IfcLabel(v[7].value),!v[8]?null:new IFC4.IfcLabel(v[8].value),v[9]);},4097777520:function _(id,v){return new IFC4.IfcSite(id,new IFC4.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4.IfcLabel(v[2].value),!v[3]?null:new IFC4.IfcText(v[3].value),!v[4]?null:new IFC4.IfcLabel(v[4].value),!v[5]?null:new Handle(v[5].value),!v[6]?null:new Handle(v[6].value),!v[7]?null:new IFC4.IfcLabel(v[7].value),v[8],!v[9]?null:new IFC4.IfcCompoundPlaneAngleMeasure(v[9]),!v[10]?null:new IFC4.IfcCompoundPlaneAngleMeasure(v[10]),!v[11]?null:new IFC4.IfcLengthMeasure(v[11].value),!v[12]?null:new IFC4.IfcLabel(v[12].value),!v[13]?null:new Handle(v[13].value));},2533589738:function _(id,v){return new IFC4.IfcSlabType(id,new IFC4.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4.IfcLabel(v[2].value),!v[3]?null:new IFC4.IfcText(v[3].value),!v[4]?null:new IFC4.IfcIdentifier(v[4].value),!v[5]?null:v[5].map(function(p){return new Handle(p.value);}),!v[6]?null:v[6].map(function(p){return new Handle(p.value);}),!v[7]?null:new IFC4.IfcLabel(v[7].value),!v[8]?null:new IFC4.IfcLabel(v[8].value),v[9]);},1072016465:function _(id,v){return new IFC4.IfcSolarDeviceType(id,new IFC4.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4.IfcLabel(v[2].value),!v[3]?null:new IFC4.IfcText(v[3].value),!v[4]?null:new IFC4.IfcIdentifier(v[4].value),!v[5]?null:v[5].map(function(p){return new Handle(p.value);}),!v[6]?null:v[6].map(function(p){return new Handle(p.value);}),!v[7]?null:new IFC4.IfcLabel(v[7].value),!v[8]?null:new IFC4.IfcLabel(v[8].value),v[9]);},3856911033:function _(id,v){return new IFC4.IfcSpace(id,new IFC4.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4.IfcLabel(v[2].value),!v[3]?null:new IFC4.IfcText(v[3].value),!v[4]?null:new IFC4.IfcLabel(v[4].value),!v[5]?null:new Handle(v[5].value),!v[6]?null:new Handle(v[6].value),!v[7]?null:new IFC4.IfcLabel(v[7].value),v[8],v[9],!v[10]?null:new IFC4.IfcLengthMeasure(v[10].value));},1305183839:function _(id,v){return new IFC4.IfcSpaceHeaterType(id,new IFC4.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4.IfcLabel(v[2].value),!v[3]?null:new IFC4.IfcText(v[3].value),!v[4]?null:new IFC4.IfcIdentifier(v[4].value),!v[5]?null:v[5].map(function(p){return new Handle(p.value);}),!v[6]?null:v[6].map(function(p){return new Handle(p.value);}),!v[7]?null:new IFC4.IfcLabel(v[7].value),!v[8]?null:new IFC4.IfcLabel(v[8].value),v[9]);},3812236995:function _(id,v){return new IFC4.IfcSpaceType(id,new IFC4.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4.IfcLabel(v[2].value),!v[3]?null:new IFC4.IfcText(v[3].value),!v[4]?null:new IFC4.IfcIdentifier(v[4].value),!v[5]?null:v[5].map(function(p){return new Handle(p.value);}),!v[6]?null:v[6].map(function(p){return new Handle(p.value);}),!v[7]?null:new IFC4.IfcLabel(v[7].value),!v[8]?null:new IFC4.IfcLabel(v[8].value),v[9],!v[10]?null:new IFC4.IfcLabel(v[10].value));},3112655638:function _(id,v){return new IFC4.IfcStackTerminalType(id,new IFC4.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4.IfcLabel(v[2].value),!v[3]?null:new IFC4.IfcText(v[3].value),!v[4]?null:new IFC4.IfcIdentifier(v[4].value),!v[5]?null:v[5].map(function(p){return new Handle(p.value);}),!v[6]?null:v[6].map(function(p){return new Handle(p.value);}),!v[7]?null:new IFC4.IfcLabel(v[7].value),!v[8]?null:new IFC4.IfcLabel(v[8].value),v[9]);},1039846685:function _(id,v){return new IFC4.IfcStairFlightType(id,new IFC4.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4.IfcLabel(v[2].value),!v[3]?null:new IFC4.IfcText(v[3].value),!v[4]?null:new IFC4.IfcIdentifier(v[4].value),!v[5]?null:v[5].map(function(p){return new Handle(p.value);}),!v[6]?null:v[6].map(function(p){return new Handle(p.value);}),!v[7]?null:new IFC4.IfcLabel(v[7].value),!v[8]?null:new IFC4.IfcLabel(v[8].value),v[9]);},338393293:function _(id,v){return new IFC4.IfcStairType(id,new IFC4.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4.IfcLabel(v[2].value),!v[3]?null:new IFC4.IfcText(v[3].value),!v[4]?null:new IFC4.IfcIdentifier(v[4].value),!v[5]?null:v[5].map(function(p){return new Handle(p.value);}),!v[6]?null:v[6].map(function(p){return new Handle(p.value);}),!v[7]?null:new IFC4.IfcLabel(v[7].value),!v[8]?null:new IFC4.IfcLabel(v[8].value),v[9]);},682877961:function _(id,v){return new IFC4.IfcStructuralAction(id,new IFC4.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4.IfcLabel(v[2].value),!v[3]?null:new IFC4.IfcText(v[3].value),!v[4]?null:new IFC4.IfcLabel(v[4].value),!v[5]?null:new Handle(v[5].value),!v[6]?null:new Handle(v[6].value),new Handle(v[7].value),v[8],!v[9]?null:new IFC4.IfcBoolean(v[9].value));},1179482911:function _(id,v){return new IFC4.IfcStructuralConnection(id,new IFC4.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4.IfcLabel(v[2].value),!v[3]?null:new IFC4.IfcText(v[3].value),!v[4]?null:new IFC4.IfcLabel(v[4].value),!v[5]?null:new Handle(v[5].value),!v[6]?null:new Handle(v[6].value),!v[7]?null:new Handle(v[7].value));},1004757350:function _(id,v){return new IFC4.IfcStructuralCurveAction(id,new IFC4.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4.IfcLabel(v[2].value),!v[3]?null:new IFC4.IfcText(v[3].value),!v[4]?null:new IFC4.IfcLabel(v[4].value),!v[5]?null:new Handle(v[5].value),!v[6]?null:new Handle(v[6].value),new Handle(v[7].value),v[8],!v[9]?null:new IFC4.IfcBoolean(v[9].value),v[10],v[11]);},4243806635:function _(id,v){return new IFC4.IfcStructuralCurveConnection(id,new IFC4.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4.IfcLabel(v[2].value),!v[3]?null:new IFC4.IfcText(v[3].value),!v[4]?null:new IFC4.IfcLabel(v[4].value),!v[5]?null:new Handle(v[5].value),!v[6]?null:new Handle(v[6].value),!v[7]?null:new Handle(v[7].value),new Handle(v[8].value));},214636428:function _(id,v){return new IFC4.IfcStructuralCurveMember(id,new IFC4.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4.IfcLabel(v[2].value),!v[3]?null:new IFC4.IfcText(v[3].value),!v[4]?null:new IFC4.IfcLabel(v[4].value),!v[5]?null:new Handle(v[5].value),!v[6]?null:new Handle(v[6].value),v[7],new Handle(v[8].value));},2445595289:function _(id,v){return new IFC4.IfcStructuralCurveMemberVarying(id,new IFC4.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4.IfcLabel(v[2].value),!v[3]?null:new IFC4.IfcText(v[3].value),!v[4]?null:new IFC4.IfcLabel(v[4].value),!v[5]?null:new Handle(v[5].value),!v[6]?null:new Handle(v[6].value),v[7],new Handle(v[8].value));},2757150158:function _(id,v){return new IFC4.IfcStructuralCurveReaction(id,new IFC4.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4.IfcLabel(v[2].value),!v[3]?null:new IFC4.IfcText(v[3].value),!v[4]?null:new IFC4.IfcLabel(v[4].value),!v[5]?null:new Handle(v[5].value),!v[6]?null:new Handle(v[6].value),new Handle(v[7].value),v[8],v[9]);},1807405624:function _(id,v){return new IFC4.IfcStructuralLinearAction(id,new IFC4.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4.IfcLabel(v[2].value),!v[3]?null:new IFC4.IfcText(v[3].value),!v[4]?null:new IFC4.IfcLabel(v[4].value),!v[5]?null:new Handle(v[5].value),!v[6]?null:new Handle(v[6].value),new Handle(v[7].value),v[8],!v[9]?null:new IFC4.IfcBoolean(v[9].value),v[10],v[11]);},1252848954:function _(id,v){return new IFC4.IfcStructuralLoadGroup(id,new IFC4.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4.IfcLabel(v[2].value),!v[3]?null:new IFC4.IfcText(v[3].value),!v[4]?null:new IFC4.IfcLabel(v[4].value),v[5],v[6],v[7],!v[8]?null:new IFC4.IfcRatioMeasure(v[8].value),!v[9]?null:new IFC4.IfcLabel(v[9].value));},2082059205:function _(id,v){return new IFC4.IfcStructuralPointAction(id,new IFC4.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4.IfcLabel(v[2].value),!v[3]?null:new IFC4.IfcText(v[3].value),!v[4]?null:new IFC4.IfcLabel(v[4].value),!v[5]?null:new Handle(v[5].value),!v[6]?null:new Handle(v[6].value),new Handle(v[7].value),v[8],!v[9]?null:new IFC4.IfcBoolean(v[9].value));},734778138:function _(id,v){return new IFC4.IfcStructuralPointConnection(id,new IFC4.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4.IfcLabel(v[2].value),!v[3]?null:new IFC4.IfcText(v[3].value),!v[4]?null:new IFC4.IfcLabel(v[4].value),!v[5]?null:new Handle(v[5].value),!v[6]?null:new Handle(v[6].value),!v[7]?null:new Handle(v[7].value),!v[8]?null:new Handle(v[8].value));},1235345126:function _(id,v){return new IFC4.IfcStructuralPointReaction(id,new IFC4.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4.IfcLabel(v[2].value),!v[3]?null:new IFC4.IfcText(v[3].value),!v[4]?null:new IFC4.IfcLabel(v[4].value),!v[5]?null:new Handle(v[5].value),!v[6]?null:new Handle(v[6].value),new Handle(v[7].value),v[8]);},2986769608:function _(id,v){return new IFC4.IfcStructuralResultGroup(id,new IFC4.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4.IfcLabel(v[2].value),!v[3]?null:new IFC4.IfcText(v[3].value),!v[4]?null:new IFC4.IfcLabel(v[4].value),v[5],!v[6]?null:new Handle(v[6].value),new IFC4.IfcBoolean(v[7].value));},3657597509:function _(id,v){return new IFC4.IfcStructuralSurfaceAction(id,new IFC4.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4.IfcLabel(v[2].value),!v[3]?null:new IFC4.IfcText(v[3].value),!v[4]?null:new IFC4.IfcLabel(v[4].value),!v[5]?null:new Handle(v[5].value),!v[6]?null:new Handle(v[6].value),new Handle(v[7].value),v[8],!v[9]?null:new IFC4.IfcBoolean(v[9].value),v[10],v[11]);},1975003073:function _(id,v){return new IFC4.IfcStructuralSurfaceConnection(id,new IFC4.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4.IfcLabel(v[2].value),!v[3]?null:new IFC4.IfcText(v[3].value),!v[4]?null:new IFC4.IfcLabel(v[4].value),!v[5]?null:new Handle(v[5].value),!v[6]?null:new Handle(v[6].value),!v[7]?null:new Handle(v[7].value));},148013059:function _(id,v){return new IFC4.IfcSubContractResource(id,new IFC4.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4.IfcLabel(v[2].value),!v[3]?null:new IFC4.IfcText(v[3].value),!v[4]?null:new IFC4.IfcLabel(v[4].value),!v[5]?null:new IFC4.IfcIdentifier(v[5].value),!v[6]?null:new IFC4.IfcText(v[6].value),!v[7]?null:new Handle(v[7].value),!v[8]?null:v[8].map(function(p){return new Handle(p.value);}),!v[9]?null:new Handle(v[9].value),v[10]);},3101698114:function _(id,v){return new IFC4.IfcSurfaceFeature(id,new IFC4.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4.IfcLabel(v[2].value),!v[3]?null:new IFC4.IfcText(v[3].value),!v[4]?null:new IFC4.IfcLabel(v[4].value),!v[5]?null:new Handle(v[5].value),!v[6]?null:new Handle(v[6].value),!v[7]?null:new IFC4.IfcIdentifier(v[7].value),v[8]);},2315554128:function _(id,v){return new IFC4.IfcSwitchingDeviceType(id,new IFC4.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4.IfcLabel(v[2].value),!v[3]?null:new IFC4.IfcText(v[3].value),!v[4]?null:new IFC4.IfcIdentifier(v[4].value),!v[5]?null:v[5].map(function(p){return new Handle(p.value);}),!v[6]?null:v[6].map(function(p){return new Handle(p.value);}),!v[7]?null:new IFC4.IfcLabel(v[7].value),!v[8]?null:new IFC4.IfcLabel(v[8].value),v[9]);},2254336722:function _(id,v){return new IFC4.IfcSystem(id,new IFC4.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4.IfcLabel(v[2].value),!v[3]?null:new IFC4.IfcText(v[3].value),!v[4]?null:new IFC4.IfcLabel(v[4].value));},413509423:function _(id,v){return new IFC4.IfcSystemFurnitureElement(id,new IFC4.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4.IfcLabel(v[2].value),!v[3]?null:new IFC4.IfcText(v[3].value),!v[4]?null:new IFC4.IfcLabel(v[4].value),!v[5]?null:new Handle(v[5].value),!v[6]?null:new Handle(v[6].value),!v[7]?null:new IFC4.IfcIdentifier(v[7].value),v[8]);},5716631:function _(id,v){return new IFC4.IfcTankType(id,new IFC4.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4.IfcLabel(v[2].value),!v[3]?null:new IFC4.IfcText(v[3].value),!v[4]?null:new IFC4.IfcIdentifier(v[4].value),!v[5]?null:v[5].map(function(p){return new Handle(p.value);}),!v[6]?null:v[6].map(function(p){return new Handle(p.value);}),!v[7]?null:new IFC4.IfcLabel(v[7].value),!v[8]?null:new IFC4.IfcLabel(v[8].value),v[9]);},3824725483:function _(id,v){return new IFC4.IfcTendon(id,new IFC4.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4.IfcLabel(v[2].value),!v[3]?null:new IFC4.IfcText(v[3].value),!v[4]?null:new IFC4.IfcLabel(v[4].value),!v[5]?null:new Handle(v[5].value),!v[6]?null:new Handle(v[6].value),!v[7]?null:new IFC4.IfcIdentifier(v[7].value),!v[8]?null:new IFC4.IfcLabel(v[8].value),v[9],!v[10]?null:new IFC4.IfcPositiveLengthMeasure(v[10].value),!v[11]?null:new IFC4.IfcAreaMeasure(v[11].value),!v[12]?null:new IFC4.IfcForceMeasure(v[12].value),!v[13]?null:new IFC4.IfcPressureMeasure(v[13].value),!v[14]?null:new IFC4.IfcNormalisedRatioMeasure(v[14].value),!v[15]?null:new IFC4.IfcPositiveLengthMeasure(v[15].value),!v[16]?null:new IFC4.IfcPositiveLengthMeasure(v[16].value));},2347447852:function _(id,v){return new IFC4.IfcTendonAnchor(id,new IFC4.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4.IfcLabel(v[2].value),!v[3]?null:new IFC4.IfcText(v[3].value),!v[4]?null:new IFC4.IfcLabel(v[4].value),!v[5]?null:new Handle(v[5].value),!v[6]?null:new Handle(v[6].value),!v[7]?null:new IFC4.IfcIdentifier(v[7].value),!v[8]?null:new IFC4.IfcLabel(v[8].value),v[9]);},3081323446:function _(id,v){return new IFC4.IfcTendonAnchorType(id,new IFC4.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4.IfcLabel(v[2].value),!v[3]?null:new IFC4.IfcText(v[3].value),!v[4]?null:new IFC4.IfcIdentifier(v[4].value),!v[5]?null:v[5].map(function(p){return new Handle(p.value);}),!v[6]?null:v[6].map(function(p){return new Handle(p.value);}),!v[7]?null:new IFC4.IfcLabel(v[7].value),!v[8]?null:new IFC4.IfcLabel(v[8].value),v[9]);},2415094496:function _(id,v){return new IFC4.IfcTendonType(id,new IFC4.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4.IfcLabel(v[2].value),!v[3]?null:new IFC4.IfcText(v[3].value),!v[4]?null:new IFC4.IfcIdentifier(v[4].value),!v[5]?null:v[5].map(function(p){return new Handle(p.value);}),!v[6]?null:v[6].map(function(p){return new Handle(p.value);}),!v[7]?null:new IFC4.IfcLabel(v[7].value),!v[8]?null:new IFC4.IfcLabel(v[8].value),v[9],!v[10]?null:new IFC4.IfcPositiveLengthMeasure(v[10].value),!v[11]?null:new IFC4.IfcAreaMeasure(v[11].value),!v[12]?null:new IFC4.IfcPositiveLengthMeasure(v[12].value));},1692211062:function _(id,v){return new IFC4.IfcTransformerType(id,new IFC4.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4.IfcLabel(v[2].value),!v[3]?null:new IFC4.IfcText(v[3].value),!v[4]?null:new IFC4.IfcIdentifier(v[4].value),!v[5]?null:v[5].map(function(p){return new Handle(p.value);}),!v[6]?null:v[6].map(function(p){return new Handle(p.value);}),!v[7]?null:new IFC4.IfcLabel(v[7].value),!v[8]?null:new IFC4.IfcLabel(v[8].value),v[9]);},1620046519:function _(id,v){return new IFC4.IfcTransportElement(id,new IFC4.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4.IfcLabel(v[2].value),!v[3]?null:new IFC4.IfcText(v[3].value),!v[4]?null:new IFC4.IfcLabel(v[4].value),!v[5]?null:new Handle(v[5].value),!v[6]?null:new Handle(v[6].value),!v[7]?null:new IFC4.IfcIdentifier(v[7].value),v[8]);},3593883385:function _(id,v){return new IFC4.IfcTrimmedCurve(id,new Handle(v[0].value),v[1].map(function(p){return new Handle(p.value);}),v[2].map(function(p){return new Handle(p.value);}),new IFC4.IfcBoolean(v[3].value),v[4]);},1600972822:function _(id,v){return new IFC4.IfcTubeBundleType(id,new IFC4.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4.IfcLabel(v[2].value),!v[3]?null:new IFC4.IfcText(v[3].value),!v[4]?null:new IFC4.IfcIdentifier(v[4].value),!v[5]?null:v[5].map(function(p){return new Handle(p.value);}),!v[6]?null:v[6].map(function(p){return new Handle(p.value);}),!v[7]?null:new IFC4.IfcLabel(v[7].value),!v[8]?null:new IFC4.IfcLabel(v[8].value),v[9]);},1911125066:function _(id,v){return new IFC4.IfcUnitaryEquipmentType(id,new IFC4.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4.IfcLabel(v[2].value),!v[3]?null:new IFC4.IfcText(v[3].value),!v[4]?null:new IFC4.IfcIdentifier(v[4].value),!v[5]?null:v[5].map(function(p){return new Handle(p.value);}),!v[6]?null:v[6].map(function(p){return new Handle(p.value);}),!v[7]?null:new IFC4.IfcLabel(v[7].value),!v[8]?null:new IFC4.IfcLabel(v[8].value),v[9]);},728799441:function _(id,v){return new IFC4.IfcValveType(id,new IFC4.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4.IfcLabel(v[2].value),!v[3]?null:new IFC4.IfcText(v[3].value),!v[4]?null:new IFC4.IfcIdentifier(v[4].value),!v[5]?null:v[5].map(function(p){return new Handle(p.value);}),!v[6]?null:v[6].map(function(p){return new Handle(p.value);}),!v[7]?null:new IFC4.IfcLabel(v[7].value),!v[8]?null:new IFC4.IfcLabel(v[8].value),v[9]);},2391383451:function _(id,v){return new IFC4.IfcVibrationIsolator(id,new IFC4.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4.IfcLabel(v[2].value),!v[3]?null:new IFC4.IfcText(v[3].value),!v[4]?null:new IFC4.IfcLabel(v[4].value),!v[5]?null:new Handle(v[5].value),!v[6]?null:new Handle(v[6].value),!v[7]?null:new IFC4.IfcIdentifier(v[7].value),v[8]);},3313531582:function _(id,v){return new IFC4.IfcVibrationIsolatorType(id,new IFC4.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4.IfcLabel(v[2].value),!v[3]?null:new IFC4.IfcText(v[3].value),!v[4]?null:new IFC4.IfcIdentifier(v[4].value),!v[5]?null:v[5].map(function(p){return new Handle(p.value);}),!v[6]?null:v[6].map(function(p){return new Handle(p.value);}),!v[7]?null:new IFC4.IfcLabel(v[7].value),!v[8]?null:new IFC4.IfcLabel(v[8].value),v[9]);},2769231204:function _(id,v){return new IFC4.IfcVirtualElement(id,new IFC4.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4.IfcLabel(v[2].value),!v[3]?null:new IFC4.IfcText(v[3].value),!v[4]?null:new IFC4.IfcLabel(v[4].value),!v[5]?null:new Handle(v[5].value),!v[6]?null:new Handle(v[6].value),!v[7]?null:new IFC4.IfcIdentifier(v[7].value));},926996030:function _(id,v){return new IFC4.IfcVoidingFeature(id,new IFC4.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4.IfcLabel(v[2].value),!v[3]?null:new IFC4.IfcText(v[3].value),!v[4]?null:new IFC4.IfcLabel(v[4].value),!v[5]?null:new Handle(v[5].value),!v[6]?null:new Handle(v[6].value),!v[7]?null:new IFC4.IfcIdentifier(v[7].value),v[8]);},1898987631:function _(id,v){return new IFC4.IfcWallType(id,new IFC4.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4.IfcLabel(v[2].value),!v[3]?null:new IFC4.IfcText(v[3].value),!v[4]?null:new IFC4.IfcIdentifier(v[4].value),!v[5]?null:v[5].map(function(p){return new Handle(p.value);}),!v[6]?null:v[6].map(function(p){return new Handle(p.value);}),!v[7]?null:new IFC4.IfcLabel(v[7].value),!v[8]?null:new IFC4.IfcLabel(v[8].value),v[9]);},1133259667:function _(id,v){return new IFC4.IfcWasteTerminalType(id,new IFC4.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4.IfcLabel(v[2].value),!v[3]?null:new IFC4.IfcText(v[3].value),!v[4]?null:new IFC4.IfcIdentifier(v[4].value),!v[5]?null:v[5].map(function(p){return new Handle(p.value);}),!v[6]?null:v[6].map(function(p){return new Handle(p.value);}),!v[7]?null:new IFC4.IfcLabel(v[7].value),!v[8]?null:new IFC4.IfcLabel(v[8].value),v[9]);},4009809668:function _(id,v){return new IFC4.IfcWindowType(id,new IFC4.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4.IfcLabel(v[2].value),!v[3]?null:new IFC4.IfcText(v[3].value),!v[4]?null:new IFC4.IfcIdentifier(v[4].value),!v[5]?null:v[5].map(function(p){return new Handle(p.value);}),!v[6]?null:v[6].map(function(p){return new Handle(p.value);}),!v[7]?null:new IFC4.IfcLabel(v[7].value),!v[8]?null:new IFC4.IfcLabel(v[8].value),v[9],v[10],!v[11]?null:new IFC4.IfcBoolean(v[11].value),!v[12]?null:new IFC4.IfcLabel(v[12].value));},4088093105:function _(id,v){return new IFC4.IfcWorkCalendar(id,new IFC4.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4.IfcLabel(v[2].value),!v[3]?null:new IFC4.IfcText(v[3].value),!v[4]?null:new IFC4.IfcLabel(v[4].value),!v[5]?null:new IFC4.IfcIdentifier(v[5].value),!v[6]?null:v[6].map(function(p){return new Handle(p.value);}),!v[7]?null:v[7].map(function(p){return new Handle(p.value);}),v[8]);},1028945134:function _(id,v){return new IFC4.IfcWorkControl(id,new IFC4.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4.IfcLabel(v[2].value),!v[3]?null:new IFC4.IfcText(v[3].value),!v[4]?null:new IFC4.IfcLabel(v[4].value),!v[5]?null:new IFC4.IfcIdentifier(v[5].value),new IFC4.IfcDateTime(v[6].value),!v[7]?null:v[7].map(function(p){return new Handle(p.value);}),!v[8]?null:new IFC4.IfcLabel(v[8].value),!v[9]?null:new IFC4.IfcDuration(v[9].value),!v[10]?null:new IFC4.IfcDuration(v[10].value),new IFC4.IfcDateTime(v[11].value),!v[12]?null:new IFC4.IfcDateTime(v[12].value));},4218914973:function _(id,v){return new IFC4.IfcWorkPlan(id,new IFC4.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4.IfcLabel(v[2].value),!v[3]?null:new IFC4.IfcText(v[3].value),!v[4]?null:new IFC4.IfcLabel(v[4].value),!v[5]?null:new IFC4.IfcIdentifier(v[5].value),new IFC4.IfcDateTime(v[6].value),!v[7]?null:v[7].map(function(p){return new Handle(p.value);}),!v[8]?null:new IFC4.IfcLabel(v[8].value),!v[9]?null:new IFC4.IfcDuration(v[9].value),!v[10]?null:new IFC4.IfcDuration(v[10].value),new IFC4.IfcDateTime(v[11].value),!v[12]?null:new IFC4.IfcDateTime(v[12].value),v[13]);},3342526732:function _(id,v){return new IFC4.IfcWorkSchedule(id,new IFC4.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4.IfcLabel(v[2].value),!v[3]?null:new IFC4.IfcText(v[3].value),!v[4]?null:new IFC4.IfcLabel(v[4].value),!v[5]?null:new IFC4.IfcIdentifier(v[5].value),new IFC4.IfcDateTime(v[6].value),!v[7]?null:v[7].map(function(p){return new Handle(p.value);}),!v[8]?null:new IFC4.IfcLabel(v[8].value),!v[9]?null:new IFC4.IfcDuration(v[9].value),!v[10]?null:new IFC4.IfcDuration(v[10].value),new IFC4.IfcDateTime(v[11].value),!v[12]?null:new IFC4.IfcDateTime(v[12].value),v[13]);},1033361043:function _(id,v){return new IFC4.IfcZone(id,new IFC4.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4.IfcLabel(v[2].value),!v[3]?null:new IFC4.IfcText(v[3].value),!v[4]?null:new IFC4.IfcLabel(v[4].value),!v[5]?null:new IFC4.IfcLabel(v[5].value));},3821786052:function _(id,v){return new IFC4.IfcActionRequest(id,new IFC4.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4.IfcLabel(v[2].value),!v[3]?null:new IFC4.IfcText(v[3].value),!v[4]?null:new IFC4.IfcLabel(v[4].value),!v[5]?null:new IFC4.IfcIdentifier(v[5].value),v[6],!v[7]?null:new IFC4.IfcLabel(v[7].value),!v[8]?null:new IFC4.IfcText(v[8].value));},1411407467:function _(id,v){return new IFC4.IfcAirTerminalBoxType(id,new IFC4.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4.IfcLabel(v[2].value),!v[3]?null:new IFC4.IfcText(v[3].value),!v[4]?null:new IFC4.IfcIdentifier(v[4].value),!v[5]?null:v[5].map(function(p){return new Handle(p.value);}),!v[6]?null:v[6].map(function(p){return new Handle(p.value);}),!v[7]?null:new IFC4.IfcLabel(v[7].value),!v[8]?null:new IFC4.IfcLabel(v[8].value),v[9]);},3352864051:function _(id,v){return new IFC4.IfcAirTerminalType(id,new IFC4.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4.IfcLabel(v[2].value),!v[3]?null:new IFC4.IfcText(v[3].value),!v[4]?null:new IFC4.IfcIdentifier(v[4].value),!v[5]?null:v[5].map(function(p){return new Handle(p.value);}),!v[6]?null:v[6].map(function(p){return new Handle(p.value);}),!v[7]?null:new IFC4.IfcLabel(v[7].value),!v[8]?null:new IFC4.IfcLabel(v[8].value),v[9]);},1871374353:function _(id,v){return new IFC4.IfcAirToAirHeatRecoveryType(id,new IFC4.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4.IfcLabel(v[2].value),!v[3]?null:new IFC4.IfcText(v[3].value),!v[4]?null:new IFC4.IfcIdentifier(v[4].value),!v[5]?null:v[5].map(function(p){return new Handle(p.value);}),!v[6]?null:v[6].map(function(p){return new Handle(p.value);}),!v[7]?null:new IFC4.IfcLabel(v[7].value),!v[8]?null:new IFC4.IfcLabel(v[8].value),v[9]);},3460190687:function _(id,v){return new IFC4.IfcAsset(id,new IFC4.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4.IfcLabel(v[2].value),!v[3]?null:new IFC4.IfcText(v[3].value),!v[4]?null:new IFC4.IfcLabel(v[4].value),!v[5]?null:new IFC4.IfcIdentifier(v[5].value),!v[6]?null:new Handle(v[6].value),!v[7]?null:new Handle(v[7].value),!v[8]?null:new Handle(v[8].value),!v[9]?null:new Handle(v[9].value),!v[10]?null:new Handle(v[10].value),!v[11]?null:new Handle(v[11].value),!v[12]?null:new IFC4.IfcDate(v[12].value),!v[13]?null:new Handle(v[13].value));},1532957894:function _(id,v){return new IFC4.IfcAudioVisualApplianceType(id,new IFC4.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4.IfcLabel(v[2].value),!v[3]?null:new IFC4.IfcText(v[3].value),!v[4]?null:new IFC4.IfcIdentifier(v[4].value),!v[5]?null:v[5].map(function(p){return new Handle(p.value);}),!v[6]?null:v[6].map(function(p){return new Handle(p.value);}),!v[7]?null:new IFC4.IfcLabel(v[7].value),!v[8]?null:new IFC4.IfcLabel(v[8].value),v[9]);},1967976161:function _(id,v){return new IFC4.IfcBSplineCurve(id,new IFC4.IfcInteger(v[0].value),v[1].map(function(p){return new Handle(p.value);}),v[2],new IFC4.IfcLogical(v[3].value),new IFC4.IfcLogical(v[4].value));},2461110595:function _(id,v){return new IFC4.IfcBSplineCurveWithKnots(id,new IFC4.IfcInteger(v[0].value),v[1].map(function(p){return new Handle(p.value);}),v[2],new IFC4.IfcLogical(v[3].value),new IFC4.IfcLogical(v[4].value),v[5].map(function(p){return new IFC4.IfcInteger(p.value);}),v[6].map(function(p){return new IFC4.IfcParameterValue(p.value);}),v[7]);},819618141:function _(id,v){return new IFC4.IfcBeamType(id,new IFC4.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4.IfcLabel(v[2].value),!v[3]?null:new IFC4.IfcText(v[3].value),!v[4]?null:new IFC4.IfcIdentifier(v[4].value),!v[5]?null:v[5].map(function(p){return new Handle(p.value);}),!v[6]?null:v[6].map(function(p){return new Handle(p.value);}),!v[7]?null:new IFC4.IfcLabel(v[7].value),!v[8]?null:new IFC4.IfcLabel(v[8].value),v[9]);},231477066:function _(id,v){return new IFC4.IfcBoilerType(id,new IFC4.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4.IfcLabel(v[2].value),!v[3]?null:new IFC4.IfcText(v[3].value),!v[4]?null:new IFC4.IfcIdentifier(v[4].value),!v[5]?null:v[5].map(function(p){return new Handle(p.value);}),!v[6]?null:v[6].map(function(p){return new Handle(p.value);}),!v[7]?null:new IFC4.IfcLabel(v[7].value),!v[8]?null:new IFC4.IfcLabel(v[8].value),v[9]);},1136057603:function _(id,v){return new IFC4.IfcBoundaryCurve(id,v[0].map(function(p){return new Handle(p.value);}),new IFC4.IfcLogical(v[1].value));},3299480353:function _(id,v){return new IFC4.IfcBuildingElement(id,new IFC4.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4.IfcLabel(v[2].value),!v[3]?null:new IFC4.IfcText(v[3].value),!v[4]?null:new IFC4.IfcLabel(v[4].value),!v[5]?null:new Handle(v[5].value),!v[6]?null:new Handle(v[6].value),!v[7]?null:new IFC4.IfcIdentifier(v[7].value));},2979338954:function _(id,v){return new IFC4.IfcBuildingElementPart(id,new IFC4.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4.IfcLabel(v[2].value),!v[3]?null:new IFC4.IfcText(v[3].value),!v[4]?null:new IFC4.IfcLabel(v[4].value),!v[5]?null:new Handle(v[5].value),!v[6]?null:new Handle(v[6].value),!v[7]?null:new IFC4.IfcIdentifier(v[7].value),v[8]);},39481116:function _(id,v){return new IFC4.IfcBuildingElementPartType(id,new IFC4.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4.IfcLabel(v[2].value),!v[3]?null:new IFC4.IfcText(v[3].value),!v[4]?null:new IFC4.IfcIdentifier(v[4].value),!v[5]?null:v[5].map(function(p){return new Handle(p.value);}),!v[6]?null:v[6].map(function(p){return new Handle(p.value);}),!v[7]?null:new IFC4.IfcLabel(v[7].value),!v[8]?null:new IFC4.IfcLabel(v[8].value),v[9]);},1095909175:function _(id,v){return new IFC4.IfcBuildingElementProxy(id,new IFC4.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4.IfcLabel(v[2].value),!v[3]?null:new IFC4.IfcText(v[3].value),!v[4]?null:new IFC4.IfcLabel(v[4].value),!v[5]?null:new Handle(v[5].value),!v[6]?null:new Handle(v[6].value),!v[7]?null:new IFC4.IfcIdentifier(v[7].value),v[8]);},1909888760:function _(id,v){return new IFC4.IfcBuildingElementProxyType(id,new IFC4.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4.IfcLabel(v[2].value),!v[3]?null:new IFC4.IfcText(v[3].value),!v[4]?null:new IFC4.IfcIdentifier(v[4].value),!v[5]?null:v[5].map(function(p){return new Handle(p.value);}),!v[6]?null:v[6].map(function(p){return new Handle(p.value);}),!v[7]?null:new IFC4.IfcLabel(v[7].value),!v[8]?null:new IFC4.IfcLabel(v[8].value),v[9]);},1177604601:function _(id,v){return new IFC4.IfcBuildingSystem(id,new IFC4.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4.IfcLabel(v[2].value),!v[3]?null:new IFC4.IfcText(v[3].value),!v[4]?null:new IFC4.IfcLabel(v[4].value),v[5],!v[6]?null:new IFC4.IfcLabel(v[6].value));},2188180465:function _(id,v){return new IFC4.IfcBurnerType(id,new IFC4.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4.IfcLabel(v[2].value),!v[3]?null:new IFC4.IfcText(v[3].value),!v[4]?null:new IFC4.IfcIdentifier(v[4].value),!v[5]?null:v[5].map(function(p){return new Handle(p.value);}),!v[6]?null:v[6].map(function(p){return new Handle(p.value);}),!v[7]?null:new IFC4.IfcLabel(v[7].value),!v[8]?null:new IFC4.IfcLabel(v[8].value),v[9]);},395041908:function _(id,v){return new IFC4.IfcCableCarrierFittingType(id,new IFC4.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4.IfcLabel(v[2].value),!v[3]?null:new IFC4.IfcText(v[3].value),!v[4]?null:new IFC4.IfcIdentifier(v[4].value),!v[5]?null:v[5].map(function(p){return new Handle(p.value);}),!v[6]?null:v[6].map(function(p){return new Handle(p.value);}),!v[7]?null:new IFC4.IfcLabel(v[7].value),!v[8]?null:new IFC4.IfcLabel(v[8].value),v[9]);},3293546465:function _(id,v){return new IFC4.IfcCableCarrierSegmentType(id,new IFC4.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4.IfcLabel(v[2].value),!v[3]?null:new IFC4.IfcText(v[3].value),!v[4]?null:new IFC4.IfcIdentifier(v[4].value),!v[5]?null:v[5].map(function(p){return new Handle(p.value);}),!v[6]?null:v[6].map(function(p){return new Handle(p.value);}),!v[7]?null:new IFC4.IfcLabel(v[7].value),!v[8]?null:new IFC4.IfcLabel(v[8].value),v[9]);},2674252688:function _(id,v){return new IFC4.IfcCableFittingType(id,new IFC4.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4.IfcLabel(v[2].value),!v[3]?null:new IFC4.IfcText(v[3].value),!v[4]?null:new IFC4.IfcIdentifier(v[4].value),!v[5]?null:v[5].map(function(p){return new Handle(p.value);}),!v[6]?null:v[6].map(function(p){return new Handle(p.value);}),!v[7]?null:new IFC4.IfcLabel(v[7].value),!v[8]?null:new IFC4.IfcLabel(v[8].value),v[9]);},1285652485:function _(id,v){return new IFC4.IfcCableSegmentType(id,new IFC4.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4.IfcLabel(v[2].value),!v[3]?null:new IFC4.IfcText(v[3].value),!v[4]?null:new IFC4.IfcIdentifier(v[4].value),!v[5]?null:v[5].map(function(p){return new Handle(p.value);}),!v[6]?null:v[6].map(function(p){return new Handle(p.value);}),!v[7]?null:new IFC4.IfcLabel(v[7].value),!v[8]?null:new IFC4.IfcLabel(v[8].value),v[9]);},2951183804:function _(id,v){return new IFC4.IfcChillerType(id,new IFC4.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4.IfcLabel(v[2].value),!v[3]?null:new IFC4.IfcText(v[3].value),!v[4]?null:new IFC4.IfcIdentifier(v[4].value),!v[5]?null:v[5].map(function(p){return new Handle(p.value);}),!v[6]?null:v[6].map(function(p){return new Handle(p.value);}),!v[7]?null:new IFC4.IfcLabel(v[7].value),!v[8]?null:new IFC4.IfcLabel(v[8].value),v[9]);},3296154744:function _(id,v){return new IFC4.IfcChimney(id,new IFC4.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4.IfcLabel(v[2].value),!v[3]?null:new IFC4.IfcText(v[3].value),!v[4]?null:new IFC4.IfcLabel(v[4].value),!v[5]?null:new Handle(v[5].value),!v[6]?null:new Handle(v[6].value),!v[7]?null:new IFC4.IfcIdentifier(v[7].value),v[8]);},2611217952:function _(id,v){return new IFC4.IfcCircle(id,new Handle(v[0].value),new IFC4.IfcPositiveLengthMeasure(v[1].value));},1677625105:function _(id,v){return new IFC4.IfcCivilElement(id,new IFC4.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4.IfcLabel(v[2].value),!v[3]?null:new IFC4.IfcText(v[3].value),!v[4]?null:new IFC4.IfcLabel(v[4].value),!v[5]?null:new Handle(v[5].value),!v[6]?null:new Handle(v[6].value),!v[7]?null:new IFC4.IfcIdentifier(v[7].value));},2301859152:function _(id,v){return new IFC4.IfcCoilType(id,new IFC4.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4.IfcLabel(v[2].value),!v[3]?null:new IFC4.IfcText(v[3].value),!v[4]?null:new IFC4.IfcIdentifier(v[4].value),!v[5]?null:v[5].map(function(p){return new Handle(p.value);}),!v[6]?null:v[6].map(function(p){return new Handle(p.value);}),!v[7]?null:new IFC4.IfcLabel(v[7].value),!v[8]?null:new IFC4.IfcLabel(v[8].value),v[9]);},843113511:function _(id,v){return new IFC4.IfcColumn(id,new IFC4.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4.IfcLabel(v[2].value),!v[3]?null:new IFC4.IfcText(v[3].value),!v[4]?null:new IFC4.IfcLabel(v[4].value),!v[5]?null:new Handle(v[5].value),!v[6]?null:new Handle(v[6].value),!v[7]?null:new IFC4.IfcIdentifier(v[7].value),v[8]);},905975707:function _(id,v){return new IFC4.IfcColumnStandardCase(id,new IFC4.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4.IfcLabel(v[2].value),!v[3]?null:new IFC4.IfcText(v[3].value),!v[4]?null:new IFC4.IfcLabel(v[4].value),!v[5]?null:new Handle(v[5].value),!v[6]?null:new Handle(v[6].value),!v[7]?null:new IFC4.IfcIdentifier(v[7].value),v[8]);},400855858:function _(id,v){return new IFC4.IfcCommunicationsApplianceType(id,new IFC4.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4.IfcLabel(v[2].value),!v[3]?null:new IFC4.IfcText(v[3].value),!v[4]?null:new IFC4.IfcIdentifier(v[4].value),!v[5]?null:v[5].map(function(p){return new Handle(p.value);}),!v[6]?null:v[6].map(function(p){return new Handle(p.value);}),!v[7]?null:new IFC4.IfcLabel(v[7].value),!v[8]?null:new IFC4.IfcLabel(v[8].value),v[9]);},3850581409:function _(id,v){return new IFC4.IfcCompressorType(id,new IFC4.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4.IfcLabel(v[2].value),!v[3]?null:new IFC4.IfcText(v[3].value),!v[4]?null:new IFC4.IfcIdentifier(v[4].value),!v[5]?null:v[5].map(function(p){return new Handle(p.value);}),!v[6]?null:v[6].map(function(p){return new Handle(p.value);}),!v[7]?null:new IFC4.IfcLabel(v[7].value),!v[8]?null:new IFC4.IfcLabel(v[8].value),v[9]);},2816379211:function _(id,v){return new IFC4.IfcCondenserType(id,new IFC4.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4.IfcLabel(v[2].value),!v[3]?null:new IFC4.IfcText(v[3].value),!v[4]?null:new IFC4.IfcIdentifier(v[4].value),!v[5]?null:v[5].map(function(p){return new Handle(p.value);}),!v[6]?null:v[6].map(function(p){return new Handle(p.value);}),!v[7]?null:new IFC4.IfcLabel(v[7].value),!v[8]?null:new IFC4.IfcLabel(v[8].value),v[9]);},3898045240:function _(id,v){return new IFC4.IfcConstructionEquipmentResource(id,new IFC4.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4.IfcLabel(v[2].value),!v[3]?null:new IFC4.IfcText(v[3].value),!v[4]?null:new IFC4.IfcLabel(v[4].value),!v[5]?null:new IFC4.IfcIdentifier(v[5].value),!v[6]?null:new IFC4.IfcText(v[6].value),!v[7]?null:new Handle(v[7].value),!v[8]?null:v[8].map(function(p){return new Handle(p.value);}),!v[9]?null:new Handle(v[9].value),v[10]);},1060000209:function _(id,v){return new IFC4.IfcConstructionMaterialResource(id,new IFC4.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4.IfcLabel(v[2].value),!v[3]?null:new IFC4.IfcText(v[3].value),!v[4]?null:new IFC4.IfcLabel(v[4].value),!v[5]?null:new IFC4.IfcIdentifier(v[5].value),!v[6]?null:new IFC4.IfcText(v[6].value),!v[7]?null:new Handle(v[7].value),!v[8]?null:v[8].map(function(p){return new Handle(p.value);}),!v[9]?null:new Handle(v[9].value),v[10]);},488727124:function _(id,v){return new IFC4.IfcConstructionProductResource(id,new IFC4.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4.IfcLabel(v[2].value),!v[3]?null:new IFC4.IfcText(v[3].value),!v[4]?null:new IFC4.IfcLabel(v[4].value),!v[5]?null:new IFC4.IfcIdentifier(v[5].value),!v[6]?null:new IFC4.IfcText(v[6].value),!v[7]?null:new Handle(v[7].value),!v[8]?null:v[8].map(function(p){return new Handle(p.value);}),!v[9]?null:new Handle(v[9].value),v[10]);},335055490:function _(id,v){return new IFC4.IfcCooledBeamType(id,new IFC4.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4.IfcLabel(v[2].value),!v[3]?null:new IFC4.IfcText(v[3].value),!v[4]?null:new IFC4.IfcIdentifier(v[4].value),!v[5]?null:v[5].map(function(p){return new Handle(p.value);}),!v[6]?null:v[6].map(function(p){return new Handle(p.value);}),!v[7]?null:new IFC4.IfcLabel(v[7].value),!v[8]?null:new IFC4.IfcLabel(v[8].value),v[9]);},2954562838:function _(id,v){return new IFC4.IfcCoolingTowerType(id,new IFC4.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4.IfcLabel(v[2].value),!v[3]?null:new IFC4.IfcText(v[3].value),!v[4]?null:new IFC4.IfcIdentifier(v[4].value),!v[5]?null:v[5].map(function(p){return new Handle(p.value);}),!v[6]?null:v[6].map(function(p){return new Handle(p.value);}),!v[7]?null:new IFC4.IfcLabel(v[7].value),!v[8]?null:new IFC4.IfcLabel(v[8].value),v[9]);},1973544240:function _(id,v){return new IFC4.IfcCovering(id,new IFC4.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4.IfcLabel(v[2].value),!v[3]?null:new IFC4.IfcText(v[3].value),!v[4]?null:new IFC4.IfcLabel(v[4].value),!v[5]?null:new Handle(v[5].value),!v[6]?null:new Handle(v[6].value),!v[7]?null:new IFC4.IfcIdentifier(v[7].value),v[8]);},3495092785:function _(id,v){return new IFC4.IfcCurtainWall(id,new IFC4.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4.IfcLabel(v[2].value),!v[3]?null:new IFC4.IfcText(v[3].value),!v[4]?null:new IFC4.IfcLabel(v[4].value),!v[5]?null:new Handle(v[5].value),!v[6]?null:new Handle(v[6].value),!v[7]?null:new IFC4.IfcIdentifier(v[7].value),v[8]);},3961806047:function _(id,v){return new IFC4.IfcDamperType(id,new IFC4.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4.IfcLabel(v[2].value),!v[3]?null:new IFC4.IfcText(v[3].value),!v[4]?null:new IFC4.IfcIdentifier(v[4].value),!v[5]?null:v[5].map(function(p){return new Handle(p.value);}),!v[6]?null:v[6].map(function(p){return new Handle(p.value);}),!v[7]?null:new IFC4.IfcLabel(v[7].value),!v[8]?null:new IFC4.IfcLabel(v[8].value),v[9]);},1335981549:function _(id,v){return new IFC4.IfcDiscreteAccessory(id,new IFC4.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4.IfcLabel(v[2].value),!v[3]?null:new IFC4.IfcText(v[3].value),!v[4]?null:new IFC4.IfcLabel(v[4].value),!v[5]?null:new Handle(v[5].value),!v[6]?null:new Handle(v[6].value),!v[7]?null:new IFC4.IfcIdentifier(v[7].value),v[8]);},2635815018:function _(id,v){return new IFC4.IfcDiscreteAccessoryType(id,new IFC4.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4.IfcLabel(v[2].value),!v[3]?null:new IFC4.IfcText(v[3].value),!v[4]?null:new IFC4.IfcIdentifier(v[4].value),!v[5]?null:v[5].map(function(p){return new Handle(p.value);}),!v[6]?null:v[6].map(function(p){return new Handle(p.value);}),!v[7]?null:new IFC4.IfcLabel(v[7].value),!v[8]?null:new IFC4.IfcLabel(v[8].value),v[9]);},1599208980:function _(id,v){return new IFC4.IfcDistributionChamberElementType(id,new IFC4.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4.IfcLabel(v[2].value),!v[3]?null:new IFC4.IfcText(v[3].value),!v[4]?null:new IFC4.IfcIdentifier(v[4].value),!v[5]?null:v[5].map(function(p){return new Handle(p.value);}),!v[6]?null:v[6].map(function(p){return new Handle(p.value);}),!v[7]?null:new IFC4.IfcLabel(v[7].value),!v[8]?null:new IFC4.IfcLabel(v[8].value),v[9]);},2063403501:function _(id,v){return new IFC4.IfcDistributionControlElementType(id,new IFC4.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4.IfcLabel(v[2].value),!v[3]?null:new IFC4.IfcText(v[3].value),!v[4]?null:new IFC4.IfcIdentifier(v[4].value),!v[5]?null:v[5].map(function(p){return new Handle(p.value);}),!v[6]?null:v[6].map(function(p){return new Handle(p.value);}),!v[7]?null:new IFC4.IfcLabel(v[7].value),!v[8]?null:new IFC4.IfcLabel(v[8].value));},1945004755:function _(id,v){return new IFC4.IfcDistributionElement(id,new IFC4.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4.IfcLabel(v[2].value),!v[3]?null:new IFC4.IfcText(v[3].value),!v[4]?null:new IFC4.IfcLabel(v[4].value),!v[5]?null:new Handle(v[5].value),!v[6]?null:new Handle(v[6].value),!v[7]?null:new IFC4.IfcIdentifier(v[7].value));},3040386961:function _(id,v){return new IFC4.IfcDistributionFlowElement(id,new IFC4.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4.IfcLabel(v[2].value),!v[3]?null:new IFC4.IfcText(v[3].value),!v[4]?null:new IFC4.IfcLabel(v[4].value),!v[5]?null:new Handle(v[5].value),!v[6]?null:new Handle(v[6].value),!v[7]?null:new IFC4.IfcIdentifier(v[7].value));},3041715199:function _(id,v){return new IFC4.IfcDistributionPort(id,new IFC4.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4.IfcLabel(v[2].value),!v[3]?null:new IFC4.IfcText(v[3].value),!v[4]?null:new IFC4.IfcLabel(v[4].value),!v[5]?null:new Handle(v[5].value),!v[6]?null:new Handle(v[6].value),v[7],v[8],v[9]);},3205830791:function _(id,v){return new IFC4.IfcDistributionSystem(id,new IFC4.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4.IfcLabel(v[2].value),!v[3]?null:new IFC4.IfcText(v[3].value),!v[4]?null:new IFC4.IfcLabel(v[4].value),!v[5]?null:new IFC4.IfcLabel(v[5].value),v[6]);},395920057:function _(id,v){return new IFC4.IfcDoor(id,new IFC4.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4.IfcLabel(v[2].value),!v[3]?null:new IFC4.IfcText(v[3].value),!v[4]?null:new IFC4.IfcLabel(v[4].value),!v[5]?null:new Handle(v[5].value),!v[6]?null:new Handle(v[6].value),!v[7]?null:new IFC4.IfcIdentifier(v[7].value),!v[8]?null:new IFC4.IfcPositiveLengthMeasure(v[8].value),!v[9]?null:new IFC4.IfcPositiveLengthMeasure(v[9].value),v[10],v[11],!v[12]?null:new IFC4.IfcLabel(v[12].value));},3242481149:function _(id,v){return new IFC4.IfcDoorStandardCase(id,new IFC4.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4.IfcLabel(v[2].value),!v[3]?null:new IFC4.IfcText(v[3].value),!v[4]?null:new IFC4.IfcLabel(v[4].value),!v[5]?null:new Handle(v[5].value),!v[6]?null:new Handle(v[6].value),!v[7]?null:new IFC4.IfcIdentifier(v[7].value),!v[8]?null:new IFC4.IfcPositiveLengthMeasure(v[8].value),!v[9]?null:new IFC4.IfcPositiveLengthMeasure(v[9].value),v[10],v[11],!v[12]?null:new IFC4.IfcLabel(v[12].value));},869906466:function _(id,v){return new IFC4.IfcDuctFittingType(id,new IFC4.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4.IfcLabel(v[2].value),!v[3]?null:new IFC4.IfcText(v[3].value),!v[4]?null:new IFC4.IfcIdentifier(v[4].value),!v[5]?null:v[5].map(function(p){return new Handle(p.value);}),!v[6]?null:v[6].map(function(p){return new Handle(p.value);}),!v[7]?null:new IFC4.IfcLabel(v[7].value),!v[8]?null:new IFC4.IfcLabel(v[8].value),v[9]);},3760055223:function _(id,v){return new IFC4.IfcDuctSegmentType(id,new IFC4.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4.IfcLabel(v[2].value),!v[3]?null:new IFC4.IfcText(v[3].value),!v[4]?null:new IFC4.IfcIdentifier(v[4].value),!v[5]?null:v[5].map(function(p){return new Handle(p.value);}),!v[6]?null:v[6].map(function(p){return new Handle(p.value);}),!v[7]?null:new IFC4.IfcLabel(v[7].value),!v[8]?null:new IFC4.IfcLabel(v[8].value),v[9]);},2030761528:function _(id,v){return new IFC4.IfcDuctSilencerType(id,new IFC4.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4.IfcLabel(v[2].value),!v[3]?null:new IFC4.IfcText(v[3].value),!v[4]?null:new IFC4.IfcIdentifier(v[4].value),!v[5]?null:v[5].map(function(p){return new Handle(p.value);}),!v[6]?null:v[6].map(function(p){return new Handle(p.value);}),!v[7]?null:new IFC4.IfcLabel(v[7].value),!v[8]?null:new IFC4.IfcLabel(v[8].value),v[9]);},663422040:function _(id,v){return new IFC4.IfcElectricApplianceType(id,new IFC4.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4.IfcLabel(v[2].value),!v[3]?null:new IFC4.IfcText(v[3].value),!v[4]?null:new IFC4.IfcIdentifier(v[4].value),!v[5]?null:v[5].map(function(p){return new Handle(p.value);}),!v[6]?null:v[6].map(function(p){return new Handle(p.value);}),!v[7]?null:new IFC4.IfcLabel(v[7].value),!v[8]?null:new IFC4.IfcLabel(v[8].value),v[9]);},2417008758:function _(id,v){return new IFC4.IfcElectricDistributionBoardType(id,new IFC4.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4.IfcLabel(v[2].value),!v[3]?null:new IFC4.IfcText(v[3].value),!v[4]?null:new IFC4.IfcIdentifier(v[4].value),!v[5]?null:v[5].map(function(p){return new Handle(p.value);}),!v[6]?null:v[6].map(function(p){return new Handle(p.value);}),!v[7]?null:new IFC4.IfcLabel(v[7].value),!v[8]?null:new IFC4.IfcLabel(v[8].value),v[9]);},3277789161:function _(id,v){return new IFC4.IfcElectricFlowStorageDeviceType(id,new IFC4.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4.IfcLabel(v[2].value),!v[3]?null:new IFC4.IfcText(v[3].value),!v[4]?null:new IFC4.IfcIdentifier(v[4].value),!v[5]?null:v[5].map(function(p){return new Handle(p.value);}),!v[6]?null:v[6].map(function(p){return new Handle(p.value);}),!v[7]?null:new IFC4.IfcLabel(v[7].value),!v[8]?null:new IFC4.IfcLabel(v[8].value),v[9]);},1534661035:function _(id,v){return new IFC4.IfcElectricGeneratorType(id,new IFC4.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4.IfcLabel(v[2].value),!v[3]?null:new IFC4.IfcText(v[3].value),!v[4]?null:new IFC4.IfcIdentifier(v[4].value),!v[5]?null:v[5].map(function(p){return new Handle(p.value);}),!v[6]?null:v[6].map(function(p){return new Handle(p.value);}),!v[7]?null:new IFC4.IfcLabel(v[7].value),!v[8]?null:new IFC4.IfcLabel(v[8].value),v[9]);},1217240411:function _(id,v){return new IFC4.IfcElectricMotorType(id,new IFC4.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4.IfcLabel(v[2].value),!v[3]?null:new IFC4.IfcText(v[3].value),!v[4]?null:new IFC4.IfcIdentifier(v[4].value),!v[5]?null:v[5].map(function(p){return new Handle(p.value);}),!v[6]?null:v[6].map(function(p){return new Handle(p.value);}),!v[7]?null:new IFC4.IfcLabel(v[7].value),!v[8]?null:new IFC4.IfcLabel(v[8].value),v[9]);},712377611:function _(id,v){return new IFC4.IfcElectricTimeControlType(id,new IFC4.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4.IfcLabel(v[2].value),!v[3]?null:new IFC4.IfcText(v[3].value),!v[4]?null:new IFC4.IfcIdentifier(v[4].value),!v[5]?null:v[5].map(function(p){return new Handle(p.value);}),!v[6]?null:v[6].map(function(p){return new Handle(p.value);}),!v[7]?null:new IFC4.IfcLabel(v[7].value),!v[8]?null:new IFC4.IfcLabel(v[8].value),v[9]);},1658829314:function _(id,v){return new IFC4.IfcEnergyConversionDevice(id,new IFC4.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4.IfcLabel(v[2].value),!v[3]?null:new IFC4.IfcText(v[3].value),!v[4]?null:new IFC4.IfcLabel(v[4].value),!v[5]?null:new Handle(v[5].value),!v[6]?null:new Handle(v[6].value),!v[7]?null:new IFC4.IfcIdentifier(v[7].value));},2814081492:function _(id,v){return new IFC4.IfcEngine(id,new IFC4.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4.IfcLabel(v[2].value),!v[3]?null:new IFC4.IfcText(v[3].value),!v[4]?null:new IFC4.IfcLabel(v[4].value),!v[5]?null:new Handle(v[5].value),!v[6]?null:new Handle(v[6].value),!v[7]?null:new IFC4.IfcIdentifier(v[7].value),v[8]);},3747195512:function _(id,v){return new IFC4.IfcEvaporativeCooler(id,new IFC4.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4.IfcLabel(v[2].value),!v[3]?null:new IFC4.IfcText(v[3].value),!v[4]?null:new IFC4.IfcLabel(v[4].value),!v[5]?null:new Handle(v[5].value),!v[6]?null:new Handle(v[6].value),!v[7]?null:new IFC4.IfcIdentifier(v[7].value),v[8]);},484807127:function _(id,v){return new IFC4.IfcEvaporator(id,new IFC4.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4.IfcLabel(v[2].value),!v[3]?null:new IFC4.IfcText(v[3].value),!v[4]?null:new IFC4.IfcLabel(v[4].value),!v[5]?null:new Handle(v[5].value),!v[6]?null:new Handle(v[6].value),!v[7]?null:new IFC4.IfcIdentifier(v[7].value),v[8]);},1209101575:function _(id,v){return new IFC4.IfcExternalSpatialElement(id,new IFC4.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4.IfcLabel(v[2].value),!v[3]?null:new IFC4.IfcText(v[3].value),!v[4]?null:new IFC4.IfcLabel(v[4].value),!v[5]?null:new Handle(v[5].value),!v[6]?null:new Handle(v[6].value),!v[7]?null:new IFC4.IfcLabel(v[7].value),v[8]);},346874300:function _(id,v){return new IFC4.IfcFanType(id,new IFC4.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4.IfcLabel(v[2].value),!v[3]?null:new IFC4.IfcText(v[3].value),!v[4]?null:new IFC4.IfcIdentifier(v[4].value),!v[5]?null:v[5].map(function(p){return new Handle(p.value);}),!v[6]?null:v[6].map(function(p){return new Handle(p.value);}),!v[7]?null:new IFC4.IfcLabel(v[7].value),!v[8]?null:new IFC4.IfcLabel(v[8].value),v[9]);},1810631287:function _(id,v){return new IFC4.IfcFilterType(id,new IFC4.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4.IfcLabel(v[2].value),!v[3]?null:new IFC4.IfcText(v[3].value),!v[4]?null:new IFC4.IfcIdentifier(v[4].value),!v[5]?null:v[5].map(function(p){return new Handle(p.value);}),!v[6]?null:v[6].map(function(p){return new Handle(p.value);}),!v[7]?null:new IFC4.IfcLabel(v[7].value),!v[8]?null:new IFC4.IfcLabel(v[8].value),v[9]);},4222183408:function _(id,v){return new IFC4.IfcFireSuppressionTerminalType(id,new IFC4.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4.IfcLabel(v[2].value),!v[3]?null:new IFC4.IfcText(v[3].value),!v[4]?null:new IFC4.IfcIdentifier(v[4].value),!v[5]?null:v[5].map(function(p){return new Handle(p.value);}),!v[6]?null:v[6].map(function(p){return new Handle(p.value);}),!v[7]?null:new IFC4.IfcLabel(v[7].value),!v[8]?null:new IFC4.IfcLabel(v[8].value),v[9]);},2058353004:function _(id,v){return new IFC4.IfcFlowController(id,new IFC4.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4.IfcLabel(v[2].value),!v[3]?null:new IFC4.IfcText(v[3].value),!v[4]?null:new IFC4.IfcLabel(v[4].value),!v[5]?null:new Handle(v[5].value),!v[6]?null:new Handle(v[6].value),!v[7]?null:new IFC4.IfcIdentifier(v[7].value));},4278956645:function _(id,v){return new IFC4.IfcFlowFitting(id,new IFC4.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4.IfcLabel(v[2].value),!v[3]?null:new IFC4.IfcText(v[3].value),!v[4]?null:new IFC4.IfcLabel(v[4].value),!v[5]?null:new Handle(v[5].value),!v[6]?null:new Handle(v[6].value),!v[7]?null:new IFC4.IfcIdentifier(v[7].value));},4037862832:function _(id,v){return new IFC4.IfcFlowInstrumentType(id,new IFC4.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4.IfcLabel(v[2].value),!v[3]?null:new IFC4.IfcText(v[3].value),!v[4]?null:new IFC4.IfcIdentifier(v[4].value),!v[5]?null:v[5].map(function(p){return new Handle(p.value);}),!v[6]?null:v[6].map(function(p){return new Handle(p.value);}),!v[7]?null:new IFC4.IfcLabel(v[7].value),!v[8]?null:new IFC4.IfcLabel(v[8].value),v[9]);},2188021234:function _(id,v){return new IFC4.IfcFlowMeter(id,new IFC4.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4.IfcLabel(v[2].value),!v[3]?null:new IFC4.IfcText(v[3].value),!v[4]?null:new IFC4.IfcLabel(v[4].value),!v[5]?null:new Handle(v[5].value),!v[6]?null:new Handle(v[6].value),!v[7]?null:new IFC4.IfcIdentifier(v[7].value),v[8]);},3132237377:function _(id,v){return new IFC4.IfcFlowMovingDevice(id,new IFC4.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4.IfcLabel(v[2].value),!v[3]?null:new IFC4.IfcText(v[3].value),!v[4]?null:new IFC4.IfcLabel(v[4].value),!v[5]?null:new Handle(v[5].value),!v[6]?null:new Handle(v[6].value),!v[7]?null:new IFC4.IfcIdentifier(v[7].value));},987401354:function _(id,v){return new IFC4.IfcFlowSegment(id,new IFC4.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4.IfcLabel(v[2].value),!v[3]?null:new IFC4.IfcText(v[3].value),!v[4]?null:new IFC4.IfcLabel(v[4].value),!v[5]?null:new Handle(v[5].value),!v[6]?null:new Handle(v[6].value),!v[7]?null:new IFC4.IfcIdentifier(v[7].value));},707683696:function _(id,v){return new IFC4.IfcFlowStorageDevice(id,new IFC4.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4.IfcLabel(v[2].value),!v[3]?null:new IFC4.IfcText(v[3].value),!v[4]?null:new IFC4.IfcLabel(v[4].value),!v[5]?null:new Handle(v[5].value),!v[6]?null:new Handle(v[6].value),!v[7]?null:new IFC4.IfcIdentifier(v[7].value));},2223149337:function _(id,v){return new IFC4.IfcFlowTerminal(id,new IFC4.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4.IfcLabel(v[2].value),!v[3]?null:new IFC4.IfcText(v[3].value),!v[4]?null:new IFC4.IfcLabel(v[4].value),!v[5]?null:new Handle(v[5].value),!v[6]?null:new Handle(v[6].value),!v[7]?null:new IFC4.IfcIdentifier(v[7].value));},3508470533:function _(id,v){return new IFC4.IfcFlowTreatmentDevice(id,new IFC4.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4.IfcLabel(v[2].value),!v[3]?null:new IFC4.IfcText(v[3].value),!v[4]?null:new IFC4.IfcLabel(v[4].value),!v[5]?null:new Handle(v[5].value),!v[6]?null:new Handle(v[6].value),!v[7]?null:new IFC4.IfcIdentifier(v[7].value));},900683007:function _(id,v){return new IFC4.IfcFooting(id,new IFC4.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4.IfcLabel(v[2].value),!v[3]?null:new IFC4.IfcText(v[3].value),!v[4]?null:new IFC4.IfcLabel(v[4].value),!v[5]?null:new Handle(v[5].value),!v[6]?null:new Handle(v[6].value),!v[7]?null:new IFC4.IfcIdentifier(v[7].value),v[8]);},3319311131:function _(id,v){return new IFC4.IfcHeatExchanger(id,new IFC4.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4.IfcLabel(v[2].value),!v[3]?null:new IFC4.IfcText(v[3].value),!v[4]?null:new IFC4.IfcLabel(v[4].value),!v[5]?null:new Handle(v[5].value),!v[6]?null:new Handle(v[6].value),!v[7]?null:new IFC4.IfcIdentifier(v[7].value),v[8]);},2068733104:function _(id,v){return new IFC4.IfcHumidifier(id,new IFC4.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4.IfcLabel(v[2].value),!v[3]?null:new IFC4.IfcText(v[3].value),!v[4]?null:new IFC4.IfcLabel(v[4].value),!v[5]?null:new Handle(v[5].value),!v[6]?null:new Handle(v[6].value),!v[7]?null:new IFC4.IfcIdentifier(v[7].value),v[8]);},4175244083:function _(id,v){return new IFC4.IfcInterceptor(id,new IFC4.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4.IfcLabel(v[2].value),!v[3]?null:new IFC4.IfcText(v[3].value),!v[4]?null:new IFC4.IfcLabel(v[4].value),!v[5]?null:new Handle(v[5].value),!v[6]?null:new Handle(v[6].value),!v[7]?null:new IFC4.IfcIdentifier(v[7].value),v[8]);},2176052936:function _(id,v){return new IFC4.IfcJunctionBox(id,new IFC4.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4.IfcLabel(v[2].value),!v[3]?null:new IFC4.IfcText(v[3].value),!v[4]?null:new IFC4.IfcLabel(v[4].value),!v[5]?null:new Handle(v[5].value),!v[6]?null:new Handle(v[6].value),!v[7]?null:new IFC4.IfcIdentifier(v[7].value),v[8]);},76236018:function _(id,v){return new IFC4.IfcLamp(id,new IFC4.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4.IfcLabel(v[2].value),!v[3]?null:new IFC4.IfcText(v[3].value),!v[4]?null:new IFC4.IfcLabel(v[4].value),!v[5]?null:new Handle(v[5].value),!v[6]?null:new Handle(v[6].value),!v[7]?null:new IFC4.IfcIdentifier(v[7].value),v[8]);},629592764:function _(id,v){return new IFC4.IfcLightFixture(id,new IFC4.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4.IfcLabel(v[2].value),!v[3]?null:new IFC4.IfcText(v[3].value),!v[4]?null:new IFC4.IfcLabel(v[4].value),!v[5]?null:new Handle(v[5].value),!v[6]?null:new Handle(v[6].value),!v[7]?null:new IFC4.IfcIdentifier(v[7].value),v[8]);},1437502449:function _(id,v){return new IFC4.IfcMedicalDevice(id,new IFC4.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4.IfcLabel(v[2].value),!v[3]?null:new IFC4.IfcText(v[3].value),!v[4]?null:new IFC4.IfcLabel(v[4].value),!v[5]?null:new Handle(v[5].value),!v[6]?null:new Handle(v[6].value),!v[7]?null:new IFC4.IfcIdentifier(v[7].value),v[8]);},1073191201:function _(id,v){return new IFC4.IfcMember(id,new IFC4.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4.IfcLabel(v[2].value),!v[3]?null:new IFC4.IfcText(v[3].value),!v[4]?null:new IFC4.IfcLabel(v[4].value),!v[5]?null:new Handle(v[5].value),!v[6]?null:new Handle(v[6].value),!v[7]?null:new IFC4.IfcIdentifier(v[7].value),v[8]);},1911478936:function _(id,v){return new IFC4.IfcMemberStandardCase(id,new IFC4.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4.IfcLabel(v[2].value),!v[3]?null:new IFC4.IfcText(v[3].value),!v[4]?null:new IFC4.IfcLabel(v[4].value),!v[5]?null:new Handle(v[5].value),!v[6]?null:new Handle(v[6].value),!v[7]?null:new IFC4.IfcIdentifier(v[7].value),v[8]);},2474470126:function _(id,v){return new IFC4.IfcMotorConnection(id,new IFC4.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4.IfcLabel(v[2].value),!v[3]?null:new IFC4.IfcText(v[3].value),!v[4]?null:new IFC4.IfcLabel(v[4].value),!v[5]?null:new Handle(v[5].value),!v[6]?null:new Handle(v[6].value),!v[7]?null:new IFC4.IfcIdentifier(v[7].value),v[8]);},144952367:function _(id,v){return new IFC4.IfcOuterBoundaryCurve(id,v[0].map(function(p){return new Handle(p.value);}),new IFC4.IfcLogical(v[1].value));},3694346114:function _(id,v){return new IFC4.IfcOutlet(id,new IFC4.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4.IfcLabel(v[2].value),!v[3]?null:new IFC4.IfcText(v[3].value),!v[4]?null:new IFC4.IfcLabel(v[4].value),!v[5]?null:new Handle(v[5].value),!v[6]?null:new Handle(v[6].value),!v[7]?null:new IFC4.IfcIdentifier(v[7].value),v[8]);},1687234759:function _(id,v){return new IFC4.IfcPile(id,new IFC4.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4.IfcLabel(v[2].value),!v[3]?null:new IFC4.IfcText(v[3].value),!v[4]?null:new IFC4.IfcLabel(v[4].value),!v[5]?null:new Handle(v[5].value),!v[6]?null:new Handle(v[6].value),!v[7]?null:new IFC4.IfcIdentifier(v[7].value),v[8],v[9]);},310824031:function _(id,v){return new IFC4.IfcPipeFitting(id,new IFC4.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4.IfcLabel(v[2].value),!v[3]?null:new IFC4.IfcText(v[3].value),!v[4]?null:new IFC4.IfcLabel(v[4].value),!v[5]?null:new Handle(v[5].value),!v[6]?null:new Handle(v[6].value),!v[7]?null:new IFC4.IfcIdentifier(v[7].value),v[8]);},3612865200:function _(id,v){return new IFC4.IfcPipeSegment(id,new IFC4.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4.IfcLabel(v[2].value),!v[3]?null:new IFC4.IfcText(v[3].value),!v[4]?null:new IFC4.IfcLabel(v[4].value),!v[5]?null:new Handle(v[5].value),!v[6]?null:new Handle(v[6].value),!v[7]?null:new IFC4.IfcIdentifier(v[7].value),v[8]);},3171933400:function _(id,v){return new IFC4.IfcPlate(id,new IFC4.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4.IfcLabel(v[2].value),!v[3]?null:new IFC4.IfcText(v[3].value),!v[4]?null:new IFC4.IfcLabel(v[4].value),!v[5]?null:new Handle(v[5].value),!v[6]?null:new Handle(v[6].value),!v[7]?null:new IFC4.IfcIdentifier(v[7].value),v[8]);},1156407060:function _(id,v){return new IFC4.IfcPlateStandardCase(id,new IFC4.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4.IfcLabel(v[2].value),!v[3]?null:new IFC4.IfcText(v[3].value),!v[4]?null:new IFC4.IfcLabel(v[4].value),!v[5]?null:new Handle(v[5].value),!v[6]?null:new Handle(v[6].value),!v[7]?null:new IFC4.IfcIdentifier(v[7].value),v[8]);},738039164:function _(id,v){return new IFC4.IfcProtectiveDevice(id,new IFC4.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4.IfcLabel(v[2].value),!v[3]?null:new IFC4.IfcText(v[3].value),!v[4]?null:new IFC4.IfcLabel(v[4].value),!v[5]?null:new Handle(v[5].value),!v[6]?null:new Handle(v[6].value),!v[7]?null:new IFC4.IfcIdentifier(v[7].value),v[8]);},655969474:function _(id,v){return new IFC4.IfcProtectiveDeviceTrippingUnitType(id,new IFC4.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4.IfcLabel(v[2].value),!v[3]?null:new IFC4.IfcText(v[3].value),!v[4]?null:new IFC4.IfcIdentifier(v[4].value),!v[5]?null:v[5].map(function(p){return new Handle(p.value);}),!v[6]?null:v[6].map(function(p){return new Handle(p.value);}),!v[7]?null:new IFC4.IfcLabel(v[7].value),!v[8]?null:new IFC4.IfcLabel(v[8].value),v[9]);},90941305:function _(id,v){return new IFC4.IfcPump(id,new IFC4.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4.IfcLabel(v[2].value),!v[3]?null:new IFC4.IfcText(v[3].value),!v[4]?null:new IFC4.IfcLabel(v[4].value),!v[5]?null:new Handle(v[5].value),!v[6]?null:new Handle(v[6].value),!v[7]?null:new IFC4.IfcIdentifier(v[7].value),v[8]);},2262370178:function _(id,v){return new IFC4.IfcRailing(id,new IFC4.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4.IfcLabel(v[2].value),!v[3]?null:new IFC4.IfcText(v[3].value),!v[4]?null:new IFC4.IfcLabel(v[4].value),!v[5]?null:new Handle(v[5].value),!v[6]?null:new Handle(v[6].value),!v[7]?null:new IFC4.IfcIdentifier(v[7].value),v[8]);},3024970846:function _(id,v){return new IFC4.IfcRamp(id,new IFC4.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4.IfcLabel(v[2].value),!v[3]?null:new IFC4.IfcText(v[3].value),!v[4]?null:new IFC4.IfcLabel(v[4].value),!v[5]?null:new Handle(v[5].value),!v[6]?null:new Handle(v[6].value),!v[7]?null:new IFC4.IfcIdentifier(v[7].value),v[8]);},3283111854:function _(id,v){return new IFC4.IfcRampFlight(id,new IFC4.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4.IfcLabel(v[2].value),!v[3]?null:new IFC4.IfcText(v[3].value),!v[4]?null:new IFC4.IfcLabel(v[4].value),!v[5]?null:new Handle(v[5].value),!v[6]?null:new Handle(v[6].value),!v[7]?null:new IFC4.IfcIdentifier(v[7].value),v[8]);},1232101972:function _(id,v){return new IFC4.IfcRationalBSplineCurveWithKnots(id,new IFC4.IfcInteger(v[0].value),v[1].map(function(p){return new Handle(p.value);}),v[2],new IFC4.IfcLogical(v[3].value),new IFC4.IfcLogical(v[4].value),v[5].map(function(p){return new IFC4.IfcInteger(p.value);}),v[6].map(function(p){return new IFC4.IfcParameterValue(p.value);}),v[7],v[8].map(function(p){return new IFC4.IfcReal(p.value);}));},979691226:function _(id,v){return new IFC4.IfcReinforcingBar(id,new IFC4.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4.IfcLabel(v[2].value),!v[3]?null:new IFC4.IfcText(v[3].value),!v[4]?null:new IFC4.IfcLabel(v[4].value),!v[5]?null:new Handle(v[5].value),!v[6]?null:new Handle(v[6].value),!v[7]?null:new IFC4.IfcIdentifier(v[7].value),!v[8]?null:new IFC4.IfcLabel(v[8].value),!v[9]?null:new IFC4.IfcPositiveLengthMeasure(v[9].value),!v[10]?null:new IFC4.IfcAreaMeasure(v[10].value),!v[11]?null:new IFC4.IfcPositiveLengthMeasure(v[11].value),v[12],v[13]);},2572171363:function _(id,v){return new IFC4.IfcReinforcingBarType(id,new IFC4.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4.IfcLabel(v[2].value),!v[3]?null:new IFC4.IfcText(v[3].value),!v[4]?null:new IFC4.IfcIdentifier(v[4].value),!v[5]?null:v[5].map(function(p){return new Handle(p.value);}),!v[6]?null:v[6].map(function(p){return new Handle(p.value);}),!v[7]?null:new IFC4.IfcLabel(v[7].value),!v[8]?null:new IFC4.IfcLabel(v[8].value),v[9],!v[10]?null:new IFC4.IfcPositiveLengthMeasure(v[10].value),!v[11]?null:new IFC4.IfcAreaMeasure(v[11].value),!v[12]?null:new IFC4.IfcPositiveLengthMeasure(v[12].value),v[13],!v[14]?null:new IFC4.IfcLabel(v[14].value),!v[15]?null:v[15].map(function(p){return TypeInitialiser(2,p);}));},2016517767:function _(id,v){return new IFC4.IfcRoof(id,new IFC4.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4.IfcLabel(v[2].value),!v[3]?null:new IFC4.IfcText(v[3].value),!v[4]?null:new IFC4.IfcLabel(v[4].value),!v[5]?null:new Handle(v[5].value),!v[6]?null:new Handle(v[6].value),!v[7]?null:new IFC4.IfcIdentifier(v[7].value),v[8]);},3053780830:function _(id,v){return new IFC4.IfcSanitaryTerminal(id,new IFC4.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4.IfcLabel(v[2].value),!v[3]?null:new IFC4.IfcText(v[3].value),!v[4]?null:new IFC4.IfcLabel(v[4].value),!v[5]?null:new Handle(v[5].value),!v[6]?null:new Handle(v[6].value),!v[7]?null:new IFC4.IfcIdentifier(v[7].value),v[8]);},1783015770:function _(id,v){return new IFC4.IfcSensorType(id,new IFC4.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4.IfcLabel(v[2].value),!v[3]?null:new IFC4.IfcText(v[3].value),!v[4]?null:new IFC4.IfcIdentifier(v[4].value),!v[5]?null:v[5].map(function(p){return new Handle(p.value);}),!v[6]?null:v[6].map(function(p){return new Handle(p.value);}),!v[7]?null:new IFC4.IfcLabel(v[7].value),!v[8]?null:new IFC4.IfcLabel(v[8].value),v[9]);},1329646415:function _(id,v){return new IFC4.IfcShadingDevice(id,new IFC4.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4.IfcLabel(v[2].value),!v[3]?null:new IFC4.IfcText(v[3].value),!v[4]?null:new IFC4.IfcLabel(v[4].value),!v[5]?null:new Handle(v[5].value),!v[6]?null:new Handle(v[6].value),!v[7]?null:new IFC4.IfcIdentifier(v[7].value),v[8]);},1529196076:function _(id,v){return new IFC4.IfcSlab(id,new IFC4.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4.IfcLabel(v[2].value),!v[3]?null:new IFC4.IfcText(v[3].value),!v[4]?null:new IFC4.IfcLabel(v[4].value),!v[5]?null:new Handle(v[5].value),!v[6]?null:new Handle(v[6].value),!v[7]?null:new IFC4.IfcIdentifier(v[7].value),v[8]);},3127900445:function _(id,v){return new IFC4.IfcSlabElementedCase(id,new IFC4.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4.IfcLabel(v[2].value),!v[3]?null:new IFC4.IfcText(v[3].value),!v[4]?null:new IFC4.IfcLabel(v[4].value),!v[5]?null:new Handle(v[5].value),!v[6]?null:new Handle(v[6].value),!v[7]?null:new IFC4.IfcIdentifier(v[7].value),v[8]);},3027962421:function _(id,v){return new IFC4.IfcSlabStandardCase(id,new IFC4.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4.IfcLabel(v[2].value),!v[3]?null:new IFC4.IfcText(v[3].value),!v[4]?null:new IFC4.IfcLabel(v[4].value),!v[5]?null:new Handle(v[5].value),!v[6]?null:new Handle(v[6].value),!v[7]?null:new IFC4.IfcIdentifier(v[7].value),v[8]);},3420628829:function _(id,v){return new IFC4.IfcSolarDevice(id,new IFC4.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4.IfcLabel(v[2].value),!v[3]?null:new IFC4.IfcText(v[3].value),!v[4]?null:new IFC4.IfcLabel(v[4].value),!v[5]?null:new Handle(v[5].value),!v[6]?null:new Handle(v[6].value),!v[7]?null:new IFC4.IfcIdentifier(v[7].value),v[8]);},1999602285:function _(id,v){return new IFC4.IfcSpaceHeater(id,new IFC4.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4.IfcLabel(v[2].value),!v[3]?null:new IFC4.IfcText(v[3].value),!v[4]?null:new IFC4.IfcLabel(v[4].value),!v[5]?null:new Handle(v[5].value),!v[6]?null:new Handle(v[6].value),!v[7]?null:new IFC4.IfcIdentifier(v[7].value),v[8]);},1404847402:function _(id,v){return new IFC4.IfcStackTerminal(id,new IFC4.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4.IfcLabel(v[2].value),!v[3]?null:new IFC4.IfcText(v[3].value),!v[4]?null:new IFC4.IfcLabel(v[4].value),!v[5]?null:new Handle(v[5].value),!v[6]?null:new Handle(v[6].value),!v[7]?null:new IFC4.IfcIdentifier(v[7].value),v[8]);},331165859:function _(id,v){return new IFC4.IfcStair(id,new IFC4.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4.IfcLabel(v[2].value),!v[3]?null:new IFC4.IfcText(v[3].value),!v[4]?null:new IFC4.IfcLabel(v[4].value),!v[5]?null:new Handle(v[5].value),!v[6]?null:new Handle(v[6].value),!v[7]?null:new IFC4.IfcIdentifier(v[7].value),v[8]);},4252922144:function _(id,v){return new IFC4.IfcStairFlight(id,new IFC4.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4.IfcLabel(v[2].value),!v[3]?null:new IFC4.IfcText(v[3].value),!v[4]?null:new IFC4.IfcLabel(v[4].value),!v[5]?null:new Handle(v[5].value),!v[6]?null:new Handle(v[6].value),!v[7]?null:new IFC4.IfcIdentifier(v[7].value),!v[8]?null:new IFC4.IfcInteger(v[8].value),!v[9]?null:new IFC4.IfcInteger(v[9].value),!v[10]?null:new IFC4.IfcPositiveLengthMeasure(v[10].value),!v[11]?null:new IFC4.IfcPositiveLengthMeasure(v[11].value),v[12]);},2515109513:function _(id,v){return new IFC4.IfcStructuralAnalysisModel(id,new IFC4.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4.IfcLabel(v[2].value),!v[3]?null:new IFC4.IfcText(v[3].value),!v[4]?null:new IFC4.IfcLabel(v[4].value),v[5],!v[6]?null:new Handle(v[6].value),!v[7]?null:v[7].map(function(p){return new Handle(p.value);}),!v[8]?null:v[8].map(function(p){return new Handle(p.value);}),!v[9]?null:new Handle(v[9].value));},385403989:function _(id,v){return new IFC4.IfcStructuralLoadCase(id,new IFC4.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4.IfcLabel(v[2].value),!v[3]?null:new IFC4.IfcText(v[3].value),!v[4]?null:new IFC4.IfcLabel(v[4].value),v[5],v[6],v[7],!v[8]?null:new IFC4.IfcRatioMeasure(v[8].value),!v[9]?null:new IFC4.IfcLabel(v[9].value),!v[10]?null:v[10].map(function(p){return new IFC4.IfcRatioMeasure(p.value);}));},1621171031:function _(id,v){return new IFC4.IfcStructuralPlanarAction(id,new IFC4.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4.IfcLabel(v[2].value),!v[3]?null:new IFC4.IfcText(v[3].value),!v[4]?null:new IFC4.IfcLabel(v[4].value),!v[5]?null:new Handle(v[5].value),!v[6]?null:new Handle(v[6].value),new Handle(v[7].value),v[8],!v[9]?null:new IFC4.IfcBoolean(v[9].value),v[10],v[11]);},1162798199:function _(id,v){return new IFC4.IfcSwitchingDevice(id,new IFC4.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4.IfcLabel(v[2].value),!v[3]?null:new IFC4.IfcText(v[3].value),!v[4]?null:new IFC4.IfcLabel(v[4].value),!v[5]?null:new Handle(v[5].value),!v[6]?null:new Handle(v[6].value),!v[7]?null:new IFC4.IfcIdentifier(v[7].value),v[8]);},812556717:function _(id,v){return new IFC4.IfcTank(id,new IFC4.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4.IfcLabel(v[2].value),!v[3]?null:new IFC4.IfcText(v[3].value),!v[4]?null:new IFC4.IfcLabel(v[4].value),!v[5]?null:new Handle(v[5].value),!v[6]?null:new Handle(v[6].value),!v[7]?null:new IFC4.IfcIdentifier(v[7].value),v[8]);},3825984169:function _(id,v){return new IFC4.IfcTransformer(id,new IFC4.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4.IfcLabel(v[2].value),!v[3]?null:new IFC4.IfcText(v[3].value),!v[4]?null:new IFC4.IfcLabel(v[4].value),!v[5]?null:new Handle(v[5].value),!v[6]?null:new Handle(v[6].value),!v[7]?null:new IFC4.IfcIdentifier(v[7].value),v[8]);},3026737570:function _(id,v){return new IFC4.IfcTubeBundle(id,new IFC4.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4.IfcLabel(v[2].value),!v[3]?null:new IFC4.IfcText(v[3].value),!v[4]?null:new IFC4.IfcLabel(v[4].value),!v[5]?null:new Handle(v[5].value),!v[6]?null:new Handle(v[6].value),!v[7]?null:new IFC4.IfcIdentifier(v[7].value),v[8]);},3179687236:function _(id,v){return new IFC4.IfcUnitaryControlElementType(id,new IFC4.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4.IfcLabel(v[2].value),!v[3]?null:new IFC4.IfcText(v[3].value),!v[4]?null:new IFC4.IfcIdentifier(v[4].value),!v[5]?null:v[5].map(function(p){return new Handle(p.value);}),!v[6]?null:v[6].map(function(p){return new Handle(p.value);}),!v[7]?null:new IFC4.IfcLabel(v[7].value),!v[8]?null:new IFC4.IfcLabel(v[8].value),v[9]);},4292641817:function _(id,v){return new IFC4.IfcUnitaryEquipment(id,new IFC4.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4.IfcLabel(v[2].value),!v[3]?null:new IFC4.IfcText(v[3].value),!v[4]?null:new IFC4.IfcLabel(v[4].value),!v[5]?null:new Handle(v[5].value),!v[6]?null:new Handle(v[6].value),!v[7]?null:new IFC4.IfcIdentifier(v[7].value),v[8]);},4207607924:function _(id,v){return new IFC4.IfcValve(id,new IFC4.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4.IfcLabel(v[2].value),!v[3]?null:new IFC4.IfcText(v[3].value),!v[4]?null:new IFC4.IfcLabel(v[4].value),!v[5]?null:new Handle(v[5].value),!v[6]?null:new Handle(v[6].value),!v[7]?null:new IFC4.IfcIdentifier(v[7].value),v[8]);},2391406946:function _(id,v){return new IFC4.IfcWall(id,new IFC4.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4.IfcLabel(v[2].value),!v[3]?null:new IFC4.IfcText(v[3].value),!v[4]?null:new IFC4.IfcLabel(v[4].value),!v[5]?null:new Handle(v[5].value),!v[6]?null:new Handle(v[6].value),!v[7]?null:new IFC4.IfcIdentifier(v[7].value),v[8]);},4156078855:function _(id,v){return new IFC4.IfcWallElementedCase(id,new IFC4.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4.IfcLabel(v[2].value),!v[3]?null:new IFC4.IfcText(v[3].value),!v[4]?null:new IFC4.IfcLabel(v[4].value),!v[5]?null:new Handle(v[5].value),!v[6]?null:new Handle(v[6].value),!v[7]?null:new IFC4.IfcIdentifier(v[7].value),v[8]);},3512223829:function _(id,v){return new IFC4.IfcWallStandardCase(id,new IFC4.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4.IfcLabel(v[2].value),!v[3]?null:new IFC4.IfcText(v[3].value),!v[4]?null:new IFC4.IfcLabel(v[4].value),!v[5]?null:new Handle(v[5].value),!v[6]?null:new Handle(v[6].value),!v[7]?null:new IFC4.IfcIdentifier(v[7].value),v[8]);},4237592921:function _(id,v){return new IFC4.IfcWasteTerminal(id,new IFC4.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4.IfcLabel(v[2].value),!v[3]?null:new IFC4.IfcText(v[3].value),!v[4]?null:new IFC4.IfcLabel(v[4].value),!v[5]?null:new Handle(v[5].value),!v[6]?null:new Handle(v[6].value),!v[7]?null:new IFC4.IfcIdentifier(v[7].value),v[8]);},3304561284:function _(id,v){return new IFC4.IfcWindow(id,new IFC4.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4.IfcLabel(v[2].value),!v[3]?null:new IFC4.IfcText(v[3].value),!v[4]?null:new IFC4.IfcLabel(v[4].value),!v[5]?null:new Handle(v[5].value),!v[6]?null:new Handle(v[6].value),!v[7]?null:new IFC4.IfcIdentifier(v[7].value),!v[8]?null:new IFC4.IfcPositiveLengthMeasure(v[8].value),!v[9]?null:new IFC4.IfcPositiveLengthMeasure(v[9].value),v[10],v[11],!v[12]?null:new IFC4.IfcLabel(v[12].value));},486154966:function _(id,v){return new IFC4.IfcWindowStandardCase(id,new IFC4.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4.IfcLabel(v[2].value),!v[3]?null:new IFC4.IfcText(v[3].value),!v[4]?null:new IFC4.IfcLabel(v[4].value),!v[5]?null:new Handle(v[5].value),!v[6]?null:new Handle(v[6].value),!v[7]?null:new IFC4.IfcIdentifier(v[7].value),!v[8]?null:new IFC4.IfcPositiveLengthMeasure(v[8].value),!v[9]?null:new IFC4.IfcPositiveLengthMeasure(v[9].value),v[10],v[11],!v[12]?null:new IFC4.IfcLabel(v[12].value));},2874132201:function _(id,v){return new IFC4.IfcActuatorType(id,new IFC4.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4.IfcLabel(v[2].value),!v[3]?null:new IFC4.IfcText(v[3].value),!v[4]?null:new IFC4.IfcIdentifier(v[4].value),!v[5]?null:v[5].map(function(p){return new Handle(p.value);}),!v[6]?null:v[6].map(function(p){return new Handle(p.value);}),!v[7]?null:new IFC4.IfcLabel(v[7].value),!v[8]?null:new IFC4.IfcLabel(v[8].value),v[9]);},1634111441:function _(id,v){return new IFC4.IfcAirTerminal(id,new IFC4.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4.IfcLabel(v[2].value),!v[3]?null:new IFC4.IfcText(v[3].value),!v[4]?null:new IFC4.IfcLabel(v[4].value),!v[5]?null:new Handle(v[5].value),!v[6]?null:new Handle(v[6].value),!v[7]?null:new IFC4.IfcIdentifier(v[7].value),v[8]);},177149247:function _(id,v){return new IFC4.IfcAirTerminalBox(id,new IFC4.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4.IfcLabel(v[2].value),!v[3]?null:new IFC4.IfcText(v[3].value),!v[4]?null:new IFC4.IfcLabel(v[4].value),!v[5]?null:new Handle(v[5].value),!v[6]?null:new Handle(v[6].value),!v[7]?null:new IFC4.IfcIdentifier(v[7].value),v[8]);},2056796094:function _(id,v){return new IFC4.IfcAirToAirHeatRecovery(id,new IFC4.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4.IfcLabel(v[2].value),!v[3]?null:new IFC4.IfcText(v[3].value),!v[4]?null:new IFC4.IfcLabel(v[4].value),!v[5]?null:new Handle(v[5].value),!v[6]?null:new Handle(v[6].value),!v[7]?null:new IFC4.IfcIdentifier(v[7].value),v[8]);},3001207471:function _(id,v){return new IFC4.IfcAlarmType(id,new IFC4.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4.IfcLabel(v[2].value),!v[3]?null:new IFC4.IfcText(v[3].value),!v[4]?null:new IFC4.IfcIdentifier(v[4].value),!v[5]?null:v[5].map(function(p){return new Handle(p.value);}),!v[6]?null:v[6].map(function(p){return new Handle(p.value);}),!v[7]?null:new IFC4.IfcLabel(v[7].value),!v[8]?null:new IFC4.IfcLabel(v[8].value),v[9]);},277319702:function _(id,v){return new IFC4.IfcAudioVisualAppliance(id,new IFC4.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4.IfcLabel(v[2].value),!v[3]?null:new IFC4.IfcText(v[3].value),!v[4]?null:new IFC4.IfcLabel(v[4].value),!v[5]?null:new Handle(v[5].value),!v[6]?null:new Handle(v[6].value),!v[7]?null:new IFC4.IfcIdentifier(v[7].value),v[8]);},753842376:function _(id,v){return new IFC4.IfcBeam(id,new IFC4.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4.IfcLabel(v[2].value),!v[3]?null:new IFC4.IfcText(v[3].value),!v[4]?null:new IFC4.IfcLabel(v[4].value),!v[5]?null:new Handle(v[5].value),!v[6]?null:new Handle(v[6].value),!v[7]?null:new IFC4.IfcIdentifier(v[7].value),v[8]);},2906023776:function _(id,v){return new IFC4.IfcBeamStandardCase(id,new IFC4.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4.IfcLabel(v[2].value),!v[3]?null:new IFC4.IfcText(v[3].value),!v[4]?null:new IFC4.IfcLabel(v[4].value),!v[5]?null:new Handle(v[5].value),!v[6]?null:new Handle(v[6].value),!v[7]?null:new IFC4.IfcIdentifier(v[7].value),v[8]);},32344328:function _(id,v){return new IFC4.IfcBoiler(id,new IFC4.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4.IfcLabel(v[2].value),!v[3]?null:new IFC4.IfcText(v[3].value),!v[4]?null:new IFC4.IfcLabel(v[4].value),!v[5]?null:new Handle(v[5].value),!v[6]?null:new Handle(v[6].value),!v[7]?null:new IFC4.IfcIdentifier(v[7].value),v[8]);},2938176219:function _(id,v){return new IFC4.IfcBurner(id,new IFC4.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4.IfcLabel(v[2].value),!v[3]?null:new IFC4.IfcText(v[3].value),!v[4]?null:new IFC4.IfcLabel(v[4].value),!v[5]?null:new Handle(v[5].value),!v[6]?null:new Handle(v[6].value),!v[7]?null:new IFC4.IfcIdentifier(v[7].value),v[8]);},635142910:function _(id,v){return new IFC4.IfcCableCarrierFitting(id,new IFC4.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4.IfcLabel(v[2].value),!v[3]?null:new IFC4.IfcText(v[3].value),!v[4]?null:new IFC4.IfcLabel(v[4].value),!v[5]?null:new Handle(v[5].value),!v[6]?null:new Handle(v[6].value),!v[7]?null:new IFC4.IfcIdentifier(v[7].value),v[8]);},3758799889:function _(id,v){return new IFC4.IfcCableCarrierSegment(id,new IFC4.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4.IfcLabel(v[2].value),!v[3]?null:new IFC4.IfcText(v[3].value),!v[4]?null:new IFC4.IfcLabel(v[4].value),!v[5]?null:new Handle(v[5].value),!v[6]?null:new Handle(v[6].value),!v[7]?null:new IFC4.IfcIdentifier(v[7].value),v[8]);},1051757585:function _(id,v){return new IFC4.IfcCableFitting(id,new IFC4.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4.IfcLabel(v[2].value),!v[3]?null:new IFC4.IfcText(v[3].value),!v[4]?null:new IFC4.IfcLabel(v[4].value),!v[5]?null:new Handle(v[5].value),!v[6]?null:new Handle(v[6].value),!v[7]?null:new IFC4.IfcIdentifier(v[7].value),v[8]);},4217484030:function _(id,v){return new IFC4.IfcCableSegment(id,new IFC4.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4.IfcLabel(v[2].value),!v[3]?null:new IFC4.IfcText(v[3].value),!v[4]?null:new IFC4.IfcLabel(v[4].value),!v[5]?null:new Handle(v[5].value),!v[6]?null:new Handle(v[6].value),!v[7]?null:new IFC4.IfcIdentifier(v[7].value),v[8]);},3902619387:function _(id,v){return new IFC4.IfcChiller(id,new IFC4.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4.IfcLabel(v[2].value),!v[3]?null:new IFC4.IfcText(v[3].value),!v[4]?null:new IFC4.IfcLabel(v[4].value),!v[5]?null:new Handle(v[5].value),!v[6]?null:new Handle(v[6].value),!v[7]?null:new IFC4.IfcIdentifier(v[7].value),v[8]);},639361253:function _(id,v){return new IFC4.IfcCoil(id,new IFC4.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4.IfcLabel(v[2].value),!v[3]?null:new IFC4.IfcText(v[3].value),!v[4]?null:new IFC4.IfcLabel(v[4].value),!v[5]?null:new Handle(v[5].value),!v[6]?null:new Handle(v[6].value),!v[7]?null:new IFC4.IfcIdentifier(v[7].value),v[8]);},3221913625:function _(id,v){return new IFC4.IfcCommunicationsAppliance(id,new IFC4.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4.IfcLabel(v[2].value),!v[3]?null:new IFC4.IfcText(v[3].value),!v[4]?null:new IFC4.IfcLabel(v[4].value),!v[5]?null:new Handle(v[5].value),!v[6]?null:new Handle(v[6].value),!v[7]?null:new IFC4.IfcIdentifier(v[7].value),v[8]);},3571504051:function _(id,v){return new IFC4.IfcCompressor(id,new IFC4.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4.IfcLabel(v[2].value),!v[3]?null:new IFC4.IfcText(v[3].value),!v[4]?null:new IFC4.IfcLabel(v[4].value),!v[5]?null:new Handle(v[5].value),!v[6]?null:new Handle(v[6].value),!v[7]?null:new IFC4.IfcIdentifier(v[7].value),v[8]);},2272882330:function _(id,v){return new IFC4.IfcCondenser(id,new IFC4.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4.IfcLabel(v[2].value),!v[3]?null:new IFC4.IfcText(v[3].value),!v[4]?null:new IFC4.IfcLabel(v[4].value),!v[5]?null:new Handle(v[5].value),!v[6]?null:new Handle(v[6].value),!v[7]?null:new IFC4.IfcIdentifier(v[7].value),v[8]);},578613899:function _(id,v){return new IFC4.IfcControllerType(id,new IFC4.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4.IfcLabel(v[2].value),!v[3]?null:new IFC4.IfcText(v[3].value),!v[4]?null:new IFC4.IfcIdentifier(v[4].value),!v[5]?null:v[5].map(function(p){return new Handle(p.value);}),!v[6]?null:v[6].map(function(p){return new Handle(p.value);}),!v[7]?null:new IFC4.IfcLabel(v[7].value),!v[8]?null:new IFC4.IfcLabel(v[8].value),v[9]);},4136498852:function _(id,v){return new IFC4.IfcCooledBeam(id,new IFC4.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4.IfcLabel(v[2].value),!v[3]?null:new IFC4.IfcText(v[3].value),!v[4]?null:new IFC4.IfcLabel(v[4].value),!v[5]?null:new Handle(v[5].value),!v[6]?null:new Handle(v[6].value),!v[7]?null:new IFC4.IfcIdentifier(v[7].value),v[8]);},3640358203:function _(id,v){return new IFC4.IfcCoolingTower(id,new IFC4.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4.IfcLabel(v[2].value),!v[3]?null:new IFC4.IfcText(v[3].value),!v[4]?null:new IFC4.IfcLabel(v[4].value),!v[5]?null:new Handle(v[5].value),!v[6]?null:new Handle(v[6].value),!v[7]?null:new IFC4.IfcIdentifier(v[7].value),v[8]);},4074379575:function _(id,v){return new IFC4.IfcDamper(id,new IFC4.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4.IfcLabel(v[2].value),!v[3]?null:new IFC4.IfcText(v[3].value),!v[4]?null:new IFC4.IfcLabel(v[4].value),!v[5]?null:new Handle(v[5].value),!v[6]?null:new Handle(v[6].value),!v[7]?null:new IFC4.IfcIdentifier(v[7].value),v[8]);},1052013943:function _(id,v){return new IFC4.IfcDistributionChamberElement(id,new IFC4.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4.IfcLabel(v[2].value),!v[3]?null:new IFC4.IfcText(v[3].value),!v[4]?null:new IFC4.IfcLabel(v[4].value),!v[5]?null:new Handle(v[5].value),!v[6]?null:new Handle(v[6].value),!v[7]?null:new IFC4.IfcIdentifier(v[7].value),v[8]);},562808652:function _(id,v){return new IFC4.IfcDistributionCircuit(id,new IFC4.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4.IfcLabel(v[2].value),!v[3]?null:new IFC4.IfcText(v[3].value),!v[4]?null:new IFC4.IfcLabel(v[4].value),!v[5]?null:new IFC4.IfcLabel(v[5].value),v[6]);},1062813311:function _(id,v){return new IFC4.IfcDistributionControlElement(id,new IFC4.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4.IfcLabel(v[2].value),!v[3]?null:new IFC4.IfcText(v[3].value),!v[4]?null:new IFC4.IfcLabel(v[4].value),!v[5]?null:new Handle(v[5].value),!v[6]?null:new Handle(v[6].value),!v[7]?null:new IFC4.IfcIdentifier(v[7].value));},342316401:function _(id,v){return new IFC4.IfcDuctFitting(id,new IFC4.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4.IfcLabel(v[2].value),!v[3]?null:new IFC4.IfcText(v[3].value),!v[4]?null:new IFC4.IfcLabel(v[4].value),!v[5]?null:new Handle(v[5].value),!v[6]?null:new Handle(v[6].value),!v[7]?null:new IFC4.IfcIdentifier(v[7].value),v[8]);},3518393246:function _(id,v){return new IFC4.IfcDuctSegment(id,new IFC4.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4.IfcLabel(v[2].value),!v[3]?null:new IFC4.IfcText(v[3].value),!v[4]?null:new IFC4.IfcLabel(v[4].value),!v[5]?null:new Handle(v[5].value),!v[6]?null:new Handle(v[6].value),!v[7]?null:new IFC4.IfcIdentifier(v[7].value),v[8]);},1360408905:function _(id,v){return new IFC4.IfcDuctSilencer(id,new IFC4.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4.IfcLabel(v[2].value),!v[3]?null:new IFC4.IfcText(v[3].value),!v[4]?null:new IFC4.IfcLabel(v[4].value),!v[5]?null:new Handle(v[5].value),!v[6]?null:new Handle(v[6].value),!v[7]?null:new IFC4.IfcIdentifier(v[7].value),v[8]);},1904799276:function _(id,v){return new IFC4.IfcElectricAppliance(id,new IFC4.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4.IfcLabel(v[2].value),!v[3]?null:new IFC4.IfcText(v[3].value),!v[4]?null:new IFC4.IfcLabel(v[4].value),!v[5]?null:new Handle(v[5].value),!v[6]?null:new Handle(v[6].value),!v[7]?null:new IFC4.IfcIdentifier(v[7].value),v[8]);},862014818:function _(id,v){return new IFC4.IfcElectricDistributionBoard(id,new IFC4.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4.IfcLabel(v[2].value),!v[3]?null:new IFC4.IfcText(v[3].value),!v[4]?null:new IFC4.IfcLabel(v[4].value),!v[5]?null:new Handle(v[5].value),!v[6]?null:new Handle(v[6].value),!v[7]?null:new IFC4.IfcIdentifier(v[7].value),v[8]);},3310460725:function _(id,v){return new IFC4.IfcElectricFlowStorageDevice(id,new IFC4.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4.IfcLabel(v[2].value),!v[3]?null:new IFC4.IfcText(v[3].value),!v[4]?null:new IFC4.IfcLabel(v[4].value),!v[5]?null:new Handle(v[5].value),!v[6]?null:new Handle(v[6].value),!v[7]?null:new IFC4.IfcIdentifier(v[7].value),v[8]);},264262732:function _(id,v){return new IFC4.IfcElectricGenerator(id,new IFC4.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4.IfcLabel(v[2].value),!v[3]?null:new IFC4.IfcText(v[3].value),!v[4]?null:new IFC4.IfcLabel(v[4].value),!v[5]?null:new Handle(v[5].value),!v[6]?null:new Handle(v[6].value),!v[7]?null:new IFC4.IfcIdentifier(v[7].value),v[8]);},402227799:function _(id,v){return new IFC4.IfcElectricMotor(id,new IFC4.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4.IfcLabel(v[2].value),!v[3]?null:new IFC4.IfcText(v[3].value),!v[4]?null:new IFC4.IfcLabel(v[4].value),!v[5]?null:new Handle(v[5].value),!v[6]?null:new Handle(v[6].value),!v[7]?null:new IFC4.IfcIdentifier(v[7].value),v[8]);},1003880860:function _(id,v){return new IFC4.IfcElectricTimeControl(id,new IFC4.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4.IfcLabel(v[2].value),!v[3]?null:new IFC4.IfcText(v[3].value),!v[4]?null:new IFC4.IfcLabel(v[4].value),!v[5]?null:new Handle(v[5].value),!v[6]?null:new Handle(v[6].value),!v[7]?null:new IFC4.IfcIdentifier(v[7].value),v[8]);},3415622556:function _(id,v){return new IFC4.IfcFan(id,new IFC4.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4.IfcLabel(v[2].value),!v[3]?null:new IFC4.IfcText(v[3].value),!v[4]?null:new IFC4.IfcLabel(v[4].value),!v[5]?null:new Handle(v[5].value),!v[6]?null:new Handle(v[6].value),!v[7]?null:new IFC4.IfcIdentifier(v[7].value),v[8]);},819412036:function _(id,v){return new IFC4.IfcFilter(id,new IFC4.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4.IfcLabel(v[2].value),!v[3]?null:new IFC4.IfcText(v[3].value),!v[4]?null:new IFC4.IfcLabel(v[4].value),!v[5]?null:new Handle(v[5].value),!v[6]?null:new Handle(v[6].value),!v[7]?null:new IFC4.IfcIdentifier(v[7].value),v[8]);},1426591983:function _(id,v){return new IFC4.IfcFireSuppressionTerminal(id,new IFC4.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4.IfcLabel(v[2].value),!v[3]?null:new IFC4.IfcText(v[3].value),!v[4]?null:new IFC4.IfcLabel(v[4].value),!v[5]?null:new Handle(v[5].value),!v[6]?null:new Handle(v[6].value),!v[7]?null:new IFC4.IfcIdentifier(v[7].value),v[8]);},182646315:function _(id,v){return new IFC4.IfcFlowInstrument(id,new IFC4.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4.IfcLabel(v[2].value),!v[3]?null:new IFC4.IfcText(v[3].value),!v[4]?null:new IFC4.IfcLabel(v[4].value),!v[5]?null:new Handle(v[5].value),!v[6]?null:new Handle(v[6].value),!v[7]?null:new IFC4.IfcIdentifier(v[7].value),v[8]);},2295281155:function _(id,v){return new IFC4.IfcProtectiveDeviceTrippingUnit(id,new IFC4.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4.IfcLabel(v[2].value),!v[3]?null:new IFC4.IfcText(v[3].value),!v[4]?null:new IFC4.IfcLabel(v[4].value),!v[5]?null:new Handle(v[5].value),!v[6]?null:new Handle(v[6].value),!v[7]?null:new IFC4.IfcIdentifier(v[7].value),v[8]);},4086658281:function _(id,v){return new IFC4.IfcSensor(id,new IFC4.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4.IfcLabel(v[2].value),!v[3]?null:new IFC4.IfcText(v[3].value),!v[4]?null:new IFC4.IfcLabel(v[4].value),!v[5]?null:new Handle(v[5].value),!v[6]?null:new Handle(v[6].value),!v[7]?null:new IFC4.IfcIdentifier(v[7].value),v[8]);},630975310:function _(id,v){return new IFC4.IfcUnitaryControlElement(id,new IFC4.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4.IfcLabel(v[2].value),!v[3]?null:new IFC4.IfcText(v[3].value),!v[4]?null:new IFC4.IfcLabel(v[4].value),!v[5]?null:new Handle(v[5].value),!v[6]?null:new Handle(v[6].value),!v[7]?null:new IFC4.IfcIdentifier(v[7].value),v[8]);},4288193352:function _(id,v){return new IFC4.IfcActuator(id,new IFC4.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4.IfcLabel(v[2].value),!v[3]?null:new IFC4.IfcText(v[3].value),!v[4]?null:new IFC4.IfcLabel(v[4].value),!v[5]?null:new Handle(v[5].value),!v[6]?null:new Handle(v[6].value),!v[7]?null:new IFC4.IfcIdentifier(v[7].value),v[8]);},3087945054:function _(id,v){return new IFC4.IfcAlarm(id,new IFC4.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4.IfcLabel(v[2].value),!v[3]?null:new IFC4.IfcText(v[3].value),!v[4]?null:new IFC4.IfcLabel(v[4].value),!v[5]?null:new Handle(v[5].value),!v[6]?null:new Handle(v[6].value),!v[7]?null:new IFC4.IfcIdentifier(v[7].value),v[8]);},25142252:function _(id,v){return new IFC4.IfcController(id,new IFC4.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4.IfcLabel(v[2].value),!v[3]?null:new IFC4.IfcText(v[3].value),!v[4]?null:new IFC4.IfcLabel(v[4].value),!v[5]?null:new Handle(v[5].value),!v[6]?null:new Handle(v[6].value),!v[7]?null:new IFC4.IfcIdentifier(v[7].value),v[8]);}};InheritanceDef[2]={618182010:[IFCTELECOMADDRESS,IFCPOSTALADDRESS],411424972:[IFCCOSTVALUE],4037036970:[IFCBOUNDARYNODECONDITIONWARPING,IFCBOUNDARYNODECONDITION,IFCBOUNDARYFACECONDITION,IFCBOUNDARYEDGECONDITION],1387855156:[IFCBOUNDARYNODECONDITIONWARPING],2859738748:[IFCCONNECTIONCURVEGEOMETRY,IFCCONNECTIONVOLUMEGEOMETRY,IFCCONNECTIONSURFACEGEOMETRY,IFCCONNECTIONPOINTECCENTRICITY,IFCCONNECTIONPOINTGEOMETRY],2614616156:[IFCCONNECTIONPOINTECCENTRICITY],1959218052:[IFCOBJECTIVE,IFCMETRIC],1785450214:[IFCMAPCONVERSION],1466758467:[IFCPROJECTEDCRS],4294318154:[IFCDOCUMENTINFORMATION,IFCCLASSIFICATION,IFCLIBRARYINFORMATION],3200245327:[IFCDOCUMENTREFERENCE,IFCCLASSIFICATIONREFERENCE,IFCLIBRARYREFERENCE,IFCEXTERNALLYDEFINEDTEXTFONT,IFCEXTERNALLYDEFINEDSURFACESTYLE,IFCEXTERNALLYDEFINEDHATCHSTYLE],760658860:[IFCMATERIALCONSTITUENTSET,IFCMATERIALCONSTITUENT,IFCMATERIAL,IFCMATERIALPROFILESET,IFCMATERIALPROFILEWITHOFFSETS,IFCMATERIALPROFILE,IFCMATERIALLAYERSET,IFCMATERIALLAYERWITHOFFSETS,IFCMATERIALLAYER],248100487:[IFCMATERIALLAYERWITHOFFSETS],2235152071:[IFCMATERIALPROFILEWITHOFFSETS],1507914824:[IFCMATERIALPROFILESETUSAGETAPERING,IFCMATERIALPROFILESETUSAGE,IFCMATERIALLAYERSETUSAGE],1918398963:[IFCCONVERSIONBASEDUNITWITHOFFSET,IFCCONVERSIONBASEDUNIT,IFCCONTEXTDEPENDENTUNIT,IFCSIUNIT],3701648758:[IFCLOCALPLACEMENT,IFCGRIDPLACEMENT],2483315170:[IFCPHYSICALCOMPLEXQUANTITY,IFCQUANTITYWEIGHT,IFCQUANTITYVOLUME,IFCQUANTITYTIME,IFCQUANTITYLENGTH,IFCQUANTITYCOUNT,IFCQUANTITYAREA,IFCPHYSICALSIMPLEQUANTITY],2226359599:[IFCQUANTITYWEIGHT,IFCQUANTITYVOLUME,IFCQUANTITYTIME,IFCQUANTITYLENGTH,IFCQUANTITYCOUNT,IFCQUANTITYAREA],677532197:[IFCDRAUGHTINGPREDEFINEDCURVEFONT,IFCPREDEFINEDCURVEFONT,IFCDRAUGHTINGPREDEFINEDCOLOUR,IFCPREDEFINEDCOLOUR,IFCTEXTSTYLEFONTMODEL,IFCPREDEFINEDTEXTFONT,IFCPREDEFINEDITEM,IFCINDEXEDCOLOURMAP,IFCCURVESTYLEFONTPATTERN,IFCCURVESTYLEFONTANDSCALING,IFCCURVESTYLEFONT,IFCCOLOURRGB,IFCCOLOURSPECIFICATION,IFCCOLOURRGBLIST,IFCTEXTUREVERTEXLIST,IFCTEXTUREVERTEX,IFCINDEXEDTRIANGLETEXTUREMAP,IFCINDEXEDTEXTUREMAP,IFCTEXTUREMAP,IFCTEXTURECOORDINATEGENERATOR,IFCTEXTURECOORDINATE,IFCTEXTSTYLETEXTMODEL,IFCTEXTSTYLEFORDEFINEDFONT,IFCPIXELTEXTURE,IFCIMAGETEXTURE,IFCBLOBTEXTURE,IFCSURFACETEXTURE,IFCSURFACESTYLEWITHTEXTURES,IFCSURFACESTYLERENDERING,IFCSURFACESTYLESHADING,IFCSURFACESTYLEREFRACTION,IFCSURFACESTYLELIGHTING],2022622350:[IFCPRESENTATIONLAYERWITHSTYLE],3119450353:[IFCFILLAREASTYLE,IFCCURVESTYLE,IFCTEXTSTYLE,IFCSURFACESTYLE],2095639259:[IFCPRODUCTDEFINITIONSHAPE,IFCMATERIALDEFINITIONREPRESENTATION],3958567839:[IFCLSHAPEPROFILEDEF,IFCISHAPEPROFILEDEF,IFCELLIPSEPROFILEDEF,IFCCIRCLEHOLLOWPROFILEDEF,IFCCIRCLEPROFILEDEF,IFCCSHAPEPROFILEDEF,IFCASYMMETRICISHAPEPROFILEDEF,IFCZSHAPEPROFILEDEF,IFCUSHAPEPROFILEDEF,IFCTRAPEZIUMPROFILEDEF,IFCTSHAPEPROFILEDEF,IFCRECTANGLEHOLLOWPROFILEDEF,IFCROUNDEDRECTANGLEPROFILEDEF,IFCRECTANGLEPROFILEDEF,IFCPARAMETERIZEDPROFILEDEF,IFCMIRROREDPROFILEDEF,IFCDERIVEDPROFILEDEF,IFCCOMPOSITEPROFILEDEF,IFCCENTERLINEPROFILEDEF,IFCARBITRARYOPENPROFILEDEF,IFCARBITRARYPROFILEDEFWITHVOIDS,IFCARBITRARYCLOSEDPROFILEDEF],986844984:[IFCCOMPLEXPROPERTY,IFCPROPERTYTABLEVALUE,IFCPROPERTYSINGLEVALUE,IFCPROPERTYREFERENCEVALUE,IFCPROPERTYLISTVALUE,IFCPROPERTYENUMERATEDVALUE,IFCPROPERTYBOUNDEDVALUE,IFCSIMPLEPROPERTY,IFCPROPERTY,IFCSECTIONREINFORCEMENTPROPERTIES,IFCSECTIONPROPERTIES,IFCREINFORCEMENTBARPROPERTIES,IFCPREDEFINEDPROPERTIES,IFCPROFILEPROPERTIES,IFCMATERIALPROPERTIES,IFCEXTENDEDPROPERTIES,IFCPROPERTYENUMERATION],1076942058:[IFCSTYLEDREPRESENTATION,IFCSTYLEMODEL,IFCTOPOLOGYREPRESENTATION,IFCSHAPEREPRESENTATION,IFCSHAPEMODEL],3377609919:[IFCGEOMETRICREPRESENTATIONSUBCONTEXT,IFCGEOMETRICREPRESENTATIONCONTEXT],3008791417:[IFCMAPPEDITEM,IFCFILLAREASTYLETILES,IFCFILLAREASTYLEHATCHING,IFCFACEBASEDSURFACEMODEL,IFCDIRECTION,IFCCIRCLE,IFCELLIPSE,IFCCONIC,IFCRATIONALBSPLINECURVEWITHKNOTS,IFCBSPLINECURVEWITHKNOTS,IFCBSPLINECURVE,IFCTRIMMEDCURVE,IFCPOLYLINE,IFCINDEXEDPOLYCURVE,IFCOUTERBOUNDARYCURVE,IFCBOUNDARYCURVE,IFCCOMPOSITECURVEONSURFACE,IFCCOMPOSITECURVE,IFCBOUNDEDCURVE,IFCSEAMCURVE,IFCINTERSECTIONCURVE,IFCSURFACECURVE,IFCPCURVE,IFCOFFSETCURVE3D,IFCOFFSETCURVE2D,IFCLINE,IFCCURVE,IFCBLOCK,IFCSPHERE,IFCRIGHTCIRCULARCYLINDER,IFCRIGHTCIRCULARCONE,IFCRECTANGULARPYRAMID,IFCCSGPRIMITIVE3D,IFCREPARAMETRISEDCOMPOSITECURVESEGMENT,IFCCOMPOSITECURVESEGMENT,IFCCARTESIANTRANSFORMATIONOPERATOR3DNONUNIFORM,IFCCARTESIANTRANSFORMATIONOPERATOR3D,IFCCARTESIANTRANSFORMATIONOPERATOR2DNONUNIFORM,IFCCARTESIANTRANSFORMATIONOPERATOR2D,IFCCARTESIANTRANSFORMATIONOPERATOR,IFCCARTESIANPOINTLIST3D,IFCCARTESIANPOINTLIST2D,IFCCARTESIANPOINTLIST,IFCBOUNDINGBOX,IFCBOOLEANCLIPPINGRESULT,IFCBOOLEANRESULT,IFCANNOTATIONFILLAREA,IFCVECTOR,IFCTEXTLITERALWITHEXTENT,IFCTEXTLITERAL,IFCPOLYGONALFACESET,IFCTRIANGULATEDFACESET,IFCTESSELLATEDFACESET,IFCINDEXEDPOLYGONALFACEWITHVOIDS,IFCINDEXEDPOLYGONALFACE,IFCTESSELLATEDITEM,IFCCYLINDRICALSURFACE,IFCTOROIDALSURFACE,IFCSPHERICALSURFACE,IFCPLANE,IFCELEMENTARYSURFACE,IFCRATIONALBSPLINESURFACEWITHKNOTS,IFCBSPLINESURFACEWITHKNOTS,IFCBSPLINESURFACE,IFCRECTANGULARTRIMMEDSURFACE,IFCCURVEBOUNDEDSURFACE,IFCCURVEBOUNDEDPLANE,IFCBOUNDEDSURFACE,IFCSURFACEOFREVOLUTION,IFCSURFACEOFLINEAREXTRUSION,IFCSWEPTSURFACE,IFCSURFACE,IFCFACETEDBREPWITHVOIDS,IFCFACETEDBREP,IFCADVANCEDBREPWITHVOIDS,IFCADVANCEDBREP,IFCMANIFOLDSOLIDBREP,IFCCSGSOLID,IFCSWEPTDISKSOLIDPOLYGONAL,IFCSWEPTDISKSOLID,IFCSURFACECURVESWEPTAREASOLID,IFCREVOLVEDAREASOLIDTAPERED,IFCREVOLVEDAREASOLID,IFCFIXEDREFERENCESWEPTAREASOLID,IFCEXTRUDEDAREASOLIDTAPERED,IFCEXTRUDEDAREASOLID,IFCSWEPTAREASOLID,IFCSOLIDMODEL,IFCSHELLBASEDSURFACEMODEL,IFCSECTIONEDSPINE,IFCCARTESIANPOINT,IFCPOINTONSURFACE,IFCPOINTONCURVE,IFCPOINT,IFCPLANARBOX,IFCPLANAREXTENT,IFCAXIS2PLACEMENT3D,IFCAXIS2PLACEMENT2D,IFCAXIS1PLACEMENT,IFCPLACEMENT,IFCLIGHTSOURCESPOT,IFCLIGHTSOURCEPOSITIONAL,IFCLIGHTSOURCEGONIOMETRIC,IFCLIGHTSOURCEDIRECTIONAL,IFCLIGHTSOURCEAMBIENT,IFCLIGHTSOURCE,IFCBOXEDHALFSPACE,IFCPOLYGONALBOUNDEDHALFSPACE,IFCHALFSPACESOLID,IFCGEOMETRICCURVESET,IFCGEOMETRICSET,IFCGEOMETRICREPRESENTATIONITEM,IFCPATH,IFCEDGELOOP,IFCVERTEXLOOP,IFCPOLYLOOP,IFCLOOP,IFCFACEOUTERBOUND,IFCFACEBOUND,IFCADVANCEDFACE,IFCFACESURFACE,IFCFACE,IFCSUBEDGE,IFCORIENTEDEDGE,IFCEDGECURVE,IFCEDGE,IFCCLOSEDSHELL,IFCOPENSHELL,IFCCONNECTEDFACESET,IFCVERTEXPOINT,IFCVERTEX,IFCTOPOLOGICALREPRESENTATIONITEM,IFCSTYLEDITEM],2439245199:[IFCRESOURCECONSTRAINTRELATIONSHIP,IFCRESOURCEAPPROVALRELATIONSHIP,IFCPROPERTYDEPENDENCYRELATIONSHIP,IFCORGANIZATIONRELATIONSHIP,IFCMATERIALRELATIONSHIP,IFCEXTERNALREFERENCERELATIONSHIP,IFCDOCUMENTINFORMATIONRELATIONSHIP,IFCCURRENCYRELATIONSHIP,IFCAPPROVALRELATIONSHIP],2341007311:[IFCRELDEFINESBYTYPE,IFCRELDEFINESBYTEMPLATE,IFCRELDEFINESBYPROPERTIES,IFCRELDEFINESBYOBJECT,IFCRELDEFINES,IFCRELAGGREGATES,IFCRELVOIDSELEMENT,IFCRELPROJECTSELEMENT,IFCRELNESTS,IFCRELDECOMPOSES,IFCRELDECLARES,IFCRELSPACEBOUNDARY2NDLEVEL,IFCRELSPACEBOUNDARY1STLEVEL,IFCRELSPACEBOUNDARY,IFCRELSERVICESBUILDINGS,IFCRELSEQUENCE,IFCRELREFERENCEDINSPATIALSTRUCTURE,IFCRELINTERFERESELEMENTS,IFCRELFLOWCONTROLELEMENTS,IFCRELFILLSELEMENT,IFCRELCOVERSSPACES,IFCRELCOVERSBLDGELEMENTS,IFCRELCONTAINEDINSPATIALSTRUCTURE,IFCRELCONNECTSWITHECCENTRICITY,IFCRELCONNECTSSTRUCTURALMEMBER,IFCRELCONNECTSSTRUCTURALACTIVITY,IFCRELCONNECTSPORTS,IFCRELCONNECTSPORTTOELEMENT,IFCRELCONNECTSWITHREALIZINGELEMENTS,IFCRELCONNECTSPATHELEMENTS,IFCRELCONNECTSELEMENTS,IFCRELCONNECTS,IFCRELASSOCIATESMATERIAL,IFCRELASSOCIATESLIBRARY,IFCRELASSOCIATESDOCUMENT,IFCRELASSOCIATESCONSTRAINT,IFCRELASSOCIATESCLASSIFICATION,IFCRELASSOCIATESAPPROVAL,IFCRELASSOCIATES,IFCRELASSIGNSTORESOURCE,IFCRELASSIGNSTOPRODUCT,IFCRELASSIGNSTOPROCESS,IFCRELASSIGNSTOGROUPBYFACTOR,IFCRELASSIGNSTOGROUP,IFCRELASSIGNSTOCONTROL,IFCRELASSIGNSTOACTOR,IFCRELASSIGNS,IFCRELATIONSHIP,IFCCOMPLEXPROPERTYTEMPLATE,IFCSIMPLEPROPERTYTEMPLATE,IFCPROPERTYTEMPLATE,IFCPROPERTYSETTEMPLATE,IFCPROPERTYTEMPLATEDEFINITION,IFCPROPERTYSET,IFCPERMEABLECOVERINGPROPERTIES,IFCDOORPANELPROPERTIES,IFCDOORLININGPROPERTIES,IFCWINDOWPANELPROPERTIES,IFCWINDOWLININGPROPERTIES,IFCREINFORCEMENTDEFINITIONPROPERTIES,IFCPREDEFINEDPROPERTYSET,IFCELEMENTQUANTITY,IFCQUANTITYSET,IFCPROPERTYSETDEFINITION,IFCPROPERTYDEFINITION,IFCASSET,IFCSTRUCTURALANALYSISMODEL,IFCDISTRIBUTIONCIRCUIT,IFCDISTRIBUTIONSYSTEM,IFCBUILDINGSYSTEM,IFCZONE,IFCSYSTEM,IFCSTRUCTURALRESULTGROUP,IFCSTRUCTURALLOADCASE,IFCSTRUCTURALLOADGROUP,IFCINVENTORY,IFCGROUP,IFCACTIONREQUEST,IFCWORKSCHEDULE,IFCWORKPLAN,IFCWORKCONTROL,IFCWORKCALENDAR,IFCPROJECTORDER,IFCPERMIT,IFCPERFORMANCEHISTORY,IFCCOSTSCHEDULE,IFCCOSTITEM,IFCCONTROL,IFCOCCUPANT,IFCACTOR,IFCCONSTRUCTIONPRODUCTRESOURCE,IFCCONSTRUCTIONMATERIALRESOURCE,IFCCONSTRUCTIONEQUIPMENTRESOURCE,IFCSUBCONTRACTRESOURCE,IFCLABORRESOURCE,IFCCREWRESOURCE,IFCCONSTRUCTIONRESOURCE,IFCRESOURCE,IFCDISTRIBUTIONPORT,IFCPORT,IFCGRID,IFCCONTROLLER,IFCALARM,IFCACTUATOR,IFCUNITARYCONTROLELEMENT,IFCSENSOR,IFCPROTECTIVEDEVICETRIPPINGUNIT,IFCFLOWINSTRUMENT,IFCDISTRIBUTIONCONTROLELEMENT,IFCDISTRIBUTIONCHAMBERELEMENT,IFCFILTER,IFCDUCTSILENCER,IFCINTERCEPTOR,IFCFLOWTREATMENTDEVICE,IFCFIRESUPPRESSIONTERMINAL,IFCELECTRICAPPLIANCE,IFCCOMMUNICATIONSAPPLIANCE,IFCAUDIOVISUALAPPLIANCE,IFCAIRTERMINAL,IFCWASTETERMINAL,IFCSTACKTERMINAL,IFCSPACEHEATER,IFCSANITARYTERMINAL,IFCOUTLET,IFCMEDICALDEVICE,IFCLIGHTFIXTURE,IFCLAMP,IFCFLOWTERMINAL,IFCELECTRICFLOWSTORAGEDEVICE,IFCTANK,IFCFLOWSTORAGEDEVICE,IFCDUCTSEGMENT,IFCCABLESEGMENT,IFCCABLECARRIERSEGMENT,IFCPIPESEGMENT,IFCFLOWSEGMENT,IFCFAN,IFCCOMPRESSOR,IFCPUMP,IFCFLOWMOVINGDEVICE,IFCDUCTFITTING,IFCCABLEFITTING,IFCCABLECARRIERFITTING,IFCPIPEFITTING,IFCJUNCTIONBOX,IFCFLOWFITTING,IFCELECTRICTIMECONTROL,IFCELECTRICDISTRIBUTIONBOARD,IFCDAMPER,IFCAIRTERMINALBOX,IFCVALVE,IFCSWITCHINGDEVICE,IFCPROTECTIVEDEVICE,IFCFLOWMETER,IFCFLOWCONTROLLER,IFCELECTRICMOTOR,IFCELECTRICGENERATOR,IFCCOOLINGTOWER,IFCCOOLEDBEAM,IFCCONDENSER,IFCCOIL,IFCCHILLER,IFCBURNER,IFCBOILER,IFCAIRTOAIRHEATRECOVERY,IFCUNITARYEQUIPMENT,IFCTUBEBUNDLE,IFCTRANSFORMER,IFCSOLARDEVICE,IFCMOTORCONNECTION,IFCHUMIDIFIER,IFCHEATEXCHANGER,IFCEVAPORATOR,IFCEVAPORATIVECOOLER,IFCENGINE,IFCENERGYCONVERSIONDEVICE,IFCDISTRIBUTIONFLOWELEMENT,IFCDISTRIBUTIONELEMENT,IFCCIVILELEMENT,IFCBEAMSTANDARDCASE,IFCBEAM,IFCWINDOWSTANDARDCASE,IFCWINDOW,IFCWALLSTANDARDCASE,IFCWALLELEMENTEDCASE,IFCWALL,IFCSTAIRFLIGHT,IFCSTAIR,IFCSLABSTANDARDCASE,IFCSLABELEMENTEDCASE,IFCSLAB,IFCSHADINGDEVICE,IFCROOF,IFCRAMPFLIGHT,IFCRAMP,IFCRAILING,IFCPLATESTANDARDCASE,IFCPLATE,IFCPILE,IFCMEMBERSTANDARDCASE,IFCMEMBER,IFCFOOTING,IFCDOORSTANDARDCASE,IFCDOOR,IFCCURTAINWALL,IFCCOVERING,IFCCOLUMNSTANDARDCASE,IFCCOLUMN,IFCCHIMNEY,IFCBUILDINGELEMENTPROXY,IFCBUILDINGELEMENT,IFCVIRTUALELEMENT,IFCTRANSPORTELEMENT,IFCGEOGRAPHICELEMENT,IFCSYSTEMFURNITUREELEMENT,IFCFURNITURE,IFCFURNISHINGELEMENT,IFCSURFACEFEATURE,IFCVOIDINGFEATURE,IFCOPENINGSTANDARDCASE,IFCOPENINGELEMENT,IFCFEATUREELEMENTSUBTRACTION,IFCPROJECTIONELEMENT,IFCFEATUREELEMENTADDITION,IFCFEATUREELEMENT,IFCDISCRETEACCESSORY,IFCBUILDINGELEMENTPART,IFCVIBRATIONISOLATOR,IFCREINFORCINGBAR,IFCTENDONANCHOR,IFCTENDON,IFCREINFORCINGMESH,IFCREINFORCINGELEMENT,IFCMECHANICALFASTENER,IFCFASTENER,IFCELEMENTCOMPONENT,IFCELEMENTASSEMBLY,IFCELEMENT,IFCANNOTATION,IFCSTRUCTURALSURFACECONNECTION,IFCSTRUCTURALPOINTCONNECTION,IFCSTRUCTURALCURVECONNECTION,IFCSTRUCTURALCONNECTION,IFCSTRUCTURALCURVEMEMBERVARYING,IFCSTRUCTURALCURVEMEMBER,IFCSTRUCTURALSURFACEMEMBERVARYING,IFCSTRUCTURALSURFACEMEMBER,IFCSTRUCTURALMEMBER,IFCSTRUCTURALITEM,IFCSTRUCTURALPLANARACTION,IFCSTRUCTURALSURFACEACTION,IFCSTRUCTURALPOINTACTION,IFCSTRUCTURALLINEARACTION,IFCSTRUCTURALCURVEACTION,IFCSTRUCTURALACTION,IFCSTRUCTURALPOINTREACTION,IFCSTRUCTURALCURVEREACTION,IFCSTRUCTURALSURFACEREACTION,IFCSTRUCTURALREACTION,IFCSTRUCTURALACTIVITY,IFCEXTERNALSPATIALELEMENT,IFCEXTERNALSPATIALSTRUCTUREELEMENT,IFCSPATIALZONE,IFCSPACE,IFCSITE,IFCBUILDINGSTOREY,IFCBUILDING,IFCSPATIALSTRUCTUREELEMENT,IFCSPATIALELEMENT,IFCPROXY,IFCPRODUCT,IFCPROCEDURE,IFCEVENT,IFCTASK,IFCPROCESS,IFCOBJECT,IFCPROJECTLIBRARY,IFCPROJECT,IFCCONTEXT,IFCCONSTRUCTIONPRODUCTRESOURCETYPE,IFCCONSTRUCTIONMATERIALRESOURCETYPE,IFCCONSTRUCTIONEQUIPMENTRESOURCETYPE,IFCSUBCONTRACTRESOURCETYPE,IFCLABORRESOURCETYPE,IFCCREWRESOURCETYPE,IFCCONSTRUCTIONRESOURCETYPE,IFCTYPERESOURCE,IFCSPATIALZONETYPE,IFCSPACETYPE,IFCSPATIALSTRUCTUREELEMENTTYPE,IFCSPATIALELEMENTTYPE,IFCDISCRETEACCESSORYTYPE,IFCBUILDINGELEMENTPARTTYPE,IFCVIBRATIONISOLATORTYPE,IFCREINFORCINGBARTYPE,IFCTENDONTYPE,IFCTENDONANCHORTYPE,IFCREINFORCINGMESHTYPE,IFCREINFORCINGELEMENTTYPE,IFCMECHANICALFASTENERTYPE,IFCFASTENERTYPE,IFCELEMENTCOMPONENTTYPE,IFCELEMENTASSEMBLYTYPE,IFCCONTROLLERTYPE,IFCALARMTYPE,IFCACTUATORTYPE,IFCUNITARYCONTROLELEMENTTYPE,IFCSENSORTYPE,IFCPROTECTIVEDEVICETRIPPINGUNITTYPE,IFCFLOWINSTRUMENTTYPE,IFCDISTRIBUTIONCONTROLELEMENTTYPE,IFCDISTRIBUTIONCHAMBERELEMENTTYPE,IFCFILTERTYPE,IFCDUCTSILENCERTYPE,IFCINTERCEPTORTYPE,IFCFLOWTREATMENTDEVICETYPE,IFCFIRESUPPRESSIONTERMINALTYPE,IFCELECTRICAPPLIANCETYPE,IFCCOMMUNICATIONSAPPLIANCETYPE,IFCAUDIOVISUALAPPLIANCETYPE,IFCAIRTERMINALTYPE,IFCWASTETERMINALTYPE,IFCSTACKTERMINALTYPE,IFCSPACEHEATERTYPE,IFCSANITARYTERMINALTYPE,IFCOUTLETTYPE,IFCMEDICALDEVICETYPE,IFCLIGHTFIXTURETYPE,IFCLAMPTYPE,IFCFLOWTERMINALTYPE,IFCELECTRICFLOWSTORAGEDEVICETYPE,IFCTANKTYPE,IFCFLOWSTORAGEDEVICETYPE,IFCDUCTSEGMENTTYPE,IFCCABLESEGMENTTYPE,IFCCABLECARRIERSEGMENTTYPE,IFCPIPESEGMENTTYPE,IFCFLOWSEGMENTTYPE,IFCFANTYPE,IFCCOMPRESSORTYPE,IFCPUMPTYPE,IFCFLOWMOVINGDEVICETYPE,IFCDUCTFITTINGTYPE,IFCCABLEFITTINGTYPE,IFCCABLECARRIERFITTINGTYPE,IFCPIPEFITTINGTYPE,IFCJUNCTIONBOXTYPE,IFCFLOWFITTINGTYPE,IFCELECTRICTIMECONTROLTYPE,IFCELECTRICDISTRIBUTIONBOARDTYPE,IFCDAMPERTYPE,IFCAIRTERMINALBOXTYPE,IFCVALVETYPE,IFCSWITCHINGDEVICETYPE,IFCPROTECTIVEDEVICETYPE,IFCFLOWMETERTYPE,IFCFLOWCONTROLLERTYPE,IFCELECTRICMOTORTYPE,IFCELECTRICGENERATORTYPE,IFCCOOLINGTOWERTYPE,IFCCOOLEDBEAMTYPE,IFCCONDENSERTYPE,IFCCOILTYPE,IFCCHILLERTYPE,IFCBURNERTYPE,IFCBOILERTYPE,IFCAIRTOAIRHEATRECOVERYTYPE,IFCUNITARYEQUIPMENTTYPE,IFCTUBEBUNDLETYPE,IFCTRANSFORMERTYPE,IFCSOLARDEVICETYPE,IFCMOTORCONNECTIONTYPE,IFCHUMIDIFIERTYPE,IFCHEATEXCHANGERTYPE,IFCEVAPORATORTYPE,IFCEVAPORATIVECOOLERTYPE,IFCENGINETYPE,IFCENERGYCONVERSIONDEVICETYPE,IFCDISTRIBUTIONFLOWELEMENTTYPE,IFCDISTRIBUTIONELEMENTTYPE,IFCCIVILELEMENTTYPE,IFCBUILDINGELEMENTPROXYTYPE,IFCBEAMTYPE,IFCWINDOWTYPE,IFCWALLTYPE,IFCSTAIRTYPE,IFCSTAIRFLIGHTTYPE,IFCSLABTYPE,IFCSHADINGDEVICETYPE,IFCROOFTYPE,IFCRAMPTYPE,IFCRAMPFLIGHTTYPE,IFCRAILINGTYPE,IFCPLATETYPE,IFCPILETYPE,IFCMEMBERTYPE,IFCFOOTINGTYPE,IFCDOORTYPE,IFCCURTAINWALLTYPE,IFCCOVERINGTYPE,IFCCOLUMNTYPE,IFCCHIMNEYTYPE,IFCBUILDINGELEMENTTYPE,IFCTRANSPORTELEMENTTYPE,IFCGEOGRAPHICELEMENTTYPE,IFCSYSTEMFURNITUREELEMENTTYPE,IFCFURNITURETYPE,IFCFURNISHINGELEMENTTYPE,IFCELEMENTTYPE,IFCDOORSTYLE,IFCWINDOWSTYLE,IFCTYPEPRODUCT,IFCTASKTYPE,IFCPROCEDURETYPE,IFCEVENTTYPE,IFCTYPEPROCESS,IFCTYPEOBJECT,IFCOBJECTDEFINITION],1054537805:[IFCRESOURCETIME,IFCLAGTIME,IFCEVENTTIME,IFCWORKTIME,IFCTASKTIMERECURRING,IFCTASKTIME],3982875396:[IFCTOPOLOGYREPRESENTATION,IFCSHAPEREPRESENTATION],2273995522:[IFCSLIPPAGECONNECTIONCONDITION,IFCFAILURECONNECTIONCONDITION],2162789131:[IFCSURFACEREINFORCEMENTAREA,IFCSTRUCTURALLOADSINGLEFORCEWARPING,IFCSTRUCTURALLOADSINGLEFORCE,IFCSTRUCTURALLOADSINGLEDISPLACEMENTDISTORTION,IFCSTRUCTURALLOADSINGLEDISPLACEMENT,IFCSTRUCTURALLOADPLANARFORCE,IFCSTRUCTURALLOADLINEARFORCE,IFCSTRUCTURALLOADTEMPERATURE,IFCSTRUCTURALLOADSTATIC,IFCSTRUCTURALLOADORRESULT,IFCSTRUCTURALLOADCONFIGURATION],609421318:[IFCSURFACEREINFORCEMENTAREA,IFCSTRUCTURALLOADSINGLEFORCEWARPING,IFCSTRUCTURALLOADSINGLEFORCE,IFCSTRUCTURALLOADSINGLEDISPLACEMENTDISTORTION,IFCSTRUCTURALLOADSINGLEDISPLACEMENT,IFCSTRUCTURALLOADPLANARFORCE,IFCSTRUCTURALLOADLINEARFORCE,IFCSTRUCTURALLOADTEMPERATURE,IFCSTRUCTURALLOADSTATIC],2525727697:[IFCSTRUCTURALLOADSINGLEFORCEWARPING,IFCSTRUCTURALLOADSINGLEFORCE,IFCSTRUCTURALLOADSINGLEDISPLACEMENTDISTORTION,IFCSTRUCTURALLOADSINGLEDISPLACEMENT,IFCSTRUCTURALLOADPLANARFORCE,IFCSTRUCTURALLOADLINEARFORCE,IFCSTRUCTURALLOADTEMPERATURE],2830218821:[IFCSTYLEDREPRESENTATION],846575682:[IFCSURFACESTYLERENDERING],626085974:[IFCPIXELTEXTURE,IFCIMAGETEXTURE,IFCBLOBTEXTURE],1549132990:[IFCTASKTIMERECURRING],280115917:[IFCINDEXEDTRIANGLETEXTUREMAP,IFCINDEXEDTEXTUREMAP,IFCTEXTUREMAP,IFCTEXTURECOORDINATEGENERATOR],3101149627:[IFCREGULARTIMESERIES,IFCIRREGULARTIMESERIES],1377556343:[IFCPATH,IFCEDGELOOP,IFCVERTEXLOOP,IFCPOLYLOOP,IFCLOOP,IFCFACEOUTERBOUND,IFCFACEBOUND,IFCADVANCEDFACE,IFCFACESURFACE,IFCFACE,IFCSUBEDGE,IFCORIENTEDEDGE,IFCEDGECURVE,IFCEDGE,IFCCLOSEDSHELL,IFCOPENSHELL,IFCCONNECTEDFACESET,IFCVERTEXPOINT,IFCVERTEX],2799835756:[IFCVERTEXPOINT],3798115385:[IFCARBITRARYPROFILEDEFWITHVOIDS],1310608509:[IFCCENTERLINEPROFILEDEF],3264961684:[IFCCOLOURRGB],370225590:[IFCCLOSEDSHELL,IFCOPENSHELL],2889183280:[IFCCONVERSIONBASEDUNITWITHOFFSET],3632507154:[IFCMIRROREDPROFILEDEF],3900360178:[IFCSUBEDGE,IFCORIENTEDEDGE,IFCEDGECURVE],297599258:[IFCPROFILEPROPERTIES,IFCMATERIALPROPERTIES],2556980723:[IFCADVANCEDFACE,IFCFACESURFACE],1809719519:[IFCFACEOUTERBOUND],3008276851:[IFCADVANCEDFACE],3448662350:[IFCGEOMETRICREPRESENTATIONSUBCONTEXT],2453401579:[IFCFILLAREASTYLETILES,IFCFILLAREASTYLEHATCHING,IFCFACEBASEDSURFACEMODEL,IFCDIRECTION,IFCCIRCLE,IFCELLIPSE,IFCCONIC,IFCRATIONALBSPLINECURVEWITHKNOTS,IFCBSPLINECURVEWITHKNOTS,IFCBSPLINECURVE,IFCTRIMMEDCURVE,IFCPOLYLINE,IFCINDEXEDPOLYCURVE,IFCOUTERBOUNDARYCURVE,IFCBOUNDARYCURVE,IFCCOMPOSITECURVEONSURFACE,IFCCOMPOSITECURVE,IFCBOUNDEDCURVE,IFCSEAMCURVE,IFCINTERSECTIONCURVE,IFCSURFACECURVE,IFCPCURVE,IFCOFFSETCURVE3D,IFCOFFSETCURVE2D,IFCLINE,IFCCURVE,IFCBLOCK,IFCSPHERE,IFCRIGHTCIRCULARCYLINDER,IFCRIGHTCIRCULARCONE,IFCRECTANGULARPYRAMID,IFCCSGPRIMITIVE3D,IFCREPARAMETRISEDCOMPOSITECURVESEGMENT,IFCCOMPOSITECURVESEGMENT,IFCCARTESIANTRANSFORMATIONOPERATOR3DNONUNIFORM,IFCCARTESIANTRANSFORMATIONOPERATOR3D,IFCCARTESIANTRANSFORMATIONOPERATOR2DNONUNIFORM,IFCCARTESIANTRANSFORMATIONOPERATOR2D,IFCCARTESIANTRANSFORMATIONOPERATOR,IFCCARTESIANPOINTLIST3D,IFCCARTESIANPOINTLIST2D,IFCCARTESIANPOINTLIST,IFCBOUNDINGBOX,IFCBOOLEANCLIPPINGRESULT,IFCBOOLEANRESULT,IFCANNOTATIONFILLAREA,IFCVECTOR,IFCTEXTLITERALWITHEXTENT,IFCTEXTLITERAL,IFCPOLYGONALFACESET,IFCTRIANGULATEDFACESET,IFCTESSELLATEDFACESET,IFCINDEXEDPOLYGONALFACEWITHVOIDS,IFCINDEXEDPOLYGONALFACE,IFCTESSELLATEDITEM,IFCCYLINDRICALSURFACE,IFCTOROIDALSURFACE,IFCSPHERICALSURFACE,IFCPLANE,IFCELEMENTARYSURFACE,IFCRATIONALBSPLINESURFACEWITHKNOTS,IFCBSPLINESURFACEWITHKNOTS,IFCBSPLINESURFACE,IFCRECTANGULARTRIMMEDSURFACE,IFCCURVEBOUNDEDSURFACE,IFCCURVEBOUNDEDPLANE,IFCBOUNDEDSURFACE,IFCSURFACEOFREVOLUTION,IFCSURFACEOFLINEAREXTRUSION,IFCSWEPTSURFACE,IFCSURFACE,IFCFACETEDBREPWITHVOIDS,IFCFACETEDBREP,IFCADVANCEDBREPWITHVOIDS,IFCADVANCEDBREP,IFCMANIFOLDSOLIDBREP,IFCCSGSOLID,IFCSWEPTDISKSOLIDPOLYGONAL,IFCSWEPTDISKSOLID,IFCSURFACECURVESWEPTAREASOLID,IFCREVOLVEDAREASOLIDTAPERED,IFCREVOLVEDAREASOLID,IFCFIXEDREFERENCESWEPTAREASOLID,IFCEXTRUDEDAREASOLIDTAPERED,IFCEXTRUDEDAREASOLID,IFCSWEPTAREASOLID,IFCSOLIDMODEL,IFCSHELLBASEDSURFACEMODEL,IFCSECTIONEDSPINE,IFCCARTESIANPOINT,IFCPOINTONSURFACE,IFCPOINTONCURVE,IFCPOINT,IFCPLANARBOX,IFCPLANAREXTENT,IFCAXIS2PLACEMENT3D,IFCAXIS2PLACEMENT2D,IFCAXIS1PLACEMENT,IFCPLACEMENT,IFCLIGHTSOURCESPOT,IFCLIGHTSOURCEPOSITIONAL,IFCLIGHTSOURCEGONIOMETRIC,IFCLIGHTSOURCEDIRECTIONAL,IFCLIGHTSOURCEAMBIENT,IFCLIGHTSOURCE,IFCBOXEDHALFSPACE,IFCPOLYGONALBOUNDEDHALFSPACE,IFCHALFSPACESOLID,IFCGEOMETRICCURVESET,IFCGEOMETRICSET],3590301190:[IFCGEOMETRICCURVESET],812098782:[IFCBOXEDHALFSPACE,IFCPOLYGONALBOUNDEDHALFSPACE],1437953363:[IFCINDEXEDTRIANGLETEXTUREMAP],1402838566:[IFCLIGHTSOURCESPOT,IFCLIGHTSOURCEPOSITIONAL,IFCLIGHTSOURCEGONIOMETRIC,IFCLIGHTSOURCEDIRECTIONAL,IFCLIGHTSOURCEAMBIENT],1520743889:[IFCLIGHTSOURCESPOT],1008929658:[IFCEDGELOOP,IFCVERTEXLOOP,IFCPOLYLOOP],3079605661:[IFCMATERIALPROFILESETUSAGETAPERING],219451334:[IFCASSET,IFCSTRUCTURALANALYSISMODEL,IFCDISTRIBUTIONCIRCUIT,IFCDISTRIBUTIONSYSTEM,IFCBUILDINGSYSTEM,IFCZONE,IFCSYSTEM,IFCSTRUCTURALRESULTGROUP,IFCSTRUCTURALLOADCASE,IFCSTRUCTURALLOADGROUP,IFCINVENTORY,IFCGROUP,IFCACTIONREQUEST,IFCWORKSCHEDULE,IFCWORKPLAN,IFCWORKCONTROL,IFCWORKCALENDAR,IFCPROJECTORDER,IFCPERMIT,IFCPERFORMANCEHISTORY,IFCCOSTSCHEDULE,IFCCOSTITEM,IFCCONTROL,IFCOCCUPANT,IFCACTOR,IFCCONSTRUCTIONPRODUCTRESOURCE,IFCCONSTRUCTIONMATERIALRESOURCE,IFCCONSTRUCTIONEQUIPMENTRESOURCE,IFCSUBCONTRACTRESOURCE,IFCLABORRESOURCE,IFCCREWRESOURCE,IFCCONSTRUCTIONRESOURCE,IFCRESOURCE,IFCDISTRIBUTIONPORT,IFCPORT,IFCGRID,IFCCONTROLLER,IFCALARM,IFCACTUATOR,IFCUNITARYCONTROLELEMENT,IFCSENSOR,IFCPROTECTIVEDEVICETRIPPINGUNIT,IFCFLOWINSTRUMENT,IFCDISTRIBUTIONCONTROLELEMENT,IFCDISTRIBUTIONCHAMBERELEMENT,IFCFILTER,IFCDUCTSILENCER,IFCINTERCEPTOR,IFCFLOWTREATMENTDEVICE,IFCFIRESUPPRESSIONTERMINAL,IFCELECTRICAPPLIANCE,IFCCOMMUNICATIONSAPPLIANCE,IFCAUDIOVISUALAPPLIANCE,IFCAIRTERMINAL,IFCWASTETERMINAL,IFCSTACKTERMINAL,IFCSPACEHEATER,IFCSANITARYTERMINAL,IFCOUTLET,IFCMEDICALDEVICE,IFCLIGHTFIXTURE,IFCLAMP,IFCFLOWTERMINAL,IFCELECTRICFLOWSTORAGEDEVICE,IFCTANK,IFCFLOWSTORAGEDEVICE,IFCDUCTSEGMENT,IFCCABLESEGMENT,IFCCABLECARRIERSEGMENT,IFCPIPESEGMENT,IFCFLOWSEGMENT,IFCFAN,IFCCOMPRESSOR,IFCPUMP,IFCFLOWMOVINGDEVICE,IFCDUCTFITTING,IFCCABLEFITTING,IFCCABLECARRIERFITTING,IFCPIPEFITTING,IFCJUNCTIONBOX,IFCFLOWFITTING,IFCELECTRICTIMECONTROL,IFCELECTRICDISTRIBUTIONBOARD,IFCDAMPER,IFCAIRTERMINALBOX,IFCVALVE,IFCSWITCHINGDEVICE,IFCPROTECTIVEDEVICE,IFCFLOWMETER,IFCFLOWCONTROLLER,IFCELECTRICMOTOR,IFCELECTRICGENERATOR,IFCCOOLINGTOWER,IFCCOOLEDBEAM,IFCCONDENSER,IFCCOIL,IFCCHILLER,IFCBURNER,IFCBOILER,IFCAIRTOAIRHEATRECOVERY,IFCUNITARYEQUIPMENT,IFCTUBEBUNDLE,IFCTRANSFORMER,IFCSOLARDEVICE,IFCMOTORCONNECTION,IFCHUMIDIFIER,IFCHEATEXCHANGER,IFCEVAPORATOR,IFCEVAPORATIVECOOLER,IFCENGINE,IFCENERGYCONVERSIONDEVICE,IFCDISTRIBUTIONFLOWELEMENT,IFCDISTRIBUTIONELEMENT,IFCCIVILELEMENT,IFCBEAMSTANDARDCASE,IFCBEAM,IFCWINDOWSTANDARDCASE,IFCWINDOW,IFCWALLSTANDARDCASE,IFCWALLELEMENTEDCASE,IFCWALL,IFCSTAIRFLIGHT,IFCSTAIR,IFCSLABSTANDARDCASE,IFCSLABELEMENTEDCASE,IFCSLAB,IFCSHADINGDEVICE,IFCROOF,IFCRAMPFLIGHT,IFCRAMP,IFCRAILING,IFCPLATESTANDARDCASE,IFCPLATE,IFCPILE,IFCMEMBERSTANDARDCASE,IFCMEMBER,IFCFOOTING,IFCDOORSTANDARDCASE,IFCDOOR,IFCCURTAINWALL,IFCCOVERING,IFCCOLUMNSTANDARDCASE,IFCCOLUMN,IFCCHIMNEY,IFCBUILDINGELEMENTPROXY,IFCBUILDINGELEMENT,IFCVIRTUALELEMENT,IFCTRANSPORTELEMENT,IFCGEOGRAPHICELEMENT,IFCSYSTEMFURNITUREELEMENT,IFCFURNITURE,IFCFURNISHINGELEMENT,IFCSURFACEFEATURE,IFCVOIDINGFEATURE,IFCOPENINGSTANDARDCASE,IFCOPENINGELEMENT,IFCFEATUREELEMENTSUBTRACTION,IFCPROJECTIONELEMENT,IFCFEATUREELEMENTADDITION,IFCFEATUREELEMENT,IFCDISCRETEACCESSORY,IFCBUILDINGELEMENTPART,IFCVIBRATIONISOLATOR,IFCREINFORCINGBAR,IFCTENDONANCHOR,IFCTENDON,IFCREINFORCINGMESH,IFCREINFORCINGELEMENT,IFCMECHANICALFASTENER,IFCFASTENER,IFCELEMENTCOMPONENT,IFCELEMENTASSEMBLY,IFCELEMENT,IFCANNOTATION,IFCSTRUCTURALSURFACECONNECTION,IFCSTRUCTURALPOINTCONNECTION,IFCSTRUCTURALCURVECONNECTION,IFCSTRUCTURALCONNECTION,IFCSTRUCTURALCURVEMEMBERVARYING,IFCSTRUCTURALCURVEMEMBER,IFCSTRUCTURALSURFACEMEMBERVARYING,IFCSTRUCTURALSURFACEMEMBER,IFCSTRUCTURALMEMBER,IFCSTRUCTURALITEM,IFCSTRUCTURALPLANARACTION,IFCSTRUCTURALSURFACEACTION,IFCSTRUCTURALPOINTACTION,IFCSTRUCTURALLINEARACTION,IFCSTRUCTURALCURVEACTION,IFCSTRUCTURALACTION,IFCSTRUCTURALPOINTREACTION,IFCSTRUCTURALCURVEREACTION,IFCSTRUCTURALSURFACEREACTION,IFCSTRUCTURALREACTION,IFCSTRUCTURALACTIVITY,IFCEXTERNALSPATIALELEMENT,IFCEXTERNALSPATIALSTRUCTUREELEMENT,IFCSPATIALZONE,IFCSPACE,IFCSITE,IFCBUILDINGSTOREY,IFCBUILDING,IFCSPATIALSTRUCTUREELEMENT,IFCSPATIALELEMENT,IFCPROXY,IFCPRODUCT,IFCPROCEDURE,IFCEVENT,IFCTASK,IFCPROCESS,IFCOBJECT,IFCPROJECTLIBRARY,IFCPROJECT,IFCCONTEXT,IFCCONSTRUCTIONPRODUCTRESOURCETYPE,IFCCONSTRUCTIONMATERIALRESOURCETYPE,IFCCONSTRUCTIONEQUIPMENTRESOURCETYPE,IFCSUBCONTRACTRESOURCETYPE,IFCLABORRESOURCETYPE,IFCCREWRESOURCETYPE,IFCCONSTRUCTIONRESOURCETYPE,IFCTYPERESOURCE,IFCSPATIALZONETYPE,IFCSPACETYPE,IFCSPATIALSTRUCTUREELEMENTTYPE,IFCSPATIALELEMENTTYPE,IFCDISCRETEACCESSORYTYPE,IFCBUILDINGELEMENTPARTTYPE,IFCVIBRATIONISOLATORTYPE,IFCREINFORCINGBARTYPE,IFCTENDONTYPE,IFCTENDONANCHORTYPE,IFCREINFORCINGMESHTYPE,IFCREINFORCINGELEMENTTYPE,IFCMECHANICALFASTENERTYPE,IFCFASTENERTYPE,IFCELEMENTCOMPONENTTYPE,IFCELEMENTASSEMBLYTYPE,IFCCONTROLLERTYPE,IFCALARMTYPE,IFCACTUATORTYPE,IFCUNITARYCONTROLELEMENTTYPE,IFCSENSORTYPE,IFCPROTECTIVEDEVICETRIPPINGUNITTYPE,IFCFLOWINSTRUMENTTYPE,IFCDISTRIBUTIONCONTROLELEMENTTYPE,IFCDISTRIBUTIONCHAMBERELEMENTTYPE,IFCFILTERTYPE,IFCDUCTSILENCERTYPE,IFCINTERCEPTORTYPE,IFCFLOWTREATMENTDEVICETYPE,IFCFIRESUPPRESSIONTERMINALTYPE,IFCELECTRICAPPLIANCETYPE,IFCCOMMUNICATIONSAPPLIANCETYPE,IFCAUDIOVISUALAPPLIANCETYPE,IFCAIRTERMINALTYPE,IFCWASTETERMINALTYPE,IFCSTACKTERMINALTYPE,IFCSPACEHEATERTYPE,IFCSANITARYTERMINALTYPE,IFCOUTLETTYPE,IFCMEDICALDEVICETYPE,IFCLIGHTFIXTURETYPE,IFCLAMPTYPE,IFCFLOWTERMINALTYPE,IFCELECTRICFLOWSTORAGEDEVICETYPE,IFCTANKTYPE,IFCFLOWSTORAGEDEVICETYPE,IFCDUCTSEGMENTTYPE,IFCCABLESEGMENTTYPE,IFCCABLECARRIERSEGMENTTYPE,IFCPIPESEGMENTTYPE,IFCFLOWSEGMENTTYPE,IFCFANTYPE,IFCCOMPRESSORTYPE,IFCPUMPTYPE,IFCFLOWMOVINGDEVICETYPE,IFCDUCTFITTINGTYPE,IFCCABLEFITTINGTYPE,IFCCABLECARRIERFITTINGTYPE,IFCPIPEFITTINGTYPE,IFCJUNCTIONBOXTYPE,IFCFLOWFITTINGTYPE,IFCELECTRICTIMECONTROLTYPE,IFCELECTRICDISTRIBUTIONBOARDTYPE,IFCDAMPERTYPE,IFCAIRTERMINALBOXTYPE,IFCVALVETYPE,IFCSWITCHINGDEVICETYPE,IFCPROTECTIVEDEVICETYPE,IFCFLOWMETERTYPE,IFCFLOWCONTROLLERTYPE,IFCELECTRICMOTORTYPE,IFCELECTRICGENERATORTYPE,IFCCOOLINGTOWERTYPE,IFCCOOLEDBEAMTYPE,IFCCONDENSERTYPE,IFCCOILTYPE,IFCCHILLERTYPE,IFCBURNERTYPE,IFCBOILERTYPE,IFCAIRTOAIRHEATRECOVERYTYPE,IFCUNITARYEQUIPMENTTYPE,IFCTUBEBUNDLETYPE,IFCTRANSFORMERTYPE,IFCSOLARDEVICETYPE,IFCMOTORCONNECTIONTYPE,IFCHUMIDIFIERTYPE,IFCHEATEXCHANGERTYPE,IFCEVAPORATORTYPE,IFCEVAPORATIVECOOLERTYPE,IFCENGINETYPE,IFCENERGYCONVERSIONDEVICETYPE,IFCDISTRIBUTIONFLOWELEMENTTYPE,IFCDISTRIBUTIONELEMENTTYPE,IFCCIVILELEMENTTYPE,IFCBUILDINGELEMENTPROXYTYPE,IFCBEAMTYPE,IFCWINDOWTYPE,IFCWALLTYPE,IFCSTAIRTYPE,IFCSTAIRFLIGHTTYPE,IFCSLABTYPE,IFCSHADINGDEVICETYPE,IFCROOFTYPE,IFCRAMPTYPE,IFCRAMPFLIGHTTYPE,IFCRAILINGTYPE,IFCPLATETYPE,IFCPILETYPE,IFCMEMBERTYPE,IFCFOOTINGTYPE,IFCDOORTYPE,IFCCURTAINWALLTYPE,IFCCOVERINGTYPE,IFCCOLUMNTYPE,IFCCHIMNEYTYPE,IFCBUILDINGELEMENTTYPE,IFCTRANSPORTELEMENTTYPE,IFCGEOGRAPHICELEMENTTYPE,IFCSYSTEMFURNITUREELEMENTTYPE,IFCFURNITURETYPE,IFCFURNISHINGELEMENTTYPE,IFCELEMENTTYPE,IFCDOORSTYLE,IFCWINDOWSTYLE,IFCTYPEPRODUCT,IFCTASKTYPE,IFCPROCEDURETYPE,IFCEVENTTYPE,IFCTYPEPROCESS,IFCTYPEOBJECT],2529465313:[IFCLSHAPEPROFILEDEF,IFCISHAPEPROFILEDEF,IFCELLIPSEPROFILEDEF,IFCCIRCLEHOLLOWPROFILEDEF,IFCCIRCLEPROFILEDEF,IFCCSHAPEPROFILEDEF,IFCASYMMETRICISHAPEPROFILEDEF,IFCZSHAPEPROFILEDEF,IFCUSHAPEPROFILEDEF,IFCTRAPEZIUMPROFILEDEF,IFCTSHAPEPROFILEDEF,IFCRECTANGLEHOLLOWPROFILEDEF,IFCROUNDEDRECTANGLEPROFILEDEF,IFCRECTANGLEPROFILEDEF],2004835150:[IFCAXIS2PLACEMENT3D,IFCAXIS2PLACEMENT2D,IFCAXIS1PLACEMENT],1663979128:[IFCPLANARBOX],2067069095:[IFCCARTESIANPOINT,IFCPOINTONSURFACE,IFCPOINTONCURVE],3727388367:[IFCDRAUGHTINGPREDEFINEDCURVEFONT,IFCPREDEFINEDCURVEFONT,IFCDRAUGHTINGPREDEFINEDCOLOUR,IFCPREDEFINEDCOLOUR,IFCTEXTSTYLEFONTMODEL,IFCPREDEFINEDTEXTFONT],3778827333:[IFCSECTIONREINFORCEMENTPROPERTIES,IFCSECTIONPROPERTIES,IFCREINFORCEMENTBARPROPERTIES],1775413392:[IFCTEXTSTYLEFONTMODEL],2598011224:[IFCCOMPLEXPROPERTY,IFCPROPERTYTABLEVALUE,IFCPROPERTYSINGLEVALUE,IFCPROPERTYREFERENCEVALUE,IFCPROPERTYLISTVALUE,IFCPROPERTYENUMERATEDVALUE,IFCPROPERTYBOUNDEDVALUE,IFCSIMPLEPROPERTY],1680319473:[IFCCOMPLEXPROPERTYTEMPLATE,IFCSIMPLEPROPERTYTEMPLATE,IFCPROPERTYTEMPLATE,IFCPROPERTYSETTEMPLATE,IFCPROPERTYTEMPLATEDEFINITION,IFCPROPERTYSET,IFCPERMEABLECOVERINGPROPERTIES,IFCDOORPANELPROPERTIES,IFCDOORLININGPROPERTIES,IFCWINDOWPANELPROPERTIES,IFCWINDOWLININGPROPERTIES,IFCREINFORCEMENTDEFINITIONPROPERTIES,IFCPREDEFINEDPROPERTYSET,IFCELEMENTQUANTITY,IFCQUANTITYSET,IFCPROPERTYSETDEFINITION],3357820518:[IFCPROPERTYSET,IFCPERMEABLECOVERINGPROPERTIES,IFCDOORPANELPROPERTIES,IFCDOORLININGPROPERTIES,IFCWINDOWPANELPROPERTIES,IFCWINDOWLININGPROPERTIES,IFCREINFORCEMENTDEFINITIONPROPERTIES,IFCPREDEFINEDPROPERTYSET,IFCELEMENTQUANTITY,IFCQUANTITYSET],1482703590:[IFCCOMPLEXPROPERTYTEMPLATE,IFCSIMPLEPROPERTYTEMPLATE,IFCPROPERTYTEMPLATE,IFCPROPERTYSETTEMPLATE],2090586900:[IFCELEMENTQUANTITY],3615266464:[IFCRECTANGLEHOLLOWPROFILEDEF,IFCROUNDEDRECTANGLEPROFILEDEF],478536968:[IFCRELDEFINESBYTYPE,IFCRELDEFINESBYTEMPLATE,IFCRELDEFINESBYPROPERTIES,IFCRELDEFINESBYOBJECT,IFCRELDEFINES,IFCRELAGGREGATES,IFCRELVOIDSELEMENT,IFCRELPROJECTSELEMENT,IFCRELNESTS,IFCRELDECOMPOSES,IFCRELDECLARES,IFCRELSPACEBOUNDARY2NDLEVEL,IFCRELSPACEBOUNDARY1STLEVEL,IFCRELSPACEBOUNDARY,IFCRELSERVICESBUILDINGS,IFCRELSEQUENCE,IFCRELREFERENCEDINSPATIALSTRUCTURE,IFCRELINTERFERESELEMENTS,IFCRELFLOWCONTROLELEMENTS,IFCRELFILLSELEMENT,IFCRELCOVERSSPACES,IFCRELCOVERSBLDGELEMENTS,IFCRELCONTAINEDINSPATIALSTRUCTURE,IFCRELCONNECTSWITHECCENTRICITY,IFCRELCONNECTSSTRUCTURALMEMBER,IFCRELCONNECTSSTRUCTURALACTIVITY,IFCRELCONNECTSPORTS,IFCRELCONNECTSPORTTOELEMENT,IFCRELCONNECTSWITHREALIZINGELEMENTS,IFCRELCONNECTSPATHELEMENTS,IFCRELCONNECTSELEMENTS,IFCRELCONNECTS,IFCRELASSOCIATESMATERIAL,IFCRELASSOCIATESLIBRARY,IFCRELASSOCIATESDOCUMENT,IFCRELASSOCIATESCONSTRAINT,IFCRELASSOCIATESCLASSIFICATION,IFCRELASSOCIATESAPPROVAL,IFCRELASSOCIATES,IFCRELASSIGNSTORESOURCE,IFCRELASSIGNSTOPRODUCT,IFCRELASSIGNSTOPROCESS,IFCRELASSIGNSTOGROUPBYFACTOR,IFCRELASSIGNSTOGROUP,IFCRELASSIGNSTOCONTROL,IFCRELASSIGNSTOACTOR,IFCRELASSIGNS],3692461612:[IFCPROPERTYTABLEVALUE,IFCPROPERTYSINGLEVALUE,IFCPROPERTYREFERENCEVALUE,IFCPROPERTYLISTVALUE,IFCPROPERTYENUMERATEDVALUE,IFCPROPERTYBOUNDEDVALUE],723233188:[IFCFACETEDBREPWITHVOIDS,IFCFACETEDBREP,IFCADVANCEDBREPWITHVOIDS,IFCADVANCEDBREP,IFCMANIFOLDSOLIDBREP,IFCCSGSOLID,IFCSWEPTDISKSOLIDPOLYGONAL,IFCSWEPTDISKSOLID,IFCSURFACECURVESWEPTAREASOLID,IFCREVOLVEDAREASOLIDTAPERED,IFCREVOLVEDAREASOLID,IFCFIXEDREFERENCESWEPTAREASOLID,IFCEXTRUDEDAREASOLIDTAPERED,IFCEXTRUDEDAREASOLID,IFCSWEPTAREASOLID],2473145415:[IFCSTRUCTURALLOADSINGLEDISPLACEMENTDISTORTION],1597423693:[IFCSTRUCTURALLOADSINGLEFORCEWARPING],2513912981:[IFCCYLINDRICALSURFACE,IFCTOROIDALSURFACE,IFCSPHERICALSURFACE,IFCPLANE,IFCELEMENTARYSURFACE,IFCRATIONALBSPLINESURFACEWITHKNOTS,IFCBSPLINESURFACEWITHKNOTS,IFCBSPLINESURFACE,IFCRECTANGULARTRIMMEDSURFACE,IFCCURVEBOUNDEDSURFACE,IFCCURVEBOUNDEDPLANE,IFCBOUNDEDSURFACE,IFCSURFACEOFREVOLUTION,IFCSURFACEOFLINEAREXTRUSION,IFCSWEPTSURFACE],2247615214:[IFCSURFACECURVESWEPTAREASOLID,IFCREVOLVEDAREASOLIDTAPERED,IFCREVOLVEDAREASOLID,IFCFIXEDREFERENCESWEPTAREASOLID,IFCEXTRUDEDAREASOLIDTAPERED,IFCEXTRUDEDAREASOLID],1260650574:[IFCSWEPTDISKSOLIDPOLYGONAL],230924584:[IFCSURFACEOFREVOLUTION,IFCSURFACEOFLINEAREXTRUSION],901063453:[IFCPOLYGONALFACESET,IFCTRIANGULATEDFACESET,IFCTESSELLATEDFACESET,IFCINDEXEDPOLYGONALFACEWITHVOIDS,IFCINDEXEDPOLYGONALFACE],4282788508:[IFCTEXTLITERALWITHEXTENT],1628702193:[IFCCONSTRUCTIONPRODUCTRESOURCETYPE,IFCCONSTRUCTIONMATERIALRESOURCETYPE,IFCCONSTRUCTIONEQUIPMENTRESOURCETYPE,IFCSUBCONTRACTRESOURCETYPE,IFCLABORRESOURCETYPE,IFCCREWRESOURCETYPE,IFCCONSTRUCTIONRESOURCETYPE,IFCTYPERESOURCE,IFCSPATIALZONETYPE,IFCSPACETYPE,IFCSPATIALSTRUCTUREELEMENTTYPE,IFCSPATIALELEMENTTYPE,IFCDISCRETEACCESSORYTYPE,IFCBUILDINGELEMENTPARTTYPE,IFCVIBRATIONISOLATORTYPE,IFCREINFORCINGBARTYPE,IFCTENDONTYPE,IFCTENDONANCHORTYPE,IFCREINFORCINGMESHTYPE,IFCREINFORCINGELEMENTTYPE,IFCMECHANICALFASTENERTYPE,IFCFASTENERTYPE,IFCELEMENTCOMPONENTTYPE,IFCELEMENTASSEMBLYTYPE,IFCCONTROLLERTYPE,IFCALARMTYPE,IFCACTUATORTYPE,IFCUNITARYCONTROLELEMENTTYPE,IFCSENSORTYPE,IFCPROTECTIVEDEVICETRIPPINGUNITTYPE,IFCFLOWINSTRUMENTTYPE,IFCDISTRIBUTIONCONTROLELEMENTTYPE,IFCDISTRIBUTIONCHAMBERELEMENTTYPE,IFCFILTERTYPE,IFCDUCTSILENCERTYPE,IFCINTERCEPTORTYPE,IFCFLOWTREATMENTDEVICETYPE,IFCFIRESUPPRESSIONTERMINALTYPE,IFCELECTRICAPPLIANCETYPE,IFCCOMMUNICATIONSAPPLIANCETYPE,IFCAUDIOVISUALAPPLIANCETYPE,IFCAIRTERMINALTYPE,IFCWASTETERMINALTYPE,IFCSTACKTERMINALTYPE,IFCSPACEHEATERTYPE,IFCSANITARYTERMINALTYPE,IFCOUTLETTYPE,IFCMEDICALDEVICETYPE,IFCLIGHTFIXTURETYPE,IFCLAMPTYPE,IFCFLOWTERMINALTYPE,IFCELECTRICFLOWSTORAGEDEVICETYPE,IFCTANKTYPE,IFCFLOWSTORAGEDEVICETYPE,IFCDUCTSEGMENTTYPE,IFCCABLESEGMENTTYPE,IFCCABLECARRIERSEGMENTTYPE,IFCPIPESEGMENTTYPE,IFCFLOWSEGMENTTYPE,IFCFANTYPE,IFCCOMPRESSORTYPE,IFCPUMPTYPE,IFCFLOWMOVINGDEVICETYPE,IFCDUCTFITTINGTYPE,IFCCABLEFITTINGTYPE,IFCCABLECARRIERFITTINGTYPE,IFCPIPEFITTINGTYPE,IFCJUNCTIONBOXTYPE,IFCFLOWFITTINGTYPE,IFCELECTRICTIMECONTROLTYPE,IFCELECTRICDISTRIBUTIONBOARDTYPE,IFCDAMPERTYPE,IFCAIRTERMINALBOXTYPE,IFCVALVETYPE,IFCSWITCHINGDEVICETYPE,IFCPROTECTIVEDEVICETYPE,IFCFLOWMETERTYPE,IFCFLOWCONTROLLERTYPE,IFCELECTRICMOTORTYPE,IFCELECTRICGENERATORTYPE,IFCCOOLINGTOWERTYPE,IFCCOOLEDBEAMTYPE,IFCCONDENSERTYPE,IFCCOILTYPE,IFCCHILLERTYPE,IFCBURNERTYPE,IFCBOILERTYPE,IFCAIRTOAIRHEATRECOVERYTYPE,IFCUNITARYEQUIPMENTTYPE,IFCTUBEBUNDLETYPE,IFCTRANSFORMERTYPE,IFCSOLARDEVICETYPE,IFCMOTORCONNECTIONTYPE,IFCHUMIDIFIERTYPE,IFCHEATEXCHANGERTYPE,IFCEVAPORATORTYPE,IFCEVAPORATIVECOOLERTYPE,IFCENGINETYPE,IFCENERGYCONVERSIONDEVICETYPE,IFCDISTRIBUTIONFLOWELEMENTTYPE,IFCDISTRIBUTIONELEMENTTYPE,IFCCIVILELEMENTTYPE,IFCBUILDINGELEMENTPROXYTYPE,IFCBEAMTYPE,IFCWINDOWTYPE,IFCWALLTYPE,IFCSTAIRTYPE,IFCSTAIRFLIGHTTYPE,IFCSLABTYPE,IFCSHADINGDEVICETYPE,IFCROOFTYPE,IFCRAMPTYPE,IFCRAMPFLIGHTTYPE,IFCRAILINGTYPE,IFCPLATETYPE,IFCPILETYPE,IFCMEMBERTYPE,IFCFOOTINGTYPE,IFCDOORTYPE,IFCCURTAINWALLTYPE,IFCCOVERINGTYPE,IFCCOLUMNTYPE,IFCCHIMNEYTYPE,IFCBUILDINGELEMENTTYPE,IFCTRANSPORTELEMENTTYPE,IFCGEOGRAPHICELEMENTTYPE,IFCSYSTEMFURNITUREELEMENTTYPE,IFCFURNITURETYPE,IFCFURNISHINGELEMENTTYPE,IFCELEMENTTYPE,IFCDOORSTYLE,IFCWINDOWSTYLE,IFCTYPEPRODUCT,IFCTASKTYPE,IFCPROCEDURETYPE,IFCEVENTTYPE,IFCTYPEPROCESS],3736923433:[IFCTASKTYPE,IFCPROCEDURETYPE,IFCEVENTTYPE],2347495698:[IFCSPATIALZONETYPE,IFCSPACETYPE,IFCSPATIALSTRUCTUREELEMENTTYPE,IFCSPATIALELEMENTTYPE,IFCDISCRETEACCESSORYTYPE,IFCBUILDINGELEMENTPARTTYPE,IFCVIBRATIONISOLATORTYPE,IFCREINFORCINGBARTYPE,IFCTENDONTYPE,IFCTENDONANCHORTYPE,IFCREINFORCINGMESHTYPE,IFCREINFORCINGELEMENTTYPE,IFCMECHANICALFASTENERTYPE,IFCFASTENERTYPE,IFCELEMENTCOMPONENTTYPE,IFCELEMENTASSEMBLYTYPE,IFCCONTROLLERTYPE,IFCALARMTYPE,IFCACTUATORTYPE,IFCUNITARYCONTROLELEMENTTYPE,IFCSENSORTYPE,IFCPROTECTIVEDEVICETRIPPINGUNITTYPE,IFCFLOWINSTRUMENTTYPE,IFCDISTRIBUTIONCONTROLELEMENTTYPE,IFCDISTRIBUTIONCHAMBERELEMENTTYPE,IFCFILTERTYPE,IFCDUCTSILENCERTYPE,IFCINTERCEPTORTYPE,IFCFLOWTREATMENTDEVICETYPE,IFCFIRESUPPRESSIONTERMINALTYPE,IFCELECTRICAPPLIANCETYPE,IFCCOMMUNICATIONSAPPLIANCETYPE,IFCAUDIOVISUALAPPLIANCETYPE,IFCAIRTERMINALTYPE,IFCWASTETERMINALTYPE,IFCSTACKTERMINALTYPE,IFCSPACEHEATERTYPE,IFCSANITARYTERMINALTYPE,IFCOUTLETTYPE,IFCMEDICALDEVICETYPE,IFCLIGHTFIXTURETYPE,IFCLAMPTYPE,IFCFLOWTERMINALTYPE,IFCELECTRICFLOWSTORAGEDEVICETYPE,IFCTANKTYPE,IFCFLOWSTORAGEDEVICETYPE,IFCDUCTSEGMENTTYPE,IFCCABLESEGMENTTYPE,IFCCABLECARRIERSEGMENTTYPE,IFCPIPESEGMENTTYPE,IFCFLOWSEGMENTTYPE,IFCFANTYPE,IFCCOMPRESSORTYPE,IFCPUMPTYPE,IFCFLOWMOVINGDEVICETYPE,IFCDUCTFITTINGTYPE,IFCCABLEFITTINGTYPE,IFCCABLECARRIERFITTINGTYPE,IFCPIPEFITTINGTYPE,IFCJUNCTIONBOXTYPE,IFCFLOWFITTINGTYPE,IFCELECTRICTIMECONTROLTYPE,IFCELECTRICDISTRIBUTIONBOARDTYPE,IFCDAMPERTYPE,IFCAIRTERMINALBOXTYPE,IFCVALVETYPE,IFCSWITCHINGDEVICETYPE,IFCPROTECTIVEDEVICETYPE,IFCFLOWMETERTYPE,IFCFLOWCONTROLLERTYPE,IFCELECTRICMOTORTYPE,IFCELECTRICGENERATORTYPE,IFCCOOLINGTOWERTYPE,IFCCOOLEDBEAMTYPE,IFCCONDENSERTYPE,IFCCOILTYPE,IFCCHILLERTYPE,IFCBURNERTYPE,IFCBOILERTYPE,IFCAIRTOAIRHEATRECOVERYTYPE,IFCUNITARYEQUIPMENTTYPE,IFCTUBEBUNDLETYPE,IFCTRANSFORMERTYPE,IFCSOLARDEVICETYPE,IFCMOTORCONNECTIONTYPE,IFCHUMIDIFIERTYPE,IFCHEATEXCHANGERTYPE,IFCEVAPORATORTYPE,IFCEVAPORATIVECOOLERTYPE,IFCENGINETYPE,IFCENERGYCONVERSIONDEVICETYPE,IFCDISTRIBUTIONFLOWELEMENTTYPE,IFCDISTRIBUTIONELEMENTTYPE,IFCCIVILELEMENTTYPE,IFCBUILDINGELEMENTPROXYTYPE,IFCBEAMTYPE,IFCWINDOWTYPE,IFCWALLTYPE,IFCSTAIRTYPE,IFCSTAIRFLIGHTTYPE,IFCSLABTYPE,IFCSHADINGDEVICETYPE,IFCROOFTYPE,IFCRAMPTYPE,IFCRAMPFLIGHTTYPE,IFCRAILINGTYPE,IFCPLATETYPE,IFCPILETYPE,IFCMEMBERTYPE,IFCFOOTINGTYPE,IFCDOORTYPE,IFCCURTAINWALLTYPE,IFCCOVERINGTYPE,IFCCOLUMNTYPE,IFCCHIMNEYTYPE,IFCBUILDINGELEMENTTYPE,IFCTRANSPORTELEMENTTYPE,IFCGEOGRAPHICELEMENTTYPE,IFCSYSTEMFURNITUREELEMENTTYPE,IFCFURNITURETYPE,IFCFURNISHINGELEMENTTYPE,IFCELEMENTTYPE,IFCDOORSTYLE,IFCWINDOWSTYLE],3698973494:[IFCCONSTRUCTIONPRODUCTRESOURCETYPE,IFCCONSTRUCTIONMATERIALRESOURCETYPE,IFCCONSTRUCTIONEQUIPMENTRESOURCETYPE,IFCSUBCONTRACTRESOURCETYPE,IFCLABORRESOURCETYPE,IFCCREWRESOURCETYPE,IFCCONSTRUCTIONRESOURCETYPE],2736907675:[IFCBOOLEANCLIPPINGRESULT],4182860854:[IFCRATIONALBSPLINESURFACEWITHKNOTS,IFCBSPLINESURFACEWITHKNOTS,IFCBSPLINESURFACE,IFCRECTANGULARTRIMMEDSURFACE,IFCCURVEBOUNDEDSURFACE,IFCCURVEBOUNDEDPLANE],574549367:[IFCCARTESIANPOINTLIST3D,IFCCARTESIANPOINTLIST2D],59481748:[IFCCARTESIANTRANSFORMATIONOPERATOR3DNONUNIFORM,IFCCARTESIANTRANSFORMATIONOPERATOR3D,IFCCARTESIANTRANSFORMATIONOPERATOR2DNONUNIFORM,IFCCARTESIANTRANSFORMATIONOPERATOR2D],3749851601:[IFCCARTESIANTRANSFORMATIONOPERATOR2DNONUNIFORM],3331915920:[IFCCARTESIANTRANSFORMATIONOPERATOR3DNONUNIFORM],1383045692:[IFCCIRCLEHOLLOWPROFILEDEF],2485617015:[IFCREPARAMETRISEDCOMPOSITECURVESEGMENT],2574617495:[IFCCONSTRUCTIONPRODUCTRESOURCETYPE,IFCCONSTRUCTIONMATERIALRESOURCETYPE,IFCCONSTRUCTIONEQUIPMENTRESOURCETYPE,IFCSUBCONTRACTRESOURCETYPE,IFCLABORRESOURCETYPE,IFCCREWRESOURCETYPE],3419103109:[IFCPROJECTLIBRARY,IFCPROJECT],2506170314:[IFCBLOCK,IFCSPHERE,IFCRIGHTCIRCULARCYLINDER,IFCRIGHTCIRCULARCONE,IFCRECTANGULARPYRAMID],2601014836:[IFCCIRCLE,IFCELLIPSE,IFCCONIC,IFCRATIONALBSPLINECURVEWITHKNOTS,IFCBSPLINECURVEWITHKNOTS,IFCBSPLINECURVE,IFCTRIMMEDCURVE,IFCPOLYLINE,IFCINDEXEDPOLYCURVE,IFCOUTERBOUNDARYCURVE,IFCBOUNDARYCURVE,IFCCOMPOSITECURVEONSURFACE,IFCCOMPOSITECURVE,IFCBOUNDEDCURVE,IFCSEAMCURVE,IFCINTERSECTIONCURVE,IFCSURFACECURVE,IFCPCURVE,IFCOFFSETCURVE3D,IFCOFFSETCURVE2D,IFCLINE],339256511:[IFCDISCRETEACCESSORYTYPE,IFCBUILDINGELEMENTPARTTYPE,IFCVIBRATIONISOLATORTYPE,IFCREINFORCINGBARTYPE,IFCTENDONTYPE,IFCTENDONANCHORTYPE,IFCREINFORCINGMESHTYPE,IFCREINFORCINGELEMENTTYPE,IFCMECHANICALFASTENERTYPE,IFCFASTENERTYPE,IFCELEMENTCOMPONENTTYPE,IFCELEMENTASSEMBLYTYPE,IFCCONTROLLERTYPE,IFCALARMTYPE,IFCACTUATORTYPE,IFCUNITARYCONTROLELEMENTTYPE,IFCSENSORTYPE,IFCPROTECTIVEDEVICETRIPPINGUNITTYPE,IFCFLOWINSTRUMENTTYPE,IFCDISTRIBUTIONCONTROLELEMENTTYPE,IFCDISTRIBUTIONCHAMBERELEMENTTYPE,IFCFILTERTYPE,IFCDUCTSILENCERTYPE,IFCINTERCEPTORTYPE,IFCFLOWTREATMENTDEVICETYPE,IFCFIRESUPPRESSIONTERMINALTYPE,IFCELECTRICAPPLIANCETYPE,IFCCOMMUNICATIONSAPPLIANCETYPE,IFCAUDIOVISUALAPPLIANCETYPE,IFCAIRTERMINALTYPE,IFCWASTETERMINALTYPE,IFCSTACKTERMINALTYPE,IFCSPACEHEATERTYPE,IFCSANITARYTERMINALTYPE,IFCOUTLETTYPE,IFCMEDICALDEVICETYPE,IFCLIGHTFIXTURETYPE,IFCLAMPTYPE,IFCFLOWTERMINALTYPE,IFCELECTRICFLOWSTORAGEDEVICETYPE,IFCTANKTYPE,IFCFLOWSTORAGEDEVICETYPE,IFCDUCTSEGMENTTYPE,IFCCABLESEGMENTTYPE,IFCCABLECARRIERSEGMENTTYPE,IFCPIPESEGMENTTYPE,IFCFLOWSEGMENTTYPE,IFCFANTYPE,IFCCOMPRESSORTYPE,IFCPUMPTYPE,IFCFLOWMOVINGDEVICETYPE,IFCDUCTFITTINGTYPE,IFCCABLEFITTINGTYPE,IFCCABLECARRIERFITTINGTYPE,IFCPIPEFITTINGTYPE,IFCJUNCTIONBOXTYPE,IFCFLOWFITTINGTYPE,IFCELECTRICTIMECONTROLTYPE,IFCELECTRICDISTRIBUTIONBOARDTYPE,IFCDAMPERTYPE,IFCAIRTERMINALBOXTYPE,IFCVALVETYPE,IFCSWITCHINGDEVICETYPE,IFCPROTECTIVEDEVICETYPE,IFCFLOWMETERTYPE,IFCFLOWCONTROLLERTYPE,IFCELECTRICMOTORTYPE,IFCELECTRICGENERATORTYPE,IFCCOOLINGTOWERTYPE,IFCCOOLEDBEAMTYPE,IFCCONDENSERTYPE,IFCCOILTYPE,IFCCHILLERTYPE,IFCBURNERTYPE,IFCBOILERTYPE,IFCAIRTOAIRHEATRECOVERYTYPE,IFCUNITARYEQUIPMENTTYPE,IFCTUBEBUNDLETYPE,IFCTRANSFORMERTYPE,IFCSOLARDEVICETYPE,IFCMOTORCONNECTIONTYPE,IFCHUMIDIFIERTYPE,IFCHEATEXCHANGERTYPE,IFCEVAPORATORTYPE,IFCEVAPORATIVECOOLERTYPE,IFCENGINETYPE,IFCENERGYCONVERSIONDEVICETYPE,IFCDISTRIBUTIONFLOWELEMENTTYPE,IFCDISTRIBUTIONELEMENTTYPE,IFCCIVILELEMENTTYPE,IFCBUILDINGELEMENTPROXYTYPE,IFCBEAMTYPE,IFCWINDOWTYPE,IFCWALLTYPE,IFCSTAIRTYPE,IFCSTAIRFLIGHTTYPE,IFCSLABTYPE,IFCSHADINGDEVICETYPE,IFCROOFTYPE,IFCRAMPTYPE,IFCRAMPFLIGHTTYPE,IFCRAILINGTYPE,IFCPLATETYPE,IFCPILETYPE,IFCMEMBERTYPE,IFCFOOTINGTYPE,IFCDOORTYPE,IFCCURTAINWALLTYPE,IFCCOVERINGTYPE,IFCCOLUMNTYPE,IFCCHIMNEYTYPE,IFCBUILDINGELEMENTTYPE,IFCTRANSPORTELEMENTTYPE,IFCGEOGRAPHICELEMENTTYPE,IFCSYSTEMFURNITUREELEMENTTYPE,IFCFURNITURETYPE,IFCFURNISHINGELEMENTTYPE],2777663545:[IFCCYLINDRICALSURFACE,IFCTOROIDALSURFACE,IFCSPHERICALSURFACE,IFCPLANE],477187591:[IFCEXTRUDEDAREASOLIDTAPERED],4238390223:[IFCSYSTEMFURNITUREELEMENTTYPE,IFCFURNITURETYPE],178912537:[IFCINDEXEDPOLYGONALFACEWITHVOIDS],1425443689:[IFCFACETEDBREPWITHVOIDS,IFCFACETEDBREP,IFCADVANCEDBREPWITHVOIDS,IFCADVANCEDBREP],3888040117:[IFCASSET,IFCSTRUCTURALANALYSISMODEL,IFCDISTRIBUTIONCIRCUIT,IFCDISTRIBUTIONSYSTEM,IFCBUILDINGSYSTEM,IFCZONE,IFCSYSTEM,IFCSTRUCTURALRESULTGROUP,IFCSTRUCTURALLOADCASE,IFCSTRUCTURALLOADGROUP,IFCINVENTORY,IFCGROUP,IFCACTIONREQUEST,IFCWORKSCHEDULE,IFCWORKPLAN,IFCWORKCONTROL,IFCWORKCALENDAR,IFCPROJECTORDER,IFCPERMIT,IFCPERFORMANCEHISTORY,IFCCOSTSCHEDULE,IFCCOSTITEM,IFCCONTROL,IFCOCCUPANT,IFCACTOR,IFCCONSTRUCTIONPRODUCTRESOURCE,IFCCONSTRUCTIONMATERIALRESOURCE,IFCCONSTRUCTIONEQUIPMENTRESOURCE,IFCSUBCONTRACTRESOURCE,IFCLABORRESOURCE,IFCCREWRESOURCE,IFCCONSTRUCTIONRESOURCE,IFCRESOURCE,IFCDISTRIBUTIONPORT,IFCPORT,IFCGRID,IFCCONTROLLER,IFCALARM,IFCACTUATOR,IFCUNITARYCONTROLELEMENT,IFCSENSOR,IFCPROTECTIVEDEVICETRIPPINGUNIT,IFCFLOWINSTRUMENT,IFCDISTRIBUTIONCONTROLELEMENT,IFCDISTRIBUTIONCHAMBERELEMENT,IFCFILTER,IFCDUCTSILENCER,IFCINTERCEPTOR,IFCFLOWTREATMENTDEVICE,IFCFIRESUPPRESSIONTERMINAL,IFCELECTRICAPPLIANCE,IFCCOMMUNICATIONSAPPLIANCE,IFCAUDIOVISUALAPPLIANCE,IFCAIRTERMINAL,IFCWASTETERMINAL,IFCSTACKTERMINAL,IFCSPACEHEATER,IFCSANITARYTERMINAL,IFCOUTLET,IFCMEDICALDEVICE,IFCLIGHTFIXTURE,IFCLAMP,IFCFLOWTERMINAL,IFCELECTRICFLOWSTORAGEDEVICE,IFCTANK,IFCFLOWSTORAGEDEVICE,IFCDUCTSEGMENT,IFCCABLESEGMENT,IFCCABLECARRIERSEGMENT,IFCPIPESEGMENT,IFCFLOWSEGMENT,IFCFAN,IFCCOMPRESSOR,IFCPUMP,IFCFLOWMOVINGDEVICE,IFCDUCTFITTING,IFCCABLEFITTING,IFCCABLECARRIERFITTING,IFCPIPEFITTING,IFCJUNCTIONBOX,IFCFLOWFITTING,IFCELECTRICTIMECONTROL,IFCELECTRICDISTRIBUTIONBOARD,IFCDAMPER,IFCAIRTERMINALBOX,IFCVALVE,IFCSWITCHINGDEVICE,IFCPROTECTIVEDEVICE,IFCFLOWMETER,IFCFLOWCONTROLLER,IFCELECTRICMOTOR,IFCELECTRICGENERATOR,IFCCOOLINGTOWER,IFCCOOLEDBEAM,IFCCONDENSER,IFCCOIL,IFCCHILLER,IFCBURNER,IFCBOILER,IFCAIRTOAIRHEATRECOVERY,IFCUNITARYEQUIPMENT,IFCTUBEBUNDLE,IFCTRANSFORMER,IFCSOLARDEVICE,IFCMOTORCONNECTION,IFCHUMIDIFIER,IFCHEATEXCHANGER,IFCEVAPORATOR,IFCEVAPORATIVECOOLER,IFCENGINE,IFCENERGYCONVERSIONDEVICE,IFCDISTRIBUTIONFLOWELEMENT,IFCDISTRIBUTIONELEMENT,IFCCIVILELEMENT,IFCBEAMSTANDARDCASE,IFCBEAM,IFCWINDOWSTANDARDCASE,IFCWINDOW,IFCWALLSTANDARDCASE,IFCWALLELEMENTEDCASE,IFCWALL,IFCSTAIRFLIGHT,IFCSTAIR,IFCSLABSTANDARDCASE,IFCSLABELEMENTEDCASE,IFCSLAB,IFCSHADINGDEVICE,IFCROOF,IFCRAMPFLIGHT,IFCRAMP,IFCRAILING,IFCPLATESTANDARDCASE,IFCPLATE,IFCPILE,IFCMEMBERSTANDARDCASE,IFCMEMBER,IFCFOOTING,IFCDOORSTANDARDCASE,IFCDOOR,IFCCURTAINWALL,IFCCOVERING,IFCCOLUMNSTANDARDCASE,IFCCOLUMN,IFCCHIMNEY,IFCBUILDINGELEMENTPROXY,IFCBUILDINGELEMENT,IFCVIRTUALELEMENT,IFCTRANSPORTELEMENT,IFCGEOGRAPHICELEMENT,IFCSYSTEMFURNITUREELEMENT,IFCFURNITURE,IFCFURNISHINGELEMENT,IFCSURFACEFEATURE,IFCVOIDINGFEATURE,IFCOPENINGSTANDARDCASE,IFCOPENINGELEMENT,IFCFEATUREELEMENTSUBTRACTION,IFCPROJECTIONELEMENT,IFCFEATUREELEMENTADDITION,IFCFEATUREELEMENT,IFCDISCRETEACCESSORY,IFCBUILDINGELEMENTPART,IFCVIBRATIONISOLATOR,IFCREINFORCINGBAR,IFCTENDONANCHOR,IFCTENDON,IFCREINFORCINGMESH,IFCREINFORCINGELEMENT,IFCMECHANICALFASTENER,IFCFASTENER,IFCELEMENTCOMPONENT,IFCELEMENTASSEMBLY,IFCELEMENT,IFCANNOTATION,IFCSTRUCTURALSURFACECONNECTION,IFCSTRUCTURALPOINTCONNECTION,IFCSTRUCTURALCURVECONNECTION,IFCSTRUCTURALCONNECTION,IFCSTRUCTURALCURVEMEMBERVARYING,IFCSTRUCTURALCURVEMEMBER,IFCSTRUCTURALSURFACEMEMBERVARYING,IFCSTRUCTURALSURFACEMEMBER,IFCSTRUCTURALMEMBER,IFCSTRUCTURALITEM,IFCSTRUCTURALPLANARACTION,IFCSTRUCTURALSURFACEACTION,IFCSTRUCTURALPOINTACTION,IFCSTRUCTURALLINEARACTION,IFCSTRUCTURALCURVEACTION,IFCSTRUCTURALACTION,IFCSTRUCTURALPOINTREACTION,IFCSTRUCTURALCURVEREACTION,IFCSTRUCTURALSURFACEREACTION,IFCSTRUCTURALREACTION,IFCSTRUCTURALACTIVITY,IFCEXTERNALSPATIALELEMENT,IFCEXTERNALSPATIALSTRUCTUREELEMENT,IFCSPATIALZONE,IFCSPACE,IFCSITE,IFCBUILDINGSTOREY,IFCBUILDING,IFCSPATIALSTRUCTUREELEMENT,IFCSPATIALELEMENT,IFCPROXY,IFCPRODUCT,IFCPROCEDURE,IFCEVENT,IFCTASK,IFCPROCESS],759155922:[IFCDRAUGHTINGPREDEFINEDCOLOUR],2559016684:[IFCDRAUGHTINGPREDEFINEDCURVEFONT],3967405729:[IFCPERMEABLECOVERINGPROPERTIES,IFCDOORPANELPROPERTIES,IFCDOORLININGPROPERTIES,IFCWINDOWPANELPROPERTIES,IFCWINDOWLININGPROPERTIES,IFCREINFORCEMENTDEFINITIONPROPERTIES],2945172077:[IFCPROCEDURE,IFCEVENT,IFCTASK],4208778838:[IFCDISTRIBUTIONPORT,IFCPORT,IFCGRID,IFCCONTROLLER,IFCALARM,IFCACTUATOR,IFCUNITARYCONTROLELEMENT,IFCSENSOR,IFCPROTECTIVEDEVICETRIPPINGUNIT,IFCFLOWINSTRUMENT,IFCDISTRIBUTIONCONTROLELEMENT,IFCDISTRIBUTIONCHAMBERELEMENT,IFCFILTER,IFCDUCTSILENCER,IFCINTERCEPTOR,IFCFLOWTREATMENTDEVICE,IFCFIRESUPPRESSIONTERMINAL,IFCELECTRICAPPLIANCE,IFCCOMMUNICATIONSAPPLIANCE,IFCAUDIOVISUALAPPLIANCE,IFCAIRTERMINAL,IFCWASTETERMINAL,IFCSTACKTERMINAL,IFCSPACEHEATER,IFCSANITARYTERMINAL,IFCOUTLET,IFCMEDICALDEVICE,IFCLIGHTFIXTURE,IFCLAMP,IFCFLOWTERMINAL,IFCELECTRICFLOWSTORAGEDEVICE,IFCTANK,IFCFLOWSTORAGEDEVICE,IFCDUCTSEGMENT,IFCCABLESEGMENT,IFCCABLECARRIERSEGMENT,IFCPIPESEGMENT,IFCFLOWSEGMENT,IFCFAN,IFCCOMPRESSOR,IFCPUMP,IFCFLOWMOVINGDEVICE,IFCDUCTFITTING,IFCCABLEFITTING,IFCCABLECARRIERFITTING,IFCPIPEFITTING,IFCJUNCTIONBOX,IFCFLOWFITTING,IFCELECTRICTIMECONTROL,IFCELECTRICDISTRIBUTIONBOARD,IFCDAMPER,IFCAIRTERMINALBOX,IFCVALVE,IFCSWITCHINGDEVICE,IFCPROTECTIVEDEVICE,IFCFLOWMETER,IFCFLOWCONTROLLER,IFCELECTRICMOTOR,IFCELECTRICGENERATOR,IFCCOOLINGTOWER,IFCCOOLEDBEAM,IFCCONDENSER,IFCCOIL,IFCCHILLER,IFCBURNER,IFCBOILER,IFCAIRTOAIRHEATRECOVERY,IFCUNITARYEQUIPMENT,IFCTUBEBUNDLE,IFCTRANSFORMER,IFCSOLARDEVICE,IFCMOTORCONNECTION,IFCHUMIDIFIER,IFCHEATEXCHANGER,IFCEVAPORATOR,IFCEVAPORATIVECOOLER,IFCENGINE,IFCENERGYCONVERSIONDEVICE,IFCDISTRIBUTIONFLOWELEMENT,IFCDISTRIBUTIONELEMENT,IFCCIVILELEMENT,IFCBEAMSTANDARDCASE,IFCBEAM,IFCWINDOWSTANDARDCASE,IFCWINDOW,IFCWALLSTANDARDCASE,IFCWALLELEMENTEDCASE,IFCWALL,IFCSTAIRFLIGHT,IFCSTAIR,IFCSLABSTANDARDCASE,IFCSLABELEMENTEDCASE,IFCSLAB,IFCSHADINGDEVICE,IFCROOF,IFCRAMPFLIGHT,IFCRAMP,IFCRAILING,IFCPLATESTANDARDCASE,IFCPLATE,IFCPILE,IFCMEMBERSTANDARDCASE,IFCMEMBER,IFCFOOTING,IFCDOORSTANDARDCASE,IFCDOOR,IFCCURTAINWALL,IFCCOVERING,IFCCOLUMNSTANDARDCASE,IFCCOLUMN,IFCCHIMNEY,IFCBUILDINGELEMENTPROXY,IFCBUILDINGELEMENT,IFCVIRTUALELEMENT,IFCTRANSPORTELEMENT,IFCGEOGRAPHICELEMENT,IFCSYSTEMFURNITUREELEMENT,IFCFURNITURE,IFCFURNISHINGELEMENT,IFCSURFACEFEATURE,IFCVOIDINGFEATURE,IFCOPENINGSTANDARDCASE,IFCOPENINGELEMENT,IFCFEATUREELEMENTSUBTRACTION,IFCPROJECTIONELEMENT,IFCFEATUREELEMENTADDITION,IFCFEATUREELEMENT,IFCDISCRETEACCESSORY,IFCBUILDINGELEMENTPART,IFCVIBRATIONISOLATOR,IFCREINFORCINGBAR,IFCTENDONANCHOR,IFCTENDON,IFCREINFORCINGMESH,IFCREINFORCINGELEMENT,IFCMECHANICALFASTENER,IFCFASTENER,IFCELEMENTCOMPONENT,IFCELEMENTASSEMBLY,IFCELEMENT,IFCANNOTATION,IFCSTRUCTURALSURFACECONNECTION,IFCSTRUCTURALPOINTCONNECTION,IFCSTRUCTURALCURVECONNECTION,IFCSTRUCTURALCONNECTION,IFCSTRUCTURALCURVEMEMBERVARYING,IFCSTRUCTURALCURVEMEMBER,IFCSTRUCTURALSURFACEMEMBERVARYING,IFCSTRUCTURALSURFACEMEMBER,IFCSTRUCTURALMEMBER,IFCSTRUCTURALITEM,IFCSTRUCTURALPLANARACTION,IFCSTRUCTURALSURFACEACTION,IFCSTRUCTURALPOINTACTION,IFCSTRUCTURALLINEARACTION,IFCSTRUCTURALCURVEACTION,IFCSTRUCTURALACTION,IFCSTRUCTURALPOINTREACTION,IFCSTRUCTURALCURVEREACTION,IFCSTRUCTURALSURFACEREACTION,IFCSTRUCTURALREACTION,IFCSTRUCTURALACTIVITY,IFCEXTERNALSPATIALELEMENT,IFCEXTERNALSPATIALSTRUCTUREELEMENT,IFCSPATIALZONE,IFCSPACE,IFCSITE,IFCBUILDINGSTOREY,IFCBUILDING,IFCSPATIALSTRUCTUREELEMENT,IFCSPATIALELEMENT,IFCPROXY],3521284610:[IFCCOMPLEXPROPERTYTEMPLATE,IFCSIMPLEPROPERTYTEMPLATE],3939117080:[IFCRELASSIGNSTORESOURCE,IFCRELASSIGNSTOPRODUCT,IFCRELASSIGNSTOPROCESS,IFCRELASSIGNSTOGROUPBYFACTOR,IFCRELASSIGNSTOGROUP,IFCRELASSIGNSTOCONTROL,IFCRELASSIGNSTOACTOR],1307041759:[IFCRELASSIGNSTOGROUPBYFACTOR],1865459582:[IFCRELASSOCIATESMATERIAL,IFCRELASSOCIATESLIBRARY,IFCRELASSOCIATESDOCUMENT,IFCRELASSOCIATESCONSTRAINT,IFCRELASSOCIATESCLASSIFICATION,IFCRELASSOCIATESAPPROVAL],826625072:[IFCRELSPACEBOUNDARY2NDLEVEL,IFCRELSPACEBOUNDARY1STLEVEL,IFCRELSPACEBOUNDARY,IFCRELSERVICESBUILDINGS,IFCRELSEQUENCE,IFCRELREFERENCEDINSPATIALSTRUCTURE,IFCRELINTERFERESELEMENTS,IFCRELFLOWCONTROLELEMENTS,IFCRELFILLSELEMENT,IFCRELCOVERSSPACES,IFCRELCOVERSBLDGELEMENTS,IFCRELCONTAINEDINSPATIALSTRUCTURE,IFCRELCONNECTSWITHECCENTRICITY,IFCRELCONNECTSSTRUCTURALMEMBER,IFCRELCONNECTSSTRUCTURALACTIVITY,IFCRELCONNECTSPORTS,IFCRELCONNECTSPORTTOELEMENT,IFCRELCONNECTSWITHREALIZINGELEMENTS,IFCRELCONNECTSPATHELEMENTS,IFCRELCONNECTSELEMENTS],1204542856:[IFCRELCONNECTSWITHREALIZINGELEMENTS,IFCRELCONNECTSPATHELEMENTS],1638771189:[IFCRELCONNECTSWITHECCENTRICITY],2551354335:[IFCRELAGGREGATES,IFCRELVOIDSELEMENT,IFCRELPROJECTSELEMENT,IFCRELNESTS],693640335:[IFCRELDEFINESBYTYPE,IFCRELDEFINESBYTEMPLATE,IFCRELDEFINESBYPROPERTIES,IFCRELDEFINESBYOBJECT],3451746338:[IFCRELSPACEBOUNDARY2NDLEVEL,IFCRELSPACEBOUNDARY1STLEVEL],3523091289:[IFCRELSPACEBOUNDARY2NDLEVEL],2914609552:[IFCCONSTRUCTIONPRODUCTRESOURCE,IFCCONSTRUCTIONMATERIALRESOURCE,IFCCONSTRUCTIONEQUIPMENTRESOURCE,IFCSUBCONTRACTRESOURCE,IFCLABORRESOURCE,IFCCREWRESOURCE,IFCCONSTRUCTIONRESOURCE],1856042241:[IFCREVOLVEDAREASOLIDTAPERED],1412071761:[IFCEXTERNALSPATIALELEMENT,IFCEXTERNALSPATIALSTRUCTUREELEMENT,IFCSPATIALZONE,IFCSPACE,IFCSITE,IFCBUILDINGSTOREY,IFCBUILDING,IFCSPATIALSTRUCTUREELEMENT],710998568:[IFCSPATIALZONETYPE,IFCSPACETYPE,IFCSPATIALSTRUCTUREELEMENTTYPE],2706606064:[IFCSPACE,IFCSITE,IFCBUILDINGSTOREY,IFCBUILDING],3893378262:[IFCSPACETYPE],3544373492:[IFCSTRUCTURALPLANARACTION,IFCSTRUCTURALSURFACEACTION,IFCSTRUCTURALPOINTACTION,IFCSTRUCTURALLINEARACTION,IFCSTRUCTURALCURVEACTION,IFCSTRUCTURALACTION,IFCSTRUCTURALPOINTREACTION,IFCSTRUCTURALCURVEREACTION,IFCSTRUCTURALSURFACEREACTION,IFCSTRUCTURALREACTION],3136571912:[IFCSTRUCTURALSURFACECONNECTION,IFCSTRUCTURALPOINTCONNECTION,IFCSTRUCTURALCURVECONNECTION,IFCSTRUCTURALCONNECTION,IFCSTRUCTURALCURVEMEMBERVARYING,IFCSTRUCTURALCURVEMEMBER,IFCSTRUCTURALSURFACEMEMBERVARYING,IFCSTRUCTURALSURFACEMEMBER,IFCSTRUCTURALMEMBER],530289379:[IFCSTRUCTURALCURVEMEMBERVARYING,IFCSTRUCTURALCURVEMEMBER,IFCSTRUCTURALSURFACEMEMBERVARYING,IFCSTRUCTURALSURFACEMEMBER],3689010777:[IFCSTRUCTURALPOINTREACTION,IFCSTRUCTURALCURVEREACTION,IFCSTRUCTURALSURFACEREACTION],3979015343:[IFCSTRUCTURALSURFACEMEMBERVARYING],699246055:[IFCSEAMCURVE,IFCINTERSECTIONCURVE],2387106220:[IFCPOLYGONALFACESET,IFCTRIANGULATEDFACESET],2296667514:[IFCOCCUPANT],1635779807:[IFCADVANCEDBREPWITHVOIDS],2887950389:[IFCRATIONALBSPLINESURFACEWITHKNOTS,IFCBSPLINESURFACEWITHKNOTS],167062518:[IFCRATIONALBSPLINESURFACEWITHKNOTS],1260505505:[IFCRATIONALBSPLINECURVEWITHKNOTS,IFCBSPLINECURVEWITHKNOTS,IFCBSPLINECURVE,IFCTRIMMEDCURVE,IFCPOLYLINE,IFCINDEXEDPOLYCURVE,IFCOUTERBOUNDARYCURVE,IFCBOUNDARYCURVE,IFCCOMPOSITECURVEONSURFACE,IFCCOMPOSITECURVE],1950629157:[IFCBUILDINGELEMENTPROXYTYPE,IFCBEAMTYPE,IFCWINDOWTYPE,IFCWALLTYPE,IFCSTAIRTYPE,IFCSTAIRFLIGHTTYPE,IFCSLABTYPE,IFCSHADINGDEVICETYPE,IFCROOFTYPE,IFCRAMPTYPE,IFCRAMPFLIGHTTYPE,IFCRAILINGTYPE,IFCPLATETYPE,IFCPILETYPE,IFCMEMBERTYPE,IFCFOOTINGTYPE,IFCDOORTYPE,IFCCURTAINWALLTYPE,IFCCOVERINGTYPE,IFCCOLUMNTYPE,IFCCHIMNEYTYPE],3732776249:[IFCOUTERBOUNDARYCURVE,IFCBOUNDARYCURVE,IFCCOMPOSITECURVEONSURFACE],15328376:[IFCOUTERBOUNDARYCURVE,IFCBOUNDARYCURVE],2510884976:[IFCCIRCLE,IFCELLIPSE],2559216714:[IFCCONSTRUCTIONPRODUCTRESOURCE,IFCCONSTRUCTIONMATERIALRESOURCE,IFCCONSTRUCTIONEQUIPMENTRESOURCE,IFCSUBCONTRACTRESOURCE,IFCLABORRESOURCE,IFCCREWRESOURCE],3293443760:[IFCACTIONREQUEST,IFCWORKSCHEDULE,IFCWORKPLAN,IFCWORKCONTROL,IFCWORKCALENDAR,IFCPROJECTORDER,IFCPERMIT,IFCPERFORMANCEHISTORY,IFCCOSTSCHEDULE,IFCCOSTITEM],3256556792:[IFCCONTROLLERTYPE,IFCALARMTYPE,IFCACTUATORTYPE,IFCUNITARYCONTROLELEMENTTYPE,IFCSENSORTYPE,IFCPROTECTIVEDEVICETRIPPINGUNITTYPE,IFCFLOWINSTRUMENTTYPE,IFCDISTRIBUTIONCONTROLELEMENTTYPE,IFCDISTRIBUTIONCHAMBERELEMENTTYPE,IFCFILTERTYPE,IFCDUCTSILENCERTYPE,IFCINTERCEPTORTYPE,IFCFLOWTREATMENTDEVICETYPE,IFCFIRESUPPRESSIONTERMINALTYPE,IFCELECTRICAPPLIANCETYPE,IFCCOMMUNICATIONSAPPLIANCETYPE,IFCAUDIOVISUALAPPLIANCETYPE,IFCAIRTERMINALTYPE,IFCWASTETERMINALTYPE,IFCSTACKTERMINALTYPE,IFCSPACEHEATERTYPE,IFCSANITARYTERMINALTYPE,IFCOUTLETTYPE,IFCMEDICALDEVICETYPE,IFCLIGHTFIXTURETYPE,IFCLAMPTYPE,IFCFLOWTERMINALTYPE,IFCELECTRICFLOWSTORAGEDEVICETYPE,IFCTANKTYPE,IFCFLOWSTORAGEDEVICETYPE,IFCDUCTSEGMENTTYPE,IFCCABLESEGMENTTYPE,IFCCABLECARRIERSEGMENTTYPE,IFCPIPESEGMENTTYPE,IFCFLOWSEGMENTTYPE,IFCFANTYPE,IFCCOMPRESSORTYPE,IFCPUMPTYPE,IFCFLOWMOVINGDEVICETYPE,IFCDUCTFITTINGTYPE,IFCCABLEFITTINGTYPE,IFCCABLECARRIERFITTINGTYPE,IFCPIPEFITTINGTYPE,IFCJUNCTIONBOXTYPE,IFCFLOWFITTINGTYPE,IFCELECTRICTIMECONTROLTYPE,IFCELECTRICDISTRIBUTIONBOARDTYPE,IFCDAMPERTYPE,IFCAIRTERMINALBOXTYPE,IFCVALVETYPE,IFCSWITCHINGDEVICETYPE,IFCPROTECTIVEDEVICETYPE,IFCFLOWMETERTYPE,IFCFLOWCONTROLLERTYPE,IFCELECTRICMOTORTYPE,IFCELECTRICGENERATORTYPE,IFCCOOLINGTOWERTYPE,IFCCOOLEDBEAMTYPE,IFCCONDENSERTYPE,IFCCOILTYPE,IFCCHILLERTYPE,IFCBURNERTYPE,IFCBOILERTYPE,IFCAIRTOAIRHEATRECOVERYTYPE,IFCUNITARYEQUIPMENTTYPE,IFCTUBEBUNDLETYPE,IFCTRANSFORMERTYPE,IFCSOLARDEVICETYPE,IFCMOTORCONNECTIONTYPE,IFCHUMIDIFIERTYPE,IFCHEATEXCHANGERTYPE,IFCEVAPORATORTYPE,IFCEVAPORATIVECOOLERTYPE,IFCENGINETYPE,IFCENERGYCONVERSIONDEVICETYPE,IFCDISTRIBUTIONFLOWELEMENTTYPE],3849074793:[IFCDISTRIBUTIONCHAMBERELEMENTTYPE,IFCFILTERTYPE,IFCDUCTSILENCERTYPE,IFCINTERCEPTORTYPE,IFCFLOWTREATMENTDEVICETYPE,IFCFIRESUPPRESSIONTERMINALTYPE,IFCELECTRICAPPLIANCETYPE,IFCCOMMUNICATIONSAPPLIANCETYPE,IFCAUDIOVISUALAPPLIANCETYPE,IFCAIRTERMINALTYPE,IFCWASTETERMINALTYPE,IFCSTACKTERMINALTYPE,IFCSPACEHEATERTYPE,IFCSANITARYTERMINALTYPE,IFCOUTLETTYPE,IFCMEDICALDEVICETYPE,IFCLIGHTFIXTURETYPE,IFCLAMPTYPE,IFCFLOWTERMINALTYPE,IFCELECTRICFLOWSTORAGEDEVICETYPE,IFCTANKTYPE,IFCFLOWSTORAGEDEVICETYPE,IFCDUCTSEGMENTTYPE,IFCCABLESEGMENTTYPE,IFCCABLECARRIERSEGMENTTYPE,IFCPIPESEGMENTTYPE,IFCFLOWSEGMENTTYPE,IFCFANTYPE,IFCCOMPRESSORTYPE,IFCPUMPTYPE,IFCFLOWMOVINGDEVICETYPE,IFCDUCTFITTINGTYPE,IFCCABLEFITTINGTYPE,IFCCABLECARRIERFITTINGTYPE,IFCPIPEFITTINGTYPE,IFCJUNCTIONBOXTYPE,IFCFLOWFITTINGTYPE,IFCELECTRICTIMECONTROLTYPE,IFCELECTRICDISTRIBUTIONBOARDTYPE,IFCDAMPERTYPE,IFCAIRTERMINALBOXTYPE,IFCVALVETYPE,IFCSWITCHINGDEVICETYPE,IFCPROTECTIVEDEVICETYPE,IFCFLOWMETERTYPE,IFCFLOWCONTROLLERTYPE,IFCELECTRICMOTORTYPE,IFCELECTRICGENERATORTYPE,IFCCOOLINGTOWERTYPE,IFCCOOLEDBEAMTYPE,IFCCONDENSERTYPE,IFCCOILTYPE,IFCCHILLERTYPE,IFCBURNERTYPE,IFCBOILERTYPE,IFCAIRTOAIRHEATRECOVERYTYPE,IFCUNITARYEQUIPMENTTYPE,IFCTUBEBUNDLETYPE,IFCTRANSFORMERTYPE,IFCSOLARDEVICETYPE,IFCMOTORCONNECTIONTYPE,IFCHUMIDIFIERTYPE,IFCHEATEXCHANGERTYPE,IFCEVAPORATORTYPE,IFCEVAPORATIVECOOLERTYPE,IFCENGINETYPE,IFCENERGYCONVERSIONDEVICETYPE],1758889154:[IFCCONTROLLER,IFCALARM,IFCACTUATOR,IFCUNITARYCONTROLELEMENT,IFCSENSOR,IFCPROTECTIVEDEVICETRIPPINGUNIT,IFCFLOWINSTRUMENT,IFCDISTRIBUTIONCONTROLELEMENT,IFCDISTRIBUTIONCHAMBERELEMENT,IFCFILTER,IFCDUCTSILENCER,IFCINTERCEPTOR,IFCFLOWTREATMENTDEVICE,IFCFIRESUPPRESSIONTERMINAL,IFCELECTRICAPPLIANCE,IFCCOMMUNICATIONSAPPLIANCE,IFCAUDIOVISUALAPPLIANCE,IFCAIRTERMINAL,IFCWASTETERMINAL,IFCSTACKTERMINAL,IFCSPACEHEATER,IFCSANITARYTERMINAL,IFCOUTLET,IFCMEDICALDEVICE,IFCLIGHTFIXTURE,IFCLAMP,IFCFLOWTERMINAL,IFCELECTRICFLOWSTORAGEDEVICE,IFCTANK,IFCFLOWSTORAGEDEVICE,IFCDUCTSEGMENT,IFCCABLESEGMENT,IFCCABLECARRIERSEGMENT,IFCPIPESEGMENT,IFCFLOWSEGMENT,IFCFAN,IFCCOMPRESSOR,IFCPUMP,IFCFLOWMOVINGDEVICE,IFCDUCTFITTING,IFCCABLEFITTING,IFCCABLECARRIERFITTING,IFCPIPEFITTING,IFCJUNCTIONBOX,IFCFLOWFITTING,IFCELECTRICTIMECONTROL,IFCELECTRICDISTRIBUTIONBOARD,IFCDAMPER,IFCAIRTERMINALBOX,IFCVALVE,IFCSWITCHINGDEVICE,IFCPROTECTIVEDEVICE,IFCFLOWMETER,IFCFLOWCONTROLLER,IFCELECTRICMOTOR,IFCELECTRICGENERATOR,IFCCOOLINGTOWER,IFCCOOLEDBEAM,IFCCONDENSER,IFCCOIL,IFCCHILLER,IFCBURNER,IFCBOILER,IFCAIRTOAIRHEATRECOVERY,IFCUNITARYEQUIPMENT,IFCTUBEBUNDLE,IFCTRANSFORMER,IFCSOLARDEVICE,IFCMOTORCONNECTION,IFCHUMIDIFIER,IFCHEATEXCHANGER,IFCEVAPORATOR,IFCEVAPORATIVECOOLER,IFCENGINE,IFCENERGYCONVERSIONDEVICE,IFCDISTRIBUTIONFLOWELEMENT,IFCDISTRIBUTIONELEMENT,IFCCIVILELEMENT,IFCBEAMSTANDARDCASE,IFCBEAM,IFCWINDOWSTANDARDCASE,IFCWINDOW,IFCWALLSTANDARDCASE,IFCWALLELEMENTEDCASE,IFCWALL,IFCSTAIRFLIGHT,IFCSTAIR,IFCSLABSTANDARDCASE,IFCSLABELEMENTEDCASE,IFCSLAB,IFCSHADINGDEVICE,IFCROOF,IFCRAMPFLIGHT,IFCRAMP,IFCRAILING,IFCPLATESTANDARDCASE,IFCPLATE,IFCPILE,IFCMEMBERSTANDARDCASE,IFCMEMBER,IFCFOOTING,IFCDOORSTANDARDCASE,IFCDOOR,IFCCURTAINWALL,IFCCOVERING,IFCCOLUMNSTANDARDCASE,IFCCOLUMN,IFCCHIMNEY,IFCBUILDINGELEMENTPROXY,IFCBUILDINGELEMENT,IFCVIRTUALELEMENT,IFCTRANSPORTELEMENT,IFCGEOGRAPHICELEMENT,IFCSYSTEMFURNITUREELEMENT,IFCFURNITURE,IFCFURNISHINGELEMENT,IFCSURFACEFEATURE,IFCVOIDINGFEATURE,IFCOPENINGSTANDARDCASE,IFCOPENINGELEMENT,IFCFEATUREELEMENTSUBTRACTION,IFCPROJECTIONELEMENT,IFCFEATUREELEMENTADDITION,IFCFEATUREELEMENT,IFCDISCRETEACCESSORY,IFCBUILDINGELEMENTPART,IFCVIBRATIONISOLATOR,IFCREINFORCINGBAR,IFCTENDONANCHOR,IFCTENDON,IFCREINFORCINGMESH,IFCREINFORCINGELEMENT,IFCMECHANICALFASTENER,IFCFASTENER,IFCELEMENTCOMPONENT,IFCELEMENTASSEMBLY],1623761950:[IFCDISCRETEACCESSORY,IFCBUILDINGELEMENTPART,IFCVIBRATIONISOLATOR,IFCREINFORCINGBAR,IFCTENDONANCHOR,IFCTENDON,IFCREINFORCINGMESH,IFCREINFORCINGELEMENT,IFCMECHANICALFASTENER,IFCFASTENER],2590856083:[IFCDISCRETEACCESSORYTYPE,IFCBUILDINGELEMENTPARTTYPE,IFCVIBRATIONISOLATORTYPE,IFCREINFORCINGBARTYPE,IFCTENDONTYPE,IFCTENDONANCHORTYPE,IFCREINFORCINGMESHTYPE,IFCREINFORCINGELEMENTTYPE,IFCMECHANICALFASTENERTYPE,IFCFASTENERTYPE],2107101300:[IFCELECTRICMOTORTYPE,IFCELECTRICGENERATORTYPE,IFCCOOLINGTOWERTYPE,IFCCOOLEDBEAMTYPE,IFCCONDENSERTYPE,IFCCOILTYPE,IFCCHILLERTYPE,IFCBURNERTYPE,IFCBOILERTYPE,IFCAIRTOAIRHEATRECOVERYTYPE,IFCUNITARYEQUIPMENTTYPE,IFCTUBEBUNDLETYPE,IFCTRANSFORMERTYPE,IFCSOLARDEVICETYPE,IFCMOTORCONNECTIONTYPE,IFCHUMIDIFIERTYPE,IFCHEATEXCHANGERTYPE,IFCEVAPORATORTYPE,IFCEVAPORATIVECOOLERTYPE,IFCENGINETYPE],2853485674:[IFCEXTERNALSPATIALELEMENT],807026263:[IFCFACETEDBREPWITHVOIDS],2827207264:[IFCSURFACEFEATURE,IFCVOIDINGFEATURE,IFCOPENINGSTANDARDCASE,IFCOPENINGELEMENT,IFCFEATUREELEMENTSUBTRACTION,IFCPROJECTIONELEMENT,IFCFEATUREELEMENTADDITION],2143335405:[IFCPROJECTIONELEMENT],1287392070:[IFCVOIDINGFEATURE,IFCOPENINGSTANDARDCASE,IFCOPENINGELEMENT],3907093117:[IFCELECTRICTIMECONTROLTYPE,IFCELECTRICDISTRIBUTIONBOARDTYPE,IFCDAMPERTYPE,IFCAIRTERMINALBOXTYPE,IFCVALVETYPE,IFCSWITCHINGDEVICETYPE,IFCPROTECTIVEDEVICETYPE,IFCFLOWMETERTYPE],3198132628:[IFCDUCTFITTINGTYPE,IFCCABLEFITTINGTYPE,IFCCABLECARRIERFITTINGTYPE,IFCPIPEFITTINGTYPE,IFCJUNCTIONBOXTYPE],1482959167:[IFCFANTYPE,IFCCOMPRESSORTYPE,IFCPUMPTYPE],1834744321:[IFCDUCTSEGMENTTYPE,IFCCABLESEGMENTTYPE,IFCCABLECARRIERSEGMENTTYPE,IFCPIPESEGMENTTYPE],1339347760:[IFCELECTRICFLOWSTORAGEDEVICETYPE,IFCTANKTYPE],2297155007:[IFCFIRESUPPRESSIONTERMINALTYPE,IFCELECTRICAPPLIANCETYPE,IFCCOMMUNICATIONSAPPLIANCETYPE,IFCAUDIOVISUALAPPLIANCETYPE,IFCAIRTERMINALTYPE,IFCWASTETERMINALTYPE,IFCSTACKTERMINALTYPE,IFCSPACEHEATERTYPE,IFCSANITARYTERMINALTYPE,IFCOUTLETTYPE,IFCMEDICALDEVICETYPE,IFCLIGHTFIXTURETYPE,IFCLAMPTYPE],3009222698:[IFCFILTERTYPE,IFCDUCTSILENCERTYPE,IFCINTERCEPTORTYPE],263784265:[IFCSYSTEMFURNITUREELEMENT,IFCFURNITURE],2706460486:[IFCASSET,IFCSTRUCTURALANALYSISMODEL,IFCDISTRIBUTIONCIRCUIT,IFCDISTRIBUTIONSYSTEM,IFCBUILDINGSYSTEM,IFCZONE,IFCSYSTEM,IFCSTRUCTURALRESULTGROUP,IFCSTRUCTURALLOADCASE,IFCSTRUCTURALLOADGROUP,IFCINVENTORY],3588315303:[IFCOPENINGSTANDARDCASE],3740093272:[IFCDISTRIBUTIONPORT],3027567501:[IFCREINFORCINGBAR,IFCTENDONANCHOR,IFCTENDON,IFCREINFORCINGMESH],964333572:[IFCREINFORCINGBARTYPE,IFCTENDONTYPE,IFCTENDONANCHORTYPE,IFCREINFORCINGMESHTYPE],682877961:[IFCSTRUCTURALPLANARACTION,IFCSTRUCTURALSURFACEACTION,IFCSTRUCTURALPOINTACTION,IFCSTRUCTURALLINEARACTION,IFCSTRUCTURALCURVEACTION],1179482911:[IFCSTRUCTURALSURFACECONNECTION,IFCSTRUCTURALPOINTCONNECTION,IFCSTRUCTURALCURVECONNECTION],1004757350:[IFCSTRUCTURALLINEARACTION],214636428:[IFCSTRUCTURALCURVEMEMBERVARYING],1252848954:[IFCSTRUCTURALLOADCASE],3657597509:[IFCSTRUCTURALPLANARACTION],2254336722:[IFCSTRUCTURALANALYSISMODEL,IFCDISTRIBUTIONCIRCUIT,IFCDISTRIBUTIONSYSTEM,IFCBUILDINGSYSTEM,IFCZONE],1028945134:[IFCWORKSCHEDULE,IFCWORKPLAN],1967976161:[IFCRATIONALBSPLINECURVEWITHKNOTS,IFCBSPLINECURVEWITHKNOTS],2461110595:[IFCRATIONALBSPLINECURVEWITHKNOTS],1136057603:[IFCOUTERBOUNDARYCURVE],3299480353:[IFCBEAMSTANDARDCASE,IFCBEAM,IFCWINDOWSTANDARDCASE,IFCWINDOW,IFCWALLSTANDARDCASE,IFCWALLELEMENTEDCASE,IFCWALL,IFCSTAIRFLIGHT,IFCSTAIR,IFCSLABSTANDARDCASE,IFCSLABELEMENTEDCASE,IFCSLAB,IFCSHADINGDEVICE,IFCROOF,IFCRAMPFLIGHT,IFCRAMP,IFCRAILING,IFCPLATESTANDARDCASE,IFCPLATE,IFCPILE,IFCMEMBERSTANDARDCASE,IFCMEMBER,IFCFOOTING,IFCDOORSTANDARDCASE,IFCDOOR,IFCCURTAINWALL,IFCCOVERING,IFCCOLUMNSTANDARDCASE,IFCCOLUMN,IFCCHIMNEY,IFCBUILDINGELEMENTPROXY],843113511:[IFCCOLUMNSTANDARDCASE],2063403501:[IFCCONTROLLERTYPE,IFCALARMTYPE,IFCACTUATORTYPE,IFCUNITARYCONTROLELEMENTTYPE,IFCSENSORTYPE,IFCPROTECTIVEDEVICETRIPPINGUNITTYPE,IFCFLOWINSTRUMENTTYPE],1945004755:[IFCCONTROLLER,IFCALARM,IFCACTUATOR,IFCUNITARYCONTROLELEMENT,IFCSENSOR,IFCPROTECTIVEDEVICETRIPPINGUNIT,IFCFLOWINSTRUMENT,IFCDISTRIBUTIONCONTROLELEMENT,IFCDISTRIBUTIONCHAMBERELEMENT,IFCFILTER,IFCDUCTSILENCER,IFCINTERCEPTOR,IFCFLOWTREATMENTDEVICE,IFCFIRESUPPRESSIONTERMINAL,IFCELECTRICAPPLIANCE,IFCCOMMUNICATIONSAPPLIANCE,IFCAUDIOVISUALAPPLIANCE,IFCAIRTERMINAL,IFCWASTETERMINAL,IFCSTACKTERMINAL,IFCSPACEHEATER,IFCSANITARYTERMINAL,IFCOUTLET,IFCMEDICALDEVICE,IFCLIGHTFIXTURE,IFCLAMP,IFCFLOWTERMINAL,IFCELECTRICFLOWSTORAGEDEVICE,IFCTANK,IFCFLOWSTORAGEDEVICE,IFCDUCTSEGMENT,IFCCABLESEGMENT,IFCCABLECARRIERSEGMENT,IFCPIPESEGMENT,IFCFLOWSEGMENT,IFCFAN,IFCCOMPRESSOR,IFCPUMP,IFCFLOWMOVINGDEVICE,IFCDUCTFITTING,IFCCABLEFITTING,IFCCABLECARRIERFITTING,IFCPIPEFITTING,IFCJUNCTIONBOX,IFCFLOWFITTING,IFCELECTRICTIMECONTROL,IFCELECTRICDISTRIBUTIONBOARD,IFCDAMPER,IFCAIRTERMINALBOX,IFCVALVE,IFCSWITCHINGDEVICE,IFCPROTECTIVEDEVICE,IFCFLOWMETER,IFCFLOWCONTROLLER,IFCELECTRICMOTOR,IFCELECTRICGENERATOR,IFCCOOLINGTOWER,IFCCOOLEDBEAM,IFCCONDENSER,IFCCOIL,IFCCHILLER,IFCBURNER,IFCBOILER,IFCAIRTOAIRHEATRECOVERY,IFCUNITARYEQUIPMENT,IFCTUBEBUNDLE,IFCTRANSFORMER,IFCSOLARDEVICE,IFCMOTORCONNECTION,IFCHUMIDIFIER,IFCHEATEXCHANGER,IFCEVAPORATOR,IFCEVAPORATIVECOOLER,IFCENGINE,IFCENERGYCONVERSIONDEVICE,IFCDISTRIBUTIONFLOWELEMENT],3040386961:[IFCDISTRIBUTIONCHAMBERELEMENT,IFCFILTER,IFCDUCTSILENCER,IFCINTERCEPTOR,IFCFLOWTREATMENTDEVICE,IFCFIRESUPPRESSIONTERMINAL,IFCELECTRICAPPLIANCE,IFCCOMMUNICATIONSAPPLIANCE,IFCAUDIOVISUALAPPLIANCE,IFCAIRTERMINAL,IFCWASTETERMINAL,IFCSTACKTERMINAL,IFCSPACEHEATER,IFCSANITARYTERMINAL,IFCOUTLET,IFCMEDICALDEVICE,IFCLIGHTFIXTURE,IFCLAMP,IFCFLOWTERMINAL,IFCELECTRICFLOWSTORAGEDEVICE,IFCTANK,IFCFLOWSTORAGEDEVICE,IFCDUCTSEGMENT,IFCCABLESEGMENT,IFCCABLECARRIERSEGMENT,IFCPIPESEGMENT,IFCFLOWSEGMENT,IFCFAN,IFCCOMPRESSOR,IFCPUMP,IFCFLOWMOVINGDEVICE,IFCDUCTFITTING,IFCCABLEFITTING,IFCCABLECARRIERFITTING,IFCPIPEFITTING,IFCJUNCTIONBOX,IFCFLOWFITTING,IFCELECTRICTIMECONTROL,IFCELECTRICDISTRIBUTIONBOARD,IFCDAMPER,IFCAIRTERMINALBOX,IFCVALVE,IFCSWITCHINGDEVICE,IFCPROTECTIVEDEVICE,IFCFLOWMETER,IFCFLOWCONTROLLER,IFCELECTRICMOTOR,IFCELECTRICGENERATOR,IFCCOOLINGTOWER,IFCCOOLEDBEAM,IFCCONDENSER,IFCCOIL,IFCCHILLER,IFCBURNER,IFCBOILER,IFCAIRTOAIRHEATRECOVERY,IFCUNITARYEQUIPMENT,IFCTUBEBUNDLE,IFCTRANSFORMER,IFCSOLARDEVICE,IFCMOTORCONNECTION,IFCHUMIDIFIER,IFCHEATEXCHANGER,IFCEVAPORATOR,IFCEVAPORATIVECOOLER,IFCENGINE,IFCENERGYCONVERSIONDEVICE],3205830791:[IFCDISTRIBUTIONCIRCUIT],395920057:[IFCDOORSTANDARDCASE],1658829314:[IFCELECTRICMOTOR,IFCELECTRICGENERATOR,IFCCOOLINGTOWER,IFCCOOLEDBEAM,IFCCONDENSER,IFCCOIL,IFCCHILLER,IFCBURNER,IFCBOILER,IFCAIRTOAIRHEATRECOVERY,IFCUNITARYEQUIPMENT,IFCTUBEBUNDLE,IFCTRANSFORMER,IFCSOLARDEVICE,IFCMOTORCONNECTION,IFCHUMIDIFIER,IFCHEATEXCHANGER,IFCEVAPORATOR,IFCEVAPORATIVECOOLER,IFCENGINE],2058353004:[IFCELECTRICTIMECONTROL,IFCELECTRICDISTRIBUTIONBOARD,IFCDAMPER,IFCAIRTERMINALBOX,IFCVALVE,IFCSWITCHINGDEVICE,IFCPROTECTIVEDEVICE,IFCFLOWMETER],4278956645:[IFCDUCTFITTING,IFCCABLEFITTING,IFCCABLECARRIERFITTING,IFCPIPEFITTING,IFCJUNCTIONBOX],3132237377:[IFCFAN,IFCCOMPRESSOR,IFCPUMP],987401354:[IFCDUCTSEGMENT,IFCCABLESEGMENT,IFCCABLECARRIERSEGMENT,IFCPIPESEGMENT],707683696:[IFCELECTRICFLOWSTORAGEDEVICE,IFCTANK],2223149337:[IFCFIRESUPPRESSIONTERMINAL,IFCELECTRICAPPLIANCE,IFCCOMMUNICATIONSAPPLIANCE,IFCAUDIOVISUALAPPLIANCE,IFCAIRTERMINAL,IFCWASTETERMINAL,IFCSTACKTERMINAL,IFCSPACEHEATER,IFCSANITARYTERMINAL,IFCOUTLET,IFCMEDICALDEVICE,IFCLIGHTFIXTURE,IFCLAMP],3508470533:[IFCFILTER,IFCDUCTSILENCER,IFCINTERCEPTOR],1073191201:[IFCMEMBERSTANDARDCASE],3171933400:[IFCPLATESTANDARDCASE],1529196076:[IFCSLABSTANDARDCASE,IFCSLABELEMENTEDCASE],2391406946:[IFCWALLSTANDARDCASE,IFCWALLELEMENTEDCASE],3304561284:[IFCWINDOWSTANDARDCASE],753842376:[IFCBEAMSTANDARDCASE],1062813311:[IFCCONTROLLER,IFCALARM,IFCACTUATOR,IFCUNITARYCONTROLELEMENT,IFCSENSOR,IFCPROTECTIVEDEVICETRIPPINGUNIT,IFCFLOWINSTRUMENT]};InversePropertyDef[2]={3630933823:[["HasExternalReference",IFCEXTERNALREFERENCERELATIONSHIP,3,true]],618182010:[["OfPerson",IFCPERSON,7,true],["OfOrganization",IFCORGANIZATION,4,true]],411424972:[["HasExternalReference",IFCEXTERNALREFERENCERELATIONSHIP,3,true]],130549933:[["HasExternalReferences",IFCEXTERNALREFERENCERELATIONSHIP,3,true],["ApprovedObjects",IFCRELASSOCIATESAPPROVAL,5,true],["ApprovedResources",IFCRESOURCEAPPROVALRELATIONSHIP,3,true],["IsRelatedWith",IFCAPPROVALRELATIONSHIP,3,true],["Relates",IFCAPPROVALRELATIONSHIP,2,true]],1959218052:[["HasExternalReferences",IFCEXTERNALREFERENCERELATIONSHIP,3,true],["PropertiesForConstraint",IFCRESOURCECONSTRAINTRELATIONSHIP,2,true]],1466758467:[["HasCoordinateOperation",IFCCOORDINATEOPERATION,0,true]],602808272:[["HasExternalReference",IFCEXTERNALREFERENCERELATIONSHIP,3,true]],3200245327:[["ExternalReferenceForResources",IFCEXTERNALREFERENCERELATIONSHIP,2,true]],2242383968:[["ExternalReferenceForResources",IFCEXTERNALREFERENCERELATIONSHIP,2,true]],1040185647:[["ExternalReferenceForResources",IFCEXTERNALREFERENCERELATIONSHIP,2,true]],3548104201:[["ExternalReferenceForResources",IFCEXTERNALREFERENCERELATIONSHIP,2,true]],852622518:[["PartOfW",IFCGRID,9,true],["PartOfV",IFCGRID,8,true],["PartOfU",IFCGRID,7,true],["HasIntersections",IFCVIRTUALGRIDINTERSECTION,0,true]],2655187982:[["LibraryInfoForObjects",IFCRELASSOCIATESLIBRARY,5,true],["HasLibraryReferences",IFCLIBRARYREFERENCE,5,true]],3452421091:[["ExternalReferenceForResources",IFCEXTERNALREFERENCERELATIONSHIP,2,true],["LibraryRefForObjects",IFCRELASSOCIATESLIBRARY,5,true]],760658860:[["AssociatedTo",IFCRELASSOCIATESMATERIAL,5,true],["HasExternalReferences",IFCEXTERNALREFERENCERELATIONSHIP,3,true],["HasProperties",IFCMATERIALPROPERTIES,3,true]],248100487:[["AssociatedTo",IFCRELASSOCIATESMATERIAL,5,true],["HasExternalReferences",IFCEXTERNALREFERENCERELATIONSHIP,3,true],["HasProperties",IFCMATERIALPROPERTIES,3,true],["ToMaterialLayerSet",IFCMATERIALLAYERSET,0,false]],3303938423:[["AssociatedTo",IFCRELASSOCIATESMATERIAL,5,true],["HasExternalReferences",IFCEXTERNALREFERENCERELATIONSHIP,3,true],["HasProperties",IFCMATERIALPROPERTIES,3,true]],1847252529:[["AssociatedTo",IFCRELASSOCIATESMATERIAL,5,true],["HasExternalReferences",IFCEXTERNALREFERENCERELATIONSHIP,3,true],["HasProperties",IFCMATERIALPROPERTIES,3,true],["ToMaterialLayerSet",IFCMATERIALLAYERSET,0,false]],2235152071:[["AssociatedTo",IFCRELASSOCIATESMATERIAL,5,true],["HasExternalReferences",IFCEXTERNALREFERENCERELATIONSHIP,3,true],["HasProperties",IFCMATERIALPROPERTIES,3,true],["ToMaterialProfileSet",IFCMATERIALPROFILESET,2,false]],164193824:[["AssociatedTo",IFCRELASSOCIATESMATERIAL,5,true],["HasExternalReferences",IFCEXTERNALREFERENCERELATIONSHIP,3,true],["HasProperties",IFCMATERIALPROPERTIES,3,true]],552965576:[["AssociatedTo",IFCRELASSOCIATESMATERIAL,5,true],["HasExternalReferences",IFCEXTERNALREFERENCERELATIONSHIP,3,true],["HasProperties",IFCMATERIALPROPERTIES,3,true],["ToMaterialProfileSet",IFCMATERIALPROFILESET,2,false]],1507914824:[["AssociatedTo",IFCRELASSOCIATESMATERIAL,5,true]],3368373690:[["HasExternalReferences",IFCEXTERNALREFERENCERELATIONSHIP,3,true],["PropertiesForConstraint",IFCRESOURCECONSTRAINTRELATIONSHIP,2,true]],3701648758:[["PlacesObject",IFCPRODUCT,5,true],["ReferencedByPlacements",IFCLOCALPLACEMENT,0,true]],2251480897:[["HasExternalReferences",IFCEXTERNALREFERENCERELATIONSHIP,3,true],["PropertiesForConstraint",IFCRESOURCECONSTRAINTRELATIONSHIP,2,true]],4251960020:[["IsRelatedBy",IFCORGANIZATIONRELATIONSHIP,3,true],["Relates",IFCORGANIZATIONRELATIONSHIP,2,true],["Engages",IFCPERSONANDORGANIZATION,1,true]],2077209135:[["EngagedIn",IFCPERSONANDORGANIZATION,0,true]],2483315170:[["HasExternalReferences",IFCEXTERNALREFERENCERELATIONSHIP,3,true],["PartOfComplex",IFCPHYSICALCOMPLEXQUANTITY,2,true]],2226359599:[["HasExternalReferences",IFCEXTERNALREFERENCERELATIONSHIP,3,true],["PartOfComplex",IFCPHYSICALCOMPLEXQUANTITY,2,true]],3355820592:[["OfPerson",IFCPERSON,7,true],["OfOrganization",IFCORGANIZATION,4,true]],3958567839:[["HasExternalReference",IFCEXTERNALREFERENCERELATIONSHIP,3,true],["HasProperties",IFCPROFILEPROPERTIES,3,true]],3843373140:[["HasCoordinateOperation",IFCCOORDINATEOPERATION,0,true]],986844984:[["HasExternalReferences",IFCEXTERNALREFERENCERELATIONSHIP,3,true]],3710013099:[["HasExternalReferences",IFCEXTERNALREFERENCERELATIONSHIP,3,true]],2044713172:[["HasExternalReferences",IFCEXTERNALREFERENCERELATIONSHIP,3,true],["PartOfComplex",IFCPHYSICALCOMPLEXQUANTITY,2,true]],2093928680:[["HasExternalReferences",IFCEXTERNALREFERENCERELATIONSHIP,3,true],["PartOfComplex",IFCPHYSICALCOMPLEXQUANTITY,2,true]],931644368:[["HasExternalReferences",IFCEXTERNALREFERENCERELATIONSHIP,3,true],["PartOfComplex",IFCPHYSICALCOMPLEXQUANTITY,2,true]],3252649465:[["HasExternalReferences",IFCEXTERNALREFERENCERELATIONSHIP,3,true],["PartOfComplex",IFCPHYSICALCOMPLEXQUANTITY,2,true]],2405470396:[["HasExternalReferences",IFCEXTERNALREFERENCERELATIONSHIP,3,true],["PartOfComplex",IFCPHYSICALCOMPLEXQUANTITY,2,true]],825690147:[["HasExternalReferences",IFCEXTERNALREFERENCERELATIONSHIP,3,true],["PartOfComplex",IFCPHYSICALCOMPLEXQUANTITY,2,true]],1076942058:[["RepresentationMap",IFCREPRESENTATIONMAP,1,true],["LayerAssignments",IFCPRESENTATIONLAYERASSIGNMENT,2,true],["OfProductRepresentation",IFCPRODUCTREPRESENTATION,2,true]],3377609919:[["RepresentationsInContext",IFCREPRESENTATION,0,true]],3008791417:[["LayerAssignment",IFCPRESENTATIONLAYERASSIGNMENT,2,true],["StyledByItem",IFCSTYLEDITEM,0,true]],1660063152:[["HasShapeAspects",IFCSHAPEASPECT,4,true],["MapUsage",IFCMAPPEDITEM,0,true]],3982875396:[["RepresentationMap",IFCREPRESENTATIONMAP,1,true],["LayerAssignments",IFCPRESENTATIONLAYERASSIGNMENT,2,true],["OfProductRepresentation",IFCPRODUCTREPRESENTATION,2,true],["OfShapeAspect",IFCSHAPEASPECT,0,true]],4240577450:[["RepresentationMap",IFCREPRESENTATIONMAP,1,true],["LayerAssignments",IFCPRESENTATIONLAYERASSIGNMENT,2,true],["OfProductRepresentation",IFCPRODUCTREPRESENTATION,2,true],["OfShapeAspect",IFCSHAPEASPECT,0,true]],2830218821:[["RepresentationMap",IFCREPRESENTATIONMAP,1,true],["LayerAssignments",IFCPRESENTATIONLAYERASSIGNMENT,2,true],["OfProductRepresentation",IFCPRODUCTREPRESENTATION,2,true]],3958052878:[["LayerAssignment",IFCPRESENTATIONLAYERASSIGNMENT,2,true],["StyledByItem",IFCSTYLEDITEM,0,true]],3049322572:[["RepresentationMap",IFCREPRESENTATIONMAP,1,true],["LayerAssignments",IFCPRESENTATIONLAYERASSIGNMENT,2,true],["OfProductRepresentation",IFCPRODUCTREPRESENTATION,2,true]],626085974:[["IsMappedBy",IFCTEXTURECOORDINATE,0,true],["UsedInStyles",IFCSURFACESTYLEWITHTEXTURES,0,true]],912023232:[["OfPerson",IFCPERSON,7,true],["OfOrganization",IFCORGANIZATION,4,true]],3101149627:[["HasExternalReference",IFCEXTERNALREFERENCERELATIONSHIP,3,true]],1377556343:[["LayerAssignment",IFCPRESENTATIONLAYERASSIGNMENT,2,true],["StyledByItem",IFCSTYLEDITEM,0,true]],1735638870:[["RepresentationMap",IFCREPRESENTATIONMAP,1,true],["LayerAssignments",IFCPRESENTATIONLAYERASSIGNMENT,2,true],["OfProductRepresentation",IFCPRODUCTREPRESENTATION,2,true],["OfShapeAspect",IFCSHAPEASPECT,0,true]],2799835756:[["LayerAssignment",IFCPRESENTATIONLAYERASSIGNMENT,2,true],["StyledByItem",IFCSTYLEDITEM,0,true]],1907098498:[["LayerAssignment",IFCPRESENTATIONLAYERASSIGNMENT,2,true],["StyledByItem",IFCSTYLEDITEM,0,true]],3798115385:[["HasExternalReference",IFCEXTERNALREFERENCERELATIONSHIP,3,true],["HasProperties",IFCPROFILEPROPERTIES,3,true]],1310608509:[["HasExternalReference",IFCEXTERNALREFERENCERELATIONSHIP,3,true],["HasProperties",IFCPROFILEPROPERTIES,3,true]],2705031697:[["HasExternalReference",IFCEXTERNALREFERENCERELATIONSHIP,3,true],["HasProperties",IFCPROFILEPROPERTIES,3,true]],616511568:[["IsMappedBy",IFCTEXTURECOORDINATE,0,true],["UsedInStyles",IFCSURFACESTYLEWITHTEXTURES,0,true]],3150382593:[["HasExternalReference",IFCEXTERNALREFERENCERELATIONSHIP,3,true],["HasProperties",IFCPROFILEPROPERTIES,3,true]],747523909:[["ClassificationForObjects",IFCRELASSOCIATESCLASSIFICATION,5,true],["HasReferences",IFCCLASSIFICATIONREFERENCE,3,true]],647927063:[["ExternalReferenceForResources",IFCEXTERNALREFERENCERELATIONSHIP,2,true],["ClassificationRefForObjects",IFCRELASSOCIATESCLASSIFICATION,5,true],["HasReferences",IFCCLASSIFICATIONREFERENCE,3,true]],1485152156:[["HasExternalReference",IFCEXTERNALREFERENCERELATIONSHIP,3,true],["HasProperties",IFCPROFILEPROPERTIES,3,true]],370225590:[["LayerAssignment",IFCPRESENTATIONLAYERASSIGNMENT,2,true],["StyledByItem",IFCSTYLEDITEM,0,true]],3050246964:[["HasExternalReference",IFCEXTERNALREFERENCERELATIONSHIP,3,true]],2889183280:[["HasExternalReference",IFCEXTERNALREFERENCERELATIONSHIP,3,true]],2713554722:[["HasExternalReference",IFCEXTERNALREFERENCERELATIONSHIP,3,true]],3632507154:[["HasExternalReference",IFCEXTERNALREFERENCERELATIONSHIP,3,true],["HasProperties",IFCPROFILEPROPERTIES,3,true]],1154170062:[["DocumentInfoForObjects",IFCRELASSOCIATESDOCUMENT,5,true],["HasDocumentReferences",IFCDOCUMENTREFERENCE,4,true],["IsPointedTo",IFCDOCUMENTINFORMATIONRELATIONSHIP,3,true],["IsPointer",IFCDOCUMENTINFORMATIONRELATIONSHIP,2,true]],3732053477:[["ExternalReferenceForResources",IFCEXTERNALREFERENCERELATIONSHIP,2,true],["DocumentRefForObjects",IFCRELASSOCIATESDOCUMENT,5,true]],3900360178:[["LayerAssignment",IFCPRESENTATIONLAYERASSIGNMENT,2,true],["StyledByItem",IFCSTYLEDITEM,0,true]],476780140:[["LayerAssignment",IFCPRESENTATIONLAYERASSIGNMENT,2,true],["StyledByItem",IFCSTYLEDITEM,0,true]],297599258:[["HasExternalReferences",IFCEXTERNALREFERENCERELATIONSHIP,3,true]],2556980723:[["LayerAssignment",IFCPRESENTATIONLAYERASSIGNMENT,2,true],["StyledByItem",IFCSTYLEDITEM,0,true],["HasTextureMaps",IFCTEXTUREMAP,2,true]],1809719519:[["LayerAssignment",IFCPRESENTATIONLAYERASSIGNMENT,2,true],["StyledByItem",IFCSTYLEDITEM,0,true]],803316827:[["LayerAssignment",IFCPRESENTATIONLAYERASSIGNMENT,2,true],["StyledByItem",IFCSTYLEDITEM,0,true]],3008276851:[["LayerAssignment",IFCPRESENTATIONLAYERASSIGNMENT,2,true],["StyledByItem",IFCSTYLEDITEM,0,true],["HasTextureMaps",IFCTEXTUREMAP,2,true]],3448662350:[["RepresentationsInContext",IFCREPRESENTATION,0,true],["HasSubContexts",IFCGEOMETRICREPRESENTATIONSUBCONTEXT,6,true],["HasCoordinateOperation",IFCCOORDINATEOPERATION,0,true]],2453401579:[["LayerAssignment",IFCPRESENTATIONLAYERASSIGNMENT,2,true],["StyledByItem",IFCSTYLEDITEM,0,true]],4142052618:[["RepresentationsInContext",IFCREPRESENTATION,0,true],["HasSubContexts",IFCGEOMETRICREPRESENTATIONSUBCONTEXT,6,true],["HasCoordinateOperation",IFCCOORDINATEOPERATION,0,true]],3590301190:[["LayerAssignment",IFCPRESENTATIONLAYERASSIGNMENT,2,true],["StyledByItem",IFCSTYLEDITEM,0,true]],178086475:[["PlacesObject",IFCPRODUCT,5,true],["ReferencedByPlacements",IFCLOCALPLACEMENT,0,true]],812098782:[["LayerAssignment",IFCPRESENTATIONLAYERASSIGNMENT,2,true],["StyledByItem",IFCSTYLEDITEM,0,true]],3905492369:[["IsMappedBy",IFCTEXTURECOORDINATE,0,true],["UsedInStyles",IFCSURFACESTYLEWITHTEXTURES,0,true]],3741457305:[["HasExternalReference",IFCEXTERNALREFERENCERELATIONSHIP,3,true]],1402838566:[["LayerAssignment",IFCPRESENTATIONLAYERASSIGNMENT,2,true],["StyledByItem",IFCSTYLEDITEM,0,true]],125510826:[["LayerAssignment",IFCPRESENTATIONLAYERASSIGNMENT,2,true],["StyledByItem",IFCSTYLEDITEM,0,true]],2604431987:[["LayerAssignment",IFCPRESENTATIONLAYERASSIGNMENT,2,true],["StyledByItem",IFCSTYLEDITEM,0,true]],4266656042:[["LayerAssignment",IFCPRESENTATIONLAYERASSIGNMENT,2,true],["StyledByItem",IFCSTYLEDITEM,0,true]],1520743889:[["LayerAssignment",IFCPRESENTATIONLAYERASSIGNMENT,2,true],["StyledByItem",IFCSTYLEDITEM,0,true]],3422422726:[["LayerAssignment",IFCPRESENTATIONLAYERASSIGNMENT,2,true],["StyledByItem",IFCSTYLEDITEM,0,true]],2624227202:[["PlacesObject",IFCPRODUCT,5,true],["ReferencedByPlacements",IFCLOCALPLACEMENT,0,true]],1008929658:[["LayerAssignment",IFCPRESENTATIONLAYERASSIGNMENT,2,true],["StyledByItem",IFCSTYLEDITEM,0,true]],2347385850:[["LayerAssignment",IFCPRESENTATIONLAYERASSIGNMENT,2,true],["StyledByItem",IFCSTYLEDITEM,0,true]],1838606355:[["AssociatedTo",IFCRELASSOCIATESMATERIAL,5,true],["HasExternalReferences",IFCEXTERNALREFERENCERELATIONSHIP,3,true],["HasProperties",IFCMATERIALPROPERTIES,3,true],["HasRepresentation",IFCMATERIALDEFINITIONREPRESENTATION,3,true],["IsRelatedWith",IFCMATERIALRELATIONSHIP,3,true],["RelatesTo",IFCMATERIALRELATIONSHIP,2,true]],3708119e3:[["AssociatedTo",IFCRELASSOCIATESMATERIAL,5,true],["HasExternalReferences",IFCEXTERNALREFERENCERELATIONSHIP,3,true],["HasProperties",IFCMATERIALPROPERTIES,3,true],["ToMaterialConstituentSet",IFCMATERIALCONSTITUENTSET,2,false]],2852063980:[["AssociatedTo",IFCRELASSOCIATESMATERIAL,5,true],["HasExternalReferences",IFCEXTERNALREFERENCERELATIONSHIP,3,true],["HasProperties",IFCMATERIALPROPERTIES,3,true]],1303795690:[["AssociatedTo",IFCRELASSOCIATESMATERIAL,5,true]],3079605661:[["AssociatedTo",IFCRELASSOCIATESMATERIAL,5,true]],3404854881:[["AssociatedTo",IFCRELASSOCIATESMATERIAL,5,true]],3265635763:[["HasExternalReferences",IFCEXTERNALREFERENCERELATIONSHIP,3,true]],2998442950:[["HasExternalReference",IFCEXTERNALREFERENCERELATIONSHIP,3,true],["HasProperties",IFCPROFILEPROPERTIES,3,true]],219451334:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true]],2665983363:[["LayerAssignment",IFCPRESENTATIONLAYERASSIGNMENT,2,true],["StyledByItem",IFCSTYLEDITEM,0,true]],1029017970:[["LayerAssignment",IFCPRESENTATIONLAYERASSIGNMENT,2,true],["StyledByItem",IFCSTYLEDITEM,0,true]],2529465313:[["HasExternalReference",IFCEXTERNALREFERENCERELATIONSHIP,3,true],["HasProperties",IFCPROFILEPROPERTIES,3,true]],2519244187:[["LayerAssignment",IFCPRESENTATIONLAYERASSIGNMENT,2,true],["StyledByItem",IFCSTYLEDITEM,0,true]],3021840470:[["HasExternalReferences",IFCEXTERNALREFERENCERELATIONSHIP,3,true],["PartOfComplex",IFCPHYSICALCOMPLEXQUANTITY,2,true]],597895409:[["IsMappedBy",IFCTEXTURECOORDINATE,0,true],["UsedInStyles",IFCSURFACESTYLEWITHTEXTURES,0,true]],2004835150:[["LayerAssignment",IFCPRESENTATIONLAYERASSIGNMENT,2,true],["StyledByItem",IFCSTYLEDITEM,0,true]],1663979128:[["LayerAssignment",IFCPRESENTATIONLAYERASSIGNMENT,2,true],["StyledByItem",IFCSTYLEDITEM,0,true]],2067069095:[["LayerAssignment",IFCPRESENTATIONLAYERASSIGNMENT,2,true],["StyledByItem",IFCSTYLEDITEM,0,true]],4022376103:[["LayerAssignment",IFCPRESENTATIONLAYERASSIGNMENT,2,true],["StyledByItem",IFCSTYLEDITEM,0,true]],1423911732:[["LayerAssignment",IFCPRESENTATIONLAYERASSIGNMENT,2,true],["StyledByItem",IFCSTYLEDITEM,0,true]],2924175390:[["LayerAssignment",IFCPRESENTATIONLAYERASSIGNMENT,2,true],["StyledByItem",IFCSTYLEDITEM,0,true]],2775532180:[["LayerAssignment",IFCPRESENTATIONLAYERASSIGNMENT,2,true],["StyledByItem",IFCSTYLEDITEM,0,true]],3778827333:[["HasExternalReferences",IFCEXTERNALREFERENCERELATIONSHIP,3,true]],673634403:[["ShapeOfProduct",IFCPRODUCT,6,true],["HasShapeAspects",IFCSHAPEASPECT,4,true]],2802850158:[["HasExternalReferences",IFCEXTERNALREFERENCERELATIONSHIP,3,true]],2598011224:[["HasExternalReferences",IFCEXTERNALREFERENCERELATIONSHIP,3,true],["PartOfPset",IFCPROPERTYSET,4,true],["PropertyForDependance",IFCPROPERTYDEPENDENCYRELATIONSHIP,2,true],["PropertyDependsOn",IFCPROPERTYDEPENDENCYRELATIONSHIP,3,true],["PartOfComplex",IFCCOMPLEXPROPERTY,3,true],["HasConstraints",IFCRESOURCECONSTRAINTRELATIONSHIP,3,true],["HasApprovals",IFCRESOURCEAPPROVALRELATIONSHIP,2,true]],1680319473:[["HasContext",IFCRELDECLARES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true]],3357820518:[["HasContext",IFCRELDECLARES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["DefinesType",IFCTYPEOBJECT,5,true],["IsDefinedBy",IFCRELDEFINESBYTEMPLATE,4,true],["DefinesOccurrence",IFCRELDEFINESBYPROPERTIES,5,true]],1482703590:[["HasContext",IFCRELDECLARES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true]],2090586900:[["HasContext",IFCRELDECLARES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["DefinesType",IFCTYPEOBJECT,5,true],["IsDefinedBy",IFCRELDEFINESBYTEMPLATE,4,true],["DefinesOccurrence",IFCRELDEFINESBYPROPERTIES,5,true]],3615266464:[["HasExternalReference",IFCEXTERNALREFERENCERELATIONSHIP,3,true],["HasProperties",IFCPROFILEPROPERTIES,3,true]],3413951693:[["HasExternalReference",IFCEXTERNALREFERENCERELATIONSHIP,3,true]],1580146022:[["HasExternalReferences",IFCEXTERNALREFERENCERELATIONSHIP,3,true]],2778083089:[["HasExternalReference",IFCEXTERNALREFERENCERELATIONSHIP,3,true],["HasProperties",IFCPROFILEPROPERTIES,3,true]],2042790032:[["HasExternalReferences",IFCEXTERNALREFERENCERELATIONSHIP,3,true]],4165799628:[["HasExternalReferences",IFCEXTERNALREFERENCERELATIONSHIP,3,true]],1509187699:[["LayerAssignment",IFCPRESENTATIONLAYERASSIGNMENT,2,true],["StyledByItem",IFCSTYLEDITEM,0,true]],4124623270:[["LayerAssignment",IFCPRESENTATIONLAYERASSIGNMENT,2,true],["StyledByItem",IFCSTYLEDITEM,0,true]],3692461612:[["HasExternalReferences",IFCEXTERNALREFERENCERELATIONSHIP,3,true],["PartOfPset",IFCPROPERTYSET,4,true],["PropertyForDependance",IFCPROPERTYDEPENDENCYRELATIONSHIP,2,true],["PropertyDependsOn",IFCPROPERTYDEPENDENCYRELATIONSHIP,3,true],["PartOfComplex",IFCCOMPLEXPROPERTY,3,true],["HasConstraints",IFCRESOURCECONSTRAINTRELATIONSHIP,3,true],["HasApprovals",IFCRESOURCEAPPROVALRELATIONSHIP,2,true]],723233188:[["LayerAssignment",IFCPRESENTATIONLAYERASSIGNMENT,2,true],["StyledByItem",IFCSTYLEDITEM,0,true]],2233826070:[["LayerAssignment",IFCPRESENTATIONLAYERASSIGNMENT,2,true],["StyledByItem",IFCSTYLEDITEM,0,true]],2513912981:[["LayerAssignment",IFCPRESENTATIONLAYERASSIGNMENT,2,true],["StyledByItem",IFCSTYLEDITEM,0,true]],2247615214:[["LayerAssignment",IFCPRESENTATIONLAYERASSIGNMENT,2,true],["StyledByItem",IFCSTYLEDITEM,0,true]],1260650574:[["LayerAssignment",IFCPRESENTATIONLAYERASSIGNMENT,2,true],["StyledByItem",IFCSTYLEDITEM,0,true]],1096409881:[["LayerAssignment",IFCPRESENTATIONLAYERASSIGNMENT,2,true],["StyledByItem",IFCSTYLEDITEM,0,true]],230924584:[["LayerAssignment",IFCPRESENTATIONLAYERASSIGNMENT,2,true],["StyledByItem",IFCSTYLEDITEM,0,true]],3071757647:[["HasExternalReference",IFCEXTERNALREFERENCERELATIONSHIP,3,true],["HasProperties",IFCPROFILEPROPERTIES,3,true]],901063453:[["LayerAssignment",IFCPRESENTATIONLAYERASSIGNMENT,2,true],["StyledByItem",IFCSTYLEDITEM,0,true]],4282788508:[["LayerAssignment",IFCPRESENTATIONLAYERASSIGNMENT,2,true],["StyledByItem",IFCSTYLEDITEM,0,true]],3124975700:[["LayerAssignment",IFCPRESENTATIONLAYERASSIGNMENT,2,true],["StyledByItem",IFCSTYLEDITEM,0,true]],2715220739:[["HasExternalReference",IFCEXTERNALREFERENCERELATIONSHIP,3,true],["HasProperties",IFCPROFILEPROPERTIES,3,true]],1628702193:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["Types",IFCRELDEFINESBYTYPE,5,true]],3736923433:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["Types",IFCRELDEFINESBYTYPE,5,true],["OperatesOn",IFCRELASSIGNSTOPROCESS,6,true]],2347495698:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["Types",IFCRELDEFINESBYTYPE,5,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true]],3698973494:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["Types",IFCRELDEFINESBYTYPE,5,true],["ResourceOf",IFCRELASSIGNSTORESOURCE,6,true]],427810014:[["HasExternalReference",IFCEXTERNALREFERENCERELATIONSHIP,3,true],["HasProperties",IFCPROFILEPROPERTIES,3,true]],1417489154:[["LayerAssignment",IFCPRESENTATIONLAYERASSIGNMENT,2,true],["StyledByItem",IFCSTYLEDITEM,0,true]],2759199220:[["LayerAssignment",IFCPRESENTATIONLAYERASSIGNMENT,2,true],["StyledByItem",IFCSTYLEDITEM,0,true]],1299126871:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["Types",IFCRELDEFINESBYTYPE,5,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true]],2543172580:[["HasExternalReference",IFCEXTERNALREFERENCERELATIONSHIP,3,true],["HasProperties",IFCPROFILEPROPERTIES,3,true]],3406155212:[["LayerAssignment",IFCPRESENTATIONLAYERASSIGNMENT,2,true],["StyledByItem",IFCSTYLEDITEM,0,true],["HasTextureMaps",IFCTEXTUREMAP,2,true]],669184980:[["LayerAssignment",IFCPRESENTATIONLAYERASSIGNMENT,2,true],["StyledByItem",IFCSTYLEDITEM,0,true]],3207858831:[["HasExternalReference",IFCEXTERNALREFERENCERELATIONSHIP,3,true],["HasProperties",IFCPROFILEPROPERTIES,3,true]],4261334040:[["LayerAssignment",IFCPRESENTATIONLAYERASSIGNMENT,2,true],["StyledByItem",IFCSTYLEDITEM,0,true]],3125803723:[["LayerAssignment",IFCPRESENTATIONLAYERASSIGNMENT,2,true],["StyledByItem",IFCSTYLEDITEM,0,true]],2740243338:[["LayerAssignment",IFCPRESENTATIONLAYERASSIGNMENT,2,true],["StyledByItem",IFCSTYLEDITEM,0,true]],2736907675:[["LayerAssignment",IFCPRESENTATIONLAYERASSIGNMENT,2,true],["StyledByItem",IFCSTYLEDITEM,0,true]],4182860854:[["LayerAssignment",IFCPRESENTATIONLAYERASSIGNMENT,2,true],["StyledByItem",IFCSTYLEDITEM,0,true]],2581212453:[["LayerAssignment",IFCPRESENTATIONLAYERASSIGNMENT,2,true],["StyledByItem",IFCSTYLEDITEM,0,true]],2713105998:[["LayerAssignment",IFCPRESENTATIONLAYERASSIGNMENT,2,true],["StyledByItem",IFCSTYLEDITEM,0,true]],2898889636:[["HasExternalReference",IFCEXTERNALREFERENCERELATIONSHIP,3,true],["HasProperties",IFCPROFILEPROPERTIES,3,true]],1123145078:[["LayerAssignment",IFCPRESENTATIONLAYERASSIGNMENT,2,true],["StyledByItem",IFCSTYLEDITEM,0,true]],574549367:[["LayerAssignment",IFCPRESENTATIONLAYERASSIGNMENT,2,true],["StyledByItem",IFCSTYLEDITEM,0,true]],1675464909:[["LayerAssignment",IFCPRESENTATIONLAYERASSIGNMENT,2,true],["StyledByItem",IFCSTYLEDITEM,0,true]],2059837836:[["LayerAssignment",IFCPRESENTATIONLAYERASSIGNMENT,2,true],["StyledByItem",IFCSTYLEDITEM,0,true]],59481748:[["LayerAssignment",IFCPRESENTATIONLAYERASSIGNMENT,2,true],["StyledByItem",IFCSTYLEDITEM,0,true]],3749851601:[["LayerAssignment",IFCPRESENTATIONLAYERASSIGNMENT,2,true],["StyledByItem",IFCSTYLEDITEM,0,true]],3486308946:[["LayerAssignment",IFCPRESENTATIONLAYERASSIGNMENT,2,true],["StyledByItem",IFCSTYLEDITEM,0,true]],3331915920:[["LayerAssignment",IFCPRESENTATIONLAYERASSIGNMENT,2,true],["StyledByItem",IFCSTYLEDITEM,0,true]],1416205885:[["LayerAssignment",IFCPRESENTATIONLAYERASSIGNMENT,2,true],["StyledByItem",IFCSTYLEDITEM,0,true]],1383045692:[["HasExternalReference",IFCEXTERNALREFERENCERELATIONSHIP,3,true],["HasProperties",IFCPROFILEPROPERTIES,3,true]],2205249479:[["LayerAssignment",IFCPRESENTATIONLAYERASSIGNMENT,2,true],["StyledByItem",IFCSTYLEDITEM,0,true]],2542286263:[["HasExternalReferences",IFCEXTERNALREFERENCERELATIONSHIP,3,true],["PartOfPset",IFCPROPERTYSET,4,true],["PropertyForDependance",IFCPROPERTYDEPENDENCYRELATIONSHIP,2,true],["PropertyDependsOn",IFCPROPERTYDEPENDENCYRELATIONSHIP,3,true],["PartOfComplex",IFCCOMPLEXPROPERTY,3,true],["HasConstraints",IFCRESOURCECONSTRAINTRELATIONSHIP,3,true],["HasApprovals",IFCRESOURCEAPPROVALRELATIONSHIP,2,true]],2485617015:[["LayerAssignment",IFCPRESENTATIONLAYERASSIGNMENT,2,true],["StyledByItem",IFCSTYLEDITEM,0,true],["UsingCurves",IFCCOMPOSITECURVE,0,true]],2574617495:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["Types",IFCRELDEFINESBYTYPE,5,true],["ResourceOf",IFCRELASSIGNSTORESOURCE,6,true]],3419103109:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDefinedBy",IFCRELDEFINESBYPROPERTIES,4,true],["Declares",IFCRELDECLARES,4,true]],1815067380:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["Types",IFCRELDEFINESBYTYPE,5,true],["ResourceOf",IFCRELASSIGNSTORESOURCE,6,true]],2506170314:[["LayerAssignment",IFCPRESENTATIONLAYERASSIGNMENT,2,true],["StyledByItem",IFCSTYLEDITEM,0,true]],2147822146:[["LayerAssignment",IFCPRESENTATIONLAYERASSIGNMENT,2,true],["StyledByItem",IFCSTYLEDITEM,0,true]],2601014836:[["LayerAssignment",IFCPRESENTATIONLAYERASSIGNMENT,2,true],["StyledByItem",IFCSTYLEDITEM,0,true]],2827736869:[["LayerAssignment",IFCPRESENTATIONLAYERASSIGNMENT,2,true],["StyledByItem",IFCSTYLEDITEM,0,true]],2629017746:[["LayerAssignment",IFCPRESENTATIONLAYERASSIGNMENT,2,true],["StyledByItem",IFCSTYLEDITEM,0,true]],32440307:[["LayerAssignment",IFCPRESENTATIONLAYERASSIGNMENT,2,true],["StyledByItem",IFCSTYLEDITEM,0,true]],526551008:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["Types",IFCRELDEFINESBYTYPE,5,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true]],1472233963:[["LayerAssignment",IFCPRESENTATIONLAYERASSIGNMENT,2,true],["StyledByItem",IFCSTYLEDITEM,0,true]],1883228015:[["HasContext",IFCRELDECLARES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["DefinesType",IFCTYPEOBJECT,5,true],["IsDefinedBy",IFCRELDEFINESBYTEMPLATE,4,true],["DefinesOccurrence",IFCRELDEFINESBYPROPERTIES,5,true]],339256511:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["Types",IFCRELDEFINESBYTYPE,5,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true]],2777663545:[["LayerAssignment",IFCPRESENTATIONLAYERASSIGNMENT,2,true],["StyledByItem",IFCSTYLEDITEM,0,true]],2835456948:[["HasExternalReference",IFCEXTERNALREFERENCERELATIONSHIP,3,true],["HasProperties",IFCPROFILEPROPERTIES,3,true]],4024345920:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["Types",IFCRELDEFINESBYTYPE,5,true],["OperatesOn",IFCRELASSIGNSTOPROCESS,6,true]],477187591:[["LayerAssignment",IFCPRESENTATIONLAYERASSIGNMENT,2,true],["StyledByItem",IFCSTYLEDITEM,0,true]],2804161546:[["LayerAssignment",IFCPRESENTATIONLAYERASSIGNMENT,2,true],["StyledByItem",IFCSTYLEDITEM,0,true]],2047409740:[["LayerAssignment",IFCPRESENTATIONLAYERASSIGNMENT,2,true],["StyledByItem",IFCSTYLEDITEM,0,true]],374418227:[["LayerAssignment",IFCPRESENTATIONLAYERASSIGNMENT,2,true],["StyledByItem",IFCSTYLEDITEM,0,true]],315944413:[["LayerAssignment",IFCPRESENTATIONLAYERASSIGNMENT,2,true],["StyledByItem",IFCSTYLEDITEM,0,true]],2652556860:[["LayerAssignment",IFCPRESENTATIONLAYERASSIGNMENT,2,true],["StyledByItem",IFCSTYLEDITEM,0,true]],4238390223:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["Types",IFCRELDEFINESBYTYPE,5,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true]],1268542332:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["Types",IFCRELDEFINESBYTYPE,5,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true]],4095422895:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["Types",IFCRELDEFINESBYTYPE,5,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true]],987898635:[["LayerAssignment",IFCPRESENTATIONLAYERASSIGNMENT,2,true],["StyledByItem",IFCSTYLEDITEM,0,true]],1484403080:[["HasExternalReference",IFCEXTERNALREFERENCERELATIONSHIP,3,true],["HasProperties",IFCPROFILEPROPERTIES,3,true]],178912537:[["LayerAssignment",IFCPRESENTATIONLAYERASSIGNMENT,2,true],["StyledByItem",IFCSTYLEDITEM,0,true],["ToFaceSet",IFCPOLYGONALFACESET,2,true]],2294589976:[["LayerAssignment",IFCPRESENTATIONLAYERASSIGNMENT,2,true],["StyledByItem",IFCSTYLEDITEM,0,true],["ToFaceSet",IFCPOLYGONALFACESET,2,true]],572779678:[["HasExternalReference",IFCEXTERNALREFERENCERELATIONSHIP,3,true],["HasProperties",IFCPROFILEPROPERTIES,3,true]],428585644:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["Types",IFCRELDEFINESBYTYPE,5,true],["ResourceOf",IFCRELASSIGNSTORESOURCE,6,true]],1281925730:[["LayerAssignment",IFCPRESENTATIONLAYERASSIGNMENT,2,true],["StyledByItem",IFCSTYLEDITEM,0,true]],1425443689:[["LayerAssignment",IFCPRESENTATIONLAYERASSIGNMENT,2,true],["StyledByItem",IFCSTYLEDITEM,0,true]],3888040117:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDeclaredBy",IFCRELDEFINESBYOBJECT,4,true],["Declares",IFCRELDEFINESBYOBJECT,5,true],["IsTypedBy",IFCRELDEFINESBYTYPE,4,true],["IsDefinedBy",IFCRELDEFINESBYPROPERTIES,4,true]],3388369263:[["LayerAssignment",IFCPRESENTATIONLAYERASSIGNMENT,2,true],["StyledByItem",IFCSTYLEDITEM,0,true]],3505215534:[["LayerAssignment",IFCPRESENTATIONLAYERASSIGNMENT,2,true],["StyledByItem",IFCSTYLEDITEM,0,true]],1682466193:[["LayerAssignment",IFCPRESENTATIONLAYERASSIGNMENT,2,true],["StyledByItem",IFCSTYLEDITEM,0,true]],603570806:[["LayerAssignment",IFCPRESENTATIONLAYERASSIGNMENT,2,true],["StyledByItem",IFCSTYLEDITEM,0,true]],220341763:[["LayerAssignment",IFCPRESENTATIONLAYERASSIGNMENT,2,true],["StyledByItem",IFCSTYLEDITEM,0,true]],3967405729:[["HasContext",IFCRELDECLARES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["DefinesType",IFCTYPEOBJECT,5,true],["IsDefinedBy",IFCRELDEFINESBYTEMPLATE,4,true],["DefinesOccurrence",IFCRELDEFINESBYPROPERTIES,5,true]],569719735:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["Types",IFCRELDEFINESBYTYPE,5,true],["OperatesOn",IFCRELASSIGNSTOPROCESS,6,true]],2945172077:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDeclaredBy",IFCRELDEFINESBYOBJECT,4,true],["Declares",IFCRELDEFINESBYOBJECT,5,true],["IsTypedBy",IFCRELDEFINESBYTYPE,4,true],["IsDefinedBy",IFCRELDEFINESBYPROPERTIES,4,true],["IsPredecessorTo",IFCRELSEQUENCE,4,true],["IsSuccessorFrom",IFCRELSEQUENCE,5,true],["OperatesOn",IFCRELASSIGNSTOPROCESS,6,true]],4208778838:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDeclaredBy",IFCRELDEFINESBYOBJECT,4,true],["Declares",IFCRELDEFINESBYOBJECT,5,true],["IsTypedBy",IFCRELDEFINESBYTYPE,4,true],["IsDefinedBy",IFCRELDEFINESBYPROPERTIES,4,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true]],103090709:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDefinedBy",IFCRELDEFINESBYPROPERTIES,4,true],["Declares",IFCRELDECLARES,4,true]],653396225:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDefinedBy",IFCRELDEFINESBYPROPERTIES,4,true],["Declares",IFCRELDECLARES,4,true]],871118103:[["HasExternalReferences",IFCEXTERNALREFERENCERELATIONSHIP,3,true],["PartOfPset",IFCPROPERTYSET,4,true],["PropertyForDependance",IFCPROPERTYDEPENDENCYRELATIONSHIP,2,true],["PropertyDependsOn",IFCPROPERTYDEPENDENCYRELATIONSHIP,3,true],["PartOfComplex",IFCCOMPLEXPROPERTY,3,true],["HasConstraints",IFCRESOURCECONSTRAINTRELATIONSHIP,3,true],["HasApprovals",IFCRESOURCEAPPROVALRELATIONSHIP,2,true]],4166981789:[["HasExternalReferences",IFCEXTERNALREFERENCERELATIONSHIP,3,true],["PartOfPset",IFCPROPERTYSET,4,true],["PropertyForDependance",IFCPROPERTYDEPENDENCYRELATIONSHIP,2,true],["PropertyDependsOn",IFCPROPERTYDEPENDENCYRELATIONSHIP,3,true],["PartOfComplex",IFCCOMPLEXPROPERTY,3,true],["HasConstraints",IFCRESOURCECONSTRAINTRELATIONSHIP,3,true],["HasApprovals",IFCRESOURCEAPPROVALRELATIONSHIP,2,true]],2752243245:[["HasExternalReferences",IFCEXTERNALREFERENCERELATIONSHIP,3,true],["PartOfPset",IFCPROPERTYSET,4,true],["PropertyForDependance",IFCPROPERTYDEPENDENCYRELATIONSHIP,2,true],["PropertyDependsOn",IFCPROPERTYDEPENDENCYRELATIONSHIP,3,true],["PartOfComplex",IFCCOMPLEXPROPERTY,3,true],["HasConstraints",IFCRESOURCECONSTRAINTRELATIONSHIP,3,true],["HasApprovals",IFCRESOURCEAPPROVALRELATIONSHIP,2,true]],941946838:[["HasExternalReferences",IFCEXTERNALREFERENCERELATIONSHIP,3,true],["PartOfPset",IFCPROPERTYSET,4,true],["PropertyForDependance",IFCPROPERTYDEPENDENCYRELATIONSHIP,2,true],["PropertyDependsOn",IFCPROPERTYDEPENDENCYRELATIONSHIP,3,true],["PartOfComplex",IFCCOMPLEXPROPERTY,3,true],["HasConstraints",IFCRESOURCECONSTRAINTRELATIONSHIP,3,true],["HasApprovals",IFCRESOURCEAPPROVALRELATIONSHIP,2,true]],1451395588:[["HasContext",IFCRELDECLARES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["DefinesType",IFCTYPEOBJECT,5,true],["IsDefinedBy",IFCRELDEFINESBYTEMPLATE,4,true],["DefinesOccurrence",IFCRELDEFINESBYPROPERTIES,5,true]],492091185:[["HasContext",IFCRELDECLARES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["Defines",IFCRELDEFINESBYTEMPLATE,5,true]],3650150729:[["HasExternalReferences",IFCEXTERNALREFERENCERELATIONSHIP,3,true],["PartOfPset",IFCPROPERTYSET,4,true],["PropertyForDependance",IFCPROPERTYDEPENDENCYRELATIONSHIP,2,true],["PropertyDependsOn",IFCPROPERTYDEPENDENCYRELATIONSHIP,3,true],["PartOfComplex",IFCCOMPLEXPROPERTY,3,true],["HasConstraints",IFCRESOURCECONSTRAINTRELATIONSHIP,3,true],["HasApprovals",IFCRESOURCEAPPROVALRELATIONSHIP,2,true]],110355661:[["HasExternalReferences",IFCEXTERNALREFERENCERELATIONSHIP,3,true],["PartOfPset",IFCPROPERTYSET,4,true],["PropertyForDependance",IFCPROPERTYDEPENDENCYRELATIONSHIP,2,true],["PropertyDependsOn",IFCPROPERTYDEPENDENCYRELATIONSHIP,3,true],["PartOfComplex",IFCCOMPLEXPROPERTY,3,true],["HasConstraints",IFCRESOURCECONSTRAINTRELATIONSHIP,3,true],["HasApprovals",IFCRESOURCEAPPROVALRELATIONSHIP,2,true]],3521284610:[["HasContext",IFCRELDECLARES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["PartOfComplexTemplate",IFCCOMPLEXPROPERTYTEMPLATE,6,true],["PartOfPsetTemplate",IFCPROPERTYSETTEMPLATE,6,true]],3219374653:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDeclaredBy",IFCRELDEFINESBYOBJECT,4,true],["Declares",IFCRELDEFINESBYOBJECT,5,true],["IsTypedBy",IFCRELDEFINESBYTYPE,4,true],["IsDefinedBy",IFCRELDEFINESBYPROPERTIES,4,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true]],2770003689:[["HasExternalReference",IFCEXTERNALREFERENCERELATIONSHIP,3,true],["HasProperties",IFCPROFILEPROPERTIES,3,true]],2798486643:[["LayerAssignment",IFCPRESENTATIONLAYERASSIGNMENT,2,true],["StyledByItem",IFCSTYLEDITEM,0,true]],3454111270:[["LayerAssignment",IFCPRESENTATIONLAYERASSIGNMENT,2,true],["StyledByItem",IFCSTYLEDITEM,0,true]],3765753017:[["HasContext",IFCRELDECLARES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["DefinesType",IFCTYPEOBJECT,5,true],["IsDefinedBy",IFCRELDEFINESBYTEMPLATE,4,true],["DefinesOccurrence",IFCRELDEFINESBYPROPERTIES,5,true]],3523091289:[["InnerBoundaries",IFCRELSPACEBOUNDARY1STLEVEL,9,true]],1521410863:[["InnerBoundaries",IFCRELSPACEBOUNDARY1STLEVEL,9,true],["Corresponds",IFCRELSPACEBOUNDARY2NDLEVEL,10,true]],816062949:[["LayerAssignment",IFCPRESENTATIONLAYERASSIGNMENT,2,true],["StyledByItem",IFCSTYLEDITEM,0,true],["UsingCurves",IFCCOMPOSITECURVE,0,true]],2914609552:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDeclaredBy",IFCRELDEFINESBYOBJECT,4,true],["Declares",IFCRELDEFINESBYOBJECT,5,true],["IsTypedBy",IFCRELDEFINESBYTYPE,4,true],["IsDefinedBy",IFCRELDEFINESBYPROPERTIES,4,true],["ResourceOf",IFCRELASSIGNSTORESOURCE,6,true]],1856042241:[["LayerAssignment",IFCPRESENTATIONLAYERASSIGNMENT,2,true],["StyledByItem",IFCSTYLEDITEM,0,true]],3243963512:[["LayerAssignment",IFCPRESENTATIONLAYERASSIGNMENT,2,true],["StyledByItem",IFCSTYLEDITEM,0,true]],4158566097:[["LayerAssignment",IFCPRESENTATIONLAYERASSIGNMENT,2,true],["StyledByItem",IFCSTYLEDITEM,0,true]],3626867408:[["LayerAssignment",IFCPRESENTATIONLAYERASSIGNMENT,2,true],["StyledByItem",IFCSTYLEDITEM,0,true]],3663146110:[["HasContext",IFCRELDECLARES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["PartOfComplexTemplate",IFCCOMPLEXPROPERTYTEMPLATE,6,true],["PartOfPsetTemplate",IFCPROPERTYSETTEMPLATE,6,true]],1412071761:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDeclaredBy",IFCRELDEFINESBYOBJECT,4,true],["Declares",IFCRELDEFINESBYOBJECT,5,true],["IsTypedBy",IFCRELDEFINESBYTYPE,4,true],["IsDefinedBy",IFCRELDEFINESBYPROPERTIES,4,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true],["ContainsElements",IFCRELCONTAINEDINSPATIALSTRUCTURE,5,true],["ServicedBySystems",IFCRELSERVICESBUILDINGS,5,true],["ReferencesElements",IFCRELREFERENCEDINSPATIALSTRUCTURE,5,true]],710998568:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["Types",IFCRELDEFINESBYTYPE,5,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true]],2706606064:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDeclaredBy",IFCRELDEFINESBYOBJECT,4,true],["Declares",IFCRELDEFINESBYOBJECT,5,true],["IsTypedBy",IFCRELDEFINESBYTYPE,4,true],["IsDefinedBy",IFCRELDEFINESBYPROPERTIES,4,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true],["ContainsElements",IFCRELCONTAINEDINSPATIALSTRUCTURE,5,true],["ServicedBySystems",IFCRELSERVICESBUILDINGS,5,true],["ReferencesElements",IFCRELREFERENCEDINSPATIALSTRUCTURE,5,true]],3893378262:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["Types",IFCRELDEFINESBYTYPE,5,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true]],463610769:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDeclaredBy",IFCRELDEFINESBYOBJECT,4,true],["Declares",IFCRELDEFINESBYOBJECT,5,true],["IsTypedBy",IFCRELDEFINESBYTYPE,4,true],["IsDefinedBy",IFCRELDEFINESBYPROPERTIES,4,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true],["ContainsElements",IFCRELCONTAINEDINSPATIALSTRUCTURE,5,true],["ServicedBySystems",IFCRELSERVICESBUILDINGS,5,true],["ReferencesElements",IFCRELREFERENCEDINSPATIALSTRUCTURE,5,true]],2481509218:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["Types",IFCRELDEFINESBYTYPE,5,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true]],451544542:[["LayerAssignment",IFCPRESENTATIONLAYERASSIGNMENT,2,true],["StyledByItem",IFCSTYLEDITEM,0,true]],4015995234:[["LayerAssignment",IFCPRESENTATIONLAYERASSIGNMENT,2,true],["StyledByItem",IFCSTYLEDITEM,0,true]],3544373492:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDeclaredBy",IFCRELDEFINESBYOBJECT,4,true],["Declares",IFCRELDEFINESBYOBJECT,5,true],["IsTypedBy",IFCRELDEFINESBYTYPE,4,true],["IsDefinedBy",IFCRELDEFINESBYPROPERTIES,4,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true],["AssignedToStructuralItem",IFCRELCONNECTSSTRUCTURALACTIVITY,5,true]],3136571912:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDeclaredBy",IFCRELDEFINESBYOBJECT,4,true],["Declares",IFCRELDEFINESBYOBJECT,5,true],["IsTypedBy",IFCRELDEFINESBYTYPE,4,true],["IsDefinedBy",IFCRELDEFINESBYPROPERTIES,4,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true],["AssignedStructuralActivity",IFCRELCONNECTSSTRUCTURALACTIVITY,4,true]],530289379:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDeclaredBy",IFCRELDEFINESBYOBJECT,4,true],["Declares",IFCRELDEFINESBYOBJECT,5,true],["IsTypedBy",IFCRELDEFINESBYTYPE,4,true],["IsDefinedBy",IFCRELDEFINESBYPROPERTIES,4,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true],["AssignedStructuralActivity",IFCRELCONNECTSSTRUCTURALACTIVITY,4,true],["ConnectedBy",IFCRELCONNECTSSTRUCTURALMEMBER,4,true]],3689010777:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDeclaredBy",IFCRELDEFINESBYOBJECT,4,true],["Declares",IFCRELDEFINESBYOBJECT,5,true],["IsTypedBy",IFCRELDEFINESBYTYPE,4,true],["IsDefinedBy",IFCRELDEFINESBYPROPERTIES,4,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true],["AssignedToStructuralItem",IFCRELCONNECTSSTRUCTURALACTIVITY,5,true]],3979015343:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDeclaredBy",IFCRELDEFINESBYOBJECT,4,true],["Declares",IFCRELDEFINESBYOBJECT,5,true],["IsTypedBy",IFCRELDEFINESBYTYPE,4,true],["IsDefinedBy",IFCRELDEFINESBYPROPERTIES,4,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true],["AssignedStructuralActivity",IFCRELCONNECTSSTRUCTURALACTIVITY,4,true],["ConnectedBy",IFCRELCONNECTSSTRUCTURALMEMBER,4,true]],2218152070:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDeclaredBy",IFCRELDEFINESBYOBJECT,4,true],["Declares",IFCRELDEFINESBYOBJECT,5,true],["IsTypedBy",IFCRELDEFINESBYTYPE,4,true],["IsDefinedBy",IFCRELDEFINESBYPROPERTIES,4,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true],["AssignedStructuralActivity",IFCRELCONNECTSSTRUCTURALACTIVITY,4,true],["ConnectedBy",IFCRELCONNECTSSTRUCTURALMEMBER,4,true]],603775116:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDeclaredBy",IFCRELDEFINESBYOBJECT,4,true],["Declares",IFCRELDEFINESBYOBJECT,5,true],["IsTypedBy",IFCRELDEFINESBYTYPE,4,true],["IsDefinedBy",IFCRELDEFINESBYPROPERTIES,4,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true],["AssignedToStructuralItem",IFCRELCONNECTSSTRUCTURALACTIVITY,5,true]],4095615324:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["Types",IFCRELDEFINESBYTYPE,5,true],["ResourceOf",IFCRELASSIGNSTORESOURCE,6,true]],699246055:[["LayerAssignment",IFCPRESENTATIONLAYERASSIGNMENT,2,true],["StyledByItem",IFCSTYLEDITEM,0,true]],2028607225:[["LayerAssignment",IFCPRESENTATIONLAYERASSIGNMENT,2,true],["StyledByItem",IFCSTYLEDITEM,0,true]],2809605785:[["LayerAssignment",IFCPRESENTATIONLAYERASSIGNMENT,2,true],["StyledByItem",IFCSTYLEDITEM,0,true]],4124788165:[["LayerAssignment",IFCPRESENTATIONLAYERASSIGNMENT,2,true],["StyledByItem",IFCSTYLEDITEM,0,true]],1580310250:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["Types",IFCRELDEFINESBYTYPE,5,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true]],3473067441:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDeclaredBy",IFCRELDEFINESBYOBJECT,4,true],["Declares",IFCRELDEFINESBYOBJECT,5,true],["IsTypedBy",IFCRELDEFINESBYTYPE,4,true],["IsDefinedBy",IFCRELDEFINESBYPROPERTIES,4,true],["IsPredecessorTo",IFCRELSEQUENCE,4,true],["IsSuccessorFrom",IFCRELSEQUENCE,5,true],["OperatesOn",IFCRELASSIGNSTOPROCESS,6,true]],3206491090:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["Types",IFCRELDEFINESBYTYPE,5,true],["OperatesOn",IFCRELASSIGNSTOPROCESS,6,true]],2387106220:[["LayerAssignment",IFCPRESENTATIONLAYERASSIGNMENT,2,true],["StyledByItem",IFCSTYLEDITEM,0,true],["HasColours",IFCINDEXEDCOLOURMAP,0,true],["HasTextures",IFCINDEXEDTEXTUREMAP,1,true]],1935646853:[["LayerAssignment",IFCPRESENTATIONLAYERASSIGNMENT,2,true],["StyledByItem",IFCSTYLEDITEM,0,true]],2097647324:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["Types",IFCRELDEFINESBYTYPE,5,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true]],2916149573:[["LayerAssignment",IFCPRESENTATIONLAYERASSIGNMENT,2,true],["StyledByItem",IFCSTYLEDITEM,0,true],["HasColours",IFCINDEXEDCOLOURMAP,0,true],["HasTextures",IFCINDEXEDTEXTUREMAP,1,true]],336235671:[["HasContext",IFCRELDECLARES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["DefinesType",IFCTYPEOBJECT,5,true],["IsDefinedBy",IFCRELDEFINESBYTEMPLATE,4,true],["DefinesOccurrence",IFCRELDEFINESBYPROPERTIES,5,true]],512836454:[["HasContext",IFCRELDECLARES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["DefinesType",IFCTYPEOBJECT,5,true],["IsDefinedBy",IFCRELDEFINESBYTEMPLATE,4,true],["DefinesOccurrence",IFCRELDEFINESBYPROPERTIES,5,true]],2296667514:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDeclaredBy",IFCRELDEFINESBYOBJECT,4,true],["Declares",IFCRELDEFINESBYOBJECT,5,true],["IsTypedBy",IFCRELDEFINESBYTYPE,4,true],["IsDefinedBy",IFCRELDEFINESBYPROPERTIES,4,true],["IsActingUpon",IFCRELASSIGNSTOACTOR,6,true]],1635779807:[["LayerAssignment",IFCPRESENTATIONLAYERASSIGNMENT,2,true],["StyledByItem",IFCSTYLEDITEM,0,true]],2603310189:[["LayerAssignment",IFCPRESENTATIONLAYERASSIGNMENT,2,true],["StyledByItem",IFCSTYLEDITEM,0,true]],1674181508:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDeclaredBy",IFCRELDEFINESBYOBJECT,4,true],["Declares",IFCRELDEFINESBYOBJECT,5,true],["IsTypedBy",IFCRELDEFINESBYTYPE,4,true],["IsDefinedBy",IFCRELDEFINESBYPROPERTIES,4,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true],["ContainedInStructure",IFCRELCONTAINEDINSPATIALSTRUCTURE,4,true]],2887950389:[["LayerAssignment",IFCPRESENTATIONLAYERASSIGNMENT,2,true],["StyledByItem",IFCSTYLEDITEM,0,true]],167062518:[["LayerAssignment",IFCPRESENTATIONLAYERASSIGNMENT,2,true],["StyledByItem",IFCSTYLEDITEM,0,true]],1334484129:[["LayerAssignment",IFCPRESENTATIONLAYERASSIGNMENT,2,true],["StyledByItem",IFCSTYLEDITEM,0,true]],3649129432:[["LayerAssignment",IFCPRESENTATIONLAYERASSIGNMENT,2,true],["StyledByItem",IFCSTYLEDITEM,0,true]],1260505505:[["LayerAssignment",IFCPRESENTATIONLAYERASSIGNMENT,2,true],["StyledByItem",IFCSTYLEDITEM,0,true]],4031249490:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDeclaredBy",IFCRELDEFINESBYOBJECT,4,true],["Declares",IFCRELDEFINESBYOBJECT,5,true],["IsTypedBy",IFCRELDEFINESBYTYPE,4,true],["IsDefinedBy",IFCRELDEFINESBYPROPERTIES,4,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true],["ContainsElements",IFCRELCONTAINEDINSPATIALSTRUCTURE,5,true],["ServicedBySystems",IFCRELSERVICESBUILDINGS,5,true],["ReferencesElements",IFCRELREFERENCEDINSPATIALSTRUCTURE,5,true]],1950629157:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["Types",IFCRELDEFINESBYTYPE,5,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true]],3124254112:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDeclaredBy",IFCRELDEFINESBYOBJECT,4,true],["Declares",IFCRELDEFINESBYOBJECT,5,true],["IsTypedBy",IFCRELDEFINESBYTYPE,4,true],["IsDefinedBy",IFCRELDEFINESBYPROPERTIES,4,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true],["ContainsElements",IFCRELCONTAINEDINSPATIALSTRUCTURE,5,true],["ServicedBySystems",IFCRELSERVICESBUILDINGS,5,true],["ReferencesElements",IFCRELREFERENCEDINSPATIALSTRUCTURE,5,true]],2197970202:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["Types",IFCRELDEFINESBYTYPE,5,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true]],2937912522:[["HasExternalReference",IFCEXTERNALREFERENCERELATIONSHIP,3,true],["HasProperties",IFCPROFILEPROPERTIES,3,true]],3893394355:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["Types",IFCRELDEFINESBYTYPE,5,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true]],300633059:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["Types",IFCRELDEFINESBYTYPE,5,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true]],3875453745:[["HasContext",IFCRELDECLARES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["PartOfComplexTemplate",IFCCOMPLEXPROPERTYTEMPLATE,6,true],["PartOfPsetTemplate",IFCPROPERTYSETTEMPLATE,6,true]],3732776249:[["LayerAssignment",IFCPRESENTATIONLAYERASSIGNMENT,2,true],["StyledByItem",IFCSTYLEDITEM,0,true]],15328376:[["LayerAssignment",IFCPRESENTATIONLAYERASSIGNMENT,2,true],["StyledByItem",IFCSTYLEDITEM,0,true]],2510884976:[["LayerAssignment",IFCPRESENTATIONLAYERASSIGNMENT,2,true],["StyledByItem",IFCSTYLEDITEM,0,true]],2185764099:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["Types",IFCRELDEFINESBYTYPE,5,true],["ResourceOf",IFCRELASSIGNSTORESOURCE,6,true]],4105962743:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["Types",IFCRELDEFINESBYTYPE,5,true],["ResourceOf",IFCRELASSIGNSTORESOURCE,6,true]],1525564444:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["Types",IFCRELDEFINESBYTYPE,5,true],["ResourceOf",IFCRELASSIGNSTORESOURCE,6,true]],2559216714:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDeclaredBy",IFCRELDEFINESBYOBJECT,4,true],["Declares",IFCRELDEFINESBYOBJECT,5,true],["IsTypedBy",IFCRELDEFINESBYTYPE,4,true],["IsDefinedBy",IFCRELDEFINESBYPROPERTIES,4,true],["ResourceOf",IFCRELASSIGNSTORESOURCE,6,true]],3293443760:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDeclaredBy",IFCRELDEFINESBYOBJECT,4,true],["Declares",IFCRELDEFINESBYOBJECT,5,true],["IsTypedBy",IFCRELDEFINESBYTYPE,4,true],["IsDefinedBy",IFCRELDEFINESBYPROPERTIES,4,true],["Controls",IFCRELASSIGNSTOCONTROL,6,true]],3895139033:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDeclaredBy",IFCRELDEFINESBYOBJECT,4,true],["Declares",IFCRELDEFINESBYOBJECT,5,true],["IsTypedBy",IFCRELDEFINESBYTYPE,4,true],["IsDefinedBy",IFCRELDEFINESBYPROPERTIES,4,true],["Controls",IFCRELASSIGNSTOCONTROL,6,true]],1419761937:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDeclaredBy",IFCRELDEFINESBYOBJECT,4,true],["Declares",IFCRELDEFINESBYOBJECT,5,true],["IsTypedBy",IFCRELDEFINESBYTYPE,4,true],["IsDefinedBy",IFCRELDEFINESBYPROPERTIES,4,true],["Controls",IFCRELASSIGNSTOCONTROL,6,true]],1916426348:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["Types",IFCRELDEFINESBYTYPE,5,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true]],3295246426:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDeclaredBy",IFCRELDEFINESBYOBJECT,4,true],["Declares",IFCRELDEFINESBYOBJECT,5,true],["IsTypedBy",IFCRELDEFINESBYTYPE,4,true],["IsDefinedBy",IFCRELDEFINESBYPROPERTIES,4,true],["ResourceOf",IFCRELASSIGNSTORESOURCE,6,true]],1457835157:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["Types",IFCRELDEFINESBYTYPE,5,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true]],1213902940:[["LayerAssignment",IFCPRESENTATIONLAYERASSIGNMENT,2,true],["StyledByItem",IFCSTYLEDITEM,0,true]],3256556792:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["Types",IFCRELDEFINESBYTYPE,5,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true]],3849074793:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["Types",IFCRELDEFINESBYTYPE,5,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true]],2963535650:[["HasContext",IFCRELDECLARES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["DefinesType",IFCTYPEOBJECT,5,true],["IsDefinedBy",IFCRELDEFINESBYTEMPLATE,4,true],["DefinesOccurrence",IFCRELDEFINESBYPROPERTIES,5,true]],1714330368:[["HasContext",IFCRELDECLARES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["DefinesType",IFCTYPEOBJECT,5,true],["IsDefinedBy",IFCRELDEFINESBYTEMPLATE,4,true],["DefinesOccurrence",IFCRELDEFINESBYPROPERTIES,5,true]],2323601079:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["Types",IFCRELDEFINESBYTYPE,5,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true]],1758889154:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDeclaredBy",IFCRELDEFINESBYOBJECT,4,true],["Declares",IFCRELDEFINESBYOBJECT,5,true],["IsTypedBy",IFCRELDEFINESBYTYPE,4,true],["IsDefinedBy",IFCRELDEFINESBYPROPERTIES,4,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true],["FillsVoids",IFCRELFILLSELEMENT,5,true],["ConnectedTo",IFCRELCONNECTSELEMENTS,5,true],["IsInterferedByElements",IFCRELINTERFERESELEMENTS,5,true],["InterferesElements",IFCRELINTERFERESELEMENTS,4,true],["HasProjections",IFCRELPROJECTSELEMENT,4,true],["ReferencedInStructures",IFCRELREFERENCEDINSPATIALSTRUCTURE,4,true],["HasOpenings",IFCRELVOIDSELEMENT,4,true],["IsConnectionRealization",IFCRELCONNECTSWITHREALIZINGELEMENTS,7,true],["ProvidesBoundaries",IFCRELSPACEBOUNDARY,5,true],["ConnectedFrom",IFCRELCONNECTSELEMENTS,6,true],["ContainedInStructure",IFCRELCONTAINEDINSPATIALSTRUCTURE,4,true],["HasCoverings",IFCRELCOVERSBLDGELEMENTS,4,true]],4123344466:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDeclaredBy",IFCRELDEFINESBYOBJECT,4,true],["Declares",IFCRELDEFINESBYOBJECT,5,true],["IsTypedBy",IFCRELDEFINESBYTYPE,4,true],["IsDefinedBy",IFCRELDEFINESBYPROPERTIES,4,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true],["FillsVoids",IFCRELFILLSELEMENT,5,true],["ConnectedTo",IFCRELCONNECTSELEMENTS,5,true],["IsInterferedByElements",IFCRELINTERFERESELEMENTS,5,true],["InterferesElements",IFCRELINTERFERESELEMENTS,4,true],["HasProjections",IFCRELPROJECTSELEMENT,4,true],["ReferencedInStructures",IFCRELREFERENCEDINSPATIALSTRUCTURE,4,true],["HasOpenings",IFCRELVOIDSELEMENT,4,true],["IsConnectionRealization",IFCRELCONNECTSWITHREALIZINGELEMENTS,7,true],["ProvidesBoundaries",IFCRELSPACEBOUNDARY,5,true],["ConnectedFrom",IFCRELCONNECTSELEMENTS,6,true],["ContainedInStructure",IFCRELCONTAINEDINSPATIALSTRUCTURE,4,true],["HasCoverings",IFCRELCOVERSBLDGELEMENTS,4,true]],2397081782:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["Types",IFCRELDEFINESBYTYPE,5,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true]],1623761950:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDeclaredBy",IFCRELDEFINESBYOBJECT,4,true],["Declares",IFCRELDEFINESBYOBJECT,5,true],["IsTypedBy",IFCRELDEFINESBYTYPE,4,true],["IsDefinedBy",IFCRELDEFINESBYPROPERTIES,4,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true],["FillsVoids",IFCRELFILLSELEMENT,5,true],["ConnectedTo",IFCRELCONNECTSELEMENTS,5,true],["IsInterferedByElements",IFCRELINTERFERESELEMENTS,5,true],["InterferesElements",IFCRELINTERFERESELEMENTS,4,true],["HasProjections",IFCRELPROJECTSELEMENT,4,true],["ReferencedInStructures",IFCRELREFERENCEDINSPATIALSTRUCTURE,4,true],["HasOpenings",IFCRELVOIDSELEMENT,4,true],["IsConnectionRealization",IFCRELCONNECTSWITHREALIZINGELEMENTS,7,true],["ProvidesBoundaries",IFCRELSPACEBOUNDARY,5,true],["ConnectedFrom",IFCRELCONNECTSELEMENTS,6,true],["ContainedInStructure",IFCRELCONTAINEDINSPATIALSTRUCTURE,4,true],["HasCoverings",IFCRELCOVERSBLDGELEMENTS,4,true]],2590856083:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["Types",IFCRELDEFINESBYTYPE,5,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true]],1704287377:[["LayerAssignment",IFCPRESENTATIONLAYERASSIGNMENT,2,true],["StyledByItem",IFCSTYLEDITEM,0,true]],2107101300:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["Types",IFCRELDEFINESBYTYPE,5,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true]],132023988:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["Types",IFCRELDEFINESBYTYPE,5,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true]],3174744832:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["Types",IFCRELDEFINESBYTYPE,5,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true]],3390157468:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["Types",IFCRELDEFINESBYTYPE,5,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true]],4148101412:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDeclaredBy",IFCRELDEFINESBYOBJECT,4,true],["Declares",IFCRELDEFINESBYOBJECT,5,true],["IsTypedBy",IFCRELDEFINESBYTYPE,4,true],["IsDefinedBy",IFCRELDEFINESBYPROPERTIES,4,true],["IsPredecessorTo",IFCRELSEQUENCE,4,true],["IsSuccessorFrom",IFCRELSEQUENCE,5,true],["OperatesOn",IFCRELASSIGNSTOPROCESS,6,true]],2853485674:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDeclaredBy",IFCRELDEFINESBYOBJECT,4,true],["Declares",IFCRELDEFINESBYOBJECT,5,true],["IsTypedBy",IFCRELDEFINESBYTYPE,4,true],["IsDefinedBy",IFCRELDEFINESBYPROPERTIES,4,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true],["ContainsElements",IFCRELCONTAINEDINSPATIALSTRUCTURE,5,true],["ServicedBySystems",IFCRELSERVICESBUILDINGS,5,true],["ReferencesElements",IFCRELREFERENCEDINSPATIALSTRUCTURE,5,true]],807026263:[["LayerAssignment",IFCPRESENTATIONLAYERASSIGNMENT,2,true],["StyledByItem",IFCSTYLEDITEM,0,true]],3737207727:[["LayerAssignment",IFCPRESENTATIONLAYERASSIGNMENT,2,true],["StyledByItem",IFCSTYLEDITEM,0,true]],647756555:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDeclaredBy",IFCRELDEFINESBYOBJECT,4,true],["Declares",IFCRELDEFINESBYOBJECT,5,true],["IsTypedBy",IFCRELDEFINESBYTYPE,4,true],["IsDefinedBy",IFCRELDEFINESBYPROPERTIES,4,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true],["FillsVoids",IFCRELFILLSELEMENT,5,true],["ConnectedTo",IFCRELCONNECTSELEMENTS,5,true],["IsInterferedByElements",IFCRELINTERFERESELEMENTS,5,true],["InterferesElements",IFCRELINTERFERESELEMENTS,4,true],["HasProjections",IFCRELPROJECTSELEMENT,4,true],["ReferencedInStructures",IFCRELREFERENCEDINSPATIALSTRUCTURE,4,true],["HasOpenings",IFCRELVOIDSELEMENT,4,true],["IsConnectionRealization",IFCRELCONNECTSWITHREALIZINGELEMENTS,7,true],["ProvidesBoundaries",IFCRELSPACEBOUNDARY,5,true],["ConnectedFrom",IFCRELCONNECTSELEMENTS,6,true],["ContainedInStructure",IFCRELCONTAINEDINSPATIALSTRUCTURE,4,true],["HasCoverings",IFCRELCOVERSBLDGELEMENTS,4,true]],2489546625:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["Types",IFCRELDEFINESBYTYPE,5,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true]],2827207264:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDeclaredBy",IFCRELDEFINESBYOBJECT,4,true],["Declares",IFCRELDEFINESBYOBJECT,5,true],["IsTypedBy",IFCRELDEFINESBYTYPE,4,true],["IsDefinedBy",IFCRELDEFINESBYPROPERTIES,4,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true],["FillsVoids",IFCRELFILLSELEMENT,5,true],["ConnectedTo",IFCRELCONNECTSELEMENTS,5,true],["IsInterferedByElements",IFCRELINTERFERESELEMENTS,5,true],["InterferesElements",IFCRELINTERFERESELEMENTS,4,true],["HasProjections",IFCRELPROJECTSELEMENT,4,true],["ReferencedInStructures",IFCRELREFERENCEDINSPATIALSTRUCTURE,4,true],["HasOpenings",IFCRELVOIDSELEMENT,4,true],["IsConnectionRealization",IFCRELCONNECTSWITHREALIZINGELEMENTS,7,true],["ProvidesBoundaries",IFCRELSPACEBOUNDARY,5,true],["ConnectedFrom",IFCRELCONNECTSELEMENTS,6,true],["ContainedInStructure",IFCRELCONTAINEDINSPATIALSTRUCTURE,4,true],["HasCoverings",IFCRELCOVERSBLDGELEMENTS,4,true]],2143335405:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDeclaredBy",IFCRELDEFINESBYOBJECT,4,true],["Declares",IFCRELDEFINESBYOBJECT,5,true],["IsTypedBy",IFCRELDEFINESBYTYPE,4,true],["IsDefinedBy",IFCRELDEFINESBYPROPERTIES,4,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true],["FillsVoids",IFCRELFILLSELEMENT,5,true],["ConnectedTo",IFCRELCONNECTSELEMENTS,5,true],["IsInterferedByElements",IFCRELINTERFERESELEMENTS,5,true],["InterferesElements",IFCRELINTERFERESELEMENTS,4,true],["HasProjections",IFCRELPROJECTSELEMENT,4,true],["ReferencedInStructures",IFCRELREFERENCEDINSPATIALSTRUCTURE,4,true],["HasOpenings",IFCRELVOIDSELEMENT,4,true],["IsConnectionRealization",IFCRELCONNECTSWITHREALIZINGELEMENTS,7,true],["ProvidesBoundaries",IFCRELSPACEBOUNDARY,5,true],["ConnectedFrom",IFCRELCONNECTSELEMENTS,6,true],["ContainedInStructure",IFCRELCONTAINEDINSPATIALSTRUCTURE,4,true],["HasCoverings",IFCRELCOVERSBLDGELEMENTS,4,true],["ProjectsElements",IFCRELPROJECTSELEMENT,5,false]],1287392070:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDeclaredBy",IFCRELDEFINESBYOBJECT,4,true],["Declares",IFCRELDEFINESBYOBJECT,5,true],["IsTypedBy",IFCRELDEFINESBYTYPE,4,true],["IsDefinedBy",IFCRELDEFINESBYPROPERTIES,4,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true],["FillsVoids",IFCRELFILLSELEMENT,5,true],["ConnectedTo",IFCRELCONNECTSELEMENTS,5,true],["IsInterferedByElements",IFCRELINTERFERESELEMENTS,5,true],["InterferesElements",IFCRELINTERFERESELEMENTS,4,true],["HasProjections",IFCRELPROJECTSELEMENT,4,true],["ReferencedInStructures",IFCRELREFERENCEDINSPATIALSTRUCTURE,4,true],["HasOpenings",IFCRELVOIDSELEMENT,4,true],["IsConnectionRealization",IFCRELCONNECTSWITHREALIZINGELEMENTS,7,true],["ProvidesBoundaries",IFCRELSPACEBOUNDARY,5,true],["ConnectedFrom",IFCRELCONNECTSELEMENTS,6,true],["ContainedInStructure",IFCRELCONTAINEDINSPATIALSTRUCTURE,4,true],["HasCoverings",IFCRELCOVERSBLDGELEMENTS,4,true],["VoidsElements",IFCRELVOIDSELEMENT,5,false]],3907093117:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["Types",IFCRELDEFINESBYTYPE,5,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true]],3198132628:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["Types",IFCRELDEFINESBYTYPE,5,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true]],3815607619:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["Types",IFCRELDEFINESBYTYPE,5,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true]],1482959167:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["Types",IFCRELDEFINESBYTYPE,5,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true]],1834744321:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["Types",IFCRELDEFINESBYTYPE,5,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true]],1339347760:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["Types",IFCRELDEFINESBYTYPE,5,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true]],2297155007:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["Types",IFCRELDEFINESBYTYPE,5,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true]],3009222698:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["Types",IFCRELDEFINESBYTYPE,5,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true]],1893162501:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["Types",IFCRELDEFINESBYTYPE,5,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true]],263784265:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDeclaredBy",IFCRELDEFINESBYOBJECT,4,true],["Declares",IFCRELDEFINESBYOBJECT,5,true],["IsTypedBy",IFCRELDEFINESBYTYPE,4,true],["IsDefinedBy",IFCRELDEFINESBYPROPERTIES,4,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true],["FillsVoids",IFCRELFILLSELEMENT,5,true],["ConnectedTo",IFCRELCONNECTSELEMENTS,5,true],["IsInterferedByElements",IFCRELINTERFERESELEMENTS,5,true],["InterferesElements",IFCRELINTERFERESELEMENTS,4,true],["HasProjections",IFCRELPROJECTSELEMENT,4,true],["ReferencedInStructures",IFCRELREFERENCEDINSPATIALSTRUCTURE,4,true],["HasOpenings",IFCRELVOIDSELEMENT,4,true],["IsConnectionRealization",IFCRELCONNECTSWITHREALIZINGELEMENTS,7,true],["ProvidesBoundaries",IFCRELSPACEBOUNDARY,5,true],["ConnectedFrom",IFCRELCONNECTSELEMENTS,6,true],["ContainedInStructure",IFCRELCONTAINEDINSPATIALSTRUCTURE,4,true],["HasCoverings",IFCRELCOVERSBLDGELEMENTS,4,true]],1509553395:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDeclaredBy",IFCRELDEFINESBYOBJECT,4,true],["Declares",IFCRELDEFINESBYOBJECT,5,true],["IsTypedBy",IFCRELDEFINESBYTYPE,4,true],["IsDefinedBy",IFCRELDEFINESBYPROPERTIES,4,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true],["FillsVoids",IFCRELFILLSELEMENT,5,true],["ConnectedTo",IFCRELCONNECTSELEMENTS,5,true],["IsInterferedByElements",IFCRELINTERFERESELEMENTS,5,true],["InterferesElements",IFCRELINTERFERESELEMENTS,4,true],["HasProjections",IFCRELPROJECTSELEMENT,4,true],["ReferencedInStructures",IFCRELREFERENCEDINSPATIALSTRUCTURE,4,true],["HasOpenings",IFCRELVOIDSELEMENT,4,true],["IsConnectionRealization",IFCRELCONNECTSWITHREALIZINGELEMENTS,7,true],["ProvidesBoundaries",IFCRELSPACEBOUNDARY,5,true],["ConnectedFrom",IFCRELCONNECTSELEMENTS,6,true],["ContainedInStructure",IFCRELCONTAINEDINSPATIALSTRUCTURE,4,true],["HasCoverings",IFCRELCOVERSBLDGELEMENTS,4,true]],3493046030:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDeclaredBy",IFCRELDEFINESBYOBJECT,4,true],["Declares",IFCRELDEFINESBYOBJECT,5,true],["IsTypedBy",IFCRELDEFINESBYTYPE,4,true],["IsDefinedBy",IFCRELDEFINESBYPROPERTIES,4,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true],["FillsVoids",IFCRELFILLSELEMENT,5,true],["ConnectedTo",IFCRELCONNECTSELEMENTS,5,true],["IsInterferedByElements",IFCRELINTERFERESELEMENTS,5,true],["InterferesElements",IFCRELINTERFERESELEMENTS,4,true],["HasProjections",IFCRELPROJECTSELEMENT,4,true],["ReferencedInStructures",IFCRELREFERENCEDINSPATIALSTRUCTURE,4,true],["HasOpenings",IFCRELVOIDSELEMENT,4,true],["IsConnectionRealization",IFCRELCONNECTSWITHREALIZINGELEMENTS,7,true],["ProvidesBoundaries",IFCRELSPACEBOUNDARY,5,true],["ConnectedFrom",IFCRELCONNECTSELEMENTS,6,true],["ContainedInStructure",IFCRELCONTAINEDINSPATIALSTRUCTURE,4,true],["HasCoverings",IFCRELCOVERSBLDGELEMENTS,4,true]],3009204131:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDeclaredBy",IFCRELDEFINESBYOBJECT,4,true],["Declares",IFCRELDEFINESBYOBJECT,5,true],["IsTypedBy",IFCRELDEFINESBYTYPE,4,true],["IsDefinedBy",IFCRELDEFINESBYPROPERTIES,4,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true],["ContainedInStructure",IFCRELCONTAINEDINSPATIALSTRUCTURE,4,true]],2706460486:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDeclaredBy",IFCRELDEFINESBYOBJECT,4,true],["Declares",IFCRELDEFINESBYOBJECT,5,true],["IsTypedBy",IFCRELDEFINESBYTYPE,4,true],["IsDefinedBy",IFCRELDEFINESBYPROPERTIES,4,true],["IsGroupedBy",IFCRELASSIGNSTOGROUP,6,true]],1251058090:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["Types",IFCRELDEFINESBYTYPE,5,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true]],1806887404:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["Types",IFCRELDEFINESBYTYPE,5,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true]],2571569899:[["LayerAssignment",IFCPRESENTATIONLAYERASSIGNMENT,2,true],["StyledByItem",IFCSTYLEDITEM,0,true]],3946677679:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["Types",IFCRELDEFINESBYTYPE,5,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true]],3113134337:[["LayerAssignment",IFCPRESENTATIONLAYERASSIGNMENT,2,true],["StyledByItem",IFCSTYLEDITEM,0,true]],2391368822:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDeclaredBy",IFCRELDEFINESBYOBJECT,4,true],["Declares",IFCRELDEFINESBYOBJECT,5,true],["IsTypedBy",IFCRELDEFINESBYTYPE,4,true],["IsDefinedBy",IFCRELDEFINESBYPROPERTIES,4,true],["IsGroupedBy",IFCRELASSIGNSTOGROUP,6,true]],4288270099:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["Types",IFCRELDEFINESBYTYPE,5,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true]],3827777499:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDeclaredBy",IFCRELDEFINESBYOBJECT,4,true],["Declares",IFCRELDEFINESBYOBJECT,5,true],["IsTypedBy",IFCRELDEFINESBYTYPE,4,true],["IsDefinedBy",IFCRELDEFINESBYPROPERTIES,4,true],["ResourceOf",IFCRELASSIGNSTORESOURCE,6,true]],1051575348:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["Types",IFCRELDEFINESBYTYPE,5,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true]],1161773419:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["Types",IFCRELDEFINESBYTYPE,5,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true]],377706215:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDeclaredBy",IFCRELDEFINESBYOBJECT,4,true],["Declares",IFCRELDEFINESBYOBJECT,5,true],["IsTypedBy",IFCRELDEFINESBYTYPE,4,true],["IsDefinedBy",IFCRELDEFINESBYPROPERTIES,4,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true],["FillsVoids",IFCRELFILLSELEMENT,5,true],["ConnectedTo",IFCRELCONNECTSELEMENTS,5,true],["IsInterferedByElements",IFCRELINTERFERESELEMENTS,5,true],["InterferesElements",IFCRELINTERFERESELEMENTS,4,true],["HasProjections",IFCRELPROJECTSELEMENT,4,true],["ReferencedInStructures",IFCRELREFERENCEDINSPATIALSTRUCTURE,4,true],["HasOpenings",IFCRELVOIDSELEMENT,4,true],["IsConnectionRealization",IFCRELCONNECTSWITHREALIZINGELEMENTS,7,true],["ProvidesBoundaries",IFCRELSPACEBOUNDARY,5,true],["ConnectedFrom",IFCRELCONNECTSELEMENTS,6,true],["ContainedInStructure",IFCRELCONTAINEDINSPATIALSTRUCTURE,4,true],["HasCoverings",IFCRELCOVERSBLDGELEMENTS,4,true]],2108223431:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["Types",IFCRELDEFINESBYTYPE,5,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true]],1114901282:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["Types",IFCRELDEFINESBYTYPE,5,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true]],3181161470:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["Types",IFCRELDEFINESBYTYPE,5,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true]],977012517:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["Types",IFCRELDEFINESBYTYPE,5,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true]],4143007308:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDeclaredBy",IFCRELDEFINESBYOBJECT,4,true],["Declares",IFCRELDEFINESBYOBJECT,5,true],["IsTypedBy",IFCRELDEFINESBYTYPE,4,true],["IsDefinedBy",IFCRELDEFINESBYPROPERTIES,4,true],["IsActingUpon",IFCRELASSIGNSTOACTOR,6,true]],3588315303:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDeclaredBy",IFCRELDEFINESBYOBJECT,4,true],["Declares",IFCRELDEFINESBYOBJECT,5,true],["IsTypedBy",IFCRELDEFINESBYTYPE,4,true],["IsDefinedBy",IFCRELDEFINESBYPROPERTIES,4,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true],["FillsVoids",IFCRELFILLSELEMENT,5,true],["ConnectedTo",IFCRELCONNECTSELEMENTS,5,true],["IsInterferedByElements",IFCRELINTERFERESELEMENTS,5,true],["InterferesElements",IFCRELINTERFERESELEMENTS,4,true],["HasProjections",IFCRELPROJECTSELEMENT,4,true],["ReferencedInStructures",IFCRELREFERENCEDINSPATIALSTRUCTURE,4,true],["HasOpenings",IFCRELVOIDSELEMENT,4,true],["IsConnectionRealization",IFCRELCONNECTSWITHREALIZINGELEMENTS,7,true],["ProvidesBoundaries",IFCRELSPACEBOUNDARY,5,true],["ConnectedFrom",IFCRELCONNECTSELEMENTS,6,true],["ContainedInStructure",IFCRELCONTAINEDINSPATIALSTRUCTURE,4,true],["HasCoverings",IFCRELCOVERSBLDGELEMENTS,4,true],["VoidsElements",IFCRELVOIDSELEMENT,5,false],["HasFillings",IFCRELFILLSELEMENT,4,true]],3079942009:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDeclaredBy",IFCRELDEFINESBYOBJECT,4,true],["Declares",IFCRELDEFINESBYOBJECT,5,true],["IsTypedBy",IFCRELDEFINESBYTYPE,4,true],["IsDefinedBy",IFCRELDEFINESBYPROPERTIES,4,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true],["FillsVoids",IFCRELFILLSELEMENT,5,true],["ConnectedTo",IFCRELCONNECTSELEMENTS,5,true],["IsInterferedByElements",IFCRELINTERFERESELEMENTS,5,true],["InterferesElements",IFCRELINTERFERESELEMENTS,4,true],["HasProjections",IFCRELPROJECTSELEMENT,4,true],["ReferencedInStructures",IFCRELREFERENCEDINSPATIALSTRUCTURE,4,true],["HasOpenings",IFCRELVOIDSELEMENT,4,true],["IsConnectionRealization",IFCRELCONNECTSWITHREALIZINGELEMENTS,7,true],["ProvidesBoundaries",IFCRELSPACEBOUNDARY,5,true],["ConnectedFrom",IFCRELCONNECTSELEMENTS,6,true],["ContainedInStructure",IFCRELCONTAINEDINSPATIALSTRUCTURE,4,true],["HasCoverings",IFCRELCOVERSBLDGELEMENTS,4,true],["VoidsElements",IFCRELVOIDSELEMENT,5,false],["HasFillings",IFCRELFILLSELEMENT,4,true]],2837617999:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["Types",IFCRELDEFINESBYTYPE,5,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true]],2382730787:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDeclaredBy",IFCRELDEFINESBYOBJECT,4,true],["Declares",IFCRELDEFINESBYOBJECT,5,true],["IsTypedBy",IFCRELDEFINESBYTYPE,4,true],["IsDefinedBy",IFCRELDEFINESBYPROPERTIES,4,true],["Controls",IFCRELASSIGNSTOCONTROL,6,true]],3566463478:[["HasContext",IFCRELDECLARES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["DefinesType",IFCTYPEOBJECT,5,true],["IsDefinedBy",IFCRELDEFINESBYTEMPLATE,4,true],["DefinesOccurrence",IFCRELDEFINESBYPROPERTIES,5,true]],3327091369:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDeclaredBy",IFCRELDEFINESBYOBJECT,4,true],["Declares",IFCRELDEFINESBYOBJECT,5,true],["IsTypedBy",IFCRELDEFINESBYTYPE,4,true],["IsDefinedBy",IFCRELDEFINESBYPROPERTIES,4,true],["Controls",IFCRELASSIGNSTOCONTROL,6,true]],1158309216:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["Types",IFCRELDEFINESBYTYPE,5,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true]],804291784:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["Types",IFCRELDEFINESBYTYPE,5,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true]],4231323485:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["Types",IFCRELDEFINESBYTYPE,5,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true]],4017108033:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["Types",IFCRELDEFINESBYTYPE,5,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true]],2839578677:[["LayerAssignment",IFCPRESENTATIONLAYERASSIGNMENT,2,true],["StyledByItem",IFCSTYLEDITEM,0,true],["HasColours",IFCINDEXEDCOLOURMAP,0,true],["HasTextures",IFCINDEXEDTEXTUREMAP,1,true]],3724593414:[["LayerAssignment",IFCPRESENTATIONLAYERASSIGNMENT,2,true],["StyledByItem",IFCSTYLEDITEM,0,true]],3740093272:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDeclaredBy",IFCRELDEFINESBYOBJECT,4,true],["Declares",IFCRELDEFINESBYOBJECT,5,true],["IsTypedBy",IFCRELDEFINESBYTYPE,4,true],["IsDefinedBy",IFCRELDEFINESBYPROPERTIES,4,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true],["ContainedIn",IFCRELCONNECTSPORTTOELEMENT,4,true],["ConnectedFrom",IFCRELCONNECTSPORTS,5,true],["ConnectedTo",IFCRELCONNECTSPORTS,4,true]],2744685151:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDeclaredBy",IFCRELDEFINESBYOBJECT,4,true],["Declares",IFCRELDEFINESBYOBJECT,5,true],["IsTypedBy",IFCRELDEFINESBYTYPE,4,true],["IsDefinedBy",IFCRELDEFINESBYPROPERTIES,4,true],["IsPredecessorTo",IFCRELSEQUENCE,4,true],["IsSuccessorFrom",IFCRELSEQUENCE,5,true],["OperatesOn",IFCRELASSIGNSTOPROCESS,6,true]],2904328755:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDeclaredBy",IFCRELDEFINESBYOBJECT,4,true],["Declares",IFCRELDEFINESBYOBJECT,5,true],["IsTypedBy",IFCRELDEFINESBYTYPE,4,true],["IsDefinedBy",IFCRELDEFINESBYPROPERTIES,4,true],["Controls",IFCRELASSIGNSTOCONTROL,6,true]],3651124850:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDeclaredBy",IFCRELDEFINESBYOBJECT,4,true],["Declares",IFCRELDEFINESBYOBJECT,5,true],["IsTypedBy",IFCRELDEFINESBYTYPE,4,true],["IsDefinedBy",IFCRELDEFINESBYPROPERTIES,4,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true],["FillsVoids",IFCRELFILLSELEMENT,5,true],["ConnectedTo",IFCRELCONNECTSELEMENTS,5,true],["IsInterferedByElements",IFCRELINTERFERESELEMENTS,5,true],["InterferesElements",IFCRELINTERFERESELEMENTS,4,true],["HasProjections",IFCRELPROJECTSELEMENT,4,true],["ReferencedInStructures",IFCRELREFERENCEDINSPATIALSTRUCTURE,4,true],["HasOpenings",IFCRELVOIDSELEMENT,4,true],["IsConnectionRealization",IFCRELCONNECTSWITHREALIZINGELEMENTS,7,true],["ProvidesBoundaries",IFCRELSPACEBOUNDARY,5,true],["ConnectedFrom",IFCRELCONNECTSELEMENTS,6,true],["ContainedInStructure",IFCRELCONTAINEDINSPATIALSTRUCTURE,4,true],["HasCoverings",IFCRELCOVERSBLDGELEMENTS,4,true],["ProjectsElements",IFCRELPROJECTSELEMENT,5,false]],1842657554:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["Types",IFCRELDEFINESBYTYPE,5,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true]],2250791053:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["Types",IFCRELDEFINESBYTYPE,5,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true]],2893384427:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["Types",IFCRELDEFINESBYTYPE,5,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true]],2324767716:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["Types",IFCRELDEFINESBYTYPE,5,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true]],1469900589:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["Types",IFCRELDEFINESBYTYPE,5,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true]],683857671:[["LayerAssignment",IFCPRESENTATIONLAYERASSIGNMENT,2,true],["StyledByItem",IFCSTYLEDITEM,0,true]],3027567501:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDeclaredBy",IFCRELDEFINESBYOBJECT,4,true],["Declares",IFCRELDEFINESBYOBJECT,5,true],["IsTypedBy",IFCRELDEFINESBYTYPE,4,true],["IsDefinedBy",IFCRELDEFINESBYPROPERTIES,4,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true],["FillsVoids",IFCRELFILLSELEMENT,5,true],["ConnectedTo",IFCRELCONNECTSELEMENTS,5,true],["IsInterferedByElements",IFCRELINTERFERESELEMENTS,5,true],["InterferesElements",IFCRELINTERFERESELEMENTS,4,true],["HasProjections",IFCRELPROJECTSELEMENT,4,true],["ReferencedInStructures",IFCRELREFERENCEDINSPATIALSTRUCTURE,4,true],["HasOpenings",IFCRELVOIDSELEMENT,4,true],["IsConnectionRealization",IFCRELCONNECTSWITHREALIZINGELEMENTS,7,true],["ProvidesBoundaries",IFCRELSPACEBOUNDARY,5,true],["ConnectedFrom",IFCRELCONNECTSELEMENTS,6,true],["ContainedInStructure",IFCRELCONTAINEDINSPATIALSTRUCTURE,4,true],["HasCoverings",IFCRELCOVERSBLDGELEMENTS,4,true]],964333572:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["Types",IFCRELDEFINESBYTYPE,5,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true]],2320036040:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDeclaredBy",IFCRELDEFINESBYOBJECT,4,true],["Declares",IFCRELDEFINESBYOBJECT,5,true],["IsTypedBy",IFCRELDEFINESBYTYPE,4,true],["IsDefinedBy",IFCRELDEFINESBYPROPERTIES,4,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true],["FillsVoids",IFCRELFILLSELEMENT,5,true],["ConnectedTo",IFCRELCONNECTSELEMENTS,5,true],["IsInterferedByElements",IFCRELINTERFERESELEMENTS,5,true],["InterferesElements",IFCRELINTERFERESELEMENTS,4,true],["HasProjections",IFCRELPROJECTSELEMENT,4,true],["ReferencedInStructures",IFCRELREFERENCEDINSPATIALSTRUCTURE,4,true],["HasOpenings",IFCRELVOIDSELEMENT,4,true],["IsConnectionRealization",IFCRELCONNECTSWITHREALIZINGELEMENTS,7,true],["ProvidesBoundaries",IFCRELSPACEBOUNDARY,5,true],["ConnectedFrom",IFCRELCONNECTSELEMENTS,6,true],["ContainedInStructure",IFCRELCONTAINEDINSPATIALSTRUCTURE,4,true],["HasCoverings",IFCRELCOVERSBLDGELEMENTS,4,true]],2310774935:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["Types",IFCRELDEFINESBYTYPE,5,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true]],2781568857:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["Types",IFCRELDEFINESBYTYPE,5,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true]],1768891740:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["Types",IFCRELDEFINESBYTYPE,5,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true]],2157484638:[["LayerAssignment",IFCPRESENTATIONLAYERASSIGNMENT,2,true],["StyledByItem",IFCSTYLEDITEM,0,true]],4074543187:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["Types",IFCRELDEFINESBYTYPE,5,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true]],4097777520:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDeclaredBy",IFCRELDEFINESBYOBJECT,4,true],["Declares",IFCRELDEFINESBYOBJECT,5,true],["IsTypedBy",IFCRELDEFINESBYTYPE,4,true],["IsDefinedBy",IFCRELDEFINESBYPROPERTIES,4,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true],["ContainsElements",IFCRELCONTAINEDINSPATIALSTRUCTURE,5,true],["ServicedBySystems",IFCRELSERVICESBUILDINGS,5,true],["ReferencesElements",IFCRELREFERENCEDINSPATIALSTRUCTURE,5,true]],2533589738:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["Types",IFCRELDEFINESBYTYPE,5,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true]],1072016465:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["Types",IFCRELDEFINESBYTYPE,5,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true]],3856911033:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDeclaredBy",IFCRELDEFINESBYOBJECT,4,true],["Declares",IFCRELDEFINESBYOBJECT,5,true],["IsTypedBy",IFCRELDEFINESBYTYPE,4,true],["IsDefinedBy",IFCRELDEFINESBYPROPERTIES,4,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true],["ContainsElements",IFCRELCONTAINEDINSPATIALSTRUCTURE,5,true],["ServicedBySystems",IFCRELSERVICESBUILDINGS,5,true],["ReferencesElements",IFCRELREFERENCEDINSPATIALSTRUCTURE,5,true],["HasCoverings",IFCRELCOVERSSPACES,4,true],["BoundedBy",IFCRELSPACEBOUNDARY,4,true]],1305183839:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["Types",IFCRELDEFINESBYTYPE,5,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true]],3812236995:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["Types",IFCRELDEFINESBYTYPE,5,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true]],3112655638:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["Types",IFCRELDEFINESBYTYPE,5,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true]],1039846685:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["Types",IFCRELDEFINESBYTYPE,5,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true]],338393293:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["Types",IFCRELDEFINESBYTYPE,5,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true]],682877961:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDeclaredBy",IFCRELDEFINESBYOBJECT,4,true],["Declares",IFCRELDEFINESBYOBJECT,5,true],["IsTypedBy",IFCRELDEFINESBYTYPE,4,true],["IsDefinedBy",IFCRELDEFINESBYPROPERTIES,4,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true],["AssignedToStructuralItem",IFCRELCONNECTSSTRUCTURALACTIVITY,5,true]],1179482911:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDeclaredBy",IFCRELDEFINESBYOBJECT,4,true],["Declares",IFCRELDEFINESBYOBJECT,5,true],["IsTypedBy",IFCRELDEFINESBYTYPE,4,true],["IsDefinedBy",IFCRELDEFINESBYPROPERTIES,4,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true],["AssignedStructuralActivity",IFCRELCONNECTSSTRUCTURALACTIVITY,4,true],["ConnectsStructuralMembers",IFCRELCONNECTSSTRUCTURALMEMBER,5,true]],1004757350:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDeclaredBy",IFCRELDEFINESBYOBJECT,4,true],["Declares",IFCRELDEFINESBYOBJECT,5,true],["IsTypedBy",IFCRELDEFINESBYTYPE,4,true],["IsDefinedBy",IFCRELDEFINESBYPROPERTIES,4,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true],["AssignedToStructuralItem",IFCRELCONNECTSSTRUCTURALACTIVITY,5,true]],4243806635:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDeclaredBy",IFCRELDEFINESBYOBJECT,4,true],["Declares",IFCRELDEFINESBYOBJECT,5,true],["IsTypedBy",IFCRELDEFINESBYTYPE,4,true],["IsDefinedBy",IFCRELDEFINESBYPROPERTIES,4,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true],["AssignedStructuralActivity",IFCRELCONNECTSSTRUCTURALACTIVITY,4,true],["ConnectsStructuralMembers",IFCRELCONNECTSSTRUCTURALMEMBER,5,true]],214636428:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDeclaredBy",IFCRELDEFINESBYOBJECT,4,true],["Declares",IFCRELDEFINESBYOBJECT,5,true],["IsTypedBy",IFCRELDEFINESBYTYPE,4,true],["IsDefinedBy",IFCRELDEFINESBYPROPERTIES,4,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true],["AssignedStructuralActivity",IFCRELCONNECTSSTRUCTURALACTIVITY,4,true],["ConnectedBy",IFCRELCONNECTSSTRUCTURALMEMBER,4,true]],2445595289:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDeclaredBy",IFCRELDEFINESBYOBJECT,4,true],["Declares",IFCRELDEFINESBYOBJECT,5,true],["IsTypedBy",IFCRELDEFINESBYTYPE,4,true],["IsDefinedBy",IFCRELDEFINESBYPROPERTIES,4,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true],["AssignedStructuralActivity",IFCRELCONNECTSSTRUCTURALACTIVITY,4,true],["ConnectedBy",IFCRELCONNECTSSTRUCTURALMEMBER,4,true]],2757150158:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDeclaredBy",IFCRELDEFINESBYOBJECT,4,true],["Declares",IFCRELDEFINESBYOBJECT,5,true],["IsTypedBy",IFCRELDEFINESBYTYPE,4,true],["IsDefinedBy",IFCRELDEFINESBYPROPERTIES,4,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true],["AssignedToStructuralItem",IFCRELCONNECTSSTRUCTURALACTIVITY,5,true]],1807405624:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDeclaredBy",IFCRELDEFINESBYOBJECT,4,true],["Declares",IFCRELDEFINESBYOBJECT,5,true],["IsTypedBy",IFCRELDEFINESBYTYPE,4,true],["IsDefinedBy",IFCRELDEFINESBYPROPERTIES,4,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true],["AssignedToStructuralItem",IFCRELCONNECTSSTRUCTURALACTIVITY,5,true]],1252848954:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDeclaredBy",IFCRELDEFINESBYOBJECT,4,true],["Declares",IFCRELDEFINESBYOBJECT,5,true],["IsTypedBy",IFCRELDEFINESBYTYPE,4,true],["IsDefinedBy",IFCRELDEFINESBYPROPERTIES,4,true],["IsGroupedBy",IFCRELASSIGNSTOGROUP,6,true],["SourceOfResultGroup",IFCSTRUCTURALRESULTGROUP,6,true],["LoadGroupFor",IFCSTRUCTURALANALYSISMODEL,7,true]],2082059205:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDeclaredBy",IFCRELDEFINESBYOBJECT,4,true],["Declares",IFCRELDEFINESBYOBJECT,5,true],["IsTypedBy",IFCRELDEFINESBYTYPE,4,true],["IsDefinedBy",IFCRELDEFINESBYPROPERTIES,4,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true],["AssignedToStructuralItem",IFCRELCONNECTSSTRUCTURALACTIVITY,5,true]],734778138:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDeclaredBy",IFCRELDEFINESBYOBJECT,4,true],["Declares",IFCRELDEFINESBYOBJECT,5,true],["IsTypedBy",IFCRELDEFINESBYTYPE,4,true],["IsDefinedBy",IFCRELDEFINESBYPROPERTIES,4,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true],["AssignedStructuralActivity",IFCRELCONNECTSSTRUCTURALACTIVITY,4,true],["ConnectsStructuralMembers",IFCRELCONNECTSSTRUCTURALMEMBER,5,true]],1235345126:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDeclaredBy",IFCRELDEFINESBYOBJECT,4,true],["Declares",IFCRELDEFINESBYOBJECT,5,true],["IsTypedBy",IFCRELDEFINESBYTYPE,4,true],["IsDefinedBy",IFCRELDEFINESBYPROPERTIES,4,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true],["AssignedToStructuralItem",IFCRELCONNECTSSTRUCTURALACTIVITY,5,true]],2986769608:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDeclaredBy",IFCRELDEFINESBYOBJECT,4,true],["Declares",IFCRELDEFINESBYOBJECT,5,true],["IsTypedBy",IFCRELDEFINESBYTYPE,4,true],["IsDefinedBy",IFCRELDEFINESBYPROPERTIES,4,true],["IsGroupedBy",IFCRELASSIGNSTOGROUP,6,true],["ResultGroupFor",IFCSTRUCTURALANALYSISMODEL,8,true]],3657597509:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDeclaredBy",IFCRELDEFINESBYOBJECT,4,true],["Declares",IFCRELDEFINESBYOBJECT,5,true],["IsTypedBy",IFCRELDEFINESBYTYPE,4,true],["IsDefinedBy",IFCRELDEFINESBYPROPERTIES,4,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true],["AssignedToStructuralItem",IFCRELCONNECTSSTRUCTURALACTIVITY,5,true]],1975003073:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDeclaredBy",IFCRELDEFINESBYOBJECT,4,true],["Declares",IFCRELDEFINESBYOBJECT,5,true],["IsTypedBy",IFCRELDEFINESBYTYPE,4,true],["IsDefinedBy",IFCRELDEFINESBYPROPERTIES,4,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true],["AssignedStructuralActivity",IFCRELCONNECTSSTRUCTURALACTIVITY,4,true],["ConnectsStructuralMembers",IFCRELCONNECTSSTRUCTURALMEMBER,5,true]],148013059:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDeclaredBy",IFCRELDEFINESBYOBJECT,4,true],["Declares",IFCRELDEFINESBYOBJECT,5,true],["IsTypedBy",IFCRELDEFINESBYTYPE,4,true],["IsDefinedBy",IFCRELDEFINESBYPROPERTIES,4,true],["ResourceOf",IFCRELASSIGNSTORESOURCE,6,true]],3101698114:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDeclaredBy",IFCRELDEFINESBYOBJECT,4,true],["Declares",IFCRELDEFINESBYOBJECT,5,true],["IsTypedBy",IFCRELDEFINESBYTYPE,4,true],["IsDefinedBy",IFCRELDEFINESBYPROPERTIES,4,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true],["FillsVoids",IFCRELFILLSELEMENT,5,true],["ConnectedTo",IFCRELCONNECTSELEMENTS,5,true],["IsInterferedByElements",IFCRELINTERFERESELEMENTS,5,true],["InterferesElements",IFCRELINTERFERESELEMENTS,4,true],["HasProjections",IFCRELPROJECTSELEMENT,4,true],["ReferencedInStructures",IFCRELREFERENCEDINSPATIALSTRUCTURE,4,true],["HasOpenings",IFCRELVOIDSELEMENT,4,true],["IsConnectionRealization",IFCRELCONNECTSWITHREALIZINGELEMENTS,7,true],["ProvidesBoundaries",IFCRELSPACEBOUNDARY,5,true],["ConnectedFrom",IFCRELCONNECTSELEMENTS,6,true],["ContainedInStructure",IFCRELCONTAINEDINSPATIALSTRUCTURE,4,true],["HasCoverings",IFCRELCOVERSBLDGELEMENTS,4,true]],2315554128:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["Types",IFCRELDEFINESBYTYPE,5,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true]],2254336722:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDeclaredBy",IFCRELDEFINESBYOBJECT,4,true],["Declares",IFCRELDEFINESBYOBJECT,5,true],["IsTypedBy",IFCRELDEFINESBYTYPE,4,true],["IsDefinedBy",IFCRELDEFINESBYPROPERTIES,4,true],["IsGroupedBy",IFCRELASSIGNSTOGROUP,6,true],["ServicesBuildings",IFCRELSERVICESBUILDINGS,4,true]],413509423:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDeclaredBy",IFCRELDEFINESBYOBJECT,4,true],["Declares",IFCRELDEFINESBYOBJECT,5,true],["IsTypedBy",IFCRELDEFINESBYTYPE,4,true],["IsDefinedBy",IFCRELDEFINESBYPROPERTIES,4,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true],["FillsVoids",IFCRELFILLSELEMENT,5,true],["ConnectedTo",IFCRELCONNECTSELEMENTS,5,true],["IsInterferedByElements",IFCRELINTERFERESELEMENTS,5,true],["InterferesElements",IFCRELINTERFERESELEMENTS,4,true],["HasProjections",IFCRELPROJECTSELEMENT,4,true],["ReferencedInStructures",IFCRELREFERENCEDINSPATIALSTRUCTURE,4,true],["HasOpenings",IFCRELVOIDSELEMENT,4,true],["IsConnectionRealization",IFCRELCONNECTSWITHREALIZINGELEMENTS,7,true],["ProvidesBoundaries",IFCRELSPACEBOUNDARY,5,true],["ConnectedFrom",IFCRELCONNECTSELEMENTS,6,true],["ContainedInStructure",IFCRELCONTAINEDINSPATIALSTRUCTURE,4,true],["HasCoverings",IFCRELCOVERSBLDGELEMENTS,4,true]],5716631:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["Types",IFCRELDEFINESBYTYPE,5,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true]],3824725483:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDeclaredBy",IFCRELDEFINESBYOBJECT,4,true],["Declares",IFCRELDEFINESBYOBJECT,5,true],["IsTypedBy",IFCRELDEFINESBYTYPE,4,true],["IsDefinedBy",IFCRELDEFINESBYPROPERTIES,4,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true],["FillsVoids",IFCRELFILLSELEMENT,5,true],["ConnectedTo",IFCRELCONNECTSELEMENTS,5,true],["IsInterferedByElements",IFCRELINTERFERESELEMENTS,5,true],["InterferesElements",IFCRELINTERFERESELEMENTS,4,true],["HasProjections",IFCRELPROJECTSELEMENT,4,true],["ReferencedInStructures",IFCRELREFERENCEDINSPATIALSTRUCTURE,4,true],["HasOpenings",IFCRELVOIDSELEMENT,4,true],["IsConnectionRealization",IFCRELCONNECTSWITHREALIZINGELEMENTS,7,true],["ProvidesBoundaries",IFCRELSPACEBOUNDARY,5,true],["ConnectedFrom",IFCRELCONNECTSELEMENTS,6,true],["ContainedInStructure",IFCRELCONTAINEDINSPATIALSTRUCTURE,4,true],["HasCoverings",IFCRELCOVERSBLDGELEMENTS,4,true]],2347447852:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDeclaredBy",IFCRELDEFINESBYOBJECT,4,true],["Declares",IFCRELDEFINESBYOBJECT,5,true],["IsTypedBy",IFCRELDEFINESBYTYPE,4,true],["IsDefinedBy",IFCRELDEFINESBYPROPERTIES,4,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true],["FillsVoids",IFCRELFILLSELEMENT,5,true],["ConnectedTo",IFCRELCONNECTSELEMENTS,5,true],["IsInterferedByElements",IFCRELINTERFERESELEMENTS,5,true],["InterferesElements",IFCRELINTERFERESELEMENTS,4,true],["HasProjections",IFCRELPROJECTSELEMENT,4,true],["ReferencedInStructures",IFCRELREFERENCEDINSPATIALSTRUCTURE,4,true],["HasOpenings",IFCRELVOIDSELEMENT,4,true],["IsConnectionRealization",IFCRELCONNECTSWITHREALIZINGELEMENTS,7,true],["ProvidesBoundaries",IFCRELSPACEBOUNDARY,5,true],["ConnectedFrom",IFCRELCONNECTSELEMENTS,6,true],["ContainedInStructure",IFCRELCONTAINEDINSPATIALSTRUCTURE,4,true],["HasCoverings",IFCRELCOVERSBLDGELEMENTS,4,true]],3081323446:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["Types",IFCRELDEFINESBYTYPE,5,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true]],2415094496:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["Types",IFCRELDEFINESBYTYPE,5,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true]],1692211062:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["Types",IFCRELDEFINESBYTYPE,5,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true]],1620046519:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDeclaredBy",IFCRELDEFINESBYOBJECT,4,true],["Declares",IFCRELDEFINESBYOBJECT,5,true],["IsTypedBy",IFCRELDEFINESBYTYPE,4,true],["IsDefinedBy",IFCRELDEFINESBYPROPERTIES,4,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true],["FillsVoids",IFCRELFILLSELEMENT,5,true],["ConnectedTo",IFCRELCONNECTSELEMENTS,5,true],["IsInterferedByElements",IFCRELINTERFERESELEMENTS,5,true],["InterferesElements",IFCRELINTERFERESELEMENTS,4,true],["HasProjections",IFCRELPROJECTSELEMENT,4,true],["ReferencedInStructures",IFCRELREFERENCEDINSPATIALSTRUCTURE,4,true],["HasOpenings",IFCRELVOIDSELEMENT,4,true],["IsConnectionRealization",IFCRELCONNECTSWITHREALIZINGELEMENTS,7,true],["ProvidesBoundaries",IFCRELSPACEBOUNDARY,5,true],["ConnectedFrom",IFCRELCONNECTSELEMENTS,6,true],["ContainedInStructure",IFCRELCONTAINEDINSPATIALSTRUCTURE,4,true],["HasCoverings",IFCRELCOVERSBLDGELEMENTS,4,true]],3593883385:[["LayerAssignment",IFCPRESENTATIONLAYERASSIGNMENT,2,true],["StyledByItem",IFCSTYLEDITEM,0,true]],1600972822:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["Types",IFCRELDEFINESBYTYPE,5,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true]],1911125066:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["Types",IFCRELDEFINESBYTYPE,5,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true]],728799441:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["Types",IFCRELDEFINESBYTYPE,5,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true]],2391383451:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDeclaredBy",IFCRELDEFINESBYOBJECT,4,true],["Declares",IFCRELDEFINESBYOBJECT,5,true],["IsTypedBy",IFCRELDEFINESBYTYPE,4,true],["IsDefinedBy",IFCRELDEFINESBYPROPERTIES,4,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true],["FillsVoids",IFCRELFILLSELEMENT,5,true],["ConnectedTo",IFCRELCONNECTSELEMENTS,5,true],["IsInterferedByElements",IFCRELINTERFERESELEMENTS,5,true],["InterferesElements",IFCRELINTERFERESELEMENTS,4,true],["HasProjections",IFCRELPROJECTSELEMENT,4,true],["ReferencedInStructures",IFCRELREFERENCEDINSPATIALSTRUCTURE,4,true],["HasOpenings",IFCRELVOIDSELEMENT,4,true],["IsConnectionRealization",IFCRELCONNECTSWITHREALIZINGELEMENTS,7,true],["ProvidesBoundaries",IFCRELSPACEBOUNDARY,5,true],["ConnectedFrom",IFCRELCONNECTSELEMENTS,6,true],["ContainedInStructure",IFCRELCONTAINEDINSPATIALSTRUCTURE,4,true],["HasCoverings",IFCRELCOVERSBLDGELEMENTS,4,true]],3313531582:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["Types",IFCRELDEFINESBYTYPE,5,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true]],2769231204:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDeclaredBy",IFCRELDEFINESBYOBJECT,4,true],["Declares",IFCRELDEFINESBYOBJECT,5,true],["IsTypedBy",IFCRELDEFINESBYTYPE,4,true],["IsDefinedBy",IFCRELDEFINESBYPROPERTIES,4,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true],["FillsVoids",IFCRELFILLSELEMENT,5,true],["ConnectedTo",IFCRELCONNECTSELEMENTS,5,true],["IsInterferedByElements",IFCRELINTERFERESELEMENTS,5,true],["InterferesElements",IFCRELINTERFERESELEMENTS,4,true],["HasProjections",IFCRELPROJECTSELEMENT,4,true],["ReferencedInStructures",IFCRELREFERENCEDINSPATIALSTRUCTURE,4,true],["HasOpenings",IFCRELVOIDSELEMENT,4,true],["IsConnectionRealization",IFCRELCONNECTSWITHREALIZINGELEMENTS,7,true],["ProvidesBoundaries",IFCRELSPACEBOUNDARY,5,true],["ConnectedFrom",IFCRELCONNECTSELEMENTS,6,true],["ContainedInStructure",IFCRELCONTAINEDINSPATIALSTRUCTURE,4,true],["HasCoverings",IFCRELCOVERSBLDGELEMENTS,4,true]],926996030:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDeclaredBy",IFCRELDEFINESBYOBJECT,4,true],["Declares",IFCRELDEFINESBYOBJECT,5,true],["IsTypedBy",IFCRELDEFINESBYTYPE,4,true],["IsDefinedBy",IFCRELDEFINESBYPROPERTIES,4,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true],["FillsVoids",IFCRELFILLSELEMENT,5,true],["ConnectedTo",IFCRELCONNECTSELEMENTS,5,true],["IsInterferedByElements",IFCRELINTERFERESELEMENTS,5,true],["InterferesElements",IFCRELINTERFERESELEMENTS,4,true],["HasProjections",IFCRELPROJECTSELEMENT,4,true],["ReferencedInStructures",IFCRELREFERENCEDINSPATIALSTRUCTURE,4,true],["HasOpenings",IFCRELVOIDSELEMENT,4,true],["IsConnectionRealization",IFCRELCONNECTSWITHREALIZINGELEMENTS,7,true],["ProvidesBoundaries",IFCRELSPACEBOUNDARY,5,true],["ConnectedFrom",IFCRELCONNECTSELEMENTS,6,true],["ContainedInStructure",IFCRELCONTAINEDINSPATIALSTRUCTURE,4,true],["HasCoverings",IFCRELCOVERSBLDGELEMENTS,4,true],["VoidsElements",IFCRELVOIDSELEMENT,5,false]],1898987631:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["Types",IFCRELDEFINESBYTYPE,5,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true]],1133259667:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["Types",IFCRELDEFINESBYTYPE,5,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true]],4009809668:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["Types",IFCRELDEFINESBYTYPE,5,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true]],4088093105:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDeclaredBy",IFCRELDEFINESBYOBJECT,4,true],["Declares",IFCRELDEFINESBYOBJECT,5,true],["IsTypedBy",IFCRELDEFINESBYTYPE,4,true],["IsDefinedBy",IFCRELDEFINESBYPROPERTIES,4,true],["Controls",IFCRELASSIGNSTOCONTROL,6,true]],1028945134:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDeclaredBy",IFCRELDEFINESBYOBJECT,4,true],["Declares",IFCRELDEFINESBYOBJECT,5,true],["IsTypedBy",IFCRELDEFINESBYTYPE,4,true],["IsDefinedBy",IFCRELDEFINESBYPROPERTIES,4,true],["Controls",IFCRELASSIGNSTOCONTROL,6,true]],4218914973:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDeclaredBy",IFCRELDEFINESBYOBJECT,4,true],["Declares",IFCRELDEFINESBYOBJECT,5,true],["IsTypedBy",IFCRELDEFINESBYTYPE,4,true],["IsDefinedBy",IFCRELDEFINESBYPROPERTIES,4,true],["Controls",IFCRELASSIGNSTOCONTROL,6,true]],3342526732:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDeclaredBy",IFCRELDEFINESBYOBJECT,4,true],["Declares",IFCRELDEFINESBYOBJECT,5,true],["IsTypedBy",IFCRELDEFINESBYTYPE,4,true],["IsDefinedBy",IFCRELDEFINESBYPROPERTIES,4,true],["Controls",IFCRELASSIGNSTOCONTROL,6,true]],1033361043:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDeclaredBy",IFCRELDEFINESBYOBJECT,4,true],["Declares",IFCRELDEFINESBYOBJECT,5,true],["IsTypedBy",IFCRELDEFINESBYTYPE,4,true],["IsDefinedBy",IFCRELDEFINESBYPROPERTIES,4,true],["IsGroupedBy",IFCRELASSIGNSTOGROUP,6,true],["ServicesBuildings",IFCRELSERVICESBUILDINGS,4,true]],3821786052:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDeclaredBy",IFCRELDEFINESBYOBJECT,4,true],["Declares",IFCRELDEFINESBYOBJECT,5,true],["IsTypedBy",IFCRELDEFINESBYTYPE,4,true],["IsDefinedBy",IFCRELDEFINESBYPROPERTIES,4,true],["Controls",IFCRELASSIGNSTOCONTROL,6,true]],1411407467:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["Types",IFCRELDEFINESBYTYPE,5,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true]],3352864051:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["Types",IFCRELDEFINESBYTYPE,5,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true]],1871374353:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["Types",IFCRELDEFINESBYTYPE,5,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true]],3460190687:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDeclaredBy",IFCRELDEFINESBYOBJECT,4,true],["Declares",IFCRELDEFINESBYOBJECT,5,true],["IsTypedBy",IFCRELDEFINESBYTYPE,4,true],["IsDefinedBy",IFCRELDEFINESBYPROPERTIES,4,true],["IsGroupedBy",IFCRELASSIGNSTOGROUP,6,true]],1532957894:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["Types",IFCRELDEFINESBYTYPE,5,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true]],1967976161:[["LayerAssignment",IFCPRESENTATIONLAYERASSIGNMENT,2,true],["StyledByItem",IFCSTYLEDITEM,0,true]],2461110595:[["LayerAssignment",IFCPRESENTATIONLAYERASSIGNMENT,2,true],["StyledByItem",IFCSTYLEDITEM,0,true]],819618141:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["Types",IFCRELDEFINESBYTYPE,5,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true]],231477066:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["Types",IFCRELDEFINESBYTYPE,5,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true]],1136057603:[["LayerAssignment",IFCPRESENTATIONLAYERASSIGNMENT,2,true],["StyledByItem",IFCSTYLEDITEM,0,true]],3299480353:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDeclaredBy",IFCRELDEFINESBYOBJECT,4,true],["Declares",IFCRELDEFINESBYOBJECT,5,true],["IsTypedBy",IFCRELDEFINESBYTYPE,4,true],["IsDefinedBy",IFCRELDEFINESBYPROPERTIES,4,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true],["FillsVoids",IFCRELFILLSELEMENT,5,true],["ConnectedTo",IFCRELCONNECTSELEMENTS,5,true],["IsInterferedByElements",IFCRELINTERFERESELEMENTS,5,true],["InterferesElements",IFCRELINTERFERESELEMENTS,4,true],["HasProjections",IFCRELPROJECTSELEMENT,4,true],["ReferencedInStructures",IFCRELREFERENCEDINSPATIALSTRUCTURE,4,true],["HasOpenings",IFCRELVOIDSELEMENT,4,true],["IsConnectionRealization",IFCRELCONNECTSWITHREALIZINGELEMENTS,7,true],["ProvidesBoundaries",IFCRELSPACEBOUNDARY,5,true],["ConnectedFrom",IFCRELCONNECTSELEMENTS,6,true],["ContainedInStructure",IFCRELCONTAINEDINSPATIALSTRUCTURE,4,true],["HasCoverings",IFCRELCOVERSBLDGELEMENTS,4,true]],2979338954:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDeclaredBy",IFCRELDEFINESBYOBJECT,4,true],["Declares",IFCRELDEFINESBYOBJECT,5,true],["IsTypedBy",IFCRELDEFINESBYTYPE,4,true],["IsDefinedBy",IFCRELDEFINESBYPROPERTIES,4,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true],["FillsVoids",IFCRELFILLSELEMENT,5,true],["ConnectedTo",IFCRELCONNECTSELEMENTS,5,true],["IsInterferedByElements",IFCRELINTERFERESELEMENTS,5,true],["InterferesElements",IFCRELINTERFERESELEMENTS,4,true],["HasProjections",IFCRELPROJECTSELEMENT,4,true],["ReferencedInStructures",IFCRELREFERENCEDINSPATIALSTRUCTURE,4,true],["HasOpenings",IFCRELVOIDSELEMENT,4,true],["IsConnectionRealization",IFCRELCONNECTSWITHREALIZINGELEMENTS,7,true],["ProvidesBoundaries",IFCRELSPACEBOUNDARY,5,true],["ConnectedFrom",IFCRELCONNECTSELEMENTS,6,true],["ContainedInStructure",IFCRELCONTAINEDINSPATIALSTRUCTURE,4,true],["HasCoverings",IFCRELCOVERSBLDGELEMENTS,4,true]],39481116:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["Types",IFCRELDEFINESBYTYPE,5,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true]],1095909175:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDeclaredBy",IFCRELDEFINESBYOBJECT,4,true],["Declares",IFCRELDEFINESBYOBJECT,5,true],["IsTypedBy",IFCRELDEFINESBYTYPE,4,true],["IsDefinedBy",IFCRELDEFINESBYPROPERTIES,4,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true],["FillsVoids",IFCRELFILLSELEMENT,5,true],["ConnectedTo",IFCRELCONNECTSELEMENTS,5,true],["IsInterferedByElements",IFCRELINTERFERESELEMENTS,5,true],["InterferesElements",IFCRELINTERFERESELEMENTS,4,true],["HasProjections",IFCRELPROJECTSELEMENT,4,true],["ReferencedInStructures",IFCRELREFERENCEDINSPATIALSTRUCTURE,4,true],["HasOpenings",IFCRELVOIDSELEMENT,4,true],["IsConnectionRealization",IFCRELCONNECTSWITHREALIZINGELEMENTS,7,true],["ProvidesBoundaries",IFCRELSPACEBOUNDARY,5,true],["ConnectedFrom",IFCRELCONNECTSELEMENTS,6,true],["ContainedInStructure",IFCRELCONTAINEDINSPATIALSTRUCTURE,4,true],["HasCoverings",IFCRELCOVERSBLDGELEMENTS,4,true]],1909888760:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["Types",IFCRELDEFINESBYTYPE,5,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true]],1177604601:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDeclaredBy",IFCRELDEFINESBYOBJECT,4,true],["Declares",IFCRELDEFINESBYOBJECT,5,true],["IsTypedBy",IFCRELDEFINESBYTYPE,4,true],["IsDefinedBy",IFCRELDEFINESBYPROPERTIES,4,true],["IsGroupedBy",IFCRELASSIGNSTOGROUP,6,true],["ServicesBuildings",IFCRELSERVICESBUILDINGS,4,true]],2188180465:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["Types",IFCRELDEFINESBYTYPE,5,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true]],395041908:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["Types",IFCRELDEFINESBYTYPE,5,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true]],3293546465:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["Types",IFCRELDEFINESBYTYPE,5,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true]],2674252688:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["Types",IFCRELDEFINESBYTYPE,5,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true]],1285652485:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["Types",IFCRELDEFINESBYTYPE,5,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true]],2951183804:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["Types",IFCRELDEFINESBYTYPE,5,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true]],3296154744:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDeclaredBy",IFCRELDEFINESBYOBJECT,4,true],["Declares",IFCRELDEFINESBYOBJECT,5,true],["IsTypedBy",IFCRELDEFINESBYTYPE,4,true],["IsDefinedBy",IFCRELDEFINESBYPROPERTIES,4,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true],["FillsVoids",IFCRELFILLSELEMENT,5,true],["ConnectedTo",IFCRELCONNECTSELEMENTS,5,true],["IsInterferedByElements",IFCRELINTERFERESELEMENTS,5,true],["InterferesElements",IFCRELINTERFERESELEMENTS,4,true],["HasProjections",IFCRELPROJECTSELEMENT,4,true],["ReferencedInStructures",IFCRELREFERENCEDINSPATIALSTRUCTURE,4,true],["HasOpenings",IFCRELVOIDSELEMENT,4,true],["IsConnectionRealization",IFCRELCONNECTSWITHREALIZINGELEMENTS,7,true],["ProvidesBoundaries",IFCRELSPACEBOUNDARY,5,true],["ConnectedFrom",IFCRELCONNECTSELEMENTS,6,true],["ContainedInStructure",IFCRELCONTAINEDINSPATIALSTRUCTURE,4,true],["HasCoverings",IFCRELCOVERSBLDGELEMENTS,4,true]],2611217952:[["LayerAssignment",IFCPRESENTATIONLAYERASSIGNMENT,2,true],["StyledByItem",IFCSTYLEDITEM,0,true]],1677625105:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDeclaredBy",IFCRELDEFINESBYOBJECT,4,true],["Declares",IFCRELDEFINESBYOBJECT,5,true],["IsTypedBy",IFCRELDEFINESBYTYPE,4,true],["IsDefinedBy",IFCRELDEFINESBYPROPERTIES,4,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true],["FillsVoids",IFCRELFILLSELEMENT,5,true],["ConnectedTo",IFCRELCONNECTSELEMENTS,5,true],["IsInterferedByElements",IFCRELINTERFERESELEMENTS,5,true],["InterferesElements",IFCRELINTERFERESELEMENTS,4,true],["HasProjections",IFCRELPROJECTSELEMENT,4,true],["ReferencedInStructures",IFCRELREFERENCEDINSPATIALSTRUCTURE,4,true],["HasOpenings",IFCRELVOIDSELEMENT,4,true],["IsConnectionRealization",IFCRELCONNECTSWITHREALIZINGELEMENTS,7,true],["ProvidesBoundaries",IFCRELSPACEBOUNDARY,5,true],["ConnectedFrom",IFCRELCONNECTSELEMENTS,6,true],["ContainedInStructure",IFCRELCONTAINEDINSPATIALSTRUCTURE,4,true],["HasCoverings",IFCRELCOVERSBLDGELEMENTS,4,true]],2301859152:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["Types",IFCRELDEFINESBYTYPE,5,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true]],843113511:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDeclaredBy",IFCRELDEFINESBYOBJECT,4,true],["Declares",IFCRELDEFINESBYOBJECT,5,true],["IsTypedBy",IFCRELDEFINESBYTYPE,4,true],["IsDefinedBy",IFCRELDEFINESBYPROPERTIES,4,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true],["FillsVoids",IFCRELFILLSELEMENT,5,true],["ConnectedTo",IFCRELCONNECTSELEMENTS,5,true],["IsInterferedByElements",IFCRELINTERFERESELEMENTS,5,true],["InterferesElements",IFCRELINTERFERESELEMENTS,4,true],["HasProjections",IFCRELPROJECTSELEMENT,4,true],["ReferencedInStructures",IFCRELREFERENCEDINSPATIALSTRUCTURE,4,true],["HasOpenings",IFCRELVOIDSELEMENT,4,true],["IsConnectionRealization",IFCRELCONNECTSWITHREALIZINGELEMENTS,7,true],["ProvidesBoundaries",IFCRELSPACEBOUNDARY,5,true],["ConnectedFrom",IFCRELCONNECTSELEMENTS,6,true],["ContainedInStructure",IFCRELCONTAINEDINSPATIALSTRUCTURE,4,true],["HasCoverings",IFCRELCOVERSBLDGELEMENTS,4,true]],905975707:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDeclaredBy",IFCRELDEFINESBYOBJECT,4,true],["Declares",IFCRELDEFINESBYOBJECT,5,true],["IsTypedBy",IFCRELDEFINESBYTYPE,4,true],["IsDefinedBy",IFCRELDEFINESBYPROPERTIES,4,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true],["FillsVoids",IFCRELFILLSELEMENT,5,true],["ConnectedTo",IFCRELCONNECTSELEMENTS,5,true],["IsInterferedByElements",IFCRELINTERFERESELEMENTS,5,true],["InterferesElements",IFCRELINTERFERESELEMENTS,4,true],["HasProjections",IFCRELPROJECTSELEMENT,4,true],["ReferencedInStructures",IFCRELREFERENCEDINSPATIALSTRUCTURE,4,true],["HasOpenings",IFCRELVOIDSELEMENT,4,true],["IsConnectionRealization",IFCRELCONNECTSWITHREALIZINGELEMENTS,7,true],["ProvidesBoundaries",IFCRELSPACEBOUNDARY,5,true],["ConnectedFrom",IFCRELCONNECTSELEMENTS,6,true],["ContainedInStructure",IFCRELCONTAINEDINSPATIALSTRUCTURE,4,true],["HasCoverings",IFCRELCOVERSBLDGELEMENTS,4,true]],400855858:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["Types",IFCRELDEFINESBYTYPE,5,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true]],3850581409:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["Types",IFCRELDEFINESBYTYPE,5,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true]],2816379211:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["Types",IFCRELDEFINESBYTYPE,5,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true]],3898045240:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDeclaredBy",IFCRELDEFINESBYOBJECT,4,true],["Declares",IFCRELDEFINESBYOBJECT,5,true],["IsTypedBy",IFCRELDEFINESBYTYPE,4,true],["IsDefinedBy",IFCRELDEFINESBYPROPERTIES,4,true],["ResourceOf",IFCRELASSIGNSTORESOURCE,6,true]],1060000209:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDeclaredBy",IFCRELDEFINESBYOBJECT,4,true],["Declares",IFCRELDEFINESBYOBJECT,5,true],["IsTypedBy",IFCRELDEFINESBYTYPE,4,true],["IsDefinedBy",IFCRELDEFINESBYPROPERTIES,4,true],["ResourceOf",IFCRELASSIGNSTORESOURCE,6,true]],488727124:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDeclaredBy",IFCRELDEFINESBYOBJECT,4,true],["Declares",IFCRELDEFINESBYOBJECT,5,true],["IsTypedBy",IFCRELDEFINESBYTYPE,4,true],["IsDefinedBy",IFCRELDEFINESBYPROPERTIES,4,true],["ResourceOf",IFCRELASSIGNSTORESOURCE,6,true]],335055490:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["Types",IFCRELDEFINESBYTYPE,5,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true]],2954562838:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["Types",IFCRELDEFINESBYTYPE,5,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true]],1973544240:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDeclaredBy",IFCRELDEFINESBYOBJECT,4,true],["Declares",IFCRELDEFINESBYOBJECT,5,true],["IsTypedBy",IFCRELDEFINESBYTYPE,4,true],["IsDefinedBy",IFCRELDEFINESBYPROPERTIES,4,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true],["FillsVoids",IFCRELFILLSELEMENT,5,true],["ConnectedTo",IFCRELCONNECTSELEMENTS,5,true],["IsInterferedByElements",IFCRELINTERFERESELEMENTS,5,true],["InterferesElements",IFCRELINTERFERESELEMENTS,4,true],["HasProjections",IFCRELPROJECTSELEMENT,4,true],["ReferencedInStructures",IFCRELREFERENCEDINSPATIALSTRUCTURE,4,true],["HasOpenings",IFCRELVOIDSELEMENT,4,true],["IsConnectionRealization",IFCRELCONNECTSWITHREALIZINGELEMENTS,7,true],["ProvidesBoundaries",IFCRELSPACEBOUNDARY,5,true],["ConnectedFrom",IFCRELCONNECTSELEMENTS,6,true],["ContainedInStructure",IFCRELCONTAINEDINSPATIALSTRUCTURE,4,true],["HasCoverings",IFCRELCOVERSBLDGELEMENTS,4,true],["CoversSpaces",IFCRELCOVERSSPACES,5,true],["CoversElements",IFCRELCOVERSBLDGELEMENTS,5,true]],3495092785:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDeclaredBy",IFCRELDEFINESBYOBJECT,4,true],["Declares",IFCRELDEFINESBYOBJECT,5,true],["IsTypedBy",IFCRELDEFINESBYTYPE,4,true],["IsDefinedBy",IFCRELDEFINESBYPROPERTIES,4,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true],["FillsVoids",IFCRELFILLSELEMENT,5,true],["ConnectedTo",IFCRELCONNECTSELEMENTS,5,true],["IsInterferedByElements",IFCRELINTERFERESELEMENTS,5,true],["InterferesElements",IFCRELINTERFERESELEMENTS,4,true],["HasProjections",IFCRELPROJECTSELEMENT,4,true],["ReferencedInStructures",IFCRELREFERENCEDINSPATIALSTRUCTURE,4,true],["HasOpenings",IFCRELVOIDSELEMENT,4,true],["IsConnectionRealization",IFCRELCONNECTSWITHREALIZINGELEMENTS,7,true],["ProvidesBoundaries",IFCRELSPACEBOUNDARY,5,true],["ConnectedFrom",IFCRELCONNECTSELEMENTS,6,true],["ContainedInStructure",IFCRELCONTAINEDINSPATIALSTRUCTURE,4,true],["HasCoverings",IFCRELCOVERSBLDGELEMENTS,4,true]],3961806047:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["Types",IFCRELDEFINESBYTYPE,5,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true]],1335981549:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDeclaredBy",IFCRELDEFINESBYOBJECT,4,true],["Declares",IFCRELDEFINESBYOBJECT,5,true],["IsTypedBy",IFCRELDEFINESBYTYPE,4,true],["IsDefinedBy",IFCRELDEFINESBYPROPERTIES,4,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true],["FillsVoids",IFCRELFILLSELEMENT,5,true],["ConnectedTo",IFCRELCONNECTSELEMENTS,5,true],["IsInterferedByElements",IFCRELINTERFERESELEMENTS,5,true],["InterferesElements",IFCRELINTERFERESELEMENTS,4,true],["HasProjections",IFCRELPROJECTSELEMENT,4,true],["ReferencedInStructures",IFCRELREFERENCEDINSPATIALSTRUCTURE,4,true],["HasOpenings",IFCRELVOIDSELEMENT,4,true],["IsConnectionRealization",IFCRELCONNECTSWITHREALIZINGELEMENTS,7,true],["ProvidesBoundaries",IFCRELSPACEBOUNDARY,5,true],["ConnectedFrom",IFCRELCONNECTSELEMENTS,6,true],["ContainedInStructure",IFCRELCONTAINEDINSPATIALSTRUCTURE,4,true],["HasCoverings",IFCRELCOVERSBLDGELEMENTS,4,true]],2635815018:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["Types",IFCRELDEFINESBYTYPE,5,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true]],1599208980:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["Types",IFCRELDEFINESBYTYPE,5,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true]],2063403501:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["Types",IFCRELDEFINESBYTYPE,5,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true]],1945004755:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDeclaredBy",IFCRELDEFINESBYOBJECT,4,true],["Declares",IFCRELDEFINESBYOBJECT,5,true],["IsTypedBy",IFCRELDEFINESBYTYPE,4,true],["IsDefinedBy",IFCRELDEFINESBYPROPERTIES,4,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true],["FillsVoids",IFCRELFILLSELEMENT,5,true],["ConnectedTo",IFCRELCONNECTSELEMENTS,5,true],["IsInterferedByElements",IFCRELINTERFERESELEMENTS,5,true],["InterferesElements",IFCRELINTERFERESELEMENTS,4,true],["HasProjections",IFCRELPROJECTSELEMENT,4,true],["ReferencedInStructures",IFCRELREFERENCEDINSPATIALSTRUCTURE,4,true],["HasOpenings",IFCRELVOIDSELEMENT,4,true],["IsConnectionRealization",IFCRELCONNECTSWITHREALIZINGELEMENTS,7,true],["ProvidesBoundaries",IFCRELSPACEBOUNDARY,5,true],["ConnectedFrom",IFCRELCONNECTSELEMENTS,6,true],["ContainedInStructure",IFCRELCONTAINEDINSPATIALSTRUCTURE,4,true],["HasCoverings",IFCRELCOVERSBLDGELEMENTS,4,true],["HasPorts",IFCRELCONNECTSPORTTOELEMENT,5,true]],3040386961:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDeclaredBy",IFCRELDEFINESBYOBJECT,4,true],["Declares",IFCRELDEFINESBYOBJECT,5,true],["IsTypedBy",IFCRELDEFINESBYTYPE,4,true],["IsDefinedBy",IFCRELDEFINESBYPROPERTIES,4,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true],["FillsVoids",IFCRELFILLSELEMENT,5,true],["ConnectedTo",IFCRELCONNECTSELEMENTS,5,true],["IsInterferedByElements",IFCRELINTERFERESELEMENTS,5,true],["InterferesElements",IFCRELINTERFERESELEMENTS,4,true],["HasProjections",IFCRELPROJECTSELEMENT,4,true],["ReferencedInStructures",IFCRELREFERENCEDINSPATIALSTRUCTURE,4,true],["HasOpenings",IFCRELVOIDSELEMENT,4,true],["IsConnectionRealization",IFCRELCONNECTSWITHREALIZINGELEMENTS,7,true],["ProvidesBoundaries",IFCRELSPACEBOUNDARY,5,true],["ConnectedFrom",IFCRELCONNECTSELEMENTS,6,true],["ContainedInStructure",IFCRELCONTAINEDINSPATIALSTRUCTURE,4,true],["HasCoverings",IFCRELCOVERSBLDGELEMENTS,4,true],["HasPorts",IFCRELCONNECTSPORTTOELEMENT,5,true],["HasControlElements",IFCRELFLOWCONTROLELEMENTS,5,true]],3041715199:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDeclaredBy",IFCRELDEFINESBYOBJECT,4,true],["Declares",IFCRELDEFINESBYOBJECT,5,true],["IsTypedBy",IFCRELDEFINESBYTYPE,4,true],["IsDefinedBy",IFCRELDEFINESBYPROPERTIES,4,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true],["ContainedIn",IFCRELCONNECTSPORTTOELEMENT,4,true],["ConnectedFrom",IFCRELCONNECTSPORTS,5,true],["ConnectedTo",IFCRELCONNECTSPORTS,4,true]],3205830791:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDeclaredBy",IFCRELDEFINESBYOBJECT,4,true],["Declares",IFCRELDEFINESBYOBJECT,5,true],["IsTypedBy",IFCRELDEFINESBYTYPE,4,true],["IsDefinedBy",IFCRELDEFINESBYPROPERTIES,4,true],["IsGroupedBy",IFCRELASSIGNSTOGROUP,6,true],["ServicesBuildings",IFCRELSERVICESBUILDINGS,4,true]],395920057:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDeclaredBy",IFCRELDEFINESBYOBJECT,4,true],["Declares",IFCRELDEFINESBYOBJECT,5,true],["IsTypedBy",IFCRELDEFINESBYTYPE,4,true],["IsDefinedBy",IFCRELDEFINESBYPROPERTIES,4,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true],["FillsVoids",IFCRELFILLSELEMENT,5,true],["ConnectedTo",IFCRELCONNECTSELEMENTS,5,true],["IsInterferedByElements",IFCRELINTERFERESELEMENTS,5,true],["InterferesElements",IFCRELINTERFERESELEMENTS,4,true],["HasProjections",IFCRELPROJECTSELEMENT,4,true],["ReferencedInStructures",IFCRELREFERENCEDINSPATIALSTRUCTURE,4,true],["HasOpenings",IFCRELVOIDSELEMENT,4,true],["IsConnectionRealization",IFCRELCONNECTSWITHREALIZINGELEMENTS,7,true],["ProvidesBoundaries",IFCRELSPACEBOUNDARY,5,true],["ConnectedFrom",IFCRELCONNECTSELEMENTS,6,true],["ContainedInStructure",IFCRELCONTAINEDINSPATIALSTRUCTURE,4,true],["HasCoverings",IFCRELCOVERSBLDGELEMENTS,4,true]],3242481149:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDeclaredBy",IFCRELDEFINESBYOBJECT,4,true],["Declares",IFCRELDEFINESBYOBJECT,5,true],["IsTypedBy",IFCRELDEFINESBYTYPE,4,true],["IsDefinedBy",IFCRELDEFINESBYPROPERTIES,4,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true],["FillsVoids",IFCRELFILLSELEMENT,5,true],["ConnectedTo",IFCRELCONNECTSELEMENTS,5,true],["IsInterferedByElements",IFCRELINTERFERESELEMENTS,5,true],["InterferesElements",IFCRELINTERFERESELEMENTS,4,true],["HasProjections",IFCRELPROJECTSELEMENT,4,true],["ReferencedInStructures",IFCRELREFERENCEDINSPATIALSTRUCTURE,4,true],["HasOpenings",IFCRELVOIDSELEMENT,4,true],["IsConnectionRealization",IFCRELCONNECTSWITHREALIZINGELEMENTS,7,true],["ProvidesBoundaries",IFCRELSPACEBOUNDARY,5,true],["ConnectedFrom",IFCRELCONNECTSELEMENTS,6,true],["ContainedInStructure",IFCRELCONTAINEDINSPATIALSTRUCTURE,4,true],["HasCoverings",IFCRELCOVERSBLDGELEMENTS,4,true]],869906466:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["Types",IFCRELDEFINESBYTYPE,5,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true]],3760055223:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["Types",IFCRELDEFINESBYTYPE,5,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true]],2030761528:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["Types",IFCRELDEFINESBYTYPE,5,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true]],663422040:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["Types",IFCRELDEFINESBYTYPE,5,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true]],2417008758:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["Types",IFCRELDEFINESBYTYPE,5,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true]],3277789161:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["Types",IFCRELDEFINESBYTYPE,5,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true]],1534661035:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["Types",IFCRELDEFINESBYTYPE,5,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true]],1217240411:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["Types",IFCRELDEFINESBYTYPE,5,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true]],712377611:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["Types",IFCRELDEFINESBYTYPE,5,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true]],1658829314:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDeclaredBy",IFCRELDEFINESBYOBJECT,4,true],["Declares",IFCRELDEFINESBYOBJECT,5,true],["IsTypedBy",IFCRELDEFINESBYTYPE,4,true],["IsDefinedBy",IFCRELDEFINESBYPROPERTIES,4,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true],["FillsVoids",IFCRELFILLSELEMENT,5,true],["ConnectedTo",IFCRELCONNECTSELEMENTS,5,true],["IsInterferedByElements",IFCRELINTERFERESELEMENTS,5,true],["InterferesElements",IFCRELINTERFERESELEMENTS,4,true],["HasProjections",IFCRELPROJECTSELEMENT,4,true],["ReferencedInStructures",IFCRELREFERENCEDINSPATIALSTRUCTURE,4,true],["HasOpenings",IFCRELVOIDSELEMENT,4,true],["IsConnectionRealization",IFCRELCONNECTSWITHREALIZINGELEMENTS,7,true],["ProvidesBoundaries",IFCRELSPACEBOUNDARY,5,true],["ConnectedFrom",IFCRELCONNECTSELEMENTS,6,true],["ContainedInStructure",IFCRELCONTAINEDINSPATIALSTRUCTURE,4,true],["HasCoverings",IFCRELCOVERSBLDGELEMENTS,4,true],["HasPorts",IFCRELCONNECTSPORTTOELEMENT,5,true],["HasControlElements",IFCRELFLOWCONTROLELEMENTS,5,true]],2814081492:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDeclaredBy",IFCRELDEFINESBYOBJECT,4,true],["Declares",IFCRELDEFINESBYOBJECT,5,true],["IsTypedBy",IFCRELDEFINESBYTYPE,4,true],["IsDefinedBy",IFCRELDEFINESBYPROPERTIES,4,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true],["FillsVoids",IFCRELFILLSELEMENT,5,true],["ConnectedTo",IFCRELCONNECTSELEMENTS,5,true],["IsInterferedByElements",IFCRELINTERFERESELEMENTS,5,true],["InterferesElements",IFCRELINTERFERESELEMENTS,4,true],["HasProjections",IFCRELPROJECTSELEMENT,4,true],["ReferencedInStructures",IFCRELREFERENCEDINSPATIALSTRUCTURE,4,true],["HasOpenings",IFCRELVOIDSELEMENT,4,true],["IsConnectionRealization",IFCRELCONNECTSWITHREALIZINGELEMENTS,7,true],["ProvidesBoundaries",IFCRELSPACEBOUNDARY,5,true],["ConnectedFrom",IFCRELCONNECTSELEMENTS,6,true],["ContainedInStructure",IFCRELCONTAINEDINSPATIALSTRUCTURE,4,true],["HasCoverings",IFCRELCOVERSBLDGELEMENTS,4,true],["HasPorts",IFCRELCONNECTSPORTTOELEMENT,5,true],["HasControlElements",IFCRELFLOWCONTROLELEMENTS,5,true]],3747195512:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDeclaredBy",IFCRELDEFINESBYOBJECT,4,true],["Declares",IFCRELDEFINESBYOBJECT,5,true],["IsTypedBy",IFCRELDEFINESBYTYPE,4,true],["IsDefinedBy",IFCRELDEFINESBYPROPERTIES,4,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true],["FillsVoids",IFCRELFILLSELEMENT,5,true],["ConnectedTo",IFCRELCONNECTSELEMENTS,5,true],["IsInterferedByElements",IFCRELINTERFERESELEMENTS,5,true],["InterferesElements",IFCRELINTERFERESELEMENTS,4,true],["HasProjections",IFCRELPROJECTSELEMENT,4,true],["ReferencedInStructures",IFCRELREFERENCEDINSPATIALSTRUCTURE,4,true],["HasOpenings",IFCRELVOIDSELEMENT,4,true],["IsConnectionRealization",IFCRELCONNECTSWITHREALIZINGELEMENTS,7,true],["ProvidesBoundaries",IFCRELSPACEBOUNDARY,5,true],["ConnectedFrom",IFCRELCONNECTSELEMENTS,6,true],["ContainedInStructure",IFCRELCONTAINEDINSPATIALSTRUCTURE,4,true],["HasCoverings",IFCRELCOVERSBLDGELEMENTS,4,true],["HasPorts",IFCRELCONNECTSPORTTOELEMENT,5,true],["HasControlElements",IFCRELFLOWCONTROLELEMENTS,5,true]],484807127:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDeclaredBy",IFCRELDEFINESBYOBJECT,4,true],["Declares",IFCRELDEFINESBYOBJECT,5,true],["IsTypedBy",IFCRELDEFINESBYTYPE,4,true],["IsDefinedBy",IFCRELDEFINESBYPROPERTIES,4,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true],["FillsVoids",IFCRELFILLSELEMENT,5,true],["ConnectedTo",IFCRELCONNECTSELEMENTS,5,true],["IsInterferedByElements",IFCRELINTERFERESELEMENTS,5,true],["InterferesElements",IFCRELINTERFERESELEMENTS,4,true],["HasProjections",IFCRELPROJECTSELEMENT,4,true],["ReferencedInStructures",IFCRELREFERENCEDINSPATIALSTRUCTURE,4,true],["HasOpenings",IFCRELVOIDSELEMENT,4,true],["IsConnectionRealization",IFCRELCONNECTSWITHREALIZINGELEMENTS,7,true],["ProvidesBoundaries",IFCRELSPACEBOUNDARY,5,true],["ConnectedFrom",IFCRELCONNECTSELEMENTS,6,true],["ContainedInStructure",IFCRELCONTAINEDINSPATIALSTRUCTURE,4,true],["HasCoverings",IFCRELCOVERSBLDGELEMENTS,4,true],["HasPorts",IFCRELCONNECTSPORTTOELEMENT,5,true],["HasControlElements",IFCRELFLOWCONTROLELEMENTS,5,true]],1209101575:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDeclaredBy",IFCRELDEFINESBYOBJECT,4,true],["Declares",IFCRELDEFINESBYOBJECT,5,true],["IsTypedBy",IFCRELDEFINESBYTYPE,4,true],["IsDefinedBy",IFCRELDEFINESBYPROPERTIES,4,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true],["ContainsElements",IFCRELCONTAINEDINSPATIALSTRUCTURE,5,true],["ServicedBySystems",IFCRELSERVICESBUILDINGS,5,true],["ReferencesElements",IFCRELREFERENCEDINSPATIALSTRUCTURE,5,true],["BoundedBy",IFCRELSPACEBOUNDARY,4,true]],346874300:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["Types",IFCRELDEFINESBYTYPE,5,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true]],1810631287:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["Types",IFCRELDEFINESBYTYPE,5,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true]],4222183408:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["Types",IFCRELDEFINESBYTYPE,5,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true]],2058353004:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDeclaredBy",IFCRELDEFINESBYOBJECT,4,true],["Declares",IFCRELDEFINESBYOBJECT,5,true],["IsTypedBy",IFCRELDEFINESBYTYPE,4,true],["IsDefinedBy",IFCRELDEFINESBYPROPERTIES,4,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true],["FillsVoids",IFCRELFILLSELEMENT,5,true],["ConnectedTo",IFCRELCONNECTSELEMENTS,5,true],["IsInterferedByElements",IFCRELINTERFERESELEMENTS,5,true],["InterferesElements",IFCRELINTERFERESELEMENTS,4,true],["HasProjections",IFCRELPROJECTSELEMENT,4,true],["ReferencedInStructures",IFCRELREFERENCEDINSPATIALSTRUCTURE,4,true],["HasOpenings",IFCRELVOIDSELEMENT,4,true],["IsConnectionRealization",IFCRELCONNECTSWITHREALIZINGELEMENTS,7,true],["ProvidesBoundaries",IFCRELSPACEBOUNDARY,5,true],["ConnectedFrom",IFCRELCONNECTSELEMENTS,6,true],["ContainedInStructure",IFCRELCONTAINEDINSPATIALSTRUCTURE,4,true],["HasCoverings",IFCRELCOVERSBLDGELEMENTS,4,true],["HasPorts",IFCRELCONNECTSPORTTOELEMENT,5,true],["HasControlElements",IFCRELFLOWCONTROLELEMENTS,5,true]],4278956645:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDeclaredBy",IFCRELDEFINESBYOBJECT,4,true],["Declares",IFCRELDEFINESBYOBJECT,5,true],["IsTypedBy",IFCRELDEFINESBYTYPE,4,true],["IsDefinedBy",IFCRELDEFINESBYPROPERTIES,4,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true],["FillsVoids",IFCRELFILLSELEMENT,5,true],["ConnectedTo",IFCRELCONNECTSELEMENTS,5,true],["IsInterferedByElements",IFCRELINTERFERESELEMENTS,5,true],["InterferesElements",IFCRELINTERFERESELEMENTS,4,true],["HasProjections",IFCRELPROJECTSELEMENT,4,true],["ReferencedInStructures",IFCRELREFERENCEDINSPATIALSTRUCTURE,4,true],["HasOpenings",IFCRELVOIDSELEMENT,4,true],["IsConnectionRealization",IFCRELCONNECTSWITHREALIZINGELEMENTS,7,true],["ProvidesBoundaries",IFCRELSPACEBOUNDARY,5,true],["ConnectedFrom",IFCRELCONNECTSELEMENTS,6,true],["ContainedInStructure",IFCRELCONTAINEDINSPATIALSTRUCTURE,4,true],["HasCoverings",IFCRELCOVERSBLDGELEMENTS,4,true],["HasPorts",IFCRELCONNECTSPORTTOELEMENT,5,true],["HasControlElements",IFCRELFLOWCONTROLELEMENTS,5,true]],4037862832:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["Types",IFCRELDEFINESBYTYPE,5,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true]],2188021234:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDeclaredBy",IFCRELDEFINESBYOBJECT,4,true],["Declares",IFCRELDEFINESBYOBJECT,5,true],["IsTypedBy",IFCRELDEFINESBYTYPE,4,true],["IsDefinedBy",IFCRELDEFINESBYPROPERTIES,4,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true],["FillsVoids",IFCRELFILLSELEMENT,5,true],["ConnectedTo",IFCRELCONNECTSELEMENTS,5,true],["IsInterferedByElements",IFCRELINTERFERESELEMENTS,5,true],["InterferesElements",IFCRELINTERFERESELEMENTS,4,true],["HasProjections",IFCRELPROJECTSELEMENT,4,true],["ReferencedInStructures",IFCRELREFERENCEDINSPATIALSTRUCTURE,4,true],["HasOpenings",IFCRELVOIDSELEMENT,4,true],["IsConnectionRealization",IFCRELCONNECTSWITHREALIZINGELEMENTS,7,true],["ProvidesBoundaries",IFCRELSPACEBOUNDARY,5,true],["ConnectedFrom",IFCRELCONNECTSELEMENTS,6,true],["ContainedInStructure",IFCRELCONTAINEDINSPATIALSTRUCTURE,4,true],["HasCoverings",IFCRELCOVERSBLDGELEMENTS,4,true],["HasPorts",IFCRELCONNECTSPORTTOELEMENT,5,true],["HasControlElements",IFCRELFLOWCONTROLELEMENTS,5,true]],3132237377:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDeclaredBy",IFCRELDEFINESBYOBJECT,4,true],["Declares",IFCRELDEFINESBYOBJECT,5,true],["IsTypedBy",IFCRELDEFINESBYTYPE,4,true],["IsDefinedBy",IFCRELDEFINESBYPROPERTIES,4,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true],["FillsVoids",IFCRELFILLSELEMENT,5,true],["ConnectedTo",IFCRELCONNECTSELEMENTS,5,true],["IsInterferedByElements",IFCRELINTERFERESELEMENTS,5,true],["InterferesElements",IFCRELINTERFERESELEMENTS,4,true],["HasProjections",IFCRELPROJECTSELEMENT,4,true],["ReferencedInStructures",IFCRELREFERENCEDINSPATIALSTRUCTURE,4,true],["HasOpenings",IFCRELVOIDSELEMENT,4,true],["IsConnectionRealization",IFCRELCONNECTSWITHREALIZINGELEMENTS,7,true],["ProvidesBoundaries",IFCRELSPACEBOUNDARY,5,true],["ConnectedFrom",IFCRELCONNECTSELEMENTS,6,true],["ContainedInStructure",IFCRELCONTAINEDINSPATIALSTRUCTURE,4,true],["HasCoverings",IFCRELCOVERSBLDGELEMENTS,4,true],["HasPorts",IFCRELCONNECTSPORTTOELEMENT,5,true],["HasControlElements",IFCRELFLOWCONTROLELEMENTS,5,true]],987401354:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDeclaredBy",IFCRELDEFINESBYOBJECT,4,true],["Declares",IFCRELDEFINESBYOBJECT,5,true],["IsTypedBy",IFCRELDEFINESBYTYPE,4,true],["IsDefinedBy",IFCRELDEFINESBYPROPERTIES,4,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true],["FillsVoids",IFCRELFILLSELEMENT,5,true],["ConnectedTo",IFCRELCONNECTSELEMENTS,5,true],["IsInterferedByElements",IFCRELINTERFERESELEMENTS,5,true],["InterferesElements",IFCRELINTERFERESELEMENTS,4,true],["HasProjections",IFCRELPROJECTSELEMENT,4,true],["ReferencedInStructures",IFCRELREFERENCEDINSPATIALSTRUCTURE,4,true],["HasOpenings",IFCRELVOIDSELEMENT,4,true],["IsConnectionRealization",IFCRELCONNECTSWITHREALIZINGELEMENTS,7,true],["ProvidesBoundaries",IFCRELSPACEBOUNDARY,5,true],["ConnectedFrom",IFCRELCONNECTSELEMENTS,6,true],["ContainedInStructure",IFCRELCONTAINEDINSPATIALSTRUCTURE,4,true],["HasCoverings",IFCRELCOVERSBLDGELEMENTS,4,true],["HasPorts",IFCRELCONNECTSPORTTOELEMENT,5,true],["HasControlElements",IFCRELFLOWCONTROLELEMENTS,5,true]],707683696:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDeclaredBy",IFCRELDEFINESBYOBJECT,4,true],["Declares",IFCRELDEFINESBYOBJECT,5,true],["IsTypedBy",IFCRELDEFINESBYTYPE,4,true],["IsDefinedBy",IFCRELDEFINESBYPROPERTIES,4,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true],["FillsVoids",IFCRELFILLSELEMENT,5,true],["ConnectedTo",IFCRELCONNECTSELEMENTS,5,true],["IsInterferedByElements",IFCRELINTERFERESELEMENTS,5,true],["InterferesElements",IFCRELINTERFERESELEMENTS,4,true],["HasProjections",IFCRELPROJECTSELEMENT,4,true],["ReferencedInStructures",IFCRELREFERENCEDINSPATIALSTRUCTURE,4,true],["HasOpenings",IFCRELVOIDSELEMENT,4,true],["IsConnectionRealization",IFCRELCONNECTSWITHREALIZINGELEMENTS,7,true],["ProvidesBoundaries",IFCRELSPACEBOUNDARY,5,true],["ConnectedFrom",IFCRELCONNECTSELEMENTS,6,true],["ContainedInStructure",IFCRELCONTAINEDINSPATIALSTRUCTURE,4,true],["HasCoverings",IFCRELCOVERSBLDGELEMENTS,4,true],["HasPorts",IFCRELCONNECTSPORTTOELEMENT,5,true],["HasControlElements",IFCRELFLOWCONTROLELEMENTS,5,true]],2223149337:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDeclaredBy",IFCRELDEFINESBYOBJECT,4,true],["Declares",IFCRELDEFINESBYOBJECT,5,true],["IsTypedBy",IFCRELDEFINESBYTYPE,4,true],["IsDefinedBy",IFCRELDEFINESBYPROPERTIES,4,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true],["FillsVoids",IFCRELFILLSELEMENT,5,true],["ConnectedTo",IFCRELCONNECTSELEMENTS,5,true],["IsInterferedByElements",IFCRELINTERFERESELEMENTS,5,true],["InterferesElements",IFCRELINTERFERESELEMENTS,4,true],["HasProjections",IFCRELPROJECTSELEMENT,4,true],["ReferencedInStructures",IFCRELREFERENCEDINSPATIALSTRUCTURE,4,true],["HasOpenings",IFCRELVOIDSELEMENT,4,true],["IsConnectionRealization",IFCRELCONNECTSWITHREALIZINGELEMENTS,7,true],["ProvidesBoundaries",IFCRELSPACEBOUNDARY,5,true],["ConnectedFrom",IFCRELCONNECTSELEMENTS,6,true],["ContainedInStructure",IFCRELCONTAINEDINSPATIALSTRUCTURE,4,true],["HasCoverings",IFCRELCOVERSBLDGELEMENTS,4,true],["HasPorts",IFCRELCONNECTSPORTTOELEMENT,5,true],["HasControlElements",IFCRELFLOWCONTROLELEMENTS,5,true]],3508470533:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDeclaredBy",IFCRELDEFINESBYOBJECT,4,true],["Declares",IFCRELDEFINESBYOBJECT,5,true],["IsTypedBy",IFCRELDEFINESBYTYPE,4,true],["IsDefinedBy",IFCRELDEFINESBYPROPERTIES,4,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true],["FillsVoids",IFCRELFILLSELEMENT,5,true],["ConnectedTo",IFCRELCONNECTSELEMENTS,5,true],["IsInterferedByElements",IFCRELINTERFERESELEMENTS,5,true],["InterferesElements",IFCRELINTERFERESELEMENTS,4,true],["HasProjections",IFCRELPROJECTSELEMENT,4,true],["ReferencedInStructures",IFCRELREFERENCEDINSPATIALSTRUCTURE,4,true],["HasOpenings",IFCRELVOIDSELEMENT,4,true],["IsConnectionRealization",IFCRELCONNECTSWITHREALIZINGELEMENTS,7,true],["ProvidesBoundaries",IFCRELSPACEBOUNDARY,5,true],["ConnectedFrom",IFCRELCONNECTSELEMENTS,6,true],["ContainedInStructure",IFCRELCONTAINEDINSPATIALSTRUCTURE,4,true],["HasCoverings",IFCRELCOVERSBLDGELEMENTS,4,true],["HasPorts",IFCRELCONNECTSPORTTOELEMENT,5,true],["HasControlElements",IFCRELFLOWCONTROLELEMENTS,5,true]],900683007:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDeclaredBy",IFCRELDEFINESBYOBJECT,4,true],["Declares",IFCRELDEFINESBYOBJECT,5,true],["IsTypedBy",IFCRELDEFINESBYTYPE,4,true],["IsDefinedBy",IFCRELDEFINESBYPROPERTIES,4,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true],["FillsVoids",IFCRELFILLSELEMENT,5,true],["ConnectedTo",IFCRELCONNECTSELEMENTS,5,true],["IsInterferedByElements",IFCRELINTERFERESELEMENTS,5,true],["InterferesElements",IFCRELINTERFERESELEMENTS,4,true],["HasProjections",IFCRELPROJECTSELEMENT,4,true],["ReferencedInStructures",IFCRELREFERENCEDINSPATIALSTRUCTURE,4,true],["HasOpenings",IFCRELVOIDSELEMENT,4,true],["IsConnectionRealization",IFCRELCONNECTSWITHREALIZINGELEMENTS,7,true],["ProvidesBoundaries",IFCRELSPACEBOUNDARY,5,true],["ConnectedFrom",IFCRELCONNECTSELEMENTS,6,true],["ContainedInStructure",IFCRELCONTAINEDINSPATIALSTRUCTURE,4,true],["HasCoverings",IFCRELCOVERSBLDGELEMENTS,4,true]],3319311131:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDeclaredBy",IFCRELDEFINESBYOBJECT,4,true],["Declares",IFCRELDEFINESBYOBJECT,5,true],["IsTypedBy",IFCRELDEFINESBYTYPE,4,true],["IsDefinedBy",IFCRELDEFINESBYPROPERTIES,4,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true],["FillsVoids",IFCRELFILLSELEMENT,5,true],["ConnectedTo",IFCRELCONNECTSELEMENTS,5,true],["IsInterferedByElements",IFCRELINTERFERESELEMENTS,5,true],["InterferesElements",IFCRELINTERFERESELEMENTS,4,true],["HasProjections",IFCRELPROJECTSELEMENT,4,true],["ReferencedInStructures",IFCRELREFERENCEDINSPATIALSTRUCTURE,4,true],["HasOpenings",IFCRELVOIDSELEMENT,4,true],["IsConnectionRealization",IFCRELCONNECTSWITHREALIZINGELEMENTS,7,true],["ProvidesBoundaries",IFCRELSPACEBOUNDARY,5,true],["ConnectedFrom",IFCRELCONNECTSELEMENTS,6,true],["ContainedInStructure",IFCRELCONTAINEDINSPATIALSTRUCTURE,4,true],["HasCoverings",IFCRELCOVERSBLDGELEMENTS,4,true],["HasPorts",IFCRELCONNECTSPORTTOELEMENT,5,true],["HasControlElements",IFCRELFLOWCONTROLELEMENTS,5,true]],2068733104:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDeclaredBy",IFCRELDEFINESBYOBJECT,4,true],["Declares",IFCRELDEFINESBYOBJECT,5,true],["IsTypedBy",IFCRELDEFINESBYTYPE,4,true],["IsDefinedBy",IFCRELDEFINESBYPROPERTIES,4,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true],["FillsVoids",IFCRELFILLSELEMENT,5,true],["ConnectedTo",IFCRELCONNECTSELEMENTS,5,true],["IsInterferedByElements",IFCRELINTERFERESELEMENTS,5,true],["InterferesElements",IFCRELINTERFERESELEMENTS,4,true],["HasProjections",IFCRELPROJECTSELEMENT,4,true],["ReferencedInStructures",IFCRELREFERENCEDINSPATIALSTRUCTURE,4,true],["HasOpenings",IFCRELVOIDSELEMENT,4,true],["IsConnectionRealization",IFCRELCONNECTSWITHREALIZINGELEMENTS,7,true],["ProvidesBoundaries",IFCRELSPACEBOUNDARY,5,true],["ConnectedFrom",IFCRELCONNECTSELEMENTS,6,true],["ContainedInStructure",IFCRELCONTAINEDINSPATIALSTRUCTURE,4,true],["HasCoverings",IFCRELCOVERSBLDGELEMENTS,4,true],["HasPorts",IFCRELCONNECTSPORTTOELEMENT,5,true],["HasControlElements",IFCRELFLOWCONTROLELEMENTS,5,true]],4175244083:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDeclaredBy",IFCRELDEFINESBYOBJECT,4,true],["Declares",IFCRELDEFINESBYOBJECT,5,true],["IsTypedBy",IFCRELDEFINESBYTYPE,4,true],["IsDefinedBy",IFCRELDEFINESBYPROPERTIES,4,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true],["FillsVoids",IFCRELFILLSELEMENT,5,true],["ConnectedTo",IFCRELCONNECTSELEMENTS,5,true],["IsInterferedByElements",IFCRELINTERFERESELEMENTS,5,true],["InterferesElements",IFCRELINTERFERESELEMENTS,4,true],["HasProjections",IFCRELPROJECTSELEMENT,4,true],["ReferencedInStructures",IFCRELREFERENCEDINSPATIALSTRUCTURE,4,true],["HasOpenings",IFCRELVOIDSELEMENT,4,true],["IsConnectionRealization",IFCRELCONNECTSWITHREALIZINGELEMENTS,7,true],["ProvidesBoundaries",IFCRELSPACEBOUNDARY,5,true],["ConnectedFrom",IFCRELCONNECTSELEMENTS,6,true],["ContainedInStructure",IFCRELCONTAINEDINSPATIALSTRUCTURE,4,true],["HasCoverings",IFCRELCOVERSBLDGELEMENTS,4,true],["HasPorts",IFCRELCONNECTSPORTTOELEMENT,5,true],["HasControlElements",IFCRELFLOWCONTROLELEMENTS,5,true]],2176052936:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDeclaredBy",IFCRELDEFINESBYOBJECT,4,true],["Declares",IFCRELDEFINESBYOBJECT,5,true],["IsTypedBy",IFCRELDEFINESBYTYPE,4,true],["IsDefinedBy",IFCRELDEFINESBYPROPERTIES,4,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true],["FillsVoids",IFCRELFILLSELEMENT,5,true],["ConnectedTo",IFCRELCONNECTSELEMENTS,5,true],["IsInterferedByElements",IFCRELINTERFERESELEMENTS,5,true],["InterferesElements",IFCRELINTERFERESELEMENTS,4,true],["HasProjections",IFCRELPROJECTSELEMENT,4,true],["ReferencedInStructures",IFCRELREFERENCEDINSPATIALSTRUCTURE,4,true],["HasOpenings",IFCRELVOIDSELEMENT,4,true],["IsConnectionRealization",IFCRELCONNECTSWITHREALIZINGELEMENTS,7,true],["ProvidesBoundaries",IFCRELSPACEBOUNDARY,5,true],["ConnectedFrom",IFCRELCONNECTSELEMENTS,6,true],["ContainedInStructure",IFCRELCONTAINEDINSPATIALSTRUCTURE,4,true],["HasCoverings",IFCRELCOVERSBLDGELEMENTS,4,true],["HasPorts",IFCRELCONNECTSPORTTOELEMENT,5,true],["HasControlElements",IFCRELFLOWCONTROLELEMENTS,5,true]],76236018:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDeclaredBy",IFCRELDEFINESBYOBJECT,4,true],["Declares",IFCRELDEFINESBYOBJECT,5,true],["IsTypedBy",IFCRELDEFINESBYTYPE,4,true],["IsDefinedBy",IFCRELDEFINESBYPROPERTIES,4,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true],["FillsVoids",IFCRELFILLSELEMENT,5,true],["ConnectedTo",IFCRELCONNECTSELEMENTS,5,true],["IsInterferedByElements",IFCRELINTERFERESELEMENTS,5,true],["InterferesElements",IFCRELINTERFERESELEMENTS,4,true],["HasProjections",IFCRELPROJECTSELEMENT,4,true],["ReferencedInStructures",IFCRELREFERENCEDINSPATIALSTRUCTURE,4,true],["HasOpenings",IFCRELVOIDSELEMENT,4,true],["IsConnectionRealization",IFCRELCONNECTSWITHREALIZINGELEMENTS,7,true],["ProvidesBoundaries",IFCRELSPACEBOUNDARY,5,true],["ConnectedFrom",IFCRELCONNECTSELEMENTS,6,true],["ContainedInStructure",IFCRELCONTAINEDINSPATIALSTRUCTURE,4,true],["HasCoverings",IFCRELCOVERSBLDGELEMENTS,4,true],["HasPorts",IFCRELCONNECTSPORTTOELEMENT,5,true],["HasControlElements",IFCRELFLOWCONTROLELEMENTS,5,true]],629592764:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDeclaredBy",IFCRELDEFINESBYOBJECT,4,true],["Declares",IFCRELDEFINESBYOBJECT,5,true],["IsTypedBy",IFCRELDEFINESBYTYPE,4,true],["IsDefinedBy",IFCRELDEFINESBYPROPERTIES,4,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true],["FillsVoids",IFCRELFILLSELEMENT,5,true],["ConnectedTo",IFCRELCONNECTSELEMENTS,5,true],["IsInterferedByElements",IFCRELINTERFERESELEMENTS,5,true],["InterferesElements",IFCRELINTERFERESELEMENTS,4,true],["HasProjections",IFCRELPROJECTSELEMENT,4,true],["ReferencedInStructures",IFCRELREFERENCEDINSPATIALSTRUCTURE,4,true],["HasOpenings",IFCRELVOIDSELEMENT,4,true],["IsConnectionRealization",IFCRELCONNECTSWITHREALIZINGELEMENTS,7,true],["ProvidesBoundaries",IFCRELSPACEBOUNDARY,5,true],["ConnectedFrom",IFCRELCONNECTSELEMENTS,6,true],["ContainedInStructure",IFCRELCONTAINEDINSPATIALSTRUCTURE,4,true],["HasCoverings",IFCRELCOVERSBLDGELEMENTS,4,true],["HasPorts",IFCRELCONNECTSPORTTOELEMENT,5,true],["HasControlElements",IFCRELFLOWCONTROLELEMENTS,5,true]],1437502449:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDeclaredBy",IFCRELDEFINESBYOBJECT,4,true],["Declares",IFCRELDEFINESBYOBJECT,5,true],["IsTypedBy",IFCRELDEFINESBYTYPE,4,true],["IsDefinedBy",IFCRELDEFINESBYPROPERTIES,4,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true],["FillsVoids",IFCRELFILLSELEMENT,5,true],["ConnectedTo",IFCRELCONNECTSELEMENTS,5,true],["IsInterferedByElements",IFCRELINTERFERESELEMENTS,5,true],["InterferesElements",IFCRELINTERFERESELEMENTS,4,true],["HasProjections",IFCRELPROJECTSELEMENT,4,true],["ReferencedInStructures",IFCRELREFERENCEDINSPATIALSTRUCTURE,4,true],["HasOpenings",IFCRELVOIDSELEMENT,4,true],["IsConnectionRealization",IFCRELCONNECTSWITHREALIZINGELEMENTS,7,true],["ProvidesBoundaries",IFCRELSPACEBOUNDARY,5,true],["ConnectedFrom",IFCRELCONNECTSELEMENTS,6,true],["ContainedInStructure",IFCRELCONTAINEDINSPATIALSTRUCTURE,4,true],["HasCoverings",IFCRELCOVERSBLDGELEMENTS,4,true],["HasPorts",IFCRELCONNECTSPORTTOELEMENT,5,true],["HasControlElements",IFCRELFLOWCONTROLELEMENTS,5,true]],1073191201:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDeclaredBy",IFCRELDEFINESBYOBJECT,4,true],["Declares",IFCRELDEFINESBYOBJECT,5,true],["IsTypedBy",IFCRELDEFINESBYTYPE,4,true],["IsDefinedBy",IFCRELDEFINESBYPROPERTIES,4,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true],["FillsVoids",IFCRELFILLSELEMENT,5,true],["ConnectedTo",IFCRELCONNECTSELEMENTS,5,true],["IsInterferedByElements",IFCRELINTERFERESELEMENTS,5,true],["InterferesElements",IFCRELINTERFERESELEMENTS,4,true],["HasProjections",IFCRELPROJECTSELEMENT,4,true],["ReferencedInStructures",IFCRELREFERENCEDINSPATIALSTRUCTURE,4,true],["HasOpenings",IFCRELVOIDSELEMENT,4,true],["IsConnectionRealization",IFCRELCONNECTSWITHREALIZINGELEMENTS,7,true],["ProvidesBoundaries",IFCRELSPACEBOUNDARY,5,true],["ConnectedFrom",IFCRELCONNECTSELEMENTS,6,true],["ContainedInStructure",IFCRELCONTAINEDINSPATIALSTRUCTURE,4,true],["HasCoverings",IFCRELCOVERSBLDGELEMENTS,4,true]],1911478936:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDeclaredBy",IFCRELDEFINESBYOBJECT,4,true],["Declares",IFCRELDEFINESBYOBJECT,5,true],["IsTypedBy",IFCRELDEFINESBYTYPE,4,true],["IsDefinedBy",IFCRELDEFINESBYPROPERTIES,4,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true],["FillsVoids",IFCRELFILLSELEMENT,5,true],["ConnectedTo",IFCRELCONNECTSELEMENTS,5,true],["IsInterferedByElements",IFCRELINTERFERESELEMENTS,5,true],["InterferesElements",IFCRELINTERFERESELEMENTS,4,true],["HasProjections",IFCRELPROJECTSELEMENT,4,true],["ReferencedInStructures",IFCRELREFERENCEDINSPATIALSTRUCTURE,4,true],["HasOpenings",IFCRELVOIDSELEMENT,4,true],["IsConnectionRealization",IFCRELCONNECTSWITHREALIZINGELEMENTS,7,true],["ProvidesBoundaries",IFCRELSPACEBOUNDARY,5,true],["ConnectedFrom",IFCRELCONNECTSELEMENTS,6,true],["ContainedInStructure",IFCRELCONTAINEDINSPATIALSTRUCTURE,4,true],["HasCoverings",IFCRELCOVERSBLDGELEMENTS,4,true]],2474470126:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDeclaredBy",IFCRELDEFINESBYOBJECT,4,true],["Declares",IFCRELDEFINESBYOBJECT,5,true],["IsTypedBy",IFCRELDEFINESBYTYPE,4,true],["IsDefinedBy",IFCRELDEFINESBYPROPERTIES,4,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true],["FillsVoids",IFCRELFILLSELEMENT,5,true],["ConnectedTo",IFCRELCONNECTSELEMENTS,5,true],["IsInterferedByElements",IFCRELINTERFERESELEMENTS,5,true],["InterferesElements",IFCRELINTERFERESELEMENTS,4,true],["HasProjections",IFCRELPROJECTSELEMENT,4,true],["ReferencedInStructures",IFCRELREFERENCEDINSPATIALSTRUCTURE,4,true],["HasOpenings",IFCRELVOIDSELEMENT,4,true],["IsConnectionRealization",IFCRELCONNECTSWITHREALIZINGELEMENTS,7,true],["ProvidesBoundaries",IFCRELSPACEBOUNDARY,5,true],["ConnectedFrom",IFCRELCONNECTSELEMENTS,6,true],["ContainedInStructure",IFCRELCONTAINEDINSPATIALSTRUCTURE,4,true],["HasCoverings",IFCRELCOVERSBLDGELEMENTS,4,true],["HasPorts",IFCRELCONNECTSPORTTOELEMENT,5,true],["HasControlElements",IFCRELFLOWCONTROLELEMENTS,5,true]],144952367:[["LayerAssignment",IFCPRESENTATIONLAYERASSIGNMENT,2,true],["StyledByItem",IFCSTYLEDITEM,0,true]],3694346114:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDeclaredBy",IFCRELDEFINESBYOBJECT,4,true],["Declares",IFCRELDEFINESBYOBJECT,5,true],["IsTypedBy",IFCRELDEFINESBYTYPE,4,true],["IsDefinedBy",IFCRELDEFINESBYPROPERTIES,4,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true],["FillsVoids",IFCRELFILLSELEMENT,5,true],["ConnectedTo",IFCRELCONNECTSELEMENTS,5,true],["IsInterferedByElements",IFCRELINTERFERESELEMENTS,5,true],["InterferesElements",IFCRELINTERFERESELEMENTS,4,true],["HasProjections",IFCRELPROJECTSELEMENT,4,true],["ReferencedInStructures",IFCRELREFERENCEDINSPATIALSTRUCTURE,4,true],["HasOpenings",IFCRELVOIDSELEMENT,4,true],["IsConnectionRealization",IFCRELCONNECTSWITHREALIZINGELEMENTS,7,true],["ProvidesBoundaries",IFCRELSPACEBOUNDARY,5,true],["ConnectedFrom",IFCRELCONNECTSELEMENTS,6,true],["ContainedInStructure",IFCRELCONTAINEDINSPATIALSTRUCTURE,4,true],["HasCoverings",IFCRELCOVERSBLDGELEMENTS,4,true],["HasPorts",IFCRELCONNECTSPORTTOELEMENT,5,true],["HasControlElements",IFCRELFLOWCONTROLELEMENTS,5,true]],1687234759:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDeclaredBy",IFCRELDEFINESBYOBJECT,4,true],["Declares",IFCRELDEFINESBYOBJECT,5,true],["IsTypedBy",IFCRELDEFINESBYTYPE,4,true],["IsDefinedBy",IFCRELDEFINESBYPROPERTIES,4,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true],["FillsVoids",IFCRELFILLSELEMENT,5,true],["ConnectedTo",IFCRELCONNECTSELEMENTS,5,true],["IsInterferedByElements",IFCRELINTERFERESELEMENTS,5,true],["InterferesElements",IFCRELINTERFERESELEMENTS,4,true],["HasProjections",IFCRELPROJECTSELEMENT,4,true],["ReferencedInStructures",IFCRELREFERENCEDINSPATIALSTRUCTURE,4,true],["HasOpenings",IFCRELVOIDSELEMENT,4,true],["IsConnectionRealization",IFCRELCONNECTSWITHREALIZINGELEMENTS,7,true],["ProvidesBoundaries",IFCRELSPACEBOUNDARY,5,true],["ConnectedFrom",IFCRELCONNECTSELEMENTS,6,true],["ContainedInStructure",IFCRELCONTAINEDINSPATIALSTRUCTURE,4,true],["HasCoverings",IFCRELCOVERSBLDGELEMENTS,4,true]],310824031:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDeclaredBy",IFCRELDEFINESBYOBJECT,4,true],["Declares",IFCRELDEFINESBYOBJECT,5,true],["IsTypedBy",IFCRELDEFINESBYTYPE,4,true],["IsDefinedBy",IFCRELDEFINESBYPROPERTIES,4,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true],["FillsVoids",IFCRELFILLSELEMENT,5,true],["ConnectedTo",IFCRELCONNECTSELEMENTS,5,true],["IsInterferedByElements",IFCRELINTERFERESELEMENTS,5,true],["InterferesElements",IFCRELINTERFERESELEMENTS,4,true],["HasProjections",IFCRELPROJECTSELEMENT,4,true],["ReferencedInStructures",IFCRELREFERENCEDINSPATIALSTRUCTURE,4,true],["HasOpenings",IFCRELVOIDSELEMENT,4,true],["IsConnectionRealization",IFCRELCONNECTSWITHREALIZINGELEMENTS,7,true],["ProvidesBoundaries",IFCRELSPACEBOUNDARY,5,true],["ConnectedFrom",IFCRELCONNECTSELEMENTS,6,true],["ContainedInStructure",IFCRELCONTAINEDINSPATIALSTRUCTURE,4,true],["HasCoverings",IFCRELCOVERSBLDGELEMENTS,4,true],["HasPorts",IFCRELCONNECTSPORTTOELEMENT,5,true],["HasControlElements",IFCRELFLOWCONTROLELEMENTS,5,true]],3612865200:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDeclaredBy",IFCRELDEFINESBYOBJECT,4,true],["Declares",IFCRELDEFINESBYOBJECT,5,true],["IsTypedBy",IFCRELDEFINESBYTYPE,4,true],["IsDefinedBy",IFCRELDEFINESBYPROPERTIES,4,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true],["FillsVoids",IFCRELFILLSELEMENT,5,true],["ConnectedTo",IFCRELCONNECTSELEMENTS,5,true],["IsInterferedByElements",IFCRELINTERFERESELEMENTS,5,true],["InterferesElements",IFCRELINTERFERESELEMENTS,4,true],["HasProjections",IFCRELPROJECTSELEMENT,4,true],["ReferencedInStructures",IFCRELREFERENCEDINSPATIALSTRUCTURE,4,true],["HasOpenings",IFCRELVOIDSELEMENT,4,true],["IsConnectionRealization",IFCRELCONNECTSWITHREALIZINGELEMENTS,7,true],["ProvidesBoundaries",IFCRELSPACEBOUNDARY,5,true],["ConnectedFrom",IFCRELCONNECTSELEMENTS,6,true],["ContainedInStructure",IFCRELCONTAINEDINSPATIALSTRUCTURE,4,true],["HasCoverings",IFCRELCOVERSBLDGELEMENTS,4,true],["HasPorts",IFCRELCONNECTSPORTTOELEMENT,5,true],["HasControlElements",IFCRELFLOWCONTROLELEMENTS,5,true]],3171933400:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDeclaredBy",IFCRELDEFINESBYOBJECT,4,true],["Declares",IFCRELDEFINESBYOBJECT,5,true],["IsTypedBy",IFCRELDEFINESBYTYPE,4,true],["IsDefinedBy",IFCRELDEFINESBYPROPERTIES,4,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true],["FillsVoids",IFCRELFILLSELEMENT,5,true],["ConnectedTo",IFCRELCONNECTSELEMENTS,5,true],["IsInterferedByElements",IFCRELINTERFERESELEMENTS,5,true],["InterferesElements",IFCRELINTERFERESELEMENTS,4,true],["HasProjections",IFCRELPROJECTSELEMENT,4,true],["ReferencedInStructures",IFCRELREFERENCEDINSPATIALSTRUCTURE,4,true],["HasOpenings",IFCRELVOIDSELEMENT,4,true],["IsConnectionRealization",IFCRELCONNECTSWITHREALIZINGELEMENTS,7,true],["ProvidesBoundaries",IFCRELSPACEBOUNDARY,5,true],["ConnectedFrom",IFCRELCONNECTSELEMENTS,6,true],["ContainedInStructure",IFCRELCONTAINEDINSPATIALSTRUCTURE,4,true],["HasCoverings",IFCRELCOVERSBLDGELEMENTS,4,true]],1156407060:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDeclaredBy",IFCRELDEFINESBYOBJECT,4,true],["Declares",IFCRELDEFINESBYOBJECT,5,true],["IsTypedBy",IFCRELDEFINESBYTYPE,4,true],["IsDefinedBy",IFCRELDEFINESBYPROPERTIES,4,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true],["FillsVoids",IFCRELFILLSELEMENT,5,true],["ConnectedTo",IFCRELCONNECTSELEMENTS,5,true],["IsInterferedByElements",IFCRELINTERFERESELEMENTS,5,true],["InterferesElements",IFCRELINTERFERESELEMENTS,4,true],["HasProjections",IFCRELPROJECTSELEMENT,4,true],["ReferencedInStructures",IFCRELREFERENCEDINSPATIALSTRUCTURE,4,true],["HasOpenings",IFCRELVOIDSELEMENT,4,true],["IsConnectionRealization",IFCRELCONNECTSWITHREALIZINGELEMENTS,7,true],["ProvidesBoundaries",IFCRELSPACEBOUNDARY,5,true],["ConnectedFrom",IFCRELCONNECTSELEMENTS,6,true],["ContainedInStructure",IFCRELCONTAINEDINSPATIALSTRUCTURE,4,true],["HasCoverings",IFCRELCOVERSBLDGELEMENTS,4,true]],738039164:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDeclaredBy",IFCRELDEFINESBYOBJECT,4,true],["Declares",IFCRELDEFINESBYOBJECT,5,true],["IsTypedBy",IFCRELDEFINESBYTYPE,4,true],["IsDefinedBy",IFCRELDEFINESBYPROPERTIES,4,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true],["FillsVoids",IFCRELFILLSELEMENT,5,true],["ConnectedTo",IFCRELCONNECTSELEMENTS,5,true],["IsInterferedByElements",IFCRELINTERFERESELEMENTS,5,true],["InterferesElements",IFCRELINTERFERESELEMENTS,4,true],["HasProjections",IFCRELPROJECTSELEMENT,4,true],["ReferencedInStructures",IFCRELREFERENCEDINSPATIALSTRUCTURE,4,true],["HasOpenings",IFCRELVOIDSELEMENT,4,true],["IsConnectionRealization",IFCRELCONNECTSWITHREALIZINGELEMENTS,7,true],["ProvidesBoundaries",IFCRELSPACEBOUNDARY,5,true],["ConnectedFrom",IFCRELCONNECTSELEMENTS,6,true],["ContainedInStructure",IFCRELCONTAINEDINSPATIALSTRUCTURE,4,true],["HasCoverings",IFCRELCOVERSBLDGELEMENTS,4,true],["HasPorts",IFCRELCONNECTSPORTTOELEMENT,5,true],["HasControlElements",IFCRELFLOWCONTROLELEMENTS,5,true]],655969474:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["Types",IFCRELDEFINESBYTYPE,5,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true]],90941305:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDeclaredBy",IFCRELDEFINESBYOBJECT,4,true],["Declares",IFCRELDEFINESBYOBJECT,5,true],["IsTypedBy",IFCRELDEFINESBYTYPE,4,true],["IsDefinedBy",IFCRELDEFINESBYPROPERTIES,4,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true],["FillsVoids",IFCRELFILLSELEMENT,5,true],["ConnectedTo",IFCRELCONNECTSELEMENTS,5,true],["IsInterferedByElements",IFCRELINTERFERESELEMENTS,5,true],["InterferesElements",IFCRELINTERFERESELEMENTS,4,true],["HasProjections",IFCRELPROJECTSELEMENT,4,true],["ReferencedInStructures",IFCRELREFERENCEDINSPATIALSTRUCTURE,4,true],["HasOpenings",IFCRELVOIDSELEMENT,4,true],["IsConnectionRealization",IFCRELCONNECTSWITHREALIZINGELEMENTS,7,true],["ProvidesBoundaries",IFCRELSPACEBOUNDARY,5,true],["ConnectedFrom",IFCRELCONNECTSELEMENTS,6,true],["ContainedInStructure",IFCRELCONTAINEDINSPATIALSTRUCTURE,4,true],["HasCoverings",IFCRELCOVERSBLDGELEMENTS,4,true],["HasPorts",IFCRELCONNECTSPORTTOELEMENT,5,true],["HasControlElements",IFCRELFLOWCONTROLELEMENTS,5,true]],2262370178:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDeclaredBy",IFCRELDEFINESBYOBJECT,4,true],["Declares",IFCRELDEFINESBYOBJECT,5,true],["IsTypedBy",IFCRELDEFINESBYTYPE,4,true],["IsDefinedBy",IFCRELDEFINESBYPROPERTIES,4,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true],["FillsVoids",IFCRELFILLSELEMENT,5,true],["ConnectedTo",IFCRELCONNECTSELEMENTS,5,true],["IsInterferedByElements",IFCRELINTERFERESELEMENTS,5,true],["InterferesElements",IFCRELINTERFERESELEMENTS,4,true],["HasProjections",IFCRELPROJECTSELEMENT,4,true],["ReferencedInStructures",IFCRELREFERENCEDINSPATIALSTRUCTURE,4,true],["HasOpenings",IFCRELVOIDSELEMENT,4,true],["IsConnectionRealization",IFCRELCONNECTSWITHREALIZINGELEMENTS,7,true],["ProvidesBoundaries",IFCRELSPACEBOUNDARY,5,true],["ConnectedFrom",IFCRELCONNECTSELEMENTS,6,true],["ContainedInStructure",IFCRELCONTAINEDINSPATIALSTRUCTURE,4,true],["HasCoverings",IFCRELCOVERSBLDGELEMENTS,4,true]],3024970846:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDeclaredBy",IFCRELDEFINESBYOBJECT,4,true],["Declares",IFCRELDEFINESBYOBJECT,5,true],["IsTypedBy",IFCRELDEFINESBYTYPE,4,true],["IsDefinedBy",IFCRELDEFINESBYPROPERTIES,4,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true],["FillsVoids",IFCRELFILLSELEMENT,5,true],["ConnectedTo",IFCRELCONNECTSELEMENTS,5,true],["IsInterferedByElements",IFCRELINTERFERESELEMENTS,5,true],["InterferesElements",IFCRELINTERFERESELEMENTS,4,true],["HasProjections",IFCRELPROJECTSELEMENT,4,true],["ReferencedInStructures",IFCRELREFERENCEDINSPATIALSTRUCTURE,4,true],["HasOpenings",IFCRELVOIDSELEMENT,4,true],["IsConnectionRealization",IFCRELCONNECTSWITHREALIZINGELEMENTS,7,true],["ProvidesBoundaries",IFCRELSPACEBOUNDARY,5,true],["ConnectedFrom",IFCRELCONNECTSELEMENTS,6,true],["ContainedInStructure",IFCRELCONTAINEDINSPATIALSTRUCTURE,4,true],["HasCoverings",IFCRELCOVERSBLDGELEMENTS,4,true]],3283111854:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDeclaredBy",IFCRELDEFINESBYOBJECT,4,true],["Declares",IFCRELDEFINESBYOBJECT,5,true],["IsTypedBy",IFCRELDEFINESBYTYPE,4,true],["IsDefinedBy",IFCRELDEFINESBYPROPERTIES,4,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true],["FillsVoids",IFCRELFILLSELEMENT,5,true],["ConnectedTo",IFCRELCONNECTSELEMENTS,5,true],["IsInterferedByElements",IFCRELINTERFERESELEMENTS,5,true],["InterferesElements",IFCRELINTERFERESELEMENTS,4,true],["HasProjections",IFCRELPROJECTSELEMENT,4,true],["ReferencedInStructures",IFCRELREFERENCEDINSPATIALSTRUCTURE,4,true],["HasOpenings",IFCRELVOIDSELEMENT,4,true],["IsConnectionRealization",IFCRELCONNECTSWITHREALIZINGELEMENTS,7,true],["ProvidesBoundaries",IFCRELSPACEBOUNDARY,5,true],["ConnectedFrom",IFCRELCONNECTSELEMENTS,6,true],["ContainedInStructure",IFCRELCONTAINEDINSPATIALSTRUCTURE,4,true],["HasCoverings",IFCRELCOVERSBLDGELEMENTS,4,true]],1232101972:[["LayerAssignment",IFCPRESENTATIONLAYERASSIGNMENT,2,true],["StyledByItem",IFCSTYLEDITEM,0,true]],979691226:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDeclaredBy",IFCRELDEFINESBYOBJECT,4,true],["Declares",IFCRELDEFINESBYOBJECT,5,true],["IsTypedBy",IFCRELDEFINESBYTYPE,4,true],["IsDefinedBy",IFCRELDEFINESBYPROPERTIES,4,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true],["FillsVoids",IFCRELFILLSELEMENT,5,true],["ConnectedTo",IFCRELCONNECTSELEMENTS,5,true],["IsInterferedByElements",IFCRELINTERFERESELEMENTS,5,true],["InterferesElements",IFCRELINTERFERESELEMENTS,4,true],["HasProjections",IFCRELPROJECTSELEMENT,4,true],["ReferencedInStructures",IFCRELREFERENCEDINSPATIALSTRUCTURE,4,true],["HasOpenings",IFCRELVOIDSELEMENT,4,true],["IsConnectionRealization",IFCRELCONNECTSWITHREALIZINGELEMENTS,7,true],["ProvidesBoundaries",IFCRELSPACEBOUNDARY,5,true],["ConnectedFrom",IFCRELCONNECTSELEMENTS,6,true],["ContainedInStructure",IFCRELCONTAINEDINSPATIALSTRUCTURE,4,true],["HasCoverings",IFCRELCOVERSBLDGELEMENTS,4,true]],2572171363:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["Types",IFCRELDEFINESBYTYPE,5,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true]],2016517767:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDeclaredBy",IFCRELDEFINESBYOBJECT,4,true],["Declares",IFCRELDEFINESBYOBJECT,5,true],["IsTypedBy",IFCRELDEFINESBYTYPE,4,true],["IsDefinedBy",IFCRELDEFINESBYPROPERTIES,4,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true],["FillsVoids",IFCRELFILLSELEMENT,5,true],["ConnectedTo",IFCRELCONNECTSELEMENTS,5,true],["IsInterferedByElements",IFCRELINTERFERESELEMENTS,5,true],["InterferesElements",IFCRELINTERFERESELEMENTS,4,true],["HasProjections",IFCRELPROJECTSELEMENT,4,true],["ReferencedInStructures",IFCRELREFERENCEDINSPATIALSTRUCTURE,4,true],["HasOpenings",IFCRELVOIDSELEMENT,4,true],["IsConnectionRealization",IFCRELCONNECTSWITHREALIZINGELEMENTS,7,true],["ProvidesBoundaries",IFCRELSPACEBOUNDARY,5,true],["ConnectedFrom",IFCRELCONNECTSELEMENTS,6,true],["ContainedInStructure",IFCRELCONTAINEDINSPATIALSTRUCTURE,4,true],["HasCoverings",IFCRELCOVERSBLDGELEMENTS,4,true]],3053780830:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDeclaredBy",IFCRELDEFINESBYOBJECT,4,true],["Declares",IFCRELDEFINESBYOBJECT,5,true],["IsTypedBy",IFCRELDEFINESBYTYPE,4,true],["IsDefinedBy",IFCRELDEFINESBYPROPERTIES,4,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true],["FillsVoids",IFCRELFILLSELEMENT,5,true],["ConnectedTo",IFCRELCONNECTSELEMENTS,5,true],["IsInterferedByElements",IFCRELINTERFERESELEMENTS,5,true],["InterferesElements",IFCRELINTERFERESELEMENTS,4,true],["HasProjections",IFCRELPROJECTSELEMENT,4,true],["ReferencedInStructures",IFCRELREFERENCEDINSPATIALSTRUCTURE,4,true],["HasOpenings",IFCRELVOIDSELEMENT,4,true],["IsConnectionRealization",IFCRELCONNECTSWITHREALIZINGELEMENTS,7,true],["ProvidesBoundaries",IFCRELSPACEBOUNDARY,5,true],["ConnectedFrom",IFCRELCONNECTSELEMENTS,6,true],["ContainedInStructure",IFCRELCONTAINEDINSPATIALSTRUCTURE,4,true],["HasCoverings",IFCRELCOVERSBLDGELEMENTS,4,true],["HasPorts",IFCRELCONNECTSPORTTOELEMENT,5,true],["HasControlElements",IFCRELFLOWCONTROLELEMENTS,5,true]],1783015770:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["Types",IFCRELDEFINESBYTYPE,5,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true]],1329646415:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDeclaredBy",IFCRELDEFINESBYOBJECT,4,true],["Declares",IFCRELDEFINESBYOBJECT,5,true],["IsTypedBy",IFCRELDEFINESBYTYPE,4,true],["IsDefinedBy",IFCRELDEFINESBYPROPERTIES,4,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true],["FillsVoids",IFCRELFILLSELEMENT,5,true],["ConnectedTo",IFCRELCONNECTSELEMENTS,5,true],["IsInterferedByElements",IFCRELINTERFERESELEMENTS,5,true],["InterferesElements",IFCRELINTERFERESELEMENTS,4,true],["HasProjections",IFCRELPROJECTSELEMENT,4,true],["ReferencedInStructures",IFCRELREFERENCEDINSPATIALSTRUCTURE,4,true],["HasOpenings",IFCRELVOIDSELEMENT,4,true],["IsConnectionRealization",IFCRELCONNECTSWITHREALIZINGELEMENTS,7,true],["ProvidesBoundaries",IFCRELSPACEBOUNDARY,5,true],["ConnectedFrom",IFCRELCONNECTSELEMENTS,6,true],["ContainedInStructure",IFCRELCONTAINEDINSPATIALSTRUCTURE,4,true],["HasCoverings",IFCRELCOVERSBLDGELEMENTS,4,true]],1529196076:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDeclaredBy",IFCRELDEFINESBYOBJECT,4,true],["Declares",IFCRELDEFINESBYOBJECT,5,true],["IsTypedBy",IFCRELDEFINESBYTYPE,4,true],["IsDefinedBy",IFCRELDEFINESBYPROPERTIES,4,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true],["FillsVoids",IFCRELFILLSELEMENT,5,true],["ConnectedTo",IFCRELCONNECTSELEMENTS,5,true],["IsInterferedByElements",IFCRELINTERFERESELEMENTS,5,true],["InterferesElements",IFCRELINTERFERESELEMENTS,4,true],["HasProjections",IFCRELPROJECTSELEMENT,4,true],["ReferencedInStructures",IFCRELREFERENCEDINSPATIALSTRUCTURE,4,true],["HasOpenings",IFCRELVOIDSELEMENT,4,true],["IsConnectionRealization",IFCRELCONNECTSWITHREALIZINGELEMENTS,7,true],["ProvidesBoundaries",IFCRELSPACEBOUNDARY,5,true],["ConnectedFrom",IFCRELCONNECTSELEMENTS,6,true],["ContainedInStructure",IFCRELCONTAINEDINSPATIALSTRUCTURE,4,true],["HasCoverings",IFCRELCOVERSBLDGELEMENTS,4,true]],3127900445:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDeclaredBy",IFCRELDEFINESBYOBJECT,4,true],["Declares",IFCRELDEFINESBYOBJECT,5,true],["IsTypedBy",IFCRELDEFINESBYTYPE,4,true],["IsDefinedBy",IFCRELDEFINESBYPROPERTIES,4,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true],["FillsVoids",IFCRELFILLSELEMENT,5,true],["ConnectedTo",IFCRELCONNECTSELEMENTS,5,true],["IsInterferedByElements",IFCRELINTERFERESELEMENTS,5,true],["InterferesElements",IFCRELINTERFERESELEMENTS,4,true],["HasProjections",IFCRELPROJECTSELEMENT,4,true],["ReferencedInStructures",IFCRELREFERENCEDINSPATIALSTRUCTURE,4,true],["HasOpenings",IFCRELVOIDSELEMENT,4,true],["IsConnectionRealization",IFCRELCONNECTSWITHREALIZINGELEMENTS,7,true],["ProvidesBoundaries",IFCRELSPACEBOUNDARY,5,true],["ConnectedFrom",IFCRELCONNECTSELEMENTS,6,true],["ContainedInStructure",IFCRELCONTAINEDINSPATIALSTRUCTURE,4,true],["HasCoverings",IFCRELCOVERSBLDGELEMENTS,4,true]],3027962421:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDeclaredBy",IFCRELDEFINESBYOBJECT,4,true],["Declares",IFCRELDEFINESBYOBJECT,5,true],["IsTypedBy",IFCRELDEFINESBYTYPE,4,true],["IsDefinedBy",IFCRELDEFINESBYPROPERTIES,4,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true],["FillsVoids",IFCRELFILLSELEMENT,5,true],["ConnectedTo",IFCRELCONNECTSELEMENTS,5,true],["IsInterferedByElements",IFCRELINTERFERESELEMENTS,5,true],["InterferesElements",IFCRELINTERFERESELEMENTS,4,true],["HasProjections",IFCRELPROJECTSELEMENT,4,true],["ReferencedInStructures",IFCRELREFERENCEDINSPATIALSTRUCTURE,4,true],["HasOpenings",IFCRELVOIDSELEMENT,4,true],["IsConnectionRealization",IFCRELCONNECTSWITHREALIZINGELEMENTS,7,true],["ProvidesBoundaries",IFCRELSPACEBOUNDARY,5,true],["ConnectedFrom",IFCRELCONNECTSELEMENTS,6,true],["ContainedInStructure",IFCRELCONTAINEDINSPATIALSTRUCTURE,4,true],["HasCoverings",IFCRELCOVERSBLDGELEMENTS,4,true]],3420628829:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDeclaredBy",IFCRELDEFINESBYOBJECT,4,true],["Declares",IFCRELDEFINESBYOBJECT,5,true],["IsTypedBy",IFCRELDEFINESBYTYPE,4,true],["IsDefinedBy",IFCRELDEFINESBYPROPERTIES,4,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true],["FillsVoids",IFCRELFILLSELEMENT,5,true],["ConnectedTo",IFCRELCONNECTSELEMENTS,5,true],["IsInterferedByElements",IFCRELINTERFERESELEMENTS,5,true],["InterferesElements",IFCRELINTERFERESELEMENTS,4,true],["HasProjections",IFCRELPROJECTSELEMENT,4,true],["ReferencedInStructures",IFCRELREFERENCEDINSPATIALSTRUCTURE,4,true],["HasOpenings",IFCRELVOIDSELEMENT,4,true],["IsConnectionRealization",IFCRELCONNECTSWITHREALIZINGELEMENTS,7,true],["ProvidesBoundaries",IFCRELSPACEBOUNDARY,5,true],["ConnectedFrom",IFCRELCONNECTSELEMENTS,6,true],["ContainedInStructure",IFCRELCONTAINEDINSPATIALSTRUCTURE,4,true],["HasCoverings",IFCRELCOVERSBLDGELEMENTS,4,true],["HasPorts",IFCRELCONNECTSPORTTOELEMENT,5,true],["HasControlElements",IFCRELFLOWCONTROLELEMENTS,5,true]],1999602285:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDeclaredBy",IFCRELDEFINESBYOBJECT,4,true],["Declares",IFCRELDEFINESBYOBJECT,5,true],["IsTypedBy",IFCRELDEFINESBYTYPE,4,true],["IsDefinedBy",IFCRELDEFINESBYPROPERTIES,4,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true],["FillsVoids",IFCRELFILLSELEMENT,5,true],["ConnectedTo",IFCRELCONNECTSELEMENTS,5,true],["IsInterferedByElements",IFCRELINTERFERESELEMENTS,5,true],["InterferesElements",IFCRELINTERFERESELEMENTS,4,true],["HasProjections",IFCRELPROJECTSELEMENT,4,true],["ReferencedInStructures",IFCRELREFERENCEDINSPATIALSTRUCTURE,4,true],["HasOpenings",IFCRELVOIDSELEMENT,4,true],["IsConnectionRealization",IFCRELCONNECTSWITHREALIZINGELEMENTS,7,true],["ProvidesBoundaries",IFCRELSPACEBOUNDARY,5,true],["ConnectedFrom",IFCRELCONNECTSELEMENTS,6,true],["ContainedInStructure",IFCRELCONTAINEDINSPATIALSTRUCTURE,4,true],["HasCoverings",IFCRELCOVERSBLDGELEMENTS,4,true],["HasPorts",IFCRELCONNECTSPORTTOELEMENT,5,true],["HasControlElements",IFCRELFLOWCONTROLELEMENTS,5,true]],1404847402:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDeclaredBy",IFCRELDEFINESBYOBJECT,4,true],["Declares",IFCRELDEFINESBYOBJECT,5,true],["IsTypedBy",IFCRELDEFINESBYTYPE,4,true],["IsDefinedBy",IFCRELDEFINESBYPROPERTIES,4,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true],["FillsVoids",IFCRELFILLSELEMENT,5,true],["ConnectedTo",IFCRELCONNECTSELEMENTS,5,true],["IsInterferedByElements",IFCRELINTERFERESELEMENTS,5,true],["InterferesElements",IFCRELINTERFERESELEMENTS,4,true],["HasProjections",IFCRELPROJECTSELEMENT,4,true],["ReferencedInStructures",IFCRELREFERENCEDINSPATIALSTRUCTURE,4,true],["HasOpenings",IFCRELVOIDSELEMENT,4,true],["IsConnectionRealization",IFCRELCONNECTSWITHREALIZINGELEMENTS,7,true],["ProvidesBoundaries",IFCRELSPACEBOUNDARY,5,true],["ConnectedFrom",IFCRELCONNECTSELEMENTS,6,true],["ContainedInStructure",IFCRELCONTAINEDINSPATIALSTRUCTURE,4,true],["HasCoverings",IFCRELCOVERSBLDGELEMENTS,4,true],["HasPorts",IFCRELCONNECTSPORTTOELEMENT,5,true],["HasControlElements",IFCRELFLOWCONTROLELEMENTS,5,true]],331165859:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDeclaredBy",IFCRELDEFINESBYOBJECT,4,true],["Declares",IFCRELDEFINESBYOBJECT,5,true],["IsTypedBy",IFCRELDEFINESBYTYPE,4,true],["IsDefinedBy",IFCRELDEFINESBYPROPERTIES,4,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true],["FillsVoids",IFCRELFILLSELEMENT,5,true],["ConnectedTo",IFCRELCONNECTSELEMENTS,5,true],["IsInterferedByElements",IFCRELINTERFERESELEMENTS,5,true],["InterferesElements",IFCRELINTERFERESELEMENTS,4,true],["HasProjections",IFCRELPROJECTSELEMENT,4,true],["ReferencedInStructures",IFCRELREFERENCEDINSPATIALSTRUCTURE,4,true],["HasOpenings",IFCRELVOIDSELEMENT,4,true],["IsConnectionRealization",IFCRELCONNECTSWITHREALIZINGELEMENTS,7,true],["ProvidesBoundaries",IFCRELSPACEBOUNDARY,5,true],["ConnectedFrom",IFCRELCONNECTSELEMENTS,6,true],["ContainedInStructure",IFCRELCONTAINEDINSPATIALSTRUCTURE,4,true],["HasCoverings",IFCRELCOVERSBLDGELEMENTS,4,true]],4252922144:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDeclaredBy",IFCRELDEFINESBYOBJECT,4,true],["Declares",IFCRELDEFINESBYOBJECT,5,true],["IsTypedBy",IFCRELDEFINESBYTYPE,4,true],["IsDefinedBy",IFCRELDEFINESBYPROPERTIES,4,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true],["FillsVoids",IFCRELFILLSELEMENT,5,true],["ConnectedTo",IFCRELCONNECTSELEMENTS,5,true],["IsInterferedByElements",IFCRELINTERFERESELEMENTS,5,true],["InterferesElements",IFCRELINTERFERESELEMENTS,4,true],["HasProjections",IFCRELPROJECTSELEMENT,4,true],["ReferencedInStructures",IFCRELREFERENCEDINSPATIALSTRUCTURE,4,true],["HasOpenings",IFCRELVOIDSELEMENT,4,true],["IsConnectionRealization",IFCRELCONNECTSWITHREALIZINGELEMENTS,7,true],["ProvidesBoundaries",IFCRELSPACEBOUNDARY,5,true],["ConnectedFrom",IFCRELCONNECTSELEMENTS,6,true],["ContainedInStructure",IFCRELCONTAINEDINSPATIALSTRUCTURE,4,true],["HasCoverings",IFCRELCOVERSBLDGELEMENTS,4,true]],2515109513:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDeclaredBy",IFCRELDEFINESBYOBJECT,4,true],["Declares",IFCRELDEFINESBYOBJECT,5,true],["IsTypedBy",IFCRELDEFINESBYTYPE,4,true],["IsDefinedBy",IFCRELDEFINESBYPROPERTIES,4,true],["IsGroupedBy",IFCRELASSIGNSTOGROUP,6,true],["ServicesBuildings",IFCRELSERVICESBUILDINGS,4,true]],385403989:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDeclaredBy",IFCRELDEFINESBYOBJECT,4,true],["Declares",IFCRELDEFINESBYOBJECT,5,true],["IsTypedBy",IFCRELDEFINESBYTYPE,4,true],["IsDefinedBy",IFCRELDEFINESBYPROPERTIES,4,true],["IsGroupedBy",IFCRELASSIGNSTOGROUP,6,true],["SourceOfResultGroup",IFCSTRUCTURALRESULTGROUP,6,true],["LoadGroupFor",IFCSTRUCTURALANALYSISMODEL,7,true]],1621171031:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDeclaredBy",IFCRELDEFINESBYOBJECT,4,true],["Declares",IFCRELDEFINESBYOBJECT,5,true],["IsTypedBy",IFCRELDEFINESBYTYPE,4,true],["IsDefinedBy",IFCRELDEFINESBYPROPERTIES,4,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true],["AssignedToStructuralItem",IFCRELCONNECTSSTRUCTURALACTIVITY,5,true]],1162798199:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDeclaredBy",IFCRELDEFINESBYOBJECT,4,true],["Declares",IFCRELDEFINESBYOBJECT,5,true],["IsTypedBy",IFCRELDEFINESBYTYPE,4,true],["IsDefinedBy",IFCRELDEFINESBYPROPERTIES,4,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true],["FillsVoids",IFCRELFILLSELEMENT,5,true],["ConnectedTo",IFCRELCONNECTSELEMENTS,5,true],["IsInterferedByElements",IFCRELINTERFERESELEMENTS,5,true],["InterferesElements",IFCRELINTERFERESELEMENTS,4,true],["HasProjections",IFCRELPROJECTSELEMENT,4,true],["ReferencedInStructures",IFCRELREFERENCEDINSPATIALSTRUCTURE,4,true],["HasOpenings",IFCRELVOIDSELEMENT,4,true],["IsConnectionRealization",IFCRELCONNECTSWITHREALIZINGELEMENTS,7,true],["ProvidesBoundaries",IFCRELSPACEBOUNDARY,5,true],["ConnectedFrom",IFCRELCONNECTSELEMENTS,6,true],["ContainedInStructure",IFCRELCONTAINEDINSPATIALSTRUCTURE,4,true],["HasCoverings",IFCRELCOVERSBLDGELEMENTS,4,true],["HasPorts",IFCRELCONNECTSPORTTOELEMENT,5,true],["HasControlElements",IFCRELFLOWCONTROLELEMENTS,5,true]],812556717:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDeclaredBy",IFCRELDEFINESBYOBJECT,4,true],["Declares",IFCRELDEFINESBYOBJECT,5,true],["IsTypedBy",IFCRELDEFINESBYTYPE,4,true],["IsDefinedBy",IFCRELDEFINESBYPROPERTIES,4,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true],["FillsVoids",IFCRELFILLSELEMENT,5,true],["ConnectedTo",IFCRELCONNECTSELEMENTS,5,true],["IsInterferedByElements",IFCRELINTERFERESELEMENTS,5,true],["InterferesElements",IFCRELINTERFERESELEMENTS,4,true],["HasProjections",IFCRELPROJECTSELEMENT,4,true],["ReferencedInStructures",IFCRELREFERENCEDINSPATIALSTRUCTURE,4,true],["HasOpenings",IFCRELVOIDSELEMENT,4,true],["IsConnectionRealization",IFCRELCONNECTSWITHREALIZINGELEMENTS,7,true],["ProvidesBoundaries",IFCRELSPACEBOUNDARY,5,true],["ConnectedFrom",IFCRELCONNECTSELEMENTS,6,true],["ContainedInStructure",IFCRELCONTAINEDINSPATIALSTRUCTURE,4,true],["HasCoverings",IFCRELCOVERSBLDGELEMENTS,4,true],["HasPorts",IFCRELCONNECTSPORTTOELEMENT,5,true],["HasControlElements",IFCRELFLOWCONTROLELEMENTS,5,true]],3825984169:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDeclaredBy",IFCRELDEFINESBYOBJECT,4,true],["Declares",IFCRELDEFINESBYOBJECT,5,true],["IsTypedBy",IFCRELDEFINESBYTYPE,4,true],["IsDefinedBy",IFCRELDEFINESBYPROPERTIES,4,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true],["FillsVoids",IFCRELFILLSELEMENT,5,true],["ConnectedTo",IFCRELCONNECTSELEMENTS,5,true],["IsInterferedByElements",IFCRELINTERFERESELEMENTS,5,true],["InterferesElements",IFCRELINTERFERESELEMENTS,4,true],["HasProjections",IFCRELPROJECTSELEMENT,4,true],["ReferencedInStructures",IFCRELREFERENCEDINSPATIALSTRUCTURE,4,true],["HasOpenings",IFCRELVOIDSELEMENT,4,true],["IsConnectionRealization",IFCRELCONNECTSWITHREALIZINGELEMENTS,7,true],["ProvidesBoundaries",IFCRELSPACEBOUNDARY,5,true],["ConnectedFrom",IFCRELCONNECTSELEMENTS,6,true],["ContainedInStructure",IFCRELCONTAINEDINSPATIALSTRUCTURE,4,true],["HasCoverings",IFCRELCOVERSBLDGELEMENTS,4,true],["HasPorts",IFCRELCONNECTSPORTTOELEMENT,5,true],["HasControlElements",IFCRELFLOWCONTROLELEMENTS,5,true]],3026737570:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDeclaredBy",IFCRELDEFINESBYOBJECT,4,true],["Declares",IFCRELDEFINESBYOBJECT,5,true],["IsTypedBy",IFCRELDEFINESBYTYPE,4,true],["IsDefinedBy",IFCRELDEFINESBYPROPERTIES,4,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true],["FillsVoids",IFCRELFILLSELEMENT,5,true],["ConnectedTo",IFCRELCONNECTSELEMENTS,5,true],["IsInterferedByElements",IFCRELINTERFERESELEMENTS,5,true],["InterferesElements",IFCRELINTERFERESELEMENTS,4,true],["HasProjections",IFCRELPROJECTSELEMENT,4,true],["ReferencedInStructures",IFCRELREFERENCEDINSPATIALSTRUCTURE,4,true],["HasOpenings",IFCRELVOIDSELEMENT,4,true],["IsConnectionRealization",IFCRELCONNECTSWITHREALIZINGELEMENTS,7,true],["ProvidesBoundaries",IFCRELSPACEBOUNDARY,5,true],["ConnectedFrom",IFCRELCONNECTSELEMENTS,6,true],["ContainedInStructure",IFCRELCONTAINEDINSPATIALSTRUCTURE,4,true],["HasCoverings",IFCRELCOVERSBLDGELEMENTS,4,true],["HasPorts",IFCRELCONNECTSPORTTOELEMENT,5,true],["HasControlElements",IFCRELFLOWCONTROLELEMENTS,5,true]],3179687236:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["Types",IFCRELDEFINESBYTYPE,5,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true]],4292641817:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDeclaredBy",IFCRELDEFINESBYOBJECT,4,true],["Declares",IFCRELDEFINESBYOBJECT,5,true],["IsTypedBy",IFCRELDEFINESBYTYPE,4,true],["IsDefinedBy",IFCRELDEFINESBYPROPERTIES,4,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true],["FillsVoids",IFCRELFILLSELEMENT,5,true],["ConnectedTo",IFCRELCONNECTSELEMENTS,5,true],["IsInterferedByElements",IFCRELINTERFERESELEMENTS,5,true],["InterferesElements",IFCRELINTERFERESELEMENTS,4,true],["HasProjections",IFCRELPROJECTSELEMENT,4,true],["ReferencedInStructures",IFCRELREFERENCEDINSPATIALSTRUCTURE,4,true],["HasOpenings",IFCRELVOIDSELEMENT,4,true],["IsConnectionRealization",IFCRELCONNECTSWITHREALIZINGELEMENTS,7,true],["ProvidesBoundaries",IFCRELSPACEBOUNDARY,5,true],["ConnectedFrom",IFCRELCONNECTSELEMENTS,6,true],["ContainedInStructure",IFCRELCONTAINEDINSPATIALSTRUCTURE,4,true],["HasCoverings",IFCRELCOVERSBLDGELEMENTS,4,true],["HasPorts",IFCRELCONNECTSPORTTOELEMENT,5,true],["HasControlElements",IFCRELFLOWCONTROLELEMENTS,5,true]],4207607924:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDeclaredBy",IFCRELDEFINESBYOBJECT,4,true],["Declares",IFCRELDEFINESBYOBJECT,5,true],["IsTypedBy",IFCRELDEFINESBYTYPE,4,true],["IsDefinedBy",IFCRELDEFINESBYPROPERTIES,4,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true],["FillsVoids",IFCRELFILLSELEMENT,5,true],["ConnectedTo",IFCRELCONNECTSELEMENTS,5,true],["IsInterferedByElements",IFCRELINTERFERESELEMENTS,5,true],["InterferesElements",IFCRELINTERFERESELEMENTS,4,true],["HasProjections",IFCRELPROJECTSELEMENT,4,true],["ReferencedInStructures",IFCRELREFERENCEDINSPATIALSTRUCTURE,4,true],["HasOpenings",IFCRELVOIDSELEMENT,4,true],["IsConnectionRealization",IFCRELCONNECTSWITHREALIZINGELEMENTS,7,true],["ProvidesBoundaries",IFCRELSPACEBOUNDARY,5,true],["ConnectedFrom",IFCRELCONNECTSELEMENTS,6,true],["ContainedInStructure",IFCRELCONTAINEDINSPATIALSTRUCTURE,4,true],["HasCoverings",IFCRELCOVERSBLDGELEMENTS,4,true],["HasPorts",IFCRELCONNECTSPORTTOELEMENT,5,true],["HasControlElements",IFCRELFLOWCONTROLELEMENTS,5,true]],2391406946:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDeclaredBy",IFCRELDEFINESBYOBJECT,4,true],["Declares",IFCRELDEFINESBYOBJECT,5,true],["IsTypedBy",IFCRELDEFINESBYTYPE,4,true],["IsDefinedBy",IFCRELDEFINESBYPROPERTIES,4,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true],["FillsVoids",IFCRELFILLSELEMENT,5,true],["ConnectedTo",IFCRELCONNECTSELEMENTS,5,true],["IsInterferedByElements",IFCRELINTERFERESELEMENTS,5,true],["InterferesElements",IFCRELINTERFERESELEMENTS,4,true],["HasProjections",IFCRELPROJECTSELEMENT,4,true],["ReferencedInStructures",IFCRELREFERENCEDINSPATIALSTRUCTURE,4,true],["HasOpenings",IFCRELVOIDSELEMENT,4,true],["IsConnectionRealization",IFCRELCONNECTSWITHREALIZINGELEMENTS,7,true],["ProvidesBoundaries",IFCRELSPACEBOUNDARY,5,true],["ConnectedFrom",IFCRELCONNECTSELEMENTS,6,true],["ContainedInStructure",IFCRELCONTAINEDINSPATIALSTRUCTURE,4,true],["HasCoverings",IFCRELCOVERSBLDGELEMENTS,4,true]],4156078855:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDeclaredBy",IFCRELDEFINESBYOBJECT,4,true],["Declares",IFCRELDEFINESBYOBJECT,5,true],["IsTypedBy",IFCRELDEFINESBYTYPE,4,true],["IsDefinedBy",IFCRELDEFINESBYPROPERTIES,4,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true],["FillsVoids",IFCRELFILLSELEMENT,5,true],["ConnectedTo",IFCRELCONNECTSELEMENTS,5,true],["IsInterferedByElements",IFCRELINTERFERESELEMENTS,5,true],["InterferesElements",IFCRELINTERFERESELEMENTS,4,true],["HasProjections",IFCRELPROJECTSELEMENT,4,true],["ReferencedInStructures",IFCRELREFERENCEDINSPATIALSTRUCTURE,4,true],["HasOpenings",IFCRELVOIDSELEMENT,4,true],["IsConnectionRealization",IFCRELCONNECTSWITHREALIZINGELEMENTS,7,true],["ProvidesBoundaries",IFCRELSPACEBOUNDARY,5,true],["ConnectedFrom",IFCRELCONNECTSELEMENTS,6,true],["ContainedInStructure",IFCRELCONTAINEDINSPATIALSTRUCTURE,4,true],["HasCoverings",IFCRELCOVERSBLDGELEMENTS,4,true]],3512223829:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDeclaredBy",IFCRELDEFINESBYOBJECT,4,true],["Declares",IFCRELDEFINESBYOBJECT,5,true],["IsTypedBy",IFCRELDEFINESBYTYPE,4,true],["IsDefinedBy",IFCRELDEFINESBYPROPERTIES,4,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true],["FillsVoids",IFCRELFILLSELEMENT,5,true],["ConnectedTo",IFCRELCONNECTSELEMENTS,5,true],["IsInterferedByElements",IFCRELINTERFERESELEMENTS,5,true],["InterferesElements",IFCRELINTERFERESELEMENTS,4,true],["HasProjections",IFCRELPROJECTSELEMENT,4,true],["ReferencedInStructures",IFCRELREFERENCEDINSPATIALSTRUCTURE,4,true],["HasOpenings",IFCRELVOIDSELEMENT,4,true],["IsConnectionRealization",IFCRELCONNECTSWITHREALIZINGELEMENTS,7,true],["ProvidesBoundaries",IFCRELSPACEBOUNDARY,5,true],["ConnectedFrom",IFCRELCONNECTSELEMENTS,6,true],["ContainedInStructure",IFCRELCONTAINEDINSPATIALSTRUCTURE,4,true],["HasCoverings",IFCRELCOVERSBLDGELEMENTS,4,true]],4237592921:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDeclaredBy",IFCRELDEFINESBYOBJECT,4,true],["Declares",IFCRELDEFINESBYOBJECT,5,true],["IsTypedBy",IFCRELDEFINESBYTYPE,4,true],["IsDefinedBy",IFCRELDEFINESBYPROPERTIES,4,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true],["FillsVoids",IFCRELFILLSELEMENT,5,true],["ConnectedTo",IFCRELCONNECTSELEMENTS,5,true],["IsInterferedByElements",IFCRELINTERFERESELEMENTS,5,true],["InterferesElements",IFCRELINTERFERESELEMENTS,4,true],["HasProjections",IFCRELPROJECTSELEMENT,4,true],["ReferencedInStructures",IFCRELREFERENCEDINSPATIALSTRUCTURE,4,true],["HasOpenings",IFCRELVOIDSELEMENT,4,true],["IsConnectionRealization",IFCRELCONNECTSWITHREALIZINGELEMENTS,7,true],["ProvidesBoundaries",IFCRELSPACEBOUNDARY,5,true],["ConnectedFrom",IFCRELCONNECTSELEMENTS,6,true],["ContainedInStructure",IFCRELCONTAINEDINSPATIALSTRUCTURE,4,true],["HasCoverings",IFCRELCOVERSBLDGELEMENTS,4,true],["HasPorts",IFCRELCONNECTSPORTTOELEMENT,5,true],["HasControlElements",IFCRELFLOWCONTROLELEMENTS,5,true]],3304561284:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDeclaredBy",IFCRELDEFINESBYOBJECT,4,true],["Declares",IFCRELDEFINESBYOBJECT,5,true],["IsTypedBy",IFCRELDEFINESBYTYPE,4,true],["IsDefinedBy",IFCRELDEFINESBYPROPERTIES,4,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true],["FillsVoids",IFCRELFILLSELEMENT,5,true],["ConnectedTo",IFCRELCONNECTSELEMENTS,5,true],["IsInterferedByElements",IFCRELINTERFERESELEMENTS,5,true],["InterferesElements",IFCRELINTERFERESELEMENTS,4,true],["HasProjections",IFCRELPROJECTSELEMENT,4,true],["ReferencedInStructures",IFCRELREFERENCEDINSPATIALSTRUCTURE,4,true],["HasOpenings",IFCRELVOIDSELEMENT,4,true],["IsConnectionRealization",IFCRELCONNECTSWITHREALIZINGELEMENTS,7,true],["ProvidesBoundaries",IFCRELSPACEBOUNDARY,5,true],["ConnectedFrom",IFCRELCONNECTSELEMENTS,6,true],["ContainedInStructure",IFCRELCONTAINEDINSPATIALSTRUCTURE,4,true],["HasCoverings",IFCRELCOVERSBLDGELEMENTS,4,true]],486154966:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDeclaredBy",IFCRELDEFINESBYOBJECT,4,true],["Declares",IFCRELDEFINESBYOBJECT,5,true],["IsTypedBy",IFCRELDEFINESBYTYPE,4,true],["IsDefinedBy",IFCRELDEFINESBYPROPERTIES,4,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true],["FillsVoids",IFCRELFILLSELEMENT,5,true],["ConnectedTo",IFCRELCONNECTSELEMENTS,5,true],["IsInterferedByElements",IFCRELINTERFERESELEMENTS,5,true],["InterferesElements",IFCRELINTERFERESELEMENTS,4,true],["HasProjections",IFCRELPROJECTSELEMENT,4,true],["ReferencedInStructures",IFCRELREFERENCEDINSPATIALSTRUCTURE,4,true],["HasOpenings",IFCRELVOIDSELEMENT,4,true],["IsConnectionRealization",IFCRELCONNECTSWITHREALIZINGELEMENTS,7,true],["ProvidesBoundaries",IFCRELSPACEBOUNDARY,5,true],["ConnectedFrom",IFCRELCONNECTSELEMENTS,6,true],["ContainedInStructure",IFCRELCONTAINEDINSPATIALSTRUCTURE,4,true],["HasCoverings",IFCRELCOVERSBLDGELEMENTS,4,true]],2874132201:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["Types",IFCRELDEFINESBYTYPE,5,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true]],1634111441:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDeclaredBy",IFCRELDEFINESBYOBJECT,4,true],["Declares",IFCRELDEFINESBYOBJECT,5,true],["IsTypedBy",IFCRELDEFINESBYTYPE,4,true],["IsDefinedBy",IFCRELDEFINESBYPROPERTIES,4,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true],["FillsVoids",IFCRELFILLSELEMENT,5,true],["ConnectedTo",IFCRELCONNECTSELEMENTS,5,true],["IsInterferedByElements",IFCRELINTERFERESELEMENTS,5,true],["InterferesElements",IFCRELINTERFERESELEMENTS,4,true],["HasProjections",IFCRELPROJECTSELEMENT,4,true],["ReferencedInStructures",IFCRELREFERENCEDINSPATIALSTRUCTURE,4,true],["HasOpenings",IFCRELVOIDSELEMENT,4,true],["IsConnectionRealization",IFCRELCONNECTSWITHREALIZINGELEMENTS,7,true],["ProvidesBoundaries",IFCRELSPACEBOUNDARY,5,true],["ConnectedFrom",IFCRELCONNECTSELEMENTS,6,true],["ContainedInStructure",IFCRELCONTAINEDINSPATIALSTRUCTURE,4,true],["HasCoverings",IFCRELCOVERSBLDGELEMENTS,4,true],["HasPorts",IFCRELCONNECTSPORTTOELEMENT,5,true],["HasControlElements",IFCRELFLOWCONTROLELEMENTS,5,true]],177149247:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDeclaredBy",IFCRELDEFINESBYOBJECT,4,true],["Declares",IFCRELDEFINESBYOBJECT,5,true],["IsTypedBy",IFCRELDEFINESBYTYPE,4,true],["IsDefinedBy",IFCRELDEFINESBYPROPERTIES,4,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true],["FillsVoids",IFCRELFILLSELEMENT,5,true],["ConnectedTo",IFCRELCONNECTSELEMENTS,5,true],["IsInterferedByElements",IFCRELINTERFERESELEMENTS,5,true],["InterferesElements",IFCRELINTERFERESELEMENTS,4,true],["HasProjections",IFCRELPROJECTSELEMENT,4,true],["ReferencedInStructures",IFCRELREFERENCEDINSPATIALSTRUCTURE,4,true],["HasOpenings",IFCRELVOIDSELEMENT,4,true],["IsConnectionRealization",IFCRELCONNECTSWITHREALIZINGELEMENTS,7,true],["ProvidesBoundaries",IFCRELSPACEBOUNDARY,5,true],["ConnectedFrom",IFCRELCONNECTSELEMENTS,6,true],["ContainedInStructure",IFCRELCONTAINEDINSPATIALSTRUCTURE,4,true],["HasCoverings",IFCRELCOVERSBLDGELEMENTS,4,true],["HasPorts",IFCRELCONNECTSPORTTOELEMENT,5,true],["HasControlElements",IFCRELFLOWCONTROLELEMENTS,5,true]],2056796094:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDeclaredBy",IFCRELDEFINESBYOBJECT,4,true],["Declares",IFCRELDEFINESBYOBJECT,5,true],["IsTypedBy",IFCRELDEFINESBYTYPE,4,true],["IsDefinedBy",IFCRELDEFINESBYPROPERTIES,4,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true],["FillsVoids",IFCRELFILLSELEMENT,5,true],["ConnectedTo",IFCRELCONNECTSELEMENTS,5,true],["IsInterferedByElements",IFCRELINTERFERESELEMENTS,5,true],["InterferesElements",IFCRELINTERFERESELEMENTS,4,true],["HasProjections",IFCRELPROJECTSELEMENT,4,true],["ReferencedInStructures",IFCRELREFERENCEDINSPATIALSTRUCTURE,4,true],["HasOpenings",IFCRELVOIDSELEMENT,4,true],["IsConnectionRealization",IFCRELCONNECTSWITHREALIZINGELEMENTS,7,true],["ProvidesBoundaries",IFCRELSPACEBOUNDARY,5,true],["ConnectedFrom",IFCRELCONNECTSELEMENTS,6,true],["ContainedInStructure",IFCRELCONTAINEDINSPATIALSTRUCTURE,4,true],["HasCoverings",IFCRELCOVERSBLDGELEMENTS,4,true],["HasPorts",IFCRELCONNECTSPORTTOELEMENT,5,true],["HasControlElements",IFCRELFLOWCONTROLELEMENTS,5,true]],3001207471:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["Types",IFCRELDEFINESBYTYPE,5,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true]],277319702:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDeclaredBy",IFCRELDEFINESBYOBJECT,4,true],["Declares",IFCRELDEFINESBYOBJECT,5,true],["IsTypedBy",IFCRELDEFINESBYTYPE,4,true],["IsDefinedBy",IFCRELDEFINESBYPROPERTIES,4,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true],["FillsVoids",IFCRELFILLSELEMENT,5,true],["ConnectedTo",IFCRELCONNECTSELEMENTS,5,true],["IsInterferedByElements",IFCRELINTERFERESELEMENTS,5,true],["InterferesElements",IFCRELINTERFERESELEMENTS,4,true],["HasProjections",IFCRELPROJECTSELEMENT,4,true],["ReferencedInStructures",IFCRELREFERENCEDINSPATIALSTRUCTURE,4,true],["HasOpenings",IFCRELVOIDSELEMENT,4,true],["IsConnectionRealization",IFCRELCONNECTSWITHREALIZINGELEMENTS,7,true],["ProvidesBoundaries",IFCRELSPACEBOUNDARY,5,true],["ConnectedFrom",IFCRELCONNECTSELEMENTS,6,true],["ContainedInStructure",IFCRELCONTAINEDINSPATIALSTRUCTURE,4,true],["HasCoverings",IFCRELCOVERSBLDGELEMENTS,4,true],["HasPorts",IFCRELCONNECTSPORTTOELEMENT,5,true],["HasControlElements",IFCRELFLOWCONTROLELEMENTS,5,true]],753842376:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDeclaredBy",IFCRELDEFINESBYOBJECT,4,true],["Declares",IFCRELDEFINESBYOBJECT,5,true],["IsTypedBy",IFCRELDEFINESBYTYPE,4,true],["IsDefinedBy",IFCRELDEFINESBYPROPERTIES,4,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true],["FillsVoids",IFCRELFILLSELEMENT,5,true],["ConnectedTo",IFCRELCONNECTSELEMENTS,5,true],["IsInterferedByElements",IFCRELINTERFERESELEMENTS,5,true],["InterferesElements",IFCRELINTERFERESELEMENTS,4,true],["HasProjections",IFCRELPROJECTSELEMENT,4,true],["ReferencedInStructures",IFCRELREFERENCEDINSPATIALSTRUCTURE,4,true],["HasOpenings",IFCRELVOIDSELEMENT,4,true],["IsConnectionRealization",IFCRELCONNECTSWITHREALIZINGELEMENTS,7,true],["ProvidesBoundaries",IFCRELSPACEBOUNDARY,5,true],["ConnectedFrom",IFCRELCONNECTSELEMENTS,6,true],["ContainedInStructure",IFCRELCONTAINEDINSPATIALSTRUCTURE,4,true],["HasCoverings",IFCRELCOVERSBLDGELEMENTS,4,true]],2906023776:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDeclaredBy",IFCRELDEFINESBYOBJECT,4,true],["Declares",IFCRELDEFINESBYOBJECT,5,true],["IsTypedBy",IFCRELDEFINESBYTYPE,4,true],["IsDefinedBy",IFCRELDEFINESBYPROPERTIES,4,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true],["FillsVoids",IFCRELFILLSELEMENT,5,true],["ConnectedTo",IFCRELCONNECTSELEMENTS,5,true],["IsInterferedByElements",IFCRELINTERFERESELEMENTS,5,true],["InterferesElements",IFCRELINTERFERESELEMENTS,4,true],["HasProjections",IFCRELPROJECTSELEMENT,4,true],["ReferencedInStructures",IFCRELREFERENCEDINSPATIALSTRUCTURE,4,true],["HasOpenings",IFCRELVOIDSELEMENT,4,true],["IsConnectionRealization",IFCRELCONNECTSWITHREALIZINGELEMENTS,7,true],["ProvidesBoundaries",IFCRELSPACEBOUNDARY,5,true],["ConnectedFrom",IFCRELCONNECTSELEMENTS,6,true],["ContainedInStructure",IFCRELCONTAINEDINSPATIALSTRUCTURE,4,true],["HasCoverings",IFCRELCOVERSBLDGELEMENTS,4,true]],32344328:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDeclaredBy",IFCRELDEFINESBYOBJECT,4,true],["Declares",IFCRELDEFINESBYOBJECT,5,true],["IsTypedBy",IFCRELDEFINESBYTYPE,4,true],["IsDefinedBy",IFCRELDEFINESBYPROPERTIES,4,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true],["FillsVoids",IFCRELFILLSELEMENT,5,true],["ConnectedTo",IFCRELCONNECTSELEMENTS,5,true],["IsInterferedByElements",IFCRELINTERFERESELEMENTS,5,true],["InterferesElements",IFCRELINTERFERESELEMENTS,4,true],["HasProjections",IFCRELPROJECTSELEMENT,4,true],["ReferencedInStructures",IFCRELREFERENCEDINSPATIALSTRUCTURE,4,true],["HasOpenings",IFCRELVOIDSELEMENT,4,true],["IsConnectionRealization",IFCRELCONNECTSWITHREALIZINGELEMENTS,7,true],["ProvidesBoundaries",IFCRELSPACEBOUNDARY,5,true],["ConnectedFrom",IFCRELCONNECTSELEMENTS,6,true],["ContainedInStructure",IFCRELCONTAINEDINSPATIALSTRUCTURE,4,true],["HasCoverings",IFCRELCOVERSBLDGELEMENTS,4,true],["HasPorts",IFCRELCONNECTSPORTTOELEMENT,5,true],["HasControlElements",IFCRELFLOWCONTROLELEMENTS,5,true]],2938176219:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDeclaredBy",IFCRELDEFINESBYOBJECT,4,true],["Declares",IFCRELDEFINESBYOBJECT,5,true],["IsTypedBy",IFCRELDEFINESBYTYPE,4,true],["IsDefinedBy",IFCRELDEFINESBYPROPERTIES,4,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true],["FillsVoids",IFCRELFILLSELEMENT,5,true],["ConnectedTo",IFCRELCONNECTSELEMENTS,5,true],["IsInterferedByElements",IFCRELINTERFERESELEMENTS,5,true],["InterferesElements",IFCRELINTERFERESELEMENTS,4,true],["HasProjections",IFCRELPROJECTSELEMENT,4,true],["ReferencedInStructures",IFCRELREFERENCEDINSPATIALSTRUCTURE,4,true],["HasOpenings",IFCRELVOIDSELEMENT,4,true],["IsConnectionRealization",IFCRELCONNECTSWITHREALIZINGELEMENTS,7,true],["ProvidesBoundaries",IFCRELSPACEBOUNDARY,5,true],["ConnectedFrom",IFCRELCONNECTSELEMENTS,6,true],["ContainedInStructure",IFCRELCONTAINEDINSPATIALSTRUCTURE,4,true],["HasCoverings",IFCRELCOVERSBLDGELEMENTS,4,true],["HasPorts",IFCRELCONNECTSPORTTOELEMENT,5,true],["HasControlElements",IFCRELFLOWCONTROLELEMENTS,5,true]],635142910:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDeclaredBy",IFCRELDEFINESBYOBJECT,4,true],["Declares",IFCRELDEFINESBYOBJECT,5,true],["IsTypedBy",IFCRELDEFINESBYTYPE,4,true],["IsDefinedBy",IFCRELDEFINESBYPROPERTIES,4,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true],["FillsVoids",IFCRELFILLSELEMENT,5,true],["ConnectedTo",IFCRELCONNECTSELEMENTS,5,true],["IsInterferedByElements",IFCRELINTERFERESELEMENTS,5,true],["InterferesElements",IFCRELINTERFERESELEMENTS,4,true],["HasProjections",IFCRELPROJECTSELEMENT,4,true],["ReferencedInStructures",IFCRELREFERENCEDINSPATIALSTRUCTURE,4,true],["HasOpenings",IFCRELVOIDSELEMENT,4,true],["IsConnectionRealization",IFCRELCONNECTSWITHREALIZINGELEMENTS,7,true],["ProvidesBoundaries",IFCRELSPACEBOUNDARY,5,true],["ConnectedFrom",IFCRELCONNECTSELEMENTS,6,true],["ContainedInStructure",IFCRELCONTAINEDINSPATIALSTRUCTURE,4,true],["HasCoverings",IFCRELCOVERSBLDGELEMENTS,4,true],["HasPorts",IFCRELCONNECTSPORTTOELEMENT,5,true],["HasControlElements",IFCRELFLOWCONTROLELEMENTS,5,true]],3758799889:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDeclaredBy",IFCRELDEFINESBYOBJECT,4,true],["Declares",IFCRELDEFINESBYOBJECT,5,true],["IsTypedBy",IFCRELDEFINESBYTYPE,4,true],["IsDefinedBy",IFCRELDEFINESBYPROPERTIES,4,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true],["FillsVoids",IFCRELFILLSELEMENT,5,true],["ConnectedTo",IFCRELCONNECTSELEMENTS,5,true],["IsInterferedByElements",IFCRELINTERFERESELEMENTS,5,true],["InterferesElements",IFCRELINTERFERESELEMENTS,4,true],["HasProjections",IFCRELPROJECTSELEMENT,4,true],["ReferencedInStructures",IFCRELREFERENCEDINSPATIALSTRUCTURE,4,true],["HasOpenings",IFCRELVOIDSELEMENT,4,true],["IsConnectionRealization",IFCRELCONNECTSWITHREALIZINGELEMENTS,7,true],["ProvidesBoundaries",IFCRELSPACEBOUNDARY,5,true],["ConnectedFrom",IFCRELCONNECTSELEMENTS,6,true],["ContainedInStructure",IFCRELCONTAINEDINSPATIALSTRUCTURE,4,true],["HasCoverings",IFCRELCOVERSBLDGELEMENTS,4,true],["HasPorts",IFCRELCONNECTSPORTTOELEMENT,5,true],["HasControlElements",IFCRELFLOWCONTROLELEMENTS,5,true]],1051757585:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDeclaredBy",IFCRELDEFINESBYOBJECT,4,true],["Declares",IFCRELDEFINESBYOBJECT,5,true],["IsTypedBy",IFCRELDEFINESBYTYPE,4,true],["IsDefinedBy",IFCRELDEFINESBYPROPERTIES,4,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true],["FillsVoids",IFCRELFILLSELEMENT,5,true],["ConnectedTo",IFCRELCONNECTSELEMENTS,5,true],["IsInterferedByElements",IFCRELINTERFERESELEMENTS,5,true],["InterferesElements",IFCRELINTERFERESELEMENTS,4,true],["HasProjections",IFCRELPROJECTSELEMENT,4,true],["ReferencedInStructures",IFCRELREFERENCEDINSPATIALSTRUCTURE,4,true],["HasOpenings",IFCRELVOIDSELEMENT,4,true],["IsConnectionRealization",IFCRELCONNECTSWITHREALIZINGELEMENTS,7,true],["ProvidesBoundaries",IFCRELSPACEBOUNDARY,5,true],["ConnectedFrom",IFCRELCONNECTSELEMENTS,6,true],["ContainedInStructure",IFCRELCONTAINEDINSPATIALSTRUCTURE,4,true],["HasCoverings",IFCRELCOVERSBLDGELEMENTS,4,true],["HasPorts",IFCRELCONNECTSPORTTOELEMENT,5,true],["HasControlElements",IFCRELFLOWCONTROLELEMENTS,5,true]],4217484030:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDeclaredBy",IFCRELDEFINESBYOBJECT,4,true],["Declares",IFCRELDEFINESBYOBJECT,5,true],["IsTypedBy",IFCRELDEFINESBYTYPE,4,true],["IsDefinedBy",IFCRELDEFINESBYPROPERTIES,4,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true],["FillsVoids",IFCRELFILLSELEMENT,5,true],["ConnectedTo",IFCRELCONNECTSELEMENTS,5,true],["IsInterferedByElements",IFCRELINTERFERESELEMENTS,5,true],["InterferesElements",IFCRELINTERFERESELEMENTS,4,true],["HasProjections",IFCRELPROJECTSELEMENT,4,true],["ReferencedInStructures",IFCRELREFERENCEDINSPATIALSTRUCTURE,4,true],["HasOpenings",IFCRELVOIDSELEMENT,4,true],["IsConnectionRealization",IFCRELCONNECTSWITHREALIZINGELEMENTS,7,true],["ProvidesBoundaries",IFCRELSPACEBOUNDARY,5,true],["ConnectedFrom",IFCRELCONNECTSELEMENTS,6,true],["ContainedInStructure",IFCRELCONTAINEDINSPATIALSTRUCTURE,4,true],["HasCoverings",IFCRELCOVERSBLDGELEMENTS,4,true],["HasPorts",IFCRELCONNECTSPORTTOELEMENT,5,true],["HasControlElements",IFCRELFLOWCONTROLELEMENTS,5,true]],3902619387:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDeclaredBy",IFCRELDEFINESBYOBJECT,4,true],["Declares",IFCRELDEFINESBYOBJECT,5,true],["IsTypedBy",IFCRELDEFINESBYTYPE,4,true],["IsDefinedBy",IFCRELDEFINESBYPROPERTIES,4,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true],["FillsVoids",IFCRELFILLSELEMENT,5,true],["ConnectedTo",IFCRELCONNECTSELEMENTS,5,true],["IsInterferedByElements",IFCRELINTERFERESELEMENTS,5,true],["InterferesElements",IFCRELINTERFERESELEMENTS,4,true],["HasProjections",IFCRELPROJECTSELEMENT,4,true],["ReferencedInStructures",IFCRELREFERENCEDINSPATIALSTRUCTURE,4,true],["HasOpenings",IFCRELVOIDSELEMENT,4,true],["IsConnectionRealization",IFCRELCONNECTSWITHREALIZINGELEMENTS,7,true],["ProvidesBoundaries",IFCRELSPACEBOUNDARY,5,true],["ConnectedFrom",IFCRELCONNECTSELEMENTS,6,true],["ContainedInStructure",IFCRELCONTAINEDINSPATIALSTRUCTURE,4,true],["HasCoverings",IFCRELCOVERSBLDGELEMENTS,4,true],["HasPorts",IFCRELCONNECTSPORTTOELEMENT,5,true],["HasControlElements",IFCRELFLOWCONTROLELEMENTS,5,true]],639361253:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDeclaredBy",IFCRELDEFINESBYOBJECT,4,true],["Declares",IFCRELDEFINESBYOBJECT,5,true],["IsTypedBy",IFCRELDEFINESBYTYPE,4,true],["IsDefinedBy",IFCRELDEFINESBYPROPERTIES,4,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true],["FillsVoids",IFCRELFILLSELEMENT,5,true],["ConnectedTo",IFCRELCONNECTSELEMENTS,5,true],["IsInterferedByElements",IFCRELINTERFERESELEMENTS,5,true],["InterferesElements",IFCRELINTERFERESELEMENTS,4,true],["HasProjections",IFCRELPROJECTSELEMENT,4,true],["ReferencedInStructures",IFCRELREFERENCEDINSPATIALSTRUCTURE,4,true],["HasOpenings",IFCRELVOIDSELEMENT,4,true],["IsConnectionRealization",IFCRELCONNECTSWITHREALIZINGELEMENTS,7,true],["ProvidesBoundaries",IFCRELSPACEBOUNDARY,5,true],["ConnectedFrom",IFCRELCONNECTSELEMENTS,6,true],["ContainedInStructure",IFCRELCONTAINEDINSPATIALSTRUCTURE,4,true],["HasCoverings",IFCRELCOVERSBLDGELEMENTS,4,true],["HasPorts",IFCRELCONNECTSPORTTOELEMENT,5,true],["HasControlElements",IFCRELFLOWCONTROLELEMENTS,5,true]],3221913625:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDeclaredBy",IFCRELDEFINESBYOBJECT,4,true],["Declares",IFCRELDEFINESBYOBJECT,5,true],["IsTypedBy",IFCRELDEFINESBYTYPE,4,true],["IsDefinedBy",IFCRELDEFINESBYPROPERTIES,4,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true],["FillsVoids",IFCRELFILLSELEMENT,5,true],["ConnectedTo",IFCRELCONNECTSELEMENTS,5,true],["IsInterferedByElements",IFCRELINTERFERESELEMENTS,5,true],["InterferesElements",IFCRELINTERFERESELEMENTS,4,true],["HasProjections",IFCRELPROJECTSELEMENT,4,true],["ReferencedInStructures",IFCRELREFERENCEDINSPATIALSTRUCTURE,4,true],["HasOpenings",IFCRELVOIDSELEMENT,4,true],["IsConnectionRealization",IFCRELCONNECTSWITHREALIZINGELEMENTS,7,true],["ProvidesBoundaries",IFCRELSPACEBOUNDARY,5,true],["ConnectedFrom",IFCRELCONNECTSELEMENTS,6,true],["ContainedInStructure",IFCRELCONTAINEDINSPATIALSTRUCTURE,4,true],["HasCoverings",IFCRELCOVERSBLDGELEMENTS,4,true],["HasPorts",IFCRELCONNECTSPORTTOELEMENT,5,true],["HasControlElements",IFCRELFLOWCONTROLELEMENTS,5,true]],3571504051:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDeclaredBy",IFCRELDEFINESBYOBJECT,4,true],["Declares",IFCRELDEFINESBYOBJECT,5,true],["IsTypedBy",IFCRELDEFINESBYTYPE,4,true],["IsDefinedBy",IFCRELDEFINESBYPROPERTIES,4,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true],["FillsVoids",IFCRELFILLSELEMENT,5,true],["ConnectedTo",IFCRELCONNECTSELEMENTS,5,true],["IsInterferedByElements",IFCRELINTERFERESELEMENTS,5,true],["InterferesElements",IFCRELINTERFERESELEMENTS,4,true],["HasProjections",IFCRELPROJECTSELEMENT,4,true],["ReferencedInStructures",IFCRELREFERENCEDINSPATIALSTRUCTURE,4,true],["HasOpenings",IFCRELVOIDSELEMENT,4,true],["IsConnectionRealization",IFCRELCONNECTSWITHREALIZINGELEMENTS,7,true],["ProvidesBoundaries",IFCRELSPACEBOUNDARY,5,true],["ConnectedFrom",IFCRELCONNECTSELEMENTS,6,true],["ContainedInStructure",IFCRELCONTAINEDINSPATIALSTRUCTURE,4,true],["HasCoverings",IFCRELCOVERSBLDGELEMENTS,4,true],["HasPorts",IFCRELCONNECTSPORTTOELEMENT,5,true],["HasControlElements",IFCRELFLOWCONTROLELEMENTS,5,true]],2272882330:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDeclaredBy",IFCRELDEFINESBYOBJECT,4,true],["Declares",IFCRELDEFINESBYOBJECT,5,true],["IsTypedBy",IFCRELDEFINESBYTYPE,4,true],["IsDefinedBy",IFCRELDEFINESBYPROPERTIES,4,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true],["FillsVoids",IFCRELFILLSELEMENT,5,true],["ConnectedTo",IFCRELCONNECTSELEMENTS,5,true],["IsInterferedByElements",IFCRELINTERFERESELEMENTS,5,true],["InterferesElements",IFCRELINTERFERESELEMENTS,4,true],["HasProjections",IFCRELPROJECTSELEMENT,4,true],["ReferencedInStructures",IFCRELREFERENCEDINSPATIALSTRUCTURE,4,true],["HasOpenings",IFCRELVOIDSELEMENT,4,true],["IsConnectionRealization",IFCRELCONNECTSWITHREALIZINGELEMENTS,7,true],["ProvidesBoundaries",IFCRELSPACEBOUNDARY,5,true],["ConnectedFrom",IFCRELCONNECTSELEMENTS,6,true],["ContainedInStructure",IFCRELCONTAINEDINSPATIALSTRUCTURE,4,true],["HasCoverings",IFCRELCOVERSBLDGELEMENTS,4,true],["HasPorts",IFCRELCONNECTSPORTTOELEMENT,5,true],["HasControlElements",IFCRELFLOWCONTROLELEMENTS,5,true]],578613899:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["Types",IFCRELDEFINESBYTYPE,5,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true]],4136498852:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDeclaredBy",IFCRELDEFINESBYOBJECT,4,true],["Declares",IFCRELDEFINESBYOBJECT,5,true],["IsTypedBy",IFCRELDEFINESBYTYPE,4,true],["IsDefinedBy",IFCRELDEFINESBYPROPERTIES,4,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true],["FillsVoids",IFCRELFILLSELEMENT,5,true],["ConnectedTo",IFCRELCONNECTSELEMENTS,5,true],["IsInterferedByElements",IFCRELINTERFERESELEMENTS,5,true],["InterferesElements",IFCRELINTERFERESELEMENTS,4,true],["HasProjections",IFCRELPROJECTSELEMENT,4,true],["ReferencedInStructures",IFCRELREFERENCEDINSPATIALSTRUCTURE,4,true],["HasOpenings",IFCRELVOIDSELEMENT,4,true],["IsConnectionRealization",IFCRELCONNECTSWITHREALIZINGELEMENTS,7,true],["ProvidesBoundaries",IFCRELSPACEBOUNDARY,5,true],["ConnectedFrom",IFCRELCONNECTSELEMENTS,6,true],["ContainedInStructure",IFCRELCONTAINEDINSPATIALSTRUCTURE,4,true],["HasCoverings",IFCRELCOVERSBLDGELEMENTS,4,true],["HasPorts",IFCRELCONNECTSPORTTOELEMENT,5,true],["HasControlElements",IFCRELFLOWCONTROLELEMENTS,5,true]],3640358203:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDeclaredBy",IFCRELDEFINESBYOBJECT,4,true],["Declares",IFCRELDEFINESBYOBJECT,5,true],["IsTypedBy",IFCRELDEFINESBYTYPE,4,true],["IsDefinedBy",IFCRELDEFINESBYPROPERTIES,4,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true],["FillsVoids",IFCRELFILLSELEMENT,5,true],["ConnectedTo",IFCRELCONNECTSELEMENTS,5,true],["IsInterferedByElements",IFCRELINTERFERESELEMENTS,5,true],["InterferesElements",IFCRELINTERFERESELEMENTS,4,true],["HasProjections",IFCRELPROJECTSELEMENT,4,true],["ReferencedInStructures",IFCRELREFERENCEDINSPATIALSTRUCTURE,4,true],["HasOpenings",IFCRELVOIDSELEMENT,4,true],["IsConnectionRealization",IFCRELCONNECTSWITHREALIZINGELEMENTS,7,true],["ProvidesBoundaries",IFCRELSPACEBOUNDARY,5,true],["ConnectedFrom",IFCRELCONNECTSELEMENTS,6,true],["ContainedInStructure",IFCRELCONTAINEDINSPATIALSTRUCTURE,4,true],["HasCoverings",IFCRELCOVERSBLDGELEMENTS,4,true],["HasPorts",IFCRELCONNECTSPORTTOELEMENT,5,true],["HasControlElements",IFCRELFLOWCONTROLELEMENTS,5,true]],4074379575:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDeclaredBy",IFCRELDEFINESBYOBJECT,4,true],["Declares",IFCRELDEFINESBYOBJECT,5,true],["IsTypedBy",IFCRELDEFINESBYTYPE,4,true],["IsDefinedBy",IFCRELDEFINESBYPROPERTIES,4,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true],["FillsVoids",IFCRELFILLSELEMENT,5,true],["ConnectedTo",IFCRELCONNECTSELEMENTS,5,true],["IsInterferedByElements",IFCRELINTERFERESELEMENTS,5,true],["InterferesElements",IFCRELINTERFERESELEMENTS,4,true],["HasProjections",IFCRELPROJECTSELEMENT,4,true],["ReferencedInStructures",IFCRELREFERENCEDINSPATIALSTRUCTURE,4,true],["HasOpenings",IFCRELVOIDSELEMENT,4,true],["IsConnectionRealization",IFCRELCONNECTSWITHREALIZINGELEMENTS,7,true],["ProvidesBoundaries",IFCRELSPACEBOUNDARY,5,true],["ConnectedFrom",IFCRELCONNECTSELEMENTS,6,true],["ContainedInStructure",IFCRELCONTAINEDINSPATIALSTRUCTURE,4,true],["HasCoverings",IFCRELCOVERSBLDGELEMENTS,4,true],["HasPorts",IFCRELCONNECTSPORTTOELEMENT,5,true],["HasControlElements",IFCRELFLOWCONTROLELEMENTS,5,true]],1052013943:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDeclaredBy",IFCRELDEFINESBYOBJECT,4,true],["Declares",IFCRELDEFINESBYOBJECT,5,true],["IsTypedBy",IFCRELDEFINESBYTYPE,4,true],["IsDefinedBy",IFCRELDEFINESBYPROPERTIES,4,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true],["FillsVoids",IFCRELFILLSELEMENT,5,true],["ConnectedTo",IFCRELCONNECTSELEMENTS,5,true],["IsInterferedByElements",IFCRELINTERFERESELEMENTS,5,true],["InterferesElements",IFCRELINTERFERESELEMENTS,4,true],["HasProjections",IFCRELPROJECTSELEMENT,4,true],["ReferencedInStructures",IFCRELREFERENCEDINSPATIALSTRUCTURE,4,true],["HasOpenings",IFCRELVOIDSELEMENT,4,true],["IsConnectionRealization",IFCRELCONNECTSWITHREALIZINGELEMENTS,7,true],["ProvidesBoundaries",IFCRELSPACEBOUNDARY,5,true],["ConnectedFrom",IFCRELCONNECTSELEMENTS,6,true],["ContainedInStructure",IFCRELCONTAINEDINSPATIALSTRUCTURE,4,true],["HasCoverings",IFCRELCOVERSBLDGELEMENTS,4,true],["HasPorts",IFCRELCONNECTSPORTTOELEMENT,5,true],["HasControlElements",IFCRELFLOWCONTROLELEMENTS,5,true]],562808652:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDeclaredBy",IFCRELDEFINESBYOBJECT,4,true],["Declares",IFCRELDEFINESBYOBJECT,5,true],["IsTypedBy",IFCRELDEFINESBYTYPE,4,true],["IsDefinedBy",IFCRELDEFINESBYPROPERTIES,4,true],["IsGroupedBy",IFCRELASSIGNSTOGROUP,6,true],["ServicesBuildings",IFCRELSERVICESBUILDINGS,4,true]],1062813311:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDeclaredBy",IFCRELDEFINESBYOBJECT,4,true],["Declares",IFCRELDEFINESBYOBJECT,5,true],["IsTypedBy",IFCRELDEFINESBYTYPE,4,true],["IsDefinedBy",IFCRELDEFINESBYPROPERTIES,4,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true],["FillsVoids",IFCRELFILLSELEMENT,5,true],["ConnectedTo",IFCRELCONNECTSELEMENTS,5,true],["IsInterferedByElements",IFCRELINTERFERESELEMENTS,5,true],["InterferesElements",IFCRELINTERFERESELEMENTS,4,true],["HasProjections",IFCRELPROJECTSELEMENT,4,true],["ReferencedInStructures",IFCRELREFERENCEDINSPATIALSTRUCTURE,4,true],["HasOpenings",IFCRELVOIDSELEMENT,4,true],["IsConnectionRealization",IFCRELCONNECTSWITHREALIZINGELEMENTS,7,true],["ProvidesBoundaries",IFCRELSPACEBOUNDARY,5,true],["ConnectedFrom",IFCRELCONNECTSELEMENTS,6,true],["ContainedInStructure",IFCRELCONTAINEDINSPATIALSTRUCTURE,4,true],["HasCoverings",IFCRELCOVERSBLDGELEMENTS,4,true],["HasPorts",IFCRELCONNECTSPORTTOELEMENT,5,true],["AssignedToFlowElement",IFCRELFLOWCONTROLELEMENTS,4,true]],342316401:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDeclaredBy",IFCRELDEFINESBYOBJECT,4,true],["Declares",IFCRELDEFINESBYOBJECT,5,true],["IsTypedBy",IFCRELDEFINESBYTYPE,4,true],["IsDefinedBy",IFCRELDEFINESBYPROPERTIES,4,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true],["FillsVoids",IFCRELFILLSELEMENT,5,true],["ConnectedTo",IFCRELCONNECTSELEMENTS,5,true],["IsInterferedByElements",IFCRELINTERFERESELEMENTS,5,true],["InterferesElements",IFCRELINTERFERESELEMENTS,4,true],["HasProjections",IFCRELPROJECTSELEMENT,4,true],["ReferencedInStructures",IFCRELREFERENCEDINSPATIALSTRUCTURE,4,true],["HasOpenings",IFCRELVOIDSELEMENT,4,true],["IsConnectionRealization",IFCRELCONNECTSWITHREALIZINGELEMENTS,7,true],["ProvidesBoundaries",IFCRELSPACEBOUNDARY,5,true],["ConnectedFrom",IFCRELCONNECTSELEMENTS,6,true],["ContainedInStructure",IFCRELCONTAINEDINSPATIALSTRUCTURE,4,true],["HasCoverings",IFCRELCOVERSBLDGELEMENTS,4,true],["HasPorts",IFCRELCONNECTSPORTTOELEMENT,5,true],["HasControlElements",IFCRELFLOWCONTROLELEMENTS,5,true]],3518393246:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDeclaredBy",IFCRELDEFINESBYOBJECT,4,true],["Declares",IFCRELDEFINESBYOBJECT,5,true],["IsTypedBy",IFCRELDEFINESBYTYPE,4,true],["IsDefinedBy",IFCRELDEFINESBYPROPERTIES,4,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true],["FillsVoids",IFCRELFILLSELEMENT,5,true],["ConnectedTo",IFCRELCONNECTSELEMENTS,5,true],["IsInterferedByElements",IFCRELINTERFERESELEMENTS,5,true],["InterferesElements",IFCRELINTERFERESELEMENTS,4,true],["HasProjections",IFCRELPROJECTSELEMENT,4,true],["ReferencedInStructures",IFCRELREFERENCEDINSPATIALSTRUCTURE,4,true],["HasOpenings",IFCRELVOIDSELEMENT,4,true],["IsConnectionRealization",IFCRELCONNECTSWITHREALIZINGELEMENTS,7,true],["ProvidesBoundaries",IFCRELSPACEBOUNDARY,5,true],["ConnectedFrom",IFCRELCONNECTSELEMENTS,6,true],["ContainedInStructure",IFCRELCONTAINEDINSPATIALSTRUCTURE,4,true],["HasCoverings",IFCRELCOVERSBLDGELEMENTS,4,true],["HasPorts",IFCRELCONNECTSPORTTOELEMENT,5,true],["HasControlElements",IFCRELFLOWCONTROLELEMENTS,5,true]],1360408905:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDeclaredBy",IFCRELDEFINESBYOBJECT,4,true],["Declares",IFCRELDEFINESBYOBJECT,5,true],["IsTypedBy",IFCRELDEFINESBYTYPE,4,true],["IsDefinedBy",IFCRELDEFINESBYPROPERTIES,4,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true],["FillsVoids",IFCRELFILLSELEMENT,5,true],["ConnectedTo",IFCRELCONNECTSELEMENTS,5,true],["IsInterferedByElements",IFCRELINTERFERESELEMENTS,5,true],["InterferesElements",IFCRELINTERFERESELEMENTS,4,true],["HasProjections",IFCRELPROJECTSELEMENT,4,true],["ReferencedInStructures",IFCRELREFERENCEDINSPATIALSTRUCTURE,4,true],["HasOpenings",IFCRELVOIDSELEMENT,4,true],["IsConnectionRealization",IFCRELCONNECTSWITHREALIZINGELEMENTS,7,true],["ProvidesBoundaries",IFCRELSPACEBOUNDARY,5,true],["ConnectedFrom",IFCRELCONNECTSELEMENTS,6,true],["ContainedInStructure",IFCRELCONTAINEDINSPATIALSTRUCTURE,4,true],["HasCoverings",IFCRELCOVERSBLDGELEMENTS,4,true],["HasPorts",IFCRELCONNECTSPORTTOELEMENT,5,true],["HasControlElements",IFCRELFLOWCONTROLELEMENTS,5,true]],1904799276:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDeclaredBy",IFCRELDEFINESBYOBJECT,4,true],["Declares",IFCRELDEFINESBYOBJECT,5,true],["IsTypedBy",IFCRELDEFINESBYTYPE,4,true],["IsDefinedBy",IFCRELDEFINESBYPROPERTIES,4,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true],["FillsVoids",IFCRELFILLSELEMENT,5,true],["ConnectedTo",IFCRELCONNECTSELEMENTS,5,true],["IsInterferedByElements",IFCRELINTERFERESELEMENTS,5,true],["InterferesElements",IFCRELINTERFERESELEMENTS,4,true],["HasProjections",IFCRELPROJECTSELEMENT,4,true],["ReferencedInStructures",IFCRELREFERENCEDINSPATIALSTRUCTURE,4,true],["HasOpenings",IFCRELVOIDSELEMENT,4,true],["IsConnectionRealization",IFCRELCONNECTSWITHREALIZINGELEMENTS,7,true],["ProvidesBoundaries",IFCRELSPACEBOUNDARY,5,true],["ConnectedFrom",IFCRELCONNECTSELEMENTS,6,true],["ContainedInStructure",IFCRELCONTAINEDINSPATIALSTRUCTURE,4,true],["HasCoverings",IFCRELCOVERSBLDGELEMENTS,4,true],["HasPorts",IFCRELCONNECTSPORTTOELEMENT,5,true],["HasControlElements",IFCRELFLOWCONTROLELEMENTS,5,true]],862014818:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDeclaredBy",IFCRELDEFINESBYOBJECT,4,true],["Declares",IFCRELDEFINESBYOBJECT,5,true],["IsTypedBy",IFCRELDEFINESBYTYPE,4,true],["IsDefinedBy",IFCRELDEFINESBYPROPERTIES,4,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true],["FillsVoids",IFCRELFILLSELEMENT,5,true],["ConnectedTo",IFCRELCONNECTSELEMENTS,5,true],["IsInterferedByElements",IFCRELINTERFERESELEMENTS,5,true],["InterferesElements",IFCRELINTERFERESELEMENTS,4,true],["HasProjections",IFCRELPROJECTSELEMENT,4,true],["ReferencedInStructures",IFCRELREFERENCEDINSPATIALSTRUCTURE,4,true],["HasOpenings",IFCRELVOIDSELEMENT,4,true],["IsConnectionRealization",IFCRELCONNECTSWITHREALIZINGELEMENTS,7,true],["ProvidesBoundaries",IFCRELSPACEBOUNDARY,5,true],["ConnectedFrom",IFCRELCONNECTSELEMENTS,6,true],["ContainedInStructure",IFCRELCONTAINEDINSPATIALSTRUCTURE,4,true],["HasCoverings",IFCRELCOVERSBLDGELEMENTS,4,true],["HasPorts",IFCRELCONNECTSPORTTOELEMENT,5,true],["HasControlElements",IFCRELFLOWCONTROLELEMENTS,5,true]],3310460725:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDeclaredBy",IFCRELDEFINESBYOBJECT,4,true],["Declares",IFCRELDEFINESBYOBJECT,5,true],["IsTypedBy",IFCRELDEFINESBYTYPE,4,true],["IsDefinedBy",IFCRELDEFINESBYPROPERTIES,4,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true],["FillsVoids",IFCRELFILLSELEMENT,5,true],["ConnectedTo",IFCRELCONNECTSELEMENTS,5,true],["IsInterferedByElements",IFCRELINTERFERESELEMENTS,5,true],["InterferesElements",IFCRELINTERFERESELEMENTS,4,true],["HasProjections",IFCRELPROJECTSELEMENT,4,true],["ReferencedInStructures",IFCRELREFERENCEDINSPATIALSTRUCTURE,4,true],["HasOpenings",IFCRELVOIDSELEMENT,4,true],["IsConnectionRealization",IFCRELCONNECTSWITHREALIZINGELEMENTS,7,true],["ProvidesBoundaries",IFCRELSPACEBOUNDARY,5,true],["ConnectedFrom",IFCRELCONNECTSELEMENTS,6,true],["ContainedInStructure",IFCRELCONTAINEDINSPATIALSTRUCTURE,4,true],["HasCoverings",IFCRELCOVERSBLDGELEMENTS,4,true],["HasPorts",IFCRELCONNECTSPORTTOELEMENT,5,true],["HasControlElements",IFCRELFLOWCONTROLELEMENTS,5,true]],264262732:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDeclaredBy",IFCRELDEFINESBYOBJECT,4,true],["Declares",IFCRELDEFINESBYOBJECT,5,true],["IsTypedBy",IFCRELDEFINESBYTYPE,4,true],["IsDefinedBy",IFCRELDEFINESBYPROPERTIES,4,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true],["FillsVoids",IFCRELFILLSELEMENT,5,true],["ConnectedTo",IFCRELCONNECTSELEMENTS,5,true],["IsInterferedByElements",IFCRELINTERFERESELEMENTS,5,true],["InterferesElements",IFCRELINTERFERESELEMENTS,4,true],["HasProjections",IFCRELPROJECTSELEMENT,4,true],["ReferencedInStructures",IFCRELREFERENCEDINSPATIALSTRUCTURE,4,true],["HasOpenings",IFCRELVOIDSELEMENT,4,true],["IsConnectionRealization",IFCRELCONNECTSWITHREALIZINGELEMENTS,7,true],["ProvidesBoundaries",IFCRELSPACEBOUNDARY,5,true],["ConnectedFrom",IFCRELCONNECTSELEMENTS,6,true],["ContainedInStructure",IFCRELCONTAINEDINSPATIALSTRUCTURE,4,true],["HasCoverings",IFCRELCOVERSBLDGELEMENTS,4,true],["HasPorts",IFCRELCONNECTSPORTTOELEMENT,5,true],["HasControlElements",IFCRELFLOWCONTROLELEMENTS,5,true]],402227799:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDeclaredBy",IFCRELDEFINESBYOBJECT,4,true],["Declares",IFCRELDEFINESBYOBJECT,5,true],["IsTypedBy",IFCRELDEFINESBYTYPE,4,true],["IsDefinedBy",IFCRELDEFINESBYPROPERTIES,4,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true],["FillsVoids",IFCRELFILLSELEMENT,5,true],["ConnectedTo",IFCRELCONNECTSELEMENTS,5,true],["IsInterferedByElements",IFCRELINTERFERESELEMENTS,5,true],["InterferesElements",IFCRELINTERFERESELEMENTS,4,true],["HasProjections",IFCRELPROJECTSELEMENT,4,true],["ReferencedInStructures",IFCRELREFERENCEDINSPATIALSTRUCTURE,4,true],["HasOpenings",IFCRELVOIDSELEMENT,4,true],["IsConnectionRealization",IFCRELCONNECTSWITHREALIZINGELEMENTS,7,true],["ProvidesBoundaries",IFCRELSPACEBOUNDARY,5,true],["ConnectedFrom",IFCRELCONNECTSELEMENTS,6,true],["ContainedInStructure",IFCRELCONTAINEDINSPATIALSTRUCTURE,4,true],["HasCoverings",IFCRELCOVERSBLDGELEMENTS,4,true],["HasPorts",IFCRELCONNECTSPORTTOELEMENT,5,true],["HasControlElements",IFCRELFLOWCONTROLELEMENTS,5,true]],1003880860:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDeclaredBy",IFCRELDEFINESBYOBJECT,4,true],["Declares",IFCRELDEFINESBYOBJECT,5,true],["IsTypedBy",IFCRELDEFINESBYTYPE,4,true],["IsDefinedBy",IFCRELDEFINESBYPROPERTIES,4,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true],["FillsVoids",IFCRELFILLSELEMENT,5,true],["ConnectedTo",IFCRELCONNECTSELEMENTS,5,true],["IsInterferedByElements",IFCRELINTERFERESELEMENTS,5,true],["InterferesElements",IFCRELINTERFERESELEMENTS,4,true],["HasProjections",IFCRELPROJECTSELEMENT,4,true],["ReferencedInStructures",IFCRELREFERENCEDINSPATIALSTRUCTURE,4,true],["HasOpenings",IFCRELVOIDSELEMENT,4,true],["IsConnectionRealization",IFCRELCONNECTSWITHREALIZINGELEMENTS,7,true],["ProvidesBoundaries",IFCRELSPACEBOUNDARY,5,true],["ConnectedFrom",IFCRELCONNECTSELEMENTS,6,true],["ContainedInStructure",IFCRELCONTAINEDINSPATIALSTRUCTURE,4,true],["HasCoverings",IFCRELCOVERSBLDGELEMENTS,4,true],["HasPorts",IFCRELCONNECTSPORTTOELEMENT,5,true],["HasControlElements",IFCRELFLOWCONTROLELEMENTS,5,true]],3415622556:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDeclaredBy",IFCRELDEFINESBYOBJECT,4,true],["Declares",IFCRELDEFINESBYOBJECT,5,true],["IsTypedBy",IFCRELDEFINESBYTYPE,4,true],["IsDefinedBy",IFCRELDEFINESBYPROPERTIES,4,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true],["FillsVoids",IFCRELFILLSELEMENT,5,true],["ConnectedTo",IFCRELCONNECTSELEMENTS,5,true],["IsInterferedByElements",IFCRELINTERFERESELEMENTS,5,true],["InterferesElements",IFCRELINTERFERESELEMENTS,4,true],["HasProjections",IFCRELPROJECTSELEMENT,4,true],["ReferencedInStructures",IFCRELREFERENCEDINSPATIALSTRUCTURE,4,true],["HasOpenings",IFCRELVOIDSELEMENT,4,true],["IsConnectionRealization",IFCRELCONNECTSWITHREALIZINGELEMENTS,7,true],["ProvidesBoundaries",IFCRELSPACEBOUNDARY,5,true],["ConnectedFrom",IFCRELCONNECTSELEMENTS,6,true],["ContainedInStructure",IFCRELCONTAINEDINSPATIALSTRUCTURE,4,true],["HasCoverings",IFCRELCOVERSBLDGELEMENTS,4,true],["HasPorts",IFCRELCONNECTSPORTTOELEMENT,5,true],["HasControlElements",IFCRELFLOWCONTROLELEMENTS,5,true]],819412036:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDeclaredBy",IFCRELDEFINESBYOBJECT,4,true],["Declares",IFCRELDEFINESBYOBJECT,5,true],["IsTypedBy",IFCRELDEFINESBYTYPE,4,true],["IsDefinedBy",IFCRELDEFINESBYPROPERTIES,4,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true],["FillsVoids",IFCRELFILLSELEMENT,5,true],["ConnectedTo",IFCRELCONNECTSELEMENTS,5,true],["IsInterferedByElements",IFCRELINTERFERESELEMENTS,5,true],["InterferesElements",IFCRELINTERFERESELEMENTS,4,true],["HasProjections",IFCRELPROJECTSELEMENT,4,true],["ReferencedInStructures",IFCRELREFERENCEDINSPATIALSTRUCTURE,4,true],["HasOpenings",IFCRELVOIDSELEMENT,4,true],["IsConnectionRealization",IFCRELCONNECTSWITHREALIZINGELEMENTS,7,true],["ProvidesBoundaries",IFCRELSPACEBOUNDARY,5,true],["ConnectedFrom",IFCRELCONNECTSELEMENTS,6,true],["ContainedInStructure",IFCRELCONTAINEDINSPATIALSTRUCTURE,4,true],["HasCoverings",IFCRELCOVERSBLDGELEMENTS,4,true],["HasPorts",IFCRELCONNECTSPORTTOELEMENT,5,true],["HasControlElements",IFCRELFLOWCONTROLELEMENTS,5,true]],1426591983:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDeclaredBy",IFCRELDEFINESBYOBJECT,4,true],["Declares",IFCRELDEFINESBYOBJECT,5,true],["IsTypedBy",IFCRELDEFINESBYTYPE,4,true],["IsDefinedBy",IFCRELDEFINESBYPROPERTIES,4,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true],["FillsVoids",IFCRELFILLSELEMENT,5,true],["ConnectedTo",IFCRELCONNECTSELEMENTS,5,true],["IsInterferedByElements",IFCRELINTERFERESELEMENTS,5,true],["InterferesElements",IFCRELINTERFERESELEMENTS,4,true],["HasProjections",IFCRELPROJECTSELEMENT,4,true],["ReferencedInStructures",IFCRELREFERENCEDINSPATIALSTRUCTURE,4,true],["HasOpenings",IFCRELVOIDSELEMENT,4,true],["IsConnectionRealization",IFCRELCONNECTSWITHREALIZINGELEMENTS,7,true],["ProvidesBoundaries",IFCRELSPACEBOUNDARY,5,true],["ConnectedFrom",IFCRELCONNECTSELEMENTS,6,true],["ContainedInStructure",IFCRELCONTAINEDINSPATIALSTRUCTURE,4,true],["HasCoverings",IFCRELCOVERSBLDGELEMENTS,4,true],["HasPorts",IFCRELCONNECTSPORTTOELEMENT,5,true],["HasControlElements",IFCRELFLOWCONTROLELEMENTS,5,true]],182646315:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDeclaredBy",IFCRELDEFINESBYOBJECT,4,true],["Declares",IFCRELDEFINESBYOBJECT,5,true],["IsTypedBy",IFCRELDEFINESBYTYPE,4,true],["IsDefinedBy",IFCRELDEFINESBYPROPERTIES,4,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true],["FillsVoids",IFCRELFILLSELEMENT,5,true],["ConnectedTo",IFCRELCONNECTSELEMENTS,5,true],["IsInterferedByElements",IFCRELINTERFERESELEMENTS,5,true],["InterferesElements",IFCRELINTERFERESELEMENTS,4,true],["HasProjections",IFCRELPROJECTSELEMENT,4,true],["ReferencedInStructures",IFCRELREFERENCEDINSPATIALSTRUCTURE,4,true],["HasOpenings",IFCRELVOIDSELEMENT,4,true],["IsConnectionRealization",IFCRELCONNECTSWITHREALIZINGELEMENTS,7,true],["ProvidesBoundaries",IFCRELSPACEBOUNDARY,5,true],["ConnectedFrom",IFCRELCONNECTSELEMENTS,6,true],["ContainedInStructure",IFCRELCONTAINEDINSPATIALSTRUCTURE,4,true],["HasCoverings",IFCRELCOVERSBLDGELEMENTS,4,true],["HasPorts",IFCRELCONNECTSPORTTOELEMENT,5,true],["AssignedToFlowElement",IFCRELFLOWCONTROLELEMENTS,4,true]],2295281155:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDeclaredBy",IFCRELDEFINESBYOBJECT,4,true],["Declares",IFCRELDEFINESBYOBJECT,5,true],["IsTypedBy",IFCRELDEFINESBYTYPE,4,true],["IsDefinedBy",IFCRELDEFINESBYPROPERTIES,4,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true],["FillsVoids",IFCRELFILLSELEMENT,5,true],["ConnectedTo",IFCRELCONNECTSELEMENTS,5,true],["IsInterferedByElements",IFCRELINTERFERESELEMENTS,5,true],["InterferesElements",IFCRELINTERFERESELEMENTS,4,true],["HasProjections",IFCRELPROJECTSELEMENT,4,true],["ReferencedInStructures",IFCRELREFERENCEDINSPATIALSTRUCTURE,4,true],["HasOpenings",IFCRELVOIDSELEMENT,4,true],["IsConnectionRealization",IFCRELCONNECTSWITHREALIZINGELEMENTS,7,true],["ProvidesBoundaries",IFCRELSPACEBOUNDARY,5,true],["ConnectedFrom",IFCRELCONNECTSELEMENTS,6,true],["ContainedInStructure",IFCRELCONTAINEDINSPATIALSTRUCTURE,4,true],["HasCoverings",IFCRELCOVERSBLDGELEMENTS,4,true],["HasPorts",IFCRELCONNECTSPORTTOELEMENT,5,true],["AssignedToFlowElement",IFCRELFLOWCONTROLELEMENTS,4,true]],4086658281:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDeclaredBy",IFCRELDEFINESBYOBJECT,4,true],["Declares",IFCRELDEFINESBYOBJECT,5,true],["IsTypedBy",IFCRELDEFINESBYTYPE,4,true],["IsDefinedBy",IFCRELDEFINESBYPROPERTIES,4,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true],["FillsVoids",IFCRELFILLSELEMENT,5,true],["ConnectedTo",IFCRELCONNECTSELEMENTS,5,true],["IsInterferedByElements",IFCRELINTERFERESELEMENTS,5,true],["InterferesElements",IFCRELINTERFERESELEMENTS,4,true],["HasProjections",IFCRELPROJECTSELEMENT,4,true],["ReferencedInStructures",IFCRELREFERENCEDINSPATIALSTRUCTURE,4,true],["HasOpenings",IFCRELVOIDSELEMENT,4,true],["IsConnectionRealization",IFCRELCONNECTSWITHREALIZINGELEMENTS,7,true],["ProvidesBoundaries",IFCRELSPACEBOUNDARY,5,true],["ConnectedFrom",IFCRELCONNECTSELEMENTS,6,true],["ContainedInStructure",IFCRELCONTAINEDINSPATIALSTRUCTURE,4,true],["HasCoverings",IFCRELCOVERSBLDGELEMENTS,4,true],["HasPorts",IFCRELCONNECTSPORTTOELEMENT,5,true],["AssignedToFlowElement",IFCRELFLOWCONTROLELEMENTS,4,true]],630975310:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDeclaredBy",IFCRELDEFINESBYOBJECT,4,true],["Declares",IFCRELDEFINESBYOBJECT,5,true],["IsTypedBy",IFCRELDEFINESBYTYPE,4,true],["IsDefinedBy",IFCRELDEFINESBYPROPERTIES,4,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true],["FillsVoids",IFCRELFILLSELEMENT,5,true],["ConnectedTo",IFCRELCONNECTSELEMENTS,5,true],["IsInterferedByElements",IFCRELINTERFERESELEMENTS,5,true],["InterferesElements",IFCRELINTERFERESELEMENTS,4,true],["HasProjections",IFCRELPROJECTSELEMENT,4,true],["ReferencedInStructures",IFCRELREFERENCEDINSPATIALSTRUCTURE,4,true],["HasOpenings",IFCRELVOIDSELEMENT,4,true],["IsConnectionRealization",IFCRELCONNECTSWITHREALIZINGELEMENTS,7,true],["ProvidesBoundaries",IFCRELSPACEBOUNDARY,5,true],["ConnectedFrom",IFCRELCONNECTSELEMENTS,6,true],["ContainedInStructure",IFCRELCONTAINEDINSPATIALSTRUCTURE,4,true],["HasCoverings",IFCRELCOVERSBLDGELEMENTS,4,true],["HasPorts",IFCRELCONNECTSPORTTOELEMENT,5,true],["AssignedToFlowElement",IFCRELFLOWCONTROLELEMENTS,4,true]],4288193352:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDeclaredBy",IFCRELDEFINESBYOBJECT,4,true],["Declares",IFCRELDEFINESBYOBJECT,5,true],["IsTypedBy",IFCRELDEFINESBYTYPE,4,true],["IsDefinedBy",IFCRELDEFINESBYPROPERTIES,4,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true],["FillsVoids",IFCRELFILLSELEMENT,5,true],["ConnectedTo",IFCRELCONNECTSELEMENTS,5,true],["IsInterferedByElements",IFCRELINTERFERESELEMENTS,5,true],["InterferesElements",IFCRELINTERFERESELEMENTS,4,true],["HasProjections",IFCRELPROJECTSELEMENT,4,true],["ReferencedInStructures",IFCRELREFERENCEDINSPATIALSTRUCTURE,4,true],["HasOpenings",IFCRELVOIDSELEMENT,4,true],["IsConnectionRealization",IFCRELCONNECTSWITHREALIZINGELEMENTS,7,true],["ProvidesBoundaries",IFCRELSPACEBOUNDARY,5,true],["ConnectedFrom",IFCRELCONNECTSELEMENTS,6,true],["ContainedInStructure",IFCRELCONTAINEDINSPATIALSTRUCTURE,4,true],["HasCoverings",IFCRELCOVERSBLDGELEMENTS,4,true],["HasPorts",IFCRELCONNECTSPORTTOELEMENT,5,true],["AssignedToFlowElement",IFCRELFLOWCONTROLELEMENTS,4,true]],3087945054:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDeclaredBy",IFCRELDEFINESBYOBJECT,4,true],["Declares",IFCRELDEFINESBYOBJECT,5,true],["IsTypedBy",IFCRELDEFINESBYTYPE,4,true],["IsDefinedBy",IFCRELDEFINESBYPROPERTIES,4,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true],["FillsVoids",IFCRELFILLSELEMENT,5,true],["ConnectedTo",IFCRELCONNECTSELEMENTS,5,true],["IsInterferedByElements",IFCRELINTERFERESELEMENTS,5,true],["InterferesElements",IFCRELINTERFERESELEMENTS,4,true],["HasProjections",IFCRELPROJECTSELEMENT,4,true],["ReferencedInStructures",IFCRELREFERENCEDINSPATIALSTRUCTURE,4,true],["HasOpenings",IFCRELVOIDSELEMENT,4,true],["IsConnectionRealization",IFCRELCONNECTSWITHREALIZINGELEMENTS,7,true],["ProvidesBoundaries",IFCRELSPACEBOUNDARY,5,true],["ConnectedFrom",IFCRELCONNECTSELEMENTS,6,true],["ContainedInStructure",IFCRELCONTAINEDINSPATIALSTRUCTURE,4,true],["HasCoverings",IFCRELCOVERSBLDGELEMENTS,4,true],["HasPorts",IFCRELCONNECTSPORTTOELEMENT,5,true],["AssignedToFlowElement",IFCRELFLOWCONTROLELEMENTS,4,true]],25142252:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDeclaredBy",IFCRELDEFINESBYOBJECT,4,true],["Declares",IFCRELDEFINESBYOBJECT,5,true],["IsTypedBy",IFCRELDEFINESBYTYPE,4,true],["IsDefinedBy",IFCRELDEFINESBYPROPERTIES,4,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true],["FillsVoids",IFCRELFILLSELEMENT,5,true],["ConnectedTo",IFCRELCONNECTSELEMENTS,5,true],["IsInterferedByElements",IFCRELINTERFERESELEMENTS,5,true],["InterferesElements",IFCRELINTERFERESELEMENTS,4,true],["HasProjections",IFCRELPROJECTSELEMENT,4,true],["ReferencedInStructures",IFCRELREFERENCEDINSPATIALSTRUCTURE,4,true],["HasOpenings",IFCRELVOIDSELEMENT,4,true],["IsConnectionRealization",IFCRELCONNECTSWITHREALIZINGELEMENTS,7,true],["ProvidesBoundaries",IFCRELSPACEBOUNDARY,5,true],["ConnectedFrom",IFCRELCONNECTSELEMENTS,6,true],["ContainedInStructure",IFCRELCONTAINEDINSPATIALSTRUCTURE,4,true],["HasCoverings",IFCRELCOVERSBLDGELEMENTS,4,true],["HasPorts",IFCRELCONNECTSPORTTOELEMENT,5,true],["AssignedToFlowElement",IFCRELFLOWCONTROLELEMENTS,4,true]]};Constructors[2]={3630933823:function _(ID,a){return new IFC4.IfcActorRole(ID,a[0],a[1],a[2]);},618182010:function _(ID,a){return new IFC4.IfcAddress(ID,a[0],a[1],a[2]);},639542469:function _(ID,a){return new IFC4.IfcApplication(ID,a[0],a[1],a[2],a[3]);},411424972:function _(ID,a){return new IFC4.IfcAppliedValue(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9]);},130549933:function _(ID,a){return new IFC4.IfcApproval(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8]);},4037036970:function _(ID,a){return new IFC4.IfcBoundaryCondition(ID,a[0]);},1560379544:function _(ID,a){return new IFC4.IfcBoundaryEdgeCondition(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6]);},3367102660:function _(ID,a){return new IFC4.IfcBoundaryFaceCondition(ID,a[0],a[1],a[2],a[3]);},1387855156:function _(ID,a){return new IFC4.IfcBoundaryNodeCondition(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6]);},2069777674:function _(ID,a){return new IFC4.IfcBoundaryNodeConditionWarping(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7]);},2859738748:function _(ID,_65){return new IFC4.IfcConnectionGeometry(ID);},2614616156:function _(ID,a){return new IFC4.IfcConnectionPointGeometry(ID,a[0],a[1]);},2732653382:function _(ID,a){return new IFC4.IfcConnectionSurfaceGeometry(ID,a[0],a[1]);},775493141:function _(ID,a){return new IFC4.IfcConnectionVolumeGeometry(ID,a[0],a[1]);},1959218052:function _(ID,a){return new IFC4.IfcConstraint(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6]);},1785450214:function _(ID,a){return new IFC4.IfcCoordinateOperation(ID,a[0],a[1]);},1466758467:function _(ID,a){return new IFC4.IfcCoordinateReferenceSystem(ID,a[0],a[1],a[2],a[3]);},602808272:function _(ID,a){return new IFC4.IfcCostValue(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9]);},1765591967:function _(ID,a){return new IFC4.IfcDerivedUnit(ID,a[0],a[1],a[2]);},1045800335:function _(ID,a){return new IFC4.IfcDerivedUnitElement(ID,a[0],a[1]);},2949456006:function _(ID,a){return new IFC4.IfcDimensionalExponents(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6]);},4294318154:function _(ID,_66){return new IFC4.IfcExternalInformation(ID);},3200245327:function _(ID,a){return new IFC4.IfcExternalReference(ID,a[0],a[1],a[2]);},2242383968:function _(ID,a){return new IFC4.IfcExternallyDefinedHatchStyle(ID,a[0],a[1],a[2]);},1040185647:function _(ID,a){return new IFC4.IfcExternallyDefinedSurfaceStyle(ID,a[0],a[1],a[2]);},3548104201:function _(ID,a){return new IFC4.IfcExternallyDefinedTextFont(ID,a[0],a[1],a[2]);},852622518:function _(ID,a){return new IFC4.IfcGridAxis(ID,a[0],a[1],a[2]);},3020489413:function _(ID,a){return new IFC4.IfcIrregularTimeSeriesValue(ID,a[0],a[1]);},2655187982:function _(ID,a){return new IFC4.IfcLibraryInformation(ID,a[0],a[1],a[2],a[3],a[4],a[5]);},3452421091:function _(ID,a){return new IFC4.IfcLibraryReference(ID,a[0],a[1],a[2],a[3],a[4],a[5]);},4162380809:function _(ID,a){return new IFC4.IfcLightDistributionData(ID,a[0],a[1],a[2]);},1566485204:function _(ID,a){return new IFC4.IfcLightIntensityDistribution(ID,a[0],a[1]);},3057273783:function _(ID,a){return new IFC4.IfcMapConversion(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7]);},1847130766:function _(ID,a){return new IFC4.IfcMaterialClassificationRelationship(ID,a[0],a[1]);},760658860:function _(ID,_67){return new IFC4.IfcMaterialDefinition(ID);},248100487:function _(ID,a){return new IFC4.IfcMaterialLayer(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6]);},3303938423:function _(ID,a){return new IFC4.IfcMaterialLayerSet(ID,a[0],a[1],a[2]);},1847252529:function _(ID,a){return new IFC4.IfcMaterialLayerWithOffsets(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8]);},2199411900:function _(ID,a){return new IFC4.IfcMaterialList(ID,a[0]);},2235152071:function _(ID,a){return new IFC4.IfcMaterialProfile(ID,a[0],a[1],a[2],a[3],a[4],a[5]);},164193824:function _(ID,a){return new IFC4.IfcMaterialProfileSet(ID,a[0],a[1],a[2],a[3]);},552965576:function _(ID,a){return new IFC4.IfcMaterialProfileWithOffsets(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6]);},1507914824:function _(ID,_68){return new IFC4.IfcMaterialUsageDefinition(ID);},2597039031:function _(ID,a){return new IFC4.IfcMeasureWithUnit(ID,a[0],a[1]);},3368373690:function _(ID,a){return new IFC4.IfcMetric(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9],a[10]);},2706619895:function _(ID,a){return new IFC4.IfcMonetaryUnit(ID,a[0]);},1918398963:function _(ID,a){return new IFC4.IfcNamedUnit(ID,a[0],a[1]);},3701648758:function _(ID,_69){return new IFC4.IfcObjectPlacement(ID);},2251480897:function _(ID,a){return new IFC4.IfcObjective(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9],a[10]);},4251960020:function _(ID,a){return new IFC4.IfcOrganization(ID,a[0],a[1],a[2],a[3],a[4]);},1207048766:function _(ID,a){return new IFC4.IfcOwnerHistory(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7]);},2077209135:function _(ID,a){return new IFC4.IfcPerson(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7]);},101040310:function _(ID,a){return new IFC4.IfcPersonAndOrganization(ID,a[0],a[1],a[2]);},2483315170:function _(ID,a){return new IFC4.IfcPhysicalQuantity(ID,a[0],a[1]);},2226359599:function _(ID,a){return new IFC4.IfcPhysicalSimpleQuantity(ID,a[0],a[1],a[2]);},3355820592:function _(ID,a){return new IFC4.IfcPostalAddress(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9]);},677532197:function _(ID,_70){return new IFC4.IfcPresentationItem(ID);},2022622350:function _(ID,a){return new IFC4.IfcPresentationLayerAssignment(ID,a[0],a[1],a[2],a[3]);},1304840413:function _(ID,a){return new IFC4.IfcPresentationLayerWithStyle(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7]);},3119450353:function _(ID,a){return new IFC4.IfcPresentationStyle(ID,a[0]);},2417041796:function _(ID,a){return new IFC4.IfcPresentationStyleAssignment(ID,a[0]);},2095639259:function _(ID,a){return new IFC4.IfcProductRepresentation(ID,a[0],a[1],a[2]);},3958567839:function _(ID,a){return new IFC4.IfcProfileDef(ID,a[0],a[1]);},3843373140:function _(ID,a){return new IFC4.IfcProjectedCRS(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6]);},986844984:function _(ID,_71){return new IFC4.IfcPropertyAbstraction(ID);},3710013099:function _(ID,a){return new IFC4.IfcPropertyEnumeration(ID,a[0],a[1],a[2]);},2044713172:function _(ID,a){return new IFC4.IfcQuantityArea(ID,a[0],a[1],a[2],a[3],a[4]);},2093928680:function _(ID,a){return new IFC4.IfcQuantityCount(ID,a[0],a[1],a[2],a[3],a[4]);},931644368:function _(ID,a){return new IFC4.IfcQuantityLength(ID,a[0],a[1],a[2],a[3],a[4]);},3252649465:function _(ID,a){return new IFC4.IfcQuantityTime(ID,a[0],a[1],a[2],a[3],a[4]);},2405470396:function _(ID,a){return new IFC4.IfcQuantityVolume(ID,a[0],a[1],a[2],a[3],a[4]);},825690147:function _(ID,a){return new IFC4.IfcQuantityWeight(ID,a[0],a[1],a[2],a[3],a[4]);},3915482550:function _(ID,a){return new IFC4.IfcRecurrencePattern(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7]);},2433181523:function _(ID,a){return new IFC4.IfcReference(ID,a[0],a[1],a[2],a[3],a[4]);},1076942058:function _(ID,a){return new IFC4.IfcRepresentation(ID,a[0],a[1],a[2],a[3]);},3377609919:function _(ID,a){return new IFC4.IfcRepresentationContext(ID,a[0],a[1]);},3008791417:function _(ID,_72){return new IFC4.IfcRepresentationItem(ID);},1660063152:function _(ID,a){return new IFC4.IfcRepresentationMap(ID,a[0],a[1]);},2439245199:function _(ID,a){return new IFC4.IfcResourceLevelRelationship(ID,a[0],a[1]);},2341007311:function _(ID,a){return new IFC4.IfcRoot(ID,a[0],a[1],a[2],a[3]);},448429030:function _(ID,a){return new IFC4.IfcSIUnit(ID,a[0],a[1],a[2]);},1054537805:function _(ID,a){return new IFC4.IfcSchedulingTime(ID,a[0],a[1],a[2]);},867548509:function _(ID,a){return new IFC4.IfcShapeAspect(ID,a[0],a[1],a[2],a[3],a[4]);},3982875396:function _(ID,a){return new IFC4.IfcShapeModel(ID,a[0],a[1],a[2],a[3]);},4240577450:function _(ID,a){return new IFC4.IfcShapeRepresentation(ID,a[0],a[1],a[2],a[3]);},2273995522:function _(ID,a){return new IFC4.IfcStructuralConnectionCondition(ID,a[0]);},2162789131:function _(ID,a){return new IFC4.IfcStructuralLoad(ID,a[0]);},3478079324:function _(ID,a){return new IFC4.IfcStructuralLoadConfiguration(ID,a[0],a[1],a[2]);},609421318:function _(ID,a){return new IFC4.IfcStructuralLoadOrResult(ID,a[0]);},2525727697:function _(ID,a){return new IFC4.IfcStructuralLoadStatic(ID,a[0]);},3408363356:function _(ID,a){return new IFC4.IfcStructuralLoadTemperature(ID,a[0],a[1],a[2],a[3]);},2830218821:function _(ID,a){return new IFC4.IfcStyleModel(ID,a[0],a[1],a[2],a[3]);},3958052878:function _(ID,a){return new IFC4.IfcStyledItem(ID,a[0],a[1],a[2]);},3049322572:function _(ID,a){return new IFC4.IfcStyledRepresentation(ID,a[0],a[1],a[2],a[3]);},2934153892:function _(ID,a){return new IFC4.IfcSurfaceReinforcementArea(ID,a[0],a[1],a[2],a[3]);},1300840506:function _(ID,a){return new IFC4.IfcSurfaceStyle(ID,a[0],a[1],a[2]);},3303107099:function _(ID,a){return new IFC4.IfcSurfaceStyleLighting(ID,a[0],a[1],a[2],a[3]);},1607154358:function _(ID,a){return new IFC4.IfcSurfaceStyleRefraction(ID,a[0],a[1]);},846575682:function _(ID,a){return new IFC4.IfcSurfaceStyleShading(ID,a[0],a[1]);},1351298697:function _(ID,a){return new IFC4.IfcSurfaceStyleWithTextures(ID,a[0]);},626085974:function _(ID,a){return new IFC4.IfcSurfaceTexture(ID,a[0],a[1],a[2],a[3],a[4]);},985171141:function _(ID,a){return new IFC4.IfcTable(ID,a[0],a[1],a[2]);},2043862942:function _(ID,a){return new IFC4.IfcTableColumn(ID,a[0],a[1],a[2],a[3],a[4]);},531007025:function _(ID,a){return new IFC4.IfcTableRow(ID,a[0],a[1]);},1549132990:function _(ID,a){return new IFC4.IfcTaskTime(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9],a[10],a[11],a[12],a[13],a[14],a[15],a[16],a[17],a[18],a[19]);},2771591690:function _(ID,a){return new IFC4.IfcTaskTimeRecurring(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9],a[10],a[11],a[12],a[13],a[14],a[15],a[16],a[17],a[18],a[19],a[20]);},912023232:function _(ID,a){return new IFC4.IfcTelecomAddress(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8]);},1447204868:function _(ID,a){return new IFC4.IfcTextStyle(ID,a[0],a[1],a[2],a[3],a[4]);},2636378356:function _(ID,a){return new IFC4.IfcTextStyleForDefinedFont(ID,a[0],a[1]);},1640371178:function _(ID,a){return new IFC4.IfcTextStyleTextModel(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6]);},280115917:function _(ID,a){return new IFC4.IfcTextureCoordinate(ID,a[0]);},1742049831:function _(ID,a){return new IFC4.IfcTextureCoordinateGenerator(ID,a[0],a[1],a[2]);},2552916305:function _(ID,a){return new IFC4.IfcTextureMap(ID,a[0],a[1],a[2]);},1210645708:function _(ID,a){return new IFC4.IfcTextureVertex(ID,a[0]);},3611470254:function _(ID,a){return new IFC4.IfcTextureVertexList(ID,a[0]);},1199560280:function _(ID,a){return new IFC4.IfcTimePeriod(ID,a[0],a[1]);},3101149627:function _(ID,a){return new IFC4.IfcTimeSeries(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7]);},581633288:function _(ID,a){return new IFC4.IfcTimeSeriesValue(ID,a[0]);},1377556343:function _(ID,_73){return new IFC4.IfcTopologicalRepresentationItem(ID);},1735638870:function _(ID,a){return new IFC4.IfcTopologyRepresentation(ID,a[0],a[1],a[2],a[3]);},180925521:function _(ID,a){return new IFC4.IfcUnitAssignment(ID,a[0]);},2799835756:function _(ID,_74){return new IFC4.IfcVertex(ID);},1907098498:function _(ID,a){return new IFC4.IfcVertexPoint(ID,a[0]);},891718957:function _(ID,a){return new IFC4.IfcVirtualGridIntersection(ID,a[0],a[1]);},1236880293:function _(ID,a){return new IFC4.IfcWorkTime(ID,a[0],a[1],a[2],a[3],a[4],a[5]);},3869604511:function _(ID,a){return new IFC4.IfcApprovalRelationship(ID,a[0],a[1],a[2],a[3]);},3798115385:function _(ID,a){return new IFC4.IfcArbitraryClosedProfileDef(ID,a[0],a[1],a[2]);},1310608509:function _(ID,a){return new IFC4.IfcArbitraryOpenProfileDef(ID,a[0],a[1],a[2]);},2705031697:function _(ID,a){return new IFC4.IfcArbitraryProfileDefWithVoids(ID,a[0],a[1],a[2],a[3]);},616511568:function _(ID,a){return new IFC4.IfcBlobTexture(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6]);},3150382593:function _(ID,a){return new IFC4.IfcCenterLineProfileDef(ID,a[0],a[1],a[2],a[3]);},747523909:function _(ID,a){return new IFC4.IfcClassification(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6]);},647927063:function _(ID,a){return new IFC4.IfcClassificationReference(ID,a[0],a[1],a[2],a[3],a[4],a[5]);},3285139300:function _(ID,a){return new IFC4.IfcColourRgbList(ID,a[0]);},3264961684:function _(ID,a){return new IFC4.IfcColourSpecification(ID,a[0]);},1485152156:function _(ID,a){return new IFC4.IfcCompositeProfileDef(ID,a[0],a[1],a[2],a[3]);},370225590:function _(ID,a){return new IFC4.IfcConnectedFaceSet(ID,a[0]);},1981873012:function _(ID,a){return new IFC4.IfcConnectionCurveGeometry(ID,a[0],a[1]);},45288368:function _(ID,a){return new IFC4.IfcConnectionPointEccentricity(ID,a[0],a[1],a[2],a[3],a[4]);},3050246964:function _(ID,a){return new IFC4.IfcContextDependentUnit(ID,a[0],a[1],a[2]);},2889183280:function _(ID,a){return new IFC4.IfcConversionBasedUnit(ID,a[0],a[1],a[2],a[3]);},2713554722:function _(ID,a){return new IFC4.IfcConversionBasedUnitWithOffset(ID,a[0],a[1],a[2],a[3],a[4]);},539742890:function _(ID,a){return new IFC4.IfcCurrencyRelationship(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6]);},3800577675:function _(ID,a){return new IFC4.IfcCurveStyle(ID,a[0],a[1],a[2],a[3],a[4]);},1105321065:function _(ID,a){return new IFC4.IfcCurveStyleFont(ID,a[0],a[1]);},2367409068:function _(ID,a){return new IFC4.IfcCurveStyleFontAndScaling(ID,a[0],a[1],a[2]);},3510044353:function _(ID,a){return new IFC4.IfcCurveStyleFontPattern(ID,a[0],a[1]);},3632507154:function _(ID,a){return new IFC4.IfcDerivedProfileDef(ID,a[0],a[1],a[2],a[3],a[4]);},1154170062:function _(ID,a){return new IFC4.IfcDocumentInformation(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9],a[10],a[11],a[12],a[13],a[14],a[15],a[16]);},770865208:function _(ID,a){return new IFC4.IfcDocumentInformationRelationship(ID,a[0],a[1],a[2],a[3],a[4]);},3732053477:function _(ID,a){return new IFC4.IfcDocumentReference(ID,a[0],a[1],a[2],a[3],a[4]);},3900360178:function _(ID,a){return new IFC4.IfcEdge(ID,a[0],a[1]);},476780140:function _(ID,a){return new IFC4.IfcEdgeCurve(ID,a[0],a[1],a[2],a[3]);},211053100:function _(ID,a){return new IFC4.IfcEventTime(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6]);},297599258:function _(ID,a){return new IFC4.IfcExtendedProperties(ID,a[0],a[1],a[2]);},1437805879:function _(ID,a){return new IFC4.IfcExternalReferenceRelationship(ID,a[0],a[1],a[2],a[3]);},2556980723:function _(ID,a){return new IFC4.IfcFace(ID,a[0]);},1809719519:function _(ID,a){return new IFC4.IfcFaceBound(ID,a[0],a[1]);},803316827:function _(ID,a){return new IFC4.IfcFaceOuterBound(ID,a[0],a[1]);},3008276851:function _(ID,a){return new IFC4.IfcFaceSurface(ID,a[0],a[1],a[2]);},4219587988:function _(ID,a){return new IFC4.IfcFailureConnectionCondition(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6]);},738692330:function _(ID,a){return new IFC4.IfcFillAreaStyle(ID,a[0],a[1],a[2]);},3448662350:function _(ID,a){return new IFC4.IfcGeometricRepresentationContext(ID,a[0],a[1],a[2],a[3],a[4],a[5]);},2453401579:function _(ID,_75){return new IFC4.IfcGeometricRepresentationItem(ID);},4142052618:function _(ID,a){return new IFC4.IfcGeometricRepresentationSubContext(ID,a[0],a[1],a[2],a[3],a[4],a[5]);},3590301190:function _(ID,a){return new IFC4.IfcGeometricSet(ID,a[0]);},178086475:function _(ID,a){return new IFC4.IfcGridPlacement(ID,a[0],a[1]);},812098782:function _(ID,a){return new IFC4.IfcHalfSpaceSolid(ID,a[0],a[1]);},3905492369:function _(ID,a){return new IFC4.IfcImageTexture(ID,a[0],a[1],a[2],a[3],a[4],a[5]);},3570813810:function _(ID,a){return new IFC4.IfcIndexedColourMap(ID,a[0],a[1],a[2],a[3]);},1437953363:function _(ID,a){return new IFC4.IfcIndexedTextureMap(ID,a[0],a[1],a[2]);},2133299955:function _(ID,a){return new IFC4.IfcIndexedTriangleTextureMap(ID,a[0],a[1],a[2],a[3]);},3741457305:function _(ID,a){return new IFC4.IfcIrregularTimeSeries(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8]);},1585845231:function _(ID,a){return new IFC4.IfcLagTime(ID,a[0],a[1],a[2],a[3],a[4]);},1402838566:function _(ID,a){return new IFC4.IfcLightSource(ID,a[0],a[1],a[2],a[3]);},125510826:function _(ID,a){return new IFC4.IfcLightSourceAmbient(ID,a[0],a[1],a[2],a[3]);},2604431987:function _(ID,a){return new IFC4.IfcLightSourceDirectional(ID,a[0],a[1],a[2],a[3],a[4]);},4266656042:function _(ID,a){return new IFC4.IfcLightSourceGoniometric(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9]);},1520743889:function _(ID,a){return new IFC4.IfcLightSourcePositional(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8]);},3422422726:function _(ID,a){return new IFC4.IfcLightSourceSpot(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9],a[10],a[11],a[12]);},2624227202:function _(ID,a){return new IFC4.IfcLocalPlacement(ID,a[0],a[1]);},1008929658:function _(ID,_76){return new IFC4.IfcLoop(ID);},2347385850:function _(ID,a){return new IFC4.IfcMappedItem(ID,a[0],a[1]);},1838606355:function _(ID,a){return new IFC4.IfcMaterial(ID,a[0],a[1],a[2]);},3708119e3:function _(ID,a){return new IFC4.IfcMaterialConstituent(ID,a[0],a[1],a[2],a[3],a[4]);},2852063980:function _(ID,a){return new IFC4.IfcMaterialConstituentSet(ID,a[0],a[1],a[2]);},2022407955:function _(ID,a){return new IFC4.IfcMaterialDefinitionRepresentation(ID,a[0],a[1],a[2],a[3]);},1303795690:function _(ID,a){return new IFC4.IfcMaterialLayerSetUsage(ID,a[0],a[1],a[2],a[3],a[4]);},3079605661:function _(ID,a){return new IFC4.IfcMaterialProfileSetUsage(ID,a[0],a[1],a[2]);},3404854881:function _(ID,a){return new IFC4.IfcMaterialProfileSetUsageTapering(ID,a[0],a[1],a[2],a[3],a[4]);},3265635763:function _(ID,a){return new IFC4.IfcMaterialProperties(ID,a[0],a[1],a[2],a[3]);},853536259:function _(ID,a){return new IFC4.IfcMaterialRelationship(ID,a[0],a[1],a[2],a[3],a[4]);},2998442950:function _(ID,a){return new IFC4.IfcMirroredProfileDef(ID,a[0],a[1],a[2],a[3]);},219451334:function _(ID,a){return new IFC4.IfcObjectDefinition(ID,a[0],a[1],a[2],a[3]);},2665983363:function _(ID,a){return new IFC4.IfcOpenShell(ID,a[0]);},1411181986:function _(ID,a){return new IFC4.IfcOrganizationRelationship(ID,a[0],a[1],a[2],a[3]);},1029017970:function _(ID,a){return new IFC4.IfcOrientedEdge(ID,a[0],a[1]);},2529465313:function _(ID,a){return new IFC4.IfcParameterizedProfileDef(ID,a[0],a[1],a[2]);},2519244187:function _(ID,a){return new IFC4.IfcPath(ID,a[0]);},3021840470:function _(ID,a){return new IFC4.IfcPhysicalComplexQuantity(ID,a[0],a[1],a[2],a[3],a[4],a[5]);},597895409:function _(ID,a){return new IFC4.IfcPixelTexture(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8]);},2004835150:function _(ID,a){return new IFC4.IfcPlacement(ID,a[0]);},1663979128:function _(ID,a){return new IFC4.IfcPlanarExtent(ID,a[0],a[1]);},2067069095:function _(ID,_77){return new IFC4.IfcPoint(ID);},4022376103:function _(ID,a){return new IFC4.IfcPointOnCurve(ID,a[0],a[1]);},1423911732:function _(ID,a){return new IFC4.IfcPointOnSurface(ID,a[0],a[1],a[2]);},2924175390:function _(ID,a){return new IFC4.IfcPolyLoop(ID,a[0]);},2775532180:function _(ID,a){return new IFC4.IfcPolygonalBoundedHalfSpace(ID,a[0],a[1],a[2],a[3]);},3727388367:function _(ID,a){return new IFC4.IfcPreDefinedItem(ID,a[0]);},3778827333:function _(ID,_78){return new IFC4.IfcPreDefinedProperties(ID);},1775413392:function _(ID,a){return new IFC4.IfcPreDefinedTextFont(ID,a[0]);},673634403:function _(ID,a){return new IFC4.IfcProductDefinitionShape(ID,a[0],a[1],a[2]);},2802850158:function _(ID,a){return new IFC4.IfcProfileProperties(ID,a[0],a[1],a[2],a[3]);},2598011224:function _(ID,a){return new IFC4.IfcProperty(ID,a[0],a[1]);},1680319473:function _(ID,a){return new IFC4.IfcPropertyDefinition(ID,a[0],a[1],a[2],a[3]);},148025276:function _(ID,a){return new IFC4.IfcPropertyDependencyRelationship(ID,a[0],a[1],a[2],a[3],a[4]);},3357820518:function _(ID,a){return new IFC4.IfcPropertySetDefinition(ID,a[0],a[1],a[2],a[3]);},1482703590:function _(ID,a){return new IFC4.IfcPropertyTemplateDefinition(ID,a[0],a[1],a[2],a[3]);},2090586900:function _(ID,a){return new IFC4.IfcQuantitySet(ID,a[0],a[1],a[2],a[3]);},3615266464:function _(ID,a){return new IFC4.IfcRectangleProfileDef(ID,a[0],a[1],a[2],a[3],a[4]);},3413951693:function _(ID,a){return new IFC4.IfcRegularTimeSeries(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9]);},1580146022:function _(ID,a){return new IFC4.IfcReinforcementBarProperties(ID,a[0],a[1],a[2],a[3],a[4],a[5]);},478536968:function _(ID,a){return new IFC4.IfcRelationship(ID,a[0],a[1],a[2],a[3]);},2943643501:function _(ID,a){return new IFC4.IfcResourceApprovalRelationship(ID,a[0],a[1],a[2],a[3]);},1608871552:function _(ID,a){return new IFC4.IfcResourceConstraintRelationship(ID,a[0],a[1],a[2],a[3]);},1042787934:function _(ID,a){return new IFC4.IfcResourceTime(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9],a[10],a[11],a[12],a[13],a[14],a[15],a[16],a[17]);},2778083089:function _(ID,a){return new IFC4.IfcRoundedRectangleProfileDef(ID,a[0],a[1],a[2],a[3],a[4],a[5]);},2042790032:function _(ID,a){return new IFC4.IfcSectionProperties(ID,a[0],a[1],a[2]);},4165799628:function _(ID,a){return new IFC4.IfcSectionReinforcementProperties(ID,a[0],a[1],a[2],a[3],a[4],a[5]);},1509187699:function _(ID,a){return new IFC4.IfcSectionedSpine(ID,a[0],a[1],a[2]);},4124623270:function _(ID,a){return new IFC4.IfcShellBasedSurfaceModel(ID,a[0]);},3692461612:function _(ID,a){return new IFC4.IfcSimpleProperty(ID,a[0],a[1]);},2609359061:function _(ID,a){return new IFC4.IfcSlippageConnectionCondition(ID,a[0],a[1],a[2],a[3]);},723233188:function _(ID,_79){return new IFC4.IfcSolidModel(ID);},1595516126:function _(ID,a){return new IFC4.IfcStructuralLoadLinearForce(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6]);},2668620305:function _(ID,a){return new IFC4.IfcStructuralLoadPlanarForce(ID,a[0],a[1],a[2],a[3]);},2473145415:function _(ID,a){return new IFC4.IfcStructuralLoadSingleDisplacement(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6]);},1973038258:function _(ID,a){return new IFC4.IfcStructuralLoadSingleDisplacementDistortion(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7]);},1597423693:function _(ID,a){return new IFC4.IfcStructuralLoadSingleForce(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6]);},1190533807:function _(ID,a){return new IFC4.IfcStructuralLoadSingleForceWarping(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7]);},2233826070:function _(ID,a){return new IFC4.IfcSubedge(ID,a[0],a[1],a[2]);},2513912981:function _(ID,_80){return new IFC4.IfcSurface(ID);},1878645084:function _(ID,a){return new IFC4.IfcSurfaceStyleRendering(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8]);},2247615214:function _(ID,a){return new IFC4.IfcSweptAreaSolid(ID,a[0],a[1]);},1260650574:function _(ID,a){return new IFC4.IfcSweptDiskSolid(ID,a[0],a[1],a[2],a[3],a[4]);},1096409881:function _(ID,a){return new IFC4.IfcSweptDiskSolidPolygonal(ID,a[0],a[1],a[2],a[3],a[4],a[5]);},230924584:function _(ID,a){return new IFC4.IfcSweptSurface(ID,a[0],a[1]);},3071757647:function _(ID,a){return new IFC4.IfcTShapeProfileDef(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9],a[10],a[11]);},901063453:function _(ID,_81){return new IFC4.IfcTessellatedItem(ID);},4282788508:function _(ID,a){return new IFC4.IfcTextLiteral(ID,a[0],a[1],a[2]);},3124975700:function _(ID,a){return new IFC4.IfcTextLiteralWithExtent(ID,a[0],a[1],a[2],a[3],a[4]);},1983826977:function _(ID,a){return new IFC4.IfcTextStyleFontModel(ID,a[0],a[1],a[2],a[3],a[4],a[5]);},2715220739:function _(ID,a){return new IFC4.IfcTrapeziumProfileDef(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6]);},1628702193:function _(ID,a){return new IFC4.IfcTypeObject(ID,a[0],a[1],a[2],a[3],a[4],a[5]);},3736923433:function _(ID,a){return new IFC4.IfcTypeProcess(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8]);},2347495698:function _(ID,a){return new IFC4.IfcTypeProduct(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7]);},3698973494:function _(ID,a){return new IFC4.IfcTypeResource(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8]);},427810014:function _(ID,a){return new IFC4.IfcUShapeProfileDef(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9]);},1417489154:function _(ID,a){return new IFC4.IfcVector(ID,a[0],a[1]);},2759199220:function _(ID,a){return new IFC4.IfcVertexLoop(ID,a[0]);},1299126871:function _(ID,a){return new IFC4.IfcWindowStyle(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9],a[10],a[11]);},2543172580:function _(ID,a){return new IFC4.IfcZShapeProfileDef(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8]);},3406155212:function _(ID,a){return new IFC4.IfcAdvancedFace(ID,a[0],a[1],a[2]);},669184980:function _(ID,a){return new IFC4.IfcAnnotationFillArea(ID,a[0],a[1]);},3207858831:function _(ID,a){return new IFC4.IfcAsymmetricIShapeProfileDef(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9],a[10],a[11],a[12],a[13],a[14]);},4261334040:function _(ID,a){return new IFC4.IfcAxis1Placement(ID,a[0],a[1]);},3125803723:function _(ID,a){return new IFC4.IfcAxis2Placement2D(ID,a[0],a[1]);},2740243338:function _(ID,a){return new IFC4.IfcAxis2Placement3D(ID,a[0],a[1],a[2]);},2736907675:function _(ID,a){return new IFC4.IfcBooleanResult(ID,a[0],a[1],a[2]);},4182860854:function _(ID,_82){return new IFC4.IfcBoundedSurface(ID);},2581212453:function _(ID,a){return new IFC4.IfcBoundingBox(ID,a[0],a[1],a[2],a[3]);},2713105998:function _(ID,a){return new IFC4.IfcBoxedHalfSpace(ID,a[0],a[1],a[2]);},2898889636:function _(ID,a){return new IFC4.IfcCShapeProfileDef(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7]);},1123145078:function _(ID,a){return new IFC4.IfcCartesianPoint(ID,a[0]);},574549367:function _(ID,_83){return new IFC4.IfcCartesianPointList(ID);},1675464909:function _(ID,a){return new IFC4.IfcCartesianPointList2D(ID,a[0]);},2059837836:function _(ID,a){return new IFC4.IfcCartesianPointList3D(ID,a[0]);},59481748:function _(ID,a){return new IFC4.IfcCartesianTransformationOperator(ID,a[0],a[1],a[2],a[3]);},3749851601:function _(ID,a){return new IFC4.IfcCartesianTransformationOperator2D(ID,a[0],a[1],a[2],a[3]);},3486308946:function _(ID,a){return new IFC4.IfcCartesianTransformationOperator2DnonUniform(ID,a[0],a[1],a[2],a[3],a[4]);},3331915920:function _(ID,a){return new IFC4.IfcCartesianTransformationOperator3D(ID,a[0],a[1],a[2],a[3],a[4]);},1416205885:function _(ID,a){return new IFC4.IfcCartesianTransformationOperator3DnonUniform(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6]);},1383045692:function _(ID,a){return new IFC4.IfcCircleProfileDef(ID,a[0],a[1],a[2],a[3]);},2205249479:function _(ID,a){return new IFC4.IfcClosedShell(ID,a[0]);},776857604:function _(ID,a){return new IFC4.IfcColourRgb(ID,a[0],a[1],a[2],a[3]);},2542286263:function _(ID,a){return new IFC4.IfcComplexProperty(ID,a[0],a[1],a[2],a[3]);},2485617015:function _(ID,a){return new IFC4.IfcCompositeCurveSegment(ID,a[0],a[1],a[2]);},2574617495:function _(ID,a){return new IFC4.IfcConstructionResourceType(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9],a[10]);},3419103109:function _(ID,a){return new IFC4.IfcContext(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8]);},1815067380:function _(ID,a){return new IFC4.IfcCrewResourceType(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9],a[10],a[11]);},2506170314:function _(ID,a){return new IFC4.IfcCsgPrimitive3D(ID,a[0]);},2147822146:function _(ID,a){return new IFC4.IfcCsgSolid(ID,a[0]);},2601014836:function _(ID,_84){return new IFC4.IfcCurve(ID);},2827736869:function _(ID,a){return new IFC4.IfcCurveBoundedPlane(ID,a[0],a[1],a[2]);},2629017746:function _(ID,a){return new IFC4.IfcCurveBoundedSurface(ID,a[0],a[1],a[2]);},32440307:function _(ID,a){return new IFC4.IfcDirection(ID,a[0]);},526551008:function _(ID,a){return new IFC4.IfcDoorStyle(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9],a[10],a[11]);},1472233963:function _(ID,a){return new IFC4.IfcEdgeLoop(ID,a[0]);},1883228015:function _(ID,a){return new IFC4.IfcElementQuantity(ID,a[0],a[1],a[2],a[3],a[4],a[5]);},339256511:function _(ID,a){return new IFC4.IfcElementType(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8]);},2777663545:function _(ID,a){return new IFC4.IfcElementarySurface(ID,a[0]);},2835456948:function _(ID,a){return new IFC4.IfcEllipseProfileDef(ID,a[0],a[1],a[2],a[3],a[4]);},4024345920:function _(ID,a){return new IFC4.IfcEventType(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9],a[10],a[11]);},477187591:function _(ID,a){return new IFC4.IfcExtrudedAreaSolid(ID,a[0],a[1],a[2],a[3]);},2804161546:function _(ID,a){return new IFC4.IfcExtrudedAreaSolidTapered(ID,a[0],a[1],a[2],a[3],a[4]);},2047409740:function _(ID,a){return new IFC4.IfcFaceBasedSurfaceModel(ID,a[0]);},374418227:function _(ID,a){return new IFC4.IfcFillAreaStyleHatching(ID,a[0],a[1],a[2],a[3],a[4]);},315944413:function _(ID,a){return new IFC4.IfcFillAreaStyleTiles(ID,a[0],a[1],a[2]);},2652556860:function _(ID,a){return new IFC4.IfcFixedReferenceSweptAreaSolid(ID,a[0],a[1],a[2],a[3],a[4],a[5]);},4238390223:function _(ID,a){return new IFC4.IfcFurnishingElementType(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8]);},1268542332:function _(ID,a){return new IFC4.IfcFurnitureType(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9],a[10]);},4095422895:function _(ID,a){return new IFC4.IfcGeographicElementType(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9]);},987898635:function _(ID,a){return new IFC4.IfcGeometricCurveSet(ID,a[0]);},1484403080:function _(ID,a){return new IFC4.IfcIShapeProfileDef(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9]);},178912537:function _(ID,a){return new IFC4.IfcIndexedPolygonalFace(ID,a[0]);},2294589976:function _(ID,a){return new IFC4.IfcIndexedPolygonalFaceWithVoids(ID,a[0],a[1]);},572779678:function _(ID,a){return new IFC4.IfcLShapeProfileDef(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8]);},428585644:function _(ID,a){return new IFC4.IfcLaborResourceType(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9],a[10],a[11]);},1281925730:function _(ID,a){return new IFC4.IfcLine(ID,a[0],a[1]);},1425443689:function _(ID,a){return new IFC4.IfcManifoldSolidBrep(ID,a[0]);},3888040117:function _(ID,a){return new IFC4.IfcObject(ID,a[0],a[1],a[2],a[3],a[4]);},3388369263:function _(ID,a){return new IFC4.IfcOffsetCurve2D(ID,a[0],a[1],a[2]);},3505215534:function _(ID,a){return new IFC4.IfcOffsetCurve3D(ID,a[0],a[1],a[2],a[3]);},1682466193:function _(ID,a){return new IFC4.IfcPcurve(ID,a[0],a[1]);},603570806:function _(ID,a){return new IFC4.IfcPlanarBox(ID,a[0],a[1],a[2]);},220341763:function _(ID,a){return new IFC4.IfcPlane(ID,a[0]);},759155922:function _(ID,a){return new IFC4.IfcPreDefinedColour(ID,a[0]);},2559016684:function _(ID,a){return new IFC4.IfcPreDefinedCurveFont(ID,a[0]);},3967405729:function _(ID,a){return new IFC4.IfcPreDefinedPropertySet(ID,a[0],a[1],a[2],a[3]);},569719735:function _(ID,a){return new IFC4.IfcProcedureType(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9]);},2945172077:function _(ID,a){return new IFC4.IfcProcess(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6]);},4208778838:function _(ID,a){return new IFC4.IfcProduct(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6]);},103090709:function _(ID,a){return new IFC4.IfcProject(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8]);},653396225:function _(ID,a){return new IFC4.IfcProjectLibrary(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8]);},871118103:function _(ID,a){return new IFC4.IfcPropertyBoundedValue(ID,a[0],a[1],a[2],a[3],a[4],a[5]);},4166981789:function _(ID,a){return new IFC4.IfcPropertyEnumeratedValue(ID,a[0],a[1],a[2],a[3]);},2752243245:function _(ID,a){return new IFC4.IfcPropertyListValue(ID,a[0],a[1],a[2],a[3]);},941946838:function _(ID,a){return new IFC4.IfcPropertyReferenceValue(ID,a[0],a[1],a[2],a[3]);},1451395588:function _(ID,a){return new IFC4.IfcPropertySet(ID,a[0],a[1],a[2],a[3],a[4]);},492091185:function _(ID,a){return new IFC4.IfcPropertySetTemplate(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6]);},3650150729:function _(ID,a){return new IFC4.IfcPropertySingleValue(ID,a[0],a[1],a[2],a[3]);},110355661:function _(ID,a){return new IFC4.IfcPropertyTableValue(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7]);},3521284610:function _(ID,a){return new IFC4.IfcPropertyTemplate(ID,a[0],a[1],a[2],a[3]);},3219374653:function _(ID,a){return new IFC4.IfcProxy(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8]);},2770003689:function _(ID,a){return new IFC4.IfcRectangleHollowProfileDef(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7]);},2798486643:function _(ID,a){return new IFC4.IfcRectangularPyramid(ID,a[0],a[1],a[2],a[3]);},3454111270:function _(ID,a){return new IFC4.IfcRectangularTrimmedSurface(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6]);},3765753017:function _(ID,a){return new IFC4.IfcReinforcementDefinitionProperties(ID,a[0],a[1],a[2],a[3],a[4],a[5]);},3939117080:function _(ID,a){return new IFC4.IfcRelAssigns(ID,a[0],a[1],a[2],a[3],a[4],a[5]);},1683148259:function _(ID,a){return new IFC4.IfcRelAssignsToActor(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7]);},2495723537:function _(ID,a){return new IFC4.IfcRelAssignsToControl(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6]);},1307041759:function _(ID,a){return new IFC4.IfcRelAssignsToGroup(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6]);},1027710054:function _(ID,a){return new IFC4.IfcRelAssignsToGroupByFactor(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7]);},4278684876:function _(ID,a){return new IFC4.IfcRelAssignsToProcess(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7]);},2857406711:function _(ID,a){return new IFC4.IfcRelAssignsToProduct(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6]);},205026976:function _(ID,a){return new IFC4.IfcRelAssignsToResource(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6]);},1865459582:function _(ID,a){return new IFC4.IfcRelAssociates(ID,a[0],a[1],a[2],a[3],a[4]);},4095574036:function _(ID,a){return new IFC4.IfcRelAssociatesApproval(ID,a[0],a[1],a[2],a[3],a[4],a[5]);},919958153:function _(ID,a){return new IFC4.IfcRelAssociatesClassification(ID,a[0],a[1],a[2],a[3],a[4],a[5]);},2728634034:function _(ID,a){return new IFC4.IfcRelAssociatesConstraint(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6]);},982818633:function _(ID,a){return new IFC4.IfcRelAssociatesDocument(ID,a[0],a[1],a[2],a[3],a[4],a[5]);},3840914261:function _(ID,a){return new IFC4.IfcRelAssociatesLibrary(ID,a[0],a[1],a[2],a[3],a[4],a[5]);},2655215786:function _(ID,a){return new IFC4.IfcRelAssociatesMaterial(ID,a[0],a[1],a[2],a[3],a[4],a[5]);},826625072:function _(ID,a){return new IFC4.IfcRelConnects(ID,a[0],a[1],a[2],a[3]);},1204542856:function _(ID,a){return new IFC4.IfcRelConnectsElements(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6]);},3945020480:function _(ID,a){return new IFC4.IfcRelConnectsPathElements(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9],a[10]);},4201705270:function _(ID,a){return new IFC4.IfcRelConnectsPortToElement(ID,a[0],a[1],a[2],a[3],a[4],a[5]);},3190031847:function _(ID,a){return new IFC4.IfcRelConnectsPorts(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6]);},2127690289:function _(ID,a){return new IFC4.IfcRelConnectsStructuralActivity(ID,a[0],a[1],a[2],a[3],a[4],a[5]);},1638771189:function _(ID,a){return new IFC4.IfcRelConnectsStructuralMember(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9]);},504942748:function _(ID,a){return new IFC4.IfcRelConnectsWithEccentricity(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9],a[10]);},3678494232:function _(ID,a){return new IFC4.IfcRelConnectsWithRealizingElements(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8]);},3242617779:function _(ID,a){return new IFC4.IfcRelContainedInSpatialStructure(ID,a[0],a[1],a[2],a[3],a[4],a[5]);},886880790:function _(ID,a){return new IFC4.IfcRelCoversBldgElements(ID,a[0],a[1],a[2],a[3],a[4],a[5]);},2802773753:function _(ID,a){return new IFC4.IfcRelCoversSpaces(ID,a[0],a[1],a[2],a[3],a[4],a[5]);},2565941209:function _(ID,a){return new IFC4.IfcRelDeclares(ID,a[0],a[1],a[2],a[3],a[4],a[5]);},2551354335:function _(ID,a){return new IFC4.IfcRelDecomposes(ID,a[0],a[1],a[2],a[3]);},693640335:function _(ID,a){return new IFC4.IfcRelDefines(ID,a[0],a[1],a[2],a[3]);},1462361463:function _(ID,a){return new IFC4.IfcRelDefinesByObject(ID,a[0],a[1],a[2],a[3],a[4],a[5]);},4186316022:function _(ID,a){return new IFC4.IfcRelDefinesByProperties(ID,a[0],a[1],a[2],a[3],a[4],a[5]);},307848117:function _(ID,a){return new IFC4.IfcRelDefinesByTemplate(ID,a[0],a[1],a[2],a[3],a[4],a[5]);},781010003:function _(ID,a){return new IFC4.IfcRelDefinesByType(ID,a[0],a[1],a[2],a[3],a[4],a[5]);},3940055652:function _(ID,a){return new IFC4.IfcRelFillsElement(ID,a[0],a[1],a[2],a[3],a[4],a[5]);},279856033:function _(ID,a){return new IFC4.IfcRelFlowControlElements(ID,a[0],a[1],a[2],a[3],a[4],a[5]);},427948657:function _(ID,a){return new IFC4.IfcRelInterferesElements(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8]);},3268803585:function _(ID,a){return new IFC4.IfcRelNests(ID,a[0],a[1],a[2],a[3],a[4],a[5]);},750771296:function _(ID,a){return new IFC4.IfcRelProjectsElement(ID,a[0],a[1],a[2],a[3],a[4],a[5]);},1245217292:function _(ID,a){return new IFC4.IfcRelReferencedInSpatialStructure(ID,a[0],a[1],a[2],a[3],a[4],a[5]);},4122056220:function _(ID,a){return new IFC4.IfcRelSequence(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8]);},366585022:function _(ID,a){return new IFC4.IfcRelServicesBuildings(ID,a[0],a[1],a[2],a[3],a[4],a[5]);},3451746338:function _(ID,a){return new IFC4.IfcRelSpaceBoundary(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8]);},3523091289:function _(ID,a){return new IFC4.IfcRelSpaceBoundary1stLevel(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9]);},1521410863:function _(ID,a){return new IFC4.IfcRelSpaceBoundary2ndLevel(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9],a[10]);},1401173127:function _(ID,a){return new IFC4.IfcRelVoidsElement(ID,a[0],a[1],a[2],a[3],a[4],a[5]);},816062949:function _(ID,a){return new IFC4.IfcReparametrisedCompositeCurveSegment(ID,a[0],a[1],a[2],a[3]);},2914609552:function _(ID,a){return new IFC4.IfcResource(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6]);},1856042241:function _(ID,a){return new IFC4.IfcRevolvedAreaSolid(ID,a[0],a[1],a[2],a[3]);},3243963512:function _(ID,a){return new IFC4.IfcRevolvedAreaSolidTapered(ID,a[0],a[1],a[2],a[3],a[4]);},4158566097:function _(ID,a){return new IFC4.IfcRightCircularCone(ID,a[0],a[1],a[2]);},3626867408:function _(ID,a){return new IFC4.IfcRightCircularCylinder(ID,a[0],a[1],a[2]);},3663146110:function _(ID,a){return new IFC4.IfcSimplePropertyTemplate(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9],a[10],a[11]);},1412071761:function _(ID,a){return new IFC4.IfcSpatialElement(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7]);},710998568:function _(ID,a){return new IFC4.IfcSpatialElementType(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8]);},2706606064:function _(ID,a){return new IFC4.IfcSpatialStructureElement(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8]);},3893378262:function _(ID,a){return new IFC4.IfcSpatialStructureElementType(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8]);},463610769:function _(ID,a){return new IFC4.IfcSpatialZone(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8]);},2481509218:function _(ID,a){return new IFC4.IfcSpatialZoneType(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9],a[10]);},451544542:function _(ID,a){return new IFC4.IfcSphere(ID,a[0],a[1]);},4015995234:function _(ID,a){return new IFC4.IfcSphericalSurface(ID,a[0],a[1]);},3544373492:function _(ID,a){return new IFC4.IfcStructuralActivity(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8]);},3136571912:function _(ID,a){return new IFC4.IfcStructuralItem(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6]);},530289379:function _(ID,a){return new IFC4.IfcStructuralMember(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6]);},3689010777:function _(ID,a){return new IFC4.IfcStructuralReaction(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8]);},3979015343:function _(ID,a){return new IFC4.IfcStructuralSurfaceMember(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8]);},2218152070:function _(ID,a){return new IFC4.IfcStructuralSurfaceMemberVarying(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8]);},603775116:function _(ID,a){return new IFC4.IfcStructuralSurfaceReaction(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9]);},4095615324:function _(ID,a){return new IFC4.IfcSubContractResourceType(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9],a[10],a[11]);},699246055:function _(ID,a){return new IFC4.IfcSurfaceCurve(ID,a[0],a[1],a[2]);},2028607225:function _(ID,a){return new IFC4.IfcSurfaceCurveSweptAreaSolid(ID,a[0],a[1],a[2],a[3],a[4],a[5]);},2809605785:function _(ID,a){return new IFC4.IfcSurfaceOfLinearExtrusion(ID,a[0],a[1],a[2],a[3]);},4124788165:function _(ID,a){return new IFC4.IfcSurfaceOfRevolution(ID,a[0],a[1],a[2]);},1580310250:function _(ID,a){return new IFC4.IfcSystemFurnitureElementType(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9]);},3473067441:function _(ID,a){return new IFC4.IfcTask(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9],a[10],a[11],a[12]);},3206491090:function _(ID,a){return new IFC4.IfcTaskType(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9],a[10]);},2387106220:function _(ID,a){return new IFC4.IfcTessellatedFaceSet(ID,a[0]);},1935646853:function _(ID,a){return new IFC4.IfcToroidalSurface(ID,a[0],a[1],a[2]);},2097647324:function _(ID,a){return new IFC4.IfcTransportElementType(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9]);},2916149573:function _(ID,a){return new IFC4.IfcTriangulatedFaceSet(ID,a[0],a[1],a[2],a[3],a[4]);},336235671:function _(ID,a){return new IFC4.IfcWindowLiningProperties(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9],a[10],a[11],a[12],a[13],a[14],a[15]);},512836454:function _(ID,a){return new IFC4.IfcWindowPanelProperties(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8]);},2296667514:function _(ID,a){return new IFC4.IfcActor(ID,a[0],a[1],a[2],a[3],a[4],a[5]);},1635779807:function _(ID,a){return new IFC4.IfcAdvancedBrep(ID,a[0]);},2603310189:function _(ID,a){return new IFC4.IfcAdvancedBrepWithVoids(ID,a[0],a[1]);},1674181508:function _(ID,a){return new IFC4.IfcAnnotation(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6]);},2887950389:function _(ID,a){return new IFC4.IfcBSplineSurface(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6]);},167062518:function _(ID,a){return new IFC4.IfcBSplineSurfaceWithKnots(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9],a[10],a[11]);},1334484129:function _(ID,a){return new IFC4.IfcBlock(ID,a[0],a[1],a[2],a[3]);},3649129432:function _(ID,a){return new IFC4.IfcBooleanClippingResult(ID,a[0],a[1],a[2]);},1260505505:function _(ID,_85){return new IFC4.IfcBoundedCurve(ID);},4031249490:function _(ID,a){return new IFC4.IfcBuilding(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9],a[10],a[11]);},1950629157:function _(ID,a){return new IFC4.IfcBuildingElementType(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8]);},3124254112:function _(ID,a){return new IFC4.IfcBuildingStorey(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9]);},2197970202:function _(ID,a){return new IFC4.IfcChimneyType(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9]);},2937912522:function _(ID,a){return new IFC4.IfcCircleHollowProfileDef(ID,a[0],a[1],a[2],a[3],a[4]);},3893394355:function _(ID,a){return new IFC4.IfcCivilElementType(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8]);},300633059:function _(ID,a){return new IFC4.IfcColumnType(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9]);},3875453745:function _(ID,a){return new IFC4.IfcComplexPropertyTemplate(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6]);},3732776249:function _(ID,a){return new IFC4.IfcCompositeCurve(ID,a[0],a[1]);},15328376:function _(ID,a){return new IFC4.IfcCompositeCurveOnSurface(ID,a[0],a[1]);},2510884976:function _(ID,a){return new IFC4.IfcConic(ID,a[0]);},2185764099:function _(ID,a){return new IFC4.IfcConstructionEquipmentResourceType(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9],a[10],a[11]);},4105962743:function _(ID,a){return new IFC4.IfcConstructionMaterialResourceType(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9],a[10],a[11]);},1525564444:function _(ID,a){return new IFC4.IfcConstructionProductResourceType(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9],a[10],a[11]);},2559216714:function _(ID,a){return new IFC4.IfcConstructionResource(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9]);},3293443760:function _(ID,a){return new IFC4.IfcControl(ID,a[0],a[1],a[2],a[3],a[4],a[5]);},3895139033:function _(ID,a){return new IFC4.IfcCostItem(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8]);},1419761937:function _(ID,a){return new IFC4.IfcCostSchedule(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9]);},1916426348:function _(ID,a){return new IFC4.IfcCoveringType(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9]);},3295246426:function _(ID,a){return new IFC4.IfcCrewResource(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9],a[10]);},1457835157:function _(ID,a){return new IFC4.IfcCurtainWallType(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9]);},1213902940:function _(ID,a){return new IFC4.IfcCylindricalSurface(ID,a[0],a[1]);},3256556792:function _(ID,a){return new IFC4.IfcDistributionElementType(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8]);},3849074793:function _(ID,a){return new IFC4.IfcDistributionFlowElementType(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8]);},2963535650:function _(ID,a){return new IFC4.IfcDoorLiningProperties(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9],a[10],a[11],a[12],a[13],a[14],a[15],a[16]);},1714330368:function _(ID,a){return new IFC4.IfcDoorPanelProperties(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8]);},2323601079:function _(ID,a){return new IFC4.IfcDoorType(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9],a[10],a[11],a[12]);},445594917:function _(ID,a){return new IFC4.IfcDraughtingPreDefinedColour(ID,a[0]);},4006246654:function _(ID,a){return new IFC4.IfcDraughtingPreDefinedCurveFont(ID,a[0]);},1758889154:function _(ID,a){return new IFC4.IfcElement(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7]);},4123344466:function _(ID,a){return new IFC4.IfcElementAssembly(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9]);},2397081782:function _(ID,a){return new IFC4.IfcElementAssemblyType(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9]);},1623761950:function _(ID,a){return new IFC4.IfcElementComponent(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7]);},2590856083:function _(ID,a){return new IFC4.IfcElementComponentType(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8]);},1704287377:function _(ID,a){return new IFC4.IfcEllipse(ID,a[0],a[1],a[2]);},2107101300:function _(ID,a){return new IFC4.IfcEnergyConversionDeviceType(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8]);},132023988:function _(ID,a){return new IFC4.IfcEngineType(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9]);},3174744832:function _(ID,a){return new IFC4.IfcEvaporativeCoolerType(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9]);},3390157468:function _(ID,a){return new IFC4.IfcEvaporatorType(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9]);},4148101412:function _(ID,a){return new IFC4.IfcEvent(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9],a[10]);},2853485674:function _(ID,a){return new IFC4.IfcExternalSpatialStructureElement(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7]);},807026263:function _(ID,a){return new IFC4.IfcFacetedBrep(ID,a[0]);},3737207727:function _(ID,a){return new IFC4.IfcFacetedBrepWithVoids(ID,a[0],a[1]);},647756555:function _(ID,a){return new IFC4.IfcFastener(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8]);},2489546625:function _(ID,a){return new IFC4.IfcFastenerType(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9]);},2827207264:function _(ID,a){return new IFC4.IfcFeatureElement(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7]);},2143335405:function _(ID,a){return new IFC4.IfcFeatureElementAddition(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7]);},1287392070:function _(ID,a){return new IFC4.IfcFeatureElementSubtraction(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7]);},3907093117:function _(ID,a){return new IFC4.IfcFlowControllerType(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8]);},3198132628:function _(ID,a){return new IFC4.IfcFlowFittingType(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8]);},3815607619:function _(ID,a){return new IFC4.IfcFlowMeterType(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9]);},1482959167:function _(ID,a){return new IFC4.IfcFlowMovingDeviceType(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8]);},1834744321:function _(ID,a){return new IFC4.IfcFlowSegmentType(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8]);},1339347760:function _(ID,a){return new IFC4.IfcFlowStorageDeviceType(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8]);},2297155007:function _(ID,a){return new IFC4.IfcFlowTerminalType(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8]);},3009222698:function _(ID,a){return new IFC4.IfcFlowTreatmentDeviceType(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8]);},1893162501:function _(ID,a){return new IFC4.IfcFootingType(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9]);},263784265:function _(ID,a){return new IFC4.IfcFurnishingElement(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7]);},1509553395:function _(ID,a){return new IFC4.IfcFurniture(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8]);},3493046030:function _(ID,a){return new IFC4.IfcGeographicElement(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8]);},3009204131:function _(ID,a){return new IFC4.IfcGrid(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9],a[10]);},2706460486:function _(ID,a){return new IFC4.IfcGroup(ID,a[0],a[1],a[2],a[3],a[4]);},1251058090:function _(ID,a){return new IFC4.IfcHeatExchangerType(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9]);},1806887404:function _(ID,a){return new IFC4.IfcHumidifierType(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9]);},2571569899:function _(ID,a){return new IFC4.IfcIndexedPolyCurve(ID,a[0],a[1],a[2]);},3946677679:function _(ID,a){return new IFC4.IfcInterceptorType(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9]);},3113134337:function _(ID,a){return new IFC4.IfcIntersectionCurve(ID,a[0],a[1],a[2]);},2391368822:function _(ID,a){return new IFC4.IfcInventory(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9],a[10]);},4288270099:function _(ID,a){return new IFC4.IfcJunctionBoxType(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9]);},3827777499:function _(ID,a){return new IFC4.IfcLaborResource(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9],a[10]);},1051575348:function _(ID,a){return new IFC4.IfcLampType(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9]);},1161773419:function _(ID,a){return new IFC4.IfcLightFixtureType(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9]);},377706215:function _(ID,a){return new IFC4.IfcMechanicalFastener(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9],a[10]);},2108223431:function _(ID,a){return new IFC4.IfcMechanicalFastenerType(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9],a[10],a[11]);},1114901282:function _(ID,a){return new IFC4.IfcMedicalDeviceType(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9]);},3181161470:function _(ID,a){return new IFC4.IfcMemberType(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9]);},977012517:function _(ID,a){return new IFC4.IfcMotorConnectionType(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9]);},4143007308:function _(ID,a){return new IFC4.IfcOccupant(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6]);},3588315303:function _(ID,a){return new IFC4.IfcOpeningElement(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8]);},3079942009:function _(ID,a){return new IFC4.IfcOpeningStandardCase(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8]);},2837617999:function _(ID,a){return new IFC4.IfcOutletType(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9]);},2382730787:function _(ID,a){return new IFC4.IfcPerformanceHistory(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7]);},3566463478:function _(ID,a){return new IFC4.IfcPermeableCoveringProperties(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8]);},3327091369:function _(ID,a){return new IFC4.IfcPermit(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8]);},1158309216:function _(ID,a){return new IFC4.IfcPileType(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9]);},804291784:function _(ID,a){return new IFC4.IfcPipeFittingType(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9]);},4231323485:function _(ID,a){return new IFC4.IfcPipeSegmentType(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9]);},4017108033:function _(ID,a){return new IFC4.IfcPlateType(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9]);},2839578677:function _(ID,a){return new IFC4.IfcPolygonalFaceSet(ID,a[0],a[1],a[2],a[3]);},3724593414:function _(ID,a){return new IFC4.IfcPolyline(ID,a[0]);},3740093272:function _(ID,a){return new IFC4.IfcPort(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6]);},2744685151:function _(ID,a){return new IFC4.IfcProcedure(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7]);},2904328755:function _(ID,a){return new IFC4.IfcProjectOrder(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8]);},3651124850:function _(ID,a){return new IFC4.IfcProjectionElement(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8]);},1842657554:function _(ID,a){return new IFC4.IfcProtectiveDeviceType(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9]);},2250791053:function _(ID,a){return new IFC4.IfcPumpType(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9]);},2893384427:function _(ID,a){return new IFC4.IfcRailingType(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9]);},2324767716:function _(ID,a){return new IFC4.IfcRampFlightType(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9]);},1469900589:function _(ID,a){return new IFC4.IfcRampType(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9]);},683857671:function _(ID,a){return new IFC4.IfcRationalBSplineSurfaceWithKnots(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9],a[10],a[11],a[12]);},3027567501:function _(ID,a){return new IFC4.IfcReinforcingElement(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8]);},964333572:function _(ID,a){return new IFC4.IfcReinforcingElementType(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8]);},2320036040:function _(ID,a){return new IFC4.IfcReinforcingMesh(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9],a[10],a[11],a[12],a[13],a[14],a[15],a[16],a[17]);},2310774935:function _(ID,a){return new IFC4.IfcReinforcingMeshType(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9],a[10],a[11],a[12],a[13],a[14],a[15],a[16],a[17],a[18],a[19]);},160246688:function _(ID,a){return new IFC4.IfcRelAggregates(ID,a[0],a[1],a[2],a[3],a[4],a[5]);},2781568857:function _(ID,a){return new IFC4.IfcRoofType(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9]);},1768891740:function _(ID,a){return new IFC4.IfcSanitaryTerminalType(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9]);},2157484638:function _(ID,a){return new IFC4.IfcSeamCurve(ID,a[0],a[1],a[2]);},4074543187:function _(ID,a){return new IFC4.IfcShadingDeviceType(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9]);},4097777520:function _(ID,a){return new IFC4.IfcSite(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9],a[10],a[11],a[12],a[13]);},2533589738:function _(ID,a){return new IFC4.IfcSlabType(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9]);},1072016465:function _(ID,a){return new IFC4.IfcSolarDeviceType(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9]);},3856911033:function _(ID,a){return new IFC4.IfcSpace(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9],a[10]);},1305183839:function _(ID,a){return new IFC4.IfcSpaceHeaterType(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9]);},3812236995:function _(ID,a){return new IFC4.IfcSpaceType(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9],a[10]);},3112655638:function _(ID,a){return new IFC4.IfcStackTerminalType(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9]);},1039846685:function _(ID,a){return new IFC4.IfcStairFlightType(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9]);},338393293:function _(ID,a){return new IFC4.IfcStairType(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9]);},682877961:function _(ID,a){return new IFC4.IfcStructuralAction(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9]);},1179482911:function _(ID,a){return new IFC4.IfcStructuralConnection(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7]);},1004757350:function _(ID,a){return new IFC4.IfcStructuralCurveAction(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9],a[10],a[11]);},4243806635:function _(ID,a){return new IFC4.IfcStructuralCurveConnection(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8]);},214636428:function _(ID,a){return new IFC4.IfcStructuralCurveMember(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8]);},2445595289:function _(ID,a){return new IFC4.IfcStructuralCurveMemberVarying(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8]);},2757150158:function _(ID,a){return new IFC4.IfcStructuralCurveReaction(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9]);},1807405624:function _(ID,a){return new IFC4.IfcStructuralLinearAction(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9],a[10],a[11]);},1252848954:function _(ID,a){return new IFC4.IfcStructuralLoadGroup(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9]);},2082059205:function _(ID,a){return new IFC4.IfcStructuralPointAction(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9]);},734778138:function _(ID,a){return new IFC4.IfcStructuralPointConnection(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8]);},1235345126:function _(ID,a){return new IFC4.IfcStructuralPointReaction(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8]);},2986769608:function _(ID,a){return new IFC4.IfcStructuralResultGroup(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7]);},3657597509:function _(ID,a){return new IFC4.IfcStructuralSurfaceAction(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9],a[10],a[11]);},1975003073:function _(ID,a){return new IFC4.IfcStructuralSurfaceConnection(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7]);},148013059:function _(ID,a){return new IFC4.IfcSubContractResource(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9],a[10]);},3101698114:function _(ID,a){return new IFC4.IfcSurfaceFeature(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8]);},2315554128:function _(ID,a){return new IFC4.IfcSwitchingDeviceType(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9]);},2254336722:function _(ID,a){return new IFC4.IfcSystem(ID,a[0],a[1],a[2],a[3],a[4]);},413509423:function _(ID,a){return new IFC4.IfcSystemFurnitureElement(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8]);},5716631:function _(ID,a){return new IFC4.IfcTankType(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9]);},3824725483:function _(ID,a){return new IFC4.IfcTendon(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9],a[10],a[11],a[12],a[13],a[14],a[15],a[16]);},2347447852:function _(ID,a){return new IFC4.IfcTendonAnchor(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9]);},3081323446:function _(ID,a){return new IFC4.IfcTendonAnchorType(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9]);},2415094496:function _(ID,a){return new IFC4.IfcTendonType(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9],a[10],a[11],a[12]);},1692211062:function _(ID,a){return new IFC4.IfcTransformerType(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9]);},1620046519:function _(ID,a){return new IFC4.IfcTransportElement(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8]);},3593883385:function _(ID,a){return new IFC4.IfcTrimmedCurve(ID,a[0],a[1],a[2],a[3],a[4]);},1600972822:function _(ID,a){return new IFC4.IfcTubeBundleType(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9]);},1911125066:function _(ID,a){return new IFC4.IfcUnitaryEquipmentType(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9]);},728799441:function _(ID,a){return new IFC4.IfcValveType(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9]);},2391383451:function _(ID,a){return new IFC4.IfcVibrationIsolator(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8]);},3313531582:function _(ID,a){return new IFC4.IfcVibrationIsolatorType(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9]);},2769231204:function _(ID,a){return new IFC4.IfcVirtualElement(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7]);},926996030:function _(ID,a){return new IFC4.IfcVoidingFeature(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8]);},1898987631:function _(ID,a){return new IFC4.IfcWallType(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9]);},1133259667:function _(ID,a){return new IFC4.IfcWasteTerminalType(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9]);},4009809668:function _(ID,a){return new IFC4.IfcWindowType(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9],a[10],a[11],a[12]);},4088093105:function _(ID,a){return new IFC4.IfcWorkCalendar(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8]);},1028945134:function _(ID,a){return new IFC4.IfcWorkControl(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9],a[10],a[11],a[12]);},4218914973:function _(ID,a){return new IFC4.IfcWorkPlan(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9],a[10],a[11],a[12],a[13]);},3342526732:function _(ID,a){return new IFC4.IfcWorkSchedule(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9],a[10],a[11],a[12],a[13]);},1033361043:function _(ID,a){return new IFC4.IfcZone(ID,a[0],a[1],a[2],a[3],a[4],a[5]);},3821786052:function _(ID,a){return new IFC4.IfcActionRequest(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8]);},1411407467:function _(ID,a){return new IFC4.IfcAirTerminalBoxType(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9]);},3352864051:function _(ID,a){return new IFC4.IfcAirTerminalType(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9]);},1871374353:function _(ID,a){return new IFC4.IfcAirToAirHeatRecoveryType(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9]);},3460190687:function _(ID,a){return new IFC4.IfcAsset(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9],a[10],a[11],a[12],a[13]);},1532957894:function _(ID,a){return new IFC4.IfcAudioVisualApplianceType(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9]);},1967976161:function _(ID,a){return new IFC4.IfcBSplineCurve(ID,a[0],a[1],a[2],a[3],a[4]);},2461110595:function _(ID,a){return new IFC4.IfcBSplineCurveWithKnots(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7]);},819618141:function _(ID,a){return new IFC4.IfcBeamType(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9]);},231477066:function _(ID,a){return new IFC4.IfcBoilerType(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9]);},1136057603:function _(ID,a){return new IFC4.IfcBoundaryCurve(ID,a[0],a[1]);},3299480353:function _(ID,a){return new IFC4.IfcBuildingElement(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7]);},2979338954:function _(ID,a){return new IFC4.IfcBuildingElementPart(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8]);},39481116:function _(ID,a){return new IFC4.IfcBuildingElementPartType(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9]);},1095909175:function _(ID,a){return new IFC4.IfcBuildingElementProxy(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8]);},1909888760:function _(ID,a){return new IFC4.IfcBuildingElementProxyType(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9]);},1177604601:function _(ID,a){return new IFC4.IfcBuildingSystem(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6]);},2188180465:function _(ID,a){return new IFC4.IfcBurnerType(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9]);},395041908:function _(ID,a){return new IFC4.IfcCableCarrierFittingType(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9]);},3293546465:function _(ID,a){return new IFC4.IfcCableCarrierSegmentType(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9]);},2674252688:function _(ID,a){return new IFC4.IfcCableFittingType(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9]);},1285652485:function _(ID,a){return new IFC4.IfcCableSegmentType(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9]);},2951183804:function _(ID,a){return new IFC4.IfcChillerType(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9]);},3296154744:function _(ID,a){return new IFC4.IfcChimney(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8]);},2611217952:function _(ID,a){return new IFC4.IfcCircle(ID,a[0],a[1]);},1677625105:function _(ID,a){return new IFC4.IfcCivilElement(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7]);},2301859152:function _(ID,a){return new IFC4.IfcCoilType(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9]);},843113511:function _(ID,a){return new IFC4.IfcColumn(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8]);},905975707:function _(ID,a){return new IFC4.IfcColumnStandardCase(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8]);},400855858:function _(ID,a){return new IFC4.IfcCommunicationsApplianceType(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9]);},3850581409:function _(ID,a){return new IFC4.IfcCompressorType(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9]);},2816379211:function _(ID,a){return new IFC4.IfcCondenserType(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9]);},3898045240:function _(ID,a){return new IFC4.IfcConstructionEquipmentResource(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9],a[10]);},1060000209:function _(ID,a){return new IFC4.IfcConstructionMaterialResource(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9],a[10]);},488727124:function _(ID,a){return new IFC4.IfcConstructionProductResource(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9],a[10]);},335055490:function _(ID,a){return new IFC4.IfcCooledBeamType(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9]);},2954562838:function _(ID,a){return new IFC4.IfcCoolingTowerType(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9]);},1973544240:function _(ID,a){return new IFC4.IfcCovering(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8]);},3495092785:function _(ID,a){return new IFC4.IfcCurtainWall(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8]);},3961806047:function _(ID,a){return new IFC4.IfcDamperType(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9]);},1335981549:function _(ID,a){return new IFC4.IfcDiscreteAccessory(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8]);},2635815018:function _(ID,a){return new IFC4.IfcDiscreteAccessoryType(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9]);},1599208980:function _(ID,a){return new IFC4.IfcDistributionChamberElementType(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9]);},2063403501:function _(ID,a){return new IFC4.IfcDistributionControlElementType(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8]);},1945004755:function _(ID,a){return new IFC4.IfcDistributionElement(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7]);},3040386961:function _(ID,a){return new IFC4.IfcDistributionFlowElement(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7]);},3041715199:function _(ID,a){return new IFC4.IfcDistributionPort(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9]);},3205830791:function _(ID,a){return new IFC4.IfcDistributionSystem(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6]);},395920057:function _(ID,a){return new IFC4.IfcDoor(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9],a[10],a[11],a[12]);},3242481149:function _(ID,a){return new IFC4.IfcDoorStandardCase(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9],a[10],a[11],a[12]);},869906466:function _(ID,a){return new IFC4.IfcDuctFittingType(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9]);},3760055223:function _(ID,a){return new IFC4.IfcDuctSegmentType(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9]);},2030761528:function _(ID,a){return new IFC4.IfcDuctSilencerType(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9]);},663422040:function _(ID,a){return new IFC4.IfcElectricApplianceType(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9]);},2417008758:function _(ID,a){return new IFC4.IfcElectricDistributionBoardType(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9]);},3277789161:function _(ID,a){return new IFC4.IfcElectricFlowStorageDeviceType(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9]);},1534661035:function _(ID,a){return new IFC4.IfcElectricGeneratorType(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9]);},1217240411:function _(ID,a){return new IFC4.IfcElectricMotorType(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9]);},712377611:function _(ID,a){return new IFC4.IfcElectricTimeControlType(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9]);},1658829314:function _(ID,a){return new IFC4.IfcEnergyConversionDevice(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7]);},2814081492:function _(ID,a){return new IFC4.IfcEngine(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8]);},3747195512:function _(ID,a){return new IFC4.IfcEvaporativeCooler(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8]);},484807127:function _(ID,a){return new IFC4.IfcEvaporator(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8]);},1209101575:function _(ID,a){return new IFC4.IfcExternalSpatialElement(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8]);},346874300:function _(ID,a){return new IFC4.IfcFanType(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9]);},1810631287:function _(ID,a){return new IFC4.IfcFilterType(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9]);},4222183408:function _(ID,a){return new IFC4.IfcFireSuppressionTerminalType(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9]);},2058353004:function _(ID,a){return new IFC4.IfcFlowController(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7]);},4278956645:function _(ID,a){return new IFC4.IfcFlowFitting(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7]);},4037862832:function _(ID,a){return new IFC4.IfcFlowInstrumentType(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9]);},2188021234:function _(ID,a){return new IFC4.IfcFlowMeter(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8]);},3132237377:function _(ID,a){return new IFC4.IfcFlowMovingDevice(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7]);},987401354:function _(ID,a){return new IFC4.IfcFlowSegment(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7]);},707683696:function _(ID,a){return new IFC4.IfcFlowStorageDevice(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7]);},2223149337:function _(ID,a){return new IFC4.IfcFlowTerminal(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7]);},3508470533:function _(ID,a){return new IFC4.IfcFlowTreatmentDevice(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7]);},900683007:function _(ID,a){return new IFC4.IfcFooting(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8]);},3319311131:function _(ID,a){return new IFC4.IfcHeatExchanger(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8]);},2068733104:function _(ID,a){return new IFC4.IfcHumidifier(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8]);},4175244083:function _(ID,a){return new IFC4.IfcInterceptor(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8]);},2176052936:function _(ID,a){return new IFC4.IfcJunctionBox(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8]);},76236018:function _(ID,a){return new IFC4.IfcLamp(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8]);},629592764:function _(ID,a){return new IFC4.IfcLightFixture(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8]);},1437502449:function _(ID,a){return new IFC4.IfcMedicalDevice(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8]);},1073191201:function _(ID,a){return new IFC4.IfcMember(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8]);},1911478936:function _(ID,a){return new IFC4.IfcMemberStandardCase(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8]);},2474470126:function _(ID,a){return new IFC4.IfcMotorConnection(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8]);},144952367:function _(ID,a){return new IFC4.IfcOuterBoundaryCurve(ID,a[0],a[1]);},3694346114:function _(ID,a){return new IFC4.IfcOutlet(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8]);},1687234759:function _(ID,a){return new IFC4.IfcPile(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9]);},310824031:function _(ID,a){return new IFC4.IfcPipeFitting(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8]);},3612865200:function _(ID,a){return new IFC4.IfcPipeSegment(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8]);},3171933400:function _(ID,a){return new IFC4.IfcPlate(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8]);},1156407060:function _(ID,a){return new IFC4.IfcPlateStandardCase(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8]);},738039164:function _(ID,a){return new IFC4.IfcProtectiveDevice(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8]);},655969474:function _(ID,a){return new IFC4.IfcProtectiveDeviceTrippingUnitType(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9]);},90941305:function _(ID,a){return new IFC4.IfcPump(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8]);},2262370178:function _(ID,a){return new IFC4.IfcRailing(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8]);},3024970846:function _(ID,a){return new IFC4.IfcRamp(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8]);},3283111854:function _(ID,a){return new IFC4.IfcRampFlight(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8]);},1232101972:function _(ID,a){return new IFC4.IfcRationalBSplineCurveWithKnots(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8]);},979691226:function _(ID,a){return new IFC4.IfcReinforcingBar(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9],a[10],a[11],a[12],a[13]);},2572171363:function _(ID,a){return new IFC4.IfcReinforcingBarType(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9],a[10],a[11],a[12],a[13],a[14],a[15]);},2016517767:function _(ID,a){return new IFC4.IfcRoof(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8]);},3053780830:function _(ID,a){return new IFC4.IfcSanitaryTerminal(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8]);},1783015770:function _(ID,a){return new IFC4.IfcSensorType(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9]);},1329646415:function _(ID,a){return new IFC4.IfcShadingDevice(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8]);},1529196076:function _(ID,a){return new IFC4.IfcSlab(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8]);},3127900445:function _(ID,a){return new IFC4.IfcSlabElementedCase(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8]);},3027962421:function _(ID,a){return new IFC4.IfcSlabStandardCase(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8]);},3420628829:function _(ID,a){return new IFC4.IfcSolarDevice(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8]);},1999602285:function _(ID,a){return new IFC4.IfcSpaceHeater(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8]);},1404847402:function _(ID,a){return new IFC4.IfcStackTerminal(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8]);},331165859:function _(ID,a){return new IFC4.IfcStair(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8]);},4252922144:function _(ID,a){return new IFC4.IfcStairFlight(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9],a[10],a[11],a[12]);},2515109513:function _(ID,a){return new IFC4.IfcStructuralAnalysisModel(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9]);},385403989:function _(ID,a){return new IFC4.IfcStructuralLoadCase(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9],a[10]);},1621171031:function _(ID,a){return new IFC4.IfcStructuralPlanarAction(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9],a[10],a[11]);},1162798199:function _(ID,a){return new IFC4.IfcSwitchingDevice(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8]);},812556717:function _(ID,a){return new IFC4.IfcTank(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8]);},3825984169:function _(ID,a){return new IFC4.IfcTransformer(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8]);},3026737570:function _(ID,a){return new IFC4.IfcTubeBundle(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8]);},3179687236:function _(ID,a){return new IFC4.IfcUnitaryControlElementType(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9]);},4292641817:function _(ID,a){return new IFC4.IfcUnitaryEquipment(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8]);},4207607924:function _(ID,a){return new IFC4.IfcValve(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8]);},2391406946:function _(ID,a){return new IFC4.IfcWall(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8]);},4156078855:function _(ID,a){return new IFC4.IfcWallElementedCase(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8]);},3512223829:function _(ID,a){return new IFC4.IfcWallStandardCase(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8]);},4237592921:function _(ID,a){return new IFC4.IfcWasteTerminal(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8]);},3304561284:function _(ID,a){return new IFC4.IfcWindow(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9],a[10],a[11],a[12]);},486154966:function _(ID,a){return new IFC4.IfcWindowStandardCase(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9],a[10],a[11],a[12]);},2874132201:function _(ID,a){return new IFC4.IfcActuatorType(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9]);},1634111441:function _(ID,a){return new IFC4.IfcAirTerminal(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8]);},177149247:function _(ID,a){return new IFC4.IfcAirTerminalBox(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8]);},2056796094:function _(ID,a){return new IFC4.IfcAirToAirHeatRecovery(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8]);},3001207471:function _(ID,a){return new IFC4.IfcAlarmType(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9]);},277319702:function _(ID,a){return new IFC4.IfcAudioVisualAppliance(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8]);},753842376:function _(ID,a){return new IFC4.IfcBeam(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8]);},2906023776:function _(ID,a){return new IFC4.IfcBeamStandardCase(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8]);},32344328:function _(ID,a){return new IFC4.IfcBoiler(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8]);},2938176219:function _(ID,a){return new IFC4.IfcBurner(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8]);},635142910:function _(ID,a){return new IFC4.IfcCableCarrierFitting(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8]);},3758799889:function _(ID,a){return new IFC4.IfcCableCarrierSegment(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8]);},1051757585:function _(ID,a){return new IFC4.IfcCableFitting(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8]);},4217484030:function _(ID,a){return new IFC4.IfcCableSegment(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8]);},3902619387:function _(ID,a){return new IFC4.IfcChiller(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8]);},639361253:function _(ID,a){return new IFC4.IfcCoil(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8]);},3221913625:function _(ID,a){return new IFC4.IfcCommunicationsAppliance(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8]);},3571504051:function _(ID,a){return new IFC4.IfcCompressor(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8]);},2272882330:function _(ID,a){return new IFC4.IfcCondenser(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8]);},578613899:function _(ID,a){return new IFC4.IfcControllerType(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9]);},4136498852:function _(ID,a){return new IFC4.IfcCooledBeam(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8]);},3640358203:function _(ID,a){return new IFC4.IfcCoolingTower(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8]);},4074379575:function _(ID,a){return new IFC4.IfcDamper(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8]);},1052013943:function _(ID,a){return new IFC4.IfcDistributionChamberElement(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8]);},562808652:function _(ID,a){return new IFC4.IfcDistributionCircuit(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6]);},1062813311:function _(ID,a){return new IFC4.IfcDistributionControlElement(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7]);},342316401:function _(ID,a){return new IFC4.IfcDuctFitting(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8]);},3518393246:function _(ID,a){return new IFC4.IfcDuctSegment(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8]);},1360408905:function _(ID,a){return new IFC4.IfcDuctSilencer(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8]);},1904799276:function _(ID,a){return new IFC4.IfcElectricAppliance(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8]);},862014818:function _(ID,a){return new IFC4.IfcElectricDistributionBoard(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8]);},3310460725:function _(ID,a){return new IFC4.IfcElectricFlowStorageDevice(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8]);},264262732:function _(ID,a){return new IFC4.IfcElectricGenerator(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8]);},402227799:function _(ID,a){return new IFC4.IfcElectricMotor(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8]);},1003880860:function _(ID,a){return new IFC4.IfcElectricTimeControl(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8]);},3415622556:function _(ID,a){return new IFC4.IfcFan(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8]);},819412036:function _(ID,a){return new IFC4.IfcFilter(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8]);},1426591983:function _(ID,a){return new IFC4.IfcFireSuppressionTerminal(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8]);},182646315:function _(ID,a){return new IFC4.IfcFlowInstrument(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8]);},2295281155:function _(ID,a){return new IFC4.IfcProtectiveDeviceTrippingUnit(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8]);},4086658281:function _(ID,a){return new IFC4.IfcSensor(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8]);},630975310:function _(ID,a){return new IFC4.IfcUnitaryControlElement(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8]);},4288193352:function _(ID,a){return new IFC4.IfcActuator(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8]);},3087945054:function _(ID,a){return new IFC4.IfcAlarm(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8]);},25142252:function _(ID,a){return new IFC4.IfcController(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8]);}};ToRawLineData[2]={3630933823:function _(i){return[i.Role,i.UserDefinedRole,i.Description];},618182010:function _(i){return[i.Purpose,i.Description,i.UserDefinedPurpose];},639542469:function _(i){return[i.ApplicationDeveloper,i.Version,i.ApplicationFullName,i.ApplicationIdentifier];},411424972:function _(i){return[i.Name,i.Description,i.AppliedValue,i.UnitBasis,i.ApplicableDate,i.FixedUntilDate,i.Category,i.Condition,i.ArithmeticOperator,i.Components];},130549933:function _(i){return[i.Identifier,i.Name,i.Description,i.TimeOfApproval,i.Status,i.Level,i.Qualifier,i.RequestingApproval,i.GivingApproval];},4037036970:function _(i){return[i.Name];},1560379544:function _(i){return[i.Name,!i.TranslationalStiffnessByLengthX?null:Labelise(i.TranslationalStiffnessByLengthX),!i.TranslationalStiffnessByLengthY?null:Labelise(i.TranslationalStiffnessByLengthY),!i.TranslationalStiffnessByLengthZ?null:Labelise(i.TranslationalStiffnessByLengthZ),!i.RotationalStiffnessByLengthX?null:Labelise(i.RotationalStiffnessByLengthX),!i.RotationalStiffnessByLengthY?null:Labelise(i.RotationalStiffnessByLengthY),!i.RotationalStiffnessByLengthZ?null:Labelise(i.RotationalStiffnessByLengthZ)];},3367102660:function _(i){return[i.Name,!i.TranslationalStiffnessByAreaX?null:Labelise(i.TranslationalStiffnessByAreaX),!i.TranslationalStiffnessByAreaY?null:Labelise(i.TranslationalStiffnessByAreaY),!i.TranslationalStiffnessByAreaZ?null:Labelise(i.TranslationalStiffnessByAreaZ)];},1387855156:function _(i){return[i.Name,!i.TranslationalStiffnessX?null:Labelise(i.TranslationalStiffnessX),!i.TranslationalStiffnessY?null:Labelise(i.TranslationalStiffnessY),!i.TranslationalStiffnessZ?null:Labelise(i.TranslationalStiffnessZ),!i.RotationalStiffnessX?null:Labelise(i.RotationalStiffnessX),!i.RotationalStiffnessY?null:Labelise(i.RotationalStiffnessY),!i.RotationalStiffnessZ?null:Labelise(i.RotationalStiffnessZ)];},2069777674:function _(i){return[i.Name,!i.TranslationalStiffnessX?null:Labelise(i.TranslationalStiffnessX),!i.TranslationalStiffnessY?null:Labelise(i.TranslationalStiffnessY),!i.TranslationalStiffnessZ?null:Labelise(i.TranslationalStiffnessZ),!i.RotationalStiffnessX?null:Labelise(i.RotationalStiffnessX),!i.RotationalStiffnessY?null:Labelise(i.RotationalStiffnessY),!i.RotationalStiffnessZ?null:Labelise(i.RotationalStiffnessZ),!i.WarpingStiffness?null:Labelise(i.WarpingStiffness)];},2859738748:function _(_86){return[];},2614616156:function _(i){return[i.PointOnRelatingElement,i.PointOnRelatedElement];},2732653382:function _(i){return[i.SurfaceOnRelatingElement,i.SurfaceOnRelatedElement];},775493141:function _(i){return[i.VolumeOnRelatingElement,i.VolumeOnRelatedElement];},1959218052:function _(i){return[i.Name,i.Description,i.ConstraintGrade,i.ConstraintSource,i.CreatingActor,i.CreationTime,i.UserDefinedGrade];},1785450214:function _(i){return[i.SourceCRS,i.TargetCRS];},1466758467:function _(i){return[i.Name,i.Description,i.GeodeticDatum,i.VerticalDatum];},602808272:function _(i){return[i.Name,i.Description,i.AppliedValue,i.UnitBasis,i.ApplicableDate,i.FixedUntilDate,i.Category,i.Condition,i.ArithmeticOperator,i.Components];},1765591967:function _(i){return[i.Elements,i.UnitType,i.UserDefinedType];},1045800335:function _(i){return[i.Unit,i.Exponent];},2949456006:function _(i){return[i.LengthExponent,i.MassExponent,i.TimeExponent,i.ElectricCurrentExponent,i.ThermodynamicTemperatureExponent,i.AmountOfSubstanceExponent,i.LuminousIntensityExponent];},4294318154:function _(_87){return[];},3200245327:function _(i){return[i.Location,i.Identification,i.Name];},2242383968:function _(i){return[i.Location,i.Identification,i.Name];},1040185647:function _(i){return[i.Location,i.Identification,i.Name];},3548104201:function _(i){return[i.Location,i.Identification,i.Name];},852622518:function _(i){var _a;return[i.AxisTag,i.AxisCurve,(_a=i.SameSense)==null?void 0:_a.toString()];},3020489413:function _(i){return[i.TimeStamp,i.ListValues.map(function(p){return Labelise(p);})];},2655187982:function _(i){return[i.Name,i.Version,i.Publisher,i.VersionDate,i.Location,i.Description];},3452421091:function _(i){return[i.Location,i.Identification,i.Name,i.Description,i.Language,i.ReferencedLibrary];},4162380809:function _(i){return[i.MainPlaneAngle,i.SecondaryPlaneAngle,i.LuminousIntensity];},1566485204:function _(i){return[i.LightDistributionCurve,i.DistributionData];},3057273783:function _(i){return[i.SourceCRS,i.TargetCRS,i.Eastings,i.Northings,i.OrthogonalHeight,i.XAxisAbscissa,i.XAxisOrdinate,i.Scale];},1847130766:function _(i){return[i.MaterialClassifications,i.ClassifiedMaterial];},760658860:function _(_88){return[];},248100487:function _(i){var _a;return[i.Material,i.LayerThickness,(_a=i.IsVentilated)==null?void 0:_a.toString(),i.Name,i.Description,i.Category,i.Priority];},3303938423:function _(i){return[i.MaterialLayers,i.LayerSetName,i.Description];},1847252529:function _(i){var _a;return[i.Material,i.LayerThickness,(_a=i.IsVentilated)==null?void 0:_a.toString(),i.Name,i.Description,i.Category,i.Priority,i.OffsetDirection,i.OffsetValues];},2199411900:function _(i){return[i.Materials];},2235152071:function _(i){return[i.Name,i.Description,i.Material,i.Profile,i.Priority,i.Category];},164193824:function _(i){return[i.Name,i.Description,i.MaterialProfiles,i.CompositeProfile];},552965576:function _(i){return[i.Name,i.Description,i.Material,i.Profile,i.Priority,i.Category,i.OffsetValues];},1507914824:function _(_89){return[];},2597039031:function _(i){return[Labelise(i.ValueComponent),i.UnitComponent];},3368373690:function _(i){return[i.Name,i.Description,i.ConstraintGrade,i.ConstraintSource,i.CreatingActor,i.CreationTime,i.UserDefinedGrade,i.Benchmark,i.ValueSource,i.DataValue,i.ReferencePath];},2706619895:function _(i){return[i.Currency];},1918398963:function _(i){return[i.Dimensions,i.UnitType];},3701648758:function _(_90){return[];},2251480897:function _(i){return[i.Name,i.Description,i.ConstraintGrade,i.ConstraintSource,i.CreatingActor,i.CreationTime,i.UserDefinedGrade,i.BenchmarkValues,i.LogicalAggregator,i.ObjectiveQualifier,i.UserDefinedQualifier];},4251960020:function _(i){return[i.Identification,i.Name,i.Description,i.Roles,i.Addresses];},1207048766:function _(i){return[i.OwningUser,i.OwningApplication,i.State,i.ChangeAction,i.LastModifiedDate,i.LastModifyingUser,i.LastModifyingApplication,i.CreationDate];},2077209135:function _(i){return[i.Identification,i.FamilyName,i.GivenName,i.MiddleNames,i.PrefixTitles,i.SuffixTitles,i.Roles,i.Addresses];},101040310:function _(i){return[i.ThePerson,i.TheOrganization,i.Roles];},2483315170:function _(i){return[i.Name,i.Description];},2226359599:function _(i){return[i.Name,i.Description,i.Unit];},3355820592:function _(i){return[i.Purpose,i.Description,i.UserDefinedPurpose,i.InternalLocation,i.AddressLines,i.PostalBox,i.Town,i.Region,i.PostalCode,i.Country];},677532197:function _(_91){return[];},2022622350:function _(i){return[i.Name,i.Description,i.AssignedItems,i.Identifier];},1304840413:function _(i){var _a,_b,_c;return[i.Name,i.Description,i.AssignedItems,i.Identifier,(_a=i.LayerOn)==null?void 0:_a.toString(),(_b=i.LayerFrozen)==null?void 0:_b.toString(),(_c=i.LayerBlocked)==null?void 0:_c.toString(),i.LayerStyles];},3119450353:function _(i){return[i.Name];},2417041796:function _(i){return[i.Styles];},2095639259:function _(i){return[i.Name,i.Description,i.Representations];},3958567839:function _(i){return[i.ProfileType,i.ProfileName];},3843373140:function _(i){return[i.Name,i.Description,i.GeodeticDatum,i.VerticalDatum,i.MapProjection,i.MapZone,i.MapUnit];},986844984:function _(_92){return[];},3710013099:function _(i){return[i.Name,i.EnumerationValues.map(function(p){return Labelise(p);}),i.Unit];},2044713172:function _(i){return[i.Name,i.Description,i.Unit,i.AreaValue,i.Formula];},2093928680:function _(i){return[i.Name,i.Description,i.Unit,i.CountValue,i.Formula];},931644368:function _(i){return[i.Name,i.Description,i.Unit,i.LengthValue,i.Formula];},3252649465:function _(i){return[i.Name,i.Description,i.Unit,i.TimeValue,i.Formula];},2405470396:function _(i){return[i.Name,i.Description,i.Unit,i.VolumeValue,i.Formula];},825690147:function _(i){return[i.Name,i.Description,i.Unit,i.WeightValue,i.Formula];},3915482550:function _(i){return[i.RecurrenceType,i.DayComponent,i.WeekdayComponent,i.MonthComponent,i.Position,i.Interval,i.Occurrences,i.TimePeriods];},2433181523:function _(i){return[i.TypeIdentifier,i.AttributeIdentifier,i.InstanceName,i.ListPositions,i.InnerReference];},1076942058:function _(i){return[i.ContextOfItems,i.RepresentationIdentifier,i.RepresentationType,i.Items];},3377609919:function _(i){return[i.ContextIdentifier,i.ContextType];},3008791417:function _(_93){return[];},1660063152:function _(i){return[i.MappingOrigin,i.MappedRepresentation];},2439245199:function _(i){return[i.Name,i.Description];},2341007311:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description];},448429030:function _(i){return[i.Dimensions,i.UnitType,i.Prefix,i.Name];},1054537805:function _(i){return[i.Name,i.DataOrigin,i.UserDefinedDataOrigin];},867548509:function _(i){var _a;return[i.ShapeRepresentations,i.Name,i.Description,(_a=i.ProductDefinitional)==null?void 0:_a.toString(),i.PartOfProductDefinitionShape];},3982875396:function _(i){return[i.ContextOfItems,i.RepresentationIdentifier,i.RepresentationType,i.Items];},4240577450:function _(i){return[i.ContextOfItems,i.RepresentationIdentifier,i.RepresentationType,i.Items];},2273995522:function _(i){return[i.Name];},2162789131:function _(i){return[i.Name];},3478079324:function _(i){return[i.Name,i.Values,i.Locations];},609421318:function _(i){return[i.Name];},2525727697:function _(i){return[i.Name];},3408363356:function _(i){return[i.Name,i.DeltaTConstant,i.DeltaTY,i.DeltaTZ];},2830218821:function _(i){return[i.ContextOfItems,i.RepresentationIdentifier,i.RepresentationType,i.Items];},3958052878:function _(i){return[i.Item,i.Styles,i.Name];},3049322572:function _(i){return[i.ContextOfItems,i.RepresentationIdentifier,i.RepresentationType,i.Items];},2934153892:function _(i){return[i.Name,i.SurfaceReinforcement1,i.SurfaceReinforcement2,i.ShearReinforcement];},1300840506:function _(i){return[i.Name,i.Side,i.Styles];},3303107099:function _(i){return[i.DiffuseTransmissionColour,i.DiffuseReflectionColour,i.TransmissionColour,i.ReflectanceColour];},1607154358:function _(i){return[i.RefractionIndex,i.DispersionFactor];},846575682:function _(i){return[i.SurfaceColour,i.Transparency];},1351298697:function _(i){return[i.Textures];},626085974:function _(i){var _a,_b;return[(_a=i.RepeatS)==null?void 0:_a.toString(),(_b=i.RepeatT)==null?void 0:_b.toString(),i.Mode,i.TextureTransform,i.Parameter];},985171141:function _(i){return[i.Name,i.Rows,i.Columns];},2043862942:function _(i){return[i.Identifier,i.Name,i.Description,i.Unit,i.ReferencePath];},531007025:function _(i){var _a;return[!i.RowCells?null:i.RowCells.map(function(p){return Labelise(p);}),(_a=i.IsHeading)==null?void 0:_a.toString()];},1549132990:function _(i){var _a;return[i.Name,i.DataOrigin,i.UserDefinedDataOrigin,i.DurationType,i.ScheduleDuration,i.ScheduleStart,i.ScheduleFinish,i.EarlyStart,i.EarlyFinish,i.LateStart,i.LateFinish,i.FreeFloat,i.TotalFloat,(_a=i.IsCritical)==null?void 0:_a.toString(),i.StatusTime,i.ActualDuration,i.ActualStart,i.ActualFinish,i.RemainingTime,i.Completion];},2771591690:function _(i){var _a;return[i.Name,i.DataOrigin,i.UserDefinedDataOrigin,i.DurationType,i.ScheduleDuration,i.ScheduleStart,i.ScheduleFinish,i.EarlyStart,i.EarlyFinish,i.LateStart,i.LateFinish,i.FreeFloat,i.TotalFloat,(_a=i.IsCritical)==null?void 0:_a.toString(),i.StatusTime,i.ActualDuration,i.ActualStart,i.ActualFinish,i.RemainingTime,i.Completion,i.Recurrence];},912023232:function _(i){return[i.Purpose,i.Description,i.UserDefinedPurpose,i.TelephoneNumbers,i.FacsimileNumbers,i.PagerNumber,i.ElectronicMailAddresses,i.WWWHomePageURL,i.MessagingIDs];},1447204868:function _(i){var _a;return[i.Name,i.TextCharacterAppearance,i.TextStyle,i.TextFontStyle,(_a=i.ModelOrDraughting)==null?void 0:_a.toString()];},2636378356:function _(i){return[i.Colour,i.BackgroundColour];},1640371178:function _(i){return[!i.TextIndent?null:Labelise(i.TextIndent),i.TextAlign,i.TextDecoration,!i.LetterSpacing?null:Labelise(i.LetterSpacing),!i.WordSpacing?null:Labelise(i.WordSpacing),i.TextTransform,!i.LineHeight?null:Labelise(i.LineHeight)];},280115917:function _(i){return[i.Maps];},1742049831:function _(i){return[i.Maps,i.Mode,i.Parameter];},2552916305:function _(i){return[i.Maps,i.Vertices,i.MappedTo];},1210645708:function _(i){return[i.Coordinates];},3611470254:function _(i){return[i.TexCoordsList];},1199560280:function _(i){return[i.StartTime,i.EndTime];},3101149627:function _(i){return[i.Name,i.Description,i.StartTime,i.EndTime,i.TimeSeriesDataType,i.DataOrigin,i.UserDefinedDataOrigin,i.Unit];},581633288:function _(i){return[i.ListValues.map(function(p){return Labelise(p);})];},1377556343:function _(_94){return[];},1735638870:function _(i){return[i.ContextOfItems,i.RepresentationIdentifier,i.RepresentationType,i.Items];},180925521:function _(i){return[i.Units];},2799835756:function _(_95){return[];},1907098498:function _(i){return[i.VertexGeometry];},891718957:function _(i){return[i.IntersectingAxes,i.OffsetDistances];},1236880293:function _(i){return[i.Name,i.DataOrigin,i.UserDefinedDataOrigin,i.RecurrencePattern,i.Start,i.Finish];},3869604511:function _(i){return[i.Name,i.Description,i.RelatingApproval,i.RelatedApprovals];},3798115385:function _(i){return[i.ProfileType,i.ProfileName,i.OuterCurve];},1310608509:function _(i){return[i.ProfileType,i.ProfileName,i.Curve];},2705031697:function _(i){return[i.ProfileType,i.ProfileName,i.OuterCurve,i.InnerCurves];},616511568:function _(i){var _a,_b;return[(_a=i.RepeatS)==null?void 0:_a.toString(),(_b=i.RepeatT)==null?void 0:_b.toString(),i.Mode,i.TextureTransform,i.Parameter,i.RasterFormat,i.RasterCode];},3150382593:function _(i){return[i.ProfileType,i.ProfileName,i.Curve,i.Thickness];},747523909:function _(i){return[i.Source,i.Edition,i.EditionDate,i.Name,i.Description,i.Location,i.ReferenceTokens];},647927063:function _(i){return[i.Location,i.Identification,i.Name,i.ReferencedSource,i.Description,i.Sort];},3285139300:function _(i){return[i.ColourList];},3264961684:function _(i){return[i.Name];},1485152156:function _(i){return[i.ProfileType,i.ProfileName,i.Profiles,i.Label];},370225590:function _(i){return[i.CfsFaces];},1981873012:function _(i){return[i.CurveOnRelatingElement,i.CurveOnRelatedElement];},45288368:function _(i){return[i.PointOnRelatingElement,i.PointOnRelatedElement,i.EccentricityInX,i.EccentricityInY,i.EccentricityInZ];},3050246964:function _(i){return[i.Dimensions,i.UnitType,i.Name];},2889183280:function _(i){return[i.Dimensions,i.UnitType,i.Name,i.ConversionFactor];},2713554722:function _(i){return[i.Dimensions,i.UnitType,i.Name,i.ConversionFactor,i.ConversionOffset];},539742890:function _(i){return[i.Name,i.Description,i.RelatingMonetaryUnit,i.RelatedMonetaryUnit,i.ExchangeRate,i.RateDateTime,i.RateSource];},3800577675:function _(i){var _a;return[i.Name,i.CurveFont,!i.CurveWidth?null:Labelise(i.CurveWidth),i.CurveColour,(_a=i.ModelOrDraughting)==null?void 0:_a.toString()];},1105321065:function _(i){return[i.Name,i.PatternList];},2367409068:function _(i){return[i.Name,i.CurveFont,i.CurveFontScaling];},3510044353:function _(i){return[i.VisibleSegmentLength,i.InvisibleSegmentLength];},3632507154:function _(i){return[i.ProfileType,i.ProfileName,i.ParentProfile,i.Operator,i.Label];},1154170062:function _(i){return[i.Identification,i.Name,i.Description,i.Location,i.Purpose,i.IntendedUse,i.Scope,i.Revision,i.DocumentOwner,i.Editors,i.CreationTime,i.LastRevisionTime,i.ElectronicFormat,i.ValidFrom,i.ValidUntil,i.Confidentiality,i.Status];},770865208:function _(i){return[i.Name,i.Description,i.RelatingDocument,i.RelatedDocuments,i.RelationshipType];},3732053477:function _(i){return[i.Location,i.Identification,i.Name,i.Description,i.ReferencedDocument];},3900360178:function _(i){return[i.EdgeStart,i.EdgeEnd];},476780140:function _(i){var _a;return[i.EdgeStart,i.EdgeEnd,i.EdgeGeometry,(_a=i.SameSense)==null?void 0:_a.toString()];},211053100:function _(i){return[i.Name,i.DataOrigin,i.UserDefinedDataOrigin,i.ActualDate,i.EarlyDate,i.LateDate,i.ScheduleDate];},297599258:function _(i){return[i.Name,i.Description,i.Properties];},1437805879:function _(i){return[i.Name,i.Description,i.RelatingReference,i.RelatedResourceObjects];},2556980723:function _(i){return[i.Bounds];},1809719519:function _(i){var _a;return[i.Bound,(_a=i.Orientation)==null?void 0:_a.toString()];},803316827:function _(i){var _a;return[i.Bound,(_a=i.Orientation)==null?void 0:_a.toString()];},3008276851:function _(i){var _a;return[i.Bounds,i.FaceSurface,(_a=i.SameSense)==null?void 0:_a.toString()];},4219587988:function _(i){return[i.Name,i.TensionFailureX,i.TensionFailureY,i.TensionFailureZ,i.CompressionFailureX,i.CompressionFailureY,i.CompressionFailureZ];},738692330:function _(i){var _a;return[i.Name,i.FillStyles,(_a=i.ModelorDraughting)==null?void 0:_a.toString()];},3448662350:function _(i){return[i.ContextIdentifier,i.ContextType,i.CoordinateSpaceDimension,i.Precision,i.WorldCoordinateSystem,i.TrueNorth];},2453401579:function _(_96){return[];},4142052618:function _(i){return[i.ContextIdentifier,i.ContextType,i.CoordinateSpaceDimension,i.Precision,i.WorldCoordinateSystem,i.TrueNorth,i.ParentContext,i.TargetScale,i.TargetView,i.UserDefinedTargetView];},3590301190:function _(i){return[i.Elements];},178086475:function _(i){return[i.PlacementLocation,i.PlacementRefDirection];},812098782:function _(i){var _a;return[i.BaseSurface,(_a=i.AgreementFlag)==null?void 0:_a.toString()];},3905492369:function _(i){var _a,_b;return[(_a=i.RepeatS)==null?void 0:_a.toString(),(_b=i.RepeatT)==null?void 0:_b.toString(),i.Mode,i.TextureTransform,i.Parameter,i.URLReference];},3570813810:function _(i){return[i.MappedTo,i.Opacity,i.Colours,i.ColourIndex];},1437953363:function _(i){return[i.Maps,i.MappedTo,i.TexCoords];},2133299955:function _(i){return[i.Maps,i.MappedTo,i.TexCoords,i.TexCoordIndex];},3741457305:function _(i){return[i.Name,i.Description,i.StartTime,i.EndTime,i.TimeSeriesDataType,i.DataOrigin,i.UserDefinedDataOrigin,i.Unit,i.Values];},1585845231:function _(i){return[i.Name,i.DataOrigin,i.UserDefinedDataOrigin,Labelise(i.LagValue),i.DurationType];},1402838566:function _(i){return[i.Name,i.LightColour,i.AmbientIntensity,i.Intensity];},125510826:function _(i){return[i.Name,i.LightColour,i.AmbientIntensity,i.Intensity];},2604431987:function _(i){return[i.Name,i.LightColour,i.AmbientIntensity,i.Intensity,i.Orientation];},4266656042:function _(i){return[i.Name,i.LightColour,i.AmbientIntensity,i.Intensity,i.Position,i.ColourAppearance,i.ColourTemperature,i.LuminousFlux,i.LightEmissionSource,i.LightDistributionDataSource];},1520743889:function _(i){return[i.Name,i.LightColour,i.AmbientIntensity,i.Intensity,i.Position,i.Radius,i.ConstantAttenuation,i.DistanceAttenuation,i.QuadricAttenuation];},3422422726:function _(i){return[i.Name,i.LightColour,i.AmbientIntensity,i.Intensity,i.Position,i.Radius,i.ConstantAttenuation,i.DistanceAttenuation,i.QuadricAttenuation,i.Orientation,i.ConcentrationExponent,i.SpreadAngle,i.BeamWidthAngle];},2624227202:function _(i){return[i.PlacementRelTo,i.RelativePlacement];},1008929658:function _(_97){return[];},2347385850:function _(i){return[i.MappingSource,i.MappingTarget];},1838606355:function _(i){return[i.Name,i.Description,i.Category];},3708119e3:function _(i){return[i.Name,i.Description,i.Material,i.Fraction,i.Category];},2852063980:function _(i){return[i.Name,i.Description,i.MaterialConstituents];},2022407955:function _(i){return[i.Name,i.Description,i.Representations,i.RepresentedMaterial];},1303795690:function _(i){return[i.ForLayerSet,i.LayerSetDirection,i.DirectionSense,i.OffsetFromReferenceLine,i.ReferenceExtent];},3079605661:function _(i){return[i.ForProfileSet,i.CardinalPoint,i.ReferenceExtent];},3404854881:function _(i){return[i.ForProfileSet,i.CardinalPoint,i.ReferenceExtent,i.ForProfileEndSet,i.CardinalEndPoint];},3265635763:function _(i){return[i.Name,i.Description,i.Properties,i.Material];},853536259:function _(i){return[i.Name,i.Description,i.RelatingMaterial,i.RelatedMaterials,i.Expression];},2998442950:function _(i){return[i.ProfileType,i.ProfileName,i.ParentProfile,i.Operator,i.Label];},219451334:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description];},2665983363:function _(i){return[i.CfsFaces];},1411181986:function _(i){return[i.Name,i.Description,i.RelatingOrganization,i.RelatedOrganizations];},1029017970:function _(i){var _a;return[i.EdgeStart,i.EdgeEnd,i.EdgeElement,(_a=i.Orientation)==null?void 0:_a.toString()];},2529465313:function _(i){return[i.ProfileType,i.ProfileName,i.Position];},2519244187:function _(i){return[i.EdgeList];},3021840470:function _(i){return[i.Name,i.Description,i.HasQuantities,i.Discrimination,i.Quality,i.Usage];},597895409:function _(i){var _a,_b;return[(_a=i.RepeatS)==null?void 0:_a.toString(),(_b=i.RepeatT)==null?void 0:_b.toString(),i.Mode,i.TextureTransform,i.Parameter,i.Width,i.Height,i.ColourComponents,i.Pixel];},2004835150:function _(i){return[i.Location];},1663979128:function _(i){return[i.SizeInX,i.SizeInY];},2067069095:function _(_98){return[];},4022376103:function _(i){return[i.BasisCurve,i.PointParameter];},1423911732:function _(i){return[i.BasisSurface,i.PointParameterU,i.PointParameterV];},2924175390:function _(i){return[i.Polygon];},2775532180:function _(i){var _a;return[i.BaseSurface,(_a=i.AgreementFlag)==null?void 0:_a.toString(),i.Position,i.PolygonalBoundary];},3727388367:function _(i){return[i.Name];},3778827333:function _(_99){return[];},1775413392:function _(i){return[i.Name];},673634403:function _(i){return[i.Name,i.Description,i.Representations];},2802850158:function _(i){return[i.Name,i.Description,i.Properties,i.ProfileDefinition];},2598011224:function _(i){return[i.Name,i.Description];},1680319473:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description];},148025276:function _(i){return[i.Name,i.Description,i.DependingProperty,i.DependantProperty,i.Expression];},3357820518:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description];},1482703590:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description];},2090586900:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description];},3615266464:function _(i){return[i.ProfileType,i.ProfileName,i.Position,i.XDim,i.YDim];},3413951693:function _(i){return[i.Name,i.Description,i.StartTime,i.EndTime,i.TimeSeriesDataType,i.DataOrigin,i.UserDefinedDataOrigin,i.Unit,i.TimeStep,i.Values];},1580146022:function _(i){return[i.TotalCrossSectionArea,i.SteelGrade,i.BarSurface,i.EffectiveDepth,i.NominalBarDiameter,i.BarCount];},478536968:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description];},2943643501:function _(i){return[i.Name,i.Description,i.RelatedResourceObjects,i.RelatingApproval];},1608871552:function _(i){return[i.Name,i.Description,i.RelatingConstraint,i.RelatedResourceObjects];},1042787934:function _(i){var _a;return[i.Name,i.DataOrigin,i.UserDefinedDataOrigin,i.ScheduleWork,i.ScheduleUsage,i.ScheduleStart,i.ScheduleFinish,i.ScheduleContour,i.LevelingDelay,(_a=i.IsOverAllocated)==null?void 0:_a.toString(),i.StatusTime,i.ActualWork,i.ActualUsage,i.ActualStart,i.ActualFinish,i.RemainingWork,i.RemainingUsage,i.Completion];},2778083089:function _(i){return[i.ProfileType,i.ProfileName,i.Position,i.XDim,i.YDim,i.RoundingRadius];},2042790032:function _(i){return[i.SectionType,i.StartProfile,i.EndProfile];},4165799628:function _(i){return[i.LongitudinalStartPosition,i.LongitudinalEndPosition,i.TransversePosition,i.ReinforcementRole,i.SectionDefinition,i.CrossSectionReinforcementDefinitions];},1509187699:function _(i){return[i.SpineCurve,i.CrossSections,i.CrossSectionPositions];},4124623270:function _(i){return[i.SbsmBoundary];},3692461612:function _(i){return[i.Name,i.Description];},2609359061:function _(i){return[i.Name,i.SlippageX,i.SlippageY,i.SlippageZ];},723233188:function _(_100){return[];},1595516126:function _(i){return[i.Name,i.LinearForceX,i.LinearForceY,i.LinearForceZ,i.LinearMomentX,i.LinearMomentY,i.LinearMomentZ];},2668620305:function _(i){return[i.Name,i.PlanarForceX,i.PlanarForceY,i.PlanarForceZ];},2473145415:function _(i){return[i.Name,i.DisplacementX,i.DisplacementY,i.DisplacementZ,i.RotationalDisplacementRX,i.RotationalDisplacementRY,i.RotationalDisplacementRZ];},1973038258:function _(i){return[i.Name,i.DisplacementX,i.DisplacementY,i.DisplacementZ,i.RotationalDisplacementRX,i.RotationalDisplacementRY,i.RotationalDisplacementRZ,i.Distortion];},1597423693:function _(i){return[i.Name,i.ForceX,i.ForceY,i.ForceZ,i.MomentX,i.MomentY,i.MomentZ];},1190533807:function _(i){return[i.Name,i.ForceX,i.ForceY,i.ForceZ,i.MomentX,i.MomentY,i.MomentZ,i.WarpingMoment];},2233826070:function _(i){return[i.EdgeStart,i.EdgeEnd,i.ParentEdge];},2513912981:function _(_101){return[];},1878645084:function _(i){return[i.SurfaceColour,i.Transparency,i.DiffuseColour,i.TransmissionColour,i.DiffuseTransmissionColour,i.ReflectionColour,i.SpecularColour,!i.SpecularHighlight?null:Labelise(i.SpecularHighlight),i.ReflectanceMethod];},2247615214:function _(i){return[i.SweptArea,i.Position];},1260650574:function _(i){return[i.Directrix,i.Radius,i.InnerRadius,i.StartParam,i.EndParam];},1096409881:function _(i){return[i.Directrix,i.Radius,i.InnerRadius,i.StartParam,i.EndParam,i.FilletRadius];},230924584:function _(i){return[i.SweptCurve,i.Position];},3071757647:function _(i){return[i.ProfileType,i.ProfileName,i.Position,i.Depth,i.FlangeWidth,i.WebThickness,i.FlangeThickness,i.FilletRadius,i.FlangeEdgeRadius,i.WebEdgeRadius,i.WebSlope,i.FlangeSlope];},901063453:function _(_102){return[];},4282788508:function _(i){return[i.Literal,i.Placement,i.Path];},3124975700:function _(i){return[i.Literal,i.Placement,i.Path,i.Extent,i.BoxAlignment];},1983826977:function _(i){return[i.Name,i.FontFamily,i.FontStyle,i.FontVariant,i.FontWeight,Labelise(i.FontSize)];},2715220739:function _(i){return[i.ProfileType,i.ProfileName,i.Position,i.BottomXDim,i.TopXDim,i.YDim,i.TopXOffset];},1628702193:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ApplicableOccurrence,i.HasPropertySets];},3736923433:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ApplicableOccurrence,i.HasPropertySets,i.Identification,i.LongDescription,i.ProcessType];},2347495698:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ApplicableOccurrence,i.HasPropertySets,i.RepresentationMaps,i.Tag];},3698973494:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ApplicableOccurrence,i.HasPropertySets,i.Identification,i.LongDescription,i.ResourceType];},427810014:function _(i){return[i.ProfileType,i.ProfileName,i.Position,i.Depth,i.FlangeWidth,i.WebThickness,i.FlangeThickness,i.FilletRadius,i.EdgeRadius,i.FlangeSlope];},1417489154:function _(i){return[i.Orientation,i.Magnitude];},2759199220:function _(i){return[i.LoopVertex];},1299126871:function _(i){var _a,_b;return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ApplicableOccurrence,i.HasPropertySets,i.RepresentationMaps,i.Tag,i.ConstructionType,i.OperationType,(_a=i.ParameterTakesPrecedence)==null?void 0:_a.toString(),(_b=i.Sizeable)==null?void 0:_b.toString()];},2543172580:function _(i){return[i.ProfileType,i.ProfileName,i.Position,i.Depth,i.FlangeWidth,i.WebThickness,i.FlangeThickness,i.FilletRadius,i.EdgeRadius];},3406155212:function _(i){var _a;return[i.Bounds,i.FaceSurface,(_a=i.SameSense)==null?void 0:_a.toString()];},669184980:function _(i){return[i.OuterBoundary,i.InnerBoundaries];},3207858831:function _(i){return[i.ProfileType,i.ProfileName,i.Position,i.BottomFlangeWidth,i.OverallDepth,i.WebThickness,i.BottomFlangeThickness,i.BottomFlangeFilletRadius,i.TopFlangeWidth,i.TopFlangeThickness,i.TopFlangeFilletRadius,i.BottomFlangeEdgeRadius,i.BottomFlangeSlope,i.TopFlangeEdgeRadius,i.TopFlangeSlope];},4261334040:function _(i){return[i.Location,i.Axis];},3125803723:function _(i){return[i.Location,i.RefDirection];},2740243338:function _(i){return[i.Location,i.Axis,i.RefDirection];},2736907675:function _(i){return[i.Operator,i.FirstOperand,i.SecondOperand];},4182860854:function _(_103){return[];},2581212453:function _(i){return[i.Corner,i.XDim,i.YDim,i.ZDim];},2713105998:function _(i){var _a;return[i.BaseSurface,(_a=i.AgreementFlag)==null?void 0:_a.toString(),i.Enclosure];},2898889636:function _(i){return[i.ProfileType,i.ProfileName,i.Position,i.Depth,i.Width,i.WallThickness,i.Girth,i.InternalFilletRadius];},1123145078:function _(i){return[i.Coordinates];},574549367:function _(_104){return[];},1675464909:function _(i){return[i.CoordList];},2059837836:function _(i){return[i.CoordList];},59481748:function _(i){return[i.Axis1,i.Axis2,i.LocalOrigin,i.Scale];},3749851601:function _(i){return[i.Axis1,i.Axis2,i.LocalOrigin,i.Scale];},3486308946:function _(i){return[i.Axis1,i.Axis2,i.LocalOrigin,i.Scale,i.Scale2];},3331915920:function _(i){return[i.Axis1,i.Axis2,i.LocalOrigin,i.Scale,i.Axis3];},1416205885:function _(i){return[i.Axis1,i.Axis2,i.LocalOrigin,i.Scale,i.Axis3,i.Scale2,i.Scale3];},1383045692:function _(i){return[i.ProfileType,i.ProfileName,i.Position,i.Radius];},2205249479:function _(i){return[i.CfsFaces];},776857604:function _(i){return[i.Name,i.Red,i.Green,i.Blue];},2542286263:function _(i){return[i.Name,i.Description,i.UsageName,i.HasProperties];},2485617015:function _(i){var _a;return[i.Transition,(_a=i.SameSense)==null?void 0:_a.toString(),i.ParentCurve];},2574617495:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ApplicableOccurrence,i.HasPropertySets,i.Identification,i.LongDescription,i.ResourceType,i.BaseCosts,i.BaseQuantity];},3419103109:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.LongName,i.Phase,i.RepresentationContexts,i.UnitsInContext];},1815067380:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ApplicableOccurrence,i.HasPropertySets,i.Identification,i.LongDescription,i.ResourceType,i.BaseCosts,i.BaseQuantity,i.PredefinedType];},2506170314:function _(i){return[i.Position];},2147822146:function _(i){return[i.TreeRootExpression];},2601014836:function _(_105){return[];},2827736869:function _(i){return[i.BasisSurface,i.OuterBoundary,i.InnerBoundaries];},2629017746:function _(i){var _a;return[i.BasisSurface,i.Boundaries,(_a=i.ImplicitOuter)==null?void 0:_a.toString()];},32440307:function _(i){return[i.DirectionRatios];},526551008:function _(i){var _a,_b;return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ApplicableOccurrence,i.HasPropertySets,i.RepresentationMaps,i.Tag,i.OperationType,i.ConstructionType,(_a=i.ParameterTakesPrecedence)==null?void 0:_a.toString(),(_b=i.Sizeable)==null?void 0:_b.toString()];},1472233963:function _(i){return[i.EdgeList];},1883228015:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.MethodOfMeasurement,i.Quantities];},339256511:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ApplicableOccurrence,i.HasPropertySets,i.RepresentationMaps,i.Tag,i.ElementType];},2777663545:function _(i){return[i.Position];},2835456948:function _(i){return[i.ProfileType,i.ProfileName,i.Position,i.SemiAxis1,i.SemiAxis2];},4024345920:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ApplicableOccurrence,i.HasPropertySets,i.Identification,i.LongDescription,i.ProcessType,i.PredefinedType,i.EventTriggerType,i.UserDefinedEventTriggerType];},477187591:function _(i){return[i.SweptArea,i.Position,i.ExtrudedDirection,i.Depth];},2804161546:function _(i){return[i.SweptArea,i.Position,i.ExtrudedDirection,i.Depth,i.EndSweptArea];},2047409740:function _(i){return[i.FbsmFaces];},374418227:function _(i){return[i.HatchLineAppearance,i.StartOfNextHatchLine,i.PointOfReferenceHatchLine,i.PatternStart,i.HatchLineAngle];},315944413:function _(i){return[i.TilingPattern,i.Tiles,i.TilingScale];},2652556860:function _(i){return[i.SweptArea,i.Position,i.Directrix,i.StartParam,i.EndParam,i.FixedReference];},4238390223:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ApplicableOccurrence,i.HasPropertySets,i.RepresentationMaps,i.Tag,i.ElementType];},1268542332:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ApplicableOccurrence,i.HasPropertySets,i.RepresentationMaps,i.Tag,i.ElementType,i.AssemblyPlace,i.PredefinedType];},4095422895:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ApplicableOccurrence,i.HasPropertySets,i.RepresentationMaps,i.Tag,i.ElementType,i.PredefinedType];},987898635:function _(i){return[i.Elements];},1484403080:function _(i){return[i.ProfileType,i.ProfileName,i.Position,i.OverallWidth,i.OverallDepth,i.WebThickness,i.FlangeThickness,i.FilletRadius,i.FlangeEdgeRadius,i.FlangeSlope];},178912537:function _(i){return[i.CoordIndex];},2294589976:function _(i){return[i.CoordIndex,i.InnerCoordIndices];},572779678:function _(i){return[i.ProfileType,i.ProfileName,i.Position,i.Depth,i.Width,i.Thickness,i.FilletRadius,i.EdgeRadius,i.LegSlope];},428585644:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ApplicableOccurrence,i.HasPropertySets,i.Identification,i.LongDescription,i.ResourceType,i.BaseCosts,i.BaseQuantity,i.PredefinedType];},1281925730:function _(i){return[i.Pnt,i.Dir];},1425443689:function _(i){return[i.Outer];},3888040117:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType];},3388369263:function _(i){var _a;return[i.BasisCurve,i.Distance,(_a=i.SelfIntersect)==null?void 0:_a.toString()];},3505215534:function _(i){var _a;return[i.BasisCurve,i.Distance,(_a=i.SelfIntersect)==null?void 0:_a.toString(),i.RefDirection];},1682466193:function _(i){return[i.BasisSurface,i.ReferenceCurve];},603570806:function _(i){return[i.SizeInX,i.SizeInY,i.Placement];},220341763:function _(i){return[i.Position];},759155922:function _(i){return[i.Name];},2559016684:function _(i){return[i.Name];},3967405729:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description];},569719735:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ApplicableOccurrence,i.HasPropertySets,i.Identification,i.LongDescription,i.ProcessType,i.PredefinedType];},2945172077:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.Identification,i.LongDescription];},4208778838:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.ObjectPlacement,i.Representation];},103090709:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.LongName,i.Phase,i.RepresentationContexts,i.UnitsInContext];},653396225:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.LongName,i.Phase,i.RepresentationContexts,i.UnitsInContext];},871118103:function _(i){return[i.Name,i.Description,!i.UpperBoundValue?null:Labelise(i.UpperBoundValue),!i.LowerBoundValue?null:Labelise(i.LowerBoundValue),i.Unit,!i.SetPointValue?null:Labelise(i.SetPointValue)];},4166981789:function _(i){return[i.Name,i.Description,!i.EnumerationValues?null:i.EnumerationValues.map(function(p){return Labelise(p);}),i.EnumerationReference];},2752243245:function _(i){return[i.Name,i.Description,!i.ListValues?null:i.ListValues.map(function(p){return Labelise(p);}),i.Unit];},941946838:function _(i){return[i.Name,i.Description,i.UsageName,i.PropertyReference];},1451395588:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.HasProperties];},492091185:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.TemplateType,i.ApplicableEntity,i.HasPropertyTemplates];},3650150729:function _(i){return[i.Name,i.Description,!i.NominalValue?null:Labelise(i.NominalValue),i.Unit];},110355661:function _(i){return[i.Name,i.Description,!i.DefiningValues?null:i.DefiningValues.map(function(p){return Labelise(p);}),!i.DefinedValues?null:i.DefinedValues.map(function(p){return Labelise(p);}),i.Expression,i.DefiningUnit,i.DefinedUnit,i.CurveInterpolation];},3521284610:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description];},3219374653:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.ObjectPlacement,i.Representation,i.ProxyType,i.Tag];},2770003689:function _(i){return[i.ProfileType,i.ProfileName,i.Position,i.XDim,i.YDim,i.WallThickness,i.InnerFilletRadius,i.OuterFilletRadius];},2798486643:function _(i){return[i.Position,i.XLength,i.YLength,i.Height];},3454111270:function _(i){var _a,_b;return[i.BasisSurface,i.U1,i.V1,i.U2,i.V2,(_a=i.Usense)==null?void 0:_a.toString(),(_b=i.Vsense)==null?void 0:_b.toString()];},3765753017:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.DefinitionType,i.ReinforcementSectionDefinitions];},3939117080:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.RelatedObjects,i.RelatedObjectsType];},1683148259:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.RelatedObjects,i.RelatedObjectsType,i.RelatingActor,i.ActingRole];},2495723537:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.RelatedObjects,i.RelatedObjectsType,i.RelatingControl];},1307041759:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.RelatedObjects,i.RelatedObjectsType,i.RelatingGroup];},1027710054:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.RelatedObjects,i.RelatedObjectsType,i.RelatingGroup,i.Factor];},4278684876:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.RelatedObjects,i.RelatedObjectsType,i.RelatingProcess,i.QuantityInProcess];},2857406711:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.RelatedObjects,i.RelatedObjectsType,i.RelatingProduct];},205026976:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.RelatedObjects,i.RelatedObjectsType,i.RelatingResource];},1865459582:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.RelatedObjects];},4095574036:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.RelatedObjects,i.RelatingApproval];},919958153:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.RelatedObjects,i.RelatingClassification];},2728634034:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.RelatedObjects,i.Intent,i.RelatingConstraint];},982818633:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.RelatedObjects,i.RelatingDocument];},3840914261:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.RelatedObjects,i.RelatingLibrary];},2655215786:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.RelatedObjects,i.RelatingMaterial];},826625072:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description];},1204542856:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ConnectionGeometry,i.RelatingElement,i.RelatedElement];},3945020480:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ConnectionGeometry,i.RelatingElement,i.RelatedElement,i.RelatingPriorities,i.RelatedPriorities,i.RelatedConnectionType,i.RelatingConnectionType];},4201705270:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.RelatingPort,i.RelatedElement];},3190031847:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.RelatingPort,i.RelatedPort,i.RealizingElement];},2127690289:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.RelatingElement,i.RelatedStructuralActivity];},1638771189:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.RelatingStructuralMember,i.RelatedStructuralConnection,i.AppliedCondition,i.AdditionalConditions,i.SupportedLength,i.ConditionCoordinateSystem];},504942748:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.RelatingStructuralMember,i.RelatedStructuralConnection,i.AppliedCondition,i.AdditionalConditions,i.SupportedLength,i.ConditionCoordinateSystem,i.ConnectionConstraint];},3678494232:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ConnectionGeometry,i.RelatingElement,i.RelatedElement,i.RealizingElements,i.ConnectionType];},3242617779:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.RelatedElements,i.RelatingStructure];},886880790:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.RelatingBuildingElement,i.RelatedCoverings];},2802773753:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.RelatingSpace,i.RelatedCoverings];},2565941209:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.RelatingContext,i.RelatedDefinitions];},2551354335:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description];},693640335:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description];},1462361463:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.RelatedObjects,i.RelatingObject];},4186316022:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.RelatedObjects,i.RelatingPropertyDefinition];},307848117:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.RelatedPropertySets,i.RelatingTemplate];},781010003:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.RelatedObjects,i.RelatingType];},3940055652:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.RelatingOpeningElement,i.RelatedBuildingElement];},279856033:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.RelatedControlElements,i.RelatingFlowElement];},427948657:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.RelatingElement,i.RelatedElement,i.InterferenceGeometry,i.InterferenceType,i.ImpliedOrder];},3268803585:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.RelatingObject,i.RelatedObjects];},750771296:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.RelatingElement,i.RelatedFeatureElement];},1245217292:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.RelatedElements,i.RelatingStructure];},4122056220:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.RelatingProcess,i.RelatedProcess,i.TimeLag,i.SequenceType,i.UserDefinedSequenceType];},366585022:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.RelatingSystem,i.RelatedBuildings];},3451746338:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.RelatingSpace,i.RelatedBuildingElement,i.ConnectionGeometry,i.PhysicalOrVirtualBoundary,i.InternalOrExternalBoundary];},3523091289:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.RelatingSpace,i.RelatedBuildingElement,i.ConnectionGeometry,i.PhysicalOrVirtualBoundary,i.InternalOrExternalBoundary,i.ParentBoundary];},1521410863:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.RelatingSpace,i.RelatedBuildingElement,i.ConnectionGeometry,i.PhysicalOrVirtualBoundary,i.InternalOrExternalBoundary,i.ParentBoundary,i.CorrespondingBoundary];},1401173127:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.RelatingBuildingElement,i.RelatedOpeningElement];},816062949:function _(i){var _a;return[i.Transition,(_a=i.SameSense)==null?void 0:_a.toString(),i.ParentCurve,i.ParamLength];},2914609552:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.Identification,i.LongDescription];},1856042241:function _(i){return[i.SweptArea,i.Position,i.Axis,i.Angle];},3243963512:function _(i){return[i.SweptArea,i.Position,i.Axis,i.Angle,i.EndSweptArea];},4158566097:function _(i){return[i.Position,i.Height,i.BottomRadius];},3626867408:function _(i){return[i.Position,i.Height,i.Radius];},3663146110:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.TemplateType,i.PrimaryMeasureType,i.SecondaryMeasureType,i.Enumerators,i.PrimaryUnit,i.SecondaryUnit,i.Expression,i.AccessState];},1412071761:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.ObjectPlacement,i.Representation,i.LongName];},710998568:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ApplicableOccurrence,i.HasPropertySets,i.RepresentationMaps,i.Tag,i.ElementType];},2706606064:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.ObjectPlacement,i.Representation,i.LongName,i.CompositionType];},3893378262:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ApplicableOccurrence,i.HasPropertySets,i.RepresentationMaps,i.Tag,i.ElementType];},463610769:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.ObjectPlacement,i.Representation,i.LongName,i.PredefinedType];},2481509218:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ApplicableOccurrence,i.HasPropertySets,i.RepresentationMaps,i.Tag,i.ElementType,i.PredefinedType,i.LongName];},451544542:function _(i){return[i.Position,i.Radius];},4015995234:function _(i){return[i.Position,i.Radius];},3544373492:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.ObjectPlacement,i.Representation,i.AppliedLoad,i.GlobalOrLocal];},3136571912:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.ObjectPlacement,i.Representation];},530289379:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.ObjectPlacement,i.Representation];},3689010777:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.ObjectPlacement,i.Representation,i.AppliedLoad,i.GlobalOrLocal];},3979015343:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.ObjectPlacement,i.Representation,i.PredefinedType,i.Thickness];},2218152070:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.ObjectPlacement,i.Representation,i.PredefinedType,i.Thickness];},603775116:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.ObjectPlacement,i.Representation,i.AppliedLoad,i.GlobalOrLocal,i.PredefinedType];},4095615324:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ApplicableOccurrence,i.HasPropertySets,i.Identification,i.LongDescription,i.ResourceType,i.BaseCosts,i.BaseQuantity,i.PredefinedType];},699246055:function _(i){return[i.Curve3D,i.AssociatedGeometry,i.MasterRepresentation];},2028607225:function _(i){return[i.SweptArea,i.Position,i.Directrix,i.StartParam,i.EndParam,i.ReferenceSurface];},2809605785:function _(i){return[i.SweptCurve,i.Position,i.ExtrudedDirection,i.Depth];},4124788165:function _(i){return[i.SweptCurve,i.Position,i.AxisPosition];},1580310250:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ApplicableOccurrence,i.HasPropertySets,i.RepresentationMaps,i.Tag,i.ElementType,i.PredefinedType];},3473067441:function _(i){var _a;return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.Identification,i.LongDescription,i.Status,i.WorkMethod,(_a=i.IsMilestone)==null?void 0:_a.toString(),i.Priority,i.TaskTime,i.PredefinedType];},3206491090:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ApplicableOccurrence,i.HasPropertySets,i.Identification,i.LongDescription,i.ProcessType,i.PredefinedType,i.WorkMethod];},2387106220:function _(i){return[i.Coordinates];},1935646853:function _(i){return[i.Position,i.MajorRadius,i.MinorRadius];},2097647324:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ApplicableOccurrence,i.HasPropertySets,i.RepresentationMaps,i.Tag,i.ElementType,i.PredefinedType];},2916149573:function _(i){var _a;return[i.Coordinates,i.Normals,(_a=i.Closed)==null?void 0:_a.toString(),i.CoordIndex,i.PnIndex];},336235671:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.LiningDepth,i.LiningThickness,i.TransomThickness,i.MullionThickness,i.FirstTransomOffset,i.SecondTransomOffset,i.FirstMullionOffset,i.SecondMullionOffset,i.ShapeAspectStyle,i.LiningOffset,i.LiningToPanelOffsetX,i.LiningToPanelOffsetY];},512836454:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.OperationType,i.PanelPosition,i.FrameDepth,i.FrameThickness,i.ShapeAspectStyle];},2296667514:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.TheActor];},1635779807:function _(i){return[i.Outer];},2603310189:function _(i){return[i.Outer,i.Voids];},1674181508:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.ObjectPlacement,i.Representation];},2887950389:function _(i){var _a,_b,_c;return[i.UDegree,i.VDegree,i.ControlPointsList,i.SurfaceForm,(_a=i.UClosed)==null?void 0:_a.toString(),(_b=i.VClosed)==null?void 0:_b.toString(),(_c=i.SelfIntersect)==null?void 0:_c.toString()];},167062518:function _(i){var _a,_b,_c;return[i.UDegree,i.VDegree,i.ControlPointsList,i.SurfaceForm,(_a=i.UClosed)==null?void 0:_a.toString(),(_b=i.VClosed)==null?void 0:_b.toString(),(_c=i.SelfIntersect)==null?void 0:_c.toString(),i.UMultiplicities,i.VMultiplicities,i.UKnots,i.VKnots,i.KnotSpec];},1334484129:function _(i){return[i.Position,i.XLength,i.YLength,i.ZLength];},3649129432:function _(i){return[i.Operator,i.FirstOperand,i.SecondOperand];},1260505505:function _(_106){return[];},4031249490:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.ObjectPlacement,i.Representation,i.LongName,i.CompositionType,i.ElevationOfRefHeight,i.ElevationOfTerrain,i.BuildingAddress];},1950629157:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ApplicableOccurrence,i.HasPropertySets,i.RepresentationMaps,i.Tag,i.ElementType];},3124254112:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.ObjectPlacement,i.Representation,i.LongName,i.CompositionType,i.Elevation];},2197970202:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ApplicableOccurrence,i.HasPropertySets,i.RepresentationMaps,i.Tag,i.ElementType,i.PredefinedType];},2937912522:function _(i){return[i.ProfileType,i.ProfileName,i.Position,i.Radius,i.WallThickness];},3893394355:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ApplicableOccurrence,i.HasPropertySets,i.RepresentationMaps,i.Tag,i.ElementType];},300633059:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ApplicableOccurrence,i.HasPropertySets,i.RepresentationMaps,i.Tag,i.ElementType,i.PredefinedType];},3875453745:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.UsageName,i.TemplateType,i.HasPropertyTemplates];},3732776249:function _(i){var _a;return[i.Segments,(_a=i.SelfIntersect)==null?void 0:_a.toString()];},15328376:function _(i){var _a;return[i.Segments,(_a=i.SelfIntersect)==null?void 0:_a.toString()];},2510884976:function _(i){return[i.Position];},2185764099:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ApplicableOccurrence,i.HasPropertySets,i.Identification,i.LongDescription,i.ResourceType,i.BaseCosts,i.BaseQuantity,i.PredefinedType];},4105962743:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ApplicableOccurrence,i.HasPropertySets,i.Identification,i.LongDescription,i.ResourceType,i.BaseCosts,i.BaseQuantity,i.PredefinedType];},1525564444:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ApplicableOccurrence,i.HasPropertySets,i.Identification,i.LongDescription,i.ResourceType,i.BaseCosts,i.BaseQuantity,i.PredefinedType];},2559216714:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.Identification,i.LongDescription,i.Usage,i.BaseCosts,i.BaseQuantity];},3293443760:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.Identification];},3895139033:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.Identification,i.PredefinedType,i.CostValues,i.CostQuantities];},1419761937:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.Identification,i.PredefinedType,i.Status,i.SubmittedOn,i.UpdateDate];},1916426348:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ApplicableOccurrence,i.HasPropertySets,i.RepresentationMaps,i.Tag,i.ElementType,i.PredefinedType];},3295246426:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.Identification,i.LongDescription,i.Usage,i.BaseCosts,i.BaseQuantity,i.PredefinedType];},1457835157:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ApplicableOccurrence,i.HasPropertySets,i.RepresentationMaps,i.Tag,i.ElementType,i.PredefinedType];},1213902940:function _(i){return[i.Position,i.Radius];},3256556792:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ApplicableOccurrence,i.HasPropertySets,i.RepresentationMaps,i.Tag,i.ElementType];},3849074793:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ApplicableOccurrence,i.HasPropertySets,i.RepresentationMaps,i.Tag,i.ElementType];},2963535650:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.LiningDepth,i.LiningThickness,i.ThresholdDepth,i.ThresholdThickness,i.TransomThickness,i.TransomOffset,i.LiningOffset,i.ThresholdOffset,i.CasingThickness,i.CasingDepth,i.ShapeAspectStyle,i.LiningToPanelOffsetX,i.LiningToPanelOffsetY];},1714330368:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.PanelDepth,i.PanelOperation,i.PanelWidth,i.PanelPosition,i.ShapeAspectStyle];},2323601079:function _(i){var _a;return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ApplicableOccurrence,i.HasPropertySets,i.RepresentationMaps,i.Tag,i.ElementType,i.PredefinedType,i.OperationType,(_a=i.ParameterTakesPrecedence)==null?void 0:_a.toString(),i.UserDefinedOperationType];},445594917:function _(i){return[i.Name];},4006246654:function _(i){return[i.Name];},1758889154:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.ObjectPlacement,i.Representation,i.Tag];},4123344466:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.ObjectPlacement,i.Representation,i.Tag,i.AssemblyPlace,i.PredefinedType];},2397081782:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ApplicableOccurrence,i.HasPropertySets,i.RepresentationMaps,i.Tag,i.ElementType,i.PredefinedType];},1623761950:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.ObjectPlacement,i.Representation,i.Tag];},2590856083:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ApplicableOccurrence,i.HasPropertySets,i.RepresentationMaps,i.Tag,i.ElementType];},1704287377:function _(i){return[i.Position,i.SemiAxis1,i.SemiAxis2];},2107101300:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ApplicableOccurrence,i.HasPropertySets,i.RepresentationMaps,i.Tag,i.ElementType];},132023988:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ApplicableOccurrence,i.HasPropertySets,i.RepresentationMaps,i.Tag,i.ElementType,i.PredefinedType];},3174744832:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ApplicableOccurrence,i.HasPropertySets,i.RepresentationMaps,i.Tag,i.ElementType,i.PredefinedType];},3390157468:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ApplicableOccurrence,i.HasPropertySets,i.RepresentationMaps,i.Tag,i.ElementType,i.PredefinedType];},4148101412:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.Identification,i.LongDescription,i.PredefinedType,i.EventTriggerType,i.UserDefinedEventTriggerType,i.EventOccurenceTime];},2853485674:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.ObjectPlacement,i.Representation,i.LongName];},807026263:function _(i){return[i.Outer];},3737207727:function _(i){return[i.Outer,i.Voids];},647756555:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.ObjectPlacement,i.Representation,i.Tag,i.PredefinedType];},2489546625:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ApplicableOccurrence,i.HasPropertySets,i.RepresentationMaps,i.Tag,i.ElementType,i.PredefinedType];},2827207264:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.ObjectPlacement,i.Representation,i.Tag];},2143335405:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.ObjectPlacement,i.Representation,i.Tag];},1287392070:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.ObjectPlacement,i.Representation,i.Tag];},3907093117:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ApplicableOccurrence,i.HasPropertySets,i.RepresentationMaps,i.Tag,i.ElementType];},3198132628:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ApplicableOccurrence,i.HasPropertySets,i.RepresentationMaps,i.Tag,i.ElementType];},3815607619:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ApplicableOccurrence,i.HasPropertySets,i.RepresentationMaps,i.Tag,i.ElementType,i.PredefinedType];},1482959167:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ApplicableOccurrence,i.HasPropertySets,i.RepresentationMaps,i.Tag,i.ElementType];},1834744321:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ApplicableOccurrence,i.HasPropertySets,i.RepresentationMaps,i.Tag,i.ElementType];},1339347760:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ApplicableOccurrence,i.HasPropertySets,i.RepresentationMaps,i.Tag,i.ElementType];},2297155007:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ApplicableOccurrence,i.HasPropertySets,i.RepresentationMaps,i.Tag,i.ElementType];},3009222698:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ApplicableOccurrence,i.HasPropertySets,i.RepresentationMaps,i.Tag,i.ElementType];},1893162501:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ApplicableOccurrence,i.HasPropertySets,i.RepresentationMaps,i.Tag,i.ElementType,i.PredefinedType];},263784265:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.ObjectPlacement,i.Representation,i.Tag];},1509553395:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.ObjectPlacement,i.Representation,i.Tag,i.PredefinedType];},3493046030:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.ObjectPlacement,i.Representation,i.Tag,i.PredefinedType];},3009204131:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.ObjectPlacement,i.Representation,i.UAxes,i.VAxes,i.WAxes,i.PredefinedType];},2706460486:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType];},1251058090:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ApplicableOccurrence,i.HasPropertySets,i.RepresentationMaps,i.Tag,i.ElementType,i.PredefinedType];},1806887404:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ApplicableOccurrence,i.HasPropertySets,i.RepresentationMaps,i.Tag,i.ElementType,i.PredefinedType];},2571569899:function _(i){var _a;return[i.Points,!i.Segments?null:i.Segments.map(function(p){return Labelise(p);}),(_a=i.SelfIntersect)==null?void 0:_a.toString()];},3946677679:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ApplicableOccurrence,i.HasPropertySets,i.RepresentationMaps,i.Tag,i.ElementType,i.PredefinedType];},3113134337:function _(i){return[i.Curve3D,i.AssociatedGeometry,i.MasterRepresentation];},2391368822:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.PredefinedType,i.Jurisdiction,i.ResponsiblePersons,i.LastUpdateDate,i.CurrentValue,i.OriginalValue];},4288270099:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ApplicableOccurrence,i.HasPropertySets,i.RepresentationMaps,i.Tag,i.ElementType,i.PredefinedType];},3827777499:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.Identification,i.LongDescription,i.Usage,i.BaseCosts,i.BaseQuantity,i.PredefinedType];},1051575348:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ApplicableOccurrence,i.HasPropertySets,i.RepresentationMaps,i.Tag,i.ElementType,i.PredefinedType];},1161773419:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ApplicableOccurrence,i.HasPropertySets,i.RepresentationMaps,i.Tag,i.ElementType,i.PredefinedType];},377706215:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.ObjectPlacement,i.Representation,i.Tag,i.NominalDiameter,i.NominalLength,i.PredefinedType];},2108223431:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ApplicableOccurrence,i.HasPropertySets,i.RepresentationMaps,i.Tag,i.ElementType,i.PredefinedType,i.NominalDiameter,i.NominalLength];},1114901282:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ApplicableOccurrence,i.HasPropertySets,i.RepresentationMaps,i.Tag,i.ElementType,i.PredefinedType];},3181161470:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ApplicableOccurrence,i.HasPropertySets,i.RepresentationMaps,i.Tag,i.ElementType,i.PredefinedType];},977012517:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ApplicableOccurrence,i.HasPropertySets,i.RepresentationMaps,i.Tag,i.ElementType,i.PredefinedType];},4143007308:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.TheActor,i.PredefinedType];},3588315303:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.ObjectPlacement,i.Representation,i.Tag,i.PredefinedType];},3079942009:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.ObjectPlacement,i.Representation,i.Tag,i.PredefinedType];},2837617999:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ApplicableOccurrence,i.HasPropertySets,i.RepresentationMaps,i.Tag,i.ElementType,i.PredefinedType];},2382730787:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.Identification,i.LifeCyclePhase,i.PredefinedType];},3566463478:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.OperationType,i.PanelPosition,i.FrameDepth,i.FrameThickness,i.ShapeAspectStyle];},3327091369:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.Identification,i.PredefinedType,i.Status,i.LongDescription];},1158309216:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ApplicableOccurrence,i.HasPropertySets,i.RepresentationMaps,i.Tag,i.ElementType,i.PredefinedType];},804291784:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ApplicableOccurrence,i.HasPropertySets,i.RepresentationMaps,i.Tag,i.ElementType,i.PredefinedType];},4231323485:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ApplicableOccurrence,i.HasPropertySets,i.RepresentationMaps,i.Tag,i.ElementType,i.PredefinedType];},4017108033:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ApplicableOccurrence,i.HasPropertySets,i.RepresentationMaps,i.Tag,i.ElementType,i.PredefinedType];},2839578677:function _(i){var _a;return[i.Coordinates,(_a=i.Closed)==null?void 0:_a.toString(),i.Faces,i.PnIndex];},3724593414:function _(i){return[i.Points];},3740093272:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.ObjectPlacement,i.Representation];},2744685151:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.Identification,i.LongDescription,i.PredefinedType];},2904328755:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.Identification,i.PredefinedType,i.Status,i.LongDescription];},3651124850:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.ObjectPlacement,i.Representation,i.Tag,i.PredefinedType];},1842657554:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ApplicableOccurrence,i.HasPropertySets,i.RepresentationMaps,i.Tag,i.ElementType,i.PredefinedType];},2250791053:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ApplicableOccurrence,i.HasPropertySets,i.RepresentationMaps,i.Tag,i.ElementType,i.PredefinedType];},2893384427:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ApplicableOccurrence,i.HasPropertySets,i.RepresentationMaps,i.Tag,i.ElementType,i.PredefinedType];},2324767716:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ApplicableOccurrence,i.HasPropertySets,i.RepresentationMaps,i.Tag,i.ElementType,i.PredefinedType];},1469900589:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ApplicableOccurrence,i.HasPropertySets,i.RepresentationMaps,i.Tag,i.ElementType,i.PredefinedType];},683857671:function _(i){var _a,_b,_c;return[i.UDegree,i.VDegree,i.ControlPointsList,i.SurfaceForm,(_a=i.UClosed)==null?void 0:_a.toString(),(_b=i.VClosed)==null?void 0:_b.toString(),(_c=i.SelfIntersect)==null?void 0:_c.toString(),i.UMultiplicities,i.VMultiplicities,i.UKnots,i.VKnots,i.KnotSpec,i.WeightsData];},3027567501:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.ObjectPlacement,i.Representation,i.Tag,i.SteelGrade];},964333572:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ApplicableOccurrence,i.HasPropertySets,i.RepresentationMaps,i.Tag,i.ElementType];},2320036040:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.ObjectPlacement,i.Representation,i.Tag,i.SteelGrade,i.MeshLength,i.MeshWidth,i.LongitudinalBarNominalDiameter,i.TransverseBarNominalDiameter,i.LongitudinalBarCrossSectionArea,i.TransverseBarCrossSectionArea,i.LongitudinalBarSpacing,i.TransverseBarSpacing,i.PredefinedType];},2310774935:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ApplicableOccurrence,i.HasPropertySets,i.RepresentationMaps,i.Tag,i.ElementType,i.PredefinedType,i.MeshLength,i.MeshWidth,i.LongitudinalBarNominalDiameter,i.TransverseBarNominalDiameter,i.LongitudinalBarCrossSectionArea,i.TransverseBarCrossSectionArea,i.LongitudinalBarSpacing,i.TransverseBarSpacing,i.BendingShapeCode,!i.BendingParameters?null:i.BendingParameters.map(function(p){return Labelise(p);})];},160246688:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.RelatingObject,i.RelatedObjects];},2781568857:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ApplicableOccurrence,i.HasPropertySets,i.RepresentationMaps,i.Tag,i.ElementType,i.PredefinedType];},1768891740:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ApplicableOccurrence,i.HasPropertySets,i.RepresentationMaps,i.Tag,i.ElementType,i.PredefinedType];},2157484638:function _(i){return[i.Curve3D,i.AssociatedGeometry,i.MasterRepresentation];},4074543187:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ApplicableOccurrence,i.HasPropertySets,i.RepresentationMaps,i.Tag,i.ElementType,i.PredefinedType];},4097777520:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.ObjectPlacement,i.Representation,i.LongName,i.CompositionType,i.RefLatitude,i.RefLongitude,i.RefElevation,i.LandTitleNumber,i.SiteAddress];},2533589738:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ApplicableOccurrence,i.HasPropertySets,i.RepresentationMaps,i.Tag,i.ElementType,i.PredefinedType];},1072016465:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ApplicableOccurrence,i.HasPropertySets,i.RepresentationMaps,i.Tag,i.ElementType,i.PredefinedType];},3856911033:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.ObjectPlacement,i.Representation,i.LongName,i.CompositionType,i.PredefinedType,i.ElevationWithFlooring];},1305183839:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ApplicableOccurrence,i.HasPropertySets,i.RepresentationMaps,i.Tag,i.ElementType,i.PredefinedType];},3812236995:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ApplicableOccurrence,i.HasPropertySets,i.RepresentationMaps,i.Tag,i.ElementType,i.PredefinedType,i.LongName];},3112655638:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ApplicableOccurrence,i.HasPropertySets,i.RepresentationMaps,i.Tag,i.ElementType,i.PredefinedType];},1039846685:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ApplicableOccurrence,i.HasPropertySets,i.RepresentationMaps,i.Tag,i.ElementType,i.PredefinedType];},338393293:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ApplicableOccurrence,i.HasPropertySets,i.RepresentationMaps,i.Tag,i.ElementType,i.PredefinedType];},682877961:function _(i){var _a;return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.ObjectPlacement,i.Representation,i.AppliedLoad,i.GlobalOrLocal,(_a=i.DestabilizingLoad)==null?void 0:_a.toString()];},1179482911:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.ObjectPlacement,i.Representation,i.AppliedCondition];},1004757350:function _(i){var _a;return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.ObjectPlacement,i.Representation,i.AppliedLoad,i.GlobalOrLocal,(_a=i.DestabilizingLoad)==null?void 0:_a.toString(),i.ProjectedOrTrue,i.PredefinedType];},4243806635:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.ObjectPlacement,i.Representation,i.AppliedCondition,i.Axis];},214636428:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.ObjectPlacement,i.Representation,i.PredefinedType,i.Axis];},2445595289:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.ObjectPlacement,i.Representation,i.PredefinedType,i.Axis];},2757150158:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.ObjectPlacement,i.Representation,i.AppliedLoad,i.GlobalOrLocal,i.PredefinedType];},1807405624:function _(i){var _a;return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.ObjectPlacement,i.Representation,i.AppliedLoad,i.GlobalOrLocal,(_a=i.DestabilizingLoad)==null?void 0:_a.toString(),i.ProjectedOrTrue,i.PredefinedType];},1252848954:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.PredefinedType,i.ActionType,i.ActionSource,i.Coefficient,i.Purpose];},2082059205:function _(i){var _a;return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.ObjectPlacement,i.Representation,i.AppliedLoad,i.GlobalOrLocal,(_a=i.DestabilizingLoad)==null?void 0:_a.toString()];},734778138:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.ObjectPlacement,i.Representation,i.AppliedCondition,i.ConditionCoordinateSystem];},1235345126:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.ObjectPlacement,i.Representation,i.AppliedLoad,i.GlobalOrLocal];},2986769608:function _(i){var _a;return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.TheoryType,i.ResultForLoadGroup,(_a=i.IsLinear)==null?void 0:_a.toString()];},3657597509:function _(i){var _a;return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.ObjectPlacement,i.Representation,i.AppliedLoad,i.GlobalOrLocal,(_a=i.DestabilizingLoad)==null?void 0:_a.toString(),i.ProjectedOrTrue,i.PredefinedType];},1975003073:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.ObjectPlacement,i.Representation,i.AppliedCondition];},148013059:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.Identification,i.LongDescription,i.Usage,i.BaseCosts,i.BaseQuantity,i.PredefinedType];},3101698114:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.ObjectPlacement,i.Representation,i.Tag,i.PredefinedType];},2315554128:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ApplicableOccurrence,i.HasPropertySets,i.RepresentationMaps,i.Tag,i.ElementType,i.PredefinedType];},2254336722:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType];},413509423:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.ObjectPlacement,i.Representation,i.Tag,i.PredefinedType];},5716631:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ApplicableOccurrence,i.HasPropertySets,i.RepresentationMaps,i.Tag,i.ElementType,i.PredefinedType];},3824725483:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.ObjectPlacement,i.Representation,i.Tag,i.SteelGrade,i.PredefinedType,i.NominalDiameter,i.CrossSectionArea,i.TensionForce,i.PreStress,i.FrictionCoefficient,i.AnchorageSlip,i.MinCurvatureRadius];},2347447852:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.ObjectPlacement,i.Representation,i.Tag,i.SteelGrade,i.PredefinedType];},3081323446:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ApplicableOccurrence,i.HasPropertySets,i.RepresentationMaps,i.Tag,i.ElementType,i.PredefinedType];},2415094496:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ApplicableOccurrence,i.HasPropertySets,i.RepresentationMaps,i.Tag,i.ElementType,i.PredefinedType,i.NominalDiameter,i.CrossSectionArea,i.SheathDiameter];},1692211062:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ApplicableOccurrence,i.HasPropertySets,i.RepresentationMaps,i.Tag,i.ElementType,i.PredefinedType];},1620046519:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.ObjectPlacement,i.Representation,i.Tag,i.PredefinedType];},3593883385:function _(i){var _a;return[i.BasisCurve,i.Trim1,i.Trim2,(_a=i.SenseAgreement)==null?void 0:_a.toString(),i.MasterRepresentation];},1600972822:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ApplicableOccurrence,i.HasPropertySets,i.RepresentationMaps,i.Tag,i.ElementType,i.PredefinedType];},1911125066:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ApplicableOccurrence,i.HasPropertySets,i.RepresentationMaps,i.Tag,i.ElementType,i.PredefinedType];},728799441:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ApplicableOccurrence,i.HasPropertySets,i.RepresentationMaps,i.Tag,i.ElementType,i.PredefinedType];},2391383451:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.ObjectPlacement,i.Representation,i.Tag,i.PredefinedType];},3313531582:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ApplicableOccurrence,i.HasPropertySets,i.RepresentationMaps,i.Tag,i.ElementType,i.PredefinedType];},2769231204:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.ObjectPlacement,i.Representation,i.Tag];},926996030:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.ObjectPlacement,i.Representation,i.Tag,i.PredefinedType];},1898987631:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ApplicableOccurrence,i.HasPropertySets,i.RepresentationMaps,i.Tag,i.ElementType,i.PredefinedType];},1133259667:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ApplicableOccurrence,i.HasPropertySets,i.RepresentationMaps,i.Tag,i.ElementType,i.PredefinedType];},4009809668:function _(i){var _a;return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ApplicableOccurrence,i.HasPropertySets,i.RepresentationMaps,i.Tag,i.ElementType,i.PredefinedType,i.PartitioningType,(_a=i.ParameterTakesPrecedence)==null?void 0:_a.toString(),i.UserDefinedPartitioningType];},4088093105:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.Identification,i.WorkingTimes,i.ExceptionTimes,i.PredefinedType];},1028945134:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.Identification,i.CreationDate,i.Creators,i.Purpose,i.Duration,i.TotalFloat,i.StartTime,i.FinishTime];},4218914973:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.Identification,i.CreationDate,i.Creators,i.Purpose,i.Duration,i.TotalFloat,i.StartTime,i.FinishTime,i.PredefinedType];},3342526732:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.Identification,i.CreationDate,i.Creators,i.Purpose,i.Duration,i.TotalFloat,i.StartTime,i.FinishTime,i.PredefinedType];},1033361043:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.LongName];},3821786052:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.Identification,i.PredefinedType,i.Status,i.LongDescription];},1411407467:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ApplicableOccurrence,i.HasPropertySets,i.RepresentationMaps,i.Tag,i.ElementType,i.PredefinedType];},3352864051:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ApplicableOccurrence,i.HasPropertySets,i.RepresentationMaps,i.Tag,i.ElementType,i.PredefinedType];},1871374353:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ApplicableOccurrence,i.HasPropertySets,i.RepresentationMaps,i.Tag,i.ElementType,i.PredefinedType];},3460190687:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.Identification,i.OriginalValue,i.CurrentValue,i.TotalReplacementCost,i.Owner,i.User,i.ResponsiblePerson,i.IncorporationDate,i.DepreciatedValue];},1532957894:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ApplicableOccurrence,i.HasPropertySets,i.RepresentationMaps,i.Tag,i.ElementType,i.PredefinedType];},1967976161:function _(i){var _a,_b;return[i.Degree,i.ControlPointsList,i.CurveForm,(_a=i.ClosedCurve)==null?void 0:_a.toString(),(_b=i.SelfIntersect)==null?void 0:_b.toString()];},2461110595:function _(i){var _a,_b;return[i.Degree,i.ControlPointsList,i.CurveForm,(_a=i.ClosedCurve)==null?void 0:_a.toString(),(_b=i.SelfIntersect)==null?void 0:_b.toString(),i.KnotMultiplicities,i.Knots,i.KnotSpec];},819618141:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ApplicableOccurrence,i.HasPropertySets,i.RepresentationMaps,i.Tag,i.ElementType,i.PredefinedType];},231477066:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ApplicableOccurrence,i.HasPropertySets,i.RepresentationMaps,i.Tag,i.ElementType,i.PredefinedType];},1136057603:function _(i){var _a;return[i.Segments,(_a=i.SelfIntersect)==null?void 0:_a.toString()];},3299480353:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.ObjectPlacement,i.Representation,i.Tag];},2979338954:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.ObjectPlacement,i.Representation,i.Tag,i.PredefinedType];},39481116:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ApplicableOccurrence,i.HasPropertySets,i.RepresentationMaps,i.Tag,i.ElementType,i.PredefinedType];},1095909175:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.ObjectPlacement,i.Representation,i.Tag,i.PredefinedType];},1909888760:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ApplicableOccurrence,i.HasPropertySets,i.RepresentationMaps,i.Tag,i.ElementType,i.PredefinedType];},1177604601:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.PredefinedType,i.LongName];},2188180465:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ApplicableOccurrence,i.HasPropertySets,i.RepresentationMaps,i.Tag,i.ElementType,i.PredefinedType];},395041908:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ApplicableOccurrence,i.HasPropertySets,i.RepresentationMaps,i.Tag,i.ElementType,i.PredefinedType];},3293546465:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ApplicableOccurrence,i.HasPropertySets,i.RepresentationMaps,i.Tag,i.ElementType,i.PredefinedType];},2674252688:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ApplicableOccurrence,i.HasPropertySets,i.RepresentationMaps,i.Tag,i.ElementType,i.PredefinedType];},1285652485:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ApplicableOccurrence,i.HasPropertySets,i.RepresentationMaps,i.Tag,i.ElementType,i.PredefinedType];},2951183804:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ApplicableOccurrence,i.HasPropertySets,i.RepresentationMaps,i.Tag,i.ElementType,i.PredefinedType];},3296154744:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.ObjectPlacement,i.Representation,i.Tag,i.PredefinedType];},2611217952:function _(i){return[i.Position,i.Radius];},1677625105:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.ObjectPlacement,i.Representation,i.Tag];},2301859152:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ApplicableOccurrence,i.HasPropertySets,i.RepresentationMaps,i.Tag,i.ElementType,i.PredefinedType];},843113511:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.ObjectPlacement,i.Representation,i.Tag,i.PredefinedType];},905975707:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.ObjectPlacement,i.Representation,i.Tag,i.PredefinedType];},400855858:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ApplicableOccurrence,i.HasPropertySets,i.RepresentationMaps,i.Tag,i.ElementType,i.PredefinedType];},3850581409:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ApplicableOccurrence,i.HasPropertySets,i.RepresentationMaps,i.Tag,i.ElementType,i.PredefinedType];},2816379211:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ApplicableOccurrence,i.HasPropertySets,i.RepresentationMaps,i.Tag,i.ElementType,i.PredefinedType];},3898045240:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.Identification,i.LongDescription,i.Usage,i.BaseCosts,i.BaseQuantity,i.PredefinedType];},1060000209:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.Identification,i.LongDescription,i.Usage,i.BaseCosts,i.BaseQuantity,i.PredefinedType];},488727124:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.Identification,i.LongDescription,i.Usage,i.BaseCosts,i.BaseQuantity,i.PredefinedType];},335055490:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ApplicableOccurrence,i.HasPropertySets,i.RepresentationMaps,i.Tag,i.ElementType,i.PredefinedType];},2954562838:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ApplicableOccurrence,i.HasPropertySets,i.RepresentationMaps,i.Tag,i.ElementType,i.PredefinedType];},1973544240:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.ObjectPlacement,i.Representation,i.Tag,i.PredefinedType];},3495092785:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.ObjectPlacement,i.Representation,i.Tag,i.PredefinedType];},3961806047:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ApplicableOccurrence,i.HasPropertySets,i.RepresentationMaps,i.Tag,i.ElementType,i.PredefinedType];},1335981549:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.ObjectPlacement,i.Representation,i.Tag,i.PredefinedType];},2635815018:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ApplicableOccurrence,i.HasPropertySets,i.RepresentationMaps,i.Tag,i.ElementType,i.PredefinedType];},1599208980:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ApplicableOccurrence,i.HasPropertySets,i.RepresentationMaps,i.Tag,i.ElementType,i.PredefinedType];},2063403501:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ApplicableOccurrence,i.HasPropertySets,i.RepresentationMaps,i.Tag,i.ElementType];},1945004755:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.ObjectPlacement,i.Representation,i.Tag];},3040386961:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.ObjectPlacement,i.Representation,i.Tag];},3041715199:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.ObjectPlacement,i.Representation,i.FlowDirection,i.PredefinedType,i.SystemType];},3205830791:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.LongName,i.PredefinedType];},395920057:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.ObjectPlacement,i.Representation,i.Tag,i.OverallHeight,i.OverallWidth,i.PredefinedType,i.OperationType,i.UserDefinedOperationType];},3242481149:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.ObjectPlacement,i.Representation,i.Tag,i.OverallHeight,i.OverallWidth,i.PredefinedType,i.OperationType,i.UserDefinedOperationType];},869906466:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ApplicableOccurrence,i.HasPropertySets,i.RepresentationMaps,i.Tag,i.ElementType,i.PredefinedType];},3760055223:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ApplicableOccurrence,i.HasPropertySets,i.RepresentationMaps,i.Tag,i.ElementType,i.PredefinedType];},2030761528:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ApplicableOccurrence,i.HasPropertySets,i.RepresentationMaps,i.Tag,i.ElementType,i.PredefinedType];},663422040:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ApplicableOccurrence,i.HasPropertySets,i.RepresentationMaps,i.Tag,i.ElementType,i.PredefinedType];},2417008758:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ApplicableOccurrence,i.HasPropertySets,i.RepresentationMaps,i.Tag,i.ElementType,i.PredefinedType];},3277789161:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ApplicableOccurrence,i.HasPropertySets,i.RepresentationMaps,i.Tag,i.ElementType,i.PredefinedType];},1534661035:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ApplicableOccurrence,i.HasPropertySets,i.RepresentationMaps,i.Tag,i.ElementType,i.PredefinedType];},1217240411:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ApplicableOccurrence,i.HasPropertySets,i.RepresentationMaps,i.Tag,i.ElementType,i.PredefinedType];},712377611:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ApplicableOccurrence,i.HasPropertySets,i.RepresentationMaps,i.Tag,i.ElementType,i.PredefinedType];},1658829314:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.ObjectPlacement,i.Representation,i.Tag];},2814081492:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.ObjectPlacement,i.Representation,i.Tag,i.PredefinedType];},3747195512:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.ObjectPlacement,i.Representation,i.Tag,i.PredefinedType];},484807127:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.ObjectPlacement,i.Representation,i.Tag,i.PredefinedType];},1209101575:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.ObjectPlacement,i.Representation,i.LongName,i.PredefinedType];},346874300:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ApplicableOccurrence,i.HasPropertySets,i.RepresentationMaps,i.Tag,i.ElementType,i.PredefinedType];},1810631287:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ApplicableOccurrence,i.HasPropertySets,i.RepresentationMaps,i.Tag,i.ElementType,i.PredefinedType];},4222183408:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ApplicableOccurrence,i.HasPropertySets,i.RepresentationMaps,i.Tag,i.ElementType,i.PredefinedType];},2058353004:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.ObjectPlacement,i.Representation,i.Tag];},4278956645:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.ObjectPlacement,i.Representation,i.Tag];},4037862832:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ApplicableOccurrence,i.HasPropertySets,i.RepresentationMaps,i.Tag,i.ElementType,i.PredefinedType];},2188021234:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.ObjectPlacement,i.Representation,i.Tag,i.PredefinedType];},3132237377:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.ObjectPlacement,i.Representation,i.Tag];},987401354:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.ObjectPlacement,i.Representation,i.Tag];},707683696:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.ObjectPlacement,i.Representation,i.Tag];},2223149337:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.ObjectPlacement,i.Representation,i.Tag];},3508470533:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.ObjectPlacement,i.Representation,i.Tag];},900683007:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.ObjectPlacement,i.Representation,i.Tag,i.PredefinedType];},3319311131:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.ObjectPlacement,i.Representation,i.Tag,i.PredefinedType];},2068733104:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.ObjectPlacement,i.Representation,i.Tag,i.PredefinedType];},4175244083:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.ObjectPlacement,i.Representation,i.Tag,i.PredefinedType];},2176052936:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.ObjectPlacement,i.Representation,i.Tag,i.PredefinedType];},76236018:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.ObjectPlacement,i.Representation,i.Tag,i.PredefinedType];},629592764:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.ObjectPlacement,i.Representation,i.Tag,i.PredefinedType];},1437502449:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.ObjectPlacement,i.Representation,i.Tag,i.PredefinedType];},1073191201:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.ObjectPlacement,i.Representation,i.Tag,i.PredefinedType];},1911478936:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.ObjectPlacement,i.Representation,i.Tag,i.PredefinedType];},2474470126:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.ObjectPlacement,i.Representation,i.Tag,i.PredefinedType];},144952367:function _(i){var _a;return[i.Segments,(_a=i.SelfIntersect)==null?void 0:_a.toString()];},3694346114:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.ObjectPlacement,i.Representation,i.Tag,i.PredefinedType];},1687234759:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.ObjectPlacement,i.Representation,i.Tag,i.PredefinedType,i.ConstructionType];},310824031:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.ObjectPlacement,i.Representation,i.Tag,i.PredefinedType];},3612865200:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.ObjectPlacement,i.Representation,i.Tag,i.PredefinedType];},3171933400:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.ObjectPlacement,i.Representation,i.Tag,i.PredefinedType];},1156407060:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.ObjectPlacement,i.Representation,i.Tag,i.PredefinedType];},738039164:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.ObjectPlacement,i.Representation,i.Tag,i.PredefinedType];},655969474:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ApplicableOccurrence,i.HasPropertySets,i.RepresentationMaps,i.Tag,i.ElementType,i.PredefinedType];},90941305:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.ObjectPlacement,i.Representation,i.Tag,i.PredefinedType];},2262370178:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.ObjectPlacement,i.Representation,i.Tag,i.PredefinedType];},3024970846:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.ObjectPlacement,i.Representation,i.Tag,i.PredefinedType];},3283111854:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.ObjectPlacement,i.Representation,i.Tag,i.PredefinedType];},1232101972:function _(i){var _a,_b;return[i.Degree,i.ControlPointsList,i.CurveForm,(_a=i.ClosedCurve)==null?void 0:_a.toString(),(_b=i.SelfIntersect)==null?void 0:_b.toString(),i.KnotMultiplicities,i.Knots,i.KnotSpec,i.WeightsData];},979691226:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.ObjectPlacement,i.Representation,i.Tag,i.SteelGrade,i.NominalDiameter,i.CrossSectionArea,i.BarLength,i.PredefinedType,i.BarSurface];},2572171363:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ApplicableOccurrence,i.HasPropertySets,i.RepresentationMaps,i.Tag,i.ElementType,i.PredefinedType,i.NominalDiameter,i.CrossSectionArea,i.BarLength,i.BarSurface,i.BendingShapeCode,!i.BendingParameters?null:i.BendingParameters.map(function(p){return Labelise(p);})];},2016517767:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.ObjectPlacement,i.Representation,i.Tag,i.PredefinedType];},3053780830:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.ObjectPlacement,i.Representation,i.Tag,i.PredefinedType];},1783015770:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ApplicableOccurrence,i.HasPropertySets,i.RepresentationMaps,i.Tag,i.ElementType,i.PredefinedType];},1329646415:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.ObjectPlacement,i.Representation,i.Tag,i.PredefinedType];},1529196076:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.ObjectPlacement,i.Representation,i.Tag,i.PredefinedType];},3127900445:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.ObjectPlacement,i.Representation,i.Tag,i.PredefinedType];},3027962421:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.ObjectPlacement,i.Representation,i.Tag,i.PredefinedType];},3420628829:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.ObjectPlacement,i.Representation,i.Tag,i.PredefinedType];},1999602285:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.ObjectPlacement,i.Representation,i.Tag,i.PredefinedType];},1404847402:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.ObjectPlacement,i.Representation,i.Tag,i.PredefinedType];},331165859:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.ObjectPlacement,i.Representation,i.Tag,i.PredefinedType];},4252922144:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.ObjectPlacement,i.Representation,i.Tag,i.NumberOfRisers,i.NumberOfTreads,i.RiserHeight,i.TreadLength,i.PredefinedType];},2515109513:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.PredefinedType,i.OrientationOf2DPlane,i.LoadedBy,i.HasResults,i.SharedPlacement];},385403989:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.PredefinedType,i.ActionType,i.ActionSource,i.Coefficient,i.Purpose,i.SelfWeightCoefficients];},1621171031:function _(i){var _a;return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.ObjectPlacement,i.Representation,i.AppliedLoad,i.GlobalOrLocal,(_a=i.DestabilizingLoad)==null?void 0:_a.toString(),i.ProjectedOrTrue,i.PredefinedType];},1162798199:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.ObjectPlacement,i.Representation,i.Tag,i.PredefinedType];},812556717:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.ObjectPlacement,i.Representation,i.Tag,i.PredefinedType];},3825984169:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.ObjectPlacement,i.Representation,i.Tag,i.PredefinedType];},3026737570:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.ObjectPlacement,i.Representation,i.Tag,i.PredefinedType];},3179687236:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ApplicableOccurrence,i.HasPropertySets,i.RepresentationMaps,i.Tag,i.ElementType,i.PredefinedType];},4292641817:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.ObjectPlacement,i.Representation,i.Tag,i.PredefinedType];},4207607924:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.ObjectPlacement,i.Representation,i.Tag,i.PredefinedType];},2391406946:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.ObjectPlacement,i.Representation,i.Tag,i.PredefinedType];},4156078855:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.ObjectPlacement,i.Representation,i.Tag,i.PredefinedType];},3512223829:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.ObjectPlacement,i.Representation,i.Tag,i.PredefinedType];},4237592921:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.ObjectPlacement,i.Representation,i.Tag,i.PredefinedType];},3304561284:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.ObjectPlacement,i.Representation,i.Tag,i.OverallHeight,i.OverallWidth,i.PredefinedType,i.PartitioningType,i.UserDefinedPartitioningType];},486154966:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.ObjectPlacement,i.Representation,i.Tag,i.OverallHeight,i.OverallWidth,i.PredefinedType,i.PartitioningType,i.UserDefinedPartitioningType];},2874132201:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ApplicableOccurrence,i.HasPropertySets,i.RepresentationMaps,i.Tag,i.ElementType,i.PredefinedType];},1634111441:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.ObjectPlacement,i.Representation,i.Tag,i.PredefinedType];},177149247:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.ObjectPlacement,i.Representation,i.Tag,i.PredefinedType];},2056796094:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.ObjectPlacement,i.Representation,i.Tag,i.PredefinedType];},3001207471:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ApplicableOccurrence,i.HasPropertySets,i.RepresentationMaps,i.Tag,i.ElementType,i.PredefinedType];},277319702:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.ObjectPlacement,i.Representation,i.Tag,i.PredefinedType];},753842376:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.ObjectPlacement,i.Representation,i.Tag,i.PredefinedType];},2906023776:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.ObjectPlacement,i.Representation,i.Tag,i.PredefinedType];},32344328:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.ObjectPlacement,i.Representation,i.Tag,i.PredefinedType];},2938176219:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.ObjectPlacement,i.Representation,i.Tag,i.PredefinedType];},635142910:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.ObjectPlacement,i.Representation,i.Tag,i.PredefinedType];},3758799889:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.ObjectPlacement,i.Representation,i.Tag,i.PredefinedType];},1051757585:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.ObjectPlacement,i.Representation,i.Tag,i.PredefinedType];},4217484030:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.ObjectPlacement,i.Representation,i.Tag,i.PredefinedType];},3902619387:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.ObjectPlacement,i.Representation,i.Tag,i.PredefinedType];},639361253:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.ObjectPlacement,i.Representation,i.Tag,i.PredefinedType];},3221913625:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.ObjectPlacement,i.Representation,i.Tag,i.PredefinedType];},3571504051:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.ObjectPlacement,i.Representation,i.Tag,i.PredefinedType];},2272882330:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.ObjectPlacement,i.Representation,i.Tag,i.PredefinedType];},578613899:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ApplicableOccurrence,i.HasPropertySets,i.RepresentationMaps,i.Tag,i.ElementType,i.PredefinedType];},4136498852:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.ObjectPlacement,i.Representation,i.Tag,i.PredefinedType];},3640358203:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.ObjectPlacement,i.Representation,i.Tag,i.PredefinedType];},4074379575:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.ObjectPlacement,i.Representation,i.Tag,i.PredefinedType];},1052013943:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.ObjectPlacement,i.Representation,i.Tag,i.PredefinedType];},562808652:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.LongName,i.PredefinedType];},1062813311:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.ObjectPlacement,i.Representation,i.Tag];},342316401:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.ObjectPlacement,i.Representation,i.Tag,i.PredefinedType];},3518393246:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.ObjectPlacement,i.Representation,i.Tag,i.PredefinedType];},1360408905:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.ObjectPlacement,i.Representation,i.Tag,i.PredefinedType];},1904799276:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.ObjectPlacement,i.Representation,i.Tag,i.PredefinedType];},862014818:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.ObjectPlacement,i.Representation,i.Tag,i.PredefinedType];},3310460725:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.ObjectPlacement,i.Representation,i.Tag,i.PredefinedType];},264262732:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.ObjectPlacement,i.Representation,i.Tag,i.PredefinedType];},402227799:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.ObjectPlacement,i.Representation,i.Tag,i.PredefinedType];},1003880860:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.ObjectPlacement,i.Representation,i.Tag,i.PredefinedType];},3415622556:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.ObjectPlacement,i.Representation,i.Tag,i.PredefinedType];},819412036:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.ObjectPlacement,i.Representation,i.Tag,i.PredefinedType];},1426591983:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.ObjectPlacement,i.Representation,i.Tag,i.PredefinedType];},182646315:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.ObjectPlacement,i.Representation,i.Tag,i.PredefinedType];},2295281155:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.ObjectPlacement,i.Representation,i.Tag,i.PredefinedType];},4086658281:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.ObjectPlacement,i.Representation,i.Tag,i.PredefinedType];},630975310:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.ObjectPlacement,i.Representation,i.Tag,i.PredefinedType];},4288193352:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.ObjectPlacement,i.Representation,i.Tag,i.PredefinedType];},3087945054:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.ObjectPlacement,i.Representation,i.Tag,i.PredefinedType];},25142252:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.ObjectPlacement,i.Representation,i.Tag,i.PredefinedType];}};TypeInitialisers[2]={3699917729:function _(v){return new IFC4.IfcAbsorbedDoseMeasure(v);},4182062534:function _(v){return new IFC4.IfcAccelerationMeasure(v);},360377573:function _(v){return new IFC4.IfcAmountOfSubstanceMeasure(v);},632304761:function _(v){return new IFC4.IfcAngularVelocityMeasure(v);},3683503648:function _(v){return new IFC4.IfcArcIndex(v);},1500781891:function _(v){return new IFC4.IfcAreaDensityMeasure(v);},2650437152:function _(v){return new IFC4.IfcAreaMeasure(v);},2314439260:function _(v){return new IFC4.IfcBinary(v);},2735952531:function _(v){return new IFC4.IfcBoolean(v);},1867003952:function _(v){return new IFC4.IfcBoxAlignment(v);},1683019596:function _(v){return new IFC4.IfcCardinalPointReference(v);},2991860651:function _(v){return new IFC4.IfcComplexNumber(v);},3812528620:function _(v){return new IFC4.IfcCompoundPlaneAngleMeasure(v);},3238673880:function _(v){return new IFC4.IfcContextDependentMeasure(v);},1778710042:function _(v){return new IFC4.IfcCountMeasure(v);},94842927:function _(v){return new IFC4.IfcCurvatureMeasure(v);},937566702:function _(v){return new IFC4.IfcDate(v);},2195413836:function _(v){return new IFC4.IfcDateTime(v);},86635668:function _(v){return new IFC4.IfcDayInMonthNumber(v);},3701338814:function _(v){return new IFC4.IfcDayInWeekNumber(v);},1514641115:function _(v){return new IFC4.IfcDescriptiveMeasure(v);},4134073009:function _(v){return new IFC4.IfcDimensionCount(v);},524656162:function _(v){return new IFC4.IfcDoseEquivalentMeasure(v);},2541165894:function _(v){return new IFC4.IfcDuration(v);},69416015:function _(v){return new IFC4.IfcDynamicViscosityMeasure(v);},1827137117:function _(v){return new IFC4.IfcElectricCapacitanceMeasure(v);},3818826038:function _(v){return new IFC4.IfcElectricChargeMeasure(v);},2093906313:function _(v){return new IFC4.IfcElectricConductanceMeasure(v);},3790457270:function _(v){return new IFC4.IfcElectricCurrentMeasure(v);},2951915441:function _(v){return new IFC4.IfcElectricResistanceMeasure(v);},2506197118:function _(v){return new IFC4.IfcElectricVoltageMeasure(v);},2078135608:function _(v){return new IFC4.IfcEnergyMeasure(v);},1102727119:function _(v){return new IFC4.IfcFontStyle(v);},2715512545:function _(v){return new IFC4.IfcFontVariant(v);},2590844177:function _(v){return new IFC4.IfcFontWeight(v);},1361398929:function _(v){return new IFC4.IfcForceMeasure(v);},3044325142:function _(v){return new IFC4.IfcFrequencyMeasure(v);},3064340077:function _(v){return new IFC4.IfcGloballyUniqueId(v);},3113092358:function _(v){return new IFC4.IfcHeatFluxDensityMeasure(v);},1158859006:function _(v){return new IFC4.IfcHeatingValueMeasure(v);},983778844:function _(v){return new IFC4.IfcIdentifier(v);},3358199106:function _(v){return new IFC4.IfcIlluminanceMeasure(v);},2679005408:function _(v){return new IFC4.IfcInductanceMeasure(v);},1939436016:function _(v){return new IFC4.IfcInteger(v);},3809634241:function _(v){return new IFC4.IfcIntegerCountRateMeasure(v);},3686016028:function _(v){return new IFC4.IfcIonConcentrationMeasure(v);},3192672207:function _(v){return new IFC4.IfcIsothermalMoistureCapacityMeasure(v);},2054016361:function _(v){return new IFC4.IfcKinematicViscosityMeasure(v);},3258342251:function _(v){return new IFC4.IfcLabel(v);},1275358634:function _(v){return new IFC4.IfcLanguageId(v);},1243674935:function _(v){return new IFC4.IfcLengthMeasure(v);},1774176899:function _(v){return new IFC4.IfcLineIndex(v);},191860431:function _(v){return new IFC4.IfcLinearForceMeasure(v);},2128979029:function _(v){return new IFC4.IfcLinearMomentMeasure(v);},1307019551:function _(v){return new IFC4.IfcLinearStiffnessMeasure(v);},3086160713:function _(v){return new IFC4.IfcLinearVelocityMeasure(v);},503418787:function _(v){return new IFC4.IfcLogical(v);},2095003142:function _(v){return new IFC4.IfcLuminousFluxMeasure(v);},2755797622:function _(v){return new IFC4.IfcLuminousIntensityDistributionMeasure(v);},151039812:function _(v){return new IFC4.IfcLuminousIntensityMeasure(v);},286949696:function _(v){return new IFC4.IfcMagneticFluxDensityMeasure(v);},2486716878:function _(v){return new IFC4.IfcMagneticFluxMeasure(v);},1477762836:function _(v){return new IFC4.IfcMassDensityMeasure(v);},4017473158:function _(v){return new IFC4.IfcMassFlowRateMeasure(v);},3124614049:function _(v){return new IFC4.IfcMassMeasure(v);},3531705166:function _(v){return new IFC4.IfcMassPerLengthMeasure(v);},3341486342:function _(v){return new IFC4.IfcModulusOfElasticityMeasure(v);},2173214787:function _(v){return new IFC4.IfcModulusOfLinearSubgradeReactionMeasure(v);},1052454078:function _(v){return new IFC4.IfcModulusOfRotationalSubgradeReactionMeasure(v);},1753493141:function _(v){return new IFC4.IfcModulusOfSubgradeReactionMeasure(v);},3177669450:function _(v){return new IFC4.IfcMoistureDiffusivityMeasure(v);},1648970520:function _(v){return new IFC4.IfcMolecularWeightMeasure(v);},3114022597:function _(v){return new IFC4.IfcMomentOfInertiaMeasure(v);},2615040989:function _(v){return new IFC4.IfcMonetaryMeasure(v);},765770214:function _(v){return new IFC4.IfcMonthInYearNumber(v);},525895558:function _(v){return new IFC4.IfcNonNegativeLengthMeasure(v);},2095195183:function _(v){return new IFC4.IfcNormalisedRatioMeasure(v);},2395907400:function _(v){return new IFC4.IfcNumericMeasure(v);},929793134:function _(v){return new IFC4.IfcPHMeasure(v);},2260317790:function _(v){return new IFC4.IfcParameterValue(v);},2642773653:function _(v){return new IFC4.IfcPlanarForceMeasure(v);},4042175685:function _(v){return new IFC4.IfcPlaneAngleMeasure(v);},1790229001:function _(v){return new IFC4.IfcPositiveInteger(v);},2815919920:function _(v){return new IFC4.IfcPositiveLengthMeasure(v);},3054510233:function _(v){return new IFC4.IfcPositivePlaneAngleMeasure(v);},1245737093:function _(v){return new IFC4.IfcPositiveRatioMeasure(v);},1364037233:function _(v){return new IFC4.IfcPowerMeasure(v);},2169031380:function _(v){return new IFC4.IfcPresentableText(v);},3665567075:function _(v){return new IFC4.IfcPressureMeasure(v);},2798247006:function _(v){return new IFC4.IfcPropertySetDefinitionSet(v);},3972513137:function _(v){return new IFC4.IfcRadioActivityMeasure(v);},96294661:function _(v){return new IFC4.IfcRatioMeasure(v);},200335297:function _(v){return new IFC4.IfcReal(v);},2133746277:function _(v){return new IFC4.IfcRotationalFrequencyMeasure(v);},1755127002:function _(v){return new IFC4.IfcRotationalMassMeasure(v);},3211557302:function _(v){return new IFC4.IfcRotationalStiffnessMeasure(v);},3467162246:function _(v){return new IFC4.IfcSectionModulusMeasure(v);},2190458107:function _(v){return new IFC4.IfcSectionalAreaIntegralMeasure(v);},408310005:function _(v){return new IFC4.IfcShearModulusMeasure(v);},3471399674:function _(v){return new IFC4.IfcSolidAngleMeasure(v);},4157543285:function _(v){return new IFC4.IfcSoundPowerLevelMeasure(v);},846465480:function _(v){return new IFC4.IfcSoundPowerMeasure(v);},3457685358:function _(v){return new IFC4.IfcSoundPressureLevelMeasure(v);},993287707:function _(v){return new IFC4.IfcSoundPressureMeasure(v);},3477203348:function _(v){return new IFC4.IfcSpecificHeatCapacityMeasure(v);},2757832317:function _(v){return new IFC4.IfcSpecularExponent(v);},361837227:function _(v){return new IFC4.IfcSpecularRoughness(v);},58845555:function _(v){return new IFC4.IfcTemperatureGradientMeasure(v);},1209108979:function _(v){return new IFC4.IfcTemperatureRateOfChangeMeasure(v);},2801250643:function _(v){return new IFC4.IfcText(v);},1460886941:function _(v){return new IFC4.IfcTextAlignment(v);},3490877962:function _(v){return new IFC4.IfcTextDecoration(v);},603696268:function _(v){return new IFC4.IfcTextFontName(v);},296282323:function _(v){return new IFC4.IfcTextTransformation(v);},232962298:function _(v){return new IFC4.IfcThermalAdmittanceMeasure(v);},2645777649:function _(v){return new IFC4.IfcThermalConductivityMeasure(v);},2281867870:function _(v){return new IFC4.IfcThermalExpansionCoefficientMeasure(v);},857959152:function _(v){return new IFC4.IfcThermalResistanceMeasure(v);},2016195849:function _(v){return new IFC4.IfcThermalTransmittanceMeasure(v);},743184107:function _(v){return new IFC4.IfcThermodynamicTemperatureMeasure(v);},4075327185:function _(v){return new IFC4.IfcTime(v);},2726807636:function _(v){return new IFC4.IfcTimeMeasure(v);},2591213694:function _(v){return new IFC4.IfcTimeStamp(v);},1278329552:function _(v){return new IFC4.IfcTorqueMeasure(v);},950732822:function _(v){return new IFC4.IfcURIReference(v);},3345633955:function _(v){return new IFC4.IfcVaporPermeabilityMeasure(v);},3458127941:function _(v){return new IFC4.IfcVolumeMeasure(v);},2593997549:function _(v){return new IFC4.IfcVolumetricFlowRateMeasure(v);},51269191:function _(v){return new IFC4.IfcWarpingConstantMeasure(v);},1718600412:function _(v){return new IFC4.IfcWarpingMomentMeasure(v);}};var IFC4;(function(IFC42){var IfcAbsorbedDoseMeasure=/*#__PURE__*/_createClass(function IfcAbsorbedDoseMeasure(v){_classCallCheck(this,IfcAbsorbedDoseMeasure);this.type=4;this.value=parseFloat(v);});IFC42.IfcAbsorbedDoseMeasure=IfcAbsorbedDoseMeasure;var IfcAccelerationMeasure=/*#__PURE__*/_createClass(function IfcAccelerationMeasure(v){_classCallCheck(this,IfcAccelerationMeasure);this.type=4;this.value=parseFloat(v);});IFC42.IfcAccelerationMeasure=IfcAccelerationMeasure;var IfcAmountOfSubstanceMeasure=/*#__PURE__*/_createClass(function IfcAmountOfSubstanceMeasure(v){_classCallCheck(this,IfcAmountOfSubstanceMeasure);this.type=4;this.value=parseFloat(v);});IFC42.IfcAmountOfSubstanceMeasure=IfcAmountOfSubstanceMeasure;var IfcAngularVelocityMeasure=/*#__PURE__*/_createClass(function IfcAngularVelocityMeasure(v){_classCallCheck(this,IfcAngularVelocityMeasure);this.type=4;this.value=parseFloat(v);});IFC42.IfcAngularVelocityMeasure=IfcAngularVelocityMeasure;var IfcArcIndex=/*#__PURE__*/_createClass(function IfcArcIndex(value){_classCallCheck(this,IfcArcIndex);this.value=value;});IFC42.IfcArcIndex=IfcArcIndex;var IfcAreaDensityMeasure=/*#__PURE__*/_createClass(function IfcAreaDensityMeasure(v){_classCallCheck(this,IfcAreaDensityMeasure);this.type=4;this.value=parseFloat(v);});IFC42.IfcAreaDensityMeasure=IfcAreaDensityMeasure;var IfcAreaMeasure=/*#__PURE__*/_createClass(function IfcAreaMeasure(v){_classCallCheck(this,IfcAreaMeasure);this.type=4;this.value=parseFloat(v);});IFC42.IfcAreaMeasure=IfcAreaMeasure;var IfcBinary=/*#__PURE__*/_createClass(function IfcBinary(v){_classCallCheck(this,IfcBinary);this.type=4;this.value=parseFloat(v);});IFC42.IfcBinary=IfcBinary;var IfcBoolean=/*#__PURE__*/_createClass(function IfcBoolean(v){_classCallCheck(this,IfcBoolean);this.type=3;this.value=v=="true"?true:false;});IFC42.IfcBoolean=IfcBoolean;var IfcBoxAlignment=/*#__PURE__*/_createClass(function IfcBoxAlignment(value){_classCallCheck(this,IfcBoxAlignment);this.value=value;this.type=1;});IFC42.IfcBoxAlignment=IfcBoxAlignment;var IfcCardinalPointReference=/*#__PURE__*/_createClass(function IfcCardinalPointReference(v){_classCallCheck(this,IfcCardinalPointReference);this.type=4;this.value=parseFloat(v);});IFC42.IfcCardinalPointReference=IfcCardinalPointReference;var IfcComplexNumber=/*#__PURE__*/_createClass(function IfcComplexNumber(value){_classCallCheck(this,IfcComplexNumber);this.value=value;});IFC42.IfcComplexNumber=IfcComplexNumber;var IfcCompoundPlaneAngleMeasure=/*#__PURE__*/_createClass(function IfcCompoundPlaneAngleMeasure(value){_classCallCheck(this,IfcCompoundPlaneAngleMeasure);this.value=value;});IFC42.IfcCompoundPlaneAngleMeasure=IfcCompoundPlaneAngleMeasure;var IfcContextDependentMeasure=/*#__PURE__*/_createClass(function IfcContextDependentMeasure(v){_classCallCheck(this,IfcContextDependentMeasure);this.type=4;this.value=parseFloat(v);});IFC42.IfcContextDependentMeasure=IfcContextDependentMeasure;var IfcCountMeasure=/*#__PURE__*/_createClass(function IfcCountMeasure(v){_classCallCheck(this,IfcCountMeasure);this.type=4;this.value=parseFloat(v);});IFC42.IfcCountMeasure=IfcCountMeasure;var IfcCurvatureMeasure=/*#__PURE__*/_createClass(function IfcCurvatureMeasure(v){_classCallCheck(this,IfcCurvatureMeasure);this.type=4;this.value=parseFloat(v);});IFC42.IfcCurvatureMeasure=IfcCurvatureMeasure;var IfcDate=/*#__PURE__*/_createClass(function IfcDate(value){_classCallCheck(this,IfcDate);this.value=value;this.type=1;});IFC42.IfcDate=IfcDate;var IfcDateTime=/*#__PURE__*/_createClass(function IfcDateTime(value){_classCallCheck(this,IfcDateTime);this.value=value;this.type=1;});IFC42.IfcDateTime=IfcDateTime;var IfcDayInMonthNumber=/*#__PURE__*/_createClass(function IfcDayInMonthNumber(v){_classCallCheck(this,IfcDayInMonthNumber);this.type=4;this.value=parseFloat(v);});IFC42.IfcDayInMonthNumber=IfcDayInMonthNumber;var IfcDayInWeekNumber=/*#__PURE__*/_createClass(function IfcDayInWeekNumber(v){_classCallCheck(this,IfcDayInWeekNumber);this.type=4;this.value=parseFloat(v);});IFC42.IfcDayInWeekNumber=IfcDayInWeekNumber;var IfcDescriptiveMeasure=/*#__PURE__*/_createClass(function IfcDescriptiveMeasure(value){_classCallCheck(this,IfcDescriptiveMeasure);this.value=value;this.type=1;});IFC42.IfcDescriptiveMeasure=IfcDescriptiveMeasure;var IfcDimensionCount=/*#__PURE__*/_createClass(function IfcDimensionCount(v){_classCallCheck(this,IfcDimensionCount);this.type=4;this.value=parseFloat(v);});IFC42.IfcDimensionCount=IfcDimensionCount;var IfcDoseEquivalentMeasure=/*#__PURE__*/_createClass(function IfcDoseEquivalentMeasure(v){_classCallCheck(this,IfcDoseEquivalentMeasure);this.type=4;this.value=parseFloat(v);});IFC42.IfcDoseEquivalentMeasure=IfcDoseEquivalentMeasure;var IfcDuration=/*#__PURE__*/_createClass(function IfcDuration(value){_classCallCheck(this,IfcDuration);this.value=value;this.type=1;});IFC42.IfcDuration=IfcDuration;var IfcDynamicViscosityMeasure=/*#__PURE__*/_createClass(function IfcDynamicViscosityMeasure(v){_classCallCheck(this,IfcDynamicViscosityMeasure);this.type=4;this.value=parseFloat(v);});IFC42.IfcDynamicViscosityMeasure=IfcDynamicViscosityMeasure;var IfcElectricCapacitanceMeasure=/*#__PURE__*/_createClass(function IfcElectricCapacitanceMeasure(v){_classCallCheck(this,IfcElectricCapacitanceMeasure);this.type=4;this.value=parseFloat(v);});IFC42.IfcElectricCapacitanceMeasure=IfcElectricCapacitanceMeasure;var IfcElectricChargeMeasure=/*#__PURE__*/_createClass(function IfcElectricChargeMeasure(v){_classCallCheck(this,IfcElectricChargeMeasure);this.type=4;this.value=parseFloat(v);});IFC42.IfcElectricChargeMeasure=IfcElectricChargeMeasure;var IfcElectricConductanceMeasure=/*#__PURE__*/_createClass(function IfcElectricConductanceMeasure(v){_classCallCheck(this,IfcElectricConductanceMeasure);this.type=4;this.value=parseFloat(v);});IFC42.IfcElectricConductanceMeasure=IfcElectricConductanceMeasure;var IfcElectricCurrentMeasure=/*#__PURE__*/_createClass(function IfcElectricCurrentMeasure(v){_classCallCheck(this,IfcElectricCurrentMeasure);this.type=4;this.value=parseFloat(v);});IFC42.IfcElectricCurrentMeasure=IfcElectricCurrentMeasure;var IfcElectricResistanceMeasure=/*#__PURE__*/_createClass(function IfcElectricResistanceMeasure(v){_classCallCheck(this,IfcElectricResistanceMeasure);this.type=4;this.value=parseFloat(v);});IFC42.IfcElectricResistanceMeasure=IfcElectricResistanceMeasure;var IfcElectricVoltageMeasure=/*#__PURE__*/_createClass(function IfcElectricVoltageMeasure(v){_classCallCheck(this,IfcElectricVoltageMeasure);this.type=4;this.value=parseFloat(v);});IFC42.IfcElectricVoltageMeasure=IfcElectricVoltageMeasure;var IfcEnergyMeasure=/*#__PURE__*/_createClass(function IfcEnergyMeasure(v){_classCallCheck(this,IfcEnergyMeasure);this.type=4;this.value=parseFloat(v);});IFC42.IfcEnergyMeasure=IfcEnergyMeasure;var IfcFontStyle=/*#__PURE__*/_createClass(function IfcFontStyle(value){_classCallCheck(this,IfcFontStyle);this.value=value;this.type=1;});IFC42.IfcFontStyle=IfcFontStyle;var IfcFontVariant=/*#__PURE__*/_createClass(function IfcFontVariant(value){_classCallCheck(this,IfcFontVariant);this.value=value;this.type=1;});IFC42.IfcFontVariant=IfcFontVariant;var IfcFontWeight=/*#__PURE__*/_createClass(function IfcFontWeight(value){_classCallCheck(this,IfcFontWeight);this.value=value;this.type=1;});IFC42.IfcFontWeight=IfcFontWeight;var IfcForceMeasure=/*#__PURE__*/_createClass(function IfcForceMeasure(v){_classCallCheck(this,IfcForceMeasure);this.type=4;this.value=parseFloat(v);});IFC42.IfcForceMeasure=IfcForceMeasure;var IfcFrequencyMeasure=/*#__PURE__*/_createClass(function IfcFrequencyMeasure(v){_classCallCheck(this,IfcFrequencyMeasure);this.type=4;this.value=parseFloat(v);});IFC42.IfcFrequencyMeasure=IfcFrequencyMeasure;var IfcGloballyUniqueId=/*#__PURE__*/_createClass(function IfcGloballyUniqueId(value){_classCallCheck(this,IfcGloballyUniqueId);this.value=value;this.type=1;});IFC42.IfcGloballyUniqueId=IfcGloballyUniqueId;var IfcHeatFluxDensityMeasure=/*#__PURE__*/_createClass(function IfcHeatFluxDensityMeasure(v){_classCallCheck(this,IfcHeatFluxDensityMeasure);this.type=4;this.value=parseFloat(v);});IFC42.IfcHeatFluxDensityMeasure=IfcHeatFluxDensityMeasure;var IfcHeatingValueMeasure=/*#__PURE__*/_createClass(function IfcHeatingValueMeasure(v){_classCallCheck(this,IfcHeatingValueMeasure);this.type=4;this.value=parseFloat(v);});IFC42.IfcHeatingValueMeasure=IfcHeatingValueMeasure;var IfcIdentifier=/*#__PURE__*/_createClass(function IfcIdentifier(value){_classCallCheck(this,IfcIdentifier);this.value=value;this.type=1;});IFC42.IfcIdentifier=IfcIdentifier;var IfcIlluminanceMeasure=/*#__PURE__*/_createClass(function IfcIlluminanceMeasure(v){_classCallCheck(this,IfcIlluminanceMeasure);this.type=4;this.value=parseFloat(v);});IFC42.IfcIlluminanceMeasure=IfcIlluminanceMeasure;var IfcInductanceMeasure=/*#__PURE__*/_createClass(function IfcInductanceMeasure(v){_classCallCheck(this,IfcInductanceMeasure);this.type=4;this.value=parseFloat(v);});IFC42.IfcInductanceMeasure=IfcInductanceMeasure;var IfcInteger=/*#__PURE__*/_createClass(function IfcInteger(v){_classCallCheck(this,IfcInteger);this.type=4;this.value=parseFloat(v);});IFC42.IfcInteger=IfcInteger;var IfcIntegerCountRateMeasure=/*#__PURE__*/_createClass(function IfcIntegerCountRateMeasure(v){_classCallCheck(this,IfcIntegerCountRateMeasure);this.type=4;this.value=parseFloat(v);});IFC42.IfcIntegerCountRateMeasure=IfcIntegerCountRateMeasure;var IfcIonConcentrationMeasure=/*#__PURE__*/_createClass(function IfcIonConcentrationMeasure(v){_classCallCheck(this,IfcIonConcentrationMeasure);this.type=4;this.value=parseFloat(v);});IFC42.IfcIonConcentrationMeasure=IfcIonConcentrationMeasure;var IfcIsothermalMoistureCapacityMeasure=/*#__PURE__*/_createClass(function IfcIsothermalMoistureCapacityMeasure(v){_classCallCheck(this,IfcIsothermalMoistureCapacityMeasure);this.type=4;this.value=parseFloat(v);});IFC42.IfcIsothermalMoistureCapacityMeasure=IfcIsothermalMoistureCapacityMeasure;var IfcKinematicViscosityMeasure=/*#__PURE__*/_createClass(function IfcKinematicViscosityMeasure(v){_classCallCheck(this,IfcKinematicViscosityMeasure);this.type=4;this.value=parseFloat(v);});IFC42.IfcKinematicViscosityMeasure=IfcKinematicViscosityMeasure;var IfcLabel=/*#__PURE__*/_createClass(function IfcLabel(value){_classCallCheck(this,IfcLabel);this.value=value;this.type=1;});IFC42.IfcLabel=IfcLabel;var IfcLanguageId=/*#__PURE__*/_createClass(function IfcLanguageId(value){_classCallCheck(this,IfcLanguageId);this.value=value;this.type=1;});IFC42.IfcLanguageId=IfcLanguageId;var IfcLengthMeasure=/*#__PURE__*/_createClass(function IfcLengthMeasure(v){_classCallCheck(this,IfcLengthMeasure);this.type=4;this.value=parseFloat(v);});IFC42.IfcLengthMeasure=IfcLengthMeasure;var IfcLineIndex=/*#__PURE__*/_createClass(function IfcLineIndex(value){_classCallCheck(this,IfcLineIndex);this.value=value;});IFC42.IfcLineIndex=IfcLineIndex;var IfcLinearForceMeasure=/*#__PURE__*/_createClass(function IfcLinearForceMeasure(v){_classCallCheck(this,IfcLinearForceMeasure);this.type=4;this.value=parseFloat(v);});IFC42.IfcLinearForceMeasure=IfcLinearForceMeasure;var IfcLinearMomentMeasure=/*#__PURE__*/_createClass(function IfcLinearMomentMeasure(v){_classCallCheck(this,IfcLinearMomentMeasure);this.type=4;this.value=parseFloat(v);});IFC42.IfcLinearMomentMeasure=IfcLinearMomentMeasure;var IfcLinearStiffnessMeasure=/*#__PURE__*/_createClass(function IfcLinearStiffnessMeasure(v){_classCallCheck(this,IfcLinearStiffnessMeasure);this.type=4;this.value=parseFloat(v);});IFC42.IfcLinearStiffnessMeasure=IfcLinearStiffnessMeasure;var IfcLinearVelocityMeasure=/*#__PURE__*/_createClass(function IfcLinearVelocityMeasure(v){_classCallCheck(this,IfcLinearVelocityMeasure);this.type=4;this.value=parseFloat(v);});IFC42.IfcLinearVelocityMeasure=IfcLinearVelocityMeasure;var IfcLogical=/*#__PURE__*/_createClass(function IfcLogical(v){_classCallCheck(this,IfcLogical);this.type=3;this.value=v=="true"?true:false;});IFC42.IfcLogical=IfcLogical;var IfcLuminousFluxMeasure=/*#__PURE__*/_createClass(function IfcLuminousFluxMeasure(v){_classCallCheck(this,IfcLuminousFluxMeasure);this.type=4;this.value=parseFloat(v);});IFC42.IfcLuminousFluxMeasure=IfcLuminousFluxMeasure;var IfcLuminousIntensityDistributionMeasure=/*#__PURE__*/_createClass(function IfcLuminousIntensityDistributionMeasure(v){_classCallCheck(this,IfcLuminousIntensityDistributionMeasure);this.type=4;this.value=parseFloat(v);});IFC42.IfcLuminousIntensityDistributionMeasure=IfcLuminousIntensityDistributionMeasure;var IfcLuminousIntensityMeasure=/*#__PURE__*/_createClass(function IfcLuminousIntensityMeasure(v){_classCallCheck(this,IfcLuminousIntensityMeasure);this.type=4;this.value=parseFloat(v);});IFC42.IfcLuminousIntensityMeasure=IfcLuminousIntensityMeasure;var IfcMagneticFluxDensityMeasure=/*#__PURE__*/_createClass(function IfcMagneticFluxDensityMeasure(v){_classCallCheck(this,IfcMagneticFluxDensityMeasure);this.type=4;this.value=parseFloat(v);});IFC42.IfcMagneticFluxDensityMeasure=IfcMagneticFluxDensityMeasure;var IfcMagneticFluxMeasure=/*#__PURE__*/_createClass(function IfcMagneticFluxMeasure(v){_classCallCheck(this,IfcMagneticFluxMeasure);this.type=4;this.value=parseFloat(v);});IFC42.IfcMagneticFluxMeasure=IfcMagneticFluxMeasure;var IfcMassDensityMeasure=/*#__PURE__*/_createClass(function IfcMassDensityMeasure(v){_classCallCheck(this,IfcMassDensityMeasure);this.type=4;this.value=parseFloat(v);});IFC42.IfcMassDensityMeasure=IfcMassDensityMeasure;var IfcMassFlowRateMeasure=/*#__PURE__*/_createClass(function IfcMassFlowRateMeasure(v){_classCallCheck(this,IfcMassFlowRateMeasure);this.type=4;this.value=parseFloat(v);});IFC42.IfcMassFlowRateMeasure=IfcMassFlowRateMeasure;var IfcMassMeasure=/*#__PURE__*/_createClass(function IfcMassMeasure(v){_classCallCheck(this,IfcMassMeasure);this.type=4;this.value=parseFloat(v);});IFC42.IfcMassMeasure=IfcMassMeasure;var IfcMassPerLengthMeasure=/*#__PURE__*/_createClass(function IfcMassPerLengthMeasure(v){_classCallCheck(this,IfcMassPerLengthMeasure);this.type=4;this.value=parseFloat(v);});IFC42.IfcMassPerLengthMeasure=IfcMassPerLengthMeasure;var IfcModulusOfElasticityMeasure=/*#__PURE__*/_createClass(function IfcModulusOfElasticityMeasure(v){_classCallCheck(this,IfcModulusOfElasticityMeasure);this.type=4;this.value=parseFloat(v);});IFC42.IfcModulusOfElasticityMeasure=IfcModulusOfElasticityMeasure;var IfcModulusOfLinearSubgradeReactionMeasure=/*#__PURE__*/_createClass(function IfcModulusOfLinearSubgradeReactionMeasure(v){_classCallCheck(this,IfcModulusOfLinearSubgradeReactionMeasure);this.type=4;this.value=parseFloat(v);});IFC42.IfcModulusOfLinearSubgradeReactionMeasure=IfcModulusOfLinearSubgradeReactionMeasure;var IfcModulusOfRotationalSubgradeReactionMeasure=/*#__PURE__*/_createClass(function IfcModulusOfRotationalSubgradeReactionMeasure(v){_classCallCheck(this,IfcModulusOfRotationalSubgradeReactionMeasure);this.type=4;this.value=parseFloat(v);});IFC42.IfcModulusOfRotationalSubgradeReactionMeasure=IfcModulusOfRotationalSubgradeReactionMeasure;var IfcModulusOfSubgradeReactionMeasure=/*#__PURE__*/_createClass(function IfcModulusOfSubgradeReactionMeasure(v){_classCallCheck(this,IfcModulusOfSubgradeReactionMeasure);this.type=4;this.value=parseFloat(v);});IFC42.IfcModulusOfSubgradeReactionMeasure=IfcModulusOfSubgradeReactionMeasure;var IfcMoistureDiffusivityMeasure=/*#__PURE__*/_createClass(function IfcMoistureDiffusivityMeasure(v){_classCallCheck(this,IfcMoistureDiffusivityMeasure);this.type=4;this.value=parseFloat(v);});IFC42.IfcMoistureDiffusivityMeasure=IfcMoistureDiffusivityMeasure;var IfcMolecularWeightMeasure=/*#__PURE__*/_createClass(function IfcMolecularWeightMeasure(v){_classCallCheck(this,IfcMolecularWeightMeasure);this.type=4;this.value=parseFloat(v);});IFC42.IfcMolecularWeightMeasure=IfcMolecularWeightMeasure;var IfcMomentOfInertiaMeasure=/*#__PURE__*/_createClass(function IfcMomentOfInertiaMeasure(v){_classCallCheck(this,IfcMomentOfInertiaMeasure);this.type=4;this.value=parseFloat(v);});IFC42.IfcMomentOfInertiaMeasure=IfcMomentOfInertiaMeasure;var IfcMonetaryMeasure=/*#__PURE__*/_createClass(function IfcMonetaryMeasure(v){_classCallCheck(this,IfcMonetaryMeasure);this.type=4;this.value=parseFloat(v);});IFC42.IfcMonetaryMeasure=IfcMonetaryMeasure;var IfcMonthInYearNumber=/*#__PURE__*/_createClass(function IfcMonthInYearNumber(v){_classCallCheck(this,IfcMonthInYearNumber);this.type=4;this.value=parseFloat(v);});IFC42.IfcMonthInYearNumber=IfcMonthInYearNumber;var IfcNonNegativeLengthMeasure=/*#__PURE__*/_createClass(function IfcNonNegativeLengthMeasure(v){_classCallCheck(this,IfcNonNegativeLengthMeasure);this.type=4;this.value=parseFloat(v);});IFC42.IfcNonNegativeLengthMeasure=IfcNonNegativeLengthMeasure;var IfcNormalisedRatioMeasure=/*#__PURE__*/_createClass(function IfcNormalisedRatioMeasure(v){_classCallCheck(this,IfcNormalisedRatioMeasure);this.type=4;this.value=parseFloat(v);});IFC42.IfcNormalisedRatioMeasure=IfcNormalisedRatioMeasure;var IfcNumericMeasure=/*#__PURE__*/_createClass(function IfcNumericMeasure(v){_classCallCheck(this,IfcNumericMeasure);this.type=4;this.value=parseFloat(v);});IFC42.IfcNumericMeasure=IfcNumericMeasure;var IfcPHMeasure=/*#__PURE__*/_createClass(function IfcPHMeasure(v){_classCallCheck(this,IfcPHMeasure);this.type=4;this.value=parseFloat(v);});IFC42.IfcPHMeasure=IfcPHMeasure;var IfcParameterValue=/*#__PURE__*/_createClass(function IfcParameterValue(v){_classCallCheck(this,IfcParameterValue);this.type=4;this.value=parseFloat(v);});IFC42.IfcParameterValue=IfcParameterValue;var IfcPlanarForceMeasure=/*#__PURE__*/_createClass(function IfcPlanarForceMeasure(v){_classCallCheck(this,IfcPlanarForceMeasure);this.type=4;this.value=parseFloat(v);});IFC42.IfcPlanarForceMeasure=IfcPlanarForceMeasure;var IfcPlaneAngleMeasure=/*#__PURE__*/_createClass(function IfcPlaneAngleMeasure(v){_classCallCheck(this,IfcPlaneAngleMeasure);this.type=4;this.value=parseFloat(v);});IFC42.IfcPlaneAngleMeasure=IfcPlaneAngleMeasure;var IfcPositiveInteger=/*#__PURE__*/_createClass(function IfcPositiveInteger(v){_classCallCheck(this,IfcPositiveInteger);this.type=4;this.value=parseFloat(v);});IFC42.IfcPositiveInteger=IfcPositiveInteger;var IfcPositiveLengthMeasure=/*#__PURE__*/_createClass(function IfcPositiveLengthMeasure(v){_classCallCheck(this,IfcPositiveLengthMeasure);this.type=4;this.value=parseFloat(v);});IFC42.IfcPositiveLengthMeasure=IfcPositiveLengthMeasure;var IfcPositivePlaneAngleMeasure=/*#__PURE__*/_createClass(function IfcPositivePlaneAngleMeasure(v){_classCallCheck(this,IfcPositivePlaneAngleMeasure);this.type=4;this.value=parseFloat(v);});IFC42.IfcPositivePlaneAngleMeasure=IfcPositivePlaneAngleMeasure;var IfcPositiveRatioMeasure=/*#__PURE__*/_createClass(function IfcPositiveRatioMeasure(v){_classCallCheck(this,IfcPositiveRatioMeasure);this.type=4;this.value=parseFloat(v);});IFC42.IfcPositiveRatioMeasure=IfcPositiveRatioMeasure;var IfcPowerMeasure=/*#__PURE__*/_createClass(function IfcPowerMeasure(v){_classCallCheck(this,IfcPowerMeasure);this.type=4;this.value=parseFloat(v);});IFC42.IfcPowerMeasure=IfcPowerMeasure;var IfcPresentableText=/*#__PURE__*/_createClass(function IfcPresentableText(value){_classCallCheck(this,IfcPresentableText);this.value=value;this.type=1;});IFC42.IfcPresentableText=IfcPresentableText;var IfcPressureMeasure=/*#__PURE__*/_createClass(function IfcPressureMeasure(v){_classCallCheck(this,IfcPressureMeasure);this.type=4;this.value=parseFloat(v);});IFC42.IfcPressureMeasure=IfcPressureMeasure;var IfcPropertySetDefinitionSet=/*#__PURE__*/_createClass(function IfcPropertySetDefinitionSet(value){_classCallCheck(this,IfcPropertySetDefinitionSet);this.value=value;});IFC42.IfcPropertySetDefinitionSet=IfcPropertySetDefinitionSet;var IfcRadioActivityMeasure=/*#__PURE__*/_createClass(function IfcRadioActivityMeasure(v){_classCallCheck(this,IfcRadioActivityMeasure);this.type=4;this.value=parseFloat(v);});IFC42.IfcRadioActivityMeasure=IfcRadioActivityMeasure;var IfcRatioMeasure=/*#__PURE__*/_createClass(function IfcRatioMeasure(v){_classCallCheck(this,IfcRatioMeasure);this.type=4;this.value=parseFloat(v);});IFC42.IfcRatioMeasure=IfcRatioMeasure;var IfcReal=/*#__PURE__*/_createClass(function IfcReal(v){_classCallCheck(this,IfcReal);this.type=4;this.value=parseFloat(v);});IFC42.IfcReal=IfcReal;var IfcRotationalFrequencyMeasure=/*#__PURE__*/_createClass(function IfcRotationalFrequencyMeasure(v){_classCallCheck(this,IfcRotationalFrequencyMeasure);this.type=4;this.value=parseFloat(v);});IFC42.IfcRotationalFrequencyMeasure=IfcRotationalFrequencyMeasure;var IfcRotationalMassMeasure=/*#__PURE__*/_createClass(function IfcRotationalMassMeasure(v){_classCallCheck(this,IfcRotationalMassMeasure);this.type=4;this.value=parseFloat(v);});IFC42.IfcRotationalMassMeasure=IfcRotationalMassMeasure;var IfcRotationalStiffnessMeasure=/*#__PURE__*/_createClass(function IfcRotationalStiffnessMeasure(v){_classCallCheck(this,IfcRotationalStiffnessMeasure);this.type=4;this.value=parseFloat(v);});IFC42.IfcRotationalStiffnessMeasure=IfcRotationalStiffnessMeasure;var IfcSectionModulusMeasure=/*#__PURE__*/_createClass(function IfcSectionModulusMeasure(v){_classCallCheck(this,IfcSectionModulusMeasure);this.type=4;this.value=parseFloat(v);});IFC42.IfcSectionModulusMeasure=IfcSectionModulusMeasure;var IfcSectionalAreaIntegralMeasure=/*#__PURE__*/_createClass(function IfcSectionalAreaIntegralMeasure(v){_classCallCheck(this,IfcSectionalAreaIntegralMeasure);this.type=4;this.value=parseFloat(v);});IFC42.IfcSectionalAreaIntegralMeasure=IfcSectionalAreaIntegralMeasure;var IfcShearModulusMeasure=/*#__PURE__*/_createClass(function IfcShearModulusMeasure(v){_classCallCheck(this,IfcShearModulusMeasure);this.type=4;this.value=parseFloat(v);});IFC42.IfcShearModulusMeasure=IfcShearModulusMeasure;var IfcSolidAngleMeasure=/*#__PURE__*/_createClass(function IfcSolidAngleMeasure(v){_classCallCheck(this,IfcSolidAngleMeasure);this.type=4;this.value=parseFloat(v);});IFC42.IfcSolidAngleMeasure=IfcSolidAngleMeasure;var IfcSoundPowerLevelMeasure=/*#__PURE__*/_createClass(function IfcSoundPowerLevelMeasure(v){_classCallCheck(this,IfcSoundPowerLevelMeasure);this.type=4;this.value=parseFloat(v);});IFC42.IfcSoundPowerLevelMeasure=IfcSoundPowerLevelMeasure;var IfcSoundPowerMeasure=/*#__PURE__*/_createClass(function IfcSoundPowerMeasure(v){_classCallCheck(this,IfcSoundPowerMeasure);this.type=4;this.value=parseFloat(v);});IFC42.IfcSoundPowerMeasure=IfcSoundPowerMeasure;var IfcSoundPressureLevelMeasure=/*#__PURE__*/_createClass(function IfcSoundPressureLevelMeasure(v){_classCallCheck(this,IfcSoundPressureLevelMeasure);this.type=4;this.value=parseFloat(v);});IFC42.IfcSoundPressureLevelMeasure=IfcSoundPressureLevelMeasure;var IfcSoundPressureMeasure=/*#__PURE__*/_createClass(function IfcSoundPressureMeasure(v){_classCallCheck(this,IfcSoundPressureMeasure);this.type=4;this.value=parseFloat(v);});IFC42.IfcSoundPressureMeasure=IfcSoundPressureMeasure;var IfcSpecificHeatCapacityMeasure=/*#__PURE__*/_createClass(function IfcSpecificHeatCapacityMeasure(v){_classCallCheck(this,IfcSpecificHeatCapacityMeasure);this.type=4;this.value=parseFloat(v);});IFC42.IfcSpecificHeatCapacityMeasure=IfcSpecificHeatCapacityMeasure;var IfcSpecularExponent=/*#__PURE__*/_createClass(function IfcSpecularExponent(v){_classCallCheck(this,IfcSpecularExponent);this.type=4;this.value=parseFloat(v);});IFC42.IfcSpecularExponent=IfcSpecularExponent;var IfcSpecularRoughness=/*#__PURE__*/_createClass(function IfcSpecularRoughness(v){_classCallCheck(this,IfcSpecularRoughness);this.type=4;this.value=parseFloat(v);});IFC42.IfcSpecularRoughness=IfcSpecularRoughness;var IfcTemperatureGradientMeasure=/*#__PURE__*/_createClass(function IfcTemperatureGradientMeasure(v){_classCallCheck(this,IfcTemperatureGradientMeasure);this.type=4;this.value=parseFloat(v);});IFC42.IfcTemperatureGradientMeasure=IfcTemperatureGradientMeasure;var IfcTemperatureRateOfChangeMeasure=/*#__PURE__*/_createClass(function IfcTemperatureRateOfChangeMeasure(v){_classCallCheck(this,IfcTemperatureRateOfChangeMeasure);this.type=4;this.value=parseFloat(v);});IFC42.IfcTemperatureRateOfChangeMeasure=IfcTemperatureRateOfChangeMeasure;var IfcText=/*#__PURE__*/_createClass(function IfcText(value){_classCallCheck(this,IfcText);this.value=value;this.type=1;});IFC42.IfcText=IfcText;var IfcTextAlignment=/*#__PURE__*/_createClass(function IfcTextAlignment(value){_classCallCheck(this,IfcTextAlignment);this.value=value;this.type=1;});IFC42.IfcTextAlignment=IfcTextAlignment;var IfcTextDecoration=/*#__PURE__*/_createClass(function IfcTextDecoration(value){_classCallCheck(this,IfcTextDecoration);this.value=value;this.type=1;});IFC42.IfcTextDecoration=IfcTextDecoration;var IfcTextFontName=/*#__PURE__*/_createClass(function IfcTextFontName(value){_classCallCheck(this,IfcTextFontName);this.value=value;this.type=1;});IFC42.IfcTextFontName=IfcTextFontName;var IfcTextTransformation=/*#__PURE__*/_createClass(function IfcTextTransformation(value){_classCallCheck(this,IfcTextTransformation);this.value=value;this.type=1;});IFC42.IfcTextTransformation=IfcTextTransformation;var IfcThermalAdmittanceMeasure=/*#__PURE__*/_createClass(function IfcThermalAdmittanceMeasure(v){_classCallCheck(this,IfcThermalAdmittanceMeasure);this.type=4;this.value=parseFloat(v);});IFC42.IfcThermalAdmittanceMeasure=IfcThermalAdmittanceMeasure;var IfcThermalConductivityMeasure=/*#__PURE__*/_createClass(function IfcThermalConductivityMeasure(v){_classCallCheck(this,IfcThermalConductivityMeasure);this.type=4;this.value=parseFloat(v);});IFC42.IfcThermalConductivityMeasure=IfcThermalConductivityMeasure;var IfcThermalExpansionCoefficientMeasure=/*#__PURE__*/_createClass(function IfcThermalExpansionCoefficientMeasure(v){_classCallCheck(this,IfcThermalExpansionCoefficientMeasure);this.type=4;this.value=parseFloat(v);});IFC42.IfcThermalExpansionCoefficientMeasure=IfcThermalExpansionCoefficientMeasure;var IfcThermalResistanceMeasure=/*#__PURE__*/_createClass(function IfcThermalResistanceMeasure(v){_classCallCheck(this,IfcThermalResistanceMeasure);this.type=4;this.value=parseFloat(v);});IFC42.IfcThermalResistanceMeasure=IfcThermalResistanceMeasure;var IfcThermalTransmittanceMeasure=/*#__PURE__*/_createClass(function IfcThermalTransmittanceMeasure(v){_classCallCheck(this,IfcThermalTransmittanceMeasure);this.type=4;this.value=parseFloat(v);});IFC42.IfcThermalTransmittanceMeasure=IfcThermalTransmittanceMeasure;var IfcThermodynamicTemperatureMeasure=/*#__PURE__*/_createClass(function IfcThermodynamicTemperatureMeasure(v){_classCallCheck(this,IfcThermodynamicTemperatureMeasure);this.type=4;this.value=parseFloat(v);});IFC42.IfcThermodynamicTemperatureMeasure=IfcThermodynamicTemperatureMeasure;var IfcTime=/*#__PURE__*/_createClass(function IfcTime(value){_classCallCheck(this,IfcTime);this.value=value;this.type=1;});IFC42.IfcTime=IfcTime;var IfcTimeMeasure=/*#__PURE__*/_createClass(function IfcTimeMeasure(v){_classCallCheck(this,IfcTimeMeasure);this.type=4;this.value=parseFloat(v);});IFC42.IfcTimeMeasure=IfcTimeMeasure;var IfcTimeStamp=/*#__PURE__*/_createClass(function IfcTimeStamp(v){_classCallCheck(this,IfcTimeStamp);this.type=4;this.value=parseFloat(v);});IFC42.IfcTimeStamp=IfcTimeStamp;var IfcTorqueMeasure=/*#__PURE__*/_createClass(function IfcTorqueMeasure(v){_classCallCheck(this,IfcTorqueMeasure);this.type=4;this.value=parseFloat(v);});IFC42.IfcTorqueMeasure=IfcTorqueMeasure;var IfcURIReference=/*#__PURE__*/_createClass(function IfcURIReference(value){_classCallCheck(this,IfcURIReference);this.value=value;this.type=1;});IFC42.IfcURIReference=IfcURIReference;var IfcVaporPermeabilityMeasure=/*#__PURE__*/_createClass(function IfcVaporPermeabilityMeasure(v){_classCallCheck(this,IfcVaporPermeabilityMeasure);this.type=4;this.value=parseFloat(v);});IFC42.IfcVaporPermeabilityMeasure=IfcVaporPermeabilityMeasure;var IfcVolumeMeasure=/*#__PURE__*/_createClass(function IfcVolumeMeasure(v){_classCallCheck(this,IfcVolumeMeasure);this.type=4;this.value=parseFloat(v);});IFC42.IfcVolumeMeasure=IfcVolumeMeasure;var IfcVolumetricFlowRateMeasure=/*#__PURE__*/_createClass(function IfcVolumetricFlowRateMeasure(v){_classCallCheck(this,IfcVolumetricFlowRateMeasure);this.type=4;this.value=parseFloat(v);});IFC42.IfcVolumetricFlowRateMeasure=IfcVolumetricFlowRateMeasure;var IfcWarpingConstantMeasure=/*#__PURE__*/_createClass(function IfcWarpingConstantMeasure(v){_classCallCheck(this,IfcWarpingConstantMeasure);this.type=4;this.value=parseFloat(v);});IFC42.IfcWarpingConstantMeasure=IfcWarpingConstantMeasure;var IfcWarpingMomentMeasure=/*#__PURE__*/_createClass(function IfcWarpingMomentMeasure(v){_classCallCheck(this,IfcWarpingMomentMeasure);this.type=4;this.value=parseFloat(v);});IFC42.IfcWarpingMomentMeasure=IfcWarpingMomentMeasure;var IfcActionRequestTypeEnum=/*#__PURE__*/_createClass(function IfcActionRequestTypeEnum(){_classCallCheck(this,IfcActionRequestTypeEnum);});IfcActionRequestTypeEnum.EMAIL={type:3,value:"EMAIL"};IfcActionRequestTypeEnum.FAX={type:3,value:"FAX"};IfcActionRequestTypeEnum.PHONE={type:3,value:"PHONE"};IfcActionRequestTypeEnum.POST={type:3,value:"POST"};IfcActionRequestTypeEnum.VERBAL={type:3,value:"VERBAL"};IfcActionRequestTypeEnum.USERDEFINED={type:3,value:"USERDEFINED"};IfcActionRequestTypeEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC42.IfcActionRequestTypeEnum=IfcActionRequestTypeEnum;var IfcActionSourceTypeEnum=/*#__PURE__*/_createClass(function IfcActionSourceTypeEnum(){_classCallCheck(this,IfcActionSourceTypeEnum);});IfcActionSourceTypeEnum.DEAD_LOAD_G={type:3,value:"DEAD_LOAD_G"};IfcActionSourceTypeEnum.COMPLETION_G1={type:3,value:"COMPLETION_G1"};IfcActionSourceTypeEnum.LIVE_LOAD_Q={type:3,value:"LIVE_LOAD_Q"};IfcActionSourceTypeEnum.SNOW_S={type:3,value:"SNOW_S"};IfcActionSourceTypeEnum.WIND_W={type:3,value:"WIND_W"};IfcActionSourceTypeEnum.PRESTRESSING_P={type:3,value:"PRESTRESSING_P"};IfcActionSourceTypeEnum.SETTLEMENT_U={type:3,value:"SETTLEMENT_U"};IfcActionSourceTypeEnum.TEMPERATURE_T={type:3,value:"TEMPERATURE_T"};IfcActionSourceTypeEnum.EARTHQUAKE_E={type:3,value:"EARTHQUAKE_E"};IfcActionSourceTypeEnum.FIRE={type:3,value:"FIRE"};IfcActionSourceTypeEnum.IMPULSE={type:3,value:"IMPULSE"};IfcActionSourceTypeEnum.IMPACT={type:3,value:"IMPACT"};IfcActionSourceTypeEnum.TRANSPORT={type:3,value:"TRANSPORT"};IfcActionSourceTypeEnum.ERECTION={type:3,value:"ERECTION"};IfcActionSourceTypeEnum.PROPPING={type:3,value:"PROPPING"};IfcActionSourceTypeEnum.SYSTEM_IMPERFECTION={type:3,value:"SYSTEM_IMPERFECTION"};IfcActionSourceTypeEnum.SHRINKAGE={type:3,value:"SHRINKAGE"};IfcActionSourceTypeEnum.CREEP={type:3,value:"CREEP"};IfcActionSourceTypeEnum.LACK_OF_FIT={type:3,value:"LACK_OF_FIT"};IfcActionSourceTypeEnum.BUOYANCY={type:3,value:"BUOYANCY"};IfcActionSourceTypeEnum.ICE={type:3,value:"ICE"};IfcActionSourceTypeEnum.CURRENT={type:3,value:"CURRENT"};IfcActionSourceTypeEnum.WAVE={type:3,value:"WAVE"};IfcActionSourceTypeEnum.RAIN={type:3,value:"RAIN"};IfcActionSourceTypeEnum.BRAKES={type:3,value:"BRAKES"};IfcActionSourceTypeEnum.USERDEFINED={type:3,value:"USERDEFINED"};IfcActionSourceTypeEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC42.IfcActionSourceTypeEnum=IfcActionSourceTypeEnum;var IfcActionTypeEnum=/*#__PURE__*/_createClass(function IfcActionTypeEnum(){_classCallCheck(this,IfcActionTypeEnum);});IfcActionTypeEnum.PERMANENT_G={type:3,value:"PERMANENT_G"};IfcActionTypeEnum.VARIABLE_Q={type:3,value:"VARIABLE_Q"};IfcActionTypeEnum.EXTRAORDINARY_A={type:3,value:"EXTRAORDINARY_A"};IfcActionTypeEnum.USERDEFINED={type:3,value:"USERDEFINED"};IfcActionTypeEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC42.IfcActionTypeEnum=IfcActionTypeEnum;var IfcActuatorTypeEnum=/*#__PURE__*/_createClass(function IfcActuatorTypeEnum(){_classCallCheck(this,IfcActuatorTypeEnum);});IfcActuatorTypeEnum.ELECTRICACTUATOR={type:3,value:"ELECTRICACTUATOR"};IfcActuatorTypeEnum.HANDOPERATEDACTUATOR={type:3,value:"HANDOPERATEDACTUATOR"};IfcActuatorTypeEnum.HYDRAULICACTUATOR={type:3,value:"HYDRAULICACTUATOR"};IfcActuatorTypeEnum.PNEUMATICACTUATOR={type:3,value:"PNEUMATICACTUATOR"};IfcActuatorTypeEnum.THERMOSTATICACTUATOR={type:3,value:"THERMOSTATICACTUATOR"};IfcActuatorTypeEnum.USERDEFINED={type:3,value:"USERDEFINED"};IfcActuatorTypeEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC42.IfcActuatorTypeEnum=IfcActuatorTypeEnum;var IfcAddressTypeEnum=/*#__PURE__*/_createClass(function IfcAddressTypeEnum(){_classCallCheck(this,IfcAddressTypeEnum);});IfcAddressTypeEnum.OFFICE={type:3,value:"OFFICE"};IfcAddressTypeEnum.SITE={type:3,value:"SITE"};IfcAddressTypeEnum.HOME={type:3,value:"HOME"};IfcAddressTypeEnum.DISTRIBUTIONPOINT={type:3,value:"DISTRIBUTIONPOINT"};IfcAddressTypeEnum.USERDEFINED={type:3,value:"USERDEFINED"};IFC42.IfcAddressTypeEnum=IfcAddressTypeEnum;var IfcAirTerminalBoxTypeEnum=/*#__PURE__*/_createClass(function IfcAirTerminalBoxTypeEnum(){_classCallCheck(this,IfcAirTerminalBoxTypeEnum);});IfcAirTerminalBoxTypeEnum.CONSTANTFLOW={type:3,value:"CONSTANTFLOW"};IfcAirTerminalBoxTypeEnum.VARIABLEFLOWPRESSUREDEPENDANT={type:3,value:"VARIABLEFLOWPRESSUREDEPENDANT"};IfcAirTerminalBoxTypeEnum.VARIABLEFLOWPRESSUREINDEPENDANT={type:3,value:"VARIABLEFLOWPRESSUREINDEPENDANT"};IfcAirTerminalBoxTypeEnum.USERDEFINED={type:3,value:"USERDEFINED"};IfcAirTerminalBoxTypeEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC42.IfcAirTerminalBoxTypeEnum=IfcAirTerminalBoxTypeEnum;var IfcAirTerminalTypeEnum=/*#__PURE__*/_createClass(function IfcAirTerminalTypeEnum(){_classCallCheck(this,IfcAirTerminalTypeEnum);});IfcAirTerminalTypeEnum.DIFFUSER={type:3,value:"DIFFUSER"};IfcAirTerminalTypeEnum.GRILLE={type:3,value:"GRILLE"};IfcAirTerminalTypeEnum.LOUVRE={type:3,value:"LOUVRE"};IfcAirTerminalTypeEnum.REGISTER={type:3,value:"REGISTER"};IfcAirTerminalTypeEnum.USERDEFINED={type:3,value:"USERDEFINED"};IfcAirTerminalTypeEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC42.IfcAirTerminalTypeEnum=IfcAirTerminalTypeEnum;var IfcAirToAirHeatRecoveryTypeEnum=/*#__PURE__*/_createClass(function IfcAirToAirHeatRecoveryTypeEnum(){_classCallCheck(this,IfcAirToAirHeatRecoveryTypeEnum);});IfcAirToAirHeatRecoveryTypeEnum.FIXEDPLATECOUNTERFLOWEXCHANGER={type:3,value:"FIXEDPLATECOUNTERFLOWEXCHANGER"};IfcAirToAirHeatRecoveryTypeEnum.FIXEDPLATECROSSFLOWEXCHANGER={type:3,value:"FIXEDPLATECROSSFLOWEXCHANGER"};IfcAirToAirHeatRecoveryTypeEnum.FIXEDPLATEPARALLELFLOWEXCHANGER={type:3,value:"FIXEDPLATEPARALLELFLOWEXCHANGER"};IfcAirToAirHeatRecoveryTypeEnum.ROTARYWHEEL={type:3,value:"ROTARYWHEEL"};IfcAirToAirHeatRecoveryTypeEnum.RUNAROUNDCOILLOOP={type:3,value:"RUNAROUNDCOILLOOP"};IfcAirToAirHeatRecoveryTypeEnum.HEATPIPE={type:3,value:"HEATPIPE"};IfcAirToAirHeatRecoveryTypeEnum.TWINTOWERENTHALPYRECOVERYLOOPS={type:3,value:"TWINTOWERENTHALPYRECOVERYLOOPS"};IfcAirToAirHeatRecoveryTypeEnum.THERMOSIPHONSEALEDTUBEHEATEXCHANGERS={type:3,value:"THERMOSIPHONSEALEDTUBEHEATEXCHANGERS"};IfcAirToAirHeatRecoveryTypeEnum.THERMOSIPHONCOILTYPEHEATEXCHANGERS={type:3,value:"THERMOSIPHONCOILTYPEHEATEXCHANGERS"};IfcAirToAirHeatRecoveryTypeEnum.USERDEFINED={type:3,value:"USERDEFINED"};IfcAirToAirHeatRecoveryTypeEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC42.IfcAirToAirHeatRecoveryTypeEnum=IfcAirToAirHeatRecoveryTypeEnum;var IfcAlarmTypeEnum=/*#__PURE__*/_createClass(function IfcAlarmTypeEnum(){_classCallCheck(this,IfcAlarmTypeEnum);});IfcAlarmTypeEnum.BELL={type:3,value:"BELL"};IfcAlarmTypeEnum.BREAKGLASSBUTTON={type:3,value:"BREAKGLASSBUTTON"};IfcAlarmTypeEnum.LIGHT={type:3,value:"LIGHT"};IfcAlarmTypeEnum.MANUALPULLBOX={type:3,value:"MANUALPULLBOX"};IfcAlarmTypeEnum.SIREN={type:3,value:"SIREN"};IfcAlarmTypeEnum.WHISTLE={type:3,value:"WHISTLE"};IfcAlarmTypeEnum.USERDEFINED={type:3,value:"USERDEFINED"};IfcAlarmTypeEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC42.IfcAlarmTypeEnum=IfcAlarmTypeEnum;var IfcAnalysisModelTypeEnum=/*#__PURE__*/_createClass(function IfcAnalysisModelTypeEnum(){_classCallCheck(this,IfcAnalysisModelTypeEnum);});IfcAnalysisModelTypeEnum.IN_PLANE_LOADING_2D={type:3,value:"IN_PLANE_LOADING_2D"};IfcAnalysisModelTypeEnum.OUT_PLANE_LOADING_2D={type:3,value:"OUT_PLANE_LOADING_2D"};IfcAnalysisModelTypeEnum.LOADING_3D={type:3,value:"LOADING_3D"};IfcAnalysisModelTypeEnum.USERDEFINED={type:3,value:"USERDEFINED"};IfcAnalysisModelTypeEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC42.IfcAnalysisModelTypeEnum=IfcAnalysisModelTypeEnum;var IfcAnalysisTheoryTypeEnum=/*#__PURE__*/_createClass(function IfcAnalysisTheoryTypeEnum(){_classCallCheck(this,IfcAnalysisTheoryTypeEnum);});IfcAnalysisTheoryTypeEnum.FIRST_ORDER_THEORY={type:3,value:"FIRST_ORDER_THEORY"};IfcAnalysisTheoryTypeEnum.SECOND_ORDER_THEORY={type:3,value:"SECOND_ORDER_THEORY"};IfcAnalysisTheoryTypeEnum.THIRD_ORDER_THEORY={type:3,value:"THIRD_ORDER_THEORY"};IfcAnalysisTheoryTypeEnum.FULL_NONLINEAR_THEORY={type:3,value:"FULL_NONLINEAR_THEORY"};IfcAnalysisTheoryTypeEnum.USERDEFINED={type:3,value:"USERDEFINED"};IfcAnalysisTheoryTypeEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC42.IfcAnalysisTheoryTypeEnum=IfcAnalysisTheoryTypeEnum;var IfcArithmeticOperatorEnum=/*#__PURE__*/_createClass(function IfcArithmeticOperatorEnum(){_classCallCheck(this,IfcArithmeticOperatorEnum);});IfcArithmeticOperatorEnum.ADD={type:3,value:"ADD"};IfcArithmeticOperatorEnum.DIVIDE={type:3,value:"DIVIDE"};IfcArithmeticOperatorEnum.MULTIPLY={type:3,value:"MULTIPLY"};IfcArithmeticOperatorEnum.SUBTRACT={type:3,value:"SUBTRACT"};IFC42.IfcArithmeticOperatorEnum=IfcArithmeticOperatorEnum;var IfcAssemblyPlaceEnum=/*#__PURE__*/_createClass(function IfcAssemblyPlaceEnum(){_classCallCheck(this,IfcAssemblyPlaceEnum);});IfcAssemblyPlaceEnum.SITE={type:3,value:"SITE"};IfcAssemblyPlaceEnum.FACTORY={type:3,value:"FACTORY"};IfcAssemblyPlaceEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC42.IfcAssemblyPlaceEnum=IfcAssemblyPlaceEnum;var IfcAudioVisualApplianceTypeEnum=/*#__PURE__*/_createClass(function IfcAudioVisualApplianceTypeEnum(){_classCallCheck(this,IfcAudioVisualApplianceTypeEnum);});IfcAudioVisualApplianceTypeEnum.AMPLIFIER={type:3,value:"AMPLIFIER"};IfcAudioVisualApplianceTypeEnum.CAMERA={type:3,value:"CAMERA"};IfcAudioVisualApplianceTypeEnum.DISPLAY={type:3,value:"DISPLAY"};IfcAudioVisualApplianceTypeEnum.MICROPHONE={type:3,value:"MICROPHONE"};IfcAudioVisualApplianceTypeEnum.PLAYER={type:3,value:"PLAYER"};IfcAudioVisualApplianceTypeEnum.PROJECTOR={type:3,value:"PROJECTOR"};IfcAudioVisualApplianceTypeEnum.RECEIVER={type:3,value:"RECEIVER"};IfcAudioVisualApplianceTypeEnum.SPEAKER={type:3,value:"SPEAKER"};IfcAudioVisualApplianceTypeEnum.SWITCHER={type:3,value:"SWITCHER"};IfcAudioVisualApplianceTypeEnum.TELEPHONE={type:3,value:"TELEPHONE"};IfcAudioVisualApplianceTypeEnum.TUNER={type:3,value:"TUNER"};IfcAudioVisualApplianceTypeEnum.USERDEFINED={type:3,value:"USERDEFINED"};IfcAudioVisualApplianceTypeEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC42.IfcAudioVisualApplianceTypeEnum=IfcAudioVisualApplianceTypeEnum;var IfcBSplineCurveForm=/*#__PURE__*/_createClass(function IfcBSplineCurveForm(){_classCallCheck(this,IfcBSplineCurveForm);});IfcBSplineCurveForm.POLYLINE_FORM={type:3,value:"POLYLINE_FORM"};IfcBSplineCurveForm.CIRCULAR_ARC={type:3,value:"CIRCULAR_ARC"};IfcBSplineCurveForm.ELLIPTIC_ARC={type:3,value:"ELLIPTIC_ARC"};IfcBSplineCurveForm.PARABOLIC_ARC={type:3,value:"PARABOLIC_ARC"};IfcBSplineCurveForm.HYPERBOLIC_ARC={type:3,value:"HYPERBOLIC_ARC"};IfcBSplineCurveForm.UNSPECIFIED={type:3,value:"UNSPECIFIED"};IFC42.IfcBSplineCurveForm=IfcBSplineCurveForm;var IfcBSplineSurfaceForm=/*#__PURE__*/_createClass(function IfcBSplineSurfaceForm(){_classCallCheck(this,IfcBSplineSurfaceForm);});IfcBSplineSurfaceForm.PLANE_SURF={type:3,value:"PLANE_SURF"};IfcBSplineSurfaceForm.CYLINDRICAL_SURF={type:3,value:"CYLINDRICAL_SURF"};IfcBSplineSurfaceForm.CONICAL_SURF={type:3,value:"CONICAL_SURF"};IfcBSplineSurfaceForm.SPHERICAL_SURF={type:3,value:"SPHERICAL_SURF"};IfcBSplineSurfaceForm.TOROIDAL_SURF={type:3,value:"TOROIDAL_SURF"};IfcBSplineSurfaceForm.SURF_OF_REVOLUTION={type:3,value:"SURF_OF_REVOLUTION"};IfcBSplineSurfaceForm.RULED_SURF={type:3,value:"RULED_SURF"};IfcBSplineSurfaceForm.GENERALISED_CONE={type:3,value:"GENERALISED_CONE"};IfcBSplineSurfaceForm.QUADRIC_SURF={type:3,value:"QUADRIC_SURF"};IfcBSplineSurfaceForm.SURF_OF_LINEAR_EXTRUSION={type:3,value:"SURF_OF_LINEAR_EXTRUSION"};IfcBSplineSurfaceForm.UNSPECIFIED={type:3,value:"UNSPECIFIED"};IFC42.IfcBSplineSurfaceForm=IfcBSplineSurfaceForm;var IfcBeamTypeEnum=/*#__PURE__*/_createClass(function IfcBeamTypeEnum(){_classCallCheck(this,IfcBeamTypeEnum);});IfcBeamTypeEnum.BEAM={type:3,value:"BEAM"};IfcBeamTypeEnum.JOIST={type:3,value:"JOIST"};IfcBeamTypeEnum.HOLLOWCORE={type:3,value:"HOLLOWCORE"};IfcBeamTypeEnum.LINTEL={type:3,value:"LINTEL"};IfcBeamTypeEnum.SPANDREL={type:3,value:"SPANDREL"};IfcBeamTypeEnum.T_BEAM={type:3,value:"T_BEAM"};IfcBeamTypeEnum.USERDEFINED={type:3,value:"USERDEFINED"};IfcBeamTypeEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC42.IfcBeamTypeEnum=IfcBeamTypeEnum;var IfcBenchmarkEnum=/*#__PURE__*/_createClass(function IfcBenchmarkEnum(){_classCallCheck(this,IfcBenchmarkEnum);});IfcBenchmarkEnum.GREATERTHAN={type:3,value:"GREATERTHAN"};IfcBenchmarkEnum.GREATERTHANOREQUALTO={type:3,value:"GREATERTHANOREQUALTO"};IfcBenchmarkEnum.LESSTHAN={type:3,value:"LESSTHAN"};IfcBenchmarkEnum.LESSTHANOREQUALTO={type:3,value:"LESSTHANOREQUALTO"};IfcBenchmarkEnum.EQUALTO={type:3,value:"EQUALTO"};IfcBenchmarkEnum.NOTEQUALTO={type:3,value:"NOTEQUALTO"};IfcBenchmarkEnum.INCLUDES={type:3,value:"INCLUDES"};IfcBenchmarkEnum.NOTINCLUDES={type:3,value:"NOTINCLUDES"};IfcBenchmarkEnum.INCLUDEDIN={type:3,value:"INCLUDEDIN"};IfcBenchmarkEnum.NOTINCLUDEDIN={type:3,value:"NOTINCLUDEDIN"};IFC42.IfcBenchmarkEnum=IfcBenchmarkEnum;var IfcBoilerTypeEnum=/*#__PURE__*/_createClass(function IfcBoilerTypeEnum(){_classCallCheck(this,IfcBoilerTypeEnum);});IfcBoilerTypeEnum.WATER={type:3,value:"WATER"};IfcBoilerTypeEnum.STEAM={type:3,value:"STEAM"};IfcBoilerTypeEnum.USERDEFINED={type:3,value:"USERDEFINED"};IfcBoilerTypeEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC42.IfcBoilerTypeEnum=IfcBoilerTypeEnum;var IfcBooleanOperator=/*#__PURE__*/_createClass(function IfcBooleanOperator(){_classCallCheck(this,IfcBooleanOperator);});IfcBooleanOperator.UNION={type:3,value:"UNION"};IfcBooleanOperator.INTERSECTION={type:3,value:"INTERSECTION"};IfcBooleanOperator.DIFFERENCE={type:3,value:"DIFFERENCE"};IFC42.IfcBooleanOperator=IfcBooleanOperator;var IfcBuildingElementPartTypeEnum=/*#__PURE__*/_createClass(function IfcBuildingElementPartTypeEnum(){_classCallCheck(this,IfcBuildingElementPartTypeEnum);});IfcBuildingElementPartTypeEnum.INSULATION={type:3,value:"INSULATION"};IfcBuildingElementPartTypeEnum.PRECASTPANEL={type:3,value:"PRECASTPANEL"};IfcBuildingElementPartTypeEnum.USERDEFINED={type:3,value:"USERDEFINED"};IfcBuildingElementPartTypeEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC42.IfcBuildingElementPartTypeEnum=IfcBuildingElementPartTypeEnum;var IfcBuildingElementProxyTypeEnum=/*#__PURE__*/_createClass(function IfcBuildingElementProxyTypeEnum(){_classCallCheck(this,IfcBuildingElementProxyTypeEnum);});IfcBuildingElementProxyTypeEnum.COMPLEX={type:3,value:"COMPLEX"};IfcBuildingElementProxyTypeEnum.ELEMENT={type:3,value:"ELEMENT"};IfcBuildingElementProxyTypeEnum.PARTIAL={type:3,value:"PARTIAL"};IfcBuildingElementProxyTypeEnum.PROVISIONFORVOID={type:3,value:"PROVISIONFORVOID"};IfcBuildingElementProxyTypeEnum.PROVISIONFORSPACE={type:3,value:"PROVISIONFORSPACE"};IfcBuildingElementProxyTypeEnum.USERDEFINED={type:3,value:"USERDEFINED"};IfcBuildingElementProxyTypeEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC42.IfcBuildingElementProxyTypeEnum=IfcBuildingElementProxyTypeEnum;var IfcBuildingSystemTypeEnum=/*#__PURE__*/_createClass(function IfcBuildingSystemTypeEnum(){_classCallCheck(this,IfcBuildingSystemTypeEnum);});IfcBuildingSystemTypeEnum.FENESTRATION={type:3,value:"FENESTRATION"};IfcBuildingSystemTypeEnum.FOUNDATION={type:3,value:"FOUNDATION"};IfcBuildingSystemTypeEnum.LOADBEARING={type:3,value:"LOADBEARING"};IfcBuildingSystemTypeEnum.OUTERSHELL={type:3,value:"OUTERSHELL"};IfcBuildingSystemTypeEnum.SHADING={type:3,value:"SHADING"};IfcBuildingSystemTypeEnum.TRANSPORT={type:3,value:"TRANSPORT"};IfcBuildingSystemTypeEnum.USERDEFINED={type:3,value:"USERDEFINED"};IfcBuildingSystemTypeEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC42.IfcBuildingSystemTypeEnum=IfcBuildingSystemTypeEnum;var IfcBurnerTypeEnum=/*#__PURE__*/_createClass(function IfcBurnerTypeEnum(){_classCallCheck(this,IfcBurnerTypeEnum);});IfcBurnerTypeEnum.USERDEFINED={type:3,value:"USERDEFINED"};IfcBurnerTypeEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC42.IfcBurnerTypeEnum=IfcBurnerTypeEnum;var IfcCableCarrierFittingTypeEnum=/*#__PURE__*/_createClass(function IfcCableCarrierFittingTypeEnum(){_classCallCheck(this,IfcCableCarrierFittingTypeEnum);});IfcCableCarrierFittingTypeEnum.BEND={type:3,value:"BEND"};IfcCableCarrierFittingTypeEnum.CROSS={type:3,value:"CROSS"};IfcCableCarrierFittingTypeEnum.REDUCER={type:3,value:"REDUCER"};IfcCableCarrierFittingTypeEnum.TEE={type:3,value:"TEE"};IfcCableCarrierFittingTypeEnum.USERDEFINED={type:3,value:"USERDEFINED"};IfcCableCarrierFittingTypeEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC42.IfcCableCarrierFittingTypeEnum=IfcCableCarrierFittingTypeEnum;var IfcCableCarrierSegmentTypeEnum=/*#__PURE__*/_createClass(function IfcCableCarrierSegmentTypeEnum(){_classCallCheck(this,IfcCableCarrierSegmentTypeEnum);});IfcCableCarrierSegmentTypeEnum.CABLELADDERSEGMENT={type:3,value:"CABLELADDERSEGMENT"};IfcCableCarrierSegmentTypeEnum.CABLETRAYSEGMENT={type:3,value:"CABLETRAYSEGMENT"};IfcCableCarrierSegmentTypeEnum.CABLETRUNKINGSEGMENT={type:3,value:"CABLETRUNKINGSEGMENT"};IfcCableCarrierSegmentTypeEnum.CONDUITSEGMENT={type:3,value:"CONDUITSEGMENT"};IfcCableCarrierSegmentTypeEnum.USERDEFINED={type:3,value:"USERDEFINED"};IfcCableCarrierSegmentTypeEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC42.IfcCableCarrierSegmentTypeEnum=IfcCableCarrierSegmentTypeEnum;var IfcCableFittingTypeEnum=/*#__PURE__*/_createClass(function IfcCableFittingTypeEnum(){_classCallCheck(this,IfcCableFittingTypeEnum);});IfcCableFittingTypeEnum.CONNECTOR={type:3,value:"CONNECTOR"};IfcCableFittingTypeEnum.ENTRY={type:3,value:"ENTRY"};IfcCableFittingTypeEnum.EXIT={type:3,value:"EXIT"};IfcCableFittingTypeEnum.JUNCTION={type:3,value:"JUNCTION"};IfcCableFittingTypeEnum.TRANSITION={type:3,value:"TRANSITION"};IfcCableFittingTypeEnum.USERDEFINED={type:3,value:"USERDEFINED"};IfcCableFittingTypeEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC42.IfcCableFittingTypeEnum=IfcCableFittingTypeEnum;var IfcCableSegmentTypeEnum=/*#__PURE__*/_createClass(function IfcCableSegmentTypeEnum(){_classCallCheck(this,IfcCableSegmentTypeEnum);});IfcCableSegmentTypeEnum.BUSBARSEGMENT={type:3,value:"BUSBARSEGMENT"};IfcCableSegmentTypeEnum.CABLESEGMENT={type:3,value:"CABLESEGMENT"};IfcCableSegmentTypeEnum.CONDUCTORSEGMENT={type:3,value:"CONDUCTORSEGMENT"};IfcCableSegmentTypeEnum.CORESEGMENT={type:3,value:"CORESEGMENT"};IfcCableSegmentTypeEnum.USERDEFINED={type:3,value:"USERDEFINED"};IfcCableSegmentTypeEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC42.IfcCableSegmentTypeEnum=IfcCableSegmentTypeEnum;var IfcChangeActionEnum=/*#__PURE__*/_createClass(function IfcChangeActionEnum(){_classCallCheck(this,IfcChangeActionEnum);});IfcChangeActionEnum.NOCHANGE={type:3,value:"NOCHANGE"};IfcChangeActionEnum.MODIFIED={type:3,value:"MODIFIED"};IfcChangeActionEnum.ADDED={type:3,value:"ADDED"};IfcChangeActionEnum.DELETED={type:3,value:"DELETED"};IfcChangeActionEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC42.IfcChangeActionEnum=IfcChangeActionEnum;var IfcChillerTypeEnum=/*#__PURE__*/_createClass(function IfcChillerTypeEnum(){_classCallCheck(this,IfcChillerTypeEnum);});IfcChillerTypeEnum.AIRCOOLED={type:3,value:"AIRCOOLED"};IfcChillerTypeEnum.WATERCOOLED={type:3,value:"WATERCOOLED"};IfcChillerTypeEnum.HEATRECOVERY={type:3,value:"HEATRECOVERY"};IfcChillerTypeEnum.USERDEFINED={type:3,value:"USERDEFINED"};IfcChillerTypeEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC42.IfcChillerTypeEnum=IfcChillerTypeEnum;var IfcChimneyTypeEnum=/*#__PURE__*/_createClass(function IfcChimneyTypeEnum(){_classCallCheck(this,IfcChimneyTypeEnum);});IfcChimneyTypeEnum.USERDEFINED={type:3,value:"USERDEFINED"};IfcChimneyTypeEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC42.IfcChimneyTypeEnum=IfcChimneyTypeEnum;var IfcCoilTypeEnum=/*#__PURE__*/_createClass(function IfcCoilTypeEnum(){_classCallCheck(this,IfcCoilTypeEnum);});IfcCoilTypeEnum.DXCOOLINGCOIL={type:3,value:"DXCOOLINGCOIL"};IfcCoilTypeEnum.ELECTRICHEATINGCOIL={type:3,value:"ELECTRICHEATINGCOIL"};IfcCoilTypeEnum.GASHEATINGCOIL={type:3,value:"GASHEATINGCOIL"};IfcCoilTypeEnum.HYDRONICCOIL={type:3,value:"HYDRONICCOIL"};IfcCoilTypeEnum.STEAMHEATINGCOIL={type:3,value:"STEAMHEATINGCOIL"};IfcCoilTypeEnum.WATERCOOLINGCOIL={type:3,value:"WATERCOOLINGCOIL"};IfcCoilTypeEnum.WATERHEATINGCOIL={type:3,value:"WATERHEATINGCOIL"};IfcCoilTypeEnum.USERDEFINED={type:3,value:"USERDEFINED"};IfcCoilTypeEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC42.IfcCoilTypeEnum=IfcCoilTypeEnum;var IfcColumnTypeEnum=/*#__PURE__*/_createClass(function IfcColumnTypeEnum(){_classCallCheck(this,IfcColumnTypeEnum);});IfcColumnTypeEnum.COLUMN={type:3,value:"COLUMN"};IfcColumnTypeEnum.PILASTER={type:3,value:"PILASTER"};IfcColumnTypeEnum.USERDEFINED={type:3,value:"USERDEFINED"};IfcColumnTypeEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC42.IfcColumnTypeEnum=IfcColumnTypeEnum;var IfcCommunicationsApplianceTypeEnum=/*#__PURE__*/_createClass(function IfcCommunicationsApplianceTypeEnum(){_classCallCheck(this,IfcCommunicationsApplianceTypeEnum);});IfcCommunicationsApplianceTypeEnum.ANTENNA={type:3,value:"ANTENNA"};IfcCommunicationsApplianceTypeEnum.COMPUTER={type:3,value:"COMPUTER"};IfcCommunicationsApplianceTypeEnum.FAX={type:3,value:"FAX"};IfcCommunicationsApplianceTypeEnum.GATEWAY={type:3,value:"GATEWAY"};IfcCommunicationsApplianceTypeEnum.MODEM={type:3,value:"MODEM"};IfcCommunicationsApplianceTypeEnum.NETWORKAPPLIANCE={type:3,value:"NETWORKAPPLIANCE"};IfcCommunicationsApplianceTypeEnum.NETWORKBRIDGE={type:3,value:"NETWORKBRIDGE"};IfcCommunicationsApplianceTypeEnum.NETWORKHUB={type:3,value:"NETWORKHUB"};IfcCommunicationsApplianceTypeEnum.PRINTER={type:3,value:"PRINTER"};IfcCommunicationsApplianceTypeEnum.REPEATER={type:3,value:"REPEATER"};IfcCommunicationsApplianceTypeEnum.ROUTER={type:3,value:"ROUTER"};IfcCommunicationsApplianceTypeEnum.SCANNER={type:3,value:"SCANNER"};IfcCommunicationsApplianceTypeEnum.USERDEFINED={type:3,value:"USERDEFINED"};IfcCommunicationsApplianceTypeEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC42.IfcCommunicationsApplianceTypeEnum=IfcCommunicationsApplianceTypeEnum;var IfcComplexPropertyTemplateTypeEnum=/*#__PURE__*/_createClass(function IfcComplexPropertyTemplateTypeEnum(){_classCallCheck(this,IfcComplexPropertyTemplateTypeEnum);});IfcComplexPropertyTemplateTypeEnum.P_COMPLEX={type:3,value:"P_COMPLEX"};IfcComplexPropertyTemplateTypeEnum.Q_COMPLEX={type:3,value:"Q_COMPLEX"};IFC42.IfcComplexPropertyTemplateTypeEnum=IfcComplexPropertyTemplateTypeEnum;var IfcCompressorTypeEnum=/*#__PURE__*/_createClass(function IfcCompressorTypeEnum(){_classCallCheck(this,IfcCompressorTypeEnum);});IfcCompressorTypeEnum.DYNAMIC={type:3,value:"DYNAMIC"};IfcCompressorTypeEnum.RECIPROCATING={type:3,value:"RECIPROCATING"};IfcCompressorTypeEnum.ROTARY={type:3,value:"ROTARY"};IfcCompressorTypeEnum.SCROLL={type:3,value:"SCROLL"};IfcCompressorTypeEnum.TROCHOIDAL={type:3,value:"TROCHOIDAL"};IfcCompressorTypeEnum.SINGLESTAGE={type:3,value:"SINGLESTAGE"};IfcCompressorTypeEnum.BOOSTER={type:3,value:"BOOSTER"};IfcCompressorTypeEnum.OPENTYPE={type:3,value:"OPENTYPE"};IfcCompressorTypeEnum.HERMETIC={type:3,value:"HERMETIC"};IfcCompressorTypeEnum.SEMIHERMETIC={type:3,value:"SEMIHERMETIC"};IfcCompressorTypeEnum.WELDEDSHELLHERMETIC={type:3,value:"WELDEDSHELLHERMETIC"};IfcCompressorTypeEnum.ROLLINGPISTON={type:3,value:"ROLLINGPISTON"};IfcCompressorTypeEnum.ROTARYVANE={type:3,value:"ROTARYVANE"};IfcCompressorTypeEnum.SINGLESCREW={type:3,value:"SINGLESCREW"};IfcCompressorTypeEnum.TWINSCREW={type:3,value:"TWINSCREW"};IfcCompressorTypeEnum.USERDEFINED={type:3,value:"USERDEFINED"};IfcCompressorTypeEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC42.IfcCompressorTypeEnum=IfcCompressorTypeEnum;var IfcCondenserTypeEnum=/*#__PURE__*/_createClass(function IfcCondenserTypeEnum(){_classCallCheck(this,IfcCondenserTypeEnum);});IfcCondenserTypeEnum.AIRCOOLED={type:3,value:"AIRCOOLED"};IfcCondenserTypeEnum.EVAPORATIVECOOLED={type:3,value:"EVAPORATIVECOOLED"};IfcCondenserTypeEnum.WATERCOOLED={type:3,value:"WATERCOOLED"};IfcCondenserTypeEnum.WATERCOOLEDBRAZEDPLATE={type:3,value:"WATERCOOLEDBRAZEDPLATE"};IfcCondenserTypeEnum.WATERCOOLEDSHELLCOIL={type:3,value:"WATERCOOLEDSHELLCOIL"};IfcCondenserTypeEnum.WATERCOOLEDSHELLTUBE={type:3,value:"WATERCOOLEDSHELLTUBE"};IfcCondenserTypeEnum.WATERCOOLEDTUBEINTUBE={type:3,value:"WATERCOOLEDTUBEINTUBE"};IfcCondenserTypeEnum.USERDEFINED={type:3,value:"USERDEFINED"};IfcCondenserTypeEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC42.IfcCondenserTypeEnum=IfcCondenserTypeEnum;var IfcConnectionTypeEnum=/*#__PURE__*/_createClass(function IfcConnectionTypeEnum(){_classCallCheck(this,IfcConnectionTypeEnum);});IfcConnectionTypeEnum.ATPATH={type:3,value:"ATPATH"};IfcConnectionTypeEnum.ATSTART={type:3,value:"ATSTART"};IfcConnectionTypeEnum.ATEND={type:3,value:"ATEND"};IfcConnectionTypeEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC42.IfcConnectionTypeEnum=IfcConnectionTypeEnum;var IfcConstraintEnum=/*#__PURE__*/_createClass(function IfcConstraintEnum(){_classCallCheck(this,IfcConstraintEnum);});IfcConstraintEnum.HARD={type:3,value:"HARD"};IfcConstraintEnum.SOFT={type:3,value:"SOFT"};IfcConstraintEnum.ADVISORY={type:3,value:"ADVISORY"};IfcConstraintEnum.USERDEFINED={type:3,value:"USERDEFINED"};IfcConstraintEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC42.IfcConstraintEnum=IfcConstraintEnum;var IfcConstructionEquipmentResourceTypeEnum=/*#__PURE__*/_createClass(function IfcConstructionEquipmentResourceTypeEnum(){_classCallCheck(this,IfcConstructionEquipmentResourceTypeEnum);});IfcConstructionEquipmentResourceTypeEnum.DEMOLISHING={type:3,value:"DEMOLISHING"};IfcConstructionEquipmentResourceTypeEnum.EARTHMOVING={type:3,value:"EARTHMOVING"};IfcConstructionEquipmentResourceTypeEnum.ERECTING={type:3,value:"ERECTING"};IfcConstructionEquipmentResourceTypeEnum.HEATING={type:3,value:"HEATING"};IfcConstructionEquipmentResourceTypeEnum.LIGHTING={type:3,value:"LIGHTING"};IfcConstructionEquipmentResourceTypeEnum.PAVING={type:3,value:"PAVING"};IfcConstructionEquipmentResourceTypeEnum.PUMPING={type:3,value:"PUMPING"};IfcConstructionEquipmentResourceTypeEnum.TRANSPORTING={type:3,value:"TRANSPORTING"};IfcConstructionEquipmentResourceTypeEnum.USERDEFINED={type:3,value:"USERDEFINED"};IfcConstructionEquipmentResourceTypeEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC42.IfcConstructionEquipmentResourceTypeEnum=IfcConstructionEquipmentResourceTypeEnum;var IfcConstructionMaterialResourceTypeEnum=/*#__PURE__*/_createClass(function IfcConstructionMaterialResourceTypeEnum(){_classCallCheck(this,IfcConstructionMaterialResourceTypeEnum);});IfcConstructionMaterialResourceTypeEnum.AGGREGATES={type:3,value:"AGGREGATES"};IfcConstructionMaterialResourceTypeEnum.CONCRETE={type:3,value:"CONCRETE"};IfcConstructionMaterialResourceTypeEnum.DRYWALL={type:3,value:"DRYWALL"};IfcConstructionMaterialResourceTypeEnum.FUEL={type:3,value:"FUEL"};IfcConstructionMaterialResourceTypeEnum.GYPSUM={type:3,value:"GYPSUM"};IfcConstructionMaterialResourceTypeEnum.MASONRY={type:3,value:"MASONRY"};IfcConstructionMaterialResourceTypeEnum.METAL={type:3,value:"METAL"};IfcConstructionMaterialResourceTypeEnum.PLASTIC={type:3,value:"PLASTIC"};IfcConstructionMaterialResourceTypeEnum.WOOD={type:3,value:"WOOD"};IfcConstructionMaterialResourceTypeEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IfcConstructionMaterialResourceTypeEnum.USERDEFINED={type:3,value:"USERDEFINED"};IFC42.IfcConstructionMaterialResourceTypeEnum=IfcConstructionMaterialResourceTypeEnum;var IfcConstructionProductResourceTypeEnum=/*#__PURE__*/_createClass(function IfcConstructionProductResourceTypeEnum(){_classCallCheck(this,IfcConstructionProductResourceTypeEnum);});IfcConstructionProductResourceTypeEnum.ASSEMBLY={type:3,value:"ASSEMBLY"};IfcConstructionProductResourceTypeEnum.FORMWORK={type:3,value:"FORMWORK"};IfcConstructionProductResourceTypeEnum.USERDEFINED={type:3,value:"USERDEFINED"};IfcConstructionProductResourceTypeEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC42.IfcConstructionProductResourceTypeEnum=IfcConstructionProductResourceTypeEnum;var IfcControllerTypeEnum=/*#__PURE__*/_createClass(function IfcControllerTypeEnum(){_classCallCheck(this,IfcControllerTypeEnum);});IfcControllerTypeEnum.FLOATING={type:3,value:"FLOATING"};IfcControllerTypeEnum.PROGRAMMABLE={type:3,value:"PROGRAMMABLE"};IfcControllerTypeEnum.PROPORTIONAL={type:3,value:"PROPORTIONAL"};IfcControllerTypeEnum.MULTIPOSITION={type:3,value:"MULTIPOSITION"};IfcControllerTypeEnum.TWOPOSITION={type:3,value:"TWOPOSITION"};IfcControllerTypeEnum.USERDEFINED={type:3,value:"USERDEFINED"};IfcControllerTypeEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC42.IfcControllerTypeEnum=IfcControllerTypeEnum;var IfcCooledBeamTypeEnum=/*#__PURE__*/_createClass(function IfcCooledBeamTypeEnum(){_classCallCheck(this,IfcCooledBeamTypeEnum);});IfcCooledBeamTypeEnum.ACTIVE={type:3,value:"ACTIVE"};IfcCooledBeamTypeEnum.PASSIVE={type:3,value:"PASSIVE"};IfcCooledBeamTypeEnum.USERDEFINED={type:3,value:"USERDEFINED"};IfcCooledBeamTypeEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC42.IfcCooledBeamTypeEnum=IfcCooledBeamTypeEnum;var IfcCoolingTowerTypeEnum=/*#__PURE__*/_createClass(function IfcCoolingTowerTypeEnum(){_classCallCheck(this,IfcCoolingTowerTypeEnum);});IfcCoolingTowerTypeEnum.NATURALDRAFT={type:3,value:"NATURALDRAFT"};IfcCoolingTowerTypeEnum.MECHANICALINDUCEDDRAFT={type:3,value:"MECHANICALINDUCEDDRAFT"};IfcCoolingTowerTypeEnum.MECHANICALFORCEDDRAFT={type:3,value:"MECHANICALFORCEDDRAFT"};IfcCoolingTowerTypeEnum.USERDEFINED={type:3,value:"USERDEFINED"};IfcCoolingTowerTypeEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC42.IfcCoolingTowerTypeEnum=IfcCoolingTowerTypeEnum;var IfcCostItemTypeEnum=/*#__PURE__*/_createClass(function IfcCostItemTypeEnum(){_classCallCheck(this,IfcCostItemTypeEnum);});IfcCostItemTypeEnum.USERDEFINED={type:3,value:"USERDEFINED"};IfcCostItemTypeEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC42.IfcCostItemTypeEnum=IfcCostItemTypeEnum;var IfcCostScheduleTypeEnum=/*#__PURE__*/_createClass(function IfcCostScheduleTypeEnum(){_classCallCheck(this,IfcCostScheduleTypeEnum);});IfcCostScheduleTypeEnum.BUDGET={type:3,value:"BUDGET"};IfcCostScheduleTypeEnum.COSTPLAN={type:3,value:"COSTPLAN"};IfcCostScheduleTypeEnum.ESTIMATE={type:3,value:"ESTIMATE"};IfcCostScheduleTypeEnum.TENDER={type:3,value:"TENDER"};IfcCostScheduleTypeEnum.PRICEDBILLOFQUANTITIES={type:3,value:"PRICEDBILLOFQUANTITIES"};IfcCostScheduleTypeEnum.UNPRICEDBILLOFQUANTITIES={type:3,value:"UNPRICEDBILLOFQUANTITIES"};IfcCostScheduleTypeEnum.SCHEDULEOFRATES={type:3,value:"SCHEDULEOFRATES"};IfcCostScheduleTypeEnum.USERDEFINED={type:3,value:"USERDEFINED"};IfcCostScheduleTypeEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC42.IfcCostScheduleTypeEnum=IfcCostScheduleTypeEnum;var IfcCoveringTypeEnum=/*#__PURE__*/_createClass(function IfcCoveringTypeEnum(){_classCallCheck(this,IfcCoveringTypeEnum);});IfcCoveringTypeEnum.CEILING={type:3,value:"CEILING"};IfcCoveringTypeEnum.FLOORING={type:3,value:"FLOORING"};IfcCoveringTypeEnum.CLADDING={type:3,value:"CLADDING"};IfcCoveringTypeEnum.ROOFING={type:3,value:"ROOFING"};IfcCoveringTypeEnum.MOLDING={type:3,value:"MOLDING"};IfcCoveringTypeEnum.SKIRTINGBOARD={type:3,value:"SKIRTINGBOARD"};IfcCoveringTypeEnum.INSULATION={type:3,value:"INSULATION"};IfcCoveringTypeEnum.MEMBRANE={type:3,value:"MEMBRANE"};IfcCoveringTypeEnum.SLEEVING={type:3,value:"SLEEVING"};IfcCoveringTypeEnum.WRAPPING={type:3,value:"WRAPPING"};IfcCoveringTypeEnum.USERDEFINED={type:3,value:"USERDEFINED"};IfcCoveringTypeEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC42.IfcCoveringTypeEnum=IfcCoveringTypeEnum;var IfcCrewResourceTypeEnum=/*#__PURE__*/_createClass(function IfcCrewResourceTypeEnum(){_classCallCheck(this,IfcCrewResourceTypeEnum);});IfcCrewResourceTypeEnum.OFFICE={type:3,value:"OFFICE"};IfcCrewResourceTypeEnum.SITE={type:3,value:"SITE"};IfcCrewResourceTypeEnum.USERDEFINED={type:3,value:"USERDEFINED"};IfcCrewResourceTypeEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC42.IfcCrewResourceTypeEnum=IfcCrewResourceTypeEnum;var IfcCurtainWallTypeEnum=/*#__PURE__*/_createClass(function IfcCurtainWallTypeEnum(){_classCallCheck(this,IfcCurtainWallTypeEnum);});IfcCurtainWallTypeEnum.USERDEFINED={type:3,value:"USERDEFINED"};IfcCurtainWallTypeEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC42.IfcCurtainWallTypeEnum=IfcCurtainWallTypeEnum;var IfcCurveInterpolationEnum=/*#__PURE__*/_createClass(function IfcCurveInterpolationEnum(){_classCallCheck(this,IfcCurveInterpolationEnum);});IfcCurveInterpolationEnum.LINEAR={type:3,value:"LINEAR"};IfcCurveInterpolationEnum.LOG_LINEAR={type:3,value:"LOG_LINEAR"};IfcCurveInterpolationEnum.LOG_LOG={type:3,value:"LOG_LOG"};IfcCurveInterpolationEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC42.IfcCurveInterpolationEnum=IfcCurveInterpolationEnum;var IfcDamperTypeEnum=/*#__PURE__*/_createClass(function IfcDamperTypeEnum(){_classCallCheck(this,IfcDamperTypeEnum);});IfcDamperTypeEnum.BACKDRAFTDAMPER={type:3,value:"BACKDRAFTDAMPER"};IfcDamperTypeEnum.BALANCINGDAMPER={type:3,value:"BALANCINGDAMPER"};IfcDamperTypeEnum.BLASTDAMPER={type:3,value:"BLASTDAMPER"};IfcDamperTypeEnum.CONTROLDAMPER={type:3,value:"CONTROLDAMPER"};IfcDamperTypeEnum.FIREDAMPER={type:3,value:"FIREDAMPER"};IfcDamperTypeEnum.FIRESMOKEDAMPER={type:3,value:"FIRESMOKEDAMPER"};IfcDamperTypeEnum.FUMEHOODEXHAUST={type:3,value:"FUMEHOODEXHAUST"};IfcDamperTypeEnum.GRAVITYDAMPER={type:3,value:"GRAVITYDAMPER"};IfcDamperTypeEnum.GRAVITYRELIEFDAMPER={type:3,value:"GRAVITYRELIEFDAMPER"};IfcDamperTypeEnum.RELIEFDAMPER={type:3,value:"RELIEFDAMPER"};IfcDamperTypeEnum.SMOKEDAMPER={type:3,value:"SMOKEDAMPER"};IfcDamperTypeEnum.USERDEFINED={type:3,value:"USERDEFINED"};IfcDamperTypeEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC42.IfcDamperTypeEnum=IfcDamperTypeEnum;var IfcDataOriginEnum=/*#__PURE__*/_createClass(function IfcDataOriginEnum(){_classCallCheck(this,IfcDataOriginEnum);});IfcDataOriginEnum.MEASURED={type:3,value:"MEASURED"};IfcDataOriginEnum.PREDICTED={type:3,value:"PREDICTED"};IfcDataOriginEnum.SIMULATED={type:3,value:"SIMULATED"};IfcDataOriginEnum.USERDEFINED={type:3,value:"USERDEFINED"};IfcDataOriginEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC42.IfcDataOriginEnum=IfcDataOriginEnum;var IfcDerivedUnitEnum=/*#__PURE__*/_createClass(function IfcDerivedUnitEnum(){_classCallCheck(this,IfcDerivedUnitEnum);});IfcDerivedUnitEnum.ANGULARVELOCITYUNIT={type:3,value:"ANGULARVELOCITYUNIT"};IfcDerivedUnitEnum.AREADENSITYUNIT={type:3,value:"AREADENSITYUNIT"};IfcDerivedUnitEnum.COMPOUNDPLANEANGLEUNIT={type:3,value:"COMPOUNDPLANEANGLEUNIT"};IfcDerivedUnitEnum.DYNAMICVISCOSITYUNIT={type:3,value:"DYNAMICVISCOSITYUNIT"};IfcDerivedUnitEnum.HEATFLUXDENSITYUNIT={type:3,value:"HEATFLUXDENSITYUNIT"};IfcDerivedUnitEnum.INTEGERCOUNTRATEUNIT={type:3,value:"INTEGERCOUNTRATEUNIT"};IfcDerivedUnitEnum.ISOTHERMALMOISTURECAPACITYUNIT={type:3,value:"ISOTHERMALMOISTURECAPACITYUNIT"};IfcDerivedUnitEnum.KINEMATICVISCOSITYUNIT={type:3,value:"KINEMATICVISCOSITYUNIT"};IfcDerivedUnitEnum.LINEARVELOCITYUNIT={type:3,value:"LINEARVELOCITYUNIT"};IfcDerivedUnitEnum.MASSDENSITYUNIT={type:3,value:"MASSDENSITYUNIT"};IfcDerivedUnitEnum.MASSFLOWRATEUNIT={type:3,value:"MASSFLOWRATEUNIT"};IfcDerivedUnitEnum.MOISTUREDIFFUSIVITYUNIT={type:3,value:"MOISTUREDIFFUSIVITYUNIT"};IfcDerivedUnitEnum.MOLECULARWEIGHTUNIT={type:3,value:"MOLECULARWEIGHTUNIT"};IfcDerivedUnitEnum.SPECIFICHEATCAPACITYUNIT={type:3,value:"SPECIFICHEATCAPACITYUNIT"};IfcDerivedUnitEnum.THERMALADMITTANCEUNIT={type:3,value:"THERMALADMITTANCEUNIT"};IfcDerivedUnitEnum.THERMALCONDUCTANCEUNIT={type:3,value:"THERMALCONDUCTANCEUNIT"};IfcDerivedUnitEnum.THERMALRESISTANCEUNIT={type:3,value:"THERMALRESISTANCEUNIT"};IfcDerivedUnitEnum.THERMALTRANSMITTANCEUNIT={type:3,value:"THERMALTRANSMITTANCEUNIT"};IfcDerivedUnitEnum.VAPORPERMEABILITYUNIT={type:3,value:"VAPORPERMEABILITYUNIT"};IfcDerivedUnitEnum.VOLUMETRICFLOWRATEUNIT={type:3,value:"VOLUMETRICFLOWRATEUNIT"};IfcDerivedUnitEnum.ROTATIONALFREQUENCYUNIT={type:3,value:"ROTATIONALFREQUENCYUNIT"};IfcDerivedUnitEnum.TORQUEUNIT={type:3,value:"TORQUEUNIT"};IfcDerivedUnitEnum.MOMENTOFINERTIAUNIT={type:3,value:"MOMENTOFINERTIAUNIT"};IfcDerivedUnitEnum.LINEARMOMENTUNIT={type:3,value:"LINEARMOMENTUNIT"};IfcDerivedUnitEnum.LINEARFORCEUNIT={type:3,value:"LINEARFORCEUNIT"};IfcDerivedUnitEnum.PLANARFORCEUNIT={type:3,value:"PLANARFORCEUNIT"};IfcDerivedUnitEnum.MODULUSOFELASTICITYUNIT={type:3,value:"MODULUSOFELASTICITYUNIT"};IfcDerivedUnitEnum.SHEARMODULUSUNIT={type:3,value:"SHEARMODULUSUNIT"};IfcDerivedUnitEnum.LINEARSTIFFNESSUNIT={type:3,value:"LINEARSTIFFNESSUNIT"};IfcDerivedUnitEnum.ROTATIONALSTIFFNESSUNIT={type:3,value:"ROTATIONALSTIFFNESSUNIT"};IfcDerivedUnitEnum.MODULUSOFSUBGRADEREACTIONUNIT={type:3,value:"MODULUSOFSUBGRADEREACTIONUNIT"};IfcDerivedUnitEnum.ACCELERATIONUNIT={type:3,value:"ACCELERATIONUNIT"};IfcDerivedUnitEnum.CURVATUREUNIT={type:3,value:"CURVATUREUNIT"};IfcDerivedUnitEnum.HEATINGVALUEUNIT={type:3,value:"HEATINGVALUEUNIT"};IfcDerivedUnitEnum.IONCONCENTRATIONUNIT={type:3,value:"IONCONCENTRATIONUNIT"};IfcDerivedUnitEnum.LUMINOUSINTENSITYDISTRIBUTIONUNIT={type:3,value:"LUMINOUSINTENSITYDISTRIBUTIONUNIT"};IfcDerivedUnitEnum.MASSPERLENGTHUNIT={type:3,value:"MASSPERLENGTHUNIT"};IfcDerivedUnitEnum.MODULUSOFLINEARSUBGRADEREACTIONUNIT={type:3,value:"MODULUSOFLINEARSUBGRADEREACTIONUNIT"};IfcDerivedUnitEnum.MODULUSOFROTATIONALSUBGRADEREACTIONUNIT={type:3,value:"MODULUSOFROTATIONALSUBGRADEREACTIONUNIT"};IfcDerivedUnitEnum.PHUNIT={type:3,value:"PHUNIT"};IfcDerivedUnitEnum.ROTATIONALMASSUNIT={type:3,value:"ROTATIONALMASSUNIT"};IfcDerivedUnitEnum.SECTIONAREAINTEGRALUNIT={type:3,value:"SECTIONAREAINTEGRALUNIT"};IfcDerivedUnitEnum.SECTIONMODULUSUNIT={type:3,value:"SECTIONMODULUSUNIT"};IfcDerivedUnitEnum.SOUNDPOWERLEVELUNIT={type:3,value:"SOUNDPOWERLEVELUNIT"};IfcDerivedUnitEnum.SOUNDPOWERUNIT={type:3,value:"SOUNDPOWERUNIT"};IfcDerivedUnitEnum.SOUNDPRESSURELEVELUNIT={type:3,value:"SOUNDPRESSURELEVELUNIT"};IfcDerivedUnitEnum.SOUNDPRESSUREUNIT={type:3,value:"SOUNDPRESSUREUNIT"};IfcDerivedUnitEnum.TEMPERATUREGRADIENTUNIT={type:3,value:"TEMPERATUREGRADIENTUNIT"};IfcDerivedUnitEnum.TEMPERATURERATEOFCHANGEUNIT={type:3,value:"TEMPERATURERATEOFCHANGEUNIT"};IfcDerivedUnitEnum.THERMALEXPANSIONCOEFFICIENTUNIT={type:3,value:"THERMALEXPANSIONCOEFFICIENTUNIT"};IfcDerivedUnitEnum.WARPINGCONSTANTUNIT={type:3,value:"WARPINGCONSTANTUNIT"};IfcDerivedUnitEnum.WARPINGMOMENTUNIT={type:3,value:"WARPINGMOMENTUNIT"};IfcDerivedUnitEnum.USERDEFINED={type:3,value:"USERDEFINED"};IFC42.IfcDerivedUnitEnum=IfcDerivedUnitEnum;var IfcDirectionSenseEnum=/*#__PURE__*/_createClass(function IfcDirectionSenseEnum(){_classCallCheck(this,IfcDirectionSenseEnum);});IfcDirectionSenseEnum.POSITIVE={type:3,value:"POSITIVE"};IfcDirectionSenseEnum.NEGATIVE={type:3,value:"NEGATIVE"};IFC42.IfcDirectionSenseEnum=IfcDirectionSenseEnum;var IfcDiscreteAccessoryTypeEnum=/*#__PURE__*/_createClass(function IfcDiscreteAccessoryTypeEnum(){_classCallCheck(this,IfcDiscreteAccessoryTypeEnum);});IfcDiscreteAccessoryTypeEnum.ANCHORPLATE={type:3,value:"ANCHORPLATE"};IfcDiscreteAccessoryTypeEnum.BRACKET={type:3,value:"BRACKET"};IfcDiscreteAccessoryTypeEnum.SHOE={type:3,value:"SHOE"};IfcDiscreteAccessoryTypeEnum.USERDEFINED={type:3,value:"USERDEFINED"};IfcDiscreteAccessoryTypeEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC42.IfcDiscreteAccessoryTypeEnum=IfcDiscreteAccessoryTypeEnum;var IfcDistributionChamberElementTypeEnum=/*#__PURE__*/_createClass(function IfcDistributionChamberElementTypeEnum(){_classCallCheck(this,IfcDistributionChamberElementTypeEnum);});IfcDistributionChamberElementTypeEnum.FORMEDDUCT={type:3,value:"FORMEDDUCT"};IfcDistributionChamberElementTypeEnum.INSPECTIONCHAMBER={type:3,value:"INSPECTIONCHAMBER"};IfcDistributionChamberElementTypeEnum.INSPECTIONPIT={type:3,value:"INSPECTIONPIT"};IfcDistributionChamberElementTypeEnum.MANHOLE={type:3,value:"MANHOLE"};IfcDistributionChamberElementTypeEnum.METERCHAMBER={type:3,value:"METERCHAMBER"};IfcDistributionChamberElementTypeEnum.SUMP={type:3,value:"SUMP"};IfcDistributionChamberElementTypeEnum.TRENCH={type:3,value:"TRENCH"};IfcDistributionChamberElementTypeEnum.VALVECHAMBER={type:3,value:"VALVECHAMBER"};IfcDistributionChamberElementTypeEnum.USERDEFINED={type:3,value:"USERDEFINED"};IfcDistributionChamberElementTypeEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC42.IfcDistributionChamberElementTypeEnum=IfcDistributionChamberElementTypeEnum;var IfcDistributionPortTypeEnum=/*#__PURE__*/_createClass(function IfcDistributionPortTypeEnum(){_classCallCheck(this,IfcDistributionPortTypeEnum);});IfcDistributionPortTypeEnum.CABLE={type:3,value:"CABLE"};IfcDistributionPortTypeEnum.CABLECARRIER={type:3,value:"CABLECARRIER"};IfcDistributionPortTypeEnum.DUCT={type:3,value:"DUCT"};IfcDistributionPortTypeEnum.PIPE={type:3,value:"PIPE"};IfcDistributionPortTypeEnum.USERDEFINED={type:3,value:"USERDEFINED"};IfcDistributionPortTypeEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC42.IfcDistributionPortTypeEnum=IfcDistributionPortTypeEnum;var IfcDistributionSystemEnum=/*#__PURE__*/_createClass(function IfcDistributionSystemEnum(){_classCallCheck(this,IfcDistributionSystemEnum);});IfcDistributionSystemEnum.AIRCONDITIONING={type:3,value:"AIRCONDITIONING"};IfcDistributionSystemEnum.AUDIOVISUAL={type:3,value:"AUDIOVISUAL"};IfcDistributionSystemEnum.CHEMICAL={type:3,value:"CHEMICAL"};IfcDistributionSystemEnum.CHILLEDWATER={type:3,value:"CHILLEDWATER"};IfcDistributionSystemEnum.COMMUNICATION={type:3,value:"COMMUNICATION"};IfcDistributionSystemEnum.COMPRESSEDAIR={type:3,value:"COMPRESSEDAIR"};IfcDistributionSystemEnum.CONDENSERWATER={type:3,value:"CONDENSERWATER"};IfcDistributionSystemEnum.CONTROL={type:3,value:"CONTROL"};IfcDistributionSystemEnum.CONVEYING={type:3,value:"CONVEYING"};IfcDistributionSystemEnum.DATA={type:3,value:"DATA"};IfcDistributionSystemEnum.DISPOSAL={type:3,value:"DISPOSAL"};IfcDistributionSystemEnum.DOMESTICCOLDWATER={type:3,value:"DOMESTICCOLDWATER"};IfcDistributionSystemEnum.DOMESTICHOTWATER={type:3,value:"DOMESTICHOTWATER"};IfcDistributionSystemEnum.DRAINAGE={type:3,value:"DRAINAGE"};IfcDistributionSystemEnum.EARTHING={type:3,value:"EARTHING"};IfcDistributionSystemEnum.ELECTRICAL={type:3,value:"ELECTRICAL"};IfcDistributionSystemEnum.ELECTROACOUSTIC={type:3,value:"ELECTROACOUSTIC"};IfcDistributionSystemEnum.EXHAUST={type:3,value:"EXHAUST"};IfcDistributionSystemEnum.FIREPROTECTION={type:3,value:"FIREPROTECTION"};IfcDistributionSystemEnum.FUEL={type:3,value:"FUEL"};IfcDistributionSystemEnum.GAS={type:3,value:"GAS"};IfcDistributionSystemEnum.HAZARDOUS={type:3,value:"HAZARDOUS"};IfcDistributionSystemEnum.HEATING={type:3,value:"HEATING"};IfcDistributionSystemEnum.LIGHTING={type:3,value:"LIGHTING"};IfcDistributionSystemEnum.LIGHTNINGPROTECTION={type:3,value:"LIGHTNINGPROTECTION"};IfcDistributionSystemEnum.MUNICIPALSOLIDWASTE={type:3,value:"MUNICIPALSOLIDWASTE"};IfcDistributionSystemEnum.OIL={type:3,value:"OIL"};IfcDistributionSystemEnum.OPERATIONAL={type:3,value:"OPERATIONAL"};IfcDistributionSystemEnum.POWERGENERATION={type:3,value:"POWERGENERATION"};IfcDistributionSystemEnum.RAINWATER={type:3,value:"RAINWATER"};IfcDistributionSystemEnum.REFRIGERATION={type:3,value:"REFRIGERATION"};IfcDistributionSystemEnum.SECURITY={type:3,value:"SECURITY"};IfcDistributionSystemEnum.SEWAGE={type:3,value:"SEWAGE"};IfcDistributionSystemEnum.SIGNAL={type:3,value:"SIGNAL"};IfcDistributionSystemEnum.STORMWATER={type:3,value:"STORMWATER"};IfcDistributionSystemEnum.TELEPHONE={type:3,value:"TELEPHONE"};IfcDistributionSystemEnum.TV={type:3,value:"TV"};IfcDistributionSystemEnum.VACUUM={type:3,value:"VACUUM"};IfcDistributionSystemEnum.VENT={type:3,value:"VENT"};IfcDistributionSystemEnum.VENTILATION={type:3,value:"VENTILATION"};IfcDistributionSystemEnum.WASTEWATER={type:3,value:"WASTEWATER"};IfcDistributionSystemEnum.WATERSUPPLY={type:3,value:"WATERSUPPLY"};IfcDistributionSystemEnum.USERDEFINED={type:3,value:"USERDEFINED"};IfcDistributionSystemEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC42.IfcDistributionSystemEnum=IfcDistributionSystemEnum;var IfcDocumentConfidentialityEnum=/*#__PURE__*/_createClass(function IfcDocumentConfidentialityEnum(){_classCallCheck(this,IfcDocumentConfidentialityEnum);});IfcDocumentConfidentialityEnum.PUBLIC={type:3,value:"PUBLIC"};IfcDocumentConfidentialityEnum.RESTRICTED={type:3,value:"RESTRICTED"};IfcDocumentConfidentialityEnum.CONFIDENTIAL={type:3,value:"CONFIDENTIAL"};IfcDocumentConfidentialityEnum.PERSONAL={type:3,value:"PERSONAL"};IfcDocumentConfidentialityEnum.USERDEFINED={type:3,value:"USERDEFINED"};IfcDocumentConfidentialityEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC42.IfcDocumentConfidentialityEnum=IfcDocumentConfidentialityEnum;var IfcDocumentStatusEnum=/*#__PURE__*/_createClass(function IfcDocumentStatusEnum(){_classCallCheck(this,IfcDocumentStatusEnum);});IfcDocumentStatusEnum.DRAFT={type:3,value:"DRAFT"};IfcDocumentStatusEnum.FINALDRAFT={type:3,value:"FINALDRAFT"};IfcDocumentStatusEnum.FINAL={type:3,value:"FINAL"};IfcDocumentStatusEnum.REVISION={type:3,value:"REVISION"};IfcDocumentStatusEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC42.IfcDocumentStatusEnum=IfcDocumentStatusEnum;var IfcDoorPanelOperationEnum=/*#__PURE__*/_createClass(function IfcDoorPanelOperationEnum(){_classCallCheck(this,IfcDoorPanelOperationEnum);});IfcDoorPanelOperationEnum.SWINGING={type:3,value:"SWINGING"};IfcDoorPanelOperationEnum.DOUBLE_ACTING={type:3,value:"DOUBLE_ACTING"};IfcDoorPanelOperationEnum.SLIDING={type:3,value:"SLIDING"};IfcDoorPanelOperationEnum.FOLDING={type:3,value:"FOLDING"};IfcDoorPanelOperationEnum.REVOLVING={type:3,value:"REVOLVING"};IfcDoorPanelOperationEnum.ROLLINGUP={type:3,value:"ROLLINGUP"};IfcDoorPanelOperationEnum.FIXEDPANEL={type:3,value:"FIXEDPANEL"};IfcDoorPanelOperationEnum.USERDEFINED={type:3,value:"USERDEFINED"};IfcDoorPanelOperationEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC42.IfcDoorPanelOperationEnum=IfcDoorPanelOperationEnum;var IfcDoorPanelPositionEnum=/*#__PURE__*/_createClass(function IfcDoorPanelPositionEnum(){_classCallCheck(this,IfcDoorPanelPositionEnum);});IfcDoorPanelPositionEnum.LEFT={type:3,value:"LEFT"};IfcDoorPanelPositionEnum.MIDDLE={type:3,value:"MIDDLE"};IfcDoorPanelPositionEnum.RIGHT={type:3,value:"RIGHT"};IfcDoorPanelPositionEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC42.IfcDoorPanelPositionEnum=IfcDoorPanelPositionEnum;var IfcDoorStyleConstructionEnum=/*#__PURE__*/_createClass(function IfcDoorStyleConstructionEnum(){_classCallCheck(this,IfcDoorStyleConstructionEnum);});IfcDoorStyleConstructionEnum.ALUMINIUM={type:3,value:"ALUMINIUM"};IfcDoorStyleConstructionEnum.HIGH_GRADE_STEEL={type:3,value:"HIGH_GRADE_STEEL"};IfcDoorStyleConstructionEnum.STEEL={type:3,value:"STEEL"};IfcDoorStyleConstructionEnum.WOOD={type:3,value:"WOOD"};IfcDoorStyleConstructionEnum.ALUMINIUM_WOOD={type:3,value:"ALUMINIUM_WOOD"};IfcDoorStyleConstructionEnum.ALUMINIUM_PLASTIC={type:3,value:"ALUMINIUM_PLASTIC"};IfcDoorStyleConstructionEnum.PLASTIC={type:3,value:"PLASTIC"};IfcDoorStyleConstructionEnum.USERDEFINED={type:3,value:"USERDEFINED"};IfcDoorStyleConstructionEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC42.IfcDoorStyleConstructionEnum=IfcDoorStyleConstructionEnum;var IfcDoorStyleOperationEnum=/*#__PURE__*/_createClass(function IfcDoorStyleOperationEnum(){_classCallCheck(this,IfcDoorStyleOperationEnum);});IfcDoorStyleOperationEnum.SINGLE_SWING_LEFT={type:3,value:"SINGLE_SWING_LEFT"};IfcDoorStyleOperationEnum.SINGLE_SWING_RIGHT={type:3,value:"SINGLE_SWING_RIGHT"};IfcDoorStyleOperationEnum.DOUBLE_DOOR_SINGLE_SWING={type:3,value:"DOUBLE_DOOR_SINGLE_SWING"};IfcDoorStyleOperationEnum.DOUBLE_DOOR_SINGLE_SWING_OPPOSITE_LEFT={type:3,value:"DOUBLE_DOOR_SINGLE_SWING_OPPOSITE_LEFT"};IfcDoorStyleOperationEnum.DOUBLE_DOOR_SINGLE_SWING_OPPOSITE_RIGHT={type:3,value:"DOUBLE_DOOR_SINGLE_SWING_OPPOSITE_RIGHT"};IfcDoorStyleOperationEnum.DOUBLE_SWING_LEFT={type:3,value:"DOUBLE_SWING_LEFT"};IfcDoorStyleOperationEnum.DOUBLE_SWING_RIGHT={type:3,value:"DOUBLE_SWING_RIGHT"};IfcDoorStyleOperationEnum.DOUBLE_DOOR_DOUBLE_SWING={type:3,value:"DOUBLE_DOOR_DOUBLE_SWING"};IfcDoorStyleOperationEnum.SLIDING_TO_LEFT={type:3,value:"SLIDING_TO_LEFT"};IfcDoorStyleOperationEnum.SLIDING_TO_RIGHT={type:3,value:"SLIDING_TO_RIGHT"};IfcDoorStyleOperationEnum.DOUBLE_DOOR_SLIDING={type:3,value:"DOUBLE_DOOR_SLIDING"};IfcDoorStyleOperationEnum.FOLDING_TO_LEFT={type:3,value:"FOLDING_TO_LEFT"};IfcDoorStyleOperationEnum.FOLDING_TO_RIGHT={type:3,value:"FOLDING_TO_RIGHT"};IfcDoorStyleOperationEnum.DOUBLE_DOOR_FOLDING={type:3,value:"DOUBLE_DOOR_FOLDING"};IfcDoorStyleOperationEnum.REVOLVING={type:3,value:"REVOLVING"};IfcDoorStyleOperationEnum.ROLLINGUP={type:3,value:"ROLLINGUP"};IfcDoorStyleOperationEnum.USERDEFINED={type:3,value:"USERDEFINED"};IfcDoorStyleOperationEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC42.IfcDoorStyleOperationEnum=IfcDoorStyleOperationEnum;var IfcDoorTypeEnum=/*#__PURE__*/_createClass(function IfcDoorTypeEnum(){_classCallCheck(this,IfcDoorTypeEnum);});IfcDoorTypeEnum.DOOR={type:3,value:"DOOR"};IfcDoorTypeEnum.GATE={type:3,value:"GATE"};IfcDoorTypeEnum.TRAPDOOR={type:3,value:"TRAPDOOR"};IfcDoorTypeEnum.USERDEFINED={type:3,value:"USERDEFINED"};IfcDoorTypeEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC42.IfcDoorTypeEnum=IfcDoorTypeEnum;var IfcDoorTypeOperationEnum=/*#__PURE__*/_createClass(function IfcDoorTypeOperationEnum(){_classCallCheck(this,IfcDoorTypeOperationEnum);});IfcDoorTypeOperationEnum.SINGLE_SWING_LEFT={type:3,value:"SINGLE_SWING_LEFT"};IfcDoorTypeOperationEnum.SINGLE_SWING_RIGHT={type:3,value:"SINGLE_SWING_RIGHT"};IfcDoorTypeOperationEnum.DOUBLE_DOOR_SINGLE_SWING={type:3,value:"DOUBLE_DOOR_SINGLE_SWING"};IfcDoorTypeOperationEnum.DOUBLE_DOOR_SINGLE_SWING_OPPOSITE_LEFT={type:3,value:"DOUBLE_DOOR_SINGLE_SWING_OPPOSITE_LEFT"};IfcDoorTypeOperationEnum.DOUBLE_DOOR_SINGLE_SWING_OPPOSITE_RIGHT={type:3,value:"DOUBLE_DOOR_SINGLE_SWING_OPPOSITE_RIGHT"};IfcDoorTypeOperationEnum.DOUBLE_SWING_LEFT={type:3,value:"DOUBLE_SWING_LEFT"};IfcDoorTypeOperationEnum.DOUBLE_SWING_RIGHT={type:3,value:"DOUBLE_SWING_RIGHT"};IfcDoorTypeOperationEnum.DOUBLE_DOOR_DOUBLE_SWING={type:3,value:"DOUBLE_DOOR_DOUBLE_SWING"};IfcDoorTypeOperationEnum.SLIDING_TO_LEFT={type:3,value:"SLIDING_TO_LEFT"};IfcDoorTypeOperationEnum.SLIDING_TO_RIGHT={type:3,value:"SLIDING_TO_RIGHT"};IfcDoorTypeOperationEnum.DOUBLE_DOOR_SLIDING={type:3,value:"DOUBLE_DOOR_SLIDING"};IfcDoorTypeOperationEnum.FOLDING_TO_LEFT={type:3,value:"FOLDING_TO_LEFT"};IfcDoorTypeOperationEnum.FOLDING_TO_RIGHT={type:3,value:"FOLDING_TO_RIGHT"};IfcDoorTypeOperationEnum.DOUBLE_DOOR_FOLDING={type:3,value:"DOUBLE_DOOR_FOLDING"};IfcDoorTypeOperationEnum.REVOLVING={type:3,value:"REVOLVING"};IfcDoorTypeOperationEnum.ROLLINGUP={type:3,value:"ROLLINGUP"};IfcDoorTypeOperationEnum.SWING_FIXED_LEFT={type:3,value:"SWING_FIXED_LEFT"};IfcDoorTypeOperationEnum.SWING_FIXED_RIGHT={type:3,value:"SWING_FIXED_RIGHT"};IfcDoorTypeOperationEnum.USERDEFINED={type:3,value:"USERDEFINED"};IfcDoorTypeOperationEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC42.IfcDoorTypeOperationEnum=IfcDoorTypeOperationEnum;var IfcDuctFittingTypeEnum=/*#__PURE__*/_createClass(function IfcDuctFittingTypeEnum(){_classCallCheck(this,IfcDuctFittingTypeEnum);});IfcDuctFittingTypeEnum.BEND={type:3,value:"BEND"};IfcDuctFittingTypeEnum.CONNECTOR={type:3,value:"CONNECTOR"};IfcDuctFittingTypeEnum.ENTRY={type:3,value:"ENTRY"};IfcDuctFittingTypeEnum.EXIT={type:3,value:"EXIT"};IfcDuctFittingTypeEnum.JUNCTION={type:3,value:"JUNCTION"};IfcDuctFittingTypeEnum.OBSTRUCTION={type:3,value:"OBSTRUCTION"};IfcDuctFittingTypeEnum.TRANSITION={type:3,value:"TRANSITION"};IfcDuctFittingTypeEnum.USERDEFINED={type:3,value:"USERDEFINED"};IfcDuctFittingTypeEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC42.IfcDuctFittingTypeEnum=IfcDuctFittingTypeEnum;var IfcDuctSegmentTypeEnum=/*#__PURE__*/_createClass(function IfcDuctSegmentTypeEnum(){_classCallCheck(this,IfcDuctSegmentTypeEnum);});IfcDuctSegmentTypeEnum.RIGIDSEGMENT={type:3,value:"RIGIDSEGMENT"};IfcDuctSegmentTypeEnum.FLEXIBLESEGMENT={type:3,value:"FLEXIBLESEGMENT"};IfcDuctSegmentTypeEnum.USERDEFINED={type:3,value:"USERDEFINED"};IfcDuctSegmentTypeEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC42.IfcDuctSegmentTypeEnum=IfcDuctSegmentTypeEnum;var IfcDuctSilencerTypeEnum=/*#__PURE__*/_createClass(function IfcDuctSilencerTypeEnum(){_classCallCheck(this,IfcDuctSilencerTypeEnum);});IfcDuctSilencerTypeEnum.FLATOVAL={type:3,value:"FLATOVAL"};IfcDuctSilencerTypeEnum.RECTANGULAR={type:3,value:"RECTANGULAR"};IfcDuctSilencerTypeEnum.ROUND={type:3,value:"ROUND"};IfcDuctSilencerTypeEnum.USERDEFINED={type:3,value:"USERDEFINED"};IfcDuctSilencerTypeEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC42.IfcDuctSilencerTypeEnum=IfcDuctSilencerTypeEnum;var IfcElectricApplianceTypeEnum=/*#__PURE__*/_createClass(function IfcElectricApplianceTypeEnum(){_classCallCheck(this,IfcElectricApplianceTypeEnum);});IfcElectricApplianceTypeEnum.DISHWASHER={type:3,value:"DISHWASHER"};IfcElectricApplianceTypeEnum.ELECTRICCOOKER={type:3,value:"ELECTRICCOOKER"};IfcElectricApplianceTypeEnum.FREESTANDINGELECTRICHEATER={type:3,value:"FREESTANDINGELECTRICHEATER"};IfcElectricApplianceTypeEnum.FREESTANDINGFAN={type:3,value:"FREESTANDINGFAN"};IfcElectricApplianceTypeEnum.FREESTANDINGWATERHEATER={type:3,value:"FREESTANDINGWATERHEATER"};IfcElectricApplianceTypeEnum.FREESTANDINGWATERCOOLER={type:3,value:"FREESTANDINGWATERCOOLER"};IfcElectricApplianceTypeEnum.FREEZER={type:3,value:"FREEZER"};IfcElectricApplianceTypeEnum.FRIDGE_FREEZER={type:3,value:"FRIDGE_FREEZER"};IfcElectricApplianceTypeEnum.HANDDRYER={type:3,value:"HANDDRYER"};IfcElectricApplianceTypeEnum.KITCHENMACHINE={type:3,value:"KITCHENMACHINE"};IfcElectricApplianceTypeEnum.MICROWAVE={type:3,value:"MICROWAVE"};IfcElectricApplianceTypeEnum.PHOTOCOPIER={type:3,value:"PHOTOCOPIER"};IfcElectricApplianceTypeEnum.REFRIGERATOR={type:3,value:"REFRIGERATOR"};IfcElectricApplianceTypeEnum.TUMBLEDRYER={type:3,value:"TUMBLEDRYER"};IfcElectricApplianceTypeEnum.VENDINGMACHINE={type:3,value:"VENDINGMACHINE"};IfcElectricApplianceTypeEnum.WASHINGMACHINE={type:3,value:"WASHINGMACHINE"};IfcElectricApplianceTypeEnum.USERDEFINED={type:3,value:"USERDEFINED"};IfcElectricApplianceTypeEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC42.IfcElectricApplianceTypeEnum=IfcElectricApplianceTypeEnum;var IfcElectricDistributionBoardTypeEnum=/*#__PURE__*/_createClass(function IfcElectricDistributionBoardTypeEnum(){_classCallCheck(this,IfcElectricDistributionBoardTypeEnum);});IfcElectricDistributionBoardTypeEnum.CONSUMERUNIT={type:3,value:"CONSUMERUNIT"};IfcElectricDistributionBoardTypeEnum.DISTRIBUTIONBOARD={type:3,value:"DISTRIBUTIONBOARD"};IfcElectricDistributionBoardTypeEnum.MOTORCONTROLCENTRE={type:3,value:"MOTORCONTROLCENTRE"};IfcElectricDistributionBoardTypeEnum.SWITCHBOARD={type:3,value:"SWITCHBOARD"};IfcElectricDistributionBoardTypeEnum.USERDEFINED={type:3,value:"USERDEFINED"};IfcElectricDistributionBoardTypeEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC42.IfcElectricDistributionBoardTypeEnum=IfcElectricDistributionBoardTypeEnum;var IfcElectricFlowStorageDeviceTypeEnum=/*#__PURE__*/_createClass(function IfcElectricFlowStorageDeviceTypeEnum(){_classCallCheck(this,IfcElectricFlowStorageDeviceTypeEnum);});IfcElectricFlowStorageDeviceTypeEnum.BATTERY={type:3,value:"BATTERY"};IfcElectricFlowStorageDeviceTypeEnum.CAPACITORBANK={type:3,value:"CAPACITORBANK"};IfcElectricFlowStorageDeviceTypeEnum.HARMONICFILTER={type:3,value:"HARMONICFILTER"};IfcElectricFlowStorageDeviceTypeEnum.INDUCTORBANK={type:3,value:"INDUCTORBANK"};IfcElectricFlowStorageDeviceTypeEnum.UPS={type:3,value:"UPS"};IfcElectricFlowStorageDeviceTypeEnum.USERDEFINED={type:3,value:"USERDEFINED"};IfcElectricFlowStorageDeviceTypeEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC42.IfcElectricFlowStorageDeviceTypeEnum=IfcElectricFlowStorageDeviceTypeEnum;var IfcElectricGeneratorTypeEnum=/*#__PURE__*/_createClass(function IfcElectricGeneratorTypeEnum(){_classCallCheck(this,IfcElectricGeneratorTypeEnum);});IfcElectricGeneratorTypeEnum.CHP={type:3,value:"CHP"};IfcElectricGeneratorTypeEnum.ENGINEGENERATOR={type:3,value:"ENGINEGENERATOR"};IfcElectricGeneratorTypeEnum.STANDALONE={type:3,value:"STANDALONE"};IfcElectricGeneratorTypeEnum.USERDEFINED={type:3,value:"USERDEFINED"};IfcElectricGeneratorTypeEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC42.IfcElectricGeneratorTypeEnum=IfcElectricGeneratorTypeEnum;var IfcElectricMotorTypeEnum=/*#__PURE__*/_createClass(function IfcElectricMotorTypeEnum(){_classCallCheck(this,IfcElectricMotorTypeEnum);});IfcElectricMotorTypeEnum.DC={type:3,value:"DC"};IfcElectricMotorTypeEnum.INDUCTION={type:3,value:"INDUCTION"};IfcElectricMotorTypeEnum.POLYPHASE={type:3,value:"POLYPHASE"};IfcElectricMotorTypeEnum.RELUCTANCESYNCHRONOUS={type:3,value:"RELUCTANCESYNCHRONOUS"};IfcElectricMotorTypeEnum.SYNCHRONOUS={type:3,value:"SYNCHRONOUS"};IfcElectricMotorTypeEnum.USERDEFINED={type:3,value:"USERDEFINED"};IfcElectricMotorTypeEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC42.IfcElectricMotorTypeEnum=IfcElectricMotorTypeEnum;var IfcElectricTimeControlTypeEnum=/*#__PURE__*/_createClass(function IfcElectricTimeControlTypeEnum(){_classCallCheck(this,IfcElectricTimeControlTypeEnum);});IfcElectricTimeControlTypeEnum.TIMECLOCK={type:3,value:"TIMECLOCK"};IfcElectricTimeControlTypeEnum.TIMEDELAY={type:3,value:"TIMEDELAY"};IfcElectricTimeControlTypeEnum.RELAY={type:3,value:"RELAY"};IfcElectricTimeControlTypeEnum.USERDEFINED={type:3,value:"USERDEFINED"};IfcElectricTimeControlTypeEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC42.IfcElectricTimeControlTypeEnum=IfcElectricTimeControlTypeEnum;var IfcElementAssemblyTypeEnum=/*#__PURE__*/_createClass(function IfcElementAssemblyTypeEnum(){_classCallCheck(this,IfcElementAssemblyTypeEnum);});IfcElementAssemblyTypeEnum.ACCESSORY_ASSEMBLY={type:3,value:"ACCESSORY_ASSEMBLY"};IfcElementAssemblyTypeEnum.ARCH={type:3,value:"ARCH"};IfcElementAssemblyTypeEnum.BEAM_GRID={type:3,value:"BEAM_GRID"};IfcElementAssemblyTypeEnum.BRACED_FRAME={type:3,value:"BRACED_FRAME"};IfcElementAssemblyTypeEnum.GIRDER={type:3,value:"GIRDER"};IfcElementAssemblyTypeEnum.REINFORCEMENT_UNIT={type:3,value:"REINFORCEMENT_UNIT"};IfcElementAssemblyTypeEnum.RIGID_FRAME={type:3,value:"RIGID_FRAME"};IfcElementAssemblyTypeEnum.SLAB_FIELD={type:3,value:"SLAB_FIELD"};IfcElementAssemblyTypeEnum.TRUSS={type:3,value:"TRUSS"};IfcElementAssemblyTypeEnum.USERDEFINED={type:3,value:"USERDEFINED"};IfcElementAssemblyTypeEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC42.IfcElementAssemblyTypeEnum=IfcElementAssemblyTypeEnum;var IfcElementCompositionEnum=/*#__PURE__*/_createClass(function IfcElementCompositionEnum(){_classCallCheck(this,IfcElementCompositionEnum);});IfcElementCompositionEnum.COMPLEX={type:3,value:"COMPLEX"};IfcElementCompositionEnum.ELEMENT={type:3,value:"ELEMENT"};IfcElementCompositionEnum.PARTIAL={type:3,value:"PARTIAL"};IFC42.IfcElementCompositionEnum=IfcElementCompositionEnum;var IfcEngineTypeEnum=/*#__PURE__*/_createClass(function IfcEngineTypeEnum(){_classCallCheck(this,IfcEngineTypeEnum);});IfcEngineTypeEnum.EXTERNALCOMBUSTION={type:3,value:"EXTERNALCOMBUSTION"};IfcEngineTypeEnum.INTERNALCOMBUSTION={type:3,value:"INTERNALCOMBUSTION"};IfcEngineTypeEnum.USERDEFINED={type:3,value:"USERDEFINED"};IfcEngineTypeEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC42.IfcEngineTypeEnum=IfcEngineTypeEnum;var IfcEvaporativeCoolerTypeEnum=/*#__PURE__*/_createClass(function IfcEvaporativeCoolerTypeEnum(){_classCallCheck(this,IfcEvaporativeCoolerTypeEnum);});IfcEvaporativeCoolerTypeEnum.DIRECTEVAPORATIVERANDOMMEDIAAIRCOOLER={type:3,value:"DIRECTEVAPORATIVERANDOMMEDIAAIRCOOLER"};IfcEvaporativeCoolerTypeEnum.DIRECTEVAPORATIVERIGIDMEDIAAIRCOOLER={type:3,value:"DIRECTEVAPORATIVERIGIDMEDIAAIRCOOLER"};IfcEvaporativeCoolerTypeEnum.DIRECTEVAPORATIVESLINGERSPACKAGEDAIRCOOLER={type:3,value:"DIRECTEVAPORATIVESLINGERSPACKAGEDAIRCOOLER"};IfcEvaporativeCoolerTypeEnum.DIRECTEVAPORATIVEPACKAGEDROTARYAIRCOOLER={type:3,value:"DIRECTEVAPORATIVEPACKAGEDROTARYAIRCOOLER"};IfcEvaporativeCoolerTypeEnum.DIRECTEVAPORATIVEAIRWASHER={type:3,value:"DIRECTEVAPORATIVEAIRWASHER"};IfcEvaporativeCoolerTypeEnum.INDIRECTEVAPORATIVEPACKAGEAIRCOOLER={type:3,value:"INDIRECTEVAPORATIVEPACKAGEAIRCOOLER"};IfcEvaporativeCoolerTypeEnum.INDIRECTEVAPORATIVEWETCOIL={type:3,value:"INDIRECTEVAPORATIVEWETCOIL"};IfcEvaporativeCoolerTypeEnum.INDIRECTEVAPORATIVECOOLINGTOWERORCOILCOOLER={type:3,value:"INDIRECTEVAPORATIVECOOLINGTOWERORCOILCOOLER"};IfcEvaporativeCoolerTypeEnum.INDIRECTDIRECTCOMBINATION={type:3,value:"INDIRECTDIRECTCOMBINATION"};IfcEvaporativeCoolerTypeEnum.USERDEFINED={type:3,value:"USERDEFINED"};IfcEvaporativeCoolerTypeEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC42.IfcEvaporativeCoolerTypeEnum=IfcEvaporativeCoolerTypeEnum;var IfcEvaporatorTypeEnum=/*#__PURE__*/_createClass(function IfcEvaporatorTypeEnum(){_classCallCheck(this,IfcEvaporatorTypeEnum);});IfcEvaporatorTypeEnum.DIRECTEXPANSION={type:3,value:"DIRECTEXPANSION"};IfcEvaporatorTypeEnum.DIRECTEXPANSIONSHELLANDTUBE={type:3,value:"DIRECTEXPANSIONSHELLANDTUBE"};IfcEvaporatorTypeEnum.DIRECTEXPANSIONTUBEINTUBE={type:3,value:"DIRECTEXPANSIONTUBEINTUBE"};IfcEvaporatorTypeEnum.DIRECTEXPANSIONBRAZEDPLATE={type:3,value:"DIRECTEXPANSIONBRAZEDPLATE"};IfcEvaporatorTypeEnum.FLOODEDSHELLANDTUBE={type:3,value:"FLOODEDSHELLANDTUBE"};IfcEvaporatorTypeEnum.SHELLANDCOIL={type:3,value:"SHELLANDCOIL"};IfcEvaporatorTypeEnum.USERDEFINED={type:3,value:"USERDEFINED"};IfcEvaporatorTypeEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC42.IfcEvaporatorTypeEnum=IfcEvaporatorTypeEnum;var IfcEventTriggerTypeEnum=/*#__PURE__*/_createClass(function IfcEventTriggerTypeEnum(){_classCallCheck(this,IfcEventTriggerTypeEnum);});IfcEventTriggerTypeEnum.EVENTRULE={type:3,value:"EVENTRULE"};IfcEventTriggerTypeEnum.EVENTMESSAGE={type:3,value:"EVENTMESSAGE"};IfcEventTriggerTypeEnum.EVENTTIME={type:3,value:"EVENTTIME"};IfcEventTriggerTypeEnum.EVENTCOMPLEX={type:3,value:"EVENTCOMPLEX"};IfcEventTriggerTypeEnum.USERDEFINED={type:3,value:"USERDEFINED"};IfcEventTriggerTypeEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC42.IfcEventTriggerTypeEnum=IfcEventTriggerTypeEnum;var IfcEventTypeEnum=/*#__PURE__*/_createClass(function IfcEventTypeEnum(){_classCallCheck(this,IfcEventTypeEnum);});IfcEventTypeEnum.STARTEVENT={type:3,value:"STARTEVENT"};IfcEventTypeEnum.ENDEVENT={type:3,value:"ENDEVENT"};IfcEventTypeEnum.INTERMEDIATEEVENT={type:3,value:"INTERMEDIATEEVENT"};IfcEventTypeEnum.USERDEFINED={type:3,value:"USERDEFINED"};IfcEventTypeEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC42.IfcEventTypeEnum=IfcEventTypeEnum;var IfcExternalSpatialElementTypeEnum=/*#__PURE__*/_createClass(function IfcExternalSpatialElementTypeEnum(){_classCallCheck(this,IfcExternalSpatialElementTypeEnum);});IfcExternalSpatialElementTypeEnum.EXTERNAL={type:3,value:"EXTERNAL"};IfcExternalSpatialElementTypeEnum.EXTERNAL_EARTH={type:3,value:"EXTERNAL_EARTH"};IfcExternalSpatialElementTypeEnum.EXTERNAL_WATER={type:3,value:"EXTERNAL_WATER"};IfcExternalSpatialElementTypeEnum.EXTERNAL_FIRE={type:3,value:"EXTERNAL_FIRE"};IfcExternalSpatialElementTypeEnum.USERDEFINED={type:3,value:"USERDEFINED"};IfcExternalSpatialElementTypeEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC42.IfcExternalSpatialElementTypeEnum=IfcExternalSpatialElementTypeEnum;var IfcFanTypeEnum=/*#__PURE__*/_createClass(function IfcFanTypeEnum(){_classCallCheck(this,IfcFanTypeEnum);});IfcFanTypeEnum.CENTRIFUGALFORWARDCURVED={type:3,value:"CENTRIFUGALFORWARDCURVED"};IfcFanTypeEnum.CENTRIFUGALRADIAL={type:3,value:"CENTRIFUGALRADIAL"};IfcFanTypeEnum.CENTRIFUGALBACKWARDINCLINEDCURVED={type:3,value:"CENTRIFUGALBACKWARDINCLINEDCURVED"};IfcFanTypeEnum.CENTRIFUGALAIRFOIL={type:3,value:"CENTRIFUGALAIRFOIL"};IfcFanTypeEnum.TUBEAXIAL={type:3,value:"TUBEAXIAL"};IfcFanTypeEnum.VANEAXIAL={type:3,value:"VANEAXIAL"};IfcFanTypeEnum.PROPELLORAXIAL={type:3,value:"PROPELLORAXIAL"};IfcFanTypeEnum.USERDEFINED={type:3,value:"USERDEFINED"};IfcFanTypeEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC42.IfcFanTypeEnum=IfcFanTypeEnum;var IfcFastenerTypeEnum=/*#__PURE__*/_createClass(function IfcFastenerTypeEnum(){_classCallCheck(this,IfcFastenerTypeEnum);});IfcFastenerTypeEnum.GLUE={type:3,value:"GLUE"};IfcFastenerTypeEnum.MORTAR={type:3,value:"MORTAR"};IfcFastenerTypeEnum.WELD={type:3,value:"WELD"};IfcFastenerTypeEnum.USERDEFINED={type:3,value:"USERDEFINED"};IfcFastenerTypeEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC42.IfcFastenerTypeEnum=IfcFastenerTypeEnum;var IfcFilterTypeEnum=/*#__PURE__*/_createClass(function IfcFilterTypeEnum(){_classCallCheck(this,IfcFilterTypeEnum);});IfcFilterTypeEnum.AIRPARTICLEFILTER={type:3,value:"AIRPARTICLEFILTER"};IfcFilterTypeEnum.COMPRESSEDAIRFILTER={type:3,value:"COMPRESSEDAIRFILTER"};IfcFilterTypeEnum.ODORFILTER={type:3,value:"ODORFILTER"};IfcFilterTypeEnum.OILFILTER={type:3,value:"OILFILTER"};IfcFilterTypeEnum.STRAINER={type:3,value:"STRAINER"};IfcFilterTypeEnum.WATERFILTER={type:3,value:"WATERFILTER"};IfcFilterTypeEnum.USERDEFINED={type:3,value:"USERDEFINED"};IfcFilterTypeEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC42.IfcFilterTypeEnum=IfcFilterTypeEnum;var IfcFireSuppressionTerminalTypeEnum=/*#__PURE__*/_createClass(function IfcFireSuppressionTerminalTypeEnum(){_classCallCheck(this,IfcFireSuppressionTerminalTypeEnum);});IfcFireSuppressionTerminalTypeEnum.BREECHINGINLET={type:3,value:"BREECHINGINLET"};IfcFireSuppressionTerminalTypeEnum.FIREHYDRANT={type:3,value:"FIREHYDRANT"};IfcFireSuppressionTerminalTypeEnum.HOSEREEL={type:3,value:"HOSEREEL"};IfcFireSuppressionTerminalTypeEnum.SPRINKLER={type:3,value:"SPRINKLER"};IfcFireSuppressionTerminalTypeEnum.SPRINKLERDEFLECTOR={type:3,value:"SPRINKLERDEFLECTOR"};IfcFireSuppressionTerminalTypeEnum.USERDEFINED={type:3,value:"USERDEFINED"};IfcFireSuppressionTerminalTypeEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC42.IfcFireSuppressionTerminalTypeEnum=IfcFireSuppressionTerminalTypeEnum;var IfcFlowDirectionEnum=/*#__PURE__*/_createClass(function IfcFlowDirectionEnum(){_classCallCheck(this,IfcFlowDirectionEnum);});IfcFlowDirectionEnum.SOURCE={type:3,value:"SOURCE"};IfcFlowDirectionEnum.SINK={type:3,value:"SINK"};IfcFlowDirectionEnum.SOURCEANDSINK={type:3,value:"SOURCEANDSINK"};IfcFlowDirectionEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC42.IfcFlowDirectionEnum=IfcFlowDirectionEnum;var IfcFlowInstrumentTypeEnum=/*#__PURE__*/_createClass(function IfcFlowInstrumentTypeEnum(){_classCallCheck(this,IfcFlowInstrumentTypeEnum);});IfcFlowInstrumentTypeEnum.PRESSUREGAUGE={type:3,value:"PRESSUREGAUGE"};IfcFlowInstrumentTypeEnum.THERMOMETER={type:3,value:"THERMOMETER"};IfcFlowInstrumentTypeEnum.AMMETER={type:3,value:"AMMETER"};IfcFlowInstrumentTypeEnum.FREQUENCYMETER={type:3,value:"FREQUENCYMETER"};IfcFlowInstrumentTypeEnum.POWERFACTORMETER={type:3,value:"POWERFACTORMETER"};IfcFlowInstrumentTypeEnum.PHASEANGLEMETER={type:3,value:"PHASEANGLEMETER"};IfcFlowInstrumentTypeEnum.VOLTMETER_PEAK={type:3,value:"VOLTMETER_PEAK"};IfcFlowInstrumentTypeEnum.VOLTMETER_RMS={type:3,value:"VOLTMETER_RMS"};IfcFlowInstrumentTypeEnum.USERDEFINED={type:3,value:"USERDEFINED"};IfcFlowInstrumentTypeEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC42.IfcFlowInstrumentTypeEnum=IfcFlowInstrumentTypeEnum;var IfcFlowMeterTypeEnum=/*#__PURE__*/_createClass(function IfcFlowMeterTypeEnum(){_classCallCheck(this,IfcFlowMeterTypeEnum);});IfcFlowMeterTypeEnum.ENERGYMETER={type:3,value:"ENERGYMETER"};IfcFlowMeterTypeEnum.GASMETER={type:3,value:"GASMETER"};IfcFlowMeterTypeEnum.OILMETER={type:3,value:"OILMETER"};IfcFlowMeterTypeEnum.WATERMETER={type:3,value:"WATERMETER"};IfcFlowMeterTypeEnum.USERDEFINED={type:3,value:"USERDEFINED"};IfcFlowMeterTypeEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC42.IfcFlowMeterTypeEnum=IfcFlowMeterTypeEnum;var IfcFootingTypeEnum=/*#__PURE__*/_createClass(function IfcFootingTypeEnum(){_classCallCheck(this,IfcFootingTypeEnum);});IfcFootingTypeEnum.CAISSON_FOUNDATION={type:3,value:"CAISSON_FOUNDATION"};IfcFootingTypeEnum.FOOTING_BEAM={type:3,value:"FOOTING_BEAM"};IfcFootingTypeEnum.PAD_FOOTING={type:3,value:"PAD_FOOTING"};IfcFootingTypeEnum.PILE_CAP={type:3,value:"PILE_CAP"};IfcFootingTypeEnum.STRIP_FOOTING={type:3,value:"STRIP_FOOTING"};IfcFootingTypeEnum.USERDEFINED={type:3,value:"USERDEFINED"};IfcFootingTypeEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC42.IfcFootingTypeEnum=IfcFootingTypeEnum;var IfcFurnitureTypeEnum=/*#__PURE__*/_createClass(function IfcFurnitureTypeEnum(){_classCallCheck(this,IfcFurnitureTypeEnum);});IfcFurnitureTypeEnum.CHAIR={type:3,value:"CHAIR"};IfcFurnitureTypeEnum.TABLE={type:3,value:"TABLE"};IfcFurnitureTypeEnum.DESK={type:3,value:"DESK"};IfcFurnitureTypeEnum.BED={type:3,value:"BED"};IfcFurnitureTypeEnum.FILECABINET={type:3,value:"FILECABINET"};IfcFurnitureTypeEnum.SHELF={type:3,value:"SHELF"};IfcFurnitureTypeEnum.SOFA={type:3,value:"SOFA"};IfcFurnitureTypeEnum.USERDEFINED={type:3,value:"USERDEFINED"};IfcFurnitureTypeEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC42.IfcFurnitureTypeEnum=IfcFurnitureTypeEnum;var IfcGeographicElementTypeEnum=/*#__PURE__*/_createClass(function IfcGeographicElementTypeEnum(){_classCallCheck(this,IfcGeographicElementTypeEnum);});IfcGeographicElementTypeEnum.TERRAIN={type:3,value:"TERRAIN"};IfcGeographicElementTypeEnum.USERDEFINED={type:3,value:"USERDEFINED"};IfcGeographicElementTypeEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC42.IfcGeographicElementTypeEnum=IfcGeographicElementTypeEnum;var IfcGeometricProjectionEnum=/*#__PURE__*/_createClass(function IfcGeometricProjectionEnum(){_classCallCheck(this,IfcGeometricProjectionEnum);});IfcGeometricProjectionEnum.GRAPH_VIEW={type:3,value:"GRAPH_VIEW"};IfcGeometricProjectionEnum.SKETCH_VIEW={type:3,value:"SKETCH_VIEW"};IfcGeometricProjectionEnum.MODEL_VIEW={type:3,value:"MODEL_VIEW"};IfcGeometricProjectionEnum.PLAN_VIEW={type:3,value:"PLAN_VIEW"};IfcGeometricProjectionEnum.REFLECTED_PLAN_VIEW={type:3,value:"REFLECTED_PLAN_VIEW"};IfcGeometricProjectionEnum.SECTION_VIEW={type:3,value:"SECTION_VIEW"};IfcGeometricProjectionEnum.ELEVATION_VIEW={type:3,value:"ELEVATION_VIEW"};IfcGeometricProjectionEnum.USERDEFINED={type:3,value:"USERDEFINED"};IfcGeometricProjectionEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC42.IfcGeometricProjectionEnum=IfcGeometricProjectionEnum;var IfcGlobalOrLocalEnum=/*#__PURE__*/_createClass(function IfcGlobalOrLocalEnum(){_classCallCheck(this,IfcGlobalOrLocalEnum);});IfcGlobalOrLocalEnum.GLOBAL_COORDS={type:3,value:"GLOBAL_COORDS"};IfcGlobalOrLocalEnum.LOCAL_COORDS={type:3,value:"LOCAL_COORDS"};IFC42.IfcGlobalOrLocalEnum=IfcGlobalOrLocalEnum;var IfcGridTypeEnum=/*#__PURE__*/_createClass(function IfcGridTypeEnum(){_classCallCheck(this,IfcGridTypeEnum);});IfcGridTypeEnum.RECTANGULAR={type:3,value:"RECTANGULAR"};IfcGridTypeEnum.RADIAL={type:3,value:"RADIAL"};IfcGridTypeEnum.TRIANGULAR={type:3,value:"TRIANGULAR"};IfcGridTypeEnum.IRREGULAR={type:3,value:"IRREGULAR"};IfcGridTypeEnum.USERDEFINED={type:3,value:"USERDEFINED"};IfcGridTypeEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC42.IfcGridTypeEnum=IfcGridTypeEnum;var IfcHeatExchangerTypeEnum=/*#__PURE__*/_createClass(function IfcHeatExchangerTypeEnum(){_classCallCheck(this,IfcHeatExchangerTypeEnum);});IfcHeatExchangerTypeEnum.PLATE={type:3,value:"PLATE"};IfcHeatExchangerTypeEnum.SHELLANDTUBE={type:3,value:"SHELLANDTUBE"};IfcHeatExchangerTypeEnum.USERDEFINED={type:3,value:"USERDEFINED"};IfcHeatExchangerTypeEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC42.IfcHeatExchangerTypeEnum=IfcHeatExchangerTypeEnum;var IfcHumidifierTypeEnum=/*#__PURE__*/_createClass(function IfcHumidifierTypeEnum(){_classCallCheck(this,IfcHumidifierTypeEnum);});IfcHumidifierTypeEnum.STEAMINJECTION={type:3,value:"STEAMINJECTION"};IfcHumidifierTypeEnum.ADIABATICAIRWASHER={type:3,value:"ADIABATICAIRWASHER"};IfcHumidifierTypeEnum.ADIABATICPAN={type:3,value:"ADIABATICPAN"};IfcHumidifierTypeEnum.ADIABATICWETTEDELEMENT={type:3,value:"ADIABATICWETTEDELEMENT"};IfcHumidifierTypeEnum.ADIABATICATOMIZING={type:3,value:"ADIABATICATOMIZING"};IfcHumidifierTypeEnum.ADIABATICULTRASONIC={type:3,value:"ADIABATICULTRASONIC"};IfcHumidifierTypeEnum.ADIABATICRIGIDMEDIA={type:3,value:"ADIABATICRIGIDMEDIA"};IfcHumidifierTypeEnum.ADIABATICCOMPRESSEDAIRNOZZLE={type:3,value:"ADIABATICCOMPRESSEDAIRNOZZLE"};IfcHumidifierTypeEnum.ASSISTEDELECTRIC={type:3,value:"ASSISTEDELECTRIC"};IfcHumidifierTypeEnum.ASSISTEDNATURALGAS={type:3,value:"ASSISTEDNATURALGAS"};IfcHumidifierTypeEnum.ASSISTEDPROPANE={type:3,value:"ASSISTEDPROPANE"};IfcHumidifierTypeEnum.ASSISTEDBUTANE={type:3,value:"ASSISTEDBUTANE"};IfcHumidifierTypeEnum.ASSISTEDSTEAM={type:3,value:"ASSISTEDSTEAM"};IfcHumidifierTypeEnum.USERDEFINED={type:3,value:"USERDEFINED"};IfcHumidifierTypeEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC42.IfcHumidifierTypeEnum=IfcHumidifierTypeEnum;var IfcInterceptorTypeEnum=/*#__PURE__*/_createClass(function IfcInterceptorTypeEnum(){_classCallCheck(this,IfcInterceptorTypeEnum);});IfcInterceptorTypeEnum.CYCLONIC={type:3,value:"CYCLONIC"};IfcInterceptorTypeEnum.GREASE={type:3,value:"GREASE"};IfcInterceptorTypeEnum.OIL={type:3,value:"OIL"};IfcInterceptorTypeEnum.PETROL={type:3,value:"PETROL"};IfcInterceptorTypeEnum.USERDEFINED={type:3,value:"USERDEFINED"};IfcInterceptorTypeEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC42.IfcInterceptorTypeEnum=IfcInterceptorTypeEnum;var IfcInternalOrExternalEnum=/*#__PURE__*/_createClass(function IfcInternalOrExternalEnum(){_classCallCheck(this,IfcInternalOrExternalEnum);});IfcInternalOrExternalEnum.INTERNAL={type:3,value:"INTERNAL"};IfcInternalOrExternalEnum.EXTERNAL={type:3,value:"EXTERNAL"};IfcInternalOrExternalEnum.EXTERNAL_EARTH={type:3,value:"EXTERNAL_EARTH"};IfcInternalOrExternalEnum.EXTERNAL_WATER={type:3,value:"EXTERNAL_WATER"};IfcInternalOrExternalEnum.EXTERNAL_FIRE={type:3,value:"EXTERNAL_FIRE"};IfcInternalOrExternalEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC42.IfcInternalOrExternalEnum=IfcInternalOrExternalEnum;var IfcInventoryTypeEnum=/*#__PURE__*/_createClass(function IfcInventoryTypeEnum(){_classCallCheck(this,IfcInventoryTypeEnum);});IfcInventoryTypeEnum.ASSETINVENTORY={type:3,value:"ASSETINVENTORY"};IfcInventoryTypeEnum.SPACEINVENTORY={type:3,value:"SPACEINVENTORY"};IfcInventoryTypeEnum.FURNITUREINVENTORY={type:3,value:"FURNITUREINVENTORY"};IfcInventoryTypeEnum.USERDEFINED={type:3,value:"USERDEFINED"};IfcInventoryTypeEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC42.IfcInventoryTypeEnum=IfcInventoryTypeEnum;var IfcJunctionBoxTypeEnum=/*#__PURE__*/_createClass(function IfcJunctionBoxTypeEnum(){_classCallCheck(this,IfcJunctionBoxTypeEnum);});IfcJunctionBoxTypeEnum.DATA={type:3,value:"DATA"};IfcJunctionBoxTypeEnum.POWER={type:3,value:"POWER"};IfcJunctionBoxTypeEnum.USERDEFINED={type:3,value:"USERDEFINED"};IfcJunctionBoxTypeEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC42.IfcJunctionBoxTypeEnum=IfcJunctionBoxTypeEnum;var IfcKnotType=/*#__PURE__*/_createClass(function IfcKnotType(){_classCallCheck(this,IfcKnotType);});IfcKnotType.UNIFORM_KNOTS={type:3,value:"UNIFORM_KNOTS"};IfcKnotType.QUASI_UNIFORM_KNOTS={type:3,value:"QUASI_UNIFORM_KNOTS"};IfcKnotType.PIECEWISE_BEZIER_KNOTS={type:3,value:"PIECEWISE_BEZIER_KNOTS"};IfcKnotType.UNSPECIFIED={type:3,value:"UNSPECIFIED"};IFC42.IfcKnotType=IfcKnotType;var IfcLaborResourceTypeEnum=/*#__PURE__*/_createClass(function IfcLaborResourceTypeEnum(){_classCallCheck(this,IfcLaborResourceTypeEnum);});IfcLaborResourceTypeEnum.ADMINISTRATION={type:3,value:"ADMINISTRATION"};IfcLaborResourceTypeEnum.CARPENTRY={type:3,value:"CARPENTRY"};IfcLaborResourceTypeEnum.CLEANING={type:3,value:"CLEANING"};IfcLaborResourceTypeEnum.CONCRETE={type:3,value:"CONCRETE"};IfcLaborResourceTypeEnum.DRYWALL={type:3,value:"DRYWALL"};IfcLaborResourceTypeEnum.ELECTRIC={type:3,value:"ELECTRIC"};IfcLaborResourceTypeEnum.FINISHING={type:3,value:"FINISHING"};IfcLaborResourceTypeEnum.FLOORING={type:3,value:"FLOORING"};IfcLaborResourceTypeEnum.GENERAL={type:3,value:"GENERAL"};IfcLaborResourceTypeEnum.HVAC={type:3,value:"HVAC"};IfcLaborResourceTypeEnum.LANDSCAPING={type:3,value:"LANDSCAPING"};IfcLaborResourceTypeEnum.MASONRY={type:3,value:"MASONRY"};IfcLaborResourceTypeEnum.PAINTING={type:3,value:"PAINTING"};IfcLaborResourceTypeEnum.PAVING={type:3,value:"PAVING"};IfcLaborResourceTypeEnum.PLUMBING={type:3,value:"PLUMBING"};IfcLaborResourceTypeEnum.ROOFING={type:3,value:"ROOFING"};IfcLaborResourceTypeEnum.SITEGRADING={type:3,value:"SITEGRADING"};IfcLaborResourceTypeEnum.STEELWORK={type:3,value:"STEELWORK"};IfcLaborResourceTypeEnum.SURVEYING={type:3,value:"SURVEYING"};IfcLaborResourceTypeEnum.USERDEFINED={type:3,value:"USERDEFINED"};IfcLaborResourceTypeEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC42.IfcLaborResourceTypeEnum=IfcLaborResourceTypeEnum;var IfcLampTypeEnum=/*#__PURE__*/_createClass(function IfcLampTypeEnum(){_classCallCheck(this,IfcLampTypeEnum);});IfcLampTypeEnum.COMPACTFLUORESCENT={type:3,value:"COMPACTFLUORESCENT"};IfcLampTypeEnum.FLUORESCENT={type:3,value:"FLUORESCENT"};IfcLampTypeEnum.HALOGEN={type:3,value:"HALOGEN"};IfcLampTypeEnum.HIGHPRESSUREMERCURY={type:3,value:"HIGHPRESSUREMERCURY"};IfcLampTypeEnum.HIGHPRESSURESODIUM={type:3,value:"HIGHPRESSURESODIUM"};IfcLampTypeEnum.LED={type:3,value:"LED"};IfcLampTypeEnum.METALHALIDE={type:3,value:"METALHALIDE"};IfcLampTypeEnum.OLED={type:3,value:"OLED"};IfcLampTypeEnum.TUNGSTENFILAMENT={type:3,value:"TUNGSTENFILAMENT"};IfcLampTypeEnum.USERDEFINED={type:3,value:"USERDEFINED"};IfcLampTypeEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC42.IfcLampTypeEnum=IfcLampTypeEnum;var IfcLayerSetDirectionEnum=/*#__PURE__*/_createClass(function IfcLayerSetDirectionEnum(){_classCallCheck(this,IfcLayerSetDirectionEnum);});IfcLayerSetDirectionEnum.AXIS1={type:3,value:"AXIS1"};IfcLayerSetDirectionEnum.AXIS2={type:3,value:"AXIS2"};IfcLayerSetDirectionEnum.AXIS3={type:3,value:"AXIS3"};IFC42.IfcLayerSetDirectionEnum=IfcLayerSetDirectionEnum;var IfcLightDistributionCurveEnum=/*#__PURE__*/_createClass(function IfcLightDistributionCurveEnum(){_classCallCheck(this,IfcLightDistributionCurveEnum);});IfcLightDistributionCurveEnum.TYPE_A={type:3,value:"TYPE_A"};IfcLightDistributionCurveEnum.TYPE_B={type:3,value:"TYPE_B"};IfcLightDistributionCurveEnum.TYPE_C={type:3,value:"TYPE_C"};IfcLightDistributionCurveEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC42.IfcLightDistributionCurveEnum=IfcLightDistributionCurveEnum;var IfcLightEmissionSourceEnum=/*#__PURE__*/_createClass(function IfcLightEmissionSourceEnum(){_classCallCheck(this,IfcLightEmissionSourceEnum);});IfcLightEmissionSourceEnum.COMPACTFLUORESCENT={type:3,value:"COMPACTFLUORESCENT"};IfcLightEmissionSourceEnum.FLUORESCENT={type:3,value:"FLUORESCENT"};IfcLightEmissionSourceEnum.HIGHPRESSUREMERCURY={type:3,value:"HIGHPRESSUREMERCURY"};IfcLightEmissionSourceEnum.HIGHPRESSURESODIUM={type:3,value:"HIGHPRESSURESODIUM"};IfcLightEmissionSourceEnum.LIGHTEMITTINGDIODE={type:3,value:"LIGHTEMITTINGDIODE"};IfcLightEmissionSourceEnum.LOWPRESSURESODIUM={type:3,value:"LOWPRESSURESODIUM"};IfcLightEmissionSourceEnum.LOWVOLTAGEHALOGEN={type:3,value:"LOWVOLTAGEHALOGEN"};IfcLightEmissionSourceEnum.MAINVOLTAGEHALOGEN={type:3,value:"MAINVOLTAGEHALOGEN"};IfcLightEmissionSourceEnum.METALHALIDE={type:3,value:"METALHALIDE"};IfcLightEmissionSourceEnum.TUNGSTENFILAMENT={type:3,value:"TUNGSTENFILAMENT"};IfcLightEmissionSourceEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC42.IfcLightEmissionSourceEnum=IfcLightEmissionSourceEnum;var IfcLightFixtureTypeEnum=/*#__PURE__*/_createClass(function IfcLightFixtureTypeEnum(){_classCallCheck(this,IfcLightFixtureTypeEnum);});IfcLightFixtureTypeEnum.POINTSOURCE={type:3,value:"POINTSOURCE"};IfcLightFixtureTypeEnum.DIRECTIONSOURCE={type:3,value:"DIRECTIONSOURCE"};IfcLightFixtureTypeEnum.SECURITYLIGHTING={type:3,value:"SECURITYLIGHTING"};IfcLightFixtureTypeEnum.USERDEFINED={type:3,value:"USERDEFINED"};IfcLightFixtureTypeEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC42.IfcLightFixtureTypeEnum=IfcLightFixtureTypeEnum;var IfcLoadGroupTypeEnum=/*#__PURE__*/_createClass(function IfcLoadGroupTypeEnum(){_classCallCheck(this,IfcLoadGroupTypeEnum);});IfcLoadGroupTypeEnum.LOAD_GROUP={type:3,value:"LOAD_GROUP"};IfcLoadGroupTypeEnum.LOAD_CASE={type:3,value:"LOAD_CASE"};IfcLoadGroupTypeEnum.LOAD_COMBINATION={type:3,value:"LOAD_COMBINATION"};IfcLoadGroupTypeEnum.USERDEFINED={type:3,value:"USERDEFINED"};IfcLoadGroupTypeEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC42.IfcLoadGroupTypeEnum=IfcLoadGroupTypeEnum;var IfcLogicalOperatorEnum=/*#__PURE__*/_createClass(function IfcLogicalOperatorEnum(){_classCallCheck(this,IfcLogicalOperatorEnum);});IfcLogicalOperatorEnum.LOGICALAND={type:3,value:"LOGICALAND"};IfcLogicalOperatorEnum.LOGICALOR={type:3,value:"LOGICALOR"};IfcLogicalOperatorEnum.LOGICALXOR={type:3,value:"LOGICALXOR"};IfcLogicalOperatorEnum.LOGICALNOTAND={type:3,value:"LOGICALNOTAND"};IfcLogicalOperatorEnum.LOGICALNOTOR={type:3,value:"LOGICALNOTOR"};IFC42.IfcLogicalOperatorEnum=IfcLogicalOperatorEnum;var IfcMechanicalFastenerTypeEnum=/*#__PURE__*/_createClass(function IfcMechanicalFastenerTypeEnum(){_classCallCheck(this,IfcMechanicalFastenerTypeEnum);});IfcMechanicalFastenerTypeEnum.ANCHORBOLT={type:3,value:"ANCHORBOLT"};IfcMechanicalFastenerTypeEnum.BOLT={type:3,value:"BOLT"};IfcMechanicalFastenerTypeEnum.DOWEL={type:3,value:"DOWEL"};IfcMechanicalFastenerTypeEnum.NAIL={type:3,value:"NAIL"};IfcMechanicalFastenerTypeEnum.NAILPLATE={type:3,value:"NAILPLATE"};IfcMechanicalFastenerTypeEnum.RIVET={type:3,value:"RIVET"};IfcMechanicalFastenerTypeEnum.SCREW={type:3,value:"SCREW"};IfcMechanicalFastenerTypeEnum.SHEARCONNECTOR={type:3,value:"SHEARCONNECTOR"};IfcMechanicalFastenerTypeEnum.STAPLE={type:3,value:"STAPLE"};IfcMechanicalFastenerTypeEnum.STUDSHEARCONNECTOR={type:3,value:"STUDSHEARCONNECTOR"};IfcMechanicalFastenerTypeEnum.USERDEFINED={type:3,value:"USERDEFINED"};IfcMechanicalFastenerTypeEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC42.IfcMechanicalFastenerTypeEnum=IfcMechanicalFastenerTypeEnum;var IfcMedicalDeviceTypeEnum=/*#__PURE__*/_createClass(function IfcMedicalDeviceTypeEnum(){_classCallCheck(this,IfcMedicalDeviceTypeEnum);});IfcMedicalDeviceTypeEnum.AIRSTATION={type:3,value:"AIRSTATION"};IfcMedicalDeviceTypeEnum.FEEDAIRUNIT={type:3,value:"FEEDAIRUNIT"};IfcMedicalDeviceTypeEnum.OXYGENGENERATOR={type:3,value:"OXYGENGENERATOR"};IfcMedicalDeviceTypeEnum.OXYGENPLANT={type:3,value:"OXYGENPLANT"};IfcMedicalDeviceTypeEnum.VACUUMSTATION={type:3,value:"VACUUMSTATION"};IfcMedicalDeviceTypeEnum.USERDEFINED={type:3,value:"USERDEFINED"};IfcMedicalDeviceTypeEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC42.IfcMedicalDeviceTypeEnum=IfcMedicalDeviceTypeEnum;var IfcMemberTypeEnum=/*#__PURE__*/_createClass(function IfcMemberTypeEnum(){_classCallCheck(this,IfcMemberTypeEnum);});IfcMemberTypeEnum.BRACE={type:3,value:"BRACE"};IfcMemberTypeEnum.CHORD={type:3,value:"CHORD"};IfcMemberTypeEnum.COLLAR={type:3,value:"COLLAR"};IfcMemberTypeEnum.MEMBER={type:3,value:"MEMBER"};IfcMemberTypeEnum.MULLION={type:3,value:"MULLION"};IfcMemberTypeEnum.PLATE={type:3,value:"PLATE"};IfcMemberTypeEnum.POST={type:3,value:"POST"};IfcMemberTypeEnum.PURLIN={type:3,value:"PURLIN"};IfcMemberTypeEnum.RAFTER={type:3,value:"RAFTER"};IfcMemberTypeEnum.STRINGER={type:3,value:"STRINGER"};IfcMemberTypeEnum.STRUT={type:3,value:"STRUT"};IfcMemberTypeEnum.STUD={type:3,value:"STUD"};IfcMemberTypeEnum.USERDEFINED={type:3,value:"USERDEFINED"};IfcMemberTypeEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC42.IfcMemberTypeEnum=IfcMemberTypeEnum;var IfcMotorConnectionTypeEnum=/*#__PURE__*/_createClass(function IfcMotorConnectionTypeEnum(){_classCallCheck(this,IfcMotorConnectionTypeEnum);});IfcMotorConnectionTypeEnum.BELTDRIVE={type:3,value:"BELTDRIVE"};IfcMotorConnectionTypeEnum.COUPLING={type:3,value:"COUPLING"};IfcMotorConnectionTypeEnum.DIRECTDRIVE={type:3,value:"DIRECTDRIVE"};IfcMotorConnectionTypeEnum.USERDEFINED={type:3,value:"USERDEFINED"};IfcMotorConnectionTypeEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC42.IfcMotorConnectionTypeEnum=IfcMotorConnectionTypeEnum;var IfcNullStyle=/*#__PURE__*/_createClass(function IfcNullStyle(){_classCallCheck(this,IfcNullStyle);});IfcNullStyle.NULL={type:3,value:"NULL"};IFC42.IfcNullStyle=IfcNullStyle;var IfcObjectTypeEnum=/*#__PURE__*/_createClass(function IfcObjectTypeEnum(){_classCallCheck(this,IfcObjectTypeEnum);});IfcObjectTypeEnum.PRODUCT={type:3,value:"PRODUCT"};IfcObjectTypeEnum.PROCESS={type:3,value:"PROCESS"};IfcObjectTypeEnum.CONTROL={type:3,value:"CONTROL"};IfcObjectTypeEnum.RESOURCE={type:3,value:"RESOURCE"};IfcObjectTypeEnum.ACTOR={type:3,value:"ACTOR"};IfcObjectTypeEnum.GROUP={type:3,value:"GROUP"};IfcObjectTypeEnum.PROJECT={type:3,value:"PROJECT"};IfcObjectTypeEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC42.IfcObjectTypeEnum=IfcObjectTypeEnum;var IfcObjectiveEnum=/*#__PURE__*/_createClass(function IfcObjectiveEnum(){_classCallCheck(this,IfcObjectiveEnum);});IfcObjectiveEnum.CODECOMPLIANCE={type:3,value:"CODECOMPLIANCE"};IfcObjectiveEnum.CODEWAIVER={type:3,value:"CODEWAIVER"};IfcObjectiveEnum.DESIGNINTENT={type:3,value:"DESIGNINTENT"};IfcObjectiveEnum.EXTERNAL={type:3,value:"EXTERNAL"};IfcObjectiveEnum.HEALTHANDSAFETY={type:3,value:"HEALTHANDSAFETY"};IfcObjectiveEnum.MERGECONFLICT={type:3,value:"MERGECONFLICT"};IfcObjectiveEnum.MODELVIEW={type:3,value:"MODELVIEW"};IfcObjectiveEnum.PARAMETER={type:3,value:"PARAMETER"};IfcObjectiveEnum.REQUIREMENT={type:3,value:"REQUIREMENT"};IfcObjectiveEnum.SPECIFICATION={type:3,value:"SPECIFICATION"};IfcObjectiveEnum.TRIGGERCONDITION={type:3,value:"TRIGGERCONDITION"};IfcObjectiveEnum.USERDEFINED={type:3,value:"USERDEFINED"};IfcObjectiveEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC42.IfcObjectiveEnum=IfcObjectiveEnum;var IfcOccupantTypeEnum=/*#__PURE__*/_createClass(function IfcOccupantTypeEnum(){_classCallCheck(this,IfcOccupantTypeEnum);});IfcOccupantTypeEnum.ASSIGNEE={type:3,value:"ASSIGNEE"};IfcOccupantTypeEnum.ASSIGNOR={type:3,value:"ASSIGNOR"};IfcOccupantTypeEnum.LESSEE={type:3,value:"LESSEE"};IfcOccupantTypeEnum.LESSOR={type:3,value:"LESSOR"};IfcOccupantTypeEnum.LETTINGAGENT={type:3,value:"LETTINGAGENT"};IfcOccupantTypeEnum.OWNER={type:3,value:"OWNER"};IfcOccupantTypeEnum.TENANT={type:3,value:"TENANT"};IfcOccupantTypeEnum.USERDEFINED={type:3,value:"USERDEFINED"};IfcOccupantTypeEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC42.IfcOccupantTypeEnum=IfcOccupantTypeEnum;var IfcOpeningElementTypeEnum=/*#__PURE__*/_createClass(function IfcOpeningElementTypeEnum(){_classCallCheck(this,IfcOpeningElementTypeEnum);});IfcOpeningElementTypeEnum.OPENING={type:3,value:"OPENING"};IfcOpeningElementTypeEnum.RECESS={type:3,value:"RECESS"};IfcOpeningElementTypeEnum.USERDEFINED={type:3,value:"USERDEFINED"};IfcOpeningElementTypeEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC42.IfcOpeningElementTypeEnum=IfcOpeningElementTypeEnum;var IfcOutletTypeEnum=/*#__PURE__*/_createClass(function IfcOutletTypeEnum(){_classCallCheck(this,IfcOutletTypeEnum);});IfcOutletTypeEnum.AUDIOVISUALOUTLET={type:3,value:"AUDIOVISUALOUTLET"};IfcOutletTypeEnum.COMMUNICATIONSOUTLET={type:3,value:"COMMUNICATIONSOUTLET"};IfcOutletTypeEnum.POWEROUTLET={type:3,value:"POWEROUTLET"};IfcOutletTypeEnum.DATAOUTLET={type:3,value:"DATAOUTLET"};IfcOutletTypeEnum.TELEPHONEOUTLET={type:3,value:"TELEPHONEOUTLET"};IfcOutletTypeEnum.USERDEFINED={type:3,value:"USERDEFINED"};IfcOutletTypeEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC42.IfcOutletTypeEnum=IfcOutletTypeEnum;var IfcPerformanceHistoryTypeEnum=/*#__PURE__*/_createClass(function IfcPerformanceHistoryTypeEnum(){_classCallCheck(this,IfcPerformanceHistoryTypeEnum);});IfcPerformanceHistoryTypeEnum.USERDEFINED={type:3,value:"USERDEFINED"};IfcPerformanceHistoryTypeEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC42.IfcPerformanceHistoryTypeEnum=IfcPerformanceHistoryTypeEnum;var IfcPermeableCoveringOperationEnum=/*#__PURE__*/_createClass(function IfcPermeableCoveringOperationEnum(){_classCallCheck(this,IfcPermeableCoveringOperationEnum);});IfcPermeableCoveringOperationEnum.GRILL={type:3,value:"GRILL"};IfcPermeableCoveringOperationEnum.LOUVER={type:3,value:"LOUVER"};IfcPermeableCoveringOperationEnum.SCREEN={type:3,value:"SCREEN"};IfcPermeableCoveringOperationEnum.USERDEFINED={type:3,value:"USERDEFINED"};IfcPermeableCoveringOperationEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC42.IfcPermeableCoveringOperationEnum=IfcPermeableCoveringOperationEnum;var IfcPermitTypeEnum=/*#__PURE__*/_createClass(function IfcPermitTypeEnum(){_classCallCheck(this,IfcPermitTypeEnum);});IfcPermitTypeEnum.ACCESS={type:3,value:"ACCESS"};IfcPermitTypeEnum.BUILDING={type:3,value:"BUILDING"};IfcPermitTypeEnum.WORK={type:3,value:"WORK"};IfcPermitTypeEnum.USERDEFINED={type:3,value:"USERDEFINED"};IfcPermitTypeEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC42.IfcPermitTypeEnum=IfcPermitTypeEnum;var IfcPhysicalOrVirtualEnum=/*#__PURE__*/_createClass(function IfcPhysicalOrVirtualEnum(){_classCallCheck(this,IfcPhysicalOrVirtualEnum);});IfcPhysicalOrVirtualEnum.PHYSICAL={type:3,value:"PHYSICAL"};IfcPhysicalOrVirtualEnum.VIRTUAL={type:3,value:"VIRTUAL"};IfcPhysicalOrVirtualEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC42.IfcPhysicalOrVirtualEnum=IfcPhysicalOrVirtualEnum;var IfcPileConstructionEnum=/*#__PURE__*/_createClass(function IfcPileConstructionEnum(){_classCallCheck(this,IfcPileConstructionEnum);});IfcPileConstructionEnum.CAST_IN_PLACE={type:3,value:"CAST_IN_PLACE"};IfcPileConstructionEnum.COMPOSITE={type:3,value:"COMPOSITE"};IfcPileConstructionEnum.PRECAST_CONCRETE={type:3,value:"PRECAST_CONCRETE"};IfcPileConstructionEnum.PREFAB_STEEL={type:3,value:"PREFAB_STEEL"};IfcPileConstructionEnum.USERDEFINED={type:3,value:"USERDEFINED"};IfcPileConstructionEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC42.IfcPileConstructionEnum=IfcPileConstructionEnum;var IfcPileTypeEnum=/*#__PURE__*/_createClass(function IfcPileTypeEnum(){_classCallCheck(this,IfcPileTypeEnum);});IfcPileTypeEnum.BORED={type:3,value:"BORED"};IfcPileTypeEnum.DRIVEN={type:3,value:"DRIVEN"};IfcPileTypeEnum.JETGROUTING={type:3,value:"JETGROUTING"};IfcPileTypeEnum.COHESION={type:3,value:"COHESION"};IfcPileTypeEnum.FRICTION={type:3,value:"FRICTION"};IfcPileTypeEnum.SUPPORT={type:3,value:"SUPPORT"};IfcPileTypeEnum.USERDEFINED={type:3,value:"USERDEFINED"};IfcPileTypeEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC42.IfcPileTypeEnum=IfcPileTypeEnum;var IfcPipeFittingTypeEnum=/*#__PURE__*/_createClass(function IfcPipeFittingTypeEnum(){_classCallCheck(this,IfcPipeFittingTypeEnum);});IfcPipeFittingTypeEnum.BEND={type:3,value:"BEND"};IfcPipeFittingTypeEnum.CONNECTOR={type:3,value:"CONNECTOR"};IfcPipeFittingTypeEnum.ENTRY={type:3,value:"ENTRY"};IfcPipeFittingTypeEnum.EXIT={type:3,value:"EXIT"};IfcPipeFittingTypeEnum.JUNCTION={type:3,value:"JUNCTION"};IfcPipeFittingTypeEnum.OBSTRUCTION={type:3,value:"OBSTRUCTION"};IfcPipeFittingTypeEnum.TRANSITION={type:3,value:"TRANSITION"};IfcPipeFittingTypeEnum.USERDEFINED={type:3,value:"USERDEFINED"};IfcPipeFittingTypeEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC42.IfcPipeFittingTypeEnum=IfcPipeFittingTypeEnum;var IfcPipeSegmentTypeEnum=/*#__PURE__*/_createClass(function IfcPipeSegmentTypeEnum(){_classCallCheck(this,IfcPipeSegmentTypeEnum);});IfcPipeSegmentTypeEnum.CULVERT={type:3,value:"CULVERT"};IfcPipeSegmentTypeEnum.FLEXIBLESEGMENT={type:3,value:"FLEXIBLESEGMENT"};IfcPipeSegmentTypeEnum.RIGIDSEGMENT={type:3,value:"RIGIDSEGMENT"};IfcPipeSegmentTypeEnum.GUTTER={type:3,value:"GUTTER"};IfcPipeSegmentTypeEnum.SPOOL={type:3,value:"SPOOL"};IfcPipeSegmentTypeEnum.USERDEFINED={type:3,value:"USERDEFINED"};IfcPipeSegmentTypeEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC42.IfcPipeSegmentTypeEnum=IfcPipeSegmentTypeEnum;var IfcPlateTypeEnum=/*#__PURE__*/_createClass(function IfcPlateTypeEnum(){_classCallCheck(this,IfcPlateTypeEnum);});IfcPlateTypeEnum.CURTAIN_PANEL={type:3,value:"CURTAIN_PANEL"};IfcPlateTypeEnum.SHEET={type:3,value:"SHEET"};IfcPlateTypeEnum.USERDEFINED={type:3,value:"USERDEFINED"};IfcPlateTypeEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC42.IfcPlateTypeEnum=IfcPlateTypeEnum;var IfcPreferredSurfaceCurveRepresentation=/*#__PURE__*/_createClass(function IfcPreferredSurfaceCurveRepresentation(){_classCallCheck(this,IfcPreferredSurfaceCurveRepresentation);});IfcPreferredSurfaceCurveRepresentation.CURVE3D={type:3,value:"CURVE3D"};IfcPreferredSurfaceCurveRepresentation.PCURVE_S1={type:3,value:"PCURVE_S1"};IfcPreferredSurfaceCurveRepresentation.PCURVE_S2={type:3,value:"PCURVE_S2"};IFC42.IfcPreferredSurfaceCurveRepresentation=IfcPreferredSurfaceCurveRepresentation;var IfcProcedureTypeEnum=/*#__PURE__*/_createClass(function IfcProcedureTypeEnum(){_classCallCheck(this,IfcProcedureTypeEnum);});IfcProcedureTypeEnum.ADVICE_CAUTION={type:3,value:"ADVICE_CAUTION"};IfcProcedureTypeEnum.ADVICE_NOTE={type:3,value:"ADVICE_NOTE"};IfcProcedureTypeEnum.ADVICE_WARNING={type:3,value:"ADVICE_WARNING"};IfcProcedureTypeEnum.CALIBRATION={type:3,value:"CALIBRATION"};IfcProcedureTypeEnum.DIAGNOSTIC={type:3,value:"DIAGNOSTIC"};IfcProcedureTypeEnum.SHUTDOWN={type:3,value:"SHUTDOWN"};IfcProcedureTypeEnum.STARTUP={type:3,value:"STARTUP"};IfcProcedureTypeEnum.USERDEFINED={type:3,value:"USERDEFINED"};IfcProcedureTypeEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC42.IfcProcedureTypeEnum=IfcProcedureTypeEnum;var IfcProfileTypeEnum=/*#__PURE__*/_createClass(function IfcProfileTypeEnum(){_classCallCheck(this,IfcProfileTypeEnum);});IfcProfileTypeEnum.CURVE={type:3,value:"CURVE"};IfcProfileTypeEnum.AREA={type:3,value:"AREA"};IFC42.IfcProfileTypeEnum=IfcProfileTypeEnum;var IfcProjectOrderTypeEnum=/*#__PURE__*/_createClass(function IfcProjectOrderTypeEnum(){_classCallCheck(this,IfcProjectOrderTypeEnum);});IfcProjectOrderTypeEnum.CHANGEORDER={type:3,value:"CHANGEORDER"};IfcProjectOrderTypeEnum.MAINTENANCEWORKORDER={type:3,value:"MAINTENANCEWORKORDER"};IfcProjectOrderTypeEnum.MOVEORDER={type:3,value:"MOVEORDER"};IfcProjectOrderTypeEnum.PURCHASEORDER={type:3,value:"PURCHASEORDER"};IfcProjectOrderTypeEnum.WORKORDER={type:3,value:"WORKORDER"};IfcProjectOrderTypeEnum.USERDEFINED={type:3,value:"USERDEFINED"};IfcProjectOrderTypeEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC42.IfcProjectOrderTypeEnum=IfcProjectOrderTypeEnum;var IfcProjectedOrTrueLengthEnum=/*#__PURE__*/_createClass(function IfcProjectedOrTrueLengthEnum(){_classCallCheck(this,IfcProjectedOrTrueLengthEnum);});IfcProjectedOrTrueLengthEnum.PROJECTED_LENGTH={type:3,value:"PROJECTED_LENGTH"};IfcProjectedOrTrueLengthEnum.TRUE_LENGTH={type:3,value:"TRUE_LENGTH"};IFC42.IfcProjectedOrTrueLengthEnum=IfcProjectedOrTrueLengthEnum;var IfcProjectionElementTypeEnum=/*#__PURE__*/_createClass(function IfcProjectionElementTypeEnum(){_classCallCheck(this,IfcProjectionElementTypeEnum);});IfcProjectionElementTypeEnum.USERDEFINED={type:3,value:"USERDEFINED"};IfcProjectionElementTypeEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC42.IfcProjectionElementTypeEnum=IfcProjectionElementTypeEnum;var IfcPropertySetTemplateTypeEnum=/*#__PURE__*/_createClass(function IfcPropertySetTemplateTypeEnum(){_classCallCheck(this,IfcPropertySetTemplateTypeEnum);});IfcPropertySetTemplateTypeEnum.PSET_TYPEDRIVENONLY={type:3,value:"PSET_TYPEDRIVENONLY"};IfcPropertySetTemplateTypeEnum.PSET_TYPEDRIVENOVERRIDE={type:3,value:"PSET_TYPEDRIVENOVERRIDE"};IfcPropertySetTemplateTypeEnum.PSET_OCCURRENCEDRIVEN={type:3,value:"PSET_OCCURRENCEDRIVEN"};IfcPropertySetTemplateTypeEnum.PSET_PERFORMANCEDRIVEN={type:3,value:"PSET_PERFORMANCEDRIVEN"};IfcPropertySetTemplateTypeEnum.QTO_TYPEDRIVENONLY={type:3,value:"QTO_TYPEDRIVENONLY"};IfcPropertySetTemplateTypeEnum.QTO_TYPEDRIVENOVERRIDE={type:3,value:"QTO_TYPEDRIVENOVERRIDE"};IfcPropertySetTemplateTypeEnum.QTO_OCCURRENCEDRIVEN={type:3,value:"QTO_OCCURRENCEDRIVEN"};IfcPropertySetTemplateTypeEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC42.IfcPropertySetTemplateTypeEnum=IfcPropertySetTemplateTypeEnum;var IfcProtectiveDeviceTrippingUnitTypeEnum=/*#__PURE__*/_createClass(function IfcProtectiveDeviceTrippingUnitTypeEnum(){_classCallCheck(this,IfcProtectiveDeviceTrippingUnitTypeEnum);});IfcProtectiveDeviceTrippingUnitTypeEnum.ELECTRONIC={type:3,value:"ELECTRONIC"};IfcProtectiveDeviceTrippingUnitTypeEnum.ELECTROMAGNETIC={type:3,value:"ELECTROMAGNETIC"};IfcProtectiveDeviceTrippingUnitTypeEnum.RESIDUALCURRENT={type:3,value:"RESIDUALCURRENT"};IfcProtectiveDeviceTrippingUnitTypeEnum.THERMAL={type:3,value:"THERMAL"};IfcProtectiveDeviceTrippingUnitTypeEnum.USERDEFINED={type:3,value:"USERDEFINED"};IfcProtectiveDeviceTrippingUnitTypeEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC42.IfcProtectiveDeviceTrippingUnitTypeEnum=IfcProtectiveDeviceTrippingUnitTypeEnum;var IfcProtectiveDeviceTypeEnum=/*#__PURE__*/_createClass(function IfcProtectiveDeviceTypeEnum(){_classCallCheck(this,IfcProtectiveDeviceTypeEnum);});IfcProtectiveDeviceTypeEnum.CIRCUITBREAKER={type:3,value:"CIRCUITBREAKER"};IfcProtectiveDeviceTypeEnum.EARTHLEAKAGECIRCUITBREAKER={type:3,value:"EARTHLEAKAGECIRCUITBREAKER"};IfcProtectiveDeviceTypeEnum.EARTHINGSWITCH={type:3,value:"EARTHINGSWITCH"};IfcProtectiveDeviceTypeEnum.FUSEDISCONNECTOR={type:3,value:"FUSEDISCONNECTOR"};IfcProtectiveDeviceTypeEnum.RESIDUALCURRENTCIRCUITBREAKER={type:3,value:"RESIDUALCURRENTCIRCUITBREAKER"};IfcProtectiveDeviceTypeEnum.RESIDUALCURRENTSWITCH={type:3,value:"RESIDUALCURRENTSWITCH"};IfcProtectiveDeviceTypeEnum.VARISTOR={type:3,value:"VARISTOR"};IfcProtectiveDeviceTypeEnum.USERDEFINED={type:3,value:"USERDEFINED"};IfcProtectiveDeviceTypeEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC42.IfcProtectiveDeviceTypeEnum=IfcProtectiveDeviceTypeEnum;var IfcPumpTypeEnum=/*#__PURE__*/_createClass(function IfcPumpTypeEnum(){_classCallCheck(this,IfcPumpTypeEnum);});IfcPumpTypeEnum.CIRCULATOR={type:3,value:"CIRCULATOR"};IfcPumpTypeEnum.ENDSUCTION={type:3,value:"ENDSUCTION"};IfcPumpTypeEnum.SPLITCASE={type:3,value:"SPLITCASE"};IfcPumpTypeEnum.SUBMERSIBLEPUMP={type:3,value:"SUBMERSIBLEPUMP"};IfcPumpTypeEnum.SUMPPUMP={type:3,value:"SUMPPUMP"};IfcPumpTypeEnum.VERTICALINLINE={type:3,value:"VERTICALINLINE"};IfcPumpTypeEnum.VERTICALTURBINE={type:3,value:"VERTICALTURBINE"};IfcPumpTypeEnum.USERDEFINED={type:3,value:"USERDEFINED"};IfcPumpTypeEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC42.IfcPumpTypeEnum=IfcPumpTypeEnum;var IfcRailingTypeEnum=/*#__PURE__*/_createClass(function IfcRailingTypeEnum(){_classCallCheck(this,IfcRailingTypeEnum);});IfcRailingTypeEnum.HANDRAIL={type:3,value:"HANDRAIL"};IfcRailingTypeEnum.GUARDRAIL={type:3,value:"GUARDRAIL"};IfcRailingTypeEnum.BALUSTRADE={type:3,value:"BALUSTRADE"};IfcRailingTypeEnum.USERDEFINED={type:3,value:"USERDEFINED"};IfcRailingTypeEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC42.IfcRailingTypeEnum=IfcRailingTypeEnum;var IfcRampFlightTypeEnum=/*#__PURE__*/_createClass(function IfcRampFlightTypeEnum(){_classCallCheck(this,IfcRampFlightTypeEnum);});IfcRampFlightTypeEnum.STRAIGHT={type:3,value:"STRAIGHT"};IfcRampFlightTypeEnum.SPIRAL={type:3,value:"SPIRAL"};IfcRampFlightTypeEnum.USERDEFINED={type:3,value:"USERDEFINED"};IfcRampFlightTypeEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC42.IfcRampFlightTypeEnum=IfcRampFlightTypeEnum;var IfcRampTypeEnum=/*#__PURE__*/_createClass(function IfcRampTypeEnum(){_classCallCheck(this,IfcRampTypeEnum);});IfcRampTypeEnum.STRAIGHT_RUN_RAMP={type:3,value:"STRAIGHT_RUN_RAMP"};IfcRampTypeEnum.TWO_STRAIGHT_RUN_RAMP={type:3,value:"TWO_STRAIGHT_RUN_RAMP"};IfcRampTypeEnum.QUARTER_TURN_RAMP={type:3,value:"QUARTER_TURN_RAMP"};IfcRampTypeEnum.TWO_QUARTER_TURN_RAMP={type:3,value:"TWO_QUARTER_TURN_RAMP"};IfcRampTypeEnum.HALF_TURN_RAMP={type:3,value:"HALF_TURN_RAMP"};IfcRampTypeEnum.SPIRAL_RAMP={type:3,value:"SPIRAL_RAMP"};IfcRampTypeEnum.USERDEFINED={type:3,value:"USERDEFINED"};IfcRampTypeEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC42.IfcRampTypeEnum=IfcRampTypeEnum;var IfcRecurrenceTypeEnum=/*#__PURE__*/_createClass(function IfcRecurrenceTypeEnum(){_classCallCheck(this,IfcRecurrenceTypeEnum);});IfcRecurrenceTypeEnum.DAILY={type:3,value:"DAILY"};IfcRecurrenceTypeEnum.WEEKLY={type:3,value:"WEEKLY"};IfcRecurrenceTypeEnum.MONTHLY_BY_DAY_OF_MONTH={type:3,value:"MONTHLY_BY_DAY_OF_MONTH"};IfcRecurrenceTypeEnum.MONTHLY_BY_POSITION={type:3,value:"MONTHLY_BY_POSITION"};IfcRecurrenceTypeEnum.BY_DAY_COUNT={type:3,value:"BY_DAY_COUNT"};IfcRecurrenceTypeEnum.BY_WEEKDAY_COUNT={type:3,value:"BY_WEEKDAY_COUNT"};IfcRecurrenceTypeEnum.YEARLY_BY_DAY_OF_MONTH={type:3,value:"YEARLY_BY_DAY_OF_MONTH"};IfcRecurrenceTypeEnum.YEARLY_BY_POSITION={type:3,value:"YEARLY_BY_POSITION"};IFC42.IfcRecurrenceTypeEnum=IfcRecurrenceTypeEnum;var IfcReflectanceMethodEnum=/*#__PURE__*/_createClass(function IfcReflectanceMethodEnum(){_classCallCheck(this,IfcReflectanceMethodEnum);});IfcReflectanceMethodEnum.BLINN={type:3,value:"BLINN"};IfcReflectanceMethodEnum.FLAT={type:3,value:"FLAT"};IfcReflectanceMethodEnum.GLASS={type:3,value:"GLASS"};IfcReflectanceMethodEnum.MATT={type:3,value:"MATT"};IfcReflectanceMethodEnum.METAL={type:3,value:"METAL"};IfcReflectanceMethodEnum.MIRROR={type:3,value:"MIRROR"};IfcReflectanceMethodEnum.PHONG={type:3,value:"PHONG"};IfcReflectanceMethodEnum.PLASTIC={type:3,value:"PLASTIC"};IfcReflectanceMethodEnum.STRAUSS={type:3,value:"STRAUSS"};IfcReflectanceMethodEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC42.IfcReflectanceMethodEnum=IfcReflectanceMethodEnum;var IfcReinforcingBarRoleEnum=/*#__PURE__*/_createClass(function IfcReinforcingBarRoleEnum(){_classCallCheck(this,IfcReinforcingBarRoleEnum);});IfcReinforcingBarRoleEnum.MAIN={type:3,value:"MAIN"};IfcReinforcingBarRoleEnum.SHEAR={type:3,value:"SHEAR"};IfcReinforcingBarRoleEnum.LIGATURE={type:3,value:"LIGATURE"};IfcReinforcingBarRoleEnum.STUD={type:3,value:"STUD"};IfcReinforcingBarRoleEnum.PUNCHING={type:3,value:"PUNCHING"};IfcReinforcingBarRoleEnum.EDGE={type:3,value:"EDGE"};IfcReinforcingBarRoleEnum.RING={type:3,value:"RING"};IfcReinforcingBarRoleEnum.ANCHORING={type:3,value:"ANCHORING"};IfcReinforcingBarRoleEnum.USERDEFINED={type:3,value:"USERDEFINED"};IfcReinforcingBarRoleEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC42.IfcReinforcingBarRoleEnum=IfcReinforcingBarRoleEnum;var IfcReinforcingBarSurfaceEnum=/*#__PURE__*/_createClass(function IfcReinforcingBarSurfaceEnum(){_classCallCheck(this,IfcReinforcingBarSurfaceEnum);});IfcReinforcingBarSurfaceEnum.PLAIN={type:3,value:"PLAIN"};IfcReinforcingBarSurfaceEnum.TEXTURED={type:3,value:"TEXTURED"};IFC42.IfcReinforcingBarSurfaceEnum=IfcReinforcingBarSurfaceEnum;var IfcReinforcingBarTypeEnum=/*#__PURE__*/_createClass(function IfcReinforcingBarTypeEnum(){_classCallCheck(this,IfcReinforcingBarTypeEnum);});IfcReinforcingBarTypeEnum.ANCHORING={type:3,value:"ANCHORING"};IfcReinforcingBarTypeEnum.EDGE={type:3,value:"EDGE"};IfcReinforcingBarTypeEnum.LIGATURE={type:3,value:"LIGATURE"};IfcReinforcingBarTypeEnum.MAIN={type:3,value:"MAIN"};IfcReinforcingBarTypeEnum.PUNCHING={type:3,value:"PUNCHING"};IfcReinforcingBarTypeEnum.RING={type:3,value:"RING"};IfcReinforcingBarTypeEnum.SHEAR={type:3,value:"SHEAR"};IfcReinforcingBarTypeEnum.STUD={type:3,value:"STUD"};IfcReinforcingBarTypeEnum.USERDEFINED={type:3,value:"USERDEFINED"};IfcReinforcingBarTypeEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC42.IfcReinforcingBarTypeEnum=IfcReinforcingBarTypeEnum;var IfcReinforcingMeshTypeEnum=/*#__PURE__*/_createClass(function IfcReinforcingMeshTypeEnum(){_classCallCheck(this,IfcReinforcingMeshTypeEnum);});IfcReinforcingMeshTypeEnum.USERDEFINED={type:3,value:"USERDEFINED"};IfcReinforcingMeshTypeEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC42.IfcReinforcingMeshTypeEnum=IfcReinforcingMeshTypeEnum;var IfcRoleEnum=/*#__PURE__*/_createClass(function IfcRoleEnum(){_classCallCheck(this,IfcRoleEnum);});IfcRoleEnum.SUPPLIER={type:3,value:"SUPPLIER"};IfcRoleEnum.MANUFACTURER={type:3,value:"MANUFACTURER"};IfcRoleEnum.CONTRACTOR={type:3,value:"CONTRACTOR"};IfcRoleEnum.SUBCONTRACTOR={type:3,value:"SUBCONTRACTOR"};IfcRoleEnum.ARCHITECT={type:3,value:"ARCHITECT"};IfcRoleEnum.STRUCTURALENGINEER={type:3,value:"STRUCTURALENGINEER"};IfcRoleEnum.COSTENGINEER={type:3,value:"COSTENGINEER"};IfcRoleEnum.CLIENT={type:3,value:"CLIENT"};IfcRoleEnum.BUILDINGOWNER={type:3,value:"BUILDINGOWNER"};IfcRoleEnum.BUILDINGOPERATOR={type:3,value:"BUILDINGOPERATOR"};IfcRoleEnum.MECHANICALENGINEER={type:3,value:"MECHANICALENGINEER"};IfcRoleEnum.ELECTRICALENGINEER={type:3,value:"ELECTRICALENGINEER"};IfcRoleEnum.PROJECTMANAGER={type:3,value:"PROJECTMANAGER"};IfcRoleEnum.FACILITIESMANAGER={type:3,value:"FACILITIESMANAGER"};IfcRoleEnum.CIVILENGINEER={type:3,value:"CIVILENGINEER"};IfcRoleEnum.COMMISSIONINGENGINEER={type:3,value:"COMMISSIONINGENGINEER"};IfcRoleEnum.ENGINEER={type:3,value:"ENGINEER"};IfcRoleEnum.OWNER={type:3,value:"OWNER"};IfcRoleEnum.CONSULTANT={type:3,value:"CONSULTANT"};IfcRoleEnum.CONSTRUCTIONMANAGER={type:3,value:"CONSTRUCTIONMANAGER"};IfcRoleEnum.FIELDCONSTRUCTIONMANAGER={type:3,value:"FIELDCONSTRUCTIONMANAGER"};IfcRoleEnum.RESELLER={type:3,value:"RESELLER"};IfcRoleEnum.USERDEFINED={type:3,value:"USERDEFINED"};IFC42.IfcRoleEnum=IfcRoleEnum;var IfcRoofTypeEnum=/*#__PURE__*/_createClass(function IfcRoofTypeEnum(){_classCallCheck(this,IfcRoofTypeEnum);});IfcRoofTypeEnum.FLAT_ROOF={type:3,value:"FLAT_ROOF"};IfcRoofTypeEnum.SHED_ROOF={type:3,value:"SHED_ROOF"};IfcRoofTypeEnum.GABLE_ROOF={type:3,value:"GABLE_ROOF"};IfcRoofTypeEnum.HIP_ROOF={type:3,value:"HIP_ROOF"};IfcRoofTypeEnum.HIPPED_GABLE_ROOF={type:3,value:"HIPPED_GABLE_ROOF"};IfcRoofTypeEnum.GAMBREL_ROOF={type:3,value:"GAMBREL_ROOF"};IfcRoofTypeEnum.MANSARD_ROOF={type:3,value:"MANSARD_ROOF"};IfcRoofTypeEnum.BARREL_ROOF={type:3,value:"BARREL_ROOF"};IfcRoofTypeEnum.RAINBOW_ROOF={type:3,value:"RAINBOW_ROOF"};IfcRoofTypeEnum.BUTTERFLY_ROOF={type:3,value:"BUTTERFLY_ROOF"};IfcRoofTypeEnum.PAVILION_ROOF={type:3,value:"PAVILION_ROOF"};IfcRoofTypeEnum.DOME_ROOF={type:3,value:"DOME_ROOF"};IfcRoofTypeEnum.FREEFORM={type:3,value:"FREEFORM"};IfcRoofTypeEnum.USERDEFINED={type:3,value:"USERDEFINED"};IfcRoofTypeEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC42.IfcRoofTypeEnum=IfcRoofTypeEnum;var IfcSIPrefix=/*#__PURE__*/_createClass(function IfcSIPrefix(){_classCallCheck(this,IfcSIPrefix);});IfcSIPrefix.EXA={type:3,value:"EXA"};IfcSIPrefix.PETA={type:3,value:"PETA"};IfcSIPrefix.TERA={type:3,value:"TERA"};IfcSIPrefix.GIGA={type:3,value:"GIGA"};IfcSIPrefix.MEGA={type:3,value:"MEGA"};IfcSIPrefix.KILO={type:3,value:"KILO"};IfcSIPrefix.HECTO={type:3,value:"HECTO"};IfcSIPrefix.DECA={type:3,value:"DECA"};IfcSIPrefix.DECI={type:3,value:"DECI"};IfcSIPrefix.CENTI={type:3,value:"CENTI"};IfcSIPrefix.MILLI={type:3,value:"MILLI"};IfcSIPrefix.MICRO={type:3,value:"MICRO"};IfcSIPrefix.NANO={type:3,value:"NANO"};IfcSIPrefix.PICO={type:3,value:"PICO"};IfcSIPrefix.FEMTO={type:3,value:"FEMTO"};IfcSIPrefix.ATTO={type:3,value:"ATTO"};IFC42.IfcSIPrefix=IfcSIPrefix;var IfcSIUnitName=/*#__PURE__*/_createClass(function IfcSIUnitName(){_classCallCheck(this,IfcSIUnitName);});IfcSIUnitName.AMPERE={type:3,value:"AMPERE"};IfcSIUnitName.BECQUEREL={type:3,value:"BECQUEREL"};IfcSIUnitName.CANDELA={type:3,value:"CANDELA"};IfcSIUnitName.COULOMB={type:3,value:"COULOMB"};IfcSIUnitName.CUBIC_METRE={type:3,value:"CUBIC_METRE"};IfcSIUnitName.DEGREE_CELSIUS={type:3,value:"DEGREE_CELSIUS"};IfcSIUnitName.FARAD={type:3,value:"FARAD"};IfcSIUnitName.GRAM={type:3,value:"GRAM"};IfcSIUnitName.GRAY={type:3,value:"GRAY"};IfcSIUnitName.HENRY={type:3,value:"HENRY"};IfcSIUnitName.HERTZ={type:3,value:"HERTZ"};IfcSIUnitName.JOULE={type:3,value:"JOULE"};IfcSIUnitName.KELVIN={type:3,value:"KELVIN"};IfcSIUnitName.LUMEN={type:3,value:"LUMEN"};IfcSIUnitName.LUX={type:3,value:"LUX"};IfcSIUnitName.METRE={type:3,value:"METRE"};IfcSIUnitName.MOLE={type:3,value:"MOLE"};IfcSIUnitName.NEWTON={type:3,value:"NEWTON"};IfcSIUnitName.OHM={type:3,value:"OHM"};IfcSIUnitName.PASCAL={type:3,value:"PASCAL"};IfcSIUnitName.RADIAN={type:3,value:"RADIAN"};IfcSIUnitName.SECOND={type:3,value:"SECOND"};IfcSIUnitName.SIEMENS={type:3,value:"SIEMENS"};IfcSIUnitName.SIEVERT={type:3,value:"SIEVERT"};IfcSIUnitName.SQUARE_METRE={type:3,value:"SQUARE_METRE"};IfcSIUnitName.STERADIAN={type:3,value:"STERADIAN"};IfcSIUnitName.TESLA={type:3,value:"TESLA"};IfcSIUnitName.VOLT={type:3,value:"VOLT"};IfcSIUnitName.WATT={type:3,value:"WATT"};IfcSIUnitName.WEBER={type:3,value:"WEBER"};IFC42.IfcSIUnitName=IfcSIUnitName;var IfcSanitaryTerminalTypeEnum=/*#__PURE__*/_createClass(function IfcSanitaryTerminalTypeEnum(){_classCallCheck(this,IfcSanitaryTerminalTypeEnum);});IfcSanitaryTerminalTypeEnum.BATH={type:3,value:"BATH"};IfcSanitaryTerminalTypeEnum.BIDET={type:3,value:"BIDET"};IfcSanitaryTerminalTypeEnum.CISTERN={type:3,value:"CISTERN"};IfcSanitaryTerminalTypeEnum.SHOWER={type:3,value:"SHOWER"};IfcSanitaryTerminalTypeEnum.SINK={type:3,value:"SINK"};IfcSanitaryTerminalTypeEnum.SANITARYFOUNTAIN={type:3,value:"SANITARYFOUNTAIN"};IfcSanitaryTerminalTypeEnum.TOILETPAN={type:3,value:"TOILETPAN"};IfcSanitaryTerminalTypeEnum.URINAL={type:3,value:"URINAL"};IfcSanitaryTerminalTypeEnum.WASHHANDBASIN={type:3,value:"WASHHANDBASIN"};IfcSanitaryTerminalTypeEnum.WCSEAT={type:3,value:"WCSEAT"};IfcSanitaryTerminalTypeEnum.USERDEFINED={type:3,value:"USERDEFINED"};IfcSanitaryTerminalTypeEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC42.IfcSanitaryTerminalTypeEnum=IfcSanitaryTerminalTypeEnum;var IfcSectionTypeEnum=/*#__PURE__*/_createClass(function IfcSectionTypeEnum(){_classCallCheck(this,IfcSectionTypeEnum);});IfcSectionTypeEnum.UNIFORM={type:3,value:"UNIFORM"};IfcSectionTypeEnum.TAPERED={type:3,value:"TAPERED"};IFC42.IfcSectionTypeEnum=IfcSectionTypeEnum;var IfcSensorTypeEnum=/*#__PURE__*/_createClass(function IfcSensorTypeEnum(){_classCallCheck(this,IfcSensorTypeEnum);});IfcSensorTypeEnum.COSENSOR={type:3,value:"COSENSOR"};IfcSensorTypeEnum.CO2SENSOR={type:3,value:"CO2SENSOR"};IfcSensorTypeEnum.CONDUCTANCESENSOR={type:3,value:"CONDUCTANCESENSOR"};IfcSensorTypeEnum.CONTACTSENSOR={type:3,value:"CONTACTSENSOR"};IfcSensorTypeEnum.FIRESENSOR={type:3,value:"FIRESENSOR"};IfcSensorTypeEnum.FLOWSENSOR={type:3,value:"FLOWSENSOR"};IfcSensorTypeEnum.FROSTSENSOR={type:3,value:"FROSTSENSOR"};IfcSensorTypeEnum.GASSENSOR={type:3,value:"GASSENSOR"};IfcSensorTypeEnum.HEATSENSOR={type:3,value:"HEATSENSOR"};IfcSensorTypeEnum.HUMIDITYSENSOR={type:3,value:"HUMIDITYSENSOR"};IfcSensorTypeEnum.IDENTIFIERSENSOR={type:3,value:"IDENTIFIERSENSOR"};IfcSensorTypeEnum.IONCONCENTRATIONSENSOR={type:3,value:"IONCONCENTRATIONSENSOR"};IfcSensorTypeEnum.LEVELSENSOR={type:3,value:"LEVELSENSOR"};IfcSensorTypeEnum.LIGHTSENSOR={type:3,value:"LIGHTSENSOR"};IfcSensorTypeEnum.MOISTURESENSOR={type:3,value:"MOISTURESENSOR"};IfcSensorTypeEnum.MOVEMENTSENSOR={type:3,value:"MOVEMENTSENSOR"};IfcSensorTypeEnum.PHSENSOR={type:3,value:"PHSENSOR"};IfcSensorTypeEnum.PRESSURESENSOR={type:3,value:"PRESSURESENSOR"};IfcSensorTypeEnum.RADIATIONSENSOR={type:3,value:"RADIATIONSENSOR"};IfcSensorTypeEnum.RADIOACTIVITYSENSOR={type:3,value:"RADIOACTIVITYSENSOR"};IfcSensorTypeEnum.SMOKESENSOR={type:3,value:"SMOKESENSOR"};IfcSensorTypeEnum.SOUNDSENSOR={type:3,value:"SOUNDSENSOR"};IfcSensorTypeEnum.TEMPERATURESENSOR={type:3,value:"TEMPERATURESENSOR"};IfcSensorTypeEnum.WINDSENSOR={type:3,value:"WINDSENSOR"};IfcSensorTypeEnum.USERDEFINED={type:3,value:"USERDEFINED"};IfcSensorTypeEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC42.IfcSensorTypeEnum=IfcSensorTypeEnum;var IfcSequenceEnum=/*#__PURE__*/_createClass(function IfcSequenceEnum(){_classCallCheck(this,IfcSequenceEnum);});IfcSequenceEnum.START_START={type:3,value:"START_START"};IfcSequenceEnum.START_FINISH={type:3,value:"START_FINISH"};IfcSequenceEnum.FINISH_START={type:3,value:"FINISH_START"};IfcSequenceEnum.FINISH_FINISH={type:3,value:"FINISH_FINISH"};IfcSequenceEnum.USERDEFINED={type:3,value:"USERDEFINED"};IfcSequenceEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC42.IfcSequenceEnum=IfcSequenceEnum;var IfcShadingDeviceTypeEnum=/*#__PURE__*/_createClass(function IfcShadingDeviceTypeEnum(){_classCallCheck(this,IfcShadingDeviceTypeEnum);});IfcShadingDeviceTypeEnum.JALOUSIE={type:3,value:"JALOUSIE"};IfcShadingDeviceTypeEnum.SHUTTER={type:3,value:"SHUTTER"};IfcShadingDeviceTypeEnum.AWNING={type:3,value:"AWNING"};IfcShadingDeviceTypeEnum.USERDEFINED={type:3,value:"USERDEFINED"};IfcShadingDeviceTypeEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC42.IfcShadingDeviceTypeEnum=IfcShadingDeviceTypeEnum;var IfcSimplePropertyTemplateTypeEnum=/*#__PURE__*/_createClass(function IfcSimplePropertyTemplateTypeEnum(){_classCallCheck(this,IfcSimplePropertyTemplateTypeEnum);});IfcSimplePropertyTemplateTypeEnum.P_SINGLEVALUE={type:3,value:"P_SINGLEVALUE"};IfcSimplePropertyTemplateTypeEnum.P_ENUMERATEDVALUE={type:3,value:"P_ENUMERATEDVALUE"};IfcSimplePropertyTemplateTypeEnum.P_BOUNDEDVALUE={type:3,value:"P_BOUNDEDVALUE"};IfcSimplePropertyTemplateTypeEnum.P_LISTVALUE={type:3,value:"P_LISTVALUE"};IfcSimplePropertyTemplateTypeEnum.P_TABLEVALUE={type:3,value:"P_TABLEVALUE"};IfcSimplePropertyTemplateTypeEnum.P_REFERENCEVALUE={type:3,value:"P_REFERENCEVALUE"};IfcSimplePropertyTemplateTypeEnum.Q_LENGTH={type:3,value:"Q_LENGTH"};IfcSimplePropertyTemplateTypeEnum.Q_AREA={type:3,value:"Q_AREA"};IfcSimplePropertyTemplateTypeEnum.Q_VOLUME={type:3,value:"Q_VOLUME"};IfcSimplePropertyTemplateTypeEnum.Q_COUNT={type:3,value:"Q_COUNT"};IfcSimplePropertyTemplateTypeEnum.Q_WEIGHT={type:3,value:"Q_WEIGHT"};IfcSimplePropertyTemplateTypeEnum.Q_TIME={type:3,value:"Q_TIME"};IFC42.IfcSimplePropertyTemplateTypeEnum=IfcSimplePropertyTemplateTypeEnum;var IfcSlabTypeEnum=/*#__PURE__*/_createClass(function IfcSlabTypeEnum(){_classCallCheck(this,IfcSlabTypeEnum);});IfcSlabTypeEnum.FLOOR={type:3,value:"FLOOR"};IfcSlabTypeEnum.ROOF={type:3,value:"ROOF"};IfcSlabTypeEnum.LANDING={type:3,value:"LANDING"};IfcSlabTypeEnum.BASESLAB={type:3,value:"BASESLAB"};IfcSlabTypeEnum.USERDEFINED={type:3,value:"USERDEFINED"};IfcSlabTypeEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC42.IfcSlabTypeEnum=IfcSlabTypeEnum;var IfcSolarDeviceTypeEnum=/*#__PURE__*/_createClass(function IfcSolarDeviceTypeEnum(){_classCallCheck(this,IfcSolarDeviceTypeEnum);});IfcSolarDeviceTypeEnum.SOLARCOLLECTOR={type:3,value:"SOLARCOLLECTOR"};IfcSolarDeviceTypeEnum.SOLARPANEL={type:3,value:"SOLARPANEL"};IfcSolarDeviceTypeEnum.USERDEFINED={type:3,value:"USERDEFINED"};IfcSolarDeviceTypeEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC42.IfcSolarDeviceTypeEnum=IfcSolarDeviceTypeEnum;var IfcSpaceHeaterTypeEnum=/*#__PURE__*/_createClass(function IfcSpaceHeaterTypeEnum(){_classCallCheck(this,IfcSpaceHeaterTypeEnum);});IfcSpaceHeaterTypeEnum.CONVECTOR={type:3,value:"CONVECTOR"};IfcSpaceHeaterTypeEnum.RADIATOR={type:3,value:"RADIATOR"};IfcSpaceHeaterTypeEnum.USERDEFINED={type:3,value:"USERDEFINED"};IfcSpaceHeaterTypeEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC42.IfcSpaceHeaterTypeEnum=IfcSpaceHeaterTypeEnum;var IfcSpaceTypeEnum=/*#__PURE__*/_createClass(function IfcSpaceTypeEnum(){_classCallCheck(this,IfcSpaceTypeEnum);});IfcSpaceTypeEnum.SPACE={type:3,value:"SPACE"};IfcSpaceTypeEnum.PARKING={type:3,value:"PARKING"};IfcSpaceTypeEnum.GFA={type:3,value:"GFA"};IfcSpaceTypeEnum.INTERNAL={type:3,value:"INTERNAL"};IfcSpaceTypeEnum.EXTERNAL={type:3,value:"EXTERNAL"};IfcSpaceTypeEnum.USERDEFINED={type:3,value:"USERDEFINED"};IfcSpaceTypeEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC42.IfcSpaceTypeEnum=IfcSpaceTypeEnum;var IfcSpatialZoneTypeEnum=/*#__PURE__*/_createClass(function IfcSpatialZoneTypeEnum(){_classCallCheck(this,IfcSpatialZoneTypeEnum);});IfcSpatialZoneTypeEnum.CONSTRUCTION={type:3,value:"CONSTRUCTION"};IfcSpatialZoneTypeEnum.FIRESAFETY={type:3,value:"FIRESAFETY"};IfcSpatialZoneTypeEnum.LIGHTING={type:3,value:"LIGHTING"};IfcSpatialZoneTypeEnum.OCCUPANCY={type:3,value:"OCCUPANCY"};IfcSpatialZoneTypeEnum.SECURITY={type:3,value:"SECURITY"};IfcSpatialZoneTypeEnum.THERMAL={type:3,value:"THERMAL"};IfcSpatialZoneTypeEnum.TRANSPORT={type:3,value:"TRANSPORT"};IfcSpatialZoneTypeEnum.VENTILATION={type:3,value:"VENTILATION"};IfcSpatialZoneTypeEnum.USERDEFINED={type:3,value:"USERDEFINED"};IfcSpatialZoneTypeEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC42.IfcSpatialZoneTypeEnum=IfcSpatialZoneTypeEnum;var IfcStackTerminalTypeEnum=/*#__PURE__*/_createClass(function IfcStackTerminalTypeEnum(){_classCallCheck(this,IfcStackTerminalTypeEnum);});IfcStackTerminalTypeEnum.BIRDCAGE={type:3,value:"BIRDCAGE"};IfcStackTerminalTypeEnum.COWL={type:3,value:"COWL"};IfcStackTerminalTypeEnum.RAINWATERHOPPER={type:3,value:"RAINWATERHOPPER"};IfcStackTerminalTypeEnum.USERDEFINED={type:3,value:"USERDEFINED"};IfcStackTerminalTypeEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC42.IfcStackTerminalTypeEnum=IfcStackTerminalTypeEnum;var IfcStairFlightTypeEnum=/*#__PURE__*/_createClass(function IfcStairFlightTypeEnum(){_classCallCheck(this,IfcStairFlightTypeEnum);});IfcStairFlightTypeEnum.STRAIGHT={type:3,value:"STRAIGHT"};IfcStairFlightTypeEnum.WINDER={type:3,value:"WINDER"};IfcStairFlightTypeEnum.SPIRAL={type:3,value:"SPIRAL"};IfcStairFlightTypeEnum.CURVED={type:3,value:"CURVED"};IfcStairFlightTypeEnum.FREEFORM={type:3,value:"FREEFORM"};IfcStairFlightTypeEnum.USERDEFINED={type:3,value:"USERDEFINED"};IfcStairFlightTypeEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC42.IfcStairFlightTypeEnum=IfcStairFlightTypeEnum;var IfcStairTypeEnum=/*#__PURE__*/_createClass(function IfcStairTypeEnum(){_classCallCheck(this,IfcStairTypeEnum);});IfcStairTypeEnum.STRAIGHT_RUN_STAIR={type:3,value:"STRAIGHT_RUN_STAIR"};IfcStairTypeEnum.TWO_STRAIGHT_RUN_STAIR={type:3,value:"TWO_STRAIGHT_RUN_STAIR"};IfcStairTypeEnum.QUARTER_WINDING_STAIR={type:3,value:"QUARTER_WINDING_STAIR"};IfcStairTypeEnum.QUARTER_TURN_STAIR={type:3,value:"QUARTER_TURN_STAIR"};IfcStairTypeEnum.HALF_WINDING_STAIR={type:3,value:"HALF_WINDING_STAIR"};IfcStairTypeEnum.HALF_TURN_STAIR={type:3,value:"HALF_TURN_STAIR"};IfcStairTypeEnum.TWO_QUARTER_WINDING_STAIR={type:3,value:"TWO_QUARTER_WINDING_STAIR"};IfcStairTypeEnum.TWO_QUARTER_TURN_STAIR={type:3,value:"TWO_QUARTER_TURN_STAIR"};IfcStairTypeEnum.THREE_QUARTER_WINDING_STAIR={type:3,value:"THREE_QUARTER_WINDING_STAIR"};IfcStairTypeEnum.THREE_QUARTER_TURN_STAIR={type:3,value:"THREE_QUARTER_TURN_STAIR"};IfcStairTypeEnum.SPIRAL_STAIR={type:3,value:"SPIRAL_STAIR"};IfcStairTypeEnum.DOUBLE_RETURN_STAIR={type:3,value:"DOUBLE_RETURN_STAIR"};IfcStairTypeEnum.CURVED_RUN_STAIR={type:3,value:"CURVED_RUN_STAIR"};IfcStairTypeEnum.TWO_CURVED_RUN_STAIR={type:3,value:"TWO_CURVED_RUN_STAIR"};IfcStairTypeEnum.USERDEFINED={type:3,value:"USERDEFINED"};IfcStairTypeEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC42.IfcStairTypeEnum=IfcStairTypeEnum;var IfcStateEnum=/*#__PURE__*/_createClass(function IfcStateEnum(){_classCallCheck(this,IfcStateEnum);});IfcStateEnum.READWRITE={type:3,value:"READWRITE"};IfcStateEnum.READONLY={type:3,value:"READONLY"};IfcStateEnum.LOCKED={type:3,value:"LOCKED"};IfcStateEnum.READWRITELOCKED={type:3,value:"READWRITELOCKED"};IfcStateEnum.READONLYLOCKED={type:3,value:"READONLYLOCKED"};IFC42.IfcStateEnum=IfcStateEnum;var IfcStructuralCurveActivityTypeEnum=/*#__PURE__*/_createClass(function IfcStructuralCurveActivityTypeEnum(){_classCallCheck(this,IfcStructuralCurveActivityTypeEnum);});IfcStructuralCurveActivityTypeEnum.CONST={type:3,value:"CONST"};IfcStructuralCurveActivityTypeEnum.LINEAR={type:3,value:"LINEAR"};IfcStructuralCurveActivityTypeEnum.POLYGONAL={type:3,value:"POLYGONAL"};IfcStructuralCurveActivityTypeEnum.EQUIDISTANT={type:3,value:"EQUIDISTANT"};IfcStructuralCurveActivityTypeEnum.SINUS={type:3,value:"SINUS"};IfcStructuralCurveActivityTypeEnum.PARABOLA={type:3,value:"PARABOLA"};IfcStructuralCurveActivityTypeEnum.DISCRETE={type:3,value:"DISCRETE"};IfcStructuralCurveActivityTypeEnum.USERDEFINED={type:3,value:"USERDEFINED"};IfcStructuralCurveActivityTypeEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC42.IfcStructuralCurveActivityTypeEnum=IfcStructuralCurveActivityTypeEnum;var IfcStructuralCurveMemberTypeEnum=/*#__PURE__*/_createClass(function IfcStructuralCurveMemberTypeEnum(){_classCallCheck(this,IfcStructuralCurveMemberTypeEnum);});IfcStructuralCurveMemberTypeEnum.RIGID_JOINED_MEMBER={type:3,value:"RIGID_JOINED_MEMBER"};IfcStructuralCurveMemberTypeEnum.PIN_JOINED_MEMBER={type:3,value:"PIN_JOINED_MEMBER"};IfcStructuralCurveMemberTypeEnum.CABLE={type:3,value:"CABLE"};IfcStructuralCurveMemberTypeEnum.TENSION_MEMBER={type:3,value:"TENSION_MEMBER"};IfcStructuralCurveMemberTypeEnum.COMPRESSION_MEMBER={type:3,value:"COMPRESSION_MEMBER"};IfcStructuralCurveMemberTypeEnum.USERDEFINED={type:3,value:"USERDEFINED"};IfcStructuralCurveMemberTypeEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC42.IfcStructuralCurveMemberTypeEnum=IfcStructuralCurveMemberTypeEnum;var IfcStructuralSurfaceActivityTypeEnum=/*#__PURE__*/_createClass(function IfcStructuralSurfaceActivityTypeEnum(){_classCallCheck(this,IfcStructuralSurfaceActivityTypeEnum);});IfcStructuralSurfaceActivityTypeEnum.CONST={type:3,value:"CONST"};IfcStructuralSurfaceActivityTypeEnum.BILINEAR={type:3,value:"BILINEAR"};IfcStructuralSurfaceActivityTypeEnum.DISCRETE={type:3,value:"DISCRETE"};IfcStructuralSurfaceActivityTypeEnum.ISOCONTOUR={type:3,value:"ISOCONTOUR"};IfcStructuralSurfaceActivityTypeEnum.USERDEFINED={type:3,value:"USERDEFINED"};IfcStructuralSurfaceActivityTypeEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC42.IfcStructuralSurfaceActivityTypeEnum=IfcStructuralSurfaceActivityTypeEnum;var IfcStructuralSurfaceMemberTypeEnum=/*#__PURE__*/_createClass(function IfcStructuralSurfaceMemberTypeEnum(){_classCallCheck(this,IfcStructuralSurfaceMemberTypeEnum);});IfcStructuralSurfaceMemberTypeEnum.BENDING_ELEMENT={type:3,value:"BENDING_ELEMENT"};IfcStructuralSurfaceMemberTypeEnum.MEMBRANE_ELEMENT={type:3,value:"MEMBRANE_ELEMENT"};IfcStructuralSurfaceMemberTypeEnum.SHELL={type:3,value:"SHELL"};IfcStructuralSurfaceMemberTypeEnum.USERDEFINED={type:3,value:"USERDEFINED"};IfcStructuralSurfaceMemberTypeEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC42.IfcStructuralSurfaceMemberTypeEnum=IfcStructuralSurfaceMemberTypeEnum;var IfcSubContractResourceTypeEnum=/*#__PURE__*/_createClass(function IfcSubContractResourceTypeEnum(){_classCallCheck(this,IfcSubContractResourceTypeEnum);});IfcSubContractResourceTypeEnum.PURCHASE={type:3,value:"PURCHASE"};IfcSubContractResourceTypeEnum.WORK={type:3,value:"WORK"};IfcSubContractResourceTypeEnum.USERDEFINED={type:3,value:"USERDEFINED"};IfcSubContractResourceTypeEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC42.IfcSubContractResourceTypeEnum=IfcSubContractResourceTypeEnum;var IfcSurfaceFeatureTypeEnum=/*#__PURE__*/_createClass(function IfcSurfaceFeatureTypeEnum(){_classCallCheck(this,IfcSurfaceFeatureTypeEnum);});IfcSurfaceFeatureTypeEnum.MARK={type:3,value:"MARK"};IfcSurfaceFeatureTypeEnum.TAG={type:3,value:"TAG"};IfcSurfaceFeatureTypeEnum.TREATMENT={type:3,value:"TREATMENT"};IfcSurfaceFeatureTypeEnum.USERDEFINED={type:3,value:"USERDEFINED"};IfcSurfaceFeatureTypeEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC42.IfcSurfaceFeatureTypeEnum=IfcSurfaceFeatureTypeEnum;var IfcSurfaceSide=/*#__PURE__*/_createClass(function IfcSurfaceSide(){_classCallCheck(this,IfcSurfaceSide);});IfcSurfaceSide.POSITIVE={type:3,value:"POSITIVE"};IfcSurfaceSide.NEGATIVE={type:3,value:"NEGATIVE"};IfcSurfaceSide.BOTH={type:3,value:"BOTH"};IFC42.IfcSurfaceSide=IfcSurfaceSide;var IfcSwitchingDeviceTypeEnum=/*#__PURE__*/_createClass(function IfcSwitchingDeviceTypeEnum(){_classCallCheck(this,IfcSwitchingDeviceTypeEnum);});IfcSwitchingDeviceTypeEnum.CONTACTOR={type:3,value:"CONTACTOR"};IfcSwitchingDeviceTypeEnum.DIMMERSWITCH={type:3,value:"DIMMERSWITCH"};IfcSwitchingDeviceTypeEnum.EMERGENCYSTOP={type:3,value:"EMERGENCYSTOP"};IfcSwitchingDeviceTypeEnum.KEYPAD={type:3,value:"KEYPAD"};IfcSwitchingDeviceTypeEnum.MOMENTARYSWITCH={type:3,value:"MOMENTARYSWITCH"};IfcSwitchingDeviceTypeEnum.SELECTORSWITCH={type:3,value:"SELECTORSWITCH"};IfcSwitchingDeviceTypeEnum.STARTER={type:3,value:"STARTER"};IfcSwitchingDeviceTypeEnum.SWITCHDISCONNECTOR={type:3,value:"SWITCHDISCONNECTOR"};IfcSwitchingDeviceTypeEnum.TOGGLESWITCH={type:3,value:"TOGGLESWITCH"};IfcSwitchingDeviceTypeEnum.USERDEFINED={type:3,value:"USERDEFINED"};IfcSwitchingDeviceTypeEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC42.IfcSwitchingDeviceTypeEnum=IfcSwitchingDeviceTypeEnum;var IfcSystemFurnitureElementTypeEnum=/*#__PURE__*/_createClass(function IfcSystemFurnitureElementTypeEnum(){_classCallCheck(this,IfcSystemFurnitureElementTypeEnum);});IfcSystemFurnitureElementTypeEnum.PANEL={type:3,value:"PANEL"};IfcSystemFurnitureElementTypeEnum.WORKSURFACE={type:3,value:"WORKSURFACE"};IfcSystemFurnitureElementTypeEnum.USERDEFINED={type:3,value:"USERDEFINED"};IfcSystemFurnitureElementTypeEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC42.IfcSystemFurnitureElementTypeEnum=IfcSystemFurnitureElementTypeEnum;var IfcTankTypeEnum=/*#__PURE__*/_createClass(function IfcTankTypeEnum(){_classCallCheck(this,IfcTankTypeEnum);});IfcTankTypeEnum.BASIN={type:3,value:"BASIN"};IfcTankTypeEnum.BREAKPRESSURE={type:3,value:"BREAKPRESSURE"};IfcTankTypeEnum.EXPANSION={type:3,value:"EXPANSION"};IfcTankTypeEnum.FEEDANDEXPANSION={type:3,value:"FEEDANDEXPANSION"};IfcTankTypeEnum.PRESSUREVESSEL={type:3,value:"PRESSUREVESSEL"};IfcTankTypeEnum.STORAGE={type:3,value:"STORAGE"};IfcTankTypeEnum.VESSEL={type:3,value:"VESSEL"};IfcTankTypeEnum.USERDEFINED={type:3,value:"USERDEFINED"};IfcTankTypeEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC42.IfcTankTypeEnum=IfcTankTypeEnum;var IfcTaskDurationEnum=/*#__PURE__*/_createClass(function IfcTaskDurationEnum(){_classCallCheck(this,IfcTaskDurationEnum);});IfcTaskDurationEnum.ELAPSEDTIME={type:3,value:"ELAPSEDTIME"};IfcTaskDurationEnum.WORKTIME={type:3,value:"WORKTIME"};IfcTaskDurationEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC42.IfcTaskDurationEnum=IfcTaskDurationEnum;var IfcTaskTypeEnum=/*#__PURE__*/_createClass(function IfcTaskTypeEnum(){_classCallCheck(this,IfcTaskTypeEnum);});IfcTaskTypeEnum.ATTENDANCE={type:3,value:"ATTENDANCE"};IfcTaskTypeEnum.CONSTRUCTION={type:3,value:"CONSTRUCTION"};IfcTaskTypeEnum.DEMOLITION={type:3,value:"DEMOLITION"};IfcTaskTypeEnum.DISMANTLE={type:3,value:"DISMANTLE"};IfcTaskTypeEnum.DISPOSAL={type:3,value:"DISPOSAL"};IfcTaskTypeEnum.INSTALLATION={type:3,value:"INSTALLATION"};IfcTaskTypeEnum.LOGISTIC={type:3,value:"LOGISTIC"};IfcTaskTypeEnum.MAINTENANCE={type:3,value:"MAINTENANCE"};IfcTaskTypeEnum.MOVE={type:3,value:"MOVE"};IfcTaskTypeEnum.OPERATION={type:3,value:"OPERATION"};IfcTaskTypeEnum.REMOVAL={type:3,value:"REMOVAL"};IfcTaskTypeEnum.RENOVATION={type:3,value:"RENOVATION"};IfcTaskTypeEnum.USERDEFINED={type:3,value:"USERDEFINED"};IfcTaskTypeEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC42.IfcTaskTypeEnum=IfcTaskTypeEnum;var IfcTendonAnchorTypeEnum=/*#__PURE__*/_createClass(function IfcTendonAnchorTypeEnum(){_classCallCheck(this,IfcTendonAnchorTypeEnum);});IfcTendonAnchorTypeEnum.COUPLER={type:3,value:"COUPLER"};IfcTendonAnchorTypeEnum.FIXED_END={type:3,value:"FIXED_END"};IfcTendonAnchorTypeEnum.TENSIONING_END={type:3,value:"TENSIONING_END"};IfcTendonAnchorTypeEnum.USERDEFINED={type:3,value:"USERDEFINED"};IfcTendonAnchorTypeEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC42.IfcTendonAnchorTypeEnum=IfcTendonAnchorTypeEnum;var IfcTendonTypeEnum=/*#__PURE__*/_createClass(function IfcTendonTypeEnum(){_classCallCheck(this,IfcTendonTypeEnum);});IfcTendonTypeEnum.BAR={type:3,value:"BAR"};IfcTendonTypeEnum.COATED={type:3,value:"COATED"};IfcTendonTypeEnum.STRAND={type:3,value:"STRAND"};IfcTendonTypeEnum.WIRE={type:3,value:"WIRE"};IfcTendonTypeEnum.USERDEFINED={type:3,value:"USERDEFINED"};IfcTendonTypeEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC42.IfcTendonTypeEnum=IfcTendonTypeEnum;var IfcTextPath=/*#__PURE__*/_createClass(function IfcTextPath(){_classCallCheck(this,IfcTextPath);});IfcTextPath.LEFT={type:3,value:"LEFT"};IfcTextPath.RIGHT={type:3,value:"RIGHT"};IfcTextPath.UP={type:3,value:"UP"};IfcTextPath.DOWN={type:3,value:"DOWN"};IFC42.IfcTextPath=IfcTextPath;var IfcTimeSeriesDataTypeEnum=/*#__PURE__*/_createClass(function IfcTimeSeriesDataTypeEnum(){_classCallCheck(this,IfcTimeSeriesDataTypeEnum);});IfcTimeSeriesDataTypeEnum.CONTINUOUS={type:3,value:"CONTINUOUS"};IfcTimeSeriesDataTypeEnum.DISCRETE={type:3,value:"DISCRETE"};IfcTimeSeriesDataTypeEnum.DISCRETEBINARY={type:3,value:"DISCRETEBINARY"};IfcTimeSeriesDataTypeEnum.PIECEWISEBINARY={type:3,value:"PIECEWISEBINARY"};IfcTimeSeriesDataTypeEnum.PIECEWISECONSTANT={type:3,value:"PIECEWISECONSTANT"};IfcTimeSeriesDataTypeEnum.PIECEWISECONTINUOUS={type:3,value:"PIECEWISECONTINUOUS"};IfcTimeSeriesDataTypeEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC42.IfcTimeSeriesDataTypeEnum=IfcTimeSeriesDataTypeEnum;var IfcTransformerTypeEnum=/*#__PURE__*/_createClass(function IfcTransformerTypeEnum(){_classCallCheck(this,IfcTransformerTypeEnum);});IfcTransformerTypeEnum.CURRENT={type:3,value:"CURRENT"};IfcTransformerTypeEnum.FREQUENCY={type:3,value:"FREQUENCY"};IfcTransformerTypeEnum.INVERTER={type:3,value:"INVERTER"};IfcTransformerTypeEnum.RECTIFIER={type:3,value:"RECTIFIER"};IfcTransformerTypeEnum.VOLTAGE={type:3,value:"VOLTAGE"};IfcTransformerTypeEnum.USERDEFINED={type:3,value:"USERDEFINED"};IfcTransformerTypeEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC42.IfcTransformerTypeEnum=IfcTransformerTypeEnum;var IfcTransitionCode=/*#__PURE__*/_createClass(function IfcTransitionCode(){_classCallCheck(this,IfcTransitionCode);});IfcTransitionCode.DISCONTINUOUS={type:3,value:"DISCONTINUOUS"};IfcTransitionCode.CONTINUOUS={type:3,value:"CONTINUOUS"};IfcTransitionCode.CONTSAMEGRADIENT={type:3,value:"CONTSAMEGRADIENT"};IfcTransitionCode.CONTSAMEGRADIENTSAMECURVATURE={type:3,value:"CONTSAMEGRADIENTSAMECURVATURE"};IFC42.IfcTransitionCode=IfcTransitionCode;var IfcTransportElementTypeEnum=/*#__PURE__*/_createClass(function IfcTransportElementTypeEnum(){_classCallCheck(this,IfcTransportElementTypeEnum);});IfcTransportElementTypeEnum.ELEVATOR={type:3,value:"ELEVATOR"};IfcTransportElementTypeEnum.ESCALATOR={type:3,value:"ESCALATOR"};IfcTransportElementTypeEnum.MOVINGWALKWAY={type:3,value:"MOVINGWALKWAY"};IfcTransportElementTypeEnum.CRANEWAY={type:3,value:"CRANEWAY"};IfcTransportElementTypeEnum.LIFTINGGEAR={type:3,value:"LIFTINGGEAR"};IfcTransportElementTypeEnum.USERDEFINED={type:3,value:"USERDEFINED"};IfcTransportElementTypeEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC42.IfcTransportElementTypeEnum=IfcTransportElementTypeEnum;var IfcTrimmingPreference=/*#__PURE__*/_createClass(function IfcTrimmingPreference(){_classCallCheck(this,IfcTrimmingPreference);});IfcTrimmingPreference.CARTESIAN={type:3,value:"CARTESIAN"};IfcTrimmingPreference.PARAMETER={type:3,value:"PARAMETER"};IfcTrimmingPreference.UNSPECIFIED={type:3,value:"UNSPECIFIED"};IFC42.IfcTrimmingPreference=IfcTrimmingPreference;var IfcTubeBundleTypeEnum=/*#__PURE__*/_createClass(function IfcTubeBundleTypeEnum(){_classCallCheck(this,IfcTubeBundleTypeEnum);});IfcTubeBundleTypeEnum.FINNED={type:3,value:"FINNED"};IfcTubeBundleTypeEnum.USERDEFINED={type:3,value:"USERDEFINED"};IfcTubeBundleTypeEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC42.IfcTubeBundleTypeEnum=IfcTubeBundleTypeEnum;var IfcUnitEnum=/*#__PURE__*/_createClass(function IfcUnitEnum(){_classCallCheck(this,IfcUnitEnum);});IfcUnitEnum.ABSORBEDDOSEUNIT={type:3,value:"ABSORBEDDOSEUNIT"};IfcUnitEnum.AMOUNTOFSUBSTANCEUNIT={type:3,value:"AMOUNTOFSUBSTANCEUNIT"};IfcUnitEnum.AREAUNIT={type:3,value:"AREAUNIT"};IfcUnitEnum.DOSEEQUIVALENTUNIT={type:3,value:"DOSEEQUIVALENTUNIT"};IfcUnitEnum.ELECTRICCAPACITANCEUNIT={type:3,value:"ELECTRICCAPACITANCEUNIT"};IfcUnitEnum.ELECTRICCHARGEUNIT={type:3,value:"ELECTRICCHARGEUNIT"};IfcUnitEnum.ELECTRICCONDUCTANCEUNIT={type:3,value:"ELECTRICCONDUCTANCEUNIT"};IfcUnitEnum.ELECTRICCURRENTUNIT={type:3,value:"ELECTRICCURRENTUNIT"};IfcUnitEnum.ELECTRICRESISTANCEUNIT={type:3,value:"ELECTRICRESISTANCEUNIT"};IfcUnitEnum.ELECTRICVOLTAGEUNIT={type:3,value:"ELECTRICVOLTAGEUNIT"};IfcUnitEnum.ENERGYUNIT={type:3,value:"ENERGYUNIT"};IfcUnitEnum.FORCEUNIT={type:3,value:"FORCEUNIT"};IfcUnitEnum.FREQUENCYUNIT={type:3,value:"FREQUENCYUNIT"};IfcUnitEnum.ILLUMINANCEUNIT={type:3,value:"ILLUMINANCEUNIT"};IfcUnitEnum.INDUCTANCEUNIT={type:3,value:"INDUCTANCEUNIT"};IfcUnitEnum.LENGTHUNIT={type:3,value:"LENGTHUNIT"};IfcUnitEnum.LUMINOUSFLUXUNIT={type:3,value:"LUMINOUSFLUXUNIT"};IfcUnitEnum.LUMINOUSINTENSITYUNIT={type:3,value:"LUMINOUSINTENSITYUNIT"};IfcUnitEnum.MAGNETICFLUXDENSITYUNIT={type:3,value:"MAGNETICFLUXDENSITYUNIT"};IfcUnitEnum.MAGNETICFLUXUNIT={type:3,value:"MAGNETICFLUXUNIT"};IfcUnitEnum.MASSUNIT={type:3,value:"MASSUNIT"};IfcUnitEnum.PLANEANGLEUNIT={type:3,value:"PLANEANGLEUNIT"};IfcUnitEnum.POWERUNIT={type:3,value:"POWERUNIT"};IfcUnitEnum.PRESSUREUNIT={type:3,value:"PRESSUREUNIT"};IfcUnitEnum.RADIOACTIVITYUNIT={type:3,value:"RADIOACTIVITYUNIT"};IfcUnitEnum.SOLIDANGLEUNIT={type:3,value:"SOLIDANGLEUNIT"};IfcUnitEnum.THERMODYNAMICTEMPERATUREUNIT={type:3,value:"THERMODYNAMICTEMPERATUREUNIT"};IfcUnitEnum.TIMEUNIT={type:3,value:"TIMEUNIT"};IfcUnitEnum.VOLUMEUNIT={type:3,value:"VOLUMEUNIT"};IfcUnitEnum.USERDEFINED={type:3,value:"USERDEFINED"};IFC42.IfcUnitEnum=IfcUnitEnum;var IfcUnitaryControlElementTypeEnum=/*#__PURE__*/_createClass(function IfcUnitaryControlElementTypeEnum(){_classCallCheck(this,IfcUnitaryControlElementTypeEnum);});IfcUnitaryControlElementTypeEnum.ALARMPANEL={type:3,value:"ALARMPANEL"};IfcUnitaryControlElementTypeEnum.CONTROLPANEL={type:3,value:"CONTROLPANEL"};IfcUnitaryControlElementTypeEnum.GASDETECTIONPANEL={type:3,value:"GASDETECTIONPANEL"};IfcUnitaryControlElementTypeEnum.INDICATORPANEL={type:3,value:"INDICATORPANEL"};IfcUnitaryControlElementTypeEnum.MIMICPANEL={type:3,value:"MIMICPANEL"};IfcUnitaryControlElementTypeEnum.HUMIDISTAT={type:3,value:"HUMIDISTAT"};IfcUnitaryControlElementTypeEnum.THERMOSTAT={type:3,value:"THERMOSTAT"};IfcUnitaryControlElementTypeEnum.WEATHERSTATION={type:3,value:"WEATHERSTATION"};IfcUnitaryControlElementTypeEnum.USERDEFINED={type:3,value:"USERDEFINED"};IfcUnitaryControlElementTypeEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC42.IfcUnitaryControlElementTypeEnum=IfcUnitaryControlElementTypeEnum;var IfcUnitaryEquipmentTypeEnum=/*#__PURE__*/_createClass(function IfcUnitaryEquipmentTypeEnum(){_classCallCheck(this,IfcUnitaryEquipmentTypeEnum);});IfcUnitaryEquipmentTypeEnum.AIRHANDLER={type:3,value:"AIRHANDLER"};IfcUnitaryEquipmentTypeEnum.AIRCONDITIONINGUNIT={type:3,value:"AIRCONDITIONINGUNIT"};IfcUnitaryEquipmentTypeEnum.DEHUMIDIFIER={type:3,value:"DEHUMIDIFIER"};IfcUnitaryEquipmentTypeEnum.SPLITSYSTEM={type:3,value:"SPLITSYSTEM"};IfcUnitaryEquipmentTypeEnum.ROOFTOPUNIT={type:3,value:"ROOFTOPUNIT"};IfcUnitaryEquipmentTypeEnum.USERDEFINED={type:3,value:"USERDEFINED"};IfcUnitaryEquipmentTypeEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC42.IfcUnitaryEquipmentTypeEnum=IfcUnitaryEquipmentTypeEnum;var IfcValveTypeEnum=/*#__PURE__*/_createClass(function IfcValveTypeEnum(){_classCallCheck(this,IfcValveTypeEnum);});IfcValveTypeEnum.AIRRELEASE={type:3,value:"AIRRELEASE"};IfcValveTypeEnum.ANTIVACUUM={type:3,value:"ANTIVACUUM"};IfcValveTypeEnum.CHANGEOVER={type:3,value:"CHANGEOVER"};IfcValveTypeEnum.CHECK={type:3,value:"CHECK"};IfcValveTypeEnum.COMMISSIONING={type:3,value:"COMMISSIONING"};IfcValveTypeEnum.DIVERTING={type:3,value:"DIVERTING"};IfcValveTypeEnum.DRAWOFFCOCK={type:3,value:"DRAWOFFCOCK"};IfcValveTypeEnum.DOUBLECHECK={type:3,value:"DOUBLECHECK"};IfcValveTypeEnum.DOUBLEREGULATING={type:3,value:"DOUBLEREGULATING"};IfcValveTypeEnum.FAUCET={type:3,value:"FAUCET"};IfcValveTypeEnum.FLUSHING={type:3,value:"FLUSHING"};IfcValveTypeEnum.GASCOCK={type:3,value:"GASCOCK"};IfcValveTypeEnum.GASTAP={type:3,value:"GASTAP"};IfcValveTypeEnum.ISOLATING={type:3,value:"ISOLATING"};IfcValveTypeEnum.MIXING={type:3,value:"MIXING"};IfcValveTypeEnum.PRESSUREREDUCING={type:3,value:"PRESSUREREDUCING"};IfcValveTypeEnum.PRESSURERELIEF={type:3,value:"PRESSURERELIEF"};IfcValveTypeEnum.REGULATING={type:3,value:"REGULATING"};IfcValveTypeEnum.SAFETYCUTOFF={type:3,value:"SAFETYCUTOFF"};IfcValveTypeEnum.STEAMTRAP={type:3,value:"STEAMTRAP"};IfcValveTypeEnum.STOPCOCK={type:3,value:"STOPCOCK"};IfcValveTypeEnum.USERDEFINED={type:3,value:"USERDEFINED"};IfcValveTypeEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC42.IfcValveTypeEnum=IfcValveTypeEnum;var IfcVibrationIsolatorTypeEnum=/*#__PURE__*/_createClass(function IfcVibrationIsolatorTypeEnum(){_classCallCheck(this,IfcVibrationIsolatorTypeEnum);});IfcVibrationIsolatorTypeEnum.COMPRESSION={type:3,value:"COMPRESSION"};IfcVibrationIsolatorTypeEnum.SPRING={type:3,value:"SPRING"};IfcVibrationIsolatorTypeEnum.USERDEFINED={type:3,value:"USERDEFINED"};IfcVibrationIsolatorTypeEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC42.IfcVibrationIsolatorTypeEnum=IfcVibrationIsolatorTypeEnum;var IfcVoidingFeatureTypeEnum=/*#__PURE__*/_createClass(function IfcVoidingFeatureTypeEnum(){_classCallCheck(this,IfcVoidingFeatureTypeEnum);});IfcVoidingFeatureTypeEnum.CUTOUT={type:3,value:"CUTOUT"};IfcVoidingFeatureTypeEnum.NOTCH={type:3,value:"NOTCH"};IfcVoidingFeatureTypeEnum.HOLE={type:3,value:"HOLE"};IfcVoidingFeatureTypeEnum.MITER={type:3,value:"MITER"};IfcVoidingFeatureTypeEnum.CHAMFER={type:3,value:"CHAMFER"};IfcVoidingFeatureTypeEnum.EDGE={type:3,value:"EDGE"};IfcVoidingFeatureTypeEnum.USERDEFINED={type:3,value:"USERDEFINED"};IfcVoidingFeatureTypeEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC42.IfcVoidingFeatureTypeEnum=IfcVoidingFeatureTypeEnum;var IfcWallTypeEnum=/*#__PURE__*/_createClass(function IfcWallTypeEnum(){_classCallCheck(this,IfcWallTypeEnum);});IfcWallTypeEnum.MOVABLE={type:3,value:"MOVABLE"};IfcWallTypeEnum.PARAPET={type:3,value:"PARAPET"};IfcWallTypeEnum.PARTITIONING={type:3,value:"PARTITIONING"};IfcWallTypeEnum.PLUMBINGWALL={type:3,value:"PLUMBINGWALL"};IfcWallTypeEnum.SHEAR={type:3,value:"SHEAR"};IfcWallTypeEnum.SOLIDWALL={type:3,value:"SOLIDWALL"};IfcWallTypeEnum.STANDARD={type:3,value:"STANDARD"};IfcWallTypeEnum.POLYGONAL={type:3,value:"POLYGONAL"};IfcWallTypeEnum.ELEMENTEDWALL={type:3,value:"ELEMENTEDWALL"};IfcWallTypeEnum.USERDEFINED={type:3,value:"USERDEFINED"};IfcWallTypeEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC42.IfcWallTypeEnum=IfcWallTypeEnum;var IfcWasteTerminalTypeEnum=/*#__PURE__*/_createClass(function IfcWasteTerminalTypeEnum(){_classCallCheck(this,IfcWasteTerminalTypeEnum);});IfcWasteTerminalTypeEnum.FLOORTRAP={type:3,value:"FLOORTRAP"};IfcWasteTerminalTypeEnum.FLOORWASTE={type:3,value:"FLOORWASTE"};IfcWasteTerminalTypeEnum.GULLYSUMP={type:3,value:"GULLYSUMP"};IfcWasteTerminalTypeEnum.GULLYTRAP={type:3,value:"GULLYTRAP"};IfcWasteTerminalTypeEnum.ROOFDRAIN={type:3,value:"ROOFDRAIN"};IfcWasteTerminalTypeEnum.WASTEDISPOSALUNIT={type:3,value:"WASTEDISPOSALUNIT"};IfcWasteTerminalTypeEnum.WASTETRAP={type:3,value:"WASTETRAP"};IfcWasteTerminalTypeEnum.USERDEFINED={type:3,value:"USERDEFINED"};IfcWasteTerminalTypeEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC42.IfcWasteTerminalTypeEnum=IfcWasteTerminalTypeEnum;var IfcWindowPanelOperationEnum=/*#__PURE__*/_createClass(function IfcWindowPanelOperationEnum(){_classCallCheck(this,IfcWindowPanelOperationEnum);});IfcWindowPanelOperationEnum.SIDEHUNGRIGHTHAND={type:3,value:"SIDEHUNGRIGHTHAND"};IfcWindowPanelOperationEnum.SIDEHUNGLEFTHAND={type:3,value:"SIDEHUNGLEFTHAND"};IfcWindowPanelOperationEnum.TILTANDTURNRIGHTHAND={type:3,value:"TILTANDTURNRIGHTHAND"};IfcWindowPanelOperationEnum.TILTANDTURNLEFTHAND={type:3,value:"TILTANDTURNLEFTHAND"};IfcWindowPanelOperationEnum.TOPHUNG={type:3,value:"TOPHUNG"};IfcWindowPanelOperationEnum.BOTTOMHUNG={type:3,value:"BOTTOMHUNG"};IfcWindowPanelOperationEnum.PIVOTHORIZONTAL={type:3,value:"PIVOTHORIZONTAL"};IfcWindowPanelOperationEnum.PIVOTVERTICAL={type:3,value:"PIVOTVERTICAL"};IfcWindowPanelOperationEnum.SLIDINGHORIZONTAL={type:3,value:"SLIDINGHORIZONTAL"};IfcWindowPanelOperationEnum.SLIDINGVERTICAL={type:3,value:"SLIDINGVERTICAL"};IfcWindowPanelOperationEnum.REMOVABLECASEMENT={type:3,value:"REMOVABLECASEMENT"};IfcWindowPanelOperationEnum.FIXEDCASEMENT={type:3,value:"FIXEDCASEMENT"};IfcWindowPanelOperationEnum.OTHEROPERATION={type:3,value:"OTHEROPERATION"};IfcWindowPanelOperationEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC42.IfcWindowPanelOperationEnum=IfcWindowPanelOperationEnum;var IfcWindowPanelPositionEnum=/*#__PURE__*/_createClass(function IfcWindowPanelPositionEnum(){_classCallCheck(this,IfcWindowPanelPositionEnum);});IfcWindowPanelPositionEnum.LEFT={type:3,value:"LEFT"};IfcWindowPanelPositionEnum.MIDDLE={type:3,value:"MIDDLE"};IfcWindowPanelPositionEnum.RIGHT={type:3,value:"RIGHT"};IfcWindowPanelPositionEnum.BOTTOM={type:3,value:"BOTTOM"};IfcWindowPanelPositionEnum.TOP={type:3,value:"TOP"};IfcWindowPanelPositionEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC42.IfcWindowPanelPositionEnum=IfcWindowPanelPositionEnum;var IfcWindowStyleConstructionEnum=/*#__PURE__*/_createClass(function IfcWindowStyleConstructionEnum(){_classCallCheck(this,IfcWindowStyleConstructionEnum);});IfcWindowStyleConstructionEnum.ALUMINIUM={type:3,value:"ALUMINIUM"};IfcWindowStyleConstructionEnum.HIGH_GRADE_STEEL={type:3,value:"HIGH_GRADE_STEEL"};IfcWindowStyleConstructionEnum.STEEL={type:3,value:"STEEL"};IfcWindowStyleConstructionEnum.WOOD={type:3,value:"WOOD"};IfcWindowStyleConstructionEnum.ALUMINIUM_WOOD={type:3,value:"ALUMINIUM_WOOD"};IfcWindowStyleConstructionEnum.PLASTIC={type:3,value:"PLASTIC"};IfcWindowStyleConstructionEnum.OTHER_CONSTRUCTION={type:3,value:"OTHER_CONSTRUCTION"};IfcWindowStyleConstructionEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC42.IfcWindowStyleConstructionEnum=IfcWindowStyleConstructionEnum;var IfcWindowStyleOperationEnum=/*#__PURE__*/_createClass(function IfcWindowStyleOperationEnum(){_classCallCheck(this,IfcWindowStyleOperationEnum);});IfcWindowStyleOperationEnum.SINGLE_PANEL={type:3,value:"SINGLE_PANEL"};IfcWindowStyleOperationEnum.DOUBLE_PANEL_VERTICAL={type:3,value:"DOUBLE_PANEL_VERTICAL"};IfcWindowStyleOperationEnum.DOUBLE_PANEL_HORIZONTAL={type:3,value:"DOUBLE_PANEL_HORIZONTAL"};IfcWindowStyleOperationEnum.TRIPLE_PANEL_VERTICAL={type:3,value:"TRIPLE_PANEL_VERTICAL"};IfcWindowStyleOperationEnum.TRIPLE_PANEL_BOTTOM={type:3,value:"TRIPLE_PANEL_BOTTOM"};IfcWindowStyleOperationEnum.TRIPLE_PANEL_TOP={type:3,value:"TRIPLE_PANEL_TOP"};IfcWindowStyleOperationEnum.TRIPLE_PANEL_LEFT={type:3,value:"TRIPLE_PANEL_LEFT"};IfcWindowStyleOperationEnum.TRIPLE_PANEL_RIGHT={type:3,value:"TRIPLE_PANEL_RIGHT"};IfcWindowStyleOperationEnum.TRIPLE_PANEL_HORIZONTAL={type:3,value:"TRIPLE_PANEL_HORIZONTAL"};IfcWindowStyleOperationEnum.USERDEFINED={type:3,value:"USERDEFINED"};IfcWindowStyleOperationEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC42.IfcWindowStyleOperationEnum=IfcWindowStyleOperationEnum;var IfcWindowTypeEnum=/*#__PURE__*/_createClass(function IfcWindowTypeEnum(){_classCallCheck(this,IfcWindowTypeEnum);});IfcWindowTypeEnum.WINDOW={type:3,value:"WINDOW"};IfcWindowTypeEnum.SKYLIGHT={type:3,value:"SKYLIGHT"};IfcWindowTypeEnum.LIGHTDOME={type:3,value:"LIGHTDOME"};IfcWindowTypeEnum.USERDEFINED={type:3,value:"USERDEFINED"};IfcWindowTypeEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC42.IfcWindowTypeEnum=IfcWindowTypeEnum;var IfcWindowTypePartitioningEnum=/*#__PURE__*/_createClass(function IfcWindowTypePartitioningEnum(){_classCallCheck(this,IfcWindowTypePartitioningEnum);});IfcWindowTypePartitioningEnum.SINGLE_PANEL={type:3,value:"SINGLE_PANEL"};IfcWindowTypePartitioningEnum.DOUBLE_PANEL_VERTICAL={type:3,value:"DOUBLE_PANEL_VERTICAL"};IfcWindowTypePartitioningEnum.DOUBLE_PANEL_HORIZONTAL={type:3,value:"DOUBLE_PANEL_HORIZONTAL"};IfcWindowTypePartitioningEnum.TRIPLE_PANEL_VERTICAL={type:3,value:"TRIPLE_PANEL_VERTICAL"};IfcWindowTypePartitioningEnum.TRIPLE_PANEL_BOTTOM={type:3,value:"TRIPLE_PANEL_BOTTOM"};IfcWindowTypePartitioningEnum.TRIPLE_PANEL_TOP={type:3,value:"TRIPLE_PANEL_TOP"};IfcWindowTypePartitioningEnum.TRIPLE_PANEL_LEFT={type:3,value:"TRIPLE_PANEL_LEFT"};IfcWindowTypePartitioningEnum.TRIPLE_PANEL_RIGHT={type:3,value:"TRIPLE_PANEL_RIGHT"};IfcWindowTypePartitioningEnum.TRIPLE_PANEL_HORIZONTAL={type:3,value:"TRIPLE_PANEL_HORIZONTAL"};IfcWindowTypePartitioningEnum.USERDEFINED={type:3,value:"USERDEFINED"};IfcWindowTypePartitioningEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC42.IfcWindowTypePartitioningEnum=IfcWindowTypePartitioningEnum;var IfcWorkCalendarTypeEnum=/*#__PURE__*/_createClass(function IfcWorkCalendarTypeEnum(){_classCallCheck(this,IfcWorkCalendarTypeEnum);});IfcWorkCalendarTypeEnum.FIRSTSHIFT={type:3,value:"FIRSTSHIFT"};IfcWorkCalendarTypeEnum.SECONDSHIFT={type:3,value:"SECONDSHIFT"};IfcWorkCalendarTypeEnum.THIRDSHIFT={type:3,value:"THIRDSHIFT"};IfcWorkCalendarTypeEnum.USERDEFINED={type:3,value:"USERDEFINED"};IfcWorkCalendarTypeEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC42.IfcWorkCalendarTypeEnum=IfcWorkCalendarTypeEnum;var IfcWorkPlanTypeEnum=/*#__PURE__*/_createClass(function IfcWorkPlanTypeEnum(){_classCallCheck(this,IfcWorkPlanTypeEnum);});IfcWorkPlanTypeEnum.ACTUAL={type:3,value:"ACTUAL"};IfcWorkPlanTypeEnum.BASELINE={type:3,value:"BASELINE"};IfcWorkPlanTypeEnum.PLANNED={type:3,value:"PLANNED"};IfcWorkPlanTypeEnum.USERDEFINED={type:3,value:"USERDEFINED"};IfcWorkPlanTypeEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC42.IfcWorkPlanTypeEnum=IfcWorkPlanTypeEnum;var IfcWorkScheduleTypeEnum=/*#__PURE__*/_createClass(function IfcWorkScheduleTypeEnum(){_classCallCheck(this,IfcWorkScheduleTypeEnum);});IfcWorkScheduleTypeEnum.ACTUAL={type:3,value:"ACTUAL"};IfcWorkScheduleTypeEnum.BASELINE={type:3,value:"BASELINE"};IfcWorkScheduleTypeEnum.PLANNED={type:3,value:"PLANNED"};IfcWorkScheduleTypeEnum.USERDEFINED={type:3,value:"USERDEFINED"};IfcWorkScheduleTypeEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC42.IfcWorkScheduleTypeEnum=IfcWorkScheduleTypeEnum;var IfcActorRole=/*#__PURE__*/function(_IfcLineObject102){_inherits(IfcActorRole,_IfcLineObject102);var _super805=_createSuper(IfcActorRole);function IfcActorRole(expressID,Role,UserDefinedRole,Description){var _this808;_classCallCheck(this,IfcActorRole);_this808=_super805.call(this,expressID);_this808.Role=Role;_this808.UserDefinedRole=UserDefinedRole;_this808.Description=Description;_this808.type=3630933823;return _this808;}return _createClass(IfcActorRole);}(IfcLineObject);IFC42.IfcActorRole=IfcActorRole;var IfcAddress=/*#__PURE__*/function(_IfcLineObject103){_inherits(IfcAddress,_IfcLineObject103);var _super806=_createSuper(IfcAddress);function IfcAddress(expressID,Purpose,Description,UserDefinedPurpose){var _this809;_classCallCheck(this,IfcAddress);_this809=_super806.call(this,expressID);_this809.Purpose=Purpose;_this809.Description=Description;_this809.UserDefinedPurpose=UserDefinedPurpose;_this809.type=618182010;return _this809;}return _createClass(IfcAddress);}(IfcLineObject);IFC42.IfcAddress=IfcAddress;var IfcApplication=/*#__PURE__*/function(_IfcLineObject104){_inherits(IfcApplication,_IfcLineObject104);var _super807=_createSuper(IfcApplication);function IfcApplication(expressID,ApplicationDeveloper,Version,ApplicationFullName,ApplicationIdentifier){var _this810;_classCallCheck(this,IfcApplication);_this810=_super807.call(this,expressID);_this810.ApplicationDeveloper=ApplicationDeveloper;_this810.Version=Version;_this810.ApplicationFullName=ApplicationFullName;_this810.ApplicationIdentifier=ApplicationIdentifier;_this810.type=639542469;return _this810;}return _createClass(IfcApplication);}(IfcLineObject);IFC42.IfcApplication=IfcApplication;var IfcAppliedValue=/*#__PURE__*/function(_IfcLineObject105){_inherits(IfcAppliedValue,_IfcLineObject105);var _super808=_createSuper(IfcAppliedValue);function IfcAppliedValue(expressID,Name,Description,AppliedValue,UnitBasis,ApplicableDate,FixedUntilDate,Category,Condition,ArithmeticOperator,Components){var _this811;_classCallCheck(this,IfcAppliedValue);_this811=_super808.call(this,expressID);_this811.Name=Name;_this811.Description=Description;_this811.AppliedValue=AppliedValue;_this811.UnitBasis=UnitBasis;_this811.ApplicableDate=ApplicableDate;_this811.FixedUntilDate=FixedUntilDate;_this811.Category=Category;_this811.Condition=Condition;_this811.ArithmeticOperator=ArithmeticOperator;_this811.Components=Components;_this811.type=411424972;return _this811;}return _createClass(IfcAppliedValue);}(IfcLineObject);IFC42.IfcAppliedValue=IfcAppliedValue;var IfcApproval=/*#__PURE__*/function(_IfcLineObject106){_inherits(IfcApproval,_IfcLineObject106);var _super809=_createSuper(IfcApproval);function IfcApproval(expressID,Identifier,Name,Description,TimeOfApproval,Status,Level,Qualifier,RequestingApproval,GivingApproval){var _this812;_classCallCheck(this,IfcApproval);_this812=_super809.call(this,expressID);_this812.Identifier=Identifier;_this812.Name=Name;_this812.Description=Description;_this812.TimeOfApproval=TimeOfApproval;_this812.Status=Status;_this812.Level=Level;_this812.Qualifier=Qualifier;_this812.RequestingApproval=RequestingApproval;_this812.GivingApproval=GivingApproval;_this812.type=130549933;return _this812;}return _createClass(IfcApproval);}(IfcLineObject);IFC42.IfcApproval=IfcApproval;var IfcBoundaryCondition=/*#__PURE__*/function(_IfcLineObject107){_inherits(IfcBoundaryCondition,_IfcLineObject107);var _super810=_createSuper(IfcBoundaryCondition);function IfcBoundaryCondition(expressID,Name){var _this813;_classCallCheck(this,IfcBoundaryCondition);_this813=_super810.call(this,expressID);_this813.Name=Name;_this813.type=4037036970;return _this813;}return _createClass(IfcBoundaryCondition);}(IfcLineObject);IFC42.IfcBoundaryCondition=IfcBoundaryCondition;var IfcBoundaryEdgeCondition=/*#__PURE__*/function(_IfcBoundaryCondition4){_inherits(IfcBoundaryEdgeCondition,_IfcBoundaryCondition4);var _super811=_createSuper(IfcBoundaryEdgeCondition);function IfcBoundaryEdgeCondition(expressID,Name,TranslationalStiffnessByLengthX,TranslationalStiffnessByLengthY,TranslationalStiffnessByLengthZ,RotationalStiffnessByLengthX,RotationalStiffnessByLengthY,RotationalStiffnessByLengthZ){var _this814;_classCallCheck(this,IfcBoundaryEdgeCondition);_this814=_super811.call(this,expressID,Name);_this814.Name=Name;_this814.TranslationalStiffnessByLengthX=TranslationalStiffnessByLengthX;_this814.TranslationalStiffnessByLengthY=TranslationalStiffnessByLengthY;_this814.TranslationalStiffnessByLengthZ=TranslationalStiffnessByLengthZ;_this814.RotationalStiffnessByLengthX=RotationalStiffnessByLengthX;_this814.RotationalStiffnessByLengthY=RotationalStiffnessByLengthY;_this814.RotationalStiffnessByLengthZ=RotationalStiffnessByLengthZ;_this814.type=1560379544;return _this814;}return _createClass(IfcBoundaryEdgeCondition);}(IfcBoundaryCondition);IFC42.IfcBoundaryEdgeCondition=IfcBoundaryEdgeCondition;var IfcBoundaryFaceCondition=/*#__PURE__*/function(_IfcBoundaryCondition5){_inherits(IfcBoundaryFaceCondition,_IfcBoundaryCondition5);var _super812=_createSuper(IfcBoundaryFaceCondition);function IfcBoundaryFaceCondition(expressID,Name,TranslationalStiffnessByAreaX,TranslationalStiffnessByAreaY,TranslationalStiffnessByAreaZ){var _this815;_classCallCheck(this,IfcBoundaryFaceCondition);_this815=_super812.call(this,expressID,Name);_this815.Name=Name;_this815.TranslationalStiffnessByAreaX=TranslationalStiffnessByAreaX;_this815.TranslationalStiffnessByAreaY=TranslationalStiffnessByAreaY;_this815.TranslationalStiffnessByAreaZ=TranslationalStiffnessByAreaZ;_this815.type=3367102660;return _this815;}return _createClass(IfcBoundaryFaceCondition);}(IfcBoundaryCondition);IFC42.IfcBoundaryFaceCondition=IfcBoundaryFaceCondition;var IfcBoundaryNodeCondition=/*#__PURE__*/function(_IfcBoundaryCondition6){_inherits(IfcBoundaryNodeCondition,_IfcBoundaryCondition6);var _super813=_createSuper(IfcBoundaryNodeCondition);function IfcBoundaryNodeCondition(expressID,Name,TranslationalStiffnessX,TranslationalStiffnessY,TranslationalStiffnessZ,RotationalStiffnessX,RotationalStiffnessY,RotationalStiffnessZ){var _this816;_classCallCheck(this,IfcBoundaryNodeCondition);_this816=_super813.call(this,expressID,Name);_this816.Name=Name;_this816.TranslationalStiffnessX=TranslationalStiffnessX;_this816.TranslationalStiffnessY=TranslationalStiffnessY;_this816.TranslationalStiffnessZ=TranslationalStiffnessZ;_this816.RotationalStiffnessX=RotationalStiffnessX;_this816.RotationalStiffnessY=RotationalStiffnessY;_this816.RotationalStiffnessZ=RotationalStiffnessZ;_this816.type=1387855156;return _this816;}return _createClass(IfcBoundaryNodeCondition);}(IfcBoundaryCondition);IFC42.IfcBoundaryNodeCondition=IfcBoundaryNodeCondition;var IfcBoundaryNodeConditionWarping=/*#__PURE__*/function(_IfcBoundaryNodeCondi2){_inherits(IfcBoundaryNodeConditionWarping,_IfcBoundaryNodeCondi2);var _super814=_createSuper(IfcBoundaryNodeConditionWarping);function IfcBoundaryNodeConditionWarping(expressID,Name,TranslationalStiffnessX,TranslationalStiffnessY,TranslationalStiffnessZ,RotationalStiffnessX,RotationalStiffnessY,RotationalStiffnessZ,WarpingStiffness){var _this817;_classCallCheck(this,IfcBoundaryNodeConditionWarping);_this817=_super814.call(this,expressID,Name,TranslationalStiffnessX,TranslationalStiffnessY,TranslationalStiffnessZ,RotationalStiffnessX,RotationalStiffnessY,RotationalStiffnessZ);_this817.Name=Name;_this817.TranslationalStiffnessX=TranslationalStiffnessX;_this817.TranslationalStiffnessY=TranslationalStiffnessY;_this817.TranslationalStiffnessZ=TranslationalStiffnessZ;_this817.RotationalStiffnessX=RotationalStiffnessX;_this817.RotationalStiffnessY=RotationalStiffnessY;_this817.RotationalStiffnessZ=RotationalStiffnessZ;_this817.WarpingStiffness=WarpingStiffness;_this817.type=2069777674;return _this817;}return _createClass(IfcBoundaryNodeConditionWarping);}(IfcBoundaryNodeCondition);IFC42.IfcBoundaryNodeConditionWarping=IfcBoundaryNodeConditionWarping;var IfcConnectionGeometry=/*#__PURE__*/function(_IfcLineObject108){_inherits(IfcConnectionGeometry,_IfcLineObject108);var _super815=_createSuper(IfcConnectionGeometry);function IfcConnectionGeometry(expressID){var _this818;_classCallCheck(this,IfcConnectionGeometry);_this818=_super815.call(this,expressID);_this818.type=2859738748;return _this818;}return _createClass(IfcConnectionGeometry);}(IfcLineObject);IFC42.IfcConnectionGeometry=IfcConnectionGeometry;var IfcConnectionPointGeometry=/*#__PURE__*/function(_IfcConnectionGeometr5){_inherits(IfcConnectionPointGeometry,_IfcConnectionGeometr5);var _super816=_createSuper(IfcConnectionPointGeometry);function IfcConnectionPointGeometry(expressID,PointOnRelatingElement,PointOnRelatedElement){var _this819;_classCallCheck(this,IfcConnectionPointGeometry);_this819=_super816.call(this,expressID);_this819.PointOnRelatingElement=PointOnRelatingElement;_this819.PointOnRelatedElement=PointOnRelatedElement;_this819.type=2614616156;return _this819;}return _createClass(IfcConnectionPointGeometry);}(IfcConnectionGeometry);IFC42.IfcConnectionPointGeometry=IfcConnectionPointGeometry;var IfcConnectionSurfaceGeometry=/*#__PURE__*/function(_IfcConnectionGeometr6){_inherits(IfcConnectionSurfaceGeometry,_IfcConnectionGeometr6);var _super817=_createSuper(IfcConnectionSurfaceGeometry);function IfcConnectionSurfaceGeometry(expressID,SurfaceOnRelatingElement,SurfaceOnRelatedElement){var _this820;_classCallCheck(this,IfcConnectionSurfaceGeometry);_this820=_super817.call(this,expressID);_this820.SurfaceOnRelatingElement=SurfaceOnRelatingElement;_this820.SurfaceOnRelatedElement=SurfaceOnRelatedElement;_this820.type=2732653382;return _this820;}return _createClass(IfcConnectionSurfaceGeometry);}(IfcConnectionGeometry);IFC42.IfcConnectionSurfaceGeometry=IfcConnectionSurfaceGeometry;var IfcConnectionVolumeGeometry=/*#__PURE__*/function(_IfcConnectionGeometr7){_inherits(IfcConnectionVolumeGeometry,_IfcConnectionGeometr7);var _super818=_createSuper(IfcConnectionVolumeGeometry);function IfcConnectionVolumeGeometry(expressID,VolumeOnRelatingElement,VolumeOnRelatedElement){var _this821;_classCallCheck(this,IfcConnectionVolumeGeometry);_this821=_super818.call(this,expressID);_this821.VolumeOnRelatingElement=VolumeOnRelatingElement;_this821.VolumeOnRelatedElement=VolumeOnRelatedElement;_this821.type=775493141;return _this821;}return _createClass(IfcConnectionVolumeGeometry);}(IfcConnectionGeometry);IFC42.IfcConnectionVolumeGeometry=IfcConnectionVolumeGeometry;var IfcConstraint=/*#__PURE__*/function(_IfcLineObject109){_inherits(IfcConstraint,_IfcLineObject109);var _super819=_createSuper(IfcConstraint);function IfcConstraint(expressID,Name,Description,ConstraintGrade,ConstraintSource,CreatingActor,CreationTime,UserDefinedGrade){var _this822;_classCallCheck(this,IfcConstraint);_this822=_super819.call(this,expressID);_this822.Name=Name;_this822.Description=Description;_this822.ConstraintGrade=ConstraintGrade;_this822.ConstraintSource=ConstraintSource;_this822.CreatingActor=CreatingActor;_this822.CreationTime=CreationTime;_this822.UserDefinedGrade=UserDefinedGrade;_this822.type=1959218052;return _this822;}return _createClass(IfcConstraint);}(IfcLineObject);IFC42.IfcConstraint=IfcConstraint;var IfcCoordinateOperation=/*#__PURE__*/function(_IfcLineObject110){_inherits(IfcCoordinateOperation,_IfcLineObject110);var _super820=_createSuper(IfcCoordinateOperation);function IfcCoordinateOperation(expressID,SourceCRS,TargetCRS){var _this823;_classCallCheck(this,IfcCoordinateOperation);_this823=_super820.call(this,expressID);_this823.SourceCRS=SourceCRS;_this823.TargetCRS=TargetCRS;_this823.type=1785450214;return _this823;}return _createClass(IfcCoordinateOperation);}(IfcLineObject);IFC42.IfcCoordinateOperation=IfcCoordinateOperation;var IfcCoordinateReferenceSystem=/*#__PURE__*/function(_IfcLineObject111){_inherits(IfcCoordinateReferenceSystem,_IfcLineObject111);var _super821=_createSuper(IfcCoordinateReferenceSystem);function IfcCoordinateReferenceSystem(expressID,Name,Description,GeodeticDatum,VerticalDatum){var _this824;_classCallCheck(this,IfcCoordinateReferenceSystem);_this824=_super821.call(this,expressID);_this824.Name=Name;_this824.Description=Description;_this824.GeodeticDatum=GeodeticDatum;_this824.VerticalDatum=VerticalDatum;_this824.type=1466758467;return _this824;}return _createClass(IfcCoordinateReferenceSystem);}(IfcLineObject);IFC42.IfcCoordinateReferenceSystem=IfcCoordinateReferenceSystem;var IfcCostValue=/*#__PURE__*/function(_IfcAppliedValue3){_inherits(IfcCostValue,_IfcAppliedValue3);var _super822=_createSuper(IfcCostValue);function IfcCostValue(expressID,Name,Description,AppliedValue,UnitBasis,ApplicableDate,FixedUntilDate,Category,Condition,ArithmeticOperator,Components){var _this825;_classCallCheck(this,IfcCostValue);_this825=_super822.call(this,expressID,Name,Description,AppliedValue,UnitBasis,ApplicableDate,FixedUntilDate,Category,Condition,ArithmeticOperator,Components);_this825.Name=Name;_this825.Description=Description;_this825.AppliedValue=AppliedValue;_this825.UnitBasis=UnitBasis;_this825.ApplicableDate=ApplicableDate;_this825.FixedUntilDate=FixedUntilDate;_this825.Category=Category;_this825.Condition=Condition;_this825.ArithmeticOperator=ArithmeticOperator;_this825.Components=Components;_this825.type=602808272;return _this825;}return _createClass(IfcCostValue);}(IfcAppliedValue);IFC42.IfcCostValue=IfcCostValue;var IfcDerivedUnit=/*#__PURE__*/function(_IfcLineObject112){_inherits(IfcDerivedUnit,_IfcLineObject112);var _super823=_createSuper(IfcDerivedUnit);function IfcDerivedUnit(expressID,Elements,UnitType,UserDefinedType){var _this826;_classCallCheck(this,IfcDerivedUnit);_this826=_super823.call(this,expressID);_this826.Elements=Elements;_this826.UnitType=UnitType;_this826.UserDefinedType=UserDefinedType;_this826.type=1765591967;return _this826;}return _createClass(IfcDerivedUnit);}(IfcLineObject);IFC42.IfcDerivedUnit=IfcDerivedUnit;var IfcDerivedUnitElement=/*#__PURE__*/function(_IfcLineObject113){_inherits(IfcDerivedUnitElement,_IfcLineObject113);var _super824=_createSuper(IfcDerivedUnitElement);function IfcDerivedUnitElement(expressID,Unit,Exponent){var _this827;_classCallCheck(this,IfcDerivedUnitElement);_this827=_super824.call(this,expressID);_this827.Unit=Unit;_this827.Exponent=Exponent;_this827.type=1045800335;return _this827;}return _createClass(IfcDerivedUnitElement);}(IfcLineObject);IFC42.IfcDerivedUnitElement=IfcDerivedUnitElement;var IfcDimensionalExponents=/*#__PURE__*/function(_IfcLineObject114){_inherits(IfcDimensionalExponents,_IfcLineObject114);var _super825=_createSuper(IfcDimensionalExponents);function IfcDimensionalExponents(expressID,LengthExponent,MassExponent,TimeExponent,ElectricCurrentExponent,ThermodynamicTemperatureExponent,AmountOfSubstanceExponent,LuminousIntensityExponent){var _this828;_classCallCheck(this,IfcDimensionalExponents);_this828=_super825.call(this,expressID);_this828.LengthExponent=LengthExponent;_this828.MassExponent=MassExponent;_this828.TimeExponent=TimeExponent;_this828.ElectricCurrentExponent=ElectricCurrentExponent;_this828.ThermodynamicTemperatureExponent=ThermodynamicTemperatureExponent;_this828.AmountOfSubstanceExponent=AmountOfSubstanceExponent;_this828.LuminousIntensityExponent=LuminousIntensityExponent;_this828.type=2949456006;return _this828;}return _createClass(IfcDimensionalExponents);}(IfcLineObject);IFC42.IfcDimensionalExponents=IfcDimensionalExponents;var IfcExternalInformation=/*#__PURE__*/function(_IfcLineObject115){_inherits(IfcExternalInformation,_IfcLineObject115);var _super826=_createSuper(IfcExternalInformation);function IfcExternalInformation(expressID){var _this829;_classCallCheck(this,IfcExternalInformation);_this829=_super826.call(this,expressID);_this829.type=4294318154;return _this829;}return _createClass(IfcExternalInformation);}(IfcLineObject);IFC42.IfcExternalInformation=IfcExternalInformation;var IfcExternalReference=/*#__PURE__*/function(_IfcLineObject116){_inherits(IfcExternalReference,_IfcLineObject116);var _super827=_createSuper(IfcExternalReference);function IfcExternalReference(expressID,Location,Identification,Name){var _this830;_classCallCheck(this,IfcExternalReference);_this830=_super827.call(this,expressID);_this830.Location=Location;_this830.Identification=Identification;_this830.Name=Name;_this830.type=3200245327;return _this830;}return _createClass(IfcExternalReference);}(IfcLineObject);IFC42.IfcExternalReference=IfcExternalReference;var IfcExternallyDefinedHatchStyle=/*#__PURE__*/function(_IfcExternalReference8){_inherits(IfcExternallyDefinedHatchStyle,_IfcExternalReference8);var _super828=_createSuper(IfcExternallyDefinedHatchStyle);function IfcExternallyDefinedHatchStyle(expressID,Location,Identification,Name){var _this831;_classCallCheck(this,IfcExternallyDefinedHatchStyle);_this831=_super828.call(this,expressID,Location,Identification,Name);_this831.Location=Location;_this831.Identification=Identification;_this831.Name=Name;_this831.type=2242383968;return _this831;}return _createClass(IfcExternallyDefinedHatchStyle);}(IfcExternalReference);IFC42.IfcExternallyDefinedHatchStyle=IfcExternallyDefinedHatchStyle;var IfcExternallyDefinedSurfaceStyle=/*#__PURE__*/function(_IfcExternalReference9){_inherits(IfcExternallyDefinedSurfaceStyle,_IfcExternalReference9);var _super829=_createSuper(IfcExternallyDefinedSurfaceStyle);function IfcExternallyDefinedSurfaceStyle(expressID,Location,Identification,Name){var _this832;_classCallCheck(this,IfcExternallyDefinedSurfaceStyle);_this832=_super829.call(this,expressID,Location,Identification,Name);_this832.Location=Location;_this832.Identification=Identification;_this832.Name=Name;_this832.type=1040185647;return _this832;}return _createClass(IfcExternallyDefinedSurfaceStyle);}(IfcExternalReference);IFC42.IfcExternallyDefinedSurfaceStyle=IfcExternallyDefinedSurfaceStyle;var IfcExternallyDefinedTextFont=/*#__PURE__*/function(_IfcExternalReference10){_inherits(IfcExternallyDefinedTextFont,_IfcExternalReference10);var _super830=_createSuper(IfcExternallyDefinedTextFont);function IfcExternallyDefinedTextFont(expressID,Location,Identification,Name){var _this833;_classCallCheck(this,IfcExternallyDefinedTextFont);_this833=_super830.call(this,expressID,Location,Identification,Name);_this833.Location=Location;_this833.Identification=Identification;_this833.Name=Name;_this833.type=3548104201;return _this833;}return _createClass(IfcExternallyDefinedTextFont);}(IfcExternalReference);IFC42.IfcExternallyDefinedTextFont=IfcExternallyDefinedTextFont;var IfcGridAxis=/*#__PURE__*/function(_IfcLineObject117){_inherits(IfcGridAxis,_IfcLineObject117);var _super831=_createSuper(IfcGridAxis);function IfcGridAxis(expressID,AxisTag,AxisCurve,SameSense){var _this834;_classCallCheck(this,IfcGridAxis);_this834=_super831.call(this,expressID);_this834.AxisTag=AxisTag;_this834.AxisCurve=AxisCurve;_this834.SameSense=SameSense;_this834.type=852622518;return _this834;}return _createClass(IfcGridAxis);}(IfcLineObject);IFC42.IfcGridAxis=IfcGridAxis;var IfcIrregularTimeSeriesValue=/*#__PURE__*/function(_IfcLineObject118){_inherits(IfcIrregularTimeSeriesValue,_IfcLineObject118);var _super832=_createSuper(IfcIrregularTimeSeriesValue);function IfcIrregularTimeSeriesValue(expressID,TimeStamp,ListValues){var _this835;_classCallCheck(this,IfcIrregularTimeSeriesValue);_this835=_super832.call(this,expressID);_this835.TimeStamp=TimeStamp;_this835.ListValues=ListValues;_this835.type=3020489413;return _this835;}return _createClass(IfcIrregularTimeSeriesValue);}(IfcLineObject);IFC42.IfcIrregularTimeSeriesValue=IfcIrregularTimeSeriesValue;var IfcLibraryInformation=/*#__PURE__*/function(_IfcExternalInformati){_inherits(IfcLibraryInformation,_IfcExternalInformati);var _super833=_createSuper(IfcLibraryInformation);function IfcLibraryInformation(expressID,Name,Version,Publisher,VersionDate,Location,Description){var _this836;_classCallCheck(this,IfcLibraryInformation);_this836=_super833.call(this,expressID);_this836.Name=Name;_this836.Version=Version;_this836.Publisher=Publisher;_this836.VersionDate=VersionDate;_this836.Location=Location;_this836.Description=Description;_this836.type=2655187982;return _this836;}return _createClass(IfcLibraryInformation);}(IfcExternalInformation);IFC42.IfcLibraryInformation=IfcLibraryInformation;var IfcLibraryReference=/*#__PURE__*/function(_IfcExternalReference11){_inherits(IfcLibraryReference,_IfcExternalReference11);var _super834=_createSuper(IfcLibraryReference);function IfcLibraryReference(expressID,Location,Identification,Name,Description,Language,ReferencedLibrary){var _this837;_classCallCheck(this,IfcLibraryReference);_this837=_super834.call(this,expressID,Location,Identification,Name);_this837.Location=Location;_this837.Identification=Identification;_this837.Name=Name;_this837.Description=Description;_this837.Language=Language;_this837.ReferencedLibrary=ReferencedLibrary;_this837.type=3452421091;return _this837;}return _createClass(IfcLibraryReference);}(IfcExternalReference);IFC42.IfcLibraryReference=IfcLibraryReference;var IfcLightDistributionData=/*#__PURE__*/function(_IfcLineObject119){_inherits(IfcLightDistributionData,_IfcLineObject119);var _super835=_createSuper(IfcLightDistributionData);function IfcLightDistributionData(expressID,MainPlaneAngle,SecondaryPlaneAngle,LuminousIntensity){var _this838;_classCallCheck(this,IfcLightDistributionData);_this838=_super835.call(this,expressID);_this838.MainPlaneAngle=MainPlaneAngle;_this838.SecondaryPlaneAngle=SecondaryPlaneAngle;_this838.LuminousIntensity=LuminousIntensity;_this838.type=4162380809;return _this838;}return _createClass(IfcLightDistributionData);}(IfcLineObject);IFC42.IfcLightDistributionData=IfcLightDistributionData;var IfcLightIntensityDistribution=/*#__PURE__*/function(_IfcLineObject120){_inherits(IfcLightIntensityDistribution,_IfcLineObject120);var _super836=_createSuper(IfcLightIntensityDistribution);function IfcLightIntensityDistribution(expressID,LightDistributionCurve,DistributionData){var _this839;_classCallCheck(this,IfcLightIntensityDistribution);_this839=_super836.call(this,expressID);_this839.LightDistributionCurve=LightDistributionCurve;_this839.DistributionData=DistributionData;_this839.type=1566485204;return _this839;}return _createClass(IfcLightIntensityDistribution);}(IfcLineObject);IFC42.IfcLightIntensityDistribution=IfcLightIntensityDistribution;var IfcMapConversion=/*#__PURE__*/function(_IfcCoordinateOperati){_inherits(IfcMapConversion,_IfcCoordinateOperati);var _super837=_createSuper(IfcMapConversion);function IfcMapConversion(expressID,SourceCRS,TargetCRS,Eastings,Northings,OrthogonalHeight,XAxisAbscissa,XAxisOrdinate,Scale){var _this840;_classCallCheck(this,IfcMapConversion);_this840=_super837.call(this,expressID,SourceCRS,TargetCRS);_this840.SourceCRS=SourceCRS;_this840.TargetCRS=TargetCRS;_this840.Eastings=Eastings;_this840.Northings=Northings;_this840.OrthogonalHeight=OrthogonalHeight;_this840.XAxisAbscissa=XAxisAbscissa;_this840.XAxisOrdinate=XAxisOrdinate;_this840.Scale=Scale;_this840.type=3057273783;return _this840;}return _createClass(IfcMapConversion);}(IfcCoordinateOperation);IFC42.IfcMapConversion=IfcMapConversion;var IfcMaterialClassificationRelationship=/*#__PURE__*/function(_IfcLineObject121){_inherits(IfcMaterialClassificationRelationship,_IfcLineObject121);var _super838=_createSuper(IfcMaterialClassificationRelationship);function IfcMaterialClassificationRelationship(expressID,MaterialClassifications,ClassifiedMaterial){var _this841;_classCallCheck(this,IfcMaterialClassificationRelationship);_this841=_super838.call(this,expressID);_this841.MaterialClassifications=MaterialClassifications;_this841.ClassifiedMaterial=ClassifiedMaterial;_this841.type=1847130766;return _this841;}return _createClass(IfcMaterialClassificationRelationship);}(IfcLineObject);IFC42.IfcMaterialClassificationRelationship=IfcMaterialClassificationRelationship;var IfcMaterialDefinition=/*#__PURE__*/function(_IfcLineObject122){_inherits(IfcMaterialDefinition,_IfcLineObject122);var _super839=_createSuper(IfcMaterialDefinition);function IfcMaterialDefinition(expressID){var _this842;_classCallCheck(this,IfcMaterialDefinition);_this842=_super839.call(this,expressID);_this842.type=760658860;return _this842;}return _createClass(IfcMaterialDefinition);}(IfcLineObject);IFC42.IfcMaterialDefinition=IfcMaterialDefinition;var IfcMaterialLayer=/*#__PURE__*/function(_IfcMaterialDefinitio){_inherits(IfcMaterialLayer,_IfcMaterialDefinitio);var _super840=_createSuper(IfcMaterialLayer);function IfcMaterialLayer(expressID,Material,LayerThickness,IsVentilated,Name,Description,Category,Priority){var _this843;_classCallCheck(this,IfcMaterialLayer);_this843=_super840.call(this,expressID);_this843.Material=Material;_this843.LayerThickness=LayerThickness;_this843.IsVentilated=IsVentilated;_this843.Name=Name;_this843.Description=Description;_this843.Category=Category;_this843.Priority=Priority;_this843.type=248100487;return _this843;}return _createClass(IfcMaterialLayer);}(IfcMaterialDefinition);IFC42.IfcMaterialLayer=IfcMaterialLayer;var IfcMaterialLayerSet=/*#__PURE__*/function(_IfcMaterialDefinitio2){_inherits(IfcMaterialLayerSet,_IfcMaterialDefinitio2);var _super841=_createSuper(IfcMaterialLayerSet);function IfcMaterialLayerSet(expressID,MaterialLayers,LayerSetName,Description){var _this844;_classCallCheck(this,IfcMaterialLayerSet);_this844=_super841.call(this,expressID);_this844.MaterialLayers=MaterialLayers;_this844.LayerSetName=LayerSetName;_this844.Description=Description;_this844.type=3303938423;return _this844;}return _createClass(IfcMaterialLayerSet);}(IfcMaterialDefinition);IFC42.IfcMaterialLayerSet=IfcMaterialLayerSet;var IfcMaterialLayerWithOffsets=/*#__PURE__*/function(_IfcMaterialLayer){_inherits(IfcMaterialLayerWithOffsets,_IfcMaterialLayer);var _super842=_createSuper(IfcMaterialLayerWithOffsets);function IfcMaterialLayerWithOffsets(expressID,Material,LayerThickness,IsVentilated,Name,Description,Category,Priority,OffsetDirection,OffsetValues){var _this845;_classCallCheck(this,IfcMaterialLayerWithOffsets);_this845=_super842.call(this,expressID,Material,LayerThickness,IsVentilated,Name,Description,Category,Priority);_this845.Material=Material;_this845.LayerThickness=LayerThickness;_this845.IsVentilated=IsVentilated;_this845.Name=Name;_this845.Description=Description;_this845.Category=Category;_this845.Priority=Priority;_this845.OffsetDirection=OffsetDirection;_this845.OffsetValues=OffsetValues;_this845.type=1847252529;return _this845;}return _createClass(IfcMaterialLayerWithOffsets);}(IfcMaterialLayer);IFC42.IfcMaterialLayerWithOffsets=IfcMaterialLayerWithOffsets;var IfcMaterialList=/*#__PURE__*/function(_IfcLineObject123){_inherits(IfcMaterialList,_IfcLineObject123);var _super843=_createSuper(IfcMaterialList);function IfcMaterialList(expressID,Materials){var _this846;_classCallCheck(this,IfcMaterialList);_this846=_super843.call(this,expressID);_this846.Materials=Materials;_this846.type=2199411900;return _this846;}return _createClass(IfcMaterialList);}(IfcLineObject);IFC42.IfcMaterialList=IfcMaterialList;var IfcMaterialProfile=/*#__PURE__*/function(_IfcMaterialDefinitio3){_inherits(IfcMaterialProfile,_IfcMaterialDefinitio3);var _super844=_createSuper(IfcMaterialProfile);function IfcMaterialProfile(expressID,Name,Description,Material,Profile,Priority,Category){var _this847;_classCallCheck(this,IfcMaterialProfile);_this847=_super844.call(this,expressID);_this847.Name=Name;_this847.Description=Description;_this847.Material=Material;_this847.Profile=Profile;_this847.Priority=Priority;_this847.Category=Category;_this847.type=2235152071;return _this847;}return _createClass(IfcMaterialProfile);}(IfcMaterialDefinition);IFC42.IfcMaterialProfile=IfcMaterialProfile;var IfcMaterialProfileSet=/*#__PURE__*/function(_IfcMaterialDefinitio4){_inherits(IfcMaterialProfileSet,_IfcMaterialDefinitio4);var _super845=_createSuper(IfcMaterialProfileSet);function IfcMaterialProfileSet(expressID,Name,Description,MaterialProfiles,CompositeProfile){var _this848;_classCallCheck(this,IfcMaterialProfileSet);_this848=_super845.call(this,expressID);_this848.Name=Name;_this848.Description=Description;_this848.MaterialProfiles=MaterialProfiles;_this848.CompositeProfile=CompositeProfile;_this848.type=164193824;return _this848;}return _createClass(IfcMaterialProfileSet);}(IfcMaterialDefinition);IFC42.IfcMaterialProfileSet=IfcMaterialProfileSet;var IfcMaterialProfileWithOffsets=/*#__PURE__*/function(_IfcMaterialProfile){_inherits(IfcMaterialProfileWithOffsets,_IfcMaterialProfile);var _super846=_createSuper(IfcMaterialProfileWithOffsets);function IfcMaterialProfileWithOffsets(expressID,Name,Description,Material,Profile,Priority,Category,OffsetValues){var _this849;_classCallCheck(this,IfcMaterialProfileWithOffsets);_this849=_super846.call(this,expressID,Name,Description,Material,Profile,Priority,Category);_this849.Name=Name;_this849.Description=Description;_this849.Material=Material;_this849.Profile=Profile;_this849.Priority=Priority;_this849.Category=Category;_this849.OffsetValues=OffsetValues;_this849.type=552965576;return _this849;}return _createClass(IfcMaterialProfileWithOffsets);}(IfcMaterialProfile);IFC42.IfcMaterialProfileWithOffsets=IfcMaterialProfileWithOffsets;var IfcMaterialUsageDefinition=/*#__PURE__*/function(_IfcLineObject124){_inherits(IfcMaterialUsageDefinition,_IfcLineObject124);var _super847=_createSuper(IfcMaterialUsageDefinition);function IfcMaterialUsageDefinition(expressID){var _this850;_classCallCheck(this,IfcMaterialUsageDefinition);_this850=_super847.call(this,expressID);_this850.type=1507914824;return _this850;}return _createClass(IfcMaterialUsageDefinition);}(IfcLineObject);IFC42.IfcMaterialUsageDefinition=IfcMaterialUsageDefinition;var IfcMeasureWithUnit=/*#__PURE__*/function(_IfcLineObject125){_inherits(IfcMeasureWithUnit,_IfcLineObject125);var _super848=_createSuper(IfcMeasureWithUnit);function IfcMeasureWithUnit(expressID,ValueComponent,UnitComponent){var _this851;_classCallCheck(this,IfcMeasureWithUnit);_this851=_super848.call(this,expressID);_this851.ValueComponent=ValueComponent;_this851.UnitComponent=UnitComponent;_this851.type=2597039031;return _this851;}return _createClass(IfcMeasureWithUnit);}(IfcLineObject);IFC42.IfcMeasureWithUnit=IfcMeasureWithUnit;var IfcMetric=/*#__PURE__*/function(_IfcConstraint3){_inherits(IfcMetric,_IfcConstraint3);var _super849=_createSuper(IfcMetric);function IfcMetric(expressID,Name,Description,ConstraintGrade,ConstraintSource,CreatingActor,CreationTime,UserDefinedGrade,Benchmark,ValueSource,DataValue,ReferencePath){var _this852;_classCallCheck(this,IfcMetric);_this852=_super849.call(this,expressID,Name,Description,ConstraintGrade,ConstraintSource,CreatingActor,CreationTime,UserDefinedGrade);_this852.Name=Name;_this852.Description=Description;_this852.ConstraintGrade=ConstraintGrade;_this852.ConstraintSource=ConstraintSource;_this852.CreatingActor=CreatingActor;_this852.CreationTime=CreationTime;_this852.UserDefinedGrade=UserDefinedGrade;_this852.Benchmark=Benchmark;_this852.ValueSource=ValueSource;_this852.DataValue=DataValue;_this852.ReferencePath=ReferencePath;_this852.type=3368373690;return _this852;}return _createClass(IfcMetric);}(IfcConstraint);IFC42.IfcMetric=IfcMetric;var IfcMonetaryUnit=/*#__PURE__*/function(_IfcLineObject126){_inherits(IfcMonetaryUnit,_IfcLineObject126);var _super850=_createSuper(IfcMonetaryUnit);function IfcMonetaryUnit(expressID,Currency){var _this853;_classCallCheck(this,IfcMonetaryUnit);_this853=_super850.call(this,expressID);_this853.Currency=Currency;_this853.type=2706619895;return _this853;}return _createClass(IfcMonetaryUnit);}(IfcLineObject);IFC42.IfcMonetaryUnit=IfcMonetaryUnit;var IfcNamedUnit=/*#__PURE__*/function(_IfcLineObject127){_inherits(IfcNamedUnit,_IfcLineObject127);var _super851=_createSuper(IfcNamedUnit);function IfcNamedUnit(expressID,Dimensions,UnitType){var _this854;_classCallCheck(this,IfcNamedUnit);_this854=_super851.call(this,expressID);_this854.Dimensions=Dimensions;_this854.UnitType=UnitType;_this854.type=1918398963;return _this854;}return _createClass(IfcNamedUnit);}(IfcLineObject);IFC42.IfcNamedUnit=IfcNamedUnit;var IfcObjectPlacement=/*#__PURE__*/function(_IfcLineObject128){_inherits(IfcObjectPlacement,_IfcLineObject128);var _super852=_createSuper(IfcObjectPlacement);function IfcObjectPlacement(expressID){var _this855;_classCallCheck(this,IfcObjectPlacement);_this855=_super852.call(this,expressID);_this855.type=3701648758;return _this855;}return _createClass(IfcObjectPlacement);}(IfcLineObject);IFC42.IfcObjectPlacement=IfcObjectPlacement;var IfcObjective=/*#__PURE__*/function(_IfcConstraint4){_inherits(IfcObjective,_IfcConstraint4);var _super853=_createSuper(IfcObjective);function IfcObjective(expressID,Name,Description,ConstraintGrade,ConstraintSource,CreatingActor,CreationTime,UserDefinedGrade,BenchmarkValues,LogicalAggregator,ObjectiveQualifier,UserDefinedQualifier){var _this856;_classCallCheck(this,IfcObjective);_this856=_super853.call(this,expressID,Name,Description,ConstraintGrade,ConstraintSource,CreatingActor,CreationTime,UserDefinedGrade);_this856.Name=Name;_this856.Description=Description;_this856.ConstraintGrade=ConstraintGrade;_this856.ConstraintSource=ConstraintSource;_this856.CreatingActor=CreatingActor;_this856.CreationTime=CreationTime;_this856.UserDefinedGrade=UserDefinedGrade;_this856.BenchmarkValues=BenchmarkValues;_this856.LogicalAggregator=LogicalAggregator;_this856.ObjectiveQualifier=ObjectiveQualifier;_this856.UserDefinedQualifier=UserDefinedQualifier;_this856.type=2251480897;return _this856;}return _createClass(IfcObjective);}(IfcConstraint);IFC42.IfcObjective=IfcObjective;var IfcOrganization=/*#__PURE__*/function(_IfcLineObject129){_inherits(IfcOrganization,_IfcLineObject129);var _super854=_createSuper(IfcOrganization);function IfcOrganization(expressID,Identification,Name,Description,Roles,Addresses){var _this857;_classCallCheck(this,IfcOrganization);_this857=_super854.call(this,expressID);_this857.Identification=Identification;_this857.Name=Name;_this857.Description=Description;_this857.Roles=Roles;_this857.Addresses=Addresses;_this857.type=4251960020;return _this857;}return _createClass(IfcOrganization);}(IfcLineObject);IFC42.IfcOrganization=IfcOrganization;var IfcOwnerHistory=/*#__PURE__*/function(_IfcLineObject130){_inherits(IfcOwnerHistory,_IfcLineObject130);var _super855=_createSuper(IfcOwnerHistory);function IfcOwnerHistory(expressID,OwningUser,OwningApplication,State,ChangeAction,LastModifiedDate,LastModifyingUser,LastModifyingApplication,CreationDate){var _this858;_classCallCheck(this,IfcOwnerHistory);_this858=_super855.call(this,expressID);_this858.OwningUser=OwningUser;_this858.OwningApplication=OwningApplication;_this858.State=State;_this858.ChangeAction=ChangeAction;_this858.LastModifiedDate=LastModifiedDate;_this858.LastModifyingUser=LastModifyingUser;_this858.LastModifyingApplication=LastModifyingApplication;_this858.CreationDate=CreationDate;_this858.type=1207048766;return _this858;}return _createClass(IfcOwnerHistory);}(IfcLineObject);IFC42.IfcOwnerHistory=IfcOwnerHistory;var IfcPerson=/*#__PURE__*/function(_IfcLineObject131){_inherits(IfcPerson,_IfcLineObject131);var _super856=_createSuper(IfcPerson);function IfcPerson(expressID,Identification,FamilyName,GivenName,MiddleNames,PrefixTitles,SuffixTitles,Roles,Addresses){var _this859;_classCallCheck(this,IfcPerson);_this859=_super856.call(this,expressID);_this859.Identification=Identification;_this859.FamilyName=FamilyName;_this859.GivenName=GivenName;_this859.MiddleNames=MiddleNames;_this859.PrefixTitles=PrefixTitles;_this859.SuffixTitles=SuffixTitles;_this859.Roles=Roles;_this859.Addresses=Addresses;_this859.type=2077209135;return _this859;}return _createClass(IfcPerson);}(IfcLineObject);IFC42.IfcPerson=IfcPerson;var IfcPersonAndOrganization=/*#__PURE__*/function(_IfcLineObject132){_inherits(IfcPersonAndOrganization,_IfcLineObject132);var _super857=_createSuper(IfcPersonAndOrganization);function IfcPersonAndOrganization(expressID,ThePerson,TheOrganization,Roles){var _this860;_classCallCheck(this,IfcPersonAndOrganization);_this860=_super857.call(this,expressID);_this860.ThePerson=ThePerson;_this860.TheOrganization=TheOrganization;_this860.Roles=Roles;_this860.type=101040310;return _this860;}return _createClass(IfcPersonAndOrganization);}(IfcLineObject);IFC42.IfcPersonAndOrganization=IfcPersonAndOrganization;var IfcPhysicalQuantity=/*#__PURE__*/function(_IfcLineObject133){_inherits(IfcPhysicalQuantity,_IfcLineObject133);var _super858=_createSuper(IfcPhysicalQuantity);function IfcPhysicalQuantity(expressID,Name,Description){var _this861;_classCallCheck(this,IfcPhysicalQuantity);_this861=_super858.call(this,expressID);_this861.Name=Name;_this861.Description=Description;_this861.type=2483315170;return _this861;}return _createClass(IfcPhysicalQuantity);}(IfcLineObject);IFC42.IfcPhysicalQuantity=IfcPhysicalQuantity;var IfcPhysicalSimpleQuantity=/*#__PURE__*/function(_IfcPhysicalQuantity3){_inherits(IfcPhysicalSimpleQuantity,_IfcPhysicalQuantity3);var _super859=_createSuper(IfcPhysicalSimpleQuantity);function IfcPhysicalSimpleQuantity(expressID,Name,Description,Unit){var _this862;_classCallCheck(this,IfcPhysicalSimpleQuantity);_this862=_super859.call(this,expressID,Name,Description);_this862.Name=Name;_this862.Description=Description;_this862.Unit=Unit;_this862.type=2226359599;return _this862;}return _createClass(IfcPhysicalSimpleQuantity);}(IfcPhysicalQuantity);IFC42.IfcPhysicalSimpleQuantity=IfcPhysicalSimpleQuantity;var IfcPostalAddress=/*#__PURE__*/function(_IfcAddress3){_inherits(IfcPostalAddress,_IfcAddress3);var _super860=_createSuper(IfcPostalAddress);function IfcPostalAddress(expressID,Purpose,Description,UserDefinedPurpose,InternalLocation,AddressLines,PostalBox,Town,Region,PostalCode,Country){var _this863;_classCallCheck(this,IfcPostalAddress);_this863=_super860.call(this,expressID,Purpose,Description,UserDefinedPurpose);_this863.Purpose=Purpose;_this863.Description=Description;_this863.UserDefinedPurpose=UserDefinedPurpose;_this863.InternalLocation=InternalLocation;_this863.AddressLines=AddressLines;_this863.PostalBox=PostalBox;_this863.Town=Town;_this863.Region=Region;_this863.PostalCode=PostalCode;_this863.Country=Country;_this863.type=3355820592;return _this863;}return _createClass(IfcPostalAddress);}(IfcAddress);IFC42.IfcPostalAddress=IfcPostalAddress;var IfcPresentationItem=/*#__PURE__*/function(_IfcLineObject134){_inherits(IfcPresentationItem,_IfcLineObject134);var _super861=_createSuper(IfcPresentationItem);function IfcPresentationItem(expressID){var _this864;_classCallCheck(this,IfcPresentationItem);_this864=_super861.call(this,expressID);_this864.type=677532197;return _this864;}return _createClass(IfcPresentationItem);}(IfcLineObject);IFC42.IfcPresentationItem=IfcPresentationItem;var IfcPresentationLayerAssignment=/*#__PURE__*/function(_IfcLineObject135){_inherits(IfcPresentationLayerAssignment,_IfcLineObject135);var _super862=_createSuper(IfcPresentationLayerAssignment);function IfcPresentationLayerAssignment(expressID,Name,Description,AssignedItems,Identifier){var _this865;_classCallCheck(this,IfcPresentationLayerAssignment);_this865=_super862.call(this,expressID);_this865.Name=Name;_this865.Description=Description;_this865.AssignedItems=AssignedItems;_this865.Identifier=Identifier;_this865.type=2022622350;return _this865;}return _createClass(IfcPresentationLayerAssignment);}(IfcLineObject);IFC42.IfcPresentationLayerAssignment=IfcPresentationLayerAssignment;var IfcPresentationLayerWithStyle=/*#__PURE__*/function(_IfcPresentationLayer2){_inherits(IfcPresentationLayerWithStyle,_IfcPresentationLayer2);var _super863=_createSuper(IfcPresentationLayerWithStyle);function IfcPresentationLayerWithStyle(expressID,Name,Description,AssignedItems,Identifier,LayerOn,LayerFrozen,LayerBlocked,LayerStyles){var _this866;_classCallCheck(this,IfcPresentationLayerWithStyle);_this866=_super863.call(this,expressID,Name,Description,AssignedItems,Identifier);_this866.Name=Name;_this866.Description=Description;_this866.AssignedItems=AssignedItems;_this866.Identifier=Identifier;_this866.LayerOn=LayerOn;_this866.LayerFrozen=LayerFrozen;_this866.LayerBlocked=LayerBlocked;_this866.LayerStyles=LayerStyles;_this866.type=1304840413;return _this866;}return _createClass(IfcPresentationLayerWithStyle);}(IfcPresentationLayerAssignment);IFC42.IfcPresentationLayerWithStyle=IfcPresentationLayerWithStyle;var IfcPresentationStyle=/*#__PURE__*/function(_IfcLineObject136){_inherits(IfcPresentationStyle,_IfcLineObject136);var _super864=_createSuper(IfcPresentationStyle);function IfcPresentationStyle(expressID,Name){var _this867;_classCallCheck(this,IfcPresentationStyle);_this867=_super864.call(this,expressID);_this867.Name=Name;_this867.type=3119450353;return _this867;}return _createClass(IfcPresentationStyle);}(IfcLineObject);IFC42.IfcPresentationStyle=IfcPresentationStyle;var IfcPresentationStyleAssignment=/*#__PURE__*/function(_IfcLineObject137){_inherits(IfcPresentationStyleAssignment,_IfcLineObject137);var _super865=_createSuper(IfcPresentationStyleAssignment);function IfcPresentationStyleAssignment(expressID,Styles){var _this868;_classCallCheck(this,IfcPresentationStyleAssignment);_this868=_super865.call(this,expressID);_this868.Styles=Styles;_this868.type=2417041796;return _this868;}return _createClass(IfcPresentationStyleAssignment);}(IfcLineObject);IFC42.IfcPresentationStyleAssignment=IfcPresentationStyleAssignment;var IfcProductRepresentation=/*#__PURE__*/function(_IfcLineObject138){_inherits(IfcProductRepresentation,_IfcLineObject138);var _super866=_createSuper(IfcProductRepresentation);function IfcProductRepresentation(expressID,Name,Description,Representations){var _this869;_classCallCheck(this,IfcProductRepresentation);_this869=_super866.call(this,expressID);_this869.Name=Name;_this869.Description=Description;_this869.Representations=Representations;_this869.type=2095639259;return _this869;}return _createClass(IfcProductRepresentation);}(IfcLineObject);IFC42.IfcProductRepresentation=IfcProductRepresentation;var IfcProfileDef=/*#__PURE__*/function(_IfcLineObject139){_inherits(IfcProfileDef,_IfcLineObject139);var _super867=_createSuper(IfcProfileDef);function IfcProfileDef(expressID,ProfileType,ProfileName){var _this870;_classCallCheck(this,IfcProfileDef);_this870=_super867.call(this,expressID);_this870.ProfileType=ProfileType;_this870.ProfileName=ProfileName;_this870.type=3958567839;return _this870;}return _createClass(IfcProfileDef);}(IfcLineObject);IFC42.IfcProfileDef=IfcProfileDef;var IfcProjectedCRS=/*#__PURE__*/function(_IfcCoordinateReferen){_inherits(IfcProjectedCRS,_IfcCoordinateReferen);var _super868=_createSuper(IfcProjectedCRS);function IfcProjectedCRS(expressID,Name,Description,GeodeticDatum,VerticalDatum,MapProjection,MapZone,MapUnit){var _this871;_classCallCheck(this,IfcProjectedCRS);_this871=_super868.call(this,expressID,Name,Description,GeodeticDatum,VerticalDatum);_this871.Name=Name;_this871.Description=Description;_this871.GeodeticDatum=GeodeticDatum;_this871.VerticalDatum=VerticalDatum;_this871.MapProjection=MapProjection;_this871.MapZone=MapZone;_this871.MapUnit=MapUnit;_this871.type=3843373140;return _this871;}return _createClass(IfcProjectedCRS);}(IfcCoordinateReferenceSystem);IFC42.IfcProjectedCRS=IfcProjectedCRS;var IfcPropertyAbstraction=/*#__PURE__*/function(_IfcLineObject140){_inherits(IfcPropertyAbstraction,_IfcLineObject140);var _super869=_createSuper(IfcPropertyAbstraction);function IfcPropertyAbstraction(expressID){var _this872;_classCallCheck(this,IfcPropertyAbstraction);_this872=_super869.call(this,expressID);_this872.type=986844984;return _this872;}return _createClass(IfcPropertyAbstraction);}(IfcLineObject);IFC42.IfcPropertyAbstraction=IfcPropertyAbstraction;var IfcPropertyEnumeration=/*#__PURE__*/function(_IfcPropertyAbstracti){_inherits(IfcPropertyEnumeration,_IfcPropertyAbstracti);var _super870=_createSuper(IfcPropertyEnumeration);function IfcPropertyEnumeration(expressID,Name,EnumerationValues,Unit){var _this873;_classCallCheck(this,IfcPropertyEnumeration);_this873=_super870.call(this,expressID);_this873.Name=Name;_this873.EnumerationValues=EnumerationValues;_this873.Unit=Unit;_this873.type=3710013099;return _this873;}return _createClass(IfcPropertyEnumeration);}(IfcPropertyAbstraction);IFC42.IfcPropertyEnumeration=IfcPropertyEnumeration;var IfcQuantityArea=/*#__PURE__*/function(_IfcPhysicalSimpleQua7){_inherits(IfcQuantityArea,_IfcPhysicalSimpleQua7);var _super871=_createSuper(IfcQuantityArea);function IfcQuantityArea(expressID,Name,Description,Unit,AreaValue,Formula){var _this874;_classCallCheck(this,IfcQuantityArea);_this874=_super871.call(this,expressID,Name,Description,Unit);_this874.Name=Name;_this874.Description=Description;_this874.Unit=Unit;_this874.AreaValue=AreaValue;_this874.Formula=Formula;_this874.type=2044713172;return _this874;}return _createClass(IfcQuantityArea);}(IfcPhysicalSimpleQuantity);IFC42.IfcQuantityArea=IfcQuantityArea;var IfcQuantityCount=/*#__PURE__*/function(_IfcPhysicalSimpleQua8){_inherits(IfcQuantityCount,_IfcPhysicalSimpleQua8);var _super872=_createSuper(IfcQuantityCount);function IfcQuantityCount(expressID,Name,Description,Unit,CountValue,Formula){var _this875;_classCallCheck(this,IfcQuantityCount);_this875=_super872.call(this,expressID,Name,Description,Unit);_this875.Name=Name;_this875.Description=Description;_this875.Unit=Unit;_this875.CountValue=CountValue;_this875.Formula=Formula;_this875.type=2093928680;return _this875;}return _createClass(IfcQuantityCount);}(IfcPhysicalSimpleQuantity);IFC42.IfcQuantityCount=IfcQuantityCount;var IfcQuantityLength=/*#__PURE__*/function(_IfcPhysicalSimpleQua9){_inherits(IfcQuantityLength,_IfcPhysicalSimpleQua9);var _super873=_createSuper(IfcQuantityLength);function IfcQuantityLength(expressID,Name,Description,Unit,LengthValue,Formula){var _this876;_classCallCheck(this,IfcQuantityLength);_this876=_super873.call(this,expressID,Name,Description,Unit);_this876.Name=Name;_this876.Description=Description;_this876.Unit=Unit;_this876.LengthValue=LengthValue;_this876.Formula=Formula;_this876.type=931644368;return _this876;}return _createClass(IfcQuantityLength);}(IfcPhysicalSimpleQuantity);IFC42.IfcQuantityLength=IfcQuantityLength;var IfcQuantityTime=/*#__PURE__*/function(_IfcPhysicalSimpleQua10){_inherits(IfcQuantityTime,_IfcPhysicalSimpleQua10);var _super874=_createSuper(IfcQuantityTime);function IfcQuantityTime(expressID,Name,Description,Unit,TimeValue,Formula){var _this877;_classCallCheck(this,IfcQuantityTime);_this877=_super874.call(this,expressID,Name,Description,Unit);_this877.Name=Name;_this877.Description=Description;_this877.Unit=Unit;_this877.TimeValue=TimeValue;_this877.Formula=Formula;_this877.type=3252649465;return _this877;}return _createClass(IfcQuantityTime);}(IfcPhysicalSimpleQuantity);IFC42.IfcQuantityTime=IfcQuantityTime;var IfcQuantityVolume=/*#__PURE__*/function(_IfcPhysicalSimpleQua11){_inherits(IfcQuantityVolume,_IfcPhysicalSimpleQua11);var _super875=_createSuper(IfcQuantityVolume);function IfcQuantityVolume(expressID,Name,Description,Unit,VolumeValue,Formula){var _this878;_classCallCheck(this,IfcQuantityVolume);_this878=_super875.call(this,expressID,Name,Description,Unit);_this878.Name=Name;_this878.Description=Description;_this878.Unit=Unit;_this878.VolumeValue=VolumeValue;_this878.Formula=Formula;_this878.type=2405470396;return _this878;}return _createClass(IfcQuantityVolume);}(IfcPhysicalSimpleQuantity);IFC42.IfcQuantityVolume=IfcQuantityVolume;var IfcQuantityWeight=/*#__PURE__*/function(_IfcPhysicalSimpleQua12){_inherits(IfcQuantityWeight,_IfcPhysicalSimpleQua12);var _super876=_createSuper(IfcQuantityWeight);function IfcQuantityWeight(expressID,Name,Description,Unit,WeightValue,Formula){var _this879;_classCallCheck(this,IfcQuantityWeight);_this879=_super876.call(this,expressID,Name,Description,Unit);_this879.Name=Name;_this879.Description=Description;_this879.Unit=Unit;_this879.WeightValue=WeightValue;_this879.Formula=Formula;_this879.type=825690147;return _this879;}return _createClass(IfcQuantityWeight);}(IfcPhysicalSimpleQuantity);IFC42.IfcQuantityWeight=IfcQuantityWeight;var IfcRecurrencePattern=/*#__PURE__*/function(_IfcLineObject141){_inherits(IfcRecurrencePattern,_IfcLineObject141);var _super877=_createSuper(IfcRecurrencePattern);function IfcRecurrencePattern(expressID,RecurrenceType,DayComponent,WeekdayComponent,MonthComponent,Position,Interval,Occurrences,TimePeriods){var _this880;_classCallCheck(this,IfcRecurrencePattern);_this880=_super877.call(this,expressID);_this880.RecurrenceType=RecurrenceType;_this880.DayComponent=DayComponent;_this880.WeekdayComponent=WeekdayComponent;_this880.MonthComponent=MonthComponent;_this880.Position=Position;_this880.Interval=Interval;_this880.Occurrences=Occurrences;_this880.TimePeriods=TimePeriods;_this880.type=3915482550;return _this880;}return _createClass(IfcRecurrencePattern);}(IfcLineObject);IFC42.IfcRecurrencePattern=IfcRecurrencePattern;var IfcReference=/*#__PURE__*/function(_IfcLineObject142){_inherits(IfcReference,_IfcLineObject142);var _super878=_createSuper(IfcReference);function IfcReference(expressID,TypeIdentifier,AttributeIdentifier,InstanceName,ListPositions,InnerReference){var _this881;_classCallCheck(this,IfcReference);_this881=_super878.call(this,expressID);_this881.TypeIdentifier=TypeIdentifier;_this881.AttributeIdentifier=AttributeIdentifier;_this881.InstanceName=InstanceName;_this881.ListPositions=ListPositions;_this881.InnerReference=InnerReference;_this881.type=2433181523;return _this881;}return _createClass(IfcReference);}(IfcLineObject);IFC42.IfcReference=IfcReference;var IfcRepresentation=/*#__PURE__*/function(_IfcLineObject143){_inherits(IfcRepresentation,_IfcLineObject143);var _super879=_createSuper(IfcRepresentation);function IfcRepresentation(expressID,ContextOfItems,RepresentationIdentifier,RepresentationType,Items){var _this882;_classCallCheck(this,IfcRepresentation);_this882=_super879.call(this,expressID);_this882.ContextOfItems=ContextOfItems;_this882.RepresentationIdentifier=RepresentationIdentifier;_this882.RepresentationType=RepresentationType;_this882.Items=Items;_this882.type=1076942058;return _this882;}return _createClass(IfcRepresentation);}(IfcLineObject);IFC42.IfcRepresentation=IfcRepresentation;var IfcRepresentationContext=/*#__PURE__*/function(_IfcLineObject144){_inherits(IfcRepresentationContext,_IfcLineObject144);var _super880=_createSuper(IfcRepresentationContext);function IfcRepresentationContext(expressID,ContextIdentifier,ContextType){var _this883;_classCallCheck(this,IfcRepresentationContext);_this883=_super880.call(this,expressID);_this883.ContextIdentifier=ContextIdentifier;_this883.ContextType=ContextType;_this883.type=3377609919;return _this883;}return _createClass(IfcRepresentationContext);}(IfcLineObject);IFC42.IfcRepresentationContext=IfcRepresentationContext;var IfcRepresentationItem=/*#__PURE__*/function(_IfcLineObject145){_inherits(IfcRepresentationItem,_IfcLineObject145);var _super881=_createSuper(IfcRepresentationItem);function IfcRepresentationItem(expressID){var _this884;_classCallCheck(this,IfcRepresentationItem);_this884=_super881.call(this,expressID);_this884.type=3008791417;return _this884;}return _createClass(IfcRepresentationItem);}(IfcLineObject);IFC42.IfcRepresentationItem=IfcRepresentationItem;var IfcRepresentationMap=/*#__PURE__*/function(_IfcLineObject146){_inherits(IfcRepresentationMap,_IfcLineObject146);var _super882=_createSuper(IfcRepresentationMap);function IfcRepresentationMap(expressID,MappingOrigin,MappedRepresentation){var _this885;_classCallCheck(this,IfcRepresentationMap);_this885=_super882.call(this,expressID);_this885.MappingOrigin=MappingOrigin;_this885.MappedRepresentation=MappedRepresentation;_this885.type=1660063152;return _this885;}return _createClass(IfcRepresentationMap);}(IfcLineObject);IFC42.IfcRepresentationMap=IfcRepresentationMap;var IfcResourceLevelRelationship=/*#__PURE__*/function(_IfcLineObject147){_inherits(IfcResourceLevelRelationship,_IfcLineObject147);var _super883=_createSuper(IfcResourceLevelRelationship);function IfcResourceLevelRelationship(expressID,Name,Description){var _this886;_classCallCheck(this,IfcResourceLevelRelationship);_this886=_super883.call(this,expressID);_this886.Name=Name;_this886.Description=Description;_this886.type=2439245199;return _this886;}return _createClass(IfcResourceLevelRelationship);}(IfcLineObject);IFC42.IfcResourceLevelRelationship=IfcResourceLevelRelationship;var IfcRoot=/*#__PURE__*/function(_IfcLineObject148){_inherits(IfcRoot,_IfcLineObject148);var _super884=_createSuper(IfcRoot);function IfcRoot(expressID,GlobalId,OwnerHistory,Name,Description){var _this887;_classCallCheck(this,IfcRoot);_this887=_super884.call(this,expressID);_this887.GlobalId=GlobalId;_this887.OwnerHistory=OwnerHistory;_this887.Name=Name;_this887.Description=Description;_this887.type=2341007311;return _this887;}return _createClass(IfcRoot);}(IfcLineObject);IFC42.IfcRoot=IfcRoot;var IfcSIUnit=/*#__PURE__*/function(_IfcNamedUnit4){_inherits(IfcSIUnit,_IfcNamedUnit4);var _super885=_createSuper(IfcSIUnit);function IfcSIUnit(expressID,UnitType,Prefix,Name){var _this888;_classCallCheck(this,IfcSIUnit);_this888=_super885.call(this,expressID,new Handle(0),UnitType);_this888.UnitType=UnitType;_this888.Prefix=Prefix;_this888.Name=Name;_this888.type=448429030;return _this888;}return _createClass(IfcSIUnit);}(IfcNamedUnit);IFC42.IfcSIUnit=IfcSIUnit;var IfcSchedulingTime=/*#__PURE__*/function(_IfcLineObject149){_inherits(IfcSchedulingTime,_IfcLineObject149);var _super886=_createSuper(IfcSchedulingTime);function IfcSchedulingTime(expressID,Name,DataOrigin,UserDefinedDataOrigin){var _this889;_classCallCheck(this,IfcSchedulingTime);_this889=_super886.call(this,expressID);_this889.Name=Name;_this889.DataOrigin=DataOrigin;_this889.UserDefinedDataOrigin=UserDefinedDataOrigin;_this889.type=1054537805;return _this889;}return _createClass(IfcSchedulingTime);}(IfcLineObject);IFC42.IfcSchedulingTime=IfcSchedulingTime;var IfcShapeAspect=/*#__PURE__*/function(_IfcLineObject150){_inherits(IfcShapeAspect,_IfcLineObject150);var _super887=_createSuper(IfcShapeAspect);function IfcShapeAspect(expressID,ShapeRepresentations,Name,Description,ProductDefinitional,PartOfProductDefinitionShape){var _this890;_classCallCheck(this,IfcShapeAspect);_this890=_super887.call(this,expressID);_this890.ShapeRepresentations=ShapeRepresentations;_this890.Name=Name;_this890.Description=Description;_this890.ProductDefinitional=ProductDefinitional;_this890.PartOfProductDefinitionShape=PartOfProductDefinitionShape;_this890.type=867548509;return _this890;}return _createClass(IfcShapeAspect);}(IfcLineObject);IFC42.IfcShapeAspect=IfcShapeAspect;var IfcShapeModel=/*#__PURE__*/function(_IfcRepresentation3){_inherits(IfcShapeModel,_IfcRepresentation3);var _super888=_createSuper(IfcShapeModel);function IfcShapeModel(expressID,ContextOfItems,RepresentationIdentifier,RepresentationType,Items){var _this891;_classCallCheck(this,IfcShapeModel);_this891=_super888.call(this,expressID,ContextOfItems,RepresentationIdentifier,RepresentationType,Items);_this891.ContextOfItems=ContextOfItems;_this891.RepresentationIdentifier=RepresentationIdentifier;_this891.RepresentationType=RepresentationType;_this891.Items=Items;_this891.type=3982875396;return _this891;}return _createClass(IfcShapeModel);}(IfcRepresentation);IFC42.IfcShapeModel=IfcShapeModel;var IfcShapeRepresentation=/*#__PURE__*/function(_IfcShapeModel3){_inherits(IfcShapeRepresentation,_IfcShapeModel3);var _super889=_createSuper(IfcShapeRepresentation);function IfcShapeRepresentation(expressID,ContextOfItems,RepresentationIdentifier,RepresentationType,Items){var _this892;_classCallCheck(this,IfcShapeRepresentation);_this892=_super889.call(this,expressID,ContextOfItems,RepresentationIdentifier,RepresentationType,Items);_this892.ContextOfItems=ContextOfItems;_this892.RepresentationIdentifier=RepresentationIdentifier;_this892.RepresentationType=RepresentationType;_this892.Items=Items;_this892.type=4240577450;return _this892;}return _createClass(IfcShapeRepresentation);}(IfcShapeModel);IFC42.IfcShapeRepresentation=IfcShapeRepresentation;var IfcStructuralConnectionCondition=/*#__PURE__*/function(_IfcLineObject151){_inherits(IfcStructuralConnectionCondition,_IfcLineObject151);var _super890=_createSuper(IfcStructuralConnectionCondition);function IfcStructuralConnectionCondition(expressID,Name){var _this893;_classCallCheck(this,IfcStructuralConnectionCondition);_this893=_super890.call(this,expressID);_this893.Name=Name;_this893.type=2273995522;return _this893;}return _createClass(IfcStructuralConnectionCondition);}(IfcLineObject);IFC42.IfcStructuralConnectionCondition=IfcStructuralConnectionCondition;var IfcStructuralLoad=/*#__PURE__*/function(_IfcLineObject152){_inherits(IfcStructuralLoad,_IfcLineObject152);var _super891=_createSuper(IfcStructuralLoad);function IfcStructuralLoad(expressID,Name){var _this894;_classCallCheck(this,IfcStructuralLoad);_this894=_super891.call(this,expressID);_this894.Name=Name;_this894.type=2162789131;return _this894;}return _createClass(IfcStructuralLoad);}(IfcLineObject);IFC42.IfcStructuralLoad=IfcStructuralLoad;var IfcStructuralLoadConfiguration=/*#__PURE__*/function(_IfcStructuralLoad2){_inherits(IfcStructuralLoadConfiguration,_IfcStructuralLoad2);var _super892=_createSuper(IfcStructuralLoadConfiguration);function IfcStructuralLoadConfiguration(expressID,Name,Values,Locations){var _this895;_classCallCheck(this,IfcStructuralLoadConfiguration);_this895=_super892.call(this,expressID,Name);_this895.Name=Name;_this895.Values=Values;_this895.Locations=Locations;_this895.type=3478079324;return _this895;}return _createClass(IfcStructuralLoadConfiguration);}(IfcStructuralLoad);IFC42.IfcStructuralLoadConfiguration=IfcStructuralLoadConfiguration;var IfcStructuralLoadOrResult=/*#__PURE__*/function(_IfcStructuralLoad3){_inherits(IfcStructuralLoadOrResult,_IfcStructuralLoad3);var _super893=_createSuper(IfcStructuralLoadOrResult);function IfcStructuralLoadOrResult(expressID,Name){var _this896;_classCallCheck(this,IfcStructuralLoadOrResult);_this896=_super893.call(this,expressID,Name);_this896.Name=Name;_this896.type=609421318;return _this896;}return _createClass(IfcStructuralLoadOrResult);}(IfcStructuralLoad);IFC42.IfcStructuralLoadOrResult=IfcStructuralLoadOrResult;var IfcStructuralLoadStatic=/*#__PURE__*/function(_IfcStructuralLoadOrR){_inherits(IfcStructuralLoadStatic,_IfcStructuralLoadOrR);var _super894=_createSuper(IfcStructuralLoadStatic);function IfcStructuralLoadStatic(expressID,Name){var _this897;_classCallCheck(this,IfcStructuralLoadStatic);_this897=_super894.call(this,expressID,Name);_this897.Name=Name;_this897.type=2525727697;return _this897;}return _createClass(IfcStructuralLoadStatic);}(IfcStructuralLoadOrResult);IFC42.IfcStructuralLoadStatic=IfcStructuralLoadStatic;var IfcStructuralLoadTemperature=/*#__PURE__*/function(_IfcStructuralLoadSta6){_inherits(IfcStructuralLoadTemperature,_IfcStructuralLoadSta6);var _super895=_createSuper(IfcStructuralLoadTemperature);function IfcStructuralLoadTemperature(expressID,Name,DeltaTConstant,DeltaTY,DeltaTZ){var _this898;_classCallCheck(this,IfcStructuralLoadTemperature);_this898=_super895.call(this,expressID,Name);_this898.Name=Name;_this898.DeltaTConstant=DeltaTConstant;_this898.DeltaTY=DeltaTY;_this898.DeltaTZ=DeltaTZ;_this898.type=3408363356;return _this898;}return _createClass(IfcStructuralLoadTemperature);}(IfcStructuralLoadStatic);IFC42.IfcStructuralLoadTemperature=IfcStructuralLoadTemperature;var IfcStyleModel=/*#__PURE__*/function(_IfcRepresentation4){_inherits(IfcStyleModel,_IfcRepresentation4);var _super896=_createSuper(IfcStyleModel);function IfcStyleModel(expressID,ContextOfItems,RepresentationIdentifier,RepresentationType,Items){var _this899;_classCallCheck(this,IfcStyleModel);_this899=_super896.call(this,expressID,ContextOfItems,RepresentationIdentifier,RepresentationType,Items);_this899.ContextOfItems=ContextOfItems;_this899.RepresentationIdentifier=RepresentationIdentifier;_this899.RepresentationType=RepresentationType;_this899.Items=Items;_this899.type=2830218821;return _this899;}return _createClass(IfcStyleModel);}(IfcRepresentation);IFC42.IfcStyleModel=IfcStyleModel;var IfcStyledItem=/*#__PURE__*/function(_IfcRepresentationIte5){_inherits(IfcStyledItem,_IfcRepresentationIte5);var _super897=_createSuper(IfcStyledItem);function IfcStyledItem(expressID,Item,Styles,Name){var _this900;_classCallCheck(this,IfcStyledItem);_this900=_super897.call(this,expressID);_this900.Item=Item;_this900.Styles=Styles;_this900.Name=Name;_this900.type=3958052878;return _this900;}return _createClass(IfcStyledItem);}(IfcRepresentationItem);IFC42.IfcStyledItem=IfcStyledItem;var IfcStyledRepresentation=/*#__PURE__*/function(_IfcStyleModel2){_inherits(IfcStyledRepresentation,_IfcStyleModel2);var _super898=_createSuper(IfcStyledRepresentation);function IfcStyledRepresentation(expressID,ContextOfItems,RepresentationIdentifier,RepresentationType,Items){var _this901;_classCallCheck(this,IfcStyledRepresentation);_this901=_super898.call(this,expressID,ContextOfItems,RepresentationIdentifier,RepresentationType,Items);_this901.ContextOfItems=ContextOfItems;_this901.RepresentationIdentifier=RepresentationIdentifier;_this901.RepresentationType=RepresentationType;_this901.Items=Items;_this901.type=3049322572;return _this901;}return _createClass(IfcStyledRepresentation);}(IfcStyleModel);IFC42.IfcStyledRepresentation=IfcStyledRepresentation;var IfcSurfaceReinforcementArea=/*#__PURE__*/function(_IfcStructuralLoadOrR2){_inherits(IfcSurfaceReinforcementArea,_IfcStructuralLoadOrR2);var _super899=_createSuper(IfcSurfaceReinforcementArea);function IfcSurfaceReinforcementArea(expressID,Name,SurfaceReinforcement1,SurfaceReinforcement2,ShearReinforcement){var _this902;_classCallCheck(this,IfcSurfaceReinforcementArea);_this902=_super899.call(this,expressID,Name);_this902.Name=Name;_this902.SurfaceReinforcement1=SurfaceReinforcement1;_this902.SurfaceReinforcement2=SurfaceReinforcement2;_this902.ShearReinforcement=ShearReinforcement;_this902.type=2934153892;return _this902;}return _createClass(IfcSurfaceReinforcementArea);}(IfcStructuralLoadOrResult);IFC42.IfcSurfaceReinforcementArea=IfcSurfaceReinforcementArea;var IfcSurfaceStyle=/*#__PURE__*/function(_IfcPresentationStyle6){_inherits(IfcSurfaceStyle,_IfcPresentationStyle6);var _super900=_createSuper(IfcSurfaceStyle);function IfcSurfaceStyle(expressID,Name,Side,Styles){var _this903;_classCallCheck(this,IfcSurfaceStyle);_this903=_super900.call(this,expressID,Name);_this903.Name=Name;_this903.Side=Side;_this903.Styles=Styles;_this903.type=1300840506;return _this903;}return _createClass(IfcSurfaceStyle);}(IfcPresentationStyle);IFC42.IfcSurfaceStyle=IfcSurfaceStyle;var IfcSurfaceStyleLighting=/*#__PURE__*/function(_IfcPresentationItem){_inherits(IfcSurfaceStyleLighting,_IfcPresentationItem);var _super901=_createSuper(IfcSurfaceStyleLighting);function IfcSurfaceStyleLighting(expressID,DiffuseTransmissionColour,DiffuseReflectionColour,TransmissionColour,ReflectanceColour){var _this904;_classCallCheck(this,IfcSurfaceStyleLighting);_this904=_super901.call(this,expressID);_this904.DiffuseTransmissionColour=DiffuseTransmissionColour;_this904.DiffuseReflectionColour=DiffuseReflectionColour;_this904.TransmissionColour=TransmissionColour;_this904.ReflectanceColour=ReflectanceColour;_this904.type=3303107099;return _this904;}return _createClass(IfcSurfaceStyleLighting);}(IfcPresentationItem);IFC42.IfcSurfaceStyleLighting=IfcSurfaceStyleLighting;var IfcSurfaceStyleRefraction=/*#__PURE__*/function(_IfcPresentationItem2){_inherits(IfcSurfaceStyleRefraction,_IfcPresentationItem2);var _super902=_createSuper(IfcSurfaceStyleRefraction);function IfcSurfaceStyleRefraction(expressID,RefractionIndex,DispersionFactor){var _this905;_classCallCheck(this,IfcSurfaceStyleRefraction);_this905=_super902.call(this,expressID);_this905.RefractionIndex=RefractionIndex;_this905.DispersionFactor=DispersionFactor;_this905.type=1607154358;return _this905;}return _createClass(IfcSurfaceStyleRefraction);}(IfcPresentationItem);IFC42.IfcSurfaceStyleRefraction=IfcSurfaceStyleRefraction;var IfcSurfaceStyleShading=/*#__PURE__*/function(_IfcPresentationItem3){_inherits(IfcSurfaceStyleShading,_IfcPresentationItem3);var _super903=_createSuper(IfcSurfaceStyleShading);function IfcSurfaceStyleShading(expressID,SurfaceColour,Transparency){var _this906;_classCallCheck(this,IfcSurfaceStyleShading);_this906=_super903.call(this,expressID);_this906.SurfaceColour=SurfaceColour;_this906.Transparency=Transparency;_this906.type=846575682;return _this906;}return _createClass(IfcSurfaceStyleShading);}(IfcPresentationItem);IFC42.IfcSurfaceStyleShading=IfcSurfaceStyleShading;var IfcSurfaceStyleWithTextures=/*#__PURE__*/function(_IfcPresentationItem4){_inherits(IfcSurfaceStyleWithTextures,_IfcPresentationItem4);var _super904=_createSuper(IfcSurfaceStyleWithTextures);function IfcSurfaceStyleWithTextures(expressID,Textures){var _this907;_classCallCheck(this,IfcSurfaceStyleWithTextures);_this907=_super904.call(this,expressID);_this907.Textures=Textures;_this907.type=1351298697;return _this907;}return _createClass(IfcSurfaceStyleWithTextures);}(IfcPresentationItem);IFC42.IfcSurfaceStyleWithTextures=IfcSurfaceStyleWithTextures;var IfcSurfaceTexture=/*#__PURE__*/function(_IfcPresentationItem5){_inherits(IfcSurfaceTexture,_IfcPresentationItem5);var _super905=_createSuper(IfcSurfaceTexture);function IfcSurfaceTexture(expressID,RepeatS,RepeatT,Mode,TextureTransform,Parameter){var _this908;_classCallCheck(this,IfcSurfaceTexture);_this908=_super905.call(this,expressID);_this908.RepeatS=RepeatS;_this908.RepeatT=RepeatT;_this908.Mode=Mode;_this908.TextureTransform=TextureTransform;_this908.Parameter=Parameter;_this908.type=626085974;return _this908;}return _createClass(IfcSurfaceTexture);}(IfcPresentationItem);IFC42.IfcSurfaceTexture=IfcSurfaceTexture;var IfcTable=/*#__PURE__*/function(_IfcLineObject153){_inherits(IfcTable,_IfcLineObject153);var _super906=_createSuper(IfcTable);function IfcTable(expressID,Name,Rows,Columns){var _this909;_classCallCheck(this,IfcTable);_this909=_super906.call(this,expressID);_this909.Name=Name;_this909.Rows=Rows;_this909.Columns=Columns;_this909.type=985171141;return _this909;}return _createClass(IfcTable);}(IfcLineObject);IFC42.IfcTable=IfcTable;var IfcTableColumn=/*#__PURE__*/function(_IfcLineObject154){_inherits(IfcTableColumn,_IfcLineObject154);var _super907=_createSuper(IfcTableColumn);function IfcTableColumn(expressID,Identifier,Name,Description,Unit,ReferencePath){var _this910;_classCallCheck(this,IfcTableColumn);_this910=_super907.call(this,expressID);_this910.Identifier=Identifier;_this910.Name=Name;_this910.Description=Description;_this910.Unit=Unit;_this910.ReferencePath=ReferencePath;_this910.type=2043862942;return _this910;}return _createClass(IfcTableColumn);}(IfcLineObject);IFC42.IfcTableColumn=IfcTableColumn;var IfcTableRow=/*#__PURE__*/function(_IfcLineObject155){_inherits(IfcTableRow,_IfcLineObject155);var _super908=_createSuper(IfcTableRow);function IfcTableRow(expressID,RowCells,IsHeading){var _this911;_classCallCheck(this,IfcTableRow);_this911=_super908.call(this,expressID);_this911.RowCells=RowCells;_this911.IsHeading=IsHeading;_this911.type=531007025;return _this911;}return _createClass(IfcTableRow);}(IfcLineObject);IFC42.IfcTableRow=IfcTableRow;var IfcTaskTime=/*#__PURE__*/function(_IfcSchedulingTime){_inherits(IfcTaskTime,_IfcSchedulingTime);var _super909=_createSuper(IfcTaskTime);function IfcTaskTime(expressID,Name,DataOrigin,UserDefinedDataOrigin,DurationType,ScheduleDuration,ScheduleStart,ScheduleFinish,EarlyStart,EarlyFinish,LateStart,LateFinish,FreeFloat,TotalFloat,IsCritical,StatusTime,ActualDuration,ActualStart,ActualFinish,RemainingTime,Completion){var _this912;_classCallCheck(this,IfcTaskTime);_this912=_super909.call(this,expressID,Name,DataOrigin,UserDefinedDataOrigin);_this912.Name=Name;_this912.DataOrigin=DataOrigin;_this912.UserDefinedDataOrigin=UserDefinedDataOrigin;_this912.DurationType=DurationType;_this912.ScheduleDuration=ScheduleDuration;_this912.ScheduleStart=ScheduleStart;_this912.ScheduleFinish=ScheduleFinish;_this912.EarlyStart=EarlyStart;_this912.EarlyFinish=EarlyFinish;_this912.LateStart=LateStart;_this912.LateFinish=LateFinish;_this912.FreeFloat=FreeFloat;_this912.TotalFloat=TotalFloat;_this912.IsCritical=IsCritical;_this912.StatusTime=StatusTime;_this912.ActualDuration=ActualDuration;_this912.ActualStart=ActualStart;_this912.ActualFinish=ActualFinish;_this912.RemainingTime=RemainingTime;_this912.Completion=Completion;_this912.type=1549132990;return _this912;}return _createClass(IfcTaskTime);}(IfcSchedulingTime);IFC42.IfcTaskTime=IfcTaskTime;var IfcTaskTimeRecurring=/*#__PURE__*/function(_IfcTaskTime){_inherits(IfcTaskTimeRecurring,_IfcTaskTime);var _super910=_createSuper(IfcTaskTimeRecurring);function IfcTaskTimeRecurring(expressID,Name,DataOrigin,UserDefinedDataOrigin,DurationType,ScheduleDuration,ScheduleStart,ScheduleFinish,EarlyStart,EarlyFinish,LateStart,LateFinish,FreeFloat,TotalFloat,IsCritical,StatusTime,ActualDuration,ActualStart,ActualFinish,RemainingTime,Completion,Recurrence){var _this913;_classCallCheck(this,IfcTaskTimeRecurring);_this913=_super910.call(this,expressID,Name,DataOrigin,UserDefinedDataOrigin,DurationType,ScheduleDuration,ScheduleStart,ScheduleFinish,EarlyStart,EarlyFinish,LateStart,LateFinish,FreeFloat,TotalFloat,IsCritical,StatusTime,ActualDuration,ActualStart,ActualFinish,RemainingTime,Completion);_this913.Name=Name;_this913.DataOrigin=DataOrigin;_this913.UserDefinedDataOrigin=UserDefinedDataOrigin;_this913.DurationType=DurationType;_this913.ScheduleDuration=ScheduleDuration;_this913.ScheduleStart=ScheduleStart;_this913.ScheduleFinish=ScheduleFinish;_this913.EarlyStart=EarlyStart;_this913.EarlyFinish=EarlyFinish;_this913.LateStart=LateStart;_this913.LateFinish=LateFinish;_this913.FreeFloat=FreeFloat;_this913.TotalFloat=TotalFloat;_this913.IsCritical=IsCritical;_this913.StatusTime=StatusTime;_this913.ActualDuration=ActualDuration;_this913.ActualStart=ActualStart;_this913.ActualFinish=ActualFinish;_this913.RemainingTime=RemainingTime;_this913.Completion=Completion;_this913.Recurrence=Recurrence;_this913.type=2771591690;return _this913;}return _createClass(IfcTaskTimeRecurring);}(IfcTaskTime);IFC42.IfcTaskTimeRecurring=IfcTaskTimeRecurring;var IfcTelecomAddress=/*#__PURE__*/function(_IfcAddress4){_inherits(IfcTelecomAddress,_IfcAddress4);var _super911=_createSuper(IfcTelecomAddress);function IfcTelecomAddress(expressID,Purpose,Description,UserDefinedPurpose,TelephoneNumbers,FacsimileNumbers,PagerNumber,ElectronicMailAddresses,WWWHomePageURL,MessagingIDs){var _this914;_classCallCheck(this,IfcTelecomAddress);_this914=_super911.call(this,expressID,Purpose,Description,UserDefinedPurpose);_this914.Purpose=Purpose;_this914.Description=Description;_this914.UserDefinedPurpose=UserDefinedPurpose;_this914.TelephoneNumbers=TelephoneNumbers;_this914.FacsimileNumbers=FacsimileNumbers;_this914.PagerNumber=PagerNumber;_this914.ElectronicMailAddresses=ElectronicMailAddresses;_this914.WWWHomePageURL=WWWHomePageURL;_this914.MessagingIDs=MessagingIDs;_this914.type=912023232;return _this914;}return _createClass(IfcTelecomAddress);}(IfcAddress);IFC42.IfcTelecomAddress=IfcTelecomAddress;var IfcTextStyle=/*#__PURE__*/function(_IfcPresentationStyle7){_inherits(IfcTextStyle,_IfcPresentationStyle7);var _super912=_createSuper(IfcTextStyle);function IfcTextStyle(expressID,Name,TextCharacterAppearance,TextStyle,TextFontStyle,ModelOrDraughting){var _this915;_classCallCheck(this,IfcTextStyle);_this915=_super912.call(this,expressID,Name);_this915.Name=Name;_this915.TextCharacterAppearance=TextCharacterAppearance;_this915.TextStyle=TextStyle;_this915.TextFontStyle=TextFontStyle;_this915.ModelOrDraughting=ModelOrDraughting;_this915.type=1447204868;return _this915;}return _createClass(IfcTextStyle);}(IfcPresentationStyle);IFC42.IfcTextStyle=IfcTextStyle;var IfcTextStyleForDefinedFont=/*#__PURE__*/function(_IfcPresentationItem6){_inherits(IfcTextStyleForDefinedFont,_IfcPresentationItem6);var _super913=_createSuper(IfcTextStyleForDefinedFont);function IfcTextStyleForDefinedFont(expressID,Colour,BackgroundColour){var _this916;_classCallCheck(this,IfcTextStyleForDefinedFont);_this916=_super913.call(this,expressID);_this916.Colour=Colour;_this916.BackgroundColour=BackgroundColour;_this916.type=2636378356;return _this916;}return _createClass(IfcTextStyleForDefinedFont);}(IfcPresentationItem);IFC42.IfcTextStyleForDefinedFont=IfcTextStyleForDefinedFont;var IfcTextStyleTextModel=/*#__PURE__*/function(_IfcPresentationItem7){_inherits(IfcTextStyleTextModel,_IfcPresentationItem7);var _super914=_createSuper(IfcTextStyleTextModel);function IfcTextStyleTextModel(expressID,TextIndent,TextAlign,TextDecoration,LetterSpacing,WordSpacing,TextTransform,LineHeight){var _this917;_classCallCheck(this,IfcTextStyleTextModel);_this917=_super914.call(this,expressID);_this917.TextIndent=TextIndent;_this917.TextAlign=TextAlign;_this917.TextDecoration=TextDecoration;_this917.LetterSpacing=LetterSpacing;_this917.WordSpacing=WordSpacing;_this917.TextTransform=TextTransform;_this917.LineHeight=LineHeight;_this917.type=1640371178;return _this917;}return _createClass(IfcTextStyleTextModel);}(IfcPresentationItem);IFC42.IfcTextStyleTextModel=IfcTextStyleTextModel;var IfcTextureCoordinate=/*#__PURE__*/function(_IfcPresentationItem8){_inherits(IfcTextureCoordinate,_IfcPresentationItem8);var _super915=_createSuper(IfcTextureCoordinate);function IfcTextureCoordinate(expressID,Maps){var _this918;_classCallCheck(this,IfcTextureCoordinate);_this918=_super915.call(this,expressID);_this918.Maps=Maps;_this918.type=280115917;return _this918;}return _createClass(IfcTextureCoordinate);}(IfcPresentationItem);IFC42.IfcTextureCoordinate=IfcTextureCoordinate;var IfcTextureCoordinateGenerator=/*#__PURE__*/function(_IfcTextureCoordinate3){_inherits(IfcTextureCoordinateGenerator,_IfcTextureCoordinate3);var _super916=_createSuper(IfcTextureCoordinateGenerator);function IfcTextureCoordinateGenerator(expressID,Maps,Mode,Parameter){var _this919;_classCallCheck(this,IfcTextureCoordinateGenerator);_this919=_super916.call(this,expressID,Maps);_this919.Maps=Maps;_this919.Mode=Mode;_this919.Parameter=Parameter;_this919.type=1742049831;return _this919;}return _createClass(IfcTextureCoordinateGenerator);}(IfcTextureCoordinate);IFC42.IfcTextureCoordinateGenerator=IfcTextureCoordinateGenerator;var IfcTextureMap=/*#__PURE__*/function(_IfcTextureCoordinate4){_inherits(IfcTextureMap,_IfcTextureCoordinate4);var _super917=_createSuper(IfcTextureMap);function IfcTextureMap(expressID,Maps,Vertices,MappedTo){var _this920;_classCallCheck(this,IfcTextureMap);_this920=_super917.call(this,expressID,Maps);_this920.Maps=Maps;_this920.Vertices=Vertices;_this920.MappedTo=MappedTo;_this920.type=2552916305;return _this920;}return _createClass(IfcTextureMap);}(IfcTextureCoordinate);IFC42.IfcTextureMap=IfcTextureMap;var IfcTextureVertex=/*#__PURE__*/function(_IfcPresentationItem9){_inherits(IfcTextureVertex,_IfcPresentationItem9);var _super918=_createSuper(IfcTextureVertex);function IfcTextureVertex(expressID,Coordinates){var _this921;_classCallCheck(this,IfcTextureVertex);_this921=_super918.call(this,expressID);_this921.Coordinates=Coordinates;_this921.type=1210645708;return _this921;}return _createClass(IfcTextureVertex);}(IfcPresentationItem);IFC42.IfcTextureVertex=IfcTextureVertex;var IfcTextureVertexList=/*#__PURE__*/function(_IfcPresentationItem10){_inherits(IfcTextureVertexList,_IfcPresentationItem10);var _super919=_createSuper(IfcTextureVertexList);function IfcTextureVertexList(expressID,TexCoordsList){var _this922;_classCallCheck(this,IfcTextureVertexList);_this922=_super919.call(this,expressID);_this922.TexCoordsList=TexCoordsList;_this922.type=3611470254;return _this922;}return _createClass(IfcTextureVertexList);}(IfcPresentationItem);IFC42.IfcTextureVertexList=IfcTextureVertexList;var IfcTimePeriod=/*#__PURE__*/function(_IfcLineObject156){_inherits(IfcTimePeriod,_IfcLineObject156);var _super920=_createSuper(IfcTimePeriod);function IfcTimePeriod(expressID,StartTime,EndTime){var _this923;_classCallCheck(this,IfcTimePeriod);_this923=_super920.call(this,expressID);_this923.StartTime=StartTime;_this923.EndTime=EndTime;_this923.type=1199560280;return _this923;}return _createClass(IfcTimePeriod);}(IfcLineObject);IFC42.IfcTimePeriod=IfcTimePeriod;var IfcTimeSeries=/*#__PURE__*/function(_IfcLineObject157){_inherits(IfcTimeSeries,_IfcLineObject157);var _super921=_createSuper(IfcTimeSeries);function IfcTimeSeries(expressID,Name,Description,StartTime,EndTime,TimeSeriesDataType,DataOrigin,UserDefinedDataOrigin,Unit){var _this924;_classCallCheck(this,IfcTimeSeries);_this924=_super921.call(this,expressID);_this924.Name=Name;_this924.Description=Description;_this924.StartTime=StartTime;_this924.EndTime=EndTime;_this924.TimeSeriesDataType=TimeSeriesDataType;_this924.DataOrigin=DataOrigin;_this924.UserDefinedDataOrigin=UserDefinedDataOrigin;_this924.Unit=Unit;_this924.type=3101149627;return _this924;}return _createClass(IfcTimeSeries);}(IfcLineObject);IFC42.IfcTimeSeries=IfcTimeSeries;var IfcTimeSeriesValue=/*#__PURE__*/function(_IfcLineObject158){_inherits(IfcTimeSeriesValue,_IfcLineObject158);var _super922=_createSuper(IfcTimeSeriesValue);function IfcTimeSeriesValue(expressID,ListValues){var _this925;_classCallCheck(this,IfcTimeSeriesValue);_this925=_super922.call(this,expressID);_this925.ListValues=ListValues;_this925.type=581633288;return _this925;}return _createClass(IfcTimeSeriesValue);}(IfcLineObject);IFC42.IfcTimeSeriesValue=IfcTimeSeriesValue;var IfcTopologicalRepresentationItem=/*#__PURE__*/function(_IfcRepresentationIte6){_inherits(IfcTopologicalRepresentationItem,_IfcRepresentationIte6);var _super923=_createSuper(IfcTopologicalRepresentationItem);function IfcTopologicalRepresentationItem(expressID){var _this926;_classCallCheck(this,IfcTopologicalRepresentationItem);_this926=_super923.call(this,expressID);_this926.type=1377556343;return _this926;}return _createClass(IfcTopologicalRepresentationItem);}(IfcRepresentationItem);IFC42.IfcTopologicalRepresentationItem=IfcTopologicalRepresentationItem;var IfcTopologyRepresentation=/*#__PURE__*/function(_IfcShapeModel4){_inherits(IfcTopologyRepresentation,_IfcShapeModel4);var _super924=_createSuper(IfcTopologyRepresentation);function IfcTopologyRepresentation(expressID,ContextOfItems,RepresentationIdentifier,RepresentationType,Items){var _this927;_classCallCheck(this,IfcTopologyRepresentation);_this927=_super924.call(this,expressID,ContextOfItems,RepresentationIdentifier,RepresentationType,Items);_this927.ContextOfItems=ContextOfItems;_this927.RepresentationIdentifier=RepresentationIdentifier;_this927.RepresentationType=RepresentationType;_this927.Items=Items;_this927.type=1735638870;return _this927;}return _createClass(IfcTopologyRepresentation);}(IfcShapeModel);IFC42.IfcTopologyRepresentation=IfcTopologyRepresentation;var IfcUnitAssignment=/*#__PURE__*/function(_IfcLineObject159){_inherits(IfcUnitAssignment,_IfcLineObject159);var _super925=_createSuper(IfcUnitAssignment);function IfcUnitAssignment(expressID,Units){var _this928;_classCallCheck(this,IfcUnitAssignment);_this928=_super925.call(this,expressID);_this928.Units=Units;_this928.type=180925521;return _this928;}return _createClass(IfcUnitAssignment);}(IfcLineObject);IFC42.IfcUnitAssignment=IfcUnitAssignment;var IfcVertex=/*#__PURE__*/function(_IfcTopologicalRepres8){_inherits(IfcVertex,_IfcTopologicalRepres8);var _super926=_createSuper(IfcVertex);function IfcVertex(expressID){var _this929;_classCallCheck(this,IfcVertex);_this929=_super926.call(this,expressID);_this929.type=2799835756;return _this929;}return _createClass(IfcVertex);}(IfcTopologicalRepresentationItem);IFC42.IfcVertex=IfcVertex;var IfcVertexPoint=/*#__PURE__*/function(_IfcVertex2){_inherits(IfcVertexPoint,_IfcVertex2);var _super927=_createSuper(IfcVertexPoint);function IfcVertexPoint(expressID,VertexGeometry){var _this930;_classCallCheck(this,IfcVertexPoint);_this930=_super927.call(this,expressID);_this930.VertexGeometry=VertexGeometry;_this930.type=1907098498;return _this930;}return _createClass(IfcVertexPoint);}(IfcVertex);IFC42.IfcVertexPoint=IfcVertexPoint;var IfcVirtualGridIntersection=/*#__PURE__*/function(_IfcLineObject160){_inherits(IfcVirtualGridIntersection,_IfcLineObject160);var _super928=_createSuper(IfcVirtualGridIntersection);function IfcVirtualGridIntersection(expressID,IntersectingAxes,OffsetDistances){var _this931;_classCallCheck(this,IfcVirtualGridIntersection);_this931=_super928.call(this,expressID);_this931.IntersectingAxes=IntersectingAxes;_this931.OffsetDistances=OffsetDistances;_this931.type=891718957;return _this931;}return _createClass(IfcVirtualGridIntersection);}(IfcLineObject);IFC42.IfcVirtualGridIntersection=IfcVirtualGridIntersection;var IfcWorkTime=/*#__PURE__*/function(_IfcSchedulingTime2){_inherits(IfcWorkTime,_IfcSchedulingTime2);var _super929=_createSuper(IfcWorkTime);function IfcWorkTime(expressID,Name,DataOrigin,UserDefinedDataOrigin,RecurrencePattern,Start,Finish){var _this932;_classCallCheck(this,IfcWorkTime);_this932=_super929.call(this,expressID,Name,DataOrigin,UserDefinedDataOrigin);_this932.Name=Name;_this932.DataOrigin=DataOrigin;_this932.UserDefinedDataOrigin=UserDefinedDataOrigin;_this932.RecurrencePattern=RecurrencePattern;_this932.Start=Start;_this932.Finish=Finish;_this932.type=1236880293;return _this932;}return _createClass(IfcWorkTime);}(IfcSchedulingTime);IFC42.IfcWorkTime=IfcWorkTime;var IfcApprovalRelationship=/*#__PURE__*/function(_IfcResourceLevelRela){_inherits(IfcApprovalRelationship,_IfcResourceLevelRela);var _super930=_createSuper(IfcApprovalRelationship);function IfcApprovalRelationship(expressID,Name,Description,RelatingApproval,RelatedApprovals){var _this933;_classCallCheck(this,IfcApprovalRelationship);_this933=_super930.call(this,expressID,Name,Description);_this933.Name=Name;_this933.Description=Description;_this933.RelatingApproval=RelatingApproval;_this933.RelatedApprovals=RelatedApprovals;_this933.type=3869604511;return _this933;}return _createClass(IfcApprovalRelationship);}(IfcResourceLevelRelationship);IFC42.IfcApprovalRelationship=IfcApprovalRelationship;var IfcArbitraryClosedProfileDef=/*#__PURE__*/function(_IfcProfileDef6){_inherits(IfcArbitraryClosedProfileDef,_IfcProfileDef6);var _super931=_createSuper(IfcArbitraryClosedProfileDef);function IfcArbitraryClosedProfileDef(expressID,ProfileType,ProfileName,OuterCurve){var _this934;_classCallCheck(this,IfcArbitraryClosedProfileDef);_this934=_super931.call(this,expressID,ProfileType,ProfileName);_this934.ProfileType=ProfileType;_this934.ProfileName=ProfileName;_this934.OuterCurve=OuterCurve;_this934.type=3798115385;return _this934;}return _createClass(IfcArbitraryClosedProfileDef);}(IfcProfileDef);IFC42.IfcArbitraryClosedProfileDef=IfcArbitraryClosedProfileDef;var IfcArbitraryOpenProfileDef=/*#__PURE__*/function(_IfcProfileDef7){_inherits(IfcArbitraryOpenProfileDef,_IfcProfileDef7);var _super932=_createSuper(IfcArbitraryOpenProfileDef);function IfcArbitraryOpenProfileDef(expressID,ProfileType,ProfileName,Curve){var _this935;_classCallCheck(this,IfcArbitraryOpenProfileDef);_this935=_super932.call(this,expressID,ProfileType,ProfileName);_this935.ProfileType=ProfileType;_this935.ProfileName=ProfileName;_this935.Curve=Curve;_this935.type=1310608509;return _this935;}return _createClass(IfcArbitraryOpenProfileDef);}(IfcProfileDef);IFC42.IfcArbitraryOpenProfileDef=IfcArbitraryOpenProfileDef;var IfcArbitraryProfileDefWithVoids=/*#__PURE__*/function(_IfcArbitraryClosedPr2){_inherits(IfcArbitraryProfileDefWithVoids,_IfcArbitraryClosedPr2);var _super933=_createSuper(IfcArbitraryProfileDefWithVoids);function IfcArbitraryProfileDefWithVoids(expressID,ProfileType,ProfileName,OuterCurve,InnerCurves){var _this936;_classCallCheck(this,IfcArbitraryProfileDefWithVoids);_this936=_super933.call(this,expressID,ProfileType,ProfileName,OuterCurve);_this936.ProfileType=ProfileType;_this936.ProfileName=ProfileName;_this936.OuterCurve=OuterCurve;_this936.InnerCurves=InnerCurves;_this936.type=2705031697;return _this936;}return _createClass(IfcArbitraryProfileDefWithVoids);}(IfcArbitraryClosedProfileDef);IFC42.IfcArbitraryProfileDefWithVoids=IfcArbitraryProfileDefWithVoids;var IfcBlobTexture=/*#__PURE__*/function(_IfcSurfaceTexture4){_inherits(IfcBlobTexture,_IfcSurfaceTexture4);var _super934=_createSuper(IfcBlobTexture);function IfcBlobTexture(expressID,RepeatS,RepeatT,Mode,TextureTransform,Parameter,RasterFormat,RasterCode){var _this937;_classCallCheck(this,IfcBlobTexture);_this937=_super934.call(this,expressID,RepeatS,RepeatT,Mode,TextureTransform,Parameter);_this937.RepeatS=RepeatS;_this937.RepeatT=RepeatT;_this937.Mode=Mode;_this937.TextureTransform=TextureTransform;_this937.Parameter=Parameter;_this937.RasterFormat=RasterFormat;_this937.RasterCode=RasterCode;_this937.type=616511568;return _this937;}return _createClass(IfcBlobTexture);}(IfcSurfaceTexture);IFC42.IfcBlobTexture=IfcBlobTexture;var IfcCenterLineProfileDef=/*#__PURE__*/function(_IfcArbitraryOpenProf2){_inherits(IfcCenterLineProfileDef,_IfcArbitraryOpenProf2);var _super935=_createSuper(IfcCenterLineProfileDef);function IfcCenterLineProfileDef(expressID,ProfileType,ProfileName,Curve,Thickness){var _this938;_classCallCheck(this,IfcCenterLineProfileDef);_this938=_super935.call(this,expressID,ProfileType,ProfileName,Curve);_this938.ProfileType=ProfileType;_this938.ProfileName=ProfileName;_this938.Curve=Curve;_this938.Thickness=Thickness;_this938.type=3150382593;return _this938;}return _createClass(IfcCenterLineProfileDef);}(IfcArbitraryOpenProfileDef);IFC42.IfcCenterLineProfileDef=IfcCenterLineProfileDef;var IfcClassification=/*#__PURE__*/function(_IfcExternalInformati2){_inherits(IfcClassification,_IfcExternalInformati2);var _super936=_createSuper(IfcClassification);function IfcClassification(expressID,Source,Edition,EditionDate,Name,Description,Location,ReferenceTokens){var _this939;_classCallCheck(this,IfcClassification);_this939=_super936.call(this,expressID);_this939.Source=Source;_this939.Edition=Edition;_this939.EditionDate=EditionDate;_this939.Name=Name;_this939.Description=Description;_this939.Location=Location;_this939.ReferenceTokens=ReferenceTokens;_this939.type=747523909;return _this939;}return _createClass(IfcClassification);}(IfcExternalInformation);IFC42.IfcClassification=IfcClassification;var IfcClassificationReference=/*#__PURE__*/function(_IfcExternalReference12){_inherits(IfcClassificationReference,_IfcExternalReference12);var _super937=_createSuper(IfcClassificationReference);function IfcClassificationReference(expressID,Location,Identification,Name,ReferencedSource,Description,Sort){var _this940;_classCallCheck(this,IfcClassificationReference);_this940=_super937.call(this,expressID,Location,Identification,Name);_this940.Location=Location;_this940.Identification=Identification;_this940.Name=Name;_this940.ReferencedSource=ReferencedSource;_this940.Description=Description;_this940.Sort=Sort;_this940.type=647927063;return _this940;}return _createClass(IfcClassificationReference);}(IfcExternalReference);IFC42.IfcClassificationReference=IfcClassificationReference;var IfcColourRgbList=/*#__PURE__*/function(_IfcPresentationItem11){_inherits(IfcColourRgbList,_IfcPresentationItem11);var _super938=_createSuper(IfcColourRgbList);function IfcColourRgbList(expressID,ColourList){var _this941;_classCallCheck(this,IfcColourRgbList);_this941=_super938.call(this,expressID);_this941.ColourList=ColourList;_this941.type=3285139300;return _this941;}return _createClass(IfcColourRgbList);}(IfcPresentationItem);IFC42.IfcColourRgbList=IfcColourRgbList;var IfcColourSpecification=/*#__PURE__*/function(_IfcPresentationItem12){_inherits(IfcColourSpecification,_IfcPresentationItem12);var _super939=_createSuper(IfcColourSpecification);function IfcColourSpecification(expressID,Name){var _this942;_classCallCheck(this,IfcColourSpecification);_this942=_super939.call(this,expressID);_this942.Name=Name;_this942.type=3264961684;return _this942;}return _createClass(IfcColourSpecification);}(IfcPresentationItem);IFC42.IfcColourSpecification=IfcColourSpecification;var IfcCompositeProfileDef=/*#__PURE__*/function(_IfcProfileDef8){_inherits(IfcCompositeProfileDef,_IfcProfileDef8);var _super940=_createSuper(IfcCompositeProfileDef);function IfcCompositeProfileDef(expressID,ProfileType,ProfileName,Profiles,Label){var _this943;_classCallCheck(this,IfcCompositeProfileDef);_this943=_super940.call(this,expressID,ProfileType,ProfileName);_this943.ProfileType=ProfileType;_this943.ProfileName=ProfileName;_this943.Profiles=Profiles;_this943.Label=Label;_this943.type=1485152156;return _this943;}return _createClass(IfcCompositeProfileDef);}(IfcProfileDef);IFC42.IfcCompositeProfileDef=IfcCompositeProfileDef;var IfcConnectedFaceSet=/*#__PURE__*/function(_IfcTopologicalRepres9){_inherits(IfcConnectedFaceSet,_IfcTopologicalRepres9);var _super941=_createSuper(IfcConnectedFaceSet);function IfcConnectedFaceSet(expressID,CfsFaces){var _this944;_classCallCheck(this,IfcConnectedFaceSet);_this944=_super941.call(this,expressID);_this944.CfsFaces=CfsFaces;_this944.type=370225590;return _this944;}return _createClass(IfcConnectedFaceSet);}(IfcTopologicalRepresentationItem);IFC42.IfcConnectedFaceSet=IfcConnectedFaceSet;var IfcConnectionCurveGeometry=/*#__PURE__*/function(_IfcConnectionGeometr8){_inherits(IfcConnectionCurveGeometry,_IfcConnectionGeometr8);var _super942=_createSuper(IfcConnectionCurveGeometry);function IfcConnectionCurveGeometry(expressID,CurveOnRelatingElement,CurveOnRelatedElement){var _this945;_classCallCheck(this,IfcConnectionCurveGeometry);_this945=_super942.call(this,expressID);_this945.CurveOnRelatingElement=CurveOnRelatingElement;_this945.CurveOnRelatedElement=CurveOnRelatedElement;_this945.type=1981873012;return _this945;}return _createClass(IfcConnectionCurveGeometry);}(IfcConnectionGeometry);IFC42.IfcConnectionCurveGeometry=IfcConnectionCurveGeometry;var IfcConnectionPointEccentricity=/*#__PURE__*/function(_IfcConnectionPointGe2){_inherits(IfcConnectionPointEccentricity,_IfcConnectionPointGe2);var _super943=_createSuper(IfcConnectionPointEccentricity);function IfcConnectionPointEccentricity(expressID,PointOnRelatingElement,PointOnRelatedElement,EccentricityInX,EccentricityInY,EccentricityInZ){var _this946;_classCallCheck(this,IfcConnectionPointEccentricity);_this946=_super943.call(this,expressID,PointOnRelatingElement,PointOnRelatedElement);_this946.PointOnRelatingElement=PointOnRelatingElement;_this946.PointOnRelatedElement=PointOnRelatedElement;_this946.EccentricityInX=EccentricityInX;_this946.EccentricityInY=EccentricityInY;_this946.EccentricityInZ=EccentricityInZ;_this946.type=45288368;return _this946;}return _createClass(IfcConnectionPointEccentricity);}(IfcConnectionPointGeometry);IFC42.IfcConnectionPointEccentricity=IfcConnectionPointEccentricity;var IfcContextDependentUnit=/*#__PURE__*/function(_IfcNamedUnit5){_inherits(IfcContextDependentUnit,_IfcNamedUnit5);var _super944=_createSuper(IfcContextDependentUnit);function IfcContextDependentUnit(expressID,Dimensions,UnitType,Name){var _this947;_classCallCheck(this,IfcContextDependentUnit);_this947=_super944.call(this,expressID,Dimensions,UnitType);_this947.Dimensions=Dimensions;_this947.UnitType=UnitType;_this947.Name=Name;_this947.type=3050246964;return _this947;}return _createClass(IfcContextDependentUnit);}(IfcNamedUnit);IFC42.IfcContextDependentUnit=IfcContextDependentUnit;var IfcConversionBasedUnit=/*#__PURE__*/function(_IfcNamedUnit6){_inherits(IfcConversionBasedUnit,_IfcNamedUnit6);var _super945=_createSuper(IfcConversionBasedUnit);function IfcConversionBasedUnit(expressID,Dimensions,UnitType,Name,ConversionFactor){var _this948;_classCallCheck(this,IfcConversionBasedUnit);_this948=_super945.call(this,expressID,Dimensions,UnitType);_this948.Dimensions=Dimensions;_this948.UnitType=UnitType;_this948.Name=Name;_this948.ConversionFactor=ConversionFactor;_this948.type=2889183280;return _this948;}return _createClass(IfcConversionBasedUnit);}(IfcNamedUnit);IFC42.IfcConversionBasedUnit=IfcConversionBasedUnit;var IfcConversionBasedUnitWithOffset=/*#__PURE__*/function(_IfcConversionBasedUn){_inherits(IfcConversionBasedUnitWithOffset,_IfcConversionBasedUn);var _super946=_createSuper(IfcConversionBasedUnitWithOffset);function IfcConversionBasedUnitWithOffset(expressID,Dimensions,UnitType,Name,ConversionFactor,ConversionOffset){var _this949;_classCallCheck(this,IfcConversionBasedUnitWithOffset);_this949=_super946.call(this,expressID,Dimensions,UnitType,Name,ConversionFactor);_this949.Dimensions=Dimensions;_this949.UnitType=UnitType;_this949.Name=Name;_this949.ConversionFactor=ConversionFactor;_this949.ConversionOffset=ConversionOffset;_this949.type=2713554722;return _this949;}return _createClass(IfcConversionBasedUnitWithOffset);}(IfcConversionBasedUnit);IFC42.IfcConversionBasedUnitWithOffset=IfcConversionBasedUnitWithOffset;var IfcCurrencyRelationship=/*#__PURE__*/function(_IfcResourceLevelRela2){_inherits(IfcCurrencyRelationship,_IfcResourceLevelRela2);var _super947=_createSuper(IfcCurrencyRelationship);function IfcCurrencyRelationship(expressID,Name,Description,RelatingMonetaryUnit,RelatedMonetaryUnit,ExchangeRate,RateDateTime,RateSource){var _this950;_classCallCheck(this,IfcCurrencyRelationship);_this950=_super947.call(this,expressID,Name,Description);_this950.Name=Name;_this950.Description=Description;_this950.RelatingMonetaryUnit=RelatingMonetaryUnit;_this950.RelatedMonetaryUnit=RelatedMonetaryUnit;_this950.ExchangeRate=ExchangeRate;_this950.RateDateTime=RateDateTime;_this950.RateSource=RateSource;_this950.type=539742890;return _this950;}return _createClass(IfcCurrencyRelationship);}(IfcResourceLevelRelationship);IFC42.IfcCurrencyRelationship=IfcCurrencyRelationship;var IfcCurveStyle=/*#__PURE__*/function(_IfcPresentationStyle8){_inherits(IfcCurveStyle,_IfcPresentationStyle8);var _super948=_createSuper(IfcCurveStyle);function IfcCurveStyle(expressID,Name,CurveFont,CurveWidth,CurveColour,ModelOrDraughting){var _this951;_classCallCheck(this,IfcCurveStyle);_this951=_super948.call(this,expressID,Name);_this951.Name=Name;_this951.CurveFont=CurveFont;_this951.CurveWidth=CurveWidth;_this951.CurveColour=CurveColour;_this951.ModelOrDraughting=ModelOrDraughting;_this951.type=3800577675;return _this951;}return _createClass(IfcCurveStyle);}(IfcPresentationStyle);IFC42.IfcCurveStyle=IfcCurveStyle;var IfcCurveStyleFont=/*#__PURE__*/function(_IfcPresentationItem13){_inherits(IfcCurveStyleFont,_IfcPresentationItem13);var _super949=_createSuper(IfcCurveStyleFont);function IfcCurveStyleFont(expressID,Name,PatternList){var _this952;_classCallCheck(this,IfcCurveStyleFont);_this952=_super949.call(this,expressID);_this952.Name=Name;_this952.PatternList=PatternList;_this952.type=1105321065;return _this952;}return _createClass(IfcCurveStyleFont);}(IfcPresentationItem);IFC42.IfcCurveStyleFont=IfcCurveStyleFont;var IfcCurveStyleFontAndScaling=/*#__PURE__*/function(_IfcPresentationItem14){_inherits(IfcCurveStyleFontAndScaling,_IfcPresentationItem14);var _super950=_createSuper(IfcCurveStyleFontAndScaling);function IfcCurveStyleFontAndScaling(expressID,Name,CurveFont,CurveFontScaling){var _this953;_classCallCheck(this,IfcCurveStyleFontAndScaling);_this953=_super950.call(this,expressID);_this953.Name=Name;_this953.CurveFont=CurveFont;_this953.CurveFontScaling=CurveFontScaling;_this953.type=2367409068;return _this953;}return _createClass(IfcCurveStyleFontAndScaling);}(IfcPresentationItem);IFC42.IfcCurveStyleFontAndScaling=IfcCurveStyleFontAndScaling;var IfcCurveStyleFontPattern=/*#__PURE__*/function(_IfcPresentationItem15){_inherits(IfcCurveStyleFontPattern,_IfcPresentationItem15);var _super951=_createSuper(IfcCurveStyleFontPattern);function IfcCurveStyleFontPattern(expressID,VisibleSegmentLength,InvisibleSegmentLength){var _this954;_classCallCheck(this,IfcCurveStyleFontPattern);_this954=_super951.call(this,expressID);_this954.VisibleSegmentLength=VisibleSegmentLength;_this954.InvisibleSegmentLength=InvisibleSegmentLength;_this954.type=3510044353;return _this954;}return _createClass(IfcCurveStyleFontPattern);}(IfcPresentationItem);IFC42.IfcCurveStyleFontPattern=IfcCurveStyleFontPattern;var IfcDerivedProfileDef=/*#__PURE__*/function(_IfcProfileDef9){_inherits(IfcDerivedProfileDef,_IfcProfileDef9);var _super952=_createSuper(IfcDerivedProfileDef);function IfcDerivedProfileDef(expressID,ProfileType,ProfileName,ParentProfile,Operator,Label){var _this955;_classCallCheck(this,IfcDerivedProfileDef);_this955=_super952.call(this,expressID,ProfileType,ProfileName);_this955.ProfileType=ProfileType;_this955.ProfileName=ProfileName;_this955.ParentProfile=ParentProfile;_this955.Operator=Operator;_this955.Label=Label;_this955.type=3632507154;return _this955;}return _createClass(IfcDerivedProfileDef);}(IfcProfileDef);IFC42.IfcDerivedProfileDef=IfcDerivedProfileDef;var IfcDocumentInformation=/*#__PURE__*/function(_IfcExternalInformati3){_inherits(IfcDocumentInformation,_IfcExternalInformati3);var _super953=_createSuper(IfcDocumentInformation);function IfcDocumentInformation(expressID,Identification,Name,Description,Location,Purpose,IntendedUse,Scope,Revision,DocumentOwner,Editors,CreationTime,LastRevisionTime,ElectronicFormat,ValidFrom,ValidUntil,Confidentiality,Status){var _this956;_classCallCheck(this,IfcDocumentInformation);_this956=_super953.call(this,expressID);_this956.Identification=Identification;_this956.Name=Name;_this956.Description=Description;_this956.Location=Location;_this956.Purpose=Purpose;_this956.IntendedUse=IntendedUse;_this956.Scope=Scope;_this956.Revision=Revision;_this956.DocumentOwner=DocumentOwner;_this956.Editors=Editors;_this956.CreationTime=CreationTime;_this956.LastRevisionTime=LastRevisionTime;_this956.ElectronicFormat=ElectronicFormat;_this956.ValidFrom=ValidFrom;_this956.ValidUntil=ValidUntil;_this956.Confidentiality=Confidentiality;_this956.Status=Status;_this956.type=1154170062;return _this956;}return _createClass(IfcDocumentInformation);}(IfcExternalInformation);IFC42.IfcDocumentInformation=IfcDocumentInformation;var IfcDocumentInformationRelationship=/*#__PURE__*/function(_IfcResourceLevelRela3){_inherits(IfcDocumentInformationRelationship,_IfcResourceLevelRela3);var _super954=_createSuper(IfcDocumentInformationRelationship);function IfcDocumentInformationRelationship(expressID,Name,Description,RelatingDocument,RelatedDocuments,RelationshipType){var _this957;_classCallCheck(this,IfcDocumentInformationRelationship);_this957=_super954.call(this,expressID,Name,Description);_this957.Name=Name;_this957.Description=Description;_this957.RelatingDocument=RelatingDocument;_this957.RelatedDocuments=RelatedDocuments;_this957.RelationshipType=RelationshipType;_this957.type=770865208;return _this957;}return _createClass(IfcDocumentInformationRelationship);}(IfcResourceLevelRelationship);IFC42.IfcDocumentInformationRelationship=IfcDocumentInformationRelationship;var IfcDocumentReference=/*#__PURE__*/function(_IfcExternalReference13){_inherits(IfcDocumentReference,_IfcExternalReference13);var _super955=_createSuper(IfcDocumentReference);function IfcDocumentReference(expressID,Location,Identification,Name,Description,ReferencedDocument){var _this958;_classCallCheck(this,IfcDocumentReference);_this958=_super955.call(this,expressID,Location,Identification,Name);_this958.Location=Location;_this958.Identification=Identification;_this958.Name=Name;_this958.Description=Description;_this958.ReferencedDocument=ReferencedDocument;_this958.type=3732053477;return _this958;}return _createClass(IfcDocumentReference);}(IfcExternalReference);IFC42.IfcDocumentReference=IfcDocumentReference;var IfcEdge=/*#__PURE__*/function(_IfcTopologicalRepres10){_inherits(IfcEdge,_IfcTopologicalRepres10);var _super956=_createSuper(IfcEdge);function IfcEdge(expressID,EdgeStart,EdgeEnd){var _this959;_classCallCheck(this,IfcEdge);_this959=_super956.call(this,expressID);_this959.EdgeStart=EdgeStart;_this959.EdgeEnd=EdgeEnd;_this959.type=3900360178;return _this959;}return _createClass(IfcEdge);}(IfcTopologicalRepresentationItem);IFC42.IfcEdge=IfcEdge;var IfcEdgeCurve=/*#__PURE__*/function(_IfcEdge4){_inherits(IfcEdgeCurve,_IfcEdge4);var _super957=_createSuper(IfcEdgeCurve);function IfcEdgeCurve(expressID,EdgeStart,EdgeEnd,EdgeGeometry,SameSense){var _this960;_classCallCheck(this,IfcEdgeCurve);_this960=_super957.call(this,expressID,EdgeStart,EdgeEnd);_this960.EdgeStart=EdgeStart;_this960.EdgeEnd=EdgeEnd;_this960.EdgeGeometry=EdgeGeometry;_this960.SameSense=SameSense;_this960.type=476780140;return _this960;}return _createClass(IfcEdgeCurve);}(IfcEdge);IFC42.IfcEdgeCurve=IfcEdgeCurve;var IfcEventTime=/*#__PURE__*/function(_IfcSchedulingTime3){_inherits(IfcEventTime,_IfcSchedulingTime3);var _super958=_createSuper(IfcEventTime);function IfcEventTime(expressID,Name,DataOrigin,UserDefinedDataOrigin,ActualDate,EarlyDate,LateDate,ScheduleDate){var _this961;_classCallCheck(this,IfcEventTime);_this961=_super958.call(this,expressID,Name,DataOrigin,UserDefinedDataOrigin);_this961.Name=Name;_this961.DataOrigin=DataOrigin;_this961.UserDefinedDataOrigin=UserDefinedDataOrigin;_this961.ActualDate=ActualDate;_this961.EarlyDate=EarlyDate;_this961.LateDate=LateDate;_this961.ScheduleDate=ScheduleDate;_this961.type=211053100;return _this961;}return _createClass(IfcEventTime);}(IfcSchedulingTime);IFC42.IfcEventTime=IfcEventTime;var IfcExtendedProperties=/*#__PURE__*/function(_IfcPropertyAbstracti2){_inherits(IfcExtendedProperties,_IfcPropertyAbstracti2);var _super959=_createSuper(IfcExtendedProperties);function IfcExtendedProperties(expressID,Name,Description,Properties2){var _this962;_classCallCheck(this,IfcExtendedProperties);_this962=_super959.call(this,expressID);_this962.Name=Name;_this962.Description=Description;_this962.Properties=Properties2;_this962.type=297599258;return _this962;}return _createClass(IfcExtendedProperties);}(IfcPropertyAbstraction);IFC42.IfcExtendedProperties=IfcExtendedProperties;var IfcExternalReferenceRelationship=/*#__PURE__*/function(_IfcResourceLevelRela4){_inherits(IfcExternalReferenceRelationship,_IfcResourceLevelRela4);var _super960=_createSuper(IfcExternalReferenceRelationship);function IfcExternalReferenceRelationship(expressID,Name,Description,RelatingReference,RelatedResourceObjects){var _this963;_classCallCheck(this,IfcExternalReferenceRelationship);_this963=_super960.call(this,expressID,Name,Description);_this963.Name=Name;_this963.Description=Description;_this963.RelatingReference=RelatingReference;_this963.RelatedResourceObjects=RelatedResourceObjects;_this963.type=1437805879;return _this963;}return _createClass(IfcExternalReferenceRelationship);}(IfcResourceLevelRelationship);IFC42.IfcExternalReferenceRelationship=IfcExternalReferenceRelationship;var IfcFace=/*#__PURE__*/function(_IfcTopologicalRepres11){_inherits(IfcFace,_IfcTopologicalRepres11);var _super961=_createSuper(IfcFace);function IfcFace(expressID,Bounds){var _this964;_classCallCheck(this,IfcFace);_this964=_super961.call(this,expressID);_this964.Bounds=Bounds;_this964.type=2556980723;return _this964;}return _createClass(IfcFace);}(IfcTopologicalRepresentationItem);IFC42.IfcFace=IfcFace;var IfcFaceBound=/*#__PURE__*/function(_IfcTopologicalRepres12){_inherits(IfcFaceBound,_IfcTopologicalRepres12);var _super962=_createSuper(IfcFaceBound);function IfcFaceBound(expressID,Bound,Orientation){var _this965;_classCallCheck(this,IfcFaceBound);_this965=_super962.call(this,expressID);_this965.Bound=Bound;_this965.Orientation=Orientation;_this965.type=1809719519;return _this965;}return _createClass(IfcFaceBound);}(IfcTopologicalRepresentationItem);IFC42.IfcFaceBound=IfcFaceBound;var IfcFaceOuterBound=/*#__PURE__*/function(_IfcFaceBound2){_inherits(IfcFaceOuterBound,_IfcFaceBound2);var _super963=_createSuper(IfcFaceOuterBound);function IfcFaceOuterBound(expressID,Bound,Orientation){var _this966;_classCallCheck(this,IfcFaceOuterBound);_this966=_super963.call(this,expressID,Bound,Orientation);_this966.Bound=Bound;_this966.Orientation=Orientation;_this966.type=803316827;return _this966;}return _createClass(IfcFaceOuterBound);}(IfcFaceBound);IFC42.IfcFaceOuterBound=IfcFaceOuterBound;var IfcFaceSurface=/*#__PURE__*/function(_IfcFace2){_inherits(IfcFaceSurface,_IfcFace2);var _super964=_createSuper(IfcFaceSurface);function IfcFaceSurface(expressID,Bounds,FaceSurface,SameSense){var _this967;_classCallCheck(this,IfcFaceSurface);_this967=_super964.call(this,expressID,Bounds);_this967.Bounds=Bounds;_this967.FaceSurface=FaceSurface;_this967.SameSense=SameSense;_this967.type=3008276851;return _this967;}return _createClass(IfcFaceSurface);}(IfcFace);IFC42.IfcFaceSurface=IfcFaceSurface;var IfcFailureConnectionCondition=/*#__PURE__*/function(_IfcStructuralConnect6){_inherits(IfcFailureConnectionCondition,_IfcStructuralConnect6);var _super965=_createSuper(IfcFailureConnectionCondition);function IfcFailureConnectionCondition(expressID,Name,TensionFailureX,TensionFailureY,TensionFailureZ,CompressionFailureX,CompressionFailureY,CompressionFailureZ){var _this968;_classCallCheck(this,IfcFailureConnectionCondition);_this968=_super965.call(this,expressID,Name);_this968.Name=Name;_this968.TensionFailureX=TensionFailureX;_this968.TensionFailureY=TensionFailureY;_this968.TensionFailureZ=TensionFailureZ;_this968.CompressionFailureX=CompressionFailureX;_this968.CompressionFailureY=CompressionFailureY;_this968.CompressionFailureZ=CompressionFailureZ;_this968.type=4219587988;return _this968;}return _createClass(IfcFailureConnectionCondition);}(IfcStructuralConnectionCondition);IFC42.IfcFailureConnectionCondition=IfcFailureConnectionCondition;var IfcFillAreaStyle=/*#__PURE__*/function(_IfcPresentationStyle9){_inherits(IfcFillAreaStyle,_IfcPresentationStyle9);var _super966=_createSuper(IfcFillAreaStyle);function IfcFillAreaStyle(expressID,Name,FillStyles,ModelorDraughting){var _this969;_classCallCheck(this,IfcFillAreaStyle);_this969=_super966.call(this,expressID,Name);_this969.Name=Name;_this969.FillStyles=FillStyles;_this969.ModelorDraughting=ModelorDraughting;_this969.type=738692330;return _this969;}return _createClass(IfcFillAreaStyle);}(IfcPresentationStyle);IFC42.IfcFillAreaStyle=IfcFillAreaStyle;var IfcGeometricRepresentationContext=/*#__PURE__*/function(_IfcRepresentationCon2){_inherits(IfcGeometricRepresentationContext,_IfcRepresentationCon2);var _super967=_createSuper(IfcGeometricRepresentationContext);function IfcGeometricRepresentationContext(expressID,ContextIdentifier,ContextType,CoordinateSpaceDimension,Precision,WorldCoordinateSystem,TrueNorth){var _this970;_classCallCheck(this,IfcGeometricRepresentationContext);_this970=_super967.call(this,expressID,ContextIdentifier,ContextType);_this970.ContextIdentifier=ContextIdentifier;_this970.ContextType=ContextType;_this970.CoordinateSpaceDimension=CoordinateSpaceDimension;_this970.Precision=Precision;_this970.WorldCoordinateSystem=WorldCoordinateSystem;_this970.TrueNorth=TrueNorth;_this970.type=3448662350;return _this970;}return _createClass(IfcGeometricRepresentationContext);}(IfcRepresentationContext);IFC42.IfcGeometricRepresentationContext=IfcGeometricRepresentationContext;var IfcGeometricRepresentationItem=/*#__PURE__*/function(_IfcRepresentationIte7){_inherits(IfcGeometricRepresentationItem,_IfcRepresentationIte7);var _super968=_createSuper(IfcGeometricRepresentationItem);function IfcGeometricRepresentationItem(expressID){var _this971;_classCallCheck(this,IfcGeometricRepresentationItem);_this971=_super968.call(this,expressID);_this971.type=2453401579;return _this971;}return _createClass(IfcGeometricRepresentationItem);}(IfcRepresentationItem);IFC42.IfcGeometricRepresentationItem=IfcGeometricRepresentationItem;var IfcGeometricRepresentationSubContext=/*#__PURE__*/function(_IfcGeometricRepresen30){_inherits(IfcGeometricRepresentationSubContext,_IfcGeometricRepresen30);var _super969=_createSuper(IfcGeometricRepresentationSubContext);function IfcGeometricRepresentationSubContext(expressID,ContextIdentifier,ContextType,ParentContext,TargetScale,TargetView,UserDefinedTargetView){var _this972;_classCallCheck(this,IfcGeometricRepresentationSubContext);_this972=_super969.call(this,expressID,ContextIdentifier,ContextType,new IfcDimensionCount(0),null,new Handle(0),null);_this972.ContextIdentifier=ContextIdentifier;_this972.ContextType=ContextType;_this972.ParentContext=ParentContext;_this972.TargetScale=TargetScale;_this972.TargetView=TargetView;_this972.UserDefinedTargetView=UserDefinedTargetView;_this972.type=4142052618;return _this972;}return _createClass(IfcGeometricRepresentationSubContext);}(IfcGeometricRepresentationContext);IFC42.IfcGeometricRepresentationSubContext=IfcGeometricRepresentationSubContext;var IfcGeometricSet=/*#__PURE__*/function(_IfcGeometricRepresen31){_inherits(IfcGeometricSet,_IfcGeometricRepresen31);var _super970=_createSuper(IfcGeometricSet);function IfcGeometricSet(expressID,Elements){var _this973;_classCallCheck(this,IfcGeometricSet);_this973=_super970.call(this,expressID);_this973.Elements=Elements;_this973.type=3590301190;return _this973;}return _createClass(IfcGeometricSet);}(IfcGeometricRepresentationItem);IFC42.IfcGeometricSet=IfcGeometricSet;var IfcGridPlacement=/*#__PURE__*/function(_IfcObjectPlacement3){_inherits(IfcGridPlacement,_IfcObjectPlacement3);var _super971=_createSuper(IfcGridPlacement);function IfcGridPlacement(expressID,PlacementLocation,PlacementRefDirection){var _this974;_classCallCheck(this,IfcGridPlacement);_this974=_super971.call(this,expressID);_this974.PlacementLocation=PlacementLocation;_this974.PlacementRefDirection=PlacementRefDirection;_this974.type=178086475;return _this974;}return _createClass(IfcGridPlacement);}(IfcObjectPlacement);IFC42.IfcGridPlacement=IfcGridPlacement;var IfcHalfSpaceSolid=/*#__PURE__*/function(_IfcGeometricRepresen32){_inherits(IfcHalfSpaceSolid,_IfcGeometricRepresen32);var _super972=_createSuper(IfcHalfSpaceSolid);function IfcHalfSpaceSolid(expressID,BaseSurface,AgreementFlag){var _this975;_classCallCheck(this,IfcHalfSpaceSolid);_this975=_super972.call(this,expressID);_this975.BaseSurface=BaseSurface;_this975.AgreementFlag=AgreementFlag;_this975.type=812098782;return _this975;}return _createClass(IfcHalfSpaceSolid);}(IfcGeometricRepresentationItem);IFC42.IfcHalfSpaceSolid=IfcHalfSpaceSolid;var IfcImageTexture=/*#__PURE__*/function(_IfcSurfaceTexture5){_inherits(IfcImageTexture,_IfcSurfaceTexture5);var _super973=_createSuper(IfcImageTexture);function IfcImageTexture(expressID,RepeatS,RepeatT,Mode,TextureTransform,Parameter,URLReference){var _this976;_classCallCheck(this,IfcImageTexture);_this976=_super973.call(this,expressID,RepeatS,RepeatT,Mode,TextureTransform,Parameter);_this976.RepeatS=RepeatS;_this976.RepeatT=RepeatT;_this976.Mode=Mode;_this976.TextureTransform=TextureTransform;_this976.Parameter=Parameter;_this976.URLReference=URLReference;_this976.type=3905492369;return _this976;}return _createClass(IfcImageTexture);}(IfcSurfaceTexture);IFC42.IfcImageTexture=IfcImageTexture;var IfcIndexedColourMap=/*#__PURE__*/function(_IfcPresentationItem16){_inherits(IfcIndexedColourMap,_IfcPresentationItem16);var _super974=_createSuper(IfcIndexedColourMap);function IfcIndexedColourMap(expressID,MappedTo,Opacity,Colours,ColourIndex){var _this977;_classCallCheck(this,IfcIndexedColourMap);_this977=_super974.call(this,expressID);_this977.MappedTo=MappedTo;_this977.Opacity=Opacity;_this977.Colours=Colours;_this977.ColourIndex=ColourIndex;_this977.type=3570813810;return _this977;}return _createClass(IfcIndexedColourMap);}(IfcPresentationItem);IFC42.IfcIndexedColourMap=IfcIndexedColourMap;var IfcIndexedTextureMap=/*#__PURE__*/function(_IfcTextureCoordinate5){_inherits(IfcIndexedTextureMap,_IfcTextureCoordinate5);var _super975=_createSuper(IfcIndexedTextureMap);function IfcIndexedTextureMap(expressID,Maps,MappedTo,TexCoords){var _this978;_classCallCheck(this,IfcIndexedTextureMap);_this978=_super975.call(this,expressID,Maps);_this978.Maps=Maps;_this978.MappedTo=MappedTo;_this978.TexCoords=TexCoords;_this978.type=1437953363;return _this978;}return _createClass(IfcIndexedTextureMap);}(IfcTextureCoordinate);IFC42.IfcIndexedTextureMap=IfcIndexedTextureMap;var IfcIndexedTriangleTextureMap=/*#__PURE__*/function(_IfcIndexedTextureMap){_inherits(IfcIndexedTriangleTextureMap,_IfcIndexedTextureMap);var _super976=_createSuper(IfcIndexedTriangleTextureMap);function IfcIndexedTriangleTextureMap(expressID,Maps,MappedTo,TexCoords,TexCoordIndex){var _this979;_classCallCheck(this,IfcIndexedTriangleTextureMap);_this979=_super976.call(this,expressID,Maps,MappedTo,TexCoords);_this979.Maps=Maps;_this979.MappedTo=MappedTo;_this979.TexCoords=TexCoords;_this979.TexCoordIndex=TexCoordIndex;_this979.type=2133299955;return _this979;}return _createClass(IfcIndexedTriangleTextureMap);}(IfcIndexedTextureMap);IFC42.IfcIndexedTriangleTextureMap=IfcIndexedTriangleTextureMap;var IfcIrregularTimeSeries=/*#__PURE__*/function(_IfcTimeSeries3){_inherits(IfcIrregularTimeSeries,_IfcTimeSeries3);var _super977=_createSuper(IfcIrregularTimeSeries);function IfcIrregularTimeSeries(expressID,Name,Description,StartTime,EndTime,TimeSeriesDataType,DataOrigin,UserDefinedDataOrigin,Unit,Values){var _this980;_classCallCheck(this,IfcIrregularTimeSeries);_this980=_super977.call(this,expressID,Name,Description,StartTime,EndTime,TimeSeriesDataType,DataOrigin,UserDefinedDataOrigin,Unit);_this980.Name=Name;_this980.Description=Description;_this980.StartTime=StartTime;_this980.EndTime=EndTime;_this980.TimeSeriesDataType=TimeSeriesDataType;_this980.DataOrigin=DataOrigin;_this980.UserDefinedDataOrigin=UserDefinedDataOrigin;_this980.Unit=Unit;_this980.Values=Values;_this980.type=3741457305;return _this980;}return _createClass(IfcIrregularTimeSeries);}(IfcTimeSeries);IFC42.IfcIrregularTimeSeries=IfcIrregularTimeSeries;var IfcLagTime=/*#__PURE__*/function(_IfcSchedulingTime4){_inherits(IfcLagTime,_IfcSchedulingTime4);var _super978=_createSuper(IfcLagTime);function IfcLagTime(expressID,Name,DataOrigin,UserDefinedDataOrigin,LagValue,DurationType){var _this981;_classCallCheck(this,IfcLagTime);_this981=_super978.call(this,expressID,Name,DataOrigin,UserDefinedDataOrigin);_this981.Name=Name;_this981.DataOrigin=DataOrigin;_this981.UserDefinedDataOrigin=UserDefinedDataOrigin;_this981.LagValue=LagValue;_this981.DurationType=DurationType;_this981.type=1585845231;return _this981;}return _createClass(IfcLagTime);}(IfcSchedulingTime);IFC42.IfcLagTime=IfcLagTime;var IfcLightSource=/*#__PURE__*/function(_IfcGeometricRepresen33){_inherits(IfcLightSource,_IfcGeometricRepresen33);var _super979=_createSuper(IfcLightSource);function IfcLightSource(expressID,Name,LightColour,AmbientIntensity,Intensity){var _this982;_classCallCheck(this,IfcLightSource);_this982=_super979.call(this,expressID);_this982.Name=Name;_this982.LightColour=LightColour;_this982.AmbientIntensity=AmbientIntensity;_this982.Intensity=Intensity;_this982.type=1402838566;return _this982;}return _createClass(IfcLightSource);}(IfcGeometricRepresentationItem);IFC42.IfcLightSource=IfcLightSource;var IfcLightSourceAmbient=/*#__PURE__*/function(_IfcLightSource5){_inherits(IfcLightSourceAmbient,_IfcLightSource5);var _super980=_createSuper(IfcLightSourceAmbient);function IfcLightSourceAmbient(expressID,Name,LightColour,AmbientIntensity,Intensity){var _this983;_classCallCheck(this,IfcLightSourceAmbient);_this983=_super980.call(this,expressID,Name,LightColour,AmbientIntensity,Intensity);_this983.Name=Name;_this983.LightColour=LightColour;_this983.AmbientIntensity=AmbientIntensity;_this983.Intensity=Intensity;_this983.type=125510826;return _this983;}return _createClass(IfcLightSourceAmbient);}(IfcLightSource);IFC42.IfcLightSourceAmbient=IfcLightSourceAmbient;var IfcLightSourceDirectional=/*#__PURE__*/function(_IfcLightSource6){_inherits(IfcLightSourceDirectional,_IfcLightSource6);var _super981=_createSuper(IfcLightSourceDirectional);function IfcLightSourceDirectional(expressID,Name,LightColour,AmbientIntensity,Intensity,Orientation){var _this984;_classCallCheck(this,IfcLightSourceDirectional);_this984=_super981.call(this,expressID,Name,LightColour,AmbientIntensity,Intensity);_this984.Name=Name;_this984.LightColour=LightColour;_this984.AmbientIntensity=AmbientIntensity;_this984.Intensity=Intensity;_this984.Orientation=Orientation;_this984.type=2604431987;return _this984;}return _createClass(IfcLightSourceDirectional);}(IfcLightSource);IFC42.IfcLightSourceDirectional=IfcLightSourceDirectional;var IfcLightSourceGoniometric=/*#__PURE__*/function(_IfcLightSource7){_inherits(IfcLightSourceGoniometric,_IfcLightSource7);var _super982=_createSuper(IfcLightSourceGoniometric);function IfcLightSourceGoniometric(expressID,Name,LightColour,AmbientIntensity,Intensity,Position,ColourAppearance,ColourTemperature,LuminousFlux,LightEmissionSource,LightDistributionDataSource){var _this985;_classCallCheck(this,IfcLightSourceGoniometric);_this985=_super982.call(this,expressID,Name,LightColour,AmbientIntensity,Intensity);_this985.Name=Name;_this985.LightColour=LightColour;_this985.AmbientIntensity=AmbientIntensity;_this985.Intensity=Intensity;_this985.Position=Position;_this985.ColourAppearance=ColourAppearance;_this985.ColourTemperature=ColourTemperature;_this985.LuminousFlux=LuminousFlux;_this985.LightEmissionSource=LightEmissionSource;_this985.LightDistributionDataSource=LightDistributionDataSource;_this985.type=4266656042;return _this985;}return _createClass(IfcLightSourceGoniometric);}(IfcLightSource);IFC42.IfcLightSourceGoniometric=IfcLightSourceGoniometric;var IfcLightSourcePositional=/*#__PURE__*/function(_IfcLightSource8){_inherits(IfcLightSourcePositional,_IfcLightSource8);var _super983=_createSuper(IfcLightSourcePositional);function IfcLightSourcePositional(expressID,Name,LightColour,AmbientIntensity,Intensity,Position,Radius,ConstantAttenuation,DistanceAttenuation,QuadricAttenuation){var _this986;_classCallCheck(this,IfcLightSourcePositional);_this986=_super983.call(this,expressID,Name,LightColour,AmbientIntensity,Intensity);_this986.Name=Name;_this986.LightColour=LightColour;_this986.AmbientIntensity=AmbientIntensity;_this986.Intensity=Intensity;_this986.Position=Position;_this986.Radius=Radius;_this986.ConstantAttenuation=ConstantAttenuation;_this986.DistanceAttenuation=DistanceAttenuation;_this986.QuadricAttenuation=QuadricAttenuation;_this986.type=1520743889;return _this986;}return _createClass(IfcLightSourcePositional);}(IfcLightSource);IFC42.IfcLightSourcePositional=IfcLightSourcePositional;var IfcLightSourceSpot=/*#__PURE__*/function(_IfcLightSourcePositi2){_inherits(IfcLightSourceSpot,_IfcLightSourcePositi2);var _super984=_createSuper(IfcLightSourceSpot);function IfcLightSourceSpot(expressID,Name,LightColour,AmbientIntensity,Intensity,Position,Radius,ConstantAttenuation,DistanceAttenuation,QuadricAttenuation,Orientation,ConcentrationExponent,SpreadAngle,BeamWidthAngle){var _this987;_classCallCheck(this,IfcLightSourceSpot);_this987=_super984.call(this,expressID,Name,LightColour,AmbientIntensity,Intensity,Position,Radius,ConstantAttenuation,DistanceAttenuation,QuadricAttenuation);_this987.Name=Name;_this987.LightColour=LightColour;_this987.AmbientIntensity=AmbientIntensity;_this987.Intensity=Intensity;_this987.Position=Position;_this987.Radius=Radius;_this987.ConstantAttenuation=ConstantAttenuation;_this987.DistanceAttenuation=DistanceAttenuation;_this987.QuadricAttenuation=QuadricAttenuation;_this987.Orientation=Orientation;_this987.ConcentrationExponent=ConcentrationExponent;_this987.SpreadAngle=SpreadAngle;_this987.BeamWidthAngle=BeamWidthAngle;_this987.type=3422422726;return _this987;}return _createClass(IfcLightSourceSpot);}(IfcLightSourcePositional);IFC42.IfcLightSourceSpot=IfcLightSourceSpot;var IfcLocalPlacement=/*#__PURE__*/function(_IfcObjectPlacement4){_inherits(IfcLocalPlacement,_IfcObjectPlacement4);var _super985=_createSuper(IfcLocalPlacement);function IfcLocalPlacement(expressID,PlacementRelTo,RelativePlacement){var _this988;_classCallCheck(this,IfcLocalPlacement);_this988=_super985.call(this,expressID);_this988.PlacementRelTo=PlacementRelTo;_this988.RelativePlacement=RelativePlacement;_this988.type=2624227202;return _this988;}return _createClass(IfcLocalPlacement);}(IfcObjectPlacement);IFC42.IfcLocalPlacement=IfcLocalPlacement;var IfcLoop=/*#__PURE__*/function(_IfcTopologicalRepres13){_inherits(IfcLoop,_IfcTopologicalRepres13);var _super986=_createSuper(IfcLoop);function IfcLoop(expressID){var _this989;_classCallCheck(this,IfcLoop);_this989=_super986.call(this,expressID);_this989.type=1008929658;return _this989;}return _createClass(IfcLoop);}(IfcTopologicalRepresentationItem);IFC42.IfcLoop=IfcLoop;var IfcMappedItem=/*#__PURE__*/function(_IfcRepresentationIte8){_inherits(IfcMappedItem,_IfcRepresentationIte8);var _super987=_createSuper(IfcMappedItem);function IfcMappedItem(expressID,MappingSource,MappingTarget){var _this990;_classCallCheck(this,IfcMappedItem);_this990=_super987.call(this,expressID);_this990.MappingSource=MappingSource;_this990.MappingTarget=MappingTarget;_this990.type=2347385850;return _this990;}return _createClass(IfcMappedItem);}(IfcRepresentationItem);IFC42.IfcMappedItem=IfcMappedItem;var IfcMaterial=/*#__PURE__*/function(_IfcMaterialDefinitio5){_inherits(IfcMaterial,_IfcMaterialDefinitio5);var _super988=_createSuper(IfcMaterial);function IfcMaterial(expressID,Name,Description,Category){var _this991;_classCallCheck(this,IfcMaterial);_this991=_super988.call(this,expressID);_this991.Name=Name;_this991.Description=Description;_this991.Category=Category;_this991.type=1838606355;return _this991;}return _createClass(IfcMaterial);}(IfcMaterialDefinition);IFC42.IfcMaterial=IfcMaterial;var IfcMaterialConstituent=/*#__PURE__*/function(_IfcMaterialDefinitio6){_inherits(IfcMaterialConstituent,_IfcMaterialDefinitio6);var _super989=_createSuper(IfcMaterialConstituent);function IfcMaterialConstituent(expressID,Name,Description,Material,Fraction,Category){var _this992;_classCallCheck(this,IfcMaterialConstituent);_this992=_super989.call(this,expressID);_this992.Name=Name;_this992.Description=Description;_this992.Material=Material;_this992.Fraction=Fraction;_this992.Category=Category;_this992.type=3708119e3;return _this992;}return _createClass(IfcMaterialConstituent);}(IfcMaterialDefinition);IFC42.IfcMaterialConstituent=IfcMaterialConstituent;var IfcMaterialConstituentSet=/*#__PURE__*/function(_IfcMaterialDefinitio7){_inherits(IfcMaterialConstituentSet,_IfcMaterialDefinitio7);var _super990=_createSuper(IfcMaterialConstituentSet);function IfcMaterialConstituentSet(expressID,Name,Description,MaterialConstituents){var _this993;_classCallCheck(this,IfcMaterialConstituentSet);_this993=_super990.call(this,expressID);_this993.Name=Name;_this993.Description=Description;_this993.MaterialConstituents=MaterialConstituents;_this993.type=2852063980;return _this993;}return _createClass(IfcMaterialConstituentSet);}(IfcMaterialDefinition);IFC42.IfcMaterialConstituentSet=IfcMaterialConstituentSet;var IfcMaterialDefinitionRepresentation=/*#__PURE__*/function(_IfcProductRepresenta3){_inherits(IfcMaterialDefinitionRepresentation,_IfcProductRepresenta3);var _super991=_createSuper(IfcMaterialDefinitionRepresentation);function IfcMaterialDefinitionRepresentation(expressID,Name,Description,Representations,RepresentedMaterial){var _this994;_classCallCheck(this,IfcMaterialDefinitionRepresentation);_this994=_super991.call(this,expressID,Name,Description,Representations);_this994.Name=Name;_this994.Description=Description;_this994.Representations=Representations;_this994.RepresentedMaterial=RepresentedMaterial;_this994.type=2022407955;return _this994;}return _createClass(IfcMaterialDefinitionRepresentation);}(IfcProductRepresentation);IFC42.IfcMaterialDefinitionRepresentation=IfcMaterialDefinitionRepresentation;var IfcMaterialLayerSetUsage=/*#__PURE__*/function(_IfcMaterialUsageDefi){_inherits(IfcMaterialLayerSetUsage,_IfcMaterialUsageDefi);var _super992=_createSuper(IfcMaterialLayerSetUsage);function IfcMaterialLayerSetUsage(expressID,ForLayerSet,LayerSetDirection,DirectionSense,OffsetFromReferenceLine,ReferenceExtent){var _this995;_classCallCheck(this,IfcMaterialLayerSetUsage);_this995=_super992.call(this,expressID);_this995.ForLayerSet=ForLayerSet;_this995.LayerSetDirection=LayerSetDirection;_this995.DirectionSense=DirectionSense;_this995.OffsetFromReferenceLine=OffsetFromReferenceLine;_this995.ReferenceExtent=ReferenceExtent;_this995.type=1303795690;return _this995;}return _createClass(IfcMaterialLayerSetUsage);}(IfcMaterialUsageDefinition);IFC42.IfcMaterialLayerSetUsage=IfcMaterialLayerSetUsage;var IfcMaterialProfileSetUsage=/*#__PURE__*/function(_IfcMaterialUsageDefi2){_inherits(IfcMaterialProfileSetUsage,_IfcMaterialUsageDefi2);var _super993=_createSuper(IfcMaterialProfileSetUsage);function IfcMaterialProfileSetUsage(expressID,ForProfileSet,CardinalPoint,ReferenceExtent){var _this996;_classCallCheck(this,IfcMaterialProfileSetUsage);_this996=_super993.call(this,expressID);_this996.ForProfileSet=ForProfileSet;_this996.CardinalPoint=CardinalPoint;_this996.ReferenceExtent=ReferenceExtent;_this996.type=3079605661;return _this996;}return _createClass(IfcMaterialProfileSetUsage);}(IfcMaterialUsageDefinition);IFC42.IfcMaterialProfileSetUsage=IfcMaterialProfileSetUsage;var IfcMaterialProfileSetUsageTapering=/*#__PURE__*/function(_IfcMaterialProfileSe){_inherits(IfcMaterialProfileSetUsageTapering,_IfcMaterialProfileSe);var _super994=_createSuper(IfcMaterialProfileSetUsageTapering);function IfcMaterialProfileSetUsageTapering(expressID,ForProfileSet,CardinalPoint,ReferenceExtent,ForProfileEndSet,CardinalEndPoint){var _this997;_classCallCheck(this,IfcMaterialProfileSetUsageTapering);_this997=_super994.call(this,expressID,ForProfileSet,CardinalPoint,ReferenceExtent);_this997.ForProfileSet=ForProfileSet;_this997.CardinalPoint=CardinalPoint;_this997.ReferenceExtent=ReferenceExtent;_this997.ForProfileEndSet=ForProfileEndSet;_this997.CardinalEndPoint=CardinalEndPoint;_this997.type=3404854881;return _this997;}return _createClass(IfcMaterialProfileSetUsageTapering);}(IfcMaterialProfileSetUsage);IFC42.IfcMaterialProfileSetUsageTapering=IfcMaterialProfileSetUsageTapering;var IfcMaterialProperties=/*#__PURE__*/function(_IfcExtendedPropertie){_inherits(IfcMaterialProperties,_IfcExtendedPropertie);var _super995=_createSuper(IfcMaterialProperties);function IfcMaterialProperties(expressID,Name,Description,Properties2,Material){var _this998;_classCallCheck(this,IfcMaterialProperties);_this998=_super995.call(this,expressID,Name,Description,Properties2);_this998.Name=Name;_this998.Description=Description;_this998.Properties=Properties2;_this998.Material=Material;_this998.type=3265635763;return _this998;}return _createClass(IfcMaterialProperties);}(IfcExtendedProperties);IFC42.IfcMaterialProperties=IfcMaterialProperties;var IfcMaterialRelationship=/*#__PURE__*/function(_IfcResourceLevelRela5){_inherits(IfcMaterialRelationship,_IfcResourceLevelRela5);var _super996=_createSuper(IfcMaterialRelationship);function IfcMaterialRelationship(expressID,Name,Description,RelatingMaterial,RelatedMaterials,Expression){var _this999;_classCallCheck(this,IfcMaterialRelationship);_this999=_super996.call(this,expressID,Name,Description);_this999.Name=Name;_this999.Description=Description;_this999.RelatingMaterial=RelatingMaterial;_this999.RelatedMaterials=RelatedMaterials;_this999.Expression=Expression;_this999.type=853536259;return _this999;}return _createClass(IfcMaterialRelationship);}(IfcResourceLevelRelationship);IFC42.IfcMaterialRelationship=IfcMaterialRelationship;var IfcMirroredProfileDef=/*#__PURE__*/function(_IfcDerivedProfileDef){_inherits(IfcMirroredProfileDef,_IfcDerivedProfileDef);var _super997=_createSuper(IfcMirroredProfileDef);function IfcMirroredProfileDef(expressID,ProfileType,ProfileName,ParentProfile,Label){var _this1000;_classCallCheck(this,IfcMirroredProfileDef);_this1000=_super997.call(this,expressID,ProfileType,ProfileName,ParentProfile,new Handle(0),Label);_this1000.ProfileType=ProfileType;_this1000.ProfileName=ProfileName;_this1000.ParentProfile=ParentProfile;_this1000.Label=Label;_this1000.type=2998442950;return _this1000;}return _createClass(IfcMirroredProfileDef);}(IfcDerivedProfileDef);IFC42.IfcMirroredProfileDef=IfcMirroredProfileDef;var IfcObjectDefinition=/*#__PURE__*/function(_IfcRoot4){_inherits(IfcObjectDefinition,_IfcRoot4);var _super998=_createSuper(IfcObjectDefinition);function IfcObjectDefinition(expressID,GlobalId,OwnerHistory,Name,Description){var _this1001;_classCallCheck(this,IfcObjectDefinition);_this1001=_super998.call(this,expressID,GlobalId,OwnerHistory,Name,Description);_this1001.GlobalId=GlobalId;_this1001.OwnerHistory=OwnerHistory;_this1001.Name=Name;_this1001.Description=Description;_this1001.type=219451334;return _this1001;}return _createClass(IfcObjectDefinition);}(IfcRoot);IFC42.IfcObjectDefinition=IfcObjectDefinition;var IfcOpenShell=/*#__PURE__*/function(_IfcConnectedFaceSet3){_inherits(IfcOpenShell,_IfcConnectedFaceSet3);var _super999=_createSuper(IfcOpenShell);function IfcOpenShell(expressID,CfsFaces){var _this1002;_classCallCheck(this,IfcOpenShell);_this1002=_super999.call(this,expressID,CfsFaces);_this1002.CfsFaces=CfsFaces;_this1002.type=2665983363;return _this1002;}return _createClass(IfcOpenShell);}(IfcConnectedFaceSet);IFC42.IfcOpenShell=IfcOpenShell;var IfcOrganizationRelationship=/*#__PURE__*/function(_IfcResourceLevelRela6){_inherits(IfcOrganizationRelationship,_IfcResourceLevelRela6);var _super1000=_createSuper(IfcOrganizationRelationship);function IfcOrganizationRelationship(expressID,Name,Description,RelatingOrganization,RelatedOrganizations){var _this1003;_classCallCheck(this,IfcOrganizationRelationship);_this1003=_super1000.call(this,expressID,Name,Description);_this1003.Name=Name;_this1003.Description=Description;_this1003.RelatingOrganization=RelatingOrganization;_this1003.RelatedOrganizations=RelatedOrganizations;_this1003.type=1411181986;return _this1003;}return _createClass(IfcOrganizationRelationship);}(IfcResourceLevelRelationship);IFC42.IfcOrganizationRelationship=IfcOrganizationRelationship;var IfcOrientedEdge=/*#__PURE__*/function(_IfcEdge5){_inherits(IfcOrientedEdge,_IfcEdge5);var _super1001=_createSuper(IfcOrientedEdge);function IfcOrientedEdge(expressID,EdgeElement,Orientation){var _this1004;_classCallCheck(this,IfcOrientedEdge);_this1004=_super1001.call(this,expressID,new Handle(0),new Handle(0));_this1004.EdgeElement=EdgeElement;_this1004.Orientation=Orientation;_this1004.type=1029017970;return _this1004;}return _createClass(IfcOrientedEdge);}(IfcEdge);IFC42.IfcOrientedEdge=IfcOrientedEdge;var IfcParameterizedProfileDef=/*#__PURE__*/function(_IfcProfileDef10){_inherits(IfcParameterizedProfileDef,_IfcProfileDef10);var _super1002=_createSuper(IfcParameterizedProfileDef);function IfcParameterizedProfileDef(expressID,ProfileType,ProfileName,Position){var _this1005;_classCallCheck(this,IfcParameterizedProfileDef);_this1005=_super1002.call(this,expressID,ProfileType,ProfileName);_this1005.ProfileType=ProfileType;_this1005.ProfileName=ProfileName;_this1005.Position=Position;_this1005.type=2529465313;return _this1005;}return _createClass(IfcParameterizedProfileDef);}(IfcProfileDef);IFC42.IfcParameterizedProfileDef=IfcParameterizedProfileDef;var IfcPath=/*#__PURE__*/function(_IfcTopologicalRepres14){_inherits(IfcPath,_IfcTopologicalRepres14);var _super1003=_createSuper(IfcPath);function IfcPath(expressID,EdgeList){var _this1006;_classCallCheck(this,IfcPath);_this1006=_super1003.call(this,expressID);_this1006.EdgeList=EdgeList;_this1006.type=2519244187;return _this1006;}return _createClass(IfcPath);}(IfcTopologicalRepresentationItem);IFC42.IfcPath=IfcPath;var IfcPhysicalComplexQuantity=/*#__PURE__*/function(_IfcPhysicalQuantity4){_inherits(IfcPhysicalComplexQuantity,_IfcPhysicalQuantity4);var _super1004=_createSuper(IfcPhysicalComplexQuantity);function IfcPhysicalComplexQuantity(expressID,Name,Description,HasQuantities,Discrimination,Quality,Usage){var _this1007;_classCallCheck(this,IfcPhysicalComplexQuantity);_this1007=_super1004.call(this,expressID,Name,Description);_this1007.Name=Name;_this1007.Description=Description;_this1007.HasQuantities=HasQuantities;_this1007.Discrimination=Discrimination;_this1007.Quality=Quality;_this1007.Usage=Usage;_this1007.type=3021840470;return _this1007;}return _createClass(IfcPhysicalComplexQuantity);}(IfcPhysicalQuantity);IFC42.IfcPhysicalComplexQuantity=IfcPhysicalComplexQuantity;var IfcPixelTexture=/*#__PURE__*/function(_IfcSurfaceTexture6){_inherits(IfcPixelTexture,_IfcSurfaceTexture6);var _super1005=_createSuper(IfcPixelTexture);function IfcPixelTexture(expressID,RepeatS,RepeatT,Mode,TextureTransform,Parameter,Width,Height,ColourComponents,Pixel){var _this1008;_classCallCheck(this,IfcPixelTexture);_this1008=_super1005.call(this,expressID,RepeatS,RepeatT,Mode,TextureTransform,Parameter);_this1008.RepeatS=RepeatS;_this1008.RepeatT=RepeatT;_this1008.Mode=Mode;_this1008.TextureTransform=TextureTransform;_this1008.Parameter=Parameter;_this1008.Width=Width;_this1008.Height=Height;_this1008.ColourComponents=ColourComponents;_this1008.Pixel=Pixel;_this1008.type=597895409;return _this1008;}return _createClass(IfcPixelTexture);}(IfcSurfaceTexture);IFC42.IfcPixelTexture=IfcPixelTexture;var IfcPlacement=/*#__PURE__*/function(_IfcGeometricRepresen34){_inherits(IfcPlacement,_IfcGeometricRepresen34);var _super1006=_createSuper(IfcPlacement);function IfcPlacement(expressID,Location){var _this1009;_classCallCheck(this,IfcPlacement);_this1009=_super1006.call(this,expressID);_this1009.Location=Location;_this1009.type=2004835150;return _this1009;}return _createClass(IfcPlacement);}(IfcGeometricRepresentationItem);IFC42.IfcPlacement=IfcPlacement;var IfcPlanarExtent=/*#__PURE__*/function(_IfcGeometricRepresen35){_inherits(IfcPlanarExtent,_IfcGeometricRepresen35);var _super1007=_createSuper(IfcPlanarExtent);function IfcPlanarExtent(expressID,SizeInX,SizeInY){var _this1010;_classCallCheck(this,IfcPlanarExtent);_this1010=_super1007.call(this,expressID);_this1010.SizeInX=SizeInX;_this1010.SizeInY=SizeInY;_this1010.type=1663979128;return _this1010;}return _createClass(IfcPlanarExtent);}(IfcGeometricRepresentationItem);IFC42.IfcPlanarExtent=IfcPlanarExtent;var IfcPoint=/*#__PURE__*/function(_IfcGeometricRepresen36){_inherits(IfcPoint,_IfcGeometricRepresen36);var _super1008=_createSuper(IfcPoint);function IfcPoint(expressID){var _this1011;_classCallCheck(this,IfcPoint);_this1011=_super1008.call(this,expressID);_this1011.type=2067069095;return _this1011;}return _createClass(IfcPoint);}(IfcGeometricRepresentationItem);IFC42.IfcPoint=IfcPoint;var IfcPointOnCurve=/*#__PURE__*/function(_IfcPoint4){_inherits(IfcPointOnCurve,_IfcPoint4);var _super1009=_createSuper(IfcPointOnCurve);function IfcPointOnCurve(expressID,BasisCurve,PointParameter){var _this1012;_classCallCheck(this,IfcPointOnCurve);_this1012=_super1009.call(this,expressID);_this1012.BasisCurve=BasisCurve;_this1012.PointParameter=PointParameter;_this1012.type=4022376103;return _this1012;}return _createClass(IfcPointOnCurve);}(IfcPoint);IFC42.IfcPointOnCurve=IfcPointOnCurve;var IfcPointOnSurface=/*#__PURE__*/function(_IfcPoint5){_inherits(IfcPointOnSurface,_IfcPoint5);var _super1010=_createSuper(IfcPointOnSurface);function IfcPointOnSurface(expressID,BasisSurface,PointParameterU,PointParameterV){var _this1013;_classCallCheck(this,IfcPointOnSurface);_this1013=_super1010.call(this,expressID);_this1013.BasisSurface=BasisSurface;_this1013.PointParameterU=PointParameterU;_this1013.PointParameterV=PointParameterV;_this1013.type=1423911732;return _this1013;}return _createClass(IfcPointOnSurface);}(IfcPoint);IFC42.IfcPointOnSurface=IfcPointOnSurface;var IfcPolyLoop=/*#__PURE__*/function(_IfcLoop4){_inherits(IfcPolyLoop,_IfcLoop4);var _super1011=_createSuper(IfcPolyLoop);function IfcPolyLoop(expressID,Polygon){var _this1014;_classCallCheck(this,IfcPolyLoop);_this1014=_super1011.call(this,expressID);_this1014.Polygon=Polygon;_this1014.type=2924175390;return _this1014;}return _createClass(IfcPolyLoop);}(IfcLoop);IFC42.IfcPolyLoop=IfcPolyLoop;var IfcPolygonalBoundedHalfSpace=/*#__PURE__*/function(_IfcHalfSpaceSolid3){_inherits(IfcPolygonalBoundedHalfSpace,_IfcHalfSpaceSolid3);var _super1012=_createSuper(IfcPolygonalBoundedHalfSpace);function IfcPolygonalBoundedHalfSpace(expressID,BaseSurface,AgreementFlag,Position,PolygonalBoundary){var _this1015;_classCallCheck(this,IfcPolygonalBoundedHalfSpace);_this1015=_super1012.call(this,expressID,BaseSurface,AgreementFlag);_this1015.BaseSurface=BaseSurface;_this1015.AgreementFlag=AgreementFlag;_this1015.Position=Position;_this1015.PolygonalBoundary=PolygonalBoundary;_this1015.type=2775532180;return _this1015;}return _createClass(IfcPolygonalBoundedHalfSpace);}(IfcHalfSpaceSolid);IFC42.IfcPolygonalBoundedHalfSpace=IfcPolygonalBoundedHalfSpace;var IfcPreDefinedItem=/*#__PURE__*/function(_IfcPresentationItem17){_inherits(IfcPreDefinedItem,_IfcPresentationItem17);var _super1013=_createSuper(IfcPreDefinedItem);function IfcPreDefinedItem(expressID,Name){var _this1016;_classCallCheck(this,IfcPreDefinedItem);_this1016=_super1013.call(this,expressID);_this1016.Name=Name;_this1016.type=3727388367;return _this1016;}return _createClass(IfcPreDefinedItem);}(IfcPresentationItem);IFC42.IfcPreDefinedItem=IfcPreDefinedItem;var IfcPreDefinedProperties=/*#__PURE__*/function(_IfcPropertyAbstracti3){_inherits(IfcPreDefinedProperties,_IfcPropertyAbstracti3);var _super1014=_createSuper(IfcPreDefinedProperties);function IfcPreDefinedProperties(expressID){var _this1017;_classCallCheck(this,IfcPreDefinedProperties);_this1017=_super1014.call(this,expressID);_this1017.type=3778827333;return _this1017;}return _createClass(IfcPreDefinedProperties);}(IfcPropertyAbstraction);IFC42.IfcPreDefinedProperties=IfcPreDefinedProperties;var IfcPreDefinedTextFont=/*#__PURE__*/function(_IfcPreDefinedItem5){_inherits(IfcPreDefinedTextFont,_IfcPreDefinedItem5);var _super1015=_createSuper(IfcPreDefinedTextFont);function IfcPreDefinedTextFont(expressID,Name){var _this1018;_classCallCheck(this,IfcPreDefinedTextFont);_this1018=_super1015.call(this,expressID,Name);_this1018.Name=Name;_this1018.type=1775413392;return _this1018;}return _createClass(IfcPreDefinedTextFont);}(IfcPreDefinedItem);IFC42.IfcPreDefinedTextFont=IfcPreDefinedTextFont;var IfcProductDefinitionShape=/*#__PURE__*/function(_IfcProductRepresenta4){_inherits(IfcProductDefinitionShape,_IfcProductRepresenta4);var _super1016=_createSuper(IfcProductDefinitionShape);function IfcProductDefinitionShape(expressID,Name,Description,Representations){var _this1019;_classCallCheck(this,IfcProductDefinitionShape);_this1019=_super1016.call(this,expressID,Name,Description,Representations);_this1019.Name=Name;_this1019.Description=Description;_this1019.Representations=Representations;_this1019.type=673634403;return _this1019;}return _createClass(IfcProductDefinitionShape);}(IfcProductRepresentation);IFC42.IfcProductDefinitionShape=IfcProductDefinitionShape;var IfcProfileProperties=/*#__PURE__*/function(_IfcExtendedPropertie2){_inherits(IfcProfileProperties,_IfcExtendedPropertie2);var _super1017=_createSuper(IfcProfileProperties);function IfcProfileProperties(expressID,Name,Description,Properties2,ProfileDefinition){var _this1020;_classCallCheck(this,IfcProfileProperties);_this1020=_super1017.call(this,expressID,Name,Description,Properties2);_this1020.Name=Name;_this1020.Description=Description;_this1020.Properties=Properties2;_this1020.ProfileDefinition=ProfileDefinition;_this1020.type=2802850158;return _this1020;}return _createClass(IfcProfileProperties);}(IfcExtendedProperties);IFC42.IfcProfileProperties=IfcProfileProperties;var IfcProperty=/*#__PURE__*/function(_IfcPropertyAbstracti4){_inherits(IfcProperty,_IfcPropertyAbstracti4);var _super1018=_createSuper(IfcProperty);function IfcProperty(expressID,Name,Description){var _this1021;_classCallCheck(this,IfcProperty);_this1021=_super1018.call(this,expressID);_this1021.Name=Name;_this1021.Description=Description;_this1021.type=2598011224;return _this1021;}return _createClass(IfcProperty);}(IfcPropertyAbstraction);IFC42.IfcProperty=IfcProperty;var IfcPropertyDefinition=/*#__PURE__*/function(_IfcRoot5){_inherits(IfcPropertyDefinition,_IfcRoot5);var _super1019=_createSuper(IfcPropertyDefinition);function IfcPropertyDefinition(expressID,GlobalId,OwnerHistory,Name,Description){var _this1022;_classCallCheck(this,IfcPropertyDefinition);_this1022=_super1019.call(this,expressID,GlobalId,OwnerHistory,Name,Description);_this1022.GlobalId=GlobalId;_this1022.OwnerHistory=OwnerHistory;_this1022.Name=Name;_this1022.Description=Description;_this1022.type=1680319473;return _this1022;}return _createClass(IfcPropertyDefinition);}(IfcRoot);IFC42.IfcPropertyDefinition=IfcPropertyDefinition;var IfcPropertyDependencyRelationship=/*#__PURE__*/function(_IfcResourceLevelRela7){_inherits(IfcPropertyDependencyRelationship,_IfcResourceLevelRela7);var _super1020=_createSuper(IfcPropertyDependencyRelationship);function IfcPropertyDependencyRelationship(expressID,Name,Description,DependingProperty,DependantProperty,Expression){var _this1023;_classCallCheck(this,IfcPropertyDependencyRelationship);_this1023=_super1020.call(this,expressID,Name,Description);_this1023.Name=Name;_this1023.Description=Description;_this1023.DependingProperty=DependingProperty;_this1023.DependantProperty=DependantProperty;_this1023.Expression=Expression;_this1023.type=148025276;return _this1023;}return _createClass(IfcPropertyDependencyRelationship);}(IfcResourceLevelRelationship);IFC42.IfcPropertyDependencyRelationship=IfcPropertyDependencyRelationship;var IfcPropertySetDefinition=/*#__PURE__*/function(_IfcPropertyDefinitio2){_inherits(IfcPropertySetDefinition,_IfcPropertyDefinitio2);var _super1021=_createSuper(IfcPropertySetDefinition);function IfcPropertySetDefinition(expressID,GlobalId,OwnerHistory,Name,Description){var _this1024;_classCallCheck(this,IfcPropertySetDefinition);_this1024=_super1021.call(this,expressID,GlobalId,OwnerHistory,Name,Description);_this1024.GlobalId=GlobalId;_this1024.OwnerHistory=OwnerHistory;_this1024.Name=Name;_this1024.Description=Description;_this1024.type=3357820518;return _this1024;}return _createClass(IfcPropertySetDefinition);}(IfcPropertyDefinition);IFC42.IfcPropertySetDefinition=IfcPropertySetDefinition;var IfcPropertyTemplateDefinition=/*#__PURE__*/function(_IfcPropertyDefinitio3){_inherits(IfcPropertyTemplateDefinition,_IfcPropertyDefinitio3);var _super1022=_createSuper(IfcPropertyTemplateDefinition);function IfcPropertyTemplateDefinition(expressID,GlobalId,OwnerHistory,Name,Description){var _this1025;_classCallCheck(this,IfcPropertyTemplateDefinition);_this1025=_super1022.call(this,expressID,GlobalId,OwnerHistory,Name,Description);_this1025.GlobalId=GlobalId;_this1025.OwnerHistory=OwnerHistory;_this1025.Name=Name;_this1025.Description=Description;_this1025.type=1482703590;return _this1025;}return _createClass(IfcPropertyTemplateDefinition);}(IfcPropertyDefinition);IFC42.IfcPropertyTemplateDefinition=IfcPropertyTemplateDefinition;var IfcQuantitySet=/*#__PURE__*/function(_IfcPropertySetDefini15){_inherits(IfcQuantitySet,_IfcPropertySetDefini15);var _super1023=_createSuper(IfcQuantitySet);function IfcQuantitySet(expressID,GlobalId,OwnerHistory,Name,Description){var _this1026;_classCallCheck(this,IfcQuantitySet);_this1026=_super1023.call(this,expressID,GlobalId,OwnerHistory,Name,Description);_this1026.GlobalId=GlobalId;_this1026.OwnerHistory=OwnerHistory;_this1026.Name=Name;_this1026.Description=Description;_this1026.type=2090586900;return _this1026;}return _createClass(IfcQuantitySet);}(IfcPropertySetDefinition);IFC42.IfcQuantitySet=IfcQuantitySet;var IfcRectangleProfileDef=/*#__PURE__*/function(_IfcParameterizedProf13){_inherits(IfcRectangleProfileDef,_IfcParameterizedProf13);var _super1024=_createSuper(IfcRectangleProfileDef);function IfcRectangleProfileDef(expressID,ProfileType,ProfileName,Position,XDim,YDim){var _this1027;_classCallCheck(this,IfcRectangleProfileDef);_this1027=_super1024.call(this,expressID,ProfileType,ProfileName,Position);_this1027.ProfileType=ProfileType;_this1027.ProfileName=ProfileName;_this1027.Position=Position;_this1027.XDim=XDim;_this1027.YDim=YDim;_this1027.type=3615266464;return _this1027;}return _createClass(IfcRectangleProfileDef);}(IfcParameterizedProfileDef);IFC42.IfcRectangleProfileDef=IfcRectangleProfileDef;var IfcRegularTimeSeries=/*#__PURE__*/function(_IfcTimeSeries4){_inherits(IfcRegularTimeSeries,_IfcTimeSeries4);var _super1025=_createSuper(IfcRegularTimeSeries);function IfcRegularTimeSeries(expressID,Name,Description,StartTime,EndTime,TimeSeriesDataType,DataOrigin,UserDefinedDataOrigin,Unit,TimeStep,Values){var _this1028;_classCallCheck(this,IfcRegularTimeSeries);_this1028=_super1025.call(this,expressID,Name,Description,StartTime,EndTime,TimeSeriesDataType,DataOrigin,UserDefinedDataOrigin,Unit);_this1028.Name=Name;_this1028.Description=Description;_this1028.StartTime=StartTime;_this1028.EndTime=EndTime;_this1028.TimeSeriesDataType=TimeSeriesDataType;_this1028.DataOrigin=DataOrigin;_this1028.UserDefinedDataOrigin=UserDefinedDataOrigin;_this1028.Unit=Unit;_this1028.TimeStep=TimeStep;_this1028.Values=Values;_this1028.type=3413951693;return _this1028;}return _createClass(IfcRegularTimeSeries);}(IfcTimeSeries);IFC42.IfcRegularTimeSeries=IfcRegularTimeSeries;var IfcReinforcementBarProperties=/*#__PURE__*/function(_IfcPreDefinedPropert){_inherits(IfcReinforcementBarProperties,_IfcPreDefinedPropert);var _super1026=_createSuper(IfcReinforcementBarProperties);function IfcReinforcementBarProperties(expressID,TotalCrossSectionArea,SteelGrade,BarSurface,EffectiveDepth,NominalBarDiameter,BarCount){var _this1029;_classCallCheck(this,IfcReinforcementBarProperties);_this1029=_super1026.call(this,expressID);_this1029.TotalCrossSectionArea=TotalCrossSectionArea;_this1029.SteelGrade=SteelGrade;_this1029.BarSurface=BarSurface;_this1029.EffectiveDepth=EffectiveDepth;_this1029.NominalBarDiameter=NominalBarDiameter;_this1029.BarCount=BarCount;_this1029.type=1580146022;return _this1029;}return _createClass(IfcReinforcementBarProperties);}(IfcPreDefinedProperties);IFC42.IfcReinforcementBarProperties=IfcReinforcementBarProperties;var IfcRelationship=/*#__PURE__*/function(_IfcRoot6){_inherits(IfcRelationship,_IfcRoot6);var _super1027=_createSuper(IfcRelationship);function IfcRelationship(expressID,GlobalId,OwnerHistory,Name,Description){var _this1030;_classCallCheck(this,IfcRelationship);_this1030=_super1027.call(this,expressID,GlobalId,OwnerHistory,Name,Description);_this1030.GlobalId=GlobalId;_this1030.OwnerHistory=OwnerHistory;_this1030.Name=Name;_this1030.Description=Description;_this1030.type=478536968;return _this1030;}return _createClass(IfcRelationship);}(IfcRoot);IFC42.IfcRelationship=IfcRelationship;var IfcResourceApprovalRelationship=/*#__PURE__*/function(_IfcResourceLevelRela8){_inherits(IfcResourceApprovalRelationship,_IfcResourceLevelRela8);var _super1028=_createSuper(IfcResourceApprovalRelationship);function IfcResourceApprovalRelationship(expressID,Name,Description,RelatedResourceObjects,RelatingApproval){var _this1031;_classCallCheck(this,IfcResourceApprovalRelationship);_this1031=_super1028.call(this,expressID,Name,Description);_this1031.Name=Name;_this1031.Description=Description;_this1031.RelatedResourceObjects=RelatedResourceObjects;_this1031.RelatingApproval=RelatingApproval;_this1031.type=2943643501;return _this1031;}return _createClass(IfcResourceApprovalRelationship);}(IfcResourceLevelRelationship);IFC42.IfcResourceApprovalRelationship=IfcResourceApprovalRelationship;var IfcResourceConstraintRelationship=/*#__PURE__*/function(_IfcResourceLevelRela9){_inherits(IfcResourceConstraintRelationship,_IfcResourceLevelRela9);var _super1029=_createSuper(IfcResourceConstraintRelationship);function IfcResourceConstraintRelationship(expressID,Name,Description,RelatingConstraint,RelatedResourceObjects){var _this1032;_classCallCheck(this,IfcResourceConstraintRelationship);_this1032=_super1029.call(this,expressID,Name,Description);_this1032.Name=Name;_this1032.Description=Description;_this1032.RelatingConstraint=RelatingConstraint;_this1032.RelatedResourceObjects=RelatedResourceObjects;_this1032.type=1608871552;return _this1032;}return _createClass(IfcResourceConstraintRelationship);}(IfcResourceLevelRelationship);IFC42.IfcResourceConstraintRelationship=IfcResourceConstraintRelationship;var IfcResourceTime=/*#__PURE__*/function(_IfcSchedulingTime5){_inherits(IfcResourceTime,_IfcSchedulingTime5);var _super1030=_createSuper(IfcResourceTime);function IfcResourceTime(expressID,Name,DataOrigin,UserDefinedDataOrigin,ScheduleWork,ScheduleUsage,ScheduleStart,ScheduleFinish,ScheduleContour,LevelingDelay,IsOverAllocated,StatusTime,ActualWork,ActualUsage,ActualStart,ActualFinish,RemainingWork,RemainingUsage,Completion){var _this1033;_classCallCheck(this,IfcResourceTime);_this1033=_super1030.call(this,expressID,Name,DataOrigin,UserDefinedDataOrigin);_this1033.Name=Name;_this1033.DataOrigin=DataOrigin;_this1033.UserDefinedDataOrigin=UserDefinedDataOrigin;_this1033.ScheduleWork=ScheduleWork;_this1033.ScheduleUsage=ScheduleUsage;_this1033.ScheduleStart=ScheduleStart;_this1033.ScheduleFinish=ScheduleFinish;_this1033.ScheduleContour=ScheduleContour;_this1033.LevelingDelay=LevelingDelay;_this1033.IsOverAllocated=IsOverAllocated;_this1033.StatusTime=StatusTime;_this1033.ActualWork=ActualWork;_this1033.ActualUsage=ActualUsage;_this1033.ActualStart=ActualStart;_this1033.ActualFinish=ActualFinish;_this1033.RemainingWork=RemainingWork;_this1033.RemainingUsage=RemainingUsage;_this1033.Completion=Completion;_this1033.type=1042787934;return _this1033;}return _createClass(IfcResourceTime);}(IfcSchedulingTime);IFC42.IfcResourceTime=IfcResourceTime;var IfcRoundedRectangleProfileDef=/*#__PURE__*/function(_IfcRectangleProfileD3){_inherits(IfcRoundedRectangleProfileDef,_IfcRectangleProfileD3);var _super1031=_createSuper(IfcRoundedRectangleProfileDef);function IfcRoundedRectangleProfileDef(expressID,ProfileType,ProfileName,Position,XDim,YDim,RoundingRadius){var _this1034;_classCallCheck(this,IfcRoundedRectangleProfileDef);_this1034=_super1031.call(this,expressID,ProfileType,ProfileName,Position,XDim,YDim);_this1034.ProfileType=ProfileType;_this1034.ProfileName=ProfileName;_this1034.Position=Position;_this1034.XDim=XDim;_this1034.YDim=YDim;_this1034.RoundingRadius=RoundingRadius;_this1034.type=2778083089;return _this1034;}return _createClass(IfcRoundedRectangleProfileDef);}(IfcRectangleProfileDef);IFC42.IfcRoundedRectangleProfileDef=IfcRoundedRectangleProfileDef;var IfcSectionProperties=/*#__PURE__*/function(_IfcPreDefinedPropert2){_inherits(IfcSectionProperties,_IfcPreDefinedPropert2);var _super1032=_createSuper(IfcSectionProperties);function IfcSectionProperties(expressID,SectionType,StartProfile,EndProfile){var _this1035;_classCallCheck(this,IfcSectionProperties);_this1035=_super1032.call(this,expressID);_this1035.SectionType=SectionType;_this1035.StartProfile=StartProfile;_this1035.EndProfile=EndProfile;_this1035.type=2042790032;return _this1035;}return _createClass(IfcSectionProperties);}(IfcPreDefinedProperties);IFC42.IfcSectionProperties=IfcSectionProperties;var IfcSectionReinforcementProperties=/*#__PURE__*/function(_IfcPreDefinedPropert3){_inherits(IfcSectionReinforcementProperties,_IfcPreDefinedPropert3);var _super1033=_createSuper(IfcSectionReinforcementProperties);function IfcSectionReinforcementProperties(expressID,LongitudinalStartPosition,LongitudinalEndPosition,TransversePosition,ReinforcementRole,SectionDefinition,CrossSectionReinforcementDefinitions){var _this1036;_classCallCheck(this,IfcSectionReinforcementProperties);_this1036=_super1033.call(this,expressID);_this1036.LongitudinalStartPosition=LongitudinalStartPosition;_this1036.LongitudinalEndPosition=LongitudinalEndPosition;_this1036.TransversePosition=TransversePosition;_this1036.ReinforcementRole=ReinforcementRole;_this1036.SectionDefinition=SectionDefinition;_this1036.CrossSectionReinforcementDefinitions=CrossSectionReinforcementDefinitions;_this1036.type=4165799628;return _this1036;}return _createClass(IfcSectionReinforcementProperties);}(IfcPreDefinedProperties);IFC42.IfcSectionReinforcementProperties=IfcSectionReinforcementProperties;var IfcSectionedSpine=/*#__PURE__*/function(_IfcGeometricRepresen37){_inherits(IfcSectionedSpine,_IfcGeometricRepresen37);var _super1034=_createSuper(IfcSectionedSpine);function IfcSectionedSpine(expressID,SpineCurve,CrossSections,CrossSectionPositions){var _this1037;_classCallCheck(this,IfcSectionedSpine);_this1037=_super1034.call(this,expressID);_this1037.SpineCurve=SpineCurve;_this1037.CrossSections=CrossSections;_this1037.CrossSectionPositions=CrossSectionPositions;_this1037.type=1509187699;return _this1037;}return _createClass(IfcSectionedSpine);}(IfcGeometricRepresentationItem);IFC42.IfcSectionedSpine=IfcSectionedSpine;var IfcShellBasedSurfaceModel=/*#__PURE__*/function(_IfcGeometricRepresen38){_inherits(IfcShellBasedSurfaceModel,_IfcGeometricRepresen38);var _super1035=_createSuper(IfcShellBasedSurfaceModel);function IfcShellBasedSurfaceModel(expressID,SbsmBoundary){var _this1038;_classCallCheck(this,IfcShellBasedSurfaceModel);_this1038=_super1035.call(this,expressID);_this1038.SbsmBoundary=SbsmBoundary;_this1038.type=4124623270;return _this1038;}return _createClass(IfcShellBasedSurfaceModel);}(IfcGeometricRepresentationItem);IFC42.IfcShellBasedSurfaceModel=IfcShellBasedSurfaceModel;var IfcSimpleProperty=/*#__PURE__*/function(_IfcProperty3){_inherits(IfcSimpleProperty,_IfcProperty3);var _super1036=_createSuper(IfcSimpleProperty);function IfcSimpleProperty(expressID,Name,Description){var _this1039;_classCallCheck(this,IfcSimpleProperty);_this1039=_super1036.call(this,expressID,Name,Description);_this1039.Name=Name;_this1039.Description=Description;_this1039.type=3692461612;return _this1039;}return _createClass(IfcSimpleProperty);}(IfcProperty);IFC42.IfcSimpleProperty=IfcSimpleProperty;var IfcSlippageConnectionCondition=/*#__PURE__*/function(_IfcStructuralConnect7){_inherits(IfcSlippageConnectionCondition,_IfcStructuralConnect7);var _super1037=_createSuper(IfcSlippageConnectionCondition);function IfcSlippageConnectionCondition(expressID,Name,SlippageX,SlippageY,SlippageZ){var _this1040;_classCallCheck(this,IfcSlippageConnectionCondition);_this1040=_super1037.call(this,expressID,Name);_this1040.Name=Name;_this1040.SlippageX=SlippageX;_this1040.SlippageY=SlippageY;_this1040.SlippageZ=SlippageZ;_this1040.type=2609359061;return _this1040;}return _createClass(IfcSlippageConnectionCondition);}(IfcStructuralConnectionCondition);IFC42.IfcSlippageConnectionCondition=IfcSlippageConnectionCondition;var IfcSolidModel=/*#__PURE__*/function(_IfcGeometricRepresen39){_inherits(IfcSolidModel,_IfcGeometricRepresen39);var _super1038=_createSuper(IfcSolidModel);function IfcSolidModel(expressID){var _this1041;_classCallCheck(this,IfcSolidModel);_this1041=_super1038.call(this,expressID);_this1041.type=723233188;return _this1041;}return _createClass(IfcSolidModel);}(IfcGeometricRepresentationItem);IFC42.IfcSolidModel=IfcSolidModel;var IfcStructuralLoadLinearForce=/*#__PURE__*/function(_IfcStructuralLoadSta7){_inherits(IfcStructuralLoadLinearForce,_IfcStructuralLoadSta7);var _super1039=_createSuper(IfcStructuralLoadLinearForce);function IfcStructuralLoadLinearForce(expressID,Name,LinearForceX,LinearForceY,LinearForceZ,LinearMomentX,LinearMomentY,LinearMomentZ){var _this1042;_classCallCheck(this,IfcStructuralLoadLinearForce);_this1042=_super1039.call(this,expressID,Name);_this1042.Name=Name;_this1042.LinearForceX=LinearForceX;_this1042.LinearForceY=LinearForceY;_this1042.LinearForceZ=LinearForceZ;_this1042.LinearMomentX=LinearMomentX;_this1042.LinearMomentY=LinearMomentY;_this1042.LinearMomentZ=LinearMomentZ;_this1042.type=1595516126;return _this1042;}return _createClass(IfcStructuralLoadLinearForce);}(IfcStructuralLoadStatic);IFC42.IfcStructuralLoadLinearForce=IfcStructuralLoadLinearForce;var IfcStructuralLoadPlanarForce=/*#__PURE__*/function(_IfcStructuralLoadSta8){_inherits(IfcStructuralLoadPlanarForce,_IfcStructuralLoadSta8);var _super1040=_createSuper(IfcStructuralLoadPlanarForce);function IfcStructuralLoadPlanarForce(expressID,Name,PlanarForceX,PlanarForceY,PlanarForceZ){var _this1043;_classCallCheck(this,IfcStructuralLoadPlanarForce);_this1043=_super1040.call(this,expressID,Name);_this1043.Name=Name;_this1043.PlanarForceX=PlanarForceX;_this1043.PlanarForceY=PlanarForceY;_this1043.PlanarForceZ=PlanarForceZ;_this1043.type=2668620305;return _this1043;}return _createClass(IfcStructuralLoadPlanarForce);}(IfcStructuralLoadStatic);IFC42.IfcStructuralLoadPlanarForce=IfcStructuralLoadPlanarForce;var IfcStructuralLoadSingleDisplacement=/*#__PURE__*/function(_IfcStructuralLoadSta9){_inherits(IfcStructuralLoadSingleDisplacement,_IfcStructuralLoadSta9);var _super1041=_createSuper(IfcStructuralLoadSingleDisplacement);function IfcStructuralLoadSingleDisplacement(expressID,Name,DisplacementX,DisplacementY,DisplacementZ,RotationalDisplacementRX,RotationalDisplacementRY,RotationalDisplacementRZ){var _this1044;_classCallCheck(this,IfcStructuralLoadSingleDisplacement);_this1044=_super1041.call(this,expressID,Name);_this1044.Name=Name;_this1044.DisplacementX=DisplacementX;_this1044.DisplacementY=DisplacementY;_this1044.DisplacementZ=DisplacementZ;_this1044.RotationalDisplacementRX=RotationalDisplacementRX;_this1044.RotationalDisplacementRY=RotationalDisplacementRY;_this1044.RotationalDisplacementRZ=RotationalDisplacementRZ;_this1044.type=2473145415;return _this1044;}return _createClass(IfcStructuralLoadSingleDisplacement);}(IfcStructuralLoadStatic);IFC42.IfcStructuralLoadSingleDisplacement=IfcStructuralLoadSingleDisplacement;var IfcStructuralLoadSingleDisplacementDistortion=/*#__PURE__*/function(_IfcStructuralLoadSin3){_inherits(IfcStructuralLoadSingleDisplacementDistortion,_IfcStructuralLoadSin3);var _super1042=_createSuper(IfcStructuralLoadSingleDisplacementDistortion);function IfcStructuralLoadSingleDisplacementDistortion(expressID,Name,DisplacementX,DisplacementY,DisplacementZ,RotationalDisplacementRX,RotationalDisplacementRY,RotationalDisplacementRZ,Distortion){var _this1045;_classCallCheck(this,IfcStructuralLoadSingleDisplacementDistortion);_this1045=_super1042.call(this,expressID,Name,DisplacementX,DisplacementY,DisplacementZ,RotationalDisplacementRX,RotationalDisplacementRY,RotationalDisplacementRZ);_this1045.Name=Name;_this1045.DisplacementX=DisplacementX;_this1045.DisplacementY=DisplacementY;_this1045.DisplacementZ=DisplacementZ;_this1045.RotationalDisplacementRX=RotationalDisplacementRX;_this1045.RotationalDisplacementRY=RotationalDisplacementRY;_this1045.RotationalDisplacementRZ=RotationalDisplacementRZ;_this1045.Distortion=Distortion;_this1045.type=1973038258;return _this1045;}return _createClass(IfcStructuralLoadSingleDisplacementDistortion);}(IfcStructuralLoadSingleDisplacement);IFC42.IfcStructuralLoadSingleDisplacementDistortion=IfcStructuralLoadSingleDisplacementDistortion;var IfcStructuralLoadSingleForce=/*#__PURE__*/function(_IfcStructuralLoadSta10){_inherits(IfcStructuralLoadSingleForce,_IfcStructuralLoadSta10);var _super1043=_createSuper(IfcStructuralLoadSingleForce);function IfcStructuralLoadSingleForce(expressID,Name,ForceX,ForceY,ForceZ,MomentX,MomentY,MomentZ){var _this1046;_classCallCheck(this,IfcStructuralLoadSingleForce);_this1046=_super1043.call(this,expressID,Name);_this1046.Name=Name;_this1046.ForceX=ForceX;_this1046.ForceY=ForceY;_this1046.ForceZ=ForceZ;_this1046.MomentX=MomentX;_this1046.MomentY=MomentY;_this1046.MomentZ=MomentZ;_this1046.type=1597423693;return _this1046;}return _createClass(IfcStructuralLoadSingleForce);}(IfcStructuralLoadStatic);IFC42.IfcStructuralLoadSingleForce=IfcStructuralLoadSingleForce;var IfcStructuralLoadSingleForceWarping=/*#__PURE__*/function(_IfcStructuralLoadSin4){_inherits(IfcStructuralLoadSingleForceWarping,_IfcStructuralLoadSin4);var _super1044=_createSuper(IfcStructuralLoadSingleForceWarping);function IfcStructuralLoadSingleForceWarping(expressID,Name,ForceX,ForceY,ForceZ,MomentX,MomentY,MomentZ,WarpingMoment){var _this1047;_classCallCheck(this,IfcStructuralLoadSingleForceWarping);_this1047=_super1044.call(this,expressID,Name,ForceX,ForceY,ForceZ,MomentX,MomentY,MomentZ);_this1047.Name=Name;_this1047.ForceX=ForceX;_this1047.ForceY=ForceY;_this1047.ForceZ=ForceZ;_this1047.MomentX=MomentX;_this1047.MomentY=MomentY;_this1047.MomentZ=MomentZ;_this1047.WarpingMoment=WarpingMoment;_this1047.type=1190533807;return _this1047;}return _createClass(IfcStructuralLoadSingleForceWarping);}(IfcStructuralLoadSingleForce);IFC42.IfcStructuralLoadSingleForceWarping=IfcStructuralLoadSingleForceWarping;var IfcSubedge=/*#__PURE__*/function(_IfcEdge6){_inherits(IfcSubedge,_IfcEdge6);var _super1045=_createSuper(IfcSubedge);function IfcSubedge(expressID,EdgeStart,EdgeEnd,ParentEdge){var _this1048;_classCallCheck(this,IfcSubedge);_this1048=_super1045.call(this,expressID,EdgeStart,EdgeEnd);_this1048.EdgeStart=EdgeStart;_this1048.EdgeEnd=EdgeEnd;_this1048.ParentEdge=ParentEdge;_this1048.type=2233826070;return _this1048;}return _createClass(IfcSubedge);}(IfcEdge);IFC42.IfcSubedge=IfcSubedge;var IfcSurface=/*#__PURE__*/function(_IfcGeometricRepresen40){_inherits(IfcSurface,_IfcGeometricRepresen40);var _super1046=_createSuper(IfcSurface);function IfcSurface(expressID){var _this1049;_classCallCheck(this,IfcSurface);_this1049=_super1046.call(this,expressID);_this1049.type=2513912981;return _this1049;}return _createClass(IfcSurface);}(IfcGeometricRepresentationItem);IFC42.IfcSurface=IfcSurface;var IfcSurfaceStyleRendering=/*#__PURE__*/function(_IfcSurfaceStyleShadi2){_inherits(IfcSurfaceStyleRendering,_IfcSurfaceStyleShadi2);var _super1047=_createSuper(IfcSurfaceStyleRendering);function IfcSurfaceStyleRendering(expressID,SurfaceColour,Transparency,DiffuseColour,TransmissionColour,DiffuseTransmissionColour,ReflectionColour,SpecularColour,SpecularHighlight,ReflectanceMethod){var _this1050;_classCallCheck(this,IfcSurfaceStyleRendering);_this1050=_super1047.call(this,expressID,SurfaceColour,Transparency);_this1050.SurfaceColour=SurfaceColour;_this1050.Transparency=Transparency;_this1050.DiffuseColour=DiffuseColour;_this1050.TransmissionColour=TransmissionColour;_this1050.DiffuseTransmissionColour=DiffuseTransmissionColour;_this1050.ReflectionColour=ReflectionColour;_this1050.SpecularColour=SpecularColour;_this1050.SpecularHighlight=SpecularHighlight;_this1050.ReflectanceMethod=ReflectanceMethod;_this1050.type=1878645084;return _this1050;}return _createClass(IfcSurfaceStyleRendering);}(IfcSurfaceStyleShading);IFC42.IfcSurfaceStyleRendering=IfcSurfaceStyleRendering;var IfcSweptAreaSolid=/*#__PURE__*/function(_IfcSolidModel5){_inherits(IfcSweptAreaSolid,_IfcSolidModel5);var _super1048=_createSuper(IfcSweptAreaSolid);function IfcSweptAreaSolid(expressID,SweptArea,Position){var _this1051;_classCallCheck(this,IfcSweptAreaSolid);_this1051=_super1048.call(this,expressID);_this1051.SweptArea=SweptArea;_this1051.Position=Position;_this1051.type=2247615214;return _this1051;}return _createClass(IfcSweptAreaSolid);}(IfcSolidModel);IFC42.IfcSweptAreaSolid=IfcSweptAreaSolid;var IfcSweptDiskSolid=/*#__PURE__*/function(_IfcSolidModel6){_inherits(IfcSweptDiskSolid,_IfcSolidModel6);var _super1049=_createSuper(IfcSweptDiskSolid);function IfcSweptDiskSolid(expressID,Directrix,Radius,InnerRadius,StartParam,EndParam){var _this1052;_classCallCheck(this,IfcSweptDiskSolid);_this1052=_super1049.call(this,expressID);_this1052.Directrix=Directrix;_this1052.Radius=Radius;_this1052.InnerRadius=InnerRadius;_this1052.StartParam=StartParam;_this1052.EndParam=EndParam;_this1052.type=1260650574;return _this1052;}return _createClass(IfcSweptDiskSolid);}(IfcSolidModel);IFC42.IfcSweptDiskSolid=IfcSweptDiskSolid;var IfcSweptDiskSolidPolygonal=/*#__PURE__*/function(_IfcSweptDiskSolid){_inherits(IfcSweptDiskSolidPolygonal,_IfcSweptDiskSolid);var _super1050=_createSuper(IfcSweptDiskSolidPolygonal);function IfcSweptDiskSolidPolygonal(expressID,Directrix,Radius,InnerRadius,StartParam,EndParam,FilletRadius){var _this1053;_classCallCheck(this,IfcSweptDiskSolidPolygonal);_this1053=_super1050.call(this,expressID,Directrix,Radius,InnerRadius,StartParam,EndParam);_this1053.Directrix=Directrix;_this1053.Radius=Radius;_this1053.InnerRadius=InnerRadius;_this1053.StartParam=StartParam;_this1053.EndParam=EndParam;_this1053.FilletRadius=FilletRadius;_this1053.type=1096409881;return _this1053;}return _createClass(IfcSweptDiskSolidPolygonal);}(IfcSweptDiskSolid);IFC42.IfcSweptDiskSolidPolygonal=IfcSweptDiskSolidPolygonal;var IfcSweptSurface=/*#__PURE__*/function(_IfcSurface4){_inherits(IfcSweptSurface,_IfcSurface4);var _super1051=_createSuper(IfcSweptSurface);function IfcSweptSurface(expressID,SweptCurve,Position){var _this1054;_classCallCheck(this,IfcSweptSurface);_this1054=_super1051.call(this,expressID);_this1054.SweptCurve=SweptCurve;_this1054.Position=Position;_this1054.type=230924584;return _this1054;}return _createClass(IfcSweptSurface);}(IfcSurface);IFC42.IfcSweptSurface=IfcSweptSurface;var IfcTShapeProfileDef=/*#__PURE__*/function(_IfcParameterizedProf14){_inherits(IfcTShapeProfileDef,_IfcParameterizedProf14);var _super1052=_createSuper(IfcTShapeProfileDef);function IfcTShapeProfileDef(expressID,ProfileType,ProfileName,Position,Depth,FlangeWidth,WebThickness,FlangeThickness,FilletRadius,FlangeEdgeRadius,WebEdgeRadius,WebSlope,FlangeSlope){var _this1055;_classCallCheck(this,IfcTShapeProfileDef);_this1055=_super1052.call(this,expressID,ProfileType,ProfileName,Position);_this1055.ProfileType=ProfileType;_this1055.ProfileName=ProfileName;_this1055.Position=Position;_this1055.Depth=Depth;_this1055.FlangeWidth=FlangeWidth;_this1055.WebThickness=WebThickness;_this1055.FlangeThickness=FlangeThickness;_this1055.FilletRadius=FilletRadius;_this1055.FlangeEdgeRadius=FlangeEdgeRadius;_this1055.WebEdgeRadius=WebEdgeRadius;_this1055.WebSlope=WebSlope;_this1055.FlangeSlope=FlangeSlope;_this1055.type=3071757647;return _this1055;}return _createClass(IfcTShapeProfileDef);}(IfcParameterizedProfileDef);IFC42.IfcTShapeProfileDef=IfcTShapeProfileDef;var IfcTessellatedItem=/*#__PURE__*/function(_IfcGeometricRepresen41){_inherits(IfcTessellatedItem,_IfcGeometricRepresen41);var _super1053=_createSuper(IfcTessellatedItem);function IfcTessellatedItem(expressID){var _this1056;_classCallCheck(this,IfcTessellatedItem);_this1056=_super1053.call(this,expressID);_this1056.type=901063453;return _this1056;}return _createClass(IfcTessellatedItem);}(IfcGeometricRepresentationItem);IFC42.IfcTessellatedItem=IfcTessellatedItem;var IfcTextLiteral=/*#__PURE__*/function(_IfcGeometricRepresen42){_inherits(IfcTextLiteral,_IfcGeometricRepresen42);var _super1054=_createSuper(IfcTextLiteral);function IfcTextLiteral(expressID,Literal,Placement,Path){var _this1057;_classCallCheck(this,IfcTextLiteral);_this1057=_super1054.call(this,expressID);_this1057.Literal=Literal;_this1057.Placement=Placement;_this1057.Path=Path;_this1057.type=4282788508;return _this1057;}return _createClass(IfcTextLiteral);}(IfcGeometricRepresentationItem);IFC42.IfcTextLiteral=IfcTextLiteral;var IfcTextLiteralWithExtent=/*#__PURE__*/function(_IfcTextLiteral2){_inherits(IfcTextLiteralWithExtent,_IfcTextLiteral2);var _super1055=_createSuper(IfcTextLiteralWithExtent);function IfcTextLiteralWithExtent(expressID,Literal,Placement,Path,Extent,BoxAlignment){var _this1058;_classCallCheck(this,IfcTextLiteralWithExtent);_this1058=_super1055.call(this,expressID,Literal,Placement,Path);_this1058.Literal=Literal;_this1058.Placement=Placement;_this1058.Path=Path;_this1058.Extent=Extent;_this1058.BoxAlignment=BoxAlignment;_this1058.type=3124975700;return _this1058;}return _createClass(IfcTextLiteralWithExtent);}(IfcTextLiteral);IFC42.IfcTextLiteralWithExtent=IfcTextLiteralWithExtent;var IfcTextStyleFontModel=/*#__PURE__*/function(_IfcPreDefinedTextFon3){_inherits(IfcTextStyleFontModel,_IfcPreDefinedTextFon3);var _super1056=_createSuper(IfcTextStyleFontModel);function IfcTextStyleFontModel(expressID,Name,FontFamily,FontStyle,FontVariant,FontWeight,FontSize){var _this1059;_classCallCheck(this,IfcTextStyleFontModel);_this1059=_super1056.call(this,expressID,Name);_this1059.Name=Name;_this1059.FontFamily=FontFamily;_this1059.FontStyle=FontStyle;_this1059.FontVariant=FontVariant;_this1059.FontWeight=FontWeight;_this1059.FontSize=FontSize;_this1059.type=1983826977;return _this1059;}return _createClass(IfcTextStyleFontModel);}(IfcPreDefinedTextFont);IFC42.IfcTextStyleFontModel=IfcTextStyleFontModel;var IfcTrapeziumProfileDef=/*#__PURE__*/function(_IfcParameterizedProf15){_inherits(IfcTrapeziumProfileDef,_IfcParameterizedProf15);var _super1057=_createSuper(IfcTrapeziumProfileDef);function IfcTrapeziumProfileDef(expressID,ProfileType,ProfileName,Position,BottomXDim,TopXDim,YDim,TopXOffset){var _this1060;_classCallCheck(this,IfcTrapeziumProfileDef);_this1060=_super1057.call(this,expressID,ProfileType,ProfileName,Position);_this1060.ProfileType=ProfileType;_this1060.ProfileName=ProfileName;_this1060.Position=Position;_this1060.BottomXDim=BottomXDim;_this1060.TopXDim=TopXDim;_this1060.YDim=YDim;_this1060.TopXOffset=TopXOffset;_this1060.type=2715220739;return _this1060;}return _createClass(IfcTrapeziumProfileDef);}(IfcParameterizedProfileDef);IFC42.IfcTrapeziumProfileDef=IfcTrapeziumProfileDef;var IfcTypeObject=/*#__PURE__*/function(_IfcObjectDefinition3){_inherits(IfcTypeObject,_IfcObjectDefinition3);var _super1058=_createSuper(IfcTypeObject);function IfcTypeObject(expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets){var _this1061;_classCallCheck(this,IfcTypeObject);_this1061=_super1058.call(this,expressID,GlobalId,OwnerHistory,Name,Description);_this1061.GlobalId=GlobalId;_this1061.OwnerHistory=OwnerHistory;_this1061.Name=Name;_this1061.Description=Description;_this1061.ApplicableOccurrence=ApplicableOccurrence;_this1061.HasPropertySets=HasPropertySets;_this1061.type=1628702193;return _this1061;}return _createClass(IfcTypeObject);}(IfcObjectDefinition);IFC42.IfcTypeObject=IfcTypeObject;var IfcTypeProcess=/*#__PURE__*/function(_IfcTypeObject2){_inherits(IfcTypeProcess,_IfcTypeObject2);var _super1059=_createSuper(IfcTypeProcess);function IfcTypeProcess(expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,Identification,LongDescription,ProcessType){var _this1062;_classCallCheck(this,IfcTypeProcess);_this1062=_super1059.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets);_this1062.GlobalId=GlobalId;_this1062.OwnerHistory=OwnerHistory;_this1062.Name=Name;_this1062.Description=Description;_this1062.ApplicableOccurrence=ApplicableOccurrence;_this1062.HasPropertySets=HasPropertySets;_this1062.Identification=Identification;_this1062.LongDescription=LongDescription;_this1062.ProcessType=ProcessType;_this1062.type=3736923433;return _this1062;}return _createClass(IfcTypeProcess);}(IfcTypeObject);IFC42.IfcTypeProcess=IfcTypeProcess;var IfcTypeProduct=/*#__PURE__*/function(_IfcTypeObject3){_inherits(IfcTypeProduct,_IfcTypeObject3);var _super1060=_createSuper(IfcTypeProduct);function IfcTypeProduct(expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag){var _this1063;_classCallCheck(this,IfcTypeProduct);_this1063=_super1060.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets);_this1063.GlobalId=GlobalId;_this1063.OwnerHistory=OwnerHistory;_this1063.Name=Name;_this1063.Description=Description;_this1063.ApplicableOccurrence=ApplicableOccurrence;_this1063.HasPropertySets=HasPropertySets;_this1063.RepresentationMaps=RepresentationMaps;_this1063.Tag=Tag;_this1063.type=2347495698;return _this1063;}return _createClass(IfcTypeProduct);}(IfcTypeObject);IFC42.IfcTypeProduct=IfcTypeProduct;var IfcTypeResource=/*#__PURE__*/function(_IfcTypeObject4){_inherits(IfcTypeResource,_IfcTypeObject4);var _super1061=_createSuper(IfcTypeResource);function IfcTypeResource(expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,Identification,LongDescription,ResourceType){var _this1064;_classCallCheck(this,IfcTypeResource);_this1064=_super1061.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets);_this1064.GlobalId=GlobalId;_this1064.OwnerHistory=OwnerHistory;_this1064.Name=Name;_this1064.Description=Description;_this1064.ApplicableOccurrence=ApplicableOccurrence;_this1064.HasPropertySets=HasPropertySets;_this1064.Identification=Identification;_this1064.LongDescription=LongDescription;_this1064.ResourceType=ResourceType;_this1064.type=3698973494;return _this1064;}return _createClass(IfcTypeResource);}(IfcTypeObject);IFC42.IfcTypeResource=IfcTypeResource;var IfcUShapeProfileDef=/*#__PURE__*/function(_IfcParameterizedProf16){_inherits(IfcUShapeProfileDef,_IfcParameterizedProf16);var _super1062=_createSuper(IfcUShapeProfileDef);function IfcUShapeProfileDef(expressID,ProfileType,ProfileName,Position,Depth,FlangeWidth,WebThickness,FlangeThickness,FilletRadius,EdgeRadius,FlangeSlope){var _this1065;_classCallCheck(this,IfcUShapeProfileDef);_this1065=_super1062.call(this,expressID,ProfileType,ProfileName,Position);_this1065.ProfileType=ProfileType;_this1065.ProfileName=ProfileName;_this1065.Position=Position;_this1065.Depth=Depth;_this1065.FlangeWidth=FlangeWidth;_this1065.WebThickness=WebThickness;_this1065.FlangeThickness=FlangeThickness;_this1065.FilletRadius=FilletRadius;_this1065.EdgeRadius=EdgeRadius;_this1065.FlangeSlope=FlangeSlope;_this1065.type=427810014;return _this1065;}return _createClass(IfcUShapeProfileDef);}(IfcParameterizedProfileDef);IFC42.IfcUShapeProfileDef=IfcUShapeProfileDef;var IfcVector=/*#__PURE__*/function(_IfcGeometricRepresen43){_inherits(IfcVector,_IfcGeometricRepresen43);var _super1063=_createSuper(IfcVector);function IfcVector(expressID,Orientation,Magnitude){var _this1066;_classCallCheck(this,IfcVector);_this1066=_super1063.call(this,expressID);_this1066.Orientation=Orientation;_this1066.Magnitude=Magnitude;_this1066.type=1417489154;return _this1066;}return _createClass(IfcVector);}(IfcGeometricRepresentationItem);IFC42.IfcVector=IfcVector;var IfcVertexLoop=/*#__PURE__*/function(_IfcLoop5){_inherits(IfcVertexLoop,_IfcLoop5);var _super1064=_createSuper(IfcVertexLoop);function IfcVertexLoop(expressID,LoopVertex){var _this1067;_classCallCheck(this,IfcVertexLoop);_this1067=_super1064.call(this,expressID);_this1067.LoopVertex=LoopVertex;_this1067.type=2759199220;return _this1067;}return _createClass(IfcVertexLoop);}(IfcLoop);IFC42.IfcVertexLoop=IfcVertexLoop;var IfcWindowStyle=/*#__PURE__*/function(_IfcTypeProduct4){_inherits(IfcWindowStyle,_IfcTypeProduct4);var _super1065=_createSuper(IfcWindowStyle);function IfcWindowStyle(expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ConstructionType,OperationType,ParameterTakesPrecedence,Sizeable){var _this1068;_classCallCheck(this,IfcWindowStyle);_this1068=_super1065.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag);_this1068.GlobalId=GlobalId;_this1068.OwnerHistory=OwnerHistory;_this1068.Name=Name;_this1068.Description=Description;_this1068.ApplicableOccurrence=ApplicableOccurrence;_this1068.HasPropertySets=HasPropertySets;_this1068.RepresentationMaps=RepresentationMaps;_this1068.Tag=Tag;_this1068.ConstructionType=ConstructionType;_this1068.OperationType=OperationType;_this1068.ParameterTakesPrecedence=ParameterTakesPrecedence;_this1068.Sizeable=Sizeable;_this1068.type=1299126871;return _this1068;}return _createClass(IfcWindowStyle);}(IfcTypeProduct);IFC42.IfcWindowStyle=IfcWindowStyle;var IfcZShapeProfileDef=/*#__PURE__*/function(_IfcParameterizedProf17){_inherits(IfcZShapeProfileDef,_IfcParameterizedProf17);var _super1066=_createSuper(IfcZShapeProfileDef);function IfcZShapeProfileDef(expressID,ProfileType,ProfileName,Position,Depth,FlangeWidth,WebThickness,FlangeThickness,FilletRadius,EdgeRadius){var _this1069;_classCallCheck(this,IfcZShapeProfileDef);_this1069=_super1066.call(this,expressID,ProfileType,ProfileName,Position);_this1069.ProfileType=ProfileType;_this1069.ProfileName=ProfileName;_this1069.Position=Position;_this1069.Depth=Depth;_this1069.FlangeWidth=FlangeWidth;_this1069.WebThickness=WebThickness;_this1069.FlangeThickness=FlangeThickness;_this1069.FilletRadius=FilletRadius;_this1069.EdgeRadius=EdgeRadius;_this1069.type=2543172580;return _this1069;}return _createClass(IfcZShapeProfileDef);}(IfcParameterizedProfileDef);IFC42.IfcZShapeProfileDef=IfcZShapeProfileDef;var IfcAdvancedFace=/*#__PURE__*/function(_IfcFaceSurface){_inherits(IfcAdvancedFace,_IfcFaceSurface);var _super1067=_createSuper(IfcAdvancedFace);function IfcAdvancedFace(expressID,Bounds,FaceSurface,SameSense){var _this1070;_classCallCheck(this,IfcAdvancedFace);_this1070=_super1067.call(this,expressID,Bounds,FaceSurface,SameSense);_this1070.Bounds=Bounds;_this1070.FaceSurface=FaceSurface;_this1070.SameSense=SameSense;_this1070.type=3406155212;return _this1070;}return _createClass(IfcAdvancedFace);}(IfcFaceSurface);IFC42.IfcAdvancedFace=IfcAdvancedFace;var IfcAnnotationFillArea=/*#__PURE__*/function(_IfcGeometricRepresen44){_inherits(IfcAnnotationFillArea,_IfcGeometricRepresen44);var _super1068=_createSuper(IfcAnnotationFillArea);function IfcAnnotationFillArea(expressID,OuterBoundary,InnerBoundaries){var _this1071;_classCallCheck(this,IfcAnnotationFillArea);_this1071=_super1068.call(this,expressID);_this1071.OuterBoundary=OuterBoundary;_this1071.InnerBoundaries=InnerBoundaries;_this1071.type=669184980;return _this1071;}return _createClass(IfcAnnotationFillArea);}(IfcGeometricRepresentationItem);IFC42.IfcAnnotationFillArea=IfcAnnotationFillArea;var IfcAsymmetricIShapeProfileDef=/*#__PURE__*/function(_IfcParameterizedProf18){_inherits(IfcAsymmetricIShapeProfileDef,_IfcParameterizedProf18);var _super1069=_createSuper(IfcAsymmetricIShapeProfileDef);function IfcAsymmetricIShapeProfileDef(expressID,ProfileType,ProfileName,Position,BottomFlangeWidth,OverallDepth,WebThickness,BottomFlangeThickness,BottomFlangeFilletRadius,TopFlangeWidth,TopFlangeThickness,TopFlangeFilletRadius,BottomFlangeEdgeRadius,BottomFlangeSlope,TopFlangeEdgeRadius,TopFlangeSlope){var _this1072;_classCallCheck(this,IfcAsymmetricIShapeProfileDef);_this1072=_super1069.call(this,expressID,ProfileType,ProfileName,Position);_this1072.ProfileType=ProfileType;_this1072.ProfileName=ProfileName;_this1072.Position=Position;_this1072.BottomFlangeWidth=BottomFlangeWidth;_this1072.OverallDepth=OverallDepth;_this1072.WebThickness=WebThickness;_this1072.BottomFlangeThickness=BottomFlangeThickness;_this1072.BottomFlangeFilletRadius=BottomFlangeFilletRadius;_this1072.TopFlangeWidth=TopFlangeWidth;_this1072.TopFlangeThickness=TopFlangeThickness;_this1072.TopFlangeFilletRadius=TopFlangeFilletRadius;_this1072.BottomFlangeEdgeRadius=BottomFlangeEdgeRadius;_this1072.BottomFlangeSlope=BottomFlangeSlope;_this1072.TopFlangeEdgeRadius=TopFlangeEdgeRadius;_this1072.TopFlangeSlope=TopFlangeSlope;_this1072.type=3207858831;return _this1072;}return _createClass(IfcAsymmetricIShapeProfileDef);}(IfcParameterizedProfileDef);IFC42.IfcAsymmetricIShapeProfileDef=IfcAsymmetricIShapeProfileDef;var IfcAxis1Placement=/*#__PURE__*/function(_IfcPlacement4){_inherits(IfcAxis1Placement,_IfcPlacement4);var _super1070=_createSuper(IfcAxis1Placement);function IfcAxis1Placement(expressID,Location,Axis){var _this1073;_classCallCheck(this,IfcAxis1Placement);_this1073=_super1070.call(this,expressID,Location);_this1073.Location=Location;_this1073.Axis=Axis;_this1073.type=4261334040;return _this1073;}return _createClass(IfcAxis1Placement);}(IfcPlacement);IFC42.IfcAxis1Placement=IfcAxis1Placement;var IfcAxis2Placement2D=/*#__PURE__*/function(_IfcPlacement5){_inherits(IfcAxis2Placement2D,_IfcPlacement5);var _super1071=_createSuper(IfcAxis2Placement2D);function IfcAxis2Placement2D(expressID,Location,RefDirection){var _this1074;_classCallCheck(this,IfcAxis2Placement2D);_this1074=_super1071.call(this,expressID,Location);_this1074.Location=Location;_this1074.RefDirection=RefDirection;_this1074.type=3125803723;return _this1074;}return _createClass(IfcAxis2Placement2D);}(IfcPlacement);IFC42.IfcAxis2Placement2D=IfcAxis2Placement2D;var IfcAxis2Placement3D=/*#__PURE__*/function(_IfcPlacement6){_inherits(IfcAxis2Placement3D,_IfcPlacement6);var _super1072=_createSuper(IfcAxis2Placement3D);function IfcAxis2Placement3D(expressID,Location,Axis,RefDirection){var _this1075;_classCallCheck(this,IfcAxis2Placement3D);_this1075=_super1072.call(this,expressID,Location);_this1075.Location=Location;_this1075.Axis=Axis;_this1075.RefDirection=RefDirection;_this1075.type=2740243338;return _this1075;}return _createClass(IfcAxis2Placement3D);}(IfcPlacement);IFC42.IfcAxis2Placement3D=IfcAxis2Placement3D;var IfcBooleanResult=/*#__PURE__*/function(_IfcGeometricRepresen45){_inherits(IfcBooleanResult,_IfcGeometricRepresen45);var _super1073=_createSuper(IfcBooleanResult);function IfcBooleanResult(expressID,Operator,FirstOperand,SecondOperand){var _this1076;_classCallCheck(this,IfcBooleanResult);_this1076=_super1073.call(this,expressID);_this1076.Operator=Operator;_this1076.FirstOperand=FirstOperand;_this1076.SecondOperand=SecondOperand;_this1076.type=2736907675;return _this1076;}return _createClass(IfcBooleanResult);}(IfcGeometricRepresentationItem);IFC42.IfcBooleanResult=IfcBooleanResult;var IfcBoundedSurface=/*#__PURE__*/function(_IfcSurface5){_inherits(IfcBoundedSurface,_IfcSurface5);var _super1074=_createSuper(IfcBoundedSurface);function IfcBoundedSurface(expressID){var _this1077;_classCallCheck(this,IfcBoundedSurface);_this1077=_super1074.call(this,expressID);_this1077.type=4182860854;return _this1077;}return _createClass(IfcBoundedSurface);}(IfcSurface);IFC42.IfcBoundedSurface=IfcBoundedSurface;var IfcBoundingBox=/*#__PURE__*/function(_IfcGeometricRepresen46){_inherits(IfcBoundingBox,_IfcGeometricRepresen46);var _super1075=_createSuper(IfcBoundingBox);function IfcBoundingBox(expressID,Corner,XDim,YDim,ZDim){var _this1078;_classCallCheck(this,IfcBoundingBox);_this1078=_super1075.call(this,expressID);_this1078.Corner=Corner;_this1078.XDim=XDim;_this1078.YDim=YDim;_this1078.ZDim=ZDim;_this1078.type=2581212453;return _this1078;}return _createClass(IfcBoundingBox);}(IfcGeometricRepresentationItem);IFC42.IfcBoundingBox=IfcBoundingBox;var IfcBoxedHalfSpace=/*#__PURE__*/function(_IfcHalfSpaceSolid4){_inherits(IfcBoxedHalfSpace,_IfcHalfSpaceSolid4);var _super1076=_createSuper(IfcBoxedHalfSpace);function IfcBoxedHalfSpace(expressID,BaseSurface,AgreementFlag,Enclosure){var _this1079;_classCallCheck(this,IfcBoxedHalfSpace);_this1079=_super1076.call(this,expressID,BaseSurface,AgreementFlag);_this1079.BaseSurface=BaseSurface;_this1079.AgreementFlag=AgreementFlag;_this1079.Enclosure=Enclosure;_this1079.type=2713105998;return _this1079;}return _createClass(IfcBoxedHalfSpace);}(IfcHalfSpaceSolid);IFC42.IfcBoxedHalfSpace=IfcBoxedHalfSpace;var IfcCShapeProfileDef=/*#__PURE__*/function(_IfcParameterizedProf19){_inherits(IfcCShapeProfileDef,_IfcParameterizedProf19);var _super1077=_createSuper(IfcCShapeProfileDef);function IfcCShapeProfileDef(expressID,ProfileType,ProfileName,Position,Depth,Width,WallThickness,Girth,InternalFilletRadius){var _this1080;_classCallCheck(this,IfcCShapeProfileDef);_this1080=_super1077.call(this,expressID,ProfileType,ProfileName,Position);_this1080.ProfileType=ProfileType;_this1080.ProfileName=ProfileName;_this1080.Position=Position;_this1080.Depth=Depth;_this1080.Width=Width;_this1080.WallThickness=WallThickness;_this1080.Girth=Girth;_this1080.InternalFilletRadius=InternalFilletRadius;_this1080.type=2898889636;return _this1080;}return _createClass(IfcCShapeProfileDef);}(IfcParameterizedProfileDef);IFC42.IfcCShapeProfileDef=IfcCShapeProfileDef;var IfcCartesianPoint=/*#__PURE__*/function(_IfcPoint6){_inherits(IfcCartesianPoint,_IfcPoint6);var _super1078=_createSuper(IfcCartesianPoint);function IfcCartesianPoint(expressID,Coordinates){var _this1081;_classCallCheck(this,IfcCartesianPoint);_this1081=_super1078.call(this,expressID);_this1081.Coordinates=Coordinates;_this1081.type=1123145078;return _this1081;}return _createClass(IfcCartesianPoint);}(IfcPoint);IFC42.IfcCartesianPoint=IfcCartesianPoint;var IfcCartesianPointList=/*#__PURE__*/function(_IfcGeometricRepresen47){_inherits(IfcCartesianPointList,_IfcGeometricRepresen47);var _super1079=_createSuper(IfcCartesianPointList);function IfcCartesianPointList(expressID){var _this1082;_classCallCheck(this,IfcCartesianPointList);_this1082=_super1079.call(this,expressID);_this1082.type=574549367;return _this1082;}return _createClass(IfcCartesianPointList);}(IfcGeometricRepresentationItem);IFC42.IfcCartesianPointList=IfcCartesianPointList;var IfcCartesianPointList2D=/*#__PURE__*/function(_IfcCartesianPointLis){_inherits(IfcCartesianPointList2D,_IfcCartesianPointLis);var _super1080=_createSuper(IfcCartesianPointList2D);function IfcCartesianPointList2D(expressID,CoordList){var _this1083;_classCallCheck(this,IfcCartesianPointList2D);_this1083=_super1080.call(this,expressID);_this1083.CoordList=CoordList;_this1083.type=1675464909;return _this1083;}return _createClass(IfcCartesianPointList2D);}(IfcCartesianPointList);IFC42.IfcCartesianPointList2D=IfcCartesianPointList2D;var IfcCartesianPointList3D=/*#__PURE__*/function(_IfcCartesianPointLis2){_inherits(IfcCartesianPointList3D,_IfcCartesianPointLis2);var _super1081=_createSuper(IfcCartesianPointList3D);function IfcCartesianPointList3D(expressID,CoordList){var _this1084;_classCallCheck(this,IfcCartesianPointList3D);_this1084=_super1081.call(this,expressID);_this1084.CoordList=CoordList;_this1084.type=2059837836;return _this1084;}return _createClass(IfcCartesianPointList3D);}(IfcCartesianPointList);IFC42.IfcCartesianPointList3D=IfcCartesianPointList3D;var IfcCartesianTransformationOperator=/*#__PURE__*/function(_IfcGeometricRepresen48){_inherits(IfcCartesianTransformationOperator,_IfcGeometricRepresen48);var _super1082=_createSuper(IfcCartesianTransformationOperator);function IfcCartesianTransformationOperator(expressID,Axis1,Axis2,LocalOrigin,Scale){var _this1085;_classCallCheck(this,IfcCartesianTransformationOperator);_this1085=_super1082.call(this,expressID);_this1085.Axis1=Axis1;_this1085.Axis2=Axis2;_this1085.LocalOrigin=LocalOrigin;_this1085.Scale=Scale;_this1085.type=59481748;return _this1085;}return _createClass(IfcCartesianTransformationOperator);}(IfcGeometricRepresentationItem);IFC42.IfcCartesianTransformationOperator=IfcCartesianTransformationOperator;var IfcCartesianTransformationOperator2D=/*#__PURE__*/function(_IfcCartesianTransfor5){_inherits(IfcCartesianTransformationOperator2D,_IfcCartesianTransfor5);var _super1083=_createSuper(IfcCartesianTransformationOperator2D);function IfcCartesianTransformationOperator2D(expressID,Axis1,Axis2,LocalOrigin,Scale){var _this1086;_classCallCheck(this,IfcCartesianTransformationOperator2D);_this1086=_super1083.call(this,expressID,Axis1,Axis2,LocalOrigin,Scale);_this1086.Axis1=Axis1;_this1086.Axis2=Axis2;_this1086.LocalOrigin=LocalOrigin;_this1086.Scale=Scale;_this1086.type=3749851601;return _this1086;}return _createClass(IfcCartesianTransformationOperator2D);}(IfcCartesianTransformationOperator);IFC42.IfcCartesianTransformationOperator2D=IfcCartesianTransformationOperator2D;var IfcCartesianTransformationOperator2DnonUniform=/*#__PURE__*/function(_IfcCartesianTransfor6){_inherits(IfcCartesianTransformationOperator2DnonUniform,_IfcCartesianTransfor6);var _super1084=_createSuper(IfcCartesianTransformationOperator2DnonUniform);function IfcCartesianTransformationOperator2DnonUniform(expressID,Axis1,Axis2,LocalOrigin,Scale,Scale2){var _this1087;_classCallCheck(this,IfcCartesianTransformationOperator2DnonUniform);_this1087=_super1084.call(this,expressID,Axis1,Axis2,LocalOrigin,Scale);_this1087.Axis1=Axis1;_this1087.Axis2=Axis2;_this1087.LocalOrigin=LocalOrigin;_this1087.Scale=Scale;_this1087.Scale2=Scale2;_this1087.type=3486308946;return _this1087;}return _createClass(IfcCartesianTransformationOperator2DnonUniform);}(IfcCartesianTransformationOperator2D);IFC42.IfcCartesianTransformationOperator2DnonUniform=IfcCartesianTransformationOperator2DnonUniform;var IfcCartesianTransformationOperator3D=/*#__PURE__*/function(_IfcCartesianTransfor7){_inherits(IfcCartesianTransformationOperator3D,_IfcCartesianTransfor7);var _super1085=_createSuper(IfcCartesianTransformationOperator3D);function IfcCartesianTransformationOperator3D(expressID,Axis1,Axis2,LocalOrigin,Scale,Axis3){var _this1088;_classCallCheck(this,IfcCartesianTransformationOperator3D);_this1088=_super1085.call(this,expressID,Axis1,Axis2,LocalOrigin,Scale);_this1088.Axis1=Axis1;_this1088.Axis2=Axis2;_this1088.LocalOrigin=LocalOrigin;_this1088.Scale=Scale;_this1088.Axis3=Axis3;_this1088.type=3331915920;return _this1088;}return _createClass(IfcCartesianTransformationOperator3D);}(IfcCartesianTransformationOperator);IFC42.IfcCartesianTransformationOperator3D=IfcCartesianTransformationOperator3D;var IfcCartesianTransformationOperator3DnonUniform=/*#__PURE__*/function(_IfcCartesianTransfor8){_inherits(IfcCartesianTransformationOperator3DnonUniform,_IfcCartesianTransfor8);var _super1086=_createSuper(IfcCartesianTransformationOperator3DnonUniform);function IfcCartesianTransformationOperator3DnonUniform(expressID,Axis1,Axis2,LocalOrigin,Scale,Axis3,Scale2,Scale3){var _this1089;_classCallCheck(this,IfcCartesianTransformationOperator3DnonUniform);_this1089=_super1086.call(this,expressID,Axis1,Axis2,LocalOrigin,Scale,Axis3);_this1089.Axis1=Axis1;_this1089.Axis2=Axis2;_this1089.LocalOrigin=LocalOrigin;_this1089.Scale=Scale;_this1089.Axis3=Axis3;_this1089.Scale2=Scale2;_this1089.Scale3=Scale3;_this1089.type=1416205885;return _this1089;}return _createClass(IfcCartesianTransformationOperator3DnonUniform);}(IfcCartesianTransformationOperator3D);IFC42.IfcCartesianTransformationOperator3DnonUniform=IfcCartesianTransformationOperator3DnonUniform;var IfcCircleProfileDef=/*#__PURE__*/function(_IfcParameterizedProf20){_inherits(IfcCircleProfileDef,_IfcParameterizedProf20);var _super1087=_createSuper(IfcCircleProfileDef);function IfcCircleProfileDef(expressID,ProfileType,ProfileName,Position,Radius){var _this1090;_classCallCheck(this,IfcCircleProfileDef);_this1090=_super1087.call(this,expressID,ProfileType,ProfileName,Position);_this1090.ProfileType=ProfileType;_this1090.ProfileName=ProfileName;_this1090.Position=Position;_this1090.Radius=Radius;_this1090.type=1383045692;return _this1090;}return _createClass(IfcCircleProfileDef);}(IfcParameterizedProfileDef);IFC42.IfcCircleProfileDef=IfcCircleProfileDef;var IfcClosedShell=/*#__PURE__*/function(_IfcConnectedFaceSet4){_inherits(IfcClosedShell,_IfcConnectedFaceSet4);var _super1088=_createSuper(IfcClosedShell);function IfcClosedShell(expressID,CfsFaces){var _this1091;_classCallCheck(this,IfcClosedShell);_this1091=_super1088.call(this,expressID,CfsFaces);_this1091.CfsFaces=CfsFaces;_this1091.type=2205249479;return _this1091;}return _createClass(IfcClosedShell);}(IfcConnectedFaceSet);IFC42.IfcClosedShell=IfcClosedShell;var IfcColourRgb=/*#__PURE__*/function(_IfcColourSpecificati2){_inherits(IfcColourRgb,_IfcColourSpecificati2);var _super1089=_createSuper(IfcColourRgb);function IfcColourRgb(expressID,Name,Red,Green,Blue){var _this1092;_classCallCheck(this,IfcColourRgb);_this1092=_super1089.call(this,expressID,Name);_this1092.Name=Name;_this1092.Red=Red;_this1092.Green=Green;_this1092.Blue=Blue;_this1092.type=776857604;return _this1092;}return _createClass(IfcColourRgb);}(IfcColourSpecification);IFC42.IfcColourRgb=IfcColourRgb;var IfcComplexProperty=/*#__PURE__*/function(_IfcProperty4){_inherits(IfcComplexProperty,_IfcProperty4);var _super1090=_createSuper(IfcComplexProperty);function IfcComplexProperty(expressID,Name,Description,UsageName,HasProperties){var _this1093;_classCallCheck(this,IfcComplexProperty);_this1093=_super1090.call(this,expressID,Name,Description);_this1093.Name=Name;_this1093.Description=Description;_this1093.UsageName=UsageName;_this1093.HasProperties=HasProperties;_this1093.type=2542286263;return _this1093;}return _createClass(IfcComplexProperty);}(IfcProperty);IFC42.IfcComplexProperty=IfcComplexProperty;var IfcCompositeCurveSegment=/*#__PURE__*/function(_IfcGeometricRepresen49){_inherits(IfcCompositeCurveSegment,_IfcGeometricRepresen49);var _super1091=_createSuper(IfcCompositeCurveSegment);function IfcCompositeCurveSegment(expressID,Transition,SameSense,ParentCurve){var _this1094;_classCallCheck(this,IfcCompositeCurveSegment);_this1094=_super1091.call(this,expressID);_this1094.Transition=Transition;_this1094.SameSense=SameSense;_this1094.ParentCurve=ParentCurve;_this1094.type=2485617015;return _this1094;}return _createClass(IfcCompositeCurveSegment);}(IfcGeometricRepresentationItem);IFC42.IfcCompositeCurveSegment=IfcCompositeCurveSegment;var IfcConstructionResourceType=/*#__PURE__*/function(_IfcTypeResource){_inherits(IfcConstructionResourceType,_IfcTypeResource);var _super1092=_createSuper(IfcConstructionResourceType);function IfcConstructionResourceType(expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,Identification,LongDescription,ResourceType,BaseCosts,BaseQuantity){var _this1095;_classCallCheck(this,IfcConstructionResourceType);_this1095=_super1092.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,Identification,LongDescription,ResourceType);_this1095.GlobalId=GlobalId;_this1095.OwnerHistory=OwnerHistory;_this1095.Name=Name;_this1095.Description=Description;_this1095.ApplicableOccurrence=ApplicableOccurrence;_this1095.HasPropertySets=HasPropertySets;_this1095.Identification=Identification;_this1095.LongDescription=LongDescription;_this1095.ResourceType=ResourceType;_this1095.BaseCosts=BaseCosts;_this1095.BaseQuantity=BaseQuantity;_this1095.type=2574617495;return _this1095;}return _createClass(IfcConstructionResourceType);}(IfcTypeResource);IFC42.IfcConstructionResourceType=IfcConstructionResourceType;var IfcContext=/*#__PURE__*/function(_IfcObjectDefinition4){_inherits(IfcContext,_IfcObjectDefinition4);var _super1093=_createSuper(IfcContext);function IfcContext(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,LongName,Phase,RepresentationContexts,UnitsInContext){var _this1096;_classCallCheck(this,IfcContext);_this1096=_super1093.call(this,expressID,GlobalId,OwnerHistory,Name,Description);_this1096.GlobalId=GlobalId;_this1096.OwnerHistory=OwnerHistory;_this1096.Name=Name;_this1096.Description=Description;_this1096.ObjectType=ObjectType;_this1096.LongName=LongName;_this1096.Phase=Phase;_this1096.RepresentationContexts=RepresentationContexts;_this1096.UnitsInContext=UnitsInContext;_this1096.type=3419103109;return _this1096;}return _createClass(IfcContext);}(IfcObjectDefinition);IFC42.IfcContext=IfcContext;var IfcCrewResourceType=/*#__PURE__*/function(_IfcConstructionResou7){_inherits(IfcCrewResourceType,_IfcConstructionResou7);var _super1094=_createSuper(IfcCrewResourceType);function IfcCrewResourceType(expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,Identification,LongDescription,ResourceType,BaseCosts,BaseQuantity,PredefinedType){var _this1097;_classCallCheck(this,IfcCrewResourceType);_this1097=_super1094.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,Identification,LongDescription,ResourceType,BaseCosts,BaseQuantity);_this1097.GlobalId=GlobalId;_this1097.OwnerHistory=OwnerHistory;_this1097.Name=Name;_this1097.Description=Description;_this1097.ApplicableOccurrence=ApplicableOccurrence;_this1097.HasPropertySets=HasPropertySets;_this1097.Identification=Identification;_this1097.LongDescription=LongDescription;_this1097.ResourceType=ResourceType;_this1097.BaseCosts=BaseCosts;_this1097.BaseQuantity=BaseQuantity;_this1097.PredefinedType=PredefinedType;_this1097.type=1815067380;return _this1097;}return _createClass(IfcCrewResourceType);}(IfcConstructionResourceType);IFC42.IfcCrewResourceType=IfcCrewResourceType;var IfcCsgPrimitive3D=/*#__PURE__*/function(_IfcGeometricRepresen50){_inherits(IfcCsgPrimitive3D,_IfcGeometricRepresen50);var _super1095=_createSuper(IfcCsgPrimitive3D);function IfcCsgPrimitive3D(expressID,Position){var _this1098;_classCallCheck(this,IfcCsgPrimitive3D);_this1098=_super1095.call(this,expressID);_this1098.Position=Position;_this1098.type=2506170314;return _this1098;}return _createClass(IfcCsgPrimitive3D);}(IfcGeometricRepresentationItem);IFC42.IfcCsgPrimitive3D=IfcCsgPrimitive3D;var IfcCsgSolid=/*#__PURE__*/function(_IfcSolidModel7){_inherits(IfcCsgSolid,_IfcSolidModel7);var _super1096=_createSuper(IfcCsgSolid);function IfcCsgSolid(expressID,TreeRootExpression){var _this1099;_classCallCheck(this,IfcCsgSolid);_this1099=_super1096.call(this,expressID);_this1099.TreeRootExpression=TreeRootExpression;_this1099.type=2147822146;return _this1099;}return _createClass(IfcCsgSolid);}(IfcSolidModel);IFC42.IfcCsgSolid=IfcCsgSolid;var IfcCurve=/*#__PURE__*/function(_IfcGeometricRepresen51){_inherits(IfcCurve,_IfcGeometricRepresen51);var _super1097=_createSuper(IfcCurve);function IfcCurve(expressID){var _this1100;_classCallCheck(this,IfcCurve);_this1100=_super1097.call(this,expressID);_this1100.type=2601014836;return _this1100;}return _createClass(IfcCurve);}(IfcGeometricRepresentationItem);IFC42.IfcCurve=IfcCurve;var IfcCurveBoundedPlane=/*#__PURE__*/function(_IfcBoundedSurface3){_inherits(IfcCurveBoundedPlane,_IfcBoundedSurface3);var _super1098=_createSuper(IfcCurveBoundedPlane);function IfcCurveBoundedPlane(expressID,BasisSurface,OuterBoundary,InnerBoundaries){var _this1101;_classCallCheck(this,IfcCurveBoundedPlane);_this1101=_super1098.call(this,expressID);_this1101.BasisSurface=BasisSurface;_this1101.OuterBoundary=OuterBoundary;_this1101.InnerBoundaries=InnerBoundaries;_this1101.type=2827736869;return _this1101;}return _createClass(IfcCurveBoundedPlane);}(IfcBoundedSurface);IFC42.IfcCurveBoundedPlane=IfcCurveBoundedPlane;var IfcCurveBoundedSurface=/*#__PURE__*/function(_IfcBoundedSurface4){_inherits(IfcCurveBoundedSurface,_IfcBoundedSurface4);var _super1099=_createSuper(IfcCurveBoundedSurface);function IfcCurveBoundedSurface(expressID,BasisSurface,Boundaries,ImplicitOuter){var _this1102;_classCallCheck(this,IfcCurveBoundedSurface);_this1102=_super1099.call(this,expressID);_this1102.BasisSurface=BasisSurface;_this1102.Boundaries=Boundaries;_this1102.ImplicitOuter=ImplicitOuter;_this1102.type=2629017746;return _this1102;}return _createClass(IfcCurveBoundedSurface);}(IfcBoundedSurface);IFC42.IfcCurveBoundedSurface=IfcCurveBoundedSurface;var IfcDirection=/*#__PURE__*/function(_IfcGeometricRepresen52){_inherits(IfcDirection,_IfcGeometricRepresen52);var _super1100=_createSuper(IfcDirection);function IfcDirection(expressID,DirectionRatios){var _this1103;_classCallCheck(this,IfcDirection);_this1103=_super1100.call(this,expressID);_this1103.DirectionRatios=DirectionRatios;_this1103.type=32440307;return _this1103;}return _createClass(IfcDirection);}(IfcGeometricRepresentationItem);IFC42.IfcDirection=IfcDirection;var IfcDoorStyle=/*#__PURE__*/function(_IfcTypeProduct5){_inherits(IfcDoorStyle,_IfcTypeProduct5);var _super1101=_createSuper(IfcDoorStyle);function IfcDoorStyle(expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,OperationType,ConstructionType,ParameterTakesPrecedence,Sizeable){var _this1104;_classCallCheck(this,IfcDoorStyle);_this1104=_super1101.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag);_this1104.GlobalId=GlobalId;_this1104.OwnerHistory=OwnerHistory;_this1104.Name=Name;_this1104.Description=Description;_this1104.ApplicableOccurrence=ApplicableOccurrence;_this1104.HasPropertySets=HasPropertySets;_this1104.RepresentationMaps=RepresentationMaps;_this1104.Tag=Tag;_this1104.OperationType=OperationType;_this1104.ConstructionType=ConstructionType;_this1104.ParameterTakesPrecedence=ParameterTakesPrecedence;_this1104.Sizeable=Sizeable;_this1104.type=526551008;return _this1104;}return _createClass(IfcDoorStyle);}(IfcTypeProduct);IFC42.IfcDoorStyle=IfcDoorStyle;var IfcEdgeLoop=/*#__PURE__*/function(_IfcLoop6){_inherits(IfcEdgeLoop,_IfcLoop6);var _super1102=_createSuper(IfcEdgeLoop);function IfcEdgeLoop(expressID,EdgeList){var _this1105;_classCallCheck(this,IfcEdgeLoop);_this1105=_super1102.call(this,expressID);_this1105.EdgeList=EdgeList;_this1105.type=1472233963;return _this1105;}return _createClass(IfcEdgeLoop);}(IfcLoop);IFC42.IfcEdgeLoop=IfcEdgeLoop;var IfcElementQuantity=/*#__PURE__*/function(_IfcQuantitySet){_inherits(IfcElementQuantity,_IfcQuantitySet);var _super1103=_createSuper(IfcElementQuantity);function IfcElementQuantity(expressID,GlobalId,OwnerHistory,Name,Description,MethodOfMeasurement,Quantities){var _this1106;_classCallCheck(this,IfcElementQuantity);_this1106=_super1103.call(this,expressID,GlobalId,OwnerHistory,Name,Description);_this1106.GlobalId=GlobalId;_this1106.OwnerHistory=OwnerHistory;_this1106.Name=Name;_this1106.Description=Description;_this1106.MethodOfMeasurement=MethodOfMeasurement;_this1106.Quantities=Quantities;_this1106.type=1883228015;return _this1106;}return _createClass(IfcElementQuantity);}(IfcQuantitySet);IFC42.IfcElementQuantity=IfcElementQuantity;var IfcElementType=/*#__PURE__*/function(_IfcTypeProduct6){_inherits(IfcElementType,_IfcTypeProduct6);var _super1104=_createSuper(IfcElementType);function IfcElementType(expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType){var _this1107;_classCallCheck(this,IfcElementType);_this1107=_super1104.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag);_this1107.GlobalId=GlobalId;_this1107.OwnerHistory=OwnerHistory;_this1107.Name=Name;_this1107.Description=Description;_this1107.ApplicableOccurrence=ApplicableOccurrence;_this1107.HasPropertySets=HasPropertySets;_this1107.RepresentationMaps=RepresentationMaps;_this1107.Tag=Tag;_this1107.ElementType=ElementType;_this1107.type=339256511;return _this1107;}return _createClass(IfcElementType);}(IfcTypeProduct);IFC42.IfcElementType=IfcElementType;var IfcElementarySurface=/*#__PURE__*/function(_IfcSurface6){_inherits(IfcElementarySurface,_IfcSurface6);var _super1105=_createSuper(IfcElementarySurface);function IfcElementarySurface(expressID,Position){var _this1108;_classCallCheck(this,IfcElementarySurface);_this1108=_super1105.call(this,expressID);_this1108.Position=Position;_this1108.type=2777663545;return _this1108;}return _createClass(IfcElementarySurface);}(IfcSurface);IFC42.IfcElementarySurface=IfcElementarySurface;var IfcEllipseProfileDef=/*#__PURE__*/function(_IfcParameterizedProf21){_inherits(IfcEllipseProfileDef,_IfcParameterizedProf21);var _super1106=_createSuper(IfcEllipseProfileDef);function IfcEllipseProfileDef(expressID,ProfileType,ProfileName,Position,SemiAxis1,SemiAxis2){var _this1109;_classCallCheck(this,IfcEllipseProfileDef);_this1109=_super1106.call(this,expressID,ProfileType,ProfileName,Position);_this1109.ProfileType=ProfileType;_this1109.ProfileName=ProfileName;_this1109.Position=Position;_this1109.SemiAxis1=SemiAxis1;_this1109.SemiAxis2=SemiAxis2;_this1109.type=2835456948;return _this1109;}return _createClass(IfcEllipseProfileDef);}(IfcParameterizedProfileDef);IFC42.IfcEllipseProfileDef=IfcEllipseProfileDef;var IfcEventType=/*#__PURE__*/function(_IfcTypeProcess){_inherits(IfcEventType,_IfcTypeProcess);var _super1107=_createSuper(IfcEventType);function IfcEventType(expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,Identification,LongDescription,ProcessType,PredefinedType,EventTriggerType,UserDefinedEventTriggerType){var _this1110;_classCallCheck(this,IfcEventType);_this1110=_super1107.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,Identification,LongDescription,ProcessType);_this1110.GlobalId=GlobalId;_this1110.OwnerHistory=OwnerHistory;_this1110.Name=Name;_this1110.Description=Description;_this1110.ApplicableOccurrence=ApplicableOccurrence;_this1110.HasPropertySets=HasPropertySets;_this1110.Identification=Identification;_this1110.LongDescription=LongDescription;_this1110.ProcessType=ProcessType;_this1110.PredefinedType=PredefinedType;_this1110.EventTriggerType=EventTriggerType;_this1110.UserDefinedEventTriggerType=UserDefinedEventTriggerType;_this1110.type=4024345920;return _this1110;}return _createClass(IfcEventType);}(IfcTypeProcess);IFC42.IfcEventType=IfcEventType;var IfcExtrudedAreaSolid=/*#__PURE__*/function(_IfcSweptAreaSolid4){_inherits(IfcExtrudedAreaSolid,_IfcSweptAreaSolid4);var _super1108=_createSuper(IfcExtrudedAreaSolid);function IfcExtrudedAreaSolid(expressID,SweptArea,Position,ExtrudedDirection,Depth){var _this1111;_classCallCheck(this,IfcExtrudedAreaSolid);_this1111=_super1108.call(this,expressID,SweptArea,Position);_this1111.SweptArea=SweptArea;_this1111.Position=Position;_this1111.ExtrudedDirection=ExtrudedDirection;_this1111.Depth=Depth;_this1111.type=477187591;return _this1111;}return _createClass(IfcExtrudedAreaSolid);}(IfcSweptAreaSolid);IFC42.IfcExtrudedAreaSolid=IfcExtrudedAreaSolid;var IfcExtrudedAreaSolidTapered=/*#__PURE__*/function(_IfcExtrudedAreaSolid){_inherits(IfcExtrudedAreaSolidTapered,_IfcExtrudedAreaSolid);var _super1109=_createSuper(IfcExtrudedAreaSolidTapered);function IfcExtrudedAreaSolidTapered(expressID,SweptArea,Position,ExtrudedDirection,Depth,EndSweptArea){var _this1112;_classCallCheck(this,IfcExtrudedAreaSolidTapered);_this1112=_super1109.call(this,expressID,SweptArea,Position,ExtrudedDirection,Depth);_this1112.SweptArea=SweptArea;_this1112.Position=Position;_this1112.ExtrudedDirection=ExtrudedDirection;_this1112.Depth=Depth;_this1112.EndSweptArea=EndSweptArea;_this1112.type=2804161546;return _this1112;}return _createClass(IfcExtrudedAreaSolidTapered);}(IfcExtrudedAreaSolid);IFC42.IfcExtrudedAreaSolidTapered=IfcExtrudedAreaSolidTapered;var IfcFaceBasedSurfaceModel=/*#__PURE__*/function(_IfcGeometricRepresen53){_inherits(IfcFaceBasedSurfaceModel,_IfcGeometricRepresen53);var _super1110=_createSuper(IfcFaceBasedSurfaceModel);function IfcFaceBasedSurfaceModel(expressID,FbsmFaces){var _this1113;_classCallCheck(this,IfcFaceBasedSurfaceModel);_this1113=_super1110.call(this,expressID);_this1113.FbsmFaces=FbsmFaces;_this1113.type=2047409740;return _this1113;}return _createClass(IfcFaceBasedSurfaceModel);}(IfcGeometricRepresentationItem);IFC42.IfcFaceBasedSurfaceModel=IfcFaceBasedSurfaceModel;var IfcFillAreaStyleHatching=/*#__PURE__*/function(_IfcGeometricRepresen54){_inherits(IfcFillAreaStyleHatching,_IfcGeometricRepresen54);var _super1111=_createSuper(IfcFillAreaStyleHatching);function IfcFillAreaStyleHatching(expressID,HatchLineAppearance,StartOfNextHatchLine,PointOfReferenceHatchLine,PatternStart,HatchLineAngle){var _this1114;_classCallCheck(this,IfcFillAreaStyleHatching);_this1114=_super1111.call(this,expressID);_this1114.HatchLineAppearance=HatchLineAppearance;_this1114.StartOfNextHatchLine=StartOfNextHatchLine;_this1114.PointOfReferenceHatchLine=PointOfReferenceHatchLine;_this1114.PatternStart=PatternStart;_this1114.HatchLineAngle=HatchLineAngle;_this1114.type=374418227;return _this1114;}return _createClass(IfcFillAreaStyleHatching);}(IfcGeometricRepresentationItem);IFC42.IfcFillAreaStyleHatching=IfcFillAreaStyleHatching;var IfcFillAreaStyleTiles=/*#__PURE__*/function(_IfcGeometricRepresen55){_inherits(IfcFillAreaStyleTiles,_IfcGeometricRepresen55);var _super1112=_createSuper(IfcFillAreaStyleTiles);function IfcFillAreaStyleTiles(expressID,TilingPattern,Tiles,TilingScale){var _this1115;_classCallCheck(this,IfcFillAreaStyleTiles);_this1115=_super1112.call(this,expressID);_this1115.TilingPattern=TilingPattern;_this1115.Tiles=Tiles;_this1115.TilingScale=TilingScale;_this1115.type=315944413;return _this1115;}return _createClass(IfcFillAreaStyleTiles);}(IfcGeometricRepresentationItem);IFC42.IfcFillAreaStyleTiles=IfcFillAreaStyleTiles;var IfcFixedReferenceSweptAreaSolid=/*#__PURE__*/function(_IfcSweptAreaSolid5){_inherits(IfcFixedReferenceSweptAreaSolid,_IfcSweptAreaSolid5);var _super1113=_createSuper(IfcFixedReferenceSweptAreaSolid);function IfcFixedReferenceSweptAreaSolid(expressID,SweptArea,Position,Directrix,StartParam,EndParam,FixedReference){var _this1116;_classCallCheck(this,IfcFixedReferenceSweptAreaSolid);_this1116=_super1113.call(this,expressID,SweptArea,Position);_this1116.SweptArea=SweptArea;_this1116.Position=Position;_this1116.Directrix=Directrix;_this1116.StartParam=StartParam;_this1116.EndParam=EndParam;_this1116.FixedReference=FixedReference;_this1116.type=2652556860;return _this1116;}return _createClass(IfcFixedReferenceSweptAreaSolid);}(IfcSweptAreaSolid);IFC42.IfcFixedReferenceSweptAreaSolid=IfcFixedReferenceSweptAreaSolid;var IfcFurnishingElementType=/*#__PURE__*/function(_IfcElementType7){_inherits(IfcFurnishingElementType,_IfcElementType7);var _super1114=_createSuper(IfcFurnishingElementType);function IfcFurnishingElementType(expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType){var _this1117;_classCallCheck(this,IfcFurnishingElementType);_this1117=_super1114.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType);_this1117.GlobalId=GlobalId;_this1117.OwnerHistory=OwnerHistory;_this1117.Name=Name;_this1117.Description=Description;_this1117.ApplicableOccurrence=ApplicableOccurrence;_this1117.HasPropertySets=HasPropertySets;_this1117.RepresentationMaps=RepresentationMaps;_this1117.Tag=Tag;_this1117.ElementType=ElementType;_this1117.type=4238390223;return _this1117;}return _createClass(IfcFurnishingElementType);}(IfcElementType);IFC42.IfcFurnishingElementType=IfcFurnishingElementType;var IfcFurnitureType=/*#__PURE__*/function(_IfcFurnishingElement3){_inherits(IfcFurnitureType,_IfcFurnishingElement3);var _super1115=_createSuper(IfcFurnitureType);function IfcFurnitureType(expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType,AssemblyPlace,PredefinedType){var _this1118;_classCallCheck(this,IfcFurnitureType);_this1118=_super1115.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType);_this1118.GlobalId=GlobalId;_this1118.OwnerHistory=OwnerHistory;_this1118.Name=Name;_this1118.Description=Description;_this1118.ApplicableOccurrence=ApplicableOccurrence;_this1118.HasPropertySets=HasPropertySets;_this1118.RepresentationMaps=RepresentationMaps;_this1118.Tag=Tag;_this1118.ElementType=ElementType;_this1118.AssemblyPlace=AssemblyPlace;_this1118.PredefinedType=PredefinedType;_this1118.type=1268542332;return _this1118;}return _createClass(IfcFurnitureType);}(IfcFurnishingElementType);IFC42.IfcFurnitureType=IfcFurnitureType;var IfcGeographicElementType=/*#__PURE__*/function(_IfcElementType8){_inherits(IfcGeographicElementType,_IfcElementType8);var _super1116=_createSuper(IfcGeographicElementType);function IfcGeographicElementType(expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType,PredefinedType){var _this1119;_classCallCheck(this,IfcGeographicElementType);_this1119=_super1116.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType);_this1119.GlobalId=GlobalId;_this1119.OwnerHistory=OwnerHistory;_this1119.Name=Name;_this1119.Description=Description;_this1119.ApplicableOccurrence=ApplicableOccurrence;_this1119.HasPropertySets=HasPropertySets;_this1119.RepresentationMaps=RepresentationMaps;_this1119.Tag=Tag;_this1119.ElementType=ElementType;_this1119.PredefinedType=PredefinedType;_this1119.type=4095422895;return _this1119;}return _createClass(IfcGeographicElementType);}(IfcElementType);IFC42.IfcGeographicElementType=IfcGeographicElementType;var IfcGeometricCurveSet=/*#__PURE__*/function(_IfcGeometricSet2){_inherits(IfcGeometricCurveSet,_IfcGeometricSet2);var _super1117=_createSuper(IfcGeometricCurveSet);function IfcGeometricCurveSet(expressID,Elements){var _this1120;_classCallCheck(this,IfcGeometricCurveSet);_this1120=_super1117.call(this,expressID,Elements);_this1120.Elements=Elements;_this1120.type=987898635;return _this1120;}return _createClass(IfcGeometricCurveSet);}(IfcGeometricSet);IFC42.IfcGeometricCurveSet=IfcGeometricCurveSet;var IfcIShapeProfileDef=/*#__PURE__*/function(_IfcParameterizedProf22){_inherits(IfcIShapeProfileDef,_IfcParameterizedProf22);var _super1118=_createSuper(IfcIShapeProfileDef);function IfcIShapeProfileDef(expressID,ProfileType,ProfileName,Position,OverallWidth,OverallDepth,WebThickness,FlangeThickness,FilletRadius,FlangeEdgeRadius,FlangeSlope){var _this1121;_classCallCheck(this,IfcIShapeProfileDef);_this1121=_super1118.call(this,expressID,ProfileType,ProfileName,Position);_this1121.ProfileType=ProfileType;_this1121.ProfileName=ProfileName;_this1121.Position=Position;_this1121.OverallWidth=OverallWidth;_this1121.OverallDepth=OverallDepth;_this1121.WebThickness=WebThickness;_this1121.FlangeThickness=FlangeThickness;_this1121.FilletRadius=FilletRadius;_this1121.FlangeEdgeRadius=FlangeEdgeRadius;_this1121.FlangeSlope=FlangeSlope;_this1121.type=1484403080;return _this1121;}return _createClass(IfcIShapeProfileDef);}(IfcParameterizedProfileDef);IFC42.IfcIShapeProfileDef=IfcIShapeProfileDef;var IfcIndexedPolygonalFace=/*#__PURE__*/function(_IfcTessellatedItem){_inherits(IfcIndexedPolygonalFace,_IfcTessellatedItem);var _super1119=_createSuper(IfcIndexedPolygonalFace);function IfcIndexedPolygonalFace(expressID,CoordIndex){var _this1122;_classCallCheck(this,IfcIndexedPolygonalFace);_this1122=_super1119.call(this,expressID);_this1122.CoordIndex=CoordIndex;_this1122.type=178912537;return _this1122;}return _createClass(IfcIndexedPolygonalFace);}(IfcTessellatedItem);IFC42.IfcIndexedPolygonalFace=IfcIndexedPolygonalFace;var IfcIndexedPolygonalFaceWithVoids=/*#__PURE__*/function(_IfcIndexedPolygonalF){_inherits(IfcIndexedPolygonalFaceWithVoids,_IfcIndexedPolygonalF);var _super1120=_createSuper(IfcIndexedPolygonalFaceWithVoids);function IfcIndexedPolygonalFaceWithVoids(expressID,CoordIndex,InnerCoordIndices){var _this1123;_classCallCheck(this,IfcIndexedPolygonalFaceWithVoids);_this1123=_super1120.call(this,expressID,CoordIndex);_this1123.CoordIndex=CoordIndex;_this1123.InnerCoordIndices=InnerCoordIndices;_this1123.type=2294589976;return _this1123;}return _createClass(IfcIndexedPolygonalFaceWithVoids);}(IfcIndexedPolygonalFace);IFC42.IfcIndexedPolygonalFaceWithVoids=IfcIndexedPolygonalFaceWithVoids;var IfcLShapeProfileDef=/*#__PURE__*/function(_IfcParameterizedProf23){_inherits(IfcLShapeProfileDef,_IfcParameterizedProf23);var _super1121=_createSuper(IfcLShapeProfileDef);function IfcLShapeProfileDef(expressID,ProfileType,ProfileName,Position,Depth,Width,Thickness,FilletRadius,EdgeRadius,LegSlope){var _this1124;_classCallCheck(this,IfcLShapeProfileDef);_this1124=_super1121.call(this,expressID,ProfileType,ProfileName,Position);_this1124.ProfileType=ProfileType;_this1124.ProfileName=ProfileName;_this1124.Position=Position;_this1124.Depth=Depth;_this1124.Width=Width;_this1124.Thickness=Thickness;_this1124.FilletRadius=FilletRadius;_this1124.EdgeRadius=EdgeRadius;_this1124.LegSlope=LegSlope;_this1124.type=572779678;return _this1124;}return _createClass(IfcLShapeProfileDef);}(IfcParameterizedProfileDef);IFC42.IfcLShapeProfileDef=IfcLShapeProfileDef;var IfcLaborResourceType=/*#__PURE__*/function(_IfcConstructionResou8){_inherits(IfcLaborResourceType,_IfcConstructionResou8);var _super1122=_createSuper(IfcLaborResourceType);function IfcLaborResourceType(expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,Identification,LongDescription,ResourceType,BaseCosts,BaseQuantity,PredefinedType){var _this1125;_classCallCheck(this,IfcLaborResourceType);_this1125=_super1122.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,Identification,LongDescription,ResourceType,BaseCosts,BaseQuantity);_this1125.GlobalId=GlobalId;_this1125.OwnerHistory=OwnerHistory;_this1125.Name=Name;_this1125.Description=Description;_this1125.ApplicableOccurrence=ApplicableOccurrence;_this1125.HasPropertySets=HasPropertySets;_this1125.Identification=Identification;_this1125.LongDescription=LongDescription;_this1125.ResourceType=ResourceType;_this1125.BaseCosts=BaseCosts;_this1125.BaseQuantity=BaseQuantity;_this1125.PredefinedType=PredefinedType;_this1125.type=428585644;return _this1125;}return _createClass(IfcLaborResourceType);}(IfcConstructionResourceType);IFC42.IfcLaborResourceType=IfcLaborResourceType;var IfcLine=/*#__PURE__*/function(_IfcCurve6){_inherits(IfcLine,_IfcCurve6);var _super1123=_createSuper(IfcLine);function IfcLine(expressID,Pnt,Dir){var _this1126;_classCallCheck(this,IfcLine);_this1126=_super1123.call(this,expressID);_this1126.Pnt=Pnt;_this1126.Dir=Dir;_this1126.type=1281925730;return _this1126;}return _createClass(IfcLine);}(IfcCurve);IFC42.IfcLine=IfcLine;var IfcManifoldSolidBrep=/*#__PURE__*/function(_IfcSolidModel8){_inherits(IfcManifoldSolidBrep,_IfcSolidModel8);var _super1124=_createSuper(IfcManifoldSolidBrep);function IfcManifoldSolidBrep(expressID,Outer){var _this1127;_classCallCheck(this,IfcManifoldSolidBrep);_this1127=_super1124.call(this,expressID);_this1127.Outer=Outer;_this1127.type=1425443689;return _this1127;}return _createClass(IfcManifoldSolidBrep);}(IfcSolidModel);IFC42.IfcManifoldSolidBrep=IfcManifoldSolidBrep;var IfcObject=/*#__PURE__*/function(_IfcObjectDefinition5){_inherits(IfcObject,_IfcObjectDefinition5);var _super1125=_createSuper(IfcObject);function IfcObject(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType){var _this1128;_classCallCheck(this,IfcObject);_this1128=_super1125.call(this,expressID,GlobalId,OwnerHistory,Name,Description);_this1128.GlobalId=GlobalId;_this1128.OwnerHistory=OwnerHistory;_this1128.Name=Name;_this1128.Description=Description;_this1128.ObjectType=ObjectType;_this1128.type=3888040117;return _this1128;}return _createClass(IfcObject);}(IfcObjectDefinition);IFC42.IfcObject=IfcObject;var IfcOffsetCurve2D=/*#__PURE__*/function(_IfcCurve7){_inherits(IfcOffsetCurve2D,_IfcCurve7);var _super1126=_createSuper(IfcOffsetCurve2D);function IfcOffsetCurve2D(expressID,BasisCurve,Distance,SelfIntersect){var _this1129;_classCallCheck(this,IfcOffsetCurve2D);_this1129=_super1126.call(this,expressID);_this1129.BasisCurve=BasisCurve;_this1129.Distance=Distance;_this1129.SelfIntersect=SelfIntersect;_this1129.type=3388369263;return _this1129;}return _createClass(IfcOffsetCurve2D);}(IfcCurve);IFC42.IfcOffsetCurve2D=IfcOffsetCurve2D;var IfcOffsetCurve3D=/*#__PURE__*/function(_IfcCurve8){_inherits(IfcOffsetCurve3D,_IfcCurve8);var _super1127=_createSuper(IfcOffsetCurve3D);function IfcOffsetCurve3D(expressID,BasisCurve,Distance,SelfIntersect,RefDirection){var _this1130;_classCallCheck(this,IfcOffsetCurve3D);_this1130=_super1127.call(this,expressID);_this1130.BasisCurve=BasisCurve;_this1130.Distance=Distance;_this1130.SelfIntersect=SelfIntersect;_this1130.RefDirection=RefDirection;_this1130.type=3505215534;return _this1130;}return _createClass(IfcOffsetCurve3D);}(IfcCurve);IFC42.IfcOffsetCurve3D=IfcOffsetCurve3D;var IfcPcurve=/*#__PURE__*/function(_IfcCurve9){_inherits(IfcPcurve,_IfcCurve9);var _super1128=_createSuper(IfcPcurve);function IfcPcurve(expressID,BasisSurface,ReferenceCurve){var _this1131;_classCallCheck(this,IfcPcurve);_this1131=_super1128.call(this,expressID);_this1131.BasisSurface=BasisSurface;_this1131.ReferenceCurve=ReferenceCurve;_this1131.type=1682466193;return _this1131;}return _createClass(IfcPcurve);}(IfcCurve);IFC42.IfcPcurve=IfcPcurve;var IfcPlanarBox=/*#__PURE__*/function(_IfcPlanarExtent2){_inherits(IfcPlanarBox,_IfcPlanarExtent2);var _super1129=_createSuper(IfcPlanarBox);function IfcPlanarBox(expressID,SizeInX,SizeInY,Placement){var _this1132;_classCallCheck(this,IfcPlanarBox);_this1132=_super1129.call(this,expressID,SizeInX,SizeInY);_this1132.SizeInX=SizeInX;_this1132.SizeInY=SizeInY;_this1132.Placement=Placement;_this1132.type=603570806;return _this1132;}return _createClass(IfcPlanarBox);}(IfcPlanarExtent);IFC42.IfcPlanarBox=IfcPlanarBox;var IfcPlane=/*#__PURE__*/function(_IfcElementarySurface2){_inherits(IfcPlane,_IfcElementarySurface2);var _super1130=_createSuper(IfcPlane);function IfcPlane(expressID,Position){var _this1133;_classCallCheck(this,IfcPlane);_this1133=_super1130.call(this,expressID,Position);_this1133.Position=Position;_this1133.type=220341763;return _this1133;}return _createClass(IfcPlane);}(IfcElementarySurface);IFC42.IfcPlane=IfcPlane;var IfcPreDefinedColour=/*#__PURE__*/function(_IfcPreDefinedItem6){_inherits(IfcPreDefinedColour,_IfcPreDefinedItem6);var _super1131=_createSuper(IfcPreDefinedColour);function IfcPreDefinedColour(expressID,Name){var _this1134;_classCallCheck(this,IfcPreDefinedColour);_this1134=_super1131.call(this,expressID,Name);_this1134.Name=Name;_this1134.type=759155922;return _this1134;}return _createClass(IfcPreDefinedColour);}(IfcPreDefinedItem);IFC42.IfcPreDefinedColour=IfcPreDefinedColour;var IfcPreDefinedCurveFont=/*#__PURE__*/function(_IfcPreDefinedItem7){_inherits(IfcPreDefinedCurveFont,_IfcPreDefinedItem7);var _super1132=_createSuper(IfcPreDefinedCurveFont);function IfcPreDefinedCurveFont(expressID,Name){var _this1135;_classCallCheck(this,IfcPreDefinedCurveFont);_this1135=_super1132.call(this,expressID,Name);_this1135.Name=Name;_this1135.type=2559016684;return _this1135;}return _createClass(IfcPreDefinedCurveFont);}(IfcPreDefinedItem);IFC42.IfcPreDefinedCurveFont=IfcPreDefinedCurveFont;var IfcPreDefinedPropertySet=/*#__PURE__*/function(_IfcPropertySetDefini16){_inherits(IfcPreDefinedPropertySet,_IfcPropertySetDefini16);var _super1133=_createSuper(IfcPreDefinedPropertySet);function IfcPreDefinedPropertySet(expressID,GlobalId,OwnerHistory,Name,Description){var _this1136;_classCallCheck(this,IfcPreDefinedPropertySet);_this1136=_super1133.call(this,expressID,GlobalId,OwnerHistory,Name,Description);_this1136.GlobalId=GlobalId;_this1136.OwnerHistory=OwnerHistory;_this1136.Name=Name;_this1136.Description=Description;_this1136.type=3967405729;return _this1136;}return _createClass(IfcPreDefinedPropertySet);}(IfcPropertySetDefinition);IFC42.IfcPreDefinedPropertySet=IfcPreDefinedPropertySet;var IfcProcedureType=/*#__PURE__*/function(_IfcTypeProcess2){_inherits(IfcProcedureType,_IfcTypeProcess2);var _super1134=_createSuper(IfcProcedureType);function IfcProcedureType(expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,Identification,LongDescription,ProcessType,PredefinedType){var _this1137;_classCallCheck(this,IfcProcedureType);_this1137=_super1134.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,Identification,LongDescription,ProcessType);_this1137.GlobalId=GlobalId;_this1137.OwnerHistory=OwnerHistory;_this1137.Name=Name;_this1137.Description=Description;_this1137.ApplicableOccurrence=ApplicableOccurrence;_this1137.HasPropertySets=HasPropertySets;_this1137.Identification=Identification;_this1137.LongDescription=LongDescription;_this1137.ProcessType=ProcessType;_this1137.PredefinedType=PredefinedType;_this1137.type=569719735;return _this1137;}return _createClass(IfcProcedureType);}(IfcTypeProcess);IFC42.IfcProcedureType=IfcProcedureType;var IfcProcess=/*#__PURE__*/function(_IfcObject8){_inherits(IfcProcess,_IfcObject8);var _super1135=_createSuper(IfcProcess);function IfcProcess(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,Identification,LongDescription){var _this1138;_classCallCheck(this,IfcProcess);_this1138=_super1135.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType);_this1138.GlobalId=GlobalId;_this1138.OwnerHistory=OwnerHistory;_this1138.Name=Name;_this1138.Description=Description;_this1138.ObjectType=ObjectType;_this1138.Identification=Identification;_this1138.LongDescription=LongDescription;_this1138.type=2945172077;return _this1138;}return _createClass(IfcProcess);}(IfcObject);IFC42.IfcProcess=IfcProcess;var IfcProduct=/*#__PURE__*/function(_IfcObject9){_inherits(IfcProduct,_IfcObject9);var _super1136=_createSuper(IfcProduct);function IfcProduct(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation){var _this1139;_classCallCheck(this,IfcProduct);_this1139=_super1136.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType);_this1139.GlobalId=GlobalId;_this1139.OwnerHistory=OwnerHistory;_this1139.Name=Name;_this1139.Description=Description;_this1139.ObjectType=ObjectType;_this1139.ObjectPlacement=ObjectPlacement;_this1139.Representation=Representation;_this1139.type=4208778838;return _this1139;}return _createClass(IfcProduct);}(IfcObject);IFC42.IfcProduct=IfcProduct;var IfcProject=/*#__PURE__*/function(_IfcContext){_inherits(IfcProject,_IfcContext);var _super1137=_createSuper(IfcProject);function IfcProject(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,LongName,Phase,RepresentationContexts,UnitsInContext){var _this1140;_classCallCheck(this,IfcProject);_this1140=_super1137.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,LongName,Phase,RepresentationContexts,UnitsInContext);_this1140.GlobalId=GlobalId;_this1140.OwnerHistory=OwnerHistory;_this1140.Name=Name;_this1140.Description=Description;_this1140.ObjectType=ObjectType;_this1140.LongName=LongName;_this1140.Phase=Phase;_this1140.RepresentationContexts=RepresentationContexts;_this1140.UnitsInContext=UnitsInContext;_this1140.type=103090709;return _this1140;}return _createClass(IfcProject);}(IfcContext);IFC42.IfcProject=IfcProject;var IfcProjectLibrary=/*#__PURE__*/function(_IfcContext2){_inherits(IfcProjectLibrary,_IfcContext2);var _super1138=_createSuper(IfcProjectLibrary);function IfcProjectLibrary(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,LongName,Phase,RepresentationContexts,UnitsInContext){var _this1141;_classCallCheck(this,IfcProjectLibrary);_this1141=_super1138.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,LongName,Phase,RepresentationContexts,UnitsInContext);_this1141.GlobalId=GlobalId;_this1141.OwnerHistory=OwnerHistory;_this1141.Name=Name;_this1141.Description=Description;_this1141.ObjectType=ObjectType;_this1141.LongName=LongName;_this1141.Phase=Phase;_this1141.RepresentationContexts=RepresentationContexts;_this1141.UnitsInContext=UnitsInContext;_this1141.type=653396225;return _this1141;}return _createClass(IfcProjectLibrary);}(IfcContext);IFC42.IfcProjectLibrary=IfcProjectLibrary;var IfcPropertyBoundedValue=/*#__PURE__*/function(_IfcSimpleProperty7){_inherits(IfcPropertyBoundedValue,_IfcSimpleProperty7);var _super1139=_createSuper(IfcPropertyBoundedValue);function IfcPropertyBoundedValue(expressID,Name,Description,UpperBoundValue,LowerBoundValue,Unit,SetPointValue){var _this1142;_classCallCheck(this,IfcPropertyBoundedValue);_this1142=_super1139.call(this,expressID,Name,Description);_this1142.Name=Name;_this1142.Description=Description;_this1142.UpperBoundValue=UpperBoundValue;_this1142.LowerBoundValue=LowerBoundValue;_this1142.Unit=Unit;_this1142.SetPointValue=SetPointValue;_this1142.type=871118103;return _this1142;}return _createClass(IfcPropertyBoundedValue);}(IfcSimpleProperty);IFC42.IfcPropertyBoundedValue=IfcPropertyBoundedValue;var IfcPropertyEnumeratedValue=/*#__PURE__*/function(_IfcSimpleProperty8){_inherits(IfcPropertyEnumeratedValue,_IfcSimpleProperty8);var _super1140=_createSuper(IfcPropertyEnumeratedValue);function IfcPropertyEnumeratedValue(expressID,Name,Description,EnumerationValues,EnumerationReference){var _this1143;_classCallCheck(this,IfcPropertyEnumeratedValue);_this1143=_super1140.call(this,expressID,Name,Description);_this1143.Name=Name;_this1143.Description=Description;_this1143.EnumerationValues=EnumerationValues;_this1143.EnumerationReference=EnumerationReference;_this1143.type=4166981789;return _this1143;}return _createClass(IfcPropertyEnumeratedValue);}(IfcSimpleProperty);IFC42.IfcPropertyEnumeratedValue=IfcPropertyEnumeratedValue;var IfcPropertyListValue=/*#__PURE__*/function(_IfcSimpleProperty9){_inherits(IfcPropertyListValue,_IfcSimpleProperty9);var _super1141=_createSuper(IfcPropertyListValue);function IfcPropertyListValue(expressID,Name,Description,ListValues,Unit){var _this1144;_classCallCheck(this,IfcPropertyListValue);_this1144=_super1141.call(this,expressID,Name,Description);_this1144.Name=Name;_this1144.Description=Description;_this1144.ListValues=ListValues;_this1144.Unit=Unit;_this1144.type=2752243245;return _this1144;}return _createClass(IfcPropertyListValue);}(IfcSimpleProperty);IFC42.IfcPropertyListValue=IfcPropertyListValue;var IfcPropertyReferenceValue=/*#__PURE__*/function(_IfcSimpleProperty10){_inherits(IfcPropertyReferenceValue,_IfcSimpleProperty10);var _super1142=_createSuper(IfcPropertyReferenceValue);function IfcPropertyReferenceValue(expressID,Name,Description,UsageName,PropertyReference){var _this1145;_classCallCheck(this,IfcPropertyReferenceValue);_this1145=_super1142.call(this,expressID,Name,Description);_this1145.Name=Name;_this1145.Description=Description;_this1145.UsageName=UsageName;_this1145.PropertyReference=PropertyReference;_this1145.type=941946838;return _this1145;}return _createClass(IfcPropertyReferenceValue);}(IfcSimpleProperty);IFC42.IfcPropertyReferenceValue=IfcPropertyReferenceValue;var IfcPropertySet=/*#__PURE__*/function(_IfcPropertySetDefini17){_inherits(IfcPropertySet,_IfcPropertySetDefini17);var _super1143=_createSuper(IfcPropertySet);function IfcPropertySet(expressID,GlobalId,OwnerHistory,Name,Description,HasProperties){var _this1146;_classCallCheck(this,IfcPropertySet);_this1146=_super1143.call(this,expressID,GlobalId,OwnerHistory,Name,Description);_this1146.GlobalId=GlobalId;_this1146.OwnerHistory=OwnerHistory;_this1146.Name=Name;_this1146.Description=Description;_this1146.HasProperties=HasProperties;_this1146.type=1451395588;return _this1146;}return _createClass(IfcPropertySet);}(IfcPropertySetDefinition);IFC42.IfcPropertySet=IfcPropertySet;var IfcPropertySetTemplate=/*#__PURE__*/function(_IfcPropertyTemplateD){_inherits(IfcPropertySetTemplate,_IfcPropertyTemplateD);var _super1144=_createSuper(IfcPropertySetTemplate);function IfcPropertySetTemplate(expressID,GlobalId,OwnerHistory,Name,Description,TemplateType,ApplicableEntity,HasPropertyTemplates){var _this1147;_classCallCheck(this,IfcPropertySetTemplate);_this1147=_super1144.call(this,expressID,GlobalId,OwnerHistory,Name,Description);_this1147.GlobalId=GlobalId;_this1147.OwnerHistory=OwnerHistory;_this1147.Name=Name;_this1147.Description=Description;_this1147.TemplateType=TemplateType;_this1147.ApplicableEntity=ApplicableEntity;_this1147.HasPropertyTemplates=HasPropertyTemplates;_this1147.type=492091185;return _this1147;}return _createClass(IfcPropertySetTemplate);}(IfcPropertyTemplateDefinition);IFC42.IfcPropertySetTemplate=IfcPropertySetTemplate;var IfcPropertySingleValue=/*#__PURE__*/function(_IfcSimpleProperty11){_inherits(IfcPropertySingleValue,_IfcSimpleProperty11);var _super1145=_createSuper(IfcPropertySingleValue);function IfcPropertySingleValue(expressID,Name,Description,NominalValue,Unit){var _this1148;_classCallCheck(this,IfcPropertySingleValue);_this1148=_super1145.call(this,expressID,Name,Description);_this1148.Name=Name;_this1148.Description=Description;_this1148.NominalValue=NominalValue;_this1148.Unit=Unit;_this1148.type=3650150729;return _this1148;}return _createClass(IfcPropertySingleValue);}(IfcSimpleProperty);IFC42.IfcPropertySingleValue=IfcPropertySingleValue;var IfcPropertyTableValue=/*#__PURE__*/function(_IfcSimpleProperty12){_inherits(IfcPropertyTableValue,_IfcSimpleProperty12);var _super1146=_createSuper(IfcPropertyTableValue);function IfcPropertyTableValue(expressID,Name,Description,DefiningValues,DefinedValues,Expression,DefiningUnit,DefinedUnit,CurveInterpolation){var _this1149;_classCallCheck(this,IfcPropertyTableValue);_this1149=_super1146.call(this,expressID,Name,Description);_this1149.Name=Name;_this1149.Description=Description;_this1149.DefiningValues=DefiningValues;_this1149.DefinedValues=DefinedValues;_this1149.Expression=Expression;_this1149.DefiningUnit=DefiningUnit;_this1149.DefinedUnit=DefinedUnit;_this1149.CurveInterpolation=CurveInterpolation;_this1149.type=110355661;return _this1149;}return _createClass(IfcPropertyTableValue);}(IfcSimpleProperty);IFC42.IfcPropertyTableValue=IfcPropertyTableValue;var IfcPropertyTemplate=/*#__PURE__*/function(_IfcPropertyTemplateD2){_inherits(IfcPropertyTemplate,_IfcPropertyTemplateD2);var _super1147=_createSuper(IfcPropertyTemplate);function IfcPropertyTemplate(expressID,GlobalId,OwnerHistory,Name,Description){var _this1150;_classCallCheck(this,IfcPropertyTemplate);_this1150=_super1147.call(this,expressID,GlobalId,OwnerHistory,Name,Description);_this1150.GlobalId=GlobalId;_this1150.OwnerHistory=OwnerHistory;_this1150.Name=Name;_this1150.Description=Description;_this1150.type=3521284610;return _this1150;}return _createClass(IfcPropertyTemplate);}(IfcPropertyTemplateDefinition);IFC42.IfcPropertyTemplate=IfcPropertyTemplate;var IfcProxy=/*#__PURE__*/function(_IfcProduct9){_inherits(IfcProxy,_IfcProduct9);var _super1148=_createSuper(IfcProxy);function IfcProxy(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,ProxyType,Tag){var _this1151;_classCallCheck(this,IfcProxy);_this1151=_super1148.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation);_this1151.GlobalId=GlobalId;_this1151.OwnerHistory=OwnerHistory;_this1151.Name=Name;_this1151.Description=Description;_this1151.ObjectType=ObjectType;_this1151.ObjectPlacement=ObjectPlacement;_this1151.Representation=Representation;_this1151.ProxyType=ProxyType;_this1151.Tag=Tag;_this1151.type=3219374653;return _this1151;}return _createClass(IfcProxy);}(IfcProduct);IFC42.IfcProxy=IfcProxy;var IfcRectangleHollowProfileDef=/*#__PURE__*/function(_IfcRectangleProfileD4){_inherits(IfcRectangleHollowProfileDef,_IfcRectangleProfileD4);var _super1149=_createSuper(IfcRectangleHollowProfileDef);function IfcRectangleHollowProfileDef(expressID,ProfileType,ProfileName,Position,XDim,YDim,WallThickness,InnerFilletRadius,OuterFilletRadius){var _this1152;_classCallCheck(this,IfcRectangleHollowProfileDef);_this1152=_super1149.call(this,expressID,ProfileType,ProfileName,Position,XDim,YDim);_this1152.ProfileType=ProfileType;_this1152.ProfileName=ProfileName;_this1152.Position=Position;_this1152.XDim=XDim;_this1152.YDim=YDim;_this1152.WallThickness=WallThickness;_this1152.InnerFilletRadius=InnerFilletRadius;_this1152.OuterFilletRadius=OuterFilletRadius;_this1152.type=2770003689;return _this1152;}return _createClass(IfcRectangleHollowProfileDef);}(IfcRectangleProfileDef);IFC42.IfcRectangleHollowProfileDef=IfcRectangleHollowProfileDef;var IfcRectangularPyramid=/*#__PURE__*/function(_IfcCsgPrimitive3D6){_inherits(IfcRectangularPyramid,_IfcCsgPrimitive3D6);var _super1150=_createSuper(IfcRectangularPyramid);function IfcRectangularPyramid(expressID,Position,XLength,YLength,Height){var _this1153;_classCallCheck(this,IfcRectangularPyramid);_this1153=_super1150.call(this,expressID,Position);_this1153.Position=Position;_this1153.XLength=XLength;_this1153.YLength=YLength;_this1153.Height=Height;_this1153.type=2798486643;return _this1153;}return _createClass(IfcRectangularPyramid);}(IfcCsgPrimitive3D);IFC42.IfcRectangularPyramid=IfcRectangularPyramid;var IfcRectangularTrimmedSurface=/*#__PURE__*/function(_IfcBoundedSurface5){_inherits(IfcRectangularTrimmedSurface,_IfcBoundedSurface5);var _super1151=_createSuper(IfcRectangularTrimmedSurface);function IfcRectangularTrimmedSurface(expressID,BasisSurface,U1,V1,U2,V2,Usense,Vsense){var _this1154;_classCallCheck(this,IfcRectangularTrimmedSurface);_this1154=_super1151.call(this,expressID);_this1154.BasisSurface=BasisSurface;_this1154.U1=U1;_this1154.V1=V1;_this1154.U2=U2;_this1154.V2=V2;_this1154.Usense=Usense;_this1154.Vsense=Vsense;_this1154.type=3454111270;return _this1154;}return _createClass(IfcRectangularTrimmedSurface);}(IfcBoundedSurface);IFC42.IfcRectangularTrimmedSurface=IfcRectangularTrimmedSurface;var IfcReinforcementDefinitionProperties=/*#__PURE__*/function(_IfcPreDefinedPropert4){_inherits(IfcReinforcementDefinitionProperties,_IfcPreDefinedPropert4);var _super1152=_createSuper(IfcReinforcementDefinitionProperties);function IfcReinforcementDefinitionProperties(expressID,GlobalId,OwnerHistory,Name,Description,DefinitionType,ReinforcementSectionDefinitions){var _this1155;_classCallCheck(this,IfcReinforcementDefinitionProperties);_this1155=_super1152.call(this,expressID,GlobalId,OwnerHistory,Name,Description);_this1155.GlobalId=GlobalId;_this1155.OwnerHistory=OwnerHistory;_this1155.Name=Name;_this1155.Description=Description;_this1155.DefinitionType=DefinitionType;_this1155.ReinforcementSectionDefinitions=ReinforcementSectionDefinitions;_this1155.type=3765753017;return _this1155;}return _createClass(IfcReinforcementDefinitionProperties);}(IfcPreDefinedPropertySet);IFC42.IfcReinforcementDefinitionProperties=IfcReinforcementDefinitionProperties;var IfcRelAssigns=/*#__PURE__*/function(_IfcRelationship6){_inherits(IfcRelAssigns,_IfcRelationship6);var _super1153=_createSuper(IfcRelAssigns);function IfcRelAssigns(expressID,GlobalId,OwnerHistory,Name,Description,RelatedObjects,RelatedObjectsType){var _this1156;_classCallCheck(this,IfcRelAssigns);_this1156=_super1153.call(this,expressID,GlobalId,OwnerHistory,Name,Description);_this1156.GlobalId=GlobalId;_this1156.OwnerHistory=OwnerHistory;_this1156.Name=Name;_this1156.Description=Description;_this1156.RelatedObjects=RelatedObjects;_this1156.RelatedObjectsType=RelatedObjectsType;_this1156.type=3939117080;return _this1156;}return _createClass(IfcRelAssigns);}(IfcRelationship);IFC42.IfcRelAssigns=IfcRelAssigns;var IfcRelAssignsToActor=/*#__PURE__*/function(_IfcRelAssigns7){_inherits(IfcRelAssignsToActor,_IfcRelAssigns7);var _super1154=_createSuper(IfcRelAssignsToActor);function IfcRelAssignsToActor(expressID,GlobalId,OwnerHistory,Name,Description,RelatedObjects,RelatedObjectsType,RelatingActor,ActingRole){var _this1157;_classCallCheck(this,IfcRelAssignsToActor);_this1157=_super1154.call(this,expressID,GlobalId,OwnerHistory,Name,Description,RelatedObjects,RelatedObjectsType);_this1157.GlobalId=GlobalId;_this1157.OwnerHistory=OwnerHistory;_this1157.Name=Name;_this1157.Description=Description;_this1157.RelatedObjects=RelatedObjects;_this1157.RelatedObjectsType=RelatedObjectsType;_this1157.RelatingActor=RelatingActor;_this1157.ActingRole=ActingRole;_this1157.type=1683148259;return _this1157;}return _createClass(IfcRelAssignsToActor);}(IfcRelAssigns);IFC42.IfcRelAssignsToActor=IfcRelAssignsToActor;var IfcRelAssignsToControl=/*#__PURE__*/function(_IfcRelAssigns8){_inherits(IfcRelAssignsToControl,_IfcRelAssigns8);var _super1155=_createSuper(IfcRelAssignsToControl);function IfcRelAssignsToControl(expressID,GlobalId,OwnerHistory,Name,Description,RelatedObjects,RelatedObjectsType,RelatingControl){var _this1158;_classCallCheck(this,IfcRelAssignsToControl);_this1158=_super1155.call(this,expressID,GlobalId,OwnerHistory,Name,Description,RelatedObjects,RelatedObjectsType);_this1158.GlobalId=GlobalId;_this1158.OwnerHistory=OwnerHistory;_this1158.Name=Name;_this1158.Description=Description;_this1158.RelatedObjects=RelatedObjects;_this1158.RelatedObjectsType=RelatedObjectsType;_this1158.RelatingControl=RelatingControl;_this1158.type=2495723537;return _this1158;}return _createClass(IfcRelAssignsToControl);}(IfcRelAssigns);IFC42.IfcRelAssignsToControl=IfcRelAssignsToControl;var IfcRelAssignsToGroup=/*#__PURE__*/function(_IfcRelAssigns9){_inherits(IfcRelAssignsToGroup,_IfcRelAssigns9);var _super1156=_createSuper(IfcRelAssignsToGroup);function IfcRelAssignsToGroup(expressID,GlobalId,OwnerHistory,Name,Description,RelatedObjects,RelatedObjectsType,RelatingGroup){var _this1159;_classCallCheck(this,IfcRelAssignsToGroup);_this1159=_super1156.call(this,expressID,GlobalId,OwnerHistory,Name,Description,RelatedObjects,RelatedObjectsType);_this1159.GlobalId=GlobalId;_this1159.OwnerHistory=OwnerHistory;_this1159.Name=Name;_this1159.Description=Description;_this1159.RelatedObjects=RelatedObjects;_this1159.RelatedObjectsType=RelatedObjectsType;_this1159.RelatingGroup=RelatingGroup;_this1159.type=1307041759;return _this1159;}return _createClass(IfcRelAssignsToGroup);}(IfcRelAssigns);IFC42.IfcRelAssignsToGroup=IfcRelAssignsToGroup;var IfcRelAssignsToGroupByFactor=/*#__PURE__*/function(_IfcRelAssignsToGroup){_inherits(IfcRelAssignsToGroupByFactor,_IfcRelAssignsToGroup);var _super1157=_createSuper(IfcRelAssignsToGroupByFactor);function IfcRelAssignsToGroupByFactor(expressID,GlobalId,OwnerHistory,Name,Description,RelatedObjects,RelatedObjectsType,RelatingGroup,Factor){var _this1160;_classCallCheck(this,IfcRelAssignsToGroupByFactor);_this1160=_super1157.call(this,expressID,GlobalId,OwnerHistory,Name,Description,RelatedObjects,RelatedObjectsType,RelatingGroup);_this1160.GlobalId=GlobalId;_this1160.OwnerHistory=OwnerHistory;_this1160.Name=Name;_this1160.Description=Description;_this1160.RelatedObjects=RelatedObjects;_this1160.RelatedObjectsType=RelatedObjectsType;_this1160.RelatingGroup=RelatingGroup;_this1160.Factor=Factor;_this1160.type=1027710054;return _this1160;}return _createClass(IfcRelAssignsToGroupByFactor);}(IfcRelAssignsToGroup);IFC42.IfcRelAssignsToGroupByFactor=IfcRelAssignsToGroupByFactor;var IfcRelAssignsToProcess=/*#__PURE__*/function(_IfcRelAssigns10){_inherits(IfcRelAssignsToProcess,_IfcRelAssigns10);var _super1158=_createSuper(IfcRelAssignsToProcess);function IfcRelAssignsToProcess(expressID,GlobalId,OwnerHistory,Name,Description,RelatedObjects,RelatedObjectsType,RelatingProcess,QuantityInProcess){var _this1161;_classCallCheck(this,IfcRelAssignsToProcess);_this1161=_super1158.call(this,expressID,GlobalId,OwnerHistory,Name,Description,RelatedObjects,RelatedObjectsType);_this1161.GlobalId=GlobalId;_this1161.OwnerHistory=OwnerHistory;_this1161.Name=Name;_this1161.Description=Description;_this1161.RelatedObjects=RelatedObjects;_this1161.RelatedObjectsType=RelatedObjectsType;_this1161.RelatingProcess=RelatingProcess;_this1161.QuantityInProcess=QuantityInProcess;_this1161.type=4278684876;return _this1161;}return _createClass(IfcRelAssignsToProcess);}(IfcRelAssigns);IFC42.IfcRelAssignsToProcess=IfcRelAssignsToProcess;var IfcRelAssignsToProduct=/*#__PURE__*/function(_IfcRelAssigns11){_inherits(IfcRelAssignsToProduct,_IfcRelAssigns11);var _super1159=_createSuper(IfcRelAssignsToProduct);function IfcRelAssignsToProduct(expressID,GlobalId,OwnerHistory,Name,Description,RelatedObjects,RelatedObjectsType,RelatingProduct){var _this1162;_classCallCheck(this,IfcRelAssignsToProduct);_this1162=_super1159.call(this,expressID,GlobalId,OwnerHistory,Name,Description,RelatedObjects,RelatedObjectsType);_this1162.GlobalId=GlobalId;_this1162.OwnerHistory=OwnerHistory;_this1162.Name=Name;_this1162.Description=Description;_this1162.RelatedObjects=RelatedObjects;_this1162.RelatedObjectsType=RelatedObjectsType;_this1162.RelatingProduct=RelatingProduct;_this1162.type=2857406711;return _this1162;}return _createClass(IfcRelAssignsToProduct);}(IfcRelAssigns);IFC42.IfcRelAssignsToProduct=IfcRelAssignsToProduct;var IfcRelAssignsToResource=/*#__PURE__*/function(_IfcRelAssigns12){_inherits(IfcRelAssignsToResource,_IfcRelAssigns12);var _super1160=_createSuper(IfcRelAssignsToResource);function IfcRelAssignsToResource(expressID,GlobalId,OwnerHistory,Name,Description,RelatedObjects,RelatedObjectsType,RelatingResource){var _this1163;_classCallCheck(this,IfcRelAssignsToResource);_this1163=_super1160.call(this,expressID,GlobalId,OwnerHistory,Name,Description,RelatedObjects,RelatedObjectsType);_this1163.GlobalId=GlobalId;_this1163.OwnerHistory=OwnerHistory;_this1163.Name=Name;_this1163.Description=Description;_this1163.RelatedObjects=RelatedObjects;_this1163.RelatedObjectsType=RelatedObjectsType;_this1163.RelatingResource=RelatingResource;_this1163.type=205026976;return _this1163;}return _createClass(IfcRelAssignsToResource);}(IfcRelAssigns);IFC42.IfcRelAssignsToResource=IfcRelAssignsToResource;var IfcRelAssociates=/*#__PURE__*/function(_IfcRelationship7){_inherits(IfcRelAssociates,_IfcRelationship7);var _super1161=_createSuper(IfcRelAssociates);function IfcRelAssociates(expressID,GlobalId,OwnerHistory,Name,Description,RelatedObjects){var _this1164;_classCallCheck(this,IfcRelAssociates);_this1164=_super1161.call(this,expressID,GlobalId,OwnerHistory,Name,Description);_this1164.GlobalId=GlobalId;_this1164.OwnerHistory=OwnerHistory;_this1164.Name=Name;_this1164.Description=Description;_this1164.RelatedObjects=RelatedObjects;_this1164.type=1865459582;return _this1164;}return _createClass(IfcRelAssociates);}(IfcRelationship);IFC42.IfcRelAssociates=IfcRelAssociates;var IfcRelAssociatesApproval=/*#__PURE__*/function(_IfcRelAssociates9){_inherits(IfcRelAssociatesApproval,_IfcRelAssociates9);var _super1162=_createSuper(IfcRelAssociatesApproval);function IfcRelAssociatesApproval(expressID,GlobalId,OwnerHistory,Name,Description,RelatedObjects,RelatingApproval){var _this1165;_classCallCheck(this,IfcRelAssociatesApproval);_this1165=_super1162.call(this,expressID,GlobalId,OwnerHistory,Name,Description,RelatedObjects);_this1165.GlobalId=GlobalId;_this1165.OwnerHistory=OwnerHistory;_this1165.Name=Name;_this1165.Description=Description;_this1165.RelatedObjects=RelatedObjects;_this1165.RelatingApproval=RelatingApproval;_this1165.type=4095574036;return _this1165;}return _createClass(IfcRelAssociatesApproval);}(IfcRelAssociates);IFC42.IfcRelAssociatesApproval=IfcRelAssociatesApproval;var IfcRelAssociatesClassification=/*#__PURE__*/function(_IfcRelAssociates10){_inherits(IfcRelAssociatesClassification,_IfcRelAssociates10);var _super1163=_createSuper(IfcRelAssociatesClassification);function IfcRelAssociatesClassification(expressID,GlobalId,OwnerHistory,Name,Description,RelatedObjects,RelatingClassification){var _this1166;_classCallCheck(this,IfcRelAssociatesClassification);_this1166=_super1163.call(this,expressID,GlobalId,OwnerHistory,Name,Description,RelatedObjects);_this1166.GlobalId=GlobalId;_this1166.OwnerHistory=OwnerHistory;_this1166.Name=Name;_this1166.Description=Description;_this1166.RelatedObjects=RelatedObjects;_this1166.RelatingClassification=RelatingClassification;_this1166.type=919958153;return _this1166;}return _createClass(IfcRelAssociatesClassification);}(IfcRelAssociates);IFC42.IfcRelAssociatesClassification=IfcRelAssociatesClassification;var IfcRelAssociatesConstraint=/*#__PURE__*/function(_IfcRelAssociates11){_inherits(IfcRelAssociatesConstraint,_IfcRelAssociates11);var _super1164=_createSuper(IfcRelAssociatesConstraint);function IfcRelAssociatesConstraint(expressID,GlobalId,OwnerHistory,Name,Description,RelatedObjects,Intent,RelatingConstraint){var _this1167;_classCallCheck(this,IfcRelAssociatesConstraint);_this1167=_super1164.call(this,expressID,GlobalId,OwnerHistory,Name,Description,RelatedObjects);_this1167.GlobalId=GlobalId;_this1167.OwnerHistory=OwnerHistory;_this1167.Name=Name;_this1167.Description=Description;_this1167.RelatedObjects=RelatedObjects;_this1167.Intent=Intent;_this1167.RelatingConstraint=RelatingConstraint;_this1167.type=2728634034;return _this1167;}return _createClass(IfcRelAssociatesConstraint);}(IfcRelAssociates);IFC42.IfcRelAssociatesConstraint=IfcRelAssociatesConstraint;var IfcRelAssociatesDocument=/*#__PURE__*/function(_IfcRelAssociates12){_inherits(IfcRelAssociatesDocument,_IfcRelAssociates12);var _super1165=_createSuper(IfcRelAssociatesDocument);function IfcRelAssociatesDocument(expressID,GlobalId,OwnerHistory,Name,Description,RelatedObjects,RelatingDocument){var _this1168;_classCallCheck(this,IfcRelAssociatesDocument);_this1168=_super1165.call(this,expressID,GlobalId,OwnerHistory,Name,Description,RelatedObjects);_this1168.GlobalId=GlobalId;_this1168.OwnerHistory=OwnerHistory;_this1168.Name=Name;_this1168.Description=Description;_this1168.RelatedObjects=RelatedObjects;_this1168.RelatingDocument=RelatingDocument;_this1168.type=982818633;return _this1168;}return _createClass(IfcRelAssociatesDocument);}(IfcRelAssociates);IFC42.IfcRelAssociatesDocument=IfcRelAssociatesDocument;var IfcRelAssociatesLibrary=/*#__PURE__*/function(_IfcRelAssociates13){_inherits(IfcRelAssociatesLibrary,_IfcRelAssociates13);var _super1166=_createSuper(IfcRelAssociatesLibrary);function IfcRelAssociatesLibrary(expressID,GlobalId,OwnerHistory,Name,Description,RelatedObjects,RelatingLibrary){var _this1169;_classCallCheck(this,IfcRelAssociatesLibrary);_this1169=_super1166.call(this,expressID,GlobalId,OwnerHistory,Name,Description,RelatedObjects);_this1169.GlobalId=GlobalId;_this1169.OwnerHistory=OwnerHistory;_this1169.Name=Name;_this1169.Description=Description;_this1169.RelatedObjects=RelatedObjects;_this1169.RelatingLibrary=RelatingLibrary;_this1169.type=3840914261;return _this1169;}return _createClass(IfcRelAssociatesLibrary);}(IfcRelAssociates);IFC42.IfcRelAssociatesLibrary=IfcRelAssociatesLibrary;var IfcRelAssociatesMaterial=/*#__PURE__*/function(_IfcRelAssociates14){_inherits(IfcRelAssociatesMaterial,_IfcRelAssociates14);var _super1167=_createSuper(IfcRelAssociatesMaterial);function IfcRelAssociatesMaterial(expressID,GlobalId,OwnerHistory,Name,Description,RelatedObjects,RelatingMaterial){var _this1170;_classCallCheck(this,IfcRelAssociatesMaterial);_this1170=_super1167.call(this,expressID,GlobalId,OwnerHistory,Name,Description,RelatedObjects);_this1170.GlobalId=GlobalId;_this1170.OwnerHistory=OwnerHistory;_this1170.Name=Name;_this1170.Description=Description;_this1170.RelatedObjects=RelatedObjects;_this1170.RelatingMaterial=RelatingMaterial;_this1170.type=2655215786;return _this1170;}return _createClass(IfcRelAssociatesMaterial);}(IfcRelAssociates);IFC42.IfcRelAssociatesMaterial=IfcRelAssociatesMaterial;var IfcRelConnects=/*#__PURE__*/function(_IfcRelationship8){_inherits(IfcRelConnects,_IfcRelationship8);var _super1168=_createSuper(IfcRelConnects);function IfcRelConnects(expressID,GlobalId,OwnerHistory,Name,Description){var _this1171;_classCallCheck(this,IfcRelConnects);_this1171=_super1168.call(this,expressID,GlobalId,OwnerHistory,Name,Description);_this1171.GlobalId=GlobalId;_this1171.OwnerHistory=OwnerHistory;_this1171.Name=Name;_this1171.Description=Description;_this1171.type=826625072;return _this1171;}return _createClass(IfcRelConnects);}(IfcRelationship);IFC42.IfcRelConnects=IfcRelConnects;var IfcRelConnectsElements=/*#__PURE__*/function(_IfcRelConnects19){_inherits(IfcRelConnectsElements,_IfcRelConnects19);var _super1169=_createSuper(IfcRelConnectsElements);function IfcRelConnectsElements(expressID,GlobalId,OwnerHistory,Name,Description,ConnectionGeometry,RelatingElement,RelatedElement){var _this1172;_classCallCheck(this,IfcRelConnectsElements);_this1172=_super1169.call(this,expressID,GlobalId,OwnerHistory,Name,Description);_this1172.GlobalId=GlobalId;_this1172.OwnerHistory=OwnerHistory;_this1172.Name=Name;_this1172.Description=Description;_this1172.ConnectionGeometry=ConnectionGeometry;_this1172.RelatingElement=RelatingElement;_this1172.RelatedElement=RelatedElement;_this1172.type=1204542856;return _this1172;}return _createClass(IfcRelConnectsElements);}(IfcRelConnects);IFC42.IfcRelConnectsElements=IfcRelConnectsElements;var IfcRelConnectsPathElements=/*#__PURE__*/function(_IfcRelConnectsElemen3){_inherits(IfcRelConnectsPathElements,_IfcRelConnectsElemen3);var _super1170=_createSuper(IfcRelConnectsPathElements);function IfcRelConnectsPathElements(expressID,GlobalId,OwnerHistory,Name,Description,ConnectionGeometry,RelatingElement,RelatedElement,RelatingPriorities,RelatedPriorities,RelatedConnectionType,RelatingConnectionType){var _this1173;_classCallCheck(this,IfcRelConnectsPathElements);_this1173=_super1170.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ConnectionGeometry,RelatingElement,RelatedElement);_this1173.GlobalId=GlobalId;_this1173.OwnerHistory=OwnerHistory;_this1173.Name=Name;_this1173.Description=Description;_this1173.ConnectionGeometry=ConnectionGeometry;_this1173.RelatingElement=RelatingElement;_this1173.RelatedElement=RelatedElement;_this1173.RelatingPriorities=RelatingPriorities;_this1173.RelatedPriorities=RelatedPriorities;_this1173.RelatedConnectionType=RelatedConnectionType;_this1173.RelatingConnectionType=RelatingConnectionType;_this1173.type=3945020480;return _this1173;}return _createClass(IfcRelConnectsPathElements);}(IfcRelConnectsElements);IFC42.IfcRelConnectsPathElements=IfcRelConnectsPathElements;var IfcRelConnectsPortToElement=/*#__PURE__*/function(_IfcRelConnects20){_inherits(IfcRelConnectsPortToElement,_IfcRelConnects20);var _super1171=_createSuper(IfcRelConnectsPortToElement);function IfcRelConnectsPortToElement(expressID,GlobalId,OwnerHistory,Name,Description,RelatingPort,RelatedElement){var _this1174;_classCallCheck(this,IfcRelConnectsPortToElement);_this1174=_super1171.call(this,expressID,GlobalId,OwnerHistory,Name,Description);_this1174.GlobalId=GlobalId;_this1174.OwnerHistory=OwnerHistory;_this1174.Name=Name;_this1174.Description=Description;_this1174.RelatingPort=RelatingPort;_this1174.RelatedElement=RelatedElement;_this1174.type=4201705270;return _this1174;}return _createClass(IfcRelConnectsPortToElement);}(IfcRelConnects);IFC42.IfcRelConnectsPortToElement=IfcRelConnectsPortToElement;var IfcRelConnectsPorts=/*#__PURE__*/function(_IfcRelConnects21){_inherits(IfcRelConnectsPorts,_IfcRelConnects21);var _super1172=_createSuper(IfcRelConnectsPorts);function IfcRelConnectsPorts(expressID,GlobalId,OwnerHistory,Name,Description,RelatingPort,RelatedPort,RealizingElement){var _this1175;_classCallCheck(this,IfcRelConnectsPorts);_this1175=_super1172.call(this,expressID,GlobalId,OwnerHistory,Name,Description);_this1175.GlobalId=GlobalId;_this1175.OwnerHistory=OwnerHistory;_this1175.Name=Name;_this1175.Description=Description;_this1175.RelatingPort=RelatingPort;_this1175.RelatedPort=RelatedPort;_this1175.RealizingElement=RealizingElement;_this1175.type=3190031847;return _this1175;}return _createClass(IfcRelConnectsPorts);}(IfcRelConnects);IFC42.IfcRelConnectsPorts=IfcRelConnectsPorts;var IfcRelConnectsStructuralActivity=/*#__PURE__*/function(_IfcRelConnects22){_inherits(IfcRelConnectsStructuralActivity,_IfcRelConnects22);var _super1173=_createSuper(IfcRelConnectsStructuralActivity);function IfcRelConnectsStructuralActivity(expressID,GlobalId,OwnerHistory,Name,Description,RelatingElement,RelatedStructuralActivity){var _this1176;_classCallCheck(this,IfcRelConnectsStructuralActivity);_this1176=_super1173.call(this,expressID,GlobalId,OwnerHistory,Name,Description);_this1176.GlobalId=GlobalId;_this1176.OwnerHistory=OwnerHistory;_this1176.Name=Name;_this1176.Description=Description;_this1176.RelatingElement=RelatingElement;_this1176.RelatedStructuralActivity=RelatedStructuralActivity;_this1176.type=2127690289;return _this1176;}return _createClass(IfcRelConnectsStructuralActivity);}(IfcRelConnects);IFC42.IfcRelConnectsStructuralActivity=IfcRelConnectsStructuralActivity;var IfcRelConnectsStructuralMember=/*#__PURE__*/function(_IfcRelConnects23){_inherits(IfcRelConnectsStructuralMember,_IfcRelConnects23);var _super1174=_createSuper(IfcRelConnectsStructuralMember);function IfcRelConnectsStructuralMember(expressID,GlobalId,OwnerHistory,Name,Description,RelatingStructuralMember,RelatedStructuralConnection,AppliedCondition,AdditionalConditions,SupportedLength,ConditionCoordinateSystem){var _this1177;_classCallCheck(this,IfcRelConnectsStructuralMember);_this1177=_super1174.call(this,expressID,GlobalId,OwnerHistory,Name,Description);_this1177.GlobalId=GlobalId;_this1177.OwnerHistory=OwnerHistory;_this1177.Name=Name;_this1177.Description=Description;_this1177.RelatingStructuralMember=RelatingStructuralMember;_this1177.RelatedStructuralConnection=RelatedStructuralConnection;_this1177.AppliedCondition=AppliedCondition;_this1177.AdditionalConditions=AdditionalConditions;_this1177.SupportedLength=SupportedLength;_this1177.ConditionCoordinateSystem=ConditionCoordinateSystem;_this1177.type=1638771189;return _this1177;}return _createClass(IfcRelConnectsStructuralMember);}(IfcRelConnects);IFC42.IfcRelConnectsStructuralMember=IfcRelConnectsStructuralMember;var IfcRelConnectsWithEccentricity=/*#__PURE__*/function(_IfcRelConnectsStruct2){_inherits(IfcRelConnectsWithEccentricity,_IfcRelConnectsStruct2);var _super1175=_createSuper(IfcRelConnectsWithEccentricity);function IfcRelConnectsWithEccentricity(expressID,GlobalId,OwnerHistory,Name,Description,RelatingStructuralMember,RelatedStructuralConnection,AppliedCondition,AdditionalConditions,SupportedLength,ConditionCoordinateSystem,ConnectionConstraint){var _this1178;_classCallCheck(this,IfcRelConnectsWithEccentricity);_this1178=_super1175.call(this,expressID,GlobalId,OwnerHistory,Name,Description,RelatingStructuralMember,RelatedStructuralConnection,AppliedCondition,AdditionalConditions,SupportedLength,ConditionCoordinateSystem);_this1178.GlobalId=GlobalId;_this1178.OwnerHistory=OwnerHistory;_this1178.Name=Name;_this1178.Description=Description;_this1178.RelatingStructuralMember=RelatingStructuralMember;_this1178.RelatedStructuralConnection=RelatedStructuralConnection;_this1178.AppliedCondition=AppliedCondition;_this1178.AdditionalConditions=AdditionalConditions;_this1178.SupportedLength=SupportedLength;_this1178.ConditionCoordinateSystem=ConditionCoordinateSystem;_this1178.ConnectionConstraint=ConnectionConstraint;_this1178.type=504942748;return _this1178;}return _createClass(IfcRelConnectsWithEccentricity);}(IfcRelConnectsStructuralMember);IFC42.IfcRelConnectsWithEccentricity=IfcRelConnectsWithEccentricity;var IfcRelConnectsWithRealizingElements=/*#__PURE__*/function(_IfcRelConnectsElemen4){_inherits(IfcRelConnectsWithRealizingElements,_IfcRelConnectsElemen4);var _super1176=_createSuper(IfcRelConnectsWithRealizingElements);function IfcRelConnectsWithRealizingElements(expressID,GlobalId,OwnerHistory,Name,Description,ConnectionGeometry,RelatingElement,RelatedElement,RealizingElements,ConnectionType){var _this1179;_classCallCheck(this,IfcRelConnectsWithRealizingElements);_this1179=_super1176.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ConnectionGeometry,RelatingElement,RelatedElement);_this1179.GlobalId=GlobalId;_this1179.OwnerHistory=OwnerHistory;_this1179.Name=Name;_this1179.Description=Description;_this1179.ConnectionGeometry=ConnectionGeometry;_this1179.RelatingElement=RelatingElement;_this1179.RelatedElement=RelatedElement;_this1179.RealizingElements=RealizingElements;_this1179.ConnectionType=ConnectionType;_this1179.type=3678494232;return _this1179;}return _createClass(IfcRelConnectsWithRealizingElements);}(IfcRelConnectsElements);IFC42.IfcRelConnectsWithRealizingElements=IfcRelConnectsWithRealizingElements;var IfcRelContainedInSpatialStructure=/*#__PURE__*/function(_IfcRelConnects24){_inherits(IfcRelContainedInSpatialStructure,_IfcRelConnects24);var _super1177=_createSuper(IfcRelContainedInSpatialStructure);function IfcRelContainedInSpatialStructure(expressID,GlobalId,OwnerHistory,Name,Description,RelatedElements,RelatingStructure){var _this1180;_classCallCheck(this,IfcRelContainedInSpatialStructure);_this1180=_super1177.call(this,expressID,GlobalId,OwnerHistory,Name,Description);_this1180.GlobalId=GlobalId;_this1180.OwnerHistory=OwnerHistory;_this1180.Name=Name;_this1180.Description=Description;_this1180.RelatedElements=RelatedElements;_this1180.RelatingStructure=RelatingStructure;_this1180.type=3242617779;return _this1180;}return _createClass(IfcRelContainedInSpatialStructure);}(IfcRelConnects);IFC42.IfcRelContainedInSpatialStructure=IfcRelContainedInSpatialStructure;var IfcRelCoversBldgElements=/*#__PURE__*/function(_IfcRelConnects25){_inherits(IfcRelCoversBldgElements,_IfcRelConnects25);var _super1178=_createSuper(IfcRelCoversBldgElements);function IfcRelCoversBldgElements(expressID,GlobalId,OwnerHistory,Name,Description,RelatingBuildingElement,RelatedCoverings){var _this1181;_classCallCheck(this,IfcRelCoversBldgElements);_this1181=_super1178.call(this,expressID,GlobalId,OwnerHistory,Name,Description);_this1181.GlobalId=GlobalId;_this1181.OwnerHistory=OwnerHistory;_this1181.Name=Name;_this1181.Description=Description;_this1181.RelatingBuildingElement=RelatingBuildingElement;_this1181.RelatedCoverings=RelatedCoverings;_this1181.type=886880790;return _this1181;}return _createClass(IfcRelCoversBldgElements);}(IfcRelConnects);IFC42.IfcRelCoversBldgElements=IfcRelCoversBldgElements;var IfcRelCoversSpaces=/*#__PURE__*/function(_IfcRelConnects26){_inherits(IfcRelCoversSpaces,_IfcRelConnects26);var _super1179=_createSuper(IfcRelCoversSpaces);function IfcRelCoversSpaces(expressID,GlobalId,OwnerHistory,Name,Description,RelatingSpace,RelatedCoverings){var _this1182;_classCallCheck(this,IfcRelCoversSpaces);_this1182=_super1179.call(this,expressID,GlobalId,OwnerHistory,Name,Description);_this1182.GlobalId=GlobalId;_this1182.OwnerHistory=OwnerHistory;_this1182.Name=Name;_this1182.Description=Description;_this1182.RelatingSpace=RelatingSpace;_this1182.RelatedCoverings=RelatedCoverings;_this1182.type=2802773753;return _this1182;}return _createClass(IfcRelCoversSpaces);}(IfcRelConnects);IFC42.IfcRelCoversSpaces=IfcRelCoversSpaces;var IfcRelDeclares=/*#__PURE__*/function(_IfcRelationship9){_inherits(IfcRelDeclares,_IfcRelationship9);var _super1180=_createSuper(IfcRelDeclares);function IfcRelDeclares(expressID,GlobalId,OwnerHistory,Name,Description,RelatingContext,RelatedDefinitions){var _this1183;_classCallCheck(this,IfcRelDeclares);_this1183=_super1180.call(this,expressID,GlobalId,OwnerHistory,Name,Description);_this1183.GlobalId=GlobalId;_this1183.OwnerHistory=OwnerHistory;_this1183.Name=Name;_this1183.Description=Description;_this1183.RelatingContext=RelatingContext;_this1183.RelatedDefinitions=RelatedDefinitions;_this1183.type=2565941209;return _this1183;}return _createClass(IfcRelDeclares);}(IfcRelationship);IFC42.IfcRelDeclares=IfcRelDeclares;var IfcRelDecomposes=/*#__PURE__*/function(_IfcRelationship10){_inherits(IfcRelDecomposes,_IfcRelationship10);var _super1181=_createSuper(IfcRelDecomposes);function IfcRelDecomposes(expressID,GlobalId,OwnerHistory,Name,Description){var _this1184;_classCallCheck(this,IfcRelDecomposes);_this1184=_super1181.call(this,expressID,GlobalId,OwnerHistory,Name,Description);_this1184.GlobalId=GlobalId;_this1184.OwnerHistory=OwnerHistory;_this1184.Name=Name;_this1184.Description=Description;_this1184.type=2551354335;return _this1184;}return _createClass(IfcRelDecomposes);}(IfcRelationship);IFC42.IfcRelDecomposes=IfcRelDecomposes;var IfcRelDefines=/*#__PURE__*/function(_IfcRelationship11){_inherits(IfcRelDefines,_IfcRelationship11);var _super1182=_createSuper(IfcRelDefines);function IfcRelDefines(expressID,GlobalId,OwnerHistory,Name,Description){var _this1185;_classCallCheck(this,IfcRelDefines);_this1185=_super1182.call(this,expressID,GlobalId,OwnerHistory,Name,Description);_this1185.GlobalId=GlobalId;_this1185.OwnerHistory=OwnerHistory;_this1185.Name=Name;_this1185.Description=Description;_this1185.type=693640335;return _this1185;}return _createClass(IfcRelDefines);}(IfcRelationship);IFC42.IfcRelDefines=IfcRelDefines;var IfcRelDefinesByObject=/*#__PURE__*/function(_IfcRelDefines3){_inherits(IfcRelDefinesByObject,_IfcRelDefines3);var _super1183=_createSuper(IfcRelDefinesByObject);function IfcRelDefinesByObject(expressID,GlobalId,OwnerHistory,Name,Description,RelatedObjects,RelatingObject){var _this1186;_classCallCheck(this,IfcRelDefinesByObject);_this1186=_super1183.call(this,expressID,GlobalId,OwnerHistory,Name,Description);_this1186.GlobalId=GlobalId;_this1186.OwnerHistory=OwnerHistory;_this1186.Name=Name;_this1186.Description=Description;_this1186.RelatedObjects=RelatedObjects;_this1186.RelatingObject=RelatingObject;_this1186.type=1462361463;return _this1186;}return _createClass(IfcRelDefinesByObject);}(IfcRelDefines);IFC42.IfcRelDefinesByObject=IfcRelDefinesByObject;var IfcRelDefinesByProperties=/*#__PURE__*/function(_IfcRelDefines4){_inherits(IfcRelDefinesByProperties,_IfcRelDefines4);var _super1184=_createSuper(IfcRelDefinesByProperties);function IfcRelDefinesByProperties(expressID,GlobalId,OwnerHistory,Name,Description,RelatedObjects,RelatingPropertyDefinition){var _this1187;_classCallCheck(this,IfcRelDefinesByProperties);_this1187=_super1184.call(this,expressID,GlobalId,OwnerHistory,Name,Description);_this1187.GlobalId=GlobalId;_this1187.OwnerHistory=OwnerHistory;_this1187.Name=Name;_this1187.Description=Description;_this1187.RelatedObjects=RelatedObjects;_this1187.RelatingPropertyDefinition=RelatingPropertyDefinition;_this1187.type=4186316022;return _this1187;}return _createClass(IfcRelDefinesByProperties);}(IfcRelDefines);IFC42.IfcRelDefinesByProperties=IfcRelDefinesByProperties;var IfcRelDefinesByTemplate=/*#__PURE__*/function(_IfcRelDefines5){_inherits(IfcRelDefinesByTemplate,_IfcRelDefines5);var _super1185=_createSuper(IfcRelDefinesByTemplate);function IfcRelDefinesByTemplate(expressID,GlobalId,OwnerHistory,Name,Description,RelatedPropertySets,RelatingTemplate){var _this1188;_classCallCheck(this,IfcRelDefinesByTemplate);_this1188=_super1185.call(this,expressID,GlobalId,OwnerHistory,Name,Description);_this1188.GlobalId=GlobalId;_this1188.OwnerHistory=OwnerHistory;_this1188.Name=Name;_this1188.Description=Description;_this1188.RelatedPropertySets=RelatedPropertySets;_this1188.RelatingTemplate=RelatingTemplate;_this1188.type=307848117;return _this1188;}return _createClass(IfcRelDefinesByTemplate);}(IfcRelDefines);IFC42.IfcRelDefinesByTemplate=IfcRelDefinesByTemplate;var IfcRelDefinesByType=/*#__PURE__*/function(_IfcRelDefines6){_inherits(IfcRelDefinesByType,_IfcRelDefines6);var _super1186=_createSuper(IfcRelDefinesByType);function IfcRelDefinesByType(expressID,GlobalId,OwnerHistory,Name,Description,RelatedObjects,RelatingType){var _this1189;_classCallCheck(this,IfcRelDefinesByType);_this1189=_super1186.call(this,expressID,GlobalId,OwnerHistory,Name,Description);_this1189.GlobalId=GlobalId;_this1189.OwnerHistory=OwnerHistory;_this1189.Name=Name;_this1189.Description=Description;_this1189.RelatedObjects=RelatedObjects;_this1189.RelatingType=RelatingType;_this1189.type=781010003;return _this1189;}return _createClass(IfcRelDefinesByType);}(IfcRelDefines);IFC42.IfcRelDefinesByType=IfcRelDefinesByType;var IfcRelFillsElement=/*#__PURE__*/function(_IfcRelConnects27){_inherits(IfcRelFillsElement,_IfcRelConnects27);var _super1187=_createSuper(IfcRelFillsElement);function IfcRelFillsElement(expressID,GlobalId,OwnerHistory,Name,Description,RelatingOpeningElement,RelatedBuildingElement){var _this1190;_classCallCheck(this,IfcRelFillsElement);_this1190=_super1187.call(this,expressID,GlobalId,OwnerHistory,Name,Description);_this1190.GlobalId=GlobalId;_this1190.OwnerHistory=OwnerHistory;_this1190.Name=Name;_this1190.Description=Description;_this1190.RelatingOpeningElement=RelatingOpeningElement;_this1190.RelatedBuildingElement=RelatedBuildingElement;_this1190.type=3940055652;return _this1190;}return _createClass(IfcRelFillsElement);}(IfcRelConnects);IFC42.IfcRelFillsElement=IfcRelFillsElement;var IfcRelFlowControlElements=/*#__PURE__*/function(_IfcRelConnects28){_inherits(IfcRelFlowControlElements,_IfcRelConnects28);var _super1188=_createSuper(IfcRelFlowControlElements);function IfcRelFlowControlElements(expressID,GlobalId,OwnerHistory,Name,Description,RelatedControlElements,RelatingFlowElement){var _this1191;_classCallCheck(this,IfcRelFlowControlElements);_this1191=_super1188.call(this,expressID,GlobalId,OwnerHistory,Name,Description);_this1191.GlobalId=GlobalId;_this1191.OwnerHistory=OwnerHistory;_this1191.Name=Name;_this1191.Description=Description;_this1191.RelatedControlElements=RelatedControlElements;_this1191.RelatingFlowElement=RelatingFlowElement;_this1191.type=279856033;return _this1191;}return _createClass(IfcRelFlowControlElements);}(IfcRelConnects);IFC42.IfcRelFlowControlElements=IfcRelFlowControlElements;var IfcRelInterferesElements=/*#__PURE__*/function(_IfcRelConnects29){_inherits(IfcRelInterferesElements,_IfcRelConnects29);var _super1189=_createSuper(IfcRelInterferesElements);function IfcRelInterferesElements(expressID,GlobalId,OwnerHistory,Name,Description,RelatingElement,RelatedElement,InterferenceGeometry,InterferenceType,ImpliedOrder){var _this1192;_classCallCheck(this,IfcRelInterferesElements);_this1192=_super1189.call(this,expressID,GlobalId,OwnerHistory,Name,Description);_this1192.GlobalId=GlobalId;_this1192.OwnerHistory=OwnerHistory;_this1192.Name=Name;_this1192.Description=Description;_this1192.RelatingElement=RelatingElement;_this1192.RelatedElement=RelatedElement;_this1192.InterferenceGeometry=InterferenceGeometry;_this1192.InterferenceType=InterferenceType;_this1192.ImpliedOrder=ImpliedOrder;_this1192.type=427948657;return _this1192;}return _createClass(IfcRelInterferesElements);}(IfcRelConnects);IFC42.IfcRelInterferesElements=IfcRelInterferesElements;var IfcRelNests=/*#__PURE__*/function(_IfcRelDecomposes3){_inherits(IfcRelNests,_IfcRelDecomposes3);var _super1190=_createSuper(IfcRelNests);function IfcRelNests(expressID,GlobalId,OwnerHistory,Name,Description,RelatingObject,RelatedObjects){var _this1193;_classCallCheck(this,IfcRelNests);_this1193=_super1190.call(this,expressID,GlobalId,OwnerHistory,Name,Description);_this1193.GlobalId=GlobalId;_this1193.OwnerHistory=OwnerHistory;_this1193.Name=Name;_this1193.Description=Description;_this1193.RelatingObject=RelatingObject;_this1193.RelatedObjects=RelatedObjects;_this1193.type=3268803585;return _this1193;}return _createClass(IfcRelNests);}(IfcRelDecomposes);IFC42.IfcRelNests=IfcRelNests;var IfcRelProjectsElement=/*#__PURE__*/function(_IfcRelDecomposes4){_inherits(IfcRelProjectsElement,_IfcRelDecomposes4);var _super1191=_createSuper(IfcRelProjectsElement);function IfcRelProjectsElement(expressID,GlobalId,OwnerHistory,Name,Description,RelatingElement,RelatedFeatureElement){var _this1194;_classCallCheck(this,IfcRelProjectsElement);_this1194=_super1191.call(this,expressID,GlobalId,OwnerHistory,Name,Description);_this1194.GlobalId=GlobalId;_this1194.OwnerHistory=OwnerHistory;_this1194.Name=Name;_this1194.Description=Description;_this1194.RelatingElement=RelatingElement;_this1194.RelatedFeatureElement=RelatedFeatureElement;_this1194.type=750771296;return _this1194;}return _createClass(IfcRelProjectsElement);}(IfcRelDecomposes);IFC42.IfcRelProjectsElement=IfcRelProjectsElement;var IfcRelReferencedInSpatialStructure=/*#__PURE__*/function(_IfcRelConnects30){_inherits(IfcRelReferencedInSpatialStructure,_IfcRelConnects30);var _super1192=_createSuper(IfcRelReferencedInSpatialStructure);function IfcRelReferencedInSpatialStructure(expressID,GlobalId,OwnerHistory,Name,Description,RelatedElements,RelatingStructure){var _this1195;_classCallCheck(this,IfcRelReferencedInSpatialStructure);_this1195=_super1192.call(this,expressID,GlobalId,OwnerHistory,Name,Description);_this1195.GlobalId=GlobalId;_this1195.OwnerHistory=OwnerHistory;_this1195.Name=Name;_this1195.Description=Description;_this1195.RelatedElements=RelatedElements;_this1195.RelatingStructure=RelatingStructure;_this1195.type=1245217292;return _this1195;}return _createClass(IfcRelReferencedInSpatialStructure);}(IfcRelConnects);IFC42.IfcRelReferencedInSpatialStructure=IfcRelReferencedInSpatialStructure;var IfcRelSequence=/*#__PURE__*/function(_IfcRelConnects31){_inherits(IfcRelSequence,_IfcRelConnects31);var _super1193=_createSuper(IfcRelSequence);function IfcRelSequence(expressID,GlobalId,OwnerHistory,Name,Description,RelatingProcess,RelatedProcess,TimeLag,SequenceType,UserDefinedSequenceType){var _this1196;_classCallCheck(this,IfcRelSequence);_this1196=_super1193.call(this,expressID,GlobalId,OwnerHistory,Name,Description);_this1196.GlobalId=GlobalId;_this1196.OwnerHistory=OwnerHistory;_this1196.Name=Name;_this1196.Description=Description;_this1196.RelatingProcess=RelatingProcess;_this1196.RelatedProcess=RelatedProcess;_this1196.TimeLag=TimeLag;_this1196.SequenceType=SequenceType;_this1196.UserDefinedSequenceType=UserDefinedSequenceType;_this1196.type=4122056220;return _this1196;}return _createClass(IfcRelSequence);}(IfcRelConnects);IFC42.IfcRelSequence=IfcRelSequence;var IfcRelServicesBuildings=/*#__PURE__*/function(_IfcRelConnects32){_inherits(IfcRelServicesBuildings,_IfcRelConnects32);var _super1194=_createSuper(IfcRelServicesBuildings);function IfcRelServicesBuildings(expressID,GlobalId,OwnerHistory,Name,Description,RelatingSystem,RelatedBuildings){var _this1197;_classCallCheck(this,IfcRelServicesBuildings);_this1197=_super1194.call(this,expressID,GlobalId,OwnerHistory,Name,Description);_this1197.GlobalId=GlobalId;_this1197.OwnerHistory=OwnerHistory;_this1197.Name=Name;_this1197.Description=Description;_this1197.RelatingSystem=RelatingSystem;_this1197.RelatedBuildings=RelatedBuildings;_this1197.type=366585022;return _this1197;}return _createClass(IfcRelServicesBuildings);}(IfcRelConnects);IFC42.IfcRelServicesBuildings=IfcRelServicesBuildings;var IfcRelSpaceBoundary=/*#__PURE__*/function(_IfcRelConnects33){_inherits(IfcRelSpaceBoundary,_IfcRelConnects33);var _super1195=_createSuper(IfcRelSpaceBoundary);function IfcRelSpaceBoundary(expressID,GlobalId,OwnerHistory,Name,Description,RelatingSpace,RelatedBuildingElement,ConnectionGeometry,PhysicalOrVirtualBoundary,InternalOrExternalBoundary){var _this1198;_classCallCheck(this,IfcRelSpaceBoundary);_this1198=_super1195.call(this,expressID,GlobalId,OwnerHistory,Name,Description);_this1198.GlobalId=GlobalId;_this1198.OwnerHistory=OwnerHistory;_this1198.Name=Name;_this1198.Description=Description;_this1198.RelatingSpace=RelatingSpace;_this1198.RelatedBuildingElement=RelatedBuildingElement;_this1198.ConnectionGeometry=ConnectionGeometry;_this1198.PhysicalOrVirtualBoundary=PhysicalOrVirtualBoundary;_this1198.InternalOrExternalBoundary=InternalOrExternalBoundary;_this1198.type=3451746338;return _this1198;}return _createClass(IfcRelSpaceBoundary);}(IfcRelConnects);IFC42.IfcRelSpaceBoundary=IfcRelSpaceBoundary;var IfcRelSpaceBoundary1stLevel=/*#__PURE__*/function(_IfcRelSpaceBoundary){_inherits(IfcRelSpaceBoundary1stLevel,_IfcRelSpaceBoundary);var _super1196=_createSuper(IfcRelSpaceBoundary1stLevel);function IfcRelSpaceBoundary1stLevel(expressID,GlobalId,OwnerHistory,Name,Description,RelatingSpace,RelatedBuildingElement,ConnectionGeometry,PhysicalOrVirtualBoundary,InternalOrExternalBoundary,ParentBoundary){var _this1199;_classCallCheck(this,IfcRelSpaceBoundary1stLevel);_this1199=_super1196.call(this,expressID,GlobalId,OwnerHistory,Name,Description,RelatingSpace,RelatedBuildingElement,ConnectionGeometry,PhysicalOrVirtualBoundary,InternalOrExternalBoundary);_this1199.GlobalId=GlobalId;_this1199.OwnerHistory=OwnerHistory;_this1199.Name=Name;_this1199.Description=Description;_this1199.RelatingSpace=RelatingSpace;_this1199.RelatedBuildingElement=RelatedBuildingElement;_this1199.ConnectionGeometry=ConnectionGeometry;_this1199.PhysicalOrVirtualBoundary=PhysicalOrVirtualBoundary;_this1199.InternalOrExternalBoundary=InternalOrExternalBoundary;_this1199.ParentBoundary=ParentBoundary;_this1199.type=3523091289;return _this1199;}return _createClass(IfcRelSpaceBoundary1stLevel);}(IfcRelSpaceBoundary);IFC42.IfcRelSpaceBoundary1stLevel=IfcRelSpaceBoundary1stLevel;var IfcRelSpaceBoundary2ndLevel=/*#__PURE__*/function(_IfcRelSpaceBoundary2){_inherits(IfcRelSpaceBoundary2ndLevel,_IfcRelSpaceBoundary2);var _super1197=_createSuper(IfcRelSpaceBoundary2ndLevel);function IfcRelSpaceBoundary2ndLevel(expressID,GlobalId,OwnerHistory,Name,Description,RelatingSpace,RelatedBuildingElement,ConnectionGeometry,PhysicalOrVirtualBoundary,InternalOrExternalBoundary,ParentBoundary,CorrespondingBoundary){var _this1200;_classCallCheck(this,IfcRelSpaceBoundary2ndLevel);_this1200=_super1197.call(this,expressID,GlobalId,OwnerHistory,Name,Description,RelatingSpace,RelatedBuildingElement,ConnectionGeometry,PhysicalOrVirtualBoundary,InternalOrExternalBoundary,ParentBoundary);_this1200.GlobalId=GlobalId;_this1200.OwnerHistory=OwnerHistory;_this1200.Name=Name;_this1200.Description=Description;_this1200.RelatingSpace=RelatingSpace;_this1200.RelatedBuildingElement=RelatedBuildingElement;_this1200.ConnectionGeometry=ConnectionGeometry;_this1200.PhysicalOrVirtualBoundary=PhysicalOrVirtualBoundary;_this1200.InternalOrExternalBoundary=InternalOrExternalBoundary;_this1200.ParentBoundary=ParentBoundary;_this1200.CorrespondingBoundary=CorrespondingBoundary;_this1200.type=1521410863;return _this1200;}return _createClass(IfcRelSpaceBoundary2ndLevel);}(IfcRelSpaceBoundary1stLevel);IFC42.IfcRelSpaceBoundary2ndLevel=IfcRelSpaceBoundary2ndLevel;var IfcRelVoidsElement=/*#__PURE__*/function(_IfcRelDecomposes5){_inherits(IfcRelVoidsElement,_IfcRelDecomposes5);var _super1198=_createSuper(IfcRelVoidsElement);function IfcRelVoidsElement(expressID,GlobalId,OwnerHistory,Name,Description,RelatingBuildingElement,RelatedOpeningElement){var _this1201;_classCallCheck(this,IfcRelVoidsElement);_this1201=_super1198.call(this,expressID,GlobalId,OwnerHistory,Name,Description);_this1201.GlobalId=GlobalId;_this1201.OwnerHistory=OwnerHistory;_this1201.Name=Name;_this1201.Description=Description;_this1201.RelatingBuildingElement=RelatingBuildingElement;_this1201.RelatedOpeningElement=RelatedOpeningElement;_this1201.type=1401173127;return _this1201;}return _createClass(IfcRelVoidsElement);}(IfcRelDecomposes);IFC42.IfcRelVoidsElement=IfcRelVoidsElement;var IfcReparametrisedCompositeCurveSegment=/*#__PURE__*/function(_IfcCompositeCurveSeg){_inherits(IfcReparametrisedCompositeCurveSegment,_IfcCompositeCurveSeg);var _super1199=_createSuper(IfcReparametrisedCompositeCurveSegment);function IfcReparametrisedCompositeCurveSegment(expressID,Transition,SameSense,ParentCurve,ParamLength){var _this1202;_classCallCheck(this,IfcReparametrisedCompositeCurveSegment);_this1202=_super1199.call(this,expressID,Transition,SameSense,ParentCurve);_this1202.Transition=Transition;_this1202.SameSense=SameSense;_this1202.ParentCurve=ParentCurve;_this1202.ParamLength=ParamLength;_this1202.type=816062949;return _this1202;}return _createClass(IfcReparametrisedCompositeCurveSegment);}(IfcCompositeCurveSegment);IFC42.IfcReparametrisedCompositeCurveSegment=IfcReparametrisedCompositeCurveSegment;var IfcResource=/*#__PURE__*/function(_IfcObject10){_inherits(IfcResource,_IfcObject10);var _super1200=_createSuper(IfcResource);function IfcResource(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,Identification,LongDescription){var _this1203;_classCallCheck(this,IfcResource);_this1203=_super1200.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType);_this1203.GlobalId=GlobalId;_this1203.OwnerHistory=OwnerHistory;_this1203.Name=Name;_this1203.Description=Description;_this1203.ObjectType=ObjectType;_this1203.Identification=Identification;_this1203.LongDescription=LongDescription;_this1203.type=2914609552;return _this1203;}return _createClass(IfcResource);}(IfcObject);IFC42.IfcResource=IfcResource;var IfcRevolvedAreaSolid=/*#__PURE__*/function(_IfcSweptAreaSolid6){_inherits(IfcRevolvedAreaSolid,_IfcSweptAreaSolid6);var _super1201=_createSuper(IfcRevolvedAreaSolid);function IfcRevolvedAreaSolid(expressID,SweptArea,Position,Axis,Angle){var _this1204;_classCallCheck(this,IfcRevolvedAreaSolid);_this1204=_super1201.call(this,expressID,SweptArea,Position);_this1204.SweptArea=SweptArea;_this1204.Position=Position;_this1204.Axis=Axis;_this1204.Angle=Angle;_this1204.type=1856042241;return _this1204;}return _createClass(IfcRevolvedAreaSolid);}(IfcSweptAreaSolid);IFC42.IfcRevolvedAreaSolid=IfcRevolvedAreaSolid;var IfcRevolvedAreaSolidTapered=/*#__PURE__*/function(_IfcRevolvedAreaSolid){_inherits(IfcRevolvedAreaSolidTapered,_IfcRevolvedAreaSolid);var _super1202=_createSuper(IfcRevolvedAreaSolidTapered);function IfcRevolvedAreaSolidTapered(expressID,SweptArea,Position,Axis,Angle,EndSweptArea){var _this1205;_classCallCheck(this,IfcRevolvedAreaSolidTapered);_this1205=_super1202.call(this,expressID,SweptArea,Position,Axis,Angle);_this1205.SweptArea=SweptArea;_this1205.Position=Position;_this1205.Axis=Axis;_this1205.Angle=Angle;_this1205.EndSweptArea=EndSweptArea;_this1205.type=3243963512;return _this1205;}return _createClass(IfcRevolvedAreaSolidTapered);}(IfcRevolvedAreaSolid);IFC42.IfcRevolvedAreaSolidTapered=IfcRevolvedAreaSolidTapered;var IfcRightCircularCone=/*#__PURE__*/function(_IfcCsgPrimitive3D7){_inherits(IfcRightCircularCone,_IfcCsgPrimitive3D7);var _super1203=_createSuper(IfcRightCircularCone);function IfcRightCircularCone(expressID,Position,Height,BottomRadius){var _this1206;_classCallCheck(this,IfcRightCircularCone);_this1206=_super1203.call(this,expressID,Position);_this1206.Position=Position;_this1206.Height=Height;_this1206.BottomRadius=BottomRadius;_this1206.type=4158566097;return _this1206;}return _createClass(IfcRightCircularCone);}(IfcCsgPrimitive3D);IFC42.IfcRightCircularCone=IfcRightCircularCone;var IfcRightCircularCylinder=/*#__PURE__*/function(_IfcCsgPrimitive3D8){_inherits(IfcRightCircularCylinder,_IfcCsgPrimitive3D8);var _super1204=_createSuper(IfcRightCircularCylinder);function IfcRightCircularCylinder(expressID,Position,Height,Radius){var _this1207;_classCallCheck(this,IfcRightCircularCylinder);_this1207=_super1204.call(this,expressID,Position);_this1207.Position=Position;_this1207.Height=Height;_this1207.Radius=Radius;_this1207.type=3626867408;return _this1207;}return _createClass(IfcRightCircularCylinder);}(IfcCsgPrimitive3D);IFC42.IfcRightCircularCylinder=IfcRightCircularCylinder;var IfcSimplePropertyTemplate=/*#__PURE__*/function(_IfcPropertyTemplate){_inherits(IfcSimplePropertyTemplate,_IfcPropertyTemplate);var _super1205=_createSuper(IfcSimplePropertyTemplate);function IfcSimplePropertyTemplate(expressID,GlobalId,OwnerHistory,Name,Description,TemplateType,PrimaryMeasureType,SecondaryMeasureType,Enumerators,PrimaryUnit,SecondaryUnit,Expression,AccessState){var _this1208;_classCallCheck(this,IfcSimplePropertyTemplate);_this1208=_super1205.call(this,expressID,GlobalId,OwnerHistory,Name,Description);_this1208.GlobalId=GlobalId;_this1208.OwnerHistory=OwnerHistory;_this1208.Name=Name;_this1208.Description=Description;_this1208.TemplateType=TemplateType;_this1208.PrimaryMeasureType=PrimaryMeasureType;_this1208.SecondaryMeasureType=SecondaryMeasureType;_this1208.Enumerators=Enumerators;_this1208.PrimaryUnit=PrimaryUnit;_this1208.SecondaryUnit=SecondaryUnit;_this1208.Expression=Expression;_this1208.AccessState=AccessState;_this1208.type=3663146110;return _this1208;}return _createClass(IfcSimplePropertyTemplate);}(IfcPropertyTemplate);IFC42.IfcSimplePropertyTemplate=IfcSimplePropertyTemplate;var IfcSpatialElement=/*#__PURE__*/function(_IfcProduct10){_inherits(IfcSpatialElement,_IfcProduct10);var _super1206=_createSuper(IfcSpatialElement);function IfcSpatialElement(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,LongName){var _this1209;_classCallCheck(this,IfcSpatialElement);_this1209=_super1206.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation);_this1209.GlobalId=GlobalId;_this1209.OwnerHistory=OwnerHistory;_this1209.Name=Name;_this1209.Description=Description;_this1209.ObjectType=ObjectType;_this1209.ObjectPlacement=ObjectPlacement;_this1209.Representation=Representation;_this1209.LongName=LongName;_this1209.type=1412071761;return _this1209;}return _createClass(IfcSpatialElement);}(IfcProduct);IFC42.IfcSpatialElement=IfcSpatialElement;var IfcSpatialElementType=/*#__PURE__*/function(_IfcTypeProduct7){_inherits(IfcSpatialElementType,_IfcTypeProduct7);var _super1207=_createSuper(IfcSpatialElementType);function IfcSpatialElementType(expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType){var _this1210;_classCallCheck(this,IfcSpatialElementType);_this1210=_super1207.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag);_this1210.GlobalId=GlobalId;_this1210.OwnerHistory=OwnerHistory;_this1210.Name=Name;_this1210.Description=Description;_this1210.ApplicableOccurrence=ApplicableOccurrence;_this1210.HasPropertySets=HasPropertySets;_this1210.RepresentationMaps=RepresentationMaps;_this1210.Tag=Tag;_this1210.ElementType=ElementType;_this1210.type=710998568;return _this1210;}return _createClass(IfcSpatialElementType);}(IfcTypeProduct);IFC42.IfcSpatialElementType=IfcSpatialElementType;var IfcSpatialStructureElement=/*#__PURE__*/function(_IfcSpatialElement){_inherits(IfcSpatialStructureElement,_IfcSpatialElement);var _super1208=_createSuper(IfcSpatialStructureElement);function IfcSpatialStructureElement(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,LongName,CompositionType){var _this1211;_classCallCheck(this,IfcSpatialStructureElement);_this1211=_super1208.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,LongName);_this1211.GlobalId=GlobalId;_this1211.OwnerHistory=OwnerHistory;_this1211.Name=Name;_this1211.Description=Description;_this1211.ObjectType=ObjectType;_this1211.ObjectPlacement=ObjectPlacement;_this1211.Representation=Representation;_this1211.LongName=LongName;_this1211.CompositionType=CompositionType;_this1211.type=2706606064;return _this1211;}return _createClass(IfcSpatialStructureElement);}(IfcSpatialElement);IFC42.IfcSpatialStructureElement=IfcSpatialStructureElement;var IfcSpatialStructureElementType=/*#__PURE__*/function(_IfcSpatialElementTyp){_inherits(IfcSpatialStructureElementType,_IfcSpatialElementTyp);var _super1209=_createSuper(IfcSpatialStructureElementType);function IfcSpatialStructureElementType(expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType){var _this1212;_classCallCheck(this,IfcSpatialStructureElementType);_this1212=_super1209.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType);_this1212.GlobalId=GlobalId;_this1212.OwnerHistory=OwnerHistory;_this1212.Name=Name;_this1212.Description=Description;_this1212.ApplicableOccurrence=ApplicableOccurrence;_this1212.HasPropertySets=HasPropertySets;_this1212.RepresentationMaps=RepresentationMaps;_this1212.Tag=Tag;_this1212.ElementType=ElementType;_this1212.type=3893378262;return _this1212;}return _createClass(IfcSpatialStructureElementType);}(IfcSpatialElementType);IFC42.IfcSpatialStructureElementType=IfcSpatialStructureElementType;var IfcSpatialZone=/*#__PURE__*/function(_IfcSpatialElement2){_inherits(IfcSpatialZone,_IfcSpatialElement2);var _super1210=_createSuper(IfcSpatialZone);function IfcSpatialZone(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,LongName,PredefinedType){var _this1213;_classCallCheck(this,IfcSpatialZone);_this1213=_super1210.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,LongName);_this1213.GlobalId=GlobalId;_this1213.OwnerHistory=OwnerHistory;_this1213.Name=Name;_this1213.Description=Description;_this1213.ObjectType=ObjectType;_this1213.ObjectPlacement=ObjectPlacement;_this1213.Representation=Representation;_this1213.LongName=LongName;_this1213.PredefinedType=PredefinedType;_this1213.type=463610769;return _this1213;}return _createClass(IfcSpatialZone);}(IfcSpatialElement);IFC42.IfcSpatialZone=IfcSpatialZone;var IfcSpatialZoneType=/*#__PURE__*/function(_IfcSpatialElementTyp2){_inherits(IfcSpatialZoneType,_IfcSpatialElementTyp2);var _super1211=_createSuper(IfcSpatialZoneType);function IfcSpatialZoneType(expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType,PredefinedType,LongName){var _this1214;_classCallCheck(this,IfcSpatialZoneType);_this1214=_super1211.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType);_this1214.GlobalId=GlobalId;_this1214.OwnerHistory=OwnerHistory;_this1214.Name=Name;_this1214.Description=Description;_this1214.ApplicableOccurrence=ApplicableOccurrence;_this1214.HasPropertySets=HasPropertySets;_this1214.RepresentationMaps=RepresentationMaps;_this1214.Tag=Tag;_this1214.ElementType=ElementType;_this1214.PredefinedType=PredefinedType;_this1214.LongName=LongName;_this1214.type=2481509218;return _this1214;}return _createClass(IfcSpatialZoneType);}(IfcSpatialElementType);IFC42.IfcSpatialZoneType=IfcSpatialZoneType;var IfcSphere=/*#__PURE__*/function(_IfcCsgPrimitive3D9){_inherits(IfcSphere,_IfcCsgPrimitive3D9);var _super1212=_createSuper(IfcSphere);function IfcSphere(expressID,Position,Radius){var _this1215;_classCallCheck(this,IfcSphere);_this1215=_super1212.call(this,expressID,Position);_this1215.Position=Position;_this1215.Radius=Radius;_this1215.type=451544542;return _this1215;}return _createClass(IfcSphere);}(IfcCsgPrimitive3D);IFC42.IfcSphere=IfcSphere;var IfcSphericalSurface=/*#__PURE__*/function(_IfcElementarySurface3){_inherits(IfcSphericalSurface,_IfcElementarySurface3);var _super1213=_createSuper(IfcSphericalSurface);function IfcSphericalSurface(expressID,Position,Radius){var _this1216;_classCallCheck(this,IfcSphericalSurface);_this1216=_super1213.call(this,expressID,Position);_this1216.Position=Position;_this1216.Radius=Radius;_this1216.type=4015995234;return _this1216;}return _createClass(IfcSphericalSurface);}(IfcElementarySurface);IFC42.IfcSphericalSurface=IfcSphericalSurface;var IfcStructuralActivity=/*#__PURE__*/function(_IfcProduct11){_inherits(IfcStructuralActivity,_IfcProduct11);var _super1214=_createSuper(IfcStructuralActivity);function IfcStructuralActivity(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,AppliedLoad,GlobalOrLocal){var _this1217;_classCallCheck(this,IfcStructuralActivity);_this1217=_super1214.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation);_this1217.GlobalId=GlobalId;_this1217.OwnerHistory=OwnerHistory;_this1217.Name=Name;_this1217.Description=Description;_this1217.ObjectType=ObjectType;_this1217.ObjectPlacement=ObjectPlacement;_this1217.Representation=Representation;_this1217.AppliedLoad=AppliedLoad;_this1217.GlobalOrLocal=GlobalOrLocal;_this1217.type=3544373492;return _this1217;}return _createClass(IfcStructuralActivity);}(IfcProduct);IFC42.IfcStructuralActivity=IfcStructuralActivity;var IfcStructuralItem=/*#__PURE__*/function(_IfcProduct12){_inherits(IfcStructuralItem,_IfcProduct12);var _super1215=_createSuper(IfcStructuralItem);function IfcStructuralItem(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation){var _this1218;_classCallCheck(this,IfcStructuralItem);_this1218=_super1215.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation);_this1218.GlobalId=GlobalId;_this1218.OwnerHistory=OwnerHistory;_this1218.Name=Name;_this1218.Description=Description;_this1218.ObjectType=ObjectType;_this1218.ObjectPlacement=ObjectPlacement;_this1218.Representation=Representation;_this1218.type=3136571912;return _this1218;}return _createClass(IfcStructuralItem);}(IfcProduct);IFC42.IfcStructuralItem=IfcStructuralItem;var IfcStructuralMember=/*#__PURE__*/function(_IfcStructuralItem3){_inherits(IfcStructuralMember,_IfcStructuralItem3);var _super1216=_createSuper(IfcStructuralMember);function IfcStructuralMember(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation){var _this1219;_classCallCheck(this,IfcStructuralMember);_this1219=_super1216.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation);_this1219.GlobalId=GlobalId;_this1219.OwnerHistory=OwnerHistory;_this1219.Name=Name;_this1219.Description=Description;_this1219.ObjectType=ObjectType;_this1219.ObjectPlacement=ObjectPlacement;_this1219.Representation=Representation;_this1219.type=530289379;return _this1219;}return _createClass(IfcStructuralMember);}(IfcStructuralItem);IFC42.IfcStructuralMember=IfcStructuralMember;var IfcStructuralReaction=/*#__PURE__*/function(_IfcStructuralActivit3){_inherits(IfcStructuralReaction,_IfcStructuralActivit3);var _super1217=_createSuper(IfcStructuralReaction);function IfcStructuralReaction(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,AppliedLoad,GlobalOrLocal){var _this1220;_classCallCheck(this,IfcStructuralReaction);_this1220=_super1217.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,AppliedLoad,GlobalOrLocal);_this1220.GlobalId=GlobalId;_this1220.OwnerHistory=OwnerHistory;_this1220.Name=Name;_this1220.Description=Description;_this1220.ObjectType=ObjectType;_this1220.ObjectPlacement=ObjectPlacement;_this1220.Representation=Representation;_this1220.AppliedLoad=AppliedLoad;_this1220.GlobalOrLocal=GlobalOrLocal;_this1220.type=3689010777;return _this1220;}return _createClass(IfcStructuralReaction);}(IfcStructuralActivity);IFC42.IfcStructuralReaction=IfcStructuralReaction;var IfcStructuralSurfaceMember=/*#__PURE__*/function(_IfcStructuralMember3){_inherits(IfcStructuralSurfaceMember,_IfcStructuralMember3);var _super1218=_createSuper(IfcStructuralSurfaceMember);function IfcStructuralSurfaceMember(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,PredefinedType,Thickness){var _this1221;_classCallCheck(this,IfcStructuralSurfaceMember);_this1221=_super1218.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation);_this1221.GlobalId=GlobalId;_this1221.OwnerHistory=OwnerHistory;_this1221.Name=Name;_this1221.Description=Description;_this1221.ObjectType=ObjectType;_this1221.ObjectPlacement=ObjectPlacement;_this1221.Representation=Representation;_this1221.PredefinedType=PredefinedType;_this1221.Thickness=Thickness;_this1221.type=3979015343;return _this1221;}return _createClass(IfcStructuralSurfaceMember);}(IfcStructuralMember);IFC42.IfcStructuralSurfaceMember=IfcStructuralSurfaceMember;var IfcStructuralSurfaceMemberVarying=/*#__PURE__*/function(_IfcStructuralSurface2){_inherits(IfcStructuralSurfaceMemberVarying,_IfcStructuralSurface2);var _super1219=_createSuper(IfcStructuralSurfaceMemberVarying);function IfcStructuralSurfaceMemberVarying(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,PredefinedType,Thickness){var _this1222;_classCallCheck(this,IfcStructuralSurfaceMemberVarying);_this1222=_super1219.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,PredefinedType,Thickness);_this1222.GlobalId=GlobalId;_this1222.OwnerHistory=OwnerHistory;_this1222.Name=Name;_this1222.Description=Description;_this1222.ObjectType=ObjectType;_this1222.ObjectPlacement=ObjectPlacement;_this1222.Representation=Representation;_this1222.PredefinedType=PredefinedType;_this1222.Thickness=Thickness;_this1222.type=2218152070;return _this1222;}return _createClass(IfcStructuralSurfaceMemberVarying);}(IfcStructuralSurfaceMember);IFC42.IfcStructuralSurfaceMemberVarying=IfcStructuralSurfaceMemberVarying;var IfcStructuralSurfaceReaction=/*#__PURE__*/function(_IfcStructuralReactio2){_inherits(IfcStructuralSurfaceReaction,_IfcStructuralReactio2);var _super1220=_createSuper(IfcStructuralSurfaceReaction);function IfcStructuralSurfaceReaction(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,AppliedLoad,GlobalOrLocal,PredefinedType){var _this1223;_classCallCheck(this,IfcStructuralSurfaceReaction);_this1223=_super1220.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,AppliedLoad,GlobalOrLocal);_this1223.GlobalId=GlobalId;_this1223.OwnerHistory=OwnerHistory;_this1223.Name=Name;_this1223.Description=Description;_this1223.ObjectType=ObjectType;_this1223.ObjectPlacement=ObjectPlacement;_this1223.Representation=Representation;_this1223.AppliedLoad=AppliedLoad;_this1223.GlobalOrLocal=GlobalOrLocal;_this1223.PredefinedType=PredefinedType;_this1223.type=603775116;return _this1223;}return _createClass(IfcStructuralSurfaceReaction);}(IfcStructuralReaction);IFC42.IfcStructuralSurfaceReaction=IfcStructuralSurfaceReaction;var IfcSubContractResourceType=/*#__PURE__*/function(_IfcConstructionResou9){_inherits(IfcSubContractResourceType,_IfcConstructionResou9);var _super1221=_createSuper(IfcSubContractResourceType);function IfcSubContractResourceType(expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,Identification,LongDescription,ResourceType,BaseCosts,BaseQuantity,PredefinedType){var _this1224;_classCallCheck(this,IfcSubContractResourceType);_this1224=_super1221.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,Identification,LongDescription,ResourceType,BaseCosts,BaseQuantity);_this1224.GlobalId=GlobalId;_this1224.OwnerHistory=OwnerHistory;_this1224.Name=Name;_this1224.Description=Description;_this1224.ApplicableOccurrence=ApplicableOccurrence;_this1224.HasPropertySets=HasPropertySets;_this1224.Identification=Identification;_this1224.LongDescription=LongDescription;_this1224.ResourceType=ResourceType;_this1224.BaseCosts=BaseCosts;_this1224.BaseQuantity=BaseQuantity;_this1224.PredefinedType=PredefinedType;_this1224.type=4095615324;return _this1224;}return _createClass(IfcSubContractResourceType);}(IfcConstructionResourceType);IFC42.IfcSubContractResourceType=IfcSubContractResourceType;var IfcSurfaceCurve=/*#__PURE__*/function(_IfcCurve10){_inherits(IfcSurfaceCurve,_IfcCurve10);var _super1222=_createSuper(IfcSurfaceCurve);function IfcSurfaceCurve(expressID,Curve3D,AssociatedGeometry,MasterRepresentation){var _this1225;_classCallCheck(this,IfcSurfaceCurve);_this1225=_super1222.call(this,expressID);_this1225.Curve3D=Curve3D;_this1225.AssociatedGeometry=AssociatedGeometry;_this1225.MasterRepresentation=MasterRepresentation;_this1225.type=699246055;return _this1225;}return _createClass(IfcSurfaceCurve);}(IfcCurve);IFC42.IfcSurfaceCurve=IfcSurfaceCurve;var IfcSurfaceCurveSweptAreaSolid=/*#__PURE__*/function(_IfcSweptAreaSolid7){_inherits(IfcSurfaceCurveSweptAreaSolid,_IfcSweptAreaSolid7);var _super1223=_createSuper(IfcSurfaceCurveSweptAreaSolid);function IfcSurfaceCurveSweptAreaSolid(expressID,SweptArea,Position,Directrix,StartParam,EndParam,ReferenceSurface){var _this1226;_classCallCheck(this,IfcSurfaceCurveSweptAreaSolid);_this1226=_super1223.call(this,expressID,SweptArea,Position);_this1226.SweptArea=SweptArea;_this1226.Position=Position;_this1226.Directrix=Directrix;_this1226.StartParam=StartParam;_this1226.EndParam=EndParam;_this1226.ReferenceSurface=ReferenceSurface;_this1226.type=2028607225;return _this1226;}return _createClass(IfcSurfaceCurveSweptAreaSolid);}(IfcSweptAreaSolid);IFC42.IfcSurfaceCurveSweptAreaSolid=IfcSurfaceCurveSweptAreaSolid;var IfcSurfaceOfLinearExtrusion=/*#__PURE__*/function(_IfcSweptSurface3){_inherits(IfcSurfaceOfLinearExtrusion,_IfcSweptSurface3);var _super1224=_createSuper(IfcSurfaceOfLinearExtrusion);function IfcSurfaceOfLinearExtrusion(expressID,SweptCurve,Position,ExtrudedDirection,Depth){var _this1227;_classCallCheck(this,IfcSurfaceOfLinearExtrusion);_this1227=_super1224.call(this,expressID,SweptCurve,Position);_this1227.SweptCurve=SweptCurve;_this1227.Position=Position;_this1227.ExtrudedDirection=ExtrudedDirection;_this1227.Depth=Depth;_this1227.type=2809605785;return _this1227;}return _createClass(IfcSurfaceOfLinearExtrusion);}(IfcSweptSurface);IFC42.IfcSurfaceOfLinearExtrusion=IfcSurfaceOfLinearExtrusion;var IfcSurfaceOfRevolution=/*#__PURE__*/function(_IfcSweptSurface4){_inherits(IfcSurfaceOfRevolution,_IfcSweptSurface4);var _super1225=_createSuper(IfcSurfaceOfRevolution);function IfcSurfaceOfRevolution(expressID,SweptCurve,Position,AxisPosition){var _this1228;_classCallCheck(this,IfcSurfaceOfRevolution);_this1228=_super1225.call(this,expressID,SweptCurve,Position);_this1228.SweptCurve=SweptCurve;_this1228.Position=Position;_this1228.AxisPosition=AxisPosition;_this1228.type=4124788165;return _this1228;}return _createClass(IfcSurfaceOfRevolution);}(IfcSweptSurface);IFC42.IfcSurfaceOfRevolution=IfcSurfaceOfRevolution;var IfcSystemFurnitureElementType=/*#__PURE__*/function(_IfcFurnishingElement4){_inherits(IfcSystemFurnitureElementType,_IfcFurnishingElement4);var _super1226=_createSuper(IfcSystemFurnitureElementType);function IfcSystemFurnitureElementType(expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType,PredefinedType){var _this1229;_classCallCheck(this,IfcSystemFurnitureElementType);_this1229=_super1226.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType);_this1229.GlobalId=GlobalId;_this1229.OwnerHistory=OwnerHistory;_this1229.Name=Name;_this1229.Description=Description;_this1229.ApplicableOccurrence=ApplicableOccurrence;_this1229.HasPropertySets=HasPropertySets;_this1229.RepresentationMaps=RepresentationMaps;_this1229.Tag=Tag;_this1229.ElementType=ElementType;_this1229.PredefinedType=PredefinedType;_this1229.type=1580310250;return _this1229;}return _createClass(IfcSystemFurnitureElementType);}(IfcFurnishingElementType);IFC42.IfcSystemFurnitureElementType=IfcSystemFurnitureElementType;var IfcTask=/*#__PURE__*/function(_IfcProcess3){_inherits(IfcTask,_IfcProcess3);var _super1227=_createSuper(IfcTask);function IfcTask(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,Identification,LongDescription,Status,WorkMethod,IsMilestone,Priority,TaskTime,PredefinedType){var _this1230;_classCallCheck(this,IfcTask);_this1230=_super1227.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,Identification,LongDescription);_this1230.GlobalId=GlobalId;_this1230.OwnerHistory=OwnerHistory;_this1230.Name=Name;_this1230.Description=Description;_this1230.ObjectType=ObjectType;_this1230.Identification=Identification;_this1230.LongDescription=LongDescription;_this1230.Status=Status;_this1230.WorkMethod=WorkMethod;_this1230.IsMilestone=IsMilestone;_this1230.Priority=Priority;_this1230.TaskTime=TaskTime;_this1230.PredefinedType=PredefinedType;_this1230.type=3473067441;return _this1230;}return _createClass(IfcTask);}(IfcProcess);IFC42.IfcTask=IfcTask;var IfcTaskType=/*#__PURE__*/function(_IfcTypeProcess3){_inherits(IfcTaskType,_IfcTypeProcess3);var _super1228=_createSuper(IfcTaskType);function IfcTaskType(expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,Identification,LongDescription,ProcessType,PredefinedType,WorkMethod){var _this1231;_classCallCheck(this,IfcTaskType);_this1231=_super1228.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,Identification,LongDescription,ProcessType);_this1231.GlobalId=GlobalId;_this1231.OwnerHistory=OwnerHistory;_this1231.Name=Name;_this1231.Description=Description;_this1231.ApplicableOccurrence=ApplicableOccurrence;_this1231.HasPropertySets=HasPropertySets;_this1231.Identification=Identification;_this1231.LongDescription=LongDescription;_this1231.ProcessType=ProcessType;_this1231.PredefinedType=PredefinedType;_this1231.WorkMethod=WorkMethod;_this1231.type=3206491090;return _this1231;}return _createClass(IfcTaskType);}(IfcTypeProcess);IFC42.IfcTaskType=IfcTaskType;var IfcTessellatedFaceSet=/*#__PURE__*/function(_IfcTessellatedItem2){_inherits(IfcTessellatedFaceSet,_IfcTessellatedItem2);var _super1229=_createSuper(IfcTessellatedFaceSet);function IfcTessellatedFaceSet(expressID,Coordinates){var _this1232;_classCallCheck(this,IfcTessellatedFaceSet);_this1232=_super1229.call(this,expressID);_this1232.Coordinates=Coordinates;_this1232.type=2387106220;return _this1232;}return _createClass(IfcTessellatedFaceSet);}(IfcTessellatedItem);IFC42.IfcTessellatedFaceSet=IfcTessellatedFaceSet;var IfcToroidalSurface=/*#__PURE__*/function(_IfcElementarySurface4){_inherits(IfcToroidalSurface,_IfcElementarySurface4);var _super1230=_createSuper(IfcToroidalSurface);function IfcToroidalSurface(expressID,Position,MajorRadius,MinorRadius){var _this1233;_classCallCheck(this,IfcToroidalSurface);_this1233=_super1230.call(this,expressID,Position);_this1233.Position=Position;_this1233.MajorRadius=MajorRadius;_this1233.MinorRadius=MinorRadius;_this1233.type=1935646853;return _this1233;}return _createClass(IfcToroidalSurface);}(IfcElementarySurface);IFC42.IfcToroidalSurface=IfcToroidalSurface;var IfcTransportElementType=/*#__PURE__*/function(_IfcElementType9){_inherits(IfcTransportElementType,_IfcElementType9);var _super1231=_createSuper(IfcTransportElementType);function IfcTransportElementType(expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType,PredefinedType){var _this1234;_classCallCheck(this,IfcTransportElementType);_this1234=_super1231.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType);_this1234.GlobalId=GlobalId;_this1234.OwnerHistory=OwnerHistory;_this1234.Name=Name;_this1234.Description=Description;_this1234.ApplicableOccurrence=ApplicableOccurrence;_this1234.HasPropertySets=HasPropertySets;_this1234.RepresentationMaps=RepresentationMaps;_this1234.Tag=Tag;_this1234.ElementType=ElementType;_this1234.PredefinedType=PredefinedType;_this1234.type=2097647324;return _this1234;}return _createClass(IfcTransportElementType);}(IfcElementType);IFC42.IfcTransportElementType=IfcTransportElementType;var IfcTriangulatedFaceSet=/*#__PURE__*/function(_IfcTessellatedFaceSe){_inherits(IfcTriangulatedFaceSet,_IfcTessellatedFaceSe);var _super1232=_createSuper(IfcTriangulatedFaceSet);function IfcTriangulatedFaceSet(expressID,Coordinates,Normals,Closed,CoordIndex,PnIndex){var _this1235;_classCallCheck(this,IfcTriangulatedFaceSet);_this1235=_super1232.call(this,expressID,Coordinates);_this1235.Coordinates=Coordinates;_this1235.Normals=Normals;_this1235.Closed=Closed;_this1235.CoordIndex=CoordIndex;_this1235.PnIndex=PnIndex;_this1235.type=2916149573;return _this1235;}return _createClass(IfcTriangulatedFaceSet);}(IfcTessellatedFaceSet);IFC42.IfcTriangulatedFaceSet=IfcTriangulatedFaceSet;var IfcWindowLiningProperties=/*#__PURE__*/function(_IfcPreDefinedPropert5){_inherits(IfcWindowLiningProperties,_IfcPreDefinedPropert5);var _super1233=_createSuper(IfcWindowLiningProperties);function IfcWindowLiningProperties(expressID,GlobalId,OwnerHistory,Name,Description,LiningDepth,LiningThickness,TransomThickness,MullionThickness,FirstTransomOffset,SecondTransomOffset,FirstMullionOffset,SecondMullionOffset,ShapeAspectStyle,LiningOffset,LiningToPanelOffsetX,LiningToPanelOffsetY){var _this1236;_classCallCheck(this,IfcWindowLiningProperties);_this1236=_super1233.call(this,expressID,GlobalId,OwnerHistory,Name,Description);_this1236.GlobalId=GlobalId;_this1236.OwnerHistory=OwnerHistory;_this1236.Name=Name;_this1236.Description=Description;_this1236.LiningDepth=LiningDepth;_this1236.LiningThickness=LiningThickness;_this1236.TransomThickness=TransomThickness;_this1236.MullionThickness=MullionThickness;_this1236.FirstTransomOffset=FirstTransomOffset;_this1236.SecondTransomOffset=SecondTransomOffset;_this1236.FirstMullionOffset=FirstMullionOffset;_this1236.SecondMullionOffset=SecondMullionOffset;_this1236.ShapeAspectStyle=ShapeAspectStyle;_this1236.LiningOffset=LiningOffset;_this1236.LiningToPanelOffsetX=LiningToPanelOffsetX;_this1236.LiningToPanelOffsetY=LiningToPanelOffsetY;_this1236.type=336235671;return _this1236;}return _createClass(IfcWindowLiningProperties);}(IfcPreDefinedPropertySet);IFC42.IfcWindowLiningProperties=IfcWindowLiningProperties;var IfcWindowPanelProperties=/*#__PURE__*/function(_IfcPreDefinedPropert6){_inherits(IfcWindowPanelProperties,_IfcPreDefinedPropert6);var _super1234=_createSuper(IfcWindowPanelProperties);function IfcWindowPanelProperties(expressID,GlobalId,OwnerHistory,Name,Description,OperationType,PanelPosition,FrameDepth,FrameThickness,ShapeAspectStyle){var _this1237;_classCallCheck(this,IfcWindowPanelProperties);_this1237=_super1234.call(this,expressID,GlobalId,OwnerHistory,Name,Description);_this1237.GlobalId=GlobalId;_this1237.OwnerHistory=OwnerHistory;_this1237.Name=Name;_this1237.Description=Description;_this1237.OperationType=OperationType;_this1237.PanelPosition=PanelPosition;_this1237.FrameDepth=FrameDepth;_this1237.FrameThickness=FrameThickness;_this1237.ShapeAspectStyle=ShapeAspectStyle;_this1237.type=512836454;return _this1237;}return _createClass(IfcWindowPanelProperties);}(IfcPreDefinedPropertySet);IFC42.IfcWindowPanelProperties=IfcWindowPanelProperties;var IfcActor=/*#__PURE__*/function(_IfcObject11){_inherits(IfcActor,_IfcObject11);var _super1235=_createSuper(IfcActor);function IfcActor(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,TheActor){var _this1238;_classCallCheck(this,IfcActor);_this1238=_super1235.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType);_this1238.GlobalId=GlobalId;_this1238.OwnerHistory=OwnerHistory;_this1238.Name=Name;_this1238.Description=Description;_this1238.ObjectType=ObjectType;_this1238.TheActor=TheActor;_this1238.type=2296667514;return _this1238;}return _createClass(IfcActor);}(IfcObject);IFC42.IfcActor=IfcActor;var IfcAdvancedBrep=/*#__PURE__*/function(_IfcManifoldSolidBrep3){_inherits(IfcAdvancedBrep,_IfcManifoldSolidBrep3);var _super1236=_createSuper(IfcAdvancedBrep);function IfcAdvancedBrep(expressID,Outer){var _this1239;_classCallCheck(this,IfcAdvancedBrep);_this1239=_super1236.call(this,expressID,Outer);_this1239.Outer=Outer;_this1239.type=1635779807;return _this1239;}return _createClass(IfcAdvancedBrep);}(IfcManifoldSolidBrep);IFC42.IfcAdvancedBrep=IfcAdvancedBrep;var IfcAdvancedBrepWithVoids=/*#__PURE__*/function(_IfcAdvancedBrep){_inherits(IfcAdvancedBrepWithVoids,_IfcAdvancedBrep);var _super1237=_createSuper(IfcAdvancedBrepWithVoids);function IfcAdvancedBrepWithVoids(expressID,Outer,Voids){var _this1240;_classCallCheck(this,IfcAdvancedBrepWithVoids);_this1240=_super1237.call(this,expressID,Outer);_this1240.Outer=Outer;_this1240.Voids=Voids;_this1240.type=2603310189;return _this1240;}return _createClass(IfcAdvancedBrepWithVoids);}(IfcAdvancedBrep);IFC42.IfcAdvancedBrepWithVoids=IfcAdvancedBrepWithVoids;var IfcAnnotation=/*#__PURE__*/function(_IfcProduct13){_inherits(IfcAnnotation,_IfcProduct13);var _super1238=_createSuper(IfcAnnotation);function IfcAnnotation(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation){var _this1241;_classCallCheck(this,IfcAnnotation);_this1241=_super1238.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation);_this1241.GlobalId=GlobalId;_this1241.OwnerHistory=OwnerHistory;_this1241.Name=Name;_this1241.Description=Description;_this1241.ObjectType=ObjectType;_this1241.ObjectPlacement=ObjectPlacement;_this1241.Representation=Representation;_this1241.type=1674181508;return _this1241;}return _createClass(IfcAnnotation);}(IfcProduct);IFC42.IfcAnnotation=IfcAnnotation;var IfcBSplineSurface=/*#__PURE__*/function(_IfcBoundedSurface6){_inherits(IfcBSplineSurface,_IfcBoundedSurface6);var _super1239=_createSuper(IfcBSplineSurface);function IfcBSplineSurface(expressID,UDegree,VDegree,ControlPointsList,SurfaceForm,UClosed,VClosed,SelfIntersect){var _this1242;_classCallCheck(this,IfcBSplineSurface);_this1242=_super1239.call(this,expressID);_this1242.UDegree=UDegree;_this1242.VDegree=VDegree;_this1242.ControlPointsList=ControlPointsList;_this1242.SurfaceForm=SurfaceForm;_this1242.UClosed=UClosed;_this1242.VClosed=VClosed;_this1242.SelfIntersect=SelfIntersect;_this1242.type=2887950389;return _this1242;}return _createClass(IfcBSplineSurface);}(IfcBoundedSurface);IFC42.IfcBSplineSurface=IfcBSplineSurface;var IfcBSplineSurfaceWithKnots=/*#__PURE__*/function(_IfcBSplineSurface){_inherits(IfcBSplineSurfaceWithKnots,_IfcBSplineSurface);var _super1240=_createSuper(IfcBSplineSurfaceWithKnots);function IfcBSplineSurfaceWithKnots(expressID,UDegree,VDegree,ControlPointsList,SurfaceForm,UClosed,VClosed,SelfIntersect,UMultiplicities,VMultiplicities,UKnots,VKnots,KnotSpec){var _this1243;_classCallCheck(this,IfcBSplineSurfaceWithKnots);_this1243=_super1240.call(this,expressID,UDegree,VDegree,ControlPointsList,SurfaceForm,UClosed,VClosed,SelfIntersect);_this1243.UDegree=UDegree;_this1243.VDegree=VDegree;_this1243.ControlPointsList=ControlPointsList;_this1243.SurfaceForm=SurfaceForm;_this1243.UClosed=UClosed;_this1243.VClosed=VClosed;_this1243.SelfIntersect=SelfIntersect;_this1243.UMultiplicities=UMultiplicities;_this1243.VMultiplicities=VMultiplicities;_this1243.UKnots=UKnots;_this1243.VKnots=VKnots;_this1243.KnotSpec=KnotSpec;_this1243.type=167062518;return _this1243;}return _createClass(IfcBSplineSurfaceWithKnots);}(IfcBSplineSurface);IFC42.IfcBSplineSurfaceWithKnots=IfcBSplineSurfaceWithKnots;var IfcBlock=/*#__PURE__*/function(_IfcCsgPrimitive3D10){_inherits(IfcBlock,_IfcCsgPrimitive3D10);var _super1241=_createSuper(IfcBlock);function IfcBlock(expressID,Position,XLength,YLength,ZLength){var _this1244;_classCallCheck(this,IfcBlock);_this1244=_super1241.call(this,expressID,Position);_this1244.Position=Position;_this1244.XLength=XLength;_this1244.YLength=YLength;_this1244.ZLength=ZLength;_this1244.type=1334484129;return _this1244;}return _createClass(IfcBlock);}(IfcCsgPrimitive3D);IFC42.IfcBlock=IfcBlock;var IfcBooleanClippingResult=/*#__PURE__*/function(_IfcBooleanResult2){_inherits(IfcBooleanClippingResult,_IfcBooleanResult2);var _super1242=_createSuper(IfcBooleanClippingResult);function IfcBooleanClippingResult(expressID,Operator,FirstOperand,SecondOperand){var _this1245;_classCallCheck(this,IfcBooleanClippingResult);_this1245=_super1242.call(this,expressID,Operator,FirstOperand,SecondOperand);_this1245.Operator=Operator;_this1245.FirstOperand=FirstOperand;_this1245.SecondOperand=SecondOperand;_this1245.type=3649129432;return _this1245;}return _createClass(IfcBooleanClippingResult);}(IfcBooleanResult);IFC42.IfcBooleanClippingResult=IfcBooleanClippingResult;var IfcBoundedCurve=/*#__PURE__*/function(_IfcCurve11){_inherits(IfcBoundedCurve,_IfcCurve11);var _super1243=_createSuper(IfcBoundedCurve);function IfcBoundedCurve(expressID){var _this1246;_classCallCheck(this,IfcBoundedCurve);_this1246=_super1243.call(this,expressID);_this1246.type=1260505505;return _this1246;}return _createClass(IfcBoundedCurve);}(IfcCurve);IFC42.IfcBoundedCurve=IfcBoundedCurve;var IfcBuilding=/*#__PURE__*/function(_IfcSpatialStructureE6){_inherits(IfcBuilding,_IfcSpatialStructureE6);var _super1244=_createSuper(IfcBuilding);function IfcBuilding(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,LongName,CompositionType,ElevationOfRefHeight,ElevationOfTerrain,BuildingAddress){var _this1247;_classCallCheck(this,IfcBuilding);_this1247=_super1244.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,LongName,CompositionType);_this1247.GlobalId=GlobalId;_this1247.OwnerHistory=OwnerHistory;_this1247.Name=Name;_this1247.Description=Description;_this1247.ObjectType=ObjectType;_this1247.ObjectPlacement=ObjectPlacement;_this1247.Representation=Representation;_this1247.LongName=LongName;_this1247.CompositionType=CompositionType;_this1247.ElevationOfRefHeight=ElevationOfRefHeight;_this1247.ElevationOfTerrain=ElevationOfTerrain;_this1247.BuildingAddress=BuildingAddress;_this1247.type=4031249490;return _this1247;}return _createClass(IfcBuilding);}(IfcSpatialStructureElement);IFC42.IfcBuilding=IfcBuilding;var IfcBuildingElementType=/*#__PURE__*/function(_IfcElementType10){_inherits(IfcBuildingElementType,_IfcElementType10);var _super1245=_createSuper(IfcBuildingElementType);function IfcBuildingElementType(expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType){var _this1248;_classCallCheck(this,IfcBuildingElementType);_this1248=_super1245.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType);_this1248.GlobalId=GlobalId;_this1248.OwnerHistory=OwnerHistory;_this1248.Name=Name;_this1248.Description=Description;_this1248.ApplicableOccurrence=ApplicableOccurrence;_this1248.HasPropertySets=HasPropertySets;_this1248.RepresentationMaps=RepresentationMaps;_this1248.Tag=Tag;_this1248.ElementType=ElementType;_this1248.type=1950629157;return _this1248;}return _createClass(IfcBuildingElementType);}(IfcElementType);IFC42.IfcBuildingElementType=IfcBuildingElementType;var IfcBuildingStorey=/*#__PURE__*/function(_IfcSpatialStructureE7){_inherits(IfcBuildingStorey,_IfcSpatialStructureE7);var _super1246=_createSuper(IfcBuildingStorey);function IfcBuildingStorey(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,LongName,CompositionType,Elevation){var _this1249;_classCallCheck(this,IfcBuildingStorey);_this1249=_super1246.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,LongName,CompositionType);_this1249.GlobalId=GlobalId;_this1249.OwnerHistory=OwnerHistory;_this1249.Name=Name;_this1249.Description=Description;_this1249.ObjectType=ObjectType;_this1249.ObjectPlacement=ObjectPlacement;_this1249.Representation=Representation;_this1249.LongName=LongName;_this1249.CompositionType=CompositionType;_this1249.Elevation=Elevation;_this1249.type=3124254112;return _this1249;}return _createClass(IfcBuildingStorey);}(IfcSpatialStructureElement);IFC42.IfcBuildingStorey=IfcBuildingStorey;var IfcChimneyType=/*#__PURE__*/function(_IfcBuildingElementTy13){_inherits(IfcChimneyType,_IfcBuildingElementTy13);var _super1247=_createSuper(IfcChimneyType);function IfcChimneyType(expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType,PredefinedType){var _this1250;_classCallCheck(this,IfcChimneyType);_this1250=_super1247.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType);_this1250.GlobalId=GlobalId;_this1250.OwnerHistory=OwnerHistory;_this1250.Name=Name;_this1250.Description=Description;_this1250.ApplicableOccurrence=ApplicableOccurrence;_this1250.HasPropertySets=HasPropertySets;_this1250.RepresentationMaps=RepresentationMaps;_this1250.Tag=Tag;_this1250.ElementType=ElementType;_this1250.PredefinedType=PredefinedType;_this1250.type=2197970202;return _this1250;}return _createClass(IfcChimneyType);}(IfcBuildingElementType);IFC42.IfcChimneyType=IfcChimneyType;var IfcCircleHollowProfileDef=/*#__PURE__*/function(_IfcCircleProfileDef2){_inherits(IfcCircleHollowProfileDef,_IfcCircleProfileDef2);var _super1248=_createSuper(IfcCircleHollowProfileDef);function IfcCircleHollowProfileDef(expressID,ProfileType,ProfileName,Position,Radius,WallThickness){var _this1251;_classCallCheck(this,IfcCircleHollowProfileDef);_this1251=_super1248.call(this,expressID,ProfileType,ProfileName,Position,Radius);_this1251.ProfileType=ProfileType;_this1251.ProfileName=ProfileName;_this1251.Position=Position;_this1251.Radius=Radius;_this1251.WallThickness=WallThickness;_this1251.type=2937912522;return _this1251;}return _createClass(IfcCircleHollowProfileDef);}(IfcCircleProfileDef);IFC42.IfcCircleHollowProfileDef=IfcCircleHollowProfileDef;var IfcCivilElementType=/*#__PURE__*/function(_IfcElementType11){_inherits(IfcCivilElementType,_IfcElementType11);var _super1249=_createSuper(IfcCivilElementType);function IfcCivilElementType(expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType){var _this1252;_classCallCheck(this,IfcCivilElementType);_this1252=_super1249.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType);_this1252.GlobalId=GlobalId;_this1252.OwnerHistory=OwnerHistory;_this1252.Name=Name;_this1252.Description=Description;_this1252.ApplicableOccurrence=ApplicableOccurrence;_this1252.HasPropertySets=HasPropertySets;_this1252.RepresentationMaps=RepresentationMaps;_this1252.Tag=Tag;_this1252.ElementType=ElementType;_this1252.type=3893394355;return _this1252;}return _createClass(IfcCivilElementType);}(IfcElementType);IFC42.IfcCivilElementType=IfcCivilElementType;var IfcColumnType=/*#__PURE__*/function(_IfcBuildingElementTy14){_inherits(IfcColumnType,_IfcBuildingElementTy14);var _super1250=_createSuper(IfcColumnType);function IfcColumnType(expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType,PredefinedType){var _this1253;_classCallCheck(this,IfcColumnType);_this1253=_super1250.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType);_this1253.GlobalId=GlobalId;_this1253.OwnerHistory=OwnerHistory;_this1253.Name=Name;_this1253.Description=Description;_this1253.ApplicableOccurrence=ApplicableOccurrence;_this1253.HasPropertySets=HasPropertySets;_this1253.RepresentationMaps=RepresentationMaps;_this1253.Tag=Tag;_this1253.ElementType=ElementType;_this1253.PredefinedType=PredefinedType;_this1253.type=300633059;return _this1253;}return _createClass(IfcColumnType);}(IfcBuildingElementType);IFC42.IfcColumnType=IfcColumnType;var IfcComplexPropertyTemplate=/*#__PURE__*/function(_IfcPropertyTemplate2){_inherits(IfcComplexPropertyTemplate,_IfcPropertyTemplate2);var _super1251=_createSuper(IfcComplexPropertyTemplate);function IfcComplexPropertyTemplate(expressID,GlobalId,OwnerHistory,Name,Description,UsageName,TemplateType,HasPropertyTemplates){var _this1254;_classCallCheck(this,IfcComplexPropertyTemplate);_this1254=_super1251.call(this,expressID,GlobalId,OwnerHistory,Name,Description);_this1254.GlobalId=GlobalId;_this1254.OwnerHistory=OwnerHistory;_this1254.Name=Name;_this1254.Description=Description;_this1254.UsageName=UsageName;_this1254.TemplateType=TemplateType;_this1254.HasPropertyTemplates=HasPropertyTemplates;_this1254.type=3875453745;return _this1254;}return _createClass(IfcComplexPropertyTemplate);}(IfcPropertyTemplate);IFC42.IfcComplexPropertyTemplate=IfcComplexPropertyTemplate;var IfcCompositeCurve=/*#__PURE__*/function(_IfcBoundedCurve5){_inherits(IfcCompositeCurve,_IfcBoundedCurve5);var _super1252=_createSuper(IfcCompositeCurve);function IfcCompositeCurve(expressID,Segments,SelfIntersect){var _this1255;_classCallCheck(this,IfcCompositeCurve);_this1255=_super1252.call(this,expressID);_this1255.Segments=Segments;_this1255.SelfIntersect=SelfIntersect;_this1255.type=3732776249;return _this1255;}return _createClass(IfcCompositeCurve);}(IfcBoundedCurve);IFC42.IfcCompositeCurve=IfcCompositeCurve;var IfcCompositeCurveOnSurface=/*#__PURE__*/function(_IfcCompositeCurve2){_inherits(IfcCompositeCurveOnSurface,_IfcCompositeCurve2);var _super1253=_createSuper(IfcCompositeCurveOnSurface);function IfcCompositeCurveOnSurface(expressID,Segments,SelfIntersect){var _this1256;_classCallCheck(this,IfcCompositeCurveOnSurface);_this1256=_super1253.call(this,expressID,Segments,SelfIntersect);_this1256.Segments=Segments;_this1256.SelfIntersect=SelfIntersect;_this1256.type=15328376;return _this1256;}return _createClass(IfcCompositeCurveOnSurface);}(IfcCompositeCurve);IFC42.IfcCompositeCurveOnSurface=IfcCompositeCurveOnSurface;var IfcConic=/*#__PURE__*/function(_IfcCurve12){_inherits(IfcConic,_IfcCurve12);var _super1254=_createSuper(IfcConic);function IfcConic(expressID,Position){var _this1257;_classCallCheck(this,IfcConic);_this1257=_super1254.call(this,expressID);_this1257.Position=Position;_this1257.type=2510884976;return _this1257;}return _createClass(IfcConic);}(IfcCurve);IFC42.IfcConic=IfcConic;var IfcConstructionEquipmentResourceType=/*#__PURE__*/function(_IfcConstructionResou10){_inherits(IfcConstructionEquipmentResourceType,_IfcConstructionResou10);var _super1255=_createSuper(IfcConstructionEquipmentResourceType);function IfcConstructionEquipmentResourceType(expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,Identification,LongDescription,ResourceType,BaseCosts,BaseQuantity,PredefinedType){var _this1258;_classCallCheck(this,IfcConstructionEquipmentResourceType);_this1258=_super1255.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,Identification,LongDescription,ResourceType,BaseCosts,BaseQuantity);_this1258.GlobalId=GlobalId;_this1258.OwnerHistory=OwnerHistory;_this1258.Name=Name;_this1258.Description=Description;_this1258.ApplicableOccurrence=ApplicableOccurrence;_this1258.HasPropertySets=HasPropertySets;_this1258.Identification=Identification;_this1258.LongDescription=LongDescription;_this1258.ResourceType=ResourceType;_this1258.BaseCosts=BaseCosts;_this1258.BaseQuantity=BaseQuantity;_this1258.PredefinedType=PredefinedType;_this1258.type=2185764099;return _this1258;}return _createClass(IfcConstructionEquipmentResourceType);}(IfcConstructionResourceType);IFC42.IfcConstructionEquipmentResourceType=IfcConstructionEquipmentResourceType;var IfcConstructionMaterialResourceType=/*#__PURE__*/function(_IfcConstructionResou11){_inherits(IfcConstructionMaterialResourceType,_IfcConstructionResou11);var _super1256=_createSuper(IfcConstructionMaterialResourceType);function IfcConstructionMaterialResourceType(expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,Identification,LongDescription,ResourceType,BaseCosts,BaseQuantity,PredefinedType){var _this1259;_classCallCheck(this,IfcConstructionMaterialResourceType);_this1259=_super1256.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,Identification,LongDescription,ResourceType,BaseCosts,BaseQuantity);_this1259.GlobalId=GlobalId;_this1259.OwnerHistory=OwnerHistory;_this1259.Name=Name;_this1259.Description=Description;_this1259.ApplicableOccurrence=ApplicableOccurrence;_this1259.HasPropertySets=HasPropertySets;_this1259.Identification=Identification;_this1259.LongDescription=LongDescription;_this1259.ResourceType=ResourceType;_this1259.BaseCosts=BaseCosts;_this1259.BaseQuantity=BaseQuantity;_this1259.PredefinedType=PredefinedType;_this1259.type=4105962743;return _this1259;}return _createClass(IfcConstructionMaterialResourceType);}(IfcConstructionResourceType);IFC42.IfcConstructionMaterialResourceType=IfcConstructionMaterialResourceType;var IfcConstructionProductResourceType=/*#__PURE__*/function(_IfcConstructionResou12){_inherits(IfcConstructionProductResourceType,_IfcConstructionResou12);var _super1257=_createSuper(IfcConstructionProductResourceType);function IfcConstructionProductResourceType(expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,Identification,LongDescription,ResourceType,BaseCosts,BaseQuantity,PredefinedType){var _this1260;_classCallCheck(this,IfcConstructionProductResourceType);_this1260=_super1257.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,Identification,LongDescription,ResourceType,BaseCosts,BaseQuantity);_this1260.GlobalId=GlobalId;_this1260.OwnerHistory=OwnerHistory;_this1260.Name=Name;_this1260.Description=Description;_this1260.ApplicableOccurrence=ApplicableOccurrence;_this1260.HasPropertySets=HasPropertySets;_this1260.Identification=Identification;_this1260.LongDescription=LongDescription;_this1260.ResourceType=ResourceType;_this1260.BaseCosts=BaseCosts;_this1260.BaseQuantity=BaseQuantity;_this1260.PredefinedType=PredefinedType;_this1260.type=1525564444;return _this1260;}return _createClass(IfcConstructionProductResourceType);}(IfcConstructionResourceType);IFC42.IfcConstructionProductResourceType=IfcConstructionProductResourceType;var IfcConstructionResource=/*#__PURE__*/function(_IfcResource2){_inherits(IfcConstructionResource,_IfcResource2);var _super1258=_createSuper(IfcConstructionResource);function IfcConstructionResource(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,Identification,LongDescription,Usage,BaseCosts,BaseQuantity){var _this1261;_classCallCheck(this,IfcConstructionResource);_this1261=_super1258.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,Identification,LongDescription);_this1261.GlobalId=GlobalId;_this1261.OwnerHistory=OwnerHistory;_this1261.Name=Name;_this1261.Description=Description;_this1261.ObjectType=ObjectType;_this1261.Identification=Identification;_this1261.LongDescription=LongDescription;_this1261.Usage=Usage;_this1261.BaseCosts=BaseCosts;_this1261.BaseQuantity=BaseQuantity;_this1261.type=2559216714;return _this1261;}return _createClass(IfcConstructionResource);}(IfcResource);IFC42.IfcConstructionResource=IfcConstructionResource;var IfcControl=/*#__PURE__*/function(_IfcObject12){_inherits(IfcControl,_IfcObject12);var _super1259=_createSuper(IfcControl);function IfcControl(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,Identification){var _this1262;_classCallCheck(this,IfcControl);_this1262=_super1259.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType);_this1262.GlobalId=GlobalId;_this1262.OwnerHistory=OwnerHistory;_this1262.Name=Name;_this1262.Description=Description;_this1262.ObjectType=ObjectType;_this1262.Identification=Identification;_this1262.type=3293443760;return _this1262;}return _createClass(IfcControl);}(IfcObject);IFC42.IfcControl=IfcControl;var IfcCostItem=/*#__PURE__*/function(_IfcControl16){_inherits(IfcCostItem,_IfcControl16);var _super1260=_createSuper(IfcCostItem);function IfcCostItem(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,Identification,PredefinedType,CostValues,CostQuantities){var _this1263;_classCallCheck(this,IfcCostItem);_this1263=_super1260.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,Identification);_this1263.GlobalId=GlobalId;_this1263.OwnerHistory=OwnerHistory;_this1263.Name=Name;_this1263.Description=Description;_this1263.ObjectType=ObjectType;_this1263.Identification=Identification;_this1263.PredefinedType=PredefinedType;_this1263.CostValues=CostValues;_this1263.CostQuantities=CostQuantities;_this1263.type=3895139033;return _this1263;}return _createClass(IfcCostItem);}(IfcControl);IFC42.IfcCostItem=IfcCostItem;var IfcCostSchedule=/*#__PURE__*/function(_IfcControl17){_inherits(IfcCostSchedule,_IfcControl17);var _super1261=_createSuper(IfcCostSchedule);function IfcCostSchedule(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,Identification,PredefinedType,Status,SubmittedOn,UpdateDate){var _this1264;_classCallCheck(this,IfcCostSchedule);_this1264=_super1261.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,Identification);_this1264.GlobalId=GlobalId;_this1264.OwnerHistory=OwnerHistory;_this1264.Name=Name;_this1264.Description=Description;_this1264.ObjectType=ObjectType;_this1264.Identification=Identification;_this1264.PredefinedType=PredefinedType;_this1264.Status=Status;_this1264.SubmittedOn=SubmittedOn;_this1264.UpdateDate=UpdateDate;_this1264.type=1419761937;return _this1264;}return _createClass(IfcCostSchedule);}(IfcControl);IFC42.IfcCostSchedule=IfcCostSchedule;var IfcCoveringType=/*#__PURE__*/function(_IfcBuildingElementTy15){_inherits(IfcCoveringType,_IfcBuildingElementTy15);var _super1262=_createSuper(IfcCoveringType);function IfcCoveringType(expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType,PredefinedType){var _this1265;_classCallCheck(this,IfcCoveringType);_this1265=_super1262.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType);_this1265.GlobalId=GlobalId;_this1265.OwnerHistory=OwnerHistory;_this1265.Name=Name;_this1265.Description=Description;_this1265.ApplicableOccurrence=ApplicableOccurrence;_this1265.HasPropertySets=HasPropertySets;_this1265.RepresentationMaps=RepresentationMaps;_this1265.Tag=Tag;_this1265.ElementType=ElementType;_this1265.PredefinedType=PredefinedType;_this1265.type=1916426348;return _this1265;}return _createClass(IfcCoveringType);}(IfcBuildingElementType);IFC42.IfcCoveringType=IfcCoveringType;var IfcCrewResource=/*#__PURE__*/function(_IfcConstructionResou13){_inherits(IfcCrewResource,_IfcConstructionResou13);var _super1263=_createSuper(IfcCrewResource);function IfcCrewResource(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,Identification,LongDescription,Usage,BaseCosts,BaseQuantity,PredefinedType){var _this1266;_classCallCheck(this,IfcCrewResource);_this1266=_super1263.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,Identification,LongDescription,Usage,BaseCosts,BaseQuantity);_this1266.GlobalId=GlobalId;_this1266.OwnerHistory=OwnerHistory;_this1266.Name=Name;_this1266.Description=Description;_this1266.ObjectType=ObjectType;_this1266.Identification=Identification;_this1266.LongDescription=LongDescription;_this1266.Usage=Usage;_this1266.BaseCosts=BaseCosts;_this1266.BaseQuantity=BaseQuantity;_this1266.PredefinedType=PredefinedType;_this1266.type=3295246426;return _this1266;}return _createClass(IfcCrewResource);}(IfcConstructionResource);IFC42.IfcCrewResource=IfcCrewResource;var IfcCurtainWallType=/*#__PURE__*/function(_IfcBuildingElementTy16){_inherits(IfcCurtainWallType,_IfcBuildingElementTy16);var _super1264=_createSuper(IfcCurtainWallType);function IfcCurtainWallType(expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType,PredefinedType){var _this1267;_classCallCheck(this,IfcCurtainWallType);_this1267=_super1264.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType);_this1267.GlobalId=GlobalId;_this1267.OwnerHistory=OwnerHistory;_this1267.Name=Name;_this1267.Description=Description;_this1267.ApplicableOccurrence=ApplicableOccurrence;_this1267.HasPropertySets=HasPropertySets;_this1267.RepresentationMaps=RepresentationMaps;_this1267.Tag=Tag;_this1267.ElementType=ElementType;_this1267.PredefinedType=PredefinedType;_this1267.type=1457835157;return _this1267;}return _createClass(IfcCurtainWallType);}(IfcBuildingElementType);IFC42.IfcCurtainWallType=IfcCurtainWallType;var IfcCylindricalSurface=/*#__PURE__*/function(_IfcElementarySurface5){_inherits(IfcCylindricalSurface,_IfcElementarySurface5);var _super1265=_createSuper(IfcCylindricalSurface);function IfcCylindricalSurface(expressID,Position,Radius){var _this1268;_classCallCheck(this,IfcCylindricalSurface);_this1268=_super1265.call(this,expressID,Position);_this1268.Position=Position;_this1268.Radius=Radius;_this1268.type=1213902940;return _this1268;}return _createClass(IfcCylindricalSurface);}(IfcElementarySurface);IFC42.IfcCylindricalSurface=IfcCylindricalSurface;var IfcDistributionElementType=/*#__PURE__*/function(_IfcElementType12){_inherits(IfcDistributionElementType,_IfcElementType12);var _super1266=_createSuper(IfcDistributionElementType);function IfcDistributionElementType(expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType){var _this1269;_classCallCheck(this,IfcDistributionElementType);_this1269=_super1266.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType);_this1269.GlobalId=GlobalId;_this1269.OwnerHistory=OwnerHistory;_this1269.Name=Name;_this1269.Description=Description;_this1269.ApplicableOccurrence=ApplicableOccurrence;_this1269.HasPropertySets=HasPropertySets;_this1269.RepresentationMaps=RepresentationMaps;_this1269.Tag=Tag;_this1269.ElementType=ElementType;_this1269.type=3256556792;return _this1269;}return _createClass(IfcDistributionElementType);}(IfcElementType);IFC42.IfcDistributionElementType=IfcDistributionElementType;var IfcDistributionFlowElementType=/*#__PURE__*/function(_IfcDistributionEleme5){_inherits(IfcDistributionFlowElementType,_IfcDistributionEleme5);var _super1267=_createSuper(IfcDistributionFlowElementType);function IfcDistributionFlowElementType(expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType){var _this1270;_classCallCheck(this,IfcDistributionFlowElementType);_this1270=_super1267.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType);_this1270.GlobalId=GlobalId;_this1270.OwnerHistory=OwnerHistory;_this1270.Name=Name;_this1270.Description=Description;_this1270.ApplicableOccurrence=ApplicableOccurrence;_this1270.HasPropertySets=HasPropertySets;_this1270.RepresentationMaps=RepresentationMaps;_this1270.Tag=Tag;_this1270.ElementType=ElementType;_this1270.type=3849074793;return _this1270;}return _createClass(IfcDistributionFlowElementType);}(IfcDistributionElementType);IFC42.IfcDistributionFlowElementType=IfcDistributionFlowElementType;var IfcDoorLiningProperties=/*#__PURE__*/function(_IfcPreDefinedPropert7){_inherits(IfcDoorLiningProperties,_IfcPreDefinedPropert7);var _super1268=_createSuper(IfcDoorLiningProperties);function IfcDoorLiningProperties(expressID,GlobalId,OwnerHistory,Name,Description,LiningDepth,LiningThickness,ThresholdDepth,ThresholdThickness,TransomThickness,TransomOffset,LiningOffset,ThresholdOffset,CasingThickness,CasingDepth,ShapeAspectStyle,LiningToPanelOffsetX,LiningToPanelOffsetY){var _this1271;_classCallCheck(this,IfcDoorLiningProperties);_this1271=_super1268.call(this,expressID,GlobalId,OwnerHistory,Name,Description);_this1271.GlobalId=GlobalId;_this1271.OwnerHistory=OwnerHistory;_this1271.Name=Name;_this1271.Description=Description;_this1271.LiningDepth=LiningDepth;_this1271.LiningThickness=LiningThickness;_this1271.ThresholdDepth=ThresholdDepth;_this1271.ThresholdThickness=ThresholdThickness;_this1271.TransomThickness=TransomThickness;_this1271.TransomOffset=TransomOffset;_this1271.LiningOffset=LiningOffset;_this1271.ThresholdOffset=ThresholdOffset;_this1271.CasingThickness=CasingThickness;_this1271.CasingDepth=CasingDepth;_this1271.ShapeAspectStyle=ShapeAspectStyle;_this1271.LiningToPanelOffsetX=LiningToPanelOffsetX;_this1271.LiningToPanelOffsetY=LiningToPanelOffsetY;_this1271.type=2963535650;return _this1271;}return _createClass(IfcDoorLiningProperties);}(IfcPreDefinedPropertySet);IFC42.IfcDoorLiningProperties=IfcDoorLiningProperties;var IfcDoorPanelProperties=/*#__PURE__*/function(_IfcPreDefinedPropert8){_inherits(IfcDoorPanelProperties,_IfcPreDefinedPropert8);var _super1269=_createSuper(IfcDoorPanelProperties);function IfcDoorPanelProperties(expressID,GlobalId,OwnerHistory,Name,Description,PanelDepth,PanelOperation,PanelWidth,PanelPosition,ShapeAspectStyle){var _this1272;_classCallCheck(this,IfcDoorPanelProperties);_this1272=_super1269.call(this,expressID,GlobalId,OwnerHistory,Name,Description);_this1272.GlobalId=GlobalId;_this1272.OwnerHistory=OwnerHistory;_this1272.Name=Name;_this1272.Description=Description;_this1272.PanelDepth=PanelDepth;_this1272.PanelOperation=PanelOperation;_this1272.PanelWidth=PanelWidth;_this1272.PanelPosition=PanelPosition;_this1272.ShapeAspectStyle=ShapeAspectStyle;_this1272.type=1714330368;return _this1272;}return _createClass(IfcDoorPanelProperties);}(IfcPreDefinedPropertySet);IFC42.IfcDoorPanelProperties=IfcDoorPanelProperties;var IfcDoorType=/*#__PURE__*/function(_IfcBuildingElementTy17){_inherits(IfcDoorType,_IfcBuildingElementTy17);var _super1270=_createSuper(IfcDoorType);function IfcDoorType(expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType,PredefinedType,OperationType,ParameterTakesPrecedence,UserDefinedOperationType){var _this1273;_classCallCheck(this,IfcDoorType);_this1273=_super1270.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType);_this1273.GlobalId=GlobalId;_this1273.OwnerHistory=OwnerHistory;_this1273.Name=Name;_this1273.Description=Description;_this1273.ApplicableOccurrence=ApplicableOccurrence;_this1273.HasPropertySets=HasPropertySets;_this1273.RepresentationMaps=RepresentationMaps;_this1273.Tag=Tag;_this1273.ElementType=ElementType;_this1273.PredefinedType=PredefinedType;_this1273.OperationType=OperationType;_this1273.ParameterTakesPrecedence=ParameterTakesPrecedence;_this1273.UserDefinedOperationType=UserDefinedOperationType;_this1273.type=2323601079;return _this1273;}return _createClass(IfcDoorType);}(IfcBuildingElementType);IFC42.IfcDoorType=IfcDoorType;var IfcDraughtingPreDefinedColour=/*#__PURE__*/function(_IfcPreDefinedColour2){_inherits(IfcDraughtingPreDefinedColour,_IfcPreDefinedColour2);var _super1271=_createSuper(IfcDraughtingPreDefinedColour);function IfcDraughtingPreDefinedColour(expressID,Name){var _this1274;_classCallCheck(this,IfcDraughtingPreDefinedColour);_this1274=_super1271.call(this,expressID,Name);_this1274.Name=Name;_this1274.type=445594917;return _this1274;}return _createClass(IfcDraughtingPreDefinedColour);}(IfcPreDefinedColour);IFC42.IfcDraughtingPreDefinedColour=IfcDraughtingPreDefinedColour;var IfcDraughtingPreDefinedCurveFont=/*#__PURE__*/function(_IfcPreDefinedCurveFo2){_inherits(IfcDraughtingPreDefinedCurveFont,_IfcPreDefinedCurveFo2);var _super1272=_createSuper(IfcDraughtingPreDefinedCurveFont);function IfcDraughtingPreDefinedCurveFont(expressID,Name){var _this1275;_classCallCheck(this,IfcDraughtingPreDefinedCurveFont);_this1275=_super1272.call(this,expressID,Name);_this1275.Name=Name;_this1275.type=4006246654;return _this1275;}return _createClass(IfcDraughtingPreDefinedCurveFont);}(IfcPreDefinedCurveFont);IFC42.IfcDraughtingPreDefinedCurveFont=IfcDraughtingPreDefinedCurveFont;var IfcElement=/*#__PURE__*/function(_IfcProduct14){_inherits(IfcElement,_IfcProduct14);var _super1273=_createSuper(IfcElement);function IfcElement(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag){var _this1276;_classCallCheck(this,IfcElement);_this1276=_super1273.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation);_this1276.GlobalId=GlobalId;_this1276.OwnerHistory=OwnerHistory;_this1276.Name=Name;_this1276.Description=Description;_this1276.ObjectType=ObjectType;_this1276.ObjectPlacement=ObjectPlacement;_this1276.Representation=Representation;_this1276.Tag=Tag;_this1276.type=1758889154;return _this1276;}return _createClass(IfcElement);}(IfcProduct);IFC42.IfcElement=IfcElement;var IfcElementAssembly=/*#__PURE__*/function(_IfcElement11){_inherits(IfcElementAssembly,_IfcElement11);var _super1274=_createSuper(IfcElementAssembly);function IfcElementAssembly(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag,AssemblyPlace,PredefinedType){var _this1277;_classCallCheck(this,IfcElementAssembly);_this1277=_super1274.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag);_this1277.GlobalId=GlobalId;_this1277.OwnerHistory=OwnerHistory;_this1277.Name=Name;_this1277.Description=Description;_this1277.ObjectType=ObjectType;_this1277.ObjectPlacement=ObjectPlacement;_this1277.Representation=Representation;_this1277.Tag=Tag;_this1277.AssemblyPlace=AssemblyPlace;_this1277.PredefinedType=PredefinedType;_this1277.type=4123344466;return _this1277;}return _createClass(IfcElementAssembly);}(IfcElement);IFC42.IfcElementAssembly=IfcElementAssembly;var IfcElementAssemblyType=/*#__PURE__*/function(_IfcElementType13){_inherits(IfcElementAssemblyType,_IfcElementType13);var _super1275=_createSuper(IfcElementAssemblyType);function IfcElementAssemblyType(expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType,PredefinedType){var _this1278;_classCallCheck(this,IfcElementAssemblyType);_this1278=_super1275.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType);_this1278.GlobalId=GlobalId;_this1278.OwnerHistory=OwnerHistory;_this1278.Name=Name;_this1278.Description=Description;_this1278.ApplicableOccurrence=ApplicableOccurrence;_this1278.HasPropertySets=HasPropertySets;_this1278.RepresentationMaps=RepresentationMaps;_this1278.Tag=Tag;_this1278.ElementType=ElementType;_this1278.PredefinedType=PredefinedType;_this1278.type=2397081782;return _this1278;}return _createClass(IfcElementAssemblyType);}(IfcElementType);IFC42.IfcElementAssemblyType=IfcElementAssemblyType;var IfcElementComponent=/*#__PURE__*/function(_IfcElement12){_inherits(IfcElementComponent,_IfcElement12);var _super1276=_createSuper(IfcElementComponent);function IfcElementComponent(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag){var _this1279;_classCallCheck(this,IfcElementComponent);_this1279=_super1276.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag);_this1279.GlobalId=GlobalId;_this1279.OwnerHistory=OwnerHistory;_this1279.Name=Name;_this1279.Description=Description;_this1279.ObjectType=ObjectType;_this1279.ObjectPlacement=ObjectPlacement;_this1279.Representation=Representation;_this1279.Tag=Tag;_this1279.type=1623761950;return _this1279;}return _createClass(IfcElementComponent);}(IfcElement);IFC42.IfcElementComponent=IfcElementComponent;var IfcElementComponentType=/*#__PURE__*/function(_IfcElementType14){_inherits(IfcElementComponentType,_IfcElementType14);var _super1277=_createSuper(IfcElementComponentType);function IfcElementComponentType(expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType){var _this1280;_classCallCheck(this,IfcElementComponentType);_this1280=_super1277.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType);_this1280.GlobalId=GlobalId;_this1280.OwnerHistory=OwnerHistory;_this1280.Name=Name;_this1280.Description=Description;_this1280.ApplicableOccurrence=ApplicableOccurrence;_this1280.HasPropertySets=HasPropertySets;_this1280.RepresentationMaps=RepresentationMaps;_this1280.Tag=Tag;_this1280.ElementType=ElementType;_this1280.type=2590856083;return _this1280;}return _createClass(IfcElementComponentType);}(IfcElementType);IFC42.IfcElementComponentType=IfcElementComponentType;var IfcEllipse=/*#__PURE__*/function(_IfcConic3){_inherits(IfcEllipse,_IfcConic3);var _super1278=_createSuper(IfcEllipse);function IfcEllipse(expressID,Position,SemiAxis1,SemiAxis2){var _this1281;_classCallCheck(this,IfcEllipse);_this1281=_super1278.call(this,expressID,Position);_this1281.Position=Position;_this1281.SemiAxis1=SemiAxis1;_this1281.SemiAxis2=SemiAxis2;_this1281.type=1704287377;return _this1281;}return _createClass(IfcEllipse);}(IfcConic);IFC42.IfcEllipse=IfcEllipse;var IfcEnergyConversionDeviceType=/*#__PURE__*/function(_IfcDistributionFlowE19){_inherits(IfcEnergyConversionDeviceType,_IfcDistributionFlowE19);var _super1279=_createSuper(IfcEnergyConversionDeviceType);function IfcEnergyConversionDeviceType(expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType){var _this1282;_classCallCheck(this,IfcEnergyConversionDeviceType);_this1282=_super1279.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType);_this1282.GlobalId=GlobalId;_this1282.OwnerHistory=OwnerHistory;_this1282.Name=Name;_this1282.Description=Description;_this1282.ApplicableOccurrence=ApplicableOccurrence;_this1282.HasPropertySets=HasPropertySets;_this1282.RepresentationMaps=RepresentationMaps;_this1282.Tag=Tag;_this1282.ElementType=ElementType;_this1282.type=2107101300;return _this1282;}return _createClass(IfcEnergyConversionDeviceType);}(IfcDistributionFlowElementType);IFC42.IfcEnergyConversionDeviceType=IfcEnergyConversionDeviceType;var IfcEngineType=/*#__PURE__*/function(_IfcEnergyConversionD19){_inherits(IfcEngineType,_IfcEnergyConversionD19);var _super1280=_createSuper(IfcEngineType);function IfcEngineType(expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType,PredefinedType){var _this1283;_classCallCheck(this,IfcEngineType);_this1283=_super1280.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType);_this1283.GlobalId=GlobalId;_this1283.OwnerHistory=OwnerHistory;_this1283.Name=Name;_this1283.Description=Description;_this1283.ApplicableOccurrence=ApplicableOccurrence;_this1283.HasPropertySets=HasPropertySets;_this1283.RepresentationMaps=RepresentationMaps;_this1283.Tag=Tag;_this1283.ElementType=ElementType;_this1283.PredefinedType=PredefinedType;_this1283.type=132023988;return _this1283;}return _createClass(IfcEngineType);}(IfcEnergyConversionDeviceType);IFC42.IfcEngineType=IfcEngineType;var IfcEvaporativeCoolerType=/*#__PURE__*/function(_IfcEnergyConversionD20){_inherits(IfcEvaporativeCoolerType,_IfcEnergyConversionD20);var _super1281=_createSuper(IfcEvaporativeCoolerType);function IfcEvaporativeCoolerType(expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType,PredefinedType){var _this1284;_classCallCheck(this,IfcEvaporativeCoolerType);_this1284=_super1281.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType);_this1284.GlobalId=GlobalId;_this1284.OwnerHistory=OwnerHistory;_this1284.Name=Name;_this1284.Description=Description;_this1284.ApplicableOccurrence=ApplicableOccurrence;_this1284.HasPropertySets=HasPropertySets;_this1284.RepresentationMaps=RepresentationMaps;_this1284.Tag=Tag;_this1284.ElementType=ElementType;_this1284.PredefinedType=PredefinedType;_this1284.type=3174744832;return _this1284;}return _createClass(IfcEvaporativeCoolerType);}(IfcEnergyConversionDeviceType);IFC42.IfcEvaporativeCoolerType=IfcEvaporativeCoolerType;var IfcEvaporatorType=/*#__PURE__*/function(_IfcEnergyConversionD21){_inherits(IfcEvaporatorType,_IfcEnergyConversionD21);var _super1282=_createSuper(IfcEvaporatorType);function IfcEvaporatorType(expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType,PredefinedType){var _this1285;_classCallCheck(this,IfcEvaporatorType);_this1285=_super1282.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType);_this1285.GlobalId=GlobalId;_this1285.OwnerHistory=OwnerHistory;_this1285.Name=Name;_this1285.Description=Description;_this1285.ApplicableOccurrence=ApplicableOccurrence;_this1285.HasPropertySets=HasPropertySets;_this1285.RepresentationMaps=RepresentationMaps;_this1285.Tag=Tag;_this1285.ElementType=ElementType;_this1285.PredefinedType=PredefinedType;_this1285.type=3390157468;return _this1285;}return _createClass(IfcEvaporatorType);}(IfcEnergyConversionDeviceType);IFC42.IfcEvaporatorType=IfcEvaporatorType;var IfcEvent=/*#__PURE__*/function(_IfcProcess4){_inherits(IfcEvent,_IfcProcess4);var _super1283=_createSuper(IfcEvent);function IfcEvent(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,Identification,LongDescription,PredefinedType,EventTriggerType,UserDefinedEventTriggerType,EventOccurenceTime){var _this1286;_classCallCheck(this,IfcEvent);_this1286=_super1283.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,Identification,LongDescription);_this1286.GlobalId=GlobalId;_this1286.OwnerHistory=OwnerHistory;_this1286.Name=Name;_this1286.Description=Description;_this1286.ObjectType=ObjectType;_this1286.Identification=Identification;_this1286.LongDescription=LongDescription;_this1286.PredefinedType=PredefinedType;_this1286.EventTriggerType=EventTriggerType;_this1286.UserDefinedEventTriggerType=UserDefinedEventTriggerType;_this1286.EventOccurenceTime=EventOccurenceTime;_this1286.type=4148101412;return _this1286;}return _createClass(IfcEvent);}(IfcProcess);IFC42.IfcEvent=IfcEvent;var IfcExternalSpatialStructureElement=/*#__PURE__*/function(_IfcSpatialElement3){_inherits(IfcExternalSpatialStructureElement,_IfcSpatialElement3);var _super1284=_createSuper(IfcExternalSpatialStructureElement);function IfcExternalSpatialStructureElement(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,LongName){var _this1287;_classCallCheck(this,IfcExternalSpatialStructureElement);_this1287=_super1284.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,LongName);_this1287.GlobalId=GlobalId;_this1287.OwnerHistory=OwnerHistory;_this1287.Name=Name;_this1287.Description=Description;_this1287.ObjectType=ObjectType;_this1287.ObjectPlacement=ObjectPlacement;_this1287.Representation=Representation;_this1287.LongName=LongName;_this1287.type=2853485674;return _this1287;}return _createClass(IfcExternalSpatialStructureElement);}(IfcSpatialElement);IFC42.IfcExternalSpatialStructureElement=IfcExternalSpatialStructureElement;var IfcFacetedBrep=/*#__PURE__*/function(_IfcManifoldSolidBrep4){_inherits(IfcFacetedBrep,_IfcManifoldSolidBrep4);var _super1285=_createSuper(IfcFacetedBrep);function IfcFacetedBrep(expressID,Outer){var _this1288;_classCallCheck(this,IfcFacetedBrep);_this1288=_super1285.call(this,expressID,Outer);_this1288.Outer=Outer;_this1288.type=807026263;return _this1288;}return _createClass(IfcFacetedBrep);}(IfcManifoldSolidBrep);IFC42.IfcFacetedBrep=IfcFacetedBrep;var IfcFacetedBrepWithVoids=/*#__PURE__*/function(_IfcFacetedBrep){_inherits(IfcFacetedBrepWithVoids,_IfcFacetedBrep);var _super1286=_createSuper(IfcFacetedBrepWithVoids);function IfcFacetedBrepWithVoids(expressID,Outer,Voids){var _this1289;_classCallCheck(this,IfcFacetedBrepWithVoids);_this1289=_super1286.call(this,expressID,Outer);_this1289.Outer=Outer;_this1289.Voids=Voids;_this1289.type=3737207727;return _this1289;}return _createClass(IfcFacetedBrepWithVoids);}(IfcFacetedBrep);IFC42.IfcFacetedBrepWithVoids=IfcFacetedBrepWithVoids;var IfcFastener=/*#__PURE__*/function(_IfcElementComponent3){_inherits(IfcFastener,_IfcElementComponent3);var _super1287=_createSuper(IfcFastener);function IfcFastener(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag,PredefinedType){var _this1290;_classCallCheck(this,IfcFastener);_this1290=_super1287.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag);_this1290.GlobalId=GlobalId;_this1290.OwnerHistory=OwnerHistory;_this1290.Name=Name;_this1290.Description=Description;_this1290.ObjectType=ObjectType;_this1290.ObjectPlacement=ObjectPlacement;_this1290.Representation=Representation;_this1290.Tag=Tag;_this1290.PredefinedType=PredefinedType;_this1290.type=647756555;return _this1290;}return _createClass(IfcFastener);}(IfcElementComponent);IFC42.IfcFastener=IfcFastener;var IfcFastenerType=/*#__PURE__*/function(_IfcElementComponentT3){_inherits(IfcFastenerType,_IfcElementComponentT3);var _super1288=_createSuper(IfcFastenerType);function IfcFastenerType(expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType,PredefinedType){var _this1291;_classCallCheck(this,IfcFastenerType);_this1291=_super1288.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType);_this1291.GlobalId=GlobalId;_this1291.OwnerHistory=OwnerHistory;_this1291.Name=Name;_this1291.Description=Description;_this1291.ApplicableOccurrence=ApplicableOccurrence;_this1291.HasPropertySets=HasPropertySets;_this1291.RepresentationMaps=RepresentationMaps;_this1291.Tag=Tag;_this1291.ElementType=ElementType;_this1291.PredefinedType=PredefinedType;_this1291.type=2489546625;return _this1291;}return _createClass(IfcFastenerType);}(IfcElementComponentType);IFC42.IfcFastenerType=IfcFastenerType;var IfcFeatureElement=/*#__PURE__*/function(_IfcElement13){_inherits(IfcFeatureElement,_IfcElement13);var _super1289=_createSuper(IfcFeatureElement);function IfcFeatureElement(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag){var _this1292;_classCallCheck(this,IfcFeatureElement);_this1292=_super1289.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag);_this1292.GlobalId=GlobalId;_this1292.OwnerHistory=OwnerHistory;_this1292.Name=Name;_this1292.Description=Description;_this1292.ObjectType=ObjectType;_this1292.ObjectPlacement=ObjectPlacement;_this1292.Representation=Representation;_this1292.Tag=Tag;_this1292.type=2827207264;return _this1292;}return _createClass(IfcFeatureElement);}(IfcElement);IFC42.IfcFeatureElement=IfcFeatureElement;var IfcFeatureElementAddition=/*#__PURE__*/function(_IfcFeatureElement3){_inherits(IfcFeatureElementAddition,_IfcFeatureElement3);var _super1290=_createSuper(IfcFeatureElementAddition);function IfcFeatureElementAddition(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag){var _this1293;_classCallCheck(this,IfcFeatureElementAddition);_this1293=_super1290.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag);_this1293.GlobalId=GlobalId;_this1293.OwnerHistory=OwnerHistory;_this1293.Name=Name;_this1293.Description=Description;_this1293.ObjectType=ObjectType;_this1293.ObjectPlacement=ObjectPlacement;_this1293.Representation=Representation;_this1293.Tag=Tag;_this1293.type=2143335405;return _this1293;}return _createClass(IfcFeatureElementAddition);}(IfcFeatureElement);IFC42.IfcFeatureElementAddition=IfcFeatureElementAddition;var IfcFeatureElementSubtraction=/*#__PURE__*/function(_IfcFeatureElement4){_inherits(IfcFeatureElementSubtraction,_IfcFeatureElement4);var _super1291=_createSuper(IfcFeatureElementSubtraction);function IfcFeatureElementSubtraction(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag){var _this1294;_classCallCheck(this,IfcFeatureElementSubtraction);_this1294=_super1291.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag);_this1294.GlobalId=GlobalId;_this1294.OwnerHistory=OwnerHistory;_this1294.Name=Name;_this1294.Description=Description;_this1294.ObjectType=ObjectType;_this1294.ObjectPlacement=ObjectPlacement;_this1294.Representation=Representation;_this1294.Tag=Tag;_this1294.type=1287392070;return _this1294;}return _createClass(IfcFeatureElementSubtraction);}(IfcFeatureElement);IFC42.IfcFeatureElementSubtraction=IfcFeatureElementSubtraction;var IfcFlowControllerType=/*#__PURE__*/function(_IfcDistributionFlowE20){_inherits(IfcFlowControllerType,_IfcDistributionFlowE20);var _super1292=_createSuper(IfcFlowControllerType);function IfcFlowControllerType(expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType){var _this1295;_classCallCheck(this,IfcFlowControllerType);_this1295=_super1292.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType);_this1295.GlobalId=GlobalId;_this1295.OwnerHistory=OwnerHistory;_this1295.Name=Name;_this1295.Description=Description;_this1295.ApplicableOccurrence=ApplicableOccurrence;_this1295.HasPropertySets=HasPropertySets;_this1295.RepresentationMaps=RepresentationMaps;_this1295.Tag=Tag;_this1295.ElementType=ElementType;_this1295.type=3907093117;return _this1295;}return _createClass(IfcFlowControllerType);}(IfcDistributionFlowElementType);IFC42.IfcFlowControllerType=IfcFlowControllerType;var IfcFlowFittingType=/*#__PURE__*/function(_IfcDistributionFlowE21){_inherits(IfcFlowFittingType,_IfcDistributionFlowE21);var _super1293=_createSuper(IfcFlowFittingType);function IfcFlowFittingType(expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType){var _this1296;_classCallCheck(this,IfcFlowFittingType);_this1296=_super1293.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType);_this1296.GlobalId=GlobalId;_this1296.OwnerHistory=OwnerHistory;_this1296.Name=Name;_this1296.Description=Description;_this1296.ApplicableOccurrence=ApplicableOccurrence;_this1296.HasPropertySets=HasPropertySets;_this1296.RepresentationMaps=RepresentationMaps;_this1296.Tag=Tag;_this1296.ElementType=ElementType;_this1296.type=3198132628;return _this1296;}return _createClass(IfcFlowFittingType);}(IfcDistributionFlowElementType);IFC42.IfcFlowFittingType=IfcFlowFittingType;var IfcFlowMeterType=/*#__PURE__*/function(_IfcFlowControllerTyp8){_inherits(IfcFlowMeterType,_IfcFlowControllerTyp8);var _super1294=_createSuper(IfcFlowMeterType);function IfcFlowMeterType(expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType,PredefinedType){var _this1297;_classCallCheck(this,IfcFlowMeterType);_this1297=_super1294.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType);_this1297.GlobalId=GlobalId;_this1297.OwnerHistory=OwnerHistory;_this1297.Name=Name;_this1297.Description=Description;_this1297.ApplicableOccurrence=ApplicableOccurrence;_this1297.HasPropertySets=HasPropertySets;_this1297.RepresentationMaps=RepresentationMaps;_this1297.Tag=Tag;_this1297.ElementType=ElementType;_this1297.PredefinedType=PredefinedType;_this1297.type=3815607619;return _this1297;}return _createClass(IfcFlowMeterType);}(IfcFlowControllerType);IFC42.IfcFlowMeterType=IfcFlowMeterType;var IfcFlowMovingDeviceType=/*#__PURE__*/function(_IfcDistributionFlowE22){_inherits(IfcFlowMovingDeviceType,_IfcDistributionFlowE22);var _super1295=_createSuper(IfcFlowMovingDeviceType);function IfcFlowMovingDeviceType(expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType){var _this1298;_classCallCheck(this,IfcFlowMovingDeviceType);_this1298=_super1295.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType);_this1298.GlobalId=GlobalId;_this1298.OwnerHistory=OwnerHistory;_this1298.Name=Name;_this1298.Description=Description;_this1298.ApplicableOccurrence=ApplicableOccurrence;_this1298.HasPropertySets=HasPropertySets;_this1298.RepresentationMaps=RepresentationMaps;_this1298.Tag=Tag;_this1298.ElementType=ElementType;_this1298.type=1482959167;return _this1298;}return _createClass(IfcFlowMovingDeviceType);}(IfcDistributionFlowElementType);IFC42.IfcFlowMovingDeviceType=IfcFlowMovingDeviceType;var IfcFlowSegmentType=/*#__PURE__*/function(_IfcDistributionFlowE23){_inherits(IfcFlowSegmentType,_IfcDistributionFlowE23);var _super1296=_createSuper(IfcFlowSegmentType);function IfcFlowSegmentType(expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType){var _this1299;_classCallCheck(this,IfcFlowSegmentType);_this1299=_super1296.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType);_this1299.GlobalId=GlobalId;_this1299.OwnerHistory=OwnerHistory;_this1299.Name=Name;_this1299.Description=Description;_this1299.ApplicableOccurrence=ApplicableOccurrence;_this1299.HasPropertySets=HasPropertySets;_this1299.RepresentationMaps=RepresentationMaps;_this1299.Tag=Tag;_this1299.ElementType=ElementType;_this1299.type=1834744321;return _this1299;}return _createClass(IfcFlowSegmentType);}(IfcDistributionFlowElementType);IFC42.IfcFlowSegmentType=IfcFlowSegmentType;var IfcFlowStorageDeviceType=/*#__PURE__*/function(_IfcDistributionFlowE24){_inherits(IfcFlowStorageDeviceType,_IfcDistributionFlowE24);var _super1297=_createSuper(IfcFlowStorageDeviceType);function IfcFlowStorageDeviceType(expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType){var _this1300;_classCallCheck(this,IfcFlowStorageDeviceType);_this1300=_super1297.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType);_this1300.GlobalId=GlobalId;_this1300.OwnerHistory=OwnerHistory;_this1300.Name=Name;_this1300.Description=Description;_this1300.ApplicableOccurrence=ApplicableOccurrence;_this1300.HasPropertySets=HasPropertySets;_this1300.RepresentationMaps=RepresentationMaps;_this1300.Tag=Tag;_this1300.ElementType=ElementType;_this1300.type=1339347760;return _this1300;}return _createClass(IfcFlowStorageDeviceType);}(IfcDistributionFlowElementType);IFC42.IfcFlowStorageDeviceType=IfcFlowStorageDeviceType;var IfcFlowTerminalType=/*#__PURE__*/function(_IfcDistributionFlowE25){_inherits(IfcFlowTerminalType,_IfcDistributionFlowE25);var _super1298=_createSuper(IfcFlowTerminalType);function IfcFlowTerminalType(expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType){var _this1301;_classCallCheck(this,IfcFlowTerminalType);_this1301=_super1298.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType);_this1301.GlobalId=GlobalId;_this1301.OwnerHistory=OwnerHistory;_this1301.Name=Name;_this1301.Description=Description;_this1301.ApplicableOccurrence=ApplicableOccurrence;_this1301.HasPropertySets=HasPropertySets;_this1301.RepresentationMaps=RepresentationMaps;_this1301.Tag=Tag;_this1301.ElementType=ElementType;_this1301.type=2297155007;return _this1301;}return _createClass(IfcFlowTerminalType);}(IfcDistributionFlowElementType);IFC42.IfcFlowTerminalType=IfcFlowTerminalType;var IfcFlowTreatmentDeviceType=/*#__PURE__*/function(_IfcDistributionFlowE26){_inherits(IfcFlowTreatmentDeviceType,_IfcDistributionFlowE26);var _super1299=_createSuper(IfcFlowTreatmentDeviceType);function IfcFlowTreatmentDeviceType(expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType){var _this1302;_classCallCheck(this,IfcFlowTreatmentDeviceType);_this1302=_super1299.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType);_this1302.GlobalId=GlobalId;_this1302.OwnerHistory=OwnerHistory;_this1302.Name=Name;_this1302.Description=Description;_this1302.ApplicableOccurrence=ApplicableOccurrence;_this1302.HasPropertySets=HasPropertySets;_this1302.RepresentationMaps=RepresentationMaps;_this1302.Tag=Tag;_this1302.ElementType=ElementType;_this1302.type=3009222698;return _this1302;}return _createClass(IfcFlowTreatmentDeviceType);}(IfcDistributionFlowElementType);IFC42.IfcFlowTreatmentDeviceType=IfcFlowTreatmentDeviceType;var IfcFootingType=/*#__PURE__*/function(_IfcBuildingElementTy18){_inherits(IfcFootingType,_IfcBuildingElementTy18);var _super1300=_createSuper(IfcFootingType);function IfcFootingType(expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType,PredefinedType){var _this1303;_classCallCheck(this,IfcFootingType);_this1303=_super1300.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType);_this1303.GlobalId=GlobalId;_this1303.OwnerHistory=OwnerHistory;_this1303.Name=Name;_this1303.Description=Description;_this1303.ApplicableOccurrence=ApplicableOccurrence;_this1303.HasPropertySets=HasPropertySets;_this1303.RepresentationMaps=RepresentationMaps;_this1303.Tag=Tag;_this1303.ElementType=ElementType;_this1303.PredefinedType=PredefinedType;_this1303.type=1893162501;return _this1303;}return _createClass(IfcFootingType);}(IfcBuildingElementType);IFC42.IfcFootingType=IfcFootingType;var IfcFurnishingElement=/*#__PURE__*/function(_IfcElement14){_inherits(IfcFurnishingElement,_IfcElement14);var _super1301=_createSuper(IfcFurnishingElement);function IfcFurnishingElement(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag){var _this1304;_classCallCheck(this,IfcFurnishingElement);_this1304=_super1301.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag);_this1304.GlobalId=GlobalId;_this1304.OwnerHistory=OwnerHistory;_this1304.Name=Name;_this1304.Description=Description;_this1304.ObjectType=ObjectType;_this1304.ObjectPlacement=ObjectPlacement;_this1304.Representation=Representation;_this1304.Tag=Tag;_this1304.type=263784265;return _this1304;}return _createClass(IfcFurnishingElement);}(IfcElement);IFC42.IfcFurnishingElement=IfcFurnishingElement;var IfcFurniture=/*#__PURE__*/function(_IfcFurnishingElement5){_inherits(IfcFurniture,_IfcFurnishingElement5);var _super1302=_createSuper(IfcFurniture);function IfcFurniture(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag,PredefinedType){var _this1305;_classCallCheck(this,IfcFurniture);_this1305=_super1302.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag);_this1305.GlobalId=GlobalId;_this1305.OwnerHistory=OwnerHistory;_this1305.Name=Name;_this1305.Description=Description;_this1305.ObjectType=ObjectType;_this1305.ObjectPlacement=ObjectPlacement;_this1305.Representation=Representation;_this1305.Tag=Tag;_this1305.PredefinedType=PredefinedType;_this1305.type=1509553395;return _this1305;}return _createClass(IfcFurniture);}(IfcFurnishingElement);IFC42.IfcFurniture=IfcFurniture;var IfcGeographicElement=/*#__PURE__*/function(_IfcElement15){_inherits(IfcGeographicElement,_IfcElement15);var _super1303=_createSuper(IfcGeographicElement);function IfcGeographicElement(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag,PredefinedType){var _this1306;_classCallCheck(this,IfcGeographicElement);_this1306=_super1303.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag);_this1306.GlobalId=GlobalId;_this1306.OwnerHistory=OwnerHistory;_this1306.Name=Name;_this1306.Description=Description;_this1306.ObjectType=ObjectType;_this1306.ObjectPlacement=ObjectPlacement;_this1306.Representation=Representation;_this1306.Tag=Tag;_this1306.PredefinedType=PredefinedType;_this1306.type=3493046030;return _this1306;}return _createClass(IfcGeographicElement);}(IfcElement);IFC42.IfcGeographicElement=IfcGeographicElement;var IfcGrid=/*#__PURE__*/function(_IfcProduct15){_inherits(IfcGrid,_IfcProduct15);var _super1304=_createSuper(IfcGrid);function IfcGrid(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,UAxes,VAxes,WAxes,PredefinedType){var _this1307;_classCallCheck(this,IfcGrid);_this1307=_super1304.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation);_this1307.GlobalId=GlobalId;_this1307.OwnerHistory=OwnerHistory;_this1307.Name=Name;_this1307.Description=Description;_this1307.ObjectType=ObjectType;_this1307.ObjectPlacement=ObjectPlacement;_this1307.Representation=Representation;_this1307.UAxes=UAxes;_this1307.VAxes=VAxes;_this1307.WAxes=WAxes;_this1307.PredefinedType=PredefinedType;_this1307.type=3009204131;return _this1307;}return _createClass(IfcGrid);}(IfcProduct);IFC42.IfcGrid=IfcGrid;var IfcGroup=/*#__PURE__*/function(_IfcObject13){_inherits(IfcGroup,_IfcObject13);var _super1305=_createSuper(IfcGroup);function IfcGroup(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType){var _this1308;_classCallCheck(this,IfcGroup);_this1308=_super1305.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType);_this1308.GlobalId=GlobalId;_this1308.OwnerHistory=OwnerHistory;_this1308.Name=Name;_this1308.Description=Description;_this1308.ObjectType=ObjectType;_this1308.type=2706460486;return _this1308;}return _createClass(IfcGroup);}(IfcObject);IFC42.IfcGroup=IfcGroup;var IfcHeatExchangerType=/*#__PURE__*/function(_IfcEnergyConversionD22){_inherits(IfcHeatExchangerType,_IfcEnergyConversionD22);var _super1306=_createSuper(IfcHeatExchangerType);function IfcHeatExchangerType(expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType,PredefinedType){var _this1309;_classCallCheck(this,IfcHeatExchangerType);_this1309=_super1306.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType);_this1309.GlobalId=GlobalId;_this1309.OwnerHistory=OwnerHistory;_this1309.Name=Name;_this1309.Description=Description;_this1309.ApplicableOccurrence=ApplicableOccurrence;_this1309.HasPropertySets=HasPropertySets;_this1309.RepresentationMaps=RepresentationMaps;_this1309.Tag=Tag;_this1309.ElementType=ElementType;_this1309.PredefinedType=PredefinedType;_this1309.type=1251058090;return _this1309;}return _createClass(IfcHeatExchangerType);}(IfcEnergyConversionDeviceType);IFC42.IfcHeatExchangerType=IfcHeatExchangerType;var IfcHumidifierType=/*#__PURE__*/function(_IfcEnergyConversionD23){_inherits(IfcHumidifierType,_IfcEnergyConversionD23);var _super1307=_createSuper(IfcHumidifierType);function IfcHumidifierType(expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType,PredefinedType){var _this1310;_classCallCheck(this,IfcHumidifierType);_this1310=_super1307.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType);_this1310.GlobalId=GlobalId;_this1310.OwnerHistory=OwnerHistory;_this1310.Name=Name;_this1310.Description=Description;_this1310.ApplicableOccurrence=ApplicableOccurrence;_this1310.HasPropertySets=HasPropertySets;_this1310.RepresentationMaps=RepresentationMaps;_this1310.Tag=Tag;_this1310.ElementType=ElementType;_this1310.PredefinedType=PredefinedType;_this1310.type=1806887404;return _this1310;}return _createClass(IfcHumidifierType);}(IfcEnergyConversionDeviceType);IFC42.IfcHumidifierType=IfcHumidifierType;var IfcIndexedPolyCurve=/*#__PURE__*/function(_IfcBoundedCurve6){_inherits(IfcIndexedPolyCurve,_IfcBoundedCurve6);var _super1308=_createSuper(IfcIndexedPolyCurve);function IfcIndexedPolyCurve(expressID,Points,Segments,SelfIntersect){var _this1311;_classCallCheck(this,IfcIndexedPolyCurve);_this1311=_super1308.call(this,expressID);_this1311.Points=Points;_this1311.Segments=Segments;_this1311.SelfIntersect=SelfIntersect;_this1311.type=2571569899;return _this1311;}return _createClass(IfcIndexedPolyCurve);}(IfcBoundedCurve);IFC42.IfcIndexedPolyCurve=IfcIndexedPolyCurve;var IfcInterceptorType=/*#__PURE__*/function(_IfcFlowTreatmentDevi3){_inherits(IfcInterceptorType,_IfcFlowTreatmentDevi3);var _super1309=_createSuper(IfcInterceptorType);function IfcInterceptorType(expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType,PredefinedType){var _this1312;_classCallCheck(this,IfcInterceptorType);_this1312=_super1309.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType);_this1312.GlobalId=GlobalId;_this1312.OwnerHistory=OwnerHistory;_this1312.Name=Name;_this1312.Description=Description;_this1312.ApplicableOccurrence=ApplicableOccurrence;_this1312.HasPropertySets=HasPropertySets;_this1312.RepresentationMaps=RepresentationMaps;_this1312.Tag=Tag;_this1312.ElementType=ElementType;_this1312.PredefinedType=PredefinedType;_this1312.type=3946677679;return _this1312;}return _createClass(IfcInterceptorType);}(IfcFlowTreatmentDeviceType);IFC42.IfcInterceptorType=IfcInterceptorType;var IfcIntersectionCurve=/*#__PURE__*/function(_IfcSurfaceCurve){_inherits(IfcIntersectionCurve,_IfcSurfaceCurve);var _super1310=_createSuper(IfcIntersectionCurve);function IfcIntersectionCurve(expressID,Curve3D,AssociatedGeometry,MasterRepresentation){var _this1313;_classCallCheck(this,IfcIntersectionCurve);_this1313=_super1310.call(this,expressID,Curve3D,AssociatedGeometry,MasterRepresentation);_this1313.Curve3D=Curve3D;_this1313.AssociatedGeometry=AssociatedGeometry;_this1313.MasterRepresentation=MasterRepresentation;_this1313.type=3113134337;return _this1313;}return _createClass(IfcIntersectionCurve);}(IfcSurfaceCurve);IFC42.IfcIntersectionCurve=IfcIntersectionCurve;var IfcInventory=/*#__PURE__*/function(_IfcGroup8){_inherits(IfcInventory,_IfcGroup8);var _super1311=_createSuper(IfcInventory);function IfcInventory(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,PredefinedType,Jurisdiction,ResponsiblePersons,LastUpdateDate,CurrentValue,OriginalValue){var _this1314;_classCallCheck(this,IfcInventory);_this1314=_super1311.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType);_this1314.GlobalId=GlobalId;_this1314.OwnerHistory=OwnerHistory;_this1314.Name=Name;_this1314.Description=Description;_this1314.ObjectType=ObjectType;_this1314.PredefinedType=PredefinedType;_this1314.Jurisdiction=Jurisdiction;_this1314.ResponsiblePersons=ResponsiblePersons;_this1314.LastUpdateDate=LastUpdateDate;_this1314.CurrentValue=CurrentValue;_this1314.OriginalValue=OriginalValue;_this1314.type=2391368822;return _this1314;}return _createClass(IfcInventory);}(IfcGroup);IFC42.IfcInventory=IfcInventory;var IfcJunctionBoxType=/*#__PURE__*/function(_IfcFlowFittingType5){_inherits(IfcJunctionBoxType,_IfcFlowFittingType5);var _super1312=_createSuper(IfcJunctionBoxType);function IfcJunctionBoxType(expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType,PredefinedType){var _this1315;_classCallCheck(this,IfcJunctionBoxType);_this1315=_super1312.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType);_this1315.GlobalId=GlobalId;_this1315.OwnerHistory=OwnerHistory;_this1315.Name=Name;_this1315.Description=Description;_this1315.ApplicableOccurrence=ApplicableOccurrence;_this1315.HasPropertySets=HasPropertySets;_this1315.RepresentationMaps=RepresentationMaps;_this1315.Tag=Tag;_this1315.ElementType=ElementType;_this1315.PredefinedType=PredefinedType;_this1315.type=4288270099;return _this1315;}return _createClass(IfcJunctionBoxType);}(IfcFlowFittingType);IFC42.IfcJunctionBoxType=IfcJunctionBoxType;var IfcLaborResource=/*#__PURE__*/function(_IfcConstructionResou14){_inherits(IfcLaborResource,_IfcConstructionResou14);var _super1313=_createSuper(IfcLaborResource);function IfcLaborResource(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,Identification,LongDescription,Usage,BaseCosts,BaseQuantity,PredefinedType){var _this1316;_classCallCheck(this,IfcLaborResource);_this1316=_super1313.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,Identification,LongDescription,Usage,BaseCosts,BaseQuantity);_this1316.GlobalId=GlobalId;_this1316.OwnerHistory=OwnerHistory;_this1316.Name=Name;_this1316.Description=Description;_this1316.ObjectType=ObjectType;_this1316.Identification=Identification;_this1316.LongDescription=LongDescription;_this1316.Usage=Usage;_this1316.BaseCosts=BaseCosts;_this1316.BaseQuantity=BaseQuantity;_this1316.PredefinedType=PredefinedType;_this1316.type=3827777499;return _this1316;}return _createClass(IfcLaborResource);}(IfcConstructionResource);IFC42.IfcLaborResource=IfcLaborResource;var IfcLampType=/*#__PURE__*/function(_IfcFlowTerminalType12){_inherits(IfcLampType,_IfcFlowTerminalType12);var _super1314=_createSuper(IfcLampType);function IfcLampType(expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType,PredefinedType){var _this1317;_classCallCheck(this,IfcLampType);_this1317=_super1314.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType);_this1317.GlobalId=GlobalId;_this1317.OwnerHistory=OwnerHistory;_this1317.Name=Name;_this1317.Description=Description;_this1317.ApplicableOccurrence=ApplicableOccurrence;_this1317.HasPropertySets=HasPropertySets;_this1317.RepresentationMaps=RepresentationMaps;_this1317.Tag=Tag;_this1317.ElementType=ElementType;_this1317.PredefinedType=PredefinedType;_this1317.type=1051575348;return _this1317;}return _createClass(IfcLampType);}(IfcFlowTerminalType);IFC42.IfcLampType=IfcLampType;var IfcLightFixtureType=/*#__PURE__*/function(_IfcFlowTerminalType13){_inherits(IfcLightFixtureType,_IfcFlowTerminalType13);var _super1315=_createSuper(IfcLightFixtureType);function IfcLightFixtureType(expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType,PredefinedType){var _this1318;_classCallCheck(this,IfcLightFixtureType);_this1318=_super1315.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType);_this1318.GlobalId=GlobalId;_this1318.OwnerHistory=OwnerHistory;_this1318.Name=Name;_this1318.Description=Description;_this1318.ApplicableOccurrence=ApplicableOccurrence;_this1318.HasPropertySets=HasPropertySets;_this1318.RepresentationMaps=RepresentationMaps;_this1318.Tag=Tag;_this1318.ElementType=ElementType;_this1318.PredefinedType=PredefinedType;_this1318.type=1161773419;return _this1318;}return _createClass(IfcLightFixtureType);}(IfcFlowTerminalType);IFC42.IfcLightFixtureType=IfcLightFixtureType;var IfcMechanicalFastener=/*#__PURE__*/function(_IfcElementComponent4){_inherits(IfcMechanicalFastener,_IfcElementComponent4);var _super1316=_createSuper(IfcMechanicalFastener);function IfcMechanicalFastener(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag,NominalDiameter,NominalLength,PredefinedType){var _this1319;_classCallCheck(this,IfcMechanicalFastener);_this1319=_super1316.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag);_this1319.GlobalId=GlobalId;_this1319.OwnerHistory=OwnerHistory;_this1319.Name=Name;_this1319.Description=Description;_this1319.ObjectType=ObjectType;_this1319.ObjectPlacement=ObjectPlacement;_this1319.Representation=Representation;_this1319.Tag=Tag;_this1319.NominalDiameter=NominalDiameter;_this1319.NominalLength=NominalLength;_this1319.PredefinedType=PredefinedType;_this1319.type=377706215;return _this1319;}return _createClass(IfcMechanicalFastener);}(IfcElementComponent);IFC42.IfcMechanicalFastener=IfcMechanicalFastener;var IfcMechanicalFastenerType=/*#__PURE__*/function(_IfcElementComponentT4){_inherits(IfcMechanicalFastenerType,_IfcElementComponentT4);var _super1317=_createSuper(IfcMechanicalFastenerType);function IfcMechanicalFastenerType(expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType,PredefinedType,NominalDiameter,NominalLength){var _this1320;_classCallCheck(this,IfcMechanicalFastenerType);_this1320=_super1317.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType);_this1320.GlobalId=GlobalId;_this1320.OwnerHistory=OwnerHistory;_this1320.Name=Name;_this1320.Description=Description;_this1320.ApplicableOccurrence=ApplicableOccurrence;_this1320.HasPropertySets=HasPropertySets;_this1320.RepresentationMaps=RepresentationMaps;_this1320.Tag=Tag;_this1320.ElementType=ElementType;_this1320.PredefinedType=PredefinedType;_this1320.NominalDiameter=NominalDiameter;_this1320.NominalLength=NominalLength;_this1320.type=2108223431;return _this1320;}return _createClass(IfcMechanicalFastenerType);}(IfcElementComponentType);IFC42.IfcMechanicalFastenerType=IfcMechanicalFastenerType;var IfcMedicalDeviceType=/*#__PURE__*/function(_IfcFlowTerminalType14){_inherits(IfcMedicalDeviceType,_IfcFlowTerminalType14);var _super1318=_createSuper(IfcMedicalDeviceType);function IfcMedicalDeviceType(expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType,PredefinedType){var _this1321;_classCallCheck(this,IfcMedicalDeviceType);_this1321=_super1318.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType);_this1321.GlobalId=GlobalId;_this1321.OwnerHistory=OwnerHistory;_this1321.Name=Name;_this1321.Description=Description;_this1321.ApplicableOccurrence=ApplicableOccurrence;_this1321.HasPropertySets=HasPropertySets;_this1321.RepresentationMaps=RepresentationMaps;_this1321.Tag=Tag;_this1321.ElementType=ElementType;_this1321.PredefinedType=PredefinedType;_this1321.type=1114901282;return _this1321;}return _createClass(IfcMedicalDeviceType);}(IfcFlowTerminalType);IFC42.IfcMedicalDeviceType=IfcMedicalDeviceType;var IfcMemberType=/*#__PURE__*/function(_IfcBuildingElementTy19){_inherits(IfcMemberType,_IfcBuildingElementTy19);var _super1319=_createSuper(IfcMemberType);function IfcMemberType(expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType,PredefinedType){var _this1322;_classCallCheck(this,IfcMemberType);_this1322=_super1319.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType);_this1322.GlobalId=GlobalId;_this1322.OwnerHistory=OwnerHistory;_this1322.Name=Name;_this1322.Description=Description;_this1322.ApplicableOccurrence=ApplicableOccurrence;_this1322.HasPropertySets=HasPropertySets;_this1322.RepresentationMaps=RepresentationMaps;_this1322.Tag=Tag;_this1322.ElementType=ElementType;_this1322.PredefinedType=PredefinedType;_this1322.type=3181161470;return _this1322;}return _createClass(IfcMemberType);}(IfcBuildingElementType);IFC42.IfcMemberType=IfcMemberType;var IfcMotorConnectionType=/*#__PURE__*/function(_IfcEnergyConversionD24){_inherits(IfcMotorConnectionType,_IfcEnergyConversionD24);var _super1320=_createSuper(IfcMotorConnectionType);function IfcMotorConnectionType(expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType,PredefinedType){var _this1323;_classCallCheck(this,IfcMotorConnectionType);_this1323=_super1320.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType);_this1323.GlobalId=GlobalId;_this1323.OwnerHistory=OwnerHistory;_this1323.Name=Name;_this1323.Description=Description;_this1323.ApplicableOccurrence=ApplicableOccurrence;_this1323.HasPropertySets=HasPropertySets;_this1323.RepresentationMaps=RepresentationMaps;_this1323.Tag=Tag;_this1323.ElementType=ElementType;_this1323.PredefinedType=PredefinedType;_this1323.type=977012517;return _this1323;}return _createClass(IfcMotorConnectionType);}(IfcEnergyConversionDeviceType);IFC42.IfcMotorConnectionType=IfcMotorConnectionType;var IfcOccupant=/*#__PURE__*/function(_IfcActor2){_inherits(IfcOccupant,_IfcActor2);var _super1321=_createSuper(IfcOccupant);function IfcOccupant(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,TheActor,PredefinedType){var _this1324;_classCallCheck(this,IfcOccupant);_this1324=_super1321.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,TheActor);_this1324.GlobalId=GlobalId;_this1324.OwnerHistory=OwnerHistory;_this1324.Name=Name;_this1324.Description=Description;_this1324.ObjectType=ObjectType;_this1324.TheActor=TheActor;_this1324.PredefinedType=PredefinedType;_this1324.type=4143007308;return _this1324;}return _createClass(IfcOccupant);}(IfcActor);IFC42.IfcOccupant=IfcOccupant;var IfcOpeningElement=/*#__PURE__*/function(_IfcFeatureElementSub3){_inherits(IfcOpeningElement,_IfcFeatureElementSub3);var _super1322=_createSuper(IfcOpeningElement);function IfcOpeningElement(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag,PredefinedType){var _this1325;_classCallCheck(this,IfcOpeningElement);_this1325=_super1322.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag);_this1325.GlobalId=GlobalId;_this1325.OwnerHistory=OwnerHistory;_this1325.Name=Name;_this1325.Description=Description;_this1325.ObjectType=ObjectType;_this1325.ObjectPlacement=ObjectPlacement;_this1325.Representation=Representation;_this1325.Tag=Tag;_this1325.PredefinedType=PredefinedType;_this1325.type=3588315303;return _this1325;}return _createClass(IfcOpeningElement);}(IfcFeatureElementSubtraction);IFC42.IfcOpeningElement=IfcOpeningElement;var IfcOpeningStandardCase=/*#__PURE__*/function(_IfcOpeningElement){_inherits(IfcOpeningStandardCase,_IfcOpeningElement);var _super1323=_createSuper(IfcOpeningStandardCase);function IfcOpeningStandardCase(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag,PredefinedType){var _this1326;_classCallCheck(this,IfcOpeningStandardCase);_this1326=_super1323.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag,PredefinedType);_this1326.GlobalId=GlobalId;_this1326.OwnerHistory=OwnerHistory;_this1326.Name=Name;_this1326.Description=Description;_this1326.ObjectType=ObjectType;_this1326.ObjectPlacement=ObjectPlacement;_this1326.Representation=Representation;_this1326.Tag=Tag;_this1326.PredefinedType=PredefinedType;_this1326.type=3079942009;return _this1326;}return _createClass(IfcOpeningStandardCase);}(IfcOpeningElement);IFC42.IfcOpeningStandardCase=IfcOpeningStandardCase;var IfcOutletType=/*#__PURE__*/function(_IfcFlowTerminalType15){_inherits(IfcOutletType,_IfcFlowTerminalType15);var _super1324=_createSuper(IfcOutletType);function IfcOutletType(expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType,PredefinedType){var _this1327;_classCallCheck(this,IfcOutletType);_this1327=_super1324.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType);_this1327.GlobalId=GlobalId;_this1327.OwnerHistory=OwnerHistory;_this1327.Name=Name;_this1327.Description=Description;_this1327.ApplicableOccurrence=ApplicableOccurrence;_this1327.HasPropertySets=HasPropertySets;_this1327.RepresentationMaps=RepresentationMaps;_this1327.Tag=Tag;_this1327.ElementType=ElementType;_this1327.PredefinedType=PredefinedType;_this1327.type=2837617999;return _this1327;}return _createClass(IfcOutletType);}(IfcFlowTerminalType);IFC42.IfcOutletType=IfcOutletType;var IfcPerformanceHistory=/*#__PURE__*/function(_IfcControl18){_inherits(IfcPerformanceHistory,_IfcControl18);var _super1325=_createSuper(IfcPerformanceHistory);function IfcPerformanceHistory(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,Identification,LifeCyclePhase,PredefinedType){var _this1328;_classCallCheck(this,IfcPerformanceHistory);_this1328=_super1325.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,Identification);_this1328.GlobalId=GlobalId;_this1328.OwnerHistory=OwnerHistory;_this1328.Name=Name;_this1328.Description=Description;_this1328.ObjectType=ObjectType;_this1328.Identification=Identification;_this1328.LifeCyclePhase=LifeCyclePhase;_this1328.PredefinedType=PredefinedType;_this1328.type=2382730787;return _this1328;}return _createClass(IfcPerformanceHistory);}(IfcControl);IFC42.IfcPerformanceHistory=IfcPerformanceHistory;var IfcPermeableCoveringProperties=/*#__PURE__*/function(_IfcPreDefinedPropert9){_inherits(IfcPermeableCoveringProperties,_IfcPreDefinedPropert9);var _super1326=_createSuper(IfcPermeableCoveringProperties);function IfcPermeableCoveringProperties(expressID,GlobalId,OwnerHistory,Name,Description,OperationType,PanelPosition,FrameDepth,FrameThickness,ShapeAspectStyle){var _this1329;_classCallCheck(this,IfcPermeableCoveringProperties);_this1329=_super1326.call(this,expressID,GlobalId,OwnerHistory,Name,Description);_this1329.GlobalId=GlobalId;_this1329.OwnerHistory=OwnerHistory;_this1329.Name=Name;_this1329.Description=Description;_this1329.OperationType=OperationType;_this1329.PanelPosition=PanelPosition;_this1329.FrameDepth=FrameDepth;_this1329.FrameThickness=FrameThickness;_this1329.ShapeAspectStyle=ShapeAspectStyle;_this1329.type=3566463478;return _this1329;}return _createClass(IfcPermeableCoveringProperties);}(IfcPreDefinedPropertySet);IFC42.IfcPermeableCoveringProperties=IfcPermeableCoveringProperties;var IfcPermit=/*#__PURE__*/function(_IfcControl19){_inherits(IfcPermit,_IfcControl19);var _super1327=_createSuper(IfcPermit);function IfcPermit(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,Identification,PredefinedType,Status,LongDescription){var _this1330;_classCallCheck(this,IfcPermit);_this1330=_super1327.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,Identification);_this1330.GlobalId=GlobalId;_this1330.OwnerHistory=OwnerHistory;_this1330.Name=Name;_this1330.Description=Description;_this1330.ObjectType=ObjectType;_this1330.Identification=Identification;_this1330.PredefinedType=PredefinedType;_this1330.Status=Status;_this1330.LongDescription=LongDescription;_this1330.type=3327091369;return _this1330;}return _createClass(IfcPermit);}(IfcControl);IFC42.IfcPermit=IfcPermit;var IfcPileType=/*#__PURE__*/function(_IfcBuildingElementTy20){_inherits(IfcPileType,_IfcBuildingElementTy20);var _super1328=_createSuper(IfcPileType);function IfcPileType(expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType,PredefinedType){var _this1331;_classCallCheck(this,IfcPileType);_this1331=_super1328.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType);_this1331.GlobalId=GlobalId;_this1331.OwnerHistory=OwnerHistory;_this1331.Name=Name;_this1331.Description=Description;_this1331.ApplicableOccurrence=ApplicableOccurrence;_this1331.HasPropertySets=HasPropertySets;_this1331.RepresentationMaps=RepresentationMaps;_this1331.Tag=Tag;_this1331.ElementType=ElementType;_this1331.PredefinedType=PredefinedType;_this1331.type=1158309216;return _this1331;}return _createClass(IfcPileType);}(IfcBuildingElementType);IFC42.IfcPileType=IfcPileType;var IfcPipeFittingType=/*#__PURE__*/function(_IfcFlowFittingType6){_inherits(IfcPipeFittingType,_IfcFlowFittingType6);var _super1329=_createSuper(IfcPipeFittingType);function IfcPipeFittingType(expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType,PredefinedType){var _this1332;_classCallCheck(this,IfcPipeFittingType);_this1332=_super1329.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType);_this1332.GlobalId=GlobalId;_this1332.OwnerHistory=OwnerHistory;_this1332.Name=Name;_this1332.Description=Description;_this1332.ApplicableOccurrence=ApplicableOccurrence;_this1332.HasPropertySets=HasPropertySets;_this1332.RepresentationMaps=RepresentationMaps;_this1332.Tag=Tag;_this1332.ElementType=ElementType;_this1332.PredefinedType=PredefinedType;_this1332.type=804291784;return _this1332;}return _createClass(IfcPipeFittingType);}(IfcFlowFittingType);IFC42.IfcPipeFittingType=IfcPipeFittingType;var IfcPipeSegmentType=/*#__PURE__*/function(_IfcFlowSegmentType5){_inherits(IfcPipeSegmentType,_IfcFlowSegmentType5);var _super1330=_createSuper(IfcPipeSegmentType);function IfcPipeSegmentType(expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType,PredefinedType){var _this1333;_classCallCheck(this,IfcPipeSegmentType);_this1333=_super1330.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType);_this1333.GlobalId=GlobalId;_this1333.OwnerHistory=OwnerHistory;_this1333.Name=Name;_this1333.Description=Description;_this1333.ApplicableOccurrence=ApplicableOccurrence;_this1333.HasPropertySets=HasPropertySets;_this1333.RepresentationMaps=RepresentationMaps;_this1333.Tag=Tag;_this1333.ElementType=ElementType;_this1333.PredefinedType=PredefinedType;_this1333.type=4231323485;return _this1333;}return _createClass(IfcPipeSegmentType);}(IfcFlowSegmentType);IFC42.IfcPipeSegmentType=IfcPipeSegmentType;var IfcPlateType=/*#__PURE__*/function(_IfcBuildingElementTy21){_inherits(IfcPlateType,_IfcBuildingElementTy21);var _super1331=_createSuper(IfcPlateType);function IfcPlateType(expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType,PredefinedType){var _this1334;_classCallCheck(this,IfcPlateType);_this1334=_super1331.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType);_this1334.GlobalId=GlobalId;_this1334.OwnerHistory=OwnerHistory;_this1334.Name=Name;_this1334.Description=Description;_this1334.ApplicableOccurrence=ApplicableOccurrence;_this1334.HasPropertySets=HasPropertySets;_this1334.RepresentationMaps=RepresentationMaps;_this1334.Tag=Tag;_this1334.ElementType=ElementType;_this1334.PredefinedType=PredefinedType;_this1334.type=4017108033;return _this1334;}return _createClass(IfcPlateType);}(IfcBuildingElementType);IFC42.IfcPlateType=IfcPlateType;var IfcPolygonalFaceSet=/*#__PURE__*/function(_IfcTessellatedFaceSe2){_inherits(IfcPolygonalFaceSet,_IfcTessellatedFaceSe2);var _super1332=_createSuper(IfcPolygonalFaceSet);function IfcPolygonalFaceSet(expressID,Coordinates,Closed,Faces,PnIndex){var _this1335;_classCallCheck(this,IfcPolygonalFaceSet);_this1335=_super1332.call(this,expressID,Coordinates);_this1335.Coordinates=Coordinates;_this1335.Closed=Closed;_this1335.Faces=Faces;_this1335.PnIndex=PnIndex;_this1335.type=2839578677;return _this1335;}return _createClass(IfcPolygonalFaceSet);}(IfcTessellatedFaceSet);IFC42.IfcPolygonalFaceSet=IfcPolygonalFaceSet;var IfcPolyline=/*#__PURE__*/function(_IfcBoundedCurve7){_inherits(IfcPolyline,_IfcBoundedCurve7);var _super1333=_createSuper(IfcPolyline);function IfcPolyline(expressID,Points){var _this1336;_classCallCheck(this,IfcPolyline);_this1336=_super1333.call(this,expressID);_this1336.Points=Points;_this1336.type=3724593414;return _this1336;}return _createClass(IfcPolyline);}(IfcBoundedCurve);IFC42.IfcPolyline=IfcPolyline;var IfcPort=/*#__PURE__*/function(_IfcProduct16){_inherits(IfcPort,_IfcProduct16);var _super1334=_createSuper(IfcPort);function IfcPort(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation){var _this1337;_classCallCheck(this,IfcPort);_this1337=_super1334.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation);_this1337.GlobalId=GlobalId;_this1337.OwnerHistory=OwnerHistory;_this1337.Name=Name;_this1337.Description=Description;_this1337.ObjectType=ObjectType;_this1337.ObjectPlacement=ObjectPlacement;_this1337.Representation=Representation;_this1337.type=3740093272;return _this1337;}return _createClass(IfcPort);}(IfcProduct);IFC42.IfcPort=IfcPort;var IfcProcedure=/*#__PURE__*/function(_IfcProcess5){_inherits(IfcProcedure,_IfcProcess5);var _super1335=_createSuper(IfcProcedure);function IfcProcedure(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,Identification,LongDescription,PredefinedType){var _this1338;_classCallCheck(this,IfcProcedure);_this1338=_super1335.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,Identification,LongDescription);_this1338.GlobalId=GlobalId;_this1338.OwnerHistory=OwnerHistory;_this1338.Name=Name;_this1338.Description=Description;_this1338.ObjectType=ObjectType;_this1338.Identification=Identification;_this1338.LongDescription=LongDescription;_this1338.PredefinedType=PredefinedType;_this1338.type=2744685151;return _this1338;}return _createClass(IfcProcedure);}(IfcProcess);IFC42.IfcProcedure=IfcProcedure;var IfcProjectOrder=/*#__PURE__*/function(_IfcControl20){_inherits(IfcProjectOrder,_IfcControl20);var _super1336=_createSuper(IfcProjectOrder);function IfcProjectOrder(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,Identification,PredefinedType,Status,LongDescription){var _this1339;_classCallCheck(this,IfcProjectOrder);_this1339=_super1336.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,Identification);_this1339.GlobalId=GlobalId;_this1339.OwnerHistory=OwnerHistory;_this1339.Name=Name;_this1339.Description=Description;_this1339.ObjectType=ObjectType;_this1339.Identification=Identification;_this1339.PredefinedType=PredefinedType;_this1339.Status=Status;_this1339.LongDescription=LongDescription;_this1339.type=2904328755;return _this1339;}return _createClass(IfcProjectOrder);}(IfcControl);IFC42.IfcProjectOrder=IfcProjectOrder;var IfcProjectionElement=/*#__PURE__*/function(_IfcFeatureElementAdd2){_inherits(IfcProjectionElement,_IfcFeatureElementAdd2);var _super1337=_createSuper(IfcProjectionElement);function IfcProjectionElement(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag,PredefinedType){var _this1340;_classCallCheck(this,IfcProjectionElement);_this1340=_super1337.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag);_this1340.GlobalId=GlobalId;_this1340.OwnerHistory=OwnerHistory;_this1340.Name=Name;_this1340.Description=Description;_this1340.ObjectType=ObjectType;_this1340.ObjectPlacement=ObjectPlacement;_this1340.Representation=Representation;_this1340.Tag=Tag;_this1340.PredefinedType=PredefinedType;_this1340.type=3651124850;return _this1340;}return _createClass(IfcProjectionElement);}(IfcFeatureElementAddition);IFC42.IfcProjectionElement=IfcProjectionElement;var IfcProtectiveDeviceType=/*#__PURE__*/function(_IfcFlowControllerTyp9){_inherits(IfcProtectiveDeviceType,_IfcFlowControllerTyp9);var _super1338=_createSuper(IfcProtectiveDeviceType);function IfcProtectiveDeviceType(expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType,PredefinedType){var _this1341;_classCallCheck(this,IfcProtectiveDeviceType);_this1341=_super1338.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType);_this1341.GlobalId=GlobalId;_this1341.OwnerHistory=OwnerHistory;_this1341.Name=Name;_this1341.Description=Description;_this1341.ApplicableOccurrence=ApplicableOccurrence;_this1341.HasPropertySets=HasPropertySets;_this1341.RepresentationMaps=RepresentationMaps;_this1341.Tag=Tag;_this1341.ElementType=ElementType;_this1341.PredefinedType=PredefinedType;_this1341.type=1842657554;return _this1341;}return _createClass(IfcProtectiveDeviceType);}(IfcFlowControllerType);IFC42.IfcProtectiveDeviceType=IfcProtectiveDeviceType;var IfcPumpType=/*#__PURE__*/function(_IfcFlowMovingDeviceT4){_inherits(IfcPumpType,_IfcFlowMovingDeviceT4);var _super1339=_createSuper(IfcPumpType);function IfcPumpType(expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType,PredefinedType){var _this1342;_classCallCheck(this,IfcPumpType);_this1342=_super1339.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType);_this1342.GlobalId=GlobalId;_this1342.OwnerHistory=OwnerHistory;_this1342.Name=Name;_this1342.Description=Description;_this1342.ApplicableOccurrence=ApplicableOccurrence;_this1342.HasPropertySets=HasPropertySets;_this1342.RepresentationMaps=RepresentationMaps;_this1342.Tag=Tag;_this1342.ElementType=ElementType;_this1342.PredefinedType=PredefinedType;_this1342.type=2250791053;return _this1342;}return _createClass(IfcPumpType);}(IfcFlowMovingDeviceType);IFC42.IfcPumpType=IfcPumpType;var IfcRailingType=/*#__PURE__*/function(_IfcBuildingElementTy22){_inherits(IfcRailingType,_IfcBuildingElementTy22);var _super1340=_createSuper(IfcRailingType);function IfcRailingType(expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType,PredefinedType){var _this1343;_classCallCheck(this,IfcRailingType);_this1343=_super1340.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType);_this1343.GlobalId=GlobalId;_this1343.OwnerHistory=OwnerHistory;_this1343.Name=Name;_this1343.Description=Description;_this1343.ApplicableOccurrence=ApplicableOccurrence;_this1343.HasPropertySets=HasPropertySets;_this1343.RepresentationMaps=RepresentationMaps;_this1343.Tag=Tag;_this1343.ElementType=ElementType;_this1343.PredefinedType=PredefinedType;_this1343.type=2893384427;return _this1343;}return _createClass(IfcRailingType);}(IfcBuildingElementType);IFC42.IfcRailingType=IfcRailingType;var IfcRampFlightType=/*#__PURE__*/function(_IfcBuildingElementTy23){_inherits(IfcRampFlightType,_IfcBuildingElementTy23);var _super1341=_createSuper(IfcRampFlightType);function IfcRampFlightType(expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType,PredefinedType){var _this1344;_classCallCheck(this,IfcRampFlightType);_this1344=_super1341.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType);_this1344.GlobalId=GlobalId;_this1344.OwnerHistory=OwnerHistory;_this1344.Name=Name;_this1344.Description=Description;_this1344.ApplicableOccurrence=ApplicableOccurrence;_this1344.HasPropertySets=HasPropertySets;_this1344.RepresentationMaps=RepresentationMaps;_this1344.Tag=Tag;_this1344.ElementType=ElementType;_this1344.PredefinedType=PredefinedType;_this1344.type=2324767716;return _this1344;}return _createClass(IfcRampFlightType);}(IfcBuildingElementType);IFC42.IfcRampFlightType=IfcRampFlightType;var IfcRampType=/*#__PURE__*/function(_IfcBuildingElementTy24){_inherits(IfcRampType,_IfcBuildingElementTy24);var _super1342=_createSuper(IfcRampType);function IfcRampType(expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType,PredefinedType){var _this1345;_classCallCheck(this,IfcRampType);_this1345=_super1342.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType);_this1345.GlobalId=GlobalId;_this1345.OwnerHistory=OwnerHistory;_this1345.Name=Name;_this1345.Description=Description;_this1345.ApplicableOccurrence=ApplicableOccurrence;_this1345.HasPropertySets=HasPropertySets;_this1345.RepresentationMaps=RepresentationMaps;_this1345.Tag=Tag;_this1345.ElementType=ElementType;_this1345.PredefinedType=PredefinedType;_this1345.type=1469900589;return _this1345;}return _createClass(IfcRampType);}(IfcBuildingElementType);IFC42.IfcRampType=IfcRampType;var IfcRationalBSplineSurfaceWithKnots=/*#__PURE__*/function(_IfcBSplineSurfaceWit){_inherits(IfcRationalBSplineSurfaceWithKnots,_IfcBSplineSurfaceWit);var _super1343=_createSuper(IfcRationalBSplineSurfaceWithKnots);function IfcRationalBSplineSurfaceWithKnots(expressID,UDegree,VDegree,ControlPointsList,SurfaceForm,UClosed,VClosed,SelfIntersect,UMultiplicities,VMultiplicities,UKnots,VKnots,KnotSpec,WeightsData){var _this1346;_classCallCheck(this,IfcRationalBSplineSurfaceWithKnots);_this1346=_super1343.call(this,expressID,UDegree,VDegree,ControlPointsList,SurfaceForm,UClosed,VClosed,SelfIntersect,UMultiplicities,VMultiplicities,UKnots,VKnots,KnotSpec);_this1346.UDegree=UDegree;_this1346.VDegree=VDegree;_this1346.ControlPointsList=ControlPointsList;_this1346.SurfaceForm=SurfaceForm;_this1346.UClosed=UClosed;_this1346.VClosed=VClosed;_this1346.SelfIntersect=SelfIntersect;_this1346.UMultiplicities=UMultiplicities;_this1346.VMultiplicities=VMultiplicities;_this1346.UKnots=UKnots;_this1346.VKnots=VKnots;_this1346.KnotSpec=KnotSpec;_this1346.WeightsData=WeightsData;_this1346.type=683857671;return _this1346;}return _createClass(IfcRationalBSplineSurfaceWithKnots);}(IfcBSplineSurfaceWithKnots);IFC42.IfcRationalBSplineSurfaceWithKnots=IfcRationalBSplineSurfaceWithKnots;var IfcReinforcingElement=/*#__PURE__*/function(_IfcElementComponent5){_inherits(IfcReinforcingElement,_IfcElementComponent5);var _super1344=_createSuper(IfcReinforcingElement);function IfcReinforcingElement(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag,SteelGrade){var _this1347;_classCallCheck(this,IfcReinforcingElement);_this1347=_super1344.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag);_this1347.GlobalId=GlobalId;_this1347.OwnerHistory=OwnerHistory;_this1347.Name=Name;_this1347.Description=Description;_this1347.ObjectType=ObjectType;_this1347.ObjectPlacement=ObjectPlacement;_this1347.Representation=Representation;_this1347.Tag=Tag;_this1347.SteelGrade=SteelGrade;_this1347.type=3027567501;return _this1347;}return _createClass(IfcReinforcingElement);}(IfcElementComponent);IFC42.IfcReinforcingElement=IfcReinforcingElement;var IfcReinforcingElementType=/*#__PURE__*/function(_IfcElementComponentT5){_inherits(IfcReinforcingElementType,_IfcElementComponentT5);var _super1345=_createSuper(IfcReinforcingElementType);function IfcReinforcingElementType(expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType){var _this1348;_classCallCheck(this,IfcReinforcingElementType);_this1348=_super1345.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType);_this1348.GlobalId=GlobalId;_this1348.OwnerHistory=OwnerHistory;_this1348.Name=Name;_this1348.Description=Description;_this1348.ApplicableOccurrence=ApplicableOccurrence;_this1348.HasPropertySets=HasPropertySets;_this1348.RepresentationMaps=RepresentationMaps;_this1348.Tag=Tag;_this1348.ElementType=ElementType;_this1348.type=964333572;return _this1348;}return _createClass(IfcReinforcingElementType);}(IfcElementComponentType);IFC42.IfcReinforcingElementType=IfcReinforcingElementType;var IfcReinforcingMesh=/*#__PURE__*/function(_IfcReinforcingElemen5){_inherits(IfcReinforcingMesh,_IfcReinforcingElemen5);var _super1346=_createSuper(IfcReinforcingMesh);function IfcReinforcingMesh(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag,SteelGrade,MeshLength,MeshWidth,LongitudinalBarNominalDiameter,TransverseBarNominalDiameter,LongitudinalBarCrossSectionArea,TransverseBarCrossSectionArea,LongitudinalBarSpacing,TransverseBarSpacing,PredefinedType){var _this1349;_classCallCheck(this,IfcReinforcingMesh);_this1349=_super1346.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag,SteelGrade);_this1349.GlobalId=GlobalId;_this1349.OwnerHistory=OwnerHistory;_this1349.Name=Name;_this1349.Description=Description;_this1349.ObjectType=ObjectType;_this1349.ObjectPlacement=ObjectPlacement;_this1349.Representation=Representation;_this1349.Tag=Tag;_this1349.SteelGrade=SteelGrade;_this1349.MeshLength=MeshLength;_this1349.MeshWidth=MeshWidth;_this1349.LongitudinalBarNominalDiameter=LongitudinalBarNominalDiameter;_this1349.TransverseBarNominalDiameter=TransverseBarNominalDiameter;_this1349.LongitudinalBarCrossSectionArea=LongitudinalBarCrossSectionArea;_this1349.TransverseBarCrossSectionArea=TransverseBarCrossSectionArea;_this1349.LongitudinalBarSpacing=LongitudinalBarSpacing;_this1349.TransverseBarSpacing=TransverseBarSpacing;_this1349.PredefinedType=PredefinedType;_this1349.type=2320036040;return _this1349;}return _createClass(IfcReinforcingMesh);}(IfcReinforcingElement);IFC42.IfcReinforcingMesh=IfcReinforcingMesh;var IfcReinforcingMeshType=/*#__PURE__*/function(_IfcReinforcingElemen6){_inherits(IfcReinforcingMeshType,_IfcReinforcingElemen6);var _super1347=_createSuper(IfcReinforcingMeshType);function IfcReinforcingMeshType(expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType,PredefinedType,MeshLength,MeshWidth,LongitudinalBarNominalDiameter,TransverseBarNominalDiameter,LongitudinalBarCrossSectionArea,TransverseBarCrossSectionArea,LongitudinalBarSpacing,TransverseBarSpacing,BendingShapeCode,BendingParameters){var _this1350;_classCallCheck(this,IfcReinforcingMeshType);_this1350=_super1347.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType);_this1350.GlobalId=GlobalId;_this1350.OwnerHistory=OwnerHistory;_this1350.Name=Name;_this1350.Description=Description;_this1350.ApplicableOccurrence=ApplicableOccurrence;_this1350.HasPropertySets=HasPropertySets;_this1350.RepresentationMaps=RepresentationMaps;_this1350.Tag=Tag;_this1350.ElementType=ElementType;_this1350.PredefinedType=PredefinedType;_this1350.MeshLength=MeshLength;_this1350.MeshWidth=MeshWidth;_this1350.LongitudinalBarNominalDiameter=LongitudinalBarNominalDiameter;_this1350.TransverseBarNominalDiameter=TransverseBarNominalDiameter;_this1350.LongitudinalBarCrossSectionArea=LongitudinalBarCrossSectionArea;_this1350.TransverseBarCrossSectionArea=TransverseBarCrossSectionArea;_this1350.LongitudinalBarSpacing=LongitudinalBarSpacing;_this1350.TransverseBarSpacing=TransverseBarSpacing;_this1350.BendingShapeCode=BendingShapeCode;_this1350.BendingParameters=BendingParameters;_this1350.type=2310774935;return _this1350;}return _createClass(IfcReinforcingMeshType);}(IfcReinforcingElementType);IFC42.IfcReinforcingMeshType=IfcReinforcingMeshType;var IfcRelAggregates=/*#__PURE__*/function(_IfcRelDecomposes6){_inherits(IfcRelAggregates,_IfcRelDecomposes6);var _super1348=_createSuper(IfcRelAggregates);function IfcRelAggregates(expressID,GlobalId,OwnerHistory,Name,Description,RelatingObject,RelatedObjects){var _this1351;_classCallCheck(this,IfcRelAggregates);_this1351=_super1348.call(this,expressID,GlobalId,OwnerHistory,Name,Description);_this1351.GlobalId=GlobalId;_this1351.OwnerHistory=OwnerHistory;_this1351.Name=Name;_this1351.Description=Description;_this1351.RelatingObject=RelatingObject;_this1351.RelatedObjects=RelatedObjects;_this1351.type=160246688;return _this1351;}return _createClass(IfcRelAggregates);}(IfcRelDecomposes);IFC42.IfcRelAggregates=IfcRelAggregates;var IfcRoofType=/*#__PURE__*/function(_IfcBuildingElementTy25){_inherits(IfcRoofType,_IfcBuildingElementTy25);var _super1349=_createSuper(IfcRoofType);function IfcRoofType(expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType,PredefinedType){var _this1352;_classCallCheck(this,IfcRoofType);_this1352=_super1349.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType);_this1352.GlobalId=GlobalId;_this1352.OwnerHistory=OwnerHistory;_this1352.Name=Name;_this1352.Description=Description;_this1352.ApplicableOccurrence=ApplicableOccurrence;_this1352.HasPropertySets=HasPropertySets;_this1352.RepresentationMaps=RepresentationMaps;_this1352.Tag=Tag;_this1352.ElementType=ElementType;_this1352.PredefinedType=PredefinedType;_this1352.type=2781568857;return _this1352;}return _createClass(IfcRoofType);}(IfcBuildingElementType);IFC42.IfcRoofType=IfcRoofType;var IfcSanitaryTerminalType=/*#__PURE__*/function(_IfcFlowTerminalType16){_inherits(IfcSanitaryTerminalType,_IfcFlowTerminalType16);var _super1350=_createSuper(IfcSanitaryTerminalType);function IfcSanitaryTerminalType(expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType,PredefinedType){var _this1353;_classCallCheck(this,IfcSanitaryTerminalType);_this1353=_super1350.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType);_this1353.GlobalId=GlobalId;_this1353.OwnerHistory=OwnerHistory;_this1353.Name=Name;_this1353.Description=Description;_this1353.ApplicableOccurrence=ApplicableOccurrence;_this1353.HasPropertySets=HasPropertySets;_this1353.RepresentationMaps=RepresentationMaps;_this1353.Tag=Tag;_this1353.ElementType=ElementType;_this1353.PredefinedType=PredefinedType;_this1353.type=1768891740;return _this1353;}return _createClass(IfcSanitaryTerminalType);}(IfcFlowTerminalType);IFC42.IfcSanitaryTerminalType=IfcSanitaryTerminalType;var IfcSeamCurve=/*#__PURE__*/function(_IfcSurfaceCurve2){_inherits(IfcSeamCurve,_IfcSurfaceCurve2);var _super1351=_createSuper(IfcSeamCurve);function IfcSeamCurve(expressID,Curve3D,AssociatedGeometry,MasterRepresentation){var _this1354;_classCallCheck(this,IfcSeamCurve);_this1354=_super1351.call(this,expressID,Curve3D,AssociatedGeometry,MasterRepresentation);_this1354.Curve3D=Curve3D;_this1354.AssociatedGeometry=AssociatedGeometry;_this1354.MasterRepresentation=MasterRepresentation;_this1354.type=2157484638;return _this1354;}return _createClass(IfcSeamCurve);}(IfcSurfaceCurve);IFC42.IfcSeamCurve=IfcSeamCurve;var IfcShadingDeviceType=/*#__PURE__*/function(_IfcBuildingElementTy26){_inherits(IfcShadingDeviceType,_IfcBuildingElementTy26);var _super1352=_createSuper(IfcShadingDeviceType);function IfcShadingDeviceType(expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType,PredefinedType){var _this1355;_classCallCheck(this,IfcShadingDeviceType);_this1355=_super1352.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType);_this1355.GlobalId=GlobalId;_this1355.OwnerHistory=OwnerHistory;_this1355.Name=Name;_this1355.Description=Description;_this1355.ApplicableOccurrence=ApplicableOccurrence;_this1355.HasPropertySets=HasPropertySets;_this1355.RepresentationMaps=RepresentationMaps;_this1355.Tag=Tag;_this1355.ElementType=ElementType;_this1355.PredefinedType=PredefinedType;_this1355.type=4074543187;return _this1355;}return _createClass(IfcShadingDeviceType);}(IfcBuildingElementType);IFC42.IfcShadingDeviceType=IfcShadingDeviceType;var IfcSite=/*#__PURE__*/function(_IfcSpatialStructureE8){_inherits(IfcSite,_IfcSpatialStructureE8);var _super1353=_createSuper(IfcSite);function IfcSite(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,LongName,CompositionType,RefLatitude,RefLongitude,RefElevation,LandTitleNumber,SiteAddress){var _this1356;_classCallCheck(this,IfcSite);_this1356=_super1353.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,LongName,CompositionType);_this1356.GlobalId=GlobalId;_this1356.OwnerHistory=OwnerHistory;_this1356.Name=Name;_this1356.Description=Description;_this1356.ObjectType=ObjectType;_this1356.ObjectPlacement=ObjectPlacement;_this1356.Representation=Representation;_this1356.LongName=LongName;_this1356.CompositionType=CompositionType;_this1356.RefLatitude=RefLatitude;_this1356.RefLongitude=RefLongitude;_this1356.RefElevation=RefElevation;_this1356.LandTitleNumber=LandTitleNumber;_this1356.SiteAddress=SiteAddress;_this1356.type=4097777520;return _this1356;}return _createClass(IfcSite);}(IfcSpatialStructureElement);IFC42.IfcSite=IfcSite;var IfcSlabType=/*#__PURE__*/function(_IfcBuildingElementTy27){_inherits(IfcSlabType,_IfcBuildingElementTy27);var _super1354=_createSuper(IfcSlabType);function IfcSlabType(expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType,PredefinedType){var _this1357;_classCallCheck(this,IfcSlabType);_this1357=_super1354.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType);_this1357.GlobalId=GlobalId;_this1357.OwnerHistory=OwnerHistory;_this1357.Name=Name;_this1357.Description=Description;_this1357.ApplicableOccurrence=ApplicableOccurrence;_this1357.HasPropertySets=HasPropertySets;_this1357.RepresentationMaps=RepresentationMaps;_this1357.Tag=Tag;_this1357.ElementType=ElementType;_this1357.PredefinedType=PredefinedType;_this1357.type=2533589738;return _this1357;}return _createClass(IfcSlabType);}(IfcBuildingElementType);IFC42.IfcSlabType=IfcSlabType;var IfcSolarDeviceType=/*#__PURE__*/function(_IfcEnergyConversionD25){_inherits(IfcSolarDeviceType,_IfcEnergyConversionD25);var _super1355=_createSuper(IfcSolarDeviceType);function IfcSolarDeviceType(expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType,PredefinedType){var _this1358;_classCallCheck(this,IfcSolarDeviceType);_this1358=_super1355.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType);_this1358.GlobalId=GlobalId;_this1358.OwnerHistory=OwnerHistory;_this1358.Name=Name;_this1358.Description=Description;_this1358.ApplicableOccurrence=ApplicableOccurrence;_this1358.HasPropertySets=HasPropertySets;_this1358.RepresentationMaps=RepresentationMaps;_this1358.Tag=Tag;_this1358.ElementType=ElementType;_this1358.PredefinedType=PredefinedType;_this1358.type=1072016465;return _this1358;}return _createClass(IfcSolarDeviceType);}(IfcEnergyConversionDeviceType);IFC42.IfcSolarDeviceType=IfcSolarDeviceType;var IfcSpace=/*#__PURE__*/function(_IfcSpatialStructureE9){_inherits(IfcSpace,_IfcSpatialStructureE9);var _super1356=_createSuper(IfcSpace);function IfcSpace(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,LongName,CompositionType,PredefinedType,ElevationWithFlooring){var _this1359;_classCallCheck(this,IfcSpace);_this1359=_super1356.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,LongName,CompositionType);_this1359.GlobalId=GlobalId;_this1359.OwnerHistory=OwnerHistory;_this1359.Name=Name;_this1359.Description=Description;_this1359.ObjectType=ObjectType;_this1359.ObjectPlacement=ObjectPlacement;_this1359.Representation=Representation;_this1359.LongName=LongName;_this1359.CompositionType=CompositionType;_this1359.PredefinedType=PredefinedType;_this1359.ElevationWithFlooring=ElevationWithFlooring;_this1359.type=3856911033;return _this1359;}return _createClass(IfcSpace);}(IfcSpatialStructureElement);IFC42.IfcSpace=IfcSpace;var IfcSpaceHeaterType=/*#__PURE__*/function(_IfcFlowTerminalType17){_inherits(IfcSpaceHeaterType,_IfcFlowTerminalType17);var _super1357=_createSuper(IfcSpaceHeaterType);function IfcSpaceHeaterType(expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType,PredefinedType){var _this1360;_classCallCheck(this,IfcSpaceHeaterType);_this1360=_super1357.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType);_this1360.GlobalId=GlobalId;_this1360.OwnerHistory=OwnerHistory;_this1360.Name=Name;_this1360.Description=Description;_this1360.ApplicableOccurrence=ApplicableOccurrence;_this1360.HasPropertySets=HasPropertySets;_this1360.RepresentationMaps=RepresentationMaps;_this1360.Tag=Tag;_this1360.ElementType=ElementType;_this1360.PredefinedType=PredefinedType;_this1360.type=1305183839;return _this1360;}return _createClass(IfcSpaceHeaterType);}(IfcFlowTerminalType);IFC42.IfcSpaceHeaterType=IfcSpaceHeaterType;var IfcSpaceType=/*#__PURE__*/function(_IfcSpatialStructureE10){_inherits(IfcSpaceType,_IfcSpatialStructureE10);var _super1358=_createSuper(IfcSpaceType);function IfcSpaceType(expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType,PredefinedType,LongName){var _this1361;_classCallCheck(this,IfcSpaceType);_this1361=_super1358.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType);_this1361.GlobalId=GlobalId;_this1361.OwnerHistory=OwnerHistory;_this1361.Name=Name;_this1361.Description=Description;_this1361.ApplicableOccurrence=ApplicableOccurrence;_this1361.HasPropertySets=HasPropertySets;_this1361.RepresentationMaps=RepresentationMaps;_this1361.Tag=Tag;_this1361.ElementType=ElementType;_this1361.PredefinedType=PredefinedType;_this1361.LongName=LongName;_this1361.type=3812236995;return _this1361;}return _createClass(IfcSpaceType);}(IfcSpatialStructureElementType);IFC42.IfcSpaceType=IfcSpaceType;var IfcStackTerminalType=/*#__PURE__*/function(_IfcFlowTerminalType18){_inherits(IfcStackTerminalType,_IfcFlowTerminalType18);var _super1359=_createSuper(IfcStackTerminalType);function IfcStackTerminalType(expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType,PredefinedType){var _this1362;_classCallCheck(this,IfcStackTerminalType);_this1362=_super1359.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType);_this1362.GlobalId=GlobalId;_this1362.OwnerHistory=OwnerHistory;_this1362.Name=Name;_this1362.Description=Description;_this1362.ApplicableOccurrence=ApplicableOccurrence;_this1362.HasPropertySets=HasPropertySets;_this1362.RepresentationMaps=RepresentationMaps;_this1362.Tag=Tag;_this1362.ElementType=ElementType;_this1362.PredefinedType=PredefinedType;_this1362.type=3112655638;return _this1362;}return _createClass(IfcStackTerminalType);}(IfcFlowTerminalType);IFC42.IfcStackTerminalType=IfcStackTerminalType;var IfcStairFlightType=/*#__PURE__*/function(_IfcBuildingElementTy28){_inherits(IfcStairFlightType,_IfcBuildingElementTy28);var _super1360=_createSuper(IfcStairFlightType);function IfcStairFlightType(expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType,PredefinedType){var _this1363;_classCallCheck(this,IfcStairFlightType);_this1363=_super1360.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType);_this1363.GlobalId=GlobalId;_this1363.OwnerHistory=OwnerHistory;_this1363.Name=Name;_this1363.Description=Description;_this1363.ApplicableOccurrence=ApplicableOccurrence;_this1363.HasPropertySets=HasPropertySets;_this1363.RepresentationMaps=RepresentationMaps;_this1363.Tag=Tag;_this1363.ElementType=ElementType;_this1363.PredefinedType=PredefinedType;_this1363.type=1039846685;return _this1363;}return _createClass(IfcStairFlightType);}(IfcBuildingElementType);IFC42.IfcStairFlightType=IfcStairFlightType;var IfcStairType=/*#__PURE__*/function(_IfcBuildingElementTy29){_inherits(IfcStairType,_IfcBuildingElementTy29);var _super1361=_createSuper(IfcStairType);function IfcStairType(expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType,PredefinedType){var _this1364;_classCallCheck(this,IfcStairType);_this1364=_super1361.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType);_this1364.GlobalId=GlobalId;_this1364.OwnerHistory=OwnerHistory;_this1364.Name=Name;_this1364.Description=Description;_this1364.ApplicableOccurrence=ApplicableOccurrence;_this1364.HasPropertySets=HasPropertySets;_this1364.RepresentationMaps=RepresentationMaps;_this1364.Tag=Tag;_this1364.ElementType=ElementType;_this1364.PredefinedType=PredefinedType;_this1364.type=338393293;return _this1364;}return _createClass(IfcStairType);}(IfcBuildingElementType);IFC42.IfcStairType=IfcStairType;var IfcStructuralAction=/*#__PURE__*/function(_IfcStructuralActivit4){_inherits(IfcStructuralAction,_IfcStructuralActivit4);var _super1362=_createSuper(IfcStructuralAction);function IfcStructuralAction(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,AppliedLoad,GlobalOrLocal,DestabilizingLoad){var _this1365;_classCallCheck(this,IfcStructuralAction);_this1365=_super1362.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,AppliedLoad,GlobalOrLocal);_this1365.GlobalId=GlobalId;_this1365.OwnerHistory=OwnerHistory;_this1365.Name=Name;_this1365.Description=Description;_this1365.ObjectType=ObjectType;_this1365.ObjectPlacement=ObjectPlacement;_this1365.Representation=Representation;_this1365.AppliedLoad=AppliedLoad;_this1365.GlobalOrLocal=GlobalOrLocal;_this1365.DestabilizingLoad=DestabilizingLoad;_this1365.type=682877961;return _this1365;}return _createClass(IfcStructuralAction);}(IfcStructuralActivity);IFC42.IfcStructuralAction=IfcStructuralAction;var IfcStructuralConnection=/*#__PURE__*/function(_IfcStructuralItem4){_inherits(IfcStructuralConnection,_IfcStructuralItem4);var _super1363=_createSuper(IfcStructuralConnection);function IfcStructuralConnection(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,AppliedCondition){var _this1366;_classCallCheck(this,IfcStructuralConnection);_this1366=_super1363.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation);_this1366.GlobalId=GlobalId;_this1366.OwnerHistory=OwnerHistory;_this1366.Name=Name;_this1366.Description=Description;_this1366.ObjectType=ObjectType;_this1366.ObjectPlacement=ObjectPlacement;_this1366.Representation=Representation;_this1366.AppliedCondition=AppliedCondition;_this1366.type=1179482911;return _this1366;}return _createClass(IfcStructuralConnection);}(IfcStructuralItem);IFC42.IfcStructuralConnection=IfcStructuralConnection;var IfcStructuralCurveAction=/*#__PURE__*/function(_IfcStructuralAction4){_inherits(IfcStructuralCurveAction,_IfcStructuralAction4);var _super1364=_createSuper(IfcStructuralCurveAction);function IfcStructuralCurveAction(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,AppliedLoad,GlobalOrLocal,DestabilizingLoad,ProjectedOrTrue,PredefinedType){var _this1367;_classCallCheck(this,IfcStructuralCurveAction);_this1367=_super1364.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,AppliedLoad,GlobalOrLocal,DestabilizingLoad);_this1367.GlobalId=GlobalId;_this1367.OwnerHistory=OwnerHistory;_this1367.Name=Name;_this1367.Description=Description;_this1367.ObjectType=ObjectType;_this1367.ObjectPlacement=ObjectPlacement;_this1367.Representation=Representation;_this1367.AppliedLoad=AppliedLoad;_this1367.GlobalOrLocal=GlobalOrLocal;_this1367.DestabilizingLoad=DestabilizingLoad;_this1367.ProjectedOrTrue=ProjectedOrTrue;_this1367.PredefinedType=PredefinedType;_this1367.type=1004757350;return _this1367;}return _createClass(IfcStructuralCurveAction);}(IfcStructuralAction);IFC42.IfcStructuralCurveAction=IfcStructuralCurveAction;var IfcStructuralCurveConnection=/*#__PURE__*/function(_IfcStructuralConnect8){_inherits(IfcStructuralCurveConnection,_IfcStructuralConnect8);var _super1365=_createSuper(IfcStructuralCurveConnection);function IfcStructuralCurveConnection(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,AppliedCondition,Axis){var _this1368;_classCallCheck(this,IfcStructuralCurveConnection);_this1368=_super1365.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,AppliedCondition);_this1368.GlobalId=GlobalId;_this1368.OwnerHistory=OwnerHistory;_this1368.Name=Name;_this1368.Description=Description;_this1368.ObjectType=ObjectType;_this1368.ObjectPlacement=ObjectPlacement;_this1368.Representation=Representation;_this1368.AppliedCondition=AppliedCondition;_this1368.Axis=Axis;_this1368.type=4243806635;return _this1368;}return _createClass(IfcStructuralCurveConnection);}(IfcStructuralConnection);IFC42.IfcStructuralCurveConnection=IfcStructuralCurveConnection;var IfcStructuralCurveMember=/*#__PURE__*/function(_IfcStructuralMember4){_inherits(IfcStructuralCurveMember,_IfcStructuralMember4);var _super1366=_createSuper(IfcStructuralCurveMember);function IfcStructuralCurveMember(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,PredefinedType,Axis){var _this1369;_classCallCheck(this,IfcStructuralCurveMember);_this1369=_super1366.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation);_this1369.GlobalId=GlobalId;_this1369.OwnerHistory=OwnerHistory;_this1369.Name=Name;_this1369.Description=Description;_this1369.ObjectType=ObjectType;_this1369.ObjectPlacement=ObjectPlacement;_this1369.Representation=Representation;_this1369.PredefinedType=PredefinedType;_this1369.Axis=Axis;_this1369.type=214636428;return _this1369;}return _createClass(IfcStructuralCurveMember);}(IfcStructuralMember);IFC42.IfcStructuralCurveMember=IfcStructuralCurveMember;var IfcStructuralCurveMemberVarying=/*#__PURE__*/function(_IfcStructuralCurveMe2){_inherits(IfcStructuralCurveMemberVarying,_IfcStructuralCurveMe2);var _super1367=_createSuper(IfcStructuralCurveMemberVarying);function IfcStructuralCurveMemberVarying(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,PredefinedType,Axis){var _this1370;_classCallCheck(this,IfcStructuralCurveMemberVarying);_this1370=_super1367.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,PredefinedType,Axis);_this1370.GlobalId=GlobalId;_this1370.OwnerHistory=OwnerHistory;_this1370.Name=Name;_this1370.Description=Description;_this1370.ObjectType=ObjectType;_this1370.ObjectPlacement=ObjectPlacement;_this1370.Representation=Representation;_this1370.PredefinedType=PredefinedType;_this1370.Axis=Axis;_this1370.type=2445595289;return _this1370;}return _createClass(IfcStructuralCurveMemberVarying);}(IfcStructuralCurveMember);IFC42.IfcStructuralCurveMemberVarying=IfcStructuralCurveMemberVarying;var IfcStructuralCurveReaction=/*#__PURE__*/function(_IfcStructuralReactio3){_inherits(IfcStructuralCurveReaction,_IfcStructuralReactio3);var _super1368=_createSuper(IfcStructuralCurveReaction);function IfcStructuralCurveReaction(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,AppliedLoad,GlobalOrLocal,PredefinedType){var _this1371;_classCallCheck(this,IfcStructuralCurveReaction);_this1371=_super1368.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,AppliedLoad,GlobalOrLocal);_this1371.GlobalId=GlobalId;_this1371.OwnerHistory=OwnerHistory;_this1371.Name=Name;_this1371.Description=Description;_this1371.ObjectType=ObjectType;_this1371.ObjectPlacement=ObjectPlacement;_this1371.Representation=Representation;_this1371.AppliedLoad=AppliedLoad;_this1371.GlobalOrLocal=GlobalOrLocal;_this1371.PredefinedType=PredefinedType;_this1371.type=2757150158;return _this1371;}return _createClass(IfcStructuralCurveReaction);}(IfcStructuralReaction);IFC42.IfcStructuralCurveReaction=IfcStructuralCurveReaction;var IfcStructuralLinearAction=/*#__PURE__*/function(_IfcStructuralCurveAc){_inherits(IfcStructuralLinearAction,_IfcStructuralCurveAc);var _super1369=_createSuper(IfcStructuralLinearAction);function IfcStructuralLinearAction(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,AppliedLoad,GlobalOrLocal,DestabilizingLoad,ProjectedOrTrue,PredefinedType){var _this1372;_classCallCheck(this,IfcStructuralLinearAction);_this1372=_super1369.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,AppliedLoad,GlobalOrLocal,DestabilizingLoad,ProjectedOrTrue,PredefinedType);_this1372.GlobalId=GlobalId;_this1372.OwnerHistory=OwnerHistory;_this1372.Name=Name;_this1372.Description=Description;_this1372.ObjectType=ObjectType;_this1372.ObjectPlacement=ObjectPlacement;_this1372.Representation=Representation;_this1372.AppliedLoad=AppliedLoad;_this1372.GlobalOrLocal=GlobalOrLocal;_this1372.DestabilizingLoad=DestabilizingLoad;_this1372.ProjectedOrTrue=ProjectedOrTrue;_this1372.PredefinedType=PredefinedType;_this1372.type=1807405624;return _this1372;}return _createClass(IfcStructuralLinearAction);}(IfcStructuralCurveAction);IFC42.IfcStructuralLinearAction=IfcStructuralLinearAction;var IfcStructuralLoadGroup=/*#__PURE__*/function(_IfcGroup9){_inherits(IfcStructuralLoadGroup,_IfcGroup9);var _super1370=_createSuper(IfcStructuralLoadGroup);function IfcStructuralLoadGroup(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,PredefinedType,ActionType,ActionSource,Coefficient,Purpose){var _this1373;_classCallCheck(this,IfcStructuralLoadGroup);_this1373=_super1370.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType);_this1373.GlobalId=GlobalId;_this1373.OwnerHistory=OwnerHistory;_this1373.Name=Name;_this1373.Description=Description;_this1373.ObjectType=ObjectType;_this1373.PredefinedType=PredefinedType;_this1373.ActionType=ActionType;_this1373.ActionSource=ActionSource;_this1373.Coefficient=Coefficient;_this1373.Purpose=Purpose;_this1373.type=1252848954;return _this1373;}return _createClass(IfcStructuralLoadGroup);}(IfcGroup);IFC42.IfcStructuralLoadGroup=IfcStructuralLoadGroup;var IfcStructuralPointAction=/*#__PURE__*/function(_IfcStructuralAction5){_inherits(IfcStructuralPointAction,_IfcStructuralAction5);var _super1371=_createSuper(IfcStructuralPointAction);function IfcStructuralPointAction(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,AppliedLoad,GlobalOrLocal,DestabilizingLoad){var _this1374;_classCallCheck(this,IfcStructuralPointAction);_this1374=_super1371.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,AppliedLoad,GlobalOrLocal,DestabilizingLoad);_this1374.GlobalId=GlobalId;_this1374.OwnerHistory=OwnerHistory;_this1374.Name=Name;_this1374.Description=Description;_this1374.ObjectType=ObjectType;_this1374.ObjectPlacement=ObjectPlacement;_this1374.Representation=Representation;_this1374.AppliedLoad=AppliedLoad;_this1374.GlobalOrLocal=GlobalOrLocal;_this1374.DestabilizingLoad=DestabilizingLoad;_this1374.type=2082059205;return _this1374;}return _createClass(IfcStructuralPointAction);}(IfcStructuralAction);IFC42.IfcStructuralPointAction=IfcStructuralPointAction;var IfcStructuralPointConnection=/*#__PURE__*/function(_IfcStructuralConnect9){_inherits(IfcStructuralPointConnection,_IfcStructuralConnect9);var _super1372=_createSuper(IfcStructuralPointConnection);function IfcStructuralPointConnection(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,AppliedCondition,ConditionCoordinateSystem){var _this1375;_classCallCheck(this,IfcStructuralPointConnection);_this1375=_super1372.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,AppliedCondition);_this1375.GlobalId=GlobalId;_this1375.OwnerHistory=OwnerHistory;_this1375.Name=Name;_this1375.Description=Description;_this1375.ObjectType=ObjectType;_this1375.ObjectPlacement=ObjectPlacement;_this1375.Representation=Representation;_this1375.AppliedCondition=AppliedCondition;_this1375.ConditionCoordinateSystem=ConditionCoordinateSystem;_this1375.type=734778138;return _this1375;}return _createClass(IfcStructuralPointConnection);}(IfcStructuralConnection);IFC42.IfcStructuralPointConnection=IfcStructuralPointConnection;var IfcStructuralPointReaction=/*#__PURE__*/function(_IfcStructuralReactio4){_inherits(IfcStructuralPointReaction,_IfcStructuralReactio4);var _super1373=_createSuper(IfcStructuralPointReaction);function IfcStructuralPointReaction(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,AppliedLoad,GlobalOrLocal){var _this1376;_classCallCheck(this,IfcStructuralPointReaction);_this1376=_super1373.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,AppliedLoad,GlobalOrLocal);_this1376.GlobalId=GlobalId;_this1376.OwnerHistory=OwnerHistory;_this1376.Name=Name;_this1376.Description=Description;_this1376.ObjectType=ObjectType;_this1376.ObjectPlacement=ObjectPlacement;_this1376.Representation=Representation;_this1376.AppliedLoad=AppliedLoad;_this1376.GlobalOrLocal=GlobalOrLocal;_this1376.type=1235345126;return _this1376;}return _createClass(IfcStructuralPointReaction);}(IfcStructuralReaction);IFC42.IfcStructuralPointReaction=IfcStructuralPointReaction;var IfcStructuralResultGroup=/*#__PURE__*/function(_IfcGroup10){_inherits(IfcStructuralResultGroup,_IfcGroup10);var _super1374=_createSuper(IfcStructuralResultGroup);function IfcStructuralResultGroup(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,TheoryType,ResultForLoadGroup,IsLinear){var _this1377;_classCallCheck(this,IfcStructuralResultGroup);_this1377=_super1374.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType);_this1377.GlobalId=GlobalId;_this1377.OwnerHistory=OwnerHistory;_this1377.Name=Name;_this1377.Description=Description;_this1377.ObjectType=ObjectType;_this1377.TheoryType=TheoryType;_this1377.ResultForLoadGroup=ResultForLoadGroup;_this1377.IsLinear=IsLinear;_this1377.type=2986769608;return _this1377;}return _createClass(IfcStructuralResultGroup);}(IfcGroup);IFC42.IfcStructuralResultGroup=IfcStructuralResultGroup;var IfcStructuralSurfaceAction=/*#__PURE__*/function(_IfcStructuralAction6){_inherits(IfcStructuralSurfaceAction,_IfcStructuralAction6);var _super1375=_createSuper(IfcStructuralSurfaceAction);function IfcStructuralSurfaceAction(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,AppliedLoad,GlobalOrLocal,DestabilizingLoad,ProjectedOrTrue,PredefinedType){var _this1378;_classCallCheck(this,IfcStructuralSurfaceAction);_this1378=_super1375.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,AppliedLoad,GlobalOrLocal,DestabilizingLoad);_this1378.GlobalId=GlobalId;_this1378.OwnerHistory=OwnerHistory;_this1378.Name=Name;_this1378.Description=Description;_this1378.ObjectType=ObjectType;_this1378.ObjectPlacement=ObjectPlacement;_this1378.Representation=Representation;_this1378.AppliedLoad=AppliedLoad;_this1378.GlobalOrLocal=GlobalOrLocal;_this1378.DestabilizingLoad=DestabilizingLoad;_this1378.ProjectedOrTrue=ProjectedOrTrue;_this1378.PredefinedType=PredefinedType;_this1378.type=3657597509;return _this1378;}return _createClass(IfcStructuralSurfaceAction);}(IfcStructuralAction);IFC42.IfcStructuralSurfaceAction=IfcStructuralSurfaceAction;var IfcStructuralSurfaceConnection=/*#__PURE__*/function(_IfcStructuralConnect10){_inherits(IfcStructuralSurfaceConnection,_IfcStructuralConnect10);var _super1376=_createSuper(IfcStructuralSurfaceConnection);function IfcStructuralSurfaceConnection(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,AppliedCondition){var _this1379;_classCallCheck(this,IfcStructuralSurfaceConnection);_this1379=_super1376.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,AppliedCondition);_this1379.GlobalId=GlobalId;_this1379.OwnerHistory=OwnerHistory;_this1379.Name=Name;_this1379.Description=Description;_this1379.ObjectType=ObjectType;_this1379.ObjectPlacement=ObjectPlacement;_this1379.Representation=Representation;_this1379.AppliedCondition=AppliedCondition;_this1379.type=1975003073;return _this1379;}return _createClass(IfcStructuralSurfaceConnection);}(IfcStructuralConnection);IFC42.IfcStructuralSurfaceConnection=IfcStructuralSurfaceConnection;var IfcSubContractResource=/*#__PURE__*/function(_IfcConstructionResou15){_inherits(IfcSubContractResource,_IfcConstructionResou15);var _super1377=_createSuper(IfcSubContractResource);function IfcSubContractResource(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,Identification,LongDescription,Usage,BaseCosts,BaseQuantity,PredefinedType){var _this1380;_classCallCheck(this,IfcSubContractResource);_this1380=_super1377.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,Identification,LongDescription,Usage,BaseCosts,BaseQuantity);_this1380.GlobalId=GlobalId;_this1380.OwnerHistory=OwnerHistory;_this1380.Name=Name;_this1380.Description=Description;_this1380.ObjectType=ObjectType;_this1380.Identification=Identification;_this1380.LongDescription=LongDescription;_this1380.Usage=Usage;_this1380.BaseCosts=BaseCosts;_this1380.BaseQuantity=BaseQuantity;_this1380.PredefinedType=PredefinedType;_this1380.type=148013059;return _this1380;}return _createClass(IfcSubContractResource);}(IfcConstructionResource);IFC42.IfcSubContractResource=IfcSubContractResource;var IfcSurfaceFeature=/*#__PURE__*/function(_IfcFeatureElement5){_inherits(IfcSurfaceFeature,_IfcFeatureElement5);var _super1378=_createSuper(IfcSurfaceFeature);function IfcSurfaceFeature(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag,PredefinedType){var _this1381;_classCallCheck(this,IfcSurfaceFeature);_this1381=_super1378.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag);_this1381.GlobalId=GlobalId;_this1381.OwnerHistory=OwnerHistory;_this1381.Name=Name;_this1381.Description=Description;_this1381.ObjectType=ObjectType;_this1381.ObjectPlacement=ObjectPlacement;_this1381.Representation=Representation;_this1381.Tag=Tag;_this1381.PredefinedType=PredefinedType;_this1381.type=3101698114;return _this1381;}return _createClass(IfcSurfaceFeature);}(IfcFeatureElement);IFC42.IfcSurfaceFeature=IfcSurfaceFeature;var IfcSwitchingDeviceType=/*#__PURE__*/function(_IfcFlowControllerTyp10){_inherits(IfcSwitchingDeviceType,_IfcFlowControllerTyp10);var _super1379=_createSuper(IfcSwitchingDeviceType);function IfcSwitchingDeviceType(expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType,PredefinedType){var _this1382;_classCallCheck(this,IfcSwitchingDeviceType);_this1382=_super1379.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType);_this1382.GlobalId=GlobalId;_this1382.OwnerHistory=OwnerHistory;_this1382.Name=Name;_this1382.Description=Description;_this1382.ApplicableOccurrence=ApplicableOccurrence;_this1382.HasPropertySets=HasPropertySets;_this1382.RepresentationMaps=RepresentationMaps;_this1382.Tag=Tag;_this1382.ElementType=ElementType;_this1382.PredefinedType=PredefinedType;_this1382.type=2315554128;return _this1382;}return _createClass(IfcSwitchingDeviceType);}(IfcFlowControllerType);IFC42.IfcSwitchingDeviceType=IfcSwitchingDeviceType;var IfcSystem=/*#__PURE__*/function(_IfcGroup11){_inherits(IfcSystem,_IfcGroup11);var _super1380=_createSuper(IfcSystem);function IfcSystem(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType){var _this1383;_classCallCheck(this,IfcSystem);_this1383=_super1380.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType);_this1383.GlobalId=GlobalId;_this1383.OwnerHistory=OwnerHistory;_this1383.Name=Name;_this1383.Description=Description;_this1383.ObjectType=ObjectType;_this1383.type=2254336722;return _this1383;}return _createClass(IfcSystem);}(IfcGroup);IFC42.IfcSystem=IfcSystem;var IfcSystemFurnitureElement=/*#__PURE__*/function(_IfcFurnishingElement6){_inherits(IfcSystemFurnitureElement,_IfcFurnishingElement6);var _super1381=_createSuper(IfcSystemFurnitureElement);function IfcSystemFurnitureElement(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag,PredefinedType){var _this1384;_classCallCheck(this,IfcSystemFurnitureElement);_this1384=_super1381.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag);_this1384.GlobalId=GlobalId;_this1384.OwnerHistory=OwnerHistory;_this1384.Name=Name;_this1384.Description=Description;_this1384.ObjectType=ObjectType;_this1384.ObjectPlacement=ObjectPlacement;_this1384.Representation=Representation;_this1384.Tag=Tag;_this1384.PredefinedType=PredefinedType;_this1384.type=413509423;return _this1384;}return _createClass(IfcSystemFurnitureElement);}(IfcFurnishingElement);IFC42.IfcSystemFurnitureElement=IfcSystemFurnitureElement;var IfcTankType=/*#__PURE__*/function(_IfcFlowStorageDevice3){_inherits(IfcTankType,_IfcFlowStorageDevice3);var _super1382=_createSuper(IfcTankType);function IfcTankType(expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType,PredefinedType){var _this1385;_classCallCheck(this,IfcTankType);_this1385=_super1382.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType);_this1385.GlobalId=GlobalId;_this1385.OwnerHistory=OwnerHistory;_this1385.Name=Name;_this1385.Description=Description;_this1385.ApplicableOccurrence=ApplicableOccurrence;_this1385.HasPropertySets=HasPropertySets;_this1385.RepresentationMaps=RepresentationMaps;_this1385.Tag=Tag;_this1385.ElementType=ElementType;_this1385.PredefinedType=PredefinedType;_this1385.type=5716631;return _this1385;}return _createClass(IfcTankType);}(IfcFlowStorageDeviceType);IFC42.IfcTankType=IfcTankType;var IfcTendon=/*#__PURE__*/function(_IfcReinforcingElemen7){_inherits(IfcTendon,_IfcReinforcingElemen7);var _super1383=_createSuper(IfcTendon);function IfcTendon(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag,SteelGrade,PredefinedType,NominalDiameter,CrossSectionArea,TensionForce,PreStress,FrictionCoefficient,AnchorageSlip,MinCurvatureRadius){var _this1386;_classCallCheck(this,IfcTendon);_this1386=_super1383.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag,SteelGrade);_this1386.GlobalId=GlobalId;_this1386.OwnerHistory=OwnerHistory;_this1386.Name=Name;_this1386.Description=Description;_this1386.ObjectType=ObjectType;_this1386.ObjectPlacement=ObjectPlacement;_this1386.Representation=Representation;_this1386.Tag=Tag;_this1386.SteelGrade=SteelGrade;_this1386.PredefinedType=PredefinedType;_this1386.NominalDiameter=NominalDiameter;_this1386.CrossSectionArea=CrossSectionArea;_this1386.TensionForce=TensionForce;_this1386.PreStress=PreStress;_this1386.FrictionCoefficient=FrictionCoefficient;_this1386.AnchorageSlip=AnchorageSlip;_this1386.MinCurvatureRadius=MinCurvatureRadius;_this1386.type=3824725483;return _this1386;}return _createClass(IfcTendon);}(IfcReinforcingElement);IFC42.IfcTendon=IfcTendon;var IfcTendonAnchor=/*#__PURE__*/function(_IfcReinforcingElemen8){_inherits(IfcTendonAnchor,_IfcReinforcingElemen8);var _super1384=_createSuper(IfcTendonAnchor);function IfcTendonAnchor(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag,SteelGrade,PredefinedType){var _this1387;_classCallCheck(this,IfcTendonAnchor);_this1387=_super1384.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag,SteelGrade);_this1387.GlobalId=GlobalId;_this1387.OwnerHistory=OwnerHistory;_this1387.Name=Name;_this1387.Description=Description;_this1387.ObjectType=ObjectType;_this1387.ObjectPlacement=ObjectPlacement;_this1387.Representation=Representation;_this1387.Tag=Tag;_this1387.SteelGrade=SteelGrade;_this1387.PredefinedType=PredefinedType;_this1387.type=2347447852;return _this1387;}return _createClass(IfcTendonAnchor);}(IfcReinforcingElement);IFC42.IfcTendonAnchor=IfcTendonAnchor;var IfcTendonAnchorType=/*#__PURE__*/function(_IfcReinforcingElemen9){_inherits(IfcTendonAnchorType,_IfcReinforcingElemen9);var _super1385=_createSuper(IfcTendonAnchorType);function IfcTendonAnchorType(expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType,PredefinedType){var _this1388;_classCallCheck(this,IfcTendonAnchorType);_this1388=_super1385.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType);_this1388.GlobalId=GlobalId;_this1388.OwnerHistory=OwnerHistory;_this1388.Name=Name;_this1388.Description=Description;_this1388.ApplicableOccurrence=ApplicableOccurrence;_this1388.HasPropertySets=HasPropertySets;_this1388.RepresentationMaps=RepresentationMaps;_this1388.Tag=Tag;_this1388.ElementType=ElementType;_this1388.PredefinedType=PredefinedType;_this1388.type=3081323446;return _this1388;}return _createClass(IfcTendonAnchorType);}(IfcReinforcingElementType);IFC42.IfcTendonAnchorType=IfcTendonAnchorType;var IfcTendonType=/*#__PURE__*/function(_IfcReinforcingElemen10){_inherits(IfcTendonType,_IfcReinforcingElemen10);var _super1386=_createSuper(IfcTendonType);function IfcTendonType(expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType,PredefinedType,NominalDiameter,CrossSectionArea,SheathDiameter){var _this1389;_classCallCheck(this,IfcTendonType);_this1389=_super1386.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType);_this1389.GlobalId=GlobalId;_this1389.OwnerHistory=OwnerHistory;_this1389.Name=Name;_this1389.Description=Description;_this1389.ApplicableOccurrence=ApplicableOccurrence;_this1389.HasPropertySets=HasPropertySets;_this1389.RepresentationMaps=RepresentationMaps;_this1389.Tag=Tag;_this1389.ElementType=ElementType;_this1389.PredefinedType=PredefinedType;_this1389.NominalDiameter=NominalDiameter;_this1389.CrossSectionArea=CrossSectionArea;_this1389.SheathDiameter=SheathDiameter;_this1389.type=2415094496;return _this1389;}return _createClass(IfcTendonType);}(IfcReinforcingElementType);IFC42.IfcTendonType=IfcTendonType;var IfcTransformerType=/*#__PURE__*/function(_IfcEnergyConversionD26){_inherits(IfcTransformerType,_IfcEnergyConversionD26);var _super1387=_createSuper(IfcTransformerType);function IfcTransformerType(expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType,PredefinedType){var _this1390;_classCallCheck(this,IfcTransformerType);_this1390=_super1387.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType);_this1390.GlobalId=GlobalId;_this1390.OwnerHistory=OwnerHistory;_this1390.Name=Name;_this1390.Description=Description;_this1390.ApplicableOccurrence=ApplicableOccurrence;_this1390.HasPropertySets=HasPropertySets;_this1390.RepresentationMaps=RepresentationMaps;_this1390.Tag=Tag;_this1390.ElementType=ElementType;_this1390.PredefinedType=PredefinedType;_this1390.type=1692211062;return _this1390;}return _createClass(IfcTransformerType);}(IfcEnergyConversionDeviceType);IFC42.IfcTransformerType=IfcTransformerType;var IfcTransportElement=/*#__PURE__*/function(_IfcElement16){_inherits(IfcTransportElement,_IfcElement16);var _super1388=_createSuper(IfcTransportElement);function IfcTransportElement(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag,PredefinedType){var _this1391;_classCallCheck(this,IfcTransportElement);_this1391=_super1388.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag);_this1391.GlobalId=GlobalId;_this1391.OwnerHistory=OwnerHistory;_this1391.Name=Name;_this1391.Description=Description;_this1391.ObjectType=ObjectType;_this1391.ObjectPlacement=ObjectPlacement;_this1391.Representation=Representation;_this1391.Tag=Tag;_this1391.PredefinedType=PredefinedType;_this1391.type=1620046519;return _this1391;}return _createClass(IfcTransportElement);}(IfcElement);IFC42.IfcTransportElement=IfcTransportElement;var IfcTrimmedCurve=/*#__PURE__*/function(_IfcBoundedCurve8){_inherits(IfcTrimmedCurve,_IfcBoundedCurve8);var _super1389=_createSuper(IfcTrimmedCurve);function IfcTrimmedCurve(expressID,BasisCurve,Trim1,Trim2,SenseAgreement,MasterRepresentation){var _this1392;_classCallCheck(this,IfcTrimmedCurve);_this1392=_super1389.call(this,expressID);_this1392.BasisCurve=BasisCurve;_this1392.Trim1=Trim1;_this1392.Trim2=Trim2;_this1392.SenseAgreement=SenseAgreement;_this1392.MasterRepresentation=MasterRepresentation;_this1392.type=3593883385;return _this1392;}return _createClass(IfcTrimmedCurve);}(IfcBoundedCurve);IFC42.IfcTrimmedCurve=IfcTrimmedCurve;var IfcTubeBundleType=/*#__PURE__*/function(_IfcEnergyConversionD27){_inherits(IfcTubeBundleType,_IfcEnergyConversionD27);var _super1390=_createSuper(IfcTubeBundleType);function IfcTubeBundleType(expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType,PredefinedType){var _this1393;_classCallCheck(this,IfcTubeBundleType);_this1393=_super1390.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType);_this1393.GlobalId=GlobalId;_this1393.OwnerHistory=OwnerHistory;_this1393.Name=Name;_this1393.Description=Description;_this1393.ApplicableOccurrence=ApplicableOccurrence;_this1393.HasPropertySets=HasPropertySets;_this1393.RepresentationMaps=RepresentationMaps;_this1393.Tag=Tag;_this1393.ElementType=ElementType;_this1393.PredefinedType=PredefinedType;_this1393.type=1600972822;return _this1393;}return _createClass(IfcTubeBundleType);}(IfcEnergyConversionDeviceType);IFC42.IfcTubeBundleType=IfcTubeBundleType;var IfcUnitaryEquipmentType=/*#__PURE__*/function(_IfcEnergyConversionD28){_inherits(IfcUnitaryEquipmentType,_IfcEnergyConversionD28);var _super1391=_createSuper(IfcUnitaryEquipmentType);function IfcUnitaryEquipmentType(expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType,PredefinedType){var _this1394;_classCallCheck(this,IfcUnitaryEquipmentType);_this1394=_super1391.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType);_this1394.GlobalId=GlobalId;_this1394.OwnerHistory=OwnerHistory;_this1394.Name=Name;_this1394.Description=Description;_this1394.ApplicableOccurrence=ApplicableOccurrence;_this1394.HasPropertySets=HasPropertySets;_this1394.RepresentationMaps=RepresentationMaps;_this1394.Tag=Tag;_this1394.ElementType=ElementType;_this1394.PredefinedType=PredefinedType;_this1394.type=1911125066;return _this1394;}return _createClass(IfcUnitaryEquipmentType);}(IfcEnergyConversionDeviceType);IFC42.IfcUnitaryEquipmentType=IfcUnitaryEquipmentType;var IfcValveType=/*#__PURE__*/function(_IfcFlowControllerTyp11){_inherits(IfcValveType,_IfcFlowControllerTyp11);var _super1392=_createSuper(IfcValveType);function IfcValveType(expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType,PredefinedType){var _this1395;_classCallCheck(this,IfcValveType);_this1395=_super1392.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType);_this1395.GlobalId=GlobalId;_this1395.OwnerHistory=OwnerHistory;_this1395.Name=Name;_this1395.Description=Description;_this1395.ApplicableOccurrence=ApplicableOccurrence;_this1395.HasPropertySets=HasPropertySets;_this1395.RepresentationMaps=RepresentationMaps;_this1395.Tag=Tag;_this1395.ElementType=ElementType;_this1395.PredefinedType=PredefinedType;_this1395.type=728799441;return _this1395;}return _createClass(IfcValveType);}(IfcFlowControllerType);IFC42.IfcValveType=IfcValveType;var IfcVibrationIsolator=/*#__PURE__*/function(_IfcElementComponent6){_inherits(IfcVibrationIsolator,_IfcElementComponent6);var _super1393=_createSuper(IfcVibrationIsolator);function IfcVibrationIsolator(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag,PredefinedType){var _this1396;_classCallCheck(this,IfcVibrationIsolator);_this1396=_super1393.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag);_this1396.GlobalId=GlobalId;_this1396.OwnerHistory=OwnerHistory;_this1396.Name=Name;_this1396.Description=Description;_this1396.ObjectType=ObjectType;_this1396.ObjectPlacement=ObjectPlacement;_this1396.Representation=Representation;_this1396.Tag=Tag;_this1396.PredefinedType=PredefinedType;_this1396.type=2391383451;return _this1396;}return _createClass(IfcVibrationIsolator);}(IfcElementComponent);IFC42.IfcVibrationIsolator=IfcVibrationIsolator;var IfcVibrationIsolatorType=/*#__PURE__*/function(_IfcElementComponentT6){_inherits(IfcVibrationIsolatorType,_IfcElementComponentT6);var _super1394=_createSuper(IfcVibrationIsolatorType);function IfcVibrationIsolatorType(expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType,PredefinedType){var _this1397;_classCallCheck(this,IfcVibrationIsolatorType);_this1397=_super1394.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType);_this1397.GlobalId=GlobalId;_this1397.OwnerHistory=OwnerHistory;_this1397.Name=Name;_this1397.Description=Description;_this1397.ApplicableOccurrence=ApplicableOccurrence;_this1397.HasPropertySets=HasPropertySets;_this1397.RepresentationMaps=RepresentationMaps;_this1397.Tag=Tag;_this1397.ElementType=ElementType;_this1397.PredefinedType=PredefinedType;_this1397.type=3313531582;return _this1397;}return _createClass(IfcVibrationIsolatorType);}(IfcElementComponentType);IFC42.IfcVibrationIsolatorType=IfcVibrationIsolatorType;var IfcVirtualElement=/*#__PURE__*/function(_IfcElement17){_inherits(IfcVirtualElement,_IfcElement17);var _super1395=_createSuper(IfcVirtualElement);function IfcVirtualElement(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag){var _this1398;_classCallCheck(this,IfcVirtualElement);_this1398=_super1395.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag);_this1398.GlobalId=GlobalId;_this1398.OwnerHistory=OwnerHistory;_this1398.Name=Name;_this1398.Description=Description;_this1398.ObjectType=ObjectType;_this1398.ObjectPlacement=ObjectPlacement;_this1398.Representation=Representation;_this1398.Tag=Tag;_this1398.type=2769231204;return _this1398;}return _createClass(IfcVirtualElement);}(IfcElement);IFC42.IfcVirtualElement=IfcVirtualElement;var IfcVoidingFeature=/*#__PURE__*/function(_IfcFeatureElementSub4){_inherits(IfcVoidingFeature,_IfcFeatureElementSub4);var _super1396=_createSuper(IfcVoidingFeature);function IfcVoidingFeature(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag,PredefinedType){var _this1399;_classCallCheck(this,IfcVoidingFeature);_this1399=_super1396.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag);_this1399.GlobalId=GlobalId;_this1399.OwnerHistory=OwnerHistory;_this1399.Name=Name;_this1399.Description=Description;_this1399.ObjectType=ObjectType;_this1399.ObjectPlacement=ObjectPlacement;_this1399.Representation=Representation;_this1399.Tag=Tag;_this1399.PredefinedType=PredefinedType;_this1399.type=926996030;return _this1399;}return _createClass(IfcVoidingFeature);}(IfcFeatureElementSubtraction);IFC42.IfcVoidingFeature=IfcVoidingFeature;var IfcWallType=/*#__PURE__*/function(_IfcBuildingElementTy30){_inherits(IfcWallType,_IfcBuildingElementTy30);var _super1397=_createSuper(IfcWallType);function IfcWallType(expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType,PredefinedType){var _this1400;_classCallCheck(this,IfcWallType);_this1400=_super1397.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType);_this1400.GlobalId=GlobalId;_this1400.OwnerHistory=OwnerHistory;_this1400.Name=Name;_this1400.Description=Description;_this1400.ApplicableOccurrence=ApplicableOccurrence;_this1400.HasPropertySets=HasPropertySets;_this1400.RepresentationMaps=RepresentationMaps;_this1400.Tag=Tag;_this1400.ElementType=ElementType;_this1400.PredefinedType=PredefinedType;_this1400.type=1898987631;return _this1400;}return _createClass(IfcWallType);}(IfcBuildingElementType);IFC42.IfcWallType=IfcWallType;var IfcWasteTerminalType=/*#__PURE__*/function(_IfcFlowTerminalType19){_inherits(IfcWasteTerminalType,_IfcFlowTerminalType19);var _super1398=_createSuper(IfcWasteTerminalType);function IfcWasteTerminalType(expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType,PredefinedType){var _this1401;_classCallCheck(this,IfcWasteTerminalType);_this1401=_super1398.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType);_this1401.GlobalId=GlobalId;_this1401.OwnerHistory=OwnerHistory;_this1401.Name=Name;_this1401.Description=Description;_this1401.ApplicableOccurrence=ApplicableOccurrence;_this1401.HasPropertySets=HasPropertySets;_this1401.RepresentationMaps=RepresentationMaps;_this1401.Tag=Tag;_this1401.ElementType=ElementType;_this1401.PredefinedType=PredefinedType;_this1401.type=1133259667;return _this1401;}return _createClass(IfcWasteTerminalType);}(IfcFlowTerminalType);IFC42.IfcWasteTerminalType=IfcWasteTerminalType;var IfcWindowType=/*#__PURE__*/function(_IfcBuildingElementTy31){_inherits(IfcWindowType,_IfcBuildingElementTy31);var _super1399=_createSuper(IfcWindowType);function IfcWindowType(expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType,PredefinedType,PartitioningType,ParameterTakesPrecedence,UserDefinedPartitioningType){var _this1402;_classCallCheck(this,IfcWindowType);_this1402=_super1399.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType);_this1402.GlobalId=GlobalId;_this1402.OwnerHistory=OwnerHistory;_this1402.Name=Name;_this1402.Description=Description;_this1402.ApplicableOccurrence=ApplicableOccurrence;_this1402.HasPropertySets=HasPropertySets;_this1402.RepresentationMaps=RepresentationMaps;_this1402.Tag=Tag;_this1402.ElementType=ElementType;_this1402.PredefinedType=PredefinedType;_this1402.PartitioningType=PartitioningType;_this1402.ParameterTakesPrecedence=ParameterTakesPrecedence;_this1402.UserDefinedPartitioningType=UserDefinedPartitioningType;_this1402.type=4009809668;return _this1402;}return _createClass(IfcWindowType);}(IfcBuildingElementType);IFC42.IfcWindowType=IfcWindowType;var IfcWorkCalendar=/*#__PURE__*/function(_IfcControl21){_inherits(IfcWorkCalendar,_IfcControl21);var _super1400=_createSuper(IfcWorkCalendar);function IfcWorkCalendar(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,Identification,WorkingTimes,ExceptionTimes,PredefinedType){var _this1403;_classCallCheck(this,IfcWorkCalendar);_this1403=_super1400.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,Identification);_this1403.GlobalId=GlobalId;_this1403.OwnerHistory=OwnerHistory;_this1403.Name=Name;_this1403.Description=Description;_this1403.ObjectType=ObjectType;_this1403.Identification=Identification;_this1403.WorkingTimes=WorkingTimes;_this1403.ExceptionTimes=ExceptionTimes;_this1403.PredefinedType=PredefinedType;_this1403.type=4088093105;return _this1403;}return _createClass(IfcWorkCalendar);}(IfcControl);IFC42.IfcWorkCalendar=IfcWorkCalendar;var IfcWorkControl=/*#__PURE__*/function(_IfcControl22){_inherits(IfcWorkControl,_IfcControl22);var _super1401=_createSuper(IfcWorkControl);function IfcWorkControl(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,Identification,CreationDate,Creators,Purpose,Duration,TotalFloat,StartTime,FinishTime){var _this1404;_classCallCheck(this,IfcWorkControl);_this1404=_super1401.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,Identification);_this1404.GlobalId=GlobalId;_this1404.OwnerHistory=OwnerHistory;_this1404.Name=Name;_this1404.Description=Description;_this1404.ObjectType=ObjectType;_this1404.Identification=Identification;_this1404.CreationDate=CreationDate;_this1404.Creators=Creators;_this1404.Purpose=Purpose;_this1404.Duration=Duration;_this1404.TotalFloat=TotalFloat;_this1404.StartTime=StartTime;_this1404.FinishTime=FinishTime;_this1404.type=1028945134;return _this1404;}return _createClass(IfcWorkControl);}(IfcControl);IFC42.IfcWorkControl=IfcWorkControl;var IfcWorkPlan=/*#__PURE__*/function(_IfcWorkControl3){_inherits(IfcWorkPlan,_IfcWorkControl3);var _super1402=_createSuper(IfcWorkPlan);function IfcWorkPlan(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,Identification,CreationDate,Creators,Purpose,Duration,TotalFloat,StartTime,FinishTime,PredefinedType){var _this1405;_classCallCheck(this,IfcWorkPlan);_this1405=_super1402.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,Identification,CreationDate,Creators,Purpose,Duration,TotalFloat,StartTime,FinishTime);_this1405.GlobalId=GlobalId;_this1405.OwnerHistory=OwnerHistory;_this1405.Name=Name;_this1405.Description=Description;_this1405.ObjectType=ObjectType;_this1405.Identification=Identification;_this1405.CreationDate=CreationDate;_this1405.Creators=Creators;_this1405.Purpose=Purpose;_this1405.Duration=Duration;_this1405.TotalFloat=TotalFloat;_this1405.StartTime=StartTime;_this1405.FinishTime=FinishTime;_this1405.PredefinedType=PredefinedType;_this1405.type=4218914973;return _this1405;}return _createClass(IfcWorkPlan);}(IfcWorkControl);IFC42.IfcWorkPlan=IfcWorkPlan;var IfcWorkSchedule=/*#__PURE__*/function(_IfcWorkControl4){_inherits(IfcWorkSchedule,_IfcWorkControl4);var _super1403=_createSuper(IfcWorkSchedule);function IfcWorkSchedule(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,Identification,CreationDate,Creators,Purpose,Duration,TotalFloat,StartTime,FinishTime,PredefinedType){var _this1406;_classCallCheck(this,IfcWorkSchedule);_this1406=_super1403.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,Identification,CreationDate,Creators,Purpose,Duration,TotalFloat,StartTime,FinishTime);_this1406.GlobalId=GlobalId;_this1406.OwnerHistory=OwnerHistory;_this1406.Name=Name;_this1406.Description=Description;_this1406.ObjectType=ObjectType;_this1406.Identification=Identification;_this1406.CreationDate=CreationDate;_this1406.Creators=Creators;_this1406.Purpose=Purpose;_this1406.Duration=Duration;_this1406.TotalFloat=TotalFloat;_this1406.StartTime=StartTime;_this1406.FinishTime=FinishTime;_this1406.PredefinedType=PredefinedType;_this1406.type=3342526732;return _this1406;}return _createClass(IfcWorkSchedule);}(IfcWorkControl);IFC42.IfcWorkSchedule=IfcWorkSchedule;var IfcZone=/*#__PURE__*/function(_IfcSystem3){_inherits(IfcZone,_IfcSystem3);var _super1404=_createSuper(IfcZone);function IfcZone(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,LongName){var _this1407;_classCallCheck(this,IfcZone);_this1407=_super1404.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType);_this1407.GlobalId=GlobalId;_this1407.OwnerHistory=OwnerHistory;_this1407.Name=Name;_this1407.Description=Description;_this1407.ObjectType=ObjectType;_this1407.LongName=LongName;_this1407.type=1033361043;return _this1407;}return _createClass(IfcZone);}(IfcSystem);IFC42.IfcZone=IfcZone;var IfcActionRequest=/*#__PURE__*/function(_IfcControl23){_inherits(IfcActionRequest,_IfcControl23);var _super1405=_createSuper(IfcActionRequest);function IfcActionRequest(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,Identification,PredefinedType,Status,LongDescription){var _this1408;_classCallCheck(this,IfcActionRequest);_this1408=_super1405.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,Identification);_this1408.GlobalId=GlobalId;_this1408.OwnerHistory=OwnerHistory;_this1408.Name=Name;_this1408.Description=Description;_this1408.ObjectType=ObjectType;_this1408.Identification=Identification;_this1408.PredefinedType=PredefinedType;_this1408.Status=Status;_this1408.LongDescription=LongDescription;_this1408.type=3821786052;return _this1408;}return _createClass(IfcActionRequest);}(IfcControl);IFC42.IfcActionRequest=IfcActionRequest;var IfcAirTerminalBoxType=/*#__PURE__*/function(_IfcFlowControllerTyp12){_inherits(IfcAirTerminalBoxType,_IfcFlowControllerTyp12);var _super1406=_createSuper(IfcAirTerminalBoxType);function IfcAirTerminalBoxType(expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType,PredefinedType){var _this1409;_classCallCheck(this,IfcAirTerminalBoxType);_this1409=_super1406.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType);_this1409.GlobalId=GlobalId;_this1409.OwnerHistory=OwnerHistory;_this1409.Name=Name;_this1409.Description=Description;_this1409.ApplicableOccurrence=ApplicableOccurrence;_this1409.HasPropertySets=HasPropertySets;_this1409.RepresentationMaps=RepresentationMaps;_this1409.Tag=Tag;_this1409.ElementType=ElementType;_this1409.PredefinedType=PredefinedType;_this1409.type=1411407467;return _this1409;}return _createClass(IfcAirTerminalBoxType);}(IfcFlowControllerType);IFC42.IfcAirTerminalBoxType=IfcAirTerminalBoxType;var IfcAirTerminalType=/*#__PURE__*/function(_IfcFlowTerminalType20){_inherits(IfcAirTerminalType,_IfcFlowTerminalType20);var _super1407=_createSuper(IfcAirTerminalType);function IfcAirTerminalType(expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType,PredefinedType){var _this1410;_classCallCheck(this,IfcAirTerminalType);_this1410=_super1407.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType);_this1410.GlobalId=GlobalId;_this1410.OwnerHistory=OwnerHistory;_this1410.Name=Name;_this1410.Description=Description;_this1410.ApplicableOccurrence=ApplicableOccurrence;_this1410.HasPropertySets=HasPropertySets;_this1410.RepresentationMaps=RepresentationMaps;_this1410.Tag=Tag;_this1410.ElementType=ElementType;_this1410.PredefinedType=PredefinedType;_this1410.type=3352864051;return _this1410;}return _createClass(IfcAirTerminalType);}(IfcFlowTerminalType);IFC42.IfcAirTerminalType=IfcAirTerminalType;var IfcAirToAirHeatRecoveryType=/*#__PURE__*/function(_IfcEnergyConversionD29){_inherits(IfcAirToAirHeatRecoveryType,_IfcEnergyConversionD29);var _super1408=_createSuper(IfcAirToAirHeatRecoveryType);function IfcAirToAirHeatRecoveryType(expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType,PredefinedType){var _this1411;_classCallCheck(this,IfcAirToAirHeatRecoveryType);_this1411=_super1408.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType);_this1411.GlobalId=GlobalId;_this1411.OwnerHistory=OwnerHistory;_this1411.Name=Name;_this1411.Description=Description;_this1411.ApplicableOccurrence=ApplicableOccurrence;_this1411.HasPropertySets=HasPropertySets;_this1411.RepresentationMaps=RepresentationMaps;_this1411.Tag=Tag;_this1411.ElementType=ElementType;_this1411.PredefinedType=PredefinedType;_this1411.type=1871374353;return _this1411;}return _createClass(IfcAirToAirHeatRecoveryType);}(IfcEnergyConversionDeviceType);IFC42.IfcAirToAirHeatRecoveryType=IfcAirToAirHeatRecoveryType;var IfcAsset=/*#__PURE__*/function(_IfcGroup12){_inherits(IfcAsset,_IfcGroup12);var _super1409=_createSuper(IfcAsset);function IfcAsset(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,Identification,OriginalValue,CurrentValue,TotalReplacementCost,Owner,User,ResponsiblePerson,IncorporationDate,DepreciatedValue){var _this1412;_classCallCheck(this,IfcAsset);_this1412=_super1409.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType);_this1412.GlobalId=GlobalId;_this1412.OwnerHistory=OwnerHistory;_this1412.Name=Name;_this1412.Description=Description;_this1412.ObjectType=ObjectType;_this1412.Identification=Identification;_this1412.OriginalValue=OriginalValue;_this1412.CurrentValue=CurrentValue;_this1412.TotalReplacementCost=TotalReplacementCost;_this1412.Owner=Owner;_this1412.User=User;_this1412.ResponsiblePerson=ResponsiblePerson;_this1412.IncorporationDate=IncorporationDate;_this1412.DepreciatedValue=DepreciatedValue;_this1412.type=3460190687;return _this1412;}return _createClass(IfcAsset);}(IfcGroup);IFC42.IfcAsset=IfcAsset;var IfcAudioVisualApplianceType=/*#__PURE__*/function(_IfcFlowTerminalType21){_inherits(IfcAudioVisualApplianceType,_IfcFlowTerminalType21);var _super1410=_createSuper(IfcAudioVisualApplianceType);function IfcAudioVisualApplianceType(expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType,PredefinedType){var _this1413;_classCallCheck(this,IfcAudioVisualApplianceType);_this1413=_super1410.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType);_this1413.GlobalId=GlobalId;_this1413.OwnerHistory=OwnerHistory;_this1413.Name=Name;_this1413.Description=Description;_this1413.ApplicableOccurrence=ApplicableOccurrence;_this1413.HasPropertySets=HasPropertySets;_this1413.RepresentationMaps=RepresentationMaps;_this1413.Tag=Tag;_this1413.ElementType=ElementType;_this1413.PredefinedType=PredefinedType;_this1413.type=1532957894;return _this1413;}return _createClass(IfcAudioVisualApplianceType);}(IfcFlowTerminalType);IFC42.IfcAudioVisualApplianceType=IfcAudioVisualApplianceType;var IfcBSplineCurve=/*#__PURE__*/function(_IfcBoundedCurve9){_inherits(IfcBSplineCurve,_IfcBoundedCurve9);var _super1411=_createSuper(IfcBSplineCurve);function IfcBSplineCurve(expressID,Degree,ControlPointsList,CurveForm,ClosedCurve,SelfIntersect){var _this1414;_classCallCheck(this,IfcBSplineCurve);_this1414=_super1411.call(this,expressID);_this1414.Degree=Degree;_this1414.ControlPointsList=ControlPointsList;_this1414.CurveForm=CurveForm;_this1414.ClosedCurve=ClosedCurve;_this1414.SelfIntersect=SelfIntersect;_this1414.type=1967976161;return _this1414;}return _createClass(IfcBSplineCurve);}(IfcBoundedCurve);IFC42.IfcBSplineCurve=IfcBSplineCurve;var IfcBSplineCurveWithKnots=/*#__PURE__*/function(_IfcBSplineCurve2){_inherits(IfcBSplineCurveWithKnots,_IfcBSplineCurve2);var _super1412=_createSuper(IfcBSplineCurveWithKnots);function IfcBSplineCurveWithKnots(expressID,Degree,ControlPointsList,CurveForm,ClosedCurve,SelfIntersect,KnotMultiplicities,Knots,KnotSpec){var _this1415;_classCallCheck(this,IfcBSplineCurveWithKnots);_this1415=_super1412.call(this,expressID,Degree,ControlPointsList,CurveForm,ClosedCurve,SelfIntersect);_this1415.Degree=Degree;_this1415.ControlPointsList=ControlPointsList;_this1415.CurveForm=CurveForm;_this1415.ClosedCurve=ClosedCurve;_this1415.SelfIntersect=SelfIntersect;_this1415.KnotMultiplicities=KnotMultiplicities;_this1415.Knots=Knots;_this1415.KnotSpec=KnotSpec;_this1415.type=2461110595;return _this1415;}return _createClass(IfcBSplineCurveWithKnots);}(IfcBSplineCurve);IFC42.IfcBSplineCurveWithKnots=IfcBSplineCurveWithKnots;var IfcBeamType=/*#__PURE__*/function(_IfcBuildingElementTy32){_inherits(IfcBeamType,_IfcBuildingElementTy32);var _super1413=_createSuper(IfcBeamType);function IfcBeamType(expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType,PredefinedType){var _this1416;_classCallCheck(this,IfcBeamType);_this1416=_super1413.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType);_this1416.GlobalId=GlobalId;_this1416.OwnerHistory=OwnerHistory;_this1416.Name=Name;_this1416.Description=Description;_this1416.ApplicableOccurrence=ApplicableOccurrence;_this1416.HasPropertySets=HasPropertySets;_this1416.RepresentationMaps=RepresentationMaps;_this1416.Tag=Tag;_this1416.ElementType=ElementType;_this1416.PredefinedType=PredefinedType;_this1416.type=819618141;return _this1416;}return _createClass(IfcBeamType);}(IfcBuildingElementType);IFC42.IfcBeamType=IfcBeamType;var IfcBoilerType=/*#__PURE__*/function(_IfcEnergyConversionD30){_inherits(IfcBoilerType,_IfcEnergyConversionD30);var _super1414=_createSuper(IfcBoilerType);function IfcBoilerType(expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType,PredefinedType){var _this1417;_classCallCheck(this,IfcBoilerType);_this1417=_super1414.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType);_this1417.GlobalId=GlobalId;_this1417.OwnerHistory=OwnerHistory;_this1417.Name=Name;_this1417.Description=Description;_this1417.ApplicableOccurrence=ApplicableOccurrence;_this1417.HasPropertySets=HasPropertySets;_this1417.RepresentationMaps=RepresentationMaps;_this1417.Tag=Tag;_this1417.ElementType=ElementType;_this1417.PredefinedType=PredefinedType;_this1417.type=231477066;return _this1417;}return _createClass(IfcBoilerType);}(IfcEnergyConversionDeviceType);IFC42.IfcBoilerType=IfcBoilerType;var IfcBoundaryCurve=/*#__PURE__*/function(_IfcCompositeCurveOnS){_inherits(IfcBoundaryCurve,_IfcCompositeCurveOnS);var _super1415=_createSuper(IfcBoundaryCurve);function IfcBoundaryCurve(expressID,Segments,SelfIntersect){var _this1418;_classCallCheck(this,IfcBoundaryCurve);_this1418=_super1415.call(this,expressID,Segments,SelfIntersect);_this1418.Segments=Segments;_this1418.SelfIntersect=SelfIntersect;_this1418.type=1136057603;return _this1418;}return _createClass(IfcBoundaryCurve);}(IfcCompositeCurveOnSurface);IFC42.IfcBoundaryCurve=IfcBoundaryCurve;var IfcBuildingElement=/*#__PURE__*/function(_IfcElement18){_inherits(IfcBuildingElement,_IfcElement18);var _super1416=_createSuper(IfcBuildingElement);function IfcBuildingElement(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag){var _this1419;_classCallCheck(this,IfcBuildingElement);_this1419=_super1416.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag);_this1419.GlobalId=GlobalId;_this1419.OwnerHistory=OwnerHistory;_this1419.Name=Name;_this1419.Description=Description;_this1419.ObjectType=ObjectType;_this1419.ObjectPlacement=ObjectPlacement;_this1419.Representation=Representation;_this1419.Tag=Tag;_this1419.type=3299480353;return _this1419;}return _createClass(IfcBuildingElement);}(IfcElement);IFC42.IfcBuildingElement=IfcBuildingElement;var IfcBuildingElementPart=/*#__PURE__*/function(_IfcElementComponent7){_inherits(IfcBuildingElementPart,_IfcElementComponent7);var _super1417=_createSuper(IfcBuildingElementPart);function IfcBuildingElementPart(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag,PredefinedType){var _this1420;_classCallCheck(this,IfcBuildingElementPart);_this1420=_super1417.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag);_this1420.GlobalId=GlobalId;_this1420.OwnerHistory=OwnerHistory;_this1420.Name=Name;_this1420.Description=Description;_this1420.ObjectType=ObjectType;_this1420.ObjectPlacement=ObjectPlacement;_this1420.Representation=Representation;_this1420.Tag=Tag;_this1420.PredefinedType=PredefinedType;_this1420.type=2979338954;return _this1420;}return _createClass(IfcBuildingElementPart);}(IfcElementComponent);IFC42.IfcBuildingElementPart=IfcBuildingElementPart;var IfcBuildingElementPartType=/*#__PURE__*/function(_IfcElementComponentT7){_inherits(IfcBuildingElementPartType,_IfcElementComponentT7);var _super1418=_createSuper(IfcBuildingElementPartType);function IfcBuildingElementPartType(expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType,PredefinedType){var _this1421;_classCallCheck(this,IfcBuildingElementPartType);_this1421=_super1418.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType);_this1421.GlobalId=GlobalId;_this1421.OwnerHistory=OwnerHistory;_this1421.Name=Name;_this1421.Description=Description;_this1421.ApplicableOccurrence=ApplicableOccurrence;_this1421.HasPropertySets=HasPropertySets;_this1421.RepresentationMaps=RepresentationMaps;_this1421.Tag=Tag;_this1421.ElementType=ElementType;_this1421.PredefinedType=PredefinedType;_this1421.type=39481116;return _this1421;}return _createClass(IfcBuildingElementPartType);}(IfcElementComponentType);IFC42.IfcBuildingElementPartType=IfcBuildingElementPartType;var IfcBuildingElementProxy=/*#__PURE__*/function(_IfcBuildingElement21){_inherits(IfcBuildingElementProxy,_IfcBuildingElement21);var _super1419=_createSuper(IfcBuildingElementProxy);function IfcBuildingElementProxy(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag,PredefinedType){var _this1422;_classCallCheck(this,IfcBuildingElementProxy);_this1422=_super1419.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag);_this1422.GlobalId=GlobalId;_this1422.OwnerHistory=OwnerHistory;_this1422.Name=Name;_this1422.Description=Description;_this1422.ObjectType=ObjectType;_this1422.ObjectPlacement=ObjectPlacement;_this1422.Representation=Representation;_this1422.Tag=Tag;_this1422.PredefinedType=PredefinedType;_this1422.type=1095909175;return _this1422;}return _createClass(IfcBuildingElementProxy);}(IfcBuildingElement);IFC42.IfcBuildingElementProxy=IfcBuildingElementProxy;var IfcBuildingElementProxyType=/*#__PURE__*/function(_IfcBuildingElementTy33){_inherits(IfcBuildingElementProxyType,_IfcBuildingElementTy33);var _super1420=_createSuper(IfcBuildingElementProxyType);function IfcBuildingElementProxyType(expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType,PredefinedType){var _this1423;_classCallCheck(this,IfcBuildingElementProxyType);_this1423=_super1420.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType);_this1423.GlobalId=GlobalId;_this1423.OwnerHistory=OwnerHistory;_this1423.Name=Name;_this1423.Description=Description;_this1423.ApplicableOccurrence=ApplicableOccurrence;_this1423.HasPropertySets=HasPropertySets;_this1423.RepresentationMaps=RepresentationMaps;_this1423.Tag=Tag;_this1423.ElementType=ElementType;_this1423.PredefinedType=PredefinedType;_this1423.type=1909888760;return _this1423;}return _createClass(IfcBuildingElementProxyType);}(IfcBuildingElementType);IFC42.IfcBuildingElementProxyType=IfcBuildingElementProxyType;var IfcBuildingSystem=/*#__PURE__*/function(_IfcSystem4){_inherits(IfcBuildingSystem,_IfcSystem4);var _super1421=_createSuper(IfcBuildingSystem);function IfcBuildingSystem(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,PredefinedType,LongName){var _this1424;_classCallCheck(this,IfcBuildingSystem);_this1424=_super1421.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType);_this1424.GlobalId=GlobalId;_this1424.OwnerHistory=OwnerHistory;_this1424.Name=Name;_this1424.Description=Description;_this1424.ObjectType=ObjectType;_this1424.PredefinedType=PredefinedType;_this1424.LongName=LongName;_this1424.type=1177604601;return _this1424;}return _createClass(IfcBuildingSystem);}(IfcSystem);IFC42.IfcBuildingSystem=IfcBuildingSystem;var IfcBurnerType=/*#__PURE__*/function(_IfcEnergyConversionD31){_inherits(IfcBurnerType,_IfcEnergyConversionD31);var _super1422=_createSuper(IfcBurnerType);function IfcBurnerType(expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType,PredefinedType){var _this1425;_classCallCheck(this,IfcBurnerType);_this1425=_super1422.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType);_this1425.GlobalId=GlobalId;_this1425.OwnerHistory=OwnerHistory;_this1425.Name=Name;_this1425.Description=Description;_this1425.ApplicableOccurrence=ApplicableOccurrence;_this1425.HasPropertySets=HasPropertySets;_this1425.RepresentationMaps=RepresentationMaps;_this1425.Tag=Tag;_this1425.ElementType=ElementType;_this1425.PredefinedType=PredefinedType;_this1425.type=2188180465;return _this1425;}return _createClass(IfcBurnerType);}(IfcEnergyConversionDeviceType);IFC42.IfcBurnerType=IfcBurnerType;var IfcCableCarrierFittingType=/*#__PURE__*/function(_IfcFlowFittingType7){_inherits(IfcCableCarrierFittingType,_IfcFlowFittingType7);var _super1423=_createSuper(IfcCableCarrierFittingType);function IfcCableCarrierFittingType(expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType,PredefinedType){var _this1426;_classCallCheck(this,IfcCableCarrierFittingType);_this1426=_super1423.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType);_this1426.GlobalId=GlobalId;_this1426.OwnerHistory=OwnerHistory;_this1426.Name=Name;_this1426.Description=Description;_this1426.ApplicableOccurrence=ApplicableOccurrence;_this1426.HasPropertySets=HasPropertySets;_this1426.RepresentationMaps=RepresentationMaps;_this1426.Tag=Tag;_this1426.ElementType=ElementType;_this1426.PredefinedType=PredefinedType;_this1426.type=395041908;return _this1426;}return _createClass(IfcCableCarrierFittingType);}(IfcFlowFittingType);IFC42.IfcCableCarrierFittingType=IfcCableCarrierFittingType;var IfcCableCarrierSegmentType=/*#__PURE__*/function(_IfcFlowSegmentType6){_inherits(IfcCableCarrierSegmentType,_IfcFlowSegmentType6);var _super1424=_createSuper(IfcCableCarrierSegmentType);function IfcCableCarrierSegmentType(expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType,PredefinedType){var _this1427;_classCallCheck(this,IfcCableCarrierSegmentType);_this1427=_super1424.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType);_this1427.GlobalId=GlobalId;_this1427.OwnerHistory=OwnerHistory;_this1427.Name=Name;_this1427.Description=Description;_this1427.ApplicableOccurrence=ApplicableOccurrence;_this1427.HasPropertySets=HasPropertySets;_this1427.RepresentationMaps=RepresentationMaps;_this1427.Tag=Tag;_this1427.ElementType=ElementType;_this1427.PredefinedType=PredefinedType;_this1427.type=3293546465;return _this1427;}return _createClass(IfcCableCarrierSegmentType);}(IfcFlowSegmentType);IFC42.IfcCableCarrierSegmentType=IfcCableCarrierSegmentType;var IfcCableFittingType=/*#__PURE__*/function(_IfcFlowFittingType8){_inherits(IfcCableFittingType,_IfcFlowFittingType8);var _super1425=_createSuper(IfcCableFittingType);function IfcCableFittingType(expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType,PredefinedType){var _this1428;_classCallCheck(this,IfcCableFittingType);_this1428=_super1425.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType);_this1428.GlobalId=GlobalId;_this1428.OwnerHistory=OwnerHistory;_this1428.Name=Name;_this1428.Description=Description;_this1428.ApplicableOccurrence=ApplicableOccurrence;_this1428.HasPropertySets=HasPropertySets;_this1428.RepresentationMaps=RepresentationMaps;_this1428.Tag=Tag;_this1428.ElementType=ElementType;_this1428.PredefinedType=PredefinedType;_this1428.type=2674252688;return _this1428;}return _createClass(IfcCableFittingType);}(IfcFlowFittingType);IFC42.IfcCableFittingType=IfcCableFittingType;var IfcCableSegmentType=/*#__PURE__*/function(_IfcFlowSegmentType7){_inherits(IfcCableSegmentType,_IfcFlowSegmentType7);var _super1426=_createSuper(IfcCableSegmentType);function IfcCableSegmentType(expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType,PredefinedType){var _this1429;_classCallCheck(this,IfcCableSegmentType);_this1429=_super1426.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType);_this1429.GlobalId=GlobalId;_this1429.OwnerHistory=OwnerHistory;_this1429.Name=Name;_this1429.Description=Description;_this1429.ApplicableOccurrence=ApplicableOccurrence;_this1429.HasPropertySets=HasPropertySets;_this1429.RepresentationMaps=RepresentationMaps;_this1429.Tag=Tag;_this1429.ElementType=ElementType;_this1429.PredefinedType=PredefinedType;_this1429.type=1285652485;return _this1429;}return _createClass(IfcCableSegmentType);}(IfcFlowSegmentType);IFC42.IfcCableSegmentType=IfcCableSegmentType;var IfcChillerType=/*#__PURE__*/function(_IfcEnergyConversionD32){_inherits(IfcChillerType,_IfcEnergyConversionD32);var _super1427=_createSuper(IfcChillerType);function IfcChillerType(expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType,PredefinedType){var _this1430;_classCallCheck(this,IfcChillerType);_this1430=_super1427.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType);_this1430.GlobalId=GlobalId;_this1430.OwnerHistory=OwnerHistory;_this1430.Name=Name;_this1430.Description=Description;_this1430.ApplicableOccurrence=ApplicableOccurrence;_this1430.HasPropertySets=HasPropertySets;_this1430.RepresentationMaps=RepresentationMaps;_this1430.Tag=Tag;_this1430.ElementType=ElementType;_this1430.PredefinedType=PredefinedType;_this1430.type=2951183804;return _this1430;}return _createClass(IfcChillerType);}(IfcEnergyConversionDeviceType);IFC42.IfcChillerType=IfcChillerType;var IfcChimney=/*#__PURE__*/function(_IfcBuildingElement22){_inherits(IfcChimney,_IfcBuildingElement22);var _super1428=_createSuper(IfcChimney);function IfcChimney(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag,PredefinedType){var _this1431;_classCallCheck(this,IfcChimney);_this1431=_super1428.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag);_this1431.GlobalId=GlobalId;_this1431.OwnerHistory=OwnerHistory;_this1431.Name=Name;_this1431.Description=Description;_this1431.ObjectType=ObjectType;_this1431.ObjectPlacement=ObjectPlacement;_this1431.Representation=Representation;_this1431.Tag=Tag;_this1431.PredefinedType=PredefinedType;_this1431.type=3296154744;return _this1431;}return _createClass(IfcChimney);}(IfcBuildingElement);IFC42.IfcChimney=IfcChimney;var IfcCircle=/*#__PURE__*/function(_IfcConic4){_inherits(IfcCircle,_IfcConic4);var _super1429=_createSuper(IfcCircle);function IfcCircle(expressID,Position,Radius){var _this1432;_classCallCheck(this,IfcCircle);_this1432=_super1429.call(this,expressID,Position);_this1432.Position=Position;_this1432.Radius=Radius;_this1432.type=2611217952;return _this1432;}return _createClass(IfcCircle);}(IfcConic);IFC42.IfcCircle=IfcCircle;var IfcCivilElement=/*#__PURE__*/function(_IfcElement19){_inherits(IfcCivilElement,_IfcElement19);var _super1430=_createSuper(IfcCivilElement);function IfcCivilElement(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag){var _this1433;_classCallCheck(this,IfcCivilElement);_this1433=_super1430.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag);_this1433.GlobalId=GlobalId;_this1433.OwnerHistory=OwnerHistory;_this1433.Name=Name;_this1433.Description=Description;_this1433.ObjectType=ObjectType;_this1433.ObjectPlacement=ObjectPlacement;_this1433.Representation=Representation;_this1433.Tag=Tag;_this1433.type=1677625105;return _this1433;}return _createClass(IfcCivilElement);}(IfcElement);IFC42.IfcCivilElement=IfcCivilElement;var IfcCoilType=/*#__PURE__*/function(_IfcEnergyConversionD33){_inherits(IfcCoilType,_IfcEnergyConversionD33);var _super1431=_createSuper(IfcCoilType);function IfcCoilType(expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType,PredefinedType){var _this1434;_classCallCheck(this,IfcCoilType);_this1434=_super1431.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType);_this1434.GlobalId=GlobalId;_this1434.OwnerHistory=OwnerHistory;_this1434.Name=Name;_this1434.Description=Description;_this1434.ApplicableOccurrence=ApplicableOccurrence;_this1434.HasPropertySets=HasPropertySets;_this1434.RepresentationMaps=RepresentationMaps;_this1434.Tag=Tag;_this1434.ElementType=ElementType;_this1434.PredefinedType=PredefinedType;_this1434.type=2301859152;return _this1434;}return _createClass(IfcCoilType);}(IfcEnergyConversionDeviceType);IFC42.IfcCoilType=IfcCoilType;var IfcColumn=/*#__PURE__*/function(_IfcBuildingElement23){_inherits(IfcColumn,_IfcBuildingElement23);var _super1432=_createSuper(IfcColumn);function IfcColumn(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag,PredefinedType){var _this1435;_classCallCheck(this,IfcColumn);_this1435=_super1432.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag);_this1435.GlobalId=GlobalId;_this1435.OwnerHistory=OwnerHistory;_this1435.Name=Name;_this1435.Description=Description;_this1435.ObjectType=ObjectType;_this1435.ObjectPlacement=ObjectPlacement;_this1435.Representation=Representation;_this1435.Tag=Tag;_this1435.PredefinedType=PredefinedType;_this1435.type=843113511;return _this1435;}return _createClass(IfcColumn);}(IfcBuildingElement);IFC42.IfcColumn=IfcColumn;var IfcColumnStandardCase=/*#__PURE__*/function(_IfcColumn){_inherits(IfcColumnStandardCase,_IfcColumn);var _super1433=_createSuper(IfcColumnStandardCase);function IfcColumnStandardCase(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag,PredefinedType){var _this1436;_classCallCheck(this,IfcColumnStandardCase);_this1436=_super1433.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag,PredefinedType);_this1436.GlobalId=GlobalId;_this1436.OwnerHistory=OwnerHistory;_this1436.Name=Name;_this1436.Description=Description;_this1436.ObjectType=ObjectType;_this1436.ObjectPlacement=ObjectPlacement;_this1436.Representation=Representation;_this1436.Tag=Tag;_this1436.PredefinedType=PredefinedType;_this1436.type=905975707;return _this1436;}return _createClass(IfcColumnStandardCase);}(IfcColumn);IFC42.IfcColumnStandardCase=IfcColumnStandardCase;var IfcCommunicationsApplianceType=/*#__PURE__*/function(_IfcFlowTerminalType22){_inherits(IfcCommunicationsApplianceType,_IfcFlowTerminalType22);var _super1434=_createSuper(IfcCommunicationsApplianceType);function IfcCommunicationsApplianceType(expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType,PredefinedType){var _this1437;_classCallCheck(this,IfcCommunicationsApplianceType);_this1437=_super1434.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType);_this1437.GlobalId=GlobalId;_this1437.OwnerHistory=OwnerHistory;_this1437.Name=Name;_this1437.Description=Description;_this1437.ApplicableOccurrence=ApplicableOccurrence;_this1437.HasPropertySets=HasPropertySets;_this1437.RepresentationMaps=RepresentationMaps;_this1437.Tag=Tag;_this1437.ElementType=ElementType;_this1437.PredefinedType=PredefinedType;_this1437.type=400855858;return _this1437;}return _createClass(IfcCommunicationsApplianceType);}(IfcFlowTerminalType);IFC42.IfcCommunicationsApplianceType=IfcCommunicationsApplianceType;var IfcCompressorType=/*#__PURE__*/function(_IfcFlowMovingDeviceT5){_inherits(IfcCompressorType,_IfcFlowMovingDeviceT5);var _super1435=_createSuper(IfcCompressorType);function IfcCompressorType(expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType,PredefinedType){var _this1438;_classCallCheck(this,IfcCompressorType);_this1438=_super1435.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType);_this1438.GlobalId=GlobalId;_this1438.OwnerHistory=OwnerHistory;_this1438.Name=Name;_this1438.Description=Description;_this1438.ApplicableOccurrence=ApplicableOccurrence;_this1438.HasPropertySets=HasPropertySets;_this1438.RepresentationMaps=RepresentationMaps;_this1438.Tag=Tag;_this1438.ElementType=ElementType;_this1438.PredefinedType=PredefinedType;_this1438.type=3850581409;return _this1438;}return _createClass(IfcCompressorType);}(IfcFlowMovingDeviceType);IFC42.IfcCompressorType=IfcCompressorType;var IfcCondenserType=/*#__PURE__*/function(_IfcEnergyConversionD34){_inherits(IfcCondenserType,_IfcEnergyConversionD34);var _super1436=_createSuper(IfcCondenserType);function IfcCondenserType(expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType,PredefinedType){var _this1439;_classCallCheck(this,IfcCondenserType);_this1439=_super1436.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType);_this1439.GlobalId=GlobalId;_this1439.OwnerHistory=OwnerHistory;_this1439.Name=Name;_this1439.Description=Description;_this1439.ApplicableOccurrence=ApplicableOccurrence;_this1439.HasPropertySets=HasPropertySets;_this1439.RepresentationMaps=RepresentationMaps;_this1439.Tag=Tag;_this1439.ElementType=ElementType;_this1439.PredefinedType=PredefinedType;_this1439.type=2816379211;return _this1439;}return _createClass(IfcCondenserType);}(IfcEnergyConversionDeviceType);IFC42.IfcCondenserType=IfcCondenserType;var IfcConstructionEquipmentResource=/*#__PURE__*/function(_IfcConstructionResou16){_inherits(IfcConstructionEquipmentResource,_IfcConstructionResou16);var _super1437=_createSuper(IfcConstructionEquipmentResource);function IfcConstructionEquipmentResource(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,Identification,LongDescription,Usage,BaseCosts,BaseQuantity,PredefinedType){var _this1440;_classCallCheck(this,IfcConstructionEquipmentResource);_this1440=_super1437.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,Identification,LongDescription,Usage,BaseCosts,BaseQuantity);_this1440.GlobalId=GlobalId;_this1440.OwnerHistory=OwnerHistory;_this1440.Name=Name;_this1440.Description=Description;_this1440.ObjectType=ObjectType;_this1440.Identification=Identification;_this1440.LongDescription=LongDescription;_this1440.Usage=Usage;_this1440.BaseCosts=BaseCosts;_this1440.BaseQuantity=BaseQuantity;_this1440.PredefinedType=PredefinedType;_this1440.type=3898045240;return _this1440;}return _createClass(IfcConstructionEquipmentResource);}(IfcConstructionResource);IFC42.IfcConstructionEquipmentResource=IfcConstructionEquipmentResource;var IfcConstructionMaterialResource=/*#__PURE__*/function(_IfcConstructionResou17){_inherits(IfcConstructionMaterialResource,_IfcConstructionResou17);var _super1438=_createSuper(IfcConstructionMaterialResource);function IfcConstructionMaterialResource(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,Identification,LongDescription,Usage,BaseCosts,BaseQuantity,PredefinedType){var _this1441;_classCallCheck(this,IfcConstructionMaterialResource);_this1441=_super1438.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,Identification,LongDescription,Usage,BaseCosts,BaseQuantity);_this1441.GlobalId=GlobalId;_this1441.OwnerHistory=OwnerHistory;_this1441.Name=Name;_this1441.Description=Description;_this1441.ObjectType=ObjectType;_this1441.Identification=Identification;_this1441.LongDescription=LongDescription;_this1441.Usage=Usage;_this1441.BaseCosts=BaseCosts;_this1441.BaseQuantity=BaseQuantity;_this1441.PredefinedType=PredefinedType;_this1441.type=1060000209;return _this1441;}return _createClass(IfcConstructionMaterialResource);}(IfcConstructionResource);IFC42.IfcConstructionMaterialResource=IfcConstructionMaterialResource;var IfcConstructionProductResource=/*#__PURE__*/function(_IfcConstructionResou18){_inherits(IfcConstructionProductResource,_IfcConstructionResou18);var _super1439=_createSuper(IfcConstructionProductResource);function IfcConstructionProductResource(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,Identification,LongDescription,Usage,BaseCosts,BaseQuantity,PredefinedType){var _this1442;_classCallCheck(this,IfcConstructionProductResource);_this1442=_super1439.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,Identification,LongDescription,Usage,BaseCosts,BaseQuantity);_this1442.GlobalId=GlobalId;_this1442.OwnerHistory=OwnerHistory;_this1442.Name=Name;_this1442.Description=Description;_this1442.ObjectType=ObjectType;_this1442.Identification=Identification;_this1442.LongDescription=LongDescription;_this1442.Usage=Usage;_this1442.BaseCosts=BaseCosts;_this1442.BaseQuantity=BaseQuantity;_this1442.PredefinedType=PredefinedType;_this1442.type=488727124;return _this1442;}return _createClass(IfcConstructionProductResource);}(IfcConstructionResource);IFC42.IfcConstructionProductResource=IfcConstructionProductResource;var IfcCooledBeamType=/*#__PURE__*/function(_IfcEnergyConversionD35){_inherits(IfcCooledBeamType,_IfcEnergyConversionD35);var _super1440=_createSuper(IfcCooledBeamType);function IfcCooledBeamType(expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType,PredefinedType){var _this1443;_classCallCheck(this,IfcCooledBeamType);_this1443=_super1440.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType);_this1443.GlobalId=GlobalId;_this1443.OwnerHistory=OwnerHistory;_this1443.Name=Name;_this1443.Description=Description;_this1443.ApplicableOccurrence=ApplicableOccurrence;_this1443.HasPropertySets=HasPropertySets;_this1443.RepresentationMaps=RepresentationMaps;_this1443.Tag=Tag;_this1443.ElementType=ElementType;_this1443.PredefinedType=PredefinedType;_this1443.type=335055490;return _this1443;}return _createClass(IfcCooledBeamType);}(IfcEnergyConversionDeviceType);IFC42.IfcCooledBeamType=IfcCooledBeamType;var IfcCoolingTowerType=/*#__PURE__*/function(_IfcEnergyConversionD36){_inherits(IfcCoolingTowerType,_IfcEnergyConversionD36);var _super1441=_createSuper(IfcCoolingTowerType);function IfcCoolingTowerType(expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType,PredefinedType){var _this1444;_classCallCheck(this,IfcCoolingTowerType);_this1444=_super1441.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType);_this1444.GlobalId=GlobalId;_this1444.OwnerHistory=OwnerHistory;_this1444.Name=Name;_this1444.Description=Description;_this1444.ApplicableOccurrence=ApplicableOccurrence;_this1444.HasPropertySets=HasPropertySets;_this1444.RepresentationMaps=RepresentationMaps;_this1444.Tag=Tag;_this1444.ElementType=ElementType;_this1444.PredefinedType=PredefinedType;_this1444.type=2954562838;return _this1444;}return _createClass(IfcCoolingTowerType);}(IfcEnergyConversionDeviceType);IFC42.IfcCoolingTowerType=IfcCoolingTowerType;var IfcCovering=/*#__PURE__*/function(_IfcBuildingElement24){_inherits(IfcCovering,_IfcBuildingElement24);var _super1442=_createSuper(IfcCovering);function IfcCovering(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag,PredefinedType){var _this1445;_classCallCheck(this,IfcCovering);_this1445=_super1442.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag);_this1445.GlobalId=GlobalId;_this1445.OwnerHistory=OwnerHistory;_this1445.Name=Name;_this1445.Description=Description;_this1445.ObjectType=ObjectType;_this1445.ObjectPlacement=ObjectPlacement;_this1445.Representation=Representation;_this1445.Tag=Tag;_this1445.PredefinedType=PredefinedType;_this1445.type=1973544240;return _this1445;}return _createClass(IfcCovering);}(IfcBuildingElement);IFC42.IfcCovering=IfcCovering;var IfcCurtainWall=/*#__PURE__*/function(_IfcBuildingElement25){_inherits(IfcCurtainWall,_IfcBuildingElement25);var _super1443=_createSuper(IfcCurtainWall);function IfcCurtainWall(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag,PredefinedType){var _this1446;_classCallCheck(this,IfcCurtainWall);_this1446=_super1443.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag);_this1446.GlobalId=GlobalId;_this1446.OwnerHistory=OwnerHistory;_this1446.Name=Name;_this1446.Description=Description;_this1446.ObjectType=ObjectType;_this1446.ObjectPlacement=ObjectPlacement;_this1446.Representation=Representation;_this1446.Tag=Tag;_this1446.PredefinedType=PredefinedType;_this1446.type=3495092785;return _this1446;}return _createClass(IfcCurtainWall);}(IfcBuildingElement);IFC42.IfcCurtainWall=IfcCurtainWall;var IfcDamperType=/*#__PURE__*/function(_IfcFlowControllerTyp13){_inherits(IfcDamperType,_IfcFlowControllerTyp13);var _super1444=_createSuper(IfcDamperType);function IfcDamperType(expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType,PredefinedType){var _this1447;_classCallCheck(this,IfcDamperType);_this1447=_super1444.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType);_this1447.GlobalId=GlobalId;_this1447.OwnerHistory=OwnerHistory;_this1447.Name=Name;_this1447.Description=Description;_this1447.ApplicableOccurrence=ApplicableOccurrence;_this1447.HasPropertySets=HasPropertySets;_this1447.RepresentationMaps=RepresentationMaps;_this1447.Tag=Tag;_this1447.ElementType=ElementType;_this1447.PredefinedType=PredefinedType;_this1447.type=3961806047;return _this1447;}return _createClass(IfcDamperType);}(IfcFlowControllerType);IFC42.IfcDamperType=IfcDamperType;var IfcDiscreteAccessory=/*#__PURE__*/function(_IfcElementComponent8){_inherits(IfcDiscreteAccessory,_IfcElementComponent8);var _super1445=_createSuper(IfcDiscreteAccessory);function IfcDiscreteAccessory(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag,PredefinedType){var _this1448;_classCallCheck(this,IfcDiscreteAccessory);_this1448=_super1445.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag);_this1448.GlobalId=GlobalId;_this1448.OwnerHistory=OwnerHistory;_this1448.Name=Name;_this1448.Description=Description;_this1448.ObjectType=ObjectType;_this1448.ObjectPlacement=ObjectPlacement;_this1448.Representation=Representation;_this1448.Tag=Tag;_this1448.PredefinedType=PredefinedType;_this1448.type=1335981549;return _this1448;}return _createClass(IfcDiscreteAccessory);}(IfcElementComponent);IFC42.IfcDiscreteAccessory=IfcDiscreteAccessory;var IfcDiscreteAccessoryType=/*#__PURE__*/function(_IfcElementComponentT8){_inherits(IfcDiscreteAccessoryType,_IfcElementComponentT8);var _super1446=_createSuper(IfcDiscreteAccessoryType);function IfcDiscreteAccessoryType(expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType,PredefinedType){var _this1449;_classCallCheck(this,IfcDiscreteAccessoryType);_this1449=_super1446.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType);_this1449.GlobalId=GlobalId;_this1449.OwnerHistory=OwnerHistory;_this1449.Name=Name;_this1449.Description=Description;_this1449.ApplicableOccurrence=ApplicableOccurrence;_this1449.HasPropertySets=HasPropertySets;_this1449.RepresentationMaps=RepresentationMaps;_this1449.Tag=Tag;_this1449.ElementType=ElementType;_this1449.PredefinedType=PredefinedType;_this1449.type=2635815018;return _this1449;}return _createClass(IfcDiscreteAccessoryType);}(IfcElementComponentType);IFC42.IfcDiscreteAccessoryType=IfcDiscreteAccessoryType;var IfcDistributionChamberElementType=/*#__PURE__*/function(_IfcDistributionFlowE27){_inherits(IfcDistributionChamberElementType,_IfcDistributionFlowE27);var _super1447=_createSuper(IfcDistributionChamberElementType);function IfcDistributionChamberElementType(expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType,PredefinedType){var _this1450;_classCallCheck(this,IfcDistributionChamberElementType);_this1450=_super1447.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType);_this1450.GlobalId=GlobalId;_this1450.OwnerHistory=OwnerHistory;_this1450.Name=Name;_this1450.Description=Description;_this1450.ApplicableOccurrence=ApplicableOccurrence;_this1450.HasPropertySets=HasPropertySets;_this1450.RepresentationMaps=RepresentationMaps;_this1450.Tag=Tag;_this1450.ElementType=ElementType;_this1450.PredefinedType=PredefinedType;_this1450.type=1599208980;return _this1450;}return _createClass(IfcDistributionChamberElementType);}(IfcDistributionFlowElementType);IFC42.IfcDistributionChamberElementType=IfcDistributionChamberElementType;var IfcDistributionControlElementType=/*#__PURE__*/function(_IfcDistributionEleme6){_inherits(IfcDistributionControlElementType,_IfcDistributionEleme6);var _super1448=_createSuper(IfcDistributionControlElementType);function IfcDistributionControlElementType(expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType){var _this1451;_classCallCheck(this,IfcDistributionControlElementType);_this1451=_super1448.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType);_this1451.GlobalId=GlobalId;_this1451.OwnerHistory=OwnerHistory;_this1451.Name=Name;_this1451.Description=Description;_this1451.ApplicableOccurrence=ApplicableOccurrence;_this1451.HasPropertySets=HasPropertySets;_this1451.RepresentationMaps=RepresentationMaps;_this1451.Tag=Tag;_this1451.ElementType=ElementType;_this1451.type=2063403501;return _this1451;}return _createClass(IfcDistributionControlElementType);}(IfcDistributionElementType);IFC42.IfcDistributionControlElementType=IfcDistributionControlElementType;var IfcDistributionElement=/*#__PURE__*/function(_IfcElement20){_inherits(IfcDistributionElement,_IfcElement20);var _super1449=_createSuper(IfcDistributionElement);function IfcDistributionElement(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag){var _this1452;_classCallCheck(this,IfcDistributionElement);_this1452=_super1449.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag);_this1452.GlobalId=GlobalId;_this1452.OwnerHistory=OwnerHistory;_this1452.Name=Name;_this1452.Description=Description;_this1452.ObjectType=ObjectType;_this1452.ObjectPlacement=ObjectPlacement;_this1452.Representation=Representation;_this1452.Tag=Tag;_this1452.type=1945004755;return _this1452;}return _createClass(IfcDistributionElement);}(IfcElement);IFC42.IfcDistributionElement=IfcDistributionElement;var IfcDistributionFlowElement=/*#__PURE__*/function(_IfcDistributionEleme7){_inherits(IfcDistributionFlowElement,_IfcDistributionEleme7);var _super1450=_createSuper(IfcDistributionFlowElement);function IfcDistributionFlowElement(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag){var _this1453;_classCallCheck(this,IfcDistributionFlowElement);_this1453=_super1450.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag);_this1453.GlobalId=GlobalId;_this1453.OwnerHistory=OwnerHistory;_this1453.Name=Name;_this1453.Description=Description;_this1453.ObjectType=ObjectType;_this1453.ObjectPlacement=ObjectPlacement;_this1453.Representation=Representation;_this1453.Tag=Tag;_this1453.type=3040386961;return _this1453;}return _createClass(IfcDistributionFlowElement);}(IfcDistributionElement);IFC42.IfcDistributionFlowElement=IfcDistributionFlowElement;var IfcDistributionPort=/*#__PURE__*/function(_IfcPort2){_inherits(IfcDistributionPort,_IfcPort2);var _super1451=_createSuper(IfcDistributionPort);function IfcDistributionPort(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,FlowDirection,PredefinedType,SystemType){var _this1454;_classCallCheck(this,IfcDistributionPort);_this1454=_super1451.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation);_this1454.GlobalId=GlobalId;_this1454.OwnerHistory=OwnerHistory;_this1454.Name=Name;_this1454.Description=Description;_this1454.ObjectType=ObjectType;_this1454.ObjectPlacement=ObjectPlacement;_this1454.Representation=Representation;_this1454.FlowDirection=FlowDirection;_this1454.PredefinedType=PredefinedType;_this1454.SystemType=SystemType;_this1454.type=3041715199;return _this1454;}return _createClass(IfcDistributionPort);}(IfcPort);IFC42.IfcDistributionPort=IfcDistributionPort;var IfcDistributionSystem=/*#__PURE__*/function(_IfcSystem5){_inherits(IfcDistributionSystem,_IfcSystem5);var _super1452=_createSuper(IfcDistributionSystem);function IfcDistributionSystem(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,LongName,PredefinedType){var _this1455;_classCallCheck(this,IfcDistributionSystem);_this1455=_super1452.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType);_this1455.GlobalId=GlobalId;_this1455.OwnerHistory=OwnerHistory;_this1455.Name=Name;_this1455.Description=Description;_this1455.ObjectType=ObjectType;_this1455.LongName=LongName;_this1455.PredefinedType=PredefinedType;_this1455.type=3205830791;return _this1455;}return _createClass(IfcDistributionSystem);}(IfcSystem);IFC42.IfcDistributionSystem=IfcDistributionSystem;var IfcDoor=/*#__PURE__*/function(_IfcBuildingElement26){_inherits(IfcDoor,_IfcBuildingElement26);var _super1453=_createSuper(IfcDoor);function IfcDoor(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag,OverallHeight,OverallWidth,PredefinedType,OperationType,UserDefinedOperationType){var _this1456;_classCallCheck(this,IfcDoor);_this1456=_super1453.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag);_this1456.GlobalId=GlobalId;_this1456.OwnerHistory=OwnerHistory;_this1456.Name=Name;_this1456.Description=Description;_this1456.ObjectType=ObjectType;_this1456.ObjectPlacement=ObjectPlacement;_this1456.Representation=Representation;_this1456.Tag=Tag;_this1456.OverallHeight=OverallHeight;_this1456.OverallWidth=OverallWidth;_this1456.PredefinedType=PredefinedType;_this1456.OperationType=OperationType;_this1456.UserDefinedOperationType=UserDefinedOperationType;_this1456.type=395920057;return _this1456;}return _createClass(IfcDoor);}(IfcBuildingElement);IFC42.IfcDoor=IfcDoor;var IfcDoorStandardCase=/*#__PURE__*/function(_IfcDoor){_inherits(IfcDoorStandardCase,_IfcDoor);var _super1454=_createSuper(IfcDoorStandardCase);function IfcDoorStandardCase(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag,OverallHeight,OverallWidth,PredefinedType,OperationType,UserDefinedOperationType){var _this1457;_classCallCheck(this,IfcDoorStandardCase);_this1457=_super1454.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag,OverallHeight,OverallWidth,PredefinedType,OperationType,UserDefinedOperationType);_this1457.GlobalId=GlobalId;_this1457.OwnerHistory=OwnerHistory;_this1457.Name=Name;_this1457.Description=Description;_this1457.ObjectType=ObjectType;_this1457.ObjectPlacement=ObjectPlacement;_this1457.Representation=Representation;_this1457.Tag=Tag;_this1457.OverallHeight=OverallHeight;_this1457.OverallWidth=OverallWidth;_this1457.PredefinedType=PredefinedType;_this1457.OperationType=OperationType;_this1457.UserDefinedOperationType=UserDefinedOperationType;_this1457.type=3242481149;return _this1457;}return _createClass(IfcDoorStandardCase);}(IfcDoor);IFC42.IfcDoorStandardCase=IfcDoorStandardCase;var IfcDuctFittingType=/*#__PURE__*/function(_IfcFlowFittingType9){_inherits(IfcDuctFittingType,_IfcFlowFittingType9);var _super1455=_createSuper(IfcDuctFittingType);function IfcDuctFittingType(expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType,PredefinedType){var _this1458;_classCallCheck(this,IfcDuctFittingType);_this1458=_super1455.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType);_this1458.GlobalId=GlobalId;_this1458.OwnerHistory=OwnerHistory;_this1458.Name=Name;_this1458.Description=Description;_this1458.ApplicableOccurrence=ApplicableOccurrence;_this1458.HasPropertySets=HasPropertySets;_this1458.RepresentationMaps=RepresentationMaps;_this1458.Tag=Tag;_this1458.ElementType=ElementType;_this1458.PredefinedType=PredefinedType;_this1458.type=869906466;return _this1458;}return _createClass(IfcDuctFittingType);}(IfcFlowFittingType);IFC42.IfcDuctFittingType=IfcDuctFittingType;var IfcDuctSegmentType=/*#__PURE__*/function(_IfcFlowSegmentType8){_inherits(IfcDuctSegmentType,_IfcFlowSegmentType8);var _super1456=_createSuper(IfcDuctSegmentType);function IfcDuctSegmentType(expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType,PredefinedType){var _this1459;_classCallCheck(this,IfcDuctSegmentType);_this1459=_super1456.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType);_this1459.GlobalId=GlobalId;_this1459.OwnerHistory=OwnerHistory;_this1459.Name=Name;_this1459.Description=Description;_this1459.ApplicableOccurrence=ApplicableOccurrence;_this1459.HasPropertySets=HasPropertySets;_this1459.RepresentationMaps=RepresentationMaps;_this1459.Tag=Tag;_this1459.ElementType=ElementType;_this1459.PredefinedType=PredefinedType;_this1459.type=3760055223;return _this1459;}return _createClass(IfcDuctSegmentType);}(IfcFlowSegmentType);IFC42.IfcDuctSegmentType=IfcDuctSegmentType;var IfcDuctSilencerType=/*#__PURE__*/function(_IfcFlowTreatmentDevi4){_inherits(IfcDuctSilencerType,_IfcFlowTreatmentDevi4);var _super1457=_createSuper(IfcDuctSilencerType);function IfcDuctSilencerType(expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType,PredefinedType){var _this1460;_classCallCheck(this,IfcDuctSilencerType);_this1460=_super1457.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType);_this1460.GlobalId=GlobalId;_this1460.OwnerHistory=OwnerHistory;_this1460.Name=Name;_this1460.Description=Description;_this1460.ApplicableOccurrence=ApplicableOccurrence;_this1460.HasPropertySets=HasPropertySets;_this1460.RepresentationMaps=RepresentationMaps;_this1460.Tag=Tag;_this1460.ElementType=ElementType;_this1460.PredefinedType=PredefinedType;_this1460.type=2030761528;return _this1460;}return _createClass(IfcDuctSilencerType);}(IfcFlowTreatmentDeviceType);IFC42.IfcDuctSilencerType=IfcDuctSilencerType;var IfcElectricApplianceType=/*#__PURE__*/function(_IfcFlowTerminalType23){_inherits(IfcElectricApplianceType,_IfcFlowTerminalType23);var _super1458=_createSuper(IfcElectricApplianceType);function IfcElectricApplianceType(expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType,PredefinedType){var _this1461;_classCallCheck(this,IfcElectricApplianceType);_this1461=_super1458.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType);_this1461.GlobalId=GlobalId;_this1461.OwnerHistory=OwnerHistory;_this1461.Name=Name;_this1461.Description=Description;_this1461.ApplicableOccurrence=ApplicableOccurrence;_this1461.HasPropertySets=HasPropertySets;_this1461.RepresentationMaps=RepresentationMaps;_this1461.Tag=Tag;_this1461.ElementType=ElementType;_this1461.PredefinedType=PredefinedType;_this1461.type=663422040;return _this1461;}return _createClass(IfcElectricApplianceType);}(IfcFlowTerminalType);IFC42.IfcElectricApplianceType=IfcElectricApplianceType;var IfcElectricDistributionBoardType=/*#__PURE__*/function(_IfcFlowControllerTyp14){_inherits(IfcElectricDistributionBoardType,_IfcFlowControllerTyp14);var _super1459=_createSuper(IfcElectricDistributionBoardType);function IfcElectricDistributionBoardType(expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType,PredefinedType){var _this1462;_classCallCheck(this,IfcElectricDistributionBoardType);_this1462=_super1459.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType);_this1462.GlobalId=GlobalId;_this1462.OwnerHistory=OwnerHistory;_this1462.Name=Name;_this1462.Description=Description;_this1462.ApplicableOccurrence=ApplicableOccurrence;_this1462.HasPropertySets=HasPropertySets;_this1462.RepresentationMaps=RepresentationMaps;_this1462.Tag=Tag;_this1462.ElementType=ElementType;_this1462.PredefinedType=PredefinedType;_this1462.type=2417008758;return _this1462;}return _createClass(IfcElectricDistributionBoardType);}(IfcFlowControllerType);IFC42.IfcElectricDistributionBoardType=IfcElectricDistributionBoardType;var IfcElectricFlowStorageDeviceType=/*#__PURE__*/function(_IfcFlowStorageDevice4){_inherits(IfcElectricFlowStorageDeviceType,_IfcFlowStorageDevice4);var _super1460=_createSuper(IfcElectricFlowStorageDeviceType);function IfcElectricFlowStorageDeviceType(expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType,PredefinedType){var _this1463;_classCallCheck(this,IfcElectricFlowStorageDeviceType);_this1463=_super1460.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType);_this1463.GlobalId=GlobalId;_this1463.OwnerHistory=OwnerHistory;_this1463.Name=Name;_this1463.Description=Description;_this1463.ApplicableOccurrence=ApplicableOccurrence;_this1463.HasPropertySets=HasPropertySets;_this1463.RepresentationMaps=RepresentationMaps;_this1463.Tag=Tag;_this1463.ElementType=ElementType;_this1463.PredefinedType=PredefinedType;_this1463.type=3277789161;return _this1463;}return _createClass(IfcElectricFlowStorageDeviceType);}(IfcFlowStorageDeviceType);IFC42.IfcElectricFlowStorageDeviceType=IfcElectricFlowStorageDeviceType;var IfcElectricGeneratorType=/*#__PURE__*/function(_IfcEnergyConversionD37){_inherits(IfcElectricGeneratorType,_IfcEnergyConversionD37);var _super1461=_createSuper(IfcElectricGeneratorType);function IfcElectricGeneratorType(expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType,PredefinedType){var _this1464;_classCallCheck(this,IfcElectricGeneratorType);_this1464=_super1461.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType);_this1464.GlobalId=GlobalId;_this1464.OwnerHistory=OwnerHistory;_this1464.Name=Name;_this1464.Description=Description;_this1464.ApplicableOccurrence=ApplicableOccurrence;_this1464.HasPropertySets=HasPropertySets;_this1464.RepresentationMaps=RepresentationMaps;_this1464.Tag=Tag;_this1464.ElementType=ElementType;_this1464.PredefinedType=PredefinedType;_this1464.type=1534661035;return _this1464;}return _createClass(IfcElectricGeneratorType);}(IfcEnergyConversionDeviceType);IFC42.IfcElectricGeneratorType=IfcElectricGeneratorType;var IfcElectricMotorType=/*#__PURE__*/function(_IfcEnergyConversionD38){_inherits(IfcElectricMotorType,_IfcEnergyConversionD38);var _super1462=_createSuper(IfcElectricMotorType);function IfcElectricMotorType(expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType,PredefinedType){var _this1465;_classCallCheck(this,IfcElectricMotorType);_this1465=_super1462.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType);_this1465.GlobalId=GlobalId;_this1465.OwnerHistory=OwnerHistory;_this1465.Name=Name;_this1465.Description=Description;_this1465.ApplicableOccurrence=ApplicableOccurrence;_this1465.HasPropertySets=HasPropertySets;_this1465.RepresentationMaps=RepresentationMaps;_this1465.Tag=Tag;_this1465.ElementType=ElementType;_this1465.PredefinedType=PredefinedType;_this1465.type=1217240411;return _this1465;}return _createClass(IfcElectricMotorType);}(IfcEnergyConversionDeviceType);IFC42.IfcElectricMotorType=IfcElectricMotorType;var IfcElectricTimeControlType=/*#__PURE__*/function(_IfcFlowControllerTyp15){_inherits(IfcElectricTimeControlType,_IfcFlowControllerTyp15);var _super1463=_createSuper(IfcElectricTimeControlType);function IfcElectricTimeControlType(expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType,PredefinedType){var _this1466;_classCallCheck(this,IfcElectricTimeControlType);_this1466=_super1463.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType);_this1466.GlobalId=GlobalId;_this1466.OwnerHistory=OwnerHistory;_this1466.Name=Name;_this1466.Description=Description;_this1466.ApplicableOccurrence=ApplicableOccurrence;_this1466.HasPropertySets=HasPropertySets;_this1466.RepresentationMaps=RepresentationMaps;_this1466.Tag=Tag;_this1466.ElementType=ElementType;_this1466.PredefinedType=PredefinedType;_this1466.type=712377611;return _this1466;}return _createClass(IfcElectricTimeControlType);}(IfcFlowControllerType);IFC42.IfcElectricTimeControlType=IfcElectricTimeControlType;var IfcEnergyConversionDevice=/*#__PURE__*/function(_IfcDistributionFlowE28){_inherits(IfcEnergyConversionDevice,_IfcDistributionFlowE28);var _super1464=_createSuper(IfcEnergyConversionDevice);function IfcEnergyConversionDevice(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag){var _this1467;_classCallCheck(this,IfcEnergyConversionDevice);_this1467=_super1464.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag);_this1467.GlobalId=GlobalId;_this1467.OwnerHistory=OwnerHistory;_this1467.Name=Name;_this1467.Description=Description;_this1467.ObjectType=ObjectType;_this1467.ObjectPlacement=ObjectPlacement;_this1467.Representation=Representation;_this1467.Tag=Tag;_this1467.type=1658829314;return _this1467;}return _createClass(IfcEnergyConversionDevice);}(IfcDistributionFlowElement);IFC42.IfcEnergyConversionDevice=IfcEnergyConversionDevice;var IfcEngine=/*#__PURE__*/function(_IfcEnergyConversionD39){_inherits(IfcEngine,_IfcEnergyConversionD39);var _super1465=_createSuper(IfcEngine);function IfcEngine(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag,PredefinedType){var _this1468;_classCallCheck(this,IfcEngine);_this1468=_super1465.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag);_this1468.GlobalId=GlobalId;_this1468.OwnerHistory=OwnerHistory;_this1468.Name=Name;_this1468.Description=Description;_this1468.ObjectType=ObjectType;_this1468.ObjectPlacement=ObjectPlacement;_this1468.Representation=Representation;_this1468.Tag=Tag;_this1468.PredefinedType=PredefinedType;_this1468.type=2814081492;return _this1468;}return _createClass(IfcEngine);}(IfcEnergyConversionDevice);IFC42.IfcEngine=IfcEngine;var IfcEvaporativeCooler=/*#__PURE__*/function(_IfcEnergyConversionD40){_inherits(IfcEvaporativeCooler,_IfcEnergyConversionD40);var _super1466=_createSuper(IfcEvaporativeCooler);function IfcEvaporativeCooler(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag,PredefinedType){var _this1469;_classCallCheck(this,IfcEvaporativeCooler);_this1469=_super1466.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag);_this1469.GlobalId=GlobalId;_this1469.OwnerHistory=OwnerHistory;_this1469.Name=Name;_this1469.Description=Description;_this1469.ObjectType=ObjectType;_this1469.ObjectPlacement=ObjectPlacement;_this1469.Representation=Representation;_this1469.Tag=Tag;_this1469.PredefinedType=PredefinedType;_this1469.type=3747195512;return _this1469;}return _createClass(IfcEvaporativeCooler);}(IfcEnergyConversionDevice);IFC42.IfcEvaporativeCooler=IfcEvaporativeCooler;var IfcEvaporator=/*#__PURE__*/function(_IfcEnergyConversionD41){_inherits(IfcEvaporator,_IfcEnergyConversionD41);var _super1467=_createSuper(IfcEvaporator);function IfcEvaporator(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag,PredefinedType){var _this1470;_classCallCheck(this,IfcEvaporator);_this1470=_super1467.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag);_this1470.GlobalId=GlobalId;_this1470.OwnerHistory=OwnerHistory;_this1470.Name=Name;_this1470.Description=Description;_this1470.ObjectType=ObjectType;_this1470.ObjectPlacement=ObjectPlacement;_this1470.Representation=Representation;_this1470.Tag=Tag;_this1470.PredefinedType=PredefinedType;_this1470.type=484807127;return _this1470;}return _createClass(IfcEvaporator);}(IfcEnergyConversionDevice);IFC42.IfcEvaporator=IfcEvaporator;var IfcExternalSpatialElement=/*#__PURE__*/function(_IfcExternalSpatialSt){_inherits(IfcExternalSpatialElement,_IfcExternalSpatialSt);var _super1468=_createSuper(IfcExternalSpatialElement);function IfcExternalSpatialElement(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,LongName,PredefinedType){var _this1471;_classCallCheck(this,IfcExternalSpatialElement);_this1471=_super1468.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,LongName);_this1471.GlobalId=GlobalId;_this1471.OwnerHistory=OwnerHistory;_this1471.Name=Name;_this1471.Description=Description;_this1471.ObjectType=ObjectType;_this1471.ObjectPlacement=ObjectPlacement;_this1471.Representation=Representation;_this1471.LongName=LongName;_this1471.PredefinedType=PredefinedType;_this1471.type=1209101575;return _this1471;}return _createClass(IfcExternalSpatialElement);}(IfcExternalSpatialStructureElement);IFC42.IfcExternalSpatialElement=IfcExternalSpatialElement;var IfcFanType=/*#__PURE__*/function(_IfcFlowMovingDeviceT6){_inherits(IfcFanType,_IfcFlowMovingDeviceT6);var _super1469=_createSuper(IfcFanType);function IfcFanType(expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType,PredefinedType){var _this1472;_classCallCheck(this,IfcFanType);_this1472=_super1469.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType);_this1472.GlobalId=GlobalId;_this1472.OwnerHistory=OwnerHistory;_this1472.Name=Name;_this1472.Description=Description;_this1472.ApplicableOccurrence=ApplicableOccurrence;_this1472.HasPropertySets=HasPropertySets;_this1472.RepresentationMaps=RepresentationMaps;_this1472.Tag=Tag;_this1472.ElementType=ElementType;_this1472.PredefinedType=PredefinedType;_this1472.type=346874300;return _this1472;}return _createClass(IfcFanType);}(IfcFlowMovingDeviceType);IFC42.IfcFanType=IfcFanType;var IfcFilterType=/*#__PURE__*/function(_IfcFlowTreatmentDevi5){_inherits(IfcFilterType,_IfcFlowTreatmentDevi5);var _super1470=_createSuper(IfcFilterType);function IfcFilterType(expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType,PredefinedType){var _this1473;_classCallCheck(this,IfcFilterType);_this1473=_super1470.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType);_this1473.GlobalId=GlobalId;_this1473.OwnerHistory=OwnerHistory;_this1473.Name=Name;_this1473.Description=Description;_this1473.ApplicableOccurrence=ApplicableOccurrence;_this1473.HasPropertySets=HasPropertySets;_this1473.RepresentationMaps=RepresentationMaps;_this1473.Tag=Tag;_this1473.ElementType=ElementType;_this1473.PredefinedType=PredefinedType;_this1473.type=1810631287;return _this1473;}return _createClass(IfcFilterType);}(IfcFlowTreatmentDeviceType);IFC42.IfcFilterType=IfcFilterType;var IfcFireSuppressionTerminalType=/*#__PURE__*/function(_IfcFlowTerminalType24){_inherits(IfcFireSuppressionTerminalType,_IfcFlowTerminalType24);var _super1471=_createSuper(IfcFireSuppressionTerminalType);function IfcFireSuppressionTerminalType(expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType,PredefinedType){var _this1474;_classCallCheck(this,IfcFireSuppressionTerminalType);_this1474=_super1471.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType);_this1474.GlobalId=GlobalId;_this1474.OwnerHistory=OwnerHistory;_this1474.Name=Name;_this1474.Description=Description;_this1474.ApplicableOccurrence=ApplicableOccurrence;_this1474.HasPropertySets=HasPropertySets;_this1474.RepresentationMaps=RepresentationMaps;_this1474.Tag=Tag;_this1474.ElementType=ElementType;_this1474.PredefinedType=PredefinedType;_this1474.type=4222183408;return _this1474;}return _createClass(IfcFireSuppressionTerminalType);}(IfcFlowTerminalType);IFC42.IfcFireSuppressionTerminalType=IfcFireSuppressionTerminalType;var IfcFlowController=/*#__PURE__*/function(_IfcDistributionFlowE29){_inherits(IfcFlowController,_IfcDistributionFlowE29);var _super1472=_createSuper(IfcFlowController);function IfcFlowController(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag){var _this1475;_classCallCheck(this,IfcFlowController);_this1475=_super1472.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag);_this1475.GlobalId=GlobalId;_this1475.OwnerHistory=OwnerHistory;_this1475.Name=Name;_this1475.Description=Description;_this1475.ObjectType=ObjectType;_this1475.ObjectPlacement=ObjectPlacement;_this1475.Representation=Representation;_this1475.Tag=Tag;_this1475.type=2058353004;return _this1475;}return _createClass(IfcFlowController);}(IfcDistributionFlowElement);IFC42.IfcFlowController=IfcFlowController;var IfcFlowFitting=/*#__PURE__*/function(_IfcDistributionFlowE30){_inherits(IfcFlowFitting,_IfcDistributionFlowE30);var _super1473=_createSuper(IfcFlowFitting);function IfcFlowFitting(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag){var _this1476;_classCallCheck(this,IfcFlowFitting);_this1476=_super1473.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag);_this1476.GlobalId=GlobalId;_this1476.OwnerHistory=OwnerHistory;_this1476.Name=Name;_this1476.Description=Description;_this1476.ObjectType=ObjectType;_this1476.ObjectPlacement=ObjectPlacement;_this1476.Representation=Representation;_this1476.Tag=Tag;_this1476.type=4278956645;return _this1476;}return _createClass(IfcFlowFitting);}(IfcDistributionFlowElement);IFC42.IfcFlowFitting=IfcFlowFitting;var IfcFlowInstrumentType=/*#__PURE__*/function(_IfcDistributionContr6){_inherits(IfcFlowInstrumentType,_IfcDistributionContr6);var _super1474=_createSuper(IfcFlowInstrumentType);function IfcFlowInstrumentType(expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType,PredefinedType){var _this1477;_classCallCheck(this,IfcFlowInstrumentType);_this1477=_super1474.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType);_this1477.GlobalId=GlobalId;_this1477.OwnerHistory=OwnerHistory;_this1477.Name=Name;_this1477.Description=Description;_this1477.ApplicableOccurrence=ApplicableOccurrence;_this1477.HasPropertySets=HasPropertySets;_this1477.RepresentationMaps=RepresentationMaps;_this1477.Tag=Tag;_this1477.ElementType=ElementType;_this1477.PredefinedType=PredefinedType;_this1477.type=4037862832;return _this1477;}return _createClass(IfcFlowInstrumentType);}(IfcDistributionControlElementType);IFC42.IfcFlowInstrumentType=IfcFlowInstrumentType;var IfcFlowMeter=/*#__PURE__*/function(_IfcFlowController2){_inherits(IfcFlowMeter,_IfcFlowController2);var _super1475=_createSuper(IfcFlowMeter);function IfcFlowMeter(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag,PredefinedType){var _this1478;_classCallCheck(this,IfcFlowMeter);_this1478=_super1475.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag);_this1478.GlobalId=GlobalId;_this1478.OwnerHistory=OwnerHistory;_this1478.Name=Name;_this1478.Description=Description;_this1478.ObjectType=ObjectType;_this1478.ObjectPlacement=ObjectPlacement;_this1478.Representation=Representation;_this1478.Tag=Tag;_this1478.PredefinedType=PredefinedType;_this1478.type=2188021234;return _this1478;}return _createClass(IfcFlowMeter);}(IfcFlowController);IFC42.IfcFlowMeter=IfcFlowMeter;var IfcFlowMovingDevice=/*#__PURE__*/function(_IfcDistributionFlowE31){_inherits(IfcFlowMovingDevice,_IfcDistributionFlowE31);var _super1476=_createSuper(IfcFlowMovingDevice);function IfcFlowMovingDevice(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag){var _this1479;_classCallCheck(this,IfcFlowMovingDevice);_this1479=_super1476.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag);_this1479.GlobalId=GlobalId;_this1479.OwnerHistory=OwnerHistory;_this1479.Name=Name;_this1479.Description=Description;_this1479.ObjectType=ObjectType;_this1479.ObjectPlacement=ObjectPlacement;_this1479.Representation=Representation;_this1479.Tag=Tag;_this1479.type=3132237377;return _this1479;}return _createClass(IfcFlowMovingDevice);}(IfcDistributionFlowElement);IFC42.IfcFlowMovingDevice=IfcFlowMovingDevice;var IfcFlowSegment=/*#__PURE__*/function(_IfcDistributionFlowE32){_inherits(IfcFlowSegment,_IfcDistributionFlowE32);var _super1477=_createSuper(IfcFlowSegment);function IfcFlowSegment(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag){var _this1480;_classCallCheck(this,IfcFlowSegment);_this1480=_super1477.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag);_this1480.GlobalId=GlobalId;_this1480.OwnerHistory=OwnerHistory;_this1480.Name=Name;_this1480.Description=Description;_this1480.ObjectType=ObjectType;_this1480.ObjectPlacement=ObjectPlacement;_this1480.Representation=Representation;_this1480.Tag=Tag;_this1480.type=987401354;return _this1480;}return _createClass(IfcFlowSegment);}(IfcDistributionFlowElement);IFC42.IfcFlowSegment=IfcFlowSegment;var IfcFlowStorageDevice=/*#__PURE__*/function(_IfcDistributionFlowE33){_inherits(IfcFlowStorageDevice,_IfcDistributionFlowE33);var _super1478=_createSuper(IfcFlowStorageDevice);function IfcFlowStorageDevice(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag){var _this1481;_classCallCheck(this,IfcFlowStorageDevice);_this1481=_super1478.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag);_this1481.GlobalId=GlobalId;_this1481.OwnerHistory=OwnerHistory;_this1481.Name=Name;_this1481.Description=Description;_this1481.ObjectType=ObjectType;_this1481.ObjectPlacement=ObjectPlacement;_this1481.Representation=Representation;_this1481.Tag=Tag;_this1481.type=707683696;return _this1481;}return _createClass(IfcFlowStorageDevice);}(IfcDistributionFlowElement);IFC42.IfcFlowStorageDevice=IfcFlowStorageDevice;var IfcFlowTerminal=/*#__PURE__*/function(_IfcDistributionFlowE34){_inherits(IfcFlowTerminal,_IfcDistributionFlowE34);var _super1479=_createSuper(IfcFlowTerminal);function IfcFlowTerminal(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag){var _this1482;_classCallCheck(this,IfcFlowTerminal);_this1482=_super1479.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag);_this1482.GlobalId=GlobalId;_this1482.OwnerHistory=OwnerHistory;_this1482.Name=Name;_this1482.Description=Description;_this1482.ObjectType=ObjectType;_this1482.ObjectPlacement=ObjectPlacement;_this1482.Representation=Representation;_this1482.Tag=Tag;_this1482.type=2223149337;return _this1482;}return _createClass(IfcFlowTerminal);}(IfcDistributionFlowElement);IFC42.IfcFlowTerminal=IfcFlowTerminal;var IfcFlowTreatmentDevice=/*#__PURE__*/function(_IfcDistributionFlowE35){_inherits(IfcFlowTreatmentDevice,_IfcDistributionFlowE35);var _super1480=_createSuper(IfcFlowTreatmentDevice);function IfcFlowTreatmentDevice(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag){var _this1483;_classCallCheck(this,IfcFlowTreatmentDevice);_this1483=_super1480.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag);_this1483.GlobalId=GlobalId;_this1483.OwnerHistory=OwnerHistory;_this1483.Name=Name;_this1483.Description=Description;_this1483.ObjectType=ObjectType;_this1483.ObjectPlacement=ObjectPlacement;_this1483.Representation=Representation;_this1483.Tag=Tag;_this1483.type=3508470533;return _this1483;}return _createClass(IfcFlowTreatmentDevice);}(IfcDistributionFlowElement);IFC42.IfcFlowTreatmentDevice=IfcFlowTreatmentDevice;var IfcFooting=/*#__PURE__*/function(_IfcBuildingElement27){_inherits(IfcFooting,_IfcBuildingElement27);var _super1481=_createSuper(IfcFooting);function IfcFooting(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag,PredefinedType){var _this1484;_classCallCheck(this,IfcFooting);_this1484=_super1481.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag);_this1484.GlobalId=GlobalId;_this1484.OwnerHistory=OwnerHistory;_this1484.Name=Name;_this1484.Description=Description;_this1484.ObjectType=ObjectType;_this1484.ObjectPlacement=ObjectPlacement;_this1484.Representation=Representation;_this1484.Tag=Tag;_this1484.PredefinedType=PredefinedType;_this1484.type=900683007;return _this1484;}return _createClass(IfcFooting);}(IfcBuildingElement);IFC42.IfcFooting=IfcFooting;var IfcHeatExchanger=/*#__PURE__*/function(_IfcEnergyConversionD42){_inherits(IfcHeatExchanger,_IfcEnergyConversionD42);var _super1482=_createSuper(IfcHeatExchanger);function IfcHeatExchanger(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag,PredefinedType){var _this1485;_classCallCheck(this,IfcHeatExchanger);_this1485=_super1482.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag);_this1485.GlobalId=GlobalId;_this1485.OwnerHistory=OwnerHistory;_this1485.Name=Name;_this1485.Description=Description;_this1485.ObjectType=ObjectType;_this1485.ObjectPlacement=ObjectPlacement;_this1485.Representation=Representation;_this1485.Tag=Tag;_this1485.PredefinedType=PredefinedType;_this1485.type=3319311131;return _this1485;}return _createClass(IfcHeatExchanger);}(IfcEnergyConversionDevice);IFC42.IfcHeatExchanger=IfcHeatExchanger;var IfcHumidifier=/*#__PURE__*/function(_IfcEnergyConversionD43){_inherits(IfcHumidifier,_IfcEnergyConversionD43);var _super1483=_createSuper(IfcHumidifier);function IfcHumidifier(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag,PredefinedType){var _this1486;_classCallCheck(this,IfcHumidifier);_this1486=_super1483.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag);_this1486.GlobalId=GlobalId;_this1486.OwnerHistory=OwnerHistory;_this1486.Name=Name;_this1486.Description=Description;_this1486.ObjectType=ObjectType;_this1486.ObjectPlacement=ObjectPlacement;_this1486.Representation=Representation;_this1486.Tag=Tag;_this1486.PredefinedType=PredefinedType;_this1486.type=2068733104;return _this1486;}return _createClass(IfcHumidifier);}(IfcEnergyConversionDevice);IFC42.IfcHumidifier=IfcHumidifier;var IfcInterceptor=/*#__PURE__*/function(_IfcFlowTreatmentDevi6){_inherits(IfcInterceptor,_IfcFlowTreatmentDevi6);var _super1484=_createSuper(IfcInterceptor);function IfcInterceptor(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag,PredefinedType){var _this1487;_classCallCheck(this,IfcInterceptor);_this1487=_super1484.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag);_this1487.GlobalId=GlobalId;_this1487.OwnerHistory=OwnerHistory;_this1487.Name=Name;_this1487.Description=Description;_this1487.ObjectType=ObjectType;_this1487.ObjectPlacement=ObjectPlacement;_this1487.Representation=Representation;_this1487.Tag=Tag;_this1487.PredefinedType=PredefinedType;_this1487.type=4175244083;return _this1487;}return _createClass(IfcInterceptor);}(IfcFlowTreatmentDevice);IFC42.IfcInterceptor=IfcInterceptor;var IfcJunctionBox=/*#__PURE__*/function(_IfcFlowFitting){_inherits(IfcJunctionBox,_IfcFlowFitting);var _super1485=_createSuper(IfcJunctionBox);function IfcJunctionBox(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag,PredefinedType){var _this1488;_classCallCheck(this,IfcJunctionBox);_this1488=_super1485.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag);_this1488.GlobalId=GlobalId;_this1488.OwnerHistory=OwnerHistory;_this1488.Name=Name;_this1488.Description=Description;_this1488.ObjectType=ObjectType;_this1488.ObjectPlacement=ObjectPlacement;_this1488.Representation=Representation;_this1488.Tag=Tag;_this1488.PredefinedType=PredefinedType;_this1488.type=2176052936;return _this1488;}return _createClass(IfcJunctionBox);}(IfcFlowFitting);IFC42.IfcJunctionBox=IfcJunctionBox;var IfcLamp=/*#__PURE__*/function(_IfcFlowTerminal){_inherits(IfcLamp,_IfcFlowTerminal);var _super1486=_createSuper(IfcLamp);function IfcLamp(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag,PredefinedType){var _this1489;_classCallCheck(this,IfcLamp);_this1489=_super1486.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag);_this1489.GlobalId=GlobalId;_this1489.OwnerHistory=OwnerHistory;_this1489.Name=Name;_this1489.Description=Description;_this1489.ObjectType=ObjectType;_this1489.ObjectPlacement=ObjectPlacement;_this1489.Representation=Representation;_this1489.Tag=Tag;_this1489.PredefinedType=PredefinedType;_this1489.type=76236018;return _this1489;}return _createClass(IfcLamp);}(IfcFlowTerminal);IFC42.IfcLamp=IfcLamp;var IfcLightFixture=/*#__PURE__*/function(_IfcFlowTerminal2){_inherits(IfcLightFixture,_IfcFlowTerminal2);var _super1487=_createSuper(IfcLightFixture);function IfcLightFixture(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag,PredefinedType){var _this1490;_classCallCheck(this,IfcLightFixture);_this1490=_super1487.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag);_this1490.GlobalId=GlobalId;_this1490.OwnerHistory=OwnerHistory;_this1490.Name=Name;_this1490.Description=Description;_this1490.ObjectType=ObjectType;_this1490.ObjectPlacement=ObjectPlacement;_this1490.Representation=Representation;_this1490.Tag=Tag;_this1490.PredefinedType=PredefinedType;_this1490.type=629592764;return _this1490;}return _createClass(IfcLightFixture);}(IfcFlowTerminal);IFC42.IfcLightFixture=IfcLightFixture;var IfcMedicalDevice=/*#__PURE__*/function(_IfcFlowTerminal3){_inherits(IfcMedicalDevice,_IfcFlowTerminal3);var _super1488=_createSuper(IfcMedicalDevice);function IfcMedicalDevice(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag,PredefinedType){var _this1491;_classCallCheck(this,IfcMedicalDevice);_this1491=_super1488.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag);_this1491.GlobalId=GlobalId;_this1491.OwnerHistory=OwnerHistory;_this1491.Name=Name;_this1491.Description=Description;_this1491.ObjectType=ObjectType;_this1491.ObjectPlacement=ObjectPlacement;_this1491.Representation=Representation;_this1491.Tag=Tag;_this1491.PredefinedType=PredefinedType;_this1491.type=1437502449;return _this1491;}return _createClass(IfcMedicalDevice);}(IfcFlowTerminal);IFC42.IfcMedicalDevice=IfcMedicalDevice;var IfcMember=/*#__PURE__*/function(_IfcBuildingElement28){_inherits(IfcMember,_IfcBuildingElement28);var _super1489=_createSuper(IfcMember);function IfcMember(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag,PredefinedType){var _this1492;_classCallCheck(this,IfcMember);_this1492=_super1489.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag);_this1492.GlobalId=GlobalId;_this1492.OwnerHistory=OwnerHistory;_this1492.Name=Name;_this1492.Description=Description;_this1492.ObjectType=ObjectType;_this1492.ObjectPlacement=ObjectPlacement;_this1492.Representation=Representation;_this1492.Tag=Tag;_this1492.PredefinedType=PredefinedType;_this1492.type=1073191201;return _this1492;}return _createClass(IfcMember);}(IfcBuildingElement);IFC42.IfcMember=IfcMember;var IfcMemberStandardCase=/*#__PURE__*/function(_IfcMember){_inherits(IfcMemberStandardCase,_IfcMember);var _super1490=_createSuper(IfcMemberStandardCase);function IfcMemberStandardCase(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag,PredefinedType){var _this1493;_classCallCheck(this,IfcMemberStandardCase);_this1493=_super1490.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag,PredefinedType);_this1493.GlobalId=GlobalId;_this1493.OwnerHistory=OwnerHistory;_this1493.Name=Name;_this1493.Description=Description;_this1493.ObjectType=ObjectType;_this1493.ObjectPlacement=ObjectPlacement;_this1493.Representation=Representation;_this1493.Tag=Tag;_this1493.PredefinedType=PredefinedType;_this1493.type=1911478936;return _this1493;}return _createClass(IfcMemberStandardCase);}(IfcMember);IFC42.IfcMemberStandardCase=IfcMemberStandardCase;var IfcMotorConnection=/*#__PURE__*/function(_IfcEnergyConversionD44){_inherits(IfcMotorConnection,_IfcEnergyConversionD44);var _super1491=_createSuper(IfcMotorConnection);function IfcMotorConnection(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag,PredefinedType){var _this1494;_classCallCheck(this,IfcMotorConnection);_this1494=_super1491.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag);_this1494.GlobalId=GlobalId;_this1494.OwnerHistory=OwnerHistory;_this1494.Name=Name;_this1494.Description=Description;_this1494.ObjectType=ObjectType;_this1494.ObjectPlacement=ObjectPlacement;_this1494.Representation=Representation;_this1494.Tag=Tag;_this1494.PredefinedType=PredefinedType;_this1494.type=2474470126;return _this1494;}return _createClass(IfcMotorConnection);}(IfcEnergyConversionDevice);IFC42.IfcMotorConnection=IfcMotorConnection;var IfcOuterBoundaryCurve=/*#__PURE__*/function(_IfcBoundaryCurve){_inherits(IfcOuterBoundaryCurve,_IfcBoundaryCurve);var _super1492=_createSuper(IfcOuterBoundaryCurve);function IfcOuterBoundaryCurve(expressID,Segments,SelfIntersect){var _this1495;_classCallCheck(this,IfcOuterBoundaryCurve);_this1495=_super1492.call(this,expressID,Segments,SelfIntersect);_this1495.Segments=Segments;_this1495.SelfIntersect=SelfIntersect;_this1495.type=144952367;return _this1495;}return _createClass(IfcOuterBoundaryCurve);}(IfcBoundaryCurve);IFC42.IfcOuterBoundaryCurve=IfcOuterBoundaryCurve;var IfcOutlet=/*#__PURE__*/function(_IfcFlowTerminal4){_inherits(IfcOutlet,_IfcFlowTerminal4);var _super1493=_createSuper(IfcOutlet);function IfcOutlet(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag,PredefinedType){var _this1496;_classCallCheck(this,IfcOutlet);_this1496=_super1493.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag);_this1496.GlobalId=GlobalId;_this1496.OwnerHistory=OwnerHistory;_this1496.Name=Name;_this1496.Description=Description;_this1496.ObjectType=ObjectType;_this1496.ObjectPlacement=ObjectPlacement;_this1496.Representation=Representation;_this1496.Tag=Tag;_this1496.PredefinedType=PredefinedType;_this1496.type=3694346114;return _this1496;}return _createClass(IfcOutlet);}(IfcFlowTerminal);IFC42.IfcOutlet=IfcOutlet;var IfcPile=/*#__PURE__*/function(_IfcBuildingElement29){_inherits(IfcPile,_IfcBuildingElement29);var _super1494=_createSuper(IfcPile);function IfcPile(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag,PredefinedType,ConstructionType){var _this1497;_classCallCheck(this,IfcPile);_this1497=_super1494.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag);_this1497.GlobalId=GlobalId;_this1497.OwnerHistory=OwnerHistory;_this1497.Name=Name;_this1497.Description=Description;_this1497.ObjectType=ObjectType;_this1497.ObjectPlacement=ObjectPlacement;_this1497.Representation=Representation;_this1497.Tag=Tag;_this1497.PredefinedType=PredefinedType;_this1497.ConstructionType=ConstructionType;_this1497.type=1687234759;return _this1497;}return _createClass(IfcPile);}(IfcBuildingElement);IFC42.IfcPile=IfcPile;var IfcPipeFitting=/*#__PURE__*/function(_IfcFlowFitting2){_inherits(IfcPipeFitting,_IfcFlowFitting2);var _super1495=_createSuper(IfcPipeFitting);function IfcPipeFitting(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag,PredefinedType){var _this1498;_classCallCheck(this,IfcPipeFitting);_this1498=_super1495.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag);_this1498.GlobalId=GlobalId;_this1498.OwnerHistory=OwnerHistory;_this1498.Name=Name;_this1498.Description=Description;_this1498.ObjectType=ObjectType;_this1498.ObjectPlacement=ObjectPlacement;_this1498.Representation=Representation;_this1498.Tag=Tag;_this1498.PredefinedType=PredefinedType;_this1498.type=310824031;return _this1498;}return _createClass(IfcPipeFitting);}(IfcFlowFitting);IFC42.IfcPipeFitting=IfcPipeFitting;var IfcPipeSegment=/*#__PURE__*/function(_IfcFlowSegment){_inherits(IfcPipeSegment,_IfcFlowSegment);var _super1496=_createSuper(IfcPipeSegment);function IfcPipeSegment(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag,PredefinedType){var _this1499;_classCallCheck(this,IfcPipeSegment);_this1499=_super1496.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag);_this1499.GlobalId=GlobalId;_this1499.OwnerHistory=OwnerHistory;_this1499.Name=Name;_this1499.Description=Description;_this1499.ObjectType=ObjectType;_this1499.ObjectPlacement=ObjectPlacement;_this1499.Representation=Representation;_this1499.Tag=Tag;_this1499.PredefinedType=PredefinedType;_this1499.type=3612865200;return _this1499;}return _createClass(IfcPipeSegment);}(IfcFlowSegment);IFC42.IfcPipeSegment=IfcPipeSegment;var IfcPlate=/*#__PURE__*/function(_IfcBuildingElement30){_inherits(IfcPlate,_IfcBuildingElement30);var _super1497=_createSuper(IfcPlate);function IfcPlate(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag,PredefinedType){var _this1500;_classCallCheck(this,IfcPlate);_this1500=_super1497.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag);_this1500.GlobalId=GlobalId;_this1500.OwnerHistory=OwnerHistory;_this1500.Name=Name;_this1500.Description=Description;_this1500.ObjectType=ObjectType;_this1500.ObjectPlacement=ObjectPlacement;_this1500.Representation=Representation;_this1500.Tag=Tag;_this1500.PredefinedType=PredefinedType;_this1500.type=3171933400;return _this1500;}return _createClass(IfcPlate);}(IfcBuildingElement);IFC42.IfcPlate=IfcPlate;var IfcPlateStandardCase=/*#__PURE__*/function(_IfcPlate){_inherits(IfcPlateStandardCase,_IfcPlate);var _super1498=_createSuper(IfcPlateStandardCase);function IfcPlateStandardCase(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag,PredefinedType){var _this1501;_classCallCheck(this,IfcPlateStandardCase);_this1501=_super1498.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag,PredefinedType);_this1501.GlobalId=GlobalId;_this1501.OwnerHistory=OwnerHistory;_this1501.Name=Name;_this1501.Description=Description;_this1501.ObjectType=ObjectType;_this1501.ObjectPlacement=ObjectPlacement;_this1501.Representation=Representation;_this1501.Tag=Tag;_this1501.PredefinedType=PredefinedType;_this1501.type=1156407060;return _this1501;}return _createClass(IfcPlateStandardCase);}(IfcPlate);IFC42.IfcPlateStandardCase=IfcPlateStandardCase;var IfcProtectiveDevice=/*#__PURE__*/function(_IfcFlowController3){_inherits(IfcProtectiveDevice,_IfcFlowController3);var _super1499=_createSuper(IfcProtectiveDevice);function IfcProtectiveDevice(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag,PredefinedType){var _this1502;_classCallCheck(this,IfcProtectiveDevice);_this1502=_super1499.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag);_this1502.GlobalId=GlobalId;_this1502.OwnerHistory=OwnerHistory;_this1502.Name=Name;_this1502.Description=Description;_this1502.ObjectType=ObjectType;_this1502.ObjectPlacement=ObjectPlacement;_this1502.Representation=Representation;_this1502.Tag=Tag;_this1502.PredefinedType=PredefinedType;_this1502.type=738039164;return _this1502;}return _createClass(IfcProtectiveDevice);}(IfcFlowController);IFC42.IfcProtectiveDevice=IfcProtectiveDevice;var IfcProtectiveDeviceTrippingUnitType=/*#__PURE__*/function(_IfcDistributionContr7){_inherits(IfcProtectiveDeviceTrippingUnitType,_IfcDistributionContr7);var _super1500=_createSuper(IfcProtectiveDeviceTrippingUnitType);function IfcProtectiveDeviceTrippingUnitType(expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType,PredefinedType){var _this1503;_classCallCheck(this,IfcProtectiveDeviceTrippingUnitType);_this1503=_super1500.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType);_this1503.GlobalId=GlobalId;_this1503.OwnerHistory=OwnerHistory;_this1503.Name=Name;_this1503.Description=Description;_this1503.ApplicableOccurrence=ApplicableOccurrence;_this1503.HasPropertySets=HasPropertySets;_this1503.RepresentationMaps=RepresentationMaps;_this1503.Tag=Tag;_this1503.ElementType=ElementType;_this1503.PredefinedType=PredefinedType;_this1503.type=655969474;return _this1503;}return _createClass(IfcProtectiveDeviceTrippingUnitType);}(IfcDistributionControlElementType);IFC42.IfcProtectiveDeviceTrippingUnitType=IfcProtectiveDeviceTrippingUnitType;var IfcPump=/*#__PURE__*/function(_IfcFlowMovingDevice){_inherits(IfcPump,_IfcFlowMovingDevice);var _super1501=_createSuper(IfcPump);function IfcPump(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag,PredefinedType){var _this1504;_classCallCheck(this,IfcPump);_this1504=_super1501.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag);_this1504.GlobalId=GlobalId;_this1504.OwnerHistory=OwnerHistory;_this1504.Name=Name;_this1504.Description=Description;_this1504.ObjectType=ObjectType;_this1504.ObjectPlacement=ObjectPlacement;_this1504.Representation=Representation;_this1504.Tag=Tag;_this1504.PredefinedType=PredefinedType;_this1504.type=90941305;return _this1504;}return _createClass(IfcPump);}(IfcFlowMovingDevice);IFC42.IfcPump=IfcPump;var IfcRailing=/*#__PURE__*/function(_IfcBuildingElement31){_inherits(IfcRailing,_IfcBuildingElement31);var _super1502=_createSuper(IfcRailing);function IfcRailing(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag,PredefinedType){var _this1505;_classCallCheck(this,IfcRailing);_this1505=_super1502.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag);_this1505.GlobalId=GlobalId;_this1505.OwnerHistory=OwnerHistory;_this1505.Name=Name;_this1505.Description=Description;_this1505.ObjectType=ObjectType;_this1505.ObjectPlacement=ObjectPlacement;_this1505.Representation=Representation;_this1505.Tag=Tag;_this1505.PredefinedType=PredefinedType;_this1505.type=2262370178;return _this1505;}return _createClass(IfcRailing);}(IfcBuildingElement);IFC42.IfcRailing=IfcRailing;var IfcRamp=/*#__PURE__*/function(_IfcBuildingElement32){_inherits(IfcRamp,_IfcBuildingElement32);var _super1503=_createSuper(IfcRamp);function IfcRamp(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag,PredefinedType){var _this1506;_classCallCheck(this,IfcRamp);_this1506=_super1503.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag);_this1506.GlobalId=GlobalId;_this1506.OwnerHistory=OwnerHistory;_this1506.Name=Name;_this1506.Description=Description;_this1506.ObjectType=ObjectType;_this1506.ObjectPlacement=ObjectPlacement;_this1506.Representation=Representation;_this1506.Tag=Tag;_this1506.PredefinedType=PredefinedType;_this1506.type=3024970846;return _this1506;}return _createClass(IfcRamp);}(IfcBuildingElement);IFC42.IfcRamp=IfcRamp;var IfcRampFlight=/*#__PURE__*/function(_IfcBuildingElement33){_inherits(IfcRampFlight,_IfcBuildingElement33);var _super1504=_createSuper(IfcRampFlight);function IfcRampFlight(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag,PredefinedType){var _this1507;_classCallCheck(this,IfcRampFlight);_this1507=_super1504.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag);_this1507.GlobalId=GlobalId;_this1507.OwnerHistory=OwnerHistory;_this1507.Name=Name;_this1507.Description=Description;_this1507.ObjectType=ObjectType;_this1507.ObjectPlacement=ObjectPlacement;_this1507.Representation=Representation;_this1507.Tag=Tag;_this1507.PredefinedType=PredefinedType;_this1507.type=3283111854;return _this1507;}return _createClass(IfcRampFlight);}(IfcBuildingElement);IFC42.IfcRampFlight=IfcRampFlight;var IfcRationalBSplineCurveWithKnots=/*#__PURE__*/function(_IfcBSplineCurveWithK){_inherits(IfcRationalBSplineCurveWithKnots,_IfcBSplineCurveWithK);var _super1505=_createSuper(IfcRationalBSplineCurveWithKnots);function IfcRationalBSplineCurveWithKnots(expressID,Degree,ControlPointsList,CurveForm,ClosedCurve,SelfIntersect,KnotMultiplicities,Knots,KnotSpec,WeightsData){var _this1508;_classCallCheck(this,IfcRationalBSplineCurveWithKnots);_this1508=_super1505.call(this,expressID,Degree,ControlPointsList,CurveForm,ClosedCurve,SelfIntersect,KnotMultiplicities,Knots,KnotSpec);_this1508.Degree=Degree;_this1508.ControlPointsList=ControlPointsList;_this1508.CurveForm=CurveForm;_this1508.ClosedCurve=ClosedCurve;_this1508.SelfIntersect=SelfIntersect;_this1508.KnotMultiplicities=KnotMultiplicities;_this1508.Knots=Knots;_this1508.KnotSpec=KnotSpec;_this1508.WeightsData=WeightsData;_this1508.type=1232101972;return _this1508;}return _createClass(IfcRationalBSplineCurveWithKnots);}(IfcBSplineCurveWithKnots);IFC42.IfcRationalBSplineCurveWithKnots=IfcRationalBSplineCurveWithKnots;var IfcReinforcingBar=/*#__PURE__*/function(_IfcReinforcingElemen11){_inherits(IfcReinforcingBar,_IfcReinforcingElemen11);var _super1506=_createSuper(IfcReinforcingBar);function IfcReinforcingBar(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag,SteelGrade,NominalDiameter,CrossSectionArea,BarLength,PredefinedType,BarSurface){var _this1509;_classCallCheck(this,IfcReinforcingBar);_this1509=_super1506.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag,SteelGrade);_this1509.GlobalId=GlobalId;_this1509.OwnerHistory=OwnerHistory;_this1509.Name=Name;_this1509.Description=Description;_this1509.ObjectType=ObjectType;_this1509.ObjectPlacement=ObjectPlacement;_this1509.Representation=Representation;_this1509.Tag=Tag;_this1509.SteelGrade=SteelGrade;_this1509.NominalDiameter=NominalDiameter;_this1509.CrossSectionArea=CrossSectionArea;_this1509.BarLength=BarLength;_this1509.PredefinedType=PredefinedType;_this1509.BarSurface=BarSurface;_this1509.type=979691226;return _this1509;}return _createClass(IfcReinforcingBar);}(IfcReinforcingElement);IFC42.IfcReinforcingBar=IfcReinforcingBar;var IfcReinforcingBarType=/*#__PURE__*/function(_IfcReinforcingElemen12){_inherits(IfcReinforcingBarType,_IfcReinforcingElemen12);var _super1507=_createSuper(IfcReinforcingBarType);function IfcReinforcingBarType(expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType,PredefinedType,NominalDiameter,CrossSectionArea,BarLength,BarSurface,BendingShapeCode,BendingParameters){var _this1510;_classCallCheck(this,IfcReinforcingBarType);_this1510=_super1507.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType);_this1510.GlobalId=GlobalId;_this1510.OwnerHistory=OwnerHistory;_this1510.Name=Name;_this1510.Description=Description;_this1510.ApplicableOccurrence=ApplicableOccurrence;_this1510.HasPropertySets=HasPropertySets;_this1510.RepresentationMaps=RepresentationMaps;_this1510.Tag=Tag;_this1510.ElementType=ElementType;_this1510.PredefinedType=PredefinedType;_this1510.NominalDiameter=NominalDiameter;_this1510.CrossSectionArea=CrossSectionArea;_this1510.BarLength=BarLength;_this1510.BarSurface=BarSurface;_this1510.BendingShapeCode=BendingShapeCode;_this1510.BendingParameters=BendingParameters;_this1510.type=2572171363;return _this1510;}return _createClass(IfcReinforcingBarType);}(IfcReinforcingElementType);IFC42.IfcReinforcingBarType=IfcReinforcingBarType;var IfcRoof=/*#__PURE__*/function(_IfcBuildingElement34){_inherits(IfcRoof,_IfcBuildingElement34);var _super1508=_createSuper(IfcRoof);function IfcRoof(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag,PredefinedType){var _this1511;_classCallCheck(this,IfcRoof);_this1511=_super1508.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag);_this1511.GlobalId=GlobalId;_this1511.OwnerHistory=OwnerHistory;_this1511.Name=Name;_this1511.Description=Description;_this1511.ObjectType=ObjectType;_this1511.ObjectPlacement=ObjectPlacement;_this1511.Representation=Representation;_this1511.Tag=Tag;_this1511.PredefinedType=PredefinedType;_this1511.type=2016517767;return _this1511;}return _createClass(IfcRoof);}(IfcBuildingElement);IFC42.IfcRoof=IfcRoof;var IfcSanitaryTerminal=/*#__PURE__*/function(_IfcFlowTerminal5){_inherits(IfcSanitaryTerminal,_IfcFlowTerminal5);var _super1509=_createSuper(IfcSanitaryTerminal);function IfcSanitaryTerminal(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag,PredefinedType){var _this1512;_classCallCheck(this,IfcSanitaryTerminal);_this1512=_super1509.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag);_this1512.GlobalId=GlobalId;_this1512.OwnerHistory=OwnerHistory;_this1512.Name=Name;_this1512.Description=Description;_this1512.ObjectType=ObjectType;_this1512.ObjectPlacement=ObjectPlacement;_this1512.Representation=Representation;_this1512.Tag=Tag;_this1512.PredefinedType=PredefinedType;_this1512.type=3053780830;return _this1512;}return _createClass(IfcSanitaryTerminal);}(IfcFlowTerminal);IFC42.IfcSanitaryTerminal=IfcSanitaryTerminal;var IfcSensorType=/*#__PURE__*/function(_IfcDistributionContr8){_inherits(IfcSensorType,_IfcDistributionContr8);var _super1510=_createSuper(IfcSensorType);function IfcSensorType(expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType,PredefinedType){var _this1513;_classCallCheck(this,IfcSensorType);_this1513=_super1510.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType);_this1513.GlobalId=GlobalId;_this1513.OwnerHistory=OwnerHistory;_this1513.Name=Name;_this1513.Description=Description;_this1513.ApplicableOccurrence=ApplicableOccurrence;_this1513.HasPropertySets=HasPropertySets;_this1513.RepresentationMaps=RepresentationMaps;_this1513.Tag=Tag;_this1513.ElementType=ElementType;_this1513.PredefinedType=PredefinedType;_this1513.type=1783015770;return _this1513;}return _createClass(IfcSensorType);}(IfcDistributionControlElementType);IFC42.IfcSensorType=IfcSensorType;var IfcShadingDevice=/*#__PURE__*/function(_IfcBuildingElement35){_inherits(IfcShadingDevice,_IfcBuildingElement35);var _super1511=_createSuper(IfcShadingDevice);function IfcShadingDevice(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag,PredefinedType){var _this1514;_classCallCheck(this,IfcShadingDevice);_this1514=_super1511.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag);_this1514.GlobalId=GlobalId;_this1514.OwnerHistory=OwnerHistory;_this1514.Name=Name;_this1514.Description=Description;_this1514.ObjectType=ObjectType;_this1514.ObjectPlacement=ObjectPlacement;_this1514.Representation=Representation;_this1514.Tag=Tag;_this1514.PredefinedType=PredefinedType;_this1514.type=1329646415;return _this1514;}return _createClass(IfcShadingDevice);}(IfcBuildingElement);IFC42.IfcShadingDevice=IfcShadingDevice;var IfcSlab=/*#__PURE__*/function(_IfcBuildingElement36){_inherits(IfcSlab,_IfcBuildingElement36);var _super1512=_createSuper(IfcSlab);function IfcSlab(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag,PredefinedType){var _this1515;_classCallCheck(this,IfcSlab);_this1515=_super1512.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag);_this1515.GlobalId=GlobalId;_this1515.OwnerHistory=OwnerHistory;_this1515.Name=Name;_this1515.Description=Description;_this1515.ObjectType=ObjectType;_this1515.ObjectPlacement=ObjectPlacement;_this1515.Representation=Representation;_this1515.Tag=Tag;_this1515.PredefinedType=PredefinedType;_this1515.type=1529196076;return _this1515;}return _createClass(IfcSlab);}(IfcBuildingElement);IFC42.IfcSlab=IfcSlab;var IfcSlabElementedCase=/*#__PURE__*/function(_IfcSlab){_inherits(IfcSlabElementedCase,_IfcSlab);var _super1513=_createSuper(IfcSlabElementedCase);function IfcSlabElementedCase(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag,PredefinedType){var _this1516;_classCallCheck(this,IfcSlabElementedCase);_this1516=_super1513.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag,PredefinedType);_this1516.GlobalId=GlobalId;_this1516.OwnerHistory=OwnerHistory;_this1516.Name=Name;_this1516.Description=Description;_this1516.ObjectType=ObjectType;_this1516.ObjectPlacement=ObjectPlacement;_this1516.Representation=Representation;_this1516.Tag=Tag;_this1516.PredefinedType=PredefinedType;_this1516.type=3127900445;return _this1516;}return _createClass(IfcSlabElementedCase);}(IfcSlab);IFC42.IfcSlabElementedCase=IfcSlabElementedCase;var IfcSlabStandardCase=/*#__PURE__*/function(_IfcSlab2){_inherits(IfcSlabStandardCase,_IfcSlab2);var _super1514=_createSuper(IfcSlabStandardCase);function IfcSlabStandardCase(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag,PredefinedType){var _this1517;_classCallCheck(this,IfcSlabStandardCase);_this1517=_super1514.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag,PredefinedType);_this1517.GlobalId=GlobalId;_this1517.OwnerHistory=OwnerHistory;_this1517.Name=Name;_this1517.Description=Description;_this1517.ObjectType=ObjectType;_this1517.ObjectPlacement=ObjectPlacement;_this1517.Representation=Representation;_this1517.Tag=Tag;_this1517.PredefinedType=PredefinedType;_this1517.type=3027962421;return _this1517;}return _createClass(IfcSlabStandardCase);}(IfcSlab);IFC42.IfcSlabStandardCase=IfcSlabStandardCase;var IfcSolarDevice=/*#__PURE__*/function(_IfcEnergyConversionD45){_inherits(IfcSolarDevice,_IfcEnergyConversionD45);var _super1515=_createSuper(IfcSolarDevice);function IfcSolarDevice(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag,PredefinedType){var _this1518;_classCallCheck(this,IfcSolarDevice);_this1518=_super1515.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag);_this1518.GlobalId=GlobalId;_this1518.OwnerHistory=OwnerHistory;_this1518.Name=Name;_this1518.Description=Description;_this1518.ObjectType=ObjectType;_this1518.ObjectPlacement=ObjectPlacement;_this1518.Representation=Representation;_this1518.Tag=Tag;_this1518.PredefinedType=PredefinedType;_this1518.type=3420628829;return _this1518;}return _createClass(IfcSolarDevice);}(IfcEnergyConversionDevice);IFC42.IfcSolarDevice=IfcSolarDevice;var IfcSpaceHeater=/*#__PURE__*/function(_IfcFlowTerminal6){_inherits(IfcSpaceHeater,_IfcFlowTerminal6);var _super1516=_createSuper(IfcSpaceHeater);function IfcSpaceHeater(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag,PredefinedType){var _this1519;_classCallCheck(this,IfcSpaceHeater);_this1519=_super1516.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag);_this1519.GlobalId=GlobalId;_this1519.OwnerHistory=OwnerHistory;_this1519.Name=Name;_this1519.Description=Description;_this1519.ObjectType=ObjectType;_this1519.ObjectPlacement=ObjectPlacement;_this1519.Representation=Representation;_this1519.Tag=Tag;_this1519.PredefinedType=PredefinedType;_this1519.type=1999602285;return _this1519;}return _createClass(IfcSpaceHeater);}(IfcFlowTerminal);IFC42.IfcSpaceHeater=IfcSpaceHeater;var IfcStackTerminal=/*#__PURE__*/function(_IfcFlowTerminal7){_inherits(IfcStackTerminal,_IfcFlowTerminal7);var _super1517=_createSuper(IfcStackTerminal);function IfcStackTerminal(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag,PredefinedType){var _this1520;_classCallCheck(this,IfcStackTerminal);_this1520=_super1517.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag);_this1520.GlobalId=GlobalId;_this1520.OwnerHistory=OwnerHistory;_this1520.Name=Name;_this1520.Description=Description;_this1520.ObjectType=ObjectType;_this1520.ObjectPlacement=ObjectPlacement;_this1520.Representation=Representation;_this1520.Tag=Tag;_this1520.PredefinedType=PredefinedType;_this1520.type=1404847402;return _this1520;}return _createClass(IfcStackTerminal);}(IfcFlowTerminal);IFC42.IfcStackTerminal=IfcStackTerminal;var IfcStair=/*#__PURE__*/function(_IfcBuildingElement37){_inherits(IfcStair,_IfcBuildingElement37);var _super1518=_createSuper(IfcStair);function IfcStair(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag,PredefinedType){var _this1521;_classCallCheck(this,IfcStair);_this1521=_super1518.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag);_this1521.GlobalId=GlobalId;_this1521.OwnerHistory=OwnerHistory;_this1521.Name=Name;_this1521.Description=Description;_this1521.ObjectType=ObjectType;_this1521.ObjectPlacement=ObjectPlacement;_this1521.Representation=Representation;_this1521.Tag=Tag;_this1521.PredefinedType=PredefinedType;_this1521.type=331165859;return _this1521;}return _createClass(IfcStair);}(IfcBuildingElement);IFC42.IfcStair=IfcStair;var IfcStairFlight=/*#__PURE__*/function(_IfcBuildingElement38){_inherits(IfcStairFlight,_IfcBuildingElement38);var _super1519=_createSuper(IfcStairFlight);function IfcStairFlight(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag,NumberOfRisers,NumberOfTreads,RiserHeight,TreadLength,PredefinedType){var _this1522;_classCallCheck(this,IfcStairFlight);_this1522=_super1519.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag);_this1522.GlobalId=GlobalId;_this1522.OwnerHistory=OwnerHistory;_this1522.Name=Name;_this1522.Description=Description;_this1522.ObjectType=ObjectType;_this1522.ObjectPlacement=ObjectPlacement;_this1522.Representation=Representation;_this1522.Tag=Tag;_this1522.NumberOfRisers=NumberOfRisers;_this1522.NumberOfTreads=NumberOfTreads;_this1522.RiserHeight=RiserHeight;_this1522.TreadLength=TreadLength;_this1522.PredefinedType=PredefinedType;_this1522.type=4252922144;return _this1522;}return _createClass(IfcStairFlight);}(IfcBuildingElement);IFC42.IfcStairFlight=IfcStairFlight;var IfcStructuralAnalysisModel=/*#__PURE__*/function(_IfcSystem6){_inherits(IfcStructuralAnalysisModel,_IfcSystem6);var _super1520=_createSuper(IfcStructuralAnalysisModel);function IfcStructuralAnalysisModel(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,PredefinedType,OrientationOf2DPlane,LoadedBy,HasResults,SharedPlacement){var _this1523;_classCallCheck(this,IfcStructuralAnalysisModel);_this1523=_super1520.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType);_this1523.GlobalId=GlobalId;_this1523.OwnerHistory=OwnerHistory;_this1523.Name=Name;_this1523.Description=Description;_this1523.ObjectType=ObjectType;_this1523.PredefinedType=PredefinedType;_this1523.OrientationOf2DPlane=OrientationOf2DPlane;_this1523.LoadedBy=LoadedBy;_this1523.HasResults=HasResults;_this1523.SharedPlacement=SharedPlacement;_this1523.type=2515109513;return _this1523;}return _createClass(IfcStructuralAnalysisModel);}(IfcSystem);IFC42.IfcStructuralAnalysisModel=IfcStructuralAnalysisModel;var IfcStructuralLoadCase=/*#__PURE__*/function(_IfcStructuralLoadGro){_inherits(IfcStructuralLoadCase,_IfcStructuralLoadGro);var _super1521=_createSuper(IfcStructuralLoadCase);function IfcStructuralLoadCase(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,PredefinedType,ActionType,ActionSource,Coefficient,Purpose,SelfWeightCoefficients){var _this1524;_classCallCheck(this,IfcStructuralLoadCase);_this1524=_super1521.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,PredefinedType,ActionType,ActionSource,Coefficient,Purpose);_this1524.GlobalId=GlobalId;_this1524.OwnerHistory=OwnerHistory;_this1524.Name=Name;_this1524.Description=Description;_this1524.ObjectType=ObjectType;_this1524.PredefinedType=PredefinedType;_this1524.ActionType=ActionType;_this1524.ActionSource=ActionSource;_this1524.Coefficient=Coefficient;_this1524.Purpose=Purpose;_this1524.SelfWeightCoefficients=SelfWeightCoefficients;_this1524.type=385403989;return _this1524;}return _createClass(IfcStructuralLoadCase);}(IfcStructuralLoadGroup);IFC42.IfcStructuralLoadCase=IfcStructuralLoadCase;var IfcStructuralPlanarAction=/*#__PURE__*/function(_IfcStructuralSurface3){_inherits(IfcStructuralPlanarAction,_IfcStructuralSurface3);var _super1522=_createSuper(IfcStructuralPlanarAction);function IfcStructuralPlanarAction(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,AppliedLoad,GlobalOrLocal,DestabilizingLoad,ProjectedOrTrue,PredefinedType){var _this1525;_classCallCheck(this,IfcStructuralPlanarAction);_this1525=_super1522.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,AppliedLoad,GlobalOrLocal,DestabilizingLoad,ProjectedOrTrue,PredefinedType);_this1525.GlobalId=GlobalId;_this1525.OwnerHistory=OwnerHistory;_this1525.Name=Name;_this1525.Description=Description;_this1525.ObjectType=ObjectType;_this1525.ObjectPlacement=ObjectPlacement;_this1525.Representation=Representation;_this1525.AppliedLoad=AppliedLoad;_this1525.GlobalOrLocal=GlobalOrLocal;_this1525.DestabilizingLoad=DestabilizingLoad;_this1525.ProjectedOrTrue=ProjectedOrTrue;_this1525.PredefinedType=PredefinedType;_this1525.type=1621171031;return _this1525;}return _createClass(IfcStructuralPlanarAction);}(IfcStructuralSurfaceAction);IFC42.IfcStructuralPlanarAction=IfcStructuralPlanarAction;var IfcSwitchingDevice=/*#__PURE__*/function(_IfcFlowController4){_inherits(IfcSwitchingDevice,_IfcFlowController4);var _super1523=_createSuper(IfcSwitchingDevice);function IfcSwitchingDevice(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag,PredefinedType){var _this1526;_classCallCheck(this,IfcSwitchingDevice);_this1526=_super1523.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag);_this1526.GlobalId=GlobalId;_this1526.OwnerHistory=OwnerHistory;_this1526.Name=Name;_this1526.Description=Description;_this1526.ObjectType=ObjectType;_this1526.ObjectPlacement=ObjectPlacement;_this1526.Representation=Representation;_this1526.Tag=Tag;_this1526.PredefinedType=PredefinedType;_this1526.type=1162798199;return _this1526;}return _createClass(IfcSwitchingDevice);}(IfcFlowController);IFC42.IfcSwitchingDevice=IfcSwitchingDevice;var IfcTank=/*#__PURE__*/function(_IfcFlowStorageDevice5){_inherits(IfcTank,_IfcFlowStorageDevice5);var _super1524=_createSuper(IfcTank);function IfcTank(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag,PredefinedType){var _this1527;_classCallCheck(this,IfcTank);_this1527=_super1524.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag);_this1527.GlobalId=GlobalId;_this1527.OwnerHistory=OwnerHistory;_this1527.Name=Name;_this1527.Description=Description;_this1527.ObjectType=ObjectType;_this1527.ObjectPlacement=ObjectPlacement;_this1527.Representation=Representation;_this1527.Tag=Tag;_this1527.PredefinedType=PredefinedType;_this1527.type=812556717;return _this1527;}return _createClass(IfcTank);}(IfcFlowStorageDevice);IFC42.IfcTank=IfcTank;var IfcTransformer=/*#__PURE__*/function(_IfcEnergyConversionD46){_inherits(IfcTransformer,_IfcEnergyConversionD46);var _super1525=_createSuper(IfcTransformer);function IfcTransformer(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag,PredefinedType){var _this1528;_classCallCheck(this,IfcTransformer);_this1528=_super1525.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag);_this1528.GlobalId=GlobalId;_this1528.OwnerHistory=OwnerHistory;_this1528.Name=Name;_this1528.Description=Description;_this1528.ObjectType=ObjectType;_this1528.ObjectPlacement=ObjectPlacement;_this1528.Representation=Representation;_this1528.Tag=Tag;_this1528.PredefinedType=PredefinedType;_this1528.type=3825984169;return _this1528;}return _createClass(IfcTransformer);}(IfcEnergyConversionDevice);IFC42.IfcTransformer=IfcTransformer;var IfcTubeBundle=/*#__PURE__*/function(_IfcEnergyConversionD47){_inherits(IfcTubeBundle,_IfcEnergyConversionD47);var _super1526=_createSuper(IfcTubeBundle);function IfcTubeBundle(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag,PredefinedType){var _this1529;_classCallCheck(this,IfcTubeBundle);_this1529=_super1526.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag);_this1529.GlobalId=GlobalId;_this1529.OwnerHistory=OwnerHistory;_this1529.Name=Name;_this1529.Description=Description;_this1529.ObjectType=ObjectType;_this1529.ObjectPlacement=ObjectPlacement;_this1529.Representation=Representation;_this1529.Tag=Tag;_this1529.PredefinedType=PredefinedType;_this1529.type=3026737570;return _this1529;}return _createClass(IfcTubeBundle);}(IfcEnergyConversionDevice);IFC42.IfcTubeBundle=IfcTubeBundle;var IfcUnitaryControlElementType=/*#__PURE__*/function(_IfcDistributionContr9){_inherits(IfcUnitaryControlElementType,_IfcDistributionContr9);var _super1527=_createSuper(IfcUnitaryControlElementType);function IfcUnitaryControlElementType(expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType,PredefinedType){var _this1530;_classCallCheck(this,IfcUnitaryControlElementType);_this1530=_super1527.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType);_this1530.GlobalId=GlobalId;_this1530.OwnerHistory=OwnerHistory;_this1530.Name=Name;_this1530.Description=Description;_this1530.ApplicableOccurrence=ApplicableOccurrence;_this1530.HasPropertySets=HasPropertySets;_this1530.RepresentationMaps=RepresentationMaps;_this1530.Tag=Tag;_this1530.ElementType=ElementType;_this1530.PredefinedType=PredefinedType;_this1530.type=3179687236;return _this1530;}return _createClass(IfcUnitaryControlElementType);}(IfcDistributionControlElementType);IFC42.IfcUnitaryControlElementType=IfcUnitaryControlElementType;var IfcUnitaryEquipment=/*#__PURE__*/function(_IfcEnergyConversionD48){_inherits(IfcUnitaryEquipment,_IfcEnergyConversionD48);var _super1528=_createSuper(IfcUnitaryEquipment);function IfcUnitaryEquipment(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag,PredefinedType){var _this1531;_classCallCheck(this,IfcUnitaryEquipment);_this1531=_super1528.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag);_this1531.GlobalId=GlobalId;_this1531.OwnerHistory=OwnerHistory;_this1531.Name=Name;_this1531.Description=Description;_this1531.ObjectType=ObjectType;_this1531.ObjectPlacement=ObjectPlacement;_this1531.Representation=Representation;_this1531.Tag=Tag;_this1531.PredefinedType=PredefinedType;_this1531.type=4292641817;return _this1531;}return _createClass(IfcUnitaryEquipment);}(IfcEnergyConversionDevice);IFC42.IfcUnitaryEquipment=IfcUnitaryEquipment;var IfcValve=/*#__PURE__*/function(_IfcFlowController5){_inherits(IfcValve,_IfcFlowController5);var _super1529=_createSuper(IfcValve);function IfcValve(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag,PredefinedType){var _this1532;_classCallCheck(this,IfcValve);_this1532=_super1529.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag);_this1532.GlobalId=GlobalId;_this1532.OwnerHistory=OwnerHistory;_this1532.Name=Name;_this1532.Description=Description;_this1532.ObjectType=ObjectType;_this1532.ObjectPlacement=ObjectPlacement;_this1532.Representation=Representation;_this1532.Tag=Tag;_this1532.PredefinedType=PredefinedType;_this1532.type=4207607924;return _this1532;}return _createClass(IfcValve);}(IfcFlowController);IFC42.IfcValve=IfcValve;var IfcWall=/*#__PURE__*/function(_IfcBuildingElement39){_inherits(IfcWall,_IfcBuildingElement39);var _super1530=_createSuper(IfcWall);function IfcWall(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag,PredefinedType){var _this1533;_classCallCheck(this,IfcWall);_this1533=_super1530.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag);_this1533.GlobalId=GlobalId;_this1533.OwnerHistory=OwnerHistory;_this1533.Name=Name;_this1533.Description=Description;_this1533.ObjectType=ObjectType;_this1533.ObjectPlacement=ObjectPlacement;_this1533.Representation=Representation;_this1533.Tag=Tag;_this1533.PredefinedType=PredefinedType;_this1533.type=2391406946;return _this1533;}return _createClass(IfcWall);}(IfcBuildingElement);IFC42.IfcWall=IfcWall;var IfcWallElementedCase=/*#__PURE__*/function(_IfcWall2){_inherits(IfcWallElementedCase,_IfcWall2);var _super1531=_createSuper(IfcWallElementedCase);function IfcWallElementedCase(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag,PredefinedType){var _this1534;_classCallCheck(this,IfcWallElementedCase);_this1534=_super1531.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag,PredefinedType);_this1534.GlobalId=GlobalId;_this1534.OwnerHistory=OwnerHistory;_this1534.Name=Name;_this1534.Description=Description;_this1534.ObjectType=ObjectType;_this1534.ObjectPlacement=ObjectPlacement;_this1534.Representation=Representation;_this1534.Tag=Tag;_this1534.PredefinedType=PredefinedType;_this1534.type=4156078855;return _this1534;}return _createClass(IfcWallElementedCase);}(IfcWall);IFC42.IfcWallElementedCase=IfcWallElementedCase;var IfcWallStandardCase=/*#__PURE__*/function(_IfcWall3){_inherits(IfcWallStandardCase,_IfcWall3);var _super1532=_createSuper(IfcWallStandardCase);function IfcWallStandardCase(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag,PredefinedType){var _this1535;_classCallCheck(this,IfcWallStandardCase);_this1535=_super1532.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag,PredefinedType);_this1535.GlobalId=GlobalId;_this1535.OwnerHistory=OwnerHistory;_this1535.Name=Name;_this1535.Description=Description;_this1535.ObjectType=ObjectType;_this1535.ObjectPlacement=ObjectPlacement;_this1535.Representation=Representation;_this1535.Tag=Tag;_this1535.PredefinedType=PredefinedType;_this1535.type=3512223829;return _this1535;}return _createClass(IfcWallStandardCase);}(IfcWall);IFC42.IfcWallStandardCase=IfcWallStandardCase;var IfcWasteTerminal=/*#__PURE__*/function(_IfcFlowTerminal8){_inherits(IfcWasteTerminal,_IfcFlowTerminal8);var _super1533=_createSuper(IfcWasteTerminal);function IfcWasteTerminal(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag,PredefinedType){var _this1536;_classCallCheck(this,IfcWasteTerminal);_this1536=_super1533.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag);_this1536.GlobalId=GlobalId;_this1536.OwnerHistory=OwnerHistory;_this1536.Name=Name;_this1536.Description=Description;_this1536.ObjectType=ObjectType;_this1536.ObjectPlacement=ObjectPlacement;_this1536.Representation=Representation;_this1536.Tag=Tag;_this1536.PredefinedType=PredefinedType;_this1536.type=4237592921;return _this1536;}return _createClass(IfcWasteTerminal);}(IfcFlowTerminal);IFC42.IfcWasteTerminal=IfcWasteTerminal;var IfcWindow=/*#__PURE__*/function(_IfcBuildingElement40){_inherits(IfcWindow,_IfcBuildingElement40);var _super1534=_createSuper(IfcWindow);function IfcWindow(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag,OverallHeight,OverallWidth,PredefinedType,PartitioningType,UserDefinedPartitioningType){var _this1537;_classCallCheck(this,IfcWindow);_this1537=_super1534.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag);_this1537.GlobalId=GlobalId;_this1537.OwnerHistory=OwnerHistory;_this1537.Name=Name;_this1537.Description=Description;_this1537.ObjectType=ObjectType;_this1537.ObjectPlacement=ObjectPlacement;_this1537.Representation=Representation;_this1537.Tag=Tag;_this1537.OverallHeight=OverallHeight;_this1537.OverallWidth=OverallWidth;_this1537.PredefinedType=PredefinedType;_this1537.PartitioningType=PartitioningType;_this1537.UserDefinedPartitioningType=UserDefinedPartitioningType;_this1537.type=3304561284;return _this1537;}return _createClass(IfcWindow);}(IfcBuildingElement);IFC42.IfcWindow=IfcWindow;var IfcWindowStandardCase=/*#__PURE__*/function(_IfcWindow){_inherits(IfcWindowStandardCase,_IfcWindow);var _super1535=_createSuper(IfcWindowStandardCase);function IfcWindowStandardCase(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag,OverallHeight,OverallWidth,PredefinedType,PartitioningType,UserDefinedPartitioningType){var _this1538;_classCallCheck(this,IfcWindowStandardCase);_this1538=_super1535.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag,OverallHeight,OverallWidth,PredefinedType,PartitioningType,UserDefinedPartitioningType);_this1538.GlobalId=GlobalId;_this1538.OwnerHistory=OwnerHistory;_this1538.Name=Name;_this1538.Description=Description;_this1538.ObjectType=ObjectType;_this1538.ObjectPlacement=ObjectPlacement;_this1538.Representation=Representation;_this1538.Tag=Tag;_this1538.OverallHeight=OverallHeight;_this1538.OverallWidth=OverallWidth;_this1538.PredefinedType=PredefinedType;_this1538.PartitioningType=PartitioningType;_this1538.UserDefinedPartitioningType=UserDefinedPartitioningType;_this1538.type=486154966;return _this1538;}return _createClass(IfcWindowStandardCase);}(IfcWindow);IFC42.IfcWindowStandardCase=IfcWindowStandardCase;var IfcActuatorType=/*#__PURE__*/function(_IfcDistributionContr10){_inherits(IfcActuatorType,_IfcDistributionContr10);var _super1536=_createSuper(IfcActuatorType);function IfcActuatorType(expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType,PredefinedType){var _this1539;_classCallCheck(this,IfcActuatorType);_this1539=_super1536.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType);_this1539.GlobalId=GlobalId;_this1539.OwnerHistory=OwnerHistory;_this1539.Name=Name;_this1539.Description=Description;_this1539.ApplicableOccurrence=ApplicableOccurrence;_this1539.HasPropertySets=HasPropertySets;_this1539.RepresentationMaps=RepresentationMaps;_this1539.Tag=Tag;_this1539.ElementType=ElementType;_this1539.PredefinedType=PredefinedType;_this1539.type=2874132201;return _this1539;}return _createClass(IfcActuatorType);}(IfcDistributionControlElementType);IFC42.IfcActuatorType=IfcActuatorType;var IfcAirTerminal=/*#__PURE__*/function(_IfcFlowTerminal9){_inherits(IfcAirTerminal,_IfcFlowTerminal9);var _super1537=_createSuper(IfcAirTerminal);function IfcAirTerminal(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag,PredefinedType){var _this1540;_classCallCheck(this,IfcAirTerminal);_this1540=_super1537.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag);_this1540.GlobalId=GlobalId;_this1540.OwnerHistory=OwnerHistory;_this1540.Name=Name;_this1540.Description=Description;_this1540.ObjectType=ObjectType;_this1540.ObjectPlacement=ObjectPlacement;_this1540.Representation=Representation;_this1540.Tag=Tag;_this1540.PredefinedType=PredefinedType;_this1540.type=1634111441;return _this1540;}return _createClass(IfcAirTerminal);}(IfcFlowTerminal);IFC42.IfcAirTerminal=IfcAirTerminal;var IfcAirTerminalBox=/*#__PURE__*/function(_IfcFlowController6){_inherits(IfcAirTerminalBox,_IfcFlowController6);var _super1538=_createSuper(IfcAirTerminalBox);function IfcAirTerminalBox(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag,PredefinedType){var _this1541;_classCallCheck(this,IfcAirTerminalBox);_this1541=_super1538.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag);_this1541.GlobalId=GlobalId;_this1541.OwnerHistory=OwnerHistory;_this1541.Name=Name;_this1541.Description=Description;_this1541.ObjectType=ObjectType;_this1541.ObjectPlacement=ObjectPlacement;_this1541.Representation=Representation;_this1541.Tag=Tag;_this1541.PredefinedType=PredefinedType;_this1541.type=177149247;return _this1541;}return _createClass(IfcAirTerminalBox);}(IfcFlowController);IFC42.IfcAirTerminalBox=IfcAirTerminalBox;var IfcAirToAirHeatRecovery=/*#__PURE__*/function(_IfcEnergyConversionD49){_inherits(IfcAirToAirHeatRecovery,_IfcEnergyConversionD49);var _super1539=_createSuper(IfcAirToAirHeatRecovery);function IfcAirToAirHeatRecovery(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag,PredefinedType){var _this1542;_classCallCheck(this,IfcAirToAirHeatRecovery);_this1542=_super1539.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag);_this1542.GlobalId=GlobalId;_this1542.OwnerHistory=OwnerHistory;_this1542.Name=Name;_this1542.Description=Description;_this1542.ObjectType=ObjectType;_this1542.ObjectPlacement=ObjectPlacement;_this1542.Representation=Representation;_this1542.Tag=Tag;_this1542.PredefinedType=PredefinedType;_this1542.type=2056796094;return _this1542;}return _createClass(IfcAirToAirHeatRecovery);}(IfcEnergyConversionDevice);IFC42.IfcAirToAirHeatRecovery=IfcAirToAirHeatRecovery;var IfcAlarmType=/*#__PURE__*/function(_IfcDistributionContr11){_inherits(IfcAlarmType,_IfcDistributionContr11);var _super1540=_createSuper(IfcAlarmType);function IfcAlarmType(expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType,PredefinedType){var _this1543;_classCallCheck(this,IfcAlarmType);_this1543=_super1540.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType);_this1543.GlobalId=GlobalId;_this1543.OwnerHistory=OwnerHistory;_this1543.Name=Name;_this1543.Description=Description;_this1543.ApplicableOccurrence=ApplicableOccurrence;_this1543.HasPropertySets=HasPropertySets;_this1543.RepresentationMaps=RepresentationMaps;_this1543.Tag=Tag;_this1543.ElementType=ElementType;_this1543.PredefinedType=PredefinedType;_this1543.type=3001207471;return _this1543;}return _createClass(IfcAlarmType);}(IfcDistributionControlElementType);IFC42.IfcAlarmType=IfcAlarmType;var IfcAudioVisualAppliance=/*#__PURE__*/function(_IfcFlowTerminal10){_inherits(IfcAudioVisualAppliance,_IfcFlowTerminal10);var _super1541=_createSuper(IfcAudioVisualAppliance);function IfcAudioVisualAppliance(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag,PredefinedType){var _this1544;_classCallCheck(this,IfcAudioVisualAppliance);_this1544=_super1541.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag);_this1544.GlobalId=GlobalId;_this1544.OwnerHistory=OwnerHistory;_this1544.Name=Name;_this1544.Description=Description;_this1544.ObjectType=ObjectType;_this1544.ObjectPlacement=ObjectPlacement;_this1544.Representation=Representation;_this1544.Tag=Tag;_this1544.PredefinedType=PredefinedType;_this1544.type=277319702;return _this1544;}return _createClass(IfcAudioVisualAppliance);}(IfcFlowTerminal);IFC42.IfcAudioVisualAppliance=IfcAudioVisualAppliance;var IfcBeam=/*#__PURE__*/function(_IfcBuildingElement41){_inherits(IfcBeam,_IfcBuildingElement41);var _super1542=_createSuper(IfcBeam);function IfcBeam(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag,PredefinedType){var _this1545;_classCallCheck(this,IfcBeam);_this1545=_super1542.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag);_this1545.GlobalId=GlobalId;_this1545.OwnerHistory=OwnerHistory;_this1545.Name=Name;_this1545.Description=Description;_this1545.ObjectType=ObjectType;_this1545.ObjectPlacement=ObjectPlacement;_this1545.Representation=Representation;_this1545.Tag=Tag;_this1545.PredefinedType=PredefinedType;_this1545.type=753842376;return _this1545;}return _createClass(IfcBeam);}(IfcBuildingElement);IFC42.IfcBeam=IfcBeam;var IfcBeamStandardCase=/*#__PURE__*/function(_IfcBeam){_inherits(IfcBeamStandardCase,_IfcBeam);var _super1543=_createSuper(IfcBeamStandardCase);function IfcBeamStandardCase(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag,PredefinedType){var _this1546;_classCallCheck(this,IfcBeamStandardCase);_this1546=_super1543.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag,PredefinedType);_this1546.GlobalId=GlobalId;_this1546.OwnerHistory=OwnerHistory;_this1546.Name=Name;_this1546.Description=Description;_this1546.ObjectType=ObjectType;_this1546.ObjectPlacement=ObjectPlacement;_this1546.Representation=Representation;_this1546.Tag=Tag;_this1546.PredefinedType=PredefinedType;_this1546.type=2906023776;return _this1546;}return _createClass(IfcBeamStandardCase);}(IfcBeam);IFC42.IfcBeamStandardCase=IfcBeamStandardCase;var IfcBoiler=/*#__PURE__*/function(_IfcEnergyConversionD50){_inherits(IfcBoiler,_IfcEnergyConversionD50);var _super1544=_createSuper(IfcBoiler);function IfcBoiler(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag,PredefinedType){var _this1547;_classCallCheck(this,IfcBoiler);_this1547=_super1544.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag);_this1547.GlobalId=GlobalId;_this1547.OwnerHistory=OwnerHistory;_this1547.Name=Name;_this1547.Description=Description;_this1547.ObjectType=ObjectType;_this1547.ObjectPlacement=ObjectPlacement;_this1547.Representation=Representation;_this1547.Tag=Tag;_this1547.PredefinedType=PredefinedType;_this1547.type=32344328;return _this1547;}return _createClass(IfcBoiler);}(IfcEnergyConversionDevice);IFC42.IfcBoiler=IfcBoiler;var IfcBurner=/*#__PURE__*/function(_IfcEnergyConversionD51){_inherits(IfcBurner,_IfcEnergyConversionD51);var _super1545=_createSuper(IfcBurner);function IfcBurner(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag,PredefinedType){var _this1548;_classCallCheck(this,IfcBurner);_this1548=_super1545.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag);_this1548.GlobalId=GlobalId;_this1548.OwnerHistory=OwnerHistory;_this1548.Name=Name;_this1548.Description=Description;_this1548.ObjectType=ObjectType;_this1548.ObjectPlacement=ObjectPlacement;_this1548.Representation=Representation;_this1548.Tag=Tag;_this1548.PredefinedType=PredefinedType;_this1548.type=2938176219;return _this1548;}return _createClass(IfcBurner);}(IfcEnergyConversionDevice);IFC42.IfcBurner=IfcBurner;var IfcCableCarrierFitting=/*#__PURE__*/function(_IfcFlowFitting3){_inherits(IfcCableCarrierFitting,_IfcFlowFitting3);var _super1546=_createSuper(IfcCableCarrierFitting);function IfcCableCarrierFitting(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag,PredefinedType){var _this1549;_classCallCheck(this,IfcCableCarrierFitting);_this1549=_super1546.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag);_this1549.GlobalId=GlobalId;_this1549.OwnerHistory=OwnerHistory;_this1549.Name=Name;_this1549.Description=Description;_this1549.ObjectType=ObjectType;_this1549.ObjectPlacement=ObjectPlacement;_this1549.Representation=Representation;_this1549.Tag=Tag;_this1549.PredefinedType=PredefinedType;_this1549.type=635142910;return _this1549;}return _createClass(IfcCableCarrierFitting);}(IfcFlowFitting);IFC42.IfcCableCarrierFitting=IfcCableCarrierFitting;var IfcCableCarrierSegment=/*#__PURE__*/function(_IfcFlowSegment2){_inherits(IfcCableCarrierSegment,_IfcFlowSegment2);var _super1547=_createSuper(IfcCableCarrierSegment);function IfcCableCarrierSegment(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag,PredefinedType){var _this1550;_classCallCheck(this,IfcCableCarrierSegment);_this1550=_super1547.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag);_this1550.GlobalId=GlobalId;_this1550.OwnerHistory=OwnerHistory;_this1550.Name=Name;_this1550.Description=Description;_this1550.ObjectType=ObjectType;_this1550.ObjectPlacement=ObjectPlacement;_this1550.Representation=Representation;_this1550.Tag=Tag;_this1550.PredefinedType=PredefinedType;_this1550.type=3758799889;return _this1550;}return _createClass(IfcCableCarrierSegment);}(IfcFlowSegment);IFC42.IfcCableCarrierSegment=IfcCableCarrierSegment;var IfcCableFitting=/*#__PURE__*/function(_IfcFlowFitting4){_inherits(IfcCableFitting,_IfcFlowFitting4);var _super1548=_createSuper(IfcCableFitting);function IfcCableFitting(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag,PredefinedType){var _this1551;_classCallCheck(this,IfcCableFitting);_this1551=_super1548.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag);_this1551.GlobalId=GlobalId;_this1551.OwnerHistory=OwnerHistory;_this1551.Name=Name;_this1551.Description=Description;_this1551.ObjectType=ObjectType;_this1551.ObjectPlacement=ObjectPlacement;_this1551.Representation=Representation;_this1551.Tag=Tag;_this1551.PredefinedType=PredefinedType;_this1551.type=1051757585;return _this1551;}return _createClass(IfcCableFitting);}(IfcFlowFitting);IFC42.IfcCableFitting=IfcCableFitting;var IfcCableSegment=/*#__PURE__*/function(_IfcFlowSegment3){_inherits(IfcCableSegment,_IfcFlowSegment3);var _super1549=_createSuper(IfcCableSegment);function IfcCableSegment(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag,PredefinedType){var _this1552;_classCallCheck(this,IfcCableSegment);_this1552=_super1549.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag);_this1552.GlobalId=GlobalId;_this1552.OwnerHistory=OwnerHistory;_this1552.Name=Name;_this1552.Description=Description;_this1552.ObjectType=ObjectType;_this1552.ObjectPlacement=ObjectPlacement;_this1552.Representation=Representation;_this1552.Tag=Tag;_this1552.PredefinedType=PredefinedType;_this1552.type=4217484030;return _this1552;}return _createClass(IfcCableSegment);}(IfcFlowSegment);IFC42.IfcCableSegment=IfcCableSegment;var IfcChiller=/*#__PURE__*/function(_IfcEnergyConversionD52){_inherits(IfcChiller,_IfcEnergyConversionD52);var _super1550=_createSuper(IfcChiller);function IfcChiller(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag,PredefinedType){var _this1553;_classCallCheck(this,IfcChiller);_this1553=_super1550.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag);_this1553.GlobalId=GlobalId;_this1553.OwnerHistory=OwnerHistory;_this1553.Name=Name;_this1553.Description=Description;_this1553.ObjectType=ObjectType;_this1553.ObjectPlacement=ObjectPlacement;_this1553.Representation=Representation;_this1553.Tag=Tag;_this1553.PredefinedType=PredefinedType;_this1553.type=3902619387;return _this1553;}return _createClass(IfcChiller);}(IfcEnergyConversionDevice);IFC42.IfcChiller=IfcChiller;var IfcCoil=/*#__PURE__*/function(_IfcEnergyConversionD53){_inherits(IfcCoil,_IfcEnergyConversionD53);var _super1551=_createSuper(IfcCoil);function IfcCoil(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag,PredefinedType){var _this1554;_classCallCheck(this,IfcCoil);_this1554=_super1551.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag);_this1554.GlobalId=GlobalId;_this1554.OwnerHistory=OwnerHistory;_this1554.Name=Name;_this1554.Description=Description;_this1554.ObjectType=ObjectType;_this1554.ObjectPlacement=ObjectPlacement;_this1554.Representation=Representation;_this1554.Tag=Tag;_this1554.PredefinedType=PredefinedType;_this1554.type=639361253;return _this1554;}return _createClass(IfcCoil);}(IfcEnergyConversionDevice);IFC42.IfcCoil=IfcCoil;var IfcCommunicationsAppliance=/*#__PURE__*/function(_IfcFlowTerminal11){_inherits(IfcCommunicationsAppliance,_IfcFlowTerminal11);var _super1552=_createSuper(IfcCommunicationsAppliance);function IfcCommunicationsAppliance(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag,PredefinedType){var _this1555;_classCallCheck(this,IfcCommunicationsAppliance);_this1555=_super1552.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag);_this1555.GlobalId=GlobalId;_this1555.OwnerHistory=OwnerHistory;_this1555.Name=Name;_this1555.Description=Description;_this1555.ObjectType=ObjectType;_this1555.ObjectPlacement=ObjectPlacement;_this1555.Representation=Representation;_this1555.Tag=Tag;_this1555.PredefinedType=PredefinedType;_this1555.type=3221913625;return _this1555;}return _createClass(IfcCommunicationsAppliance);}(IfcFlowTerminal);IFC42.IfcCommunicationsAppliance=IfcCommunicationsAppliance;var IfcCompressor=/*#__PURE__*/function(_IfcFlowMovingDevice2){_inherits(IfcCompressor,_IfcFlowMovingDevice2);var _super1553=_createSuper(IfcCompressor);function IfcCompressor(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag,PredefinedType){var _this1556;_classCallCheck(this,IfcCompressor);_this1556=_super1553.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag);_this1556.GlobalId=GlobalId;_this1556.OwnerHistory=OwnerHistory;_this1556.Name=Name;_this1556.Description=Description;_this1556.ObjectType=ObjectType;_this1556.ObjectPlacement=ObjectPlacement;_this1556.Representation=Representation;_this1556.Tag=Tag;_this1556.PredefinedType=PredefinedType;_this1556.type=3571504051;return _this1556;}return _createClass(IfcCompressor);}(IfcFlowMovingDevice);IFC42.IfcCompressor=IfcCompressor;var IfcCondenser=/*#__PURE__*/function(_IfcEnergyConversionD54){_inherits(IfcCondenser,_IfcEnergyConversionD54);var _super1554=_createSuper(IfcCondenser);function IfcCondenser(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag,PredefinedType){var _this1557;_classCallCheck(this,IfcCondenser);_this1557=_super1554.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag);_this1557.GlobalId=GlobalId;_this1557.OwnerHistory=OwnerHistory;_this1557.Name=Name;_this1557.Description=Description;_this1557.ObjectType=ObjectType;_this1557.ObjectPlacement=ObjectPlacement;_this1557.Representation=Representation;_this1557.Tag=Tag;_this1557.PredefinedType=PredefinedType;_this1557.type=2272882330;return _this1557;}return _createClass(IfcCondenser);}(IfcEnergyConversionDevice);IFC42.IfcCondenser=IfcCondenser;var IfcControllerType=/*#__PURE__*/function(_IfcDistributionContr12){_inherits(IfcControllerType,_IfcDistributionContr12);var _super1555=_createSuper(IfcControllerType);function IfcControllerType(expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType,PredefinedType){var _this1558;_classCallCheck(this,IfcControllerType);_this1558=_super1555.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType);_this1558.GlobalId=GlobalId;_this1558.OwnerHistory=OwnerHistory;_this1558.Name=Name;_this1558.Description=Description;_this1558.ApplicableOccurrence=ApplicableOccurrence;_this1558.HasPropertySets=HasPropertySets;_this1558.RepresentationMaps=RepresentationMaps;_this1558.Tag=Tag;_this1558.ElementType=ElementType;_this1558.PredefinedType=PredefinedType;_this1558.type=578613899;return _this1558;}return _createClass(IfcControllerType);}(IfcDistributionControlElementType);IFC42.IfcControllerType=IfcControllerType;var IfcCooledBeam=/*#__PURE__*/function(_IfcEnergyConversionD55){_inherits(IfcCooledBeam,_IfcEnergyConversionD55);var _super1556=_createSuper(IfcCooledBeam);function IfcCooledBeam(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag,PredefinedType){var _this1559;_classCallCheck(this,IfcCooledBeam);_this1559=_super1556.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag);_this1559.GlobalId=GlobalId;_this1559.OwnerHistory=OwnerHistory;_this1559.Name=Name;_this1559.Description=Description;_this1559.ObjectType=ObjectType;_this1559.ObjectPlacement=ObjectPlacement;_this1559.Representation=Representation;_this1559.Tag=Tag;_this1559.PredefinedType=PredefinedType;_this1559.type=4136498852;return _this1559;}return _createClass(IfcCooledBeam);}(IfcEnergyConversionDevice);IFC42.IfcCooledBeam=IfcCooledBeam;var IfcCoolingTower=/*#__PURE__*/function(_IfcEnergyConversionD56){_inherits(IfcCoolingTower,_IfcEnergyConversionD56);var _super1557=_createSuper(IfcCoolingTower);function IfcCoolingTower(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag,PredefinedType){var _this1560;_classCallCheck(this,IfcCoolingTower);_this1560=_super1557.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag);_this1560.GlobalId=GlobalId;_this1560.OwnerHistory=OwnerHistory;_this1560.Name=Name;_this1560.Description=Description;_this1560.ObjectType=ObjectType;_this1560.ObjectPlacement=ObjectPlacement;_this1560.Representation=Representation;_this1560.Tag=Tag;_this1560.PredefinedType=PredefinedType;_this1560.type=3640358203;return _this1560;}return _createClass(IfcCoolingTower);}(IfcEnergyConversionDevice);IFC42.IfcCoolingTower=IfcCoolingTower;var IfcDamper=/*#__PURE__*/function(_IfcFlowController7){_inherits(IfcDamper,_IfcFlowController7);var _super1558=_createSuper(IfcDamper);function IfcDamper(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag,PredefinedType){var _this1561;_classCallCheck(this,IfcDamper);_this1561=_super1558.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag);_this1561.GlobalId=GlobalId;_this1561.OwnerHistory=OwnerHistory;_this1561.Name=Name;_this1561.Description=Description;_this1561.ObjectType=ObjectType;_this1561.ObjectPlacement=ObjectPlacement;_this1561.Representation=Representation;_this1561.Tag=Tag;_this1561.PredefinedType=PredefinedType;_this1561.type=4074379575;return _this1561;}return _createClass(IfcDamper);}(IfcFlowController);IFC42.IfcDamper=IfcDamper;var IfcDistributionChamberElement=/*#__PURE__*/function(_IfcDistributionFlowE36){_inherits(IfcDistributionChamberElement,_IfcDistributionFlowE36);var _super1559=_createSuper(IfcDistributionChamberElement);function IfcDistributionChamberElement(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag,PredefinedType){var _this1562;_classCallCheck(this,IfcDistributionChamberElement);_this1562=_super1559.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag);_this1562.GlobalId=GlobalId;_this1562.OwnerHistory=OwnerHistory;_this1562.Name=Name;_this1562.Description=Description;_this1562.ObjectType=ObjectType;_this1562.ObjectPlacement=ObjectPlacement;_this1562.Representation=Representation;_this1562.Tag=Tag;_this1562.PredefinedType=PredefinedType;_this1562.type=1052013943;return _this1562;}return _createClass(IfcDistributionChamberElement);}(IfcDistributionFlowElement);IFC42.IfcDistributionChamberElement=IfcDistributionChamberElement;var IfcDistributionCircuit=/*#__PURE__*/function(_IfcDistributionSyste){_inherits(IfcDistributionCircuit,_IfcDistributionSyste);var _super1560=_createSuper(IfcDistributionCircuit);function IfcDistributionCircuit(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,LongName,PredefinedType){var _this1563;_classCallCheck(this,IfcDistributionCircuit);_this1563=_super1560.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,LongName,PredefinedType);_this1563.GlobalId=GlobalId;_this1563.OwnerHistory=OwnerHistory;_this1563.Name=Name;_this1563.Description=Description;_this1563.ObjectType=ObjectType;_this1563.LongName=LongName;_this1563.PredefinedType=PredefinedType;_this1563.type=562808652;return _this1563;}return _createClass(IfcDistributionCircuit);}(IfcDistributionSystem);IFC42.IfcDistributionCircuit=IfcDistributionCircuit;var IfcDistributionControlElement=/*#__PURE__*/function(_IfcDistributionEleme8){_inherits(IfcDistributionControlElement,_IfcDistributionEleme8);var _super1561=_createSuper(IfcDistributionControlElement);function IfcDistributionControlElement(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag){var _this1564;_classCallCheck(this,IfcDistributionControlElement);_this1564=_super1561.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag);_this1564.GlobalId=GlobalId;_this1564.OwnerHistory=OwnerHistory;_this1564.Name=Name;_this1564.Description=Description;_this1564.ObjectType=ObjectType;_this1564.ObjectPlacement=ObjectPlacement;_this1564.Representation=Representation;_this1564.Tag=Tag;_this1564.type=1062813311;return _this1564;}return _createClass(IfcDistributionControlElement);}(IfcDistributionElement);IFC42.IfcDistributionControlElement=IfcDistributionControlElement;var IfcDuctFitting=/*#__PURE__*/function(_IfcFlowFitting5){_inherits(IfcDuctFitting,_IfcFlowFitting5);var _super1562=_createSuper(IfcDuctFitting);function IfcDuctFitting(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag,PredefinedType){var _this1565;_classCallCheck(this,IfcDuctFitting);_this1565=_super1562.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag);_this1565.GlobalId=GlobalId;_this1565.OwnerHistory=OwnerHistory;_this1565.Name=Name;_this1565.Description=Description;_this1565.ObjectType=ObjectType;_this1565.ObjectPlacement=ObjectPlacement;_this1565.Representation=Representation;_this1565.Tag=Tag;_this1565.PredefinedType=PredefinedType;_this1565.type=342316401;return _this1565;}return _createClass(IfcDuctFitting);}(IfcFlowFitting);IFC42.IfcDuctFitting=IfcDuctFitting;var IfcDuctSegment=/*#__PURE__*/function(_IfcFlowSegment4){_inherits(IfcDuctSegment,_IfcFlowSegment4);var _super1563=_createSuper(IfcDuctSegment);function IfcDuctSegment(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag,PredefinedType){var _this1566;_classCallCheck(this,IfcDuctSegment);_this1566=_super1563.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag);_this1566.GlobalId=GlobalId;_this1566.OwnerHistory=OwnerHistory;_this1566.Name=Name;_this1566.Description=Description;_this1566.ObjectType=ObjectType;_this1566.ObjectPlacement=ObjectPlacement;_this1566.Representation=Representation;_this1566.Tag=Tag;_this1566.PredefinedType=PredefinedType;_this1566.type=3518393246;return _this1566;}return _createClass(IfcDuctSegment);}(IfcFlowSegment);IFC42.IfcDuctSegment=IfcDuctSegment;var IfcDuctSilencer=/*#__PURE__*/function(_IfcFlowTreatmentDevi7){_inherits(IfcDuctSilencer,_IfcFlowTreatmentDevi7);var _super1564=_createSuper(IfcDuctSilencer);function IfcDuctSilencer(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag,PredefinedType){var _this1567;_classCallCheck(this,IfcDuctSilencer);_this1567=_super1564.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag);_this1567.GlobalId=GlobalId;_this1567.OwnerHistory=OwnerHistory;_this1567.Name=Name;_this1567.Description=Description;_this1567.ObjectType=ObjectType;_this1567.ObjectPlacement=ObjectPlacement;_this1567.Representation=Representation;_this1567.Tag=Tag;_this1567.PredefinedType=PredefinedType;_this1567.type=1360408905;return _this1567;}return _createClass(IfcDuctSilencer);}(IfcFlowTreatmentDevice);IFC42.IfcDuctSilencer=IfcDuctSilencer;var IfcElectricAppliance=/*#__PURE__*/function(_IfcFlowTerminal12){_inherits(IfcElectricAppliance,_IfcFlowTerminal12);var _super1565=_createSuper(IfcElectricAppliance);function IfcElectricAppliance(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag,PredefinedType){var _this1568;_classCallCheck(this,IfcElectricAppliance);_this1568=_super1565.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag);_this1568.GlobalId=GlobalId;_this1568.OwnerHistory=OwnerHistory;_this1568.Name=Name;_this1568.Description=Description;_this1568.ObjectType=ObjectType;_this1568.ObjectPlacement=ObjectPlacement;_this1568.Representation=Representation;_this1568.Tag=Tag;_this1568.PredefinedType=PredefinedType;_this1568.type=1904799276;return _this1568;}return _createClass(IfcElectricAppliance);}(IfcFlowTerminal);IFC42.IfcElectricAppliance=IfcElectricAppliance;var IfcElectricDistributionBoard=/*#__PURE__*/function(_IfcFlowController8){_inherits(IfcElectricDistributionBoard,_IfcFlowController8);var _super1566=_createSuper(IfcElectricDistributionBoard);function IfcElectricDistributionBoard(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag,PredefinedType){var _this1569;_classCallCheck(this,IfcElectricDistributionBoard);_this1569=_super1566.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag);_this1569.GlobalId=GlobalId;_this1569.OwnerHistory=OwnerHistory;_this1569.Name=Name;_this1569.Description=Description;_this1569.ObjectType=ObjectType;_this1569.ObjectPlacement=ObjectPlacement;_this1569.Representation=Representation;_this1569.Tag=Tag;_this1569.PredefinedType=PredefinedType;_this1569.type=862014818;return _this1569;}return _createClass(IfcElectricDistributionBoard);}(IfcFlowController);IFC42.IfcElectricDistributionBoard=IfcElectricDistributionBoard;var IfcElectricFlowStorageDevice=/*#__PURE__*/function(_IfcFlowStorageDevice6){_inherits(IfcElectricFlowStorageDevice,_IfcFlowStorageDevice6);var _super1567=_createSuper(IfcElectricFlowStorageDevice);function IfcElectricFlowStorageDevice(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag,PredefinedType){var _this1570;_classCallCheck(this,IfcElectricFlowStorageDevice);_this1570=_super1567.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag);_this1570.GlobalId=GlobalId;_this1570.OwnerHistory=OwnerHistory;_this1570.Name=Name;_this1570.Description=Description;_this1570.ObjectType=ObjectType;_this1570.ObjectPlacement=ObjectPlacement;_this1570.Representation=Representation;_this1570.Tag=Tag;_this1570.PredefinedType=PredefinedType;_this1570.type=3310460725;return _this1570;}return _createClass(IfcElectricFlowStorageDevice);}(IfcFlowStorageDevice);IFC42.IfcElectricFlowStorageDevice=IfcElectricFlowStorageDevice;var IfcElectricGenerator=/*#__PURE__*/function(_IfcEnergyConversionD57){_inherits(IfcElectricGenerator,_IfcEnergyConversionD57);var _super1568=_createSuper(IfcElectricGenerator);function IfcElectricGenerator(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag,PredefinedType){var _this1571;_classCallCheck(this,IfcElectricGenerator);_this1571=_super1568.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag);_this1571.GlobalId=GlobalId;_this1571.OwnerHistory=OwnerHistory;_this1571.Name=Name;_this1571.Description=Description;_this1571.ObjectType=ObjectType;_this1571.ObjectPlacement=ObjectPlacement;_this1571.Representation=Representation;_this1571.Tag=Tag;_this1571.PredefinedType=PredefinedType;_this1571.type=264262732;return _this1571;}return _createClass(IfcElectricGenerator);}(IfcEnergyConversionDevice);IFC42.IfcElectricGenerator=IfcElectricGenerator;var IfcElectricMotor=/*#__PURE__*/function(_IfcEnergyConversionD58){_inherits(IfcElectricMotor,_IfcEnergyConversionD58);var _super1569=_createSuper(IfcElectricMotor);function IfcElectricMotor(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag,PredefinedType){var _this1572;_classCallCheck(this,IfcElectricMotor);_this1572=_super1569.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag);_this1572.GlobalId=GlobalId;_this1572.OwnerHistory=OwnerHistory;_this1572.Name=Name;_this1572.Description=Description;_this1572.ObjectType=ObjectType;_this1572.ObjectPlacement=ObjectPlacement;_this1572.Representation=Representation;_this1572.Tag=Tag;_this1572.PredefinedType=PredefinedType;_this1572.type=402227799;return _this1572;}return _createClass(IfcElectricMotor);}(IfcEnergyConversionDevice);IFC42.IfcElectricMotor=IfcElectricMotor;var IfcElectricTimeControl=/*#__PURE__*/function(_IfcFlowController9){_inherits(IfcElectricTimeControl,_IfcFlowController9);var _super1570=_createSuper(IfcElectricTimeControl);function IfcElectricTimeControl(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag,PredefinedType){var _this1573;_classCallCheck(this,IfcElectricTimeControl);_this1573=_super1570.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag);_this1573.GlobalId=GlobalId;_this1573.OwnerHistory=OwnerHistory;_this1573.Name=Name;_this1573.Description=Description;_this1573.ObjectType=ObjectType;_this1573.ObjectPlacement=ObjectPlacement;_this1573.Representation=Representation;_this1573.Tag=Tag;_this1573.PredefinedType=PredefinedType;_this1573.type=1003880860;return _this1573;}return _createClass(IfcElectricTimeControl);}(IfcFlowController);IFC42.IfcElectricTimeControl=IfcElectricTimeControl;var IfcFan=/*#__PURE__*/function(_IfcFlowMovingDevice3){_inherits(IfcFan,_IfcFlowMovingDevice3);var _super1571=_createSuper(IfcFan);function IfcFan(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag,PredefinedType){var _this1574;_classCallCheck(this,IfcFan);_this1574=_super1571.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag);_this1574.GlobalId=GlobalId;_this1574.OwnerHistory=OwnerHistory;_this1574.Name=Name;_this1574.Description=Description;_this1574.ObjectType=ObjectType;_this1574.ObjectPlacement=ObjectPlacement;_this1574.Representation=Representation;_this1574.Tag=Tag;_this1574.PredefinedType=PredefinedType;_this1574.type=3415622556;return _this1574;}return _createClass(IfcFan);}(IfcFlowMovingDevice);IFC42.IfcFan=IfcFan;var IfcFilter=/*#__PURE__*/function(_IfcFlowTreatmentDevi8){_inherits(IfcFilter,_IfcFlowTreatmentDevi8);var _super1572=_createSuper(IfcFilter);function IfcFilter(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag,PredefinedType){var _this1575;_classCallCheck(this,IfcFilter);_this1575=_super1572.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag);_this1575.GlobalId=GlobalId;_this1575.OwnerHistory=OwnerHistory;_this1575.Name=Name;_this1575.Description=Description;_this1575.ObjectType=ObjectType;_this1575.ObjectPlacement=ObjectPlacement;_this1575.Representation=Representation;_this1575.Tag=Tag;_this1575.PredefinedType=PredefinedType;_this1575.type=819412036;return _this1575;}return _createClass(IfcFilter);}(IfcFlowTreatmentDevice);IFC42.IfcFilter=IfcFilter;var IfcFireSuppressionTerminal=/*#__PURE__*/function(_IfcFlowTerminal13){_inherits(IfcFireSuppressionTerminal,_IfcFlowTerminal13);var _super1573=_createSuper(IfcFireSuppressionTerminal);function IfcFireSuppressionTerminal(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag,PredefinedType){var _this1576;_classCallCheck(this,IfcFireSuppressionTerminal);_this1576=_super1573.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag);_this1576.GlobalId=GlobalId;_this1576.OwnerHistory=OwnerHistory;_this1576.Name=Name;_this1576.Description=Description;_this1576.ObjectType=ObjectType;_this1576.ObjectPlacement=ObjectPlacement;_this1576.Representation=Representation;_this1576.Tag=Tag;_this1576.PredefinedType=PredefinedType;_this1576.type=1426591983;return _this1576;}return _createClass(IfcFireSuppressionTerminal);}(IfcFlowTerminal);IFC42.IfcFireSuppressionTerminal=IfcFireSuppressionTerminal;var IfcFlowInstrument=/*#__PURE__*/function(_IfcDistributionContr13){_inherits(IfcFlowInstrument,_IfcDistributionContr13);var _super1574=_createSuper(IfcFlowInstrument);function IfcFlowInstrument(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag,PredefinedType){var _this1577;_classCallCheck(this,IfcFlowInstrument);_this1577=_super1574.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag);_this1577.GlobalId=GlobalId;_this1577.OwnerHistory=OwnerHistory;_this1577.Name=Name;_this1577.Description=Description;_this1577.ObjectType=ObjectType;_this1577.ObjectPlacement=ObjectPlacement;_this1577.Representation=Representation;_this1577.Tag=Tag;_this1577.PredefinedType=PredefinedType;_this1577.type=182646315;return _this1577;}return _createClass(IfcFlowInstrument);}(IfcDistributionControlElement);IFC42.IfcFlowInstrument=IfcFlowInstrument;var IfcProtectiveDeviceTrippingUnit=/*#__PURE__*/function(_IfcDistributionContr14){_inherits(IfcProtectiveDeviceTrippingUnit,_IfcDistributionContr14);var _super1575=_createSuper(IfcProtectiveDeviceTrippingUnit);function IfcProtectiveDeviceTrippingUnit(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag,PredefinedType){var _this1578;_classCallCheck(this,IfcProtectiveDeviceTrippingUnit);_this1578=_super1575.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag);_this1578.GlobalId=GlobalId;_this1578.OwnerHistory=OwnerHistory;_this1578.Name=Name;_this1578.Description=Description;_this1578.ObjectType=ObjectType;_this1578.ObjectPlacement=ObjectPlacement;_this1578.Representation=Representation;_this1578.Tag=Tag;_this1578.PredefinedType=PredefinedType;_this1578.type=2295281155;return _this1578;}return _createClass(IfcProtectiveDeviceTrippingUnit);}(IfcDistributionControlElement);IFC42.IfcProtectiveDeviceTrippingUnit=IfcProtectiveDeviceTrippingUnit;var IfcSensor=/*#__PURE__*/function(_IfcDistributionContr15){_inherits(IfcSensor,_IfcDistributionContr15);var _super1576=_createSuper(IfcSensor);function IfcSensor(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag,PredefinedType){var _this1579;_classCallCheck(this,IfcSensor);_this1579=_super1576.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag);_this1579.GlobalId=GlobalId;_this1579.OwnerHistory=OwnerHistory;_this1579.Name=Name;_this1579.Description=Description;_this1579.ObjectType=ObjectType;_this1579.ObjectPlacement=ObjectPlacement;_this1579.Representation=Representation;_this1579.Tag=Tag;_this1579.PredefinedType=PredefinedType;_this1579.type=4086658281;return _this1579;}return _createClass(IfcSensor);}(IfcDistributionControlElement);IFC42.IfcSensor=IfcSensor;var IfcUnitaryControlElement=/*#__PURE__*/function(_IfcDistributionContr16){_inherits(IfcUnitaryControlElement,_IfcDistributionContr16);var _super1577=_createSuper(IfcUnitaryControlElement);function IfcUnitaryControlElement(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag,PredefinedType){var _this1580;_classCallCheck(this,IfcUnitaryControlElement);_this1580=_super1577.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag);_this1580.GlobalId=GlobalId;_this1580.OwnerHistory=OwnerHistory;_this1580.Name=Name;_this1580.Description=Description;_this1580.ObjectType=ObjectType;_this1580.ObjectPlacement=ObjectPlacement;_this1580.Representation=Representation;_this1580.Tag=Tag;_this1580.PredefinedType=PredefinedType;_this1580.type=630975310;return _this1580;}return _createClass(IfcUnitaryControlElement);}(IfcDistributionControlElement);IFC42.IfcUnitaryControlElement=IfcUnitaryControlElement;var IfcActuator=/*#__PURE__*/function(_IfcDistributionContr17){_inherits(IfcActuator,_IfcDistributionContr17);var _super1578=_createSuper(IfcActuator);function IfcActuator(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag,PredefinedType){var _this1581;_classCallCheck(this,IfcActuator);_this1581=_super1578.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag);_this1581.GlobalId=GlobalId;_this1581.OwnerHistory=OwnerHistory;_this1581.Name=Name;_this1581.Description=Description;_this1581.ObjectType=ObjectType;_this1581.ObjectPlacement=ObjectPlacement;_this1581.Representation=Representation;_this1581.Tag=Tag;_this1581.PredefinedType=PredefinedType;_this1581.type=4288193352;return _this1581;}return _createClass(IfcActuator);}(IfcDistributionControlElement);IFC42.IfcActuator=IfcActuator;var IfcAlarm=/*#__PURE__*/function(_IfcDistributionContr18){_inherits(IfcAlarm,_IfcDistributionContr18);var _super1579=_createSuper(IfcAlarm);function IfcAlarm(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag,PredefinedType){var _this1582;_classCallCheck(this,IfcAlarm);_this1582=_super1579.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag);_this1582.GlobalId=GlobalId;_this1582.OwnerHistory=OwnerHistory;_this1582.Name=Name;_this1582.Description=Description;_this1582.ObjectType=ObjectType;_this1582.ObjectPlacement=ObjectPlacement;_this1582.Representation=Representation;_this1582.Tag=Tag;_this1582.PredefinedType=PredefinedType;_this1582.type=3087945054;return _this1582;}return _createClass(IfcAlarm);}(IfcDistributionControlElement);IFC42.IfcAlarm=IfcAlarm;var IfcController=/*#__PURE__*/function(_IfcDistributionContr19){_inherits(IfcController,_IfcDistributionContr19);var _super1580=_createSuper(IfcController);function IfcController(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag,PredefinedType){var _this1583;_classCallCheck(this,IfcController);_this1583=_super1580.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag);_this1583.GlobalId=GlobalId;_this1583.OwnerHistory=OwnerHistory;_this1583.Name=Name;_this1583.Description=Description;_this1583.ObjectType=ObjectType;_this1583.ObjectPlacement=ObjectPlacement;_this1583.Representation=Representation;_this1583.Tag=Tag;_this1583.PredefinedType=PredefinedType;_this1583.type=25142252;return _this1583;}return _createClass(IfcController);}(IfcDistributionControlElement);IFC42.IfcController=IfcController;})(IFC4||(IFC4={}));SchemaNames[3]="IFC4X3";FromRawLineData[3]={3630933823:function _(id,v){return new IFC4X3.IfcActorRole(id,v[0],!v[1]?null:new IFC4X3.IfcLabel(v[1].value),!v[2]?null:new IFC4X3.IfcText(v[2].value));},618182010:function _(id,v){return new IFC4X3.IfcAddress(id,v[0],!v[1]?null:new IFC4X3.IfcText(v[1].value),!v[2]?null:new IFC4X3.IfcLabel(v[2].value));},2879124712:function _(id,v){return new IFC4X3.IfcAlignmentParameterSegment(id,!v[0]?null:new IFC4X3.IfcLabel(v[0].value),!v[1]?null:new IFC4X3.IfcLabel(v[1].value));},3633395639:function _(id,v){return new IFC4X3.IfcAlignmentVerticalSegment(id,!v[0]?null:new IFC4X3.IfcLabel(v[0].value),!v[1]?null:new IFC4X3.IfcLabel(v[1].value),new IFC4X3.IfcLengthMeasure(v[2].value),new IFC4X3.IfcNonNegativeLengthMeasure(v[3].value),new IFC4X3.IfcLengthMeasure(v[4].value),new IFC4X3.IfcRatioMeasure(v[5].value),new IFC4X3.IfcRatioMeasure(v[6].value),!v[7]?null:new IFC4X3.IfcLengthMeasure(v[7].value),v[8]);},639542469:function _(id,v){return new IFC4X3.IfcApplication(id,new Handle(v[0].value),new IFC4X3.IfcLabel(v[1].value),new IFC4X3.IfcLabel(v[2].value),new IFC4X3.IfcIdentifier(v[3].value));},411424972:function _(id,v){return new IFC4X3.IfcAppliedValue(id,!v[0]?null:new IFC4X3.IfcLabel(v[0].value),!v[1]?null:new IFC4X3.IfcText(v[1].value),!v[2]?null:new Handle(v[2].value),!v[3]?null:new Handle(v[3].value),!v[4]?null:new IFC4X3.IfcDate(v[4].value),!v[5]?null:new IFC4X3.IfcDate(v[5].value),!v[6]?null:new IFC4X3.IfcLabel(v[6].value),!v[7]?null:new IFC4X3.IfcLabel(v[7].value),v[8],!v[9]?null:v[9].map(function(p){return new Handle(p.value);}));},130549933:function _(id,v){return new IFC4X3.IfcApproval(id,!v[0]?null:new IFC4X3.IfcIdentifier(v[0].value),!v[1]?null:new IFC4X3.IfcLabel(v[1].value),!v[2]?null:new IFC4X3.IfcText(v[2].value),!v[3]?null:new IFC4X3.IfcDateTime(v[3].value),!v[4]?null:new IFC4X3.IfcLabel(v[4].value),!v[5]?null:new IFC4X3.IfcLabel(v[5].value),!v[6]?null:new IFC4X3.IfcText(v[6].value),!v[7]?null:new Handle(v[7].value),!v[8]?null:new Handle(v[8].value));},4037036970:function _(id,v){return new IFC4X3.IfcBoundaryCondition(id,!v[0]?null:new IFC4X3.IfcLabel(v[0].value));},1560379544:function _(id,v){return new IFC4X3.IfcBoundaryEdgeCondition(id,!v[0]?null:new IFC4X3.IfcLabel(v[0].value),!v[1]?null:TypeInitialiser(3,v[1]),!v[2]?null:TypeInitialiser(3,v[2]),!v[3]?null:TypeInitialiser(3,v[3]),!v[4]?null:TypeInitialiser(3,v[4]),!v[5]?null:TypeInitialiser(3,v[5]),!v[6]?null:TypeInitialiser(3,v[6]));},3367102660:function _(id,v){return new IFC4X3.IfcBoundaryFaceCondition(id,!v[0]?null:new IFC4X3.IfcLabel(v[0].value),!v[1]?null:TypeInitialiser(3,v[1]),!v[2]?null:TypeInitialiser(3,v[2]),!v[3]?null:TypeInitialiser(3,v[3]));},1387855156:function _(id,v){return new IFC4X3.IfcBoundaryNodeCondition(id,!v[0]?null:new IFC4X3.IfcLabel(v[0].value),!v[1]?null:TypeInitialiser(3,v[1]),!v[2]?null:TypeInitialiser(3,v[2]),!v[3]?null:TypeInitialiser(3,v[3]),!v[4]?null:TypeInitialiser(3,v[4]),!v[5]?null:TypeInitialiser(3,v[5]),!v[6]?null:TypeInitialiser(3,v[6]));},2069777674:function _(id,v){return new IFC4X3.IfcBoundaryNodeConditionWarping(id,!v[0]?null:new IFC4X3.IfcLabel(v[0].value),!v[1]?null:TypeInitialiser(3,v[1]),!v[2]?null:TypeInitialiser(3,v[2]),!v[3]?null:TypeInitialiser(3,v[3]),!v[4]?null:TypeInitialiser(3,v[4]),!v[5]?null:TypeInitialiser(3,v[5]),!v[6]?null:TypeInitialiser(3,v[6]),!v[7]?null:TypeInitialiser(3,v[7]));},2859738748:function _(id,_107){return new IFC4X3.IfcConnectionGeometry(id);},2614616156:function _(id,v){return new IFC4X3.IfcConnectionPointGeometry(id,new Handle(v[0].value),!v[1]?null:new Handle(v[1].value));},2732653382:function _(id,v){return new IFC4X3.IfcConnectionSurfaceGeometry(id,new Handle(v[0].value),!v[1]?null:new Handle(v[1].value));},775493141:function _(id,v){return new IFC4X3.IfcConnectionVolumeGeometry(id,new Handle(v[0].value),!v[1]?null:new Handle(v[1].value));},1959218052:function _(id,v){return new IFC4X3.IfcConstraint(id,new IFC4X3.IfcLabel(v[0].value),!v[1]?null:new IFC4X3.IfcText(v[1].value),v[2],!v[3]?null:new IFC4X3.IfcLabel(v[3].value),!v[4]?null:new Handle(v[4].value),!v[5]?null:new IFC4X3.IfcDateTime(v[5].value),!v[6]?null:new IFC4X3.IfcLabel(v[6].value));},1785450214:function _(id,v){return new IFC4X3.IfcCoordinateOperation(id,new Handle(v[0].value),new Handle(v[1].value));},1466758467:function _(id,v){return new IFC4X3.IfcCoordinateReferenceSystem(id,new IFC4X3.IfcLabel(v[0].value),!v[1]?null:new IFC4X3.IfcText(v[1].value),!v[2]?null:new IFC4X3.IfcIdentifier(v[2].value),!v[3]?null:new IFC4X3.IfcIdentifier(v[3].value));},602808272:function _(id,v){return new IFC4X3.IfcCostValue(id,!v[0]?null:new IFC4X3.IfcLabel(v[0].value),!v[1]?null:new IFC4X3.IfcText(v[1].value),!v[2]?null:new Handle(v[2].value),!v[3]?null:new Handle(v[3].value),!v[4]?null:new IFC4X3.IfcDate(v[4].value),!v[5]?null:new IFC4X3.IfcDate(v[5].value),!v[6]?null:new IFC4X3.IfcLabel(v[6].value),!v[7]?null:new IFC4X3.IfcLabel(v[7].value),v[8],!v[9]?null:v[9].map(function(p){return new Handle(p.value);}));},1765591967:function _(id,v){return new IFC4X3.IfcDerivedUnit(id,v[0].map(function(p){return new Handle(p.value);}),v[1],!v[2]?null:new IFC4X3.IfcLabel(v[2].value),!v[3]?null:new IFC4X3.IfcLabel(v[3].value));},1045800335:function _(id,v){return new IFC4X3.IfcDerivedUnitElement(id,new Handle(v[0].value),v[1].value);},2949456006:function _(id,v){return new IFC4X3.IfcDimensionalExponents(id,v[0].value,v[1].value,v[2].value,v[3].value,v[4].value,v[5].value,v[6].value);},4294318154:function _(id,_108){return new IFC4X3.IfcExternalInformation(id);},3200245327:function _(id,v){return new IFC4X3.IfcExternalReference(id,!v[0]?null:new IFC4X3.IfcURIReference(v[0].value),!v[1]?null:new IFC4X3.IfcIdentifier(v[1].value),!v[2]?null:new IFC4X3.IfcLabel(v[2].value));},2242383968:function _(id,v){return new IFC4X3.IfcExternallyDefinedHatchStyle(id,!v[0]?null:new IFC4X3.IfcURIReference(v[0].value),!v[1]?null:new IFC4X3.IfcIdentifier(v[1].value),!v[2]?null:new IFC4X3.IfcLabel(v[2].value));},1040185647:function _(id,v){return new IFC4X3.IfcExternallyDefinedSurfaceStyle(id,!v[0]?null:new IFC4X3.IfcURIReference(v[0].value),!v[1]?null:new IFC4X3.IfcIdentifier(v[1].value),!v[2]?null:new IFC4X3.IfcLabel(v[2].value));},3548104201:function _(id,v){return new IFC4X3.IfcExternallyDefinedTextFont(id,!v[0]?null:new IFC4X3.IfcURIReference(v[0].value),!v[1]?null:new IFC4X3.IfcIdentifier(v[1].value),!v[2]?null:new IFC4X3.IfcLabel(v[2].value));},852622518:function _(id,v){return new IFC4X3.IfcGridAxis(id,!v[0]?null:new IFC4X3.IfcLabel(v[0].value),new Handle(v[1].value),new IFC4X3.IfcBoolean(v[2].value));},3020489413:function _(id,v){return new IFC4X3.IfcIrregularTimeSeriesValue(id,new IFC4X3.IfcDateTime(v[0].value),v[1].map(function(p){return TypeInitialiser(3,p);}));},2655187982:function _(id,v){return new IFC4X3.IfcLibraryInformation(id,new IFC4X3.IfcLabel(v[0].value),!v[1]?null:new IFC4X3.IfcLabel(v[1].value),!v[2]?null:new Handle(v[2].value),!v[3]?null:new IFC4X3.IfcDateTime(v[3].value),!v[4]?null:new IFC4X3.IfcURIReference(v[4].value),!v[5]?null:new IFC4X3.IfcText(v[5].value));},3452421091:function _(id,v){return new IFC4X3.IfcLibraryReference(id,!v[0]?null:new IFC4X3.IfcURIReference(v[0].value),!v[1]?null:new IFC4X3.IfcIdentifier(v[1].value),!v[2]?null:new IFC4X3.IfcLabel(v[2].value),!v[3]?null:new IFC4X3.IfcText(v[3].value),!v[4]?null:new IFC4X3.IfcLanguageId(v[4].value),!v[5]?null:new Handle(v[5].value));},4162380809:function _(id,v){return new IFC4X3.IfcLightDistributionData(id,new IFC4X3.IfcPlaneAngleMeasure(v[0].value),v[1].map(function(p){return new IFC4X3.IfcPlaneAngleMeasure(p.value);}),v[2].map(function(p){return new IFC4X3.IfcLuminousIntensityDistributionMeasure(p.value);}));},1566485204:function _(id,v){return new IFC4X3.IfcLightIntensityDistribution(id,v[0],v[1].map(function(p){return new Handle(p.value);}));},3057273783:function _(id,v){return new IFC4X3.IfcMapConversion(id,new Handle(v[0].value),new Handle(v[1].value),new IFC4X3.IfcLengthMeasure(v[2].value),new IFC4X3.IfcLengthMeasure(v[3].value),new IFC4X3.IfcLengthMeasure(v[4].value),!v[5]?null:new IFC4X3.IfcReal(v[5].value),!v[6]?null:new IFC4X3.IfcReal(v[6].value),!v[7]?null:new IFC4X3.IfcReal(v[7].value),!v[8]?null:new IFC4X3.IfcReal(v[8].value),!v[9]?null:new IFC4X3.IfcReal(v[9].value));},1847130766:function _(id,v){return new IFC4X3.IfcMaterialClassificationRelationship(id,v[0].map(function(p){return new Handle(p.value);}),new Handle(v[1].value));},760658860:function _(id,_109){return new IFC4X3.IfcMaterialDefinition(id);},248100487:function _(id,v){return new IFC4X3.IfcMaterialLayer(id,!v[0]?null:new Handle(v[0].value),new IFC4X3.IfcNonNegativeLengthMeasure(v[1].value),!v[2]?null:new IFC4X3.IfcLogical(v[2].value),!v[3]?null:new IFC4X3.IfcLabel(v[3].value),!v[4]?null:new IFC4X3.IfcText(v[4].value),!v[5]?null:new IFC4X3.IfcLabel(v[5].value),!v[6]?null:new IFC4X3.IfcInteger(v[6].value));},3303938423:function _(id,v){return new IFC4X3.IfcMaterialLayerSet(id,v[0].map(function(p){return new Handle(p.value);}),!v[1]?null:new IFC4X3.IfcLabel(v[1].value),!v[2]?null:new IFC4X3.IfcText(v[2].value));},1847252529:function _(id,v){return new IFC4X3.IfcMaterialLayerWithOffsets(id,!v[0]?null:new Handle(v[0].value),new IFC4X3.IfcNonNegativeLengthMeasure(v[1].value),!v[2]?null:new IFC4X3.IfcLogical(v[2].value),!v[3]?null:new IFC4X3.IfcLabel(v[3].value),!v[4]?null:new IFC4X3.IfcText(v[4].value),!v[5]?null:new IFC4X3.IfcLabel(v[5].value),!v[6]?null:new IFC4X3.IfcInteger(v[6].value),v[7],new IFC4X3.IfcLengthMeasure(v[8].value));},2199411900:function _(id,v){return new IFC4X3.IfcMaterialList(id,v[0].map(function(p){return new Handle(p.value);}));},2235152071:function _(id,v){return new IFC4X3.IfcMaterialProfile(id,!v[0]?null:new IFC4X3.IfcLabel(v[0].value),!v[1]?null:new IFC4X3.IfcText(v[1].value),!v[2]?null:new Handle(v[2].value),new Handle(v[3].value),!v[4]?null:new IFC4X3.IfcInteger(v[4].value),!v[5]?null:new IFC4X3.IfcLabel(v[5].value));},164193824:function _(id,v){return new IFC4X3.IfcMaterialProfileSet(id,!v[0]?null:new IFC4X3.IfcLabel(v[0].value),!v[1]?null:new IFC4X3.IfcText(v[1].value),v[2].map(function(p){return new Handle(p.value);}),!v[3]?null:new Handle(v[3].value));},552965576:function _(id,v){return new IFC4X3.IfcMaterialProfileWithOffsets(id,!v[0]?null:new IFC4X3.IfcLabel(v[0].value),!v[1]?null:new IFC4X3.IfcText(v[1].value),!v[2]?null:new Handle(v[2].value),new Handle(v[3].value),!v[4]?null:new IFC4X3.IfcInteger(v[4].value),!v[5]?null:new IFC4X3.IfcLabel(v[5].value),new IFC4X3.IfcLengthMeasure(v[6].value));},1507914824:function _(id,_110){return new IFC4X3.IfcMaterialUsageDefinition(id);},2597039031:function _(id,v){return new IFC4X3.IfcMeasureWithUnit(id,TypeInitialiser(3,v[0]),new Handle(v[1].value));},3368373690:function _(id,v){return new IFC4X3.IfcMetric(id,new IFC4X3.IfcLabel(v[0].value),!v[1]?null:new IFC4X3.IfcText(v[1].value),v[2],!v[3]?null:new IFC4X3.IfcLabel(v[3].value),!v[4]?null:new Handle(v[4].value),!v[5]?null:new IFC4X3.IfcDateTime(v[5].value),!v[6]?null:new IFC4X3.IfcLabel(v[6].value),v[7],!v[8]?null:new IFC4X3.IfcLabel(v[8].value),!v[9]?null:new Handle(v[9].value),!v[10]?null:new Handle(v[10].value));},2706619895:function _(id,v){return new IFC4X3.IfcMonetaryUnit(id,new IFC4X3.IfcLabel(v[0].value));},1918398963:function _(id,v){return new IFC4X3.IfcNamedUnit(id,new Handle(v[0].value),v[1]);},3701648758:function _(id,v){return new IFC4X3.IfcObjectPlacement(id,!v[0]?null:new Handle(v[0].value));},2251480897:function _(id,v){return new IFC4X3.IfcObjective(id,new IFC4X3.IfcLabel(v[0].value),!v[1]?null:new IFC4X3.IfcText(v[1].value),v[2],!v[3]?null:new IFC4X3.IfcLabel(v[3].value),!v[4]?null:new Handle(v[4].value),!v[5]?null:new IFC4X3.IfcDateTime(v[5].value),!v[6]?null:new IFC4X3.IfcLabel(v[6].value),!v[7]?null:v[7].map(function(p){return new Handle(p.value);}),v[8],v[9],!v[10]?null:new IFC4X3.IfcLabel(v[10].value));},4251960020:function _(id,v){return new IFC4X3.IfcOrganization(id,!v[0]?null:new IFC4X3.IfcIdentifier(v[0].value),new IFC4X3.IfcLabel(v[1].value),!v[2]?null:new IFC4X3.IfcText(v[2].value),!v[3]?null:v[3].map(function(p){return new Handle(p.value);}),!v[4]?null:v[4].map(function(p){return new Handle(p.value);}));},1207048766:function _(id,v){return new IFC4X3.IfcOwnerHistory(id,new Handle(v[0].value),new Handle(v[1].value),v[2],v[3],!v[4]?null:new IFC4X3.IfcTimeStamp(v[4].value),!v[5]?null:new Handle(v[5].value),!v[6]?null:new Handle(v[6].value),new IFC4X3.IfcTimeStamp(v[7].value));},2077209135:function _(id,v){return new IFC4X3.IfcPerson(id,!v[0]?null:new IFC4X3.IfcIdentifier(v[0].value),!v[1]?null:new IFC4X3.IfcLabel(v[1].value),!v[2]?null:new IFC4X3.IfcLabel(v[2].value),!v[3]?null:v[3].map(function(p){return new IFC4X3.IfcLabel(p.value);}),!v[4]?null:v[4].map(function(p){return new IFC4X3.IfcLabel(p.value);}),!v[5]?null:v[5].map(function(p){return new IFC4X3.IfcLabel(p.value);}),!v[6]?null:v[6].map(function(p){return new Handle(p.value);}),!v[7]?null:v[7].map(function(p){return new Handle(p.value);}));},101040310:function _(id,v){return new IFC4X3.IfcPersonAndOrganization(id,new Handle(v[0].value),new Handle(v[1].value),!v[2]?null:v[2].map(function(p){return new Handle(p.value);}));},2483315170:function _(id,v){return new IFC4X3.IfcPhysicalQuantity(id,new IFC4X3.IfcLabel(v[0].value),!v[1]?null:new IFC4X3.IfcText(v[1].value));},2226359599:function _(id,v){return new IFC4X3.IfcPhysicalSimpleQuantity(id,new IFC4X3.IfcLabel(v[0].value),!v[1]?null:new IFC4X3.IfcText(v[1].value),!v[2]?null:new Handle(v[2].value));},3355820592:function _(id,v){return new IFC4X3.IfcPostalAddress(id,v[0],!v[1]?null:new IFC4X3.IfcText(v[1].value),!v[2]?null:new IFC4X3.IfcLabel(v[2].value),!v[3]?null:new IFC4X3.IfcLabel(v[3].value),!v[4]?null:v[4].map(function(p){return new IFC4X3.IfcLabel(p.value);}),!v[5]?null:new IFC4X3.IfcLabel(v[5].value),!v[6]?null:new IFC4X3.IfcLabel(v[6].value),!v[7]?null:new IFC4X3.IfcLabel(v[7].value),!v[8]?null:new IFC4X3.IfcLabel(v[8].value),!v[9]?null:new IFC4X3.IfcLabel(v[9].value));},677532197:function _(id,_111){return new IFC4X3.IfcPresentationItem(id);},2022622350:function _(id,v){return new IFC4X3.IfcPresentationLayerAssignment(id,new IFC4X3.IfcLabel(v[0].value),!v[1]?null:new IFC4X3.IfcText(v[1].value),v[2].map(function(p){return new Handle(p.value);}),!v[3]?null:new IFC4X3.IfcIdentifier(v[3].value));},1304840413:function _(id,v){return new IFC4X3.IfcPresentationLayerWithStyle(id,new IFC4X3.IfcLabel(v[0].value),!v[1]?null:new IFC4X3.IfcText(v[1].value),v[2].map(function(p){return new Handle(p.value);}),!v[3]?null:new IFC4X3.IfcIdentifier(v[3].value),new IFC4X3.IfcLogical(v[4].value),new IFC4X3.IfcLogical(v[5].value),new IFC4X3.IfcLogical(v[6].value),!v[7]?null:v[7].map(function(p){return new Handle(p.value);}));},3119450353:function _(id,v){return new IFC4X3.IfcPresentationStyle(id,!v[0]?null:new IFC4X3.IfcLabel(v[0].value));},2095639259:function _(id,v){return new IFC4X3.IfcProductRepresentation(id,!v[0]?null:new IFC4X3.IfcLabel(v[0].value),!v[1]?null:new IFC4X3.IfcText(v[1].value),v[2].map(function(p){return new Handle(p.value);}));},3958567839:function _(id,v){return new IFC4X3.IfcProfileDef(id,v[0],!v[1]?null:new IFC4X3.IfcLabel(v[1].value));},3843373140:function _(id,v){return new IFC4X3.IfcProjectedCRS(id,new IFC4X3.IfcLabel(v[0].value),!v[1]?null:new IFC4X3.IfcText(v[1].value),!v[2]?null:new IFC4X3.IfcIdentifier(v[2].value),!v[3]?null:new IFC4X3.IfcIdentifier(v[3].value),!v[4]?null:new IFC4X3.IfcIdentifier(v[4].value),!v[5]?null:new IFC4X3.IfcIdentifier(v[5].value),!v[6]?null:new Handle(v[6].value));},986844984:function _(id,_112){return new IFC4X3.IfcPropertyAbstraction(id);},3710013099:function _(id,v){return new IFC4X3.IfcPropertyEnumeration(id,new IFC4X3.IfcLabel(v[0].value),v[1].map(function(p){return TypeInitialiser(3,p);}),!v[2]?null:new Handle(v[2].value));},2044713172:function _(id,v){return new IFC4X3.IfcQuantityArea(id,new IFC4X3.IfcLabel(v[0].value),!v[1]?null:new IFC4X3.IfcText(v[1].value),!v[2]?null:new Handle(v[2].value),new IFC4X3.IfcAreaMeasure(v[3].value),!v[4]?null:new IFC4X3.IfcLabel(v[4].value));},2093928680:function _(id,v){return new IFC4X3.IfcQuantityCount(id,new IFC4X3.IfcLabel(v[0].value),!v[1]?null:new IFC4X3.IfcText(v[1].value),!v[2]?null:new Handle(v[2].value),new IFC4X3.IfcCountMeasure(v[3].value),!v[4]?null:new IFC4X3.IfcLabel(v[4].value));},931644368:function _(id,v){return new IFC4X3.IfcQuantityLength(id,new IFC4X3.IfcLabel(v[0].value),!v[1]?null:new IFC4X3.IfcText(v[1].value),!v[2]?null:new Handle(v[2].value),new IFC4X3.IfcLengthMeasure(v[3].value),!v[4]?null:new IFC4X3.IfcLabel(v[4].value));},2691318326:function _(id,v){return new IFC4X3.IfcQuantityNumber(id,new IFC4X3.IfcLabel(v[0].value),!v[1]?null:new IFC4X3.IfcText(v[1].value),!v[2]?null:new Handle(v[2].value),new IFC4X3.IfcNumericMeasure(v[3].value),!v[4]?null:new IFC4X3.IfcLabel(v[4].value));},3252649465:function _(id,v){return new IFC4X3.IfcQuantityTime(id,new IFC4X3.IfcLabel(v[0].value),!v[1]?null:new IFC4X3.IfcText(v[1].value),!v[2]?null:new Handle(v[2].value),new IFC4X3.IfcTimeMeasure(v[3].value),!v[4]?null:new IFC4X3.IfcLabel(v[4].value));},2405470396:function _(id,v){return new IFC4X3.IfcQuantityVolume(id,new IFC4X3.IfcLabel(v[0].value),!v[1]?null:new IFC4X3.IfcText(v[1].value),!v[2]?null:new Handle(v[2].value),new IFC4X3.IfcVolumeMeasure(v[3].value),!v[4]?null:new IFC4X3.IfcLabel(v[4].value));},825690147:function _(id,v){return new IFC4X3.IfcQuantityWeight(id,new IFC4X3.IfcLabel(v[0].value),!v[1]?null:new IFC4X3.IfcText(v[1].value),!v[2]?null:new Handle(v[2].value),new IFC4X3.IfcMassMeasure(v[3].value),!v[4]?null:new IFC4X3.IfcLabel(v[4].value));},3915482550:function _(id,v){return new IFC4X3.IfcRecurrencePattern(id,v[0],!v[1]?null:v[1].map(function(p){return new IFC4X3.IfcDayInMonthNumber(p.value);}),!v[2]?null:v[2].map(function(p){return new IFC4X3.IfcDayInWeekNumber(p.value);}),!v[3]?null:v[3].map(function(p){return new IFC4X3.IfcMonthInYearNumber(p.value);}),!v[4]?null:new IFC4X3.IfcInteger(v[4].value),!v[5]?null:new IFC4X3.IfcInteger(v[5].value),!v[6]?null:new IFC4X3.IfcInteger(v[6].value),!v[7]?null:v[7].map(function(p){return new Handle(p.value);}));},2433181523:function _(id,v){return new IFC4X3.IfcReference(id,!v[0]?null:new IFC4X3.IfcIdentifier(v[0].value),!v[1]?null:new IFC4X3.IfcIdentifier(v[1].value),!v[2]?null:new IFC4X3.IfcLabel(v[2].value),!v[3]?null:v[3].map(function(p){return new IFC4X3.IfcInteger(p.value);}),!v[4]?null:new Handle(v[4].value));},1076942058:function _(id,v){return new IFC4X3.IfcRepresentation(id,new Handle(v[0].value),!v[1]?null:new IFC4X3.IfcLabel(v[1].value),!v[2]?null:new IFC4X3.IfcLabel(v[2].value),v[3].map(function(p){return new Handle(p.value);}));},3377609919:function _(id,v){return new IFC4X3.IfcRepresentationContext(id,!v[0]?null:new IFC4X3.IfcLabel(v[0].value),!v[1]?null:new IFC4X3.IfcLabel(v[1].value));},3008791417:function _(id,_113){return new IFC4X3.IfcRepresentationItem(id);},1660063152:function _(id,v){return new IFC4X3.IfcRepresentationMap(id,new Handle(v[0].value),new Handle(v[1].value));},2439245199:function _(id,v){return new IFC4X3.IfcResourceLevelRelationship(id,!v[0]?null:new IFC4X3.IfcLabel(v[0].value),!v[1]?null:new IFC4X3.IfcText(v[1].value));},2341007311:function _(id,v){return new IFC4X3.IfcRoot(id,new IFC4X3.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4X3.IfcLabel(v[2].value),!v[3]?null:new IFC4X3.IfcText(v[3].value));},448429030:function _(id,v){return new IFC4X3.IfcSIUnit(id,new Handle(v[0].value),v[1],v[2],v[3]);},1054537805:function _(id,v){return new IFC4X3.IfcSchedulingTime(id,!v[0]?null:new IFC4X3.IfcLabel(v[0].value),v[1],!v[2]?null:new IFC4X3.IfcLabel(v[2].value));},867548509:function _(id,v){return new IFC4X3.IfcShapeAspect(id,v[0].map(function(p){return new Handle(p.value);}),!v[1]?null:new IFC4X3.IfcLabel(v[1].value),!v[2]?null:new IFC4X3.IfcText(v[2].value),new IFC4X3.IfcLogical(v[3].value),!v[4]?null:new Handle(v[4].value));},3982875396:function _(id,v){return new IFC4X3.IfcShapeModel(id,new Handle(v[0].value),!v[1]?null:new IFC4X3.IfcLabel(v[1].value),!v[2]?null:new IFC4X3.IfcLabel(v[2].value),v[3].map(function(p){return new Handle(p.value);}));},4240577450:function _(id,v){return new IFC4X3.IfcShapeRepresentation(id,new Handle(v[0].value),!v[1]?null:new IFC4X3.IfcLabel(v[1].value),!v[2]?null:new IFC4X3.IfcLabel(v[2].value),v[3].map(function(p){return new Handle(p.value);}));},2273995522:function _(id,v){return new IFC4X3.IfcStructuralConnectionCondition(id,!v[0]?null:new IFC4X3.IfcLabel(v[0].value));},2162789131:function _(id,v){return new IFC4X3.IfcStructuralLoad(id,!v[0]?null:new IFC4X3.IfcLabel(v[0].value));},3478079324:function _(id,v){return new IFC4X3.IfcStructuralLoadConfiguration(id,!v[0]?null:new IFC4X3.IfcLabel(v[0].value),v[1].map(function(p){return new Handle(p.value);}),!v[2]?null:v[2].map(function(p){return new IFC4X3.IfcLengthMeasure(p.value);}));},609421318:function _(id,v){return new IFC4X3.IfcStructuralLoadOrResult(id,!v[0]?null:new IFC4X3.IfcLabel(v[0].value));},2525727697:function _(id,v){return new IFC4X3.IfcStructuralLoadStatic(id,!v[0]?null:new IFC4X3.IfcLabel(v[0].value));},3408363356:function _(id,v){return new IFC4X3.IfcStructuralLoadTemperature(id,!v[0]?null:new IFC4X3.IfcLabel(v[0].value),!v[1]?null:new IFC4X3.IfcThermodynamicTemperatureMeasure(v[1].value),!v[2]?null:new IFC4X3.IfcThermodynamicTemperatureMeasure(v[2].value),!v[3]?null:new IFC4X3.IfcThermodynamicTemperatureMeasure(v[3].value));},2830218821:function _(id,v){return new IFC4X3.IfcStyleModel(id,new Handle(v[0].value),!v[1]?null:new IFC4X3.IfcLabel(v[1].value),!v[2]?null:new IFC4X3.IfcLabel(v[2].value),v[3].map(function(p){return new Handle(p.value);}));},3958052878:function _(id,v){return new IFC4X3.IfcStyledItem(id,!v[0]?null:new Handle(v[0].value),v[1].map(function(p){return new Handle(p.value);}),!v[2]?null:new IFC4X3.IfcLabel(v[2].value));},3049322572:function _(id,v){return new IFC4X3.IfcStyledRepresentation(id,new Handle(v[0].value),!v[1]?null:new IFC4X3.IfcLabel(v[1].value),!v[2]?null:new IFC4X3.IfcLabel(v[2].value),v[3].map(function(p){return new Handle(p.value);}));},2934153892:function _(id,v){return new IFC4X3.IfcSurfaceReinforcementArea(id,!v[0]?null:new IFC4X3.IfcLabel(v[0].value),!v[1]?null:v[1].map(function(p){return new IFC4X3.IfcLengthMeasure(p.value);}),!v[2]?null:v[2].map(function(p){return new IFC4X3.IfcLengthMeasure(p.value);}),!v[3]?null:new IFC4X3.IfcRatioMeasure(v[3].value));},1300840506:function _(id,v){return new IFC4X3.IfcSurfaceStyle(id,!v[0]?null:new IFC4X3.IfcLabel(v[0].value),v[1],v[2].map(function(p){return new Handle(p.value);}));},3303107099:function _(id,v){return new IFC4X3.IfcSurfaceStyleLighting(id,new Handle(v[0].value),new Handle(v[1].value),new Handle(v[2].value),new Handle(v[3].value));},1607154358:function _(id,v){return new IFC4X3.IfcSurfaceStyleRefraction(id,!v[0]?null:new IFC4X3.IfcReal(v[0].value),!v[1]?null:new IFC4X3.IfcReal(v[1].value));},846575682:function _(id,v){return new IFC4X3.IfcSurfaceStyleShading(id,new Handle(v[0].value),!v[1]?null:new IFC4X3.IfcNormalisedRatioMeasure(v[1].value));},1351298697:function _(id,v){return new IFC4X3.IfcSurfaceStyleWithTextures(id,v[0].map(function(p){return new Handle(p.value);}));},626085974:function _(id,v){return new IFC4X3.IfcSurfaceTexture(id,new IFC4X3.IfcBoolean(v[0].value),new IFC4X3.IfcBoolean(v[1].value),!v[2]?null:new IFC4X3.IfcIdentifier(v[2].value),!v[3]?null:new Handle(v[3].value),!v[4]?null:v[4].map(function(p){return new IFC4X3.IfcIdentifier(p.value);}));},985171141:function _(id,v){return new IFC4X3.IfcTable(id,!v[0]?null:new IFC4X3.IfcLabel(v[0].value),!v[1]?null:v[1].map(function(p){return new Handle(p.value);}),!v[2]?null:v[2].map(function(p){return new Handle(p.value);}));},2043862942:function _(id,v){return new IFC4X3.IfcTableColumn(id,!v[0]?null:new IFC4X3.IfcIdentifier(v[0].value),!v[1]?null:new IFC4X3.IfcLabel(v[1].value),!v[2]?null:new IFC4X3.IfcText(v[2].value),!v[3]?null:new Handle(v[3].value),!v[4]?null:new Handle(v[4].value));},531007025:function _(id,v){return new IFC4X3.IfcTableRow(id,!v[0]?null:v[0].map(function(p){return TypeInitialiser(3,p);}),!v[1]?null:new IFC4X3.IfcBoolean(v[1].value));},1549132990:function _(id,v){return new IFC4X3.IfcTaskTime(id,!v[0]?null:new IFC4X3.IfcLabel(v[0].value),v[1],!v[2]?null:new IFC4X3.IfcLabel(v[2].value),v[3],!v[4]?null:new IFC4X3.IfcDuration(v[4].value),!v[5]?null:new IFC4X3.IfcDateTime(v[5].value),!v[6]?null:new IFC4X3.IfcDateTime(v[6].value),!v[7]?null:new IFC4X3.IfcDateTime(v[7].value),!v[8]?null:new IFC4X3.IfcDateTime(v[8].value),!v[9]?null:new IFC4X3.IfcDateTime(v[9].value),!v[10]?null:new IFC4X3.IfcDateTime(v[10].value),!v[11]?null:new IFC4X3.IfcDuration(v[11].value),!v[12]?null:new IFC4X3.IfcDuration(v[12].value),!v[13]?null:new IFC4X3.IfcBoolean(v[13].value),!v[14]?null:new IFC4X3.IfcDateTime(v[14].value),!v[15]?null:new IFC4X3.IfcDuration(v[15].value),!v[16]?null:new IFC4X3.IfcDateTime(v[16].value),!v[17]?null:new IFC4X3.IfcDateTime(v[17].value),!v[18]?null:new IFC4X3.IfcDuration(v[18].value),!v[19]?null:new IFC4X3.IfcPositiveRatioMeasure(v[19].value));},2771591690:function _(id,v){return new IFC4X3.IfcTaskTimeRecurring(id,!v[0]?null:new IFC4X3.IfcLabel(v[0].value),v[1],!v[2]?null:new IFC4X3.IfcLabel(v[2].value),v[3],!v[4]?null:new IFC4X3.IfcDuration(v[4].value),!v[5]?null:new IFC4X3.IfcDateTime(v[5].value),!v[6]?null:new IFC4X3.IfcDateTime(v[6].value),!v[7]?null:new IFC4X3.IfcDateTime(v[7].value),!v[8]?null:new IFC4X3.IfcDateTime(v[8].value),!v[9]?null:new IFC4X3.IfcDateTime(v[9].value),!v[10]?null:new IFC4X3.IfcDateTime(v[10].value),!v[11]?null:new IFC4X3.IfcDuration(v[11].value),!v[12]?null:new IFC4X3.IfcDuration(v[12].value),!v[13]?null:new IFC4X3.IfcBoolean(v[13].value),!v[14]?null:new IFC4X3.IfcDateTime(v[14].value),!v[15]?null:new IFC4X3.IfcDuration(v[15].value),!v[16]?null:new IFC4X3.IfcDateTime(v[16].value),!v[17]?null:new IFC4X3.IfcDateTime(v[17].value),!v[18]?null:new IFC4X3.IfcDuration(v[18].value),!v[19]?null:new IFC4X3.IfcPositiveRatioMeasure(v[19].value),new Handle(v[20].value));},912023232:function _(id,v){return new IFC4X3.IfcTelecomAddress(id,v[0],!v[1]?null:new IFC4X3.IfcText(v[1].value),!v[2]?null:new IFC4X3.IfcLabel(v[2].value),!v[3]?null:v[3].map(function(p){return new IFC4X3.IfcLabel(p.value);}),!v[4]?null:v[4].map(function(p){return new IFC4X3.IfcLabel(p.value);}),!v[5]?null:new IFC4X3.IfcLabel(v[5].value),!v[6]?null:v[6].map(function(p){return new IFC4X3.IfcLabel(p.value);}),!v[7]?null:new IFC4X3.IfcURIReference(v[7].value),!v[8]?null:v[8].map(function(p){return new IFC4X3.IfcURIReference(p.value);}));},1447204868:function _(id,v){return new IFC4X3.IfcTextStyle(id,!v[0]?null:new IFC4X3.IfcLabel(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new Handle(v[2].value),new Handle(v[3].value),!v[4]?null:new IFC4X3.IfcBoolean(v[4].value));},2636378356:function _(id,v){return new IFC4X3.IfcTextStyleForDefinedFont(id,new Handle(v[0].value),!v[1]?null:new Handle(v[1].value));},1640371178:function _(id,v){return new IFC4X3.IfcTextStyleTextModel(id,!v[0]?null:TypeInitialiser(3,v[0]),!v[1]?null:new IFC4X3.IfcTextAlignment(v[1].value),!v[2]?null:new IFC4X3.IfcTextDecoration(v[2].value),!v[3]?null:TypeInitialiser(3,v[3]),!v[4]?null:TypeInitialiser(3,v[4]),!v[5]?null:new IFC4X3.IfcTextTransformation(v[5].value),!v[6]?null:TypeInitialiser(3,v[6]));},280115917:function _(id,v){return new IFC4X3.IfcTextureCoordinate(id,v[0].map(function(p){return new Handle(p.value);}));},1742049831:function _(id,v){return new IFC4X3.IfcTextureCoordinateGenerator(id,v[0].map(function(p){return new Handle(p.value);}),new IFC4X3.IfcLabel(v[1].value),!v[2]?null:v[2].map(function(p){return new IFC4X3.IfcReal(p.value);}));},222769930:function _(id,v){return new IFC4X3.IfcTextureCoordinateIndices(id,v[0].map(function(p){return new IFC4X3.IfcPositiveInteger(p.value);}),new Handle(v[1].value));},1010789467:function _(id,v){return new IFC4X3.IfcTextureCoordinateIndicesWithVoids(id,v[0].map(function(p){return new IFC4X3.IfcPositiveInteger(p.value);}),new Handle(v[1].value),v[2].map(function(p){return new IFC4X3.IfcPositiveInteger(p.value);}));},2552916305:function _(id,v){return new IFC4X3.IfcTextureMap(id,v[0].map(function(p){return new Handle(p.value);}),v[1].map(function(p){return new Handle(p.value);}),new Handle(v[2].value));},1210645708:function _(id,v){return new IFC4X3.IfcTextureVertex(id,v[0].map(function(p){return new IFC4X3.IfcParameterValue(p.value);}));},3611470254:function _(id,v){return new IFC4X3.IfcTextureVertexList(id,v[0].map(function(p){return new IFC4X3.IfcParameterValue(p.value);}));},1199560280:function _(id,v){return new IFC4X3.IfcTimePeriod(id,new IFC4X3.IfcTime(v[0].value),new IFC4X3.IfcTime(v[1].value));},3101149627:function _(id,v){return new IFC4X3.IfcTimeSeries(id,new IFC4X3.IfcLabel(v[0].value),!v[1]?null:new IFC4X3.IfcText(v[1].value),new IFC4X3.IfcDateTime(v[2].value),new IFC4X3.IfcDateTime(v[3].value),v[4],v[5],!v[6]?null:new IFC4X3.IfcLabel(v[6].value),!v[7]?null:new Handle(v[7].value));},581633288:function _(id,v){return new IFC4X3.IfcTimeSeriesValue(id,v[0].map(function(p){return TypeInitialiser(3,p);}));},1377556343:function _(id,_114){return new IFC4X3.IfcTopologicalRepresentationItem(id);},1735638870:function _(id,v){return new IFC4X3.IfcTopologyRepresentation(id,new Handle(v[0].value),!v[1]?null:new IFC4X3.IfcLabel(v[1].value),!v[2]?null:new IFC4X3.IfcLabel(v[2].value),v[3].map(function(p){return new Handle(p.value);}));},180925521:function _(id,v){return new IFC4X3.IfcUnitAssignment(id,v[0].map(function(p){return new Handle(p.value);}));},2799835756:function _(id,_115){return new IFC4X3.IfcVertex(id);},1907098498:function _(id,v){return new IFC4X3.IfcVertexPoint(id,new Handle(v[0].value));},891718957:function _(id,v){return new IFC4X3.IfcVirtualGridIntersection(id,v[0].map(function(p){return new Handle(p.value);}),v[1].map(function(p){return new IFC4X3.IfcLengthMeasure(p.value);}));},1236880293:function _(id,v){return new IFC4X3.IfcWorkTime(id,!v[0]?null:new IFC4X3.IfcLabel(v[0].value),v[1],!v[2]?null:new IFC4X3.IfcLabel(v[2].value),!v[3]?null:new Handle(v[3].value),!v[4]?null:new IFC4X3.IfcDate(v[4].value),!v[5]?null:new IFC4X3.IfcDate(v[5].value));},3752311538:function _(id,v){return new IFC4X3.IfcAlignmentCantSegment(id,!v[0]?null:new IFC4X3.IfcLabel(v[0].value),!v[1]?null:new IFC4X3.IfcLabel(v[1].value),new IFC4X3.IfcLengthMeasure(v[2].value),new IFC4X3.IfcNonNegativeLengthMeasure(v[3].value),new IFC4X3.IfcLengthMeasure(v[4].value),!v[5]?null:new IFC4X3.IfcLengthMeasure(v[5].value),new IFC4X3.IfcLengthMeasure(v[6].value),!v[7]?null:new IFC4X3.IfcLengthMeasure(v[7].value),v[8]);},536804194:function _(id,v){return new IFC4X3.IfcAlignmentHorizontalSegment(id,!v[0]?null:new IFC4X3.IfcLabel(v[0].value),!v[1]?null:new IFC4X3.IfcLabel(v[1].value),new Handle(v[2].value),new IFC4X3.IfcPlaneAngleMeasure(v[3].value),new IFC4X3.IfcLengthMeasure(v[4].value),new IFC4X3.IfcLengthMeasure(v[5].value),new IFC4X3.IfcNonNegativeLengthMeasure(v[6].value),!v[7]?null:new IFC4X3.IfcPositiveLengthMeasure(v[7].value),v[8]);},3869604511:function _(id,v){return new IFC4X3.IfcApprovalRelationship(id,!v[0]?null:new IFC4X3.IfcLabel(v[0].value),!v[1]?null:new IFC4X3.IfcText(v[1].value),new Handle(v[2].value),v[3].map(function(p){return new Handle(p.value);}));},3798115385:function _(id,v){return new IFC4X3.IfcArbitraryClosedProfileDef(id,v[0],!v[1]?null:new IFC4X3.IfcLabel(v[1].value),new Handle(v[2].value));},1310608509:function _(id,v){return new IFC4X3.IfcArbitraryOpenProfileDef(id,v[0],!v[1]?null:new IFC4X3.IfcLabel(v[1].value),new Handle(v[2].value));},2705031697:function _(id,v){return new IFC4X3.IfcArbitraryProfileDefWithVoids(id,v[0],!v[1]?null:new IFC4X3.IfcLabel(v[1].value),new Handle(v[2].value),v[3].map(function(p){return new Handle(p.value);}));},616511568:function _(id,v){return new IFC4X3.IfcBlobTexture(id,new IFC4X3.IfcBoolean(v[0].value),new IFC4X3.IfcBoolean(v[1].value),!v[2]?null:new IFC4X3.IfcIdentifier(v[2].value),!v[3]?null:new Handle(v[3].value),!v[4]?null:v[4].map(function(p){return new IFC4X3.IfcIdentifier(p.value);}),new IFC4X3.IfcIdentifier(v[5].value),new IFC4X3.IfcBinary(v[6].value));},3150382593:function _(id,v){return new IFC4X3.IfcCenterLineProfileDef(id,v[0],!v[1]?null:new IFC4X3.IfcLabel(v[1].value),new Handle(v[2].value),new IFC4X3.IfcPositiveLengthMeasure(v[3].value));},747523909:function _(id,v){return new IFC4X3.IfcClassification(id,!v[0]?null:new IFC4X3.IfcLabel(v[0].value),!v[1]?null:new IFC4X3.IfcLabel(v[1].value),!v[2]?null:new IFC4X3.IfcDate(v[2].value),new IFC4X3.IfcLabel(v[3].value),!v[4]?null:new IFC4X3.IfcText(v[4].value),!v[5]?null:new IFC4X3.IfcURIReference(v[5].value),!v[6]?null:v[6].map(function(p){return new IFC4X3.IfcIdentifier(p.value);}));},647927063:function _(id,v){return new IFC4X3.IfcClassificationReference(id,!v[0]?null:new IFC4X3.IfcURIReference(v[0].value),!v[1]?null:new IFC4X3.IfcIdentifier(v[1].value),!v[2]?null:new IFC4X3.IfcLabel(v[2].value),!v[3]?null:new Handle(v[3].value),!v[4]?null:new IFC4X3.IfcText(v[4].value),!v[5]?null:new IFC4X3.IfcIdentifier(v[5].value));},3285139300:function _(id,v){return new IFC4X3.IfcColourRgbList(id,v[0].map(function(p){return new IFC4X3.IfcNormalisedRatioMeasure(p.value);}));},3264961684:function _(id,v){return new IFC4X3.IfcColourSpecification(id,!v[0]?null:new IFC4X3.IfcLabel(v[0].value));},1485152156:function _(id,v){return new IFC4X3.IfcCompositeProfileDef(id,v[0],!v[1]?null:new IFC4X3.IfcLabel(v[1].value),v[2].map(function(p){return new Handle(p.value);}),!v[3]?null:new IFC4X3.IfcLabel(v[3].value));},370225590:function _(id,v){return new IFC4X3.IfcConnectedFaceSet(id,v[0].map(function(p){return new Handle(p.value);}));},1981873012:function _(id,v){return new IFC4X3.IfcConnectionCurveGeometry(id,new Handle(v[0].value),!v[1]?null:new Handle(v[1].value));},45288368:function _(id,v){return new IFC4X3.IfcConnectionPointEccentricity(id,new Handle(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4X3.IfcLengthMeasure(v[2].value),!v[3]?null:new IFC4X3.IfcLengthMeasure(v[3].value),!v[4]?null:new IFC4X3.IfcLengthMeasure(v[4].value));},3050246964:function _(id,v){return new IFC4X3.IfcContextDependentUnit(id,new Handle(v[0].value),v[1],new IFC4X3.IfcLabel(v[2].value));},2889183280:function _(id,v){return new IFC4X3.IfcConversionBasedUnit(id,new Handle(v[0].value),v[1],new IFC4X3.IfcLabel(v[2].value),new Handle(v[3].value));},2713554722:function _(id,v){return new IFC4X3.IfcConversionBasedUnitWithOffset(id,new Handle(v[0].value),v[1],new IFC4X3.IfcLabel(v[2].value),new Handle(v[3].value),new IFC4X3.IfcReal(v[4].value));},539742890:function _(id,v){return new IFC4X3.IfcCurrencyRelationship(id,!v[0]?null:new IFC4X3.IfcLabel(v[0].value),!v[1]?null:new IFC4X3.IfcText(v[1].value),new Handle(v[2].value),new Handle(v[3].value),new IFC4X3.IfcPositiveRatioMeasure(v[4].value),!v[5]?null:new IFC4X3.IfcDateTime(v[5].value),!v[6]?null:new Handle(v[6].value));},3800577675:function _(id,v){return new IFC4X3.IfcCurveStyle(id,!v[0]?null:new IFC4X3.IfcLabel(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:TypeInitialiser(3,v[2]),!v[3]?null:new Handle(v[3].value),!v[4]?null:new IFC4X3.IfcBoolean(v[4].value));},1105321065:function _(id,v){return new IFC4X3.IfcCurveStyleFont(id,!v[0]?null:new IFC4X3.IfcLabel(v[0].value),v[1].map(function(p){return new Handle(p.value);}));},2367409068:function _(id,v){return new IFC4X3.IfcCurveStyleFontAndScaling(id,!v[0]?null:new IFC4X3.IfcLabel(v[0].value),new Handle(v[1].value),new IFC4X3.IfcPositiveRatioMeasure(v[2].value));},3510044353:function _(id,v){return new IFC4X3.IfcCurveStyleFontPattern(id,new IFC4X3.IfcLengthMeasure(v[0].value),new IFC4X3.IfcPositiveLengthMeasure(v[1].value));},3632507154:function _(id,v){return new IFC4X3.IfcDerivedProfileDef(id,v[0],!v[1]?null:new IFC4X3.IfcLabel(v[1].value),new Handle(v[2].value),new Handle(v[3].value),!v[4]?null:new IFC4X3.IfcLabel(v[4].value));},1154170062:function _(id,v){return new IFC4X3.IfcDocumentInformation(id,new IFC4X3.IfcIdentifier(v[0].value),new IFC4X3.IfcLabel(v[1].value),!v[2]?null:new IFC4X3.IfcText(v[2].value),!v[3]?null:new IFC4X3.IfcURIReference(v[3].value),!v[4]?null:new IFC4X3.IfcText(v[4].value),!v[5]?null:new IFC4X3.IfcText(v[5].value),!v[6]?null:new IFC4X3.IfcText(v[6].value),!v[7]?null:new IFC4X3.IfcLabel(v[7].value),!v[8]?null:new Handle(v[8].value),!v[9]?null:v[9].map(function(p){return new Handle(p.value);}),!v[10]?null:new IFC4X3.IfcDateTime(v[10].value),!v[11]?null:new IFC4X3.IfcDateTime(v[11].value),!v[12]?null:new IFC4X3.IfcIdentifier(v[12].value),!v[13]?null:new IFC4X3.IfcDate(v[13].value),!v[14]?null:new IFC4X3.IfcDate(v[14].value),v[15],v[16]);},770865208:function _(id,v){return new IFC4X3.IfcDocumentInformationRelationship(id,!v[0]?null:new IFC4X3.IfcLabel(v[0].value),!v[1]?null:new IFC4X3.IfcText(v[1].value),new Handle(v[2].value),v[3].map(function(p){return new Handle(p.value);}),!v[4]?null:new IFC4X3.IfcLabel(v[4].value));},3732053477:function _(id,v){return new IFC4X3.IfcDocumentReference(id,!v[0]?null:new IFC4X3.IfcURIReference(v[0].value),!v[1]?null:new IFC4X3.IfcIdentifier(v[1].value),!v[2]?null:new IFC4X3.IfcLabel(v[2].value),!v[3]?null:new IFC4X3.IfcText(v[3].value),!v[4]?null:new Handle(v[4].value));},3900360178:function _(id,v){return new IFC4X3.IfcEdge(id,new Handle(v[0].value),new Handle(v[1].value));},476780140:function _(id,v){return new IFC4X3.IfcEdgeCurve(id,new Handle(v[0].value),new Handle(v[1].value),new Handle(v[2].value),new IFC4X3.IfcBoolean(v[3].value));},211053100:function _(id,v){return new IFC4X3.IfcEventTime(id,!v[0]?null:new IFC4X3.IfcLabel(v[0].value),v[1],!v[2]?null:new IFC4X3.IfcLabel(v[2].value),!v[3]?null:new IFC4X3.IfcDateTime(v[3].value),!v[4]?null:new IFC4X3.IfcDateTime(v[4].value),!v[5]?null:new IFC4X3.IfcDateTime(v[5].value),!v[6]?null:new IFC4X3.IfcDateTime(v[6].value));},297599258:function _(id,v){return new IFC4X3.IfcExtendedProperties(id,!v[0]?null:new IFC4X3.IfcIdentifier(v[0].value),!v[1]?null:new IFC4X3.IfcText(v[1].value),v[2].map(function(p){return new Handle(p.value);}));},1437805879:function _(id,v){return new IFC4X3.IfcExternalReferenceRelationship(id,!v[0]?null:new IFC4X3.IfcLabel(v[0].value),!v[1]?null:new IFC4X3.IfcText(v[1].value),new Handle(v[2].value),v[3].map(function(p){return new Handle(p.value);}));},2556980723:function _(id,v){return new IFC4X3.IfcFace(id,v[0].map(function(p){return new Handle(p.value);}));},1809719519:function _(id,v){return new IFC4X3.IfcFaceBound(id,new Handle(v[0].value),new IFC4X3.IfcBoolean(v[1].value));},803316827:function _(id,v){return new IFC4X3.IfcFaceOuterBound(id,new Handle(v[0].value),new IFC4X3.IfcBoolean(v[1].value));},3008276851:function _(id,v){return new IFC4X3.IfcFaceSurface(id,v[0].map(function(p){return new Handle(p.value);}),new Handle(v[1].value),new IFC4X3.IfcBoolean(v[2].value));},4219587988:function _(id,v){return new IFC4X3.IfcFailureConnectionCondition(id,!v[0]?null:new IFC4X3.IfcLabel(v[0].value),!v[1]?null:new IFC4X3.IfcForceMeasure(v[1].value),!v[2]?null:new IFC4X3.IfcForceMeasure(v[2].value),!v[3]?null:new IFC4X3.IfcForceMeasure(v[3].value),!v[4]?null:new IFC4X3.IfcForceMeasure(v[4].value),!v[5]?null:new IFC4X3.IfcForceMeasure(v[5].value),!v[6]?null:new IFC4X3.IfcForceMeasure(v[6].value));},738692330:function _(id,v){return new IFC4X3.IfcFillAreaStyle(id,!v[0]?null:new IFC4X3.IfcLabel(v[0].value),v[1].map(function(p){return new Handle(p.value);}),!v[2]?null:new IFC4X3.IfcBoolean(v[2].value));},3448662350:function _(id,v){return new IFC4X3.IfcGeometricRepresentationContext(id,!v[0]?null:new IFC4X3.IfcLabel(v[0].value),!v[1]?null:new IFC4X3.IfcLabel(v[1].value),new IFC4X3.IfcDimensionCount(v[2].value),!v[3]?null:new IFC4X3.IfcReal(v[3].value),new Handle(v[4].value),!v[5]?null:new Handle(v[5].value));},2453401579:function _(id,_116){return new IFC4X3.IfcGeometricRepresentationItem(id);},4142052618:function _(id,v){return new IFC4X3.IfcGeometricRepresentationSubContext(id,!v[0]?null:new IFC4X3.IfcLabel(v[0].value),!v[1]?null:new IFC4X3.IfcLabel(v[1].value),new Handle(v[2].value),new Handle(v[3].value),!v[4]?null:new IFC4X3.IfcPositiveRatioMeasure(v[4].value),v[5],!v[6]?null:new IFC4X3.IfcLabel(v[6].value));},3590301190:function _(id,v){return new IFC4X3.IfcGeometricSet(id,v[0].map(function(p){return new Handle(p.value);}));},178086475:function _(id,v){return new IFC4X3.IfcGridPlacement(id,!v[0]?null:new Handle(v[0].value),new Handle(v[1].value),!v[2]?null:new Handle(v[2].value));},812098782:function _(id,v){return new IFC4X3.IfcHalfSpaceSolid(id,new Handle(v[0].value),new IFC4X3.IfcBoolean(v[1].value));},3905492369:function _(id,v){return new IFC4X3.IfcImageTexture(id,new IFC4X3.IfcBoolean(v[0].value),new IFC4X3.IfcBoolean(v[1].value),!v[2]?null:new IFC4X3.IfcIdentifier(v[2].value),!v[3]?null:new Handle(v[3].value),!v[4]?null:v[4].map(function(p){return new IFC4X3.IfcIdentifier(p.value);}),new IFC4X3.IfcURIReference(v[5].value));},3570813810:function _(id,v){return new IFC4X3.IfcIndexedColourMap(id,new Handle(v[0].value),!v[1]?null:new IFC4X3.IfcNormalisedRatioMeasure(v[1].value),new Handle(v[2].value),v[3].map(function(p){return new IFC4X3.IfcPositiveInteger(p.value);}));},1437953363:function _(id,v){return new IFC4X3.IfcIndexedTextureMap(id,v[0].map(function(p){return new Handle(p.value);}),new Handle(v[1].value),new Handle(v[2].value));},2133299955:function _(id,v){return new IFC4X3.IfcIndexedTriangleTextureMap(id,v[0].map(function(p){return new Handle(p.value);}),new Handle(v[1].value),new Handle(v[2].value),!v[3]?null:v[3].map(function(p){return new IFC4X3.IfcPositiveInteger(p.value);}));},3741457305:function _(id,v){return new IFC4X3.IfcIrregularTimeSeries(id,new IFC4X3.IfcLabel(v[0].value),!v[1]?null:new IFC4X3.IfcText(v[1].value),new IFC4X3.IfcDateTime(v[2].value),new IFC4X3.IfcDateTime(v[3].value),v[4],v[5],!v[6]?null:new IFC4X3.IfcLabel(v[6].value),!v[7]?null:new Handle(v[7].value),v[8].map(function(p){return new Handle(p.value);}));},1585845231:function _(id,v){return new IFC4X3.IfcLagTime(id,!v[0]?null:new IFC4X3.IfcLabel(v[0].value),v[1],!v[2]?null:new IFC4X3.IfcLabel(v[2].value),TypeInitialiser(3,v[3]),v[4]);},1402838566:function _(id,v){return new IFC4X3.IfcLightSource(id,!v[0]?null:new IFC4X3.IfcLabel(v[0].value),new Handle(v[1].value),!v[2]?null:new IFC4X3.IfcNormalisedRatioMeasure(v[2].value),!v[3]?null:new IFC4X3.IfcNormalisedRatioMeasure(v[3].value));},125510826:function _(id,v){return new IFC4X3.IfcLightSourceAmbient(id,!v[0]?null:new IFC4X3.IfcLabel(v[0].value),new Handle(v[1].value),!v[2]?null:new IFC4X3.IfcNormalisedRatioMeasure(v[2].value),!v[3]?null:new IFC4X3.IfcNormalisedRatioMeasure(v[3].value));},2604431987:function _(id,v){return new IFC4X3.IfcLightSourceDirectional(id,!v[0]?null:new IFC4X3.IfcLabel(v[0].value),new Handle(v[1].value),!v[2]?null:new IFC4X3.IfcNormalisedRatioMeasure(v[2].value),!v[3]?null:new IFC4X3.IfcNormalisedRatioMeasure(v[3].value),new Handle(v[4].value));},4266656042:function _(id,v){return new IFC4X3.IfcLightSourceGoniometric(id,!v[0]?null:new IFC4X3.IfcLabel(v[0].value),new Handle(v[1].value),!v[2]?null:new IFC4X3.IfcNormalisedRatioMeasure(v[2].value),!v[3]?null:new IFC4X3.IfcNormalisedRatioMeasure(v[3].value),new Handle(v[4].value),!v[5]?null:new Handle(v[5].value),new IFC4X3.IfcThermodynamicTemperatureMeasure(v[6].value),new IFC4X3.IfcLuminousFluxMeasure(v[7].value),v[8],new Handle(v[9].value));},1520743889:function _(id,v){return new IFC4X3.IfcLightSourcePositional(id,!v[0]?null:new IFC4X3.IfcLabel(v[0].value),new Handle(v[1].value),!v[2]?null:new IFC4X3.IfcNormalisedRatioMeasure(v[2].value),!v[3]?null:new IFC4X3.IfcNormalisedRatioMeasure(v[3].value),new Handle(v[4].value),new IFC4X3.IfcPositiveLengthMeasure(v[5].value),new IFC4X3.IfcReal(v[6].value),new IFC4X3.IfcReal(v[7].value),new IFC4X3.IfcReal(v[8].value));},3422422726:function _(id,v){return new IFC4X3.IfcLightSourceSpot(id,!v[0]?null:new IFC4X3.IfcLabel(v[0].value),new Handle(v[1].value),!v[2]?null:new IFC4X3.IfcNormalisedRatioMeasure(v[2].value),!v[3]?null:new IFC4X3.IfcNormalisedRatioMeasure(v[3].value),new Handle(v[4].value),new IFC4X3.IfcPositiveLengthMeasure(v[5].value),new IFC4X3.IfcReal(v[6].value),new IFC4X3.IfcReal(v[7].value),new IFC4X3.IfcReal(v[8].value),new Handle(v[9].value),!v[10]?null:new IFC4X3.IfcReal(v[10].value),new IFC4X3.IfcPositivePlaneAngleMeasure(v[11].value),new IFC4X3.IfcPositivePlaneAngleMeasure(v[12].value));},388784114:function _(id,v){return new IFC4X3.IfcLinearPlacement(id,!v[0]?null:new Handle(v[0].value),new Handle(v[1].value),!v[2]?null:new Handle(v[2].value));},2624227202:function _(id,v){return new IFC4X3.IfcLocalPlacement(id,!v[0]?null:new Handle(v[0].value),new Handle(v[1].value));},1008929658:function _(id,_117){return new IFC4X3.IfcLoop(id);},2347385850:function _(id,v){return new IFC4X3.IfcMappedItem(id,new Handle(v[0].value),new Handle(v[1].value));},1838606355:function _(id,v){return new IFC4X3.IfcMaterial(id,new IFC4X3.IfcLabel(v[0].value),!v[1]?null:new IFC4X3.IfcText(v[1].value),!v[2]?null:new IFC4X3.IfcLabel(v[2].value));},3708119e3:function _(id,v){return new IFC4X3.IfcMaterialConstituent(id,!v[0]?null:new IFC4X3.IfcLabel(v[0].value),!v[1]?null:new IFC4X3.IfcText(v[1].value),new Handle(v[2].value),!v[3]?null:new IFC4X3.IfcNormalisedRatioMeasure(v[3].value),!v[4]?null:new IFC4X3.IfcLabel(v[4].value));},2852063980:function _(id,v){return new IFC4X3.IfcMaterialConstituentSet(id,!v[0]?null:new IFC4X3.IfcLabel(v[0].value),!v[1]?null:new IFC4X3.IfcText(v[1].value),!v[2]?null:v[2].map(function(p){return new Handle(p.value);}));},2022407955:function _(id,v){return new IFC4X3.IfcMaterialDefinitionRepresentation(id,!v[0]?null:new IFC4X3.IfcLabel(v[0].value),!v[1]?null:new IFC4X3.IfcText(v[1].value),v[2].map(function(p){return new Handle(p.value);}),new Handle(v[3].value));},1303795690:function _(id,v){return new IFC4X3.IfcMaterialLayerSetUsage(id,new Handle(v[0].value),v[1],v[2],new IFC4X3.IfcLengthMeasure(v[3].value),!v[4]?null:new IFC4X3.IfcPositiveLengthMeasure(v[4].value));},3079605661:function _(id,v){return new IFC4X3.IfcMaterialProfileSetUsage(id,new Handle(v[0].value),!v[1]?null:new IFC4X3.IfcCardinalPointReference(v[1].value),!v[2]?null:new IFC4X3.IfcPositiveLengthMeasure(v[2].value));},3404854881:function _(id,v){return new IFC4X3.IfcMaterialProfileSetUsageTapering(id,new Handle(v[0].value),!v[1]?null:new IFC4X3.IfcCardinalPointReference(v[1].value),!v[2]?null:new IFC4X3.IfcPositiveLengthMeasure(v[2].value),new Handle(v[3].value),!v[4]?null:new IFC4X3.IfcCardinalPointReference(v[4].value));},3265635763:function _(id,v){return new IFC4X3.IfcMaterialProperties(id,!v[0]?null:new IFC4X3.IfcIdentifier(v[0].value),!v[1]?null:new IFC4X3.IfcText(v[1].value),v[2].map(function(p){return new Handle(p.value);}),new Handle(v[3].value));},853536259:function _(id,v){return new IFC4X3.IfcMaterialRelationship(id,!v[0]?null:new IFC4X3.IfcLabel(v[0].value),!v[1]?null:new IFC4X3.IfcText(v[1].value),new Handle(v[2].value),v[3].map(function(p){return new Handle(p.value);}),!v[4]?null:new IFC4X3.IfcLabel(v[4].value));},2998442950:function _(id,v){return new IFC4X3.IfcMirroredProfileDef(id,v[0],!v[1]?null:new IFC4X3.IfcLabel(v[1].value),new Handle(v[2].value),new Handle(v[3].value),!v[4]?null:new IFC4X3.IfcLabel(v[4].value));},219451334:function _(id,v){return new IFC4X3.IfcObjectDefinition(id,new IFC4X3.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4X3.IfcLabel(v[2].value),!v[3]?null:new IFC4X3.IfcText(v[3].value));},182550632:function _(id,v){return new IFC4X3.IfcOpenCrossProfileDef(id,v[0],!v[1]?null:new IFC4X3.IfcLabel(v[1].value),new IFC4X3.IfcBoolean(v[2].value),v[3].map(function(p){return new IFC4X3.IfcNonNegativeLengthMeasure(p.value);}),v[4].map(function(p){return new IFC4X3.IfcPlaneAngleMeasure(p.value);}),!v[5]?null:v[5].map(function(p){return new IFC4X3.IfcLabel(p.value);}),!v[6]?null:new Handle(v[6].value));},2665983363:function _(id,v){return new IFC4X3.IfcOpenShell(id,v[0].map(function(p){return new Handle(p.value);}));},1411181986:function _(id,v){return new IFC4X3.IfcOrganizationRelationship(id,!v[0]?null:new IFC4X3.IfcLabel(v[0].value),!v[1]?null:new IFC4X3.IfcText(v[1].value),new Handle(v[2].value),v[3].map(function(p){return new Handle(p.value);}));},1029017970:function _(id,v){return new IFC4X3.IfcOrientedEdge(id,new Handle(v[0].value),new Handle(v[1].value),new IFC4X3.IfcBoolean(v[2].value));},2529465313:function _(id,v){return new IFC4X3.IfcParameterizedProfileDef(id,v[0],!v[1]?null:new IFC4X3.IfcLabel(v[1].value),!v[2]?null:new Handle(v[2].value));},2519244187:function _(id,v){return new IFC4X3.IfcPath(id,v[0].map(function(p){return new Handle(p.value);}));},3021840470:function _(id,v){return new IFC4X3.IfcPhysicalComplexQuantity(id,new IFC4X3.IfcLabel(v[0].value),!v[1]?null:new IFC4X3.IfcText(v[1].value),v[2].map(function(p){return new Handle(p.value);}),new IFC4X3.IfcLabel(v[3].value),!v[4]?null:new IFC4X3.IfcLabel(v[4].value),!v[5]?null:new IFC4X3.IfcLabel(v[5].value));},597895409:function _(id,v){return new IFC4X3.IfcPixelTexture(id,new IFC4X3.IfcBoolean(v[0].value),new IFC4X3.IfcBoolean(v[1].value),!v[2]?null:new IFC4X3.IfcIdentifier(v[2].value),!v[3]?null:new Handle(v[3].value),!v[4]?null:v[4].map(function(p){return new IFC4X3.IfcIdentifier(p.value);}),new IFC4X3.IfcInteger(v[5].value),new IFC4X3.IfcInteger(v[6].value),new IFC4X3.IfcInteger(v[7].value),v[8].map(function(p){return new IFC4X3.IfcBinary(p.value);}));},2004835150:function _(id,v){return new IFC4X3.IfcPlacement(id,new Handle(v[0].value));},1663979128:function _(id,v){return new IFC4X3.IfcPlanarExtent(id,new IFC4X3.IfcLengthMeasure(v[0].value),new IFC4X3.IfcLengthMeasure(v[1].value));},2067069095:function _(id,_118){return new IFC4X3.IfcPoint(id);},2165702409:function _(id,v){return new IFC4X3.IfcPointByDistanceExpression(id,TypeInitialiser(3,v[0]),!v[1]?null:new IFC4X3.IfcLengthMeasure(v[1].value),!v[2]?null:new IFC4X3.IfcLengthMeasure(v[2].value),!v[3]?null:new IFC4X3.IfcLengthMeasure(v[3].value),new Handle(v[4].value));},4022376103:function _(id,v){return new IFC4X3.IfcPointOnCurve(id,new Handle(v[0].value),new IFC4X3.IfcParameterValue(v[1].value));},1423911732:function _(id,v){return new IFC4X3.IfcPointOnSurface(id,new Handle(v[0].value),new IFC4X3.IfcParameterValue(v[1].value),new IFC4X3.IfcParameterValue(v[2].value));},2924175390:function _(id,v){return new IFC4X3.IfcPolyLoop(id,v[0].map(function(p){return new Handle(p.value);}));},2775532180:function _(id,v){return new IFC4X3.IfcPolygonalBoundedHalfSpace(id,new Handle(v[0].value),new IFC4X3.IfcBoolean(v[1].value),new Handle(v[2].value),new Handle(v[3].value));},3727388367:function _(id,v){return new IFC4X3.IfcPreDefinedItem(id,new IFC4X3.IfcLabel(v[0].value));},3778827333:function _(id,_119){return new IFC4X3.IfcPreDefinedProperties(id);},1775413392:function _(id,v){return new IFC4X3.IfcPreDefinedTextFont(id,new IFC4X3.IfcLabel(v[0].value));},673634403:function _(id,v){return new IFC4X3.IfcProductDefinitionShape(id,!v[0]?null:new IFC4X3.IfcLabel(v[0].value),!v[1]?null:new IFC4X3.IfcText(v[1].value),v[2].map(function(p){return new Handle(p.value);}));},2802850158:function _(id,v){return new IFC4X3.IfcProfileProperties(id,!v[0]?null:new IFC4X3.IfcIdentifier(v[0].value),!v[1]?null:new IFC4X3.IfcText(v[1].value),v[2].map(function(p){return new Handle(p.value);}),new Handle(v[3].value));},2598011224:function _(id,v){return new IFC4X3.IfcProperty(id,new IFC4X3.IfcIdentifier(v[0].value),!v[1]?null:new IFC4X3.IfcText(v[1].value));},1680319473:function _(id,v){return new IFC4X3.IfcPropertyDefinition(id,new IFC4X3.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4X3.IfcLabel(v[2].value),!v[3]?null:new IFC4X3.IfcText(v[3].value));},148025276:function _(id,v){return new IFC4X3.IfcPropertyDependencyRelationship(id,!v[0]?null:new IFC4X3.IfcLabel(v[0].value),!v[1]?null:new IFC4X3.IfcText(v[1].value),new Handle(v[2].value),new Handle(v[3].value),!v[4]?null:new IFC4X3.IfcText(v[4].value));},3357820518:function _(id,v){return new IFC4X3.IfcPropertySetDefinition(id,new IFC4X3.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4X3.IfcLabel(v[2].value),!v[3]?null:new IFC4X3.IfcText(v[3].value));},1482703590:function _(id,v){return new IFC4X3.IfcPropertyTemplateDefinition(id,new IFC4X3.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4X3.IfcLabel(v[2].value),!v[3]?null:new IFC4X3.IfcText(v[3].value));},2090586900:function _(id,v){return new IFC4X3.IfcQuantitySet(id,new IFC4X3.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4X3.IfcLabel(v[2].value),!v[3]?null:new IFC4X3.IfcText(v[3].value));},3615266464:function _(id,v){return new IFC4X3.IfcRectangleProfileDef(id,v[0],!v[1]?null:new IFC4X3.IfcLabel(v[1].value),!v[2]?null:new Handle(v[2].value),new IFC4X3.IfcPositiveLengthMeasure(v[3].value),new IFC4X3.IfcPositiveLengthMeasure(v[4].value));},3413951693:function _(id,v){return new IFC4X3.IfcRegularTimeSeries(id,new IFC4X3.IfcLabel(v[0].value),!v[1]?null:new IFC4X3.IfcText(v[1].value),new IFC4X3.IfcDateTime(v[2].value),new IFC4X3.IfcDateTime(v[3].value),v[4],v[5],!v[6]?null:new IFC4X3.IfcLabel(v[6].value),!v[7]?null:new Handle(v[7].value),new IFC4X3.IfcTimeMeasure(v[8].value),v[9].map(function(p){return new Handle(p.value);}));},1580146022:function _(id,v){return new IFC4X3.IfcReinforcementBarProperties(id,new IFC4X3.IfcAreaMeasure(v[0].value),new IFC4X3.IfcLabel(v[1].value),v[2],!v[3]?null:new IFC4X3.IfcLengthMeasure(v[3].value),!v[4]?null:new IFC4X3.IfcPositiveLengthMeasure(v[4].value),!v[5]?null:new IFC4X3.IfcCountMeasure(v[5].value));},478536968:function _(id,v){return new IFC4X3.IfcRelationship(id,new IFC4X3.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4X3.IfcLabel(v[2].value),!v[3]?null:new IFC4X3.IfcText(v[3].value));},2943643501:function _(id,v){return new IFC4X3.IfcResourceApprovalRelationship(id,!v[0]?null:new IFC4X3.IfcLabel(v[0].value),!v[1]?null:new IFC4X3.IfcText(v[1].value),v[2].map(function(p){return new Handle(p.value);}),new Handle(v[3].value));},1608871552:function _(id,v){return new IFC4X3.IfcResourceConstraintRelationship(id,!v[0]?null:new IFC4X3.IfcLabel(v[0].value),!v[1]?null:new IFC4X3.IfcText(v[1].value),new Handle(v[2].value),v[3].map(function(p){return new Handle(p.value);}));},1042787934:function _(id,v){return new IFC4X3.IfcResourceTime(id,!v[0]?null:new IFC4X3.IfcLabel(v[0].value),v[1],!v[2]?null:new IFC4X3.IfcLabel(v[2].value),!v[3]?null:new IFC4X3.IfcDuration(v[3].value),!v[4]?null:new IFC4X3.IfcPositiveRatioMeasure(v[4].value),!v[5]?null:new IFC4X3.IfcDateTime(v[5].value),!v[6]?null:new IFC4X3.IfcDateTime(v[6].value),!v[7]?null:new IFC4X3.IfcLabel(v[7].value),!v[8]?null:new IFC4X3.IfcDuration(v[8].value),!v[9]?null:new IFC4X3.IfcBoolean(v[9].value),!v[10]?null:new IFC4X3.IfcDateTime(v[10].value),!v[11]?null:new IFC4X3.IfcDuration(v[11].value),!v[12]?null:new IFC4X3.IfcPositiveRatioMeasure(v[12].value),!v[13]?null:new IFC4X3.IfcDateTime(v[13].value),!v[14]?null:new IFC4X3.IfcDateTime(v[14].value),!v[15]?null:new IFC4X3.IfcDuration(v[15].value),!v[16]?null:new IFC4X3.IfcPositiveRatioMeasure(v[16].value),!v[17]?null:new IFC4X3.IfcPositiveRatioMeasure(v[17].value));},2778083089:function _(id,v){return new IFC4X3.IfcRoundedRectangleProfileDef(id,v[0],!v[1]?null:new IFC4X3.IfcLabel(v[1].value),!v[2]?null:new Handle(v[2].value),new IFC4X3.IfcPositiveLengthMeasure(v[3].value),new IFC4X3.IfcPositiveLengthMeasure(v[4].value),new IFC4X3.IfcPositiveLengthMeasure(v[5].value));},2042790032:function _(id,v){return new IFC4X3.IfcSectionProperties(id,v[0],new Handle(v[1].value),!v[2]?null:new Handle(v[2].value));},4165799628:function _(id,v){return new IFC4X3.IfcSectionReinforcementProperties(id,new IFC4X3.IfcLengthMeasure(v[0].value),new IFC4X3.IfcLengthMeasure(v[1].value),!v[2]?null:new IFC4X3.IfcLengthMeasure(v[2].value),v[3],new Handle(v[4].value),v[5].map(function(p){return new Handle(p.value);}));},1509187699:function _(id,v){return new IFC4X3.IfcSectionedSpine(id,new Handle(v[0].value),v[1].map(function(p){return new Handle(p.value);}),v[2].map(function(p){return new Handle(p.value);}));},823603102:function _(id,v){return new IFC4X3.IfcSegment(id,v[0]);},4124623270:function _(id,v){return new IFC4X3.IfcShellBasedSurfaceModel(id,v[0].map(function(p){return new Handle(p.value);}));},3692461612:function _(id,v){return new IFC4X3.IfcSimpleProperty(id,new IFC4X3.IfcIdentifier(v[0].value),!v[1]?null:new IFC4X3.IfcText(v[1].value));},2609359061:function _(id,v){return new IFC4X3.IfcSlippageConnectionCondition(id,!v[0]?null:new IFC4X3.IfcLabel(v[0].value),!v[1]?null:new IFC4X3.IfcLengthMeasure(v[1].value),!v[2]?null:new IFC4X3.IfcLengthMeasure(v[2].value),!v[3]?null:new IFC4X3.IfcLengthMeasure(v[3].value));},723233188:function _(id,_120){return new IFC4X3.IfcSolidModel(id);},1595516126:function _(id,v){return new IFC4X3.IfcStructuralLoadLinearForce(id,!v[0]?null:new IFC4X3.IfcLabel(v[0].value),!v[1]?null:new IFC4X3.IfcLinearForceMeasure(v[1].value),!v[2]?null:new IFC4X3.IfcLinearForceMeasure(v[2].value),!v[3]?null:new IFC4X3.IfcLinearForceMeasure(v[3].value),!v[4]?null:new IFC4X3.IfcLinearMomentMeasure(v[4].value),!v[5]?null:new IFC4X3.IfcLinearMomentMeasure(v[5].value),!v[6]?null:new IFC4X3.IfcLinearMomentMeasure(v[6].value));},2668620305:function _(id,v){return new IFC4X3.IfcStructuralLoadPlanarForce(id,!v[0]?null:new IFC4X3.IfcLabel(v[0].value),!v[1]?null:new IFC4X3.IfcPlanarForceMeasure(v[1].value),!v[2]?null:new IFC4X3.IfcPlanarForceMeasure(v[2].value),!v[3]?null:new IFC4X3.IfcPlanarForceMeasure(v[3].value));},2473145415:function _(id,v){return new IFC4X3.IfcStructuralLoadSingleDisplacement(id,!v[0]?null:new IFC4X3.IfcLabel(v[0].value),!v[1]?null:new IFC4X3.IfcLengthMeasure(v[1].value),!v[2]?null:new IFC4X3.IfcLengthMeasure(v[2].value),!v[3]?null:new IFC4X3.IfcLengthMeasure(v[3].value),!v[4]?null:new IFC4X3.IfcPlaneAngleMeasure(v[4].value),!v[5]?null:new IFC4X3.IfcPlaneAngleMeasure(v[5].value),!v[6]?null:new IFC4X3.IfcPlaneAngleMeasure(v[6].value));},1973038258:function _(id,v){return new IFC4X3.IfcStructuralLoadSingleDisplacementDistortion(id,!v[0]?null:new IFC4X3.IfcLabel(v[0].value),!v[1]?null:new IFC4X3.IfcLengthMeasure(v[1].value),!v[2]?null:new IFC4X3.IfcLengthMeasure(v[2].value),!v[3]?null:new IFC4X3.IfcLengthMeasure(v[3].value),!v[4]?null:new IFC4X3.IfcPlaneAngleMeasure(v[4].value),!v[5]?null:new IFC4X3.IfcPlaneAngleMeasure(v[5].value),!v[6]?null:new IFC4X3.IfcPlaneAngleMeasure(v[6].value),!v[7]?null:new IFC4X3.IfcCurvatureMeasure(v[7].value));},1597423693:function _(id,v){return new IFC4X3.IfcStructuralLoadSingleForce(id,!v[0]?null:new IFC4X3.IfcLabel(v[0].value),!v[1]?null:new IFC4X3.IfcForceMeasure(v[1].value),!v[2]?null:new IFC4X3.IfcForceMeasure(v[2].value),!v[3]?null:new IFC4X3.IfcForceMeasure(v[3].value),!v[4]?null:new IFC4X3.IfcTorqueMeasure(v[4].value),!v[5]?null:new IFC4X3.IfcTorqueMeasure(v[5].value),!v[6]?null:new IFC4X3.IfcTorqueMeasure(v[6].value));},1190533807:function _(id,v){return new IFC4X3.IfcStructuralLoadSingleForceWarping(id,!v[0]?null:new IFC4X3.IfcLabel(v[0].value),!v[1]?null:new IFC4X3.IfcForceMeasure(v[1].value),!v[2]?null:new IFC4X3.IfcForceMeasure(v[2].value),!v[3]?null:new IFC4X3.IfcForceMeasure(v[3].value),!v[4]?null:new IFC4X3.IfcTorqueMeasure(v[4].value),!v[5]?null:new IFC4X3.IfcTorqueMeasure(v[5].value),!v[6]?null:new IFC4X3.IfcTorqueMeasure(v[6].value),!v[7]?null:new IFC4X3.IfcWarpingMomentMeasure(v[7].value));},2233826070:function _(id,v){return new IFC4X3.IfcSubedge(id,new Handle(v[0].value),new Handle(v[1].value),new Handle(v[2].value));},2513912981:function _(id,_121){return new IFC4X3.IfcSurface(id);},1878645084:function _(id,v){return new IFC4X3.IfcSurfaceStyleRendering(id,new Handle(v[0].value),!v[1]?null:new IFC4X3.IfcNormalisedRatioMeasure(v[1].value),!v[2]?null:new Handle(v[2].value),!v[3]?null:new Handle(v[3].value),!v[4]?null:new Handle(v[4].value),!v[5]?null:new Handle(v[5].value),!v[6]?null:new Handle(v[6].value),!v[7]?null:TypeInitialiser(3,v[7]),v[8]);},2247615214:function _(id,v){return new IFC4X3.IfcSweptAreaSolid(id,new Handle(v[0].value),!v[1]?null:new Handle(v[1].value));},1260650574:function _(id,v){return new IFC4X3.IfcSweptDiskSolid(id,new Handle(v[0].value),new IFC4X3.IfcPositiveLengthMeasure(v[1].value),!v[2]?null:new IFC4X3.IfcPositiveLengthMeasure(v[2].value),!v[3]?null:new IFC4X3.IfcParameterValue(v[3].value),!v[4]?null:new IFC4X3.IfcParameterValue(v[4].value));},1096409881:function _(id,v){return new IFC4X3.IfcSweptDiskSolidPolygonal(id,new Handle(v[0].value),new IFC4X3.IfcPositiveLengthMeasure(v[1].value),!v[2]?null:new IFC4X3.IfcPositiveLengthMeasure(v[2].value),!v[3]?null:new IFC4X3.IfcParameterValue(v[3].value),!v[4]?null:new IFC4X3.IfcParameterValue(v[4].value),!v[5]?null:new IFC4X3.IfcNonNegativeLengthMeasure(v[5].value));},230924584:function _(id,v){return new IFC4X3.IfcSweptSurface(id,new Handle(v[0].value),!v[1]?null:new Handle(v[1].value));},3071757647:function _(id,v){return new IFC4X3.IfcTShapeProfileDef(id,v[0],!v[1]?null:new IFC4X3.IfcLabel(v[1].value),!v[2]?null:new Handle(v[2].value),new IFC4X3.IfcPositiveLengthMeasure(v[3].value),new IFC4X3.IfcPositiveLengthMeasure(v[4].value),new IFC4X3.IfcPositiveLengthMeasure(v[5].value),new IFC4X3.IfcPositiveLengthMeasure(v[6].value),!v[7]?null:new IFC4X3.IfcNonNegativeLengthMeasure(v[7].value),!v[8]?null:new IFC4X3.IfcNonNegativeLengthMeasure(v[8].value),!v[9]?null:new IFC4X3.IfcNonNegativeLengthMeasure(v[9].value),!v[10]?null:new IFC4X3.IfcPlaneAngleMeasure(v[10].value),!v[11]?null:new IFC4X3.IfcPlaneAngleMeasure(v[11].value));},901063453:function _(id,_122){return new IFC4X3.IfcTessellatedItem(id);},4282788508:function _(id,v){return new IFC4X3.IfcTextLiteral(id,new IFC4X3.IfcPresentableText(v[0].value),new Handle(v[1].value),v[2]);},3124975700:function _(id,v){return new IFC4X3.IfcTextLiteralWithExtent(id,new IFC4X3.IfcPresentableText(v[0].value),new Handle(v[1].value),v[2],new Handle(v[3].value),new IFC4X3.IfcBoxAlignment(v[4].value));},1983826977:function _(id,v){return new IFC4X3.IfcTextStyleFontModel(id,new IFC4X3.IfcLabel(v[0].value),v[1].map(function(p){return new IFC4X3.IfcTextFontName(p.value);}),!v[2]?null:new IFC4X3.IfcFontStyle(v[2].value),!v[3]?null:new IFC4X3.IfcFontVariant(v[3].value),!v[4]?null:new IFC4X3.IfcFontWeight(v[4].value),TypeInitialiser(3,v[5]));},2715220739:function _(id,v){return new IFC4X3.IfcTrapeziumProfileDef(id,v[0],!v[1]?null:new IFC4X3.IfcLabel(v[1].value),!v[2]?null:new Handle(v[2].value),new IFC4X3.IfcPositiveLengthMeasure(v[3].value),new IFC4X3.IfcPositiveLengthMeasure(v[4].value),new IFC4X3.IfcPositiveLengthMeasure(v[5].value),new IFC4X3.IfcLengthMeasure(v[6].value));},1628702193:function _(id,v){return new IFC4X3.IfcTypeObject(id,new IFC4X3.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4X3.IfcLabel(v[2].value),!v[3]?null:new IFC4X3.IfcText(v[3].value),!v[4]?null:new IFC4X3.IfcIdentifier(v[4].value),!v[5]?null:v[5].map(function(p){return new Handle(p.value);}));},3736923433:function _(id,v){return new IFC4X3.IfcTypeProcess(id,new IFC4X3.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4X3.IfcLabel(v[2].value),!v[3]?null:new IFC4X3.IfcText(v[3].value),!v[4]?null:new IFC4X3.IfcIdentifier(v[4].value),!v[5]?null:v[5].map(function(p){return new Handle(p.value);}),!v[6]?null:new IFC4X3.IfcIdentifier(v[6].value),!v[7]?null:new IFC4X3.IfcText(v[7].value),!v[8]?null:new IFC4X3.IfcLabel(v[8].value));},2347495698:function _(id,v){return new IFC4X3.IfcTypeProduct(id,new IFC4X3.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4X3.IfcLabel(v[2].value),!v[3]?null:new IFC4X3.IfcText(v[3].value),!v[4]?null:new IFC4X3.IfcIdentifier(v[4].value),!v[5]?null:v[5].map(function(p){return new Handle(p.value);}),!v[6]?null:v[6].map(function(p){return new Handle(p.value);}),!v[7]?null:new IFC4X3.IfcLabel(v[7].value));},3698973494:function _(id,v){return new IFC4X3.IfcTypeResource(id,new IFC4X3.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4X3.IfcLabel(v[2].value),!v[3]?null:new IFC4X3.IfcText(v[3].value),!v[4]?null:new IFC4X3.IfcIdentifier(v[4].value),!v[5]?null:v[5].map(function(p){return new Handle(p.value);}),!v[6]?null:new IFC4X3.IfcIdentifier(v[6].value),!v[7]?null:new IFC4X3.IfcText(v[7].value),!v[8]?null:new IFC4X3.IfcLabel(v[8].value));},427810014:function _(id,v){return new IFC4X3.IfcUShapeProfileDef(id,v[0],!v[1]?null:new IFC4X3.IfcLabel(v[1].value),!v[2]?null:new Handle(v[2].value),new IFC4X3.IfcPositiveLengthMeasure(v[3].value),new IFC4X3.IfcPositiveLengthMeasure(v[4].value),new IFC4X3.IfcPositiveLengthMeasure(v[5].value),new IFC4X3.IfcPositiveLengthMeasure(v[6].value),!v[7]?null:new IFC4X3.IfcNonNegativeLengthMeasure(v[7].value),!v[8]?null:new IFC4X3.IfcNonNegativeLengthMeasure(v[8].value),!v[9]?null:new IFC4X3.IfcPlaneAngleMeasure(v[9].value));},1417489154:function _(id,v){return new IFC4X3.IfcVector(id,new Handle(v[0].value),new IFC4X3.IfcLengthMeasure(v[1].value));},2759199220:function _(id,v){return new IFC4X3.IfcVertexLoop(id,new Handle(v[0].value));},2543172580:function _(id,v){return new IFC4X3.IfcZShapeProfileDef(id,v[0],!v[1]?null:new IFC4X3.IfcLabel(v[1].value),!v[2]?null:new Handle(v[2].value),new IFC4X3.IfcPositiveLengthMeasure(v[3].value),new IFC4X3.IfcPositiveLengthMeasure(v[4].value),new IFC4X3.IfcPositiveLengthMeasure(v[5].value),new IFC4X3.IfcPositiveLengthMeasure(v[6].value),!v[7]?null:new IFC4X3.IfcNonNegativeLengthMeasure(v[7].value),!v[8]?null:new IFC4X3.IfcNonNegativeLengthMeasure(v[8].value));},3406155212:function _(id,v){return new IFC4X3.IfcAdvancedFace(id,v[0].map(function(p){return new Handle(p.value);}),new Handle(v[1].value),new IFC4X3.IfcBoolean(v[2].value));},669184980:function _(id,v){return new IFC4X3.IfcAnnotationFillArea(id,new Handle(v[0].value),!v[1]?null:v[1].map(function(p){return new Handle(p.value);}));},3207858831:function _(id,v){return new IFC4X3.IfcAsymmetricIShapeProfileDef(id,v[0],!v[1]?null:new IFC4X3.IfcLabel(v[1].value),!v[2]?null:new Handle(v[2].value),new IFC4X3.IfcPositiveLengthMeasure(v[3].value),new IFC4X3.IfcPositiveLengthMeasure(v[4].value),new IFC4X3.IfcPositiveLengthMeasure(v[5].value),new IFC4X3.IfcPositiveLengthMeasure(v[6].value),!v[7]?null:new IFC4X3.IfcNonNegativeLengthMeasure(v[7].value),new IFC4X3.IfcPositiveLengthMeasure(v[8].value),!v[9]?null:new IFC4X3.IfcPositiveLengthMeasure(v[9].value),!v[10]?null:new IFC4X3.IfcNonNegativeLengthMeasure(v[10].value),!v[11]?null:new IFC4X3.IfcNonNegativeLengthMeasure(v[11].value),!v[12]?null:new IFC4X3.IfcPlaneAngleMeasure(v[12].value),!v[13]?null:new IFC4X3.IfcNonNegativeLengthMeasure(v[13].value),!v[14]?null:new IFC4X3.IfcPlaneAngleMeasure(v[14].value));},4261334040:function _(id,v){return new IFC4X3.IfcAxis1Placement(id,new Handle(v[0].value),!v[1]?null:new Handle(v[1].value));},3125803723:function _(id,v){return new IFC4X3.IfcAxis2Placement2D(id,new Handle(v[0].value),!v[1]?null:new Handle(v[1].value));},2740243338:function _(id,v){return new IFC4X3.IfcAxis2Placement3D(id,new Handle(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new Handle(v[2].value));},3425423356:function _(id,v){return new IFC4X3.IfcAxis2PlacementLinear(id,new Handle(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new Handle(v[2].value));},2736907675:function _(id,v){return new IFC4X3.IfcBooleanResult(id,v[0],new Handle(v[1].value),new Handle(v[2].value));},4182860854:function _(id,_123){return new IFC4X3.IfcBoundedSurface(id);},2581212453:function _(id,v){return new IFC4X3.IfcBoundingBox(id,new Handle(v[0].value),new IFC4X3.IfcPositiveLengthMeasure(v[1].value),new IFC4X3.IfcPositiveLengthMeasure(v[2].value),new IFC4X3.IfcPositiveLengthMeasure(v[3].value));},2713105998:function _(id,v){return new IFC4X3.IfcBoxedHalfSpace(id,new Handle(v[0].value),new IFC4X3.IfcBoolean(v[1].value),new Handle(v[2].value));},2898889636:function _(id,v){return new IFC4X3.IfcCShapeProfileDef(id,v[0],!v[1]?null:new IFC4X3.IfcLabel(v[1].value),!v[2]?null:new Handle(v[2].value),new IFC4X3.IfcPositiveLengthMeasure(v[3].value),new IFC4X3.IfcPositiveLengthMeasure(v[4].value),new IFC4X3.IfcPositiveLengthMeasure(v[5].value),new IFC4X3.IfcPositiveLengthMeasure(v[6].value),!v[7]?null:new IFC4X3.IfcNonNegativeLengthMeasure(v[7].value));},1123145078:function _(id,v){return new IFC4X3.IfcCartesianPoint(id,v[0].map(function(p){return new IFC4X3.IfcLengthMeasure(p.value);}));},574549367:function _(id,_124){return new IFC4X3.IfcCartesianPointList(id);},1675464909:function _(id,v){return new IFC4X3.IfcCartesianPointList2D(id,v[0].map(function(p){return new IFC4X3.IfcLengthMeasure(p.value);}),!v[1]?null:v[1].map(function(p){return new IFC4X3.IfcLabel(p.value);}));},2059837836:function _(id,v){return new IFC4X3.IfcCartesianPointList3D(id,v[0].map(function(p){return new IFC4X3.IfcLengthMeasure(p.value);}),!v[1]?null:v[1].map(function(p){return new IFC4X3.IfcLabel(p.value);}));},59481748:function _(id,v){return new IFC4X3.IfcCartesianTransformationOperator(id,!v[0]?null:new Handle(v[0].value),!v[1]?null:new Handle(v[1].value),new Handle(v[2].value),!v[3]?null:new IFC4X3.IfcReal(v[3].value));},3749851601:function _(id,v){return new IFC4X3.IfcCartesianTransformationOperator2D(id,!v[0]?null:new Handle(v[0].value),!v[1]?null:new Handle(v[1].value),new Handle(v[2].value),!v[3]?null:new IFC4X3.IfcReal(v[3].value));},3486308946:function _(id,v){return new IFC4X3.IfcCartesianTransformationOperator2DnonUniform(id,!v[0]?null:new Handle(v[0].value),!v[1]?null:new Handle(v[1].value),new Handle(v[2].value),!v[3]?null:new IFC4X3.IfcReal(v[3].value),!v[4]?null:new IFC4X3.IfcReal(v[4].value));},3331915920:function _(id,v){return new IFC4X3.IfcCartesianTransformationOperator3D(id,!v[0]?null:new Handle(v[0].value),!v[1]?null:new Handle(v[1].value),new Handle(v[2].value),!v[3]?null:new IFC4X3.IfcReal(v[3].value),!v[4]?null:new Handle(v[4].value));},1416205885:function _(id,v){return new IFC4X3.IfcCartesianTransformationOperator3DnonUniform(id,!v[0]?null:new Handle(v[0].value),!v[1]?null:new Handle(v[1].value),new Handle(v[2].value),!v[3]?null:new IFC4X3.IfcReal(v[3].value),!v[4]?null:new Handle(v[4].value),!v[5]?null:new IFC4X3.IfcReal(v[5].value),!v[6]?null:new IFC4X3.IfcReal(v[6].value));},1383045692:function _(id,v){return new IFC4X3.IfcCircleProfileDef(id,v[0],!v[1]?null:new IFC4X3.IfcLabel(v[1].value),!v[2]?null:new Handle(v[2].value),new IFC4X3.IfcPositiveLengthMeasure(v[3].value));},2205249479:function _(id,v){return new IFC4X3.IfcClosedShell(id,v[0].map(function(p){return new Handle(p.value);}));},776857604:function _(id,v){return new IFC4X3.IfcColourRgb(id,!v[0]?null:new IFC4X3.IfcLabel(v[0].value),new IFC4X3.IfcNormalisedRatioMeasure(v[1].value),new IFC4X3.IfcNormalisedRatioMeasure(v[2].value),new IFC4X3.IfcNormalisedRatioMeasure(v[3].value));},2542286263:function _(id,v){return new IFC4X3.IfcComplexProperty(id,new IFC4X3.IfcIdentifier(v[0].value),!v[1]?null:new IFC4X3.IfcText(v[1].value),new IFC4X3.IfcIdentifier(v[2].value),v[3].map(function(p){return new Handle(p.value);}));},2485617015:function _(id,v){return new IFC4X3.IfcCompositeCurveSegment(id,v[0],new IFC4X3.IfcBoolean(v[1].value),new Handle(v[2].value));},2574617495:function _(id,v){return new IFC4X3.IfcConstructionResourceType(id,new IFC4X3.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4X3.IfcLabel(v[2].value),!v[3]?null:new IFC4X3.IfcText(v[3].value),!v[4]?null:new IFC4X3.IfcIdentifier(v[4].value),!v[5]?null:v[5].map(function(p){return new Handle(p.value);}),!v[6]?null:new IFC4X3.IfcIdentifier(v[6].value),!v[7]?null:new IFC4X3.IfcText(v[7].value),!v[8]?null:new IFC4X3.IfcLabel(v[8].value),!v[9]?null:v[9].map(function(p){return new Handle(p.value);}),!v[10]?null:new Handle(v[10].value));},3419103109:function _(id,v){return new IFC4X3.IfcContext(id,new IFC4X3.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4X3.IfcLabel(v[2].value),!v[3]?null:new IFC4X3.IfcText(v[3].value),!v[4]?null:new IFC4X3.IfcLabel(v[4].value),!v[5]?null:new IFC4X3.IfcLabel(v[5].value),!v[6]?null:new IFC4X3.IfcLabel(v[6].value),!v[7]?null:v[7].map(function(p){return new Handle(p.value);}),!v[8]?null:new Handle(v[8].value));},1815067380:function _(id,v){return new IFC4X3.IfcCrewResourceType(id,new IFC4X3.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4X3.IfcLabel(v[2].value),!v[3]?null:new IFC4X3.IfcText(v[3].value),!v[4]?null:new IFC4X3.IfcIdentifier(v[4].value),!v[5]?null:v[5].map(function(p){return new Handle(p.value);}),!v[6]?null:new IFC4X3.IfcIdentifier(v[6].value),!v[7]?null:new IFC4X3.IfcText(v[7].value),!v[8]?null:new IFC4X3.IfcLabel(v[8].value),!v[9]?null:v[9].map(function(p){return new Handle(p.value);}),!v[10]?null:new Handle(v[10].value),v[11]);},2506170314:function _(id,v){return new IFC4X3.IfcCsgPrimitive3D(id,new Handle(v[0].value));},2147822146:function _(id,v){return new IFC4X3.IfcCsgSolid(id,new Handle(v[0].value));},2601014836:function _(id,_125){return new IFC4X3.IfcCurve(id);},2827736869:function _(id,v){return new IFC4X3.IfcCurveBoundedPlane(id,new Handle(v[0].value),new Handle(v[1].value),!v[2]?null:v[2].map(function(p){return new Handle(p.value);}));},2629017746:function _(id,v){return new IFC4X3.IfcCurveBoundedSurface(id,new Handle(v[0].value),v[1].map(function(p){return new Handle(p.value);}),new IFC4X3.IfcBoolean(v[2].value));},4212018352:function _(id,v){return new IFC4X3.IfcCurveSegment(id,v[0],new Handle(v[1].value),TypeInitialiser(3,v[2]),TypeInitialiser(3,v[3]),new Handle(v[4].value));},32440307:function _(id,v){return new IFC4X3.IfcDirection(id,v[0].map(function(p){return new IFC4X3.IfcReal(p.value);}));},593015953:function _(id,v){return new IFC4X3.IfcDirectrixCurveSweptAreaSolid(id,new Handle(v[0].value),!v[1]?null:new Handle(v[1].value),new Handle(v[2].value),!v[3]?null:TypeInitialiser(3,v[3]),!v[4]?null:TypeInitialiser(3,v[4]));},1472233963:function _(id,v){return new IFC4X3.IfcEdgeLoop(id,v[0].map(function(p){return new Handle(p.value);}));},1883228015:function _(id,v){return new IFC4X3.IfcElementQuantity(id,new IFC4X3.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4X3.IfcLabel(v[2].value),!v[3]?null:new IFC4X3.IfcText(v[3].value),!v[4]?null:new IFC4X3.IfcLabel(v[4].value),v[5].map(function(p){return new Handle(p.value);}));},339256511:function _(id,v){return new IFC4X3.IfcElementType(id,new IFC4X3.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4X3.IfcLabel(v[2].value),!v[3]?null:new IFC4X3.IfcText(v[3].value),!v[4]?null:new IFC4X3.IfcIdentifier(v[4].value),!v[5]?null:v[5].map(function(p){return new Handle(p.value);}),!v[6]?null:v[6].map(function(p){return new Handle(p.value);}),!v[7]?null:new IFC4X3.IfcLabel(v[7].value),!v[8]?null:new IFC4X3.IfcLabel(v[8].value));},2777663545:function _(id,v){return new IFC4X3.IfcElementarySurface(id,new Handle(v[0].value));},2835456948:function _(id,v){return new IFC4X3.IfcEllipseProfileDef(id,v[0],!v[1]?null:new IFC4X3.IfcLabel(v[1].value),!v[2]?null:new Handle(v[2].value),new IFC4X3.IfcPositiveLengthMeasure(v[3].value),new IFC4X3.IfcPositiveLengthMeasure(v[4].value));},4024345920:function _(id,v){return new IFC4X3.IfcEventType(id,new IFC4X3.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4X3.IfcLabel(v[2].value),!v[3]?null:new IFC4X3.IfcText(v[3].value),!v[4]?null:new IFC4X3.IfcIdentifier(v[4].value),!v[5]?null:v[5].map(function(p){return new Handle(p.value);}),!v[6]?null:new IFC4X3.IfcIdentifier(v[6].value),!v[7]?null:new IFC4X3.IfcText(v[7].value),!v[8]?null:new IFC4X3.IfcLabel(v[8].value),v[9],v[10],!v[11]?null:new IFC4X3.IfcLabel(v[11].value));},477187591:function _(id,v){return new IFC4X3.IfcExtrudedAreaSolid(id,new Handle(v[0].value),!v[1]?null:new Handle(v[1].value),new Handle(v[2].value),new IFC4X3.IfcPositiveLengthMeasure(v[3].value));},2804161546:function _(id,v){return new IFC4X3.IfcExtrudedAreaSolidTapered(id,new Handle(v[0].value),!v[1]?null:new Handle(v[1].value),new Handle(v[2].value),new IFC4X3.IfcPositiveLengthMeasure(v[3].value),new Handle(v[4].value));},2047409740:function _(id,v){return new IFC4X3.IfcFaceBasedSurfaceModel(id,v[0].map(function(p){return new Handle(p.value);}));},374418227:function _(id,v){return new IFC4X3.IfcFillAreaStyleHatching(id,new Handle(v[0].value),new Handle(v[1].value),!v[2]?null:new Handle(v[2].value),!v[3]?null:new Handle(v[3].value),new IFC4X3.IfcPlaneAngleMeasure(v[4].value));},315944413:function _(id,v){return new IFC4X3.IfcFillAreaStyleTiles(id,v[0].map(function(p){return new Handle(p.value);}),v[1].map(function(p){return new Handle(p.value);}),new IFC4X3.IfcPositiveRatioMeasure(v[2].value));},2652556860:function _(id,v){return new IFC4X3.IfcFixedReferenceSweptAreaSolid(id,new Handle(v[0].value),!v[1]?null:new Handle(v[1].value),new Handle(v[2].value),!v[3]?null:TypeInitialiser(3,v[3]),!v[4]?null:TypeInitialiser(3,v[4]),new Handle(v[5].value));},4238390223:function _(id,v){return new IFC4X3.IfcFurnishingElementType(id,new IFC4X3.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4X3.IfcLabel(v[2].value),!v[3]?null:new IFC4X3.IfcText(v[3].value),!v[4]?null:new IFC4X3.IfcIdentifier(v[4].value),!v[5]?null:v[5].map(function(p){return new Handle(p.value);}),!v[6]?null:v[6].map(function(p){return new Handle(p.value);}),!v[7]?null:new IFC4X3.IfcLabel(v[7].value),!v[8]?null:new IFC4X3.IfcLabel(v[8].value));},1268542332:function _(id,v){return new IFC4X3.IfcFurnitureType(id,new IFC4X3.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4X3.IfcLabel(v[2].value),!v[3]?null:new IFC4X3.IfcText(v[3].value),!v[4]?null:new IFC4X3.IfcIdentifier(v[4].value),!v[5]?null:v[5].map(function(p){return new Handle(p.value);}),!v[6]?null:v[6].map(function(p){return new Handle(p.value);}),!v[7]?null:new IFC4X3.IfcLabel(v[7].value),!v[8]?null:new IFC4X3.IfcLabel(v[8].value),v[9],v[10]);},4095422895:function _(id,v){return new IFC4X3.IfcGeographicElementType(id,new IFC4X3.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4X3.IfcLabel(v[2].value),!v[3]?null:new IFC4X3.IfcText(v[3].value),!v[4]?null:new IFC4X3.IfcIdentifier(v[4].value),!v[5]?null:v[5].map(function(p){return new Handle(p.value);}),!v[6]?null:v[6].map(function(p){return new Handle(p.value);}),!v[7]?null:new IFC4X3.IfcLabel(v[7].value),!v[8]?null:new IFC4X3.IfcLabel(v[8].value),v[9]);},987898635:function _(id,v){return new IFC4X3.IfcGeometricCurveSet(id,v[0].map(function(p){return new Handle(p.value);}));},1484403080:function _(id,v){return new IFC4X3.IfcIShapeProfileDef(id,v[0],!v[1]?null:new IFC4X3.IfcLabel(v[1].value),!v[2]?null:new Handle(v[2].value),new IFC4X3.IfcPositiveLengthMeasure(v[3].value),new IFC4X3.IfcPositiveLengthMeasure(v[4].value),new IFC4X3.IfcPositiveLengthMeasure(v[5].value),new IFC4X3.IfcPositiveLengthMeasure(v[6].value),!v[7]?null:new IFC4X3.IfcNonNegativeLengthMeasure(v[7].value),!v[8]?null:new IFC4X3.IfcNonNegativeLengthMeasure(v[8].value),!v[9]?null:new IFC4X3.IfcPlaneAngleMeasure(v[9].value));},178912537:function _(id,v){return new IFC4X3.IfcIndexedPolygonalFace(id,v[0].map(function(p){return new IFC4X3.IfcPositiveInteger(p.value);}));},2294589976:function _(id,v){return new IFC4X3.IfcIndexedPolygonalFaceWithVoids(id,v[0].map(function(p){return new IFC4X3.IfcPositiveInteger(p.value);}),v[1].map(function(p){return new IFC4X3.IfcPositiveInteger(p.value);}));},3465909080:function _(id,v){return new IFC4X3.IfcIndexedPolygonalTextureMap(id,v[0].map(function(p){return new Handle(p.value);}),new Handle(v[1].value),new Handle(v[2].value),v[3].map(function(p){return new Handle(p.value);}));},572779678:function _(id,v){return new IFC4X3.IfcLShapeProfileDef(id,v[0],!v[1]?null:new IFC4X3.IfcLabel(v[1].value),!v[2]?null:new Handle(v[2].value),new IFC4X3.IfcPositiveLengthMeasure(v[3].value),!v[4]?null:new IFC4X3.IfcPositiveLengthMeasure(v[4].value),new IFC4X3.IfcPositiveLengthMeasure(v[5].value),!v[6]?null:new IFC4X3.IfcNonNegativeLengthMeasure(v[6].value),!v[7]?null:new IFC4X3.IfcNonNegativeLengthMeasure(v[7].value),!v[8]?null:new IFC4X3.IfcPlaneAngleMeasure(v[8].value));},428585644:function _(id,v){return new IFC4X3.IfcLaborResourceType(id,new IFC4X3.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4X3.IfcLabel(v[2].value),!v[3]?null:new IFC4X3.IfcText(v[3].value),!v[4]?null:new IFC4X3.IfcIdentifier(v[4].value),!v[5]?null:v[5].map(function(p){return new Handle(p.value);}),!v[6]?null:new IFC4X3.IfcIdentifier(v[6].value),!v[7]?null:new IFC4X3.IfcText(v[7].value),!v[8]?null:new IFC4X3.IfcLabel(v[8].value),!v[9]?null:v[9].map(function(p){return new Handle(p.value);}),!v[10]?null:new Handle(v[10].value),v[11]);},1281925730:function _(id,v){return new IFC4X3.IfcLine(id,new Handle(v[0].value),new Handle(v[1].value));},1425443689:function _(id,v){return new IFC4X3.IfcManifoldSolidBrep(id,new Handle(v[0].value));},3888040117:function _(id,v){return new IFC4X3.IfcObject(id,new IFC4X3.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4X3.IfcLabel(v[2].value),!v[3]?null:new IFC4X3.IfcText(v[3].value),!v[4]?null:new IFC4X3.IfcLabel(v[4].value));},590820931:function _(id,v){return new IFC4X3.IfcOffsetCurve(id,new Handle(v[0].value));},3388369263:function _(id,v){return new IFC4X3.IfcOffsetCurve2D(id,new Handle(v[0].value),new IFC4X3.IfcLengthMeasure(v[1].value),new IFC4X3.IfcLogical(v[2].value));},3505215534:function _(id,v){return new IFC4X3.IfcOffsetCurve3D(id,new Handle(v[0].value),new IFC4X3.IfcLengthMeasure(v[1].value),new IFC4X3.IfcLogical(v[2].value),new Handle(v[3].value));},2485787929:function _(id,v){return new IFC4X3.IfcOffsetCurveByDistances(id,new Handle(v[0].value),v[1].map(function(p){return new Handle(p.value);}),!v[2]?null:new IFC4X3.IfcLabel(v[2].value));},1682466193:function _(id,v){return new IFC4X3.IfcPcurve(id,new Handle(v[0].value),new Handle(v[1].value));},603570806:function _(id,v){return new IFC4X3.IfcPlanarBox(id,new IFC4X3.IfcLengthMeasure(v[0].value),new IFC4X3.IfcLengthMeasure(v[1].value),new Handle(v[2].value));},220341763:function _(id,v){return new IFC4X3.IfcPlane(id,new Handle(v[0].value));},3381221214:function _(id,v){return new IFC4X3.IfcPolynomialCurve(id,new Handle(v[0].value),!v[1]?null:v[1].map(function(p){return new IFC4X3.IfcReal(p.value);}),!v[2]?null:v[2].map(function(p){return new IFC4X3.IfcReal(p.value);}),!v[3]?null:v[3].map(function(p){return new IFC4X3.IfcReal(p.value);}));},759155922:function _(id,v){return new IFC4X3.IfcPreDefinedColour(id,new IFC4X3.IfcLabel(v[0].value));},2559016684:function _(id,v){return new IFC4X3.IfcPreDefinedCurveFont(id,new IFC4X3.IfcLabel(v[0].value));},3967405729:function _(id,v){return new IFC4X3.IfcPreDefinedPropertySet(id,new IFC4X3.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4X3.IfcLabel(v[2].value),!v[3]?null:new IFC4X3.IfcText(v[3].value));},569719735:function _(id,v){return new IFC4X3.IfcProcedureType(id,new IFC4X3.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4X3.IfcLabel(v[2].value),!v[3]?null:new IFC4X3.IfcText(v[3].value),!v[4]?null:new IFC4X3.IfcIdentifier(v[4].value),!v[5]?null:v[5].map(function(p){return new Handle(p.value);}),!v[6]?null:new IFC4X3.IfcIdentifier(v[6].value),!v[7]?null:new IFC4X3.IfcText(v[7].value),!v[8]?null:new IFC4X3.IfcLabel(v[8].value),v[9]);},2945172077:function _(id,v){return new IFC4X3.IfcProcess(id,new IFC4X3.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4X3.IfcLabel(v[2].value),!v[3]?null:new IFC4X3.IfcText(v[3].value),!v[4]?null:new IFC4X3.IfcLabel(v[4].value),!v[5]?null:new IFC4X3.IfcIdentifier(v[5].value),!v[6]?null:new IFC4X3.IfcText(v[6].value));},4208778838:function _(id,v){return new IFC4X3.IfcProduct(id,new IFC4X3.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4X3.IfcLabel(v[2].value),!v[3]?null:new IFC4X3.IfcText(v[3].value),!v[4]?null:new IFC4X3.IfcLabel(v[4].value),!v[5]?null:new Handle(v[5].value),!v[6]?null:new Handle(v[6].value));},103090709:function _(id,v){return new IFC4X3.IfcProject(id,new IFC4X3.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4X3.IfcLabel(v[2].value),!v[3]?null:new IFC4X3.IfcText(v[3].value),!v[4]?null:new IFC4X3.IfcLabel(v[4].value),!v[5]?null:new IFC4X3.IfcLabel(v[5].value),!v[6]?null:new IFC4X3.IfcLabel(v[6].value),!v[7]?null:v[7].map(function(p){return new Handle(p.value);}),!v[8]?null:new Handle(v[8].value));},653396225:function _(id,v){return new IFC4X3.IfcProjectLibrary(id,new IFC4X3.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4X3.IfcLabel(v[2].value),!v[3]?null:new IFC4X3.IfcText(v[3].value),!v[4]?null:new IFC4X3.IfcLabel(v[4].value),!v[5]?null:new IFC4X3.IfcLabel(v[5].value),!v[6]?null:new IFC4X3.IfcLabel(v[6].value),!v[7]?null:v[7].map(function(p){return new Handle(p.value);}),!v[8]?null:new Handle(v[8].value));},871118103:function _(id,v){return new IFC4X3.IfcPropertyBoundedValue(id,new IFC4X3.IfcIdentifier(v[0].value),!v[1]?null:new IFC4X3.IfcText(v[1].value),!v[2]?null:TypeInitialiser(3,v[2]),!v[3]?null:TypeInitialiser(3,v[3]),!v[4]?null:new Handle(v[4].value),!v[5]?null:TypeInitialiser(3,v[5]));},4166981789:function _(id,v){return new IFC4X3.IfcPropertyEnumeratedValue(id,new IFC4X3.IfcIdentifier(v[0].value),!v[1]?null:new IFC4X3.IfcText(v[1].value),!v[2]?null:v[2].map(function(p){return TypeInitialiser(3,p);}),!v[3]?null:new Handle(v[3].value));},2752243245:function _(id,v){return new IFC4X3.IfcPropertyListValue(id,new IFC4X3.IfcIdentifier(v[0].value),!v[1]?null:new IFC4X3.IfcText(v[1].value),!v[2]?null:v[2].map(function(p){return TypeInitialiser(3,p);}),!v[3]?null:new Handle(v[3].value));},941946838:function _(id,v){return new IFC4X3.IfcPropertyReferenceValue(id,new IFC4X3.IfcIdentifier(v[0].value),!v[1]?null:new IFC4X3.IfcText(v[1].value),!v[2]?null:new IFC4X3.IfcText(v[2].value),!v[3]?null:new Handle(v[3].value));},1451395588:function _(id,v){return new IFC4X3.IfcPropertySet(id,new IFC4X3.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4X3.IfcLabel(v[2].value),!v[3]?null:new IFC4X3.IfcText(v[3].value),v[4].map(function(p){return new Handle(p.value);}));},492091185:function _(id,v){return new IFC4X3.IfcPropertySetTemplate(id,new IFC4X3.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4X3.IfcLabel(v[2].value),!v[3]?null:new IFC4X3.IfcText(v[3].value),v[4],!v[5]?null:new IFC4X3.IfcIdentifier(v[5].value),v[6].map(function(p){return new Handle(p.value);}));},3650150729:function _(id,v){return new IFC4X3.IfcPropertySingleValue(id,new IFC4X3.IfcIdentifier(v[0].value),!v[1]?null:new IFC4X3.IfcText(v[1].value),!v[2]?null:TypeInitialiser(3,v[2]),!v[3]?null:new Handle(v[3].value));},110355661:function _(id,v){return new IFC4X3.IfcPropertyTableValue(id,new IFC4X3.IfcIdentifier(v[0].value),!v[1]?null:new IFC4X3.IfcText(v[1].value),!v[2]?null:v[2].map(function(p){return TypeInitialiser(3,p);}),!v[3]?null:v[3].map(function(p){return TypeInitialiser(3,p);}),!v[4]?null:new IFC4X3.IfcText(v[4].value),!v[5]?null:new Handle(v[5].value),!v[6]?null:new Handle(v[6].value),v[7]);},3521284610:function _(id,v){return new IFC4X3.IfcPropertyTemplate(id,new IFC4X3.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4X3.IfcLabel(v[2].value),!v[3]?null:new IFC4X3.IfcText(v[3].value));},2770003689:function _(id,v){return new IFC4X3.IfcRectangleHollowProfileDef(id,v[0],!v[1]?null:new IFC4X3.IfcLabel(v[1].value),!v[2]?null:new Handle(v[2].value),new IFC4X3.IfcPositiveLengthMeasure(v[3].value),new IFC4X3.IfcPositiveLengthMeasure(v[4].value),new IFC4X3.IfcPositiveLengthMeasure(v[5].value),!v[6]?null:new IFC4X3.IfcNonNegativeLengthMeasure(v[6].value),!v[7]?null:new IFC4X3.IfcNonNegativeLengthMeasure(v[7].value));},2798486643:function _(id,v){return new IFC4X3.IfcRectangularPyramid(id,new Handle(v[0].value),new IFC4X3.IfcPositiveLengthMeasure(v[1].value),new IFC4X3.IfcPositiveLengthMeasure(v[2].value),new IFC4X3.IfcPositiveLengthMeasure(v[3].value));},3454111270:function _(id,v){return new IFC4X3.IfcRectangularTrimmedSurface(id,new Handle(v[0].value),new IFC4X3.IfcParameterValue(v[1].value),new IFC4X3.IfcParameterValue(v[2].value),new IFC4X3.IfcParameterValue(v[3].value),new IFC4X3.IfcParameterValue(v[4].value),new IFC4X3.IfcBoolean(v[5].value),new IFC4X3.IfcBoolean(v[6].value));},3765753017:function _(id,v){return new IFC4X3.IfcReinforcementDefinitionProperties(id,new IFC4X3.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4X3.IfcLabel(v[2].value),!v[3]?null:new IFC4X3.IfcText(v[3].value),!v[4]?null:new IFC4X3.IfcLabel(v[4].value),v[5].map(function(p){return new Handle(p.value);}));},3939117080:function _(id,v){return new IFC4X3.IfcRelAssigns(id,new IFC4X3.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4X3.IfcLabel(v[2].value),!v[3]?null:new IFC4X3.IfcText(v[3].value),v[4].map(function(p){return new Handle(p.value);}),v[5]);},1683148259:function _(id,v){return new IFC4X3.IfcRelAssignsToActor(id,new IFC4X3.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4X3.IfcLabel(v[2].value),!v[3]?null:new IFC4X3.IfcText(v[3].value),v[4].map(function(p){return new Handle(p.value);}),v[5],new Handle(v[6].value),!v[7]?null:new Handle(v[7].value));},2495723537:function _(id,v){return new IFC4X3.IfcRelAssignsToControl(id,new IFC4X3.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4X3.IfcLabel(v[2].value),!v[3]?null:new IFC4X3.IfcText(v[3].value),v[4].map(function(p){return new Handle(p.value);}),v[5],new Handle(v[6].value));},1307041759:function _(id,v){return new IFC4X3.IfcRelAssignsToGroup(id,new IFC4X3.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4X3.IfcLabel(v[2].value),!v[3]?null:new IFC4X3.IfcText(v[3].value),v[4].map(function(p){return new Handle(p.value);}),v[5],new Handle(v[6].value));},1027710054:function _(id,v){return new IFC4X3.IfcRelAssignsToGroupByFactor(id,new IFC4X3.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4X3.IfcLabel(v[2].value),!v[3]?null:new IFC4X3.IfcText(v[3].value),v[4].map(function(p){return new Handle(p.value);}),v[5],new Handle(v[6].value),new IFC4X3.IfcRatioMeasure(v[7].value));},4278684876:function _(id,v){return new IFC4X3.IfcRelAssignsToProcess(id,new IFC4X3.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4X3.IfcLabel(v[2].value),!v[3]?null:new IFC4X3.IfcText(v[3].value),v[4].map(function(p){return new Handle(p.value);}),v[5],new Handle(v[6].value),!v[7]?null:new Handle(v[7].value));},2857406711:function _(id,v){return new IFC4X3.IfcRelAssignsToProduct(id,new IFC4X3.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4X3.IfcLabel(v[2].value),!v[3]?null:new IFC4X3.IfcText(v[3].value),v[4].map(function(p){return new Handle(p.value);}),v[5],new Handle(v[6].value));},205026976:function _(id,v){return new IFC4X3.IfcRelAssignsToResource(id,new IFC4X3.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4X3.IfcLabel(v[2].value),!v[3]?null:new IFC4X3.IfcText(v[3].value),v[4].map(function(p){return new Handle(p.value);}),v[5],new Handle(v[6].value));},1865459582:function _(id,v){return new IFC4X3.IfcRelAssociates(id,new IFC4X3.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4X3.IfcLabel(v[2].value),!v[3]?null:new IFC4X3.IfcText(v[3].value),v[4].map(function(p){return new Handle(p.value);}));},4095574036:function _(id,v){return new IFC4X3.IfcRelAssociatesApproval(id,new IFC4X3.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4X3.IfcLabel(v[2].value),!v[3]?null:new IFC4X3.IfcText(v[3].value),v[4].map(function(p){return new Handle(p.value);}),new Handle(v[5].value));},919958153:function _(id,v){return new IFC4X3.IfcRelAssociatesClassification(id,new IFC4X3.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4X3.IfcLabel(v[2].value),!v[3]?null:new IFC4X3.IfcText(v[3].value),v[4].map(function(p){return new Handle(p.value);}),new Handle(v[5].value));},2728634034:function _(id,v){return new IFC4X3.IfcRelAssociatesConstraint(id,new IFC4X3.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4X3.IfcLabel(v[2].value),!v[3]?null:new IFC4X3.IfcText(v[3].value),v[4].map(function(p){return new Handle(p.value);}),!v[5]?null:new IFC4X3.IfcLabel(v[5].value),new Handle(v[6].value));},982818633:function _(id,v){return new IFC4X3.IfcRelAssociatesDocument(id,new IFC4X3.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4X3.IfcLabel(v[2].value),!v[3]?null:new IFC4X3.IfcText(v[3].value),v[4].map(function(p){return new Handle(p.value);}),new Handle(v[5].value));},3840914261:function _(id,v){return new IFC4X3.IfcRelAssociatesLibrary(id,new IFC4X3.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4X3.IfcLabel(v[2].value),!v[3]?null:new IFC4X3.IfcText(v[3].value),v[4].map(function(p){return new Handle(p.value);}),new Handle(v[5].value));},2655215786:function _(id,v){return new IFC4X3.IfcRelAssociatesMaterial(id,new IFC4X3.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4X3.IfcLabel(v[2].value),!v[3]?null:new IFC4X3.IfcText(v[3].value),v[4].map(function(p){return new Handle(p.value);}),new Handle(v[5].value));},1033248425:function _(id,v){return new IFC4X3.IfcRelAssociatesProfileDef(id,new IFC4X3.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4X3.IfcLabel(v[2].value),!v[3]?null:new IFC4X3.IfcText(v[3].value),v[4].map(function(p){return new Handle(p.value);}),new Handle(v[5].value));},826625072:function _(id,v){return new IFC4X3.IfcRelConnects(id,new IFC4X3.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4X3.IfcLabel(v[2].value),!v[3]?null:new IFC4X3.IfcText(v[3].value));},1204542856:function _(id,v){return new IFC4X3.IfcRelConnectsElements(id,new IFC4X3.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4X3.IfcLabel(v[2].value),!v[3]?null:new IFC4X3.IfcText(v[3].value),!v[4]?null:new Handle(v[4].value),new Handle(v[5].value),new Handle(v[6].value));},3945020480:function _(id,v){return new IFC4X3.IfcRelConnectsPathElements(id,new IFC4X3.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4X3.IfcLabel(v[2].value),!v[3]?null:new IFC4X3.IfcText(v[3].value),!v[4]?null:new Handle(v[4].value),new Handle(v[5].value),new Handle(v[6].value),v[7].map(function(p){return new IFC4X3.IfcInteger(p.value);}),v[8].map(function(p){return new IFC4X3.IfcInteger(p.value);}),v[9],v[10]);},4201705270:function _(id,v){return new IFC4X3.IfcRelConnectsPortToElement(id,new IFC4X3.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4X3.IfcLabel(v[2].value),!v[3]?null:new IFC4X3.IfcText(v[3].value),new Handle(v[4].value),new Handle(v[5].value));},3190031847:function _(id,v){return new IFC4X3.IfcRelConnectsPorts(id,new IFC4X3.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4X3.IfcLabel(v[2].value),!v[3]?null:new IFC4X3.IfcText(v[3].value),new Handle(v[4].value),new Handle(v[5].value),!v[6]?null:new Handle(v[6].value));},2127690289:function _(id,v){return new IFC4X3.IfcRelConnectsStructuralActivity(id,new IFC4X3.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4X3.IfcLabel(v[2].value),!v[3]?null:new IFC4X3.IfcText(v[3].value),new Handle(v[4].value),new Handle(v[5].value));},1638771189:function _(id,v){return new IFC4X3.IfcRelConnectsStructuralMember(id,new IFC4X3.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4X3.IfcLabel(v[2].value),!v[3]?null:new IFC4X3.IfcText(v[3].value),new Handle(v[4].value),new Handle(v[5].value),!v[6]?null:new Handle(v[6].value),!v[7]?null:new Handle(v[7].value),!v[8]?null:new IFC4X3.IfcLengthMeasure(v[8].value),!v[9]?null:new Handle(v[9].value));},504942748:function _(id,v){return new IFC4X3.IfcRelConnectsWithEccentricity(id,new IFC4X3.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4X3.IfcLabel(v[2].value),!v[3]?null:new IFC4X3.IfcText(v[3].value),new Handle(v[4].value),new Handle(v[5].value),!v[6]?null:new Handle(v[6].value),!v[7]?null:new Handle(v[7].value),!v[8]?null:new IFC4X3.IfcLengthMeasure(v[8].value),!v[9]?null:new Handle(v[9].value),new Handle(v[10].value));},3678494232:function _(id,v){return new IFC4X3.IfcRelConnectsWithRealizingElements(id,new IFC4X3.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4X3.IfcLabel(v[2].value),!v[3]?null:new IFC4X3.IfcText(v[3].value),!v[4]?null:new Handle(v[4].value),new Handle(v[5].value),new Handle(v[6].value),v[7].map(function(p){return new Handle(p.value);}),!v[8]?null:new IFC4X3.IfcLabel(v[8].value));},3242617779:function _(id,v){return new IFC4X3.IfcRelContainedInSpatialStructure(id,new IFC4X3.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4X3.IfcLabel(v[2].value),!v[3]?null:new IFC4X3.IfcText(v[3].value),v[4].map(function(p){return new Handle(p.value);}),new Handle(v[5].value));},886880790:function _(id,v){return new IFC4X3.IfcRelCoversBldgElements(id,new IFC4X3.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4X3.IfcLabel(v[2].value),!v[3]?null:new IFC4X3.IfcText(v[3].value),new Handle(v[4].value),v[5].map(function(p){return new Handle(p.value);}));},2802773753:function _(id,v){return new IFC4X3.IfcRelCoversSpaces(id,new IFC4X3.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4X3.IfcLabel(v[2].value),!v[3]?null:new IFC4X3.IfcText(v[3].value),new Handle(v[4].value),v[5].map(function(p){return new Handle(p.value);}));},2565941209:function _(id,v){return new IFC4X3.IfcRelDeclares(id,new IFC4X3.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4X3.IfcLabel(v[2].value),!v[3]?null:new IFC4X3.IfcText(v[3].value),new Handle(v[4].value),v[5].map(function(p){return new Handle(p.value);}));},2551354335:function _(id,v){return new IFC4X3.IfcRelDecomposes(id,new IFC4X3.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4X3.IfcLabel(v[2].value),!v[3]?null:new IFC4X3.IfcText(v[3].value));},693640335:function _(id,v){return new IFC4X3.IfcRelDefines(id,new IFC4X3.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4X3.IfcLabel(v[2].value),!v[3]?null:new IFC4X3.IfcText(v[3].value));},1462361463:function _(id,v){return new IFC4X3.IfcRelDefinesByObject(id,new IFC4X3.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4X3.IfcLabel(v[2].value),!v[3]?null:new IFC4X3.IfcText(v[3].value),v[4].map(function(p){return new Handle(p.value);}),new Handle(v[5].value));},4186316022:function _(id,v){return new IFC4X3.IfcRelDefinesByProperties(id,new IFC4X3.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4X3.IfcLabel(v[2].value),!v[3]?null:new IFC4X3.IfcText(v[3].value),v[4].map(function(p){return new Handle(p.value);}),new Handle(v[5].value));},307848117:function _(id,v){return new IFC4X3.IfcRelDefinesByTemplate(id,new IFC4X3.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4X3.IfcLabel(v[2].value),!v[3]?null:new IFC4X3.IfcText(v[3].value),v[4].map(function(p){return new Handle(p.value);}),new Handle(v[5].value));},781010003:function _(id,v){return new IFC4X3.IfcRelDefinesByType(id,new IFC4X3.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4X3.IfcLabel(v[2].value),!v[3]?null:new IFC4X3.IfcText(v[3].value),v[4].map(function(p){return new Handle(p.value);}),new Handle(v[5].value));},3940055652:function _(id,v){return new IFC4X3.IfcRelFillsElement(id,new IFC4X3.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4X3.IfcLabel(v[2].value),!v[3]?null:new IFC4X3.IfcText(v[3].value),new Handle(v[4].value),new Handle(v[5].value));},279856033:function _(id,v){return new IFC4X3.IfcRelFlowControlElements(id,new IFC4X3.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4X3.IfcLabel(v[2].value),!v[3]?null:new IFC4X3.IfcText(v[3].value),v[4].map(function(p){return new Handle(p.value);}),new Handle(v[5].value));},427948657:function _(id,v){return new IFC4X3.IfcRelInterferesElements(id,new IFC4X3.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4X3.IfcLabel(v[2].value),!v[3]?null:new IFC4X3.IfcText(v[3].value),new Handle(v[4].value),new Handle(v[5].value),!v[6]?null:new Handle(v[6].value),!v[7]?null:new Handle(v[7].value),!v[8]?null:new IFC4X3.IfcIdentifier(v[8].value),new IFC4X3.IfcLogical(v[9].value));},3268803585:function _(id,v){return new IFC4X3.IfcRelNests(id,new IFC4X3.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4X3.IfcLabel(v[2].value),!v[3]?null:new IFC4X3.IfcText(v[3].value),new Handle(v[4].value),v[5].map(function(p){return new Handle(p.value);}));},1441486842:function _(id,v){return new IFC4X3.IfcRelPositions(id,new IFC4X3.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4X3.IfcLabel(v[2].value),!v[3]?null:new IFC4X3.IfcText(v[3].value),new Handle(v[4].value),v[5].map(function(p){return new Handle(p.value);}));},750771296:function _(id,v){return new IFC4X3.IfcRelProjectsElement(id,new IFC4X3.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4X3.IfcLabel(v[2].value),!v[3]?null:new IFC4X3.IfcText(v[3].value),new Handle(v[4].value),new Handle(v[5].value));},1245217292:function _(id,v){return new IFC4X3.IfcRelReferencedInSpatialStructure(id,new IFC4X3.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4X3.IfcLabel(v[2].value),!v[3]?null:new IFC4X3.IfcText(v[3].value),v[4].map(function(p){return new Handle(p.value);}),new Handle(v[5].value));},4122056220:function _(id,v){return new IFC4X3.IfcRelSequence(id,new IFC4X3.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4X3.IfcLabel(v[2].value),!v[3]?null:new IFC4X3.IfcText(v[3].value),new Handle(v[4].value),new Handle(v[5].value),!v[6]?null:new Handle(v[6].value),v[7],!v[8]?null:new IFC4X3.IfcLabel(v[8].value));},366585022:function _(id,v){return new IFC4X3.IfcRelServicesBuildings(id,new IFC4X3.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4X3.IfcLabel(v[2].value),!v[3]?null:new IFC4X3.IfcText(v[3].value),new Handle(v[4].value),v[5].map(function(p){return new Handle(p.value);}));},3451746338:function _(id,v){return new IFC4X3.IfcRelSpaceBoundary(id,new IFC4X3.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4X3.IfcLabel(v[2].value),!v[3]?null:new IFC4X3.IfcText(v[3].value),new Handle(v[4].value),new Handle(v[5].value),!v[6]?null:new Handle(v[6].value),v[7],v[8]);},3523091289:function _(id,v){return new IFC4X3.IfcRelSpaceBoundary1stLevel(id,new IFC4X3.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4X3.IfcLabel(v[2].value),!v[3]?null:new IFC4X3.IfcText(v[3].value),new Handle(v[4].value),new Handle(v[5].value),!v[6]?null:new Handle(v[6].value),v[7],v[8],!v[9]?null:new Handle(v[9].value));},1521410863:function _(id,v){return new IFC4X3.IfcRelSpaceBoundary2ndLevel(id,new IFC4X3.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4X3.IfcLabel(v[2].value),!v[3]?null:new IFC4X3.IfcText(v[3].value),new Handle(v[4].value),new Handle(v[5].value),!v[6]?null:new Handle(v[6].value),v[7],v[8],!v[9]?null:new Handle(v[9].value),!v[10]?null:new Handle(v[10].value));},1401173127:function _(id,v){return new IFC4X3.IfcRelVoidsElement(id,new IFC4X3.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4X3.IfcLabel(v[2].value),!v[3]?null:new IFC4X3.IfcText(v[3].value),new Handle(v[4].value),new Handle(v[5].value));},816062949:function _(id,v){return new IFC4X3.IfcReparametrisedCompositeCurveSegment(id,v[0],new IFC4X3.IfcBoolean(v[1].value),new Handle(v[2].value),new IFC4X3.IfcParameterValue(v[3].value));},2914609552:function _(id,v){return new IFC4X3.IfcResource(id,new IFC4X3.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4X3.IfcLabel(v[2].value),!v[3]?null:new IFC4X3.IfcText(v[3].value),!v[4]?null:new IFC4X3.IfcLabel(v[4].value),!v[5]?null:new IFC4X3.IfcIdentifier(v[5].value),!v[6]?null:new IFC4X3.IfcText(v[6].value));},1856042241:function _(id,v){return new IFC4X3.IfcRevolvedAreaSolid(id,new Handle(v[0].value),!v[1]?null:new Handle(v[1].value),new Handle(v[2].value),new IFC4X3.IfcPlaneAngleMeasure(v[3].value));},3243963512:function _(id,v){return new IFC4X3.IfcRevolvedAreaSolidTapered(id,new Handle(v[0].value),!v[1]?null:new Handle(v[1].value),new Handle(v[2].value),new IFC4X3.IfcPlaneAngleMeasure(v[3].value),new Handle(v[4].value));},4158566097:function _(id,v){return new IFC4X3.IfcRightCircularCone(id,new Handle(v[0].value),new IFC4X3.IfcPositiveLengthMeasure(v[1].value),new IFC4X3.IfcPositiveLengthMeasure(v[2].value));},3626867408:function _(id,v){return new IFC4X3.IfcRightCircularCylinder(id,new Handle(v[0].value),new IFC4X3.IfcPositiveLengthMeasure(v[1].value),new IFC4X3.IfcPositiveLengthMeasure(v[2].value));},1862484736:function _(id,v){return new IFC4X3.IfcSectionedSolid(id,new Handle(v[0].value),v[1].map(function(p){return new Handle(p.value);}));},1290935644:function _(id,v){return new IFC4X3.IfcSectionedSolidHorizontal(id,new Handle(v[0].value),v[1].map(function(p){return new Handle(p.value);}),v[2].map(function(p){return new Handle(p.value);}));},1356537516:function _(id,v){return new IFC4X3.IfcSectionedSurface(id,new Handle(v[0].value),v[1].map(function(p){return new Handle(p.value);}),v[2].map(function(p){return new Handle(p.value);}));},3663146110:function _(id,v){return new IFC4X3.IfcSimplePropertyTemplate(id,new IFC4X3.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4X3.IfcLabel(v[2].value),!v[3]?null:new IFC4X3.IfcText(v[3].value),v[4],!v[5]?null:new IFC4X3.IfcLabel(v[5].value),!v[6]?null:new IFC4X3.IfcLabel(v[6].value),!v[7]?null:new Handle(v[7].value),!v[8]?null:new Handle(v[8].value),!v[9]?null:new Handle(v[9].value),!v[10]?null:new IFC4X3.IfcLabel(v[10].value),v[11]);},1412071761:function _(id,v){return new IFC4X3.IfcSpatialElement(id,new IFC4X3.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4X3.IfcLabel(v[2].value),!v[3]?null:new IFC4X3.IfcText(v[3].value),!v[4]?null:new IFC4X3.IfcLabel(v[4].value),!v[5]?null:new Handle(v[5].value),!v[6]?null:new Handle(v[6].value),!v[7]?null:new IFC4X3.IfcLabel(v[7].value));},710998568:function _(id,v){return new IFC4X3.IfcSpatialElementType(id,new IFC4X3.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4X3.IfcLabel(v[2].value),!v[3]?null:new IFC4X3.IfcText(v[3].value),!v[4]?null:new IFC4X3.IfcIdentifier(v[4].value),!v[5]?null:v[5].map(function(p){return new Handle(p.value);}),!v[6]?null:v[6].map(function(p){return new Handle(p.value);}),!v[7]?null:new IFC4X3.IfcLabel(v[7].value),!v[8]?null:new IFC4X3.IfcLabel(v[8].value));},2706606064:function _(id,v){return new IFC4X3.IfcSpatialStructureElement(id,new IFC4X3.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4X3.IfcLabel(v[2].value),!v[3]?null:new IFC4X3.IfcText(v[3].value),!v[4]?null:new IFC4X3.IfcLabel(v[4].value),!v[5]?null:new Handle(v[5].value),!v[6]?null:new Handle(v[6].value),!v[7]?null:new IFC4X3.IfcLabel(v[7].value),v[8]);},3893378262:function _(id,v){return new IFC4X3.IfcSpatialStructureElementType(id,new IFC4X3.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4X3.IfcLabel(v[2].value),!v[3]?null:new IFC4X3.IfcText(v[3].value),!v[4]?null:new IFC4X3.IfcIdentifier(v[4].value),!v[5]?null:v[5].map(function(p){return new Handle(p.value);}),!v[6]?null:v[6].map(function(p){return new Handle(p.value);}),!v[7]?null:new IFC4X3.IfcLabel(v[7].value),!v[8]?null:new IFC4X3.IfcLabel(v[8].value));},463610769:function _(id,v){return new IFC4X3.IfcSpatialZone(id,new IFC4X3.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4X3.IfcLabel(v[2].value),!v[3]?null:new IFC4X3.IfcText(v[3].value),!v[4]?null:new IFC4X3.IfcLabel(v[4].value),!v[5]?null:new Handle(v[5].value),!v[6]?null:new Handle(v[6].value),!v[7]?null:new IFC4X3.IfcLabel(v[7].value),v[8]);},2481509218:function _(id,v){return new IFC4X3.IfcSpatialZoneType(id,new IFC4X3.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4X3.IfcLabel(v[2].value),!v[3]?null:new IFC4X3.IfcText(v[3].value),!v[4]?null:new IFC4X3.IfcIdentifier(v[4].value),!v[5]?null:v[5].map(function(p){return new Handle(p.value);}),!v[6]?null:v[6].map(function(p){return new Handle(p.value);}),!v[7]?null:new IFC4X3.IfcLabel(v[7].value),!v[8]?null:new IFC4X3.IfcLabel(v[8].value),v[9],!v[10]?null:new IFC4X3.IfcLabel(v[10].value));},451544542:function _(id,v){return new IFC4X3.IfcSphere(id,new Handle(v[0].value),new IFC4X3.IfcPositiveLengthMeasure(v[1].value));},4015995234:function _(id,v){return new IFC4X3.IfcSphericalSurface(id,new Handle(v[0].value),new IFC4X3.IfcPositiveLengthMeasure(v[1].value));},2735484536:function _(id,v){return new IFC4X3.IfcSpiral(id,!v[0]?null:new Handle(v[0].value));},3544373492:function _(id,v){return new IFC4X3.IfcStructuralActivity(id,new IFC4X3.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4X3.IfcLabel(v[2].value),!v[3]?null:new IFC4X3.IfcText(v[3].value),!v[4]?null:new IFC4X3.IfcLabel(v[4].value),!v[5]?null:new Handle(v[5].value),!v[6]?null:new Handle(v[6].value),new Handle(v[7].value),v[8]);},3136571912:function _(id,v){return new IFC4X3.IfcStructuralItem(id,new IFC4X3.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4X3.IfcLabel(v[2].value),!v[3]?null:new IFC4X3.IfcText(v[3].value),!v[4]?null:new IFC4X3.IfcLabel(v[4].value),!v[5]?null:new Handle(v[5].value),!v[6]?null:new Handle(v[6].value));},530289379:function _(id,v){return new IFC4X3.IfcStructuralMember(id,new IFC4X3.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4X3.IfcLabel(v[2].value),!v[3]?null:new IFC4X3.IfcText(v[3].value),!v[4]?null:new IFC4X3.IfcLabel(v[4].value),!v[5]?null:new Handle(v[5].value),!v[6]?null:new Handle(v[6].value));},3689010777:function _(id,v){return new IFC4X3.IfcStructuralReaction(id,new IFC4X3.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4X3.IfcLabel(v[2].value),!v[3]?null:new IFC4X3.IfcText(v[3].value),!v[4]?null:new IFC4X3.IfcLabel(v[4].value),!v[5]?null:new Handle(v[5].value),!v[6]?null:new Handle(v[6].value),new Handle(v[7].value),v[8]);},3979015343:function _(id,v){return new IFC4X3.IfcStructuralSurfaceMember(id,new IFC4X3.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4X3.IfcLabel(v[2].value),!v[3]?null:new IFC4X3.IfcText(v[3].value),!v[4]?null:new IFC4X3.IfcLabel(v[4].value),!v[5]?null:new Handle(v[5].value),!v[6]?null:new Handle(v[6].value),v[7],!v[8]?null:new IFC4X3.IfcPositiveLengthMeasure(v[8].value));},2218152070:function _(id,v){return new IFC4X3.IfcStructuralSurfaceMemberVarying(id,new IFC4X3.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4X3.IfcLabel(v[2].value),!v[3]?null:new IFC4X3.IfcText(v[3].value),!v[4]?null:new IFC4X3.IfcLabel(v[4].value),!v[5]?null:new Handle(v[5].value),!v[6]?null:new Handle(v[6].value),v[7],!v[8]?null:new IFC4X3.IfcPositiveLengthMeasure(v[8].value));},603775116:function _(id,v){return new IFC4X3.IfcStructuralSurfaceReaction(id,new IFC4X3.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4X3.IfcLabel(v[2].value),!v[3]?null:new IFC4X3.IfcText(v[3].value),!v[4]?null:new IFC4X3.IfcLabel(v[4].value),!v[5]?null:new Handle(v[5].value),!v[6]?null:new Handle(v[6].value),new Handle(v[7].value),v[8],v[9]);},4095615324:function _(id,v){return new IFC4X3.IfcSubContractResourceType(id,new IFC4X3.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4X3.IfcLabel(v[2].value),!v[3]?null:new IFC4X3.IfcText(v[3].value),!v[4]?null:new IFC4X3.IfcIdentifier(v[4].value),!v[5]?null:v[5].map(function(p){return new Handle(p.value);}),!v[6]?null:new IFC4X3.IfcIdentifier(v[6].value),!v[7]?null:new IFC4X3.IfcText(v[7].value),!v[8]?null:new IFC4X3.IfcLabel(v[8].value),!v[9]?null:v[9].map(function(p){return new Handle(p.value);}),!v[10]?null:new Handle(v[10].value),v[11]);},699246055:function _(id,v){return new IFC4X3.IfcSurfaceCurve(id,new Handle(v[0].value),v[1].map(function(p){return new Handle(p.value);}),v[2]);},2028607225:function _(id,v){return new IFC4X3.IfcSurfaceCurveSweptAreaSolid(id,new Handle(v[0].value),!v[1]?null:new Handle(v[1].value),new Handle(v[2].value),!v[3]?null:TypeInitialiser(3,v[3]),!v[4]?null:TypeInitialiser(3,v[4]),new Handle(v[5].value));},2809605785:function _(id,v){return new IFC4X3.IfcSurfaceOfLinearExtrusion(id,new Handle(v[0].value),!v[1]?null:new Handle(v[1].value),new Handle(v[2].value),new IFC4X3.IfcLengthMeasure(v[3].value));},4124788165:function _(id,v){return new IFC4X3.IfcSurfaceOfRevolution(id,new Handle(v[0].value),!v[1]?null:new Handle(v[1].value),new Handle(v[2].value));},1580310250:function _(id,v){return new IFC4X3.IfcSystemFurnitureElementType(id,new IFC4X3.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4X3.IfcLabel(v[2].value),!v[3]?null:new IFC4X3.IfcText(v[3].value),!v[4]?null:new IFC4X3.IfcIdentifier(v[4].value),!v[5]?null:v[5].map(function(p){return new Handle(p.value);}),!v[6]?null:v[6].map(function(p){return new Handle(p.value);}),!v[7]?null:new IFC4X3.IfcLabel(v[7].value),!v[8]?null:new IFC4X3.IfcLabel(v[8].value),v[9]);},3473067441:function _(id,v){return new IFC4X3.IfcTask(id,new IFC4X3.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4X3.IfcLabel(v[2].value),!v[3]?null:new IFC4X3.IfcText(v[3].value),!v[4]?null:new IFC4X3.IfcLabel(v[4].value),!v[5]?null:new IFC4X3.IfcIdentifier(v[5].value),!v[6]?null:new IFC4X3.IfcText(v[6].value),!v[7]?null:new IFC4X3.IfcLabel(v[7].value),!v[8]?null:new IFC4X3.IfcLabel(v[8].value),new IFC4X3.IfcBoolean(v[9].value),!v[10]?null:new IFC4X3.IfcInteger(v[10].value),!v[11]?null:new Handle(v[11].value),v[12]);},3206491090:function _(id,v){return new IFC4X3.IfcTaskType(id,new IFC4X3.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4X3.IfcLabel(v[2].value),!v[3]?null:new IFC4X3.IfcText(v[3].value),!v[4]?null:new IFC4X3.IfcIdentifier(v[4].value),!v[5]?null:v[5].map(function(p){return new Handle(p.value);}),!v[6]?null:new IFC4X3.IfcIdentifier(v[6].value),!v[7]?null:new IFC4X3.IfcText(v[7].value),!v[8]?null:new IFC4X3.IfcLabel(v[8].value),v[9],!v[10]?null:new IFC4X3.IfcLabel(v[10].value));},2387106220:function _(id,v){return new IFC4X3.IfcTessellatedFaceSet(id,new Handle(v[0].value),!v[1]?null:new IFC4X3.IfcBoolean(v[1].value));},782932809:function _(id,v){return new IFC4X3.IfcThirdOrderPolynomialSpiral(id,!v[0]?null:new Handle(v[0].value),new IFC4X3.IfcLengthMeasure(v[1].value),!v[2]?null:new IFC4X3.IfcLengthMeasure(v[2].value),!v[3]?null:new IFC4X3.IfcLengthMeasure(v[3].value),!v[4]?null:new IFC4X3.IfcLengthMeasure(v[4].value));},1935646853:function _(id,v){return new IFC4X3.IfcToroidalSurface(id,new Handle(v[0].value),new IFC4X3.IfcPositiveLengthMeasure(v[1].value),new IFC4X3.IfcPositiveLengthMeasure(v[2].value));},3665877780:function _(id,v){return new IFC4X3.IfcTransportationDeviceType(id,new IFC4X3.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4X3.IfcLabel(v[2].value),!v[3]?null:new IFC4X3.IfcText(v[3].value),!v[4]?null:new IFC4X3.IfcIdentifier(v[4].value),!v[5]?null:v[5].map(function(p){return new Handle(p.value);}),!v[6]?null:v[6].map(function(p){return new Handle(p.value);}),!v[7]?null:new IFC4X3.IfcLabel(v[7].value),!v[8]?null:new IFC4X3.IfcLabel(v[8].value));},2916149573:function _(id,v){return new IFC4X3.IfcTriangulatedFaceSet(id,new Handle(v[0].value),!v[1]?null:new IFC4X3.IfcBoolean(v[1].value),!v[2]?null:v[2].map(function(p){return new IFC4X3.IfcParameterValue(p.value);}),v[3].map(function(p){return new IFC4X3.IfcPositiveInteger(p.value);}),!v[4]?null:v[4].map(function(p){return new IFC4X3.IfcPositiveInteger(p.value);}));},1229763772:function _(id,v){return new IFC4X3.IfcTriangulatedIrregularNetwork(id,new Handle(v[0].value),!v[1]?null:new IFC4X3.IfcBoolean(v[1].value),!v[2]?null:v[2].map(function(p){return new IFC4X3.IfcParameterValue(p.value);}),v[3].map(function(p){return new IFC4X3.IfcPositiveInteger(p.value);}),!v[4]?null:v[4].map(function(p){return new IFC4X3.IfcPositiveInteger(p.value);}),v[5].map(function(p){return new IFC4X3.IfcInteger(p.value);}));},3651464721:function _(id,v){return new IFC4X3.IfcVehicleType(id,new IFC4X3.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4X3.IfcLabel(v[2].value),!v[3]?null:new IFC4X3.IfcText(v[3].value),!v[4]?null:new IFC4X3.IfcIdentifier(v[4].value),!v[5]?null:v[5].map(function(p){return new Handle(p.value);}),!v[6]?null:v[6].map(function(p){return new Handle(p.value);}),!v[7]?null:new IFC4X3.IfcLabel(v[7].value),!v[8]?null:new IFC4X3.IfcLabel(v[8].value),v[9]);},336235671:function _(id,v){return new IFC4X3.IfcWindowLiningProperties(id,new IFC4X3.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4X3.IfcLabel(v[2].value),!v[3]?null:new IFC4X3.IfcText(v[3].value),!v[4]?null:new IFC4X3.IfcPositiveLengthMeasure(v[4].value),!v[5]?null:new IFC4X3.IfcNonNegativeLengthMeasure(v[5].value),!v[6]?null:new IFC4X3.IfcNonNegativeLengthMeasure(v[6].value),!v[7]?null:new IFC4X3.IfcNonNegativeLengthMeasure(v[7].value),!v[8]?null:new IFC4X3.IfcNormalisedRatioMeasure(v[8].value),!v[9]?null:new IFC4X3.IfcNormalisedRatioMeasure(v[9].value),!v[10]?null:new IFC4X3.IfcNormalisedRatioMeasure(v[10].value),!v[11]?null:new IFC4X3.IfcNormalisedRatioMeasure(v[11].value),!v[12]?null:new Handle(v[12].value),!v[13]?null:new IFC4X3.IfcLengthMeasure(v[13].value),!v[14]?null:new IFC4X3.IfcLengthMeasure(v[14].value),!v[15]?null:new IFC4X3.IfcLengthMeasure(v[15].value));},512836454:function _(id,v){return new IFC4X3.IfcWindowPanelProperties(id,new IFC4X3.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4X3.IfcLabel(v[2].value),!v[3]?null:new IFC4X3.IfcText(v[3].value),v[4],v[5],!v[6]?null:new IFC4X3.IfcPositiveLengthMeasure(v[6].value),!v[7]?null:new IFC4X3.IfcPositiveLengthMeasure(v[7].value),!v[8]?null:new Handle(v[8].value));},2296667514:function _(id,v){return new IFC4X3.IfcActor(id,new IFC4X3.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4X3.IfcLabel(v[2].value),!v[3]?null:new IFC4X3.IfcText(v[3].value),!v[4]?null:new IFC4X3.IfcLabel(v[4].value),new Handle(v[5].value));},1635779807:function _(id,v){return new IFC4X3.IfcAdvancedBrep(id,new Handle(v[0].value));},2603310189:function _(id,v){return new IFC4X3.IfcAdvancedBrepWithVoids(id,new Handle(v[0].value),v[1].map(function(p){return new Handle(p.value);}));},1674181508:function _(id,v){return new IFC4X3.IfcAnnotation(id,new IFC4X3.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4X3.IfcLabel(v[2].value),!v[3]?null:new IFC4X3.IfcText(v[3].value),!v[4]?null:new IFC4X3.IfcLabel(v[4].value),!v[5]?null:new Handle(v[5].value),!v[6]?null:new Handle(v[6].value),v[7]);},2887950389:function _(id,v){return new IFC4X3.IfcBSplineSurface(id,new IFC4X3.IfcInteger(v[0].value),new IFC4X3.IfcInteger(v[1].value),v[2].map(function(p){return new Handle(p.value);}),v[3],new IFC4X3.IfcLogical(v[4].value),new IFC4X3.IfcLogical(v[5].value),new IFC4X3.IfcLogical(v[6].value));},167062518:function _(id,v){return new IFC4X3.IfcBSplineSurfaceWithKnots(id,new IFC4X3.IfcInteger(v[0].value),new IFC4X3.IfcInteger(v[1].value),v[2].map(function(p){return new Handle(p.value);}),v[3],new IFC4X3.IfcLogical(v[4].value),new IFC4X3.IfcLogical(v[5].value),new IFC4X3.IfcLogical(v[6].value),v[7].map(function(p){return new IFC4X3.IfcInteger(p.value);}),v[8].map(function(p){return new IFC4X3.IfcInteger(p.value);}),v[9].map(function(p){return new IFC4X3.IfcParameterValue(p.value);}),v[10].map(function(p){return new IFC4X3.IfcParameterValue(p.value);}),v[11]);},1334484129:function _(id,v){return new IFC4X3.IfcBlock(id,new Handle(v[0].value),new IFC4X3.IfcPositiveLengthMeasure(v[1].value),new IFC4X3.IfcPositiveLengthMeasure(v[2].value),new IFC4X3.IfcPositiveLengthMeasure(v[3].value));},3649129432:function _(id,v){return new IFC4X3.IfcBooleanClippingResult(id,v[0],new Handle(v[1].value),new Handle(v[2].value));},1260505505:function _(id,_126){return new IFC4X3.IfcBoundedCurve(id);},3124254112:function _(id,v){return new IFC4X3.IfcBuildingStorey(id,new IFC4X3.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4X3.IfcLabel(v[2].value),!v[3]?null:new IFC4X3.IfcText(v[3].value),!v[4]?null:new IFC4X3.IfcLabel(v[4].value),!v[5]?null:new Handle(v[5].value),!v[6]?null:new Handle(v[6].value),!v[7]?null:new IFC4X3.IfcLabel(v[7].value),v[8],!v[9]?null:new IFC4X3.IfcLengthMeasure(v[9].value));},1626504194:function _(id,v){return new IFC4X3.IfcBuiltElementType(id,new IFC4X3.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4X3.IfcLabel(v[2].value),!v[3]?null:new IFC4X3.IfcText(v[3].value),!v[4]?null:new IFC4X3.IfcIdentifier(v[4].value),!v[5]?null:v[5].map(function(p){return new Handle(p.value);}),!v[6]?null:v[6].map(function(p){return new Handle(p.value);}),!v[7]?null:new IFC4X3.IfcLabel(v[7].value),!v[8]?null:new IFC4X3.IfcLabel(v[8].value));},2197970202:function _(id,v){return new IFC4X3.IfcChimneyType(id,new IFC4X3.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4X3.IfcLabel(v[2].value),!v[3]?null:new IFC4X3.IfcText(v[3].value),!v[4]?null:new IFC4X3.IfcIdentifier(v[4].value),!v[5]?null:v[5].map(function(p){return new Handle(p.value);}),!v[6]?null:v[6].map(function(p){return new Handle(p.value);}),!v[7]?null:new IFC4X3.IfcLabel(v[7].value),!v[8]?null:new IFC4X3.IfcLabel(v[8].value),v[9]);},2937912522:function _(id,v){return new IFC4X3.IfcCircleHollowProfileDef(id,v[0],!v[1]?null:new IFC4X3.IfcLabel(v[1].value),!v[2]?null:new Handle(v[2].value),new IFC4X3.IfcPositiveLengthMeasure(v[3].value),new IFC4X3.IfcPositiveLengthMeasure(v[4].value));},3893394355:function _(id,v){return new IFC4X3.IfcCivilElementType(id,new IFC4X3.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4X3.IfcLabel(v[2].value),!v[3]?null:new IFC4X3.IfcText(v[3].value),!v[4]?null:new IFC4X3.IfcIdentifier(v[4].value),!v[5]?null:v[5].map(function(p){return new Handle(p.value);}),!v[6]?null:v[6].map(function(p){return new Handle(p.value);}),!v[7]?null:new IFC4X3.IfcLabel(v[7].value),!v[8]?null:new IFC4X3.IfcLabel(v[8].value));},3497074424:function _(id,v){return new IFC4X3.IfcClothoid(id,!v[0]?null:new Handle(v[0].value),new IFC4X3.IfcLengthMeasure(v[1].value));},300633059:function _(id,v){return new IFC4X3.IfcColumnType(id,new IFC4X3.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4X3.IfcLabel(v[2].value),!v[3]?null:new IFC4X3.IfcText(v[3].value),!v[4]?null:new IFC4X3.IfcIdentifier(v[4].value),!v[5]?null:v[5].map(function(p){return new Handle(p.value);}),!v[6]?null:v[6].map(function(p){return new Handle(p.value);}),!v[7]?null:new IFC4X3.IfcLabel(v[7].value),!v[8]?null:new IFC4X3.IfcLabel(v[8].value),v[9]);},3875453745:function _(id,v){return new IFC4X3.IfcComplexPropertyTemplate(id,new IFC4X3.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4X3.IfcLabel(v[2].value),!v[3]?null:new IFC4X3.IfcText(v[3].value),!v[4]?null:new IFC4X3.IfcLabel(v[4].value),v[5],!v[6]?null:v[6].map(function(p){return new Handle(p.value);}));},3732776249:function _(id,v){return new IFC4X3.IfcCompositeCurve(id,v[0].map(function(p){return new Handle(p.value);}),new IFC4X3.IfcLogical(v[1].value));},15328376:function _(id,v){return new IFC4X3.IfcCompositeCurveOnSurface(id,v[0].map(function(p){return new Handle(p.value);}),new IFC4X3.IfcLogical(v[1].value));},2510884976:function _(id,v){return new IFC4X3.IfcConic(id,new Handle(v[0].value));},2185764099:function _(id,v){return new IFC4X3.IfcConstructionEquipmentResourceType(id,new IFC4X3.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4X3.IfcLabel(v[2].value),!v[3]?null:new IFC4X3.IfcText(v[3].value),!v[4]?null:new IFC4X3.IfcIdentifier(v[4].value),!v[5]?null:v[5].map(function(p){return new Handle(p.value);}),!v[6]?null:new IFC4X3.IfcIdentifier(v[6].value),!v[7]?null:new IFC4X3.IfcText(v[7].value),!v[8]?null:new IFC4X3.IfcLabel(v[8].value),!v[9]?null:v[9].map(function(p){return new Handle(p.value);}),!v[10]?null:new Handle(v[10].value),v[11]);},4105962743:function _(id,v){return new IFC4X3.IfcConstructionMaterialResourceType(id,new IFC4X3.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4X3.IfcLabel(v[2].value),!v[3]?null:new IFC4X3.IfcText(v[3].value),!v[4]?null:new IFC4X3.IfcIdentifier(v[4].value),!v[5]?null:v[5].map(function(p){return new Handle(p.value);}),!v[6]?null:new IFC4X3.IfcIdentifier(v[6].value),!v[7]?null:new IFC4X3.IfcText(v[7].value),!v[8]?null:new IFC4X3.IfcLabel(v[8].value),!v[9]?null:v[9].map(function(p){return new Handle(p.value);}),!v[10]?null:new Handle(v[10].value),v[11]);},1525564444:function _(id,v){return new IFC4X3.IfcConstructionProductResourceType(id,new IFC4X3.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4X3.IfcLabel(v[2].value),!v[3]?null:new IFC4X3.IfcText(v[3].value),!v[4]?null:new IFC4X3.IfcIdentifier(v[4].value),!v[5]?null:v[5].map(function(p){return new Handle(p.value);}),!v[6]?null:new IFC4X3.IfcIdentifier(v[6].value),!v[7]?null:new IFC4X3.IfcText(v[7].value),!v[8]?null:new IFC4X3.IfcLabel(v[8].value),!v[9]?null:v[9].map(function(p){return new Handle(p.value);}),!v[10]?null:new Handle(v[10].value),v[11]);},2559216714:function _(id,v){return new IFC4X3.IfcConstructionResource(id,new IFC4X3.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4X3.IfcLabel(v[2].value),!v[3]?null:new IFC4X3.IfcText(v[3].value),!v[4]?null:new IFC4X3.IfcLabel(v[4].value),!v[5]?null:new IFC4X3.IfcIdentifier(v[5].value),!v[6]?null:new IFC4X3.IfcText(v[6].value),!v[7]?null:new Handle(v[7].value),!v[8]?null:v[8].map(function(p){return new Handle(p.value);}),!v[9]?null:new Handle(v[9].value));},3293443760:function _(id,v){return new IFC4X3.IfcControl(id,new IFC4X3.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4X3.IfcLabel(v[2].value),!v[3]?null:new IFC4X3.IfcText(v[3].value),!v[4]?null:new IFC4X3.IfcLabel(v[4].value),!v[5]?null:new IFC4X3.IfcIdentifier(v[5].value));},2000195564:function _(id,v){return new IFC4X3.IfcCosineSpiral(id,!v[0]?null:new Handle(v[0].value),new IFC4X3.IfcLengthMeasure(v[1].value),!v[2]?null:new IFC4X3.IfcLengthMeasure(v[2].value));},3895139033:function _(id,v){return new IFC4X3.IfcCostItem(id,new IFC4X3.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4X3.IfcLabel(v[2].value),!v[3]?null:new IFC4X3.IfcText(v[3].value),!v[4]?null:new IFC4X3.IfcLabel(v[4].value),!v[5]?null:new IFC4X3.IfcIdentifier(v[5].value),v[6],!v[7]?null:v[7].map(function(p){return new Handle(p.value);}),!v[8]?null:v[8].map(function(p){return new Handle(p.value);}));},1419761937:function _(id,v){return new IFC4X3.IfcCostSchedule(id,new IFC4X3.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4X3.IfcLabel(v[2].value),!v[3]?null:new IFC4X3.IfcText(v[3].value),!v[4]?null:new IFC4X3.IfcLabel(v[4].value),!v[5]?null:new IFC4X3.IfcIdentifier(v[5].value),v[6],!v[7]?null:new IFC4X3.IfcLabel(v[7].value),!v[8]?null:new IFC4X3.IfcDateTime(v[8].value),!v[9]?null:new IFC4X3.IfcDateTime(v[9].value));},4189326743:function _(id,v){return new IFC4X3.IfcCourseType(id,new IFC4X3.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4X3.IfcLabel(v[2].value),!v[3]?null:new IFC4X3.IfcText(v[3].value),!v[4]?null:new IFC4X3.IfcIdentifier(v[4].value),!v[5]?null:v[5].map(function(p){return new Handle(p.value);}),!v[6]?null:v[6].map(function(p){return new Handle(p.value);}),!v[7]?null:new IFC4X3.IfcLabel(v[7].value),!v[8]?null:new IFC4X3.IfcLabel(v[8].value),v[9]);},1916426348:function _(id,v){return new IFC4X3.IfcCoveringType(id,new IFC4X3.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4X3.IfcLabel(v[2].value),!v[3]?null:new IFC4X3.IfcText(v[3].value),!v[4]?null:new IFC4X3.IfcIdentifier(v[4].value),!v[5]?null:v[5].map(function(p){return new Handle(p.value);}),!v[6]?null:v[6].map(function(p){return new Handle(p.value);}),!v[7]?null:new IFC4X3.IfcLabel(v[7].value),!v[8]?null:new IFC4X3.IfcLabel(v[8].value),v[9]);},3295246426:function _(id,v){return new IFC4X3.IfcCrewResource(id,new IFC4X3.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4X3.IfcLabel(v[2].value),!v[3]?null:new IFC4X3.IfcText(v[3].value),!v[4]?null:new IFC4X3.IfcLabel(v[4].value),!v[5]?null:new IFC4X3.IfcIdentifier(v[5].value),!v[6]?null:new IFC4X3.IfcText(v[6].value),!v[7]?null:new Handle(v[7].value),!v[8]?null:v[8].map(function(p){return new Handle(p.value);}),!v[9]?null:new Handle(v[9].value),v[10]);},1457835157:function _(id,v){return new IFC4X3.IfcCurtainWallType(id,new IFC4X3.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4X3.IfcLabel(v[2].value),!v[3]?null:new IFC4X3.IfcText(v[3].value),!v[4]?null:new IFC4X3.IfcIdentifier(v[4].value),!v[5]?null:v[5].map(function(p){return new Handle(p.value);}),!v[6]?null:v[6].map(function(p){return new Handle(p.value);}),!v[7]?null:new IFC4X3.IfcLabel(v[7].value),!v[8]?null:new IFC4X3.IfcLabel(v[8].value),v[9]);},1213902940:function _(id,v){return new IFC4X3.IfcCylindricalSurface(id,new Handle(v[0].value),new IFC4X3.IfcPositiveLengthMeasure(v[1].value));},1306400036:function _(id,v){return new IFC4X3.IfcDeepFoundationType(id,new IFC4X3.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4X3.IfcLabel(v[2].value),!v[3]?null:new IFC4X3.IfcText(v[3].value),!v[4]?null:new IFC4X3.IfcIdentifier(v[4].value),!v[5]?null:v[5].map(function(p){return new Handle(p.value);}),!v[6]?null:v[6].map(function(p){return new Handle(p.value);}),!v[7]?null:new IFC4X3.IfcLabel(v[7].value),!v[8]?null:new IFC4X3.IfcLabel(v[8].value));},4234616927:function _(id,v){return new IFC4X3.IfcDirectrixDerivedReferenceSweptAreaSolid(id,new Handle(v[0].value),!v[1]?null:new Handle(v[1].value),new Handle(v[2].value),!v[3]?null:TypeInitialiser(3,v[3]),!v[4]?null:TypeInitialiser(3,v[4]),new Handle(v[5].value));},3256556792:function _(id,v){return new IFC4X3.IfcDistributionElementType(id,new IFC4X3.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4X3.IfcLabel(v[2].value),!v[3]?null:new IFC4X3.IfcText(v[3].value),!v[4]?null:new IFC4X3.IfcIdentifier(v[4].value),!v[5]?null:v[5].map(function(p){return new Handle(p.value);}),!v[6]?null:v[6].map(function(p){return new Handle(p.value);}),!v[7]?null:new IFC4X3.IfcLabel(v[7].value),!v[8]?null:new IFC4X3.IfcLabel(v[8].value));},3849074793:function _(id,v){return new IFC4X3.IfcDistributionFlowElementType(id,new IFC4X3.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4X3.IfcLabel(v[2].value),!v[3]?null:new IFC4X3.IfcText(v[3].value),!v[4]?null:new IFC4X3.IfcIdentifier(v[4].value),!v[5]?null:v[5].map(function(p){return new Handle(p.value);}),!v[6]?null:v[6].map(function(p){return new Handle(p.value);}),!v[7]?null:new IFC4X3.IfcLabel(v[7].value),!v[8]?null:new IFC4X3.IfcLabel(v[8].value));},2963535650:function _(id,v){return new IFC4X3.IfcDoorLiningProperties(id,new IFC4X3.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4X3.IfcLabel(v[2].value),!v[3]?null:new IFC4X3.IfcText(v[3].value),!v[4]?null:new IFC4X3.IfcPositiveLengthMeasure(v[4].value),!v[5]?null:new IFC4X3.IfcNonNegativeLengthMeasure(v[5].value),!v[6]?null:new IFC4X3.IfcPositiveLengthMeasure(v[6].value),!v[7]?null:new IFC4X3.IfcNonNegativeLengthMeasure(v[7].value),!v[8]?null:new IFC4X3.IfcNonNegativeLengthMeasure(v[8].value),!v[9]?null:new IFC4X3.IfcLengthMeasure(v[9].value),!v[10]?null:new IFC4X3.IfcLengthMeasure(v[10].value),!v[11]?null:new IFC4X3.IfcLengthMeasure(v[11].value),!v[12]?null:new IFC4X3.IfcPositiveLengthMeasure(v[12].value),!v[13]?null:new IFC4X3.IfcPositiveLengthMeasure(v[13].value),!v[14]?null:new Handle(v[14].value),!v[15]?null:new IFC4X3.IfcLengthMeasure(v[15].value),!v[16]?null:new IFC4X3.IfcLengthMeasure(v[16].value));},1714330368:function _(id,v){return new IFC4X3.IfcDoorPanelProperties(id,new IFC4X3.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4X3.IfcLabel(v[2].value),!v[3]?null:new IFC4X3.IfcText(v[3].value),!v[4]?null:new IFC4X3.IfcPositiveLengthMeasure(v[4].value),v[5],!v[6]?null:new IFC4X3.IfcNormalisedRatioMeasure(v[6].value),v[7],!v[8]?null:new Handle(v[8].value));},2323601079:function _(id,v){return new IFC4X3.IfcDoorType(id,new IFC4X3.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4X3.IfcLabel(v[2].value),!v[3]?null:new IFC4X3.IfcText(v[3].value),!v[4]?null:new IFC4X3.IfcIdentifier(v[4].value),!v[5]?null:v[5].map(function(p){return new Handle(p.value);}),!v[6]?null:v[6].map(function(p){return new Handle(p.value);}),!v[7]?null:new IFC4X3.IfcLabel(v[7].value),!v[8]?null:new IFC4X3.IfcLabel(v[8].value),v[9],v[10],!v[11]?null:new IFC4X3.IfcBoolean(v[11].value),!v[12]?null:new IFC4X3.IfcLabel(v[12].value));},445594917:function _(id,v){return new IFC4X3.IfcDraughtingPreDefinedColour(id,new IFC4X3.IfcLabel(v[0].value));},4006246654:function _(id,v){return new IFC4X3.IfcDraughtingPreDefinedCurveFont(id,new IFC4X3.IfcLabel(v[0].value));},1758889154:function _(id,v){return new IFC4X3.IfcElement(id,new IFC4X3.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4X3.IfcLabel(v[2].value),!v[3]?null:new IFC4X3.IfcText(v[3].value),!v[4]?null:new IFC4X3.IfcLabel(v[4].value),!v[5]?null:new Handle(v[5].value),!v[6]?null:new Handle(v[6].value),!v[7]?null:new IFC4X3.IfcIdentifier(v[7].value));},4123344466:function _(id,v){return new IFC4X3.IfcElementAssembly(id,new IFC4X3.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4X3.IfcLabel(v[2].value),!v[3]?null:new IFC4X3.IfcText(v[3].value),!v[4]?null:new IFC4X3.IfcLabel(v[4].value),!v[5]?null:new Handle(v[5].value),!v[6]?null:new Handle(v[6].value),!v[7]?null:new IFC4X3.IfcIdentifier(v[7].value),v[8],v[9]);},2397081782:function _(id,v){return new IFC4X3.IfcElementAssemblyType(id,new IFC4X3.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4X3.IfcLabel(v[2].value),!v[3]?null:new IFC4X3.IfcText(v[3].value),!v[4]?null:new IFC4X3.IfcIdentifier(v[4].value),!v[5]?null:v[5].map(function(p){return new Handle(p.value);}),!v[6]?null:v[6].map(function(p){return new Handle(p.value);}),!v[7]?null:new IFC4X3.IfcLabel(v[7].value),!v[8]?null:new IFC4X3.IfcLabel(v[8].value),v[9]);},1623761950:function _(id,v){return new IFC4X3.IfcElementComponent(id,new IFC4X3.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4X3.IfcLabel(v[2].value),!v[3]?null:new IFC4X3.IfcText(v[3].value),!v[4]?null:new IFC4X3.IfcLabel(v[4].value),!v[5]?null:new Handle(v[5].value),!v[6]?null:new Handle(v[6].value),!v[7]?null:new IFC4X3.IfcIdentifier(v[7].value));},2590856083:function _(id,v){return new IFC4X3.IfcElementComponentType(id,new IFC4X3.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4X3.IfcLabel(v[2].value),!v[3]?null:new IFC4X3.IfcText(v[3].value),!v[4]?null:new IFC4X3.IfcIdentifier(v[4].value),!v[5]?null:v[5].map(function(p){return new Handle(p.value);}),!v[6]?null:v[6].map(function(p){return new Handle(p.value);}),!v[7]?null:new IFC4X3.IfcLabel(v[7].value),!v[8]?null:new IFC4X3.IfcLabel(v[8].value));},1704287377:function _(id,v){return new IFC4X3.IfcEllipse(id,new Handle(v[0].value),new IFC4X3.IfcPositiveLengthMeasure(v[1].value),new IFC4X3.IfcPositiveLengthMeasure(v[2].value));},2107101300:function _(id,v){return new IFC4X3.IfcEnergyConversionDeviceType(id,new IFC4X3.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4X3.IfcLabel(v[2].value),!v[3]?null:new IFC4X3.IfcText(v[3].value),!v[4]?null:new IFC4X3.IfcIdentifier(v[4].value),!v[5]?null:v[5].map(function(p){return new Handle(p.value);}),!v[6]?null:v[6].map(function(p){return new Handle(p.value);}),!v[7]?null:new IFC4X3.IfcLabel(v[7].value),!v[8]?null:new IFC4X3.IfcLabel(v[8].value));},132023988:function _(id,v){return new IFC4X3.IfcEngineType(id,new IFC4X3.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4X3.IfcLabel(v[2].value),!v[3]?null:new IFC4X3.IfcText(v[3].value),!v[4]?null:new IFC4X3.IfcIdentifier(v[4].value),!v[5]?null:v[5].map(function(p){return new Handle(p.value);}),!v[6]?null:v[6].map(function(p){return new Handle(p.value);}),!v[7]?null:new IFC4X3.IfcLabel(v[7].value),!v[8]?null:new IFC4X3.IfcLabel(v[8].value),v[9]);},3174744832:function _(id,v){return new IFC4X3.IfcEvaporativeCoolerType(id,new IFC4X3.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4X3.IfcLabel(v[2].value),!v[3]?null:new IFC4X3.IfcText(v[3].value),!v[4]?null:new IFC4X3.IfcIdentifier(v[4].value),!v[5]?null:v[5].map(function(p){return new Handle(p.value);}),!v[6]?null:v[6].map(function(p){return new Handle(p.value);}),!v[7]?null:new IFC4X3.IfcLabel(v[7].value),!v[8]?null:new IFC4X3.IfcLabel(v[8].value),v[9]);},3390157468:function _(id,v){return new IFC4X3.IfcEvaporatorType(id,new IFC4X3.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4X3.IfcLabel(v[2].value),!v[3]?null:new IFC4X3.IfcText(v[3].value),!v[4]?null:new IFC4X3.IfcIdentifier(v[4].value),!v[5]?null:v[5].map(function(p){return new Handle(p.value);}),!v[6]?null:v[6].map(function(p){return new Handle(p.value);}),!v[7]?null:new IFC4X3.IfcLabel(v[7].value),!v[8]?null:new IFC4X3.IfcLabel(v[8].value),v[9]);},4148101412:function _(id,v){return new IFC4X3.IfcEvent(id,new IFC4X3.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4X3.IfcLabel(v[2].value),!v[3]?null:new IFC4X3.IfcText(v[3].value),!v[4]?null:new IFC4X3.IfcLabel(v[4].value),!v[5]?null:new IFC4X3.IfcIdentifier(v[5].value),!v[6]?null:new IFC4X3.IfcText(v[6].value),v[7],v[8],!v[9]?null:new IFC4X3.IfcLabel(v[9].value),!v[10]?null:new Handle(v[10].value));},2853485674:function _(id,v){return new IFC4X3.IfcExternalSpatialStructureElement(id,new IFC4X3.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4X3.IfcLabel(v[2].value),!v[3]?null:new IFC4X3.IfcText(v[3].value),!v[4]?null:new IFC4X3.IfcLabel(v[4].value),!v[5]?null:new Handle(v[5].value),!v[6]?null:new Handle(v[6].value),!v[7]?null:new IFC4X3.IfcLabel(v[7].value));},807026263:function _(id,v){return new IFC4X3.IfcFacetedBrep(id,new Handle(v[0].value));},3737207727:function _(id,v){return new IFC4X3.IfcFacetedBrepWithVoids(id,new Handle(v[0].value),v[1].map(function(p){return new Handle(p.value);}));},24185140:function _(id,v){return new IFC4X3.IfcFacility(id,new IFC4X3.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4X3.IfcLabel(v[2].value),!v[3]?null:new IFC4X3.IfcText(v[3].value),!v[4]?null:new IFC4X3.IfcLabel(v[4].value),!v[5]?null:new Handle(v[5].value),!v[6]?null:new Handle(v[6].value),!v[7]?null:new IFC4X3.IfcLabel(v[7].value),v[8]);},1310830890:function _(id,v){return new IFC4X3.IfcFacilityPart(id,new IFC4X3.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4X3.IfcLabel(v[2].value),!v[3]?null:new IFC4X3.IfcText(v[3].value),!v[4]?null:new IFC4X3.IfcLabel(v[4].value),!v[5]?null:new Handle(v[5].value),!v[6]?null:new Handle(v[6].value),!v[7]?null:new IFC4X3.IfcLabel(v[7].value),v[8],v[9]);},4228831410:function _(id,v){return new IFC4X3.IfcFacilityPartCommon(id,new IFC4X3.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4X3.IfcLabel(v[2].value),!v[3]?null:new IFC4X3.IfcText(v[3].value),!v[4]?null:new IFC4X3.IfcLabel(v[4].value),!v[5]?null:new Handle(v[5].value),!v[6]?null:new Handle(v[6].value),!v[7]?null:new IFC4X3.IfcLabel(v[7].value),v[8],v[9],v[10]);},647756555:function _(id,v){return new IFC4X3.IfcFastener(id,new IFC4X3.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4X3.IfcLabel(v[2].value),!v[3]?null:new IFC4X3.IfcText(v[3].value),!v[4]?null:new IFC4X3.IfcLabel(v[4].value),!v[5]?null:new Handle(v[5].value),!v[6]?null:new Handle(v[6].value),!v[7]?null:new IFC4X3.IfcIdentifier(v[7].value),v[8]);},2489546625:function _(id,v){return new IFC4X3.IfcFastenerType(id,new IFC4X3.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4X3.IfcLabel(v[2].value),!v[3]?null:new IFC4X3.IfcText(v[3].value),!v[4]?null:new IFC4X3.IfcIdentifier(v[4].value),!v[5]?null:v[5].map(function(p){return new Handle(p.value);}),!v[6]?null:v[6].map(function(p){return new Handle(p.value);}),!v[7]?null:new IFC4X3.IfcLabel(v[7].value),!v[8]?null:new IFC4X3.IfcLabel(v[8].value),v[9]);},2827207264:function _(id,v){return new IFC4X3.IfcFeatureElement(id,new IFC4X3.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4X3.IfcLabel(v[2].value),!v[3]?null:new IFC4X3.IfcText(v[3].value),!v[4]?null:new IFC4X3.IfcLabel(v[4].value),!v[5]?null:new Handle(v[5].value),!v[6]?null:new Handle(v[6].value),!v[7]?null:new IFC4X3.IfcIdentifier(v[7].value));},2143335405:function _(id,v){return new IFC4X3.IfcFeatureElementAddition(id,new IFC4X3.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4X3.IfcLabel(v[2].value),!v[3]?null:new IFC4X3.IfcText(v[3].value),!v[4]?null:new IFC4X3.IfcLabel(v[4].value),!v[5]?null:new Handle(v[5].value),!v[6]?null:new Handle(v[6].value),!v[7]?null:new IFC4X3.IfcIdentifier(v[7].value));},1287392070:function _(id,v){return new IFC4X3.IfcFeatureElementSubtraction(id,new IFC4X3.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4X3.IfcLabel(v[2].value),!v[3]?null:new IFC4X3.IfcText(v[3].value),!v[4]?null:new IFC4X3.IfcLabel(v[4].value),!v[5]?null:new Handle(v[5].value),!v[6]?null:new Handle(v[6].value),!v[7]?null:new IFC4X3.IfcIdentifier(v[7].value));},3907093117:function _(id,v){return new IFC4X3.IfcFlowControllerType(id,new IFC4X3.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4X3.IfcLabel(v[2].value),!v[3]?null:new IFC4X3.IfcText(v[3].value),!v[4]?null:new IFC4X3.IfcIdentifier(v[4].value),!v[5]?null:v[5].map(function(p){return new Handle(p.value);}),!v[6]?null:v[6].map(function(p){return new Handle(p.value);}),!v[7]?null:new IFC4X3.IfcLabel(v[7].value),!v[8]?null:new IFC4X3.IfcLabel(v[8].value));},3198132628:function _(id,v){return new IFC4X3.IfcFlowFittingType(id,new IFC4X3.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4X3.IfcLabel(v[2].value),!v[3]?null:new IFC4X3.IfcText(v[3].value),!v[4]?null:new IFC4X3.IfcIdentifier(v[4].value),!v[5]?null:v[5].map(function(p){return new Handle(p.value);}),!v[6]?null:v[6].map(function(p){return new Handle(p.value);}),!v[7]?null:new IFC4X3.IfcLabel(v[7].value),!v[8]?null:new IFC4X3.IfcLabel(v[8].value));},3815607619:function _(id,v){return new IFC4X3.IfcFlowMeterType(id,new IFC4X3.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4X3.IfcLabel(v[2].value),!v[3]?null:new IFC4X3.IfcText(v[3].value),!v[4]?null:new IFC4X3.IfcIdentifier(v[4].value),!v[5]?null:v[5].map(function(p){return new Handle(p.value);}),!v[6]?null:v[6].map(function(p){return new Handle(p.value);}),!v[7]?null:new IFC4X3.IfcLabel(v[7].value),!v[8]?null:new IFC4X3.IfcLabel(v[8].value),v[9]);},1482959167:function _(id,v){return new IFC4X3.IfcFlowMovingDeviceType(id,new IFC4X3.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4X3.IfcLabel(v[2].value),!v[3]?null:new IFC4X3.IfcText(v[3].value),!v[4]?null:new IFC4X3.IfcIdentifier(v[4].value),!v[5]?null:v[5].map(function(p){return new Handle(p.value);}),!v[6]?null:v[6].map(function(p){return new Handle(p.value);}),!v[7]?null:new IFC4X3.IfcLabel(v[7].value),!v[8]?null:new IFC4X3.IfcLabel(v[8].value));},1834744321:function _(id,v){return new IFC4X3.IfcFlowSegmentType(id,new IFC4X3.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4X3.IfcLabel(v[2].value),!v[3]?null:new IFC4X3.IfcText(v[3].value),!v[4]?null:new IFC4X3.IfcIdentifier(v[4].value),!v[5]?null:v[5].map(function(p){return new Handle(p.value);}),!v[6]?null:v[6].map(function(p){return new Handle(p.value);}),!v[7]?null:new IFC4X3.IfcLabel(v[7].value),!v[8]?null:new IFC4X3.IfcLabel(v[8].value));},1339347760:function _(id,v){return new IFC4X3.IfcFlowStorageDeviceType(id,new IFC4X3.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4X3.IfcLabel(v[2].value),!v[3]?null:new IFC4X3.IfcText(v[3].value),!v[4]?null:new IFC4X3.IfcIdentifier(v[4].value),!v[5]?null:v[5].map(function(p){return new Handle(p.value);}),!v[6]?null:v[6].map(function(p){return new Handle(p.value);}),!v[7]?null:new IFC4X3.IfcLabel(v[7].value),!v[8]?null:new IFC4X3.IfcLabel(v[8].value));},2297155007:function _(id,v){return new IFC4X3.IfcFlowTerminalType(id,new IFC4X3.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4X3.IfcLabel(v[2].value),!v[3]?null:new IFC4X3.IfcText(v[3].value),!v[4]?null:new IFC4X3.IfcIdentifier(v[4].value),!v[5]?null:v[5].map(function(p){return new Handle(p.value);}),!v[6]?null:v[6].map(function(p){return new Handle(p.value);}),!v[7]?null:new IFC4X3.IfcLabel(v[7].value),!v[8]?null:new IFC4X3.IfcLabel(v[8].value));},3009222698:function _(id,v){return new IFC4X3.IfcFlowTreatmentDeviceType(id,new IFC4X3.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4X3.IfcLabel(v[2].value),!v[3]?null:new IFC4X3.IfcText(v[3].value),!v[4]?null:new IFC4X3.IfcIdentifier(v[4].value),!v[5]?null:v[5].map(function(p){return new Handle(p.value);}),!v[6]?null:v[6].map(function(p){return new Handle(p.value);}),!v[7]?null:new IFC4X3.IfcLabel(v[7].value),!v[8]?null:new IFC4X3.IfcLabel(v[8].value));},1893162501:function _(id,v){return new IFC4X3.IfcFootingType(id,new IFC4X3.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4X3.IfcLabel(v[2].value),!v[3]?null:new IFC4X3.IfcText(v[3].value),!v[4]?null:new IFC4X3.IfcIdentifier(v[4].value),!v[5]?null:v[5].map(function(p){return new Handle(p.value);}),!v[6]?null:v[6].map(function(p){return new Handle(p.value);}),!v[7]?null:new IFC4X3.IfcLabel(v[7].value),!v[8]?null:new IFC4X3.IfcLabel(v[8].value),v[9]);},263784265:function _(id,v){return new IFC4X3.IfcFurnishingElement(id,new IFC4X3.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4X3.IfcLabel(v[2].value),!v[3]?null:new IFC4X3.IfcText(v[3].value),!v[4]?null:new IFC4X3.IfcLabel(v[4].value),!v[5]?null:new Handle(v[5].value),!v[6]?null:new Handle(v[6].value),!v[7]?null:new IFC4X3.IfcIdentifier(v[7].value));},1509553395:function _(id,v){return new IFC4X3.IfcFurniture(id,new IFC4X3.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4X3.IfcLabel(v[2].value),!v[3]?null:new IFC4X3.IfcText(v[3].value),!v[4]?null:new IFC4X3.IfcLabel(v[4].value),!v[5]?null:new Handle(v[5].value),!v[6]?null:new Handle(v[6].value),!v[7]?null:new IFC4X3.IfcIdentifier(v[7].value),v[8]);},3493046030:function _(id,v){return new IFC4X3.IfcGeographicElement(id,new IFC4X3.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4X3.IfcLabel(v[2].value),!v[3]?null:new IFC4X3.IfcText(v[3].value),!v[4]?null:new IFC4X3.IfcLabel(v[4].value),!v[5]?null:new Handle(v[5].value),!v[6]?null:new Handle(v[6].value),!v[7]?null:new IFC4X3.IfcIdentifier(v[7].value),v[8]);},4230923436:function _(id,v){return new IFC4X3.IfcGeotechnicalElement(id,new IFC4X3.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4X3.IfcLabel(v[2].value),!v[3]?null:new IFC4X3.IfcText(v[3].value),!v[4]?null:new IFC4X3.IfcLabel(v[4].value),!v[5]?null:new Handle(v[5].value),!v[6]?null:new Handle(v[6].value),!v[7]?null:new IFC4X3.IfcIdentifier(v[7].value));},1594536857:function _(id,v){return new IFC4X3.IfcGeotechnicalStratum(id,new IFC4X3.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4X3.IfcLabel(v[2].value),!v[3]?null:new IFC4X3.IfcText(v[3].value),!v[4]?null:new IFC4X3.IfcLabel(v[4].value),!v[5]?null:new Handle(v[5].value),!v[6]?null:new Handle(v[6].value),!v[7]?null:new IFC4X3.IfcIdentifier(v[7].value),v[8]);},2898700619:function _(id,v){return new IFC4X3.IfcGradientCurve(id,v[0].map(function(p){return new Handle(p.value);}),new IFC4X3.IfcLogical(v[1].value),new Handle(v[2].value),!v[3]?null:new Handle(v[3].value));},2706460486:function _(id,v){return new IFC4X3.IfcGroup(id,new IFC4X3.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4X3.IfcLabel(v[2].value),!v[3]?null:new IFC4X3.IfcText(v[3].value),!v[4]?null:new IFC4X3.IfcLabel(v[4].value));},1251058090:function _(id,v){return new IFC4X3.IfcHeatExchangerType(id,new IFC4X3.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4X3.IfcLabel(v[2].value),!v[3]?null:new IFC4X3.IfcText(v[3].value),!v[4]?null:new IFC4X3.IfcIdentifier(v[4].value),!v[5]?null:v[5].map(function(p){return new Handle(p.value);}),!v[6]?null:v[6].map(function(p){return new Handle(p.value);}),!v[7]?null:new IFC4X3.IfcLabel(v[7].value),!v[8]?null:new IFC4X3.IfcLabel(v[8].value),v[9]);},1806887404:function _(id,v){return new IFC4X3.IfcHumidifierType(id,new IFC4X3.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4X3.IfcLabel(v[2].value),!v[3]?null:new IFC4X3.IfcText(v[3].value),!v[4]?null:new IFC4X3.IfcIdentifier(v[4].value),!v[5]?null:v[5].map(function(p){return new Handle(p.value);}),!v[6]?null:v[6].map(function(p){return new Handle(p.value);}),!v[7]?null:new IFC4X3.IfcLabel(v[7].value),!v[8]?null:new IFC4X3.IfcLabel(v[8].value),v[9]);},2568555532:function _(id,v){return new IFC4X3.IfcImpactProtectionDevice(id,new IFC4X3.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4X3.IfcLabel(v[2].value),!v[3]?null:new IFC4X3.IfcText(v[3].value),!v[4]?null:new IFC4X3.IfcLabel(v[4].value),!v[5]?null:new Handle(v[5].value),!v[6]?null:new Handle(v[6].value),!v[7]?null:new IFC4X3.IfcIdentifier(v[7].value),v[8]);},3948183225:function _(id,v){return new IFC4X3.IfcImpactProtectionDeviceType(id,new IFC4X3.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4X3.IfcLabel(v[2].value),!v[3]?null:new IFC4X3.IfcText(v[3].value),!v[4]?null:new IFC4X3.IfcIdentifier(v[4].value),!v[5]?null:v[5].map(function(p){return new Handle(p.value);}),!v[6]?null:v[6].map(function(p){return new Handle(p.value);}),!v[7]?null:new IFC4X3.IfcLabel(v[7].value),!v[8]?null:new IFC4X3.IfcLabel(v[8].value),v[9]);},2571569899:function _(id,v){return new IFC4X3.IfcIndexedPolyCurve(id,new Handle(v[0].value),!v[1]?null:v[1].map(function(p){return TypeInitialiser(3,p);}),new IFC4X3.IfcLogical(v[2].value));},3946677679:function _(id,v){return new IFC4X3.IfcInterceptorType(id,new IFC4X3.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4X3.IfcLabel(v[2].value),!v[3]?null:new IFC4X3.IfcText(v[3].value),!v[4]?null:new IFC4X3.IfcIdentifier(v[4].value),!v[5]?null:v[5].map(function(p){return new Handle(p.value);}),!v[6]?null:v[6].map(function(p){return new Handle(p.value);}),!v[7]?null:new IFC4X3.IfcLabel(v[7].value),!v[8]?null:new IFC4X3.IfcLabel(v[8].value),v[9]);},3113134337:function _(id,v){return new IFC4X3.IfcIntersectionCurve(id,new Handle(v[0].value),v[1].map(function(p){return new Handle(p.value);}),v[2]);},2391368822:function _(id,v){return new IFC4X3.IfcInventory(id,new IFC4X3.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4X3.IfcLabel(v[2].value),!v[3]?null:new IFC4X3.IfcText(v[3].value),!v[4]?null:new IFC4X3.IfcLabel(v[4].value),v[5],!v[6]?null:new Handle(v[6].value),!v[7]?null:v[7].map(function(p){return new Handle(p.value);}),!v[8]?null:new IFC4X3.IfcDate(v[8].value),!v[9]?null:new Handle(v[9].value),!v[10]?null:new Handle(v[10].value));},4288270099:function _(id,v){return new IFC4X3.IfcJunctionBoxType(id,new IFC4X3.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4X3.IfcLabel(v[2].value),!v[3]?null:new IFC4X3.IfcText(v[3].value),!v[4]?null:new IFC4X3.IfcIdentifier(v[4].value),!v[5]?null:v[5].map(function(p){return new Handle(p.value);}),!v[6]?null:v[6].map(function(p){return new Handle(p.value);}),!v[7]?null:new IFC4X3.IfcLabel(v[7].value),!v[8]?null:new IFC4X3.IfcLabel(v[8].value),v[9]);},679976338:function _(id,v){return new IFC4X3.IfcKerbType(id,new IFC4X3.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4X3.IfcLabel(v[2].value),!v[3]?null:new IFC4X3.IfcText(v[3].value),!v[4]?null:new IFC4X3.IfcIdentifier(v[4].value),!v[5]?null:v[5].map(function(p){return new Handle(p.value);}),!v[6]?null:v[6].map(function(p){return new Handle(p.value);}),!v[7]?null:new IFC4X3.IfcLabel(v[7].value),!v[8]?null:new IFC4X3.IfcLabel(v[8].value),new IFC4X3.IfcBoolean(v[9].value));},3827777499:function _(id,v){return new IFC4X3.IfcLaborResource(id,new IFC4X3.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4X3.IfcLabel(v[2].value),!v[3]?null:new IFC4X3.IfcText(v[3].value),!v[4]?null:new IFC4X3.IfcLabel(v[4].value),!v[5]?null:new IFC4X3.IfcIdentifier(v[5].value),!v[6]?null:new IFC4X3.IfcText(v[6].value),!v[7]?null:new Handle(v[7].value),!v[8]?null:v[8].map(function(p){return new Handle(p.value);}),!v[9]?null:new Handle(v[9].value),v[10]);},1051575348:function _(id,v){return new IFC4X3.IfcLampType(id,new IFC4X3.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4X3.IfcLabel(v[2].value),!v[3]?null:new IFC4X3.IfcText(v[3].value),!v[4]?null:new IFC4X3.IfcIdentifier(v[4].value),!v[5]?null:v[5].map(function(p){return new Handle(p.value);}),!v[6]?null:v[6].map(function(p){return new Handle(p.value);}),!v[7]?null:new IFC4X3.IfcLabel(v[7].value),!v[8]?null:new IFC4X3.IfcLabel(v[8].value),v[9]);},1161773419:function _(id,v){return new IFC4X3.IfcLightFixtureType(id,new IFC4X3.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4X3.IfcLabel(v[2].value),!v[3]?null:new IFC4X3.IfcText(v[3].value),!v[4]?null:new IFC4X3.IfcIdentifier(v[4].value),!v[5]?null:v[5].map(function(p){return new Handle(p.value);}),!v[6]?null:v[6].map(function(p){return new Handle(p.value);}),!v[7]?null:new IFC4X3.IfcLabel(v[7].value),!v[8]?null:new IFC4X3.IfcLabel(v[8].value),v[9]);},2176059722:function _(id,v){return new IFC4X3.IfcLinearElement(id,new IFC4X3.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4X3.IfcLabel(v[2].value),!v[3]?null:new IFC4X3.IfcText(v[3].value),!v[4]?null:new IFC4X3.IfcLabel(v[4].value),!v[5]?null:new Handle(v[5].value),!v[6]?null:new Handle(v[6].value));},1770583370:function _(id,v){return new IFC4X3.IfcLiquidTerminalType(id,new IFC4X3.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4X3.IfcLabel(v[2].value),!v[3]?null:new IFC4X3.IfcText(v[3].value),!v[4]?null:new IFC4X3.IfcIdentifier(v[4].value),!v[5]?null:v[5].map(function(p){return new Handle(p.value);}),!v[6]?null:v[6].map(function(p){return new Handle(p.value);}),!v[7]?null:new IFC4X3.IfcLabel(v[7].value),!v[8]?null:new IFC4X3.IfcLabel(v[8].value),v[9]);},525669439:function _(id,v){return new IFC4X3.IfcMarineFacility(id,new IFC4X3.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4X3.IfcLabel(v[2].value),!v[3]?null:new IFC4X3.IfcText(v[3].value),!v[4]?null:new IFC4X3.IfcLabel(v[4].value),!v[5]?null:new Handle(v[5].value),!v[6]?null:new Handle(v[6].value),!v[7]?null:new IFC4X3.IfcLabel(v[7].value),v[8],v[9]);},976884017:function _(id,v){return new IFC4X3.IfcMarinePart(id,new IFC4X3.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4X3.IfcLabel(v[2].value),!v[3]?null:new IFC4X3.IfcText(v[3].value),!v[4]?null:new IFC4X3.IfcLabel(v[4].value),!v[5]?null:new Handle(v[5].value),!v[6]?null:new Handle(v[6].value),!v[7]?null:new IFC4X3.IfcLabel(v[7].value),v[8],v[9],v[10]);},377706215:function _(id,v){return new IFC4X3.IfcMechanicalFastener(id,new IFC4X3.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4X3.IfcLabel(v[2].value),!v[3]?null:new IFC4X3.IfcText(v[3].value),!v[4]?null:new IFC4X3.IfcLabel(v[4].value),!v[5]?null:new Handle(v[5].value),!v[6]?null:new Handle(v[6].value),!v[7]?null:new IFC4X3.IfcIdentifier(v[7].value),!v[8]?null:new IFC4X3.IfcPositiveLengthMeasure(v[8].value),!v[9]?null:new IFC4X3.IfcPositiveLengthMeasure(v[9].value),v[10]);},2108223431:function _(id,v){return new IFC4X3.IfcMechanicalFastenerType(id,new IFC4X3.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4X3.IfcLabel(v[2].value),!v[3]?null:new IFC4X3.IfcText(v[3].value),!v[4]?null:new IFC4X3.IfcIdentifier(v[4].value),!v[5]?null:v[5].map(function(p){return new Handle(p.value);}),!v[6]?null:v[6].map(function(p){return new Handle(p.value);}),!v[7]?null:new IFC4X3.IfcLabel(v[7].value),!v[8]?null:new IFC4X3.IfcLabel(v[8].value),v[9],!v[10]?null:new IFC4X3.IfcPositiveLengthMeasure(v[10].value),!v[11]?null:new IFC4X3.IfcPositiveLengthMeasure(v[11].value));},1114901282:function _(id,v){return new IFC4X3.IfcMedicalDeviceType(id,new IFC4X3.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4X3.IfcLabel(v[2].value),!v[3]?null:new IFC4X3.IfcText(v[3].value),!v[4]?null:new IFC4X3.IfcIdentifier(v[4].value),!v[5]?null:v[5].map(function(p){return new Handle(p.value);}),!v[6]?null:v[6].map(function(p){return new Handle(p.value);}),!v[7]?null:new IFC4X3.IfcLabel(v[7].value),!v[8]?null:new IFC4X3.IfcLabel(v[8].value),v[9]);},3181161470:function _(id,v){return new IFC4X3.IfcMemberType(id,new IFC4X3.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4X3.IfcLabel(v[2].value),!v[3]?null:new IFC4X3.IfcText(v[3].value),!v[4]?null:new IFC4X3.IfcIdentifier(v[4].value),!v[5]?null:v[5].map(function(p){return new Handle(p.value);}),!v[6]?null:v[6].map(function(p){return new Handle(p.value);}),!v[7]?null:new IFC4X3.IfcLabel(v[7].value),!v[8]?null:new IFC4X3.IfcLabel(v[8].value),v[9]);},1950438474:function _(id,v){return new IFC4X3.IfcMobileTelecommunicationsApplianceType(id,new IFC4X3.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4X3.IfcLabel(v[2].value),!v[3]?null:new IFC4X3.IfcText(v[3].value),!v[4]?null:new IFC4X3.IfcIdentifier(v[4].value),!v[5]?null:v[5].map(function(p){return new Handle(p.value);}),!v[6]?null:v[6].map(function(p){return new Handle(p.value);}),!v[7]?null:new IFC4X3.IfcLabel(v[7].value),!v[8]?null:new IFC4X3.IfcLabel(v[8].value),v[9]);},710110818:function _(id,v){return new IFC4X3.IfcMooringDeviceType(id,new IFC4X3.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4X3.IfcLabel(v[2].value),!v[3]?null:new IFC4X3.IfcText(v[3].value),!v[4]?null:new IFC4X3.IfcIdentifier(v[4].value),!v[5]?null:v[5].map(function(p){return new Handle(p.value);}),!v[6]?null:v[6].map(function(p){return new Handle(p.value);}),!v[7]?null:new IFC4X3.IfcLabel(v[7].value),!v[8]?null:new IFC4X3.IfcLabel(v[8].value),v[9]);},977012517:function _(id,v){return new IFC4X3.IfcMotorConnectionType(id,new IFC4X3.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4X3.IfcLabel(v[2].value),!v[3]?null:new IFC4X3.IfcText(v[3].value),!v[4]?null:new IFC4X3.IfcIdentifier(v[4].value),!v[5]?null:v[5].map(function(p){return new Handle(p.value);}),!v[6]?null:v[6].map(function(p){return new Handle(p.value);}),!v[7]?null:new IFC4X3.IfcLabel(v[7].value),!v[8]?null:new IFC4X3.IfcLabel(v[8].value),v[9]);},506776471:function _(id,v){return new IFC4X3.IfcNavigationElementType(id,new IFC4X3.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4X3.IfcLabel(v[2].value),!v[3]?null:new IFC4X3.IfcText(v[3].value),!v[4]?null:new IFC4X3.IfcIdentifier(v[4].value),!v[5]?null:v[5].map(function(p){return new Handle(p.value);}),!v[6]?null:v[6].map(function(p){return new Handle(p.value);}),!v[7]?null:new IFC4X3.IfcLabel(v[7].value),!v[8]?null:new IFC4X3.IfcLabel(v[8].value),v[9]);},4143007308:function _(id,v){return new IFC4X3.IfcOccupant(id,new IFC4X3.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4X3.IfcLabel(v[2].value),!v[3]?null:new IFC4X3.IfcText(v[3].value),!v[4]?null:new IFC4X3.IfcLabel(v[4].value),new Handle(v[5].value),v[6]);},3588315303:function _(id,v){return new IFC4X3.IfcOpeningElement(id,new IFC4X3.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4X3.IfcLabel(v[2].value),!v[3]?null:new IFC4X3.IfcText(v[3].value),!v[4]?null:new IFC4X3.IfcLabel(v[4].value),!v[5]?null:new Handle(v[5].value),!v[6]?null:new Handle(v[6].value),!v[7]?null:new IFC4X3.IfcIdentifier(v[7].value),v[8]);},2837617999:function _(id,v){return new IFC4X3.IfcOutletType(id,new IFC4X3.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4X3.IfcLabel(v[2].value),!v[3]?null:new IFC4X3.IfcText(v[3].value),!v[4]?null:new IFC4X3.IfcIdentifier(v[4].value),!v[5]?null:v[5].map(function(p){return new Handle(p.value);}),!v[6]?null:v[6].map(function(p){return new Handle(p.value);}),!v[7]?null:new IFC4X3.IfcLabel(v[7].value),!v[8]?null:new IFC4X3.IfcLabel(v[8].value),v[9]);},514975943:function _(id,v){return new IFC4X3.IfcPavementType(id,new IFC4X3.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4X3.IfcLabel(v[2].value),!v[3]?null:new IFC4X3.IfcText(v[3].value),!v[4]?null:new IFC4X3.IfcIdentifier(v[4].value),!v[5]?null:v[5].map(function(p){return new Handle(p.value);}),!v[6]?null:v[6].map(function(p){return new Handle(p.value);}),!v[7]?null:new IFC4X3.IfcLabel(v[7].value),!v[8]?null:new IFC4X3.IfcLabel(v[8].value),v[9]);},2382730787:function _(id,v){return new IFC4X3.IfcPerformanceHistory(id,new IFC4X3.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4X3.IfcLabel(v[2].value),!v[3]?null:new IFC4X3.IfcText(v[3].value),!v[4]?null:new IFC4X3.IfcLabel(v[4].value),!v[5]?null:new IFC4X3.IfcIdentifier(v[5].value),new IFC4X3.IfcLabel(v[6].value),v[7]);},3566463478:function _(id,v){return new IFC4X3.IfcPermeableCoveringProperties(id,new IFC4X3.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4X3.IfcLabel(v[2].value),!v[3]?null:new IFC4X3.IfcText(v[3].value),v[4],v[5],!v[6]?null:new IFC4X3.IfcPositiveLengthMeasure(v[6].value),!v[7]?null:new IFC4X3.IfcPositiveLengthMeasure(v[7].value),!v[8]?null:new Handle(v[8].value));},3327091369:function _(id,v){return new IFC4X3.IfcPermit(id,new IFC4X3.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4X3.IfcLabel(v[2].value),!v[3]?null:new IFC4X3.IfcText(v[3].value),!v[4]?null:new IFC4X3.IfcLabel(v[4].value),!v[5]?null:new IFC4X3.IfcIdentifier(v[5].value),v[6],!v[7]?null:new IFC4X3.IfcLabel(v[7].value),!v[8]?null:new IFC4X3.IfcText(v[8].value));},1158309216:function _(id,v){return new IFC4X3.IfcPileType(id,new IFC4X3.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4X3.IfcLabel(v[2].value),!v[3]?null:new IFC4X3.IfcText(v[3].value),!v[4]?null:new IFC4X3.IfcIdentifier(v[4].value),!v[5]?null:v[5].map(function(p){return new Handle(p.value);}),!v[6]?null:v[6].map(function(p){return new Handle(p.value);}),!v[7]?null:new IFC4X3.IfcLabel(v[7].value),!v[8]?null:new IFC4X3.IfcLabel(v[8].value),v[9]);},804291784:function _(id,v){return new IFC4X3.IfcPipeFittingType(id,new IFC4X3.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4X3.IfcLabel(v[2].value),!v[3]?null:new IFC4X3.IfcText(v[3].value),!v[4]?null:new IFC4X3.IfcIdentifier(v[4].value),!v[5]?null:v[5].map(function(p){return new Handle(p.value);}),!v[6]?null:v[6].map(function(p){return new Handle(p.value);}),!v[7]?null:new IFC4X3.IfcLabel(v[7].value),!v[8]?null:new IFC4X3.IfcLabel(v[8].value),v[9]);},4231323485:function _(id,v){return new IFC4X3.IfcPipeSegmentType(id,new IFC4X3.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4X3.IfcLabel(v[2].value),!v[3]?null:new IFC4X3.IfcText(v[3].value),!v[4]?null:new IFC4X3.IfcIdentifier(v[4].value),!v[5]?null:v[5].map(function(p){return new Handle(p.value);}),!v[6]?null:v[6].map(function(p){return new Handle(p.value);}),!v[7]?null:new IFC4X3.IfcLabel(v[7].value),!v[8]?null:new IFC4X3.IfcLabel(v[8].value),v[9]);},4017108033:function _(id,v){return new IFC4X3.IfcPlateType(id,new IFC4X3.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4X3.IfcLabel(v[2].value),!v[3]?null:new IFC4X3.IfcText(v[3].value),!v[4]?null:new IFC4X3.IfcIdentifier(v[4].value),!v[5]?null:v[5].map(function(p){return new Handle(p.value);}),!v[6]?null:v[6].map(function(p){return new Handle(p.value);}),!v[7]?null:new IFC4X3.IfcLabel(v[7].value),!v[8]?null:new IFC4X3.IfcLabel(v[8].value),v[9]);},2839578677:function _(id,v){return new IFC4X3.IfcPolygonalFaceSet(id,new Handle(v[0].value),!v[1]?null:new IFC4X3.IfcBoolean(v[1].value),v[2].map(function(p){return new Handle(p.value);}),!v[3]?null:v[3].map(function(p){return new IFC4X3.IfcPositiveInteger(p.value);}));},3724593414:function _(id,v){return new IFC4X3.IfcPolyline(id,v[0].map(function(p){return new Handle(p.value);}));},3740093272:function _(id,v){return new IFC4X3.IfcPort(id,new IFC4X3.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4X3.IfcLabel(v[2].value),!v[3]?null:new IFC4X3.IfcText(v[3].value),!v[4]?null:new IFC4X3.IfcLabel(v[4].value),!v[5]?null:new Handle(v[5].value),!v[6]?null:new Handle(v[6].value));},1946335990:function _(id,v){return new IFC4X3.IfcPositioningElement(id,new IFC4X3.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4X3.IfcLabel(v[2].value),!v[3]?null:new IFC4X3.IfcText(v[3].value),!v[4]?null:new IFC4X3.IfcLabel(v[4].value),!v[5]?null:new Handle(v[5].value),!v[6]?null:new Handle(v[6].value));},2744685151:function _(id,v){return new IFC4X3.IfcProcedure(id,new IFC4X3.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4X3.IfcLabel(v[2].value),!v[3]?null:new IFC4X3.IfcText(v[3].value),!v[4]?null:new IFC4X3.IfcLabel(v[4].value),!v[5]?null:new IFC4X3.IfcIdentifier(v[5].value),!v[6]?null:new IFC4X3.IfcText(v[6].value),v[7]);},2904328755:function _(id,v){return new IFC4X3.IfcProjectOrder(id,new IFC4X3.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4X3.IfcLabel(v[2].value),!v[3]?null:new IFC4X3.IfcText(v[3].value),!v[4]?null:new IFC4X3.IfcLabel(v[4].value),!v[5]?null:new IFC4X3.IfcIdentifier(v[5].value),v[6],!v[7]?null:new IFC4X3.IfcLabel(v[7].value),!v[8]?null:new IFC4X3.IfcText(v[8].value));},3651124850:function _(id,v){return new IFC4X3.IfcProjectionElement(id,new IFC4X3.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4X3.IfcLabel(v[2].value),!v[3]?null:new IFC4X3.IfcText(v[3].value),!v[4]?null:new IFC4X3.IfcLabel(v[4].value),!v[5]?null:new Handle(v[5].value),!v[6]?null:new Handle(v[6].value),!v[7]?null:new IFC4X3.IfcIdentifier(v[7].value),v[8]);},1842657554:function _(id,v){return new IFC4X3.IfcProtectiveDeviceType(id,new IFC4X3.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4X3.IfcLabel(v[2].value),!v[3]?null:new IFC4X3.IfcText(v[3].value),!v[4]?null:new IFC4X3.IfcIdentifier(v[4].value),!v[5]?null:v[5].map(function(p){return new Handle(p.value);}),!v[6]?null:v[6].map(function(p){return new Handle(p.value);}),!v[7]?null:new IFC4X3.IfcLabel(v[7].value),!v[8]?null:new IFC4X3.IfcLabel(v[8].value),v[9]);},2250791053:function _(id,v){return new IFC4X3.IfcPumpType(id,new IFC4X3.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4X3.IfcLabel(v[2].value),!v[3]?null:new IFC4X3.IfcText(v[3].value),!v[4]?null:new IFC4X3.IfcIdentifier(v[4].value),!v[5]?null:v[5].map(function(p){return new Handle(p.value);}),!v[6]?null:v[6].map(function(p){return new Handle(p.value);}),!v[7]?null:new IFC4X3.IfcLabel(v[7].value),!v[8]?null:new IFC4X3.IfcLabel(v[8].value),v[9]);},1763565496:function _(id,v){return new IFC4X3.IfcRailType(id,new IFC4X3.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4X3.IfcLabel(v[2].value),!v[3]?null:new IFC4X3.IfcText(v[3].value),!v[4]?null:new IFC4X3.IfcIdentifier(v[4].value),!v[5]?null:v[5].map(function(p){return new Handle(p.value);}),!v[6]?null:v[6].map(function(p){return new Handle(p.value);}),!v[7]?null:new IFC4X3.IfcLabel(v[7].value),!v[8]?null:new IFC4X3.IfcLabel(v[8].value),v[9]);},2893384427:function _(id,v){return new IFC4X3.IfcRailingType(id,new IFC4X3.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4X3.IfcLabel(v[2].value),!v[3]?null:new IFC4X3.IfcText(v[3].value),!v[4]?null:new IFC4X3.IfcIdentifier(v[4].value),!v[5]?null:v[5].map(function(p){return new Handle(p.value);}),!v[6]?null:v[6].map(function(p){return new Handle(p.value);}),!v[7]?null:new IFC4X3.IfcLabel(v[7].value),!v[8]?null:new IFC4X3.IfcLabel(v[8].value),v[9]);},3992365140:function _(id,v){return new IFC4X3.IfcRailway(id,new IFC4X3.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4X3.IfcLabel(v[2].value),!v[3]?null:new IFC4X3.IfcText(v[3].value),!v[4]?null:new IFC4X3.IfcLabel(v[4].value),!v[5]?null:new Handle(v[5].value),!v[6]?null:new Handle(v[6].value),!v[7]?null:new IFC4X3.IfcLabel(v[7].value),v[8],v[9]);},1891881377:function _(id,v){return new IFC4X3.IfcRailwayPart(id,new IFC4X3.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4X3.IfcLabel(v[2].value),!v[3]?null:new IFC4X3.IfcText(v[3].value),!v[4]?null:new IFC4X3.IfcLabel(v[4].value),!v[5]?null:new Handle(v[5].value),!v[6]?null:new Handle(v[6].value),!v[7]?null:new IFC4X3.IfcLabel(v[7].value),v[8],v[9],v[10]);},2324767716:function _(id,v){return new IFC4X3.IfcRampFlightType(id,new IFC4X3.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4X3.IfcLabel(v[2].value),!v[3]?null:new IFC4X3.IfcText(v[3].value),!v[4]?null:new IFC4X3.IfcIdentifier(v[4].value),!v[5]?null:v[5].map(function(p){return new Handle(p.value);}),!v[6]?null:v[6].map(function(p){return new Handle(p.value);}),!v[7]?null:new IFC4X3.IfcLabel(v[7].value),!v[8]?null:new IFC4X3.IfcLabel(v[8].value),v[9]);},1469900589:function _(id,v){return new IFC4X3.IfcRampType(id,new IFC4X3.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4X3.IfcLabel(v[2].value),!v[3]?null:new IFC4X3.IfcText(v[3].value),!v[4]?null:new IFC4X3.IfcIdentifier(v[4].value),!v[5]?null:v[5].map(function(p){return new Handle(p.value);}),!v[6]?null:v[6].map(function(p){return new Handle(p.value);}),!v[7]?null:new IFC4X3.IfcLabel(v[7].value),!v[8]?null:new IFC4X3.IfcLabel(v[8].value),v[9]);},683857671:function _(id,v){return new IFC4X3.IfcRationalBSplineSurfaceWithKnots(id,new IFC4X3.IfcInteger(v[0].value),new IFC4X3.IfcInteger(v[1].value),v[2].map(function(p){return new Handle(p.value);}),v[3],new IFC4X3.IfcLogical(v[4].value),new IFC4X3.IfcLogical(v[5].value),new IFC4X3.IfcLogical(v[6].value),v[7].map(function(p){return new IFC4X3.IfcInteger(p.value);}),v[8].map(function(p){return new IFC4X3.IfcInteger(p.value);}),v[9].map(function(p){return new IFC4X3.IfcParameterValue(p.value);}),v[10].map(function(p){return new IFC4X3.IfcParameterValue(p.value);}),v[11],v[12].map(function(p){return new IFC4X3.IfcReal(p.value);}));},4021432810:function _(id,v){return new IFC4X3.IfcReferent(id,new IFC4X3.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4X3.IfcLabel(v[2].value),!v[3]?null:new IFC4X3.IfcText(v[3].value),!v[4]?null:new IFC4X3.IfcLabel(v[4].value),!v[5]?null:new Handle(v[5].value),!v[6]?null:new Handle(v[6].value),v[7]);},3027567501:function _(id,v){return new IFC4X3.IfcReinforcingElement(id,new IFC4X3.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4X3.IfcLabel(v[2].value),!v[3]?null:new IFC4X3.IfcText(v[3].value),!v[4]?null:new IFC4X3.IfcLabel(v[4].value),!v[5]?null:new Handle(v[5].value),!v[6]?null:new Handle(v[6].value),!v[7]?null:new IFC4X3.IfcIdentifier(v[7].value),!v[8]?null:new IFC4X3.IfcLabel(v[8].value));},964333572:function _(id,v){return new IFC4X3.IfcReinforcingElementType(id,new IFC4X3.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4X3.IfcLabel(v[2].value),!v[3]?null:new IFC4X3.IfcText(v[3].value),!v[4]?null:new IFC4X3.IfcIdentifier(v[4].value),!v[5]?null:v[5].map(function(p){return new Handle(p.value);}),!v[6]?null:v[6].map(function(p){return new Handle(p.value);}),!v[7]?null:new IFC4X3.IfcLabel(v[7].value),!v[8]?null:new IFC4X3.IfcLabel(v[8].value));},2320036040:function _(id,v){return new IFC4X3.IfcReinforcingMesh(id,new IFC4X3.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4X3.IfcLabel(v[2].value),!v[3]?null:new IFC4X3.IfcText(v[3].value),!v[4]?null:new IFC4X3.IfcLabel(v[4].value),!v[5]?null:new Handle(v[5].value),!v[6]?null:new Handle(v[6].value),!v[7]?null:new IFC4X3.IfcIdentifier(v[7].value),!v[8]?null:new IFC4X3.IfcLabel(v[8].value),!v[9]?null:new IFC4X3.IfcPositiveLengthMeasure(v[9].value),!v[10]?null:new IFC4X3.IfcPositiveLengthMeasure(v[10].value),!v[11]?null:new IFC4X3.IfcPositiveLengthMeasure(v[11].value),!v[12]?null:new IFC4X3.IfcPositiveLengthMeasure(v[12].value),!v[13]?null:new IFC4X3.IfcAreaMeasure(v[13].value),!v[14]?null:new IFC4X3.IfcAreaMeasure(v[14].value),!v[15]?null:new IFC4X3.IfcPositiveLengthMeasure(v[15].value),!v[16]?null:new IFC4X3.IfcPositiveLengthMeasure(v[16].value),v[17]);},2310774935:function _(id,v){return new IFC4X3.IfcReinforcingMeshType(id,new IFC4X3.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4X3.IfcLabel(v[2].value),!v[3]?null:new IFC4X3.IfcText(v[3].value),!v[4]?null:new IFC4X3.IfcIdentifier(v[4].value),!v[5]?null:v[5].map(function(p){return new Handle(p.value);}),!v[6]?null:v[6].map(function(p){return new Handle(p.value);}),!v[7]?null:new IFC4X3.IfcLabel(v[7].value),!v[8]?null:new IFC4X3.IfcLabel(v[8].value),v[9],!v[10]?null:new IFC4X3.IfcPositiveLengthMeasure(v[10].value),!v[11]?null:new IFC4X3.IfcPositiveLengthMeasure(v[11].value),!v[12]?null:new IFC4X3.IfcPositiveLengthMeasure(v[12].value),!v[13]?null:new IFC4X3.IfcPositiveLengthMeasure(v[13].value),!v[14]?null:new IFC4X3.IfcAreaMeasure(v[14].value),!v[15]?null:new IFC4X3.IfcAreaMeasure(v[15].value),!v[16]?null:new IFC4X3.IfcPositiveLengthMeasure(v[16].value),!v[17]?null:new IFC4X3.IfcPositiveLengthMeasure(v[17].value),!v[18]?null:new IFC4X3.IfcLabel(v[18].value),!v[19]?null:v[19].map(function(p){return TypeInitialiser(3,p);}));},3818125796:function _(id,v){return new IFC4X3.IfcRelAdheresToElement(id,new IFC4X3.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4X3.IfcLabel(v[2].value),!v[3]?null:new IFC4X3.IfcText(v[3].value),new Handle(v[4].value),v[5].map(function(p){return new Handle(p.value);}));},160246688:function _(id,v){return new IFC4X3.IfcRelAggregates(id,new IFC4X3.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4X3.IfcLabel(v[2].value),!v[3]?null:new IFC4X3.IfcText(v[3].value),new Handle(v[4].value),v[5].map(function(p){return new Handle(p.value);}));},146592293:function _(id,v){return new IFC4X3.IfcRoad(id,new IFC4X3.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4X3.IfcLabel(v[2].value),!v[3]?null:new IFC4X3.IfcText(v[3].value),!v[4]?null:new IFC4X3.IfcLabel(v[4].value),!v[5]?null:new Handle(v[5].value),!v[6]?null:new Handle(v[6].value),!v[7]?null:new IFC4X3.IfcLabel(v[7].value),v[8],v[9]);},550521510:function _(id,v){return new IFC4X3.IfcRoadPart(id,new IFC4X3.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4X3.IfcLabel(v[2].value),!v[3]?null:new IFC4X3.IfcText(v[3].value),!v[4]?null:new IFC4X3.IfcLabel(v[4].value),!v[5]?null:new Handle(v[5].value),!v[6]?null:new Handle(v[6].value),!v[7]?null:new IFC4X3.IfcLabel(v[7].value),v[8],v[9],v[10]);},2781568857:function _(id,v){return new IFC4X3.IfcRoofType(id,new IFC4X3.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4X3.IfcLabel(v[2].value),!v[3]?null:new IFC4X3.IfcText(v[3].value),!v[4]?null:new IFC4X3.IfcIdentifier(v[4].value),!v[5]?null:v[5].map(function(p){return new Handle(p.value);}),!v[6]?null:v[6].map(function(p){return new Handle(p.value);}),!v[7]?null:new IFC4X3.IfcLabel(v[7].value),!v[8]?null:new IFC4X3.IfcLabel(v[8].value),v[9]);},1768891740:function _(id,v){return new IFC4X3.IfcSanitaryTerminalType(id,new IFC4X3.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4X3.IfcLabel(v[2].value),!v[3]?null:new IFC4X3.IfcText(v[3].value),!v[4]?null:new IFC4X3.IfcIdentifier(v[4].value),!v[5]?null:v[5].map(function(p){return new Handle(p.value);}),!v[6]?null:v[6].map(function(p){return new Handle(p.value);}),!v[7]?null:new IFC4X3.IfcLabel(v[7].value),!v[8]?null:new IFC4X3.IfcLabel(v[8].value),v[9]);},2157484638:function _(id,v){return new IFC4X3.IfcSeamCurve(id,new Handle(v[0].value),v[1].map(function(p){return new Handle(p.value);}),v[2]);},3649235739:function _(id,v){return new IFC4X3.IfcSecondOrderPolynomialSpiral(id,!v[0]?null:new Handle(v[0].value),new IFC4X3.IfcLengthMeasure(v[1].value),!v[2]?null:new IFC4X3.IfcLengthMeasure(v[2].value),!v[3]?null:new IFC4X3.IfcLengthMeasure(v[3].value));},544395925:function _(id,v){return new IFC4X3.IfcSegmentedReferenceCurve(id,v[0].map(function(p){return new Handle(p.value);}),new IFC4X3.IfcLogical(v[1].value),new Handle(v[2].value),!v[3]?null:new Handle(v[3].value));},1027922057:function _(id,v){return new IFC4X3.IfcSeventhOrderPolynomialSpiral(id,!v[0]?null:new Handle(v[0].value),new IFC4X3.IfcLengthMeasure(v[1].value),!v[2]?null:new IFC4X3.IfcLengthMeasure(v[2].value),!v[3]?null:new IFC4X3.IfcLengthMeasure(v[3].value),!v[4]?null:new IFC4X3.IfcLengthMeasure(v[4].value),!v[5]?null:new IFC4X3.IfcLengthMeasure(v[5].value),!v[6]?null:new IFC4X3.IfcLengthMeasure(v[6].value),!v[7]?null:new IFC4X3.IfcLengthMeasure(v[7].value),!v[8]?null:new IFC4X3.IfcLengthMeasure(v[8].value));},4074543187:function _(id,v){return new IFC4X3.IfcShadingDeviceType(id,new IFC4X3.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4X3.IfcLabel(v[2].value),!v[3]?null:new IFC4X3.IfcText(v[3].value),!v[4]?null:new IFC4X3.IfcIdentifier(v[4].value),!v[5]?null:v[5].map(function(p){return new Handle(p.value);}),!v[6]?null:v[6].map(function(p){return new Handle(p.value);}),!v[7]?null:new IFC4X3.IfcLabel(v[7].value),!v[8]?null:new IFC4X3.IfcLabel(v[8].value),v[9]);},33720170:function _(id,v){return new IFC4X3.IfcSign(id,new IFC4X3.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4X3.IfcLabel(v[2].value),!v[3]?null:new IFC4X3.IfcText(v[3].value),!v[4]?null:new IFC4X3.IfcLabel(v[4].value),!v[5]?null:new Handle(v[5].value),!v[6]?null:new Handle(v[6].value),!v[7]?null:new IFC4X3.IfcIdentifier(v[7].value),v[8]);},3599934289:function _(id,v){return new IFC4X3.IfcSignType(id,new IFC4X3.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4X3.IfcLabel(v[2].value),!v[3]?null:new IFC4X3.IfcText(v[3].value),!v[4]?null:new IFC4X3.IfcIdentifier(v[4].value),!v[5]?null:v[5].map(function(p){return new Handle(p.value);}),!v[6]?null:v[6].map(function(p){return new Handle(p.value);}),!v[7]?null:new IFC4X3.IfcLabel(v[7].value),!v[8]?null:new IFC4X3.IfcLabel(v[8].value),v[9]);},1894708472:function _(id,v){return new IFC4X3.IfcSignalType(id,new IFC4X3.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4X3.IfcLabel(v[2].value),!v[3]?null:new IFC4X3.IfcText(v[3].value),!v[4]?null:new IFC4X3.IfcIdentifier(v[4].value),!v[5]?null:v[5].map(function(p){return new Handle(p.value);}),!v[6]?null:v[6].map(function(p){return new Handle(p.value);}),!v[7]?null:new IFC4X3.IfcLabel(v[7].value),!v[8]?null:new IFC4X3.IfcLabel(v[8].value),v[9]);},42703149:function _(id,v){return new IFC4X3.IfcSineSpiral(id,!v[0]?null:new Handle(v[0].value),new IFC4X3.IfcLengthMeasure(v[1].value),!v[2]?null:new IFC4X3.IfcLengthMeasure(v[2].value),!v[3]?null:new IFC4X3.IfcLengthMeasure(v[3].value));},4097777520:function _(id,v){return new IFC4X3.IfcSite(id,new IFC4X3.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4X3.IfcLabel(v[2].value),!v[3]?null:new IFC4X3.IfcText(v[3].value),!v[4]?null:new IFC4X3.IfcLabel(v[4].value),!v[5]?null:new Handle(v[5].value),!v[6]?null:new Handle(v[6].value),!v[7]?null:new IFC4X3.IfcLabel(v[7].value),v[8],!v[9]?null:new IFC4X3.IfcCompoundPlaneAngleMeasure(v[9]),!v[10]?null:new IFC4X3.IfcCompoundPlaneAngleMeasure(v[10]),!v[11]?null:new IFC4X3.IfcLengthMeasure(v[11].value),!v[12]?null:new IFC4X3.IfcLabel(v[12].value),!v[13]?null:new Handle(v[13].value));},2533589738:function _(id,v){return new IFC4X3.IfcSlabType(id,new IFC4X3.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4X3.IfcLabel(v[2].value),!v[3]?null:new IFC4X3.IfcText(v[3].value),!v[4]?null:new IFC4X3.IfcIdentifier(v[4].value),!v[5]?null:v[5].map(function(p){return new Handle(p.value);}),!v[6]?null:v[6].map(function(p){return new Handle(p.value);}),!v[7]?null:new IFC4X3.IfcLabel(v[7].value),!v[8]?null:new IFC4X3.IfcLabel(v[8].value),v[9]);},1072016465:function _(id,v){return new IFC4X3.IfcSolarDeviceType(id,new IFC4X3.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4X3.IfcLabel(v[2].value),!v[3]?null:new IFC4X3.IfcText(v[3].value),!v[4]?null:new IFC4X3.IfcIdentifier(v[4].value),!v[5]?null:v[5].map(function(p){return new Handle(p.value);}),!v[6]?null:v[6].map(function(p){return new Handle(p.value);}),!v[7]?null:new IFC4X3.IfcLabel(v[7].value),!v[8]?null:new IFC4X3.IfcLabel(v[8].value),v[9]);},3856911033:function _(id,v){return new IFC4X3.IfcSpace(id,new IFC4X3.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4X3.IfcLabel(v[2].value),!v[3]?null:new IFC4X3.IfcText(v[3].value),!v[4]?null:new IFC4X3.IfcLabel(v[4].value),!v[5]?null:new Handle(v[5].value),!v[6]?null:new Handle(v[6].value),!v[7]?null:new IFC4X3.IfcLabel(v[7].value),v[8],v[9],!v[10]?null:new IFC4X3.IfcLengthMeasure(v[10].value));},1305183839:function _(id,v){return new IFC4X3.IfcSpaceHeaterType(id,new IFC4X3.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4X3.IfcLabel(v[2].value),!v[3]?null:new IFC4X3.IfcText(v[3].value),!v[4]?null:new IFC4X3.IfcIdentifier(v[4].value),!v[5]?null:v[5].map(function(p){return new Handle(p.value);}),!v[6]?null:v[6].map(function(p){return new Handle(p.value);}),!v[7]?null:new IFC4X3.IfcLabel(v[7].value),!v[8]?null:new IFC4X3.IfcLabel(v[8].value),v[9]);},3812236995:function _(id,v){return new IFC4X3.IfcSpaceType(id,new IFC4X3.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4X3.IfcLabel(v[2].value),!v[3]?null:new IFC4X3.IfcText(v[3].value),!v[4]?null:new IFC4X3.IfcIdentifier(v[4].value),!v[5]?null:v[5].map(function(p){return new Handle(p.value);}),!v[6]?null:v[6].map(function(p){return new Handle(p.value);}),!v[7]?null:new IFC4X3.IfcLabel(v[7].value),!v[8]?null:new IFC4X3.IfcLabel(v[8].value),v[9],!v[10]?null:new IFC4X3.IfcLabel(v[10].value));},3112655638:function _(id,v){return new IFC4X3.IfcStackTerminalType(id,new IFC4X3.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4X3.IfcLabel(v[2].value),!v[3]?null:new IFC4X3.IfcText(v[3].value),!v[4]?null:new IFC4X3.IfcIdentifier(v[4].value),!v[5]?null:v[5].map(function(p){return new Handle(p.value);}),!v[6]?null:v[6].map(function(p){return new Handle(p.value);}),!v[7]?null:new IFC4X3.IfcLabel(v[7].value),!v[8]?null:new IFC4X3.IfcLabel(v[8].value),v[9]);},1039846685:function _(id,v){return new IFC4X3.IfcStairFlightType(id,new IFC4X3.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4X3.IfcLabel(v[2].value),!v[3]?null:new IFC4X3.IfcText(v[3].value),!v[4]?null:new IFC4X3.IfcIdentifier(v[4].value),!v[5]?null:v[5].map(function(p){return new Handle(p.value);}),!v[6]?null:v[6].map(function(p){return new Handle(p.value);}),!v[7]?null:new IFC4X3.IfcLabel(v[7].value),!v[8]?null:new IFC4X3.IfcLabel(v[8].value),v[9]);},338393293:function _(id,v){return new IFC4X3.IfcStairType(id,new IFC4X3.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4X3.IfcLabel(v[2].value),!v[3]?null:new IFC4X3.IfcText(v[3].value),!v[4]?null:new IFC4X3.IfcIdentifier(v[4].value),!v[5]?null:v[5].map(function(p){return new Handle(p.value);}),!v[6]?null:v[6].map(function(p){return new Handle(p.value);}),!v[7]?null:new IFC4X3.IfcLabel(v[7].value),!v[8]?null:new IFC4X3.IfcLabel(v[8].value),v[9]);},682877961:function _(id,v){return new IFC4X3.IfcStructuralAction(id,new IFC4X3.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4X3.IfcLabel(v[2].value),!v[3]?null:new IFC4X3.IfcText(v[3].value),!v[4]?null:new IFC4X3.IfcLabel(v[4].value),!v[5]?null:new Handle(v[5].value),!v[6]?null:new Handle(v[6].value),new Handle(v[7].value),v[8],!v[9]?null:new IFC4X3.IfcBoolean(v[9].value));},1179482911:function _(id,v){return new IFC4X3.IfcStructuralConnection(id,new IFC4X3.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4X3.IfcLabel(v[2].value),!v[3]?null:new IFC4X3.IfcText(v[3].value),!v[4]?null:new IFC4X3.IfcLabel(v[4].value),!v[5]?null:new Handle(v[5].value),!v[6]?null:new Handle(v[6].value),!v[7]?null:new Handle(v[7].value));},1004757350:function _(id,v){return new IFC4X3.IfcStructuralCurveAction(id,new IFC4X3.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4X3.IfcLabel(v[2].value),!v[3]?null:new IFC4X3.IfcText(v[3].value),!v[4]?null:new IFC4X3.IfcLabel(v[4].value),!v[5]?null:new Handle(v[5].value),!v[6]?null:new Handle(v[6].value),new Handle(v[7].value),v[8],!v[9]?null:new IFC4X3.IfcBoolean(v[9].value),v[10],v[11]);},4243806635:function _(id,v){return new IFC4X3.IfcStructuralCurveConnection(id,new IFC4X3.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4X3.IfcLabel(v[2].value),!v[3]?null:new IFC4X3.IfcText(v[3].value),!v[4]?null:new IFC4X3.IfcLabel(v[4].value),!v[5]?null:new Handle(v[5].value),!v[6]?null:new Handle(v[6].value),!v[7]?null:new Handle(v[7].value),new Handle(v[8].value));},214636428:function _(id,v){return new IFC4X3.IfcStructuralCurveMember(id,new IFC4X3.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4X3.IfcLabel(v[2].value),!v[3]?null:new IFC4X3.IfcText(v[3].value),!v[4]?null:new IFC4X3.IfcLabel(v[4].value),!v[5]?null:new Handle(v[5].value),!v[6]?null:new Handle(v[6].value),v[7],new Handle(v[8].value));},2445595289:function _(id,v){return new IFC4X3.IfcStructuralCurveMemberVarying(id,new IFC4X3.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4X3.IfcLabel(v[2].value),!v[3]?null:new IFC4X3.IfcText(v[3].value),!v[4]?null:new IFC4X3.IfcLabel(v[4].value),!v[5]?null:new Handle(v[5].value),!v[6]?null:new Handle(v[6].value),v[7],new Handle(v[8].value));},2757150158:function _(id,v){return new IFC4X3.IfcStructuralCurveReaction(id,new IFC4X3.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4X3.IfcLabel(v[2].value),!v[3]?null:new IFC4X3.IfcText(v[3].value),!v[4]?null:new IFC4X3.IfcLabel(v[4].value),!v[5]?null:new Handle(v[5].value),!v[6]?null:new Handle(v[6].value),new Handle(v[7].value),v[8],v[9]);},1807405624:function _(id,v){return new IFC4X3.IfcStructuralLinearAction(id,new IFC4X3.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4X3.IfcLabel(v[2].value),!v[3]?null:new IFC4X3.IfcText(v[3].value),!v[4]?null:new IFC4X3.IfcLabel(v[4].value),!v[5]?null:new Handle(v[5].value),!v[6]?null:new Handle(v[6].value),new Handle(v[7].value),v[8],!v[9]?null:new IFC4X3.IfcBoolean(v[9].value),v[10],v[11]);},1252848954:function _(id,v){return new IFC4X3.IfcStructuralLoadGroup(id,new IFC4X3.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4X3.IfcLabel(v[2].value),!v[3]?null:new IFC4X3.IfcText(v[3].value),!v[4]?null:new IFC4X3.IfcLabel(v[4].value),v[5],v[6],v[7],!v[8]?null:new IFC4X3.IfcRatioMeasure(v[8].value),!v[9]?null:new IFC4X3.IfcLabel(v[9].value));},2082059205:function _(id,v){return new IFC4X3.IfcStructuralPointAction(id,new IFC4X3.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4X3.IfcLabel(v[2].value),!v[3]?null:new IFC4X3.IfcText(v[3].value),!v[4]?null:new IFC4X3.IfcLabel(v[4].value),!v[5]?null:new Handle(v[5].value),!v[6]?null:new Handle(v[6].value),new Handle(v[7].value),v[8],!v[9]?null:new IFC4X3.IfcBoolean(v[9].value));},734778138:function _(id,v){return new IFC4X3.IfcStructuralPointConnection(id,new IFC4X3.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4X3.IfcLabel(v[2].value),!v[3]?null:new IFC4X3.IfcText(v[3].value),!v[4]?null:new IFC4X3.IfcLabel(v[4].value),!v[5]?null:new Handle(v[5].value),!v[6]?null:new Handle(v[6].value),!v[7]?null:new Handle(v[7].value),!v[8]?null:new Handle(v[8].value));},1235345126:function _(id,v){return new IFC4X3.IfcStructuralPointReaction(id,new IFC4X3.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4X3.IfcLabel(v[2].value),!v[3]?null:new IFC4X3.IfcText(v[3].value),!v[4]?null:new IFC4X3.IfcLabel(v[4].value),!v[5]?null:new Handle(v[5].value),!v[6]?null:new Handle(v[6].value),new Handle(v[7].value),v[8]);},2986769608:function _(id,v){return new IFC4X3.IfcStructuralResultGroup(id,new IFC4X3.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4X3.IfcLabel(v[2].value),!v[3]?null:new IFC4X3.IfcText(v[3].value),!v[4]?null:new IFC4X3.IfcLabel(v[4].value),v[5],!v[6]?null:new Handle(v[6].value),new IFC4X3.IfcBoolean(v[7].value));},3657597509:function _(id,v){return new IFC4X3.IfcStructuralSurfaceAction(id,new IFC4X3.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4X3.IfcLabel(v[2].value),!v[3]?null:new IFC4X3.IfcText(v[3].value),!v[4]?null:new IFC4X3.IfcLabel(v[4].value),!v[5]?null:new Handle(v[5].value),!v[6]?null:new Handle(v[6].value),new Handle(v[7].value),v[8],!v[9]?null:new IFC4X3.IfcBoolean(v[9].value),v[10],v[11]);},1975003073:function _(id,v){return new IFC4X3.IfcStructuralSurfaceConnection(id,new IFC4X3.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4X3.IfcLabel(v[2].value),!v[3]?null:new IFC4X3.IfcText(v[3].value),!v[4]?null:new IFC4X3.IfcLabel(v[4].value),!v[5]?null:new Handle(v[5].value),!v[6]?null:new Handle(v[6].value),!v[7]?null:new Handle(v[7].value));},148013059:function _(id,v){return new IFC4X3.IfcSubContractResource(id,new IFC4X3.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4X3.IfcLabel(v[2].value),!v[3]?null:new IFC4X3.IfcText(v[3].value),!v[4]?null:new IFC4X3.IfcLabel(v[4].value),!v[5]?null:new IFC4X3.IfcIdentifier(v[5].value),!v[6]?null:new IFC4X3.IfcText(v[6].value),!v[7]?null:new Handle(v[7].value),!v[8]?null:v[8].map(function(p){return new Handle(p.value);}),!v[9]?null:new Handle(v[9].value),v[10]);},3101698114:function _(id,v){return new IFC4X3.IfcSurfaceFeature(id,new IFC4X3.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4X3.IfcLabel(v[2].value),!v[3]?null:new IFC4X3.IfcText(v[3].value),!v[4]?null:new IFC4X3.IfcLabel(v[4].value),!v[5]?null:new Handle(v[5].value),!v[6]?null:new Handle(v[6].value),!v[7]?null:new IFC4X3.IfcIdentifier(v[7].value),v[8]);},2315554128:function _(id,v){return new IFC4X3.IfcSwitchingDeviceType(id,new IFC4X3.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4X3.IfcLabel(v[2].value),!v[3]?null:new IFC4X3.IfcText(v[3].value),!v[4]?null:new IFC4X3.IfcIdentifier(v[4].value),!v[5]?null:v[5].map(function(p){return new Handle(p.value);}),!v[6]?null:v[6].map(function(p){return new Handle(p.value);}),!v[7]?null:new IFC4X3.IfcLabel(v[7].value),!v[8]?null:new IFC4X3.IfcLabel(v[8].value),v[9]);},2254336722:function _(id,v){return new IFC4X3.IfcSystem(id,new IFC4X3.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4X3.IfcLabel(v[2].value),!v[3]?null:new IFC4X3.IfcText(v[3].value),!v[4]?null:new IFC4X3.IfcLabel(v[4].value));},413509423:function _(id,v){return new IFC4X3.IfcSystemFurnitureElement(id,new IFC4X3.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4X3.IfcLabel(v[2].value),!v[3]?null:new IFC4X3.IfcText(v[3].value),!v[4]?null:new IFC4X3.IfcLabel(v[4].value),!v[5]?null:new Handle(v[5].value),!v[6]?null:new Handle(v[6].value),!v[7]?null:new IFC4X3.IfcIdentifier(v[7].value),v[8]);},5716631:function _(id,v){return new IFC4X3.IfcTankType(id,new IFC4X3.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4X3.IfcLabel(v[2].value),!v[3]?null:new IFC4X3.IfcText(v[3].value),!v[4]?null:new IFC4X3.IfcIdentifier(v[4].value),!v[5]?null:v[5].map(function(p){return new Handle(p.value);}),!v[6]?null:v[6].map(function(p){return new Handle(p.value);}),!v[7]?null:new IFC4X3.IfcLabel(v[7].value),!v[8]?null:new IFC4X3.IfcLabel(v[8].value),v[9]);},3824725483:function _(id,v){return new IFC4X3.IfcTendon(id,new IFC4X3.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4X3.IfcLabel(v[2].value),!v[3]?null:new IFC4X3.IfcText(v[3].value),!v[4]?null:new IFC4X3.IfcLabel(v[4].value),!v[5]?null:new Handle(v[5].value),!v[6]?null:new Handle(v[6].value),!v[7]?null:new IFC4X3.IfcIdentifier(v[7].value),!v[8]?null:new IFC4X3.IfcLabel(v[8].value),v[9],!v[10]?null:new IFC4X3.IfcPositiveLengthMeasure(v[10].value),!v[11]?null:new IFC4X3.IfcAreaMeasure(v[11].value),!v[12]?null:new IFC4X3.IfcForceMeasure(v[12].value),!v[13]?null:new IFC4X3.IfcPressureMeasure(v[13].value),!v[14]?null:new IFC4X3.IfcNormalisedRatioMeasure(v[14].value),!v[15]?null:new IFC4X3.IfcPositiveLengthMeasure(v[15].value),!v[16]?null:new IFC4X3.IfcPositiveLengthMeasure(v[16].value));},2347447852:function _(id,v){return new IFC4X3.IfcTendonAnchor(id,new IFC4X3.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4X3.IfcLabel(v[2].value),!v[3]?null:new IFC4X3.IfcText(v[3].value),!v[4]?null:new IFC4X3.IfcLabel(v[4].value),!v[5]?null:new Handle(v[5].value),!v[6]?null:new Handle(v[6].value),!v[7]?null:new IFC4X3.IfcIdentifier(v[7].value),!v[8]?null:new IFC4X3.IfcLabel(v[8].value),v[9]);},3081323446:function _(id,v){return new IFC4X3.IfcTendonAnchorType(id,new IFC4X3.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4X3.IfcLabel(v[2].value),!v[3]?null:new IFC4X3.IfcText(v[3].value),!v[4]?null:new IFC4X3.IfcIdentifier(v[4].value),!v[5]?null:v[5].map(function(p){return new Handle(p.value);}),!v[6]?null:v[6].map(function(p){return new Handle(p.value);}),!v[7]?null:new IFC4X3.IfcLabel(v[7].value),!v[8]?null:new IFC4X3.IfcLabel(v[8].value),v[9]);},3663046924:function _(id,v){return new IFC4X3.IfcTendonConduit(id,new IFC4X3.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4X3.IfcLabel(v[2].value),!v[3]?null:new IFC4X3.IfcText(v[3].value),!v[4]?null:new IFC4X3.IfcLabel(v[4].value),!v[5]?null:new Handle(v[5].value),!v[6]?null:new Handle(v[6].value),!v[7]?null:new IFC4X3.IfcIdentifier(v[7].value),!v[8]?null:new IFC4X3.IfcLabel(v[8].value),v[9]);},2281632017:function _(id,v){return new IFC4X3.IfcTendonConduitType(id,new IFC4X3.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4X3.IfcLabel(v[2].value),!v[3]?null:new IFC4X3.IfcText(v[3].value),!v[4]?null:new IFC4X3.IfcIdentifier(v[4].value),!v[5]?null:v[5].map(function(p){return new Handle(p.value);}),!v[6]?null:v[6].map(function(p){return new Handle(p.value);}),!v[7]?null:new IFC4X3.IfcLabel(v[7].value),!v[8]?null:new IFC4X3.IfcLabel(v[8].value),v[9]);},2415094496:function _(id,v){return new IFC4X3.IfcTendonType(id,new IFC4X3.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4X3.IfcLabel(v[2].value),!v[3]?null:new IFC4X3.IfcText(v[3].value),!v[4]?null:new IFC4X3.IfcIdentifier(v[4].value),!v[5]?null:v[5].map(function(p){return new Handle(p.value);}),!v[6]?null:v[6].map(function(p){return new Handle(p.value);}),!v[7]?null:new IFC4X3.IfcLabel(v[7].value),!v[8]?null:new IFC4X3.IfcLabel(v[8].value),v[9],!v[10]?null:new IFC4X3.IfcPositiveLengthMeasure(v[10].value),!v[11]?null:new IFC4X3.IfcAreaMeasure(v[11].value),!v[12]?null:new IFC4X3.IfcPositiveLengthMeasure(v[12].value));},618700268:function _(id,v){return new IFC4X3.IfcTrackElementType(id,new IFC4X3.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4X3.IfcLabel(v[2].value),!v[3]?null:new IFC4X3.IfcText(v[3].value),!v[4]?null:new IFC4X3.IfcIdentifier(v[4].value),!v[5]?null:v[5].map(function(p){return new Handle(p.value);}),!v[6]?null:v[6].map(function(p){return new Handle(p.value);}),!v[7]?null:new IFC4X3.IfcLabel(v[7].value),!v[8]?null:new IFC4X3.IfcLabel(v[8].value),v[9]);},1692211062:function _(id,v){return new IFC4X3.IfcTransformerType(id,new IFC4X3.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4X3.IfcLabel(v[2].value),!v[3]?null:new IFC4X3.IfcText(v[3].value),!v[4]?null:new IFC4X3.IfcIdentifier(v[4].value),!v[5]?null:v[5].map(function(p){return new Handle(p.value);}),!v[6]?null:v[6].map(function(p){return new Handle(p.value);}),!v[7]?null:new IFC4X3.IfcLabel(v[7].value),!v[8]?null:new IFC4X3.IfcLabel(v[8].value),v[9]);},2097647324:function _(id,v){return new IFC4X3.IfcTransportElementType(id,new IFC4X3.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4X3.IfcLabel(v[2].value),!v[3]?null:new IFC4X3.IfcText(v[3].value),!v[4]?null:new IFC4X3.IfcIdentifier(v[4].value),!v[5]?null:v[5].map(function(p){return new Handle(p.value);}),!v[6]?null:v[6].map(function(p){return new Handle(p.value);}),!v[7]?null:new IFC4X3.IfcLabel(v[7].value),!v[8]?null:new IFC4X3.IfcLabel(v[8].value),v[9]);},1953115116:function _(id,v){return new IFC4X3.IfcTransportationDevice(id,new IFC4X3.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4X3.IfcLabel(v[2].value),!v[3]?null:new IFC4X3.IfcText(v[3].value),!v[4]?null:new IFC4X3.IfcLabel(v[4].value),!v[5]?null:new Handle(v[5].value),!v[6]?null:new Handle(v[6].value),!v[7]?null:new IFC4X3.IfcIdentifier(v[7].value));},3593883385:function _(id,v){return new IFC4X3.IfcTrimmedCurve(id,new Handle(v[0].value),v[1].map(function(p){return new Handle(p.value);}),v[2].map(function(p){return new Handle(p.value);}),new IFC4X3.IfcBoolean(v[3].value),v[4]);},1600972822:function _(id,v){return new IFC4X3.IfcTubeBundleType(id,new IFC4X3.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4X3.IfcLabel(v[2].value),!v[3]?null:new IFC4X3.IfcText(v[3].value),!v[4]?null:new IFC4X3.IfcIdentifier(v[4].value),!v[5]?null:v[5].map(function(p){return new Handle(p.value);}),!v[6]?null:v[6].map(function(p){return new Handle(p.value);}),!v[7]?null:new IFC4X3.IfcLabel(v[7].value),!v[8]?null:new IFC4X3.IfcLabel(v[8].value),v[9]);},1911125066:function _(id,v){return new IFC4X3.IfcUnitaryEquipmentType(id,new IFC4X3.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4X3.IfcLabel(v[2].value),!v[3]?null:new IFC4X3.IfcText(v[3].value),!v[4]?null:new IFC4X3.IfcIdentifier(v[4].value),!v[5]?null:v[5].map(function(p){return new Handle(p.value);}),!v[6]?null:v[6].map(function(p){return new Handle(p.value);}),!v[7]?null:new IFC4X3.IfcLabel(v[7].value),!v[8]?null:new IFC4X3.IfcLabel(v[8].value),v[9]);},728799441:function _(id,v){return new IFC4X3.IfcValveType(id,new IFC4X3.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4X3.IfcLabel(v[2].value),!v[3]?null:new IFC4X3.IfcText(v[3].value),!v[4]?null:new IFC4X3.IfcIdentifier(v[4].value),!v[5]?null:v[5].map(function(p){return new Handle(p.value);}),!v[6]?null:v[6].map(function(p){return new Handle(p.value);}),!v[7]?null:new IFC4X3.IfcLabel(v[7].value),!v[8]?null:new IFC4X3.IfcLabel(v[8].value),v[9]);},840318589:function _(id,v){return new IFC4X3.IfcVehicle(id,new IFC4X3.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4X3.IfcLabel(v[2].value),!v[3]?null:new IFC4X3.IfcText(v[3].value),!v[4]?null:new IFC4X3.IfcLabel(v[4].value),!v[5]?null:new Handle(v[5].value),!v[6]?null:new Handle(v[6].value),!v[7]?null:new IFC4X3.IfcIdentifier(v[7].value),v[8]);},1530820697:function _(id,v){return new IFC4X3.IfcVibrationDamper(id,new IFC4X3.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4X3.IfcLabel(v[2].value),!v[3]?null:new IFC4X3.IfcText(v[3].value),!v[4]?null:new IFC4X3.IfcLabel(v[4].value),!v[5]?null:new Handle(v[5].value),!v[6]?null:new Handle(v[6].value),!v[7]?null:new IFC4X3.IfcIdentifier(v[7].value),v[8]);},3956297820:function _(id,v){return new IFC4X3.IfcVibrationDamperType(id,new IFC4X3.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4X3.IfcLabel(v[2].value),!v[3]?null:new IFC4X3.IfcText(v[3].value),!v[4]?null:new IFC4X3.IfcIdentifier(v[4].value),!v[5]?null:v[5].map(function(p){return new Handle(p.value);}),!v[6]?null:v[6].map(function(p){return new Handle(p.value);}),!v[7]?null:new IFC4X3.IfcLabel(v[7].value),!v[8]?null:new IFC4X3.IfcLabel(v[8].value),v[9]);},2391383451:function _(id,v){return new IFC4X3.IfcVibrationIsolator(id,new IFC4X3.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4X3.IfcLabel(v[2].value),!v[3]?null:new IFC4X3.IfcText(v[3].value),!v[4]?null:new IFC4X3.IfcLabel(v[4].value),!v[5]?null:new Handle(v[5].value),!v[6]?null:new Handle(v[6].value),!v[7]?null:new IFC4X3.IfcIdentifier(v[7].value),v[8]);},3313531582:function _(id,v){return new IFC4X3.IfcVibrationIsolatorType(id,new IFC4X3.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4X3.IfcLabel(v[2].value),!v[3]?null:new IFC4X3.IfcText(v[3].value),!v[4]?null:new IFC4X3.IfcIdentifier(v[4].value),!v[5]?null:v[5].map(function(p){return new Handle(p.value);}),!v[6]?null:v[6].map(function(p){return new Handle(p.value);}),!v[7]?null:new IFC4X3.IfcLabel(v[7].value),!v[8]?null:new IFC4X3.IfcLabel(v[8].value),v[9]);},2769231204:function _(id,v){return new IFC4X3.IfcVirtualElement(id,new IFC4X3.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4X3.IfcLabel(v[2].value),!v[3]?null:new IFC4X3.IfcText(v[3].value),!v[4]?null:new IFC4X3.IfcLabel(v[4].value),!v[5]?null:new Handle(v[5].value),!v[6]?null:new Handle(v[6].value),!v[7]?null:new IFC4X3.IfcIdentifier(v[7].value),v[8]);},926996030:function _(id,v){return new IFC4X3.IfcVoidingFeature(id,new IFC4X3.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4X3.IfcLabel(v[2].value),!v[3]?null:new IFC4X3.IfcText(v[3].value),!v[4]?null:new IFC4X3.IfcLabel(v[4].value),!v[5]?null:new Handle(v[5].value),!v[6]?null:new Handle(v[6].value),!v[7]?null:new IFC4X3.IfcIdentifier(v[7].value),v[8]);},1898987631:function _(id,v){return new IFC4X3.IfcWallType(id,new IFC4X3.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4X3.IfcLabel(v[2].value),!v[3]?null:new IFC4X3.IfcText(v[3].value),!v[4]?null:new IFC4X3.IfcIdentifier(v[4].value),!v[5]?null:v[5].map(function(p){return new Handle(p.value);}),!v[6]?null:v[6].map(function(p){return new Handle(p.value);}),!v[7]?null:new IFC4X3.IfcLabel(v[7].value),!v[8]?null:new IFC4X3.IfcLabel(v[8].value),v[9]);},1133259667:function _(id,v){return new IFC4X3.IfcWasteTerminalType(id,new IFC4X3.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4X3.IfcLabel(v[2].value),!v[3]?null:new IFC4X3.IfcText(v[3].value),!v[4]?null:new IFC4X3.IfcIdentifier(v[4].value),!v[5]?null:v[5].map(function(p){return new Handle(p.value);}),!v[6]?null:v[6].map(function(p){return new Handle(p.value);}),!v[7]?null:new IFC4X3.IfcLabel(v[7].value),!v[8]?null:new IFC4X3.IfcLabel(v[8].value),v[9]);},4009809668:function _(id,v){return new IFC4X3.IfcWindowType(id,new IFC4X3.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4X3.IfcLabel(v[2].value),!v[3]?null:new IFC4X3.IfcText(v[3].value),!v[4]?null:new IFC4X3.IfcIdentifier(v[4].value),!v[5]?null:v[5].map(function(p){return new Handle(p.value);}),!v[6]?null:v[6].map(function(p){return new Handle(p.value);}),!v[7]?null:new IFC4X3.IfcLabel(v[7].value),!v[8]?null:new IFC4X3.IfcLabel(v[8].value),v[9],v[10],!v[11]?null:new IFC4X3.IfcBoolean(v[11].value),!v[12]?null:new IFC4X3.IfcLabel(v[12].value));},4088093105:function _(id,v){return new IFC4X3.IfcWorkCalendar(id,new IFC4X3.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4X3.IfcLabel(v[2].value),!v[3]?null:new IFC4X3.IfcText(v[3].value),!v[4]?null:new IFC4X3.IfcLabel(v[4].value),!v[5]?null:new IFC4X3.IfcIdentifier(v[5].value),!v[6]?null:v[6].map(function(p){return new Handle(p.value);}),!v[7]?null:v[7].map(function(p){return new Handle(p.value);}),v[8]);},1028945134:function _(id,v){return new IFC4X3.IfcWorkControl(id,new IFC4X3.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4X3.IfcLabel(v[2].value),!v[3]?null:new IFC4X3.IfcText(v[3].value),!v[4]?null:new IFC4X3.IfcLabel(v[4].value),!v[5]?null:new IFC4X3.IfcIdentifier(v[5].value),new IFC4X3.IfcDateTime(v[6].value),!v[7]?null:v[7].map(function(p){return new Handle(p.value);}),!v[8]?null:new IFC4X3.IfcLabel(v[8].value),!v[9]?null:new IFC4X3.IfcDuration(v[9].value),!v[10]?null:new IFC4X3.IfcDuration(v[10].value),new IFC4X3.IfcDateTime(v[11].value),!v[12]?null:new IFC4X3.IfcDateTime(v[12].value));},4218914973:function _(id,v){return new IFC4X3.IfcWorkPlan(id,new IFC4X3.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4X3.IfcLabel(v[2].value),!v[3]?null:new IFC4X3.IfcText(v[3].value),!v[4]?null:new IFC4X3.IfcLabel(v[4].value),!v[5]?null:new IFC4X3.IfcIdentifier(v[5].value),new IFC4X3.IfcDateTime(v[6].value),!v[7]?null:v[7].map(function(p){return new Handle(p.value);}),!v[8]?null:new IFC4X3.IfcLabel(v[8].value),!v[9]?null:new IFC4X3.IfcDuration(v[9].value),!v[10]?null:new IFC4X3.IfcDuration(v[10].value),new IFC4X3.IfcDateTime(v[11].value),!v[12]?null:new IFC4X3.IfcDateTime(v[12].value),v[13]);},3342526732:function _(id,v){return new IFC4X3.IfcWorkSchedule(id,new IFC4X3.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4X3.IfcLabel(v[2].value),!v[3]?null:new IFC4X3.IfcText(v[3].value),!v[4]?null:new IFC4X3.IfcLabel(v[4].value),!v[5]?null:new IFC4X3.IfcIdentifier(v[5].value),new IFC4X3.IfcDateTime(v[6].value),!v[7]?null:v[7].map(function(p){return new Handle(p.value);}),!v[8]?null:new IFC4X3.IfcLabel(v[8].value),!v[9]?null:new IFC4X3.IfcDuration(v[9].value),!v[10]?null:new IFC4X3.IfcDuration(v[10].value),new IFC4X3.IfcDateTime(v[11].value),!v[12]?null:new IFC4X3.IfcDateTime(v[12].value),v[13]);},1033361043:function _(id,v){return new IFC4X3.IfcZone(id,new IFC4X3.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4X3.IfcLabel(v[2].value),!v[3]?null:new IFC4X3.IfcText(v[3].value),!v[4]?null:new IFC4X3.IfcLabel(v[4].value),!v[5]?null:new IFC4X3.IfcLabel(v[5].value));},3821786052:function _(id,v){return new IFC4X3.IfcActionRequest(id,new IFC4X3.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4X3.IfcLabel(v[2].value),!v[3]?null:new IFC4X3.IfcText(v[3].value),!v[4]?null:new IFC4X3.IfcLabel(v[4].value),!v[5]?null:new IFC4X3.IfcIdentifier(v[5].value),v[6],!v[7]?null:new IFC4X3.IfcLabel(v[7].value),!v[8]?null:new IFC4X3.IfcText(v[8].value));},1411407467:function _(id,v){return new IFC4X3.IfcAirTerminalBoxType(id,new IFC4X3.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4X3.IfcLabel(v[2].value),!v[3]?null:new IFC4X3.IfcText(v[3].value),!v[4]?null:new IFC4X3.IfcIdentifier(v[4].value),!v[5]?null:v[5].map(function(p){return new Handle(p.value);}),!v[6]?null:v[6].map(function(p){return new Handle(p.value);}),!v[7]?null:new IFC4X3.IfcLabel(v[7].value),!v[8]?null:new IFC4X3.IfcLabel(v[8].value),v[9]);},3352864051:function _(id,v){return new IFC4X3.IfcAirTerminalType(id,new IFC4X3.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4X3.IfcLabel(v[2].value),!v[3]?null:new IFC4X3.IfcText(v[3].value),!v[4]?null:new IFC4X3.IfcIdentifier(v[4].value),!v[5]?null:v[5].map(function(p){return new Handle(p.value);}),!v[6]?null:v[6].map(function(p){return new Handle(p.value);}),!v[7]?null:new IFC4X3.IfcLabel(v[7].value),!v[8]?null:new IFC4X3.IfcLabel(v[8].value),v[9]);},1871374353:function _(id,v){return new IFC4X3.IfcAirToAirHeatRecoveryType(id,new IFC4X3.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4X3.IfcLabel(v[2].value),!v[3]?null:new IFC4X3.IfcText(v[3].value),!v[4]?null:new IFC4X3.IfcIdentifier(v[4].value),!v[5]?null:v[5].map(function(p){return new Handle(p.value);}),!v[6]?null:v[6].map(function(p){return new Handle(p.value);}),!v[7]?null:new IFC4X3.IfcLabel(v[7].value),!v[8]?null:new IFC4X3.IfcLabel(v[8].value),v[9]);},4266260250:function _(id,v){return new IFC4X3.IfcAlignmentCant(id,new IFC4X3.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4X3.IfcLabel(v[2].value),!v[3]?null:new IFC4X3.IfcText(v[3].value),!v[4]?null:new IFC4X3.IfcLabel(v[4].value),!v[5]?null:new Handle(v[5].value),!v[6]?null:new Handle(v[6].value),new IFC4X3.IfcPositiveLengthMeasure(v[7].value));},1545765605:function _(id,v){return new IFC4X3.IfcAlignmentHorizontal(id,new IFC4X3.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4X3.IfcLabel(v[2].value),!v[3]?null:new IFC4X3.IfcText(v[3].value),!v[4]?null:new IFC4X3.IfcLabel(v[4].value),!v[5]?null:new Handle(v[5].value),!v[6]?null:new Handle(v[6].value));},317615605:function _(id,v){return new IFC4X3.IfcAlignmentSegment(id,new IFC4X3.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4X3.IfcLabel(v[2].value),!v[3]?null:new IFC4X3.IfcText(v[3].value),!v[4]?null:new IFC4X3.IfcLabel(v[4].value),!v[5]?null:new Handle(v[5].value),!v[6]?null:new Handle(v[6].value),new Handle(v[7].value));},1662888072:function _(id,v){return new IFC4X3.IfcAlignmentVertical(id,new IFC4X3.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4X3.IfcLabel(v[2].value),!v[3]?null:new IFC4X3.IfcText(v[3].value),!v[4]?null:new IFC4X3.IfcLabel(v[4].value),!v[5]?null:new Handle(v[5].value),!v[6]?null:new Handle(v[6].value));},3460190687:function _(id,v){return new IFC4X3.IfcAsset(id,new IFC4X3.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4X3.IfcLabel(v[2].value),!v[3]?null:new IFC4X3.IfcText(v[3].value),!v[4]?null:new IFC4X3.IfcLabel(v[4].value),!v[5]?null:new IFC4X3.IfcIdentifier(v[5].value),!v[6]?null:new Handle(v[6].value),!v[7]?null:new Handle(v[7].value),!v[8]?null:new Handle(v[8].value),!v[9]?null:new Handle(v[9].value),!v[10]?null:new Handle(v[10].value),!v[11]?null:new Handle(v[11].value),!v[12]?null:new IFC4X3.IfcDate(v[12].value),!v[13]?null:new Handle(v[13].value));},1532957894:function _(id,v){return new IFC4X3.IfcAudioVisualApplianceType(id,new IFC4X3.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4X3.IfcLabel(v[2].value),!v[3]?null:new IFC4X3.IfcText(v[3].value),!v[4]?null:new IFC4X3.IfcIdentifier(v[4].value),!v[5]?null:v[5].map(function(p){return new Handle(p.value);}),!v[6]?null:v[6].map(function(p){return new Handle(p.value);}),!v[7]?null:new IFC4X3.IfcLabel(v[7].value),!v[8]?null:new IFC4X3.IfcLabel(v[8].value),v[9]);},1967976161:function _(id,v){return new IFC4X3.IfcBSplineCurve(id,new IFC4X3.IfcInteger(v[0].value),v[1].map(function(p){return new Handle(p.value);}),v[2],new IFC4X3.IfcLogical(v[3].value),new IFC4X3.IfcLogical(v[4].value));},2461110595:function _(id,v){return new IFC4X3.IfcBSplineCurveWithKnots(id,new IFC4X3.IfcInteger(v[0].value),v[1].map(function(p){return new Handle(p.value);}),v[2],new IFC4X3.IfcLogical(v[3].value),new IFC4X3.IfcLogical(v[4].value),v[5].map(function(p){return new IFC4X3.IfcInteger(p.value);}),v[6].map(function(p){return new IFC4X3.IfcParameterValue(p.value);}),v[7]);},819618141:function _(id,v){return new IFC4X3.IfcBeamType(id,new IFC4X3.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4X3.IfcLabel(v[2].value),!v[3]?null:new IFC4X3.IfcText(v[3].value),!v[4]?null:new IFC4X3.IfcIdentifier(v[4].value),!v[5]?null:v[5].map(function(p){return new Handle(p.value);}),!v[6]?null:v[6].map(function(p){return new Handle(p.value);}),!v[7]?null:new IFC4X3.IfcLabel(v[7].value),!v[8]?null:new IFC4X3.IfcLabel(v[8].value),v[9]);},3649138523:function _(id,v){return new IFC4X3.IfcBearingType(id,new IFC4X3.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4X3.IfcLabel(v[2].value),!v[3]?null:new IFC4X3.IfcText(v[3].value),!v[4]?null:new IFC4X3.IfcIdentifier(v[4].value),!v[5]?null:v[5].map(function(p){return new Handle(p.value);}),!v[6]?null:v[6].map(function(p){return new Handle(p.value);}),!v[7]?null:new IFC4X3.IfcLabel(v[7].value),!v[8]?null:new IFC4X3.IfcLabel(v[8].value),v[9]);},231477066:function _(id,v){return new IFC4X3.IfcBoilerType(id,new IFC4X3.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4X3.IfcLabel(v[2].value),!v[3]?null:new IFC4X3.IfcText(v[3].value),!v[4]?null:new IFC4X3.IfcIdentifier(v[4].value),!v[5]?null:v[5].map(function(p){return new Handle(p.value);}),!v[6]?null:v[6].map(function(p){return new Handle(p.value);}),!v[7]?null:new IFC4X3.IfcLabel(v[7].value),!v[8]?null:new IFC4X3.IfcLabel(v[8].value),v[9]);},1136057603:function _(id,v){return new IFC4X3.IfcBoundaryCurve(id,v[0].map(function(p){return new Handle(p.value);}),new IFC4X3.IfcLogical(v[1].value));},644574406:function _(id,v){return new IFC4X3.IfcBridge(id,new IFC4X3.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4X3.IfcLabel(v[2].value),!v[3]?null:new IFC4X3.IfcText(v[3].value),!v[4]?null:new IFC4X3.IfcLabel(v[4].value),!v[5]?null:new Handle(v[5].value),!v[6]?null:new Handle(v[6].value),!v[7]?null:new IFC4X3.IfcLabel(v[7].value),v[8],v[9]);},963979645:function _(id,v){return new IFC4X3.IfcBridgePart(id,new IFC4X3.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4X3.IfcLabel(v[2].value),!v[3]?null:new IFC4X3.IfcText(v[3].value),!v[4]?null:new IFC4X3.IfcLabel(v[4].value),!v[5]?null:new Handle(v[5].value),!v[6]?null:new Handle(v[6].value),!v[7]?null:new IFC4X3.IfcLabel(v[7].value),v[8],v[9],v[10]);},4031249490:function _(id,v){return new IFC4X3.IfcBuilding(id,new IFC4X3.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4X3.IfcLabel(v[2].value),!v[3]?null:new IFC4X3.IfcText(v[3].value),!v[4]?null:new IFC4X3.IfcLabel(v[4].value),!v[5]?null:new Handle(v[5].value),!v[6]?null:new Handle(v[6].value),!v[7]?null:new IFC4X3.IfcLabel(v[7].value),v[8],!v[9]?null:new IFC4X3.IfcLengthMeasure(v[9].value),!v[10]?null:new IFC4X3.IfcLengthMeasure(v[10].value),!v[11]?null:new Handle(v[11].value));},2979338954:function _(id,v){return new IFC4X3.IfcBuildingElementPart(id,new IFC4X3.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4X3.IfcLabel(v[2].value),!v[3]?null:new IFC4X3.IfcText(v[3].value),!v[4]?null:new IFC4X3.IfcLabel(v[4].value),!v[5]?null:new Handle(v[5].value),!v[6]?null:new Handle(v[6].value),!v[7]?null:new IFC4X3.IfcIdentifier(v[7].value),v[8]);},39481116:function _(id,v){return new IFC4X3.IfcBuildingElementPartType(id,new IFC4X3.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4X3.IfcLabel(v[2].value),!v[3]?null:new IFC4X3.IfcText(v[3].value),!v[4]?null:new IFC4X3.IfcIdentifier(v[4].value),!v[5]?null:v[5].map(function(p){return new Handle(p.value);}),!v[6]?null:v[6].map(function(p){return new Handle(p.value);}),!v[7]?null:new IFC4X3.IfcLabel(v[7].value),!v[8]?null:new IFC4X3.IfcLabel(v[8].value),v[9]);},1909888760:function _(id,v){return new IFC4X3.IfcBuildingElementProxyType(id,new IFC4X3.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4X3.IfcLabel(v[2].value),!v[3]?null:new IFC4X3.IfcText(v[3].value),!v[4]?null:new IFC4X3.IfcIdentifier(v[4].value),!v[5]?null:v[5].map(function(p){return new Handle(p.value);}),!v[6]?null:v[6].map(function(p){return new Handle(p.value);}),!v[7]?null:new IFC4X3.IfcLabel(v[7].value),!v[8]?null:new IFC4X3.IfcLabel(v[8].value),v[9]);},1177604601:function _(id,v){return new IFC4X3.IfcBuildingSystem(id,new IFC4X3.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4X3.IfcLabel(v[2].value),!v[3]?null:new IFC4X3.IfcText(v[3].value),!v[4]?null:new IFC4X3.IfcLabel(v[4].value),v[5],!v[6]?null:new IFC4X3.IfcLabel(v[6].value));},1876633798:function _(id,v){return new IFC4X3.IfcBuiltElement(id,new IFC4X3.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4X3.IfcLabel(v[2].value),!v[3]?null:new IFC4X3.IfcText(v[3].value),!v[4]?null:new IFC4X3.IfcLabel(v[4].value),!v[5]?null:new Handle(v[5].value),!v[6]?null:new Handle(v[6].value),!v[7]?null:new IFC4X3.IfcIdentifier(v[7].value));},3862327254:function _(id,v){return new IFC4X3.IfcBuiltSystem(id,new IFC4X3.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4X3.IfcLabel(v[2].value),!v[3]?null:new IFC4X3.IfcText(v[3].value),!v[4]?null:new IFC4X3.IfcLabel(v[4].value),v[5],!v[6]?null:new IFC4X3.IfcLabel(v[6].value));},2188180465:function _(id,v){return new IFC4X3.IfcBurnerType(id,new IFC4X3.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4X3.IfcLabel(v[2].value),!v[3]?null:new IFC4X3.IfcText(v[3].value),!v[4]?null:new IFC4X3.IfcIdentifier(v[4].value),!v[5]?null:v[5].map(function(p){return new Handle(p.value);}),!v[6]?null:v[6].map(function(p){return new Handle(p.value);}),!v[7]?null:new IFC4X3.IfcLabel(v[7].value),!v[8]?null:new IFC4X3.IfcLabel(v[8].value),v[9]);},395041908:function _(id,v){return new IFC4X3.IfcCableCarrierFittingType(id,new IFC4X3.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4X3.IfcLabel(v[2].value),!v[3]?null:new IFC4X3.IfcText(v[3].value),!v[4]?null:new IFC4X3.IfcIdentifier(v[4].value),!v[5]?null:v[5].map(function(p){return new Handle(p.value);}),!v[6]?null:v[6].map(function(p){return new Handle(p.value);}),!v[7]?null:new IFC4X3.IfcLabel(v[7].value),!v[8]?null:new IFC4X3.IfcLabel(v[8].value),v[9]);},3293546465:function _(id,v){return new IFC4X3.IfcCableCarrierSegmentType(id,new IFC4X3.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4X3.IfcLabel(v[2].value),!v[3]?null:new IFC4X3.IfcText(v[3].value),!v[4]?null:new IFC4X3.IfcIdentifier(v[4].value),!v[5]?null:v[5].map(function(p){return new Handle(p.value);}),!v[6]?null:v[6].map(function(p){return new Handle(p.value);}),!v[7]?null:new IFC4X3.IfcLabel(v[7].value),!v[8]?null:new IFC4X3.IfcLabel(v[8].value),v[9]);},2674252688:function _(id,v){return new IFC4X3.IfcCableFittingType(id,new IFC4X3.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4X3.IfcLabel(v[2].value),!v[3]?null:new IFC4X3.IfcText(v[3].value),!v[4]?null:new IFC4X3.IfcIdentifier(v[4].value),!v[5]?null:v[5].map(function(p){return new Handle(p.value);}),!v[6]?null:v[6].map(function(p){return new Handle(p.value);}),!v[7]?null:new IFC4X3.IfcLabel(v[7].value),!v[8]?null:new IFC4X3.IfcLabel(v[8].value),v[9]);},1285652485:function _(id,v){return new IFC4X3.IfcCableSegmentType(id,new IFC4X3.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4X3.IfcLabel(v[2].value),!v[3]?null:new IFC4X3.IfcText(v[3].value),!v[4]?null:new IFC4X3.IfcIdentifier(v[4].value),!v[5]?null:v[5].map(function(p){return new Handle(p.value);}),!v[6]?null:v[6].map(function(p){return new Handle(p.value);}),!v[7]?null:new IFC4X3.IfcLabel(v[7].value),!v[8]?null:new IFC4X3.IfcLabel(v[8].value),v[9]);},3203706013:function _(id,v){return new IFC4X3.IfcCaissonFoundationType(id,new IFC4X3.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4X3.IfcLabel(v[2].value),!v[3]?null:new IFC4X3.IfcText(v[3].value),!v[4]?null:new IFC4X3.IfcIdentifier(v[4].value),!v[5]?null:v[5].map(function(p){return new Handle(p.value);}),!v[6]?null:v[6].map(function(p){return new Handle(p.value);}),!v[7]?null:new IFC4X3.IfcLabel(v[7].value),!v[8]?null:new IFC4X3.IfcLabel(v[8].value),v[9]);},2951183804:function _(id,v){return new IFC4X3.IfcChillerType(id,new IFC4X3.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4X3.IfcLabel(v[2].value),!v[3]?null:new IFC4X3.IfcText(v[3].value),!v[4]?null:new IFC4X3.IfcIdentifier(v[4].value),!v[5]?null:v[5].map(function(p){return new Handle(p.value);}),!v[6]?null:v[6].map(function(p){return new Handle(p.value);}),!v[7]?null:new IFC4X3.IfcLabel(v[7].value),!v[8]?null:new IFC4X3.IfcLabel(v[8].value),v[9]);},3296154744:function _(id,v){return new IFC4X3.IfcChimney(id,new IFC4X3.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4X3.IfcLabel(v[2].value),!v[3]?null:new IFC4X3.IfcText(v[3].value),!v[4]?null:new IFC4X3.IfcLabel(v[4].value),!v[5]?null:new Handle(v[5].value),!v[6]?null:new Handle(v[6].value),!v[7]?null:new IFC4X3.IfcIdentifier(v[7].value),v[8]);},2611217952:function _(id,v){return new IFC4X3.IfcCircle(id,new Handle(v[0].value),new IFC4X3.IfcPositiveLengthMeasure(v[1].value));},1677625105:function _(id,v){return new IFC4X3.IfcCivilElement(id,new IFC4X3.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4X3.IfcLabel(v[2].value),!v[3]?null:new IFC4X3.IfcText(v[3].value),!v[4]?null:new IFC4X3.IfcLabel(v[4].value),!v[5]?null:new Handle(v[5].value),!v[6]?null:new Handle(v[6].value),!v[7]?null:new IFC4X3.IfcIdentifier(v[7].value));},2301859152:function _(id,v){return new IFC4X3.IfcCoilType(id,new IFC4X3.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4X3.IfcLabel(v[2].value),!v[3]?null:new IFC4X3.IfcText(v[3].value),!v[4]?null:new IFC4X3.IfcIdentifier(v[4].value),!v[5]?null:v[5].map(function(p){return new Handle(p.value);}),!v[6]?null:v[6].map(function(p){return new Handle(p.value);}),!v[7]?null:new IFC4X3.IfcLabel(v[7].value),!v[8]?null:new IFC4X3.IfcLabel(v[8].value),v[9]);},843113511:function _(id,v){return new IFC4X3.IfcColumn(id,new IFC4X3.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4X3.IfcLabel(v[2].value),!v[3]?null:new IFC4X3.IfcText(v[3].value),!v[4]?null:new IFC4X3.IfcLabel(v[4].value),!v[5]?null:new Handle(v[5].value),!v[6]?null:new Handle(v[6].value),!v[7]?null:new IFC4X3.IfcIdentifier(v[7].value),v[8]);},400855858:function _(id,v){return new IFC4X3.IfcCommunicationsApplianceType(id,new IFC4X3.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4X3.IfcLabel(v[2].value),!v[3]?null:new IFC4X3.IfcText(v[3].value),!v[4]?null:new IFC4X3.IfcIdentifier(v[4].value),!v[5]?null:v[5].map(function(p){return new Handle(p.value);}),!v[6]?null:v[6].map(function(p){return new Handle(p.value);}),!v[7]?null:new IFC4X3.IfcLabel(v[7].value),!v[8]?null:new IFC4X3.IfcLabel(v[8].value),v[9]);},3850581409:function _(id,v){return new IFC4X3.IfcCompressorType(id,new IFC4X3.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4X3.IfcLabel(v[2].value),!v[3]?null:new IFC4X3.IfcText(v[3].value),!v[4]?null:new IFC4X3.IfcIdentifier(v[4].value),!v[5]?null:v[5].map(function(p){return new Handle(p.value);}),!v[6]?null:v[6].map(function(p){return new Handle(p.value);}),!v[7]?null:new IFC4X3.IfcLabel(v[7].value),!v[8]?null:new IFC4X3.IfcLabel(v[8].value),v[9]);},2816379211:function _(id,v){return new IFC4X3.IfcCondenserType(id,new IFC4X3.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4X3.IfcLabel(v[2].value),!v[3]?null:new IFC4X3.IfcText(v[3].value),!v[4]?null:new IFC4X3.IfcIdentifier(v[4].value),!v[5]?null:v[5].map(function(p){return new Handle(p.value);}),!v[6]?null:v[6].map(function(p){return new Handle(p.value);}),!v[7]?null:new IFC4X3.IfcLabel(v[7].value),!v[8]?null:new IFC4X3.IfcLabel(v[8].value),v[9]);},3898045240:function _(id,v){return new IFC4X3.IfcConstructionEquipmentResource(id,new IFC4X3.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4X3.IfcLabel(v[2].value),!v[3]?null:new IFC4X3.IfcText(v[3].value),!v[4]?null:new IFC4X3.IfcLabel(v[4].value),!v[5]?null:new IFC4X3.IfcIdentifier(v[5].value),!v[6]?null:new IFC4X3.IfcText(v[6].value),!v[7]?null:new Handle(v[7].value),!v[8]?null:v[8].map(function(p){return new Handle(p.value);}),!v[9]?null:new Handle(v[9].value),v[10]);},1060000209:function _(id,v){return new IFC4X3.IfcConstructionMaterialResource(id,new IFC4X3.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4X3.IfcLabel(v[2].value),!v[3]?null:new IFC4X3.IfcText(v[3].value),!v[4]?null:new IFC4X3.IfcLabel(v[4].value),!v[5]?null:new IFC4X3.IfcIdentifier(v[5].value),!v[6]?null:new IFC4X3.IfcText(v[6].value),!v[7]?null:new Handle(v[7].value),!v[8]?null:v[8].map(function(p){return new Handle(p.value);}),!v[9]?null:new Handle(v[9].value),v[10]);},488727124:function _(id,v){return new IFC4X3.IfcConstructionProductResource(id,new IFC4X3.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4X3.IfcLabel(v[2].value),!v[3]?null:new IFC4X3.IfcText(v[3].value),!v[4]?null:new IFC4X3.IfcLabel(v[4].value),!v[5]?null:new IFC4X3.IfcIdentifier(v[5].value),!v[6]?null:new IFC4X3.IfcText(v[6].value),!v[7]?null:new Handle(v[7].value),!v[8]?null:v[8].map(function(p){return new Handle(p.value);}),!v[9]?null:new Handle(v[9].value),v[10]);},2940368186:function _(id,v){return new IFC4X3.IfcConveyorSegmentType(id,new IFC4X3.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4X3.IfcLabel(v[2].value),!v[3]?null:new IFC4X3.IfcText(v[3].value),!v[4]?null:new IFC4X3.IfcIdentifier(v[4].value),!v[5]?null:v[5].map(function(p){return new Handle(p.value);}),!v[6]?null:v[6].map(function(p){return new Handle(p.value);}),!v[7]?null:new IFC4X3.IfcLabel(v[7].value),!v[8]?null:new IFC4X3.IfcLabel(v[8].value),v[9]);},335055490:function _(id,v){return new IFC4X3.IfcCooledBeamType(id,new IFC4X3.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4X3.IfcLabel(v[2].value),!v[3]?null:new IFC4X3.IfcText(v[3].value),!v[4]?null:new IFC4X3.IfcIdentifier(v[4].value),!v[5]?null:v[5].map(function(p){return new Handle(p.value);}),!v[6]?null:v[6].map(function(p){return new Handle(p.value);}),!v[7]?null:new IFC4X3.IfcLabel(v[7].value),!v[8]?null:new IFC4X3.IfcLabel(v[8].value),v[9]);},2954562838:function _(id,v){return new IFC4X3.IfcCoolingTowerType(id,new IFC4X3.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4X3.IfcLabel(v[2].value),!v[3]?null:new IFC4X3.IfcText(v[3].value),!v[4]?null:new IFC4X3.IfcIdentifier(v[4].value),!v[5]?null:v[5].map(function(p){return new Handle(p.value);}),!v[6]?null:v[6].map(function(p){return new Handle(p.value);}),!v[7]?null:new IFC4X3.IfcLabel(v[7].value),!v[8]?null:new IFC4X3.IfcLabel(v[8].value),v[9]);},1502416096:function _(id,v){return new IFC4X3.IfcCourse(id,new IFC4X3.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4X3.IfcLabel(v[2].value),!v[3]?null:new IFC4X3.IfcText(v[3].value),!v[4]?null:new IFC4X3.IfcLabel(v[4].value),!v[5]?null:new Handle(v[5].value),!v[6]?null:new Handle(v[6].value),!v[7]?null:new IFC4X3.IfcIdentifier(v[7].value),v[8]);},1973544240:function _(id,v){return new IFC4X3.IfcCovering(id,new IFC4X3.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4X3.IfcLabel(v[2].value),!v[3]?null:new IFC4X3.IfcText(v[3].value),!v[4]?null:new IFC4X3.IfcLabel(v[4].value),!v[5]?null:new Handle(v[5].value),!v[6]?null:new Handle(v[6].value),!v[7]?null:new IFC4X3.IfcIdentifier(v[7].value),v[8]);},3495092785:function _(id,v){return new IFC4X3.IfcCurtainWall(id,new IFC4X3.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4X3.IfcLabel(v[2].value),!v[3]?null:new IFC4X3.IfcText(v[3].value),!v[4]?null:new IFC4X3.IfcLabel(v[4].value),!v[5]?null:new Handle(v[5].value),!v[6]?null:new Handle(v[6].value),!v[7]?null:new IFC4X3.IfcIdentifier(v[7].value),v[8]);},3961806047:function _(id,v){return new IFC4X3.IfcDamperType(id,new IFC4X3.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4X3.IfcLabel(v[2].value),!v[3]?null:new IFC4X3.IfcText(v[3].value),!v[4]?null:new IFC4X3.IfcIdentifier(v[4].value),!v[5]?null:v[5].map(function(p){return new Handle(p.value);}),!v[6]?null:v[6].map(function(p){return new Handle(p.value);}),!v[7]?null:new IFC4X3.IfcLabel(v[7].value),!v[8]?null:new IFC4X3.IfcLabel(v[8].value),v[9]);},3426335179:function _(id,v){return new IFC4X3.IfcDeepFoundation(id,new IFC4X3.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4X3.IfcLabel(v[2].value),!v[3]?null:new IFC4X3.IfcText(v[3].value),!v[4]?null:new IFC4X3.IfcLabel(v[4].value),!v[5]?null:new Handle(v[5].value),!v[6]?null:new Handle(v[6].value),!v[7]?null:new IFC4X3.IfcIdentifier(v[7].value));},1335981549:function _(id,v){return new IFC4X3.IfcDiscreteAccessory(id,new IFC4X3.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4X3.IfcLabel(v[2].value),!v[3]?null:new IFC4X3.IfcText(v[3].value),!v[4]?null:new IFC4X3.IfcLabel(v[4].value),!v[5]?null:new Handle(v[5].value),!v[6]?null:new Handle(v[6].value),!v[7]?null:new IFC4X3.IfcIdentifier(v[7].value),v[8]);},2635815018:function _(id,v){return new IFC4X3.IfcDiscreteAccessoryType(id,new IFC4X3.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4X3.IfcLabel(v[2].value),!v[3]?null:new IFC4X3.IfcText(v[3].value),!v[4]?null:new IFC4X3.IfcIdentifier(v[4].value),!v[5]?null:v[5].map(function(p){return new Handle(p.value);}),!v[6]?null:v[6].map(function(p){return new Handle(p.value);}),!v[7]?null:new IFC4X3.IfcLabel(v[7].value),!v[8]?null:new IFC4X3.IfcLabel(v[8].value),v[9]);},479945903:function _(id,v){return new IFC4X3.IfcDistributionBoardType(id,new IFC4X3.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4X3.IfcLabel(v[2].value),!v[3]?null:new IFC4X3.IfcText(v[3].value),!v[4]?null:new IFC4X3.IfcIdentifier(v[4].value),!v[5]?null:v[5].map(function(p){return new Handle(p.value);}),!v[6]?null:v[6].map(function(p){return new Handle(p.value);}),!v[7]?null:new IFC4X3.IfcLabel(v[7].value),!v[8]?null:new IFC4X3.IfcLabel(v[8].value),v[9]);},1599208980:function _(id,v){return new IFC4X3.IfcDistributionChamberElementType(id,new IFC4X3.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4X3.IfcLabel(v[2].value),!v[3]?null:new IFC4X3.IfcText(v[3].value),!v[4]?null:new IFC4X3.IfcIdentifier(v[4].value),!v[5]?null:v[5].map(function(p){return new Handle(p.value);}),!v[6]?null:v[6].map(function(p){return new Handle(p.value);}),!v[7]?null:new IFC4X3.IfcLabel(v[7].value),!v[8]?null:new IFC4X3.IfcLabel(v[8].value),v[9]);},2063403501:function _(id,v){return new IFC4X3.IfcDistributionControlElementType(id,new IFC4X3.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4X3.IfcLabel(v[2].value),!v[3]?null:new IFC4X3.IfcText(v[3].value),!v[4]?null:new IFC4X3.IfcIdentifier(v[4].value),!v[5]?null:v[5].map(function(p){return new Handle(p.value);}),!v[6]?null:v[6].map(function(p){return new Handle(p.value);}),!v[7]?null:new IFC4X3.IfcLabel(v[7].value),!v[8]?null:new IFC4X3.IfcLabel(v[8].value));},1945004755:function _(id,v){return new IFC4X3.IfcDistributionElement(id,new IFC4X3.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4X3.IfcLabel(v[2].value),!v[3]?null:new IFC4X3.IfcText(v[3].value),!v[4]?null:new IFC4X3.IfcLabel(v[4].value),!v[5]?null:new Handle(v[5].value),!v[6]?null:new Handle(v[6].value),!v[7]?null:new IFC4X3.IfcIdentifier(v[7].value));},3040386961:function _(id,v){return new IFC4X3.IfcDistributionFlowElement(id,new IFC4X3.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4X3.IfcLabel(v[2].value),!v[3]?null:new IFC4X3.IfcText(v[3].value),!v[4]?null:new IFC4X3.IfcLabel(v[4].value),!v[5]?null:new Handle(v[5].value),!v[6]?null:new Handle(v[6].value),!v[7]?null:new IFC4X3.IfcIdentifier(v[7].value));},3041715199:function _(id,v){return new IFC4X3.IfcDistributionPort(id,new IFC4X3.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4X3.IfcLabel(v[2].value),!v[3]?null:new IFC4X3.IfcText(v[3].value),!v[4]?null:new IFC4X3.IfcLabel(v[4].value),!v[5]?null:new Handle(v[5].value),!v[6]?null:new Handle(v[6].value),v[7],v[8],v[9]);},3205830791:function _(id,v){return new IFC4X3.IfcDistributionSystem(id,new IFC4X3.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4X3.IfcLabel(v[2].value),!v[3]?null:new IFC4X3.IfcText(v[3].value),!v[4]?null:new IFC4X3.IfcLabel(v[4].value),!v[5]?null:new IFC4X3.IfcLabel(v[5].value),v[6]);},395920057:function _(id,v){return new IFC4X3.IfcDoor(id,new IFC4X3.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4X3.IfcLabel(v[2].value),!v[3]?null:new IFC4X3.IfcText(v[3].value),!v[4]?null:new IFC4X3.IfcLabel(v[4].value),!v[5]?null:new Handle(v[5].value),!v[6]?null:new Handle(v[6].value),!v[7]?null:new IFC4X3.IfcIdentifier(v[7].value),!v[8]?null:new IFC4X3.IfcPositiveLengthMeasure(v[8].value),!v[9]?null:new IFC4X3.IfcPositiveLengthMeasure(v[9].value),v[10],v[11],!v[12]?null:new IFC4X3.IfcLabel(v[12].value));},869906466:function _(id,v){return new IFC4X3.IfcDuctFittingType(id,new IFC4X3.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4X3.IfcLabel(v[2].value),!v[3]?null:new IFC4X3.IfcText(v[3].value),!v[4]?null:new IFC4X3.IfcIdentifier(v[4].value),!v[5]?null:v[5].map(function(p){return new Handle(p.value);}),!v[6]?null:v[6].map(function(p){return new Handle(p.value);}),!v[7]?null:new IFC4X3.IfcLabel(v[7].value),!v[8]?null:new IFC4X3.IfcLabel(v[8].value),v[9]);},3760055223:function _(id,v){return new IFC4X3.IfcDuctSegmentType(id,new IFC4X3.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4X3.IfcLabel(v[2].value),!v[3]?null:new IFC4X3.IfcText(v[3].value),!v[4]?null:new IFC4X3.IfcIdentifier(v[4].value),!v[5]?null:v[5].map(function(p){return new Handle(p.value);}),!v[6]?null:v[6].map(function(p){return new Handle(p.value);}),!v[7]?null:new IFC4X3.IfcLabel(v[7].value),!v[8]?null:new IFC4X3.IfcLabel(v[8].value),v[9]);},2030761528:function _(id,v){return new IFC4X3.IfcDuctSilencerType(id,new IFC4X3.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4X3.IfcLabel(v[2].value),!v[3]?null:new IFC4X3.IfcText(v[3].value),!v[4]?null:new IFC4X3.IfcIdentifier(v[4].value),!v[5]?null:v[5].map(function(p){return new Handle(p.value);}),!v[6]?null:v[6].map(function(p){return new Handle(p.value);}),!v[7]?null:new IFC4X3.IfcLabel(v[7].value),!v[8]?null:new IFC4X3.IfcLabel(v[8].value),v[9]);},3071239417:function _(id,v){return new IFC4X3.IfcEarthworksCut(id,new IFC4X3.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4X3.IfcLabel(v[2].value),!v[3]?null:new IFC4X3.IfcText(v[3].value),!v[4]?null:new IFC4X3.IfcLabel(v[4].value),!v[5]?null:new Handle(v[5].value),!v[6]?null:new Handle(v[6].value),!v[7]?null:new IFC4X3.IfcIdentifier(v[7].value),v[8]);},1077100507:function _(id,v){return new IFC4X3.IfcEarthworksElement(id,new IFC4X3.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4X3.IfcLabel(v[2].value),!v[3]?null:new IFC4X3.IfcText(v[3].value),!v[4]?null:new IFC4X3.IfcLabel(v[4].value),!v[5]?null:new Handle(v[5].value),!v[6]?null:new Handle(v[6].value),!v[7]?null:new IFC4X3.IfcIdentifier(v[7].value));},3376911765:function _(id,v){return new IFC4X3.IfcEarthworksFill(id,new IFC4X3.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4X3.IfcLabel(v[2].value),!v[3]?null:new IFC4X3.IfcText(v[3].value),!v[4]?null:new IFC4X3.IfcLabel(v[4].value),!v[5]?null:new Handle(v[5].value),!v[6]?null:new Handle(v[6].value),!v[7]?null:new IFC4X3.IfcIdentifier(v[7].value),v[8]);},663422040:function _(id,v){return new IFC4X3.IfcElectricApplianceType(id,new IFC4X3.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4X3.IfcLabel(v[2].value),!v[3]?null:new IFC4X3.IfcText(v[3].value),!v[4]?null:new IFC4X3.IfcIdentifier(v[4].value),!v[5]?null:v[5].map(function(p){return new Handle(p.value);}),!v[6]?null:v[6].map(function(p){return new Handle(p.value);}),!v[7]?null:new IFC4X3.IfcLabel(v[7].value),!v[8]?null:new IFC4X3.IfcLabel(v[8].value),v[9]);},2417008758:function _(id,v){return new IFC4X3.IfcElectricDistributionBoardType(id,new IFC4X3.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4X3.IfcLabel(v[2].value),!v[3]?null:new IFC4X3.IfcText(v[3].value),!v[4]?null:new IFC4X3.IfcIdentifier(v[4].value),!v[5]?null:v[5].map(function(p){return new Handle(p.value);}),!v[6]?null:v[6].map(function(p){return new Handle(p.value);}),!v[7]?null:new IFC4X3.IfcLabel(v[7].value),!v[8]?null:new IFC4X3.IfcLabel(v[8].value),v[9]);},3277789161:function _(id,v){return new IFC4X3.IfcElectricFlowStorageDeviceType(id,new IFC4X3.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4X3.IfcLabel(v[2].value),!v[3]?null:new IFC4X3.IfcText(v[3].value),!v[4]?null:new IFC4X3.IfcIdentifier(v[4].value),!v[5]?null:v[5].map(function(p){return new Handle(p.value);}),!v[6]?null:v[6].map(function(p){return new Handle(p.value);}),!v[7]?null:new IFC4X3.IfcLabel(v[7].value),!v[8]?null:new IFC4X3.IfcLabel(v[8].value),v[9]);},2142170206:function _(id,v){return new IFC4X3.IfcElectricFlowTreatmentDeviceType(id,new IFC4X3.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4X3.IfcLabel(v[2].value),!v[3]?null:new IFC4X3.IfcText(v[3].value),!v[4]?null:new IFC4X3.IfcIdentifier(v[4].value),!v[5]?null:v[5].map(function(p){return new Handle(p.value);}),!v[6]?null:v[6].map(function(p){return new Handle(p.value);}),!v[7]?null:new IFC4X3.IfcLabel(v[7].value),!v[8]?null:new IFC4X3.IfcLabel(v[8].value),v[9]);},1534661035:function _(id,v){return new IFC4X3.IfcElectricGeneratorType(id,new IFC4X3.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4X3.IfcLabel(v[2].value),!v[3]?null:new IFC4X3.IfcText(v[3].value),!v[4]?null:new IFC4X3.IfcIdentifier(v[4].value),!v[5]?null:v[5].map(function(p){return new Handle(p.value);}),!v[6]?null:v[6].map(function(p){return new Handle(p.value);}),!v[7]?null:new IFC4X3.IfcLabel(v[7].value),!v[8]?null:new IFC4X3.IfcLabel(v[8].value),v[9]);},1217240411:function _(id,v){return new IFC4X3.IfcElectricMotorType(id,new IFC4X3.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4X3.IfcLabel(v[2].value),!v[3]?null:new IFC4X3.IfcText(v[3].value),!v[4]?null:new IFC4X3.IfcIdentifier(v[4].value),!v[5]?null:v[5].map(function(p){return new Handle(p.value);}),!v[6]?null:v[6].map(function(p){return new Handle(p.value);}),!v[7]?null:new IFC4X3.IfcLabel(v[7].value),!v[8]?null:new IFC4X3.IfcLabel(v[8].value),v[9]);},712377611:function _(id,v){return new IFC4X3.IfcElectricTimeControlType(id,new IFC4X3.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4X3.IfcLabel(v[2].value),!v[3]?null:new IFC4X3.IfcText(v[3].value),!v[4]?null:new IFC4X3.IfcIdentifier(v[4].value),!v[5]?null:v[5].map(function(p){return new Handle(p.value);}),!v[6]?null:v[6].map(function(p){return new Handle(p.value);}),!v[7]?null:new IFC4X3.IfcLabel(v[7].value),!v[8]?null:new IFC4X3.IfcLabel(v[8].value),v[9]);},1658829314:function _(id,v){return new IFC4X3.IfcEnergyConversionDevice(id,new IFC4X3.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4X3.IfcLabel(v[2].value),!v[3]?null:new IFC4X3.IfcText(v[3].value),!v[4]?null:new IFC4X3.IfcLabel(v[4].value),!v[5]?null:new Handle(v[5].value),!v[6]?null:new Handle(v[6].value),!v[7]?null:new IFC4X3.IfcIdentifier(v[7].value));},2814081492:function _(id,v){return new IFC4X3.IfcEngine(id,new IFC4X3.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4X3.IfcLabel(v[2].value),!v[3]?null:new IFC4X3.IfcText(v[3].value),!v[4]?null:new IFC4X3.IfcLabel(v[4].value),!v[5]?null:new Handle(v[5].value),!v[6]?null:new Handle(v[6].value),!v[7]?null:new IFC4X3.IfcIdentifier(v[7].value),v[8]);},3747195512:function _(id,v){return new IFC4X3.IfcEvaporativeCooler(id,new IFC4X3.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4X3.IfcLabel(v[2].value),!v[3]?null:new IFC4X3.IfcText(v[3].value),!v[4]?null:new IFC4X3.IfcLabel(v[4].value),!v[5]?null:new Handle(v[5].value),!v[6]?null:new Handle(v[6].value),!v[7]?null:new IFC4X3.IfcIdentifier(v[7].value),v[8]);},484807127:function _(id,v){return new IFC4X3.IfcEvaporator(id,new IFC4X3.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4X3.IfcLabel(v[2].value),!v[3]?null:new IFC4X3.IfcText(v[3].value),!v[4]?null:new IFC4X3.IfcLabel(v[4].value),!v[5]?null:new Handle(v[5].value),!v[6]?null:new Handle(v[6].value),!v[7]?null:new IFC4X3.IfcIdentifier(v[7].value),v[8]);},1209101575:function _(id,v){return new IFC4X3.IfcExternalSpatialElement(id,new IFC4X3.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4X3.IfcLabel(v[2].value),!v[3]?null:new IFC4X3.IfcText(v[3].value),!v[4]?null:new IFC4X3.IfcLabel(v[4].value),!v[5]?null:new Handle(v[5].value),!v[6]?null:new Handle(v[6].value),!v[7]?null:new IFC4X3.IfcLabel(v[7].value),v[8]);},346874300:function _(id,v){return new IFC4X3.IfcFanType(id,new IFC4X3.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4X3.IfcLabel(v[2].value),!v[3]?null:new IFC4X3.IfcText(v[3].value),!v[4]?null:new IFC4X3.IfcIdentifier(v[4].value),!v[5]?null:v[5].map(function(p){return new Handle(p.value);}),!v[6]?null:v[6].map(function(p){return new Handle(p.value);}),!v[7]?null:new IFC4X3.IfcLabel(v[7].value),!v[8]?null:new IFC4X3.IfcLabel(v[8].value),v[9]);},1810631287:function _(id,v){return new IFC4X3.IfcFilterType(id,new IFC4X3.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4X3.IfcLabel(v[2].value),!v[3]?null:new IFC4X3.IfcText(v[3].value),!v[4]?null:new IFC4X3.IfcIdentifier(v[4].value),!v[5]?null:v[5].map(function(p){return new Handle(p.value);}),!v[6]?null:v[6].map(function(p){return new Handle(p.value);}),!v[7]?null:new IFC4X3.IfcLabel(v[7].value),!v[8]?null:new IFC4X3.IfcLabel(v[8].value),v[9]);},4222183408:function _(id,v){return new IFC4X3.IfcFireSuppressionTerminalType(id,new IFC4X3.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4X3.IfcLabel(v[2].value),!v[3]?null:new IFC4X3.IfcText(v[3].value),!v[4]?null:new IFC4X3.IfcIdentifier(v[4].value),!v[5]?null:v[5].map(function(p){return new Handle(p.value);}),!v[6]?null:v[6].map(function(p){return new Handle(p.value);}),!v[7]?null:new IFC4X3.IfcLabel(v[7].value),!v[8]?null:new IFC4X3.IfcLabel(v[8].value),v[9]);},2058353004:function _(id,v){return new IFC4X3.IfcFlowController(id,new IFC4X3.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4X3.IfcLabel(v[2].value),!v[3]?null:new IFC4X3.IfcText(v[3].value),!v[4]?null:new IFC4X3.IfcLabel(v[4].value),!v[5]?null:new Handle(v[5].value),!v[6]?null:new Handle(v[6].value),!v[7]?null:new IFC4X3.IfcIdentifier(v[7].value));},4278956645:function _(id,v){return new IFC4X3.IfcFlowFitting(id,new IFC4X3.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4X3.IfcLabel(v[2].value),!v[3]?null:new IFC4X3.IfcText(v[3].value),!v[4]?null:new IFC4X3.IfcLabel(v[4].value),!v[5]?null:new Handle(v[5].value),!v[6]?null:new Handle(v[6].value),!v[7]?null:new IFC4X3.IfcIdentifier(v[7].value));},4037862832:function _(id,v){return new IFC4X3.IfcFlowInstrumentType(id,new IFC4X3.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4X3.IfcLabel(v[2].value),!v[3]?null:new IFC4X3.IfcText(v[3].value),!v[4]?null:new IFC4X3.IfcIdentifier(v[4].value),!v[5]?null:v[5].map(function(p){return new Handle(p.value);}),!v[6]?null:v[6].map(function(p){return new Handle(p.value);}),!v[7]?null:new IFC4X3.IfcLabel(v[7].value),!v[8]?null:new IFC4X3.IfcLabel(v[8].value),v[9]);},2188021234:function _(id,v){return new IFC4X3.IfcFlowMeter(id,new IFC4X3.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4X3.IfcLabel(v[2].value),!v[3]?null:new IFC4X3.IfcText(v[3].value),!v[4]?null:new IFC4X3.IfcLabel(v[4].value),!v[5]?null:new Handle(v[5].value),!v[6]?null:new Handle(v[6].value),!v[7]?null:new IFC4X3.IfcIdentifier(v[7].value),v[8]);},3132237377:function _(id,v){return new IFC4X3.IfcFlowMovingDevice(id,new IFC4X3.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4X3.IfcLabel(v[2].value),!v[3]?null:new IFC4X3.IfcText(v[3].value),!v[4]?null:new IFC4X3.IfcLabel(v[4].value),!v[5]?null:new Handle(v[5].value),!v[6]?null:new Handle(v[6].value),!v[7]?null:new IFC4X3.IfcIdentifier(v[7].value));},987401354:function _(id,v){return new IFC4X3.IfcFlowSegment(id,new IFC4X3.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4X3.IfcLabel(v[2].value),!v[3]?null:new IFC4X3.IfcText(v[3].value),!v[4]?null:new IFC4X3.IfcLabel(v[4].value),!v[5]?null:new Handle(v[5].value),!v[6]?null:new Handle(v[6].value),!v[7]?null:new IFC4X3.IfcIdentifier(v[7].value));},707683696:function _(id,v){return new IFC4X3.IfcFlowStorageDevice(id,new IFC4X3.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4X3.IfcLabel(v[2].value),!v[3]?null:new IFC4X3.IfcText(v[3].value),!v[4]?null:new IFC4X3.IfcLabel(v[4].value),!v[5]?null:new Handle(v[5].value),!v[6]?null:new Handle(v[6].value),!v[7]?null:new IFC4X3.IfcIdentifier(v[7].value));},2223149337:function _(id,v){return new IFC4X3.IfcFlowTerminal(id,new IFC4X3.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4X3.IfcLabel(v[2].value),!v[3]?null:new IFC4X3.IfcText(v[3].value),!v[4]?null:new IFC4X3.IfcLabel(v[4].value),!v[5]?null:new Handle(v[5].value),!v[6]?null:new Handle(v[6].value),!v[7]?null:new IFC4X3.IfcIdentifier(v[7].value));},3508470533:function _(id,v){return new IFC4X3.IfcFlowTreatmentDevice(id,new IFC4X3.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4X3.IfcLabel(v[2].value),!v[3]?null:new IFC4X3.IfcText(v[3].value),!v[4]?null:new IFC4X3.IfcLabel(v[4].value),!v[5]?null:new Handle(v[5].value),!v[6]?null:new Handle(v[6].value),!v[7]?null:new IFC4X3.IfcIdentifier(v[7].value));},900683007:function _(id,v){return new IFC4X3.IfcFooting(id,new IFC4X3.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4X3.IfcLabel(v[2].value),!v[3]?null:new IFC4X3.IfcText(v[3].value),!v[4]?null:new IFC4X3.IfcLabel(v[4].value),!v[5]?null:new Handle(v[5].value),!v[6]?null:new Handle(v[6].value),!v[7]?null:new IFC4X3.IfcIdentifier(v[7].value),v[8]);},2713699986:function _(id,v){return new IFC4X3.IfcGeotechnicalAssembly(id,new IFC4X3.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4X3.IfcLabel(v[2].value),!v[3]?null:new IFC4X3.IfcText(v[3].value),!v[4]?null:new IFC4X3.IfcLabel(v[4].value),!v[5]?null:new Handle(v[5].value),!v[6]?null:new Handle(v[6].value),!v[7]?null:new IFC4X3.IfcIdentifier(v[7].value));},3009204131:function _(id,v){return new IFC4X3.IfcGrid(id,new IFC4X3.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4X3.IfcLabel(v[2].value),!v[3]?null:new IFC4X3.IfcText(v[3].value),!v[4]?null:new IFC4X3.IfcLabel(v[4].value),!v[5]?null:new Handle(v[5].value),!v[6]?null:new Handle(v[6].value),v[7].map(function(p){return new Handle(p.value);}),v[8].map(function(p){return new Handle(p.value);}),!v[9]?null:v[9].map(function(p){return new Handle(p.value);}),v[10]);},3319311131:function _(id,v){return new IFC4X3.IfcHeatExchanger(id,new IFC4X3.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4X3.IfcLabel(v[2].value),!v[3]?null:new IFC4X3.IfcText(v[3].value),!v[4]?null:new IFC4X3.IfcLabel(v[4].value),!v[5]?null:new Handle(v[5].value),!v[6]?null:new Handle(v[6].value),!v[7]?null:new IFC4X3.IfcIdentifier(v[7].value),v[8]);},2068733104:function _(id,v){return new IFC4X3.IfcHumidifier(id,new IFC4X3.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4X3.IfcLabel(v[2].value),!v[3]?null:new IFC4X3.IfcText(v[3].value),!v[4]?null:new IFC4X3.IfcLabel(v[4].value),!v[5]?null:new Handle(v[5].value),!v[6]?null:new Handle(v[6].value),!v[7]?null:new IFC4X3.IfcIdentifier(v[7].value),v[8]);},4175244083:function _(id,v){return new IFC4X3.IfcInterceptor(id,new IFC4X3.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4X3.IfcLabel(v[2].value),!v[3]?null:new IFC4X3.IfcText(v[3].value),!v[4]?null:new IFC4X3.IfcLabel(v[4].value),!v[5]?null:new Handle(v[5].value),!v[6]?null:new Handle(v[6].value),!v[7]?null:new IFC4X3.IfcIdentifier(v[7].value),v[8]);},2176052936:function _(id,v){return new IFC4X3.IfcJunctionBox(id,new IFC4X3.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4X3.IfcLabel(v[2].value),!v[3]?null:new IFC4X3.IfcText(v[3].value),!v[4]?null:new IFC4X3.IfcLabel(v[4].value),!v[5]?null:new Handle(v[5].value),!v[6]?null:new Handle(v[6].value),!v[7]?null:new IFC4X3.IfcIdentifier(v[7].value),v[8]);},2696325953:function _(id,v){return new IFC4X3.IfcKerb(id,new IFC4X3.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4X3.IfcLabel(v[2].value),!v[3]?null:new IFC4X3.IfcText(v[3].value),!v[4]?null:new IFC4X3.IfcLabel(v[4].value),!v[5]?null:new Handle(v[5].value),!v[6]?null:new Handle(v[6].value),!v[7]?null:new IFC4X3.IfcIdentifier(v[7].value),new IFC4X3.IfcBoolean(v[8].value));},76236018:function _(id,v){return new IFC4X3.IfcLamp(id,new IFC4X3.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4X3.IfcLabel(v[2].value),!v[3]?null:new IFC4X3.IfcText(v[3].value),!v[4]?null:new IFC4X3.IfcLabel(v[4].value),!v[5]?null:new Handle(v[5].value),!v[6]?null:new Handle(v[6].value),!v[7]?null:new IFC4X3.IfcIdentifier(v[7].value),v[8]);},629592764:function _(id,v){return new IFC4X3.IfcLightFixture(id,new IFC4X3.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4X3.IfcLabel(v[2].value),!v[3]?null:new IFC4X3.IfcText(v[3].value),!v[4]?null:new IFC4X3.IfcLabel(v[4].value),!v[5]?null:new Handle(v[5].value),!v[6]?null:new Handle(v[6].value),!v[7]?null:new IFC4X3.IfcIdentifier(v[7].value),v[8]);},1154579445:function _(id,v){return new IFC4X3.IfcLinearPositioningElement(id,new IFC4X3.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4X3.IfcLabel(v[2].value),!v[3]?null:new IFC4X3.IfcText(v[3].value),!v[4]?null:new IFC4X3.IfcLabel(v[4].value),!v[5]?null:new Handle(v[5].value),!v[6]?null:new Handle(v[6].value));},1638804497:function _(id,v){return new IFC4X3.IfcLiquidTerminal(id,new IFC4X3.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4X3.IfcLabel(v[2].value),!v[3]?null:new IFC4X3.IfcText(v[3].value),!v[4]?null:new IFC4X3.IfcLabel(v[4].value),!v[5]?null:new Handle(v[5].value),!v[6]?null:new Handle(v[6].value),!v[7]?null:new IFC4X3.IfcIdentifier(v[7].value),v[8]);},1437502449:function _(id,v){return new IFC4X3.IfcMedicalDevice(id,new IFC4X3.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4X3.IfcLabel(v[2].value),!v[3]?null:new IFC4X3.IfcText(v[3].value),!v[4]?null:new IFC4X3.IfcLabel(v[4].value),!v[5]?null:new Handle(v[5].value),!v[6]?null:new Handle(v[6].value),!v[7]?null:new IFC4X3.IfcIdentifier(v[7].value),v[8]);},1073191201:function _(id,v){return new IFC4X3.IfcMember(id,new IFC4X3.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4X3.IfcLabel(v[2].value),!v[3]?null:new IFC4X3.IfcText(v[3].value),!v[4]?null:new IFC4X3.IfcLabel(v[4].value),!v[5]?null:new Handle(v[5].value),!v[6]?null:new Handle(v[6].value),!v[7]?null:new IFC4X3.IfcIdentifier(v[7].value),v[8]);},2078563270:function _(id,v){return new IFC4X3.IfcMobileTelecommunicationsAppliance(id,new IFC4X3.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4X3.IfcLabel(v[2].value),!v[3]?null:new IFC4X3.IfcText(v[3].value),!v[4]?null:new IFC4X3.IfcLabel(v[4].value),!v[5]?null:new Handle(v[5].value),!v[6]?null:new Handle(v[6].value),!v[7]?null:new IFC4X3.IfcIdentifier(v[7].value),v[8]);},234836483:function _(id,v){return new IFC4X3.IfcMooringDevice(id,new IFC4X3.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4X3.IfcLabel(v[2].value),!v[3]?null:new IFC4X3.IfcText(v[3].value),!v[4]?null:new IFC4X3.IfcLabel(v[4].value),!v[5]?null:new Handle(v[5].value),!v[6]?null:new Handle(v[6].value),!v[7]?null:new IFC4X3.IfcIdentifier(v[7].value),v[8]);},2474470126:function _(id,v){return new IFC4X3.IfcMotorConnection(id,new IFC4X3.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4X3.IfcLabel(v[2].value),!v[3]?null:new IFC4X3.IfcText(v[3].value),!v[4]?null:new IFC4X3.IfcLabel(v[4].value),!v[5]?null:new Handle(v[5].value),!v[6]?null:new Handle(v[6].value),!v[7]?null:new IFC4X3.IfcIdentifier(v[7].value),v[8]);},2182337498:function _(id,v){return new IFC4X3.IfcNavigationElement(id,new IFC4X3.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4X3.IfcLabel(v[2].value),!v[3]?null:new IFC4X3.IfcText(v[3].value),!v[4]?null:new IFC4X3.IfcLabel(v[4].value),!v[5]?null:new Handle(v[5].value),!v[6]?null:new Handle(v[6].value),!v[7]?null:new IFC4X3.IfcIdentifier(v[7].value),v[8]);},144952367:function _(id,v){return new IFC4X3.IfcOuterBoundaryCurve(id,v[0].map(function(p){return new Handle(p.value);}),new IFC4X3.IfcLogical(v[1].value));},3694346114:function _(id,v){return new IFC4X3.IfcOutlet(id,new IFC4X3.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4X3.IfcLabel(v[2].value),!v[3]?null:new IFC4X3.IfcText(v[3].value),!v[4]?null:new IFC4X3.IfcLabel(v[4].value),!v[5]?null:new Handle(v[5].value),!v[6]?null:new Handle(v[6].value),!v[7]?null:new IFC4X3.IfcIdentifier(v[7].value),v[8]);},1383356374:function _(id,v){return new IFC4X3.IfcPavement(id,new IFC4X3.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4X3.IfcLabel(v[2].value),!v[3]?null:new IFC4X3.IfcText(v[3].value),!v[4]?null:new IFC4X3.IfcLabel(v[4].value),!v[5]?null:new Handle(v[5].value),!v[6]?null:new Handle(v[6].value),!v[7]?null:new IFC4X3.IfcIdentifier(v[7].value),v[8]);},1687234759:function _(id,v){return new IFC4X3.IfcPile(id,new IFC4X3.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4X3.IfcLabel(v[2].value),!v[3]?null:new IFC4X3.IfcText(v[3].value),!v[4]?null:new IFC4X3.IfcLabel(v[4].value),!v[5]?null:new Handle(v[5].value),!v[6]?null:new Handle(v[6].value),!v[7]?null:new IFC4X3.IfcIdentifier(v[7].value),v[8],v[9]);},310824031:function _(id,v){return new IFC4X3.IfcPipeFitting(id,new IFC4X3.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4X3.IfcLabel(v[2].value),!v[3]?null:new IFC4X3.IfcText(v[3].value),!v[4]?null:new IFC4X3.IfcLabel(v[4].value),!v[5]?null:new Handle(v[5].value),!v[6]?null:new Handle(v[6].value),!v[7]?null:new IFC4X3.IfcIdentifier(v[7].value),v[8]);},3612865200:function _(id,v){return new IFC4X3.IfcPipeSegment(id,new IFC4X3.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4X3.IfcLabel(v[2].value),!v[3]?null:new IFC4X3.IfcText(v[3].value),!v[4]?null:new IFC4X3.IfcLabel(v[4].value),!v[5]?null:new Handle(v[5].value),!v[6]?null:new Handle(v[6].value),!v[7]?null:new IFC4X3.IfcIdentifier(v[7].value),v[8]);},3171933400:function _(id,v){return new IFC4X3.IfcPlate(id,new IFC4X3.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4X3.IfcLabel(v[2].value),!v[3]?null:new IFC4X3.IfcText(v[3].value),!v[4]?null:new IFC4X3.IfcLabel(v[4].value),!v[5]?null:new Handle(v[5].value),!v[6]?null:new Handle(v[6].value),!v[7]?null:new IFC4X3.IfcIdentifier(v[7].value),v[8]);},738039164:function _(id,v){return new IFC4X3.IfcProtectiveDevice(id,new IFC4X3.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4X3.IfcLabel(v[2].value),!v[3]?null:new IFC4X3.IfcText(v[3].value),!v[4]?null:new IFC4X3.IfcLabel(v[4].value),!v[5]?null:new Handle(v[5].value),!v[6]?null:new Handle(v[6].value),!v[7]?null:new IFC4X3.IfcIdentifier(v[7].value),v[8]);},655969474:function _(id,v){return new IFC4X3.IfcProtectiveDeviceTrippingUnitType(id,new IFC4X3.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4X3.IfcLabel(v[2].value),!v[3]?null:new IFC4X3.IfcText(v[3].value),!v[4]?null:new IFC4X3.IfcIdentifier(v[4].value),!v[5]?null:v[5].map(function(p){return new Handle(p.value);}),!v[6]?null:v[6].map(function(p){return new Handle(p.value);}),!v[7]?null:new IFC4X3.IfcLabel(v[7].value),!v[8]?null:new IFC4X3.IfcLabel(v[8].value),v[9]);},90941305:function _(id,v){return new IFC4X3.IfcPump(id,new IFC4X3.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4X3.IfcLabel(v[2].value),!v[3]?null:new IFC4X3.IfcText(v[3].value),!v[4]?null:new IFC4X3.IfcLabel(v[4].value),!v[5]?null:new Handle(v[5].value),!v[6]?null:new Handle(v[6].value),!v[7]?null:new IFC4X3.IfcIdentifier(v[7].value),v[8]);},3290496277:function _(id,v){return new IFC4X3.IfcRail(id,new IFC4X3.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4X3.IfcLabel(v[2].value),!v[3]?null:new IFC4X3.IfcText(v[3].value),!v[4]?null:new IFC4X3.IfcLabel(v[4].value),!v[5]?null:new Handle(v[5].value),!v[6]?null:new Handle(v[6].value),!v[7]?null:new IFC4X3.IfcIdentifier(v[7].value),v[8]);},2262370178:function _(id,v){return new IFC4X3.IfcRailing(id,new IFC4X3.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4X3.IfcLabel(v[2].value),!v[3]?null:new IFC4X3.IfcText(v[3].value),!v[4]?null:new IFC4X3.IfcLabel(v[4].value),!v[5]?null:new Handle(v[5].value),!v[6]?null:new Handle(v[6].value),!v[7]?null:new IFC4X3.IfcIdentifier(v[7].value),v[8]);},3024970846:function _(id,v){return new IFC4X3.IfcRamp(id,new IFC4X3.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4X3.IfcLabel(v[2].value),!v[3]?null:new IFC4X3.IfcText(v[3].value),!v[4]?null:new IFC4X3.IfcLabel(v[4].value),!v[5]?null:new Handle(v[5].value),!v[6]?null:new Handle(v[6].value),!v[7]?null:new IFC4X3.IfcIdentifier(v[7].value),v[8]);},3283111854:function _(id,v){return new IFC4X3.IfcRampFlight(id,new IFC4X3.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4X3.IfcLabel(v[2].value),!v[3]?null:new IFC4X3.IfcText(v[3].value),!v[4]?null:new IFC4X3.IfcLabel(v[4].value),!v[5]?null:new Handle(v[5].value),!v[6]?null:new Handle(v[6].value),!v[7]?null:new IFC4X3.IfcIdentifier(v[7].value),v[8]);},1232101972:function _(id,v){return new IFC4X3.IfcRationalBSplineCurveWithKnots(id,new IFC4X3.IfcInteger(v[0].value),v[1].map(function(p){return new Handle(p.value);}),v[2],new IFC4X3.IfcLogical(v[3].value),new IFC4X3.IfcLogical(v[4].value),v[5].map(function(p){return new IFC4X3.IfcInteger(p.value);}),v[6].map(function(p){return new IFC4X3.IfcParameterValue(p.value);}),v[7],v[8].map(function(p){return new IFC4X3.IfcReal(p.value);}));},3798194928:function _(id,v){return new IFC4X3.IfcReinforcedSoil(id,new IFC4X3.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4X3.IfcLabel(v[2].value),!v[3]?null:new IFC4X3.IfcText(v[3].value),!v[4]?null:new IFC4X3.IfcLabel(v[4].value),!v[5]?null:new Handle(v[5].value),!v[6]?null:new Handle(v[6].value),!v[7]?null:new IFC4X3.IfcIdentifier(v[7].value),v[8]);},979691226:function _(id,v){return new IFC4X3.IfcReinforcingBar(id,new IFC4X3.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4X3.IfcLabel(v[2].value),!v[3]?null:new IFC4X3.IfcText(v[3].value),!v[4]?null:new IFC4X3.IfcLabel(v[4].value),!v[5]?null:new Handle(v[5].value),!v[6]?null:new Handle(v[6].value),!v[7]?null:new IFC4X3.IfcIdentifier(v[7].value),!v[8]?null:new IFC4X3.IfcLabel(v[8].value),!v[9]?null:new IFC4X3.IfcPositiveLengthMeasure(v[9].value),!v[10]?null:new IFC4X3.IfcAreaMeasure(v[10].value),!v[11]?null:new IFC4X3.IfcPositiveLengthMeasure(v[11].value),v[12],v[13]);},2572171363:function _(id,v){return new IFC4X3.IfcReinforcingBarType(id,new IFC4X3.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4X3.IfcLabel(v[2].value),!v[3]?null:new IFC4X3.IfcText(v[3].value),!v[4]?null:new IFC4X3.IfcIdentifier(v[4].value),!v[5]?null:v[5].map(function(p){return new Handle(p.value);}),!v[6]?null:v[6].map(function(p){return new Handle(p.value);}),!v[7]?null:new IFC4X3.IfcLabel(v[7].value),!v[8]?null:new IFC4X3.IfcLabel(v[8].value),v[9],!v[10]?null:new IFC4X3.IfcPositiveLengthMeasure(v[10].value),!v[11]?null:new IFC4X3.IfcAreaMeasure(v[11].value),!v[12]?null:new IFC4X3.IfcPositiveLengthMeasure(v[12].value),v[13],!v[14]?null:new IFC4X3.IfcLabel(v[14].value),!v[15]?null:v[15].map(function(p){return TypeInitialiser(3,p);}));},2016517767:function _(id,v){return new IFC4X3.IfcRoof(id,new IFC4X3.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4X3.IfcLabel(v[2].value),!v[3]?null:new IFC4X3.IfcText(v[3].value),!v[4]?null:new IFC4X3.IfcLabel(v[4].value),!v[5]?null:new Handle(v[5].value),!v[6]?null:new Handle(v[6].value),!v[7]?null:new IFC4X3.IfcIdentifier(v[7].value),v[8]);},3053780830:function _(id,v){return new IFC4X3.IfcSanitaryTerminal(id,new IFC4X3.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4X3.IfcLabel(v[2].value),!v[3]?null:new IFC4X3.IfcText(v[3].value),!v[4]?null:new IFC4X3.IfcLabel(v[4].value),!v[5]?null:new Handle(v[5].value),!v[6]?null:new Handle(v[6].value),!v[7]?null:new IFC4X3.IfcIdentifier(v[7].value),v[8]);},1783015770:function _(id,v){return new IFC4X3.IfcSensorType(id,new IFC4X3.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4X3.IfcLabel(v[2].value),!v[3]?null:new IFC4X3.IfcText(v[3].value),!v[4]?null:new IFC4X3.IfcIdentifier(v[4].value),!v[5]?null:v[5].map(function(p){return new Handle(p.value);}),!v[6]?null:v[6].map(function(p){return new Handle(p.value);}),!v[7]?null:new IFC4X3.IfcLabel(v[7].value),!v[8]?null:new IFC4X3.IfcLabel(v[8].value),v[9]);},1329646415:function _(id,v){return new IFC4X3.IfcShadingDevice(id,new IFC4X3.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4X3.IfcLabel(v[2].value),!v[3]?null:new IFC4X3.IfcText(v[3].value),!v[4]?null:new IFC4X3.IfcLabel(v[4].value),!v[5]?null:new Handle(v[5].value),!v[6]?null:new Handle(v[6].value),!v[7]?null:new IFC4X3.IfcIdentifier(v[7].value),v[8]);},991950508:function _(id,v){return new IFC4X3.IfcSignal(id,new IFC4X3.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4X3.IfcLabel(v[2].value),!v[3]?null:new IFC4X3.IfcText(v[3].value),!v[4]?null:new IFC4X3.IfcLabel(v[4].value),!v[5]?null:new Handle(v[5].value),!v[6]?null:new Handle(v[6].value),!v[7]?null:new IFC4X3.IfcIdentifier(v[7].value),v[8]);},1529196076:function _(id,v){return new IFC4X3.IfcSlab(id,new IFC4X3.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4X3.IfcLabel(v[2].value),!v[3]?null:new IFC4X3.IfcText(v[3].value),!v[4]?null:new IFC4X3.IfcLabel(v[4].value),!v[5]?null:new Handle(v[5].value),!v[6]?null:new Handle(v[6].value),!v[7]?null:new IFC4X3.IfcIdentifier(v[7].value),v[8]);},3420628829:function _(id,v){return new IFC4X3.IfcSolarDevice(id,new IFC4X3.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4X3.IfcLabel(v[2].value),!v[3]?null:new IFC4X3.IfcText(v[3].value),!v[4]?null:new IFC4X3.IfcLabel(v[4].value),!v[5]?null:new Handle(v[5].value),!v[6]?null:new Handle(v[6].value),!v[7]?null:new IFC4X3.IfcIdentifier(v[7].value),v[8]);},1999602285:function _(id,v){return new IFC4X3.IfcSpaceHeater(id,new IFC4X3.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4X3.IfcLabel(v[2].value),!v[3]?null:new IFC4X3.IfcText(v[3].value),!v[4]?null:new IFC4X3.IfcLabel(v[4].value),!v[5]?null:new Handle(v[5].value),!v[6]?null:new Handle(v[6].value),!v[7]?null:new IFC4X3.IfcIdentifier(v[7].value),v[8]);},1404847402:function _(id,v){return new IFC4X3.IfcStackTerminal(id,new IFC4X3.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4X3.IfcLabel(v[2].value),!v[3]?null:new IFC4X3.IfcText(v[3].value),!v[4]?null:new IFC4X3.IfcLabel(v[4].value),!v[5]?null:new Handle(v[5].value),!v[6]?null:new Handle(v[6].value),!v[7]?null:new IFC4X3.IfcIdentifier(v[7].value),v[8]);},331165859:function _(id,v){return new IFC4X3.IfcStair(id,new IFC4X3.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4X3.IfcLabel(v[2].value),!v[3]?null:new IFC4X3.IfcText(v[3].value),!v[4]?null:new IFC4X3.IfcLabel(v[4].value),!v[5]?null:new Handle(v[5].value),!v[6]?null:new Handle(v[6].value),!v[7]?null:new IFC4X3.IfcIdentifier(v[7].value),v[8]);},4252922144:function _(id,v){return new IFC4X3.IfcStairFlight(id,new IFC4X3.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4X3.IfcLabel(v[2].value),!v[3]?null:new IFC4X3.IfcText(v[3].value),!v[4]?null:new IFC4X3.IfcLabel(v[4].value),!v[5]?null:new Handle(v[5].value),!v[6]?null:new Handle(v[6].value),!v[7]?null:new IFC4X3.IfcIdentifier(v[7].value),!v[8]?null:new IFC4X3.IfcInteger(v[8].value),!v[9]?null:new IFC4X3.IfcInteger(v[9].value),!v[10]?null:new IFC4X3.IfcPositiveLengthMeasure(v[10].value),!v[11]?null:new IFC4X3.IfcPositiveLengthMeasure(v[11].value),v[12]);},2515109513:function _(id,v){return new IFC4X3.IfcStructuralAnalysisModel(id,new IFC4X3.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4X3.IfcLabel(v[2].value),!v[3]?null:new IFC4X3.IfcText(v[3].value),!v[4]?null:new IFC4X3.IfcLabel(v[4].value),v[5],!v[6]?null:new Handle(v[6].value),!v[7]?null:v[7].map(function(p){return new Handle(p.value);}),!v[8]?null:v[8].map(function(p){return new Handle(p.value);}),!v[9]?null:new Handle(v[9].value));},385403989:function _(id,v){return new IFC4X3.IfcStructuralLoadCase(id,new IFC4X3.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4X3.IfcLabel(v[2].value),!v[3]?null:new IFC4X3.IfcText(v[3].value),!v[4]?null:new IFC4X3.IfcLabel(v[4].value),v[5],v[6],v[7],!v[8]?null:new IFC4X3.IfcRatioMeasure(v[8].value),!v[9]?null:new IFC4X3.IfcLabel(v[9].value),!v[10]?null:v[10].map(function(p){return new IFC4X3.IfcRatioMeasure(p.value);}));},1621171031:function _(id,v){return new IFC4X3.IfcStructuralPlanarAction(id,new IFC4X3.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4X3.IfcLabel(v[2].value),!v[3]?null:new IFC4X3.IfcText(v[3].value),!v[4]?null:new IFC4X3.IfcLabel(v[4].value),!v[5]?null:new Handle(v[5].value),!v[6]?null:new Handle(v[6].value),new Handle(v[7].value),v[8],!v[9]?null:new IFC4X3.IfcBoolean(v[9].value),v[10],v[11]);},1162798199:function _(id,v){return new IFC4X3.IfcSwitchingDevice(id,new IFC4X3.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4X3.IfcLabel(v[2].value),!v[3]?null:new IFC4X3.IfcText(v[3].value),!v[4]?null:new IFC4X3.IfcLabel(v[4].value),!v[5]?null:new Handle(v[5].value),!v[6]?null:new Handle(v[6].value),!v[7]?null:new IFC4X3.IfcIdentifier(v[7].value),v[8]);},812556717:function _(id,v){return new IFC4X3.IfcTank(id,new IFC4X3.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4X3.IfcLabel(v[2].value),!v[3]?null:new IFC4X3.IfcText(v[3].value),!v[4]?null:new IFC4X3.IfcLabel(v[4].value),!v[5]?null:new Handle(v[5].value),!v[6]?null:new Handle(v[6].value),!v[7]?null:new IFC4X3.IfcIdentifier(v[7].value),v[8]);},3425753595:function _(id,v){return new IFC4X3.IfcTrackElement(id,new IFC4X3.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4X3.IfcLabel(v[2].value),!v[3]?null:new IFC4X3.IfcText(v[3].value),!v[4]?null:new IFC4X3.IfcLabel(v[4].value),!v[5]?null:new Handle(v[5].value),!v[6]?null:new Handle(v[6].value),!v[7]?null:new IFC4X3.IfcIdentifier(v[7].value),v[8]);},3825984169:function _(id,v){return new IFC4X3.IfcTransformer(id,new IFC4X3.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4X3.IfcLabel(v[2].value),!v[3]?null:new IFC4X3.IfcText(v[3].value),!v[4]?null:new IFC4X3.IfcLabel(v[4].value),!v[5]?null:new Handle(v[5].value),!v[6]?null:new Handle(v[6].value),!v[7]?null:new IFC4X3.IfcIdentifier(v[7].value),v[8]);},1620046519:function _(id,v){return new IFC4X3.IfcTransportElement(id,new IFC4X3.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4X3.IfcLabel(v[2].value),!v[3]?null:new IFC4X3.IfcText(v[3].value),!v[4]?null:new IFC4X3.IfcLabel(v[4].value),!v[5]?null:new Handle(v[5].value),!v[6]?null:new Handle(v[6].value),!v[7]?null:new IFC4X3.IfcIdentifier(v[7].value),v[8]);},3026737570:function _(id,v){return new IFC4X3.IfcTubeBundle(id,new IFC4X3.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4X3.IfcLabel(v[2].value),!v[3]?null:new IFC4X3.IfcText(v[3].value),!v[4]?null:new IFC4X3.IfcLabel(v[4].value),!v[5]?null:new Handle(v[5].value),!v[6]?null:new Handle(v[6].value),!v[7]?null:new IFC4X3.IfcIdentifier(v[7].value),v[8]);},3179687236:function _(id,v){return new IFC4X3.IfcUnitaryControlElementType(id,new IFC4X3.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4X3.IfcLabel(v[2].value),!v[3]?null:new IFC4X3.IfcText(v[3].value),!v[4]?null:new IFC4X3.IfcIdentifier(v[4].value),!v[5]?null:v[5].map(function(p){return new Handle(p.value);}),!v[6]?null:v[6].map(function(p){return new Handle(p.value);}),!v[7]?null:new IFC4X3.IfcLabel(v[7].value),!v[8]?null:new IFC4X3.IfcLabel(v[8].value),v[9]);},4292641817:function _(id,v){return new IFC4X3.IfcUnitaryEquipment(id,new IFC4X3.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4X3.IfcLabel(v[2].value),!v[3]?null:new IFC4X3.IfcText(v[3].value),!v[4]?null:new IFC4X3.IfcLabel(v[4].value),!v[5]?null:new Handle(v[5].value),!v[6]?null:new Handle(v[6].value),!v[7]?null:new IFC4X3.IfcIdentifier(v[7].value),v[8]);},4207607924:function _(id,v){return new IFC4X3.IfcValve(id,new IFC4X3.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4X3.IfcLabel(v[2].value),!v[3]?null:new IFC4X3.IfcText(v[3].value),!v[4]?null:new IFC4X3.IfcLabel(v[4].value),!v[5]?null:new Handle(v[5].value),!v[6]?null:new Handle(v[6].value),!v[7]?null:new IFC4X3.IfcIdentifier(v[7].value),v[8]);},2391406946:function _(id,v){return new IFC4X3.IfcWall(id,new IFC4X3.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4X3.IfcLabel(v[2].value),!v[3]?null:new IFC4X3.IfcText(v[3].value),!v[4]?null:new IFC4X3.IfcLabel(v[4].value),!v[5]?null:new Handle(v[5].value),!v[6]?null:new Handle(v[6].value),!v[7]?null:new IFC4X3.IfcIdentifier(v[7].value),v[8]);},3512223829:function _(id,v){return new IFC4X3.IfcWallStandardCase(id,new IFC4X3.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4X3.IfcLabel(v[2].value),!v[3]?null:new IFC4X3.IfcText(v[3].value),!v[4]?null:new IFC4X3.IfcLabel(v[4].value),!v[5]?null:new Handle(v[5].value),!v[6]?null:new Handle(v[6].value),!v[7]?null:new IFC4X3.IfcIdentifier(v[7].value),v[8]);},4237592921:function _(id,v){return new IFC4X3.IfcWasteTerminal(id,new IFC4X3.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4X3.IfcLabel(v[2].value),!v[3]?null:new IFC4X3.IfcText(v[3].value),!v[4]?null:new IFC4X3.IfcLabel(v[4].value),!v[5]?null:new Handle(v[5].value),!v[6]?null:new Handle(v[6].value),!v[7]?null:new IFC4X3.IfcIdentifier(v[7].value),v[8]);},3304561284:function _(id,v){return new IFC4X3.IfcWindow(id,new IFC4X3.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4X3.IfcLabel(v[2].value),!v[3]?null:new IFC4X3.IfcText(v[3].value),!v[4]?null:new IFC4X3.IfcLabel(v[4].value),!v[5]?null:new Handle(v[5].value),!v[6]?null:new Handle(v[6].value),!v[7]?null:new IFC4X3.IfcIdentifier(v[7].value),!v[8]?null:new IFC4X3.IfcPositiveLengthMeasure(v[8].value),!v[9]?null:new IFC4X3.IfcPositiveLengthMeasure(v[9].value),v[10],v[11],!v[12]?null:new IFC4X3.IfcLabel(v[12].value));},2874132201:function _(id,v){return new IFC4X3.IfcActuatorType(id,new IFC4X3.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4X3.IfcLabel(v[2].value),!v[3]?null:new IFC4X3.IfcText(v[3].value),!v[4]?null:new IFC4X3.IfcIdentifier(v[4].value),!v[5]?null:v[5].map(function(p){return new Handle(p.value);}),!v[6]?null:v[6].map(function(p){return new Handle(p.value);}),!v[7]?null:new IFC4X3.IfcLabel(v[7].value),!v[8]?null:new IFC4X3.IfcLabel(v[8].value),v[9]);},1634111441:function _(id,v){return new IFC4X3.IfcAirTerminal(id,new IFC4X3.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4X3.IfcLabel(v[2].value),!v[3]?null:new IFC4X3.IfcText(v[3].value),!v[4]?null:new IFC4X3.IfcLabel(v[4].value),!v[5]?null:new Handle(v[5].value),!v[6]?null:new Handle(v[6].value),!v[7]?null:new IFC4X3.IfcIdentifier(v[7].value),v[8]);},177149247:function _(id,v){return new IFC4X3.IfcAirTerminalBox(id,new IFC4X3.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4X3.IfcLabel(v[2].value),!v[3]?null:new IFC4X3.IfcText(v[3].value),!v[4]?null:new IFC4X3.IfcLabel(v[4].value),!v[5]?null:new Handle(v[5].value),!v[6]?null:new Handle(v[6].value),!v[7]?null:new IFC4X3.IfcIdentifier(v[7].value),v[8]);},2056796094:function _(id,v){return new IFC4X3.IfcAirToAirHeatRecovery(id,new IFC4X3.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4X3.IfcLabel(v[2].value),!v[3]?null:new IFC4X3.IfcText(v[3].value),!v[4]?null:new IFC4X3.IfcLabel(v[4].value),!v[5]?null:new Handle(v[5].value),!v[6]?null:new Handle(v[6].value),!v[7]?null:new IFC4X3.IfcIdentifier(v[7].value),v[8]);},3001207471:function _(id,v){return new IFC4X3.IfcAlarmType(id,new IFC4X3.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4X3.IfcLabel(v[2].value),!v[3]?null:new IFC4X3.IfcText(v[3].value),!v[4]?null:new IFC4X3.IfcIdentifier(v[4].value),!v[5]?null:v[5].map(function(p){return new Handle(p.value);}),!v[6]?null:v[6].map(function(p){return new Handle(p.value);}),!v[7]?null:new IFC4X3.IfcLabel(v[7].value),!v[8]?null:new IFC4X3.IfcLabel(v[8].value),v[9]);},325726236:function _(id,v){return new IFC4X3.IfcAlignment(id,new IFC4X3.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4X3.IfcLabel(v[2].value),!v[3]?null:new IFC4X3.IfcText(v[3].value),!v[4]?null:new IFC4X3.IfcLabel(v[4].value),!v[5]?null:new Handle(v[5].value),!v[6]?null:new Handle(v[6].value),v[7]);},277319702:function _(id,v){return new IFC4X3.IfcAudioVisualAppliance(id,new IFC4X3.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4X3.IfcLabel(v[2].value),!v[3]?null:new IFC4X3.IfcText(v[3].value),!v[4]?null:new IFC4X3.IfcLabel(v[4].value),!v[5]?null:new Handle(v[5].value),!v[6]?null:new Handle(v[6].value),!v[7]?null:new IFC4X3.IfcIdentifier(v[7].value),v[8]);},753842376:function _(id,v){return new IFC4X3.IfcBeam(id,new IFC4X3.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4X3.IfcLabel(v[2].value),!v[3]?null:new IFC4X3.IfcText(v[3].value),!v[4]?null:new IFC4X3.IfcLabel(v[4].value),!v[5]?null:new Handle(v[5].value),!v[6]?null:new Handle(v[6].value),!v[7]?null:new IFC4X3.IfcIdentifier(v[7].value),v[8]);},4196446775:function _(id,v){return new IFC4X3.IfcBearing(id,new IFC4X3.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4X3.IfcLabel(v[2].value),!v[3]?null:new IFC4X3.IfcText(v[3].value),!v[4]?null:new IFC4X3.IfcLabel(v[4].value),!v[5]?null:new Handle(v[5].value),!v[6]?null:new Handle(v[6].value),!v[7]?null:new IFC4X3.IfcIdentifier(v[7].value),v[8]);},32344328:function _(id,v){return new IFC4X3.IfcBoiler(id,new IFC4X3.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4X3.IfcLabel(v[2].value),!v[3]?null:new IFC4X3.IfcText(v[3].value),!v[4]?null:new IFC4X3.IfcLabel(v[4].value),!v[5]?null:new Handle(v[5].value),!v[6]?null:new Handle(v[6].value),!v[7]?null:new IFC4X3.IfcIdentifier(v[7].value),v[8]);},3314249567:function _(id,v){return new IFC4X3.IfcBorehole(id,new IFC4X3.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4X3.IfcLabel(v[2].value),!v[3]?null:new IFC4X3.IfcText(v[3].value),!v[4]?null:new IFC4X3.IfcLabel(v[4].value),!v[5]?null:new Handle(v[5].value),!v[6]?null:new Handle(v[6].value),!v[7]?null:new IFC4X3.IfcIdentifier(v[7].value));},1095909175:function _(id,v){return new IFC4X3.IfcBuildingElementProxy(id,new IFC4X3.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4X3.IfcLabel(v[2].value),!v[3]?null:new IFC4X3.IfcText(v[3].value),!v[4]?null:new IFC4X3.IfcLabel(v[4].value),!v[5]?null:new Handle(v[5].value),!v[6]?null:new Handle(v[6].value),!v[7]?null:new IFC4X3.IfcIdentifier(v[7].value),v[8]);},2938176219:function _(id,v){return new IFC4X3.IfcBurner(id,new IFC4X3.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4X3.IfcLabel(v[2].value),!v[3]?null:new IFC4X3.IfcText(v[3].value),!v[4]?null:new IFC4X3.IfcLabel(v[4].value),!v[5]?null:new Handle(v[5].value),!v[6]?null:new Handle(v[6].value),!v[7]?null:new IFC4X3.IfcIdentifier(v[7].value),v[8]);},635142910:function _(id,v){return new IFC4X3.IfcCableCarrierFitting(id,new IFC4X3.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4X3.IfcLabel(v[2].value),!v[3]?null:new IFC4X3.IfcText(v[3].value),!v[4]?null:new IFC4X3.IfcLabel(v[4].value),!v[5]?null:new Handle(v[5].value),!v[6]?null:new Handle(v[6].value),!v[7]?null:new IFC4X3.IfcIdentifier(v[7].value),v[8]);},3758799889:function _(id,v){return new IFC4X3.IfcCableCarrierSegment(id,new IFC4X3.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4X3.IfcLabel(v[2].value),!v[3]?null:new IFC4X3.IfcText(v[3].value),!v[4]?null:new IFC4X3.IfcLabel(v[4].value),!v[5]?null:new Handle(v[5].value),!v[6]?null:new Handle(v[6].value),!v[7]?null:new IFC4X3.IfcIdentifier(v[7].value),v[8]);},1051757585:function _(id,v){return new IFC4X3.IfcCableFitting(id,new IFC4X3.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4X3.IfcLabel(v[2].value),!v[3]?null:new IFC4X3.IfcText(v[3].value),!v[4]?null:new IFC4X3.IfcLabel(v[4].value),!v[5]?null:new Handle(v[5].value),!v[6]?null:new Handle(v[6].value),!v[7]?null:new IFC4X3.IfcIdentifier(v[7].value),v[8]);},4217484030:function _(id,v){return new IFC4X3.IfcCableSegment(id,new IFC4X3.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4X3.IfcLabel(v[2].value),!v[3]?null:new IFC4X3.IfcText(v[3].value),!v[4]?null:new IFC4X3.IfcLabel(v[4].value),!v[5]?null:new Handle(v[5].value),!v[6]?null:new Handle(v[6].value),!v[7]?null:new IFC4X3.IfcIdentifier(v[7].value),v[8]);},3999819293:function _(id,v){return new IFC4X3.IfcCaissonFoundation(id,new IFC4X3.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4X3.IfcLabel(v[2].value),!v[3]?null:new IFC4X3.IfcText(v[3].value),!v[4]?null:new IFC4X3.IfcLabel(v[4].value),!v[5]?null:new Handle(v[5].value),!v[6]?null:new Handle(v[6].value),!v[7]?null:new IFC4X3.IfcIdentifier(v[7].value),v[8]);},3902619387:function _(id,v){return new IFC4X3.IfcChiller(id,new IFC4X3.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4X3.IfcLabel(v[2].value),!v[3]?null:new IFC4X3.IfcText(v[3].value),!v[4]?null:new IFC4X3.IfcLabel(v[4].value),!v[5]?null:new Handle(v[5].value),!v[6]?null:new Handle(v[6].value),!v[7]?null:new IFC4X3.IfcIdentifier(v[7].value),v[8]);},639361253:function _(id,v){return new IFC4X3.IfcCoil(id,new IFC4X3.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4X3.IfcLabel(v[2].value),!v[3]?null:new IFC4X3.IfcText(v[3].value),!v[4]?null:new IFC4X3.IfcLabel(v[4].value),!v[5]?null:new Handle(v[5].value),!v[6]?null:new Handle(v[6].value),!v[7]?null:new IFC4X3.IfcIdentifier(v[7].value),v[8]);},3221913625:function _(id,v){return new IFC4X3.IfcCommunicationsAppliance(id,new IFC4X3.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4X3.IfcLabel(v[2].value),!v[3]?null:new IFC4X3.IfcText(v[3].value),!v[4]?null:new IFC4X3.IfcLabel(v[4].value),!v[5]?null:new Handle(v[5].value),!v[6]?null:new Handle(v[6].value),!v[7]?null:new IFC4X3.IfcIdentifier(v[7].value),v[8]);},3571504051:function _(id,v){return new IFC4X3.IfcCompressor(id,new IFC4X3.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4X3.IfcLabel(v[2].value),!v[3]?null:new IFC4X3.IfcText(v[3].value),!v[4]?null:new IFC4X3.IfcLabel(v[4].value),!v[5]?null:new Handle(v[5].value),!v[6]?null:new Handle(v[6].value),!v[7]?null:new IFC4X3.IfcIdentifier(v[7].value),v[8]);},2272882330:function _(id,v){return new IFC4X3.IfcCondenser(id,new IFC4X3.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4X3.IfcLabel(v[2].value),!v[3]?null:new IFC4X3.IfcText(v[3].value),!v[4]?null:new IFC4X3.IfcLabel(v[4].value),!v[5]?null:new Handle(v[5].value),!v[6]?null:new Handle(v[6].value),!v[7]?null:new IFC4X3.IfcIdentifier(v[7].value),v[8]);},578613899:function _(id,v){return new IFC4X3.IfcControllerType(id,new IFC4X3.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4X3.IfcLabel(v[2].value),!v[3]?null:new IFC4X3.IfcText(v[3].value),!v[4]?null:new IFC4X3.IfcIdentifier(v[4].value),!v[5]?null:v[5].map(function(p){return new Handle(p.value);}),!v[6]?null:v[6].map(function(p){return new Handle(p.value);}),!v[7]?null:new IFC4X3.IfcLabel(v[7].value),!v[8]?null:new IFC4X3.IfcLabel(v[8].value),v[9]);},3460952963:function _(id,v){return new IFC4X3.IfcConveyorSegment(id,new IFC4X3.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4X3.IfcLabel(v[2].value),!v[3]?null:new IFC4X3.IfcText(v[3].value),!v[4]?null:new IFC4X3.IfcLabel(v[4].value),!v[5]?null:new Handle(v[5].value),!v[6]?null:new Handle(v[6].value),!v[7]?null:new IFC4X3.IfcIdentifier(v[7].value),v[8]);},4136498852:function _(id,v){return new IFC4X3.IfcCooledBeam(id,new IFC4X3.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4X3.IfcLabel(v[2].value),!v[3]?null:new IFC4X3.IfcText(v[3].value),!v[4]?null:new IFC4X3.IfcLabel(v[4].value),!v[5]?null:new Handle(v[5].value),!v[6]?null:new Handle(v[6].value),!v[7]?null:new IFC4X3.IfcIdentifier(v[7].value),v[8]);},3640358203:function _(id,v){return new IFC4X3.IfcCoolingTower(id,new IFC4X3.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4X3.IfcLabel(v[2].value),!v[3]?null:new IFC4X3.IfcText(v[3].value),!v[4]?null:new IFC4X3.IfcLabel(v[4].value),!v[5]?null:new Handle(v[5].value),!v[6]?null:new Handle(v[6].value),!v[7]?null:new IFC4X3.IfcIdentifier(v[7].value),v[8]);},4074379575:function _(id,v){return new IFC4X3.IfcDamper(id,new IFC4X3.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4X3.IfcLabel(v[2].value),!v[3]?null:new IFC4X3.IfcText(v[3].value),!v[4]?null:new IFC4X3.IfcLabel(v[4].value),!v[5]?null:new Handle(v[5].value),!v[6]?null:new Handle(v[6].value),!v[7]?null:new IFC4X3.IfcIdentifier(v[7].value),v[8]);},3693000487:function _(id,v){return new IFC4X3.IfcDistributionBoard(id,new IFC4X3.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4X3.IfcLabel(v[2].value),!v[3]?null:new IFC4X3.IfcText(v[3].value),!v[4]?null:new IFC4X3.IfcLabel(v[4].value),!v[5]?null:new Handle(v[5].value),!v[6]?null:new Handle(v[6].value),!v[7]?null:new IFC4X3.IfcIdentifier(v[7].value),v[8]);},1052013943:function _(id,v){return new IFC4X3.IfcDistributionChamberElement(id,new IFC4X3.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4X3.IfcLabel(v[2].value),!v[3]?null:new IFC4X3.IfcText(v[3].value),!v[4]?null:new IFC4X3.IfcLabel(v[4].value),!v[5]?null:new Handle(v[5].value),!v[6]?null:new Handle(v[6].value),!v[7]?null:new IFC4X3.IfcIdentifier(v[7].value),v[8]);},562808652:function _(id,v){return new IFC4X3.IfcDistributionCircuit(id,new IFC4X3.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4X3.IfcLabel(v[2].value),!v[3]?null:new IFC4X3.IfcText(v[3].value),!v[4]?null:new IFC4X3.IfcLabel(v[4].value),!v[5]?null:new IFC4X3.IfcLabel(v[5].value),v[6]);},1062813311:function _(id,v){return new IFC4X3.IfcDistributionControlElement(id,new IFC4X3.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4X3.IfcLabel(v[2].value),!v[3]?null:new IFC4X3.IfcText(v[3].value),!v[4]?null:new IFC4X3.IfcLabel(v[4].value),!v[5]?null:new Handle(v[5].value),!v[6]?null:new Handle(v[6].value),!v[7]?null:new IFC4X3.IfcIdentifier(v[7].value));},342316401:function _(id,v){return new IFC4X3.IfcDuctFitting(id,new IFC4X3.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4X3.IfcLabel(v[2].value),!v[3]?null:new IFC4X3.IfcText(v[3].value),!v[4]?null:new IFC4X3.IfcLabel(v[4].value),!v[5]?null:new Handle(v[5].value),!v[6]?null:new Handle(v[6].value),!v[7]?null:new IFC4X3.IfcIdentifier(v[7].value),v[8]);},3518393246:function _(id,v){return new IFC4X3.IfcDuctSegment(id,new IFC4X3.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4X3.IfcLabel(v[2].value),!v[3]?null:new IFC4X3.IfcText(v[3].value),!v[4]?null:new IFC4X3.IfcLabel(v[4].value),!v[5]?null:new Handle(v[5].value),!v[6]?null:new Handle(v[6].value),!v[7]?null:new IFC4X3.IfcIdentifier(v[7].value),v[8]);},1360408905:function _(id,v){return new IFC4X3.IfcDuctSilencer(id,new IFC4X3.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4X3.IfcLabel(v[2].value),!v[3]?null:new IFC4X3.IfcText(v[3].value),!v[4]?null:new IFC4X3.IfcLabel(v[4].value),!v[5]?null:new Handle(v[5].value),!v[6]?null:new Handle(v[6].value),!v[7]?null:new IFC4X3.IfcIdentifier(v[7].value),v[8]);},1904799276:function _(id,v){return new IFC4X3.IfcElectricAppliance(id,new IFC4X3.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4X3.IfcLabel(v[2].value),!v[3]?null:new IFC4X3.IfcText(v[3].value),!v[4]?null:new IFC4X3.IfcLabel(v[4].value),!v[5]?null:new Handle(v[5].value),!v[6]?null:new Handle(v[6].value),!v[7]?null:new IFC4X3.IfcIdentifier(v[7].value),v[8]);},862014818:function _(id,v){return new IFC4X3.IfcElectricDistributionBoard(id,new IFC4X3.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4X3.IfcLabel(v[2].value),!v[3]?null:new IFC4X3.IfcText(v[3].value),!v[4]?null:new IFC4X3.IfcLabel(v[4].value),!v[5]?null:new Handle(v[5].value),!v[6]?null:new Handle(v[6].value),!v[7]?null:new IFC4X3.IfcIdentifier(v[7].value),v[8]);},3310460725:function _(id,v){return new IFC4X3.IfcElectricFlowStorageDevice(id,new IFC4X3.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4X3.IfcLabel(v[2].value),!v[3]?null:new IFC4X3.IfcText(v[3].value),!v[4]?null:new IFC4X3.IfcLabel(v[4].value),!v[5]?null:new Handle(v[5].value),!v[6]?null:new Handle(v[6].value),!v[7]?null:new IFC4X3.IfcIdentifier(v[7].value),v[8]);},24726584:function _(id,v){return new IFC4X3.IfcElectricFlowTreatmentDevice(id,new IFC4X3.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4X3.IfcLabel(v[2].value),!v[3]?null:new IFC4X3.IfcText(v[3].value),!v[4]?null:new IFC4X3.IfcLabel(v[4].value),!v[5]?null:new Handle(v[5].value),!v[6]?null:new Handle(v[6].value),!v[7]?null:new IFC4X3.IfcIdentifier(v[7].value),v[8]);},264262732:function _(id,v){return new IFC4X3.IfcElectricGenerator(id,new IFC4X3.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4X3.IfcLabel(v[2].value),!v[3]?null:new IFC4X3.IfcText(v[3].value),!v[4]?null:new IFC4X3.IfcLabel(v[4].value),!v[5]?null:new Handle(v[5].value),!v[6]?null:new Handle(v[6].value),!v[7]?null:new IFC4X3.IfcIdentifier(v[7].value),v[8]);},402227799:function _(id,v){return new IFC4X3.IfcElectricMotor(id,new IFC4X3.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4X3.IfcLabel(v[2].value),!v[3]?null:new IFC4X3.IfcText(v[3].value),!v[4]?null:new IFC4X3.IfcLabel(v[4].value),!v[5]?null:new Handle(v[5].value),!v[6]?null:new Handle(v[6].value),!v[7]?null:new IFC4X3.IfcIdentifier(v[7].value),v[8]);},1003880860:function _(id,v){return new IFC4X3.IfcElectricTimeControl(id,new IFC4X3.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4X3.IfcLabel(v[2].value),!v[3]?null:new IFC4X3.IfcText(v[3].value),!v[4]?null:new IFC4X3.IfcLabel(v[4].value),!v[5]?null:new Handle(v[5].value),!v[6]?null:new Handle(v[6].value),!v[7]?null:new IFC4X3.IfcIdentifier(v[7].value),v[8]);},3415622556:function _(id,v){return new IFC4X3.IfcFan(id,new IFC4X3.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4X3.IfcLabel(v[2].value),!v[3]?null:new IFC4X3.IfcText(v[3].value),!v[4]?null:new IFC4X3.IfcLabel(v[4].value),!v[5]?null:new Handle(v[5].value),!v[6]?null:new Handle(v[6].value),!v[7]?null:new IFC4X3.IfcIdentifier(v[7].value),v[8]);},819412036:function _(id,v){return new IFC4X3.IfcFilter(id,new IFC4X3.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4X3.IfcLabel(v[2].value),!v[3]?null:new IFC4X3.IfcText(v[3].value),!v[4]?null:new IFC4X3.IfcLabel(v[4].value),!v[5]?null:new Handle(v[5].value),!v[6]?null:new Handle(v[6].value),!v[7]?null:new IFC4X3.IfcIdentifier(v[7].value),v[8]);},1426591983:function _(id,v){return new IFC4X3.IfcFireSuppressionTerminal(id,new IFC4X3.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4X3.IfcLabel(v[2].value),!v[3]?null:new IFC4X3.IfcText(v[3].value),!v[4]?null:new IFC4X3.IfcLabel(v[4].value),!v[5]?null:new Handle(v[5].value),!v[6]?null:new Handle(v[6].value),!v[7]?null:new IFC4X3.IfcIdentifier(v[7].value),v[8]);},182646315:function _(id,v){return new IFC4X3.IfcFlowInstrument(id,new IFC4X3.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4X3.IfcLabel(v[2].value),!v[3]?null:new IFC4X3.IfcText(v[3].value),!v[4]?null:new IFC4X3.IfcLabel(v[4].value),!v[5]?null:new Handle(v[5].value),!v[6]?null:new Handle(v[6].value),!v[7]?null:new IFC4X3.IfcIdentifier(v[7].value),v[8]);},2680139844:function _(id,v){return new IFC4X3.IfcGeomodel(id,new IFC4X3.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4X3.IfcLabel(v[2].value),!v[3]?null:new IFC4X3.IfcText(v[3].value),!v[4]?null:new IFC4X3.IfcLabel(v[4].value),!v[5]?null:new Handle(v[5].value),!v[6]?null:new Handle(v[6].value),!v[7]?null:new IFC4X3.IfcIdentifier(v[7].value));},1971632696:function _(id,v){return new IFC4X3.IfcGeoslice(id,new IFC4X3.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4X3.IfcLabel(v[2].value),!v[3]?null:new IFC4X3.IfcText(v[3].value),!v[4]?null:new IFC4X3.IfcLabel(v[4].value),!v[5]?null:new Handle(v[5].value),!v[6]?null:new Handle(v[6].value),!v[7]?null:new IFC4X3.IfcIdentifier(v[7].value));},2295281155:function _(id,v){return new IFC4X3.IfcProtectiveDeviceTrippingUnit(id,new IFC4X3.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4X3.IfcLabel(v[2].value),!v[3]?null:new IFC4X3.IfcText(v[3].value),!v[4]?null:new IFC4X3.IfcLabel(v[4].value),!v[5]?null:new Handle(v[5].value),!v[6]?null:new Handle(v[6].value),!v[7]?null:new IFC4X3.IfcIdentifier(v[7].value),v[8]);},4086658281:function _(id,v){return new IFC4X3.IfcSensor(id,new IFC4X3.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4X3.IfcLabel(v[2].value),!v[3]?null:new IFC4X3.IfcText(v[3].value),!v[4]?null:new IFC4X3.IfcLabel(v[4].value),!v[5]?null:new Handle(v[5].value),!v[6]?null:new Handle(v[6].value),!v[7]?null:new IFC4X3.IfcIdentifier(v[7].value),v[8]);},630975310:function _(id,v){return new IFC4X3.IfcUnitaryControlElement(id,new IFC4X3.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4X3.IfcLabel(v[2].value),!v[3]?null:new IFC4X3.IfcText(v[3].value),!v[4]?null:new IFC4X3.IfcLabel(v[4].value),!v[5]?null:new Handle(v[5].value),!v[6]?null:new Handle(v[6].value),!v[7]?null:new IFC4X3.IfcIdentifier(v[7].value),v[8]);},4288193352:function _(id,v){return new IFC4X3.IfcActuator(id,new IFC4X3.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4X3.IfcLabel(v[2].value),!v[3]?null:new IFC4X3.IfcText(v[3].value),!v[4]?null:new IFC4X3.IfcLabel(v[4].value),!v[5]?null:new Handle(v[5].value),!v[6]?null:new Handle(v[6].value),!v[7]?null:new IFC4X3.IfcIdentifier(v[7].value),v[8]);},3087945054:function _(id,v){return new IFC4X3.IfcAlarm(id,new IFC4X3.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4X3.IfcLabel(v[2].value),!v[3]?null:new IFC4X3.IfcText(v[3].value),!v[4]?null:new IFC4X3.IfcLabel(v[4].value),!v[5]?null:new Handle(v[5].value),!v[6]?null:new Handle(v[6].value),!v[7]?null:new IFC4X3.IfcIdentifier(v[7].value),v[8]);},25142252:function _(id,v){return new IFC4X3.IfcController(id,new IFC4X3.IfcGloballyUniqueId(v[0].value),!v[1]?null:new Handle(v[1].value),!v[2]?null:new IFC4X3.IfcLabel(v[2].value),!v[3]?null:new IFC4X3.IfcText(v[3].value),!v[4]?null:new IFC4X3.IfcLabel(v[4].value),!v[5]?null:new Handle(v[5].value),!v[6]?null:new Handle(v[6].value),!v[7]?null:new IFC4X3.IfcIdentifier(v[7].value),v[8]);}};InheritanceDef[3]={618182010:[IFCTELECOMADDRESS,IFCPOSTALADDRESS],2879124712:[IFCALIGNMENTHORIZONTALSEGMENT,IFCALIGNMENTCANTSEGMENT,IFCALIGNMENTVERTICALSEGMENT],411424972:[IFCCOSTVALUE],4037036970:[IFCBOUNDARYNODECONDITIONWARPING,IFCBOUNDARYNODECONDITION,IFCBOUNDARYFACECONDITION,IFCBOUNDARYEDGECONDITION],1387855156:[IFCBOUNDARYNODECONDITIONWARPING],2859738748:[IFCCONNECTIONCURVEGEOMETRY,IFCCONNECTIONVOLUMEGEOMETRY,IFCCONNECTIONSURFACEGEOMETRY,IFCCONNECTIONPOINTECCENTRICITY,IFCCONNECTIONPOINTGEOMETRY],2614616156:[IFCCONNECTIONPOINTECCENTRICITY],1959218052:[IFCOBJECTIVE,IFCMETRIC],1785450214:[IFCMAPCONVERSION],1466758467:[IFCPROJECTEDCRS],4294318154:[IFCDOCUMENTINFORMATION,IFCCLASSIFICATION,IFCLIBRARYINFORMATION],3200245327:[IFCDOCUMENTREFERENCE,IFCCLASSIFICATIONREFERENCE,IFCLIBRARYREFERENCE,IFCEXTERNALLYDEFINEDTEXTFONT,IFCEXTERNALLYDEFINEDSURFACESTYLE,IFCEXTERNALLYDEFINEDHATCHSTYLE],760658860:[IFCMATERIALCONSTITUENTSET,IFCMATERIALCONSTITUENT,IFCMATERIAL,IFCMATERIALPROFILESET,IFCMATERIALPROFILEWITHOFFSETS,IFCMATERIALPROFILE,IFCMATERIALLAYERSET,IFCMATERIALLAYERWITHOFFSETS,IFCMATERIALLAYER],248100487:[IFCMATERIALLAYERWITHOFFSETS],2235152071:[IFCMATERIALPROFILEWITHOFFSETS],1507914824:[IFCMATERIALPROFILESETUSAGETAPERING,IFCMATERIALPROFILESETUSAGE,IFCMATERIALLAYERSETUSAGE],1918398963:[IFCCONVERSIONBASEDUNITWITHOFFSET,IFCCONVERSIONBASEDUNIT,IFCCONTEXTDEPENDENTUNIT,IFCSIUNIT],3701648758:[IFCLOCALPLACEMENT,IFCLINEARPLACEMENT,IFCGRIDPLACEMENT],2483315170:[IFCPHYSICALCOMPLEXQUANTITY,IFCQUANTITYWEIGHT,IFCQUANTITYVOLUME,IFCQUANTITYTIME,IFCQUANTITYNUMBER,IFCQUANTITYLENGTH,IFCQUANTITYCOUNT,IFCQUANTITYAREA,IFCPHYSICALSIMPLEQUANTITY],2226359599:[IFCQUANTITYWEIGHT,IFCQUANTITYVOLUME,IFCQUANTITYTIME,IFCQUANTITYNUMBER,IFCQUANTITYLENGTH,IFCQUANTITYCOUNT,IFCQUANTITYAREA],677532197:[IFCDRAUGHTINGPREDEFINEDCURVEFONT,IFCPREDEFINEDCURVEFONT,IFCDRAUGHTINGPREDEFINEDCOLOUR,IFCPREDEFINEDCOLOUR,IFCTEXTSTYLEFONTMODEL,IFCPREDEFINEDTEXTFONT,IFCPREDEFINEDITEM,IFCINDEXEDCOLOURMAP,IFCCURVESTYLEFONTPATTERN,IFCCURVESTYLEFONTANDSCALING,IFCCURVESTYLEFONT,IFCCOLOURRGB,IFCCOLOURSPECIFICATION,IFCCOLOURRGBLIST,IFCTEXTUREVERTEXLIST,IFCTEXTUREVERTEX,IFCINDEXEDPOLYGONALTEXTUREMAP,IFCINDEXEDTRIANGLETEXTUREMAP,IFCINDEXEDTEXTUREMAP,IFCTEXTUREMAP,IFCTEXTURECOORDINATEGENERATOR,IFCTEXTURECOORDINATE,IFCTEXTSTYLETEXTMODEL,IFCTEXTSTYLEFORDEFINEDFONT,IFCPIXELTEXTURE,IFCIMAGETEXTURE,IFCBLOBTEXTURE,IFCSURFACETEXTURE,IFCSURFACESTYLEWITHTEXTURES,IFCSURFACESTYLERENDERING,IFCSURFACESTYLESHADING,IFCSURFACESTYLEREFRACTION,IFCSURFACESTYLELIGHTING],2022622350:[IFCPRESENTATIONLAYERWITHSTYLE],3119450353:[IFCFILLAREASTYLE,IFCCURVESTYLE,IFCTEXTSTYLE,IFCSURFACESTYLE],2095639259:[IFCPRODUCTDEFINITIONSHAPE,IFCMATERIALDEFINITIONREPRESENTATION],3958567839:[IFCLSHAPEPROFILEDEF,IFCISHAPEPROFILEDEF,IFCELLIPSEPROFILEDEF,IFCCIRCLEHOLLOWPROFILEDEF,IFCCIRCLEPROFILEDEF,IFCCSHAPEPROFILEDEF,IFCASYMMETRICISHAPEPROFILEDEF,IFCZSHAPEPROFILEDEF,IFCUSHAPEPROFILEDEF,IFCTRAPEZIUMPROFILEDEF,IFCTSHAPEPROFILEDEF,IFCRECTANGLEHOLLOWPROFILEDEF,IFCROUNDEDRECTANGLEPROFILEDEF,IFCRECTANGLEPROFILEDEF,IFCPARAMETERIZEDPROFILEDEF,IFCOPENCROSSPROFILEDEF,IFCMIRROREDPROFILEDEF,IFCDERIVEDPROFILEDEF,IFCCOMPOSITEPROFILEDEF,IFCCENTERLINEPROFILEDEF,IFCARBITRARYOPENPROFILEDEF,IFCARBITRARYPROFILEDEFWITHVOIDS,IFCARBITRARYCLOSEDPROFILEDEF],986844984:[IFCCOMPLEXPROPERTY,IFCPROPERTYTABLEVALUE,IFCPROPERTYSINGLEVALUE,IFCPROPERTYREFERENCEVALUE,IFCPROPERTYLISTVALUE,IFCPROPERTYENUMERATEDVALUE,IFCPROPERTYBOUNDEDVALUE,IFCSIMPLEPROPERTY,IFCPROPERTY,IFCSECTIONREINFORCEMENTPROPERTIES,IFCSECTIONPROPERTIES,IFCREINFORCEMENTBARPROPERTIES,IFCPREDEFINEDPROPERTIES,IFCPROFILEPROPERTIES,IFCMATERIALPROPERTIES,IFCEXTENDEDPROPERTIES,IFCPROPERTYENUMERATION],1076942058:[IFCSTYLEDREPRESENTATION,IFCSTYLEMODEL,IFCTOPOLOGYREPRESENTATION,IFCSHAPEREPRESENTATION,IFCSHAPEMODEL],3377609919:[IFCGEOMETRICREPRESENTATIONSUBCONTEXT,IFCGEOMETRICREPRESENTATIONCONTEXT],3008791417:[IFCMAPPEDITEM,IFCFILLAREASTYLETILES,IFCFILLAREASTYLEHATCHING,IFCFACEBASEDSURFACEMODEL,IFCDIRECTION,IFCCIRCLE,IFCELLIPSE,IFCCONIC,IFCRATIONALBSPLINECURVEWITHKNOTS,IFCBSPLINECURVEWITHKNOTS,IFCBSPLINECURVE,IFCTRIMMEDCURVE,IFCPOLYLINE,IFCINDEXEDPOLYCURVE,IFCSEGMENTEDREFERENCECURVE,IFCGRADIENTCURVE,IFCOUTERBOUNDARYCURVE,IFCBOUNDARYCURVE,IFCCOMPOSITECURVEONSURFACE,IFCCOMPOSITECURVE,IFCBOUNDEDCURVE,IFCSEAMCURVE,IFCINTERSECTIONCURVE,IFCSURFACECURVE,IFCSINESPIRAL,IFCSEVENTHORDERPOLYNOMIALSPIRAL,IFCSECONDORDERPOLYNOMIALSPIRAL,IFCCOSINESPIRAL,IFCCLOTHOID,IFCTHIRDORDERPOLYNOMIALSPIRAL,IFCSPIRAL,IFCPOLYNOMIALCURVE,IFCPCURVE,IFCOFFSETCURVEBYDISTANCES,IFCOFFSETCURVE3D,IFCOFFSETCURVE2D,IFCOFFSETCURVE,IFCLINE,IFCCURVE,IFCBLOCK,IFCSPHERE,IFCRIGHTCIRCULARCYLINDER,IFCRIGHTCIRCULARCONE,IFCRECTANGULARPYRAMID,IFCCSGPRIMITIVE3D,IFCCARTESIANTRANSFORMATIONOPERATOR3DNONUNIFORM,IFCCARTESIANTRANSFORMATIONOPERATOR3D,IFCCARTESIANTRANSFORMATIONOPERATOR2DNONUNIFORM,IFCCARTESIANTRANSFORMATIONOPERATOR2D,IFCCARTESIANTRANSFORMATIONOPERATOR,IFCCARTESIANPOINTLIST3D,IFCCARTESIANPOINTLIST2D,IFCCARTESIANPOINTLIST,IFCBOUNDINGBOX,IFCBOOLEANCLIPPINGRESULT,IFCBOOLEANRESULT,IFCANNOTATIONFILLAREA,IFCVECTOR,IFCTEXTLITERALWITHEXTENT,IFCTEXTLITERAL,IFCPOLYGONALFACESET,IFCTRIANGULATEDIRREGULARNETWORK,IFCTRIANGULATEDFACESET,IFCTESSELLATEDFACESET,IFCINDEXEDPOLYGONALFACEWITHVOIDS,IFCINDEXEDPOLYGONALFACE,IFCTESSELLATEDITEM,IFCSECTIONEDSURFACE,IFCCYLINDRICALSURFACE,IFCTOROIDALSURFACE,IFCSPHERICALSURFACE,IFCPLANE,IFCELEMENTARYSURFACE,IFCRATIONALBSPLINESURFACEWITHKNOTS,IFCBSPLINESURFACEWITHKNOTS,IFCBSPLINESURFACE,IFCRECTANGULARTRIMMEDSURFACE,IFCCURVEBOUNDEDSURFACE,IFCCURVEBOUNDEDPLANE,IFCBOUNDEDSURFACE,IFCSURFACEOFREVOLUTION,IFCSURFACEOFLINEAREXTRUSION,IFCSWEPTSURFACE,IFCSURFACE,IFCSECTIONEDSOLIDHORIZONTAL,IFCSECTIONEDSOLID,IFCFACETEDBREPWITHVOIDS,IFCFACETEDBREP,IFCADVANCEDBREPWITHVOIDS,IFCADVANCEDBREP,IFCMANIFOLDSOLIDBREP,IFCCSGSOLID,IFCSWEPTDISKSOLIDPOLYGONAL,IFCSWEPTDISKSOLID,IFCREVOLVEDAREASOLIDTAPERED,IFCREVOLVEDAREASOLID,IFCEXTRUDEDAREASOLIDTAPERED,IFCEXTRUDEDAREASOLID,IFCSURFACECURVESWEPTAREASOLID,IFCDIRECTRIXDERIVEDREFERENCESWEPTAREASOLID,IFCFIXEDREFERENCESWEPTAREASOLID,IFCDIRECTRIXCURVESWEPTAREASOLID,IFCSWEPTAREASOLID,IFCSOLIDMODEL,IFCSHELLBASEDSURFACEMODEL,IFCCURVESEGMENT,IFCREPARAMETRISEDCOMPOSITECURVESEGMENT,IFCCOMPOSITECURVESEGMENT,IFCSEGMENT,IFCSECTIONEDSPINE,IFCCARTESIANPOINT,IFCPOINTONSURFACE,IFCPOINTONCURVE,IFCPOINTBYDISTANCEEXPRESSION,IFCPOINT,IFCPLANARBOX,IFCPLANAREXTENT,IFCAXIS2PLACEMENTLINEAR,IFCAXIS2PLACEMENT3D,IFCAXIS2PLACEMENT2D,IFCAXIS1PLACEMENT,IFCPLACEMENT,IFCLIGHTSOURCESPOT,IFCLIGHTSOURCEPOSITIONAL,IFCLIGHTSOURCEGONIOMETRIC,IFCLIGHTSOURCEDIRECTIONAL,IFCLIGHTSOURCEAMBIENT,IFCLIGHTSOURCE,IFCBOXEDHALFSPACE,IFCPOLYGONALBOUNDEDHALFSPACE,IFCHALFSPACESOLID,IFCGEOMETRICCURVESET,IFCGEOMETRICSET,IFCGEOMETRICREPRESENTATIONITEM,IFCPATH,IFCEDGELOOP,IFCVERTEXLOOP,IFCPOLYLOOP,IFCLOOP,IFCFACEOUTERBOUND,IFCFACEBOUND,IFCADVANCEDFACE,IFCFACESURFACE,IFCFACE,IFCSUBEDGE,IFCORIENTEDEDGE,IFCEDGECURVE,IFCEDGE,IFCCLOSEDSHELL,IFCOPENSHELL,IFCCONNECTEDFACESET,IFCVERTEXPOINT,IFCVERTEX,IFCTOPOLOGICALREPRESENTATIONITEM,IFCSTYLEDITEM],2439245199:[IFCRESOURCECONSTRAINTRELATIONSHIP,IFCRESOURCEAPPROVALRELATIONSHIP,IFCPROPERTYDEPENDENCYRELATIONSHIP,IFCORGANIZATIONRELATIONSHIP,IFCMATERIALRELATIONSHIP,IFCEXTERNALREFERENCERELATIONSHIP,IFCDOCUMENTINFORMATIONRELATIONSHIP,IFCCURRENCYRELATIONSHIP,IFCAPPROVALRELATIONSHIP],2341007311:[IFCRELDEFINESBYTYPE,IFCRELDEFINESBYTEMPLATE,IFCRELDEFINESBYPROPERTIES,IFCRELDEFINESBYOBJECT,IFCRELDEFINES,IFCRELAGGREGATES,IFCRELADHERESTOELEMENT,IFCRELVOIDSELEMENT,IFCRELPROJECTSELEMENT,IFCRELNESTS,IFCRELDECOMPOSES,IFCRELDECLARES,IFCRELSPACEBOUNDARY2NDLEVEL,IFCRELSPACEBOUNDARY1STLEVEL,IFCRELSPACEBOUNDARY,IFCRELSERVICESBUILDINGS,IFCRELSEQUENCE,IFCRELREFERENCEDINSPATIALSTRUCTURE,IFCRELPOSITIONS,IFCRELINTERFERESELEMENTS,IFCRELFLOWCONTROLELEMENTS,IFCRELFILLSELEMENT,IFCRELCOVERSSPACES,IFCRELCOVERSBLDGELEMENTS,IFCRELCONTAINEDINSPATIALSTRUCTURE,IFCRELCONNECTSWITHECCENTRICITY,IFCRELCONNECTSSTRUCTURALMEMBER,IFCRELCONNECTSSTRUCTURALACTIVITY,IFCRELCONNECTSPORTS,IFCRELCONNECTSPORTTOELEMENT,IFCRELCONNECTSWITHREALIZINGELEMENTS,IFCRELCONNECTSPATHELEMENTS,IFCRELCONNECTSELEMENTS,IFCRELCONNECTS,IFCRELASSOCIATESPROFILEDEF,IFCRELASSOCIATESMATERIAL,IFCRELASSOCIATESLIBRARY,IFCRELASSOCIATESDOCUMENT,IFCRELASSOCIATESCONSTRAINT,IFCRELASSOCIATESCLASSIFICATION,IFCRELASSOCIATESAPPROVAL,IFCRELASSOCIATES,IFCRELASSIGNSTORESOURCE,IFCRELASSIGNSTOPRODUCT,IFCRELASSIGNSTOPROCESS,IFCRELASSIGNSTOGROUPBYFACTOR,IFCRELASSIGNSTOGROUP,IFCRELASSIGNSTOCONTROL,IFCRELASSIGNSTOACTOR,IFCRELASSIGNS,IFCRELATIONSHIP,IFCCOMPLEXPROPERTYTEMPLATE,IFCSIMPLEPROPERTYTEMPLATE,IFCPROPERTYTEMPLATE,IFCPROPERTYSETTEMPLATE,IFCPROPERTYTEMPLATEDEFINITION,IFCPROPERTYSET,IFCPERMEABLECOVERINGPROPERTIES,IFCDOORPANELPROPERTIES,IFCDOORLININGPROPERTIES,IFCWINDOWPANELPROPERTIES,IFCWINDOWLININGPROPERTIES,IFCREINFORCEMENTDEFINITIONPROPERTIES,IFCPREDEFINEDPROPERTYSET,IFCELEMENTQUANTITY,IFCQUANTITYSET,IFCPROPERTYSETDEFINITION,IFCPROPERTYDEFINITION,IFCASSET,IFCSTRUCTURALANALYSISMODEL,IFCDISTRIBUTIONCIRCUIT,IFCDISTRIBUTIONSYSTEM,IFCBUILTSYSTEM,IFCBUILDINGSYSTEM,IFCZONE,IFCSYSTEM,IFCSTRUCTURALRESULTGROUP,IFCSTRUCTURALLOADCASE,IFCSTRUCTURALLOADGROUP,IFCINVENTORY,IFCGROUP,IFCACTIONREQUEST,IFCWORKSCHEDULE,IFCWORKPLAN,IFCWORKCONTROL,IFCWORKCALENDAR,IFCPROJECTORDER,IFCPERMIT,IFCPERFORMANCEHISTORY,IFCCOSTSCHEDULE,IFCCOSTITEM,IFCCONTROL,IFCOCCUPANT,IFCACTOR,IFCCONSTRUCTIONPRODUCTRESOURCE,IFCCONSTRUCTIONMATERIALRESOURCE,IFCCONSTRUCTIONEQUIPMENTRESOURCE,IFCSUBCONTRACTRESOURCE,IFCLABORRESOURCE,IFCCREWRESOURCE,IFCCONSTRUCTIONRESOURCE,IFCRESOURCE,IFCALIGNMENT,IFCLINEARPOSITIONINGELEMENT,IFCGRID,IFCREFERENT,IFCPOSITIONINGELEMENT,IFCDISTRIBUTIONPORT,IFCPORT,IFCALIGNMENTVERTICAL,IFCALIGNMENTSEGMENT,IFCALIGNMENTHORIZONTAL,IFCALIGNMENTCANT,IFCLINEARELEMENT,IFCCONTROLLER,IFCALARM,IFCACTUATOR,IFCUNITARYCONTROLELEMENT,IFCSENSOR,IFCPROTECTIVEDEVICETRIPPINGUNIT,IFCFLOWINSTRUMENT,IFCDISTRIBUTIONCONTROLELEMENT,IFCDISTRIBUTIONCHAMBERELEMENT,IFCFILTER,IFCELECTRICFLOWTREATMENTDEVICE,IFCDUCTSILENCER,IFCINTERCEPTOR,IFCFLOWTREATMENTDEVICE,IFCFIRESUPPRESSIONTERMINAL,IFCELECTRICAPPLIANCE,IFCCOMMUNICATIONSAPPLIANCE,IFCAUDIOVISUALAPPLIANCE,IFCAIRTERMINAL,IFCWASTETERMINAL,IFCSTACKTERMINAL,IFCSPACEHEATER,IFCSIGNAL,IFCSANITARYTERMINAL,IFCOUTLET,IFCMOBILETELECOMMUNICATIONSAPPLIANCE,IFCMEDICALDEVICE,IFCLIQUIDTERMINAL,IFCLIGHTFIXTURE,IFCLAMP,IFCFLOWTERMINAL,IFCELECTRICFLOWSTORAGEDEVICE,IFCTANK,IFCFLOWSTORAGEDEVICE,IFCDUCTSEGMENT,IFCCONVEYORSEGMENT,IFCCABLESEGMENT,IFCCABLECARRIERSEGMENT,IFCPIPESEGMENT,IFCFLOWSEGMENT,IFCFAN,IFCCOMPRESSOR,IFCPUMP,IFCFLOWMOVINGDEVICE,IFCDUCTFITTING,IFCCABLEFITTING,IFCCABLECARRIERFITTING,IFCPIPEFITTING,IFCJUNCTIONBOX,IFCFLOWFITTING,IFCELECTRICTIMECONTROL,IFCELECTRICDISTRIBUTIONBOARD,IFCDISTRIBUTIONBOARD,IFCDAMPER,IFCAIRTERMINALBOX,IFCVALVE,IFCSWITCHINGDEVICE,IFCPROTECTIVEDEVICE,IFCFLOWMETER,IFCFLOWCONTROLLER,IFCELECTRICMOTOR,IFCELECTRICGENERATOR,IFCCOOLINGTOWER,IFCCOOLEDBEAM,IFCCONDENSER,IFCCOIL,IFCCHILLER,IFCBURNER,IFCBOILER,IFCAIRTOAIRHEATRECOVERY,IFCUNITARYEQUIPMENT,IFCTUBEBUNDLE,IFCTRANSFORMER,IFCSOLARDEVICE,IFCMOTORCONNECTION,IFCHUMIDIFIER,IFCHEATEXCHANGER,IFCEVAPORATOR,IFCEVAPORATIVECOOLER,IFCENGINE,IFCENERGYCONVERSIONDEVICE,IFCDISTRIBUTIONFLOWELEMENT,IFCDISTRIBUTIONELEMENT,IFCCIVILELEMENT,IFCBUILDINGELEMENTPROXY,IFCBEARING,IFCBEAM,IFCWINDOW,IFCWALLSTANDARDCASE,IFCWALL,IFCTRACKELEMENT,IFCSTAIRFLIGHT,IFCSTAIR,IFCSLAB,IFCSHADINGDEVICE,IFCROOF,IFCRAMPFLIGHT,IFCRAMP,IFCRAILING,IFCRAIL,IFCPLATE,IFCPAVEMENT,IFCNAVIGATIONELEMENT,IFCMOORINGDEVICE,IFCMEMBER,IFCKERB,IFCFOOTING,IFCREINFORCEDSOIL,IFCEARTHWORKSFILL,IFCEARTHWORKSELEMENT,IFCDOOR,IFCCAISSONFOUNDATION,IFCPILE,IFCDEEPFOUNDATION,IFCCURTAINWALL,IFCCOVERING,IFCCOURSE,IFCCOLUMN,IFCCHIMNEY,IFCBUILTELEMENT,IFCVIRTUALELEMENT,IFCTRANSPORTELEMENT,IFCVEHICLE,IFCTRANSPORTATIONDEVICE,IFCGEOSLICE,IFCGEOMODEL,IFCBOREHOLE,IFCGEOTECHNICALASSEMBLY,IFCGEOTECHNICALSTRATUM,IFCGEOTECHNICALELEMENT,IFCGEOGRAPHICELEMENT,IFCSYSTEMFURNITUREELEMENT,IFCFURNITURE,IFCFURNISHINGELEMENT,IFCSURFACEFEATURE,IFCEARTHWORKSCUT,IFCVOIDINGFEATURE,IFCOPENINGELEMENT,IFCFEATUREELEMENTSUBTRACTION,IFCPROJECTIONELEMENT,IFCFEATUREELEMENTADDITION,IFCFEATUREELEMENT,IFCDISCRETEACCESSORY,IFCBUILDINGELEMENTPART,IFCVIBRATIONISOLATOR,IFCVIBRATIONDAMPER,IFCSIGN,IFCREINFORCINGBAR,IFCTENDONCONDUIT,IFCTENDONANCHOR,IFCTENDON,IFCREINFORCINGMESH,IFCREINFORCINGELEMENT,IFCMECHANICALFASTENER,IFCIMPACTPROTECTIONDEVICE,IFCFASTENER,IFCELEMENTCOMPONENT,IFCELEMENTASSEMBLY,IFCELEMENT,IFCANNOTATION,IFCSTRUCTURALSURFACECONNECTION,IFCSTRUCTURALPOINTCONNECTION,IFCSTRUCTURALCURVECONNECTION,IFCSTRUCTURALCONNECTION,IFCSTRUCTURALCURVEMEMBERVARYING,IFCSTRUCTURALCURVEMEMBER,IFCSTRUCTURALSURFACEMEMBERVARYING,IFCSTRUCTURALSURFACEMEMBER,IFCSTRUCTURALMEMBER,IFCSTRUCTURALITEM,IFCSTRUCTURALPLANARACTION,IFCSTRUCTURALSURFACEACTION,IFCSTRUCTURALPOINTACTION,IFCSTRUCTURALLINEARACTION,IFCSTRUCTURALCURVEACTION,IFCSTRUCTURALACTION,IFCSTRUCTURALPOINTREACTION,IFCSTRUCTURALCURVEREACTION,IFCSTRUCTURALSURFACEREACTION,IFCSTRUCTURALREACTION,IFCSTRUCTURALACTIVITY,IFCEXTERNALSPATIALELEMENT,IFCEXTERNALSPATIALSTRUCTUREELEMENT,IFCSPATIALZONE,IFCSPACE,IFCSITE,IFCBRIDGEPART,IFCROADPART,IFCRAILWAYPART,IFCMARINEPART,IFCFACILITYPARTCOMMON,IFCFACILITYPART,IFCBUILDING,IFCBRIDGE,IFCROAD,IFCRAILWAY,IFCMARINEFACILITY,IFCFACILITY,IFCBUILDINGSTOREY,IFCSPATIALSTRUCTUREELEMENT,IFCSPATIALELEMENT,IFCPRODUCT,IFCPROCEDURE,IFCEVENT,IFCTASK,IFCPROCESS,IFCOBJECT,IFCPROJECTLIBRARY,IFCPROJECT,IFCCONTEXT,IFCCONSTRUCTIONPRODUCTRESOURCETYPE,IFCCONSTRUCTIONMATERIALRESOURCETYPE,IFCCONSTRUCTIONEQUIPMENTRESOURCETYPE,IFCSUBCONTRACTRESOURCETYPE,IFCLABORRESOURCETYPE,IFCCREWRESOURCETYPE,IFCCONSTRUCTIONRESOURCETYPE,IFCTYPERESOURCE,IFCSPATIALZONETYPE,IFCSPACETYPE,IFCSPATIALSTRUCTUREELEMENTTYPE,IFCSPATIALELEMENTTYPE,IFCDISCRETEACCESSORYTYPE,IFCBUILDINGELEMENTPARTTYPE,IFCVIBRATIONISOLATORTYPE,IFCVIBRATIONDAMPERTYPE,IFCSIGNTYPE,IFCREINFORCINGBARTYPE,IFCTENDONTYPE,IFCTENDONCONDUITTYPE,IFCTENDONANCHORTYPE,IFCREINFORCINGMESHTYPE,IFCREINFORCINGELEMENTTYPE,IFCMECHANICALFASTENERTYPE,IFCIMPACTPROTECTIONDEVICETYPE,IFCFASTENERTYPE,IFCELEMENTCOMPONENTTYPE,IFCELEMENTASSEMBLYTYPE,IFCCONTROLLERTYPE,IFCALARMTYPE,IFCACTUATORTYPE,IFCUNITARYCONTROLELEMENTTYPE,IFCSENSORTYPE,IFCPROTECTIVEDEVICETRIPPINGUNITTYPE,IFCFLOWINSTRUMENTTYPE,IFCDISTRIBUTIONCONTROLELEMENTTYPE,IFCDISTRIBUTIONCHAMBERELEMENTTYPE,IFCFILTERTYPE,IFCELECTRICFLOWTREATMENTDEVICETYPE,IFCDUCTSILENCERTYPE,IFCINTERCEPTORTYPE,IFCFLOWTREATMENTDEVICETYPE,IFCFIRESUPPRESSIONTERMINALTYPE,IFCELECTRICAPPLIANCETYPE,IFCCOMMUNICATIONSAPPLIANCETYPE,IFCAUDIOVISUALAPPLIANCETYPE,IFCAIRTERMINALTYPE,IFCWASTETERMINALTYPE,IFCSTACKTERMINALTYPE,IFCSPACEHEATERTYPE,IFCSIGNALTYPE,IFCSANITARYTERMINALTYPE,IFCOUTLETTYPE,IFCMOBILETELECOMMUNICATIONSAPPLIANCETYPE,IFCMEDICALDEVICETYPE,IFCLIQUIDTERMINALTYPE,IFCLIGHTFIXTURETYPE,IFCLAMPTYPE,IFCFLOWTERMINALTYPE,IFCELECTRICFLOWSTORAGEDEVICETYPE,IFCTANKTYPE,IFCFLOWSTORAGEDEVICETYPE,IFCDUCTSEGMENTTYPE,IFCCONVEYORSEGMENTTYPE,IFCCABLESEGMENTTYPE,IFCCABLECARRIERSEGMENTTYPE,IFCPIPESEGMENTTYPE,IFCFLOWSEGMENTTYPE,IFCFANTYPE,IFCCOMPRESSORTYPE,IFCPUMPTYPE,IFCFLOWMOVINGDEVICETYPE,IFCDUCTFITTINGTYPE,IFCCABLEFITTINGTYPE,IFCCABLECARRIERFITTINGTYPE,IFCPIPEFITTINGTYPE,IFCJUNCTIONBOXTYPE,IFCFLOWFITTINGTYPE,IFCELECTRICTIMECONTROLTYPE,IFCELECTRICDISTRIBUTIONBOARDTYPE,IFCDISTRIBUTIONBOARDTYPE,IFCDAMPERTYPE,IFCAIRTERMINALBOXTYPE,IFCVALVETYPE,IFCSWITCHINGDEVICETYPE,IFCPROTECTIVEDEVICETYPE,IFCFLOWMETERTYPE,IFCFLOWCONTROLLERTYPE,IFCELECTRICMOTORTYPE,IFCELECTRICGENERATORTYPE,IFCCOOLINGTOWERTYPE,IFCCOOLEDBEAMTYPE,IFCCONDENSERTYPE,IFCCOILTYPE,IFCCHILLERTYPE,IFCBURNERTYPE,IFCBOILERTYPE,IFCAIRTOAIRHEATRECOVERYTYPE,IFCUNITARYEQUIPMENTTYPE,IFCTUBEBUNDLETYPE,IFCTRANSFORMERTYPE,IFCSOLARDEVICETYPE,IFCMOTORCONNECTIONTYPE,IFCHUMIDIFIERTYPE,IFCHEATEXCHANGERTYPE,IFCEVAPORATORTYPE,IFCEVAPORATIVECOOLERTYPE,IFCENGINETYPE,IFCENERGYCONVERSIONDEVICETYPE,IFCDISTRIBUTIONFLOWELEMENTTYPE,IFCDISTRIBUTIONELEMENTTYPE,IFCCIVILELEMENTTYPE,IFCBUILDINGELEMENTPROXYTYPE,IFCBEARINGTYPE,IFCBEAMTYPE,IFCWINDOWTYPE,IFCWALLTYPE,IFCTRACKELEMENTTYPE,IFCSTAIRTYPE,IFCSTAIRFLIGHTTYPE,IFCSLABTYPE,IFCSHADINGDEVICETYPE,IFCROOFTYPE,IFCRAMPTYPE,IFCRAMPFLIGHTTYPE,IFCRAILINGTYPE,IFCRAILTYPE,IFCPLATETYPE,IFCPAVEMENTTYPE,IFCNAVIGATIONELEMENTTYPE,IFCMOORINGDEVICETYPE,IFCMEMBERTYPE,IFCKERBTYPE,IFCFOOTINGTYPE,IFCDOORTYPE,IFCCAISSONFOUNDATIONTYPE,IFCPILETYPE,IFCDEEPFOUNDATIONTYPE,IFCCURTAINWALLTYPE,IFCCOVERINGTYPE,IFCCOURSETYPE,IFCCOLUMNTYPE,IFCCHIMNEYTYPE,IFCBUILTELEMENTTYPE,IFCTRANSPORTELEMENTTYPE,IFCVEHICLETYPE,IFCTRANSPORTATIONDEVICETYPE,IFCGEOGRAPHICELEMENTTYPE,IFCSYSTEMFURNITUREELEMENTTYPE,IFCFURNITURETYPE,IFCFURNISHINGELEMENTTYPE,IFCELEMENTTYPE,IFCTYPEPRODUCT,IFCTASKTYPE,IFCPROCEDURETYPE,IFCEVENTTYPE,IFCTYPEPROCESS,IFCTYPEOBJECT,IFCOBJECTDEFINITION],1054537805:[IFCRESOURCETIME,IFCLAGTIME,IFCEVENTTIME,IFCWORKTIME,IFCTASKTIMERECURRING,IFCTASKTIME],3982875396:[IFCTOPOLOGYREPRESENTATION,IFCSHAPEREPRESENTATION],2273995522:[IFCSLIPPAGECONNECTIONCONDITION,IFCFAILURECONNECTIONCONDITION],2162789131:[IFCSURFACEREINFORCEMENTAREA,IFCSTRUCTURALLOADSINGLEFORCEWARPING,IFCSTRUCTURALLOADSINGLEFORCE,IFCSTRUCTURALLOADSINGLEDISPLACEMENTDISTORTION,IFCSTRUCTURALLOADSINGLEDISPLACEMENT,IFCSTRUCTURALLOADPLANARFORCE,IFCSTRUCTURALLOADLINEARFORCE,IFCSTRUCTURALLOADTEMPERATURE,IFCSTRUCTURALLOADSTATIC,IFCSTRUCTURALLOADORRESULT,IFCSTRUCTURALLOADCONFIGURATION],609421318:[IFCSURFACEREINFORCEMENTAREA,IFCSTRUCTURALLOADSINGLEFORCEWARPING,IFCSTRUCTURALLOADSINGLEFORCE,IFCSTRUCTURALLOADSINGLEDISPLACEMENTDISTORTION,IFCSTRUCTURALLOADSINGLEDISPLACEMENT,IFCSTRUCTURALLOADPLANARFORCE,IFCSTRUCTURALLOADLINEARFORCE,IFCSTRUCTURALLOADTEMPERATURE,IFCSTRUCTURALLOADSTATIC],2525727697:[IFCSTRUCTURALLOADSINGLEFORCEWARPING,IFCSTRUCTURALLOADSINGLEFORCE,IFCSTRUCTURALLOADSINGLEDISPLACEMENTDISTORTION,IFCSTRUCTURALLOADSINGLEDISPLACEMENT,IFCSTRUCTURALLOADPLANARFORCE,IFCSTRUCTURALLOADLINEARFORCE,IFCSTRUCTURALLOADTEMPERATURE],2830218821:[IFCSTYLEDREPRESENTATION],846575682:[IFCSURFACESTYLERENDERING],626085974:[IFCPIXELTEXTURE,IFCIMAGETEXTURE,IFCBLOBTEXTURE],1549132990:[IFCTASKTIMERECURRING],280115917:[IFCINDEXEDPOLYGONALTEXTUREMAP,IFCINDEXEDTRIANGLETEXTUREMAP,IFCINDEXEDTEXTUREMAP,IFCTEXTUREMAP,IFCTEXTURECOORDINATEGENERATOR],222769930:[IFCTEXTURECOORDINATEINDICESWITHVOIDS],3101149627:[IFCREGULARTIMESERIES,IFCIRREGULARTIMESERIES],1377556343:[IFCPATH,IFCEDGELOOP,IFCVERTEXLOOP,IFCPOLYLOOP,IFCLOOP,IFCFACEOUTERBOUND,IFCFACEBOUND,IFCADVANCEDFACE,IFCFACESURFACE,IFCFACE,IFCSUBEDGE,IFCORIENTEDEDGE,IFCEDGECURVE,IFCEDGE,IFCCLOSEDSHELL,IFCOPENSHELL,IFCCONNECTEDFACESET,IFCVERTEXPOINT,IFCVERTEX],2799835756:[IFCVERTEXPOINT],3798115385:[IFCARBITRARYPROFILEDEFWITHVOIDS],1310608509:[IFCCENTERLINEPROFILEDEF],3264961684:[IFCCOLOURRGB],370225590:[IFCCLOSEDSHELL,IFCOPENSHELL],2889183280:[IFCCONVERSIONBASEDUNITWITHOFFSET],3632507154:[IFCMIRROREDPROFILEDEF],3900360178:[IFCSUBEDGE,IFCORIENTEDEDGE,IFCEDGECURVE],297599258:[IFCPROFILEPROPERTIES,IFCMATERIALPROPERTIES],2556980723:[IFCADVANCEDFACE,IFCFACESURFACE],1809719519:[IFCFACEOUTERBOUND],3008276851:[IFCADVANCEDFACE],3448662350:[IFCGEOMETRICREPRESENTATIONSUBCONTEXT],2453401579:[IFCFILLAREASTYLETILES,IFCFILLAREASTYLEHATCHING,IFCFACEBASEDSURFACEMODEL,IFCDIRECTION,IFCCIRCLE,IFCELLIPSE,IFCCONIC,IFCRATIONALBSPLINECURVEWITHKNOTS,IFCBSPLINECURVEWITHKNOTS,IFCBSPLINECURVE,IFCTRIMMEDCURVE,IFCPOLYLINE,IFCINDEXEDPOLYCURVE,IFCSEGMENTEDREFERENCECURVE,IFCGRADIENTCURVE,IFCOUTERBOUNDARYCURVE,IFCBOUNDARYCURVE,IFCCOMPOSITECURVEONSURFACE,IFCCOMPOSITECURVE,IFCBOUNDEDCURVE,IFCSEAMCURVE,IFCINTERSECTIONCURVE,IFCSURFACECURVE,IFCSINESPIRAL,IFCSEVENTHORDERPOLYNOMIALSPIRAL,IFCSECONDORDERPOLYNOMIALSPIRAL,IFCCOSINESPIRAL,IFCCLOTHOID,IFCTHIRDORDERPOLYNOMIALSPIRAL,IFCSPIRAL,IFCPOLYNOMIALCURVE,IFCPCURVE,IFCOFFSETCURVEBYDISTANCES,IFCOFFSETCURVE3D,IFCOFFSETCURVE2D,IFCOFFSETCURVE,IFCLINE,IFCCURVE,IFCBLOCK,IFCSPHERE,IFCRIGHTCIRCULARCYLINDER,IFCRIGHTCIRCULARCONE,IFCRECTANGULARPYRAMID,IFCCSGPRIMITIVE3D,IFCCARTESIANTRANSFORMATIONOPERATOR3DNONUNIFORM,IFCCARTESIANTRANSFORMATIONOPERATOR3D,IFCCARTESIANTRANSFORMATIONOPERATOR2DNONUNIFORM,IFCCARTESIANTRANSFORMATIONOPERATOR2D,IFCCARTESIANTRANSFORMATIONOPERATOR,IFCCARTESIANPOINTLIST3D,IFCCARTESIANPOINTLIST2D,IFCCARTESIANPOINTLIST,IFCBOUNDINGBOX,IFCBOOLEANCLIPPINGRESULT,IFCBOOLEANRESULT,IFCANNOTATIONFILLAREA,IFCVECTOR,IFCTEXTLITERALWITHEXTENT,IFCTEXTLITERAL,IFCPOLYGONALFACESET,IFCTRIANGULATEDIRREGULARNETWORK,IFCTRIANGULATEDFACESET,IFCTESSELLATEDFACESET,IFCINDEXEDPOLYGONALFACEWITHVOIDS,IFCINDEXEDPOLYGONALFACE,IFCTESSELLATEDITEM,IFCSECTIONEDSURFACE,IFCCYLINDRICALSURFACE,IFCTOROIDALSURFACE,IFCSPHERICALSURFACE,IFCPLANE,IFCELEMENTARYSURFACE,IFCRATIONALBSPLINESURFACEWITHKNOTS,IFCBSPLINESURFACEWITHKNOTS,IFCBSPLINESURFACE,IFCRECTANGULARTRIMMEDSURFACE,IFCCURVEBOUNDEDSURFACE,IFCCURVEBOUNDEDPLANE,IFCBOUNDEDSURFACE,IFCSURFACEOFREVOLUTION,IFCSURFACEOFLINEAREXTRUSION,IFCSWEPTSURFACE,IFCSURFACE,IFCSECTIONEDSOLIDHORIZONTAL,IFCSECTIONEDSOLID,IFCFACETEDBREPWITHVOIDS,IFCFACETEDBREP,IFCADVANCEDBREPWITHVOIDS,IFCADVANCEDBREP,IFCMANIFOLDSOLIDBREP,IFCCSGSOLID,IFCSWEPTDISKSOLIDPOLYGONAL,IFCSWEPTDISKSOLID,IFCREVOLVEDAREASOLIDTAPERED,IFCREVOLVEDAREASOLID,IFCEXTRUDEDAREASOLIDTAPERED,IFCEXTRUDEDAREASOLID,IFCSURFACECURVESWEPTAREASOLID,IFCDIRECTRIXDERIVEDREFERENCESWEPTAREASOLID,IFCFIXEDREFERENCESWEPTAREASOLID,IFCDIRECTRIXCURVESWEPTAREASOLID,IFCSWEPTAREASOLID,IFCSOLIDMODEL,IFCSHELLBASEDSURFACEMODEL,IFCCURVESEGMENT,IFCREPARAMETRISEDCOMPOSITECURVESEGMENT,IFCCOMPOSITECURVESEGMENT,IFCSEGMENT,IFCSECTIONEDSPINE,IFCCARTESIANPOINT,IFCPOINTONSURFACE,IFCPOINTONCURVE,IFCPOINTBYDISTANCEEXPRESSION,IFCPOINT,IFCPLANARBOX,IFCPLANAREXTENT,IFCAXIS2PLACEMENTLINEAR,IFCAXIS2PLACEMENT3D,IFCAXIS2PLACEMENT2D,IFCAXIS1PLACEMENT,IFCPLACEMENT,IFCLIGHTSOURCESPOT,IFCLIGHTSOURCEPOSITIONAL,IFCLIGHTSOURCEGONIOMETRIC,IFCLIGHTSOURCEDIRECTIONAL,IFCLIGHTSOURCEAMBIENT,IFCLIGHTSOURCE,IFCBOXEDHALFSPACE,IFCPOLYGONALBOUNDEDHALFSPACE,IFCHALFSPACESOLID,IFCGEOMETRICCURVESET,IFCGEOMETRICSET],3590301190:[IFCGEOMETRICCURVESET],812098782:[IFCBOXEDHALFSPACE,IFCPOLYGONALBOUNDEDHALFSPACE],1437953363:[IFCINDEXEDPOLYGONALTEXTUREMAP,IFCINDEXEDTRIANGLETEXTUREMAP],1402838566:[IFCLIGHTSOURCESPOT,IFCLIGHTSOURCEPOSITIONAL,IFCLIGHTSOURCEGONIOMETRIC,IFCLIGHTSOURCEDIRECTIONAL,IFCLIGHTSOURCEAMBIENT],1520743889:[IFCLIGHTSOURCESPOT],1008929658:[IFCEDGELOOP,IFCVERTEXLOOP,IFCPOLYLOOP],3079605661:[IFCMATERIALPROFILESETUSAGETAPERING],219451334:[IFCASSET,IFCSTRUCTURALANALYSISMODEL,IFCDISTRIBUTIONCIRCUIT,IFCDISTRIBUTIONSYSTEM,IFCBUILTSYSTEM,IFCBUILDINGSYSTEM,IFCZONE,IFCSYSTEM,IFCSTRUCTURALRESULTGROUP,IFCSTRUCTURALLOADCASE,IFCSTRUCTURALLOADGROUP,IFCINVENTORY,IFCGROUP,IFCACTIONREQUEST,IFCWORKSCHEDULE,IFCWORKPLAN,IFCWORKCONTROL,IFCWORKCALENDAR,IFCPROJECTORDER,IFCPERMIT,IFCPERFORMANCEHISTORY,IFCCOSTSCHEDULE,IFCCOSTITEM,IFCCONTROL,IFCOCCUPANT,IFCACTOR,IFCCONSTRUCTIONPRODUCTRESOURCE,IFCCONSTRUCTIONMATERIALRESOURCE,IFCCONSTRUCTIONEQUIPMENTRESOURCE,IFCSUBCONTRACTRESOURCE,IFCLABORRESOURCE,IFCCREWRESOURCE,IFCCONSTRUCTIONRESOURCE,IFCRESOURCE,IFCALIGNMENT,IFCLINEARPOSITIONINGELEMENT,IFCGRID,IFCREFERENT,IFCPOSITIONINGELEMENT,IFCDISTRIBUTIONPORT,IFCPORT,IFCALIGNMENTVERTICAL,IFCALIGNMENTSEGMENT,IFCALIGNMENTHORIZONTAL,IFCALIGNMENTCANT,IFCLINEARELEMENT,IFCCONTROLLER,IFCALARM,IFCACTUATOR,IFCUNITARYCONTROLELEMENT,IFCSENSOR,IFCPROTECTIVEDEVICETRIPPINGUNIT,IFCFLOWINSTRUMENT,IFCDISTRIBUTIONCONTROLELEMENT,IFCDISTRIBUTIONCHAMBERELEMENT,IFCFILTER,IFCELECTRICFLOWTREATMENTDEVICE,IFCDUCTSILENCER,IFCINTERCEPTOR,IFCFLOWTREATMENTDEVICE,IFCFIRESUPPRESSIONTERMINAL,IFCELECTRICAPPLIANCE,IFCCOMMUNICATIONSAPPLIANCE,IFCAUDIOVISUALAPPLIANCE,IFCAIRTERMINAL,IFCWASTETERMINAL,IFCSTACKTERMINAL,IFCSPACEHEATER,IFCSIGNAL,IFCSANITARYTERMINAL,IFCOUTLET,IFCMOBILETELECOMMUNICATIONSAPPLIANCE,IFCMEDICALDEVICE,IFCLIQUIDTERMINAL,IFCLIGHTFIXTURE,IFCLAMP,IFCFLOWTERMINAL,IFCELECTRICFLOWSTORAGEDEVICE,IFCTANK,IFCFLOWSTORAGEDEVICE,IFCDUCTSEGMENT,IFCCONVEYORSEGMENT,IFCCABLESEGMENT,IFCCABLECARRIERSEGMENT,IFCPIPESEGMENT,IFCFLOWSEGMENT,IFCFAN,IFCCOMPRESSOR,IFCPUMP,IFCFLOWMOVINGDEVICE,IFCDUCTFITTING,IFCCABLEFITTING,IFCCABLECARRIERFITTING,IFCPIPEFITTING,IFCJUNCTIONBOX,IFCFLOWFITTING,IFCELECTRICTIMECONTROL,IFCELECTRICDISTRIBUTIONBOARD,IFCDISTRIBUTIONBOARD,IFCDAMPER,IFCAIRTERMINALBOX,IFCVALVE,IFCSWITCHINGDEVICE,IFCPROTECTIVEDEVICE,IFCFLOWMETER,IFCFLOWCONTROLLER,IFCELECTRICMOTOR,IFCELECTRICGENERATOR,IFCCOOLINGTOWER,IFCCOOLEDBEAM,IFCCONDENSER,IFCCOIL,IFCCHILLER,IFCBURNER,IFCBOILER,IFCAIRTOAIRHEATRECOVERY,IFCUNITARYEQUIPMENT,IFCTUBEBUNDLE,IFCTRANSFORMER,IFCSOLARDEVICE,IFCMOTORCONNECTION,IFCHUMIDIFIER,IFCHEATEXCHANGER,IFCEVAPORATOR,IFCEVAPORATIVECOOLER,IFCENGINE,IFCENERGYCONVERSIONDEVICE,IFCDISTRIBUTIONFLOWELEMENT,IFCDISTRIBUTIONELEMENT,IFCCIVILELEMENT,IFCBUILDINGELEMENTPROXY,IFCBEARING,IFCBEAM,IFCWINDOW,IFCWALLSTANDARDCASE,IFCWALL,IFCTRACKELEMENT,IFCSTAIRFLIGHT,IFCSTAIR,IFCSLAB,IFCSHADINGDEVICE,IFCROOF,IFCRAMPFLIGHT,IFCRAMP,IFCRAILING,IFCRAIL,IFCPLATE,IFCPAVEMENT,IFCNAVIGATIONELEMENT,IFCMOORINGDEVICE,IFCMEMBER,IFCKERB,IFCFOOTING,IFCREINFORCEDSOIL,IFCEARTHWORKSFILL,IFCEARTHWORKSELEMENT,IFCDOOR,IFCCAISSONFOUNDATION,IFCPILE,IFCDEEPFOUNDATION,IFCCURTAINWALL,IFCCOVERING,IFCCOURSE,IFCCOLUMN,IFCCHIMNEY,IFCBUILTELEMENT,IFCVIRTUALELEMENT,IFCTRANSPORTELEMENT,IFCVEHICLE,IFCTRANSPORTATIONDEVICE,IFCGEOSLICE,IFCGEOMODEL,IFCBOREHOLE,IFCGEOTECHNICALASSEMBLY,IFCGEOTECHNICALSTRATUM,IFCGEOTECHNICALELEMENT,IFCGEOGRAPHICELEMENT,IFCSYSTEMFURNITUREELEMENT,IFCFURNITURE,IFCFURNISHINGELEMENT,IFCSURFACEFEATURE,IFCEARTHWORKSCUT,IFCVOIDINGFEATURE,IFCOPENINGELEMENT,IFCFEATUREELEMENTSUBTRACTION,IFCPROJECTIONELEMENT,IFCFEATUREELEMENTADDITION,IFCFEATUREELEMENT,IFCDISCRETEACCESSORY,IFCBUILDINGELEMENTPART,IFCVIBRATIONISOLATOR,IFCVIBRATIONDAMPER,IFCSIGN,IFCREINFORCINGBAR,IFCTENDONCONDUIT,IFCTENDONANCHOR,IFCTENDON,IFCREINFORCINGMESH,IFCREINFORCINGELEMENT,IFCMECHANICALFASTENER,IFCIMPACTPROTECTIONDEVICE,IFCFASTENER,IFCELEMENTCOMPONENT,IFCELEMENTASSEMBLY,IFCELEMENT,IFCANNOTATION,IFCSTRUCTURALSURFACECONNECTION,IFCSTRUCTURALPOINTCONNECTION,IFCSTRUCTURALCURVECONNECTION,IFCSTRUCTURALCONNECTION,IFCSTRUCTURALCURVEMEMBERVARYING,IFCSTRUCTURALCURVEMEMBER,IFCSTRUCTURALSURFACEMEMBERVARYING,IFCSTRUCTURALSURFACEMEMBER,IFCSTRUCTURALMEMBER,IFCSTRUCTURALITEM,IFCSTRUCTURALPLANARACTION,IFCSTRUCTURALSURFACEACTION,IFCSTRUCTURALPOINTACTION,IFCSTRUCTURALLINEARACTION,IFCSTRUCTURALCURVEACTION,IFCSTRUCTURALACTION,IFCSTRUCTURALPOINTREACTION,IFCSTRUCTURALCURVEREACTION,IFCSTRUCTURALSURFACEREACTION,IFCSTRUCTURALREACTION,IFCSTRUCTURALACTIVITY,IFCEXTERNALSPATIALELEMENT,IFCEXTERNALSPATIALSTRUCTUREELEMENT,IFCSPATIALZONE,IFCSPACE,IFCSITE,IFCBRIDGEPART,IFCROADPART,IFCRAILWAYPART,IFCMARINEPART,IFCFACILITYPARTCOMMON,IFCFACILITYPART,IFCBUILDING,IFCBRIDGE,IFCROAD,IFCRAILWAY,IFCMARINEFACILITY,IFCFACILITY,IFCBUILDINGSTOREY,IFCSPATIALSTRUCTUREELEMENT,IFCSPATIALELEMENT,IFCPRODUCT,IFCPROCEDURE,IFCEVENT,IFCTASK,IFCPROCESS,IFCOBJECT,IFCPROJECTLIBRARY,IFCPROJECT,IFCCONTEXT,IFCCONSTRUCTIONPRODUCTRESOURCETYPE,IFCCONSTRUCTIONMATERIALRESOURCETYPE,IFCCONSTRUCTIONEQUIPMENTRESOURCETYPE,IFCSUBCONTRACTRESOURCETYPE,IFCLABORRESOURCETYPE,IFCCREWRESOURCETYPE,IFCCONSTRUCTIONRESOURCETYPE,IFCTYPERESOURCE,IFCSPATIALZONETYPE,IFCSPACETYPE,IFCSPATIALSTRUCTUREELEMENTTYPE,IFCSPATIALELEMENTTYPE,IFCDISCRETEACCESSORYTYPE,IFCBUILDINGELEMENTPARTTYPE,IFCVIBRATIONISOLATORTYPE,IFCVIBRATIONDAMPERTYPE,IFCSIGNTYPE,IFCREINFORCINGBARTYPE,IFCTENDONTYPE,IFCTENDONCONDUITTYPE,IFCTENDONANCHORTYPE,IFCREINFORCINGMESHTYPE,IFCREINFORCINGELEMENTTYPE,IFCMECHANICALFASTENERTYPE,IFCIMPACTPROTECTIONDEVICETYPE,IFCFASTENERTYPE,IFCELEMENTCOMPONENTTYPE,IFCELEMENTASSEMBLYTYPE,IFCCONTROLLERTYPE,IFCALARMTYPE,IFCACTUATORTYPE,IFCUNITARYCONTROLELEMENTTYPE,IFCSENSORTYPE,IFCPROTECTIVEDEVICETRIPPINGUNITTYPE,IFCFLOWINSTRUMENTTYPE,IFCDISTRIBUTIONCONTROLELEMENTTYPE,IFCDISTRIBUTIONCHAMBERELEMENTTYPE,IFCFILTERTYPE,IFCELECTRICFLOWTREATMENTDEVICETYPE,IFCDUCTSILENCERTYPE,IFCINTERCEPTORTYPE,IFCFLOWTREATMENTDEVICETYPE,IFCFIRESUPPRESSIONTERMINALTYPE,IFCELECTRICAPPLIANCETYPE,IFCCOMMUNICATIONSAPPLIANCETYPE,IFCAUDIOVISUALAPPLIANCETYPE,IFCAIRTERMINALTYPE,IFCWASTETERMINALTYPE,IFCSTACKTERMINALTYPE,IFCSPACEHEATERTYPE,IFCSIGNALTYPE,IFCSANITARYTERMINALTYPE,IFCOUTLETTYPE,IFCMOBILETELECOMMUNICATIONSAPPLIANCETYPE,IFCMEDICALDEVICETYPE,IFCLIQUIDTERMINALTYPE,IFCLIGHTFIXTURETYPE,IFCLAMPTYPE,IFCFLOWTERMINALTYPE,IFCELECTRICFLOWSTORAGEDEVICETYPE,IFCTANKTYPE,IFCFLOWSTORAGEDEVICETYPE,IFCDUCTSEGMENTTYPE,IFCCONVEYORSEGMENTTYPE,IFCCABLESEGMENTTYPE,IFCCABLECARRIERSEGMENTTYPE,IFCPIPESEGMENTTYPE,IFCFLOWSEGMENTTYPE,IFCFANTYPE,IFCCOMPRESSORTYPE,IFCPUMPTYPE,IFCFLOWMOVINGDEVICETYPE,IFCDUCTFITTINGTYPE,IFCCABLEFITTINGTYPE,IFCCABLECARRIERFITTINGTYPE,IFCPIPEFITTINGTYPE,IFCJUNCTIONBOXTYPE,IFCFLOWFITTINGTYPE,IFCELECTRICTIMECONTROLTYPE,IFCELECTRICDISTRIBUTIONBOARDTYPE,IFCDISTRIBUTIONBOARDTYPE,IFCDAMPERTYPE,IFCAIRTERMINALBOXTYPE,IFCVALVETYPE,IFCSWITCHINGDEVICETYPE,IFCPROTECTIVEDEVICETYPE,IFCFLOWMETERTYPE,IFCFLOWCONTROLLERTYPE,IFCELECTRICMOTORTYPE,IFCELECTRICGENERATORTYPE,IFCCOOLINGTOWERTYPE,IFCCOOLEDBEAMTYPE,IFCCONDENSERTYPE,IFCCOILTYPE,IFCCHILLERTYPE,IFCBURNERTYPE,IFCBOILERTYPE,IFCAIRTOAIRHEATRECOVERYTYPE,IFCUNITARYEQUIPMENTTYPE,IFCTUBEBUNDLETYPE,IFCTRANSFORMERTYPE,IFCSOLARDEVICETYPE,IFCMOTORCONNECTIONTYPE,IFCHUMIDIFIERTYPE,IFCHEATEXCHANGERTYPE,IFCEVAPORATORTYPE,IFCEVAPORATIVECOOLERTYPE,IFCENGINETYPE,IFCENERGYCONVERSIONDEVICETYPE,IFCDISTRIBUTIONFLOWELEMENTTYPE,IFCDISTRIBUTIONELEMENTTYPE,IFCCIVILELEMENTTYPE,IFCBUILDINGELEMENTPROXYTYPE,IFCBEARINGTYPE,IFCBEAMTYPE,IFCWINDOWTYPE,IFCWALLTYPE,IFCTRACKELEMENTTYPE,IFCSTAIRTYPE,IFCSTAIRFLIGHTTYPE,IFCSLABTYPE,IFCSHADINGDEVICETYPE,IFCROOFTYPE,IFCRAMPTYPE,IFCRAMPFLIGHTTYPE,IFCRAILINGTYPE,IFCRAILTYPE,IFCPLATETYPE,IFCPAVEMENTTYPE,IFCNAVIGATIONELEMENTTYPE,IFCMOORINGDEVICETYPE,IFCMEMBERTYPE,IFCKERBTYPE,IFCFOOTINGTYPE,IFCDOORTYPE,IFCCAISSONFOUNDATIONTYPE,IFCPILETYPE,IFCDEEPFOUNDATIONTYPE,IFCCURTAINWALLTYPE,IFCCOVERINGTYPE,IFCCOURSETYPE,IFCCOLUMNTYPE,IFCCHIMNEYTYPE,IFCBUILTELEMENTTYPE,IFCTRANSPORTELEMENTTYPE,IFCVEHICLETYPE,IFCTRANSPORTATIONDEVICETYPE,IFCGEOGRAPHICELEMENTTYPE,IFCSYSTEMFURNITUREELEMENTTYPE,IFCFURNITURETYPE,IFCFURNISHINGELEMENTTYPE,IFCELEMENTTYPE,IFCTYPEPRODUCT,IFCTASKTYPE,IFCPROCEDURETYPE,IFCEVENTTYPE,IFCTYPEPROCESS,IFCTYPEOBJECT],2529465313:[IFCLSHAPEPROFILEDEF,IFCISHAPEPROFILEDEF,IFCELLIPSEPROFILEDEF,IFCCIRCLEHOLLOWPROFILEDEF,IFCCIRCLEPROFILEDEF,IFCCSHAPEPROFILEDEF,IFCASYMMETRICISHAPEPROFILEDEF,IFCZSHAPEPROFILEDEF,IFCUSHAPEPROFILEDEF,IFCTRAPEZIUMPROFILEDEF,IFCTSHAPEPROFILEDEF,IFCRECTANGLEHOLLOWPROFILEDEF,IFCROUNDEDRECTANGLEPROFILEDEF,IFCRECTANGLEPROFILEDEF],2004835150:[IFCAXIS2PLACEMENTLINEAR,IFCAXIS2PLACEMENT3D,IFCAXIS2PLACEMENT2D,IFCAXIS1PLACEMENT],1663979128:[IFCPLANARBOX],2067069095:[IFCCARTESIANPOINT,IFCPOINTONSURFACE,IFCPOINTONCURVE,IFCPOINTBYDISTANCEEXPRESSION],3727388367:[IFCDRAUGHTINGPREDEFINEDCURVEFONT,IFCPREDEFINEDCURVEFONT,IFCDRAUGHTINGPREDEFINEDCOLOUR,IFCPREDEFINEDCOLOUR,IFCTEXTSTYLEFONTMODEL,IFCPREDEFINEDTEXTFONT],3778827333:[IFCSECTIONREINFORCEMENTPROPERTIES,IFCSECTIONPROPERTIES,IFCREINFORCEMENTBARPROPERTIES],1775413392:[IFCTEXTSTYLEFONTMODEL],2598011224:[IFCCOMPLEXPROPERTY,IFCPROPERTYTABLEVALUE,IFCPROPERTYSINGLEVALUE,IFCPROPERTYREFERENCEVALUE,IFCPROPERTYLISTVALUE,IFCPROPERTYENUMERATEDVALUE,IFCPROPERTYBOUNDEDVALUE,IFCSIMPLEPROPERTY],1680319473:[IFCCOMPLEXPROPERTYTEMPLATE,IFCSIMPLEPROPERTYTEMPLATE,IFCPROPERTYTEMPLATE,IFCPROPERTYSETTEMPLATE,IFCPROPERTYTEMPLATEDEFINITION,IFCPROPERTYSET,IFCPERMEABLECOVERINGPROPERTIES,IFCDOORPANELPROPERTIES,IFCDOORLININGPROPERTIES,IFCWINDOWPANELPROPERTIES,IFCWINDOWLININGPROPERTIES,IFCREINFORCEMENTDEFINITIONPROPERTIES,IFCPREDEFINEDPROPERTYSET,IFCELEMENTQUANTITY,IFCQUANTITYSET,IFCPROPERTYSETDEFINITION],3357820518:[IFCPROPERTYSET,IFCPERMEABLECOVERINGPROPERTIES,IFCDOORPANELPROPERTIES,IFCDOORLININGPROPERTIES,IFCWINDOWPANELPROPERTIES,IFCWINDOWLININGPROPERTIES,IFCREINFORCEMENTDEFINITIONPROPERTIES,IFCPREDEFINEDPROPERTYSET,IFCELEMENTQUANTITY,IFCQUANTITYSET],1482703590:[IFCCOMPLEXPROPERTYTEMPLATE,IFCSIMPLEPROPERTYTEMPLATE,IFCPROPERTYTEMPLATE,IFCPROPERTYSETTEMPLATE],2090586900:[IFCELEMENTQUANTITY],3615266464:[IFCRECTANGLEHOLLOWPROFILEDEF,IFCROUNDEDRECTANGLEPROFILEDEF],478536968:[IFCRELDEFINESBYTYPE,IFCRELDEFINESBYTEMPLATE,IFCRELDEFINESBYPROPERTIES,IFCRELDEFINESBYOBJECT,IFCRELDEFINES,IFCRELAGGREGATES,IFCRELADHERESTOELEMENT,IFCRELVOIDSELEMENT,IFCRELPROJECTSELEMENT,IFCRELNESTS,IFCRELDECOMPOSES,IFCRELDECLARES,IFCRELSPACEBOUNDARY2NDLEVEL,IFCRELSPACEBOUNDARY1STLEVEL,IFCRELSPACEBOUNDARY,IFCRELSERVICESBUILDINGS,IFCRELSEQUENCE,IFCRELREFERENCEDINSPATIALSTRUCTURE,IFCRELPOSITIONS,IFCRELINTERFERESELEMENTS,IFCRELFLOWCONTROLELEMENTS,IFCRELFILLSELEMENT,IFCRELCOVERSSPACES,IFCRELCOVERSBLDGELEMENTS,IFCRELCONTAINEDINSPATIALSTRUCTURE,IFCRELCONNECTSWITHECCENTRICITY,IFCRELCONNECTSSTRUCTURALMEMBER,IFCRELCONNECTSSTRUCTURALACTIVITY,IFCRELCONNECTSPORTS,IFCRELCONNECTSPORTTOELEMENT,IFCRELCONNECTSWITHREALIZINGELEMENTS,IFCRELCONNECTSPATHELEMENTS,IFCRELCONNECTSELEMENTS,IFCRELCONNECTS,IFCRELASSOCIATESPROFILEDEF,IFCRELASSOCIATESMATERIAL,IFCRELASSOCIATESLIBRARY,IFCRELASSOCIATESDOCUMENT,IFCRELASSOCIATESCONSTRAINT,IFCRELASSOCIATESCLASSIFICATION,IFCRELASSOCIATESAPPROVAL,IFCRELASSOCIATES,IFCRELASSIGNSTORESOURCE,IFCRELASSIGNSTOPRODUCT,IFCRELASSIGNSTOPROCESS,IFCRELASSIGNSTOGROUPBYFACTOR,IFCRELASSIGNSTOGROUP,IFCRELASSIGNSTOCONTROL,IFCRELASSIGNSTOACTOR,IFCRELASSIGNS],823603102:[IFCCURVESEGMENT,IFCREPARAMETRISEDCOMPOSITECURVESEGMENT,IFCCOMPOSITECURVESEGMENT],3692461612:[IFCPROPERTYTABLEVALUE,IFCPROPERTYSINGLEVALUE,IFCPROPERTYREFERENCEVALUE,IFCPROPERTYLISTVALUE,IFCPROPERTYENUMERATEDVALUE,IFCPROPERTYBOUNDEDVALUE],723233188:[IFCSECTIONEDSOLIDHORIZONTAL,IFCSECTIONEDSOLID,IFCFACETEDBREPWITHVOIDS,IFCFACETEDBREP,IFCADVANCEDBREPWITHVOIDS,IFCADVANCEDBREP,IFCMANIFOLDSOLIDBREP,IFCCSGSOLID,IFCSWEPTDISKSOLIDPOLYGONAL,IFCSWEPTDISKSOLID,IFCREVOLVEDAREASOLIDTAPERED,IFCREVOLVEDAREASOLID,IFCEXTRUDEDAREASOLIDTAPERED,IFCEXTRUDEDAREASOLID,IFCSURFACECURVESWEPTAREASOLID,IFCDIRECTRIXDERIVEDREFERENCESWEPTAREASOLID,IFCFIXEDREFERENCESWEPTAREASOLID,IFCDIRECTRIXCURVESWEPTAREASOLID,IFCSWEPTAREASOLID],2473145415:[IFCSTRUCTURALLOADSINGLEDISPLACEMENTDISTORTION],1597423693:[IFCSTRUCTURALLOADSINGLEFORCEWARPING],2513912981:[IFCSECTIONEDSURFACE,IFCCYLINDRICALSURFACE,IFCTOROIDALSURFACE,IFCSPHERICALSURFACE,IFCPLANE,IFCELEMENTARYSURFACE,IFCRATIONALBSPLINESURFACEWITHKNOTS,IFCBSPLINESURFACEWITHKNOTS,IFCBSPLINESURFACE,IFCRECTANGULARTRIMMEDSURFACE,IFCCURVEBOUNDEDSURFACE,IFCCURVEBOUNDEDPLANE,IFCBOUNDEDSURFACE,IFCSURFACEOFREVOLUTION,IFCSURFACEOFLINEAREXTRUSION,IFCSWEPTSURFACE],2247615214:[IFCREVOLVEDAREASOLIDTAPERED,IFCREVOLVEDAREASOLID,IFCEXTRUDEDAREASOLIDTAPERED,IFCEXTRUDEDAREASOLID,IFCSURFACECURVESWEPTAREASOLID,IFCDIRECTRIXDERIVEDREFERENCESWEPTAREASOLID,IFCFIXEDREFERENCESWEPTAREASOLID,IFCDIRECTRIXCURVESWEPTAREASOLID],1260650574:[IFCSWEPTDISKSOLIDPOLYGONAL],230924584:[IFCSURFACEOFREVOLUTION,IFCSURFACEOFLINEAREXTRUSION],901063453:[IFCPOLYGONALFACESET,IFCTRIANGULATEDIRREGULARNETWORK,IFCTRIANGULATEDFACESET,IFCTESSELLATEDFACESET,IFCINDEXEDPOLYGONALFACEWITHVOIDS,IFCINDEXEDPOLYGONALFACE],4282788508:[IFCTEXTLITERALWITHEXTENT],1628702193:[IFCCONSTRUCTIONPRODUCTRESOURCETYPE,IFCCONSTRUCTIONMATERIALRESOURCETYPE,IFCCONSTRUCTIONEQUIPMENTRESOURCETYPE,IFCSUBCONTRACTRESOURCETYPE,IFCLABORRESOURCETYPE,IFCCREWRESOURCETYPE,IFCCONSTRUCTIONRESOURCETYPE,IFCTYPERESOURCE,IFCSPATIALZONETYPE,IFCSPACETYPE,IFCSPATIALSTRUCTUREELEMENTTYPE,IFCSPATIALELEMENTTYPE,IFCDISCRETEACCESSORYTYPE,IFCBUILDINGELEMENTPARTTYPE,IFCVIBRATIONISOLATORTYPE,IFCVIBRATIONDAMPERTYPE,IFCSIGNTYPE,IFCREINFORCINGBARTYPE,IFCTENDONTYPE,IFCTENDONCONDUITTYPE,IFCTENDONANCHORTYPE,IFCREINFORCINGMESHTYPE,IFCREINFORCINGELEMENTTYPE,IFCMECHANICALFASTENERTYPE,IFCIMPACTPROTECTIONDEVICETYPE,IFCFASTENERTYPE,IFCELEMENTCOMPONENTTYPE,IFCELEMENTASSEMBLYTYPE,IFCCONTROLLERTYPE,IFCALARMTYPE,IFCACTUATORTYPE,IFCUNITARYCONTROLELEMENTTYPE,IFCSENSORTYPE,IFCPROTECTIVEDEVICETRIPPINGUNITTYPE,IFCFLOWINSTRUMENTTYPE,IFCDISTRIBUTIONCONTROLELEMENTTYPE,IFCDISTRIBUTIONCHAMBERELEMENTTYPE,IFCFILTERTYPE,IFCELECTRICFLOWTREATMENTDEVICETYPE,IFCDUCTSILENCERTYPE,IFCINTERCEPTORTYPE,IFCFLOWTREATMENTDEVICETYPE,IFCFIRESUPPRESSIONTERMINALTYPE,IFCELECTRICAPPLIANCETYPE,IFCCOMMUNICATIONSAPPLIANCETYPE,IFCAUDIOVISUALAPPLIANCETYPE,IFCAIRTERMINALTYPE,IFCWASTETERMINALTYPE,IFCSTACKTERMINALTYPE,IFCSPACEHEATERTYPE,IFCSIGNALTYPE,IFCSANITARYTERMINALTYPE,IFCOUTLETTYPE,IFCMOBILETELECOMMUNICATIONSAPPLIANCETYPE,IFCMEDICALDEVICETYPE,IFCLIQUIDTERMINALTYPE,IFCLIGHTFIXTURETYPE,IFCLAMPTYPE,IFCFLOWTERMINALTYPE,IFCELECTRICFLOWSTORAGEDEVICETYPE,IFCTANKTYPE,IFCFLOWSTORAGEDEVICETYPE,IFCDUCTSEGMENTTYPE,IFCCONVEYORSEGMENTTYPE,IFCCABLESEGMENTTYPE,IFCCABLECARRIERSEGMENTTYPE,IFCPIPESEGMENTTYPE,IFCFLOWSEGMENTTYPE,IFCFANTYPE,IFCCOMPRESSORTYPE,IFCPUMPTYPE,IFCFLOWMOVINGDEVICETYPE,IFCDUCTFITTINGTYPE,IFCCABLEFITTINGTYPE,IFCCABLECARRIERFITTINGTYPE,IFCPIPEFITTINGTYPE,IFCJUNCTIONBOXTYPE,IFCFLOWFITTINGTYPE,IFCELECTRICTIMECONTROLTYPE,IFCELECTRICDISTRIBUTIONBOARDTYPE,IFCDISTRIBUTIONBOARDTYPE,IFCDAMPERTYPE,IFCAIRTERMINALBOXTYPE,IFCVALVETYPE,IFCSWITCHINGDEVICETYPE,IFCPROTECTIVEDEVICETYPE,IFCFLOWMETERTYPE,IFCFLOWCONTROLLERTYPE,IFCELECTRICMOTORTYPE,IFCELECTRICGENERATORTYPE,IFCCOOLINGTOWERTYPE,IFCCOOLEDBEAMTYPE,IFCCONDENSERTYPE,IFCCOILTYPE,IFCCHILLERTYPE,IFCBURNERTYPE,IFCBOILERTYPE,IFCAIRTOAIRHEATRECOVERYTYPE,IFCUNITARYEQUIPMENTTYPE,IFCTUBEBUNDLETYPE,IFCTRANSFORMERTYPE,IFCSOLARDEVICETYPE,IFCMOTORCONNECTIONTYPE,IFCHUMIDIFIERTYPE,IFCHEATEXCHANGERTYPE,IFCEVAPORATORTYPE,IFCEVAPORATIVECOOLERTYPE,IFCENGINETYPE,IFCENERGYCONVERSIONDEVICETYPE,IFCDISTRIBUTIONFLOWELEMENTTYPE,IFCDISTRIBUTIONELEMENTTYPE,IFCCIVILELEMENTTYPE,IFCBUILDINGELEMENTPROXYTYPE,IFCBEARINGTYPE,IFCBEAMTYPE,IFCWINDOWTYPE,IFCWALLTYPE,IFCTRACKELEMENTTYPE,IFCSTAIRTYPE,IFCSTAIRFLIGHTTYPE,IFCSLABTYPE,IFCSHADINGDEVICETYPE,IFCROOFTYPE,IFCRAMPTYPE,IFCRAMPFLIGHTTYPE,IFCRAILINGTYPE,IFCRAILTYPE,IFCPLATETYPE,IFCPAVEMENTTYPE,IFCNAVIGATIONELEMENTTYPE,IFCMOORINGDEVICETYPE,IFCMEMBERTYPE,IFCKERBTYPE,IFCFOOTINGTYPE,IFCDOORTYPE,IFCCAISSONFOUNDATIONTYPE,IFCPILETYPE,IFCDEEPFOUNDATIONTYPE,IFCCURTAINWALLTYPE,IFCCOVERINGTYPE,IFCCOURSETYPE,IFCCOLUMNTYPE,IFCCHIMNEYTYPE,IFCBUILTELEMENTTYPE,IFCTRANSPORTELEMENTTYPE,IFCVEHICLETYPE,IFCTRANSPORTATIONDEVICETYPE,IFCGEOGRAPHICELEMENTTYPE,IFCSYSTEMFURNITUREELEMENTTYPE,IFCFURNITURETYPE,IFCFURNISHINGELEMENTTYPE,IFCELEMENTTYPE,IFCTYPEPRODUCT,IFCTASKTYPE,IFCPROCEDURETYPE,IFCEVENTTYPE,IFCTYPEPROCESS],3736923433:[IFCTASKTYPE,IFCPROCEDURETYPE,IFCEVENTTYPE],2347495698:[IFCSPATIALZONETYPE,IFCSPACETYPE,IFCSPATIALSTRUCTUREELEMENTTYPE,IFCSPATIALELEMENTTYPE,IFCDISCRETEACCESSORYTYPE,IFCBUILDINGELEMENTPARTTYPE,IFCVIBRATIONISOLATORTYPE,IFCVIBRATIONDAMPERTYPE,IFCSIGNTYPE,IFCREINFORCINGBARTYPE,IFCTENDONTYPE,IFCTENDONCONDUITTYPE,IFCTENDONANCHORTYPE,IFCREINFORCINGMESHTYPE,IFCREINFORCINGELEMENTTYPE,IFCMECHANICALFASTENERTYPE,IFCIMPACTPROTECTIONDEVICETYPE,IFCFASTENERTYPE,IFCELEMENTCOMPONENTTYPE,IFCELEMENTASSEMBLYTYPE,IFCCONTROLLERTYPE,IFCALARMTYPE,IFCACTUATORTYPE,IFCUNITARYCONTROLELEMENTTYPE,IFCSENSORTYPE,IFCPROTECTIVEDEVICETRIPPINGUNITTYPE,IFCFLOWINSTRUMENTTYPE,IFCDISTRIBUTIONCONTROLELEMENTTYPE,IFCDISTRIBUTIONCHAMBERELEMENTTYPE,IFCFILTERTYPE,IFCELECTRICFLOWTREATMENTDEVICETYPE,IFCDUCTSILENCERTYPE,IFCINTERCEPTORTYPE,IFCFLOWTREATMENTDEVICETYPE,IFCFIRESUPPRESSIONTERMINALTYPE,IFCELECTRICAPPLIANCETYPE,IFCCOMMUNICATIONSAPPLIANCETYPE,IFCAUDIOVISUALAPPLIANCETYPE,IFCAIRTERMINALTYPE,IFCWASTETERMINALTYPE,IFCSTACKTERMINALTYPE,IFCSPACEHEATERTYPE,IFCSIGNALTYPE,IFCSANITARYTERMINALTYPE,IFCOUTLETTYPE,IFCMOBILETELECOMMUNICATIONSAPPLIANCETYPE,IFCMEDICALDEVICETYPE,IFCLIQUIDTERMINALTYPE,IFCLIGHTFIXTURETYPE,IFCLAMPTYPE,IFCFLOWTERMINALTYPE,IFCELECTRICFLOWSTORAGEDEVICETYPE,IFCTANKTYPE,IFCFLOWSTORAGEDEVICETYPE,IFCDUCTSEGMENTTYPE,IFCCONVEYORSEGMENTTYPE,IFCCABLESEGMENTTYPE,IFCCABLECARRIERSEGMENTTYPE,IFCPIPESEGMENTTYPE,IFCFLOWSEGMENTTYPE,IFCFANTYPE,IFCCOMPRESSORTYPE,IFCPUMPTYPE,IFCFLOWMOVINGDEVICETYPE,IFCDUCTFITTINGTYPE,IFCCABLEFITTINGTYPE,IFCCABLECARRIERFITTINGTYPE,IFCPIPEFITTINGTYPE,IFCJUNCTIONBOXTYPE,IFCFLOWFITTINGTYPE,IFCELECTRICTIMECONTROLTYPE,IFCELECTRICDISTRIBUTIONBOARDTYPE,IFCDISTRIBUTIONBOARDTYPE,IFCDAMPERTYPE,IFCAIRTERMINALBOXTYPE,IFCVALVETYPE,IFCSWITCHINGDEVICETYPE,IFCPROTECTIVEDEVICETYPE,IFCFLOWMETERTYPE,IFCFLOWCONTROLLERTYPE,IFCELECTRICMOTORTYPE,IFCELECTRICGENERATORTYPE,IFCCOOLINGTOWERTYPE,IFCCOOLEDBEAMTYPE,IFCCONDENSERTYPE,IFCCOILTYPE,IFCCHILLERTYPE,IFCBURNERTYPE,IFCBOILERTYPE,IFCAIRTOAIRHEATRECOVERYTYPE,IFCUNITARYEQUIPMENTTYPE,IFCTUBEBUNDLETYPE,IFCTRANSFORMERTYPE,IFCSOLARDEVICETYPE,IFCMOTORCONNECTIONTYPE,IFCHUMIDIFIERTYPE,IFCHEATEXCHANGERTYPE,IFCEVAPORATORTYPE,IFCEVAPORATIVECOOLERTYPE,IFCENGINETYPE,IFCENERGYCONVERSIONDEVICETYPE,IFCDISTRIBUTIONFLOWELEMENTTYPE,IFCDISTRIBUTIONELEMENTTYPE,IFCCIVILELEMENTTYPE,IFCBUILDINGELEMENTPROXYTYPE,IFCBEARINGTYPE,IFCBEAMTYPE,IFCWINDOWTYPE,IFCWALLTYPE,IFCTRACKELEMENTTYPE,IFCSTAIRTYPE,IFCSTAIRFLIGHTTYPE,IFCSLABTYPE,IFCSHADINGDEVICETYPE,IFCROOFTYPE,IFCRAMPTYPE,IFCRAMPFLIGHTTYPE,IFCRAILINGTYPE,IFCRAILTYPE,IFCPLATETYPE,IFCPAVEMENTTYPE,IFCNAVIGATIONELEMENTTYPE,IFCMOORINGDEVICETYPE,IFCMEMBERTYPE,IFCKERBTYPE,IFCFOOTINGTYPE,IFCDOORTYPE,IFCCAISSONFOUNDATIONTYPE,IFCPILETYPE,IFCDEEPFOUNDATIONTYPE,IFCCURTAINWALLTYPE,IFCCOVERINGTYPE,IFCCOURSETYPE,IFCCOLUMNTYPE,IFCCHIMNEYTYPE,IFCBUILTELEMENTTYPE,IFCTRANSPORTELEMENTTYPE,IFCVEHICLETYPE,IFCTRANSPORTATIONDEVICETYPE,IFCGEOGRAPHICELEMENTTYPE,IFCSYSTEMFURNITUREELEMENTTYPE,IFCFURNITURETYPE,IFCFURNISHINGELEMENTTYPE,IFCELEMENTTYPE],3698973494:[IFCCONSTRUCTIONPRODUCTRESOURCETYPE,IFCCONSTRUCTIONMATERIALRESOURCETYPE,IFCCONSTRUCTIONEQUIPMENTRESOURCETYPE,IFCSUBCONTRACTRESOURCETYPE,IFCLABORRESOURCETYPE,IFCCREWRESOURCETYPE,IFCCONSTRUCTIONRESOURCETYPE],2736907675:[IFCBOOLEANCLIPPINGRESULT],4182860854:[IFCRATIONALBSPLINESURFACEWITHKNOTS,IFCBSPLINESURFACEWITHKNOTS,IFCBSPLINESURFACE,IFCRECTANGULARTRIMMEDSURFACE,IFCCURVEBOUNDEDSURFACE,IFCCURVEBOUNDEDPLANE],574549367:[IFCCARTESIANPOINTLIST3D,IFCCARTESIANPOINTLIST2D],59481748:[IFCCARTESIANTRANSFORMATIONOPERATOR3DNONUNIFORM,IFCCARTESIANTRANSFORMATIONOPERATOR3D,IFCCARTESIANTRANSFORMATIONOPERATOR2DNONUNIFORM,IFCCARTESIANTRANSFORMATIONOPERATOR2D],3749851601:[IFCCARTESIANTRANSFORMATIONOPERATOR2DNONUNIFORM],3331915920:[IFCCARTESIANTRANSFORMATIONOPERATOR3DNONUNIFORM],1383045692:[IFCCIRCLEHOLLOWPROFILEDEF],2485617015:[IFCREPARAMETRISEDCOMPOSITECURVESEGMENT],2574617495:[IFCCONSTRUCTIONPRODUCTRESOURCETYPE,IFCCONSTRUCTIONMATERIALRESOURCETYPE,IFCCONSTRUCTIONEQUIPMENTRESOURCETYPE,IFCSUBCONTRACTRESOURCETYPE,IFCLABORRESOURCETYPE,IFCCREWRESOURCETYPE],3419103109:[IFCPROJECTLIBRARY,IFCPROJECT],2506170314:[IFCBLOCK,IFCSPHERE,IFCRIGHTCIRCULARCYLINDER,IFCRIGHTCIRCULARCONE,IFCRECTANGULARPYRAMID],2601014836:[IFCCIRCLE,IFCELLIPSE,IFCCONIC,IFCRATIONALBSPLINECURVEWITHKNOTS,IFCBSPLINECURVEWITHKNOTS,IFCBSPLINECURVE,IFCTRIMMEDCURVE,IFCPOLYLINE,IFCINDEXEDPOLYCURVE,IFCSEGMENTEDREFERENCECURVE,IFCGRADIENTCURVE,IFCOUTERBOUNDARYCURVE,IFCBOUNDARYCURVE,IFCCOMPOSITECURVEONSURFACE,IFCCOMPOSITECURVE,IFCBOUNDEDCURVE,IFCSEAMCURVE,IFCINTERSECTIONCURVE,IFCSURFACECURVE,IFCSINESPIRAL,IFCSEVENTHORDERPOLYNOMIALSPIRAL,IFCSECONDORDERPOLYNOMIALSPIRAL,IFCCOSINESPIRAL,IFCCLOTHOID,IFCTHIRDORDERPOLYNOMIALSPIRAL,IFCSPIRAL,IFCPOLYNOMIALCURVE,IFCPCURVE,IFCOFFSETCURVEBYDISTANCES,IFCOFFSETCURVE3D,IFCOFFSETCURVE2D,IFCOFFSETCURVE,IFCLINE],593015953:[IFCSURFACECURVESWEPTAREASOLID,IFCDIRECTRIXDERIVEDREFERENCESWEPTAREASOLID,IFCFIXEDREFERENCESWEPTAREASOLID],339256511:[IFCDISCRETEACCESSORYTYPE,IFCBUILDINGELEMENTPARTTYPE,IFCVIBRATIONISOLATORTYPE,IFCVIBRATIONDAMPERTYPE,IFCSIGNTYPE,IFCREINFORCINGBARTYPE,IFCTENDONTYPE,IFCTENDONCONDUITTYPE,IFCTENDONANCHORTYPE,IFCREINFORCINGMESHTYPE,IFCREINFORCINGELEMENTTYPE,IFCMECHANICALFASTENERTYPE,IFCIMPACTPROTECTIONDEVICETYPE,IFCFASTENERTYPE,IFCELEMENTCOMPONENTTYPE,IFCELEMENTASSEMBLYTYPE,IFCCONTROLLERTYPE,IFCALARMTYPE,IFCACTUATORTYPE,IFCUNITARYCONTROLELEMENTTYPE,IFCSENSORTYPE,IFCPROTECTIVEDEVICETRIPPINGUNITTYPE,IFCFLOWINSTRUMENTTYPE,IFCDISTRIBUTIONCONTROLELEMENTTYPE,IFCDISTRIBUTIONCHAMBERELEMENTTYPE,IFCFILTERTYPE,IFCELECTRICFLOWTREATMENTDEVICETYPE,IFCDUCTSILENCERTYPE,IFCINTERCEPTORTYPE,IFCFLOWTREATMENTDEVICETYPE,IFCFIRESUPPRESSIONTERMINALTYPE,IFCELECTRICAPPLIANCETYPE,IFCCOMMUNICATIONSAPPLIANCETYPE,IFCAUDIOVISUALAPPLIANCETYPE,IFCAIRTERMINALTYPE,IFCWASTETERMINALTYPE,IFCSTACKTERMINALTYPE,IFCSPACEHEATERTYPE,IFCSIGNALTYPE,IFCSANITARYTERMINALTYPE,IFCOUTLETTYPE,IFCMOBILETELECOMMUNICATIONSAPPLIANCETYPE,IFCMEDICALDEVICETYPE,IFCLIQUIDTERMINALTYPE,IFCLIGHTFIXTURETYPE,IFCLAMPTYPE,IFCFLOWTERMINALTYPE,IFCELECTRICFLOWSTORAGEDEVICETYPE,IFCTANKTYPE,IFCFLOWSTORAGEDEVICETYPE,IFCDUCTSEGMENTTYPE,IFCCONVEYORSEGMENTTYPE,IFCCABLESEGMENTTYPE,IFCCABLECARRIERSEGMENTTYPE,IFCPIPESEGMENTTYPE,IFCFLOWSEGMENTTYPE,IFCFANTYPE,IFCCOMPRESSORTYPE,IFCPUMPTYPE,IFCFLOWMOVINGDEVICETYPE,IFCDUCTFITTINGTYPE,IFCCABLEFITTINGTYPE,IFCCABLECARRIERFITTINGTYPE,IFCPIPEFITTINGTYPE,IFCJUNCTIONBOXTYPE,IFCFLOWFITTINGTYPE,IFCELECTRICTIMECONTROLTYPE,IFCELECTRICDISTRIBUTIONBOARDTYPE,IFCDISTRIBUTIONBOARDTYPE,IFCDAMPERTYPE,IFCAIRTERMINALBOXTYPE,IFCVALVETYPE,IFCSWITCHINGDEVICETYPE,IFCPROTECTIVEDEVICETYPE,IFCFLOWMETERTYPE,IFCFLOWCONTROLLERTYPE,IFCELECTRICMOTORTYPE,IFCELECTRICGENERATORTYPE,IFCCOOLINGTOWERTYPE,IFCCOOLEDBEAMTYPE,IFCCONDENSERTYPE,IFCCOILTYPE,IFCCHILLERTYPE,IFCBURNERTYPE,IFCBOILERTYPE,IFCAIRTOAIRHEATRECOVERYTYPE,IFCUNITARYEQUIPMENTTYPE,IFCTUBEBUNDLETYPE,IFCTRANSFORMERTYPE,IFCSOLARDEVICETYPE,IFCMOTORCONNECTIONTYPE,IFCHUMIDIFIERTYPE,IFCHEATEXCHANGERTYPE,IFCEVAPORATORTYPE,IFCEVAPORATIVECOOLERTYPE,IFCENGINETYPE,IFCENERGYCONVERSIONDEVICETYPE,IFCDISTRIBUTIONFLOWELEMENTTYPE,IFCDISTRIBUTIONELEMENTTYPE,IFCCIVILELEMENTTYPE,IFCBUILDINGELEMENTPROXYTYPE,IFCBEARINGTYPE,IFCBEAMTYPE,IFCWINDOWTYPE,IFCWALLTYPE,IFCTRACKELEMENTTYPE,IFCSTAIRTYPE,IFCSTAIRFLIGHTTYPE,IFCSLABTYPE,IFCSHADINGDEVICETYPE,IFCROOFTYPE,IFCRAMPTYPE,IFCRAMPFLIGHTTYPE,IFCRAILINGTYPE,IFCRAILTYPE,IFCPLATETYPE,IFCPAVEMENTTYPE,IFCNAVIGATIONELEMENTTYPE,IFCMOORINGDEVICETYPE,IFCMEMBERTYPE,IFCKERBTYPE,IFCFOOTINGTYPE,IFCDOORTYPE,IFCCAISSONFOUNDATIONTYPE,IFCPILETYPE,IFCDEEPFOUNDATIONTYPE,IFCCURTAINWALLTYPE,IFCCOVERINGTYPE,IFCCOURSETYPE,IFCCOLUMNTYPE,IFCCHIMNEYTYPE,IFCBUILTELEMENTTYPE,IFCTRANSPORTELEMENTTYPE,IFCVEHICLETYPE,IFCTRANSPORTATIONDEVICETYPE,IFCGEOGRAPHICELEMENTTYPE,IFCSYSTEMFURNITUREELEMENTTYPE,IFCFURNITURETYPE,IFCFURNISHINGELEMENTTYPE],2777663545:[IFCCYLINDRICALSURFACE,IFCTOROIDALSURFACE,IFCSPHERICALSURFACE,IFCPLANE],477187591:[IFCEXTRUDEDAREASOLIDTAPERED],2652556860:[IFCDIRECTRIXDERIVEDREFERENCESWEPTAREASOLID],4238390223:[IFCSYSTEMFURNITUREELEMENTTYPE,IFCFURNITURETYPE],178912537:[IFCINDEXEDPOLYGONALFACEWITHVOIDS],1425443689:[IFCFACETEDBREPWITHVOIDS,IFCFACETEDBREP,IFCADVANCEDBREPWITHVOIDS,IFCADVANCEDBREP],3888040117:[IFCASSET,IFCSTRUCTURALANALYSISMODEL,IFCDISTRIBUTIONCIRCUIT,IFCDISTRIBUTIONSYSTEM,IFCBUILTSYSTEM,IFCBUILDINGSYSTEM,IFCZONE,IFCSYSTEM,IFCSTRUCTURALRESULTGROUP,IFCSTRUCTURALLOADCASE,IFCSTRUCTURALLOADGROUP,IFCINVENTORY,IFCGROUP,IFCACTIONREQUEST,IFCWORKSCHEDULE,IFCWORKPLAN,IFCWORKCONTROL,IFCWORKCALENDAR,IFCPROJECTORDER,IFCPERMIT,IFCPERFORMANCEHISTORY,IFCCOSTSCHEDULE,IFCCOSTITEM,IFCCONTROL,IFCOCCUPANT,IFCACTOR,IFCCONSTRUCTIONPRODUCTRESOURCE,IFCCONSTRUCTIONMATERIALRESOURCE,IFCCONSTRUCTIONEQUIPMENTRESOURCE,IFCSUBCONTRACTRESOURCE,IFCLABORRESOURCE,IFCCREWRESOURCE,IFCCONSTRUCTIONRESOURCE,IFCRESOURCE,IFCALIGNMENT,IFCLINEARPOSITIONINGELEMENT,IFCGRID,IFCREFERENT,IFCPOSITIONINGELEMENT,IFCDISTRIBUTIONPORT,IFCPORT,IFCALIGNMENTVERTICAL,IFCALIGNMENTSEGMENT,IFCALIGNMENTHORIZONTAL,IFCALIGNMENTCANT,IFCLINEARELEMENT,IFCCONTROLLER,IFCALARM,IFCACTUATOR,IFCUNITARYCONTROLELEMENT,IFCSENSOR,IFCPROTECTIVEDEVICETRIPPINGUNIT,IFCFLOWINSTRUMENT,IFCDISTRIBUTIONCONTROLELEMENT,IFCDISTRIBUTIONCHAMBERELEMENT,IFCFILTER,IFCELECTRICFLOWTREATMENTDEVICE,IFCDUCTSILENCER,IFCINTERCEPTOR,IFCFLOWTREATMENTDEVICE,IFCFIRESUPPRESSIONTERMINAL,IFCELECTRICAPPLIANCE,IFCCOMMUNICATIONSAPPLIANCE,IFCAUDIOVISUALAPPLIANCE,IFCAIRTERMINAL,IFCWASTETERMINAL,IFCSTACKTERMINAL,IFCSPACEHEATER,IFCSIGNAL,IFCSANITARYTERMINAL,IFCOUTLET,IFCMOBILETELECOMMUNICATIONSAPPLIANCE,IFCMEDICALDEVICE,IFCLIQUIDTERMINAL,IFCLIGHTFIXTURE,IFCLAMP,IFCFLOWTERMINAL,IFCELECTRICFLOWSTORAGEDEVICE,IFCTANK,IFCFLOWSTORAGEDEVICE,IFCDUCTSEGMENT,IFCCONVEYORSEGMENT,IFCCABLESEGMENT,IFCCABLECARRIERSEGMENT,IFCPIPESEGMENT,IFCFLOWSEGMENT,IFCFAN,IFCCOMPRESSOR,IFCPUMP,IFCFLOWMOVINGDEVICE,IFCDUCTFITTING,IFCCABLEFITTING,IFCCABLECARRIERFITTING,IFCPIPEFITTING,IFCJUNCTIONBOX,IFCFLOWFITTING,IFCELECTRICTIMECONTROL,IFCELECTRICDISTRIBUTIONBOARD,IFCDISTRIBUTIONBOARD,IFCDAMPER,IFCAIRTERMINALBOX,IFCVALVE,IFCSWITCHINGDEVICE,IFCPROTECTIVEDEVICE,IFCFLOWMETER,IFCFLOWCONTROLLER,IFCELECTRICMOTOR,IFCELECTRICGENERATOR,IFCCOOLINGTOWER,IFCCOOLEDBEAM,IFCCONDENSER,IFCCOIL,IFCCHILLER,IFCBURNER,IFCBOILER,IFCAIRTOAIRHEATRECOVERY,IFCUNITARYEQUIPMENT,IFCTUBEBUNDLE,IFCTRANSFORMER,IFCSOLARDEVICE,IFCMOTORCONNECTION,IFCHUMIDIFIER,IFCHEATEXCHANGER,IFCEVAPORATOR,IFCEVAPORATIVECOOLER,IFCENGINE,IFCENERGYCONVERSIONDEVICE,IFCDISTRIBUTIONFLOWELEMENT,IFCDISTRIBUTIONELEMENT,IFCCIVILELEMENT,IFCBUILDINGELEMENTPROXY,IFCBEARING,IFCBEAM,IFCWINDOW,IFCWALLSTANDARDCASE,IFCWALL,IFCTRACKELEMENT,IFCSTAIRFLIGHT,IFCSTAIR,IFCSLAB,IFCSHADINGDEVICE,IFCROOF,IFCRAMPFLIGHT,IFCRAMP,IFCRAILING,IFCRAIL,IFCPLATE,IFCPAVEMENT,IFCNAVIGATIONELEMENT,IFCMOORINGDEVICE,IFCMEMBER,IFCKERB,IFCFOOTING,IFCREINFORCEDSOIL,IFCEARTHWORKSFILL,IFCEARTHWORKSELEMENT,IFCDOOR,IFCCAISSONFOUNDATION,IFCPILE,IFCDEEPFOUNDATION,IFCCURTAINWALL,IFCCOVERING,IFCCOURSE,IFCCOLUMN,IFCCHIMNEY,IFCBUILTELEMENT,IFCVIRTUALELEMENT,IFCTRANSPORTELEMENT,IFCVEHICLE,IFCTRANSPORTATIONDEVICE,IFCGEOSLICE,IFCGEOMODEL,IFCBOREHOLE,IFCGEOTECHNICALASSEMBLY,IFCGEOTECHNICALSTRATUM,IFCGEOTECHNICALELEMENT,IFCGEOGRAPHICELEMENT,IFCSYSTEMFURNITUREELEMENT,IFCFURNITURE,IFCFURNISHINGELEMENT,IFCSURFACEFEATURE,IFCEARTHWORKSCUT,IFCVOIDINGFEATURE,IFCOPENINGELEMENT,IFCFEATUREELEMENTSUBTRACTION,IFCPROJECTIONELEMENT,IFCFEATUREELEMENTADDITION,IFCFEATUREELEMENT,IFCDISCRETEACCESSORY,IFCBUILDINGELEMENTPART,IFCVIBRATIONISOLATOR,IFCVIBRATIONDAMPER,IFCSIGN,IFCREINFORCINGBAR,IFCTENDONCONDUIT,IFCTENDONANCHOR,IFCTENDON,IFCREINFORCINGMESH,IFCREINFORCINGELEMENT,IFCMECHANICALFASTENER,IFCIMPACTPROTECTIONDEVICE,IFCFASTENER,IFCELEMENTCOMPONENT,IFCELEMENTASSEMBLY,IFCELEMENT,IFCANNOTATION,IFCSTRUCTURALSURFACECONNECTION,IFCSTRUCTURALPOINTCONNECTION,IFCSTRUCTURALCURVECONNECTION,IFCSTRUCTURALCONNECTION,IFCSTRUCTURALCURVEMEMBERVARYING,IFCSTRUCTURALCURVEMEMBER,IFCSTRUCTURALSURFACEMEMBERVARYING,IFCSTRUCTURALSURFACEMEMBER,IFCSTRUCTURALMEMBER,IFCSTRUCTURALITEM,IFCSTRUCTURALPLANARACTION,IFCSTRUCTURALSURFACEACTION,IFCSTRUCTURALPOINTACTION,IFCSTRUCTURALLINEARACTION,IFCSTRUCTURALCURVEACTION,IFCSTRUCTURALACTION,IFCSTRUCTURALPOINTREACTION,IFCSTRUCTURALCURVEREACTION,IFCSTRUCTURALSURFACEREACTION,IFCSTRUCTURALREACTION,IFCSTRUCTURALACTIVITY,IFCEXTERNALSPATIALELEMENT,IFCEXTERNALSPATIALSTRUCTUREELEMENT,IFCSPATIALZONE,IFCSPACE,IFCSITE,IFCBRIDGEPART,IFCROADPART,IFCRAILWAYPART,IFCMARINEPART,IFCFACILITYPARTCOMMON,IFCFACILITYPART,IFCBUILDING,IFCBRIDGE,IFCROAD,IFCRAILWAY,IFCMARINEFACILITY,IFCFACILITY,IFCBUILDINGSTOREY,IFCSPATIALSTRUCTUREELEMENT,IFCSPATIALELEMENT,IFCPRODUCT,IFCPROCEDURE,IFCEVENT,IFCTASK,IFCPROCESS],590820931:[IFCOFFSETCURVEBYDISTANCES,IFCOFFSETCURVE3D,IFCOFFSETCURVE2D],759155922:[IFCDRAUGHTINGPREDEFINEDCOLOUR],2559016684:[IFCDRAUGHTINGPREDEFINEDCURVEFONT],3967405729:[IFCPERMEABLECOVERINGPROPERTIES,IFCDOORPANELPROPERTIES,IFCDOORLININGPROPERTIES,IFCWINDOWPANELPROPERTIES,IFCWINDOWLININGPROPERTIES,IFCREINFORCEMENTDEFINITIONPROPERTIES],2945172077:[IFCPROCEDURE,IFCEVENT,IFCTASK],4208778838:[IFCALIGNMENT,IFCLINEARPOSITIONINGELEMENT,IFCGRID,IFCREFERENT,IFCPOSITIONINGELEMENT,IFCDISTRIBUTIONPORT,IFCPORT,IFCALIGNMENTVERTICAL,IFCALIGNMENTSEGMENT,IFCALIGNMENTHORIZONTAL,IFCALIGNMENTCANT,IFCLINEARELEMENT,IFCCONTROLLER,IFCALARM,IFCACTUATOR,IFCUNITARYCONTROLELEMENT,IFCSENSOR,IFCPROTECTIVEDEVICETRIPPINGUNIT,IFCFLOWINSTRUMENT,IFCDISTRIBUTIONCONTROLELEMENT,IFCDISTRIBUTIONCHAMBERELEMENT,IFCFILTER,IFCELECTRICFLOWTREATMENTDEVICE,IFCDUCTSILENCER,IFCINTERCEPTOR,IFCFLOWTREATMENTDEVICE,IFCFIRESUPPRESSIONTERMINAL,IFCELECTRICAPPLIANCE,IFCCOMMUNICATIONSAPPLIANCE,IFCAUDIOVISUALAPPLIANCE,IFCAIRTERMINAL,IFCWASTETERMINAL,IFCSTACKTERMINAL,IFCSPACEHEATER,IFCSIGNAL,IFCSANITARYTERMINAL,IFCOUTLET,IFCMOBILETELECOMMUNICATIONSAPPLIANCE,IFCMEDICALDEVICE,IFCLIQUIDTERMINAL,IFCLIGHTFIXTURE,IFCLAMP,IFCFLOWTERMINAL,IFCELECTRICFLOWSTORAGEDEVICE,IFCTANK,IFCFLOWSTORAGEDEVICE,IFCDUCTSEGMENT,IFCCONVEYORSEGMENT,IFCCABLESEGMENT,IFCCABLECARRIERSEGMENT,IFCPIPESEGMENT,IFCFLOWSEGMENT,IFCFAN,IFCCOMPRESSOR,IFCPUMP,IFCFLOWMOVINGDEVICE,IFCDUCTFITTING,IFCCABLEFITTING,IFCCABLECARRIERFITTING,IFCPIPEFITTING,IFCJUNCTIONBOX,IFCFLOWFITTING,IFCELECTRICTIMECONTROL,IFCELECTRICDISTRIBUTIONBOARD,IFCDISTRIBUTIONBOARD,IFCDAMPER,IFCAIRTERMINALBOX,IFCVALVE,IFCSWITCHINGDEVICE,IFCPROTECTIVEDEVICE,IFCFLOWMETER,IFCFLOWCONTROLLER,IFCELECTRICMOTOR,IFCELECTRICGENERATOR,IFCCOOLINGTOWER,IFCCOOLEDBEAM,IFCCONDENSER,IFCCOIL,IFCCHILLER,IFCBURNER,IFCBOILER,IFCAIRTOAIRHEATRECOVERY,IFCUNITARYEQUIPMENT,IFCTUBEBUNDLE,IFCTRANSFORMER,IFCSOLARDEVICE,IFCMOTORCONNECTION,IFCHUMIDIFIER,IFCHEATEXCHANGER,IFCEVAPORATOR,IFCEVAPORATIVECOOLER,IFCENGINE,IFCENERGYCONVERSIONDEVICE,IFCDISTRIBUTIONFLOWELEMENT,IFCDISTRIBUTIONELEMENT,IFCCIVILELEMENT,IFCBUILDINGELEMENTPROXY,IFCBEARING,IFCBEAM,IFCWINDOW,IFCWALLSTANDARDCASE,IFCWALL,IFCTRACKELEMENT,IFCSTAIRFLIGHT,IFCSTAIR,IFCSLAB,IFCSHADINGDEVICE,IFCROOF,IFCRAMPFLIGHT,IFCRAMP,IFCRAILING,IFCRAIL,IFCPLATE,IFCPAVEMENT,IFCNAVIGATIONELEMENT,IFCMOORINGDEVICE,IFCMEMBER,IFCKERB,IFCFOOTING,IFCREINFORCEDSOIL,IFCEARTHWORKSFILL,IFCEARTHWORKSELEMENT,IFCDOOR,IFCCAISSONFOUNDATION,IFCPILE,IFCDEEPFOUNDATION,IFCCURTAINWALL,IFCCOVERING,IFCCOURSE,IFCCOLUMN,IFCCHIMNEY,IFCBUILTELEMENT,IFCVIRTUALELEMENT,IFCTRANSPORTELEMENT,IFCVEHICLE,IFCTRANSPORTATIONDEVICE,IFCGEOSLICE,IFCGEOMODEL,IFCBOREHOLE,IFCGEOTECHNICALASSEMBLY,IFCGEOTECHNICALSTRATUM,IFCGEOTECHNICALELEMENT,IFCGEOGRAPHICELEMENT,IFCSYSTEMFURNITUREELEMENT,IFCFURNITURE,IFCFURNISHINGELEMENT,IFCSURFACEFEATURE,IFCEARTHWORKSCUT,IFCVOIDINGFEATURE,IFCOPENINGELEMENT,IFCFEATUREELEMENTSUBTRACTION,IFCPROJECTIONELEMENT,IFCFEATUREELEMENTADDITION,IFCFEATUREELEMENT,IFCDISCRETEACCESSORY,IFCBUILDINGELEMENTPART,IFCVIBRATIONISOLATOR,IFCVIBRATIONDAMPER,IFCSIGN,IFCREINFORCINGBAR,IFCTENDONCONDUIT,IFCTENDONANCHOR,IFCTENDON,IFCREINFORCINGMESH,IFCREINFORCINGELEMENT,IFCMECHANICALFASTENER,IFCIMPACTPROTECTIONDEVICE,IFCFASTENER,IFCELEMENTCOMPONENT,IFCELEMENTASSEMBLY,IFCELEMENT,IFCANNOTATION,IFCSTRUCTURALSURFACECONNECTION,IFCSTRUCTURALPOINTCONNECTION,IFCSTRUCTURALCURVECONNECTION,IFCSTRUCTURALCONNECTION,IFCSTRUCTURALCURVEMEMBERVARYING,IFCSTRUCTURALCURVEMEMBER,IFCSTRUCTURALSURFACEMEMBERVARYING,IFCSTRUCTURALSURFACEMEMBER,IFCSTRUCTURALMEMBER,IFCSTRUCTURALITEM,IFCSTRUCTURALPLANARACTION,IFCSTRUCTURALSURFACEACTION,IFCSTRUCTURALPOINTACTION,IFCSTRUCTURALLINEARACTION,IFCSTRUCTURALCURVEACTION,IFCSTRUCTURALACTION,IFCSTRUCTURALPOINTREACTION,IFCSTRUCTURALCURVEREACTION,IFCSTRUCTURALSURFACEREACTION,IFCSTRUCTURALREACTION,IFCSTRUCTURALACTIVITY,IFCEXTERNALSPATIALELEMENT,IFCEXTERNALSPATIALSTRUCTUREELEMENT,IFCSPATIALZONE,IFCSPACE,IFCSITE,IFCBRIDGEPART,IFCROADPART,IFCRAILWAYPART,IFCMARINEPART,IFCFACILITYPARTCOMMON,IFCFACILITYPART,IFCBUILDING,IFCBRIDGE,IFCROAD,IFCRAILWAY,IFCMARINEFACILITY,IFCFACILITY,IFCBUILDINGSTOREY,IFCSPATIALSTRUCTUREELEMENT,IFCSPATIALELEMENT],3521284610:[IFCCOMPLEXPROPERTYTEMPLATE,IFCSIMPLEPROPERTYTEMPLATE],3939117080:[IFCRELASSIGNSTORESOURCE,IFCRELASSIGNSTOPRODUCT,IFCRELASSIGNSTOPROCESS,IFCRELASSIGNSTOGROUPBYFACTOR,IFCRELASSIGNSTOGROUP,IFCRELASSIGNSTOCONTROL,IFCRELASSIGNSTOACTOR],1307041759:[IFCRELASSIGNSTOGROUPBYFACTOR],1865459582:[IFCRELASSOCIATESPROFILEDEF,IFCRELASSOCIATESMATERIAL,IFCRELASSOCIATESLIBRARY,IFCRELASSOCIATESDOCUMENT,IFCRELASSOCIATESCONSTRAINT,IFCRELASSOCIATESCLASSIFICATION,IFCRELASSOCIATESAPPROVAL],826625072:[IFCRELSPACEBOUNDARY2NDLEVEL,IFCRELSPACEBOUNDARY1STLEVEL,IFCRELSPACEBOUNDARY,IFCRELSERVICESBUILDINGS,IFCRELSEQUENCE,IFCRELREFERENCEDINSPATIALSTRUCTURE,IFCRELPOSITIONS,IFCRELINTERFERESELEMENTS,IFCRELFLOWCONTROLELEMENTS,IFCRELFILLSELEMENT,IFCRELCOVERSSPACES,IFCRELCOVERSBLDGELEMENTS,IFCRELCONTAINEDINSPATIALSTRUCTURE,IFCRELCONNECTSWITHECCENTRICITY,IFCRELCONNECTSSTRUCTURALMEMBER,IFCRELCONNECTSSTRUCTURALACTIVITY,IFCRELCONNECTSPORTS,IFCRELCONNECTSPORTTOELEMENT,IFCRELCONNECTSWITHREALIZINGELEMENTS,IFCRELCONNECTSPATHELEMENTS,IFCRELCONNECTSELEMENTS],1204542856:[IFCRELCONNECTSWITHREALIZINGELEMENTS,IFCRELCONNECTSPATHELEMENTS],1638771189:[IFCRELCONNECTSWITHECCENTRICITY],2551354335:[IFCRELAGGREGATES,IFCRELADHERESTOELEMENT,IFCRELVOIDSELEMENT,IFCRELPROJECTSELEMENT,IFCRELNESTS],693640335:[IFCRELDEFINESBYTYPE,IFCRELDEFINESBYTEMPLATE,IFCRELDEFINESBYPROPERTIES,IFCRELDEFINESBYOBJECT],3451746338:[IFCRELSPACEBOUNDARY2NDLEVEL,IFCRELSPACEBOUNDARY1STLEVEL],3523091289:[IFCRELSPACEBOUNDARY2NDLEVEL],2914609552:[IFCCONSTRUCTIONPRODUCTRESOURCE,IFCCONSTRUCTIONMATERIALRESOURCE,IFCCONSTRUCTIONEQUIPMENTRESOURCE,IFCSUBCONTRACTRESOURCE,IFCLABORRESOURCE,IFCCREWRESOURCE,IFCCONSTRUCTIONRESOURCE],1856042241:[IFCREVOLVEDAREASOLIDTAPERED],1862484736:[IFCSECTIONEDSOLIDHORIZONTAL],1412071761:[IFCEXTERNALSPATIALELEMENT,IFCEXTERNALSPATIALSTRUCTUREELEMENT,IFCSPATIALZONE,IFCSPACE,IFCSITE,IFCBRIDGEPART,IFCROADPART,IFCRAILWAYPART,IFCMARINEPART,IFCFACILITYPARTCOMMON,IFCFACILITYPART,IFCBUILDING,IFCBRIDGE,IFCROAD,IFCRAILWAY,IFCMARINEFACILITY,IFCFACILITY,IFCBUILDINGSTOREY,IFCSPATIALSTRUCTUREELEMENT],710998568:[IFCSPATIALZONETYPE,IFCSPACETYPE,IFCSPATIALSTRUCTUREELEMENTTYPE],2706606064:[IFCSPACE,IFCSITE,IFCBRIDGEPART,IFCROADPART,IFCRAILWAYPART,IFCMARINEPART,IFCFACILITYPARTCOMMON,IFCFACILITYPART,IFCBUILDING,IFCBRIDGE,IFCROAD,IFCRAILWAY,IFCMARINEFACILITY,IFCFACILITY,IFCBUILDINGSTOREY],3893378262:[IFCSPACETYPE],2735484536:[IFCSINESPIRAL,IFCSEVENTHORDERPOLYNOMIALSPIRAL,IFCSECONDORDERPOLYNOMIALSPIRAL,IFCCOSINESPIRAL,IFCCLOTHOID,IFCTHIRDORDERPOLYNOMIALSPIRAL],3544373492:[IFCSTRUCTURALPLANARACTION,IFCSTRUCTURALSURFACEACTION,IFCSTRUCTURALPOINTACTION,IFCSTRUCTURALLINEARACTION,IFCSTRUCTURALCURVEACTION,IFCSTRUCTURALACTION,IFCSTRUCTURALPOINTREACTION,IFCSTRUCTURALCURVEREACTION,IFCSTRUCTURALSURFACEREACTION,IFCSTRUCTURALREACTION],3136571912:[IFCSTRUCTURALSURFACECONNECTION,IFCSTRUCTURALPOINTCONNECTION,IFCSTRUCTURALCURVECONNECTION,IFCSTRUCTURALCONNECTION,IFCSTRUCTURALCURVEMEMBERVARYING,IFCSTRUCTURALCURVEMEMBER,IFCSTRUCTURALSURFACEMEMBERVARYING,IFCSTRUCTURALSURFACEMEMBER,IFCSTRUCTURALMEMBER],530289379:[IFCSTRUCTURALCURVEMEMBERVARYING,IFCSTRUCTURALCURVEMEMBER,IFCSTRUCTURALSURFACEMEMBERVARYING,IFCSTRUCTURALSURFACEMEMBER],3689010777:[IFCSTRUCTURALPOINTREACTION,IFCSTRUCTURALCURVEREACTION,IFCSTRUCTURALSURFACEREACTION],3979015343:[IFCSTRUCTURALSURFACEMEMBERVARYING],699246055:[IFCSEAMCURVE,IFCINTERSECTIONCURVE],2387106220:[IFCPOLYGONALFACESET,IFCTRIANGULATEDIRREGULARNETWORK,IFCTRIANGULATEDFACESET],3665877780:[IFCTRANSPORTELEMENTTYPE,IFCVEHICLETYPE],2916149573:[IFCTRIANGULATEDIRREGULARNETWORK],2296667514:[IFCOCCUPANT],1635779807:[IFCADVANCEDBREPWITHVOIDS],2887950389:[IFCRATIONALBSPLINESURFACEWITHKNOTS,IFCBSPLINESURFACEWITHKNOTS],167062518:[IFCRATIONALBSPLINESURFACEWITHKNOTS],1260505505:[IFCRATIONALBSPLINECURVEWITHKNOTS,IFCBSPLINECURVEWITHKNOTS,IFCBSPLINECURVE,IFCTRIMMEDCURVE,IFCPOLYLINE,IFCINDEXEDPOLYCURVE,IFCSEGMENTEDREFERENCECURVE,IFCGRADIENTCURVE,IFCOUTERBOUNDARYCURVE,IFCBOUNDARYCURVE,IFCCOMPOSITECURVEONSURFACE,IFCCOMPOSITECURVE],1626504194:[IFCBUILDINGELEMENTPROXYTYPE,IFCBEARINGTYPE,IFCBEAMTYPE,IFCWINDOWTYPE,IFCWALLTYPE,IFCTRACKELEMENTTYPE,IFCSTAIRTYPE,IFCSTAIRFLIGHTTYPE,IFCSLABTYPE,IFCSHADINGDEVICETYPE,IFCROOFTYPE,IFCRAMPTYPE,IFCRAMPFLIGHTTYPE,IFCRAILINGTYPE,IFCRAILTYPE,IFCPLATETYPE,IFCPAVEMENTTYPE,IFCNAVIGATIONELEMENTTYPE,IFCMOORINGDEVICETYPE,IFCMEMBERTYPE,IFCKERBTYPE,IFCFOOTINGTYPE,IFCDOORTYPE,IFCCAISSONFOUNDATIONTYPE,IFCPILETYPE,IFCDEEPFOUNDATIONTYPE,IFCCURTAINWALLTYPE,IFCCOVERINGTYPE,IFCCOURSETYPE,IFCCOLUMNTYPE,IFCCHIMNEYTYPE],3732776249:[IFCSEGMENTEDREFERENCECURVE,IFCGRADIENTCURVE,IFCOUTERBOUNDARYCURVE,IFCBOUNDARYCURVE,IFCCOMPOSITECURVEONSURFACE],15328376:[IFCOUTERBOUNDARYCURVE,IFCBOUNDARYCURVE],2510884976:[IFCCIRCLE,IFCELLIPSE],2559216714:[IFCCONSTRUCTIONPRODUCTRESOURCE,IFCCONSTRUCTIONMATERIALRESOURCE,IFCCONSTRUCTIONEQUIPMENTRESOURCE,IFCSUBCONTRACTRESOURCE,IFCLABORRESOURCE,IFCCREWRESOURCE],3293443760:[IFCACTIONREQUEST,IFCWORKSCHEDULE,IFCWORKPLAN,IFCWORKCONTROL,IFCWORKCALENDAR,IFCPROJECTORDER,IFCPERMIT,IFCPERFORMANCEHISTORY,IFCCOSTSCHEDULE,IFCCOSTITEM],1306400036:[IFCCAISSONFOUNDATIONTYPE,IFCPILETYPE],3256556792:[IFCCONTROLLERTYPE,IFCALARMTYPE,IFCACTUATORTYPE,IFCUNITARYCONTROLELEMENTTYPE,IFCSENSORTYPE,IFCPROTECTIVEDEVICETRIPPINGUNITTYPE,IFCFLOWINSTRUMENTTYPE,IFCDISTRIBUTIONCONTROLELEMENTTYPE,IFCDISTRIBUTIONCHAMBERELEMENTTYPE,IFCFILTERTYPE,IFCELECTRICFLOWTREATMENTDEVICETYPE,IFCDUCTSILENCERTYPE,IFCINTERCEPTORTYPE,IFCFLOWTREATMENTDEVICETYPE,IFCFIRESUPPRESSIONTERMINALTYPE,IFCELECTRICAPPLIANCETYPE,IFCCOMMUNICATIONSAPPLIANCETYPE,IFCAUDIOVISUALAPPLIANCETYPE,IFCAIRTERMINALTYPE,IFCWASTETERMINALTYPE,IFCSTACKTERMINALTYPE,IFCSPACEHEATERTYPE,IFCSIGNALTYPE,IFCSANITARYTERMINALTYPE,IFCOUTLETTYPE,IFCMOBILETELECOMMUNICATIONSAPPLIANCETYPE,IFCMEDICALDEVICETYPE,IFCLIQUIDTERMINALTYPE,IFCLIGHTFIXTURETYPE,IFCLAMPTYPE,IFCFLOWTERMINALTYPE,IFCELECTRICFLOWSTORAGEDEVICETYPE,IFCTANKTYPE,IFCFLOWSTORAGEDEVICETYPE,IFCDUCTSEGMENTTYPE,IFCCONVEYORSEGMENTTYPE,IFCCABLESEGMENTTYPE,IFCCABLECARRIERSEGMENTTYPE,IFCPIPESEGMENTTYPE,IFCFLOWSEGMENTTYPE,IFCFANTYPE,IFCCOMPRESSORTYPE,IFCPUMPTYPE,IFCFLOWMOVINGDEVICETYPE,IFCDUCTFITTINGTYPE,IFCCABLEFITTINGTYPE,IFCCABLECARRIERFITTINGTYPE,IFCPIPEFITTINGTYPE,IFCJUNCTIONBOXTYPE,IFCFLOWFITTINGTYPE,IFCELECTRICTIMECONTROLTYPE,IFCELECTRICDISTRIBUTIONBOARDTYPE,IFCDISTRIBUTIONBOARDTYPE,IFCDAMPERTYPE,IFCAIRTERMINALBOXTYPE,IFCVALVETYPE,IFCSWITCHINGDEVICETYPE,IFCPROTECTIVEDEVICETYPE,IFCFLOWMETERTYPE,IFCFLOWCONTROLLERTYPE,IFCELECTRICMOTORTYPE,IFCELECTRICGENERATORTYPE,IFCCOOLINGTOWERTYPE,IFCCOOLEDBEAMTYPE,IFCCONDENSERTYPE,IFCCOILTYPE,IFCCHILLERTYPE,IFCBURNERTYPE,IFCBOILERTYPE,IFCAIRTOAIRHEATRECOVERYTYPE,IFCUNITARYEQUIPMENTTYPE,IFCTUBEBUNDLETYPE,IFCTRANSFORMERTYPE,IFCSOLARDEVICETYPE,IFCMOTORCONNECTIONTYPE,IFCHUMIDIFIERTYPE,IFCHEATEXCHANGERTYPE,IFCEVAPORATORTYPE,IFCEVAPORATIVECOOLERTYPE,IFCENGINETYPE,IFCENERGYCONVERSIONDEVICETYPE,IFCDISTRIBUTIONFLOWELEMENTTYPE],3849074793:[IFCDISTRIBUTIONCHAMBERELEMENTTYPE,IFCFILTERTYPE,IFCELECTRICFLOWTREATMENTDEVICETYPE,IFCDUCTSILENCERTYPE,IFCINTERCEPTORTYPE,IFCFLOWTREATMENTDEVICETYPE,IFCFIRESUPPRESSIONTERMINALTYPE,IFCELECTRICAPPLIANCETYPE,IFCCOMMUNICATIONSAPPLIANCETYPE,IFCAUDIOVISUALAPPLIANCETYPE,IFCAIRTERMINALTYPE,IFCWASTETERMINALTYPE,IFCSTACKTERMINALTYPE,IFCSPACEHEATERTYPE,IFCSIGNALTYPE,IFCSANITARYTERMINALTYPE,IFCOUTLETTYPE,IFCMOBILETELECOMMUNICATIONSAPPLIANCETYPE,IFCMEDICALDEVICETYPE,IFCLIQUIDTERMINALTYPE,IFCLIGHTFIXTURETYPE,IFCLAMPTYPE,IFCFLOWTERMINALTYPE,IFCELECTRICFLOWSTORAGEDEVICETYPE,IFCTANKTYPE,IFCFLOWSTORAGEDEVICETYPE,IFCDUCTSEGMENTTYPE,IFCCONVEYORSEGMENTTYPE,IFCCABLESEGMENTTYPE,IFCCABLECARRIERSEGMENTTYPE,IFCPIPESEGMENTTYPE,IFCFLOWSEGMENTTYPE,IFCFANTYPE,IFCCOMPRESSORTYPE,IFCPUMPTYPE,IFCFLOWMOVINGDEVICETYPE,IFCDUCTFITTINGTYPE,IFCCABLEFITTINGTYPE,IFCCABLECARRIERFITTINGTYPE,IFCPIPEFITTINGTYPE,IFCJUNCTIONBOXTYPE,IFCFLOWFITTINGTYPE,IFCELECTRICTIMECONTROLTYPE,IFCELECTRICDISTRIBUTIONBOARDTYPE,IFCDISTRIBUTIONBOARDTYPE,IFCDAMPERTYPE,IFCAIRTERMINALBOXTYPE,IFCVALVETYPE,IFCSWITCHINGDEVICETYPE,IFCPROTECTIVEDEVICETYPE,IFCFLOWMETERTYPE,IFCFLOWCONTROLLERTYPE,IFCELECTRICMOTORTYPE,IFCELECTRICGENERATORTYPE,IFCCOOLINGTOWERTYPE,IFCCOOLEDBEAMTYPE,IFCCONDENSERTYPE,IFCCOILTYPE,IFCCHILLERTYPE,IFCBURNERTYPE,IFCBOILERTYPE,IFCAIRTOAIRHEATRECOVERYTYPE,IFCUNITARYEQUIPMENTTYPE,IFCTUBEBUNDLETYPE,IFCTRANSFORMERTYPE,IFCSOLARDEVICETYPE,IFCMOTORCONNECTIONTYPE,IFCHUMIDIFIERTYPE,IFCHEATEXCHANGERTYPE,IFCEVAPORATORTYPE,IFCEVAPORATIVECOOLERTYPE,IFCENGINETYPE,IFCENERGYCONVERSIONDEVICETYPE],1758889154:[IFCCONTROLLER,IFCALARM,IFCACTUATOR,IFCUNITARYCONTROLELEMENT,IFCSENSOR,IFCPROTECTIVEDEVICETRIPPINGUNIT,IFCFLOWINSTRUMENT,IFCDISTRIBUTIONCONTROLELEMENT,IFCDISTRIBUTIONCHAMBERELEMENT,IFCFILTER,IFCELECTRICFLOWTREATMENTDEVICE,IFCDUCTSILENCER,IFCINTERCEPTOR,IFCFLOWTREATMENTDEVICE,IFCFIRESUPPRESSIONTERMINAL,IFCELECTRICAPPLIANCE,IFCCOMMUNICATIONSAPPLIANCE,IFCAUDIOVISUALAPPLIANCE,IFCAIRTERMINAL,IFCWASTETERMINAL,IFCSTACKTERMINAL,IFCSPACEHEATER,IFCSIGNAL,IFCSANITARYTERMINAL,IFCOUTLET,IFCMOBILETELECOMMUNICATIONSAPPLIANCE,IFCMEDICALDEVICE,IFCLIQUIDTERMINAL,IFCLIGHTFIXTURE,IFCLAMP,IFCFLOWTERMINAL,IFCELECTRICFLOWSTORAGEDEVICE,IFCTANK,IFCFLOWSTORAGEDEVICE,IFCDUCTSEGMENT,IFCCONVEYORSEGMENT,IFCCABLESEGMENT,IFCCABLECARRIERSEGMENT,IFCPIPESEGMENT,IFCFLOWSEGMENT,IFCFAN,IFCCOMPRESSOR,IFCPUMP,IFCFLOWMOVINGDEVICE,IFCDUCTFITTING,IFCCABLEFITTING,IFCCABLECARRIERFITTING,IFCPIPEFITTING,IFCJUNCTIONBOX,IFCFLOWFITTING,IFCELECTRICTIMECONTROL,IFCELECTRICDISTRIBUTIONBOARD,IFCDISTRIBUTIONBOARD,IFCDAMPER,IFCAIRTERMINALBOX,IFCVALVE,IFCSWITCHINGDEVICE,IFCPROTECTIVEDEVICE,IFCFLOWMETER,IFCFLOWCONTROLLER,IFCELECTRICMOTOR,IFCELECTRICGENERATOR,IFCCOOLINGTOWER,IFCCOOLEDBEAM,IFCCONDENSER,IFCCOIL,IFCCHILLER,IFCBURNER,IFCBOILER,IFCAIRTOAIRHEATRECOVERY,IFCUNITARYEQUIPMENT,IFCTUBEBUNDLE,IFCTRANSFORMER,IFCSOLARDEVICE,IFCMOTORCONNECTION,IFCHUMIDIFIER,IFCHEATEXCHANGER,IFCEVAPORATOR,IFCEVAPORATIVECOOLER,IFCENGINE,IFCENERGYCONVERSIONDEVICE,IFCDISTRIBUTIONFLOWELEMENT,IFCDISTRIBUTIONELEMENT,IFCCIVILELEMENT,IFCBUILDINGELEMENTPROXY,IFCBEARING,IFCBEAM,IFCWINDOW,IFCWALLSTANDARDCASE,IFCWALL,IFCTRACKELEMENT,IFCSTAIRFLIGHT,IFCSTAIR,IFCSLAB,IFCSHADINGDEVICE,IFCROOF,IFCRAMPFLIGHT,IFCRAMP,IFCRAILING,IFCRAIL,IFCPLATE,IFCPAVEMENT,IFCNAVIGATIONELEMENT,IFCMOORINGDEVICE,IFCMEMBER,IFCKERB,IFCFOOTING,IFCREINFORCEDSOIL,IFCEARTHWORKSFILL,IFCEARTHWORKSELEMENT,IFCDOOR,IFCCAISSONFOUNDATION,IFCPILE,IFCDEEPFOUNDATION,IFCCURTAINWALL,IFCCOVERING,IFCCOURSE,IFCCOLUMN,IFCCHIMNEY,IFCBUILTELEMENT,IFCVIRTUALELEMENT,IFCTRANSPORTELEMENT,IFCVEHICLE,IFCTRANSPORTATIONDEVICE,IFCGEOSLICE,IFCGEOMODEL,IFCBOREHOLE,IFCGEOTECHNICALASSEMBLY,IFCGEOTECHNICALSTRATUM,IFCGEOTECHNICALELEMENT,IFCGEOGRAPHICELEMENT,IFCSYSTEMFURNITUREELEMENT,IFCFURNITURE,IFCFURNISHINGELEMENT,IFCSURFACEFEATURE,IFCEARTHWORKSCUT,IFCVOIDINGFEATURE,IFCOPENINGELEMENT,IFCFEATUREELEMENTSUBTRACTION,IFCPROJECTIONELEMENT,IFCFEATUREELEMENTADDITION,IFCFEATUREELEMENT,IFCDISCRETEACCESSORY,IFCBUILDINGELEMENTPART,IFCVIBRATIONISOLATOR,IFCVIBRATIONDAMPER,IFCSIGN,IFCREINFORCINGBAR,IFCTENDONCONDUIT,IFCTENDONANCHOR,IFCTENDON,IFCREINFORCINGMESH,IFCREINFORCINGELEMENT,IFCMECHANICALFASTENER,IFCIMPACTPROTECTIONDEVICE,IFCFASTENER,IFCELEMENTCOMPONENT,IFCELEMENTASSEMBLY],1623761950:[IFCDISCRETEACCESSORY,IFCBUILDINGELEMENTPART,IFCVIBRATIONISOLATOR,IFCVIBRATIONDAMPER,IFCSIGN,IFCREINFORCINGBAR,IFCTENDONCONDUIT,IFCTENDONANCHOR,IFCTENDON,IFCREINFORCINGMESH,IFCREINFORCINGELEMENT,IFCMECHANICALFASTENER,IFCIMPACTPROTECTIONDEVICE,IFCFASTENER],2590856083:[IFCDISCRETEACCESSORYTYPE,IFCBUILDINGELEMENTPARTTYPE,IFCVIBRATIONISOLATORTYPE,IFCVIBRATIONDAMPERTYPE,IFCSIGNTYPE,IFCREINFORCINGBARTYPE,IFCTENDONTYPE,IFCTENDONCONDUITTYPE,IFCTENDONANCHORTYPE,IFCREINFORCINGMESHTYPE,IFCREINFORCINGELEMENTTYPE,IFCMECHANICALFASTENERTYPE,IFCIMPACTPROTECTIONDEVICETYPE,IFCFASTENERTYPE],2107101300:[IFCELECTRICMOTORTYPE,IFCELECTRICGENERATORTYPE,IFCCOOLINGTOWERTYPE,IFCCOOLEDBEAMTYPE,IFCCONDENSERTYPE,IFCCOILTYPE,IFCCHILLERTYPE,IFCBURNERTYPE,IFCBOILERTYPE,IFCAIRTOAIRHEATRECOVERYTYPE,IFCUNITARYEQUIPMENTTYPE,IFCTUBEBUNDLETYPE,IFCTRANSFORMERTYPE,IFCSOLARDEVICETYPE,IFCMOTORCONNECTIONTYPE,IFCHUMIDIFIERTYPE,IFCHEATEXCHANGERTYPE,IFCEVAPORATORTYPE,IFCEVAPORATIVECOOLERTYPE,IFCENGINETYPE],2853485674:[IFCEXTERNALSPATIALELEMENT],807026263:[IFCFACETEDBREPWITHVOIDS],24185140:[IFCBUILDING,IFCBRIDGE,IFCROAD,IFCRAILWAY,IFCMARINEFACILITY],1310830890:[IFCBRIDGEPART,IFCROADPART,IFCRAILWAYPART,IFCMARINEPART,IFCFACILITYPARTCOMMON],2827207264:[IFCSURFACEFEATURE,IFCEARTHWORKSCUT,IFCVOIDINGFEATURE,IFCOPENINGELEMENT,IFCFEATUREELEMENTSUBTRACTION,IFCPROJECTIONELEMENT,IFCFEATUREELEMENTADDITION],2143335405:[IFCPROJECTIONELEMENT],1287392070:[IFCEARTHWORKSCUT,IFCVOIDINGFEATURE,IFCOPENINGELEMENT],3907093117:[IFCELECTRICTIMECONTROLTYPE,IFCELECTRICDISTRIBUTIONBOARDTYPE,IFCDISTRIBUTIONBOARDTYPE,IFCDAMPERTYPE,IFCAIRTERMINALBOXTYPE,IFCVALVETYPE,IFCSWITCHINGDEVICETYPE,IFCPROTECTIVEDEVICETYPE,IFCFLOWMETERTYPE],3198132628:[IFCDUCTFITTINGTYPE,IFCCABLEFITTINGTYPE,IFCCABLECARRIERFITTINGTYPE,IFCPIPEFITTINGTYPE,IFCJUNCTIONBOXTYPE],1482959167:[IFCFANTYPE,IFCCOMPRESSORTYPE,IFCPUMPTYPE],1834744321:[IFCDUCTSEGMENTTYPE,IFCCONVEYORSEGMENTTYPE,IFCCABLESEGMENTTYPE,IFCCABLECARRIERSEGMENTTYPE,IFCPIPESEGMENTTYPE],1339347760:[IFCELECTRICFLOWSTORAGEDEVICETYPE,IFCTANKTYPE],2297155007:[IFCFIRESUPPRESSIONTERMINALTYPE,IFCELECTRICAPPLIANCETYPE,IFCCOMMUNICATIONSAPPLIANCETYPE,IFCAUDIOVISUALAPPLIANCETYPE,IFCAIRTERMINALTYPE,IFCWASTETERMINALTYPE,IFCSTACKTERMINALTYPE,IFCSPACEHEATERTYPE,IFCSIGNALTYPE,IFCSANITARYTERMINALTYPE,IFCOUTLETTYPE,IFCMOBILETELECOMMUNICATIONSAPPLIANCETYPE,IFCMEDICALDEVICETYPE,IFCLIQUIDTERMINALTYPE,IFCLIGHTFIXTURETYPE,IFCLAMPTYPE],3009222698:[IFCFILTERTYPE,IFCELECTRICFLOWTREATMENTDEVICETYPE,IFCDUCTSILENCERTYPE,IFCINTERCEPTORTYPE],263784265:[IFCSYSTEMFURNITUREELEMENT,IFCFURNITURE],4230923436:[IFCGEOSLICE,IFCGEOMODEL,IFCBOREHOLE,IFCGEOTECHNICALASSEMBLY,IFCGEOTECHNICALSTRATUM],2706460486:[IFCASSET,IFCSTRUCTURALANALYSISMODEL,IFCDISTRIBUTIONCIRCUIT,IFCDISTRIBUTIONSYSTEM,IFCBUILTSYSTEM,IFCBUILDINGSYSTEM,IFCZONE,IFCSYSTEM,IFCSTRUCTURALRESULTGROUP,IFCSTRUCTURALLOADCASE,IFCSTRUCTURALLOADGROUP,IFCINVENTORY],2176059722:[IFCALIGNMENTVERTICAL,IFCALIGNMENTSEGMENT,IFCALIGNMENTHORIZONTAL,IFCALIGNMENTCANT],3740093272:[IFCDISTRIBUTIONPORT],1946335990:[IFCALIGNMENT,IFCLINEARPOSITIONINGELEMENT,IFCGRID,IFCREFERENT],3027567501:[IFCREINFORCINGBAR,IFCTENDONCONDUIT,IFCTENDONANCHOR,IFCTENDON,IFCREINFORCINGMESH],964333572:[IFCREINFORCINGBARTYPE,IFCTENDONTYPE,IFCTENDONCONDUITTYPE,IFCTENDONANCHORTYPE,IFCREINFORCINGMESHTYPE],682877961:[IFCSTRUCTURALPLANARACTION,IFCSTRUCTURALSURFACEACTION,IFCSTRUCTURALPOINTACTION,IFCSTRUCTURALLINEARACTION,IFCSTRUCTURALCURVEACTION],1179482911:[IFCSTRUCTURALSURFACECONNECTION,IFCSTRUCTURALPOINTCONNECTION,IFCSTRUCTURALCURVECONNECTION],1004757350:[IFCSTRUCTURALLINEARACTION],214636428:[IFCSTRUCTURALCURVEMEMBERVARYING],1252848954:[IFCSTRUCTURALLOADCASE],3657597509:[IFCSTRUCTURALPLANARACTION],2254336722:[IFCSTRUCTURALANALYSISMODEL,IFCDISTRIBUTIONCIRCUIT,IFCDISTRIBUTIONSYSTEM,IFCBUILTSYSTEM,IFCBUILDINGSYSTEM,IFCZONE],1953115116:[IFCTRANSPORTELEMENT,IFCVEHICLE],1028945134:[IFCWORKSCHEDULE,IFCWORKPLAN],1967976161:[IFCRATIONALBSPLINECURVEWITHKNOTS,IFCBSPLINECURVEWITHKNOTS],2461110595:[IFCRATIONALBSPLINECURVEWITHKNOTS],1136057603:[IFCOUTERBOUNDARYCURVE],1876633798:[IFCBUILDINGELEMENTPROXY,IFCBEARING,IFCBEAM,IFCWINDOW,IFCWALLSTANDARDCASE,IFCWALL,IFCTRACKELEMENT,IFCSTAIRFLIGHT,IFCSTAIR,IFCSLAB,IFCSHADINGDEVICE,IFCROOF,IFCRAMPFLIGHT,IFCRAMP,IFCRAILING,IFCRAIL,IFCPLATE,IFCPAVEMENT,IFCNAVIGATIONELEMENT,IFCMOORINGDEVICE,IFCMEMBER,IFCKERB,IFCFOOTING,IFCREINFORCEDSOIL,IFCEARTHWORKSFILL,IFCEARTHWORKSELEMENT,IFCDOOR,IFCCAISSONFOUNDATION,IFCPILE,IFCDEEPFOUNDATION,IFCCURTAINWALL,IFCCOVERING,IFCCOURSE,IFCCOLUMN,IFCCHIMNEY],3426335179:[IFCCAISSONFOUNDATION,IFCPILE],2063403501:[IFCCONTROLLERTYPE,IFCALARMTYPE,IFCACTUATORTYPE,IFCUNITARYCONTROLELEMENTTYPE,IFCSENSORTYPE,IFCPROTECTIVEDEVICETRIPPINGUNITTYPE,IFCFLOWINSTRUMENTTYPE],1945004755:[IFCCONTROLLER,IFCALARM,IFCACTUATOR,IFCUNITARYCONTROLELEMENT,IFCSENSOR,IFCPROTECTIVEDEVICETRIPPINGUNIT,IFCFLOWINSTRUMENT,IFCDISTRIBUTIONCONTROLELEMENT,IFCDISTRIBUTIONCHAMBERELEMENT,IFCFILTER,IFCELECTRICFLOWTREATMENTDEVICE,IFCDUCTSILENCER,IFCINTERCEPTOR,IFCFLOWTREATMENTDEVICE,IFCFIRESUPPRESSIONTERMINAL,IFCELECTRICAPPLIANCE,IFCCOMMUNICATIONSAPPLIANCE,IFCAUDIOVISUALAPPLIANCE,IFCAIRTERMINAL,IFCWASTETERMINAL,IFCSTACKTERMINAL,IFCSPACEHEATER,IFCSIGNAL,IFCSANITARYTERMINAL,IFCOUTLET,IFCMOBILETELECOMMUNICATIONSAPPLIANCE,IFCMEDICALDEVICE,IFCLIQUIDTERMINAL,IFCLIGHTFIXTURE,IFCLAMP,IFCFLOWTERMINAL,IFCELECTRICFLOWSTORAGEDEVICE,IFCTANK,IFCFLOWSTORAGEDEVICE,IFCDUCTSEGMENT,IFCCONVEYORSEGMENT,IFCCABLESEGMENT,IFCCABLECARRIERSEGMENT,IFCPIPESEGMENT,IFCFLOWSEGMENT,IFCFAN,IFCCOMPRESSOR,IFCPUMP,IFCFLOWMOVINGDEVICE,IFCDUCTFITTING,IFCCABLEFITTING,IFCCABLECARRIERFITTING,IFCPIPEFITTING,IFCJUNCTIONBOX,IFCFLOWFITTING,IFCELECTRICTIMECONTROL,IFCELECTRICDISTRIBUTIONBOARD,IFCDISTRIBUTIONBOARD,IFCDAMPER,IFCAIRTERMINALBOX,IFCVALVE,IFCSWITCHINGDEVICE,IFCPROTECTIVEDEVICE,IFCFLOWMETER,IFCFLOWCONTROLLER,IFCELECTRICMOTOR,IFCELECTRICGENERATOR,IFCCOOLINGTOWER,IFCCOOLEDBEAM,IFCCONDENSER,IFCCOIL,IFCCHILLER,IFCBURNER,IFCBOILER,IFCAIRTOAIRHEATRECOVERY,IFCUNITARYEQUIPMENT,IFCTUBEBUNDLE,IFCTRANSFORMER,IFCSOLARDEVICE,IFCMOTORCONNECTION,IFCHUMIDIFIER,IFCHEATEXCHANGER,IFCEVAPORATOR,IFCEVAPORATIVECOOLER,IFCENGINE,IFCENERGYCONVERSIONDEVICE,IFCDISTRIBUTIONFLOWELEMENT],3040386961:[IFCDISTRIBUTIONCHAMBERELEMENT,IFCFILTER,IFCELECTRICFLOWTREATMENTDEVICE,IFCDUCTSILENCER,IFCINTERCEPTOR,IFCFLOWTREATMENTDEVICE,IFCFIRESUPPRESSIONTERMINAL,IFCELECTRICAPPLIANCE,IFCCOMMUNICATIONSAPPLIANCE,IFCAUDIOVISUALAPPLIANCE,IFCAIRTERMINAL,IFCWASTETERMINAL,IFCSTACKTERMINAL,IFCSPACEHEATER,IFCSIGNAL,IFCSANITARYTERMINAL,IFCOUTLET,IFCMOBILETELECOMMUNICATIONSAPPLIANCE,IFCMEDICALDEVICE,IFCLIQUIDTERMINAL,IFCLIGHTFIXTURE,IFCLAMP,IFCFLOWTERMINAL,IFCELECTRICFLOWSTORAGEDEVICE,IFCTANK,IFCFLOWSTORAGEDEVICE,IFCDUCTSEGMENT,IFCCONVEYORSEGMENT,IFCCABLESEGMENT,IFCCABLECARRIERSEGMENT,IFCPIPESEGMENT,IFCFLOWSEGMENT,IFCFAN,IFCCOMPRESSOR,IFCPUMP,IFCFLOWMOVINGDEVICE,IFCDUCTFITTING,IFCCABLEFITTING,IFCCABLECARRIERFITTING,IFCPIPEFITTING,IFCJUNCTIONBOX,IFCFLOWFITTING,IFCELECTRICTIMECONTROL,IFCELECTRICDISTRIBUTIONBOARD,IFCDISTRIBUTIONBOARD,IFCDAMPER,IFCAIRTERMINALBOX,IFCVALVE,IFCSWITCHINGDEVICE,IFCPROTECTIVEDEVICE,IFCFLOWMETER,IFCFLOWCONTROLLER,IFCELECTRICMOTOR,IFCELECTRICGENERATOR,IFCCOOLINGTOWER,IFCCOOLEDBEAM,IFCCONDENSER,IFCCOIL,IFCCHILLER,IFCBURNER,IFCBOILER,IFCAIRTOAIRHEATRECOVERY,IFCUNITARYEQUIPMENT,IFCTUBEBUNDLE,IFCTRANSFORMER,IFCSOLARDEVICE,IFCMOTORCONNECTION,IFCHUMIDIFIER,IFCHEATEXCHANGER,IFCEVAPORATOR,IFCEVAPORATIVECOOLER,IFCENGINE,IFCENERGYCONVERSIONDEVICE],3205830791:[IFCDISTRIBUTIONCIRCUIT],1077100507:[IFCREINFORCEDSOIL,IFCEARTHWORKSFILL],1658829314:[IFCELECTRICMOTOR,IFCELECTRICGENERATOR,IFCCOOLINGTOWER,IFCCOOLEDBEAM,IFCCONDENSER,IFCCOIL,IFCCHILLER,IFCBURNER,IFCBOILER,IFCAIRTOAIRHEATRECOVERY,IFCUNITARYEQUIPMENT,IFCTUBEBUNDLE,IFCTRANSFORMER,IFCSOLARDEVICE,IFCMOTORCONNECTION,IFCHUMIDIFIER,IFCHEATEXCHANGER,IFCEVAPORATOR,IFCEVAPORATIVECOOLER,IFCENGINE],2058353004:[IFCELECTRICTIMECONTROL,IFCELECTRICDISTRIBUTIONBOARD,IFCDISTRIBUTIONBOARD,IFCDAMPER,IFCAIRTERMINALBOX,IFCVALVE,IFCSWITCHINGDEVICE,IFCPROTECTIVEDEVICE,IFCFLOWMETER],4278956645:[IFCDUCTFITTING,IFCCABLEFITTING,IFCCABLECARRIERFITTING,IFCPIPEFITTING,IFCJUNCTIONBOX],3132237377:[IFCFAN,IFCCOMPRESSOR,IFCPUMP],987401354:[IFCDUCTSEGMENT,IFCCONVEYORSEGMENT,IFCCABLESEGMENT,IFCCABLECARRIERSEGMENT,IFCPIPESEGMENT],707683696:[IFCELECTRICFLOWSTORAGEDEVICE,IFCTANK],2223149337:[IFCFIRESUPPRESSIONTERMINAL,IFCELECTRICAPPLIANCE,IFCCOMMUNICATIONSAPPLIANCE,IFCAUDIOVISUALAPPLIANCE,IFCAIRTERMINAL,IFCWASTETERMINAL,IFCSTACKTERMINAL,IFCSPACEHEATER,IFCSIGNAL,IFCSANITARYTERMINAL,IFCOUTLET,IFCMOBILETELECOMMUNICATIONSAPPLIANCE,IFCMEDICALDEVICE,IFCLIQUIDTERMINAL,IFCLIGHTFIXTURE,IFCLAMP],3508470533:[IFCFILTER,IFCELECTRICFLOWTREATMENTDEVICE,IFCDUCTSILENCER,IFCINTERCEPTOR],2713699986:[IFCGEOSLICE,IFCGEOMODEL,IFCBOREHOLE],1154579445:[IFCALIGNMENT],2391406946:[IFCWALLSTANDARDCASE],1062813311:[IFCCONTROLLER,IFCALARM,IFCACTUATOR,IFCUNITARYCONTROLELEMENT,IFCSENSOR,IFCPROTECTIVEDEVICETRIPPINGUNIT,IFCFLOWINSTRUMENT]};InversePropertyDef[3]={3630933823:[["HasExternalReference",IFCEXTERNALREFERENCERELATIONSHIP,3,true]],618182010:[["OfPerson",IFCPERSON,7,true],["OfOrganization",IFCORGANIZATION,4,true]],411424972:[["HasExternalReference",IFCEXTERNALREFERENCERELATIONSHIP,3,true]],130549933:[["HasExternalReferences",IFCEXTERNALREFERENCERELATIONSHIP,3,true],["ApprovedObjects",IFCRELASSOCIATESAPPROVAL,5,true],["ApprovedResources",IFCRESOURCEAPPROVALRELATIONSHIP,3,true],["IsRelatedWith",IFCAPPROVALRELATIONSHIP,3,true],["Relates",IFCAPPROVALRELATIONSHIP,2,true]],1959218052:[["HasExternalReferences",IFCEXTERNALREFERENCERELATIONSHIP,3,true],["PropertiesForConstraint",IFCRESOURCECONSTRAINTRELATIONSHIP,2,true]],1466758467:[["HasCoordinateOperation",IFCCOORDINATEOPERATION,0,true]],602808272:[["HasExternalReference",IFCEXTERNALREFERENCERELATIONSHIP,3,true]],3200245327:[["ExternalReferenceForResources",IFCEXTERNALREFERENCERELATIONSHIP,2,true]],2242383968:[["ExternalReferenceForResources",IFCEXTERNALREFERENCERELATIONSHIP,2,true]],1040185647:[["ExternalReferenceForResources",IFCEXTERNALREFERENCERELATIONSHIP,2,true]],3548104201:[["ExternalReferenceForResources",IFCEXTERNALREFERENCERELATIONSHIP,2,true]],852622518:[["PartOfW",IFCGRID,9,true],["PartOfV",IFCGRID,8,true],["PartOfU",IFCGRID,7,true],["HasIntersections",IFCVIRTUALGRIDINTERSECTION,0,true]],2655187982:[["LibraryInfoForObjects",IFCRELASSOCIATESLIBRARY,5,true],["HasLibraryReferences",IFCLIBRARYREFERENCE,5,true]],3452421091:[["ExternalReferenceForResources",IFCEXTERNALREFERENCERELATIONSHIP,2,true],["LibraryRefForObjects",IFCRELASSOCIATESLIBRARY,5,true]],760658860:[["AssociatedTo",IFCRELASSOCIATESMATERIAL,5,true],["HasExternalReferences",IFCEXTERNALREFERENCERELATIONSHIP,3,true],["HasProperties",IFCMATERIALPROPERTIES,3,true]],248100487:[["AssociatedTo",IFCRELASSOCIATESMATERIAL,5,true],["HasExternalReferences",IFCEXTERNALREFERENCERELATIONSHIP,3,true],["HasProperties",IFCMATERIALPROPERTIES,3,true],["ToMaterialLayerSet",IFCMATERIALLAYERSET,0,false]],3303938423:[["AssociatedTo",IFCRELASSOCIATESMATERIAL,5,true],["HasExternalReferences",IFCEXTERNALREFERENCERELATIONSHIP,3,true],["HasProperties",IFCMATERIALPROPERTIES,3,true]],1847252529:[["AssociatedTo",IFCRELASSOCIATESMATERIAL,5,true],["HasExternalReferences",IFCEXTERNALREFERENCERELATIONSHIP,3,true],["HasProperties",IFCMATERIALPROPERTIES,3,true],["ToMaterialLayerSet",IFCMATERIALLAYERSET,0,false]],2235152071:[["AssociatedTo",IFCRELASSOCIATESMATERIAL,5,true],["HasExternalReferences",IFCEXTERNALREFERENCERELATIONSHIP,3,true],["HasProperties",IFCMATERIALPROPERTIES,3,true],["ToMaterialProfileSet",IFCMATERIALPROFILESET,2,false]],164193824:[["AssociatedTo",IFCRELASSOCIATESMATERIAL,5,true],["HasExternalReferences",IFCEXTERNALREFERENCERELATIONSHIP,3,true],["HasProperties",IFCMATERIALPROPERTIES,3,true]],552965576:[["AssociatedTo",IFCRELASSOCIATESMATERIAL,5,true],["HasExternalReferences",IFCEXTERNALREFERENCERELATIONSHIP,3,true],["HasProperties",IFCMATERIALPROPERTIES,3,true],["ToMaterialProfileSet",IFCMATERIALPROFILESET,2,false]],1507914824:[["AssociatedTo",IFCRELASSOCIATESMATERIAL,5,true]],3368373690:[["HasExternalReferences",IFCEXTERNALREFERENCERELATIONSHIP,3,true],["PropertiesForConstraint",IFCRESOURCECONSTRAINTRELATIONSHIP,2,true]],3701648758:[["PlacesObject",IFCPRODUCT,5,true],["ReferencedByPlacements",IFCOBJECTPLACEMENT,0,true]],2251480897:[["HasExternalReferences",IFCEXTERNALREFERENCERELATIONSHIP,3,true],["PropertiesForConstraint",IFCRESOURCECONSTRAINTRELATIONSHIP,2,true]],4251960020:[["IsRelatedBy",IFCORGANIZATIONRELATIONSHIP,3,true],["Relates",IFCORGANIZATIONRELATIONSHIP,2,true],["Engages",IFCPERSONANDORGANIZATION,1,true]],2077209135:[["EngagedIn",IFCPERSONANDORGANIZATION,0,true]],2483315170:[["HasExternalReferences",IFCEXTERNALREFERENCERELATIONSHIP,3,true],["PartOfComplex",IFCPHYSICALCOMPLEXQUANTITY,2,true]],2226359599:[["HasExternalReferences",IFCEXTERNALREFERENCERELATIONSHIP,3,true],["PartOfComplex",IFCPHYSICALCOMPLEXQUANTITY,2,true]],3355820592:[["OfPerson",IFCPERSON,7,true],["OfOrganization",IFCORGANIZATION,4,true]],3958567839:[["HasExternalReference",IFCEXTERNALREFERENCERELATIONSHIP,3,true],["HasProperties",IFCPROFILEPROPERTIES,3,true]],3843373140:[["HasCoordinateOperation",IFCCOORDINATEOPERATION,0,true]],986844984:[["HasExternalReferences",IFCEXTERNALREFERENCERELATIONSHIP,3,true]],3710013099:[["HasExternalReferences",IFCEXTERNALREFERENCERELATIONSHIP,3,true]],2044713172:[["HasExternalReferences",IFCEXTERNALREFERENCERELATIONSHIP,3,true],["PartOfComplex",IFCPHYSICALCOMPLEXQUANTITY,2,true]],2093928680:[["HasExternalReferences",IFCEXTERNALREFERENCERELATIONSHIP,3,true],["PartOfComplex",IFCPHYSICALCOMPLEXQUANTITY,2,true]],931644368:[["HasExternalReferences",IFCEXTERNALREFERENCERELATIONSHIP,3,true],["PartOfComplex",IFCPHYSICALCOMPLEXQUANTITY,2,true]],2691318326:[["HasExternalReferences",IFCEXTERNALREFERENCERELATIONSHIP,3,true],["PartOfComplex",IFCPHYSICALCOMPLEXQUANTITY,2,true]],3252649465:[["HasExternalReferences",IFCEXTERNALREFERENCERELATIONSHIP,3,true],["PartOfComplex",IFCPHYSICALCOMPLEXQUANTITY,2,true]],2405470396:[["HasExternalReferences",IFCEXTERNALREFERENCERELATIONSHIP,3,true],["PartOfComplex",IFCPHYSICALCOMPLEXQUANTITY,2,true]],825690147:[["HasExternalReferences",IFCEXTERNALREFERENCERELATIONSHIP,3,true],["PartOfComplex",IFCPHYSICALCOMPLEXQUANTITY,2,true]],1076942058:[["RepresentationMap",IFCREPRESENTATIONMAP,1,true],["LayerAssignments",IFCPRESENTATIONLAYERASSIGNMENT,2,true],["OfProductRepresentation",IFCPRODUCTREPRESENTATION,2,true]],3377609919:[["RepresentationsInContext",IFCREPRESENTATION,0,true]],3008791417:[["LayerAssignment",IFCPRESENTATIONLAYERASSIGNMENT,2,true],["StyledByItem",IFCSTYLEDITEM,0,true]],1660063152:[["HasShapeAspects",IFCSHAPEASPECT,4,true],["MapUsage",IFCMAPPEDITEM,0,true]],867548509:[["HasExternalReferences",IFCEXTERNALREFERENCERELATIONSHIP,3,true]],3982875396:[["RepresentationMap",IFCREPRESENTATIONMAP,1,true],["LayerAssignments",IFCPRESENTATIONLAYERASSIGNMENT,2,true],["OfProductRepresentation",IFCPRODUCTREPRESENTATION,2,true],["OfShapeAspect",IFCSHAPEASPECT,0,true]],4240577450:[["RepresentationMap",IFCREPRESENTATIONMAP,1,true],["LayerAssignments",IFCPRESENTATIONLAYERASSIGNMENT,2,true],["OfProductRepresentation",IFCPRODUCTREPRESENTATION,2,true],["OfShapeAspect",IFCSHAPEASPECT,0,true]],2830218821:[["RepresentationMap",IFCREPRESENTATIONMAP,1,true],["LayerAssignments",IFCPRESENTATIONLAYERASSIGNMENT,2,true],["OfProductRepresentation",IFCPRODUCTREPRESENTATION,2,true]],3958052878:[["LayerAssignment",IFCPRESENTATIONLAYERASSIGNMENT,2,true],["StyledByItem",IFCSTYLEDITEM,0,true]],3049322572:[["RepresentationMap",IFCREPRESENTATIONMAP,1,true],["LayerAssignments",IFCPRESENTATIONLAYERASSIGNMENT,2,true],["OfProductRepresentation",IFCPRODUCTREPRESENTATION,2,true]],626085974:[["IsMappedBy",IFCTEXTURECOORDINATE,0,true],["UsedInStyles",IFCSURFACESTYLEWITHTEXTURES,0,true]],912023232:[["OfPerson",IFCPERSON,7,true],["OfOrganization",IFCORGANIZATION,4,true]],222769930:[["ToTexMap",IFCINDEXEDPOLYGONALTEXTUREMAP,3,false]],1010789467:[["ToTexMap",IFCINDEXEDPOLYGONALTEXTUREMAP,3,false]],3101149627:[["HasExternalReference",IFCEXTERNALREFERENCERELATIONSHIP,3,true]],1377556343:[["LayerAssignment",IFCPRESENTATIONLAYERASSIGNMENT,2,true],["StyledByItem",IFCSTYLEDITEM,0,true]],1735638870:[["RepresentationMap",IFCREPRESENTATIONMAP,1,true],["LayerAssignments",IFCPRESENTATIONLAYERASSIGNMENT,2,true],["OfProductRepresentation",IFCPRODUCTREPRESENTATION,2,true],["OfShapeAspect",IFCSHAPEASPECT,0,true]],2799835756:[["LayerAssignment",IFCPRESENTATIONLAYERASSIGNMENT,2,true],["StyledByItem",IFCSTYLEDITEM,0,true]],1907098498:[["LayerAssignment",IFCPRESENTATIONLAYERASSIGNMENT,2,true],["StyledByItem",IFCSTYLEDITEM,0,true]],3798115385:[["HasExternalReference",IFCEXTERNALREFERENCERELATIONSHIP,3,true],["HasProperties",IFCPROFILEPROPERTIES,3,true]],1310608509:[["HasExternalReference",IFCEXTERNALREFERENCERELATIONSHIP,3,true],["HasProperties",IFCPROFILEPROPERTIES,3,true]],2705031697:[["HasExternalReference",IFCEXTERNALREFERENCERELATIONSHIP,3,true],["HasProperties",IFCPROFILEPROPERTIES,3,true]],616511568:[["IsMappedBy",IFCTEXTURECOORDINATE,0,true],["UsedInStyles",IFCSURFACESTYLEWITHTEXTURES,0,true]],3150382593:[["HasExternalReference",IFCEXTERNALREFERENCERELATIONSHIP,3,true],["HasProperties",IFCPROFILEPROPERTIES,3,true]],747523909:[["ClassificationForObjects",IFCRELASSOCIATESCLASSIFICATION,5,true],["HasReferences",IFCCLASSIFICATIONREFERENCE,3,true]],647927063:[["ExternalReferenceForResources",IFCEXTERNALREFERENCERELATIONSHIP,2,true],["ClassificationRefForObjects",IFCRELASSOCIATESCLASSIFICATION,5,true],["HasReferences",IFCCLASSIFICATIONREFERENCE,3,true]],1485152156:[["HasExternalReference",IFCEXTERNALREFERENCERELATIONSHIP,3,true],["HasProperties",IFCPROFILEPROPERTIES,3,true]],370225590:[["LayerAssignment",IFCPRESENTATIONLAYERASSIGNMENT,2,true],["StyledByItem",IFCSTYLEDITEM,0,true]],3050246964:[["HasExternalReference",IFCEXTERNALREFERENCERELATIONSHIP,3,true]],2889183280:[["HasExternalReference",IFCEXTERNALREFERENCERELATIONSHIP,3,true]],2713554722:[["HasExternalReference",IFCEXTERNALREFERENCERELATIONSHIP,3,true]],3632507154:[["HasExternalReference",IFCEXTERNALREFERENCERELATIONSHIP,3,true],["HasProperties",IFCPROFILEPROPERTIES,3,true]],1154170062:[["DocumentInfoForObjects",IFCRELASSOCIATESDOCUMENT,5,true],["HasDocumentReferences",IFCDOCUMENTREFERENCE,4,true],["IsPointedTo",IFCDOCUMENTINFORMATIONRELATIONSHIP,3,true],["IsPointer",IFCDOCUMENTINFORMATIONRELATIONSHIP,2,true]],3732053477:[["ExternalReferenceForResources",IFCEXTERNALREFERENCERELATIONSHIP,2,true],["DocumentRefForObjects",IFCRELASSOCIATESDOCUMENT,5,true]],3900360178:[["LayerAssignment",IFCPRESENTATIONLAYERASSIGNMENT,2,true],["StyledByItem",IFCSTYLEDITEM,0,true]],476780140:[["LayerAssignment",IFCPRESENTATIONLAYERASSIGNMENT,2,true],["StyledByItem",IFCSTYLEDITEM,0,true]],297599258:[["HasExternalReferences",IFCEXTERNALREFERENCERELATIONSHIP,3,true]],2556980723:[["LayerAssignment",IFCPRESENTATIONLAYERASSIGNMENT,2,true],["StyledByItem",IFCSTYLEDITEM,0,true],["HasTextureMaps",IFCTEXTUREMAP,2,true]],1809719519:[["LayerAssignment",IFCPRESENTATIONLAYERASSIGNMENT,2,true],["StyledByItem",IFCSTYLEDITEM,0,true]],803316827:[["LayerAssignment",IFCPRESENTATIONLAYERASSIGNMENT,2,true],["StyledByItem",IFCSTYLEDITEM,0,true]],3008276851:[["LayerAssignment",IFCPRESENTATIONLAYERASSIGNMENT,2,true],["StyledByItem",IFCSTYLEDITEM,0,true],["HasTextureMaps",IFCTEXTUREMAP,2,true]],3448662350:[["RepresentationsInContext",IFCREPRESENTATION,0,true],["HasSubContexts",IFCGEOMETRICREPRESENTATIONSUBCONTEXT,6,true],["HasCoordinateOperation",IFCCOORDINATEOPERATION,0,true]],2453401579:[["LayerAssignment",IFCPRESENTATIONLAYERASSIGNMENT,2,true],["StyledByItem",IFCSTYLEDITEM,0,true]],4142052618:[["RepresentationsInContext",IFCREPRESENTATION,0,true],["HasSubContexts",IFCGEOMETRICREPRESENTATIONSUBCONTEXT,6,true],["HasCoordinateOperation",IFCCOORDINATEOPERATION,0,true]],3590301190:[["LayerAssignment",IFCPRESENTATIONLAYERASSIGNMENT,2,true],["StyledByItem",IFCSTYLEDITEM,0,true]],178086475:[["PlacesObject",IFCPRODUCT,5,true],["ReferencedByPlacements",IFCOBJECTPLACEMENT,0,true]],812098782:[["LayerAssignment",IFCPRESENTATIONLAYERASSIGNMENT,2,true],["StyledByItem",IFCSTYLEDITEM,0,true]],3905492369:[["IsMappedBy",IFCTEXTURECOORDINATE,0,true],["UsedInStyles",IFCSURFACESTYLEWITHTEXTURES,0,true]],3741457305:[["HasExternalReference",IFCEXTERNALREFERENCERELATIONSHIP,3,true]],1402838566:[["LayerAssignment",IFCPRESENTATIONLAYERASSIGNMENT,2,true],["StyledByItem",IFCSTYLEDITEM,0,true]],125510826:[["LayerAssignment",IFCPRESENTATIONLAYERASSIGNMENT,2,true],["StyledByItem",IFCSTYLEDITEM,0,true]],2604431987:[["LayerAssignment",IFCPRESENTATIONLAYERASSIGNMENT,2,true],["StyledByItem",IFCSTYLEDITEM,0,true]],4266656042:[["LayerAssignment",IFCPRESENTATIONLAYERASSIGNMENT,2,true],["StyledByItem",IFCSTYLEDITEM,0,true]],1520743889:[["LayerAssignment",IFCPRESENTATIONLAYERASSIGNMENT,2,true],["StyledByItem",IFCSTYLEDITEM,0,true]],3422422726:[["LayerAssignment",IFCPRESENTATIONLAYERASSIGNMENT,2,true],["StyledByItem",IFCSTYLEDITEM,0,true]],388784114:[["PlacesObject",IFCPRODUCT,5,true],["ReferencedByPlacements",IFCOBJECTPLACEMENT,0,true]],2624227202:[["PlacesObject",IFCPRODUCT,5,true],["ReferencedByPlacements",IFCOBJECTPLACEMENT,0,true]],1008929658:[["LayerAssignment",IFCPRESENTATIONLAYERASSIGNMENT,2,true],["StyledByItem",IFCSTYLEDITEM,0,true]],2347385850:[["LayerAssignment",IFCPRESENTATIONLAYERASSIGNMENT,2,true],["StyledByItem",IFCSTYLEDITEM,0,true]],1838606355:[["AssociatedTo",IFCRELASSOCIATESMATERIAL,5,true],["HasExternalReferences",IFCEXTERNALREFERENCERELATIONSHIP,3,true],["HasProperties",IFCMATERIALPROPERTIES,3,true],["HasRepresentation",IFCMATERIALDEFINITIONREPRESENTATION,3,true],["IsRelatedWith",IFCMATERIALRELATIONSHIP,3,true],["RelatesTo",IFCMATERIALRELATIONSHIP,2,true]],3708119e3:[["AssociatedTo",IFCRELASSOCIATESMATERIAL,5,true],["HasExternalReferences",IFCEXTERNALREFERENCERELATIONSHIP,3,true],["HasProperties",IFCMATERIALPROPERTIES,3,true],["ToMaterialConstituentSet",IFCMATERIALCONSTITUENTSET,2,false]],2852063980:[["AssociatedTo",IFCRELASSOCIATESMATERIAL,5,true],["HasExternalReferences",IFCEXTERNALREFERENCERELATIONSHIP,3,true],["HasProperties",IFCMATERIALPROPERTIES,3,true]],1303795690:[["AssociatedTo",IFCRELASSOCIATESMATERIAL,5,true]],3079605661:[["AssociatedTo",IFCRELASSOCIATESMATERIAL,5,true]],3404854881:[["AssociatedTo",IFCRELASSOCIATESMATERIAL,5,true]],3265635763:[["HasExternalReferences",IFCEXTERNALREFERENCERELATIONSHIP,3,true]],2998442950:[["HasExternalReference",IFCEXTERNALREFERENCERELATIONSHIP,3,true],["HasProperties",IFCPROFILEPROPERTIES,3,true]],219451334:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true]],182550632:[["HasExternalReference",IFCEXTERNALREFERENCERELATIONSHIP,3,true],["HasProperties",IFCPROFILEPROPERTIES,3,true]],2665983363:[["LayerAssignment",IFCPRESENTATIONLAYERASSIGNMENT,2,true],["StyledByItem",IFCSTYLEDITEM,0,true]],1029017970:[["LayerAssignment",IFCPRESENTATIONLAYERASSIGNMENT,2,true],["StyledByItem",IFCSTYLEDITEM,0,true]],2529465313:[["HasExternalReference",IFCEXTERNALREFERENCERELATIONSHIP,3,true],["HasProperties",IFCPROFILEPROPERTIES,3,true]],2519244187:[["LayerAssignment",IFCPRESENTATIONLAYERASSIGNMENT,2,true],["StyledByItem",IFCSTYLEDITEM,0,true]],3021840470:[["HasExternalReferences",IFCEXTERNALREFERENCERELATIONSHIP,3,true],["PartOfComplex",IFCPHYSICALCOMPLEXQUANTITY,2,true]],597895409:[["IsMappedBy",IFCTEXTURECOORDINATE,0,true],["UsedInStyles",IFCSURFACESTYLEWITHTEXTURES,0,true]],2004835150:[["LayerAssignment",IFCPRESENTATIONLAYERASSIGNMENT,2,true],["StyledByItem",IFCSTYLEDITEM,0,true]],1663979128:[["LayerAssignment",IFCPRESENTATIONLAYERASSIGNMENT,2,true],["StyledByItem",IFCSTYLEDITEM,0,true]],2067069095:[["LayerAssignment",IFCPRESENTATIONLAYERASSIGNMENT,2,true],["StyledByItem",IFCSTYLEDITEM,0,true]],2165702409:[["LayerAssignment",IFCPRESENTATIONLAYERASSIGNMENT,2,true],["StyledByItem",IFCSTYLEDITEM,0,true]],4022376103:[["LayerAssignment",IFCPRESENTATIONLAYERASSIGNMENT,2,true],["StyledByItem",IFCSTYLEDITEM,0,true]],1423911732:[["LayerAssignment",IFCPRESENTATIONLAYERASSIGNMENT,2,true],["StyledByItem",IFCSTYLEDITEM,0,true]],2924175390:[["LayerAssignment",IFCPRESENTATIONLAYERASSIGNMENT,2,true],["StyledByItem",IFCSTYLEDITEM,0,true]],2775532180:[["LayerAssignment",IFCPRESENTATIONLAYERASSIGNMENT,2,true],["StyledByItem",IFCSTYLEDITEM,0,true]],3778827333:[["HasExternalReferences",IFCEXTERNALREFERENCERELATIONSHIP,3,true]],673634403:[["ShapeOfProduct",IFCPRODUCT,6,true],["HasShapeAspects",IFCSHAPEASPECT,4,true]],2802850158:[["HasExternalReferences",IFCEXTERNALREFERENCERELATIONSHIP,3,true]],2598011224:[["HasExternalReferences",IFCEXTERNALREFERENCERELATIONSHIP,3,true],["PartOfPset",IFCPROPERTYSET,4,true],["PropertyForDependance",IFCPROPERTYDEPENDENCYRELATIONSHIP,2,true],["PropertyDependsOn",IFCPROPERTYDEPENDENCYRELATIONSHIP,3,true],["PartOfComplex",IFCCOMPLEXPROPERTY,3,true],["HasConstraints",IFCRESOURCECONSTRAINTRELATIONSHIP,3,true],["HasApprovals",IFCRESOURCEAPPROVALRELATIONSHIP,2,true]],1680319473:[["HasContext",IFCRELDECLARES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true]],3357820518:[["HasContext",IFCRELDECLARES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["DefinesType",IFCTYPEOBJECT,5,true],["IsDefinedBy",IFCRELDEFINESBYTEMPLATE,4,true],["DefinesOccurrence",IFCRELDEFINESBYPROPERTIES,5,true]],1482703590:[["HasContext",IFCRELDECLARES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true]],2090586900:[["HasContext",IFCRELDECLARES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["DefinesType",IFCTYPEOBJECT,5,true],["IsDefinedBy",IFCRELDEFINESBYTEMPLATE,4,true],["DefinesOccurrence",IFCRELDEFINESBYPROPERTIES,5,true]],3615266464:[["HasExternalReference",IFCEXTERNALREFERENCERELATIONSHIP,3,true],["HasProperties",IFCPROFILEPROPERTIES,3,true]],3413951693:[["HasExternalReference",IFCEXTERNALREFERENCERELATIONSHIP,3,true]],1580146022:[["HasExternalReferences",IFCEXTERNALREFERENCERELATIONSHIP,3,true]],2778083089:[["HasExternalReference",IFCEXTERNALREFERENCERELATIONSHIP,3,true],["HasProperties",IFCPROFILEPROPERTIES,3,true]],2042790032:[["HasExternalReferences",IFCEXTERNALREFERENCERELATIONSHIP,3,true]],4165799628:[["HasExternalReferences",IFCEXTERNALREFERENCERELATIONSHIP,3,true]],1509187699:[["LayerAssignment",IFCPRESENTATIONLAYERASSIGNMENT,2,true],["StyledByItem",IFCSTYLEDITEM,0,true]],823603102:[["LayerAssignment",IFCPRESENTATIONLAYERASSIGNMENT,2,true],["StyledByItem",IFCSTYLEDITEM,0,true],["UsingCurves",IFCCOMPOSITECURVE,0,true]],4124623270:[["LayerAssignment",IFCPRESENTATIONLAYERASSIGNMENT,2,true],["StyledByItem",IFCSTYLEDITEM,0,true]],3692461612:[["HasExternalReferences",IFCEXTERNALREFERENCERELATIONSHIP,3,true],["PartOfPset",IFCPROPERTYSET,4,true],["PropertyForDependance",IFCPROPERTYDEPENDENCYRELATIONSHIP,2,true],["PropertyDependsOn",IFCPROPERTYDEPENDENCYRELATIONSHIP,3,true],["PartOfComplex",IFCCOMPLEXPROPERTY,3,true],["HasConstraints",IFCRESOURCECONSTRAINTRELATIONSHIP,3,true],["HasApprovals",IFCRESOURCEAPPROVALRELATIONSHIP,2,true]],723233188:[["LayerAssignment",IFCPRESENTATIONLAYERASSIGNMENT,2,true],["StyledByItem",IFCSTYLEDITEM,0,true]],2233826070:[["LayerAssignment",IFCPRESENTATIONLAYERASSIGNMENT,2,true],["StyledByItem",IFCSTYLEDITEM,0,true]],2513912981:[["LayerAssignment",IFCPRESENTATIONLAYERASSIGNMENT,2,true],["StyledByItem",IFCSTYLEDITEM,0,true]],2247615214:[["LayerAssignment",IFCPRESENTATIONLAYERASSIGNMENT,2,true],["StyledByItem",IFCSTYLEDITEM,0,true]],1260650574:[["LayerAssignment",IFCPRESENTATIONLAYERASSIGNMENT,2,true],["StyledByItem",IFCSTYLEDITEM,0,true]],1096409881:[["LayerAssignment",IFCPRESENTATIONLAYERASSIGNMENT,2,true],["StyledByItem",IFCSTYLEDITEM,0,true]],230924584:[["LayerAssignment",IFCPRESENTATIONLAYERASSIGNMENT,2,true],["StyledByItem",IFCSTYLEDITEM,0,true]],3071757647:[["HasExternalReference",IFCEXTERNALREFERENCERELATIONSHIP,3,true],["HasProperties",IFCPROFILEPROPERTIES,3,true]],901063453:[["LayerAssignment",IFCPRESENTATIONLAYERASSIGNMENT,2,true],["StyledByItem",IFCSTYLEDITEM,0,true]],4282788508:[["LayerAssignment",IFCPRESENTATIONLAYERASSIGNMENT,2,true],["StyledByItem",IFCSTYLEDITEM,0,true]],3124975700:[["LayerAssignment",IFCPRESENTATIONLAYERASSIGNMENT,2,true],["StyledByItem",IFCSTYLEDITEM,0,true]],2715220739:[["HasExternalReference",IFCEXTERNALREFERENCERELATIONSHIP,3,true],["HasProperties",IFCPROFILEPROPERTIES,3,true]],1628702193:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["Types",IFCRELDEFINESBYTYPE,5,true]],3736923433:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["Types",IFCRELDEFINESBYTYPE,5,true],["OperatesOn",IFCRELASSIGNSTOPROCESS,6,true]],2347495698:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["Types",IFCRELDEFINESBYTYPE,5,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true]],3698973494:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["Types",IFCRELDEFINESBYTYPE,5,true],["ResourceOf",IFCRELASSIGNSTORESOURCE,6,true]],427810014:[["HasExternalReference",IFCEXTERNALREFERENCERELATIONSHIP,3,true],["HasProperties",IFCPROFILEPROPERTIES,3,true]],1417489154:[["LayerAssignment",IFCPRESENTATIONLAYERASSIGNMENT,2,true],["StyledByItem",IFCSTYLEDITEM,0,true]],2759199220:[["LayerAssignment",IFCPRESENTATIONLAYERASSIGNMENT,2,true],["StyledByItem",IFCSTYLEDITEM,0,true]],2543172580:[["HasExternalReference",IFCEXTERNALREFERENCERELATIONSHIP,3,true],["HasProperties",IFCPROFILEPROPERTIES,3,true]],3406155212:[["LayerAssignment",IFCPRESENTATIONLAYERASSIGNMENT,2,true],["StyledByItem",IFCSTYLEDITEM,0,true],["HasTextureMaps",IFCTEXTUREMAP,2,true]],669184980:[["LayerAssignment",IFCPRESENTATIONLAYERASSIGNMENT,2,true],["StyledByItem",IFCSTYLEDITEM,0,true]],3207858831:[["HasExternalReference",IFCEXTERNALREFERENCERELATIONSHIP,3,true],["HasProperties",IFCPROFILEPROPERTIES,3,true]],4261334040:[["LayerAssignment",IFCPRESENTATIONLAYERASSIGNMENT,2,true],["StyledByItem",IFCSTYLEDITEM,0,true]],3125803723:[["LayerAssignment",IFCPRESENTATIONLAYERASSIGNMENT,2,true],["StyledByItem",IFCSTYLEDITEM,0,true]],2740243338:[["LayerAssignment",IFCPRESENTATIONLAYERASSIGNMENT,2,true],["StyledByItem",IFCSTYLEDITEM,0,true]],3425423356:[["LayerAssignment",IFCPRESENTATIONLAYERASSIGNMENT,2,true],["StyledByItem",IFCSTYLEDITEM,0,true]],2736907675:[["LayerAssignment",IFCPRESENTATIONLAYERASSIGNMENT,2,true],["StyledByItem",IFCSTYLEDITEM,0,true]],4182860854:[["LayerAssignment",IFCPRESENTATIONLAYERASSIGNMENT,2,true],["StyledByItem",IFCSTYLEDITEM,0,true]],2581212453:[["LayerAssignment",IFCPRESENTATIONLAYERASSIGNMENT,2,true],["StyledByItem",IFCSTYLEDITEM,0,true]],2713105998:[["LayerAssignment",IFCPRESENTATIONLAYERASSIGNMENT,2,true],["StyledByItem",IFCSTYLEDITEM,0,true]],2898889636:[["HasExternalReference",IFCEXTERNALREFERENCERELATIONSHIP,3,true],["HasProperties",IFCPROFILEPROPERTIES,3,true]],1123145078:[["LayerAssignment",IFCPRESENTATIONLAYERASSIGNMENT,2,true],["StyledByItem",IFCSTYLEDITEM,0,true]],574549367:[["LayerAssignment",IFCPRESENTATIONLAYERASSIGNMENT,2,true],["StyledByItem",IFCSTYLEDITEM,0,true]],1675464909:[["LayerAssignment",IFCPRESENTATIONLAYERASSIGNMENT,2,true],["StyledByItem",IFCSTYLEDITEM,0,true]],2059837836:[["LayerAssignment",IFCPRESENTATIONLAYERASSIGNMENT,2,true],["StyledByItem",IFCSTYLEDITEM,0,true]],59481748:[["LayerAssignment",IFCPRESENTATIONLAYERASSIGNMENT,2,true],["StyledByItem",IFCSTYLEDITEM,0,true]],3749851601:[["LayerAssignment",IFCPRESENTATIONLAYERASSIGNMENT,2,true],["StyledByItem",IFCSTYLEDITEM,0,true]],3486308946:[["LayerAssignment",IFCPRESENTATIONLAYERASSIGNMENT,2,true],["StyledByItem",IFCSTYLEDITEM,0,true]],3331915920:[["LayerAssignment",IFCPRESENTATIONLAYERASSIGNMENT,2,true],["StyledByItem",IFCSTYLEDITEM,0,true]],1416205885:[["LayerAssignment",IFCPRESENTATIONLAYERASSIGNMENT,2,true],["StyledByItem",IFCSTYLEDITEM,0,true]],1383045692:[["HasExternalReference",IFCEXTERNALREFERENCERELATIONSHIP,3,true],["HasProperties",IFCPROFILEPROPERTIES,3,true]],2205249479:[["LayerAssignment",IFCPRESENTATIONLAYERASSIGNMENT,2,true],["StyledByItem",IFCSTYLEDITEM,0,true]],2542286263:[["HasExternalReferences",IFCEXTERNALREFERENCERELATIONSHIP,3,true],["PartOfPset",IFCPROPERTYSET,4,true],["PropertyForDependance",IFCPROPERTYDEPENDENCYRELATIONSHIP,2,true],["PropertyDependsOn",IFCPROPERTYDEPENDENCYRELATIONSHIP,3,true],["PartOfComplex",IFCCOMPLEXPROPERTY,3,true],["HasConstraints",IFCRESOURCECONSTRAINTRELATIONSHIP,3,true],["HasApprovals",IFCRESOURCEAPPROVALRELATIONSHIP,2,true]],2485617015:[["LayerAssignment",IFCPRESENTATIONLAYERASSIGNMENT,2,true],["StyledByItem",IFCSTYLEDITEM,0,true],["UsingCurves",IFCCOMPOSITECURVE,0,true]],2574617495:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["Types",IFCRELDEFINESBYTYPE,5,true],["ResourceOf",IFCRELASSIGNSTORESOURCE,6,true]],3419103109:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDefinedBy",IFCRELDEFINESBYPROPERTIES,4,true],["Declares",IFCRELDECLARES,4,true]],1815067380:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["Types",IFCRELDEFINESBYTYPE,5,true],["ResourceOf",IFCRELASSIGNSTORESOURCE,6,true]],2506170314:[["LayerAssignment",IFCPRESENTATIONLAYERASSIGNMENT,2,true],["StyledByItem",IFCSTYLEDITEM,0,true]],2147822146:[["LayerAssignment",IFCPRESENTATIONLAYERASSIGNMENT,2,true],["StyledByItem",IFCSTYLEDITEM,0,true]],2601014836:[["LayerAssignment",IFCPRESENTATIONLAYERASSIGNMENT,2,true],["StyledByItem",IFCSTYLEDITEM,0,true]],2827736869:[["LayerAssignment",IFCPRESENTATIONLAYERASSIGNMENT,2,true],["StyledByItem",IFCSTYLEDITEM,0,true]],2629017746:[["LayerAssignment",IFCPRESENTATIONLAYERASSIGNMENT,2,true],["StyledByItem",IFCSTYLEDITEM,0,true]],4212018352:[["LayerAssignment",IFCPRESENTATIONLAYERASSIGNMENT,2,true],["StyledByItem",IFCSTYLEDITEM,0,true],["UsingCurves",IFCCOMPOSITECURVE,0,true]],32440307:[["LayerAssignment",IFCPRESENTATIONLAYERASSIGNMENT,2,true],["StyledByItem",IFCSTYLEDITEM,0,true]],593015953:[["LayerAssignment",IFCPRESENTATIONLAYERASSIGNMENT,2,true],["StyledByItem",IFCSTYLEDITEM,0,true]],1472233963:[["LayerAssignment",IFCPRESENTATIONLAYERASSIGNMENT,2,true],["StyledByItem",IFCSTYLEDITEM,0,true]],1883228015:[["HasContext",IFCRELDECLARES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["DefinesType",IFCTYPEOBJECT,5,true],["IsDefinedBy",IFCRELDEFINESBYTEMPLATE,4,true],["DefinesOccurrence",IFCRELDEFINESBYPROPERTIES,5,true]],339256511:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["Types",IFCRELDEFINESBYTYPE,5,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true]],2777663545:[["LayerAssignment",IFCPRESENTATIONLAYERASSIGNMENT,2,true],["StyledByItem",IFCSTYLEDITEM,0,true]],2835456948:[["HasExternalReference",IFCEXTERNALREFERENCERELATIONSHIP,3,true],["HasProperties",IFCPROFILEPROPERTIES,3,true]],4024345920:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["Types",IFCRELDEFINESBYTYPE,5,true],["OperatesOn",IFCRELASSIGNSTOPROCESS,6,true]],477187591:[["LayerAssignment",IFCPRESENTATIONLAYERASSIGNMENT,2,true],["StyledByItem",IFCSTYLEDITEM,0,true]],2804161546:[["LayerAssignment",IFCPRESENTATIONLAYERASSIGNMENT,2,true],["StyledByItem",IFCSTYLEDITEM,0,true]],2047409740:[["LayerAssignment",IFCPRESENTATIONLAYERASSIGNMENT,2,true],["StyledByItem",IFCSTYLEDITEM,0,true]],374418227:[["LayerAssignment",IFCPRESENTATIONLAYERASSIGNMENT,2,true],["StyledByItem",IFCSTYLEDITEM,0,true]],315944413:[["LayerAssignment",IFCPRESENTATIONLAYERASSIGNMENT,2,true],["StyledByItem",IFCSTYLEDITEM,0,true]],2652556860:[["LayerAssignment",IFCPRESENTATIONLAYERASSIGNMENT,2,true],["StyledByItem",IFCSTYLEDITEM,0,true]],4238390223:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["Types",IFCRELDEFINESBYTYPE,5,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true]],1268542332:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["Types",IFCRELDEFINESBYTYPE,5,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true]],4095422895:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["Types",IFCRELDEFINESBYTYPE,5,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true]],987898635:[["LayerAssignment",IFCPRESENTATIONLAYERASSIGNMENT,2,true],["StyledByItem",IFCSTYLEDITEM,0,true]],1484403080:[["HasExternalReference",IFCEXTERNALREFERENCERELATIONSHIP,3,true],["HasProperties",IFCPROFILEPROPERTIES,3,true]],178912537:[["LayerAssignment",IFCPRESENTATIONLAYERASSIGNMENT,2,true],["StyledByItem",IFCSTYLEDITEM,0,true],["ToFaceSet",IFCPOLYGONALFACESET,2,true],["HasTexCoords",IFCTEXTURECOORDINATEINDICES,1,true]],2294589976:[["LayerAssignment",IFCPRESENTATIONLAYERASSIGNMENT,2,true],["StyledByItem",IFCSTYLEDITEM,0,true],["ToFaceSet",IFCPOLYGONALFACESET,2,true],["HasTexCoords",IFCTEXTURECOORDINATEINDICES,1,true]],572779678:[["HasExternalReference",IFCEXTERNALREFERENCERELATIONSHIP,3,true],["HasProperties",IFCPROFILEPROPERTIES,3,true]],428585644:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["Types",IFCRELDEFINESBYTYPE,5,true],["ResourceOf",IFCRELASSIGNSTORESOURCE,6,true]],1281925730:[["LayerAssignment",IFCPRESENTATIONLAYERASSIGNMENT,2,true],["StyledByItem",IFCSTYLEDITEM,0,true]],1425443689:[["LayerAssignment",IFCPRESENTATIONLAYERASSIGNMENT,2,true],["StyledByItem",IFCSTYLEDITEM,0,true]],3888040117:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDeclaredBy",IFCRELDEFINESBYOBJECT,4,true],["Declares",IFCRELDEFINESBYOBJECT,5,true],["IsTypedBy",IFCRELDEFINESBYTYPE,4,true],["IsDefinedBy",IFCRELDEFINESBYPROPERTIES,4,true]],590820931:[["LayerAssignment",IFCPRESENTATIONLAYERASSIGNMENT,2,true],["StyledByItem",IFCSTYLEDITEM,0,true]],3388369263:[["LayerAssignment",IFCPRESENTATIONLAYERASSIGNMENT,2,true],["StyledByItem",IFCSTYLEDITEM,0,true]],3505215534:[["LayerAssignment",IFCPRESENTATIONLAYERASSIGNMENT,2,true],["StyledByItem",IFCSTYLEDITEM,0,true]],2485787929:[["LayerAssignment",IFCPRESENTATIONLAYERASSIGNMENT,2,true],["StyledByItem",IFCSTYLEDITEM,0,true]],1682466193:[["LayerAssignment",IFCPRESENTATIONLAYERASSIGNMENT,2,true],["StyledByItem",IFCSTYLEDITEM,0,true]],603570806:[["LayerAssignment",IFCPRESENTATIONLAYERASSIGNMENT,2,true],["StyledByItem",IFCSTYLEDITEM,0,true]],220341763:[["LayerAssignment",IFCPRESENTATIONLAYERASSIGNMENT,2,true],["StyledByItem",IFCSTYLEDITEM,0,true]],3381221214:[["LayerAssignment",IFCPRESENTATIONLAYERASSIGNMENT,2,true],["StyledByItem",IFCSTYLEDITEM,0,true]],3967405729:[["HasContext",IFCRELDECLARES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["DefinesType",IFCTYPEOBJECT,5,true],["IsDefinedBy",IFCRELDEFINESBYTEMPLATE,4,true],["DefinesOccurrence",IFCRELDEFINESBYPROPERTIES,5,true]],569719735:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["Types",IFCRELDEFINESBYTYPE,5,true],["OperatesOn",IFCRELASSIGNSTOPROCESS,6,true]],2945172077:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDeclaredBy",IFCRELDEFINESBYOBJECT,4,true],["Declares",IFCRELDEFINESBYOBJECT,5,true],["IsTypedBy",IFCRELDEFINESBYTYPE,4,true],["IsDefinedBy",IFCRELDEFINESBYPROPERTIES,4,true],["IsPredecessorTo",IFCRELSEQUENCE,4,true],["IsSuccessorFrom",IFCRELSEQUENCE,5,true],["OperatesOn",IFCRELASSIGNSTOPROCESS,6,true]],4208778838:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDeclaredBy",IFCRELDEFINESBYOBJECT,4,true],["Declares",IFCRELDEFINESBYOBJECT,5,true],["IsTypedBy",IFCRELDEFINESBYTYPE,4,true],["IsDefinedBy",IFCRELDEFINESBYPROPERTIES,4,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true],["PositionedRelativeTo",IFCRELPOSITIONS,5,true],["ReferencedInStructures",IFCRELREFERENCEDINSPATIALSTRUCTURE,4,true]],103090709:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDefinedBy",IFCRELDEFINESBYPROPERTIES,4,true],["Declares",IFCRELDECLARES,4,true]],653396225:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDefinedBy",IFCRELDEFINESBYPROPERTIES,4,true],["Declares",IFCRELDECLARES,4,true]],871118103:[["HasExternalReferences",IFCEXTERNALREFERENCERELATIONSHIP,3,true],["PartOfPset",IFCPROPERTYSET,4,true],["PropertyForDependance",IFCPROPERTYDEPENDENCYRELATIONSHIP,2,true],["PropertyDependsOn",IFCPROPERTYDEPENDENCYRELATIONSHIP,3,true],["PartOfComplex",IFCCOMPLEXPROPERTY,3,true],["HasConstraints",IFCRESOURCECONSTRAINTRELATIONSHIP,3,true],["HasApprovals",IFCRESOURCEAPPROVALRELATIONSHIP,2,true]],4166981789:[["HasExternalReferences",IFCEXTERNALREFERENCERELATIONSHIP,3,true],["PartOfPset",IFCPROPERTYSET,4,true],["PropertyForDependance",IFCPROPERTYDEPENDENCYRELATIONSHIP,2,true],["PropertyDependsOn",IFCPROPERTYDEPENDENCYRELATIONSHIP,3,true],["PartOfComplex",IFCCOMPLEXPROPERTY,3,true],["HasConstraints",IFCRESOURCECONSTRAINTRELATIONSHIP,3,true],["HasApprovals",IFCRESOURCEAPPROVALRELATIONSHIP,2,true]],2752243245:[["HasExternalReferences",IFCEXTERNALREFERENCERELATIONSHIP,3,true],["PartOfPset",IFCPROPERTYSET,4,true],["PropertyForDependance",IFCPROPERTYDEPENDENCYRELATIONSHIP,2,true],["PropertyDependsOn",IFCPROPERTYDEPENDENCYRELATIONSHIP,3,true],["PartOfComplex",IFCCOMPLEXPROPERTY,3,true],["HasConstraints",IFCRESOURCECONSTRAINTRELATIONSHIP,3,true],["HasApprovals",IFCRESOURCEAPPROVALRELATIONSHIP,2,true]],941946838:[["HasExternalReferences",IFCEXTERNALREFERENCERELATIONSHIP,3,true],["PartOfPset",IFCPROPERTYSET,4,true],["PropertyForDependance",IFCPROPERTYDEPENDENCYRELATIONSHIP,2,true],["PropertyDependsOn",IFCPROPERTYDEPENDENCYRELATIONSHIP,3,true],["PartOfComplex",IFCCOMPLEXPROPERTY,3,true],["HasConstraints",IFCRESOURCECONSTRAINTRELATIONSHIP,3,true],["HasApprovals",IFCRESOURCEAPPROVALRELATIONSHIP,2,true]],1451395588:[["HasContext",IFCRELDECLARES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["DefinesType",IFCTYPEOBJECT,5,true],["IsDefinedBy",IFCRELDEFINESBYTEMPLATE,4,true],["DefinesOccurrence",IFCRELDEFINESBYPROPERTIES,5,true]],492091185:[["HasContext",IFCRELDECLARES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["Defines",IFCRELDEFINESBYTEMPLATE,5,true]],3650150729:[["HasExternalReferences",IFCEXTERNALREFERENCERELATIONSHIP,3,true],["PartOfPset",IFCPROPERTYSET,4,true],["PropertyForDependance",IFCPROPERTYDEPENDENCYRELATIONSHIP,2,true],["PropertyDependsOn",IFCPROPERTYDEPENDENCYRELATIONSHIP,3,true],["PartOfComplex",IFCCOMPLEXPROPERTY,3,true],["HasConstraints",IFCRESOURCECONSTRAINTRELATIONSHIP,3,true],["HasApprovals",IFCRESOURCEAPPROVALRELATIONSHIP,2,true]],110355661:[["HasExternalReferences",IFCEXTERNALREFERENCERELATIONSHIP,3,true],["PartOfPset",IFCPROPERTYSET,4,true],["PropertyForDependance",IFCPROPERTYDEPENDENCYRELATIONSHIP,2,true],["PropertyDependsOn",IFCPROPERTYDEPENDENCYRELATIONSHIP,3,true],["PartOfComplex",IFCCOMPLEXPROPERTY,3,true],["HasConstraints",IFCRESOURCECONSTRAINTRELATIONSHIP,3,true],["HasApprovals",IFCRESOURCEAPPROVALRELATIONSHIP,2,true]],3521284610:[["HasContext",IFCRELDECLARES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["PartOfComplexTemplate",IFCCOMPLEXPROPERTYTEMPLATE,6,true],["PartOfPsetTemplate",IFCPROPERTYSETTEMPLATE,6,true]],2770003689:[["HasExternalReference",IFCEXTERNALREFERENCERELATIONSHIP,3,true],["HasProperties",IFCPROFILEPROPERTIES,3,true]],2798486643:[["LayerAssignment",IFCPRESENTATIONLAYERASSIGNMENT,2,true],["StyledByItem",IFCSTYLEDITEM,0,true]],3454111270:[["LayerAssignment",IFCPRESENTATIONLAYERASSIGNMENT,2,true],["StyledByItem",IFCSTYLEDITEM,0,true]],3765753017:[["HasContext",IFCRELDECLARES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["DefinesType",IFCTYPEOBJECT,5,true],["IsDefinedBy",IFCRELDEFINESBYTEMPLATE,4,true],["DefinesOccurrence",IFCRELDEFINESBYPROPERTIES,5,true]],3523091289:[["InnerBoundaries",IFCRELSPACEBOUNDARY1STLEVEL,9,true]],1521410863:[["InnerBoundaries",IFCRELSPACEBOUNDARY1STLEVEL,9,true],["Corresponds",IFCRELSPACEBOUNDARY2NDLEVEL,10,true]],816062949:[["LayerAssignment",IFCPRESENTATIONLAYERASSIGNMENT,2,true],["StyledByItem",IFCSTYLEDITEM,0,true],["UsingCurves",IFCCOMPOSITECURVE,0,true]],2914609552:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDeclaredBy",IFCRELDEFINESBYOBJECT,4,true],["Declares",IFCRELDEFINESBYOBJECT,5,true],["IsTypedBy",IFCRELDEFINESBYTYPE,4,true],["IsDefinedBy",IFCRELDEFINESBYPROPERTIES,4,true],["ResourceOf",IFCRELASSIGNSTORESOURCE,6,true]],1856042241:[["LayerAssignment",IFCPRESENTATIONLAYERASSIGNMENT,2,true],["StyledByItem",IFCSTYLEDITEM,0,true]],3243963512:[["LayerAssignment",IFCPRESENTATIONLAYERASSIGNMENT,2,true],["StyledByItem",IFCSTYLEDITEM,0,true]],4158566097:[["LayerAssignment",IFCPRESENTATIONLAYERASSIGNMENT,2,true],["StyledByItem",IFCSTYLEDITEM,0,true]],3626867408:[["LayerAssignment",IFCPRESENTATIONLAYERASSIGNMENT,2,true],["StyledByItem",IFCSTYLEDITEM,0,true]],1862484736:[["LayerAssignment",IFCPRESENTATIONLAYERASSIGNMENT,2,true],["StyledByItem",IFCSTYLEDITEM,0,true]],1290935644:[["LayerAssignment",IFCPRESENTATIONLAYERASSIGNMENT,2,true],["StyledByItem",IFCSTYLEDITEM,0,true]],1356537516:[["LayerAssignment",IFCPRESENTATIONLAYERASSIGNMENT,2,true],["StyledByItem",IFCSTYLEDITEM,0,true]],3663146110:[["HasContext",IFCRELDECLARES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["PartOfComplexTemplate",IFCCOMPLEXPROPERTYTEMPLATE,6,true],["PartOfPsetTemplate",IFCPROPERTYSETTEMPLATE,6,true]],1412071761:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDeclaredBy",IFCRELDEFINESBYOBJECT,4,true],["Declares",IFCRELDEFINESBYOBJECT,5,true],["IsTypedBy",IFCRELDEFINESBYTYPE,4,true],["IsDefinedBy",IFCRELDEFINESBYPROPERTIES,4,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true],["PositionedRelativeTo",IFCRELPOSITIONS,5,true],["ReferencedInStructures",IFCRELREFERENCEDINSPATIALSTRUCTURE,4,true],["ContainsElements",IFCRELCONTAINEDINSPATIALSTRUCTURE,5,true],["ServicedBySystems",IFCRELSERVICESBUILDINGS,5,true],["ReferencesElements",IFCRELREFERENCEDINSPATIALSTRUCTURE,5,true],["IsInterferedByElements",IFCRELINTERFERESELEMENTS,5,true],["InterferesElements",IFCRELINTERFERESELEMENTS,4,true]],710998568:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["Types",IFCRELDEFINESBYTYPE,5,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true]],2706606064:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDeclaredBy",IFCRELDEFINESBYOBJECT,4,true],["Declares",IFCRELDEFINESBYOBJECT,5,true],["IsTypedBy",IFCRELDEFINESBYTYPE,4,true],["IsDefinedBy",IFCRELDEFINESBYPROPERTIES,4,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true],["PositionedRelativeTo",IFCRELPOSITIONS,5,true],["ReferencedInStructures",IFCRELREFERENCEDINSPATIALSTRUCTURE,4,true],["ContainsElements",IFCRELCONTAINEDINSPATIALSTRUCTURE,5,true],["ServicedBySystems",IFCRELSERVICESBUILDINGS,5,true],["ReferencesElements",IFCRELREFERENCEDINSPATIALSTRUCTURE,5,true],["IsInterferedByElements",IFCRELINTERFERESELEMENTS,5,true],["InterferesElements",IFCRELINTERFERESELEMENTS,4,true]],3893378262:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["Types",IFCRELDEFINESBYTYPE,5,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true]],463610769:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDeclaredBy",IFCRELDEFINESBYOBJECT,4,true],["Declares",IFCRELDEFINESBYOBJECT,5,true],["IsTypedBy",IFCRELDEFINESBYTYPE,4,true],["IsDefinedBy",IFCRELDEFINESBYPROPERTIES,4,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true],["PositionedRelativeTo",IFCRELPOSITIONS,5,true],["ReferencedInStructures",IFCRELREFERENCEDINSPATIALSTRUCTURE,4,true],["ContainsElements",IFCRELCONTAINEDINSPATIALSTRUCTURE,5,true],["ServicedBySystems",IFCRELSERVICESBUILDINGS,5,true],["ReferencesElements",IFCRELREFERENCEDINSPATIALSTRUCTURE,5,true],["IsInterferedByElements",IFCRELINTERFERESELEMENTS,5,true],["InterferesElements",IFCRELINTERFERESELEMENTS,4,true]],2481509218:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["Types",IFCRELDEFINESBYTYPE,5,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true]],451544542:[["LayerAssignment",IFCPRESENTATIONLAYERASSIGNMENT,2,true],["StyledByItem",IFCSTYLEDITEM,0,true]],4015995234:[["LayerAssignment",IFCPRESENTATIONLAYERASSIGNMENT,2,true],["StyledByItem",IFCSTYLEDITEM,0,true]],2735484536:[["LayerAssignment",IFCPRESENTATIONLAYERASSIGNMENT,2,true],["StyledByItem",IFCSTYLEDITEM,0,true]],3544373492:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDeclaredBy",IFCRELDEFINESBYOBJECT,4,true],["Declares",IFCRELDEFINESBYOBJECT,5,true],["IsTypedBy",IFCRELDEFINESBYTYPE,4,true],["IsDefinedBy",IFCRELDEFINESBYPROPERTIES,4,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true],["PositionedRelativeTo",IFCRELPOSITIONS,5,true],["ReferencedInStructures",IFCRELREFERENCEDINSPATIALSTRUCTURE,4,true],["AssignedToStructuralItem",IFCRELCONNECTSSTRUCTURALACTIVITY,5,true]],3136571912:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDeclaredBy",IFCRELDEFINESBYOBJECT,4,true],["Declares",IFCRELDEFINESBYOBJECT,5,true],["IsTypedBy",IFCRELDEFINESBYTYPE,4,true],["IsDefinedBy",IFCRELDEFINESBYPROPERTIES,4,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true],["PositionedRelativeTo",IFCRELPOSITIONS,5,true],["ReferencedInStructures",IFCRELREFERENCEDINSPATIALSTRUCTURE,4,true],["AssignedStructuralActivity",IFCRELCONNECTSSTRUCTURALACTIVITY,4,true]],530289379:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDeclaredBy",IFCRELDEFINESBYOBJECT,4,true],["Declares",IFCRELDEFINESBYOBJECT,5,true],["IsTypedBy",IFCRELDEFINESBYTYPE,4,true],["IsDefinedBy",IFCRELDEFINESBYPROPERTIES,4,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true],["PositionedRelativeTo",IFCRELPOSITIONS,5,true],["ReferencedInStructures",IFCRELREFERENCEDINSPATIALSTRUCTURE,4,true],["AssignedStructuralActivity",IFCRELCONNECTSSTRUCTURALACTIVITY,4,true],["ConnectedBy",IFCRELCONNECTSSTRUCTURALMEMBER,4,true]],3689010777:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDeclaredBy",IFCRELDEFINESBYOBJECT,4,true],["Declares",IFCRELDEFINESBYOBJECT,5,true],["IsTypedBy",IFCRELDEFINESBYTYPE,4,true],["IsDefinedBy",IFCRELDEFINESBYPROPERTIES,4,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true],["PositionedRelativeTo",IFCRELPOSITIONS,5,true],["ReferencedInStructures",IFCRELREFERENCEDINSPATIALSTRUCTURE,4,true],["AssignedToStructuralItem",IFCRELCONNECTSSTRUCTURALACTIVITY,5,true]],3979015343:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDeclaredBy",IFCRELDEFINESBYOBJECT,4,true],["Declares",IFCRELDEFINESBYOBJECT,5,true],["IsTypedBy",IFCRELDEFINESBYTYPE,4,true],["IsDefinedBy",IFCRELDEFINESBYPROPERTIES,4,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true],["PositionedRelativeTo",IFCRELPOSITIONS,5,true],["ReferencedInStructures",IFCRELREFERENCEDINSPATIALSTRUCTURE,4,true],["AssignedStructuralActivity",IFCRELCONNECTSSTRUCTURALACTIVITY,4,true],["ConnectedBy",IFCRELCONNECTSSTRUCTURALMEMBER,4,true]],2218152070:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDeclaredBy",IFCRELDEFINESBYOBJECT,4,true],["Declares",IFCRELDEFINESBYOBJECT,5,true],["IsTypedBy",IFCRELDEFINESBYTYPE,4,true],["IsDefinedBy",IFCRELDEFINESBYPROPERTIES,4,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true],["PositionedRelativeTo",IFCRELPOSITIONS,5,true],["ReferencedInStructures",IFCRELREFERENCEDINSPATIALSTRUCTURE,4,true],["AssignedStructuralActivity",IFCRELCONNECTSSTRUCTURALACTIVITY,4,true],["ConnectedBy",IFCRELCONNECTSSTRUCTURALMEMBER,4,true]],603775116:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDeclaredBy",IFCRELDEFINESBYOBJECT,4,true],["Declares",IFCRELDEFINESBYOBJECT,5,true],["IsTypedBy",IFCRELDEFINESBYTYPE,4,true],["IsDefinedBy",IFCRELDEFINESBYPROPERTIES,4,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true],["PositionedRelativeTo",IFCRELPOSITIONS,5,true],["ReferencedInStructures",IFCRELREFERENCEDINSPATIALSTRUCTURE,4,true],["AssignedToStructuralItem",IFCRELCONNECTSSTRUCTURALACTIVITY,5,true]],4095615324:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["Types",IFCRELDEFINESBYTYPE,5,true],["ResourceOf",IFCRELASSIGNSTORESOURCE,6,true]],699246055:[["LayerAssignment",IFCPRESENTATIONLAYERASSIGNMENT,2,true],["StyledByItem",IFCSTYLEDITEM,0,true]],2028607225:[["LayerAssignment",IFCPRESENTATIONLAYERASSIGNMENT,2,true],["StyledByItem",IFCSTYLEDITEM,0,true]],2809605785:[["LayerAssignment",IFCPRESENTATIONLAYERASSIGNMENT,2,true],["StyledByItem",IFCSTYLEDITEM,0,true]],4124788165:[["LayerAssignment",IFCPRESENTATIONLAYERASSIGNMENT,2,true],["StyledByItem",IFCSTYLEDITEM,0,true]],1580310250:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["Types",IFCRELDEFINESBYTYPE,5,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true]],3473067441:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDeclaredBy",IFCRELDEFINESBYOBJECT,4,true],["Declares",IFCRELDEFINESBYOBJECT,5,true],["IsTypedBy",IFCRELDEFINESBYTYPE,4,true],["IsDefinedBy",IFCRELDEFINESBYPROPERTIES,4,true],["IsPredecessorTo",IFCRELSEQUENCE,4,true],["IsSuccessorFrom",IFCRELSEQUENCE,5,true],["OperatesOn",IFCRELASSIGNSTOPROCESS,6,true]],3206491090:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["Types",IFCRELDEFINESBYTYPE,5,true],["OperatesOn",IFCRELASSIGNSTOPROCESS,6,true]],2387106220:[["LayerAssignment",IFCPRESENTATIONLAYERASSIGNMENT,2,true],["StyledByItem",IFCSTYLEDITEM,0,true],["HasColours",IFCINDEXEDCOLOURMAP,0,true],["HasTextures",IFCINDEXEDTEXTUREMAP,1,true]],782932809:[["LayerAssignment",IFCPRESENTATIONLAYERASSIGNMENT,2,true],["StyledByItem",IFCSTYLEDITEM,0,true]],1935646853:[["LayerAssignment",IFCPRESENTATIONLAYERASSIGNMENT,2,true],["StyledByItem",IFCSTYLEDITEM,0,true]],3665877780:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["Types",IFCRELDEFINESBYTYPE,5,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true]],2916149573:[["LayerAssignment",IFCPRESENTATIONLAYERASSIGNMENT,2,true],["StyledByItem",IFCSTYLEDITEM,0,true],["HasColours",IFCINDEXEDCOLOURMAP,0,true],["HasTextures",IFCINDEXEDTEXTUREMAP,1,true]],1229763772:[["LayerAssignment",IFCPRESENTATIONLAYERASSIGNMENT,2,true],["StyledByItem",IFCSTYLEDITEM,0,true],["HasColours",IFCINDEXEDCOLOURMAP,0,true],["HasTextures",IFCINDEXEDTEXTUREMAP,1,true]],3651464721:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["Types",IFCRELDEFINESBYTYPE,5,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true]],336235671:[["HasContext",IFCRELDECLARES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["DefinesType",IFCTYPEOBJECT,5,true],["IsDefinedBy",IFCRELDEFINESBYTEMPLATE,4,true],["DefinesOccurrence",IFCRELDEFINESBYPROPERTIES,5,true]],512836454:[["HasContext",IFCRELDECLARES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["DefinesType",IFCTYPEOBJECT,5,true],["IsDefinedBy",IFCRELDEFINESBYTEMPLATE,4,true],["DefinesOccurrence",IFCRELDEFINESBYPROPERTIES,5,true]],2296667514:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDeclaredBy",IFCRELDEFINESBYOBJECT,4,true],["Declares",IFCRELDEFINESBYOBJECT,5,true],["IsTypedBy",IFCRELDEFINESBYTYPE,4,true],["IsDefinedBy",IFCRELDEFINESBYPROPERTIES,4,true],["IsActingUpon",IFCRELASSIGNSTOACTOR,6,true]],1635779807:[["LayerAssignment",IFCPRESENTATIONLAYERASSIGNMENT,2,true],["StyledByItem",IFCSTYLEDITEM,0,true]],2603310189:[["LayerAssignment",IFCPRESENTATIONLAYERASSIGNMENT,2,true],["StyledByItem",IFCSTYLEDITEM,0,true]],1674181508:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDeclaredBy",IFCRELDEFINESBYOBJECT,4,true],["Declares",IFCRELDEFINESBYOBJECT,5,true],["IsTypedBy",IFCRELDEFINESBYTYPE,4,true],["IsDefinedBy",IFCRELDEFINESBYPROPERTIES,4,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true],["PositionedRelativeTo",IFCRELPOSITIONS,5,true],["ReferencedInStructures",IFCRELREFERENCEDINSPATIALSTRUCTURE,4,true],["ContainedInStructure",IFCRELCONTAINEDINSPATIALSTRUCTURE,4,true]],2887950389:[["LayerAssignment",IFCPRESENTATIONLAYERASSIGNMENT,2,true],["StyledByItem",IFCSTYLEDITEM,0,true]],167062518:[["LayerAssignment",IFCPRESENTATIONLAYERASSIGNMENT,2,true],["StyledByItem",IFCSTYLEDITEM,0,true]],1334484129:[["LayerAssignment",IFCPRESENTATIONLAYERASSIGNMENT,2,true],["StyledByItem",IFCSTYLEDITEM,0,true]],3649129432:[["LayerAssignment",IFCPRESENTATIONLAYERASSIGNMENT,2,true],["StyledByItem",IFCSTYLEDITEM,0,true]],1260505505:[["LayerAssignment",IFCPRESENTATIONLAYERASSIGNMENT,2,true],["StyledByItem",IFCSTYLEDITEM,0,true]],3124254112:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDeclaredBy",IFCRELDEFINESBYOBJECT,4,true],["Declares",IFCRELDEFINESBYOBJECT,5,true],["IsTypedBy",IFCRELDEFINESBYTYPE,4,true],["IsDefinedBy",IFCRELDEFINESBYPROPERTIES,4,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true],["PositionedRelativeTo",IFCRELPOSITIONS,5,true],["ReferencedInStructures",IFCRELREFERENCEDINSPATIALSTRUCTURE,4,true],["ContainsElements",IFCRELCONTAINEDINSPATIALSTRUCTURE,5,true],["ServicedBySystems",IFCRELSERVICESBUILDINGS,5,true],["ReferencesElements",IFCRELREFERENCEDINSPATIALSTRUCTURE,5,true],["IsInterferedByElements",IFCRELINTERFERESELEMENTS,5,true],["InterferesElements",IFCRELINTERFERESELEMENTS,4,true]],1626504194:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["Types",IFCRELDEFINESBYTYPE,5,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true]],2197970202:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["Types",IFCRELDEFINESBYTYPE,5,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true]],2937912522:[["HasExternalReference",IFCEXTERNALREFERENCERELATIONSHIP,3,true],["HasProperties",IFCPROFILEPROPERTIES,3,true]],3893394355:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["Types",IFCRELDEFINESBYTYPE,5,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true]],3497074424:[["LayerAssignment",IFCPRESENTATIONLAYERASSIGNMENT,2,true],["StyledByItem",IFCSTYLEDITEM,0,true]],300633059:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["Types",IFCRELDEFINESBYTYPE,5,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true]],3875453745:[["HasContext",IFCRELDECLARES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["PartOfComplexTemplate",IFCCOMPLEXPROPERTYTEMPLATE,6,true],["PartOfPsetTemplate",IFCPROPERTYSETTEMPLATE,6,true]],3732776249:[["LayerAssignment",IFCPRESENTATIONLAYERASSIGNMENT,2,true],["StyledByItem",IFCSTYLEDITEM,0,true]],15328376:[["LayerAssignment",IFCPRESENTATIONLAYERASSIGNMENT,2,true],["StyledByItem",IFCSTYLEDITEM,0,true]],2510884976:[["LayerAssignment",IFCPRESENTATIONLAYERASSIGNMENT,2,true],["StyledByItem",IFCSTYLEDITEM,0,true]],2185764099:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["Types",IFCRELDEFINESBYTYPE,5,true],["ResourceOf",IFCRELASSIGNSTORESOURCE,6,true]],4105962743:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["Types",IFCRELDEFINESBYTYPE,5,true],["ResourceOf",IFCRELASSIGNSTORESOURCE,6,true]],1525564444:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["Types",IFCRELDEFINESBYTYPE,5,true],["ResourceOf",IFCRELASSIGNSTORESOURCE,6,true]],2559216714:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDeclaredBy",IFCRELDEFINESBYOBJECT,4,true],["Declares",IFCRELDEFINESBYOBJECT,5,true],["IsTypedBy",IFCRELDEFINESBYTYPE,4,true],["IsDefinedBy",IFCRELDEFINESBYPROPERTIES,4,true],["ResourceOf",IFCRELASSIGNSTORESOURCE,6,true]],3293443760:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDeclaredBy",IFCRELDEFINESBYOBJECT,4,true],["Declares",IFCRELDEFINESBYOBJECT,5,true],["IsTypedBy",IFCRELDEFINESBYTYPE,4,true],["IsDefinedBy",IFCRELDEFINESBYPROPERTIES,4,true],["Controls",IFCRELASSIGNSTOCONTROL,6,true]],2000195564:[["LayerAssignment",IFCPRESENTATIONLAYERASSIGNMENT,2,true],["StyledByItem",IFCSTYLEDITEM,0,true]],3895139033:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDeclaredBy",IFCRELDEFINESBYOBJECT,4,true],["Declares",IFCRELDEFINESBYOBJECT,5,true],["IsTypedBy",IFCRELDEFINESBYTYPE,4,true],["IsDefinedBy",IFCRELDEFINESBYPROPERTIES,4,true],["Controls",IFCRELASSIGNSTOCONTROL,6,true]],1419761937:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDeclaredBy",IFCRELDEFINESBYOBJECT,4,true],["Declares",IFCRELDEFINESBYOBJECT,5,true],["IsTypedBy",IFCRELDEFINESBYTYPE,4,true],["IsDefinedBy",IFCRELDEFINESBYPROPERTIES,4,true],["Controls",IFCRELASSIGNSTOCONTROL,6,true]],4189326743:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["Types",IFCRELDEFINESBYTYPE,5,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true]],1916426348:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["Types",IFCRELDEFINESBYTYPE,5,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true]],3295246426:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDeclaredBy",IFCRELDEFINESBYOBJECT,4,true],["Declares",IFCRELDEFINESBYOBJECT,5,true],["IsTypedBy",IFCRELDEFINESBYTYPE,4,true],["IsDefinedBy",IFCRELDEFINESBYPROPERTIES,4,true],["ResourceOf",IFCRELASSIGNSTORESOURCE,6,true]],1457835157:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["Types",IFCRELDEFINESBYTYPE,5,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true]],1213902940:[["LayerAssignment",IFCPRESENTATIONLAYERASSIGNMENT,2,true],["StyledByItem",IFCSTYLEDITEM,0,true]],1306400036:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["Types",IFCRELDEFINESBYTYPE,5,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true]],4234616927:[["LayerAssignment",IFCPRESENTATIONLAYERASSIGNMENT,2,true],["StyledByItem",IFCSTYLEDITEM,0,true]],3256556792:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["Types",IFCRELDEFINESBYTYPE,5,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true]],3849074793:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["Types",IFCRELDEFINESBYTYPE,5,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true]],2963535650:[["HasContext",IFCRELDECLARES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["DefinesType",IFCTYPEOBJECT,5,true],["IsDefinedBy",IFCRELDEFINESBYTEMPLATE,4,true],["DefinesOccurrence",IFCRELDEFINESBYPROPERTIES,5,true]],1714330368:[["HasContext",IFCRELDECLARES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["DefinesType",IFCTYPEOBJECT,5,true],["IsDefinedBy",IFCRELDEFINESBYTEMPLATE,4,true],["DefinesOccurrence",IFCRELDEFINESBYPROPERTIES,5,true]],2323601079:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["Types",IFCRELDEFINESBYTYPE,5,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true]],1758889154:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDeclaredBy",IFCRELDEFINESBYOBJECT,4,true],["Declares",IFCRELDEFINESBYOBJECT,5,true],["IsTypedBy",IFCRELDEFINESBYTYPE,4,true],["IsDefinedBy",IFCRELDEFINESBYPROPERTIES,4,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true],["PositionedRelativeTo",IFCRELPOSITIONS,5,true],["ReferencedInStructures",IFCRELREFERENCEDINSPATIALSTRUCTURE,4,true],["FillsVoids",IFCRELFILLSELEMENT,5,true],["ConnectedTo",IFCRELCONNECTSELEMENTS,5,true],["IsInterferedByElements",IFCRELINTERFERESELEMENTS,5,true],["InterferesElements",IFCRELINTERFERESELEMENTS,4,true],["HasProjections",IFCRELPROJECTSELEMENT,4,true],["HasOpenings",IFCRELVOIDSELEMENT,4,true],["IsConnectionRealization",IFCRELCONNECTSWITHREALIZINGELEMENTS,7,true],["ProvidesBoundaries",IFCRELSPACEBOUNDARY,5,true],["ConnectedFrom",IFCRELCONNECTSELEMENTS,6,true],["ContainedInStructure",IFCRELCONTAINEDINSPATIALSTRUCTURE,4,true],["HasCoverings",IFCRELCOVERSBLDGELEMENTS,4,true],["HasSurfaceFeatures",IFCRELADHERESTOELEMENT,4,true]],4123344466:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDeclaredBy",IFCRELDEFINESBYOBJECT,4,true],["Declares",IFCRELDEFINESBYOBJECT,5,true],["IsTypedBy",IFCRELDEFINESBYTYPE,4,true],["IsDefinedBy",IFCRELDEFINESBYPROPERTIES,4,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true],["PositionedRelativeTo",IFCRELPOSITIONS,5,true],["ReferencedInStructures",IFCRELREFERENCEDINSPATIALSTRUCTURE,4,true],["FillsVoids",IFCRELFILLSELEMENT,5,true],["ConnectedTo",IFCRELCONNECTSELEMENTS,5,true],["IsInterferedByElements",IFCRELINTERFERESELEMENTS,5,true],["InterferesElements",IFCRELINTERFERESELEMENTS,4,true],["HasProjections",IFCRELPROJECTSELEMENT,4,true],["HasOpenings",IFCRELVOIDSELEMENT,4,true],["IsConnectionRealization",IFCRELCONNECTSWITHREALIZINGELEMENTS,7,true],["ProvidesBoundaries",IFCRELSPACEBOUNDARY,5,true],["ConnectedFrom",IFCRELCONNECTSELEMENTS,6,true],["ContainedInStructure",IFCRELCONTAINEDINSPATIALSTRUCTURE,4,true],["HasCoverings",IFCRELCOVERSBLDGELEMENTS,4,true],["HasSurfaceFeatures",IFCRELADHERESTOELEMENT,4,true]],2397081782:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["Types",IFCRELDEFINESBYTYPE,5,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true]],1623761950:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDeclaredBy",IFCRELDEFINESBYOBJECT,4,true],["Declares",IFCRELDEFINESBYOBJECT,5,true],["IsTypedBy",IFCRELDEFINESBYTYPE,4,true],["IsDefinedBy",IFCRELDEFINESBYPROPERTIES,4,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true],["PositionedRelativeTo",IFCRELPOSITIONS,5,true],["ReferencedInStructures",IFCRELREFERENCEDINSPATIALSTRUCTURE,4,true],["FillsVoids",IFCRELFILLSELEMENT,5,true],["ConnectedTo",IFCRELCONNECTSELEMENTS,5,true],["IsInterferedByElements",IFCRELINTERFERESELEMENTS,5,true],["InterferesElements",IFCRELINTERFERESELEMENTS,4,true],["HasProjections",IFCRELPROJECTSELEMENT,4,true],["HasOpenings",IFCRELVOIDSELEMENT,4,true],["IsConnectionRealization",IFCRELCONNECTSWITHREALIZINGELEMENTS,7,true],["ProvidesBoundaries",IFCRELSPACEBOUNDARY,5,true],["ConnectedFrom",IFCRELCONNECTSELEMENTS,6,true],["ContainedInStructure",IFCRELCONTAINEDINSPATIALSTRUCTURE,4,true],["HasCoverings",IFCRELCOVERSBLDGELEMENTS,4,true],["HasSurfaceFeatures",IFCRELADHERESTOELEMENT,4,true]],2590856083:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["Types",IFCRELDEFINESBYTYPE,5,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true]],1704287377:[["LayerAssignment",IFCPRESENTATIONLAYERASSIGNMENT,2,true],["StyledByItem",IFCSTYLEDITEM,0,true]],2107101300:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["Types",IFCRELDEFINESBYTYPE,5,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true]],132023988:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["Types",IFCRELDEFINESBYTYPE,5,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true]],3174744832:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["Types",IFCRELDEFINESBYTYPE,5,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true]],3390157468:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["Types",IFCRELDEFINESBYTYPE,5,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true]],4148101412:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDeclaredBy",IFCRELDEFINESBYOBJECT,4,true],["Declares",IFCRELDEFINESBYOBJECT,5,true],["IsTypedBy",IFCRELDEFINESBYTYPE,4,true],["IsDefinedBy",IFCRELDEFINESBYPROPERTIES,4,true],["IsPredecessorTo",IFCRELSEQUENCE,4,true],["IsSuccessorFrom",IFCRELSEQUENCE,5,true],["OperatesOn",IFCRELASSIGNSTOPROCESS,6,true]],2853485674:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDeclaredBy",IFCRELDEFINESBYOBJECT,4,true],["Declares",IFCRELDEFINESBYOBJECT,5,true],["IsTypedBy",IFCRELDEFINESBYTYPE,4,true],["IsDefinedBy",IFCRELDEFINESBYPROPERTIES,4,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true],["PositionedRelativeTo",IFCRELPOSITIONS,5,true],["ReferencedInStructures",IFCRELREFERENCEDINSPATIALSTRUCTURE,4,true],["ContainsElements",IFCRELCONTAINEDINSPATIALSTRUCTURE,5,true],["ServicedBySystems",IFCRELSERVICESBUILDINGS,5,true],["ReferencesElements",IFCRELREFERENCEDINSPATIALSTRUCTURE,5,true],["IsInterferedByElements",IFCRELINTERFERESELEMENTS,5,true],["InterferesElements",IFCRELINTERFERESELEMENTS,4,true]],807026263:[["LayerAssignment",IFCPRESENTATIONLAYERASSIGNMENT,2,true],["StyledByItem",IFCSTYLEDITEM,0,true]],3737207727:[["LayerAssignment",IFCPRESENTATIONLAYERASSIGNMENT,2,true],["StyledByItem",IFCSTYLEDITEM,0,true]],24185140:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDeclaredBy",IFCRELDEFINESBYOBJECT,4,true],["Declares",IFCRELDEFINESBYOBJECT,5,true],["IsTypedBy",IFCRELDEFINESBYTYPE,4,true],["IsDefinedBy",IFCRELDEFINESBYPROPERTIES,4,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true],["PositionedRelativeTo",IFCRELPOSITIONS,5,true],["ReferencedInStructures",IFCRELREFERENCEDINSPATIALSTRUCTURE,4,true],["ContainsElements",IFCRELCONTAINEDINSPATIALSTRUCTURE,5,true],["ServicedBySystems",IFCRELSERVICESBUILDINGS,5,true],["ReferencesElements",IFCRELREFERENCEDINSPATIALSTRUCTURE,5,true],["IsInterferedByElements",IFCRELINTERFERESELEMENTS,5,true],["InterferesElements",IFCRELINTERFERESELEMENTS,4,true]],1310830890:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDeclaredBy",IFCRELDEFINESBYOBJECT,4,true],["Declares",IFCRELDEFINESBYOBJECT,5,true],["IsTypedBy",IFCRELDEFINESBYTYPE,4,true],["IsDefinedBy",IFCRELDEFINESBYPROPERTIES,4,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true],["PositionedRelativeTo",IFCRELPOSITIONS,5,true],["ReferencedInStructures",IFCRELREFERENCEDINSPATIALSTRUCTURE,4,true],["ContainsElements",IFCRELCONTAINEDINSPATIALSTRUCTURE,5,true],["ServicedBySystems",IFCRELSERVICESBUILDINGS,5,true],["ReferencesElements",IFCRELREFERENCEDINSPATIALSTRUCTURE,5,true],["IsInterferedByElements",IFCRELINTERFERESELEMENTS,5,true],["InterferesElements",IFCRELINTERFERESELEMENTS,4,true]],4228831410:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDeclaredBy",IFCRELDEFINESBYOBJECT,4,true],["Declares",IFCRELDEFINESBYOBJECT,5,true],["IsTypedBy",IFCRELDEFINESBYTYPE,4,true],["IsDefinedBy",IFCRELDEFINESBYPROPERTIES,4,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true],["PositionedRelativeTo",IFCRELPOSITIONS,5,true],["ReferencedInStructures",IFCRELREFERENCEDINSPATIALSTRUCTURE,4,true],["ContainsElements",IFCRELCONTAINEDINSPATIALSTRUCTURE,5,true],["ServicedBySystems",IFCRELSERVICESBUILDINGS,5,true],["ReferencesElements",IFCRELREFERENCEDINSPATIALSTRUCTURE,5,true],["IsInterferedByElements",IFCRELINTERFERESELEMENTS,5,true],["InterferesElements",IFCRELINTERFERESELEMENTS,4,true]],647756555:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDeclaredBy",IFCRELDEFINESBYOBJECT,4,true],["Declares",IFCRELDEFINESBYOBJECT,5,true],["IsTypedBy",IFCRELDEFINESBYTYPE,4,true],["IsDefinedBy",IFCRELDEFINESBYPROPERTIES,4,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true],["PositionedRelativeTo",IFCRELPOSITIONS,5,true],["ReferencedInStructures",IFCRELREFERENCEDINSPATIALSTRUCTURE,4,true],["FillsVoids",IFCRELFILLSELEMENT,5,true],["ConnectedTo",IFCRELCONNECTSELEMENTS,5,true],["IsInterferedByElements",IFCRELINTERFERESELEMENTS,5,true],["InterferesElements",IFCRELINTERFERESELEMENTS,4,true],["HasProjections",IFCRELPROJECTSELEMENT,4,true],["HasOpenings",IFCRELVOIDSELEMENT,4,true],["IsConnectionRealization",IFCRELCONNECTSWITHREALIZINGELEMENTS,7,true],["ProvidesBoundaries",IFCRELSPACEBOUNDARY,5,true],["ConnectedFrom",IFCRELCONNECTSELEMENTS,6,true],["ContainedInStructure",IFCRELCONTAINEDINSPATIALSTRUCTURE,4,true],["HasCoverings",IFCRELCOVERSBLDGELEMENTS,4,true],["HasSurfaceFeatures",IFCRELADHERESTOELEMENT,4,true]],2489546625:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["Types",IFCRELDEFINESBYTYPE,5,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true]],2827207264:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDeclaredBy",IFCRELDEFINESBYOBJECT,4,true],["Declares",IFCRELDEFINESBYOBJECT,5,true],["IsTypedBy",IFCRELDEFINESBYTYPE,4,true],["IsDefinedBy",IFCRELDEFINESBYPROPERTIES,4,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true],["PositionedRelativeTo",IFCRELPOSITIONS,5,true],["ReferencedInStructures",IFCRELREFERENCEDINSPATIALSTRUCTURE,4,true],["FillsVoids",IFCRELFILLSELEMENT,5,true],["ConnectedTo",IFCRELCONNECTSELEMENTS,5,true],["IsInterferedByElements",IFCRELINTERFERESELEMENTS,5,true],["InterferesElements",IFCRELINTERFERESELEMENTS,4,true],["HasProjections",IFCRELPROJECTSELEMENT,4,true],["HasOpenings",IFCRELVOIDSELEMENT,4,true],["IsConnectionRealization",IFCRELCONNECTSWITHREALIZINGELEMENTS,7,true],["ProvidesBoundaries",IFCRELSPACEBOUNDARY,5,true],["ConnectedFrom",IFCRELCONNECTSELEMENTS,6,true],["ContainedInStructure",IFCRELCONTAINEDINSPATIALSTRUCTURE,4,true],["HasCoverings",IFCRELCOVERSBLDGELEMENTS,4,true],["HasSurfaceFeatures",IFCRELADHERESTOELEMENT,4,true]],2143335405:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDeclaredBy",IFCRELDEFINESBYOBJECT,4,true],["Declares",IFCRELDEFINESBYOBJECT,5,true],["IsTypedBy",IFCRELDEFINESBYTYPE,4,true],["IsDefinedBy",IFCRELDEFINESBYPROPERTIES,4,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true],["PositionedRelativeTo",IFCRELPOSITIONS,5,true],["ReferencedInStructures",IFCRELREFERENCEDINSPATIALSTRUCTURE,4,true],["FillsVoids",IFCRELFILLSELEMENT,5,true],["ConnectedTo",IFCRELCONNECTSELEMENTS,5,true],["IsInterferedByElements",IFCRELINTERFERESELEMENTS,5,true],["InterferesElements",IFCRELINTERFERESELEMENTS,4,true],["HasProjections",IFCRELPROJECTSELEMENT,4,true],["HasOpenings",IFCRELVOIDSELEMENT,4,true],["IsConnectionRealization",IFCRELCONNECTSWITHREALIZINGELEMENTS,7,true],["ProvidesBoundaries",IFCRELSPACEBOUNDARY,5,true],["ConnectedFrom",IFCRELCONNECTSELEMENTS,6,true],["ContainedInStructure",IFCRELCONTAINEDINSPATIALSTRUCTURE,4,true],["HasCoverings",IFCRELCOVERSBLDGELEMENTS,4,true],["HasSurfaceFeatures",IFCRELADHERESTOELEMENT,4,true],["ProjectsElements",IFCRELPROJECTSELEMENT,5,false]],1287392070:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDeclaredBy",IFCRELDEFINESBYOBJECT,4,true],["Declares",IFCRELDEFINESBYOBJECT,5,true],["IsTypedBy",IFCRELDEFINESBYTYPE,4,true],["IsDefinedBy",IFCRELDEFINESBYPROPERTIES,4,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true],["PositionedRelativeTo",IFCRELPOSITIONS,5,true],["ReferencedInStructures",IFCRELREFERENCEDINSPATIALSTRUCTURE,4,true],["FillsVoids",IFCRELFILLSELEMENT,5,true],["ConnectedTo",IFCRELCONNECTSELEMENTS,5,true],["IsInterferedByElements",IFCRELINTERFERESELEMENTS,5,true],["InterferesElements",IFCRELINTERFERESELEMENTS,4,true],["HasProjections",IFCRELPROJECTSELEMENT,4,true],["HasOpenings",IFCRELVOIDSELEMENT,4,true],["IsConnectionRealization",IFCRELCONNECTSWITHREALIZINGELEMENTS,7,true],["ProvidesBoundaries",IFCRELSPACEBOUNDARY,5,true],["ConnectedFrom",IFCRELCONNECTSELEMENTS,6,true],["ContainedInStructure",IFCRELCONTAINEDINSPATIALSTRUCTURE,4,true],["HasCoverings",IFCRELCOVERSBLDGELEMENTS,4,true],["HasSurfaceFeatures",IFCRELADHERESTOELEMENT,4,true],["VoidsElements",IFCRELVOIDSELEMENT,5,false]],3907093117:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["Types",IFCRELDEFINESBYTYPE,5,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true]],3198132628:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["Types",IFCRELDEFINESBYTYPE,5,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true]],3815607619:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["Types",IFCRELDEFINESBYTYPE,5,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true]],1482959167:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["Types",IFCRELDEFINESBYTYPE,5,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true]],1834744321:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["Types",IFCRELDEFINESBYTYPE,5,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true]],1339347760:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["Types",IFCRELDEFINESBYTYPE,5,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true]],2297155007:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["Types",IFCRELDEFINESBYTYPE,5,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true]],3009222698:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["Types",IFCRELDEFINESBYTYPE,5,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true]],1893162501:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["Types",IFCRELDEFINESBYTYPE,5,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true]],263784265:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDeclaredBy",IFCRELDEFINESBYOBJECT,4,true],["Declares",IFCRELDEFINESBYOBJECT,5,true],["IsTypedBy",IFCRELDEFINESBYTYPE,4,true],["IsDefinedBy",IFCRELDEFINESBYPROPERTIES,4,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true],["PositionedRelativeTo",IFCRELPOSITIONS,5,true],["ReferencedInStructures",IFCRELREFERENCEDINSPATIALSTRUCTURE,4,true],["FillsVoids",IFCRELFILLSELEMENT,5,true],["ConnectedTo",IFCRELCONNECTSELEMENTS,5,true],["IsInterferedByElements",IFCRELINTERFERESELEMENTS,5,true],["InterferesElements",IFCRELINTERFERESELEMENTS,4,true],["HasProjections",IFCRELPROJECTSELEMENT,4,true],["HasOpenings",IFCRELVOIDSELEMENT,4,true],["IsConnectionRealization",IFCRELCONNECTSWITHREALIZINGELEMENTS,7,true],["ProvidesBoundaries",IFCRELSPACEBOUNDARY,5,true],["ConnectedFrom",IFCRELCONNECTSELEMENTS,6,true],["ContainedInStructure",IFCRELCONTAINEDINSPATIALSTRUCTURE,4,true],["HasCoverings",IFCRELCOVERSBLDGELEMENTS,4,true],["HasSurfaceFeatures",IFCRELADHERESTOELEMENT,4,true]],1509553395:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDeclaredBy",IFCRELDEFINESBYOBJECT,4,true],["Declares",IFCRELDEFINESBYOBJECT,5,true],["IsTypedBy",IFCRELDEFINESBYTYPE,4,true],["IsDefinedBy",IFCRELDEFINESBYPROPERTIES,4,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true],["PositionedRelativeTo",IFCRELPOSITIONS,5,true],["ReferencedInStructures",IFCRELREFERENCEDINSPATIALSTRUCTURE,4,true],["FillsVoids",IFCRELFILLSELEMENT,5,true],["ConnectedTo",IFCRELCONNECTSELEMENTS,5,true],["IsInterferedByElements",IFCRELINTERFERESELEMENTS,5,true],["InterferesElements",IFCRELINTERFERESELEMENTS,4,true],["HasProjections",IFCRELPROJECTSELEMENT,4,true],["HasOpenings",IFCRELVOIDSELEMENT,4,true],["IsConnectionRealization",IFCRELCONNECTSWITHREALIZINGELEMENTS,7,true],["ProvidesBoundaries",IFCRELSPACEBOUNDARY,5,true],["ConnectedFrom",IFCRELCONNECTSELEMENTS,6,true],["ContainedInStructure",IFCRELCONTAINEDINSPATIALSTRUCTURE,4,true],["HasCoverings",IFCRELCOVERSBLDGELEMENTS,4,true],["HasSurfaceFeatures",IFCRELADHERESTOELEMENT,4,true]],3493046030:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDeclaredBy",IFCRELDEFINESBYOBJECT,4,true],["Declares",IFCRELDEFINESBYOBJECT,5,true],["IsTypedBy",IFCRELDEFINESBYTYPE,4,true],["IsDefinedBy",IFCRELDEFINESBYPROPERTIES,4,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true],["PositionedRelativeTo",IFCRELPOSITIONS,5,true],["ReferencedInStructures",IFCRELREFERENCEDINSPATIALSTRUCTURE,4,true],["FillsVoids",IFCRELFILLSELEMENT,5,true],["ConnectedTo",IFCRELCONNECTSELEMENTS,5,true],["IsInterferedByElements",IFCRELINTERFERESELEMENTS,5,true],["InterferesElements",IFCRELINTERFERESELEMENTS,4,true],["HasProjections",IFCRELPROJECTSELEMENT,4,true],["HasOpenings",IFCRELVOIDSELEMENT,4,true],["IsConnectionRealization",IFCRELCONNECTSWITHREALIZINGELEMENTS,7,true],["ProvidesBoundaries",IFCRELSPACEBOUNDARY,5,true],["ConnectedFrom",IFCRELCONNECTSELEMENTS,6,true],["ContainedInStructure",IFCRELCONTAINEDINSPATIALSTRUCTURE,4,true],["HasCoverings",IFCRELCOVERSBLDGELEMENTS,4,true],["HasSurfaceFeatures",IFCRELADHERESTOELEMENT,4,true]],4230923436:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDeclaredBy",IFCRELDEFINESBYOBJECT,4,true],["Declares",IFCRELDEFINESBYOBJECT,5,true],["IsTypedBy",IFCRELDEFINESBYTYPE,4,true],["IsDefinedBy",IFCRELDEFINESBYPROPERTIES,4,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true],["PositionedRelativeTo",IFCRELPOSITIONS,5,true],["ReferencedInStructures",IFCRELREFERENCEDINSPATIALSTRUCTURE,4,true],["FillsVoids",IFCRELFILLSELEMENT,5,true],["ConnectedTo",IFCRELCONNECTSELEMENTS,5,true],["IsInterferedByElements",IFCRELINTERFERESELEMENTS,5,true],["InterferesElements",IFCRELINTERFERESELEMENTS,4,true],["HasProjections",IFCRELPROJECTSELEMENT,4,true],["HasOpenings",IFCRELVOIDSELEMENT,4,true],["IsConnectionRealization",IFCRELCONNECTSWITHREALIZINGELEMENTS,7,true],["ProvidesBoundaries",IFCRELSPACEBOUNDARY,5,true],["ConnectedFrom",IFCRELCONNECTSELEMENTS,6,true],["ContainedInStructure",IFCRELCONTAINEDINSPATIALSTRUCTURE,4,true],["HasCoverings",IFCRELCOVERSBLDGELEMENTS,4,true],["HasSurfaceFeatures",IFCRELADHERESTOELEMENT,4,true]],1594536857:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDeclaredBy",IFCRELDEFINESBYOBJECT,4,true],["Declares",IFCRELDEFINESBYOBJECT,5,true],["IsTypedBy",IFCRELDEFINESBYTYPE,4,true],["IsDefinedBy",IFCRELDEFINESBYPROPERTIES,4,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true],["PositionedRelativeTo",IFCRELPOSITIONS,5,true],["ReferencedInStructures",IFCRELREFERENCEDINSPATIALSTRUCTURE,4,true],["FillsVoids",IFCRELFILLSELEMENT,5,true],["ConnectedTo",IFCRELCONNECTSELEMENTS,5,true],["IsInterferedByElements",IFCRELINTERFERESELEMENTS,5,true],["InterferesElements",IFCRELINTERFERESELEMENTS,4,true],["HasProjections",IFCRELPROJECTSELEMENT,4,true],["HasOpenings",IFCRELVOIDSELEMENT,4,true],["IsConnectionRealization",IFCRELCONNECTSWITHREALIZINGELEMENTS,7,true],["ProvidesBoundaries",IFCRELSPACEBOUNDARY,5,true],["ConnectedFrom",IFCRELCONNECTSELEMENTS,6,true],["ContainedInStructure",IFCRELCONTAINEDINSPATIALSTRUCTURE,4,true],["HasCoverings",IFCRELCOVERSBLDGELEMENTS,4,true],["HasSurfaceFeatures",IFCRELADHERESTOELEMENT,4,true]],2898700619:[["LayerAssignment",IFCPRESENTATIONLAYERASSIGNMENT,2,true],["StyledByItem",IFCSTYLEDITEM,0,true]],2706460486:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDeclaredBy",IFCRELDEFINESBYOBJECT,4,true],["Declares",IFCRELDEFINESBYOBJECT,5,true],["IsTypedBy",IFCRELDEFINESBYTYPE,4,true],["IsDefinedBy",IFCRELDEFINESBYPROPERTIES,4,true],["IsGroupedBy",IFCRELASSIGNSTOGROUP,6,true],["ReferencedInStructures",IFCRELREFERENCEDINSPATIALSTRUCTURE,4,true]],1251058090:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["Types",IFCRELDEFINESBYTYPE,5,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true]],1806887404:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["Types",IFCRELDEFINESBYTYPE,5,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true]],2568555532:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDeclaredBy",IFCRELDEFINESBYOBJECT,4,true],["Declares",IFCRELDEFINESBYOBJECT,5,true],["IsTypedBy",IFCRELDEFINESBYTYPE,4,true],["IsDefinedBy",IFCRELDEFINESBYPROPERTIES,4,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true],["PositionedRelativeTo",IFCRELPOSITIONS,5,true],["ReferencedInStructures",IFCRELREFERENCEDINSPATIALSTRUCTURE,4,true],["FillsVoids",IFCRELFILLSELEMENT,5,true],["ConnectedTo",IFCRELCONNECTSELEMENTS,5,true],["IsInterferedByElements",IFCRELINTERFERESELEMENTS,5,true],["InterferesElements",IFCRELINTERFERESELEMENTS,4,true],["HasProjections",IFCRELPROJECTSELEMENT,4,true],["HasOpenings",IFCRELVOIDSELEMENT,4,true],["IsConnectionRealization",IFCRELCONNECTSWITHREALIZINGELEMENTS,7,true],["ProvidesBoundaries",IFCRELSPACEBOUNDARY,5,true],["ConnectedFrom",IFCRELCONNECTSELEMENTS,6,true],["ContainedInStructure",IFCRELCONTAINEDINSPATIALSTRUCTURE,4,true],["HasCoverings",IFCRELCOVERSBLDGELEMENTS,4,true],["HasSurfaceFeatures",IFCRELADHERESTOELEMENT,4,true]],3948183225:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["Types",IFCRELDEFINESBYTYPE,5,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true]],2571569899:[["LayerAssignment",IFCPRESENTATIONLAYERASSIGNMENT,2,true],["StyledByItem",IFCSTYLEDITEM,0,true]],3946677679:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["Types",IFCRELDEFINESBYTYPE,5,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true]],3113134337:[["LayerAssignment",IFCPRESENTATIONLAYERASSIGNMENT,2,true],["StyledByItem",IFCSTYLEDITEM,0,true]],2391368822:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDeclaredBy",IFCRELDEFINESBYOBJECT,4,true],["Declares",IFCRELDEFINESBYOBJECT,5,true],["IsTypedBy",IFCRELDEFINESBYTYPE,4,true],["IsDefinedBy",IFCRELDEFINESBYPROPERTIES,4,true],["IsGroupedBy",IFCRELASSIGNSTOGROUP,6,true],["ReferencedInStructures",IFCRELREFERENCEDINSPATIALSTRUCTURE,4,true]],4288270099:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["Types",IFCRELDEFINESBYTYPE,5,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true]],679976338:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["Types",IFCRELDEFINESBYTYPE,5,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true]],3827777499:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDeclaredBy",IFCRELDEFINESBYOBJECT,4,true],["Declares",IFCRELDEFINESBYOBJECT,5,true],["IsTypedBy",IFCRELDEFINESBYTYPE,4,true],["IsDefinedBy",IFCRELDEFINESBYPROPERTIES,4,true],["ResourceOf",IFCRELASSIGNSTORESOURCE,6,true]],1051575348:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["Types",IFCRELDEFINESBYTYPE,5,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true]],1161773419:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["Types",IFCRELDEFINESBYTYPE,5,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true]],2176059722:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDeclaredBy",IFCRELDEFINESBYOBJECT,4,true],["Declares",IFCRELDEFINESBYOBJECT,5,true],["IsTypedBy",IFCRELDEFINESBYTYPE,4,true],["IsDefinedBy",IFCRELDEFINESBYPROPERTIES,4,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true],["PositionedRelativeTo",IFCRELPOSITIONS,5,true],["ReferencedInStructures",IFCRELREFERENCEDINSPATIALSTRUCTURE,4,true]],1770583370:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["Types",IFCRELDEFINESBYTYPE,5,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true]],525669439:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDeclaredBy",IFCRELDEFINESBYOBJECT,4,true],["Declares",IFCRELDEFINESBYOBJECT,5,true],["IsTypedBy",IFCRELDEFINESBYTYPE,4,true],["IsDefinedBy",IFCRELDEFINESBYPROPERTIES,4,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true],["PositionedRelativeTo",IFCRELPOSITIONS,5,true],["ReferencedInStructures",IFCRELREFERENCEDINSPATIALSTRUCTURE,4,true],["ContainsElements",IFCRELCONTAINEDINSPATIALSTRUCTURE,5,true],["ServicedBySystems",IFCRELSERVICESBUILDINGS,5,true],["ReferencesElements",IFCRELREFERENCEDINSPATIALSTRUCTURE,5,true],["IsInterferedByElements",IFCRELINTERFERESELEMENTS,5,true],["InterferesElements",IFCRELINTERFERESELEMENTS,4,true]],976884017:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDeclaredBy",IFCRELDEFINESBYOBJECT,4,true],["Declares",IFCRELDEFINESBYOBJECT,5,true],["IsTypedBy",IFCRELDEFINESBYTYPE,4,true],["IsDefinedBy",IFCRELDEFINESBYPROPERTIES,4,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true],["PositionedRelativeTo",IFCRELPOSITIONS,5,true],["ReferencedInStructures",IFCRELREFERENCEDINSPATIALSTRUCTURE,4,true],["ContainsElements",IFCRELCONTAINEDINSPATIALSTRUCTURE,5,true],["ServicedBySystems",IFCRELSERVICESBUILDINGS,5,true],["ReferencesElements",IFCRELREFERENCEDINSPATIALSTRUCTURE,5,true],["IsInterferedByElements",IFCRELINTERFERESELEMENTS,5,true],["InterferesElements",IFCRELINTERFERESELEMENTS,4,true]],377706215:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDeclaredBy",IFCRELDEFINESBYOBJECT,4,true],["Declares",IFCRELDEFINESBYOBJECT,5,true],["IsTypedBy",IFCRELDEFINESBYTYPE,4,true],["IsDefinedBy",IFCRELDEFINESBYPROPERTIES,4,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true],["PositionedRelativeTo",IFCRELPOSITIONS,5,true],["ReferencedInStructures",IFCRELREFERENCEDINSPATIALSTRUCTURE,4,true],["FillsVoids",IFCRELFILLSELEMENT,5,true],["ConnectedTo",IFCRELCONNECTSELEMENTS,5,true],["IsInterferedByElements",IFCRELINTERFERESELEMENTS,5,true],["InterferesElements",IFCRELINTERFERESELEMENTS,4,true],["HasProjections",IFCRELPROJECTSELEMENT,4,true],["HasOpenings",IFCRELVOIDSELEMENT,4,true],["IsConnectionRealization",IFCRELCONNECTSWITHREALIZINGELEMENTS,7,true],["ProvidesBoundaries",IFCRELSPACEBOUNDARY,5,true],["ConnectedFrom",IFCRELCONNECTSELEMENTS,6,true],["ContainedInStructure",IFCRELCONTAINEDINSPATIALSTRUCTURE,4,true],["HasCoverings",IFCRELCOVERSBLDGELEMENTS,4,true],["HasSurfaceFeatures",IFCRELADHERESTOELEMENT,4,true]],2108223431:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["Types",IFCRELDEFINESBYTYPE,5,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true]],1114901282:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["Types",IFCRELDEFINESBYTYPE,5,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true]],3181161470:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["Types",IFCRELDEFINESBYTYPE,5,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true]],1950438474:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["Types",IFCRELDEFINESBYTYPE,5,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true]],710110818:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["Types",IFCRELDEFINESBYTYPE,5,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true]],977012517:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["Types",IFCRELDEFINESBYTYPE,5,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true]],506776471:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["Types",IFCRELDEFINESBYTYPE,5,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true]],4143007308:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDeclaredBy",IFCRELDEFINESBYOBJECT,4,true],["Declares",IFCRELDEFINESBYOBJECT,5,true],["IsTypedBy",IFCRELDEFINESBYTYPE,4,true],["IsDefinedBy",IFCRELDEFINESBYPROPERTIES,4,true],["IsActingUpon",IFCRELASSIGNSTOACTOR,6,true]],3588315303:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDeclaredBy",IFCRELDEFINESBYOBJECT,4,true],["Declares",IFCRELDEFINESBYOBJECT,5,true],["IsTypedBy",IFCRELDEFINESBYTYPE,4,true],["IsDefinedBy",IFCRELDEFINESBYPROPERTIES,4,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true],["PositionedRelativeTo",IFCRELPOSITIONS,5,true],["ReferencedInStructures",IFCRELREFERENCEDINSPATIALSTRUCTURE,4,true],["FillsVoids",IFCRELFILLSELEMENT,5,true],["ConnectedTo",IFCRELCONNECTSELEMENTS,5,true],["IsInterferedByElements",IFCRELINTERFERESELEMENTS,5,true],["InterferesElements",IFCRELINTERFERESELEMENTS,4,true],["HasProjections",IFCRELPROJECTSELEMENT,4,true],["HasOpenings",IFCRELVOIDSELEMENT,4,true],["IsConnectionRealization",IFCRELCONNECTSWITHREALIZINGELEMENTS,7,true],["ProvidesBoundaries",IFCRELSPACEBOUNDARY,5,true],["ConnectedFrom",IFCRELCONNECTSELEMENTS,6,true],["ContainedInStructure",IFCRELCONTAINEDINSPATIALSTRUCTURE,4,true],["HasCoverings",IFCRELCOVERSBLDGELEMENTS,4,true],["HasSurfaceFeatures",IFCRELADHERESTOELEMENT,4,true],["VoidsElements",IFCRELVOIDSELEMENT,5,false],["HasFillings",IFCRELFILLSELEMENT,4,true]],2837617999:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["Types",IFCRELDEFINESBYTYPE,5,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true]],514975943:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["Types",IFCRELDEFINESBYTYPE,5,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true]],2382730787:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDeclaredBy",IFCRELDEFINESBYOBJECT,4,true],["Declares",IFCRELDEFINESBYOBJECT,5,true],["IsTypedBy",IFCRELDEFINESBYTYPE,4,true],["IsDefinedBy",IFCRELDEFINESBYPROPERTIES,4,true],["Controls",IFCRELASSIGNSTOCONTROL,6,true]],3566463478:[["HasContext",IFCRELDECLARES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["DefinesType",IFCTYPEOBJECT,5,true],["IsDefinedBy",IFCRELDEFINESBYTEMPLATE,4,true],["DefinesOccurrence",IFCRELDEFINESBYPROPERTIES,5,true]],3327091369:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDeclaredBy",IFCRELDEFINESBYOBJECT,4,true],["Declares",IFCRELDEFINESBYOBJECT,5,true],["IsTypedBy",IFCRELDEFINESBYTYPE,4,true],["IsDefinedBy",IFCRELDEFINESBYPROPERTIES,4,true],["Controls",IFCRELASSIGNSTOCONTROL,6,true]],1158309216:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["Types",IFCRELDEFINESBYTYPE,5,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true]],804291784:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["Types",IFCRELDEFINESBYTYPE,5,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true]],4231323485:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["Types",IFCRELDEFINESBYTYPE,5,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true]],4017108033:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["Types",IFCRELDEFINESBYTYPE,5,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true]],2839578677:[["LayerAssignment",IFCPRESENTATIONLAYERASSIGNMENT,2,true],["StyledByItem",IFCSTYLEDITEM,0,true],["HasColours",IFCINDEXEDCOLOURMAP,0,true],["HasTextures",IFCINDEXEDTEXTUREMAP,1,true]],3724593414:[["LayerAssignment",IFCPRESENTATIONLAYERASSIGNMENT,2,true],["StyledByItem",IFCSTYLEDITEM,0,true]],3740093272:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDeclaredBy",IFCRELDEFINESBYOBJECT,4,true],["Declares",IFCRELDEFINESBYOBJECT,5,true],["IsTypedBy",IFCRELDEFINESBYTYPE,4,true],["IsDefinedBy",IFCRELDEFINESBYPROPERTIES,4,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true],["PositionedRelativeTo",IFCRELPOSITIONS,5,true],["ReferencedInStructures",IFCRELREFERENCEDINSPATIALSTRUCTURE,4,true],["ContainedIn",IFCRELCONNECTSPORTTOELEMENT,4,true],["ConnectedFrom",IFCRELCONNECTSPORTS,5,true],["ConnectedTo",IFCRELCONNECTSPORTS,4,true]],1946335990:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDeclaredBy",IFCRELDEFINESBYOBJECT,4,true],["Declares",IFCRELDEFINESBYOBJECT,5,true],["IsTypedBy",IFCRELDEFINESBYTYPE,4,true],["IsDefinedBy",IFCRELDEFINESBYPROPERTIES,4,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true],["PositionedRelativeTo",IFCRELPOSITIONS,5,true],["ReferencedInStructures",IFCRELREFERENCEDINSPATIALSTRUCTURE,4,true],["ContainedInStructure",IFCRELCONTAINEDINSPATIALSTRUCTURE,4,true],["Positions",IFCRELPOSITIONS,4,true]],2744685151:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDeclaredBy",IFCRELDEFINESBYOBJECT,4,true],["Declares",IFCRELDEFINESBYOBJECT,5,true],["IsTypedBy",IFCRELDEFINESBYTYPE,4,true],["IsDefinedBy",IFCRELDEFINESBYPROPERTIES,4,true],["IsPredecessorTo",IFCRELSEQUENCE,4,true],["IsSuccessorFrom",IFCRELSEQUENCE,5,true],["OperatesOn",IFCRELASSIGNSTOPROCESS,6,true]],2904328755:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDeclaredBy",IFCRELDEFINESBYOBJECT,4,true],["Declares",IFCRELDEFINESBYOBJECT,5,true],["IsTypedBy",IFCRELDEFINESBYTYPE,4,true],["IsDefinedBy",IFCRELDEFINESBYPROPERTIES,4,true],["Controls",IFCRELASSIGNSTOCONTROL,6,true]],3651124850:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDeclaredBy",IFCRELDEFINESBYOBJECT,4,true],["Declares",IFCRELDEFINESBYOBJECT,5,true],["IsTypedBy",IFCRELDEFINESBYTYPE,4,true],["IsDefinedBy",IFCRELDEFINESBYPROPERTIES,4,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true],["PositionedRelativeTo",IFCRELPOSITIONS,5,true],["ReferencedInStructures",IFCRELREFERENCEDINSPATIALSTRUCTURE,4,true],["FillsVoids",IFCRELFILLSELEMENT,5,true],["ConnectedTo",IFCRELCONNECTSELEMENTS,5,true],["IsInterferedByElements",IFCRELINTERFERESELEMENTS,5,true],["InterferesElements",IFCRELINTERFERESELEMENTS,4,true],["HasProjections",IFCRELPROJECTSELEMENT,4,true],["HasOpenings",IFCRELVOIDSELEMENT,4,true],["IsConnectionRealization",IFCRELCONNECTSWITHREALIZINGELEMENTS,7,true],["ProvidesBoundaries",IFCRELSPACEBOUNDARY,5,true],["ConnectedFrom",IFCRELCONNECTSELEMENTS,6,true],["ContainedInStructure",IFCRELCONTAINEDINSPATIALSTRUCTURE,4,true],["HasCoverings",IFCRELCOVERSBLDGELEMENTS,4,true],["HasSurfaceFeatures",IFCRELADHERESTOELEMENT,4,true],["ProjectsElements",IFCRELPROJECTSELEMENT,5,false]],1842657554:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["Types",IFCRELDEFINESBYTYPE,5,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true]],2250791053:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["Types",IFCRELDEFINESBYTYPE,5,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true]],1763565496:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["Types",IFCRELDEFINESBYTYPE,5,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true]],2893384427:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["Types",IFCRELDEFINESBYTYPE,5,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true]],3992365140:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDeclaredBy",IFCRELDEFINESBYOBJECT,4,true],["Declares",IFCRELDEFINESBYOBJECT,5,true],["IsTypedBy",IFCRELDEFINESBYTYPE,4,true],["IsDefinedBy",IFCRELDEFINESBYPROPERTIES,4,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true],["PositionedRelativeTo",IFCRELPOSITIONS,5,true],["ReferencedInStructures",IFCRELREFERENCEDINSPATIALSTRUCTURE,4,true],["ContainsElements",IFCRELCONTAINEDINSPATIALSTRUCTURE,5,true],["ServicedBySystems",IFCRELSERVICESBUILDINGS,5,true],["ReferencesElements",IFCRELREFERENCEDINSPATIALSTRUCTURE,5,true],["IsInterferedByElements",IFCRELINTERFERESELEMENTS,5,true],["InterferesElements",IFCRELINTERFERESELEMENTS,4,true]],1891881377:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDeclaredBy",IFCRELDEFINESBYOBJECT,4,true],["Declares",IFCRELDEFINESBYOBJECT,5,true],["IsTypedBy",IFCRELDEFINESBYTYPE,4,true],["IsDefinedBy",IFCRELDEFINESBYPROPERTIES,4,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true],["PositionedRelativeTo",IFCRELPOSITIONS,5,true],["ReferencedInStructures",IFCRELREFERENCEDINSPATIALSTRUCTURE,4,true],["ContainsElements",IFCRELCONTAINEDINSPATIALSTRUCTURE,5,true],["ServicedBySystems",IFCRELSERVICESBUILDINGS,5,true],["ReferencesElements",IFCRELREFERENCEDINSPATIALSTRUCTURE,5,true],["IsInterferedByElements",IFCRELINTERFERESELEMENTS,5,true],["InterferesElements",IFCRELINTERFERESELEMENTS,4,true]],2324767716:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["Types",IFCRELDEFINESBYTYPE,5,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true]],1469900589:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["Types",IFCRELDEFINESBYTYPE,5,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true]],683857671:[["LayerAssignment",IFCPRESENTATIONLAYERASSIGNMENT,2,true],["StyledByItem",IFCSTYLEDITEM,0,true]],4021432810:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDeclaredBy",IFCRELDEFINESBYOBJECT,4,true],["Declares",IFCRELDEFINESBYOBJECT,5,true],["IsTypedBy",IFCRELDEFINESBYTYPE,4,true],["IsDefinedBy",IFCRELDEFINESBYPROPERTIES,4,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true],["PositionedRelativeTo",IFCRELPOSITIONS,5,true],["ReferencedInStructures",IFCRELREFERENCEDINSPATIALSTRUCTURE,4,true],["ContainedInStructure",IFCRELCONTAINEDINSPATIALSTRUCTURE,4,true],["Positions",IFCRELPOSITIONS,4,true]],3027567501:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDeclaredBy",IFCRELDEFINESBYOBJECT,4,true],["Declares",IFCRELDEFINESBYOBJECT,5,true],["IsTypedBy",IFCRELDEFINESBYTYPE,4,true],["IsDefinedBy",IFCRELDEFINESBYPROPERTIES,4,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true],["PositionedRelativeTo",IFCRELPOSITIONS,5,true],["ReferencedInStructures",IFCRELREFERENCEDINSPATIALSTRUCTURE,4,true],["FillsVoids",IFCRELFILLSELEMENT,5,true],["ConnectedTo",IFCRELCONNECTSELEMENTS,5,true],["IsInterferedByElements",IFCRELINTERFERESELEMENTS,5,true],["InterferesElements",IFCRELINTERFERESELEMENTS,4,true],["HasProjections",IFCRELPROJECTSELEMENT,4,true],["HasOpenings",IFCRELVOIDSELEMENT,4,true],["IsConnectionRealization",IFCRELCONNECTSWITHREALIZINGELEMENTS,7,true],["ProvidesBoundaries",IFCRELSPACEBOUNDARY,5,true],["ConnectedFrom",IFCRELCONNECTSELEMENTS,6,true],["ContainedInStructure",IFCRELCONTAINEDINSPATIALSTRUCTURE,4,true],["HasCoverings",IFCRELCOVERSBLDGELEMENTS,4,true],["HasSurfaceFeatures",IFCRELADHERESTOELEMENT,4,true]],964333572:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["Types",IFCRELDEFINESBYTYPE,5,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true]],2320036040:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDeclaredBy",IFCRELDEFINESBYOBJECT,4,true],["Declares",IFCRELDEFINESBYOBJECT,5,true],["IsTypedBy",IFCRELDEFINESBYTYPE,4,true],["IsDefinedBy",IFCRELDEFINESBYPROPERTIES,4,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true],["PositionedRelativeTo",IFCRELPOSITIONS,5,true],["ReferencedInStructures",IFCRELREFERENCEDINSPATIALSTRUCTURE,4,true],["FillsVoids",IFCRELFILLSELEMENT,5,true],["ConnectedTo",IFCRELCONNECTSELEMENTS,5,true],["IsInterferedByElements",IFCRELINTERFERESELEMENTS,5,true],["InterferesElements",IFCRELINTERFERESELEMENTS,4,true],["HasProjections",IFCRELPROJECTSELEMENT,4,true],["HasOpenings",IFCRELVOIDSELEMENT,4,true],["IsConnectionRealization",IFCRELCONNECTSWITHREALIZINGELEMENTS,7,true],["ProvidesBoundaries",IFCRELSPACEBOUNDARY,5,true],["ConnectedFrom",IFCRELCONNECTSELEMENTS,6,true],["ContainedInStructure",IFCRELCONTAINEDINSPATIALSTRUCTURE,4,true],["HasCoverings",IFCRELCOVERSBLDGELEMENTS,4,true],["HasSurfaceFeatures",IFCRELADHERESTOELEMENT,4,true]],2310774935:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["Types",IFCRELDEFINESBYTYPE,5,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true]],146592293:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDeclaredBy",IFCRELDEFINESBYOBJECT,4,true],["Declares",IFCRELDEFINESBYOBJECT,5,true],["IsTypedBy",IFCRELDEFINESBYTYPE,4,true],["IsDefinedBy",IFCRELDEFINESBYPROPERTIES,4,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true],["PositionedRelativeTo",IFCRELPOSITIONS,5,true],["ReferencedInStructures",IFCRELREFERENCEDINSPATIALSTRUCTURE,4,true],["ContainsElements",IFCRELCONTAINEDINSPATIALSTRUCTURE,5,true],["ServicedBySystems",IFCRELSERVICESBUILDINGS,5,true],["ReferencesElements",IFCRELREFERENCEDINSPATIALSTRUCTURE,5,true],["IsInterferedByElements",IFCRELINTERFERESELEMENTS,5,true],["InterferesElements",IFCRELINTERFERESELEMENTS,4,true]],550521510:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDeclaredBy",IFCRELDEFINESBYOBJECT,4,true],["Declares",IFCRELDEFINESBYOBJECT,5,true],["IsTypedBy",IFCRELDEFINESBYTYPE,4,true],["IsDefinedBy",IFCRELDEFINESBYPROPERTIES,4,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true],["PositionedRelativeTo",IFCRELPOSITIONS,5,true],["ReferencedInStructures",IFCRELREFERENCEDINSPATIALSTRUCTURE,4,true],["ContainsElements",IFCRELCONTAINEDINSPATIALSTRUCTURE,5,true],["ServicedBySystems",IFCRELSERVICESBUILDINGS,5,true],["ReferencesElements",IFCRELREFERENCEDINSPATIALSTRUCTURE,5,true],["IsInterferedByElements",IFCRELINTERFERESELEMENTS,5,true],["InterferesElements",IFCRELINTERFERESELEMENTS,4,true]],2781568857:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["Types",IFCRELDEFINESBYTYPE,5,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true]],1768891740:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["Types",IFCRELDEFINESBYTYPE,5,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true]],2157484638:[["LayerAssignment",IFCPRESENTATIONLAYERASSIGNMENT,2,true],["StyledByItem",IFCSTYLEDITEM,0,true]],3649235739:[["LayerAssignment",IFCPRESENTATIONLAYERASSIGNMENT,2,true],["StyledByItem",IFCSTYLEDITEM,0,true]],544395925:[["LayerAssignment",IFCPRESENTATIONLAYERASSIGNMENT,2,true],["StyledByItem",IFCSTYLEDITEM,0,true]],1027922057:[["LayerAssignment",IFCPRESENTATIONLAYERASSIGNMENT,2,true],["StyledByItem",IFCSTYLEDITEM,0,true]],4074543187:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["Types",IFCRELDEFINESBYTYPE,5,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true]],33720170:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDeclaredBy",IFCRELDEFINESBYOBJECT,4,true],["Declares",IFCRELDEFINESBYOBJECT,5,true],["IsTypedBy",IFCRELDEFINESBYTYPE,4,true],["IsDefinedBy",IFCRELDEFINESBYPROPERTIES,4,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true],["PositionedRelativeTo",IFCRELPOSITIONS,5,true],["ReferencedInStructures",IFCRELREFERENCEDINSPATIALSTRUCTURE,4,true],["FillsVoids",IFCRELFILLSELEMENT,5,true],["ConnectedTo",IFCRELCONNECTSELEMENTS,5,true],["IsInterferedByElements",IFCRELINTERFERESELEMENTS,5,true],["InterferesElements",IFCRELINTERFERESELEMENTS,4,true],["HasProjections",IFCRELPROJECTSELEMENT,4,true],["HasOpenings",IFCRELVOIDSELEMENT,4,true],["IsConnectionRealization",IFCRELCONNECTSWITHREALIZINGELEMENTS,7,true],["ProvidesBoundaries",IFCRELSPACEBOUNDARY,5,true],["ConnectedFrom",IFCRELCONNECTSELEMENTS,6,true],["ContainedInStructure",IFCRELCONTAINEDINSPATIALSTRUCTURE,4,true],["HasCoverings",IFCRELCOVERSBLDGELEMENTS,4,true],["HasSurfaceFeatures",IFCRELADHERESTOELEMENT,4,true]],3599934289:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["Types",IFCRELDEFINESBYTYPE,5,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true]],1894708472:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["Types",IFCRELDEFINESBYTYPE,5,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true]],42703149:[["LayerAssignment",IFCPRESENTATIONLAYERASSIGNMENT,2,true],["StyledByItem",IFCSTYLEDITEM,0,true]],4097777520:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDeclaredBy",IFCRELDEFINESBYOBJECT,4,true],["Declares",IFCRELDEFINESBYOBJECT,5,true],["IsTypedBy",IFCRELDEFINESBYTYPE,4,true],["IsDefinedBy",IFCRELDEFINESBYPROPERTIES,4,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true],["PositionedRelativeTo",IFCRELPOSITIONS,5,true],["ReferencedInStructures",IFCRELREFERENCEDINSPATIALSTRUCTURE,4,true],["ContainsElements",IFCRELCONTAINEDINSPATIALSTRUCTURE,5,true],["ServicedBySystems",IFCRELSERVICESBUILDINGS,5,true],["ReferencesElements",IFCRELREFERENCEDINSPATIALSTRUCTURE,5,true],["IsInterferedByElements",IFCRELINTERFERESELEMENTS,5,true],["InterferesElements",IFCRELINTERFERESELEMENTS,4,true]],2533589738:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["Types",IFCRELDEFINESBYTYPE,5,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true]],1072016465:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["Types",IFCRELDEFINESBYTYPE,5,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true]],3856911033:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDeclaredBy",IFCRELDEFINESBYOBJECT,4,true],["Declares",IFCRELDEFINESBYOBJECT,5,true],["IsTypedBy",IFCRELDEFINESBYTYPE,4,true],["IsDefinedBy",IFCRELDEFINESBYPROPERTIES,4,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true],["PositionedRelativeTo",IFCRELPOSITIONS,5,true],["ReferencedInStructures",IFCRELREFERENCEDINSPATIALSTRUCTURE,4,true],["ContainsElements",IFCRELCONTAINEDINSPATIALSTRUCTURE,5,true],["ServicedBySystems",IFCRELSERVICESBUILDINGS,5,true],["ReferencesElements",IFCRELREFERENCEDINSPATIALSTRUCTURE,5,true],["IsInterferedByElements",IFCRELINTERFERESELEMENTS,5,true],["InterferesElements",IFCRELINTERFERESELEMENTS,4,true],["HasCoverings",IFCRELCOVERSSPACES,4,true],["BoundedBy",IFCRELSPACEBOUNDARY,4,true]],1305183839:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["Types",IFCRELDEFINESBYTYPE,5,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true]],3812236995:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["Types",IFCRELDEFINESBYTYPE,5,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true]],3112655638:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["Types",IFCRELDEFINESBYTYPE,5,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true]],1039846685:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["Types",IFCRELDEFINESBYTYPE,5,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true]],338393293:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["Types",IFCRELDEFINESBYTYPE,5,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true]],682877961:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDeclaredBy",IFCRELDEFINESBYOBJECT,4,true],["Declares",IFCRELDEFINESBYOBJECT,5,true],["IsTypedBy",IFCRELDEFINESBYTYPE,4,true],["IsDefinedBy",IFCRELDEFINESBYPROPERTIES,4,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true],["PositionedRelativeTo",IFCRELPOSITIONS,5,true],["ReferencedInStructures",IFCRELREFERENCEDINSPATIALSTRUCTURE,4,true],["AssignedToStructuralItem",IFCRELCONNECTSSTRUCTURALACTIVITY,5,true]],1179482911:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDeclaredBy",IFCRELDEFINESBYOBJECT,4,true],["Declares",IFCRELDEFINESBYOBJECT,5,true],["IsTypedBy",IFCRELDEFINESBYTYPE,4,true],["IsDefinedBy",IFCRELDEFINESBYPROPERTIES,4,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true],["PositionedRelativeTo",IFCRELPOSITIONS,5,true],["ReferencedInStructures",IFCRELREFERENCEDINSPATIALSTRUCTURE,4,true],["AssignedStructuralActivity",IFCRELCONNECTSSTRUCTURALACTIVITY,4,true],["ConnectsStructuralMembers",IFCRELCONNECTSSTRUCTURALMEMBER,5,true]],1004757350:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDeclaredBy",IFCRELDEFINESBYOBJECT,4,true],["Declares",IFCRELDEFINESBYOBJECT,5,true],["IsTypedBy",IFCRELDEFINESBYTYPE,4,true],["IsDefinedBy",IFCRELDEFINESBYPROPERTIES,4,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true],["PositionedRelativeTo",IFCRELPOSITIONS,5,true],["ReferencedInStructures",IFCRELREFERENCEDINSPATIALSTRUCTURE,4,true],["AssignedToStructuralItem",IFCRELCONNECTSSTRUCTURALACTIVITY,5,true]],4243806635:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDeclaredBy",IFCRELDEFINESBYOBJECT,4,true],["Declares",IFCRELDEFINESBYOBJECT,5,true],["IsTypedBy",IFCRELDEFINESBYTYPE,4,true],["IsDefinedBy",IFCRELDEFINESBYPROPERTIES,4,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true],["PositionedRelativeTo",IFCRELPOSITIONS,5,true],["ReferencedInStructures",IFCRELREFERENCEDINSPATIALSTRUCTURE,4,true],["AssignedStructuralActivity",IFCRELCONNECTSSTRUCTURALACTIVITY,4,true],["ConnectsStructuralMembers",IFCRELCONNECTSSTRUCTURALMEMBER,5,true]],214636428:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDeclaredBy",IFCRELDEFINESBYOBJECT,4,true],["Declares",IFCRELDEFINESBYOBJECT,5,true],["IsTypedBy",IFCRELDEFINESBYTYPE,4,true],["IsDefinedBy",IFCRELDEFINESBYPROPERTIES,4,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true],["PositionedRelativeTo",IFCRELPOSITIONS,5,true],["ReferencedInStructures",IFCRELREFERENCEDINSPATIALSTRUCTURE,4,true],["AssignedStructuralActivity",IFCRELCONNECTSSTRUCTURALACTIVITY,4,true],["ConnectedBy",IFCRELCONNECTSSTRUCTURALMEMBER,4,true]],2445595289:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDeclaredBy",IFCRELDEFINESBYOBJECT,4,true],["Declares",IFCRELDEFINESBYOBJECT,5,true],["IsTypedBy",IFCRELDEFINESBYTYPE,4,true],["IsDefinedBy",IFCRELDEFINESBYPROPERTIES,4,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true],["PositionedRelativeTo",IFCRELPOSITIONS,5,true],["ReferencedInStructures",IFCRELREFERENCEDINSPATIALSTRUCTURE,4,true],["AssignedStructuralActivity",IFCRELCONNECTSSTRUCTURALACTIVITY,4,true],["ConnectedBy",IFCRELCONNECTSSTRUCTURALMEMBER,4,true]],2757150158:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDeclaredBy",IFCRELDEFINESBYOBJECT,4,true],["Declares",IFCRELDEFINESBYOBJECT,5,true],["IsTypedBy",IFCRELDEFINESBYTYPE,4,true],["IsDefinedBy",IFCRELDEFINESBYPROPERTIES,4,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true],["PositionedRelativeTo",IFCRELPOSITIONS,5,true],["ReferencedInStructures",IFCRELREFERENCEDINSPATIALSTRUCTURE,4,true],["AssignedToStructuralItem",IFCRELCONNECTSSTRUCTURALACTIVITY,5,true]],1807405624:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDeclaredBy",IFCRELDEFINESBYOBJECT,4,true],["Declares",IFCRELDEFINESBYOBJECT,5,true],["IsTypedBy",IFCRELDEFINESBYTYPE,4,true],["IsDefinedBy",IFCRELDEFINESBYPROPERTIES,4,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true],["PositionedRelativeTo",IFCRELPOSITIONS,5,true],["ReferencedInStructures",IFCRELREFERENCEDINSPATIALSTRUCTURE,4,true],["AssignedToStructuralItem",IFCRELCONNECTSSTRUCTURALACTIVITY,5,true]],1252848954:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDeclaredBy",IFCRELDEFINESBYOBJECT,4,true],["Declares",IFCRELDEFINESBYOBJECT,5,true],["IsTypedBy",IFCRELDEFINESBYTYPE,4,true],["IsDefinedBy",IFCRELDEFINESBYPROPERTIES,4,true],["IsGroupedBy",IFCRELASSIGNSTOGROUP,6,true],["ReferencedInStructures",IFCRELREFERENCEDINSPATIALSTRUCTURE,4,true],["SourceOfResultGroup",IFCSTRUCTURALRESULTGROUP,6,true],["LoadGroupFor",IFCSTRUCTURALANALYSISMODEL,7,true]],2082059205:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDeclaredBy",IFCRELDEFINESBYOBJECT,4,true],["Declares",IFCRELDEFINESBYOBJECT,5,true],["IsTypedBy",IFCRELDEFINESBYTYPE,4,true],["IsDefinedBy",IFCRELDEFINESBYPROPERTIES,4,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true],["PositionedRelativeTo",IFCRELPOSITIONS,5,true],["ReferencedInStructures",IFCRELREFERENCEDINSPATIALSTRUCTURE,4,true],["AssignedToStructuralItem",IFCRELCONNECTSSTRUCTURALACTIVITY,5,true]],734778138:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDeclaredBy",IFCRELDEFINESBYOBJECT,4,true],["Declares",IFCRELDEFINESBYOBJECT,5,true],["IsTypedBy",IFCRELDEFINESBYTYPE,4,true],["IsDefinedBy",IFCRELDEFINESBYPROPERTIES,4,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true],["PositionedRelativeTo",IFCRELPOSITIONS,5,true],["ReferencedInStructures",IFCRELREFERENCEDINSPATIALSTRUCTURE,4,true],["AssignedStructuralActivity",IFCRELCONNECTSSTRUCTURALACTIVITY,4,true],["ConnectsStructuralMembers",IFCRELCONNECTSSTRUCTURALMEMBER,5,true]],1235345126:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDeclaredBy",IFCRELDEFINESBYOBJECT,4,true],["Declares",IFCRELDEFINESBYOBJECT,5,true],["IsTypedBy",IFCRELDEFINESBYTYPE,4,true],["IsDefinedBy",IFCRELDEFINESBYPROPERTIES,4,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true],["PositionedRelativeTo",IFCRELPOSITIONS,5,true],["ReferencedInStructures",IFCRELREFERENCEDINSPATIALSTRUCTURE,4,true],["AssignedToStructuralItem",IFCRELCONNECTSSTRUCTURALACTIVITY,5,true]],2986769608:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDeclaredBy",IFCRELDEFINESBYOBJECT,4,true],["Declares",IFCRELDEFINESBYOBJECT,5,true],["IsTypedBy",IFCRELDEFINESBYTYPE,4,true],["IsDefinedBy",IFCRELDEFINESBYPROPERTIES,4,true],["IsGroupedBy",IFCRELASSIGNSTOGROUP,6,true],["ReferencedInStructures",IFCRELREFERENCEDINSPATIALSTRUCTURE,4,true],["ResultGroupFor",IFCSTRUCTURALANALYSISMODEL,8,true]],3657597509:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDeclaredBy",IFCRELDEFINESBYOBJECT,4,true],["Declares",IFCRELDEFINESBYOBJECT,5,true],["IsTypedBy",IFCRELDEFINESBYTYPE,4,true],["IsDefinedBy",IFCRELDEFINESBYPROPERTIES,4,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true],["PositionedRelativeTo",IFCRELPOSITIONS,5,true],["ReferencedInStructures",IFCRELREFERENCEDINSPATIALSTRUCTURE,4,true],["AssignedToStructuralItem",IFCRELCONNECTSSTRUCTURALACTIVITY,5,true]],1975003073:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDeclaredBy",IFCRELDEFINESBYOBJECT,4,true],["Declares",IFCRELDEFINESBYOBJECT,5,true],["IsTypedBy",IFCRELDEFINESBYTYPE,4,true],["IsDefinedBy",IFCRELDEFINESBYPROPERTIES,4,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true],["PositionedRelativeTo",IFCRELPOSITIONS,5,true],["ReferencedInStructures",IFCRELREFERENCEDINSPATIALSTRUCTURE,4,true],["AssignedStructuralActivity",IFCRELCONNECTSSTRUCTURALACTIVITY,4,true],["ConnectsStructuralMembers",IFCRELCONNECTSSTRUCTURALMEMBER,5,true]],148013059:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDeclaredBy",IFCRELDEFINESBYOBJECT,4,true],["Declares",IFCRELDEFINESBYOBJECT,5,true],["IsTypedBy",IFCRELDEFINESBYTYPE,4,true],["IsDefinedBy",IFCRELDEFINESBYPROPERTIES,4,true],["ResourceOf",IFCRELASSIGNSTORESOURCE,6,true]],3101698114:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDeclaredBy",IFCRELDEFINESBYOBJECT,4,true],["Declares",IFCRELDEFINESBYOBJECT,5,true],["IsTypedBy",IFCRELDEFINESBYTYPE,4,true],["IsDefinedBy",IFCRELDEFINESBYPROPERTIES,4,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true],["PositionedRelativeTo",IFCRELPOSITIONS,5,true],["ReferencedInStructures",IFCRELREFERENCEDINSPATIALSTRUCTURE,4,true],["FillsVoids",IFCRELFILLSELEMENT,5,true],["ConnectedTo",IFCRELCONNECTSELEMENTS,5,true],["IsInterferedByElements",IFCRELINTERFERESELEMENTS,5,true],["InterferesElements",IFCRELINTERFERESELEMENTS,4,true],["HasProjections",IFCRELPROJECTSELEMENT,4,true],["HasOpenings",IFCRELVOIDSELEMENT,4,true],["IsConnectionRealization",IFCRELCONNECTSWITHREALIZINGELEMENTS,7,true],["ProvidesBoundaries",IFCRELSPACEBOUNDARY,5,true],["ConnectedFrom",IFCRELCONNECTSELEMENTS,6,true],["ContainedInStructure",IFCRELCONTAINEDINSPATIALSTRUCTURE,4,true],["HasCoverings",IFCRELCOVERSBLDGELEMENTS,4,true],["HasSurfaceFeatures",IFCRELADHERESTOELEMENT,4,true],["AdheresToElement",IFCRELADHERESTOELEMENT,5,false]],2315554128:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["Types",IFCRELDEFINESBYTYPE,5,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true]],2254336722:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDeclaredBy",IFCRELDEFINESBYOBJECT,4,true],["Declares",IFCRELDEFINESBYOBJECT,5,true],["IsTypedBy",IFCRELDEFINESBYTYPE,4,true],["IsDefinedBy",IFCRELDEFINESBYPROPERTIES,4,true],["IsGroupedBy",IFCRELASSIGNSTOGROUP,6,true],["ReferencedInStructures",IFCRELREFERENCEDINSPATIALSTRUCTURE,4,true],["ServicesBuildings",IFCRELSERVICESBUILDINGS,4,true],["ServicesFacilities",IFCRELREFERENCEDINSPATIALSTRUCTURE,4,true]],413509423:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDeclaredBy",IFCRELDEFINESBYOBJECT,4,true],["Declares",IFCRELDEFINESBYOBJECT,5,true],["IsTypedBy",IFCRELDEFINESBYTYPE,4,true],["IsDefinedBy",IFCRELDEFINESBYPROPERTIES,4,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true],["PositionedRelativeTo",IFCRELPOSITIONS,5,true],["ReferencedInStructures",IFCRELREFERENCEDINSPATIALSTRUCTURE,4,true],["FillsVoids",IFCRELFILLSELEMENT,5,true],["ConnectedTo",IFCRELCONNECTSELEMENTS,5,true],["IsInterferedByElements",IFCRELINTERFERESELEMENTS,5,true],["InterferesElements",IFCRELINTERFERESELEMENTS,4,true],["HasProjections",IFCRELPROJECTSELEMENT,4,true],["HasOpenings",IFCRELVOIDSELEMENT,4,true],["IsConnectionRealization",IFCRELCONNECTSWITHREALIZINGELEMENTS,7,true],["ProvidesBoundaries",IFCRELSPACEBOUNDARY,5,true],["ConnectedFrom",IFCRELCONNECTSELEMENTS,6,true],["ContainedInStructure",IFCRELCONTAINEDINSPATIALSTRUCTURE,4,true],["HasCoverings",IFCRELCOVERSBLDGELEMENTS,4,true],["HasSurfaceFeatures",IFCRELADHERESTOELEMENT,4,true]],5716631:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["Types",IFCRELDEFINESBYTYPE,5,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true]],3824725483:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDeclaredBy",IFCRELDEFINESBYOBJECT,4,true],["Declares",IFCRELDEFINESBYOBJECT,5,true],["IsTypedBy",IFCRELDEFINESBYTYPE,4,true],["IsDefinedBy",IFCRELDEFINESBYPROPERTIES,4,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true],["PositionedRelativeTo",IFCRELPOSITIONS,5,true],["ReferencedInStructures",IFCRELREFERENCEDINSPATIALSTRUCTURE,4,true],["FillsVoids",IFCRELFILLSELEMENT,5,true],["ConnectedTo",IFCRELCONNECTSELEMENTS,5,true],["IsInterferedByElements",IFCRELINTERFERESELEMENTS,5,true],["InterferesElements",IFCRELINTERFERESELEMENTS,4,true],["HasProjections",IFCRELPROJECTSELEMENT,4,true],["HasOpenings",IFCRELVOIDSELEMENT,4,true],["IsConnectionRealization",IFCRELCONNECTSWITHREALIZINGELEMENTS,7,true],["ProvidesBoundaries",IFCRELSPACEBOUNDARY,5,true],["ConnectedFrom",IFCRELCONNECTSELEMENTS,6,true],["ContainedInStructure",IFCRELCONTAINEDINSPATIALSTRUCTURE,4,true],["HasCoverings",IFCRELCOVERSBLDGELEMENTS,4,true],["HasSurfaceFeatures",IFCRELADHERESTOELEMENT,4,true]],2347447852:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDeclaredBy",IFCRELDEFINESBYOBJECT,4,true],["Declares",IFCRELDEFINESBYOBJECT,5,true],["IsTypedBy",IFCRELDEFINESBYTYPE,4,true],["IsDefinedBy",IFCRELDEFINESBYPROPERTIES,4,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true],["PositionedRelativeTo",IFCRELPOSITIONS,5,true],["ReferencedInStructures",IFCRELREFERENCEDINSPATIALSTRUCTURE,4,true],["FillsVoids",IFCRELFILLSELEMENT,5,true],["ConnectedTo",IFCRELCONNECTSELEMENTS,5,true],["IsInterferedByElements",IFCRELINTERFERESELEMENTS,5,true],["InterferesElements",IFCRELINTERFERESELEMENTS,4,true],["HasProjections",IFCRELPROJECTSELEMENT,4,true],["HasOpenings",IFCRELVOIDSELEMENT,4,true],["IsConnectionRealization",IFCRELCONNECTSWITHREALIZINGELEMENTS,7,true],["ProvidesBoundaries",IFCRELSPACEBOUNDARY,5,true],["ConnectedFrom",IFCRELCONNECTSELEMENTS,6,true],["ContainedInStructure",IFCRELCONTAINEDINSPATIALSTRUCTURE,4,true],["HasCoverings",IFCRELCOVERSBLDGELEMENTS,4,true],["HasSurfaceFeatures",IFCRELADHERESTOELEMENT,4,true]],3081323446:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["Types",IFCRELDEFINESBYTYPE,5,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true]],3663046924:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDeclaredBy",IFCRELDEFINESBYOBJECT,4,true],["Declares",IFCRELDEFINESBYOBJECT,5,true],["IsTypedBy",IFCRELDEFINESBYTYPE,4,true],["IsDefinedBy",IFCRELDEFINESBYPROPERTIES,4,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true],["PositionedRelativeTo",IFCRELPOSITIONS,5,true],["ReferencedInStructures",IFCRELREFERENCEDINSPATIALSTRUCTURE,4,true],["FillsVoids",IFCRELFILLSELEMENT,5,true],["ConnectedTo",IFCRELCONNECTSELEMENTS,5,true],["IsInterferedByElements",IFCRELINTERFERESELEMENTS,5,true],["InterferesElements",IFCRELINTERFERESELEMENTS,4,true],["HasProjections",IFCRELPROJECTSELEMENT,4,true],["HasOpenings",IFCRELVOIDSELEMENT,4,true],["IsConnectionRealization",IFCRELCONNECTSWITHREALIZINGELEMENTS,7,true],["ProvidesBoundaries",IFCRELSPACEBOUNDARY,5,true],["ConnectedFrom",IFCRELCONNECTSELEMENTS,6,true],["ContainedInStructure",IFCRELCONTAINEDINSPATIALSTRUCTURE,4,true],["HasCoverings",IFCRELCOVERSBLDGELEMENTS,4,true],["HasSurfaceFeatures",IFCRELADHERESTOELEMENT,4,true]],2281632017:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["Types",IFCRELDEFINESBYTYPE,5,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true]],2415094496:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["Types",IFCRELDEFINESBYTYPE,5,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true]],618700268:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["Types",IFCRELDEFINESBYTYPE,5,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true]],1692211062:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["Types",IFCRELDEFINESBYTYPE,5,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true]],2097647324:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["Types",IFCRELDEFINESBYTYPE,5,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true]],1953115116:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDeclaredBy",IFCRELDEFINESBYOBJECT,4,true],["Declares",IFCRELDEFINESBYOBJECT,5,true],["IsTypedBy",IFCRELDEFINESBYTYPE,4,true],["IsDefinedBy",IFCRELDEFINESBYPROPERTIES,4,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true],["PositionedRelativeTo",IFCRELPOSITIONS,5,true],["ReferencedInStructures",IFCRELREFERENCEDINSPATIALSTRUCTURE,4,true],["FillsVoids",IFCRELFILLSELEMENT,5,true],["ConnectedTo",IFCRELCONNECTSELEMENTS,5,true],["IsInterferedByElements",IFCRELINTERFERESELEMENTS,5,true],["InterferesElements",IFCRELINTERFERESELEMENTS,4,true],["HasProjections",IFCRELPROJECTSELEMENT,4,true],["HasOpenings",IFCRELVOIDSELEMENT,4,true],["IsConnectionRealization",IFCRELCONNECTSWITHREALIZINGELEMENTS,7,true],["ProvidesBoundaries",IFCRELSPACEBOUNDARY,5,true],["ConnectedFrom",IFCRELCONNECTSELEMENTS,6,true],["ContainedInStructure",IFCRELCONTAINEDINSPATIALSTRUCTURE,4,true],["HasCoverings",IFCRELCOVERSBLDGELEMENTS,4,true],["HasSurfaceFeatures",IFCRELADHERESTOELEMENT,4,true]],3593883385:[["LayerAssignment",IFCPRESENTATIONLAYERASSIGNMENT,2,true],["StyledByItem",IFCSTYLEDITEM,0,true]],1600972822:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["Types",IFCRELDEFINESBYTYPE,5,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true]],1911125066:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["Types",IFCRELDEFINESBYTYPE,5,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true]],728799441:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["Types",IFCRELDEFINESBYTYPE,5,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true]],840318589:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDeclaredBy",IFCRELDEFINESBYOBJECT,4,true],["Declares",IFCRELDEFINESBYOBJECT,5,true],["IsTypedBy",IFCRELDEFINESBYTYPE,4,true],["IsDefinedBy",IFCRELDEFINESBYPROPERTIES,4,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true],["PositionedRelativeTo",IFCRELPOSITIONS,5,true],["ReferencedInStructures",IFCRELREFERENCEDINSPATIALSTRUCTURE,4,true],["FillsVoids",IFCRELFILLSELEMENT,5,true],["ConnectedTo",IFCRELCONNECTSELEMENTS,5,true],["IsInterferedByElements",IFCRELINTERFERESELEMENTS,5,true],["InterferesElements",IFCRELINTERFERESELEMENTS,4,true],["HasProjections",IFCRELPROJECTSELEMENT,4,true],["HasOpenings",IFCRELVOIDSELEMENT,4,true],["IsConnectionRealization",IFCRELCONNECTSWITHREALIZINGELEMENTS,7,true],["ProvidesBoundaries",IFCRELSPACEBOUNDARY,5,true],["ConnectedFrom",IFCRELCONNECTSELEMENTS,6,true],["ContainedInStructure",IFCRELCONTAINEDINSPATIALSTRUCTURE,4,true],["HasCoverings",IFCRELCOVERSBLDGELEMENTS,4,true],["HasSurfaceFeatures",IFCRELADHERESTOELEMENT,4,true]],1530820697:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDeclaredBy",IFCRELDEFINESBYOBJECT,4,true],["Declares",IFCRELDEFINESBYOBJECT,5,true],["IsTypedBy",IFCRELDEFINESBYTYPE,4,true],["IsDefinedBy",IFCRELDEFINESBYPROPERTIES,4,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true],["PositionedRelativeTo",IFCRELPOSITIONS,5,true],["ReferencedInStructures",IFCRELREFERENCEDINSPATIALSTRUCTURE,4,true],["FillsVoids",IFCRELFILLSELEMENT,5,true],["ConnectedTo",IFCRELCONNECTSELEMENTS,5,true],["IsInterferedByElements",IFCRELINTERFERESELEMENTS,5,true],["InterferesElements",IFCRELINTERFERESELEMENTS,4,true],["HasProjections",IFCRELPROJECTSELEMENT,4,true],["HasOpenings",IFCRELVOIDSELEMENT,4,true],["IsConnectionRealization",IFCRELCONNECTSWITHREALIZINGELEMENTS,7,true],["ProvidesBoundaries",IFCRELSPACEBOUNDARY,5,true],["ConnectedFrom",IFCRELCONNECTSELEMENTS,6,true],["ContainedInStructure",IFCRELCONTAINEDINSPATIALSTRUCTURE,4,true],["HasCoverings",IFCRELCOVERSBLDGELEMENTS,4,true],["HasSurfaceFeatures",IFCRELADHERESTOELEMENT,4,true]],3956297820:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["Types",IFCRELDEFINESBYTYPE,5,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true]],2391383451:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDeclaredBy",IFCRELDEFINESBYOBJECT,4,true],["Declares",IFCRELDEFINESBYOBJECT,5,true],["IsTypedBy",IFCRELDEFINESBYTYPE,4,true],["IsDefinedBy",IFCRELDEFINESBYPROPERTIES,4,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true],["PositionedRelativeTo",IFCRELPOSITIONS,5,true],["ReferencedInStructures",IFCRELREFERENCEDINSPATIALSTRUCTURE,4,true],["FillsVoids",IFCRELFILLSELEMENT,5,true],["ConnectedTo",IFCRELCONNECTSELEMENTS,5,true],["IsInterferedByElements",IFCRELINTERFERESELEMENTS,5,true],["InterferesElements",IFCRELINTERFERESELEMENTS,4,true],["HasProjections",IFCRELPROJECTSELEMENT,4,true],["HasOpenings",IFCRELVOIDSELEMENT,4,true],["IsConnectionRealization",IFCRELCONNECTSWITHREALIZINGELEMENTS,7,true],["ProvidesBoundaries",IFCRELSPACEBOUNDARY,5,true],["ConnectedFrom",IFCRELCONNECTSELEMENTS,6,true],["ContainedInStructure",IFCRELCONTAINEDINSPATIALSTRUCTURE,4,true],["HasCoverings",IFCRELCOVERSBLDGELEMENTS,4,true],["HasSurfaceFeatures",IFCRELADHERESTOELEMENT,4,true]],3313531582:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["Types",IFCRELDEFINESBYTYPE,5,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true]],2769231204:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDeclaredBy",IFCRELDEFINESBYOBJECT,4,true],["Declares",IFCRELDEFINESBYOBJECT,5,true],["IsTypedBy",IFCRELDEFINESBYTYPE,4,true],["IsDefinedBy",IFCRELDEFINESBYPROPERTIES,4,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true],["PositionedRelativeTo",IFCRELPOSITIONS,5,true],["ReferencedInStructures",IFCRELREFERENCEDINSPATIALSTRUCTURE,4,true],["FillsVoids",IFCRELFILLSELEMENT,5,true],["ConnectedTo",IFCRELCONNECTSELEMENTS,5,true],["IsInterferedByElements",IFCRELINTERFERESELEMENTS,5,true],["InterferesElements",IFCRELINTERFERESELEMENTS,4,true],["HasProjections",IFCRELPROJECTSELEMENT,4,true],["HasOpenings",IFCRELVOIDSELEMENT,4,true],["IsConnectionRealization",IFCRELCONNECTSWITHREALIZINGELEMENTS,7,true],["ProvidesBoundaries",IFCRELSPACEBOUNDARY,5,true],["ConnectedFrom",IFCRELCONNECTSELEMENTS,6,true],["ContainedInStructure",IFCRELCONTAINEDINSPATIALSTRUCTURE,4,true],["HasCoverings",IFCRELCOVERSBLDGELEMENTS,4,true],["HasSurfaceFeatures",IFCRELADHERESTOELEMENT,4,true]],926996030:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDeclaredBy",IFCRELDEFINESBYOBJECT,4,true],["Declares",IFCRELDEFINESBYOBJECT,5,true],["IsTypedBy",IFCRELDEFINESBYTYPE,4,true],["IsDefinedBy",IFCRELDEFINESBYPROPERTIES,4,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true],["PositionedRelativeTo",IFCRELPOSITIONS,5,true],["ReferencedInStructures",IFCRELREFERENCEDINSPATIALSTRUCTURE,4,true],["FillsVoids",IFCRELFILLSELEMENT,5,true],["ConnectedTo",IFCRELCONNECTSELEMENTS,5,true],["IsInterferedByElements",IFCRELINTERFERESELEMENTS,5,true],["InterferesElements",IFCRELINTERFERESELEMENTS,4,true],["HasProjections",IFCRELPROJECTSELEMENT,4,true],["HasOpenings",IFCRELVOIDSELEMENT,4,true],["IsConnectionRealization",IFCRELCONNECTSWITHREALIZINGELEMENTS,7,true],["ProvidesBoundaries",IFCRELSPACEBOUNDARY,5,true],["ConnectedFrom",IFCRELCONNECTSELEMENTS,6,true],["ContainedInStructure",IFCRELCONTAINEDINSPATIALSTRUCTURE,4,true],["HasCoverings",IFCRELCOVERSBLDGELEMENTS,4,true],["HasSurfaceFeatures",IFCRELADHERESTOELEMENT,4,true],["VoidsElements",IFCRELVOIDSELEMENT,5,false]],1898987631:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["Types",IFCRELDEFINESBYTYPE,5,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true]],1133259667:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["Types",IFCRELDEFINESBYTYPE,5,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true]],4009809668:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["Types",IFCRELDEFINESBYTYPE,5,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true]],4088093105:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDeclaredBy",IFCRELDEFINESBYOBJECT,4,true],["Declares",IFCRELDEFINESBYOBJECT,5,true],["IsTypedBy",IFCRELDEFINESBYTYPE,4,true],["IsDefinedBy",IFCRELDEFINESBYPROPERTIES,4,true],["Controls",IFCRELASSIGNSTOCONTROL,6,true]],1028945134:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDeclaredBy",IFCRELDEFINESBYOBJECT,4,true],["Declares",IFCRELDEFINESBYOBJECT,5,true],["IsTypedBy",IFCRELDEFINESBYTYPE,4,true],["IsDefinedBy",IFCRELDEFINESBYPROPERTIES,4,true],["Controls",IFCRELASSIGNSTOCONTROL,6,true]],4218914973:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDeclaredBy",IFCRELDEFINESBYOBJECT,4,true],["Declares",IFCRELDEFINESBYOBJECT,5,true],["IsTypedBy",IFCRELDEFINESBYTYPE,4,true],["IsDefinedBy",IFCRELDEFINESBYPROPERTIES,4,true],["Controls",IFCRELASSIGNSTOCONTROL,6,true]],3342526732:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDeclaredBy",IFCRELDEFINESBYOBJECT,4,true],["Declares",IFCRELDEFINESBYOBJECT,5,true],["IsTypedBy",IFCRELDEFINESBYTYPE,4,true],["IsDefinedBy",IFCRELDEFINESBYPROPERTIES,4,true],["Controls",IFCRELASSIGNSTOCONTROL,6,true]],1033361043:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDeclaredBy",IFCRELDEFINESBYOBJECT,4,true],["Declares",IFCRELDEFINESBYOBJECT,5,true],["IsTypedBy",IFCRELDEFINESBYTYPE,4,true],["IsDefinedBy",IFCRELDEFINESBYPROPERTIES,4,true],["IsGroupedBy",IFCRELASSIGNSTOGROUP,6,true],["ReferencedInStructures",IFCRELREFERENCEDINSPATIALSTRUCTURE,4,true],["ServicesBuildings",IFCRELSERVICESBUILDINGS,4,true],["ServicesFacilities",IFCRELREFERENCEDINSPATIALSTRUCTURE,4,true]],3821786052:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDeclaredBy",IFCRELDEFINESBYOBJECT,4,true],["Declares",IFCRELDEFINESBYOBJECT,5,true],["IsTypedBy",IFCRELDEFINESBYTYPE,4,true],["IsDefinedBy",IFCRELDEFINESBYPROPERTIES,4,true],["Controls",IFCRELASSIGNSTOCONTROL,6,true]],1411407467:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["Types",IFCRELDEFINESBYTYPE,5,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true]],3352864051:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["Types",IFCRELDEFINESBYTYPE,5,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true]],1871374353:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["Types",IFCRELDEFINESBYTYPE,5,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true]],4266260250:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDeclaredBy",IFCRELDEFINESBYOBJECT,4,true],["Declares",IFCRELDEFINESBYOBJECT,5,true],["IsTypedBy",IFCRELDEFINESBYTYPE,4,true],["IsDefinedBy",IFCRELDEFINESBYPROPERTIES,4,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true],["PositionedRelativeTo",IFCRELPOSITIONS,5,true],["ReferencedInStructures",IFCRELREFERENCEDINSPATIALSTRUCTURE,4,true]],1545765605:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDeclaredBy",IFCRELDEFINESBYOBJECT,4,true],["Declares",IFCRELDEFINESBYOBJECT,5,true],["IsTypedBy",IFCRELDEFINESBYTYPE,4,true],["IsDefinedBy",IFCRELDEFINESBYPROPERTIES,4,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true],["PositionedRelativeTo",IFCRELPOSITIONS,5,true],["ReferencedInStructures",IFCRELREFERENCEDINSPATIALSTRUCTURE,4,true]],317615605:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDeclaredBy",IFCRELDEFINESBYOBJECT,4,true],["Declares",IFCRELDEFINESBYOBJECT,5,true],["IsTypedBy",IFCRELDEFINESBYTYPE,4,true],["IsDefinedBy",IFCRELDEFINESBYPROPERTIES,4,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true],["PositionedRelativeTo",IFCRELPOSITIONS,5,true],["ReferencedInStructures",IFCRELREFERENCEDINSPATIALSTRUCTURE,4,true]],1662888072:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDeclaredBy",IFCRELDEFINESBYOBJECT,4,true],["Declares",IFCRELDEFINESBYOBJECT,5,true],["IsTypedBy",IFCRELDEFINESBYTYPE,4,true],["IsDefinedBy",IFCRELDEFINESBYPROPERTIES,4,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true],["PositionedRelativeTo",IFCRELPOSITIONS,5,true],["ReferencedInStructures",IFCRELREFERENCEDINSPATIALSTRUCTURE,4,true]],3460190687:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDeclaredBy",IFCRELDEFINESBYOBJECT,4,true],["Declares",IFCRELDEFINESBYOBJECT,5,true],["IsTypedBy",IFCRELDEFINESBYTYPE,4,true],["IsDefinedBy",IFCRELDEFINESBYPROPERTIES,4,true],["IsGroupedBy",IFCRELASSIGNSTOGROUP,6,true],["ReferencedInStructures",IFCRELREFERENCEDINSPATIALSTRUCTURE,4,true]],1532957894:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["Types",IFCRELDEFINESBYTYPE,5,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true]],1967976161:[["LayerAssignment",IFCPRESENTATIONLAYERASSIGNMENT,2,true],["StyledByItem",IFCSTYLEDITEM,0,true]],2461110595:[["LayerAssignment",IFCPRESENTATIONLAYERASSIGNMENT,2,true],["StyledByItem",IFCSTYLEDITEM,0,true]],819618141:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["Types",IFCRELDEFINESBYTYPE,5,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true]],3649138523:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["Types",IFCRELDEFINESBYTYPE,5,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true]],231477066:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["Types",IFCRELDEFINESBYTYPE,5,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true]],1136057603:[["LayerAssignment",IFCPRESENTATIONLAYERASSIGNMENT,2,true],["StyledByItem",IFCSTYLEDITEM,0,true]],644574406:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDeclaredBy",IFCRELDEFINESBYOBJECT,4,true],["Declares",IFCRELDEFINESBYOBJECT,5,true],["IsTypedBy",IFCRELDEFINESBYTYPE,4,true],["IsDefinedBy",IFCRELDEFINESBYPROPERTIES,4,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true],["PositionedRelativeTo",IFCRELPOSITIONS,5,true],["ReferencedInStructures",IFCRELREFERENCEDINSPATIALSTRUCTURE,4,true],["ContainsElements",IFCRELCONTAINEDINSPATIALSTRUCTURE,5,true],["ServicedBySystems",IFCRELSERVICESBUILDINGS,5,true],["ReferencesElements",IFCRELREFERENCEDINSPATIALSTRUCTURE,5,true],["IsInterferedByElements",IFCRELINTERFERESELEMENTS,5,true],["InterferesElements",IFCRELINTERFERESELEMENTS,4,true]],963979645:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDeclaredBy",IFCRELDEFINESBYOBJECT,4,true],["Declares",IFCRELDEFINESBYOBJECT,5,true],["IsTypedBy",IFCRELDEFINESBYTYPE,4,true],["IsDefinedBy",IFCRELDEFINESBYPROPERTIES,4,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true],["PositionedRelativeTo",IFCRELPOSITIONS,5,true],["ReferencedInStructures",IFCRELREFERENCEDINSPATIALSTRUCTURE,4,true],["ContainsElements",IFCRELCONTAINEDINSPATIALSTRUCTURE,5,true],["ServicedBySystems",IFCRELSERVICESBUILDINGS,5,true],["ReferencesElements",IFCRELREFERENCEDINSPATIALSTRUCTURE,5,true],["IsInterferedByElements",IFCRELINTERFERESELEMENTS,5,true],["InterferesElements",IFCRELINTERFERESELEMENTS,4,true]],4031249490:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDeclaredBy",IFCRELDEFINESBYOBJECT,4,true],["Declares",IFCRELDEFINESBYOBJECT,5,true],["IsTypedBy",IFCRELDEFINESBYTYPE,4,true],["IsDefinedBy",IFCRELDEFINESBYPROPERTIES,4,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true],["PositionedRelativeTo",IFCRELPOSITIONS,5,true],["ReferencedInStructures",IFCRELREFERENCEDINSPATIALSTRUCTURE,4,true],["ContainsElements",IFCRELCONTAINEDINSPATIALSTRUCTURE,5,true],["ServicedBySystems",IFCRELSERVICESBUILDINGS,5,true],["ReferencesElements",IFCRELREFERENCEDINSPATIALSTRUCTURE,5,true],["IsInterferedByElements",IFCRELINTERFERESELEMENTS,5,true],["InterferesElements",IFCRELINTERFERESELEMENTS,4,true]],2979338954:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDeclaredBy",IFCRELDEFINESBYOBJECT,4,true],["Declares",IFCRELDEFINESBYOBJECT,5,true],["IsTypedBy",IFCRELDEFINESBYTYPE,4,true],["IsDefinedBy",IFCRELDEFINESBYPROPERTIES,4,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true],["PositionedRelativeTo",IFCRELPOSITIONS,5,true],["ReferencedInStructures",IFCRELREFERENCEDINSPATIALSTRUCTURE,4,true],["FillsVoids",IFCRELFILLSELEMENT,5,true],["ConnectedTo",IFCRELCONNECTSELEMENTS,5,true],["IsInterferedByElements",IFCRELINTERFERESELEMENTS,5,true],["InterferesElements",IFCRELINTERFERESELEMENTS,4,true],["HasProjections",IFCRELPROJECTSELEMENT,4,true],["HasOpenings",IFCRELVOIDSELEMENT,4,true],["IsConnectionRealization",IFCRELCONNECTSWITHREALIZINGELEMENTS,7,true],["ProvidesBoundaries",IFCRELSPACEBOUNDARY,5,true],["ConnectedFrom",IFCRELCONNECTSELEMENTS,6,true],["ContainedInStructure",IFCRELCONTAINEDINSPATIALSTRUCTURE,4,true],["HasCoverings",IFCRELCOVERSBLDGELEMENTS,4,true],["HasSurfaceFeatures",IFCRELADHERESTOELEMENT,4,true]],39481116:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["Types",IFCRELDEFINESBYTYPE,5,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true]],1909888760:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["Types",IFCRELDEFINESBYTYPE,5,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true]],1177604601:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDeclaredBy",IFCRELDEFINESBYOBJECT,4,true],["Declares",IFCRELDEFINESBYOBJECT,5,true],["IsTypedBy",IFCRELDEFINESBYTYPE,4,true],["IsDefinedBy",IFCRELDEFINESBYPROPERTIES,4,true],["IsGroupedBy",IFCRELASSIGNSTOGROUP,6,true],["ReferencedInStructures",IFCRELREFERENCEDINSPATIALSTRUCTURE,4,true],["ServicesBuildings",IFCRELSERVICESBUILDINGS,4,true],["ServicesFacilities",IFCRELREFERENCEDINSPATIALSTRUCTURE,4,true]],1876633798:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDeclaredBy",IFCRELDEFINESBYOBJECT,4,true],["Declares",IFCRELDEFINESBYOBJECT,5,true],["IsTypedBy",IFCRELDEFINESBYTYPE,4,true],["IsDefinedBy",IFCRELDEFINESBYPROPERTIES,4,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true],["PositionedRelativeTo",IFCRELPOSITIONS,5,true],["ReferencedInStructures",IFCRELREFERENCEDINSPATIALSTRUCTURE,4,true],["FillsVoids",IFCRELFILLSELEMENT,5,true],["ConnectedTo",IFCRELCONNECTSELEMENTS,5,true],["IsInterferedByElements",IFCRELINTERFERESELEMENTS,5,true],["InterferesElements",IFCRELINTERFERESELEMENTS,4,true],["HasProjections",IFCRELPROJECTSELEMENT,4,true],["HasOpenings",IFCRELVOIDSELEMENT,4,true],["IsConnectionRealization",IFCRELCONNECTSWITHREALIZINGELEMENTS,7,true],["ProvidesBoundaries",IFCRELSPACEBOUNDARY,5,true],["ConnectedFrom",IFCRELCONNECTSELEMENTS,6,true],["ContainedInStructure",IFCRELCONTAINEDINSPATIALSTRUCTURE,4,true],["HasCoverings",IFCRELCOVERSBLDGELEMENTS,4,true],["HasSurfaceFeatures",IFCRELADHERESTOELEMENT,4,true]],3862327254:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDeclaredBy",IFCRELDEFINESBYOBJECT,4,true],["Declares",IFCRELDEFINESBYOBJECT,5,true],["IsTypedBy",IFCRELDEFINESBYTYPE,4,true],["IsDefinedBy",IFCRELDEFINESBYPROPERTIES,4,true],["IsGroupedBy",IFCRELASSIGNSTOGROUP,6,true],["ReferencedInStructures",IFCRELREFERENCEDINSPATIALSTRUCTURE,4,true],["ServicesBuildings",IFCRELSERVICESBUILDINGS,4,true],["ServicesFacilities",IFCRELREFERENCEDINSPATIALSTRUCTURE,4,true]],2188180465:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["Types",IFCRELDEFINESBYTYPE,5,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true]],395041908:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["Types",IFCRELDEFINESBYTYPE,5,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true]],3293546465:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["Types",IFCRELDEFINESBYTYPE,5,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true]],2674252688:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["Types",IFCRELDEFINESBYTYPE,5,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true]],1285652485:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["Types",IFCRELDEFINESBYTYPE,5,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true]],3203706013:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["Types",IFCRELDEFINESBYTYPE,5,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true]],2951183804:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["Types",IFCRELDEFINESBYTYPE,5,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true]],3296154744:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDeclaredBy",IFCRELDEFINESBYOBJECT,4,true],["Declares",IFCRELDEFINESBYOBJECT,5,true],["IsTypedBy",IFCRELDEFINESBYTYPE,4,true],["IsDefinedBy",IFCRELDEFINESBYPROPERTIES,4,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true],["PositionedRelativeTo",IFCRELPOSITIONS,5,true],["ReferencedInStructures",IFCRELREFERENCEDINSPATIALSTRUCTURE,4,true],["FillsVoids",IFCRELFILLSELEMENT,5,true],["ConnectedTo",IFCRELCONNECTSELEMENTS,5,true],["IsInterferedByElements",IFCRELINTERFERESELEMENTS,5,true],["InterferesElements",IFCRELINTERFERESELEMENTS,4,true],["HasProjections",IFCRELPROJECTSELEMENT,4,true],["HasOpenings",IFCRELVOIDSELEMENT,4,true],["IsConnectionRealization",IFCRELCONNECTSWITHREALIZINGELEMENTS,7,true],["ProvidesBoundaries",IFCRELSPACEBOUNDARY,5,true],["ConnectedFrom",IFCRELCONNECTSELEMENTS,6,true],["ContainedInStructure",IFCRELCONTAINEDINSPATIALSTRUCTURE,4,true],["HasCoverings",IFCRELCOVERSBLDGELEMENTS,4,true],["HasSurfaceFeatures",IFCRELADHERESTOELEMENT,4,true]],2611217952:[["LayerAssignment",IFCPRESENTATIONLAYERASSIGNMENT,2,true],["StyledByItem",IFCSTYLEDITEM,0,true]],1677625105:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDeclaredBy",IFCRELDEFINESBYOBJECT,4,true],["Declares",IFCRELDEFINESBYOBJECT,5,true],["IsTypedBy",IFCRELDEFINESBYTYPE,4,true],["IsDefinedBy",IFCRELDEFINESBYPROPERTIES,4,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true],["PositionedRelativeTo",IFCRELPOSITIONS,5,true],["ReferencedInStructures",IFCRELREFERENCEDINSPATIALSTRUCTURE,4,true],["FillsVoids",IFCRELFILLSELEMENT,5,true],["ConnectedTo",IFCRELCONNECTSELEMENTS,5,true],["IsInterferedByElements",IFCRELINTERFERESELEMENTS,5,true],["InterferesElements",IFCRELINTERFERESELEMENTS,4,true],["HasProjections",IFCRELPROJECTSELEMENT,4,true],["HasOpenings",IFCRELVOIDSELEMENT,4,true],["IsConnectionRealization",IFCRELCONNECTSWITHREALIZINGELEMENTS,7,true],["ProvidesBoundaries",IFCRELSPACEBOUNDARY,5,true],["ConnectedFrom",IFCRELCONNECTSELEMENTS,6,true],["ContainedInStructure",IFCRELCONTAINEDINSPATIALSTRUCTURE,4,true],["HasCoverings",IFCRELCOVERSBLDGELEMENTS,4,true],["HasSurfaceFeatures",IFCRELADHERESTOELEMENT,4,true]],2301859152:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["Types",IFCRELDEFINESBYTYPE,5,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true]],843113511:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDeclaredBy",IFCRELDEFINESBYOBJECT,4,true],["Declares",IFCRELDEFINESBYOBJECT,5,true],["IsTypedBy",IFCRELDEFINESBYTYPE,4,true],["IsDefinedBy",IFCRELDEFINESBYPROPERTIES,4,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true],["PositionedRelativeTo",IFCRELPOSITIONS,5,true],["ReferencedInStructures",IFCRELREFERENCEDINSPATIALSTRUCTURE,4,true],["FillsVoids",IFCRELFILLSELEMENT,5,true],["ConnectedTo",IFCRELCONNECTSELEMENTS,5,true],["IsInterferedByElements",IFCRELINTERFERESELEMENTS,5,true],["InterferesElements",IFCRELINTERFERESELEMENTS,4,true],["HasProjections",IFCRELPROJECTSELEMENT,4,true],["HasOpenings",IFCRELVOIDSELEMENT,4,true],["IsConnectionRealization",IFCRELCONNECTSWITHREALIZINGELEMENTS,7,true],["ProvidesBoundaries",IFCRELSPACEBOUNDARY,5,true],["ConnectedFrom",IFCRELCONNECTSELEMENTS,6,true],["ContainedInStructure",IFCRELCONTAINEDINSPATIALSTRUCTURE,4,true],["HasCoverings",IFCRELCOVERSBLDGELEMENTS,4,true],["HasSurfaceFeatures",IFCRELADHERESTOELEMENT,4,true]],400855858:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["Types",IFCRELDEFINESBYTYPE,5,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true]],3850581409:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["Types",IFCRELDEFINESBYTYPE,5,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true]],2816379211:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["Types",IFCRELDEFINESBYTYPE,5,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true]],3898045240:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDeclaredBy",IFCRELDEFINESBYOBJECT,4,true],["Declares",IFCRELDEFINESBYOBJECT,5,true],["IsTypedBy",IFCRELDEFINESBYTYPE,4,true],["IsDefinedBy",IFCRELDEFINESBYPROPERTIES,4,true],["ResourceOf",IFCRELASSIGNSTORESOURCE,6,true]],1060000209:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDeclaredBy",IFCRELDEFINESBYOBJECT,4,true],["Declares",IFCRELDEFINESBYOBJECT,5,true],["IsTypedBy",IFCRELDEFINESBYTYPE,4,true],["IsDefinedBy",IFCRELDEFINESBYPROPERTIES,4,true],["ResourceOf",IFCRELASSIGNSTORESOURCE,6,true]],488727124:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDeclaredBy",IFCRELDEFINESBYOBJECT,4,true],["Declares",IFCRELDEFINESBYOBJECT,5,true],["IsTypedBy",IFCRELDEFINESBYTYPE,4,true],["IsDefinedBy",IFCRELDEFINESBYPROPERTIES,4,true],["ResourceOf",IFCRELASSIGNSTORESOURCE,6,true]],2940368186:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["Types",IFCRELDEFINESBYTYPE,5,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true]],335055490:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["Types",IFCRELDEFINESBYTYPE,5,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true]],2954562838:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["Types",IFCRELDEFINESBYTYPE,5,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true]],1502416096:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDeclaredBy",IFCRELDEFINESBYOBJECT,4,true],["Declares",IFCRELDEFINESBYOBJECT,5,true],["IsTypedBy",IFCRELDEFINESBYTYPE,4,true],["IsDefinedBy",IFCRELDEFINESBYPROPERTIES,4,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true],["PositionedRelativeTo",IFCRELPOSITIONS,5,true],["ReferencedInStructures",IFCRELREFERENCEDINSPATIALSTRUCTURE,4,true],["FillsVoids",IFCRELFILLSELEMENT,5,true],["ConnectedTo",IFCRELCONNECTSELEMENTS,5,true],["IsInterferedByElements",IFCRELINTERFERESELEMENTS,5,true],["InterferesElements",IFCRELINTERFERESELEMENTS,4,true],["HasProjections",IFCRELPROJECTSELEMENT,4,true],["HasOpenings",IFCRELVOIDSELEMENT,4,true],["IsConnectionRealization",IFCRELCONNECTSWITHREALIZINGELEMENTS,7,true],["ProvidesBoundaries",IFCRELSPACEBOUNDARY,5,true],["ConnectedFrom",IFCRELCONNECTSELEMENTS,6,true],["ContainedInStructure",IFCRELCONTAINEDINSPATIALSTRUCTURE,4,true],["HasCoverings",IFCRELCOVERSBLDGELEMENTS,4,true],["HasSurfaceFeatures",IFCRELADHERESTOELEMENT,4,true]],1973544240:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDeclaredBy",IFCRELDEFINESBYOBJECT,4,true],["Declares",IFCRELDEFINESBYOBJECT,5,true],["IsTypedBy",IFCRELDEFINESBYTYPE,4,true],["IsDefinedBy",IFCRELDEFINESBYPROPERTIES,4,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true],["PositionedRelativeTo",IFCRELPOSITIONS,5,true],["ReferencedInStructures",IFCRELREFERENCEDINSPATIALSTRUCTURE,4,true],["FillsVoids",IFCRELFILLSELEMENT,5,true],["ConnectedTo",IFCRELCONNECTSELEMENTS,5,true],["IsInterferedByElements",IFCRELINTERFERESELEMENTS,5,true],["InterferesElements",IFCRELINTERFERESELEMENTS,4,true],["HasProjections",IFCRELPROJECTSELEMENT,4,true],["HasOpenings",IFCRELVOIDSELEMENT,4,true],["IsConnectionRealization",IFCRELCONNECTSWITHREALIZINGELEMENTS,7,true],["ProvidesBoundaries",IFCRELSPACEBOUNDARY,5,true],["ConnectedFrom",IFCRELCONNECTSELEMENTS,6,true],["ContainedInStructure",IFCRELCONTAINEDINSPATIALSTRUCTURE,4,true],["HasCoverings",IFCRELCOVERSBLDGELEMENTS,4,true],["HasSurfaceFeatures",IFCRELADHERESTOELEMENT,4,true],["CoversSpaces",IFCRELCOVERSSPACES,5,true],["CoversElements",IFCRELCOVERSBLDGELEMENTS,5,true]],3495092785:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDeclaredBy",IFCRELDEFINESBYOBJECT,4,true],["Declares",IFCRELDEFINESBYOBJECT,5,true],["IsTypedBy",IFCRELDEFINESBYTYPE,4,true],["IsDefinedBy",IFCRELDEFINESBYPROPERTIES,4,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true],["PositionedRelativeTo",IFCRELPOSITIONS,5,true],["ReferencedInStructures",IFCRELREFERENCEDINSPATIALSTRUCTURE,4,true],["FillsVoids",IFCRELFILLSELEMENT,5,true],["ConnectedTo",IFCRELCONNECTSELEMENTS,5,true],["IsInterferedByElements",IFCRELINTERFERESELEMENTS,5,true],["InterferesElements",IFCRELINTERFERESELEMENTS,4,true],["HasProjections",IFCRELPROJECTSELEMENT,4,true],["HasOpenings",IFCRELVOIDSELEMENT,4,true],["IsConnectionRealization",IFCRELCONNECTSWITHREALIZINGELEMENTS,7,true],["ProvidesBoundaries",IFCRELSPACEBOUNDARY,5,true],["ConnectedFrom",IFCRELCONNECTSELEMENTS,6,true],["ContainedInStructure",IFCRELCONTAINEDINSPATIALSTRUCTURE,4,true],["HasCoverings",IFCRELCOVERSBLDGELEMENTS,4,true],["HasSurfaceFeatures",IFCRELADHERESTOELEMENT,4,true]],3961806047:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["Types",IFCRELDEFINESBYTYPE,5,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true]],3426335179:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDeclaredBy",IFCRELDEFINESBYOBJECT,4,true],["Declares",IFCRELDEFINESBYOBJECT,5,true],["IsTypedBy",IFCRELDEFINESBYTYPE,4,true],["IsDefinedBy",IFCRELDEFINESBYPROPERTIES,4,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true],["PositionedRelativeTo",IFCRELPOSITIONS,5,true],["ReferencedInStructures",IFCRELREFERENCEDINSPATIALSTRUCTURE,4,true],["FillsVoids",IFCRELFILLSELEMENT,5,true],["ConnectedTo",IFCRELCONNECTSELEMENTS,5,true],["IsInterferedByElements",IFCRELINTERFERESELEMENTS,5,true],["InterferesElements",IFCRELINTERFERESELEMENTS,4,true],["HasProjections",IFCRELPROJECTSELEMENT,4,true],["HasOpenings",IFCRELVOIDSELEMENT,4,true],["IsConnectionRealization",IFCRELCONNECTSWITHREALIZINGELEMENTS,7,true],["ProvidesBoundaries",IFCRELSPACEBOUNDARY,5,true],["ConnectedFrom",IFCRELCONNECTSELEMENTS,6,true],["ContainedInStructure",IFCRELCONTAINEDINSPATIALSTRUCTURE,4,true],["HasCoverings",IFCRELCOVERSBLDGELEMENTS,4,true],["HasSurfaceFeatures",IFCRELADHERESTOELEMENT,4,true]],1335981549:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDeclaredBy",IFCRELDEFINESBYOBJECT,4,true],["Declares",IFCRELDEFINESBYOBJECT,5,true],["IsTypedBy",IFCRELDEFINESBYTYPE,4,true],["IsDefinedBy",IFCRELDEFINESBYPROPERTIES,4,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true],["PositionedRelativeTo",IFCRELPOSITIONS,5,true],["ReferencedInStructures",IFCRELREFERENCEDINSPATIALSTRUCTURE,4,true],["FillsVoids",IFCRELFILLSELEMENT,5,true],["ConnectedTo",IFCRELCONNECTSELEMENTS,5,true],["IsInterferedByElements",IFCRELINTERFERESELEMENTS,5,true],["InterferesElements",IFCRELINTERFERESELEMENTS,4,true],["HasProjections",IFCRELPROJECTSELEMENT,4,true],["HasOpenings",IFCRELVOIDSELEMENT,4,true],["IsConnectionRealization",IFCRELCONNECTSWITHREALIZINGELEMENTS,7,true],["ProvidesBoundaries",IFCRELSPACEBOUNDARY,5,true],["ConnectedFrom",IFCRELCONNECTSELEMENTS,6,true],["ContainedInStructure",IFCRELCONTAINEDINSPATIALSTRUCTURE,4,true],["HasCoverings",IFCRELCOVERSBLDGELEMENTS,4,true],["HasSurfaceFeatures",IFCRELADHERESTOELEMENT,4,true]],2635815018:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["Types",IFCRELDEFINESBYTYPE,5,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true]],479945903:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["Types",IFCRELDEFINESBYTYPE,5,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true]],1599208980:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["Types",IFCRELDEFINESBYTYPE,5,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true]],2063403501:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["Types",IFCRELDEFINESBYTYPE,5,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true]],1945004755:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDeclaredBy",IFCRELDEFINESBYOBJECT,4,true],["Declares",IFCRELDEFINESBYOBJECT,5,true],["IsTypedBy",IFCRELDEFINESBYTYPE,4,true],["IsDefinedBy",IFCRELDEFINESBYPROPERTIES,4,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true],["PositionedRelativeTo",IFCRELPOSITIONS,5,true],["ReferencedInStructures",IFCRELREFERENCEDINSPATIALSTRUCTURE,4,true],["FillsVoids",IFCRELFILLSELEMENT,5,true],["ConnectedTo",IFCRELCONNECTSELEMENTS,5,true],["IsInterferedByElements",IFCRELINTERFERESELEMENTS,5,true],["InterferesElements",IFCRELINTERFERESELEMENTS,4,true],["HasProjections",IFCRELPROJECTSELEMENT,4,true],["HasOpenings",IFCRELVOIDSELEMENT,4,true],["IsConnectionRealization",IFCRELCONNECTSWITHREALIZINGELEMENTS,7,true],["ProvidesBoundaries",IFCRELSPACEBOUNDARY,5,true],["ConnectedFrom",IFCRELCONNECTSELEMENTS,6,true],["ContainedInStructure",IFCRELCONTAINEDINSPATIALSTRUCTURE,4,true],["HasCoverings",IFCRELCOVERSBLDGELEMENTS,4,true],["HasSurfaceFeatures",IFCRELADHERESTOELEMENT,4,true],["HasPorts",IFCRELCONNECTSPORTTOELEMENT,5,true]],3040386961:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDeclaredBy",IFCRELDEFINESBYOBJECT,4,true],["Declares",IFCRELDEFINESBYOBJECT,5,true],["IsTypedBy",IFCRELDEFINESBYTYPE,4,true],["IsDefinedBy",IFCRELDEFINESBYPROPERTIES,4,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true],["PositionedRelativeTo",IFCRELPOSITIONS,5,true],["ReferencedInStructures",IFCRELREFERENCEDINSPATIALSTRUCTURE,4,true],["FillsVoids",IFCRELFILLSELEMENT,5,true],["ConnectedTo",IFCRELCONNECTSELEMENTS,5,true],["IsInterferedByElements",IFCRELINTERFERESELEMENTS,5,true],["InterferesElements",IFCRELINTERFERESELEMENTS,4,true],["HasProjections",IFCRELPROJECTSELEMENT,4,true],["HasOpenings",IFCRELVOIDSELEMENT,4,true],["IsConnectionRealization",IFCRELCONNECTSWITHREALIZINGELEMENTS,7,true],["ProvidesBoundaries",IFCRELSPACEBOUNDARY,5,true],["ConnectedFrom",IFCRELCONNECTSELEMENTS,6,true],["ContainedInStructure",IFCRELCONTAINEDINSPATIALSTRUCTURE,4,true],["HasCoverings",IFCRELCOVERSBLDGELEMENTS,4,true],["HasSurfaceFeatures",IFCRELADHERESTOELEMENT,4,true],["HasPorts",IFCRELCONNECTSPORTTOELEMENT,5,true],["HasControlElements",IFCRELFLOWCONTROLELEMENTS,5,true]],3041715199:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDeclaredBy",IFCRELDEFINESBYOBJECT,4,true],["Declares",IFCRELDEFINESBYOBJECT,5,true],["IsTypedBy",IFCRELDEFINESBYTYPE,4,true],["IsDefinedBy",IFCRELDEFINESBYPROPERTIES,4,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true],["PositionedRelativeTo",IFCRELPOSITIONS,5,true],["ReferencedInStructures",IFCRELREFERENCEDINSPATIALSTRUCTURE,4,true],["ContainedIn",IFCRELCONNECTSPORTTOELEMENT,4,true],["ConnectedFrom",IFCRELCONNECTSPORTS,5,true],["ConnectedTo",IFCRELCONNECTSPORTS,4,true]],3205830791:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDeclaredBy",IFCRELDEFINESBYOBJECT,4,true],["Declares",IFCRELDEFINESBYOBJECT,5,true],["IsTypedBy",IFCRELDEFINESBYTYPE,4,true],["IsDefinedBy",IFCRELDEFINESBYPROPERTIES,4,true],["IsGroupedBy",IFCRELASSIGNSTOGROUP,6,true],["ReferencedInStructures",IFCRELREFERENCEDINSPATIALSTRUCTURE,4,true],["ServicesBuildings",IFCRELSERVICESBUILDINGS,4,true],["ServicesFacilities",IFCRELREFERENCEDINSPATIALSTRUCTURE,4,true]],395920057:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDeclaredBy",IFCRELDEFINESBYOBJECT,4,true],["Declares",IFCRELDEFINESBYOBJECT,5,true],["IsTypedBy",IFCRELDEFINESBYTYPE,4,true],["IsDefinedBy",IFCRELDEFINESBYPROPERTIES,4,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true],["PositionedRelativeTo",IFCRELPOSITIONS,5,true],["ReferencedInStructures",IFCRELREFERENCEDINSPATIALSTRUCTURE,4,true],["FillsVoids",IFCRELFILLSELEMENT,5,true],["ConnectedTo",IFCRELCONNECTSELEMENTS,5,true],["IsInterferedByElements",IFCRELINTERFERESELEMENTS,5,true],["InterferesElements",IFCRELINTERFERESELEMENTS,4,true],["HasProjections",IFCRELPROJECTSELEMENT,4,true],["HasOpenings",IFCRELVOIDSELEMENT,4,true],["IsConnectionRealization",IFCRELCONNECTSWITHREALIZINGELEMENTS,7,true],["ProvidesBoundaries",IFCRELSPACEBOUNDARY,5,true],["ConnectedFrom",IFCRELCONNECTSELEMENTS,6,true],["ContainedInStructure",IFCRELCONTAINEDINSPATIALSTRUCTURE,4,true],["HasCoverings",IFCRELCOVERSBLDGELEMENTS,4,true],["HasSurfaceFeatures",IFCRELADHERESTOELEMENT,4,true]],869906466:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["Types",IFCRELDEFINESBYTYPE,5,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true]],3760055223:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["Types",IFCRELDEFINESBYTYPE,5,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true]],2030761528:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["Types",IFCRELDEFINESBYTYPE,5,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true]],3071239417:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDeclaredBy",IFCRELDEFINESBYOBJECT,4,true],["Declares",IFCRELDEFINESBYOBJECT,5,true],["IsTypedBy",IFCRELDEFINESBYTYPE,4,true],["IsDefinedBy",IFCRELDEFINESBYPROPERTIES,4,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true],["PositionedRelativeTo",IFCRELPOSITIONS,5,true],["ReferencedInStructures",IFCRELREFERENCEDINSPATIALSTRUCTURE,4,true],["FillsVoids",IFCRELFILLSELEMENT,5,true],["ConnectedTo",IFCRELCONNECTSELEMENTS,5,true],["IsInterferedByElements",IFCRELINTERFERESELEMENTS,5,true],["InterferesElements",IFCRELINTERFERESELEMENTS,4,true],["HasProjections",IFCRELPROJECTSELEMENT,4,true],["HasOpenings",IFCRELVOIDSELEMENT,4,true],["IsConnectionRealization",IFCRELCONNECTSWITHREALIZINGELEMENTS,7,true],["ProvidesBoundaries",IFCRELSPACEBOUNDARY,5,true],["ConnectedFrom",IFCRELCONNECTSELEMENTS,6,true],["ContainedInStructure",IFCRELCONTAINEDINSPATIALSTRUCTURE,4,true],["HasCoverings",IFCRELCOVERSBLDGELEMENTS,4,true],["HasSurfaceFeatures",IFCRELADHERESTOELEMENT,4,true],["VoidsElements",IFCRELVOIDSELEMENT,5,false]],1077100507:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDeclaredBy",IFCRELDEFINESBYOBJECT,4,true],["Declares",IFCRELDEFINESBYOBJECT,5,true],["IsTypedBy",IFCRELDEFINESBYTYPE,4,true],["IsDefinedBy",IFCRELDEFINESBYPROPERTIES,4,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true],["PositionedRelativeTo",IFCRELPOSITIONS,5,true],["ReferencedInStructures",IFCRELREFERENCEDINSPATIALSTRUCTURE,4,true],["FillsVoids",IFCRELFILLSELEMENT,5,true],["ConnectedTo",IFCRELCONNECTSELEMENTS,5,true],["IsInterferedByElements",IFCRELINTERFERESELEMENTS,5,true],["InterferesElements",IFCRELINTERFERESELEMENTS,4,true],["HasProjections",IFCRELPROJECTSELEMENT,4,true],["HasOpenings",IFCRELVOIDSELEMENT,4,true],["IsConnectionRealization",IFCRELCONNECTSWITHREALIZINGELEMENTS,7,true],["ProvidesBoundaries",IFCRELSPACEBOUNDARY,5,true],["ConnectedFrom",IFCRELCONNECTSELEMENTS,6,true],["ContainedInStructure",IFCRELCONTAINEDINSPATIALSTRUCTURE,4,true],["HasCoverings",IFCRELCOVERSBLDGELEMENTS,4,true],["HasSurfaceFeatures",IFCRELADHERESTOELEMENT,4,true]],3376911765:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDeclaredBy",IFCRELDEFINESBYOBJECT,4,true],["Declares",IFCRELDEFINESBYOBJECT,5,true],["IsTypedBy",IFCRELDEFINESBYTYPE,4,true],["IsDefinedBy",IFCRELDEFINESBYPROPERTIES,4,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true],["PositionedRelativeTo",IFCRELPOSITIONS,5,true],["ReferencedInStructures",IFCRELREFERENCEDINSPATIALSTRUCTURE,4,true],["FillsVoids",IFCRELFILLSELEMENT,5,true],["ConnectedTo",IFCRELCONNECTSELEMENTS,5,true],["IsInterferedByElements",IFCRELINTERFERESELEMENTS,5,true],["InterferesElements",IFCRELINTERFERESELEMENTS,4,true],["HasProjections",IFCRELPROJECTSELEMENT,4,true],["HasOpenings",IFCRELVOIDSELEMENT,4,true],["IsConnectionRealization",IFCRELCONNECTSWITHREALIZINGELEMENTS,7,true],["ProvidesBoundaries",IFCRELSPACEBOUNDARY,5,true],["ConnectedFrom",IFCRELCONNECTSELEMENTS,6,true],["ContainedInStructure",IFCRELCONTAINEDINSPATIALSTRUCTURE,4,true],["HasCoverings",IFCRELCOVERSBLDGELEMENTS,4,true],["HasSurfaceFeatures",IFCRELADHERESTOELEMENT,4,true]],663422040:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["Types",IFCRELDEFINESBYTYPE,5,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true]],2417008758:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["Types",IFCRELDEFINESBYTYPE,5,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true]],3277789161:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["Types",IFCRELDEFINESBYTYPE,5,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true]],2142170206:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["Types",IFCRELDEFINESBYTYPE,5,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true]],1534661035:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["Types",IFCRELDEFINESBYTYPE,5,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true]],1217240411:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["Types",IFCRELDEFINESBYTYPE,5,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true]],712377611:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["Types",IFCRELDEFINESBYTYPE,5,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true]],1658829314:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDeclaredBy",IFCRELDEFINESBYOBJECT,4,true],["Declares",IFCRELDEFINESBYOBJECT,5,true],["IsTypedBy",IFCRELDEFINESBYTYPE,4,true],["IsDefinedBy",IFCRELDEFINESBYPROPERTIES,4,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true],["PositionedRelativeTo",IFCRELPOSITIONS,5,true],["ReferencedInStructures",IFCRELREFERENCEDINSPATIALSTRUCTURE,4,true],["FillsVoids",IFCRELFILLSELEMENT,5,true],["ConnectedTo",IFCRELCONNECTSELEMENTS,5,true],["IsInterferedByElements",IFCRELINTERFERESELEMENTS,5,true],["InterferesElements",IFCRELINTERFERESELEMENTS,4,true],["HasProjections",IFCRELPROJECTSELEMENT,4,true],["HasOpenings",IFCRELVOIDSELEMENT,4,true],["IsConnectionRealization",IFCRELCONNECTSWITHREALIZINGELEMENTS,7,true],["ProvidesBoundaries",IFCRELSPACEBOUNDARY,5,true],["ConnectedFrom",IFCRELCONNECTSELEMENTS,6,true],["ContainedInStructure",IFCRELCONTAINEDINSPATIALSTRUCTURE,4,true],["HasCoverings",IFCRELCOVERSBLDGELEMENTS,4,true],["HasSurfaceFeatures",IFCRELADHERESTOELEMENT,4,true],["HasPorts",IFCRELCONNECTSPORTTOELEMENT,5,true],["HasControlElements",IFCRELFLOWCONTROLELEMENTS,5,true]],2814081492:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDeclaredBy",IFCRELDEFINESBYOBJECT,4,true],["Declares",IFCRELDEFINESBYOBJECT,5,true],["IsTypedBy",IFCRELDEFINESBYTYPE,4,true],["IsDefinedBy",IFCRELDEFINESBYPROPERTIES,4,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true],["PositionedRelativeTo",IFCRELPOSITIONS,5,true],["ReferencedInStructures",IFCRELREFERENCEDINSPATIALSTRUCTURE,4,true],["FillsVoids",IFCRELFILLSELEMENT,5,true],["ConnectedTo",IFCRELCONNECTSELEMENTS,5,true],["IsInterferedByElements",IFCRELINTERFERESELEMENTS,5,true],["InterferesElements",IFCRELINTERFERESELEMENTS,4,true],["HasProjections",IFCRELPROJECTSELEMENT,4,true],["HasOpenings",IFCRELVOIDSELEMENT,4,true],["IsConnectionRealization",IFCRELCONNECTSWITHREALIZINGELEMENTS,7,true],["ProvidesBoundaries",IFCRELSPACEBOUNDARY,5,true],["ConnectedFrom",IFCRELCONNECTSELEMENTS,6,true],["ContainedInStructure",IFCRELCONTAINEDINSPATIALSTRUCTURE,4,true],["HasCoverings",IFCRELCOVERSBLDGELEMENTS,4,true],["HasSurfaceFeatures",IFCRELADHERESTOELEMENT,4,true],["HasPorts",IFCRELCONNECTSPORTTOELEMENT,5,true],["HasControlElements",IFCRELFLOWCONTROLELEMENTS,5,true]],3747195512:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDeclaredBy",IFCRELDEFINESBYOBJECT,4,true],["Declares",IFCRELDEFINESBYOBJECT,5,true],["IsTypedBy",IFCRELDEFINESBYTYPE,4,true],["IsDefinedBy",IFCRELDEFINESBYPROPERTIES,4,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true],["PositionedRelativeTo",IFCRELPOSITIONS,5,true],["ReferencedInStructures",IFCRELREFERENCEDINSPATIALSTRUCTURE,4,true],["FillsVoids",IFCRELFILLSELEMENT,5,true],["ConnectedTo",IFCRELCONNECTSELEMENTS,5,true],["IsInterferedByElements",IFCRELINTERFERESELEMENTS,5,true],["InterferesElements",IFCRELINTERFERESELEMENTS,4,true],["HasProjections",IFCRELPROJECTSELEMENT,4,true],["HasOpenings",IFCRELVOIDSELEMENT,4,true],["IsConnectionRealization",IFCRELCONNECTSWITHREALIZINGELEMENTS,7,true],["ProvidesBoundaries",IFCRELSPACEBOUNDARY,5,true],["ConnectedFrom",IFCRELCONNECTSELEMENTS,6,true],["ContainedInStructure",IFCRELCONTAINEDINSPATIALSTRUCTURE,4,true],["HasCoverings",IFCRELCOVERSBLDGELEMENTS,4,true],["HasSurfaceFeatures",IFCRELADHERESTOELEMENT,4,true],["HasPorts",IFCRELCONNECTSPORTTOELEMENT,5,true],["HasControlElements",IFCRELFLOWCONTROLELEMENTS,5,true]],484807127:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDeclaredBy",IFCRELDEFINESBYOBJECT,4,true],["Declares",IFCRELDEFINESBYOBJECT,5,true],["IsTypedBy",IFCRELDEFINESBYTYPE,4,true],["IsDefinedBy",IFCRELDEFINESBYPROPERTIES,4,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true],["PositionedRelativeTo",IFCRELPOSITIONS,5,true],["ReferencedInStructures",IFCRELREFERENCEDINSPATIALSTRUCTURE,4,true],["FillsVoids",IFCRELFILLSELEMENT,5,true],["ConnectedTo",IFCRELCONNECTSELEMENTS,5,true],["IsInterferedByElements",IFCRELINTERFERESELEMENTS,5,true],["InterferesElements",IFCRELINTERFERESELEMENTS,4,true],["HasProjections",IFCRELPROJECTSELEMENT,4,true],["HasOpenings",IFCRELVOIDSELEMENT,4,true],["IsConnectionRealization",IFCRELCONNECTSWITHREALIZINGELEMENTS,7,true],["ProvidesBoundaries",IFCRELSPACEBOUNDARY,5,true],["ConnectedFrom",IFCRELCONNECTSELEMENTS,6,true],["ContainedInStructure",IFCRELCONTAINEDINSPATIALSTRUCTURE,4,true],["HasCoverings",IFCRELCOVERSBLDGELEMENTS,4,true],["HasSurfaceFeatures",IFCRELADHERESTOELEMENT,4,true],["HasPorts",IFCRELCONNECTSPORTTOELEMENT,5,true],["HasControlElements",IFCRELFLOWCONTROLELEMENTS,5,true]],1209101575:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDeclaredBy",IFCRELDEFINESBYOBJECT,4,true],["Declares",IFCRELDEFINESBYOBJECT,5,true],["IsTypedBy",IFCRELDEFINESBYTYPE,4,true],["IsDefinedBy",IFCRELDEFINESBYPROPERTIES,4,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true],["PositionedRelativeTo",IFCRELPOSITIONS,5,true],["ReferencedInStructures",IFCRELREFERENCEDINSPATIALSTRUCTURE,4,true],["ContainsElements",IFCRELCONTAINEDINSPATIALSTRUCTURE,5,true],["ServicedBySystems",IFCRELSERVICESBUILDINGS,5,true],["ReferencesElements",IFCRELREFERENCEDINSPATIALSTRUCTURE,5,true],["IsInterferedByElements",IFCRELINTERFERESELEMENTS,5,true],["InterferesElements",IFCRELINTERFERESELEMENTS,4,true],["BoundedBy",IFCRELSPACEBOUNDARY,4,true]],346874300:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["Types",IFCRELDEFINESBYTYPE,5,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true]],1810631287:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["Types",IFCRELDEFINESBYTYPE,5,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true]],4222183408:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["Types",IFCRELDEFINESBYTYPE,5,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true]],2058353004:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDeclaredBy",IFCRELDEFINESBYOBJECT,4,true],["Declares",IFCRELDEFINESBYOBJECT,5,true],["IsTypedBy",IFCRELDEFINESBYTYPE,4,true],["IsDefinedBy",IFCRELDEFINESBYPROPERTIES,4,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true],["PositionedRelativeTo",IFCRELPOSITIONS,5,true],["ReferencedInStructures",IFCRELREFERENCEDINSPATIALSTRUCTURE,4,true],["FillsVoids",IFCRELFILLSELEMENT,5,true],["ConnectedTo",IFCRELCONNECTSELEMENTS,5,true],["IsInterferedByElements",IFCRELINTERFERESELEMENTS,5,true],["InterferesElements",IFCRELINTERFERESELEMENTS,4,true],["HasProjections",IFCRELPROJECTSELEMENT,4,true],["HasOpenings",IFCRELVOIDSELEMENT,4,true],["IsConnectionRealization",IFCRELCONNECTSWITHREALIZINGELEMENTS,7,true],["ProvidesBoundaries",IFCRELSPACEBOUNDARY,5,true],["ConnectedFrom",IFCRELCONNECTSELEMENTS,6,true],["ContainedInStructure",IFCRELCONTAINEDINSPATIALSTRUCTURE,4,true],["HasCoverings",IFCRELCOVERSBLDGELEMENTS,4,true],["HasSurfaceFeatures",IFCRELADHERESTOELEMENT,4,true],["HasPorts",IFCRELCONNECTSPORTTOELEMENT,5,true],["HasControlElements",IFCRELFLOWCONTROLELEMENTS,5,true]],4278956645:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDeclaredBy",IFCRELDEFINESBYOBJECT,4,true],["Declares",IFCRELDEFINESBYOBJECT,5,true],["IsTypedBy",IFCRELDEFINESBYTYPE,4,true],["IsDefinedBy",IFCRELDEFINESBYPROPERTIES,4,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true],["PositionedRelativeTo",IFCRELPOSITIONS,5,true],["ReferencedInStructures",IFCRELREFERENCEDINSPATIALSTRUCTURE,4,true],["FillsVoids",IFCRELFILLSELEMENT,5,true],["ConnectedTo",IFCRELCONNECTSELEMENTS,5,true],["IsInterferedByElements",IFCRELINTERFERESELEMENTS,5,true],["InterferesElements",IFCRELINTERFERESELEMENTS,4,true],["HasProjections",IFCRELPROJECTSELEMENT,4,true],["HasOpenings",IFCRELVOIDSELEMENT,4,true],["IsConnectionRealization",IFCRELCONNECTSWITHREALIZINGELEMENTS,7,true],["ProvidesBoundaries",IFCRELSPACEBOUNDARY,5,true],["ConnectedFrom",IFCRELCONNECTSELEMENTS,6,true],["ContainedInStructure",IFCRELCONTAINEDINSPATIALSTRUCTURE,4,true],["HasCoverings",IFCRELCOVERSBLDGELEMENTS,4,true],["HasSurfaceFeatures",IFCRELADHERESTOELEMENT,4,true],["HasPorts",IFCRELCONNECTSPORTTOELEMENT,5,true],["HasControlElements",IFCRELFLOWCONTROLELEMENTS,5,true]],4037862832:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["Types",IFCRELDEFINESBYTYPE,5,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true]],2188021234:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDeclaredBy",IFCRELDEFINESBYOBJECT,4,true],["Declares",IFCRELDEFINESBYOBJECT,5,true],["IsTypedBy",IFCRELDEFINESBYTYPE,4,true],["IsDefinedBy",IFCRELDEFINESBYPROPERTIES,4,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true],["PositionedRelativeTo",IFCRELPOSITIONS,5,true],["ReferencedInStructures",IFCRELREFERENCEDINSPATIALSTRUCTURE,4,true],["FillsVoids",IFCRELFILLSELEMENT,5,true],["ConnectedTo",IFCRELCONNECTSELEMENTS,5,true],["IsInterferedByElements",IFCRELINTERFERESELEMENTS,5,true],["InterferesElements",IFCRELINTERFERESELEMENTS,4,true],["HasProjections",IFCRELPROJECTSELEMENT,4,true],["HasOpenings",IFCRELVOIDSELEMENT,4,true],["IsConnectionRealization",IFCRELCONNECTSWITHREALIZINGELEMENTS,7,true],["ProvidesBoundaries",IFCRELSPACEBOUNDARY,5,true],["ConnectedFrom",IFCRELCONNECTSELEMENTS,6,true],["ContainedInStructure",IFCRELCONTAINEDINSPATIALSTRUCTURE,4,true],["HasCoverings",IFCRELCOVERSBLDGELEMENTS,4,true],["HasSurfaceFeatures",IFCRELADHERESTOELEMENT,4,true],["HasPorts",IFCRELCONNECTSPORTTOELEMENT,5,true],["HasControlElements",IFCRELFLOWCONTROLELEMENTS,5,true]],3132237377:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDeclaredBy",IFCRELDEFINESBYOBJECT,4,true],["Declares",IFCRELDEFINESBYOBJECT,5,true],["IsTypedBy",IFCRELDEFINESBYTYPE,4,true],["IsDefinedBy",IFCRELDEFINESBYPROPERTIES,4,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true],["PositionedRelativeTo",IFCRELPOSITIONS,5,true],["ReferencedInStructures",IFCRELREFERENCEDINSPATIALSTRUCTURE,4,true],["FillsVoids",IFCRELFILLSELEMENT,5,true],["ConnectedTo",IFCRELCONNECTSELEMENTS,5,true],["IsInterferedByElements",IFCRELINTERFERESELEMENTS,5,true],["InterferesElements",IFCRELINTERFERESELEMENTS,4,true],["HasProjections",IFCRELPROJECTSELEMENT,4,true],["HasOpenings",IFCRELVOIDSELEMENT,4,true],["IsConnectionRealization",IFCRELCONNECTSWITHREALIZINGELEMENTS,7,true],["ProvidesBoundaries",IFCRELSPACEBOUNDARY,5,true],["ConnectedFrom",IFCRELCONNECTSELEMENTS,6,true],["ContainedInStructure",IFCRELCONTAINEDINSPATIALSTRUCTURE,4,true],["HasCoverings",IFCRELCOVERSBLDGELEMENTS,4,true],["HasSurfaceFeatures",IFCRELADHERESTOELEMENT,4,true],["HasPorts",IFCRELCONNECTSPORTTOELEMENT,5,true],["HasControlElements",IFCRELFLOWCONTROLELEMENTS,5,true]],987401354:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDeclaredBy",IFCRELDEFINESBYOBJECT,4,true],["Declares",IFCRELDEFINESBYOBJECT,5,true],["IsTypedBy",IFCRELDEFINESBYTYPE,4,true],["IsDefinedBy",IFCRELDEFINESBYPROPERTIES,4,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true],["PositionedRelativeTo",IFCRELPOSITIONS,5,true],["ReferencedInStructures",IFCRELREFERENCEDINSPATIALSTRUCTURE,4,true],["FillsVoids",IFCRELFILLSELEMENT,5,true],["ConnectedTo",IFCRELCONNECTSELEMENTS,5,true],["IsInterferedByElements",IFCRELINTERFERESELEMENTS,5,true],["InterferesElements",IFCRELINTERFERESELEMENTS,4,true],["HasProjections",IFCRELPROJECTSELEMENT,4,true],["HasOpenings",IFCRELVOIDSELEMENT,4,true],["IsConnectionRealization",IFCRELCONNECTSWITHREALIZINGELEMENTS,7,true],["ProvidesBoundaries",IFCRELSPACEBOUNDARY,5,true],["ConnectedFrom",IFCRELCONNECTSELEMENTS,6,true],["ContainedInStructure",IFCRELCONTAINEDINSPATIALSTRUCTURE,4,true],["HasCoverings",IFCRELCOVERSBLDGELEMENTS,4,true],["HasSurfaceFeatures",IFCRELADHERESTOELEMENT,4,true],["HasPorts",IFCRELCONNECTSPORTTOELEMENT,5,true],["HasControlElements",IFCRELFLOWCONTROLELEMENTS,5,true]],707683696:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDeclaredBy",IFCRELDEFINESBYOBJECT,4,true],["Declares",IFCRELDEFINESBYOBJECT,5,true],["IsTypedBy",IFCRELDEFINESBYTYPE,4,true],["IsDefinedBy",IFCRELDEFINESBYPROPERTIES,4,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true],["PositionedRelativeTo",IFCRELPOSITIONS,5,true],["ReferencedInStructures",IFCRELREFERENCEDINSPATIALSTRUCTURE,4,true],["FillsVoids",IFCRELFILLSELEMENT,5,true],["ConnectedTo",IFCRELCONNECTSELEMENTS,5,true],["IsInterferedByElements",IFCRELINTERFERESELEMENTS,5,true],["InterferesElements",IFCRELINTERFERESELEMENTS,4,true],["HasProjections",IFCRELPROJECTSELEMENT,4,true],["HasOpenings",IFCRELVOIDSELEMENT,4,true],["IsConnectionRealization",IFCRELCONNECTSWITHREALIZINGELEMENTS,7,true],["ProvidesBoundaries",IFCRELSPACEBOUNDARY,5,true],["ConnectedFrom",IFCRELCONNECTSELEMENTS,6,true],["ContainedInStructure",IFCRELCONTAINEDINSPATIALSTRUCTURE,4,true],["HasCoverings",IFCRELCOVERSBLDGELEMENTS,4,true],["HasSurfaceFeatures",IFCRELADHERESTOELEMENT,4,true],["HasPorts",IFCRELCONNECTSPORTTOELEMENT,5,true],["HasControlElements",IFCRELFLOWCONTROLELEMENTS,5,true]],2223149337:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDeclaredBy",IFCRELDEFINESBYOBJECT,4,true],["Declares",IFCRELDEFINESBYOBJECT,5,true],["IsTypedBy",IFCRELDEFINESBYTYPE,4,true],["IsDefinedBy",IFCRELDEFINESBYPROPERTIES,4,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true],["PositionedRelativeTo",IFCRELPOSITIONS,5,true],["ReferencedInStructures",IFCRELREFERENCEDINSPATIALSTRUCTURE,4,true],["FillsVoids",IFCRELFILLSELEMENT,5,true],["ConnectedTo",IFCRELCONNECTSELEMENTS,5,true],["IsInterferedByElements",IFCRELINTERFERESELEMENTS,5,true],["InterferesElements",IFCRELINTERFERESELEMENTS,4,true],["HasProjections",IFCRELPROJECTSELEMENT,4,true],["HasOpenings",IFCRELVOIDSELEMENT,4,true],["IsConnectionRealization",IFCRELCONNECTSWITHREALIZINGELEMENTS,7,true],["ProvidesBoundaries",IFCRELSPACEBOUNDARY,5,true],["ConnectedFrom",IFCRELCONNECTSELEMENTS,6,true],["ContainedInStructure",IFCRELCONTAINEDINSPATIALSTRUCTURE,4,true],["HasCoverings",IFCRELCOVERSBLDGELEMENTS,4,true],["HasSurfaceFeatures",IFCRELADHERESTOELEMENT,4,true],["HasPorts",IFCRELCONNECTSPORTTOELEMENT,5,true],["HasControlElements",IFCRELFLOWCONTROLELEMENTS,5,true]],3508470533:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDeclaredBy",IFCRELDEFINESBYOBJECT,4,true],["Declares",IFCRELDEFINESBYOBJECT,5,true],["IsTypedBy",IFCRELDEFINESBYTYPE,4,true],["IsDefinedBy",IFCRELDEFINESBYPROPERTIES,4,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true],["PositionedRelativeTo",IFCRELPOSITIONS,5,true],["ReferencedInStructures",IFCRELREFERENCEDINSPATIALSTRUCTURE,4,true],["FillsVoids",IFCRELFILLSELEMENT,5,true],["ConnectedTo",IFCRELCONNECTSELEMENTS,5,true],["IsInterferedByElements",IFCRELINTERFERESELEMENTS,5,true],["InterferesElements",IFCRELINTERFERESELEMENTS,4,true],["HasProjections",IFCRELPROJECTSELEMENT,4,true],["HasOpenings",IFCRELVOIDSELEMENT,4,true],["IsConnectionRealization",IFCRELCONNECTSWITHREALIZINGELEMENTS,7,true],["ProvidesBoundaries",IFCRELSPACEBOUNDARY,5,true],["ConnectedFrom",IFCRELCONNECTSELEMENTS,6,true],["ContainedInStructure",IFCRELCONTAINEDINSPATIALSTRUCTURE,4,true],["HasCoverings",IFCRELCOVERSBLDGELEMENTS,4,true],["HasSurfaceFeatures",IFCRELADHERESTOELEMENT,4,true],["HasPorts",IFCRELCONNECTSPORTTOELEMENT,5,true],["HasControlElements",IFCRELFLOWCONTROLELEMENTS,5,true]],900683007:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDeclaredBy",IFCRELDEFINESBYOBJECT,4,true],["Declares",IFCRELDEFINESBYOBJECT,5,true],["IsTypedBy",IFCRELDEFINESBYTYPE,4,true],["IsDefinedBy",IFCRELDEFINESBYPROPERTIES,4,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true],["PositionedRelativeTo",IFCRELPOSITIONS,5,true],["ReferencedInStructures",IFCRELREFERENCEDINSPATIALSTRUCTURE,4,true],["FillsVoids",IFCRELFILLSELEMENT,5,true],["ConnectedTo",IFCRELCONNECTSELEMENTS,5,true],["IsInterferedByElements",IFCRELINTERFERESELEMENTS,5,true],["InterferesElements",IFCRELINTERFERESELEMENTS,4,true],["HasProjections",IFCRELPROJECTSELEMENT,4,true],["HasOpenings",IFCRELVOIDSELEMENT,4,true],["IsConnectionRealization",IFCRELCONNECTSWITHREALIZINGELEMENTS,7,true],["ProvidesBoundaries",IFCRELSPACEBOUNDARY,5,true],["ConnectedFrom",IFCRELCONNECTSELEMENTS,6,true],["ContainedInStructure",IFCRELCONTAINEDINSPATIALSTRUCTURE,4,true],["HasCoverings",IFCRELCOVERSBLDGELEMENTS,4,true],["HasSurfaceFeatures",IFCRELADHERESTOELEMENT,4,true]],2713699986:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDeclaredBy",IFCRELDEFINESBYOBJECT,4,true],["Declares",IFCRELDEFINESBYOBJECT,5,true],["IsTypedBy",IFCRELDEFINESBYTYPE,4,true],["IsDefinedBy",IFCRELDEFINESBYPROPERTIES,4,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true],["PositionedRelativeTo",IFCRELPOSITIONS,5,true],["ReferencedInStructures",IFCRELREFERENCEDINSPATIALSTRUCTURE,4,true],["FillsVoids",IFCRELFILLSELEMENT,5,true],["ConnectedTo",IFCRELCONNECTSELEMENTS,5,true],["IsInterferedByElements",IFCRELINTERFERESELEMENTS,5,true],["InterferesElements",IFCRELINTERFERESELEMENTS,4,true],["HasProjections",IFCRELPROJECTSELEMENT,4,true],["HasOpenings",IFCRELVOIDSELEMENT,4,true],["IsConnectionRealization",IFCRELCONNECTSWITHREALIZINGELEMENTS,7,true],["ProvidesBoundaries",IFCRELSPACEBOUNDARY,5,true],["ConnectedFrom",IFCRELCONNECTSELEMENTS,6,true],["ContainedInStructure",IFCRELCONTAINEDINSPATIALSTRUCTURE,4,true],["HasCoverings",IFCRELCOVERSBLDGELEMENTS,4,true],["HasSurfaceFeatures",IFCRELADHERESTOELEMENT,4,true]],3009204131:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDeclaredBy",IFCRELDEFINESBYOBJECT,4,true],["Declares",IFCRELDEFINESBYOBJECT,5,true],["IsTypedBy",IFCRELDEFINESBYTYPE,4,true],["IsDefinedBy",IFCRELDEFINESBYPROPERTIES,4,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true],["PositionedRelativeTo",IFCRELPOSITIONS,5,true],["ReferencedInStructures",IFCRELREFERENCEDINSPATIALSTRUCTURE,4,true],["ContainedInStructure",IFCRELCONTAINEDINSPATIALSTRUCTURE,4,true],["Positions",IFCRELPOSITIONS,4,true]],3319311131:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDeclaredBy",IFCRELDEFINESBYOBJECT,4,true],["Declares",IFCRELDEFINESBYOBJECT,5,true],["IsTypedBy",IFCRELDEFINESBYTYPE,4,true],["IsDefinedBy",IFCRELDEFINESBYPROPERTIES,4,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true],["PositionedRelativeTo",IFCRELPOSITIONS,5,true],["ReferencedInStructures",IFCRELREFERENCEDINSPATIALSTRUCTURE,4,true],["FillsVoids",IFCRELFILLSELEMENT,5,true],["ConnectedTo",IFCRELCONNECTSELEMENTS,5,true],["IsInterferedByElements",IFCRELINTERFERESELEMENTS,5,true],["InterferesElements",IFCRELINTERFERESELEMENTS,4,true],["HasProjections",IFCRELPROJECTSELEMENT,4,true],["HasOpenings",IFCRELVOIDSELEMENT,4,true],["IsConnectionRealization",IFCRELCONNECTSWITHREALIZINGELEMENTS,7,true],["ProvidesBoundaries",IFCRELSPACEBOUNDARY,5,true],["ConnectedFrom",IFCRELCONNECTSELEMENTS,6,true],["ContainedInStructure",IFCRELCONTAINEDINSPATIALSTRUCTURE,4,true],["HasCoverings",IFCRELCOVERSBLDGELEMENTS,4,true],["HasSurfaceFeatures",IFCRELADHERESTOELEMENT,4,true],["HasPorts",IFCRELCONNECTSPORTTOELEMENT,5,true],["HasControlElements",IFCRELFLOWCONTROLELEMENTS,5,true]],2068733104:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDeclaredBy",IFCRELDEFINESBYOBJECT,4,true],["Declares",IFCRELDEFINESBYOBJECT,5,true],["IsTypedBy",IFCRELDEFINESBYTYPE,4,true],["IsDefinedBy",IFCRELDEFINESBYPROPERTIES,4,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true],["PositionedRelativeTo",IFCRELPOSITIONS,5,true],["ReferencedInStructures",IFCRELREFERENCEDINSPATIALSTRUCTURE,4,true],["FillsVoids",IFCRELFILLSELEMENT,5,true],["ConnectedTo",IFCRELCONNECTSELEMENTS,5,true],["IsInterferedByElements",IFCRELINTERFERESELEMENTS,5,true],["InterferesElements",IFCRELINTERFERESELEMENTS,4,true],["HasProjections",IFCRELPROJECTSELEMENT,4,true],["HasOpenings",IFCRELVOIDSELEMENT,4,true],["IsConnectionRealization",IFCRELCONNECTSWITHREALIZINGELEMENTS,7,true],["ProvidesBoundaries",IFCRELSPACEBOUNDARY,5,true],["ConnectedFrom",IFCRELCONNECTSELEMENTS,6,true],["ContainedInStructure",IFCRELCONTAINEDINSPATIALSTRUCTURE,4,true],["HasCoverings",IFCRELCOVERSBLDGELEMENTS,4,true],["HasSurfaceFeatures",IFCRELADHERESTOELEMENT,4,true],["HasPorts",IFCRELCONNECTSPORTTOELEMENT,5,true],["HasControlElements",IFCRELFLOWCONTROLELEMENTS,5,true]],4175244083:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDeclaredBy",IFCRELDEFINESBYOBJECT,4,true],["Declares",IFCRELDEFINESBYOBJECT,5,true],["IsTypedBy",IFCRELDEFINESBYTYPE,4,true],["IsDefinedBy",IFCRELDEFINESBYPROPERTIES,4,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true],["PositionedRelativeTo",IFCRELPOSITIONS,5,true],["ReferencedInStructures",IFCRELREFERENCEDINSPATIALSTRUCTURE,4,true],["FillsVoids",IFCRELFILLSELEMENT,5,true],["ConnectedTo",IFCRELCONNECTSELEMENTS,5,true],["IsInterferedByElements",IFCRELINTERFERESELEMENTS,5,true],["InterferesElements",IFCRELINTERFERESELEMENTS,4,true],["HasProjections",IFCRELPROJECTSELEMENT,4,true],["HasOpenings",IFCRELVOIDSELEMENT,4,true],["IsConnectionRealization",IFCRELCONNECTSWITHREALIZINGELEMENTS,7,true],["ProvidesBoundaries",IFCRELSPACEBOUNDARY,5,true],["ConnectedFrom",IFCRELCONNECTSELEMENTS,6,true],["ContainedInStructure",IFCRELCONTAINEDINSPATIALSTRUCTURE,4,true],["HasCoverings",IFCRELCOVERSBLDGELEMENTS,4,true],["HasSurfaceFeatures",IFCRELADHERESTOELEMENT,4,true],["HasPorts",IFCRELCONNECTSPORTTOELEMENT,5,true],["HasControlElements",IFCRELFLOWCONTROLELEMENTS,5,true]],2176052936:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDeclaredBy",IFCRELDEFINESBYOBJECT,4,true],["Declares",IFCRELDEFINESBYOBJECT,5,true],["IsTypedBy",IFCRELDEFINESBYTYPE,4,true],["IsDefinedBy",IFCRELDEFINESBYPROPERTIES,4,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true],["PositionedRelativeTo",IFCRELPOSITIONS,5,true],["ReferencedInStructures",IFCRELREFERENCEDINSPATIALSTRUCTURE,4,true],["FillsVoids",IFCRELFILLSELEMENT,5,true],["ConnectedTo",IFCRELCONNECTSELEMENTS,5,true],["IsInterferedByElements",IFCRELINTERFERESELEMENTS,5,true],["InterferesElements",IFCRELINTERFERESELEMENTS,4,true],["HasProjections",IFCRELPROJECTSELEMENT,4,true],["HasOpenings",IFCRELVOIDSELEMENT,4,true],["IsConnectionRealization",IFCRELCONNECTSWITHREALIZINGELEMENTS,7,true],["ProvidesBoundaries",IFCRELSPACEBOUNDARY,5,true],["ConnectedFrom",IFCRELCONNECTSELEMENTS,6,true],["ContainedInStructure",IFCRELCONTAINEDINSPATIALSTRUCTURE,4,true],["HasCoverings",IFCRELCOVERSBLDGELEMENTS,4,true],["HasSurfaceFeatures",IFCRELADHERESTOELEMENT,4,true],["HasPorts",IFCRELCONNECTSPORTTOELEMENT,5,true],["HasControlElements",IFCRELFLOWCONTROLELEMENTS,5,true]],2696325953:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDeclaredBy",IFCRELDEFINESBYOBJECT,4,true],["Declares",IFCRELDEFINESBYOBJECT,5,true],["IsTypedBy",IFCRELDEFINESBYTYPE,4,true],["IsDefinedBy",IFCRELDEFINESBYPROPERTIES,4,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true],["PositionedRelativeTo",IFCRELPOSITIONS,5,true],["ReferencedInStructures",IFCRELREFERENCEDINSPATIALSTRUCTURE,4,true],["FillsVoids",IFCRELFILLSELEMENT,5,true],["ConnectedTo",IFCRELCONNECTSELEMENTS,5,true],["IsInterferedByElements",IFCRELINTERFERESELEMENTS,5,true],["InterferesElements",IFCRELINTERFERESELEMENTS,4,true],["HasProjections",IFCRELPROJECTSELEMENT,4,true],["HasOpenings",IFCRELVOIDSELEMENT,4,true],["IsConnectionRealization",IFCRELCONNECTSWITHREALIZINGELEMENTS,7,true],["ProvidesBoundaries",IFCRELSPACEBOUNDARY,5,true],["ConnectedFrom",IFCRELCONNECTSELEMENTS,6,true],["ContainedInStructure",IFCRELCONTAINEDINSPATIALSTRUCTURE,4,true],["HasCoverings",IFCRELCOVERSBLDGELEMENTS,4,true],["HasSurfaceFeatures",IFCRELADHERESTOELEMENT,4,true]],76236018:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDeclaredBy",IFCRELDEFINESBYOBJECT,4,true],["Declares",IFCRELDEFINESBYOBJECT,5,true],["IsTypedBy",IFCRELDEFINESBYTYPE,4,true],["IsDefinedBy",IFCRELDEFINESBYPROPERTIES,4,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true],["PositionedRelativeTo",IFCRELPOSITIONS,5,true],["ReferencedInStructures",IFCRELREFERENCEDINSPATIALSTRUCTURE,4,true],["FillsVoids",IFCRELFILLSELEMENT,5,true],["ConnectedTo",IFCRELCONNECTSELEMENTS,5,true],["IsInterferedByElements",IFCRELINTERFERESELEMENTS,5,true],["InterferesElements",IFCRELINTERFERESELEMENTS,4,true],["HasProjections",IFCRELPROJECTSELEMENT,4,true],["HasOpenings",IFCRELVOIDSELEMENT,4,true],["IsConnectionRealization",IFCRELCONNECTSWITHREALIZINGELEMENTS,7,true],["ProvidesBoundaries",IFCRELSPACEBOUNDARY,5,true],["ConnectedFrom",IFCRELCONNECTSELEMENTS,6,true],["ContainedInStructure",IFCRELCONTAINEDINSPATIALSTRUCTURE,4,true],["HasCoverings",IFCRELCOVERSBLDGELEMENTS,4,true],["HasSurfaceFeatures",IFCRELADHERESTOELEMENT,4,true],["HasPorts",IFCRELCONNECTSPORTTOELEMENT,5,true],["HasControlElements",IFCRELFLOWCONTROLELEMENTS,5,true]],629592764:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDeclaredBy",IFCRELDEFINESBYOBJECT,4,true],["Declares",IFCRELDEFINESBYOBJECT,5,true],["IsTypedBy",IFCRELDEFINESBYTYPE,4,true],["IsDefinedBy",IFCRELDEFINESBYPROPERTIES,4,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true],["PositionedRelativeTo",IFCRELPOSITIONS,5,true],["ReferencedInStructures",IFCRELREFERENCEDINSPATIALSTRUCTURE,4,true],["FillsVoids",IFCRELFILLSELEMENT,5,true],["ConnectedTo",IFCRELCONNECTSELEMENTS,5,true],["IsInterferedByElements",IFCRELINTERFERESELEMENTS,5,true],["InterferesElements",IFCRELINTERFERESELEMENTS,4,true],["HasProjections",IFCRELPROJECTSELEMENT,4,true],["HasOpenings",IFCRELVOIDSELEMENT,4,true],["IsConnectionRealization",IFCRELCONNECTSWITHREALIZINGELEMENTS,7,true],["ProvidesBoundaries",IFCRELSPACEBOUNDARY,5,true],["ConnectedFrom",IFCRELCONNECTSELEMENTS,6,true],["ContainedInStructure",IFCRELCONTAINEDINSPATIALSTRUCTURE,4,true],["HasCoverings",IFCRELCOVERSBLDGELEMENTS,4,true],["HasSurfaceFeatures",IFCRELADHERESTOELEMENT,4,true],["HasPorts",IFCRELCONNECTSPORTTOELEMENT,5,true],["HasControlElements",IFCRELFLOWCONTROLELEMENTS,5,true]],1154579445:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDeclaredBy",IFCRELDEFINESBYOBJECT,4,true],["Declares",IFCRELDEFINESBYOBJECT,5,true],["IsTypedBy",IFCRELDEFINESBYTYPE,4,true],["IsDefinedBy",IFCRELDEFINESBYPROPERTIES,4,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true],["PositionedRelativeTo",IFCRELPOSITIONS,5,true],["ReferencedInStructures",IFCRELREFERENCEDINSPATIALSTRUCTURE,4,true],["ContainedInStructure",IFCRELCONTAINEDINSPATIALSTRUCTURE,4,true],["Positions",IFCRELPOSITIONS,4,true]],1638804497:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDeclaredBy",IFCRELDEFINESBYOBJECT,4,true],["Declares",IFCRELDEFINESBYOBJECT,5,true],["IsTypedBy",IFCRELDEFINESBYTYPE,4,true],["IsDefinedBy",IFCRELDEFINESBYPROPERTIES,4,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true],["PositionedRelativeTo",IFCRELPOSITIONS,5,true],["ReferencedInStructures",IFCRELREFERENCEDINSPATIALSTRUCTURE,4,true],["FillsVoids",IFCRELFILLSELEMENT,5,true],["ConnectedTo",IFCRELCONNECTSELEMENTS,5,true],["IsInterferedByElements",IFCRELINTERFERESELEMENTS,5,true],["InterferesElements",IFCRELINTERFERESELEMENTS,4,true],["HasProjections",IFCRELPROJECTSELEMENT,4,true],["HasOpenings",IFCRELVOIDSELEMENT,4,true],["IsConnectionRealization",IFCRELCONNECTSWITHREALIZINGELEMENTS,7,true],["ProvidesBoundaries",IFCRELSPACEBOUNDARY,5,true],["ConnectedFrom",IFCRELCONNECTSELEMENTS,6,true],["ContainedInStructure",IFCRELCONTAINEDINSPATIALSTRUCTURE,4,true],["HasCoverings",IFCRELCOVERSBLDGELEMENTS,4,true],["HasSurfaceFeatures",IFCRELADHERESTOELEMENT,4,true],["HasPorts",IFCRELCONNECTSPORTTOELEMENT,5,true],["HasControlElements",IFCRELFLOWCONTROLELEMENTS,5,true]],1437502449:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDeclaredBy",IFCRELDEFINESBYOBJECT,4,true],["Declares",IFCRELDEFINESBYOBJECT,5,true],["IsTypedBy",IFCRELDEFINESBYTYPE,4,true],["IsDefinedBy",IFCRELDEFINESBYPROPERTIES,4,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true],["PositionedRelativeTo",IFCRELPOSITIONS,5,true],["ReferencedInStructures",IFCRELREFERENCEDINSPATIALSTRUCTURE,4,true],["FillsVoids",IFCRELFILLSELEMENT,5,true],["ConnectedTo",IFCRELCONNECTSELEMENTS,5,true],["IsInterferedByElements",IFCRELINTERFERESELEMENTS,5,true],["InterferesElements",IFCRELINTERFERESELEMENTS,4,true],["HasProjections",IFCRELPROJECTSELEMENT,4,true],["HasOpenings",IFCRELVOIDSELEMENT,4,true],["IsConnectionRealization",IFCRELCONNECTSWITHREALIZINGELEMENTS,7,true],["ProvidesBoundaries",IFCRELSPACEBOUNDARY,5,true],["ConnectedFrom",IFCRELCONNECTSELEMENTS,6,true],["ContainedInStructure",IFCRELCONTAINEDINSPATIALSTRUCTURE,4,true],["HasCoverings",IFCRELCOVERSBLDGELEMENTS,4,true],["HasSurfaceFeatures",IFCRELADHERESTOELEMENT,4,true],["HasPorts",IFCRELCONNECTSPORTTOELEMENT,5,true],["HasControlElements",IFCRELFLOWCONTROLELEMENTS,5,true]],1073191201:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDeclaredBy",IFCRELDEFINESBYOBJECT,4,true],["Declares",IFCRELDEFINESBYOBJECT,5,true],["IsTypedBy",IFCRELDEFINESBYTYPE,4,true],["IsDefinedBy",IFCRELDEFINESBYPROPERTIES,4,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true],["PositionedRelativeTo",IFCRELPOSITIONS,5,true],["ReferencedInStructures",IFCRELREFERENCEDINSPATIALSTRUCTURE,4,true],["FillsVoids",IFCRELFILLSELEMENT,5,true],["ConnectedTo",IFCRELCONNECTSELEMENTS,5,true],["IsInterferedByElements",IFCRELINTERFERESELEMENTS,5,true],["InterferesElements",IFCRELINTERFERESELEMENTS,4,true],["HasProjections",IFCRELPROJECTSELEMENT,4,true],["HasOpenings",IFCRELVOIDSELEMENT,4,true],["IsConnectionRealization",IFCRELCONNECTSWITHREALIZINGELEMENTS,7,true],["ProvidesBoundaries",IFCRELSPACEBOUNDARY,5,true],["ConnectedFrom",IFCRELCONNECTSELEMENTS,6,true],["ContainedInStructure",IFCRELCONTAINEDINSPATIALSTRUCTURE,4,true],["HasCoverings",IFCRELCOVERSBLDGELEMENTS,4,true],["HasSurfaceFeatures",IFCRELADHERESTOELEMENT,4,true]],2078563270:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDeclaredBy",IFCRELDEFINESBYOBJECT,4,true],["Declares",IFCRELDEFINESBYOBJECT,5,true],["IsTypedBy",IFCRELDEFINESBYTYPE,4,true],["IsDefinedBy",IFCRELDEFINESBYPROPERTIES,4,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true],["PositionedRelativeTo",IFCRELPOSITIONS,5,true],["ReferencedInStructures",IFCRELREFERENCEDINSPATIALSTRUCTURE,4,true],["FillsVoids",IFCRELFILLSELEMENT,5,true],["ConnectedTo",IFCRELCONNECTSELEMENTS,5,true],["IsInterferedByElements",IFCRELINTERFERESELEMENTS,5,true],["InterferesElements",IFCRELINTERFERESELEMENTS,4,true],["HasProjections",IFCRELPROJECTSELEMENT,4,true],["HasOpenings",IFCRELVOIDSELEMENT,4,true],["IsConnectionRealization",IFCRELCONNECTSWITHREALIZINGELEMENTS,7,true],["ProvidesBoundaries",IFCRELSPACEBOUNDARY,5,true],["ConnectedFrom",IFCRELCONNECTSELEMENTS,6,true],["ContainedInStructure",IFCRELCONTAINEDINSPATIALSTRUCTURE,4,true],["HasCoverings",IFCRELCOVERSBLDGELEMENTS,4,true],["HasSurfaceFeatures",IFCRELADHERESTOELEMENT,4,true],["HasPorts",IFCRELCONNECTSPORTTOELEMENT,5,true],["HasControlElements",IFCRELFLOWCONTROLELEMENTS,5,true]],234836483:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDeclaredBy",IFCRELDEFINESBYOBJECT,4,true],["Declares",IFCRELDEFINESBYOBJECT,5,true],["IsTypedBy",IFCRELDEFINESBYTYPE,4,true],["IsDefinedBy",IFCRELDEFINESBYPROPERTIES,4,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true],["PositionedRelativeTo",IFCRELPOSITIONS,5,true],["ReferencedInStructures",IFCRELREFERENCEDINSPATIALSTRUCTURE,4,true],["FillsVoids",IFCRELFILLSELEMENT,5,true],["ConnectedTo",IFCRELCONNECTSELEMENTS,5,true],["IsInterferedByElements",IFCRELINTERFERESELEMENTS,5,true],["InterferesElements",IFCRELINTERFERESELEMENTS,4,true],["HasProjections",IFCRELPROJECTSELEMENT,4,true],["HasOpenings",IFCRELVOIDSELEMENT,4,true],["IsConnectionRealization",IFCRELCONNECTSWITHREALIZINGELEMENTS,7,true],["ProvidesBoundaries",IFCRELSPACEBOUNDARY,5,true],["ConnectedFrom",IFCRELCONNECTSELEMENTS,6,true],["ContainedInStructure",IFCRELCONTAINEDINSPATIALSTRUCTURE,4,true],["HasCoverings",IFCRELCOVERSBLDGELEMENTS,4,true],["HasSurfaceFeatures",IFCRELADHERESTOELEMENT,4,true]],2474470126:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDeclaredBy",IFCRELDEFINESBYOBJECT,4,true],["Declares",IFCRELDEFINESBYOBJECT,5,true],["IsTypedBy",IFCRELDEFINESBYTYPE,4,true],["IsDefinedBy",IFCRELDEFINESBYPROPERTIES,4,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true],["PositionedRelativeTo",IFCRELPOSITIONS,5,true],["ReferencedInStructures",IFCRELREFERENCEDINSPATIALSTRUCTURE,4,true],["FillsVoids",IFCRELFILLSELEMENT,5,true],["ConnectedTo",IFCRELCONNECTSELEMENTS,5,true],["IsInterferedByElements",IFCRELINTERFERESELEMENTS,5,true],["InterferesElements",IFCRELINTERFERESELEMENTS,4,true],["HasProjections",IFCRELPROJECTSELEMENT,4,true],["HasOpenings",IFCRELVOIDSELEMENT,4,true],["IsConnectionRealization",IFCRELCONNECTSWITHREALIZINGELEMENTS,7,true],["ProvidesBoundaries",IFCRELSPACEBOUNDARY,5,true],["ConnectedFrom",IFCRELCONNECTSELEMENTS,6,true],["ContainedInStructure",IFCRELCONTAINEDINSPATIALSTRUCTURE,4,true],["HasCoverings",IFCRELCOVERSBLDGELEMENTS,4,true],["HasSurfaceFeatures",IFCRELADHERESTOELEMENT,4,true],["HasPorts",IFCRELCONNECTSPORTTOELEMENT,5,true],["HasControlElements",IFCRELFLOWCONTROLELEMENTS,5,true]],2182337498:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDeclaredBy",IFCRELDEFINESBYOBJECT,4,true],["Declares",IFCRELDEFINESBYOBJECT,5,true],["IsTypedBy",IFCRELDEFINESBYTYPE,4,true],["IsDefinedBy",IFCRELDEFINESBYPROPERTIES,4,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true],["PositionedRelativeTo",IFCRELPOSITIONS,5,true],["ReferencedInStructures",IFCRELREFERENCEDINSPATIALSTRUCTURE,4,true],["FillsVoids",IFCRELFILLSELEMENT,5,true],["ConnectedTo",IFCRELCONNECTSELEMENTS,5,true],["IsInterferedByElements",IFCRELINTERFERESELEMENTS,5,true],["InterferesElements",IFCRELINTERFERESELEMENTS,4,true],["HasProjections",IFCRELPROJECTSELEMENT,4,true],["HasOpenings",IFCRELVOIDSELEMENT,4,true],["IsConnectionRealization",IFCRELCONNECTSWITHREALIZINGELEMENTS,7,true],["ProvidesBoundaries",IFCRELSPACEBOUNDARY,5,true],["ConnectedFrom",IFCRELCONNECTSELEMENTS,6,true],["ContainedInStructure",IFCRELCONTAINEDINSPATIALSTRUCTURE,4,true],["HasCoverings",IFCRELCOVERSBLDGELEMENTS,4,true],["HasSurfaceFeatures",IFCRELADHERESTOELEMENT,4,true]],144952367:[["LayerAssignment",IFCPRESENTATIONLAYERASSIGNMENT,2,true],["StyledByItem",IFCSTYLEDITEM,0,true]],3694346114:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDeclaredBy",IFCRELDEFINESBYOBJECT,4,true],["Declares",IFCRELDEFINESBYOBJECT,5,true],["IsTypedBy",IFCRELDEFINESBYTYPE,4,true],["IsDefinedBy",IFCRELDEFINESBYPROPERTIES,4,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true],["PositionedRelativeTo",IFCRELPOSITIONS,5,true],["ReferencedInStructures",IFCRELREFERENCEDINSPATIALSTRUCTURE,4,true],["FillsVoids",IFCRELFILLSELEMENT,5,true],["ConnectedTo",IFCRELCONNECTSELEMENTS,5,true],["IsInterferedByElements",IFCRELINTERFERESELEMENTS,5,true],["InterferesElements",IFCRELINTERFERESELEMENTS,4,true],["HasProjections",IFCRELPROJECTSELEMENT,4,true],["HasOpenings",IFCRELVOIDSELEMENT,4,true],["IsConnectionRealization",IFCRELCONNECTSWITHREALIZINGELEMENTS,7,true],["ProvidesBoundaries",IFCRELSPACEBOUNDARY,5,true],["ConnectedFrom",IFCRELCONNECTSELEMENTS,6,true],["ContainedInStructure",IFCRELCONTAINEDINSPATIALSTRUCTURE,4,true],["HasCoverings",IFCRELCOVERSBLDGELEMENTS,4,true],["HasSurfaceFeatures",IFCRELADHERESTOELEMENT,4,true],["HasPorts",IFCRELCONNECTSPORTTOELEMENT,5,true],["HasControlElements",IFCRELFLOWCONTROLELEMENTS,5,true]],1383356374:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDeclaredBy",IFCRELDEFINESBYOBJECT,4,true],["Declares",IFCRELDEFINESBYOBJECT,5,true],["IsTypedBy",IFCRELDEFINESBYTYPE,4,true],["IsDefinedBy",IFCRELDEFINESBYPROPERTIES,4,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true],["PositionedRelativeTo",IFCRELPOSITIONS,5,true],["ReferencedInStructures",IFCRELREFERENCEDINSPATIALSTRUCTURE,4,true],["FillsVoids",IFCRELFILLSELEMENT,5,true],["ConnectedTo",IFCRELCONNECTSELEMENTS,5,true],["IsInterferedByElements",IFCRELINTERFERESELEMENTS,5,true],["InterferesElements",IFCRELINTERFERESELEMENTS,4,true],["HasProjections",IFCRELPROJECTSELEMENT,4,true],["HasOpenings",IFCRELVOIDSELEMENT,4,true],["IsConnectionRealization",IFCRELCONNECTSWITHREALIZINGELEMENTS,7,true],["ProvidesBoundaries",IFCRELSPACEBOUNDARY,5,true],["ConnectedFrom",IFCRELCONNECTSELEMENTS,6,true],["ContainedInStructure",IFCRELCONTAINEDINSPATIALSTRUCTURE,4,true],["HasCoverings",IFCRELCOVERSBLDGELEMENTS,4,true],["HasSurfaceFeatures",IFCRELADHERESTOELEMENT,4,true]],1687234759:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDeclaredBy",IFCRELDEFINESBYOBJECT,4,true],["Declares",IFCRELDEFINESBYOBJECT,5,true],["IsTypedBy",IFCRELDEFINESBYTYPE,4,true],["IsDefinedBy",IFCRELDEFINESBYPROPERTIES,4,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true],["PositionedRelativeTo",IFCRELPOSITIONS,5,true],["ReferencedInStructures",IFCRELREFERENCEDINSPATIALSTRUCTURE,4,true],["FillsVoids",IFCRELFILLSELEMENT,5,true],["ConnectedTo",IFCRELCONNECTSELEMENTS,5,true],["IsInterferedByElements",IFCRELINTERFERESELEMENTS,5,true],["InterferesElements",IFCRELINTERFERESELEMENTS,4,true],["HasProjections",IFCRELPROJECTSELEMENT,4,true],["HasOpenings",IFCRELVOIDSELEMENT,4,true],["IsConnectionRealization",IFCRELCONNECTSWITHREALIZINGELEMENTS,7,true],["ProvidesBoundaries",IFCRELSPACEBOUNDARY,5,true],["ConnectedFrom",IFCRELCONNECTSELEMENTS,6,true],["ContainedInStructure",IFCRELCONTAINEDINSPATIALSTRUCTURE,4,true],["HasCoverings",IFCRELCOVERSBLDGELEMENTS,4,true],["HasSurfaceFeatures",IFCRELADHERESTOELEMENT,4,true]],310824031:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDeclaredBy",IFCRELDEFINESBYOBJECT,4,true],["Declares",IFCRELDEFINESBYOBJECT,5,true],["IsTypedBy",IFCRELDEFINESBYTYPE,4,true],["IsDefinedBy",IFCRELDEFINESBYPROPERTIES,4,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true],["PositionedRelativeTo",IFCRELPOSITIONS,5,true],["ReferencedInStructures",IFCRELREFERENCEDINSPATIALSTRUCTURE,4,true],["FillsVoids",IFCRELFILLSELEMENT,5,true],["ConnectedTo",IFCRELCONNECTSELEMENTS,5,true],["IsInterferedByElements",IFCRELINTERFERESELEMENTS,5,true],["InterferesElements",IFCRELINTERFERESELEMENTS,4,true],["HasProjections",IFCRELPROJECTSELEMENT,4,true],["HasOpenings",IFCRELVOIDSELEMENT,4,true],["IsConnectionRealization",IFCRELCONNECTSWITHREALIZINGELEMENTS,7,true],["ProvidesBoundaries",IFCRELSPACEBOUNDARY,5,true],["ConnectedFrom",IFCRELCONNECTSELEMENTS,6,true],["ContainedInStructure",IFCRELCONTAINEDINSPATIALSTRUCTURE,4,true],["HasCoverings",IFCRELCOVERSBLDGELEMENTS,4,true],["HasSurfaceFeatures",IFCRELADHERESTOELEMENT,4,true],["HasPorts",IFCRELCONNECTSPORTTOELEMENT,5,true],["HasControlElements",IFCRELFLOWCONTROLELEMENTS,5,true]],3612865200:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDeclaredBy",IFCRELDEFINESBYOBJECT,4,true],["Declares",IFCRELDEFINESBYOBJECT,5,true],["IsTypedBy",IFCRELDEFINESBYTYPE,4,true],["IsDefinedBy",IFCRELDEFINESBYPROPERTIES,4,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true],["PositionedRelativeTo",IFCRELPOSITIONS,5,true],["ReferencedInStructures",IFCRELREFERENCEDINSPATIALSTRUCTURE,4,true],["FillsVoids",IFCRELFILLSELEMENT,5,true],["ConnectedTo",IFCRELCONNECTSELEMENTS,5,true],["IsInterferedByElements",IFCRELINTERFERESELEMENTS,5,true],["InterferesElements",IFCRELINTERFERESELEMENTS,4,true],["HasProjections",IFCRELPROJECTSELEMENT,4,true],["HasOpenings",IFCRELVOIDSELEMENT,4,true],["IsConnectionRealization",IFCRELCONNECTSWITHREALIZINGELEMENTS,7,true],["ProvidesBoundaries",IFCRELSPACEBOUNDARY,5,true],["ConnectedFrom",IFCRELCONNECTSELEMENTS,6,true],["ContainedInStructure",IFCRELCONTAINEDINSPATIALSTRUCTURE,4,true],["HasCoverings",IFCRELCOVERSBLDGELEMENTS,4,true],["HasSurfaceFeatures",IFCRELADHERESTOELEMENT,4,true],["HasPorts",IFCRELCONNECTSPORTTOELEMENT,5,true],["HasControlElements",IFCRELFLOWCONTROLELEMENTS,5,true]],3171933400:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDeclaredBy",IFCRELDEFINESBYOBJECT,4,true],["Declares",IFCRELDEFINESBYOBJECT,5,true],["IsTypedBy",IFCRELDEFINESBYTYPE,4,true],["IsDefinedBy",IFCRELDEFINESBYPROPERTIES,4,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true],["PositionedRelativeTo",IFCRELPOSITIONS,5,true],["ReferencedInStructures",IFCRELREFERENCEDINSPATIALSTRUCTURE,4,true],["FillsVoids",IFCRELFILLSELEMENT,5,true],["ConnectedTo",IFCRELCONNECTSELEMENTS,5,true],["IsInterferedByElements",IFCRELINTERFERESELEMENTS,5,true],["InterferesElements",IFCRELINTERFERESELEMENTS,4,true],["HasProjections",IFCRELPROJECTSELEMENT,4,true],["HasOpenings",IFCRELVOIDSELEMENT,4,true],["IsConnectionRealization",IFCRELCONNECTSWITHREALIZINGELEMENTS,7,true],["ProvidesBoundaries",IFCRELSPACEBOUNDARY,5,true],["ConnectedFrom",IFCRELCONNECTSELEMENTS,6,true],["ContainedInStructure",IFCRELCONTAINEDINSPATIALSTRUCTURE,4,true],["HasCoverings",IFCRELCOVERSBLDGELEMENTS,4,true],["HasSurfaceFeatures",IFCRELADHERESTOELEMENT,4,true]],738039164:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDeclaredBy",IFCRELDEFINESBYOBJECT,4,true],["Declares",IFCRELDEFINESBYOBJECT,5,true],["IsTypedBy",IFCRELDEFINESBYTYPE,4,true],["IsDefinedBy",IFCRELDEFINESBYPROPERTIES,4,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true],["PositionedRelativeTo",IFCRELPOSITIONS,5,true],["ReferencedInStructures",IFCRELREFERENCEDINSPATIALSTRUCTURE,4,true],["FillsVoids",IFCRELFILLSELEMENT,5,true],["ConnectedTo",IFCRELCONNECTSELEMENTS,5,true],["IsInterferedByElements",IFCRELINTERFERESELEMENTS,5,true],["InterferesElements",IFCRELINTERFERESELEMENTS,4,true],["HasProjections",IFCRELPROJECTSELEMENT,4,true],["HasOpenings",IFCRELVOIDSELEMENT,4,true],["IsConnectionRealization",IFCRELCONNECTSWITHREALIZINGELEMENTS,7,true],["ProvidesBoundaries",IFCRELSPACEBOUNDARY,5,true],["ConnectedFrom",IFCRELCONNECTSELEMENTS,6,true],["ContainedInStructure",IFCRELCONTAINEDINSPATIALSTRUCTURE,4,true],["HasCoverings",IFCRELCOVERSBLDGELEMENTS,4,true],["HasSurfaceFeatures",IFCRELADHERESTOELEMENT,4,true],["HasPorts",IFCRELCONNECTSPORTTOELEMENT,5,true],["HasControlElements",IFCRELFLOWCONTROLELEMENTS,5,true]],655969474:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["Types",IFCRELDEFINESBYTYPE,5,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true]],90941305:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDeclaredBy",IFCRELDEFINESBYOBJECT,4,true],["Declares",IFCRELDEFINESBYOBJECT,5,true],["IsTypedBy",IFCRELDEFINESBYTYPE,4,true],["IsDefinedBy",IFCRELDEFINESBYPROPERTIES,4,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true],["PositionedRelativeTo",IFCRELPOSITIONS,5,true],["ReferencedInStructures",IFCRELREFERENCEDINSPATIALSTRUCTURE,4,true],["FillsVoids",IFCRELFILLSELEMENT,5,true],["ConnectedTo",IFCRELCONNECTSELEMENTS,5,true],["IsInterferedByElements",IFCRELINTERFERESELEMENTS,5,true],["InterferesElements",IFCRELINTERFERESELEMENTS,4,true],["HasProjections",IFCRELPROJECTSELEMENT,4,true],["HasOpenings",IFCRELVOIDSELEMENT,4,true],["IsConnectionRealization",IFCRELCONNECTSWITHREALIZINGELEMENTS,7,true],["ProvidesBoundaries",IFCRELSPACEBOUNDARY,5,true],["ConnectedFrom",IFCRELCONNECTSELEMENTS,6,true],["ContainedInStructure",IFCRELCONTAINEDINSPATIALSTRUCTURE,4,true],["HasCoverings",IFCRELCOVERSBLDGELEMENTS,4,true],["HasSurfaceFeatures",IFCRELADHERESTOELEMENT,4,true],["HasPorts",IFCRELCONNECTSPORTTOELEMENT,5,true],["HasControlElements",IFCRELFLOWCONTROLELEMENTS,5,true]],3290496277:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDeclaredBy",IFCRELDEFINESBYOBJECT,4,true],["Declares",IFCRELDEFINESBYOBJECT,5,true],["IsTypedBy",IFCRELDEFINESBYTYPE,4,true],["IsDefinedBy",IFCRELDEFINESBYPROPERTIES,4,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true],["PositionedRelativeTo",IFCRELPOSITIONS,5,true],["ReferencedInStructures",IFCRELREFERENCEDINSPATIALSTRUCTURE,4,true],["FillsVoids",IFCRELFILLSELEMENT,5,true],["ConnectedTo",IFCRELCONNECTSELEMENTS,5,true],["IsInterferedByElements",IFCRELINTERFERESELEMENTS,5,true],["InterferesElements",IFCRELINTERFERESELEMENTS,4,true],["HasProjections",IFCRELPROJECTSELEMENT,4,true],["HasOpenings",IFCRELVOIDSELEMENT,4,true],["IsConnectionRealization",IFCRELCONNECTSWITHREALIZINGELEMENTS,7,true],["ProvidesBoundaries",IFCRELSPACEBOUNDARY,5,true],["ConnectedFrom",IFCRELCONNECTSELEMENTS,6,true],["ContainedInStructure",IFCRELCONTAINEDINSPATIALSTRUCTURE,4,true],["HasCoverings",IFCRELCOVERSBLDGELEMENTS,4,true],["HasSurfaceFeatures",IFCRELADHERESTOELEMENT,4,true]],2262370178:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDeclaredBy",IFCRELDEFINESBYOBJECT,4,true],["Declares",IFCRELDEFINESBYOBJECT,5,true],["IsTypedBy",IFCRELDEFINESBYTYPE,4,true],["IsDefinedBy",IFCRELDEFINESBYPROPERTIES,4,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true],["PositionedRelativeTo",IFCRELPOSITIONS,5,true],["ReferencedInStructures",IFCRELREFERENCEDINSPATIALSTRUCTURE,4,true],["FillsVoids",IFCRELFILLSELEMENT,5,true],["ConnectedTo",IFCRELCONNECTSELEMENTS,5,true],["IsInterferedByElements",IFCRELINTERFERESELEMENTS,5,true],["InterferesElements",IFCRELINTERFERESELEMENTS,4,true],["HasProjections",IFCRELPROJECTSELEMENT,4,true],["HasOpenings",IFCRELVOIDSELEMENT,4,true],["IsConnectionRealization",IFCRELCONNECTSWITHREALIZINGELEMENTS,7,true],["ProvidesBoundaries",IFCRELSPACEBOUNDARY,5,true],["ConnectedFrom",IFCRELCONNECTSELEMENTS,6,true],["ContainedInStructure",IFCRELCONTAINEDINSPATIALSTRUCTURE,4,true],["HasCoverings",IFCRELCOVERSBLDGELEMENTS,4,true],["HasSurfaceFeatures",IFCRELADHERESTOELEMENT,4,true]],3024970846:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDeclaredBy",IFCRELDEFINESBYOBJECT,4,true],["Declares",IFCRELDEFINESBYOBJECT,5,true],["IsTypedBy",IFCRELDEFINESBYTYPE,4,true],["IsDefinedBy",IFCRELDEFINESBYPROPERTIES,4,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true],["PositionedRelativeTo",IFCRELPOSITIONS,5,true],["ReferencedInStructures",IFCRELREFERENCEDINSPATIALSTRUCTURE,4,true],["FillsVoids",IFCRELFILLSELEMENT,5,true],["ConnectedTo",IFCRELCONNECTSELEMENTS,5,true],["IsInterferedByElements",IFCRELINTERFERESELEMENTS,5,true],["InterferesElements",IFCRELINTERFERESELEMENTS,4,true],["HasProjections",IFCRELPROJECTSELEMENT,4,true],["HasOpenings",IFCRELVOIDSELEMENT,4,true],["IsConnectionRealization",IFCRELCONNECTSWITHREALIZINGELEMENTS,7,true],["ProvidesBoundaries",IFCRELSPACEBOUNDARY,5,true],["ConnectedFrom",IFCRELCONNECTSELEMENTS,6,true],["ContainedInStructure",IFCRELCONTAINEDINSPATIALSTRUCTURE,4,true],["HasCoverings",IFCRELCOVERSBLDGELEMENTS,4,true],["HasSurfaceFeatures",IFCRELADHERESTOELEMENT,4,true]],3283111854:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDeclaredBy",IFCRELDEFINESBYOBJECT,4,true],["Declares",IFCRELDEFINESBYOBJECT,5,true],["IsTypedBy",IFCRELDEFINESBYTYPE,4,true],["IsDefinedBy",IFCRELDEFINESBYPROPERTIES,4,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true],["PositionedRelativeTo",IFCRELPOSITIONS,5,true],["ReferencedInStructures",IFCRELREFERENCEDINSPATIALSTRUCTURE,4,true],["FillsVoids",IFCRELFILLSELEMENT,5,true],["ConnectedTo",IFCRELCONNECTSELEMENTS,5,true],["IsInterferedByElements",IFCRELINTERFERESELEMENTS,5,true],["InterferesElements",IFCRELINTERFERESELEMENTS,4,true],["HasProjections",IFCRELPROJECTSELEMENT,4,true],["HasOpenings",IFCRELVOIDSELEMENT,4,true],["IsConnectionRealization",IFCRELCONNECTSWITHREALIZINGELEMENTS,7,true],["ProvidesBoundaries",IFCRELSPACEBOUNDARY,5,true],["ConnectedFrom",IFCRELCONNECTSELEMENTS,6,true],["ContainedInStructure",IFCRELCONTAINEDINSPATIALSTRUCTURE,4,true],["HasCoverings",IFCRELCOVERSBLDGELEMENTS,4,true],["HasSurfaceFeatures",IFCRELADHERESTOELEMENT,4,true]],1232101972:[["LayerAssignment",IFCPRESENTATIONLAYERASSIGNMENT,2,true],["StyledByItem",IFCSTYLEDITEM,0,true]],3798194928:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDeclaredBy",IFCRELDEFINESBYOBJECT,4,true],["Declares",IFCRELDEFINESBYOBJECT,5,true],["IsTypedBy",IFCRELDEFINESBYTYPE,4,true],["IsDefinedBy",IFCRELDEFINESBYPROPERTIES,4,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true],["PositionedRelativeTo",IFCRELPOSITIONS,5,true],["ReferencedInStructures",IFCRELREFERENCEDINSPATIALSTRUCTURE,4,true],["FillsVoids",IFCRELFILLSELEMENT,5,true],["ConnectedTo",IFCRELCONNECTSELEMENTS,5,true],["IsInterferedByElements",IFCRELINTERFERESELEMENTS,5,true],["InterferesElements",IFCRELINTERFERESELEMENTS,4,true],["HasProjections",IFCRELPROJECTSELEMENT,4,true],["HasOpenings",IFCRELVOIDSELEMENT,4,true],["IsConnectionRealization",IFCRELCONNECTSWITHREALIZINGELEMENTS,7,true],["ProvidesBoundaries",IFCRELSPACEBOUNDARY,5,true],["ConnectedFrom",IFCRELCONNECTSELEMENTS,6,true],["ContainedInStructure",IFCRELCONTAINEDINSPATIALSTRUCTURE,4,true],["HasCoverings",IFCRELCOVERSBLDGELEMENTS,4,true],["HasSurfaceFeatures",IFCRELADHERESTOELEMENT,4,true]],979691226:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDeclaredBy",IFCRELDEFINESBYOBJECT,4,true],["Declares",IFCRELDEFINESBYOBJECT,5,true],["IsTypedBy",IFCRELDEFINESBYTYPE,4,true],["IsDefinedBy",IFCRELDEFINESBYPROPERTIES,4,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true],["PositionedRelativeTo",IFCRELPOSITIONS,5,true],["ReferencedInStructures",IFCRELREFERENCEDINSPATIALSTRUCTURE,4,true],["FillsVoids",IFCRELFILLSELEMENT,5,true],["ConnectedTo",IFCRELCONNECTSELEMENTS,5,true],["IsInterferedByElements",IFCRELINTERFERESELEMENTS,5,true],["InterferesElements",IFCRELINTERFERESELEMENTS,4,true],["HasProjections",IFCRELPROJECTSELEMENT,4,true],["HasOpenings",IFCRELVOIDSELEMENT,4,true],["IsConnectionRealization",IFCRELCONNECTSWITHREALIZINGELEMENTS,7,true],["ProvidesBoundaries",IFCRELSPACEBOUNDARY,5,true],["ConnectedFrom",IFCRELCONNECTSELEMENTS,6,true],["ContainedInStructure",IFCRELCONTAINEDINSPATIALSTRUCTURE,4,true],["HasCoverings",IFCRELCOVERSBLDGELEMENTS,4,true],["HasSurfaceFeatures",IFCRELADHERESTOELEMENT,4,true]],2572171363:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["Types",IFCRELDEFINESBYTYPE,5,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true]],2016517767:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDeclaredBy",IFCRELDEFINESBYOBJECT,4,true],["Declares",IFCRELDEFINESBYOBJECT,5,true],["IsTypedBy",IFCRELDEFINESBYTYPE,4,true],["IsDefinedBy",IFCRELDEFINESBYPROPERTIES,4,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true],["PositionedRelativeTo",IFCRELPOSITIONS,5,true],["ReferencedInStructures",IFCRELREFERENCEDINSPATIALSTRUCTURE,4,true],["FillsVoids",IFCRELFILLSELEMENT,5,true],["ConnectedTo",IFCRELCONNECTSELEMENTS,5,true],["IsInterferedByElements",IFCRELINTERFERESELEMENTS,5,true],["InterferesElements",IFCRELINTERFERESELEMENTS,4,true],["HasProjections",IFCRELPROJECTSELEMENT,4,true],["HasOpenings",IFCRELVOIDSELEMENT,4,true],["IsConnectionRealization",IFCRELCONNECTSWITHREALIZINGELEMENTS,7,true],["ProvidesBoundaries",IFCRELSPACEBOUNDARY,5,true],["ConnectedFrom",IFCRELCONNECTSELEMENTS,6,true],["ContainedInStructure",IFCRELCONTAINEDINSPATIALSTRUCTURE,4,true],["HasCoverings",IFCRELCOVERSBLDGELEMENTS,4,true],["HasSurfaceFeatures",IFCRELADHERESTOELEMENT,4,true]],3053780830:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDeclaredBy",IFCRELDEFINESBYOBJECT,4,true],["Declares",IFCRELDEFINESBYOBJECT,5,true],["IsTypedBy",IFCRELDEFINESBYTYPE,4,true],["IsDefinedBy",IFCRELDEFINESBYPROPERTIES,4,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true],["PositionedRelativeTo",IFCRELPOSITIONS,5,true],["ReferencedInStructures",IFCRELREFERENCEDINSPATIALSTRUCTURE,4,true],["FillsVoids",IFCRELFILLSELEMENT,5,true],["ConnectedTo",IFCRELCONNECTSELEMENTS,5,true],["IsInterferedByElements",IFCRELINTERFERESELEMENTS,5,true],["InterferesElements",IFCRELINTERFERESELEMENTS,4,true],["HasProjections",IFCRELPROJECTSELEMENT,4,true],["HasOpenings",IFCRELVOIDSELEMENT,4,true],["IsConnectionRealization",IFCRELCONNECTSWITHREALIZINGELEMENTS,7,true],["ProvidesBoundaries",IFCRELSPACEBOUNDARY,5,true],["ConnectedFrom",IFCRELCONNECTSELEMENTS,6,true],["ContainedInStructure",IFCRELCONTAINEDINSPATIALSTRUCTURE,4,true],["HasCoverings",IFCRELCOVERSBLDGELEMENTS,4,true],["HasSurfaceFeatures",IFCRELADHERESTOELEMENT,4,true],["HasPorts",IFCRELCONNECTSPORTTOELEMENT,5,true],["HasControlElements",IFCRELFLOWCONTROLELEMENTS,5,true]],1783015770:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["Types",IFCRELDEFINESBYTYPE,5,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true]],1329646415:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDeclaredBy",IFCRELDEFINESBYOBJECT,4,true],["Declares",IFCRELDEFINESBYOBJECT,5,true],["IsTypedBy",IFCRELDEFINESBYTYPE,4,true],["IsDefinedBy",IFCRELDEFINESBYPROPERTIES,4,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true],["PositionedRelativeTo",IFCRELPOSITIONS,5,true],["ReferencedInStructures",IFCRELREFERENCEDINSPATIALSTRUCTURE,4,true],["FillsVoids",IFCRELFILLSELEMENT,5,true],["ConnectedTo",IFCRELCONNECTSELEMENTS,5,true],["IsInterferedByElements",IFCRELINTERFERESELEMENTS,5,true],["InterferesElements",IFCRELINTERFERESELEMENTS,4,true],["HasProjections",IFCRELPROJECTSELEMENT,4,true],["HasOpenings",IFCRELVOIDSELEMENT,4,true],["IsConnectionRealization",IFCRELCONNECTSWITHREALIZINGELEMENTS,7,true],["ProvidesBoundaries",IFCRELSPACEBOUNDARY,5,true],["ConnectedFrom",IFCRELCONNECTSELEMENTS,6,true],["ContainedInStructure",IFCRELCONTAINEDINSPATIALSTRUCTURE,4,true],["HasCoverings",IFCRELCOVERSBLDGELEMENTS,4,true],["HasSurfaceFeatures",IFCRELADHERESTOELEMENT,4,true]],991950508:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDeclaredBy",IFCRELDEFINESBYOBJECT,4,true],["Declares",IFCRELDEFINESBYOBJECT,5,true],["IsTypedBy",IFCRELDEFINESBYTYPE,4,true],["IsDefinedBy",IFCRELDEFINESBYPROPERTIES,4,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true],["PositionedRelativeTo",IFCRELPOSITIONS,5,true],["ReferencedInStructures",IFCRELREFERENCEDINSPATIALSTRUCTURE,4,true],["FillsVoids",IFCRELFILLSELEMENT,5,true],["ConnectedTo",IFCRELCONNECTSELEMENTS,5,true],["IsInterferedByElements",IFCRELINTERFERESELEMENTS,5,true],["InterferesElements",IFCRELINTERFERESELEMENTS,4,true],["HasProjections",IFCRELPROJECTSELEMENT,4,true],["HasOpenings",IFCRELVOIDSELEMENT,4,true],["IsConnectionRealization",IFCRELCONNECTSWITHREALIZINGELEMENTS,7,true],["ProvidesBoundaries",IFCRELSPACEBOUNDARY,5,true],["ConnectedFrom",IFCRELCONNECTSELEMENTS,6,true],["ContainedInStructure",IFCRELCONTAINEDINSPATIALSTRUCTURE,4,true],["HasCoverings",IFCRELCOVERSBLDGELEMENTS,4,true],["HasSurfaceFeatures",IFCRELADHERESTOELEMENT,4,true],["HasPorts",IFCRELCONNECTSPORTTOELEMENT,5,true],["HasControlElements",IFCRELFLOWCONTROLELEMENTS,5,true]],1529196076:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDeclaredBy",IFCRELDEFINESBYOBJECT,4,true],["Declares",IFCRELDEFINESBYOBJECT,5,true],["IsTypedBy",IFCRELDEFINESBYTYPE,4,true],["IsDefinedBy",IFCRELDEFINESBYPROPERTIES,4,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true],["PositionedRelativeTo",IFCRELPOSITIONS,5,true],["ReferencedInStructures",IFCRELREFERENCEDINSPATIALSTRUCTURE,4,true],["FillsVoids",IFCRELFILLSELEMENT,5,true],["ConnectedTo",IFCRELCONNECTSELEMENTS,5,true],["IsInterferedByElements",IFCRELINTERFERESELEMENTS,5,true],["InterferesElements",IFCRELINTERFERESELEMENTS,4,true],["HasProjections",IFCRELPROJECTSELEMENT,4,true],["HasOpenings",IFCRELVOIDSELEMENT,4,true],["IsConnectionRealization",IFCRELCONNECTSWITHREALIZINGELEMENTS,7,true],["ProvidesBoundaries",IFCRELSPACEBOUNDARY,5,true],["ConnectedFrom",IFCRELCONNECTSELEMENTS,6,true],["ContainedInStructure",IFCRELCONTAINEDINSPATIALSTRUCTURE,4,true],["HasCoverings",IFCRELCOVERSBLDGELEMENTS,4,true],["HasSurfaceFeatures",IFCRELADHERESTOELEMENT,4,true]],3420628829:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDeclaredBy",IFCRELDEFINESBYOBJECT,4,true],["Declares",IFCRELDEFINESBYOBJECT,5,true],["IsTypedBy",IFCRELDEFINESBYTYPE,4,true],["IsDefinedBy",IFCRELDEFINESBYPROPERTIES,4,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true],["PositionedRelativeTo",IFCRELPOSITIONS,5,true],["ReferencedInStructures",IFCRELREFERENCEDINSPATIALSTRUCTURE,4,true],["FillsVoids",IFCRELFILLSELEMENT,5,true],["ConnectedTo",IFCRELCONNECTSELEMENTS,5,true],["IsInterferedByElements",IFCRELINTERFERESELEMENTS,5,true],["InterferesElements",IFCRELINTERFERESELEMENTS,4,true],["HasProjections",IFCRELPROJECTSELEMENT,4,true],["HasOpenings",IFCRELVOIDSELEMENT,4,true],["IsConnectionRealization",IFCRELCONNECTSWITHREALIZINGELEMENTS,7,true],["ProvidesBoundaries",IFCRELSPACEBOUNDARY,5,true],["ConnectedFrom",IFCRELCONNECTSELEMENTS,6,true],["ContainedInStructure",IFCRELCONTAINEDINSPATIALSTRUCTURE,4,true],["HasCoverings",IFCRELCOVERSBLDGELEMENTS,4,true],["HasSurfaceFeatures",IFCRELADHERESTOELEMENT,4,true],["HasPorts",IFCRELCONNECTSPORTTOELEMENT,5,true],["HasControlElements",IFCRELFLOWCONTROLELEMENTS,5,true]],1999602285:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDeclaredBy",IFCRELDEFINESBYOBJECT,4,true],["Declares",IFCRELDEFINESBYOBJECT,5,true],["IsTypedBy",IFCRELDEFINESBYTYPE,4,true],["IsDefinedBy",IFCRELDEFINESBYPROPERTIES,4,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true],["PositionedRelativeTo",IFCRELPOSITIONS,5,true],["ReferencedInStructures",IFCRELREFERENCEDINSPATIALSTRUCTURE,4,true],["FillsVoids",IFCRELFILLSELEMENT,5,true],["ConnectedTo",IFCRELCONNECTSELEMENTS,5,true],["IsInterferedByElements",IFCRELINTERFERESELEMENTS,5,true],["InterferesElements",IFCRELINTERFERESELEMENTS,4,true],["HasProjections",IFCRELPROJECTSELEMENT,4,true],["HasOpenings",IFCRELVOIDSELEMENT,4,true],["IsConnectionRealization",IFCRELCONNECTSWITHREALIZINGELEMENTS,7,true],["ProvidesBoundaries",IFCRELSPACEBOUNDARY,5,true],["ConnectedFrom",IFCRELCONNECTSELEMENTS,6,true],["ContainedInStructure",IFCRELCONTAINEDINSPATIALSTRUCTURE,4,true],["HasCoverings",IFCRELCOVERSBLDGELEMENTS,4,true],["HasSurfaceFeatures",IFCRELADHERESTOELEMENT,4,true],["HasPorts",IFCRELCONNECTSPORTTOELEMENT,5,true],["HasControlElements",IFCRELFLOWCONTROLELEMENTS,5,true]],1404847402:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDeclaredBy",IFCRELDEFINESBYOBJECT,4,true],["Declares",IFCRELDEFINESBYOBJECT,5,true],["IsTypedBy",IFCRELDEFINESBYTYPE,4,true],["IsDefinedBy",IFCRELDEFINESBYPROPERTIES,4,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true],["PositionedRelativeTo",IFCRELPOSITIONS,5,true],["ReferencedInStructures",IFCRELREFERENCEDINSPATIALSTRUCTURE,4,true],["FillsVoids",IFCRELFILLSELEMENT,5,true],["ConnectedTo",IFCRELCONNECTSELEMENTS,5,true],["IsInterferedByElements",IFCRELINTERFERESELEMENTS,5,true],["InterferesElements",IFCRELINTERFERESELEMENTS,4,true],["HasProjections",IFCRELPROJECTSELEMENT,4,true],["HasOpenings",IFCRELVOIDSELEMENT,4,true],["IsConnectionRealization",IFCRELCONNECTSWITHREALIZINGELEMENTS,7,true],["ProvidesBoundaries",IFCRELSPACEBOUNDARY,5,true],["ConnectedFrom",IFCRELCONNECTSELEMENTS,6,true],["ContainedInStructure",IFCRELCONTAINEDINSPATIALSTRUCTURE,4,true],["HasCoverings",IFCRELCOVERSBLDGELEMENTS,4,true],["HasSurfaceFeatures",IFCRELADHERESTOELEMENT,4,true],["HasPorts",IFCRELCONNECTSPORTTOELEMENT,5,true],["HasControlElements",IFCRELFLOWCONTROLELEMENTS,5,true]],331165859:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDeclaredBy",IFCRELDEFINESBYOBJECT,4,true],["Declares",IFCRELDEFINESBYOBJECT,5,true],["IsTypedBy",IFCRELDEFINESBYTYPE,4,true],["IsDefinedBy",IFCRELDEFINESBYPROPERTIES,4,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true],["PositionedRelativeTo",IFCRELPOSITIONS,5,true],["ReferencedInStructures",IFCRELREFERENCEDINSPATIALSTRUCTURE,4,true],["FillsVoids",IFCRELFILLSELEMENT,5,true],["ConnectedTo",IFCRELCONNECTSELEMENTS,5,true],["IsInterferedByElements",IFCRELINTERFERESELEMENTS,5,true],["InterferesElements",IFCRELINTERFERESELEMENTS,4,true],["HasProjections",IFCRELPROJECTSELEMENT,4,true],["HasOpenings",IFCRELVOIDSELEMENT,4,true],["IsConnectionRealization",IFCRELCONNECTSWITHREALIZINGELEMENTS,7,true],["ProvidesBoundaries",IFCRELSPACEBOUNDARY,5,true],["ConnectedFrom",IFCRELCONNECTSELEMENTS,6,true],["ContainedInStructure",IFCRELCONTAINEDINSPATIALSTRUCTURE,4,true],["HasCoverings",IFCRELCOVERSBLDGELEMENTS,4,true],["HasSurfaceFeatures",IFCRELADHERESTOELEMENT,4,true]],4252922144:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDeclaredBy",IFCRELDEFINESBYOBJECT,4,true],["Declares",IFCRELDEFINESBYOBJECT,5,true],["IsTypedBy",IFCRELDEFINESBYTYPE,4,true],["IsDefinedBy",IFCRELDEFINESBYPROPERTIES,4,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true],["PositionedRelativeTo",IFCRELPOSITIONS,5,true],["ReferencedInStructures",IFCRELREFERENCEDINSPATIALSTRUCTURE,4,true],["FillsVoids",IFCRELFILLSELEMENT,5,true],["ConnectedTo",IFCRELCONNECTSELEMENTS,5,true],["IsInterferedByElements",IFCRELINTERFERESELEMENTS,5,true],["InterferesElements",IFCRELINTERFERESELEMENTS,4,true],["HasProjections",IFCRELPROJECTSELEMENT,4,true],["HasOpenings",IFCRELVOIDSELEMENT,4,true],["IsConnectionRealization",IFCRELCONNECTSWITHREALIZINGELEMENTS,7,true],["ProvidesBoundaries",IFCRELSPACEBOUNDARY,5,true],["ConnectedFrom",IFCRELCONNECTSELEMENTS,6,true],["ContainedInStructure",IFCRELCONTAINEDINSPATIALSTRUCTURE,4,true],["HasCoverings",IFCRELCOVERSBLDGELEMENTS,4,true],["HasSurfaceFeatures",IFCRELADHERESTOELEMENT,4,true]],2515109513:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDeclaredBy",IFCRELDEFINESBYOBJECT,4,true],["Declares",IFCRELDEFINESBYOBJECT,5,true],["IsTypedBy",IFCRELDEFINESBYTYPE,4,true],["IsDefinedBy",IFCRELDEFINESBYPROPERTIES,4,true],["IsGroupedBy",IFCRELASSIGNSTOGROUP,6,true],["ReferencedInStructures",IFCRELREFERENCEDINSPATIALSTRUCTURE,4,true],["ServicesBuildings",IFCRELSERVICESBUILDINGS,4,true],["ServicesFacilities",IFCRELREFERENCEDINSPATIALSTRUCTURE,4,true]],385403989:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDeclaredBy",IFCRELDEFINESBYOBJECT,4,true],["Declares",IFCRELDEFINESBYOBJECT,5,true],["IsTypedBy",IFCRELDEFINESBYTYPE,4,true],["IsDefinedBy",IFCRELDEFINESBYPROPERTIES,4,true],["IsGroupedBy",IFCRELASSIGNSTOGROUP,6,true],["ReferencedInStructures",IFCRELREFERENCEDINSPATIALSTRUCTURE,4,true],["SourceOfResultGroup",IFCSTRUCTURALRESULTGROUP,6,true],["LoadGroupFor",IFCSTRUCTURALANALYSISMODEL,7,true]],1621171031:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDeclaredBy",IFCRELDEFINESBYOBJECT,4,true],["Declares",IFCRELDEFINESBYOBJECT,5,true],["IsTypedBy",IFCRELDEFINESBYTYPE,4,true],["IsDefinedBy",IFCRELDEFINESBYPROPERTIES,4,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true],["PositionedRelativeTo",IFCRELPOSITIONS,5,true],["ReferencedInStructures",IFCRELREFERENCEDINSPATIALSTRUCTURE,4,true],["AssignedToStructuralItem",IFCRELCONNECTSSTRUCTURALACTIVITY,5,true]],1162798199:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDeclaredBy",IFCRELDEFINESBYOBJECT,4,true],["Declares",IFCRELDEFINESBYOBJECT,5,true],["IsTypedBy",IFCRELDEFINESBYTYPE,4,true],["IsDefinedBy",IFCRELDEFINESBYPROPERTIES,4,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true],["PositionedRelativeTo",IFCRELPOSITIONS,5,true],["ReferencedInStructures",IFCRELREFERENCEDINSPATIALSTRUCTURE,4,true],["FillsVoids",IFCRELFILLSELEMENT,5,true],["ConnectedTo",IFCRELCONNECTSELEMENTS,5,true],["IsInterferedByElements",IFCRELINTERFERESELEMENTS,5,true],["InterferesElements",IFCRELINTERFERESELEMENTS,4,true],["HasProjections",IFCRELPROJECTSELEMENT,4,true],["HasOpenings",IFCRELVOIDSELEMENT,4,true],["IsConnectionRealization",IFCRELCONNECTSWITHREALIZINGELEMENTS,7,true],["ProvidesBoundaries",IFCRELSPACEBOUNDARY,5,true],["ConnectedFrom",IFCRELCONNECTSELEMENTS,6,true],["ContainedInStructure",IFCRELCONTAINEDINSPATIALSTRUCTURE,4,true],["HasCoverings",IFCRELCOVERSBLDGELEMENTS,4,true],["HasSurfaceFeatures",IFCRELADHERESTOELEMENT,4,true],["HasPorts",IFCRELCONNECTSPORTTOELEMENT,5,true],["HasControlElements",IFCRELFLOWCONTROLELEMENTS,5,true]],812556717:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDeclaredBy",IFCRELDEFINESBYOBJECT,4,true],["Declares",IFCRELDEFINESBYOBJECT,5,true],["IsTypedBy",IFCRELDEFINESBYTYPE,4,true],["IsDefinedBy",IFCRELDEFINESBYPROPERTIES,4,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true],["PositionedRelativeTo",IFCRELPOSITIONS,5,true],["ReferencedInStructures",IFCRELREFERENCEDINSPATIALSTRUCTURE,4,true],["FillsVoids",IFCRELFILLSELEMENT,5,true],["ConnectedTo",IFCRELCONNECTSELEMENTS,5,true],["IsInterferedByElements",IFCRELINTERFERESELEMENTS,5,true],["InterferesElements",IFCRELINTERFERESELEMENTS,4,true],["HasProjections",IFCRELPROJECTSELEMENT,4,true],["HasOpenings",IFCRELVOIDSELEMENT,4,true],["IsConnectionRealization",IFCRELCONNECTSWITHREALIZINGELEMENTS,7,true],["ProvidesBoundaries",IFCRELSPACEBOUNDARY,5,true],["ConnectedFrom",IFCRELCONNECTSELEMENTS,6,true],["ContainedInStructure",IFCRELCONTAINEDINSPATIALSTRUCTURE,4,true],["HasCoverings",IFCRELCOVERSBLDGELEMENTS,4,true],["HasSurfaceFeatures",IFCRELADHERESTOELEMENT,4,true],["HasPorts",IFCRELCONNECTSPORTTOELEMENT,5,true],["HasControlElements",IFCRELFLOWCONTROLELEMENTS,5,true]],3425753595:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDeclaredBy",IFCRELDEFINESBYOBJECT,4,true],["Declares",IFCRELDEFINESBYOBJECT,5,true],["IsTypedBy",IFCRELDEFINESBYTYPE,4,true],["IsDefinedBy",IFCRELDEFINESBYPROPERTIES,4,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true],["PositionedRelativeTo",IFCRELPOSITIONS,5,true],["ReferencedInStructures",IFCRELREFERENCEDINSPATIALSTRUCTURE,4,true],["FillsVoids",IFCRELFILLSELEMENT,5,true],["ConnectedTo",IFCRELCONNECTSELEMENTS,5,true],["IsInterferedByElements",IFCRELINTERFERESELEMENTS,5,true],["InterferesElements",IFCRELINTERFERESELEMENTS,4,true],["HasProjections",IFCRELPROJECTSELEMENT,4,true],["HasOpenings",IFCRELVOIDSELEMENT,4,true],["IsConnectionRealization",IFCRELCONNECTSWITHREALIZINGELEMENTS,7,true],["ProvidesBoundaries",IFCRELSPACEBOUNDARY,5,true],["ConnectedFrom",IFCRELCONNECTSELEMENTS,6,true],["ContainedInStructure",IFCRELCONTAINEDINSPATIALSTRUCTURE,4,true],["HasCoverings",IFCRELCOVERSBLDGELEMENTS,4,true],["HasSurfaceFeatures",IFCRELADHERESTOELEMENT,4,true]],3825984169:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDeclaredBy",IFCRELDEFINESBYOBJECT,4,true],["Declares",IFCRELDEFINESBYOBJECT,5,true],["IsTypedBy",IFCRELDEFINESBYTYPE,4,true],["IsDefinedBy",IFCRELDEFINESBYPROPERTIES,4,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true],["PositionedRelativeTo",IFCRELPOSITIONS,5,true],["ReferencedInStructures",IFCRELREFERENCEDINSPATIALSTRUCTURE,4,true],["FillsVoids",IFCRELFILLSELEMENT,5,true],["ConnectedTo",IFCRELCONNECTSELEMENTS,5,true],["IsInterferedByElements",IFCRELINTERFERESELEMENTS,5,true],["InterferesElements",IFCRELINTERFERESELEMENTS,4,true],["HasProjections",IFCRELPROJECTSELEMENT,4,true],["HasOpenings",IFCRELVOIDSELEMENT,4,true],["IsConnectionRealization",IFCRELCONNECTSWITHREALIZINGELEMENTS,7,true],["ProvidesBoundaries",IFCRELSPACEBOUNDARY,5,true],["ConnectedFrom",IFCRELCONNECTSELEMENTS,6,true],["ContainedInStructure",IFCRELCONTAINEDINSPATIALSTRUCTURE,4,true],["HasCoverings",IFCRELCOVERSBLDGELEMENTS,4,true],["HasSurfaceFeatures",IFCRELADHERESTOELEMENT,4,true],["HasPorts",IFCRELCONNECTSPORTTOELEMENT,5,true],["HasControlElements",IFCRELFLOWCONTROLELEMENTS,5,true]],1620046519:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDeclaredBy",IFCRELDEFINESBYOBJECT,4,true],["Declares",IFCRELDEFINESBYOBJECT,5,true],["IsTypedBy",IFCRELDEFINESBYTYPE,4,true],["IsDefinedBy",IFCRELDEFINESBYPROPERTIES,4,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true],["PositionedRelativeTo",IFCRELPOSITIONS,5,true],["ReferencedInStructures",IFCRELREFERENCEDINSPATIALSTRUCTURE,4,true],["FillsVoids",IFCRELFILLSELEMENT,5,true],["ConnectedTo",IFCRELCONNECTSELEMENTS,5,true],["IsInterferedByElements",IFCRELINTERFERESELEMENTS,5,true],["InterferesElements",IFCRELINTERFERESELEMENTS,4,true],["HasProjections",IFCRELPROJECTSELEMENT,4,true],["HasOpenings",IFCRELVOIDSELEMENT,4,true],["IsConnectionRealization",IFCRELCONNECTSWITHREALIZINGELEMENTS,7,true],["ProvidesBoundaries",IFCRELSPACEBOUNDARY,5,true],["ConnectedFrom",IFCRELCONNECTSELEMENTS,6,true],["ContainedInStructure",IFCRELCONTAINEDINSPATIALSTRUCTURE,4,true],["HasCoverings",IFCRELCOVERSBLDGELEMENTS,4,true],["HasSurfaceFeatures",IFCRELADHERESTOELEMENT,4,true]],3026737570:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDeclaredBy",IFCRELDEFINESBYOBJECT,4,true],["Declares",IFCRELDEFINESBYOBJECT,5,true],["IsTypedBy",IFCRELDEFINESBYTYPE,4,true],["IsDefinedBy",IFCRELDEFINESBYPROPERTIES,4,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true],["PositionedRelativeTo",IFCRELPOSITIONS,5,true],["ReferencedInStructures",IFCRELREFERENCEDINSPATIALSTRUCTURE,4,true],["FillsVoids",IFCRELFILLSELEMENT,5,true],["ConnectedTo",IFCRELCONNECTSELEMENTS,5,true],["IsInterferedByElements",IFCRELINTERFERESELEMENTS,5,true],["InterferesElements",IFCRELINTERFERESELEMENTS,4,true],["HasProjections",IFCRELPROJECTSELEMENT,4,true],["HasOpenings",IFCRELVOIDSELEMENT,4,true],["IsConnectionRealization",IFCRELCONNECTSWITHREALIZINGELEMENTS,7,true],["ProvidesBoundaries",IFCRELSPACEBOUNDARY,5,true],["ConnectedFrom",IFCRELCONNECTSELEMENTS,6,true],["ContainedInStructure",IFCRELCONTAINEDINSPATIALSTRUCTURE,4,true],["HasCoverings",IFCRELCOVERSBLDGELEMENTS,4,true],["HasSurfaceFeatures",IFCRELADHERESTOELEMENT,4,true],["HasPorts",IFCRELCONNECTSPORTTOELEMENT,5,true],["HasControlElements",IFCRELFLOWCONTROLELEMENTS,5,true]],3179687236:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["Types",IFCRELDEFINESBYTYPE,5,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true]],4292641817:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDeclaredBy",IFCRELDEFINESBYOBJECT,4,true],["Declares",IFCRELDEFINESBYOBJECT,5,true],["IsTypedBy",IFCRELDEFINESBYTYPE,4,true],["IsDefinedBy",IFCRELDEFINESBYPROPERTIES,4,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true],["PositionedRelativeTo",IFCRELPOSITIONS,5,true],["ReferencedInStructures",IFCRELREFERENCEDINSPATIALSTRUCTURE,4,true],["FillsVoids",IFCRELFILLSELEMENT,5,true],["ConnectedTo",IFCRELCONNECTSELEMENTS,5,true],["IsInterferedByElements",IFCRELINTERFERESELEMENTS,5,true],["InterferesElements",IFCRELINTERFERESELEMENTS,4,true],["HasProjections",IFCRELPROJECTSELEMENT,4,true],["HasOpenings",IFCRELVOIDSELEMENT,4,true],["IsConnectionRealization",IFCRELCONNECTSWITHREALIZINGELEMENTS,7,true],["ProvidesBoundaries",IFCRELSPACEBOUNDARY,5,true],["ConnectedFrom",IFCRELCONNECTSELEMENTS,6,true],["ContainedInStructure",IFCRELCONTAINEDINSPATIALSTRUCTURE,4,true],["HasCoverings",IFCRELCOVERSBLDGELEMENTS,4,true],["HasSurfaceFeatures",IFCRELADHERESTOELEMENT,4,true],["HasPorts",IFCRELCONNECTSPORTTOELEMENT,5,true],["HasControlElements",IFCRELFLOWCONTROLELEMENTS,5,true]],4207607924:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDeclaredBy",IFCRELDEFINESBYOBJECT,4,true],["Declares",IFCRELDEFINESBYOBJECT,5,true],["IsTypedBy",IFCRELDEFINESBYTYPE,4,true],["IsDefinedBy",IFCRELDEFINESBYPROPERTIES,4,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true],["PositionedRelativeTo",IFCRELPOSITIONS,5,true],["ReferencedInStructures",IFCRELREFERENCEDINSPATIALSTRUCTURE,4,true],["FillsVoids",IFCRELFILLSELEMENT,5,true],["ConnectedTo",IFCRELCONNECTSELEMENTS,5,true],["IsInterferedByElements",IFCRELINTERFERESELEMENTS,5,true],["InterferesElements",IFCRELINTERFERESELEMENTS,4,true],["HasProjections",IFCRELPROJECTSELEMENT,4,true],["HasOpenings",IFCRELVOIDSELEMENT,4,true],["IsConnectionRealization",IFCRELCONNECTSWITHREALIZINGELEMENTS,7,true],["ProvidesBoundaries",IFCRELSPACEBOUNDARY,5,true],["ConnectedFrom",IFCRELCONNECTSELEMENTS,6,true],["ContainedInStructure",IFCRELCONTAINEDINSPATIALSTRUCTURE,4,true],["HasCoverings",IFCRELCOVERSBLDGELEMENTS,4,true],["HasSurfaceFeatures",IFCRELADHERESTOELEMENT,4,true],["HasPorts",IFCRELCONNECTSPORTTOELEMENT,5,true],["HasControlElements",IFCRELFLOWCONTROLELEMENTS,5,true]],2391406946:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDeclaredBy",IFCRELDEFINESBYOBJECT,4,true],["Declares",IFCRELDEFINESBYOBJECT,5,true],["IsTypedBy",IFCRELDEFINESBYTYPE,4,true],["IsDefinedBy",IFCRELDEFINESBYPROPERTIES,4,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true],["PositionedRelativeTo",IFCRELPOSITIONS,5,true],["ReferencedInStructures",IFCRELREFERENCEDINSPATIALSTRUCTURE,4,true],["FillsVoids",IFCRELFILLSELEMENT,5,true],["ConnectedTo",IFCRELCONNECTSELEMENTS,5,true],["IsInterferedByElements",IFCRELINTERFERESELEMENTS,5,true],["InterferesElements",IFCRELINTERFERESELEMENTS,4,true],["HasProjections",IFCRELPROJECTSELEMENT,4,true],["HasOpenings",IFCRELVOIDSELEMENT,4,true],["IsConnectionRealization",IFCRELCONNECTSWITHREALIZINGELEMENTS,7,true],["ProvidesBoundaries",IFCRELSPACEBOUNDARY,5,true],["ConnectedFrom",IFCRELCONNECTSELEMENTS,6,true],["ContainedInStructure",IFCRELCONTAINEDINSPATIALSTRUCTURE,4,true],["HasCoverings",IFCRELCOVERSBLDGELEMENTS,4,true],["HasSurfaceFeatures",IFCRELADHERESTOELEMENT,4,true]],3512223829:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDeclaredBy",IFCRELDEFINESBYOBJECT,4,true],["Declares",IFCRELDEFINESBYOBJECT,5,true],["IsTypedBy",IFCRELDEFINESBYTYPE,4,true],["IsDefinedBy",IFCRELDEFINESBYPROPERTIES,4,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true],["PositionedRelativeTo",IFCRELPOSITIONS,5,true],["ReferencedInStructures",IFCRELREFERENCEDINSPATIALSTRUCTURE,4,true],["FillsVoids",IFCRELFILLSELEMENT,5,true],["ConnectedTo",IFCRELCONNECTSELEMENTS,5,true],["IsInterferedByElements",IFCRELINTERFERESELEMENTS,5,true],["InterferesElements",IFCRELINTERFERESELEMENTS,4,true],["HasProjections",IFCRELPROJECTSELEMENT,4,true],["HasOpenings",IFCRELVOIDSELEMENT,4,true],["IsConnectionRealization",IFCRELCONNECTSWITHREALIZINGELEMENTS,7,true],["ProvidesBoundaries",IFCRELSPACEBOUNDARY,5,true],["ConnectedFrom",IFCRELCONNECTSELEMENTS,6,true],["ContainedInStructure",IFCRELCONTAINEDINSPATIALSTRUCTURE,4,true],["HasCoverings",IFCRELCOVERSBLDGELEMENTS,4,true],["HasSurfaceFeatures",IFCRELADHERESTOELEMENT,4,true]],4237592921:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDeclaredBy",IFCRELDEFINESBYOBJECT,4,true],["Declares",IFCRELDEFINESBYOBJECT,5,true],["IsTypedBy",IFCRELDEFINESBYTYPE,4,true],["IsDefinedBy",IFCRELDEFINESBYPROPERTIES,4,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true],["PositionedRelativeTo",IFCRELPOSITIONS,5,true],["ReferencedInStructures",IFCRELREFERENCEDINSPATIALSTRUCTURE,4,true],["FillsVoids",IFCRELFILLSELEMENT,5,true],["ConnectedTo",IFCRELCONNECTSELEMENTS,5,true],["IsInterferedByElements",IFCRELINTERFERESELEMENTS,5,true],["InterferesElements",IFCRELINTERFERESELEMENTS,4,true],["HasProjections",IFCRELPROJECTSELEMENT,4,true],["HasOpenings",IFCRELVOIDSELEMENT,4,true],["IsConnectionRealization",IFCRELCONNECTSWITHREALIZINGELEMENTS,7,true],["ProvidesBoundaries",IFCRELSPACEBOUNDARY,5,true],["ConnectedFrom",IFCRELCONNECTSELEMENTS,6,true],["ContainedInStructure",IFCRELCONTAINEDINSPATIALSTRUCTURE,4,true],["HasCoverings",IFCRELCOVERSBLDGELEMENTS,4,true],["HasSurfaceFeatures",IFCRELADHERESTOELEMENT,4,true],["HasPorts",IFCRELCONNECTSPORTTOELEMENT,5,true],["HasControlElements",IFCRELFLOWCONTROLELEMENTS,5,true]],3304561284:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDeclaredBy",IFCRELDEFINESBYOBJECT,4,true],["Declares",IFCRELDEFINESBYOBJECT,5,true],["IsTypedBy",IFCRELDEFINESBYTYPE,4,true],["IsDefinedBy",IFCRELDEFINESBYPROPERTIES,4,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true],["PositionedRelativeTo",IFCRELPOSITIONS,5,true],["ReferencedInStructures",IFCRELREFERENCEDINSPATIALSTRUCTURE,4,true],["FillsVoids",IFCRELFILLSELEMENT,5,true],["ConnectedTo",IFCRELCONNECTSELEMENTS,5,true],["IsInterferedByElements",IFCRELINTERFERESELEMENTS,5,true],["InterferesElements",IFCRELINTERFERESELEMENTS,4,true],["HasProjections",IFCRELPROJECTSELEMENT,4,true],["HasOpenings",IFCRELVOIDSELEMENT,4,true],["IsConnectionRealization",IFCRELCONNECTSWITHREALIZINGELEMENTS,7,true],["ProvidesBoundaries",IFCRELSPACEBOUNDARY,5,true],["ConnectedFrom",IFCRELCONNECTSELEMENTS,6,true],["ContainedInStructure",IFCRELCONTAINEDINSPATIALSTRUCTURE,4,true],["HasCoverings",IFCRELCOVERSBLDGELEMENTS,4,true],["HasSurfaceFeatures",IFCRELADHERESTOELEMENT,4,true]],2874132201:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["Types",IFCRELDEFINESBYTYPE,5,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true]],1634111441:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDeclaredBy",IFCRELDEFINESBYOBJECT,4,true],["Declares",IFCRELDEFINESBYOBJECT,5,true],["IsTypedBy",IFCRELDEFINESBYTYPE,4,true],["IsDefinedBy",IFCRELDEFINESBYPROPERTIES,4,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true],["PositionedRelativeTo",IFCRELPOSITIONS,5,true],["ReferencedInStructures",IFCRELREFERENCEDINSPATIALSTRUCTURE,4,true],["FillsVoids",IFCRELFILLSELEMENT,5,true],["ConnectedTo",IFCRELCONNECTSELEMENTS,5,true],["IsInterferedByElements",IFCRELINTERFERESELEMENTS,5,true],["InterferesElements",IFCRELINTERFERESELEMENTS,4,true],["HasProjections",IFCRELPROJECTSELEMENT,4,true],["HasOpenings",IFCRELVOIDSELEMENT,4,true],["IsConnectionRealization",IFCRELCONNECTSWITHREALIZINGELEMENTS,7,true],["ProvidesBoundaries",IFCRELSPACEBOUNDARY,5,true],["ConnectedFrom",IFCRELCONNECTSELEMENTS,6,true],["ContainedInStructure",IFCRELCONTAINEDINSPATIALSTRUCTURE,4,true],["HasCoverings",IFCRELCOVERSBLDGELEMENTS,4,true],["HasSurfaceFeatures",IFCRELADHERESTOELEMENT,4,true],["HasPorts",IFCRELCONNECTSPORTTOELEMENT,5,true],["HasControlElements",IFCRELFLOWCONTROLELEMENTS,5,true]],177149247:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDeclaredBy",IFCRELDEFINESBYOBJECT,4,true],["Declares",IFCRELDEFINESBYOBJECT,5,true],["IsTypedBy",IFCRELDEFINESBYTYPE,4,true],["IsDefinedBy",IFCRELDEFINESBYPROPERTIES,4,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true],["PositionedRelativeTo",IFCRELPOSITIONS,5,true],["ReferencedInStructures",IFCRELREFERENCEDINSPATIALSTRUCTURE,4,true],["FillsVoids",IFCRELFILLSELEMENT,5,true],["ConnectedTo",IFCRELCONNECTSELEMENTS,5,true],["IsInterferedByElements",IFCRELINTERFERESELEMENTS,5,true],["InterferesElements",IFCRELINTERFERESELEMENTS,4,true],["HasProjections",IFCRELPROJECTSELEMENT,4,true],["HasOpenings",IFCRELVOIDSELEMENT,4,true],["IsConnectionRealization",IFCRELCONNECTSWITHREALIZINGELEMENTS,7,true],["ProvidesBoundaries",IFCRELSPACEBOUNDARY,5,true],["ConnectedFrom",IFCRELCONNECTSELEMENTS,6,true],["ContainedInStructure",IFCRELCONTAINEDINSPATIALSTRUCTURE,4,true],["HasCoverings",IFCRELCOVERSBLDGELEMENTS,4,true],["HasSurfaceFeatures",IFCRELADHERESTOELEMENT,4,true],["HasPorts",IFCRELCONNECTSPORTTOELEMENT,5,true],["HasControlElements",IFCRELFLOWCONTROLELEMENTS,5,true]],2056796094:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDeclaredBy",IFCRELDEFINESBYOBJECT,4,true],["Declares",IFCRELDEFINESBYOBJECT,5,true],["IsTypedBy",IFCRELDEFINESBYTYPE,4,true],["IsDefinedBy",IFCRELDEFINESBYPROPERTIES,4,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true],["PositionedRelativeTo",IFCRELPOSITIONS,5,true],["ReferencedInStructures",IFCRELREFERENCEDINSPATIALSTRUCTURE,4,true],["FillsVoids",IFCRELFILLSELEMENT,5,true],["ConnectedTo",IFCRELCONNECTSELEMENTS,5,true],["IsInterferedByElements",IFCRELINTERFERESELEMENTS,5,true],["InterferesElements",IFCRELINTERFERESELEMENTS,4,true],["HasProjections",IFCRELPROJECTSELEMENT,4,true],["HasOpenings",IFCRELVOIDSELEMENT,4,true],["IsConnectionRealization",IFCRELCONNECTSWITHREALIZINGELEMENTS,7,true],["ProvidesBoundaries",IFCRELSPACEBOUNDARY,5,true],["ConnectedFrom",IFCRELCONNECTSELEMENTS,6,true],["ContainedInStructure",IFCRELCONTAINEDINSPATIALSTRUCTURE,4,true],["HasCoverings",IFCRELCOVERSBLDGELEMENTS,4,true],["HasSurfaceFeatures",IFCRELADHERESTOELEMENT,4,true],["HasPorts",IFCRELCONNECTSPORTTOELEMENT,5,true],["HasControlElements",IFCRELFLOWCONTROLELEMENTS,5,true]],3001207471:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["Types",IFCRELDEFINESBYTYPE,5,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true]],325726236:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDeclaredBy",IFCRELDEFINESBYOBJECT,4,true],["Declares",IFCRELDEFINESBYOBJECT,5,true],["IsTypedBy",IFCRELDEFINESBYTYPE,4,true],["IsDefinedBy",IFCRELDEFINESBYPROPERTIES,4,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true],["PositionedRelativeTo",IFCRELPOSITIONS,5,true],["ReferencedInStructures",IFCRELREFERENCEDINSPATIALSTRUCTURE,4,true],["ContainedInStructure",IFCRELCONTAINEDINSPATIALSTRUCTURE,4,true],["Positions",IFCRELPOSITIONS,4,true]],277319702:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDeclaredBy",IFCRELDEFINESBYOBJECT,4,true],["Declares",IFCRELDEFINESBYOBJECT,5,true],["IsTypedBy",IFCRELDEFINESBYTYPE,4,true],["IsDefinedBy",IFCRELDEFINESBYPROPERTIES,4,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true],["PositionedRelativeTo",IFCRELPOSITIONS,5,true],["ReferencedInStructures",IFCRELREFERENCEDINSPATIALSTRUCTURE,4,true],["FillsVoids",IFCRELFILLSELEMENT,5,true],["ConnectedTo",IFCRELCONNECTSELEMENTS,5,true],["IsInterferedByElements",IFCRELINTERFERESELEMENTS,5,true],["InterferesElements",IFCRELINTERFERESELEMENTS,4,true],["HasProjections",IFCRELPROJECTSELEMENT,4,true],["HasOpenings",IFCRELVOIDSELEMENT,4,true],["IsConnectionRealization",IFCRELCONNECTSWITHREALIZINGELEMENTS,7,true],["ProvidesBoundaries",IFCRELSPACEBOUNDARY,5,true],["ConnectedFrom",IFCRELCONNECTSELEMENTS,6,true],["ContainedInStructure",IFCRELCONTAINEDINSPATIALSTRUCTURE,4,true],["HasCoverings",IFCRELCOVERSBLDGELEMENTS,4,true],["HasSurfaceFeatures",IFCRELADHERESTOELEMENT,4,true],["HasPorts",IFCRELCONNECTSPORTTOELEMENT,5,true],["HasControlElements",IFCRELFLOWCONTROLELEMENTS,5,true]],753842376:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDeclaredBy",IFCRELDEFINESBYOBJECT,4,true],["Declares",IFCRELDEFINESBYOBJECT,5,true],["IsTypedBy",IFCRELDEFINESBYTYPE,4,true],["IsDefinedBy",IFCRELDEFINESBYPROPERTIES,4,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true],["PositionedRelativeTo",IFCRELPOSITIONS,5,true],["ReferencedInStructures",IFCRELREFERENCEDINSPATIALSTRUCTURE,4,true],["FillsVoids",IFCRELFILLSELEMENT,5,true],["ConnectedTo",IFCRELCONNECTSELEMENTS,5,true],["IsInterferedByElements",IFCRELINTERFERESELEMENTS,5,true],["InterferesElements",IFCRELINTERFERESELEMENTS,4,true],["HasProjections",IFCRELPROJECTSELEMENT,4,true],["HasOpenings",IFCRELVOIDSELEMENT,4,true],["IsConnectionRealization",IFCRELCONNECTSWITHREALIZINGELEMENTS,7,true],["ProvidesBoundaries",IFCRELSPACEBOUNDARY,5,true],["ConnectedFrom",IFCRELCONNECTSELEMENTS,6,true],["ContainedInStructure",IFCRELCONTAINEDINSPATIALSTRUCTURE,4,true],["HasCoverings",IFCRELCOVERSBLDGELEMENTS,4,true],["HasSurfaceFeatures",IFCRELADHERESTOELEMENT,4,true]],4196446775:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDeclaredBy",IFCRELDEFINESBYOBJECT,4,true],["Declares",IFCRELDEFINESBYOBJECT,5,true],["IsTypedBy",IFCRELDEFINESBYTYPE,4,true],["IsDefinedBy",IFCRELDEFINESBYPROPERTIES,4,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true],["PositionedRelativeTo",IFCRELPOSITIONS,5,true],["ReferencedInStructures",IFCRELREFERENCEDINSPATIALSTRUCTURE,4,true],["FillsVoids",IFCRELFILLSELEMENT,5,true],["ConnectedTo",IFCRELCONNECTSELEMENTS,5,true],["IsInterferedByElements",IFCRELINTERFERESELEMENTS,5,true],["InterferesElements",IFCRELINTERFERESELEMENTS,4,true],["HasProjections",IFCRELPROJECTSELEMENT,4,true],["HasOpenings",IFCRELVOIDSELEMENT,4,true],["IsConnectionRealization",IFCRELCONNECTSWITHREALIZINGELEMENTS,7,true],["ProvidesBoundaries",IFCRELSPACEBOUNDARY,5,true],["ConnectedFrom",IFCRELCONNECTSELEMENTS,6,true],["ContainedInStructure",IFCRELCONTAINEDINSPATIALSTRUCTURE,4,true],["HasCoverings",IFCRELCOVERSBLDGELEMENTS,4,true],["HasSurfaceFeatures",IFCRELADHERESTOELEMENT,4,true]],32344328:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDeclaredBy",IFCRELDEFINESBYOBJECT,4,true],["Declares",IFCRELDEFINESBYOBJECT,5,true],["IsTypedBy",IFCRELDEFINESBYTYPE,4,true],["IsDefinedBy",IFCRELDEFINESBYPROPERTIES,4,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true],["PositionedRelativeTo",IFCRELPOSITIONS,5,true],["ReferencedInStructures",IFCRELREFERENCEDINSPATIALSTRUCTURE,4,true],["FillsVoids",IFCRELFILLSELEMENT,5,true],["ConnectedTo",IFCRELCONNECTSELEMENTS,5,true],["IsInterferedByElements",IFCRELINTERFERESELEMENTS,5,true],["InterferesElements",IFCRELINTERFERESELEMENTS,4,true],["HasProjections",IFCRELPROJECTSELEMENT,4,true],["HasOpenings",IFCRELVOIDSELEMENT,4,true],["IsConnectionRealization",IFCRELCONNECTSWITHREALIZINGELEMENTS,7,true],["ProvidesBoundaries",IFCRELSPACEBOUNDARY,5,true],["ConnectedFrom",IFCRELCONNECTSELEMENTS,6,true],["ContainedInStructure",IFCRELCONTAINEDINSPATIALSTRUCTURE,4,true],["HasCoverings",IFCRELCOVERSBLDGELEMENTS,4,true],["HasSurfaceFeatures",IFCRELADHERESTOELEMENT,4,true],["HasPorts",IFCRELCONNECTSPORTTOELEMENT,5,true],["HasControlElements",IFCRELFLOWCONTROLELEMENTS,5,true]],3314249567:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDeclaredBy",IFCRELDEFINESBYOBJECT,4,true],["Declares",IFCRELDEFINESBYOBJECT,5,true],["IsTypedBy",IFCRELDEFINESBYTYPE,4,true],["IsDefinedBy",IFCRELDEFINESBYPROPERTIES,4,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true],["PositionedRelativeTo",IFCRELPOSITIONS,5,true],["ReferencedInStructures",IFCRELREFERENCEDINSPATIALSTRUCTURE,4,true],["FillsVoids",IFCRELFILLSELEMENT,5,true],["ConnectedTo",IFCRELCONNECTSELEMENTS,5,true],["IsInterferedByElements",IFCRELINTERFERESELEMENTS,5,true],["InterferesElements",IFCRELINTERFERESELEMENTS,4,true],["HasProjections",IFCRELPROJECTSELEMENT,4,true],["HasOpenings",IFCRELVOIDSELEMENT,4,true],["IsConnectionRealization",IFCRELCONNECTSWITHREALIZINGELEMENTS,7,true],["ProvidesBoundaries",IFCRELSPACEBOUNDARY,5,true],["ConnectedFrom",IFCRELCONNECTSELEMENTS,6,true],["ContainedInStructure",IFCRELCONTAINEDINSPATIALSTRUCTURE,4,true],["HasCoverings",IFCRELCOVERSBLDGELEMENTS,4,true],["HasSurfaceFeatures",IFCRELADHERESTOELEMENT,4,true]],1095909175:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDeclaredBy",IFCRELDEFINESBYOBJECT,4,true],["Declares",IFCRELDEFINESBYOBJECT,5,true],["IsTypedBy",IFCRELDEFINESBYTYPE,4,true],["IsDefinedBy",IFCRELDEFINESBYPROPERTIES,4,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true],["PositionedRelativeTo",IFCRELPOSITIONS,5,true],["ReferencedInStructures",IFCRELREFERENCEDINSPATIALSTRUCTURE,4,true],["FillsVoids",IFCRELFILLSELEMENT,5,true],["ConnectedTo",IFCRELCONNECTSELEMENTS,5,true],["IsInterferedByElements",IFCRELINTERFERESELEMENTS,5,true],["InterferesElements",IFCRELINTERFERESELEMENTS,4,true],["HasProjections",IFCRELPROJECTSELEMENT,4,true],["HasOpenings",IFCRELVOIDSELEMENT,4,true],["IsConnectionRealization",IFCRELCONNECTSWITHREALIZINGELEMENTS,7,true],["ProvidesBoundaries",IFCRELSPACEBOUNDARY,5,true],["ConnectedFrom",IFCRELCONNECTSELEMENTS,6,true],["ContainedInStructure",IFCRELCONTAINEDINSPATIALSTRUCTURE,4,true],["HasCoverings",IFCRELCOVERSBLDGELEMENTS,4,true],["HasSurfaceFeatures",IFCRELADHERESTOELEMENT,4,true]],2938176219:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDeclaredBy",IFCRELDEFINESBYOBJECT,4,true],["Declares",IFCRELDEFINESBYOBJECT,5,true],["IsTypedBy",IFCRELDEFINESBYTYPE,4,true],["IsDefinedBy",IFCRELDEFINESBYPROPERTIES,4,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true],["PositionedRelativeTo",IFCRELPOSITIONS,5,true],["ReferencedInStructures",IFCRELREFERENCEDINSPATIALSTRUCTURE,4,true],["FillsVoids",IFCRELFILLSELEMENT,5,true],["ConnectedTo",IFCRELCONNECTSELEMENTS,5,true],["IsInterferedByElements",IFCRELINTERFERESELEMENTS,5,true],["InterferesElements",IFCRELINTERFERESELEMENTS,4,true],["HasProjections",IFCRELPROJECTSELEMENT,4,true],["HasOpenings",IFCRELVOIDSELEMENT,4,true],["IsConnectionRealization",IFCRELCONNECTSWITHREALIZINGELEMENTS,7,true],["ProvidesBoundaries",IFCRELSPACEBOUNDARY,5,true],["ConnectedFrom",IFCRELCONNECTSELEMENTS,6,true],["ContainedInStructure",IFCRELCONTAINEDINSPATIALSTRUCTURE,4,true],["HasCoverings",IFCRELCOVERSBLDGELEMENTS,4,true],["HasSurfaceFeatures",IFCRELADHERESTOELEMENT,4,true],["HasPorts",IFCRELCONNECTSPORTTOELEMENT,5,true],["HasControlElements",IFCRELFLOWCONTROLELEMENTS,5,true]],635142910:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDeclaredBy",IFCRELDEFINESBYOBJECT,4,true],["Declares",IFCRELDEFINESBYOBJECT,5,true],["IsTypedBy",IFCRELDEFINESBYTYPE,4,true],["IsDefinedBy",IFCRELDEFINESBYPROPERTIES,4,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true],["PositionedRelativeTo",IFCRELPOSITIONS,5,true],["ReferencedInStructures",IFCRELREFERENCEDINSPATIALSTRUCTURE,4,true],["FillsVoids",IFCRELFILLSELEMENT,5,true],["ConnectedTo",IFCRELCONNECTSELEMENTS,5,true],["IsInterferedByElements",IFCRELINTERFERESELEMENTS,5,true],["InterferesElements",IFCRELINTERFERESELEMENTS,4,true],["HasProjections",IFCRELPROJECTSELEMENT,4,true],["HasOpenings",IFCRELVOIDSELEMENT,4,true],["IsConnectionRealization",IFCRELCONNECTSWITHREALIZINGELEMENTS,7,true],["ProvidesBoundaries",IFCRELSPACEBOUNDARY,5,true],["ConnectedFrom",IFCRELCONNECTSELEMENTS,6,true],["ContainedInStructure",IFCRELCONTAINEDINSPATIALSTRUCTURE,4,true],["HasCoverings",IFCRELCOVERSBLDGELEMENTS,4,true],["HasSurfaceFeatures",IFCRELADHERESTOELEMENT,4,true],["HasPorts",IFCRELCONNECTSPORTTOELEMENT,5,true],["HasControlElements",IFCRELFLOWCONTROLELEMENTS,5,true]],3758799889:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDeclaredBy",IFCRELDEFINESBYOBJECT,4,true],["Declares",IFCRELDEFINESBYOBJECT,5,true],["IsTypedBy",IFCRELDEFINESBYTYPE,4,true],["IsDefinedBy",IFCRELDEFINESBYPROPERTIES,4,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true],["PositionedRelativeTo",IFCRELPOSITIONS,5,true],["ReferencedInStructures",IFCRELREFERENCEDINSPATIALSTRUCTURE,4,true],["FillsVoids",IFCRELFILLSELEMENT,5,true],["ConnectedTo",IFCRELCONNECTSELEMENTS,5,true],["IsInterferedByElements",IFCRELINTERFERESELEMENTS,5,true],["InterferesElements",IFCRELINTERFERESELEMENTS,4,true],["HasProjections",IFCRELPROJECTSELEMENT,4,true],["HasOpenings",IFCRELVOIDSELEMENT,4,true],["IsConnectionRealization",IFCRELCONNECTSWITHREALIZINGELEMENTS,7,true],["ProvidesBoundaries",IFCRELSPACEBOUNDARY,5,true],["ConnectedFrom",IFCRELCONNECTSELEMENTS,6,true],["ContainedInStructure",IFCRELCONTAINEDINSPATIALSTRUCTURE,4,true],["HasCoverings",IFCRELCOVERSBLDGELEMENTS,4,true],["HasSurfaceFeatures",IFCRELADHERESTOELEMENT,4,true],["HasPorts",IFCRELCONNECTSPORTTOELEMENT,5,true],["HasControlElements",IFCRELFLOWCONTROLELEMENTS,5,true]],1051757585:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDeclaredBy",IFCRELDEFINESBYOBJECT,4,true],["Declares",IFCRELDEFINESBYOBJECT,5,true],["IsTypedBy",IFCRELDEFINESBYTYPE,4,true],["IsDefinedBy",IFCRELDEFINESBYPROPERTIES,4,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true],["PositionedRelativeTo",IFCRELPOSITIONS,5,true],["ReferencedInStructures",IFCRELREFERENCEDINSPATIALSTRUCTURE,4,true],["FillsVoids",IFCRELFILLSELEMENT,5,true],["ConnectedTo",IFCRELCONNECTSELEMENTS,5,true],["IsInterferedByElements",IFCRELINTERFERESELEMENTS,5,true],["InterferesElements",IFCRELINTERFERESELEMENTS,4,true],["HasProjections",IFCRELPROJECTSELEMENT,4,true],["HasOpenings",IFCRELVOIDSELEMENT,4,true],["IsConnectionRealization",IFCRELCONNECTSWITHREALIZINGELEMENTS,7,true],["ProvidesBoundaries",IFCRELSPACEBOUNDARY,5,true],["ConnectedFrom",IFCRELCONNECTSELEMENTS,6,true],["ContainedInStructure",IFCRELCONTAINEDINSPATIALSTRUCTURE,4,true],["HasCoverings",IFCRELCOVERSBLDGELEMENTS,4,true],["HasSurfaceFeatures",IFCRELADHERESTOELEMENT,4,true],["HasPorts",IFCRELCONNECTSPORTTOELEMENT,5,true],["HasControlElements",IFCRELFLOWCONTROLELEMENTS,5,true]],4217484030:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDeclaredBy",IFCRELDEFINESBYOBJECT,4,true],["Declares",IFCRELDEFINESBYOBJECT,5,true],["IsTypedBy",IFCRELDEFINESBYTYPE,4,true],["IsDefinedBy",IFCRELDEFINESBYPROPERTIES,4,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true],["PositionedRelativeTo",IFCRELPOSITIONS,5,true],["ReferencedInStructures",IFCRELREFERENCEDINSPATIALSTRUCTURE,4,true],["FillsVoids",IFCRELFILLSELEMENT,5,true],["ConnectedTo",IFCRELCONNECTSELEMENTS,5,true],["IsInterferedByElements",IFCRELINTERFERESELEMENTS,5,true],["InterferesElements",IFCRELINTERFERESELEMENTS,4,true],["HasProjections",IFCRELPROJECTSELEMENT,4,true],["HasOpenings",IFCRELVOIDSELEMENT,4,true],["IsConnectionRealization",IFCRELCONNECTSWITHREALIZINGELEMENTS,7,true],["ProvidesBoundaries",IFCRELSPACEBOUNDARY,5,true],["ConnectedFrom",IFCRELCONNECTSELEMENTS,6,true],["ContainedInStructure",IFCRELCONTAINEDINSPATIALSTRUCTURE,4,true],["HasCoverings",IFCRELCOVERSBLDGELEMENTS,4,true],["HasSurfaceFeatures",IFCRELADHERESTOELEMENT,4,true],["HasPorts",IFCRELCONNECTSPORTTOELEMENT,5,true],["HasControlElements",IFCRELFLOWCONTROLELEMENTS,5,true]],3999819293:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDeclaredBy",IFCRELDEFINESBYOBJECT,4,true],["Declares",IFCRELDEFINESBYOBJECT,5,true],["IsTypedBy",IFCRELDEFINESBYTYPE,4,true],["IsDefinedBy",IFCRELDEFINESBYPROPERTIES,4,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true],["PositionedRelativeTo",IFCRELPOSITIONS,5,true],["ReferencedInStructures",IFCRELREFERENCEDINSPATIALSTRUCTURE,4,true],["FillsVoids",IFCRELFILLSELEMENT,5,true],["ConnectedTo",IFCRELCONNECTSELEMENTS,5,true],["IsInterferedByElements",IFCRELINTERFERESELEMENTS,5,true],["InterferesElements",IFCRELINTERFERESELEMENTS,4,true],["HasProjections",IFCRELPROJECTSELEMENT,4,true],["HasOpenings",IFCRELVOIDSELEMENT,4,true],["IsConnectionRealization",IFCRELCONNECTSWITHREALIZINGELEMENTS,7,true],["ProvidesBoundaries",IFCRELSPACEBOUNDARY,5,true],["ConnectedFrom",IFCRELCONNECTSELEMENTS,6,true],["ContainedInStructure",IFCRELCONTAINEDINSPATIALSTRUCTURE,4,true],["HasCoverings",IFCRELCOVERSBLDGELEMENTS,4,true],["HasSurfaceFeatures",IFCRELADHERESTOELEMENT,4,true]],3902619387:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDeclaredBy",IFCRELDEFINESBYOBJECT,4,true],["Declares",IFCRELDEFINESBYOBJECT,5,true],["IsTypedBy",IFCRELDEFINESBYTYPE,4,true],["IsDefinedBy",IFCRELDEFINESBYPROPERTIES,4,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true],["PositionedRelativeTo",IFCRELPOSITIONS,5,true],["ReferencedInStructures",IFCRELREFERENCEDINSPATIALSTRUCTURE,4,true],["FillsVoids",IFCRELFILLSELEMENT,5,true],["ConnectedTo",IFCRELCONNECTSELEMENTS,5,true],["IsInterferedByElements",IFCRELINTERFERESELEMENTS,5,true],["InterferesElements",IFCRELINTERFERESELEMENTS,4,true],["HasProjections",IFCRELPROJECTSELEMENT,4,true],["HasOpenings",IFCRELVOIDSELEMENT,4,true],["IsConnectionRealization",IFCRELCONNECTSWITHREALIZINGELEMENTS,7,true],["ProvidesBoundaries",IFCRELSPACEBOUNDARY,5,true],["ConnectedFrom",IFCRELCONNECTSELEMENTS,6,true],["ContainedInStructure",IFCRELCONTAINEDINSPATIALSTRUCTURE,4,true],["HasCoverings",IFCRELCOVERSBLDGELEMENTS,4,true],["HasSurfaceFeatures",IFCRELADHERESTOELEMENT,4,true],["HasPorts",IFCRELCONNECTSPORTTOELEMENT,5,true],["HasControlElements",IFCRELFLOWCONTROLELEMENTS,5,true]],639361253:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDeclaredBy",IFCRELDEFINESBYOBJECT,4,true],["Declares",IFCRELDEFINESBYOBJECT,5,true],["IsTypedBy",IFCRELDEFINESBYTYPE,4,true],["IsDefinedBy",IFCRELDEFINESBYPROPERTIES,4,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true],["PositionedRelativeTo",IFCRELPOSITIONS,5,true],["ReferencedInStructures",IFCRELREFERENCEDINSPATIALSTRUCTURE,4,true],["FillsVoids",IFCRELFILLSELEMENT,5,true],["ConnectedTo",IFCRELCONNECTSELEMENTS,5,true],["IsInterferedByElements",IFCRELINTERFERESELEMENTS,5,true],["InterferesElements",IFCRELINTERFERESELEMENTS,4,true],["HasProjections",IFCRELPROJECTSELEMENT,4,true],["HasOpenings",IFCRELVOIDSELEMENT,4,true],["IsConnectionRealization",IFCRELCONNECTSWITHREALIZINGELEMENTS,7,true],["ProvidesBoundaries",IFCRELSPACEBOUNDARY,5,true],["ConnectedFrom",IFCRELCONNECTSELEMENTS,6,true],["ContainedInStructure",IFCRELCONTAINEDINSPATIALSTRUCTURE,4,true],["HasCoverings",IFCRELCOVERSBLDGELEMENTS,4,true],["HasSurfaceFeatures",IFCRELADHERESTOELEMENT,4,true],["HasPorts",IFCRELCONNECTSPORTTOELEMENT,5,true],["HasControlElements",IFCRELFLOWCONTROLELEMENTS,5,true]],3221913625:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDeclaredBy",IFCRELDEFINESBYOBJECT,4,true],["Declares",IFCRELDEFINESBYOBJECT,5,true],["IsTypedBy",IFCRELDEFINESBYTYPE,4,true],["IsDefinedBy",IFCRELDEFINESBYPROPERTIES,4,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true],["PositionedRelativeTo",IFCRELPOSITIONS,5,true],["ReferencedInStructures",IFCRELREFERENCEDINSPATIALSTRUCTURE,4,true],["FillsVoids",IFCRELFILLSELEMENT,5,true],["ConnectedTo",IFCRELCONNECTSELEMENTS,5,true],["IsInterferedByElements",IFCRELINTERFERESELEMENTS,5,true],["InterferesElements",IFCRELINTERFERESELEMENTS,4,true],["HasProjections",IFCRELPROJECTSELEMENT,4,true],["HasOpenings",IFCRELVOIDSELEMENT,4,true],["IsConnectionRealization",IFCRELCONNECTSWITHREALIZINGELEMENTS,7,true],["ProvidesBoundaries",IFCRELSPACEBOUNDARY,5,true],["ConnectedFrom",IFCRELCONNECTSELEMENTS,6,true],["ContainedInStructure",IFCRELCONTAINEDINSPATIALSTRUCTURE,4,true],["HasCoverings",IFCRELCOVERSBLDGELEMENTS,4,true],["HasSurfaceFeatures",IFCRELADHERESTOELEMENT,4,true],["HasPorts",IFCRELCONNECTSPORTTOELEMENT,5,true],["HasControlElements",IFCRELFLOWCONTROLELEMENTS,5,true]],3571504051:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDeclaredBy",IFCRELDEFINESBYOBJECT,4,true],["Declares",IFCRELDEFINESBYOBJECT,5,true],["IsTypedBy",IFCRELDEFINESBYTYPE,4,true],["IsDefinedBy",IFCRELDEFINESBYPROPERTIES,4,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true],["PositionedRelativeTo",IFCRELPOSITIONS,5,true],["ReferencedInStructures",IFCRELREFERENCEDINSPATIALSTRUCTURE,4,true],["FillsVoids",IFCRELFILLSELEMENT,5,true],["ConnectedTo",IFCRELCONNECTSELEMENTS,5,true],["IsInterferedByElements",IFCRELINTERFERESELEMENTS,5,true],["InterferesElements",IFCRELINTERFERESELEMENTS,4,true],["HasProjections",IFCRELPROJECTSELEMENT,4,true],["HasOpenings",IFCRELVOIDSELEMENT,4,true],["IsConnectionRealization",IFCRELCONNECTSWITHREALIZINGELEMENTS,7,true],["ProvidesBoundaries",IFCRELSPACEBOUNDARY,5,true],["ConnectedFrom",IFCRELCONNECTSELEMENTS,6,true],["ContainedInStructure",IFCRELCONTAINEDINSPATIALSTRUCTURE,4,true],["HasCoverings",IFCRELCOVERSBLDGELEMENTS,4,true],["HasSurfaceFeatures",IFCRELADHERESTOELEMENT,4,true],["HasPorts",IFCRELCONNECTSPORTTOELEMENT,5,true],["HasControlElements",IFCRELFLOWCONTROLELEMENTS,5,true]],2272882330:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDeclaredBy",IFCRELDEFINESBYOBJECT,4,true],["Declares",IFCRELDEFINESBYOBJECT,5,true],["IsTypedBy",IFCRELDEFINESBYTYPE,4,true],["IsDefinedBy",IFCRELDEFINESBYPROPERTIES,4,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true],["PositionedRelativeTo",IFCRELPOSITIONS,5,true],["ReferencedInStructures",IFCRELREFERENCEDINSPATIALSTRUCTURE,4,true],["FillsVoids",IFCRELFILLSELEMENT,5,true],["ConnectedTo",IFCRELCONNECTSELEMENTS,5,true],["IsInterferedByElements",IFCRELINTERFERESELEMENTS,5,true],["InterferesElements",IFCRELINTERFERESELEMENTS,4,true],["HasProjections",IFCRELPROJECTSELEMENT,4,true],["HasOpenings",IFCRELVOIDSELEMENT,4,true],["IsConnectionRealization",IFCRELCONNECTSWITHREALIZINGELEMENTS,7,true],["ProvidesBoundaries",IFCRELSPACEBOUNDARY,5,true],["ConnectedFrom",IFCRELCONNECTSELEMENTS,6,true],["ContainedInStructure",IFCRELCONTAINEDINSPATIALSTRUCTURE,4,true],["HasCoverings",IFCRELCOVERSBLDGELEMENTS,4,true],["HasSurfaceFeatures",IFCRELADHERESTOELEMENT,4,true],["HasPorts",IFCRELCONNECTSPORTTOELEMENT,5,true],["HasControlElements",IFCRELFLOWCONTROLELEMENTS,5,true]],578613899:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["Types",IFCRELDEFINESBYTYPE,5,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true]],3460952963:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDeclaredBy",IFCRELDEFINESBYOBJECT,4,true],["Declares",IFCRELDEFINESBYOBJECT,5,true],["IsTypedBy",IFCRELDEFINESBYTYPE,4,true],["IsDefinedBy",IFCRELDEFINESBYPROPERTIES,4,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true],["PositionedRelativeTo",IFCRELPOSITIONS,5,true],["ReferencedInStructures",IFCRELREFERENCEDINSPATIALSTRUCTURE,4,true],["FillsVoids",IFCRELFILLSELEMENT,5,true],["ConnectedTo",IFCRELCONNECTSELEMENTS,5,true],["IsInterferedByElements",IFCRELINTERFERESELEMENTS,5,true],["InterferesElements",IFCRELINTERFERESELEMENTS,4,true],["HasProjections",IFCRELPROJECTSELEMENT,4,true],["HasOpenings",IFCRELVOIDSELEMENT,4,true],["IsConnectionRealization",IFCRELCONNECTSWITHREALIZINGELEMENTS,7,true],["ProvidesBoundaries",IFCRELSPACEBOUNDARY,5,true],["ConnectedFrom",IFCRELCONNECTSELEMENTS,6,true],["ContainedInStructure",IFCRELCONTAINEDINSPATIALSTRUCTURE,4,true],["HasCoverings",IFCRELCOVERSBLDGELEMENTS,4,true],["HasSurfaceFeatures",IFCRELADHERESTOELEMENT,4,true],["HasPorts",IFCRELCONNECTSPORTTOELEMENT,5,true],["HasControlElements",IFCRELFLOWCONTROLELEMENTS,5,true]],4136498852:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDeclaredBy",IFCRELDEFINESBYOBJECT,4,true],["Declares",IFCRELDEFINESBYOBJECT,5,true],["IsTypedBy",IFCRELDEFINESBYTYPE,4,true],["IsDefinedBy",IFCRELDEFINESBYPROPERTIES,4,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true],["PositionedRelativeTo",IFCRELPOSITIONS,5,true],["ReferencedInStructures",IFCRELREFERENCEDINSPATIALSTRUCTURE,4,true],["FillsVoids",IFCRELFILLSELEMENT,5,true],["ConnectedTo",IFCRELCONNECTSELEMENTS,5,true],["IsInterferedByElements",IFCRELINTERFERESELEMENTS,5,true],["InterferesElements",IFCRELINTERFERESELEMENTS,4,true],["HasProjections",IFCRELPROJECTSELEMENT,4,true],["HasOpenings",IFCRELVOIDSELEMENT,4,true],["IsConnectionRealization",IFCRELCONNECTSWITHREALIZINGELEMENTS,7,true],["ProvidesBoundaries",IFCRELSPACEBOUNDARY,5,true],["ConnectedFrom",IFCRELCONNECTSELEMENTS,6,true],["ContainedInStructure",IFCRELCONTAINEDINSPATIALSTRUCTURE,4,true],["HasCoverings",IFCRELCOVERSBLDGELEMENTS,4,true],["HasSurfaceFeatures",IFCRELADHERESTOELEMENT,4,true],["HasPorts",IFCRELCONNECTSPORTTOELEMENT,5,true],["HasControlElements",IFCRELFLOWCONTROLELEMENTS,5,true]],3640358203:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDeclaredBy",IFCRELDEFINESBYOBJECT,4,true],["Declares",IFCRELDEFINESBYOBJECT,5,true],["IsTypedBy",IFCRELDEFINESBYTYPE,4,true],["IsDefinedBy",IFCRELDEFINESBYPROPERTIES,4,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true],["PositionedRelativeTo",IFCRELPOSITIONS,5,true],["ReferencedInStructures",IFCRELREFERENCEDINSPATIALSTRUCTURE,4,true],["FillsVoids",IFCRELFILLSELEMENT,5,true],["ConnectedTo",IFCRELCONNECTSELEMENTS,5,true],["IsInterferedByElements",IFCRELINTERFERESELEMENTS,5,true],["InterferesElements",IFCRELINTERFERESELEMENTS,4,true],["HasProjections",IFCRELPROJECTSELEMENT,4,true],["HasOpenings",IFCRELVOIDSELEMENT,4,true],["IsConnectionRealization",IFCRELCONNECTSWITHREALIZINGELEMENTS,7,true],["ProvidesBoundaries",IFCRELSPACEBOUNDARY,5,true],["ConnectedFrom",IFCRELCONNECTSELEMENTS,6,true],["ContainedInStructure",IFCRELCONTAINEDINSPATIALSTRUCTURE,4,true],["HasCoverings",IFCRELCOVERSBLDGELEMENTS,4,true],["HasSurfaceFeatures",IFCRELADHERESTOELEMENT,4,true],["HasPorts",IFCRELCONNECTSPORTTOELEMENT,5,true],["HasControlElements",IFCRELFLOWCONTROLELEMENTS,5,true]],4074379575:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDeclaredBy",IFCRELDEFINESBYOBJECT,4,true],["Declares",IFCRELDEFINESBYOBJECT,5,true],["IsTypedBy",IFCRELDEFINESBYTYPE,4,true],["IsDefinedBy",IFCRELDEFINESBYPROPERTIES,4,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true],["PositionedRelativeTo",IFCRELPOSITIONS,5,true],["ReferencedInStructures",IFCRELREFERENCEDINSPATIALSTRUCTURE,4,true],["FillsVoids",IFCRELFILLSELEMENT,5,true],["ConnectedTo",IFCRELCONNECTSELEMENTS,5,true],["IsInterferedByElements",IFCRELINTERFERESELEMENTS,5,true],["InterferesElements",IFCRELINTERFERESELEMENTS,4,true],["HasProjections",IFCRELPROJECTSELEMENT,4,true],["HasOpenings",IFCRELVOIDSELEMENT,4,true],["IsConnectionRealization",IFCRELCONNECTSWITHREALIZINGELEMENTS,7,true],["ProvidesBoundaries",IFCRELSPACEBOUNDARY,5,true],["ConnectedFrom",IFCRELCONNECTSELEMENTS,6,true],["ContainedInStructure",IFCRELCONTAINEDINSPATIALSTRUCTURE,4,true],["HasCoverings",IFCRELCOVERSBLDGELEMENTS,4,true],["HasSurfaceFeatures",IFCRELADHERESTOELEMENT,4,true],["HasPorts",IFCRELCONNECTSPORTTOELEMENT,5,true],["HasControlElements",IFCRELFLOWCONTROLELEMENTS,5,true]],3693000487:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDeclaredBy",IFCRELDEFINESBYOBJECT,4,true],["Declares",IFCRELDEFINESBYOBJECT,5,true],["IsTypedBy",IFCRELDEFINESBYTYPE,4,true],["IsDefinedBy",IFCRELDEFINESBYPROPERTIES,4,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true],["PositionedRelativeTo",IFCRELPOSITIONS,5,true],["ReferencedInStructures",IFCRELREFERENCEDINSPATIALSTRUCTURE,4,true],["FillsVoids",IFCRELFILLSELEMENT,5,true],["ConnectedTo",IFCRELCONNECTSELEMENTS,5,true],["IsInterferedByElements",IFCRELINTERFERESELEMENTS,5,true],["InterferesElements",IFCRELINTERFERESELEMENTS,4,true],["HasProjections",IFCRELPROJECTSELEMENT,4,true],["HasOpenings",IFCRELVOIDSELEMENT,4,true],["IsConnectionRealization",IFCRELCONNECTSWITHREALIZINGELEMENTS,7,true],["ProvidesBoundaries",IFCRELSPACEBOUNDARY,5,true],["ConnectedFrom",IFCRELCONNECTSELEMENTS,6,true],["ContainedInStructure",IFCRELCONTAINEDINSPATIALSTRUCTURE,4,true],["HasCoverings",IFCRELCOVERSBLDGELEMENTS,4,true],["HasSurfaceFeatures",IFCRELADHERESTOELEMENT,4,true],["HasPorts",IFCRELCONNECTSPORTTOELEMENT,5,true],["HasControlElements",IFCRELFLOWCONTROLELEMENTS,5,true]],1052013943:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDeclaredBy",IFCRELDEFINESBYOBJECT,4,true],["Declares",IFCRELDEFINESBYOBJECT,5,true],["IsTypedBy",IFCRELDEFINESBYTYPE,4,true],["IsDefinedBy",IFCRELDEFINESBYPROPERTIES,4,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true],["PositionedRelativeTo",IFCRELPOSITIONS,5,true],["ReferencedInStructures",IFCRELREFERENCEDINSPATIALSTRUCTURE,4,true],["FillsVoids",IFCRELFILLSELEMENT,5,true],["ConnectedTo",IFCRELCONNECTSELEMENTS,5,true],["IsInterferedByElements",IFCRELINTERFERESELEMENTS,5,true],["InterferesElements",IFCRELINTERFERESELEMENTS,4,true],["HasProjections",IFCRELPROJECTSELEMENT,4,true],["HasOpenings",IFCRELVOIDSELEMENT,4,true],["IsConnectionRealization",IFCRELCONNECTSWITHREALIZINGELEMENTS,7,true],["ProvidesBoundaries",IFCRELSPACEBOUNDARY,5,true],["ConnectedFrom",IFCRELCONNECTSELEMENTS,6,true],["ContainedInStructure",IFCRELCONTAINEDINSPATIALSTRUCTURE,4,true],["HasCoverings",IFCRELCOVERSBLDGELEMENTS,4,true],["HasSurfaceFeatures",IFCRELADHERESTOELEMENT,4,true],["HasPorts",IFCRELCONNECTSPORTTOELEMENT,5,true],["HasControlElements",IFCRELFLOWCONTROLELEMENTS,5,true]],562808652:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDeclaredBy",IFCRELDEFINESBYOBJECT,4,true],["Declares",IFCRELDEFINESBYOBJECT,5,true],["IsTypedBy",IFCRELDEFINESBYTYPE,4,true],["IsDefinedBy",IFCRELDEFINESBYPROPERTIES,4,true],["IsGroupedBy",IFCRELASSIGNSTOGROUP,6,true],["ReferencedInStructures",IFCRELREFERENCEDINSPATIALSTRUCTURE,4,true],["ServicesBuildings",IFCRELSERVICESBUILDINGS,4,true],["ServicesFacilities",IFCRELREFERENCEDINSPATIALSTRUCTURE,4,true]],1062813311:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDeclaredBy",IFCRELDEFINESBYOBJECT,4,true],["Declares",IFCRELDEFINESBYOBJECT,5,true],["IsTypedBy",IFCRELDEFINESBYTYPE,4,true],["IsDefinedBy",IFCRELDEFINESBYPROPERTIES,4,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true],["PositionedRelativeTo",IFCRELPOSITIONS,5,true],["ReferencedInStructures",IFCRELREFERENCEDINSPATIALSTRUCTURE,4,true],["FillsVoids",IFCRELFILLSELEMENT,5,true],["ConnectedTo",IFCRELCONNECTSELEMENTS,5,true],["IsInterferedByElements",IFCRELINTERFERESELEMENTS,5,true],["InterferesElements",IFCRELINTERFERESELEMENTS,4,true],["HasProjections",IFCRELPROJECTSELEMENT,4,true],["HasOpenings",IFCRELVOIDSELEMENT,4,true],["IsConnectionRealization",IFCRELCONNECTSWITHREALIZINGELEMENTS,7,true],["ProvidesBoundaries",IFCRELSPACEBOUNDARY,5,true],["ConnectedFrom",IFCRELCONNECTSELEMENTS,6,true],["ContainedInStructure",IFCRELCONTAINEDINSPATIALSTRUCTURE,4,true],["HasCoverings",IFCRELCOVERSBLDGELEMENTS,4,true],["HasSurfaceFeatures",IFCRELADHERESTOELEMENT,4,true],["HasPorts",IFCRELCONNECTSPORTTOELEMENT,5,true],["AssignedToFlowElement",IFCRELFLOWCONTROLELEMENTS,4,true]],342316401:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDeclaredBy",IFCRELDEFINESBYOBJECT,4,true],["Declares",IFCRELDEFINESBYOBJECT,5,true],["IsTypedBy",IFCRELDEFINESBYTYPE,4,true],["IsDefinedBy",IFCRELDEFINESBYPROPERTIES,4,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true],["PositionedRelativeTo",IFCRELPOSITIONS,5,true],["ReferencedInStructures",IFCRELREFERENCEDINSPATIALSTRUCTURE,4,true],["FillsVoids",IFCRELFILLSELEMENT,5,true],["ConnectedTo",IFCRELCONNECTSELEMENTS,5,true],["IsInterferedByElements",IFCRELINTERFERESELEMENTS,5,true],["InterferesElements",IFCRELINTERFERESELEMENTS,4,true],["HasProjections",IFCRELPROJECTSELEMENT,4,true],["HasOpenings",IFCRELVOIDSELEMENT,4,true],["IsConnectionRealization",IFCRELCONNECTSWITHREALIZINGELEMENTS,7,true],["ProvidesBoundaries",IFCRELSPACEBOUNDARY,5,true],["ConnectedFrom",IFCRELCONNECTSELEMENTS,6,true],["ContainedInStructure",IFCRELCONTAINEDINSPATIALSTRUCTURE,4,true],["HasCoverings",IFCRELCOVERSBLDGELEMENTS,4,true],["HasSurfaceFeatures",IFCRELADHERESTOELEMENT,4,true],["HasPorts",IFCRELCONNECTSPORTTOELEMENT,5,true],["HasControlElements",IFCRELFLOWCONTROLELEMENTS,5,true]],3518393246:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDeclaredBy",IFCRELDEFINESBYOBJECT,4,true],["Declares",IFCRELDEFINESBYOBJECT,5,true],["IsTypedBy",IFCRELDEFINESBYTYPE,4,true],["IsDefinedBy",IFCRELDEFINESBYPROPERTIES,4,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true],["PositionedRelativeTo",IFCRELPOSITIONS,5,true],["ReferencedInStructures",IFCRELREFERENCEDINSPATIALSTRUCTURE,4,true],["FillsVoids",IFCRELFILLSELEMENT,5,true],["ConnectedTo",IFCRELCONNECTSELEMENTS,5,true],["IsInterferedByElements",IFCRELINTERFERESELEMENTS,5,true],["InterferesElements",IFCRELINTERFERESELEMENTS,4,true],["HasProjections",IFCRELPROJECTSELEMENT,4,true],["HasOpenings",IFCRELVOIDSELEMENT,4,true],["IsConnectionRealization",IFCRELCONNECTSWITHREALIZINGELEMENTS,7,true],["ProvidesBoundaries",IFCRELSPACEBOUNDARY,5,true],["ConnectedFrom",IFCRELCONNECTSELEMENTS,6,true],["ContainedInStructure",IFCRELCONTAINEDINSPATIALSTRUCTURE,4,true],["HasCoverings",IFCRELCOVERSBLDGELEMENTS,4,true],["HasSurfaceFeatures",IFCRELADHERESTOELEMENT,4,true],["HasPorts",IFCRELCONNECTSPORTTOELEMENT,5,true],["HasControlElements",IFCRELFLOWCONTROLELEMENTS,5,true]],1360408905:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDeclaredBy",IFCRELDEFINESBYOBJECT,4,true],["Declares",IFCRELDEFINESBYOBJECT,5,true],["IsTypedBy",IFCRELDEFINESBYTYPE,4,true],["IsDefinedBy",IFCRELDEFINESBYPROPERTIES,4,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true],["PositionedRelativeTo",IFCRELPOSITIONS,5,true],["ReferencedInStructures",IFCRELREFERENCEDINSPATIALSTRUCTURE,4,true],["FillsVoids",IFCRELFILLSELEMENT,5,true],["ConnectedTo",IFCRELCONNECTSELEMENTS,5,true],["IsInterferedByElements",IFCRELINTERFERESELEMENTS,5,true],["InterferesElements",IFCRELINTERFERESELEMENTS,4,true],["HasProjections",IFCRELPROJECTSELEMENT,4,true],["HasOpenings",IFCRELVOIDSELEMENT,4,true],["IsConnectionRealization",IFCRELCONNECTSWITHREALIZINGELEMENTS,7,true],["ProvidesBoundaries",IFCRELSPACEBOUNDARY,5,true],["ConnectedFrom",IFCRELCONNECTSELEMENTS,6,true],["ContainedInStructure",IFCRELCONTAINEDINSPATIALSTRUCTURE,4,true],["HasCoverings",IFCRELCOVERSBLDGELEMENTS,4,true],["HasSurfaceFeatures",IFCRELADHERESTOELEMENT,4,true],["HasPorts",IFCRELCONNECTSPORTTOELEMENT,5,true],["HasControlElements",IFCRELFLOWCONTROLELEMENTS,5,true]],1904799276:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDeclaredBy",IFCRELDEFINESBYOBJECT,4,true],["Declares",IFCRELDEFINESBYOBJECT,5,true],["IsTypedBy",IFCRELDEFINESBYTYPE,4,true],["IsDefinedBy",IFCRELDEFINESBYPROPERTIES,4,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true],["PositionedRelativeTo",IFCRELPOSITIONS,5,true],["ReferencedInStructures",IFCRELREFERENCEDINSPATIALSTRUCTURE,4,true],["FillsVoids",IFCRELFILLSELEMENT,5,true],["ConnectedTo",IFCRELCONNECTSELEMENTS,5,true],["IsInterferedByElements",IFCRELINTERFERESELEMENTS,5,true],["InterferesElements",IFCRELINTERFERESELEMENTS,4,true],["HasProjections",IFCRELPROJECTSELEMENT,4,true],["HasOpenings",IFCRELVOIDSELEMENT,4,true],["IsConnectionRealization",IFCRELCONNECTSWITHREALIZINGELEMENTS,7,true],["ProvidesBoundaries",IFCRELSPACEBOUNDARY,5,true],["ConnectedFrom",IFCRELCONNECTSELEMENTS,6,true],["ContainedInStructure",IFCRELCONTAINEDINSPATIALSTRUCTURE,4,true],["HasCoverings",IFCRELCOVERSBLDGELEMENTS,4,true],["HasSurfaceFeatures",IFCRELADHERESTOELEMENT,4,true],["HasPorts",IFCRELCONNECTSPORTTOELEMENT,5,true],["HasControlElements",IFCRELFLOWCONTROLELEMENTS,5,true]],862014818:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDeclaredBy",IFCRELDEFINESBYOBJECT,4,true],["Declares",IFCRELDEFINESBYOBJECT,5,true],["IsTypedBy",IFCRELDEFINESBYTYPE,4,true],["IsDefinedBy",IFCRELDEFINESBYPROPERTIES,4,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true],["PositionedRelativeTo",IFCRELPOSITIONS,5,true],["ReferencedInStructures",IFCRELREFERENCEDINSPATIALSTRUCTURE,4,true],["FillsVoids",IFCRELFILLSELEMENT,5,true],["ConnectedTo",IFCRELCONNECTSELEMENTS,5,true],["IsInterferedByElements",IFCRELINTERFERESELEMENTS,5,true],["InterferesElements",IFCRELINTERFERESELEMENTS,4,true],["HasProjections",IFCRELPROJECTSELEMENT,4,true],["HasOpenings",IFCRELVOIDSELEMENT,4,true],["IsConnectionRealization",IFCRELCONNECTSWITHREALIZINGELEMENTS,7,true],["ProvidesBoundaries",IFCRELSPACEBOUNDARY,5,true],["ConnectedFrom",IFCRELCONNECTSELEMENTS,6,true],["ContainedInStructure",IFCRELCONTAINEDINSPATIALSTRUCTURE,4,true],["HasCoverings",IFCRELCOVERSBLDGELEMENTS,4,true],["HasSurfaceFeatures",IFCRELADHERESTOELEMENT,4,true],["HasPorts",IFCRELCONNECTSPORTTOELEMENT,5,true],["HasControlElements",IFCRELFLOWCONTROLELEMENTS,5,true]],3310460725:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDeclaredBy",IFCRELDEFINESBYOBJECT,4,true],["Declares",IFCRELDEFINESBYOBJECT,5,true],["IsTypedBy",IFCRELDEFINESBYTYPE,4,true],["IsDefinedBy",IFCRELDEFINESBYPROPERTIES,4,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true],["PositionedRelativeTo",IFCRELPOSITIONS,5,true],["ReferencedInStructures",IFCRELREFERENCEDINSPATIALSTRUCTURE,4,true],["FillsVoids",IFCRELFILLSELEMENT,5,true],["ConnectedTo",IFCRELCONNECTSELEMENTS,5,true],["IsInterferedByElements",IFCRELINTERFERESELEMENTS,5,true],["InterferesElements",IFCRELINTERFERESELEMENTS,4,true],["HasProjections",IFCRELPROJECTSELEMENT,4,true],["HasOpenings",IFCRELVOIDSELEMENT,4,true],["IsConnectionRealization",IFCRELCONNECTSWITHREALIZINGELEMENTS,7,true],["ProvidesBoundaries",IFCRELSPACEBOUNDARY,5,true],["ConnectedFrom",IFCRELCONNECTSELEMENTS,6,true],["ContainedInStructure",IFCRELCONTAINEDINSPATIALSTRUCTURE,4,true],["HasCoverings",IFCRELCOVERSBLDGELEMENTS,4,true],["HasSurfaceFeatures",IFCRELADHERESTOELEMENT,4,true],["HasPorts",IFCRELCONNECTSPORTTOELEMENT,5,true],["HasControlElements",IFCRELFLOWCONTROLELEMENTS,5,true]],24726584:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDeclaredBy",IFCRELDEFINESBYOBJECT,4,true],["Declares",IFCRELDEFINESBYOBJECT,5,true],["IsTypedBy",IFCRELDEFINESBYTYPE,4,true],["IsDefinedBy",IFCRELDEFINESBYPROPERTIES,4,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true],["PositionedRelativeTo",IFCRELPOSITIONS,5,true],["ReferencedInStructures",IFCRELREFERENCEDINSPATIALSTRUCTURE,4,true],["FillsVoids",IFCRELFILLSELEMENT,5,true],["ConnectedTo",IFCRELCONNECTSELEMENTS,5,true],["IsInterferedByElements",IFCRELINTERFERESELEMENTS,5,true],["InterferesElements",IFCRELINTERFERESELEMENTS,4,true],["HasProjections",IFCRELPROJECTSELEMENT,4,true],["HasOpenings",IFCRELVOIDSELEMENT,4,true],["IsConnectionRealization",IFCRELCONNECTSWITHREALIZINGELEMENTS,7,true],["ProvidesBoundaries",IFCRELSPACEBOUNDARY,5,true],["ConnectedFrom",IFCRELCONNECTSELEMENTS,6,true],["ContainedInStructure",IFCRELCONTAINEDINSPATIALSTRUCTURE,4,true],["HasCoverings",IFCRELCOVERSBLDGELEMENTS,4,true],["HasSurfaceFeatures",IFCRELADHERESTOELEMENT,4,true],["HasPorts",IFCRELCONNECTSPORTTOELEMENT,5,true],["HasControlElements",IFCRELFLOWCONTROLELEMENTS,5,true]],264262732:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDeclaredBy",IFCRELDEFINESBYOBJECT,4,true],["Declares",IFCRELDEFINESBYOBJECT,5,true],["IsTypedBy",IFCRELDEFINESBYTYPE,4,true],["IsDefinedBy",IFCRELDEFINESBYPROPERTIES,4,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true],["PositionedRelativeTo",IFCRELPOSITIONS,5,true],["ReferencedInStructures",IFCRELREFERENCEDINSPATIALSTRUCTURE,4,true],["FillsVoids",IFCRELFILLSELEMENT,5,true],["ConnectedTo",IFCRELCONNECTSELEMENTS,5,true],["IsInterferedByElements",IFCRELINTERFERESELEMENTS,5,true],["InterferesElements",IFCRELINTERFERESELEMENTS,4,true],["HasProjections",IFCRELPROJECTSELEMENT,4,true],["HasOpenings",IFCRELVOIDSELEMENT,4,true],["IsConnectionRealization",IFCRELCONNECTSWITHREALIZINGELEMENTS,7,true],["ProvidesBoundaries",IFCRELSPACEBOUNDARY,5,true],["ConnectedFrom",IFCRELCONNECTSELEMENTS,6,true],["ContainedInStructure",IFCRELCONTAINEDINSPATIALSTRUCTURE,4,true],["HasCoverings",IFCRELCOVERSBLDGELEMENTS,4,true],["HasSurfaceFeatures",IFCRELADHERESTOELEMENT,4,true],["HasPorts",IFCRELCONNECTSPORTTOELEMENT,5,true],["HasControlElements",IFCRELFLOWCONTROLELEMENTS,5,true]],402227799:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDeclaredBy",IFCRELDEFINESBYOBJECT,4,true],["Declares",IFCRELDEFINESBYOBJECT,5,true],["IsTypedBy",IFCRELDEFINESBYTYPE,4,true],["IsDefinedBy",IFCRELDEFINESBYPROPERTIES,4,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true],["PositionedRelativeTo",IFCRELPOSITIONS,5,true],["ReferencedInStructures",IFCRELREFERENCEDINSPATIALSTRUCTURE,4,true],["FillsVoids",IFCRELFILLSELEMENT,5,true],["ConnectedTo",IFCRELCONNECTSELEMENTS,5,true],["IsInterferedByElements",IFCRELINTERFERESELEMENTS,5,true],["InterferesElements",IFCRELINTERFERESELEMENTS,4,true],["HasProjections",IFCRELPROJECTSELEMENT,4,true],["HasOpenings",IFCRELVOIDSELEMENT,4,true],["IsConnectionRealization",IFCRELCONNECTSWITHREALIZINGELEMENTS,7,true],["ProvidesBoundaries",IFCRELSPACEBOUNDARY,5,true],["ConnectedFrom",IFCRELCONNECTSELEMENTS,6,true],["ContainedInStructure",IFCRELCONTAINEDINSPATIALSTRUCTURE,4,true],["HasCoverings",IFCRELCOVERSBLDGELEMENTS,4,true],["HasSurfaceFeatures",IFCRELADHERESTOELEMENT,4,true],["HasPorts",IFCRELCONNECTSPORTTOELEMENT,5,true],["HasControlElements",IFCRELFLOWCONTROLELEMENTS,5,true]],1003880860:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDeclaredBy",IFCRELDEFINESBYOBJECT,4,true],["Declares",IFCRELDEFINESBYOBJECT,5,true],["IsTypedBy",IFCRELDEFINESBYTYPE,4,true],["IsDefinedBy",IFCRELDEFINESBYPROPERTIES,4,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true],["PositionedRelativeTo",IFCRELPOSITIONS,5,true],["ReferencedInStructures",IFCRELREFERENCEDINSPATIALSTRUCTURE,4,true],["FillsVoids",IFCRELFILLSELEMENT,5,true],["ConnectedTo",IFCRELCONNECTSELEMENTS,5,true],["IsInterferedByElements",IFCRELINTERFERESELEMENTS,5,true],["InterferesElements",IFCRELINTERFERESELEMENTS,4,true],["HasProjections",IFCRELPROJECTSELEMENT,4,true],["HasOpenings",IFCRELVOIDSELEMENT,4,true],["IsConnectionRealization",IFCRELCONNECTSWITHREALIZINGELEMENTS,7,true],["ProvidesBoundaries",IFCRELSPACEBOUNDARY,5,true],["ConnectedFrom",IFCRELCONNECTSELEMENTS,6,true],["ContainedInStructure",IFCRELCONTAINEDINSPATIALSTRUCTURE,4,true],["HasCoverings",IFCRELCOVERSBLDGELEMENTS,4,true],["HasSurfaceFeatures",IFCRELADHERESTOELEMENT,4,true],["HasPorts",IFCRELCONNECTSPORTTOELEMENT,5,true],["HasControlElements",IFCRELFLOWCONTROLELEMENTS,5,true]],3415622556:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDeclaredBy",IFCRELDEFINESBYOBJECT,4,true],["Declares",IFCRELDEFINESBYOBJECT,5,true],["IsTypedBy",IFCRELDEFINESBYTYPE,4,true],["IsDefinedBy",IFCRELDEFINESBYPROPERTIES,4,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true],["PositionedRelativeTo",IFCRELPOSITIONS,5,true],["ReferencedInStructures",IFCRELREFERENCEDINSPATIALSTRUCTURE,4,true],["FillsVoids",IFCRELFILLSELEMENT,5,true],["ConnectedTo",IFCRELCONNECTSELEMENTS,5,true],["IsInterferedByElements",IFCRELINTERFERESELEMENTS,5,true],["InterferesElements",IFCRELINTERFERESELEMENTS,4,true],["HasProjections",IFCRELPROJECTSELEMENT,4,true],["HasOpenings",IFCRELVOIDSELEMENT,4,true],["IsConnectionRealization",IFCRELCONNECTSWITHREALIZINGELEMENTS,7,true],["ProvidesBoundaries",IFCRELSPACEBOUNDARY,5,true],["ConnectedFrom",IFCRELCONNECTSELEMENTS,6,true],["ContainedInStructure",IFCRELCONTAINEDINSPATIALSTRUCTURE,4,true],["HasCoverings",IFCRELCOVERSBLDGELEMENTS,4,true],["HasSurfaceFeatures",IFCRELADHERESTOELEMENT,4,true],["HasPorts",IFCRELCONNECTSPORTTOELEMENT,5,true],["HasControlElements",IFCRELFLOWCONTROLELEMENTS,5,true]],819412036:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDeclaredBy",IFCRELDEFINESBYOBJECT,4,true],["Declares",IFCRELDEFINESBYOBJECT,5,true],["IsTypedBy",IFCRELDEFINESBYTYPE,4,true],["IsDefinedBy",IFCRELDEFINESBYPROPERTIES,4,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true],["PositionedRelativeTo",IFCRELPOSITIONS,5,true],["ReferencedInStructures",IFCRELREFERENCEDINSPATIALSTRUCTURE,4,true],["FillsVoids",IFCRELFILLSELEMENT,5,true],["ConnectedTo",IFCRELCONNECTSELEMENTS,5,true],["IsInterferedByElements",IFCRELINTERFERESELEMENTS,5,true],["InterferesElements",IFCRELINTERFERESELEMENTS,4,true],["HasProjections",IFCRELPROJECTSELEMENT,4,true],["HasOpenings",IFCRELVOIDSELEMENT,4,true],["IsConnectionRealization",IFCRELCONNECTSWITHREALIZINGELEMENTS,7,true],["ProvidesBoundaries",IFCRELSPACEBOUNDARY,5,true],["ConnectedFrom",IFCRELCONNECTSELEMENTS,6,true],["ContainedInStructure",IFCRELCONTAINEDINSPATIALSTRUCTURE,4,true],["HasCoverings",IFCRELCOVERSBLDGELEMENTS,4,true],["HasSurfaceFeatures",IFCRELADHERESTOELEMENT,4,true],["HasPorts",IFCRELCONNECTSPORTTOELEMENT,5,true],["HasControlElements",IFCRELFLOWCONTROLELEMENTS,5,true]],1426591983:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDeclaredBy",IFCRELDEFINESBYOBJECT,4,true],["Declares",IFCRELDEFINESBYOBJECT,5,true],["IsTypedBy",IFCRELDEFINESBYTYPE,4,true],["IsDefinedBy",IFCRELDEFINESBYPROPERTIES,4,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true],["PositionedRelativeTo",IFCRELPOSITIONS,5,true],["ReferencedInStructures",IFCRELREFERENCEDINSPATIALSTRUCTURE,4,true],["FillsVoids",IFCRELFILLSELEMENT,5,true],["ConnectedTo",IFCRELCONNECTSELEMENTS,5,true],["IsInterferedByElements",IFCRELINTERFERESELEMENTS,5,true],["InterferesElements",IFCRELINTERFERESELEMENTS,4,true],["HasProjections",IFCRELPROJECTSELEMENT,4,true],["HasOpenings",IFCRELVOIDSELEMENT,4,true],["IsConnectionRealization",IFCRELCONNECTSWITHREALIZINGELEMENTS,7,true],["ProvidesBoundaries",IFCRELSPACEBOUNDARY,5,true],["ConnectedFrom",IFCRELCONNECTSELEMENTS,6,true],["ContainedInStructure",IFCRELCONTAINEDINSPATIALSTRUCTURE,4,true],["HasCoverings",IFCRELCOVERSBLDGELEMENTS,4,true],["HasSurfaceFeatures",IFCRELADHERESTOELEMENT,4,true],["HasPorts",IFCRELCONNECTSPORTTOELEMENT,5,true],["HasControlElements",IFCRELFLOWCONTROLELEMENTS,5,true]],182646315:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDeclaredBy",IFCRELDEFINESBYOBJECT,4,true],["Declares",IFCRELDEFINESBYOBJECT,5,true],["IsTypedBy",IFCRELDEFINESBYTYPE,4,true],["IsDefinedBy",IFCRELDEFINESBYPROPERTIES,4,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true],["PositionedRelativeTo",IFCRELPOSITIONS,5,true],["ReferencedInStructures",IFCRELREFERENCEDINSPATIALSTRUCTURE,4,true],["FillsVoids",IFCRELFILLSELEMENT,5,true],["ConnectedTo",IFCRELCONNECTSELEMENTS,5,true],["IsInterferedByElements",IFCRELINTERFERESELEMENTS,5,true],["InterferesElements",IFCRELINTERFERESELEMENTS,4,true],["HasProjections",IFCRELPROJECTSELEMENT,4,true],["HasOpenings",IFCRELVOIDSELEMENT,4,true],["IsConnectionRealization",IFCRELCONNECTSWITHREALIZINGELEMENTS,7,true],["ProvidesBoundaries",IFCRELSPACEBOUNDARY,5,true],["ConnectedFrom",IFCRELCONNECTSELEMENTS,6,true],["ContainedInStructure",IFCRELCONTAINEDINSPATIALSTRUCTURE,4,true],["HasCoverings",IFCRELCOVERSBLDGELEMENTS,4,true],["HasSurfaceFeatures",IFCRELADHERESTOELEMENT,4,true],["HasPorts",IFCRELCONNECTSPORTTOELEMENT,5,true],["AssignedToFlowElement",IFCRELFLOWCONTROLELEMENTS,4,true]],2680139844:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDeclaredBy",IFCRELDEFINESBYOBJECT,4,true],["Declares",IFCRELDEFINESBYOBJECT,5,true],["IsTypedBy",IFCRELDEFINESBYTYPE,4,true],["IsDefinedBy",IFCRELDEFINESBYPROPERTIES,4,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true],["PositionedRelativeTo",IFCRELPOSITIONS,5,true],["ReferencedInStructures",IFCRELREFERENCEDINSPATIALSTRUCTURE,4,true],["FillsVoids",IFCRELFILLSELEMENT,5,true],["ConnectedTo",IFCRELCONNECTSELEMENTS,5,true],["IsInterferedByElements",IFCRELINTERFERESELEMENTS,5,true],["InterferesElements",IFCRELINTERFERESELEMENTS,4,true],["HasProjections",IFCRELPROJECTSELEMENT,4,true],["HasOpenings",IFCRELVOIDSELEMENT,4,true],["IsConnectionRealization",IFCRELCONNECTSWITHREALIZINGELEMENTS,7,true],["ProvidesBoundaries",IFCRELSPACEBOUNDARY,5,true],["ConnectedFrom",IFCRELCONNECTSELEMENTS,6,true],["ContainedInStructure",IFCRELCONTAINEDINSPATIALSTRUCTURE,4,true],["HasCoverings",IFCRELCOVERSBLDGELEMENTS,4,true],["HasSurfaceFeatures",IFCRELADHERESTOELEMENT,4,true]],1971632696:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDeclaredBy",IFCRELDEFINESBYOBJECT,4,true],["Declares",IFCRELDEFINESBYOBJECT,5,true],["IsTypedBy",IFCRELDEFINESBYTYPE,4,true],["IsDefinedBy",IFCRELDEFINESBYPROPERTIES,4,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true],["PositionedRelativeTo",IFCRELPOSITIONS,5,true],["ReferencedInStructures",IFCRELREFERENCEDINSPATIALSTRUCTURE,4,true],["FillsVoids",IFCRELFILLSELEMENT,5,true],["ConnectedTo",IFCRELCONNECTSELEMENTS,5,true],["IsInterferedByElements",IFCRELINTERFERESELEMENTS,5,true],["InterferesElements",IFCRELINTERFERESELEMENTS,4,true],["HasProjections",IFCRELPROJECTSELEMENT,4,true],["HasOpenings",IFCRELVOIDSELEMENT,4,true],["IsConnectionRealization",IFCRELCONNECTSWITHREALIZINGELEMENTS,7,true],["ProvidesBoundaries",IFCRELSPACEBOUNDARY,5,true],["ConnectedFrom",IFCRELCONNECTSELEMENTS,6,true],["ContainedInStructure",IFCRELCONTAINEDINSPATIALSTRUCTURE,4,true],["HasCoverings",IFCRELCOVERSBLDGELEMENTS,4,true],["HasSurfaceFeatures",IFCRELADHERESTOELEMENT,4,true]],2295281155:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDeclaredBy",IFCRELDEFINESBYOBJECT,4,true],["Declares",IFCRELDEFINESBYOBJECT,5,true],["IsTypedBy",IFCRELDEFINESBYTYPE,4,true],["IsDefinedBy",IFCRELDEFINESBYPROPERTIES,4,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true],["PositionedRelativeTo",IFCRELPOSITIONS,5,true],["ReferencedInStructures",IFCRELREFERENCEDINSPATIALSTRUCTURE,4,true],["FillsVoids",IFCRELFILLSELEMENT,5,true],["ConnectedTo",IFCRELCONNECTSELEMENTS,5,true],["IsInterferedByElements",IFCRELINTERFERESELEMENTS,5,true],["InterferesElements",IFCRELINTERFERESELEMENTS,4,true],["HasProjections",IFCRELPROJECTSELEMENT,4,true],["HasOpenings",IFCRELVOIDSELEMENT,4,true],["IsConnectionRealization",IFCRELCONNECTSWITHREALIZINGELEMENTS,7,true],["ProvidesBoundaries",IFCRELSPACEBOUNDARY,5,true],["ConnectedFrom",IFCRELCONNECTSELEMENTS,6,true],["ContainedInStructure",IFCRELCONTAINEDINSPATIALSTRUCTURE,4,true],["HasCoverings",IFCRELCOVERSBLDGELEMENTS,4,true],["HasSurfaceFeatures",IFCRELADHERESTOELEMENT,4,true],["HasPorts",IFCRELCONNECTSPORTTOELEMENT,5,true],["AssignedToFlowElement",IFCRELFLOWCONTROLELEMENTS,4,true]],4086658281:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDeclaredBy",IFCRELDEFINESBYOBJECT,4,true],["Declares",IFCRELDEFINESBYOBJECT,5,true],["IsTypedBy",IFCRELDEFINESBYTYPE,4,true],["IsDefinedBy",IFCRELDEFINESBYPROPERTIES,4,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true],["PositionedRelativeTo",IFCRELPOSITIONS,5,true],["ReferencedInStructures",IFCRELREFERENCEDINSPATIALSTRUCTURE,4,true],["FillsVoids",IFCRELFILLSELEMENT,5,true],["ConnectedTo",IFCRELCONNECTSELEMENTS,5,true],["IsInterferedByElements",IFCRELINTERFERESELEMENTS,5,true],["InterferesElements",IFCRELINTERFERESELEMENTS,4,true],["HasProjections",IFCRELPROJECTSELEMENT,4,true],["HasOpenings",IFCRELVOIDSELEMENT,4,true],["IsConnectionRealization",IFCRELCONNECTSWITHREALIZINGELEMENTS,7,true],["ProvidesBoundaries",IFCRELSPACEBOUNDARY,5,true],["ConnectedFrom",IFCRELCONNECTSELEMENTS,6,true],["ContainedInStructure",IFCRELCONTAINEDINSPATIALSTRUCTURE,4,true],["HasCoverings",IFCRELCOVERSBLDGELEMENTS,4,true],["HasSurfaceFeatures",IFCRELADHERESTOELEMENT,4,true],["HasPorts",IFCRELCONNECTSPORTTOELEMENT,5,true],["AssignedToFlowElement",IFCRELFLOWCONTROLELEMENTS,4,true]],630975310:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDeclaredBy",IFCRELDEFINESBYOBJECT,4,true],["Declares",IFCRELDEFINESBYOBJECT,5,true],["IsTypedBy",IFCRELDEFINESBYTYPE,4,true],["IsDefinedBy",IFCRELDEFINESBYPROPERTIES,4,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true],["PositionedRelativeTo",IFCRELPOSITIONS,5,true],["ReferencedInStructures",IFCRELREFERENCEDINSPATIALSTRUCTURE,4,true],["FillsVoids",IFCRELFILLSELEMENT,5,true],["ConnectedTo",IFCRELCONNECTSELEMENTS,5,true],["IsInterferedByElements",IFCRELINTERFERESELEMENTS,5,true],["InterferesElements",IFCRELINTERFERESELEMENTS,4,true],["HasProjections",IFCRELPROJECTSELEMENT,4,true],["HasOpenings",IFCRELVOIDSELEMENT,4,true],["IsConnectionRealization",IFCRELCONNECTSWITHREALIZINGELEMENTS,7,true],["ProvidesBoundaries",IFCRELSPACEBOUNDARY,5,true],["ConnectedFrom",IFCRELCONNECTSELEMENTS,6,true],["ContainedInStructure",IFCRELCONTAINEDINSPATIALSTRUCTURE,4,true],["HasCoverings",IFCRELCOVERSBLDGELEMENTS,4,true],["HasSurfaceFeatures",IFCRELADHERESTOELEMENT,4,true],["HasPorts",IFCRELCONNECTSPORTTOELEMENT,5,true],["AssignedToFlowElement",IFCRELFLOWCONTROLELEMENTS,4,true]],4288193352:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDeclaredBy",IFCRELDEFINESBYOBJECT,4,true],["Declares",IFCRELDEFINESBYOBJECT,5,true],["IsTypedBy",IFCRELDEFINESBYTYPE,4,true],["IsDefinedBy",IFCRELDEFINESBYPROPERTIES,4,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true],["PositionedRelativeTo",IFCRELPOSITIONS,5,true],["ReferencedInStructures",IFCRELREFERENCEDINSPATIALSTRUCTURE,4,true],["FillsVoids",IFCRELFILLSELEMENT,5,true],["ConnectedTo",IFCRELCONNECTSELEMENTS,5,true],["IsInterferedByElements",IFCRELINTERFERESELEMENTS,5,true],["InterferesElements",IFCRELINTERFERESELEMENTS,4,true],["HasProjections",IFCRELPROJECTSELEMENT,4,true],["HasOpenings",IFCRELVOIDSELEMENT,4,true],["IsConnectionRealization",IFCRELCONNECTSWITHREALIZINGELEMENTS,7,true],["ProvidesBoundaries",IFCRELSPACEBOUNDARY,5,true],["ConnectedFrom",IFCRELCONNECTSELEMENTS,6,true],["ContainedInStructure",IFCRELCONTAINEDINSPATIALSTRUCTURE,4,true],["HasCoverings",IFCRELCOVERSBLDGELEMENTS,4,true],["HasSurfaceFeatures",IFCRELADHERESTOELEMENT,4,true],["HasPorts",IFCRELCONNECTSPORTTOELEMENT,5,true],["AssignedToFlowElement",IFCRELFLOWCONTROLELEMENTS,4,true]],3087945054:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDeclaredBy",IFCRELDEFINESBYOBJECT,4,true],["Declares",IFCRELDEFINESBYOBJECT,5,true],["IsTypedBy",IFCRELDEFINESBYTYPE,4,true],["IsDefinedBy",IFCRELDEFINESBYPROPERTIES,4,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true],["PositionedRelativeTo",IFCRELPOSITIONS,5,true],["ReferencedInStructures",IFCRELREFERENCEDINSPATIALSTRUCTURE,4,true],["FillsVoids",IFCRELFILLSELEMENT,5,true],["ConnectedTo",IFCRELCONNECTSELEMENTS,5,true],["IsInterferedByElements",IFCRELINTERFERESELEMENTS,5,true],["InterferesElements",IFCRELINTERFERESELEMENTS,4,true],["HasProjections",IFCRELPROJECTSELEMENT,4,true],["HasOpenings",IFCRELVOIDSELEMENT,4,true],["IsConnectionRealization",IFCRELCONNECTSWITHREALIZINGELEMENTS,7,true],["ProvidesBoundaries",IFCRELSPACEBOUNDARY,5,true],["ConnectedFrom",IFCRELCONNECTSELEMENTS,6,true],["ContainedInStructure",IFCRELCONTAINEDINSPATIALSTRUCTURE,4,true],["HasCoverings",IFCRELCOVERSBLDGELEMENTS,4,true],["HasSurfaceFeatures",IFCRELADHERESTOELEMENT,4,true],["HasPorts",IFCRELCONNECTSPORTTOELEMENT,5,true],["AssignedToFlowElement",IFCRELFLOWCONTROLELEMENTS,4,true]],25142252:[["HasAssignments",IFCRELASSIGNS,4,true],["Nests",IFCRELNESTS,5,true],["IsNestedBy",IFCRELNESTS,4,true],["HasContext",IFCRELDECLARES,5,true],["IsDecomposedBy",IFCRELAGGREGATES,4,true],["Decomposes",IFCRELAGGREGATES,5,true],["HasAssociations",IFCRELASSOCIATES,4,true],["IsDeclaredBy",IFCRELDEFINESBYOBJECT,4,true],["Declares",IFCRELDEFINESBYOBJECT,5,true],["IsTypedBy",IFCRELDEFINESBYTYPE,4,true],["IsDefinedBy",IFCRELDEFINESBYPROPERTIES,4,true],["ReferencedBy",IFCRELASSIGNSTOPRODUCT,6,true],["PositionedRelativeTo",IFCRELPOSITIONS,5,true],["ReferencedInStructures",IFCRELREFERENCEDINSPATIALSTRUCTURE,4,true],["FillsVoids",IFCRELFILLSELEMENT,5,true],["ConnectedTo",IFCRELCONNECTSELEMENTS,5,true],["IsInterferedByElements",IFCRELINTERFERESELEMENTS,5,true],["InterferesElements",IFCRELINTERFERESELEMENTS,4,true],["HasProjections",IFCRELPROJECTSELEMENT,4,true],["HasOpenings",IFCRELVOIDSELEMENT,4,true],["IsConnectionRealization",IFCRELCONNECTSWITHREALIZINGELEMENTS,7,true],["ProvidesBoundaries",IFCRELSPACEBOUNDARY,5,true],["ConnectedFrom",IFCRELCONNECTSELEMENTS,6,true],["ContainedInStructure",IFCRELCONTAINEDINSPATIALSTRUCTURE,4,true],["HasCoverings",IFCRELCOVERSBLDGELEMENTS,4,true],["HasSurfaceFeatures",IFCRELADHERESTOELEMENT,4,true],["HasPorts",IFCRELCONNECTSPORTTOELEMENT,5,true],["AssignedToFlowElement",IFCRELFLOWCONTROLELEMENTS,4,true]]};Constructors[3]={3630933823:function _(ID,a){return new IFC4X3.IfcActorRole(ID,a[0],a[1],a[2]);},618182010:function _(ID,a){return new IFC4X3.IfcAddress(ID,a[0],a[1],a[2]);},2879124712:function _(ID,a){return new IFC4X3.IfcAlignmentParameterSegment(ID,a[0],a[1]);},3633395639:function _(ID,a){return new IFC4X3.IfcAlignmentVerticalSegment(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8]);},639542469:function _(ID,a){return new IFC4X3.IfcApplication(ID,a[0],a[1],a[2],a[3]);},411424972:function _(ID,a){return new IFC4X3.IfcAppliedValue(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9]);},130549933:function _(ID,a){return new IFC4X3.IfcApproval(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8]);},4037036970:function _(ID,a){return new IFC4X3.IfcBoundaryCondition(ID,a[0]);},1560379544:function _(ID,a){return new IFC4X3.IfcBoundaryEdgeCondition(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6]);},3367102660:function _(ID,a){return new IFC4X3.IfcBoundaryFaceCondition(ID,a[0],a[1],a[2],a[3]);},1387855156:function _(ID,a){return new IFC4X3.IfcBoundaryNodeCondition(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6]);},2069777674:function _(ID,a){return new IFC4X3.IfcBoundaryNodeConditionWarping(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7]);},2859738748:function _(ID,_127){return new IFC4X3.IfcConnectionGeometry(ID);},2614616156:function _(ID,a){return new IFC4X3.IfcConnectionPointGeometry(ID,a[0],a[1]);},2732653382:function _(ID,a){return new IFC4X3.IfcConnectionSurfaceGeometry(ID,a[0],a[1]);},775493141:function _(ID,a){return new IFC4X3.IfcConnectionVolumeGeometry(ID,a[0],a[1]);},1959218052:function _(ID,a){return new IFC4X3.IfcConstraint(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6]);},1785450214:function _(ID,a){return new IFC4X3.IfcCoordinateOperation(ID,a[0],a[1]);},1466758467:function _(ID,a){return new IFC4X3.IfcCoordinateReferenceSystem(ID,a[0],a[1],a[2],a[3]);},602808272:function _(ID,a){return new IFC4X3.IfcCostValue(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9]);},1765591967:function _(ID,a){return new IFC4X3.IfcDerivedUnit(ID,a[0],a[1],a[2],a[3]);},1045800335:function _(ID,a){return new IFC4X3.IfcDerivedUnitElement(ID,a[0],a[1]);},2949456006:function _(ID,a){return new IFC4X3.IfcDimensionalExponents(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6]);},4294318154:function _(ID,_128){return new IFC4X3.IfcExternalInformation(ID);},3200245327:function _(ID,a){return new IFC4X3.IfcExternalReference(ID,a[0],a[1],a[2]);},2242383968:function _(ID,a){return new IFC4X3.IfcExternallyDefinedHatchStyle(ID,a[0],a[1],a[2]);},1040185647:function _(ID,a){return new IFC4X3.IfcExternallyDefinedSurfaceStyle(ID,a[0],a[1],a[2]);},3548104201:function _(ID,a){return new IFC4X3.IfcExternallyDefinedTextFont(ID,a[0],a[1],a[2]);},852622518:function _(ID,a){return new IFC4X3.IfcGridAxis(ID,a[0],a[1],a[2]);},3020489413:function _(ID,a){return new IFC4X3.IfcIrregularTimeSeriesValue(ID,a[0],a[1]);},2655187982:function _(ID,a){return new IFC4X3.IfcLibraryInformation(ID,a[0],a[1],a[2],a[3],a[4],a[5]);},3452421091:function _(ID,a){return new IFC4X3.IfcLibraryReference(ID,a[0],a[1],a[2],a[3],a[4],a[5]);},4162380809:function _(ID,a){return new IFC4X3.IfcLightDistributionData(ID,a[0],a[1],a[2]);},1566485204:function _(ID,a){return new IFC4X3.IfcLightIntensityDistribution(ID,a[0],a[1]);},3057273783:function _(ID,a){return new IFC4X3.IfcMapConversion(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9]);},1847130766:function _(ID,a){return new IFC4X3.IfcMaterialClassificationRelationship(ID,a[0],a[1]);},760658860:function _(ID,_129){return new IFC4X3.IfcMaterialDefinition(ID);},248100487:function _(ID,a){return new IFC4X3.IfcMaterialLayer(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6]);},3303938423:function _(ID,a){return new IFC4X3.IfcMaterialLayerSet(ID,a[0],a[1],a[2]);},1847252529:function _(ID,a){return new IFC4X3.IfcMaterialLayerWithOffsets(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8]);},2199411900:function _(ID,a){return new IFC4X3.IfcMaterialList(ID,a[0]);},2235152071:function _(ID,a){return new IFC4X3.IfcMaterialProfile(ID,a[0],a[1],a[2],a[3],a[4],a[5]);},164193824:function _(ID,a){return new IFC4X3.IfcMaterialProfileSet(ID,a[0],a[1],a[2],a[3]);},552965576:function _(ID,a){return new IFC4X3.IfcMaterialProfileWithOffsets(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6]);},1507914824:function _(ID,_130){return new IFC4X3.IfcMaterialUsageDefinition(ID);},2597039031:function _(ID,a){return new IFC4X3.IfcMeasureWithUnit(ID,a[0],a[1]);},3368373690:function _(ID,a){return new IFC4X3.IfcMetric(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9],a[10]);},2706619895:function _(ID,a){return new IFC4X3.IfcMonetaryUnit(ID,a[0]);},1918398963:function _(ID,a){return new IFC4X3.IfcNamedUnit(ID,a[0],a[1]);},3701648758:function _(ID,a){return new IFC4X3.IfcObjectPlacement(ID,a[0]);},2251480897:function _(ID,a){return new IFC4X3.IfcObjective(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9],a[10]);},4251960020:function _(ID,a){return new IFC4X3.IfcOrganization(ID,a[0],a[1],a[2],a[3],a[4]);},1207048766:function _(ID,a){return new IFC4X3.IfcOwnerHistory(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7]);},2077209135:function _(ID,a){return new IFC4X3.IfcPerson(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7]);},101040310:function _(ID,a){return new IFC4X3.IfcPersonAndOrganization(ID,a[0],a[1],a[2]);},2483315170:function _(ID,a){return new IFC4X3.IfcPhysicalQuantity(ID,a[0],a[1]);},2226359599:function _(ID,a){return new IFC4X3.IfcPhysicalSimpleQuantity(ID,a[0],a[1],a[2]);},3355820592:function _(ID,a){return new IFC4X3.IfcPostalAddress(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9]);},677532197:function _(ID,_131){return new IFC4X3.IfcPresentationItem(ID);},2022622350:function _(ID,a){return new IFC4X3.IfcPresentationLayerAssignment(ID,a[0],a[1],a[2],a[3]);},1304840413:function _(ID,a){return new IFC4X3.IfcPresentationLayerWithStyle(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7]);},3119450353:function _(ID,a){return new IFC4X3.IfcPresentationStyle(ID,a[0]);},2095639259:function _(ID,a){return new IFC4X3.IfcProductRepresentation(ID,a[0],a[1],a[2]);},3958567839:function _(ID,a){return new IFC4X3.IfcProfileDef(ID,a[0],a[1]);},3843373140:function _(ID,a){return new IFC4X3.IfcProjectedCRS(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6]);},986844984:function _(ID,_132){return new IFC4X3.IfcPropertyAbstraction(ID);},3710013099:function _(ID,a){return new IFC4X3.IfcPropertyEnumeration(ID,a[0],a[1],a[2]);},2044713172:function _(ID,a){return new IFC4X3.IfcQuantityArea(ID,a[0],a[1],a[2],a[3],a[4]);},2093928680:function _(ID,a){return new IFC4X3.IfcQuantityCount(ID,a[0],a[1],a[2],a[3],a[4]);},931644368:function _(ID,a){return new IFC4X3.IfcQuantityLength(ID,a[0],a[1],a[2],a[3],a[4]);},2691318326:function _(ID,a){return new IFC4X3.IfcQuantityNumber(ID,a[0],a[1],a[2],a[3],a[4]);},3252649465:function _(ID,a){return new IFC4X3.IfcQuantityTime(ID,a[0],a[1],a[2],a[3],a[4]);},2405470396:function _(ID,a){return new IFC4X3.IfcQuantityVolume(ID,a[0],a[1],a[2],a[3],a[4]);},825690147:function _(ID,a){return new IFC4X3.IfcQuantityWeight(ID,a[0],a[1],a[2],a[3],a[4]);},3915482550:function _(ID,a){return new IFC4X3.IfcRecurrencePattern(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7]);},2433181523:function _(ID,a){return new IFC4X3.IfcReference(ID,a[0],a[1],a[2],a[3],a[4]);},1076942058:function _(ID,a){return new IFC4X3.IfcRepresentation(ID,a[0],a[1],a[2],a[3]);},3377609919:function _(ID,a){return new IFC4X3.IfcRepresentationContext(ID,a[0],a[1]);},3008791417:function _(ID,_133){return new IFC4X3.IfcRepresentationItem(ID);},1660063152:function _(ID,a){return new IFC4X3.IfcRepresentationMap(ID,a[0],a[1]);},2439245199:function _(ID,a){return new IFC4X3.IfcResourceLevelRelationship(ID,a[0],a[1]);},2341007311:function _(ID,a){return new IFC4X3.IfcRoot(ID,a[0],a[1],a[2],a[3]);},448429030:function _(ID,a){return new IFC4X3.IfcSIUnit(ID,a[0],a[1],a[2],a[3]);},1054537805:function _(ID,a){return new IFC4X3.IfcSchedulingTime(ID,a[0],a[1],a[2]);},867548509:function _(ID,a){return new IFC4X3.IfcShapeAspect(ID,a[0],a[1],a[2],a[3],a[4]);},3982875396:function _(ID,a){return new IFC4X3.IfcShapeModel(ID,a[0],a[1],a[2],a[3]);},4240577450:function _(ID,a){return new IFC4X3.IfcShapeRepresentation(ID,a[0],a[1],a[2],a[3]);},2273995522:function _(ID,a){return new IFC4X3.IfcStructuralConnectionCondition(ID,a[0]);},2162789131:function _(ID,a){return new IFC4X3.IfcStructuralLoad(ID,a[0]);},3478079324:function _(ID,a){return new IFC4X3.IfcStructuralLoadConfiguration(ID,a[0],a[1],a[2]);},609421318:function _(ID,a){return new IFC4X3.IfcStructuralLoadOrResult(ID,a[0]);},2525727697:function _(ID,a){return new IFC4X3.IfcStructuralLoadStatic(ID,a[0]);},3408363356:function _(ID,a){return new IFC4X3.IfcStructuralLoadTemperature(ID,a[0],a[1],a[2],a[3]);},2830218821:function _(ID,a){return new IFC4X3.IfcStyleModel(ID,a[0],a[1],a[2],a[3]);},3958052878:function _(ID,a){return new IFC4X3.IfcStyledItem(ID,a[0],a[1],a[2]);},3049322572:function _(ID,a){return new IFC4X3.IfcStyledRepresentation(ID,a[0],a[1],a[2],a[3]);},2934153892:function _(ID,a){return new IFC4X3.IfcSurfaceReinforcementArea(ID,a[0],a[1],a[2],a[3]);},1300840506:function _(ID,a){return new IFC4X3.IfcSurfaceStyle(ID,a[0],a[1],a[2]);},3303107099:function _(ID,a){return new IFC4X3.IfcSurfaceStyleLighting(ID,a[0],a[1],a[2],a[3]);},1607154358:function _(ID,a){return new IFC4X3.IfcSurfaceStyleRefraction(ID,a[0],a[1]);},846575682:function _(ID,a){return new IFC4X3.IfcSurfaceStyleShading(ID,a[0],a[1]);},1351298697:function _(ID,a){return new IFC4X3.IfcSurfaceStyleWithTextures(ID,a[0]);},626085974:function _(ID,a){return new IFC4X3.IfcSurfaceTexture(ID,a[0],a[1],a[2],a[3],a[4]);},985171141:function _(ID,a){return new IFC4X3.IfcTable(ID,a[0],a[1],a[2]);},2043862942:function _(ID,a){return new IFC4X3.IfcTableColumn(ID,a[0],a[1],a[2],a[3],a[4]);},531007025:function _(ID,a){return new IFC4X3.IfcTableRow(ID,a[0],a[1]);},1549132990:function _(ID,a){return new IFC4X3.IfcTaskTime(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9],a[10],a[11],a[12],a[13],a[14],a[15],a[16],a[17],a[18],a[19]);},2771591690:function _(ID,a){return new IFC4X3.IfcTaskTimeRecurring(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9],a[10],a[11],a[12],a[13],a[14],a[15],a[16],a[17],a[18],a[19],a[20]);},912023232:function _(ID,a){return new IFC4X3.IfcTelecomAddress(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8]);},1447204868:function _(ID,a){return new IFC4X3.IfcTextStyle(ID,a[0],a[1],a[2],a[3],a[4]);},2636378356:function _(ID,a){return new IFC4X3.IfcTextStyleForDefinedFont(ID,a[0],a[1]);},1640371178:function _(ID,a){return new IFC4X3.IfcTextStyleTextModel(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6]);},280115917:function _(ID,a){return new IFC4X3.IfcTextureCoordinate(ID,a[0]);},1742049831:function _(ID,a){return new IFC4X3.IfcTextureCoordinateGenerator(ID,a[0],a[1],a[2]);},222769930:function _(ID,a){return new IFC4X3.IfcTextureCoordinateIndices(ID,a[0],a[1]);},1010789467:function _(ID,a){return new IFC4X3.IfcTextureCoordinateIndicesWithVoids(ID,a[0],a[1],a[2]);},2552916305:function _(ID,a){return new IFC4X3.IfcTextureMap(ID,a[0],a[1],a[2]);},1210645708:function _(ID,a){return new IFC4X3.IfcTextureVertex(ID,a[0]);},3611470254:function _(ID,a){return new IFC4X3.IfcTextureVertexList(ID,a[0]);},1199560280:function _(ID,a){return new IFC4X3.IfcTimePeriod(ID,a[0],a[1]);},3101149627:function _(ID,a){return new IFC4X3.IfcTimeSeries(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7]);},581633288:function _(ID,a){return new IFC4X3.IfcTimeSeriesValue(ID,a[0]);},1377556343:function _(ID,_134){return new IFC4X3.IfcTopologicalRepresentationItem(ID);},1735638870:function _(ID,a){return new IFC4X3.IfcTopologyRepresentation(ID,a[0],a[1],a[2],a[3]);},180925521:function _(ID,a){return new IFC4X3.IfcUnitAssignment(ID,a[0]);},2799835756:function _(ID,_135){return new IFC4X3.IfcVertex(ID);},1907098498:function _(ID,a){return new IFC4X3.IfcVertexPoint(ID,a[0]);},891718957:function _(ID,a){return new IFC4X3.IfcVirtualGridIntersection(ID,a[0],a[1]);},1236880293:function _(ID,a){return new IFC4X3.IfcWorkTime(ID,a[0],a[1],a[2],a[3],a[4],a[5]);},3752311538:function _(ID,a){return new IFC4X3.IfcAlignmentCantSegment(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8]);},536804194:function _(ID,a){return new IFC4X3.IfcAlignmentHorizontalSegment(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8]);},3869604511:function _(ID,a){return new IFC4X3.IfcApprovalRelationship(ID,a[0],a[1],a[2],a[3]);},3798115385:function _(ID,a){return new IFC4X3.IfcArbitraryClosedProfileDef(ID,a[0],a[1],a[2]);},1310608509:function _(ID,a){return new IFC4X3.IfcArbitraryOpenProfileDef(ID,a[0],a[1],a[2]);},2705031697:function _(ID,a){return new IFC4X3.IfcArbitraryProfileDefWithVoids(ID,a[0],a[1],a[2],a[3]);},616511568:function _(ID,a){return new IFC4X3.IfcBlobTexture(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6]);},3150382593:function _(ID,a){return new IFC4X3.IfcCenterLineProfileDef(ID,a[0],a[1],a[2],a[3]);},747523909:function _(ID,a){return new IFC4X3.IfcClassification(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6]);},647927063:function _(ID,a){return new IFC4X3.IfcClassificationReference(ID,a[0],a[1],a[2],a[3],a[4],a[5]);},3285139300:function _(ID,a){return new IFC4X3.IfcColourRgbList(ID,a[0]);},3264961684:function _(ID,a){return new IFC4X3.IfcColourSpecification(ID,a[0]);},1485152156:function _(ID,a){return new IFC4X3.IfcCompositeProfileDef(ID,a[0],a[1],a[2],a[3]);},370225590:function _(ID,a){return new IFC4X3.IfcConnectedFaceSet(ID,a[0]);},1981873012:function _(ID,a){return new IFC4X3.IfcConnectionCurveGeometry(ID,a[0],a[1]);},45288368:function _(ID,a){return new IFC4X3.IfcConnectionPointEccentricity(ID,a[0],a[1],a[2],a[3],a[4]);},3050246964:function _(ID,a){return new IFC4X3.IfcContextDependentUnit(ID,a[0],a[1],a[2]);},2889183280:function _(ID,a){return new IFC4X3.IfcConversionBasedUnit(ID,a[0],a[1],a[2],a[3]);},2713554722:function _(ID,a){return new IFC4X3.IfcConversionBasedUnitWithOffset(ID,a[0],a[1],a[2],a[3],a[4]);},539742890:function _(ID,a){return new IFC4X3.IfcCurrencyRelationship(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6]);},3800577675:function _(ID,a){return new IFC4X3.IfcCurveStyle(ID,a[0],a[1],a[2],a[3],a[4]);},1105321065:function _(ID,a){return new IFC4X3.IfcCurveStyleFont(ID,a[0],a[1]);},2367409068:function _(ID,a){return new IFC4X3.IfcCurveStyleFontAndScaling(ID,a[0],a[1],a[2]);},3510044353:function _(ID,a){return new IFC4X3.IfcCurveStyleFontPattern(ID,a[0],a[1]);},3632507154:function _(ID,a){return new IFC4X3.IfcDerivedProfileDef(ID,a[0],a[1],a[2],a[3],a[4]);},1154170062:function _(ID,a){return new IFC4X3.IfcDocumentInformation(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9],a[10],a[11],a[12],a[13],a[14],a[15],a[16]);},770865208:function _(ID,a){return new IFC4X3.IfcDocumentInformationRelationship(ID,a[0],a[1],a[2],a[3],a[4]);},3732053477:function _(ID,a){return new IFC4X3.IfcDocumentReference(ID,a[0],a[1],a[2],a[3],a[4]);},3900360178:function _(ID,a){return new IFC4X3.IfcEdge(ID,a[0],a[1]);},476780140:function _(ID,a){return new IFC4X3.IfcEdgeCurve(ID,a[0],a[1],a[2],a[3]);},211053100:function _(ID,a){return new IFC4X3.IfcEventTime(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6]);},297599258:function _(ID,a){return new IFC4X3.IfcExtendedProperties(ID,a[0],a[1],a[2]);},1437805879:function _(ID,a){return new IFC4X3.IfcExternalReferenceRelationship(ID,a[0],a[1],a[2],a[3]);},2556980723:function _(ID,a){return new IFC4X3.IfcFace(ID,a[0]);},1809719519:function _(ID,a){return new IFC4X3.IfcFaceBound(ID,a[0],a[1]);},803316827:function _(ID,a){return new IFC4X3.IfcFaceOuterBound(ID,a[0],a[1]);},3008276851:function _(ID,a){return new IFC4X3.IfcFaceSurface(ID,a[0],a[1],a[2]);},4219587988:function _(ID,a){return new IFC4X3.IfcFailureConnectionCondition(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6]);},738692330:function _(ID,a){return new IFC4X3.IfcFillAreaStyle(ID,a[0],a[1],a[2]);},3448662350:function _(ID,a){return new IFC4X3.IfcGeometricRepresentationContext(ID,a[0],a[1],a[2],a[3],a[4],a[5]);},2453401579:function _(ID,_136){return new IFC4X3.IfcGeometricRepresentationItem(ID);},4142052618:function _(ID,a){return new IFC4X3.IfcGeometricRepresentationSubContext(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6]);},3590301190:function _(ID,a){return new IFC4X3.IfcGeometricSet(ID,a[0]);},178086475:function _(ID,a){return new IFC4X3.IfcGridPlacement(ID,a[0],a[1],a[2]);},812098782:function _(ID,a){return new IFC4X3.IfcHalfSpaceSolid(ID,a[0],a[1]);},3905492369:function _(ID,a){return new IFC4X3.IfcImageTexture(ID,a[0],a[1],a[2],a[3],a[4],a[5]);},3570813810:function _(ID,a){return new IFC4X3.IfcIndexedColourMap(ID,a[0],a[1],a[2],a[3]);},1437953363:function _(ID,a){return new IFC4X3.IfcIndexedTextureMap(ID,a[0],a[1],a[2]);},2133299955:function _(ID,a){return new IFC4X3.IfcIndexedTriangleTextureMap(ID,a[0],a[1],a[2],a[3]);},3741457305:function _(ID,a){return new IFC4X3.IfcIrregularTimeSeries(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8]);},1585845231:function _(ID,a){return new IFC4X3.IfcLagTime(ID,a[0],a[1],a[2],a[3],a[4]);},1402838566:function _(ID,a){return new IFC4X3.IfcLightSource(ID,a[0],a[1],a[2],a[3]);},125510826:function _(ID,a){return new IFC4X3.IfcLightSourceAmbient(ID,a[0],a[1],a[2],a[3]);},2604431987:function _(ID,a){return new IFC4X3.IfcLightSourceDirectional(ID,a[0],a[1],a[2],a[3],a[4]);},4266656042:function _(ID,a){return new IFC4X3.IfcLightSourceGoniometric(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9]);},1520743889:function _(ID,a){return new IFC4X3.IfcLightSourcePositional(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8]);},3422422726:function _(ID,a){return new IFC4X3.IfcLightSourceSpot(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9],a[10],a[11],a[12]);},388784114:function _(ID,a){return new IFC4X3.IfcLinearPlacement(ID,a[0],a[1],a[2]);},2624227202:function _(ID,a){return new IFC4X3.IfcLocalPlacement(ID,a[0],a[1]);},1008929658:function _(ID,_137){return new IFC4X3.IfcLoop(ID);},2347385850:function _(ID,a){return new IFC4X3.IfcMappedItem(ID,a[0],a[1]);},1838606355:function _(ID,a){return new IFC4X3.IfcMaterial(ID,a[0],a[1],a[2]);},3708119e3:function _(ID,a){return new IFC4X3.IfcMaterialConstituent(ID,a[0],a[1],a[2],a[3],a[4]);},2852063980:function _(ID,a){return new IFC4X3.IfcMaterialConstituentSet(ID,a[0],a[1],a[2]);},2022407955:function _(ID,a){return new IFC4X3.IfcMaterialDefinitionRepresentation(ID,a[0],a[1],a[2],a[3]);},1303795690:function _(ID,a){return new IFC4X3.IfcMaterialLayerSetUsage(ID,a[0],a[1],a[2],a[3],a[4]);},3079605661:function _(ID,a){return new IFC4X3.IfcMaterialProfileSetUsage(ID,a[0],a[1],a[2]);},3404854881:function _(ID,a){return new IFC4X3.IfcMaterialProfileSetUsageTapering(ID,a[0],a[1],a[2],a[3],a[4]);},3265635763:function _(ID,a){return new IFC4X3.IfcMaterialProperties(ID,a[0],a[1],a[2],a[3]);},853536259:function _(ID,a){return new IFC4X3.IfcMaterialRelationship(ID,a[0],a[1],a[2],a[3],a[4]);},2998442950:function _(ID,a){return new IFC4X3.IfcMirroredProfileDef(ID,a[0],a[1],a[2],a[3],a[4]);},219451334:function _(ID,a){return new IFC4X3.IfcObjectDefinition(ID,a[0],a[1],a[2],a[3]);},182550632:function _(ID,a){return new IFC4X3.IfcOpenCrossProfileDef(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6]);},2665983363:function _(ID,a){return new IFC4X3.IfcOpenShell(ID,a[0]);},1411181986:function _(ID,a){return new IFC4X3.IfcOrganizationRelationship(ID,a[0],a[1],a[2],a[3]);},1029017970:function _(ID,a){return new IFC4X3.IfcOrientedEdge(ID,a[0],a[1],a[2]);},2529465313:function _(ID,a){return new IFC4X3.IfcParameterizedProfileDef(ID,a[0],a[1],a[2]);},2519244187:function _(ID,a){return new IFC4X3.IfcPath(ID,a[0]);},3021840470:function _(ID,a){return new IFC4X3.IfcPhysicalComplexQuantity(ID,a[0],a[1],a[2],a[3],a[4],a[5]);},597895409:function _(ID,a){return new IFC4X3.IfcPixelTexture(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8]);},2004835150:function _(ID,a){return new IFC4X3.IfcPlacement(ID,a[0]);},1663979128:function _(ID,a){return new IFC4X3.IfcPlanarExtent(ID,a[0],a[1]);},2067069095:function _(ID,_138){return new IFC4X3.IfcPoint(ID);},2165702409:function _(ID,a){return new IFC4X3.IfcPointByDistanceExpression(ID,a[0],a[1],a[2],a[3],a[4]);},4022376103:function _(ID,a){return new IFC4X3.IfcPointOnCurve(ID,a[0],a[1]);},1423911732:function _(ID,a){return new IFC4X3.IfcPointOnSurface(ID,a[0],a[1],a[2]);},2924175390:function _(ID,a){return new IFC4X3.IfcPolyLoop(ID,a[0]);},2775532180:function _(ID,a){return new IFC4X3.IfcPolygonalBoundedHalfSpace(ID,a[0],a[1],a[2],a[3]);},3727388367:function _(ID,a){return new IFC4X3.IfcPreDefinedItem(ID,a[0]);},3778827333:function _(ID,_139){return new IFC4X3.IfcPreDefinedProperties(ID);},1775413392:function _(ID,a){return new IFC4X3.IfcPreDefinedTextFont(ID,a[0]);},673634403:function _(ID,a){return new IFC4X3.IfcProductDefinitionShape(ID,a[0],a[1],a[2]);},2802850158:function _(ID,a){return new IFC4X3.IfcProfileProperties(ID,a[0],a[1],a[2],a[3]);},2598011224:function _(ID,a){return new IFC4X3.IfcProperty(ID,a[0],a[1]);},1680319473:function _(ID,a){return new IFC4X3.IfcPropertyDefinition(ID,a[0],a[1],a[2],a[3]);},148025276:function _(ID,a){return new IFC4X3.IfcPropertyDependencyRelationship(ID,a[0],a[1],a[2],a[3],a[4]);},3357820518:function _(ID,a){return new IFC4X3.IfcPropertySetDefinition(ID,a[0],a[1],a[2],a[3]);},1482703590:function _(ID,a){return new IFC4X3.IfcPropertyTemplateDefinition(ID,a[0],a[1],a[2],a[3]);},2090586900:function _(ID,a){return new IFC4X3.IfcQuantitySet(ID,a[0],a[1],a[2],a[3]);},3615266464:function _(ID,a){return new IFC4X3.IfcRectangleProfileDef(ID,a[0],a[1],a[2],a[3],a[4]);},3413951693:function _(ID,a){return new IFC4X3.IfcRegularTimeSeries(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9]);},1580146022:function _(ID,a){return new IFC4X3.IfcReinforcementBarProperties(ID,a[0],a[1],a[2],a[3],a[4],a[5]);},478536968:function _(ID,a){return new IFC4X3.IfcRelationship(ID,a[0],a[1],a[2],a[3]);},2943643501:function _(ID,a){return new IFC4X3.IfcResourceApprovalRelationship(ID,a[0],a[1],a[2],a[3]);},1608871552:function _(ID,a){return new IFC4X3.IfcResourceConstraintRelationship(ID,a[0],a[1],a[2],a[3]);},1042787934:function _(ID,a){return new IFC4X3.IfcResourceTime(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9],a[10],a[11],a[12],a[13],a[14],a[15],a[16],a[17]);},2778083089:function _(ID,a){return new IFC4X3.IfcRoundedRectangleProfileDef(ID,a[0],a[1],a[2],a[3],a[4],a[5]);},2042790032:function _(ID,a){return new IFC4X3.IfcSectionProperties(ID,a[0],a[1],a[2]);},4165799628:function _(ID,a){return new IFC4X3.IfcSectionReinforcementProperties(ID,a[0],a[1],a[2],a[3],a[4],a[5]);},1509187699:function _(ID,a){return new IFC4X3.IfcSectionedSpine(ID,a[0],a[1],a[2]);},823603102:function _(ID,a){return new IFC4X3.IfcSegment(ID,a[0]);},4124623270:function _(ID,a){return new IFC4X3.IfcShellBasedSurfaceModel(ID,a[0]);},3692461612:function _(ID,a){return new IFC4X3.IfcSimpleProperty(ID,a[0],a[1]);},2609359061:function _(ID,a){return new IFC4X3.IfcSlippageConnectionCondition(ID,a[0],a[1],a[2],a[3]);},723233188:function _(ID,_140){return new IFC4X3.IfcSolidModel(ID);},1595516126:function _(ID,a){return new IFC4X3.IfcStructuralLoadLinearForce(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6]);},2668620305:function _(ID,a){return new IFC4X3.IfcStructuralLoadPlanarForce(ID,a[0],a[1],a[2],a[3]);},2473145415:function _(ID,a){return new IFC4X3.IfcStructuralLoadSingleDisplacement(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6]);},1973038258:function _(ID,a){return new IFC4X3.IfcStructuralLoadSingleDisplacementDistortion(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7]);},1597423693:function _(ID,a){return new IFC4X3.IfcStructuralLoadSingleForce(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6]);},1190533807:function _(ID,a){return new IFC4X3.IfcStructuralLoadSingleForceWarping(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7]);},2233826070:function _(ID,a){return new IFC4X3.IfcSubedge(ID,a[0],a[1],a[2]);},2513912981:function _(ID,_141){return new IFC4X3.IfcSurface(ID);},1878645084:function _(ID,a){return new IFC4X3.IfcSurfaceStyleRendering(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8]);},2247615214:function _(ID,a){return new IFC4X3.IfcSweptAreaSolid(ID,a[0],a[1]);},1260650574:function _(ID,a){return new IFC4X3.IfcSweptDiskSolid(ID,a[0],a[1],a[2],a[3],a[4]);},1096409881:function _(ID,a){return new IFC4X3.IfcSweptDiskSolidPolygonal(ID,a[0],a[1],a[2],a[3],a[4],a[5]);},230924584:function _(ID,a){return new IFC4X3.IfcSweptSurface(ID,a[0],a[1]);},3071757647:function _(ID,a){return new IFC4X3.IfcTShapeProfileDef(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9],a[10],a[11]);},901063453:function _(ID,_142){return new IFC4X3.IfcTessellatedItem(ID);},4282788508:function _(ID,a){return new IFC4X3.IfcTextLiteral(ID,a[0],a[1],a[2]);},3124975700:function _(ID,a){return new IFC4X3.IfcTextLiteralWithExtent(ID,a[0],a[1],a[2],a[3],a[4]);},1983826977:function _(ID,a){return new IFC4X3.IfcTextStyleFontModel(ID,a[0],a[1],a[2],a[3],a[4],a[5]);},2715220739:function _(ID,a){return new IFC4X3.IfcTrapeziumProfileDef(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6]);},1628702193:function _(ID,a){return new IFC4X3.IfcTypeObject(ID,a[0],a[1],a[2],a[3],a[4],a[5]);},3736923433:function _(ID,a){return new IFC4X3.IfcTypeProcess(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8]);},2347495698:function _(ID,a){return new IFC4X3.IfcTypeProduct(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7]);},3698973494:function _(ID,a){return new IFC4X3.IfcTypeResource(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8]);},427810014:function _(ID,a){return new IFC4X3.IfcUShapeProfileDef(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9]);},1417489154:function _(ID,a){return new IFC4X3.IfcVector(ID,a[0],a[1]);},2759199220:function _(ID,a){return new IFC4X3.IfcVertexLoop(ID,a[0]);},2543172580:function _(ID,a){return new IFC4X3.IfcZShapeProfileDef(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8]);},3406155212:function _(ID,a){return new IFC4X3.IfcAdvancedFace(ID,a[0],a[1],a[2]);},669184980:function _(ID,a){return new IFC4X3.IfcAnnotationFillArea(ID,a[0],a[1]);},3207858831:function _(ID,a){return new IFC4X3.IfcAsymmetricIShapeProfileDef(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9],a[10],a[11],a[12],a[13],a[14]);},4261334040:function _(ID,a){return new IFC4X3.IfcAxis1Placement(ID,a[0],a[1]);},3125803723:function _(ID,a){return new IFC4X3.IfcAxis2Placement2D(ID,a[0],a[1]);},2740243338:function _(ID,a){return new IFC4X3.IfcAxis2Placement3D(ID,a[0],a[1],a[2]);},3425423356:function _(ID,a){return new IFC4X3.IfcAxis2PlacementLinear(ID,a[0],a[1],a[2]);},2736907675:function _(ID,a){return new IFC4X3.IfcBooleanResult(ID,a[0],a[1],a[2]);},4182860854:function _(ID,_143){return new IFC4X3.IfcBoundedSurface(ID);},2581212453:function _(ID,a){return new IFC4X3.IfcBoundingBox(ID,a[0],a[1],a[2],a[3]);},2713105998:function _(ID,a){return new IFC4X3.IfcBoxedHalfSpace(ID,a[0],a[1],a[2]);},2898889636:function _(ID,a){return new IFC4X3.IfcCShapeProfileDef(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7]);},1123145078:function _(ID,a){return new IFC4X3.IfcCartesianPoint(ID,a[0]);},574549367:function _(ID,_144){return new IFC4X3.IfcCartesianPointList(ID);},1675464909:function _(ID,a){return new IFC4X3.IfcCartesianPointList2D(ID,a[0],a[1]);},2059837836:function _(ID,a){return new IFC4X3.IfcCartesianPointList3D(ID,a[0],a[1]);},59481748:function _(ID,a){return new IFC4X3.IfcCartesianTransformationOperator(ID,a[0],a[1],a[2],a[3]);},3749851601:function _(ID,a){return new IFC4X3.IfcCartesianTransformationOperator2D(ID,a[0],a[1],a[2],a[3]);},3486308946:function _(ID,a){return new IFC4X3.IfcCartesianTransformationOperator2DnonUniform(ID,a[0],a[1],a[2],a[3],a[4]);},3331915920:function _(ID,a){return new IFC4X3.IfcCartesianTransformationOperator3D(ID,a[0],a[1],a[2],a[3],a[4]);},1416205885:function _(ID,a){return new IFC4X3.IfcCartesianTransformationOperator3DnonUniform(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6]);},1383045692:function _(ID,a){return new IFC4X3.IfcCircleProfileDef(ID,a[0],a[1],a[2],a[3]);},2205249479:function _(ID,a){return new IFC4X3.IfcClosedShell(ID,a[0]);},776857604:function _(ID,a){return new IFC4X3.IfcColourRgb(ID,a[0],a[1],a[2],a[3]);},2542286263:function _(ID,a){return new IFC4X3.IfcComplexProperty(ID,a[0],a[1],a[2],a[3]);},2485617015:function _(ID,a){return new IFC4X3.IfcCompositeCurveSegment(ID,a[0],a[1],a[2]);},2574617495:function _(ID,a){return new IFC4X3.IfcConstructionResourceType(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9],a[10]);},3419103109:function _(ID,a){return new IFC4X3.IfcContext(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8]);},1815067380:function _(ID,a){return new IFC4X3.IfcCrewResourceType(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9],a[10],a[11]);},2506170314:function _(ID,a){return new IFC4X3.IfcCsgPrimitive3D(ID,a[0]);},2147822146:function _(ID,a){return new IFC4X3.IfcCsgSolid(ID,a[0]);},2601014836:function _(ID,_145){return new IFC4X3.IfcCurve(ID);},2827736869:function _(ID,a){return new IFC4X3.IfcCurveBoundedPlane(ID,a[0],a[1],a[2]);},2629017746:function _(ID,a){return new IFC4X3.IfcCurveBoundedSurface(ID,a[0],a[1],a[2]);},4212018352:function _(ID,a){return new IFC4X3.IfcCurveSegment(ID,a[0],a[1],a[2],a[3],a[4]);},32440307:function _(ID,a){return new IFC4X3.IfcDirection(ID,a[0]);},593015953:function _(ID,a){return new IFC4X3.IfcDirectrixCurveSweptAreaSolid(ID,a[0],a[1],a[2],a[3],a[4]);},1472233963:function _(ID,a){return new IFC4X3.IfcEdgeLoop(ID,a[0]);},1883228015:function _(ID,a){return new IFC4X3.IfcElementQuantity(ID,a[0],a[1],a[2],a[3],a[4],a[5]);},339256511:function _(ID,a){return new IFC4X3.IfcElementType(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8]);},2777663545:function _(ID,a){return new IFC4X3.IfcElementarySurface(ID,a[0]);},2835456948:function _(ID,a){return new IFC4X3.IfcEllipseProfileDef(ID,a[0],a[1],a[2],a[3],a[4]);},4024345920:function _(ID,a){return new IFC4X3.IfcEventType(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9],a[10],a[11]);},477187591:function _(ID,a){return new IFC4X3.IfcExtrudedAreaSolid(ID,a[0],a[1],a[2],a[3]);},2804161546:function _(ID,a){return new IFC4X3.IfcExtrudedAreaSolidTapered(ID,a[0],a[1],a[2],a[3],a[4]);},2047409740:function _(ID,a){return new IFC4X3.IfcFaceBasedSurfaceModel(ID,a[0]);},374418227:function _(ID,a){return new IFC4X3.IfcFillAreaStyleHatching(ID,a[0],a[1],a[2],a[3],a[4]);},315944413:function _(ID,a){return new IFC4X3.IfcFillAreaStyleTiles(ID,a[0],a[1],a[2]);},2652556860:function _(ID,a){return new IFC4X3.IfcFixedReferenceSweptAreaSolid(ID,a[0],a[1],a[2],a[3],a[4],a[5]);},4238390223:function _(ID,a){return new IFC4X3.IfcFurnishingElementType(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8]);},1268542332:function _(ID,a){return new IFC4X3.IfcFurnitureType(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9],a[10]);},4095422895:function _(ID,a){return new IFC4X3.IfcGeographicElementType(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9]);},987898635:function _(ID,a){return new IFC4X3.IfcGeometricCurveSet(ID,a[0]);},1484403080:function _(ID,a){return new IFC4X3.IfcIShapeProfileDef(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9]);},178912537:function _(ID,a){return new IFC4X3.IfcIndexedPolygonalFace(ID,a[0]);},2294589976:function _(ID,a){return new IFC4X3.IfcIndexedPolygonalFaceWithVoids(ID,a[0],a[1]);},3465909080:function _(ID,a){return new IFC4X3.IfcIndexedPolygonalTextureMap(ID,a[0],a[1],a[2],a[3]);},572779678:function _(ID,a){return new IFC4X3.IfcLShapeProfileDef(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8]);},428585644:function _(ID,a){return new IFC4X3.IfcLaborResourceType(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9],a[10],a[11]);},1281925730:function _(ID,a){return new IFC4X3.IfcLine(ID,a[0],a[1]);},1425443689:function _(ID,a){return new IFC4X3.IfcManifoldSolidBrep(ID,a[0]);},3888040117:function _(ID,a){return new IFC4X3.IfcObject(ID,a[0],a[1],a[2],a[3],a[4]);},590820931:function _(ID,a){return new IFC4X3.IfcOffsetCurve(ID,a[0]);},3388369263:function _(ID,a){return new IFC4X3.IfcOffsetCurve2D(ID,a[0],a[1],a[2]);},3505215534:function _(ID,a){return new IFC4X3.IfcOffsetCurve3D(ID,a[0],a[1],a[2],a[3]);},2485787929:function _(ID,a){return new IFC4X3.IfcOffsetCurveByDistances(ID,a[0],a[1],a[2]);},1682466193:function _(ID,a){return new IFC4X3.IfcPcurve(ID,a[0],a[1]);},603570806:function _(ID,a){return new IFC4X3.IfcPlanarBox(ID,a[0],a[1],a[2]);},220341763:function _(ID,a){return new IFC4X3.IfcPlane(ID,a[0]);},3381221214:function _(ID,a){return new IFC4X3.IfcPolynomialCurve(ID,a[0],a[1],a[2],a[3]);},759155922:function _(ID,a){return new IFC4X3.IfcPreDefinedColour(ID,a[0]);},2559016684:function _(ID,a){return new IFC4X3.IfcPreDefinedCurveFont(ID,a[0]);},3967405729:function _(ID,a){return new IFC4X3.IfcPreDefinedPropertySet(ID,a[0],a[1],a[2],a[3]);},569719735:function _(ID,a){return new IFC4X3.IfcProcedureType(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9]);},2945172077:function _(ID,a){return new IFC4X3.IfcProcess(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6]);},4208778838:function _(ID,a){return new IFC4X3.IfcProduct(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6]);},103090709:function _(ID,a){return new IFC4X3.IfcProject(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8]);},653396225:function _(ID,a){return new IFC4X3.IfcProjectLibrary(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8]);},871118103:function _(ID,a){return new IFC4X3.IfcPropertyBoundedValue(ID,a[0],a[1],a[2],a[3],a[4],a[5]);},4166981789:function _(ID,a){return new IFC4X3.IfcPropertyEnumeratedValue(ID,a[0],a[1],a[2],a[3]);},2752243245:function _(ID,a){return new IFC4X3.IfcPropertyListValue(ID,a[0],a[1],a[2],a[3]);},941946838:function _(ID,a){return new IFC4X3.IfcPropertyReferenceValue(ID,a[0],a[1],a[2],a[3]);},1451395588:function _(ID,a){return new IFC4X3.IfcPropertySet(ID,a[0],a[1],a[2],a[3],a[4]);},492091185:function _(ID,a){return new IFC4X3.IfcPropertySetTemplate(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6]);},3650150729:function _(ID,a){return new IFC4X3.IfcPropertySingleValue(ID,a[0],a[1],a[2],a[3]);},110355661:function _(ID,a){return new IFC4X3.IfcPropertyTableValue(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7]);},3521284610:function _(ID,a){return new IFC4X3.IfcPropertyTemplate(ID,a[0],a[1],a[2],a[3]);},2770003689:function _(ID,a){return new IFC4X3.IfcRectangleHollowProfileDef(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7]);},2798486643:function _(ID,a){return new IFC4X3.IfcRectangularPyramid(ID,a[0],a[1],a[2],a[3]);},3454111270:function _(ID,a){return new IFC4X3.IfcRectangularTrimmedSurface(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6]);},3765753017:function _(ID,a){return new IFC4X3.IfcReinforcementDefinitionProperties(ID,a[0],a[1],a[2],a[3],a[4],a[5]);},3939117080:function _(ID,a){return new IFC4X3.IfcRelAssigns(ID,a[0],a[1],a[2],a[3],a[4],a[5]);},1683148259:function _(ID,a){return new IFC4X3.IfcRelAssignsToActor(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7]);},2495723537:function _(ID,a){return new IFC4X3.IfcRelAssignsToControl(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6]);},1307041759:function _(ID,a){return new IFC4X3.IfcRelAssignsToGroup(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6]);},1027710054:function _(ID,a){return new IFC4X3.IfcRelAssignsToGroupByFactor(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7]);},4278684876:function _(ID,a){return new IFC4X3.IfcRelAssignsToProcess(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7]);},2857406711:function _(ID,a){return new IFC4X3.IfcRelAssignsToProduct(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6]);},205026976:function _(ID,a){return new IFC4X3.IfcRelAssignsToResource(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6]);},1865459582:function _(ID,a){return new IFC4X3.IfcRelAssociates(ID,a[0],a[1],a[2],a[3],a[4]);},4095574036:function _(ID,a){return new IFC4X3.IfcRelAssociatesApproval(ID,a[0],a[1],a[2],a[3],a[4],a[5]);},919958153:function _(ID,a){return new IFC4X3.IfcRelAssociatesClassification(ID,a[0],a[1],a[2],a[3],a[4],a[5]);},2728634034:function _(ID,a){return new IFC4X3.IfcRelAssociatesConstraint(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6]);},982818633:function _(ID,a){return new IFC4X3.IfcRelAssociatesDocument(ID,a[0],a[1],a[2],a[3],a[4],a[5]);},3840914261:function _(ID,a){return new IFC4X3.IfcRelAssociatesLibrary(ID,a[0],a[1],a[2],a[3],a[4],a[5]);},2655215786:function _(ID,a){return new IFC4X3.IfcRelAssociatesMaterial(ID,a[0],a[1],a[2],a[3],a[4],a[5]);},1033248425:function _(ID,a){return new IFC4X3.IfcRelAssociatesProfileDef(ID,a[0],a[1],a[2],a[3],a[4],a[5]);},826625072:function _(ID,a){return new IFC4X3.IfcRelConnects(ID,a[0],a[1],a[2],a[3]);},1204542856:function _(ID,a){return new IFC4X3.IfcRelConnectsElements(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6]);},3945020480:function _(ID,a){return new IFC4X3.IfcRelConnectsPathElements(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9],a[10]);},4201705270:function _(ID,a){return new IFC4X3.IfcRelConnectsPortToElement(ID,a[0],a[1],a[2],a[3],a[4],a[5]);},3190031847:function _(ID,a){return new IFC4X3.IfcRelConnectsPorts(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6]);},2127690289:function _(ID,a){return new IFC4X3.IfcRelConnectsStructuralActivity(ID,a[0],a[1],a[2],a[3],a[4],a[5]);},1638771189:function _(ID,a){return new IFC4X3.IfcRelConnectsStructuralMember(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9]);},504942748:function _(ID,a){return new IFC4X3.IfcRelConnectsWithEccentricity(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9],a[10]);},3678494232:function _(ID,a){return new IFC4X3.IfcRelConnectsWithRealizingElements(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8]);},3242617779:function _(ID,a){return new IFC4X3.IfcRelContainedInSpatialStructure(ID,a[0],a[1],a[2],a[3],a[4],a[5]);},886880790:function _(ID,a){return new IFC4X3.IfcRelCoversBldgElements(ID,a[0],a[1],a[2],a[3],a[4],a[5]);},2802773753:function _(ID,a){return new IFC4X3.IfcRelCoversSpaces(ID,a[0],a[1],a[2],a[3],a[4],a[5]);},2565941209:function _(ID,a){return new IFC4X3.IfcRelDeclares(ID,a[0],a[1],a[2],a[3],a[4],a[5]);},2551354335:function _(ID,a){return new IFC4X3.IfcRelDecomposes(ID,a[0],a[1],a[2],a[3]);},693640335:function _(ID,a){return new IFC4X3.IfcRelDefines(ID,a[0],a[1],a[2],a[3]);},1462361463:function _(ID,a){return new IFC4X3.IfcRelDefinesByObject(ID,a[0],a[1],a[2],a[3],a[4],a[5]);},4186316022:function _(ID,a){return new IFC4X3.IfcRelDefinesByProperties(ID,a[0],a[1],a[2],a[3],a[4],a[5]);},307848117:function _(ID,a){return new IFC4X3.IfcRelDefinesByTemplate(ID,a[0],a[1],a[2],a[3],a[4],a[5]);},781010003:function _(ID,a){return new IFC4X3.IfcRelDefinesByType(ID,a[0],a[1],a[2],a[3],a[4],a[5]);},3940055652:function _(ID,a){return new IFC4X3.IfcRelFillsElement(ID,a[0],a[1],a[2],a[3],a[4],a[5]);},279856033:function _(ID,a){return new IFC4X3.IfcRelFlowControlElements(ID,a[0],a[1],a[2],a[3],a[4],a[5]);},427948657:function _(ID,a){return new IFC4X3.IfcRelInterferesElements(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9]);},3268803585:function _(ID,a){return new IFC4X3.IfcRelNests(ID,a[0],a[1],a[2],a[3],a[4],a[5]);},1441486842:function _(ID,a){return new IFC4X3.IfcRelPositions(ID,a[0],a[1],a[2],a[3],a[4],a[5]);},750771296:function _(ID,a){return new IFC4X3.IfcRelProjectsElement(ID,a[0],a[1],a[2],a[3],a[4],a[5]);},1245217292:function _(ID,a){return new IFC4X3.IfcRelReferencedInSpatialStructure(ID,a[0],a[1],a[2],a[3],a[4],a[5]);},4122056220:function _(ID,a){return new IFC4X3.IfcRelSequence(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8]);},366585022:function _(ID,a){return new IFC4X3.IfcRelServicesBuildings(ID,a[0],a[1],a[2],a[3],a[4],a[5]);},3451746338:function _(ID,a){return new IFC4X3.IfcRelSpaceBoundary(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8]);},3523091289:function _(ID,a){return new IFC4X3.IfcRelSpaceBoundary1stLevel(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9]);},1521410863:function _(ID,a){return new IFC4X3.IfcRelSpaceBoundary2ndLevel(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9],a[10]);},1401173127:function _(ID,a){return new IFC4X3.IfcRelVoidsElement(ID,a[0],a[1],a[2],a[3],a[4],a[5]);},816062949:function _(ID,a){return new IFC4X3.IfcReparametrisedCompositeCurveSegment(ID,a[0],a[1],a[2],a[3]);},2914609552:function _(ID,a){return new IFC4X3.IfcResource(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6]);},1856042241:function _(ID,a){return new IFC4X3.IfcRevolvedAreaSolid(ID,a[0],a[1],a[2],a[3]);},3243963512:function _(ID,a){return new IFC4X3.IfcRevolvedAreaSolidTapered(ID,a[0],a[1],a[2],a[3],a[4]);},4158566097:function _(ID,a){return new IFC4X3.IfcRightCircularCone(ID,a[0],a[1],a[2]);},3626867408:function _(ID,a){return new IFC4X3.IfcRightCircularCylinder(ID,a[0],a[1],a[2]);},1862484736:function _(ID,a){return new IFC4X3.IfcSectionedSolid(ID,a[0],a[1]);},1290935644:function _(ID,a){return new IFC4X3.IfcSectionedSolidHorizontal(ID,a[0],a[1],a[2]);},1356537516:function _(ID,a){return new IFC4X3.IfcSectionedSurface(ID,a[0],a[1],a[2]);},3663146110:function _(ID,a){return new IFC4X3.IfcSimplePropertyTemplate(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9],a[10],a[11]);},1412071761:function _(ID,a){return new IFC4X3.IfcSpatialElement(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7]);},710998568:function _(ID,a){return new IFC4X3.IfcSpatialElementType(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8]);},2706606064:function _(ID,a){return new IFC4X3.IfcSpatialStructureElement(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8]);},3893378262:function _(ID,a){return new IFC4X3.IfcSpatialStructureElementType(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8]);},463610769:function _(ID,a){return new IFC4X3.IfcSpatialZone(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8]);},2481509218:function _(ID,a){return new IFC4X3.IfcSpatialZoneType(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9],a[10]);},451544542:function _(ID,a){return new IFC4X3.IfcSphere(ID,a[0],a[1]);},4015995234:function _(ID,a){return new IFC4X3.IfcSphericalSurface(ID,a[0],a[1]);},2735484536:function _(ID,a){return new IFC4X3.IfcSpiral(ID,a[0]);},3544373492:function _(ID,a){return new IFC4X3.IfcStructuralActivity(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8]);},3136571912:function _(ID,a){return new IFC4X3.IfcStructuralItem(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6]);},530289379:function _(ID,a){return new IFC4X3.IfcStructuralMember(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6]);},3689010777:function _(ID,a){return new IFC4X3.IfcStructuralReaction(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8]);},3979015343:function _(ID,a){return new IFC4X3.IfcStructuralSurfaceMember(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8]);},2218152070:function _(ID,a){return new IFC4X3.IfcStructuralSurfaceMemberVarying(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8]);},603775116:function _(ID,a){return new IFC4X3.IfcStructuralSurfaceReaction(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9]);},4095615324:function _(ID,a){return new IFC4X3.IfcSubContractResourceType(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9],a[10],a[11]);},699246055:function _(ID,a){return new IFC4X3.IfcSurfaceCurve(ID,a[0],a[1],a[2]);},2028607225:function _(ID,a){return new IFC4X3.IfcSurfaceCurveSweptAreaSolid(ID,a[0],a[1],a[2],a[3],a[4],a[5]);},2809605785:function _(ID,a){return new IFC4X3.IfcSurfaceOfLinearExtrusion(ID,a[0],a[1],a[2],a[3]);},4124788165:function _(ID,a){return new IFC4X3.IfcSurfaceOfRevolution(ID,a[0],a[1],a[2]);},1580310250:function _(ID,a){return new IFC4X3.IfcSystemFurnitureElementType(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9]);},3473067441:function _(ID,a){return new IFC4X3.IfcTask(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9],a[10],a[11],a[12]);},3206491090:function _(ID,a){return new IFC4X3.IfcTaskType(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9],a[10]);},2387106220:function _(ID,a){return new IFC4X3.IfcTessellatedFaceSet(ID,a[0],a[1]);},782932809:function _(ID,a){return new IFC4X3.IfcThirdOrderPolynomialSpiral(ID,a[0],a[1],a[2],a[3],a[4]);},1935646853:function _(ID,a){return new IFC4X3.IfcToroidalSurface(ID,a[0],a[1],a[2]);},3665877780:function _(ID,a){return new IFC4X3.IfcTransportationDeviceType(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8]);},2916149573:function _(ID,a){return new IFC4X3.IfcTriangulatedFaceSet(ID,a[0],a[1],a[2],a[3],a[4]);},1229763772:function _(ID,a){return new IFC4X3.IfcTriangulatedIrregularNetwork(ID,a[0],a[1],a[2],a[3],a[4],a[5]);},3651464721:function _(ID,a){return new IFC4X3.IfcVehicleType(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9]);},336235671:function _(ID,a){return new IFC4X3.IfcWindowLiningProperties(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9],a[10],a[11],a[12],a[13],a[14],a[15]);},512836454:function _(ID,a){return new IFC4X3.IfcWindowPanelProperties(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8]);},2296667514:function _(ID,a){return new IFC4X3.IfcActor(ID,a[0],a[1],a[2],a[3],a[4],a[5]);},1635779807:function _(ID,a){return new IFC4X3.IfcAdvancedBrep(ID,a[0]);},2603310189:function _(ID,a){return new IFC4X3.IfcAdvancedBrepWithVoids(ID,a[0],a[1]);},1674181508:function _(ID,a){return new IFC4X3.IfcAnnotation(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7]);},2887950389:function _(ID,a){return new IFC4X3.IfcBSplineSurface(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6]);},167062518:function _(ID,a){return new IFC4X3.IfcBSplineSurfaceWithKnots(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9],a[10],a[11]);},1334484129:function _(ID,a){return new IFC4X3.IfcBlock(ID,a[0],a[1],a[2],a[3]);},3649129432:function _(ID,a){return new IFC4X3.IfcBooleanClippingResult(ID,a[0],a[1],a[2]);},1260505505:function _(ID,_146){return new IFC4X3.IfcBoundedCurve(ID);},3124254112:function _(ID,a){return new IFC4X3.IfcBuildingStorey(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9]);},1626504194:function _(ID,a){return new IFC4X3.IfcBuiltElementType(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8]);},2197970202:function _(ID,a){return new IFC4X3.IfcChimneyType(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9]);},2937912522:function _(ID,a){return new IFC4X3.IfcCircleHollowProfileDef(ID,a[0],a[1],a[2],a[3],a[4]);},3893394355:function _(ID,a){return new IFC4X3.IfcCivilElementType(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8]);},3497074424:function _(ID,a){return new IFC4X3.IfcClothoid(ID,a[0],a[1]);},300633059:function _(ID,a){return new IFC4X3.IfcColumnType(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9]);},3875453745:function _(ID,a){return new IFC4X3.IfcComplexPropertyTemplate(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6]);},3732776249:function _(ID,a){return new IFC4X3.IfcCompositeCurve(ID,a[0],a[1]);},15328376:function _(ID,a){return new IFC4X3.IfcCompositeCurveOnSurface(ID,a[0],a[1]);},2510884976:function _(ID,a){return new IFC4X3.IfcConic(ID,a[0]);},2185764099:function _(ID,a){return new IFC4X3.IfcConstructionEquipmentResourceType(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9],a[10],a[11]);},4105962743:function _(ID,a){return new IFC4X3.IfcConstructionMaterialResourceType(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9],a[10],a[11]);},1525564444:function _(ID,a){return new IFC4X3.IfcConstructionProductResourceType(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9],a[10],a[11]);},2559216714:function _(ID,a){return new IFC4X3.IfcConstructionResource(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9]);},3293443760:function _(ID,a){return new IFC4X3.IfcControl(ID,a[0],a[1],a[2],a[3],a[4],a[5]);},2000195564:function _(ID,a){return new IFC4X3.IfcCosineSpiral(ID,a[0],a[1],a[2]);},3895139033:function _(ID,a){return new IFC4X3.IfcCostItem(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8]);},1419761937:function _(ID,a){return new IFC4X3.IfcCostSchedule(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9]);},4189326743:function _(ID,a){return new IFC4X3.IfcCourseType(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9]);},1916426348:function _(ID,a){return new IFC4X3.IfcCoveringType(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9]);},3295246426:function _(ID,a){return new IFC4X3.IfcCrewResource(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9],a[10]);},1457835157:function _(ID,a){return new IFC4X3.IfcCurtainWallType(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9]);},1213902940:function _(ID,a){return new IFC4X3.IfcCylindricalSurface(ID,a[0],a[1]);},1306400036:function _(ID,a){return new IFC4X3.IfcDeepFoundationType(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8]);},4234616927:function _(ID,a){return new IFC4X3.IfcDirectrixDerivedReferenceSweptAreaSolid(ID,a[0],a[1],a[2],a[3],a[4],a[5]);},3256556792:function _(ID,a){return new IFC4X3.IfcDistributionElementType(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8]);},3849074793:function _(ID,a){return new IFC4X3.IfcDistributionFlowElementType(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8]);},2963535650:function _(ID,a){return new IFC4X3.IfcDoorLiningProperties(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9],a[10],a[11],a[12],a[13],a[14],a[15],a[16]);},1714330368:function _(ID,a){return new IFC4X3.IfcDoorPanelProperties(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8]);},2323601079:function _(ID,a){return new IFC4X3.IfcDoorType(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9],a[10],a[11],a[12]);},445594917:function _(ID,a){return new IFC4X3.IfcDraughtingPreDefinedColour(ID,a[0]);},4006246654:function _(ID,a){return new IFC4X3.IfcDraughtingPreDefinedCurveFont(ID,a[0]);},1758889154:function _(ID,a){return new IFC4X3.IfcElement(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7]);},4123344466:function _(ID,a){return new IFC4X3.IfcElementAssembly(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9]);},2397081782:function _(ID,a){return new IFC4X3.IfcElementAssemblyType(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9]);},1623761950:function _(ID,a){return new IFC4X3.IfcElementComponent(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7]);},2590856083:function _(ID,a){return new IFC4X3.IfcElementComponentType(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8]);},1704287377:function _(ID,a){return new IFC4X3.IfcEllipse(ID,a[0],a[1],a[2]);},2107101300:function _(ID,a){return new IFC4X3.IfcEnergyConversionDeviceType(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8]);},132023988:function _(ID,a){return new IFC4X3.IfcEngineType(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9]);},3174744832:function _(ID,a){return new IFC4X3.IfcEvaporativeCoolerType(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9]);},3390157468:function _(ID,a){return new IFC4X3.IfcEvaporatorType(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9]);},4148101412:function _(ID,a){return new IFC4X3.IfcEvent(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9],a[10]);},2853485674:function _(ID,a){return new IFC4X3.IfcExternalSpatialStructureElement(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7]);},807026263:function _(ID,a){return new IFC4X3.IfcFacetedBrep(ID,a[0]);},3737207727:function _(ID,a){return new IFC4X3.IfcFacetedBrepWithVoids(ID,a[0],a[1]);},24185140:function _(ID,a){return new IFC4X3.IfcFacility(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8]);},1310830890:function _(ID,a){return new IFC4X3.IfcFacilityPart(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9]);},4228831410:function _(ID,a){return new IFC4X3.IfcFacilityPartCommon(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9],a[10]);},647756555:function _(ID,a){return new IFC4X3.IfcFastener(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8]);},2489546625:function _(ID,a){return new IFC4X3.IfcFastenerType(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9]);},2827207264:function _(ID,a){return new IFC4X3.IfcFeatureElement(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7]);},2143335405:function _(ID,a){return new IFC4X3.IfcFeatureElementAddition(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7]);},1287392070:function _(ID,a){return new IFC4X3.IfcFeatureElementSubtraction(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7]);},3907093117:function _(ID,a){return new IFC4X3.IfcFlowControllerType(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8]);},3198132628:function _(ID,a){return new IFC4X3.IfcFlowFittingType(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8]);},3815607619:function _(ID,a){return new IFC4X3.IfcFlowMeterType(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9]);},1482959167:function _(ID,a){return new IFC4X3.IfcFlowMovingDeviceType(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8]);},1834744321:function _(ID,a){return new IFC4X3.IfcFlowSegmentType(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8]);},1339347760:function _(ID,a){return new IFC4X3.IfcFlowStorageDeviceType(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8]);},2297155007:function _(ID,a){return new IFC4X3.IfcFlowTerminalType(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8]);},3009222698:function _(ID,a){return new IFC4X3.IfcFlowTreatmentDeviceType(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8]);},1893162501:function _(ID,a){return new IFC4X3.IfcFootingType(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9]);},263784265:function _(ID,a){return new IFC4X3.IfcFurnishingElement(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7]);},1509553395:function _(ID,a){return new IFC4X3.IfcFurniture(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8]);},3493046030:function _(ID,a){return new IFC4X3.IfcGeographicElement(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8]);},4230923436:function _(ID,a){return new IFC4X3.IfcGeotechnicalElement(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7]);},1594536857:function _(ID,a){return new IFC4X3.IfcGeotechnicalStratum(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8]);},2898700619:function _(ID,a){return new IFC4X3.IfcGradientCurve(ID,a[0],a[1],a[2],a[3]);},2706460486:function _(ID,a){return new IFC4X3.IfcGroup(ID,a[0],a[1],a[2],a[3],a[4]);},1251058090:function _(ID,a){return new IFC4X3.IfcHeatExchangerType(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9]);},1806887404:function _(ID,a){return new IFC4X3.IfcHumidifierType(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9]);},2568555532:function _(ID,a){return new IFC4X3.IfcImpactProtectionDevice(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8]);},3948183225:function _(ID,a){return new IFC4X3.IfcImpactProtectionDeviceType(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9]);},2571569899:function _(ID,a){return new IFC4X3.IfcIndexedPolyCurve(ID,a[0],a[1],a[2]);},3946677679:function _(ID,a){return new IFC4X3.IfcInterceptorType(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9]);},3113134337:function _(ID,a){return new IFC4X3.IfcIntersectionCurve(ID,a[0],a[1],a[2]);},2391368822:function _(ID,a){return new IFC4X3.IfcInventory(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9],a[10]);},4288270099:function _(ID,a){return new IFC4X3.IfcJunctionBoxType(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9]);},679976338:function _(ID,a){return new IFC4X3.IfcKerbType(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9]);},3827777499:function _(ID,a){return new IFC4X3.IfcLaborResource(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9],a[10]);},1051575348:function _(ID,a){return new IFC4X3.IfcLampType(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9]);},1161773419:function _(ID,a){return new IFC4X3.IfcLightFixtureType(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9]);},2176059722:function _(ID,a){return new IFC4X3.IfcLinearElement(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6]);},1770583370:function _(ID,a){return new IFC4X3.IfcLiquidTerminalType(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9]);},525669439:function _(ID,a){return new IFC4X3.IfcMarineFacility(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9]);},976884017:function _(ID,a){return new IFC4X3.IfcMarinePart(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9],a[10]);},377706215:function _(ID,a){return new IFC4X3.IfcMechanicalFastener(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9],a[10]);},2108223431:function _(ID,a){return new IFC4X3.IfcMechanicalFastenerType(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9],a[10],a[11]);},1114901282:function _(ID,a){return new IFC4X3.IfcMedicalDeviceType(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9]);},3181161470:function _(ID,a){return new IFC4X3.IfcMemberType(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9]);},1950438474:function _(ID,a){return new IFC4X3.IfcMobileTelecommunicationsApplianceType(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9]);},710110818:function _(ID,a){return new IFC4X3.IfcMooringDeviceType(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9]);},977012517:function _(ID,a){return new IFC4X3.IfcMotorConnectionType(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9]);},506776471:function _(ID,a){return new IFC4X3.IfcNavigationElementType(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9]);},4143007308:function _(ID,a){return new IFC4X3.IfcOccupant(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6]);},3588315303:function _(ID,a){return new IFC4X3.IfcOpeningElement(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8]);},2837617999:function _(ID,a){return new IFC4X3.IfcOutletType(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9]);},514975943:function _(ID,a){return new IFC4X3.IfcPavementType(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9]);},2382730787:function _(ID,a){return new IFC4X3.IfcPerformanceHistory(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7]);},3566463478:function _(ID,a){return new IFC4X3.IfcPermeableCoveringProperties(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8]);},3327091369:function _(ID,a){return new IFC4X3.IfcPermit(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8]);},1158309216:function _(ID,a){return new IFC4X3.IfcPileType(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9]);},804291784:function _(ID,a){return new IFC4X3.IfcPipeFittingType(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9]);},4231323485:function _(ID,a){return new IFC4X3.IfcPipeSegmentType(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9]);},4017108033:function _(ID,a){return new IFC4X3.IfcPlateType(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9]);},2839578677:function _(ID,a){return new IFC4X3.IfcPolygonalFaceSet(ID,a[0],a[1],a[2],a[3]);},3724593414:function _(ID,a){return new IFC4X3.IfcPolyline(ID,a[0]);},3740093272:function _(ID,a){return new IFC4X3.IfcPort(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6]);},1946335990:function _(ID,a){return new IFC4X3.IfcPositioningElement(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6]);},2744685151:function _(ID,a){return new IFC4X3.IfcProcedure(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7]);},2904328755:function _(ID,a){return new IFC4X3.IfcProjectOrder(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8]);},3651124850:function _(ID,a){return new IFC4X3.IfcProjectionElement(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8]);},1842657554:function _(ID,a){return new IFC4X3.IfcProtectiveDeviceType(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9]);},2250791053:function _(ID,a){return new IFC4X3.IfcPumpType(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9]);},1763565496:function _(ID,a){return new IFC4X3.IfcRailType(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9]);},2893384427:function _(ID,a){return new IFC4X3.IfcRailingType(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9]);},3992365140:function _(ID,a){return new IFC4X3.IfcRailway(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9]);},1891881377:function _(ID,a){return new IFC4X3.IfcRailwayPart(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9],a[10]);},2324767716:function _(ID,a){return new IFC4X3.IfcRampFlightType(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9]);},1469900589:function _(ID,a){return new IFC4X3.IfcRampType(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9]);},683857671:function _(ID,a){return new IFC4X3.IfcRationalBSplineSurfaceWithKnots(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9],a[10],a[11],a[12]);},4021432810:function _(ID,a){return new IFC4X3.IfcReferent(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7]);},3027567501:function _(ID,a){return new IFC4X3.IfcReinforcingElement(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8]);},964333572:function _(ID,a){return new IFC4X3.IfcReinforcingElementType(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8]);},2320036040:function _(ID,a){return new IFC4X3.IfcReinforcingMesh(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9],a[10],a[11],a[12],a[13],a[14],a[15],a[16],a[17]);},2310774935:function _(ID,a){return new IFC4X3.IfcReinforcingMeshType(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9],a[10],a[11],a[12],a[13],a[14],a[15],a[16],a[17],a[18],a[19]);},3818125796:function _(ID,a){return new IFC4X3.IfcRelAdheresToElement(ID,a[0],a[1],a[2],a[3],a[4],a[5]);},160246688:function _(ID,a){return new IFC4X3.IfcRelAggregates(ID,a[0],a[1],a[2],a[3],a[4],a[5]);},146592293:function _(ID,a){return new IFC4X3.IfcRoad(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9]);},550521510:function _(ID,a){return new IFC4X3.IfcRoadPart(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9],a[10]);},2781568857:function _(ID,a){return new IFC4X3.IfcRoofType(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9]);},1768891740:function _(ID,a){return new IFC4X3.IfcSanitaryTerminalType(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9]);},2157484638:function _(ID,a){return new IFC4X3.IfcSeamCurve(ID,a[0],a[1],a[2]);},3649235739:function _(ID,a){return new IFC4X3.IfcSecondOrderPolynomialSpiral(ID,a[0],a[1],a[2],a[3]);},544395925:function _(ID,a){return new IFC4X3.IfcSegmentedReferenceCurve(ID,a[0],a[1],a[2],a[3]);},1027922057:function _(ID,a){return new IFC4X3.IfcSeventhOrderPolynomialSpiral(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8]);},4074543187:function _(ID,a){return new IFC4X3.IfcShadingDeviceType(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9]);},33720170:function _(ID,a){return new IFC4X3.IfcSign(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8]);},3599934289:function _(ID,a){return new IFC4X3.IfcSignType(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9]);},1894708472:function _(ID,a){return new IFC4X3.IfcSignalType(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9]);},42703149:function _(ID,a){return new IFC4X3.IfcSineSpiral(ID,a[0],a[1],a[2],a[3]);},4097777520:function _(ID,a){return new IFC4X3.IfcSite(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9],a[10],a[11],a[12],a[13]);},2533589738:function _(ID,a){return new IFC4X3.IfcSlabType(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9]);},1072016465:function _(ID,a){return new IFC4X3.IfcSolarDeviceType(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9]);},3856911033:function _(ID,a){return new IFC4X3.IfcSpace(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9],a[10]);},1305183839:function _(ID,a){return new IFC4X3.IfcSpaceHeaterType(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9]);},3812236995:function _(ID,a){return new IFC4X3.IfcSpaceType(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9],a[10]);},3112655638:function _(ID,a){return new IFC4X3.IfcStackTerminalType(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9]);},1039846685:function _(ID,a){return new IFC4X3.IfcStairFlightType(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9]);},338393293:function _(ID,a){return new IFC4X3.IfcStairType(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9]);},682877961:function _(ID,a){return new IFC4X3.IfcStructuralAction(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9]);},1179482911:function _(ID,a){return new IFC4X3.IfcStructuralConnection(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7]);},1004757350:function _(ID,a){return new IFC4X3.IfcStructuralCurveAction(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9],a[10],a[11]);},4243806635:function _(ID,a){return new IFC4X3.IfcStructuralCurveConnection(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8]);},214636428:function _(ID,a){return new IFC4X3.IfcStructuralCurveMember(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8]);},2445595289:function _(ID,a){return new IFC4X3.IfcStructuralCurveMemberVarying(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8]);},2757150158:function _(ID,a){return new IFC4X3.IfcStructuralCurveReaction(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9]);},1807405624:function _(ID,a){return new IFC4X3.IfcStructuralLinearAction(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9],a[10],a[11]);},1252848954:function _(ID,a){return new IFC4X3.IfcStructuralLoadGroup(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9]);},2082059205:function _(ID,a){return new IFC4X3.IfcStructuralPointAction(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9]);},734778138:function _(ID,a){return new IFC4X3.IfcStructuralPointConnection(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8]);},1235345126:function _(ID,a){return new IFC4X3.IfcStructuralPointReaction(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8]);},2986769608:function _(ID,a){return new IFC4X3.IfcStructuralResultGroup(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7]);},3657597509:function _(ID,a){return new IFC4X3.IfcStructuralSurfaceAction(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9],a[10],a[11]);},1975003073:function _(ID,a){return new IFC4X3.IfcStructuralSurfaceConnection(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7]);},148013059:function _(ID,a){return new IFC4X3.IfcSubContractResource(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9],a[10]);},3101698114:function _(ID,a){return new IFC4X3.IfcSurfaceFeature(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8]);},2315554128:function _(ID,a){return new IFC4X3.IfcSwitchingDeviceType(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9]);},2254336722:function _(ID,a){return new IFC4X3.IfcSystem(ID,a[0],a[1],a[2],a[3],a[4]);},413509423:function _(ID,a){return new IFC4X3.IfcSystemFurnitureElement(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8]);},5716631:function _(ID,a){return new IFC4X3.IfcTankType(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9]);},3824725483:function _(ID,a){return new IFC4X3.IfcTendon(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9],a[10],a[11],a[12],a[13],a[14],a[15],a[16]);},2347447852:function _(ID,a){return new IFC4X3.IfcTendonAnchor(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9]);},3081323446:function _(ID,a){return new IFC4X3.IfcTendonAnchorType(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9]);},3663046924:function _(ID,a){return new IFC4X3.IfcTendonConduit(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9]);},2281632017:function _(ID,a){return new IFC4X3.IfcTendonConduitType(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9]);},2415094496:function _(ID,a){return new IFC4X3.IfcTendonType(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9],a[10],a[11],a[12]);},618700268:function _(ID,a){return new IFC4X3.IfcTrackElementType(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9]);},1692211062:function _(ID,a){return new IFC4X3.IfcTransformerType(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9]);},2097647324:function _(ID,a){return new IFC4X3.IfcTransportElementType(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9]);},1953115116:function _(ID,a){return new IFC4X3.IfcTransportationDevice(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7]);},3593883385:function _(ID,a){return new IFC4X3.IfcTrimmedCurve(ID,a[0],a[1],a[2],a[3],a[4]);},1600972822:function _(ID,a){return new IFC4X3.IfcTubeBundleType(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9]);},1911125066:function _(ID,a){return new IFC4X3.IfcUnitaryEquipmentType(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9]);},728799441:function _(ID,a){return new IFC4X3.IfcValveType(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9]);},840318589:function _(ID,a){return new IFC4X3.IfcVehicle(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8]);},1530820697:function _(ID,a){return new IFC4X3.IfcVibrationDamper(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8]);},3956297820:function _(ID,a){return new IFC4X3.IfcVibrationDamperType(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9]);},2391383451:function _(ID,a){return new IFC4X3.IfcVibrationIsolator(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8]);},3313531582:function _(ID,a){return new IFC4X3.IfcVibrationIsolatorType(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9]);},2769231204:function _(ID,a){return new IFC4X3.IfcVirtualElement(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8]);},926996030:function _(ID,a){return new IFC4X3.IfcVoidingFeature(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8]);},1898987631:function _(ID,a){return new IFC4X3.IfcWallType(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9]);},1133259667:function _(ID,a){return new IFC4X3.IfcWasteTerminalType(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9]);},4009809668:function _(ID,a){return new IFC4X3.IfcWindowType(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9],a[10],a[11],a[12]);},4088093105:function _(ID,a){return new IFC4X3.IfcWorkCalendar(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8]);},1028945134:function _(ID,a){return new IFC4X3.IfcWorkControl(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9],a[10],a[11],a[12]);},4218914973:function _(ID,a){return new IFC4X3.IfcWorkPlan(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9],a[10],a[11],a[12],a[13]);},3342526732:function _(ID,a){return new IFC4X3.IfcWorkSchedule(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9],a[10],a[11],a[12],a[13]);},1033361043:function _(ID,a){return new IFC4X3.IfcZone(ID,a[0],a[1],a[2],a[3],a[4],a[5]);},3821786052:function _(ID,a){return new IFC4X3.IfcActionRequest(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8]);},1411407467:function _(ID,a){return new IFC4X3.IfcAirTerminalBoxType(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9]);},3352864051:function _(ID,a){return new IFC4X3.IfcAirTerminalType(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9]);},1871374353:function _(ID,a){return new IFC4X3.IfcAirToAirHeatRecoveryType(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9]);},4266260250:function _(ID,a){return new IFC4X3.IfcAlignmentCant(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7]);},1545765605:function _(ID,a){return new IFC4X3.IfcAlignmentHorizontal(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6]);},317615605:function _(ID,a){return new IFC4X3.IfcAlignmentSegment(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7]);},1662888072:function _(ID,a){return new IFC4X3.IfcAlignmentVertical(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6]);},3460190687:function _(ID,a){return new IFC4X3.IfcAsset(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9],a[10],a[11],a[12],a[13]);},1532957894:function _(ID,a){return new IFC4X3.IfcAudioVisualApplianceType(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9]);},1967976161:function _(ID,a){return new IFC4X3.IfcBSplineCurve(ID,a[0],a[1],a[2],a[3],a[4]);},2461110595:function _(ID,a){return new IFC4X3.IfcBSplineCurveWithKnots(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7]);},819618141:function _(ID,a){return new IFC4X3.IfcBeamType(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9]);},3649138523:function _(ID,a){return new IFC4X3.IfcBearingType(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9]);},231477066:function _(ID,a){return new IFC4X3.IfcBoilerType(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9]);},1136057603:function _(ID,a){return new IFC4X3.IfcBoundaryCurve(ID,a[0],a[1]);},644574406:function _(ID,a){return new IFC4X3.IfcBridge(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9]);},963979645:function _(ID,a){return new IFC4X3.IfcBridgePart(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9],a[10]);},4031249490:function _(ID,a){return new IFC4X3.IfcBuilding(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9],a[10],a[11]);},2979338954:function _(ID,a){return new IFC4X3.IfcBuildingElementPart(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8]);},39481116:function _(ID,a){return new IFC4X3.IfcBuildingElementPartType(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9]);},1909888760:function _(ID,a){return new IFC4X3.IfcBuildingElementProxyType(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9]);},1177604601:function _(ID,a){return new IFC4X3.IfcBuildingSystem(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6]);},1876633798:function _(ID,a){return new IFC4X3.IfcBuiltElement(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7]);},3862327254:function _(ID,a){return new IFC4X3.IfcBuiltSystem(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6]);},2188180465:function _(ID,a){return new IFC4X3.IfcBurnerType(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9]);},395041908:function _(ID,a){return new IFC4X3.IfcCableCarrierFittingType(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9]);},3293546465:function _(ID,a){return new IFC4X3.IfcCableCarrierSegmentType(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9]);},2674252688:function _(ID,a){return new IFC4X3.IfcCableFittingType(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9]);},1285652485:function _(ID,a){return new IFC4X3.IfcCableSegmentType(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9]);},3203706013:function _(ID,a){return new IFC4X3.IfcCaissonFoundationType(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9]);},2951183804:function _(ID,a){return new IFC4X3.IfcChillerType(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9]);},3296154744:function _(ID,a){return new IFC4X3.IfcChimney(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8]);},2611217952:function _(ID,a){return new IFC4X3.IfcCircle(ID,a[0],a[1]);},1677625105:function _(ID,a){return new IFC4X3.IfcCivilElement(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7]);},2301859152:function _(ID,a){return new IFC4X3.IfcCoilType(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9]);},843113511:function _(ID,a){return new IFC4X3.IfcColumn(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8]);},400855858:function _(ID,a){return new IFC4X3.IfcCommunicationsApplianceType(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9]);},3850581409:function _(ID,a){return new IFC4X3.IfcCompressorType(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9]);},2816379211:function _(ID,a){return new IFC4X3.IfcCondenserType(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9]);},3898045240:function _(ID,a){return new IFC4X3.IfcConstructionEquipmentResource(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9],a[10]);},1060000209:function _(ID,a){return new IFC4X3.IfcConstructionMaterialResource(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9],a[10]);},488727124:function _(ID,a){return new IFC4X3.IfcConstructionProductResource(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9],a[10]);},2940368186:function _(ID,a){return new IFC4X3.IfcConveyorSegmentType(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9]);},335055490:function _(ID,a){return new IFC4X3.IfcCooledBeamType(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9]);},2954562838:function _(ID,a){return new IFC4X3.IfcCoolingTowerType(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9]);},1502416096:function _(ID,a){return new IFC4X3.IfcCourse(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8]);},1973544240:function _(ID,a){return new IFC4X3.IfcCovering(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8]);},3495092785:function _(ID,a){return new IFC4X3.IfcCurtainWall(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8]);},3961806047:function _(ID,a){return new IFC4X3.IfcDamperType(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9]);},3426335179:function _(ID,a){return new IFC4X3.IfcDeepFoundation(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7]);},1335981549:function _(ID,a){return new IFC4X3.IfcDiscreteAccessory(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8]);},2635815018:function _(ID,a){return new IFC4X3.IfcDiscreteAccessoryType(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9]);},479945903:function _(ID,a){return new IFC4X3.IfcDistributionBoardType(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9]);},1599208980:function _(ID,a){return new IFC4X3.IfcDistributionChamberElementType(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9]);},2063403501:function _(ID,a){return new IFC4X3.IfcDistributionControlElementType(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8]);},1945004755:function _(ID,a){return new IFC4X3.IfcDistributionElement(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7]);},3040386961:function _(ID,a){return new IFC4X3.IfcDistributionFlowElement(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7]);},3041715199:function _(ID,a){return new IFC4X3.IfcDistributionPort(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9]);},3205830791:function _(ID,a){return new IFC4X3.IfcDistributionSystem(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6]);},395920057:function _(ID,a){return new IFC4X3.IfcDoor(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9],a[10],a[11],a[12]);},869906466:function _(ID,a){return new IFC4X3.IfcDuctFittingType(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9]);},3760055223:function _(ID,a){return new IFC4X3.IfcDuctSegmentType(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9]);},2030761528:function _(ID,a){return new IFC4X3.IfcDuctSilencerType(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9]);},3071239417:function _(ID,a){return new IFC4X3.IfcEarthworksCut(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8]);},1077100507:function _(ID,a){return new IFC4X3.IfcEarthworksElement(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7]);},3376911765:function _(ID,a){return new IFC4X3.IfcEarthworksFill(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8]);},663422040:function _(ID,a){return new IFC4X3.IfcElectricApplianceType(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9]);},2417008758:function _(ID,a){return new IFC4X3.IfcElectricDistributionBoardType(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9]);},3277789161:function _(ID,a){return new IFC4X3.IfcElectricFlowStorageDeviceType(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9]);},2142170206:function _(ID,a){return new IFC4X3.IfcElectricFlowTreatmentDeviceType(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9]);},1534661035:function _(ID,a){return new IFC4X3.IfcElectricGeneratorType(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9]);},1217240411:function _(ID,a){return new IFC4X3.IfcElectricMotorType(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9]);},712377611:function _(ID,a){return new IFC4X3.IfcElectricTimeControlType(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9]);},1658829314:function _(ID,a){return new IFC4X3.IfcEnergyConversionDevice(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7]);},2814081492:function _(ID,a){return new IFC4X3.IfcEngine(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8]);},3747195512:function _(ID,a){return new IFC4X3.IfcEvaporativeCooler(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8]);},484807127:function _(ID,a){return new IFC4X3.IfcEvaporator(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8]);},1209101575:function _(ID,a){return new IFC4X3.IfcExternalSpatialElement(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8]);},346874300:function _(ID,a){return new IFC4X3.IfcFanType(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9]);},1810631287:function _(ID,a){return new IFC4X3.IfcFilterType(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9]);},4222183408:function _(ID,a){return new IFC4X3.IfcFireSuppressionTerminalType(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9]);},2058353004:function _(ID,a){return new IFC4X3.IfcFlowController(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7]);},4278956645:function _(ID,a){return new IFC4X3.IfcFlowFitting(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7]);},4037862832:function _(ID,a){return new IFC4X3.IfcFlowInstrumentType(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9]);},2188021234:function _(ID,a){return new IFC4X3.IfcFlowMeter(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8]);},3132237377:function _(ID,a){return new IFC4X3.IfcFlowMovingDevice(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7]);},987401354:function _(ID,a){return new IFC4X3.IfcFlowSegment(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7]);},707683696:function _(ID,a){return new IFC4X3.IfcFlowStorageDevice(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7]);},2223149337:function _(ID,a){return new IFC4X3.IfcFlowTerminal(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7]);},3508470533:function _(ID,a){return new IFC4X3.IfcFlowTreatmentDevice(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7]);},900683007:function _(ID,a){return new IFC4X3.IfcFooting(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8]);},2713699986:function _(ID,a){return new IFC4X3.IfcGeotechnicalAssembly(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7]);},3009204131:function _(ID,a){return new IFC4X3.IfcGrid(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9],a[10]);},3319311131:function _(ID,a){return new IFC4X3.IfcHeatExchanger(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8]);},2068733104:function _(ID,a){return new IFC4X3.IfcHumidifier(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8]);},4175244083:function _(ID,a){return new IFC4X3.IfcInterceptor(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8]);},2176052936:function _(ID,a){return new IFC4X3.IfcJunctionBox(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8]);},2696325953:function _(ID,a){return new IFC4X3.IfcKerb(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8]);},76236018:function _(ID,a){return new IFC4X3.IfcLamp(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8]);},629592764:function _(ID,a){return new IFC4X3.IfcLightFixture(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8]);},1154579445:function _(ID,a){return new IFC4X3.IfcLinearPositioningElement(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6]);},1638804497:function _(ID,a){return new IFC4X3.IfcLiquidTerminal(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8]);},1437502449:function _(ID,a){return new IFC4X3.IfcMedicalDevice(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8]);},1073191201:function _(ID,a){return new IFC4X3.IfcMember(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8]);},2078563270:function _(ID,a){return new IFC4X3.IfcMobileTelecommunicationsAppliance(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8]);},234836483:function _(ID,a){return new IFC4X3.IfcMooringDevice(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8]);},2474470126:function _(ID,a){return new IFC4X3.IfcMotorConnection(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8]);},2182337498:function _(ID,a){return new IFC4X3.IfcNavigationElement(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8]);},144952367:function _(ID,a){return new IFC4X3.IfcOuterBoundaryCurve(ID,a[0],a[1]);},3694346114:function _(ID,a){return new IFC4X3.IfcOutlet(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8]);},1383356374:function _(ID,a){return new IFC4X3.IfcPavement(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8]);},1687234759:function _(ID,a){return new IFC4X3.IfcPile(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9]);},310824031:function _(ID,a){return new IFC4X3.IfcPipeFitting(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8]);},3612865200:function _(ID,a){return new IFC4X3.IfcPipeSegment(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8]);},3171933400:function _(ID,a){return new IFC4X3.IfcPlate(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8]);},738039164:function _(ID,a){return new IFC4X3.IfcProtectiveDevice(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8]);},655969474:function _(ID,a){return new IFC4X3.IfcProtectiveDeviceTrippingUnitType(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9]);},90941305:function _(ID,a){return new IFC4X3.IfcPump(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8]);},3290496277:function _(ID,a){return new IFC4X3.IfcRail(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8]);},2262370178:function _(ID,a){return new IFC4X3.IfcRailing(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8]);},3024970846:function _(ID,a){return new IFC4X3.IfcRamp(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8]);},3283111854:function _(ID,a){return new IFC4X3.IfcRampFlight(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8]);},1232101972:function _(ID,a){return new IFC4X3.IfcRationalBSplineCurveWithKnots(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8]);},3798194928:function _(ID,a){return new IFC4X3.IfcReinforcedSoil(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8]);},979691226:function _(ID,a){return new IFC4X3.IfcReinforcingBar(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9],a[10],a[11],a[12],a[13]);},2572171363:function _(ID,a){return new IFC4X3.IfcReinforcingBarType(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9],a[10],a[11],a[12],a[13],a[14],a[15]);},2016517767:function _(ID,a){return new IFC4X3.IfcRoof(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8]);},3053780830:function _(ID,a){return new IFC4X3.IfcSanitaryTerminal(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8]);},1783015770:function _(ID,a){return new IFC4X3.IfcSensorType(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9]);},1329646415:function _(ID,a){return new IFC4X3.IfcShadingDevice(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8]);},991950508:function _(ID,a){return new IFC4X3.IfcSignal(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8]);},1529196076:function _(ID,a){return new IFC4X3.IfcSlab(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8]);},3420628829:function _(ID,a){return new IFC4X3.IfcSolarDevice(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8]);},1999602285:function _(ID,a){return new IFC4X3.IfcSpaceHeater(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8]);},1404847402:function _(ID,a){return new IFC4X3.IfcStackTerminal(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8]);},331165859:function _(ID,a){return new IFC4X3.IfcStair(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8]);},4252922144:function _(ID,a){return new IFC4X3.IfcStairFlight(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9],a[10],a[11],a[12]);},2515109513:function _(ID,a){return new IFC4X3.IfcStructuralAnalysisModel(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9]);},385403989:function _(ID,a){return new IFC4X3.IfcStructuralLoadCase(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9],a[10]);},1621171031:function _(ID,a){return new IFC4X3.IfcStructuralPlanarAction(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9],a[10],a[11]);},1162798199:function _(ID,a){return new IFC4X3.IfcSwitchingDevice(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8]);},812556717:function _(ID,a){return new IFC4X3.IfcTank(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8]);},3425753595:function _(ID,a){return new IFC4X3.IfcTrackElement(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8]);},3825984169:function _(ID,a){return new IFC4X3.IfcTransformer(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8]);},1620046519:function _(ID,a){return new IFC4X3.IfcTransportElement(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8]);},3026737570:function _(ID,a){return new IFC4X3.IfcTubeBundle(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8]);},3179687236:function _(ID,a){return new IFC4X3.IfcUnitaryControlElementType(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9]);},4292641817:function _(ID,a){return new IFC4X3.IfcUnitaryEquipment(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8]);},4207607924:function _(ID,a){return new IFC4X3.IfcValve(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8]);},2391406946:function _(ID,a){return new IFC4X3.IfcWall(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8]);},3512223829:function _(ID,a){return new IFC4X3.IfcWallStandardCase(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8]);},4237592921:function _(ID,a){return new IFC4X3.IfcWasteTerminal(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8]);},3304561284:function _(ID,a){return new IFC4X3.IfcWindow(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9],a[10],a[11],a[12]);},2874132201:function _(ID,a){return new IFC4X3.IfcActuatorType(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9]);},1634111441:function _(ID,a){return new IFC4X3.IfcAirTerminal(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8]);},177149247:function _(ID,a){return new IFC4X3.IfcAirTerminalBox(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8]);},2056796094:function _(ID,a){return new IFC4X3.IfcAirToAirHeatRecovery(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8]);},3001207471:function _(ID,a){return new IFC4X3.IfcAlarmType(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9]);},325726236:function _(ID,a){return new IFC4X3.IfcAlignment(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7]);},277319702:function _(ID,a){return new IFC4X3.IfcAudioVisualAppliance(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8]);},753842376:function _(ID,a){return new IFC4X3.IfcBeam(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8]);},4196446775:function _(ID,a){return new IFC4X3.IfcBearing(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8]);},32344328:function _(ID,a){return new IFC4X3.IfcBoiler(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8]);},3314249567:function _(ID,a){return new IFC4X3.IfcBorehole(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7]);},1095909175:function _(ID,a){return new IFC4X3.IfcBuildingElementProxy(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8]);},2938176219:function _(ID,a){return new IFC4X3.IfcBurner(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8]);},635142910:function _(ID,a){return new IFC4X3.IfcCableCarrierFitting(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8]);},3758799889:function _(ID,a){return new IFC4X3.IfcCableCarrierSegment(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8]);},1051757585:function _(ID,a){return new IFC4X3.IfcCableFitting(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8]);},4217484030:function _(ID,a){return new IFC4X3.IfcCableSegment(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8]);},3999819293:function _(ID,a){return new IFC4X3.IfcCaissonFoundation(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8]);},3902619387:function _(ID,a){return new IFC4X3.IfcChiller(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8]);},639361253:function _(ID,a){return new IFC4X3.IfcCoil(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8]);},3221913625:function _(ID,a){return new IFC4X3.IfcCommunicationsAppliance(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8]);},3571504051:function _(ID,a){return new IFC4X3.IfcCompressor(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8]);},2272882330:function _(ID,a){return new IFC4X3.IfcCondenser(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8]);},578613899:function _(ID,a){return new IFC4X3.IfcControllerType(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9]);},3460952963:function _(ID,a){return new IFC4X3.IfcConveyorSegment(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8]);},4136498852:function _(ID,a){return new IFC4X3.IfcCooledBeam(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8]);},3640358203:function _(ID,a){return new IFC4X3.IfcCoolingTower(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8]);},4074379575:function _(ID,a){return new IFC4X3.IfcDamper(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8]);},3693000487:function _(ID,a){return new IFC4X3.IfcDistributionBoard(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8]);},1052013943:function _(ID,a){return new IFC4X3.IfcDistributionChamberElement(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8]);},562808652:function _(ID,a){return new IFC4X3.IfcDistributionCircuit(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6]);},1062813311:function _(ID,a){return new IFC4X3.IfcDistributionControlElement(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7]);},342316401:function _(ID,a){return new IFC4X3.IfcDuctFitting(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8]);},3518393246:function _(ID,a){return new IFC4X3.IfcDuctSegment(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8]);},1360408905:function _(ID,a){return new IFC4X3.IfcDuctSilencer(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8]);},1904799276:function _(ID,a){return new IFC4X3.IfcElectricAppliance(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8]);},862014818:function _(ID,a){return new IFC4X3.IfcElectricDistributionBoard(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8]);},3310460725:function _(ID,a){return new IFC4X3.IfcElectricFlowStorageDevice(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8]);},24726584:function _(ID,a){return new IFC4X3.IfcElectricFlowTreatmentDevice(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8]);},264262732:function _(ID,a){return new IFC4X3.IfcElectricGenerator(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8]);},402227799:function _(ID,a){return new IFC4X3.IfcElectricMotor(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8]);},1003880860:function _(ID,a){return new IFC4X3.IfcElectricTimeControl(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8]);},3415622556:function _(ID,a){return new IFC4X3.IfcFan(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8]);},819412036:function _(ID,a){return new IFC4X3.IfcFilter(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8]);},1426591983:function _(ID,a){return new IFC4X3.IfcFireSuppressionTerminal(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8]);},182646315:function _(ID,a){return new IFC4X3.IfcFlowInstrument(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8]);},2680139844:function _(ID,a){return new IFC4X3.IfcGeomodel(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7]);},1971632696:function _(ID,a){return new IFC4X3.IfcGeoslice(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7]);},2295281155:function _(ID,a){return new IFC4X3.IfcProtectiveDeviceTrippingUnit(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8]);},4086658281:function _(ID,a){return new IFC4X3.IfcSensor(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8]);},630975310:function _(ID,a){return new IFC4X3.IfcUnitaryControlElement(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8]);},4288193352:function _(ID,a){return new IFC4X3.IfcActuator(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8]);},3087945054:function _(ID,a){return new IFC4X3.IfcAlarm(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8]);},25142252:function _(ID,a){return new IFC4X3.IfcController(ID,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8]);}};ToRawLineData[3]={3630933823:function _(i){return[i.Role,i.UserDefinedRole,i.Description];},618182010:function _(i){return[i.Purpose,i.Description,i.UserDefinedPurpose];},2879124712:function _(i){return[i.StartTag,i.EndTag];},3633395639:function _(i){return[i.StartTag,i.EndTag,i.StartDistAlong,i.HorizontalLength,i.StartHeight,i.StartGradient,i.EndGradient,i.RadiusOfCurvature,i.PredefinedType];},639542469:function _(i){return[i.ApplicationDeveloper,i.Version,i.ApplicationFullName,i.ApplicationIdentifier];},411424972:function _(i){return[i.Name,i.Description,i.AppliedValue,i.UnitBasis,i.ApplicableDate,i.FixedUntilDate,i.Category,i.Condition,i.ArithmeticOperator,i.Components];},130549933:function _(i){return[i.Identifier,i.Name,i.Description,i.TimeOfApproval,i.Status,i.Level,i.Qualifier,i.RequestingApproval,i.GivingApproval];},4037036970:function _(i){return[i.Name];},1560379544:function _(i){return[i.Name,!i.TranslationalStiffnessByLengthX?null:Labelise(i.TranslationalStiffnessByLengthX),!i.TranslationalStiffnessByLengthY?null:Labelise(i.TranslationalStiffnessByLengthY),!i.TranslationalStiffnessByLengthZ?null:Labelise(i.TranslationalStiffnessByLengthZ),!i.RotationalStiffnessByLengthX?null:Labelise(i.RotationalStiffnessByLengthX),!i.RotationalStiffnessByLengthY?null:Labelise(i.RotationalStiffnessByLengthY),!i.RotationalStiffnessByLengthZ?null:Labelise(i.RotationalStiffnessByLengthZ)];},3367102660:function _(i){return[i.Name,!i.TranslationalStiffnessByAreaX?null:Labelise(i.TranslationalStiffnessByAreaX),!i.TranslationalStiffnessByAreaY?null:Labelise(i.TranslationalStiffnessByAreaY),!i.TranslationalStiffnessByAreaZ?null:Labelise(i.TranslationalStiffnessByAreaZ)];},1387855156:function _(i){return[i.Name,!i.TranslationalStiffnessX?null:Labelise(i.TranslationalStiffnessX),!i.TranslationalStiffnessY?null:Labelise(i.TranslationalStiffnessY),!i.TranslationalStiffnessZ?null:Labelise(i.TranslationalStiffnessZ),!i.RotationalStiffnessX?null:Labelise(i.RotationalStiffnessX),!i.RotationalStiffnessY?null:Labelise(i.RotationalStiffnessY),!i.RotationalStiffnessZ?null:Labelise(i.RotationalStiffnessZ)];},2069777674:function _(i){return[i.Name,!i.TranslationalStiffnessX?null:Labelise(i.TranslationalStiffnessX),!i.TranslationalStiffnessY?null:Labelise(i.TranslationalStiffnessY),!i.TranslationalStiffnessZ?null:Labelise(i.TranslationalStiffnessZ),!i.RotationalStiffnessX?null:Labelise(i.RotationalStiffnessX),!i.RotationalStiffnessY?null:Labelise(i.RotationalStiffnessY),!i.RotationalStiffnessZ?null:Labelise(i.RotationalStiffnessZ),!i.WarpingStiffness?null:Labelise(i.WarpingStiffness)];},2859738748:function _(_147){return[];},2614616156:function _(i){return[i.PointOnRelatingElement,i.PointOnRelatedElement];},2732653382:function _(i){return[i.SurfaceOnRelatingElement,i.SurfaceOnRelatedElement];},775493141:function _(i){return[i.VolumeOnRelatingElement,i.VolumeOnRelatedElement];},1959218052:function _(i){return[i.Name,i.Description,i.ConstraintGrade,i.ConstraintSource,i.CreatingActor,i.CreationTime,i.UserDefinedGrade];},1785450214:function _(i){return[i.SourceCRS,i.TargetCRS];},1466758467:function _(i){return[i.Name,i.Description,i.GeodeticDatum,i.VerticalDatum];},602808272:function _(i){return[i.Name,i.Description,i.AppliedValue,i.UnitBasis,i.ApplicableDate,i.FixedUntilDate,i.Category,i.Condition,i.ArithmeticOperator,i.Components];},1765591967:function _(i){return[i.Elements,i.UnitType,i.UserDefinedType,i.Name];},1045800335:function _(i){return[i.Unit,i.Exponent];},2949456006:function _(i){return[i.LengthExponent,i.MassExponent,i.TimeExponent,i.ElectricCurrentExponent,i.ThermodynamicTemperatureExponent,i.AmountOfSubstanceExponent,i.LuminousIntensityExponent];},4294318154:function _(_148){return[];},3200245327:function _(i){return[i.Location,i.Identification,i.Name];},2242383968:function _(i){return[i.Location,i.Identification,i.Name];},1040185647:function _(i){return[i.Location,i.Identification,i.Name];},3548104201:function _(i){return[i.Location,i.Identification,i.Name];},852622518:function _(i){var _a;return[i.AxisTag,i.AxisCurve,(_a=i.SameSense)==null?void 0:_a.toString()];},3020489413:function _(i){return[i.TimeStamp,i.ListValues.map(function(p){return Labelise(p);})];},2655187982:function _(i){return[i.Name,i.Version,i.Publisher,i.VersionDate,i.Location,i.Description];},3452421091:function _(i){return[i.Location,i.Identification,i.Name,i.Description,i.Language,i.ReferencedLibrary];},4162380809:function _(i){return[i.MainPlaneAngle,i.SecondaryPlaneAngle,i.LuminousIntensity];},1566485204:function _(i){return[i.LightDistributionCurve,i.DistributionData];},3057273783:function _(i){return[i.SourceCRS,i.TargetCRS,i.Eastings,i.Northings,i.OrthogonalHeight,i.XAxisAbscissa,i.XAxisOrdinate,i.Scale,i.ScaleY,i.ScaleZ];},1847130766:function _(i){return[i.MaterialClassifications,i.ClassifiedMaterial];},760658860:function _(_149){return[];},248100487:function _(i){var _a;return[i.Material,i.LayerThickness,(_a=i.IsVentilated)==null?void 0:_a.toString(),i.Name,i.Description,i.Category,i.Priority];},3303938423:function _(i){return[i.MaterialLayers,i.LayerSetName,i.Description];},1847252529:function _(i){var _a;return[i.Material,i.LayerThickness,(_a=i.IsVentilated)==null?void 0:_a.toString(),i.Name,i.Description,i.Category,i.Priority,i.OffsetDirection,i.OffsetValues];},2199411900:function _(i){return[i.Materials];},2235152071:function _(i){return[i.Name,i.Description,i.Material,i.Profile,i.Priority,i.Category];},164193824:function _(i){return[i.Name,i.Description,i.MaterialProfiles,i.CompositeProfile];},552965576:function _(i){return[i.Name,i.Description,i.Material,i.Profile,i.Priority,i.Category,i.OffsetValues];},1507914824:function _(_150){return[];},2597039031:function _(i){return[Labelise(i.ValueComponent),i.UnitComponent];},3368373690:function _(i){return[i.Name,i.Description,i.ConstraintGrade,i.ConstraintSource,i.CreatingActor,i.CreationTime,i.UserDefinedGrade,i.Benchmark,i.ValueSource,i.DataValue,i.ReferencePath];},2706619895:function _(i){return[i.Currency];},1918398963:function _(i){return[i.Dimensions,i.UnitType];},3701648758:function _(i){return[i.PlacementRelTo];},2251480897:function _(i){return[i.Name,i.Description,i.ConstraintGrade,i.ConstraintSource,i.CreatingActor,i.CreationTime,i.UserDefinedGrade,i.BenchmarkValues,i.LogicalAggregator,i.ObjectiveQualifier,i.UserDefinedQualifier];},4251960020:function _(i){return[i.Identification,i.Name,i.Description,i.Roles,i.Addresses];},1207048766:function _(i){return[i.OwningUser,i.OwningApplication,i.State,i.ChangeAction,i.LastModifiedDate,i.LastModifyingUser,i.LastModifyingApplication,i.CreationDate];},2077209135:function _(i){return[i.Identification,i.FamilyName,i.GivenName,i.MiddleNames,i.PrefixTitles,i.SuffixTitles,i.Roles,i.Addresses];},101040310:function _(i){return[i.ThePerson,i.TheOrganization,i.Roles];},2483315170:function _(i){return[i.Name,i.Description];},2226359599:function _(i){return[i.Name,i.Description,i.Unit];},3355820592:function _(i){return[i.Purpose,i.Description,i.UserDefinedPurpose,i.InternalLocation,i.AddressLines,i.PostalBox,i.Town,i.Region,i.PostalCode,i.Country];},677532197:function _(_151){return[];},2022622350:function _(i){return[i.Name,i.Description,i.AssignedItems,i.Identifier];},1304840413:function _(i){var _a,_b,_c;return[i.Name,i.Description,i.AssignedItems,i.Identifier,(_a=i.LayerOn)==null?void 0:_a.toString(),(_b=i.LayerFrozen)==null?void 0:_b.toString(),(_c=i.LayerBlocked)==null?void 0:_c.toString(),i.LayerStyles];},3119450353:function _(i){return[i.Name];},2095639259:function _(i){return[i.Name,i.Description,i.Representations];},3958567839:function _(i){return[i.ProfileType,i.ProfileName];},3843373140:function _(i){return[i.Name,i.Description,i.GeodeticDatum,i.VerticalDatum,i.MapProjection,i.MapZone,i.MapUnit];},986844984:function _(_152){return[];},3710013099:function _(i){return[i.Name,i.EnumerationValues.map(function(p){return Labelise(p);}),i.Unit];},2044713172:function _(i){return[i.Name,i.Description,i.Unit,i.AreaValue,i.Formula];},2093928680:function _(i){return[i.Name,i.Description,i.Unit,i.CountValue,i.Formula];},931644368:function _(i){return[i.Name,i.Description,i.Unit,i.LengthValue,i.Formula];},2691318326:function _(i){return[i.Name,i.Description,i.Unit,i.NumberValue,i.Formula];},3252649465:function _(i){return[i.Name,i.Description,i.Unit,i.TimeValue,i.Formula];},2405470396:function _(i){return[i.Name,i.Description,i.Unit,i.VolumeValue,i.Formula];},825690147:function _(i){return[i.Name,i.Description,i.Unit,i.WeightValue,i.Formula];},3915482550:function _(i){return[i.RecurrenceType,i.DayComponent,i.WeekdayComponent,i.MonthComponent,i.Position,i.Interval,i.Occurrences,i.TimePeriods];},2433181523:function _(i){return[i.TypeIdentifier,i.AttributeIdentifier,i.InstanceName,i.ListPositions,i.InnerReference];},1076942058:function _(i){return[i.ContextOfItems,i.RepresentationIdentifier,i.RepresentationType,i.Items];},3377609919:function _(i){return[i.ContextIdentifier,i.ContextType];},3008791417:function _(_153){return[];},1660063152:function _(i){return[i.MappingOrigin,i.MappedRepresentation];},2439245199:function _(i){return[i.Name,i.Description];},2341007311:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description];},448429030:function _(i){return[i.Dimensions,i.UnitType,i.Prefix,i.Name];},1054537805:function _(i){return[i.Name,i.DataOrigin,i.UserDefinedDataOrigin];},867548509:function _(i){var _a;return[i.ShapeRepresentations,i.Name,i.Description,(_a=i.ProductDefinitional)==null?void 0:_a.toString(),i.PartOfProductDefinitionShape];},3982875396:function _(i){return[i.ContextOfItems,i.RepresentationIdentifier,i.RepresentationType,i.Items];},4240577450:function _(i){return[i.ContextOfItems,i.RepresentationIdentifier,i.RepresentationType,i.Items];},2273995522:function _(i){return[i.Name];},2162789131:function _(i){return[i.Name];},3478079324:function _(i){return[i.Name,i.Values,i.Locations];},609421318:function _(i){return[i.Name];},2525727697:function _(i){return[i.Name];},3408363356:function _(i){return[i.Name,i.DeltaTConstant,i.DeltaTY,i.DeltaTZ];},2830218821:function _(i){return[i.ContextOfItems,i.RepresentationIdentifier,i.RepresentationType,i.Items];},3958052878:function _(i){return[i.Item,i.Styles,i.Name];},3049322572:function _(i){return[i.ContextOfItems,i.RepresentationIdentifier,i.RepresentationType,i.Items];},2934153892:function _(i){return[i.Name,i.SurfaceReinforcement1,i.SurfaceReinforcement2,i.ShearReinforcement];},1300840506:function _(i){return[i.Name,i.Side,i.Styles];},3303107099:function _(i){return[i.DiffuseTransmissionColour,i.DiffuseReflectionColour,i.TransmissionColour,i.ReflectanceColour];},1607154358:function _(i){return[i.RefractionIndex,i.DispersionFactor];},846575682:function _(i){return[i.SurfaceColour,i.Transparency];},1351298697:function _(i){return[i.Textures];},626085974:function _(i){var _a,_b;return[(_a=i.RepeatS)==null?void 0:_a.toString(),(_b=i.RepeatT)==null?void 0:_b.toString(),i.Mode,i.TextureTransform,i.Parameter];},985171141:function _(i){return[i.Name,i.Rows,i.Columns];},2043862942:function _(i){return[i.Identifier,i.Name,i.Description,i.Unit,i.ReferencePath];},531007025:function _(i){var _a;return[!i.RowCells?null:i.RowCells.map(function(p){return Labelise(p);}),(_a=i.IsHeading)==null?void 0:_a.toString()];},1549132990:function _(i){var _a;return[i.Name,i.DataOrigin,i.UserDefinedDataOrigin,i.DurationType,i.ScheduleDuration,i.ScheduleStart,i.ScheduleFinish,i.EarlyStart,i.EarlyFinish,i.LateStart,i.LateFinish,i.FreeFloat,i.TotalFloat,(_a=i.IsCritical)==null?void 0:_a.toString(),i.StatusTime,i.ActualDuration,i.ActualStart,i.ActualFinish,i.RemainingTime,i.Completion];},2771591690:function _(i){var _a;return[i.Name,i.DataOrigin,i.UserDefinedDataOrigin,i.DurationType,i.ScheduleDuration,i.ScheduleStart,i.ScheduleFinish,i.EarlyStart,i.EarlyFinish,i.LateStart,i.LateFinish,i.FreeFloat,i.TotalFloat,(_a=i.IsCritical)==null?void 0:_a.toString(),i.StatusTime,i.ActualDuration,i.ActualStart,i.ActualFinish,i.RemainingTime,i.Completion,i.Recurrence];},912023232:function _(i){return[i.Purpose,i.Description,i.UserDefinedPurpose,i.TelephoneNumbers,i.FacsimileNumbers,i.PagerNumber,i.ElectronicMailAddresses,i.WWWHomePageURL,i.MessagingIDs];},1447204868:function _(i){var _a;return[i.Name,i.TextCharacterAppearance,i.TextStyle,i.TextFontStyle,(_a=i.ModelOrDraughting)==null?void 0:_a.toString()];},2636378356:function _(i){return[i.Colour,i.BackgroundColour];},1640371178:function _(i){return[!i.TextIndent?null:Labelise(i.TextIndent),i.TextAlign,i.TextDecoration,!i.LetterSpacing?null:Labelise(i.LetterSpacing),!i.WordSpacing?null:Labelise(i.WordSpacing),i.TextTransform,!i.LineHeight?null:Labelise(i.LineHeight)];},280115917:function _(i){return[i.Maps];},1742049831:function _(i){return[i.Maps,i.Mode,i.Parameter];},222769930:function _(i){return[i.TexCoordIndex,i.TexCoordsOf];},1010789467:function _(i){return[i.TexCoordIndex,i.TexCoordsOf,i.InnerTexCoordIndices];},2552916305:function _(i){return[i.Maps,i.Vertices,i.MappedTo];},1210645708:function _(i){return[i.Coordinates];},3611470254:function _(i){return[i.TexCoordsList];},1199560280:function _(i){return[i.StartTime,i.EndTime];},3101149627:function _(i){return[i.Name,i.Description,i.StartTime,i.EndTime,i.TimeSeriesDataType,i.DataOrigin,i.UserDefinedDataOrigin,i.Unit];},581633288:function _(i){return[i.ListValues.map(function(p){return Labelise(p);})];},1377556343:function _(_154){return[];},1735638870:function _(i){return[i.ContextOfItems,i.RepresentationIdentifier,i.RepresentationType,i.Items];},180925521:function _(i){return[i.Units];},2799835756:function _(_155){return[];},1907098498:function _(i){return[i.VertexGeometry];},891718957:function _(i){return[i.IntersectingAxes,i.OffsetDistances];},1236880293:function _(i){return[i.Name,i.DataOrigin,i.UserDefinedDataOrigin,i.RecurrencePattern,i.StartDate,i.FinishDate];},3752311538:function _(i){return[i.StartTag,i.EndTag,i.StartDistAlong,i.HorizontalLength,i.StartCantLeft,i.EndCantLeft,i.StartCantRight,i.EndCantRight,i.PredefinedType];},536804194:function _(i){return[i.StartTag,i.EndTag,i.StartPoint,i.StartDirection,i.StartRadiusOfCurvature,i.EndRadiusOfCurvature,i.SegmentLength,i.GravityCenterLineHeight,i.PredefinedType];},3869604511:function _(i){return[i.Name,i.Description,i.RelatingApproval,i.RelatedApprovals];},3798115385:function _(i){return[i.ProfileType,i.ProfileName,i.OuterCurve];},1310608509:function _(i){return[i.ProfileType,i.ProfileName,i.Curve];},2705031697:function _(i){return[i.ProfileType,i.ProfileName,i.OuterCurve,i.InnerCurves];},616511568:function _(i){var _a,_b;return[(_a=i.RepeatS)==null?void 0:_a.toString(),(_b=i.RepeatT)==null?void 0:_b.toString(),i.Mode,i.TextureTransform,i.Parameter,i.RasterFormat,i.RasterCode];},3150382593:function _(i){return[i.ProfileType,i.ProfileName,i.Curve,i.Thickness];},747523909:function _(i){return[i.Source,i.Edition,i.EditionDate,i.Name,i.Description,i.Specification,i.ReferenceTokens];},647927063:function _(i){return[i.Location,i.Identification,i.Name,i.ReferencedSource,i.Description,i.Sort];},3285139300:function _(i){return[i.ColourList];},3264961684:function _(i){return[i.Name];},1485152156:function _(i){return[i.ProfileType,i.ProfileName,i.Profiles,i.Label];},370225590:function _(i){return[i.CfsFaces];},1981873012:function _(i){return[i.CurveOnRelatingElement,i.CurveOnRelatedElement];},45288368:function _(i){return[i.PointOnRelatingElement,i.PointOnRelatedElement,i.EccentricityInX,i.EccentricityInY,i.EccentricityInZ];},3050246964:function _(i){return[i.Dimensions,i.UnitType,i.Name];},2889183280:function _(i){return[i.Dimensions,i.UnitType,i.Name,i.ConversionFactor];},2713554722:function _(i){return[i.Dimensions,i.UnitType,i.Name,i.ConversionFactor,i.ConversionOffset];},539742890:function _(i){return[i.Name,i.Description,i.RelatingMonetaryUnit,i.RelatedMonetaryUnit,i.ExchangeRate,i.RateDateTime,i.RateSource];},3800577675:function _(i){var _a;return[i.Name,i.CurveFont,!i.CurveWidth?null:Labelise(i.CurveWidth),i.CurveColour,(_a=i.ModelOrDraughting)==null?void 0:_a.toString()];},1105321065:function _(i){return[i.Name,i.PatternList];},2367409068:function _(i){return[i.Name,i.CurveStyleFont,i.CurveFontScaling];},3510044353:function _(i){return[i.VisibleSegmentLength,i.InvisibleSegmentLength];},3632507154:function _(i){return[i.ProfileType,i.ProfileName,i.ParentProfile,i.Operator,i.Label];},1154170062:function _(i){return[i.Identification,i.Name,i.Description,i.Location,i.Purpose,i.IntendedUse,i.Scope,i.Revision,i.DocumentOwner,i.Editors,i.CreationTime,i.LastRevisionTime,i.ElectronicFormat,i.ValidFrom,i.ValidUntil,i.Confidentiality,i.Status];},770865208:function _(i){return[i.Name,i.Description,i.RelatingDocument,i.RelatedDocuments,i.RelationshipType];},3732053477:function _(i){return[i.Location,i.Identification,i.Name,i.Description,i.ReferencedDocument];},3900360178:function _(i){return[i.EdgeStart,i.EdgeEnd];},476780140:function _(i){var _a;return[i.EdgeStart,i.EdgeEnd,i.EdgeGeometry,(_a=i.SameSense)==null?void 0:_a.toString()];},211053100:function _(i){return[i.Name,i.DataOrigin,i.UserDefinedDataOrigin,i.ActualDate,i.EarlyDate,i.LateDate,i.ScheduleDate];},297599258:function _(i){return[i.Name,i.Description,i.Properties];},1437805879:function _(i){return[i.Name,i.Description,i.RelatingReference,i.RelatedResourceObjects];},2556980723:function _(i){return[i.Bounds];},1809719519:function _(i){var _a;return[i.Bound,(_a=i.Orientation)==null?void 0:_a.toString()];},803316827:function _(i){var _a;return[i.Bound,(_a=i.Orientation)==null?void 0:_a.toString()];},3008276851:function _(i){var _a;return[i.Bounds,i.FaceSurface,(_a=i.SameSense)==null?void 0:_a.toString()];},4219587988:function _(i){return[i.Name,i.TensionFailureX,i.TensionFailureY,i.TensionFailureZ,i.CompressionFailureX,i.CompressionFailureY,i.CompressionFailureZ];},738692330:function _(i){var _a;return[i.Name,i.FillStyles,(_a=i.ModelOrDraughting)==null?void 0:_a.toString()];},3448662350:function _(i){return[i.ContextIdentifier,i.ContextType,i.CoordinateSpaceDimension,i.Precision,i.WorldCoordinateSystem,i.TrueNorth];},2453401579:function _(_156){return[];},4142052618:function _(i){return[i.ContextIdentifier,i.ContextType,i.CoordinateSpaceDimension,i.Precision,i.WorldCoordinateSystem,i.TrueNorth,i.ParentContext,i.TargetScale,i.TargetView,i.UserDefinedTargetView];},3590301190:function _(i){return[i.Elements];},178086475:function _(i){return[i.PlacementRelTo,i.PlacementLocation,i.PlacementRefDirection];},812098782:function _(i){var _a;return[i.BaseSurface,(_a=i.AgreementFlag)==null?void 0:_a.toString()];},3905492369:function _(i){var _a,_b;return[(_a=i.RepeatS)==null?void 0:_a.toString(),(_b=i.RepeatT)==null?void 0:_b.toString(),i.Mode,i.TextureTransform,i.Parameter,i.URLReference];},3570813810:function _(i){return[i.MappedTo,i.Opacity,i.Colours,i.ColourIndex];},1437953363:function _(i){return[i.Maps,i.MappedTo,i.TexCoords];},2133299955:function _(i){return[i.Maps,i.MappedTo,i.TexCoords,i.TexCoordIndex];},3741457305:function _(i){return[i.Name,i.Description,i.StartTime,i.EndTime,i.TimeSeriesDataType,i.DataOrigin,i.UserDefinedDataOrigin,i.Unit,i.Values];},1585845231:function _(i){return[i.Name,i.DataOrigin,i.UserDefinedDataOrigin,Labelise(i.LagValue),i.DurationType];},1402838566:function _(i){return[i.Name,i.LightColour,i.AmbientIntensity,i.Intensity];},125510826:function _(i){return[i.Name,i.LightColour,i.AmbientIntensity,i.Intensity];},2604431987:function _(i){return[i.Name,i.LightColour,i.AmbientIntensity,i.Intensity,i.Orientation];},4266656042:function _(i){return[i.Name,i.LightColour,i.AmbientIntensity,i.Intensity,i.Position,i.ColourAppearance,i.ColourTemperature,i.LuminousFlux,i.LightEmissionSource,i.LightDistributionDataSource];},1520743889:function _(i){return[i.Name,i.LightColour,i.AmbientIntensity,i.Intensity,i.Position,i.Radius,i.ConstantAttenuation,i.DistanceAttenuation,i.QuadricAttenuation];},3422422726:function _(i){return[i.Name,i.LightColour,i.AmbientIntensity,i.Intensity,i.Position,i.Radius,i.ConstantAttenuation,i.DistanceAttenuation,i.QuadricAttenuation,i.Orientation,i.ConcentrationExponent,i.SpreadAngle,i.BeamWidthAngle];},388784114:function _(i){return[i.PlacementRelTo,i.RelativePlacement,i.CartesianPosition];},2624227202:function _(i){return[i.PlacementRelTo,i.RelativePlacement];},1008929658:function _(_157){return[];},2347385850:function _(i){return[i.MappingSource,i.MappingTarget];},1838606355:function _(i){return[i.Name,i.Description,i.Category];},3708119e3:function _(i){return[i.Name,i.Description,i.Material,i.Fraction,i.Category];},2852063980:function _(i){return[i.Name,i.Description,i.MaterialConstituents];},2022407955:function _(i){return[i.Name,i.Description,i.Representations,i.RepresentedMaterial];},1303795690:function _(i){return[i.ForLayerSet,i.LayerSetDirection,i.DirectionSense,i.OffsetFromReferenceLine,i.ReferenceExtent];},3079605661:function _(i){return[i.ForProfileSet,i.CardinalPoint,i.ReferenceExtent];},3404854881:function _(i){return[i.ForProfileSet,i.CardinalPoint,i.ReferenceExtent,i.ForProfileEndSet,i.CardinalEndPoint];},3265635763:function _(i){return[i.Name,i.Description,i.Properties,i.Material];},853536259:function _(i){return[i.Name,i.Description,i.RelatingMaterial,i.RelatedMaterials,i.MaterialExpression];},2998442950:function _(i){return[i.ProfileType,i.ProfileName,i.ParentProfile,i.Operator,i.Label];},219451334:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description];},182550632:function _(i){var _a;return[i.ProfileType,i.ProfileName,(_a=i.HorizontalWidths)==null?void 0:_a.toString(),i.Widths,i.Slopes,i.Tags,i.OffsetPoint];},2665983363:function _(i){return[i.CfsFaces];},1411181986:function _(i){return[i.Name,i.Description,i.RelatingOrganization,i.RelatedOrganizations];},1029017970:function _(i){var _a;return[i.EdgeStart,i.EdgeEnd,i.EdgeElement,(_a=i.Orientation)==null?void 0:_a.toString()];},2529465313:function _(i){return[i.ProfileType,i.ProfileName,i.Position];},2519244187:function _(i){return[i.EdgeList];},3021840470:function _(i){return[i.Name,i.Description,i.HasQuantities,i.Discrimination,i.Quality,i.Usage];},597895409:function _(i){var _a,_b;return[(_a=i.RepeatS)==null?void 0:_a.toString(),(_b=i.RepeatT)==null?void 0:_b.toString(),i.Mode,i.TextureTransform,i.Parameter,i.Width,i.Height,i.ColourComponents,i.Pixel];},2004835150:function _(i){return[i.Location];},1663979128:function _(i){return[i.SizeInX,i.SizeInY];},2067069095:function _(_158){return[];},2165702409:function _(i){return[Labelise(i.DistanceAlong),i.OffsetLateral,i.OffsetVertical,i.OffsetLongitudinal,i.BasisCurve];},4022376103:function _(i){return[i.BasisCurve,i.PointParameter];},1423911732:function _(i){return[i.BasisSurface,i.PointParameterU,i.PointParameterV];},2924175390:function _(i){return[i.Polygon];},2775532180:function _(i){var _a;return[i.BaseSurface,(_a=i.AgreementFlag)==null?void 0:_a.toString(),i.Position,i.PolygonalBoundary];},3727388367:function _(i){return[i.Name];},3778827333:function _(_159){return[];},1775413392:function _(i){return[i.Name];},673634403:function _(i){return[i.Name,i.Description,i.Representations];},2802850158:function _(i){return[i.Name,i.Description,i.Properties,i.ProfileDefinition];},2598011224:function _(i){return[i.Name,i.Specification];},1680319473:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description];},148025276:function _(i){return[i.Name,i.Description,i.DependingProperty,i.DependantProperty,i.Expression];},3357820518:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description];},1482703590:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description];},2090586900:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description];},3615266464:function _(i){return[i.ProfileType,i.ProfileName,i.Position,i.XDim,i.YDim];},3413951693:function _(i){return[i.Name,i.Description,i.StartTime,i.EndTime,i.TimeSeriesDataType,i.DataOrigin,i.UserDefinedDataOrigin,i.Unit,i.TimeStep,i.Values];},1580146022:function _(i){return[i.TotalCrossSectionArea,i.SteelGrade,i.BarSurface,i.EffectiveDepth,i.NominalBarDiameter,i.BarCount];},478536968:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description];},2943643501:function _(i){return[i.Name,i.Description,i.RelatedResourceObjects,i.RelatingApproval];},1608871552:function _(i){return[i.Name,i.Description,i.RelatingConstraint,i.RelatedResourceObjects];},1042787934:function _(i){var _a;return[i.Name,i.DataOrigin,i.UserDefinedDataOrigin,i.ScheduleWork,i.ScheduleUsage,i.ScheduleStart,i.ScheduleFinish,i.ScheduleContour,i.LevelingDelay,(_a=i.IsOverAllocated)==null?void 0:_a.toString(),i.StatusTime,i.ActualWork,i.ActualUsage,i.ActualStart,i.ActualFinish,i.RemainingWork,i.RemainingUsage,i.Completion];},2778083089:function _(i){return[i.ProfileType,i.ProfileName,i.Position,i.XDim,i.YDim,i.RoundingRadius];},2042790032:function _(i){return[i.SectionType,i.StartProfile,i.EndProfile];},4165799628:function _(i){return[i.LongitudinalStartPosition,i.LongitudinalEndPosition,i.TransversePosition,i.ReinforcementRole,i.SectionDefinition,i.CrossSectionReinforcementDefinitions];},1509187699:function _(i){return[i.SpineCurve,i.CrossSections,i.CrossSectionPositions];},823603102:function _(i){return[i.Transition];},4124623270:function _(i){return[i.SbsmBoundary];},3692461612:function _(i){return[i.Name,i.Specification];},2609359061:function _(i){return[i.Name,i.SlippageX,i.SlippageY,i.SlippageZ];},723233188:function _(_160){return[];},1595516126:function _(i){return[i.Name,i.LinearForceX,i.LinearForceY,i.LinearForceZ,i.LinearMomentX,i.LinearMomentY,i.LinearMomentZ];},2668620305:function _(i){return[i.Name,i.PlanarForceX,i.PlanarForceY,i.PlanarForceZ];},2473145415:function _(i){return[i.Name,i.DisplacementX,i.DisplacementY,i.DisplacementZ,i.RotationalDisplacementRX,i.RotationalDisplacementRY,i.RotationalDisplacementRZ];},1973038258:function _(i){return[i.Name,i.DisplacementX,i.DisplacementY,i.DisplacementZ,i.RotationalDisplacementRX,i.RotationalDisplacementRY,i.RotationalDisplacementRZ,i.Distortion];},1597423693:function _(i){return[i.Name,i.ForceX,i.ForceY,i.ForceZ,i.MomentX,i.MomentY,i.MomentZ];},1190533807:function _(i){return[i.Name,i.ForceX,i.ForceY,i.ForceZ,i.MomentX,i.MomentY,i.MomentZ,i.WarpingMoment];},2233826070:function _(i){return[i.EdgeStart,i.EdgeEnd,i.ParentEdge];},2513912981:function _(_161){return[];},1878645084:function _(i){return[i.SurfaceColour,i.Transparency,i.DiffuseColour,i.TransmissionColour,i.DiffuseTransmissionColour,i.ReflectionColour,i.SpecularColour,!i.SpecularHighlight?null:Labelise(i.SpecularHighlight),i.ReflectanceMethod];},2247615214:function _(i){return[i.SweptArea,i.Position];},1260650574:function _(i){return[i.Directrix,i.Radius,i.InnerRadius,i.StartParam,i.EndParam];},1096409881:function _(i){return[i.Directrix,i.Radius,i.InnerRadius,i.StartParam,i.EndParam,i.FilletRadius];},230924584:function _(i){return[i.SweptCurve,i.Position];},3071757647:function _(i){return[i.ProfileType,i.ProfileName,i.Position,i.Depth,i.FlangeWidth,i.WebThickness,i.FlangeThickness,i.FilletRadius,i.FlangeEdgeRadius,i.WebEdgeRadius,i.WebSlope,i.FlangeSlope];},901063453:function _(_162){return[];},4282788508:function _(i){return[i.Literal,i.Placement,i.Path];},3124975700:function _(i){return[i.Literal,i.Placement,i.Path,i.Extent,i.BoxAlignment];},1983826977:function _(i){return[i.Name,i.FontFamily,i.FontStyle,i.FontVariant,i.FontWeight,Labelise(i.FontSize)];},2715220739:function _(i){return[i.ProfileType,i.ProfileName,i.Position,i.BottomXDim,i.TopXDim,i.YDim,i.TopXOffset];},1628702193:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ApplicableOccurrence,i.HasPropertySets];},3736923433:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ApplicableOccurrence,i.HasPropertySets,i.Identification,i.LongDescription,i.ProcessType];},2347495698:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ApplicableOccurrence,i.HasPropertySets,i.RepresentationMaps,i.Tag];},3698973494:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ApplicableOccurrence,i.HasPropertySets,i.Identification,i.LongDescription,i.ResourceType];},427810014:function _(i){return[i.ProfileType,i.ProfileName,i.Position,i.Depth,i.FlangeWidth,i.WebThickness,i.FlangeThickness,i.FilletRadius,i.EdgeRadius,i.FlangeSlope];},1417489154:function _(i){return[i.Orientation,i.Magnitude];},2759199220:function _(i){return[i.LoopVertex];},2543172580:function _(i){return[i.ProfileType,i.ProfileName,i.Position,i.Depth,i.FlangeWidth,i.WebThickness,i.FlangeThickness,i.FilletRadius,i.EdgeRadius];},3406155212:function _(i){var _a;return[i.Bounds,i.FaceSurface,(_a=i.SameSense)==null?void 0:_a.toString()];},669184980:function _(i){return[i.OuterBoundary,i.InnerBoundaries];},3207858831:function _(i){return[i.ProfileType,i.ProfileName,i.Position,i.BottomFlangeWidth,i.OverallDepth,i.WebThickness,i.BottomFlangeThickness,i.BottomFlangeFilletRadius,i.TopFlangeWidth,i.TopFlangeThickness,i.TopFlangeFilletRadius,i.BottomFlangeEdgeRadius,i.BottomFlangeSlope,i.TopFlangeEdgeRadius,i.TopFlangeSlope];},4261334040:function _(i){return[i.Location,i.Axis];},3125803723:function _(i){return[i.Location,i.RefDirection];},2740243338:function _(i){return[i.Location,i.Axis,i.RefDirection];},3425423356:function _(i){return[i.Location,i.Axis,i.RefDirection];},2736907675:function _(i){return[i.Operator,i.FirstOperand,i.SecondOperand];},4182860854:function _(_163){return[];},2581212453:function _(i){return[i.Corner,i.XDim,i.YDim,i.ZDim];},2713105998:function _(i){var _a;return[i.BaseSurface,(_a=i.AgreementFlag)==null?void 0:_a.toString(),i.Enclosure];},2898889636:function _(i){return[i.ProfileType,i.ProfileName,i.Position,i.Depth,i.Width,i.WallThickness,i.Girth,i.InternalFilletRadius];},1123145078:function _(i){return[i.Coordinates];},574549367:function _(_164){return[];},1675464909:function _(i){return[i.CoordList,i.TagList];},2059837836:function _(i){return[i.CoordList,i.TagList];},59481748:function _(i){return[i.Axis1,i.Axis2,i.LocalOrigin,i.Scale];},3749851601:function _(i){return[i.Axis1,i.Axis2,i.LocalOrigin,i.Scale];},3486308946:function _(i){return[i.Axis1,i.Axis2,i.LocalOrigin,i.Scale,i.Scale2];},3331915920:function _(i){return[i.Axis1,i.Axis2,i.LocalOrigin,i.Scale,i.Axis3];},1416205885:function _(i){return[i.Axis1,i.Axis2,i.LocalOrigin,i.Scale,i.Axis3,i.Scale2,i.Scale3];},1383045692:function _(i){return[i.ProfileType,i.ProfileName,i.Position,i.Radius];},2205249479:function _(i){return[i.CfsFaces];},776857604:function _(i){return[i.Name,i.Red,i.Green,i.Blue];},2542286263:function _(i){return[i.Name,i.Specification,i.UsageName,i.HasProperties];},2485617015:function _(i){var _a;return[i.Transition,(_a=i.SameSense)==null?void 0:_a.toString(),i.ParentCurve];},2574617495:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ApplicableOccurrence,i.HasPropertySets,i.Identification,i.LongDescription,i.ResourceType,i.BaseCosts,i.BaseQuantity];},3419103109:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.LongName,i.Phase,i.RepresentationContexts,i.UnitsInContext];},1815067380:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ApplicableOccurrence,i.HasPropertySets,i.Identification,i.LongDescription,i.ResourceType,i.BaseCosts,i.BaseQuantity,i.PredefinedType];},2506170314:function _(i){return[i.Position];},2147822146:function _(i){return[i.TreeRootExpression];},2601014836:function _(_165){return[];},2827736869:function _(i){return[i.BasisSurface,i.OuterBoundary,i.InnerBoundaries];},2629017746:function _(i){var _a;return[i.BasisSurface,i.Boundaries,(_a=i.ImplicitOuter)==null?void 0:_a.toString()];},4212018352:function _(i){return[i.Transition,i.Placement,Labelise(i.SegmentStart),Labelise(i.SegmentLength),i.ParentCurve];},32440307:function _(i){return[i.DirectionRatios];},593015953:function _(i){return[i.SweptArea,i.Position,i.Directrix,!i.StartParam?null:Labelise(i.StartParam),!i.EndParam?null:Labelise(i.EndParam)];},1472233963:function _(i){return[i.EdgeList];},1883228015:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.MethodOfMeasurement,i.Quantities];},339256511:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ApplicableOccurrence,i.HasPropertySets,i.RepresentationMaps,i.Tag,i.ElementType];},2777663545:function _(i){return[i.Position];},2835456948:function _(i){return[i.ProfileType,i.ProfileName,i.Position,i.SemiAxis1,i.SemiAxis2];},4024345920:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ApplicableOccurrence,i.HasPropertySets,i.Identification,i.LongDescription,i.ProcessType,i.PredefinedType,i.EventTriggerType,i.UserDefinedEventTriggerType];},477187591:function _(i){return[i.SweptArea,i.Position,i.ExtrudedDirection,i.Depth];},2804161546:function _(i){return[i.SweptArea,i.Position,i.ExtrudedDirection,i.Depth,i.EndSweptArea];},2047409740:function _(i){return[i.FbsmFaces];},374418227:function _(i){return[i.HatchLineAppearance,i.StartOfNextHatchLine,i.PointOfReferenceHatchLine,i.PatternStart,i.HatchLineAngle];},315944413:function _(i){return[i.TilingPattern,i.Tiles,i.TilingScale];},2652556860:function _(i){return[i.SweptArea,i.Position,i.Directrix,!i.StartParam?null:Labelise(i.StartParam),!i.EndParam?null:Labelise(i.EndParam),i.FixedReference];},4238390223:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ApplicableOccurrence,i.HasPropertySets,i.RepresentationMaps,i.Tag,i.ElementType];},1268542332:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ApplicableOccurrence,i.HasPropertySets,i.RepresentationMaps,i.Tag,i.ElementType,i.AssemblyPlace,i.PredefinedType];},4095422895:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ApplicableOccurrence,i.HasPropertySets,i.RepresentationMaps,i.Tag,i.ElementType,i.PredefinedType];},987898635:function _(i){return[i.Elements];},1484403080:function _(i){return[i.ProfileType,i.ProfileName,i.Position,i.OverallWidth,i.OverallDepth,i.WebThickness,i.FlangeThickness,i.FilletRadius,i.FlangeEdgeRadius,i.FlangeSlope];},178912537:function _(i){return[i.CoordIndex];},2294589976:function _(i){return[i.CoordIndex,i.InnerCoordIndices];},3465909080:function _(i){return[i.Maps,i.MappedTo,i.TexCoords,i.TexCoordIndices];},572779678:function _(i){return[i.ProfileType,i.ProfileName,i.Position,i.Depth,i.Width,i.Thickness,i.FilletRadius,i.EdgeRadius,i.LegSlope];},428585644:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ApplicableOccurrence,i.HasPropertySets,i.Identification,i.LongDescription,i.ResourceType,i.BaseCosts,i.BaseQuantity,i.PredefinedType];},1281925730:function _(i){return[i.Pnt,i.Dir];},1425443689:function _(i){return[i.Outer];},3888040117:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType];},590820931:function _(i){return[i.BasisCurve];},3388369263:function _(i){var _a;return[i.BasisCurve,i.Distance,(_a=i.SelfIntersect)==null?void 0:_a.toString()];},3505215534:function _(i){var _a;return[i.BasisCurve,i.Distance,(_a=i.SelfIntersect)==null?void 0:_a.toString(),i.RefDirection];},2485787929:function _(i){return[i.BasisCurve,i.OffsetValues,i.Tag];},1682466193:function _(i){return[i.BasisSurface,i.ReferenceCurve];},603570806:function _(i){return[i.SizeInX,i.SizeInY,i.Placement];},220341763:function _(i){return[i.Position];},3381221214:function _(i){return[i.Position,i.CoefficientsX,i.CoefficientsY,i.CoefficientsZ];},759155922:function _(i){return[i.Name];},2559016684:function _(i){return[i.Name];},3967405729:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description];},569719735:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ApplicableOccurrence,i.HasPropertySets,i.Identification,i.LongDescription,i.ProcessType,i.PredefinedType];},2945172077:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.Identification,i.LongDescription];},4208778838:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.ObjectPlacement,i.Representation];},103090709:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.LongName,i.Phase,i.RepresentationContexts,i.UnitsInContext];},653396225:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.LongName,i.Phase,i.RepresentationContexts,i.UnitsInContext];},871118103:function _(i){return[i.Name,i.Specification,!i.UpperBoundValue?null:Labelise(i.UpperBoundValue),!i.LowerBoundValue?null:Labelise(i.LowerBoundValue),i.Unit,!i.SetPointValue?null:Labelise(i.SetPointValue)];},4166981789:function _(i){return[i.Name,i.Specification,!i.EnumerationValues?null:i.EnumerationValues.map(function(p){return Labelise(p);}),i.EnumerationReference];},2752243245:function _(i){return[i.Name,i.Specification,!i.ListValues?null:i.ListValues.map(function(p){return Labelise(p);}),i.Unit];},941946838:function _(i){return[i.Name,i.Specification,i.UsageName,i.PropertyReference];},1451395588:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.HasProperties];},492091185:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.TemplateType,i.ApplicableEntity,i.HasPropertyTemplates];},3650150729:function _(i){return[i.Name,i.Specification,!i.NominalValue?null:Labelise(i.NominalValue),i.Unit];},110355661:function _(i){return[i.Name,i.Specification,!i.DefiningValues?null:i.DefiningValues.map(function(p){return Labelise(p);}),!i.DefinedValues?null:i.DefinedValues.map(function(p){return Labelise(p);}),i.Expression,i.DefiningUnit,i.DefinedUnit,i.CurveInterpolation];},3521284610:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description];},2770003689:function _(i){return[i.ProfileType,i.ProfileName,i.Position,i.XDim,i.YDim,i.WallThickness,i.InnerFilletRadius,i.OuterFilletRadius];},2798486643:function _(i){return[i.Position,i.XLength,i.YLength,i.Height];},3454111270:function _(i){var _a,_b;return[i.BasisSurface,i.U1,i.V1,i.U2,i.V2,(_a=i.Usense)==null?void 0:_a.toString(),(_b=i.Vsense)==null?void 0:_b.toString()];},3765753017:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.DefinitionType,i.ReinforcementSectionDefinitions];},3939117080:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.RelatedObjects,i.RelatedObjectsType];},1683148259:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.RelatedObjects,i.RelatedObjectsType,i.RelatingActor,i.ActingRole];},2495723537:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.RelatedObjects,i.RelatedObjectsType,i.RelatingControl];},1307041759:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.RelatedObjects,i.RelatedObjectsType,i.RelatingGroup];},1027710054:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.RelatedObjects,i.RelatedObjectsType,i.RelatingGroup,i.Factor];},4278684876:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.RelatedObjects,i.RelatedObjectsType,i.RelatingProcess,i.QuantityInProcess];},2857406711:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.RelatedObjects,i.RelatedObjectsType,i.RelatingProduct];},205026976:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.RelatedObjects,i.RelatedObjectsType,i.RelatingResource];},1865459582:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.RelatedObjects];},4095574036:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.RelatedObjects,i.RelatingApproval];},919958153:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.RelatedObjects,i.RelatingClassification];},2728634034:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.RelatedObjects,i.Intent,i.RelatingConstraint];},982818633:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.RelatedObjects,i.RelatingDocument];},3840914261:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.RelatedObjects,i.RelatingLibrary];},2655215786:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.RelatedObjects,i.RelatingMaterial];},1033248425:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.RelatedObjects,i.RelatingProfileDef];},826625072:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description];},1204542856:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ConnectionGeometry,i.RelatingElement,i.RelatedElement];},3945020480:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ConnectionGeometry,i.RelatingElement,i.RelatedElement,i.RelatingPriorities,i.RelatedPriorities,i.RelatedConnectionType,i.RelatingConnectionType];},4201705270:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.RelatingPort,i.RelatedElement];},3190031847:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.RelatingPort,i.RelatedPort,i.RealizingElement];},2127690289:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.RelatingElement,i.RelatedStructuralActivity];},1638771189:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.RelatingStructuralMember,i.RelatedStructuralConnection,i.AppliedCondition,i.AdditionalConditions,i.SupportedLength,i.ConditionCoordinateSystem];},504942748:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.RelatingStructuralMember,i.RelatedStructuralConnection,i.AppliedCondition,i.AdditionalConditions,i.SupportedLength,i.ConditionCoordinateSystem,i.ConnectionConstraint];},3678494232:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ConnectionGeometry,i.RelatingElement,i.RelatedElement,i.RealizingElements,i.ConnectionType];},3242617779:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.RelatedElements,i.RelatingStructure];},886880790:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.RelatingBuildingElement,i.RelatedCoverings];},2802773753:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.RelatingSpace,i.RelatedCoverings];},2565941209:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.RelatingContext,i.RelatedDefinitions];},2551354335:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description];},693640335:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description];},1462361463:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.RelatedObjects,i.RelatingObject];},4186316022:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.RelatedObjects,i.RelatingPropertyDefinition];},307848117:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.RelatedPropertySets,i.RelatingTemplate];},781010003:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.RelatedObjects,i.RelatingType];},3940055652:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.RelatingOpeningElement,i.RelatedBuildingElement];},279856033:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.RelatedControlElements,i.RelatingFlowElement];},427948657:function _(i){var _a;return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.RelatingElement,i.RelatedElement,i.InterferenceGeometry,i.InterferenceSpace,i.InterferenceType,(_a=i.ImpliedOrder)==null?void 0:_a.toString()];},3268803585:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.RelatingObject,i.RelatedObjects];},1441486842:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.RelatingPositioningElement,i.RelatedProducts];},750771296:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.RelatingElement,i.RelatedFeatureElement];},1245217292:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.RelatedElements,i.RelatingStructure];},4122056220:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.RelatingProcess,i.RelatedProcess,i.TimeLag,i.SequenceType,i.UserDefinedSequenceType];},366585022:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.RelatingSystem,i.RelatedBuildings];},3451746338:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.RelatingSpace,i.RelatedBuildingElement,i.ConnectionGeometry,i.PhysicalOrVirtualBoundary,i.InternalOrExternalBoundary];},3523091289:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.RelatingSpace,i.RelatedBuildingElement,i.ConnectionGeometry,i.PhysicalOrVirtualBoundary,i.InternalOrExternalBoundary,i.ParentBoundary];},1521410863:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.RelatingSpace,i.RelatedBuildingElement,i.ConnectionGeometry,i.PhysicalOrVirtualBoundary,i.InternalOrExternalBoundary,i.ParentBoundary,i.CorrespondingBoundary];},1401173127:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.RelatingBuildingElement,i.RelatedOpeningElement];},816062949:function _(i){var _a;return[i.Transition,(_a=i.SameSense)==null?void 0:_a.toString(),i.ParentCurve,i.ParamLength];},2914609552:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.Identification,i.LongDescription];},1856042241:function _(i){return[i.SweptArea,i.Position,i.Axis,i.Angle];},3243963512:function _(i){return[i.SweptArea,i.Position,i.Axis,i.Angle,i.EndSweptArea];},4158566097:function _(i){return[i.Position,i.Height,i.BottomRadius];},3626867408:function _(i){return[i.Position,i.Height,i.Radius];},1862484736:function _(i){return[i.Directrix,i.CrossSections];},1290935644:function _(i){return[i.Directrix,i.CrossSections,i.CrossSectionPositions];},1356537516:function _(i){return[i.Directrix,i.CrossSectionPositions,i.CrossSections];},3663146110:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.TemplateType,i.PrimaryMeasureType,i.SecondaryMeasureType,i.Enumerators,i.PrimaryUnit,i.SecondaryUnit,i.Expression,i.AccessState];},1412071761:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.ObjectPlacement,i.Representation,i.LongName];},710998568:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ApplicableOccurrence,i.HasPropertySets,i.RepresentationMaps,i.Tag,i.ElementType];},2706606064:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.ObjectPlacement,i.Representation,i.LongName,i.CompositionType];},3893378262:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ApplicableOccurrence,i.HasPropertySets,i.RepresentationMaps,i.Tag,i.ElementType];},463610769:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.ObjectPlacement,i.Representation,i.LongName,i.PredefinedType];},2481509218:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ApplicableOccurrence,i.HasPropertySets,i.RepresentationMaps,i.Tag,i.ElementType,i.PredefinedType,i.LongName];},451544542:function _(i){return[i.Position,i.Radius];},4015995234:function _(i){return[i.Position,i.Radius];},2735484536:function _(i){return[i.Position];},3544373492:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.ObjectPlacement,i.Representation,i.AppliedLoad,i.GlobalOrLocal];},3136571912:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.ObjectPlacement,i.Representation];},530289379:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.ObjectPlacement,i.Representation];},3689010777:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.ObjectPlacement,i.Representation,i.AppliedLoad,i.GlobalOrLocal];},3979015343:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.ObjectPlacement,i.Representation,i.PredefinedType,i.Thickness];},2218152070:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.ObjectPlacement,i.Representation,i.PredefinedType,i.Thickness];},603775116:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.ObjectPlacement,i.Representation,i.AppliedLoad,i.GlobalOrLocal,i.PredefinedType];},4095615324:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ApplicableOccurrence,i.HasPropertySets,i.Identification,i.LongDescription,i.ResourceType,i.BaseCosts,i.BaseQuantity,i.PredefinedType];},699246055:function _(i){return[i.Curve3D,i.AssociatedGeometry,i.MasterRepresentation];},2028607225:function _(i){return[i.SweptArea,i.Position,i.Directrix,!i.StartParam?null:Labelise(i.StartParam),!i.EndParam?null:Labelise(i.EndParam),i.ReferenceSurface];},2809605785:function _(i){return[i.SweptCurve,i.Position,i.ExtrudedDirection,i.Depth];},4124788165:function _(i){return[i.SweptCurve,i.Position,i.AxisPosition];},1580310250:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ApplicableOccurrence,i.HasPropertySets,i.RepresentationMaps,i.Tag,i.ElementType,i.PredefinedType];},3473067441:function _(i){var _a;return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.Identification,i.LongDescription,i.Status,i.WorkMethod,(_a=i.IsMilestone)==null?void 0:_a.toString(),i.Priority,i.TaskTime,i.PredefinedType];},3206491090:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ApplicableOccurrence,i.HasPropertySets,i.Identification,i.LongDescription,i.ProcessType,i.PredefinedType,i.WorkMethod];},2387106220:function _(i){var _a;return[i.Coordinates,(_a=i.Closed)==null?void 0:_a.toString()];},782932809:function _(i){return[i.Position,i.CubicTerm,i.QuadraticTerm,i.LinearTerm,i.ConstantTerm];},1935646853:function _(i){return[i.Position,i.MajorRadius,i.MinorRadius];},3665877780:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ApplicableOccurrence,i.HasPropertySets,i.RepresentationMaps,i.Tag,i.ElementType];},2916149573:function _(i){var _a;return[i.Coordinates,(_a=i.Closed)==null?void 0:_a.toString(),i.Normals,i.CoordIndex,i.PnIndex];},1229763772:function _(i){var _a;return[i.Coordinates,(_a=i.Closed)==null?void 0:_a.toString(),i.Normals,i.CoordIndex,i.PnIndex,i.Flags];},3651464721:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ApplicableOccurrence,i.HasPropertySets,i.RepresentationMaps,i.Tag,i.ElementType,i.PredefinedType];},336235671:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.LiningDepth,i.LiningThickness,i.TransomThickness,i.MullionThickness,i.FirstTransomOffset,i.SecondTransomOffset,i.FirstMullionOffset,i.SecondMullionOffset,i.ShapeAspectStyle,i.LiningOffset,i.LiningToPanelOffsetX,i.LiningToPanelOffsetY];},512836454:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.OperationType,i.PanelPosition,i.FrameDepth,i.FrameThickness,i.ShapeAspectStyle];},2296667514:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.TheActor];},1635779807:function _(i){return[i.Outer];},2603310189:function _(i){return[i.Outer,i.Voids];},1674181508:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.ObjectPlacement,i.Representation,i.PredefinedType];},2887950389:function _(i){var _a,_b,_c;return[i.UDegree,i.VDegree,i.ControlPointsList,i.SurfaceForm,(_a=i.UClosed)==null?void 0:_a.toString(),(_b=i.VClosed)==null?void 0:_b.toString(),(_c=i.SelfIntersect)==null?void 0:_c.toString()];},167062518:function _(i){var _a,_b,_c;return[i.UDegree,i.VDegree,i.ControlPointsList,i.SurfaceForm,(_a=i.UClosed)==null?void 0:_a.toString(),(_b=i.VClosed)==null?void 0:_b.toString(),(_c=i.SelfIntersect)==null?void 0:_c.toString(),i.UMultiplicities,i.VMultiplicities,i.UKnots,i.VKnots,i.KnotSpec];},1334484129:function _(i){return[i.Position,i.XLength,i.YLength,i.ZLength];},3649129432:function _(i){return[i.Operator,i.FirstOperand,i.SecondOperand];},1260505505:function _(_166){return[];},3124254112:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.ObjectPlacement,i.Representation,i.LongName,i.CompositionType,i.Elevation];},1626504194:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ApplicableOccurrence,i.HasPropertySets,i.RepresentationMaps,i.Tag,i.ElementType];},2197970202:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ApplicableOccurrence,i.HasPropertySets,i.RepresentationMaps,i.Tag,i.ElementType,i.PredefinedType];},2937912522:function _(i){return[i.ProfileType,i.ProfileName,i.Position,i.Radius,i.WallThickness];},3893394355:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ApplicableOccurrence,i.HasPropertySets,i.RepresentationMaps,i.Tag,i.ElementType];},3497074424:function _(i){return[i.Position,i.ClothoidConstant];},300633059:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ApplicableOccurrence,i.HasPropertySets,i.RepresentationMaps,i.Tag,i.ElementType,i.PredefinedType];},3875453745:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.UsageName,i.TemplateType,i.HasPropertyTemplates];},3732776249:function _(i){var _a;return[i.Segments,(_a=i.SelfIntersect)==null?void 0:_a.toString()];},15328376:function _(i){var _a;return[i.Segments,(_a=i.SelfIntersect)==null?void 0:_a.toString()];},2510884976:function _(i){return[i.Position];},2185764099:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ApplicableOccurrence,i.HasPropertySets,i.Identification,i.LongDescription,i.ResourceType,i.BaseCosts,i.BaseQuantity,i.PredefinedType];},4105962743:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ApplicableOccurrence,i.HasPropertySets,i.Identification,i.LongDescription,i.ResourceType,i.BaseCosts,i.BaseQuantity,i.PredefinedType];},1525564444:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ApplicableOccurrence,i.HasPropertySets,i.Identification,i.LongDescription,i.ResourceType,i.BaseCosts,i.BaseQuantity,i.PredefinedType];},2559216714:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.Identification,i.LongDescription,i.Usage,i.BaseCosts,i.BaseQuantity];},3293443760:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.Identification];},2000195564:function _(i){return[i.Position,i.CosineTerm,i.ConstantTerm];},3895139033:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.Identification,i.PredefinedType,i.CostValues,i.CostQuantities];},1419761937:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.Identification,i.PredefinedType,i.Status,i.SubmittedOn,i.UpdateDate];},4189326743:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ApplicableOccurrence,i.HasPropertySets,i.RepresentationMaps,i.Tag,i.ElementType,i.PredefinedType];},1916426348:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ApplicableOccurrence,i.HasPropertySets,i.RepresentationMaps,i.Tag,i.ElementType,i.PredefinedType];},3295246426:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.Identification,i.LongDescription,i.Usage,i.BaseCosts,i.BaseQuantity,i.PredefinedType];},1457835157:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ApplicableOccurrence,i.HasPropertySets,i.RepresentationMaps,i.Tag,i.ElementType,i.PredefinedType];},1213902940:function _(i){return[i.Position,i.Radius];},1306400036:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ApplicableOccurrence,i.HasPropertySets,i.RepresentationMaps,i.Tag,i.ElementType];},4234616927:function _(i){return[i.SweptArea,i.Position,i.Directrix,!i.StartParam?null:Labelise(i.StartParam),!i.EndParam?null:Labelise(i.EndParam),i.FixedReference];},3256556792:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ApplicableOccurrence,i.HasPropertySets,i.RepresentationMaps,i.Tag,i.ElementType];},3849074793:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ApplicableOccurrence,i.HasPropertySets,i.RepresentationMaps,i.Tag,i.ElementType];},2963535650:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.LiningDepth,i.LiningThickness,i.ThresholdDepth,i.ThresholdThickness,i.TransomThickness,i.TransomOffset,i.LiningOffset,i.ThresholdOffset,i.CasingThickness,i.CasingDepth,i.ShapeAspectStyle,i.LiningToPanelOffsetX,i.LiningToPanelOffsetY];},1714330368:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.PanelDepth,i.PanelOperation,i.PanelWidth,i.PanelPosition,i.ShapeAspectStyle];},2323601079:function _(i){var _a;return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ApplicableOccurrence,i.HasPropertySets,i.RepresentationMaps,i.Tag,i.ElementType,i.PredefinedType,i.OperationType,(_a=i.ParameterTakesPrecedence)==null?void 0:_a.toString(),i.UserDefinedOperationType];},445594917:function _(i){return[i.Name];},4006246654:function _(i){return[i.Name];},1758889154:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.ObjectPlacement,i.Representation,i.Tag];},4123344466:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.ObjectPlacement,i.Representation,i.Tag,i.AssemblyPlace,i.PredefinedType];},2397081782:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ApplicableOccurrence,i.HasPropertySets,i.RepresentationMaps,i.Tag,i.ElementType,i.PredefinedType];},1623761950:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.ObjectPlacement,i.Representation,i.Tag];},2590856083:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ApplicableOccurrence,i.HasPropertySets,i.RepresentationMaps,i.Tag,i.ElementType];},1704287377:function _(i){return[i.Position,i.SemiAxis1,i.SemiAxis2];},2107101300:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ApplicableOccurrence,i.HasPropertySets,i.RepresentationMaps,i.Tag,i.ElementType];},132023988:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ApplicableOccurrence,i.HasPropertySets,i.RepresentationMaps,i.Tag,i.ElementType,i.PredefinedType];},3174744832:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ApplicableOccurrence,i.HasPropertySets,i.RepresentationMaps,i.Tag,i.ElementType,i.PredefinedType];},3390157468:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ApplicableOccurrence,i.HasPropertySets,i.RepresentationMaps,i.Tag,i.ElementType,i.PredefinedType];},4148101412:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.Identification,i.LongDescription,i.PredefinedType,i.EventTriggerType,i.UserDefinedEventTriggerType,i.EventOccurenceTime];},2853485674:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.ObjectPlacement,i.Representation,i.LongName];},807026263:function _(i){return[i.Outer];},3737207727:function _(i){return[i.Outer,i.Voids];},24185140:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.ObjectPlacement,i.Representation,i.LongName,i.CompositionType];},1310830890:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.ObjectPlacement,i.Representation,i.LongName,i.CompositionType,i.UsageType];},4228831410:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.ObjectPlacement,i.Representation,i.LongName,i.CompositionType,i.UsageType,i.PredefinedType];},647756555:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.ObjectPlacement,i.Representation,i.Tag,i.PredefinedType];},2489546625:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ApplicableOccurrence,i.HasPropertySets,i.RepresentationMaps,i.Tag,i.ElementType,i.PredefinedType];},2827207264:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.ObjectPlacement,i.Representation,i.Tag];},2143335405:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.ObjectPlacement,i.Representation,i.Tag];},1287392070:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.ObjectPlacement,i.Representation,i.Tag];},3907093117:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ApplicableOccurrence,i.HasPropertySets,i.RepresentationMaps,i.Tag,i.ElementType];},3198132628:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ApplicableOccurrence,i.HasPropertySets,i.RepresentationMaps,i.Tag,i.ElementType];},3815607619:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ApplicableOccurrence,i.HasPropertySets,i.RepresentationMaps,i.Tag,i.ElementType,i.PredefinedType];},1482959167:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ApplicableOccurrence,i.HasPropertySets,i.RepresentationMaps,i.Tag,i.ElementType];},1834744321:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ApplicableOccurrence,i.HasPropertySets,i.RepresentationMaps,i.Tag,i.ElementType];},1339347760:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ApplicableOccurrence,i.HasPropertySets,i.RepresentationMaps,i.Tag,i.ElementType];},2297155007:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ApplicableOccurrence,i.HasPropertySets,i.RepresentationMaps,i.Tag,i.ElementType];},3009222698:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ApplicableOccurrence,i.HasPropertySets,i.RepresentationMaps,i.Tag,i.ElementType];},1893162501:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ApplicableOccurrence,i.HasPropertySets,i.RepresentationMaps,i.Tag,i.ElementType,i.PredefinedType];},263784265:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.ObjectPlacement,i.Representation,i.Tag];},1509553395:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.ObjectPlacement,i.Representation,i.Tag,i.PredefinedType];},3493046030:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.ObjectPlacement,i.Representation,i.Tag,i.PredefinedType];},4230923436:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.ObjectPlacement,i.Representation,i.Tag];},1594536857:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.ObjectPlacement,i.Representation,i.Tag,i.PredefinedType];},2898700619:function _(i){var _a;return[i.Segments,(_a=i.SelfIntersect)==null?void 0:_a.toString(),i.BaseCurve,i.EndPoint];},2706460486:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType];},1251058090:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ApplicableOccurrence,i.HasPropertySets,i.RepresentationMaps,i.Tag,i.ElementType,i.PredefinedType];},1806887404:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ApplicableOccurrence,i.HasPropertySets,i.RepresentationMaps,i.Tag,i.ElementType,i.PredefinedType];},2568555532:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.ObjectPlacement,i.Representation,i.Tag,i.PredefinedType];},3948183225:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ApplicableOccurrence,i.HasPropertySets,i.RepresentationMaps,i.Tag,i.ElementType,i.PredefinedType];},2571569899:function _(i){var _a;return[i.Points,!i.Segments?null:i.Segments.map(function(p){return Labelise(p);}),(_a=i.SelfIntersect)==null?void 0:_a.toString()];},3946677679:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ApplicableOccurrence,i.HasPropertySets,i.RepresentationMaps,i.Tag,i.ElementType,i.PredefinedType];},3113134337:function _(i){return[i.Curve3D,i.AssociatedGeometry,i.MasterRepresentation];},2391368822:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.PredefinedType,i.Jurisdiction,i.ResponsiblePersons,i.LastUpdateDate,i.CurrentValue,i.OriginalValue];},4288270099:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ApplicableOccurrence,i.HasPropertySets,i.RepresentationMaps,i.Tag,i.ElementType,i.PredefinedType];},679976338:function _(i){var _a;return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ApplicableOccurrence,i.HasPropertySets,i.RepresentationMaps,i.Tag,i.ElementType,(_a=i.Mountable)==null?void 0:_a.toString()];},3827777499:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.Identification,i.LongDescription,i.Usage,i.BaseCosts,i.BaseQuantity,i.PredefinedType];},1051575348:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ApplicableOccurrence,i.HasPropertySets,i.RepresentationMaps,i.Tag,i.ElementType,i.PredefinedType];},1161773419:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ApplicableOccurrence,i.HasPropertySets,i.RepresentationMaps,i.Tag,i.ElementType,i.PredefinedType];},2176059722:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.ObjectPlacement,i.Representation];},1770583370:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ApplicableOccurrence,i.HasPropertySets,i.RepresentationMaps,i.Tag,i.ElementType,i.PredefinedType];},525669439:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.ObjectPlacement,i.Representation,i.LongName,i.CompositionType,i.PredefinedType];},976884017:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.ObjectPlacement,i.Representation,i.LongName,i.CompositionType,i.UsageType,i.PredefinedType];},377706215:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.ObjectPlacement,i.Representation,i.Tag,i.NominalDiameter,i.NominalLength,i.PredefinedType];},2108223431:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ApplicableOccurrence,i.HasPropertySets,i.RepresentationMaps,i.Tag,i.ElementType,i.PredefinedType,i.NominalDiameter,i.NominalLength];},1114901282:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ApplicableOccurrence,i.HasPropertySets,i.RepresentationMaps,i.Tag,i.ElementType,i.PredefinedType];},3181161470:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ApplicableOccurrence,i.HasPropertySets,i.RepresentationMaps,i.Tag,i.ElementType,i.PredefinedType];},1950438474:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ApplicableOccurrence,i.HasPropertySets,i.RepresentationMaps,i.Tag,i.ElementType,i.PredefinedType];},710110818:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ApplicableOccurrence,i.HasPropertySets,i.RepresentationMaps,i.Tag,i.ElementType,i.PredefinedType];},977012517:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ApplicableOccurrence,i.HasPropertySets,i.RepresentationMaps,i.Tag,i.ElementType,i.PredefinedType];},506776471:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ApplicableOccurrence,i.HasPropertySets,i.RepresentationMaps,i.Tag,i.ElementType,i.PredefinedType];},4143007308:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.TheActor,i.PredefinedType];},3588315303:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.ObjectPlacement,i.Representation,i.Tag,i.PredefinedType];},2837617999:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ApplicableOccurrence,i.HasPropertySets,i.RepresentationMaps,i.Tag,i.ElementType,i.PredefinedType];},514975943:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ApplicableOccurrence,i.HasPropertySets,i.RepresentationMaps,i.Tag,i.ElementType,i.PredefinedType];},2382730787:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.Identification,i.LifeCyclePhase,i.PredefinedType];},3566463478:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.OperationType,i.PanelPosition,i.FrameDepth,i.FrameThickness,i.ShapeAspectStyle];},3327091369:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.Identification,i.PredefinedType,i.Status,i.LongDescription];},1158309216:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ApplicableOccurrence,i.HasPropertySets,i.RepresentationMaps,i.Tag,i.ElementType,i.PredefinedType];},804291784:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ApplicableOccurrence,i.HasPropertySets,i.RepresentationMaps,i.Tag,i.ElementType,i.PredefinedType];},4231323485:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ApplicableOccurrence,i.HasPropertySets,i.RepresentationMaps,i.Tag,i.ElementType,i.PredefinedType];},4017108033:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ApplicableOccurrence,i.HasPropertySets,i.RepresentationMaps,i.Tag,i.ElementType,i.PredefinedType];},2839578677:function _(i){var _a;return[i.Coordinates,(_a=i.Closed)==null?void 0:_a.toString(),i.Faces,i.PnIndex];},3724593414:function _(i){return[i.Points];},3740093272:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.ObjectPlacement,i.Representation];},1946335990:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.ObjectPlacement,i.Representation];},2744685151:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.Identification,i.LongDescription,i.PredefinedType];},2904328755:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.Identification,i.PredefinedType,i.Status,i.LongDescription];},3651124850:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.ObjectPlacement,i.Representation,i.Tag,i.PredefinedType];},1842657554:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ApplicableOccurrence,i.HasPropertySets,i.RepresentationMaps,i.Tag,i.ElementType,i.PredefinedType];},2250791053:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ApplicableOccurrence,i.HasPropertySets,i.RepresentationMaps,i.Tag,i.ElementType,i.PredefinedType];},1763565496:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ApplicableOccurrence,i.HasPropertySets,i.RepresentationMaps,i.Tag,i.ElementType,i.PredefinedType];},2893384427:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ApplicableOccurrence,i.HasPropertySets,i.RepresentationMaps,i.Tag,i.ElementType,i.PredefinedType];},3992365140:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.ObjectPlacement,i.Representation,i.LongName,i.CompositionType,i.PredefinedType];},1891881377:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.ObjectPlacement,i.Representation,i.LongName,i.CompositionType,i.UsageType,i.PredefinedType];},2324767716:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ApplicableOccurrence,i.HasPropertySets,i.RepresentationMaps,i.Tag,i.ElementType,i.PredefinedType];},1469900589:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ApplicableOccurrence,i.HasPropertySets,i.RepresentationMaps,i.Tag,i.ElementType,i.PredefinedType];},683857671:function _(i){var _a,_b,_c;return[i.UDegree,i.VDegree,i.ControlPointsList,i.SurfaceForm,(_a=i.UClosed)==null?void 0:_a.toString(),(_b=i.VClosed)==null?void 0:_b.toString(),(_c=i.SelfIntersect)==null?void 0:_c.toString(),i.UMultiplicities,i.VMultiplicities,i.UKnots,i.VKnots,i.KnotSpec,i.WeightsData];},4021432810:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.ObjectPlacement,i.Representation,i.PredefinedType];},3027567501:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.ObjectPlacement,i.Representation,i.Tag,i.SteelGrade];},964333572:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ApplicableOccurrence,i.HasPropertySets,i.RepresentationMaps,i.Tag,i.ElementType];},2320036040:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.ObjectPlacement,i.Representation,i.Tag,i.SteelGrade,i.MeshLength,i.MeshWidth,i.LongitudinalBarNominalDiameter,i.TransverseBarNominalDiameter,i.LongitudinalBarCrossSectionArea,i.TransverseBarCrossSectionArea,i.LongitudinalBarSpacing,i.TransverseBarSpacing,i.PredefinedType];},2310774935:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ApplicableOccurrence,i.HasPropertySets,i.RepresentationMaps,i.Tag,i.ElementType,i.PredefinedType,i.MeshLength,i.MeshWidth,i.LongitudinalBarNominalDiameter,i.TransverseBarNominalDiameter,i.LongitudinalBarCrossSectionArea,i.TransverseBarCrossSectionArea,i.LongitudinalBarSpacing,i.TransverseBarSpacing,i.BendingShapeCode,!i.BendingParameters?null:i.BendingParameters.map(function(p){return Labelise(p);})];},3818125796:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.RelatingElement,i.RelatedSurfaceFeatures];},160246688:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.RelatingObject,i.RelatedObjects];},146592293:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.ObjectPlacement,i.Representation,i.LongName,i.CompositionType,i.PredefinedType];},550521510:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.ObjectPlacement,i.Representation,i.LongName,i.CompositionType,i.UsageType,i.PredefinedType];},2781568857:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ApplicableOccurrence,i.HasPropertySets,i.RepresentationMaps,i.Tag,i.ElementType,i.PredefinedType];},1768891740:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ApplicableOccurrence,i.HasPropertySets,i.RepresentationMaps,i.Tag,i.ElementType,i.PredefinedType];},2157484638:function _(i){return[i.Curve3D,i.AssociatedGeometry,i.MasterRepresentation];},3649235739:function _(i){return[i.Position,i.QuadraticTerm,i.LinearTerm,i.ConstantTerm];},544395925:function _(i){var _a;return[i.Segments,(_a=i.SelfIntersect)==null?void 0:_a.toString(),i.BaseCurve,i.EndPoint];},1027922057:function _(i){return[i.Position,i.SepticTerm,i.SexticTerm,i.QuinticTerm,i.QuarticTerm,i.CubicTerm,i.QuadraticTerm,i.LinearTerm,i.ConstantTerm];},4074543187:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ApplicableOccurrence,i.HasPropertySets,i.RepresentationMaps,i.Tag,i.ElementType,i.PredefinedType];},33720170:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.ObjectPlacement,i.Representation,i.Tag,i.PredefinedType];},3599934289:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ApplicableOccurrence,i.HasPropertySets,i.RepresentationMaps,i.Tag,i.ElementType,i.PredefinedType];},1894708472:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ApplicableOccurrence,i.HasPropertySets,i.RepresentationMaps,i.Tag,i.ElementType,i.PredefinedType];},42703149:function _(i){return[i.Position,i.SineTerm,i.LinearTerm,i.ConstantTerm];},4097777520:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.ObjectPlacement,i.Representation,i.LongName,i.CompositionType,i.RefLatitude,i.RefLongitude,i.RefElevation,i.LandTitleNumber,i.SiteAddress];},2533589738:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ApplicableOccurrence,i.HasPropertySets,i.RepresentationMaps,i.Tag,i.ElementType,i.PredefinedType];},1072016465:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ApplicableOccurrence,i.HasPropertySets,i.RepresentationMaps,i.Tag,i.ElementType,i.PredefinedType];},3856911033:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.ObjectPlacement,i.Representation,i.LongName,i.CompositionType,i.PredefinedType,i.ElevationWithFlooring];},1305183839:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ApplicableOccurrence,i.HasPropertySets,i.RepresentationMaps,i.Tag,i.ElementType,i.PredefinedType];},3812236995:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ApplicableOccurrence,i.HasPropertySets,i.RepresentationMaps,i.Tag,i.ElementType,i.PredefinedType,i.LongName];},3112655638:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ApplicableOccurrence,i.HasPropertySets,i.RepresentationMaps,i.Tag,i.ElementType,i.PredefinedType];},1039846685:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ApplicableOccurrence,i.HasPropertySets,i.RepresentationMaps,i.Tag,i.ElementType,i.PredefinedType];},338393293:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ApplicableOccurrence,i.HasPropertySets,i.RepresentationMaps,i.Tag,i.ElementType,i.PredefinedType];},682877961:function _(i){var _a;return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.ObjectPlacement,i.Representation,i.AppliedLoad,i.GlobalOrLocal,(_a=i.DestabilizingLoad)==null?void 0:_a.toString()];},1179482911:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.ObjectPlacement,i.Representation,i.AppliedCondition];},1004757350:function _(i){var _a;return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.ObjectPlacement,i.Representation,i.AppliedLoad,i.GlobalOrLocal,(_a=i.DestabilizingLoad)==null?void 0:_a.toString(),i.ProjectedOrTrue,i.PredefinedType];},4243806635:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.ObjectPlacement,i.Representation,i.AppliedCondition,i.AxisDirection];},214636428:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.ObjectPlacement,i.Representation,i.PredefinedType,i.Axis];},2445595289:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.ObjectPlacement,i.Representation,i.PredefinedType,i.Axis];},2757150158:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.ObjectPlacement,i.Representation,i.AppliedLoad,i.GlobalOrLocal,i.PredefinedType];},1807405624:function _(i){var _a;return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.ObjectPlacement,i.Representation,i.AppliedLoad,i.GlobalOrLocal,(_a=i.DestabilizingLoad)==null?void 0:_a.toString(),i.ProjectedOrTrue,i.PredefinedType];},1252848954:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.PredefinedType,i.ActionType,i.ActionSource,i.Coefficient,i.Purpose];},2082059205:function _(i){var _a;return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.ObjectPlacement,i.Representation,i.AppliedLoad,i.GlobalOrLocal,(_a=i.DestabilizingLoad)==null?void 0:_a.toString()];},734778138:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.ObjectPlacement,i.Representation,i.AppliedCondition,i.ConditionCoordinateSystem];},1235345126:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.ObjectPlacement,i.Representation,i.AppliedLoad,i.GlobalOrLocal];},2986769608:function _(i){var _a;return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.TheoryType,i.ResultForLoadGroup,(_a=i.IsLinear)==null?void 0:_a.toString()];},3657597509:function _(i){var _a;return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.ObjectPlacement,i.Representation,i.AppliedLoad,i.GlobalOrLocal,(_a=i.DestabilizingLoad)==null?void 0:_a.toString(),i.ProjectedOrTrue,i.PredefinedType];},1975003073:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.ObjectPlacement,i.Representation,i.AppliedCondition];},148013059:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.Identification,i.LongDescription,i.Usage,i.BaseCosts,i.BaseQuantity,i.PredefinedType];},3101698114:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.ObjectPlacement,i.Representation,i.Tag,i.PredefinedType];},2315554128:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ApplicableOccurrence,i.HasPropertySets,i.RepresentationMaps,i.Tag,i.ElementType,i.PredefinedType];},2254336722:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType];},413509423:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.ObjectPlacement,i.Representation,i.Tag,i.PredefinedType];},5716631:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ApplicableOccurrence,i.HasPropertySets,i.RepresentationMaps,i.Tag,i.ElementType,i.PredefinedType];},3824725483:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.ObjectPlacement,i.Representation,i.Tag,i.SteelGrade,i.PredefinedType,i.NominalDiameter,i.CrossSectionArea,i.TensionForce,i.PreStress,i.FrictionCoefficient,i.AnchorageSlip,i.MinCurvatureRadius];},2347447852:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.ObjectPlacement,i.Representation,i.Tag,i.SteelGrade,i.PredefinedType];},3081323446:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ApplicableOccurrence,i.HasPropertySets,i.RepresentationMaps,i.Tag,i.ElementType,i.PredefinedType];},3663046924:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.ObjectPlacement,i.Representation,i.Tag,i.SteelGrade,i.PredefinedType];},2281632017:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ApplicableOccurrence,i.HasPropertySets,i.RepresentationMaps,i.Tag,i.ElementType,i.PredefinedType];},2415094496:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ApplicableOccurrence,i.HasPropertySets,i.RepresentationMaps,i.Tag,i.ElementType,i.PredefinedType,i.NominalDiameter,i.CrossSectionArea,i.SheathDiameter];},618700268:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ApplicableOccurrence,i.HasPropertySets,i.RepresentationMaps,i.Tag,i.ElementType,i.PredefinedType];},1692211062:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ApplicableOccurrence,i.HasPropertySets,i.RepresentationMaps,i.Tag,i.ElementType,i.PredefinedType];},2097647324:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ApplicableOccurrence,i.HasPropertySets,i.RepresentationMaps,i.Tag,i.ElementType,i.PredefinedType];},1953115116:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.ObjectPlacement,i.Representation,i.Tag];},3593883385:function _(i){var _a;return[i.BasisCurve,i.Trim1,i.Trim2,(_a=i.SenseAgreement)==null?void 0:_a.toString(),i.MasterRepresentation];},1600972822:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ApplicableOccurrence,i.HasPropertySets,i.RepresentationMaps,i.Tag,i.ElementType,i.PredefinedType];},1911125066:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ApplicableOccurrence,i.HasPropertySets,i.RepresentationMaps,i.Tag,i.ElementType,i.PredefinedType];},728799441:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ApplicableOccurrence,i.HasPropertySets,i.RepresentationMaps,i.Tag,i.ElementType,i.PredefinedType];},840318589:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.ObjectPlacement,i.Representation,i.Tag,i.PredefinedType];},1530820697:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.ObjectPlacement,i.Representation,i.Tag,i.PredefinedType];},3956297820:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ApplicableOccurrence,i.HasPropertySets,i.RepresentationMaps,i.Tag,i.ElementType,i.PredefinedType];},2391383451:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.ObjectPlacement,i.Representation,i.Tag,i.PredefinedType];},3313531582:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ApplicableOccurrence,i.HasPropertySets,i.RepresentationMaps,i.Tag,i.ElementType,i.PredefinedType];},2769231204:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.ObjectPlacement,i.Representation,i.Tag,i.PredefinedType];},926996030:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.ObjectPlacement,i.Representation,i.Tag,i.PredefinedType];},1898987631:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ApplicableOccurrence,i.HasPropertySets,i.RepresentationMaps,i.Tag,i.ElementType,i.PredefinedType];},1133259667:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ApplicableOccurrence,i.HasPropertySets,i.RepresentationMaps,i.Tag,i.ElementType,i.PredefinedType];},4009809668:function _(i){var _a;return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ApplicableOccurrence,i.HasPropertySets,i.RepresentationMaps,i.Tag,i.ElementType,i.PredefinedType,i.PartitioningType,(_a=i.ParameterTakesPrecedence)==null?void 0:_a.toString(),i.UserDefinedPartitioningType];},4088093105:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.Identification,i.WorkingTimes,i.ExceptionTimes,i.PredefinedType];},1028945134:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.Identification,i.CreationDate,i.Creators,i.Purpose,i.Duration,i.TotalFloat,i.StartTime,i.FinishTime];},4218914973:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.Identification,i.CreationDate,i.Creators,i.Purpose,i.Duration,i.TotalFloat,i.StartTime,i.FinishTime,i.PredefinedType];},3342526732:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.Identification,i.CreationDate,i.Creators,i.Purpose,i.Duration,i.TotalFloat,i.StartTime,i.FinishTime,i.PredefinedType];},1033361043:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.LongName];},3821786052:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.Identification,i.PredefinedType,i.Status,i.LongDescription];},1411407467:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ApplicableOccurrence,i.HasPropertySets,i.RepresentationMaps,i.Tag,i.ElementType,i.PredefinedType];},3352864051:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ApplicableOccurrence,i.HasPropertySets,i.RepresentationMaps,i.Tag,i.ElementType,i.PredefinedType];},1871374353:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ApplicableOccurrence,i.HasPropertySets,i.RepresentationMaps,i.Tag,i.ElementType,i.PredefinedType];},4266260250:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.ObjectPlacement,i.Representation,i.RailHeadDistance];},1545765605:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.ObjectPlacement,i.Representation];},317615605:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.ObjectPlacement,i.Representation,i.DesignParameters];},1662888072:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.ObjectPlacement,i.Representation];},3460190687:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.Identification,i.OriginalValue,i.CurrentValue,i.TotalReplacementCost,i.Owner,i.User,i.ResponsiblePerson,i.IncorporationDate,i.DepreciatedValue];},1532957894:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ApplicableOccurrence,i.HasPropertySets,i.RepresentationMaps,i.Tag,i.ElementType,i.PredefinedType];},1967976161:function _(i){var _a,_b;return[i.Degree,i.ControlPointsList,i.CurveForm,(_a=i.ClosedCurve)==null?void 0:_a.toString(),(_b=i.SelfIntersect)==null?void 0:_b.toString()];},2461110595:function _(i){var _a,_b;return[i.Degree,i.ControlPointsList,i.CurveForm,(_a=i.ClosedCurve)==null?void 0:_a.toString(),(_b=i.SelfIntersect)==null?void 0:_b.toString(),i.KnotMultiplicities,i.Knots,i.KnotSpec];},819618141:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ApplicableOccurrence,i.HasPropertySets,i.RepresentationMaps,i.Tag,i.ElementType,i.PredefinedType];},3649138523:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ApplicableOccurrence,i.HasPropertySets,i.RepresentationMaps,i.Tag,i.ElementType,i.PredefinedType];},231477066:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ApplicableOccurrence,i.HasPropertySets,i.RepresentationMaps,i.Tag,i.ElementType,i.PredefinedType];},1136057603:function _(i){var _a;return[i.Segments,(_a=i.SelfIntersect)==null?void 0:_a.toString()];},644574406:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.ObjectPlacement,i.Representation,i.LongName,i.CompositionType,i.PredefinedType];},963979645:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.ObjectPlacement,i.Representation,i.LongName,i.CompositionType,i.UsageType,i.PredefinedType];},4031249490:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.ObjectPlacement,i.Representation,i.LongName,i.CompositionType,i.ElevationOfRefHeight,i.ElevationOfTerrain,i.BuildingAddress];},2979338954:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.ObjectPlacement,i.Representation,i.Tag,i.PredefinedType];},39481116:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ApplicableOccurrence,i.HasPropertySets,i.RepresentationMaps,i.Tag,i.ElementType,i.PredefinedType];},1909888760:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ApplicableOccurrence,i.HasPropertySets,i.RepresentationMaps,i.Tag,i.ElementType,i.PredefinedType];},1177604601:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.PredefinedType,i.LongName];},1876633798:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.ObjectPlacement,i.Representation,i.Tag];},3862327254:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.PredefinedType,i.LongName];},2188180465:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ApplicableOccurrence,i.HasPropertySets,i.RepresentationMaps,i.Tag,i.ElementType,i.PredefinedType];},395041908:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ApplicableOccurrence,i.HasPropertySets,i.RepresentationMaps,i.Tag,i.ElementType,i.PredefinedType];},3293546465:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ApplicableOccurrence,i.HasPropertySets,i.RepresentationMaps,i.Tag,i.ElementType,i.PredefinedType];},2674252688:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ApplicableOccurrence,i.HasPropertySets,i.RepresentationMaps,i.Tag,i.ElementType,i.PredefinedType];},1285652485:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ApplicableOccurrence,i.HasPropertySets,i.RepresentationMaps,i.Tag,i.ElementType,i.PredefinedType];},3203706013:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ApplicableOccurrence,i.HasPropertySets,i.RepresentationMaps,i.Tag,i.ElementType,i.PredefinedType];},2951183804:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ApplicableOccurrence,i.HasPropertySets,i.RepresentationMaps,i.Tag,i.ElementType,i.PredefinedType];},3296154744:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.ObjectPlacement,i.Representation,i.Tag,i.PredefinedType];},2611217952:function _(i){return[i.Position,i.Radius];},1677625105:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.ObjectPlacement,i.Representation,i.Tag];},2301859152:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ApplicableOccurrence,i.HasPropertySets,i.RepresentationMaps,i.Tag,i.ElementType,i.PredefinedType];},843113511:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.ObjectPlacement,i.Representation,i.Tag,i.PredefinedType];},400855858:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ApplicableOccurrence,i.HasPropertySets,i.RepresentationMaps,i.Tag,i.ElementType,i.PredefinedType];},3850581409:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ApplicableOccurrence,i.HasPropertySets,i.RepresentationMaps,i.Tag,i.ElementType,i.PredefinedType];},2816379211:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ApplicableOccurrence,i.HasPropertySets,i.RepresentationMaps,i.Tag,i.ElementType,i.PredefinedType];},3898045240:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.Identification,i.LongDescription,i.Usage,i.BaseCosts,i.BaseQuantity,i.PredefinedType];},1060000209:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.Identification,i.LongDescription,i.Usage,i.BaseCosts,i.BaseQuantity,i.PredefinedType];},488727124:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.Identification,i.LongDescription,i.Usage,i.BaseCosts,i.BaseQuantity,i.PredefinedType];},2940368186:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ApplicableOccurrence,i.HasPropertySets,i.RepresentationMaps,i.Tag,i.ElementType,i.PredefinedType];},335055490:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ApplicableOccurrence,i.HasPropertySets,i.RepresentationMaps,i.Tag,i.ElementType,i.PredefinedType];},2954562838:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ApplicableOccurrence,i.HasPropertySets,i.RepresentationMaps,i.Tag,i.ElementType,i.PredefinedType];},1502416096:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.ObjectPlacement,i.Representation,i.Tag,i.PredefinedType];},1973544240:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.ObjectPlacement,i.Representation,i.Tag,i.PredefinedType];},3495092785:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.ObjectPlacement,i.Representation,i.Tag,i.PredefinedType];},3961806047:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ApplicableOccurrence,i.HasPropertySets,i.RepresentationMaps,i.Tag,i.ElementType,i.PredefinedType];},3426335179:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.ObjectPlacement,i.Representation,i.Tag];},1335981549:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.ObjectPlacement,i.Representation,i.Tag,i.PredefinedType];},2635815018:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ApplicableOccurrence,i.HasPropertySets,i.RepresentationMaps,i.Tag,i.ElementType,i.PredefinedType];},479945903:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ApplicableOccurrence,i.HasPropertySets,i.RepresentationMaps,i.Tag,i.ElementType,i.PredefinedType];},1599208980:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ApplicableOccurrence,i.HasPropertySets,i.RepresentationMaps,i.Tag,i.ElementType,i.PredefinedType];},2063403501:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ApplicableOccurrence,i.HasPropertySets,i.RepresentationMaps,i.Tag,i.ElementType];},1945004755:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.ObjectPlacement,i.Representation,i.Tag];},3040386961:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.ObjectPlacement,i.Representation,i.Tag];},3041715199:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.ObjectPlacement,i.Representation,i.FlowDirection,i.PredefinedType,i.SystemType];},3205830791:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.LongName,i.PredefinedType];},395920057:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.ObjectPlacement,i.Representation,i.Tag,i.OverallHeight,i.OverallWidth,i.PredefinedType,i.OperationType,i.UserDefinedOperationType];},869906466:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ApplicableOccurrence,i.HasPropertySets,i.RepresentationMaps,i.Tag,i.ElementType,i.PredefinedType];},3760055223:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ApplicableOccurrence,i.HasPropertySets,i.RepresentationMaps,i.Tag,i.ElementType,i.PredefinedType];},2030761528:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ApplicableOccurrence,i.HasPropertySets,i.RepresentationMaps,i.Tag,i.ElementType,i.PredefinedType];},3071239417:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.ObjectPlacement,i.Representation,i.Tag,i.PredefinedType];},1077100507:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.ObjectPlacement,i.Representation,i.Tag];},3376911765:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.ObjectPlacement,i.Representation,i.Tag,i.PredefinedType];},663422040:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ApplicableOccurrence,i.HasPropertySets,i.RepresentationMaps,i.Tag,i.ElementType,i.PredefinedType];},2417008758:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ApplicableOccurrence,i.HasPropertySets,i.RepresentationMaps,i.Tag,i.ElementType,i.PredefinedType];},3277789161:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ApplicableOccurrence,i.HasPropertySets,i.RepresentationMaps,i.Tag,i.ElementType,i.PredefinedType];},2142170206:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ApplicableOccurrence,i.HasPropertySets,i.RepresentationMaps,i.Tag,i.ElementType,i.PredefinedType];},1534661035:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ApplicableOccurrence,i.HasPropertySets,i.RepresentationMaps,i.Tag,i.ElementType,i.PredefinedType];},1217240411:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ApplicableOccurrence,i.HasPropertySets,i.RepresentationMaps,i.Tag,i.ElementType,i.PredefinedType];},712377611:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ApplicableOccurrence,i.HasPropertySets,i.RepresentationMaps,i.Tag,i.ElementType,i.PredefinedType];},1658829314:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.ObjectPlacement,i.Representation,i.Tag];},2814081492:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.ObjectPlacement,i.Representation,i.Tag,i.PredefinedType];},3747195512:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.ObjectPlacement,i.Representation,i.Tag,i.PredefinedType];},484807127:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.ObjectPlacement,i.Representation,i.Tag,i.PredefinedType];},1209101575:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.ObjectPlacement,i.Representation,i.LongName,i.PredefinedType];},346874300:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ApplicableOccurrence,i.HasPropertySets,i.RepresentationMaps,i.Tag,i.ElementType,i.PredefinedType];},1810631287:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ApplicableOccurrence,i.HasPropertySets,i.RepresentationMaps,i.Tag,i.ElementType,i.PredefinedType];},4222183408:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ApplicableOccurrence,i.HasPropertySets,i.RepresentationMaps,i.Tag,i.ElementType,i.PredefinedType];},2058353004:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.ObjectPlacement,i.Representation,i.Tag];},4278956645:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.ObjectPlacement,i.Representation,i.Tag];},4037862832:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ApplicableOccurrence,i.HasPropertySets,i.RepresentationMaps,i.Tag,i.ElementType,i.PredefinedType];},2188021234:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.ObjectPlacement,i.Representation,i.Tag,i.PredefinedType];},3132237377:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.ObjectPlacement,i.Representation,i.Tag];},987401354:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.ObjectPlacement,i.Representation,i.Tag];},707683696:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.ObjectPlacement,i.Representation,i.Tag];},2223149337:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.ObjectPlacement,i.Representation,i.Tag];},3508470533:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.ObjectPlacement,i.Representation,i.Tag];},900683007:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.ObjectPlacement,i.Representation,i.Tag,i.PredefinedType];},2713699986:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.ObjectPlacement,i.Representation,i.Tag];},3009204131:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.ObjectPlacement,i.Representation,i.UAxes,i.VAxes,i.WAxes,i.PredefinedType];},3319311131:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.ObjectPlacement,i.Representation,i.Tag,i.PredefinedType];},2068733104:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.ObjectPlacement,i.Representation,i.Tag,i.PredefinedType];},4175244083:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.ObjectPlacement,i.Representation,i.Tag,i.PredefinedType];},2176052936:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.ObjectPlacement,i.Representation,i.Tag,i.PredefinedType];},2696325953:function _(i){var _a;return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.ObjectPlacement,i.Representation,i.Tag,(_a=i.Mountable)==null?void 0:_a.toString()];},76236018:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.ObjectPlacement,i.Representation,i.Tag,i.PredefinedType];},629592764:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.ObjectPlacement,i.Representation,i.Tag,i.PredefinedType];},1154579445:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.ObjectPlacement,i.Representation];},1638804497:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.ObjectPlacement,i.Representation,i.Tag,i.PredefinedType];},1437502449:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.ObjectPlacement,i.Representation,i.Tag,i.PredefinedType];},1073191201:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.ObjectPlacement,i.Representation,i.Tag,i.PredefinedType];},2078563270:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.ObjectPlacement,i.Representation,i.Tag,i.PredefinedType];},234836483:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.ObjectPlacement,i.Representation,i.Tag,i.PredefinedType];},2474470126:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.ObjectPlacement,i.Representation,i.Tag,i.PredefinedType];},2182337498:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.ObjectPlacement,i.Representation,i.Tag,i.PredefinedType];},144952367:function _(i){var _a;return[i.Segments,(_a=i.SelfIntersect)==null?void 0:_a.toString()];},3694346114:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.ObjectPlacement,i.Representation,i.Tag,i.PredefinedType];},1383356374:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.ObjectPlacement,i.Representation,i.Tag,i.PredefinedType];},1687234759:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.ObjectPlacement,i.Representation,i.Tag,i.PredefinedType,i.ConstructionType];},310824031:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.ObjectPlacement,i.Representation,i.Tag,i.PredefinedType];},3612865200:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.ObjectPlacement,i.Representation,i.Tag,i.PredefinedType];},3171933400:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.ObjectPlacement,i.Representation,i.Tag,i.PredefinedType];},738039164:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.ObjectPlacement,i.Representation,i.Tag,i.PredefinedType];},655969474:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ApplicableOccurrence,i.HasPropertySets,i.RepresentationMaps,i.Tag,i.ElementType,i.PredefinedType];},90941305:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.ObjectPlacement,i.Representation,i.Tag,i.PredefinedType];},3290496277:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.ObjectPlacement,i.Representation,i.Tag,i.PredefinedType];},2262370178:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.ObjectPlacement,i.Representation,i.Tag,i.PredefinedType];},3024970846:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.ObjectPlacement,i.Representation,i.Tag,i.PredefinedType];},3283111854:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.ObjectPlacement,i.Representation,i.Tag,i.PredefinedType];},1232101972:function _(i){var _a,_b;return[i.Degree,i.ControlPointsList,i.CurveForm,(_a=i.ClosedCurve)==null?void 0:_a.toString(),(_b=i.SelfIntersect)==null?void 0:_b.toString(),i.KnotMultiplicities,i.Knots,i.KnotSpec,i.WeightsData];},3798194928:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.ObjectPlacement,i.Representation,i.Tag,i.PredefinedType];},979691226:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.ObjectPlacement,i.Representation,i.Tag,i.SteelGrade,i.NominalDiameter,i.CrossSectionArea,i.BarLength,i.PredefinedType,i.BarSurface];},2572171363:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ApplicableOccurrence,i.HasPropertySets,i.RepresentationMaps,i.Tag,i.ElementType,i.PredefinedType,i.NominalDiameter,i.CrossSectionArea,i.BarLength,i.BarSurface,i.BendingShapeCode,!i.BendingParameters?null:i.BendingParameters.map(function(p){return Labelise(p);})];},2016517767:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.ObjectPlacement,i.Representation,i.Tag,i.PredefinedType];},3053780830:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.ObjectPlacement,i.Representation,i.Tag,i.PredefinedType];},1783015770:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ApplicableOccurrence,i.HasPropertySets,i.RepresentationMaps,i.Tag,i.ElementType,i.PredefinedType];},1329646415:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.ObjectPlacement,i.Representation,i.Tag,i.PredefinedType];},991950508:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.ObjectPlacement,i.Representation,i.Tag,i.PredefinedType];},1529196076:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.ObjectPlacement,i.Representation,i.Tag,i.PredefinedType];},3420628829:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.ObjectPlacement,i.Representation,i.Tag,i.PredefinedType];},1999602285:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.ObjectPlacement,i.Representation,i.Tag,i.PredefinedType];},1404847402:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.ObjectPlacement,i.Representation,i.Tag,i.PredefinedType];},331165859:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.ObjectPlacement,i.Representation,i.Tag,i.PredefinedType];},4252922144:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.ObjectPlacement,i.Representation,i.Tag,i.NumberOfRisers,i.NumberOfTreads,i.RiserHeight,i.TreadLength,i.PredefinedType];},2515109513:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.PredefinedType,i.OrientationOf2DPlane,i.LoadedBy,i.HasResults,i.SharedPlacement];},385403989:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.PredefinedType,i.ActionType,i.ActionSource,i.Coefficient,i.Purpose,i.SelfWeightCoefficients];},1621171031:function _(i){var _a;return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.ObjectPlacement,i.Representation,i.AppliedLoad,i.GlobalOrLocal,(_a=i.DestabilizingLoad)==null?void 0:_a.toString(),i.ProjectedOrTrue,i.PredefinedType];},1162798199:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.ObjectPlacement,i.Representation,i.Tag,i.PredefinedType];},812556717:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.ObjectPlacement,i.Representation,i.Tag,i.PredefinedType];},3425753595:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.ObjectPlacement,i.Representation,i.Tag,i.PredefinedType];},3825984169:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.ObjectPlacement,i.Representation,i.Tag,i.PredefinedType];},1620046519:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.ObjectPlacement,i.Representation,i.Tag,i.PredefinedType];},3026737570:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.ObjectPlacement,i.Representation,i.Tag,i.PredefinedType];},3179687236:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ApplicableOccurrence,i.HasPropertySets,i.RepresentationMaps,i.Tag,i.ElementType,i.PredefinedType];},4292641817:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.ObjectPlacement,i.Representation,i.Tag,i.PredefinedType];},4207607924:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.ObjectPlacement,i.Representation,i.Tag,i.PredefinedType];},2391406946:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.ObjectPlacement,i.Representation,i.Tag,i.PredefinedType];},3512223829:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.ObjectPlacement,i.Representation,i.Tag,i.PredefinedType];},4237592921:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.ObjectPlacement,i.Representation,i.Tag,i.PredefinedType];},3304561284:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.ObjectPlacement,i.Representation,i.Tag,i.OverallHeight,i.OverallWidth,i.PredefinedType,i.PartitioningType,i.UserDefinedPartitioningType];},2874132201:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ApplicableOccurrence,i.HasPropertySets,i.RepresentationMaps,i.Tag,i.ElementType,i.PredefinedType];},1634111441:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.ObjectPlacement,i.Representation,i.Tag,i.PredefinedType];},177149247:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.ObjectPlacement,i.Representation,i.Tag,i.PredefinedType];},2056796094:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.ObjectPlacement,i.Representation,i.Tag,i.PredefinedType];},3001207471:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ApplicableOccurrence,i.HasPropertySets,i.RepresentationMaps,i.Tag,i.ElementType,i.PredefinedType];},325726236:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.ObjectPlacement,i.Representation,i.PredefinedType];},277319702:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.ObjectPlacement,i.Representation,i.Tag,i.PredefinedType];},753842376:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.ObjectPlacement,i.Representation,i.Tag,i.PredefinedType];},4196446775:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.ObjectPlacement,i.Representation,i.Tag,i.PredefinedType];},32344328:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.ObjectPlacement,i.Representation,i.Tag,i.PredefinedType];},3314249567:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.ObjectPlacement,i.Representation,i.Tag];},1095909175:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.ObjectPlacement,i.Representation,i.Tag,i.PredefinedType];},2938176219:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.ObjectPlacement,i.Representation,i.Tag,i.PredefinedType];},635142910:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.ObjectPlacement,i.Representation,i.Tag,i.PredefinedType];},3758799889:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.ObjectPlacement,i.Representation,i.Tag,i.PredefinedType];},1051757585:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.ObjectPlacement,i.Representation,i.Tag,i.PredefinedType];},4217484030:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.ObjectPlacement,i.Representation,i.Tag,i.PredefinedType];},3999819293:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.ObjectPlacement,i.Representation,i.Tag,i.PredefinedType];},3902619387:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.ObjectPlacement,i.Representation,i.Tag,i.PredefinedType];},639361253:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.ObjectPlacement,i.Representation,i.Tag,i.PredefinedType];},3221913625:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.ObjectPlacement,i.Representation,i.Tag,i.PredefinedType];},3571504051:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.ObjectPlacement,i.Representation,i.Tag,i.PredefinedType];},2272882330:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.ObjectPlacement,i.Representation,i.Tag,i.PredefinedType];},578613899:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ApplicableOccurrence,i.HasPropertySets,i.RepresentationMaps,i.Tag,i.ElementType,i.PredefinedType];},3460952963:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.ObjectPlacement,i.Representation,i.Tag,i.PredefinedType];},4136498852:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.ObjectPlacement,i.Representation,i.Tag,i.PredefinedType];},3640358203:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.ObjectPlacement,i.Representation,i.Tag,i.PredefinedType];},4074379575:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.ObjectPlacement,i.Representation,i.Tag,i.PredefinedType];},3693000487:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.ObjectPlacement,i.Representation,i.Tag,i.PredefinedType];},1052013943:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.ObjectPlacement,i.Representation,i.Tag,i.PredefinedType];},562808652:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.LongName,i.PredefinedType];},1062813311:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.ObjectPlacement,i.Representation,i.Tag];},342316401:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.ObjectPlacement,i.Representation,i.Tag,i.PredefinedType];},3518393246:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.ObjectPlacement,i.Representation,i.Tag,i.PredefinedType];},1360408905:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.ObjectPlacement,i.Representation,i.Tag,i.PredefinedType];},1904799276:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.ObjectPlacement,i.Representation,i.Tag,i.PredefinedType];},862014818:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.ObjectPlacement,i.Representation,i.Tag,i.PredefinedType];},3310460725:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.ObjectPlacement,i.Representation,i.Tag,i.PredefinedType];},24726584:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.ObjectPlacement,i.Representation,i.Tag,i.PredefinedType];},264262732:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.ObjectPlacement,i.Representation,i.Tag,i.PredefinedType];},402227799:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.ObjectPlacement,i.Representation,i.Tag,i.PredefinedType];},1003880860:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.ObjectPlacement,i.Representation,i.Tag,i.PredefinedType];},3415622556:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.ObjectPlacement,i.Representation,i.Tag,i.PredefinedType];},819412036:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.ObjectPlacement,i.Representation,i.Tag,i.PredefinedType];},1426591983:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.ObjectPlacement,i.Representation,i.Tag,i.PredefinedType];},182646315:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.ObjectPlacement,i.Representation,i.Tag,i.PredefinedType];},2680139844:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.ObjectPlacement,i.Representation,i.Tag];},1971632696:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.ObjectPlacement,i.Representation,i.Tag];},2295281155:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.ObjectPlacement,i.Representation,i.Tag,i.PredefinedType];},4086658281:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.ObjectPlacement,i.Representation,i.Tag,i.PredefinedType];},630975310:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.ObjectPlacement,i.Representation,i.Tag,i.PredefinedType];},4288193352:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.ObjectPlacement,i.Representation,i.Tag,i.PredefinedType];},3087945054:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.ObjectPlacement,i.Representation,i.Tag,i.PredefinedType];},25142252:function _(i){return[i.GlobalId,i.OwnerHistory,i.Name,i.Description,i.ObjectType,i.ObjectPlacement,i.Representation,i.Tag,i.PredefinedType];}};TypeInitialisers[3]={3699917729:function _(v){return new IFC4X3.IfcAbsorbedDoseMeasure(v);},4182062534:function _(v){return new IFC4X3.IfcAccelerationMeasure(v);},360377573:function _(v){return new IFC4X3.IfcAmountOfSubstanceMeasure(v);},632304761:function _(v){return new IFC4X3.IfcAngularVelocityMeasure(v);},3683503648:function _(v){return new IFC4X3.IfcArcIndex(v);},1500781891:function _(v){return new IFC4X3.IfcAreaDensityMeasure(v);},2650437152:function _(v){return new IFC4X3.IfcAreaMeasure(v);},2314439260:function _(v){return new IFC4X3.IfcBinary(v);},2735952531:function _(v){return new IFC4X3.IfcBoolean(v);},1867003952:function _(v){return new IFC4X3.IfcBoxAlignment(v);},1683019596:function _(v){return new IFC4X3.IfcCardinalPointReference(v);},2991860651:function _(v){return new IFC4X3.IfcComplexNumber(v);},3812528620:function _(v){return new IFC4X3.IfcCompoundPlaneAngleMeasure(v);},3238673880:function _(v){return new IFC4X3.IfcContextDependentMeasure(v);},1778710042:function _(v){return new IFC4X3.IfcCountMeasure(v);},94842927:function _(v){return new IFC4X3.IfcCurvatureMeasure(v);},937566702:function _(v){return new IFC4X3.IfcDate(v);},2195413836:function _(v){return new IFC4X3.IfcDateTime(v);},86635668:function _(v){return new IFC4X3.IfcDayInMonthNumber(v);},3701338814:function _(v){return new IFC4X3.IfcDayInWeekNumber(v);},1514641115:function _(v){return new IFC4X3.IfcDescriptiveMeasure(v);},4134073009:function _(v){return new IFC4X3.IfcDimensionCount(v);},524656162:function _(v){return new IFC4X3.IfcDoseEquivalentMeasure(v);},2541165894:function _(v){return new IFC4X3.IfcDuration(v);},69416015:function _(v){return new IFC4X3.IfcDynamicViscosityMeasure(v);},1827137117:function _(v){return new IFC4X3.IfcElectricCapacitanceMeasure(v);},3818826038:function _(v){return new IFC4X3.IfcElectricChargeMeasure(v);},2093906313:function _(v){return new IFC4X3.IfcElectricConductanceMeasure(v);},3790457270:function _(v){return new IFC4X3.IfcElectricCurrentMeasure(v);},2951915441:function _(v){return new IFC4X3.IfcElectricResistanceMeasure(v);},2506197118:function _(v){return new IFC4X3.IfcElectricVoltageMeasure(v);},2078135608:function _(v){return new IFC4X3.IfcEnergyMeasure(v);},1102727119:function _(v){return new IFC4X3.IfcFontStyle(v);},2715512545:function _(v){return new IFC4X3.IfcFontVariant(v);},2590844177:function _(v){return new IFC4X3.IfcFontWeight(v);},1361398929:function _(v){return new IFC4X3.IfcForceMeasure(v);},3044325142:function _(v){return new IFC4X3.IfcFrequencyMeasure(v);},3064340077:function _(v){return new IFC4X3.IfcGloballyUniqueId(v);},3113092358:function _(v){return new IFC4X3.IfcHeatFluxDensityMeasure(v);},1158859006:function _(v){return new IFC4X3.IfcHeatingValueMeasure(v);},983778844:function _(v){return new IFC4X3.IfcIdentifier(v);},3358199106:function _(v){return new IFC4X3.IfcIlluminanceMeasure(v);},2679005408:function _(v){return new IFC4X3.IfcInductanceMeasure(v);},1939436016:function _(v){return new IFC4X3.IfcInteger(v);},3809634241:function _(v){return new IFC4X3.IfcIntegerCountRateMeasure(v);},3686016028:function _(v){return new IFC4X3.IfcIonConcentrationMeasure(v);},3192672207:function _(v){return new IFC4X3.IfcIsothermalMoistureCapacityMeasure(v);},2054016361:function _(v){return new IFC4X3.IfcKinematicViscosityMeasure(v);},3258342251:function _(v){return new IFC4X3.IfcLabel(v);},1275358634:function _(v){return new IFC4X3.IfcLanguageId(v);},1243674935:function _(v){return new IFC4X3.IfcLengthMeasure(v);},1774176899:function _(v){return new IFC4X3.IfcLineIndex(v);},191860431:function _(v){return new IFC4X3.IfcLinearForceMeasure(v);},2128979029:function _(v){return new IFC4X3.IfcLinearMomentMeasure(v);},1307019551:function _(v){return new IFC4X3.IfcLinearStiffnessMeasure(v);},3086160713:function _(v){return new IFC4X3.IfcLinearVelocityMeasure(v);},503418787:function _(v){return new IFC4X3.IfcLogical(v);},2095003142:function _(v){return new IFC4X3.IfcLuminousFluxMeasure(v);},2755797622:function _(v){return new IFC4X3.IfcLuminousIntensityDistributionMeasure(v);},151039812:function _(v){return new IFC4X3.IfcLuminousIntensityMeasure(v);},286949696:function _(v){return new IFC4X3.IfcMagneticFluxDensityMeasure(v);},2486716878:function _(v){return new IFC4X3.IfcMagneticFluxMeasure(v);},1477762836:function _(v){return new IFC4X3.IfcMassDensityMeasure(v);},4017473158:function _(v){return new IFC4X3.IfcMassFlowRateMeasure(v);},3124614049:function _(v){return new IFC4X3.IfcMassMeasure(v);},3531705166:function _(v){return new IFC4X3.IfcMassPerLengthMeasure(v);},3341486342:function _(v){return new IFC4X3.IfcModulusOfElasticityMeasure(v);},2173214787:function _(v){return new IFC4X3.IfcModulusOfLinearSubgradeReactionMeasure(v);},1052454078:function _(v){return new IFC4X3.IfcModulusOfRotationalSubgradeReactionMeasure(v);},1753493141:function _(v){return new IFC4X3.IfcModulusOfSubgradeReactionMeasure(v);},3177669450:function _(v){return new IFC4X3.IfcMoistureDiffusivityMeasure(v);},1648970520:function _(v){return new IFC4X3.IfcMolecularWeightMeasure(v);},3114022597:function _(v){return new IFC4X3.IfcMomentOfInertiaMeasure(v);},2615040989:function _(v){return new IFC4X3.IfcMonetaryMeasure(v);},765770214:function _(v){return new IFC4X3.IfcMonthInYearNumber(v);},525895558:function _(v){return new IFC4X3.IfcNonNegativeLengthMeasure(v);},2095195183:function _(v){return new IFC4X3.IfcNormalisedRatioMeasure(v);},2395907400:function _(v){return new IFC4X3.IfcNumericMeasure(v);},929793134:function _(v){return new IFC4X3.IfcPHMeasure(v);},2260317790:function _(v){return new IFC4X3.IfcParameterValue(v);},2642773653:function _(v){return new IFC4X3.IfcPlanarForceMeasure(v);},4042175685:function _(v){return new IFC4X3.IfcPlaneAngleMeasure(v);},1790229001:function _(v){return new IFC4X3.IfcPositiveInteger(v);},2815919920:function _(v){return new IFC4X3.IfcPositiveLengthMeasure(v);},3054510233:function _(v){return new IFC4X3.IfcPositivePlaneAngleMeasure(v);},1245737093:function _(v){return new IFC4X3.IfcPositiveRatioMeasure(v);},1364037233:function _(v){return new IFC4X3.IfcPowerMeasure(v);},2169031380:function _(v){return new IFC4X3.IfcPresentableText(v);},3665567075:function _(v){return new IFC4X3.IfcPressureMeasure(v);},2798247006:function _(v){return new IFC4X3.IfcPropertySetDefinitionSet(v);},3972513137:function _(v){return new IFC4X3.IfcRadioActivityMeasure(v);},96294661:function _(v){return new IFC4X3.IfcRatioMeasure(v);},200335297:function _(v){return new IFC4X3.IfcReal(v);},2133746277:function _(v){return new IFC4X3.IfcRotationalFrequencyMeasure(v);},1755127002:function _(v){return new IFC4X3.IfcRotationalMassMeasure(v);},3211557302:function _(v){return new IFC4X3.IfcRotationalStiffnessMeasure(v);},3467162246:function _(v){return new IFC4X3.IfcSectionModulusMeasure(v);},2190458107:function _(v){return new IFC4X3.IfcSectionalAreaIntegralMeasure(v);},408310005:function _(v){return new IFC4X3.IfcShearModulusMeasure(v);},3471399674:function _(v){return new IFC4X3.IfcSolidAngleMeasure(v);},4157543285:function _(v){return new IFC4X3.IfcSoundPowerLevelMeasure(v);},846465480:function _(v){return new IFC4X3.IfcSoundPowerMeasure(v);},3457685358:function _(v){return new IFC4X3.IfcSoundPressureLevelMeasure(v);},993287707:function _(v){return new IFC4X3.IfcSoundPressureMeasure(v);},3477203348:function _(v){return new IFC4X3.IfcSpecificHeatCapacityMeasure(v);},2757832317:function _(v){return new IFC4X3.IfcSpecularExponent(v);},361837227:function _(v){return new IFC4X3.IfcSpecularRoughness(v);},58845555:function _(v){return new IFC4X3.IfcTemperatureGradientMeasure(v);},1209108979:function _(v){return new IFC4X3.IfcTemperatureRateOfChangeMeasure(v);},2801250643:function _(v){return new IFC4X3.IfcText(v);},1460886941:function _(v){return new IFC4X3.IfcTextAlignment(v);},3490877962:function _(v){return new IFC4X3.IfcTextDecoration(v);},603696268:function _(v){return new IFC4X3.IfcTextFontName(v);},296282323:function _(v){return new IFC4X3.IfcTextTransformation(v);},232962298:function _(v){return new IFC4X3.IfcThermalAdmittanceMeasure(v);},2645777649:function _(v){return new IFC4X3.IfcThermalConductivityMeasure(v);},2281867870:function _(v){return new IFC4X3.IfcThermalExpansionCoefficientMeasure(v);},857959152:function _(v){return new IFC4X3.IfcThermalResistanceMeasure(v);},2016195849:function _(v){return new IFC4X3.IfcThermalTransmittanceMeasure(v);},743184107:function _(v){return new IFC4X3.IfcThermodynamicTemperatureMeasure(v);},4075327185:function _(v){return new IFC4X3.IfcTime(v);},2726807636:function _(v){return new IFC4X3.IfcTimeMeasure(v);},2591213694:function _(v){return new IFC4X3.IfcTimeStamp(v);},1278329552:function _(v){return new IFC4X3.IfcTorqueMeasure(v);},950732822:function _(v){return new IFC4X3.IfcURIReference(v);},3345633955:function _(v){return new IFC4X3.IfcVaporPermeabilityMeasure(v);},3458127941:function _(v){return new IFC4X3.IfcVolumeMeasure(v);},2593997549:function _(v){return new IFC4X3.IfcVolumetricFlowRateMeasure(v);},51269191:function _(v){return new IFC4X3.IfcWarpingConstantMeasure(v);},1718600412:function _(v){return new IFC4X3.IfcWarpingMomentMeasure(v);}};var IFC4X3;(function(IFC4X32){var IfcAbsorbedDoseMeasure=/*#__PURE__*/_createClass(function IfcAbsorbedDoseMeasure(v){_classCallCheck(this,IfcAbsorbedDoseMeasure);this.type=4;this.value=parseFloat(v);});IFC4X32.IfcAbsorbedDoseMeasure=IfcAbsorbedDoseMeasure;var IfcAccelerationMeasure=/*#__PURE__*/_createClass(function IfcAccelerationMeasure(v){_classCallCheck(this,IfcAccelerationMeasure);this.type=4;this.value=parseFloat(v);});IFC4X32.IfcAccelerationMeasure=IfcAccelerationMeasure;var IfcAmountOfSubstanceMeasure=/*#__PURE__*/_createClass(function IfcAmountOfSubstanceMeasure(v){_classCallCheck(this,IfcAmountOfSubstanceMeasure);this.type=4;this.value=parseFloat(v);});IFC4X32.IfcAmountOfSubstanceMeasure=IfcAmountOfSubstanceMeasure;var IfcAngularVelocityMeasure=/*#__PURE__*/_createClass(function IfcAngularVelocityMeasure(v){_classCallCheck(this,IfcAngularVelocityMeasure);this.type=4;this.value=parseFloat(v);});IFC4X32.IfcAngularVelocityMeasure=IfcAngularVelocityMeasure;var IfcArcIndex=/*#__PURE__*/_createClass(function IfcArcIndex(value){_classCallCheck(this,IfcArcIndex);this.value=value;});IFC4X32.IfcArcIndex=IfcArcIndex;var IfcAreaDensityMeasure=/*#__PURE__*/_createClass(function IfcAreaDensityMeasure(v){_classCallCheck(this,IfcAreaDensityMeasure);this.type=4;this.value=parseFloat(v);});IFC4X32.IfcAreaDensityMeasure=IfcAreaDensityMeasure;var IfcAreaMeasure=/*#__PURE__*/_createClass(function IfcAreaMeasure(v){_classCallCheck(this,IfcAreaMeasure);this.type=4;this.value=parseFloat(v);});IFC4X32.IfcAreaMeasure=IfcAreaMeasure;var IfcBinary=/*#__PURE__*/_createClass(function IfcBinary(v){_classCallCheck(this,IfcBinary);this.type=4;this.value=parseFloat(v);});IFC4X32.IfcBinary=IfcBinary;var IfcBoolean=/*#__PURE__*/_createClass(function IfcBoolean(v){_classCallCheck(this,IfcBoolean);this.type=3;this.value=v=="true"?true:false;});IFC4X32.IfcBoolean=IfcBoolean;var IfcBoxAlignment=/*#__PURE__*/_createClass(function IfcBoxAlignment(value){_classCallCheck(this,IfcBoxAlignment);this.value=value;this.type=1;});IFC4X32.IfcBoxAlignment=IfcBoxAlignment;var IfcCardinalPointReference=/*#__PURE__*/_createClass(function IfcCardinalPointReference(v){_classCallCheck(this,IfcCardinalPointReference);this.type=4;this.value=parseFloat(v);});IFC4X32.IfcCardinalPointReference=IfcCardinalPointReference;var IfcComplexNumber=/*#__PURE__*/_createClass(function IfcComplexNumber(value){_classCallCheck(this,IfcComplexNumber);this.value=value;});IFC4X32.IfcComplexNumber=IfcComplexNumber;var IfcCompoundPlaneAngleMeasure=/*#__PURE__*/_createClass(function IfcCompoundPlaneAngleMeasure(value){_classCallCheck(this,IfcCompoundPlaneAngleMeasure);this.value=value;});IFC4X32.IfcCompoundPlaneAngleMeasure=IfcCompoundPlaneAngleMeasure;var IfcContextDependentMeasure=/*#__PURE__*/_createClass(function IfcContextDependentMeasure(v){_classCallCheck(this,IfcContextDependentMeasure);this.type=4;this.value=parseFloat(v);});IFC4X32.IfcContextDependentMeasure=IfcContextDependentMeasure;var IfcCountMeasure=/*#__PURE__*/_createClass(function IfcCountMeasure(v){_classCallCheck(this,IfcCountMeasure);this.type=4;this.value=parseFloat(v);});IFC4X32.IfcCountMeasure=IfcCountMeasure;var IfcCurvatureMeasure=/*#__PURE__*/_createClass(function IfcCurvatureMeasure(v){_classCallCheck(this,IfcCurvatureMeasure);this.type=4;this.value=parseFloat(v);});IFC4X32.IfcCurvatureMeasure=IfcCurvatureMeasure;var IfcDate=/*#__PURE__*/_createClass(function IfcDate(value){_classCallCheck(this,IfcDate);this.value=value;this.type=1;});IFC4X32.IfcDate=IfcDate;var IfcDateTime=/*#__PURE__*/_createClass(function IfcDateTime(value){_classCallCheck(this,IfcDateTime);this.value=value;this.type=1;});IFC4X32.IfcDateTime=IfcDateTime;var IfcDayInMonthNumber=/*#__PURE__*/_createClass(function IfcDayInMonthNumber(v){_classCallCheck(this,IfcDayInMonthNumber);this.type=4;this.value=parseFloat(v);});IFC4X32.IfcDayInMonthNumber=IfcDayInMonthNumber;var IfcDayInWeekNumber=/*#__PURE__*/_createClass(function IfcDayInWeekNumber(v){_classCallCheck(this,IfcDayInWeekNumber);this.type=4;this.value=parseFloat(v);});IFC4X32.IfcDayInWeekNumber=IfcDayInWeekNumber;var IfcDescriptiveMeasure=/*#__PURE__*/_createClass(function IfcDescriptiveMeasure(value){_classCallCheck(this,IfcDescriptiveMeasure);this.value=value;this.type=1;});IFC4X32.IfcDescriptiveMeasure=IfcDescriptiveMeasure;var IfcDimensionCount=/*#__PURE__*/_createClass(function IfcDimensionCount(v){_classCallCheck(this,IfcDimensionCount);this.type=4;this.value=parseFloat(v);});IFC4X32.IfcDimensionCount=IfcDimensionCount;var IfcDoseEquivalentMeasure=/*#__PURE__*/_createClass(function IfcDoseEquivalentMeasure(v){_classCallCheck(this,IfcDoseEquivalentMeasure);this.type=4;this.value=parseFloat(v);});IFC4X32.IfcDoseEquivalentMeasure=IfcDoseEquivalentMeasure;var IfcDuration=/*#__PURE__*/_createClass(function IfcDuration(value){_classCallCheck(this,IfcDuration);this.value=value;this.type=1;});IFC4X32.IfcDuration=IfcDuration;var IfcDynamicViscosityMeasure=/*#__PURE__*/_createClass(function IfcDynamicViscosityMeasure(v){_classCallCheck(this,IfcDynamicViscosityMeasure);this.type=4;this.value=parseFloat(v);});IFC4X32.IfcDynamicViscosityMeasure=IfcDynamicViscosityMeasure;var IfcElectricCapacitanceMeasure=/*#__PURE__*/_createClass(function IfcElectricCapacitanceMeasure(v){_classCallCheck(this,IfcElectricCapacitanceMeasure);this.type=4;this.value=parseFloat(v);});IFC4X32.IfcElectricCapacitanceMeasure=IfcElectricCapacitanceMeasure;var IfcElectricChargeMeasure=/*#__PURE__*/_createClass(function IfcElectricChargeMeasure(v){_classCallCheck(this,IfcElectricChargeMeasure);this.type=4;this.value=parseFloat(v);});IFC4X32.IfcElectricChargeMeasure=IfcElectricChargeMeasure;var IfcElectricConductanceMeasure=/*#__PURE__*/_createClass(function IfcElectricConductanceMeasure(v){_classCallCheck(this,IfcElectricConductanceMeasure);this.type=4;this.value=parseFloat(v);});IFC4X32.IfcElectricConductanceMeasure=IfcElectricConductanceMeasure;var IfcElectricCurrentMeasure=/*#__PURE__*/_createClass(function IfcElectricCurrentMeasure(v){_classCallCheck(this,IfcElectricCurrentMeasure);this.type=4;this.value=parseFloat(v);});IFC4X32.IfcElectricCurrentMeasure=IfcElectricCurrentMeasure;var IfcElectricResistanceMeasure=/*#__PURE__*/_createClass(function IfcElectricResistanceMeasure(v){_classCallCheck(this,IfcElectricResistanceMeasure);this.type=4;this.value=parseFloat(v);});IFC4X32.IfcElectricResistanceMeasure=IfcElectricResistanceMeasure;var IfcElectricVoltageMeasure=/*#__PURE__*/_createClass(function IfcElectricVoltageMeasure(v){_classCallCheck(this,IfcElectricVoltageMeasure);this.type=4;this.value=parseFloat(v);});IFC4X32.IfcElectricVoltageMeasure=IfcElectricVoltageMeasure;var IfcEnergyMeasure=/*#__PURE__*/_createClass(function IfcEnergyMeasure(v){_classCallCheck(this,IfcEnergyMeasure);this.type=4;this.value=parseFloat(v);});IFC4X32.IfcEnergyMeasure=IfcEnergyMeasure;var IfcFontStyle=/*#__PURE__*/_createClass(function IfcFontStyle(value){_classCallCheck(this,IfcFontStyle);this.value=value;this.type=1;});IFC4X32.IfcFontStyle=IfcFontStyle;var IfcFontVariant=/*#__PURE__*/_createClass(function IfcFontVariant(value){_classCallCheck(this,IfcFontVariant);this.value=value;this.type=1;});IFC4X32.IfcFontVariant=IfcFontVariant;var IfcFontWeight=/*#__PURE__*/_createClass(function IfcFontWeight(value){_classCallCheck(this,IfcFontWeight);this.value=value;this.type=1;});IFC4X32.IfcFontWeight=IfcFontWeight;var IfcForceMeasure=/*#__PURE__*/_createClass(function IfcForceMeasure(v){_classCallCheck(this,IfcForceMeasure);this.type=4;this.value=parseFloat(v);});IFC4X32.IfcForceMeasure=IfcForceMeasure;var IfcFrequencyMeasure=/*#__PURE__*/_createClass(function IfcFrequencyMeasure(v){_classCallCheck(this,IfcFrequencyMeasure);this.type=4;this.value=parseFloat(v);});IFC4X32.IfcFrequencyMeasure=IfcFrequencyMeasure;var IfcGloballyUniqueId=/*#__PURE__*/_createClass(function IfcGloballyUniqueId(value){_classCallCheck(this,IfcGloballyUniqueId);this.value=value;this.type=1;});IFC4X32.IfcGloballyUniqueId=IfcGloballyUniqueId;var IfcHeatFluxDensityMeasure=/*#__PURE__*/_createClass(function IfcHeatFluxDensityMeasure(v){_classCallCheck(this,IfcHeatFluxDensityMeasure);this.type=4;this.value=parseFloat(v);});IFC4X32.IfcHeatFluxDensityMeasure=IfcHeatFluxDensityMeasure;var IfcHeatingValueMeasure=/*#__PURE__*/_createClass(function IfcHeatingValueMeasure(v){_classCallCheck(this,IfcHeatingValueMeasure);this.type=4;this.value=parseFloat(v);});IFC4X32.IfcHeatingValueMeasure=IfcHeatingValueMeasure;var IfcIdentifier=/*#__PURE__*/_createClass(function IfcIdentifier(value){_classCallCheck(this,IfcIdentifier);this.value=value;this.type=1;});IFC4X32.IfcIdentifier=IfcIdentifier;var IfcIlluminanceMeasure=/*#__PURE__*/_createClass(function IfcIlluminanceMeasure(v){_classCallCheck(this,IfcIlluminanceMeasure);this.type=4;this.value=parseFloat(v);});IFC4X32.IfcIlluminanceMeasure=IfcIlluminanceMeasure;var IfcInductanceMeasure=/*#__PURE__*/_createClass(function IfcInductanceMeasure(v){_classCallCheck(this,IfcInductanceMeasure);this.type=4;this.value=parseFloat(v);});IFC4X32.IfcInductanceMeasure=IfcInductanceMeasure;var IfcInteger=/*#__PURE__*/_createClass(function IfcInteger(v){_classCallCheck(this,IfcInteger);this.type=4;this.value=parseFloat(v);});IFC4X32.IfcInteger=IfcInteger;var IfcIntegerCountRateMeasure=/*#__PURE__*/_createClass(function IfcIntegerCountRateMeasure(v){_classCallCheck(this,IfcIntegerCountRateMeasure);this.type=4;this.value=parseFloat(v);});IFC4X32.IfcIntegerCountRateMeasure=IfcIntegerCountRateMeasure;var IfcIonConcentrationMeasure=/*#__PURE__*/_createClass(function IfcIonConcentrationMeasure(v){_classCallCheck(this,IfcIonConcentrationMeasure);this.type=4;this.value=parseFloat(v);});IFC4X32.IfcIonConcentrationMeasure=IfcIonConcentrationMeasure;var IfcIsothermalMoistureCapacityMeasure=/*#__PURE__*/_createClass(function IfcIsothermalMoistureCapacityMeasure(v){_classCallCheck(this,IfcIsothermalMoistureCapacityMeasure);this.type=4;this.value=parseFloat(v);});IFC4X32.IfcIsothermalMoistureCapacityMeasure=IfcIsothermalMoistureCapacityMeasure;var IfcKinematicViscosityMeasure=/*#__PURE__*/_createClass(function IfcKinematicViscosityMeasure(v){_classCallCheck(this,IfcKinematicViscosityMeasure);this.type=4;this.value=parseFloat(v);});IFC4X32.IfcKinematicViscosityMeasure=IfcKinematicViscosityMeasure;var IfcLabel=/*#__PURE__*/_createClass(function IfcLabel(value){_classCallCheck(this,IfcLabel);this.value=value;this.type=1;});IFC4X32.IfcLabel=IfcLabel;var IfcLanguageId=/*#__PURE__*/_createClass(function IfcLanguageId(value){_classCallCheck(this,IfcLanguageId);this.value=value;this.type=1;});IFC4X32.IfcLanguageId=IfcLanguageId;var IfcLengthMeasure=/*#__PURE__*/_createClass(function IfcLengthMeasure(v){_classCallCheck(this,IfcLengthMeasure);this.type=4;this.value=parseFloat(v);});IFC4X32.IfcLengthMeasure=IfcLengthMeasure;var IfcLineIndex=/*#__PURE__*/_createClass(function IfcLineIndex(value){_classCallCheck(this,IfcLineIndex);this.value=value;});IFC4X32.IfcLineIndex=IfcLineIndex;var IfcLinearForceMeasure=/*#__PURE__*/_createClass(function IfcLinearForceMeasure(v){_classCallCheck(this,IfcLinearForceMeasure);this.type=4;this.value=parseFloat(v);});IFC4X32.IfcLinearForceMeasure=IfcLinearForceMeasure;var IfcLinearMomentMeasure=/*#__PURE__*/_createClass(function IfcLinearMomentMeasure(v){_classCallCheck(this,IfcLinearMomentMeasure);this.type=4;this.value=parseFloat(v);});IFC4X32.IfcLinearMomentMeasure=IfcLinearMomentMeasure;var IfcLinearStiffnessMeasure=/*#__PURE__*/_createClass(function IfcLinearStiffnessMeasure(v){_classCallCheck(this,IfcLinearStiffnessMeasure);this.type=4;this.value=parseFloat(v);});IFC4X32.IfcLinearStiffnessMeasure=IfcLinearStiffnessMeasure;var IfcLinearVelocityMeasure=/*#__PURE__*/_createClass(function IfcLinearVelocityMeasure(v){_classCallCheck(this,IfcLinearVelocityMeasure);this.type=4;this.value=parseFloat(v);});IFC4X32.IfcLinearVelocityMeasure=IfcLinearVelocityMeasure;var IfcLogical=/*#__PURE__*/_createClass(function IfcLogical(v){_classCallCheck(this,IfcLogical);this.type=3;this.value=v=="true"?true:false;});IFC4X32.IfcLogical=IfcLogical;var IfcLuminousFluxMeasure=/*#__PURE__*/_createClass(function IfcLuminousFluxMeasure(v){_classCallCheck(this,IfcLuminousFluxMeasure);this.type=4;this.value=parseFloat(v);});IFC4X32.IfcLuminousFluxMeasure=IfcLuminousFluxMeasure;var IfcLuminousIntensityDistributionMeasure=/*#__PURE__*/_createClass(function IfcLuminousIntensityDistributionMeasure(v){_classCallCheck(this,IfcLuminousIntensityDistributionMeasure);this.type=4;this.value=parseFloat(v);});IFC4X32.IfcLuminousIntensityDistributionMeasure=IfcLuminousIntensityDistributionMeasure;var IfcLuminousIntensityMeasure=/*#__PURE__*/_createClass(function IfcLuminousIntensityMeasure(v){_classCallCheck(this,IfcLuminousIntensityMeasure);this.type=4;this.value=parseFloat(v);});IFC4X32.IfcLuminousIntensityMeasure=IfcLuminousIntensityMeasure;var IfcMagneticFluxDensityMeasure=/*#__PURE__*/_createClass(function IfcMagneticFluxDensityMeasure(v){_classCallCheck(this,IfcMagneticFluxDensityMeasure);this.type=4;this.value=parseFloat(v);});IFC4X32.IfcMagneticFluxDensityMeasure=IfcMagneticFluxDensityMeasure;var IfcMagneticFluxMeasure=/*#__PURE__*/_createClass(function IfcMagneticFluxMeasure(v){_classCallCheck(this,IfcMagneticFluxMeasure);this.type=4;this.value=parseFloat(v);});IFC4X32.IfcMagneticFluxMeasure=IfcMagneticFluxMeasure;var IfcMassDensityMeasure=/*#__PURE__*/_createClass(function IfcMassDensityMeasure(v){_classCallCheck(this,IfcMassDensityMeasure);this.type=4;this.value=parseFloat(v);});IFC4X32.IfcMassDensityMeasure=IfcMassDensityMeasure;var IfcMassFlowRateMeasure=/*#__PURE__*/_createClass(function IfcMassFlowRateMeasure(v){_classCallCheck(this,IfcMassFlowRateMeasure);this.type=4;this.value=parseFloat(v);});IFC4X32.IfcMassFlowRateMeasure=IfcMassFlowRateMeasure;var IfcMassMeasure=/*#__PURE__*/_createClass(function IfcMassMeasure(v){_classCallCheck(this,IfcMassMeasure);this.type=4;this.value=parseFloat(v);});IFC4X32.IfcMassMeasure=IfcMassMeasure;var IfcMassPerLengthMeasure=/*#__PURE__*/_createClass(function IfcMassPerLengthMeasure(v){_classCallCheck(this,IfcMassPerLengthMeasure);this.type=4;this.value=parseFloat(v);});IFC4X32.IfcMassPerLengthMeasure=IfcMassPerLengthMeasure;var IfcModulusOfElasticityMeasure=/*#__PURE__*/_createClass(function IfcModulusOfElasticityMeasure(v){_classCallCheck(this,IfcModulusOfElasticityMeasure);this.type=4;this.value=parseFloat(v);});IFC4X32.IfcModulusOfElasticityMeasure=IfcModulusOfElasticityMeasure;var IfcModulusOfLinearSubgradeReactionMeasure=/*#__PURE__*/_createClass(function IfcModulusOfLinearSubgradeReactionMeasure(v){_classCallCheck(this,IfcModulusOfLinearSubgradeReactionMeasure);this.type=4;this.value=parseFloat(v);});IFC4X32.IfcModulusOfLinearSubgradeReactionMeasure=IfcModulusOfLinearSubgradeReactionMeasure;var IfcModulusOfRotationalSubgradeReactionMeasure=/*#__PURE__*/_createClass(function IfcModulusOfRotationalSubgradeReactionMeasure(v){_classCallCheck(this,IfcModulusOfRotationalSubgradeReactionMeasure);this.type=4;this.value=parseFloat(v);});IFC4X32.IfcModulusOfRotationalSubgradeReactionMeasure=IfcModulusOfRotationalSubgradeReactionMeasure;var IfcModulusOfSubgradeReactionMeasure=/*#__PURE__*/_createClass(function IfcModulusOfSubgradeReactionMeasure(v){_classCallCheck(this,IfcModulusOfSubgradeReactionMeasure);this.type=4;this.value=parseFloat(v);});IFC4X32.IfcModulusOfSubgradeReactionMeasure=IfcModulusOfSubgradeReactionMeasure;var IfcMoistureDiffusivityMeasure=/*#__PURE__*/_createClass(function IfcMoistureDiffusivityMeasure(v){_classCallCheck(this,IfcMoistureDiffusivityMeasure);this.type=4;this.value=parseFloat(v);});IFC4X32.IfcMoistureDiffusivityMeasure=IfcMoistureDiffusivityMeasure;var IfcMolecularWeightMeasure=/*#__PURE__*/_createClass(function IfcMolecularWeightMeasure(v){_classCallCheck(this,IfcMolecularWeightMeasure);this.type=4;this.value=parseFloat(v);});IFC4X32.IfcMolecularWeightMeasure=IfcMolecularWeightMeasure;var IfcMomentOfInertiaMeasure=/*#__PURE__*/_createClass(function IfcMomentOfInertiaMeasure(v){_classCallCheck(this,IfcMomentOfInertiaMeasure);this.type=4;this.value=parseFloat(v);});IFC4X32.IfcMomentOfInertiaMeasure=IfcMomentOfInertiaMeasure;var IfcMonetaryMeasure=/*#__PURE__*/_createClass(function IfcMonetaryMeasure(v){_classCallCheck(this,IfcMonetaryMeasure);this.type=4;this.value=parseFloat(v);});IFC4X32.IfcMonetaryMeasure=IfcMonetaryMeasure;var IfcMonthInYearNumber=/*#__PURE__*/_createClass(function IfcMonthInYearNumber(v){_classCallCheck(this,IfcMonthInYearNumber);this.type=4;this.value=parseFloat(v);});IFC4X32.IfcMonthInYearNumber=IfcMonthInYearNumber;var IfcNonNegativeLengthMeasure=/*#__PURE__*/_createClass(function IfcNonNegativeLengthMeasure(v){_classCallCheck(this,IfcNonNegativeLengthMeasure);this.type=4;this.value=parseFloat(v);});IFC4X32.IfcNonNegativeLengthMeasure=IfcNonNegativeLengthMeasure;var IfcNormalisedRatioMeasure=/*#__PURE__*/_createClass(function IfcNormalisedRatioMeasure(v){_classCallCheck(this,IfcNormalisedRatioMeasure);this.type=4;this.value=parseFloat(v);});IFC4X32.IfcNormalisedRatioMeasure=IfcNormalisedRatioMeasure;var IfcNumericMeasure=/*#__PURE__*/_createClass(function IfcNumericMeasure(v){_classCallCheck(this,IfcNumericMeasure);this.type=4;this.value=parseFloat(v);});IFC4X32.IfcNumericMeasure=IfcNumericMeasure;var IfcPHMeasure=/*#__PURE__*/_createClass(function IfcPHMeasure(v){_classCallCheck(this,IfcPHMeasure);this.type=4;this.value=parseFloat(v);});IFC4X32.IfcPHMeasure=IfcPHMeasure;var IfcParameterValue=/*#__PURE__*/_createClass(function IfcParameterValue(v){_classCallCheck(this,IfcParameterValue);this.type=4;this.value=parseFloat(v);});IFC4X32.IfcParameterValue=IfcParameterValue;var IfcPlanarForceMeasure=/*#__PURE__*/_createClass(function IfcPlanarForceMeasure(v){_classCallCheck(this,IfcPlanarForceMeasure);this.type=4;this.value=parseFloat(v);});IFC4X32.IfcPlanarForceMeasure=IfcPlanarForceMeasure;var IfcPlaneAngleMeasure=/*#__PURE__*/_createClass(function IfcPlaneAngleMeasure(v){_classCallCheck(this,IfcPlaneAngleMeasure);this.type=4;this.value=parseFloat(v);});IFC4X32.IfcPlaneAngleMeasure=IfcPlaneAngleMeasure;var IfcPositiveInteger=/*#__PURE__*/_createClass(function IfcPositiveInteger(v){_classCallCheck(this,IfcPositiveInteger);this.type=4;this.value=parseFloat(v);});IFC4X32.IfcPositiveInteger=IfcPositiveInteger;var IfcPositiveLengthMeasure=/*#__PURE__*/_createClass(function IfcPositiveLengthMeasure(v){_classCallCheck(this,IfcPositiveLengthMeasure);this.type=4;this.value=parseFloat(v);});IFC4X32.IfcPositiveLengthMeasure=IfcPositiveLengthMeasure;var IfcPositivePlaneAngleMeasure=/*#__PURE__*/_createClass(function IfcPositivePlaneAngleMeasure(v){_classCallCheck(this,IfcPositivePlaneAngleMeasure);this.type=4;this.value=parseFloat(v);});IFC4X32.IfcPositivePlaneAngleMeasure=IfcPositivePlaneAngleMeasure;var IfcPositiveRatioMeasure=/*#__PURE__*/_createClass(function IfcPositiveRatioMeasure(v){_classCallCheck(this,IfcPositiveRatioMeasure);this.type=4;this.value=parseFloat(v);});IFC4X32.IfcPositiveRatioMeasure=IfcPositiveRatioMeasure;var IfcPowerMeasure=/*#__PURE__*/_createClass(function IfcPowerMeasure(v){_classCallCheck(this,IfcPowerMeasure);this.type=4;this.value=parseFloat(v);});IFC4X32.IfcPowerMeasure=IfcPowerMeasure;var IfcPresentableText=/*#__PURE__*/_createClass(function IfcPresentableText(value){_classCallCheck(this,IfcPresentableText);this.value=value;this.type=1;});IFC4X32.IfcPresentableText=IfcPresentableText;var IfcPressureMeasure=/*#__PURE__*/_createClass(function IfcPressureMeasure(v){_classCallCheck(this,IfcPressureMeasure);this.type=4;this.value=parseFloat(v);});IFC4X32.IfcPressureMeasure=IfcPressureMeasure;var IfcPropertySetDefinitionSet=/*#__PURE__*/_createClass(function IfcPropertySetDefinitionSet(value){_classCallCheck(this,IfcPropertySetDefinitionSet);this.value=value;});IFC4X32.IfcPropertySetDefinitionSet=IfcPropertySetDefinitionSet;var IfcRadioActivityMeasure=/*#__PURE__*/_createClass(function IfcRadioActivityMeasure(v){_classCallCheck(this,IfcRadioActivityMeasure);this.type=4;this.value=parseFloat(v);});IFC4X32.IfcRadioActivityMeasure=IfcRadioActivityMeasure;var IfcRatioMeasure=/*#__PURE__*/_createClass(function IfcRatioMeasure(v){_classCallCheck(this,IfcRatioMeasure);this.type=4;this.value=parseFloat(v);});IFC4X32.IfcRatioMeasure=IfcRatioMeasure;var IfcReal=/*#__PURE__*/_createClass(function IfcReal(v){_classCallCheck(this,IfcReal);this.type=4;this.value=parseFloat(v);});IFC4X32.IfcReal=IfcReal;var IfcRotationalFrequencyMeasure=/*#__PURE__*/_createClass(function IfcRotationalFrequencyMeasure(v){_classCallCheck(this,IfcRotationalFrequencyMeasure);this.type=4;this.value=parseFloat(v);});IFC4X32.IfcRotationalFrequencyMeasure=IfcRotationalFrequencyMeasure;var IfcRotationalMassMeasure=/*#__PURE__*/_createClass(function IfcRotationalMassMeasure(v){_classCallCheck(this,IfcRotationalMassMeasure);this.type=4;this.value=parseFloat(v);});IFC4X32.IfcRotationalMassMeasure=IfcRotationalMassMeasure;var IfcRotationalStiffnessMeasure=/*#__PURE__*/_createClass(function IfcRotationalStiffnessMeasure(v){_classCallCheck(this,IfcRotationalStiffnessMeasure);this.type=4;this.value=parseFloat(v);});IFC4X32.IfcRotationalStiffnessMeasure=IfcRotationalStiffnessMeasure;var IfcSectionModulusMeasure=/*#__PURE__*/_createClass(function IfcSectionModulusMeasure(v){_classCallCheck(this,IfcSectionModulusMeasure);this.type=4;this.value=parseFloat(v);});IFC4X32.IfcSectionModulusMeasure=IfcSectionModulusMeasure;var IfcSectionalAreaIntegralMeasure=/*#__PURE__*/_createClass(function IfcSectionalAreaIntegralMeasure(v){_classCallCheck(this,IfcSectionalAreaIntegralMeasure);this.type=4;this.value=parseFloat(v);});IFC4X32.IfcSectionalAreaIntegralMeasure=IfcSectionalAreaIntegralMeasure;var IfcShearModulusMeasure=/*#__PURE__*/_createClass(function IfcShearModulusMeasure(v){_classCallCheck(this,IfcShearModulusMeasure);this.type=4;this.value=parseFloat(v);});IFC4X32.IfcShearModulusMeasure=IfcShearModulusMeasure;var IfcSolidAngleMeasure=/*#__PURE__*/_createClass(function IfcSolidAngleMeasure(v){_classCallCheck(this,IfcSolidAngleMeasure);this.type=4;this.value=parseFloat(v);});IFC4X32.IfcSolidAngleMeasure=IfcSolidAngleMeasure;var IfcSoundPowerLevelMeasure=/*#__PURE__*/_createClass(function IfcSoundPowerLevelMeasure(v){_classCallCheck(this,IfcSoundPowerLevelMeasure);this.type=4;this.value=parseFloat(v);});IFC4X32.IfcSoundPowerLevelMeasure=IfcSoundPowerLevelMeasure;var IfcSoundPowerMeasure=/*#__PURE__*/_createClass(function IfcSoundPowerMeasure(v){_classCallCheck(this,IfcSoundPowerMeasure);this.type=4;this.value=parseFloat(v);});IFC4X32.IfcSoundPowerMeasure=IfcSoundPowerMeasure;var IfcSoundPressureLevelMeasure=/*#__PURE__*/_createClass(function IfcSoundPressureLevelMeasure(v){_classCallCheck(this,IfcSoundPressureLevelMeasure);this.type=4;this.value=parseFloat(v);});IFC4X32.IfcSoundPressureLevelMeasure=IfcSoundPressureLevelMeasure;var IfcSoundPressureMeasure=/*#__PURE__*/_createClass(function IfcSoundPressureMeasure(v){_classCallCheck(this,IfcSoundPressureMeasure);this.type=4;this.value=parseFloat(v);});IFC4X32.IfcSoundPressureMeasure=IfcSoundPressureMeasure;var IfcSpecificHeatCapacityMeasure=/*#__PURE__*/_createClass(function IfcSpecificHeatCapacityMeasure(v){_classCallCheck(this,IfcSpecificHeatCapacityMeasure);this.type=4;this.value=parseFloat(v);});IFC4X32.IfcSpecificHeatCapacityMeasure=IfcSpecificHeatCapacityMeasure;var IfcSpecularExponent=/*#__PURE__*/_createClass(function IfcSpecularExponent(v){_classCallCheck(this,IfcSpecularExponent);this.type=4;this.value=parseFloat(v);});IFC4X32.IfcSpecularExponent=IfcSpecularExponent;var IfcSpecularRoughness=/*#__PURE__*/_createClass(function IfcSpecularRoughness(v){_classCallCheck(this,IfcSpecularRoughness);this.type=4;this.value=parseFloat(v);});IFC4X32.IfcSpecularRoughness=IfcSpecularRoughness;var IfcTemperatureGradientMeasure=/*#__PURE__*/_createClass(function IfcTemperatureGradientMeasure(v){_classCallCheck(this,IfcTemperatureGradientMeasure);this.type=4;this.value=parseFloat(v);});IFC4X32.IfcTemperatureGradientMeasure=IfcTemperatureGradientMeasure;var IfcTemperatureRateOfChangeMeasure=/*#__PURE__*/_createClass(function IfcTemperatureRateOfChangeMeasure(v){_classCallCheck(this,IfcTemperatureRateOfChangeMeasure);this.type=4;this.value=parseFloat(v);});IFC4X32.IfcTemperatureRateOfChangeMeasure=IfcTemperatureRateOfChangeMeasure;var IfcText=/*#__PURE__*/_createClass(function IfcText(value){_classCallCheck(this,IfcText);this.value=value;this.type=1;});IFC4X32.IfcText=IfcText;var IfcTextAlignment=/*#__PURE__*/_createClass(function IfcTextAlignment(value){_classCallCheck(this,IfcTextAlignment);this.value=value;this.type=1;});IFC4X32.IfcTextAlignment=IfcTextAlignment;var IfcTextDecoration=/*#__PURE__*/_createClass(function IfcTextDecoration(value){_classCallCheck(this,IfcTextDecoration);this.value=value;this.type=1;});IFC4X32.IfcTextDecoration=IfcTextDecoration;var IfcTextFontName=/*#__PURE__*/_createClass(function IfcTextFontName(value){_classCallCheck(this,IfcTextFontName);this.value=value;this.type=1;});IFC4X32.IfcTextFontName=IfcTextFontName;var IfcTextTransformation=/*#__PURE__*/_createClass(function IfcTextTransformation(value){_classCallCheck(this,IfcTextTransformation);this.value=value;this.type=1;});IFC4X32.IfcTextTransformation=IfcTextTransformation;var IfcThermalAdmittanceMeasure=/*#__PURE__*/_createClass(function IfcThermalAdmittanceMeasure(v){_classCallCheck(this,IfcThermalAdmittanceMeasure);this.type=4;this.value=parseFloat(v);});IFC4X32.IfcThermalAdmittanceMeasure=IfcThermalAdmittanceMeasure;var IfcThermalConductivityMeasure=/*#__PURE__*/_createClass(function IfcThermalConductivityMeasure(v){_classCallCheck(this,IfcThermalConductivityMeasure);this.type=4;this.value=parseFloat(v);});IFC4X32.IfcThermalConductivityMeasure=IfcThermalConductivityMeasure;var IfcThermalExpansionCoefficientMeasure=/*#__PURE__*/_createClass(function IfcThermalExpansionCoefficientMeasure(v){_classCallCheck(this,IfcThermalExpansionCoefficientMeasure);this.type=4;this.value=parseFloat(v);});IFC4X32.IfcThermalExpansionCoefficientMeasure=IfcThermalExpansionCoefficientMeasure;var IfcThermalResistanceMeasure=/*#__PURE__*/_createClass(function IfcThermalResistanceMeasure(v){_classCallCheck(this,IfcThermalResistanceMeasure);this.type=4;this.value=parseFloat(v);});IFC4X32.IfcThermalResistanceMeasure=IfcThermalResistanceMeasure;var IfcThermalTransmittanceMeasure=/*#__PURE__*/_createClass(function IfcThermalTransmittanceMeasure(v){_classCallCheck(this,IfcThermalTransmittanceMeasure);this.type=4;this.value=parseFloat(v);});IFC4X32.IfcThermalTransmittanceMeasure=IfcThermalTransmittanceMeasure;var IfcThermodynamicTemperatureMeasure=/*#__PURE__*/_createClass(function IfcThermodynamicTemperatureMeasure(v){_classCallCheck(this,IfcThermodynamicTemperatureMeasure);this.type=4;this.value=parseFloat(v);});IFC4X32.IfcThermodynamicTemperatureMeasure=IfcThermodynamicTemperatureMeasure;var IfcTime=/*#__PURE__*/_createClass(function IfcTime(value){_classCallCheck(this,IfcTime);this.value=value;this.type=1;});IFC4X32.IfcTime=IfcTime;var IfcTimeMeasure=/*#__PURE__*/_createClass(function IfcTimeMeasure(v){_classCallCheck(this,IfcTimeMeasure);this.type=4;this.value=parseFloat(v);});IFC4X32.IfcTimeMeasure=IfcTimeMeasure;var IfcTimeStamp=/*#__PURE__*/_createClass(function IfcTimeStamp(v){_classCallCheck(this,IfcTimeStamp);this.type=4;this.value=parseFloat(v);});IFC4X32.IfcTimeStamp=IfcTimeStamp;var IfcTorqueMeasure=/*#__PURE__*/_createClass(function IfcTorqueMeasure(v){_classCallCheck(this,IfcTorqueMeasure);this.type=4;this.value=parseFloat(v);});IFC4X32.IfcTorqueMeasure=IfcTorqueMeasure;var IfcURIReference=/*#__PURE__*/_createClass(function IfcURIReference(value){_classCallCheck(this,IfcURIReference);this.value=value;this.type=1;});IFC4X32.IfcURIReference=IfcURIReference;var IfcVaporPermeabilityMeasure=/*#__PURE__*/_createClass(function IfcVaporPermeabilityMeasure(v){_classCallCheck(this,IfcVaporPermeabilityMeasure);this.type=4;this.value=parseFloat(v);});IFC4X32.IfcVaporPermeabilityMeasure=IfcVaporPermeabilityMeasure;var IfcVolumeMeasure=/*#__PURE__*/_createClass(function IfcVolumeMeasure(v){_classCallCheck(this,IfcVolumeMeasure);this.type=4;this.value=parseFloat(v);});IFC4X32.IfcVolumeMeasure=IfcVolumeMeasure;var IfcVolumetricFlowRateMeasure=/*#__PURE__*/_createClass(function IfcVolumetricFlowRateMeasure(v){_classCallCheck(this,IfcVolumetricFlowRateMeasure);this.type=4;this.value=parseFloat(v);});IFC4X32.IfcVolumetricFlowRateMeasure=IfcVolumetricFlowRateMeasure;var IfcWarpingConstantMeasure=/*#__PURE__*/_createClass(function IfcWarpingConstantMeasure(v){_classCallCheck(this,IfcWarpingConstantMeasure);this.type=4;this.value=parseFloat(v);});IFC4X32.IfcWarpingConstantMeasure=IfcWarpingConstantMeasure;var IfcWarpingMomentMeasure=/*#__PURE__*/_createClass(function IfcWarpingMomentMeasure(v){_classCallCheck(this,IfcWarpingMomentMeasure);this.type=4;this.value=parseFloat(v);});IFC4X32.IfcWarpingMomentMeasure=IfcWarpingMomentMeasure;var IfcActionRequestTypeEnum=/*#__PURE__*/_createClass(function IfcActionRequestTypeEnum(){_classCallCheck(this,IfcActionRequestTypeEnum);});IfcActionRequestTypeEnum.EMAIL={type:3,value:"EMAIL"};IfcActionRequestTypeEnum.FAX={type:3,value:"FAX"};IfcActionRequestTypeEnum.PHONE={type:3,value:"PHONE"};IfcActionRequestTypeEnum.POST={type:3,value:"POST"};IfcActionRequestTypeEnum.VERBAL={type:3,value:"VERBAL"};IfcActionRequestTypeEnum.USERDEFINED={type:3,value:"USERDEFINED"};IfcActionRequestTypeEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC4X32.IfcActionRequestTypeEnum=IfcActionRequestTypeEnum;var IfcActionSourceTypeEnum=/*#__PURE__*/_createClass(function IfcActionSourceTypeEnum(){_classCallCheck(this,IfcActionSourceTypeEnum);});IfcActionSourceTypeEnum.BRAKES={type:3,value:"BRAKES"};IfcActionSourceTypeEnum.BUOYANCY={type:3,value:"BUOYANCY"};IfcActionSourceTypeEnum.COMPLETION_G1={type:3,value:"COMPLETION_G1"};IfcActionSourceTypeEnum.CREEP={type:3,value:"CREEP"};IfcActionSourceTypeEnum.CURRENT={type:3,value:"CURRENT"};IfcActionSourceTypeEnum.DEAD_LOAD_G={type:3,value:"DEAD_LOAD_G"};IfcActionSourceTypeEnum.EARTHQUAKE_E={type:3,value:"EARTHQUAKE_E"};IfcActionSourceTypeEnum.ERECTION={type:3,value:"ERECTION"};IfcActionSourceTypeEnum.FIRE={type:3,value:"FIRE"};IfcActionSourceTypeEnum.ICE={type:3,value:"ICE"};IfcActionSourceTypeEnum.IMPACT={type:3,value:"IMPACT"};IfcActionSourceTypeEnum.IMPULSE={type:3,value:"IMPULSE"};IfcActionSourceTypeEnum.LACK_OF_FIT={type:3,value:"LACK_OF_FIT"};IfcActionSourceTypeEnum.LIVE_LOAD_Q={type:3,value:"LIVE_LOAD_Q"};IfcActionSourceTypeEnum.PRESTRESSING_P={type:3,value:"PRESTRESSING_P"};IfcActionSourceTypeEnum.PROPPING={type:3,value:"PROPPING"};IfcActionSourceTypeEnum.RAIN={type:3,value:"RAIN"};IfcActionSourceTypeEnum.SETTLEMENT_U={type:3,value:"SETTLEMENT_U"};IfcActionSourceTypeEnum.SHRINKAGE={type:3,value:"SHRINKAGE"};IfcActionSourceTypeEnum.SNOW_S={type:3,value:"SNOW_S"};IfcActionSourceTypeEnum.SYSTEM_IMPERFECTION={type:3,value:"SYSTEM_IMPERFECTION"};IfcActionSourceTypeEnum.TEMPERATURE_T={type:3,value:"TEMPERATURE_T"};IfcActionSourceTypeEnum.TRANSPORT={type:3,value:"TRANSPORT"};IfcActionSourceTypeEnum.WAVE={type:3,value:"WAVE"};IfcActionSourceTypeEnum.WIND_W={type:3,value:"WIND_W"};IfcActionSourceTypeEnum.USERDEFINED={type:3,value:"USERDEFINED"};IfcActionSourceTypeEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC4X32.IfcActionSourceTypeEnum=IfcActionSourceTypeEnum;var IfcActionTypeEnum=/*#__PURE__*/_createClass(function IfcActionTypeEnum(){_classCallCheck(this,IfcActionTypeEnum);});IfcActionTypeEnum.EXTRAORDINARY_A={type:3,value:"EXTRAORDINARY_A"};IfcActionTypeEnum.PERMANENT_G={type:3,value:"PERMANENT_G"};IfcActionTypeEnum.VARIABLE_Q={type:3,value:"VARIABLE_Q"};IfcActionTypeEnum.USERDEFINED={type:3,value:"USERDEFINED"};IfcActionTypeEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC4X32.IfcActionTypeEnum=IfcActionTypeEnum;var IfcActuatorTypeEnum=/*#__PURE__*/_createClass(function IfcActuatorTypeEnum(){_classCallCheck(this,IfcActuatorTypeEnum);});IfcActuatorTypeEnum.ELECTRICACTUATOR={type:3,value:"ELECTRICACTUATOR"};IfcActuatorTypeEnum.HANDOPERATEDACTUATOR={type:3,value:"HANDOPERATEDACTUATOR"};IfcActuatorTypeEnum.HYDRAULICACTUATOR={type:3,value:"HYDRAULICACTUATOR"};IfcActuatorTypeEnum.PNEUMATICACTUATOR={type:3,value:"PNEUMATICACTUATOR"};IfcActuatorTypeEnum.THERMOSTATICACTUATOR={type:3,value:"THERMOSTATICACTUATOR"};IfcActuatorTypeEnum.USERDEFINED={type:3,value:"USERDEFINED"};IfcActuatorTypeEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC4X32.IfcActuatorTypeEnum=IfcActuatorTypeEnum;var IfcAddressTypeEnum=/*#__PURE__*/_createClass(function IfcAddressTypeEnum(){_classCallCheck(this,IfcAddressTypeEnum);});IfcAddressTypeEnum.DISTRIBUTIONPOINT={type:3,value:"DISTRIBUTIONPOINT"};IfcAddressTypeEnum.HOME={type:3,value:"HOME"};IfcAddressTypeEnum.OFFICE={type:3,value:"OFFICE"};IfcAddressTypeEnum.SITE={type:3,value:"SITE"};IfcAddressTypeEnum.USERDEFINED={type:3,value:"USERDEFINED"};IFC4X32.IfcAddressTypeEnum=IfcAddressTypeEnum;var IfcAirTerminalBoxTypeEnum=/*#__PURE__*/_createClass(function IfcAirTerminalBoxTypeEnum(){_classCallCheck(this,IfcAirTerminalBoxTypeEnum);});IfcAirTerminalBoxTypeEnum.CONSTANTFLOW={type:3,value:"CONSTANTFLOW"};IfcAirTerminalBoxTypeEnum.VARIABLEFLOWPRESSUREDEPENDANT={type:3,value:"VARIABLEFLOWPRESSUREDEPENDANT"};IfcAirTerminalBoxTypeEnum.VARIABLEFLOWPRESSUREINDEPENDANT={type:3,value:"VARIABLEFLOWPRESSUREINDEPENDANT"};IfcAirTerminalBoxTypeEnum.USERDEFINED={type:3,value:"USERDEFINED"};IfcAirTerminalBoxTypeEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC4X32.IfcAirTerminalBoxTypeEnum=IfcAirTerminalBoxTypeEnum;var IfcAirTerminalTypeEnum=/*#__PURE__*/_createClass(function IfcAirTerminalTypeEnum(){_classCallCheck(this,IfcAirTerminalTypeEnum);});IfcAirTerminalTypeEnum.DIFFUSER={type:3,value:"DIFFUSER"};IfcAirTerminalTypeEnum.GRILLE={type:3,value:"GRILLE"};IfcAirTerminalTypeEnum.LOUVRE={type:3,value:"LOUVRE"};IfcAirTerminalTypeEnum.REGISTER={type:3,value:"REGISTER"};IfcAirTerminalTypeEnum.USERDEFINED={type:3,value:"USERDEFINED"};IfcAirTerminalTypeEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC4X32.IfcAirTerminalTypeEnum=IfcAirTerminalTypeEnum;var IfcAirToAirHeatRecoveryTypeEnum=/*#__PURE__*/_createClass(function IfcAirToAirHeatRecoveryTypeEnum(){_classCallCheck(this,IfcAirToAirHeatRecoveryTypeEnum);});IfcAirToAirHeatRecoveryTypeEnum.FIXEDPLATECOUNTERFLOWEXCHANGER={type:3,value:"FIXEDPLATECOUNTERFLOWEXCHANGER"};IfcAirToAirHeatRecoveryTypeEnum.FIXEDPLATECROSSFLOWEXCHANGER={type:3,value:"FIXEDPLATECROSSFLOWEXCHANGER"};IfcAirToAirHeatRecoveryTypeEnum.FIXEDPLATEPARALLELFLOWEXCHANGER={type:3,value:"FIXEDPLATEPARALLELFLOWEXCHANGER"};IfcAirToAirHeatRecoveryTypeEnum.HEATPIPE={type:3,value:"HEATPIPE"};IfcAirToAirHeatRecoveryTypeEnum.ROTARYWHEEL={type:3,value:"ROTARYWHEEL"};IfcAirToAirHeatRecoveryTypeEnum.RUNAROUNDCOILLOOP={type:3,value:"RUNAROUNDCOILLOOP"};IfcAirToAirHeatRecoveryTypeEnum.THERMOSIPHONCOILTYPEHEATEXCHANGERS={type:3,value:"THERMOSIPHONCOILTYPEHEATEXCHANGERS"};IfcAirToAirHeatRecoveryTypeEnum.THERMOSIPHONSEALEDTUBEHEATEXCHANGERS={type:3,value:"THERMOSIPHONSEALEDTUBEHEATEXCHANGERS"};IfcAirToAirHeatRecoveryTypeEnum.TWINTOWERENTHALPYRECOVERYLOOPS={type:3,value:"TWINTOWERENTHALPYRECOVERYLOOPS"};IfcAirToAirHeatRecoveryTypeEnum.USERDEFINED={type:3,value:"USERDEFINED"};IfcAirToAirHeatRecoveryTypeEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC4X32.IfcAirToAirHeatRecoveryTypeEnum=IfcAirToAirHeatRecoveryTypeEnum;var IfcAlarmTypeEnum=/*#__PURE__*/_createClass(function IfcAlarmTypeEnum(){_classCallCheck(this,IfcAlarmTypeEnum);});IfcAlarmTypeEnum.BELL={type:3,value:"BELL"};IfcAlarmTypeEnum.BREAKGLASSBUTTON={type:3,value:"BREAKGLASSBUTTON"};IfcAlarmTypeEnum.LIGHT={type:3,value:"LIGHT"};IfcAlarmTypeEnum.MANUALPULLBOX={type:3,value:"MANUALPULLBOX"};IfcAlarmTypeEnum.RAILWAYCROCODILE={type:3,value:"RAILWAYCROCODILE"};IfcAlarmTypeEnum.RAILWAYDETONATOR={type:3,value:"RAILWAYDETONATOR"};IfcAlarmTypeEnum.SIREN={type:3,value:"SIREN"};IfcAlarmTypeEnum.WHISTLE={type:3,value:"WHISTLE"};IfcAlarmTypeEnum.USERDEFINED={type:3,value:"USERDEFINED"};IfcAlarmTypeEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC4X32.IfcAlarmTypeEnum=IfcAlarmTypeEnum;var IfcAlignmentCantSegmentTypeEnum=/*#__PURE__*/_createClass(function IfcAlignmentCantSegmentTypeEnum(){_classCallCheck(this,IfcAlignmentCantSegmentTypeEnum);});IfcAlignmentCantSegmentTypeEnum.BLOSSCURVE={type:3,value:"BLOSSCURVE"};IfcAlignmentCantSegmentTypeEnum.CONSTANTCANT={type:3,value:"CONSTANTCANT"};IfcAlignmentCantSegmentTypeEnum.COSINECURVE={type:3,value:"COSINECURVE"};IfcAlignmentCantSegmentTypeEnum.HELMERTCURVE={type:3,value:"HELMERTCURVE"};IfcAlignmentCantSegmentTypeEnum.LINEARTRANSITION={type:3,value:"LINEARTRANSITION"};IfcAlignmentCantSegmentTypeEnum.SINECURVE={type:3,value:"SINECURVE"};IfcAlignmentCantSegmentTypeEnum.VIENNESEBEND={type:3,value:"VIENNESEBEND"};IFC4X32.IfcAlignmentCantSegmentTypeEnum=IfcAlignmentCantSegmentTypeEnum;var IfcAlignmentHorizontalSegmentTypeEnum=/*#__PURE__*/_createClass(function IfcAlignmentHorizontalSegmentTypeEnum(){_classCallCheck(this,IfcAlignmentHorizontalSegmentTypeEnum);});IfcAlignmentHorizontalSegmentTypeEnum.BLOSSCURVE={type:3,value:"BLOSSCURVE"};IfcAlignmentHorizontalSegmentTypeEnum.CIRCULARARC={type:3,value:"CIRCULARARC"};IfcAlignmentHorizontalSegmentTypeEnum.CLOTHOID={type:3,value:"CLOTHOID"};IfcAlignmentHorizontalSegmentTypeEnum.COSINECURVE={type:3,value:"COSINECURVE"};IfcAlignmentHorizontalSegmentTypeEnum.CUBIC={type:3,value:"CUBIC"};IfcAlignmentHorizontalSegmentTypeEnum.HELMERTCURVE={type:3,value:"HELMERTCURVE"};IfcAlignmentHorizontalSegmentTypeEnum.LINE={type:3,value:"LINE"};IfcAlignmentHorizontalSegmentTypeEnum.SINECURVE={type:3,value:"SINECURVE"};IfcAlignmentHorizontalSegmentTypeEnum.VIENNESEBEND={type:3,value:"VIENNESEBEND"};IFC4X32.IfcAlignmentHorizontalSegmentTypeEnum=IfcAlignmentHorizontalSegmentTypeEnum;var IfcAlignmentTypeEnum=/*#__PURE__*/_createClass(function IfcAlignmentTypeEnum(){_classCallCheck(this,IfcAlignmentTypeEnum);});IfcAlignmentTypeEnum.USERDEFINED={type:3,value:"USERDEFINED"};IfcAlignmentTypeEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC4X32.IfcAlignmentTypeEnum=IfcAlignmentTypeEnum;var IfcAlignmentVerticalSegmentTypeEnum=/*#__PURE__*/_createClass(function IfcAlignmentVerticalSegmentTypeEnum(){_classCallCheck(this,IfcAlignmentVerticalSegmentTypeEnum);});IfcAlignmentVerticalSegmentTypeEnum.CIRCULARARC={type:3,value:"CIRCULARARC"};IfcAlignmentVerticalSegmentTypeEnum.CLOTHOID={type:3,value:"CLOTHOID"};IfcAlignmentVerticalSegmentTypeEnum.CONSTANTGRADIENT={type:3,value:"CONSTANTGRADIENT"};IfcAlignmentVerticalSegmentTypeEnum.PARABOLICARC={type:3,value:"PARABOLICARC"};IFC4X32.IfcAlignmentVerticalSegmentTypeEnum=IfcAlignmentVerticalSegmentTypeEnum;var IfcAnalysisModelTypeEnum=/*#__PURE__*/_createClass(function IfcAnalysisModelTypeEnum(){_classCallCheck(this,IfcAnalysisModelTypeEnum);});IfcAnalysisModelTypeEnum.IN_PLANE_LOADING_2D={type:3,value:"IN_PLANE_LOADING_2D"};IfcAnalysisModelTypeEnum.LOADING_3D={type:3,value:"LOADING_3D"};IfcAnalysisModelTypeEnum.OUT_PLANE_LOADING_2D={type:3,value:"OUT_PLANE_LOADING_2D"};IfcAnalysisModelTypeEnum.USERDEFINED={type:3,value:"USERDEFINED"};IfcAnalysisModelTypeEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC4X32.IfcAnalysisModelTypeEnum=IfcAnalysisModelTypeEnum;var IfcAnalysisTheoryTypeEnum=/*#__PURE__*/_createClass(function IfcAnalysisTheoryTypeEnum(){_classCallCheck(this,IfcAnalysisTheoryTypeEnum);});IfcAnalysisTheoryTypeEnum.FIRST_ORDER_THEORY={type:3,value:"FIRST_ORDER_THEORY"};IfcAnalysisTheoryTypeEnum.FULL_NONLINEAR_THEORY={type:3,value:"FULL_NONLINEAR_THEORY"};IfcAnalysisTheoryTypeEnum.SECOND_ORDER_THEORY={type:3,value:"SECOND_ORDER_THEORY"};IfcAnalysisTheoryTypeEnum.THIRD_ORDER_THEORY={type:3,value:"THIRD_ORDER_THEORY"};IfcAnalysisTheoryTypeEnum.USERDEFINED={type:3,value:"USERDEFINED"};IfcAnalysisTheoryTypeEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC4X32.IfcAnalysisTheoryTypeEnum=IfcAnalysisTheoryTypeEnum;var IfcAnnotationTypeEnum=/*#__PURE__*/_createClass(function IfcAnnotationTypeEnum(){_classCallCheck(this,IfcAnnotationTypeEnum);});IfcAnnotationTypeEnum.ASBUILTAREA={type:3,value:"ASBUILTAREA"};IfcAnnotationTypeEnum.ASBUILTLINE={type:3,value:"ASBUILTLINE"};IfcAnnotationTypeEnum.ASBUILTPOINT={type:3,value:"ASBUILTPOINT"};IfcAnnotationTypeEnum.ASSUMEDAREA={type:3,value:"ASSUMEDAREA"};IfcAnnotationTypeEnum.ASSUMEDLINE={type:3,value:"ASSUMEDLINE"};IfcAnnotationTypeEnum.ASSUMEDPOINT={type:3,value:"ASSUMEDPOINT"};IfcAnnotationTypeEnum.NON_PHYSICAL_SIGNAL={type:3,value:"NON_PHYSICAL_SIGNAL"};IfcAnnotationTypeEnum.SUPERELEVATIONEVENT={type:3,value:"SUPERELEVATIONEVENT"};IfcAnnotationTypeEnum.WIDTHEVENT={type:3,value:"WIDTHEVENT"};IfcAnnotationTypeEnum.USERDEFINED={type:3,value:"USERDEFINED"};IfcAnnotationTypeEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC4X32.IfcAnnotationTypeEnum=IfcAnnotationTypeEnum;var IfcArithmeticOperatorEnum=/*#__PURE__*/_createClass(function IfcArithmeticOperatorEnum(){_classCallCheck(this,IfcArithmeticOperatorEnum);});IfcArithmeticOperatorEnum.ADD={type:3,value:"ADD"};IfcArithmeticOperatorEnum.DIVIDE={type:3,value:"DIVIDE"};IfcArithmeticOperatorEnum.MULTIPLY={type:3,value:"MULTIPLY"};IfcArithmeticOperatorEnum.SUBTRACT={type:3,value:"SUBTRACT"};IFC4X32.IfcArithmeticOperatorEnum=IfcArithmeticOperatorEnum;var IfcAssemblyPlaceEnum=/*#__PURE__*/_createClass(function IfcAssemblyPlaceEnum(){_classCallCheck(this,IfcAssemblyPlaceEnum);});IfcAssemblyPlaceEnum.FACTORY={type:3,value:"FACTORY"};IfcAssemblyPlaceEnum.SITE={type:3,value:"SITE"};IfcAssemblyPlaceEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC4X32.IfcAssemblyPlaceEnum=IfcAssemblyPlaceEnum;var IfcAudioVisualApplianceTypeEnum=/*#__PURE__*/_createClass(function IfcAudioVisualApplianceTypeEnum(){_classCallCheck(this,IfcAudioVisualApplianceTypeEnum);});IfcAudioVisualApplianceTypeEnum.AMPLIFIER={type:3,value:"AMPLIFIER"};IfcAudioVisualApplianceTypeEnum.CAMERA={type:3,value:"CAMERA"};IfcAudioVisualApplianceTypeEnum.COMMUNICATIONTERMINAL={type:3,value:"COMMUNICATIONTERMINAL"};IfcAudioVisualApplianceTypeEnum.DISPLAY={type:3,value:"DISPLAY"};IfcAudioVisualApplianceTypeEnum.MICROPHONE={type:3,value:"MICROPHONE"};IfcAudioVisualApplianceTypeEnum.PLAYER={type:3,value:"PLAYER"};IfcAudioVisualApplianceTypeEnum.PROJECTOR={type:3,value:"PROJECTOR"};IfcAudioVisualApplianceTypeEnum.RECEIVER={type:3,value:"RECEIVER"};IfcAudioVisualApplianceTypeEnum.RECORDINGEQUIPMENT={type:3,value:"RECORDINGEQUIPMENT"};IfcAudioVisualApplianceTypeEnum.SPEAKER={type:3,value:"SPEAKER"};IfcAudioVisualApplianceTypeEnum.SWITCHER={type:3,value:"SWITCHER"};IfcAudioVisualApplianceTypeEnum.TELEPHONE={type:3,value:"TELEPHONE"};IfcAudioVisualApplianceTypeEnum.TUNER={type:3,value:"TUNER"};IfcAudioVisualApplianceTypeEnum.USERDEFINED={type:3,value:"USERDEFINED"};IfcAudioVisualApplianceTypeEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC4X32.IfcAudioVisualApplianceTypeEnum=IfcAudioVisualApplianceTypeEnum;var IfcBSplineCurveForm=/*#__PURE__*/_createClass(function IfcBSplineCurveForm(){_classCallCheck(this,IfcBSplineCurveForm);});IfcBSplineCurveForm.CIRCULAR_ARC={type:3,value:"CIRCULAR_ARC"};IfcBSplineCurveForm.ELLIPTIC_ARC={type:3,value:"ELLIPTIC_ARC"};IfcBSplineCurveForm.HYPERBOLIC_ARC={type:3,value:"HYPERBOLIC_ARC"};IfcBSplineCurveForm.PARABOLIC_ARC={type:3,value:"PARABOLIC_ARC"};IfcBSplineCurveForm.POLYLINE_FORM={type:3,value:"POLYLINE_FORM"};IfcBSplineCurveForm.UNSPECIFIED={type:3,value:"UNSPECIFIED"};IFC4X32.IfcBSplineCurveForm=IfcBSplineCurveForm;var IfcBSplineSurfaceForm=/*#__PURE__*/_createClass(function IfcBSplineSurfaceForm(){_classCallCheck(this,IfcBSplineSurfaceForm);});IfcBSplineSurfaceForm.CONICAL_SURF={type:3,value:"CONICAL_SURF"};IfcBSplineSurfaceForm.CYLINDRICAL_SURF={type:3,value:"CYLINDRICAL_SURF"};IfcBSplineSurfaceForm.GENERALISED_CONE={type:3,value:"GENERALISED_CONE"};IfcBSplineSurfaceForm.PLANE_SURF={type:3,value:"PLANE_SURF"};IfcBSplineSurfaceForm.QUADRIC_SURF={type:3,value:"QUADRIC_SURF"};IfcBSplineSurfaceForm.RULED_SURF={type:3,value:"RULED_SURF"};IfcBSplineSurfaceForm.SPHERICAL_SURF={type:3,value:"SPHERICAL_SURF"};IfcBSplineSurfaceForm.SURF_OF_LINEAR_EXTRUSION={type:3,value:"SURF_OF_LINEAR_EXTRUSION"};IfcBSplineSurfaceForm.SURF_OF_REVOLUTION={type:3,value:"SURF_OF_REVOLUTION"};IfcBSplineSurfaceForm.TOROIDAL_SURF={type:3,value:"TOROIDAL_SURF"};IfcBSplineSurfaceForm.UNSPECIFIED={type:3,value:"UNSPECIFIED"};IFC4X32.IfcBSplineSurfaceForm=IfcBSplineSurfaceForm;var IfcBeamTypeEnum=/*#__PURE__*/_createClass(function IfcBeamTypeEnum(){_classCallCheck(this,IfcBeamTypeEnum);});IfcBeamTypeEnum.BEAM={type:3,value:"BEAM"};IfcBeamTypeEnum.CORNICE={type:3,value:"CORNICE"};IfcBeamTypeEnum.DIAPHRAGM={type:3,value:"DIAPHRAGM"};IfcBeamTypeEnum.EDGEBEAM={type:3,value:"EDGEBEAM"};IfcBeamTypeEnum.GIRDER_SEGMENT={type:3,value:"GIRDER_SEGMENT"};IfcBeamTypeEnum.HATSTONE={type:3,value:"HATSTONE"};IfcBeamTypeEnum.HOLLOWCORE={type:3,value:"HOLLOWCORE"};IfcBeamTypeEnum.JOIST={type:3,value:"JOIST"};IfcBeamTypeEnum.LINTEL={type:3,value:"LINTEL"};IfcBeamTypeEnum.PIERCAP={type:3,value:"PIERCAP"};IfcBeamTypeEnum.SPANDREL={type:3,value:"SPANDREL"};IfcBeamTypeEnum.T_BEAM={type:3,value:"T_BEAM"};IfcBeamTypeEnum.USERDEFINED={type:3,value:"USERDEFINED"};IfcBeamTypeEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC4X32.IfcBeamTypeEnum=IfcBeamTypeEnum;var IfcBearingTypeDisplacementEnum=/*#__PURE__*/_createClass(function IfcBearingTypeDisplacementEnum(){_classCallCheck(this,IfcBearingTypeDisplacementEnum);});IfcBearingTypeDisplacementEnum.FIXED_MOVEMENT={type:3,value:"FIXED_MOVEMENT"};IfcBearingTypeDisplacementEnum.FREE_MOVEMENT={type:3,value:"FREE_MOVEMENT"};IfcBearingTypeDisplacementEnum.GUIDED_LONGITUDINAL={type:3,value:"GUIDED_LONGITUDINAL"};IfcBearingTypeDisplacementEnum.GUIDED_TRANSVERSAL={type:3,value:"GUIDED_TRANSVERSAL"};IfcBearingTypeDisplacementEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC4X32.IfcBearingTypeDisplacementEnum=IfcBearingTypeDisplacementEnum;var IfcBearingTypeEnum=/*#__PURE__*/_createClass(function IfcBearingTypeEnum(){_classCallCheck(this,IfcBearingTypeEnum);});IfcBearingTypeEnum.CYLINDRICAL={type:3,value:"CYLINDRICAL"};IfcBearingTypeEnum.DISK={type:3,value:"DISK"};IfcBearingTypeEnum.ELASTOMERIC={type:3,value:"ELASTOMERIC"};IfcBearingTypeEnum.GUIDE={type:3,value:"GUIDE"};IfcBearingTypeEnum.POT={type:3,value:"POT"};IfcBearingTypeEnum.ROCKER={type:3,value:"ROCKER"};IfcBearingTypeEnum.ROLLER={type:3,value:"ROLLER"};IfcBearingTypeEnum.SPHERICAL={type:3,value:"SPHERICAL"};IfcBearingTypeEnum.USERDEFINED={type:3,value:"USERDEFINED"};IfcBearingTypeEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC4X32.IfcBearingTypeEnum=IfcBearingTypeEnum;var IfcBenchmarkEnum=/*#__PURE__*/_createClass(function IfcBenchmarkEnum(){_classCallCheck(this,IfcBenchmarkEnum);});IfcBenchmarkEnum.EQUALTO={type:3,value:"EQUALTO"};IfcBenchmarkEnum.GREATERTHAN={type:3,value:"GREATERTHAN"};IfcBenchmarkEnum.GREATERTHANOREQUALTO={type:3,value:"GREATERTHANOREQUALTO"};IfcBenchmarkEnum.INCLUDEDIN={type:3,value:"INCLUDEDIN"};IfcBenchmarkEnum.INCLUDES={type:3,value:"INCLUDES"};IfcBenchmarkEnum.LESSTHAN={type:3,value:"LESSTHAN"};IfcBenchmarkEnum.LESSTHANOREQUALTO={type:3,value:"LESSTHANOREQUALTO"};IfcBenchmarkEnum.NOTEQUALTO={type:3,value:"NOTEQUALTO"};IfcBenchmarkEnum.NOTINCLUDEDIN={type:3,value:"NOTINCLUDEDIN"};IfcBenchmarkEnum.NOTINCLUDES={type:3,value:"NOTINCLUDES"};IFC4X32.IfcBenchmarkEnum=IfcBenchmarkEnum;var IfcBoilerTypeEnum=/*#__PURE__*/_createClass(function IfcBoilerTypeEnum(){_classCallCheck(this,IfcBoilerTypeEnum);});IfcBoilerTypeEnum.STEAM={type:3,value:"STEAM"};IfcBoilerTypeEnum.WATER={type:3,value:"WATER"};IfcBoilerTypeEnum.USERDEFINED={type:3,value:"USERDEFINED"};IfcBoilerTypeEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC4X32.IfcBoilerTypeEnum=IfcBoilerTypeEnum;var IfcBooleanOperator=/*#__PURE__*/_createClass(function IfcBooleanOperator(){_classCallCheck(this,IfcBooleanOperator);});IfcBooleanOperator.DIFFERENCE={type:3,value:"DIFFERENCE"};IfcBooleanOperator.INTERSECTION={type:3,value:"INTERSECTION"};IfcBooleanOperator.UNION={type:3,value:"UNION"};IFC4X32.IfcBooleanOperator=IfcBooleanOperator;var IfcBridgePartTypeEnum=/*#__PURE__*/_createClass(function IfcBridgePartTypeEnum(){_classCallCheck(this,IfcBridgePartTypeEnum);});IfcBridgePartTypeEnum.ABUTMENT={type:3,value:"ABUTMENT"};IfcBridgePartTypeEnum.DECK={type:3,value:"DECK"};IfcBridgePartTypeEnum.DECK_SEGMENT={type:3,value:"DECK_SEGMENT"};IfcBridgePartTypeEnum.FOUNDATION={type:3,value:"FOUNDATION"};IfcBridgePartTypeEnum.PIER={type:3,value:"PIER"};IfcBridgePartTypeEnum.PIER_SEGMENT={type:3,value:"PIER_SEGMENT"};IfcBridgePartTypeEnum.PYLON={type:3,value:"PYLON"};IfcBridgePartTypeEnum.SUBSTRUCTURE={type:3,value:"SUBSTRUCTURE"};IfcBridgePartTypeEnum.SUPERSTRUCTURE={type:3,value:"SUPERSTRUCTURE"};IfcBridgePartTypeEnum.SURFACESTRUCTURE={type:3,value:"SURFACESTRUCTURE"};IfcBridgePartTypeEnum.USERDEFINED={type:3,value:"USERDEFINED"};IfcBridgePartTypeEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC4X32.IfcBridgePartTypeEnum=IfcBridgePartTypeEnum;var IfcBridgeTypeEnum=/*#__PURE__*/_createClass(function IfcBridgeTypeEnum(){_classCallCheck(this,IfcBridgeTypeEnum);});IfcBridgeTypeEnum.ARCHED={type:3,value:"ARCHED"};IfcBridgeTypeEnum.CABLE_STAYED={type:3,value:"CABLE_STAYED"};IfcBridgeTypeEnum.CANTILEVER={type:3,value:"CANTILEVER"};IfcBridgeTypeEnum.CULVERT={type:3,value:"CULVERT"};IfcBridgeTypeEnum.FRAMEWORK={type:3,value:"FRAMEWORK"};IfcBridgeTypeEnum.GIRDER={type:3,value:"GIRDER"};IfcBridgeTypeEnum.SUSPENSION={type:3,value:"SUSPENSION"};IfcBridgeTypeEnum.TRUSS={type:3,value:"TRUSS"};IfcBridgeTypeEnum.USERDEFINED={type:3,value:"USERDEFINED"};IfcBridgeTypeEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC4X32.IfcBridgeTypeEnum=IfcBridgeTypeEnum;var IfcBuildingElementPartTypeEnum=/*#__PURE__*/_createClass(function IfcBuildingElementPartTypeEnum(){_classCallCheck(this,IfcBuildingElementPartTypeEnum);});IfcBuildingElementPartTypeEnum.APRON={type:3,value:"APRON"};IfcBuildingElementPartTypeEnum.ARMOURUNIT={type:3,value:"ARMOURUNIT"};IfcBuildingElementPartTypeEnum.INSULATION={type:3,value:"INSULATION"};IfcBuildingElementPartTypeEnum.PRECASTPANEL={type:3,value:"PRECASTPANEL"};IfcBuildingElementPartTypeEnum.SAFETYCAGE={type:3,value:"SAFETYCAGE"};IfcBuildingElementPartTypeEnum.USERDEFINED={type:3,value:"USERDEFINED"};IfcBuildingElementPartTypeEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC4X32.IfcBuildingElementPartTypeEnum=IfcBuildingElementPartTypeEnum;var IfcBuildingElementProxyTypeEnum=/*#__PURE__*/_createClass(function IfcBuildingElementProxyTypeEnum(){_classCallCheck(this,IfcBuildingElementProxyTypeEnum);});IfcBuildingElementProxyTypeEnum.COMPLEX={type:3,value:"COMPLEX"};IfcBuildingElementProxyTypeEnum.ELEMENT={type:3,value:"ELEMENT"};IfcBuildingElementProxyTypeEnum.PARTIAL={type:3,value:"PARTIAL"};IfcBuildingElementProxyTypeEnum.USERDEFINED={type:3,value:"USERDEFINED"};IfcBuildingElementProxyTypeEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC4X32.IfcBuildingElementProxyTypeEnum=IfcBuildingElementProxyTypeEnum;var IfcBuildingSystemTypeEnum=/*#__PURE__*/_createClass(function IfcBuildingSystemTypeEnum(){_classCallCheck(this,IfcBuildingSystemTypeEnum);});IfcBuildingSystemTypeEnum.EROSIONPREVENTION={type:3,value:"EROSIONPREVENTION"};IfcBuildingSystemTypeEnum.FENESTRATION={type:3,value:"FENESTRATION"};IfcBuildingSystemTypeEnum.FOUNDATION={type:3,value:"FOUNDATION"};IfcBuildingSystemTypeEnum.LOADBEARING={type:3,value:"LOADBEARING"};IfcBuildingSystemTypeEnum.OUTERSHELL={type:3,value:"OUTERSHELL"};IfcBuildingSystemTypeEnum.PRESTRESSING={type:3,value:"PRESTRESSING"};IfcBuildingSystemTypeEnum.REINFORCING={type:3,value:"REINFORCING"};IfcBuildingSystemTypeEnum.SHADING={type:3,value:"SHADING"};IfcBuildingSystemTypeEnum.TRANSPORT={type:3,value:"TRANSPORT"};IfcBuildingSystemTypeEnum.USERDEFINED={type:3,value:"USERDEFINED"};IfcBuildingSystemTypeEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC4X32.IfcBuildingSystemTypeEnum=IfcBuildingSystemTypeEnum;var IfcBuiltSystemTypeEnum=/*#__PURE__*/_createClass(function IfcBuiltSystemTypeEnum(){_classCallCheck(this,IfcBuiltSystemTypeEnum);});IfcBuiltSystemTypeEnum.EROSIONPREVENTION={type:3,value:"EROSIONPREVENTION"};IfcBuiltSystemTypeEnum.FENESTRATION={type:3,value:"FENESTRATION"};IfcBuiltSystemTypeEnum.FOUNDATION={type:3,value:"FOUNDATION"};IfcBuiltSystemTypeEnum.LOADBEARING={type:3,value:"LOADBEARING"};IfcBuiltSystemTypeEnum.MOORING={type:3,value:"MOORING"};IfcBuiltSystemTypeEnum.OUTERSHELL={type:3,value:"OUTERSHELL"};IfcBuiltSystemTypeEnum.PRESTRESSING={type:3,value:"PRESTRESSING"};IfcBuiltSystemTypeEnum.RAILWAYLINE={type:3,value:"RAILWAYLINE"};IfcBuiltSystemTypeEnum.RAILWAYTRACK={type:3,value:"RAILWAYTRACK"};IfcBuiltSystemTypeEnum.REINFORCING={type:3,value:"REINFORCING"};IfcBuiltSystemTypeEnum.SHADING={type:3,value:"SHADING"};IfcBuiltSystemTypeEnum.TRACKCIRCUIT={type:3,value:"TRACKCIRCUIT"};IfcBuiltSystemTypeEnum.TRANSPORT={type:3,value:"TRANSPORT"};IfcBuiltSystemTypeEnum.USERDEFINED={type:3,value:"USERDEFINED"};IfcBuiltSystemTypeEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC4X32.IfcBuiltSystemTypeEnum=IfcBuiltSystemTypeEnum;var IfcBurnerTypeEnum=/*#__PURE__*/_createClass(function IfcBurnerTypeEnum(){_classCallCheck(this,IfcBurnerTypeEnum);});IfcBurnerTypeEnum.USERDEFINED={type:3,value:"USERDEFINED"};IfcBurnerTypeEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC4X32.IfcBurnerTypeEnum=IfcBurnerTypeEnum;var IfcCableCarrierFittingTypeEnum=/*#__PURE__*/_createClass(function IfcCableCarrierFittingTypeEnum(){_classCallCheck(this,IfcCableCarrierFittingTypeEnum);});IfcCableCarrierFittingTypeEnum.BEND={type:3,value:"BEND"};IfcCableCarrierFittingTypeEnum.CONNECTOR={type:3,value:"CONNECTOR"};IfcCableCarrierFittingTypeEnum.CROSS={type:3,value:"CROSS"};IfcCableCarrierFittingTypeEnum.JUNCTION={type:3,value:"JUNCTION"};IfcCableCarrierFittingTypeEnum.TEE={type:3,value:"TEE"};IfcCableCarrierFittingTypeEnum.TRANSITION={type:3,value:"TRANSITION"};IfcCableCarrierFittingTypeEnum.USERDEFINED={type:3,value:"USERDEFINED"};IfcCableCarrierFittingTypeEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC4X32.IfcCableCarrierFittingTypeEnum=IfcCableCarrierFittingTypeEnum;var IfcCableCarrierSegmentTypeEnum=/*#__PURE__*/_createClass(function IfcCableCarrierSegmentTypeEnum(){_classCallCheck(this,IfcCableCarrierSegmentTypeEnum);});IfcCableCarrierSegmentTypeEnum.CABLEBRACKET={type:3,value:"CABLEBRACKET"};IfcCableCarrierSegmentTypeEnum.CABLELADDERSEGMENT={type:3,value:"CABLELADDERSEGMENT"};IfcCableCarrierSegmentTypeEnum.CABLETRAYSEGMENT={type:3,value:"CABLETRAYSEGMENT"};IfcCableCarrierSegmentTypeEnum.CABLETRUNKINGSEGMENT={type:3,value:"CABLETRUNKINGSEGMENT"};IfcCableCarrierSegmentTypeEnum.CATENARYWIRE={type:3,value:"CATENARYWIRE"};IfcCableCarrierSegmentTypeEnum.CONDUITSEGMENT={type:3,value:"CONDUITSEGMENT"};IfcCableCarrierSegmentTypeEnum.DROPPER={type:3,value:"DROPPER"};IfcCableCarrierSegmentTypeEnum.USERDEFINED={type:3,value:"USERDEFINED"};IfcCableCarrierSegmentTypeEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC4X32.IfcCableCarrierSegmentTypeEnum=IfcCableCarrierSegmentTypeEnum;var IfcCableFittingTypeEnum=/*#__PURE__*/_createClass(function IfcCableFittingTypeEnum(){_classCallCheck(this,IfcCableFittingTypeEnum);});IfcCableFittingTypeEnum.CONNECTOR={type:3,value:"CONNECTOR"};IfcCableFittingTypeEnum.ENTRY={type:3,value:"ENTRY"};IfcCableFittingTypeEnum.EXIT={type:3,value:"EXIT"};IfcCableFittingTypeEnum.FANOUT={type:3,value:"FANOUT"};IfcCableFittingTypeEnum.JUNCTION={type:3,value:"JUNCTION"};IfcCableFittingTypeEnum.TRANSITION={type:3,value:"TRANSITION"};IfcCableFittingTypeEnum.USERDEFINED={type:3,value:"USERDEFINED"};IfcCableFittingTypeEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC4X32.IfcCableFittingTypeEnum=IfcCableFittingTypeEnum;var IfcCableSegmentTypeEnum=/*#__PURE__*/_createClass(function IfcCableSegmentTypeEnum(){_classCallCheck(this,IfcCableSegmentTypeEnum);});IfcCableSegmentTypeEnum.BUSBARSEGMENT={type:3,value:"BUSBARSEGMENT"};IfcCableSegmentTypeEnum.CABLESEGMENT={type:3,value:"CABLESEGMENT"};IfcCableSegmentTypeEnum.CONDUCTORSEGMENT={type:3,value:"CONDUCTORSEGMENT"};IfcCableSegmentTypeEnum.CONTACTWIRESEGMENT={type:3,value:"CONTACTWIRESEGMENT"};IfcCableSegmentTypeEnum.CORESEGMENT={type:3,value:"CORESEGMENT"};IfcCableSegmentTypeEnum.FIBERSEGMENT={type:3,value:"FIBERSEGMENT"};IfcCableSegmentTypeEnum.FIBERTUBE={type:3,value:"FIBERTUBE"};IfcCableSegmentTypeEnum.OPTICALCABLESEGMENT={type:3,value:"OPTICALCABLESEGMENT"};IfcCableSegmentTypeEnum.STITCHWIRE={type:3,value:"STITCHWIRE"};IfcCableSegmentTypeEnum.WIREPAIRSEGMENT={type:3,value:"WIREPAIRSEGMENT"};IfcCableSegmentTypeEnum.USERDEFINED={type:3,value:"USERDEFINED"};IfcCableSegmentTypeEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC4X32.IfcCableSegmentTypeEnum=IfcCableSegmentTypeEnum;var IfcCaissonFoundationTypeEnum=/*#__PURE__*/_createClass(function IfcCaissonFoundationTypeEnum(){_classCallCheck(this,IfcCaissonFoundationTypeEnum);});IfcCaissonFoundationTypeEnum.CAISSON={type:3,value:"CAISSON"};IfcCaissonFoundationTypeEnum.WELL={type:3,value:"WELL"};IfcCaissonFoundationTypeEnum.USERDEFINED={type:3,value:"USERDEFINED"};IfcCaissonFoundationTypeEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC4X32.IfcCaissonFoundationTypeEnum=IfcCaissonFoundationTypeEnum;var IfcChangeActionEnum=/*#__PURE__*/_createClass(function IfcChangeActionEnum(){_classCallCheck(this,IfcChangeActionEnum);});IfcChangeActionEnum.ADDED={type:3,value:"ADDED"};IfcChangeActionEnum.DELETED={type:3,value:"DELETED"};IfcChangeActionEnum.MODIFIED={type:3,value:"MODIFIED"};IfcChangeActionEnum.NOCHANGE={type:3,value:"NOCHANGE"};IfcChangeActionEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC4X32.IfcChangeActionEnum=IfcChangeActionEnum;var IfcChillerTypeEnum=/*#__PURE__*/_createClass(function IfcChillerTypeEnum(){_classCallCheck(this,IfcChillerTypeEnum);});IfcChillerTypeEnum.AIRCOOLED={type:3,value:"AIRCOOLED"};IfcChillerTypeEnum.HEATRECOVERY={type:3,value:"HEATRECOVERY"};IfcChillerTypeEnum.WATERCOOLED={type:3,value:"WATERCOOLED"};IfcChillerTypeEnum.USERDEFINED={type:3,value:"USERDEFINED"};IfcChillerTypeEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC4X32.IfcChillerTypeEnum=IfcChillerTypeEnum;var IfcChimneyTypeEnum=/*#__PURE__*/_createClass(function IfcChimneyTypeEnum(){_classCallCheck(this,IfcChimneyTypeEnum);});IfcChimneyTypeEnum.USERDEFINED={type:3,value:"USERDEFINED"};IfcChimneyTypeEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC4X32.IfcChimneyTypeEnum=IfcChimneyTypeEnum;var IfcCoilTypeEnum=/*#__PURE__*/_createClass(function IfcCoilTypeEnum(){_classCallCheck(this,IfcCoilTypeEnum);});IfcCoilTypeEnum.DXCOOLINGCOIL={type:3,value:"DXCOOLINGCOIL"};IfcCoilTypeEnum.ELECTRICHEATINGCOIL={type:3,value:"ELECTRICHEATINGCOIL"};IfcCoilTypeEnum.GASHEATINGCOIL={type:3,value:"GASHEATINGCOIL"};IfcCoilTypeEnum.HYDRONICCOIL={type:3,value:"HYDRONICCOIL"};IfcCoilTypeEnum.STEAMHEATINGCOIL={type:3,value:"STEAMHEATINGCOIL"};IfcCoilTypeEnum.WATERCOOLINGCOIL={type:3,value:"WATERCOOLINGCOIL"};IfcCoilTypeEnum.WATERHEATINGCOIL={type:3,value:"WATERHEATINGCOIL"};IfcCoilTypeEnum.USERDEFINED={type:3,value:"USERDEFINED"};IfcCoilTypeEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC4X32.IfcCoilTypeEnum=IfcCoilTypeEnum;var IfcColumnTypeEnum=/*#__PURE__*/_createClass(function IfcColumnTypeEnum(){_classCallCheck(this,IfcColumnTypeEnum);});IfcColumnTypeEnum.COLUMN={type:3,value:"COLUMN"};IfcColumnTypeEnum.PIERSTEM={type:3,value:"PIERSTEM"};IfcColumnTypeEnum.PIERSTEM_SEGMENT={type:3,value:"PIERSTEM_SEGMENT"};IfcColumnTypeEnum.PILASTER={type:3,value:"PILASTER"};IfcColumnTypeEnum.STANDCOLUMN={type:3,value:"STANDCOLUMN"};IfcColumnTypeEnum.USERDEFINED={type:3,value:"USERDEFINED"};IfcColumnTypeEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC4X32.IfcColumnTypeEnum=IfcColumnTypeEnum;var IfcCommunicationsApplianceTypeEnum=/*#__PURE__*/_createClass(function IfcCommunicationsApplianceTypeEnum(){_classCallCheck(this,IfcCommunicationsApplianceTypeEnum);});IfcCommunicationsApplianceTypeEnum.ANTENNA={type:3,value:"ANTENNA"};IfcCommunicationsApplianceTypeEnum.AUTOMATON={type:3,value:"AUTOMATON"};IfcCommunicationsApplianceTypeEnum.COMPUTER={type:3,value:"COMPUTER"};IfcCommunicationsApplianceTypeEnum.FAX={type:3,value:"FAX"};IfcCommunicationsApplianceTypeEnum.GATEWAY={type:3,value:"GATEWAY"};IfcCommunicationsApplianceTypeEnum.INTELLIGENTPERIPHERAL={type:3,value:"INTELLIGENTPERIPHERAL"};IfcCommunicationsApplianceTypeEnum.IPNETWORKEQUIPMENT={type:3,value:"IPNETWORKEQUIPMENT"};IfcCommunicationsApplianceTypeEnum.LINESIDEELECTRONICUNIT={type:3,value:"LINESIDEELECTRONICUNIT"};IfcCommunicationsApplianceTypeEnum.MODEM={type:3,value:"MODEM"};IfcCommunicationsApplianceTypeEnum.NETWORKAPPLIANCE={type:3,value:"NETWORKAPPLIANCE"};IfcCommunicationsApplianceTypeEnum.NETWORKBRIDGE={type:3,value:"NETWORKBRIDGE"};IfcCommunicationsApplianceTypeEnum.NETWORKHUB={type:3,value:"NETWORKHUB"};IfcCommunicationsApplianceTypeEnum.OPTICALLINETERMINAL={type:3,value:"OPTICALLINETERMINAL"};IfcCommunicationsApplianceTypeEnum.OPTICALNETWORKUNIT={type:3,value:"OPTICALNETWORKUNIT"};IfcCommunicationsApplianceTypeEnum.PRINTER={type:3,value:"PRINTER"};IfcCommunicationsApplianceTypeEnum.RADIOBLOCKCENTER={type:3,value:"RADIOBLOCKCENTER"};IfcCommunicationsApplianceTypeEnum.REPEATER={type:3,value:"REPEATER"};IfcCommunicationsApplianceTypeEnum.ROUTER={type:3,value:"ROUTER"};IfcCommunicationsApplianceTypeEnum.SCANNER={type:3,value:"SCANNER"};IfcCommunicationsApplianceTypeEnum.TELECOMMAND={type:3,value:"TELECOMMAND"};IfcCommunicationsApplianceTypeEnum.TELEPHONYEXCHANGE={type:3,value:"TELEPHONYEXCHANGE"};IfcCommunicationsApplianceTypeEnum.TRANSITIONCOMPONENT={type:3,value:"TRANSITIONCOMPONENT"};IfcCommunicationsApplianceTypeEnum.TRANSPONDER={type:3,value:"TRANSPONDER"};IfcCommunicationsApplianceTypeEnum.TRANSPORTEQUIPMENT={type:3,value:"TRANSPORTEQUIPMENT"};IfcCommunicationsApplianceTypeEnum.USERDEFINED={type:3,value:"USERDEFINED"};IfcCommunicationsApplianceTypeEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC4X32.IfcCommunicationsApplianceTypeEnum=IfcCommunicationsApplianceTypeEnum;var IfcComplexPropertyTemplateTypeEnum=/*#__PURE__*/_createClass(function IfcComplexPropertyTemplateTypeEnum(){_classCallCheck(this,IfcComplexPropertyTemplateTypeEnum);});IfcComplexPropertyTemplateTypeEnum.P_COMPLEX={type:3,value:"P_COMPLEX"};IfcComplexPropertyTemplateTypeEnum.Q_COMPLEX={type:3,value:"Q_COMPLEX"};IFC4X32.IfcComplexPropertyTemplateTypeEnum=IfcComplexPropertyTemplateTypeEnum;var IfcCompressorTypeEnum=/*#__PURE__*/_createClass(function IfcCompressorTypeEnum(){_classCallCheck(this,IfcCompressorTypeEnum);});IfcCompressorTypeEnum.BOOSTER={type:3,value:"BOOSTER"};IfcCompressorTypeEnum.DYNAMIC={type:3,value:"DYNAMIC"};IfcCompressorTypeEnum.HERMETIC={type:3,value:"HERMETIC"};IfcCompressorTypeEnum.OPENTYPE={type:3,value:"OPENTYPE"};IfcCompressorTypeEnum.RECIPROCATING={type:3,value:"RECIPROCATING"};IfcCompressorTypeEnum.ROLLINGPISTON={type:3,value:"ROLLINGPISTON"};IfcCompressorTypeEnum.ROTARY={type:3,value:"ROTARY"};IfcCompressorTypeEnum.ROTARYVANE={type:3,value:"ROTARYVANE"};IfcCompressorTypeEnum.SCROLL={type:3,value:"SCROLL"};IfcCompressorTypeEnum.SEMIHERMETIC={type:3,value:"SEMIHERMETIC"};IfcCompressorTypeEnum.SINGLESCREW={type:3,value:"SINGLESCREW"};IfcCompressorTypeEnum.SINGLESTAGE={type:3,value:"SINGLESTAGE"};IfcCompressorTypeEnum.TROCHOIDAL={type:3,value:"TROCHOIDAL"};IfcCompressorTypeEnum.TWINSCREW={type:3,value:"TWINSCREW"};IfcCompressorTypeEnum.WELDEDSHELLHERMETIC={type:3,value:"WELDEDSHELLHERMETIC"};IfcCompressorTypeEnum.USERDEFINED={type:3,value:"USERDEFINED"};IfcCompressorTypeEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC4X32.IfcCompressorTypeEnum=IfcCompressorTypeEnum;var IfcCondenserTypeEnum=/*#__PURE__*/_createClass(function IfcCondenserTypeEnum(){_classCallCheck(this,IfcCondenserTypeEnum);});IfcCondenserTypeEnum.AIRCOOLED={type:3,value:"AIRCOOLED"};IfcCondenserTypeEnum.EVAPORATIVECOOLED={type:3,value:"EVAPORATIVECOOLED"};IfcCondenserTypeEnum.WATERCOOLED={type:3,value:"WATERCOOLED"};IfcCondenserTypeEnum.WATERCOOLEDBRAZEDPLATE={type:3,value:"WATERCOOLEDBRAZEDPLATE"};IfcCondenserTypeEnum.WATERCOOLEDSHELLCOIL={type:3,value:"WATERCOOLEDSHELLCOIL"};IfcCondenserTypeEnum.WATERCOOLEDSHELLTUBE={type:3,value:"WATERCOOLEDSHELLTUBE"};IfcCondenserTypeEnum.WATERCOOLEDTUBEINTUBE={type:3,value:"WATERCOOLEDTUBEINTUBE"};IfcCondenserTypeEnum.USERDEFINED={type:3,value:"USERDEFINED"};IfcCondenserTypeEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC4X32.IfcCondenserTypeEnum=IfcCondenserTypeEnum;var IfcConnectionTypeEnum=/*#__PURE__*/_createClass(function IfcConnectionTypeEnum(){_classCallCheck(this,IfcConnectionTypeEnum);});IfcConnectionTypeEnum.ATEND={type:3,value:"ATEND"};IfcConnectionTypeEnum.ATPATH={type:3,value:"ATPATH"};IfcConnectionTypeEnum.ATSTART={type:3,value:"ATSTART"};IfcConnectionTypeEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC4X32.IfcConnectionTypeEnum=IfcConnectionTypeEnum;var IfcConstraintEnum=/*#__PURE__*/_createClass(function IfcConstraintEnum(){_classCallCheck(this,IfcConstraintEnum);});IfcConstraintEnum.ADVISORY={type:3,value:"ADVISORY"};IfcConstraintEnum.HARD={type:3,value:"HARD"};IfcConstraintEnum.SOFT={type:3,value:"SOFT"};IfcConstraintEnum.USERDEFINED={type:3,value:"USERDEFINED"};IfcConstraintEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC4X32.IfcConstraintEnum=IfcConstraintEnum;var IfcConstructionEquipmentResourceTypeEnum=/*#__PURE__*/_createClass(function IfcConstructionEquipmentResourceTypeEnum(){_classCallCheck(this,IfcConstructionEquipmentResourceTypeEnum);});IfcConstructionEquipmentResourceTypeEnum.DEMOLISHING={type:3,value:"DEMOLISHING"};IfcConstructionEquipmentResourceTypeEnum.EARTHMOVING={type:3,value:"EARTHMOVING"};IfcConstructionEquipmentResourceTypeEnum.ERECTING={type:3,value:"ERECTING"};IfcConstructionEquipmentResourceTypeEnum.HEATING={type:3,value:"HEATING"};IfcConstructionEquipmentResourceTypeEnum.LIGHTING={type:3,value:"LIGHTING"};IfcConstructionEquipmentResourceTypeEnum.PAVING={type:3,value:"PAVING"};IfcConstructionEquipmentResourceTypeEnum.PUMPING={type:3,value:"PUMPING"};IfcConstructionEquipmentResourceTypeEnum.TRANSPORTING={type:3,value:"TRANSPORTING"};IfcConstructionEquipmentResourceTypeEnum.USERDEFINED={type:3,value:"USERDEFINED"};IfcConstructionEquipmentResourceTypeEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC4X32.IfcConstructionEquipmentResourceTypeEnum=IfcConstructionEquipmentResourceTypeEnum;var IfcConstructionMaterialResourceTypeEnum=/*#__PURE__*/_createClass(function IfcConstructionMaterialResourceTypeEnum(){_classCallCheck(this,IfcConstructionMaterialResourceTypeEnum);});IfcConstructionMaterialResourceTypeEnum.AGGREGATES={type:3,value:"AGGREGATES"};IfcConstructionMaterialResourceTypeEnum.CONCRETE={type:3,value:"CONCRETE"};IfcConstructionMaterialResourceTypeEnum.DRYWALL={type:3,value:"DRYWALL"};IfcConstructionMaterialResourceTypeEnum.FUEL={type:3,value:"FUEL"};IfcConstructionMaterialResourceTypeEnum.GYPSUM={type:3,value:"GYPSUM"};IfcConstructionMaterialResourceTypeEnum.MASONRY={type:3,value:"MASONRY"};IfcConstructionMaterialResourceTypeEnum.METAL={type:3,value:"METAL"};IfcConstructionMaterialResourceTypeEnum.PLASTIC={type:3,value:"PLASTIC"};IfcConstructionMaterialResourceTypeEnum.WOOD={type:3,value:"WOOD"};IfcConstructionMaterialResourceTypeEnum.USERDEFINED={type:3,value:"USERDEFINED"};IfcConstructionMaterialResourceTypeEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC4X32.IfcConstructionMaterialResourceTypeEnum=IfcConstructionMaterialResourceTypeEnum;var IfcConstructionProductResourceTypeEnum=/*#__PURE__*/_createClass(function IfcConstructionProductResourceTypeEnum(){_classCallCheck(this,IfcConstructionProductResourceTypeEnum);});IfcConstructionProductResourceTypeEnum.ASSEMBLY={type:3,value:"ASSEMBLY"};IfcConstructionProductResourceTypeEnum.FORMWORK={type:3,value:"FORMWORK"};IfcConstructionProductResourceTypeEnum.USERDEFINED={type:3,value:"USERDEFINED"};IfcConstructionProductResourceTypeEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC4X32.IfcConstructionProductResourceTypeEnum=IfcConstructionProductResourceTypeEnum;var IfcControllerTypeEnum=/*#__PURE__*/_createClass(function IfcControllerTypeEnum(){_classCallCheck(this,IfcControllerTypeEnum);});IfcControllerTypeEnum.FLOATING={type:3,value:"FLOATING"};IfcControllerTypeEnum.MULTIPOSITION={type:3,value:"MULTIPOSITION"};IfcControllerTypeEnum.PROGRAMMABLE={type:3,value:"PROGRAMMABLE"};IfcControllerTypeEnum.PROPORTIONAL={type:3,value:"PROPORTIONAL"};IfcControllerTypeEnum.TWOPOSITION={type:3,value:"TWOPOSITION"};IfcControllerTypeEnum.USERDEFINED={type:3,value:"USERDEFINED"};IfcControllerTypeEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC4X32.IfcControllerTypeEnum=IfcControllerTypeEnum;var IfcConveyorSegmentTypeEnum=/*#__PURE__*/_createClass(function IfcConveyorSegmentTypeEnum(){_classCallCheck(this,IfcConveyorSegmentTypeEnum);});IfcConveyorSegmentTypeEnum.BELTCONVEYOR={type:3,value:"BELTCONVEYOR"};IfcConveyorSegmentTypeEnum.BUCKETCONVEYOR={type:3,value:"BUCKETCONVEYOR"};IfcConveyorSegmentTypeEnum.CHUTECONVEYOR={type:3,value:"CHUTECONVEYOR"};IfcConveyorSegmentTypeEnum.SCREWCONVEYOR={type:3,value:"SCREWCONVEYOR"};IfcConveyorSegmentTypeEnum.USERDEFINED={type:3,value:"USERDEFINED"};IfcConveyorSegmentTypeEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC4X32.IfcConveyorSegmentTypeEnum=IfcConveyorSegmentTypeEnum;var IfcCooledBeamTypeEnum=/*#__PURE__*/_createClass(function IfcCooledBeamTypeEnum(){_classCallCheck(this,IfcCooledBeamTypeEnum);});IfcCooledBeamTypeEnum.ACTIVE={type:3,value:"ACTIVE"};IfcCooledBeamTypeEnum.PASSIVE={type:3,value:"PASSIVE"};IfcCooledBeamTypeEnum.USERDEFINED={type:3,value:"USERDEFINED"};IfcCooledBeamTypeEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC4X32.IfcCooledBeamTypeEnum=IfcCooledBeamTypeEnum;var IfcCoolingTowerTypeEnum=/*#__PURE__*/_createClass(function IfcCoolingTowerTypeEnum(){_classCallCheck(this,IfcCoolingTowerTypeEnum);});IfcCoolingTowerTypeEnum.MECHANICALFORCEDDRAFT={type:3,value:"MECHANICALFORCEDDRAFT"};IfcCoolingTowerTypeEnum.MECHANICALINDUCEDDRAFT={type:3,value:"MECHANICALINDUCEDDRAFT"};IfcCoolingTowerTypeEnum.NATURALDRAFT={type:3,value:"NATURALDRAFT"};IfcCoolingTowerTypeEnum.USERDEFINED={type:3,value:"USERDEFINED"};IfcCoolingTowerTypeEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC4X32.IfcCoolingTowerTypeEnum=IfcCoolingTowerTypeEnum;var IfcCostItemTypeEnum=/*#__PURE__*/_createClass(function IfcCostItemTypeEnum(){_classCallCheck(this,IfcCostItemTypeEnum);});IfcCostItemTypeEnum.USERDEFINED={type:3,value:"USERDEFINED"};IfcCostItemTypeEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC4X32.IfcCostItemTypeEnum=IfcCostItemTypeEnum;var IfcCostScheduleTypeEnum=/*#__PURE__*/_createClass(function IfcCostScheduleTypeEnum(){_classCallCheck(this,IfcCostScheduleTypeEnum);});IfcCostScheduleTypeEnum.BUDGET={type:3,value:"BUDGET"};IfcCostScheduleTypeEnum.COSTPLAN={type:3,value:"COSTPLAN"};IfcCostScheduleTypeEnum.ESTIMATE={type:3,value:"ESTIMATE"};IfcCostScheduleTypeEnum.PRICEDBILLOFQUANTITIES={type:3,value:"PRICEDBILLOFQUANTITIES"};IfcCostScheduleTypeEnum.SCHEDULEOFRATES={type:3,value:"SCHEDULEOFRATES"};IfcCostScheduleTypeEnum.TENDER={type:3,value:"TENDER"};IfcCostScheduleTypeEnum.UNPRICEDBILLOFQUANTITIES={type:3,value:"UNPRICEDBILLOFQUANTITIES"};IfcCostScheduleTypeEnum.USERDEFINED={type:3,value:"USERDEFINED"};IfcCostScheduleTypeEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC4X32.IfcCostScheduleTypeEnum=IfcCostScheduleTypeEnum;var IfcCourseTypeEnum=/*#__PURE__*/_createClass(function IfcCourseTypeEnum(){_classCallCheck(this,IfcCourseTypeEnum);});IfcCourseTypeEnum.ARMOUR={type:3,value:"ARMOUR"};IfcCourseTypeEnum.BALLASTBED={type:3,value:"BALLASTBED"};IfcCourseTypeEnum.CORE={type:3,value:"CORE"};IfcCourseTypeEnum.FILTER={type:3,value:"FILTER"};IfcCourseTypeEnum.PAVEMENT={type:3,value:"PAVEMENT"};IfcCourseTypeEnum.PROTECTION={type:3,value:"PROTECTION"};IfcCourseTypeEnum.USERDEFINED={type:3,value:"USERDEFINED"};IfcCourseTypeEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC4X32.IfcCourseTypeEnum=IfcCourseTypeEnum;var IfcCoveringTypeEnum=/*#__PURE__*/_createClass(function IfcCoveringTypeEnum(){_classCallCheck(this,IfcCoveringTypeEnum);});IfcCoveringTypeEnum.CEILING={type:3,value:"CEILING"};IfcCoveringTypeEnum.CLADDING={type:3,value:"CLADDING"};IfcCoveringTypeEnum.COPING={type:3,value:"COPING"};IfcCoveringTypeEnum.FLOORING={type:3,value:"FLOORING"};IfcCoveringTypeEnum.INSULATION={type:3,value:"INSULATION"};IfcCoveringTypeEnum.MEMBRANE={type:3,value:"MEMBRANE"};IfcCoveringTypeEnum.MOLDING={type:3,value:"MOLDING"};IfcCoveringTypeEnum.ROOFING={type:3,value:"ROOFING"};IfcCoveringTypeEnum.SKIRTINGBOARD={type:3,value:"SKIRTINGBOARD"};IfcCoveringTypeEnum.SLEEVING={type:3,value:"SLEEVING"};IfcCoveringTypeEnum.TOPPING={type:3,value:"TOPPING"};IfcCoveringTypeEnum.WRAPPING={type:3,value:"WRAPPING"};IfcCoveringTypeEnum.USERDEFINED={type:3,value:"USERDEFINED"};IfcCoveringTypeEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC4X32.IfcCoveringTypeEnum=IfcCoveringTypeEnum;var IfcCrewResourceTypeEnum=/*#__PURE__*/_createClass(function IfcCrewResourceTypeEnum(){_classCallCheck(this,IfcCrewResourceTypeEnum);});IfcCrewResourceTypeEnum.OFFICE={type:3,value:"OFFICE"};IfcCrewResourceTypeEnum.SITE={type:3,value:"SITE"};IfcCrewResourceTypeEnum.USERDEFINED={type:3,value:"USERDEFINED"};IfcCrewResourceTypeEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC4X32.IfcCrewResourceTypeEnum=IfcCrewResourceTypeEnum;var IfcCurtainWallTypeEnum=/*#__PURE__*/_createClass(function IfcCurtainWallTypeEnum(){_classCallCheck(this,IfcCurtainWallTypeEnum);});IfcCurtainWallTypeEnum.USERDEFINED={type:3,value:"USERDEFINED"};IfcCurtainWallTypeEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC4X32.IfcCurtainWallTypeEnum=IfcCurtainWallTypeEnum;var IfcCurveInterpolationEnum=/*#__PURE__*/_createClass(function IfcCurveInterpolationEnum(){_classCallCheck(this,IfcCurveInterpolationEnum);});IfcCurveInterpolationEnum.LINEAR={type:3,value:"LINEAR"};IfcCurveInterpolationEnum.LOG_LINEAR={type:3,value:"LOG_LINEAR"};IfcCurveInterpolationEnum.LOG_LOG={type:3,value:"LOG_LOG"};IfcCurveInterpolationEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC4X32.IfcCurveInterpolationEnum=IfcCurveInterpolationEnum;var IfcDamperTypeEnum=/*#__PURE__*/_createClass(function IfcDamperTypeEnum(){_classCallCheck(this,IfcDamperTypeEnum);});IfcDamperTypeEnum.BACKDRAFTDAMPER={type:3,value:"BACKDRAFTDAMPER"};IfcDamperTypeEnum.BALANCINGDAMPER={type:3,value:"BALANCINGDAMPER"};IfcDamperTypeEnum.BLASTDAMPER={type:3,value:"BLASTDAMPER"};IfcDamperTypeEnum.CONTROLDAMPER={type:3,value:"CONTROLDAMPER"};IfcDamperTypeEnum.FIREDAMPER={type:3,value:"FIREDAMPER"};IfcDamperTypeEnum.FIRESMOKEDAMPER={type:3,value:"FIRESMOKEDAMPER"};IfcDamperTypeEnum.FUMEHOODEXHAUST={type:3,value:"FUMEHOODEXHAUST"};IfcDamperTypeEnum.GRAVITYDAMPER={type:3,value:"GRAVITYDAMPER"};IfcDamperTypeEnum.GRAVITYRELIEFDAMPER={type:3,value:"GRAVITYRELIEFDAMPER"};IfcDamperTypeEnum.RELIEFDAMPER={type:3,value:"RELIEFDAMPER"};IfcDamperTypeEnum.SMOKEDAMPER={type:3,value:"SMOKEDAMPER"};IfcDamperTypeEnum.USERDEFINED={type:3,value:"USERDEFINED"};IfcDamperTypeEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC4X32.IfcDamperTypeEnum=IfcDamperTypeEnum;var IfcDataOriginEnum=/*#__PURE__*/_createClass(function IfcDataOriginEnum(){_classCallCheck(this,IfcDataOriginEnum);});IfcDataOriginEnum.MEASURED={type:3,value:"MEASURED"};IfcDataOriginEnum.PREDICTED={type:3,value:"PREDICTED"};IfcDataOriginEnum.SIMULATED={type:3,value:"SIMULATED"};IfcDataOriginEnum.USERDEFINED={type:3,value:"USERDEFINED"};IfcDataOriginEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC4X32.IfcDataOriginEnum=IfcDataOriginEnum;var IfcDerivedUnitEnum=/*#__PURE__*/_createClass(function IfcDerivedUnitEnum(){_classCallCheck(this,IfcDerivedUnitEnum);});IfcDerivedUnitEnum.ACCELERATIONUNIT={type:3,value:"ACCELERATIONUNIT"};IfcDerivedUnitEnum.ANGULARVELOCITYUNIT={type:3,value:"ANGULARVELOCITYUNIT"};IfcDerivedUnitEnum.AREADENSITYUNIT={type:3,value:"AREADENSITYUNIT"};IfcDerivedUnitEnum.COMPOUNDPLANEANGLEUNIT={type:3,value:"COMPOUNDPLANEANGLEUNIT"};IfcDerivedUnitEnum.CURVATUREUNIT={type:3,value:"CURVATUREUNIT"};IfcDerivedUnitEnum.DYNAMICVISCOSITYUNIT={type:3,value:"DYNAMICVISCOSITYUNIT"};IfcDerivedUnitEnum.HEATFLUXDENSITYUNIT={type:3,value:"HEATFLUXDENSITYUNIT"};IfcDerivedUnitEnum.HEATINGVALUEUNIT={type:3,value:"HEATINGVALUEUNIT"};IfcDerivedUnitEnum.INTEGERCOUNTRATEUNIT={type:3,value:"INTEGERCOUNTRATEUNIT"};IfcDerivedUnitEnum.IONCONCENTRATIONUNIT={type:3,value:"IONCONCENTRATIONUNIT"};IfcDerivedUnitEnum.ISOTHERMALMOISTURECAPACITYUNIT={type:3,value:"ISOTHERMALMOISTURECAPACITYUNIT"};IfcDerivedUnitEnum.KINEMATICVISCOSITYUNIT={type:3,value:"KINEMATICVISCOSITYUNIT"};IfcDerivedUnitEnum.LINEARFORCEUNIT={type:3,value:"LINEARFORCEUNIT"};IfcDerivedUnitEnum.LINEARMOMENTUNIT={type:3,value:"LINEARMOMENTUNIT"};IfcDerivedUnitEnum.LINEARSTIFFNESSUNIT={type:3,value:"LINEARSTIFFNESSUNIT"};IfcDerivedUnitEnum.LINEARVELOCITYUNIT={type:3,value:"LINEARVELOCITYUNIT"};IfcDerivedUnitEnum.LUMINOUSINTENSITYDISTRIBUTIONUNIT={type:3,value:"LUMINOUSINTENSITYDISTRIBUTIONUNIT"};IfcDerivedUnitEnum.MASSDENSITYUNIT={type:3,value:"MASSDENSITYUNIT"};IfcDerivedUnitEnum.MASSFLOWRATEUNIT={type:3,value:"MASSFLOWRATEUNIT"};IfcDerivedUnitEnum.MASSPERLENGTHUNIT={type:3,value:"MASSPERLENGTHUNIT"};IfcDerivedUnitEnum.MODULUSOFELASTICITYUNIT={type:3,value:"MODULUSOFELASTICITYUNIT"};IfcDerivedUnitEnum.MODULUSOFLINEARSUBGRADEREACTIONUNIT={type:3,value:"MODULUSOFLINEARSUBGRADEREACTIONUNIT"};IfcDerivedUnitEnum.MODULUSOFROTATIONALSUBGRADEREACTIONUNIT={type:3,value:"MODULUSOFROTATIONALSUBGRADEREACTIONUNIT"};IfcDerivedUnitEnum.MODULUSOFSUBGRADEREACTIONUNIT={type:3,value:"MODULUSOFSUBGRADEREACTIONUNIT"};IfcDerivedUnitEnum.MOISTUREDIFFUSIVITYUNIT={type:3,value:"MOISTUREDIFFUSIVITYUNIT"};IfcDerivedUnitEnum.MOLECULARWEIGHTUNIT={type:3,value:"MOLECULARWEIGHTUNIT"};IfcDerivedUnitEnum.MOMENTOFINERTIAUNIT={type:3,value:"MOMENTOFINERTIAUNIT"};IfcDerivedUnitEnum.PHUNIT={type:3,value:"PHUNIT"};IfcDerivedUnitEnum.PLANARFORCEUNIT={type:3,value:"PLANARFORCEUNIT"};IfcDerivedUnitEnum.ROTATIONALFREQUENCYUNIT={type:3,value:"ROTATIONALFREQUENCYUNIT"};IfcDerivedUnitEnum.ROTATIONALMASSUNIT={type:3,value:"ROTATIONALMASSUNIT"};IfcDerivedUnitEnum.ROTATIONALSTIFFNESSUNIT={type:3,value:"ROTATIONALSTIFFNESSUNIT"};IfcDerivedUnitEnum.SECTIONAREAINTEGRALUNIT={type:3,value:"SECTIONAREAINTEGRALUNIT"};IfcDerivedUnitEnum.SECTIONMODULUSUNIT={type:3,value:"SECTIONMODULUSUNIT"};IfcDerivedUnitEnum.SHEARMODULUSUNIT={type:3,value:"SHEARMODULUSUNIT"};IfcDerivedUnitEnum.SOUNDPOWERLEVELUNIT={type:3,value:"SOUNDPOWERLEVELUNIT"};IfcDerivedUnitEnum.SOUNDPOWERUNIT={type:3,value:"SOUNDPOWERUNIT"};IfcDerivedUnitEnum.SOUNDPRESSURELEVELUNIT={type:3,value:"SOUNDPRESSURELEVELUNIT"};IfcDerivedUnitEnum.SOUNDPRESSUREUNIT={type:3,value:"SOUNDPRESSUREUNIT"};IfcDerivedUnitEnum.SPECIFICHEATCAPACITYUNIT={type:3,value:"SPECIFICHEATCAPACITYUNIT"};IfcDerivedUnitEnum.TEMPERATUREGRADIENTUNIT={type:3,value:"TEMPERATUREGRADIENTUNIT"};IfcDerivedUnitEnum.TEMPERATURERATEOFCHANGEUNIT={type:3,value:"TEMPERATURERATEOFCHANGEUNIT"};IfcDerivedUnitEnum.THERMALADMITTANCEUNIT={type:3,value:"THERMALADMITTANCEUNIT"};IfcDerivedUnitEnum.THERMALCONDUCTANCEUNIT={type:3,value:"THERMALCONDUCTANCEUNIT"};IfcDerivedUnitEnum.THERMALEXPANSIONCOEFFICIENTUNIT={type:3,value:"THERMALEXPANSIONCOEFFICIENTUNIT"};IfcDerivedUnitEnum.THERMALRESISTANCEUNIT={type:3,value:"THERMALRESISTANCEUNIT"};IfcDerivedUnitEnum.THERMALTRANSMITTANCEUNIT={type:3,value:"THERMALTRANSMITTANCEUNIT"};IfcDerivedUnitEnum.TORQUEUNIT={type:3,value:"TORQUEUNIT"};IfcDerivedUnitEnum.VAPORPERMEABILITYUNIT={type:3,value:"VAPORPERMEABILITYUNIT"};IfcDerivedUnitEnum.VOLUMETRICFLOWRATEUNIT={type:3,value:"VOLUMETRICFLOWRATEUNIT"};IfcDerivedUnitEnum.WARPINGCONSTANTUNIT={type:3,value:"WARPINGCONSTANTUNIT"};IfcDerivedUnitEnum.WARPINGMOMENTUNIT={type:3,value:"WARPINGMOMENTUNIT"};IfcDerivedUnitEnum.USERDEFINED={type:3,value:"USERDEFINED"};IFC4X32.IfcDerivedUnitEnum=IfcDerivedUnitEnum;var IfcDirectionSenseEnum=/*#__PURE__*/_createClass(function IfcDirectionSenseEnum(){_classCallCheck(this,IfcDirectionSenseEnum);});IfcDirectionSenseEnum.NEGATIVE={type:3,value:"NEGATIVE"};IfcDirectionSenseEnum.POSITIVE={type:3,value:"POSITIVE"};IFC4X32.IfcDirectionSenseEnum=IfcDirectionSenseEnum;var IfcDiscreteAccessoryTypeEnum=/*#__PURE__*/_createClass(function IfcDiscreteAccessoryTypeEnum(){_classCallCheck(this,IfcDiscreteAccessoryTypeEnum);});IfcDiscreteAccessoryTypeEnum.ANCHORPLATE={type:3,value:"ANCHORPLATE"};IfcDiscreteAccessoryTypeEnum.BIRDPROTECTION={type:3,value:"BIRDPROTECTION"};IfcDiscreteAccessoryTypeEnum.BRACKET={type:3,value:"BRACKET"};IfcDiscreteAccessoryTypeEnum.CABLEARRANGER={type:3,value:"CABLEARRANGER"};IfcDiscreteAccessoryTypeEnum.ELASTIC_CUSHION={type:3,value:"ELASTIC_CUSHION"};IfcDiscreteAccessoryTypeEnum.EXPANSION_JOINT_DEVICE={type:3,value:"EXPANSION_JOINT_DEVICE"};IfcDiscreteAccessoryTypeEnum.FILLER={type:3,value:"FILLER"};IfcDiscreteAccessoryTypeEnum.FLASHING={type:3,value:"FLASHING"};IfcDiscreteAccessoryTypeEnum.INSULATOR={type:3,value:"INSULATOR"};IfcDiscreteAccessoryTypeEnum.LOCK={type:3,value:"LOCK"};IfcDiscreteAccessoryTypeEnum.PANEL_STRENGTHENING={type:3,value:"PANEL_STRENGTHENING"};IfcDiscreteAccessoryTypeEnum.POINTMACHINEMOUNTINGDEVICE={type:3,value:"POINTMACHINEMOUNTINGDEVICE"};IfcDiscreteAccessoryTypeEnum.POINT_MACHINE_LOCKING_DEVICE={type:3,value:"POINT_MACHINE_LOCKING_DEVICE"};IfcDiscreteAccessoryTypeEnum.RAILBRACE={type:3,value:"RAILBRACE"};IfcDiscreteAccessoryTypeEnum.RAILPAD={type:3,value:"RAILPAD"};IfcDiscreteAccessoryTypeEnum.RAIL_LUBRICATION={type:3,value:"RAIL_LUBRICATION"};IfcDiscreteAccessoryTypeEnum.RAIL_MECHANICAL_EQUIPMENT={type:3,value:"RAIL_MECHANICAL_EQUIPMENT"};IfcDiscreteAccessoryTypeEnum.SHOE={type:3,value:"SHOE"};IfcDiscreteAccessoryTypeEnum.SLIDINGCHAIR={type:3,value:"SLIDINGCHAIR"};IfcDiscreteAccessoryTypeEnum.SOUNDABSORPTION={type:3,value:"SOUNDABSORPTION"};IfcDiscreteAccessoryTypeEnum.TENSIONINGEQUIPMENT={type:3,value:"TENSIONINGEQUIPMENT"};IfcDiscreteAccessoryTypeEnum.USERDEFINED={type:3,value:"USERDEFINED"};IfcDiscreteAccessoryTypeEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC4X32.IfcDiscreteAccessoryTypeEnum=IfcDiscreteAccessoryTypeEnum;var IfcDistributionBoardTypeEnum=/*#__PURE__*/_createClass(function IfcDistributionBoardTypeEnum(){_classCallCheck(this,IfcDistributionBoardTypeEnum);});IfcDistributionBoardTypeEnum.CONSUMERUNIT={type:3,value:"CONSUMERUNIT"};IfcDistributionBoardTypeEnum.DISPATCHINGBOARD={type:3,value:"DISPATCHINGBOARD"};IfcDistributionBoardTypeEnum.DISTRIBUTIONBOARD={type:3,value:"DISTRIBUTIONBOARD"};IfcDistributionBoardTypeEnum.DISTRIBUTIONFRAME={type:3,value:"DISTRIBUTIONFRAME"};IfcDistributionBoardTypeEnum.MOTORCONTROLCENTRE={type:3,value:"MOTORCONTROLCENTRE"};IfcDistributionBoardTypeEnum.SWITCHBOARD={type:3,value:"SWITCHBOARD"};IfcDistributionBoardTypeEnum.USERDEFINED={type:3,value:"USERDEFINED"};IfcDistributionBoardTypeEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC4X32.IfcDistributionBoardTypeEnum=IfcDistributionBoardTypeEnum;var IfcDistributionChamberElementTypeEnum=/*#__PURE__*/_createClass(function IfcDistributionChamberElementTypeEnum(){_classCallCheck(this,IfcDistributionChamberElementTypeEnum);});IfcDistributionChamberElementTypeEnum.FORMEDDUCT={type:3,value:"FORMEDDUCT"};IfcDistributionChamberElementTypeEnum.INSPECTIONCHAMBER={type:3,value:"INSPECTIONCHAMBER"};IfcDistributionChamberElementTypeEnum.INSPECTIONPIT={type:3,value:"INSPECTIONPIT"};IfcDistributionChamberElementTypeEnum.MANHOLE={type:3,value:"MANHOLE"};IfcDistributionChamberElementTypeEnum.METERCHAMBER={type:3,value:"METERCHAMBER"};IfcDistributionChamberElementTypeEnum.SUMP={type:3,value:"SUMP"};IfcDistributionChamberElementTypeEnum.TRENCH={type:3,value:"TRENCH"};IfcDistributionChamberElementTypeEnum.VALVECHAMBER={type:3,value:"VALVECHAMBER"};IfcDistributionChamberElementTypeEnum.USERDEFINED={type:3,value:"USERDEFINED"};IfcDistributionChamberElementTypeEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC4X32.IfcDistributionChamberElementTypeEnum=IfcDistributionChamberElementTypeEnum;var IfcDistributionPortTypeEnum=/*#__PURE__*/_createClass(function IfcDistributionPortTypeEnum(){_classCallCheck(this,IfcDistributionPortTypeEnum);});IfcDistributionPortTypeEnum.CABLE={type:3,value:"CABLE"};IfcDistributionPortTypeEnum.CABLECARRIER={type:3,value:"CABLECARRIER"};IfcDistributionPortTypeEnum.DUCT={type:3,value:"DUCT"};IfcDistributionPortTypeEnum.PIPE={type:3,value:"PIPE"};IfcDistributionPortTypeEnum.WIRELESS={type:3,value:"WIRELESS"};IfcDistributionPortTypeEnum.USERDEFINED={type:3,value:"USERDEFINED"};IfcDistributionPortTypeEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC4X32.IfcDistributionPortTypeEnum=IfcDistributionPortTypeEnum;var IfcDistributionSystemEnum=/*#__PURE__*/_createClass(function IfcDistributionSystemEnum(){_classCallCheck(this,IfcDistributionSystemEnum);});IfcDistributionSystemEnum.AIRCONDITIONING={type:3,value:"AIRCONDITIONING"};IfcDistributionSystemEnum.AUDIOVISUAL={type:3,value:"AUDIOVISUAL"};IfcDistributionSystemEnum.CATENARY_SYSTEM={type:3,value:"CATENARY_SYSTEM"};IfcDistributionSystemEnum.CHEMICAL={type:3,value:"CHEMICAL"};IfcDistributionSystemEnum.CHILLEDWATER={type:3,value:"CHILLEDWATER"};IfcDistributionSystemEnum.COMMUNICATION={type:3,value:"COMMUNICATION"};IfcDistributionSystemEnum.COMPRESSEDAIR={type:3,value:"COMPRESSEDAIR"};IfcDistributionSystemEnum.CONDENSERWATER={type:3,value:"CONDENSERWATER"};IfcDistributionSystemEnum.CONTROL={type:3,value:"CONTROL"};IfcDistributionSystemEnum.CONVEYING={type:3,value:"CONVEYING"};IfcDistributionSystemEnum.DATA={type:3,value:"DATA"};IfcDistributionSystemEnum.DISPOSAL={type:3,value:"DISPOSAL"};IfcDistributionSystemEnum.DOMESTICCOLDWATER={type:3,value:"DOMESTICCOLDWATER"};IfcDistributionSystemEnum.DOMESTICHOTWATER={type:3,value:"DOMESTICHOTWATER"};IfcDistributionSystemEnum.DRAINAGE={type:3,value:"DRAINAGE"};IfcDistributionSystemEnum.EARTHING={type:3,value:"EARTHING"};IfcDistributionSystemEnum.ELECTRICAL={type:3,value:"ELECTRICAL"};IfcDistributionSystemEnum.ELECTROACOUSTIC={type:3,value:"ELECTROACOUSTIC"};IfcDistributionSystemEnum.EXHAUST={type:3,value:"EXHAUST"};IfcDistributionSystemEnum.FIREPROTECTION={type:3,value:"FIREPROTECTION"};IfcDistributionSystemEnum.FIXEDTRANSMISSIONNETWORK={type:3,value:"FIXEDTRANSMISSIONNETWORK"};IfcDistributionSystemEnum.FUEL={type:3,value:"FUEL"};IfcDistributionSystemEnum.GAS={type:3,value:"GAS"};IfcDistributionSystemEnum.HAZARDOUS={type:3,value:"HAZARDOUS"};IfcDistributionSystemEnum.HEATING={type:3,value:"HEATING"};IfcDistributionSystemEnum.LIGHTING={type:3,value:"LIGHTING"};IfcDistributionSystemEnum.LIGHTNINGPROTECTION={type:3,value:"LIGHTNINGPROTECTION"};IfcDistributionSystemEnum.MOBILENETWORK={type:3,value:"MOBILENETWORK"};IfcDistributionSystemEnum.MONITORINGSYSTEM={type:3,value:"MONITORINGSYSTEM"};IfcDistributionSystemEnum.MUNICIPALSOLIDWASTE={type:3,value:"MUNICIPALSOLIDWASTE"};IfcDistributionSystemEnum.OIL={type:3,value:"OIL"};IfcDistributionSystemEnum.OPERATIONAL={type:3,value:"OPERATIONAL"};IfcDistributionSystemEnum.OPERATIONALTELEPHONYSYSTEM={type:3,value:"OPERATIONALTELEPHONYSYSTEM"};IfcDistributionSystemEnum.OVERHEAD_CONTACTLINE_SYSTEM={type:3,value:"OVERHEAD_CONTACTLINE_SYSTEM"};IfcDistributionSystemEnum.POWERGENERATION={type:3,value:"POWERGENERATION"};IfcDistributionSystemEnum.RAINWATER={type:3,value:"RAINWATER"};IfcDistributionSystemEnum.REFRIGERATION={type:3,value:"REFRIGERATION"};IfcDistributionSystemEnum.RETURN_CIRCUIT={type:3,value:"RETURN_CIRCUIT"};IfcDistributionSystemEnum.SECURITY={type:3,value:"SECURITY"};IfcDistributionSystemEnum.SEWAGE={type:3,value:"SEWAGE"};IfcDistributionSystemEnum.SIGNAL={type:3,value:"SIGNAL"};IfcDistributionSystemEnum.STORMWATER={type:3,value:"STORMWATER"};IfcDistributionSystemEnum.TELEPHONE={type:3,value:"TELEPHONE"};IfcDistributionSystemEnum.TV={type:3,value:"TV"};IfcDistributionSystemEnum.VACUUM={type:3,value:"VACUUM"};IfcDistributionSystemEnum.VENT={type:3,value:"VENT"};IfcDistributionSystemEnum.VENTILATION={type:3,value:"VENTILATION"};IfcDistributionSystemEnum.WASTEWATER={type:3,value:"WASTEWATER"};IfcDistributionSystemEnum.WATERSUPPLY={type:3,value:"WATERSUPPLY"};IfcDistributionSystemEnum.USERDEFINED={type:3,value:"USERDEFINED"};IfcDistributionSystemEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC4X32.IfcDistributionSystemEnum=IfcDistributionSystemEnum;var IfcDocumentConfidentialityEnum=/*#__PURE__*/_createClass(function IfcDocumentConfidentialityEnum(){_classCallCheck(this,IfcDocumentConfidentialityEnum);});IfcDocumentConfidentialityEnum.CONFIDENTIAL={type:3,value:"CONFIDENTIAL"};IfcDocumentConfidentialityEnum.PERSONAL={type:3,value:"PERSONAL"};IfcDocumentConfidentialityEnum.PUBLIC={type:3,value:"PUBLIC"};IfcDocumentConfidentialityEnum.RESTRICTED={type:3,value:"RESTRICTED"};IfcDocumentConfidentialityEnum.USERDEFINED={type:3,value:"USERDEFINED"};IfcDocumentConfidentialityEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC4X32.IfcDocumentConfidentialityEnum=IfcDocumentConfidentialityEnum;var IfcDocumentStatusEnum=/*#__PURE__*/_createClass(function IfcDocumentStatusEnum(){_classCallCheck(this,IfcDocumentStatusEnum);});IfcDocumentStatusEnum.DRAFT={type:3,value:"DRAFT"};IfcDocumentStatusEnum.FINAL={type:3,value:"FINAL"};IfcDocumentStatusEnum.FINALDRAFT={type:3,value:"FINALDRAFT"};IfcDocumentStatusEnum.REVISION={type:3,value:"REVISION"};IfcDocumentStatusEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC4X32.IfcDocumentStatusEnum=IfcDocumentStatusEnum;var IfcDoorPanelOperationEnum=/*#__PURE__*/_createClass(function IfcDoorPanelOperationEnum(){_classCallCheck(this,IfcDoorPanelOperationEnum);});IfcDoorPanelOperationEnum.DOUBLE_ACTING={type:3,value:"DOUBLE_ACTING"};IfcDoorPanelOperationEnum.FIXEDPANEL={type:3,value:"FIXEDPANEL"};IfcDoorPanelOperationEnum.FOLDING={type:3,value:"FOLDING"};IfcDoorPanelOperationEnum.REVOLVING={type:3,value:"REVOLVING"};IfcDoorPanelOperationEnum.ROLLINGUP={type:3,value:"ROLLINGUP"};IfcDoorPanelOperationEnum.SLIDING={type:3,value:"SLIDING"};IfcDoorPanelOperationEnum.SWINGING={type:3,value:"SWINGING"};IfcDoorPanelOperationEnum.USERDEFINED={type:3,value:"USERDEFINED"};IfcDoorPanelOperationEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC4X32.IfcDoorPanelOperationEnum=IfcDoorPanelOperationEnum;var IfcDoorPanelPositionEnum=/*#__PURE__*/_createClass(function IfcDoorPanelPositionEnum(){_classCallCheck(this,IfcDoorPanelPositionEnum);});IfcDoorPanelPositionEnum.LEFT={type:3,value:"LEFT"};IfcDoorPanelPositionEnum.MIDDLE={type:3,value:"MIDDLE"};IfcDoorPanelPositionEnum.RIGHT={type:3,value:"RIGHT"};IfcDoorPanelPositionEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC4X32.IfcDoorPanelPositionEnum=IfcDoorPanelPositionEnum;var IfcDoorStyleConstructionEnum=/*#__PURE__*/_createClass(function IfcDoorStyleConstructionEnum(){_classCallCheck(this,IfcDoorStyleConstructionEnum);});IfcDoorStyleConstructionEnum.ALUMINIUM={type:3,value:"ALUMINIUM"};IfcDoorStyleConstructionEnum.ALUMINIUM_PLASTIC={type:3,value:"ALUMINIUM_PLASTIC"};IfcDoorStyleConstructionEnum.ALUMINIUM_WOOD={type:3,value:"ALUMINIUM_WOOD"};IfcDoorStyleConstructionEnum.HIGH_GRADE_STEEL={type:3,value:"HIGH_GRADE_STEEL"};IfcDoorStyleConstructionEnum.PLASTIC={type:3,value:"PLASTIC"};IfcDoorStyleConstructionEnum.STEEL={type:3,value:"STEEL"};IfcDoorStyleConstructionEnum.WOOD={type:3,value:"WOOD"};IfcDoorStyleConstructionEnum.USERDEFINED={type:3,value:"USERDEFINED"};IfcDoorStyleConstructionEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC4X32.IfcDoorStyleConstructionEnum=IfcDoorStyleConstructionEnum;var IfcDoorStyleOperationEnum=/*#__PURE__*/_createClass(function IfcDoorStyleOperationEnum(){_classCallCheck(this,IfcDoorStyleOperationEnum);});IfcDoorStyleOperationEnum.DOUBLE_DOOR_DOUBLE_SWING={type:3,value:"DOUBLE_DOOR_DOUBLE_SWING"};IfcDoorStyleOperationEnum.DOUBLE_DOOR_FOLDING={type:3,value:"DOUBLE_DOOR_FOLDING"};IfcDoorStyleOperationEnum.DOUBLE_DOOR_SINGLE_SWING={type:3,value:"DOUBLE_DOOR_SINGLE_SWING"};IfcDoorStyleOperationEnum.DOUBLE_DOOR_SINGLE_SWING_OPPOSITE_LEFT={type:3,value:"DOUBLE_DOOR_SINGLE_SWING_OPPOSITE_LEFT"};IfcDoorStyleOperationEnum.DOUBLE_DOOR_SINGLE_SWING_OPPOSITE_RIGHT={type:3,value:"DOUBLE_DOOR_SINGLE_SWING_OPPOSITE_RIGHT"};IfcDoorStyleOperationEnum.DOUBLE_DOOR_SLIDING={type:3,value:"DOUBLE_DOOR_SLIDING"};IfcDoorStyleOperationEnum.DOUBLE_SWING_LEFT={type:3,value:"DOUBLE_SWING_LEFT"};IfcDoorStyleOperationEnum.DOUBLE_SWING_RIGHT={type:3,value:"DOUBLE_SWING_RIGHT"};IfcDoorStyleOperationEnum.FOLDING_TO_LEFT={type:3,value:"FOLDING_TO_LEFT"};IfcDoorStyleOperationEnum.FOLDING_TO_RIGHT={type:3,value:"FOLDING_TO_RIGHT"};IfcDoorStyleOperationEnum.REVOLVING={type:3,value:"REVOLVING"};IfcDoorStyleOperationEnum.ROLLINGUP={type:3,value:"ROLLINGUP"};IfcDoorStyleOperationEnum.SINGLE_SWING_LEFT={type:3,value:"SINGLE_SWING_LEFT"};IfcDoorStyleOperationEnum.SINGLE_SWING_RIGHT={type:3,value:"SINGLE_SWING_RIGHT"};IfcDoorStyleOperationEnum.SLIDING_TO_LEFT={type:3,value:"SLIDING_TO_LEFT"};IfcDoorStyleOperationEnum.SLIDING_TO_RIGHT={type:3,value:"SLIDING_TO_RIGHT"};IfcDoorStyleOperationEnum.USERDEFINED={type:3,value:"USERDEFINED"};IfcDoorStyleOperationEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC4X32.IfcDoorStyleOperationEnum=IfcDoorStyleOperationEnum;var IfcDoorTypeEnum=/*#__PURE__*/_createClass(function IfcDoorTypeEnum(){_classCallCheck(this,IfcDoorTypeEnum);});IfcDoorTypeEnum.BOOM_BARRIER={type:3,value:"BOOM_BARRIER"};IfcDoorTypeEnum.DOOR={type:3,value:"DOOR"};IfcDoorTypeEnum.GATE={type:3,value:"GATE"};IfcDoorTypeEnum.TRAPDOOR={type:3,value:"TRAPDOOR"};IfcDoorTypeEnum.TURNSTILE={type:3,value:"TURNSTILE"};IfcDoorTypeEnum.USERDEFINED={type:3,value:"USERDEFINED"};IfcDoorTypeEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC4X32.IfcDoorTypeEnum=IfcDoorTypeEnum;var IfcDoorTypeOperationEnum=/*#__PURE__*/_createClass(function IfcDoorTypeOperationEnum(){_classCallCheck(this,IfcDoorTypeOperationEnum);});IfcDoorTypeOperationEnum.DOUBLE_PANEL_DOUBLE_SWING={type:3,value:"DOUBLE_PANEL_DOUBLE_SWING"};IfcDoorTypeOperationEnum.DOUBLE_PANEL_FOLDING={type:3,value:"DOUBLE_PANEL_FOLDING"};IfcDoorTypeOperationEnum.DOUBLE_PANEL_LIFTING_VERTICAL={type:3,value:"DOUBLE_PANEL_LIFTING_VERTICAL"};IfcDoorTypeOperationEnum.DOUBLE_PANEL_SINGLE_SWING={type:3,value:"DOUBLE_PANEL_SINGLE_SWING"};IfcDoorTypeOperationEnum.DOUBLE_PANEL_SINGLE_SWING_OPPOSITE_LEFT={type:3,value:"DOUBLE_PANEL_SINGLE_SWING_OPPOSITE_LEFT"};IfcDoorTypeOperationEnum.DOUBLE_PANEL_SINGLE_SWING_OPPOSITE_RIGHT={type:3,value:"DOUBLE_PANEL_SINGLE_SWING_OPPOSITE_RIGHT"};IfcDoorTypeOperationEnum.DOUBLE_PANEL_SLIDING={type:3,value:"DOUBLE_PANEL_SLIDING"};IfcDoorTypeOperationEnum.DOUBLE_SWING_LEFT={type:3,value:"DOUBLE_SWING_LEFT"};IfcDoorTypeOperationEnum.DOUBLE_SWING_RIGHT={type:3,value:"DOUBLE_SWING_RIGHT"};IfcDoorTypeOperationEnum.FOLDING_TO_LEFT={type:3,value:"FOLDING_TO_LEFT"};IfcDoorTypeOperationEnum.FOLDING_TO_RIGHT={type:3,value:"FOLDING_TO_RIGHT"};IfcDoorTypeOperationEnum.LIFTING_HORIZONTAL={type:3,value:"LIFTING_HORIZONTAL"};IfcDoorTypeOperationEnum.LIFTING_VERTICAL_LEFT={type:3,value:"LIFTING_VERTICAL_LEFT"};IfcDoorTypeOperationEnum.LIFTING_VERTICAL_RIGHT={type:3,value:"LIFTING_VERTICAL_RIGHT"};IfcDoorTypeOperationEnum.REVOLVING_HORIZONTAL={type:3,value:"REVOLVING_HORIZONTAL"};IfcDoorTypeOperationEnum.REVOLVING_VERTICAL={type:3,value:"REVOLVING_VERTICAL"};IfcDoorTypeOperationEnum.ROLLINGUP={type:3,value:"ROLLINGUP"};IfcDoorTypeOperationEnum.SINGLE_SWING_LEFT={type:3,value:"SINGLE_SWING_LEFT"};IfcDoorTypeOperationEnum.SINGLE_SWING_RIGHT={type:3,value:"SINGLE_SWING_RIGHT"};IfcDoorTypeOperationEnum.SLIDING_TO_LEFT={type:3,value:"SLIDING_TO_LEFT"};IfcDoorTypeOperationEnum.SLIDING_TO_RIGHT={type:3,value:"SLIDING_TO_RIGHT"};IfcDoorTypeOperationEnum.SWING_FIXED_LEFT={type:3,value:"SWING_FIXED_LEFT"};IfcDoorTypeOperationEnum.SWING_FIXED_RIGHT={type:3,value:"SWING_FIXED_RIGHT"};IfcDoorTypeOperationEnum.USERDEFINED={type:3,value:"USERDEFINED"};IfcDoorTypeOperationEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC4X32.IfcDoorTypeOperationEnum=IfcDoorTypeOperationEnum;var IfcDuctFittingTypeEnum=/*#__PURE__*/_createClass(function IfcDuctFittingTypeEnum(){_classCallCheck(this,IfcDuctFittingTypeEnum);});IfcDuctFittingTypeEnum.BEND={type:3,value:"BEND"};IfcDuctFittingTypeEnum.CONNECTOR={type:3,value:"CONNECTOR"};IfcDuctFittingTypeEnum.ENTRY={type:3,value:"ENTRY"};IfcDuctFittingTypeEnum.EXIT={type:3,value:"EXIT"};IfcDuctFittingTypeEnum.JUNCTION={type:3,value:"JUNCTION"};IfcDuctFittingTypeEnum.OBSTRUCTION={type:3,value:"OBSTRUCTION"};IfcDuctFittingTypeEnum.TRANSITION={type:3,value:"TRANSITION"};IfcDuctFittingTypeEnum.USERDEFINED={type:3,value:"USERDEFINED"};IfcDuctFittingTypeEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC4X32.IfcDuctFittingTypeEnum=IfcDuctFittingTypeEnum;var IfcDuctSegmentTypeEnum=/*#__PURE__*/_createClass(function IfcDuctSegmentTypeEnum(){_classCallCheck(this,IfcDuctSegmentTypeEnum);});IfcDuctSegmentTypeEnum.FLEXIBLESEGMENT={type:3,value:"FLEXIBLESEGMENT"};IfcDuctSegmentTypeEnum.RIGIDSEGMENT={type:3,value:"RIGIDSEGMENT"};IfcDuctSegmentTypeEnum.USERDEFINED={type:3,value:"USERDEFINED"};IfcDuctSegmentTypeEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC4X32.IfcDuctSegmentTypeEnum=IfcDuctSegmentTypeEnum;var IfcDuctSilencerTypeEnum=/*#__PURE__*/_createClass(function IfcDuctSilencerTypeEnum(){_classCallCheck(this,IfcDuctSilencerTypeEnum);});IfcDuctSilencerTypeEnum.FLATOVAL={type:3,value:"FLATOVAL"};IfcDuctSilencerTypeEnum.RECTANGULAR={type:3,value:"RECTANGULAR"};IfcDuctSilencerTypeEnum.ROUND={type:3,value:"ROUND"};IfcDuctSilencerTypeEnum.USERDEFINED={type:3,value:"USERDEFINED"};IfcDuctSilencerTypeEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC4X32.IfcDuctSilencerTypeEnum=IfcDuctSilencerTypeEnum;var IfcEarthworksCutTypeEnum=/*#__PURE__*/_createClass(function IfcEarthworksCutTypeEnum(){_classCallCheck(this,IfcEarthworksCutTypeEnum);});IfcEarthworksCutTypeEnum.BASE_EXCAVATION={type:3,value:"BASE_EXCAVATION"};IfcEarthworksCutTypeEnum.CUT={type:3,value:"CUT"};IfcEarthworksCutTypeEnum.DREDGING={type:3,value:"DREDGING"};IfcEarthworksCutTypeEnum.EXCAVATION={type:3,value:"EXCAVATION"};IfcEarthworksCutTypeEnum.OVEREXCAVATION={type:3,value:"OVEREXCAVATION"};IfcEarthworksCutTypeEnum.PAVEMENTMILLING={type:3,value:"PAVEMENTMILLING"};IfcEarthworksCutTypeEnum.STEPEXCAVATION={type:3,value:"STEPEXCAVATION"};IfcEarthworksCutTypeEnum.TOPSOILREMOVAL={type:3,value:"TOPSOILREMOVAL"};IfcEarthworksCutTypeEnum.TRENCH={type:3,value:"TRENCH"};IfcEarthworksCutTypeEnum.USERDEFINED={type:3,value:"USERDEFINED"};IfcEarthworksCutTypeEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC4X32.IfcEarthworksCutTypeEnum=IfcEarthworksCutTypeEnum;var IfcEarthworksFillTypeEnum=/*#__PURE__*/_createClass(function IfcEarthworksFillTypeEnum(){_classCallCheck(this,IfcEarthworksFillTypeEnum);});IfcEarthworksFillTypeEnum.BACKFILL={type:3,value:"BACKFILL"};IfcEarthworksFillTypeEnum.COUNTERWEIGHT={type:3,value:"COUNTERWEIGHT"};IfcEarthworksFillTypeEnum.EMBANKMENT={type:3,value:"EMBANKMENT"};IfcEarthworksFillTypeEnum.SLOPEFILL={type:3,value:"SLOPEFILL"};IfcEarthworksFillTypeEnum.SUBGRADE={type:3,value:"SUBGRADE"};IfcEarthworksFillTypeEnum.SUBGRADEBED={type:3,value:"SUBGRADEBED"};IfcEarthworksFillTypeEnum.TRANSITIONSECTION={type:3,value:"TRANSITIONSECTION"};IfcEarthworksFillTypeEnum.USERDEFINED={type:3,value:"USERDEFINED"};IfcEarthworksFillTypeEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC4X32.IfcEarthworksFillTypeEnum=IfcEarthworksFillTypeEnum;var IfcElectricApplianceTypeEnum=/*#__PURE__*/_createClass(function IfcElectricApplianceTypeEnum(){_classCallCheck(this,IfcElectricApplianceTypeEnum);});IfcElectricApplianceTypeEnum.DISHWASHER={type:3,value:"DISHWASHER"};IfcElectricApplianceTypeEnum.ELECTRICCOOKER={type:3,value:"ELECTRICCOOKER"};IfcElectricApplianceTypeEnum.FREESTANDINGELECTRICHEATER={type:3,value:"FREESTANDINGELECTRICHEATER"};IfcElectricApplianceTypeEnum.FREESTANDINGFAN={type:3,value:"FREESTANDINGFAN"};IfcElectricApplianceTypeEnum.FREESTANDINGWATERCOOLER={type:3,value:"FREESTANDINGWATERCOOLER"};IfcElectricApplianceTypeEnum.FREESTANDINGWATERHEATER={type:3,value:"FREESTANDINGWATERHEATER"};IfcElectricApplianceTypeEnum.FREEZER={type:3,value:"FREEZER"};IfcElectricApplianceTypeEnum.FRIDGE_FREEZER={type:3,value:"FRIDGE_FREEZER"};IfcElectricApplianceTypeEnum.HANDDRYER={type:3,value:"HANDDRYER"};IfcElectricApplianceTypeEnum.KITCHENMACHINE={type:3,value:"KITCHENMACHINE"};IfcElectricApplianceTypeEnum.MICROWAVE={type:3,value:"MICROWAVE"};IfcElectricApplianceTypeEnum.PHOTOCOPIER={type:3,value:"PHOTOCOPIER"};IfcElectricApplianceTypeEnum.REFRIGERATOR={type:3,value:"REFRIGERATOR"};IfcElectricApplianceTypeEnum.TUMBLEDRYER={type:3,value:"TUMBLEDRYER"};IfcElectricApplianceTypeEnum.VENDINGMACHINE={type:3,value:"VENDINGMACHINE"};IfcElectricApplianceTypeEnum.WASHINGMACHINE={type:3,value:"WASHINGMACHINE"};IfcElectricApplianceTypeEnum.USERDEFINED={type:3,value:"USERDEFINED"};IfcElectricApplianceTypeEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC4X32.IfcElectricApplianceTypeEnum=IfcElectricApplianceTypeEnum;var IfcElectricDistributionBoardTypeEnum=/*#__PURE__*/_createClass(function IfcElectricDistributionBoardTypeEnum(){_classCallCheck(this,IfcElectricDistributionBoardTypeEnum);});IfcElectricDistributionBoardTypeEnum.CONSUMERUNIT={type:3,value:"CONSUMERUNIT"};IfcElectricDistributionBoardTypeEnum.DISTRIBUTIONBOARD={type:3,value:"DISTRIBUTIONBOARD"};IfcElectricDistributionBoardTypeEnum.MOTORCONTROLCENTRE={type:3,value:"MOTORCONTROLCENTRE"};IfcElectricDistributionBoardTypeEnum.SWITCHBOARD={type:3,value:"SWITCHBOARD"};IfcElectricDistributionBoardTypeEnum.USERDEFINED={type:3,value:"USERDEFINED"};IfcElectricDistributionBoardTypeEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC4X32.IfcElectricDistributionBoardTypeEnum=IfcElectricDistributionBoardTypeEnum;var IfcElectricFlowStorageDeviceTypeEnum=/*#__PURE__*/_createClass(function IfcElectricFlowStorageDeviceTypeEnum(){_classCallCheck(this,IfcElectricFlowStorageDeviceTypeEnum);});IfcElectricFlowStorageDeviceTypeEnum.BATTERY={type:3,value:"BATTERY"};IfcElectricFlowStorageDeviceTypeEnum.CAPACITOR={type:3,value:"CAPACITOR"};IfcElectricFlowStorageDeviceTypeEnum.CAPACITORBANK={type:3,value:"CAPACITORBANK"};IfcElectricFlowStorageDeviceTypeEnum.COMPENSATOR={type:3,value:"COMPENSATOR"};IfcElectricFlowStorageDeviceTypeEnum.HARMONICFILTER={type:3,value:"HARMONICFILTER"};IfcElectricFlowStorageDeviceTypeEnum.INDUCTOR={type:3,value:"INDUCTOR"};IfcElectricFlowStorageDeviceTypeEnum.INDUCTORBANK={type:3,value:"INDUCTORBANK"};IfcElectricFlowStorageDeviceTypeEnum.RECHARGER={type:3,value:"RECHARGER"};IfcElectricFlowStorageDeviceTypeEnum.UPS={type:3,value:"UPS"};IfcElectricFlowStorageDeviceTypeEnum.USERDEFINED={type:3,value:"USERDEFINED"};IfcElectricFlowStorageDeviceTypeEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC4X32.IfcElectricFlowStorageDeviceTypeEnum=IfcElectricFlowStorageDeviceTypeEnum;var IfcElectricFlowTreatmentDeviceTypeEnum=/*#__PURE__*/_createClass(function IfcElectricFlowTreatmentDeviceTypeEnum(){_classCallCheck(this,IfcElectricFlowTreatmentDeviceTypeEnum);});IfcElectricFlowTreatmentDeviceTypeEnum.ELECTRONICFILTER={type:3,value:"ELECTRONICFILTER"};IfcElectricFlowTreatmentDeviceTypeEnum.USERDEFINED={type:3,value:"USERDEFINED"};IfcElectricFlowTreatmentDeviceTypeEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC4X32.IfcElectricFlowTreatmentDeviceTypeEnum=IfcElectricFlowTreatmentDeviceTypeEnum;var IfcElectricGeneratorTypeEnum=/*#__PURE__*/_createClass(function IfcElectricGeneratorTypeEnum(){_classCallCheck(this,IfcElectricGeneratorTypeEnum);});IfcElectricGeneratorTypeEnum.CHP={type:3,value:"CHP"};IfcElectricGeneratorTypeEnum.ENGINEGENERATOR={type:3,value:"ENGINEGENERATOR"};IfcElectricGeneratorTypeEnum.STANDALONE={type:3,value:"STANDALONE"};IfcElectricGeneratorTypeEnum.USERDEFINED={type:3,value:"USERDEFINED"};IfcElectricGeneratorTypeEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC4X32.IfcElectricGeneratorTypeEnum=IfcElectricGeneratorTypeEnum;var IfcElectricMotorTypeEnum=/*#__PURE__*/_createClass(function IfcElectricMotorTypeEnum(){_classCallCheck(this,IfcElectricMotorTypeEnum);});IfcElectricMotorTypeEnum.DC={type:3,value:"DC"};IfcElectricMotorTypeEnum.INDUCTION={type:3,value:"INDUCTION"};IfcElectricMotorTypeEnum.POLYPHASE={type:3,value:"POLYPHASE"};IfcElectricMotorTypeEnum.RELUCTANCESYNCHRONOUS={type:3,value:"RELUCTANCESYNCHRONOUS"};IfcElectricMotorTypeEnum.SYNCHRONOUS={type:3,value:"SYNCHRONOUS"};IfcElectricMotorTypeEnum.USERDEFINED={type:3,value:"USERDEFINED"};IfcElectricMotorTypeEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC4X32.IfcElectricMotorTypeEnum=IfcElectricMotorTypeEnum;var IfcElectricTimeControlTypeEnum=/*#__PURE__*/_createClass(function IfcElectricTimeControlTypeEnum(){_classCallCheck(this,IfcElectricTimeControlTypeEnum);});IfcElectricTimeControlTypeEnum.RELAY={type:3,value:"RELAY"};IfcElectricTimeControlTypeEnum.TIMECLOCK={type:3,value:"TIMECLOCK"};IfcElectricTimeControlTypeEnum.TIMEDELAY={type:3,value:"TIMEDELAY"};IfcElectricTimeControlTypeEnum.USERDEFINED={type:3,value:"USERDEFINED"};IfcElectricTimeControlTypeEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC4X32.IfcElectricTimeControlTypeEnum=IfcElectricTimeControlTypeEnum;var IfcElementAssemblyTypeEnum=/*#__PURE__*/_createClass(function IfcElementAssemblyTypeEnum(){_classCallCheck(this,IfcElementAssemblyTypeEnum);});IfcElementAssemblyTypeEnum.ABUTMENT={type:3,value:"ABUTMENT"};IfcElementAssemblyTypeEnum.ACCESSORY_ASSEMBLY={type:3,value:"ACCESSORY_ASSEMBLY"};IfcElementAssemblyTypeEnum.ARCH={type:3,value:"ARCH"};IfcElementAssemblyTypeEnum.BEAM_GRID={type:3,value:"BEAM_GRID"};IfcElementAssemblyTypeEnum.BRACED_FRAME={type:3,value:"BRACED_FRAME"};IfcElementAssemblyTypeEnum.CROSS_BRACING={type:3,value:"CROSS_BRACING"};IfcElementAssemblyTypeEnum.DECK={type:3,value:"DECK"};IfcElementAssemblyTypeEnum.DILATATIONPANEL={type:3,value:"DILATATIONPANEL"};IfcElementAssemblyTypeEnum.ENTRANCEWORKS={type:3,value:"ENTRANCEWORKS"};IfcElementAssemblyTypeEnum.GIRDER={type:3,value:"GIRDER"};IfcElementAssemblyTypeEnum.GRID={type:3,value:"GRID"};IfcElementAssemblyTypeEnum.MAST={type:3,value:"MAST"};IfcElementAssemblyTypeEnum.PIER={type:3,value:"PIER"};IfcElementAssemblyTypeEnum.PYLON={type:3,value:"PYLON"};IfcElementAssemblyTypeEnum.RAIL_MECHANICAL_EQUIPMENT_ASSEMBLY={type:3,value:"RAIL_MECHANICAL_EQUIPMENT_ASSEMBLY"};IfcElementAssemblyTypeEnum.REINFORCEMENT_UNIT={type:3,value:"REINFORCEMENT_UNIT"};IfcElementAssemblyTypeEnum.RIGID_FRAME={type:3,value:"RIGID_FRAME"};IfcElementAssemblyTypeEnum.SHELTER={type:3,value:"SHELTER"};IfcElementAssemblyTypeEnum.SIGNALASSEMBLY={type:3,value:"SIGNALASSEMBLY"};IfcElementAssemblyTypeEnum.SLAB_FIELD={type:3,value:"SLAB_FIELD"};IfcElementAssemblyTypeEnum.SUMPBUSTER={type:3,value:"SUMPBUSTER"};IfcElementAssemblyTypeEnum.SUPPORTINGASSEMBLY={type:3,value:"SUPPORTINGASSEMBLY"};IfcElementAssemblyTypeEnum.SUSPENSIONASSEMBLY={type:3,value:"SUSPENSIONASSEMBLY"};IfcElementAssemblyTypeEnum.TRACKPANEL={type:3,value:"TRACKPANEL"};IfcElementAssemblyTypeEnum.TRACTION_SWITCHING_ASSEMBLY={type:3,value:"TRACTION_SWITCHING_ASSEMBLY"};IfcElementAssemblyTypeEnum.TRAFFIC_CALMING_DEVICE={type:3,value:"TRAFFIC_CALMING_DEVICE"};IfcElementAssemblyTypeEnum.TRUSS={type:3,value:"TRUSS"};IfcElementAssemblyTypeEnum.TURNOUTPANEL={type:3,value:"TURNOUTPANEL"};IfcElementAssemblyTypeEnum.USERDEFINED={type:3,value:"USERDEFINED"};IfcElementAssemblyTypeEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC4X32.IfcElementAssemblyTypeEnum=IfcElementAssemblyTypeEnum;var IfcElementCompositionEnum=/*#__PURE__*/_createClass(function IfcElementCompositionEnum(){_classCallCheck(this,IfcElementCompositionEnum);});IfcElementCompositionEnum.COMPLEX={type:3,value:"COMPLEX"};IfcElementCompositionEnum.ELEMENT={type:3,value:"ELEMENT"};IfcElementCompositionEnum.PARTIAL={type:3,value:"PARTIAL"};IFC4X32.IfcElementCompositionEnum=IfcElementCompositionEnum;var IfcEngineTypeEnum=/*#__PURE__*/_createClass(function IfcEngineTypeEnum(){_classCallCheck(this,IfcEngineTypeEnum);});IfcEngineTypeEnum.EXTERNALCOMBUSTION={type:3,value:"EXTERNALCOMBUSTION"};IfcEngineTypeEnum.INTERNALCOMBUSTION={type:3,value:"INTERNALCOMBUSTION"};IfcEngineTypeEnum.USERDEFINED={type:3,value:"USERDEFINED"};IfcEngineTypeEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC4X32.IfcEngineTypeEnum=IfcEngineTypeEnum;var IfcEvaporativeCoolerTypeEnum=/*#__PURE__*/_createClass(function IfcEvaporativeCoolerTypeEnum(){_classCallCheck(this,IfcEvaporativeCoolerTypeEnum);});IfcEvaporativeCoolerTypeEnum.DIRECTEVAPORATIVEAIRWASHER={type:3,value:"DIRECTEVAPORATIVEAIRWASHER"};IfcEvaporativeCoolerTypeEnum.DIRECTEVAPORATIVEPACKAGEDROTARYAIRCOOLER={type:3,value:"DIRECTEVAPORATIVEPACKAGEDROTARYAIRCOOLER"};IfcEvaporativeCoolerTypeEnum.DIRECTEVAPORATIVERANDOMMEDIAAIRCOOLER={type:3,value:"DIRECTEVAPORATIVERANDOMMEDIAAIRCOOLER"};IfcEvaporativeCoolerTypeEnum.DIRECTEVAPORATIVERIGIDMEDIAAIRCOOLER={type:3,value:"DIRECTEVAPORATIVERIGIDMEDIAAIRCOOLER"};IfcEvaporativeCoolerTypeEnum.DIRECTEVAPORATIVESLINGERSPACKAGEDAIRCOOLER={type:3,value:"DIRECTEVAPORATIVESLINGERSPACKAGEDAIRCOOLER"};IfcEvaporativeCoolerTypeEnum.INDIRECTDIRECTCOMBINATION={type:3,value:"INDIRECTDIRECTCOMBINATION"};IfcEvaporativeCoolerTypeEnum.INDIRECTEVAPORATIVECOOLINGTOWERORCOILCOOLER={type:3,value:"INDIRECTEVAPORATIVECOOLINGTOWERORCOILCOOLER"};IfcEvaporativeCoolerTypeEnum.INDIRECTEVAPORATIVEPACKAGEAIRCOOLER={type:3,value:"INDIRECTEVAPORATIVEPACKAGEAIRCOOLER"};IfcEvaporativeCoolerTypeEnum.INDIRECTEVAPORATIVEWETCOIL={type:3,value:"INDIRECTEVAPORATIVEWETCOIL"};IfcEvaporativeCoolerTypeEnum.USERDEFINED={type:3,value:"USERDEFINED"};IfcEvaporativeCoolerTypeEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC4X32.IfcEvaporativeCoolerTypeEnum=IfcEvaporativeCoolerTypeEnum;var IfcEvaporatorTypeEnum=/*#__PURE__*/_createClass(function IfcEvaporatorTypeEnum(){_classCallCheck(this,IfcEvaporatorTypeEnum);});IfcEvaporatorTypeEnum.DIRECTEXPANSION={type:3,value:"DIRECTEXPANSION"};IfcEvaporatorTypeEnum.DIRECTEXPANSIONBRAZEDPLATE={type:3,value:"DIRECTEXPANSIONBRAZEDPLATE"};IfcEvaporatorTypeEnum.DIRECTEXPANSIONSHELLANDTUBE={type:3,value:"DIRECTEXPANSIONSHELLANDTUBE"};IfcEvaporatorTypeEnum.DIRECTEXPANSIONTUBEINTUBE={type:3,value:"DIRECTEXPANSIONTUBEINTUBE"};IfcEvaporatorTypeEnum.FLOODEDSHELLANDTUBE={type:3,value:"FLOODEDSHELLANDTUBE"};IfcEvaporatorTypeEnum.SHELLANDCOIL={type:3,value:"SHELLANDCOIL"};IfcEvaporatorTypeEnum.USERDEFINED={type:3,value:"USERDEFINED"};IfcEvaporatorTypeEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC4X32.IfcEvaporatorTypeEnum=IfcEvaporatorTypeEnum;var IfcEventTriggerTypeEnum=/*#__PURE__*/_createClass(function IfcEventTriggerTypeEnum(){_classCallCheck(this,IfcEventTriggerTypeEnum);});IfcEventTriggerTypeEnum.EVENTCOMPLEX={type:3,value:"EVENTCOMPLEX"};IfcEventTriggerTypeEnum.EVENTMESSAGE={type:3,value:"EVENTMESSAGE"};IfcEventTriggerTypeEnum.EVENTRULE={type:3,value:"EVENTRULE"};IfcEventTriggerTypeEnum.EVENTTIME={type:3,value:"EVENTTIME"};IfcEventTriggerTypeEnum.USERDEFINED={type:3,value:"USERDEFINED"};IfcEventTriggerTypeEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC4X32.IfcEventTriggerTypeEnum=IfcEventTriggerTypeEnum;var IfcEventTypeEnum=/*#__PURE__*/_createClass(function IfcEventTypeEnum(){_classCallCheck(this,IfcEventTypeEnum);});IfcEventTypeEnum.ENDEVENT={type:3,value:"ENDEVENT"};IfcEventTypeEnum.INTERMEDIATEEVENT={type:3,value:"INTERMEDIATEEVENT"};IfcEventTypeEnum.STARTEVENT={type:3,value:"STARTEVENT"};IfcEventTypeEnum.USERDEFINED={type:3,value:"USERDEFINED"};IfcEventTypeEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC4X32.IfcEventTypeEnum=IfcEventTypeEnum;var IfcExternalSpatialElementTypeEnum=/*#__PURE__*/_createClass(function IfcExternalSpatialElementTypeEnum(){_classCallCheck(this,IfcExternalSpatialElementTypeEnum);});IfcExternalSpatialElementTypeEnum.EXTERNAL={type:3,value:"EXTERNAL"};IfcExternalSpatialElementTypeEnum.EXTERNAL_EARTH={type:3,value:"EXTERNAL_EARTH"};IfcExternalSpatialElementTypeEnum.EXTERNAL_FIRE={type:3,value:"EXTERNAL_FIRE"};IfcExternalSpatialElementTypeEnum.EXTERNAL_WATER={type:3,value:"EXTERNAL_WATER"};IfcExternalSpatialElementTypeEnum.USERDEFINED={type:3,value:"USERDEFINED"};IfcExternalSpatialElementTypeEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC4X32.IfcExternalSpatialElementTypeEnum=IfcExternalSpatialElementTypeEnum;var IfcFacilityPartCommonTypeEnum=/*#__PURE__*/_createClass(function IfcFacilityPartCommonTypeEnum(){_classCallCheck(this,IfcFacilityPartCommonTypeEnum);});IfcFacilityPartCommonTypeEnum.ABOVEGROUND={type:3,value:"ABOVEGROUND"};IfcFacilityPartCommonTypeEnum.BELOWGROUND={type:3,value:"BELOWGROUND"};IfcFacilityPartCommonTypeEnum.JUNCTION={type:3,value:"JUNCTION"};IfcFacilityPartCommonTypeEnum.LEVELCROSSING={type:3,value:"LEVELCROSSING"};IfcFacilityPartCommonTypeEnum.SEGMENT={type:3,value:"SEGMENT"};IfcFacilityPartCommonTypeEnum.SUBSTRUCTURE={type:3,value:"SUBSTRUCTURE"};IfcFacilityPartCommonTypeEnum.SUPERSTRUCTURE={type:3,value:"SUPERSTRUCTURE"};IfcFacilityPartCommonTypeEnum.TERMINAL={type:3,value:"TERMINAL"};IfcFacilityPartCommonTypeEnum.USERDEFINED={type:3,value:"USERDEFINED"};IfcFacilityPartCommonTypeEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC4X32.IfcFacilityPartCommonTypeEnum=IfcFacilityPartCommonTypeEnum;var IfcFacilityUsageEnum=/*#__PURE__*/_createClass(function IfcFacilityUsageEnum(){_classCallCheck(this,IfcFacilityUsageEnum);});IfcFacilityUsageEnum.LATERAL={type:3,value:"LATERAL"};IfcFacilityUsageEnum.LONGITUDINAL={type:3,value:"LONGITUDINAL"};IfcFacilityUsageEnum.REGION={type:3,value:"REGION"};IfcFacilityUsageEnum.VERTICAL={type:3,value:"VERTICAL"};IfcFacilityUsageEnum.USERDEFINED={type:3,value:"USERDEFINED"};IfcFacilityUsageEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC4X32.IfcFacilityUsageEnum=IfcFacilityUsageEnum;var IfcFanTypeEnum=/*#__PURE__*/_createClass(function IfcFanTypeEnum(){_classCallCheck(this,IfcFanTypeEnum);});IfcFanTypeEnum.CENTRIFUGALAIRFOIL={type:3,value:"CENTRIFUGALAIRFOIL"};IfcFanTypeEnum.CENTRIFUGALBACKWARDINCLINEDCURVED={type:3,value:"CENTRIFUGALBACKWARDINCLINEDCURVED"};IfcFanTypeEnum.CENTRIFUGALFORWARDCURVED={type:3,value:"CENTRIFUGALFORWARDCURVED"};IfcFanTypeEnum.CENTRIFUGALRADIAL={type:3,value:"CENTRIFUGALRADIAL"};IfcFanTypeEnum.PROPELLORAXIAL={type:3,value:"PROPELLORAXIAL"};IfcFanTypeEnum.TUBEAXIAL={type:3,value:"TUBEAXIAL"};IfcFanTypeEnum.VANEAXIAL={type:3,value:"VANEAXIAL"};IfcFanTypeEnum.USERDEFINED={type:3,value:"USERDEFINED"};IfcFanTypeEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC4X32.IfcFanTypeEnum=IfcFanTypeEnum;var IfcFastenerTypeEnum=/*#__PURE__*/_createClass(function IfcFastenerTypeEnum(){_classCallCheck(this,IfcFastenerTypeEnum);});IfcFastenerTypeEnum.GLUE={type:3,value:"GLUE"};IfcFastenerTypeEnum.MORTAR={type:3,value:"MORTAR"};IfcFastenerTypeEnum.WELD={type:3,value:"WELD"};IfcFastenerTypeEnum.USERDEFINED={type:3,value:"USERDEFINED"};IfcFastenerTypeEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC4X32.IfcFastenerTypeEnum=IfcFastenerTypeEnum;var IfcFilterTypeEnum=/*#__PURE__*/_createClass(function IfcFilterTypeEnum(){_classCallCheck(this,IfcFilterTypeEnum);});IfcFilterTypeEnum.AIRPARTICLEFILTER={type:3,value:"AIRPARTICLEFILTER"};IfcFilterTypeEnum.COMPRESSEDAIRFILTER={type:3,value:"COMPRESSEDAIRFILTER"};IfcFilterTypeEnum.ODORFILTER={type:3,value:"ODORFILTER"};IfcFilterTypeEnum.OILFILTER={type:3,value:"OILFILTER"};IfcFilterTypeEnum.STRAINER={type:3,value:"STRAINER"};IfcFilterTypeEnum.WATERFILTER={type:3,value:"WATERFILTER"};IfcFilterTypeEnum.USERDEFINED={type:3,value:"USERDEFINED"};IfcFilterTypeEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC4X32.IfcFilterTypeEnum=IfcFilterTypeEnum;var IfcFireSuppressionTerminalTypeEnum=/*#__PURE__*/_createClass(function IfcFireSuppressionTerminalTypeEnum(){_classCallCheck(this,IfcFireSuppressionTerminalTypeEnum);});IfcFireSuppressionTerminalTypeEnum.BREECHINGINLET={type:3,value:"BREECHINGINLET"};IfcFireSuppressionTerminalTypeEnum.FIREHYDRANT={type:3,value:"FIREHYDRANT"};IfcFireSuppressionTerminalTypeEnum.FIREMONITOR={type:3,value:"FIREMONITOR"};IfcFireSuppressionTerminalTypeEnum.HOSEREEL={type:3,value:"HOSEREEL"};IfcFireSuppressionTerminalTypeEnum.SPRINKLER={type:3,value:"SPRINKLER"};IfcFireSuppressionTerminalTypeEnum.SPRINKLERDEFLECTOR={type:3,value:"SPRINKLERDEFLECTOR"};IfcFireSuppressionTerminalTypeEnum.USERDEFINED={type:3,value:"USERDEFINED"};IfcFireSuppressionTerminalTypeEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC4X32.IfcFireSuppressionTerminalTypeEnum=IfcFireSuppressionTerminalTypeEnum;var IfcFlowDirectionEnum=/*#__PURE__*/_createClass(function IfcFlowDirectionEnum(){_classCallCheck(this,IfcFlowDirectionEnum);});IfcFlowDirectionEnum.SINK={type:3,value:"SINK"};IfcFlowDirectionEnum.SOURCE={type:3,value:"SOURCE"};IfcFlowDirectionEnum.SOURCEANDSINK={type:3,value:"SOURCEANDSINK"};IfcFlowDirectionEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC4X32.IfcFlowDirectionEnum=IfcFlowDirectionEnum;var IfcFlowInstrumentTypeEnum=/*#__PURE__*/_createClass(function IfcFlowInstrumentTypeEnum(){_classCallCheck(this,IfcFlowInstrumentTypeEnum);});IfcFlowInstrumentTypeEnum.AMMETER={type:3,value:"AMMETER"};IfcFlowInstrumentTypeEnum.COMBINED={type:3,value:"COMBINED"};IfcFlowInstrumentTypeEnum.FREQUENCYMETER={type:3,value:"FREQUENCYMETER"};IfcFlowInstrumentTypeEnum.PHASEANGLEMETER={type:3,value:"PHASEANGLEMETER"};IfcFlowInstrumentTypeEnum.POWERFACTORMETER={type:3,value:"POWERFACTORMETER"};IfcFlowInstrumentTypeEnum.PRESSUREGAUGE={type:3,value:"PRESSUREGAUGE"};IfcFlowInstrumentTypeEnum.THERMOMETER={type:3,value:"THERMOMETER"};IfcFlowInstrumentTypeEnum.VOLTMETER={type:3,value:"VOLTMETER"};IfcFlowInstrumentTypeEnum.VOLTMETER_PEAK={type:3,value:"VOLTMETER_PEAK"};IfcFlowInstrumentTypeEnum.VOLTMETER_RMS={type:3,value:"VOLTMETER_RMS"};IfcFlowInstrumentTypeEnum.USERDEFINED={type:3,value:"USERDEFINED"};IfcFlowInstrumentTypeEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC4X32.IfcFlowInstrumentTypeEnum=IfcFlowInstrumentTypeEnum;var IfcFlowMeterTypeEnum=/*#__PURE__*/_createClass(function IfcFlowMeterTypeEnum(){_classCallCheck(this,IfcFlowMeterTypeEnum);});IfcFlowMeterTypeEnum.ENERGYMETER={type:3,value:"ENERGYMETER"};IfcFlowMeterTypeEnum.GASMETER={type:3,value:"GASMETER"};IfcFlowMeterTypeEnum.OILMETER={type:3,value:"OILMETER"};IfcFlowMeterTypeEnum.WATERMETER={type:3,value:"WATERMETER"};IfcFlowMeterTypeEnum.USERDEFINED={type:3,value:"USERDEFINED"};IfcFlowMeterTypeEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC4X32.IfcFlowMeterTypeEnum=IfcFlowMeterTypeEnum;var IfcFootingTypeEnum=/*#__PURE__*/_createClass(function IfcFootingTypeEnum(){_classCallCheck(this,IfcFootingTypeEnum);});IfcFootingTypeEnum.CAISSON_FOUNDATION={type:3,value:"CAISSON_FOUNDATION"};IfcFootingTypeEnum.FOOTING_BEAM={type:3,value:"FOOTING_BEAM"};IfcFootingTypeEnum.PAD_FOOTING={type:3,value:"PAD_FOOTING"};IfcFootingTypeEnum.PILE_CAP={type:3,value:"PILE_CAP"};IfcFootingTypeEnum.STRIP_FOOTING={type:3,value:"STRIP_FOOTING"};IfcFootingTypeEnum.USERDEFINED={type:3,value:"USERDEFINED"};IfcFootingTypeEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC4X32.IfcFootingTypeEnum=IfcFootingTypeEnum;var IfcFurnitureTypeEnum=/*#__PURE__*/_createClass(function IfcFurnitureTypeEnum(){_classCallCheck(this,IfcFurnitureTypeEnum);});IfcFurnitureTypeEnum.BED={type:3,value:"BED"};IfcFurnitureTypeEnum.CHAIR={type:3,value:"CHAIR"};IfcFurnitureTypeEnum.DESK={type:3,value:"DESK"};IfcFurnitureTypeEnum.FILECABINET={type:3,value:"FILECABINET"};IfcFurnitureTypeEnum.SHELF={type:3,value:"SHELF"};IfcFurnitureTypeEnum.SOFA={type:3,value:"SOFA"};IfcFurnitureTypeEnum.TABLE={type:3,value:"TABLE"};IfcFurnitureTypeEnum.TECHNICALCABINET={type:3,value:"TECHNICALCABINET"};IfcFurnitureTypeEnum.USERDEFINED={type:3,value:"USERDEFINED"};IfcFurnitureTypeEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC4X32.IfcFurnitureTypeEnum=IfcFurnitureTypeEnum;var IfcGeographicElementTypeEnum=/*#__PURE__*/_createClass(function IfcGeographicElementTypeEnum(){_classCallCheck(this,IfcGeographicElementTypeEnum);});IfcGeographicElementTypeEnum.SOIL_BORING_POINT={type:3,value:"SOIL_BORING_POINT"};IfcGeographicElementTypeEnum.TERRAIN={type:3,value:"TERRAIN"};IfcGeographicElementTypeEnum.VEGETATION={type:3,value:"VEGETATION"};IfcGeographicElementTypeEnum.USERDEFINED={type:3,value:"USERDEFINED"};IfcGeographicElementTypeEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC4X32.IfcGeographicElementTypeEnum=IfcGeographicElementTypeEnum;var IfcGeometricProjectionEnum=/*#__PURE__*/_createClass(function IfcGeometricProjectionEnum(){_classCallCheck(this,IfcGeometricProjectionEnum);});IfcGeometricProjectionEnum.ELEVATION_VIEW={type:3,value:"ELEVATION_VIEW"};IfcGeometricProjectionEnum.GRAPH_VIEW={type:3,value:"GRAPH_VIEW"};IfcGeometricProjectionEnum.MODEL_VIEW={type:3,value:"MODEL_VIEW"};IfcGeometricProjectionEnum.PLAN_VIEW={type:3,value:"PLAN_VIEW"};IfcGeometricProjectionEnum.REFLECTED_PLAN_VIEW={type:3,value:"REFLECTED_PLAN_VIEW"};IfcGeometricProjectionEnum.SECTION_VIEW={type:3,value:"SECTION_VIEW"};IfcGeometricProjectionEnum.SKETCH_VIEW={type:3,value:"SKETCH_VIEW"};IfcGeometricProjectionEnum.USERDEFINED={type:3,value:"USERDEFINED"};IfcGeometricProjectionEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC4X32.IfcGeometricProjectionEnum=IfcGeometricProjectionEnum;var IfcGeotechnicalStratumTypeEnum=/*#__PURE__*/_createClass(function IfcGeotechnicalStratumTypeEnum(){_classCallCheck(this,IfcGeotechnicalStratumTypeEnum);});IfcGeotechnicalStratumTypeEnum.SOLID={type:3,value:"SOLID"};IfcGeotechnicalStratumTypeEnum.VOID={type:3,value:"VOID"};IfcGeotechnicalStratumTypeEnum.WATER={type:3,value:"WATER"};IfcGeotechnicalStratumTypeEnum.USERDEFINED={type:3,value:"USERDEFINED"};IfcGeotechnicalStratumTypeEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC4X32.IfcGeotechnicalStratumTypeEnum=IfcGeotechnicalStratumTypeEnum;var IfcGlobalOrLocalEnum=/*#__PURE__*/_createClass(function IfcGlobalOrLocalEnum(){_classCallCheck(this,IfcGlobalOrLocalEnum);});IfcGlobalOrLocalEnum.GLOBAL_COORDS={type:3,value:"GLOBAL_COORDS"};IfcGlobalOrLocalEnum.LOCAL_COORDS={type:3,value:"LOCAL_COORDS"};IFC4X32.IfcGlobalOrLocalEnum=IfcGlobalOrLocalEnum;var IfcGridTypeEnum=/*#__PURE__*/_createClass(function IfcGridTypeEnum(){_classCallCheck(this,IfcGridTypeEnum);});IfcGridTypeEnum.IRREGULAR={type:3,value:"IRREGULAR"};IfcGridTypeEnum.RADIAL={type:3,value:"RADIAL"};IfcGridTypeEnum.RECTANGULAR={type:3,value:"RECTANGULAR"};IfcGridTypeEnum.TRIANGULAR={type:3,value:"TRIANGULAR"};IfcGridTypeEnum.USERDEFINED={type:3,value:"USERDEFINED"};IfcGridTypeEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC4X32.IfcGridTypeEnum=IfcGridTypeEnum;var IfcHeatExchangerTypeEnum=/*#__PURE__*/_createClass(function IfcHeatExchangerTypeEnum(){_classCallCheck(this,IfcHeatExchangerTypeEnum);});IfcHeatExchangerTypeEnum.PLATE={type:3,value:"PLATE"};IfcHeatExchangerTypeEnum.SHELLANDTUBE={type:3,value:"SHELLANDTUBE"};IfcHeatExchangerTypeEnum.TURNOUTHEATING={type:3,value:"TURNOUTHEATING"};IfcHeatExchangerTypeEnum.USERDEFINED={type:3,value:"USERDEFINED"};IfcHeatExchangerTypeEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC4X32.IfcHeatExchangerTypeEnum=IfcHeatExchangerTypeEnum;var IfcHumidifierTypeEnum=/*#__PURE__*/_createClass(function IfcHumidifierTypeEnum(){_classCallCheck(this,IfcHumidifierTypeEnum);});IfcHumidifierTypeEnum.ADIABATICAIRWASHER={type:3,value:"ADIABATICAIRWASHER"};IfcHumidifierTypeEnum.ADIABATICATOMIZING={type:3,value:"ADIABATICATOMIZING"};IfcHumidifierTypeEnum.ADIABATICCOMPRESSEDAIRNOZZLE={type:3,value:"ADIABATICCOMPRESSEDAIRNOZZLE"};IfcHumidifierTypeEnum.ADIABATICPAN={type:3,value:"ADIABATICPAN"};IfcHumidifierTypeEnum.ADIABATICRIGIDMEDIA={type:3,value:"ADIABATICRIGIDMEDIA"};IfcHumidifierTypeEnum.ADIABATICULTRASONIC={type:3,value:"ADIABATICULTRASONIC"};IfcHumidifierTypeEnum.ADIABATICWETTEDELEMENT={type:3,value:"ADIABATICWETTEDELEMENT"};IfcHumidifierTypeEnum.ASSISTEDBUTANE={type:3,value:"ASSISTEDBUTANE"};IfcHumidifierTypeEnum.ASSISTEDELECTRIC={type:3,value:"ASSISTEDELECTRIC"};IfcHumidifierTypeEnum.ASSISTEDNATURALGAS={type:3,value:"ASSISTEDNATURALGAS"};IfcHumidifierTypeEnum.ASSISTEDPROPANE={type:3,value:"ASSISTEDPROPANE"};IfcHumidifierTypeEnum.ASSISTEDSTEAM={type:3,value:"ASSISTEDSTEAM"};IfcHumidifierTypeEnum.STEAMINJECTION={type:3,value:"STEAMINJECTION"};IfcHumidifierTypeEnum.USERDEFINED={type:3,value:"USERDEFINED"};IfcHumidifierTypeEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC4X32.IfcHumidifierTypeEnum=IfcHumidifierTypeEnum;var IfcImpactProtectionDeviceTypeEnum=/*#__PURE__*/_createClass(function IfcImpactProtectionDeviceTypeEnum(){_classCallCheck(this,IfcImpactProtectionDeviceTypeEnum);});IfcImpactProtectionDeviceTypeEnum.BUMPER={type:3,value:"BUMPER"};IfcImpactProtectionDeviceTypeEnum.CRASHCUSHION={type:3,value:"CRASHCUSHION"};IfcImpactProtectionDeviceTypeEnum.DAMPINGSYSTEM={type:3,value:"DAMPINGSYSTEM"};IfcImpactProtectionDeviceTypeEnum.FENDER={type:3,value:"FENDER"};IfcImpactProtectionDeviceTypeEnum.USERDEFINED={type:3,value:"USERDEFINED"};IfcImpactProtectionDeviceTypeEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC4X32.IfcImpactProtectionDeviceTypeEnum=IfcImpactProtectionDeviceTypeEnum;var IfcInterceptorTypeEnum=/*#__PURE__*/_createClass(function IfcInterceptorTypeEnum(){_classCallCheck(this,IfcInterceptorTypeEnum);});IfcInterceptorTypeEnum.CYCLONIC={type:3,value:"CYCLONIC"};IfcInterceptorTypeEnum.GREASE={type:3,value:"GREASE"};IfcInterceptorTypeEnum.OIL={type:3,value:"OIL"};IfcInterceptorTypeEnum.PETROL={type:3,value:"PETROL"};IfcInterceptorTypeEnum.USERDEFINED={type:3,value:"USERDEFINED"};IfcInterceptorTypeEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC4X32.IfcInterceptorTypeEnum=IfcInterceptorTypeEnum;var IfcInternalOrExternalEnum=/*#__PURE__*/_createClass(function IfcInternalOrExternalEnum(){_classCallCheck(this,IfcInternalOrExternalEnum);});IfcInternalOrExternalEnum.EXTERNAL={type:3,value:"EXTERNAL"};IfcInternalOrExternalEnum.EXTERNAL_EARTH={type:3,value:"EXTERNAL_EARTH"};IfcInternalOrExternalEnum.EXTERNAL_FIRE={type:3,value:"EXTERNAL_FIRE"};IfcInternalOrExternalEnum.EXTERNAL_WATER={type:3,value:"EXTERNAL_WATER"};IfcInternalOrExternalEnum.INTERNAL={type:3,value:"INTERNAL"};IfcInternalOrExternalEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC4X32.IfcInternalOrExternalEnum=IfcInternalOrExternalEnum;var IfcInventoryTypeEnum=/*#__PURE__*/_createClass(function IfcInventoryTypeEnum(){_classCallCheck(this,IfcInventoryTypeEnum);});IfcInventoryTypeEnum.ASSETINVENTORY={type:3,value:"ASSETINVENTORY"};IfcInventoryTypeEnum.FURNITUREINVENTORY={type:3,value:"FURNITUREINVENTORY"};IfcInventoryTypeEnum.SPACEINVENTORY={type:3,value:"SPACEINVENTORY"};IfcInventoryTypeEnum.USERDEFINED={type:3,value:"USERDEFINED"};IfcInventoryTypeEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC4X32.IfcInventoryTypeEnum=IfcInventoryTypeEnum;var IfcJunctionBoxTypeEnum=/*#__PURE__*/_createClass(function IfcJunctionBoxTypeEnum(){_classCallCheck(this,IfcJunctionBoxTypeEnum);});IfcJunctionBoxTypeEnum.DATA={type:3,value:"DATA"};IfcJunctionBoxTypeEnum.POWER={type:3,value:"POWER"};IfcJunctionBoxTypeEnum.USERDEFINED={type:3,value:"USERDEFINED"};IfcJunctionBoxTypeEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC4X32.IfcJunctionBoxTypeEnum=IfcJunctionBoxTypeEnum;var IfcKnotType=/*#__PURE__*/_createClass(function IfcKnotType(){_classCallCheck(this,IfcKnotType);});IfcKnotType.PIECEWISE_BEZIER_KNOTS={type:3,value:"PIECEWISE_BEZIER_KNOTS"};IfcKnotType.QUASI_UNIFORM_KNOTS={type:3,value:"QUASI_UNIFORM_KNOTS"};IfcKnotType.UNIFORM_KNOTS={type:3,value:"UNIFORM_KNOTS"};IfcKnotType.UNSPECIFIED={type:3,value:"UNSPECIFIED"};IFC4X32.IfcKnotType=IfcKnotType;var IfcLaborResourceTypeEnum=/*#__PURE__*/_createClass(function IfcLaborResourceTypeEnum(){_classCallCheck(this,IfcLaborResourceTypeEnum);});IfcLaborResourceTypeEnum.ADMINISTRATION={type:3,value:"ADMINISTRATION"};IfcLaborResourceTypeEnum.CARPENTRY={type:3,value:"CARPENTRY"};IfcLaborResourceTypeEnum.CLEANING={type:3,value:"CLEANING"};IfcLaborResourceTypeEnum.CONCRETE={type:3,value:"CONCRETE"};IfcLaborResourceTypeEnum.DRYWALL={type:3,value:"DRYWALL"};IfcLaborResourceTypeEnum.ELECTRIC={type:3,value:"ELECTRIC"};IfcLaborResourceTypeEnum.FINISHING={type:3,value:"FINISHING"};IfcLaborResourceTypeEnum.FLOORING={type:3,value:"FLOORING"};IfcLaborResourceTypeEnum.GENERAL={type:3,value:"GENERAL"};IfcLaborResourceTypeEnum.HVAC={type:3,value:"HVAC"};IfcLaborResourceTypeEnum.LANDSCAPING={type:3,value:"LANDSCAPING"};IfcLaborResourceTypeEnum.MASONRY={type:3,value:"MASONRY"};IfcLaborResourceTypeEnum.PAINTING={type:3,value:"PAINTING"};IfcLaborResourceTypeEnum.PAVING={type:3,value:"PAVING"};IfcLaborResourceTypeEnum.PLUMBING={type:3,value:"PLUMBING"};IfcLaborResourceTypeEnum.ROOFING={type:3,value:"ROOFING"};IfcLaborResourceTypeEnum.SITEGRADING={type:3,value:"SITEGRADING"};IfcLaborResourceTypeEnum.STEELWORK={type:3,value:"STEELWORK"};IfcLaborResourceTypeEnum.SURVEYING={type:3,value:"SURVEYING"};IfcLaborResourceTypeEnum.USERDEFINED={type:3,value:"USERDEFINED"};IfcLaborResourceTypeEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC4X32.IfcLaborResourceTypeEnum=IfcLaborResourceTypeEnum;var IfcLampTypeEnum=/*#__PURE__*/_createClass(function IfcLampTypeEnum(){_classCallCheck(this,IfcLampTypeEnum);});IfcLampTypeEnum.COMPACTFLUORESCENT={type:3,value:"COMPACTFLUORESCENT"};IfcLampTypeEnum.FLUORESCENT={type:3,value:"FLUORESCENT"};IfcLampTypeEnum.HALOGEN={type:3,value:"HALOGEN"};IfcLampTypeEnum.HIGHPRESSUREMERCURY={type:3,value:"HIGHPRESSUREMERCURY"};IfcLampTypeEnum.HIGHPRESSURESODIUM={type:3,value:"HIGHPRESSURESODIUM"};IfcLampTypeEnum.LED={type:3,value:"LED"};IfcLampTypeEnum.METALHALIDE={type:3,value:"METALHALIDE"};IfcLampTypeEnum.OLED={type:3,value:"OLED"};IfcLampTypeEnum.TUNGSTENFILAMENT={type:3,value:"TUNGSTENFILAMENT"};IfcLampTypeEnum.USERDEFINED={type:3,value:"USERDEFINED"};IfcLampTypeEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC4X32.IfcLampTypeEnum=IfcLampTypeEnum;var IfcLayerSetDirectionEnum=/*#__PURE__*/_createClass(function IfcLayerSetDirectionEnum(){_classCallCheck(this,IfcLayerSetDirectionEnum);});IfcLayerSetDirectionEnum.AXIS1={type:3,value:"AXIS1"};IfcLayerSetDirectionEnum.AXIS2={type:3,value:"AXIS2"};IfcLayerSetDirectionEnum.AXIS3={type:3,value:"AXIS3"};IFC4X32.IfcLayerSetDirectionEnum=IfcLayerSetDirectionEnum;var IfcLightDistributionCurveEnum=/*#__PURE__*/_createClass(function IfcLightDistributionCurveEnum(){_classCallCheck(this,IfcLightDistributionCurveEnum);});IfcLightDistributionCurveEnum.TYPE_A={type:3,value:"TYPE_A"};IfcLightDistributionCurveEnum.TYPE_B={type:3,value:"TYPE_B"};IfcLightDistributionCurveEnum.TYPE_C={type:3,value:"TYPE_C"};IfcLightDistributionCurveEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC4X32.IfcLightDistributionCurveEnum=IfcLightDistributionCurveEnum;var IfcLightEmissionSourceEnum=/*#__PURE__*/_createClass(function IfcLightEmissionSourceEnum(){_classCallCheck(this,IfcLightEmissionSourceEnum);});IfcLightEmissionSourceEnum.COMPACTFLUORESCENT={type:3,value:"COMPACTFLUORESCENT"};IfcLightEmissionSourceEnum.FLUORESCENT={type:3,value:"FLUORESCENT"};IfcLightEmissionSourceEnum.HIGHPRESSUREMERCURY={type:3,value:"HIGHPRESSUREMERCURY"};IfcLightEmissionSourceEnum.HIGHPRESSURESODIUM={type:3,value:"HIGHPRESSURESODIUM"};IfcLightEmissionSourceEnum.LIGHTEMITTINGDIODE={type:3,value:"LIGHTEMITTINGDIODE"};IfcLightEmissionSourceEnum.LOWPRESSURESODIUM={type:3,value:"LOWPRESSURESODIUM"};IfcLightEmissionSourceEnum.LOWVOLTAGEHALOGEN={type:3,value:"LOWVOLTAGEHALOGEN"};IfcLightEmissionSourceEnum.MAINVOLTAGEHALOGEN={type:3,value:"MAINVOLTAGEHALOGEN"};IfcLightEmissionSourceEnum.METALHALIDE={type:3,value:"METALHALIDE"};IfcLightEmissionSourceEnum.TUNGSTENFILAMENT={type:3,value:"TUNGSTENFILAMENT"};IfcLightEmissionSourceEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC4X32.IfcLightEmissionSourceEnum=IfcLightEmissionSourceEnum;var IfcLightFixtureTypeEnum=/*#__PURE__*/_createClass(function IfcLightFixtureTypeEnum(){_classCallCheck(this,IfcLightFixtureTypeEnum);});IfcLightFixtureTypeEnum.DIRECTIONSOURCE={type:3,value:"DIRECTIONSOURCE"};IfcLightFixtureTypeEnum.POINTSOURCE={type:3,value:"POINTSOURCE"};IfcLightFixtureTypeEnum.SECURITYLIGHTING={type:3,value:"SECURITYLIGHTING"};IfcLightFixtureTypeEnum.USERDEFINED={type:3,value:"USERDEFINED"};IfcLightFixtureTypeEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC4X32.IfcLightFixtureTypeEnum=IfcLightFixtureTypeEnum;var IfcLiquidTerminalTypeEnum=/*#__PURE__*/_createClass(function IfcLiquidTerminalTypeEnum(){_classCallCheck(this,IfcLiquidTerminalTypeEnum);});IfcLiquidTerminalTypeEnum.HOSEREEL={type:3,value:"HOSEREEL"};IfcLiquidTerminalTypeEnum.LOADINGARM={type:3,value:"LOADINGARM"};IfcLiquidTerminalTypeEnum.USERDEFINED={type:3,value:"USERDEFINED"};IfcLiquidTerminalTypeEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC4X32.IfcLiquidTerminalTypeEnum=IfcLiquidTerminalTypeEnum;var IfcLoadGroupTypeEnum=/*#__PURE__*/_createClass(function IfcLoadGroupTypeEnum(){_classCallCheck(this,IfcLoadGroupTypeEnum);});IfcLoadGroupTypeEnum.LOAD_CASE={type:3,value:"LOAD_CASE"};IfcLoadGroupTypeEnum.LOAD_COMBINATION={type:3,value:"LOAD_COMBINATION"};IfcLoadGroupTypeEnum.LOAD_GROUP={type:3,value:"LOAD_GROUP"};IfcLoadGroupTypeEnum.USERDEFINED={type:3,value:"USERDEFINED"};IfcLoadGroupTypeEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC4X32.IfcLoadGroupTypeEnum=IfcLoadGroupTypeEnum;var IfcLogicalOperatorEnum=/*#__PURE__*/_createClass(function IfcLogicalOperatorEnum(){_classCallCheck(this,IfcLogicalOperatorEnum);});IfcLogicalOperatorEnum.LOGICALAND={type:3,value:"LOGICALAND"};IfcLogicalOperatorEnum.LOGICALNOTAND={type:3,value:"LOGICALNOTAND"};IfcLogicalOperatorEnum.LOGICALNOTOR={type:3,value:"LOGICALNOTOR"};IfcLogicalOperatorEnum.LOGICALOR={type:3,value:"LOGICALOR"};IfcLogicalOperatorEnum.LOGICALXOR={type:3,value:"LOGICALXOR"};IFC4X32.IfcLogicalOperatorEnum=IfcLogicalOperatorEnum;var IfcMarineFacilityTypeEnum=/*#__PURE__*/_createClass(function IfcMarineFacilityTypeEnum(){_classCallCheck(this,IfcMarineFacilityTypeEnum);});IfcMarineFacilityTypeEnum.BARRIERBEACH={type:3,value:"BARRIERBEACH"};IfcMarineFacilityTypeEnum.BREAKWATER={type:3,value:"BREAKWATER"};IfcMarineFacilityTypeEnum.CANAL={type:3,value:"CANAL"};IfcMarineFacilityTypeEnum.DRYDOCK={type:3,value:"DRYDOCK"};IfcMarineFacilityTypeEnum.FLOATINGDOCK={type:3,value:"FLOATINGDOCK"};IfcMarineFacilityTypeEnum.HYDROLIFT={type:3,value:"HYDROLIFT"};IfcMarineFacilityTypeEnum.JETTY={type:3,value:"JETTY"};IfcMarineFacilityTypeEnum.LAUNCHRECOVERY={type:3,value:"LAUNCHRECOVERY"};IfcMarineFacilityTypeEnum.MARINEDEFENCE={type:3,value:"MARINEDEFENCE"};IfcMarineFacilityTypeEnum.NAVIGATIONALCHANNEL={type:3,value:"NAVIGATIONALCHANNEL"};IfcMarineFacilityTypeEnum.PORT={type:3,value:"PORT"};IfcMarineFacilityTypeEnum.QUAY={type:3,value:"QUAY"};IfcMarineFacilityTypeEnum.REVETMENT={type:3,value:"REVETMENT"};IfcMarineFacilityTypeEnum.SHIPLIFT={type:3,value:"SHIPLIFT"};IfcMarineFacilityTypeEnum.SHIPLOCK={type:3,value:"SHIPLOCK"};IfcMarineFacilityTypeEnum.SHIPYARD={type:3,value:"SHIPYARD"};IfcMarineFacilityTypeEnum.SLIPWAY={type:3,value:"SLIPWAY"};IfcMarineFacilityTypeEnum.WATERWAY={type:3,value:"WATERWAY"};IfcMarineFacilityTypeEnum.WATERWAYSHIPLIFT={type:3,value:"WATERWAYSHIPLIFT"};IfcMarineFacilityTypeEnum.USERDEFINED={type:3,value:"USERDEFINED"};IfcMarineFacilityTypeEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC4X32.IfcMarineFacilityTypeEnum=IfcMarineFacilityTypeEnum;var IfcMarinePartTypeEnum=/*#__PURE__*/_createClass(function IfcMarinePartTypeEnum(){_classCallCheck(this,IfcMarinePartTypeEnum);});IfcMarinePartTypeEnum.ABOVEWATERLINE={type:3,value:"ABOVEWATERLINE"};IfcMarinePartTypeEnum.ANCHORAGE={type:3,value:"ANCHORAGE"};IfcMarinePartTypeEnum.APPROACHCHANNEL={type:3,value:"APPROACHCHANNEL"};IfcMarinePartTypeEnum.BELOWWATERLINE={type:3,value:"BELOWWATERLINE"};IfcMarinePartTypeEnum.BERTHINGSTRUCTURE={type:3,value:"BERTHINGSTRUCTURE"};IfcMarinePartTypeEnum.CHAMBER={type:3,value:"CHAMBER"};IfcMarinePartTypeEnum.CILL_LEVEL={type:3,value:"CILL_LEVEL"};IfcMarinePartTypeEnum.COPELEVEL={type:3,value:"COPELEVEL"};IfcMarinePartTypeEnum.CORE={type:3,value:"CORE"};IfcMarinePartTypeEnum.CREST={type:3,value:"CREST"};IfcMarinePartTypeEnum.GATEHEAD={type:3,value:"GATEHEAD"};IfcMarinePartTypeEnum.GUDINGSTRUCTURE={type:3,value:"GUDINGSTRUCTURE"};IfcMarinePartTypeEnum.HIGHWATERLINE={type:3,value:"HIGHWATERLINE"};IfcMarinePartTypeEnum.LANDFIELD={type:3,value:"LANDFIELD"};IfcMarinePartTypeEnum.LEEWARDSIDE={type:3,value:"LEEWARDSIDE"};IfcMarinePartTypeEnum.LOWWATERLINE={type:3,value:"LOWWATERLINE"};IfcMarinePartTypeEnum.MANUFACTURING={type:3,value:"MANUFACTURING"};IfcMarinePartTypeEnum.NAVIGATIONALAREA={type:3,value:"NAVIGATIONALAREA"};IfcMarinePartTypeEnum.PROTECTION={type:3,value:"PROTECTION"};IfcMarinePartTypeEnum.SHIPTRANSFER={type:3,value:"SHIPTRANSFER"};IfcMarinePartTypeEnum.STORAGEAREA={type:3,value:"STORAGEAREA"};IfcMarinePartTypeEnum.VEHICLESERVICING={type:3,value:"VEHICLESERVICING"};IfcMarinePartTypeEnum.WATERFIELD={type:3,value:"WATERFIELD"};IfcMarinePartTypeEnum.WEATHERSIDE={type:3,value:"WEATHERSIDE"};IfcMarinePartTypeEnum.USERDEFINED={type:3,value:"USERDEFINED"};IfcMarinePartTypeEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC4X32.IfcMarinePartTypeEnum=IfcMarinePartTypeEnum;var IfcMechanicalFastenerTypeEnum=/*#__PURE__*/_createClass(function IfcMechanicalFastenerTypeEnum(){_classCallCheck(this,IfcMechanicalFastenerTypeEnum);});IfcMechanicalFastenerTypeEnum.ANCHORBOLT={type:3,value:"ANCHORBOLT"};IfcMechanicalFastenerTypeEnum.BOLT={type:3,value:"BOLT"};IfcMechanicalFastenerTypeEnum.CHAIN={type:3,value:"CHAIN"};IfcMechanicalFastenerTypeEnum.COUPLER={type:3,value:"COUPLER"};IfcMechanicalFastenerTypeEnum.DOWEL={type:3,value:"DOWEL"};IfcMechanicalFastenerTypeEnum.NAIL={type:3,value:"NAIL"};IfcMechanicalFastenerTypeEnum.NAILPLATE={type:3,value:"NAILPLATE"};IfcMechanicalFastenerTypeEnum.RAILFASTENING={type:3,value:"RAILFASTENING"};IfcMechanicalFastenerTypeEnum.RAILJOINT={type:3,value:"RAILJOINT"};IfcMechanicalFastenerTypeEnum.RIVET={type:3,value:"RIVET"};IfcMechanicalFastenerTypeEnum.ROPE={type:3,value:"ROPE"};IfcMechanicalFastenerTypeEnum.SCREW={type:3,value:"SCREW"};IfcMechanicalFastenerTypeEnum.SHEARCONNECTOR={type:3,value:"SHEARCONNECTOR"};IfcMechanicalFastenerTypeEnum.STAPLE={type:3,value:"STAPLE"};IfcMechanicalFastenerTypeEnum.STUDSHEARCONNECTOR={type:3,value:"STUDSHEARCONNECTOR"};IfcMechanicalFastenerTypeEnum.USERDEFINED={type:3,value:"USERDEFINED"};IfcMechanicalFastenerTypeEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC4X32.IfcMechanicalFastenerTypeEnum=IfcMechanicalFastenerTypeEnum;var IfcMedicalDeviceTypeEnum=/*#__PURE__*/_createClass(function IfcMedicalDeviceTypeEnum(){_classCallCheck(this,IfcMedicalDeviceTypeEnum);});IfcMedicalDeviceTypeEnum.AIRSTATION={type:3,value:"AIRSTATION"};IfcMedicalDeviceTypeEnum.FEEDAIRUNIT={type:3,value:"FEEDAIRUNIT"};IfcMedicalDeviceTypeEnum.OXYGENGENERATOR={type:3,value:"OXYGENGENERATOR"};IfcMedicalDeviceTypeEnum.OXYGENPLANT={type:3,value:"OXYGENPLANT"};IfcMedicalDeviceTypeEnum.VACUUMSTATION={type:3,value:"VACUUMSTATION"};IfcMedicalDeviceTypeEnum.USERDEFINED={type:3,value:"USERDEFINED"};IfcMedicalDeviceTypeEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC4X32.IfcMedicalDeviceTypeEnum=IfcMedicalDeviceTypeEnum;var IfcMemberTypeEnum=/*#__PURE__*/_createClass(function IfcMemberTypeEnum(){_classCallCheck(this,IfcMemberTypeEnum);});IfcMemberTypeEnum.ARCH_SEGMENT={type:3,value:"ARCH_SEGMENT"};IfcMemberTypeEnum.BRACE={type:3,value:"BRACE"};IfcMemberTypeEnum.CHORD={type:3,value:"CHORD"};IfcMemberTypeEnum.COLLAR={type:3,value:"COLLAR"};IfcMemberTypeEnum.MEMBER={type:3,value:"MEMBER"};IfcMemberTypeEnum.MULLION={type:3,value:"MULLION"};IfcMemberTypeEnum.PLATE={type:3,value:"PLATE"};IfcMemberTypeEnum.POST={type:3,value:"POST"};IfcMemberTypeEnum.PURLIN={type:3,value:"PURLIN"};IfcMemberTypeEnum.RAFTER={type:3,value:"RAFTER"};IfcMemberTypeEnum.STAY_CABLE={type:3,value:"STAY_CABLE"};IfcMemberTypeEnum.STIFFENING_RIB={type:3,value:"STIFFENING_RIB"};IfcMemberTypeEnum.STRINGER={type:3,value:"STRINGER"};IfcMemberTypeEnum.STRUCTURALCABLE={type:3,value:"STRUCTURALCABLE"};IfcMemberTypeEnum.STRUT={type:3,value:"STRUT"};IfcMemberTypeEnum.STUD={type:3,value:"STUD"};IfcMemberTypeEnum.SUSPENDER={type:3,value:"SUSPENDER"};IfcMemberTypeEnum.SUSPENSION_CABLE={type:3,value:"SUSPENSION_CABLE"};IfcMemberTypeEnum.TIEBAR={type:3,value:"TIEBAR"};IfcMemberTypeEnum.USERDEFINED={type:3,value:"USERDEFINED"};IfcMemberTypeEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC4X32.IfcMemberTypeEnum=IfcMemberTypeEnum;var IfcMobileTelecommunicationsApplianceTypeEnum=/*#__PURE__*/_createClass(function IfcMobileTelecommunicationsApplianceTypeEnum(){_classCallCheck(this,IfcMobileTelecommunicationsApplianceTypeEnum);});IfcMobileTelecommunicationsApplianceTypeEnum.ACCESSPOINT={type:3,value:"ACCESSPOINT"};IfcMobileTelecommunicationsApplianceTypeEnum.BASEBANDUNIT={type:3,value:"BASEBANDUNIT"};IfcMobileTelecommunicationsApplianceTypeEnum.BASETRANSCEIVERSTATION={type:3,value:"BASETRANSCEIVERSTATION"};IfcMobileTelecommunicationsApplianceTypeEnum.E_UTRAN_NODE_B={type:3,value:"E_UTRAN_NODE_B"};IfcMobileTelecommunicationsApplianceTypeEnum.GATEWAY_GPRS_SUPPORT_NODE={type:3,value:"GATEWAY_GPRS_SUPPORT_NODE"};IfcMobileTelecommunicationsApplianceTypeEnum.MASTERUNIT={type:3,value:"MASTERUNIT"};IfcMobileTelecommunicationsApplianceTypeEnum.MOBILESWITCHINGCENTER={type:3,value:"MOBILESWITCHINGCENTER"};IfcMobileTelecommunicationsApplianceTypeEnum.MSCSERVER={type:3,value:"MSCSERVER"};IfcMobileTelecommunicationsApplianceTypeEnum.PACKETCONTROLUNIT={type:3,value:"PACKETCONTROLUNIT"};IfcMobileTelecommunicationsApplianceTypeEnum.REMOTERADIOUNIT={type:3,value:"REMOTERADIOUNIT"};IfcMobileTelecommunicationsApplianceTypeEnum.REMOTEUNIT={type:3,value:"REMOTEUNIT"};IfcMobileTelecommunicationsApplianceTypeEnum.SERVICE_GPRS_SUPPORT_NODE={type:3,value:"SERVICE_GPRS_SUPPORT_NODE"};IfcMobileTelecommunicationsApplianceTypeEnum.SUBSCRIBERSERVER={type:3,value:"SUBSCRIBERSERVER"};IfcMobileTelecommunicationsApplianceTypeEnum.USERDEFINED={type:3,value:"USERDEFINED"};IfcMobileTelecommunicationsApplianceTypeEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC4X32.IfcMobileTelecommunicationsApplianceTypeEnum=IfcMobileTelecommunicationsApplianceTypeEnum;var IfcMooringDeviceTypeEnum=/*#__PURE__*/_createClass(function IfcMooringDeviceTypeEnum(){_classCallCheck(this,IfcMooringDeviceTypeEnum);});IfcMooringDeviceTypeEnum.BOLLARD={type:3,value:"BOLLARD"};IfcMooringDeviceTypeEnum.LINETENSIONER={type:3,value:"LINETENSIONER"};IfcMooringDeviceTypeEnum.MAGNETICDEVICE={type:3,value:"MAGNETICDEVICE"};IfcMooringDeviceTypeEnum.MOORINGHOOKS={type:3,value:"MOORINGHOOKS"};IfcMooringDeviceTypeEnum.VACUUMDEVICE={type:3,value:"VACUUMDEVICE"};IfcMooringDeviceTypeEnum.USERDEFINED={type:3,value:"USERDEFINED"};IfcMooringDeviceTypeEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC4X32.IfcMooringDeviceTypeEnum=IfcMooringDeviceTypeEnum;var IfcMotorConnectionTypeEnum=/*#__PURE__*/_createClass(function IfcMotorConnectionTypeEnum(){_classCallCheck(this,IfcMotorConnectionTypeEnum);});IfcMotorConnectionTypeEnum.BELTDRIVE={type:3,value:"BELTDRIVE"};IfcMotorConnectionTypeEnum.COUPLING={type:3,value:"COUPLING"};IfcMotorConnectionTypeEnum.DIRECTDRIVE={type:3,value:"DIRECTDRIVE"};IfcMotorConnectionTypeEnum.USERDEFINED={type:3,value:"USERDEFINED"};IfcMotorConnectionTypeEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC4X32.IfcMotorConnectionTypeEnum=IfcMotorConnectionTypeEnum;var IfcNavigationElementTypeEnum=/*#__PURE__*/_createClass(function IfcNavigationElementTypeEnum(){_classCallCheck(this,IfcNavigationElementTypeEnum);});IfcNavigationElementTypeEnum.BEACON={type:3,value:"BEACON"};IfcNavigationElementTypeEnum.BUOY={type:3,value:"BUOY"};IfcNavigationElementTypeEnum.USERDEFINED={type:3,value:"USERDEFINED"};IfcNavigationElementTypeEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC4X32.IfcNavigationElementTypeEnum=IfcNavigationElementTypeEnum;var IfcObjectTypeEnum=/*#__PURE__*/_createClass(function IfcObjectTypeEnum(){_classCallCheck(this,IfcObjectTypeEnum);});IfcObjectTypeEnum.ACTOR={type:3,value:"ACTOR"};IfcObjectTypeEnum.CONTROL={type:3,value:"CONTROL"};IfcObjectTypeEnum.GROUP={type:3,value:"GROUP"};IfcObjectTypeEnum.PROCESS={type:3,value:"PROCESS"};IfcObjectTypeEnum.PRODUCT={type:3,value:"PRODUCT"};IfcObjectTypeEnum.PROJECT={type:3,value:"PROJECT"};IfcObjectTypeEnum.RESOURCE={type:3,value:"RESOURCE"};IfcObjectTypeEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC4X32.IfcObjectTypeEnum=IfcObjectTypeEnum;var IfcObjectiveEnum=/*#__PURE__*/_createClass(function IfcObjectiveEnum(){_classCallCheck(this,IfcObjectiveEnum);});IfcObjectiveEnum.CODECOMPLIANCE={type:3,value:"CODECOMPLIANCE"};IfcObjectiveEnum.CODEWAIVER={type:3,value:"CODEWAIVER"};IfcObjectiveEnum.DESIGNINTENT={type:3,value:"DESIGNINTENT"};IfcObjectiveEnum.EXTERNAL={type:3,value:"EXTERNAL"};IfcObjectiveEnum.HEALTHANDSAFETY={type:3,value:"HEALTHANDSAFETY"};IfcObjectiveEnum.MERGECONFLICT={type:3,value:"MERGECONFLICT"};IfcObjectiveEnum.MODELVIEW={type:3,value:"MODELVIEW"};IfcObjectiveEnum.PARAMETER={type:3,value:"PARAMETER"};IfcObjectiveEnum.REQUIREMENT={type:3,value:"REQUIREMENT"};IfcObjectiveEnum.SPECIFICATION={type:3,value:"SPECIFICATION"};IfcObjectiveEnum.TRIGGERCONDITION={type:3,value:"TRIGGERCONDITION"};IfcObjectiveEnum.USERDEFINED={type:3,value:"USERDEFINED"};IfcObjectiveEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC4X32.IfcObjectiveEnum=IfcObjectiveEnum;var IfcOccupantTypeEnum=/*#__PURE__*/_createClass(function IfcOccupantTypeEnum(){_classCallCheck(this,IfcOccupantTypeEnum);});IfcOccupantTypeEnum.ASSIGNEE={type:3,value:"ASSIGNEE"};IfcOccupantTypeEnum.ASSIGNOR={type:3,value:"ASSIGNOR"};IfcOccupantTypeEnum.LESSEE={type:3,value:"LESSEE"};IfcOccupantTypeEnum.LESSOR={type:3,value:"LESSOR"};IfcOccupantTypeEnum.LETTINGAGENT={type:3,value:"LETTINGAGENT"};IfcOccupantTypeEnum.OWNER={type:3,value:"OWNER"};IfcOccupantTypeEnum.TENANT={type:3,value:"TENANT"};IfcOccupantTypeEnum.USERDEFINED={type:3,value:"USERDEFINED"};IfcOccupantTypeEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC4X32.IfcOccupantTypeEnum=IfcOccupantTypeEnum;var IfcOpeningElementTypeEnum=/*#__PURE__*/_createClass(function IfcOpeningElementTypeEnum(){_classCallCheck(this,IfcOpeningElementTypeEnum);});IfcOpeningElementTypeEnum.OPENING={type:3,value:"OPENING"};IfcOpeningElementTypeEnum.RECESS={type:3,value:"RECESS"};IfcOpeningElementTypeEnum.USERDEFINED={type:3,value:"USERDEFINED"};IfcOpeningElementTypeEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC4X32.IfcOpeningElementTypeEnum=IfcOpeningElementTypeEnum;var IfcOutletTypeEnum=/*#__PURE__*/_createClass(function IfcOutletTypeEnum(){_classCallCheck(this,IfcOutletTypeEnum);});IfcOutletTypeEnum.AUDIOVISUALOUTLET={type:3,value:"AUDIOVISUALOUTLET"};IfcOutletTypeEnum.COMMUNICATIONSOUTLET={type:3,value:"COMMUNICATIONSOUTLET"};IfcOutletTypeEnum.DATAOUTLET={type:3,value:"DATAOUTLET"};IfcOutletTypeEnum.POWEROUTLET={type:3,value:"POWEROUTLET"};IfcOutletTypeEnum.TELEPHONEOUTLET={type:3,value:"TELEPHONEOUTLET"};IfcOutletTypeEnum.USERDEFINED={type:3,value:"USERDEFINED"};IfcOutletTypeEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC4X32.IfcOutletTypeEnum=IfcOutletTypeEnum;var IfcPavementTypeEnum=/*#__PURE__*/_createClass(function IfcPavementTypeEnum(){_classCallCheck(this,IfcPavementTypeEnum);});IfcPavementTypeEnum.FLEXIBLE={type:3,value:"FLEXIBLE"};IfcPavementTypeEnum.RIGID={type:3,value:"RIGID"};IfcPavementTypeEnum.USERDEFINED={type:3,value:"USERDEFINED"};IfcPavementTypeEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC4X32.IfcPavementTypeEnum=IfcPavementTypeEnum;var IfcPerformanceHistoryTypeEnum=/*#__PURE__*/_createClass(function IfcPerformanceHistoryTypeEnum(){_classCallCheck(this,IfcPerformanceHistoryTypeEnum);});IfcPerformanceHistoryTypeEnum.USERDEFINED={type:3,value:"USERDEFINED"};IfcPerformanceHistoryTypeEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC4X32.IfcPerformanceHistoryTypeEnum=IfcPerformanceHistoryTypeEnum;var IfcPermeableCoveringOperationEnum=/*#__PURE__*/_createClass(function IfcPermeableCoveringOperationEnum(){_classCallCheck(this,IfcPermeableCoveringOperationEnum);});IfcPermeableCoveringOperationEnum.GRILL={type:3,value:"GRILL"};IfcPermeableCoveringOperationEnum.LOUVER={type:3,value:"LOUVER"};IfcPermeableCoveringOperationEnum.SCREEN={type:3,value:"SCREEN"};IfcPermeableCoveringOperationEnum.USERDEFINED={type:3,value:"USERDEFINED"};IfcPermeableCoveringOperationEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC4X32.IfcPermeableCoveringOperationEnum=IfcPermeableCoveringOperationEnum;var IfcPermitTypeEnum=/*#__PURE__*/_createClass(function IfcPermitTypeEnum(){_classCallCheck(this,IfcPermitTypeEnum);});IfcPermitTypeEnum.ACCESS={type:3,value:"ACCESS"};IfcPermitTypeEnum.BUILDING={type:3,value:"BUILDING"};IfcPermitTypeEnum.WORK={type:3,value:"WORK"};IfcPermitTypeEnum.USERDEFINED={type:3,value:"USERDEFINED"};IfcPermitTypeEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC4X32.IfcPermitTypeEnum=IfcPermitTypeEnum;var IfcPhysicalOrVirtualEnum=/*#__PURE__*/_createClass(function IfcPhysicalOrVirtualEnum(){_classCallCheck(this,IfcPhysicalOrVirtualEnum);});IfcPhysicalOrVirtualEnum.PHYSICAL={type:3,value:"PHYSICAL"};IfcPhysicalOrVirtualEnum.VIRTUAL={type:3,value:"VIRTUAL"};IfcPhysicalOrVirtualEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC4X32.IfcPhysicalOrVirtualEnum=IfcPhysicalOrVirtualEnum;var IfcPileConstructionEnum=/*#__PURE__*/_createClass(function IfcPileConstructionEnum(){_classCallCheck(this,IfcPileConstructionEnum);});IfcPileConstructionEnum.CAST_IN_PLACE={type:3,value:"CAST_IN_PLACE"};IfcPileConstructionEnum.COMPOSITE={type:3,value:"COMPOSITE"};IfcPileConstructionEnum.PRECAST_CONCRETE={type:3,value:"PRECAST_CONCRETE"};IfcPileConstructionEnum.PREFAB_STEEL={type:3,value:"PREFAB_STEEL"};IfcPileConstructionEnum.USERDEFINED={type:3,value:"USERDEFINED"};IfcPileConstructionEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC4X32.IfcPileConstructionEnum=IfcPileConstructionEnum;var IfcPileTypeEnum=/*#__PURE__*/_createClass(function IfcPileTypeEnum(){_classCallCheck(this,IfcPileTypeEnum);});IfcPileTypeEnum.BORED={type:3,value:"BORED"};IfcPileTypeEnum.COHESION={type:3,value:"COHESION"};IfcPileTypeEnum.DRIVEN={type:3,value:"DRIVEN"};IfcPileTypeEnum.FRICTION={type:3,value:"FRICTION"};IfcPileTypeEnum.JETGROUTING={type:3,value:"JETGROUTING"};IfcPileTypeEnum.SUPPORT={type:3,value:"SUPPORT"};IfcPileTypeEnum.USERDEFINED={type:3,value:"USERDEFINED"};IfcPileTypeEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC4X32.IfcPileTypeEnum=IfcPileTypeEnum;var IfcPipeFittingTypeEnum=/*#__PURE__*/_createClass(function IfcPipeFittingTypeEnum(){_classCallCheck(this,IfcPipeFittingTypeEnum);});IfcPipeFittingTypeEnum.BEND={type:3,value:"BEND"};IfcPipeFittingTypeEnum.CONNECTOR={type:3,value:"CONNECTOR"};IfcPipeFittingTypeEnum.ENTRY={type:3,value:"ENTRY"};IfcPipeFittingTypeEnum.EXIT={type:3,value:"EXIT"};IfcPipeFittingTypeEnum.JUNCTION={type:3,value:"JUNCTION"};IfcPipeFittingTypeEnum.OBSTRUCTION={type:3,value:"OBSTRUCTION"};IfcPipeFittingTypeEnum.TRANSITION={type:3,value:"TRANSITION"};IfcPipeFittingTypeEnum.USERDEFINED={type:3,value:"USERDEFINED"};IfcPipeFittingTypeEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC4X32.IfcPipeFittingTypeEnum=IfcPipeFittingTypeEnum;var IfcPipeSegmentTypeEnum=/*#__PURE__*/_createClass(function IfcPipeSegmentTypeEnum(){_classCallCheck(this,IfcPipeSegmentTypeEnum);});IfcPipeSegmentTypeEnum.CULVERT={type:3,value:"CULVERT"};IfcPipeSegmentTypeEnum.FLEXIBLESEGMENT={type:3,value:"FLEXIBLESEGMENT"};IfcPipeSegmentTypeEnum.GUTTER={type:3,value:"GUTTER"};IfcPipeSegmentTypeEnum.RIGIDSEGMENT={type:3,value:"RIGIDSEGMENT"};IfcPipeSegmentTypeEnum.SPOOL={type:3,value:"SPOOL"};IfcPipeSegmentTypeEnum.USERDEFINED={type:3,value:"USERDEFINED"};IfcPipeSegmentTypeEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC4X32.IfcPipeSegmentTypeEnum=IfcPipeSegmentTypeEnum;var IfcPlateTypeEnum=/*#__PURE__*/_createClass(function IfcPlateTypeEnum(){_classCallCheck(this,IfcPlateTypeEnum);});IfcPlateTypeEnum.BASE_PLATE={type:3,value:"BASE_PLATE"};IfcPlateTypeEnum.COVER_PLATE={type:3,value:"COVER_PLATE"};IfcPlateTypeEnum.CURTAIN_PANEL={type:3,value:"CURTAIN_PANEL"};IfcPlateTypeEnum.FLANGE_PLATE={type:3,value:"FLANGE_PLATE"};IfcPlateTypeEnum.GUSSET_PLATE={type:3,value:"GUSSET_PLATE"};IfcPlateTypeEnum.SHEET={type:3,value:"SHEET"};IfcPlateTypeEnum.SPLICE_PLATE={type:3,value:"SPLICE_PLATE"};IfcPlateTypeEnum.STIFFENER_PLATE={type:3,value:"STIFFENER_PLATE"};IfcPlateTypeEnum.WEB_PLATE={type:3,value:"WEB_PLATE"};IfcPlateTypeEnum.USERDEFINED={type:3,value:"USERDEFINED"};IfcPlateTypeEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC4X32.IfcPlateTypeEnum=IfcPlateTypeEnum;var IfcPreferredSurfaceCurveRepresentation=/*#__PURE__*/_createClass(function IfcPreferredSurfaceCurveRepresentation(){_classCallCheck(this,IfcPreferredSurfaceCurveRepresentation);});IfcPreferredSurfaceCurveRepresentation.CURVE3D={type:3,value:"CURVE3D"};IfcPreferredSurfaceCurveRepresentation.PCURVE_S1={type:3,value:"PCURVE_S1"};IfcPreferredSurfaceCurveRepresentation.PCURVE_S2={type:3,value:"PCURVE_S2"};IFC4X32.IfcPreferredSurfaceCurveRepresentation=IfcPreferredSurfaceCurveRepresentation;var IfcProcedureTypeEnum=/*#__PURE__*/_createClass(function IfcProcedureTypeEnum(){_classCallCheck(this,IfcProcedureTypeEnum);});IfcProcedureTypeEnum.ADVICE_CAUTION={type:3,value:"ADVICE_CAUTION"};IfcProcedureTypeEnum.ADVICE_NOTE={type:3,value:"ADVICE_NOTE"};IfcProcedureTypeEnum.ADVICE_WARNING={type:3,value:"ADVICE_WARNING"};IfcProcedureTypeEnum.CALIBRATION={type:3,value:"CALIBRATION"};IfcProcedureTypeEnum.DIAGNOSTIC={type:3,value:"DIAGNOSTIC"};IfcProcedureTypeEnum.SHUTDOWN={type:3,value:"SHUTDOWN"};IfcProcedureTypeEnum.STARTUP={type:3,value:"STARTUP"};IfcProcedureTypeEnum.USERDEFINED={type:3,value:"USERDEFINED"};IfcProcedureTypeEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC4X32.IfcProcedureTypeEnum=IfcProcedureTypeEnum;var IfcProfileTypeEnum=/*#__PURE__*/_createClass(function IfcProfileTypeEnum(){_classCallCheck(this,IfcProfileTypeEnum);});IfcProfileTypeEnum.AREA={type:3,value:"AREA"};IfcProfileTypeEnum.CURVE={type:3,value:"CURVE"};IFC4X32.IfcProfileTypeEnum=IfcProfileTypeEnum;var IfcProjectOrderTypeEnum=/*#__PURE__*/_createClass(function IfcProjectOrderTypeEnum(){_classCallCheck(this,IfcProjectOrderTypeEnum);});IfcProjectOrderTypeEnum.CHANGEORDER={type:3,value:"CHANGEORDER"};IfcProjectOrderTypeEnum.MAINTENANCEWORKORDER={type:3,value:"MAINTENANCEWORKORDER"};IfcProjectOrderTypeEnum.MOVEORDER={type:3,value:"MOVEORDER"};IfcProjectOrderTypeEnum.PURCHASEORDER={type:3,value:"PURCHASEORDER"};IfcProjectOrderTypeEnum.WORKORDER={type:3,value:"WORKORDER"};IfcProjectOrderTypeEnum.USERDEFINED={type:3,value:"USERDEFINED"};IfcProjectOrderTypeEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC4X32.IfcProjectOrderTypeEnum=IfcProjectOrderTypeEnum;var IfcProjectedOrTrueLengthEnum=/*#__PURE__*/_createClass(function IfcProjectedOrTrueLengthEnum(){_classCallCheck(this,IfcProjectedOrTrueLengthEnum);});IfcProjectedOrTrueLengthEnum.PROJECTED_LENGTH={type:3,value:"PROJECTED_LENGTH"};IfcProjectedOrTrueLengthEnum.TRUE_LENGTH={type:3,value:"TRUE_LENGTH"};IFC4X32.IfcProjectedOrTrueLengthEnum=IfcProjectedOrTrueLengthEnum;var IfcProjectionElementTypeEnum=/*#__PURE__*/_createClass(function IfcProjectionElementTypeEnum(){_classCallCheck(this,IfcProjectionElementTypeEnum);});IfcProjectionElementTypeEnum.BLISTER={type:3,value:"BLISTER"};IfcProjectionElementTypeEnum.DEVIATOR={type:3,value:"DEVIATOR"};IfcProjectionElementTypeEnum.USERDEFINED={type:3,value:"USERDEFINED"};IfcProjectionElementTypeEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC4X32.IfcProjectionElementTypeEnum=IfcProjectionElementTypeEnum;var IfcPropertySetTemplateTypeEnum=/*#__PURE__*/_createClass(function IfcPropertySetTemplateTypeEnum(){_classCallCheck(this,IfcPropertySetTemplateTypeEnum);});IfcPropertySetTemplateTypeEnum.PSET_MATERIALDRIVEN={type:3,value:"PSET_MATERIALDRIVEN"};IfcPropertySetTemplateTypeEnum.PSET_OCCURRENCEDRIVEN={type:3,value:"PSET_OCCURRENCEDRIVEN"};IfcPropertySetTemplateTypeEnum.PSET_PERFORMANCEDRIVEN={type:3,value:"PSET_PERFORMANCEDRIVEN"};IfcPropertySetTemplateTypeEnum.PSET_PROFILEDRIVEN={type:3,value:"PSET_PROFILEDRIVEN"};IfcPropertySetTemplateTypeEnum.PSET_TYPEDRIVENONLY={type:3,value:"PSET_TYPEDRIVENONLY"};IfcPropertySetTemplateTypeEnum.PSET_TYPEDRIVENOVERRIDE={type:3,value:"PSET_TYPEDRIVENOVERRIDE"};IfcPropertySetTemplateTypeEnum.QTO_OCCURRENCEDRIVEN={type:3,value:"QTO_OCCURRENCEDRIVEN"};IfcPropertySetTemplateTypeEnum.QTO_TYPEDRIVENONLY={type:3,value:"QTO_TYPEDRIVENONLY"};IfcPropertySetTemplateTypeEnum.QTO_TYPEDRIVENOVERRIDE={type:3,value:"QTO_TYPEDRIVENOVERRIDE"};IfcPropertySetTemplateTypeEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC4X32.IfcPropertySetTemplateTypeEnum=IfcPropertySetTemplateTypeEnum;var IfcProtectiveDeviceTrippingUnitTypeEnum=/*#__PURE__*/_createClass(function IfcProtectiveDeviceTrippingUnitTypeEnum(){_classCallCheck(this,IfcProtectiveDeviceTrippingUnitTypeEnum);});IfcProtectiveDeviceTrippingUnitTypeEnum.ELECTROMAGNETIC={type:3,value:"ELECTROMAGNETIC"};IfcProtectiveDeviceTrippingUnitTypeEnum.ELECTRONIC={type:3,value:"ELECTRONIC"};IfcProtectiveDeviceTrippingUnitTypeEnum.RESIDUALCURRENT={type:3,value:"RESIDUALCURRENT"};IfcProtectiveDeviceTrippingUnitTypeEnum.THERMAL={type:3,value:"THERMAL"};IfcProtectiveDeviceTrippingUnitTypeEnum.USERDEFINED={type:3,value:"USERDEFINED"};IfcProtectiveDeviceTrippingUnitTypeEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC4X32.IfcProtectiveDeviceTrippingUnitTypeEnum=IfcProtectiveDeviceTrippingUnitTypeEnum;var IfcProtectiveDeviceTypeEnum=/*#__PURE__*/_createClass(function IfcProtectiveDeviceTypeEnum(){_classCallCheck(this,IfcProtectiveDeviceTypeEnum);});IfcProtectiveDeviceTypeEnum.ANTI_ARCING_DEVICE={type:3,value:"ANTI_ARCING_DEVICE"};IfcProtectiveDeviceTypeEnum.CIRCUITBREAKER={type:3,value:"CIRCUITBREAKER"};IfcProtectiveDeviceTypeEnum.EARTHINGSWITCH={type:3,value:"EARTHINGSWITCH"};IfcProtectiveDeviceTypeEnum.EARTHLEAKAGECIRCUITBREAKER={type:3,value:"EARTHLEAKAGECIRCUITBREAKER"};IfcProtectiveDeviceTypeEnum.FUSEDISCONNECTOR={type:3,value:"FUSEDISCONNECTOR"};IfcProtectiveDeviceTypeEnum.RESIDUALCURRENTCIRCUITBREAKER={type:3,value:"RESIDUALCURRENTCIRCUITBREAKER"};IfcProtectiveDeviceTypeEnum.RESIDUALCURRENTSWITCH={type:3,value:"RESIDUALCURRENTSWITCH"};IfcProtectiveDeviceTypeEnum.SPARKGAP={type:3,value:"SPARKGAP"};IfcProtectiveDeviceTypeEnum.VARISTOR={type:3,value:"VARISTOR"};IfcProtectiveDeviceTypeEnum.VOLTAGELIMITER={type:3,value:"VOLTAGELIMITER"};IfcProtectiveDeviceTypeEnum.USERDEFINED={type:3,value:"USERDEFINED"};IfcProtectiveDeviceTypeEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC4X32.IfcProtectiveDeviceTypeEnum=IfcProtectiveDeviceTypeEnum;var IfcPumpTypeEnum=/*#__PURE__*/_createClass(function IfcPumpTypeEnum(){_classCallCheck(this,IfcPumpTypeEnum);});IfcPumpTypeEnum.CIRCULATOR={type:3,value:"CIRCULATOR"};IfcPumpTypeEnum.ENDSUCTION={type:3,value:"ENDSUCTION"};IfcPumpTypeEnum.SPLITCASE={type:3,value:"SPLITCASE"};IfcPumpTypeEnum.SUBMERSIBLEPUMP={type:3,value:"SUBMERSIBLEPUMP"};IfcPumpTypeEnum.SUMPPUMP={type:3,value:"SUMPPUMP"};IfcPumpTypeEnum.VERTICALINLINE={type:3,value:"VERTICALINLINE"};IfcPumpTypeEnum.VERTICALTURBINE={type:3,value:"VERTICALTURBINE"};IfcPumpTypeEnum.USERDEFINED={type:3,value:"USERDEFINED"};IfcPumpTypeEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC4X32.IfcPumpTypeEnum=IfcPumpTypeEnum;var IfcRailTypeEnum=/*#__PURE__*/_createClass(function IfcRailTypeEnum(){_classCallCheck(this,IfcRailTypeEnum);});IfcRailTypeEnum.BLADE={type:3,value:"BLADE"};IfcRailTypeEnum.CHECKRAIL={type:3,value:"CHECKRAIL"};IfcRailTypeEnum.GUARDRAIL={type:3,value:"GUARDRAIL"};IfcRailTypeEnum.RACKRAIL={type:3,value:"RACKRAIL"};IfcRailTypeEnum.RAIL={type:3,value:"RAIL"};IfcRailTypeEnum.STOCKRAIL={type:3,value:"STOCKRAIL"};IfcRailTypeEnum.USERDEFINED={type:3,value:"USERDEFINED"};IfcRailTypeEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC4X32.IfcRailTypeEnum=IfcRailTypeEnum;var IfcRailingTypeEnum=/*#__PURE__*/_createClass(function IfcRailingTypeEnum(){_classCallCheck(this,IfcRailingTypeEnum);});IfcRailingTypeEnum.BALUSTRADE={type:3,value:"BALUSTRADE"};IfcRailingTypeEnum.FENCE={type:3,value:"FENCE"};IfcRailingTypeEnum.GUARDRAIL={type:3,value:"GUARDRAIL"};IfcRailingTypeEnum.HANDRAIL={type:3,value:"HANDRAIL"};IfcRailingTypeEnum.USERDEFINED={type:3,value:"USERDEFINED"};IfcRailingTypeEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC4X32.IfcRailingTypeEnum=IfcRailingTypeEnum;var IfcRailwayPartTypeEnum=/*#__PURE__*/_createClass(function IfcRailwayPartTypeEnum(){_classCallCheck(this,IfcRailwayPartTypeEnum);});IfcRailwayPartTypeEnum.DILATATIONSUPERSTRUCTURE={type:3,value:"DILATATIONSUPERSTRUCTURE"};IfcRailwayPartTypeEnum.LINESIDESTRUCTURE={type:3,value:"LINESIDESTRUCTURE"};IfcRailwayPartTypeEnum.LINESIDESTRUCTUREPART={type:3,value:"LINESIDESTRUCTUREPART"};IfcRailwayPartTypeEnum.PLAINTRACKSUPERSTRUCTURE={type:3,value:"PLAINTRACKSUPERSTRUCTURE"};IfcRailwayPartTypeEnum.SUPERSTRUCTURE={type:3,value:"SUPERSTRUCTURE"};IfcRailwayPartTypeEnum.TRACKSTRUCTURE={type:3,value:"TRACKSTRUCTURE"};IfcRailwayPartTypeEnum.TRACKSTRUCTUREPART={type:3,value:"TRACKSTRUCTUREPART"};IfcRailwayPartTypeEnum.TURNOUTSUPERSTRUCTURE={type:3,value:"TURNOUTSUPERSTRUCTURE"};IfcRailwayPartTypeEnum.USERDEFINED={type:3,value:"USERDEFINED"};IfcRailwayPartTypeEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC4X32.IfcRailwayPartTypeEnum=IfcRailwayPartTypeEnum;var IfcRailwayTypeEnum=/*#__PURE__*/_createClass(function IfcRailwayTypeEnum(){_classCallCheck(this,IfcRailwayTypeEnum);});IfcRailwayTypeEnum.USERDEFINED={type:3,value:"USERDEFINED"};IfcRailwayTypeEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC4X32.IfcRailwayTypeEnum=IfcRailwayTypeEnum;var IfcRampFlightTypeEnum=/*#__PURE__*/_createClass(function IfcRampFlightTypeEnum(){_classCallCheck(this,IfcRampFlightTypeEnum);});IfcRampFlightTypeEnum.SPIRAL={type:3,value:"SPIRAL"};IfcRampFlightTypeEnum.STRAIGHT={type:3,value:"STRAIGHT"};IfcRampFlightTypeEnum.USERDEFINED={type:3,value:"USERDEFINED"};IfcRampFlightTypeEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC4X32.IfcRampFlightTypeEnum=IfcRampFlightTypeEnum;var IfcRampTypeEnum=/*#__PURE__*/_createClass(function IfcRampTypeEnum(){_classCallCheck(this,IfcRampTypeEnum);});IfcRampTypeEnum.HALF_TURN_RAMP={type:3,value:"HALF_TURN_RAMP"};IfcRampTypeEnum.QUARTER_TURN_RAMP={type:3,value:"QUARTER_TURN_RAMP"};IfcRampTypeEnum.SPIRAL_RAMP={type:3,value:"SPIRAL_RAMP"};IfcRampTypeEnum.STRAIGHT_RUN_RAMP={type:3,value:"STRAIGHT_RUN_RAMP"};IfcRampTypeEnum.TWO_QUARTER_TURN_RAMP={type:3,value:"TWO_QUARTER_TURN_RAMP"};IfcRampTypeEnum.TWO_STRAIGHT_RUN_RAMP={type:3,value:"TWO_STRAIGHT_RUN_RAMP"};IfcRampTypeEnum.USERDEFINED={type:3,value:"USERDEFINED"};IfcRampTypeEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC4X32.IfcRampTypeEnum=IfcRampTypeEnum;var IfcRecurrenceTypeEnum=/*#__PURE__*/_createClass(function IfcRecurrenceTypeEnum(){_classCallCheck(this,IfcRecurrenceTypeEnum);});IfcRecurrenceTypeEnum.BY_DAY_COUNT={type:3,value:"BY_DAY_COUNT"};IfcRecurrenceTypeEnum.BY_WEEKDAY_COUNT={type:3,value:"BY_WEEKDAY_COUNT"};IfcRecurrenceTypeEnum.DAILY={type:3,value:"DAILY"};IfcRecurrenceTypeEnum.MONTHLY_BY_DAY_OF_MONTH={type:3,value:"MONTHLY_BY_DAY_OF_MONTH"};IfcRecurrenceTypeEnum.MONTHLY_BY_POSITION={type:3,value:"MONTHLY_BY_POSITION"};IfcRecurrenceTypeEnum.WEEKLY={type:3,value:"WEEKLY"};IfcRecurrenceTypeEnum.YEARLY_BY_DAY_OF_MONTH={type:3,value:"YEARLY_BY_DAY_OF_MONTH"};IfcRecurrenceTypeEnum.YEARLY_BY_POSITION={type:3,value:"YEARLY_BY_POSITION"};IFC4X32.IfcRecurrenceTypeEnum=IfcRecurrenceTypeEnum;var IfcReferentTypeEnum=/*#__PURE__*/_createClass(function IfcReferentTypeEnum(){_classCallCheck(this,IfcReferentTypeEnum);});IfcReferentTypeEnum.BOUNDARY={type:3,value:"BOUNDARY"};IfcReferentTypeEnum.INTERSECTION={type:3,value:"INTERSECTION"};IfcReferentTypeEnum.KILOPOINT={type:3,value:"KILOPOINT"};IfcReferentTypeEnum.LANDMARK={type:3,value:"LANDMARK"};IfcReferentTypeEnum.MILEPOINT={type:3,value:"MILEPOINT"};IfcReferentTypeEnum.POSITION={type:3,value:"POSITION"};IfcReferentTypeEnum.REFERENCEMARKER={type:3,value:"REFERENCEMARKER"};IfcReferentTypeEnum.STATION={type:3,value:"STATION"};IfcReferentTypeEnum.USERDEFINED={type:3,value:"USERDEFINED"};IfcReferentTypeEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC4X32.IfcReferentTypeEnum=IfcReferentTypeEnum;var IfcReflectanceMethodEnum=/*#__PURE__*/_createClass(function IfcReflectanceMethodEnum(){_classCallCheck(this,IfcReflectanceMethodEnum);});IfcReflectanceMethodEnum.BLINN={type:3,value:"BLINN"};IfcReflectanceMethodEnum.FLAT={type:3,value:"FLAT"};IfcReflectanceMethodEnum.GLASS={type:3,value:"GLASS"};IfcReflectanceMethodEnum.MATT={type:3,value:"MATT"};IfcReflectanceMethodEnum.METAL={type:3,value:"METAL"};IfcReflectanceMethodEnum.MIRROR={type:3,value:"MIRROR"};IfcReflectanceMethodEnum.PHONG={type:3,value:"PHONG"};IfcReflectanceMethodEnum.PHYSICAL={type:3,value:"PHYSICAL"};IfcReflectanceMethodEnum.PLASTIC={type:3,value:"PLASTIC"};IfcReflectanceMethodEnum.STRAUSS={type:3,value:"STRAUSS"};IfcReflectanceMethodEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC4X32.IfcReflectanceMethodEnum=IfcReflectanceMethodEnum;var IfcReinforcedSoilTypeEnum=/*#__PURE__*/_createClass(function IfcReinforcedSoilTypeEnum(){_classCallCheck(this,IfcReinforcedSoilTypeEnum);});IfcReinforcedSoilTypeEnum.DYNAMICALLYCOMPACTED={type:3,value:"DYNAMICALLYCOMPACTED"};IfcReinforcedSoilTypeEnum.GROUTED={type:3,value:"GROUTED"};IfcReinforcedSoilTypeEnum.REPLACED={type:3,value:"REPLACED"};IfcReinforcedSoilTypeEnum.ROLLERCOMPACTED={type:3,value:"ROLLERCOMPACTED"};IfcReinforcedSoilTypeEnum.SURCHARGEPRELOADED={type:3,value:"SURCHARGEPRELOADED"};IfcReinforcedSoilTypeEnum.VERTICALLYDRAINED={type:3,value:"VERTICALLYDRAINED"};IfcReinforcedSoilTypeEnum.USERDEFINED={type:3,value:"USERDEFINED"};IfcReinforcedSoilTypeEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC4X32.IfcReinforcedSoilTypeEnum=IfcReinforcedSoilTypeEnum;var IfcReinforcingBarRoleEnum=/*#__PURE__*/_createClass(function IfcReinforcingBarRoleEnum(){_classCallCheck(this,IfcReinforcingBarRoleEnum);});IfcReinforcingBarRoleEnum.ANCHORING={type:3,value:"ANCHORING"};IfcReinforcingBarRoleEnum.EDGE={type:3,value:"EDGE"};IfcReinforcingBarRoleEnum.LIGATURE={type:3,value:"LIGATURE"};IfcReinforcingBarRoleEnum.MAIN={type:3,value:"MAIN"};IfcReinforcingBarRoleEnum.PUNCHING={type:3,value:"PUNCHING"};IfcReinforcingBarRoleEnum.RING={type:3,value:"RING"};IfcReinforcingBarRoleEnum.SHEAR={type:3,value:"SHEAR"};IfcReinforcingBarRoleEnum.STUD={type:3,value:"STUD"};IfcReinforcingBarRoleEnum.USERDEFINED={type:3,value:"USERDEFINED"};IfcReinforcingBarRoleEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC4X32.IfcReinforcingBarRoleEnum=IfcReinforcingBarRoleEnum;var IfcReinforcingBarSurfaceEnum=/*#__PURE__*/_createClass(function IfcReinforcingBarSurfaceEnum(){_classCallCheck(this,IfcReinforcingBarSurfaceEnum);});IfcReinforcingBarSurfaceEnum.PLAIN={type:3,value:"PLAIN"};IfcReinforcingBarSurfaceEnum.TEXTURED={type:3,value:"TEXTURED"};IFC4X32.IfcReinforcingBarSurfaceEnum=IfcReinforcingBarSurfaceEnum;var IfcReinforcingBarTypeEnum=/*#__PURE__*/_createClass(function IfcReinforcingBarTypeEnum(){_classCallCheck(this,IfcReinforcingBarTypeEnum);});IfcReinforcingBarTypeEnum.ANCHORING={type:3,value:"ANCHORING"};IfcReinforcingBarTypeEnum.EDGE={type:3,value:"EDGE"};IfcReinforcingBarTypeEnum.LIGATURE={type:3,value:"LIGATURE"};IfcReinforcingBarTypeEnum.MAIN={type:3,value:"MAIN"};IfcReinforcingBarTypeEnum.PUNCHING={type:3,value:"PUNCHING"};IfcReinforcingBarTypeEnum.RING={type:3,value:"RING"};IfcReinforcingBarTypeEnum.SHEAR={type:3,value:"SHEAR"};IfcReinforcingBarTypeEnum.SPACEBAR={type:3,value:"SPACEBAR"};IfcReinforcingBarTypeEnum.STUD={type:3,value:"STUD"};IfcReinforcingBarTypeEnum.USERDEFINED={type:3,value:"USERDEFINED"};IfcReinforcingBarTypeEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC4X32.IfcReinforcingBarTypeEnum=IfcReinforcingBarTypeEnum;var IfcReinforcingMeshTypeEnum=/*#__PURE__*/_createClass(function IfcReinforcingMeshTypeEnum(){_classCallCheck(this,IfcReinforcingMeshTypeEnum);});IfcReinforcingMeshTypeEnum.USERDEFINED={type:3,value:"USERDEFINED"};IfcReinforcingMeshTypeEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC4X32.IfcReinforcingMeshTypeEnum=IfcReinforcingMeshTypeEnum;var IfcRoadPartTypeEnum=/*#__PURE__*/_createClass(function IfcRoadPartTypeEnum(){_classCallCheck(this,IfcRoadPartTypeEnum);});IfcRoadPartTypeEnum.BICYCLECROSSING={type:3,value:"BICYCLECROSSING"};IfcRoadPartTypeEnum.BUS_STOP={type:3,value:"BUS_STOP"};IfcRoadPartTypeEnum.CARRIAGEWAY={type:3,value:"CARRIAGEWAY"};IfcRoadPartTypeEnum.CENTRALISLAND={type:3,value:"CENTRALISLAND"};IfcRoadPartTypeEnum.CENTRALRESERVE={type:3,value:"CENTRALRESERVE"};IfcRoadPartTypeEnum.HARDSHOULDER={type:3,value:"HARDSHOULDER"};IfcRoadPartTypeEnum.INTERSECTION={type:3,value:"INTERSECTION"};IfcRoadPartTypeEnum.LAYBY={type:3,value:"LAYBY"};IfcRoadPartTypeEnum.PARKINGBAY={type:3,value:"PARKINGBAY"};IfcRoadPartTypeEnum.PASSINGBAY={type:3,value:"PASSINGBAY"};IfcRoadPartTypeEnum.PEDESTRIAN_CROSSING={type:3,value:"PEDESTRIAN_CROSSING"};IfcRoadPartTypeEnum.RAILWAYCROSSING={type:3,value:"RAILWAYCROSSING"};IfcRoadPartTypeEnum.REFUGEISLAND={type:3,value:"REFUGEISLAND"};IfcRoadPartTypeEnum.ROADSEGMENT={type:3,value:"ROADSEGMENT"};IfcRoadPartTypeEnum.ROADSIDE={type:3,value:"ROADSIDE"};IfcRoadPartTypeEnum.ROADSIDEPART={type:3,value:"ROADSIDEPART"};IfcRoadPartTypeEnum.ROADWAYPLATEAU={type:3,value:"ROADWAYPLATEAU"};IfcRoadPartTypeEnum.ROUNDABOUT={type:3,value:"ROUNDABOUT"};IfcRoadPartTypeEnum.SHOULDER={type:3,value:"SHOULDER"};IfcRoadPartTypeEnum.SIDEWALK={type:3,value:"SIDEWALK"};IfcRoadPartTypeEnum.SOFTSHOULDER={type:3,value:"SOFTSHOULDER"};IfcRoadPartTypeEnum.TOLLPLAZA={type:3,value:"TOLLPLAZA"};IfcRoadPartTypeEnum.TRAFFICISLAND={type:3,value:"TRAFFICISLAND"};IfcRoadPartTypeEnum.TRAFFICLANE={type:3,value:"TRAFFICLANE"};IfcRoadPartTypeEnum.USERDEFINED={type:3,value:"USERDEFINED"};IfcRoadPartTypeEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC4X32.IfcRoadPartTypeEnum=IfcRoadPartTypeEnum;var IfcRoadTypeEnum=/*#__PURE__*/_createClass(function IfcRoadTypeEnum(){_classCallCheck(this,IfcRoadTypeEnum);});IfcRoadTypeEnum.USERDEFINED={type:3,value:"USERDEFINED"};IfcRoadTypeEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC4X32.IfcRoadTypeEnum=IfcRoadTypeEnum;var IfcRoleEnum=/*#__PURE__*/_createClass(function IfcRoleEnum(){_classCallCheck(this,IfcRoleEnum);});IfcRoleEnum.ARCHITECT={type:3,value:"ARCHITECT"};IfcRoleEnum.BUILDINGOPERATOR={type:3,value:"BUILDINGOPERATOR"};IfcRoleEnum.BUILDINGOWNER={type:3,value:"BUILDINGOWNER"};IfcRoleEnum.CIVILENGINEER={type:3,value:"CIVILENGINEER"};IfcRoleEnum.CLIENT={type:3,value:"CLIENT"};IfcRoleEnum.COMMISSIONINGENGINEER={type:3,value:"COMMISSIONINGENGINEER"};IfcRoleEnum.CONSTRUCTIONMANAGER={type:3,value:"CONSTRUCTIONMANAGER"};IfcRoleEnum.CONSULTANT={type:3,value:"CONSULTANT"};IfcRoleEnum.CONTRACTOR={type:3,value:"CONTRACTOR"};IfcRoleEnum.COSTENGINEER={type:3,value:"COSTENGINEER"};IfcRoleEnum.ELECTRICALENGINEER={type:3,value:"ELECTRICALENGINEER"};IfcRoleEnum.ENGINEER={type:3,value:"ENGINEER"};IfcRoleEnum.FACILITIESMANAGER={type:3,value:"FACILITIESMANAGER"};IfcRoleEnum.FIELDCONSTRUCTIONMANAGER={type:3,value:"FIELDCONSTRUCTIONMANAGER"};IfcRoleEnum.MANUFACTURER={type:3,value:"MANUFACTURER"};IfcRoleEnum.MECHANICALENGINEER={type:3,value:"MECHANICALENGINEER"};IfcRoleEnum.OWNER={type:3,value:"OWNER"};IfcRoleEnum.PROJECTMANAGER={type:3,value:"PROJECTMANAGER"};IfcRoleEnum.RESELLER={type:3,value:"RESELLER"};IfcRoleEnum.STRUCTURALENGINEER={type:3,value:"STRUCTURALENGINEER"};IfcRoleEnum.SUBCONTRACTOR={type:3,value:"SUBCONTRACTOR"};IfcRoleEnum.SUPPLIER={type:3,value:"SUPPLIER"};IfcRoleEnum.USERDEFINED={type:3,value:"USERDEFINED"};IFC4X32.IfcRoleEnum=IfcRoleEnum;var IfcRoofTypeEnum=/*#__PURE__*/_createClass(function IfcRoofTypeEnum(){_classCallCheck(this,IfcRoofTypeEnum);});IfcRoofTypeEnum.BARREL_ROOF={type:3,value:"BARREL_ROOF"};IfcRoofTypeEnum.BUTTERFLY_ROOF={type:3,value:"BUTTERFLY_ROOF"};IfcRoofTypeEnum.DOME_ROOF={type:3,value:"DOME_ROOF"};IfcRoofTypeEnum.FLAT_ROOF={type:3,value:"FLAT_ROOF"};IfcRoofTypeEnum.FREEFORM={type:3,value:"FREEFORM"};IfcRoofTypeEnum.GABLE_ROOF={type:3,value:"GABLE_ROOF"};IfcRoofTypeEnum.GAMBREL_ROOF={type:3,value:"GAMBREL_ROOF"};IfcRoofTypeEnum.HIPPED_GABLE_ROOF={type:3,value:"HIPPED_GABLE_ROOF"};IfcRoofTypeEnum.HIP_ROOF={type:3,value:"HIP_ROOF"};IfcRoofTypeEnum.MANSARD_ROOF={type:3,value:"MANSARD_ROOF"};IfcRoofTypeEnum.PAVILION_ROOF={type:3,value:"PAVILION_ROOF"};IfcRoofTypeEnum.RAINBOW_ROOF={type:3,value:"RAINBOW_ROOF"};IfcRoofTypeEnum.SHED_ROOF={type:3,value:"SHED_ROOF"};IfcRoofTypeEnum.USERDEFINED={type:3,value:"USERDEFINED"};IfcRoofTypeEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC4X32.IfcRoofTypeEnum=IfcRoofTypeEnum;var IfcSIPrefix=/*#__PURE__*/_createClass(function IfcSIPrefix(){_classCallCheck(this,IfcSIPrefix);});IfcSIPrefix.ATTO={type:3,value:"ATTO"};IfcSIPrefix.CENTI={type:3,value:"CENTI"};IfcSIPrefix.DECA={type:3,value:"DECA"};IfcSIPrefix.DECI={type:3,value:"DECI"};IfcSIPrefix.EXA={type:3,value:"EXA"};IfcSIPrefix.FEMTO={type:3,value:"FEMTO"};IfcSIPrefix.GIGA={type:3,value:"GIGA"};IfcSIPrefix.HECTO={type:3,value:"HECTO"};IfcSIPrefix.KILO={type:3,value:"KILO"};IfcSIPrefix.MEGA={type:3,value:"MEGA"};IfcSIPrefix.MICRO={type:3,value:"MICRO"};IfcSIPrefix.MILLI={type:3,value:"MILLI"};IfcSIPrefix.NANO={type:3,value:"NANO"};IfcSIPrefix.PETA={type:3,value:"PETA"};IfcSIPrefix.PICO={type:3,value:"PICO"};IfcSIPrefix.TERA={type:3,value:"TERA"};IFC4X32.IfcSIPrefix=IfcSIPrefix;var IfcSIUnitName=/*#__PURE__*/_createClass(function IfcSIUnitName(){_classCallCheck(this,IfcSIUnitName);});IfcSIUnitName.AMPERE={type:3,value:"AMPERE"};IfcSIUnitName.BECQUEREL={type:3,value:"BECQUEREL"};IfcSIUnitName.CANDELA={type:3,value:"CANDELA"};IfcSIUnitName.COULOMB={type:3,value:"COULOMB"};IfcSIUnitName.CUBIC_METRE={type:3,value:"CUBIC_METRE"};IfcSIUnitName.DEGREE_CELSIUS={type:3,value:"DEGREE_CELSIUS"};IfcSIUnitName.FARAD={type:3,value:"FARAD"};IfcSIUnitName.GRAM={type:3,value:"GRAM"};IfcSIUnitName.GRAY={type:3,value:"GRAY"};IfcSIUnitName.HENRY={type:3,value:"HENRY"};IfcSIUnitName.HERTZ={type:3,value:"HERTZ"};IfcSIUnitName.JOULE={type:3,value:"JOULE"};IfcSIUnitName.KELVIN={type:3,value:"KELVIN"};IfcSIUnitName.LUMEN={type:3,value:"LUMEN"};IfcSIUnitName.LUX={type:3,value:"LUX"};IfcSIUnitName.METRE={type:3,value:"METRE"};IfcSIUnitName.MOLE={type:3,value:"MOLE"};IfcSIUnitName.NEWTON={type:3,value:"NEWTON"};IfcSIUnitName.OHM={type:3,value:"OHM"};IfcSIUnitName.PASCAL={type:3,value:"PASCAL"};IfcSIUnitName.RADIAN={type:3,value:"RADIAN"};IfcSIUnitName.SECOND={type:3,value:"SECOND"};IfcSIUnitName.SIEMENS={type:3,value:"SIEMENS"};IfcSIUnitName.SIEVERT={type:3,value:"SIEVERT"};IfcSIUnitName.SQUARE_METRE={type:3,value:"SQUARE_METRE"};IfcSIUnitName.STERADIAN={type:3,value:"STERADIAN"};IfcSIUnitName.TESLA={type:3,value:"TESLA"};IfcSIUnitName.VOLT={type:3,value:"VOLT"};IfcSIUnitName.WATT={type:3,value:"WATT"};IfcSIUnitName.WEBER={type:3,value:"WEBER"};IFC4X32.IfcSIUnitName=IfcSIUnitName;var IfcSanitaryTerminalTypeEnum=/*#__PURE__*/_createClass(function IfcSanitaryTerminalTypeEnum(){_classCallCheck(this,IfcSanitaryTerminalTypeEnum);});IfcSanitaryTerminalTypeEnum.BATH={type:3,value:"BATH"};IfcSanitaryTerminalTypeEnum.BIDET={type:3,value:"BIDET"};IfcSanitaryTerminalTypeEnum.CISTERN={type:3,value:"CISTERN"};IfcSanitaryTerminalTypeEnum.SANITARYFOUNTAIN={type:3,value:"SANITARYFOUNTAIN"};IfcSanitaryTerminalTypeEnum.SHOWER={type:3,value:"SHOWER"};IfcSanitaryTerminalTypeEnum.SINK={type:3,value:"SINK"};IfcSanitaryTerminalTypeEnum.TOILETPAN={type:3,value:"TOILETPAN"};IfcSanitaryTerminalTypeEnum.URINAL={type:3,value:"URINAL"};IfcSanitaryTerminalTypeEnum.WASHHANDBASIN={type:3,value:"WASHHANDBASIN"};IfcSanitaryTerminalTypeEnum.WCSEAT={type:3,value:"WCSEAT"};IfcSanitaryTerminalTypeEnum.USERDEFINED={type:3,value:"USERDEFINED"};IfcSanitaryTerminalTypeEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC4X32.IfcSanitaryTerminalTypeEnum=IfcSanitaryTerminalTypeEnum;var IfcSectionTypeEnum=/*#__PURE__*/_createClass(function IfcSectionTypeEnum(){_classCallCheck(this,IfcSectionTypeEnum);});IfcSectionTypeEnum.TAPERED={type:3,value:"TAPERED"};IfcSectionTypeEnum.UNIFORM={type:3,value:"UNIFORM"};IFC4X32.IfcSectionTypeEnum=IfcSectionTypeEnum;var IfcSensorTypeEnum=/*#__PURE__*/_createClass(function IfcSensorTypeEnum(){_classCallCheck(this,IfcSensorTypeEnum);});IfcSensorTypeEnum.CO2SENSOR={type:3,value:"CO2SENSOR"};IfcSensorTypeEnum.CONDUCTANCESENSOR={type:3,value:"CONDUCTANCESENSOR"};IfcSensorTypeEnum.CONTACTSENSOR={type:3,value:"CONTACTSENSOR"};IfcSensorTypeEnum.COSENSOR={type:3,value:"COSENSOR"};IfcSensorTypeEnum.EARTHQUAKESENSOR={type:3,value:"EARTHQUAKESENSOR"};IfcSensorTypeEnum.FIRESENSOR={type:3,value:"FIRESENSOR"};IfcSensorTypeEnum.FLOWSENSOR={type:3,value:"FLOWSENSOR"};IfcSensorTypeEnum.FOREIGNOBJECTDETECTIONSENSOR={type:3,value:"FOREIGNOBJECTDETECTIONSENSOR"};IfcSensorTypeEnum.FROSTSENSOR={type:3,value:"FROSTSENSOR"};IfcSensorTypeEnum.GASSENSOR={type:3,value:"GASSENSOR"};IfcSensorTypeEnum.HEATSENSOR={type:3,value:"HEATSENSOR"};IfcSensorTypeEnum.HUMIDITYSENSOR={type:3,value:"HUMIDITYSENSOR"};IfcSensorTypeEnum.IDENTIFIERSENSOR={type:3,value:"IDENTIFIERSENSOR"};IfcSensorTypeEnum.IONCONCENTRATIONSENSOR={type:3,value:"IONCONCENTRATIONSENSOR"};IfcSensorTypeEnum.LEVELSENSOR={type:3,value:"LEVELSENSOR"};IfcSensorTypeEnum.LIGHTSENSOR={type:3,value:"LIGHTSENSOR"};IfcSensorTypeEnum.MOISTURESENSOR={type:3,value:"MOISTURESENSOR"};IfcSensorTypeEnum.MOVEMENTSENSOR={type:3,value:"MOVEMENTSENSOR"};IfcSensorTypeEnum.OBSTACLESENSOR={type:3,value:"OBSTACLESENSOR"};IfcSensorTypeEnum.PHSENSOR={type:3,value:"PHSENSOR"};IfcSensorTypeEnum.PRESSURESENSOR={type:3,value:"PRESSURESENSOR"};IfcSensorTypeEnum.RADIATIONSENSOR={type:3,value:"RADIATIONSENSOR"};IfcSensorTypeEnum.RADIOACTIVITYSENSOR={type:3,value:"RADIOACTIVITYSENSOR"};IfcSensorTypeEnum.RAINSENSOR={type:3,value:"RAINSENSOR"};IfcSensorTypeEnum.SMOKESENSOR={type:3,value:"SMOKESENSOR"};IfcSensorTypeEnum.SNOWDEPTHSENSOR={type:3,value:"SNOWDEPTHSENSOR"};IfcSensorTypeEnum.SOUNDSENSOR={type:3,value:"SOUNDSENSOR"};IfcSensorTypeEnum.TEMPERATURESENSOR={type:3,value:"TEMPERATURESENSOR"};IfcSensorTypeEnum.TRAINSENSOR={type:3,value:"TRAINSENSOR"};IfcSensorTypeEnum.TURNOUTCLOSURESENSOR={type:3,value:"TURNOUTCLOSURESENSOR"};IfcSensorTypeEnum.WHEELSENSOR={type:3,value:"WHEELSENSOR"};IfcSensorTypeEnum.WINDSENSOR={type:3,value:"WINDSENSOR"};IfcSensorTypeEnum.USERDEFINED={type:3,value:"USERDEFINED"};IfcSensorTypeEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC4X32.IfcSensorTypeEnum=IfcSensorTypeEnum;var IfcSequenceEnum=/*#__PURE__*/_createClass(function IfcSequenceEnum(){_classCallCheck(this,IfcSequenceEnum);});IfcSequenceEnum.FINISH_FINISH={type:3,value:"FINISH_FINISH"};IfcSequenceEnum.FINISH_START={type:3,value:"FINISH_START"};IfcSequenceEnum.START_FINISH={type:3,value:"START_FINISH"};IfcSequenceEnum.START_START={type:3,value:"START_START"};IfcSequenceEnum.USERDEFINED={type:3,value:"USERDEFINED"};IfcSequenceEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC4X32.IfcSequenceEnum=IfcSequenceEnum;var IfcShadingDeviceTypeEnum=/*#__PURE__*/_createClass(function IfcShadingDeviceTypeEnum(){_classCallCheck(this,IfcShadingDeviceTypeEnum);});IfcShadingDeviceTypeEnum.AWNING={type:3,value:"AWNING"};IfcShadingDeviceTypeEnum.JALOUSIE={type:3,value:"JALOUSIE"};IfcShadingDeviceTypeEnum.SHUTTER={type:3,value:"SHUTTER"};IfcShadingDeviceTypeEnum.USERDEFINED={type:3,value:"USERDEFINED"};IfcShadingDeviceTypeEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC4X32.IfcShadingDeviceTypeEnum=IfcShadingDeviceTypeEnum;var IfcSignTypeEnum=/*#__PURE__*/_createClass(function IfcSignTypeEnum(){_classCallCheck(this,IfcSignTypeEnum);});IfcSignTypeEnum.MARKER={type:3,value:"MARKER"};IfcSignTypeEnum.MIRROR={type:3,value:"MIRROR"};IfcSignTypeEnum.PICTORAL={type:3,value:"PICTORAL"};IfcSignTypeEnum.USERDEFINED={type:3,value:"USERDEFINED"};IfcSignTypeEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC4X32.IfcSignTypeEnum=IfcSignTypeEnum;var IfcSignalTypeEnum=/*#__PURE__*/_createClass(function IfcSignalTypeEnum(){_classCallCheck(this,IfcSignalTypeEnum);});IfcSignalTypeEnum.AUDIO={type:3,value:"AUDIO"};IfcSignalTypeEnum.MIXED={type:3,value:"MIXED"};IfcSignalTypeEnum.VISUAL={type:3,value:"VISUAL"};IfcSignalTypeEnum.USERDEFINED={type:3,value:"USERDEFINED"};IfcSignalTypeEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC4X32.IfcSignalTypeEnum=IfcSignalTypeEnum;var IfcSimplePropertyTemplateTypeEnum=/*#__PURE__*/_createClass(function IfcSimplePropertyTemplateTypeEnum(){_classCallCheck(this,IfcSimplePropertyTemplateTypeEnum);});IfcSimplePropertyTemplateTypeEnum.P_BOUNDEDVALUE={type:3,value:"P_BOUNDEDVALUE"};IfcSimplePropertyTemplateTypeEnum.P_ENUMERATEDVALUE={type:3,value:"P_ENUMERATEDVALUE"};IfcSimplePropertyTemplateTypeEnum.P_LISTVALUE={type:3,value:"P_LISTVALUE"};IfcSimplePropertyTemplateTypeEnum.P_REFERENCEVALUE={type:3,value:"P_REFERENCEVALUE"};IfcSimplePropertyTemplateTypeEnum.P_SINGLEVALUE={type:3,value:"P_SINGLEVALUE"};IfcSimplePropertyTemplateTypeEnum.P_TABLEVALUE={type:3,value:"P_TABLEVALUE"};IfcSimplePropertyTemplateTypeEnum.Q_AREA={type:3,value:"Q_AREA"};IfcSimplePropertyTemplateTypeEnum.Q_COUNT={type:3,value:"Q_COUNT"};IfcSimplePropertyTemplateTypeEnum.Q_LENGTH={type:3,value:"Q_LENGTH"};IfcSimplePropertyTemplateTypeEnum.Q_NUMBER={type:3,value:"Q_NUMBER"};IfcSimplePropertyTemplateTypeEnum.Q_TIME={type:3,value:"Q_TIME"};IfcSimplePropertyTemplateTypeEnum.Q_VOLUME={type:3,value:"Q_VOLUME"};IfcSimplePropertyTemplateTypeEnum.Q_WEIGHT={type:3,value:"Q_WEIGHT"};IFC4X32.IfcSimplePropertyTemplateTypeEnum=IfcSimplePropertyTemplateTypeEnum;var IfcSlabTypeEnum=/*#__PURE__*/_createClass(function IfcSlabTypeEnum(){_classCallCheck(this,IfcSlabTypeEnum);});IfcSlabTypeEnum.APPROACH_SLAB={type:3,value:"APPROACH_SLAB"};IfcSlabTypeEnum.BASESLAB={type:3,value:"BASESLAB"};IfcSlabTypeEnum.FLOOR={type:3,value:"FLOOR"};IfcSlabTypeEnum.LANDING={type:3,value:"LANDING"};IfcSlabTypeEnum.PAVING={type:3,value:"PAVING"};IfcSlabTypeEnum.ROOF={type:3,value:"ROOF"};IfcSlabTypeEnum.SIDEWALK={type:3,value:"SIDEWALK"};IfcSlabTypeEnum.TRACKSLAB={type:3,value:"TRACKSLAB"};IfcSlabTypeEnum.WEARING={type:3,value:"WEARING"};IfcSlabTypeEnum.USERDEFINED={type:3,value:"USERDEFINED"};IfcSlabTypeEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC4X32.IfcSlabTypeEnum=IfcSlabTypeEnum;var IfcSolarDeviceTypeEnum=/*#__PURE__*/_createClass(function IfcSolarDeviceTypeEnum(){_classCallCheck(this,IfcSolarDeviceTypeEnum);});IfcSolarDeviceTypeEnum.SOLARCOLLECTOR={type:3,value:"SOLARCOLLECTOR"};IfcSolarDeviceTypeEnum.SOLARPANEL={type:3,value:"SOLARPANEL"};IfcSolarDeviceTypeEnum.USERDEFINED={type:3,value:"USERDEFINED"};IfcSolarDeviceTypeEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC4X32.IfcSolarDeviceTypeEnum=IfcSolarDeviceTypeEnum;var IfcSpaceHeaterTypeEnum=/*#__PURE__*/_createClass(function IfcSpaceHeaterTypeEnum(){_classCallCheck(this,IfcSpaceHeaterTypeEnum);});IfcSpaceHeaterTypeEnum.CONVECTOR={type:3,value:"CONVECTOR"};IfcSpaceHeaterTypeEnum.RADIATOR={type:3,value:"RADIATOR"};IfcSpaceHeaterTypeEnum.USERDEFINED={type:3,value:"USERDEFINED"};IfcSpaceHeaterTypeEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC4X32.IfcSpaceHeaterTypeEnum=IfcSpaceHeaterTypeEnum;var IfcSpaceTypeEnum=/*#__PURE__*/_createClass(function IfcSpaceTypeEnum(){_classCallCheck(this,IfcSpaceTypeEnum);});IfcSpaceTypeEnum.BERTH={type:3,value:"BERTH"};IfcSpaceTypeEnum.EXTERNAL={type:3,value:"EXTERNAL"};IfcSpaceTypeEnum.GFA={type:3,value:"GFA"};IfcSpaceTypeEnum.INTERNAL={type:3,value:"INTERNAL"};IfcSpaceTypeEnum.PARKING={type:3,value:"PARKING"};IfcSpaceTypeEnum.SPACE={type:3,value:"SPACE"};IfcSpaceTypeEnum.USERDEFINED={type:3,value:"USERDEFINED"};IfcSpaceTypeEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC4X32.IfcSpaceTypeEnum=IfcSpaceTypeEnum;var IfcSpatialZoneTypeEnum=/*#__PURE__*/_createClass(function IfcSpatialZoneTypeEnum(){_classCallCheck(this,IfcSpatialZoneTypeEnum);});IfcSpatialZoneTypeEnum.CONSTRUCTION={type:3,value:"CONSTRUCTION"};IfcSpatialZoneTypeEnum.FIRESAFETY={type:3,value:"FIRESAFETY"};IfcSpatialZoneTypeEnum.INTERFERENCE={type:3,value:"INTERFERENCE"};IfcSpatialZoneTypeEnum.LIGHTING={type:3,value:"LIGHTING"};IfcSpatialZoneTypeEnum.OCCUPANCY={type:3,value:"OCCUPANCY"};IfcSpatialZoneTypeEnum.RESERVATION={type:3,value:"RESERVATION"};IfcSpatialZoneTypeEnum.SECURITY={type:3,value:"SECURITY"};IfcSpatialZoneTypeEnum.THERMAL={type:3,value:"THERMAL"};IfcSpatialZoneTypeEnum.TRANSPORT={type:3,value:"TRANSPORT"};IfcSpatialZoneTypeEnum.VENTILATION={type:3,value:"VENTILATION"};IfcSpatialZoneTypeEnum.USERDEFINED={type:3,value:"USERDEFINED"};IfcSpatialZoneTypeEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC4X32.IfcSpatialZoneTypeEnum=IfcSpatialZoneTypeEnum;var IfcStackTerminalTypeEnum=/*#__PURE__*/_createClass(function IfcStackTerminalTypeEnum(){_classCallCheck(this,IfcStackTerminalTypeEnum);});IfcStackTerminalTypeEnum.BIRDCAGE={type:3,value:"BIRDCAGE"};IfcStackTerminalTypeEnum.COWL={type:3,value:"COWL"};IfcStackTerminalTypeEnum.RAINWATERHOPPER={type:3,value:"RAINWATERHOPPER"};IfcStackTerminalTypeEnum.USERDEFINED={type:3,value:"USERDEFINED"};IfcStackTerminalTypeEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC4X32.IfcStackTerminalTypeEnum=IfcStackTerminalTypeEnum;var IfcStairFlightTypeEnum=/*#__PURE__*/_createClass(function IfcStairFlightTypeEnum(){_classCallCheck(this,IfcStairFlightTypeEnum);});IfcStairFlightTypeEnum.CURVED={type:3,value:"CURVED"};IfcStairFlightTypeEnum.FREEFORM={type:3,value:"FREEFORM"};IfcStairFlightTypeEnum.SPIRAL={type:3,value:"SPIRAL"};IfcStairFlightTypeEnum.STRAIGHT={type:3,value:"STRAIGHT"};IfcStairFlightTypeEnum.WINDER={type:3,value:"WINDER"};IfcStairFlightTypeEnum.USERDEFINED={type:3,value:"USERDEFINED"};IfcStairFlightTypeEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC4X32.IfcStairFlightTypeEnum=IfcStairFlightTypeEnum;var IfcStairTypeEnum=/*#__PURE__*/_createClass(function IfcStairTypeEnum(){_classCallCheck(this,IfcStairTypeEnum);});IfcStairTypeEnum.CURVED_RUN_STAIR={type:3,value:"CURVED_RUN_STAIR"};IfcStairTypeEnum.DOUBLE_RETURN_STAIR={type:3,value:"DOUBLE_RETURN_STAIR"};IfcStairTypeEnum.HALF_TURN_STAIR={type:3,value:"HALF_TURN_STAIR"};IfcStairTypeEnum.HALF_WINDING_STAIR={type:3,value:"HALF_WINDING_STAIR"};IfcStairTypeEnum.LADDER={type:3,value:"LADDER"};IfcStairTypeEnum.QUARTER_TURN_STAIR={type:3,value:"QUARTER_TURN_STAIR"};IfcStairTypeEnum.QUARTER_WINDING_STAIR={type:3,value:"QUARTER_WINDING_STAIR"};IfcStairTypeEnum.SPIRAL_STAIR={type:3,value:"SPIRAL_STAIR"};IfcStairTypeEnum.STRAIGHT_RUN_STAIR={type:3,value:"STRAIGHT_RUN_STAIR"};IfcStairTypeEnum.THREE_QUARTER_TURN_STAIR={type:3,value:"THREE_QUARTER_TURN_STAIR"};IfcStairTypeEnum.THREE_QUARTER_WINDING_STAIR={type:3,value:"THREE_QUARTER_WINDING_STAIR"};IfcStairTypeEnum.TWO_CURVED_RUN_STAIR={type:3,value:"TWO_CURVED_RUN_STAIR"};IfcStairTypeEnum.TWO_QUARTER_TURN_STAIR={type:3,value:"TWO_QUARTER_TURN_STAIR"};IfcStairTypeEnum.TWO_QUARTER_WINDING_STAIR={type:3,value:"TWO_QUARTER_WINDING_STAIR"};IfcStairTypeEnum.TWO_STRAIGHT_RUN_STAIR={type:3,value:"TWO_STRAIGHT_RUN_STAIR"};IfcStairTypeEnum.USERDEFINED={type:3,value:"USERDEFINED"};IfcStairTypeEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC4X32.IfcStairTypeEnum=IfcStairTypeEnum;var IfcStateEnum=/*#__PURE__*/_createClass(function IfcStateEnum(){_classCallCheck(this,IfcStateEnum);});IfcStateEnum.LOCKED={type:3,value:"LOCKED"};IfcStateEnum.READONLY={type:3,value:"READONLY"};IfcStateEnum.READONLYLOCKED={type:3,value:"READONLYLOCKED"};IfcStateEnum.READWRITE={type:3,value:"READWRITE"};IfcStateEnum.READWRITELOCKED={type:3,value:"READWRITELOCKED"};IFC4X32.IfcStateEnum=IfcStateEnum;var IfcStructuralCurveActivityTypeEnum=/*#__PURE__*/_createClass(function IfcStructuralCurveActivityTypeEnum(){_classCallCheck(this,IfcStructuralCurveActivityTypeEnum);});IfcStructuralCurveActivityTypeEnum.CONST={type:3,value:"CONST"};IfcStructuralCurveActivityTypeEnum.DISCRETE={type:3,value:"DISCRETE"};IfcStructuralCurveActivityTypeEnum.EQUIDISTANT={type:3,value:"EQUIDISTANT"};IfcStructuralCurveActivityTypeEnum.LINEAR={type:3,value:"LINEAR"};IfcStructuralCurveActivityTypeEnum.PARABOLA={type:3,value:"PARABOLA"};IfcStructuralCurveActivityTypeEnum.POLYGONAL={type:3,value:"POLYGONAL"};IfcStructuralCurveActivityTypeEnum.SINUS={type:3,value:"SINUS"};IfcStructuralCurveActivityTypeEnum.USERDEFINED={type:3,value:"USERDEFINED"};IfcStructuralCurveActivityTypeEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC4X32.IfcStructuralCurveActivityTypeEnum=IfcStructuralCurveActivityTypeEnum;var IfcStructuralCurveMemberTypeEnum=/*#__PURE__*/_createClass(function IfcStructuralCurveMemberTypeEnum(){_classCallCheck(this,IfcStructuralCurveMemberTypeEnum);});IfcStructuralCurveMemberTypeEnum.CABLE={type:3,value:"CABLE"};IfcStructuralCurveMemberTypeEnum.COMPRESSION_MEMBER={type:3,value:"COMPRESSION_MEMBER"};IfcStructuralCurveMemberTypeEnum.PIN_JOINED_MEMBER={type:3,value:"PIN_JOINED_MEMBER"};IfcStructuralCurveMemberTypeEnum.RIGID_JOINED_MEMBER={type:3,value:"RIGID_JOINED_MEMBER"};IfcStructuralCurveMemberTypeEnum.TENSION_MEMBER={type:3,value:"TENSION_MEMBER"};IfcStructuralCurveMemberTypeEnum.USERDEFINED={type:3,value:"USERDEFINED"};IfcStructuralCurveMemberTypeEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC4X32.IfcStructuralCurveMemberTypeEnum=IfcStructuralCurveMemberTypeEnum;var IfcStructuralSurfaceActivityTypeEnum=/*#__PURE__*/_createClass(function IfcStructuralSurfaceActivityTypeEnum(){_classCallCheck(this,IfcStructuralSurfaceActivityTypeEnum);});IfcStructuralSurfaceActivityTypeEnum.BILINEAR={type:3,value:"BILINEAR"};IfcStructuralSurfaceActivityTypeEnum.CONST={type:3,value:"CONST"};IfcStructuralSurfaceActivityTypeEnum.DISCRETE={type:3,value:"DISCRETE"};IfcStructuralSurfaceActivityTypeEnum.ISOCONTOUR={type:3,value:"ISOCONTOUR"};IfcStructuralSurfaceActivityTypeEnum.USERDEFINED={type:3,value:"USERDEFINED"};IfcStructuralSurfaceActivityTypeEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC4X32.IfcStructuralSurfaceActivityTypeEnum=IfcStructuralSurfaceActivityTypeEnum;var IfcStructuralSurfaceMemberTypeEnum=/*#__PURE__*/_createClass(function IfcStructuralSurfaceMemberTypeEnum(){_classCallCheck(this,IfcStructuralSurfaceMemberTypeEnum);});IfcStructuralSurfaceMemberTypeEnum.BENDING_ELEMENT={type:3,value:"BENDING_ELEMENT"};IfcStructuralSurfaceMemberTypeEnum.MEMBRANE_ELEMENT={type:3,value:"MEMBRANE_ELEMENT"};IfcStructuralSurfaceMemberTypeEnum.SHELL={type:3,value:"SHELL"};IfcStructuralSurfaceMemberTypeEnum.USERDEFINED={type:3,value:"USERDEFINED"};IfcStructuralSurfaceMemberTypeEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC4X32.IfcStructuralSurfaceMemberTypeEnum=IfcStructuralSurfaceMemberTypeEnum;var IfcSubContractResourceTypeEnum=/*#__PURE__*/_createClass(function IfcSubContractResourceTypeEnum(){_classCallCheck(this,IfcSubContractResourceTypeEnum);});IfcSubContractResourceTypeEnum.PURCHASE={type:3,value:"PURCHASE"};IfcSubContractResourceTypeEnum.WORK={type:3,value:"WORK"};IfcSubContractResourceTypeEnum.USERDEFINED={type:3,value:"USERDEFINED"};IfcSubContractResourceTypeEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC4X32.IfcSubContractResourceTypeEnum=IfcSubContractResourceTypeEnum;var IfcSurfaceFeatureTypeEnum=/*#__PURE__*/_createClass(function IfcSurfaceFeatureTypeEnum(){_classCallCheck(this,IfcSurfaceFeatureTypeEnum);});IfcSurfaceFeatureTypeEnum.DEFECT={type:3,value:"DEFECT"};IfcSurfaceFeatureTypeEnum.HATCHMARKING={type:3,value:"HATCHMARKING"};IfcSurfaceFeatureTypeEnum.LINEMARKING={type:3,value:"LINEMARKING"};IfcSurfaceFeatureTypeEnum.MARK={type:3,value:"MARK"};IfcSurfaceFeatureTypeEnum.NONSKIDSURFACING={type:3,value:"NONSKIDSURFACING"};IfcSurfaceFeatureTypeEnum.PAVEMENTSURFACEMARKING={type:3,value:"PAVEMENTSURFACEMARKING"};IfcSurfaceFeatureTypeEnum.RUMBLESTRIP={type:3,value:"RUMBLESTRIP"};IfcSurfaceFeatureTypeEnum.SYMBOLMARKING={type:3,value:"SYMBOLMARKING"};IfcSurfaceFeatureTypeEnum.TAG={type:3,value:"TAG"};IfcSurfaceFeatureTypeEnum.TRANSVERSERUMBLESTRIP={type:3,value:"TRANSVERSERUMBLESTRIP"};IfcSurfaceFeatureTypeEnum.TREATMENT={type:3,value:"TREATMENT"};IfcSurfaceFeatureTypeEnum.USERDEFINED={type:3,value:"USERDEFINED"};IfcSurfaceFeatureTypeEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC4X32.IfcSurfaceFeatureTypeEnum=IfcSurfaceFeatureTypeEnum;var IfcSurfaceSide=/*#__PURE__*/_createClass(function IfcSurfaceSide(){_classCallCheck(this,IfcSurfaceSide);});IfcSurfaceSide.BOTH={type:3,value:"BOTH"};IfcSurfaceSide.NEGATIVE={type:3,value:"NEGATIVE"};IfcSurfaceSide.POSITIVE={type:3,value:"POSITIVE"};IFC4X32.IfcSurfaceSide=IfcSurfaceSide;var IfcSwitchingDeviceTypeEnum=/*#__PURE__*/_createClass(function IfcSwitchingDeviceTypeEnum(){_classCallCheck(this,IfcSwitchingDeviceTypeEnum);});IfcSwitchingDeviceTypeEnum.CONTACTOR={type:3,value:"CONTACTOR"};IfcSwitchingDeviceTypeEnum.DIMMERSWITCH={type:3,value:"DIMMERSWITCH"};IfcSwitchingDeviceTypeEnum.EMERGENCYSTOP={type:3,value:"EMERGENCYSTOP"};IfcSwitchingDeviceTypeEnum.KEYPAD={type:3,value:"KEYPAD"};IfcSwitchingDeviceTypeEnum.MOMENTARYSWITCH={type:3,value:"MOMENTARYSWITCH"};IfcSwitchingDeviceTypeEnum.RELAY={type:3,value:"RELAY"};IfcSwitchingDeviceTypeEnum.SELECTORSWITCH={type:3,value:"SELECTORSWITCH"};IfcSwitchingDeviceTypeEnum.STARTER={type:3,value:"STARTER"};IfcSwitchingDeviceTypeEnum.START_AND_STOP_EQUIPMENT={type:3,value:"START_AND_STOP_EQUIPMENT"};IfcSwitchingDeviceTypeEnum.SWITCHDISCONNECTOR={type:3,value:"SWITCHDISCONNECTOR"};IfcSwitchingDeviceTypeEnum.TOGGLESWITCH={type:3,value:"TOGGLESWITCH"};IfcSwitchingDeviceTypeEnum.USERDEFINED={type:3,value:"USERDEFINED"};IfcSwitchingDeviceTypeEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC4X32.IfcSwitchingDeviceTypeEnum=IfcSwitchingDeviceTypeEnum;var IfcSystemFurnitureElementTypeEnum=/*#__PURE__*/_createClass(function IfcSystemFurnitureElementTypeEnum(){_classCallCheck(this,IfcSystemFurnitureElementTypeEnum);});IfcSystemFurnitureElementTypeEnum.PANEL={type:3,value:"PANEL"};IfcSystemFurnitureElementTypeEnum.SUBRACK={type:3,value:"SUBRACK"};IfcSystemFurnitureElementTypeEnum.WORKSURFACE={type:3,value:"WORKSURFACE"};IfcSystemFurnitureElementTypeEnum.USERDEFINED={type:3,value:"USERDEFINED"};IfcSystemFurnitureElementTypeEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC4X32.IfcSystemFurnitureElementTypeEnum=IfcSystemFurnitureElementTypeEnum;var IfcTankTypeEnum=/*#__PURE__*/_createClass(function IfcTankTypeEnum(){_classCallCheck(this,IfcTankTypeEnum);});IfcTankTypeEnum.BASIN={type:3,value:"BASIN"};IfcTankTypeEnum.BREAKPRESSURE={type:3,value:"BREAKPRESSURE"};IfcTankTypeEnum.EXPANSION={type:3,value:"EXPANSION"};IfcTankTypeEnum.FEEDANDEXPANSION={type:3,value:"FEEDANDEXPANSION"};IfcTankTypeEnum.OILRETENTIONTRAY={type:3,value:"OILRETENTIONTRAY"};IfcTankTypeEnum.PRESSUREVESSEL={type:3,value:"PRESSUREVESSEL"};IfcTankTypeEnum.STORAGE={type:3,value:"STORAGE"};IfcTankTypeEnum.VESSEL={type:3,value:"VESSEL"};IfcTankTypeEnum.USERDEFINED={type:3,value:"USERDEFINED"};IfcTankTypeEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC4X32.IfcTankTypeEnum=IfcTankTypeEnum;var IfcTaskDurationEnum=/*#__PURE__*/_createClass(function IfcTaskDurationEnum(){_classCallCheck(this,IfcTaskDurationEnum);});IfcTaskDurationEnum.ELAPSEDTIME={type:3,value:"ELAPSEDTIME"};IfcTaskDurationEnum.WORKTIME={type:3,value:"WORKTIME"};IfcTaskDurationEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC4X32.IfcTaskDurationEnum=IfcTaskDurationEnum;var IfcTaskTypeEnum=/*#__PURE__*/_createClass(function IfcTaskTypeEnum(){_classCallCheck(this,IfcTaskTypeEnum);});IfcTaskTypeEnum.ADJUSTMENT={type:3,value:"ADJUSTMENT"};IfcTaskTypeEnum.ATTENDANCE={type:3,value:"ATTENDANCE"};IfcTaskTypeEnum.CALIBRATION={type:3,value:"CALIBRATION"};IfcTaskTypeEnum.CONSTRUCTION={type:3,value:"CONSTRUCTION"};IfcTaskTypeEnum.DEMOLITION={type:3,value:"DEMOLITION"};IfcTaskTypeEnum.DISMANTLE={type:3,value:"DISMANTLE"};IfcTaskTypeEnum.DISPOSAL={type:3,value:"DISPOSAL"};IfcTaskTypeEnum.EMERGENCY={type:3,value:"EMERGENCY"};IfcTaskTypeEnum.INSPECTION={type:3,value:"INSPECTION"};IfcTaskTypeEnum.INSTALLATION={type:3,value:"INSTALLATION"};IfcTaskTypeEnum.LOGISTIC={type:3,value:"LOGISTIC"};IfcTaskTypeEnum.MAINTENANCE={type:3,value:"MAINTENANCE"};IfcTaskTypeEnum.MOVE={type:3,value:"MOVE"};IfcTaskTypeEnum.OPERATION={type:3,value:"OPERATION"};IfcTaskTypeEnum.REMOVAL={type:3,value:"REMOVAL"};IfcTaskTypeEnum.RENOVATION={type:3,value:"RENOVATION"};IfcTaskTypeEnum.SAFETY={type:3,value:"SAFETY"};IfcTaskTypeEnum.SHUTDOWN={type:3,value:"SHUTDOWN"};IfcTaskTypeEnum.STARTUP={type:3,value:"STARTUP"};IfcTaskTypeEnum.TESTING={type:3,value:"TESTING"};IfcTaskTypeEnum.TROUBLESHOOTING={type:3,value:"TROUBLESHOOTING"};IfcTaskTypeEnum.USERDEFINED={type:3,value:"USERDEFINED"};IfcTaskTypeEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC4X32.IfcTaskTypeEnum=IfcTaskTypeEnum;var IfcTendonAnchorTypeEnum=/*#__PURE__*/_createClass(function IfcTendonAnchorTypeEnum(){_classCallCheck(this,IfcTendonAnchorTypeEnum);});IfcTendonAnchorTypeEnum.COUPLER={type:3,value:"COUPLER"};IfcTendonAnchorTypeEnum.FIXED_END={type:3,value:"FIXED_END"};IfcTendonAnchorTypeEnum.TENSIONING_END={type:3,value:"TENSIONING_END"};IfcTendonAnchorTypeEnum.USERDEFINED={type:3,value:"USERDEFINED"};IfcTendonAnchorTypeEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC4X32.IfcTendonAnchorTypeEnum=IfcTendonAnchorTypeEnum;var IfcTendonConduitTypeEnum=/*#__PURE__*/_createClass(function IfcTendonConduitTypeEnum(){_classCallCheck(this,IfcTendonConduitTypeEnum);});IfcTendonConduitTypeEnum.COUPLER={type:3,value:"COUPLER"};IfcTendonConduitTypeEnum.DIABOLO={type:3,value:"DIABOLO"};IfcTendonConduitTypeEnum.DUCT={type:3,value:"DUCT"};IfcTendonConduitTypeEnum.GROUTING_DUCT={type:3,value:"GROUTING_DUCT"};IfcTendonConduitTypeEnum.TRUMPET={type:3,value:"TRUMPET"};IfcTendonConduitTypeEnum.USERDEFINED={type:3,value:"USERDEFINED"};IfcTendonConduitTypeEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC4X32.IfcTendonConduitTypeEnum=IfcTendonConduitTypeEnum;var IfcTendonTypeEnum=/*#__PURE__*/_createClass(function IfcTendonTypeEnum(){_classCallCheck(this,IfcTendonTypeEnum);});IfcTendonTypeEnum.BAR={type:3,value:"BAR"};IfcTendonTypeEnum.COATED={type:3,value:"COATED"};IfcTendonTypeEnum.STRAND={type:3,value:"STRAND"};IfcTendonTypeEnum.WIRE={type:3,value:"WIRE"};IfcTendonTypeEnum.USERDEFINED={type:3,value:"USERDEFINED"};IfcTendonTypeEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC4X32.IfcTendonTypeEnum=IfcTendonTypeEnum;var IfcTextPath=/*#__PURE__*/_createClass(function IfcTextPath(){_classCallCheck(this,IfcTextPath);});IfcTextPath.DOWN={type:3,value:"DOWN"};IfcTextPath.LEFT={type:3,value:"LEFT"};IfcTextPath.RIGHT={type:3,value:"RIGHT"};IfcTextPath.UP={type:3,value:"UP"};IFC4X32.IfcTextPath=IfcTextPath;var IfcTimeSeriesDataTypeEnum=/*#__PURE__*/_createClass(function IfcTimeSeriesDataTypeEnum(){_classCallCheck(this,IfcTimeSeriesDataTypeEnum);});IfcTimeSeriesDataTypeEnum.CONTINUOUS={type:3,value:"CONTINUOUS"};IfcTimeSeriesDataTypeEnum.DISCRETE={type:3,value:"DISCRETE"};IfcTimeSeriesDataTypeEnum.DISCRETEBINARY={type:3,value:"DISCRETEBINARY"};IfcTimeSeriesDataTypeEnum.PIECEWISEBINARY={type:3,value:"PIECEWISEBINARY"};IfcTimeSeriesDataTypeEnum.PIECEWISECONSTANT={type:3,value:"PIECEWISECONSTANT"};IfcTimeSeriesDataTypeEnum.PIECEWISECONTINUOUS={type:3,value:"PIECEWISECONTINUOUS"};IfcTimeSeriesDataTypeEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC4X32.IfcTimeSeriesDataTypeEnum=IfcTimeSeriesDataTypeEnum;var IfcTrackElementTypeEnum=/*#__PURE__*/_createClass(function IfcTrackElementTypeEnum(){_classCallCheck(this,IfcTrackElementTypeEnum);});IfcTrackElementTypeEnum.BLOCKINGDEVICE={type:3,value:"BLOCKINGDEVICE"};IfcTrackElementTypeEnum.DERAILER={type:3,value:"DERAILER"};IfcTrackElementTypeEnum.FROG={type:3,value:"FROG"};IfcTrackElementTypeEnum.HALF_SET_OF_BLADES={type:3,value:"HALF_SET_OF_BLADES"};IfcTrackElementTypeEnum.SLEEPER={type:3,value:"SLEEPER"};IfcTrackElementTypeEnum.SPEEDREGULATOR={type:3,value:"SPEEDREGULATOR"};IfcTrackElementTypeEnum.TRACKENDOFALIGNMENT={type:3,value:"TRACKENDOFALIGNMENT"};IfcTrackElementTypeEnum.VEHICLESTOP={type:3,value:"VEHICLESTOP"};IfcTrackElementTypeEnum.USERDEFINED={type:3,value:"USERDEFINED"};IfcTrackElementTypeEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC4X32.IfcTrackElementTypeEnum=IfcTrackElementTypeEnum;var IfcTransformerTypeEnum=/*#__PURE__*/_createClass(function IfcTransformerTypeEnum(){_classCallCheck(this,IfcTransformerTypeEnum);});IfcTransformerTypeEnum.CHOPPER={type:3,value:"CHOPPER"};IfcTransformerTypeEnum.COMBINED={type:3,value:"COMBINED"};IfcTransformerTypeEnum.CURRENT={type:3,value:"CURRENT"};IfcTransformerTypeEnum.FREQUENCY={type:3,value:"FREQUENCY"};IfcTransformerTypeEnum.INVERTER={type:3,value:"INVERTER"};IfcTransformerTypeEnum.RECTIFIER={type:3,value:"RECTIFIER"};IfcTransformerTypeEnum.VOLTAGE={type:3,value:"VOLTAGE"};IfcTransformerTypeEnum.USERDEFINED={type:3,value:"USERDEFINED"};IfcTransformerTypeEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC4X32.IfcTransformerTypeEnum=IfcTransformerTypeEnum;var IfcTransitionCode=/*#__PURE__*/_createClass(function IfcTransitionCode(){_classCallCheck(this,IfcTransitionCode);});IfcTransitionCode.CONTINUOUS={type:3,value:"CONTINUOUS"};IfcTransitionCode.CONTSAMEGRADIENT={type:3,value:"CONTSAMEGRADIENT"};IfcTransitionCode.CONTSAMEGRADIENTSAMECURVATURE={type:3,value:"CONTSAMEGRADIENTSAMECURVATURE"};IfcTransitionCode.DISCONTINUOUS={type:3,value:"DISCONTINUOUS"};IFC4X32.IfcTransitionCode=IfcTransitionCode;var IfcTransportElementTypeEnum=/*#__PURE__*/_createClass(function IfcTransportElementTypeEnum(){_classCallCheck(this,IfcTransportElementTypeEnum);});IfcTransportElementTypeEnum.CRANEWAY={type:3,value:"CRANEWAY"};IfcTransportElementTypeEnum.ELEVATOR={type:3,value:"ELEVATOR"};IfcTransportElementTypeEnum.ESCALATOR={type:3,value:"ESCALATOR"};IfcTransportElementTypeEnum.HAULINGGEAR={type:3,value:"HAULINGGEAR"};IfcTransportElementTypeEnum.LIFTINGGEAR={type:3,value:"LIFTINGGEAR"};IfcTransportElementTypeEnum.MOVINGWALKWAY={type:3,value:"MOVINGWALKWAY"};IfcTransportElementTypeEnum.USERDEFINED={type:3,value:"USERDEFINED"};IfcTransportElementTypeEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC4X32.IfcTransportElementTypeEnum=IfcTransportElementTypeEnum;var IfcTrimmingPreference=/*#__PURE__*/_createClass(function IfcTrimmingPreference(){_classCallCheck(this,IfcTrimmingPreference);});IfcTrimmingPreference.CARTESIAN={type:3,value:"CARTESIAN"};IfcTrimmingPreference.PARAMETER={type:3,value:"PARAMETER"};IfcTrimmingPreference.UNSPECIFIED={type:3,value:"UNSPECIFIED"};IFC4X32.IfcTrimmingPreference=IfcTrimmingPreference;var IfcTubeBundleTypeEnum=/*#__PURE__*/_createClass(function IfcTubeBundleTypeEnum(){_classCallCheck(this,IfcTubeBundleTypeEnum);});IfcTubeBundleTypeEnum.FINNED={type:3,value:"FINNED"};IfcTubeBundleTypeEnum.USERDEFINED={type:3,value:"USERDEFINED"};IfcTubeBundleTypeEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC4X32.IfcTubeBundleTypeEnum=IfcTubeBundleTypeEnum;var IfcUnitEnum=/*#__PURE__*/_createClass(function IfcUnitEnum(){_classCallCheck(this,IfcUnitEnum);});IfcUnitEnum.ABSORBEDDOSEUNIT={type:3,value:"ABSORBEDDOSEUNIT"};IfcUnitEnum.AMOUNTOFSUBSTANCEUNIT={type:3,value:"AMOUNTOFSUBSTANCEUNIT"};IfcUnitEnum.AREAUNIT={type:3,value:"AREAUNIT"};IfcUnitEnum.DOSEEQUIVALENTUNIT={type:3,value:"DOSEEQUIVALENTUNIT"};IfcUnitEnum.ELECTRICCAPACITANCEUNIT={type:3,value:"ELECTRICCAPACITANCEUNIT"};IfcUnitEnum.ELECTRICCHARGEUNIT={type:3,value:"ELECTRICCHARGEUNIT"};IfcUnitEnum.ELECTRICCONDUCTANCEUNIT={type:3,value:"ELECTRICCONDUCTANCEUNIT"};IfcUnitEnum.ELECTRICCURRENTUNIT={type:3,value:"ELECTRICCURRENTUNIT"};IfcUnitEnum.ELECTRICRESISTANCEUNIT={type:3,value:"ELECTRICRESISTANCEUNIT"};IfcUnitEnum.ELECTRICVOLTAGEUNIT={type:3,value:"ELECTRICVOLTAGEUNIT"};IfcUnitEnum.ENERGYUNIT={type:3,value:"ENERGYUNIT"};IfcUnitEnum.FORCEUNIT={type:3,value:"FORCEUNIT"};IfcUnitEnum.FREQUENCYUNIT={type:3,value:"FREQUENCYUNIT"};IfcUnitEnum.ILLUMINANCEUNIT={type:3,value:"ILLUMINANCEUNIT"};IfcUnitEnum.INDUCTANCEUNIT={type:3,value:"INDUCTANCEUNIT"};IfcUnitEnum.LENGTHUNIT={type:3,value:"LENGTHUNIT"};IfcUnitEnum.LUMINOUSFLUXUNIT={type:3,value:"LUMINOUSFLUXUNIT"};IfcUnitEnum.LUMINOUSINTENSITYUNIT={type:3,value:"LUMINOUSINTENSITYUNIT"};IfcUnitEnum.MAGNETICFLUXDENSITYUNIT={type:3,value:"MAGNETICFLUXDENSITYUNIT"};IfcUnitEnum.MAGNETICFLUXUNIT={type:3,value:"MAGNETICFLUXUNIT"};IfcUnitEnum.MASSUNIT={type:3,value:"MASSUNIT"};IfcUnitEnum.PLANEANGLEUNIT={type:3,value:"PLANEANGLEUNIT"};IfcUnitEnum.POWERUNIT={type:3,value:"POWERUNIT"};IfcUnitEnum.PRESSUREUNIT={type:3,value:"PRESSUREUNIT"};IfcUnitEnum.RADIOACTIVITYUNIT={type:3,value:"RADIOACTIVITYUNIT"};IfcUnitEnum.SOLIDANGLEUNIT={type:3,value:"SOLIDANGLEUNIT"};IfcUnitEnum.THERMODYNAMICTEMPERATUREUNIT={type:3,value:"THERMODYNAMICTEMPERATUREUNIT"};IfcUnitEnum.TIMEUNIT={type:3,value:"TIMEUNIT"};IfcUnitEnum.VOLUMEUNIT={type:3,value:"VOLUMEUNIT"};IfcUnitEnum.USERDEFINED={type:3,value:"USERDEFINED"};IFC4X32.IfcUnitEnum=IfcUnitEnum;var IfcUnitaryControlElementTypeEnum=/*#__PURE__*/_createClass(function IfcUnitaryControlElementTypeEnum(){_classCallCheck(this,IfcUnitaryControlElementTypeEnum);});IfcUnitaryControlElementTypeEnum.ALARMPANEL={type:3,value:"ALARMPANEL"};IfcUnitaryControlElementTypeEnum.BASESTATIONCONTROLLER={type:3,value:"BASESTATIONCONTROLLER"};IfcUnitaryControlElementTypeEnum.COMBINED={type:3,value:"COMBINED"};IfcUnitaryControlElementTypeEnum.CONTROLPANEL={type:3,value:"CONTROLPANEL"};IfcUnitaryControlElementTypeEnum.GASDETECTIONPANEL={type:3,value:"GASDETECTIONPANEL"};IfcUnitaryControlElementTypeEnum.HUMIDISTAT={type:3,value:"HUMIDISTAT"};IfcUnitaryControlElementTypeEnum.INDICATORPANEL={type:3,value:"INDICATORPANEL"};IfcUnitaryControlElementTypeEnum.MIMICPANEL={type:3,value:"MIMICPANEL"};IfcUnitaryControlElementTypeEnum.THERMOSTAT={type:3,value:"THERMOSTAT"};IfcUnitaryControlElementTypeEnum.WEATHERSTATION={type:3,value:"WEATHERSTATION"};IfcUnitaryControlElementTypeEnum.USERDEFINED={type:3,value:"USERDEFINED"};IfcUnitaryControlElementTypeEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC4X32.IfcUnitaryControlElementTypeEnum=IfcUnitaryControlElementTypeEnum;var IfcUnitaryEquipmentTypeEnum=/*#__PURE__*/_createClass(function IfcUnitaryEquipmentTypeEnum(){_classCallCheck(this,IfcUnitaryEquipmentTypeEnum);});IfcUnitaryEquipmentTypeEnum.AIRCONDITIONINGUNIT={type:3,value:"AIRCONDITIONINGUNIT"};IfcUnitaryEquipmentTypeEnum.AIRHANDLER={type:3,value:"AIRHANDLER"};IfcUnitaryEquipmentTypeEnum.DEHUMIDIFIER={type:3,value:"DEHUMIDIFIER"};IfcUnitaryEquipmentTypeEnum.ROOFTOPUNIT={type:3,value:"ROOFTOPUNIT"};IfcUnitaryEquipmentTypeEnum.SPLITSYSTEM={type:3,value:"SPLITSYSTEM"};IfcUnitaryEquipmentTypeEnum.USERDEFINED={type:3,value:"USERDEFINED"};IfcUnitaryEquipmentTypeEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC4X32.IfcUnitaryEquipmentTypeEnum=IfcUnitaryEquipmentTypeEnum;var IfcValveTypeEnum=/*#__PURE__*/_createClass(function IfcValveTypeEnum(){_classCallCheck(this,IfcValveTypeEnum);});IfcValveTypeEnum.AIRRELEASE={type:3,value:"AIRRELEASE"};IfcValveTypeEnum.ANTIVACUUM={type:3,value:"ANTIVACUUM"};IfcValveTypeEnum.CHANGEOVER={type:3,value:"CHANGEOVER"};IfcValveTypeEnum.CHECK={type:3,value:"CHECK"};IfcValveTypeEnum.COMMISSIONING={type:3,value:"COMMISSIONING"};IfcValveTypeEnum.DIVERTING={type:3,value:"DIVERTING"};IfcValveTypeEnum.DOUBLECHECK={type:3,value:"DOUBLECHECK"};IfcValveTypeEnum.DOUBLEREGULATING={type:3,value:"DOUBLEREGULATING"};IfcValveTypeEnum.DRAWOFFCOCK={type:3,value:"DRAWOFFCOCK"};IfcValveTypeEnum.FAUCET={type:3,value:"FAUCET"};IfcValveTypeEnum.FLUSHING={type:3,value:"FLUSHING"};IfcValveTypeEnum.GASCOCK={type:3,value:"GASCOCK"};IfcValveTypeEnum.GASTAP={type:3,value:"GASTAP"};IfcValveTypeEnum.ISOLATING={type:3,value:"ISOLATING"};IfcValveTypeEnum.MIXING={type:3,value:"MIXING"};IfcValveTypeEnum.PRESSUREREDUCING={type:3,value:"PRESSUREREDUCING"};IfcValveTypeEnum.PRESSURERELIEF={type:3,value:"PRESSURERELIEF"};IfcValveTypeEnum.REGULATING={type:3,value:"REGULATING"};IfcValveTypeEnum.SAFETYCUTOFF={type:3,value:"SAFETYCUTOFF"};IfcValveTypeEnum.STEAMTRAP={type:3,value:"STEAMTRAP"};IfcValveTypeEnum.STOPCOCK={type:3,value:"STOPCOCK"};IfcValveTypeEnum.USERDEFINED={type:3,value:"USERDEFINED"};IfcValveTypeEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC4X32.IfcValveTypeEnum=IfcValveTypeEnum;var IfcVehicleTypeEnum=/*#__PURE__*/_createClass(function IfcVehicleTypeEnum(){_classCallCheck(this,IfcVehicleTypeEnum);});IfcVehicleTypeEnum.CARGO={type:3,value:"CARGO"};IfcVehicleTypeEnum.ROLLINGSTOCK={type:3,value:"ROLLINGSTOCK"};IfcVehicleTypeEnum.VEHICLE={type:3,value:"VEHICLE"};IfcVehicleTypeEnum.VEHICLEAIR={type:3,value:"VEHICLEAIR"};IfcVehicleTypeEnum.VEHICLEMARINE={type:3,value:"VEHICLEMARINE"};IfcVehicleTypeEnum.VEHICLETRACKED={type:3,value:"VEHICLETRACKED"};IfcVehicleTypeEnum.VEHICLEWHEELED={type:3,value:"VEHICLEWHEELED"};IfcVehicleTypeEnum.USERDEFINED={type:3,value:"USERDEFINED"};IfcVehicleTypeEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC4X32.IfcVehicleTypeEnum=IfcVehicleTypeEnum;var IfcVibrationDamperTypeEnum=/*#__PURE__*/_createClass(function IfcVibrationDamperTypeEnum(){_classCallCheck(this,IfcVibrationDamperTypeEnum);});IfcVibrationDamperTypeEnum.AXIAL_YIELD={type:3,value:"AXIAL_YIELD"};IfcVibrationDamperTypeEnum.BENDING_YIELD={type:3,value:"BENDING_YIELD"};IfcVibrationDamperTypeEnum.FRICTION={type:3,value:"FRICTION"};IfcVibrationDamperTypeEnum.RUBBER={type:3,value:"RUBBER"};IfcVibrationDamperTypeEnum.SHEAR_YIELD={type:3,value:"SHEAR_YIELD"};IfcVibrationDamperTypeEnum.VISCOUS={type:3,value:"VISCOUS"};IfcVibrationDamperTypeEnum.USERDEFINED={type:3,value:"USERDEFINED"};IfcVibrationDamperTypeEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC4X32.IfcVibrationDamperTypeEnum=IfcVibrationDamperTypeEnum;var IfcVibrationIsolatorTypeEnum=/*#__PURE__*/_createClass(function IfcVibrationIsolatorTypeEnum(){_classCallCheck(this,IfcVibrationIsolatorTypeEnum);});IfcVibrationIsolatorTypeEnum.BASE={type:3,value:"BASE"};IfcVibrationIsolatorTypeEnum.COMPRESSION={type:3,value:"COMPRESSION"};IfcVibrationIsolatorTypeEnum.SPRING={type:3,value:"SPRING"};IfcVibrationIsolatorTypeEnum.USERDEFINED={type:3,value:"USERDEFINED"};IfcVibrationIsolatorTypeEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC4X32.IfcVibrationIsolatorTypeEnum=IfcVibrationIsolatorTypeEnum;var IfcVirtualElementTypeEnum=/*#__PURE__*/_createClass(function IfcVirtualElementTypeEnum(){_classCallCheck(this,IfcVirtualElementTypeEnum);});IfcVirtualElementTypeEnum.BOUNDARY={type:3,value:"BOUNDARY"};IfcVirtualElementTypeEnum.CLEARANCE={type:3,value:"CLEARANCE"};IfcVirtualElementTypeEnum.PROVISIONFORVOID={type:3,value:"PROVISIONFORVOID"};IfcVirtualElementTypeEnum.USERDEFINED={type:3,value:"USERDEFINED"};IfcVirtualElementTypeEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC4X32.IfcVirtualElementTypeEnum=IfcVirtualElementTypeEnum;var IfcVoidingFeatureTypeEnum=/*#__PURE__*/_createClass(function IfcVoidingFeatureTypeEnum(){_classCallCheck(this,IfcVoidingFeatureTypeEnum);});IfcVoidingFeatureTypeEnum.CHAMFER={type:3,value:"CHAMFER"};IfcVoidingFeatureTypeEnum.CUTOUT={type:3,value:"CUTOUT"};IfcVoidingFeatureTypeEnum.EDGE={type:3,value:"EDGE"};IfcVoidingFeatureTypeEnum.HOLE={type:3,value:"HOLE"};IfcVoidingFeatureTypeEnum.MITER={type:3,value:"MITER"};IfcVoidingFeatureTypeEnum.NOTCH={type:3,value:"NOTCH"};IfcVoidingFeatureTypeEnum.USERDEFINED={type:3,value:"USERDEFINED"};IfcVoidingFeatureTypeEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC4X32.IfcVoidingFeatureTypeEnum=IfcVoidingFeatureTypeEnum;var IfcWallTypeEnum=/*#__PURE__*/_createClass(function IfcWallTypeEnum(){_classCallCheck(this,IfcWallTypeEnum);});IfcWallTypeEnum.ELEMENTEDWALL={type:3,value:"ELEMENTEDWALL"};IfcWallTypeEnum.MOVABLE={type:3,value:"MOVABLE"};IfcWallTypeEnum.PARAPET={type:3,value:"PARAPET"};IfcWallTypeEnum.PARTITIONING={type:3,value:"PARTITIONING"};IfcWallTypeEnum.PLUMBINGWALL={type:3,value:"PLUMBINGWALL"};IfcWallTypeEnum.POLYGONAL={type:3,value:"POLYGONAL"};IfcWallTypeEnum.RETAININGWALL={type:3,value:"RETAININGWALL"};IfcWallTypeEnum.SHEAR={type:3,value:"SHEAR"};IfcWallTypeEnum.SOLIDWALL={type:3,value:"SOLIDWALL"};IfcWallTypeEnum.STANDARD={type:3,value:"STANDARD"};IfcWallTypeEnum.WAVEWALL={type:3,value:"WAVEWALL"};IfcWallTypeEnum.USERDEFINED={type:3,value:"USERDEFINED"};IfcWallTypeEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC4X32.IfcWallTypeEnum=IfcWallTypeEnum;var IfcWasteTerminalTypeEnum=/*#__PURE__*/_createClass(function IfcWasteTerminalTypeEnum(){_classCallCheck(this,IfcWasteTerminalTypeEnum);});IfcWasteTerminalTypeEnum.FLOORTRAP={type:3,value:"FLOORTRAP"};IfcWasteTerminalTypeEnum.FLOORWASTE={type:3,value:"FLOORWASTE"};IfcWasteTerminalTypeEnum.GULLYSUMP={type:3,value:"GULLYSUMP"};IfcWasteTerminalTypeEnum.GULLYTRAP={type:3,value:"GULLYTRAP"};IfcWasteTerminalTypeEnum.ROOFDRAIN={type:3,value:"ROOFDRAIN"};IfcWasteTerminalTypeEnum.WASTEDISPOSALUNIT={type:3,value:"WASTEDISPOSALUNIT"};IfcWasteTerminalTypeEnum.WASTETRAP={type:3,value:"WASTETRAP"};IfcWasteTerminalTypeEnum.USERDEFINED={type:3,value:"USERDEFINED"};IfcWasteTerminalTypeEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC4X32.IfcWasteTerminalTypeEnum=IfcWasteTerminalTypeEnum;var IfcWindowPanelOperationEnum=/*#__PURE__*/_createClass(function IfcWindowPanelOperationEnum(){_classCallCheck(this,IfcWindowPanelOperationEnum);});IfcWindowPanelOperationEnum.BOTTOMHUNG={type:3,value:"BOTTOMHUNG"};IfcWindowPanelOperationEnum.FIXEDCASEMENT={type:3,value:"FIXEDCASEMENT"};IfcWindowPanelOperationEnum.OTHEROPERATION={type:3,value:"OTHEROPERATION"};IfcWindowPanelOperationEnum.PIVOTHORIZONTAL={type:3,value:"PIVOTHORIZONTAL"};IfcWindowPanelOperationEnum.PIVOTVERTICAL={type:3,value:"PIVOTVERTICAL"};IfcWindowPanelOperationEnum.REMOVABLECASEMENT={type:3,value:"REMOVABLECASEMENT"};IfcWindowPanelOperationEnum.SIDEHUNGLEFTHAND={type:3,value:"SIDEHUNGLEFTHAND"};IfcWindowPanelOperationEnum.SIDEHUNGRIGHTHAND={type:3,value:"SIDEHUNGRIGHTHAND"};IfcWindowPanelOperationEnum.SLIDINGHORIZONTAL={type:3,value:"SLIDINGHORIZONTAL"};IfcWindowPanelOperationEnum.SLIDINGVERTICAL={type:3,value:"SLIDINGVERTICAL"};IfcWindowPanelOperationEnum.TILTANDTURNLEFTHAND={type:3,value:"TILTANDTURNLEFTHAND"};IfcWindowPanelOperationEnum.TILTANDTURNRIGHTHAND={type:3,value:"TILTANDTURNRIGHTHAND"};IfcWindowPanelOperationEnum.TOPHUNG={type:3,value:"TOPHUNG"};IfcWindowPanelOperationEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC4X32.IfcWindowPanelOperationEnum=IfcWindowPanelOperationEnum;var IfcWindowPanelPositionEnum=/*#__PURE__*/_createClass(function IfcWindowPanelPositionEnum(){_classCallCheck(this,IfcWindowPanelPositionEnum);});IfcWindowPanelPositionEnum.BOTTOM={type:3,value:"BOTTOM"};IfcWindowPanelPositionEnum.LEFT={type:3,value:"LEFT"};IfcWindowPanelPositionEnum.MIDDLE={type:3,value:"MIDDLE"};IfcWindowPanelPositionEnum.RIGHT={type:3,value:"RIGHT"};IfcWindowPanelPositionEnum.TOP={type:3,value:"TOP"};IfcWindowPanelPositionEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC4X32.IfcWindowPanelPositionEnum=IfcWindowPanelPositionEnum;var IfcWindowStyleConstructionEnum=/*#__PURE__*/_createClass(function IfcWindowStyleConstructionEnum(){_classCallCheck(this,IfcWindowStyleConstructionEnum);});IfcWindowStyleConstructionEnum.ALUMINIUM={type:3,value:"ALUMINIUM"};IfcWindowStyleConstructionEnum.ALUMINIUM_WOOD={type:3,value:"ALUMINIUM_WOOD"};IfcWindowStyleConstructionEnum.HIGH_GRADE_STEEL={type:3,value:"HIGH_GRADE_STEEL"};IfcWindowStyleConstructionEnum.OTHER_CONSTRUCTION={type:3,value:"OTHER_CONSTRUCTION"};IfcWindowStyleConstructionEnum.PLASTIC={type:3,value:"PLASTIC"};IfcWindowStyleConstructionEnum.STEEL={type:3,value:"STEEL"};IfcWindowStyleConstructionEnum.WOOD={type:3,value:"WOOD"};IfcWindowStyleConstructionEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC4X32.IfcWindowStyleConstructionEnum=IfcWindowStyleConstructionEnum;var IfcWindowStyleOperationEnum=/*#__PURE__*/_createClass(function IfcWindowStyleOperationEnum(){_classCallCheck(this,IfcWindowStyleOperationEnum);});IfcWindowStyleOperationEnum.DOUBLE_PANEL_HORIZONTAL={type:3,value:"DOUBLE_PANEL_HORIZONTAL"};IfcWindowStyleOperationEnum.DOUBLE_PANEL_VERTICAL={type:3,value:"DOUBLE_PANEL_VERTICAL"};IfcWindowStyleOperationEnum.SINGLE_PANEL={type:3,value:"SINGLE_PANEL"};IfcWindowStyleOperationEnum.TRIPLE_PANEL_BOTTOM={type:3,value:"TRIPLE_PANEL_BOTTOM"};IfcWindowStyleOperationEnum.TRIPLE_PANEL_HORIZONTAL={type:3,value:"TRIPLE_PANEL_HORIZONTAL"};IfcWindowStyleOperationEnum.TRIPLE_PANEL_LEFT={type:3,value:"TRIPLE_PANEL_LEFT"};IfcWindowStyleOperationEnum.TRIPLE_PANEL_RIGHT={type:3,value:"TRIPLE_PANEL_RIGHT"};IfcWindowStyleOperationEnum.TRIPLE_PANEL_TOP={type:3,value:"TRIPLE_PANEL_TOP"};IfcWindowStyleOperationEnum.TRIPLE_PANEL_VERTICAL={type:3,value:"TRIPLE_PANEL_VERTICAL"};IfcWindowStyleOperationEnum.USERDEFINED={type:3,value:"USERDEFINED"};IfcWindowStyleOperationEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC4X32.IfcWindowStyleOperationEnum=IfcWindowStyleOperationEnum;var IfcWindowTypeEnum=/*#__PURE__*/_createClass(function IfcWindowTypeEnum(){_classCallCheck(this,IfcWindowTypeEnum);});IfcWindowTypeEnum.LIGHTDOME={type:3,value:"LIGHTDOME"};IfcWindowTypeEnum.SKYLIGHT={type:3,value:"SKYLIGHT"};IfcWindowTypeEnum.WINDOW={type:3,value:"WINDOW"};IfcWindowTypeEnum.USERDEFINED={type:3,value:"USERDEFINED"};IfcWindowTypeEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC4X32.IfcWindowTypeEnum=IfcWindowTypeEnum;var IfcWindowTypePartitioningEnum=/*#__PURE__*/_createClass(function IfcWindowTypePartitioningEnum(){_classCallCheck(this,IfcWindowTypePartitioningEnum);});IfcWindowTypePartitioningEnum.DOUBLE_PANEL_HORIZONTAL={type:3,value:"DOUBLE_PANEL_HORIZONTAL"};IfcWindowTypePartitioningEnum.DOUBLE_PANEL_VERTICAL={type:3,value:"DOUBLE_PANEL_VERTICAL"};IfcWindowTypePartitioningEnum.SINGLE_PANEL={type:3,value:"SINGLE_PANEL"};IfcWindowTypePartitioningEnum.TRIPLE_PANEL_BOTTOM={type:3,value:"TRIPLE_PANEL_BOTTOM"};IfcWindowTypePartitioningEnum.TRIPLE_PANEL_HORIZONTAL={type:3,value:"TRIPLE_PANEL_HORIZONTAL"};IfcWindowTypePartitioningEnum.TRIPLE_PANEL_LEFT={type:3,value:"TRIPLE_PANEL_LEFT"};IfcWindowTypePartitioningEnum.TRIPLE_PANEL_RIGHT={type:3,value:"TRIPLE_PANEL_RIGHT"};IfcWindowTypePartitioningEnum.TRIPLE_PANEL_TOP={type:3,value:"TRIPLE_PANEL_TOP"};IfcWindowTypePartitioningEnum.TRIPLE_PANEL_VERTICAL={type:3,value:"TRIPLE_PANEL_VERTICAL"};IfcWindowTypePartitioningEnum.USERDEFINED={type:3,value:"USERDEFINED"};IfcWindowTypePartitioningEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC4X32.IfcWindowTypePartitioningEnum=IfcWindowTypePartitioningEnum;var IfcWorkCalendarTypeEnum=/*#__PURE__*/_createClass(function IfcWorkCalendarTypeEnum(){_classCallCheck(this,IfcWorkCalendarTypeEnum);});IfcWorkCalendarTypeEnum.FIRSTSHIFT={type:3,value:"FIRSTSHIFT"};IfcWorkCalendarTypeEnum.SECONDSHIFT={type:3,value:"SECONDSHIFT"};IfcWorkCalendarTypeEnum.THIRDSHIFT={type:3,value:"THIRDSHIFT"};IfcWorkCalendarTypeEnum.USERDEFINED={type:3,value:"USERDEFINED"};IfcWorkCalendarTypeEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC4X32.IfcWorkCalendarTypeEnum=IfcWorkCalendarTypeEnum;var IfcWorkPlanTypeEnum=/*#__PURE__*/_createClass(function IfcWorkPlanTypeEnum(){_classCallCheck(this,IfcWorkPlanTypeEnum);});IfcWorkPlanTypeEnum.ACTUAL={type:3,value:"ACTUAL"};IfcWorkPlanTypeEnum.BASELINE={type:3,value:"BASELINE"};IfcWorkPlanTypeEnum.PLANNED={type:3,value:"PLANNED"};IfcWorkPlanTypeEnum.USERDEFINED={type:3,value:"USERDEFINED"};IfcWorkPlanTypeEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC4X32.IfcWorkPlanTypeEnum=IfcWorkPlanTypeEnum;var IfcWorkScheduleTypeEnum=/*#__PURE__*/_createClass(function IfcWorkScheduleTypeEnum(){_classCallCheck(this,IfcWorkScheduleTypeEnum);});IfcWorkScheduleTypeEnum.ACTUAL={type:3,value:"ACTUAL"};IfcWorkScheduleTypeEnum.BASELINE={type:3,value:"BASELINE"};IfcWorkScheduleTypeEnum.PLANNED={type:3,value:"PLANNED"};IfcWorkScheduleTypeEnum.USERDEFINED={type:3,value:"USERDEFINED"};IfcWorkScheduleTypeEnum.NOTDEFINED={type:3,value:"NOTDEFINED"};IFC4X32.IfcWorkScheduleTypeEnum=IfcWorkScheduleTypeEnum;var IfcActorRole=/*#__PURE__*/function(_IfcLineObject161){_inherits(IfcActorRole,_IfcLineObject161);var _super1581=_createSuper(IfcActorRole);function IfcActorRole(expressID,Role,UserDefinedRole,Description){var _this1584;_classCallCheck(this,IfcActorRole);_this1584=_super1581.call(this,expressID);_this1584.Role=Role;_this1584.UserDefinedRole=UserDefinedRole;_this1584.Description=Description;_this1584.type=3630933823;return _this1584;}return _createClass(IfcActorRole);}(IfcLineObject);IFC4X32.IfcActorRole=IfcActorRole;var IfcAddress=/*#__PURE__*/function(_IfcLineObject162){_inherits(IfcAddress,_IfcLineObject162);var _super1582=_createSuper(IfcAddress);function IfcAddress(expressID,Purpose,Description,UserDefinedPurpose){var _this1585;_classCallCheck(this,IfcAddress);_this1585=_super1582.call(this,expressID);_this1585.Purpose=Purpose;_this1585.Description=Description;_this1585.UserDefinedPurpose=UserDefinedPurpose;_this1585.type=618182010;return _this1585;}return _createClass(IfcAddress);}(IfcLineObject);IFC4X32.IfcAddress=IfcAddress;var IfcAlignmentParameterSegment=/*#__PURE__*/function(_IfcLineObject163){_inherits(IfcAlignmentParameterSegment,_IfcLineObject163);var _super1583=_createSuper(IfcAlignmentParameterSegment);function IfcAlignmentParameterSegment(expressID,StartTag,EndTag){var _this1586;_classCallCheck(this,IfcAlignmentParameterSegment);_this1586=_super1583.call(this,expressID);_this1586.StartTag=StartTag;_this1586.EndTag=EndTag;_this1586.type=2879124712;return _this1586;}return _createClass(IfcAlignmentParameterSegment);}(IfcLineObject);IFC4X32.IfcAlignmentParameterSegment=IfcAlignmentParameterSegment;var IfcAlignmentVerticalSegment=/*#__PURE__*/function(_IfcAlignmentParamete){_inherits(IfcAlignmentVerticalSegment,_IfcAlignmentParamete);var _super1584=_createSuper(IfcAlignmentVerticalSegment);function IfcAlignmentVerticalSegment(expressID,StartTag,EndTag,StartDistAlong,HorizontalLength,StartHeight,StartGradient,EndGradient,RadiusOfCurvature,PredefinedType){var _this1587;_classCallCheck(this,IfcAlignmentVerticalSegment);_this1587=_super1584.call(this,expressID,StartTag,EndTag);_this1587.StartTag=StartTag;_this1587.EndTag=EndTag;_this1587.StartDistAlong=StartDistAlong;_this1587.HorizontalLength=HorizontalLength;_this1587.StartHeight=StartHeight;_this1587.StartGradient=StartGradient;_this1587.EndGradient=EndGradient;_this1587.RadiusOfCurvature=RadiusOfCurvature;_this1587.PredefinedType=PredefinedType;_this1587.type=3633395639;return _this1587;}return _createClass(IfcAlignmentVerticalSegment);}(IfcAlignmentParameterSegment);IFC4X32.IfcAlignmentVerticalSegment=IfcAlignmentVerticalSegment;var IfcApplication=/*#__PURE__*/function(_IfcLineObject164){_inherits(IfcApplication,_IfcLineObject164);var _super1585=_createSuper(IfcApplication);function IfcApplication(expressID,ApplicationDeveloper,Version,ApplicationFullName,ApplicationIdentifier){var _this1588;_classCallCheck(this,IfcApplication);_this1588=_super1585.call(this,expressID);_this1588.ApplicationDeveloper=ApplicationDeveloper;_this1588.Version=Version;_this1588.ApplicationFullName=ApplicationFullName;_this1588.ApplicationIdentifier=ApplicationIdentifier;_this1588.type=639542469;return _this1588;}return _createClass(IfcApplication);}(IfcLineObject);IFC4X32.IfcApplication=IfcApplication;var IfcAppliedValue=/*#__PURE__*/function(_IfcLineObject165){_inherits(IfcAppliedValue,_IfcLineObject165);var _super1586=_createSuper(IfcAppliedValue);function IfcAppliedValue(expressID,Name,Description,AppliedValue,UnitBasis,ApplicableDate,FixedUntilDate,Category,Condition,ArithmeticOperator,Components){var _this1589;_classCallCheck(this,IfcAppliedValue);_this1589=_super1586.call(this,expressID);_this1589.Name=Name;_this1589.Description=Description;_this1589.AppliedValue=AppliedValue;_this1589.UnitBasis=UnitBasis;_this1589.ApplicableDate=ApplicableDate;_this1589.FixedUntilDate=FixedUntilDate;_this1589.Category=Category;_this1589.Condition=Condition;_this1589.ArithmeticOperator=ArithmeticOperator;_this1589.Components=Components;_this1589.type=411424972;return _this1589;}return _createClass(IfcAppliedValue);}(IfcLineObject);IFC4X32.IfcAppliedValue=IfcAppliedValue;var IfcApproval=/*#__PURE__*/function(_IfcLineObject166){_inherits(IfcApproval,_IfcLineObject166);var _super1587=_createSuper(IfcApproval);function IfcApproval(expressID,Identifier,Name,Description,TimeOfApproval,Status,Level,Qualifier,RequestingApproval,GivingApproval){var _this1590;_classCallCheck(this,IfcApproval);_this1590=_super1587.call(this,expressID);_this1590.Identifier=Identifier;_this1590.Name=Name;_this1590.Description=Description;_this1590.TimeOfApproval=TimeOfApproval;_this1590.Status=Status;_this1590.Level=Level;_this1590.Qualifier=Qualifier;_this1590.RequestingApproval=RequestingApproval;_this1590.GivingApproval=GivingApproval;_this1590.type=130549933;return _this1590;}return _createClass(IfcApproval);}(IfcLineObject);IFC4X32.IfcApproval=IfcApproval;var IfcBoundaryCondition=/*#__PURE__*/function(_IfcLineObject167){_inherits(IfcBoundaryCondition,_IfcLineObject167);var _super1588=_createSuper(IfcBoundaryCondition);function IfcBoundaryCondition(expressID,Name){var _this1591;_classCallCheck(this,IfcBoundaryCondition);_this1591=_super1588.call(this,expressID);_this1591.Name=Name;_this1591.type=4037036970;return _this1591;}return _createClass(IfcBoundaryCondition);}(IfcLineObject);IFC4X32.IfcBoundaryCondition=IfcBoundaryCondition;var IfcBoundaryEdgeCondition=/*#__PURE__*/function(_IfcBoundaryCondition7){_inherits(IfcBoundaryEdgeCondition,_IfcBoundaryCondition7);var _super1589=_createSuper(IfcBoundaryEdgeCondition);function IfcBoundaryEdgeCondition(expressID,Name,TranslationalStiffnessByLengthX,TranslationalStiffnessByLengthY,TranslationalStiffnessByLengthZ,RotationalStiffnessByLengthX,RotationalStiffnessByLengthY,RotationalStiffnessByLengthZ){var _this1592;_classCallCheck(this,IfcBoundaryEdgeCondition);_this1592=_super1589.call(this,expressID,Name);_this1592.Name=Name;_this1592.TranslationalStiffnessByLengthX=TranslationalStiffnessByLengthX;_this1592.TranslationalStiffnessByLengthY=TranslationalStiffnessByLengthY;_this1592.TranslationalStiffnessByLengthZ=TranslationalStiffnessByLengthZ;_this1592.RotationalStiffnessByLengthX=RotationalStiffnessByLengthX;_this1592.RotationalStiffnessByLengthY=RotationalStiffnessByLengthY;_this1592.RotationalStiffnessByLengthZ=RotationalStiffnessByLengthZ;_this1592.type=1560379544;return _this1592;}return _createClass(IfcBoundaryEdgeCondition);}(IfcBoundaryCondition);IFC4X32.IfcBoundaryEdgeCondition=IfcBoundaryEdgeCondition;var IfcBoundaryFaceCondition=/*#__PURE__*/function(_IfcBoundaryCondition8){_inherits(IfcBoundaryFaceCondition,_IfcBoundaryCondition8);var _super1590=_createSuper(IfcBoundaryFaceCondition);function IfcBoundaryFaceCondition(expressID,Name,TranslationalStiffnessByAreaX,TranslationalStiffnessByAreaY,TranslationalStiffnessByAreaZ){var _this1593;_classCallCheck(this,IfcBoundaryFaceCondition);_this1593=_super1590.call(this,expressID,Name);_this1593.Name=Name;_this1593.TranslationalStiffnessByAreaX=TranslationalStiffnessByAreaX;_this1593.TranslationalStiffnessByAreaY=TranslationalStiffnessByAreaY;_this1593.TranslationalStiffnessByAreaZ=TranslationalStiffnessByAreaZ;_this1593.type=3367102660;return _this1593;}return _createClass(IfcBoundaryFaceCondition);}(IfcBoundaryCondition);IFC4X32.IfcBoundaryFaceCondition=IfcBoundaryFaceCondition;var IfcBoundaryNodeCondition=/*#__PURE__*/function(_IfcBoundaryCondition9){_inherits(IfcBoundaryNodeCondition,_IfcBoundaryCondition9);var _super1591=_createSuper(IfcBoundaryNodeCondition);function IfcBoundaryNodeCondition(expressID,Name,TranslationalStiffnessX,TranslationalStiffnessY,TranslationalStiffnessZ,RotationalStiffnessX,RotationalStiffnessY,RotationalStiffnessZ){var _this1594;_classCallCheck(this,IfcBoundaryNodeCondition);_this1594=_super1591.call(this,expressID,Name);_this1594.Name=Name;_this1594.TranslationalStiffnessX=TranslationalStiffnessX;_this1594.TranslationalStiffnessY=TranslationalStiffnessY;_this1594.TranslationalStiffnessZ=TranslationalStiffnessZ;_this1594.RotationalStiffnessX=RotationalStiffnessX;_this1594.RotationalStiffnessY=RotationalStiffnessY;_this1594.RotationalStiffnessZ=RotationalStiffnessZ;_this1594.type=1387855156;return _this1594;}return _createClass(IfcBoundaryNodeCondition);}(IfcBoundaryCondition);IFC4X32.IfcBoundaryNodeCondition=IfcBoundaryNodeCondition;var IfcBoundaryNodeConditionWarping=/*#__PURE__*/function(_IfcBoundaryNodeCondi3){_inherits(IfcBoundaryNodeConditionWarping,_IfcBoundaryNodeCondi3);var _super1592=_createSuper(IfcBoundaryNodeConditionWarping);function IfcBoundaryNodeConditionWarping(expressID,Name,TranslationalStiffnessX,TranslationalStiffnessY,TranslationalStiffnessZ,RotationalStiffnessX,RotationalStiffnessY,RotationalStiffnessZ,WarpingStiffness){var _this1595;_classCallCheck(this,IfcBoundaryNodeConditionWarping);_this1595=_super1592.call(this,expressID,Name,TranslationalStiffnessX,TranslationalStiffnessY,TranslationalStiffnessZ,RotationalStiffnessX,RotationalStiffnessY,RotationalStiffnessZ);_this1595.Name=Name;_this1595.TranslationalStiffnessX=TranslationalStiffnessX;_this1595.TranslationalStiffnessY=TranslationalStiffnessY;_this1595.TranslationalStiffnessZ=TranslationalStiffnessZ;_this1595.RotationalStiffnessX=RotationalStiffnessX;_this1595.RotationalStiffnessY=RotationalStiffnessY;_this1595.RotationalStiffnessZ=RotationalStiffnessZ;_this1595.WarpingStiffness=WarpingStiffness;_this1595.type=2069777674;return _this1595;}return _createClass(IfcBoundaryNodeConditionWarping);}(IfcBoundaryNodeCondition);IFC4X32.IfcBoundaryNodeConditionWarping=IfcBoundaryNodeConditionWarping;var IfcConnectionGeometry=/*#__PURE__*/function(_IfcLineObject168){_inherits(IfcConnectionGeometry,_IfcLineObject168);var _super1593=_createSuper(IfcConnectionGeometry);function IfcConnectionGeometry(expressID){var _this1596;_classCallCheck(this,IfcConnectionGeometry);_this1596=_super1593.call(this,expressID);_this1596.type=2859738748;return _this1596;}return _createClass(IfcConnectionGeometry);}(IfcLineObject);IFC4X32.IfcConnectionGeometry=IfcConnectionGeometry;var IfcConnectionPointGeometry=/*#__PURE__*/function(_IfcConnectionGeometr9){_inherits(IfcConnectionPointGeometry,_IfcConnectionGeometr9);var _super1594=_createSuper(IfcConnectionPointGeometry);function IfcConnectionPointGeometry(expressID,PointOnRelatingElement,PointOnRelatedElement){var _this1597;_classCallCheck(this,IfcConnectionPointGeometry);_this1597=_super1594.call(this,expressID);_this1597.PointOnRelatingElement=PointOnRelatingElement;_this1597.PointOnRelatedElement=PointOnRelatedElement;_this1597.type=2614616156;return _this1597;}return _createClass(IfcConnectionPointGeometry);}(IfcConnectionGeometry);IFC4X32.IfcConnectionPointGeometry=IfcConnectionPointGeometry;var IfcConnectionSurfaceGeometry=/*#__PURE__*/function(_IfcConnectionGeometr10){_inherits(IfcConnectionSurfaceGeometry,_IfcConnectionGeometr10);var _super1595=_createSuper(IfcConnectionSurfaceGeometry);function IfcConnectionSurfaceGeometry(expressID,SurfaceOnRelatingElement,SurfaceOnRelatedElement){var _this1598;_classCallCheck(this,IfcConnectionSurfaceGeometry);_this1598=_super1595.call(this,expressID);_this1598.SurfaceOnRelatingElement=SurfaceOnRelatingElement;_this1598.SurfaceOnRelatedElement=SurfaceOnRelatedElement;_this1598.type=2732653382;return _this1598;}return _createClass(IfcConnectionSurfaceGeometry);}(IfcConnectionGeometry);IFC4X32.IfcConnectionSurfaceGeometry=IfcConnectionSurfaceGeometry;var IfcConnectionVolumeGeometry=/*#__PURE__*/function(_IfcConnectionGeometr11){_inherits(IfcConnectionVolumeGeometry,_IfcConnectionGeometr11);var _super1596=_createSuper(IfcConnectionVolumeGeometry);function IfcConnectionVolumeGeometry(expressID,VolumeOnRelatingElement,VolumeOnRelatedElement){var _this1599;_classCallCheck(this,IfcConnectionVolumeGeometry);_this1599=_super1596.call(this,expressID);_this1599.VolumeOnRelatingElement=VolumeOnRelatingElement;_this1599.VolumeOnRelatedElement=VolumeOnRelatedElement;_this1599.type=775493141;return _this1599;}return _createClass(IfcConnectionVolumeGeometry);}(IfcConnectionGeometry);IFC4X32.IfcConnectionVolumeGeometry=IfcConnectionVolumeGeometry;var IfcConstraint=/*#__PURE__*/function(_IfcLineObject169){_inherits(IfcConstraint,_IfcLineObject169);var _super1597=_createSuper(IfcConstraint);function IfcConstraint(expressID,Name,Description,ConstraintGrade,ConstraintSource,CreatingActor,CreationTime,UserDefinedGrade){var _this1600;_classCallCheck(this,IfcConstraint);_this1600=_super1597.call(this,expressID);_this1600.Name=Name;_this1600.Description=Description;_this1600.ConstraintGrade=ConstraintGrade;_this1600.ConstraintSource=ConstraintSource;_this1600.CreatingActor=CreatingActor;_this1600.CreationTime=CreationTime;_this1600.UserDefinedGrade=UserDefinedGrade;_this1600.type=1959218052;return _this1600;}return _createClass(IfcConstraint);}(IfcLineObject);IFC4X32.IfcConstraint=IfcConstraint;var IfcCoordinateOperation=/*#__PURE__*/function(_IfcLineObject170){_inherits(IfcCoordinateOperation,_IfcLineObject170);var _super1598=_createSuper(IfcCoordinateOperation);function IfcCoordinateOperation(expressID,SourceCRS,TargetCRS){var _this1601;_classCallCheck(this,IfcCoordinateOperation);_this1601=_super1598.call(this,expressID);_this1601.SourceCRS=SourceCRS;_this1601.TargetCRS=TargetCRS;_this1601.type=1785450214;return _this1601;}return _createClass(IfcCoordinateOperation);}(IfcLineObject);IFC4X32.IfcCoordinateOperation=IfcCoordinateOperation;var IfcCoordinateReferenceSystem=/*#__PURE__*/function(_IfcLineObject171){_inherits(IfcCoordinateReferenceSystem,_IfcLineObject171);var _super1599=_createSuper(IfcCoordinateReferenceSystem);function IfcCoordinateReferenceSystem(expressID,Name,Description,GeodeticDatum,VerticalDatum){var _this1602;_classCallCheck(this,IfcCoordinateReferenceSystem);_this1602=_super1599.call(this,expressID);_this1602.Name=Name;_this1602.Description=Description;_this1602.GeodeticDatum=GeodeticDatum;_this1602.VerticalDatum=VerticalDatum;_this1602.type=1466758467;return _this1602;}return _createClass(IfcCoordinateReferenceSystem);}(IfcLineObject);IFC4X32.IfcCoordinateReferenceSystem=IfcCoordinateReferenceSystem;var IfcCostValue=/*#__PURE__*/function(_IfcAppliedValue4){_inherits(IfcCostValue,_IfcAppliedValue4);var _super1600=_createSuper(IfcCostValue);function IfcCostValue(expressID,Name,Description,AppliedValue,UnitBasis,ApplicableDate,FixedUntilDate,Category,Condition,ArithmeticOperator,Components){var _this1603;_classCallCheck(this,IfcCostValue);_this1603=_super1600.call(this,expressID,Name,Description,AppliedValue,UnitBasis,ApplicableDate,FixedUntilDate,Category,Condition,ArithmeticOperator,Components);_this1603.Name=Name;_this1603.Description=Description;_this1603.AppliedValue=AppliedValue;_this1603.UnitBasis=UnitBasis;_this1603.ApplicableDate=ApplicableDate;_this1603.FixedUntilDate=FixedUntilDate;_this1603.Category=Category;_this1603.Condition=Condition;_this1603.ArithmeticOperator=ArithmeticOperator;_this1603.Components=Components;_this1603.type=602808272;return _this1603;}return _createClass(IfcCostValue);}(IfcAppliedValue);IFC4X32.IfcCostValue=IfcCostValue;var IfcDerivedUnit=/*#__PURE__*/function(_IfcLineObject172){_inherits(IfcDerivedUnit,_IfcLineObject172);var _super1601=_createSuper(IfcDerivedUnit);function IfcDerivedUnit(expressID,Elements,UnitType,UserDefinedType,Name){var _this1604;_classCallCheck(this,IfcDerivedUnit);_this1604=_super1601.call(this,expressID);_this1604.Elements=Elements;_this1604.UnitType=UnitType;_this1604.UserDefinedType=UserDefinedType;_this1604.Name=Name;_this1604.type=1765591967;return _this1604;}return _createClass(IfcDerivedUnit);}(IfcLineObject);IFC4X32.IfcDerivedUnit=IfcDerivedUnit;var IfcDerivedUnitElement=/*#__PURE__*/function(_IfcLineObject173){_inherits(IfcDerivedUnitElement,_IfcLineObject173);var _super1602=_createSuper(IfcDerivedUnitElement);function IfcDerivedUnitElement(expressID,Unit,Exponent){var _this1605;_classCallCheck(this,IfcDerivedUnitElement);_this1605=_super1602.call(this,expressID);_this1605.Unit=Unit;_this1605.Exponent=Exponent;_this1605.type=1045800335;return _this1605;}return _createClass(IfcDerivedUnitElement);}(IfcLineObject);IFC4X32.IfcDerivedUnitElement=IfcDerivedUnitElement;var IfcDimensionalExponents=/*#__PURE__*/function(_IfcLineObject174){_inherits(IfcDimensionalExponents,_IfcLineObject174);var _super1603=_createSuper(IfcDimensionalExponents);function IfcDimensionalExponents(expressID,LengthExponent,MassExponent,TimeExponent,ElectricCurrentExponent,ThermodynamicTemperatureExponent,AmountOfSubstanceExponent,LuminousIntensityExponent){var _this1606;_classCallCheck(this,IfcDimensionalExponents);_this1606=_super1603.call(this,expressID);_this1606.LengthExponent=LengthExponent;_this1606.MassExponent=MassExponent;_this1606.TimeExponent=TimeExponent;_this1606.ElectricCurrentExponent=ElectricCurrentExponent;_this1606.ThermodynamicTemperatureExponent=ThermodynamicTemperatureExponent;_this1606.AmountOfSubstanceExponent=AmountOfSubstanceExponent;_this1606.LuminousIntensityExponent=LuminousIntensityExponent;_this1606.type=2949456006;return _this1606;}return _createClass(IfcDimensionalExponents);}(IfcLineObject);IFC4X32.IfcDimensionalExponents=IfcDimensionalExponents;var IfcExternalInformation=/*#__PURE__*/function(_IfcLineObject175){_inherits(IfcExternalInformation,_IfcLineObject175);var _super1604=_createSuper(IfcExternalInformation);function IfcExternalInformation(expressID){var _this1607;_classCallCheck(this,IfcExternalInformation);_this1607=_super1604.call(this,expressID);_this1607.type=4294318154;return _this1607;}return _createClass(IfcExternalInformation);}(IfcLineObject);IFC4X32.IfcExternalInformation=IfcExternalInformation;var IfcExternalReference=/*#__PURE__*/function(_IfcLineObject176){_inherits(IfcExternalReference,_IfcLineObject176);var _super1605=_createSuper(IfcExternalReference);function IfcExternalReference(expressID,Location,Identification,Name){var _this1608;_classCallCheck(this,IfcExternalReference);_this1608=_super1605.call(this,expressID);_this1608.Location=Location;_this1608.Identification=Identification;_this1608.Name=Name;_this1608.type=3200245327;return _this1608;}return _createClass(IfcExternalReference);}(IfcLineObject);IFC4X32.IfcExternalReference=IfcExternalReference;var IfcExternallyDefinedHatchStyle=/*#__PURE__*/function(_IfcExternalReference14){_inherits(IfcExternallyDefinedHatchStyle,_IfcExternalReference14);var _super1606=_createSuper(IfcExternallyDefinedHatchStyle);function IfcExternallyDefinedHatchStyle(expressID,Location,Identification,Name){var _this1609;_classCallCheck(this,IfcExternallyDefinedHatchStyle);_this1609=_super1606.call(this,expressID,Location,Identification,Name);_this1609.Location=Location;_this1609.Identification=Identification;_this1609.Name=Name;_this1609.type=2242383968;return _this1609;}return _createClass(IfcExternallyDefinedHatchStyle);}(IfcExternalReference);IFC4X32.IfcExternallyDefinedHatchStyle=IfcExternallyDefinedHatchStyle;var IfcExternallyDefinedSurfaceStyle=/*#__PURE__*/function(_IfcExternalReference15){_inherits(IfcExternallyDefinedSurfaceStyle,_IfcExternalReference15);var _super1607=_createSuper(IfcExternallyDefinedSurfaceStyle);function IfcExternallyDefinedSurfaceStyle(expressID,Location,Identification,Name){var _this1610;_classCallCheck(this,IfcExternallyDefinedSurfaceStyle);_this1610=_super1607.call(this,expressID,Location,Identification,Name);_this1610.Location=Location;_this1610.Identification=Identification;_this1610.Name=Name;_this1610.type=1040185647;return _this1610;}return _createClass(IfcExternallyDefinedSurfaceStyle);}(IfcExternalReference);IFC4X32.IfcExternallyDefinedSurfaceStyle=IfcExternallyDefinedSurfaceStyle;var IfcExternallyDefinedTextFont=/*#__PURE__*/function(_IfcExternalReference16){_inherits(IfcExternallyDefinedTextFont,_IfcExternalReference16);var _super1608=_createSuper(IfcExternallyDefinedTextFont);function IfcExternallyDefinedTextFont(expressID,Location,Identification,Name){var _this1611;_classCallCheck(this,IfcExternallyDefinedTextFont);_this1611=_super1608.call(this,expressID,Location,Identification,Name);_this1611.Location=Location;_this1611.Identification=Identification;_this1611.Name=Name;_this1611.type=3548104201;return _this1611;}return _createClass(IfcExternallyDefinedTextFont);}(IfcExternalReference);IFC4X32.IfcExternallyDefinedTextFont=IfcExternallyDefinedTextFont;var IfcGridAxis=/*#__PURE__*/function(_IfcLineObject177){_inherits(IfcGridAxis,_IfcLineObject177);var _super1609=_createSuper(IfcGridAxis);function IfcGridAxis(expressID,AxisTag,AxisCurve,SameSense){var _this1612;_classCallCheck(this,IfcGridAxis);_this1612=_super1609.call(this,expressID);_this1612.AxisTag=AxisTag;_this1612.AxisCurve=AxisCurve;_this1612.SameSense=SameSense;_this1612.type=852622518;return _this1612;}return _createClass(IfcGridAxis);}(IfcLineObject);IFC4X32.IfcGridAxis=IfcGridAxis;var IfcIrregularTimeSeriesValue=/*#__PURE__*/function(_IfcLineObject178){_inherits(IfcIrregularTimeSeriesValue,_IfcLineObject178);var _super1610=_createSuper(IfcIrregularTimeSeriesValue);function IfcIrregularTimeSeriesValue(expressID,TimeStamp,ListValues){var _this1613;_classCallCheck(this,IfcIrregularTimeSeriesValue);_this1613=_super1610.call(this,expressID);_this1613.TimeStamp=TimeStamp;_this1613.ListValues=ListValues;_this1613.type=3020489413;return _this1613;}return _createClass(IfcIrregularTimeSeriesValue);}(IfcLineObject);IFC4X32.IfcIrregularTimeSeriesValue=IfcIrregularTimeSeriesValue;var IfcLibraryInformation=/*#__PURE__*/function(_IfcExternalInformati4){_inherits(IfcLibraryInformation,_IfcExternalInformati4);var _super1611=_createSuper(IfcLibraryInformation);function IfcLibraryInformation(expressID,Name,Version,Publisher,VersionDate,Location,Description){var _this1614;_classCallCheck(this,IfcLibraryInformation);_this1614=_super1611.call(this,expressID);_this1614.Name=Name;_this1614.Version=Version;_this1614.Publisher=Publisher;_this1614.VersionDate=VersionDate;_this1614.Location=Location;_this1614.Description=Description;_this1614.type=2655187982;return _this1614;}return _createClass(IfcLibraryInformation);}(IfcExternalInformation);IFC4X32.IfcLibraryInformation=IfcLibraryInformation;var IfcLibraryReference=/*#__PURE__*/function(_IfcExternalReference17){_inherits(IfcLibraryReference,_IfcExternalReference17);var _super1612=_createSuper(IfcLibraryReference);function IfcLibraryReference(expressID,Location,Identification,Name,Description,Language,ReferencedLibrary){var _this1615;_classCallCheck(this,IfcLibraryReference);_this1615=_super1612.call(this,expressID,Location,Identification,Name);_this1615.Location=Location;_this1615.Identification=Identification;_this1615.Name=Name;_this1615.Description=Description;_this1615.Language=Language;_this1615.ReferencedLibrary=ReferencedLibrary;_this1615.type=3452421091;return _this1615;}return _createClass(IfcLibraryReference);}(IfcExternalReference);IFC4X32.IfcLibraryReference=IfcLibraryReference;var IfcLightDistributionData=/*#__PURE__*/function(_IfcLineObject179){_inherits(IfcLightDistributionData,_IfcLineObject179);var _super1613=_createSuper(IfcLightDistributionData);function IfcLightDistributionData(expressID,MainPlaneAngle,SecondaryPlaneAngle,LuminousIntensity){var _this1616;_classCallCheck(this,IfcLightDistributionData);_this1616=_super1613.call(this,expressID);_this1616.MainPlaneAngle=MainPlaneAngle;_this1616.SecondaryPlaneAngle=SecondaryPlaneAngle;_this1616.LuminousIntensity=LuminousIntensity;_this1616.type=4162380809;return _this1616;}return _createClass(IfcLightDistributionData);}(IfcLineObject);IFC4X32.IfcLightDistributionData=IfcLightDistributionData;var IfcLightIntensityDistribution=/*#__PURE__*/function(_IfcLineObject180){_inherits(IfcLightIntensityDistribution,_IfcLineObject180);var _super1614=_createSuper(IfcLightIntensityDistribution);function IfcLightIntensityDistribution(expressID,LightDistributionCurve,DistributionData){var _this1617;_classCallCheck(this,IfcLightIntensityDistribution);_this1617=_super1614.call(this,expressID);_this1617.LightDistributionCurve=LightDistributionCurve;_this1617.DistributionData=DistributionData;_this1617.type=1566485204;return _this1617;}return _createClass(IfcLightIntensityDistribution);}(IfcLineObject);IFC4X32.IfcLightIntensityDistribution=IfcLightIntensityDistribution;var IfcMapConversion=/*#__PURE__*/function(_IfcCoordinateOperati2){_inherits(IfcMapConversion,_IfcCoordinateOperati2);var _super1615=_createSuper(IfcMapConversion);function IfcMapConversion(expressID,SourceCRS,TargetCRS,Eastings,Northings,OrthogonalHeight,XAxisAbscissa,XAxisOrdinate,Scale,ScaleY,ScaleZ){var _this1618;_classCallCheck(this,IfcMapConversion);_this1618=_super1615.call(this,expressID,SourceCRS,TargetCRS);_this1618.SourceCRS=SourceCRS;_this1618.TargetCRS=TargetCRS;_this1618.Eastings=Eastings;_this1618.Northings=Northings;_this1618.OrthogonalHeight=OrthogonalHeight;_this1618.XAxisAbscissa=XAxisAbscissa;_this1618.XAxisOrdinate=XAxisOrdinate;_this1618.Scale=Scale;_this1618.ScaleY=ScaleY;_this1618.ScaleZ=ScaleZ;_this1618.type=3057273783;return _this1618;}return _createClass(IfcMapConversion);}(IfcCoordinateOperation);IFC4X32.IfcMapConversion=IfcMapConversion;var IfcMaterialClassificationRelationship=/*#__PURE__*/function(_IfcLineObject181){_inherits(IfcMaterialClassificationRelationship,_IfcLineObject181);var _super1616=_createSuper(IfcMaterialClassificationRelationship);function IfcMaterialClassificationRelationship(expressID,MaterialClassifications,ClassifiedMaterial){var _this1619;_classCallCheck(this,IfcMaterialClassificationRelationship);_this1619=_super1616.call(this,expressID);_this1619.MaterialClassifications=MaterialClassifications;_this1619.ClassifiedMaterial=ClassifiedMaterial;_this1619.type=1847130766;return _this1619;}return _createClass(IfcMaterialClassificationRelationship);}(IfcLineObject);IFC4X32.IfcMaterialClassificationRelationship=IfcMaterialClassificationRelationship;var IfcMaterialDefinition=/*#__PURE__*/function(_IfcLineObject182){_inherits(IfcMaterialDefinition,_IfcLineObject182);var _super1617=_createSuper(IfcMaterialDefinition);function IfcMaterialDefinition(expressID){var _this1620;_classCallCheck(this,IfcMaterialDefinition);_this1620=_super1617.call(this,expressID);_this1620.type=760658860;return _this1620;}return _createClass(IfcMaterialDefinition);}(IfcLineObject);IFC4X32.IfcMaterialDefinition=IfcMaterialDefinition;var IfcMaterialLayer=/*#__PURE__*/function(_IfcMaterialDefinitio8){_inherits(IfcMaterialLayer,_IfcMaterialDefinitio8);var _super1618=_createSuper(IfcMaterialLayer);function IfcMaterialLayer(expressID,Material,LayerThickness,IsVentilated,Name,Description,Category,Priority){var _this1621;_classCallCheck(this,IfcMaterialLayer);_this1621=_super1618.call(this,expressID);_this1621.Material=Material;_this1621.LayerThickness=LayerThickness;_this1621.IsVentilated=IsVentilated;_this1621.Name=Name;_this1621.Description=Description;_this1621.Category=Category;_this1621.Priority=Priority;_this1621.type=248100487;return _this1621;}return _createClass(IfcMaterialLayer);}(IfcMaterialDefinition);IFC4X32.IfcMaterialLayer=IfcMaterialLayer;var IfcMaterialLayerSet=/*#__PURE__*/function(_IfcMaterialDefinitio9){_inherits(IfcMaterialLayerSet,_IfcMaterialDefinitio9);var _super1619=_createSuper(IfcMaterialLayerSet);function IfcMaterialLayerSet(expressID,MaterialLayers,LayerSetName,Description){var _this1622;_classCallCheck(this,IfcMaterialLayerSet);_this1622=_super1619.call(this,expressID);_this1622.MaterialLayers=MaterialLayers;_this1622.LayerSetName=LayerSetName;_this1622.Description=Description;_this1622.type=3303938423;return _this1622;}return _createClass(IfcMaterialLayerSet);}(IfcMaterialDefinition);IFC4X32.IfcMaterialLayerSet=IfcMaterialLayerSet;var IfcMaterialLayerWithOffsets=/*#__PURE__*/function(_IfcMaterialLayer2){_inherits(IfcMaterialLayerWithOffsets,_IfcMaterialLayer2);var _super1620=_createSuper(IfcMaterialLayerWithOffsets);function IfcMaterialLayerWithOffsets(expressID,Material,LayerThickness,IsVentilated,Name,Description,Category,Priority,OffsetDirection,OffsetValues){var _this1623;_classCallCheck(this,IfcMaterialLayerWithOffsets);_this1623=_super1620.call(this,expressID,Material,LayerThickness,IsVentilated,Name,Description,Category,Priority);_this1623.Material=Material;_this1623.LayerThickness=LayerThickness;_this1623.IsVentilated=IsVentilated;_this1623.Name=Name;_this1623.Description=Description;_this1623.Category=Category;_this1623.Priority=Priority;_this1623.OffsetDirection=OffsetDirection;_this1623.OffsetValues=OffsetValues;_this1623.type=1847252529;return _this1623;}return _createClass(IfcMaterialLayerWithOffsets);}(IfcMaterialLayer);IFC4X32.IfcMaterialLayerWithOffsets=IfcMaterialLayerWithOffsets;var IfcMaterialList=/*#__PURE__*/function(_IfcLineObject183){_inherits(IfcMaterialList,_IfcLineObject183);var _super1621=_createSuper(IfcMaterialList);function IfcMaterialList(expressID,Materials){var _this1624;_classCallCheck(this,IfcMaterialList);_this1624=_super1621.call(this,expressID);_this1624.Materials=Materials;_this1624.type=2199411900;return _this1624;}return _createClass(IfcMaterialList);}(IfcLineObject);IFC4X32.IfcMaterialList=IfcMaterialList;var IfcMaterialProfile=/*#__PURE__*/function(_IfcMaterialDefinitio10){_inherits(IfcMaterialProfile,_IfcMaterialDefinitio10);var _super1622=_createSuper(IfcMaterialProfile);function IfcMaterialProfile(expressID,Name,Description,Material,Profile,Priority,Category){var _this1625;_classCallCheck(this,IfcMaterialProfile);_this1625=_super1622.call(this,expressID);_this1625.Name=Name;_this1625.Description=Description;_this1625.Material=Material;_this1625.Profile=Profile;_this1625.Priority=Priority;_this1625.Category=Category;_this1625.type=2235152071;return _this1625;}return _createClass(IfcMaterialProfile);}(IfcMaterialDefinition);IFC4X32.IfcMaterialProfile=IfcMaterialProfile;var IfcMaterialProfileSet=/*#__PURE__*/function(_IfcMaterialDefinitio11){_inherits(IfcMaterialProfileSet,_IfcMaterialDefinitio11);var _super1623=_createSuper(IfcMaterialProfileSet);function IfcMaterialProfileSet(expressID,Name,Description,MaterialProfiles,CompositeProfile){var _this1626;_classCallCheck(this,IfcMaterialProfileSet);_this1626=_super1623.call(this,expressID);_this1626.Name=Name;_this1626.Description=Description;_this1626.MaterialProfiles=MaterialProfiles;_this1626.CompositeProfile=CompositeProfile;_this1626.type=164193824;return _this1626;}return _createClass(IfcMaterialProfileSet);}(IfcMaterialDefinition);IFC4X32.IfcMaterialProfileSet=IfcMaterialProfileSet;var IfcMaterialProfileWithOffsets=/*#__PURE__*/function(_IfcMaterialProfile2){_inherits(IfcMaterialProfileWithOffsets,_IfcMaterialProfile2);var _super1624=_createSuper(IfcMaterialProfileWithOffsets);function IfcMaterialProfileWithOffsets(expressID,Name,Description,Material,Profile,Priority,Category,OffsetValues){var _this1627;_classCallCheck(this,IfcMaterialProfileWithOffsets);_this1627=_super1624.call(this,expressID,Name,Description,Material,Profile,Priority,Category);_this1627.Name=Name;_this1627.Description=Description;_this1627.Material=Material;_this1627.Profile=Profile;_this1627.Priority=Priority;_this1627.Category=Category;_this1627.OffsetValues=OffsetValues;_this1627.type=552965576;return _this1627;}return _createClass(IfcMaterialProfileWithOffsets);}(IfcMaterialProfile);IFC4X32.IfcMaterialProfileWithOffsets=IfcMaterialProfileWithOffsets;var IfcMaterialUsageDefinition=/*#__PURE__*/function(_IfcLineObject184){_inherits(IfcMaterialUsageDefinition,_IfcLineObject184);var _super1625=_createSuper(IfcMaterialUsageDefinition);function IfcMaterialUsageDefinition(expressID){var _this1628;_classCallCheck(this,IfcMaterialUsageDefinition);_this1628=_super1625.call(this,expressID);_this1628.type=1507914824;return _this1628;}return _createClass(IfcMaterialUsageDefinition);}(IfcLineObject);IFC4X32.IfcMaterialUsageDefinition=IfcMaterialUsageDefinition;var IfcMeasureWithUnit=/*#__PURE__*/function(_IfcLineObject185){_inherits(IfcMeasureWithUnit,_IfcLineObject185);var _super1626=_createSuper(IfcMeasureWithUnit);function IfcMeasureWithUnit(expressID,ValueComponent,UnitComponent){var _this1629;_classCallCheck(this,IfcMeasureWithUnit);_this1629=_super1626.call(this,expressID);_this1629.ValueComponent=ValueComponent;_this1629.UnitComponent=UnitComponent;_this1629.type=2597039031;return _this1629;}return _createClass(IfcMeasureWithUnit);}(IfcLineObject);IFC4X32.IfcMeasureWithUnit=IfcMeasureWithUnit;var IfcMetric=/*#__PURE__*/function(_IfcConstraint5){_inherits(IfcMetric,_IfcConstraint5);var _super1627=_createSuper(IfcMetric);function IfcMetric(expressID,Name,Description,ConstraintGrade,ConstraintSource,CreatingActor,CreationTime,UserDefinedGrade,Benchmark,ValueSource,DataValue,ReferencePath){var _this1630;_classCallCheck(this,IfcMetric);_this1630=_super1627.call(this,expressID,Name,Description,ConstraintGrade,ConstraintSource,CreatingActor,CreationTime,UserDefinedGrade);_this1630.Name=Name;_this1630.Description=Description;_this1630.ConstraintGrade=ConstraintGrade;_this1630.ConstraintSource=ConstraintSource;_this1630.CreatingActor=CreatingActor;_this1630.CreationTime=CreationTime;_this1630.UserDefinedGrade=UserDefinedGrade;_this1630.Benchmark=Benchmark;_this1630.ValueSource=ValueSource;_this1630.DataValue=DataValue;_this1630.ReferencePath=ReferencePath;_this1630.type=3368373690;return _this1630;}return _createClass(IfcMetric);}(IfcConstraint);IFC4X32.IfcMetric=IfcMetric;var IfcMonetaryUnit=/*#__PURE__*/function(_IfcLineObject186){_inherits(IfcMonetaryUnit,_IfcLineObject186);var _super1628=_createSuper(IfcMonetaryUnit);function IfcMonetaryUnit(expressID,Currency){var _this1631;_classCallCheck(this,IfcMonetaryUnit);_this1631=_super1628.call(this,expressID);_this1631.Currency=Currency;_this1631.type=2706619895;return _this1631;}return _createClass(IfcMonetaryUnit);}(IfcLineObject);IFC4X32.IfcMonetaryUnit=IfcMonetaryUnit;var IfcNamedUnit=/*#__PURE__*/function(_IfcLineObject187){_inherits(IfcNamedUnit,_IfcLineObject187);var _super1629=_createSuper(IfcNamedUnit);function IfcNamedUnit(expressID,Dimensions,UnitType){var _this1632;_classCallCheck(this,IfcNamedUnit);_this1632=_super1629.call(this,expressID);_this1632.Dimensions=Dimensions;_this1632.UnitType=UnitType;_this1632.type=1918398963;return _this1632;}return _createClass(IfcNamedUnit);}(IfcLineObject);IFC4X32.IfcNamedUnit=IfcNamedUnit;var IfcObjectPlacement=/*#__PURE__*/function(_IfcLineObject188){_inherits(IfcObjectPlacement,_IfcLineObject188);var _super1630=_createSuper(IfcObjectPlacement);function IfcObjectPlacement(expressID,PlacementRelTo){var _this1633;_classCallCheck(this,IfcObjectPlacement);_this1633=_super1630.call(this,expressID);_this1633.PlacementRelTo=PlacementRelTo;_this1633.type=3701648758;return _this1633;}return _createClass(IfcObjectPlacement);}(IfcLineObject);IFC4X32.IfcObjectPlacement=IfcObjectPlacement;var IfcObjective=/*#__PURE__*/function(_IfcConstraint6){_inherits(IfcObjective,_IfcConstraint6);var _super1631=_createSuper(IfcObjective);function IfcObjective(expressID,Name,Description,ConstraintGrade,ConstraintSource,CreatingActor,CreationTime,UserDefinedGrade,BenchmarkValues,LogicalAggregator,ObjectiveQualifier,UserDefinedQualifier){var _this1634;_classCallCheck(this,IfcObjective);_this1634=_super1631.call(this,expressID,Name,Description,ConstraintGrade,ConstraintSource,CreatingActor,CreationTime,UserDefinedGrade);_this1634.Name=Name;_this1634.Description=Description;_this1634.ConstraintGrade=ConstraintGrade;_this1634.ConstraintSource=ConstraintSource;_this1634.CreatingActor=CreatingActor;_this1634.CreationTime=CreationTime;_this1634.UserDefinedGrade=UserDefinedGrade;_this1634.BenchmarkValues=BenchmarkValues;_this1634.LogicalAggregator=LogicalAggregator;_this1634.ObjectiveQualifier=ObjectiveQualifier;_this1634.UserDefinedQualifier=UserDefinedQualifier;_this1634.type=2251480897;return _this1634;}return _createClass(IfcObjective);}(IfcConstraint);IFC4X32.IfcObjective=IfcObjective;var IfcOrganization=/*#__PURE__*/function(_IfcLineObject189){_inherits(IfcOrganization,_IfcLineObject189);var _super1632=_createSuper(IfcOrganization);function IfcOrganization(expressID,Identification,Name,Description,Roles,Addresses){var _this1635;_classCallCheck(this,IfcOrganization);_this1635=_super1632.call(this,expressID);_this1635.Identification=Identification;_this1635.Name=Name;_this1635.Description=Description;_this1635.Roles=Roles;_this1635.Addresses=Addresses;_this1635.type=4251960020;return _this1635;}return _createClass(IfcOrganization);}(IfcLineObject);IFC4X32.IfcOrganization=IfcOrganization;var IfcOwnerHistory=/*#__PURE__*/function(_IfcLineObject190){_inherits(IfcOwnerHistory,_IfcLineObject190);var _super1633=_createSuper(IfcOwnerHistory);function IfcOwnerHistory(expressID,OwningUser,OwningApplication,State,ChangeAction,LastModifiedDate,LastModifyingUser,LastModifyingApplication,CreationDate){var _this1636;_classCallCheck(this,IfcOwnerHistory);_this1636=_super1633.call(this,expressID);_this1636.OwningUser=OwningUser;_this1636.OwningApplication=OwningApplication;_this1636.State=State;_this1636.ChangeAction=ChangeAction;_this1636.LastModifiedDate=LastModifiedDate;_this1636.LastModifyingUser=LastModifyingUser;_this1636.LastModifyingApplication=LastModifyingApplication;_this1636.CreationDate=CreationDate;_this1636.type=1207048766;return _this1636;}return _createClass(IfcOwnerHistory);}(IfcLineObject);IFC4X32.IfcOwnerHistory=IfcOwnerHistory;var IfcPerson=/*#__PURE__*/function(_IfcLineObject191){_inherits(IfcPerson,_IfcLineObject191);var _super1634=_createSuper(IfcPerson);function IfcPerson(expressID,Identification,FamilyName,GivenName,MiddleNames,PrefixTitles,SuffixTitles,Roles,Addresses){var _this1637;_classCallCheck(this,IfcPerson);_this1637=_super1634.call(this,expressID);_this1637.Identification=Identification;_this1637.FamilyName=FamilyName;_this1637.GivenName=GivenName;_this1637.MiddleNames=MiddleNames;_this1637.PrefixTitles=PrefixTitles;_this1637.SuffixTitles=SuffixTitles;_this1637.Roles=Roles;_this1637.Addresses=Addresses;_this1637.type=2077209135;return _this1637;}return _createClass(IfcPerson);}(IfcLineObject);IFC4X32.IfcPerson=IfcPerson;var IfcPersonAndOrganization=/*#__PURE__*/function(_IfcLineObject192){_inherits(IfcPersonAndOrganization,_IfcLineObject192);var _super1635=_createSuper(IfcPersonAndOrganization);function IfcPersonAndOrganization(expressID,ThePerson,TheOrganization,Roles){var _this1638;_classCallCheck(this,IfcPersonAndOrganization);_this1638=_super1635.call(this,expressID);_this1638.ThePerson=ThePerson;_this1638.TheOrganization=TheOrganization;_this1638.Roles=Roles;_this1638.type=101040310;return _this1638;}return _createClass(IfcPersonAndOrganization);}(IfcLineObject);IFC4X32.IfcPersonAndOrganization=IfcPersonAndOrganization;var IfcPhysicalQuantity=/*#__PURE__*/function(_IfcLineObject193){_inherits(IfcPhysicalQuantity,_IfcLineObject193);var _super1636=_createSuper(IfcPhysicalQuantity);function IfcPhysicalQuantity(expressID,Name,Description){var _this1639;_classCallCheck(this,IfcPhysicalQuantity);_this1639=_super1636.call(this,expressID);_this1639.Name=Name;_this1639.Description=Description;_this1639.type=2483315170;return _this1639;}return _createClass(IfcPhysicalQuantity);}(IfcLineObject);IFC4X32.IfcPhysicalQuantity=IfcPhysicalQuantity;var IfcPhysicalSimpleQuantity=/*#__PURE__*/function(_IfcPhysicalQuantity5){_inherits(IfcPhysicalSimpleQuantity,_IfcPhysicalQuantity5);var _super1637=_createSuper(IfcPhysicalSimpleQuantity);function IfcPhysicalSimpleQuantity(expressID,Name,Description,Unit){var _this1640;_classCallCheck(this,IfcPhysicalSimpleQuantity);_this1640=_super1637.call(this,expressID,Name,Description);_this1640.Name=Name;_this1640.Description=Description;_this1640.Unit=Unit;_this1640.type=2226359599;return _this1640;}return _createClass(IfcPhysicalSimpleQuantity);}(IfcPhysicalQuantity);IFC4X32.IfcPhysicalSimpleQuantity=IfcPhysicalSimpleQuantity;var IfcPostalAddress=/*#__PURE__*/function(_IfcAddress5){_inherits(IfcPostalAddress,_IfcAddress5);var _super1638=_createSuper(IfcPostalAddress);function IfcPostalAddress(expressID,Purpose,Description,UserDefinedPurpose,InternalLocation,AddressLines,PostalBox,Town,Region,PostalCode,Country){var _this1641;_classCallCheck(this,IfcPostalAddress);_this1641=_super1638.call(this,expressID,Purpose,Description,UserDefinedPurpose);_this1641.Purpose=Purpose;_this1641.Description=Description;_this1641.UserDefinedPurpose=UserDefinedPurpose;_this1641.InternalLocation=InternalLocation;_this1641.AddressLines=AddressLines;_this1641.PostalBox=PostalBox;_this1641.Town=Town;_this1641.Region=Region;_this1641.PostalCode=PostalCode;_this1641.Country=Country;_this1641.type=3355820592;return _this1641;}return _createClass(IfcPostalAddress);}(IfcAddress);IFC4X32.IfcPostalAddress=IfcPostalAddress;var IfcPresentationItem=/*#__PURE__*/function(_IfcLineObject194){_inherits(IfcPresentationItem,_IfcLineObject194);var _super1639=_createSuper(IfcPresentationItem);function IfcPresentationItem(expressID){var _this1642;_classCallCheck(this,IfcPresentationItem);_this1642=_super1639.call(this,expressID);_this1642.type=677532197;return _this1642;}return _createClass(IfcPresentationItem);}(IfcLineObject);IFC4X32.IfcPresentationItem=IfcPresentationItem;var IfcPresentationLayerAssignment=/*#__PURE__*/function(_IfcLineObject195){_inherits(IfcPresentationLayerAssignment,_IfcLineObject195);var _super1640=_createSuper(IfcPresentationLayerAssignment);function IfcPresentationLayerAssignment(expressID,Name,Description,AssignedItems,Identifier){var _this1643;_classCallCheck(this,IfcPresentationLayerAssignment);_this1643=_super1640.call(this,expressID);_this1643.Name=Name;_this1643.Description=Description;_this1643.AssignedItems=AssignedItems;_this1643.Identifier=Identifier;_this1643.type=2022622350;return _this1643;}return _createClass(IfcPresentationLayerAssignment);}(IfcLineObject);IFC4X32.IfcPresentationLayerAssignment=IfcPresentationLayerAssignment;var IfcPresentationLayerWithStyle=/*#__PURE__*/function(_IfcPresentationLayer3){_inherits(IfcPresentationLayerWithStyle,_IfcPresentationLayer3);var _super1641=_createSuper(IfcPresentationLayerWithStyle);function IfcPresentationLayerWithStyle(expressID,Name,Description,AssignedItems,Identifier,LayerOn,LayerFrozen,LayerBlocked,LayerStyles){var _this1644;_classCallCheck(this,IfcPresentationLayerWithStyle);_this1644=_super1641.call(this,expressID,Name,Description,AssignedItems,Identifier);_this1644.Name=Name;_this1644.Description=Description;_this1644.AssignedItems=AssignedItems;_this1644.Identifier=Identifier;_this1644.LayerOn=LayerOn;_this1644.LayerFrozen=LayerFrozen;_this1644.LayerBlocked=LayerBlocked;_this1644.LayerStyles=LayerStyles;_this1644.type=1304840413;return _this1644;}return _createClass(IfcPresentationLayerWithStyle);}(IfcPresentationLayerAssignment);IFC4X32.IfcPresentationLayerWithStyle=IfcPresentationLayerWithStyle;var IfcPresentationStyle=/*#__PURE__*/function(_IfcLineObject196){_inherits(IfcPresentationStyle,_IfcLineObject196);var _super1642=_createSuper(IfcPresentationStyle);function IfcPresentationStyle(expressID,Name){var _this1645;_classCallCheck(this,IfcPresentationStyle);_this1645=_super1642.call(this,expressID);_this1645.Name=Name;_this1645.type=3119450353;return _this1645;}return _createClass(IfcPresentationStyle);}(IfcLineObject);IFC4X32.IfcPresentationStyle=IfcPresentationStyle;var IfcProductRepresentation=/*#__PURE__*/function(_IfcLineObject197){_inherits(IfcProductRepresentation,_IfcLineObject197);var _super1643=_createSuper(IfcProductRepresentation);function IfcProductRepresentation(expressID,Name,Description,Representations){var _this1646;_classCallCheck(this,IfcProductRepresentation);_this1646=_super1643.call(this,expressID);_this1646.Name=Name;_this1646.Description=Description;_this1646.Representations=Representations;_this1646.type=2095639259;return _this1646;}return _createClass(IfcProductRepresentation);}(IfcLineObject);IFC4X32.IfcProductRepresentation=IfcProductRepresentation;var IfcProfileDef=/*#__PURE__*/function(_IfcLineObject198){_inherits(IfcProfileDef,_IfcLineObject198);var _super1644=_createSuper(IfcProfileDef);function IfcProfileDef(expressID,ProfileType,ProfileName){var _this1647;_classCallCheck(this,IfcProfileDef);_this1647=_super1644.call(this,expressID);_this1647.ProfileType=ProfileType;_this1647.ProfileName=ProfileName;_this1647.type=3958567839;return _this1647;}return _createClass(IfcProfileDef);}(IfcLineObject);IFC4X32.IfcProfileDef=IfcProfileDef;var IfcProjectedCRS=/*#__PURE__*/function(_IfcCoordinateReferen2){_inherits(IfcProjectedCRS,_IfcCoordinateReferen2);var _super1645=_createSuper(IfcProjectedCRS);function IfcProjectedCRS(expressID,Name,Description,GeodeticDatum,VerticalDatum,MapProjection,MapZone,MapUnit){var _this1648;_classCallCheck(this,IfcProjectedCRS);_this1648=_super1645.call(this,expressID,Name,Description,GeodeticDatum,VerticalDatum);_this1648.Name=Name;_this1648.Description=Description;_this1648.GeodeticDatum=GeodeticDatum;_this1648.VerticalDatum=VerticalDatum;_this1648.MapProjection=MapProjection;_this1648.MapZone=MapZone;_this1648.MapUnit=MapUnit;_this1648.type=3843373140;return _this1648;}return _createClass(IfcProjectedCRS);}(IfcCoordinateReferenceSystem);IFC4X32.IfcProjectedCRS=IfcProjectedCRS;var IfcPropertyAbstraction=/*#__PURE__*/function(_IfcLineObject199){_inherits(IfcPropertyAbstraction,_IfcLineObject199);var _super1646=_createSuper(IfcPropertyAbstraction);function IfcPropertyAbstraction(expressID){var _this1649;_classCallCheck(this,IfcPropertyAbstraction);_this1649=_super1646.call(this,expressID);_this1649.type=986844984;return _this1649;}return _createClass(IfcPropertyAbstraction);}(IfcLineObject);IFC4X32.IfcPropertyAbstraction=IfcPropertyAbstraction;var IfcPropertyEnumeration=/*#__PURE__*/function(_IfcPropertyAbstracti5){_inherits(IfcPropertyEnumeration,_IfcPropertyAbstracti5);var _super1647=_createSuper(IfcPropertyEnumeration);function IfcPropertyEnumeration(expressID,Name,EnumerationValues,Unit){var _this1650;_classCallCheck(this,IfcPropertyEnumeration);_this1650=_super1647.call(this,expressID);_this1650.Name=Name;_this1650.EnumerationValues=EnumerationValues;_this1650.Unit=Unit;_this1650.type=3710013099;return _this1650;}return _createClass(IfcPropertyEnumeration);}(IfcPropertyAbstraction);IFC4X32.IfcPropertyEnumeration=IfcPropertyEnumeration;var IfcQuantityArea=/*#__PURE__*/function(_IfcPhysicalSimpleQua13){_inherits(IfcQuantityArea,_IfcPhysicalSimpleQua13);var _super1648=_createSuper(IfcQuantityArea);function IfcQuantityArea(expressID,Name,Description,Unit,AreaValue,Formula){var _this1651;_classCallCheck(this,IfcQuantityArea);_this1651=_super1648.call(this,expressID,Name,Description,Unit);_this1651.Name=Name;_this1651.Description=Description;_this1651.Unit=Unit;_this1651.AreaValue=AreaValue;_this1651.Formula=Formula;_this1651.type=2044713172;return _this1651;}return _createClass(IfcQuantityArea);}(IfcPhysicalSimpleQuantity);IFC4X32.IfcQuantityArea=IfcQuantityArea;var IfcQuantityCount=/*#__PURE__*/function(_IfcPhysicalSimpleQua14){_inherits(IfcQuantityCount,_IfcPhysicalSimpleQua14);var _super1649=_createSuper(IfcQuantityCount);function IfcQuantityCount(expressID,Name,Description,Unit,CountValue,Formula){var _this1652;_classCallCheck(this,IfcQuantityCount);_this1652=_super1649.call(this,expressID,Name,Description,Unit);_this1652.Name=Name;_this1652.Description=Description;_this1652.Unit=Unit;_this1652.CountValue=CountValue;_this1652.Formula=Formula;_this1652.type=2093928680;return _this1652;}return _createClass(IfcQuantityCount);}(IfcPhysicalSimpleQuantity);IFC4X32.IfcQuantityCount=IfcQuantityCount;var IfcQuantityLength=/*#__PURE__*/function(_IfcPhysicalSimpleQua15){_inherits(IfcQuantityLength,_IfcPhysicalSimpleQua15);var _super1650=_createSuper(IfcQuantityLength);function IfcQuantityLength(expressID,Name,Description,Unit,LengthValue,Formula){var _this1653;_classCallCheck(this,IfcQuantityLength);_this1653=_super1650.call(this,expressID,Name,Description,Unit);_this1653.Name=Name;_this1653.Description=Description;_this1653.Unit=Unit;_this1653.LengthValue=LengthValue;_this1653.Formula=Formula;_this1653.type=931644368;return _this1653;}return _createClass(IfcQuantityLength);}(IfcPhysicalSimpleQuantity);IFC4X32.IfcQuantityLength=IfcQuantityLength;var IfcQuantityNumber=/*#__PURE__*/function(_IfcPhysicalSimpleQua16){_inherits(IfcQuantityNumber,_IfcPhysicalSimpleQua16);var _super1651=_createSuper(IfcQuantityNumber);function IfcQuantityNumber(expressID,Name,Description,Unit,NumberValue,Formula){var _this1654;_classCallCheck(this,IfcQuantityNumber);_this1654=_super1651.call(this,expressID,Name,Description,Unit);_this1654.Name=Name;_this1654.Description=Description;_this1654.Unit=Unit;_this1654.NumberValue=NumberValue;_this1654.Formula=Formula;_this1654.type=2691318326;return _this1654;}return _createClass(IfcQuantityNumber);}(IfcPhysicalSimpleQuantity);IFC4X32.IfcQuantityNumber=IfcQuantityNumber;var IfcQuantityTime=/*#__PURE__*/function(_IfcPhysicalSimpleQua17){_inherits(IfcQuantityTime,_IfcPhysicalSimpleQua17);var _super1652=_createSuper(IfcQuantityTime);function IfcQuantityTime(expressID,Name,Description,Unit,TimeValue,Formula){var _this1655;_classCallCheck(this,IfcQuantityTime);_this1655=_super1652.call(this,expressID,Name,Description,Unit);_this1655.Name=Name;_this1655.Description=Description;_this1655.Unit=Unit;_this1655.TimeValue=TimeValue;_this1655.Formula=Formula;_this1655.type=3252649465;return _this1655;}return _createClass(IfcQuantityTime);}(IfcPhysicalSimpleQuantity);IFC4X32.IfcQuantityTime=IfcQuantityTime;var IfcQuantityVolume=/*#__PURE__*/function(_IfcPhysicalSimpleQua18){_inherits(IfcQuantityVolume,_IfcPhysicalSimpleQua18);var _super1653=_createSuper(IfcQuantityVolume);function IfcQuantityVolume(expressID,Name,Description,Unit,VolumeValue,Formula){var _this1656;_classCallCheck(this,IfcQuantityVolume);_this1656=_super1653.call(this,expressID,Name,Description,Unit);_this1656.Name=Name;_this1656.Description=Description;_this1656.Unit=Unit;_this1656.VolumeValue=VolumeValue;_this1656.Formula=Formula;_this1656.type=2405470396;return _this1656;}return _createClass(IfcQuantityVolume);}(IfcPhysicalSimpleQuantity);IFC4X32.IfcQuantityVolume=IfcQuantityVolume;var IfcQuantityWeight=/*#__PURE__*/function(_IfcPhysicalSimpleQua19){_inherits(IfcQuantityWeight,_IfcPhysicalSimpleQua19);var _super1654=_createSuper(IfcQuantityWeight);function IfcQuantityWeight(expressID,Name,Description,Unit,WeightValue,Formula){var _this1657;_classCallCheck(this,IfcQuantityWeight);_this1657=_super1654.call(this,expressID,Name,Description,Unit);_this1657.Name=Name;_this1657.Description=Description;_this1657.Unit=Unit;_this1657.WeightValue=WeightValue;_this1657.Formula=Formula;_this1657.type=825690147;return _this1657;}return _createClass(IfcQuantityWeight);}(IfcPhysicalSimpleQuantity);IFC4X32.IfcQuantityWeight=IfcQuantityWeight;var IfcRecurrencePattern=/*#__PURE__*/function(_IfcLineObject200){_inherits(IfcRecurrencePattern,_IfcLineObject200);var _super1655=_createSuper(IfcRecurrencePattern);function IfcRecurrencePattern(expressID,RecurrenceType,DayComponent,WeekdayComponent,MonthComponent,Position,Interval,Occurrences,TimePeriods){var _this1658;_classCallCheck(this,IfcRecurrencePattern);_this1658=_super1655.call(this,expressID);_this1658.RecurrenceType=RecurrenceType;_this1658.DayComponent=DayComponent;_this1658.WeekdayComponent=WeekdayComponent;_this1658.MonthComponent=MonthComponent;_this1658.Position=Position;_this1658.Interval=Interval;_this1658.Occurrences=Occurrences;_this1658.TimePeriods=TimePeriods;_this1658.type=3915482550;return _this1658;}return _createClass(IfcRecurrencePattern);}(IfcLineObject);IFC4X32.IfcRecurrencePattern=IfcRecurrencePattern;var IfcReference=/*#__PURE__*/function(_IfcLineObject201){_inherits(IfcReference,_IfcLineObject201);var _super1656=_createSuper(IfcReference);function IfcReference(expressID,TypeIdentifier,AttributeIdentifier,InstanceName,ListPositions,InnerReference){var _this1659;_classCallCheck(this,IfcReference);_this1659=_super1656.call(this,expressID);_this1659.TypeIdentifier=TypeIdentifier;_this1659.AttributeIdentifier=AttributeIdentifier;_this1659.InstanceName=InstanceName;_this1659.ListPositions=ListPositions;_this1659.InnerReference=InnerReference;_this1659.type=2433181523;return _this1659;}return _createClass(IfcReference);}(IfcLineObject);IFC4X32.IfcReference=IfcReference;var IfcRepresentation=/*#__PURE__*/function(_IfcLineObject202){_inherits(IfcRepresentation,_IfcLineObject202);var _super1657=_createSuper(IfcRepresentation);function IfcRepresentation(expressID,ContextOfItems,RepresentationIdentifier,RepresentationType,Items){var _this1660;_classCallCheck(this,IfcRepresentation);_this1660=_super1657.call(this,expressID);_this1660.ContextOfItems=ContextOfItems;_this1660.RepresentationIdentifier=RepresentationIdentifier;_this1660.RepresentationType=RepresentationType;_this1660.Items=Items;_this1660.type=1076942058;return _this1660;}return _createClass(IfcRepresentation);}(IfcLineObject);IFC4X32.IfcRepresentation=IfcRepresentation;var IfcRepresentationContext=/*#__PURE__*/function(_IfcLineObject203){_inherits(IfcRepresentationContext,_IfcLineObject203);var _super1658=_createSuper(IfcRepresentationContext);function IfcRepresentationContext(expressID,ContextIdentifier,ContextType){var _this1661;_classCallCheck(this,IfcRepresentationContext);_this1661=_super1658.call(this,expressID);_this1661.ContextIdentifier=ContextIdentifier;_this1661.ContextType=ContextType;_this1661.type=3377609919;return _this1661;}return _createClass(IfcRepresentationContext);}(IfcLineObject);IFC4X32.IfcRepresentationContext=IfcRepresentationContext;var IfcRepresentationItem=/*#__PURE__*/function(_IfcLineObject204){_inherits(IfcRepresentationItem,_IfcLineObject204);var _super1659=_createSuper(IfcRepresentationItem);function IfcRepresentationItem(expressID){var _this1662;_classCallCheck(this,IfcRepresentationItem);_this1662=_super1659.call(this,expressID);_this1662.type=3008791417;return _this1662;}return _createClass(IfcRepresentationItem);}(IfcLineObject);IFC4X32.IfcRepresentationItem=IfcRepresentationItem;var IfcRepresentationMap=/*#__PURE__*/function(_IfcLineObject205){_inherits(IfcRepresentationMap,_IfcLineObject205);var _super1660=_createSuper(IfcRepresentationMap);function IfcRepresentationMap(expressID,MappingOrigin,MappedRepresentation){var _this1663;_classCallCheck(this,IfcRepresentationMap);_this1663=_super1660.call(this,expressID);_this1663.MappingOrigin=MappingOrigin;_this1663.MappedRepresentation=MappedRepresentation;_this1663.type=1660063152;return _this1663;}return _createClass(IfcRepresentationMap);}(IfcLineObject);IFC4X32.IfcRepresentationMap=IfcRepresentationMap;var IfcResourceLevelRelationship=/*#__PURE__*/function(_IfcLineObject206){_inherits(IfcResourceLevelRelationship,_IfcLineObject206);var _super1661=_createSuper(IfcResourceLevelRelationship);function IfcResourceLevelRelationship(expressID,Name,Description){var _this1664;_classCallCheck(this,IfcResourceLevelRelationship);_this1664=_super1661.call(this,expressID);_this1664.Name=Name;_this1664.Description=Description;_this1664.type=2439245199;return _this1664;}return _createClass(IfcResourceLevelRelationship);}(IfcLineObject);IFC4X32.IfcResourceLevelRelationship=IfcResourceLevelRelationship;var IfcRoot=/*#__PURE__*/function(_IfcLineObject207){_inherits(IfcRoot,_IfcLineObject207);var _super1662=_createSuper(IfcRoot);function IfcRoot(expressID,GlobalId,OwnerHistory,Name,Description){var _this1665;_classCallCheck(this,IfcRoot);_this1665=_super1662.call(this,expressID);_this1665.GlobalId=GlobalId;_this1665.OwnerHistory=OwnerHistory;_this1665.Name=Name;_this1665.Description=Description;_this1665.type=2341007311;return _this1665;}return _createClass(IfcRoot);}(IfcLineObject);IFC4X32.IfcRoot=IfcRoot;var IfcSIUnit=/*#__PURE__*/function(_IfcNamedUnit7){_inherits(IfcSIUnit,_IfcNamedUnit7);var _super1663=_createSuper(IfcSIUnit);function IfcSIUnit(expressID,Dimensions,UnitType,Prefix,Name){var _this1666;_classCallCheck(this,IfcSIUnit);_this1666=_super1663.call(this,expressID,Dimensions,UnitType);_this1666.Dimensions=Dimensions;_this1666.UnitType=UnitType;_this1666.Prefix=Prefix;_this1666.Name=Name;_this1666.type=448429030;return _this1666;}return _createClass(IfcSIUnit);}(IfcNamedUnit);IFC4X32.IfcSIUnit=IfcSIUnit;var IfcSchedulingTime=/*#__PURE__*/function(_IfcLineObject208){_inherits(IfcSchedulingTime,_IfcLineObject208);var _super1664=_createSuper(IfcSchedulingTime);function IfcSchedulingTime(expressID,Name,DataOrigin,UserDefinedDataOrigin){var _this1667;_classCallCheck(this,IfcSchedulingTime);_this1667=_super1664.call(this,expressID);_this1667.Name=Name;_this1667.DataOrigin=DataOrigin;_this1667.UserDefinedDataOrigin=UserDefinedDataOrigin;_this1667.type=1054537805;return _this1667;}return _createClass(IfcSchedulingTime);}(IfcLineObject);IFC4X32.IfcSchedulingTime=IfcSchedulingTime;var IfcShapeAspect=/*#__PURE__*/function(_IfcLineObject209){_inherits(IfcShapeAspect,_IfcLineObject209);var _super1665=_createSuper(IfcShapeAspect);function IfcShapeAspect(expressID,ShapeRepresentations,Name,Description,ProductDefinitional,PartOfProductDefinitionShape){var _this1668;_classCallCheck(this,IfcShapeAspect);_this1668=_super1665.call(this,expressID);_this1668.ShapeRepresentations=ShapeRepresentations;_this1668.Name=Name;_this1668.Description=Description;_this1668.ProductDefinitional=ProductDefinitional;_this1668.PartOfProductDefinitionShape=PartOfProductDefinitionShape;_this1668.type=867548509;return _this1668;}return _createClass(IfcShapeAspect);}(IfcLineObject);IFC4X32.IfcShapeAspect=IfcShapeAspect;var IfcShapeModel=/*#__PURE__*/function(_IfcRepresentation5){_inherits(IfcShapeModel,_IfcRepresentation5);var _super1666=_createSuper(IfcShapeModel);function IfcShapeModel(expressID,ContextOfItems,RepresentationIdentifier,RepresentationType,Items){var _this1669;_classCallCheck(this,IfcShapeModel);_this1669=_super1666.call(this,expressID,ContextOfItems,RepresentationIdentifier,RepresentationType,Items);_this1669.ContextOfItems=ContextOfItems;_this1669.RepresentationIdentifier=RepresentationIdentifier;_this1669.RepresentationType=RepresentationType;_this1669.Items=Items;_this1669.type=3982875396;return _this1669;}return _createClass(IfcShapeModel);}(IfcRepresentation);IFC4X32.IfcShapeModel=IfcShapeModel;var IfcShapeRepresentation=/*#__PURE__*/function(_IfcShapeModel5){_inherits(IfcShapeRepresentation,_IfcShapeModel5);var _super1667=_createSuper(IfcShapeRepresentation);function IfcShapeRepresentation(expressID,ContextOfItems,RepresentationIdentifier,RepresentationType,Items){var _this1670;_classCallCheck(this,IfcShapeRepresentation);_this1670=_super1667.call(this,expressID,ContextOfItems,RepresentationIdentifier,RepresentationType,Items);_this1670.ContextOfItems=ContextOfItems;_this1670.RepresentationIdentifier=RepresentationIdentifier;_this1670.RepresentationType=RepresentationType;_this1670.Items=Items;_this1670.type=4240577450;return _this1670;}return _createClass(IfcShapeRepresentation);}(IfcShapeModel);IFC4X32.IfcShapeRepresentation=IfcShapeRepresentation;var IfcStructuralConnectionCondition=/*#__PURE__*/function(_IfcLineObject210){_inherits(IfcStructuralConnectionCondition,_IfcLineObject210);var _super1668=_createSuper(IfcStructuralConnectionCondition);function IfcStructuralConnectionCondition(expressID,Name){var _this1671;_classCallCheck(this,IfcStructuralConnectionCondition);_this1671=_super1668.call(this,expressID);_this1671.Name=Name;_this1671.type=2273995522;return _this1671;}return _createClass(IfcStructuralConnectionCondition);}(IfcLineObject);IFC4X32.IfcStructuralConnectionCondition=IfcStructuralConnectionCondition;var IfcStructuralLoad=/*#__PURE__*/function(_IfcLineObject211){_inherits(IfcStructuralLoad,_IfcLineObject211);var _super1669=_createSuper(IfcStructuralLoad);function IfcStructuralLoad(expressID,Name){var _this1672;_classCallCheck(this,IfcStructuralLoad);_this1672=_super1669.call(this,expressID);_this1672.Name=Name;_this1672.type=2162789131;return _this1672;}return _createClass(IfcStructuralLoad);}(IfcLineObject);IFC4X32.IfcStructuralLoad=IfcStructuralLoad;var IfcStructuralLoadConfiguration=/*#__PURE__*/function(_IfcStructuralLoad4){_inherits(IfcStructuralLoadConfiguration,_IfcStructuralLoad4);var _super1670=_createSuper(IfcStructuralLoadConfiguration);function IfcStructuralLoadConfiguration(expressID,Name,Values,Locations){var _this1673;_classCallCheck(this,IfcStructuralLoadConfiguration);_this1673=_super1670.call(this,expressID,Name);_this1673.Name=Name;_this1673.Values=Values;_this1673.Locations=Locations;_this1673.type=3478079324;return _this1673;}return _createClass(IfcStructuralLoadConfiguration);}(IfcStructuralLoad);IFC4X32.IfcStructuralLoadConfiguration=IfcStructuralLoadConfiguration;var IfcStructuralLoadOrResult=/*#__PURE__*/function(_IfcStructuralLoad5){_inherits(IfcStructuralLoadOrResult,_IfcStructuralLoad5);var _super1671=_createSuper(IfcStructuralLoadOrResult);function IfcStructuralLoadOrResult(expressID,Name){var _this1674;_classCallCheck(this,IfcStructuralLoadOrResult);_this1674=_super1671.call(this,expressID,Name);_this1674.Name=Name;_this1674.type=609421318;return _this1674;}return _createClass(IfcStructuralLoadOrResult);}(IfcStructuralLoad);IFC4X32.IfcStructuralLoadOrResult=IfcStructuralLoadOrResult;var IfcStructuralLoadStatic=/*#__PURE__*/function(_IfcStructuralLoadOrR3){_inherits(IfcStructuralLoadStatic,_IfcStructuralLoadOrR3);var _super1672=_createSuper(IfcStructuralLoadStatic);function IfcStructuralLoadStatic(expressID,Name){var _this1675;_classCallCheck(this,IfcStructuralLoadStatic);_this1675=_super1672.call(this,expressID,Name);_this1675.Name=Name;_this1675.type=2525727697;return _this1675;}return _createClass(IfcStructuralLoadStatic);}(IfcStructuralLoadOrResult);IFC4X32.IfcStructuralLoadStatic=IfcStructuralLoadStatic;var IfcStructuralLoadTemperature=/*#__PURE__*/function(_IfcStructuralLoadSta11){_inherits(IfcStructuralLoadTemperature,_IfcStructuralLoadSta11);var _super1673=_createSuper(IfcStructuralLoadTemperature);function IfcStructuralLoadTemperature(expressID,Name,DeltaTConstant,DeltaTY,DeltaTZ){var _this1676;_classCallCheck(this,IfcStructuralLoadTemperature);_this1676=_super1673.call(this,expressID,Name);_this1676.Name=Name;_this1676.DeltaTConstant=DeltaTConstant;_this1676.DeltaTY=DeltaTY;_this1676.DeltaTZ=DeltaTZ;_this1676.type=3408363356;return _this1676;}return _createClass(IfcStructuralLoadTemperature);}(IfcStructuralLoadStatic);IFC4X32.IfcStructuralLoadTemperature=IfcStructuralLoadTemperature;var IfcStyleModel=/*#__PURE__*/function(_IfcRepresentation6){_inherits(IfcStyleModel,_IfcRepresentation6);var _super1674=_createSuper(IfcStyleModel);function IfcStyleModel(expressID,ContextOfItems,RepresentationIdentifier,RepresentationType,Items){var _this1677;_classCallCheck(this,IfcStyleModel);_this1677=_super1674.call(this,expressID,ContextOfItems,RepresentationIdentifier,RepresentationType,Items);_this1677.ContextOfItems=ContextOfItems;_this1677.RepresentationIdentifier=RepresentationIdentifier;_this1677.RepresentationType=RepresentationType;_this1677.Items=Items;_this1677.type=2830218821;return _this1677;}return _createClass(IfcStyleModel);}(IfcRepresentation);IFC4X32.IfcStyleModel=IfcStyleModel;var IfcStyledItem=/*#__PURE__*/function(_IfcRepresentationIte9){_inherits(IfcStyledItem,_IfcRepresentationIte9);var _super1675=_createSuper(IfcStyledItem);function IfcStyledItem(expressID,Item,Styles,Name){var _this1678;_classCallCheck(this,IfcStyledItem);_this1678=_super1675.call(this,expressID);_this1678.Item=Item;_this1678.Styles=Styles;_this1678.Name=Name;_this1678.type=3958052878;return _this1678;}return _createClass(IfcStyledItem);}(IfcRepresentationItem);IFC4X32.IfcStyledItem=IfcStyledItem;var IfcStyledRepresentation=/*#__PURE__*/function(_IfcStyleModel3){_inherits(IfcStyledRepresentation,_IfcStyleModel3);var _super1676=_createSuper(IfcStyledRepresentation);function IfcStyledRepresentation(expressID,ContextOfItems,RepresentationIdentifier,RepresentationType,Items){var _this1679;_classCallCheck(this,IfcStyledRepresentation);_this1679=_super1676.call(this,expressID,ContextOfItems,RepresentationIdentifier,RepresentationType,Items);_this1679.ContextOfItems=ContextOfItems;_this1679.RepresentationIdentifier=RepresentationIdentifier;_this1679.RepresentationType=RepresentationType;_this1679.Items=Items;_this1679.type=3049322572;return _this1679;}return _createClass(IfcStyledRepresentation);}(IfcStyleModel);IFC4X32.IfcStyledRepresentation=IfcStyledRepresentation;var IfcSurfaceReinforcementArea=/*#__PURE__*/function(_IfcStructuralLoadOrR4){_inherits(IfcSurfaceReinforcementArea,_IfcStructuralLoadOrR4);var _super1677=_createSuper(IfcSurfaceReinforcementArea);function IfcSurfaceReinforcementArea(expressID,Name,SurfaceReinforcement1,SurfaceReinforcement2,ShearReinforcement){var _this1680;_classCallCheck(this,IfcSurfaceReinforcementArea);_this1680=_super1677.call(this,expressID,Name);_this1680.Name=Name;_this1680.SurfaceReinforcement1=SurfaceReinforcement1;_this1680.SurfaceReinforcement2=SurfaceReinforcement2;_this1680.ShearReinforcement=ShearReinforcement;_this1680.type=2934153892;return _this1680;}return _createClass(IfcSurfaceReinforcementArea);}(IfcStructuralLoadOrResult);IFC4X32.IfcSurfaceReinforcementArea=IfcSurfaceReinforcementArea;var IfcSurfaceStyle=/*#__PURE__*/function(_IfcPresentationStyle10){_inherits(IfcSurfaceStyle,_IfcPresentationStyle10);var _super1678=_createSuper(IfcSurfaceStyle);function IfcSurfaceStyle(expressID,Name,Side,Styles){var _this1681;_classCallCheck(this,IfcSurfaceStyle);_this1681=_super1678.call(this,expressID,Name);_this1681.Name=Name;_this1681.Side=Side;_this1681.Styles=Styles;_this1681.type=1300840506;return _this1681;}return _createClass(IfcSurfaceStyle);}(IfcPresentationStyle);IFC4X32.IfcSurfaceStyle=IfcSurfaceStyle;var IfcSurfaceStyleLighting=/*#__PURE__*/function(_IfcPresentationItem18){_inherits(IfcSurfaceStyleLighting,_IfcPresentationItem18);var _super1679=_createSuper(IfcSurfaceStyleLighting);function IfcSurfaceStyleLighting(expressID,DiffuseTransmissionColour,DiffuseReflectionColour,TransmissionColour,ReflectanceColour){var _this1682;_classCallCheck(this,IfcSurfaceStyleLighting);_this1682=_super1679.call(this,expressID);_this1682.DiffuseTransmissionColour=DiffuseTransmissionColour;_this1682.DiffuseReflectionColour=DiffuseReflectionColour;_this1682.TransmissionColour=TransmissionColour;_this1682.ReflectanceColour=ReflectanceColour;_this1682.type=3303107099;return _this1682;}return _createClass(IfcSurfaceStyleLighting);}(IfcPresentationItem);IFC4X32.IfcSurfaceStyleLighting=IfcSurfaceStyleLighting;var IfcSurfaceStyleRefraction=/*#__PURE__*/function(_IfcPresentationItem19){_inherits(IfcSurfaceStyleRefraction,_IfcPresentationItem19);var _super1680=_createSuper(IfcSurfaceStyleRefraction);function IfcSurfaceStyleRefraction(expressID,RefractionIndex,DispersionFactor){var _this1683;_classCallCheck(this,IfcSurfaceStyleRefraction);_this1683=_super1680.call(this,expressID);_this1683.RefractionIndex=RefractionIndex;_this1683.DispersionFactor=DispersionFactor;_this1683.type=1607154358;return _this1683;}return _createClass(IfcSurfaceStyleRefraction);}(IfcPresentationItem);IFC4X32.IfcSurfaceStyleRefraction=IfcSurfaceStyleRefraction;var IfcSurfaceStyleShading=/*#__PURE__*/function(_IfcPresentationItem20){_inherits(IfcSurfaceStyleShading,_IfcPresentationItem20);var _super1681=_createSuper(IfcSurfaceStyleShading);function IfcSurfaceStyleShading(expressID,SurfaceColour,Transparency){var _this1684;_classCallCheck(this,IfcSurfaceStyleShading);_this1684=_super1681.call(this,expressID);_this1684.SurfaceColour=SurfaceColour;_this1684.Transparency=Transparency;_this1684.type=846575682;return _this1684;}return _createClass(IfcSurfaceStyleShading);}(IfcPresentationItem);IFC4X32.IfcSurfaceStyleShading=IfcSurfaceStyleShading;var IfcSurfaceStyleWithTextures=/*#__PURE__*/function(_IfcPresentationItem21){_inherits(IfcSurfaceStyleWithTextures,_IfcPresentationItem21);var _super1682=_createSuper(IfcSurfaceStyleWithTextures);function IfcSurfaceStyleWithTextures(expressID,Textures){var _this1685;_classCallCheck(this,IfcSurfaceStyleWithTextures);_this1685=_super1682.call(this,expressID);_this1685.Textures=Textures;_this1685.type=1351298697;return _this1685;}return _createClass(IfcSurfaceStyleWithTextures);}(IfcPresentationItem);IFC4X32.IfcSurfaceStyleWithTextures=IfcSurfaceStyleWithTextures;var IfcSurfaceTexture=/*#__PURE__*/function(_IfcPresentationItem22){_inherits(IfcSurfaceTexture,_IfcPresentationItem22);var _super1683=_createSuper(IfcSurfaceTexture);function IfcSurfaceTexture(expressID,RepeatS,RepeatT,Mode,TextureTransform,Parameter){var _this1686;_classCallCheck(this,IfcSurfaceTexture);_this1686=_super1683.call(this,expressID);_this1686.RepeatS=RepeatS;_this1686.RepeatT=RepeatT;_this1686.Mode=Mode;_this1686.TextureTransform=TextureTransform;_this1686.Parameter=Parameter;_this1686.type=626085974;return _this1686;}return _createClass(IfcSurfaceTexture);}(IfcPresentationItem);IFC4X32.IfcSurfaceTexture=IfcSurfaceTexture;var IfcTable=/*#__PURE__*/function(_IfcLineObject212){_inherits(IfcTable,_IfcLineObject212);var _super1684=_createSuper(IfcTable);function IfcTable(expressID,Name,Rows,Columns){var _this1687;_classCallCheck(this,IfcTable);_this1687=_super1684.call(this,expressID);_this1687.Name=Name;_this1687.Rows=Rows;_this1687.Columns=Columns;_this1687.type=985171141;return _this1687;}return _createClass(IfcTable);}(IfcLineObject);IFC4X32.IfcTable=IfcTable;var IfcTableColumn=/*#__PURE__*/function(_IfcLineObject213){_inherits(IfcTableColumn,_IfcLineObject213);var _super1685=_createSuper(IfcTableColumn);function IfcTableColumn(expressID,Identifier,Name,Description,Unit,ReferencePath){var _this1688;_classCallCheck(this,IfcTableColumn);_this1688=_super1685.call(this,expressID);_this1688.Identifier=Identifier;_this1688.Name=Name;_this1688.Description=Description;_this1688.Unit=Unit;_this1688.ReferencePath=ReferencePath;_this1688.type=2043862942;return _this1688;}return _createClass(IfcTableColumn);}(IfcLineObject);IFC4X32.IfcTableColumn=IfcTableColumn;var IfcTableRow=/*#__PURE__*/function(_IfcLineObject214){_inherits(IfcTableRow,_IfcLineObject214);var _super1686=_createSuper(IfcTableRow);function IfcTableRow(expressID,RowCells,IsHeading){var _this1689;_classCallCheck(this,IfcTableRow);_this1689=_super1686.call(this,expressID);_this1689.RowCells=RowCells;_this1689.IsHeading=IsHeading;_this1689.type=531007025;return _this1689;}return _createClass(IfcTableRow);}(IfcLineObject);IFC4X32.IfcTableRow=IfcTableRow;var IfcTaskTime=/*#__PURE__*/function(_IfcSchedulingTime6){_inherits(IfcTaskTime,_IfcSchedulingTime6);var _super1687=_createSuper(IfcTaskTime);function IfcTaskTime(expressID,Name,DataOrigin,UserDefinedDataOrigin,DurationType,ScheduleDuration,ScheduleStart,ScheduleFinish,EarlyStart,EarlyFinish,LateStart,LateFinish,FreeFloat,TotalFloat,IsCritical,StatusTime,ActualDuration,ActualStart,ActualFinish,RemainingTime,Completion){var _this1690;_classCallCheck(this,IfcTaskTime);_this1690=_super1687.call(this,expressID,Name,DataOrigin,UserDefinedDataOrigin);_this1690.Name=Name;_this1690.DataOrigin=DataOrigin;_this1690.UserDefinedDataOrigin=UserDefinedDataOrigin;_this1690.DurationType=DurationType;_this1690.ScheduleDuration=ScheduleDuration;_this1690.ScheduleStart=ScheduleStart;_this1690.ScheduleFinish=ScheduleFinish;_this1690.EarlyStart=EarlyStart;_this1690.EarlyFinish=EarlyFinish;_this1690.LateStart=LateStart;_this1690.LateFinish=LateFinish;_this1690.FreeFloat=FreeFloat;_this1690.TotalFloat=TotalFloat;_this1690.IsCritical=IsCritical;_this1690.StatusTime=StatusTime;_this1690.ActualDuration=ActualDuration;_this1690.ActualStart=ActualStart;_this1690.ActualFinish=ActualFinish;_this1690.RemainingTime=RemainingTime;_this1690.Completion=Completion;_this1690.type=1549132990;return _this1690;}return _createClass(IfcTaskTime);}(IfcSchedulingTime);IFC4X32.IfcTaskTime=IfcTaskTime;var IfcTaskTimeRecurring=/*#__PURE__*/function(_IfcTaskTime2){_inherits(IfcTaskTimeRecurring,_IfcTaskTime2);var _super1688=_createSuper(IfcTaskTimeRecurring);function IfcTaskTimeRecurring(expressID,Name,DataOrigin,UserDefinedDataOrigin,DurationType,ScheduleDuration,ScheduleStart,ScheduleFinish,EarlyStart,EarlyFinish,LateStart,LateFinish,FreeFloat,TotalFloat,IsCritical,StatusTime,ActualDuration,ActualStart,ActualFinish,RemainingTime,Completion,Recurrence){var _this1691;_classCallCheck(this,IfcTaskTimeRecurring);_this1691=_super1688.call(this,expressID,Name,DataOrigin,UserDefinedDataOrigin,DurationType,ScheduleDuration,ScheduleStart,ScheduleFinish,EarlyStart,EarlyFinish,LateStart,LateFinish,FreeFloat,TotalFloat,IsCritical,StatusTime,ActualDuration,ActualStart,ActualFinish,RemainingTime,Completion);_this1691.Name=Name;_this1691.DataOrigin=DataOrigin;_this1691.UserDefinedDataOrigin=UserDefinedDataOrigin;_this1691.DurationType=DurationType;_this1691.ScheduleDuration=ScheduleDuration;_this1691.ScheduleStart=ScheduleStart;_this1691.ScheduleFinish=ScheduleFinish;_this1691.EarlyStart=EarlyStart;_this1691.EarlyFinish=EarlyFinish;_this1691.LateStart=LateStart;_this1691.LateFinish=LateFinish;_this1691.FreeFloat=FreeFloat;_this1691.TotalFloat=TotalFloat;_this1691.IsCritical=IsCritical;_this1691.StatusTime=StatusTime;_this1691.ActualDuration=ActualDuration;_this1691.ActualStart=ActualStart;_this1691.ActualFinish=ActualFinish;_this1691.RemainingTime=RemainingTime;_this1691.Completion=Completion;_this1691.Recurrence=Recurrence;_this1691.type=2771591690;return _this1691;}return _createClass(IfcTaskTimeRecurring);}(IfcTaskTime);IFC4X32.IfcTaskTimeRecurring=IfcTaskTimeRecurring;var IfcTelecomAddress=/*#__PURE__*/function(_IfcAddress6){_inherits(IfcTelecomAddress,_IfcAddress6);var _super1689=_createSuper(IfcTelecomAddress);function IfcTelecomAddress(expressID,Purpose,Description,UserDefinedPurpose,TelephoneNumbers,FacsimileNumbers,PagerNumber,ElectronicMailAddresses,WWWHomePageURL,MessagingIDs){var _this1692;_classCallCheck(this,IfcTelecomAddress);_this1692=_super1689.call(this,expressID,Purpose,Description,UserDefinedPurpose);_this1692.Purpose=Purpose;_this1692.Description=Description;_this1692.UserDefinedPurpose=UserDefinedPurpose;_this1692.TelephoneNumbers=TelephoneNumbers;_this1692.FacsimileNumbers=FacsimileNumbers;_this1692.PagerNumber=PagerNumber;_this1692.ElectronicMailAddresses=ElectronicMailAddresses;_this1692.WWWHomePageURL=WWWHomePageURL;_this1692.MessagingIDs=MessagingIDs;_this1692.type=912023232;return _this1692;}return _createClass(IfcTelecomAddress);}(IfcAddress);IFC4X32.IfcTelecomAddress=IfcTelecomAddress;var IfcTextStyle=/*#__PURE__*/function(_IfcPresentationStyle11){_inherits(IfcTextStyle,_IfcPresentationStyle11);var _super1690=_createSuper(IfcTextStyle);function IfcTextStyle(expressID,Name,TextCharacterAppearance,TextStyle,TextFontStyle,ModelOrDraughting){var _this1693;_classCallCheck(this,IfcTextStyle);_this1693=_super1690.call(this,expressID,Name);_this1693.Name=Name;_this1693.TextCharacterAppearance=TextCharacterAppearance;_this1693.TextStyle=TextStyle;_this1693.TextFontStyle=TextFontStyle;_this1693.ModelOrDraughting=ModelOrDraughting;_this1693.type=1447204868;return _this1693;}return _createClass(IfcTextStyle);}(IfcPresentationStyle);IFC4X32.IfcTextStyle=IfcTextStyle;var IfcTextStyleForDefinedFont=/*#__PURE__*/function(_IfcPresentationItem23){_inherits(IfcTextStyleForDefinedFont,_IfcPresentationItem23);var _super1691=_createSuper(IfcTextStyleForDefinedFont);function IfcTextStyleForDefinedFont(expressID,Colour,BackgroundColour){var _this1694;_classCallCheck(this,IfcTextStyleForDefinedFont);_this1694=_super1691.call(this,expressID);_this1694.Colour=Colour;_this1694.BackgroundColour=BackgroundColour;_this1694.type=2636378356;return _this1694;}return _createClass(IfcTextStyleForDefinedFont);}(IfcPresentationItem);IFC4X32.IfcTextStyleForDefinedFont=IfcTextStyleForDefinedFont;var IfcTextStyleTextModel=/*#__PURE__*/function(_IfcPresentationItem24){_inherits(IfcTextStyleTextModel,_IfcPresentationItem24);var _super1692=_createSuper(IfcTextStyleTextModel);function IfcTextStyleTextModel(expressID,TextIndent,TextAlign,TextDecoration,LetterSpacing,WordSpacing,TextTransform,LineHeight){var _this1695;_classCallCheck(this,IfcTextStyleTextModel);_this1695=_super1692.call(this,expressID);_this1695.TextIndent=TextIndent;_this1695.TextAlign=TextAlign;_this1695.TextDecoration=TextDecoration;_this1695.LetterSpacing=LetterSpacing;_this1695.WordSpacing=WordSpacing;_this1695.TextTransform=TextTransform;_this1695.LineHeight=LineHeight;_this1695.type=1640371178;return _this1695;}return _createClass(IfcTextStyleTextModel);}(IfcPresentationItem);IFC4X32.IfcTextStyleTextModel=IfcTextStyleTextModel;var IfcTextureCoordinate=/*#__PURE__*/function(_IfcPresentationItem25){_inherits(IfcTextureCoordinate,_IfcPresentationItem25);var _super1693=_createSuper(IfcTextureCoordinate);function IfcTextureCoordinate(expressID,Maps){var _this1696;_classCallCheck(this,IfcTextureCoordinate);_this1696=_super1693.call(this,expressID);_this1696.Maps=Maps;_this1696.type=280115917;return _this1696;}return _createClass(IfcTextureCoordinate);}(IfcPresentationItem);IFC4X32.IfcTextureCoordinate=IfcTextureCoordinate;var IfcTextureCoordinateGenerator=/*#__PURE__*/function(_IfcTextureCoordinate6){_inherits(IfcTextureCoordinateGenerator,_IfcTextureCoordinate6);var _super1694=_createSuper(IfcTextureCoordinateGenerator);function IfcTextureCoordinateGenerator(expressID,Maps,Mode,Parameter){var _this1697;_classCallCheck(this,IfcTextureCoordinateGenerator);_this1697=_super1694.call(this,expressID,Maps);_this1697.Maps=Maps;_this1697.Mode=Mode;_this1697.Parameter=Parameter;_this1697.type=1742049831;return _this1697;}return _createClass(IfcTextureCoordinateGenerator);}(IfcTextureCoordinate);IFC4X32.IfcTextureCoordinateGenerator=IfcTextureCoordinateGenerator;var IfcTextureCoordinateIndices=/*#__PURE__*/function(_IfcLineObject215){_inherits(IfcTextureCoordinateIndices,_IfcLineObject215);var _super1695=_createSuper(IfcTextureCoordinateIndices);function IfcTextureCoordinateIndices(expressID,TexCoordIndex,TexCoordsOf){var _this1698;_classCallCheck(this,IfcTextureCoordinateIndices);_this1698=_super1695.call(this,expressID);_this1698.TexCoordIndex=TexCoordIndex;_this1698.TexCoordsOf=TexCoordsOf;_this1698.type=222769930;return _this1698;}return _createClass(IfcTextureCoordinateIndices);}(IfcLineObject);IFC4X32.IfcTextureCoordinateIndices=IfcTextureCoordinateIndices;var IfcTextureCoordinateIndicesWithVoids=/*#__PURE__*/function(_IfcTextureCoordinate7){_inherits(IfcTextureCoordinateIndicesWithVoids,_IfcTextureCoordinate7);var _super1696=_createSuper(IfcTextureCoordinateIndicesWithVoids);function IfcTextureCoordinateIndicesWithVoids(expressID,TexCoordIndex,TexCoordsOf,InnerTexCoordIndices){var _this1699;_classCallCheck(this,IfcTextureCoordinateIndicesWithVoids);_this1699=_super1696.call(this,expressID,TexCoordIndex,TexCoordsOf);_this1699.TexCoordIndex=TexCoordIndex;_this1699.TexCoordsOf=TexCoordsOf;_this1699.InnerTexCoordIndices=InnerTexCoordIndices;_this1699.type=1010789467;return _this1699;}return _createClass(IfcTextureCoordinateIndicesWithVoids);}(IfcTextureCoordinateIndices);IFC4X32.IfcTextureCoordinateIndicesWithVoids=IfcTextureCoordinateIndicesWithVoids;var IfcTextureMap=/*#__PURE__*/function(_IfcTextureCoordinate8){_inherits(IfcTextureMap,_IfcTextureCoordinate8);var _super1697=_createSuper(IfcTextureMap);function IfcTextureMap(expressID,Maps,Vertices,MappedTo){var _this1700;_classCallCheck(this,IfcTextureMap);_this1700=_super1697.call(this,expressID,Maps);_this1700.Maps=Maps;_this1700.Vertices=Vertices;_this1700.MappedTo=MappedTo;_this1700.type=2552916305;return _this1700;}return _createClass(IfcTextureMap);}(IfcTextureCoordinate);IFC4X32.IfcTextureMap=IfcTextureMap;var IfcTextureVertex=/*#__PURE__*/function(_IfcPresentationItem26){_inherits(IfcTextureVertex,_IfcPresentationItem26);var _super1698=_createSuper(IfcTextureVertex);function IfcTextureVertex(expressID,Coordinates){var _this1701;_classCallCheck(this,IfcTextureVertex);_this1701=_super1698.call(this,expressID);_this1701.Coordinates=Coordinates;_this1701.type=1210645708;return _this1701;}return _createClass(IfcTextureVertex);}(IfcPresentationItem);IFC4X32.IfcTextureVertex=IfcTextureVertex;var IfcTextureVertexList=/*#__PURE__*/function(_IfcPresentationItem27){_inherits(IfcTextureVertexList,_IfcPresentationItem27);var _super1699=_createSuper(IfcTextureVertexList);function IfcTextureVertexList(expressID,TexCoordsList){var _this1702;_classCallCheck(this,IfcTextureVertexList);_this1702=_super1699.call(this,expressID);_this1702.TexCoordsList=TexCoordsList;_this1702.type=3611470254;return _this1702;}return _createClass(IfcTextureVertexList);}(IfcPresentationItem);IFC4X32.IfcTextureVertexList=IfcTextureVertexList;var IfcTimePeriod=/*#__PURE__*/function(_IfcLineObject216){_inherits(IfcTimePeriod,_IfcLineObject216);var _super1700=_createSuper(IfcTimePeriod);function IfcTimePeriod(expressID,StartTime,EndTime){var _this1703;_classCallCheck(this,IfcTimePeriod);_this1703=_super1700.call(this,expressID);_this1703.StartTime=StartTime;_this1703.EndTime=EndTime;_this1703.type=1199560280;return _this1703;}return _createClass(IfcTimePeriod);}(IfcLineObject);IFC4X32.IfcTimePeriod=IfcTimePeriod;var IfcTimeSeries=/*#__PURE__*/function(_IfcLineObject217){_inherits(IfcTimeSeries,_IfcLineObject217);var _super1701=_createSuper(IfcTimeSeries);function IfcTimeSeries(expressID,Name,Description,StartTime,EndTime,TimeSeriesDataType,DataOrigin,UserDefinedDataOrigin,Unit){var _this1704;_classCallCheck(this,IfcTimeSeries);_this1704=_super1701.call(this,expressID);_this1704.Name=Name;_this1704.Description=Description;_this1704.StartTime=StartTime;_this1704.EndTime=EndTime;_this1704.TimeSeriesDataType=TimeSeriesDataType;_this1704.DataOrigin=DataOrigin;_this1704.UserDefinedDataOrigin=UserDefinedDataOrigin;_this1704.Unit=Unit;_this1704.type=3101149627;return _this1704;}return _createClass(IfcTimeSeries);}(IfcLineObject);IFC4X32.IfcTimeSeries=IfcTimeSeries;var IfcTimeSeriesValue=/*#__PURE__*/function(_IfcLineObject218){_inherits(IfcTimeSeriesValue,_IfcLineObject218);var _super1702=_createSuper(IfcTimeSeriesValue);function IfcTimeSeriesValue(expressID,ListValues){var _this1705;_classCallCheck(this,IfcTimeSeriesValue);_this1705=_super1702.call(this,expressID);_this1705.ListValues=ListValues;_this1705.type=581633288;return _this1705;}return _createClass(IfcTimeSeriesValue);}(IfcLineObject);IFC4X32.IfcTimeSeriesValue=IfcTimeSeriesValue;var IfcTopologicalRepresentationItem=/*#__PURE__*/function(_IfcRepresentationIte10){_inherits(IfcTopologicalRepresentationItem,_IfcRepresentationIte10);var _super1703=_createSuper(IfcTopologicalRepresentationItem);function IfcTopologicalRepresentationItem(expressID){var _this1706;_classCallCheck(this,IfcTopologicalRepresentationItem);_this1706=_super1703.call(this,expressID);_this1706.type=1377556343;return _this1706;}return _createClass(IfcTopologicalRepresentationItem);}(IfcRepresentationItem);IFC4X32.IfcTopologicalRepresentationItem=IfcTopologicalRepresentationItem;var IfcTopologyRepresentation=/*#__PURE__*/function(_IfcShapeModel6){_inherits(IfcTopologyRepresentation,_IfcShapeModel6);var _super1704=_createSuper(IfcTopologyRepresentation);function IfcTopologyRepresentation(expressID,ContextOfItems,RepresentationIdentifier,RepresentationType,Items){var _this1707;_classCallCheck(this,IfcTopologyRepresentation);_this1707=_super1704.call(this,expressID,ContextOfItems,RepresentationIdentifier,RepresentationType,Items);_this1707.ContextOfItems=ContextOfItems;_this1707.RepresentationIdentifier=RepresentationIdentifier;_this1707.RepresentationType=RepresentationType;_this1707.Items=Items;_this1707.type=1735638870;return _this1707;}return _createClass(IfcTopologyRepresentation);}(IfcShapeModel);IFC4X32.IfcTopologyRepresentation=IfcTopologyRepresentation;var IfcUnitAssignment=/*#__PURE__*/function(_IfcLineObject219){_inherits(IfcUnitAssignment,_IfcLineObject219);var _super1705=_createSuper(IfcUnitAssignment);function IfcUnitAssignment(expressID,Units){var _this1708;_classCallCheck(this,IfcUnitAssignment);_this1708=_super1705.call(this,expressID);_this1708.Units=Units;_this1708.type=180925521;return _this1708;}return _createClass(IfcUnitAssignment);}(IfcLineObject);IFC4X32.IfcUnitAssignment=IfcUnitAssignment;var IfcVertex=/*#__PURE__*/function(_IfcTopologicalRepres15){_inherits(IfcVertex,_IfcTopologicalRepres15);var _super1706=_createSuper(IfcVertex);function IfcVertex(expressID){var _this1709;_classCallCheck(this,IfcVertex);_this1709=_super1706.call(this,expressID);_this1709.type=2799835756;return _this1709;}return _createClass(IfcVertex);}(IfcTopologicalRepresentationItem);IFC4X32.IfcVertex=IfcVertex;var IfcVertexPoint=/*#__PURE__*/function(_IfcVertex3){_inherits(IfcVertexPoint,_IfcVertex3);var _super1707=_createSuper(IfcVertexPoint);function IfcVertexPoint(expressID,VertexGeometry){var _this1710;_classCallCheck(this,IfcVertexPoint);_this1710=_super1707.call(this,expressID);_this1710.VertexGeometry=VertexGeometry;_this1710.type=1907098498;return _this1710;}return _createClass(IfcVertexPoint);}(IfcVertex);IFC4X32.IfcVertexPoint=IfcVertexPoint;var IfcVirtualGridIntersection=/*#__PURE__*/function(_IfcLineObject220){_inherits(IfcVirtualGridIntersection,_IfcLineObject220);var _super1708=_createSuper(IfcVirtualGridIntersection);function IfcVirtualGridIntersection(expressID,IntersectingAxes,OffsetDistances){var _this1711;_classCallCheck(this,IfcVirtualGridIntersection);_this1711=_super1708.call(this,expressID);_this1711.IntersectingAxes=IntersectingAxes;_this1711.OffsetDistances=OffsetDistances;_this1711.type=891718957;return _this1711;}return _createClass(IfcVirtualGridIntersection);}(IfcLineObject);IFC4X32.IfcVirtualGridIntersection=IfcVirtualGridIntersection;var IfcWorkTime=/*#__PURE__*/function(_IfcSchedulingTime7){_inherits(IfcWorkTime,_IfcSchedulingTime7);var _super1709=_createSuper(IfcWorkTime);function IfcWorkTime(expressID,Name,DataOrigin,UserDefinedDataOrigin,RecurrencePattern,StartDate,FinishDate){var _this1712;_classCallCheck(this,IfcWorkTime);_this1712=_super1709.call(this,expressID,Name,DataOrigin,UserDefinedDataOrigin);_this1712.Name=Name;_this1712.DataOrigin=DataOrigin;_this1712.UserDefinedDataOrigin=UserDefinedDataOrigin;_this1712.RecurrencePattern=RecurrencePattern;_this1712.StartDate=StartDate;_this1712.FinishDate=FinishDate;_this1712.type=1236880293;return _this1712;}return _createClass(IfcWorkTime);}(IfcSchedulingTime);IFC4X32.IfcWorkTime=IfcWorkTime;var IfcAlignmentCantSegment=/*#__PURE__*/function(_IfcAlignmentParamete2){_inherits(IfcAlignmentCantSegment,_IfcAlignmentParamete2);var _super1710=_createSuper(IfcAlignmentCantSegment);function IfcAlignmentCantSegment(expressID,StartTag,EndTag,StartDistAlong,HorizontalLength,StartCantLeft,EndCantLeft,StartCantRight,EndCantRight,PredefinedType){var _this1713;_classCallCheck(this,IfcAlignmentCantSegment);_this1713=_super1710.call(this,expressID,StartTag,EndTag);_this1713.StartTag=StartTag;_this1713.EndTag=EndTag;_this1713.StartDistAlong=StartDistAlong;_this1713.HorizontalLength=HorizontalLength;_this1713.StartCantLeft=StartCantLeft;_this1713.EndCantLeft=EndCantLeft;_this1713.StartCantRight=StartCantRight;_this1713.EndCantRight=EndCantRight;_this1713.PredefinedType=PredefinedType;_this1713.type=3752311538;return _this1713;}return _createClass(IfcAlignmentCantSegment);}(IfcAlignmentParameterSegment);IFC4X32.IfcAlignmentCantSegment=IfcAlignmentCantSegment;var IfcAlignmentHorizontalSegment=/*#__PURE__*/function(_IfcAlignmentParamete3){_inherits(IfcAlignmentHorizontalSegment,_IfcAlignmentParamete3);var _super1711=_createSuper(IfcAlignmentHorizontalSegment);function IfcAlignmentHorizontalSegment(expressID,StartTag,EndTag,StartPoint,StartDirection,StartRadiusOfCurvature,EndRadiusOfCurvature,SegmentLength,GravityCenterLineHeight,PredefinedType){var _this1714;_classCallCheck(this,IfcAlignmentHorizontalSegment);_this1714=_super1711.call(this,expressID,StartTag,EndTag);_this1714.StartTag=StartTag;_this1714.EndTag=EndTag;_this1714.StartPoint=StartPoint;_this1714.StartDirection=StartDirection;_this1714.StartRadiusOfCurvature=StartRadiusOfCurvature;_this1714.EndRadiusOfCurvature=EndRadiusOfCurvature;_this1714.SegmentLength=SegmentLength;_this1714.GravityCenterLineHeight=GravityCenterLineHeight;_this1714.PredefinedType=PredefinedType;_this1714.type=536804194;return _this1714;}return _createClass(IfcAlignmentHorizontalSegment);}(IfcAlignmentParameterSegment);IFC4X32.IfcAlignmentHorizontalSegment=IfcAlignmentHorizontalSegment;var IfcApprovalRelationship=/*#__PURE__*/function(_IfcResourceLevelRela10){_inherits(IfcApprovalRelationship,_IfcResourceLevelRela10);var _super1712=_createSuper(IfcApprovalRelationship);function IfcApprovalRelationship(expressID,Name,Description,RelatingApproval,RelatedApprovals){var _this1715;_classCallCheck(this,IfcApprovalRelationship);_this1715=_super1712.call(this,expressID,Name,Description);_this1715.Name=Name;_this1715.Description=Description;_this1715.RelatingApproval=RelatingApproval;_this1715.RelatedApprovals=RelatedApprovals;_this1715.type=3869604511;return _this1715;}return _createClass(IfcApprovalRelationship);}(IfcResourceLevelRelationship);IFC4X32.IfcApprovalRelationship=IfcApprovalRelationship;var IfcArbitraryClosedProfileDef=/*#__PURE__*/function(_IfcProfileDef11){_inherits(IfcArbitraryClosedProfileDef,_IfcProfileDef11);var _super1713=_createSuper(IfcArbitraryClosedProfileDef);function IfcArbitraryClosedProfileDef(expressID,ProfileType,ProfileName,OuterCurve){var _this1716;_classCallCheck(this,IfcArbitraryClosedProfileDef);_this1716=_super1713.call(this,expressID,ProfileType,ProfileName);_this1716.ProfileType=ProfileType;_this1716.ProfileName=ProfileName;_this1716.OuterCurve=OuterCurve;_this1716.type=3798115385;return _this1716;}return _createClass(IfcArbitraryClosedProfileDef);}(IfcProfileDef);IFC4X32.IfcArbitraryClosedProfileDef=IfcArbitraryClosedProfileDef;var IfcArbitraryOpenProfileDef=/*#__PURE__*/function(_IfcProfileDef12){_inherits(IfcArbitraryOpenProfileDef,_IfcProfileDef12);var _super1714=_createSuper(IfcArbitraryOpenProfileDef);function IfcArbitraryOpenProfileDef(expressID,ProfileType,ProfileName,Curve){var _this1717;_classCallCheck(this,IfcArbitraryOpenProfileDef);_this1717=_super1714.call(this,expressID,ProfileType,ProfileName);_this1717.ProfileType=ProfileType;_this1717.ProfileName=ProfileName;_this1717.Curve=Curve;_this1717.type=1310608509;return _this1717;}return _createClass(IfcArbitraryOpenProfileDef);}(IfcProfileDef);IFC4X32.IfcArbitraryOpenProfileDef=IfcArbitraryOpenProfileDef;var IfcArbitraryProfileDefWithVoids=/*#__PURE__*/function(_IfcArbitraryClosedPr3){_inherits(IfcArbitraryProfileDefWithVoids,_IfcArbitraryClosedPr3);var _super1715=_createSuper(IfcArbitraryProfileDefWithVoids);function IfcArbitraryProfileDefWithVoids(expressID,ProfileType,ProfileName,OuterCurve,InnerCurves){var _this1718;_classCallCheck(this,IfcArbitraryProfileDefWithVoids);_this1718=_super1715.call(this,expressID,ProfileType,ProfileName,OuterCurve);_this1718.ProfileType=ProfileType;_this1718.ProfileName=ProfileName;_this1718.OuterCurve=OuterCurve;_this1718.InnerCurves=InnerCurves;_this1718.type=2705031697;return _this1718;}return _createClass(IfcArbitraryProfileDefWithVoids);}(IfcArbitraryClosedProfileDef);IFC4X32.IfcArbitraryProfileDefWithVoids=IfcArbitraryProfileDefWithVoids;var IfcBlobTexture=/*#__PURE__*/function(_IfcSurfaceTexture7){_inherits(IfcBlobTexture,_IfcSurfaceTexture7);var _super1716=_createSuper(IfcBlobTexture);function IfcBlobTexture(expressID,RepeatS,RepeatT,Mode,TextureTransform,Parameter,RasterFormat,RasterCode){var _this1719;_classCallCheck(this,IfcBlobTexture);_this1719=_super1716.call(this,expressID,RepeatS,RepeatT,Mode,TextureTransform,Parameter);_this1719.RepeatS=RepeatS;_this1719.RepeatT=RepeatT;_this1719.Mode=Mode;_this1719.TextureTransform=TextureTransform;_this1719.Parameter=Parameter;_this1719.RasterFormat=RasterFormat;_this1719.RasterCode=RasterCode;_this1719.type=616511568;return _this1719;}return _createClass(IfcBlobTexture);}(IfcSurfaceTexture);IFC4X32.IfcBlobTexture=IfcBlobTexture;var IfcCenterLineProfileDef=/*#__PURE__*/function(_IfcArbitraryOpenProf3){_inherits(IfcCenterLineProfileDef,_IfcArbitraryOpenProf3);var _super1717=_createSuper(IfcCenterLineProfileDef);function IfcCenterLineProfileDef(expressID,ProfileType,ProfileName,Curve,Thickness){var _this1720;_classCallCheck(this,IfcCenterLineProfileDef);_this1720=_super1717.call(this,expressID,ProfileType,ProfileName,Curve);_this1720.ProfileType=ProfileType;_this1720.ProfileName=ProfileName;_this1720.Curve=Curve;_this1720.Thickness=Thickness;_this1720.type=3150382593;return _this1720;}return _createClass(IfcCenterLineProfileDef);}(IfcArbitraryOpenProfileDef);IFC4X32.IfcCenterLineProfileDef=IfcCenterLineProfileDef;var IfcClassification=/*#__PURE__*/function(_IfcExternalInformati5){_inherits(IfcClassification,_IfcExternalInformati5);var _super1718=_createSuper(IfcClassification);function IfcClassification(expressID,Source,Edition,EditionDate,Name,Description,Specification,ReferenceTokens){var _this1721;_classCallCheck(this,IfcClassification);_this1721=_super1718.call(this,expressID);_this1721.Source=Source;_this1721.Edition=Edition;_this1721.EditionDate=EditionDate;_this1721.Name=Name;_this1721.Description=Description;_this1721.Specification=Specification;_this1721.ReferenceTokens=ReferenceTokens;_this1721.type=747523909;return _this1721;}return _createClass(IfcClassification);}(IfcExternalInformation);IFC4X32.IfcClassification=IfcClassification;var IfcClassificationReference=/*#__PURE__*/function(_IfcExternalReference18){_inherits(IfcClassificationReference,_IfcExternalReference18);var _super1719=_createSuper(IfcClassificationReference);function IfcClassificationReference(expressID,Location,Identification,Name,ReferencedSource,Description,Sort){var _this1722;_classCallCheck(this,IfcClassificationReference);_this1722=_super1719.call(this,expressID,Location,Identification,Name);_this1722.Location=Location;_this1722.Identification=Identification;_this1722.Name=Name;_this1722.ReferencedSource=ReferencedSource;_this1722.Description=Description;_this1722.Sort=Sort;_this1722.type=647927063;return _this1722;}return _createClass(IfcClassificationReference);}(IfcExternalReference);IFC4X32.IfcClassificationReference=IfcClassificationReference;var IfcColourRgbList=/*#__PURE__*/function(_IfcPresentationItem28){_inherits(IfcColourRgbList,_IfcPresentationItem28);var _super1720=_createSuper(IfcColourRgbList);function IfcColourRgbList(expressID,ColourList){var _this1723;_classCallCheck(this,IfcColourRgbList);_this1723=_super1720.call(this,expressID);_this1723.ColourList=ColourList;_this1723.type=3285139300;return _this1723;}return _createClass(IfcColourRgbList);}(IfcPresentationItem);IFC4X32.IfcColourRgbList=IfcColourRgbList;var IfcColourSpecification=/*#__PURE__*/function(_IfcPresentationItem29){_inherits(IfcColourSpecification,_IfcPresentationItem29);var _super1721=_createSuper(IfcColourSpecification);function IfcColourSpecification(expressID,Name){var _this1724;_classCallCheck(this,IfcColourSpecification);_this1724=_super1721.call(this,expressID);_this1724.Name=Name;_this1724.type=3264961684;return _this1724;}return _createClass(IfcColourSpecification);}(IfcPresentationItem);IFC4X32.IfcColourSpecification=IfcColourSpecification;var IfcCompositeProfileDef=/*#__PURE__*/function(_IfcProfileDef13){_inherits(IfcCompositeProfileDef,_IfcProfileDef13);var _super1722=_createSuper(IfcCompositeProfileDef);function IfcCompositeProfileDef(expressID,ProfileType,ProfileName,Profiles,Label){var _this1725;_classCallCheck(this,IfcCompositeProfileDef);_this1725=_super1722.call(this,expressID,ProfileType,ProfileName);_this1725.ProfileType=ProfileType;_this1725.ProfileName=ProfileName;_this1725.Profiles=Profiles;_this1725.Label=Label;_this1725.type=1485152156;return _this1725;}return _createClass(IfcCompositeProfileDef);}(IfcProfileDef);IFC4X32.IfcCompositeProfileDef=IfcCompositeProfileDef;var IfcConnectedFaceSet=/*#__PURE__*/function(_IfcTopologicalRepres16){_inherits(IfcConnectedFaceSet,_IfcTopologicalRepres16);var _super1723=_createSuper(IfcConnectedFaceSet);function IfcConnectedFaceSet(expressID,CfsFaces){var _this1726;_classCallCheck(this,IfcConnectedFaceSet);_this1726=_super1723.call(this,expressID);_this1726.CfsFaces=CfsFaces;_this1726.type=370225590;return _this1726;}return _createClass(IfcConnectedFaceSet);}(IfcTopologicalRepresentationItem);IFC4X32.IfcConnectedFaceSet=IfcConnectedFaceSet;var IfcConnectionCurveGeometry=/*#__PURE__*/function(_IfcConnectionGeometr12){_inherits(IfcConnectionCurveGeometry,_IfcConnectionGeometr12);var _super1724=_createSuper(IfcConnectionCurveGeometry);function IfcConnectionCurveGeometry(expressID,CurveOnRelatingElement,CurveOnRelatedElement){var _this1727;_classCallCheck(this,IfcConnectionCurveGeometry);_this1727=_super1724.call(this,expressID);_this1727.CurveOnRelatingElement=CurveOnRelatingElement;_this1727.CurveOnRelatedElement=CurveOnRelatedElement;_this1727.type=1981873012;return _this1727;}return _createClass(IfcConnectionCurveGeometry);}(IfcConnectionGeometry);IFC4X32.IfcConnectionCurveGeometry=IfcConnectionCurveGeometry;var IfcConnectionPointEccentricity=/*#__PURE__*/function(_IfcConnectionPointGe3){_inherits(IfcConnectionPointEccentricity,_IfcConnectionPointGe3);var _super1725=_createSuper(IfcConnectionPointEccentricity);function IfcConnectionPointEccentricity(expressID,PointOnRelatingElement,PointOnRelatedElement,EccentricityInX,EccentricityInY,EccentricityInZ){var _this1728;_classCallCheck(this,IfcConnectionPointEccentricity);_this1728=_super1725.call(this,expressID,PointOnRelatingElement,PointOnRelatedElement);_this1728.PointOnRelatingElement=PointOnRelatingElement;_this1728.PointOnRelatedElement=PointOnRelatedElement;_this1728.EccentricityInX=EccentricityInX;_this1728.EccentricityInY=EccentricityInY;_this1728.EccentricityInZ=EccentricityInZ;_this1728.type=45288368;return _this1728;}return _createClass(IfcConnectionPointEccentricity);}(IfcConnectionPointGeometry);IFC4X32.IfcConnectionPointEccentricity=IfcConnectionPointEccentricity;var IfcContextDependentUnit=/*#__PURE__*/function(_IfcNamedUnit8){_inherits(IfcContextDependentUnit,_IfcNamedUnit8);var _super1726=_createSuper(IfcContextDependentUnit);function IfcContextDependentUnit(expressID,Dimensions,UnitType,Name){var _this1729;_classCallCheck(this,IfcContextDependentUnit);_this1729=_super1726.call(this,expressID,Dimensions,UnitType);_this1729.Dimensions=Dimensions;_this1729.UnitType=UnitType;_this1729.Name=Name;_this1729.type=3050246964;return _this1729;}return _createClass(IfcContextDependentUnit);}(IfcNamedUnit);IFC4X32.IfcContextDependentUnit=IfcContextDependentUnit;var IfcConversionBasedUnit=/*#__PURE__*/function(_IfcNamedUnit9){_inherits(IfcConversionBasedUnit,_IfcNamedUnit9);var _super1727=_createSuper(IfcConversionBasedUnit);function IfcConversionBasedUnit(expressID,Dimensions,UnitType,Name,ConversionFactor){var _this1730;_classCallCheck(this,IfcConversionBasedUnit);_this1730=_super1727.call(this,expressID,Dimensions,UnitType);_this1730.Dimensions=Dimensions;_this1730.UnitType=UnitType;_this1730.Name=Name;_this1730.ConversionFactor=ConversionFactor;_this1730.type=2889183280;return _this1730;}return _createClass(IfcConversionBasedUnit);}(IfcNamedUnit);IFC4X32.IfcConversionBasedUnit=IfcConversionBasedUnit;var IfcConversionBasedUnitWithOffset=/*#__PURE__*/function(_IfcConversionBasedUn2){_inherits(IfcConversionBasedUnitWithOffset,_IfcConversionBasedUn2);var _super1728=_createSuper(IfcConversionBasedUnitWithOffset);function IfcConversionBasedUnitWithOffset(expressID,Dimensions,UnitType,Name,ConversionFactor,ConversionOffset){var _this1731;_classCallCheck(this,IfcConversionBasedUnitWithOffset);_this1731=_super1728.call(this,expressID,Dimensions,UnitType,Name,ConversionFactor);_this1731.Dimensions=Dimensions;_this1731.UnitType=UnitType;_this1731.Name=Name;_this1731.ConversionFactor=ConversionFactor;_this1731.ConversionOffset=ConversionOffset;_this1731.type=2713554722;return _this1731;}return _createClass(IfcConversionBasedUnitWithOffset);}(IfcConversionBasedUnit);IFC4X32.IfcConversionBasedUnitWithOffset=IfcConversionBasedUnitWithOffset;var IfcCurrencyRelationship=/*#__PURE__*/function(_IfcResourceLevelRela11){_inherits(IfcCurrencyRelationship,_IfcResourceLevelRela11);var _super1729=_createSuper(IfcCurrencyRelationship);function IfcCurrencyRelationship(expressID,Name,Description,RelatingMonetaryUnit,RelatedMonetaryUnit,ExchangeRate,RateDateTime,RateSource){var _this1732;_classCallCheck(this,IfcCurrencyRelationship);_this1732=_super1729.call(this,expressID,Name,Description);_this1732.Name=Name;_this1732.Description=Description;_this1732.RelatingMonetaryUnit=RelatingMonetaryUnit;_this1732.RelatedMonetaryUnit=RelatedMonetaryUnit;_this1732.ExchangeRate=ExchangeRate;_this1732.RateDateTime=RateDateTime;_this1732.RateSource=RateSource;_this1732.type=539742890;return _this1732;}return _createClass(IfcCurrencyRelationship);}(IfcResourceLevelRelationship);IFC4X32.IfcCurrencyRelationship=IfcCurrencyRelationship;var IfcCurveStyle=/*#__PURE__*/function(_IfcPresentationStyle12){_inherits(IfcCurveStyle,_IfcPresentationStyle12);var _super1730=_createSuper(IfcCurveStyle);function IfcCurveStyle(expressID,Name,CurveFont,CurveWidth,CurveColour,ModelOrDraughting){var _this1733;_classCallCheck(this,IfcCurveStyle);_this1733=_super1730.call(this,expressID,Name);_this1733.Name=Name;_this1733.CurveFont=CurveFont;_this1733.CurveWidth=CurveWidth;_this1733.CurveColour=CurveColour;_this1733.ModelOrDraughting=ModelOrDraughting;_this1733.type=3800577675;return _this1733;}return _createClass(IfcCurveStyle);}(IfcPresentationStyle);IFC4X32.IfcCurveStyle=IfcCurveStyle;var IfcCurveStyleFont=/*#__PURE__*/function(_IfcPresentationItem30){_inherits(IfcCurveStyleFont,_IfcPresentationItem30);var _super1731=_createSuper(IfcCurveStyleFont);function IfcCurveStyleFont(expressID,Name,PatternList){var _this1734;_classCallCheck(this,IfcCurveStyleFont);_this1734=_super1731.call(this,expressID);_this1734.Name=Name;_this1734.PatternList=PatternList;_this1734.type=1105321065;return _this1734;}return _createClass(IfcCurveStyleFont);}(IfcPresentationItem);IFC4X32.IfcCurveStyleFont=IfcCurveStyleFont;var IfcCurveStyleFontAndScaling=/*#__PURE__*/function(_IfcPresentationItem31){_inherits(IfcCurveStyleFontAndScaling,_IfcPresentationItem31);var _super1732=_createSuper(IfcCurveStyleFontAndScaling);function IfcCurveStyleFontAndScaling(expressID,Name,CurveStyleFont,CurveFontScaling){var _this1735;_classCallCheck(this,IfcCurveStyleFontAndScaling);_this1735=_super1732.call(this,expressID);_this1735.Name=Name;_this1735.CurveStyleFont=CurveStyleFont;_this1735.CurveFontScaling=CurveFontScaling;_this1735.type=2367409068;return _this1735;}return _createClass(IfcCurveStyleFontAndScaling);}(IfcPresentationItem);IFC4X32.IfcCurveStyleFontAndScaling=IfcCurveStyleFontAndScaling;var IfcCurveStyleFontPattern=/*#__PURE__*/function(_IfcPresentationItem32){_inherits(IfcCurveStyleFontPattern,_IfcPresentationItem32);var _super1733=_createSuper(IfcCurveStyleFontPattern);function IfcCurveStyleFontPattern(expressID,VisibleSegmentLength,InvisibleSegmentLength){var _this1736;_classCallCheck(this,IfcCurveStyleFontPattern);_this1736=_super1733.call(this,expressID);_this1736.VisibleSegmentLength=VisibleSegmentLength;_this1736.InvisibleSegmentLength=InvisibleSegmentLength;_this1736.type=3510044353;return _this1736;}return _createClass(IfcCurveStyleFontPattern);}(IfcPresentationItem);IFC4X32.IfcCurveStyleFontPattern=IfcCurveStyleFontPattern;var IfcDerivedProfileDef=/*#__PURE__*/function(_IfcProfileDef14){_inherits(IfcDerivedProfileDef,_IfcProfileDef14);var _super1734=_createSuper(IfcDerivedProfileDef);function IfcDerivedProfileDef(expressID,ProfileType,ProfileName,ParentProfile,Operator,Label){var _this1737;_classCallCheck(this,IfcDerivedProfileDef);_this1737=_super1734.call(this,expressID,ProfileType,ProfileName);_this1737.ProfileType=ProfileType;_this1737.ProfileName=ProfileName;_this1737.ParentProfile=ParentProfile;_this1737.Operator=Operator;_this1737.Label=Label;_this1737.type=3632507154;return _this1737;}return _createClass(IfcDerivedProfileDef);}(IfcProfileDef);IFC4X32.IfcDerivedProfileDef=IfcDerivedProfileDef;var IfcDocumentInformation=/*#__PURE__*/function(_IfcExternalInformati6){_inherits(IfcDocumentInformation,_IfcExternalInformati6);var _super1735=_createSuper(IfcDocumentInformation);function IfcDocumentInformation(expressID,Identification,Name,Description,Location,Purpose,IntendedUse,Scope,Revision,DocumentOwner,Editors,CreationTime,LastRevisionTime,ElectronicFormat,ValidFrom,ValidUntil,Confidentiality,Status){var _this1738;_classCallCheck(this,IfcDocumentInformation);_this1738=_super1735.call(this,expressID);_this1738.Identification=Identification;_this1738.Name=Name;_this1738.Description=Description;_this1738.Location=Location;_this1738.Purpose=Purpose;_this1738.IntendedUse=IntendedUse;_this1738.Scope=Scope;_this1738.Revision=Revision;_this1738.DocumentOwner=DocumentOwner;_this1738.Editors=Editors;_this1738.CreationTime=CreationTime;_this1738.LastRevisionTime=LastRevisionTime;_this1738.ElectronicFormat=ElectronicFormat;_this1738.ValidFrom=ValidFrom;_this1738.ValidUntil=ValidUntil;_this1738.Confidentiality=Confidentiality;_this1738.Status=Status;_this1738.type=1154170062;return _this1738;}return _createClass(IfcDocumentInformation);}(IfcExternalInformation);IFC4X32.IfcDocumentInformation=IfcDocumentInformation;var IfcDocumentInformationRelationship=/*#__PURE__*/function(_IfcResourceLevelRela12){_inherits(IfcDocumentInformationRelationship,_IfcResourceLevelRela12);var _super1736=_createSuper(IfcDocumentInformationRelationship);function IfcDocumentInformationRelationship(expressID,Name,Description,RelatingDocument,RelatedDocuments,RelationshipType){var _this1739;_classCallCheck(this,IfcDocumentInformationRelationship);_this1739=_super1736.call(this,expressID,Name,Description);_this1739.Name=Name;_this1739.Description=Description;_this1739.RelatingDocument=RelatingDocument;_this1739.RelatedDocuments=RelatedDocuments;_this1739.RelationshipType=RelationshipType;_this1739.type=770865208;return _this1739;}return _createClass(IfcDocumentInformationRelationship);}(IfcResourceLevelRelationship);IFC4X32.IfcDocumentInformationRelationship=IfcDocumentInformationRelationship;var IfcDocumentReference=/*#__PURE__*/function(_IfcExternalReference19){_inherits(IfcDocumentReference,_IfcExternalReference19);var _super1737=_createSuper(IfcDocumentReference);function IfcDocumentReference(expressID,Location,Identification,Name,Description,ReferencedDocument){var _this1740;_classCallCheck(this,IfcDocumentReference);_this1740=_super1737.call(this,expressID,Location,Identification,Name);_this1740.Location=Location;_this1740.Identification=Identification;_this1740.Name=Name;_this1740.Description=Description;_this1740.ReferencedDocument=ReferencedDocument;_this1740.type=3732053477;return _this1740;}return _createClass(IfcDocumentReference);}(IfcExternalReference);IFC4X32.IfcDocumentReference=IfcDocumentReference;var IfcEdge=/*#__PURE__*/function(_IfcTopologicalRepres17){_inherits(IfcEdge,_IfcTopologicalRepres17);var _super1738=_createSuper(IfcEdge);function IfcEdge(expressID,EdgeStart,EdgeEnd){var _this1741;_classCallCheck(this,IfcEdge);_this1741=_super1738.call(this,expressID);_this1741.EdgeStart=EdgeStart;_this1741.EdgeEnd=EdgeEnd;_this1741.type=3900360178;return _this1741;}return _createClass(IfcEdge);}(IfcTopologicalRepresentationItem);IFC4X32.IfcEdge=IfcEdge;var IfcEdgeCurve=/*#__PURE__*/function(_IfcEdge7){_inherits(IfcEdgeCurve,_IfcEdge7);var _super1739=_createSuper(IfcEdgeCurve);function IfcEdgeCurve(expressID,EdgeStart,EdgeEnd,EdgeGeometry,SameSense){var _this1742;_classCallCheck(this,IfcEdgeCurve);_this1742=_super1739.call(this,expressID,EdgeStart,EdgeEnd);_this1742.EdgeStart=EdgeStart;_this1742.EdgeEnd=EdgeEnd;_this1742.EdgeGeometry=EdgeGeometry;_this1742.SameSense=SameSense;_this1742.type=476780140;return _this1742;}return _createClass(IfcEdgeCurve);}(IfcEdge);IFC4X32.IfcEdgeCurve=IfcEdgeCurve;var IfcEventTime=/*#__PURE__*/function(_IfcSchedulingTime8){_inherits(IfcEventTime,_IfcSchedulingTime8);var _super1740=_createSuper(IfcEventTime);function IfcEventTime(expressID,Name,DataOrigin,UserDefinedDataOrigin,ActualDate,EarlyDate,LateDate,ScheduleDate){var _this1743;_classCallCheck(this,IfcEventTime);_this1743=_super1740.call(this,expressID,Name,DataOrigin,UserDefinedDataOrigin);_this1743.Name=Name;_this1743.DataOrigin=DataOrigin;_this1743.UserDefinedDataOrigin=UserDefinedDataOrigin;_this1743.ActualDate=ActualDate;_this1743.EarlyDate=EarlyDate;_this1743.LateDate=LateDate;_this1743.ScheduleDate=ScheduleDate;_this1743.type=211053100;return _this1743;}return _createClass(IfcEventTime);}(IfcSchedulingTime);IFC4X32.IfcEventTime=IfcEventTime;var IfcExtendedProperties=/*#__PURE__*/function(_IfcPropertyAbstracti6){_inherits(IfcExtendedProperties,_IfcPropertyAbstracti6);var _super1741=_createSuper(IfcExtendedProperties);function IfcExtendedProperties(expressID,Name,Description,Properties2){var _this1744;_classCallCheck(this,IfcExtendedProperties);_this1744=_super1741.call(this,expressID);_this1744.Name=Name;_this1744.Description=Description;_this1744.Properties=Properties2;_this1744.type=297599258;return _this1744;}return _createClass(IfcExtendedProperties);}(IfcPropertyAbstraction);IFC4X32.IfcExtendedProperties=IfcExtendedProperties;var IfcExternalReferenceRelationship=/*#__PURE__*/function(_IfcResourceLevelRela13){_inherits(IfcExternalReferenceRelationship,_IfcResourceLevelRela13);var _super1742=_createSuper(IfcExternalReferenceRelationship);function IfcExternalReferenceRelationship(expressID,Name,Description,RelatingReference,RelatedResourceObjects){var _this1745;_classCallCheck(this,IfcExternalReferenceRelationship);_this1745=_super1742.call(this,expressID,Name,Description);_this1745.Name=Name;_this1745.Description=Description;_this1745.RelatingReference=RelatingReference;_this1745.RelatedResourceObjects=RelatedResourceObjects;_this1745.type=1437805879;return _this1745;}return _createClass(IfcExternalReferenceRelationship);}(IfcResourceLevelRelationship);IFC4X32.IfcExternalReferenceRelationship=IfcExternalReferenceRelationship;var IfcFace=/*#__PURE__*/function(_IfcTopologicalRepres18){_inherits(IfcFace,_IfcTopologicalRepres18);var _super1743=_createSuper(IfcFace);function IfcFace(expressID,Bounds){var _this1746;_classCallCheck(this,IfcFace);_this1746=_super1743.call(this,expressID);_this1746.Bounds=Bounds;_this1746.type=2556980723;return _this1746;}return _createClass(IfcFace);}(IfcTopologicalRepresentationItem);IFC4X32.IfcFace=IfcFace;var IfcFaceBound=/*#__PURE__*/function(_IfcTopologicalRepres19){_inherits(IfcFaceBound,_IfcTopologicalRepres19);var _super1744=_createSuper(IfcFaceBound);function IfcFaceBound(expressID,Bound,Orientation){var _this1747;_classCallCheck(this,IfcFaceBound);_this1747=_super1744.call(this,expressID);_this1747.Bound=Bound;_this1747.Orientation=Orientation;_this1747.type=1809719519;return _this1747;}return _createClass(IfcFaceBound);}(IfcTopologicalRepresentationItem);IFC4X32.IfcFaceBound=IfcFaceBound;var IfcFaceOuterBound=/*#__PURE__*/function(_IfcFaceBound3){_inherits(IfcFaceOuterBound,_IfcFaceBound3);var _super1745=_createSuper(IfcFaceOuterBound);function IfcFaceOuterBound(expressID,Bound,Orientation){var _this1748;_classCallCheck(this,IfcFaceOuterBound);_this1748=_super1745.call(this,expressID,Bound,Orientation);_this1748.Bound=Bound;_this1748.Orientation=Orientation;_this1748.type=803316827;return _this1748;}return _createClass(IfcFaceOuterBound);}(IfcFaceBound);IFC4X32.IfcFaceOuterBound=IfcFaceOuterBound;var IfcFaceSurface=/*#__PURE__*/function(_IfcFace3){_inherits(IfcFaceSurface,_IfcFace3);var _super1746=_createSuper(IfcFaceSurface);function IfcFaceSurface(expressID,Bounds,FaceSurface,SameSense){var _this1749;_classCallCheck(this,IfcFaceSurface);_this1749=_super1746.call(this,expressID,Bounds);_this1749.Bounds=Bounds;_this1749.FaceSurface=FaceSurface;_this1749.SameSense=SameSense;_this1749.type=3008276851;return _this1749;}return _createClass(IfcFaceSurface);}(IfcFace);IFC4X32.IfcFaceSurface=IfcFaceSurface;var IfcFailureConnectionCondition=/*#__PURE__*/function(_IfcStructuralConnect11){_inherits(IfcFailureConnectionCondition,_IfcStructuralConnect11);var _super1747=_createSuper(IfcFailureConnectionCondition);function IfcFailureConnectionCondition(expressID,Name,TensionFailureX,TensionFailureY,TensionFailureZ,CompressionFailureX,CompressionFailureY,CompressionFailureZ){var _this1750;_classCallCheck(this,IfcFailureConnectionCondition);_this1750=_super1747.call(this,expressID,Name);_this1750.Name=Name;_this1750.TensionFailureX=TensionFailureX;_this1750.TensionFailureY=TensionFailureY;_this1750.TensionFailureZ=TensionFailureZ;_this1750.CompressionFailureX=CompressionFailureX;_this1750.CompressionFailureY=CompressionFailureY;_this1750.CompressionFailureZ=CompressionFailureZ;_this1750.type=4219587988;return _this1750;}return _createClass(IfcFailureConnectionCondition);}(IfcStructuralConnectionCondition);IFC4X32.IfcFailureConnectionCondition=IfcFailureConnectionCondition;var IfcFillAreaStyle=/*#__PURE__*/function(_IfcPresentationStyle13){_inherits(IfcFillAreaStyle,_IfcPresentationStyle13);var _super1748=_createSuper(IfcFillAreaStyle);function IfcFillAreaStyle(expressID,Name,FillStyles,ModelOrDraughting){var _this1751;_classCallCheck(this,IfcFillAreaStyle);_this1751=_super1748.call(this,expressID,Name);_this1751.Name=Name;_this1751.FillStyles=FillStyles;_this1751.ModelOrDraughting=ModelOrDraughting;_this1751.type=738692330;return _this1751;}return _createClass(IfcFillAreaStyle);}(IfcPresentationStyle);IFC4X32.IfcFillAreaStyle=IfcFillAreaStyle;var IfcGeometricRepresentationContext=/*#__PURE__*/function(_IfcRepresentationCon3){_inherits(IfcGeometricRepresentationContext,_IfcRepresentationCon3);var _super1749=_createSuper(IfcGeometricRepresentationContext);function IfcGeometricRepresentationContext(expressID,ContextIdentifier,ContextType,CoordinateSpaceDimension,Precision,WorldCoordinateSystem,TrueNorth){var _this1752;_classCallCheck(this,IfcGeometricRepresentationContext);_this1752=_super1749.call(this,expressID,ContextIdentifier,ContextType);_this1752.ContextIdentifier=ContextIdentifier;_this1752.ContextType=ContextType;_this1752.CoordinateSpaceDimension=CoordinateSpaceDimension;_this1752.Precision=Precision;_this1752.WorldCoordinateSystem=WorldCoordinateSystem;_this1752.TrueNorth=TrueNorth;_this1752.type=3448662350;return _this1752;}return _createClass(IfcGeometricRepresentationContext);}(IfcRepresentationContext);IFC4X32.IfcGeometricRepresentationContext=IfcGeometricRepresentationContext;var IfcGeometricRepresentationItem=/*#__PURE__*/function(_IfcRepresentationIte11){_inherits(IfcGeometricRepresentationItem,_IfcRepresentationIte11);var _super1750=_createSuper(IfcGeometricRepresentationItem);function IfcGeometricRepresentationItem(expressID){var _this1753;_classCallCheck(this,IfcGeometricRepresentationItem);_this1753=_super1750.call(this,expressID);_this1753.type=2453401579;return _this1753;}return _createClass(IfcGeometricRepresentationItem);}(IfcRepresentationItem);IFC4X32.IfcGeometricRepresentationItem=IfcGeometricRepresentationItem;var IfcGeometricRepresentationSubContext=/*#__PURE__*/function(_IfcGeometricRepresen56){_inherits(IfcGeometricRepresentationSubContext,_IfcGeometricRepresen56);var _super1751=_createSuper(IfcGeometricRepresentationSubContext);function IfcGeometricRepresentationSubContext(expressID,ContextIdentifier,ContextType,WorldCoordinateSystem,ParentContext,TargetScale,TargetView,UserDefinedTargetView){var _this1754;_classCallCheck(this,IfcGeometricRepresentationSubContext);_this1754=_super1751.call(this,expressID,ContextIdentifier,ContextType,new IfcDimensionCount(0),null,WorldCoordinateSystem,null);_this1754.ContextIdentifier=ContextIdentifier;_this1754.ContextType=ContextType;_this1754.WorldCoordinateSystem=WorldCoordinateSystem;_this1754.ParentContext=ParentContext;_this1754.TargetScale=TargetScale;_this1754.TargetView=TargetView;_this1754.UserDefinedTargetView=UserDefinedTargetView;_this1754.type=4142052618;return _this1754;}return _createClass(IfcGeometricRepresentationSubContext);}(IfcGeometricRepresentationContext);IFC4X32.IfcGeometricRepresentationSubContext=IfcGeometricRepresentationSubContext;var IfcGeometricSet=/*#__PURE__*/function(_IfcGeometricRepresen57){_inherits(IfcGeometricSet,_IfcGeometricRepresen57);var _super1752=_createSuper(IfcGeometricSet);function IfcGeometricSet(expressID,Elements){var _this1755;_classCallCheck(this,IfcGeometricSet);_this1755=_super1752.call(this,expressID);_this1755.Elements=Elements;_this1755.type=3590301190;return _this1755;}return _createClass(IfcGeometricSet);}(IfcGeometricRepresentationItem);IFC4X32.IfcGeometricSet=IfcGeometricSet;var IfcGridPlacement=/*#__PURE__*/function(_IfcObjectPlacement5){_inherits(IfcGridPlacement,_IfcObjectPlacement5);var _super1753=_createSuper(IfcGridPlacement);function IfcGridPlacement(expressID,PlacementRelTo,PlacementLocation,PlacementRefDirection){var _this1756;_classCallCheck(this,IfcGridPlacement);_this1756=_super1753.call(this,expressID,PlacementRelTo);_this1756.PlacementRelTo=PlacementRelTo;_this1756.PlacementLocation=PlacementLocation;_this1756.PlacementRefDirection=PlacementRefDirection;_this1756.type=178086475;return _this1756;}return _createClass(IfcGridPlacement);}(IfcObjectPlacement);IFC4X32.IfcGridPlacement=IfcGridPlacement;var IfcHalfSpaceSolid=/*#__PURE__*/function(_IfcGeometricRepresen58){_inherits(IfcHalfSpaceSolid,_IfcGeometricRepresen58);var _super1754=_createSuper(IfcHalfSpaceSolid);function IfcHalfSpaceSolid(expressID,BaseSurface,AgreementFlag){var _this1757;_classCallCheck(this,IfcHalfSpaceSolid);_this1757=_super1754.call(this,expressID);_this1757.BaseSurface=BaseSurface;_this1757.AgreementFlag=AgreementFlag;_this1757.type=812098782;return _this1757;}return _createClass(IfcHalfSpaceSolid);}(IfcGeometricRepresentationItem);IFC4X32.IfcHalfSpaceSolid=IfcHalfSpaceSolid;var IfcImageTexture=/*#__PURE__*/function(_IfcSurfaceTexture8){_inherits(IfcImageTexture,_IfcSurfaceTexture8);var _super1755=_createSuper(IfcImageTexture);function IfcImageTexture(expressID,RepeatS,RepeatT,Mode,TextureTransform,Parameter,URLReference){var _this1758;_classCallCheck(this,IfcImageTexture);_this1758=_super1755.call(this,expressID,RepeatS,RepeatT,Mode,TextureTransform,Parameter);_this1758.RepeatS=RepeatS;_this1758.RepeatT=RepeatT;_this1758.Mode=Mode;_this1758.TextureTransform=TextureTransform;_this1758.Parameter=Parameter;_this1758.URLReference=URLReference;_this1758.type=3905492369;return _this1758;}return _createClass(IfcImageTexture);}(IfcSurfaceTexture);IFC4X32.IfcImageTexture=IfcImageTexture;var IfcIndexedColourMap=/*#__PURE__*/function(_IfcPresentationItem33){_inherits(IfcIndexedColourMap,_IfcPresentationItem33);var _super1756=_createSuper(IfcIndexedColourMap);function IfcIndexedColourMap(expressID,MappedTo,Opacity,Colours,ColourIndex){var _this1759;_classCallCheck(this,IfcIndexedColourMap);_this1759=_super1756.call(this,expressID);_this1759.MappedTo=MappedTo;_this1759.Opacity=Opacity;_this1759.Colours=Colours;_this1759.ColourIndex=ColourIndex;_this1759.type=3570813810;return _this1759;}return _createClass(IfcIndexedColourMap);}(IfcPresentationItem);IFC4X32.IfcIndexedColourMap=IfcIndexedColourMap;var IfcIndexedTextureMap=/*#__PURE__*/function(_IfcTextureCoordinate9){_inherits(IfcIndexedTextureMap,_IfcTextureCoordinate9);var _super1757=_createSuper(IfcIndexedTextureMap);function IfcIndexedTextureMap(expressID,Maps,MappedTo,TexCoords){var _this1760;_classCallCheck(this,IfcIndexedTextureMap);_this1760=_super1757.call(this,expressID,Maps);_this1760.Maps=Maps;_this1760.MappedTo=MappedTo;_this1760.TexCoords=TexCoords;_this1760.type=1437953363;return _this1760;}return _createClass(IfcIndexedTextureMap);}(IfcTextureCoordinate);IFC4X32.IfcIndexedTextureMap=IfcIndexedTextureMap;var IfcIndexedTriangleTextureMap=/*#__PURE__*/function(_IfcIndexedTextureMap2){_inherits(IfcIndexedTriangleTextureMap,_IfcIndexedTextureMap2);var _super1758=_createSuper(IfcIndexedTriangleTextureMap);function IfcIndexedTriangleTextureMap(expressID,Maps,MappedTo,TexCoords,TexCoordIndex){var _this1761;_classCallCheck(this,IfcIndexedTriangleTextureMap);_this1761=_super1758.call(this,expressID,Maps,MappedTo,TexCoords);_this1761.Maps=Maps;_this1761.MappedTo=MappedTo;_this1761.TexCoords=TexCoords;_this1761.TexCoordIndex=TexCoordIndex;_this1761.type=2133299955;return _this1761;}return _createClass(IfcIndexedTriangleTextureMap);}(IfcIndexedTextureMap);IFC4X32.IfcIndexedTriangleTextureMap=IfcIndexedTriangleTextureMap;var IfcIrregularTimeSeries=/*#__PURE__*/function(_IfcTimeSeries5){_inherits(IfcIrregularTimeSeries,_IfcTimeSeries5);var _super1759=_createSuper(IfcIrregularTimeSeries);function IfcIrregularTimeSeries(expressID,Name,Description,StartTime,EndTime,TimeSeriesDataType,DataOrigin,UserDefinedDataOrigin,Unit,Values){var _this1762;_classCallCheck(this,IfcIrregularTimeSeries);_this1762=_super1759.call(this,expressID,Name,Description,StartTime,EndTime,TimeSeriesDataType,DataOrigin,UserDefinedDataOrigin,Unit);_this1762.Name=Name;_this1762.Description=Description;_this1762.StartTime=StartTime;_this1762.EndTime=EndTime;_this1762.TimeSeriesDataType=TimeSeriesDataType;_this1762.DataOrigin=DataOrigin;_this1762.UserDefinedDataOrigin=UserDefinedDataOrigin;_this1762.Unit=Unit;_this1762.Values=Values;_this1762.type=3741457305;return _this1762;}return _createClass(IfcIrregularTimeSeries);}(IfcTimeSeries);IFC4X32.IfcIrregularTimeSeries=IfcIrregularTimeSeries;var IfcLagTime=/*#__PURE__*/function(_IfcSchedulingTime9){_inherits(IfcLagTime,_IfcSchedulingTime9);var _super1760=_createSuper(IfcLagTime);function IfcLagTime(expressID,Name,DataOrigin,UserDefinedDataOrigin,LagValue,DurationType){var _this1763;_classCallCheck(this,IfcLagTime);_this1763=_super1760.call(this,expressID,Name,DataOrigin,UserDefinedDataOrigin);_this1763.Name=Name;_this1763.DataOrigin=DataOrigin;_this1763.UserDefinedDataOrigin=UserDefinedDataOrigin;_this1763.LagValue=LagValue;_this1763.DurationType=DurationType;_this1763.type=1585845231;return _this1763;}return _createClass(IfcLagTime);}(IfcSchedulingTime);IFC4X32.IfcLagTime=IfcLagTime;var IfcLightSource=/*#__PURE__*/function(_IfcGeometricRepresen59){_inherits(IfcLightSource,_IfcGeometricRepresen59);var _super1761=_createSuper(IfcLightSource);function IfcLightSource(expressID,Name,LightColour,AmbientIntensity,Intensity){var _this1764;_classCallCheck(this,IfcLightSource);_this1764=_super1761.call(this,expressID);_this1764.Name=Name;_this1764.LightColour=LightColour;_this1764.AmbientIntensity=AmbientIntensity;_this1764.Intensity=Intensity;_this1764.type=1402838566;return _this1764;}return _createClass(IfcLightSource);}(IfcGeometricRepresentationItem);IFC4X32.IfcLightSource=IfcLightSource;var IfcLightSourceAmbient=/*#__PURE__*/function(_IfcLightSource9){_inherits(IfcLightSourceAmbient,_IfcLightSource9);var _super1762=_createSuper(IfcLightSourceAmbient);function IfcLightSourceAmbient(expressID,Name,LightColour,AmbientIntensity,Intensity){var _this1765;_classCallCheck(this,IfcLightSourceAmbient);_this1765=_super1762.call(this,expressID,Name,LightColour,AmbientIntensity,Intensity);_this1765.Name=Name;_this1765.LightColour=LightColour;_this1765.AmbientIntensity=AmbientIntensity;_this1765.Intensity=Intensity;_this1765.type=125510826;return _this1765;}return _createClass(IfcLightSourceAmbient);}(IfcLightSource);IFC4X32.IfcLightSourceAmbient=IfcLightSourceAmbient;var IfcLightSourceDirectional=/*#__PURE__*/function(_IfcLightSource10){_inherits(IfcLightSourceDirectional,_IfcLightSource10);var _super1763=_createSuper(IfcLightSourceDirectional);function IfcLightSourceDirectional(expressID,Name,LightColour,AmbientIntensity,Intensity,Orientation){var _this1766;_classCallCheck(this,IfcLightSourceDirectional);_this1766=_super1763.call(this,expressID,Name,LightColour,AmbientIntensity,Intensity);_this1766.Name=Name;_this1766.LightColour=LightColour;_this1766.AmbientIntensity=AmbientIntensity;_this1766.Intensity=Intensity;_this1766.Orientation=Orientation;_this1766.type=2604431987;return _this1766;}return _createClass(IfcLightSourceDirectional);}(IfcLightSource);IFC4X32.IfcLightSourceDirectional=IfcLightSourceDirectional;var IfcLightSourceGoniometric=/*#__PURE__*/function(_IfcLightSource11){_inherits(IfcLightSourceGoniometric,_IfcLightSource11);var _super1764=_createSuper(IfcLightSourceGoniometric);function IfcLightSourceGoniometric(expressID,Name,LightColour,AmbientIntensity,Intensity,Position,ColourAppearance,ColourTemperature,LuminousFlux,LightEmissionSource,LightDistributionDataSource){var _this1767;_classCallCheck(this,IfcLightSourceGoniometric);_this1767=_super1764.call(this,expressID,Name,LightColour,AmbientIntensity,Intensity);_this1767.Name=Name;_this1767.LightColour=LightColour;_this1767.AmbientIntensity=AmbientIntensity;_this1767.Intensity=Intensity;_this1767.Position=Position;_this1767.ColourAppearance=ColourAppearance;_this1767.ColourTemperature=ColourTemperature;_this1767.LuminousFlux=LuminousFlux;_this1767.LightEmissionSource=LightEmissionSource;_this1767.LightDistributionDataSource=LightDistributionDataSource;_this1767.type=4266656042;return _this1767;}return _createClass(IfcLightSourceGoniometric);}(IfcLightSource);IFC4X32.IfcLightSourceGoniometric=IfcLightSourceGoniometric;var IfcLightSourcePositional=/*#__PURE__*/function(_IfcLightSource12){_inherits(IfcLightSourcePositional,_IfcLightSource12);var _super1765=_createSuper(IfcLightSourcePositional);function IfcLightSourcePositional(expressID,Name,LightColour,AmbientIntensity,Intensity,Position,Radius,ConstantAttenuation,DistanceAttenuation,QuadricAttenuation){var _this1768;_classCallCheck(this,IfcLightSourcePositional);_this1768=_super1765.call(this,expressID,Name,LightColour,AmbientIntensity,Intensity);_this1768.Name=Name;_this1768.LightColour=LightColour;_this1768.AmbientIntensity=AmbientIntensity;_this1768.Intensity=Intensity;_this1768.Position=Position;_this1768.Radius=Radius;_this1768.ConstantAttenuation=ConstantAttenuation;_this1768.DistanceAttenuation=DistanceAttenuation;_this1768.QuadricAttenuation=QuadricAttenuation;_this1768.type=1520743889;return _this1768;}return _createClass(IfcLightSourcePositional);}(IfcLightSource);IFC4X32.IfcLightSourcePositional=IfcLightSourcePositional;var IfcLightSourceSpot=/*#__PURE__*/function(_IfcLightSourcePositi3){_inherits(IfcLightSourceSpot,_IfcLightSourcePositi3);var _super1766=_createSuper(IfcLightSourceSpot);function IfcLightSourceSpot(expressID,Name,LightColour,AmbientIntensity,Intensity,Position,Radius,ConstantAttenuation,DistanceAttenuation,QuadricAttenuation,Orientation,ConcentrationExponent,SpreadAngle,BeamWidthAngle){var _this1769;_classCallCheck(this,IfcLightSourceSpot);_this1769=_super1766.call(this,expressID,Name,LightColour,AmbientIntensity,Intensity,Position,Radius,ConstantAttenuation,DistanceAttenuation,QuadricAttenuation);_this1769.Name=Name;_this1769.LightColour=LightColour;_this1769.AmbientIntensity=AmbientIntensity;_this1769.Intensity=Intensity;_this1769.Position=Position;_this1769.Radius=Radius;_this1769.ConstantAttenuation=ConstantAttenuation;_this1769.DistanceAttenuation=DistanceAttenuation;_this1769.QuadricAttenuation=QuadricAttenuation;_this1769.Orientation=Orientation;_this1769.ConcentrationExponent=ConcentrationExponent;_this1769.SpreadAngle=SpreadAngle;_this1769.BeamWidthAngle=BeamWidthAngle;_this1769.type=3422422726;return _this1769;}return _createClass(IfcLightSourceSpot);}(IfcLightSourcePositional);IFC4X32.IfcLightSourceSpot=IfcLightSourceSpot;var IfcLinearPlacement=/*#__PURE__*/function(_IfcObjectPlacement6){_inherits(IfcLinearPlacement,_IfcObjectPlacement6);var _super1767=_createSuper(IfcLinearPlacement);function IfcLinearPlacement(expressID,PlacementRelTo,RelativePlacement,CartesianPosition){var _this1770;_classCallCheck(this,IfcLinearPlacement);_this1770=_super1767.call(this,expressID,PlacementRelTo);_this1770.PlacementRelTo=PlacementRelTo;_this1770.RelativePlacement=RelativePlacement;_this1770.CartesianPosition=CartesianPosition;_this1770.type=388784114;return _this1770;}return _createClass(IfcLinearPlacement);}(IfcObjectPlacement);IFC4X32.IfcLinearPlacement=IfcLinearPlacement;var IfcLocalPlacement=/*#__PURE__*/function(_IfcObjectPlacement7){_inherits(IfcLocalPlacement,_IfcObjectPlacement7);var _super1768=_createSuper(IfcLocalPlacement);function IfcLocalPlacement(expressID,PlacementRelTo,RelativePlacement){var _this1771;_classCallCheck(this,IfcLocalPlacement);_this1771=_super1768.call(this,expressID,PlacementRelTo);_this1771.PlacementRelTo=PlacementRelTo;_this1771.RelativePlacement=RelativePlacement;_this1771.type=2624227202;return _this1771;}return _createClass(IfcLocalPlacement);}(IfcObjectPlacement);IFC4X32.IfcLocalPlacement=IfcLocalPlacement;var IfcLoop=/*#__PURE__*/function(_IfcTopologicalRepres20){_inherits(IfcLoop,_IfcTopologicalRepres20);var _super1769=_createSuper(IfcLoop);function IfcLoop(expressID){var _this1772;_classCallCheck(this,IfcLoop);_this1772=_super1769.call(this,expressID);_this1772.type=1008929658;return _this1772;}return _createClass(IfcLoop);}(IfcTopologicalRepresentationItem);IFC4X32.IfcLoop=IfcLoop;var IfcMappedItem=/*#__PURE__*/function(_IfcRepresentationIte12){_inherits(IfcMappedItem,_IfcRepresentationIte12);var _super1770=_createSuper(IfcMappedItem);function IfcMappedItem(expressID,MappingSource,MappingTarget){var _this1773;_classCallCheck(this,IfcMappedItem);_this1773=_super1770.call(this,expressID);_this1773.MappingSource=MappingSource;_this1773.MappingTarget=MappingTarget;_this1773.type=2347385850;return _this1773;}return _createClass(IfcMappedItem);}(IfcRepresentationItem);IFC4X32.IfcMappedItem=IfcMappedItem;var IfcMaterial=/*#__PURE__*/function(_IfcMaterialDefinitio12){_inherits(IfcMaterial,_IfcMaterialDefinitio12);var _super1771=_createSuper(IfcMaterial);function IfcMaterial(expressID,Name,Description,Category){var _this1774;_classCallCheck(this,IfcMaterial);_this1774=_super1771.call(this,expressID);_this1774.Name=Name;_this1774.Description=Description;_this1774.Category=Category;_this1774.type=1838606355;return _this1774;}return _createClass(IfcMaterial);}(IfcMaterialDefinition);IFC4X32.IfcMaterial=IfcMaterial;var IfcMaterialConstituent=/*#__PURE__*/function(_IfcMaterialDefinitio13){_inherits(IfcMaterialConstituent,_IfcMaterialDefinitio13);var _super1772=_createSuper(IfcMaterialConstituent);function IfcMaterialConstituent(expressID,Name,Description,Material,Fraction,Category){var _this1775;_classCallCheck(this,IfcMaterialConstituent);_this1775=_super1772.call(this,expressID);_this1775.Name=Name;_this1775.Description=Description;_this1775.Material=Material;_this1775.Fraction=Fraction;_this1775.Category=Category;_this1775.type=3708119e3;return _this1775;}return _createClass(IfcMaterialConstituent);}(IfcMaterialDefinition);IFC4X32.IfcMaterialConstituent=IfcMaterialConstituent;var IfcMaterialConstituentSet=/*#__PURE__*/function(_IfcMaterialDefinitio14){_inherits(IfcMaterialConstituentSet,_IfcMaterialDefinitio14);var _super1773=_createSuper(IfcMaterialConstituentSet);function IfcMaterialConstituentSet(expressID,Name,Description,MaterialConstituents){var _this1776;_classCallCheck(this,IfcMaterialConstituentSet);_this1776=_super1773.call(this,expressID);_this1776.Name=Name;_this1776.Description=Description;_this1776.MaterialConstituents=MaterialConstituents;_this1776.type=2852063980;return _this1776;}return _createClass(IfcMaterialConstituentSet);}(IfcMaterialDefinition);IFC4X32.IfcMaterialConstituentSet=IfcMaterialConstituentSet;var IfcMaterialDefinitionRepresentation=/*#__PURE__*/function(_IfcProductRepresenta5){_inherits(IfcMaterialDefinitionRepresentation,_IfcProductRepresenta5);var _super1774=_createSuper(IfcMaterialDefinitionRepresentation);function IfcMaterialDefinitionRepresentation(expressID,Name,Description,Representations,RepresentedMaterial){var _this1777;_classCallCheck(this,IfcMaterialDefinitionRepresentation);_this1777=_super1774.call(this,expressID,Name,Description,Representations);_this1777.Name=Name;_this1777.Description=Description;_this1777.Representations=Representations;_this1777.RepresentedMaterial=RepresentedMaterial;_this1777.type=2022407955;return _this1777;}return _createClass(IfcMaterialDefinitionRepresentation);}(IfcProductRepresentation);IFC4X32.IfcMaterialDefinitionRepresentation=IfcMaterialDefinitionRepresentation;var IfcMaterialLayerSetUsage=/*#__PURE__*/function(_IfcMaterialUsageDefi3){_inherits(IfcMaterialLayerSetUsage,_IfcMaterialUsageDefi3);var _super1775=_createSuper(IfcMaterialLayerSetUsage);function IfcMaterialLayerSetUsage(expressID,ForLayerSet,LayerSetDirection,DirectionSense,OffsetFromReferenceLine,ReferenceExtent){var _this1778;_classCallCheck(this,IfcMaterialLayerSetUsage);_this1778=_super1775.call(this,expressID);_this1778.ForLayerSet=ForLayerSet;_this1778.LayerSetDirection=LayerSetDirection;_this1778.DirectionSense=DirectionSense;_this1778.OffsetFromReferenceLine=OffsetFromReferenceLine;_this1778.ReferenceExtent=ReferenceExtent;_this1778.type=1303795690;return _this1778;}return _createClass(IfcMaterialLayerSetUsage);}(IfcMaterialUsageDefinition);IFC4X32.IfcMaterialLayerSetUsage=IfcMaterialLayerSetUsage;var IfcMaterialProfileSetUsage=/*#__PURE__*/function(_IfcMaterialUsageDefi4){_inherits(IfcMaterialProfileSetUsage,_IfcMaterialUsageDefi4);var _super1776=_createSuper(IfcMaterialProfileSetUsage);function IfcMaterialProfileSetUsage(expressID,ForProfileSet,CardinalPoint,ReferenceExtent){var _this1779;_classCallCheck(this,IfcMaterialProfileSetUsage);_this1779=_super1776.call(this,expressID);_this1779.ForProfileSet=ForProfileSet;_this1779.CardinalPoint=CardinalPoint;_this1779.ReferenceExtent=ReferenceExtent;_this1779.type=3079605661;return _this1779;}return _createClass(IfcMaterialProfileSetUsage);}(IfcMaterialUsageDefinition);IFC4X32.IfcMaterialProfileSetUsage=IfcMaterialProfileSetUsage;var IfcMaterialProfileSetUsageTapering=/*#__PURE__*/function(_IfcMaterialProfileSe2){_inherits(IfcMaterialProfileSetUsageTapering,_IfcMaterialProfileSe2);var _super1777=_createSuper(IfcMaterialProfileSetUsageTapering);function IfcMaterialProfileSetUsageTapering(expressID,ForProfileSet,CardinalPoint,ReferenceExtent,ForProfileEndSet,CardinalEndPoint){var _this1780;_classCallCheck(this,IfcMaterialProfileSetUsageTapering);_this1780=_super1777.call(this,expressID,ForProfileSet,CardinalPoint,ReferenceExtent);_this1780.ForProfileSet=ForProfileSet;_this1780.CardinalPoint=CardinalPoint;_this1780.ReferenceExtent=ReferenceExtent;_this1780.ForProfileEndSet=ForProfileEndSet;_this1780.CardinalEndPoint=CardinalEndPoint;_this1780.type=3404854881;return _this1780;}return _createClass(IfcMaterialProfileSetUsageTapering);}(IfcMaterialProfileSetUsage);IFC4X32.IfcMaterialProfileSetUsageTapering=IfcMaterialProfileSetUsageTapering;var IfcMaterialProperties=/*#__PURE__*/function(_IfcExtendedPropertie3){_inherits(IfcMaterialProperties,_IfcExtendedPropertie3);var _super1778=_createSuper(IfcMaterialProperties);function IfcMaterialProperties(expressID,Name,Description,Properties2,Material){var _this1781;_classCallCheck(this,IfcMaterialProperties);_this1781=_super1778.call(this,expressID,Name,Description,Properties2);_this1781.Name=Name;_this1781.Description=Description;_this1781.Properties=Properties2;_this1781.Material=Material;_this1781.type=3265635763;return _this1781;}return _createClass(IfcMaterialProperties);}(IfcExtendedProperties);IFC4X32.IfcMaterialProperties=IfcMaterialProperties;var IfcMaterialRelationship=/*#__PURE__*/function(_IfcResourceLevelRela14){_inherits(IfcMaterialRelationship,_IfcResourceLevelRela14);var _super1779=_createSuper(IfcMaterialRelationship);function IfcMaterialRelationship(expressID,Name,Description,RelatingMaterial,RelatedMaterials,MaterialExpression){var _this1782;_classCallCheck(this,IfcMaterialRelationship);_this1782=_super1779.call(this,expressID,Name,Description);_this1782.Name=Name;_this1782.Description=Description;_this1782.RelatingMaterial=RelatingMaterial;_this1782.RelatedMaterials=RelatedMaterials;_this1782.MaterialExpression=MaterialExpression;_this1782.type=853536259;return _this1782;}return _createClass(IfcMaterialRelationship);}(IfcResourceLevelRelationship);IFC4X32.IfcMaterialRelationship=IfcMaterialRelationship;var IfcMirroredProfileDef=/*#__PURE__*/function(_IfcDerivedProfileDef2){_inherits(IfcMirroredProfileDef,_IfcDerivedProfileDef2);var _super1780=_createSuper(IfcMirroredProfileDef);function IfcMirroredProfileDef(expressID,ProfileType,ProfileName,ParentProfile,Operator,Label){var _this1783;_classCallCheck(this,IfcMirroredProfileDef);_this1783=_super1780.call(this,expressID,ProfileType,ProfileName,ParentProfile,Operator,Label);_this1783.ProfileType=ProfileType;_this1783.ProfileName=ProfileName;_this1783.ParentProfile=ParentProfile;_this1783.Operator=Operator;_this1783.Label=Label;_this1783.type=2998442950;return _this1783;}return _createClass(IfcMirroredProfileDef);}(IfcDerivedProfileDef);IFC4X32.IfcMirroredProfileDef=IfcMirroredProfileDef;var IfcObjectDefinition=/*#__PURE__*/function(_IfcRoot7){_inherits(IfcObjectDefinition,_IfcRoot7);var _super1781=_createSuper(IfcObjectDefinition);function IfcObjectDefinition(expressID,GlobalId,OwnerHistory,Name,Description){var _this1784;_classCallCheck(this,IfcObjectDefinition);_this1784=_super1781.call(this,expressID,GlobalId,OwnerHistory,Name,Description);_this1784.GlobalId=GlobalId;_this1784.OwnerHistory=OwnerHistory;_this1784.Name=Name;_this1784.Description=Description;_this1784.type=219451334;return _this1784;}return _createClass(IfcObjectDefinition);}(IfcRoot);IFC4X32.IfcObjectDefinition=IfcObjectDefinition;var IfcOpenCrossProfileDef=/*#__PURE__*/function(_IfcProfileDef15){_inherits(IfcOpenCrossProfileDef,_IfcProfileDef15);var _super1782=_createSuper(IfcOpenCrossProfileDef);function IfcOpenCrossProfileDef(expressID,ProfileType,ProfileName,HorizontalWidths,Widths,Slopes,Tags,OffsetPoint){var _this1785;_classCallCheck(this,IfcOpenCrossProfileDef);_this1785=_super1782.call(this,expressID,ProfileType,ProfileName);_this1785.ProfileType=ProfileType;_this1785.ProfileName=ProfileName;_this1785.HorizontalWidths=HorizontalWidths;_this1785.Widths=Widths;_this1785.Slopes=Slopes;_this1785.Tags=Tags;_this1785.OffsetPoint=OffsetPoint;_this1785.type=182550632;return _this1785;}return _createClass(IfcOpenCrossProfileDef);}(IfcProfileDef);IFC4X32.IfcOpenCrossProfileDef=IfcOpenCrossProfileDef;var IfcOpenShell=/*#__PURE__*/function(_IfcConnectedFaceSet5){_inherits(IfcOpenShell,_IfcConnectedFaceSet5);var _super1783=_createSuper(IfcOpenShell);function IfcOpenShell(expressID,CfsFaces){var _this1786;_classCallCheck(this,IfcOpenShell);_this1786=_super1783.call(this,expressID,CfsFaces);_this1786.CfsFaces=CfsFaces;_this1786.type=2665983363;return _this1786;}return _createClass(IfcOpenShell);}(IfcConnectedFaceSet);IFC4X32.IfcOpenShell=IfcOpenShell;var IfcOrganizationRelationship=/*#__PURE__*/function(_IfcResourceLevelRela15){_inherits(IfcOrganizationRelationship,_IfcResourceLevelRela15);var _super1784=_createSuper(IfcOrganizationRelationship);function IfcOrganizationRelationship(expressID,Name,Description,RelatingOrganization,RelatedOrganizations){var _this1787;_classCallCheck(this,IfcOrganizationRelationship);_this1787=_super1784.call(this,expressID,Name,Description);_this1787.Name=Name;_this1787.Description=Description;_this1787.RelatingOrganization=RelatingOrganization;_this1787.RelatedOrganizations=RelatedOrganizations;_this1787.type=1411181986;return _this1787;}return _createClass(IfcOrganizationRelationship);}(IfcResourceLevelRelationship);IFC4X32.IfcOrganizationRelationship=IfcOrganizationRelationship;var IfcOrientedEdge=/*#__PURE__*/function(_IfcEdge8){_inherits(IfcOrientedEdge,_IfcEdge8);var _super1785=_createSuper(IfcOrientedEdge);function IfcOrientedEdge(expressID,EdgeStart,EdgeElement,Orientation){var _this1788;_classCallCheck(this,IfcOrientedEdge);_this1788=_super1785.call(this,expressID,EdgeStart,new Handle(0));_this1788.EdgeStart=EdgeStart;_this1788.EdgeElement=EdgeElement;_this1788.Orientation=Orientation;_this1788.type=1029017970;return _this1788;}return _createClass(IfcOrientedEdge);}(IfcEdge);IFC4X32.IfcOrientedEdge=IfcOrientedEdge;var IfcParameterizedProfileDef=/*#__PURE__*/function(_IfcProfileDef16){_inherits(IfcParameterizedProfileDef,_IfcProfileDef16);var _super1786=_createSuper(IfcParameterizedProfileDef);function IfcParameterizedProfileDef(expressID,ProfileType,ProfileName,Position){var _this1789;_classCallCheck(this,IfcParameterizedProfileDef);_this1789=_super1786.call(this,expressID,ProfileType,ProfileName);_this1789.ProfileType=ProfileType;_this1789.ProfileName=ProfileName;_this1789.Position=Position;_this1789.type=2529465313;return _this1789;}return _createClass(IfcParameterizedProfileDef);}(IfcProfileDef);IFC4X32.IfcParameterizedProfileDef=IfcParameterizedProfileDef;var IfcPath=/*#__PURE__*/function(_IfcTopologicalRepres21){_inherits(IfcPath,_IfcTopologicalRepres21);var _super1787=_createSuper(IfcPath);function IfcPath(expressID,EdgeList){var _this1790;_classCallCheck(this,IfcPath);_this1790=_super1787.call(this,expressID);_this1790.EdgeList=EdgeList;_this1790.type=2519244187;return _this1790;}return _createClass(IfcPath);}(IfcTopologicalRepresentationItem);IFC4X32.IfcPath=IfcPath;var IfcPhysicalComplexQuantity=/*#__PURE__*/function(_IfcPhysicalQuantity6){_inherits(IfcPhysicalComplexQuantity,_IfcPhysicalQuantity6);var _super1788=_createSuper(IfcPhysicalComplexQuantity);function IfcPhysicalComplexQuantity(expressID,Name,Description,HasQuantities,Discrimination,Quality,Usage){var _this1791;_classCallCheck(this,IfcPhysicalComplexQuantity);_this1791=_super1788.call(this,expressID,Name,Description);_this1791.Name=Name;_this1791.Description=Description;_this1791.HasQuantities=HasQuantities;_this1791.Discrimination=Discrimination;_this1791.Quality=Quality;_this1791.Usage=Usage;_this1791.type=3021840470;return _this1791;}return _createClass(IfcPhysicalComplexQuantity);}(IfcPhysicalQuantity);IFC4X32.IfcPhysicalComplexQuantity=IfcPhysicalComplexQuantity;var IfcPixelTexture=/*#__PURE__*/function(_IfcSurfaceTexture9){_inherits(IfcPixelTexture,_IfcSurfaceTexture9);var _super1789=_createSuper(IfcPixelTexture);function IfcPixelTexture(expressID,RepeatS,RepeatT,Mode,TextureTransform,Parameter,Width,Height,ColourComponents,Pixel){var _this1792;_classCallCheck(this,IfcPixelTexture);_this1792=_super1789.call(this,expressID,RepeatS,RepeatT,Mode,TextureTransform,Parameter);_this1792.RepeatS=RepeatS;_this1792.RepeatT=RepeatT;_this1792.Mode=Mode;_this1792.TextureTransform=TextureTransform;_this1792.Parameter=Parameter;_this1792.Width=Width;_this1792.Height=Height;_this1792.ColourComponents=ColourComponents;_this1792.Pixel=Pixel;_this1792.type=597895409;return _this1792;}return _createClass(IfcPixelTexture);}(IfcSurfaceTexture);IFC4X32.IfcPixelTexture=IfcPixelTexture;var IfcPlacement=/*#__PURE__*/function(_IfcGeometricRepresen60){_inherits(IfcPlacement,_IfcGeometricRepresen60);var _super1790=_createSuper(IfcPlacement);function IfcPlacement(expressID,Location){var _this1793;_classCallCheck(this,IfcPlacement);_this1793=_super1790.call(this,expressID);_this1793.Location=Location;_this1793.type=2004835150;return _this1793;}return _createClass(IfcPlacement);}(IfcGeometricRepresentationItem);IFC4X32.IfcPlacement=IfcPlacement;var IfcPlanarExtent=/*#__PURE__*/function(_IfcGeometricRepresen61){_inherits(IfcPlanarExtent,_IfcGeometricRepresen61);var _super1791=_createSuper(IfcPlanarExtent);function IfcPlanarExtent(expressID,SizeInX,SizeInY){var _this1794;_classCallCheck(this,IfcPlanarExtent);_this1794=_super1791.call(this,expressID);_this1794.SizeInX=SizeInX;_this1794.SizeInY=SizeInY;_this1794.type=1663979128;return _this1794;}return _createClass(IfcPlanarExtent);}(IfcGeometricRepresentationItem);IFC4X32.IfcPlanarExtent=IfcPlanarExtent;var IfcPoint=/*#__PURE__*/function(_IfcGeometricRepresen62){_inherits(IfcPoint,_IfcGeometricRepresen62);var _super1792=_createSuper(IfcPoint);function IfcPoint(expressID){var _this1795;_classCallCheck(this,IfcPoint);_this1795=_super1792.call(this,expressID);_this1795.type=2067069095;return _this1795;}return _createClass(IfcPoint);}(IfcGeometricRepresentationItem);IFC4X32.IfcPoint=IfcPoint;var IfcPointByDistanceExpression=/*#__PURE__*/function(_IfcPoint7){_inherits(IfcPointByDistanceExpression,_IfcPoint7);var _super1793=_createSuper(IfcPointByDistanceExpression);function IfcPointByDistanceExpression(expressID,DistanceAlong,OffsetLateral,OffsetVertical,OffsetLongitudinal,BasisCurve){var _this1796;_classCallCheck(this,IfcPointByDistanceExpression);_this1796=_super1793.call(this,expressID);_this1796.DistanceAlong=DistanceAlong;_this1796.OffsetLateral=OffsetLateral;_this1796.OffsetVertical=OffsetVertical;_this1796.OffsetLongitudinal=OffsetLongitudinal;_this1796.BasisCurve=BasisCurve;_this1796.type=2165702409;return _this1796;}return _createClass(IfcPointByDistanceExpression);}(IfcPoint);IFC4X32.IfcPointByDistanceExpression=IfcPointByDistanceExpression;var IfcPointOnCurve=/*#__PURE__*/function(_IfcPoint8){_inherits(IfcPointOnCurve,_IfcPoint8);var _super1794=_createSuper(IfcPointOnCurve);function IfcPointOnCurve(expressID,BasisCurve,PointParameter){var _this1797;_classCallCheck(this,IfcPointOnCurve);_this1797=_super1794.call(this,expressID);_this1797.BasisCurve=BasisCurve;_this1797.PointParameter=PointParameter;_this1797.type=4022376103;return _this1797;}return _createClass(IfcPointOnCurve);}(IfcPoint);IFC4X32.IfcPointOnCurve=IfcPointOnCurve;var IfcPointOnSurface=/*#__PURE__*/function(_IfcPoint9){_inherits(IfcPointOnSurface,_IfcPoint9);var _super1795=_createSuper(IfcPointOnSurface);function IfcPointOnSurface(expressID,BasisSurface,PointParameterU,PointParameterV){var _this1798;_classCallCheck(this,IfcPointOnSurface);_this1798=_super1795.call(this,expressID);_this1798.BasisSurface=BasisSurface;_this1798.PointParameterU=PointParameterU;_this1798.PointParameterV=PointParameterV;_this1798.type=1423911732;return _this1798;}return _createClass(IfcPointOnSurface);}(IfcPoint);IFC4X32.IfcPointOnSurface=IfcPointOnSurface;var IfcPolyLoop=/*#__PURE__*/function(_IfcLoop7){_inherits(IfcPolyLoop,_IfcLoop7);var _super1796=_createSuper(IfcPolyLoop);function IfcPolyLoop(expressID,Polygon){var _this1799;_classCallCheck(this,IfcPolyLoop);_this1799=_super1796.call(this,expressID);_this1799.Polygon=Polygon;_this1799.type=2924175390;return _this1799;}return _createClass(IfcPolyLoop);}(IfcLoop);IFC4X32.IfcPolyLoop=IfcPolyLoop;var IfcPolygonalBoundedHalfSpace=/*#__PURE__*/function(_IfcHalfSpaceSolid5){_inherits(IfcPolygonalBoundedHalfSpace,_IfcHalfSpaceSolid5);var _super1797=_createSuper(IfcPolygonalBoundedHalfSpace);function IfcPolygonalBoundedHalfSpace(expressID,BaseSurface,AgreementFlag,Position,PolygonalBoundary){var _this1800;_classCallCheck(this,IfcPolygonalBoundedHalfSpace);_this1800=_super1797.call(this,expressID,BaseSurface,AgreementFlag);_this1800.BaseSurface=BaseSurface;_this1800.AgreementFlag=AgreementFlag;_this1800.Position=Position;_this1800.PolygonalBoundary=PolygonalBoundary;_this1800.type=2775532180;return _this1800;}return _createClass(IfcPolygonalBoundedHalfSpace);}(IfcHalfSpaceSolid);IFC4X32.IfcPolygonalBoundedHalfSpace=IfcPolygonalBoundedHalfSpace;var IfcPreDefinedItem=/*#__PURE__*/function(_IfcPresentationItem34){_inherits(IfcPreDefinedItem,_IfcPresentationItem34);var _super1798=_createSuper(IfcPreDefinedItem);function IfcPreDefinedItem(expressID,Name){var _this1801;_classCallCheck(this,IfcPreDefinedItem);_this1801=_super1798.call(this,expressID);_this1801.Name=Name;_this1801.type=3727388367;return _this1801;}return _createClass(IfcPreDefinedItem);}(IfcPresentationItem);IFC4X32.IfcPreDefinedItem=IfcPreDefinedItem;var IfcPreDefinedProperties=/*#__PURE__*/function(_IfcPropertyAbstracti7){_inherits(IfcPreDefinedProperties,_IfcPropertyAbstracti7);var _super1799=_createSuper(IfcPreDefinedProperties);function IfcPreDefinedProperties(expressID){var _this1802;_classCallCheck(this,IfcPreDefinedProperties);_this1802=_super1799.call(this,expressID);_this1802.type=3778827333;return _this1802;}return _createClass(IfcPreDefinedProperties);}(IfcPropertyAbstraction);IFC4X32.IfcPreDefinedProperties=IfcPreDefinedProperties;var IfcPreDefinedTextFont=/*#__PURE__*/function(_IfcPreDefinedItem8){_inherits(IfcPreDefinedTextFont,_IfcPreDefinedItem8);var _super1800=_createSuper(IfcPreDefinedTextFont);function IfcPreDefinedTextFont(expressID,Name){var _this1803;_classCallCheck(this,IfcPreDefinedTextFont);_this1803=_super1800.call(this,expressID,Name);_this1803.Name=Name;_this1803.type=1775413392;return _this1803;}return _createClass(IfcPreDefinedTextFont);}(IfcPreDefinedItem);IFC4X32.IfcPreDefinedTextFont=IfcPreDefinedTextFont;var IfcProductDefinitionShape=/*#__PURE__*/function(_IfcProductRepresenta6){_inherits(IfcProductDefinitionShape,_IfcProductRepresenta6);var _super1801=_createSuper(IfcProductDefinitionShape);function IfcProductDefinitionShape(expressID,Name,Description,Representations){var _this1804;_classCallCheck(this,IfcProductDefinitionShape);_this1804=_super1801.call(this,expressID,Name,Description,Representations);_this1804.Name=Name;_this1804.Description=Description;_this1804.Representations=Representations;_this1804.type=673634403;return _this1804;}return _createClass(IfcProductDefinitionShape);}(IfcProductRepresentation);IFC4X32.IfcProductDefinitionShape=IfcProductDefinitionShape;var IfcProfileProperties=/*#__PURE__*/function(_IfcExtendedPropertie4){_inherits(IfcProfileProperties,_IfcExtendedPropertie4);var _super1802=_createSuper(IfcProfileProperties);function IfcProfileProperties(expressID,Name,Description,Properties2,ProfileDefinition){var _this1805;_classCallCheck(this,IfcProfileProperties);_this1805=_super1802.call(this,expressID,Name,Description,Properties2);_this1805.Name=Name;_this1805.Description=Description;_this1805.Properties=Properties2;_this1805.ProfileDefinition=ProfileDefinition;_this1805.type=2802850158;return _this1805;}return _createClass(IfcProfileProperties);}(IfcExtendedProperties);IFC4X32.IfcProfileProperties=IfcProfileProperties;var IfcProperty=/*#__PURE__*/function(_IfcPropertyAbstracti8){_inherits(IfcProperty,_IfcPropertyAbstracti8);var _super1803=_createSuper(IfcProperty);function IfcProperty(expressID,Name,Specification){var _this1806;_classCallCheck(this,IfcProperty);_this1806=_super1803.call(this,expressID);_this1806.Name=Name;_this1806.Specification=Specification;_this1806.type=2598011224;return _this1806;}return _createClass(IfcProperty);}(IfcPropertyAbstraction);IFC4X32.IfcProperty=IfcProperty;var IfcPropertyDefinition=/*#__PURE__*/function(_IfcRoot8){_inherits(IfcPropertyDefinition,_IfcRoot8);var _super1804=_createSuper(IfcPropertyDefinition);function IfcPropertyDefinition(expressID,GlobalId,OwnerHistory,Name,Description){var _this1807;_classCallCheck(this,IfcPropertyDefinition);_this1807=_super1804.call(this,expressID,GlobalId,OwnerHistory,Name,Description);_this1807.GlobalId=GlobalId;_this1807.OwnerHistory=OwnerHistory;_this1807.Name=Name;_this1807.Description=Description;_this1807.type=1680319473;return _this1807;}return _createClass(IfcPropertyDefinition);}(IfcRoot);IFC4X32.IfcPropertyDefinition=IfcPropertyDefinition;var IfcPropertyDependencyRelationship=/*#__PURE__*/function(_IfcResourceLevelRela16){_inherits(IfcPropertyDependencyRelationship,_IfcResourceLevelRela16);var _super1805=_createSuper(IfcPropertyDependencyRelationship);function IfcPropertyDependencyRelationship(expressID,Name,Description,DependingProperty,DependantProperty,Expression){var _this1808;_classCallCheck(this,IfcPropertyDependencyRelationship);_this1808=_super1805.call(this,expressID,Name,Description);_this1808.Name=Name;_this1808.Description=Description;_this1808.DependingProperty=DependingProperty;_this1808.DependantProperty=DependantProperty;_this1808.Expression=Expression;_this1808.type=148025276;return _this1808;}return _createClass(IfcPropertyDependencyRelationship);}(IfcResourceLevelRelationship);IFC4X32.IfcPropertyDependencyRelationship=IfcPropertyDependencyRelationship;var IfcPropertySetDefinition=/*#__PURE__*/function(_IfcPropertyDefinitio4){_inherits(IfcPropertySetDefinition,_IfcPropertyDefinitio4);var _super1806=_createSuper(IfcPropertySetDefinition);function IfcPropertySetDefinition(expressID,GlobalId,OwnerHistory,Name,Description){var _this1809;_classCallCheck(this,IfcPropertySetDefinition);_this1809=_super1806.call(this,expressID,GlobalId,OwnerHistory,Name,Description);_this1809.GlobalId=GlobalId;_this1809.OwnerHistory=OwnerHistory;_this1809.Name=Name;_this1809.Description=Description;_this1809.type=3357820518;return _this1809;}return _createClass(IfcPropertySetDefinition);}(IfcPropertyDefinition);IFC4X32.IfcPropertySetDefinition=IfcPropertySetDefinition;var IfcPropertyTemplateDefinition=/*#__PURE__*/function(_IfcPropertyDefinitio5){_inherits(IfcPropertyTemplateDefinition,_IfcPropertyDefinitio5);var _super1807=_createSuper(IfcPropertyTemplateDefinition);function IfcPropertyTemplateDefinition(expressID,GlobalId,OwnerHistory,Name,Description){var _this1810;_classCallCheck(this,IfcPropertyTemplateDefinition);_this1810=_super1807.call(this,expressID,GlobalId,OwnerHistory,Name,Description);_this1810.GlobalId=GlobalId;_this1810.OwnerHistory=OwnerHistory;_this1810.Name=Name;_this1810.Description=Description;_this1810.type=1482703590;return _this1810;}return _createClass(IfcPropertyTemplateDefinition);}(IfcPropertyDefinition);IFC4X32.IfcPropertyTemplateDefinition=IfcPropertyTemplateDefinition;var IfcQuantitySet=/*#__PURE__*/function(_IfcPropertySetDefini18){_inherits(IfcQuantitySet,_IfcPropertySetDefini18);var _super1808=_createSuper(IfcQuantitySet);function IfcQuantitySet(expressID,GlobalId,OwnerHistory,Name,Description){var _this1811;_classCallCheck(this,IfcQuantitySet);_this1811=_super1808.call(this,expressID,GlobalId,OwnerHistory,Name,Description);_this1811.GlobalId=GlobalId;_this1811.OwnerHistory=OwnerHistory;_this1811.Name=Name;_this1811.Description=Description;_this1811.type=2090586900;return _this1811;}return _createClass(IfcQuantitySet);}(IfcPropertySetDefinition);IFC4X32.IfcQuantitySet=IfcQuantitySet;var IfcRectangleProfileDef=/*#__PURE__*/function(_IfcParameterizedProf24){_inherits(IfcRectangleProfileDef,_IfcParameterizedProf24);var _super1809=_createSuper(IfcRectangleProfileDef);function IfcRectangleProfileDef(expressID,ProfileType,ProfileName,Position,XDim,YDim){var _this1812;_classCallCheck(this,IfcRectangleProfileDef);_this1812=_super1809.call(this,expressID,ProfileType,ProfileName,Position);_this1812.ProfileType=ProfileType;_this1812.ProfileName=ProfileName;_this1812.Position=Position;_this1812.XDim=XDim;_this1812.YDim=YDim;_this1812.type=3615266464;return _this1812;}return _createClass(IfcRectangleProfileDef);}(IfcParameterizedProfileDef);IFC4X32.IfcRectangleProfileDef=IfcRectangleProfileDef;var IfcRegularTimeSeries=/*#__PURE__*/function(_IfcTimeSeries6){_inherits(IfcRegularTimeSeries,_IfcTimeSeries6);var _super1810=_createSuper(IfcRegularTimeSeries);function IfcRegularTimeSeries(expressID,Name,Description,StartTime,EndTime,TimeSeriesDataType,DataOrigin,UserDefinedDataOrigin,Unit,TimeStep,Values){var _this1813;_classCallCheck(this,IfcRegularTimeSeries);_this1813=_super1810.call(this,expressID,Name,Description,StartTime,EndTime,TimeSeriesDataType,DataOrigin,UserDefinedDataOrigin,Unit);_this1813.Name=Name;_this1813.Description=Description;_this1813.StartTime=StartTime;_this1813.EndTime=EndTime;_this1813.TimeSeriesDataType=TimeSeriesDataType;_this1813.DataOrigin=DataOrigin;_this1813.UserDefinedDataOrigin=UserDefinedDataOrigin;_this1813.Unit=Unit;_this1813.TimeStep=TimeStep;_this1813.Values=Values;_this1813.type=3413951693;return _this1813;}return _createClass(IfcRegularTimeSeries);}(IfcTimeSeries);IFC4X32.IfcRegularTimeSeries=IfcRegularTimeSeries;var IfcReinforcementBarProperties=/*#__PURE__*/function(_IfcPreDefinedPropert10){_inherits(IfcReinforcementBarProperties,_IfcPreDefinedPropert10);var _super1811=_createSuper(IfcReinforcementBarProperties);function IfcReinforcementBarProperties(expressID,TotalCrossSectionArea,SteelGrade,BarSurface,EffectiveDepth,NominalBarDiameter,BarCount){var _this1814;_classCallCheck(this,IfcReinforcementBarProperties);_this1814=_super1811.call(this,expressID);_this1814.TotalCrossSectionArea=TotalCrossSectionArea;_this1814.SteelGrade=SteelGrade;_this1814.BarSurface=BarSurface;_this1814.EffectiveDepth=EffectiveDepth;_this1814.NominalBarDiameter=NominalBarDiameter;_this1814.BarCount=BarCount;_this1814.type=1580146022;return _this1814;}return _createClass(IfcReinforcementBarProperties);}(IfcPreDefinedProperties);IFC4X32.IfcReinforcementBarProperties=IfcReinforcementBarProperties;var IfcRelationship=/*#__PURE__*/function(_IfcRoot9){_inherits(IfcRelationship,_IfcRoot9);var _super1812=_createSuper(IfcRelationship);function IfcRelationship(expressID,GlobalId,OwnerHistory,Name,Description){var _this1815;_classCallCheck(this,IfcRelationship);_this1815=_super1812.call(this,expressID,GlobalId,OwnerHistory,Name,Description);_this1815.GlobalId=GlobalId;_this1815.OwnerHistory=OwnerHistory;_this1815.Name=Name;_this1815.Description=Description;_this1815.type=478536968;return _this1815;}return _createClass(IfcRelationship);}(IfcRoot);IFC4X32.IfcRelationship=IfcRelationship;var IfcResourceApprovalRelationship=/*#__PURE__*/function(_IfcResourceLevelRela17){_inherits(IfcResourceApprovalRelationship,_IfcResourceLevelRela17);var _super1813=_createSuper(IfcResourceApprovalRelationship);function IfcResourceApprovalRelationship(expressID,Name,Description,RelatedResourceObjects,RelatingApproval){var _this1816;_classCallCheck(this,IfcResourceApprovalRelationship);_this1816=_super1813.call(this,expressID,Name,Description);_this1816.Name=Name;_this1816.Description=Description;_this1816.RelatedResourceObjects=RelatedResourceObjects;_this1816.RelatingApproval=RelatingApproval;_this1816.type=2943643501;return _this1816;}return _createClass(IfcResourceApprovalRelationship);}(IfcResourceLevelRelationship);IFC4X32.IfcResourceApprovalRelationship=IfcResourceApprovalRelationship;var IfcResourceConstraintRelationship=/*#__PURE__*/function(_IfcResourceLevelRela18){_inherits(IfcResourceConstraintRelationship,_IfcResourceLevelRela18);var _super1814=_createSuper(IfcResourceConstraintRelationship);function IfcResourceConstraintRelationship(expressID,Name,Description,RelatingConstraint,RelatedResourceObjects){var _this1817;_classCallCheck(this,IfcResourceConstraintRelationship);_this1817=_super1814.call(this,expressID,Name,Description);_this1817.Name=Name;_this1817.Description=Description;_this1817.RelatingConstraint=RelatingConstraint;_this1817.RelatedResourceObjects=RelatedResourceObjects;_this1817.type=1608871552;return _this1817;}return _createClass(IfcResourceConstraintRelationship);}(IfcResourceLevelRelationship);IFC4X32.IfcResourceConstraintRelationship=IfcResourceConstraintRelationship;var IfcResourceTime=/*#__PURE__*/function(_IfcSchedulingTime10){_inherits(IfcResourceTime,_IfcSchedulingTime10);var _super1815=_createSuper(IfcResourceTime);function IfcResourceTime(expressID,Name,DataOrigin,UserDefinedDataOrigin,ScheduleWork,ScheduleUsage,ScheduleStart,ScheduleFinish,ScheduleContour,LevelingDelay,IsOverAllocated,StatusTime,ActualWork,ActualUsage,ActualStart,ActualFinish,RemainingWork,RemainingUsage,Completion){var _this1818;_classCallCheck(this,IfcResourceTime);_this1818=_super1815.call(this,expressID,Name,DataOrigin,UserDefinedDataOrigin);_this1818.Name=Name;_this1818.DataOrigin=DataOrigin;_this1818.UserDefinedDataOrigin=UserDefinedDataOrigin;_this1818.ScheduleWork=ScheduleWork;_this1818.ScheduleUsage=ScheduleUsage;_this1818.ScheduleStart=ScheduleStart;_this1818.ScheduleFinish=ScheduleFinish;_this1818.ScheduleContour=ScheduleContour;_this1818.LevelingDelay=LevelingDelay;_this1818.IsOverAllocated=IsOverAllocated;_this1818.StatusTime=StatusTime;_this1818.ActualWork=ActualWork;_this1818.ActualUsage=ActualUsage;_this1818.ActualStart=ActualStart;_this1818.ActualFinish=ActualFinish;_this1818.RemainingWork=RemainingWork;_this1818.RemainingUsage=RemainingUsage;_this1818.Completion=Completion;_this1818.type=1042787934;return _this1818;}return _createClass(IfcResourceTime);}(IfcSchedulingTime);IFC4X32.IfcResourceTime=IfcResourceTime;var IfcRoundedRectangleProfileDef=/*#__PURE__*/function(_IfcRectangleProfileD5){_inherits(IfcRoundedRectangleProfileDef,_IfcRectangleProfileD5);var _super1816=_createSuper(IfcRoundedRectangleProfileDef);function IfcRoundedRectangleProfileDef(expressID,ProfileType,ProfileName,Position,XDim,YDim,RoundingRadius){var _this1819;_classCallCheck(this,IfcRoundedRectangleProfileDef);_this1819=_super1816.call(this,expressID,ProfileType,ProfileName,Position,XDim,YDim);_this1819.ProfileType=ProfileType;_this1819.ProfileName=ProfileName;_this1819.Position=Position;_this1819.XDim=XDim;_this1819.YDim=YDim;_this1819.RoundingRadius=RoundingRadius;_this1819.type=2778083089;return _this1819;}return _createClass(IfcRoundedRectangleProfileDef);}(IfcRectangleProfileDef);IFC4X32.IfcRoundedRectangleProfileDef=IfcRoundedRectangleProfileDef;var IfcSectionProperties=/*#__PURE__*/function(_IfcPreDefinedPropert11){_inherits(IfcSectionProperties,_IfcPreDefinedPropert11);var _super1817=_createSuper(IfcSectionProperties);function IfcSectionProperties(expressID,SectionType,StartProfile,EndProfile){var _this1820;_classCallCheck(this,IfcSectionProperties);_this1820=_super1817.call(this,expressID);_this1820.SectionType=SectionType;_this1820.StartProfile=StartProfile;_this1820.EndProfile=EndProfile;_this1820.type=2042790032;return _this1820;}return _createClass(IfcSectionProperties);}(IfcPreDefinedProperties);IFC4X32.IfcSectionProperties=IfcSectionProperties;var IfcSectionReinforcementProperties=/*#__PURE__*/function(_IfcPreDefinedPropert12){_inherits(IfcSectionReinforcementProperties,_IfcPreDefinedPropert12);var _super1818=_createSuper(IfcSectionReinforcementProperties);function IfcSectionReinforcementProperties(expressID,LongitudinalStartPosition,LongitudinalEndPosition,TransversePosition,ReinforcementRole,SectionDefinition,CrossSectionReinforcementDefinitions){var _this1821;_classCallCheck(this,IfcSectionReinforcementProperties);_this1821=_super1818.call(this,expressID);_this1821.LongitudinalStartPosition=LongitudinalStartPosition;_this1821.LongitudinalEndPosition=LongitudinalEndPosition;_this1821.TransversePosition=TransversePosition;_this1821.ReinforcementRole=ReinforcementRole;_this1821.SectionDefinition=SectionDefinition;_this1821.CrossSectionReinforcementDefinitions=CrossSectionReinforcementDefinitions;_this1821.type=4165799628;return _this1821;}return _createClass(IfcSectionReinforcementProperties);}(IfcPreDefinedProperties);IFC4X32.IfcSectionReinforcementProperties=IfcSectionReinforcementProperties;var IfcSectionedSpine=/*#__PURE__*/function(_IfcGeometricRepresen63){_inherits(IfcSectionedSpine,_IfcGeometricRepresen63);var _super1819=_createSuper(IfcSectionedSpine);function IfcSectionedSpine(expressID,SpineCurve,CrossSections,CrossSectionPositions){var _this1822;_classCallCheck(this,IfcSectionedSpine);_this1822=_super1819.call(this,expressID);_this1822.SpineCurve=SpineCurve;_this1822.CrossSections=CrossSections;_this1822.CrossSectionPositions=CrossSectionPositions;_this1822.type=1509187699;return _this1822;}return _createClass(IfcSectionedSpine);}(IfcGeometricRepresentationItem);IFC4X32.IfcSectionedSpine=IfcSectionedSpine;var IfcSegment=/*#__PURE__*/function(_IfcGeometricRepresen64){_inherits(IfcSegment,_IfcGeometricRepresen64);var _super1820=_createSuper(IfcSegment);function IfcSegment(expressID,Transition){var _this1823;_classCallCheck(this,IfcSegment);_this1823=_super1820.call(this,expressID);_this1823.Transition=Transition;_this1823.type=823603102;return _this1823;}return _createClass(IfcSegment);}(IfcGeometricRepresentationItem);IFC4X32.IfcSegment=IfcSegment;var IfcShellBasedSurfaceModel=/*#__PURE__*/function(_IfcGeometricRepresen65){_inherits(IfcShellBasedSurfaceModel,_IfcGeometricRepresen65);var _super1821=_createSuper(IfcShellBasedSurfaceModel);function IfcShellBasedSurfaceModel(expressID,SbsmBoundary){var _this1824;_classCallCheck(this,IfcShellBasedSurfaceModel);_this1824=_super1821.call(this,expressID);_this1824.SbsmBoundary=SbsmBoundary;_this1824.type=4124623270;return _this1824;}return _createClass(IfcShellBasedSurfaceModel);}(IfcGeometricRepresentationItem);IFC4X32.IfcShellBasedSurfaceModel=IfcShellBasedSurfaceModel;var IfcSimpleProperty=/*#__PURE__*/function(_IfcProperty5){_inherits(IfcSimpleProperty,_IfcProperty5);var _super1822=_createSuper(IfcSimpleProperty);function IfcSimpleProperty(expressID,Name,Specification){var _this1825;_classCallCheck(this,IfcSimpleProperty);_this1825=_super1822.call(this,expressID,Name,Specification);_this1825.Name=Name;_this1825.Specification=Specification;_this1825.type=3692461612;return _this1825;}return _createClass(IfcSimpleProperty);}(IfcProperty);IFC4X32.IfcSimpleProperty=IfcSimpleProperty;var IfcSlippageConnectionCondition=/*#__PURE__*/function(_IfcStructuralConnect12){_inherits(IfcSlippageConnectionCondition,_IfcStructuralConnect12);var _super1823=_createSuper(IfcSlippageConnectionCondition);function IfcSlippageConnectionCondition(expressID,Name,SlippageX,SlippageY,SlippageZ){var _this1826;_classCallCheck(this,IfcSlippageConnectionCondition);_this1826=_super1823.call(this,expressID,Name);_this1826.Name=Name;_this1826.SlippageX=SlippageX;_this1826.SlippageY=SlippageY;_this1826.SlippageZ=SlippageZ;_this1826.type=2609359061;return _this1826;}return _createClass(IfcSlippageConnectionCondition);}(IfcStructuralConnectionCondition);IFC4X32.IfcSlippageConnectionCondition=IfcSlippageConnectionCondition;var IfcSolidModel=/*#__PURE__*/function(_IfcGeometricRepresen66){_inherits(IfcSolidModel,_IfcGeometricRepresen66);var _super1824=_createSuper(IfcSolidModel);function IfcSolidModel(expressID){var _this1827;_classCallCheck(this,IfcSolidModel);_this1827=_super1824.call(this,expressID);_this1827.type=723233188;return _this1827;}return _createClass(IfcSolidModel);}(IfcGeometricRepresentationItem);IFC4X32.IfcSolidModel=IfcSolidModel;var IfcStructuralLoadLinearForce=/*#__PURE__*/function(_IfcStructuralLoadSta12){_inherits(IfcStructuralLoadLinearForce,_IfcStructuralLoadSta12);var _super1825=_createSuper(IfcStructuralLoadLinearForce);function IfcStructuralLoadLinearForce(expressID,Name,LinearForceX,LinearForceY,LinearForceZ,LinearMomentX,LinearMomentY,LinearMomentZ){var _this1828;_classCallCheck(this,IfcStructuralLoadLinearForce);_this1828=_super1825.call(this,expressID,Name);_this1828.Name=Name;_this1828.LinearForceX=LinearForceX;_this1828.LinearForceY=LinearForceY;_this1828.LinearForceZ=LinearForceZ;_this1828.LinearMomentX=LinearMomentX;_this1828.LinearMomentY=LinearMomentY;_this1828.LinearMomentZ=LinearMomentZ;_this1828.type=1595516126;return _this1828;}return _createClass(IfcStructuralLoadLinearForce);}(IfcStructuralLoadStatic);IFC4X32.IfcStructuralLoadLinearForce=IfcStructuralLoadLinearForce;var IfcStructuralLoadPlanarForce=/*#__PURE__*/function(_IfcStructuralLoadSta13){_inherits(IfcStructuralLoadPlanarForce,_IfcStructuralLoadSta13);var _super1826=_createSuper(IfcStructuralLoadPlanarForce);function IfcStructuralLoadPlanarForce(expressID,Name,PlanarForceX,PlanarForceY,PlanarForceZ){var _this1829;_classCallCheck(this,IfcStructuralLoadPlanarForce);_this1829=_super1826.call(this,expressID,Name);_this1829.Name=Name;_this1829.PlanarForceX=PlanarForceX;_this1829.PlanarForceY=PlanarForceY;_this1829.PlanarForceZ=PlanarForceZ;_this1829.type=2668620305;return _this1829;}return _createClass(IfcStructuralLoadPlanarForce);}(IfcStructuralLoadStatic);IFC4X32.IfcStructuralLoadPlanarForce=IfcStructuralLoadPlanarForce;var IfcStructuralLoadSingleDisplacement=/*#__PURE__*/function(_IfcStructuralLoadSta14){_inherits(IfcStructuralLoadSingleDisplacement,_IfcStructuralLoadSta14);var _super1827=_createSuper(IfcStructuralLoadSingleDisplacement);function IfcStructuralLoadSingleDisplacement(expressID,Name,DisplacementX,DisplacementY,DisplacementZ,RotationalDisplacementRX,RotationalDisplacementRY,RotationalDisplacementRZ){var _this1830;_classCallCheck(this,IfcStructuralLoadSingleDisplacement);_this1830=_super1827.call(this,expressID,Name);_this1830.Name=Name;_this1830.DisplacementX=DisplacementX;_this1830.DisplacementY=DisplacementY;_this1830.DisplacementZ=DisplacementZ;_this1830.RotationalDisplacementRX=RotationalDisplacementRX;_this1830.RotationalDisplacementRY=RotationalDisplacementRY;_this1830.RotationalDisplacementRZ=RotationalDisplacementRZ;_this1830.type=2473145415;return _this1830;}return _createClass(IfcStructuralLoadSingleDisplacement);}(IfcStructuralLoadStatic);IFC4X32.IfcStructuralLoadSingleDisplacement=IfcStructuralLoadSingleDisplacement;var IfcStructuralLoadSingleDisplacementDistortion=/*#__PURE__*/function(_IfcStructuralLoadSin5){_inherits(IfcStructuralLoadSingleDisplacementDistortion,_IfcStructuralLoadSin5);var _super1828=_createSuper(IfcStructuralLoadSingleDisplacementDistortion);function IfcStructuralLoadSingleDisplacementDistortion(expressID,Name,DisplacementX,DisplacementY,DisplacementZ,RotationalDisplacementRX,RotationalDisplacementRY,RotationalDisplacementRZ,Distortion){var _this1831;_classCallCheck(this,IfcStructuralLoadSingleDisplacementDistortion);_this1831=_super1828.call(this,expressID,Name,DisplacementX,DisplacementY,DisplacementZ,RotationalDisplacementRX,RotationalDisplacementRY,RotationalDisplacementRZ);_this1831.Name=Name;_this1831.DisplacementX=DisplacementX;_this1831.DisplacementY=DisplacementY;_this1831.DisplacementZ=DisplacementZ;_this1831.RotationalDisplacementRX=RotationalDisplacementRX;_this1831.RotationalDisplacementRY=RotationalDisplacementRY;_this1831.RotationalDisplacementRZ=RotationalDisplacementRZ;_this1831.Distortion=Distortion;_this1831.type=1973038258;return _this1831;}return _createClass(IfcStructuralLoadSingleDisplacementDistortion);}(IfcStructuralLoadSingleDisplacement);IFC4X32.IfcStructuralLoadSingleDisplacementDistortion=IfcStructuralLoadSingleDisplacementDistortion;var IfcStructuralLoadSingleForce=/*#__PURE__*/function(_IfcStructuralLoadSta15){_inherits(IfcStructuralLoadSingleForce,_IfcStructuralLoadSta15);var _super1829=_createSuper(IfcStructuralLoadSingleForce);function IfcStructuralLoadSingleForce(expressID,Name,ForceX,ForceY,ForceZ,MomentX,MomentY,MomentZ){var _this1832;_classCallCheck(this,IfcStructuralLoadSingleForce);_this1832=_super1829.call(this,expressID,Name);_this1832.Name=Name;_this1832.ForceX=ForceX;_this1832.ForceY=ForceY;_this1832.ForceZ=ForceZ;_this1832.MomentX=MomentX;_this1832.MomentY=MomentY;_this1832.MomentZ=MomentZ;_this1832.type=1597423693;return _this1832;}return _createClass(IfcStructuralLoadSingleForce);}(IfcStructuralLoadStatic);IFC4X32.IfcStructuralLoadSingleForce=IfcStructuralLoadSingleForce;var IfcStructuralLoadSingleForceWarping=/*#__PURE__*/function(_IfcStructuralLoadSin6){_inherits(IfcStructuralLoadSingleForceWarping,_IfcStructuralLoadSin6);var _super1830=_createSuper(IfcStructuralLoadSingleForceWarping);function IfcStructuralLoadSingleForceWarping(expressID,Name,ForceX,ForceY,ForceZ,MomentX,MomentY,MomentZ,WarpingMoment){var _this1833;_classCallCheck(this,IfcStructuralLoadSingleForceWarping);_this1833=_super1830.call(this,expressID,Name,ForceX,ForceY,ForceZ,MomentX,MomentY,MomentZ);_this1833.Name=Name;_this1833.ForceX=ForceX;_this1833.ForceY=ForceY;_this1833.ForceZ=ForceZ;_this1833.MomentX=MomentX;_this1833.MomentY=MomentY;_this1833.MomentZ=MomentZ;_this1833.WarpingMoment=WarpingMoment;_this1833.type=1190533807;return _this1833;}return _createClass(IfcStructuralLoadSingleForceWarping);}(IfcStructuralLoadSingleForce);IFC4X32.IfcStructuralLoadSingleForceWarping=IfcStructuralLoadSingleForceWarping;var IfcSubedge=/*#__PURE__*/function(_IfcEdge9){_inherits(IfcSubedge,_IfcEdge9);var _super1831=_createSuper(IfcSubedge);function IfcSubedge(expressID,EdgeStart,EdgeEnd,ParentEdge){var _this1834;_classCallCheck(this,IfcSubedge);_this1834=_super1831.call(this,expressID,EdgeStart,EdgeEnd);_this1834.EdgeStart=EdgeStart;_this1834.EdgeEnd=EdgeEnd;_this1834.ParentEdge=ParentEdge;_this1834.type=2233826070;return _this1834;}return _createClass(IfcSubedge);}(IfcEdge);IFC4X32.IfcSubedge=IfcSubedge;var IfcSurface=/*#__PURE__*/function(_IfcGeometricRepresen67){_inherits(IfcSurface,_IfcGeometricRepresen67);var _super1832=_createSuper(IfcSurface);function IfcSurface(expressID){var _this1835;_classCallCheck(this,IfcSurface);_this1835=_super1832.call(this,expressID);_this1835.type=2513912981;return _this1835;}return _createClass(IfcSurface);}(IfcGeometricRepresentationItem);IFC4X32.IfcSurface=IfcSurface;var IfcSurfaceStyleRendering=/*#__PURE__*/function(_IfcSurfaceStyleShadi3){_inherits(IfcSurfaceStyleRendering,_IfcSurfaceStyleShadi3);var _super1833=_createSuper(IfcSurfaceStyleRendering);function IfcSurfaceStyleRendering(expressID,SurfaceColour,Transparency,DiffuseColour,TransmissionColour,DiffuseTransmissionColour,ReflectionColour,SpecularColour,SpecularHighlight,ReflectanceMethod){var _this1836;_classCallCheck(this,IfcSurfaceStyleRendering);_this1836=_super1833.call(this,expressID,SurfaceColour,Transparency);_this1836.SurfaceColour=SurfaceColour;_this1836.Transparency=Transparency;_this1836.DiffuseColour=DiffuseColour;_this1836.TransmissionColour=TransmissionColour;_this1836.DiffuseTransmissionColour=DiffuseTransmissionColour;_this1836.ReflectionColour=ReflectionColour;_this1836.SpecularColour=SpecularColour;_this1836.SpecularHighlight=SpecularHighlight;_this1836.ReflectanceMethod=ReflectanceMethod;_this1836.type=1878645084;return _this1836;}return _createClass(IfcSurfaceStyleRendering);}(IfcSurfaceStyleShading);IFC4X32.IfcSurfaceStyleRendering=IfcSurfaceStyleRendering;var IfcSweptAreaSolid=/*#__PURE__*/function(_IfcSolidModel9){_inherits(IfcSweptAreaSolid,_IfcSolidModel9);var _super1834=_createSuper(IfcSweptAreaSolid);function IfcSweptAreaSolid(expressID,SweptArea,Position){var _this1837;_classCallCheck(this,IfcSweptAreaSolid);_this1837=_super1834.call(this,expressID);_this1837.SweptArea=SweptArea;_this1837.Position=Position;_this1837.type=2247615214;return _this1837;}return _createClass(IfcSweptAreaSolid);}(IfcSolidModel);IFC4X32.IfcSweptAreaSolid=IfcSweptAreaSolid;var IfcSweptDiskSolid=/*#__PURE__*/function(_IfcSolidModel10){_inherits(IfcSweptDiskSolid,_IfcSolidModel10);var _super1835=_createSuper(IfcSweptDiskSolid);function IfcSweptDiskSolid(expressID,Directrix,Radius,InnerRadius,StartParam,EndParam){var _this1838;_classCallCheck(this,IfcSweptDiskSolid);_this1838=_super1835.call(this,expressID);_this1838.Directrix=Directrix;_this1838.Radius=Radius;_this1838.InnerRadius=InnerRadius;_this1838.StartParam=StartParam;_this1838.EndParam=EndParam;_this1838.type=1260650574;return _this1838;}return _createClass(IfcSweptDiskSolid);}(IfcSolidModel);IFC4X32.IfcSweptDiskSolid=IfcSweptDiskSolid;var IfcSweptDiskSolidPolygonal=/*#__PURE__*/function(_IfcSweptDiskSolid2){_inherits(IfcSweptDiskSolidPolygonal,_IfcSweptDiskSolid2);var _super1836=_createSuper(IfcSweptDiskSolidPolygonal);function IfcSweptDiskSolidPolygonal(expressID,Directrix,Radius,InnerRadius,StartParam,EndParam,FilletRadius){var _this1839;_classCallCheck(this,IfcSweptDiskSolidPolygonal);_this1839=_super1836.call(this,expressID,Directrix,Radius,InnerRadius,StartParam,EndParam);_this1839.Directrix=Directrix;_this1839.Radius=Radius;_this1839.InnerRadius=InnerRadius;_this1839.StartParam=StartParam;_this1839.EndParam=EndParam;_this1839.FilletRadius=FilletRadius;_this1839.type=1096409881;return _this1839;}return _createClass(IfcSweptDiskSolidPolygonal);}(IfcSweptDiskSolid);IFC4X32.IfcSweptDiskSolidPolygonal=IfcSweptDiskSolidPolygonal;var IfcSweptSurface=/*#__PURE__*/function(_IfcSurface7){_inherits(IfcSweptSurface,_IfcSurface7);var _super1837=_createSuper(IfcSweptSurface);function IfcSweptSurface(expressID,SweptCurve,Position){var _this1840;_classCallCheck(this,IfcSweptSurface);_this1840=_super1837.call(this,expressID);_this1840.SweptCurve=SweptCurve;_this1840.Position=Position;_this1840.type=230924584;return _this1840;}return _createClass(IfcSweptSurface);}(IfcSurface);IFC4X32.IfcSweptSurface=IfcSweptSurface;var IfcTShapeProfileDef=/*#__PURE__*/function(_IfcParameterizedProf25){_inherits(IfcTShapeProfileDef,_IfcParameterizedProf25);var _super1838=_createSuper(IfcTShapeProfileDef);function IfcTShapeProfileDef(expressID,ProfileType,ProfileName,Position,Depth,FlangeWidth,WebThickness,FlangeThickness,FilletRadius,FlangeEdgeRadius,WebEdgeRadius,WebSlope,FlangeSlope){var _this1841;_classCallCheck(this,IfcTShapeProfileDef);_this1841=_super1838.call(this,expressID,ProfileType,ProfileName,Position);_this1841.ProfileType=ProfileType;_this1841.ProfileName=ProfileName;_this1841.Position=Position;_this1841.Depth=Depth;_this1841.FlangeWidth=FlangeWidth;_this1841.WebThickness=WebThickness;_this1841.FlangeThickness=FlangeThickness;_this1841.FilletRadius=FilletRadius;_this1841.FlangeEdgeRadius=FlangeEdgeRadius;_this1841.WebEdgeRadius=WebEdgeRadius;_this1841.WebSlope=WebSlope;_this1841.FlangeSlope=FlangeSlope;_this1841.type=3071757647;return _this1841;}return _createClass(IfcTShapeProfileDef);}(IfcParameterizedProfileDef);IFC4X32.IfcTShapeProfileDef=IfcTShapeProfileDef;var IfcTessellatedItem=/*#__PURE__*/function(_IfcGeometricRepresen68){_inherits(IfcTessellatedItem,_IfcGeometricRepresen68);var _super1839=_createSuper(IfcTessellatedItem);function IfcTessellatedItem(expressID){var _this1842;_classCallCheck(this,IfcTessellatedItem);_this1842=_super1839.call(this,expressID);_this1842.type=901063453;return _this1842;}return _createClass(IfcTessellatedItem);}(IfcGeometricRepresentationItem);IFC4X32.IfcTessellatedItem=IfcTessellatedItem;var IfcTextLiteral=/*#__PURE__*/function(_IfcGeometricRepresen69){_inherits(IfcTextLiteral,_IfcGeometricRepresen69);var _super1840=_createSuper(IfcTextLiteral);function IfcTextLiteral(expressID,Literal,Placement,Path){var _this1843;_classCallCheck(this,IfcTextLiteral);_this1843=_super1840.call(this,expressID);_this1843.Literal=Literal;_this1843.Placement=Placement;_this1843.Path=Path;_this1843.type=4282788508;return _this1843;}return _createClass(IfcTextLiteral);}(IfcGeometricRepresentationItem);IFC4X32.IfcTextLiteral=IfcTextLiteral;var IfcTextLiteralWithExtent=/*#__PURE__*/function(_IfcTextLiteral3){_inherits(IfcTextLiteralWithExtent,_IfcTextLiteral3);var _super1841=_createSuper(IfcTextLiteralWithExtent);function IfcTextLiteralWithExtent(expressID,Literal,Placement,Path,Extent,BoxAlignment){var _this1844;_classCallCheck(this,IfcTextLiteralWithExtent);_this1844=_super1841.call(this,expressID,Literal,Placement,Path);_this1844.Literal=Literal;_this1844.Placement=Placement;_this1844.Path=Path;_this1844.Extent=Extent;_this1844.BoxAlignment=BoxAlignment;_this1844.type=3124975700;return _this1844;}return _createClass(IfcTextLiteralWithExtent);}(IfcTextLiteral);IFC4X32.IfcTextLiteralWithExtent=IfcTextLiteralWithExtent;var IfcTextStyleFontModel=/*#__PURE__*/function(_IfcPreDefinedTextFon4){_inherits(IfcTextStyleFontModel,_IfcPreDefinedTextFon4);var _super1842=_createSuper(IfcTextStyleFontModel);function IfcTextStyleFontModel(expressID,Name,FontFamily,FontStyle,FontVariant,FontWeight,FontSize){var _this1845;_classCallCheck(this,IfcTextStyleFontModel);_this1845=_super1842.call(this,expressID,Name);_this1845.Name=Name;_this1845.FontFamily=FontFamily;_this1845.FontStyle=FontStyle;_this1845.FontVariant=FontVariant;_this1845.FontWeight=FontWeight;_this1845.FontSize=FontSize;_this1845.type=1983826977;return _this1845;}return _createClass(IfcTextStyleFontModel);}(IfcPreDefinedTextFont);IFC4X32.IfcTextStyleFontModel=IfcTextStyleFontModel;var IfcTrapeziumProfileDef=/*#__PURE__*/function(_IfcParameterizedProf26){_inherits(IfcTrapeziumProfileDef,_IfcParameterizedProf26);var _super1843=_createSuper(IfcTrapeziumProfileDef);function IfcTrapeziumProfileDef(expressID,ProfileType,ProfileName,Position,BottomXDim,TopXDim,YDim,TopXOffset){var _this1846;_classCallCheck(this,IfcTrapeziumProfileDef);_this1846=_super1843.call(this,expressID,ProfileType,ProfileName,Position);_this1846.ProfileType=ProfileType;_this1846.ProfileName=ProfileName;_this1846.Position=Position;_this1846.BottomXDim=BottomXDim;_this1846.TopXDim=TopXDim;_this1846.YDim=YDim;_this1846.TopXOffset=TopXOffset;_this1846.type=2715220739;return _this1846;}return _createClass(IfcTrapeziumProfileDef);}(IfcParameterizedProfileDef);IFC4X32.IfcTrapeziumProfileDef=IfcTrapeziumProfileDef;var IfcTypeObject=/*#__PURE__*/function(_IfcObjectDefinition6){_inherits(IfcTypeObject,_IfcObjectDefinition6);var _super1844=_createSuper(IfcTypeObject);function IfcTypeObject(expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets){var _this1847;_classCallCheck(this,IfcTypeObject);_this1847=_super1844.call(this,expressID,GlobalId,OwnerHistory,Name,Description);_this1847.GlobalId=GlobalId;_this1847.OwnerHistory=OwnerHistory;_this1847.Name=Name;_this1847.Description=Description;_this1847.ApplicableOccurrence=ApplicableOccurrence;_this1847.HasPropertySets=HasPropertySets;_this1847.type=1628702193;return _this1847;}return _createClass(IfcTypeObject);}(IfcObjectDefinition);IFC4X32.IfcTypeObject=IfcTypeObject;var IfcTypeProcess=/*#__PURE__*/function(_IfcTypeObject5){_inherits(IfcTypeProcess,_IfcTypeObject5);var _super1845=_createSuper(IfcTypeProcess);function IfcTypeProcess(expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,Identification,LongDescription,ProcessType){var _this1848;_classCallCheck(this,IfcTypeProcess);_this1848=_super1845.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets);_this1848.GlobalId=GlobalId;_this1848.OwnerHistory=OwnerHistory;_this1848.Name=Name;_this1848.Description=Description;_this1848.ApplicableOccurrence=ApplicableOccurrence;_this1848.HasPropertySets=HasPropertySets;_this1848.Identification=Identification;_this1848.LongDescription=LongDescription;_this1848.ProcessType=ProcessType;_this1848.type=3736923433;return _this1848;}return _createClass(IfcTypeProcess);}(IfcTypeObject);IFC4X32.IfcTypeProcess=IfcTypeProcess;var IfcTypeProduct=/*#__PURE__*/function(_IfcTypeObject6){_inherits(IfcTypeProduct,_IfcTypeObject6);var _super1846=_createSuper(IfcTypeProduct);function IfcTypeProduct(expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag){var _this1849;_classCallCheck(this,IfcTypeProduct);_this1849=_super1846.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets);_this1849.GlobalId=GlobalId;_this1849.OwnerHistory=OwnerHistory;_this1849.Name=Name;_this1849.Description=Description;_this1849.ApplicableOccurrence=ApplicableOccurrence;_this1849.HasPropertySets=HasPropertySets;_this1849.RepresentationMaps=RepresentationMaps;_this1849.Tag=Tag;_this1849.type=2347495698;return _this1849;}return _createClass(IfcTypeProduct);}(IfcTypeObject);IFC4X32.IfcTypeProduct=IfcTypeProduct;var IfcTypeResource=/*#__PURE__*/function(_IfcTypeObject7){_inherits(IfcTypeResource,_IfcTypeObject7);var _super1847=_createSuper(IfcTypeResource);function IfcTypeResource(expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,Identification,LongDescription,ResourceType){var _this1850;_classCallCheck(this,IfcTypeResource);_this1850=_super1847.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets);_this1850.GlobalId=GlobalId;_this1850.OwnerHistory=OwnerHistory;_this1850.Name=Name;_this1850.Description=Description;_this1850.ApplicableOccurrence=ApplicableOccurrence;_this1850.HasPropertySets=HasPropertySets;_this1850.Identification=Identification;_this1850.LongDescription=LongDescription;_this1850.ResourceType=ResourceType;_this1850.type=3698973494;return _this1850;}return _createClass(IfcTypeResource);}(IfcTypeObject);IFC4X32.IfcTypeResource=IfcTypeResource;var IfcUShapeProfileDef=/*#__PURE__*/function(_IfcParameterizedProf27){_inherits(IfcUShapeProfileDef,_IfcParameterizedProf27);var _super1848=_createSuper(IfcUShapeProfileDef);function IfcUShapeProfileDef(expressID,ProfileType,ProfileName,Position,Depth,FlangeWidth,WebThickness,FlangeThickness,FilletRadius,EdgeRadius,FlangeSlope){var _this1851;_classCallCheck(this,IfcUShapeProfileDef);_this1851=_super1848.call(this,expressID,ProfileType,ProfileName,Position);_this1851.ProfileType=ProfileType;_this1851.ProfileName=ProfileName;_this1851.Position=Position;_this1851.Depth=Depth;_this1851.FlangeWidth=FlangeWidth;_this1851.WebThickness=WebThickness;_this1851.FlangeThickness=FlangeThickness;_this1851.FilletRadius=FilletRadius;_this1851.EdgeRadius=EdgeRadius;_this1851.FlangeSlope=FlangeSlope;_this1851.type=427810014;return _this1851;}return _createClass(IfcUShapeProfileDef);}(IfcParameterizedProfileDef);IFC4X32.IfcUShapeProfileDef=IfcUShapeProfileDef;var IfcVector=/*#__PURE__*/function(_IfcGeometricRepresen70){_inherits(IfcVector,_IfcGeometricRepresen70);var _super1849=_createSuper(IfcVector);function IfcVector(expressID,Orientation,Magnitude){var _this1852;_classCallCheck(this,IfcVector);_this1852=_super1849.call(this,expressID);_this1852.Orientation=Orientation;_this1852.Magnitude=Magnitude;_this1852.type=1417489154;return _this1852;}return _createClass(IfcVector);}(IfcGeometricRepresentationItem);IFC4X32.IfcVector=IfcVector;var IfcVertexLoop=/*#__PURE__*/function(_IfcLoop8){_inherits(IfcVertexLoop,_IfcLoop8);var _super1850=_createSuper(IfcVertexLoop);function IfcVertexLoop(expressID,LoopVertex){var _this1853;_classCallCheck(this,IfcVertexLoop);_this1853=_super1850.call(this,expressID);_this1853.LoopVertex=LoopVertex;_this1853.type=2759199220;return _this1853;}return _createClass(IfcVertexLoop);}(IfcLoop);IFC4X32.IfcVertexLoop=IfcVertexLoop;var IfcZShapeProfileDef=/*#__PURE__*/function(_IfcParameterizedProf28){_inherits(IfcZShapeProfileDef,_IfcParameterizedProf28);var _super1851=_createSuper(IfcZShapeProfileDef);function IfcZShapeProfileDef(expressID,ProfileType,ProfileName,Position,Depth,FlangeWidth,WebThickness,FlangeThickness,FilletRadius,EdgeRadius){var _this1854;_classCallCheck(this,IfcZShapeProfileDef);_this1854=_super1851.call(this,expressID,ProfileType,ProfileName,Position);_this1854.ProfileType=ProfileType;_this1854.ProfileName=ProfileName;_this1854.Position=Position;_this1854.Depth=Depth;_this1854.FlangeWidth=FlangeWidth;_this1854.WebThickness=WebThickness;_this1854.FlangeThickness=FlangeThickness;_this1854.FilletRadius=FilletRadius;_this1854.EdgeRadius=EdgeRadius;_this1854.type=2543172580;return _this1854;}return _createClass(IfcZShapeProfileDef);}(IfcParameterizedProfileDef);IFC4X32.IfcZShapeProfileDef=IfcZShapeProfileDef;var IfcAdvancedFace=/*#__PURE__*/function(_IfcFaceSurface2){_inherits(IfcAdvancedFace,_IfcFaceSurface2);var _super1852=_createSuper(IfcAdvancedFace);function IfcAdvancedFace(expressID,Bounds,FaceSurface,SameSense){var _this1855;_classCallCheck(this,IfcAdvancedFace);_this1855=_super1852.call(this,expressID,Bounds,FaceSurface,SameSense);_this1855.Bounds=Bounds;_this1855.FaceSurface=FaceSurface;_this1855.SameSense=SameSense;_this1855.type=3406155212;return _this1855;}return _createClass(IfcAdvancedFace);}(IfcFaceSurface);IFC4X32.IfcAdvancedFace=IfcAdvancedFace;var IfcAnnotationFillArea=/*#__PURE__*/function(_IfcGeometricRepresen71){_inherits(IfcAnnotationFillArea,_IfcGeometricRepresen71);var _super1853=_createSuper(IfcAnnotationFillArea);function IfcAnnotationFillArea(expressID,OuterBoundary,InnerBoundaries){var _this1856;_classCallCheck(this,IfcAnnotationFillArea);_this1856=_super1853.call(this,expressID);_this1856.OuterBoundary=OuterBoundary;_this1856.InnerBoundaries=InnerBoundaries;_this1856.type=669184980;return _this1856;}return _createClass(IfcAnnotationFillArea);}(IfcGeometricRepresentationItem);IFC4X32.IfcAnnotationFillArea=IfcAnnotationFillArea;var IfcAsymmetricIShapeProfileDef=/*#__PURE__*/function(_IfcParameterizedProf29){_inherits(IfcAsymmetricIShapeProfileDef,_IfcParameterizedProf29);var _super1854=_createSuper(IfcAsymmetricIShapeProfileDef);function IfcAsymmetricIShapeProfileDef(expressID,ProfileType,ProfileName,Position,BottomFlangeWidth,OverallDepth,WebThickness,BottomFlangeThickness,BottomFlangeFilletRadius,TopFlangeWidth,TopFlangeThickness,TopFlangeFilletRadius,BottomFlangeEdgeRadius,BottomFlangeSlope,TopFlangeEdgeRadius,TopFlangeSlope){var _this1857;_classCallCheck(this,IfcAsymmetricIShapeProfileDef);_this1857=_super1854.call(this,expressID,ProfileType,ProfileName,Position);_this1857.ProfileType=ProfileType;_this1857.ProfileName=ProfileName;_this1857.Position=Position;_this1857.BottomFlangeWidth=BottomFlangeWidth;_this1857.OverallDepth=OverallDepth;_this1857.WebThickness=WebThickness;_this1857.BottomFlangeThickness=BottomFlangeThickness;_this1857.BottomFlangeFilletRadius=BottomFlangeFilletRadius;_this1857.TopFlangeWidth=TopFlangeWidth;_this1857.TopFlangeThickness=TopFlangeThickness;_this1857.TopFlangeFilletRadius=TopFlangeFilletRadius;_this1857.BottomFlangeEdgeRadius=BottomFlangeEdgeRadius;_this1857.BottomFlangeSlope=BottomFlangeSlope;_this1857.TopFlangeEdgeRadius=TopFlangeEdgeRadius;_this1857.TopFlangeSlope=TopFlangeSlope;_this1857.type=3207858831;return _this1857;}return _createClass(IfcAsymmetricIShapeProfileDef);}(IfcParameterizedProfileDef);IFC4X32.IfcAsymmetricIShapeProfileDef=IfcAsymmetricIShapeProfileDef;var IfcAxis1Placement=/*#__PURE__*/function(_IfcPlacement7){_inherits(IfcAxis1Placement,_IfcPlacement7);var _super1855=_createSuper(IfcAxis1Placement);function IfcAxis1Placement(expressID,Location,Axis){var _this1858;_classCallCheck(this,IfcAxis1Placement);_this1858=_super1855.call(this,expressID,Location);_this1858.Location=Location;_this1858.Axis=Axis;_this1858.type=4261334040;return _this1858;}return _createClass(IfcAxis1Placement);}(IfcPlacement);IFC4X32.IfcAxis1Placement=IfcAxis1Placement;var IfcAxis2Placement2D=/*#__PURE__*/function(_IfcPlacement8){_inherits(IfcAxis2Placement2D,_IfcPlacement8);var _super1856=_createSuper(IfcAxis2Placement2D);function IfcAxis2Placement2D(expressID,Location,RefDirection){var _this1859;_classCallCheck(this,IfcAxis2Placement2D);_this1859=_super1856.call(this,expressID,Location);_this1859.Location=Location;_this1859.RefDirection=RefDirection;_this1859.type=3125803723;return _this1859;}return _createClass(IfcAxis2Placement2D);}(IfcPlacement);IFC4X32.IfcAxis2Placement2D=IfcAxis2Placement2D;var IfcAxis2Placement3D=/*#__PURE__*/function(_IfcPlacement9){_inherits(IfcAxis2Placement3D,_IfcPlacement9);var _super1857=_createSuper(IfcAxis2Placement3D);function IfcAxis2Placement3D(expressID,Location,Axis,RefDirection){var _this1860;_classCallCheck(this,IfcAxis2Placement3D);_this1860=_super1857.call(this,expressID,Location);_this1860.Location=Location;_this1860.Axis=Axis;_this1860.RefDirection=RefDirection;_this1860.type=2740243338;return _this1860;}return _createClass(IfcAxis2Placement3D);}(IfcPlacement);IFC4X32.IfcAxis2Placement3D=IfcAxis2Placement3D;var IfcAxis2PlacementLinear=/*#__PURE__*/function(_IfcPlacement10){_inherits(IfcAxis2PlacementLinear,_IfcPlacement10);var _super1858=_createSuper(IfcAxis2PlacementLinear);function IfcAxis2PlacementLinear(expressID,Location,Axis,RefDirection){var _this1861;_classCallCheck(this,IfcAxis2PlacementLinear);_this1861=_super1858.call(this,expressID,Location);_this1861.Location=Location;_this1861.Axis=Axis;_this1861.RefDirection=RefDirection;_this1861.type=3425423356;return _this1861;}return _createClass(IfcAxis2PlacementLinear);}(IfcPlacement);IFC4X32.IfcAxis2PlacementLinear=IfcAxis2PlacementLinear;var IfcBooleanResult=/*#__PURE__*/function(_IfcGeometricRepresen72){_inherits(IfcBooleanResult,_IfcGeometricRepresen72);var _super1859=_createSuper(IfcBooleanResult);function IfcBooleanResult(expressID,Operator,FirstOperand,SecondOperand){var _this1862;_classCallCheck(this,IfcBooleanResult);_this1862=_super1859.call(this,expressID);_this1862.Operator=Operator;_this1862.FirstOperand=FirstOperand;_this1862.SecondOperand=SecondOperand;_this1862.type=2736907675;return _this1862;}return _createClass(IfcBooleanResult);}(IfcGeometricRepresentationItem);IFC4X32.IfcBooleanResult=IfcBooleanResult;var IfcBoundedSurface=/*#__PURE__*/function(_IfcSurface8){_inherits(IfcBoundedSurface,_IfcSurface8);var _super1860=_createSuper(IfcBoundedSurface);function IfcBoundedSurface(expressID){var _this1863;_classCallCheck(this,IfcBoundedSurface);_this1863=_super1860.call(this,expressID);_this1863.type=4182860854;return _this1863;}return _createClass(IfcBoundedSurface);}(IfcSurface);IFC4X32.IfcBoundedSurface=IfcBoundedSurface;var IfcBoundingBox=/*#__PURE__*/function(_IfcGeometricRepresen73){_inherits(IfcBoundingBox,_IfcGeometricRepresen73);var _super1861=_createSuper(IfcBoundingBox);function IfcBoundingBox(expressID,Corner,XDim,YDim,ZDim){var _this1864;_classCallCheck(this,IfcBoundingBox);_this1864=_super1861.call(this,expressID);_this1864.Corner=Corner;_this1864.XDim=XDim;_this1864.YDim=YDim;_this1864.ZDim=ZDim;_this1864.type=2581212453;return _this1864;}return _createClass(IfcBoundingBox);}(IfcGeometricRepresentationItem);IFC4X32.IfcBoundingBox=IfcBoundingBox;var IfcBoxedHalfSpace=/*#__PURE__*/function(_IfcHalfSpaceSolid6){_inherits(IfcBoxedHalfSpace,_IfcHalfSpaceSolid6);var _super1862=_createSuper(IfcBoxedHalfSpace);function IfcBoxedHalfSpace(expressID,BaseSurface,AgreementFlag,Enclosure){var _this1865;_classCallCheck(this,IfcBoxedHalfSpace);_this1865=_super1862.call(this,expressID,BaseSurface,AgreementFlag);_this1865.BaseSurface=BaseSurface;_this1865.AgreementFlag=AgreementFlag;_this1865.Enclosure=Enclosure;_this1865.type=2713105998;return _this1865;}return _createClass(IfcBoxedHalfSpace);}(IfcHalfSpaceSolid);IFC4X32.IfcBoxedHalfSpace=IfcBoxedHalfSpace;var IfcCShapeProfileDef=/*#__PURE__*/function(_IfcParameterizedProf30){_inherits(IfcCShapeProfileDef,_IfcParameterizedProf30);var _super1863=_createSuper(IfcCShapeProfileDef);function IfcCShapeProfileDef(expressID,ProfileType,ProfileName,Position,Depth,Width,WallThickness,Girth,InternalFilletRadius){var _this1866;_classCallCheck(this,IfcCShapeProfileDef);_this1866=_super1863.call(this,expressID,ProfileType,ProfileName,Position);_this1866.ProfileType=ProfileType;_this1866.ProfileName=ProfileName;_this1866.Position=Position;_this1866.Depth=Depth;_this1866.Width=Width;_this1866.WallThickness=WallThickness;_this1866.Girth=Girth;_this1866.InternalFilletRadius=InternalFilletRadius;_this1866.type=2898889636;return _this1866;}return _createClass(IfcCShapeProfileDef);}(IfcParameterizedProfileDef);IFC4X32.IfcCShapeProfileDef=IfcCShapeProfileDef;var IfcCartesianPoint=/*#__PURE__*/function(_IfcPoint10){_inherits(IfcCartesianPoint,_IfcPoint10);var _super1864=_createSuper(IfcCartesianPoint);function IfcCartesianPoint(expressID,Coordinates){var _this1867;_classCallCheck(this,IfcCartesianPoint);_this1867=_super1864.call(this,expressID);_this1867.Coordinates=Coordinates;_this1867.type=1123145078;return _this1867;}return _createClass(IfcCartesianPoint);}(IfcPoint);IFC4X32.IfcCartesianPoint=IfcCartesianPoint;var IfcCartesianPointList=/*#__PURE__*/function(_IfcGeometricRepresen74){_inherits(IfcCartesianPointList,_IfcGeometricRepresen74);var _super1865=_createSuper(IfcCartesianPointList);function IfcCartesianPointList(expressID){var _this1868;_classCallCheck(this,IfcCartesianPointList);_this1868=_super1865.call(this,expressID);_this1868.type=574549367;return _this1868;}return _createClass(IfcCartesianPointList);}(IfcGeometricRepresentationItem);IFC4X32.IfcCartesianPointList=IfcCartesianPointList;var IfcCartesianPointList2D=/*#__PURE__*/function(_IfcCartesianPointLis3){_inherits(IfcCartesianPointList2D,_IfcCartesianPointLis3);var _super1866=_createSuper(IfcCartesianPointList2D);function IfcCartesianPointList2D(expressID,CoordList,TagList){var _this1869;_classCallCheck(this,IfcCartesianPointList2D);_this1869=_super1866.call(this,expressID);_this1869.CoordList=CoordList;_this1869.TagList=TagList;_this1869.type=1675464909;return _this1869;}return _createClass(IfcCartesianPointList2D);}(IfcCartesianPointList);IFC4X32.IfcCartesianPointList2D=IfcCartesianPointList2D;var IfcCartesianPointList3D=/*#__PURE__*/function(_IfcCartesianPointLis4){_inherits(IfcCartesianPointList3D,_IfcCartesianPointLis4);var _super1867=_createSuper(IfcCartesianPointList3D);function IfcCartesianPointList3D(expressID,CoordList,TagList){var _this1870;_classCallCheck(this,IfcCartesianPointList3D);_this1870=_super1867.call(this,expressID);_this1870.CoordList=CoordList;_this1870.TagList=TagList;_this1870.type=2059837836;return _this1870;}return _createClass(IfcCartesianPointList3D);}(IfcCartesianPointList);IFC4X32.IfcCartesianPointList3D=IfcCartesianPointList3D;var IfcCartesianTransformationOperator=/*#__PURE__*/function(_IfcGeometricRepresen75){_inherits(IfcCartesianTransformationOperator,_IfcGeometricRepresen75);var _super1868=_createSuper(IfcCartesianTransformationOperator);function IfcCartesianTransformationOperator(expressID,Axis1,Axis2,LocalOrigin,Scale){var _this1871;_classCallCheck(this,IfcCartesianTransformationOperator);_this1871=_super1868.call(this,expressID);_this1871.Axis1=Axis1;_this1871.Axis2=Axis2;_this1871.LocalOrigin=LocalOrigin;_this1871.Scale=Scale;_this1871.type=59481748;return _this1871;}return _createClass(IfcCartesianTransformationOperator);}(IfcGeometricRepresentationItem);IFC4X32.IfcCartesianTransformationOperator=IfcCartesianTransformationOperator;var IfcCartesianTransformationOperator2D=/*#__PURE__*/function(_IfcCartesianTransfor9){_inherits(IfcCartesianTransformationOperator2D,_IfcCartesianTransfor9);var _super1869=_createSuper(IfcCartesianTransformationOperator2D);function IfcCartesianTransformationOperator2D(expressID,Axis1,Axis2,LocalOrigin,Scale){var _this1872;_classCallCheck(this,IfcCartesianTransformationOperator2D);_this1872=_super1869.call(this,expressID,Axis1,Axis2,LocalOrigin,Scale);_this1872.Axis1=Axis1;_this1872.Axis2=Axis2;_this1872.LocalOrigin=LocalOrigin;_this1872.Scale=Scale;_this1872.type=3749851601;return _this1872;}return _createClass(IfcCartesianTransformationOperator2D);}(IfcCartesianTransformationOperator);IFC4X32.IfcCartesianTransformationOperator2D=IfcCartesianTransformationOperator2D;var IfcCartesianTransformationOperator2DnonUniform=/*#__PURE__*/function(_IfcCartesianTransfor10){_inherits(IfcCartesianTransformationOperator2DnonUniform,_IfcCartesianTransfor10);var _super1870=_createSuper(IfcCartesianTransformationOperator2DnonUniform);function IfcCartesianTransformationOperator2DnonUniform(expressID,Axis1,Axis2,LocalOrigin,Scale,Scale2){var _this1873;_classCallCheck(this,IfcCartesianTransformationOperator2DnonUniform);_this1873=_super1870.call(this,expressID,Axis1,Axis2,LocalOrigin,Scale);_this1873.Axis1=Axis1;_this1873.Axis2=Axis2;_this1873.LocalOrigin=LocalOrigin;_this1873.Scale=Scale;_this1873.Scale2=Scale2;_this1873.type=3486308946;return _this1873;}return _createClass(IfcCartesianTransformationOperator2DnonUniform);}(IfcCartesianTransformationOperator2D);IFC4X32.IfcCartesianTransformationOperator2DnonUniform=IfcCartesianTransformationOperator2DnonUniform;var IfcCartesianTransformationOperator3D=/*#__PURE__*/function(_IfcCartesianTransfor11){_inherits(IfcCartesianTransformationOperator3D,_IfcCartesianTransfor11);var _super1871=_createSuper(IfcCartesianTransformationOperator3D);function IfcCartesianTransformationOperator3D(expressID,Axis1,Axis2,LocalOrigin,Scale,Axis3){var _this1874;_classCallCheck(this,IfcCartesianTransformationOperator3D);_this1874=_super1871.call(this,expressID,Axis1,Axis2,LocalOrigin,Scale);_this1874.Axis1=Axis1;_this1874.Axis2=Axis2;_this1874.LocalOrigin=LocalOrigin;_this1874.Scale=Scale;_this1874.Axis3=Axis3;_this1874.type=3331915920;return _this1874;}return _createClass(IfcCartesianTransformationOperator3D);}(IfcCartesianTransformationOperator);IFC4X32.IfcCartesianTransformationOperator3D=IfcCartesianTransformationOperator3D;var IfcCartesianTransformationOperator3DnonUniform=/*#__PURE__*/function(_IfcCartesianTransfor12){_inherits(IfcCartesianTransformationOperator3DnonUniform,_IfcCartesianTransfor12);var _super1872=_createSuper(IfcCartesianTransformationOperator3DnonUniform);function IfcCartesianTransformationOperator3DnonUniform(expressID,Axis1,Axis2,LocalOrigin,Scale,Axis3,Scale2,Scale3){var _this1875;_classCallCheck(this,IfcCartesianTransformationOperator3DnonUniform);_this1875=_super1872.call(this,expressID,Axis1,Axis2,LocalOrigin,Scale,Axis3);_this1875.Axis1=Axis1;_this1875.Axis2=Axis2;_this1875.LocalOrigin=LocalOrigin;_this1875.Scale=Scale;_this1875.Axis3=Axis3;_this1875.Scale2=Scale2;_this1875.Scale3=Scale3;_this1875.type=1416205885;return _this1875;}return _createClass(IfcCartesianTransformationOperator3DnonUniform);}(IfcCartesianTransformationOperator3D);IFC4X32.IfcCartesianTransformationOperator3DnonUniform=IfcCartesianTransformationOperator3DnonUniform;var IfcCircleProfileDef=/*#__PURE__*/function(_IfcParameterizedProf31){_inherits(IfcCircleProfileDef,_IfcParameterizedProf31);var _super1873=_createSuper(IfcCircleProfileDef);function IfcCircleProfileDef(expressID,ProfileType,ProfileName,Position,Radius){var _this1876;_classCallCheck(this,IfcCircleProfileDef);_this1876=_super1873.call(this,expressID,ProfileType,ProfileName,Position);_this1876.ProfileType=ProfileType;_this1876.ProfileName=ProfileName;_this1876.Position=Position;_this1876.Radius=Radius;_this1876.type=1383045692;return _this1876;}return _createClass(IfcCircleProfileDef);}(IfcParameterizedProfileDef);IFC4X32.IfcCircleProfileDef=IfcCircleProfileDef;var IfcClosedShell=/*#__PURE__*/function(_IfcConnectedFaceSet6){_inherits(IfcClosedShell,_IfcConnectedFaceSet6);var _super1874=_createSuper(IfcClosedShell);function IfcClosedShell(expressID,CfsFaces){var _this1877;_classCallCheck(this,IfcClosedShell);_this1877=_super1874.call(this,expressID,CfsFaces);_this1877.CfsFaces=CfsFaces;_this1877.type=2205249479;return _this1877;}return _createClass(IfcClosedShell);}(IfcConnectedFaceSet);IFC4X32.IfcClosedShell=IfcClosedShell;var IfcColourRgb=/*#__PURE__*/function(_IfcColourSpecificati3){_inherits(IfcColourRgb,_IfcColourSpecificati3);var _super1875=_createSuper(IfcColourRgb);function IfcColourRgb(expressID,Name,Red,Green,Blue){var _this1878;_classCallCheck(this,IfcColourRgb);_this1878=_super1875.call(this,expressID,Name);_this1878.Name=Name;_this1878.Red=Red;_this1878.Green=Green;_this1878.Blue=Blue;_this1878.type=776857604;return _this1878;}return _createClass(IfcColourRgb);}(IfcColourSpecification);IFC4X32.IfcColourRgb=IfcColourRgb;var IfcComplexProperty=/*#__PURE__*/function(_IfcProperty6){_inherits(IfcComplexProperty,_IfcProperty6);var _super1876=_createSuper(IfcComplexProperty);function IfcComplexProperty(expressID,Name,Specification,UsageName,HasProperties){var _this1879;_classCallCheck(this,IfcComplexProperty);_this1879=_super1876.call(this,expressID,Name,Specification);_this1879.Name=Name;_this1879.Specification=Specification;_this1879.UsageName=UsageName;_this1879.HasProperties=HasProperties;_this1879.type=2542286263;return _this1879;}return _createClass(IfcComplexProperty);}(IfcProperty);IFC4X32.IfcComplexProperty=IfcComplexProperty;var IfcCompositeCurveSegment=/*#__PURE__*/function(_IfcSegment){_inherits(IfcCompositeCurveSegment,_IfcSegment);var _super1877=_createSuper(IfcCompositeCurveSegment);function IfcCompositeCurveSegment(expressID,Transition,SameSense,ParentCurve){var _this1880;_classCallCheck(this,IfcCompositeCurveSegment);_this1880=_super1877.call(this,expressID,Transition);_this1880.Transition=Transition;_this1880.SameSense=SameSense;_this1880.ParentCurve=ParentCurve;_this1880.type=2485617015;return _this1880;}return _createClass(IfcCompositeCurveSegment);}(IfcSegment);IFC4X32.IfcCompositeCurveSegment=IfcCompositeCurveSegment;var IfcConstructionResourceType=/*#__PURE__*/function(_IfcTypeResource2){_inherits(IfcConstructionResourceType,_IfcTypeResource2);var _super1878=_createSuper(IfcConstructionResourceType);function IfcConstructionResourceType(expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,Identification,LongDescription,ResourceType,BaseCosts,BaseQuantity){var _this1881;_classCallCheck(this,IfcConstructionResourceType);_this1881=_super1878.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,Identification,LongDescription,ResourceType);_this1881.GlobalId=GlobalId;_this1881.OwnerHistory=OwnerHistory;_this1881.Name=Name;_this1881.Description=Description;_this1881.ApplicableOccurrence=ApplicableOccurrence;_this1881.HasPropertySets=HasPropertySets;_this1881.Identification=Identification;_this1881.LongDescription=LongDescription;_this1881.ResourceType=ResourceType;_this1881.BaseCosts=BaseCosts;_this1881.BaseQuantity=BaseQuantity;_this1881.type=2574617495;return _this1881;}return _createClass(IfcConstructionResourceType);}(IfcTypeResource);IFC4X32.IfcConstructionResourceType=IfcConstructionResourceType;var IfcContext=/*#__PURE__*/function(_IfcObjectDefinition7){_inherits(IfcContext,_IfcObjectDefinition7);var _super1879=_createSuper(IfcContext);function IfcContext(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,LongName,Phase,RepresentationContexts,UnitsInContext){var _this1882;_classCallCheck(this,IfcContext);_this1882=_super1879.call(this,expressID,GlobalId,OwnerHistory,Name,Description);_this1882.GlobalId=GlobalId;_this1882.OwnerHistory=OwnerHistory;_this1882.Name=Name;_this1882.Description=Description;_this1882.ObjectType=ObjectType;_this1882.LongName=LongName;_this1882.Phase=Phase;_this1882.RepresentationContexts=RepresentationContexts;_this1882.UnitsInContext=UnitsInContext;_this1882.type=3419103109;return _this1882;}return _createClass(IfcContext);}(IfcObjectDefinition);IFC4X32.IfcContext=IfcContext;var IfcCrewResourceType=/*#__PURE__*/function(_IfcConstructionResou19){_inherits(IfcCrewResourceType,_IfcConstructionResou19);var _super1880=_createSuper(IfcCrewResourceType);function IfcCrewResourceType(expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,Identification,LongDescription,ResourceType,BaseCosts,BaseQuantity,PredefinedType){var _this1883;_classCallCheck(this,IfcCrewResourceType);_this1883=_super1880.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,Identification,LongDescription,ResourceType,BaseCosts,BaseQuantity);_this1883.GlobalId=GlobalId;_this1883.OwnerHistory=OwnerHistory;_this1883.Name=Name;_this1883.Description=Description;_this1883.ApplicableOccurrence=ApplicableOccurrence;_this1883.HasPropertySets=HasPropertySets;_this1883.Identification=Identification;_this1883.LongDescription=LongDescription;_this1883.ResourceType=ResourceType;_this1883.BaseCosts=BaseCosts;_this1883.BaseQuantity=BaseQuantity;_this1883.PredefinedType=PredefinedType;_this1883.type=1815067380;return _this1883;}return _createClass(IfcCrewResourceType);}(IfcConstructionResourceType);IFC4X32.IfcCrewResourceType=IfcCrewResourceType;var IfcCsgPrimitive3D=/*#__PURE__*/function(_IfcGeometricRepresen76){_inherits(IfcCsgPrimitive3D,_IfcGeometricRepresen76);var _super1881=_createSuper(IfcCsgPrimitive3D);function IfcCsgPrimitive3D(expressID,Position){var _this1884;_classCallCheck(this,IfcCsgPrimitive3D);_this1884=_super1881.call(this,expressID);_this1884.Position=Position;_this1884.type=2506170314;return _this1884;}return _createClass(IfcCsgPrimitive3D);}(IfcGeometricRepresentationItem);IFC4X32.IfcCsgPrimitive3D=IfcCsgPrimitive3D;var IfcCsgSolid=/*#__PURE__*/function(_IfcSolidModel11){_inherits(IfcCsgSolid,_IfcSolidModel11);var _super1882=_createSuper(IfcCsgSolid);function IfcCsgSolid(expressID,TreeRootExpression){var _this1885;_classCallCheck(this,IfcCsgSolid);_this1885=_super1882.call(this,expressID);_this1885.TreeRootExpression=TreeRootExpression;_this1885.type=2147822146;return _this1885;}return _createClass(IfcCsgSolid);}(IfcSolidModel);IFC4X32.IfcCsgSolid=IfcCsgSolid;var IfcCurve=/*#__PURE__*/function(_IfcGeometricRepresen77){_inherits(IfcCurve,_IfcGeometricRepresen77);var _super1883=_createSuper(IfcCurve);function IfcCurve(expressID){var _this1886;_classCallCheck(this,IfcCurve);_this1886=_super1883.call(this,expressID);_this1886.type=2601014836;return _this1886;}return _createClass(IfcCurve);}(IfcGeometricRepresentationItem);IFC4X32.IfcCurve=IfcCurve;var IfcCurveBoundedPlane=/*#__PURE__*/function(_IfcBoundedSurface7){_inherits(IfcCurveBoundedPlane,_IfcBoundedSurface7);var _super1884=_createSuper(IfcCurveBoundedPlane);function IfcCurveBoundedPlane(expressID,BasisSurface,OuterBoundary,InnerBoundaries){var _this1887;_classCallCheck(this,IfcCurveBoundedPlane);_this1887=_super1884.call(this,expressID);_this1887.BasisSurface=BasisSurface;_this1887.OuterBoundary=OuterBoundary;_this1887.InnerBoundaries=InnerBoundaries;_this1887.type=2827736869;return _this1887;}return _createClass(IfcCurveBoundedPlane);}(IfcBoundedSurface);IFC4X32.IfcCurveBoundedPlane=IfcCurveBoundedPlane;var IfcCurveBoundedSurface=/*#__PURE__*/function(_IfcBoundedSurface8){_inherits(IfcCurveBoundedSurface,_IfcBoundedSurface8);var _super1885=_createSuper(IfcCurveBoundedSurface);function IfcCurveBoundedSurface(expressID,BasisSurface,Boundaries,ImplicitOuter){var _this1888;_classCallCheck(this,IfcCurveBoundedSurface);_this1888=_super1885.call(this,expressID);_this1888.BasisSurface=BasisSurface;_this1888.Boundaries=Boundaries;_this1888.ImplicitOuter=ImplicitOuter;_this1888.type=2629017746;return _this1888;}return _createClass(IfcCurveBoundedSurface);}(IfcBoundedSurface);IFC4X32.IfcCurveBoundedSurface=IfcCurveBoundedSurface;var IfcCurveSegment=/*#__PURE__*/function(_IfcSegment2){_inherits(IfcCurveSegment,_IfcSegment2);var _super1886=_createSuper(IfcCurveSegment);function IfcCurveSegment(expressID,Transition,Placement,SegmentStart,SegmentLength,ParentCurve){var _this1889;_classCallCheck(this,IfcCurveSegment);_this1889=_super1886.call(this,expressID,Transition);_this1889.Transition=Transition;_this1889.Placement=Placement;_this1889.SegmentStart=SegmentStart;_this1889.SegmentLength=SegmentLength;_this1889.ParentCurve=ParentCurve;_this1889.type=4212018352;return _this1889;}return _createClass(IfcCurveSegment);}(IfcSegment);IFC4X32.IfcCurveSegment=IfcCurveSegment;var IfcDirection=/*#__PURE__*/function(_IfcGeometricRepresen78){_inherits(IfcDirection,_IfcGeometricRepresen78);var _super1887=_createSuper(IfcDirection);function IfcDirection(expressID,DirectionRatios){var _this1890;_classCallCheck(this,IfcDirection);_this1890=_super1887.call(this,expressID);_this1890.DirectionRatios=DirectionRatios;_this1890.type=32440307;return _this1890;}return _createClass(IfcDirection);}(IfcGeometricRepresentationItem);IFC4X32.IfcDirection=IfcDirection;var IfcDirectrixCurveSweptAreaSolid=/*#__PURE__*/function(_IfcSweptAreaSolid8){_inherits(IfcDirectrixCurveSweptAreaSolid,_IfcSweptAreaSolid8);var _super1888=_createSuper(IfcDirectrixCurveSweptAreaSolid);function IfcDirectrixCurveSweptAreaSolid(expressID,SweptArea,Position,Directrix,StartParam,EndParam){var _this1891;_classCallCheck(this,IfcDirectrixCurveSweptAreaSolid);_this1891=_super1888.call(this,expressID,SweptArea,Position);_this1891.SweptArea=SweptArea;_this1891.Position=Position;_this1891.Directrix=Directrix;_this1891.StartParam=StartParam;_this1891.EndParam=EndParam;_this1891.type=593015953;return _this1891;}return _createClass(IfcDirectrixCurveSweptAreaSolid);}(IfcSweptAreaSolid);IFC4X32.IfcDirectrixCurveSweptAreaSolid=IfcDirectrixCurveSweptAreaSolid;var IfcEdgeLoop=/*#__PURE__*/function(_IfcLoop9){_inherits(IfcEdgeLoop,_IfcLoop9);var _super1889=_createSuper(IfcEdgeLoop);function IfcEdgeLoop(expressID,EdgeList){var _this1892;_classCallCheck(this,IfcEdgeLoop);_this1892=_super1889.call(this,expressID);_this1892.EdgeList=EdgeList;_this1892.type=1472233963;return _this1892;}return _createClass(IfcEdgeLoop);}(IfcLoop);IFC4X32.IfcEdgeLoop=IfcEdgeLoop;var IfcElementQuantity=/*#__PURE__*/function(_IfcQuantitySet2){_inherits(IfcElementQuantity,_IfcQuantitySet2);var _super1890=_createSuper(IfcElementQuantity);function IfcElementQuantity(expressID,GlobalId,OwnerHistory,Name,Description,MethodOfMeasurement,Quantities){var _this1893;_classCallCheck(this,IfcElementQuantity);_this1893=_super1890.call(this,expressID,GlobalId,OwnerHistory,Name,Description);_this1893.GlobalId=GlobalId;_this1893.OwnerHistory=OwnerHistory;_this1893.Name=Name;_this1893.Description=Description;_this1893.MethodOfMeasurement=MethodOfMeasurement;_this1893.Quantities=Quantities;_this1893.type=1883228015;return _this1893;}return _createClass(IfcElementQuantity);}(IfcQuantitySet);IFC4X32.IfcElementQuantity=IfcElementQuantity;var IfcElementType=/*#__PURE__*/function(_IfcTypeProduct8){_inherits(IfcElementType,_IfcTypeProduct8);var _super1891=_createSuper(IfcElementType);function IfcElementType(expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType){var _this1894;_classCallCheck(this,IfcElementType);_this1894=_super1891.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag);_this1894.GlobalId=GlobalId;_this1894.OwnerHistory=OwnerHistory;_this1894.Name=Name;_this1894.Description=Description;_this1894.ApplicableOccurrence=ApplicableOccurrence;_this1894.HasPropertySets=HasPropertySets;_this1894.RepresentationMaps=RepresentationMaps;_this1894.Tag=Tag;_this1894.ElementType=ElementType;_this1894.type=339256511;return _this1894;}return _createClass(IfcElementType);}(IfcTypeProduct);IFC4X32.IfcElementType=IfcElementType;var IfcElementarySurface=/*#__PURE__*/function(_IfcSurface9){_inherits(IfcElementarySurface,_IfcSurface9);var _super1892=_createSuper(IfcElementarySurface);function IfcElementarySurface(expressID,Position){var _this1895;_classCallCheck(this,IfcElementarySurface);_this1895=_super1892.call(this,expressID);_this1895.Position=Position;_this1895.type=2777663545;return _this1895;}return _createClass(IfcElementarySurface);}(IfcSurface);IFC4X32.IfcElementarySurface=IfcElementarySurface;var IfcEllipseProfileDef=/*#__PURE__*/function(_IfcParameterizedProf32){_inherits(IfcEllipseProfileDef,_IfcParameterizedProf32);var _super1893=_createSuper(IfcEllipseProfileDef);function IfcEllipseProfileDef(expressID,ProfileType,ProfileName,Position,SemiAxis1,SemiAxis2){var _this1896;_classCallCheck(this,IfcEllipseProfileDef);_this1896=_super1893.call(this,expressID,ProfileType,ProfileName,Position);_this1896.ProfileType=ProfileType;_this1896.ProfileName=ProfileName;_this1896.Position=Position;_this1896.SemiAxis1=SemiAxis1;_this1896.SemiAxis2=SemiAxis2;_this1896.type=2835456948;return _this1896;}return _createClass(IfcEllipseProfileDef);}(IfcParameterizedProfileDef);IFC4X32.IfcEllipseProfileDef=IfcEllipseProfileDef;var IfcEventType=/*#__PURE__*/function(_IfcTypeProcess4){_inherits(IfcEventType,_IfcTypeProcess4);var _super1894=_createSuper(IfcEventType);function IfcEventType(expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,Identification,LongDescription,ProcessType,PredefinedType,EventTriggerType,UserDefinedEventTriggerType){var _this1897;_classCallCheck(this,IfcEventType);_this1897=_super1894.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,Identification,LongDescription,ProcessType);_this1897.GlobalId=GlobalId;_this1897.OwnerHistory=OwnerHistory;_this1897.Name=Name;_this1897.Description=Description;_this1897.ApplicableOccurrence=ApplicableOccurrence;_this1897.HasPropertySets=HasPropertySets;_this1897.Identification=Identification;_this1897.LongDescription=LongDescription;_this1897.ProcessType=ProcessType;_this1897.PredefinedType=PredefinedType;_this1897.EventTriggerType=EventTriggerType;_this1897.UserDefinedEventTriggerType=UserDefinedEventTriggerType;_this1897.type=4024345920;return _this1897;}return _createClass(IfcEventType);}(IfcTypeProcess);IFC4X32.IfcEventType=IfcEventType;var IfcExtrudedAreaSolid=/*#__PURE__*/function(_IfcSweptAreaSolid9){_inherits(IfcExtrudedAreaSolid,_IfcSweptAreaSolid9);var _super1895=_createSuper(IfcExtrudedAreaSolid);function IfcExtrudedAreaSolid(expressID,SweptArea,Position,ExtrudedDirection,Depth){var _this1898;_classCallCheck(this,IfcExtrudedAreaSolid);_this1898=_super1895.call(this,expressID,SweptArea,Position);_this1898.SweptArea=SweptArea;_this1898.Position=Position;_this1898.ExtrudedDirection=ExtrudedDirection;_this1898.Depth=Depth;_this1898.type=477187591;return _this1898;}return _createClass(IfcExtrudedAreaSolid);}(IfcSweptAreaSolid);IFC4X32.IfcExtrudedAreaSolid=IfcExtrudedAreaSolid;var IfcExtrudedAreaSolidTapered=/*#__PURE__*/function(_IfcExtrudedAreaSolid2){_inherits(IfcExtrudedAreaSolidTapered,_IfcExtrudedAreaSolid2);var _super1896=_createSuper(IfcExtrudedAreaSolidTapered);function IfcExtrudedAreaSolidTapered(expressID,SweptArea,Position,ExtrudedDirection,Depth,EndSweptArea){var _this1899;_classCallCheck(this,IfcExtrudedAreaSolidTapered);_this1899=_super1896.call(this,expressID,SweptArea,Position,ExtrudedDirection,Depth);_this1899.SweptArea=SweptArea;_this1899.Position=Position;_this1899.ExtrudedDirection=ExtrudedDirection;_this1899.Depth=Depth;_this1899.EndSweptArea=EndSweptArea;_this1899.type=2804161546;return _this1899;}return _createClass(IfcExtrudedAreaSolidTapered);}(IfcExtrudedAreaSolid);IFC4X32.IfcExtrudedAreaSolidTapered=IfcExtrudedAreaSolidTapered;var IfcFaceBasedSurfaceModel=/*#__PURE__*/function(_IfcGeometricRepresen79){_inherits(IfcFaceBasedSurfaceModel,_IfcGeometricRepresen79);var _super1897=_createSuper(IfcFaceBasedSurfaceModel);function IfcFaceBasedSurfaceModel(expressID,FbsmFaces){var _this1900;_classCallCheck(this,IfcFaceBasedSurfaceModel);_this1900=_super1897.call(this,expressID);_this1900.FbsmFaces=FbsmFaces;_this1900.type=2047409740;return _this1900;}return _createClass(IfcFaceBasedSurfaceModel);}(IfcGeometricRepresentationItem);IFC4X32.IfcFaceBasedSurfaceModel=IfcFaceBasedSurfaceModel;var IfcFillAreaStyleHatching=/*#__PURE__*/function(_IfcGeometricRepresen80){_inherits(IfcFillAreaStyleHatching,_IfcGeometricRepresen80);var _super1898=_createSuper(IfcFillAreaStyleHatching);function IfcFillAreaStyleHatching(expressID,HatchLineAppearance,StartOfNextHatchLine,PointOfReferenceHatchLine,PatternStart,HatchLineAngle){var _this1901;_classCallCheck(this,IfcFillAreaStyleHatching);_this1901=_super1898.call(this,expressID);_this1901.HatchLineAppearance=HatchLineAppearance;_this1901.StartOfNextHatchLine=StartOfNextHatchLine;_this1901.PointOfReferenceHatchLine=PointOfReferenceHatchLine;_this1901.PatternStart=PatternStart;_this1901.HatchLineAngle=HatchLineAngle;_this1901.type=374418227;return _this1901;}return _createClass(IfcFillAreaStyleHatching);}(IfcGeometricRepresentationItem);IFC4X32.IfcFillAreaStyleHatching=IfcFillAreaStyleHatching;var IfcFillAreaStyleTiles=/*#__PURE__*/function(_IfcGeometricRepresen81){_inherits(IfcFillAreaStyleTiles,_IfcGeometricRepresen81);var _super1899=_createSuper(IfcFillAreaStyleTiles);function IfcFillAreaStyleTiles(expressID,TilingPattern,Tiles,TilingScale){var _this1902;_classCallCheck(this,IfcFillAreaStyleTiles);_this1902=_super1899.call(this,expressID);_this1902.TilingPattern=TilingPattern;_this1902.Tiles=Tiles;_this1902.TilingScale=TilingScale;_this1902.type=315944413;return _this1902;}return _createClass(IfcFillAreaStyleTiles);}(IfcGeometricRepresentationItem);IFC4X32.IfcFillAreaStyleTiles=IfcFillAreaStyleTiles;var IfcFixedReferenceSweptAreaSolid=/*#__PURE__*/function(_IfcDirectrixCurveSwe){_inherits(IfcFixedReferenceSweptAreaSolid,_IfcDirectrixCurveSwe);var _super1900=_createSuper(IfcFixedReferenceSweptAreaSolid);function IfcFixedReferenceSweptAreaSolid(expressID,SweptArea,Position,Directrix,StartParam,EndParam,FixedReference){var _this1903;_classCallCheck(this,IfcFixedReferenceSweptAreaSolid);_this1903=_super1900.call(this,expressID,SweptArea,Position,Directrix,StartParam,EndParam);_this1903.SweptArea=SweptArea;_this1903.Position=Position;_this1903.Directrix=Directrix;_this1903.StartParam=StartParam;_this1903.EndParam=EndParam;_this1903.FixedReference=FixedReference;_this1903.type=2652556860;return _this1903;}return _createClass(IfcFixedReferenceSweptAreaSolid);}(IfcDirectrixCurveSweptAreaSolid);IFC4X32.IfcFixedReferenceSweptAreaSolid=IfcFixedReferenceSweptAreaSolid;var IfcFurnishingElementType=/*#__PURE__*/function(_IfcElementType15){_inherits(IfcFurnishingElementType,_IfcElementType15);var _super1901=_createSuper(IfcFurnishingElementType);function IfcFurnishingElementType(expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType){var _this1904;_classCallCheck(this,IfcFurnishingElementType);_this1904=_super1901.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType);_this1904.GlobalId=GlobalId;_this1904.OwnerHistory=OwnerHistory;_this1904.Name=Name;_this1904.Description=Description;_this1904.ApplicableOccurrence=ApplicableOccurrence;_this1904.HasPropertySets=HasPropertySets;_this1904.RepresentationMaps=RepresentationMaps;_this1904.Tag=Tag;_this1904.ElementType=ElementType;_this1904.type=4238390223;return _this1904;}return _createClass(IfcFurnishingElementType);}(IfcElementType);IFC4X32.IfcFurnishingElementType=IfcFurnishingElementType;var IfcFurnitureType=/*#__PURE__*/function(_IfcFurnishingElement7){_inherits(IfcFurnitureType,_IfcFurnishingElement7);var _super1902=_createSuper(IfcFurnitureType);function IfcFurnitureType(expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType,AssemblyPlace,PredefinedType){var _this1905;_classCallCheck(this,IfcFurnitureType);_this1905=_super1902.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType);_this1905.GlobalId=GlobalId;_this1905.OwnerHistory=OwnerHistory;_this1905.Name=Name;_this1905.Description=Description;_this1905.ApplicableOccurrence=ApplicableOccurrence;_this1905.HasPropertySets=HasPropertySets;_this1905.RepresentationMaps=RepresentationMaps;_this1905.Tag=Tag;_this1905.ElementType=ElementType;_this1905.AssemblyPlace=AssemblyPlace;_this1905.PredefinedType=PredefinedType;_this1905.type=1268542332;return _this1905;}return _createClass(IfcFurnitureType);}(IfcFurnishingElementType);IFC4X32.IfcFurnitureType=IfcFurnitureType;var IfcGeographicElementType=/*#__PURE__*/function(_IfcElementType16){_inherits(IfcGeographicElementType,_IfcElementType16);var _super1903=_createSuper(IfcGeographicElementType);function IfcGeographicElementType(expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType,PredefinedType){var _this1906;_classCallCheck(this,IfcGeographicElementType);_this1906=_super1903.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType);_this1906.GlobalId=GlobalId;_this1906.OwnerHistory=OwnerHistory;_this1906.Name=Name;_this1906.Description=Description;_this1906.ApplicableOccurrence=ApplicableOccurrence;_this1906.HasPropertySets=HasPropertySets;_this1906.RepresentationMaps=RepresentationMaps;_this1906.Tag=Tag;_this1906.ElementType=ElementType;_this1906.PredefinedType=PredefinedType;_this1906.type=4095422895;return _this1906;}return _createClass(IfcGeographicElementType);}(IfcElementType);IFC4X32.IfcGeographicElementType=IfcGeographicElementType;var IfcGeometricCurveSet=/*#__PURE__*/function(_IfcGeometricSet3){_inherits(IfcGeometricCurveSet,_IfcGeometricSet3);var _super1904=_createSuper(IfcGeometricCurveSet);function IfcGeometricCurveSet(expressID,Elements){var _this1907;_classCallCheck(this,IfcGeometricCurveSet);_this1907=_super1904.call(this,expressID,Elements);_this1907.Elements=Elements;_this1907.type=987898635;return _this1907;}return _createClass(IfcGeometricCurveSet);}(IfcGeometricSet);IFC4X32.IfcGeometricCurveSet=IfcGeometricCurveSet;var IfcIShapeProfileDef=/*#__PURE__*/function(_IfcParameterizedProf33){_inherits(IfcIShapeProfileDef,_IfcParameterizedProf33);var _super1905=_createSuper(IfcIShapeProfileDef);function IfcIShapeProfileDef(expressID,ProfileType,ProfileName,Position,OverallWidth,OverallDepth,WebThickness,FlangeThickness,FilletRadius,FlangeEdgeRadius,FlangeSlope){var _this1908;_classCallCheck(this,IfcIShapeProfileDef);_this1908=_super1905.call(this,expressID,ProfileType,ProfileName,Position);_this1908.ProfileType=ProfileType;_this1908.ProfileName=ProfileName;_this1908.Position=Position;_this1908.OverallWidth=OverallWidth;_this1908.OverallDepth=OverallDepth;_this1908.WebThickness=WebThickness;_this1908.FlangeThickness=FlangeThickness;_this1908.FilletRadius=FilletRadius;_this1908.FlangeEdgeRadius=FlangeEdgeRadius;_this1908.FlangeSlope=FlangeSlope;_this1908.type=1484403080;return _this1908;}return _createClass(IfcIShapeProfileDef);}(IfcParameterizedProfileDef);IFC4X32.IfcIShapeProfileDef=IfcIShapeProfileDef;var IfcIndexedPolygonalFace=/*#__PURE__*/function(_IfcTessellatedItem3){_inherits(IfcIndexedPolygonalFace,_IfcTessellatedItem3);var _super1906=_createSuper(IfcIndexedPolygonalFace);function IfcIndexedPolygonalFace(expressID,CoordIndex){var _this1909;_classCallCheck(this,IfcIndexedPolygonalFace);_this1909=_super1906.call(this,expressID);_this1909.CoordIndex=CoordIndex;_this1909.type=178912537;return _this1909;}return _createClass(IfcIndexedPolygonalFace);}(IfcTessellatedItem);IFC4X32.IfcIndexedPolygonalFace=IfcIndexedPolygonalFace;var IfcIndexedPolygonalFaceWithVoids=/*#__PURE__*/function(_IfcIndexedPolygonalF2){_inherits(IfcIndexedPolygonalFaceWithVoids,_IfcIndexedPolygonalF2);var _super1907=_createSuper(IfcIndexedPolygonalFaceWithVoids);function IfcIndexedPolygonalFaceWithVoids(expressID,CoordIndex,InnerCoordIndices){var _this1910;_classCallCheck(this,IfcIndexedPolygonalFaceWithVoids);_this1910=_super1907.call(this,expressID,CoordIndex);_this1910.CoordIndex=CoordIndex;_this1910.InnerCoordIndices=InnerCoordIndices;_this1910.type=2294589976;return _this1910;}return _createClass(IfcIndexedPolygonalFaceWithVoids);}(IfcIndexedPolygonalFace);IFC4X32.IfcIndexedPolygonalFaceWithVoids=IfcIndexedPolygonalFaceWithVoids;var IfcIndexedPolygonalTextureMap=/*#__PURE__*/function(_IfcIndexedTextureMap3){_inherits(IfcIndexedPolygonalTextureMap,_IfcIndexedTextureMap3);var _super1908=_createSuper(IfcIndexedPolygonalTextureMap);function IfcIndexedPolygonalTextureMap(expressID,Maps,MappedTo,TexCoords,TexCoordIndices){var _this1911;_classCallCheck(this,IfcIndexedPolygonalTextureMap);_this1911=_super1908.call(this,expressID,Maps,MappedTo,TexCoords);_this1911.Maps=Maps;_this1911.MappedTo=MappedTo;_this1911.TexCoords=TexCoords;_this1911.TexCoordIndices=TexCoordIndices;_this1911.type=3465909080;return _this1911;}return _createClass(IfcIndexedPolygonalTextureMap);}(IfcIndexedTextureMap);IFC4X32.IfcIndexedPolygonalTextureMap=IfcIndexedPolygonalTextureMap;var IfcLShapeProfileDef=/*#__PURE__*/function(_IfcParameterizedProf34){_inherits(IfcLShapeProfileDef,_IfcParameterizedProf34);var _super1909=_createSuper(IfcLShapeProfileDef);function IfcLShapeProfileDef(expressID,ProfileType,ProfileName,Position,Depth,Width,Thickness,FilletRadius,EdgeRadius,LegSlope){var _this1912;_classCallCheck(this,IfcLShapeProfileDef);_this1912=_super1909.call(this,expressID,ProfileType,ProfileName,Position);_this1912.ProfileType=ProfileType;_this1912.ProfileName=ProfileName;_this1912.Position=Position;_this1912.Depth=Depth;_this1912.Width=Width;_this1912.Thickness=Thickness;_this1912.FilletRadius=FilletRadius;_this1912.EdgeRadius=EdgeRadius;_this1912.LegSlope=LegSlope;_this1912.type=572779678;return _this1912;}return _createClass(IfcLShapeProfileDef);}(IfcParameterizedProfileDef);IFC4X32.IfcLShapeProfileDef=IfcLShapeProfileDef;var IfcLaborResourceType=/*#__PURE__*/function(_IfcConstructionResou20){_inherits(IfcLaborResourceType,_IfcConstructionResou20);var _super1910=_createSuper(IfcLaborResourceType);function IfcLaborResourceType(expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,Identification,LongDescription,ResourceType,BaseCosts,BaseQuantity,PredefinedType){var _this1913;_classCallCheck(this,IfcLaborResourceType);_this1913=_super1910.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,Identification,LongDescription,ResourceType,BaseCosts,BaseQuantity);_this1913.GlobalId=GlobalId;_this1913.OwnerHistory=OwnerHistory;_this1913.Name=Name;_this1913.Description=Description;_this1913.ApplicableOccurrence=ApplicableOccurrence;_this1913.HasPropertySets=HasPropertySets;_this1913.Identification=Identification;_this1913.LongDescription=LongDescription;_this1913.ResourceType=ResourceType;_this1913.BaseCosts=BaseCosts;_this1913.BaseQuantity=BaseQuantity;_this1913.PredefinedType=PredefinedType;_this1913.type=428585644;return _this1913;}return _createClass(IfcLaborResourceType);}(IfcConstructionResourceType);IFC4X32.IfcLaborResourceType=IfcLaborResourceType;var IfcLine=/*#__PURE__*/function(_IfcCurve13){_inherits(IfcLine,_IfcCurve13);var _super1911=_createSuper(IfcLine);function IfcLine(expressID,Pnt,Dir){var _this1914;_classCallCheck(this,IfcLine);_this1914=_super1911.call(this,expressID);_this1914.Pnt=Pnt;_this1914.Dir=Dir;_this1914.type=1281925730;return _this1914;}return _createClass(IfcLine);}(IfcCurve);IFC4X32.IfcLine=IfcLine;var IfcManifoldSolidBrep=/*#__PURE__*/function(_IfcSolidModel12){_inherits(IfcManifoldSolidBrep,_IfcSolidModel12);var _super1912=_createSuper(IfcManifoldSolidBrep);function IfcManifoldSolidBrep(expressID,Outer){var _this1915;_classCallCheck(this,IfcManifoldSolidBrep);_this1915=_super1912.call(this,expressID);_this1915.Outer=Outer;_this1915.type=1425443689;return _this1915;}return _createClass(IfcManifoldSolidBrep);}(IfcSolidModel);IFC4X32.IfcManifoldSolidBrep=IfcManifoldSolidBrep;var IfcObject=/*#__PURE__*/function(_IfcObjectDefinition8){_inherits(IfcObject,_IfcObjectDefinition8);var _super1913=_createSuper(IfcObject);function IfcObject(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType){var _this1916;_classCallCheck(this,IfcObject);_this1916=_super1913.call(this,expressID,GlobalId,OwnerHistory,Name,Description);_this1916.GlobalId=GlobalId;_this1916.OwnerHistory=OwnerHistory;_this1916.Name=Name;_this1916.Description=Description;_this1916.ObjectType=ObjectType;_this1916.type=3888040117;return _this1916;}return _createClass(IfcObject);}(IfcObjectDefinition);IFC4X32.IfcObject=IfcObject;var IfcOffsetCurve=/*#__PURE__*/function(_IfcCurve14){_inherits(IfcOffsetCurve,_IfcCurve14);var _super1914=_createSuper(IfcOffsetCurve);function IfcOffsetCurve(expressID,BasisCurve){var _this1917;_classCallCheck(this,IfcOffsetCurve);_this1917=_super1914.call(this,expressID);_this1917.BasisCurve=BasisCurve;_this1917.type=590820931;return _this1917;}return _createClass(IfcOffsetCurve);}(IfcCurve);IFC4X32.IfcOffsetCurve=IfcOffsetCurve;var IfcOffsetCurve2D=/*#__PURE__*/function(_IfcOffsetCurve){_inherits(IfcOffsetCurve2D,_IfcOffsetCurve);var _super1915=_createSuper(IfcOffsetCurve2D);function IfcOffsetCurve2D(expressID,BasisCurve,Distance,SelfIntersect){var _this1918;_classCallCheck(this,IfcOffsetCurve2D);_this1918=_super1915.call(this,expressID,BasisCurve);_this1918.BasisCurve=BasisCurve;_this1918.Distance=Distance;_this1918.SelfIntersect=SelfIntersect;_this1918.type=3388369263;return _this1918;}return _createClass(IfcOffsetCurve2D);}(IfcOffsetCurve);IFC4X32.IfcOffsetCurve2D=IfcOffsetCurve2D;var IfcOffsetCurve3D=/*#__PURE__*/function(_IfcOffsetCurve2){_inherits(IfcOffsetCurve3D,_IfcOffsetCurve2);var _super1916=_createSuper(IfcOffsetCurve3D);function IfcOffsetCurve3D(expressID,BasisCurve,Distance,SelfIntersect,RefDirection){var _this1919;_classCallCheck(this,IfcOffsetCurve3D);_this1919=_super1916.call(this,expressID,BasisCurve);_this1919.BasisCurve=BasisCurve;_this1919.Distance=Distance;_this1919.SelfIntersect=SelfIntersect;_this1919.RefDirection=RefDirection;_this1919.type=3505215534;return _this1919;}return _createClass(IfcOffsetCurve3D);}(IfcOffsetCurve);IFC4X32.IfcOffsetCurve3D=IfcOffsetCurve3D;var IfcOffsetCurveByDistances=/*#__PURE__*/function(_IfcOffsetCurve3){_inherits(IfcOffsetCurveByDistances,_IfcOffsetCurve3);var _super1917=_createSuper(IfcOffsetCurveByDistances);function IfcOffsetCurveByDistances(expressID,BasisCurve,OffsetValues,Tag){var _this1920;_classCallCheck(this,IfcOffsetCurveByDistances);_this1920=_super1917.call(this,expressID,BasisCurve);_this1920.BasisCurve=BasisCurve;_this1920.OffsetValues=OffsetValues;_this1920.Tag=Tag;_this1920.type=2485787929;return _this1920;}return _createClass(IfcOffsetCurveByDistances);}(IfcOffsetCurve);IFC4X32.IfcOffsetCurveByDistances=IfcOffsetCurveByDistances;var IfcPcurve=/*#__PURE__*/function(_IfcCurve15){_inherits(IfcPcurve,_IfcCurve15);var _super1918=_createSuper(IfcPcurve);function IfcPcurve(expressID,BasisSurface,ReferenceCurve){var _this1921;_classCallCheck(this,IfcPcurve);_this1921=_super1918.call(this,expressID);_this1921.BasisSurface=BasisSurface;_this1921.ReferenceCurve=ReferenceCurve;_this1921.type=1682466193;return _this1921;}return _createClass(IfcPcurve);}(IfcCurve);IFC4X32.IfcPcurve=IfcPcurve;var IfcPlanarBox=/*#__PURE__*/function(_IfcPlanarExtent3){_inherits(IfcPlanarBox,_IfcPlanarExtent3);var _super1919=_createSuper(IfcPlanarBox);function IfcPlanarBox(expressID,SizeInX,SizeInY,Placement){var _this1922;_classCallCheck(this,IfcPlanarBox);_this1922=_super1919.call(this,expressID,SizeInX,SizeInY);_this1922.SizeInX=SizeInX;_this1922.SizeInY=SizeInY;_this1922.Placement=Placement;_this1922.type=603570806;return _this1922;}return _createClass(IfcPlanarBox);}(IfcPlanarExtent);IFC4X32.IfcPlanarBox=IfcPlanarBox;var IfcPlane=/*#__PURE__*/function(_IfcElementarySurface6){_inherits(IfcPlane,_IfcElementarySurface6);var _super1920=_createSuper(IfcPlane);function IfcPlane(expressID,Position){var _this1923;_classCallCheck(this,IfcPlane);_this1923=_super1920.call(this,expressID,Position);_this1923.Position=Position;_this1923.type=220341763;return _this1923;}return _createClass(IfcPlane);}(IfcElementarySurface);IFC4X32.IfcPlane=IfcPlane;var IfcPolynomialCurve=/*#__PURE__*/function(_IfcCurve16){_inherits(IfcPolynomialCurve,_IfcCurve16);var _super1921=_createSuper(IfcPolynomialCurve);function IfcPolynomialCurve(expressID,Position,CoefficientsX,CoefficientsY,CoefficientsZ){var _this1924;_classCallCheck(this,IfcPolynomialCurve);_this1924=_super1921.call(this,expressID);_this1924.Position=Position;_this1924.CoefficientsX=CoefficientsX;_this1924.CoefficientsY=CoefficientsY;_this1924.CoefficientsZ=CoefficientsZ;_this1924.type=3381221214;return _this1924;}return _createClass(IfcPolynomialCurve);}(IfcCurve);IFC4X32.IfcPolynomialCurve=IfcPolynomialCurve;var IfcPreDefinedColour=/*#__PURE__*/function(_IfcPreDefinedItem9){_inherits(IfcPreDefinedColour,_IfcPreDefinedItem9);var _super1922=_createSuper(IfcPreDefinedColour);function IfcPreDefinedColour(expressID,Name){var _this1925;_classCallCheck(this,IfcPreDefinedColour);_this1925=_super1922.call(this,expressID,Name);_this1925.Name=Name;_this1925.type=759155922;return _this1925;}return _createClass(IfcPreDefinedColour);}(IfcPreDefinedItem);IFC4X32.IfcPreDefinedColour=IfcPreDefinedColour;var IfcPreDefinedCurveFont=/*#__PURE__*/function(_IfcPreDefinedItem10){_inherits(IfcPreDefinedCurveFont,_IfcPreDefinedItem10);var _super1923=_createSuper(IfcPreDefinedCurveFont);function IfcPreDefinedCurveFont(expressID,Name){var _this1926;_classCallCheck(this,IfcPreDefinedCurveFont);_this1926=_super1923.call(this,expressID,Name);_this1926.Name=Name;_this1926.type=2559016684;return _this1926;}return _createClass(IfcPreDefinedCurveFont);}(IfcPreDefinedItem);IFC4X32.IfcPreDefinedCurveFont=IfcPreDefinedCurveFont;var IfcPreDefinedPropertySet=/*#__PURE__*/function(_IfcPropertySetDefini19){_inherits(IfcPreDefinedPropertySet,_IfcPropertySetDefini19);var _super1924=_createSuper(IfcPreDefinedPropertySet);function IfcPreDefinedPropertySet(expressID,GlobalId,OwnerHistory,Name,Description){var _this1927;_classCallCheck(this,IfcPreDefinedPropertySet);_this1927=_super1924.call(this,expressID,GlobalId,OwnerHistory,Name,Description);_this1927.GlobalId=GlobalId;_this1927.OwnerHistory=OwnerHistory;_this1927.Name=Name;_this1927.Description=Description;_this1927.type=3967405729;return _this1927;}return _createClass(IfcPreDefinedPropertySet);}(IfcPropertySetDefinition);IFC4X32.IfcPreDefinedPropertySet=IfcPreDefinedPropertySet;var IfcProcedureType=/*#__PURE__*/function(_IfcTypeProcess5){_inherits(IfcProcedureType,_IfcTypeProcess5);var _super1925=_createSuper(IfcProcedureType);function IfcProcedureType(expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,Identification,LongDescription,ProcessType,PredefinedType){var _this1928;_classCallCheck(this,IfcProcedureType);_this1928=_super1925.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,Identification,LongDescription,ProcessType);_this1928.GlobalId=GlobalId;_this1928.OwnerHistory=OwnerHistory;_this1928.Name=Name;_this1928.Description=Description;_this1928.ApplicableOccurrence=ApplicableOccurrence;_this1928.HasPropertySets=HasPropertySets;_this1928.Identification=Identification;_this1928.LongDescription=LongDescription;_this1928.ProcessType=ProcessType;_this1928.PredefinedType=PredefinedType;_this1928.type=569719735;return _this1928;}return _createClass(IfcProcedureType);}(IfcTypeProcess);IFC4X32.IfcProcedureType=IfcProcedureType;var IfcProcess=/*#__PURE__*/function(_IfcObject14){_inherits(IfcProcess,_IfcObject14);var _super1926=_createSuper(IfcProcess);function IfcProcess(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,Identification,LongDescription){var _this1929;_classCallCheck(this,IfcProcess);_this1929=_super1926.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType);_this1929.GlobalId=GlobalId;_this1929.OwnerHistory=OwnerHistory;_this1929.Name=Name;_this1929.Description=Description;_this1929.ObjectType=ObjectType;_this1929.Identification=Identification;_this1929.LongDescription=LongDescription;_this1929.type=2945172077;return _this1929;}return _createClass(IfcProcess);}(IfcObject);IFC4X32.IfcProcess=IfcProcess;var IfcProduct=/*#__PURE__*/function(_IfcObject15){_inherits(IfcProduct,_IfcObject15);var _super1927=_createSuper(IfcProduct);function IfcProduct(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation){var _this1930;_classCallCheck(this,IfcProduct);_this1930=_super1927.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType);_this1930.GlobalId=GlobalId;_this1930.OwnerHistory=OwnerHistory;_this1930.Name=Name;_this1930.Description=Description;_this1930.ObjectType=ObjectType;_this1930.ObjectPlacement=ObjectPlacement;_this1930.Representation=Representation;_this1930.type=4208778838;return _this1930;}return _createClass(IfcProduct);}(IfcObject);IFC4X32.IfcProduct=IfcProduct;var IfcProject=/*#__PURE__*/function(_IfcContext3){_inherits(IfcProject,_IfcContext3);var _super1928=_createSuper(IfcProject);function IfcProject(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,LongName,Phase,RepresentationContexts,UnitsInContext){var _this1931;_classCallCheck(this,IfcProject);_this1931=_super1928.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,LongName,Phase,RepresentationContexts,UnitsInContext);_this1931.GlobalId=GlobalId;_this1931.OwnerHistory=OwnerHistory;_this1931.Name=Name;_this1931.Description=Description;_this1931.ObjectType=ObjectType;_this1931.LongName=LongName;_this1931.Phase=Phase;_this1931.RepresentationContexts=RepresentationContexts;_this1931.UnitsInContext=UnitsInContext;_this1931.type=103090709;return _this1931;}return _createClass(IfcProject);}(IfcContext);IFC4X32.IfcProject=IfcProject;var IfcProjectLibrary=/*#__PURE__*/function(_IfcContext4){_inherits(IfcProjectLibrary,_IfcContext4);var _super1929=_createSuper(IfcProjectLibrary);function IfcProjectLibrary(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,LongName,Phase,RepresentationContexts,UnitsInContext){var _this1932;_classCallCheck(this,IfcProjectLibrary);_this1932=_super1929.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,LongName,Phase,RepresentationContexts,UnitsInContext);_this1932.GlobalId=GlobalId;_this1932.OwnerHistory=OwnerHistory;_this1932.Name=Name;_this1932.Description=Description;_this1932.ObjectType=ObjectType;_this1932.LongName=LongName;_this1932.Phase=Phase;_this1932.RepresentationContexts=RepresentationContexts;_this1932.UnitsInContext=UnitsInContext;_this1932.type=653396225;return _this1932;}return _createClass(IfcProjectLibrary);}(IfcContext);IFC4X32.IfcProjectLibrary=IfcProjectLibrary;var IfcPropertyBoundedValue=/*#__PURE__*/function(_IfcSimpleProperty13){_inherits(IfcPropertyBoundedValue,_IfcSimpleProperty13);var _super1930=_createSuper(IfcPropertyBoundedValue);function IfcPropertyBoundedValue(expressID,Name,Specification,UpperBoundValue,LowerBoundValue,Unit,SetPointValue){var _this1933;_classCallCheck(this,IfcPropertyBoundedValue);_this1933=_super1930.call(this,expressID,Name,Specification);_this1933.Name=Name;_this1933.Specification=Specification;_this1933.UpperBoundValue=UpperBoundValue;_this1933.LowerBoundValue=LowerBoundValue;_this1933.Unit=Unit;_this1933.SetPointValue=SetPointValue;_this1933.type=871118103;return _this1933;}return _createClass(IfcPropertyBoundedValue);}(IfcSimpleProperty);IFC4X32.IfcPropertyBoundedValue=IfcPropertyBoundedValue;var IfcPropertyEnumeratedValue=/*#__PURE__*/function(_IfcSimpleProperty14){_inherits(IfcPropertyEnumeratedValue,_IfcSimpleProperty14);var _super1931=_createSuper(IfcPropertyEnumeratedValue);function IfcPropertyEnumeratedValue(expressID,Name,Specification,EnumerationValues,EnumerationReference){var _this1934;_classCallCheck(this,IfcPropertyEnumeratedValue);_this1934=_super1931.call(this,expressID,Name,Specification);_this1934.Name=Name;_this1934.Specification=Specification;_this1934.EnumerationValues=EnumerationValues;_this1934.EnumerationReference=EnumerationReference;_this1934.type=4166981789;return _this1934;}return _createClass(IfcPropertyEnumeratedValue);}(IfcSimpleProperty);IFC4X32.IfcPropertyEnumeratedValue=IfcPropertyEnumeratedValue;var IfcPropertyListValue=/*#__PURE__*/function(_IfcSimpleProperty15){_inherits(IfcPropertyListValue,_IfcSimpleProperty15);var _super1932=_createSuper(IfcPropertyListValue);function IfcPropertyListValue(expressID,Name,Specification,ListValues,Unit){var _this1935;_classCallCheck(this,IfcPropertyListValue);_this1935=_super1932.call(this,expressID,Name,Specification);_this1935.Name=Name;_this1935.Specification=Specification;_this1935.ListValues=ListValues;_this1935.Unit=Unit;_this1935.type=2752243245;return _this1935;}return _createClass(IfcPropertyListValue);}(IfcSimpleProperty);IFC4X32.IfcPropertyListValue=IfcPropertyListValue;var IfcPropertyReferenceValue=/*#__PURE__*/function(_IfcSimpleProperty16){_inherits(IfcPropertyReferenceValue,_IfcSimpleProperty16);var _super1933=_createSuper(IfcPropertyReferenceValue);function IfcPropertyReferenceValue(expressID,Name,Specification,UsageName,PropertyReference){var _this1936;_classCallCheck(this,IfcPropertyReferenceValue);_this1936=_super1933.call(this,expressID,Name,Specification);_this1936.Name=Name;_this1936.Specification=Specification;_this1936.UsageName=UsageName;_this1936.PropertyReference=PropertyReference;_this1936.type=941946838;return _this1936;}return _createClass(IfcPropertyReferenceValue);}(IfcSimpleProperty);IFC4X32.IfcPropertyReferenceValue=IfcPropertyReferenceValue;var IfcPropertySet=/*#__PURE__*/function(_IfcPropertySetDefini20){_inherits(IfcPropertySet,_IfcPropertySetDefini20);var _super1934=_createSuper(IfcPropertySet);function IfcPropertySet(expressID,GlobalId,OwnerHistory,Name,Description,HasProperties){var _this1937;_classCallCheck(this,IfcPropertySet);_this1937=_super1934.call(this,expressID,GlobalId,OwnerHistory,Name,Description);_this1937.GlobalId=GlobalId;_this1937.OwnerHistory=OwnerHistory;_this1937.Name=Name;_this1937.Description=Description;_this1937.HasProperties=HasProperties;_this1937.type=1451395588;return _this1937;}return _createClass(IfcPropertySet);}(IfcPropertySetDefinition);IFC4X32.IfcPropertySet=IfcPropertySet;var IfcPropertySetTemplate=/*#__PURE__*/function(_IfcPropertyTemplateD3){_inherits(IfcPropertySetTemplate,_IfcPropertyTemplateD3);var _super1935=_createSuper(IfcPropertySetTemplate);function IfcPropertySetTemplate(expressID,GlobalId,OwnerHistory,Name,Description,TemplateType,ApplicableEntity,HasPropertyTemplates){var _this1938;_classCallCheck(this,IfcPropertySetTemplate);_this1938=_super1935.call(this,expressID,GlobalId,OwnerHistory,Name,Description);_this1938.GlobalId=GlobalId;_this1938.OwnerHistory=OwnerHistory;_this1938.Name=Name;_this1938.Description=Description;_this1938.TemplateType=TemplateType;_this1938.ApplicableEntity=ApplicableEntity;_this1938.HasPropertyTemplates=HasPropertyTemplates;_this1938.type=492091185;return _this1938;}return _createClass(IfcPropertySetTemplate);}(IfcPropertyTemplateDefinition);IFC4X32.IfcPropertySetTemplate=IfcPropertySetTemplate;var IfcPropertySingleValue=/*#__PURE__*/function(_IfcSimpleProperty17){_inherits(IfcPropertySingleValue,_IfcSimpleProperty17);var _super1936=_createSuper(IfcPropertySingleValue);function IfcPropertySingleValue(expressID,Name,Specification,NominalValue,Unit){var _this1939;_classCallCheck(this,IfcPropertySingleValue);_this1939=_super1936.call(this,expressID,Name,Specification);_this1939.Name=Name;_this1939.Specification=Specification;_this1939.NominalValue=NominalValue;_this1939.Unit=Unit;_this1939.type=3650150729;return _this1939;}return _createClass(IfcPropertySingleValue);}(IfcSimpleProperty);IFC4X32.IfcPropertySingleValue=IfcPropertySingleValue;var IfcPropertyTableValue=/*#__PURE__*/function(_IfcSimpleProperty18){_inherits(IfcPropertyTableValue,_IfcSimpleProperty18);var _super1937=_createSuper(IfcPropertyTableValue);function IfcPropertyTableValue(expressID,Name,Specification,DefiningValues,DefinedValues,Expression,DefiningUnit,DefinedUnit,CurveInterpolation){var _this1940;_classCallCheck(this,IfcPropertyTableValue);_this1940=_super1937.call(this,expressID,Name,Specification);_this1940.Name=Name;_this1940.Specification=Specification;_this1940.DefiningValues=DefiningValues;_this1940.DefinedValues=DefinedValues;_this1940.Expression=Expression;_this1940.DefiningUnit=DefiningUnit;_this1940.DefinedUnit=DefinedUnit;_this1940.CurveInterpolation=CurveInterpolation;_this1940.type=110355661;return _this1940;}return _createClass(IfcPropertyTableValue);}(IfcSimpleProperty);IFC4X32.IfcPropertyTableValue=IfcPropertyTableValue;var IfcPropertyTemplate=/*#__PURE__*/function(_IfcPropertyTemplateD4){_inherits(IfcPropertyTemplate,_IfcPropertyTemplateD4);var _super1938=_createSuper(IfcPropertyTemplate);function IfcPropertyTemplate(expressID,GlobalId,OwnerHistory,Name,Description){var _this1941;_classCallCheck(this,IfcPropertyTemplate);_this1941=_super1938.call(this,expressID,GlobalId,OwnerHistory,Name,Description);_this1941.GlobalId=GlobalId;_this1941.OwnerHistory=OwnerHistory;_this1941.Name=Name;_this1941.Description=Description;_this1941.type=3521284610;return _this1941;}return _createClass(IfcPropertyTemplate);}(IfcPropertyTemplateDefinition);IFC4X32.IfcPropertyTemplate=IfcPropertyTemplate;var IfcRectangleHollowProfileDef=/*#__PURE__*/function(_IfcRectangleProfileD6){_inherits(IfcRectangleHollowProfileDef,_IfcRectangleProfileD6);var _super1939=_createSuper(IfcRectangleHollowProfileDef);function IfcRectangleHollowProfileDef(expressID,ProfileType,ProfileName,Position,XDim,YDim,WallThickness,InnerFilletRadius,OuterFilletRadius){var _this1942;_classCallCheck(this,IfcRectangleHollowProfileDef);_this1942=_super1939.call(this,expressID,ProfileType,ProfileName,Position,XDim,YDim);_this1942.ProfileType=ProfileType;_this1942.ProfileName=ProfileName;_this1942.Position=Position;_this1942.XDim=XDim;_this1942.YDim=YDim;_this1942.WallThickness=WallThickness;_this1942.InnerFilletRadius=InnerFilletRadius;_this1942.OuterFilletRadius=OuterFilletRadius;_this1942.type=2770003689;return _this1942;}return _createClass(IfcRectangleHollowProfileDef);}(IfcRectangleProfileDef);IFC4X32.IfcRectangleHollowProfileDef=IfcRectangleHollowProfileDef;var IfcRectangularPyramid=/*#__PURE__*/function(_IfcCsgPrimitive3D11){_inherits(IfcRectangularPyramid,_IfcCsgPrimitive3D11);var _super1940=_createSuper(IfcRectangularPyramid);function IfcRectangularPyramid(expressID,Position,XLength,YLength,Height){var _this1943;_classCallCheck(this,IfcRectangularPyramid);_this1943=_super1940.call(this,expressID,Position);_this1943.Position=Position;_this1943.XLength=XLength;_this1943.YLength=YLength;_this1943.Height=Height;_this1943.type=2798486643;return _this1943;}return _createClass(IfcRectangularPyramid);}(IfcCsgPrimitive3D);IFC4X32.IfcRectangularPyramid=IfcRectangularPyramid;var IfcRectangularTrimmedSurface=/*#__PURE__*/function(_IfcBoundedSurface9){_inherits(IfcRectangularTrimmedSurface,_IfcBoundedSurface9);var _super1941=_createSuper(IfcRectangularTrimmedSurface);function IfcRectangularTrimmedSurface(expressID,BasisSurface,U1,V1,U2,V2,Usense,Vsense){var _this1944;_classCallCheck(this,IfcRectangularTrimmedSurface);_this1944=_super1941.call(this,expressID);_this1944.BasisSurface=BasisSurface;_this1944.U1=U1;_this1944.V1=V1;_this1944.U2=U2;_this1944.V2=V2;_this1944.Usense=Usense;_this1944.Vsense=Vsense;_this1944.type=3454111270;return _this1944;}return _createClass(IfcRectangularTrimmedSurface);}(IfcBoundedSurface);IFC4X32.IfcRectangularTrimmedSurface=IfcRectangularTrimmedSurface;var IfcReinforcementDefinitionProperties=/*#__PURE__*/function(_IfcPreDefinedPropert13){_inherits(IfcReinforcementDefinitionProperties,_IfcPreDefinedPropert13);var _super1942=_createSuper(IfcReinforcementDefinitionProperties);function IfcReinforcementDefinitionProperties(expressID,GlobalId,OwnerHistory,Name,Description,DefinitionType,ReinforcementSectionDefinitions){var _this1945;_classCallCheck(this,IfcReinforcementDefinitionProperties);_this1945=_super1942.call(this,expressID,GlobalId,OwnerHistory,Name,Description);_this1945.GlobalId=GlobalId;_this1945.OwnerHistory=OwnerHistory;_this1945.Name=Name;_this1945.Description=Description;_this1945.DefinitionType=DefinitionType;_this1945.ReinforcementSectionDefinitions=ReinforcementSectionDefinitions;_this1945.type=3765753017;return _this1945;}return _createClass(IfcReinforcementDefinitionProperties);}(IfcPreDefinedPropertySet);IFC4X32.IfcReinforcementDefinitionProperties=IfcReinforcementDefinitionProperties;var IfcRelAssigns=/*#__PURE__*/function(_IfcRelationship12){_inherits(IfcRelAssigns,_IfcRelationship12);var _super1943=_createSuper(IfcRelAssigns);function IfcRelAssigns(expressID,GlobalId,OwnerHistory,Name,Description,RelatedObjects,RelatedObjectsType){var _this1946;_classCallCheck(this,IfcRelAssigns);_this1946=_super1943.call(this,expressID,GlobalId,OwnerHistory,Name,Description);_this1946.GlobalId=GlobalId;_this1946.OwnerHistory=OwnerHistory;_this1946.Name=Name;_this1946.Description=Description;_this1946.RelatedObjects=RelatedObjects;_this1946.RelatedObjectsType=RelatedObjectsType;_this1946.type=3939117080;return _this1946;}return _createClass(IfcRelAssigns);}(IfcRelationship);IFC4X32.IfcRelAssigns=IfcRelAssigns;var IfcRelAssignsToActor=/*#__PURE__*/function(_IfcRelAssigns13){_inherits(IfcRelAssignsToActor,_IfcRelAssigns13);var _super1944=_createSuper(IfcRelAssignsToActor);function IfcRelAssignsToActor(expressID,GlobalId,OwnerHistory,Name,Description,RelatedObjects,RelatedObjectsType,RelatingActor,ActingRole){var _this1947;_classCallCheck(this,IfcRelAssignsToActor);_this1947=_super1944.call(this,expressID,GlobalId,OwnerHistory,Name,Description,RelatedObjects,RelatedObjectsType);_this1947.GlobalId=GlobalId;_this1947.OwnerHistory=OwnerHistory;_this1947.Name=Name;_this1947.Description=Description;_this1947.RelatedObjects=RelatedObjects;_this1947.RelatedObjectsType=RelatedObjectsType;_this1947.RelatingActor=RelatingActor;_this1947.ActingRole=ActingRole;_this1947.type=1683148259;return _this1947;}return _createClass(IfcRelAssignsToActor);}(IfcRelAssigns);IFC4X32.IfcRelAssignsToActor=IfcRelAssignsToActor;var IfcRelAssignsToControl=/*#__PURE__*/function(_IfcRelAssigns14){_inherits(IfcRelAssignsToControl,_IfcRelAssigns14);var _super1945=_createSuper(IfcRelAssignsToControl);function IfcRelAssignsToControl(expressID,GlobalId,OwnerHistory,Name,Description,RelatedObjects,RelatedObjectsType,RelatingControl){var _this1948;_classCallCheck(this,IfcRelAssignsToControl);_this1948=_super1945.call(this,expressID,GlobalId,OwnerHistory,Name,Description,RelatedObjects,RelatedObjectsType);_this1948.GlobalId=GlobalId;_this1948.OwnerHistory=OwnerHistory;_this1948.Name=Name;_this1948.Description=Description;_this1948.RelatedObjects=RelatedObjects;_this1948.RelatedObjectsType=RelatedObjectsType;_this1948.RelatingControl=RelatingControl;_this1948.type=2495723537;return _this1948;}return _createClass(IfcRelAssignsToControl);}(IfcRelAssigns);IFC4X32.IfcRelAssignsToControl=IfcRelAssignsToControl;var IfcRelAssignsToGroup=/*#__PURE__*/function(_IfcRelAssigns15){_inherits(IfcRelAssignsToGroup,_IfcRelAssigns15);var _super1946=_createSuper(IfcRelAssignsToGroup);function IfcRelAssignsToGroup(expressID,GlobalId,OwnerHistory,Name,Description,RelatedObjects,RelatedObjectsType,RelatingGroup){var _this1949;_classCallCheck(this,IfcRelAssignsToGroup);_this1949=_super1946.call(this,expressID,GlobalId,OwnerHistory,Name,Description,RelatedObjects,RelatedObjectsType);_this1949.GlobalId=GlobalId;_this1949.OwnerHistory=OwnerHistory;_this1949.Name=Name;_this1949.Description=Description;_this1949.RelatedObjects=RelatedObjects;_this1949.RelatedObjectsType=RelatedObjectsType;_this1949.RelatingGroup=RelatingGroup;_this1949.type=1307041759;return _this1949;}return _createClass(IfcRelAssignsToGroup);}(IfcRelAssigns);IFC4X32.IfcRelAssignsToGroup=IfcRelAssignsToGroup;var IfcRelAssignsToGroupByFactor=/*#__PURE__*/function(_IfcRelAssignsToGroup2){_inherits(IfcRelAssignsToGroupByFactor,_IfcRelAssignsToGroup2);var _super1947=_createSuper(IfcRelAssignsToGroupByFactor);function IfcRelAssignsToGroupByFactor(expressID,GlobalId,OwnerHistory,Name,Description,RelatedObjects,RelatedObjectsType,RelatingGroup,Factor){var _this1950;_classCallCheck(this,IfcRelAssignsToGroupByFactor);_this1950=_super1947.call(this,expressID,GlobalId,OwnerHistory,Name,Description,RelatedObjects,RelatedObjectsType,RelatingGroup);_this1950.GlobalId=GlobalId;_this1950.OwnerHistory=OwnerHistory;_this1950.Name=Name;_this1950.Description=Description;_this1950.RelatedObjects=RelatedObjects;_this1950.RelatedObjectsType=RelatedObjectsType;_this1950.RelatingGroup=RelatingGroup;_this1950.Factor=Factor;_this1950.type=1027710054;return _this1950;}return _createClass(IfcRelAssignsToGroupByFactor);}(IfcRelAssignsToGroup);IFC4X32.IfcRelAssignsToGroupByFactor=IfcRelAssignsToGroupByFactor;var IfcRelAssignsToProcess=/*#__PURE__*/function(_IfcRelAssigns16){_inherits(IfcRelAssignsToProcess,_IfcRelAssigns16);var _super1948=_createSuper(IfcRelAssignsToProcess);function IfcRelAssignsToProcess(expressID,GlobalId,OwnerHistory,Name,Description,RelatedObjects,RelatedObjectsType,RelatingProcess,QuantityInProcess){var _this1951;_classCallCheck(this,IfcRelAssignsToProcess);_this1951=_super1948.call(this,expressID,GlobalId,OwnerHistory,Name,Description,RelatedObjects,RelatedObjectsType);_this1951.GlobalId=GlobalId;_this1951.OwnerHistory=OwnerHistory;_this1951.Name=Name;_this1951.Description=Description;_this1951.RelatedObjects=RelatedObjects;_this1951.RelatedObjectsType=RelatedObjectsType;_this1951.RelatingProcess=RelatingProcess;_this1951.QuantityInProcess=QuantityInProcess;_this1951.type=4278684876;return _this1951;}return _createClass(IfcRelAssignsToProcess);}(IfcRelAssigns);IFC4X32.IfcRelAssignsToProcess=IfcRelAssignsToProcess;var IfcRelAssignsToProduct=/*#__PURE__*/function(_IfcRelAssigns17){_inherits(IfcRelAssignsToProduct,_IfcRelAssigns17);var _super1949=_createSuper(IfcRelAssignsToProduct);function IfcRelAssignsToProduct(expressID,GlobalId,OwnerHistory,Name,Description,RelatedObjects,RelatedObjectsType,RelatingProduct){var _this1952;_classCallCheck(this,IfcRelAssignsToProduct);_this1952=_super1949.call(this,expressID,GlobalId,OwnerHistory,Name,Description,RelatedObjects,RelatedObjectsType);_this1952.GlobalId=GlobalId;_this1952.OwnerHistory=OwnerHistory;_this1952.Name=Name;_this1952.Description=Description;_this1952.RelatedObjects=RelatedObjects;_this1952.RelatedObjectsType=RelatedObjectsType;_this1952.RelatingProduct=RelatingProduct;_this1952.type=2857406711;return _this1952;}return _createClass(IfcRelAssignsToProduct);}(IfcRelAssigns);IFC4X32.IfcRelAssignsToProduct=IfcRelAssignsToProduct;var IfcRelAssignsToResource=/*#__PURE__*/function(_IfcRelAssigns18){_inherits(IfcRelAssignsToResource,_IfcRelAssigns18);var _super1950=_createSuper(IfcRelAssignsToResource);function IfcRelAssignsToResource(expressID,GlobalId,OwnerHistory,Name,Description,RelatedObjects,RelatedObjectsType,RelatingResource){var _this1953;_classCallCheck(this,IfcRelAssignsToResource);_this1953=_super1950.call(this,expressID,GlobalId,OwnerHistory,Name,Description,RelatedObjects,RelatedObjectsType);_this1953.GlobalId=GlobalId;_this1953.OwnerHistory=OwnerHistory;_this1953.Name=Name;_this1953.Description=Description;_this1953.RelatedObjects=RelatedObjects;_this1953.RelatedObjectsType=RelatedObjectsType;_this1953.RelatingResource=RelatingResource;_this1953.type=205026976;return _this1953;}return _createClass(IfcRelAssignsToResource);}(IfcRelAssigns);IFC4X32.IfcRelAssignsToResource=IfcRelAssignsToResource;var IfcRelAssociates=/*#__PURE__*/function(_IfcRelationship13){_inherits(IfcRelAssociates,_IfcRelationship13);var _super1951=_createSuper(IfcRelAssociates);function IfcRelAssociates(expressID,GlobalId,OwnerHistory,Name,Description,RelatedObjects){var _this1954;_classCallCheck(this,IfcRelAssociates);_this1954=_super1951.call(this,expressID,GlobalId,OwnerHistory,Name,Description);_this1954.GlobalId=GlobalId;_this1954.OwnerHistory=OwnerHistory;_this1954.Name=Name;_this1954.Description=Description;_this1954.RelatedObjects=RelatedObjects;_this1954.type=1865459582;return _this1954;}return _createClass(IfcRelAssociates);}(IfcRelationship);IFC4X32.IfcRelAssociates=IfcRelAssociates;var IfcRelAssociatesApproval=/*#__PURE__*/function(_IfcRelAssociates15){_inherits(IfcRelAssociatesApproval,_IfcRelAssociates15);var _super1952=_createSuper(IfcRelAssociatesApproval);function IfcRelAssociatesApproval(expressID,GlobalId,OwnerHistory,Name,Description,RelatedObjects,RelatingApproval){var _this1955;_classCallCheck(this,IfcRelAssociatesApproval);_this1955=_super1952.call(this,expressID,GlobalId,OwnerHistory,Name,Description,RelatedObjects);_this1955.GlobalId=GlobalId;_this1955.OwnerHistory=OwnerHistory;_this1955.Name=Name;_this1955.Description=Description;_this1955.RelatedObjects=RelatedObjects;_this1955.RelatingApproval=RelatingApproval;_this1955.type=4095574036;return _this1955;}return _createClass(IfcRelAssociatesApproval);}(IfcRelAssociates);IFC4X32.IfcRelAssociatesApproval=IfcRelAssociatesApproval;var IfcRelAssociatesClassification=/*#__PURE__*/function(_IfcRelAssociates16){_inherits(IfcRelAssociatesClassification,_IfcRelAssociates16);var _super1953=_createSuper(IfcRelAssociatesClassification);function IfcRelAssociatesClassification(expressID,GlobalId,OwnerHistory,Name,Description,RelatedObjects,RelatingClassification){var _this1956;_classCallCheck(this,IfcRelAssociatesClassification);_this1956=_super1953.call(this,expressID,GlobalId,OwnerHistory,Name,Description,RelatedObjects);_this1956.GlobalId=GlobalId;_this1956.OwnerHistory=OwnerHistory;_this1956.Name=Name;_this1956.Description=Description;_this1956.RelatedObjects=RelatedObjects;_this1956.RelatingClassification=RelatingClassification;_this1956.type=919958153;return _this1956;}return _createClass(IfcRelAssociatesClassification);}(IfcRelAssociates);IFC4X32.IfcRelAssociatesClassification=IfcRelAssociatesClassification;var IfcRelAssociatesConstraint=/*#__PURE__*/function(_IfcRelAssociates17){_inherits(IfcRelAssociatesConstraint,_IfcRelAssociates17);var _super1954=_createSuper(IfcRelAssociatesConstraint);function IfcRelAssociatesConstraint(expressID,GlobalId,OwnerHistory,Name,Description,RelatedObjects,Intent,RelatingConstraint){var _this1957;_classCallCheck(this,IfcRelAssociatesConstraint);_this1957=_super1954.call(this,expressID,GlobalId,OwnerHistory,Name,Description,RelatedObjects);_this1957.GlobalId=GlobalId;_this1957.OwnerHistory=OwnerHistory;_this1957.Name=Name;_this1957.Description=Description;_this1957.RelatedObjects=RelatedObjects;_this1957.Intent=Intent;_this1957.RelatingConstraint=RelatingConstraint;_this1957.type=2728634034;return _this1957;}return _createClass(IfcRelAssociatesConstraint);}(IfcRelAssociates);IFC4X32.IfcRelAssociatesConstraint=IfcRelAssociatesConstraint;var IfcRelAssociatesDocument=/*#__PURE__*/function(_IfcRelAssociates18){_inherits(IfcRelAssociatesDocument,_IfcRelAssociates18);var _super1955=_createSuper(IfcRelAssociatesDocument);function IfcRelAssociatesDocument(expressID,GlobalId,OwnerHistory,Name,Description,RelatedObjects,RelatingDocument){var _this1958;_classCallCheck(this,IfcRelAssociatesDocument);_this1958=_super1955.call(this,expressID,GlobalId,OwnerHistory,Name,Description,RelatedObjects);_this1958.GlobalId=GlobalId;_this1958.OwnerHistory=OwnerHistory;_this1958.Name=Name;_this1958.Description=Description;_this1958.RelatedObjects=RelatedObjects;_this1958.RelatingDocument=RelatingDocument;_this1958.type=982818633;return _this1958;}return _createClass(IfcRelAssociatesDocument);}(IfcRelAssociates);IFC4X32.IfcRelAssociatesDocument=IfcRelAssociatesDocument;var IfcRelAssociatesLibrary=/*#__PURE__*/function(_IfcRelAssociates19){_inherits(IfcRelAssociatesLibrary,_IfcRelAssociates19);var _super1956=_createSuper(IfcRelAssociatesLibrary);function IfcRelAssociatesLibrary(expressID,GlobalId,OwnerHistory,Name,Description,RelatedObjects,RelatingLibrary){var _this1959;_classCallCheck(this,IfcRelAssociatesLibrary);_this1959=_super1956.call(this,expressID,GlobalId,OwnerHistory,Name,Description,RelatedObjects);_this1959.GlobalId=GlobalId;_this1959.OwnerHistory=OwnerHistory;_this1959.Name=Name;_this1959.Description=Description;_this1959.RelatedObjects=RelatedObjects;_this1959.RelatingLibrary=RelatingLibrary;_this1959.type=3840914261;return _this1959;}return _createClass(IfcRelAssociatesLibrary);}(IfcRelAssociates);IFC4X32.IfcRelAssociatesLibrary=IfcRelAssociatesLibrary;var IfcRelAssociatesMaterial=/*#__PURE__*/function(_IfcRelAssociates20){_inherits(IfcRelAssociatesMaterial,_IfcRelAssociates20);var _super1957=_createSuper(IfcRelAssociatesMaterial);function IfcRelAssociatesMaterial(expressID,GlobalId,OwnerHistory,Name,Description,RelatedObjects,RelatingMaterial){var _this1960;_classCallCheck(this,IfcRelAssociatesMaterial);_this1960=_super1957.call(this,expressID,GlobalId,OwnerHistory,Name,Description,RelatedObjects);_this1960.GlobalId=GlobalId;_this1960.OwnerHistory=OwnerHistory;_this1960.Name=Name;_this1960.Description=Description;_this1960.RelatedObjects=RelatedObjects;_this1960.RelatingMaterial=RelatingMaterial;_this1960.type=2655215786;return _this1960;}return _createClass(IfcRelAssociatesMaterial);}(IfcRelAssociates);IFC4X32.IfcRelAssociatesMaterial=IfcRelAssociatesMaterial;var IfcRelAssociatesProfileDef=/*#__PURE__*/function(_IfcRelAssociates21){_inherits(IfcRelAssociatesProfileDef,_IfcRelAssociates21);var _super1958=_createSuper(IfcRelAssociatesProfileDef);function IfcRelAssociatesProfileDef(expressID,GlobalId,OwnerHistory,Name,Description,RelatedObjects,RelatingProfileDef){var _this1961;_classCallCheck(this,IfcRelAssociatesProfileDef);_this1961=_super1958.call(this,expressID,GlobalId,OwnerHistory,Name,Description,RelatedObjects);_this1961.GlobalId=GlobalId;_this1961.OwnerHistory=OwnerHistory;_this1961.Name=Name;_this1961.Description=Description;_this1961.RelatedObjects=RelatedObjects;_this1961.RelatingProfileDef=RelatingProfileDef;_this1961.type=1033248425;return _this1961;}return _createClass(IfcRelAssociatesProfileDef);}(IfcRelAssociates);IFC4X32.IfcRelAssociatesProfileDef=IfcRelAssociatesProfileDef;var IfcRelConnects=/*#__PURE__*/function(_IfcRelationship14){_inherits(IfcRelConnects,_IfcRelationship14);var _super1959=_createSuper(IfcRelConnects);function IfcRelConnects(expressID,GlobalId,OwnerHistory,Name,Description){var _this1962;_classCallCheck(this,IfcRelConnects);_this1962=_super1959.call(this,expressID,GlobalId,OwnerHistory,Name,Description);_this1962.GlobalId=GlobalId;_this1962.OwnerHistory=OwnerHistory;_this1962.Name=Name;_this1962.Description=Description;_this1962.type=826625072;return _this1962;}return _createClass(IfcRelConnects);}(IfcRelationship);IFC4X32.IfcRelConnects=IfcRelConnects;var IfcRelConnectsElements=/*#__PURE__*/function(_IfcRelConnects34){_inherits(IfcRelConnectsElements,_IfcRelConnects34);var _super1960=_createSuper(IfcRelConnectsElements);function IfcRelConnectsElements(expressID,GlobalId,OwnerHistory,Name,Description,ConnectionGeometry,RelatingElement,RelatedElement){var _this1963;_classCallCheck(this,IfcRelConnectsElements);_this1963=_super1960.call(this,expressID,GlobalId,OwnerHistory,Name,Description);_this1963.GlobalId=GlobalId;_this1963.OwnerHistory=OwnerHistory;_this1963.Name=Name;_this1963.Description=Description;_this1963.ConnectionGeometry=ConnectionGeometry;_this1963.RelatingElement=RelatingElement;_this1963.RelatedElement=RelatedElement;_this1963.type=1204542856;return _this1963;}return _createClass(IfcRelConnectsElements);}(IfcRelConnects);IFC4X32.IfcRelConnectsElements=IfcRelConnectsElements;var IfcRelConnectsPathElements=/*#__PURE__*/function(_IfcRelConnectsElemen5){_inherits(IfcRelConnectsPathElements,_IfcRelConnectsElemen5);var _super1961=_createSuper(IfcRelConnectsPathElements);function IfcRelConnectsPathElements(expressID,GlobalId,OwnerHistory,Name,Description,ConnectionGeometry,RelatingElement,RelatedElement,RelatingPriorities,RelatedPriorities,RelatedConnectionType,RelatingConnectionType){var _this1964;_classCallCheck(this,IfcRelConnectsPathElements);_this1964=_super1961.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ConnectionGeometry,RelatingElement,RelatedElement);_this1964.GlobalId=GlobalId;_this1964.OwnerHistory=OwnerHistory;_this1964.Name=Name;_this1964.Description=Description;_this1964.ConnectionGeometry=ConnectionGeometry;_this1964.RelatingElement=RelatingElement;_this1964.RelatedElement=RelatedElement;_this1964.RelatingPriorities=RelatingPriorities;_this1964.RelatedPriorities=RelatedPriorities;_this1964.RelatedConnectionType=RelatedConnectionType;_this1964.RelatingConnectionType=RelatingConnectionType;_this1964.type=3945020480;return _this1964;}return _createClass(IfcRelConnectsPathElements);}(IfcRelConnectsElements);IFC4X32.IfcRelConnectsPathElements=IfcRelConnectsPathElements;var IfcRelConnectsPortToElement=/*#__PURE__*/function(_IfcRelConnects35){_inherits(IfcRelConnectsPortToElement,_IfcRelConnects35);var _super1962=_createSuper(IfcRelConnectsPortToElement);function IfcRelConnectsPortToElement(expressID,GlobalId,OwnerHistory,Name,Description,RelatingPort,RelatedElement){var _this1965;_classCallCheck(this,IfcRelConnectsPortToElement);_this1965=_super1962.call(this,expressID,GlobalId,OwnerHistory,Name,Description);_this1965.GlobalId=GlobalId;_this1965.OwnerHistory=OwnerHistory;_this1965.Name=Name;_this1965.Description=Description;_this1965.RelatingPort=RelatingPort;_this1965.RelatedElement=RelatedElement;_this1965.type=4201705270;return _this1965;}return _createClass(IfcRelConnectsPortToElement);}(IfcRelConnects);IFC4X32.IfcRelConnectsPortToElement=IfcRelConnectsPortToElement;var IfcRelConnectsPorts=/*#__PURE__*/function(_IfcRelConnects36){_inherits(IfcRelConnectsPorts,_IfcRelConnects36);var _super1963=_createSuper(IfcRelConnectsPorts);function IfcRelConnectsPorts(expressID,GlobalId,OwnerHistory,Name,Description,RelatingPort,RelatedPort,RealizingElement){var _this1966;_classCallCheck(this,IfcRelConnectsPorts);_this1966=_super1963.call(this,expressID,GlobalId,OwnerHistory,Name,Description);_this1966.GlobalId=GlobalId;_this1966.OwnerHistory=OwnerHistory;_this1966.Name=Name;_this1966.Description=Description;_this1966.RelatingPort=RelatingPort;_this1966.RelatedPort=RelatedPort;_this1966.RealizingElement=RealizingElement;_this1966.type=3190031847;return _this1966;}return _createClass(IfcRelConnectsPorts);}(IfcRelConnects);IFC4X32.IfcRelConnectsPorts=IfcRelConnectsPorts;var IfcRelConnectsStructuralActivity=/*#__PURE__*/function(_IfcRelConnects37){_inherits(IfcRelConnectsStructuralActivity,_IfcRelConnects37);var _super1964=_createSuper(IfcRelConnectsStructuralActivity);function IfcRelConnectsStructuralActivity(expressID,GlobalId,OwnerHistory,Name,Description,RelatingElement,RelatedStructuralActivity){var _this1967;_classCallCheck(this,IfcRelConnectsStructuralActivity);_this1967=_super1964.call(this,expressID,GlobalId,OwnerHistory,Name,Description);_this1967.GlobalId=GlobalId;_this1967.OwnerHistory=OwnerHistory;_this1967.Name=Name;_this1967.Description=Description;_this1967.RelatingElement=RelatingElement;_this1967.RelatedStructuralActivity=RelatedStructuralActivity;_this1967.type=2127690289;return _this1967;}return _createClass(IfcRelConnectsStructuralActivity);}(IfcRelConnects);IFC4X32.IfcRelConnectsStructuralActivity=IfcRelConnectsStructuralActivity;var IfcRelConnectsStructuralMember=/*#__PURE__*/function(_IfcRelConnects38){_inherits(IfcRelConnectsStructuralMember,_IfcRelConnects38);var _super1965=_createSuper(IfcRelConnectsStructuralMember);function IfcRelConnectsStructuralMember(expressID,GlobalId,OwnerHistory,Name,Description,RelatingStructuralMember,RelatedStructuralConnection,AppliedCondition,AdditionalConditions,SupportedLength,ConditionCoordinateSystem){var _this1968;_classCallCheck(this,IfcRelConnectsStructuralMember);_this1968=_super1965.call(this,expressID,GlobalId,OwnerHistory,Name,Description);_this1968.GlobalId=GlobalId;_this1968.OwnerHistory=OwnerHistory;_this1968.Name=Name;_this1968.Description=Description;_this1968.RelatingStructuralMember=RelatingStructuralMember;_this1968.RelatedStructuralConnection=RelatedStructuralConnection;_this1968.AppliedCondition=AppliedCondition;_this1968.AdditionalConditions=AdditionalConditions;_this1968.SupportedLength=SupportedLength;_this1968.ConditionCoordinateSystem=ConditionCoordinateSystem;_this1968.type=1638771189;return _this1968;}return _createClass(IfcRelConnectsStructuralMember);}(IfcRelConnects);IFC4X32.IfcRelConnectsStructuralMember=IfcRelConnectsStructuralMember;var IfcRelConnectsWithEccentricity=/*#__PURE__*/function(_IfcRelConnectsStruct3){_inherits(IfcRelConnectsWithEccentricity,_IfcRelConnectsStruct3);var _super1966=_createSuper(IfcRelConnectsWithEccentricity);function IfcRelConnectsWithEccentricity(expressID,GlobalId,OwnerHistory,Name,Description,RelatingStructuralMember,RelatedStructuralConnection,AppliedCondition,AdditionalConditions,SupportedLength,ConditionCoordinateSystem,ConnectionConstraint){var _this1969;_classCallCheck(this,IfcRelConnectsWithEccentricity);_this1969=_super1966.call(this,expressID,GlobalId,OwnerHistory,Name,Description,RelatingStructuralMember,RelatedStructuralConnection,AppliedCondition,AdditionalConditions,SupportedLength,ConditionCoordinateSystem);_this1969.GlobalId=GlobalId;_this1969.OwnerHistory=OwnerHistory;_this1969.Name=Name;_this1969.Description=Description;_this1969.RelatingStructuralMember=RelatingStructuralMember;_this1969.RelatedStructuralConnection=RelatedStructuralConnection;_this1969.AppliedCondition=AppliedCondition;_this1969.AdditionalConditions=AdditionalConditions;_this1969.SupportedLength=SupportedLength;_this1969.ConditionCoordinateSystem=ConditionCoordinateSystem;_this1969.ConnectionConstraint=ConnectionConstraint;_this1969.type=504942748;return _this1969;}return _createClass(IfcRelConnectsWithEccentricity);}(IfcRelConnectsStructuralMember);IFC4X32.IfcRelConnectsWithEccentricity=IfcRelConnectsWithEccentricity;var IfcRelConnectsWithRealizingElements=/*#__PURE__*/function(_IfcRelConnectsElemen6){_inherits(IfcRelConnectsWithRealizingElements,_IfcRelConnectsElemen6);var _super1967=_createSuper(IfcRelConnectsWithRealizingElements);function IfcRelConnectsWithRealizingElements(expressID,GlobalId,OwnerHistory,Name,Description,ConnectionGeometry,RelatingElement,RelatedElement,RealizingElements,ConnectionType){var _this1970;_classCallCheck(this,IfcRelConnectsWithRealizingElements);_this1970=_super1967.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ConnectionGeometry,RelatingElement,RelatedElement);_this1970.GlobalId=GlobalId;_this1970.OwnerHistory=OwnerHistory;_this1970.Name=Name;_this1970.Description=Description;_this1970.ConnectionGeometry=ConnectionGeometry;_this1970.RelatingElement=RelatingElement;_this1970.RelatedElement=RelatedElement;_this1970.RealizingElements=RealizingElements;_this1970.ConnectionType=ConnectionType;_this1970.type=3678494232;return _this1970;}return _createClass(IfcRelConnectsWithRealizingElements);}(IfcRelConnectsElements);IFC4X32.IfcRelConnectsWithRealizingElements=IfcRelConnectsWithRealizingElements;var IfcRelContainedInSpatialStructure=/*#__PURE__*/function(_IfcRelConnects39){_inherits(IfcRelContainedInSpatialStructure,_IfcRelConnects39);var _super1968=_createSuper(IfcRelContainedInSpatialStructure);function IfcRelContainedInSpatialStructure(expressID,GlobalId,OwnerHistory,Name,Description,RelatedElements,RelatingStructure){var _this1971;_classCallCheck(this,IfcRelContainedInSpatialStructure);_this1971=_super1968.call(this,expressID,GlobalId,OwnerHistory,Name,Description);_this1971.GlobalId=GlobalId;_this1971.OwnerHistory=OwnerHistory;_this1971.Name=Name;_this1971.Description=Description;_this1971.RelatedElements=RelatedElements;_this1971.RelatingStructure=RelatingStructure;_this1971.type=3242617779;return _this1971;}return _createClass(IfcRelContainedInSpatialStructure);}(IfcRelConnects);IFC4X32.IfcRelContainedInSpatialStructure=IfcRelContainedInSpatialStructure;var IfcRelCoversBldgElements=/*#__PURE__*/function(_IfcRelConnects40){_inherits(IfcRelCoversBldgElements,_IfcRelConnects40);var _super1969=_createSuper(IfcRelCoversBldgElements);function IfcRelCoversBldgElements(expressID,GlobalId,OwnerHistory,Name,Description,RelatingBuildingElement,RelatedCoverings){var _this1972;_classCallCheck(this,IfcRelCoversBldgElements);_this1972=_super1969.call(this,expressID,GlobalId,OwnerHistory,Name,Description);_this1972.GlobalId=GlobalId;_this1972.OwnerHistory=OwnerHistory;_this1972.Name=Name;_this1972.Description=Description;_this1972.RelatingBuildingElement=RelatingBuildingElement;_this1972.RelatedCoverings=RelatedCoverings;_this1972.type=886880790;return _this1972;}return _createClass(IfcRelCoversBldgElements);}(IfcRelConnects);IFC4X32.IfcRelCoversBldgElements=IfcRelCoversBldgElements;var IfcRelCoversSpaces=/*#__PURE__*/function(_IfcRelConnects41){_inherits(IfcRelCoversSpaces,_IfcRelConnects41);var _super1970=_createSuper(IfcRelCoversSpaces);function IfcRelCoversSpaces(expressID,GlobalId,OwnerHistory,Name,Description,RelatingSpace,RelatedCoverings){var _this1973;_classCallCheck(this,IfcRelCoversSpaces);_this1973=_super1970.call(this,expressID,GlobalId,OwnerHistory,Name,Description);_this1973.GlobalId=GlobalId;_this1973.OwnerHistory=OwnerHistory;_this1973.Name=Name;_this1973.Description=Description;_this1973.RelatingSpace=RelatingSpace;_this1973.RelatedCoverings=RelatedCoverings;_this1973.type=2802773753;return _this1973;}return _createClass(IfcRelCoversSpaces);}(IfcRelConnects);IFC4X32.IfcRelCoversSpaces=IfcRelCoversSpaces;var IfcRelDeclares=/*#__PURE__*/function(_IfcRelationship15){_inherits(IfcRelDeclares,_IfcRelationship15);var _super1971=_createSuper(IfcRelDeclares);function IfcRelDeclares(expressID,GlobalId,OwnerHistory,Name,Description,RelatingContext,RelatedDefinitions){var _this1974;_classCallCheck(this,IfcRelDeclares);_this1974=_super1971.call(this,expressID,GlobalId,OwnerHistory,Name,Description);_this1974.GlobalId=GlobalId;_this1974.OwnerHistory=OwnerHistory;_this1974.Name=Name;_this1974.Description=Description;_this1974.RelatingContext=RelatingContext;_this1974.RelatedDefinitions=RelatedDefinitions;_this1974.type=2565941209;return _this1974;}return _createClass(IfcRelDeclares);}(IfcRelationship);IFC4X32.IfcRelDeclares=IfcRelDeclares;var IfcRelDecomposes=/*#__PURE__*/function(_IfcRelationship16){_inherits(IfcRelDecomposes,_IfcRelationship16);var _super1972=_createSuper(IfcRelDecomposes);function IfcRelDecomposes(expressID,GlobalId,OwnerHistory,Name,Description){var _this1975;_classCallCheck(this,IfcRelDecomposes);_this1975=_super1972.call(this,expressID,GlobalId,OwnerHistory,Name,Description);_this1975.GlobalId=GlobalId;_this1975.OwnerHistory=OwnerHistory;_this1975.Name=Name;_this1975.Description=Description;_this1975.type=2551354335;return _this1975;}return _createClass(IfcRelDecomposes);}(IfcRelationship);IFC4X32.IfcRelDecomposes=IfcRelDecomposes;var IfcRelDefines=/*#__PURE__*/function(_IfcRelationship17){_inherits(IfcRelDefines,_IfcRelationship17);var _super1973=_createSuper(IfcRelDefines);function IfcRelDefines(expressID,GlobalId,OwnerHistory,Name,Description){var _this1976;_classCallCheck(this,IfcRelDefines);_this1976=_super1973.call(this,expressID,GlobalId,OwnerHistory,Name,Description);_this1976.GlobalId=GlobalId;_this1976.OwnerHistory=OwnerHistory;_this1976.Name=Name;_this1976.Description=Description;_this1976.type=693640335;return _this1976;}return _createClass(IfcRelDefines);}(IfcRelationship);IFC4X32.IfcRelDefines=IfcRelDefines;var IfcRelDefinesByObject=/*#__PURE__*/function(_IfcRelDefines7){_inherits(IfcRelDefinesByObject,_IfcRelDefines7);var _super1974=_createSuper(IfcRelDefinesByObject);function IfcRelDefinesByObject(expressID,GlobalId,OwnerHistory,Name,Description,RelatedObjects,RelatingObject){var _this1977;_classCallCheck(this,IfcRelDefinesByObject);_this1977=_super1974.call(this,expressID,GlobalId,OwnerHistory,Name,Description);_this1977.GlobalId=GlobalId;_this1977.OwnerHistory=OwnerHistory;_this1977.Name=Name;_this1977.Description=Description;_this1977.RelatedObjects=RelatedObjects;_this1977.RelatingObject=RelatingObject;_this1977.type=1462361463;return _this1977;}return _createClass(IfcRelDefinesByObject);}(IfcRelDefines);IFC4X32.IfcRelDefinesByObject=IfcRelDefinesByObject;var IfcRelDefinesByProperties=/*#__PURE__*/function(_IfcRelDefines8){_inherits(IfcRelDefinesByProperties,_IfcRelDefines8);var _super1975=_createSuper(IfcRelDefinesByProperties);function IfcRelDefinesByProperties(expressID,GlobalId,OwnerHistory,Name,Description,RelatedObjects,RelatingPropertyDefinition){var _this1978;_classCallCheck(this,IfcRelDefinesByProperties);_this1978=_super1975.call(this,expressID,GlobalId,OwnerHistory,Name,Description);_this1978.GlobalId=GlobalId;_this1978.OwnerHistory=OwnerHistory;_this1978.Name=Name;_this1978.Description=Description;_this1978.RelatedObjects=RelatedObjects;_this1978.RelatingPropertyDefinition=RelatingPropertyDefinition;_this1978.type=4186316022;return _this1978;}return _createClass(IfcRelDefinesByProperties);}(IfcRelDefines);IFC4X32.IfcRelDefinesByProperties=IfcRelDefinesByProperties;var IfcRelDefinesByTemplate=/*#__PURE__*/function(_IfcRelDefines9){_inherits(IfcRelDefinesByTemplate,_IfcRelDefines9);var _super1976=_createSuper(IfcRelDefinesByTemplate);function IfcRelDefinesByTemplate(expressID,GlobalId,OwnerHistory,Name,Description,RelatedPropertySets,RelatingTemplate){var _this1979;_classCallCheck(this,IfcRelDefinesByTemplate);_this1979=_super1976.call(this,expressID,GlobalId,OwnerHistory,Name,Description);_this1979.GlobalId=GlobalId;_this1979.OwnerHistory=OwnerHistory;_this1979.Name=Name;_this1979.Description=Description;_this1979.RelatedPropertySets=RelatedPropertySets;_this1979.RelatingTemplate=RelatingTemplate;_this1979.type=307848117;return _this1979;}return _createClass(IfcRelDefinesByTemplate);}(IfcRelDefines);IFC4X32.IfcRelDefinesByTemplate=IfcRelDefinesByTemplate;var IfcRelDefinesByType=/*#__PURE__*/function(_IfcRelDefines10){_inherits(IfcRelDefinesByType,_IfcRelDefines10);var _super1977=_createSuper(IfcRelDefinesByType);function IfcRelDefinesByType(expressID,GlobalId,OwnerHistory,Name,Description,RelatedObjects,RelatingType){var _this1980;_classCallCheck(this,IfcRelDefinesByType);_this1980=_super1977.call(this,expressID,GlobalId,OwnerHistory,Name,Description);_this1980.GlobalId=GlobalId;_this1980.OwnerHistory=OwnerHistory;_this1980.Name=Name;_this1980.Description=Description;_this1980.RelatedObjects=RelatedObjects;_this1980.RelatingType=RelatingType;_this1980.type=781010003;return _this1980;}return _createClass(IfcRelDefinesByType);}(IfcRelDefines);IFC4X32.IfcRelDefinesByType=IfcRelDefinesByType;var IfcRelFillsElement=/*#__PURE__*/function(_IfcRelConnects42){_inherits(IfcRelFillsElement,_IfcRelConnects42);var _super1978=_createSuper(IfcRelFillsElement);function IfcRelFillsElement(expressID,GlobalId,OwnerHistory,Name,Description,RelatingOpeningElement,RelatedBuildingElement){var _this1981;_classCallCheck(this,IfcRelFillsElement);_this1981=_super1978.call(this,expressID,GlobalId,OwnerHistory,Name,Description);_this1981.GlobalId=GlobalId;_this1981.OwnerHistory=OwnerHistory;_this1981.Name=Name;_this1981.Description=Description;_this1981.RelatingOpeningElement=RelatingOpeningElement;_this1981.RelatedBuildingElement=RelatedBuildingElement;_this1981.type=3940055652;return _this1981;}return _createClass(IfcRelFillsElement);}(IfcRelConnects);IFC4X32.IfcRelFillsElement=IfcRelFillsElement;var IfcRelFlowControlElements=/*#__PURE__*/function(_IfcRelConnects43){_inherits(IfcRelFlowControlElements,_IfcRelConnects43);var _super1979=_createSuper(IfcRelFlowControlElements);function IfcRelFlowControlElements(expressID,GlobalId,OwnerHistory,Name,Description,RelatedControlElements,RelatingFlowElement){var _this1982;_classCallCheck(this,IfcRelFlowControlElements);_this1982=_super1979.call(this,expressID,GlobalId,OwnerHistory,Name,Description);_this1982.GlobalId=GlobalId;_this1982.OwnerHistory=OwnerHistory;_this1982.Name=Name;_this1982.Description=Description;_this1982.RelatedControlElements=RelatedControlElements;_this1982.RelatingFlowElement=RelatingFlowElement;_this1982.type=279856033;return _this1982;}return _createClass(IfcRelFlowControlElements);}(IfcRelConnects);IFC4X32.IfcRelFlowControlElements=IfcRelFlowControlElements;var IfcRelInterferesElements=/*#__PURE__*/function(_IfcRelConnects44){_inherits(IfcRelInterferesElements,_IfcRelConnects44);var _super1980=_createSuper(IfcRelInterferesElements);function IfcRelInterferesElements(expressID,GlobalId,OwnerHistory,Name,Description,RelatingElement,RelatedElement,InterferenceGeometry,InterferenceSpace,InterferenceType,ImpliedOrder){var _this1983;_classCallCheck(this,IfcRelInterferesElements);_this1983=_super1980.call(this,expressID,GlobalId,OwnerHistory,Name,Description);_this1983.GlobalId=GlobalId;_this1983.OwnerHistory=OwnerHistory;_this1983.Name=Name;_this1983.Description=Description;_this1983.RelatingElement=RelatingElement;_this1983.RelatedElement=RelatedElement;_this1983.InterferenceGeometry=InterferenceGeometry;_this1983.InterferenceSpace=InterferenceSpace;_this1983.InterferenceType=InterferenceType;_this1983.ImpliedOrder=ImpliedOrder;_this1983.type=427948657;return _this1983;}return _createClass(IfcRelInterferesElements);}(IfcRelConnects);IFC4X32.IfcRelInterferesElements=IfcRelInterferesElements;var IfcRelNests=/*#__PURE__*/function(_IfcRelDecomposes7){_inherits(IfcRelNests,_IfcRelDecomposes7);var _super1981=_createSuper(IfcRelNests);function IfcRelNests(expressID,GlobalId,OwnerHistory,Name,Description,RelatingObject,RelatedObjects){var _this1984;_classCallCheck(this,IfcRelNests);_this1984=_super1981.call(this,expressID,GlobalId,OwnerHistory,Name,Description);_this1984.GlobalId=GlobalId;_this1984.OwnerHistory=OwnerHistory;_this1984.Name=Name;_this1984.Description=Description;_this1984.RelatingObject=RelatingObject;_this1984.RelatedObjects=RelatedObjects;_this1984.type=3268803585;return _this1984;}return _createClass(IfcRelNests);}(IfcRelDecomposes);IFC4X32.IfcRelNests=IfcRelNests;var IfcRelPositions=/*#__PURE__*/function(_IfcRelConnects45){_inherits(IfcRelPositions,_IfcRelConnects45);var _super1982=_createSuper(IfcRelPositions);function IfcRelPositions(expressID,GlobalId,OwnerHistory,Name,Description,RelatingPositioningElement,RelatedProducts){var _this1985;_classCallCheck(this,IfcRelPositions);_this1985=_super1982.call(this,expressID,GlobalId,OwnerHistory,Name,Description);_this1985.GlobalId=GlobalId;_this1985.OwnerHistory=OwnerHistory;_this1985.Name=Name;_this1985.Description=Description;_this1985.RelatingPositioningElement=RelatingPositioningElement;_this1985.RelatedProducts=RelatedProducts;_this1985.type=1441486842;return _this1985;}return _createClass(IfcRelPositions);}(IfcRelConnects);IFC4X32.IfcRelPositions=IfcRelPositions;var IfcRelProjectsElement=/*#__PURE__*/function(_IfcRelDecomposes8){_inherits(IfcRelProjectsElement,_IfcRelDecomposes8);var _super1983=_createSuper(IfcRelProjectsElement);function IfcRelProjectsElement(expressID,GlobalId,OwnerHistory,Name,Description,RelatingElement,RelatedFeatureElement){var _this1986;_classCallCheck(this,IfcRelProjectsElement);_this1986=_super1983.call(this,expressID,GlobalId,OwnerHistory,Name,Description);_this1986.GlobalId=GlobalId;_this1986.OwnerHistory=OwnerHistory;_this1986.Name=Name;_this1986.Description=Description;_this1986.RelatingElement=RelatingElement;_this1986.RelatedFeatureElement=RelatedFeatureElement;_this1986.type=750771296;return _this1986;}return _createClass(IfcRelProjectsElement);}(IfcRelDecomposes);IFC4X32.IfcRelProjectsElement=IfcRelProjectsElement;var IfcRelReferencedInSpatialStructure=/*#__PURE__*/function(_IfcRelConnects46){_inherits(IfcRelReferencedInSpatialStructure,_IfcRelConnects46);var _super1984=_createSuper(IfcRelReferencedInSpatialStructure);function IfcRelReferencedInSpatialStructure(expressID,GlobalId,OwnerHistory,Name,Description,RelatedElements,RelatingStructure){var _this1987;_classCallCheck(this,IfcRelReferencedInSpatialStructure);_this1987=_super1984.call(this,expressID,GlobalId,OwnerHistory,Name,Description);_this1987.GlobalId=GlobalId;_this1987.OwnerHistory=OwnerHistory;_this1987.Name=Name;_this1987.Description=Description;_this1987.RelatedElements=RelatedElements;_this1987.RelatingStructure=RelatingStructure;_this1987.type=1245217292;return _this1987;}return _createClass(IfcRelReferencedInSpatialStructure);}(IfcRelConnects);IFC4X32.IfcRelReferencedInSpatialStructure=IfcRelReferencedInSpatialStructure;var IfcRelSequence=/*#__PURE__*/function(_IfcRelConnects47){_inherits(IfcRelSequence,_IfcRelConnects47);var _super1985=_createSuper(IfcRelSequence);function IfcRelSequence(expressID,GlobalId,OwnerHistory,Name,Description,RelatingProcess,RelatedProcess,TimeLag,SequenceType,UserDefinedSequenceType){var _this1988;_classCallCheck(this,IfcRelSequence);_this1988=_super1985.call(this,expressID,GlobalId,OwnerHistory,Name,Description);_this1988.GlobalId=GlobalId;_this1988.OwnerHistory=OwnerHistory;_this1988.Name=Name;_this1988.Description=Description;_this1988.RelatingProcess=RelatingProcess;_this1988.RelatedProcess=RelatedProcess;_this1988.TimeLag=TimeLag;_this1988.SequenceType=SequenceType;_this1988.UserDefinedSequenceType=UserDefinedSequenceType;_this1988.type=4122056220;return _this1988;}return _createClass(IfcRelSequence);}(IfcRelConnects);IFC4X32.IfcRelSequence=IfcRelSequence;var IfcRelServicesBuildings=/*#__PURE__*/function(_IfcRelConnects48){_inherits(IfcRelServicesBuildings,_IfcRelConnects48);var _super1986=_createSuper(IfcRelServicesBuildings);function IfcRelServicesBuildings(expressID,GlobalId,OwnerHistory,Name,Description,RelatingSystem,RelatedBuildings){var _this1989;_classCallCheck(this,IfcRelServicesBuildings);_this1989=_super1986.call(this,expressID,GlobalId,OwnerHistory,Name,Description);_this1989.GlobalId=GlobalId;_this1989.OwnerHistory=OwnerHistory;_this1989.Name=Name;_this1989.Description=Description;_this1989.RelatingSystem=RelatingSystem;_this1989.RelatedBuildings=RelatedBuildings;_this1989.type=366585022;return _this1989;}return _createClass(IfcRelServicesBuildings);}(IfcRelConnects);IFC4X32.IfcRelServicesBuildings=IfcRelServicesBuildings;var IfcRelSpaceBoundary=/*#__PURE__*/function(_IfcRelConnects49){_inherits(IfcRelSpaceBoundary,_IfcRelConnects49);var _super1987=_createSuper(IfcRelSpaceBoundary);function IfcRelSpaceBoundary(expressID,GlobalId,OwnerHistory,Name,Description,RelatingSpace,RelatedBuildingElement,ConnectionGeometry,PhysicalOrVirtualBoundary,InternalOrExternalBoundary){var _this1990;_classCallCheck(this,IfcRelSpaceBoundary);_this1990=_super1987.call(this,expressID,GlobalId,OwnerHistory,Name,Description);_this1990.GlobalId=GlobalId;_this1990.OwnerHistory=OwnerHistory;_this1990.Name=Name;_this1990.Description=Description;_this1990.RelatingSpace=RelatingSpace;_this1990.RelatedBuildingElement=RelatedBuildingElement;_this1990.ConnectionGeometry=ConnectionGeometry;_this1990.PhysicalOrVirtualBoundary=PhysicalOrVirtualBoundary;_this1990.InternalOrExternalBoundary=InternalOrExternalBoundary;_this1990.type=3451746338;return _this1990;}return _createClass(IfcRelSpaceBoundary);}(IfcRelConnects);IFC4X32.IfcRelSpaceBoundary=IfcRelSpaceBoundary;var IfcRelSpaceBoundary1stLevel=/*#__PURE__*/function(_IfcRelSpaceBoundary3){_inherits(IfcRelSpaceBoundary1stLevel,_IfcRelSpaceBoundary3);var _super1988=_createSuper(IfcRelSpaceBoundary1stLevel);function IfcRelSpaceBoundary1stLevel(expressID,GlobalId,OwnerHistory,Name,Description,RelatingSpace,RelatedBuildingElement,ConnectionGeometry,PhysicalOrVirtualBoundary,InternalOrExternalBoundary,ParentBoundary){var _this1991;_classCallCheck(this,IfcRelSpaceBoundary1stLevel);_this1991=_super1988.call(this,expressID,GlobalId,OwnerHistory,Name,Description,RelatingSpace,RelatedBuildingElement,ConnectionGeometry,PhysicalOrVirtualBoundary,InternalOrExternalBoundary);_this1991.GlobalId=GlobalId;_this1991.OwnerHistory=OwnerHistory;_this1991.Name=Name;_this1991.Description=Description;_this1991.RelatingSpace=RelatingSpace;_this1991.RelatedBuildingElement=RelatedBuildingElement;_this1991.ConnectionGeometry=ConnectionGeometry;_this1991.PhysicalOrVirtualBoundary=PhysicalOrVirtualBoundary;_this1991.InternalOrExternalBoundary=InternalOrExternalBoundary;_this1991.ParentBoundary=ParentBoundary;_this1991.type=3523091289;return _this1991;}return _createClass(IfcRelSpaceBoundary1stLevel);}(IfcRelSpaceBoundary);IFC4X32.IfcRelSpaceBoundary1stLevel=IfcRelSpaceBoundary1stLevel;var IfcRelSpaceBoundary2ndLevel=/*#__PURE__*/function(_IfcRelSpaceBoundary4){_inherits(IfcRelSpaceBoundary2ndLevel,_IfcRelSpaceBoundary4);var _super1989=_createSuper(IfcRelSpaceBoundary2ndLevel);function IfcRelSpaceBoundary2ndLevel(expressID,GlobalId,OwnerHistory,Name,Description,RelatingSpace,RelatedBuildingElement,ConnectionGeometry,PhysicalOrVirtualBoundary,InternalOrExternalBoundary,ParentBoundary,CorrespondingBoundary){var _this1992;_classCallCheck(this,IfcRelSpaceBoundary2ndLevel);_this1992=_super1989.call(this,expressID,GlobalId,OwnerHistory,Name,Description,RelatingSpace,RelatedBuildingElement,ConnectionGeometry,PhysicalOrVirtualBoundary,InternalOrExternalBoundary,ParentBoundary);_this1992.GlobalId=GlobalId;_this1992.OwnerHistory=OwnerHistory;_this1992.Name=Name;_this1992.Description=Description;_this1992.RelatingSpace=RelatingSpace;_this1992.RelatedBuildingElement=RelatedBuildingElement;_this1992.ConnectionGeometry=ConnectionGeometry;_this1992.PhysicalOrVirtualBoundary=PhysicalOrVirtualBoundary;_this1992.InternalOrExternalBoundary=InternalOrExternalBoundary;_this1992.ParentBoundary=ParentBoundary;_this1992.CorrespondingBoundary=CorrespondingBoundary;_this1992.type=1521410863;return _this1992;}return _createClass(IfcRelSpaceBoundary2ndLevel);}(IfcRelSpaceBoundary1stLevel);IFC4X32.IfcRelSpaceBoundary2ndLevel=IfcRelSpaceBoundary2ndLevel;var IfcRelVoidsElement=/*#__PURE__*/function(_IfcRelDecomposes9){_inherits(IfcRelVoidsElement,_IfcRelDecomposes9);var _super1990=_createSuper(IfcRelVoidsElement);function IfcRelVoidsElement(expressID,GlobalId,OwnerHistory,Name,Description,RelatingBuildingElement,RelatedOpeningElement){var _this1993;_classCallCheck(this,IfcRelVoidsElement);_this1993=_super1990.call(this,expressID,GlobalId,OwnerHistory,Name,Description);_this1993.GlobalId=GlobalId;_this1993.OwnerHistory=OwnerHistory;_this1993.Name=Name;_this1993.Description=Description;_this1993.RelatingBuildingElement=RelatingBuildingElement;_this1993.RelatedOpeningElement=RelatedOpeningElement;_this1993.type=1401173127;return _this1993;}return _createClass(IfcRelVoidsElement);}(IfcRelDecomposes);IFC4X32.IfcRelVoidsElement=IfcRelVoidsElement;var IfcReparametrisedCompositeCurveSegment=/*#__PURE__*/function(_IfcCompositeCurveSeg2){_inherits(IfcReparametrisedCompositeCurveSegment,_IfcCompositeCurveSeg2);var _super1991=_createSuper(IfcReparametrisedCompositeCurveSegment);function IfcReparametrisedCompositeCurveSegment(expressID,Transition,SameSense,ParentCurve,ParamLength){var _this1994;_classCallCheck(this,IfcReparametrisedCompositeCurveSegment);_this1994=_super1991.call(this,expressID,Transition,SameSense,ParentCurve);_this1994.Transition=Transition;_this1994.SameSense=SameSense;_this1994.ParentCurve=ParentCurve;_this1994.ParamLength=ParamLength;_this1994.type=816062949;return _this1994;}return _createClass(IfcReparametrisedCompositeCurveSegment);}(IfcCompositeCurveSegment);IFC4X32.IfcReparametrisedCompositeCurveSegment=IfcReparametrisedCompositeCurveSegment;var IfcResource=/*#__PURE__*/function(_IfcObject16){_inherits(IfcResource,_IfcObject16);var _super1992=_createSuper(IfcResource);function IfcResource(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,Identification,LongDescription){var _this1995;_classCallCheck(this,IfcResource);_this1995=_super1992.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType);_this1995.GlobalId=GlobalId;_this1995.OwnerHistory=OwnerHistory;_this1995.Name=Name;_this1995.Description=Description;_this1995.ObjectType=ObjectType;_this1995.Identification=Identification;_this1995.LongDescription=LongDescription;_this1995.type=2914609552;return _this1995;}return _createClass(IfcResource);}(IfcObject);IFC4X32.IfcResource=IfcResource;var IfcRevolvedAreaSolid=/*#__PURE__*/function(_IfcSweptAreaSolid10){_inherits(IfcRevolvedAreaSolid,_IfcSweptAreaSolid10);var _super1993=_createSuper(IfcRevolvedAreaSolid);function IfcRevolvedAreaSolid(expressID,SweptArea,Position,Axis,Angle){var _this1996;_classCallCheck(this,IfcRevolvedAreaSolid);_this1996=_super1993.call(this,expressID,SweptArea,Position);_this1996.SweptArea=SweptArea;_this1996.Position=Position;_this1996.Axis=Axis;_this1996.Angle=Angle;_this1996.type=1856042241;return _this1996;}return _createClass(IfcRevolvedAreaSolid);}(IfcSweptAreaSolid);IFC4X32.IfcRevolvedAreaSolid=IfcRevolvedAreaSolid;var IfcRevolvedAreaSolidTapered=/*#__PURE__*/function(_IfcRevolvedAreaSolid2){_inherits(IfcRevolvedAreaSolidTapered,_IfcRevolvedAreaSolid2);var _super1994=_createSuper(IfcRevolvedAreaSolidTapered);function IfcRevolvedAreaSolidTapered(expressID,SweptArea,Position,Axis,Angle,EndSweptArea){var _this1997;_classCallCheck(this,IfcRevolvedAreaSolidTapered);_this1997=_super1994.call(this,expressID,SweptArea,Position,Axis,Angle);_this1997.SweptArea=SweptArea;_this1997.Position=Position;_this1997.Axis=Axis;_this1997.Angle=Angle;_this1997.EndSweptArea=EndSweptArea;_this1997.type=3243963512;return _this1997;}return _createClass(IfcRevolvedAreaSolidTapered);}(IfcRevolvedAreaSolid);IFC4X32.IfcRevolvedAreaSolidTapered=IfcRevolvedAreaSolidTapered;var IfcRightCircularCone=/*#__PURE__*/function(_IfcCsgPrimitive3D12){_inherits(IfcRightCircularCone,_IfcCsgPrimitive3D12);var _super1995=_createSuper(IfcRightCircularCone);function IfcRightCircularCone(expressID,Position,Height,BottomRadius){var _this1998;_classCallCheck(this,IfcRightCircularCone);_this1998=_super1995.call(this,expressID,Position);_this1998.Position=Position;_this1998.Height=Height;_this1998.BottomRadius=BottomRadius;_this1998.type=4158566097;return _this1998;}return _createClass(IfcRightCircularCone);}(IfcCsgPrimitive3D);IFC4X32.IfcRightCircularCone=IfcRightCircularCone;var IfcRightCircularCylinder=/*#__PURE__*/function(_IfcCsgPrimitive3D13){_inherits(IfcRightCircularCylinder,_IfcCsgPrimitive3D13);var _super1996=_createSuper(IfcRightCircularCylinder);function IfcRightCircularCylinder(expressID,Position,Height,Radius){var _this1999;_classCallCheck(this,IfcRightCircularCylinder);_this1999=_super1996.call(this,expressID,Position);_this1999.Position=Position;_this1999.Height=Height;_this1999.Radius=Radius;_this1999.type=3626867408;return _this1999;}return _createClass(IfcRightCircularCylinder);}(IfcCsgPrimitive3D);IFC4X32.IfcRightCircularCylinder=IfcRightCircularCylinder;var IfcSectionedSolid=/*#__PURE__*/function(_IfcSolidModel13){_inherits(IfcSectionedSolid,_IfcSolidModel13);var _super1997=_createSuper(IfcSectionedSolid);function IfcSectionedSolid(expressID,Directrix,CrossSections){var _this2000;_classCallCheck(this,IfcSectionedSolid);_this2000=_super1997.call(this,expressID);_this2000.Directrix=Directrix;_this2000.CrossSections=CrossSections;_this2000.type=1862484736;return _this2000;}return _createClass(IfcSectionedSolid);}(IfcSolidModel);IFC4X32.IfcSectionedSolid=IfcSectionedSolid;var IfcSectionedSolidHorizontal=/*#__PURE__*/function(_IfcSectionedSolid){_inherits(IfcSectionedSolidHorizontal,_IfcSectionedSolid);var _super1998=_createSuper(IfcSectionedSolidHorizontal);function IfcSectionedSolidHorizontal(expressID,Directrix,CrossSections,CrossSectionPositions){var _this2001;_classCallCheck(this,IfcSectionedSolidHorizontal);_this2001=_super1998.call(this,expressID,Directrix,CrossSections);_this2001.Directrix=Directrix;_this2001.CrossSections=CrossSections;_this2001.CrossSectionPositions=CrossSectionPositions;_this2001.type=1290935644;return _this2001;}return _createClass(IfcSectionedSolidHorizontal);}(IfcSectionedSolid);IFC4X32.IfcSectionedSolidHorizontal=IfcSectionedSolidHorizontal;var IfcSectionedSurface=/*#__PURE__*/function(_IfcSurface10){_inherits(IfcSectionedSurface,_IfcSurface10);var _super1999=_createSuper(IfcSectionedSurface);function IfcSectionedSurface(expressID,Directrix,CrossSectionPositions,CrossSections){var _this2002;_classCallCheck(this,IfcSectionedSurface);_this2002=_super1999.call(this,expressID);_this2002.Directrix=Directrix;_this2002.CrossSectionPositions=CrossSectionPositions;_this2002.CrossSections=CrossSections;_this2002.type=1356537516;return _this2002;}return _createClass(IfcSectionedSurface);}(IfcSurface);IFC4X32.IfcSectionedSurface=IfcSectionedSurface;var IfcSimplePropertyTemplate=/*#__PURE__*/function(_IfcPropertyTemplate3){_inherits(IfcSimplePropertyTemplate,_IfcPropertyTemplate3);var _super2000=_createSuper(IfcSimplePropertyTemplate);function IfcSimplePropertyTemplate(expressID,GlobalId,OwnerHistory,Name,Description,TemplateType,PrimaryMeasureType,SecondaryMeasureType,Enumerators,PrimaryUnit,SecondaryUnit,Expression,AccessState){var _this2003;_classCallCheck(this,IfcSimplePropertyTemplate);_this2003=_super2000.call(this,expressID,GlobalId,OwnerHistory,Name,Description);_this2003.GlobalId=GlobalId;_this2003.OwnerHistory=OwnerHistory;_this2003.Name=Name;_this2003.Description=Description;_this2003.TemplateType=TemplateType;_this2003.PrimaryMeasureType=PrimaryMeasureType;_this2003.SecondaryMeasureType=SecondaryMeasureType;_this2003.Enumerators=Enumerators;_this2003.PrimaryUnit=PrimaryUnit;_this2003.SecondaryUnit=SecondaryUnit;_this2003.Expression=Expression;_this2003.AccessState=AccessState;_this2003.type=3663146110;return _this2003;}return _createClass(IfcSimplePropertyTemplate);}(IfcPropertyTemplate);IFC4X32.IfcSimplePropertyTemplate=IfcSimplePropertyTemplate;var IfcSpatialElement=/*#__PURE__*/function(_IfcProduct17){_inherits(IfcSpatialElement,_IfcProduct17);var _super2001=_createSuper(IfcSpatialElement);function IfcSpatialElement(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,LongName){var _this2004;_classCallCheck(this,IfcSpatialElement);_this2004=_super2001.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation);_this2004.GlobalId=GlobalId;_this2004.OwnerHistory=OwnerHistory;_this2004.Name=Name;_this2004.Description=Description;_this2004.ObjectType=ObjectType;_this2004.ObjectPlacement=ObjectPlacement;_this2004.Representation=Representation;_this2004.LongName=LongName;_this2004.type=1412071761;return _this2004;}return _createClass(IfcSpatialElement);}(IfcProduct);IFC4X32.IfcSpatialElement=IfcSpatialElement;var IfcSpatialElementType=/*#__PURE__*/function(_IfcTypeProduct9){_inherits(IfcSpatialElementType,_IfcTypeProduct9);var _super2002=_createSuper(IfcSpatialElementType);function IfcSpatialElementType(expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType){var _this2005;_classCallCheck(this,IfcSpatialElementType);_this2005=_super2002.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag);_this2005.GlobalId=GlobalId;_this2005.OwnerHistory=OwnerHistory;_this2005.Name=Name;_this2005.Description=Description;_this2005.ApplicableOccurrence=ApplicableOccurrence;_this2005.HasPropertySets=HasPropertySets;_this2005.RepresentationMaps=RepresentationMaps;_this2005.Tag=Tag;_this2005.ElementType=ElementType;_this2005.type=710998568;return _this2005;}return _createClass(IfcSpatialElementType);}(IfcTypeProduct);IFC4X32.IfcSpatialElementType=IfcSpatialElementType;var IfcSpatialStructureElement=/*#__PURE__*/function(_IfcSpatialElement4){_inherits(IfcSpatialStructureElement,_IfcSpatialElement4);var _super2003=_createSuper(IfcSpatialStructureElement);function IfcSpatialStructureElement(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,LongName,CompositionType){var _this2006;_classCallCheck(this,IfcSpatialStructureElement);_this2006=_super2003.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,LongName);_this2006.GlobalId=GlobalId;_this2006.OwnerHistory=OwnerHistory;_this2006.Name=Name;_this2006.Description=Description;_this2006.ObjectType=ObjectType;_this2006.ObjectPlacement=ObjectPlacement;_this2006.Representation=Representation;_this2006.LongName=LongName;_this2006.CompositionType=CompositionType;_this2006.type=2706606064;return _this2006;}return _createClass(IfcSpatialStructureElement);}(IfcSpatialElement);IFC4X32.IfcSpatialStructureElement=IfcSpatialStructureElement;var IfcSpatialStructureElementType=/*#__PURE__*/function(_IfcSpatialElementTyp3){_inherits(IfcSpatialStructureElementType,_IfcSpatialElementTyp3);var _super2004=_createSuper(IfcSpatialStructureElementType);function IfcSpatialStructureElementType(expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType){var _this2007;_classCallCheck(this,IfcSpatialStructureElementType);_this2007=_super2004.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType);_this2007.GlobalId=GlobalId;_this2007.OwnerHistory=OwnerHistory;_this2007.Name=Name;_this2007.Description=Description;_this2007.ApplicableOccurrence=ApplicableOccurrence;_this2007.HasPropertySets=HasPropertySets;_this2007.RepresentationMaps=RepresentationMaps;_this2007.Tag=Tag;_this2007.ElementType=ElementType;_this2007.type=3893378262;return _this2007;}return _createClass(IfcSpatialStructureElementType);}(IfcSpatialElementType);IFC4X32.IfcSpatialStructureElementType=IfcSpatialStructureElementType;var IfcSpatialZone=/*#__PURE__*/function(_IfcSpatialElement5){_inherits(IfcSpatialZone,_IfcSpatialElement5);var _super2005=_createSuper(IfcSpatialZone);function IfcSpatialZone(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,LongName,PredefinedType){var _this2008;_classCallCheck(this,IfcSpatialZone);_this2008=_super2005.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,LongName);_this2008.GlobalId=GlobalId;_this2008.OwnerHistory=OwnerHistory;_this2008.Name=Name;_this2008.Description=Description;_this2008.ObjectType=ObjectType;_this2008.ObjectPlacement=ObjectPlacement;_this2008.Representation=Representation;_this2008.LongName=LongName;_this2008.PredefinedType=PredefinedType;_this2008.type=463610769;return _this2008;}return _createClass(IfcSpatialZone);}(IfcSpatialElement);IFC4X32.IfcSpatialZone=IfcSpatialZone;var IfcSpatialZoneType=/*#__PURE__*/function(_IfcSpatialElementTyp4){_inherits(IfcSpatialZoneType,_IfcSpatialElementTyp4);var _super2006=_createSuper(IfcSpatialZoneType);function IfcSpatialZoneType(expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType,PredefinedType,LongName){var _this2009;_classCallCheck(this,IfcSpatialZoneType);_this2009=_super2006.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType);_this2009.GlobalId=GlobalId;_this2009.OwnerHistory=OwnerHistory;_this2009.Name=Name;_this2009.Description=Description;_this2009.ApplicableOccurrence=ApplicableOccurrence;_this2009.HasPropertySets=HasPropertySets;_this2009.RepresentationMaps=RepresentationMaps;_this2009.Tag=Tag;_this2009.ElementType=ElementType;_this2009.PredefinedType=PredefinedType;_this2009.LongName=LongName;_this2009.type=2481509218;return _this2009;}return _createClass(IfcSpatialZoneType);}(IfcSpatialElementType);IFC4X32.IfcSpatialZoneType=IfcSpatialZoneType;var IfcSphere=/*#__PURE__*/function(_IfcCsgPrimitive3D14){_inherits(IfcSphere,_IfcCsgPrimitive3D14);var _super2007=_createSuper(IfcSphere);function IfcSphere(expressID,Position,Radius){var _this2010;_classCallCheck(this,IfcSphere);_this2010=_super2007.call(this,expressID,Position);_this2010.Position=Position;_this2010.Radius=Radius;_this2010.type=451544542;return _this2010;}return _createClass(IfcSphere);}(IfcCsgPrimitive3D);IFC4X32.IfcSphere=IfcSphere;var IfcSphericalSurface=/*#__PURE__*/function(_IfcElementarySurface7){_inherits(IfcSphericalSurface,_IfcElementarySurface7);var _super2008=_createSuper(IfcSphericalSurface);function IfcSphericalSurface(expressID,Position,Radius){var _this2011;_classCallCheck(this,IfcSphericalSurface);_this2011=_super2008.call(this,expressID,Position);_this2011.Position=Position;_this2011.Radius=Radius;_this2011.type=4015995234;return _this2011;}return _createClass(IfcSphericalSurface);}(IfcElementarySurface);IFC4X32.IfcSphericalSurface=IfcSphericalSurface;var IfcSpiral=/*#__PURE__*/function(_IfcCurve17){_inherits(IfcSpiral,_IfcCurve17);var _super2009=_createSuper(IfcSpiral);function IfcSpiral(expressID,Position){var _this2012;_classCallCheck(this,IfcSpiral);_this2012=_super2009.call(this,expressID);_this2012.Position=Position;_this2012.type=2735484536;return _this2012;}return _createClass(IfcSpiral);}(IfcCurve);IFC4X32.IfcSpiral=IfcSpiral;var IfcStructuralActivity=/*#__PURE__*/function(_IfcProduct18){_inherits(IfcStructuralActivity,_IfcProduct18);var _super2010=_createSuper(IfcStructuralActivity);function IfcStructuralActivity(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,AppliedLoad,GlobalOrLocal){var _this2013;_classCallCheck(this,IfcStructuralActivity);_this2013=_super2010.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation);_this2013.GlobalId=GlobalId;_this2013.OwnerHistory=OwnerHistory;_this2013.Name=Name;_this2013.Description=Description;_this2013.ObjectType=ObjectType;_this2013.ObjectPlacement=ObjectPlacement;_this2013.Representation=Representation;_this2013.AppliedLoad=AppliedLoad;_this2013.GlobalOrLocal=GlobalOrLocal;_this2013.type=3544373492;return _this2013;}return _createClass(IfcStructuralActivity);}(IfcProduct);IFC4X32.IfcStructuralActivity=IfcStructuralActivity;var IfcStructuralItem=/*#__PURE__*/function(_IfcProduct19){_inherits(IfcStructuralItem,_IfcProduct19);var _super2011=_createSuper(IfcStructuralItem);function IfcStructuralItem(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation){var _this2014;_classCallCheck(this,IfcStructuralItem);_this2014=_super2011.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation);_this2014.GlobalId=GlobalId;_this2014.OwnerHistory=OwnerHistory;_this2014.Name=Name;_this2014.Description=Description;_this2014.ObjectType=ObjectType;_this2014.ObjectPlacement=ObjectPlacement;_this2014.Representation=Representation;_this2014.type=3136571912;return _this2014;}return _createClass(IfcStructuralItem);}(IfcProduct);IFC4X32.IfcStructuralItem=IfcStructuralItem;var IfcStructuralMember=/*#__PURE__*/function(_IfcStructuralItem5){_inherits(IfcStructuralMember,_IfcStructuralItem5);var _super2012=_createSuper(IfcStructuralMember);function IfcStructuralMember(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation){var _this2015;_classCallCheck(this,IfcStructuralMember);_this2015=_super2012.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation);_this2015.GlobalId=GlobalId;_this2015.OwnerHistory=OwnerHistory;_this2015.Name=Name;_this2015.Description=Description;_this2015.ObjectType=ObjectType;_this2015.ObjectPlacement=ObjectPlacement;_this2015.Representation=Representation;_this2015.type=530289379;return _this2015;}return _createClass(IfcStructuralMember);}(IfcStructuralItem);IFC4X32.IfcStructuralMember=IfcStructuralMember;var IfcStructuralReaction=/*#__PURE__*/function(_IfcStructuralActivit5){_inherits(IfcStructuralReaction,_IfcStructuralActivit5);var _super2013=_createSuper(IfcStructuralReaction);function IfcStructuralReaction(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,AppliedLoad,GlobalOrLocal){var _this2016;_classCallCheck(this,IfcStructuralReaction);_this2016=_super2013.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,AppliedLoad,GlobalOrLocal);_this2016.GlobalId=GlobalId;_this2016.OwnerHistory=OwnerHistory;_this2016.Name=Name;_this2016.Description=Description;_this2016.ObjectType=ObjectType;_this2016.ObjectPlacement=ObjectPlacement;_this2016.Representation=Representation;_this2016.AppliedLoad=AppliedLoad;_this2016.GlobalOrLocal=GlobalOrLocal;_this2016.type=3689010777;return _this2016;}return _createClass(IfcStructuralReaction);}(IfcStructuralActivity);IFC4X32.IfcStructuralReaction=IfcStructuralReaction;var IfcStructuralSurfaceMember=/*#__PURE__*/function(_IfcStructuralMember5){_inherits(IfcStructuralSurfaceMember,_IfcStructuralMember5);var _super2014=_createSuper(IfcStructuralSurfaceMember);function IfcStructuralSurfaceMember(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,PredefinedType,Thickness){var _this2017;_classCallCheck(this,IfcStructuralSurfaceMember);_this2017=_super2014.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation);_this2017.GlobalId=GlobalId;_this2017.OwnerHistory=OwnerHistory;_this2017.Name=Name;_this2017.Description=Description;_this2017.ObjectType=ObjectType;_this2017.ObjectPlacement=ObjectPlacement;_this2017.Representation=Representation;_this2017.PredefinedType=PredefinedType;_this2017.Thickness=Thickness;_this2017.type=3979015343;return _this2017;}return _createClass(IfcStructuralSurfaceMember);}(IfcStructuralMember);IFC4X32.IfcStructuralSurfaceMember=IfcStructuralSurfaceMember;var IfcStructuralSurfaceMemberVarying=/*#__PURE__*/function(_IfcStructuralSurface4){_inherits(IfcStructuralSurfaceMemberVarying,_IfcStructuralSurface4);var _super2015=_createSuper(IfcStructuralSurfaceMemberVarying);function IfcStructuralSurfaceMemberVarying(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,PredefinedType,Thickness){var _this2018;_classCallCheck(this,IfcStructuralSurfaceMemberVarying);_this2018=_super2015.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,PredefinedType,Thickness);_this2018.GlobalId=GlobalId;_this2018.OwnerHistory=OwnerHistory;_this2018.Name=Name;_this2018.Description=Description;_this2018.ObjectType=ObjectType;_this2018.ObjectPlacement=ObjectPlacement;_this2018.Representation=Representation;_this2018.PredefinedType=PredefinedType;_this2018.Thickness=Thickness;_this2018.type=2218152070;return _this2018;}return _createClass(IfcStructuralSurfaceMemberVarying);}(IfcStructuralSurfaceMember);IFC4X32.IfcStructuralSurfaceMemberVarying=IfcStructuralSurfaceMemberVarying;var IfcStructuralSurfaceReaction=/*#__PURE__*/function(_IfcStructuralReactio5){_inherits(IfcStructuralSurfaceReaction,_IfcStructuralReactio5);var _super2016=_createSuper(IfcStructuralSurfaceReaction);function IfcStructuralSurfaceReaction(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,AppliedLoad,GlobalOrLocal,PredefinedType){var _this2019;_classCallCheck(this,IfcStructuralSurfaceReaction);_this2019=_super2016.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,AppliedLoad,GlobalOrLocal);_this2019.GlobalId=GlobalId;_this2019.OwnerHistory=OwnerHistory;_this2019.Name=Name;_this2019.Description=Description;_this2019.ObjectType=ObjectType;_this2019.ObjectPlacement=ObjectPlacement;_this2019.Representation=Representation;_this2019.AppliedLoad=AppliedLoad;_this2019.GlobalOrLocal=GlobalOrLocal;_this2019.PredefinedType=PredefinedType;_this2019.type=603775116;return _this2019;}return _createClass(IfcStructuralSurfaceReaction);}(IfcStructuralReaction);IFC4X32.IfcStructuralSurfaceReaction=IfcStructuralSurfaceReaction;var IfcSubContractResourceType=/*#__PURE__*/function(_IfcConstructionResou21){_inherits(IfcSubContractResourceType,_IfcConstructionResou21);var _super2017=_createSuper(IfcSubContractResourceType);function IfcSubContractResourceType(expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,Identification,LongDescription,ResourceType,BaseCosts,BaseQuantity,PredefinedType){var _this2020;_classCallCheck(this,IfcSubContractResourceType);_this2020=_super2017.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,Identification,LongDescription,ResourceType,BaseCosts,BaseQuantity);_this2020.GlobalId=GlobalId;_this2020.OwnerHistory=OwnerHistory;_this2020.Name=Name;_this2020.Description=Description;_this2020.ApplicableOccurrence=ApplicableOccurrence;_this2020.HasPropertySets=HasPropertySets;_this2020.Identification=Identification;_this2020.LongDescription=LongDescription;_this2020.ResourceType=ResourceType;_this2020.BaseCosts=BaseCosts;_this2020.BaseQuantity=BaseQuantity;_this2020.PredefinedType=PredefinedType;_this2020.type=4095615324;return _this2020;}return _createClass(IfcSubContractResourceType);}(IfcConstructionResourceType);IFC4X32.IfcSubContractResourceType=IfcSubContractResourceType;var IfcSurfaceCurve=/*#__PURE__*/function(_IfcCurve18){_inherits(IfcSurfaceCurve,_IfcCurve18);var _super2018=_createSuper(IfcSurfaceCurve);function IfcSurfaceCurve(expressID,Curve3D,AssociatedGeometry,MasterRepresentation){var _this2021;_classCallCheck(this,IfcSurfaceCurve);_this2021=_super2018.call(this,expressID);_this2021.Curve3D=Curve3D;_this2021.AssociatedGeometry=AssociatedGeometry;_this2021.MasterRepresentation=MasterRepresentation;_this2021.type=699246055;return _this2021;}return _createClass(IfcSurfaceCurve);}(IfcCurve);IFC4X32.IfcSurfaceCurve=IfcSurfaceCurve;var IfcSurfaceCurveSweptAreaSolid=/*#__PURE__*/function(_IfcDirectrixCurveSwe2){_inherits(IfcSurfaceCurveSweptAreaSolid,_IfcDirectrixCurveSwe2);var _super2019=_createSuper(IfcSurfaceCurveSweptAreaSolid);function IfcSurfaceCurveSweptAreaSolid(expressID,SweptArea,Position,Directrix,StartParam,EndParam,ReferenceSurface){var _this2022;_classCallCheck(this,IfcSurfaceCurveSweptAreaSolid);_this2022=_super2019.call(this,expressID,SweptArea,Position,Directrix,StartParam,EndParam);_this2022.SweptArea=SweptArea;_this2022.Position=Position;_this2022.Directrix=Directrix;_this2022.StartParam=StartParam;_this2022.EndParam=EndParam;_this2022.ReferenceSurface=ReferenceSurface;_this2022.type=2028607225;return _this2022;}return _createClass(IfcSurfaceCurveSweptAreaSolid);}(IfcDirectrixCurveSweptAreaSolid);IFC4X32.IfcSurfaceCurveSweptAreaSolid=IfcSurfaceCurveSweptAreaSolid;var IfcSurfaceOfLinearExtrusion=/*#__PURE__*/function(_IfcSweptSurface5){_inherits(IfcSurfaceOfLinearExtrusion,_IfcSweptSurface5);var _super2020=_createSuper(IfcSurfaceOfLinearExtrusion);function IfcSurfaceOfLinearExtrusion(expressID,SweptCurve,Position,ExtrudedDirection,Depth){var _this2023;_classCallCheck(this,IfcSurfaceOfLinearExtrusion);_this2023=_super2020.call(this,expressID,SweptCurve,Position);_this2023.SweptCurve=SweptCurve;_this2023.Position=Position;_this2023.ExtrudedDirection=ExtrudedDirection;_this2023.Depth=Depth;_this2023.type=2809605785;return _this2023;}return _createClass(IfcSurfaceOfLinearExtrusion);}(IfcSweptSurface);IFC4X32.IfcSurfaceOfLinearExtrusion=IfcSurfaceOfLinearExtrusion;var IfcSurfaceOfRevolution=/*#__PURE__*/function(_IfcSweptSurface6){_inherits(IfcSurfaceOfRevolution,_IfcSweptSurface6);var _super2021=_createSuper(IfcSurfaceOfRevolution);function IfcSurfaceOfRevolution(expressID,SweptCurve,Position,AxisPosition){var _this2024;_classCallCheck(this,IfcSurfaceOfRevolution);_this2024=_super2021.call(this,expressID,SweptCurve,Position);_this2024.SweptCurve=SweptCurve;_this2024.Position=Position;_this2024.AxisPosition=AxisPosition;_this2024.type=4124788165;return _this2024;}return _createClass(IfcSurfaceOfRevolution);}(IfcSweptSurface);IFC4X32.IfcSurfaceOfRevolution=IfcSurfaceOfRevolution;var IfcSystemFurnitureElementType=/*#__PURE__*/function(_IfcFurnishingElement8){_inherits(IfcSystemFurnitureElementType,_IfcFurnishingElement8);var _super2022=_createSuper(IfcSystemFurnitureElementType);function IfcSystemFurnitureElementType(expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType,PredefinedType){var _this2025;_classCallCheck(this,IfcSystemFurnitureElementType);_this2025=_super2022.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType);_this2025.GlobalId=GlobalId;_this2025.OwnerHistory=OwnerHistory;_this2025.Name=Name;_this2025.Description=Description;_this2025.ApplicableOccurrence=ApplicableOccurrence;_this2025.HasPropertySets=HasPropertySets;_this2025.RepresentationMaps=RepresentationMaps;_this2025.Tag=Tag;_this2025.ElementType=ElementType;_this2025.PredefinedType=PredefinedType;_this2025.type=1580310250;return _this2025;}return _createClass(IfcSystemFurnitureElementType);}(IfcFurnishingElementType);IFC4X32.IfcSystemFurnitureElementType=IfcSystemFurnitureElementType;var IfcTask=/*#__PURE__*/function(_IfcProcess6){_inherits(IfcTask,_IfcProcess6);var _super2023=_createSuper(IfcTask);function IfcTask(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,Identification,LongDescription,Status,WorkMethod,IsMilestone,Priority,TaskTime,PredefinedType){var _this2026;_classCallCheck(this,IfcTask);_this2026=_super2023.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,Identification,LongDescription);_this2026.GlobalId=GlobalId;_this2026.OwnerHistory=OwnerHistory;_this2026.Name=Name;_this2026.Description=Description;_this2026.ObjectType=ObjectType;_this2026.Identification=Identification;_this2026.LongDescription=LongDescription;_this2026.Status=Status;_this2026.WorkMethod=WorkMethod;_this2026.IsMilestone=IsMilestone;_this2026.Priority=Priority;_this2026.TaskTime=TaskTime;_this2026.PredefinedType=PredefinedType;_this2026.type=3473067441;return _this2026;}return _createClass(IfcTask);}(IfcProcess);IFC4X32.IfcTask=IfcTask;var IfcTaskType=/*#__PURE__*/function(_IfcTypeProcess6){_inherits(IfcTaskType,_IfcTypeProcess6);var _super2024=_createSuper(IfcTaskType);function IfcTaskType(expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,Identification,LongDescription,ProcessType,PredefinedType,WorkMethod){var _this2027;_classCallCheck(this,IfcTaskType);_this2027=_super2024.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,Identification,LongDescription,ProcessType);_this2027.GlobalId=GlobalId;_this2027.OwnerHistory=OwnerHistory;_this2027.Name=Name;_this2027.Description=Description;_this2027.ApplicableOccurrence=ApplicableOccurrence;_this2027.HasPropertySets=HasPropertySets;_this2027.Identification=Identification;_this2027.LongDescription=LongDescription;_this2027.ProcessType=ProcessType;_this2027.PredefinedType=PredefinedType;_this2027.WorkMethod=WorkMethod;_this2027.type=3206491090;return _this2027;}return _createClass(IfcTaskType);}(IfcTypeProcess);IFC4X32.IfcTaskType=IfcTaskType;var IfcTessellatedFaceSet=/*#__PURE__*/function(_IfcTessellatedItem4){_inherits(IfcTessellatedFaceSet,_IfcTessellatedItem4);var _super2025=_createSuper(IfcTessellatedFaceSet);function IfcTessellatedFaceSet(expressID,Coordinates,Closed){var _this2028;_classCallCheck(this,IfcTessellatedFaceSet);_this2028=_super2025.call(this,expressID);_this2028.Coordinates=Coordinates;_this2028.Closed=Closed;_this2028.type=2387106220;return _this2028;}return _createClass(IfcTessellatedFaceSet);}(IfcTessellatedItem);IFC4X32.IfcTessellatedFaceSet=IfcTessellatedFaceSet;var IfcThirdOrderPolynomialSpiral=/*#__PURE__*/function(_IfcSpiral){_inherits(IfcThirdOrderPolynomialSpiral,_IfcSpiral);var _super2026=_createSuper(IfcThirdOrderPolynomialSpiral);function IfcThirdOrderPolynomialSpiral(expressID,Position,CubicTerm,QuadraticTerm,LinearTerm,ConstantTerm){var _this2029;_classCallCheck(this,IfcThirdOrderPolynomialSpiral);_this2029=_super2026.call(this,expressID,Position);_this2029.Position=Position;_this2029.CubicTerm=CubicTerm;_this2029.QuadraticTerm=QuadraticTerm;_this2029.LinearTerm=LinearTerm;_this2029.ConstantTerm=ConstantTerm;_this2029.type=782932809;return _this2029;}return _createClass(IfcThirdOrderPolynomialSpiral);}(IfcSpiral);IFC4X32.IfcThirdOrderPolynomialSpiral=IfcThirdOrderPolynomialSpiral;var IfcToroidalSurface=/*#__PURE__*/function(_IfcElementarySurface8){_inherits(IfcToroidalSurface,_IfcElementarySurface8);var _super2027=_createSuper(IfcToroidalSurface);function IfcToroidalSurface(expressID,Position,MajorRadius,MinorRadius){var _this2030;_classCallCheck(this,IfcToroidalSurface);_this2030=_super2027.call(this,expressID,Position);_this2030.Position=Position;_this2030.MajorRadius=MajorRadius;_this2030.MinorRadius=MinorRadius;_this2030.type=1935646853;return _this2030;}return _createClass(IfcToroidalSurface);}(IfcElementarySurface);IFC4X32.IfcToroidalSurface=IfcToroidalSurface;var IfcTransportationDeviceType=/*#__PURE__*/function(_IfcElementType17){_inherits(IfcTransportationDeviceType,_IfcElementType17);var _super2028=_createSuper(IfcTransportationDeviceType);function IfcTransportationDeviceType(expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType){var _this2031;_classCallCheck(this,IfcTransportationDeviceType);_this2031=_super2028.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType);_this2031.GlobalId=GlobalId;_this2031.OwnerHistory=OwnerHistory;_this2031.Name=Name;_this2031.Description=Description;_this2031.ApplicableOccurrence=ApplicableOccurrence;_this2031.HasPropertySets=HasPropertySets;_this2031.RepresentationMaps=RepresentationMaps;_this2031.Tag=Tag;_this2031.ElementType=ElementType;_this2031.type=3665877780;return _this2031;}return _createClass(IfcTransportationDeviceType);}(IfcElementType);IFC4X32.IfcTransportationDeviceType=IfcTransportationDeviceType;var IfcTriangulatedFaceSet=/*#__PURE__*/function(_IfcTessellatedFaceSe3){_inherits(IfcTriangulatedFaceSet,_IfcTessellatedFaceSe3);var _super2029=_createSuper(IfcTriangulatedFaceSet);function IfcTriangulatedFaceSet(expressID,Coordinates,Closed,Normals,CoordIndex,PnIndex){var _this2032;_classCallCheck(this,IfcTriangulatedFaceSet);_this2032=_super2029.call(this,expressID,Coordinates,Closed);_this2032.Coordinates=Coordinates;_this2032.Closed=Closed;_this2032.Normals=Normals;_this2032.CoordIndex=CoordIndex;_this2032.PnIndex=PnIndex;_this2032.type=2916149573;return _this2032;}return _createClass(IfcTriangulatedFaceSet);}(IfcTessellatedFaceSet);IFC4X32.IfcTriangulatedFaceSet=IfcTriangulatedFaceSet;var IfcTriangulatedIrregularNetwork=/*#__PURE__*/function(_IfcTriangulatedFaceS){_inherits(IfcTriangulatedIrregularNetwork,_IfcTriangulatedFaceS);var _super2030=_createSuper(IfcTriangulatedIrregularNetwork);function IfcTriangulatedIrregularNetwork(expressID,Coordinates,Closed,Normals,CoordIndex,PnIndex,Flags){var _this2033;_classCallCheck(this,IfcTriangulatedIrregularNetwork);_this2033=_super2030.call(this,expressID,Coordinates,Closed,Normals,CoordIndex,PnIndex);_this2033.Coordinates=Coordinates;_this2033.Closed=Closed;_this2033.Normals=Normals;_this2033.CoordIndex=CoordIndex;_this2033.PnIndex=PnIndex;_this2033.Flags=Flags;_this2033.type=1229763772;return _this2033;}return _createClass(IfcTriangulatedIrregularNetwork);}(IfcTriangulatedFaceSet);IFC4X32.IfcTriangulatedIrregularNetwork=IfcTriangulatedIrregularNetwork;var IfcVehicleType=/*#__PURE__*/function(_IfcTransportationDev){_inherits(IfcVehicleType,_IfcTransportationDev);var _super2031=_createSuper(IfcVehicleType);function IfcVehicleType(expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType,PredefinedType){var _this2034;_classCallCheck(this,IfcVehicleType);_this2034=_super2031.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType);_this2034.GlobalId=GlobalId;_this2034.OwnerHistory=OwnerHistory;_this2034.Name=Name;_this2034.Description=Description;_this2034.ApplicableOccurrence=ApplicableOccurrence;_this2034.HasPropertySets=HasPropertySets;_this2034.RepresentationMaps=RepresentationMaps;_this2034.Tag=Tag;_this2034.ElementType=ElementType;_this2034.PredefinedType=PredefinedType;_this2034.type=3651464721;return _this2034;}return _createClass(IfcVehicleType);}(IfcTransportationDeviceType);IFC4X32.IfcVehicleType=IfcVehicleType;var IfcWindowLiningProperties=/*#__PURE__*/function(_IfcPreDefinedPropert14){_inherits(IfcWindowLiningProperties,_IfcPreDefinedPropert14);var _super2032=_createSuper(IfcWindowLiningProperties);function IfcWindowLiningProperties(expressID,GlobalId,OwnerHistory,Name,Description,LiningDepth,LiningThickness,TransomThickness,MullionThickness,FirstTransomOffset,SecondTransomOffset,FirstMullionOffset,SecondMullionOffset,ShapeAspectStyle,LiningOffset,LiningToPanelOffsetX,LiningToPanelOffsetY){var _this2035;_classCallCheck(this,IfcWindowLiningProperties);_this2035=_super2032.call(this,expressID,GlobalId,OwnerHistory,Name,Description);_this2035.GlobalId=GlobalId;_this2035.OwnerHistory=OwnerHistory;_this2035.Name=Name;_this2035.Description=Description;_this2035.LiningDepth=LiningDepth;_this2035.LiningThickness=LiningThickness;_this2035.TransomThickness=TransomThickness;_this2035.MullionThickness=MullionThickness;_this2035.FirstTransomOffset=FirstTransomOffset;_this2035.SecondTransomOffset=SecondTransomOffset;_this2035.FirstMullionOffset=FirstMullionOffset;_this2035.SecondMullionOffset=SecondMullionOffset;_this2035.ShapeAspectStyle=ShapeAspectStyle;_this2035.LiningOffset=LiningOffset;_this2035.LiningToPanelOffsetX=LiningToPanelOffsetX;_this2035.LiningToPanelOffsetY=LiningToPanelOffsetY;_this2035.type=336235671;return _this2035;}return _createClass(IfcWindowLiningProperties);}(IfcPreDefinedPropertySet);IFC4X32.IfcWindowLiningProperties=IfcWindowLiningProperties;var IfcWindowPanelProperties=/*#__PURE__*/function(_IfcPreDefinedPropert15){_inherits(IfcWindowPanelProperties,_IfcPreDefinedPropert15);var _super2033=_createSuper(IfcWindowPanelProperties);function IfcWindowPanelProperties(expressID,GlobalId,OwnerHistory,Name,Description,OperationType,PanelPosition,FrameDepth,FrameThickness,ShapeAspectStyle){var _this2036;_classCallCheck(this,IfcWindowPanelProperties);_this2036=_super2033.call(this,expressID,GlobalId,OwnerHistory,Name,Description);_this2036.GlobalId=GlobalId;_this2036.OwnerHistory=OwnerHistory;_this2036.Name=Name;_this2036.Description=Description;_this2036.OperationType=OperationType;_this2036.PanelPosition=PanelPosition;_this2036.FrameDepth=FrameDepth;_this2036.FrameThickness=FrameThickness;_this2036.ShapeAspectStyle=ShapeAspectStyle;_this2036.type=512836454;return _this2036;}return _createClass(IfcWindowPanelProperties);}(IfcPreDefinedPropertySet);IFC4X32.IfcWindowPanelProperties=IfcWindowPanelProperties;var IfcActor=/*#__PURE__*/function(_IfcObject17){_inherits(IfcActor,_IfcObject17);var _super2034=_createSuper(IfcActor);function IfcActor(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,TheActor){var _this2037;_classCallCheck(this,IfcActor);_this2037=_super2034.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType);_this2037.GlobalId=GlobalId;_this2037.OwnerHistory=OwnerHistory;_this2037.Name=Name;_this2037.Description=Description;_this2037.ObjectType=ObjectType;_this2037.TheActor=TheActor;_this2037.type=2296667514;return _this2037;}return _createClass(IfcActor);}(IfcObject);IFC4X32.IfcActor=IfcActor;var IfcAdvancedBrep=/*#__PURE__*/function(_IfcManifoldSolidBrep5){_inherits(IfcAdvancedBrep,_IfcManifoldSolidBrep5);var _super2035=_createSuper(IfcAdvancedBrep);function IfcAdvancedBrep(expressID,Outer){var _this2038;_classCallCheck(this,IfcAdvancedBrep);_this2038=_super2035.call(this,expressID,Outer);_this2038.Outer=Outer;_this2038.type=1635779807;return _this2038;}return _createClass(IfcAdvancedBrep);}(IfcManifoldSolidBrep);IFC4X32.IfcAdvancedBrep=IfcAdvancedBrep;var IfcAdvancedBrepWithVoids=/*#__PURE__*/function(_IfcAdvancedBrep2){_inherits(IfcAdvancedBrepWithVoids,_IfcAdvancedBrep2);var _super2036=_createSuper(IfcAdvancedBrepWithVoids);function IfcAdvancedBrepWithVoids(expressID,Outer,Voids){var _this2039;_classCallCheck(this,IfcAdvancedBrepWithVoids);_this2039=_super2036.call(this,expressID,Outer);_this2039.Outer=Outer;_this2039.Voids=Voids;_this2039.type=2603310189;return _this2039;}return _createClass(IfcAdvancedBrepWithVoids);}(IfcAdvancedBrep);IFC4X32.IfcAdvancedBrepWithVoids=IfcAdvancedBrepWithVoids;var IfcAnnotation=/*#__PURE__*/function(_IfcProduct20){_inherits(IfcAnnotation,_IfcProduct20);var _super2037=_createSuper(IfcAnnotation);function IfcAnnotation(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,PredefinedType){var _this2040;_classCallCheck(this,IfcAnnotation);_this2040=_super2037.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation);_this2040.GlobalId=GlobalId;_this2040.OwnerHistory=OwnerHistory;_this2040.Name=Name;_this2040.Description=Description;_this2040.ObjectType=ObjectType;_this2040.ObjectPlacement=ObjectPlacement;_this2040.Representation=Representation;_this2040.PredefinedType=PredefinedType;_this2040.type=1674181508;return _this2040;}return _createClass(IfcAnnotation);}(IfcProduct);IFC4X32.IfcAnnotation=IfcAnnotation;var IfcBSplineSurface=/*#__PURE__*/function(_IfcBoundedSurface10){_inherits(IfcBSplineSurface,_IfcBoundedSurface10);var _super2038=_createSuper(IfcBSplineSurface);function IfcBSplineSurface(expressID,UDegree,VDegree,ControlPointsList,SurfaceForm,UClosed,VClosed,SelfIntersect){var _this2041;_classCallCheck(this,IfcBSplineSurface);_this2041=_super2038.call(this,expressID);_this2041.UDegree=UDegree;_this2041.VDegree=VDegree;_this2041.ControlPointsList=ControlPointsList;_this2041.SurfaceForm=SurfaceForm;_this2041.UClosed=UClosed;_this2041.VClosed=VClosed;_this2041.SelfIntersect=SelfIntersect;_this2041.type=2887950389;return _this2041;}return _createClass(IfcBSplineSurface);}(IfcBoundedSurface);IFC4X32.IfcBSplineSurface=IfcBSplineSurface;var IfcBSplineSurfaceWithKnots=/*#__PURE__*/function(_IfcBSplineSurface2){_inherits(IfcBSplineSurfaceWithKnots,_IfcBSplineSurface2);var _super2039=_createSuper(IfcBSplineSurfaceWithKnots);function IfcBSplineSurfaceWithKnots(expressID,UDegree,VDegree,ControlPointsList,SurfaceForm,UClosed,VClosed,SelfIntersect,UMultiplicities,VMultiplicities,UKnots,VKnots,KnotSpec){var _this2042;_classCallCheck(this,IfcBSplineSurfaceWithKnots);_this2042=_super2039.call(this,expressID,UDegree,VDegree,ControlPointsList,SurfaceForm,UClosed,VClosed,SelfIntersect);_this2042.UDegree=UDegree;_this2042.VDegree=VDegree;_this2042.ControlPointsList=ControlPointsList;_this2042.SurfaceForm=SurfaceForm;_this2042.UClosed=UClosed;_this2042.VClosed=VClosed;_this2042.SelfIntersect=SelfIntersect;_this2042.UMultiplicities=UMultiplicities;_this2042.VMultiplicities=VMultiplicities;_this2042.UKnots=UKnots;_this2042.VKnots=VKnots;_this2042.KnotSpec=KnotSpec;_this2042.type=167062518;return _this2042;}return _createClass(IfcBSplineSurfaceWithKnots);}(IfcBSplineSurface);IFC4X32.IfcBSplineSurfaceWithKnots=IfcBSplineSurfaceWithKnots;var IfcBlock=/*#__PURE__*/function(_IfcCsgPrimitive3D15){_inherits(IfcBlock,_IfcCsgPrimitive3D15);var _super2040=_createSuper(IfcBlock);function IfcBlock(expressID,Position,XLength,YLength,ZLength){var _this2043;_classCallCheck(this,IfcBlock);_this2043=_super2040.call(this,expressID,Position);_this2043.Position=Position;_this2043.XLength=XLength;_this2043.YLength=YLength;_this2043.ZLength=ZLength;_this2043.type=1334484129;return _this2043;}return _createClass(IfcBlock);}(IfcCsgPrimitive3D);IFC4X32.IfcBlock=IfcBlock;var IfcBooleanClippingResult=/*#__PURE__*/function(_IfcBooleanResult3){_inherits(IfcBooleanClippingResult,_IfcBooleanResult3);var _super2041=_createSuper(IfcBooleanClippingResult);function IfcBooleanClippingResult(expressID,Operator,FirstOperand,SecondOperand){var _this2044;_classCallCheck(this,IfcBooleanClippingResult);_this2044=_super2041.call(this,expressID,Operator,FirstOperand,SecondOperand);_this2044.Operator=Operator;_this2044.FirstOperand=FirstOperand;_this2044.SecondOperand=SecondOperand;_this2044.type=3649129432;return _this2044;}return _createClass(IfcBooleanClippingResult);}(IfcBooleanResult);IFC4X32.IfcBooleanClippingResult=IfcBooleanClippingResult;var IfcBoundedCurve=/*#__PURE__*/function(_IfcCurve19){_inherits(IfcBoundedCurve,_IfcCurve19);var _super2042=_createSuper(IfcBoundedCurve);function IfcBoundedCurve(expressID){var _this2045;_classCallCheck(this,IfcBoundedCurve);_this2045=_super2042.call(this,expressID);_this2045.type=1260505505;return _this2045;}return _createClass(IfcBoundedCurve);}(IfcCurve);IFC4X32.IfcBoundedCurve=IfcBoundedCurve;var IfcBuildingStorey=/*#__PURE__*/function(_IfcSpatialStructureE11){_inherits(IfcBuildingStorey,_IfcSpatialStructureE11);var _super2043=_createSuper(IfcBuildingStorey);function IfcBuildingStorey(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,LongName,CompositionType,Elevation){var _this2046;_classCallCheck(this,IfcBuildingStorey);_this2046=_super2043.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,LongName,CompositionType);_this2046.GlobalId=GlobalId;_this2046.OwnerHistory=OwnerHistory;_this2046.Name=Name;_this2046.Description=Description;_this2046.ObjectType=ObjectType;_this2046.ObjectPlacement=ObjectPlacement;_this2046.Representation=Representation;_this2046.LongName=LongName;_this2046.CompositionType=CompositionType;_this2046.Elevation=Elevation;_this2046.type=3124254112;return _this2046;}return _createClass(IfcBuildingStorey);}(IfcSpatialStructureElement);IFC4X32.IfcBuildingStorey=IfcBuildingStorey;var IfcBuiltElementType=/*#__PURE__*/function(_IfcElementType18){_inherits(IfcBuiltElementType,_IfcElementType18);var _super2044=_createSuper(IfcBuiltElementType);function IfcBuiltElementType(expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType){var _this2047;_classCallCheck(this,IfcBuiltElementType);_this2047=_super2044.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType);_this2047.GlobalId=GlobalId;_this2047.OwnerHistory=OwnerHistory;_this2047.Name=Name;_this2047.Description=Description;_this2047.ApplicableOccurrence=ApplicableOccurrence;_this2047.HasPropertySets=HasPropertySets;_this2047.RepresentationMaps=RepresentationMaps;_this2047.Tag=Tag;_this2047.ElementType=ElementType;_this2047.type=1626504194;return _this2047;}return _createClass(IfcBuiltElementType);}(IfcElementType);IFC4X32.IfcBuiltElementType=IfcBuiltElementType;var IfcChimneyType=/*#__PURE__*/function(_IfcBuiltElementType){_inherits(IfcChimneyType,_IfcBuiltElementType);var _super2045=_createSuper(IfcChimneyType);function IfcChimneyType(expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType,PredefinedType){var _this2048;_classCallCheck(this,IfcChimneyType);_this2048=_super2045.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType);_this2048.GlobalId=GlobalId;_this2048.OwnerHistory=OwnerHistory;_this2048.Name=Name;_this2048.Description=Description;_this2048.ApplicableOccurrence=ApplicableOccurrence;_this2048.HasPropertySets=HasPropertySets;_this2048.RepresentationMaps=RepresentationMaps;_this2048.Tag=Tag;_this2048.ElementType=ElementType;_this2048.PredefinedType=PredefinedType;_this2048.type=2197970202;return _this2048;}return _createClass(IfcChimneyType);}(IfcBuiltElementType);IFC4X32.IfcChimneyType=IfcChimneyType;var IfcCircleHollowProfileDef=/*#__PURE__*/function(_IfcCircleProfileDef3){_inherits(IfcCircleHollowProfileDef,_IfcCircleProfileDef3);var _super2046=_createSuper(IfcCircleHollowProfileDef);function IfcCircleHollowProfileDef(expressID,ProfileType,ProfileName,Position,Radius,WallThickness){var _this2049;_classCallCheck(this,IfcCircleHollowProfileDef);_this2049=_super2046.call(this,expressID,ProfileType,ProfileName,Position,Radius);_this2049.ProfileType=ProfileType;_this2049.ProfileName=ProfileName;_this2049.Position=Position;_this2049.Radius=Radius;_this2049.WallThickness=WallThickness;_this2049.type=2937912522;return _this2049;}return _createClass(IfcCircleHollowProfileDef);}(IfcCircleProfileDef);IFC4X32.IfcCircleHollowProfileDef=IfcCircleHollowProfileDef;var IfcCivilElementType=/*#__PURE__*/function(_IfcElementType19){_inherits(IfcCivilElementType,_IfcElementType19);var _super2047=_createSuper(IfcCivilElementType);function IfcCivilElementType(expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType){var _this2050;_classCallCheck(this,IfcCivilElementType);_this2050=_super2047.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType);_this2050.GlobalId=GlobalId;_this2050.OwnerHistory=OwnerHistory;_this2050.Name=Name;_this2050.Description=Description;_this2050.ApplicableOccurrence=ApplicableOccurrence;_this2050.HasPropertySets=HasPropertySets;_this2050.RepresentationMaps=RepresentationMaps;_this2050.Tag=Tag;_this2050.ElementType=ElementType;_this2050.type=3893394355;return _this2050;}return _createClass(IfcCivilElementType);}(IfcElementType);IFC4X32.IfcCivilElementType=IfcCivilElementType;var IfcClothoid=/*#__PURE__*/function(_IfcSpiral2){_inherits(IfcClothoid,_IfcSpiral2);var _super2048=_createSuper(IfcClothoid);function IfcClothoid(expressID,Position,ClothoidConstant){var _this2051;_classCallCheck(this,IfcClothoid);_this2051=_super2048.call(this,expressID,Position);_this2051.Position=Position;_this2051.ClothoidConstant=ClothoidConstant;_this2051.type=3497074424;return _this2051;}return _createClass(IfcClothoid);}(IfcSpiral);IFC4X32.IfcClothoid=IfcClothoid;var IfcColumnType=/*#__PURE__*/function(_IfcBuiltElementType2){_inherits(IfcColumnType,_IfcBuiltElementType2);var _super2049=_createSuper(IfcColumnType);function IfcColumnType(expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType,PredefinedType){var _this2052;_classCallCheck(this,IfcColumnType);_this2052=_super2049.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType);_this2052.GlobalId=GlobalId;_this2052.OwnerHistory=OwnerHistory;_this2052.Name=Name;_this2052.Description=Description;_this2052.ApplicableOccurrence=ApplicableOccurrence;_this2052.HasPropertySets=HasPropertySets;_this2052.RepresentationMaps=RepresentationMaps;_this2052.Tag=Tag;_this2052.ElementType=ElementType;_this2052.PredefinedType=PredefinedType;_this2052.type=300633059;return _this2052;}return _createClass(IfcColumnType);}(IfcBuiltElementType);IFC4X32.IfcColumnType=IfcColumnType;var IfcComplexPropertyTemplate=/*#__PURE__*/function(_IfcPropertyTemplate4){_inherits(IfcComplexPropertyTemplate,_IfcPropertyTemplate4);var _super2050=_createSuper(IfcComplexPropertyTemplate);function IfcComplexPropertyTemplate(expressID,GlobalId,OwnerHistory,Name,Description,UsageName,TemplateType,HasPropertyTemplates){var _this2053;_classCallCheck(this,IfcComplexPropertyTemplate);_this2053=_super2050.call(this,expressID,GlobalId,OwnerHistory,Name,Description);_this2053.GlobalId=GlobalId;_this2053.OwnerHistory=OwnerHistory;_this2053.Name=Name;_this2053.Description=Description;_this2053.UsageName=UsageName;_this2053.TemplateType=TemplateType;_this2053.HasPropertyTemplates=HasPropertyTemplates;_this2053.type=3875453745;return _this2053;}return _createClass(IfcComplexPropertyTemplate);}(IfcPropertyTemplate);IFC4X32.IfcComplexPropertyTemplate=IfcComplexPropertyTemplate;var IfcCompositeCurve=/*#__PURE__*/function(_IfcBoundedCurve10){_inherits(IfcCompositeCurve,_IfcBoundedCurve10);var _super2051=_createSuper(IfcCompositeCurve);function IfcCompositeCurve(expressID,Segments,SelfIntersect){var _this2054;_classCallCheck(this,IfcCompositeCurve);_this2054=_super2051.call(this,expressID);_this2054.Segments=Segments;_this2054.SelfIntersect=SelfIntersect;_this2054.type=3732776249;return _this2054;}return _createClass(IfcCompositeCurve);}(IfcBoundedCurve);IFC4X32.IfcCompositeCurve=IfcCompositeCurve;var IfcCompositeCurveOnSurface=/*#__PURE__*/function(_IfcCompositeCurve3){_inherits(IfcCompositeCurveOnSurface,_IfcCompositeCurve3);var _super2052=_createSuper(IfcCompositeCurveOnSurface);function IfcCompositeCurveOnSurface(expressID,Segments,SelfIntersect){var _this2055;_classCallCheck(this,IfcCompositeCurveOnSurface);_this2055=_super2052.call(this,expressID,Segments,SelfIntersect);_this2055.Segments=Segments;_this2055.SelfIntersect=SelfIntersect;_this2055.type=15328376;return _this2055;}return _createClass(IfcCompositeCurveOnSurface);}(IfcCompositeCurve);IFC4X32.IfcCompositeCurveOnSurface=IfcCompositeCurveOnSurface;var IfcConic=/*#__PURE__*/function(_IfcCurve20){_inherits(IfcConic,_IfcCurve20);var _super2053=_createSuper(IfcConic);function IfcConic(expressID,Position){var _this2056;_classCallCheck(this,IfcConic);_this2056=_super2053.call(this,expressID);_this2056.Position=Position;_this2056.type=2510884976;return _this2056;}return _createClass(IfcConic);}(IfcCurve);IFC4X32.IfcConic=IfcConic;var IfcConstructionEquipmentResourceType=/*#__PURE__*/function(_IfcConstructionResou22){_inherits(IfcConstructionEquipmentResourceType,_IfcConstructionResou22);var _super2054=_createSuper(IfcConstructionEquipmentResourceType);function IfcConstructionEquipmentResourceType(expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,Identification,LongDescription,ResourceType,BaseCosts,BaseQuantity,PredefinedType){var _this2057;_classCallCheck(this,IfcConstructionEquipmentResourceType);_this2057=_super2054.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,Identification,LongDescription,ResourceType,BaseCosts,BaseQuantity);_this2057.GlobalId=GlobalId;_this2057.OwnerHistory=OwnerHistory;_this2057.Name=Name;_this2057.Description=Description;_this2057.ApplicableOccurrence=ApplicableOccurrence;_this2057.HasPropertySets=HasPropertySets;_this2057.Identification=Identification;_this2057.LongDescription=LongDescription;_this2057.ResourceType=ResourceType;_this2057.BaseCosts=BaseCosts;_this2057.BaseQuantity=BaseQuantity;_this2057.PredefinedType=PredefinedType;_this2057.type=2185764099;return _this2057;}return _createClass(IfcConstructionEquipmentResourceType);}(IfcConstructionResourceType);IFC4X32.IfcConstructionEquipmentResourceType=IfcConstructionEquipmentResourceType;var IfcConstructionMaterialResourceType=/*#__PURE__*/function(_IfcConstructionResou23){_inherits(IfcConstructionMaterialResourceType,_IfcConstructionResou23);var _super2055=_createSuper(IfcConstructionMaterialResourceType);function IfcConstructionMaterialResourceType(expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,Identification,LongDescription,ResourceType,BaseCosts,BaseQuantity,PredefinedType){var _this2058;_classCallCheck(this,IfcConstructionMaterialResourceType);_this2058=_super2055.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,Identification,LongDescription,ResourceType,BaseCosts,BaseQuantity);_this2058.GlobalId=GlobalId;_this2058.OwnerHistory=OwnerHistory;_this2058.Name=Name;_this2058.Description=Description;_this2058.ApplicableOccurrence=ApplicableOccurrence;_this2058.HasPropertySets=HasPropertySets;_this2058.Identification=Identification;_this2058.LongDescription=LongDescription;_this2058.ResourceType=ResourceType;_this2058.BaseCosts=BaseCosts;_this2058.BaseQuantity=BaseQuantity;_this2058.PredefinedType=PredefinedType;_this2058.type=4105962743;return _this2058;}return _createClass(IfcConstructionMaterialResourceType);}(IfcConstructionResourceType);IFC4X32.IfcConstructionMaterialResourceType=IfcConstructionMaterialResourceType;var IfcConstructionProductResourceType=/*#__PURE__*/function(_IfcConstructionResou24){_inherits(IfcConstructionProductResourceType,_IfcConstructionResou24);var _super2056=_createSuper(IfcConstructionProductResourceType);function IfcConstructionProductResourceType(expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,Identification,LongDescription,ResourceType,BaseCosts,BaseQuantity,PredefinedType){var _this2059;_classCallCheck(this,IfcConstructionProductResourceType);_this2059=_super2056.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,Identification,LongDescription,ResourceType,BaseCosts,BaseQuantity);_this2059.GlobalId=GlobalId;_this2059.OwnerHistory=OwnerHistory;_this2059.Name=Name;_this2059.Description=Description;_this2059.ApplicableOccurrence=ApplicableOccurrence;_this2059.HasPropertySets=HasPropertySets;_this2059.Identification=Identification;_this2059.LongDescription=LongDescription;_this2059.ResourceType=ResourceType;_this2059.BaseCosts=BaseCosts;_this2059.BaseQuantity=BaseQuantity;_this2059.PredefinedType=PredefinedType;_this2059.type=1525564444;return _this2059;}return _createClass(IfcConstructionProductResourceType);}(IfcConstructionResourceType);IFC4X32.IfcConstructionProductResourceType=IfcConstructionProductResourceType;var IfcConstructionResource=/*#__PURE__*/function(_IfcResource3){_inherits(IfcConstructionResource,_IfcResource3);var _super2057=_createSuper(IfcConstructionResource);function IfcConstructionResource(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,Identification,LongDescription,Usage,BaseCosts,BaseQuantity){var _this2060;_classCallCheck(this,IfcConstructionResource);_this2060=_super2057.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,Identification,LongDescription);_this2060.GlobalId=GlobalId;_this2060.OwnerHistory=OwnerHistory;_this2060.Name=Name;_this2060.Description=Description;_this2060.ObjectType=ObjectType;_this2060.Identification=Identification;_this2060.LongDescription=LongDescription;_this2060.Usage=Usage;_this2060.BaseCosts=BaseCosts;_this2060.BaseQuantity=BaseQuantity;_this2060.type=2559216714;return _this2060;}return _createClass(IfcConstructionResource);}(IfcResource);IFC4X32.IfcConstructionResource=IfcConstructionResource;var IfcControl=/*#__PURE__*/function(_IfcObject18){_inherits(IfcControl,_IfcObject18);var _super2058=_createSuper(IfcControl);function IfcControl(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,Identification){var _this2061;_classCallCheck(this,IfcControl);_this2061=_super2058.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType);_this2061.GlobalId=GlobalId;_this2061.OwnerHistory=OwnerHistory;_this2061.Name=Name;_this2061.Description=Description;_this2061.ObjectType=ObjectType;_this2061.Identification=Identification;_this2061.type=3293443760;return _this2061;}return _createClass(IfcControl);}(IfcObject);IFC4X32.IfcControl=IfcControl;var IfcCosineSpiral=/*#__PURE__*/function(_IfcSpiral3){_inherits(IfcCosineSpiral,_IfcSpiral3);var _super2059=_createSuper(IfcCosineSpiral);function IfcCosineSpiral(expressID,Position,CosineTerm,ConstantTerm){var _this2062;_classCallCheck(this,IfcCosineSpiral);_this2062=_super2059.call(this,expressID,Position);_this2062.Position=Position;_this2062.CosineTerm=CosineTerm;_this2062.ConstantTerm=ConstantTerm;_this2062.type=2000195564;return _this2062;}return _createClass(IfcCosineSpiral);}(IfcSpiral);IFC4X32.IfcCosineSpiral=IfcCosineSpiral;var IfcCostItem=/*#__PURE__*/function(_IfcControl24){_inherits(IfcCostItem,_IfcControl24);var _super2060=_createSuper(IfcCostItem);function IfcCostItem(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,Identification,PredefinedType,CostValues,CostQuantities){var _this2063;_classCallCheck(this,IfcCostItem);_this2063=_super2060.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,Identification);_this2063.GlobalId=GlobalId;_this2063.OwnerHistory=OwnerHistory;_this2063.Name=Name;_this2063.Description=Description;_this2063.ObjectType=ObjectType;_this2063.Identification=Identification;_this2063.PredefinedType=PredefinedType;_this2063.CostValues=CostValues;_this2063.CostQuantities=CostQuantities;_this2063.type=3895139033;return _this2063;}return _createClass(IfcCostItem);}(IfcControl);IFC4X32.IfcCostItem=IfcCostItem;var IfcCostSchedule=/*#__PURE__*/function(_IfcControl25){_inherits(IfcCostSchedule,_IfcControl25);var _super2061=_createSuper(IfcCostSchedule);function IfcCostSchedule(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,Identification,PredefinedType,Status,SubmittedOn,UpdateDate){var _this2064;_classCallCheck(this,IfcCostSchedule);_this2064=_super2061.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,Identification);_this2064.GlobalId=GlobalId;_this2064.OwnerHistory=OwnerHistory;_this2064.Name=Name;_this2064.Description=Description;_this2064.ObjectType=ObjectType;_this2064.Identification=Identification;_this2064.PredefinedType=PredefinedType;_this2064.Status=Status;_this2064.SubmittedOn=SubmittedOn;_this2064.UpdateDate=UpdateDate;_this2064.type=1419761937;return _this2064;}return _createClass(IfcCostSchedule);}(IfcControl);IFC4X32.IfcCostSchedule=IfcCostSchedule;var IfcCourseType=/*#__PURE__*/function(_IfcBuiltElementType3){_inherits(IfcCourseType,_IfcBuiltElementType3);var _super2062=_createSuper(IfcCourseType);function IfcCourseType(expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType,PredefinedType){var _this2065;_classCallCheck(this,IfcCourseType);_this2065=_super2062.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType);_this2065.GlobalId=GlobalId;_this2065.OwnerHistory=OwnerHistory;_this2065.Name=Name;_this2065.Description=Description;_this2065.ApplicableOccurrence=ApplicableOccurrence;_this2065.HasPropertySets=HasPropertySets;_this2065.RepresentationMaps=RepresentationMaps;_this2065.Tag=Tag;_this2065.ElementType=ElementType;_this2065.PredefinedType=PredefinedType;_this2065.type=4189326743;return _this2065;}return _createClass(IfcCourseType);}(IfcBuiltElementType);IFC4X32.IfcCourseType=IfcCourseType;var IfcCoveringType=/*#__PURE__*/function(_IfcBuiltElementType4){_inherits(IfcCoveringType,_IfcBuiltElementType4);var _super2063=_createSuper(IfcCoveringType);function IfcCoveringType(expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType,PredefinedType){var _this2066;_classCallCheck(this,IfcCoveringType);_this2066=_super2063.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType);_this2066.GlobalId=GlobalId;_this2066.OwnerHistory=OwnerHistory;_this2066.Name=Name;_this2066.Description=Description;_this2066.ApplicableOccurrence=ApplicableOccurrence;_this2066.HasPropertySets=HasPropertySets;_this2066.RepresentationMaps=RepresentationMaps;_this2066.Tag=Tag;_this2066.ElementType=ElementType;_this2066.PredefinedType=PredefinedType;_this2066.type=1916426348;return _this2066;}return _createClass(IfcCoveringType);}(IfcBuiltElementType);IFC4X32.IfcCoveringType=IfcCoveringType;var IfcCrewResource=/*#__PURE__*/function(_IfcConstructionResou25){_inherits(IfcCrewResource,_IfcConstructionResou25);var _super2064=_createSuper(IfcCrewResource);function IfcCrewResource(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,Identification,LongDescription,Usage,BaseCosts,BaseQuantity,PredefinedType){var _this2067;_classCallCheck(this,IfcCrewResource);_this2067=_super2064.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,Identification,LongDescription,Usage,BaseCosts,BaseQuantity);_this2067.GlobalId=GlobalId;_this2067.OwnerHistory=OwnerHistory;_this2067.Name=Name;_this2067.Description=Description;_this2067.ObjectType=ObjectType;_this2067.Identification=Identification;_this2067.LongDescription=LongDescription;_this2067.Usage=Usage;_this2067.BaseCosts=BaseCosts;_this2067.BaseQuantity=BaseQuantity;_this2067.PredefinedType=PredefinedType;_this2067.type=3295246426;return _this2067;}return _createClass(IfcCrewResource);}(IfcConstructionResource);IFC4X32.IfcCrewResource=IfcCrewResource;var IfcCurtainWallType=/*#__PURE__*/function(_IfcBuiltElementType5){_inherits(IfcCurtainWallType,_IfcBuiltElementType5);var _super2065=_createSuper(IfcCurtainWallType);function IfcCurtainWallType(expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType,PredefinedType){var _this2068;_classCallCheck(this,IfcCurtainWallType);_this2068=_super2065.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType);_this2068.GlobalId=GlobalId;_this2068.OwnerHistory=OwnerHistory;_this2068.Name=Name;_this2068.Description=Description;_this2068.ApplicableOccurrence=ApplicableOccurrence;_this2068.HasPropertySets=HasPropertySets;_this2068.RepresentationMaps=RepresentationMaps;_this2068.Tag=Tag;_this2068.ElementType=ElementType;_this2068.PredefinedType=PredefinedType;_this2068.type=1457835157;return _this2068;}return _createClass(IfcCurtainWallType);}(IfcBuiltElementType);IFC4X32.IfcCurtainWallType=IfcCurtainWallType;var IfcCylindricalSurface=/*#__PURE__*/function(_IfcElementarySurface9){_inherits(IfcCylindricalSurface,_IfcElementarySurface9);var _super2066=_createSuper(IfcCylindricalSurface);function IfcCylindricalSurface(expressID,Position,Radius){var _this2069;_classCallCheck(this,IfcCylindricalSurface);_this2069=_super2066.call(this,expressID,Position);_this2069.Position=Position;_this2069.Radius=Radius;_this2069.type=1213902940;return _this2069;}return _createClass(IfcCylindricalSurface);}(IfcElementarySurface);IFC4X32.IfcCylindricalSurface=IfcCylindricalSurface;var IfcDeepFoundationType=/*#__PURE__*/function(_IfcBuiltElementType6){_inherits(IfcDeepFoundationType,_IfcBuiltElementType6);var _super2067=_createSuper(IfcDeepFoundationType);function IfcDeepFoundationType(expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType){var _this2070;_classCallCheck(this,IfcDeepFoundationType);_this2070=_super2067.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType);_this2070.GlobalId=GlobalId;_this2070.OwnerHistory=OwnerHistory;_this2070.Name=Name;_this2070.Description=Description;_this2070.ApplicableOccurrence=ApplicableOccurrence;_this2070.HasPropertySets=HasPropertySets;_this2070.RepresentationMaps=RepresentationMaps;_this2070.Tag=Tag;_this2070.ElementType=ElementType;_this2070.type=1306400036;return _this2070;}return _createClass(IfcDeepFoundationType);}(IfcBuiltElementType);IFC4X32.IfcDeepFoundationType=IfcDeepFoundationType;var IfcDirectrixDerivedReferenceSweptAreaSolid=/*#__PURE__*/function(_IfcFixedReferenceSwe){_inherits(IfcDirectrixDerivedReferenceSweptAreaSolid,_IfcFixedReferenceSwe);var _super2068=_createSuper(IfcDirectrixDerivedReferenceSweptAreaSolid);function IfcDirectrixDerivedReferenceSweptAreaSolid(expressID,SweptArea,Position,Directrix,StartParam,EndParam,FixedReference){var _this2071;_classCallCheck(this,IfcDirectrixDerivedReferenceSweptAreaSolid);_this2071=_super2068.call(this,expressID,SweptArea,Position,Directrix,StartParam,EndParam,FixedReference);_this2071.SweptArea=SweptArea;_this2071.Position=Position;_this2071.Directrix=Directrix;_this2071.StartParam=StartParam;_this2071.EndParam=EndParam;_this2071.FixedReference=FixedReference;_this2071.type=4234616927;return _this2071;}return _createClass(IfcDirectrixDerivedReferenceSweptAreaSolid);}(IfcFixedReferenceSweptAreaSolid);IFC4X32.IfcDirectrixDerivedReferenceSweptAreaSolid=IfcDirectrixDerivedReferenceSweptAreaSolid;var IfcDistributionElementType=/*#__PURE__*/function(_IfcElementType20){_inherits(IfcDistributionElementType,_IfcElementType20);var _super2069=_createSuper(IfcDistributionElementType);function IfcDistributionElementType(expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType){var _this2072;_classCallCheck(this,IfcDistributionElementType);_this2072=_super2069.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType);_this2072.GlobalId=GlobalId;_this2072.OwnerHistory=OwnerHistory;_this2072.Name=Name;_this2072.Description=Description;_this2072.ApplicableOccurrence=ApplicableOccurrence;_this2072.HasPropertySets=HasPropertySets;_this2072.RepresentationMaps=RepresentationMaps;_this2072.Tag=Tag;_this2072.ElementType=ElementType;_this2072.type=3256556792;return _this2072;}return _createClass(IfcDistributionElementType);}(IfcElementType);IFC4X32.IfcDistributionElementType=IfcDistributionElementType;var IfcDistributionFlowElementType=/*#__PURE__*/function(_IfcDistributionEleme9){_inherits(IfcDistributionFlowElementType,_IfcDistributionEleme9);var _super2070=_createSuper(IfcDistributionFlowElementType);function IfcDistributionFlowElementType(expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType){var _this2073;_classCallCheck(this,IfcDistributionFlowElementType);_this2073=_super2070.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType);_this2073.GlobalId=GlobalId;_this2073.OwnerHistory=OwnerHistory;_this2073.Name=Name;_this2073.Description=Description;_this2073.ApplicableOccurrence=ApplicableOccurrence;_this2073.HasPropertySets=HasPropertySets;_this2073.RepresentationMaps=RepresentationMaps;_this2073.Tag=Tag;_this2073.ElementType=ElementType;_this2073.type=3849074793;return _this2073;}return _createClass(IfcDistributionFlowElementType);}(IfcDistributionElementType);IFC4X32.IfcDistributionFlowElementType=IfcDistributionFlowElementType;var IfcDoorLiningProperties=/*#__PURE__*/function(_IfcPreDefinedPropert16){_inherits(IfcDoorLiningProperties,_IfcPreDefinedPropert16);var _super2071=_createSuper(IfcDoorLiningProperties);function IfcDoorLiningProperties(expressID,GlobalId,OwnerHistory,Name,Description,LiningDepth,LiningThickness,ThresholdDepth,ThresholdThickness,TransomThickness,TransomOffset,LiningOffset,ThresholdOffset,CasingThickness,CasingDepth,ShapeAspectStyle,LiningToPanelOffsetX,LiningToPanelOffsetY){var _this2074;_classCallCheck(this,IfcDoorLiningProperties);_this2074=_super2071.call(this,expressID,GlobalId,OwnerHistory,Name,Description);_this2074.GlobalId=GlobalId;_this2074.OwnerHistory=OwnerHistory;_this2074.Name=Name;_this2074.Description=Description;_this2074.LiningDepth=LiningDepth;_this2074.LiningThickness=LiningThickness;_this2074.ThresholdDepth=ThresholdDepth;_this2074.ThresholdThickness=ThresholdThickness;_this2074.TransomThickness=TransomThickness;_this2074.TransomOffset=TransomOffset;_this2074.LiningOffset=LiningOffset;_this2074.ThresholdOffset=ThresholdOffset;_this2074.CasingThickness=CasingThickness;_this2074.CasingDepth=CasingDepth;_this2074.ShapeAspectStyle=ShapeAspectStyle;_this2074.LiningToPanelOffsetX=LiningToPanelOffsetX;_this2074.LiningToPanelOffsetY=LiningToPanelOffsetY;_this2074.type=2963535650;return _this2074;}return _createClass(IfcDoorLiningProperties);}(IfcPreDefinedPropertySet);IFC4X32.IfcDoorLiningProperties=IfcDoorLiningProperties;var IfcDoorPanelProperties=/*#__PURE__*/function(_IfcPreDefinedPropert17){_inherits(IfcDoorPanelProperties,_IfcPreDefinedPropert17);var _super2072=_createSuper(IfcDoorPanelProperties);function IfcDoorPanelProperties(expressID,GlobalId,OwnerHistory,Name,Description,PanelDepth,PanelOperation,PanelWidth,PanelPosition,ShapeAspectStyle){var _this2075;_classCallCheck(this,IfcDoorPanelProperties);_this2075=_super2072.call(this,expressID,GlobalId,OwnerHistory,Name,Description);_this2075.GlobalId=GlobalId;_this2075.OwnerHistory=OwnerHistory;_this2075.Name=Name;_this2075.Description=Description;_this2075.PanelDepth=PanelDepth;_this2075.PanelOperation=PanelOperation;_this2075.PanelWidth=PanelWidth;_this2075.PanelPosition=PanelPosition;_this2075.ShapeAspectStyle=ShapeAspectStyle;_this2075.type=1714330368;return _this2075;}return _createClass(IfcDoorPanelProperties);}(IfcPreDefinedPropertySet);IFC4X32.IfcDoorPanelProperties=IfcDoorPanelProperties;var IfcDoorType=/*#__PURE__*/function(_IfcBuiltElementType7){_inherits(IfcDoorType,_IfcBuiltElementType7);var _super2073=_createSuper(IfcDoorType);function IfcDoorType(expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType,PredefinedType,OperationType,ParameterTakesPrecedence,UserDefinedOperationType){var _this2076;_classCallCheck(this,IfcDoorType);_this2076=_super2073.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType);_this2076.GlobalId=GlobalId;_this2076.OwnerHistory=OwnerHistory;_this2076.Name=Name;_this2076.Description=Description;_this2076.ApplicableOccurrence=ApplicableOccurrence;_this2076.HasPropertySets=HasPropertySets;_this2076.RepresentationMaps=RepresentationMaps;_this2076.Tag=Tag;_this2076.ElementType=ElementType;_this2076.PredefinedType=PredefinedType;_this2076.OperationType=OperationType;_this2076.ParameterTakesPrecedence=ParameterTakesPrecedence;_this2076.UserDefinedOperationType=UserDefinedOperationType;_this2076.type=2323601079;return _this2076;}return _createClass(IfcDoorType);}(IfcBuiltElementType);IFC4X32.IfcDoorType=IfcDoorType;var IfcDraughtingPreDefinedColour=/*#__PURE__*/function(_IfcPreDefinedColour3){_inherits(IfcDraughtingPreDefinedColour,_IfcPreDefinedColour3);var _super2074=_createSuper(IfcDraughtingPreDefinedColour);function IfcDraughtingPreDefinedColour(expressID,Name){var _this2077;_classCallCheck(this,IfcDraughtingPreDefinedColour);_this2077=_super2074.call(this,expressID,Name);_this2077.Name=Name;_this2077.type=445594917;return _this2077;}return _createClass(IfcDraughtingPreDefinedColour);}(IfcPreDefinedColour);IFC4X32.IfcDraughtingPreDefinedColour=IfcDraughtingPreDefinedColour;var IfcDraughtingPreDefinedCurveFont=/*#__PURE__*/function(_IfcPreDefinedCurveFo3){_inherits(IfcDraughtingPreDefinedCurveFont,_IfcPreDefinedCurveFo3);var _super2075=_createSuper(IfcDraughtingPreDefinedCurveFont);function IfcDraughtingPreDefinedCurveFont(expressID,Name){var _this2078;_classCallCheck(this,IfcDraughtingPreDefinedCurveFont);_this2078=_super2075.call(this,expressID,Name);_this2078.Name=Name;_this2078.type=4006246654;return _this2078;}return _createClass(IfcDraughtingPreDefinedCurveFont);}(IfcPreDefinedCurveFont);IFC4X32.IfcDraughtingPreDefinedCurveFont=IfcDraughtingPreDefinedCurveFont;var IfcElement=/*#__PURE__*/function(_IfcProduct21){_inherits(IfcElement,_IfcProduct21);var _super2076=_createSuper(IfcElement);function IfcElement(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag){var _this2079;_classCallCheck(this,IfcElement);_this2079=_super2076.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation);_this2079.GlobalId=GlobalId;_this2079.OwnerHistory=OwnerHistory;_this2079.Name=Name;_this2079.Description=Description;_this2079.ObjectType=ObjectType;_this2079.ObjectPlacement=ObjectPlacement;_this2079.Representation=Representation;_this2079.Tag=Tag;_this2079.type=1758889154;return _this2079;}return _createClass(IfcElement);}(IfcProduct);IFC4X32.IfcElement=IfcElement;var IfcElementAssembly=/*#__PURE__*/function(_IfcElement21){_inherits(IfcElementAssembly,_IfcElement21);var _super2077=_createSuper(IfcElementAssembly);function IfcElementAssembly(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag,AssemblyPlace,PredefinedType){var _this2080;_classCallCheck(this,IfcElementAssembly);_this2080=_super2077.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag);_this2080.GlobalId=GlobalId;_this2080.OwnerHistory=OwnerHistory;_this2080.Name=Name;_this2080.Description=Description;_this2080.ObjectType=ObjectType;_this2080.ObjectPlacement=ObjectPlacement;_this2080.Representation=Representation;_this2080.Tag=Tag;_this2080.AssemblyPlace=AssemblyPlace;_this2080.PredefinedType=PredefinedType;_this2080.type=4123344466;return _this2080;}return _createClass(IfcElementAssembly);}(IfcElement);IFC4X32.IfcElementAssembly=IfcElementAssembly;var IfcElementAssemblyType=/*#__PURE__*/function(_IfcElementType21){_inherits(IfcElementAssemblyType,_IfcElementType21);var _super2078=_createSuper(IfcElementAssemblyType);function IfcElementAssemblyType(expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType,PredefinedType){var _this2081;_classCallCheck(this,IfcElementAssemblyType);_this2081=_super2078.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType);_this2081.GlobalId=GlobalId;_this2081.OwnerHistory=OwnerHistory;_this2081.Name=Name;_this2081.Description=Description;_this2081.ApplicableOccurrence=ApplicableOccurrence;_this2081.HasPropertySets=HasPropertySets;_this2081.RepresentationMaps=RepresentationMaps;_this2081.Tag=Tag;_this2081.ElementType=ElementType;_this2081.PredefinedType=PredefinedType;_this2081.type=2397081782;return _this2081;}return _createClass(IfcElementAssemblyType);}(IfcElementType);IFC4X32.IfcElementAssemblyType=IfcElementAssemblyType;var IfcElementComponent=/*#__PURE__*/function(_IfcElement22){_inherits(IfcElementComponent,_IfcElement22);var _super2079=_createSuper(IfcElementComponent);function IfcElementComponent(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag){var _this2082;_classCallCheck(this,IfcElementComponent);_this2082=_super2079.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag);_this2082.GlobalId=GlobalId;_this2082.OwnerHistory=OwnerHistory;_this2082.Name=Name;_this2082.Description=Description;_this2082.ObjectType=ObjectType;_this2082.ObjectPlacement=ObjectPlacement;_this2082.Representation=Representation;_this2082.Tag=Tag;_this2082.type=1623761950;return _this2082;}return _createClass(IfcElementComponent);}(IfcElement);IFC4X32.IfcElementComponent=IfcElementComponent;var IfcElementComponentType=/*#__PURE__*/function(_IfcElementType22){_inherits(IfcElementComponentType,_IfcElementType22);var _super2080=_createSuper(IfcElementComponentType);function IfcElementComponentType(expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType){var _this2083;_classCallCheck(this,IfcElementComponentType);_this2083=_super2080.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType);_this2083.GlobalId=GlobalId;_this2083.OwnerHistory=OwnerHistory;_this2083.Name=Name;_this2083.Description=Description;_this2083.ApplicableOccurrence=ApplicableOccurrence;_this2083.HasPropertySets=HasPropertySets;_this2083.RepresentationMaps=RepresentationMaps;_this2083.Tag=Tag;_this2083.ElementType=ElementType;_this2083.type=2590856083;return _this2083;}return _createClass(IfcElementComponentType);}(IfcElementType);IFC4X32.IfcElementComponentType=IfcElementComponentType;var IfcEllipse=/*#__PURE__*/function(_IfcConic5){_inherits(IfcEllipse,_IfcConic5);var _super2081=_createSuper(IfcEllipse);function IfcEllipse(expressID,Position,SemiAxis1,SemiAxis2){var _this2084;_classCallCheck(this,IfcEllipse);_this2084=_super2081.call(this,expressID,Position);_this2084.Position=Position;_this2084.SemiAxis1=SemiAxis1;_this2084.SemiAxis2=SemiAxis2;_this2084.type=1704287377;return _this2084;}return _createClass(IfcEllipse);}(IfcConic);IFC4X32.IfcEllipse=IfcEllipse;var IfcEnergyConversionDeviceType=/*#__PURE__*/function(_IfcDistributionFlowE37){_inherits(IfcEnergyConversionDeviceType,_IfcDistributionFlowE37);var _super2082=_createSuper(IfcEnergyConversionDeviceType);function IfcEnergyConversionDeviceType(expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType){var _this2085;_classCallCheck(this,IfcEnergyConversionDeviceType);_this2085=_super2082.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType);_this2085.GlobalId=GlobalId;_this2085.OwnerHistory=OwnerHistory;_this2085.Name=Name;_this2085.Description=Description;_this2085.ApplicableOccurrence=ApplicableOccurrence;_this2085.HasPropertySets=HasPropertySets;_this2085.RepresentationMaps=RepresentationMaps;_this2085.Tag=Tag;_this2085.ElementType=ElementType;_this2085.type=2107101300;return _this2085;}return _createClass(IfcEnergyConversionDeviceType);}(IfcDistributionFlowElementType);IFC4X32.IfcEnergyConversionDeviceType=IfcEnergyConversionDeviceType;var IfcEngineType=/*#__PURE__*/function(_IfcEnergyConversionD59){_inherits(IfcEngineType,_IfcEnergyConversionD59);var _super2083=_createSuper(IfcEngineType);function IfcEngineType(expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType,PredefinedType){var _this2086;_classCallCheck(this,IfcEngineType);_this2086=_super2083.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType);_this2086.GlobalId=GlobalId;_this2086.OwnerHistory=OwnerHistory;_this2086.Name=Name;_this2086.Description=Description;_this2086.ApplicableOccurrence=ApplicableOccurrence;_this2086.HasPropertySets=HasPropertySets;_this2086.RepresentationMaps=RepresentationMaps;_this2086.Tag=Tag;_this2086.ElementType=ElementType;_this2086.PredefinedType=PredefinedType;_this2086.type=132023988;return _this2086;}return _createClass(IfcEngineType);}(IfcEnergyConversionDeviceType);IFC4X32.IfcEngineType=IfcEngineType;var IfcEvaporativeCoolerType=/*#__PURE__*/function(_IfcEnergyConversionD60){_inherits(IfcEvaporativeCoolerType,_IfcEnergyConversionD60);var _super2084=_createSuper(IfcEvaporativeCoolerType);function IfcEvaporativeCoolerType(expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType,PredefinedType){var _this2087;_classCallCheck(this,IfcEvaporativeCoolerType);_this2087=_super2084.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType);_this2087.GlobalId=GlobalId;_this2087.OwnerHistory=OwnerHistory;_this2087.Name=Name;_this2087.Description=Description;_this2087.ApplicableOccurrence=ApplicableOccurrence;_this2087.HasPropertySets=HasPropertySets;_this2087.RepresentationMaps=RepresentationMaps;_this2087.Tag=Tag;_this2087.ElementType=ElementType;_this2087.PredefinedType=PredefinedType;_this2087.type=3174744832;return _this2087;}return _createClass(IfcEvaporativeCoolerType);}(IfcEnergyConversionDeviceType);IFC4X32.IfcEvaporativeCoolerType=IfcEvaporativeCoolerType;var IfcEvaporatorType=/*#__PURE__*/function(_IfcEnergyConversionD61){_inherits(IfcEvaporatorType,_IfcEnergyConversionD61);var _super2085=_createSuper(IfcEvaporatorType);function IfcEvaporatorType(expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType,PredefinedType){var _this2088;_classCallCheck(this,IfcEvaporatorType);_this2088=_super2085.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType);_this2088.GlobalId=GlobalId;_this2088.OwnerHistory=OwnerHistory;_this2088.Name=Name;_this2088.Description=Description;_this2088.ApplicableOccurrence=ApplicableOccurrence;_this2088.HasPropertySets=HasPropertySets;_this2088.RepresentationMaps=RepresentationMaps;_this2088.Tag=Tag;_this2088.ElementType=ElementType;_this2088.PredefinedType=PredefinedType;_this2088.type=3390157468;return _this2088;}return _createClass(IfcEvaporatorType);}(IfcEnergyConversionDeviceType);IFC4X32.IfcEvaporatorType=IfcEvaporatorType;var IfcEvent=/*#__PURE__*/function(_IfcProcess7){_inherits(IfcEvent,_IfcProcess7);var _super2086=_createSuper(IfcEvent);function IfcEvent(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,Identification,LongDescription,PredefinedType,EventTriggerType,UserDefinedEventTriggerType,EventOccurenceTime){var _this2089;_classCallCheck(this,IfcEvent);_this2089=_super2086.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,Identification,LongDescription);_this2089.GlobalId=GlobalId;_this2089.OwnerHistory=OwnerHistory;_this2089.Name=Name;_this2089.Description=Description;_this2089.ObjectType=ObjectType;_this2089.Identification=Identification;_this2089.LongDescription=LongDescription;_this2089.PredefinedType=PredefinedType;_this2089.EventTriggerType=EventTriggerType;_this2089.UserDefinedEventTriggerType=UserDefinedEventTriggerType;_this2089.EventOccurenceTime=EventOccurenceTime;_this2089.type=4148101412;return _this2089;}return _createClass(IfcEvent);}(IfcProcess);IFC4X32.IfcEvent=IfcEvent;var IfcExternalSpatialStructureElement=/*#__PURE__*/function(_IfcSpatialElement6){_inherits(IfcExternalSpatialStructureElement,_IfcSpatialElement6);var _super2087=_createSuper(IfcExternalSpatialStructureElement);function IfcExternalSpatialStructureElement(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,LongName){var _this2090;_classCallCheck(this,IfcExternalSpatialStructureElement);_this2090=_super2087.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,LongName);_this2090.GlobalId=GlobalId;_this2090.OwnerHistory=OwnerHistory;_this2090.Name=Name;_this2090.Description=Description;_this2090.ObjectType=ObjectType;_this2090.ObjectPlacement=ObjectPlacement;_this2090.Representation=Representation;_this2090.LongName=LongName;_this2090.type=2853485674;return _this2090;}return _createClass(IfcExternalSpatialStructureElement);}(IfcSpatialElement);IFC4X32.IfcExternalSpatialStructureElement=IfcExternalSpatialStructureElement;var IfcFacetedBrep=/*#__PURE__*/function(_IfcManifoldSolidBrep6){_inherits(IfcFacetedBrep,_IfcManifoldSolidBrep6);var _super2088=_createSuper(IfcFacetedBrep);function IfcFacetedBrep(expressID,Outer){var _this2091;_classCallCheck(this,IfcFacetedBrep);_this2091=_super2088.call(this,expressID,Outer);_this2091.Outer=Outer;_this2091.type=807026263;return _this2091;}return _createClass(IfcFacetedBrep);}(IfcManifoldSolidBrep);IFC4X32.IfcFacetedBrep=IfcFacetedBrep;var IfcFacetedBrepWithVoids=/*#__PURE__*/function(_IfcFacetedBrep2){_inherits(IfcFacetedBrepWithVoids,_IfcFacetedBrep2);var _super2089=_createSuper(IfcFacetedBrepWithVoids);function IfcFacetedBrepWithVoids(expressID,Outer,Voids){var _this2092;_classCallCheck(this,IfcFacetedBrepWithVoids);_this2092=_super2089.call(this,expressID,Outer);_this2092.Outer=Outer;_this2092.Voids=Voids;_this2092.type=3737207727;return _this2092;}return _createClass(IfcFacetedBrepWithVoids);}(IfcFacetedBrep);IFC4X32.IfcFacetedBrepWithVoids=IfcFacetedBrepWithVoids;var IfcFacility=/*#__PURE__*/function(_IfcSpatialStructureE12){_inherits(IfcFacility,_IfcSpatialStructureE12);var _super2090=_createSuper(IfcFacility);function IfcFacility(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,LongName,CompositionType){var _this2093;_classCallCheck(this,IfcFacility);_this2093=_super2090.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,LongName,CompositionType);_this2093.GlobalId=GlobalId;_this2093.OwnerHistory=OwnerHistory;_this2093.Name=Name;_this2093.Description=Description;_this2093.ObjectType=ObjectType;_this2093.ObjectPlacement=ObjectPlacement;_this2093.Representation=Representation;_this2093.LongName=LongName;_this2093.CompositionType=CompositionType;_this2093.type=24185140;return _this2093;}return _createClass(IfcFacility);}(IfcSpatialStructureElement);IFC4X32.IfcFacility=IfcFacility;var IfcFacilityPart=/*#__PURE__*/function(_IfcSpatialStructureE13){_inherits(IfcFacilityPart,_IfcSpatialStructureE13);var _super2091=_createSuper(IfcFacilityPart);function IfcFacilityPart(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,LongName,CompositionType,UsageType){var _this2094;_classCallCheck(this,IfcFacilityPart);_this2094=_super2091.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,LongName,CompositionType);_this2094.GlobalId=GlobalId;_this2094.OwnerHistory=OwnerHistory;_this2094.Name=Name;_this2094.Description=Description;_this2094.ObjectType=ObjectType;_this2094.ObjectPlacement=ObjectPlacement;_this2094.Representation=Representation;_this2094.LongName=LongName;_this2094.CompositionType=CompositionType;_this2094.UsageType=UsageType;_this2094.type=1310830890;return _this2094;}return _createClass(IfcFacilityPart);}(IfcSpatialStructureElement);IFC4X32.IfcFacilityPart=IfcFacilityPart;var IfcFacilityPartCommon=/*#__PURE__*/function(_IfcFacilityPart){_inherits(IfcFacilityPartCommon,_IfcFacilityPart);var _super2092=_createSuper(IfcFacilityPartCommon);function IfcFacilityPartCommon(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,LongName,CompositionType,UsageType,PredefinedType){var _this2095;_classCallCheck(this,IfcFacilityPartCommon);_this2095=_super2092.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,LongName,CompositionType,UsageType);_this2095.GlobalId=GlobalId;_this2095.OwnerHistory=OwnerHistory;_this2095.Name=Name;_this2095.Description=Description;_this2095.ObjectType=ObjectType;_this2095.ObjectPlacement=ObjectPlacement;_this2095.Representation=Representation;_this2095.LongName=LongName;_this2095.CompositionType=CompositionType;_this2095.UsageType=UsageType;_this2095.PredefinedType=PredefinedType;_this2095.type=4228831410;return _this2095;}return _createClass(IfcFacilityPartCommon);}(IfcFacilityPart);IFC4X32.IfcFacilityPartCommon=IfcFacilityPartCommon;var IfcFastener=/*#__PURE__*/function(_IfcElementComponent9){_inherits(IfcFastener,_IfcElementComponent9);var _super2093=_createSuper(IfcFastener);function IfcFastener(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag,PredefinedType){var _this2096;_classCallCheck(this,IfcFastener);_this2096=_super2093.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag);_this2096.GlobalId=GlobalId;_this2096.OwnerHistory=OwnerHistory;_this2096.Name=Name;_this2096.Description=Description;_this2096.ObjectType=ObjectType;_this2096.ObjectPlacement=ObjectPlacement;_this2096.Representation=Representation;_this2096.Tag=Tag;_this2096.PredefinedType=PredefinedType;_this2096.type=647756555;return _this2096;}return _createClass(IfcFastener);}(IfcElementComponent);IFC4X32.IfcFastener=IfcFastener;var IfcFastenerType=/*#__PURE__*/function(_IfcElementComponentT9){_inherits(IfcFastenerType,_IfcElementComponentT9);var _super2094=_createSuper(IfcFastenerType);function IfcFastenerType(expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType,PredefinedType){var _this2097;_classCallCheck(this,IfcFastenerType);_this2097=_super2094.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType);_this2097.GlobalId=GlobalId;_this2097.OwnerHistory=OwnerHistory;_this2097.Name=Name;_this2097.Description=Description;_this2097.ApplicableOccurrence=ApplicableOccurrence;_this2097.HasPropertySets=HasPropertySets;_this2097.RepresentationMaps=RepresentationMaps;_this2097.Tag=Tag;_this2097.ElementType=ElementType;_this2097.PredefinedType=PredefinedType;_this2097.type=2489546625;return _this2097;}return _createClass(IfcFastenerType);}(IfcElementComponentType);IFC4X32.IfcFastenerType=IfcFastenerType;var IfcFeatureElement=/*#__PURE__*/function(_IfcElement23){_inherits(IfcFeatureElement,_IfcElement23);var _super2095=_createSuper(IfcFeatureElement);function IfcFeatureElement(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag){var _this2098;_classCallCheck(this,IfcFeatureElement);_this2098=_super2095.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag);_this2098.GlobalId=GlobalId;_this2098.OwnerHistory=OwnerHistory;_this2098.Name=Name;_this2098.Description=Description;_this2098.ObjectType=ObjectType;_this2098.ObjectPlacement=ObjectPlacement;_this2098.Representation=Representation;_this2098.Tag=Tag;_this2098.type=2827207264;return _this2098;}return _createClass(IfcFeatureElement);}(IfcElement);IFC4X32.IfcFeatureElement=IfcFeatureElement;var IfcFeatureElementAddition=/*#__PURE__*/function(_IfcFeatureElement6){_inherits(IfcFeatureElementAddition,_IfcFeatureElement6);var _super2096=_createSuper(IfcFeatureElementAddition);function IfcFeatureElementAddition(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag){var _this2099;_classCallCheck(this,IfcFeatureElementAddition);_this2099=_super2096.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag);_this2099.GlobalId=GlobalId;_this2099.OwnerHistory=OwnerHistory;_this2099.Name=Name;_this2099.Description=Description;_this2099.ObjectType=ObjectType;_this2099.ObjectPlacement=ObjectPlacement;_this2099.Representation=Representation;_this2099.Tag=Tag;_this2099.type=2143335405;return _this2099;}return _createClass(IfcFeatureElementAddition);}(IfcFeatureElement);IFC4X32.IfcFeatureElementAddition=IfcFeatureElementAddition;var IfcFeatureElementSubtraction=/*#__PURE__*/function(_IfcFeatureElement7){_inherits(IfcFeatureElementSubtraction,_IfcFeatureElement7);var _super2097=_createSuper(IfcFeatureElementSubtraction);function IfcFeatureElementSubtraction(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag){var _this2100;_classCallCheck(this,IfcFeatureElementSubtraction);_this2100=_super2097.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag);_this2100.GlobalId=GlobalId;_this2100.OwnerHistory=OwnerHistory;_this2100.Name=Name;_this2100.Description=Description;_this2100.ObjectType=ObjectType;_this2100.ObjectPlacement=ObjectPlacement;_this2100.Representation=Representation;_this2100.Tag=Tag;_this2100.type=1287392070;return _this2100;}return _createClass(IfcFeatureElementSubtraction);}(IfcFeatureElement);IFC4X32.IfcFeatureElementSubtraction=IfcFeatureElementSubtraction;var IfcFlowControllerType=/*#__PURE__*/function(_IfcDistributionFlowE38){_inherits(IfcFlowControllerType,_IfcDistributionFlowE38);var _super2098=_createSuper(IfcFlowControllerType);function IfcFlowControllerType(expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType){var _this2101;_classCallCheck(this,IfcFlowControllerType);_this2101=_super2098.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType);_this2101.GlobalId=GlobalId;_this2101.OwnerHistory=OwnerHistory;_this2101.Name=Name;_this2101.Description=Description;_this2101.ApplicableOccurrence=ApplicableOccurrence;_this2101.HasPropertySets=HasPropertySets;_this2101.RepresentationMaps=RepresentationMaps;_this2101.Tag=Tag;_this2101.ElementType=ElementType;_this2101.type=3907093117;return _this2101;}return _createClass(IfcFlowControllerType);}(IfcDistributionFlowElementType);IFC4X32.IfcFlowControllerType=IfcFlowControllerType;var IfcFlowFittingType=/*#__PURE__*/function(_IfcDistributionFlowE39){_inherits(IfcFlowFittingType,_IfcDistributionFlowE39);var _super2099=_createSuper(IfcFlowFittingType);function IfcFlowFittingType(expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType){var _this2102;_classCallCheck(this,IfcFlowFittingType);_this2102=_super2099.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType);_this2102.GlobalId=GlobalId;_this2102.OwnerHistory=OwnerHistory;_this2102.Name=Name;_this2102.Description=Description;_this2102.ApplicableOccurrence=ApplicableOccurrence;_this2102.HasPropertySets=HasPropertySets;_this2102.RepresentationMaps=RepresentationMaps;_this2102.Tag=Tag;_this2102.ElementType=ElementType;_this2102.type=3198132628;return _this2102;}return _createClass(IfcFlowFittingType);}(IfcDistributionFlowElementType);IFC4X32.IfcFlowFittingType=IfcFlowFittingType;var IfcFlowMeterType=/*#__PURE__*/function(_IfcFlowControllerTyp16){_inherits(IfcFlowMeterType,_IfcFlowControllerTyp16);var _super2100=_createSuper(IfcFlowMeterType);function IfcFlowMeterType(expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType,PredefinedType){var _this2103;_classCallCheck(this,IfcFlowMeterType);_this2103=_super2100.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType);_this2103.GlobalId=GlobalId;_this2103.OwnerHistory=OwnerHistory;_this2103.Name=Name;_this2103.Description=Description;_this2103.ApplicableOccurrence=ApplicableOccurrence;_this2103.HasPropertySets=HasPropertySets;_this2103.RepresentationMaps=RepresentationMaps;_this2103.Tag=Tag;_this2103.ElementType=ElementType;_this2103.PredefinedType=PredefinedType;_this2103.type=3815607619;return _this2103;}return _createClass(IfcFlowMeterType);}(IfcFlowControllerType);IFC4X32.IfcFlowMeterType=IfcFlowMeterType;var IfcFlowMovingDeviceType=/*#__PURE__*/function(_IfcDistributionFlowE40){_inherits(IfcFlowMovingDeviceType,_IfcDistributionFlowE40);var _super2101=_createSuper(IfcFlowMovingDeviceType);function IfcFlowMovingDeviceType(expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType){var _this2104;_classCallCheck(this,IfcFlowMovingDeviceType);_this2104=_super2101.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType);_this2104.GlobalId=GlobalId;_this2104.OwnerHistory=OwnerHistory;_this2104.Name=Name;_this2104.Description=Description;_this2104.ApplicableOccurrence=ApplicableOccurrence;_this2104.HasPropertySets=HasPropertySets;_this2104.RepresentationMaps=RepresentationMaps;_this2104.Tag=Tag;_this2104.ElementType=ElementType;_this2104.type=1482959167;return _this2104;}return _createClass(IfcFlowMovingDeviceType);}(IfcDistributionFlowElementType);IFC4X32.IfcFlowMovingDeviceType=IfcFlowMovingDeviceType;var IfcFlowSegmentType=/*#__PURE__*/function(_IfcDistributionFlowE41){_inherits(IfcFlowSegmentType,_IfcDistributionFlowE41);var _super2102=_createSuper(IfcFlowSegmentType);function IfcFlowSegmentType(expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType){var _this2105;_classCallCheck(this,IfcFlowSegmentType);_this2105=_super2102.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType);_this2105.GlobalId=GlobalId;_this2105.OwnerHistory=OwnerHistory;_this2105.Name=Name;_this2105.Description=Description;_this2105.ApplicableOccurrence=ApplicableOccurrence;_this2105.HasPropertySets=HasPropertySets;_this2105.RepresentationMaps=RepresentationMaps;_this2105.Tag=Tag;_this2105.ElementType=ElementType;_this2105.type=1834744321;return _this2105;}return _createClass(IfcFlowSegmentType);}(IfcDistributionFlowElementType);IFC4X32.IfcFlowSegmentType=IfcFlowSegmentType;var IfcFlowStorageDeviceType=/*#__PURE__*/function(_IfcDistributionFlowE42){_inherits(IfcFlowStorageDeviceType,_IfcDistributionFlowE42);var _super2103=_createSuper(IfcFlowStorageDeviceType);function IfcFlowStorageDeviceType(expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType){var _this2106;_classCallCheck(this,IfcFlowStorageDeviceType);_this2106=_super2103.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType);_this2106.GlobalId=GlobalId;_this2106.OwnerHistory=OwnerHistory;_this2106.Name=Name;_this2106.Description=Description;_this2106.ApplicableOccurrence=ApplicableOccurrence;_this2106.HasPropertySets=HasPropertySets;_this2106.RepresentationMaps=RepresentationMaps;_this2106.Tag=Tag;_this2106.ElementType=ElementType;_this2106.type=1339347760;return _this2106;}return _createClass(IfcFlowStorageDeviceType);}(IfcDistributionFlowElementType);IFC4X32.IfcFlowStorageDeviceType=IfcFlowStorageDeviceType;var IfcFlowTerminalType=/*#__PURE__*/function(_IfcDistributionFlowE43){_inherits(IfcFlowTerminalType,_IfcDistributionFlowE43);var _super2104=_createSuper(IfcFlowTerminalType);function IfcFlowTerminalType(expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType){var _this2107;_classCallCheck(this,IfcFlowTerminalType);_this2107=_super2104.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType);_this2107.GlobalId=GlobalId;_this2107.OwnerHistory=OwnerHistory;_this2107.Name=Name;_this2107.Description=Description;_this2107.ApplicableOccurrence=ApplicableOccurrence;_this2107.HasPropertySets=HasPropertySets;_this2107.RepresentationMaps=RepresentationMaps;_this2107.Tag=Tag;_this2107.ElementType=ElementType;_this2107.type=2297155007;return _this2107;}return _createClass(IfcFlowTerminalType);}(IfcDistributionFlowElementType);IFC4X32.IfcFlowTerminalType=IfcFlowTerminalType;var IfcFlowTreatmentDeviceType=/*#__PURE__*/function(_IfcDistributionFlowE44){_inherits(IfcFlowTreatmentDeviceType,_IfcDistributionFlowE44);var _super2105=_createSuper(IfcFlowTreatmentDeviceType);function IfcFlowTreatmentDeviceType(expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType){var _this2108;_classCallCheck(this,IfcFlowTreatmentDeviceType);_this2108=_super2105.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType);_this2108.GlobalId=GlobalId;_this2108.OwnerHistory=OwnerHistory;_this2108.Name=Name;_this2108.Description=Description;_this2108.ApplicableOccurrence=ApplicableOccurrence;_this2108.HasPropertySets=HasPropertySets;_this2108.RepresentationMaps=RepresentationMaps;_this2108.Tag=Tag;_this2108.ElementType=ElementType;_this2108.type=3009222698;return _this2108;}return _createClass(IfcFlowTreatmentDeviceType);}(IfcDistributionFlowElementType);IFC4X32.IfcFlowTreatmentDeviceType=IfcFlowTreatmentDeviceType;var IfcFootingType=/*#__PURE__*/function(_IfcBuiltElementType8){_inherits(IfcFootingType,_IfcBuiltElementType8);var _super2106=_createSuper(IfcFootingType);function IfcFootingType(expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType,PredefinedType){var _this2109;_classCallCheck(this,IfcFootingType);_this2109=_super2106.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType);_this2109.GlobalId=GlobalId;_this2109.OwnerHistory=OwnerHistory;_this2109.Name=Name;_this2109.Description=Description;_this2109.ApplicableOccurrence=ApplicableOccurrence;_this2109.HasPropertySets=HasPropertySets;_this2109.RepresentationMaps=RepresentationMaps;_this2109.Tag=Tag;_this2109.ElementType=ElementType;_this2109.PredefinedType=PredefinedType;_this2109.type=1893162501;return _this2109;}return _createClass(IfcFootingType);}(IfcBuiltElementType);IFC4X32.IfcFootingType=IfcFootingType;var IfcFurnishingElement=/*#__PURE__*/function(_IfcElement24){_inherits(IfcFurnishingElement,_IfcElement24);var _super2107=_createSuper(IfcFurnishingElement);function IfcFurnishingElement(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag){var _this2110;_classCallCheck(this,IfcFurnishingElement);_this2110=_super2107.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag);_this2110.GlobalId=GlobalId;_this2110.OwnerHistory=OwnerHistory;_this2110.Name=Name;_this2110.Description=Description;_this2110.ObjectType=ObjectType;_this2110.ObjectPlacement=ObjectPlacement;_this2110.Representation=Representation;_this2110.Tag=Tag;_this2110.type=263784265;return _this2110;}return _createClass(IfcFurnishingElement);}(IfcElement);IFC4X32.IfcFurnishingElement=IfcFurnishingElement;var IfcFurniture=/*#__PURE__*/function(_IfcFurnishingElement9){_inherits(IfcFurniture,_IfcFurnishingElement9);var _super2108=_createSuper(IfcFurniture);function IfcFurniture(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag,PredefinedType){var _this2111;_classCallCheck(this,IfcFurniture);_this2111=_super2108.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag);_this2111.GlobalId=GlobalId;_this2111.OwnerHistory=OwnerHistory;_this2111.Name=Name;_this2111.Description=Description;_this2111.ObjectType=ObjectType;_this2111.ObjectPlacement=ObjectPlacement;_this2111.Representation=Representation;_this2111.Tag=Tag;_this2111.PredefinedType=PredefinedType;_this2111.type=1509553395;return _this2111;}return _createClass(IfcFurniture);}(IfcFurnishingElement);IFC4X32.IfcFurniture=IfcFurniture;var IfcGeographicElement=/*#__PURE__*/function(_IfcElement25){_inherits(IfcGeographicElement,_IfcElement25);var _super2109=_createSuper(IfcGeographicElement);function IfcGeographicElement(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag,PredefinedType){var _this2112;_classCallCheck(this,IfcGeographicElement);_this2112=_super2109.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag);_this2112.GlobalId=GlobalId;_this2112.OwnerHistory=OwnerHistory;_this2112.Name=Name;_this2112.Description=Description;_this2112.ObjectType=ObjectType;_this2112.ObjectPlacement=ObjectPlacement;_this2112.Representation=Representation;_this2112.Tag=Tag;_this2112.PredefinedType=PredefinedType;_this2112.type=3493046030;return _this2112;}return _createClass(IfcGeographicElement);}(IfcElement);IFC4X32.IfcGeographicElement=IfcGeographicElement;var IfcGeotechnicalElement=/*#__PURE__*/function(_IfcElement26){_inherits(IfcGeotechnicalElement,_IfcElement26);var _super2110=_createSuper(IfcGeotechnicalElement);function IfcGeotechnicalElement(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag){var _this2113;_classCallCheck(this,IfcGeotechnicalElement);_this2113=_super2110.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag);_this2113.GlobalId=GlobalId;_this2113.OwnerHistory=OwnerHistory;_this2113.Name=Name;_this2113.Description=Description;_this2113.ObjectType=ObjectType;_this2113.ObjectPlacement=ObjectPlacement;_this2113.Representation=Representation;_this2113.Tag=Tag;_this2113.type=4230923436;return _this2113;}return _createClass(IfcGeotechnicalElement);}(IfcElement);IFC4X32.IfcGeotechnicalElement=IfcGeotechnicalElement;var IfcGeotechnicalStratum=/*#__PURE__*/function(_IfcGeotechnicalEleme){_inherits(IfcGeotechnicalStratum,_IfcGeotechnicalEleme);var _super2111=_createSuper(IfcGeotechnicalStratum);function IfcGeotechnicalStratum(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag,PredefinedType){var _this2114;_classCallCheck(this,IfcGeotechnicalStratum);_this2114=_super2111.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag);_this2114.GlobalId=GlobalId;_this2114.OwnerHistory=OwnerHistory;_this2114.Name=Name;_this2114.Description=Description;_this2114.ObjectType=ObjectType;_this2114.ObjectPlacement=ObjectPlacement;_this2114.Representation=Representation;_this2114.Tag=Tag;_this2114.PredefinedType=PredefinedType;_this2114.type=1594536857;return _this2114;}return _createClass(IfcGeotechnicalStratum);}(IfcGeotechnicalElement);IFC4X32.IfcGeotechnicalStratum=IfcGeotechnicalStratum;var IfcGradientCurve=/*#__PURE__*/function(_IfcCompositeCurve4){_inherits(IfcGradientCurve,_IfcCompositeCurve4);var _super2112=_createSuper(IfcGradientCurve);function IfcGradientCurve(expressID,Segments,SelfIntersect,BaseCurve,EndPoint){var _this2115;_classCallCheck(this,IfcGradientCurve);_this2115=_super2112.call(this,expressID,Segments,SelfIntersect);_this2115.Segments=Segments;_this2115.SelfIntersect=SelfIntersect;_this2115.BaseCurve=BaseCurve;_this2115.EndPoint=EndPoint;_this2115.type=2898700619;return _this2115;}return _createClass(IfcGradientCurve);}(IfcCompositeCurve);IFC4X32.IfcGradientCurve=IfcGradientCurve;var IfcGroup=/*#__PURE__*/function(_IfcObject19){_inherits(IfcGroup,_IfcObject19);var _super2113=_createSuper(IfcGroup);function IfcGroup(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType){var _this2116;_classCallCheck(this,IfcGroup);_this2116=_super2113.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType);_this2116.GlobalId=GlobalId;_this2116.OwnerHistory=OwnerHistory;_this2116.Name=Name;_this2116.Description=Description;_this2116.ObjectType=ObjectType;_this2116.type=2706460486;return _this2116;}return _createClass(IfcGroup);}(IfcObject);IFC4X32.IfcGroup=IfcGroup;var IfcHeatExchangerType=/*#__PURE__*/function(_IfcEnergyConversionD62){_inherits(IfcHeatExchangerType,_IfcEnergyConversionD62);var _super2114=_createSuper(IfcHeatExchangerType);function IfcHeatExchangerType(expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType,PredefinedType){var _this2117;_classCallCheck(this,IfcHeatExchangerType);_this2117=_super2114.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType);_this2117.GlobalId=GlobalId;_this2117.OwnerHistory=OwnerHistory;_this2117.Name=Name;_this2117.Description=Description;_this2117.ApplicableOccurrence=ApplicableOccurrence;_this2117.HasPropertySets=HasPropertySets;_this2117.RepresentationMaps=RepresentationMaps;_this2117.Tag=Tag;_this2117.ElementType=ElementType;_this2117.PredefinedType=PredefinedType;_this2117.type=1251058090;return _this2117;}return _createClass(IfcHeatExchangerType);}(IfcEnergyConversionDeviceType);IFC4X32.IfcHeatExchangerType=IfcHeatExchangerType;var IfcHumidifierType=/*#__PURE__*/function(_IfcEnergyConversionD63){_inherits(IfcHumidifierType,_IfcEnergyConversionD63);var _super2115=_createSuper(IfcHumidifierType);function IfcHumidifierType(expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType,PredefinedType){var _this2118;_classCallCheck(this,IfcHumidifierType);_this2118=_super2115.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType);_this2118.GlobalId=GlobalId;_this2118.OwnerHistory=OwnerHistory;_this2118.Name=Name;_this2118.Description=Description;_this2118.ApplicableOccurrence=ApplicableOccurrence;_this2118.HasPropertySets=HasPropertySets;_this2118.RepresentationMaps=RepresentationMaps;_this2118.Tag=Tag;_this2118.ElementType=ElementType;_this2118.PredefinedType=PredefinedType;_this2118.type=1806887404;return _this2118;}return _createClass(IfcHumidifierType);}(IfcEnergyConversionDeviceType);IFC4X32.IfcHumidifierType=IfcHumidifierType;var IfcImpactProtectionDevice=/*#__PURE__*/function(_IfcElementComponent10){_inherits(IfcImpactProtectionDevice,_IfcElementComponent10);var _super2116=_createSuper(IfcImpactProtectionDevice);function IfcImpactProtectionDevice(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag,PredefinedType){var _this2119;_classCallCheck(this,IfcImpactProtectionDevice);_this2119=_super2116.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag);_this2119.GlobalId=GlobalId;_this2119.OwnerHistory=OwnerHistory;_this2119.Name=Name;_this2119.Description=Description;_this2119.ObjectType=ObjectType;_this2119.ObjectPlacement=ObjectPlacement;_this2119.Representation=Representation;_this2119.Tag=Tag;_this2119.PredefinedType=PredefinedType;_this2119.type=2568555532;return _this2119;}return _createClass(IfcImpactProtectionDevice);}(IfcElementComponent);IFC4X32.IfcImpactProtectionDevice=IfcImpactProtectionDevice;var IfcImpactProtectionDeviceType=/*#__PURE__*/function(_IfcElementComponentT10){_inherits(IfcImpactProtectionDeviceType,_IfcElementComponentT10);var _super2117=_createSuper(IfcImpactProtectionDeviceType);function IfcImpactProtectionDeviceType(expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType,PredefinedType){var _this2120;_classCallCheck(this,IfcImpactProtectionDeviceType);_this2120=_super2117.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType);_this2120.GlobalId=GlobalId;_this2120.OwnerHistory=OwnerHistory;_this2120.Name=Name;_this2120.Description=Description;_this2120.ApplicableOccurrence=ApplicableOccurrence;_this2120.HasPropertySets=HasPropertySets;_this2120.RepresentationMaps=RepresentationMaps;_this2120.Tag=Tag;_this2120.ElementType=ElementType;_this2120.PredefinedType=PredefinedType;_this2120.type=3948183225;return _this2120;}return _createClass(IfcImpactProtectionDeviceType);}(IfcElementComponentType);IFC4X32.IfcImpactProtectionDeviceType=IfcImpactProtectionDeviceType;var IfcIndexedPolyCurve=/*#__PURE__*/function(_IfcBoundedCurve11){_inherits(IfcIndexedPolyCurve,_IfcBoundedCurve11);var _super2118=_createSuper(IfcIndexedPolyCurve);function IfcIndexedPolyCurve(expressID,Points,Segments,SelfIntersect){var _this2121;_classCallCheck(this,IfcIndexedPolyCurve);_this2121=_super2118.call(this,expressID);_this2121.Points=Points;_this2121.Segments=Segments;_this2121.SelfIntersect=SelfIntersect;_this2121.type=2571569899;return _this2121;}return _createClass(IfcIndexedPolyCurve);}(IfcBoundedCurve);IFC4X32.IfcIndexedPolyCurve=IfcIndexedPolyCurve;var IfcInterceptorType=/*#__PURE__*/function(_IfcFlowTreatmentDevi9){_inherits(IfcInterceptorType,_IfcFlowTreatmentDevi9);var _super2119=_createSuper(IfcInterceptorType);function IfcInterceptorType(expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType,PredefinedType){var _this2122;_classCallCheck(this,IfcInterceptorType);_this2122=_super2119.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType);_this2122.GlobalId=GlobalId;_this2122.OwnerHistory=OwnerHistory;_this2122.Name=Name;_this2122.Description=Description;_this2122.ApplicableOccurrence=ApplicableOccurrence;_this2122.HasPropertySets=HasPropertySets;_this2122.RepresentationMaps=RepresentationMaps;_this2122.Tag=Tag;_this2122.ElementType=ElementType;_this2122.PredefinedType=PredefinedType;_this2122.type=3946677679;return _this2122;}return _createClass(IfcInterceptorType);}(IfcFlowTreatmentDeviceType);IFC4X32.IfcInterceptorType=IfcInterceptorType;var IfcIntersectionCurve=/*#__PURE__*/function(_IfcSurfaceCurve3){_inherits(IfcIntersectionCurve,_IfcSurfaceCurve3);var _super2120=_createSuper(IfcIntersectionCurve);function IfcIntersectionCurve(expressID,Curve3D,AssociatedGeometry,MasterRepresentation){var _this2123;_classCallCheck(this,IfcIntersectionCurve);_this2123=_super2120.call(this,expressID,Curve3D,AssociatedGeometry,MasterRepresentation);_this2123.Curve3D=Curve3D;_this2123.AssociatedGeometry=AssociatedGeometry;_this2123.MasterRepresentation=MasterRepresentation;_this2123.type=3113134337;return _this2123;}return _createClass(IfcIntersectionCurve);}(IfcSurfaceCurve);IFC4X32.IfcIntersectionCurve=IfcIntersectionCurve;var IfcInventory=/*#__PURE__*/function(_IfcGroup13){_inherits(IfcInventory,_IfcGroup13);var _super2121=_createSuper(IfcInventory);function IfcInventory(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,PredefinedType,Jurisdiction,ResponsiblePersons,LastUpdateDate,CurrentValue,OriginalValue){var _this2124;_classCallCheck(this,IfcInventory);_this2124=_super2121.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType);_this2124.GlobalId=GlobalId;_this2124.OwnerHistory=OwnerHistory;_this2124.Name=Name;_this2124.Description=Description;_this2124.ObjectType=ObjectType;_this2124.PredefinedType=PredefinedType;_this2124.Jurisdiction=Jurisdiction;_this2124.ResponsiblePersons=ResponsiblePersons;_this2124.LastUpdateDate=LastUpdateDate;_this2124.CurrentValue=CurrentValue;_this2124.OriginalValue=OriginalValue;_this2124.type=2391368822;return _this2124;}return _createClass(IfcInventory);}(IfcGroup);IFC4X32.IfcInventory=IfcInventory;var IfcJunctionBoxType=/*#__PURE__*/function(_IfcFlowFittingType10){_inherits(IfcJunctionBoxType,_IfcFlowFittingType10);var _super2122=_createSuper(IfcJunctionBoxType);function IfcJunctionBoxType(expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType,PredefinedType){var _this2125;_classCallCheck(this,IfcJunctionBoxType);_this2125=_super2122.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType);_this2125.GlobalId=GlobalId;_this2125.OwnerHistory=OwnerHistory;_this2125.Name=Name;_this2125.Description=Description;_this2125.ApplicableOccurrence=ApplicableOccurrence;_this2125.HasPropertySets=HasPropertySets;_this2125.RepresentationMaps=RepresentationMaps;_this2125.Tag=Tag;_this2125.ElementType=ElementType;_this2125.PredefinedType=PredefinedType;_this2125.type=4288270099;return _this2125;}return _createClass(IfcJunctionBoxType);}(IfcFlowFittingType);IFC4X32.IfcJunctionBoxType=IfcJunctionBoxType;var IfcKerbType=/*#__PURE__*/function(_IfcBuiltElementType9){_inherits(IfcKerbType,_IfcBuiltElementType9);var _super2123=_createSuper(IfcKerbType);function IfcKerbType(expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType,Mountable){var _this2126;_classCallCheck(this,IfcKerbType);_this2126=_super2123.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType);_this2126.GlobalId=GlobalId;_this2126.OwnerHistory=OwnerHistory;_this2126.Name=Name;_this2126.Description=Description;_this2126.ApplicableOccurrence=ApplicableOccurrence;_this2126.HasPropertySets=HasPropertySets;_this2126.RepresentationMaps=RepresentationMaps;_this2126.Tag=Tag;_this2126.ElementType=ElementType;_this2126.Mountable=Mountable;_this2126.type=679976338;return _this2126;}return _createClass(IfcKerbType);}(IfcBuiltElementType);IFC4X32.IfcKerbType=IfcKerbType;var IfcLaborResource=/*#__PURE__*/function(_IfcConstructionResou26){_inherits(IfcLaborResource,_IfcConstructionResou26);var _super2124=_createSuper(IfcLaborResource);function IfcLaborResource(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,Identification,LongDescription,Usage,BaseCosts,BaseQuantity,PredefinedType){var _this2127;_classCallCheck(this,IfcLaborResource);_this2127=_super2124.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,Identification,LongDescription,Usage,BaseCosts,BaseQuantity);_this2127.GlobalId=GlobalId;_this2127.OwnerHistory=OwnerHistory;_this2127.Name=Name;_this2127.Description=Description;_this2127.ObjectType=ObjectType;_this2127.Identification=Identification;_this2127.LongDescription=LongDescription;_this2127.Usage=Usage;_this2127.BaseCosts=BaseCosts;_this2127.BaseQuantity=BaseQuantity;_this2127.PredefinedType=PredefinedType;_this2127.type=3827777499;return _this2127;}return _createClass(IfcLaborResource);}(IfcConstructionResource);IFC4X32.IfcLaborResource=IfcLaborResource;var IfcLampType=/*#__PURE__*/function(_IfcFlowTerminalType25){_inherits(IfcLampType,_IfcFlowTerminalType25);var _super2125=_createSuper(IfcLampType);function IfcLampType(expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType,PredefinedType){var _this2128;_classCallCheck(this,IfcLampType);_this2128=_super2125.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType);_this2128.GlobalId=GlobalId;_this2128.OwnerHistory=OwnerHistory;_this2128.Name=Name;_this2128.Description=Description;_this2128.ApplicableOccurrence=ApplicableOccurrence;_this2128.HasPropertySets=HasPropertySets;_this2128.RepresentationMaps=RepresentationMaps;_this2128.Tag=Tag;_this2128.ElementType=ElementType;_this2128.PredefinedType=PredefinedType;_this2128.type=1051575348;return _this2128;}return _createClass(IfcLampType);}(IfcFlowTerminalType);IFC4X32.IfcLampType=IfcLampType;var IfcLightFixtureType=/*#__PURE__*/function(_IfcFlowTerminalType26){_inherits(IfcLightFixtureType,_IfcFlowTerminalType26);var _super2126=_createSuper(IfcLightFixtureType);function IfcLightFixtureType(expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType,PredefinedType){var _this2129;_classCallCheck(this,IfcLightFixtureType);_this2129=_super2126.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType);_this2129.GlobalId=GlobalId;_this2129.OwnerHistory=OwnerHistory;_this2129.Name=Name;_this2129.Description=Description;_this2129.ApplicableOccurrence=ApplicableOccurrence;_this2129.HasPropertySets=HasPropertySets;_this2129.RepresentationMaps=RepresentationMaps;_this2129.Tag=Tag;_this2129.ElementType=ElementType;_this2129.PredefinedType=PredefinedType;_this2129.type=1161773419;return _this2129;}return _createClass(IfcLightFixtureType);}(IfcFlowTerminalType);IFC4X32.IfcLightFixtureType=IfcLightFixtureType;var IfcLinearElement=/*#__PURE__*/function(_IfcProduct22){_inherits(IfcLinearElement,_IfcProduct22);var _super2127=_createSuper(IfcLinearElement);function IfcLinearElement(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation){var _this2130;_classCallCheck(this,IfcLinearElement);_this2130=_super2127.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation);_this2130.GlobalId=GlobalId;_this2130.OwnerHistory=OwnerHistory;_this2130.Name=Name;_this2130.Description=Description;_this2130.ObjectType=ObjectType;_this2130.ObjectPlacement=ObjectPlacement;_this2130.Representation=Representation;_this2130.type=2176059722;return _this2130;}return _createClass(IfcLinearElement);}(IfcProduct);IFC4X32.IfcLinearElement=IfcLinearElement;var IfcLiquidTerminalType=/*#__PURE__*/function(_IfcFlowTerminalType27){_inherits(IfcLiquidTerminalType,_IfcFlowTerminalType27);var _super2128=_createSuper(IfcLiquidTerminalType);function IfcLiquidTerminalType(expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType,PredefinedType){var _this2131;_classCallCheck(this,IfcLiquidTerminalType);_this2131=_super2128.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType);_this2131.GlobalId=GlobalId;_this2131.OwnerHistory=OwnerHistory;_this2131.Name=Name;_this2131.Description=Description;_this2131.ApplicableOccurrence=ApplicableOccurrence;_this2131.HasPropertySets=HasPropertySets;_this2131.RepresentationMaps=RepresentationMaps;_this2131.Tag=Tag;_this2131.ElementType=ElementType;_this2131.PredefinedType=PredefinedType;_this2131.type=1770583370;return _this2131;}return _createClass(IfcLiquidTerminalType);}(IfcFlowTerminalType);IFC4X32.IfcLiquidTerminalType=IfcLiquidTerminalType;var IfcMarineFacility=/*#__PURE__*/function(_IfcFacility){_inherits(IfcMarineFacility,_IfcFacility);var _super2129=_createSuper(IfcMarineFacility);function IfcMarineFacility(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,LongName,CompositionType,PredefinedType){var _this2132;_classCallCheck(this,IfcMarineFacility);_this2132=_super2129.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,LongName,CompositionType);_this2132.GlobalId=GlobalId;_this2132.OwnerHistory=OwnerHistory;_this2132.Name=Name;_this2132.Description=Description;_this2132.ObjectType=ObjectType;_this2132.ObjectPlacement=ObjectPlacement;_this2132.Representation=Representation;_this2132.LongName=LongName;_this2132.CompositionType=CompositionType;_this2132.PredefinedType=PredefinedType;_this2132.type=525669439;return _this2132;}return _createClass(IfcMarineFacility);}(IfcFacility);IFC4X32.IfcMarineFacility=IfcMarineFacility;var IfcMarinePart=/*#__PURE__*/function(_IfcFacilityPart2){_inherits(IfcMarinePart,_IfcFacilityPart2);var _super2130=_createSuper(IfcMarinePart);function IfcMarinePart(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,LongName,CompositionType,UsageType,PredefinedType){var _this2133;_classCallCheck(this,IfcMarinePart);_this2133=_super2130.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,LongName,CompositionType,UsageType);_this2133.GlobalId=GlobalId;_this2133.OwnerHistory=OwnerHistory;_this2133.Name=Name;_this2133.Description=Description;_this2133.ObjectType=ObjectType;_this2133.ObjectPlacement=ObjectPlacement;_this2133.Representation=Representation;_this2133.LongName=LongName;_this2133.CompositionType=CompositionType;_this2133.UsageType=UsageType;_this2133.PredefinedType=PredefinedType;_this2133.type=976884017;return _this2133;}return _createClass(IfcMarinePart);}(IfcFacilityPart);IFC4X32.IfcMarinePart=IfcMarinePart;var IfcMechanicalFastener=/*#__PURE__*/function(_IfcElementComponent11){_inherits(IfcMechanicalFastener,_IfcElementComponent11);var _super2131=_createSuper(IfcMechanicalFastener);function IfcMechanicalFastener(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag,NominalDiameter,NominalLength,PredefinedType){var _this2134;_classCallCheck(this,IfcMechanicalFastener);_this2134=_super2131.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag);_this2134.GlobalId=GlobalId;_this2134.OwnerHistory=OwnerHistory;_this2134.Name=Name;_this2134.Description=Description;_this2134.ObjectType=ObjectType;_this2134.ObjectPlacement=ObjectPlacement;_this2134.Representation=Representation;_this2134.Tag=Tag;_this2134.NominalDiameter=NominalDiameter;_this2134.NominalLength=NominalLength;_this2134.PredefinedType=PredefinedType;_this2134.type=377706215;return _this2134;}return _createClass(IfcMechanicalFastener);}(IfcElementComponent);IFC4X32.IfcMechanicalFastener=IfcMechanicalFastener;var IfcMechanicalFastenerType=/*#__PURE__*/function(_IfcElementComponentT11){_inherits(IfcMechanicalFastenerType,_IfcElementComponentT11);var _super2132=_createSuper(IfcMechanicalFastenerType);function IfcMechanicalFastenerType(expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType,PredefinedType,NominalDiameter,NominalLength){var _this2135;_classCallCheck(this,IfcMechanicalFastenerType);_this2135=_super2132.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType);_this2135.GlobalId=GlobalId;_this2135.OwnerHistory=OwnerHistory;_this2135.Name=Name;_this2135.Description=Description;_this2135.ApplicableOccurrence=ApplicableOccurrence;_this2135.HasPropertySets=HasPropertySets;_this2135.RepresentationMaps=RepresentationMaps;_this2135.Tag=Tag;_this2135.ElementType=ElementType;_this2135.PredefinedType=PredefinedType;_this2135.NominalDiameter=NominalDiameter;_this2135.NominalLength=NominalLength;_this2135.type=2108223431;return _this2135;}return _createClass(IfcMechanicalFastenerType);}(IfcElementComponentType);IFC4X32.IfcMechanicalFastenerType=IfcMechanicalFastenerType;var IfcMedicalDeviceType=/*#__PURE__*/function(_IfcFlowTerminalType28){_inherits(IfcMedicalDeviceType,_IfcFlowTerminalType28);var _super2133=_createSuper(IfcMedicalDeviceType);function IfcMedicalDeviceType(expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType,PredefinedType){var _this2136;_classCallCheck(this,IfcMedicalDeviceType);_this2136=_super2133.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType);_this2136.GlobalId=GlobalId;_this2136.OwnerHistory=OwnerHistory;_this2136.Name=Name;_this2136.Description=Description;_this2136.ApplicableOccurrence=ApplicableOccurrence;_this2136.HasPropertySets=HasPropertySets;_this2136.RepresentationMaps=RepresentationMaps;_this2136.Tag=Tag;_this2136.ElementType=ElementType;_this2136.PredefinedType=PredefinedType;_this2136.type=1114901282;return _this2136;}return _createClass(IfcMedicalDeviceType);}(IfcFlowTerminalType);IFC4X32.IfcMedicalDeviceType=IfcMedicalDeviceType;var IfcMemberType=/*#__PURE__*/function(_IfcBuiltElementType10){_inherits(IfcMemberType,_IfcBuiltElementType10);var _super2134=_createSuper(IfcMemberType);function IfcMemberType(expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType,PredefinedType){var _this2137;_classCallCheck(this,IfcMemberType);_this2137=_super2134.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType);_this2137.GlobalId=GlobalId;_this2137.OwnerHistory=OwnerHistory;_this2137.Name=Name;_this2137.Description=Description;_this2137.ApplicableOccurrence=ApplicableOccurrence;_this2137.HasPropertySets=HasPropertySets;_this2137.RepresentationMaps=RepresentationMaps;_this2137.Tag=Tag;_this2137.ElementType=ElementType;_this2137.PredefinedType=PredefinedType;_this2137.type=3181161470;return _this2137;}return _createClass(IfcMemberType);}(IfcBuiltElementType);IFC4X32.IfcMemberType=IfcMemberType;var IfcMobileTelecommunicationsApplianceType=/*#__PURE__*/function(_IfcFlowTerminalType29){_inherits(IfcMobileTelecommunicationsApplianceType,_IfcFlowTerminalType29);var _super2135=_createSuper(IfcMobileTelecommunicationsApplianceType);function IfcMobileTelecommunicationsApplianceType(expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType,PredefinedType){var _this2138;_classCallCheck(this,IfcMobileTelecommunicationsApplianceType);_this2138=_super2135.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType);_this2138.GlobalId=GlobalId;_this2138.OwnerHistory=OwnerHistory;_this2138.Name=Name;_this2138.Description=Description;_this2138.ApplicableOccurrence=ApplicableOccurrence;_this2138.HasPropertySets=HasPropertySets;_this2138.RepresentationMaps=RepresentationMaps;_this2138.Tag=Tag;_this2138.ElementType=ElementType;_this2138.PredefinedType=PredefinedType;_this2138.type=1950438474;return _this2138;}return _createClass(IfcMobileTelecommunicationsApplianceType);}(IfcFlowTerminalType);IFC4X32.IfcMobileTelecommunicationsApplianceType=IfcMobileTelecommunicationsApplianceType;var IfcMooringDeviceType=/*#__PURE__*/function(_IfcBuiltElementType11){_inherits(IfcMooringDeviceType,_IfcBuiltElementType11);var _super2136=_createSuper(IfcMooringDeviceType);function IfcMooringDeviceType(expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType,PredefinedType){var _this2139;_classCallCheck(this,IfcMooringDeviceType);_this2139=_super2136.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType);_this2139.GlobalId=GlobalId;_this2139.OwnerHistory=OwnerHistory;_this2139.Name=Name;_this2139.Description=Description;_this2139.ApplicableOccurrence=ApplicableOccurrence;_this2139.HasPropertySets=HasPropertySets;_this2139.RepresentationMaps=RepresentationMaps;_this2139.Tag=Tag;_this2139.ElementType=ElementType;_this2139.PredefinedType=PredefinedType;_this2139.type=710110818;return _this2139;}return _createClass(IfcMooringDeviceType);}(IfcBuiltElementType);IFC4X32.IfcMooringDeviceType=IfcMooringDeviceType;var IfcMotorConnectionType=/*#__PURE__*/function(_IfcEnergyConversionD64){_inherits(IfcMotorConnectionType,_IfcEnergyConversionD64);var _super2137=_createSuper(IfcMotorConnectionType);function IfcMotorConnectionType(expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType,PredefinedType){var _this2140;_classCallCheck(this,IfcMotorConnectionType);_this2140=_super2137.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType);_this2140.GlobalId=GlobalId;_this2140.OwnerHistory=OwnerHistory;_this2140.Name=Name;_this2140.Description=Description;_this2140.ApplicableOccurrence=ApplicableOccurrence;_this2140.HasPropertySets=HasPropertySets;_this2140.RepresentationMaps=RepresentationMaps;_this2140.Tag=Tag;_this2140.ElementType=ElementType;_this2140.PredefinedType=PredefinedType;_this2140.type=977012517;return _this2140;}return _createClass(IfcMotorConnectionType);}(IfcEnergyConversionDeviceType);IFC4X32.IfcMotorConnectionType=IfcMotorConnectionType;var IfcNavigationElementType=/*#__PURE__*/function(_IfcBuiltElementType12){_inherits(IfcNavigationElementType,_IfcBuiltElementType12);var _super2138=_createSuper(IfcNavigationElementType);function IfcNavigationElementType(expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType,PredefinedType){var _this2141;_classCallCheck(this,IfcNavigationElementType);_this2141=_super2138.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType);_this2141.GlobalId=GlobalId;_this2141.OwnerHistory=OwnerHistory;_this2141.Name=Name;_this2141.Description=Description;_this2141.ApplicableOccurrence=ApplicableOccurrence;_this2141.HasPropertySets=HasPropertySets;_this2141.RepresentationMaps=RepresentationMaps;_this2141.Tag=Tag;_this2141.ElementType=ElementType;_this2141.PredefinedType=PredefinedType;_this2141.type=506776471;return _this2141;}return _createClass(IfcNavigationElementType);}(IfcBuiltElementType);IFC4X32.IfcNavigationElementType=IfcNavigationElementType;var IfcOccupant=/*#__PURE__*/function(_IfcActor3){_inherits(IfcOccupant,_IfcActor3);var _super2139=_createSuper(IfcOccupant);function IfcOccupant(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,TheActor,PredefinedType){var _this2142;_classCallCheck(this,IfcOccupant);_this2142=_super2139.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,TheActor);_this2142.GlobalId=GlobalId;_this2142.OwnerHistory=OwnerHistory;_this2142.Name=Name;_this2142.Description=Description;_this2142.ObjectType=ObjectType;_this2142.TheActor=TheActor;_this2142.PredefinedType=PredefinedType;_this2142.type=4143007308;return _this2142;}return _createClass(IfcOccupant);}(IfcActor);IFC4X32.IfcOccupant=IfcOccupant;var IfcOpeningElement=/*#__PURE__*/function(_IfcFeatureElementSub5){_inherits(IfcOpeningElement,_IfcFeatureElementSub5);var _super2140=_createSuper(IfcOpeningElement);function IfcOpeningElement(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag,PredefinedType){var _this2143;_classCallCheck(this,IfcOpeningElement);_this2143=_super2140.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag);_this2143.GlobalId=GlobalId;_this2143.OwnerHistory=OwnerHistory;_this2143.Name=Name;_this2143.Description=Description;_this2143.ObjectType=ObjectType;_this2143.ObjectPlacement=ObjectPlacement;_this2143.Representation=Representation;_this2143.Tag=Tag;_this2143.PredefinedType=PredefinedType;_this2143.type=3588315303;return _this2143;}return _createClass(IfcOpeningElement);}(IfcFeatureElementSubtraction);IFC4X32.IfcOpeningElement=IfcOpeningElement;var IfcOutletType=/*#__PURE__*/function(_IfcFlowTerminalType30){_inherits(IfcOutletType,_IfcFlowTerminalType30);var _super2141=_createSuper(IfcOutletType);function IfcOutletType(expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType,PredefinedType){var _this2144;_classCallCheck(this,IfcOutletType);_this2144=_super2141.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType);_this2144.GlobalId=GlobalId;_this2144.OwnerHistory=OwnerHistory;_this2144.Name=Name;_this2144.Description=Description;_this2144.ApplicableOccurrence=ApplicableOccurrence;_this2144.HasPropertySets=HasPropertySets;_this2144.RepresentationMaps=RepresentationMaps;_this2144.Tag=Tag;_this2144.ElementType=ElementType;_this2144.PredefinedType=PredefinedType;_this2144.type=2837617999;return _this2144;}return _createClass(IfcOutletType);}(IfcFlowTerminalType);IFC4X32.IfcOutletType=IfcOutletType;var IfcPavementType=/*#__PURE__*/function(_IfcBuiltElementType13){_inherits(IfcPavementType,_IfcBuiltElementType13);var _super2142=_createSuper(IfcPavementType);function IfcPavementType(expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType,PredefinedType){var _this2145;_classCallCheck(this,IfcPavementType);_this2145=_super2142.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType);_this2145.GlobalId=GlobalId;_this2145.OwnerHistory=OwnerHistory;_this2145.Name=Name;_this2145.Description=Description;_this2145.ApplicableOccurrence=ApplicableOccurrence;_this2145.HasPropertySets=HasPropertySets;_this2145.RepresentationMaps=RepresentationMaps;_this2145.Tag=Tag;_this2145.ElementType=ElementType;_this2145.PredefinedType=PredefinedType;_this2145.type=514975943;return _this2145;}return _createClass(IfcPavementType);}(IfcBuiltElementType);IFC4X32.IfcPavementType=IfcPavementType;var IfcPerformanceHistory=/*#__PURE__*/function(_IfcControl26){_inherits(IfcPerformanceHistory,_IfcControl26);var _super2143=_createSuper(IfcPerformanceHistory);function IfcPerformanceHistory(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,Identification,LifeCyclePhase,PredefinedType){var _this2146;_classCallCheck(this,IfcPerformanceHistory);_this2146=_super2143.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,Identification);_this2146.GlobalId=GlobalId;_this2146.OwnerHistory=OwnerHistory;_this2146.Name=Name;_this2146.Description=Description;_this2146.ObjectType=ObjectType;_this2146.Identification=Identification;_this2146.LifeCyclePhase=LifeCyclePhase;_this2146.PredefinedType=PredefinedType;_this2146.type=2382730787;return _this2146;}return _createClass(IfcPerformanceHistory);}(IfcControl);IFC4X32.IfcPerformanceHistory=IfcPerformanceHistory;var IfcPermeableCoveringProperties=/*#__PURE__*/function(_IfcPreDefinedPropert18){_inherits(IfcPermeableCoveringProperties,_IfcPreDefinedPropert18);var _super2144=_createSuper(IfcPermeableCoveringProperties);function IfcPermeableCoveringProperties(expressID,GlobalId,OwnerHistory,Name,Description,OperationType,PanelPosition,FrameDepth,FrameThickness,ShapeAspectStyle){var _this2147;_classCallCheck(this,IfcPermeableCoveringProperties);_this2147=_super2144.call(this,expressID,GlobalId,OwnerHistory,Name,Description);_this2147.GlobalId=GlobalId;_this2147.OwnerHistory=OwnerHistory;_this2147.Name=Name;_this2147.Description=Description;_this2147.OperationType=OperationType;_this2147.PanelPosition=PanelPosition;_this2147.FrameDepth=FrameDepth;_this2147.FrameThickness=FrameThickness;_this2147.ShapeAspectStyle=ShapeAspectStyle;_this2147.type=3566463478;return _this2147;}return _createClass(IfcPermeableCoveringProperties);}(IfcPreDefinedPropertySet);IFC4X32.IfcPermeableCoveringProperties=IfcPermeableCoveringProperties;var IfcPermit=/*#__PURE__*/function(_IfcControl27){_inherits(IfcPermit,_IfcControl27);var _super2145=_createSuper(IfcPermit);function IfcPermit(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,Identification,PredefinedType,Status,LongDescription){var _this2148;_classCallCheck(this,IfcPermit);_this2148=_super2145.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,Identification);_this2148.GlobalId=GlobalId;_this2148.OwnerHistory=OwnerHistory;_this2148.Name=Name;_this2148.Description=Description;_this2148.ObjectType=ObjectType;_this2148.Identification=Identification;_this2148.PredefinedType=PredefinedType;_this2148.Status=Status;_this2148.LongDescription=LongDescription;_this2148.type=3327091369;return _this2148;}return _createClass(IfcPermit);}(IfcControl);IFC4X32.IfcPermit=IfcPermit;var IfcPileType=/*#__PURE__*/function(_IfcDeepFoundationTyp){_inherits(IfcPileType,_IfcDeepFoundationTyp);var _super2146=_createSuper(IfcPileType);function IfcPileType(expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType,PredefinedType){var _this2149;_classCallCheck(this,IfcPileType);_this2149=_super2146.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType);_this2149.GlobalId=GlobalId;_this2149.OwnerHistory=OwnerHistory;_this2149.Name=Name;_this2149.Description=Description;_this2149.ApplicableOccurrence=ApplicableOccurrence;_this2149.HasPropertySets=HasPropertySets;_this2149.RepresentationMaps=RepresentationMaps;_this2149.Tag=Tag;_this2149.ElementType=ElementType;_this2149.PredefinedType=PredefinedType;_this2149.type=1158309216;return _this2149;}return _createClass(IfcPileType);}(IfcDeepFoundationType);IFC4X32.IfcPileType=IfcPileType;var IfcPipeFittingType=/*#__PURE__*/function(_IfcFlowFittingType11){_inherits(IfcPipeFittingType,_IfcFlowFittingType11);var _super2147=_createSuper(IfcPipeFittingType);function IfcPipeFittingType(expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType,PredefinedType){var _this2150;_classCallCheck(this,IfcPipeFittingType);_this2150=_super2147.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType);_this2150.GlobalId=GlobalId;_this2150.OwnerHistory=OwnerHistory;_this2150.Name=Name;_this2150.Description=Description;_this2150.ApplicableOccurrence=ApplicableOccurrence;_this2150.HasPropertySets=HasPropertySets;_this2150.RepresentationMaps=RepresentationMaps;_this2150.Tag=Tag;_this2150.ElementType=ElementType;_this2150.PredefinedType=PredefinedType;_this2150.type=804291784;return _this2150;}return _createClass(IfcPipeFittingType);}(IfcFlowFittingType);IFC4X32.IfcPipeFittingType=IfcPipeFittingType;var IfcPipeSegmentType=/*#__PURE__*/function(_IfcFlowSegmentType9){_inherits(IfcPipeSegmentType,_IfcFlowSegmentType9);var _super2148=_createSuper(IfcPipeSegmentType);function IfcPipeSegmentType(expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType,PredefinedType){var _this2151;_classCallCheck(this,IfcPipeSegmentType);_this2151=_super2148.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType);_this2151.GlobalId=GlobalId;_this2151.OwnerHistory=OwnerHistory;_this2151.Name=Name;_this2151.Description=Description;_this2151.ApplicableOccurrence=ApplicableOccurrence;_this2151.HasPropertySets=HasPropertySets;_this2151.RepresentationMaps=RepresentationMaps;_this2151.Tag=Tag;_this2151.ElementType=ElementType;_this2151.PredefinedType=PredefinedType;_this2151.type=4231323485;return _this2151;}return _createClass(IfcPipeSegmentType);}(IfcFlowSegmentType);IFC4X32.IfcPipeSegmentType=IfcPipeSegmentType;var IfcPlateType=/*#__PURE__*/function(_IfcBuiltElementType14){_inherits(IfcPlateType,_IfcBuiltElementType14);var _super2149=_createSuper(IfcPlateType);function IfcPlateType(expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType,PredefinedType){var _this2152;_classCallCheck(this,IfcPlateType);_this2152=_super2149.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType);_this2152.GlobalId=GlobalId;_this2152.OwnerHistory=OwnerHistory;_this2152.Name=Name;_this2152.Description=Description;_this2152.ApplicableOccurrence=ApplicableOccurrence;_this2152.HasPropertySets=HasPropertySets;_this2152.RepresentationMaps=RepresentationMaps;_this2152.Tag=Tag;_this2152.ElementType=ElementType;_this2152.PredefinedType=PredefinedType;_this2152.type=4017108033;return _this2152;}return _createClass(IfcPlateType);}(IfcBuiltElementType);IFC4X32.IfcPlateType=IfcPlateType;var IfcPolygonalFaceSet=/*#__PURE__*/function(_IfcTessellatedFaceSe4){_inherits(IfcPolygonalFaceSet,_IfcTessellatedFaceSe4);var _super2150=_createSuper(IfcPolygonalFaceSet);function IfcPolygonalFaceSet(expressID,Coordinates,Closed,Faces,PnIndex){var _this2153;_classCallCheck(this,IfcPolygonalFaceSet);_this2153=_super2150.call(this,expressID,Coordinates,Closed);_this2153.Coordinates=Coordinates;_this2153.Closed=Closed;_this2153.Faces=Faces;_this2153.PnIndex=PnIndex;_this2153.type=2839578677;return _this2153;}return _createClass(IfcPolygonalFaceSet);}(IfcTessellatedFaceSet);IFC4X32.IfcPolygonalFaceSet=IfcPolygonalFaceSet;var IfcPolyline=/*#__PURE__*/function(_IfcBoundedCurve12){_inherits(IfcPolyline,_IfcBoundedCurve12);var _super2151=_createSuper(IfcPolyline);function IfcPolyline(expressID,Points){var _this2154;_classCallCheck(this,IfcPolyline);_this2154=_super2151.call(this,expressID);_this2154.Points=Points;_this2154.type=3724593414;return _this2154;}return _createClass(IfcPolyline);}(IfcBoundedCurve);IFC4X32.IfcPolyline=IfcPolyline;var IfcPort=/*#__PURE__*/function(_IfcProduct23){_inherits(IfcPort,_IfcProduct23);var _super2152=_createSuper(IfcPort);function IfcPort(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation){var _this2155;_classCallCheck(this,IfcPort);_this2155=_super2152.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation);_this2155.GlobalId=GlobalId;_this2155.OwnerHistory=OwnerHistory;_this2155.Name=Name;_this2155.Description=Description;_this2155.ObjectType=ObjectType;_this2155.ObjectPlacement=ObjectPlacement;_this2155.Representation=Representation;_this2155.type=3740093272;return _this2155;}return _createClass(IfcPort);}(IfcProduct);IFC4X32.IfcPort=IfcPort;var IfcPositioningElement=/*#__PURE__*/function(_IfcProduct24){_inherits(IfcPositioningElement,_IfcProduct24);var _super2153=_createSuper(IfcPositioningElement);function IfcPositioningElement(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation){var _this2156;_classCallCheck(this,IfcPositioningElement);_this2156=_super2153.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation);_this2156.GlobalId=GlobalId;_this2156.OwnerHistory=OwnerHistory;_this2156.Name=Name;_this2156.Description=Description;_this2156.ObjectType=ObjectType;_this2156.ObjectPlacement=ObjectPlacement;_this2156.Representation=Representation;_this2156.type=1946335990;return _this2156;}return _createClass(IfcPositioningElement);}(IfcProduct);IFC4X32.IfcPositioningElement=IfcPositioningElement;var IfcProcedure=/*#__PURE__*/function(_IfcProcess8){_inherits(IfcProcedure,_IfcProcess8);var _super2154=_createSuper(IfcProcedure);function IfcProcedure(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,Identification,LongDescription,PredefinedType){var _this2157;_classCallCheck(this,IfcProcedure);_this2157=_super2154.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,Identification,LongDescription);_this2157.GlobalId=GlobalId;_this2157.OwnerHistory=OwnerHistory;_this2157.Name=Name;_this2157.Description=Description;_this2157.ObjectType=ObjectType;_this2157.Identification=Identification;_this2157.LongDescription=LongDescription;_this2157.PredefinedType=PredefinedType;_this2157.type=2744685151;return _this2157;}return _createClass(IfcProcedure);}(IfcProcess);IFC4X32.IfcProcedure=IfcProcedure;var IfcProjectOrder=/*#__PURE__*/function(_IfcControl28){_inherits(IfcProjectOrder,_IfcControl28);var _super2155=_createSuper(IfcProjectOrder);function IfcProjectOrder(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,Identification,PredefinedType,Status,LongDescription){var _this2158;_classCallCheck(this,IfcProjectOrder);_this2158=_super2155.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,Identification);_this2158.GlobalId=GlobalId;_this2158.OwnerHistory=OwnerHistory;_this2158.Name=Name;_this2158.Description=Description;_this2158.ObjectType=ObjectType;_this2158.Identification=Identification;_this2158.PredefinedType=PredefinedType;_this2158.Status=Status;_this2158.LongDescription=LongDescription;_this2158.type=2904328755;return _this2158;}return _createClass(IfcProjectOrder);}(IfcControl);IFC4X32.IfcProjectOrder=IfcProjectOrder;var IfcProjectionElement=/*#__PURE__*/function(_IfcFeatureElementAdd3){_inherits(IfcProjectionElement,_IfcFeatureElementAdd3);var _super2156=_createSuper(IfcProjectionElement);function IfcProjectionElement(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag,PredefinedType){var _this2159;_classCallCheck(this,IfcProjectionElement);_this2159=_super2156.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag);_this2159.GlobalId=GlobalId;_this2159.OwnerHistory=OwnerHistory;_this2159.Name=Name;_this2159.Description=Description;_this2159.ObjectType=ObjectType;_this2159.ObjectPlacement=ObjectPlacement;_this2159.Representation=Representation;_this2159.Tag=Tag;_this2159.PredefinedType=PredefinedType;_this2159.type=3651124850;return _this2159;}return _createClass(IfcProjectionElement);}(IfcFeatureElementAddition);IFC4X32.IfcProjectionElement=IfcProjectionElement;var IfcProtectiveDeviceType=/*#__PURE__*/function(_IfcFlowControllerTyp17){_inherits(IfcProtectiveDeviceType,_IfcFlowControllerTyp17);var _super2157=_createSuper(IfcProtectiveDeviceType);function IfcProtectiveDeviceType(expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType,PredefinedType){var _this2160;_classCallCheck(this,IfcProtectiveDeviceType);_this2160=_super2157.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType);_this2160.GlobalId=GlobalId;_this2160.OwnerHistory=OwnerHistory;_this2160.Name=Name;_this2160.Description=Description;_this2160.ApplicableOccurrence=ApplicableOccurrence;_this2160.HasPropertySets=HasPropertySets;_this2160.RepresentationMaps=RepresentationMaps;_this2160.Tag=Tag;_this2160.ElementType=ElementType;_this2160.PredefinedType=PredefinedType;_this2160.type=1842657554;return _this2160;}return _createClass(IfcProtectiveDeviceType);}(IfcFlowControllerType);IFC4X32.IfcProtectiveDeviceType=IfcProtectiveDeviceType;var IfcPumpType=/*#__PURE__*/function(_IfcFlowMovingDeviceT7){_inherits(IfcPumpType,_IfcFlowMovingDeviceT7);var _super2158=_createSuper(IfcPumpType);function IfcPumpType(expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType,PredefinedType){var _this2161;_classCallCheck(this,IfcPumpType);_this2161=_super2158.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType);_this2161.GlobalId=GlobalId;_this2161.OwnerHistory=OwnerHistory;_this2161.Name=Name;_this2161.Description=Description;_this2161.ApplicableOccurrence=ApplicableOccurrence;_this2161.HasPropertySets=HasPropertySets;_this2161.RepresentationMaps=RepresentationMaps;_this2161.Tag=Tag;_this2161.ElementType=ElementType;_this2161.PredefinedType=PredefinedType;_this2161.type=2250791053;return _this2161;}return _createClass(IfcPumpType);}(IfcFlowMovingDeviceType);IFC4X32.IfcPumpType=IfcPumpType;var IfcRailType=/*#__PURE__*/function(_IfcBuiltElementType15){_inherits(IfcRailType,_IfcBuiltElementType15);var _super2159=_createSuper(IfcRailType);function IfcRailType(expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType,PredefinedType){var _this2162;_classCallCheck(this,IfcRailType);_this2162=_super2159.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType);_this2162.GlobalId=GlobalId;_this2162.OwnerHistory=OwnerHistory;_this2162.Name=Name;_this2162.Description=Description;_this2162.ApplicableOccurrence=ApplicableOccurrence;_this2162.HasPropertySets=HasPropertySets;_this2162.RepresentationMaps=RepresentationMaps;_this2162.Tag=Tag;_this2162.ElementType=ElementType;_this2162.PredefinedType=PredefinedType;_this2162.type=1763565496;return _this2162;}return _createClass(IfcRailType);}(IfcBuiltElementType);IFC4X32.IfcRailType=IfcRailType;var IfcRailingType=/*#__PURE__*/function(_IfcBuiltElementType16){_inherits(IfcRailingType,_IfcBuiltElementType16);var _super2160=_createSuper(IfcRailingType);function IfcRailingType(expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType,PredefinedType){var _this2163;_classCallCheck(this,IfcRailingType);_this2163=_super2160.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType);_this2163.GlobalId=GlobalId;_this2163.OwnerHistory=OwnerHistory;_this2163.Name=Name;_this2163.Description=Description;_this2163.ApplicableOccurrence=ApplicableOccurrence;_this2163.HasPropertySets=HasPropertySets;_this2163.RepresentationMaps=RepresentationMaps;_this2163.Tag=Tag;_this2163.ElementType=ElementType;_this2163.PredefinedType=PredefinedType;_this2163.type=2893384427;return _this2163;}return _createClass(IfcRailingType);}(IfcBuiltElementType);IFC4X32.IfcRailingType=IfcRailingType;var IfcRailway=/*#__PURE__*/function(_IfcFacility2){_inherits(IfcRailway,_IfcFacility2);var _super2161=_createSuper(IfcRailway);function IfcRailway(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,LongName,CompositionType,PredefinedType){var _this2164;_classCallCheck(this,IfcRailway);_this2164=_super2161.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,LongName,CompositionType);_this2164.GlobalId=GlobalId;_this2164.OwnerHistory=OwnerHistory;_this2164.Name=Name;_this2164.Description=Description;_this2164.ObjectType=ObjectType;_this2164.ObjectPlacement=ObjectPlacement;_this2164.Representation=Representation;_this2164.LongName=LongName;_this2164.CompositionType=CompositionType;_this2164.PredefinedType=PredefinedType;_this2164.type=3992365140;return _this2164;}return _createClass(IfcRailway);}(IfcFacility);IFC4X32.IfcRailway=IfcRailway;var IfcRailwayPart=/*#__PURE__*/function(_IfcFacilityPart3){_inherits(IfcRailwayPart,_IfcFacilityPart3);var _super2162=_createSuper(IfcRailwayPart);function IfcRailwayPart(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,LongName,CompositionType,UsageType,PredefinedType){var _this2165;_classCallCheck(this,IfcRailwayPart);_this2165=_super2162.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,LongName,CompositionType,UsageType);_this2165.GlobalId=GlobalId;_this2165.OwnerHistory=OwnerHistory;_this2165.Name=Name;_this2165.Description=Description;_this2165.ObjectType=ObjectType;_this2165.ObjectPlacement=ObjectPlacement;_this2165.Representation=Representation;_this2165.LongName=LongName;_this2165.CompositionType=CompositionType;_this2165.UsageType=UsageType;_this2165.PredefinedType=PredefinedType;_this2165.type=1891881377;return _this2165;}return _createClass(IfcRailwayPart);}(IfcFacilityPart);IFC4X32.IfcRailwayPart=IfcRailwayPart;var IfcRampFlightType=/*#__PURE__*/function(_IfcBuiltElementType17){_inherits(IfcRampFlightType,_IfcBuiltElementType17);var _super2163=_createSuper(IfcRampFlightType);function IfcRampFlightType(expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType,PredefinedType){var _this2166;_classCallCheck(this,IfcRampFlightType);_this2166=_super2163.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType);_this2166.GlobalId=GlobalId;_this2166.OwnerHistory=OwnerHistory;_this2166.Name=Name;_this2166.Description=Description;_this2166.ApplicableOccurrence=ApplicableOccurrence;_this2166.HasPropertySets=HasPropertySets;_this2166.RepresentationMaps=RepresentationMaps;_this2166.Tag=Tag;_this2166.ElementType=ElementType;_this2166.PredefinedType=PredefinedType;_this2166.type=2324767716;return _this2166;}return _createClass(IfcRampFlightType);}(IfcBuiltElementType);IFC4X32.IfcRampFlightType=IfcRampFlightType;var IfcRampType=/*#__PURE__*/function(_IfcBuiltElementType18){_inherits(IfcRampType,_IfcBuiltElementType18);var _super2164=_createSuper(IfcRampType);function IfcRampType(expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType,PredefinedType){var _this2167;_classCallCheck(this,IfcRampType);_this2167=_super2164.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType);_this2167.GlobalId=GlobalId;_this2167.OwnerHistory=OwnerHistory;_this2167.Name=Name;_this2167.Description=Description;_this2167.ApplicableOccurrence=ApplicableOccurrence;_this2167.HasPropertySets=HasPropertySets;_this2167.RepresentationMaps=RepresentationMaps;_this2167.Tag=Tag;_this2167.ElementType=ElementType;_this2167.PredefinedType=PredefinedType;_this2167.type=1469900589;return _this2167;}return _createClass(IfcRampType);}(IfcBuiltElementType);IFC4X32.IfcRampType=IfcRampType;var IfcRationalBSplineSurfaceWithKnots=/*#__PURE__*/function(_IfcBSplineSurfaceWit2){_inherits(IfcRationalBSplineSurfaceWithKnots,_IfcBSplineSurfaceWit2);var _super2165=_createSuper(IfcRationalBSplineSurfaceWithKnots);function IfcRationalBSplineSurfaceWithKnots(expressID,UDegree,VDegree,ControlPointsList,SurfaceForm,UClosed,VClosed,SelfIntersect,UMultiplicities,VMultiplicities,UKnots,VKnots,KnotSpec,WeightsData){var _this2168;_classCallCheck(this,IfcRationalBSplineSurfaceWithKnots);_this2168=_super2165.call(this,expressID,UDegree,VDegree,ControlPointsList,SurfaceForm,UClosed,VClosed,SelfIntersect,UMultiplicities,VMultiplicities,UKnots,VKnots,KnotSpec);_this2168.UDegree=UDegree;_this2168.VDegree=VDegree;_this2168.ControlPointsList=ControlPointsList;_this2168.SurfaceForm=SurfaceForm;_this2168.UClosed=UClosed;_this2168.VClosed=VClosed;_this2168.SelfIntersect=SelfIntersect;_this2168.UMultiplicities=UMultiplicities;_this2168.VMultiplicities=VMultiplicities;_this2168.UKnots=UKnots;_this2168.VKnots=VKnots;_this2168.KnotSpec=KnotSpec;_this2168.WeightsData=WeightsData;_this2168.type=683857671;return _this2168;}return _createClass(IfcRationalBSplineSurfaceWithKnots);}(IfcBSplineSurfaceWithKnots);IFC4X32.IfcRationalBSplineSurfaceWithKnots=IfcRationalBSplineSurfaceWithKnots;var IfcReferent=/*#__PURE__*/function(_IfcPositioningElemen){_inherits(IfcReferent,_IfcPositioningElemen);var _super2166=_createSuper(IfcReferent);function IfcReferent(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,PredefinedType){var _this2169;_classCallCheck(this,IfcReferent);_this2169=_super2166.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation);_this2169.GlobalId=GlobalId;_this2169.OwnerHistory=OwnerHistory;_this2169.Name=Name;_this2169.Description=Description;_this2169.ObjectType=ObjectType;_this2169.ObjectPlacement=ObjectPlacement;_this2169.Representation=Representation;_this2169.PredefinedType=PredefinedType;_this2169.type=4021432810;return _this2169;}return _createClass(IfcReferent);}(IfcPositioningElement);IFC4X32.IfcReferent=IfcReferent;var IfcReinforcingElement=/*#__PURE__*/function(_IfcElementComponent12){_inherits(IfcReinforcingElement,_IfcElementComponent12);var _super2167=_createSuper(IfcReinforcingElement);function IfcReinforcingElement(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag,SteelGrade){var _this2170;_classCallCheck(this,IfcReinforcingElement);_this2170=_super2167.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag);_this2170.GlobalId=GlobalId;_this2170.OwnerHistory=OwnerHistory;_this2170.Name=Name;_this2170.Description=Description;_this2170.ObjectType=ObjectType;_this2170.ObjectPlacement=ObjectPlacement;_this2170.Representation=Representation;_this2170.Tag=Tag;_this2170.SteelGrade=SteelGrade;_this2170.type=3027567501;return _this2170;}return _createClass(IfcReinforcingElement);}(IfcElementComponent);IFC4X32.IfcReinforcingElement=IfcReinforcingElement;var IfcReinforcingElementType=/*#__PURE__*/function(_IfcElementComponentT12){_inherits(IfcReinforcingElementType,_IfcElementComponentT12);var _super2168=_createSuper(IfcReinforcingElementType);function IfcReinforcingElementType(expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType){var _this2171;_classCallCheck(this,IfcReinforcingElementType);_this2171=_super2168.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType);_this2171.GlobalId=GlobalId;_this2171.OwnerHistory=OwnerHistory;_this2171.Name=Name;_this2171.Description=Description;_this2171.ApplicableOccurrence=ApplicableOccurrence;_this2171.HasPropertySets=HasPropertySets;_this2171.RepresentationMaps=RepresentationMaps;_this2171.Tag=Tag;_this2171.ElementType=ElementType;_this2171.type=964333572;return _this2171;}return _createClass(IfcReinforcingElementType);}(IfcElementComponentType);IFC4X32.IfcReinforcingElementType=IfcReinforcingElementType;var IfcReinforcingMesh=/*#__PURE__*/function(_IfcReinforcingElemen13){_inherits(IfcReinforcingMesh,_IfcReinforcingElemen13);var _super2169=_createSuper(IfcReinforcingMesh);function IfcReinforcingMesh(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag,SteelGrade,MeshLength,MeshWidth,LongitudinalBarNominalDiameter,TransverseBarNominalDiameter,LongitudinalBarCrossSectionArea,TransverseBarCrossSectionArea,LongitudinalBarSpacing,TransverseBarSpacing,PredefinedType){var _this2172;_classCallCheck(this,IfcReinforcingMesh);_this2172=_super2169.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag,SteelGrade);_this2172.GlobalId=GlobalId;_this2172.OwnerHistory=OwnerHistory;_this2172.Name=Name;_this2172.Description=Description;_this2172.ObjectType=ObjectType;_this2172.ObjectPlacement=ObjectPlacement;_this2172.Representation=Representation;_this2172.Tag=Tag;_this2172.SteelGrade=SteelGrade;_this2172.MeshLength=MeshLength;_this2172.MeshWidth=MeshWidth;_this2172.LongitudinalBarNominalDiameter=LongitudinalBarNominalDiameter;_this2172.TransverseBarNominalDiameter=TransverseBarNominalDiameter;_this2172.LongitudinalBarCrossSectionArea=LongitudinalBarCrossSectionArea;_this2172.TransverseBarCrossSectionArea=TransverseBarCrossSectionArea;_this2172.LongitudinalBarSpacing=LongitudinalBarSpacing;_this2172.TransverseBarSpacing=TransverseBarSpacing;_this2172.PredefinedType=PredefinedType;_this2172.type=2320036040;return _this2172;}return _createClass(IfcReinforcingMesh);}(IfcReinforcingElement);IFC4X32.IfcReinforcingMesh=IfcReinforcingMesh;var IfcReinforcingMeshType=/*#__PURE__*/function(_IfcReinforcingElemen14){_inherits(IfcReinforcingMeshType,_IfcReinforcingElemen14);var _super2170=_createSuper(IfcReinforcingMeshType);function IfcReinforcingMeshType(expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType,PredefinedType,MeshLength,MeshWidth,LongitudinalBarNominalDiameter,TransverseBarNominalDiameter,LongitudinalBarCrossSectionArea,TransverseBarCrossSectionArea,LongitudinalBarSpacing,TransverseBarSpacing,BendingShapeCode,BendingParameters){var _this2173;_classCallCheck(this,IfcReinforcingMeshType);_this2173=_super2170.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType);_this2173.GlobalId=GlobalId;_this2173.OwnerHistory=OwnerHistory;_this2173.Name=Name;_this2173.Description=Description;_this2173.ApplicableOccurrence=ApplicableOccurrence;_this2173.HasPropertySets=HasPropertySets;_this2173.RepresentationMaps=RepresentationMaps;_this2173.Tag=Tag;_this2173.ElementType=ElementType;_this2173.PredefinedType=PredefinedType;_this2173.MeshLength=MeshLength;_this2173.MeshWidth=MeshWidth;_this2173.LongitudinalBarNominalDiameter=LongitudinalBarNominalDiameter;_this2173.TransverseBarNominalDiameter=TransverseBarNominalDiameter;_this2173.LongitudinalBarCrossSectionArea=LongitudinalBarCrossSectionArea;_this2173.TransverseBarCrossSectionArea=TransverseBarCrossSectionArea;_this2173.LongitudinalBarSpacing=LongitudinalBarSpacing;_this2173.TransverseBarSpacing=TransverseBarSpacing;_this2173.BendingShapeCode=BendingShapeCode;_this2173.BendingParameters=BendingParameters;_this2173.type=2310774935;return _this2173;}return _createClass(IfcReinforcingMeshType);}(IfcReinforcingElementType);IFC4X32.IfcReinforcingMeshType=IfcReinforcingMeshType;var IfcRelAdheresToElement=/*#__PURE__*/function(_IfcRelDecomposes10){_inherits(IfcRelAdheresToElement,_IfcRelDecomposes10);var _super2171=_createSuper(IfcRelAdheresToElement);function IfcRelAdheresToElement(expressID,GlobalId,OwnerHistory,Name,Description,RelatingElement,RelatedSurfaceFeatures){var _this2174;_classCallCheck(this,IfcRelAdheresToElement);_this2174=_super2171.call(this,expressID,GlobalId,OwnerHistory,Name,Description);_this2174.GlobalId=GlobalId;_this2174.OwnerHistory=OwnerHistory;_this2174.Name=Name;_this2174.Description=Description;_this2174.RelatingElement=RelatingElement;_this2174.RelatedSurfaceFeatures=RelatedSurfaceFeatures;_this2174.type=3818125796;return _this2174;}return _createClass(IfcRelAdheresToElement);}(IfcRelDecomposes);IFC4X32.IfcRelAdheresToElement=IfcRelAdheresToElement;var IfcRelAggregates=/*#__PURE__*/function(_IfcRelDecomposes11){_inherits(IfcRelAggregates,_IfcRelDecomposes11);var _super2172=_createSuper(IfcRelAggregates);function IfcRelAggregates(expressID,GlobalId,OwnerHistory,Name,Description,RelatingObject,RelatedObjects){var _this2175;_classCallCheck(this,IfcRelAggregates);_this2175=_super2172.call(this,expressID,GlobalId,OwnerHistory,Name,Description);_this2175.GlobalId=GlobalId;_this2175.OwnerHistory=OwnerHistory;_this2175.Name=Name;_this2175.Description=Description;_this2175.RelatingObject=RelatingObject;_this2175.RelatedObjects=RelatedObjects;_this2175.type=160246688;return _this2175;}return _createClass(IfcRelAggregates);}(IfcRelDecomposes);IFC4X32.IfcRelAggregates=IfcRelAggregates;var IfcRoad=/*#__PURE__*/function(_IfcFacility3){_inherits(IfcRoad,_IfcFacility3);var _super2173=_createSuper(IfcRoad);function IfcRoad(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,LongName,CompositionType,PredefinedType){var _this2176;_classCallCheck(this,IfcRoad);_this2176=_super2173.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,LongName,CompositionType);_this2176.GlobalId=GlobalId;_this2176.OwnerHistory=OwnerHistory;_this2176.Name=Name;_this2176.Description=Description;_this2176.ObjectType=ObjectType;_this2176.ObjectPlacement=ObjectPlacement;_this2176.Representation=Representation;_this2176.LongName=LongName;_this2176.CompositionType=CompositionType;_this2176.PredefinedType=PredefinedType;_this2176.type=146592293;return _this2176;}return _createClass(IfcRoad);}(IfcFacility);IFC4X32.IfcRoad=IfcRoad;var IfcRoadPart=/*#__PURE__*/function(_IfcFacilityPart4){_inherits(IfcRoadPart,_IfcFacilityPart4);var _super2174=_createSuper(IfcRoadPart);function IfcRoadPart(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,LongName,CompositionType,UsageType,PredefinedType){var _this2177;_classCallCheck(this,IfcRoadPart);_this2177=_super2174.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,LongName,CompositionType,UsageType);_this2177.GlobalId=GlobalId;_this2177.OwnerHistory=OwnerHistory;_this2177.Name=Name;_this2177.Description=Description;_this2177.ObjectType=ObjectType;_this2177.ObjectPlacement=ObjectPlacement;_this2177.Representation=Representation;_this2177.LongName=LongName;_this2177.CompositionType=CompositionType;_this2177.UsageType=UsageType;_this2177.PredefinedType=PredefinedType;_this2177.type=550521510;return _this2177;}return _createClass(IfcRoadPart);}(IfcFacilityPart);IFC4X32.IfcRoadPart=IfcRoadPart;var IfcRoofType=/*#__PURE__*/function(_IfcBuiltElementType19){_inherits(IfcRoofType,_IfcBuiltElementType19);var _super2175=_createSuper(IfcRoofType);function IfcRoofType(expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType,PredefinedType){var _this2178;_classCallCheck(this,IfcRoofType);_this2178=_super2175.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType);_this2178.GlobalId=GlobalId;_this2178.OwnerHistory=OwnerHistory;_this2178.Name=Name;_this2178.Description=Description;_this2178.ApplicableOccurrence=ApplicableOccurrence;_this2178.HasPropertySets=HasPropertySets;_this2178.RepresentationMaps=RepresentationMaps;_this2178.Tag=Tag;_this2178.ElementType=ElementType;_this2178.PredefinedType=PredefinedType;_this2178.type=2781568857;return _this2178;}return _createClass(IfcRoofType);}(IfcBuiltElementType);IFC4X32.IfcRoofType=IfcRoofType;var IfcSanitaryTerminalType=/*#__PURE__*/function(_IfcFlowTerminalType31){_inherits(IfcSanitaryTerminalType,_IfcFlowTerminalType31);var _super2176=_createSuper(IfcSanitaryTerminalType);function IfcSanitaryTerminalType(expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType,PredefinedType){var _this2179;_classCallCheck(this,IfcSanitaryTerminalType);_this2179=_super2176.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType);_this2179.GlobalId=GlobalId;_this2179.OwnerHistory=OwnerHistory;_this2179.Name=Name;_this2179.Description=Description;_this2179.ApplicableOccurrence=ApplicableOccurrence;_this2179.HasPropertySets=HasPropertySets;_this2179.RepresentationMaps=RepresentationMaps;_this2179.Tag=Tag;_this2179.ElementType=ElementType;_this2179.PredefinedType=PredefinedType;_this2179.type=1768891740;return _this2179;}return _createClass(IfcSanitaryTerminalType);}(IfcFlowTerminalType);IFC4X32.IfcSanitaryTerminalType=IfcSanitaryTerminalType;var IfcSeamCurve=/*#__PURE__*/function(_IfcSurfaceCurve4){_inherits(IfcSeamCurve,_IfcSurfaceCurve4);var _super2177=_createSuper(IfcSeamCurve);function IfcSeamCurve(expressID,Curve3D,AssociatedGeometry,MasterRepresentation){var _this2180;_classCallCheck(this,IfcSeamCurve);_this2180=_super2177.call(this,expressID,Curve3D,AssociatedGeometry,MasterRepresentation);_this2180.Curve3D=Curve3D;_this2180.AssociatedGeometry=AssociatedGeometry;_this2180.MasterRepresentation=MasterRepresentation;_this2180.type=2157484638;return _this2180;}return _createClass(IfcSeamCurve);}(IfcSurfaceCurve);IFC4X32.IfcSeamCurve=IfcSeamCurve;var IfcSecondOrderPolynomialSpiral=/*#__PURE__*/function(_IfcSpiral4){_inherits(IfcSecondOrderPolynomialSpiral,_IfcSpiral4);var _super2178=_createSuper(IfcSecondOrderPolynomialSpiral);function IfcSecondOrderPolynomialSpiral(expressID,Position,QuadraticTerm,LinearTerm,ConstantTerm){var _this2181;_classCallCheck(this,IfcSecondOrderPolynomialSpiral);_this2181=_super2178.call(this,expressID,Position);_this2181.Position=Position;_this2181.QuadraticTerm=QuadraticTerm;_this2181.LinearTerm=LinearTerm;_this2181.ConstantTerm=ConstantTerm;_this2181.type=3649235739;return _this2181;}return _createClass(IfcSecondOrderPolynomialSpiral);}(IfcSpiral);IFC4X32.IfcSecondOrderPolynomialSpiral=IfcSecondOrderPolynomialSpiral;var IfcSegmentedReferenceCurve=/*#__PURE__*/function(_IfcCompositeCurve5){_inherits(IfcSegmentedReferenceCurve,_IfcCompositeCurve5);var _super2179=_createSuper(IfcSegmentedReferenceCurve);function IfcSegmentedReferenceCurve(expressID,Segments,SelfIntersect,BaseCurve,EndPoint){var _this2182;_classCallCheck(this,IfcSegmentedReferenceCurve);_this2182=_super2179.call(this,expressID,Segments,SelfIntersect);_this2182.Segments=Segments;_this2182.SelfIntersect=SelfIntersect;_this2182.BaseCurve=BaseCurve;_this2182.EndPoint=EndPoint;_this2182.type=544395925;return _this2182;}return _createClass(IfcSegmentedReferenceCurve);}(IfcCompositeCurve);IFC4X32.IfcSegmentedReferenceCurve=IfcSegmentedReferenceCurve;var IfcSeventhOrderPolynomialSpiral=/*#__PURE__*/function(_IfcSpiral5){_inherits(IfcSeventhOrderPolynomialSpiral,_IfcSpiral5);var _super2180=_createSuper(IfcSeventhOrderPolynomialSpiral);function IfcSeventhOrderPolynomialSpiral(expressID,Position,SepticTerm,SexticTerm,QuinticTerm,QuarticTerm,CubicTerm,QuadraticTerm,LinearTerm,ConstantTerm){var _this2183;_classCallCheck(this,IfcSeventhOrderPolynomialSpiral);_this2183=_super2180.call(this,expressID,Position);_this2183.Position=Position;_this2183.SepticTerm=SepticTerm;_this2183.SexticTerm=SexticTerm;_this2183.QuinticTerm=QuinticTerm;_this2183.QuarticTerm=QuarticTerm;_this2183.CubicTerm=CubicTerm;_this2183.QuadraticTerm=QuadraticTerm;_this2183.LinearTerm=LinearTerm;_this2183.ConstantTerm=ConstantTerm;_this2183.type=1027922057;return _this2183;}return _createClass(IfcSeventhOrderPolynomialSpiral);}(IfcSpiral);IFC4X32.IfcSeventhOrderPolynomialSpiral=IfcSeventhOrderPolynomialSpiral;var IfcShadingDeviceType=/*#__PURE__*/function(_IfcBuiltElementType20){_inherits(IfcShadingDeviceType,_IfcBuiltElementType20);var _super2181=_createSuper(IfcShadingDeviceType);function IfcShadingDeviceType(expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType,PredefinedType){var _this2184;_classCallCheck(this,IfcShadingDeviceType);_this2184=_super2181.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType);_this2184.GlobalId=GlobalId;_this2184.OwnerHistory=OwnerHistory;_this2184.Name=Name;_this2184.Description=Description;_this2184.ApplicableOccurrence=ApplicableOccurrence;_this2184.HasPropertySets=HasPropertySets;_this2184.RepresentationMaps=RepresentationMaps;_this2184.Tag=Tag;_this2184.ElementType=ElementType;_this2184.PredefinedType=PredefinedType;_this2184.type=4074543187;return _this2184;}return _createClass(IfcShadingDeviceType);}(IfcBuiltElementType);IFC4X32.IfcShadingDeviceType=IfcShadingDeviceType;var IfcSign=/*#__PURE__*/function(_IfcElementComponent13){_inherits(IfcSign,_IfcElementComponent13);var _super2182=_createSuper(IfcSign);function IfcSign(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag,PredefinedType){var _this2185;_classCallCheck(this,IfcSign);_this2185=_super2182.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag);_this2185.GlobalId=GlobalId;_this2185.OwnerHistory=OwnerHistory;_this2185.Name=Name;_this2185.Description=Description;_this2185.ObjectType=ObjectType;_this2185.ObjectPlacement=ObjectPlacement;_this2185.Representation=Representation;_this2185.Tag=Tag;_this2185.PredefinedType=PredefinedType;_this2185.type=33720170;return _this2185;}return _createClass(IfcSign);}(IfcElementComponent);IFC4X32.IfcSign=IfcSign;var IfcSignType=/*#__PURE__*/function(_IfcElementComponentT13){_inherits(IfcSignType,_IfcElementComponentT13);var _super2183=_createSuper(IfcSignType);function IfcSignType(expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType,PredefinedType){var _this2186;_classCallCheck(this,IfcSignType);_this2186=_super2183.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType);_this2186.GlobalId=GlobalId;_this2186.OwnerHistory=OwnerHistory;_this2186.Name=Name;_this2186.Description=Description;_this2186.ApplicableOccurrence=ApplicableOccurrence;_this2186.HasPropertySets=HasPropertySets;_this2186.RepresentationMaps=RepresentationMaps;_this2186.Tag=Tag;_this2186.ElementType=ElementType;_this2186.PredefinedType=PredefinedType;_this2186.type=3599934289;return _this2186;}return _createClass(IfcSignType);}(IfcElementComponentType);IFC4X32.IfcSignType=IfcSignType;var IfcSignalType=/*#__PURE__*/function(_IfcFlowTerminalType32){_inherits(IfcSignalType,_IfcFlowTerminalType32);var _super2184=_createSuper(IfcSignalType);function IfcSignalType(expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType,PredefinedType){var _this2187;_classCallCheck(this,IfcSignalType);_this2187=_super2184.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType);_this2187.GlobalId=GlobalId;_this2187.OwnerHistory=OwnerHistory;_this2187.Name=Name;_this2187.Description=Description;_this2187.ApplicableOccurrence=ApplicableOccurrence;_this2187.HasPropertySets=HasPropertySets;_this2187.RepresentationMaps=RepresentationMaps;_this2187.Tag=Tag;_this2187.ElementType=ElementType;_this2187.PredefinedType=PredefinedType;_this2187.type=1894708472;return _this2187;}return _createClass(IfcSignalType);}(IfcFlowTerminalType);IFC4X32.IfcSignalType=IfcSignalType;var IfcSineSpiral=/*#__PURE__*/function(_IfcSpiral6){_inherits(IfcSineSpiral,_IfcSpiral6);var _super2185=_createSuper(IfcSineSpiral);function IfcSineSpiral(expressID,Position,SineTerm,LinearTerm,ConstantTerm){var _this2188;_classCallCheck(this,IfcSineSpiral);_this2188=_super2185.call(this,expressID,Position);_this2188.Position=Position;_this2188.SineTerm=SineTerm;_this2188.LinearTerm=LinearTerm;_this2188.ConstantTerm=ConstantTerm;_this2188.type=42703149;return _this2188;}return _createClass(IfcSineSpiral);}(IfcSpiral);IFC4X32.IfcSineSpiral=IfcSineSpiral;var IfcSite=/*#__PURE__*/function(_IfcSpatialStructureE14){_inherits(IfcSite,_IfcSpatialStructureE14);var _super2186=_createSuper(IfcSite);function IfcSite(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,LongName,CompositionType,RefLatitude,RefLongitude,RefElevation,LandTitleNumber,SiteAddress){var _this2189;_classCallCheck(this,IfcSite);_this2189=_super2186.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,LongName,CompositionType);_this2189.GlobalId=GlobalId;_this2189.OwnerHistory=OwnerHistory;_this2189.Name=Name;_this2189.Description=Description;_this2189.ObjectType=ObjectType;_this2189.ObjectPlacement=ObjectPlacement;_this2189.Representation=Representation;_this2189.LongName=LongName;_this2189.CompositionType=CompositionType;_this2189.RefLatitude=RefLatitude;_this2189.RefLongitude=RefLongitude;_this2189.RefElevation=RefElevation;_this2189.LandTitleNumber=LandTitleNumber;_this2189.SiteAddress=SiteAddress;_this2189.type=4097777520;return _this2189;}return _createClass(IfcSite);}(IfcSpatialStructureElement);IFC4X32.IfcSite=IfcSite;var IfcSlabType=/*#__PURE__*/function(_IfcBuiltElementType21){_inherits(IfcSlabType,_IfcBuiltElementType21);var _super2187=_createSuper(IfcSlabType);function IfcSlabType(expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType,PredefinedType){var _this2190;_classCallCheck(this,IfcSlabType);_this2190=_super2187.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType);_this2190.GlobalId=GlobalId;_this2190.OwnerHistory=OwnerHistory;_this2190.Name=Name;_this2190.Description=Description;_this2190.ApplicableOccurrence=ApplicableOccurrence;_this2190.HasPropertySets=HasPropertySets;_this2190.RepresentationMaps=RepresentationMaps;_this2190.Tag=Tag;_this2190.ElementType=ElementType;_this2190.PredefinedType=PredefinedType;_this2190.type=2533589738;return _this2190;}return _createClass(IfcSlabType);}(IfcBuiltElementType);IFC4X32.IfcSlabType=IfcSlabType;var IfcSolarDeviceType=/*#__PURE__*/function(_IfcEnergyConversionD65){_inherits(IfcSolarDeviceType,_IfcEnergyConversionD65);var _super2188=_createSuper(IfcSolarDeviceType);function IfcSolarDeviceType(expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType,PredefinedType){var _this2191;_classCallCheck(this,IfcSolarDeviceType);_this2191=_super2188.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType);_this2191.GlobalId=GlobalId;_this2191.OwnerHistory=OwnerHistory;_this2191.Name=Name;_this2191.Description=Description;_this2191.ApplicableOccurrence=ApplicableOccurrence;_this2191.HasPropertySets=HasPropertySets;_this2191.RepresentationMaps=RepresentationMaps;_this2191.Tag=Tag;_this2191.ElementType=ElementType;_this2191.PredefinedType=PredefinedType;_this2191.type=1072016465;return _this2191;}return _createClass(IfcSolarDeviceType);}(IfcEnergyConversionDeviceType);IFC4X32.IfcSolarDeviceType=IfcSolarDeviceType;var IfcSpace=/*#__PURE__*/function(_IfcSpatialStructureE15){_inherits(IfcSpace,_IfcSpatialStructureE15);var _super2189=_createSuper(IfcSpace);function IfcSpace(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,LongName,CompositionType,PredefinedType,ElevationWithFlooring){var _this2192;_classCallCheck(this,IfcSpace);_this2192=_super2189.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,LongName,CompositionType);_this2192.GlobalId=GlobalId;_this2192.OwnerHistory=OwnerHistory;_this2192.Name=Name;_this2192.Description=Description;_this2192.ObjectType=ObjectType;_this2192.ObjectPlacement=ObjectPlacement;_this2192.Representation=Representation;_this2192.LongName=LongName;_this2192.CompositionType=CompositionType;_this2192.PredefinedType=PredefinedType;_this2192.ElevationWithFlooring=ElevationWithFlooring;_this2192.type=3856911033;return _this2192;}return _createClass(IfcSpace);}(IfcSpatialStructureElement);IFC4X32.IfcSpace=IfcSpace;var IfcSpaceHeaterType=/*#__PURE__*/function(_IfcFlowTerminalType33){_inherits(IfcSpaceHeaterType,_IfcFlowTerminalType33);var _super2190=_createSuper(IfcSpaceHeaterType);function IfcSpaceHeaterType(expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType,PredefinedType){var _this2193;_classCallCheck(this,IfcSpaceHeaterType);_this2193=_super2190.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType);_this2193.GlobalId=GlobalId;_this2193.OwnerHistory=OwnerHistory;_this2193.Name=Name;_this2193.Description=Description;_this2193.ApplicableOccurrence=ApplicableOccurrence;_this2193.HasPropertySets=HasPropertySets;_this2193.RepresentationMaps=RepresentationMaps;_this2193.Tag=Tag;_this2193.ElementType=ElementType;_this2193.PredefinedType=PredefinedType;_this2193.type=1305183839;return _this2193;}return _createClass(IfcSpaceHeaterType);}(IfcFlowTerminalType);IFC4X32.IfcSpaceHeaterType=IfcSpaceHeaterType;var IfcSpaceType=/*#__PURE__*/function(_IfcSpatialStructureE16){_inherits(IfcSpaceType,_IfcSpatialStructureE16);var _super2191=_createSuper(IfcSpaceType);function IfcSpaceType(expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType,PredefinedType,LongName){var _this2194;_classCallCheck(this,IfcSpaceType);_this2194=_super2191.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType);_this2194.GlobalId=GlobalId;_this2194.OwnerHistory=OwnerHistory;_this2194.Name=Name;_this2194.Description=Description;_this2194.ApplicableOccurrence=ApplicableOccurrence;_this2194.HasPropertySets=HasPropertySets;_this2194.RepresentationMaps=RepresentationMaps;_this2194.Tag=Tag;_this2194.ElementType=ElementType;_this2194.PredefinedType=PredefinedType;_this2194.LongName=LongName;_this2194.type=3812236995;return _this2194;}return _createClass(IfcSpaceType);}(IfcSpatialStructureElementType);IFC4X32.IfcSpaceType=IfcSpaceType;var IfcStackTerminalType=/*#__PURE__*/function(_IfcFlowTerminalType34){_inherits(IfcStackTerminalType,_IfcFlowTerminalType34);var _super2192=_createSuper(IfcStackTerminalType);function IfcStackTerminalType(expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType,PredefinedType){var _this2195;_classCallCheck(this,IfcStackTerminalType);_this2195=_super2192.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType);_this2195.GlobalId=GlobalId;_this2195.OwnerHistory=OwnerHistory;_this2195.Name=Name;_this2195.Description=Description;_this2195.ApplicableOccurrence=ApplicableOccurrence;_this2195.HasPropertySets=HasPropertySets;_this2195.RepresentationMaps=RepresentationMaps;_this2195.Tag=Tag;_this2195.ElementType=ElementType;_this2195.PredefinedType=PredefinedType;_this2195.type=3112655638;return _this2195;}return _createClass(IfcStackTerminalType);}(IfcFlowTerminalType);IFC4X32.IfcStackTerminalType=IfcStackTerminalType;var IfcStairFlightType=/*#__PURE__*/function(_IfcBuiltElementType22){_inherits(IfcStairFlightType,_IfcBuiltElementType22);var _super2193=_createSuper(IfcStairFlightType);function IfcStairFlightType(expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType,PredefinedType){var _this2196;_classCallCheck(this,IfcStairFlightType);_this2196=_super2193.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType);_this2196.GlobalId=GlobalId;_this2196.OwnerHistory=OwnerHistory;_this2196.Name=Name;_this2196.Description=Description;_this2196.ApplicableOccurrence=ApplicableOccurrence;_this2196.HasPropertySets=HasPropertySets;_this2196.RepresentationMaps=RepresentationMaps;_this2196.Tag=Tag;_this2196.ElementType=ElementType;_this2196.PredefinedType=PredefinedType;_this2196.type=1039846685;return _this2196;}return _createClass(IfcStairFlightType);}(IfcBuiltElementType);IFC4X32.IfcStairFlightType=IfcStairFlightType;var IfcStairType=/*#__PURE__*/function(_IfcBuiltElementType23){_inherits(IfcStairType,_IfcBuiltElementType23);var _super2194=_createSuper(IfcStairType);function IfcStairType(expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType,PredefinedType){var _this2197;_classCallCheck(this,IfcStairType);_this2197=_super2194.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType);_this2197.GlobalId=GlobalId;_this2197.OwnerHistory=OwnerHistory;_this2197.Name=Name;_this2197.Description=Description;_this2197.ApplicableOccurrence=ApplicableOccurrence;_this2197.HasPropertySets=HasPropertySets;_this2197.RepresentationMaps=RepresentationMaps;_this2197.Tag=Tag;_this2197.ElementType=ElementType;_this2197.PredefinedType=PredefinedType;_this2197.type=338393293;return _this2197;}return _createClass(IfcStairType);}(IfcBuiltElementType);IFC4X32.IfcStairType=IfcStairType;var IfcStructuralAction=/*#__PURE__*/function(_IfcStructuralActivit6){_inherits(IfcStructuralAction,_IfcStructuralActivit6);var _super2195=_createSuper(IfcStructuralAction);function IfcStructuralAction(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,AppliedLoad,GlobalOrLocal,DestabilizingLoad){var _this2198;_classCallCheck(this,IfcStructuralAction);_this2198=_super2195.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,AppliedLoad,GlobalOrLocal);_this2198.GlobalId=GlobalId;_this2198.OwnerHistory=OwnerHistory;_this2198.Name=Name;_this2198.Description=Description;_this2198.ObjectType=ObjectType;_this2198.ObjectPlacement=ObjectPlacement;_this2198.Representation=Representation;_this2198.AppliedLoad=AppliedLoad;_this2198.GlobalOrLocal=GlobalOrLocal;_this2198.DestabilizingLoad=DestabilizingLoad;_this2198.type=682877961;return _this2198;}return _createClass(IfcStructuralAction);}(IfcStructuralActivity);IFC4X32.IfcStructuralAction=IfcStructuralAction;var IfcStructuralConnection=/*#__PURE__*/function(_IfcStructuralItem6){_inherits(IfcStructuralConnection,_IfcStructuralItem6);var _super2196=_createSuper(IfcStructuralConnection);function IfcStructuralConnection(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,AppliedCondition){var _this2199;_classCallCheck(this,IfcStructuralConnection);_this2199=_super2196.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation);_this2199.GlobalId=GlobalId;_this2199.OwnerHistory=OwnerHistory;_this2199.Name=Name;_this2199.Description=Description;_this2199.ObjectType=ObjectType;_this2199.ObjectPlacement=ObjectPlacement;_this2199.Representation=Representation;_this2199.AppliedCondition=AppliedCondition;_this2199.type=1179482911;return _this2199;}return _createClass(IfcStructuralConnection);}(IfcStructuralItem);IFC4X32.IfcStructuralConnection=IfcStructuralConnection;var IfcStructuralCurveAction=/*#__PURE__*/function(_IfcStructuralAction7){_inherits(IfcStructuralCurveAction,_IfcStructuralAction7);var _super2197=_createSuper(IfcStructuralCurveAction);function IfcStructuralCurveAction(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,AppliedLoad,GlobalOrLocal,DestabilizingLoad,ProjectedOrTrue,PredefinedType){var _this2200;_classCallCheck(this,IfcStructuralCurveAction);_this2200=_super2197.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,AppliedLoad,GlobalOrLocal,DestabilizingLoad);_this2200.GlobalId=GlobalId;_this2200.OwnerHistory=OwnerHistory;_this2200.Name=Name;_this2200.Description=Description;_this2200.ObjectType=ObjectType;_this2200.ObjectPlacement=ObjectPlacement;_this2200.Representation=Representation;_this2200.AppliedLoad=AppliedLoad;_this2200.GlobalOrLocal=GlobalOrLocal;_this2200.DestabilizingLoad=DestabilizingLoad;_this2200.ProjectedOrTrue=ProjectedOrTrue;_this2200.PredefinedType=PredefinedType;_this2200.type=1004757350;return _this2200;}return _createClass(IfcStructuralCurveAction);}(IfcStructuralAction);IFC4X32.IfcStructuralCurveAction=IfcStructuralCurveAction;var IfcStructuralCurveConnection=/*#__PURE__*/function(_IfcStructuralConnect13){_inherits(IfcStructuralCurveConnection,_IfcStructuralConnect13);var _super2198=_createSuper(IfcStructuralCurveConnection);function IfcStructuralCurveConnection(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,AppliedCondition,AxisDirection){var _this2201;_classCallCheck(this,IfcStructuralCurveConnection);_this2201=_super2198.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,AppliedCondition);_this2201.GlobalId=GlobalId;_this2201.OwnerHistory=OwnerHistory;_this2201.Name=Name;_this2201.Description=Description;_this2201.ObjectType=ObjectType;_this2201.ObjectPlacement=ObjectPlacement;_this2201.Representation=Representation;_this2201.AppliedCondition=AppliedCondition;_this2201.AxisDirection=AxisDirection;_this2201.type=4243806635;return _this2201;}return _createClass(IfcStructuralCurveConnection);}(IfcStructuralConnection);IFC4X32.IfcStructuralCurveConnection=IfcStructuralCurveConnection;var IfcStructuralCurveMember=/*#__PURE__*/function(_IfcStructuralMember6){_inherits(IfcStructuralCurveMember,_IfcStructuralMember6);var _super2199=_createSuper(IfcStructuralCurveMember);function IfcStructuralCurveMember(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,PredefinedType,Axis){var _this2202;_classCallCheck(this,IfcStructuralCurveMember);_this2202=_super2199.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation);_this2202.GlobalId=GlobalId;_this2202.OwnerHistory=OwnerHistory;_this2202.Name=Name;_this2202.Description=Description;_this2202.ObjectType=ObjectType;_this2202.ObjectPlacement=ObjectPlacement;_this2202.Representation=Representation;_this2202.PredefinedType=PredefinedType;_this2202.Axis=Axis;_this2202.type=214636428;return _this2202;}return _createClass(IfcStructuralCurveMember);}(IfcStructuralMember);IFC4X32.IfcStructuralCurveMember=IfcStructuralCurveMember;var IfcStructuralCurveMemberVarying=/*#__PURE__*/function(_IfcStructuralCurveMe3){_inherits(IfcStructuralCurveMemberVarying,_IfcStructuralCurveMe3);var _super2200=_createSuper(IfcStructuralCurveMemberVarying);function IfcStructuralCurveMemberVarying(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,PredefinedType,Axis){var _this2203;_classCallCheck(this,IfcStructuralCurveMemberVarying);_this2203=_super2200.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,PredefinedType,Axis);_this2203.GlobalId=GlobalId;_this2203.OwnerHistory=OwnerHistory;_this2203.Name=Name;_this2203.Description=Description;_this2203.ObjectType=ObjectType;_this2203.ObjectPlacement=ObjectPlacement;_this2203.Representation=Representation;_this2203.PredefinedType=PredefinedType;_this2203.Axis=Axis;_this2203.type=2445595289;return _this2203;}return _createClass(IfcStructuralCurveMemberVarying);}(IfcStructuralCurveMember);IFC4X32.IfcStructuralCurveMemberVarying=IfcStructuralCurveMemberVarying;var IfcStructuralCurveReaction=/*#__PURE__*/function(_IfcStructuralReactio6){_inherits(IfcStructuralCurveReaction,_IfcStructuralReactio6);var _super2201=_createSuper(IfcStructuralCurveReaction);function IfcStructuralCurveReaction(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,AppliedLoad,GlobalOrLocal,PredefinedType){var _this2204;_classCallCheck(this,IfcStructuralCurveReaction);_this2204=_super2201.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,AppliedLoad,GlobalOrLocal);_this2204.GlobalId=GlobalId;_this2204.OwnerHistory=OwnerHistory;_this2204.Name=Name;_this2204.Description=Description;_this2204.ObjectType=ObjectType;_this2204.ObjectPlacement=ObjectPlacement;_this2204.Representation=Representation;_this2204.AppliedLoad=AppliedLoad;_this2204.GlobalOrLocal=GlobalOrLocal;_this2204.PredefinedType=PredefinedType;_this2204.type=2757150158;return _this2204;}return _createClass(IfcStructuralCurveReaction);}(IfcStructuralReaction);IFC4X32.IfcStructuralCurveReaction=IfcStructuralCurveReaction;var IfcStructuralLinearAction=/*#__PURE__*/function(_IfcStructuralCurveAc2){_inherits(IfcStructuralLinearAction,_IfcStructuralCurveAc2);var _super2202=_createSuper(IfcStructuralLinearAction);function IfcStructuralLinearAction(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,AppliedLoad,GlobalOrLocal,DestabilizingLoad,ProjectedOrTrue,PredefinedType){var _this2205;_classCallCheck(this,IfcStructuralLinearAction);_this2205=_super2202.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,AppliedLoad,GlobalOrLocal,DestabilizingLoad,ProjectedOrTrue,PredefinedType);_this2205.GlobalId=GlobalId;_this2205.OwnerHistory=OwnerHistory;_this2205.Name=Name;_this2205.Description=Description;_this2205.ObjectType=ObjectType;_this2205.ObjectPlacement=ObjectPlacement;_this2205.Representation=Representation;_this2205.AppliedLoad=AppliedLoad;_this2205.GlobalOrLocal=GlobalOrLocal;_this2205.DestabilizingLoad=DestabilizingLoad;_this2205.ProjectedOrTrue=ProjectedOrTrue;_this2205.PredefinedType=PredefinedType;_this2205.type=1807405624;return _this2205;}return _createClass(IfcStructuralLinearAction);}(IfcStructuralCurveAction);IFC4X32.IfcStructuralLinearAction=IfcStructuralLinearAction;var IfcStructuralLoadGroup=/*#__PURE__*/function(_IfcGroup14){_inherits(IfcStructuralLoadGroup,_IfcGroup14);var _super2203=_createSuper(IfcStructuralLoadGroup);function IfcStructuralLoadGroup(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,PredefinedType,ActionType,ActionSource,Coefficient,Purpose){var _this2206;_classCallCheck(this,IfcStructuralLoadGroup);_this2206=_super2203.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType);_this2206.GlobalId=GlobalId;_this2206.OwnerHistory=OwnerHistory;_this2206.Name=Name;_this2206.Description=Description;_this2206.ObjectType=ObjectType;_this2206.PredefinedType=PredefinedType;_this2206.ActionType=ActionType;_this2206.ActionSource=ActionSource;_this2206.Coefficient=Coefficient;_this2206.Purpose=Purpose;_this2206.type=1252848954;return _this2206;}return _createClass(IfcStructuralLoadGroup);}(IfcGroup);IFC4X32.IfcStructuralLoadGroup=IfcStructuralLoadGroup;var IfcStructuralPointAction=/*#__PURE__*/function(_IfcStructuralAction8){_inherits(IfcStructuralPointAction,_IfcStructuralAction8);var _super2204=_createSuper(IfcStructuralPointAction);function IfcStructuralPointAction(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,AppliedLoad,GlobalOrLocal,DestabilizingLoad){var _this2207;_classCallCheck(this,IfcStructuralPointAction);_this2207=_super2204.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,AppliedLoad,GlobalOrLocal,DestabilizingLoad);_this2207.GlobalId=GlobalId;_this2207.OwnerHistory=OwnerHistory;_this2207.Name=Name;_this2207.Description=Description;_this2207.ObjectType=ObjectType;_this2207.ObjectPlacement=ObjectPlacement;_this2207.Representation=Representation;_this2207.AppliedLoad=AppliedLoad;_this2207.GlobalOrLocal=GlobalOrLocal;_this2207.DestabilizingLoad=DestabilizingLoad;_this2207.type=2082059205;return _this2207;}return _createClass(IfcStructuralPointAction);}(IfcStructuralAction);IFC4X32.IfcStructuralPointAction=IfcStructuralPointAction;var IfcStructuralPointConnection=/*#__PURE__*/function(_IfcStructuralConnect14){_inherits(IfcStructuralPointConnection,_IfcStructuralConnect14);var _super2205=_createSuper(IfcStructuralPointConnection);function IfcStructuralPointConnection(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,AppliedCondition,ConditionCoordinateSystem){var _this2208;_classCallCheck(this,IfcStructuralPointConnection);_this2208=_super2205.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,AppliedCondition);_this2208.GlobalId=GlobalId;_this2208.OwnerHistory=OwnerHistory;_this2208.Name=Name;_this2208.Description=Description;_this2208.ObjectType=ObjectType;_this2208.ObjectPlacement=ObjectPlacement;_this2208.Representation=Representation;_this2208.AppliedCondition=AppliedCondition;_this2208.ConditionCoordinateSystem=ConditionCoordinateSystem;_this2208.type=734778138;return _this2208;}return _createClass(IfcStructuralPointConnection);}(IfcStructuralConnection);IFC4X32.IfcStructuralPointConnection=IfcStructuralPointConnection;var IfcStructuralPointReaction=/*#__PURE__*/function(_IfcStructuralReactio7){_inherits(IfcStructuralPointReaction,_IfcStructuralReactio7);var _super2206=_createSuper(IfcStructuralPointReaction);function IfcStructuralPointReaction(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,AppliedLoad,GlobalOrLocal){var _this2209;_classCallCheck(this,IfcStructuralPointReaction);_this2209=_super2206.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,AppliedLoad,GlobalOrLocal);_this2209.GlobalId=GlobalId;_this2209.OwnerHistory=OwnerHistory;_this2209.Name=Name;_this2209.Description=Description;_this2209.ObjectType=ObjectType;_this2209.ObjectPlacement=ObjectPlacement;_this2209.Representation=Representation;_this2209.AppliedLoad=AppliedLoad;_this2209.GlobalOrLocal=GlobalOrLocal;_this2209.type=1235345126;return _this2209;}return _createClass(IfcStructuralPointReaction);}(IfcStructuralReaction);IFC4X32.IfcStructuralPointReaction=IfcStructuralPointReaction;var IfcStructuralResultGroup=/*#__PURE__*/function(_IfcGroup15){_inherits(IfcStructuralResultGroup,_IfcGroup15);var _super2207=_createSuper(IfcStructuralResultGroup);function IfcStructuralResultGroup(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,TheoryType,ResultForLoadGroup,IsLinear){var _this2210;_classCallCheck(this,IfcStructuralResultGroup);_this2210=_super2207.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType);_this2210.GlobalId=GlobalId;_this2210.OwnerHistory=OwnerHistory;_this2210.Name=Name;_this2210.Description=Description;_this2210.ObjectType=ObjectType;_this2210.TheoryType=TheoryType;_this2210.ResultForLoadGroup=ResultForLoadGroup;_this2210.IsLinear=IsLinear;_this2210.type=2986769608;return _this2210;}return _createClass(IfcStructuralResultGroup);}(IfcGroup);IFC4X32.IfcStructuralResultGroup=IfcStructuralResultGroup;var IfcStructuralSurfaceAction=/*#__PURE__*/function(_IfcStructuralAction9){_inherits(IfcStructuralSurfaceAction,_IfcStructuralAction9);var _super2208=_createSuper(IfcStructuralSurfaceAction);function IfcStructuralSurfaceAction(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,AppliedLoad,GlobalOrLocal,DestabilizingLoad,ProjectedOrTrue,PredefinedType){var _this2211;_classCallCheck(this,IfcStructuralSurfaceAction);_this2211=_super2208.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,AppliedLoad,GlobalOrLocal,DestabilizingLoad);_this2211.GlobalId=GlobalId;_this2211.OwnerHistory=OwnerHistory;_this2211.Name=Name;_this2211.Description=Description;_this2211.ObjectType=ObjectType;_this2211.ObjectPlacement=ObjectPlacement;_this2211.Representation=Representation;_this2211.AppliedLoad=AppliedLoad;_this2211.GlobalOrLocal=GlobalOrLocal;_this2211.DestabilizingLoad=DestabilizingLoad;_this2211.ProjectedOrTrue=ProjectedOrTrue;_this2211.PredefinedType=PredefinedType;_this2211.type=3657597509;return _this2211;}return _createClass(IfcStructuralSurfaceAction);}(IfcStructuralAction);IFC4X32.IfcStructuralSurfaceAction=IfcStructuralSurfaceAction;var IfcStructuralSurfaceConnection=/*#__PURE__*/function(_IfcStructuralConnect15){_inherits(IfcStructuralSurfaceConnection,_IfcStructuralConnect15);var _super2209=_createSuper(IfcStructuralSurfaceConnection);function IfcStructuralSurfaceConnection(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,AppliedCondition){var _this2212;_classCallCheck(this,IfcStructuralSurfaceConnection);_this2212=_super2209.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,AppliedCondition);_this2212.GlobalId=GlobalId;_this2212.OwnerHistory=OwnerHistory;_this2212.Name=Name;_this2212.Description=Description;_this2212.ObjectType=ObjectType;_this2212.ObjectPlacement=ObjectPlacement;_this2212.Representation=Representation;_this2212.AppliedCondition=AppliedCondition;_this2212.type=1975003073;return _this2212;}return _createClass(IfcStructuralSurfaceConnection);}(IfcStructuralConnection);IFC4X32.IfcStructuralSurfaceConnection=IfcStructuralSurfaceConnection;var IfcSubContractResource=/*#__PURE__*/function(_IfcConstructionResou27){_inherits(IfcSubContractResource,_IfcConstructionResou27);var _super2210=_createSuper(IfcSubContractResource);function IfcSubContractResource(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,Identification,LongDescription,Usage,BaseCosts,BaseQuantity,PredefinedType){var _this2213;_classCallCheck(this,IfcSubContractResource);_this2213=_super2210.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,Identification,LongDescription,Usage,BaseCosts,BaseQuantity);_this2213.GlobalId=GlobalId;_this2213.OwnerHistory=OwnerHistory;_this2213.Name=Name;_this2213.Description=Description;_this2213.ObjectType=ObjectType;_this2213.Identification=Identification;_this2213.LongDescription=LongDescription;_this2213.Usage=Usage;_this2213.BaseCosts=BaseCosts;_this2213.BaseQuantity=BaseQuantity;_this2213.PredefinedType=PredefinedType;_this2213.type=148013059;return _this2213;}return _createClass(IfcSubContractResource);}(IfcConstructionResource);IFC4X32.IfcSubContractResource=IfcSubContractResource;var IfcSurfaceFeature=/*#__PURE__*/function(_IfcFeatureElement8){_inherits(IfcSurfaceFeature,_IfcFeatureElement8);var _super2211=_createSuper(IfcSurfaceFeature);function IfcSurfaceFeature(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag,PredefinedType){var _this2214;_classCallCheck(this,IfcSurfaceFeature);_this2214=_super2211.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag);_this2214.GlobalId=GlobalId;_this2214.OwnerHistory=OwnerHistory;_this2214.Name=Name;_this2214.Description=Description;_this2214.ObjectType=ObjectType;_this2214.ObjectPlacement=ObjectPlacement;_this2214.Representation=Representation;_this2214.Tag=Tag;_this2214.PredefinedType=PredefinedType;_this2214.type=3101698114;return _this2214;}return _createClass(IfcSurfaceFeature);}(IfcFeatureElement);IFC4X32.IfcSurfaceFeature=IfcSurfaceFeature;var IfcSwitchingDeviceType=/*#__PURE__*/function(_IfcFlowControllerTyp18){_inherits(IfcSwitchingDeviceType,_IfcFlowControllerTyp18);var _super2212=_createSuper(IfcSwitchingDeviceType);function IfcSwitchingDeviceType(expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType,PredefinedType){var _this2215;_classCallCheck(this,IfcSwitchingDeviceType);_this2215=_super2212.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType);_this2215.GlobalId=GlobalId;_this2215.OwnerHistory=OwnerHistory;_this2215.Name=Name;_this2215.Description=Description;_this2215.ApplicableOccurrence=ApplicableOccurrence;_this2215.HasPropertySets=HasPropertySets;_this2215.RepresentationMaps=RepresentationMaps;_this2215.Tag=Tag;_this2215.ElementType=ElementType;_this2215.PredefinedType=PredefinedType;_this2215.type=2315554128;return _this2215;}return _createClass(IfcSwitchingDeviceType);}(IfcFlowControllerType);IFC4X32.IfcSwitchingDeviceType=IfcSwitchingDeviceType;var IfcSystem=/*#__PURE__*/function(_IfcGroup16){_inherits(IfcSystem,_IfcGroup16);var _super2213=_createSuper(IfcSystem);function IfcSystem(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType){var _this2216;_classCallCheck(this,IfcSystem);_this2216=_super2213.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType);_this2216.GlobalId=GlobalId;_this2216.OwnerHistory=OwnerHistory;_this2216.Name=Name;_this2216.Description=Description;_this2216.ObjectType=ObjectType;_this2216.type=2254336722;return _this2216;}return _createClass(IfcSystem);}(IfcGroup);IFC4X32.IfcSystem=IfcSystem;var IfcSystemFurnitureElement=/*#__PURE__*/function(_IfcFurnishingElement10){_inherits(IfcSystemFurnitureElement,_IfcFurnishingElement10);var _super2214=_createSuper(IfcSystemFurnitureElement);function IfcSystemFurnitureElement(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag,PredefinedType){var _this2217;_classCallCheck(this,IfcSystemFurnitureElement);_this2217=_super2214.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag);_this2217.GlobalId=GlobalId;_this2217.OwnerHistory=OwnerHistory;_this2217.Name=Name;_this2217.Description=Description;_this2217.ObjectType=ObjectType;_this2217.ObjectPlacement=ObjectPlacement;_this2217.Representation=Representation;_this2217.Tag=Tag;_this2217.PredefinedType=PredefinedType;_this2217.type=413509423;return _this2217;}return _createClass(IfcSystemFurnitureElement);}(IfcFurnishingElement);IFC4X32.IfcSystemFurnitureElement=IfcSystemFurnitureElement;var IfcTankType=/*#__PURE__*/function(_IfcFlowStorageDevice7){_inherits(IfcTankType,_IfcFlowStorageDevice7);var _super2215=_createSuper(IfcTankType);function IfcTankType(expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType,PredefinedType){var _this2218;_classCallCheck(this,IfcTankType);_this2218=_super2215.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType);_this2218.GlobalId=GlobalId;_this2218.OwnerHistory=OwnerHistory;_this2218.Name=Name;_this2218.Description=Description;_this2218.ApplicableOccurrence=ApplicableOccurrence;_this2218.HasPropertySets=HasPropertySets;_this2218.RepresentationMaps=RepresentationMaps;_this2218.Tag=Tag;_this2218.ElementType=ElementType;_this2218.PredefinedType=PredefinedType;_this2218.type=5716631;return _this2218;}return _createClass(IfcTankType);}(IfcFlowStorageDeviceType);IFC4X32.IfcTankType=IfcTankType;var IfcTendon=/*#__PURE__*/function(_IfcReinforcingElemen15){_inherits(IfcTendon,_IfcReinforcingElemen15);var _super2216=_createSuper(IfcTendon);function IfcTendon(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag,SteelGrade,PredefinedType,NominalDiameter,CrossSectionArea,TensionForce,PreStress,FrictionCoefficient,AnchorageSlip,MinCurvatureRadius){var _this2219;_classCallCheck(this,IfcTendon);_this2219=_super2216.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag,SteelGrade);_this2219.GlobalId=GlobalId;_this2219.OwnerHistory=OwnerHistory;_this2219.Name=Name;_this2219.Description=Description;_this2219.ObjectType=ObjectType;_this2219.ObjectPlacement=ObjectPlacement;_this2219.Representation=Representation;_this2219.Tag=Tag;_this2219.SteelGrade=SteelGrade;_this2219.PredefinedType=PredefinedType;_this2219.NominalDiameter=NominalDiameter;_this2219.CrossSectionArea=CrossSectionArea;_this2219.TensionForce=TensionForce;_this2219.PreStress=PreStress;_this2219.FrictionCoefficient=FrictionCoefficient;_this2219.AnchorageSlip=AnchorageSlip;_this2219.MinCurvatureRadius=MinCurvatureRadius;_this2219.type=3824725483;return _this2219;}return _createClass(IfcTendon);}(IfcReinforcingElement);IFC4X32.IfcTendon=IfcTendon;var IfcTendonAnchor=/*#__PURE__*/function(_IfcReinforcingElemen16){_inherits(IfcTendonAnchor,_IfcReinforcingElemen16);var _super2217=_createSuper(IfcTendonAnchor);function IfcTendonAnchor(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag,SteelGrade,PredefinedType){var _this2220;_classCallCheck(this,IfcTendonAnchor);_this2220=_super2217.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag,SteelGrade);_this2220.GlobalId=GlobalId;_this2220.OwnerHistory=OwnerHistory;_this2220.Name=Name;_this2220.Description=Description;_this2220.ObjectType=ObjectType;_this2220.ObjectPlacement=ObjectPlacement;_this2220.Representation=Representation;_this2220.Tag=Tag;_this2220.SteelGrade=SteelGrade;_this2220.PredefinedType=PredefinedType;_this2220.type=2347447852;return _this2220;}return _createClass(IfcTendonAnchor);}(IfcReinforcingElement);IFC4X32.IfcTendonAnchor=IfcTendonAnchor;var IfcTendonAnchorType=/*#__PURE__*/function(_IfcReinforcingElemen17){_inherits(IfcTendonAnchorType,_IfcReinforcingElemen17);var _super2218=_createSuper(IfcTendonAnchorType);function IfcTendonAnchorType(expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType,PredefinedType){var _this2221;_classCallCheck(this,IfcTendonAnchorType);_this2221=_super2218.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType);_this2221.GlobalId=GlobalId;_this2221.OwnerHistory=OwnerHistory;_this2221.Name=Name;_this2221.Description=Description;_this2221.ApplicableOccurrence=ApplicableOccurrence;_this2221.HasPropertySets=HasPropertySets;_this2221.RepresentationMaps=RepresentationMaps;_this2221.Tag=Tag;_this2221.ElementType=ElementType;_this2221.PredefinedType=PredefinedType;_this2221.type=3081323446;return _this2221;}return _createClass(IfcTendonAnchorType);}(IfcReinforcingElementType);IFC4X32.IfcTendonAnchorType=IfcTendonAnchorType;var IfcTendonConduit=/*#__PURE__*/function(_IfcReinforcingElemen18){_inherits(IfcTendonConduit,_IfcReinforcingElemen18);var _super2219=_createSuper(IfcTendonConduit);function IfcTendonConduit(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag,SteelGrade,PredefinedType){var _this2222;_classCallCheck(this,IfcTendonConduit);_this2222=_super2219.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag,SteelGrade);_this2222.GlobalId=GlobalId;_this2222.OwnerHistory=OwnerHistory;_this2222.Name=Name;_this2222.Description=Description;_this2222.ObjectType=ObjectType;_this2222.ObjectPlacement=ObjectPlacement;_this2222.Representation=Representation;_this2222.Tag=Tag;_this2222.SteelGrade=SteelGrade;_this2222.PredefinedType=PredefinedType;_this2222.type=3663046924;return _this2222;}return _createClass(IfcTendonConduit);}(IfcReinforcingElement);IFC4X32.IfcTendonConduit=IfcTendonConduit;var IfcTendonConduitType=/*#__PURE__*/function(_IfcReinforcingElemen19){_inherits(IfcTendonConduitType,_IfcReinforcingElemen19);var _super2220=_createSuper(IfcTendonConduitType);function IfcTendonConduitType(expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType,PredefinedType){var _this2223;_classCallCheck(this,IfcTendonConduitType);_this2223=_super2220.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType);_this2223.GlobalId=GlobalId;_this2223.OwnerHistory=OwnerHistory;_this2223.Name=Name;_this2223.Description=Description;_this2223.ApplicableOccurrence=ApplicableOccurrence;_this2223.HasPropertySets=HasPropertySets;_this2223.RepresentationMaps=RepresentationMaps;_this2223.Tag=Tag;_this2223.ElementType=ElementType;_this2223.PredefinedType=PredefinedType;_this2223.type=2281632017;return _this2223;}return _createClass(IfcTendonConduitType);}(IfcReinforcingElementType);IFC4X32.IfcTendonConduitType=IfcTendonConduitType;var IfcTendonType=/*#__PURE__*/function(_IfcReinforcingElemen20){_inherits(IfcTendonType,_IfcReinforcingElemen20);var _super2221=_createSuper(IfcTendonType);function IfcTendonType(expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType,PredefinedType,NominalDiameter,CrossSectionArea,SheathDiameter){var _this2224;_classCallCheck(this,IfcTendonType);_this2224=_super2221.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType);_this2224.GlobalId=GlobalId;_this2224.OwnerHistory=OwnerHistory;_this2224.Name=Name;_this2224.Description=Description;_this2224.ApplicableOccurrence=ApplicableOccurrence;_this2224.HasPropertySets=HasPropertySets;_this2224.RepresentationMaps=RepresentationMaps;_this2224.Tag=Tag;_this2224.ElementType=ElementType;_this2224.PredefinedType=PredefinedType;_this2224.NominalDiameter=NominalDiameter;_this2224.CrossSectionArea=CrossSectionArea;_this2224.SheathDiameter=SheathDiameter;_this2224.type=2415094496;return _this2224;}return _createClass(IfcTendonType);}(IfcReinforcingElementType);IFC4X32.IfcTendonType=IfcTendonType;var IfcTrackElementType=/*#__PURE__*/function(_IfcBuiltElementType24){_inherits(IfcTrackElementType,_IfcBuiltElementType24);var _super2222=_createSuper(IfcTrackElementType);function IfcTrackElementType(expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType,PredefinedType){var _this2225;_classCallCheck(this,IfcTrackElementType);_this2225=_super2222.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType);_this2225.GlobalId=GlobalId;_this2225.OwnerHistory=OwnerHistory;_this2225.Name=Name;_this2225.Description=Description;_this2225.ApplicableOccurrence=ApplicableOccurrence;_this2225.HasPropertySets=HasPropertySets;_this2225.RepresentationMaps=RepresentationMaps;_this2225.Tag=Tag;_this2225.ElementType=ElementType;_this2225.PredefinedType=PredefinedType;_this2225.type=618700268;return _this2225;}return _createClass(IfcTrackElementType);}(IfcBuiltElementType);IFC4X32.IfcTrackElementType=IfcTrackElementType;var IfcTransformerType=/*#__PURE__*/function(_IfcEnergyConversionD66){_inherits(IfcTransformerType,_IfcEnergyConversionD66);var _super2223=_createSuper(IfcTransformerType);function IfcTransformerType(expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType,PredefinedType){var _this2226;_classCallCheck(this,IfcTransformerType);_this2226=_super2223.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType);_this2226.GlobalId=GlobalId;_this2226.OwnerHistory=OwnerHistory;_this2226.Name=Name;_this2226.Description=Description;_this2226.ApplicableOccurrence=ApplicableOccurrence;_this2226.HasPropertySets=HasPropertySets;_this2226.RepresentationMaps=RepresentationMaps;_this2226.Tag=Tag;_this2226.ElementType=ElementType;_this2226.PredefinedType=PredefinedType;_this2226.type=1692211062;return _this2226;}return _createClass(IfcTransformerType);}(IfcEnergyConversionDeviceType);IFC4X32.IfcTransformerType=IfcTransformerType;var IfcTransportElementType=/*#__PURE__*/function(_IfcTransportationDev2){_inherits(IfcTransportElementType,_IfcTransportationDev2);var _super2224=_createSuper(IfcTransportElementType);function IfcTransportElementType(expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType,PredefinedType){var _this2227;_classCallCheck(this,IfcTransportElementType);_this2227=_super2224.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType);_this2227.GlobalId=GlobalId;_this2227.OwnerHistory=OwnerHistory;_this2227.Name=Name;_this2227.Description=Description;_this2227.ApplicableOccurrence=ApplicableOccurrence;_this2227.HasPropertySets=HasPropertySets;_this2227.RepresentationMaps=RepresentationMaps;_this2227.Tag=Tag;_this2227.ElementType=ElementType;_this2227.PredefinedType=PredefinedType;_this2227.type=2097647324;return _this2227;}return _createClass(IfcTransportElementType);}(IfcTransportationDeviceType);IFC4X32.IfcTransportElementType=IfcTransportElementType;var IfcTransportationDevice=/*#__PURE__*/function(_IfcElement27){_inherits(IfcTransportationDevice,_IfcElement27);var _super2225=_createSuper(IfcTransportationDevice);function IfcTransportationDevice(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag){var _this2228;_classCallCheck(this,IfcTransportationDevice);_this2228=_super2225.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag);_this2228.GlobalId=GlobalId;_this2228.OwnerHistory=OwnerHistory;_this2228.Name=Name;_this2228.Description=Description;_this2228.ObjectType=ObjectType;_this2228.ObjectPlacement=ObjectPlacement;_this2228.Representation=Representation;_this2228.Tag=Tag;_this2228.type=1953115116;return _this2228;}return _createClass(IfcTransportationDevice);}(IfcElement);IFC4X32.IfcTransportationDevice=IfcTransportationDevice;var IfcTrimmedCurve=/*#__PURE__*/function(_IfcBoundedCurve13){_inherits(IfcTrimmedCurve,_IfcBoundedCurve13);var _super2226=_createSuper(IfcTrimmedCurve);function IfcTrimmedCurve(expressID,BasisCurve,Trim1,Trim2,SenseAgreement,MasterRepresentation){var _this2229;_classCallCheck(this,IfcTrimmedCurve);_this2229=_super2226.call(this,expressID);_this2229.BasisCurve=BasisCurve;_this2229.Trim1=Trim1;_this2229.Trim2=Trim2;_this2229.SenseAgreement=SenseAgreement;_this2229.MasterRepresentation=MasterRepresentation;_this2229.type=3593883385;return _this2229;}return _createClass(IfcTrimmedCurve);}(IfcBoundedCurve);IFC4X32.IfcTrimmedCurve=IfcTrimmedCurve;var IfcTubeBundleType=/*#__PURE__*/function(_IfcEnergyConversionD67){_inherits(IfcTubeBundleType,_IfcEnergyConversionD67);var _super2227=_createSuper(IfcTubeBundleType);function IfcTubeBundleType(expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType,PredefinedType){var _this2230;_classCallCheck(this,IfcTubeBundleType);_this2230=_super2227.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType);_this2230.GlobalId=GlobalId;_this2230.OwnerHistory=OwnerHistory;_this2230.Name=Name;_this2230.Description=Description;_this2230.ApplicableOccurrence=ApplicableOccurrence;_this2230.HasPropertySets=HasPropertySets;_this2230.RepresentationMaps=RepresentationMaps;_this2230.Tag=Tag;_this2230.ElementType=ElementType;_this2230.PredefinedType=PredefinedType;_this2230.type=1600972822;return _this2230;}return _createClass(IfcTubeBundleType);}(IfcEnergyConversionDeviceType);IFC4X32.IfcTubeBundleType=IfcTubeBundleType;var IfcUnitaryEquipmentType=/*#__PURE__*/function(_IfcEnergyConversionD68){_inherits(IfcUnitaryEquipmentType,_IfcEnergyConversionD68);var _super2228=_createSuper(IfcUnitaryEquipmentType);function IfcUnitaryEquipmentType(expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType,PredefinedType){var _this2231;_classCallCheck(this,IfcUnitaryEquipmentType);_this2231=_super2228.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType);_this2231.GlobalId=GlobalId;_this2231.OwnerHistory=OwnerHistory;_this2231.Name=Name;_this2231.Description=Description;_this2231.ApplicableOccurrence=ApplicableOccurrence;_this2231.HasPropertySets=HasPropertySets;_this2231.RepresentationMaps=RepresentationMaps;_this2231.Tag=Tag;_this2231.ElementType=ElementType;_this2231.PredefinedType=PredefinedType;_this2231.type=1911125066;return _this2231;}return _createClass(IfcUnitaryEquipmentType);}(IfcEnergyConversionDeviceType);IFC4X32.IfcUnitaryEquipmentType=IfcUnitaryEquipmentType;var IfcValveType=/*#__PURE__*/function(_IfcFlowControllerTyp19){_inherits(IfcValveType,_IfcFlowControllerTyp19);var _super2229=_createSuper(IfcValveType);function IfcValveType(expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType,PredefinedType){var _this2232;_classCallCheck(this,IfcValveType);_this2232=_super2229.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType);_this2232.GlobalId=GlobalId;_this2232.OwnerHistory=OwnerHistory;_this2232.Name=Name;_this2232.Description=Description;_this2232.ApplicableOccurrence=ApplicableOccurrence;_this2232.HasPropertySets=HasPropertySets;_this2232.RepresentationMaps=RepresentationMaps;_this2232.Tag=Tag;_this2232.ElementType=ElementType;_this2232.PredefinedType=PredefinedType;_this2232.type=728799441;return _this2232;}return _createClass(IfcValveType);}(IfcFlowControllerType);IFC4X32.IfcValveType=IfcValveType;var IfcVehicle=/*#__PURE__*/function(_IfcTransportationDev3){_inherits(IfcVehicle,_IfcTransportationDev3);var _super2230=_createSuper(IfcVehicle);function IfcVehicle(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag,PredefinedType){var _this2233;_classCallCheck(this,IfcVehicle);_this2233=_super2230.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag);_this2233.GlobalId=GlobalId;_this2233.OwnerHistory=OwnerHistory;_this2233.Name=Name;_this2233.Description=Description;_this2233.ObjectType=ObjectType;_this2233.ObjectPlacement=ObjectPlacement;_this2233.Representation=Representation;_this2233.Tag=Tag;_this2233.PredefinedType=PredefinedType;_this2233.type=840318589;return _this2233;}return _createClass(IfcVehicle);}(IfcTransportationDevice);IFC4X32.IfcVehicle=IfcVehicle;var IfcVibrationDamper=/*#__PURE__*/function(_IfcElementComponent14){_inherits(IfcVibrationDamper,_IfcElementComponent14);var _super2231=_createSuper(IfcVibrationDamper);function IfcVibrationDamper(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag,PredefinedType){var _this2234;_classCallCheck(this,IfcVibrationDamper);_this2234=_super2231.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag);_this2234.GlobalId=GlobalId;_this2234.OwnerHistory=OwnerHistory;_this2234.Name=Name;_this2234.Description=Description;_this2234.ObjectType=ObjectType;_this2234.ObjectPlacement=ObjectPlacement;_this2234.Representation=Representation;_this2234.Tag=Tag;_this2234.PredefinedType=PredefinedType;_this2234.type=1530820697;return _this2234;}return _createClass(IfcVibrationDamper);}(IfcElementComponent);IFC4X32.IfcVibrationDamper=IfcVibrationDamper;var IfcVibrationDamperType=/*#__PURE__*/function(_IfcElementComponentT14){_inherits(IfcVibrationDamperType,_IfcElementComponentT14);var _super2232=_createSuper(IfcVibrationDamperType);function IfcVibrationDamperType(expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType,PredefinedType){var _this2235;_classCallCheck(this,IfcVibrationDamperType);_this2235=_super2232.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType);_this2235.GlobalId=GlobalId;_this2235.OwnerHistory=OwnerHistory;_this2235.Name=Name;_this2235.Description=Description;_this2235.ApplicableOccurrence=ApplicableOccurrence;_this2235.HasPropertySets=HasPropertySets;_this2235.RepresentationMaps=RepresentationMaps;_this2235.Tag=Tag;_this2235.ElementType=ElementType;_this2235.PredefinedType=PredefinedType;_this2235.type=3956297820;return _this2235;}return _createClass(IfcVibrationDamperType);}(IfcElementComponentType);IFC4X32.IfcVibrationDamperType=IfcVibrationDamperType;var IfcVibrationIsolator=/*#__PURE__*/function(_IfcElementComponent15){_inherits(IfcVibrationIsolator,_IfcElementComponent15);var _super2233=_createSuper(IfcVibrationIsolator);function IfcVibrationIsolator(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag,PredefinedType){var _this2236;_classCallCheck(this,IfcVibrationIsolator);_this2236=_super2233.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag);_this2236.GlobalId=GlobalId;_this2236.OwnerHistory=OwnerHistory;_this2236.Name=Name;_this2236.Description=Description;_this2236.ObjectType=ObjectType;_this2236.ObjectPlacement=ObjectPlacement;_this2236.Representation=Representation;_this2236.Tag=Tag;_this2236.PredefinedType=PredefinedType;_this2236.type=2391383451;return _this2236;}return _createClass(IfcVibrationIsolator);}(IfcElementComponent);IFC4X32.IfcVibrationIsolator=IfcVibrationIsolator;var IfcVibrationIsolatorType=/*#__PURE__*/function(_IfcElementComponentT15){_inherits(IfcVibrationIsolatorType,_IfcElementComponentT15);var _super2234=_createSuper(IfcVibrationIsolatorType);function IfcVibrationIsolatorType(expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType,PredefinedType){var _this2237;_classCallCheck(this,IfcVibrationIsolatorType);_this2237=_super2234.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType);_this2237.GlobalId=GlobalId;_this2237.OwnerHistory=OwnerHistory;_this2237.Name=Name;_this2237.Description=Description;_this2237.ApplicableOccurrence=ApplicableOccurrence;_this2237.HasPropertySets=HasPropertySets;_this2237.RepresentationMaps=RepresentationMaps;_this2237.Tag=Tag;_this2237.ElementType=ElementType;_this2237.PredefinedType=PredefinedType;_this2237.type=3313531582;return _this2237;}return _createClass(IfcVibrationIsolatorType);}(IfcElementComponentType);IFC4X32.IfcVibrationIsolatorType=IfcVibrationIsolatorType;var IfcVirtualElement=/*#__PURE__*/function(_IfcElement28){_inherits(IfcVirtualElement,_IfcElement28);var _super2235=_createSuper(IfcVirtualElement);function IfcVirtualElement(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag,PredefinedType){var _this2238;_classCallCheck(this,IfcVirtualElement);_this2238=_super2235.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag);_this2238.GlobalId=GlobalId;_this2238.OwnerHistory=OwnerHistory;_this2238.Name=Name;_this2238.Description=Description;_this2238.ObjectType=ObjectType;_this2238.ObjectPlacement=ObjectPlacement;_this2238.Representation=Representation;_this2238.Tag=Tag;_this2238.PredefinedType=PredefinedType;_this2238.type=2769231204;return _this2238;}return _createClass(IfcVirtualElement);}(IfcElement);IFC4X32.IfcVirtualElement=IfcVirtualElement;var IfcVoidingFeature=/*#__PURE__*/function(_IfcFeatureElementSub6){_inherits(IfcVoidingFeature,_IfcFeatureElementSub6);var _super2236=_createSuper(IfcVoidingFeature);function IfcVoidingFeature(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag,PredefinedType){var _this2239;_classCallCheck(this,IfcVoidingFeature);_this2239=_super2236.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag);_this2239.GlobalId=GlobalId;_this2239.OwnerHistory=OwnerHistory;_this2239.Name=Name;_this2239.Description=Description;_this2239.ObjectType=ObjectType;_this2239.ObjectPlacement=ObjectPlacement;_this2239.Representation=Representation;_this2239.Tag=Tag;_this2239.PredefinedType=PredefinedType;_this2239.type=926996030;return _this2239;}return _createClass(IfcVoidingFeature);}(IfcFeatureElementSubtraction);IFC4X32.IfcVoidingFeature=IfcVoidingFeature;var IfcWallType=/*#__PURE__*/function(_IfcBuiltElementType25){_inherits(IfcWallType,_IfcBuiltElementType25);var _super2237=_createSuper(IfcWallType);function IfcWallType(expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType,PredefinedType){var _this2240;_classCallCheck(this,IfcWallType);_this2240=_super2237.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType);_this2240.GlobalId=GlobalId;_this2240.OwnerHistory=OwnerHistory;_this2240.Name=Name;_this2240.Description=Description;_this2240.ApplicableOccurrence=ApplicableOccurrence;_this2240.HasPropertySets=HasPropertySets;_this2240.RepresentationMaps=RepresentationMaps;_this2240.Tag=Tag;_this2240.ElementType=ElementType;_this2240.PredefinedType=PredefinedType;_this2240.type=1898987631;return _this2240;}return _createClass(IfcWallType);}(IfcBuiltElementType);IFC4X32.IfcWallType=IfcWallType;var IfcWasteTerminalType=/*#__PURE__*/function(_IfcFlowTerminalType35){_inherits(IfcWasteTerminalType,_IfcFlowTerminalType35);var _super2238=_createSuper(IfcWasteTerminalType);function IfcWasteTerminalType(expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType,PredefinedType){var _this2241;_classCallCheck(this,IfcWasteTerminalType);_this2241=_super2238.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType);_this2241.GlobalId=GlobalId;_this2241.OwnerHistory=OwnerHistory;_this2241.Name=Name;_this2241.Description=Description;_this2241.ApplicableOccurrence=ApplicableOccurrence;_this2241.HasPropertySets=HasPropertySets;_this2241.RepresentationMaps=RepresentationMaps;_this2241.Tag=Tag;_this2241.ElementType=ElementType;_this2241.PredefinedType=PredefinedType;_this2241.type=1133259667;return _this2241;}return _createClass(IfcWasteTerminalType);}(IfcFlowTerminalType);IFC4X32.IfcWasteTerminalType=IfcWasteTerminalType;var IfcWindowType=/*#__PURE__*/function(_IfcBuiltElementType26){_inherits(IfcWindowType,_IfcBuiltElementType26);var _super2239=_createSuper(IfcWindowType);function IfcWindowType(expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType,PredefinedType,PartitioningType,ParameterTakesPrecedence,UserDefinedPartitioningType){var _this2242;_classCallCheck(this,IfcWindowType);_this2242=_super2239.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType);_this2242.GlobalId=GlobalId;_this2242.OwnerHistory=OwnerHistory;_this2242.Name=Name;_this2242.Description=Description;_this2242.ApplicableOccurrence=ApplicableOccurrence;_this2242.HasPropertySets=HasPropertySets;_this2242.RepresentationMaps=RepresentationMaps;_this2242.Tag=Tag;_this2242.ElementType=ElementType;_this2242.PredefinedType=PredefinedType;_this2242.PartitioningType=PartitioningType;_this2242.ParameterTakesPrecedence=ParameterTakesPrecedence;_this2242.UserDefinedPartitioningType=UserDefinedPartitioningType;_this2242.type=4009809668;return _this2242;}return _createClass(IfcWindowType);}(IfcBuiltElementType);IFC4X32.IfcWindowType=IfcWindowType;var IfcWorkCalendar=/*#__PURE__*/function(_IfcControl29){_inherits(IfcWorkCalendar,_IfcControl29);var _super2240=_createSuper(IfcWorkCalendar);function IfcWorkCalendar(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,Identification,WorkingTimes,ExceptionTimes,PredefinedType){var _this2243;_classCallCheck(this,IfcWorkCalendar);_this2243=_super2240.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,Identification);_this2243.GlobalId=GlobalId;_this2243.OwnerHistory=OwnerHistory;_this2243.Name=Name;_this2243.Description=Description;_this2243.ObjectType=ObjectType;_this2243.Identification=Identification;_this2243.WorkingTimes=WorkingTimes;_this2243.ExceptionTimes=ExceptionTimes;_this2243.PredefinedType=PredefinedType;_this2243.type=4088093105;return _this2243;}return _createClass(IfcWorkCalendar);}(IfcControl);IFC4X32.IfcWorkCalendar=IfcWorkCalendar;var IfcWorkControl=/*#__PURE__*/function(_IfcControl30){_inherits(IfcWorkControl,_IfcControl30);var _super2241=_createSuper(IfcWorkControl);function IfcWorkControl(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,Identification,CreationDate,Creators,Purpose,Duration,TotalFloat,StartTime,FinishTime){var _this2244;_classCallCheck(this,IfcWorkControl);_this2244=_super2241.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,Identification);_this2244.GlobalId=GlobalId;_this2244.OwnerHistory=OwnerHistory;_this2244.Name=Name;_this2244.Description=Description;_this2244.ObjectType=ObjectType;_this2244.Identification=Identification;_this2244.CreationDate=CreationDate;_this2244.Creators=Creators;_this2244.Purpose=Purpose;_this2244.Duration=Duration;_this2244.TotalFloat=TotalFloat;_this2244.StartTime=StartTime;_this2244.FinishTime=FinishTime;_this2244.type=1028945134;return _this2244;}return _createClass(IfcWorkControl);}(IfcControl);IFC4X32.IfcWorkControl=IfcWorkControl;var IfcWorkPlan=/*#__PURE__*/function(_IfcWorkControl5){_inherits(IfcWorkPlan,_IfcWorkControl5);var _super2242=_createSuper(IfcWorkPlan);function IfcWorkPlan(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,Identification,CreationDate,Creators,Purpose,Duration,TotalFloat,StartTime,FinishTime,PredefinedType){var _this2245;_classCallCheck(this,IfcWorkPlan);_this2245=_super2242.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,Identification,CreationDate,Creators,Purpose,Duration,TotalFloat,StartTime,FinishTime);_this2245.GlobalId=GlobalId;_this2245.OwnerHistory=OwnerHistory;_this2245.Name=Name;_this2245.Description=Description;_this2245.ObjectType=ObjectType;_this2245.Identification=Identification;_this2245.CreationDate=CreationDate;_this2245.Creators=Creators;_this2245.Purpose=Purpose;_this2245.Duration=Duration;_this2245.TotalFloat=TotalFloat;_this2245.StartTime=StartTime;_this2245.FinishTime=FinishTime;_this2245.PredefinedType=PredefinedType;_this2245.type=4218914973;return _this2245;}return _createClass(IfcWorkPlan);}(IfcWorkControl);IFC4X32.IfcWorkPlan=IfcWorkPlan;var IfcWorkSchedule=/*#__PURE__*/function(_IfcWorkControl6){_inherits(IfcWorkSchedule,_IfcWorkControl6);var _super2243=_createSuper(IfcWorkSchedule);function IfcWorkSchedule(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,Identification,CreationDate,Creators,Purpose,Duration,TotalFloat,StartTime,FinishTime,PredefinedType){var _this2246;_classCallCheck(this,IfcWorkSchedule);_this2246=_super2243.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,Identification,CreationDate,Creators,Purpose,Duration,TotalFloat,StartTime,FinishTime);_this2246.GlobalId=GlobalId;_this2246.OwnerHistory=OwnerHistory;_this2246.Name=Name;_this2246.Description=Description;_this2246.ObjectType=ObjectType;_this2246.Identification=Identification;_this2246.CreationDate=CreationDate;_this2246.Creators=Creators;_this2246.Purpose=Purpose;_this2246.Duration=Duration;_this2246.TotalFloat=TotalFloat;_this2246.StartTime=StartTime;_this2246.FinishTime=FinishTime;_this2246.PredefinedType=PredefinedType;_this2246.type=3342526732;return _this2246;}return _createClass(IfcWorkSchedule);}(IfcWorkControl);IFC4X32.IfcWorkSchedule=IfcWorkSchedule;var IfcZone=/*#__PURE__*/function(_IfcSystem7){_inherits(IfcZone,_IfcSystem7);var _super2244=_createSuper(IfcZone);function IfcZone(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,LongName){var _this2247;_classCallCheck(this,IfcZone);_this2247=_super2244.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType);_this2247.GlobalId=GlobalId;_this2247.OwnerHistory=OwnerHistory;_this2247.Name=Name;_this2247.Description=Description;_this2247.ObjectType=ObjectType;_this2247.LongName=LongName;_this2247.type=1033361043;return _this2247;}return _createClass(IfcZone);}(IfcSystem);IFC4X32.IfcZone=IfcZone;var IfcActionRequest=/*#__PURE__*/function(_IfcControl31){_inherits(IfcActionRequest,_IfcControl31);var _super2245=_createSuper(IfcActionRequest);function IfcActionRequest(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,Identification,PredefinedType,Status,LongDescription){var _this2248;_classCallCheck(this,IfcActionRequest);_this2248=_super2245.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,Identification);_this2248.GlobalId=GlobalId;_this2248.OwnerHistory=OwnerHistory;_this2248.Name=Name;_this2248.Description=Description;_this2248.ObjectType=ObjectType;_this2248.Identification=Identification;_this2248.PredefinedType=PredefinedType;_this2248.Status=Status;_this2248.LongDescription=LongDescription;_this2248.type=3821786052;return _this2248;}return _createClass(IfcActionRequest);}(IfcControl);IFC4X32.IfcActionRequest=IfcActionRequest;var IfcAirTerminalBoxType=/*#__PURE__*/function(_IfcFlowControllerTyp20){_inherits(IfcAirTerminalBoxType,_IfcFlowControllerTyp20);var _super2246=_createSuper(IfcAirTerminalBoxType);function IfcAirTerminalBoxType(expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType,PredefinedType){var _this2249;_classCallCheck(this,IfcAirTerminalBoxType);_this2249=_super2246.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType);_this2249.GlobalId=GlobalId;_this2249.OwnerHistory=OwnerHistory;_this2249.Name=Name;_this2249.Description=Description;_this2249.ApplicableOccurrence=ApplicableOccurrence;_this2249.HasPropertySets=HasPropertySets;_this2249.RepresentationMaps=RepresentationMaps;_this2249.Tag=Tag;_this2249.ElementType=ElementType;_this2249.PredefinedType=PredefinedType;_this2249.type=1411407467;return _this2249;}return _createClass(IfcAirTerminalBoxType);}(IfcFlowControllerType);IFC4X32.IfcAirTerminalBoxType=IfcAirTerminalBoxType;var IfcAirTerminalType=/*#__PURE__*/function(_IfcFlowTerminalType36){_inherits(IfcAirTerminalType,_IfcFlowTerminalType36);var _super2247=_createSuper(IfcAirTerminalType);function IfcAirTerminalType(expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType,PredefinedType){var _this2250;_classCallCheck(this,IfcAirTerminalType);_this2250=_super2247.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType);_this2250.GlobalId=GlobalId;_this2250.OwnerHistory=OwnerHistory;_this2250.Name=Name;_this2250.Description=Description;_this2250.ApplicableOccurrence=ApplicableOccurrence;_this2250.HasPropertySets=HasPropertySets;_this2250.RepresentationMaps=RepresentationMaps;_this2250.Tag=Tag;_this2250.ElementType=ElementType;_this2250.PredefinedType=PredefinedType;_this2250.type=3352864051;return _this2250;}return _createClass(IfcAirTerminalType);}(IfcFlowTerminalType);IFC4X32.IfcAirTerminalType=IfcAirTerminalType;var IfcAirToAirHeatRecoveryType=/*#__PURE__*/function(_IfcEnergyConversionD69){_inherits(IfcAirToAirHeatRecoveryType,_IfcEnergyConversionD69);var _super2248=_createSuper(IfcAirToAirHeatRecoveryType);function IfcAirToAirHeatRecoveryType(expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType,PredefinedType){var _this2251;_classCallCheck(this,IfcAirToAirHeatRecoveryType);_this2251=_super2248.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType);_this2251.GlobalId=GlobalId;_this2251.OwnerHistory=OwnerHistory;_this2251.Name=Name;_this2251.Description=Description;_this2251.ApplicableOccurrence=ApplicableOccurrence;_this2251.HasPropertySets=HasPropertySets;_this2251.RepresentationMaps=RepresentationMaps;_this2251.Tag=Tag;_this2251.ElementType=ElementType;_this2251.PredefinedType=PredefinedType;_this2251.type=1871374353;return _this2251;}return _createClass(IfcAirToAirHeatRecoveryType);}(IfcEnergyConversionDeviceType);IFC4X32.IfcAirToAirHeatRecoveryType=IfcAirToAirHeatRecoveryType;var IfcAlignmentCant=/*#__PURE__*/function(_IfcLinearElement){_inherits(IfcAlignmentCant,_IfcLinearElement);var _super2249=_createSuper(IfcAlignmentCant);function IfcAlignmentCant(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,RailHeadDistance){var _this2252;_classCallCheck(this,IfcAlignmentCant);_this2252=_super2249.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation);_this2252.GlobalId=GlobalId;_this2252.OwnerHistory=OwnerHistory;_this2252.Name=Name;_this2252.Description=Description;_this2252.ObjectType=ObjectType;_this2252.ObjectPlacement=ObjectPlacement;_this2252.Representation=Representation;_this2252.RailHeadDistance=RailHeadDistance;_this2252.type=4266260250;return _this2252;}return _createClass(IfcAlignmentCant);}(IfcLinearElement);IFC4X32.IfcAlignmentCant=IfcAlignmentCant;var IfcAlignmentHorizontal=/*#__PURE__*/function(_IfcLinearElement2){_inherits(IfcAlignmentHorizontal,_IfcLinearElement2);var _super2250=_createSuper(IfcAlignmentHorizontal);function IfcAlignmentHorizontal(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation){var _this2253;_classCallCheck(this,IfcAlignmentHorizontal);_this2253=_super2250.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation);_this2253.GlobalId=GlobalId;_this2253.OwnerHistory=OwnerHistory;_this2253.Name=Name;_this2253.Description=Description;_this2253.ObjectType=ObjectType;_this2253.ObjectPlacement=ObjectPlacement;_this2253.Representation=Representation;_this2253.type=1545765605;return _this2253;}return _createClass(IfcAlignmentHorizontal);}(IfcLinearElement);IFC4X32.IfcAlignmentHorizontal=IfcAlignmentHorizontal;var IfcAlignmentSegment=/*#__PURE__*/function(_IfcLinearElement3){_inherits(IfcAlignmentSegment,_IfcLinearElement3);var _super2251=_createSuper(IfcAlignmentSegment);function IfcAlignmentSegment(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,DesignParameters){var _this2254;_classCallCheck(this,IfcAlignmentSegment);_this2254=_super2251.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation);_this2254.GlobalId=GlobalId;_this2254.OwnerHistory=OwnerHistory;_this2254.Name=Name;_this2254.Description=Description;_this2254.ObjectType=ObjectType;_this2254.ObjectPlacement=ObjectPlacement;_this2254.Representation=Representation;_this2254.DesignParameters=DesignParameters;_this2254.type=317615605;return _this2254;}return _createClass(IfcAlignmentSegment);}(IfcLinearElement);IFC4X32.IfcAlignmentSegment=IfcAlignmentSegment;var IfcAlignmentVertical=/*#__PURE__*/function(_IfcLinearElement4){_inherits(IfcAlignmentVertical,_IfcLinearElement4);var _super2252=_createSuper(IfcAlignmentVertical);function IfcAlignmentVertical(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation){var _this2255;_classCallCheck(this,IfcAlignmentVertical);_this2255=_super2252.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation);_this2255.GlobalId=GlobalId;_this2255.OwnerHistory=OwnerHistory;_this2255.Name=Name;_this2255.Description=Description;_this2255.ObjectType=ObjectType;_this2255.ObjectPlacement=ObjectPlacement;_this2255.Representation=Representation;_this2255.type=1662888072;return _this2255;}return _createClass(IfcAlignmentVertical);}(IfcLinearElement);IFC4X32.IfcAlignmentVertical=IfcAlignmentVertical;var IfcAsset=/*#__PURE__*/function(_IfcGroup17){_inherits(IfcAsset,_IfcGroup17);var _super2253=_createSuper(IfcAsset);function IfcAsset(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,Identification,OriginalValue,CurrentValue,TotalReplacementCost,Owner,User,ResponsiblePerson,IncorporationDate,DepreciatedValue){var _this2256;_classCallCheck(this,IfcAsset);_this2256=_super2253.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType);_this2256.GlobalId=GlobalId;_this2256.OwnerHistory=OwnerHistory;_this2256.Name=Name;_this2256.Description=Description;_this2256.ObjectType=ObjectType;_this2256.Identification=Identification;_this2256.OriginalValue=OriginalValue;_this2256.CurrentValue=CurrentValue;_this2256.TotalReplacementCost=TotalReplacementCost;_this2256.Owner=Owner;_this2256.User=User;_this2256.ResponsiblePerson=ResponsiblePerson;_this2256.IncorporationDate=IncorporationDate;_this2256.DepreciatedValue=DepreciatedValue;_this2256.type=3460190687;return _this2256;}return _createClass(IfcAsset);}(IfcGroup);IFC4X32.IfcAsset=IfcAsset;var IfcAudioVisualApplianceType=/*#__PURE__*/function(_IfcFlowTerminalType37){_inherits(IfcAudioVisualApplianceType,_IfcFlowTerminalType37);var _super2254=_createSuper(IfcAudioVisualApplianceType);function IfcAudioVisualApplianceType(expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType,PredefinedType){var _this2257;_classCallCheck(this,IfcAudioVisualApplianceType);_this2257=_super2254.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType);_this2257.GlobalId=GlobalId;_this2257.OwnerHistory=OwnerHistory;_this2257.Name=Name;_this2257.Description=Description;_this2257.ApplicableOccurrence=ApplicableOccurrence;_this2257.HasPropertySets=HasPropertySets;_this2257.RepresentationMaps=RepresentationMaps;_this2257.Tag=Tag;_this2257.ElementType=ElementType;_this2257.PredefinedType=PredefinedType;_this2257.type=1532957894;return _this2257;}return _createClass(IfcAudioVisualApplianceType);}(IfcFlowTerminalType);IFC4X32.IfcAudioVisualApplianceType=IfcAudioVisualApplianceType;var IfcBSplineCurve=/*#__PURE__*/function(_IfcBoundedCurve14){_inherits(IfcBSplineCurve,_IfcBoundedCurve14);var _super2255=_createSuper(IfcBSplineCurve);function IfcBSplineCurve(expressID,Degree,ControlPointsList,CurveForm,ClosedCurve,SelfIntersect){var _this2258;_classCallCheck(this,IfcBSplineCurve);_this2258=_super2255.call(this,expressID);_this2258.Degree=Degree;_this2258.ControlPointsList=ControlPointsList;_this2258.CurveForm=CurveForm;_this2258.ClosedCurve=ClosedCurve;_this2258.SelfIntersect=SelfIntersect;_this2258.type=1967976161;return _this2258;}return _createClass(IfcBSplineCurve);}(IfcBoundedCurve);IFC4X32.IfcBSplineCurve=IfcBSplineCurve;var IfcBSplineCurveWithKnots=/*#__PURE__*/function(_IfcBSplineCurve3){_inherits(IfcBSplineCurveWithKnots,_IfcBSplineCurve3);var _super2256=_createSuper(IfcBSplineCurveWithKnots);function IfcBSplineCurveWithKnots(expressID,Degree,ControlPointsList,CurveForm,ClosedCurve,SelfIntersect,KnotMultiplicities,Knots,KnotSpec){var _this2259;_classCallCheck(this,IfcBSplineCurveWithKnots);_this2259=_super2256.call(this,expressID,Degree,ControlPointsList,CurveForm,ClosedCurve,SelfIntersect);_this2259.Degree=Degree;_this2259.ControlPointsList=ControlPointsList;_this2259.CurveForm=CurveForm;_this2259.ClosedCurve=ClosedCurve;_this2259.SelfIntersect=SelfIntersect;_this2259.KnotMultiplicities=KnotMultiplicities;_this2259.Knots=Knots;_this2259.KnotSpec=KnotSpec;_this2259.type=2461110595;return _this2259;}return _createClass(IfcBSplineCurveWithKnots);}(IfcBSplineCurve);IFC4X32.IfcBSplineCurveWithKnots=IfcBSplineCurveWithKnots;var IfcBeamType=/*#__PURE__*/function(_IfcBuiltElementType27){_inherits(IfcBeamType,_IfcBuiltElementType27);var _super2257=_createSuper(IfcBeamType);function IfcBeamType(expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType,PredefinedType){var _this2260;_classCallCheck(this,IfcBeamType);_this2260=_super2257.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType);_this2260.GlobalId=GlobalId;_this2260.OwnerHistory=OwnerHistory;_this2260.Name=Name;_this2260.Description=Description;_this2260.ApplicableOccurrence=ApplicableOccurrence;_this2260.HasPropertySets=HasPropertySets;_this2260.RepresentationMaps=RepresentationMaps;_this2260.Tag=Tag;_this2260.ElementType=ElementType;_this2260.PredefinedType=PredefinedType;_this2260.type=819618141;return _this2260;}return _createClass(IfcBeamType);}(IfcBuiltElementType);IFC4X32.IfcBeamType=IfcBeamType;var IfcBearingType=/*#__PURE__*/function(_IfcBuiltElementType28){_inherits(IfcBearingType,_IfcBuiltElementType28);var _super2258=_createSuper(IfcBearingType);function IfcBearingType(expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType,PredefinedType){var _this2261;_classCallCheck(this,IfcBearingType);_this2261=_super2258.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType);_this2261.GlobalId=GlobalId;_this2261.OwnerHistory=OwnerHistory;_this2261.Name=Name;_this2261.Description=Description;_this2261.ApplicableOccurrence=ApplicableOccurrence;_this2261.HasPropertySets=HasPropertySets;_this2261.RepresentationMaps=RepresentationMaps;_this2261.Tag=Tag;_this2261.ElementType=ElementType;_this2261.PredefinedType=PredefinedType;_this2261.type=3649138523;return _this2261;}return _createClass(IfcBearingType);}(IfcBuiltElementType);IFC4X32.IfcBearingType=IfcBearingType;var IfcBoilerType=/*#__PURE__*/function(_IfcEnergyConversionD70){_inherits(IfcBoilerType,_IfcEnergyConversionD70);var _super2259=_createSuper(IfcBoilerType);function IfcBoilerType(expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType,PredefinedType){var _this2262;_classCallCheck(this,IfcBoilerType);_this2262=_super2259.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType);_this2262.GlobalId=GlobalId;_this2262.OwnerHistory=OwnerHistory;_this2262.Name=Name;_this2262.Description=Description;_this2262.ApplicableOccurrence=ApplicableOccurrence;_this2262.HasPropertySets=HasPropertySets;_this2262.RepresentationMaps=RepresentationMaps;_this2262.Tag=Tag;_this2262.ElementType=ElementType;_this2262.PredefinedType=PredefinedType;_this2262.type=231477066;return _this2262;}return _createClass(IfcBoilerType);}(IfcEnergyConversionDeviceType);IFC4X32.IfcBoilerType=IfcBoilerType;var IfcBoundaryCurve=/*#__PURE__*/function(_IfcCompositeCurveOnS2){_inherits(IfcBoundaryCurve,_IfcCompositeCurveOnS2);var _super2260=_createSuper(IfcBoundaryCurve);function IfcBoundaryCurve(expressID,Segments,SelfIntersect){var _this2263;_classCallCheck(this,IfcBoundaryCurve);_this2263=_super2260.call(this,expressID,Segments,SelfIntersect);_this2263.Segments=Segments;_this2263.SelfIntersect=SelfIntersect;_this2263.type=1136057603;return _this2263;}return _createClass(IfcBoundaryCurve);}(IfcCompositeCurveOnSurface);IFC4X32.IfcBoundaryCurve=IfcBoundaryCurve;var IfcBridge=/*#__PURE__*/function(_IfcFacility4){_inherits(IfcBridge,_IfcFacility4);var _super2261=_createSuper(IfcBridge);function IfcBridge(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,LongName,CompositionType,PredefinedType){var _this2264;_classCallCheck(this,IfcBridge);_this2264=_super2261.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,LongName,CompositionType);_this2264.GlobalId=GlobalId;_this2264.OwnerHistory=OwnerHistory;_this2264.Name=Name;_this2264.Description=Description;_this2264.ObjectType=ObjectType;_this2264.ObjectPlacement=ObjectPlacement;_this2264.Representation=Representation;_this2264.LongName=LongName;_this2264.CompositionType=CompositionType;_this2264.PredefinedType=PredefinedType;_this2264.type=644574406;return _this2264;}return _createClass(IfcBridge);}(IfcFacility);IFC4X32.IfcBridge=IfcBridge;var IfcBridgePart=/*#__PURE__*/function(_IfcFacilityPart5){_inherits(IfcBridgePart,_IfcFacilityPart5);var _super2262=_createSuper(IfcBridgePart);function IfcBridgePart(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,LongName,CompositionType,UsageType,PredefinedType){var _this2265;_classCallCheck(this,IfcBridgePart);_this2265=_super2262.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,LongName,CompositionType,UsageType);_this2265.GlobalId=GlobalId;_this2265.OwnerHistory=OwnerHistory;_this2265.Name=Name;_this2265.Description=Description;_this2265.ObjectType=ObjectType;_this2265.ObjectPlacement=ObjectPlacement;_this2265.Representation=Representation;_this2265.LongName=LongName;_this2265.CompositionType=CompositionType;_this2265.UsageType=UsageType;_this2265.PredefinedType=PredefinedType;_this2265.type=963979645;return _this2265;}return _createClass(IfcBridgePart);}(IfcFacilityPart);IFC4X32.IfcBridgePart=IfcBridgePart;var IfcBuilding=/*#__PURE__*/function(_IfcFacility5){_inherits(IfcBuilding,_IfcFacility5);var _super2263=_createSuper(IfcBuilding);function IfcBuilding(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,LongName,CompositionType,ElevationOfRefHeight,ElevationOfTerrain,BuildingAddress){var _this2266;_classCallCheck(this,IfcBuilding);_this2266=_super2263.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,LongName,CompositionType);_this2266.GlobalId=GlobalId;_this2266.OwnerHistory=OwnerHistory;_this2266.Name=Name;_this2266.Description=Description;_this2266.ObjectType=ObjectType;_this2266.ObjectPlacement=ObjectPlacement;_this2266.Representation=Representation;_this2266.LongName=LongName;_this2266.CompositionType=CompositionType;_this2266.ElevationOfRefHeight=ElevationOfRefHeight;_this2266.ElevationOfTerrain=ElevationOfTerrain;_this2266.BuildingAddress=BuildingAddress;_this2266.type=4031249490;return _this2266;}return _createClass(IfcBuilding);}(IfcFacility);IFC4X32.IfcBuilding=IfcBuilding;var IfcBuildingElementPart=/*#__PURE__*/function(_IfcElementComponent16){_inherits(IfcBuildingElementPart,_IfcElementComponent16);var _super2264=_createSuper(IfcBuildingElementPart);function IfcBuildingElementPart(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag,PredefinedType){var _this2267;_classCallCheck(this,IfcBuildingElementPart);_this2267=_super2264.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag);_this2267.GlobalId=GlobalId;_this2267.OwnerHistory=OwnerHistory;_this2267.Name=Name;_this2267.Description=Description;_this2267.ObjectType=ObjectType;_this2267.ObjectPlacement=ObjectPlacement;_this2267.Representation=Representation;_this2267.Tag=Tag;_this2267.PredefinedType=PredefinedType;_this2267.type=2979338954;return _this2267;}return _createClass(IfcBuildingElementPart);}(IfcElementComponent);IFC4X32.IfcBuildingElementPart=IfcBuildingElementPart;var IfcBuildingElementPartType=/*#__PURE__*/function(_IfcElementComponentT16){_inherits(IfcBuildingElementPartType,_IfcElementComponentT16);var _super2265=_createSuper(IfcBuildingElementPartType);function IfcBuildingElementPartType(expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType,PredefinedType){var _this2268;_classCallCheck(this,IfcBuildingElementPartType);_this2268=_super2265.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType);_this2268.GlobalId=GlobalId;_this2268.OwnerHistory=OwnerHistory;_this2268.Name=Name;_this2268.Description=Description;_this2268.ApplicableOccurrence=ApplicableOccurrence;_this2268.HasPropertySets=HasPropertySets;_this2268.RepresentationMaps=RepresentationMaps;_this2268.Tag=Tag;_this2268.ElementType=ElementType;_this2268.PredefinedType=PredefinedType;_this2268.type=39481116;return _this2268;}return _createClass(IfcBuildingElementPartType);}(IfcElementComponentType);IFC4X32.IfcBuildingElementPartType=IfcBuildingElementPartType;var IfcBuildingElementProxyType=/*#__PURE__*/function(_IfcBuiltElementType29){_inherits(IfcBuildingElementProxyType,_IfcBuiltElementType29);var _super2266=_createSuper(IfcBuildingElementProxyType);function IfcBuildingElementProxyType(expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType,PredefinedType){var _this2269;_classCallCheck(this,IfcBuildingElementProxyType);_this2269=_super2266.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType);_this2269.GlobalId=GlobalId;_this2269.OwnerHistory=OwnerHistory;_this2269.Name=Name;_this2269.Description=Description;_this2269.ApplicableOccurrence=ApplicableOccurrence;_this2269.HasPropertySets=HasPropertySets;_this2269.RepresentationMaps=RepresentationMaps;_this2269.Tag=Tag;_this2269.ElementType=ElementType;_this2269.PredefinedType=PredefinedType;_this2269.type=1909888760;return _this2269;}return _createClass(IfcBuildingElementProxyType);}(IfcBuiltElementType);IFC4X32.IfcBuildingElementProxyType=IfcBuildingElementProxyType;var IfcBuildingSystem=/*#__PURE__*/function(_IfcSystem8){_inherits(IfcBuildingSystem,_IfcSystem8);var _super2267=_createSuper(IfcBuildingSystem);function IfcBuildingSystem(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,PredefinedType,LongName){var _this2270;_classCallCheck(this,IfcBuildingSystem);_this2270=_super2267.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType);_this2270.GlobalId=GlobalId;_this2270.OwnerHistory=OwnerHistory;_this2270.Name=Name;_this2270.Description=Description;_this2270.ObjectType=ObjectType;_this2270.PredefinedType=PredefinedType;_this2270.LongName=LongName;_this2270.type=1177604601;return _this2270;}return _createClass(IfcBuildingSystem);}(IfcSystem);IFC4X32.IfcBuildingSystem=IfcBuildingSystem;var IfcBuiltElement=/*#__PURE__*/function(_IfcElement29){_inherits(IfcBuiltElement,_IfcElement29);var _super2268=_createSuper(IfcBuiltElement);function IfcBuiltElement(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag){var _this2271;_classCallCheck(this,IfcBuiltElement);_this2271=_super2268.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag);_this2271.GlobalId=GlobalId;_this2271.OwnerHistory=OwnerHistory;_this2271.Name=Name;_this2271.Description=Description;_this2271.ObjectType=ObjectType;_this2271.ObjectPlacement=ObjectPlacement;_this2271.Representation=Representation;_this2271.Tag=Tag;_this2271.type=1876633798;return _this2271;}return _createClass(IfcBuiltElement);}(IfcElement);IFC4X32.IfcBuiltElement=IfcBuiltElement;var IfcBuiltSystem=/*#__PURE__*/function(_IfcSystem9){_inherits(IfcBuiltSystem,_IfcSystem9);var _super2269=_createSuper(IfcBuiltSystem);function IfcBuiltSystem(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,PredefinedType,LongName){var _this2272;_classCallCheck(this,IfcBuiltSystem);_this2272=_super2269.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType);_this2272.GlobalId=GlobalId;_this2272.OwnerHistory=OwnerHistory;_this2272.Name=Name;_this2272.Description=Description;_this2272.ObjectType=ObjectType;_this2272.PredefinedType=PredefinedType;_this2272.LongName=LongName;_this2272.type=3862327254;return _this2272;}return _createClass(IfcBuiltSystem);}(IfcSystem);IFC4X32.IfcBuiltSystem=IfcBuiltSystem;var IfcBurnerType=/*#__PURE__*/function(_IfcEnergyConversionD71){_inherits(IfcBurnerType,_IfcEnergyConversionD71);var _super2270=_createSuper(IfcBurnerType);function IfcBurnerType(expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType,PredefinedType){var _this2273;_classCallCheck(this,IfcBurnerType);_this2273=_super2270.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType);_this2273.GlobalId=GlobalId;_this2273.OwnerHistory=OwnerHistory;_this2273.Name=Name;_this2273.Description=Description;_this2273.ApplicableOccurrence=ApplicableOccurrence;_this2273.HasPropertySets=HasPropertySets;_this2273.RepresentationMaps=RepresentationMaps;_this2273.Tag=Tag;_this2273.ElementType=ElementType;_this2273.PredefinedType=PredefinedType;_this2273.type=2188180465;return _this2273;}return _createClass(IfcBurnerType);}(IfcEnergyConversionDeviceType);IFC4X32.IfcBurnerType=IfcBurnerType;var IfcCableCarrierFittingType=/*#__PURE__*/function(_IfcFlowFittingType12){_inherits(IfcCableCarrierFittingType,_IfcFlowFittingType12);var _super2271=_createSuper(IfcCableCarrierFittingType);function IfcCableCarrierFittingType(expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType,PredefinedType){var _this2274;_classCallCheck(this,IfcCableCarrierFittingType);_this2274=_super2271.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType);_this2274.GlobalId=GlobalId;_this2274.OwnerHistory=OwnerHistory;_this2274.Name=Name;_this2274.Description=Description;_this2274.ApplicableOccurrence=ApplicableOccurrence;_this2274.HasPropertySets=HasPropertySets;_this2274.RepresentationMaps=RepresentationMaps;_this2274.Tag=Tag;_this2274.ElementType=ElementType;_this2274.PredefinedType=PredefinedType;_this2274.type=395041908;return _this2274;}return _createClass(IfcCableCarrierFittingType);}(IfcFlowFittingType);IFC4X32.IfcCableCarrierFittingType=IfcCableCarrierFittingType;var IfcCableCarrierSegmentType=/*#__PURE__*/function(_IfcFlowSegmentType10){_inherits(IfcCableCarrierSegmentType,_IfcFlowSegmentType10);var _super2272=_createSuper(IfcCableCarrierSegmentType);function IfcCableCarrierSegmentType(expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType,PredefinedType){var _this2275;_classCallCheck(this,IfcCableCarrierSegmentType);_this2275=_super2272.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType);_this2275.GlobalId=GlobalId;_this2275.OwnerHistory=OwnerHistory;_this2275.Name=Name;_this2275.Description=Description;_this2275.ApplicableOccurrence=ApplicableOccurrence;_this2275.HasPropertySets=HasPropertySets;_this2275.RepresentationMaps=RepresentationMaps;_this2275.Tag=Tag;_this2275.ElementType=ElementType;_this2275.PredefinedType=PredefinedType;_this2275.type=3293546465;return _this2275;}return _createClass(IfcCableCarrierSegmentType);}(IfcFlowSegmentType);IFC4X32.IfcCableCarrierSegmentType=IfcCableCarrierSegmentType;var IfcCableFittingType=/*#__PURE__*/function(_IfcFlowFittingType13){_inherits(IfcCableFittingType,_IfcFlowFittingType13);var _super2273=_createSuper(IfcCableFittingType);function IfcCableFittingType(expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType,PredefinedType){var _this2276;_classCallCheck(this,IfcCableFittingType);_this2276=_super2273.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType);_this2276.GlobalId=GlobalId;_this2276.OwnerHistory=OwnerHistory;_this2276.Name=Name;_this2276.Description=Description;_this2276.ApplicableOccurrence=ApplicableOccurrence;_this2276.HasPropertySets=HasPropertySets;_this2276.RepresentationMaps=RepresentationMaps;_this2276.Tag=Tag;_this2276.ElementType=ElementType;_this2276.PredefinedType=PredefinedType;_this2276.type=2674252688;return _this2276;}return _createClass(IfcCableFittingType);}(IfcFlowFittingType);IFC4X32.IfcCableFittingType=IfcCableFittingType;var IfcCableSegmentType=/*#__PURE__*/function(_IfcFlowSegmentType11){_inherits(IfcCableSegmentType,_IfcFlowSegmentType11);var _super2274=_createSuper(IfcCableSegmentType);function IfcCableSegmentType(expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType,PredefinedType){var _this2277;_classCallCheck(this,IfcCableSegmentType);_this2277=_super2274.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType);_this2277.GlobalId=GlobalId;_this2277.OwnerHistory=OwnerHistory;_this2277.Name=Name;_this2277.Description=Description;_this2277.ApplicableOccurrence=ApplicableOccurrence;_this2277.HasPropertySets=HasPropertySets;_this2277.RepresentationMaps=RepresentationMaps;_this2277.Tag=Tag;_this2277.ElementType=ElementType;_this2277.PredefinedType=PredefinedType;_this2277.type=1285652485;return _this2277;}return _createClass(IfcCableSegmentType);}(IfcFlowSegmentType);IFC4X32.IfcCableSegmentType=IfcCableSegmentType;var IfcCaissonFoundationType=/*#__PURE__*/function(_IfcDeepFoundationTyp2){_inherits(IfcCaissonFoundationType,_IfcDeepFoundationTyp2);var _super2275=_createSuper(IfcCaissonFoundationType);function IfcCaissonFoundationType(expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType,PredefinedType){var _this2278;_classCallCheck(this,IfcCaissonFoundationType);_this2278=_super2275.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType);_this2278.GlobalId=GlobalId;_this2278.OwnerHistory=OwnerHistory;_this2278.Name=Name;_this2278.Description=Description;_this2278.ApplicableOccurrence=ApplicableOccurrence;_this2278.HasPropertySets=HasPropertySets;_this2278.RepresentationMaps=RepresentationMaps;_this2278.Tag=Tag;_this2278.ElementType=ElementType;_this2278.PredefinedType=PredefinedType;_this2278.type=3203706013;return _this2278;}return _createClass(IfcCaissonFoundationType);}(IfcDeepFoundationType);IFC4X32.IfcCaissonFoundationType=IfcCaissonFoundationType;var IfcChillerType=/*#__PURE__*/function(_IfcEnergyConversionD72){_inherits(IfcChillerType,_IfcEnergyConversionD72);var _super2276=_createSuper(IfcChillerType);function IfcChillerType(expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType,PredefinedType){var _this2279;_classCallCheck(this,IfcChillerType);_this2279=_super2276.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType);_this2279.GlobalId=GlobalId;_this2279.OwnerHistory=OwnerHistory;_this2279.Name=Name;_this2279.Description=Description;_this2279.ApplicableOccurrence=ApplicableOccurrence;_this2279.HasPropertySets=HasPropertySets;_this2279.RepresentationMaps=RepresentationMaps;_this2279.Tag=Tag;_this2279.ElementType=ElementType;_this2279.PredefinedType=PredefinedType;_this2279.type=2951183804;return _this2279;}return _createClass(IfcChillerType);}(IfcEnergyConversionDeviceType);IFC4X32.IfcChillerType=IfcChillerType;var IfcChimney=/*#__PURE__*/function(_IfcBuiltElement){_inherits(IfcChimney,_IfcBuiltElement);var _super2277=_createSuper(IfcChimney);function IfcChimney(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag,PredefinedType){var _this2280;_classCallCheck(this,IfcChimney);_this2280=_super2277.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag);_this2280.GlobalId=GlobalId;_this2280.OwnerHistory=OwnerHistory;_this2280.Name=Name;_this2280.Description=Description;_this2280.ObjectType=ObjectType;_this2280.ObjectPlacement=ObjectPlacement;_this2280.Representation=Representation;_this2280.Tag=Tag;_this2280.PredefinedType=PredefinedType;_this2280.type=3296154744;return _this2280;}return _createClass(IfcChimney);}(IfcBuiltElement);IFC4X32.IfcChimney=IfcChimney;var IfcCircle=/*#__PURE__*/function(_IfcConic6){_inherits(IfcCircle,_IfcConic6);var _super2278=_createSuper(IfcCircle);function IfcCircle(expressID,Position,Radius){var _this2281;_classCallCheck(this,IfcCircle);_this2281=_super2278.call(this,expressID,Position);_this2281.Position=Position;_this2281.Radius=Radius;_this2281.type=2611217952;return _this2281;}return _createClass(IfcCircle);}(IfcConic);IFC4X32.IfcCircle=IfcCircle;var IfcCivilElement=/*#__PURE__*/function(_IfcElement30){_inherits(IfcCivilElement,_IfcElement30);var _super2279=_createSuper(IfcCivilElement);function IfcCivilElement(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag){var _this2282;_classCallCheck(this,IfcCivilElement);_this2282=_super2279.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag);_this2282.GlobalId=GlobalId;_this2282.OwnerHistory=OwnerHistory;_this2282.Name=Name;_this2282.Description=Description;_this2282.ObjectType=ObjectType;_this2282.ObjectPlacement=ObjectPlacement;_this2282.Representation=Representation;_this2282.Tag=Tag;_this2282.type=1677625105;return _this2282;}return _createClass(IfcCivilElement);}(IfcElement);IFC4X32.IfcCivilElement=IfcCivilElement;var IfcCoilType=/*#__PURE__*/function(_IfcEnergyConversionD73){_inherits(IfcCoilType,_IfcEnergyConversionD73);var _super2280=_createSuper(IfcCoilType);function IfcCoilType(expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType,PredefinedType){var _this2283;_classCallCheck(this,IfcCoilType);_this2283=_super2280.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType);_this2283.GlobalId=GlobalId;_this2283.OwnerHistory=OwnerHistory;_this2283.Name=Name;_this2283.Description=Description;_this2283.ApplicableOccurrence=ApplicableOccurrence;_this2283.HasPropertySets=HasPropertySets;_this2283.RepresentationMaps=RepresentationMaps;_this2283.Tag=Tag;_this2283.ElementType=ElementType;_this2283.PredefinedType=PredefinedType;_this2283.type=2301859152;return _this2283;}return _createClass(IfcCoilType);}(IfcEnergyConversionDeviceType);IFC4X32.IfcCoilType=IfcCoilType;var IfcColumn=/*#__PURE__*/function(_IfcBuiltElement2){_inherits(IfcColumn,_IfcBuiltElement2);var _super2281=_createSuper(IfcColumn);function IfcColumn(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag,PredefinedType){var _this2284;_classCallCheck(this,IfcColumn);_this2284=_super2281.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag);_this2284.GlobalId=GlobalId;_this2284.OwnerHistory=OwnerHistory;_this2284.Name=Name;_this2284.Description=Description;_this2284.ObjectType=ObjectType;_this2284.ObjectPlacement=ObjectPlacement;_this2284.Representation=Representation;_this2284.Tag=Tag;_this2284.PredefinedType=PredefinedType;_this2284.type=843113511;return _this2284;}return _createClass(IfcColumn);}(IfcBuiltElement);IFC4X32.IfcColumn=IfcColumn;var IfcCommunicationsApplianceType=/*#__PURE__*/function(_IfcFlowTerminalType38){_inherits(IfcCommunicationsApplianceType,_IfcFlowTerminalType38);var _super2282=_createSuper(IfcCommunicationsApplianceType);function IfcCommunicationsApplianceType(expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType,PredefinedType){var _this2285;_classCallCheck(this,IfcCommunicationsApplianceType);_this2285=_super2282.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType);_this2285.GlobalId=GlobalId;_this2285.OwnerHistory=OwnerHistory;_this2285.Name=Name;_this2285.Description=Description;_this2285.ApplicableOccurrence=ApplicableOccurrence;_this2285.HasPropertySets=HasPropertySets;_this2285.RepresentationMaps=RepresentationMaps;_this2285.Tag=Tag;_this2285.ElementType=ElementType;_this2285.PredefinedType=PredefinedType;_this2285.type=400855858;return _this2285;}return _createClass(IfcCommunicationsApplianceType);}(IfcFlowTerminalType);IFC4X32.IfcCommunicationsApplianceType=IfcCommunicationsApplianceType;var IfcCompressorType=/*#__PURE__*/function(_IfcFlowMovingDeviceT8){_inherits(IfcCompressorType,_IfcFlowMovingDeviceT8);var _super2283=_createSuper(IfcCompressorType);function IfcCompressorType(expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType,PredefinedType){var _this2286;_classCallCheck(this,IfcCompressorType);_this2286=_super2283.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType);_this2286.GlobalId=GlobalId;_this2286.OwnerHistory=OwnerHistory;_this2286.Name=Name;_this2286.Description=Description;_this2286.ApplicableOccurrence=ApplicableOccurrence;_this2286.HasPropertySets=HasPropertySets;_this2286.RepresentationMaps=RepresentationMaps;_this2286.Tag=Tag;_this2286.ElementType=ElementType;_this2286.PredefinedType=PredefinedType;_this2286.type=3850581409;return _this2286;}return _createClass(IfcCompressorType);}(IfcFlowMovingDeviceType);IFC4X32.IfcCompressorType=IfcCompressorType;var IfcCondenserType=/*#__PURE__*/function(_IfcEnergyConversionD74){_inherits(IfcCondenserType,_IfcEnergyConversionD74);var _super2284=_createSuper(IfcCondenserType);function IfcCondenserType(expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType,PredefinedType){var _this2287;_classCallCheck(this,IfcCondenserType);_this2287=_super2284.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType);_this2287.GlobalId=GlobalId;_this2287.OwnerHistory=OwnerHistory;_this2287.Name=Name;_this2287.Description=Description;_this2287.ApplicableOccurrence=ApplicableOccurrence;_this2287.HasPropertySets=HasPropertySets;_this2287.RepresentationMaps=RepresentationMaps;_this2287.Tag=Tag;_this2287.ElementType=ElementType;_this2287.PredefinedType=PredefinedType;_this2287.type=2816379211;return _this2287;}return _createClass(IfcCondenserType);}(IfcEnergyConversionDeviceType);IFC4X32.IfcCondenserType=IfcCondenserType;var IfcConstructionEquipmentResource=/*#__PURE__*/function(_IfcConstructionResou28){_inherits(IfcConstructionEquipmentResource,_IfcConstructionResou28);var _super2285=_createSuper(IfcConstructionEquipmentResource);function IfcConstructionEquipmentResource(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,Identification,LongDescription,Usage,BaseCosts,BaseQuantity,PredefinedType){var _this2288;_classCallCheck(this,IfcConstructionEquipmentResource);_this2288=_super2285.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,Identification,LongDescription,Usage,BaseCosts,BaseQuantity);_this2288.GlobalId=GlobalId;_this2288.OwnerHistory=OwnerHistory;_this2288.Name=Name;_this2288.Description=Description;_this2288.ObjectType=ObjectType;_this2288.Identification=Identification;_this2288.LongDescription=LongDescription;_this2288.Usage=Usage;_this2288.BaseCosts=BaseCosts;_this2288.BaseQuantity=BaseQuantity;_this2288.PredefinedType=PredefinedType;_this2288.type=3898045240;return _this2288;}return _createClass(IfcConstructionEquipmentResource);}(IfcConstructionResource);IFC4X32.IfcConstructionEquipmentResource=IfcConstructionEquipmentResource;var IfcConstructionMaterialResource=/*#__PURE__*/function(_IfcConstructionResou29){_inherits(IfcConstructionMaterialResource,_IfcConstructionResou29);var _super2286=_createSuper(IfcConstructionMaterialResource);function IfcConstructionMaterialResource(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,Identification,LongDescription,Usage,BaseCosts,BaseQuantity,PredefinedType){var _this2289;_classCallCheck(this,IfcConstructionMaterialResource);_this2289=_super2286.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,Identification,LongDescription,Usage,BaseCosts,BaseQuantity);_this2289.GlobalId=GlobalId;_this2289.OwnerHistory=OwnerHistory;_this2289.Name=Name;_this2289.Description=Description;_this2289.ObjectType=ObjectType;_this2289.Identification=Identification;_this2289.LongDescription=LongDescription;_this2289.Usage=Usage;_this2289.BaseCosts=BaseCosts;_this2289.BaseQuantity=BaseQuantity;_this2289.PredefinedType=PredefinedType;_this2289.type=1060000209;return _this2289;}return _createClass(IfcConstructionMaterialResource);}(IfcConstructionResource);IFC4X32.IfcConstructionMaterialResource=IfcConstructionMaterialResource;var IfcConstructionProductResource=/*#__PURE__*/function(_IfcConstructionResou30){_inherits(IfcConstructionProductResource,_IfcConstructionResou30);var _super2287=_createSuper(IfcConstructionProductResource);function IfcConstructionProductResource(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,Identification,LongDescription,Usage,BaseCosts,BaseQuantity,PredefinedType){var _this2290;_classCallCheck(this,IfcConstructionProductResource);_this2290=_super2287.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,Identification,LongDescription,Usage,BaseCosts,BaseQuantity);_this2290.GlobalId=GlobalId;_this2290.OwnerHistory=OwnerHistory;_this2290.Name=Name;_this2290.Description=Description;_this2290.ObjectType=ObjectType;_this2290.Identification=Identification;_this2290.LongDescription=LongDescription;_this2290.Usage=Usage;_this2290.BaseCosts=BaseCosts;_this2290.BaseQuantity=BaseQuantity;_this2290.PredefinedType=PredefinedType;_this2290.type=488727124;return _this2290;}return _createClass(IfcConstructionProductResource);}(IfcConstructionResource);IFC4X32.IfcConstructionProductResource=IfcConstructionProductResource;var IfcConveyorSegmentType=/*#__PURE__*/function(_IfcFlowSegmentType12){_inherits(IfcConveyorSegmentType,_IfcFlowSegmentType12);var _super2288=_createSuper(IfcConveyorSegmentType);function IfcConveyorSegmentType(expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType,PredefinedType){var _this2291;_classCallCheck(this,IfcConveyorSegmentType);_this2291=_super2288.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType);_this2291.GlobalId=GlobalId;_this2291.OwnerHistory=OwnerHistory;_this2291.Name=Name;_this2291.Description=Description;_this2291.ApplicableOccurrence=ApplicableOccurrence;_this2291.HasPropertySets=HasPropertySets;_this2291.RepresentationMaps=RepresentationMaps;_this2291.Tag=Tag;_this2291.ElementType=ElementType;_this2291.PredefinedType=PredefinedType;_this2291.type=2940368186;return _this2291;}return _createClass(IfcConveyorSegmentType);}(IfcFlowSegmentType);IFC4X32.IfcConveyorSegmentType=IfcConveyorSegmentType;var IfcCooledBeamType=/*#__PURE__*/function(_IfcEnergyConversionD75){_inherits(IfcCooledBeamType,_IfcEnergyConversionD75);var _super2289=_createSuper(IfcCooledBeamType);function IfcCooledBeamType(expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType,PredefinedType){var _this2292;_classCallCheck(this,IfcCooledBeamType);_this2292=_super2289.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType);_this2292.GlobalId=GlobalId;_this2292.OwnerHistory=OwnerHistory;_this2292.Name=Name;_this2292.Description=Description;_this2292.ApplicableOccurrence=ApplicableOccurrence;_this2292.HasPropertySets=HasPropertySets;_this2292.RepresentationMaps=RepresentationMaps;_this2292.Tag=Tag;_this2292.ElementType=ElementType;_this2292.PredefinedType=PredefinedType;_this2292.type=335055490;return _this2292;}return _createClass(IfcCooledBeamType);}(IfcEnergyConversionDeviceType);IFC4X32.IfcCooledBeamType=IfcCooledBeamType;var IfcCoolingTowerType=/*#__PURE__*/function(_IfcEnergyConversionD76){_inherits(IfcCoolingTowerType,_IfcEnergyConversionD76);var _super2290=_createSuper(IfcCoolingTowerType);function IfcCoolingTowerType(expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType,PredefinedType){var _this2293;_classCallCheck(this,IfcCoolingTowerType);_this2293=_super2290.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType);_this2293.GlobalId=GlobalId;_this2293.OwnerHistory=OwnerHistory;_this2293.Name=Name;_this2293.Description=Description;_this2293.ApplicableOccurrence=ApplicableOccurrence;_this2293.HasPropertySets=HasPropertySets;_this2293.RepresentationMaps=RepresentationMaps;_this2293.Tag=Tag;_this2293.ElementType=ElementType;_this2293.PredefinedType=PredefinedType;_this2293.type=2954562838;return _this2293;}return _createClass(IfcCoolingTowerType);}(IfcEnergyConversionDeviceType);IFC4X32.IfcCoolingTowerType=IfcCoolingTowerType;var IfcCourse=/*#__PURE__*/function(_IfcBuiltElement3){_inherits(IfcCourse,_IfcBuiltElement3);var _super2291=_createSuper(IfcCourse);function IfcCourse(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag,PredefinedType){var _this2294;_classCallCheck(this,IfcCourse);_this2294=_super2291.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag);_this2294.GlobalId=GlobalId;_this2294.OwnerHistory=OwnerHistory;_this2294.Name=Name;_this2294.Description=Description;_this2294.ObjectType=ObjectType;_this2294.ObjectPlacement=ObjectPlacement;_this2294.Representation=Representation;_this2294.Tag=Tag;_this2294.PredefinedType=PredefinedType;_this2294.type=1502416096;return _this2294;}return _createClass(IfcCourse);}(IfcBuiltElement);IFC4X32.IfcCourse=IfcCourse;var IfcCovering=/*#__PURE__*/function(_IfcBuiltElement4){_inherits(IfcCovering,_IfcBuiltElement4);var _super2292=_createSuper(IfcCovering);function IfcCovering(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag,PredefinedType){var _this2295;_classCallCheck(this,IfcCovering);_this2295=_super2292.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag);_this2295.GlobalId=GlobalId;_this2295.OwnerHistory=OwnerHistory;_this2295.Name=Name;_this2295.Description=Description;_this2295.ObjectType=ObjectType;_this2295.ObjectPlacement=ObjectPlacement;_this2295.Representation=Representation;_this2295.Tag=Tag;_this2295.PredefinedType=PredefinedType;_this2295.type=1973544240;return _this2295;}return _createClass(IfcCovering);}(IfcBuiltElement);IFC4X32.IfcCovering=IfcCovering;var IfcCurtainWall=/*#__PURE__*/function(_IfcBuiltElement5){_inherits(IfcCurtainWall,_IfcBuiltElement5);var _super2293=_createSuper(IfcCurtainWall);function IfcCurtainWall(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag,PredefinedType){var _this2296;_classCallCheck(this,IfcCurtainWall);_this2296=_super2293.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag);_this2296.GlobalId=GlobalId;_this2296.OwnerHistory=OwnerHistory;_this2296.Name=Name;_this2296.Description=Description;_this2296.ObjectType=ObjectType;_this2296.ObjectPlacement=ObjectPlacement;_this2296.Representation=Representation;_this2296.Tag=Tag;_this2296.PredefinedType=PredefinedType;_this2296.type=3495092785;return _this2296;}return _createClass(IfcCurtainWall);}(IfcBuiltElement);IFC4X32.IfcCurtainWall=IfcCurtainWall;var IfcDamperType=/*#__PURE__*/function(_IfcFlowControllerTyp21){_inherits(IfcDamperType,_IfcFlowControllerTyp21);var _super2294=_createSuper(IfcDamperType);function IfcDamperType(expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType,PredefinedType){var _this2297;_classCallCheck(this,IfcDamperType);_this2297=_super2294.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType);_this2297.GlobalId=GlobalId;_this2297.OwnerHistory=OwnerHistory;_this2297.Name=Name;_this2297.Description=Description;_this2297.ApplicableOccurrence=ApplicableOccurrence;_this2297.HasPropertySets=HasPropertySets;_this2297.RepresentationMaps=RepresentationMaps;_this2297.Tag=Tag;_this2297.ElementType=ElementType;_this2297.PredefinedType=PredefinedType;_this2297.type=3961806047;return _this2297;}return _createClass(IfcDamperType);}(IfcFlowControllerType);IFC4X32.IfcDamperType=IfcDamperType;var IfcDeepFoundation=/*#__PURE__*/function(_IfcBuiltElement6){_inherits(IfcDeepFoundation,_IfcBuiltElement6);var _super2295=_createSuper(IfcDeepFoundation);function IfcDeepFoundation(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag){var _this2298;_classCallCheck(this,IfcDeepFoundation);_this2298=_super2295.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag);_this2298.GlobalId=GlobalId;_this2298.OwnerHistory=OwnerHistory;_this2298.Name=Name;_this2298.Description=Description;_this2298.ObjectType=ObjectType;_this2298.ObjectPlacement=ObjectPlacement;_this2298.Representation=Representation;_this2298.Tag=Tag;_this2298.type=3426335179;return _this2298;}return _createClass(IfcDeepFoundation);}(IfcBuiltElement);IFC4X32.IfcDeepFoundation=IfcDeepFoundation;var IfcDiscreteAccessory=/*#__PURE__*/function(_IfcElementComponent17){_inherits(IfcDiscreteAccessory,_IfcElementComponent17);var _super2296=_createSuper(IfcDiscreteAccessory);function IfcDiscreteAccessory(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag,PredefinedType){var _this2299;_classCallCheck(this,IfcDiscreteAccessory);_this2299=_super2296.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag);_this2299.GlobalId=GlobalId;_this2299.OwnerHistory=OwnerHistory;_this2299.Name=Name;_this2299.Description=Description;_this2299.ObjectType=ObjectType;_this2299.ObjectPlacement=ObjectPlacement;_this2299.Representation=Representation;_this2299.Tag=Tag;_this2299.PredefinedType=PredefinedType;_this2299.type=1335981549;return _this2299;}return _createClass(IfcDiscreteAccessory);}(IfcElementComponent);IFC4X32.IfcDiscreteAccessory=IfcDiscreteAccessory;var IfcDiscreteAccessoryType=/*#__PURE__*/function(_IfcElementComponentT17){_inherits(IfcDiscreteAccessoryType,_IfcElementComponentT17);var _super2297=_createSuper(IfcDiscreteAccessoryType);function IfcDiscreteAccessoryType(expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType,PredefinedType){var _this2300;_classCallCheck(this,IfcDiscreteAccessoryType);_this2300=_super2297.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType);_this2300.GlobalId=GlobalId;_this2300.OwnerHistory=OwnerHistory;_this2300.Name=Name;_this2300.Description=Description;_this2300.ApplicableOccurrence=ApplicableOccurrence;_this2300.HasPropertySets=HasPropertySets;_this2300.RepresentationMaps=RepresentationMaps;_this2300.Tag=Tag;_this2300.ElementType=ElementType;_this2300.PredefinedType=PredefinedType;_this2300.type=2635815018;return _this2300;}return _createClass(IfcDiscreteAccessoryType);}(IfcElementComponentType);IFC4X32.IfcDiscreteAccessoryType=IfcDiscreteAccessoryType;var IfcDistributionBoardType=/*#__PURE__*/function(_IfcFlowControllerTyp22){_inherits(IfcDistributionBoardType,_IfcFlowControllerTyp22);var _super2298=_createSuper(IfcDistributionBoardType);function IfcDistributionBoardType(expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType,PredefinedType){var _this2301;_classCallCheck(this,IfcDistributionBoardType);_this2301=_super2298.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType);_this2301.GlobalId=GlobalId;_this2301.OwnerHistory=OwnerHistory;_this2301.Name=Name;_this2301.Description=Description;_this2301.ApplicableOccurrence=ApplicableOccurrence;_this2301.HasPropertySets=HasPropertySets;_this2301.RepresentationMaps=RepresentationMaps;_this2301.Tag=Tag;_this2301.ElementType=ElementType;_this2301.PredefinedType=PredefinedType;_this2301.type=479945903;return _this2301;}return _createClass(IfcDistributionBoardType);}(IfcFlowControllerType);IFC4X32.IfcDistributionBoardType=IfcDistributionBoardType;var IfcDistributionChamberElementType=/*#__PURE__*/function(_IfcDistributionFlowE45){_inherits(IfcDistributionChamberElementType,_IfcDistributionFlowE45);var _super2299=_createSuper(IfcDistributionChamberElementType);function IfcDistributionChamberElementType(expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType,PredefinedType){var _this2302;_classCallCheck(this,IfcDistributionChamberElementType);_this2302=_super2299.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType);_this2302.GlobalId=GlobalId;_this2302.OwnerHistory=OwnerHistory;_this2302.Name=Name;_this2302.Description=Description;_this2302.ApplicableOccurrence=ApplicableOccurrence;_this2302.HasPropertySets=HasPropertySets;_this2302.RepresentationMaps=RepresentationMaps;_this2302.Tag=Tag;_this2302.ElementType=ElementType;_this2302.PredefinedType=PredefinedType;_this2302.type=1599208980;return _this2302;}return _createClass(IfcDistributionChamberElementType);}(IfcDistributionFlowElementType);IFC4X32.IfcDistributionChamberElementType=IfcDistributionChamberElementType;var IfcDistributionControlElementType=/*#__PURE__*/function(_IfcDistributionEleme10){_inherits(IfcDistributionControlElementType,_IfcDistributionEleme10);var _super2300=_createSuper(IfcDistributionControlElementType);function IfcDistributionControlElementType(expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType){var _this2303;_classCallCheck(this,IfcDistributionControlElementType);_this2303=_super2300.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType);_this2303.GlobalId=GlobalId;_this2303.OwnerHistory=OwnerHistory;_this2303.Name=Name;_this2303.Description=Description;_this2303.ApplicableOccurrence=ApplicableOccurrence;_this2303.HasPropertySets=HasPropertySets;_this2303.RepresentationMaps=RepresentationMaps;_this2303.Tag=Tag;_this2303.ElementType=ElementType;_this2303.type=2063403501;return _this2303;}return _createClass(IfcDistributionControlElementType);}(IfcDistributionElementType);IFC4X32.IfcDistributionControlElementType=IfcDistributionControlElementType;var IfcDistributionElement=/*#__PURE__*/function(_IfcElement31){_inherits(IfcDistributionElement,_IfcElement31);var _super2301=_createSuper(IfcDistributionElement);function IfcDistributionElement(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag){var _this2304;_classCallCheck(this,IfcDistributionElement);_this2304=_super2301.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag);_this2304.GlobalId=GlobalId;_this2304.OwnerHistory=OwnerHistory;_this2304.Name=Name;_this2304.Description=Description;_this2304.ObjectType=ObjectType;_this2304.ObjectPlacement=ObjectPlacement;_this2304.Representation=Representation;_this2304.Tag=Tag;_this2304.type=1945004755;return _this2304;}return _createClass(IfcDistributionElement);}(IfcElement);IFC4X32.IfcDistributionElement=IfcDistributionElement;var IfcDistributionFlowElement=/*#__PURE__*/function(_IfcDistributionEleme11){_inherits(IfcDistributionFlowElement,_IfcDistributionEleme11);var _super2302=_createSuper(IfcDistributionFlowElement);function IfcDistributionFlowElement(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag){var _this2305;_classCallCheck(this,IfcDistributionFlowElement);_this2305=_super2302.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag);_this2305.GlobalId=GlobalId;_this2305.OwnerHistory=OwnerHistory;_this2305.Name=Name;_this2305.Description=Description;_this2305.ObjectType=ObjectType;_this2305.ObjectPlacement=ObjectPlacement;_this2305.Representation=Representation;_this2305.Tag=Tag;_this2305.type=3040386961;return _this2305;}return _createClass(IfcDistributionFlowElement);}(IfcDistributionElement);IFC4X32.IfcDistributionFlowElement=IfcDistributionFlowElement;var IfcDistributionPort=/*#__PURE__*/function(_IfcPort3){_inherits(IfcDistributionPort,_IfcPort3);var _super2303=_createSuper(IfcDistributionPort);function IfcDistributionPort(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,FlowDirection,PredefinedType,SystemType){var _this2306;_classCallCheck(this,IfcDistributionPort);_this2306=_super2303.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation);_this2306.GlobalId=GlobalId;_this2306.OwnerHistory=OwnerHistory;_this2306.Name=Name;_this2306.Description=Description;_this2306.ObjectType=ObjectType;_this2306.ObjectPlacement=ObjectPlacement;_this2306.Representation=Representation;_this2306.FlowDirection=FlowDirection;_this2306.PredefinedType=PredefinedType;_this2306.SystemType=SystemType;_this2306.type=3041715199;return _this2306;}return _createClass(IfcDistributionPort);}(IfcPort);IFC4X32.IfcDistributionPort=IfcDistributionPort;var IfcDistributionSystem=/*#__PURE__*/function(_IfcSystem10){_inherits(IfcDistributionSystem,_IfcSystem10);var _super2304=_createSuper(IfcDistributionSystem);function IfcDistributionSystem(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,LongName,PredefinedType){var _this2307;_classCallCheck(this,IfcDistributionSystem);_this2307=_super2304.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType);_this2307.GlobalId=GlobalId;_this2307.OwnerHistory=OwnerHistory;_this2307.Name=Name;_this2307.Description=Description;_this2307.ObjectType=ObjectType;_this2307.LongName=LongName;_this2307.PredefinedType=PredefinedType;_this2307.type=3205830791;return _this2307;}return _createClass(IfcDistributionSystem);}(IfcSystem);IFC4X32.IfcDistributionSystem=IfcDistributionSystem;var IfcDoor=/*#__PURE__*/function(_IfcBuiltElement7){_inherits(IfcDoor,_IfcBuiltElement7);var _super2305=_createSuper(IfcDoor);function IfcDoor(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag,OverallHeight,OverallWidth,PredefinedType,OperationType,UserDefinedOperationType){var _this2308;_classCallCheck(this,IfcDoor);_this2308=_super2305.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag);_this2308.GlobalId=GlobalId;_this2308.OwnerHistory=OwnerHistory;_this2308.Name=Name;_this2308.Description=Description;_this2308.ObjectType=ObjectType;_this2308.ObjectPlacement=ObjectPlacement;_this2308.Representation=Representation;_this2308.Tag=Tag;_this2308.OverallHeight=OverallHeight;_this2308.OverallWidth=OverallWidth;_this2308.PredefinedType=PredefinedType;_this2308.OperationType=OperationType;_this2308.UserDefinedOperationType=UserDefinedOperationType;_this2308.type=395920057;return _this2308;}return _createClass(IfcDoor);}(IfcBuiltElement);IFC4X32.IfcDoor=IfcDoor;var IfcDuctFittingType=/*#__PURE__*/function(_IfcFlowFittingType14){_inherits(IfcDuctFittingType,_IfcFlowFittingType14);var _super2306=_createSuper(IfcDuctFittingType);function IfcDuctFittingType(expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType,PredefinedType){var _this2309;_classCallCheck(this,IfcDuctFittingType);_this2309=_super2306.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType);_this2309.GlobalId=GlobalId;_this2309.OwnerHistory=OwnerHistory;_this2309.Name=Name;_this2309.Description=Description;_this2309.ApplicableOccurrence=ApplicableOccurrence;_this2309.HasPropertySets=HasPropertySets;_this2309.RepresentationMaps=RepresentationMaps;_this2309.Tag=Tag;_this2309.ElementType=ElementType;_this2309.PredefinedType=PredefinedType;_this2309.type=869906466;return _this2309;}return _createClass(IfcDuctFittingType);}(IfcFlowFittingType);IFC4X32.IfcDuctFittingType=IfcDuctFittingType;var IfcDuctSegmentType=/*#__PURE__*/function(_IfcFlowSegmentType13){_inherits(IfcDuctSegmentType,_IfcFlowSegmentType13);var _super2307=_createSuper(IfcDuctSegmentType);function IfcDuctSegmentType(expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType,PredefinedType){var _this2310;_classCallCheck(this,IfcDuctSegmentType);_this2310=_super2307.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType);_this2310.GlobalId=GlobalId;_this2310.OwnerHistory=OwnerHistory;_this2310.Name=Name;_this2310.Description=Description;_this2310.ApplicableOccurrence=ApplicableOccurrence;_this2310.HasPropertySets=HasPropertySets;_this2310.RepresentationMaps=RepresentationMaps;_this2310.Tag=Tag;_this2310.ElementType=ElementType;_this2310.PredefinedType=PredefinedType;_this2310.type=3760055223;return _this2310;}return _createClass(IfcDuctSegmentType);}(IfcFlowSegmentType);IFC4X32.IfcDuctSegmentType=IfcDuctSegmentType;var IfcDuctSilencerType=/*#__PURE__*/function(_IfcFlowTreatmentDevi10){_inherits(IfcDuctSilencerType,_IfcFlowTreatmentDevi10);var _super2308=_createSuper(IfcDuctSilencerType);function IfcDuctSilencerType(expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType,PredefinedType){var _this2311;_classCallCheck(this,IfcDuctSilencerType);_this2311=_super2308.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType);_this2311.GlobalId=GlobalId;_this2311.OwnerHistory=OwnerHistory;_this2311.Name=Name;_this2311.Description=Description;_this2311.ApplicableOccurrence=ApplicableOccurrence;_this2311.HasPropertySets=HasPropertySets;_this2311.RepresentationMaps=RepresentationMaps;_this2311.Tag=Tag;_this2311.ElementType=ElementType;_this2311.PredefinedType=PredefinedType;_this2311.type=2030761528;return _this2311;}return _createClass(IfcDuctSilencerType);}(IfcFlowTreatmentDeviceType);IFC4X32.IfcDuctSilencerType=IfcDuctSilencerType;var IfcEarthworksCut=/*#__PURE__*/function(_IfcFeatureElementSub7){_inherits(IfcEarthworksCut,_IfcFeatureElementSub7);var _super2309=_createSuper(IfcEarthworksCut);function IfcEarthworksCut(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag,PredefinedType){var _this2312;_classCallCheck(this,IfcEarthworksCut);_this2312=_super2309.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag);_this2312.GlobalId=GlobalId;_this2312.OwnerHistory=OwnerHistory;_this2312.Name=Name;_this2312.Description=Description;_this2312.ObjectType=ObjectType;_this2312.ObjectPlacement=ObjectPlacement;_this2312.Representation=Representation;_this2312.Tag=Tag;_this2312.PredefinedType=PredefinedType;_this2312.type=3071239417;return _this2312;}return _createClass(IfcEarthworksCut);}(IfcFeatureElementSubtraction);IFC4X32.IfcEarthworksCut=IfcEarthworksCut;var IfcEarthworksElement=/*#__PURE__*/function(_IfcBuiltElement8){_inherits(IfcEarthworksElement,_IfcBuiltElement8);var _super2310=_createSuper(IfcEarthworksElement);function IfcEarthworksElement(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag){var _this2313;_classCallCheck(this,IfcEarthworksElement);_this2313=_super2310.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag);_this2313.GlobalId=GlobalId;_this2313.OwnerHistory=OwnerHistory;_this2313.Name=Name;_this2313.Description=Description;_this2313.ObjectType=ObjectType;_this2313.ObjectPlacement=ObjectPlacement;_this2313.Representation=Representation;_this2313.Tag=Tag;_this2313.type=1077100507;return _this2313;}return _createClass(IfcEarthworksElement);}(IfcBuiltElement);IFC4X32.IfcEarthworksElement=IfcEarthworksElement;var IfcEarthworksFill=/*#__PURE__*/function(_IfcEarthworksElement){_inherits(IfcEarthworksFill,_IfcEarthworksElement);var _super2311=_createSuper(IfcEarthworksFill);function IfcEarthworksFill(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag,PredefinedType){var _this2314;_classCallCheck(this,IfcEarthworksFill);_this2314=_super2311.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag);_this2314.GlobalId=GlobalId;_this2314.OwnerHistory=OwnerHistory;_this2314.Name=Name;_this2314.Description=Description;_this2314.ObjectType=ObjectType;_this2314.ObjectPlacement=ObjectPlacement;_this2314.Representation=Representation;_this2314.Tag=Tag;_this2314.PredefinedType=PredefinedType;_this2314.type=3376911765;return _this2314;}return _createClass(IfcEarthworksFill);}(IfcEarthworksElement);IFC4X32.IfcEarthworksFill=IfcEarthworksFill;var IfcElectricApplianceType=/*#__PURE__*/function(_IfcFlowTerminalType39){_inherits(IfcElectricApplianceType,_IfcFlowTerminalType39);var _super2312=_createSuper(IfcElectricApplianceType);function IfcElectricApplianceType(expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType,PredefinedType){var _this2315;_classCallCheck(this,IfcElectricApplianceType);_this2315=_super2312.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType);_this2315.GlobalId=GlobalId;_this2315.OwnerHistory=OwnerHistory;_this2315.Name=Name;_this2315.Description=Description;_this2315.ApplicableOccurrence=ApplicableOccurrence;_this2315.HasPropertySets=HasPropertySets;_this2315.RepresentationMaps=RepresentationMaps;_this2315.Tag=Tag;_this2315.ElementType=ElementType;_this2315.PredefinedType=PredefinedType;_this2315.type=663422040;return _this2315;}return _createClass(IfcElectricApplianceType);}(IfcFlowTerminalType);IFC4X32.IfcElectricApplianceType=IfcElectricApplianceType;var IfcElectricDistributionBoardType=/*#__PURE__*/function(_IfcFlowControllerTyp23){_inherits(IfcElectricDistributionBoardType,_IfcFlowControllerTyp23);var _super2313=_createSuper(IfcElectricDistributionBoardType);function IfcElectricDistributionBoardType(expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType,PredefinedType){var _this2316;_classCallCheck(this,IfcElectricDistributionBoardType);_this2316=_super2313.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType);_this2316.GlobalId=GlobalId;_this2316.OwnerHistory=OwnerHistory;_this2316.Name=Name;_this2316.Description=Description;_this2316.ApplicableOccurrence=ApplicableOccurrence;_this2316.HasPropertySets=HasPropertySets;_this2316.RepresentationMaps=RepresentationMaps;_this2316.Tag=Tag;_this2316.ElementType=ElementType;_this2316.PredefinedType=PredefinedType;_this2316.type=2417008758;return _this2316;}return _createClass(IfcElectricDistributionBoardType);}(IfcFlowControllerType);IFC4X32.IfcElectricDistributionBoardType=IfcElectricDistributionBoardType;var IfcElectricFlowStorageDeviceType=/*#__PURE__*/function(_IfcFlowStorageDevice8){_inherits(IfcElectricFlowStorageDeviceType,_IfcFlowStorageDevice8);var _super2314=_createSuper(IfcElectricFlowStorageDeviceType);function IfcElectricFlowStorageDeviceType(expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType,PredefinedType){var _this2317;_classCallCheck(this,IfcElectricFlowStorageDeviceType);_this2317=_super2314.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType);_this2317.GlobalId=GlobalId;_this2317.OwnerHistory=OwnerHistory;_this2317.Name=Name;_this2317.Description=Description;_this2317.ApplicableOccurrence=ApplicableOccurrence;_this2317.HasPropertySets=HasPropertySets;_this2317.RepresentationMaps=RepresentationMaps;_this2317.Tag=Tag;_this2317.ElementType=ElementType;_this2317.PredefinedType=PredefinedType;_this2317.type=3277789161;return _this2317;}return _createClass(IfcElectricFlowStorageDeviceType);}(IfcFlowStorageDeviceType);IFC4X32.IfcElectricFlowStorageDeviceType=IfcElectricFlowStorageDeviceType;var IfcElectricFlowTreatmentDeviceType=/*#__PURE__*/function(_IfcFlowTreatmentDevi11){_inherits(IfcElectricFlowTreatmentDeviceType,_IfcFlowTreatmentDevi11);var _super2315=_createSuper(IfcElectricFlowTreatmentDeviceType);function IfcElectricFlowTreatmentDeviceType(expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType,PredefinedType){var _this2318;_classCallCheck(this,IfcElectricFlowTreatmentDeviceType);_this2318=_super2315.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType);_this2318.GlobalId=GlobalId;_this2318.OwnerHistory=OwnerHistory;_this2318.Name=Name;_this2318.Description=Description;_this2318.ApplicableOccurrence=ApplicableOccurrence;_this2318.HasPropertySets=HasPropertySets;_this2318.RepresentationMaps=RepresentationMaps;_this2318.Tag=Tag;_this2318.ElementType=ElementType;_this2318.PredefinedType=PredefinedType;_this2318.type=2142170206;return _this2318;}return _createClass(IfcElectricFlowTreatmentDeviceType);}(IfcFlowTreatmentDeviceType);IFC4X32.IfcElectricFlowTreatmentDeviceType=IfcElectricFlowTreatmentDeviceType;var IfcElectricGeneratorType=/*#__PURE__*/function(_IfcEnergyConversionD77){_inherits(IfcElectricGeneratorType,_IfcEnergyConversionD77);var _super2316=_createSuper(IfcElectricGeneratorType);function IfcElectricGeneratorType(expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType,PredefinedType){var _this2319;_classCallCheck(this,IfcElectricGeneratorType);_this2319=_super2316.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType);_this2319.GlobalId=GlobalId;_this2319.OwnerHistory=OwnerHistory;_this2319.Name=Name;_this2319.Description=Description;_this2319.ApplicableOccurrence=ApplicableOccurrence;_this2319.HasPropertySets=HasPropertySets;_this2319.RepresentationMaps=RepresentationMaps;_this2319.Tag=Tag;_this2319.ElementType=ElementType;_this2319.PredefinedType=PredefinedType;_this2319.type=1534661035;return _this2319;}return _createClass(IfcElectricGeneratorType);}(IfcEnergyConversionDeviceType);IFC4X32.IfcElectricGeneratorType=IfcElectricGeneratorType;var IfcElectricMotorType=/*#__PURE__*/function(_IfcEnergyConversionD78){_inherits(IfcElectricMotorType,_IfcEnergyConversionD78);var _super2317=_createSuper(IfcElectricMotorType);function IfcElectricMotorType(expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType,PredefinedType){var _this2320;_classCallCheck(this,IfcElectricMotorType);_this2320=_super2317.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType);_this2320.GlobalId=GlobalId;_this2320.OwnerHistory=OwnerHistory;_this2320.Name=Name;_this2320.Description=Description;_this2320.ApplicableOccurrence=ApplicableOccurrence;_this2320.HasPropertySets=HasPropertySets;_this2320.RepresentationMaps=RepresentationMaps;_this2320.Tag=Tag;_this2320.ElementType=ElementType;_this2320.PredefinedType=PredefinedType;_this2320.type=1217240411;return _this2320;}return _createClass(IfcElectricMotorType);}(IfcEnergyConversionDeviceType);IFC4X32.IfcElectricMotorType=IfcElectricMotorType;var IfcElectricTimeControlType=/*#__PURE__*/function(_IfcFlowControllerTyp24){_inherits(IfcElectricTimeControlType,_IfcFlowControllerTyp24);var _super2318=_createSuper(IfcElectricTimeControlType);function IfcElectricTimeControlType(expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType,PredefinedType){var _this2321;_classCallCheck(this,IfcElectricTimeControlType);_this2321=_super2318.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType);_this2321.GlobalId=GlobalId;_this2321.OwnerHistory=OwnerHistory;_this2321.Name=Name;_this2321.Description=Description;_this2321.ApplicableOccurrence=ApplicableOccurrence;_this2321.HasPropertySets=HasPropertySets;_this2321.RepresentationMaps=RepresentationMaps;_this2321.Tag=Tag;_this2321.ElementType=ElementType;_this2321.PredefinedType=PredefinedType;_this2321.type=712377611;return _this2321;}return _createClass(IfcElectricTimeControlType);}(IfcFlowControllerType);IFC4X32.IfcElectricTimeControlType=IfcElectricTimeControlType;var IfcEnergyConversionDevice=/*#__PURE__*/function(_IfcDistributionFlowE46){_inherits(IfcEnergyConversionDevice,_IfcDistributionFlowE46);var _super2319=_createSuper(IfcEnergyConversionDevice);function IfcEnergyConversionDevice(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag){var _this2322;_classCallCheck(this,IfcEnergyConversionDevice);_this2322=_super2319.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag);_this2322.GlobalId=GlobalId;_this2322.OwnerHistory=OwnerHistory;_this2322.Name=Name;_this2322.Description=Description;_this2322.ObjectType=ObjectType;_this2322.ObjectPlacement=ObjectPlacement;_this2322.Representation=Representation;_this2322.Tag=Tag;_this2322.type=1658829314;return _this2322;}return _createClass(IfcEnergyConversionDevice);}(IfcDistributionFlowElement);IFC4X32.IfcEnergyConversionDevice=IfcEnergyConversionDevice;var IfcEngine=/*#__PURE__*/function(_IfcEnergyConversionD79){_inherits(IfcEngine,_IfcEnergyConversionD79);var _super2320=_createSuper(IfcEngine);function IfcEngine(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag,PredefinedType){var _this2323;_classCallCheck(this,IfcEngine);_this2323=_super2320.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag);_this2323.GlobalId=GlobalId;_this2323.OwnerHistory=OwnerHistory;_this2323.Name=Name;_this2323.Description=Description;_this2323.ObjectType=ObjectType;_this2323.ObjectPlacement=ObjectPlacement;_this2323.Representation=Representation;_this2323.Tag=Tag;_this2323.PredefinedType=PredefinedType;_this2323.type=2814081492;return _this2323;}return _createClass(IfcEngine);}(IfcEnergyConversionDevice);IFC4X32.IfcEngine=IfcEngine;var IfcEvaporativeCooler=/*#__PURE__*/function(_IfcEnergyConversionD80){_inherits(IfcEvaporativeCooler,_IfcEnergyConversionD80);var _super2321=_createSuper(IfcEvaporativeCooler);function IfcEvaporativeCooler(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag,PredefinedType){var _this2324;_classCallCheck(this,IfcEvaporativeCooler);_this2324=_super2321.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag);_this2324.GlobalId=GlobalId;_this2324.OwnerHistory=OwnerHistory;_this2324.Name=Name;_this2324.Description=Description;_this2324.ObjectType=ObjectType;_this2324.ObjectPlacement=ObjectPlacement;_this2324.Representation=Representation;_this2324.Tag=Tag;_this2324.PredefinedType=PredefinedType;_this2324.type=3747195512;return _this2324;}return _createClass(IfcEvaporativeCooler);}(IfcEnergyConversionDevice);IFC4X32.IfcEvaporativeCooler=IfcEvaporativeCooler;var IfcEvaporator=/*#__PURE__*/function(_IfcEnergyConversionD81){_inherits(IfcEvaporator,_IfcEnergyConversionD81);var _super2322=_createSuper(IfcEvaporator);function IfcEvaporator(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag,PredefinedType){var _this2325;_classCallCheck(this,IfcEvaporator);_this2325=_super2322.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag);_this2325.GlobalId=GlobalId;_this2325.OwnerHistory=OwnerHistory;_this2325.Name=Name;_this2325.Description=Description;_this2325.ObjectType=ObjectType;_this2325.ObjectPlacement=ObjectPlacement;_this2325.Representation=Representation;_this2325.Tag=Tag;_this2325.PredefinedType=PredefinedType;_this2325.type=484807127;return _this2325;}return _createClass(IfcEvaporator);}(IfcEnergyConversionDevice);IFC4X32.IfcEvaporator=IfcEvaporator;var IfcExternalSpatialElement=/*#__PURE__*/function(_IfcExternalSpatialSt2){_inherits(IfcExternalSpatialElement,_IfcExternalSpatialSt2);var _super2323=_createSuper(IfcExternalSpatialElement);function IfcExternalSpatialElement(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,LongName,PredefinedType){var _this2326;_classCallCheck(this,IfcExternalSpatialElement);_this2326=_super2323.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,LongName);_this2326.GlobalId=GlobalId;_this2326.OwnerHistory=OwnerHistory;_this2326.Name=Name;_this2326.Description=Description;_this2326.ObjectType=ObjectType;_this2326.ObjectPlacement=ObjectPlacement;_this2326.Representation=Representation;_this2326.LongName=LongName;_this2326.PredefinedType=PredefinedType;_this2326.type=1209101575;return _this2326;}return _createClass(IfcExternalSpatialElement);}(IfcExternalSpatialStructureElement);IFC4X32.IfcExternalSpatialElement=IfcExternalSpatialElement;var IfcFanType=/*#__PURE__*/function(_IfcFlowMovingDeviceT9){_inherits(IfcFanType,_IfcFlowMovingDeviceT9);var _super2324=_createSuper(IfcFanType);function IfcFanType(expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType,PredefinedType){var _this2327;_classCallCheck(this,IfcFanType);_this2327=_super2324.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType);_this2327.GlobalId=GlobalId;_this2327.OwnerHistory=OwnerHistory;_this2327.Name=Name;_this2327.Description=Description;_this2327.ApplicableOccurrence=ApplicableOccurrence;_this2327.HasPropertySets=HasPropertySets;_this2327.RepresentationMaps=RepresentationMaps;_this2327.Tag=Tag;_this2327.ElementType=ElementType;_this2327.PredefinedType=PredefinedType;_this2327.type=346874300;return _this2327;}return _createClass(IfcFanType);}(IfcFlowMovingDeviceType);IFC4X32.IfcFanType=IfcFanType;var IfcFilterType=/*#__PURE__*/function(_IfcFlowTreatmentDevi12){_inherits(IfcFilterType,_IfcFlowTreatmentDevi12);var _super2325=_createSuper(IfcFilterType);function IfcFilterType(expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType,PredefinedType){var _this2328;_classCallCheck(this,IfcFilterType);_this2328=_super2325.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType);_this2328.GlobalId=GlobalId;_this2328.OwnerHistory=OwnerHistory;_this2328.Name=Name;_this2328.Description=Description;_this2328.ApplicableOccurrence=ApplicableOccurrence;_this2328.HasPropertySets=HasPropertySets;_this2328.RepresentationMaps=RepresentationMaps;_this2328.Tag=Tag;_this2328.ElementType=ElementType;_this2328.PredefinedType=PredefinedType;_this2328.type=1810631287;return _this2328;}return _createClass(IfcFilterType);}(IfcFlowTreatmentDeviceType);IFC4X32.IfcFilterType=IfcFilterType;var IfcFireSuppressionTerminalType=/*#__PURE__*/function(_IfcFlowTerminalType40){_inherits(IfcFireSuppressionTerminalType,_IfcFlowTerminalType40);var _super2326=_createSuper(IfcFireSuppressionTerminalType);function IfcFireSuppressionTerminalType(expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType,PredefinedType){var _this2329;_classCallCheck(this,IfcFireSuppressionTerminalType);_this2329=_super2326.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType);_this2329.GlobalId=GlobalId;_this2329.OwnerHistory=OwnerHistory;_this2329.Name=Name;_this2329.Description=Description;_this2329.ApplicableOccurrence=ApplicableOccurrence;_this2329.HasPropertySets=HasPropertySets;_this2329.RepresentationMaps=RepresentationMaps;_this2329.Tag=Tag;_this2329.ElementType=ElementType;_this2329.PredefinedType=PredefinedType;_this2329.type=4222183408;return _this2329;}return _createClass(IfcFireSuppressionTerminalType);}(IfcFlowTerminalType);IFC4X32.IfcFireSuppressionTerminalType=IfcFireSuppressionTerminalType;var IfcFlowController=/*#__PURE__*/function(_IfcDistributionFlowE47){_inherits(IfcFlowController,_IfcDistributionFlowE47);var _super2327=_createSuper(IfcFlowController);function IfcFlowController(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag){var _this2330;_classCallCheck(this,IfcFlowController);_this2330=_super2327.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag);_this2330.GlobalId=GlobalId;_this2330.OwnerHistory=OwnerHistory;_this2330.Name=Name;_this2330.Description=Description;_this2330.ObjectType=ObjectType;_this2330.ObjectPlacement=ObjectPlacement;_this2330.Representation=Representation;_this2330.Tag=Tag;_this2330.type=2058353004;return _this2330;}return _createClass(IfcFlowController);}(IfcDistributionFlowElement);IFC4X32.IfcFlowController=IfcFlowController;var IfcFlowFitting=/*#__PURE__*/function(_IfcDistributionFlowE48){_inherits(IfcFlowFitting,_IfcDistributionFlowE48);var _super2328=_createSuper(IfcFlowFitting);function IfcFlowFitting(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag){var _this2331;_classCallCheck(this,IfcFlowFitting);_this2331=_super2328.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag);_this2331.GlobalId=GlobalId;_this2331.OwnerHistory=OwnerHistory;_this2331.Name=Name;_this2331.Description=Description;_this2331.ObjectType=ObjectType;_this2331.ObjectPlacement=ObjectPlacement;_this2331.Representation=Representation;_this2331.Tag=Tag;_this2331.type=4278956645;return _this2331;}return _createClass(IfcFlowFitting);}(IfcDistributionFlowElement);IFC4X32.IfcFlowFitting=IfcFlowFitting;var IfcFlowInstrumentType=/*#__PURE__*/function(_IfcDistributionContr20){_inherits(IfcFlowInstrumentType,_IfcDistributionContr20);var _super2329=_createSuper(IfcFlowInstrumentType);function IfcFlowInstrumentType(expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType,PredefinedType){var _this2332;_classCallCheck(this,IfcFlowInstrumentType);_this2332=_super2329.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType);_this2332.GlobalId=GlobalId;_this2332.OwnerHistory=OwnerHistory;_this2332.Name=Name;_this2332.Description=Description;_this2332.ApplicableOccurrence=ApplicableOccurrence;_this2332.HasPropertySets=HasPropertySets;_this2332.RepresentationMaps=RepresentationMaps;_this2332.Tag=Tag;_this2332.ElementType=ElementType;_this2332.PredefinedType=PredefinedType;_this2332.type=4037862832;return _this2332;}return _createClass(IfcFlowInstrumentType);}(IfcDistributionControlElementType);IFC4X32.IfcFlowInstrumentType=IfcFlowInstrumentType;var IfcFlowMeter=/*#__PURE__*/function(_IfcFlowController10){_inherits(IfcFlowMeter,_IfcFlowController10);var _super2330=_createSuper(IfcFlowMeter);function IfcFlowMeter(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag,PredefinedType){var _this2333;_classCallCheck(this,IfcFlowMeter);_this2333=_super2330.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag);_this2333.GlobalId=GlobalId;_this2333.OwnerHistory=OwnerHistory;_this2333.Name=Name;_this2333.Description=Description;_this2333.ObjectType=ObjectType;_this2333.ObjectPlacement=ObjectPlacement;_this2333.Representation=Representation;_this2333.Tag=Tag;_this2333.PredefinedType=PredefinedType;_this2333.type=2188021234;return _this2333;}return _createClass(IfcFlowMeter);}(IfcFlowController);IFC4X32.IfcFlowMeter=IfcFlowMeter;var IfcFlowMovingDevice=/*#__PURE__*/function(_IfcDistributionFlowE49){_inherits(IfcFlowMovingDevice,_IfcDistributionFlowE49);var _super2331=_createSuper(IfcFlowMovingDevice);function IfcFlowMovingDevice(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag){var _this2334;_classCallCheck(this,IfcFlowMovingDevice);_this2334=_super2331.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag);_this2334.GlobalId=GlobalId;_this2334.OwnerHistory=OwnerHistory;_this2334.Name=Name;_this2334.Description=Description;_this2334.ObjectType=ObjectType;_this2334.ObjectPlacement=ObjectPlacement;_this2334.Representation=Representation;_this2334.Tag=Tag;_this2334.type=3132237377;return _this2334;}return _createClass(IfcFlowMovingDevice);}(IfcDistributionFlowElement);IFC4X32.IfcFlowMovingDevice=IfcFlowMovingDevice;var IfcFlowSegment=/*#__PURE__*/function(_IfcDistributionFlowE50){_inherits(IfcFlowSegment,_IfcDistributionFlowE50);var _super2332=_createSuper(IfcFlowSegment);function IfcFlowSegment(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag){var _this2335;_classCallCheck(this,IfcFlowSegment);_this2335=_super2332.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag);_this2335.GlobalId=GlobalId;_this2335.OwnerHistory=OwnerHistory;_this2335.Name=Name;_this2335.Description=Description;_this2335.ObjectType=ObjectType;_this2335.ObjectPlacement=ObjectPlacement;_this2335.Representation=Representation;_this2335.Tag=Tag;_this2335.type=987401354;return _this2335;}return _createClass(IfcFlowSegment);}(IfcDistributionFlowElement);IFC4X32.IfcFlowSegment=IfcFlowSegment;var IfcFlowStorageDevice=/*#__PURE__*/function(_IfcDistributionFlowE51){_inherits(IfcFlowStorageDevice,_IfcDistributionFlowE51);var _super2333=_createSuper(IfcFlowStorageDevice);function IfcFlowStorageDevice(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag){var _this2336;_classCallCheck(this,IfcFlowStorageDevice);_this2336=_super2333.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag);_this2336.GlobalId=GlobalId;_this2336.OwnerHistory=OwnerHistory;_this2336.Name=Name;_this2336.Description=Description;_this2336.ObjectType=ObjectType;_this2336.ObjectPlacement=ObjectPlacement;_this2336.Representation=Representation;_this2336.Tag=Tag;_this2336.type=707683696;return _this2336;}return _createClass(IfcFlowStorageDevice);}(IfcDistributionFlowElement);IFC4X32.IfcFlowStorageDevice=IfcFlowStorageDevice;var IfcFlowTerminal=/*#__PURE__*/function(_IfcDistributionFlowE52){_inherits(IfcFlowTerminal,_IfcDistributionFlowE52);var _super2334=_createSuper(IfcFlowTerminal);function IfcFlowTerminal(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag){var _this2337;_classCallCheck(this,IfcFlowTerminal);_this2337=_super2334.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag);_this2337.GlobalId=GlobalId;_this2337.OwnerHistory=OwnerHistory;_this2337.Name=Name;_this2337.Description=Description;_this2337.ObjectType=ObjectType;_this2337.ObjectPlacement=ObjectPlacement;_this2337.Representation=Representation;_this2337.Tag=Tag;_this2337.type=2223149337;return _this2337;}return _createClass(IfcFlowTerminal);}(IfcDistributionFlowElement);IFC4X32.IfcFlowTerminal=IfcFlowTerminal;var IfcFlowTreatmentDevice=/*#__PURE__*/function(_IfcDistributionFlowE53){_inherits(IfcFlowTreatmentDevice,_IfcDistributionFlowE53);var _super2335=_createSuper(IfcFlowTreatmentDevice);function IfcFlowTreatmentDevice(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag){var _this2338;_classCallCheck(this,IfcFlowTreatmentDevice);_this2338=_super2335.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag);_this2338.GlobalId=GlobalId;_this2338.OwnerHistory=OwnerHistory;_this2338.Name=Name;_this2338.Description=Description;_this2338.ObjectType=ObjectType;_this2338.ObjectPlacement=ObjectPlacement;_this2338.Representation=Representation;_this2338.Tag=Tag;_this2338.type=3508470533;return _this2338;}return _createClass(IfcFlowTreatmentDevice);}(IfcDistributionFlowElement);IFC4X32.IfcFlowTreatmentDevice=IfcFlowTreatmentDevice;var IfcFooting=/*#__PURE__*/function(_IfcBuiltElement9){_inherits(IfcFooting,_IfcBuiltElement9);var _super2336=_createSuper(IfcFooting);function IfcFooting(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag,PredefinedType){var _this2339;_classCallCheck(this,IfcFooting);_this2339=_super2336.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag);_this2339.GlobalId=GlobalId;_this2339.OwnerHistory=OwnerHistory;_this2339.Name=Name;_this2339.Description=Description;_this2339.ObjectType=ObjectType;_this2339.ObjectPlacement=ObjectPlacement;_this2339.Representation=Representation;_this2339.Tag=Tag;_this2339.PredefinedType=PredefinedType;_this2339.type=900683007;return _this2339;}return _createClass(IfcFooting);}(IfcBuiltElement);IFC4X32.IfcFooting=IfcFooting;var IfcGeotechnicalAssembly=/*#__PURE__*/function(_IfcGeotechnicalEleme2){_inherits(IfcGeotechnicalAssembly,_IfcGeotechnicalEleme2);var _super2337=_createSuper(IfcGeotechnicalAssembly);function IfcGeotechnicalAssembly(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag){var _this2340;_classCallCheck(this,IfcGeotechnicalAssembly);_this2340=_super2337.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag);_this2340.GlobalId=GlobalId;_this2340.OwnerHistory=OwnerHistory;_this2340.Name=Name;_this2340.Description=Description;_this2340.ObjectType=ObjectType;_this2340.ObjectPlacement=ObjectPlacement;_this2340.Representation=Representation;_this2340.Tag=Tag;_this2340.type=2713699986;return _this2340;}return _createClass(IfcGeotechnicalAssembly);}(IfcGeotechnicalElement);IFC4X32.IfcGeotechnicalAssembly=IfcGeotechnicalAssembly;var IfcGrid=/*#__PURE__*/function(_IfcPositioningElemen2){_inherits(IfcGrid,_IfcPositioningElemen2);var _super2338=_createSuper(IfcGrid);function IfcGrid(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,UAxes,VAxes,WAxes,PredefinedType){var _this2341;_classCallCheck(this,IfcGrid);_this2341=_super2338.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation);_this2341.GlobalId=GlobalId;_this2341.OwnerHistory=OwnerHistory;_this2341.Name=Name;_this2341.Description=Description;_this2341.ObjectType=ObjectType;_this2341.ObjectPlacement=ObjectPlacement;_this2341.Representation=Representation;_this2341.UAxes=UAxes;_this2341.VAxes=VAxes;_this2341.WAxes=WAxes;_this2341.PredefinedType=PredefinedType;_this2341.type=3009204131;return _this2341;}return _createClass(IfcGrid);}(IfcPositioningElement);IFC4X32.IfcGrid=IfcGrid;var IfcHeatExchanger=/*#__PURE__*/function(_IfcEnergyConversionD82){_inherits(IfcHeatExchanger,_IfcEnergyConversionD82);var _super2339=_createSuper(IfcHeatExchanger);function IfcHeatExchanger(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag,PredefinedType){var _this2342;_classCallCheck(this,IfcHeatExchanger);_this2342=_super2339.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag);_this2342.GlobalId=GlobalId;_this2342.OwnerHistory=OwnerHistory;_this2342.Name=Name;_this2342.Description=Description;_this2342.ObjectType=ObjectType;_this2342.ObjectPlacement=ObjectPlacement;_this2342.Representation=Representation;_this2342.Tag=Tag;_this2342.PredefinedType=PredefinedType;_this2342.type=3319311131;return _this2342;}return _createClass(IfcHeatExchanger);}(IfcEnergyConversionDevice);IFC4X32.IfcHeatExchanger=IfcHeatExchanger;var IfcHumidifier=/*#__PURE__*/function(_IfcEnergyConversionD83){_inherits(IfcHumidifier,_IfcEnergyConversionD83);var _super2340=_createSuper(IfcHumidifier);function IfcHumidifier(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag,PredefinedType){var _this2343;_classCallCheck(this,IfcHumidifier);_this2343=_super2340.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag);_this2343.GlobalId=GlobalId;_this2343.OwnerHistory=OwnerHistory;_this2343.Name=Name;_this2343.Description=Description;_this2343.ObjectType=ObjectType;_this2343.ObjectPlacement=ObjectPlacement;_this2343.Representation=Representation;_this2343.Tag=Tag;_this2343.PredefinedType=PredefinedType;_this2343.type=2068733104;return _this2343;}return _createClass(IfcHumidifier);}(IfcEnergyConversionDevice);IFC4X32.IfcHumidifier=IfcHumidifier;var IfcInterceptor=/*#__PURE__*/function(_IfcFlowTreatmentDevi13){_inherits(IfcInterceptor,_IfcFlowTreatmentDevi13);var _super2341=_createSuper(IfcInterceptor);function IfcInterceptor(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag,PredefinedType){var _this2344;_classCallCheck(this,IfcInterceptor);_this2344=_super2341.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag);_this2344.GlobalId=GlobalId;_this2344.OwnerHistory=OwnerHistory;_this2344.Name=Name;_this2344.Description=Description;_this2344.ObjectType=ObjectType;_this2344.ObjectPlacement=ObjectPlacement;_this2344.Representation=Representation;_this2344.Tag=Tag;_this2344.PredefinedType=PredefinedType;_this2344.type=4175244083;return _this2344;}return _createClass(IfcInterceptor);}(IfcFlowTreatmentDevice);IFC4X32.IfcInterceptor=IfcInterceptor;var IfcJunctionBox=/*#__PURE__*/function(_IfcFlowFitting6){_inherits(IfcJunctionBox,_IfcFlowFitting6);var _super2342=_createSuper(IfcJunctionBox);function IfcJunctionBox(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag,PredefinedType){var _this2345;_classCallCheck(this,IfcJunctionBox);_this2345=_super2342.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag);_this2345.GlobalId=GlobalId;_this2345.OwnerHistory=OwnerHistory;_this2345.Name=Name;_this2345.Description=Description;_this2345.ObjectType=ObjectType;_this2345.ObjectPlacement=ObjectPlacement;_this2345.Representation=Representation;_this2345.Tag=Tag;_this2345.PredefinedType=PredefinedType;_this2345.type=2176052936;return _this2345;}return _createClass(IfcJunctionBox);}(IfcFlowFitting);IFC4X32.IfcJunctionBox=IfcJunctionBox;var IfcKerb=/*#__PURE__*/function(_IfcBuiltElement10){_inherits(IfcKerb,_IfcBuiltElement10);var _super2343=_createSuper(IfcKerb);function IfcKerb(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag,Mountable){var _this2346;_classCallCheck(this,IfcKerb);_this2346=_super2343.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag);_this2346.GlobalId=GlobalId;_this2346.OwnerHistory=OwnerHistory;_this2346.Name=Name;_this2346.Description=Description;_this2346.ObjectType=ObjectType;_this2346.ObjectPlacement=ObjectPlacement;_this2346.Representation=Representation;_this2346.Tag=Tag;_this2346.Mountable=Mountable;_this2346.type=2696325953;return _this2346;}return _createClass(IfcKerb);}(IfcBuiltElement);IFC4X32.IfcKerb=IfcKerb;var IfcLamp=/*#__PURE__*/function(_IfcFlowTerminal14){_inherits(IfcLamp,_IfcFlowTerminal14);var _super2344=_createSuper(IfcLamp);function IfcLamp(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag,PredefinedType){var _this2347;_classCallCheck(this,IfcLamp);_this2347=_super2344.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag);_this2347.GlobalId=GlobalId;_this2347.OwnerHistory=OwnerHistory;_this2347.Name=Name;_this2347.Description=Description;_this2347.ObjectType=ObjectType;_this2347.ObjectPlacement=ObjectPlacement;_this2347.Representation=Representation;_this2347.Tag=Tag;_this2347.PredefinedType=PredefinedType;_this2347.type=76236018;return _this2347;}return _createClass(IfcLamp);}(IfcFlowTerminal);IFC4X32.IfcLamp=IfcLamp;var IfcLightFixture=/*#__PURE__*/function(_IfcFlowTerminal15){_inherits(IfcLightFixture,_IfcFlowTerminal15);var _super2345=_createSuper(IfcLightFixture);function IfcLightFixture(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag,PredefinedType){var _this2348;_classCallCheck(this,IfcLightFixture);_this2348=_super2345.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag);_this2348.GlobalId=GlobalId;_this2348.OwnerHistory=OwnerHistory;_this2348.Name=Name;_this2348.Description=Description;_this2348.ObjectType=ObjectType;_this2348.ObjectPlacement=ObjectPlacement;_this2348.Representation=Representation;_this2348.Tag=Tag;_this2348.PredefinedType=PredefinedType;_this2348.type=629592764;return _this2348;}return _createClass(IfcLightFixture);}(IfcFlowTerminal);IFC4X32.IfcLightFixture=IfcLightFixture;var IfcLinearPositioningElement=/*#__PURE__*/function(_IfcPositioningElemen3){_inherits(IfcLinearPositioningElement,_IfcPositioningElemen3);var _super2346=_createSuper(IfcLinearPositioningElement);function IfcLinearPositioningElement(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation){var _this2349;_classCallCheck(this,IfcLinearPositioningElement);_this2349=_super2346.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation);_this2349.GlobalId=GlobalId;_this2349.OwnerHistory=OwnerHistory;_this2349.Name=Name;_this2349.Description=Description;_this2349.ObjectType=ObjectType;_this2349.ObjectPlacement=ObjectPlacement;_this2349.Representation=Representation;_this2349.type=1154579445;return _this2349;}return _createClass(IfcLinearPositioningElement);}(IfcPositioningElement);IFC4X32.IfcLinearPositioningElement=IfcLinearPositioningElement;var IfcLiquidTerminal=/*#__PURE__*/function(_IfcFlowTerminal16){_inherits(IfcLiquidTerminal,_IfcFlowTerminal16);var _super2347=_createSuper(IfcLiquidTerminal);function IfcLiquidTerminal(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag,PredefinedType){var _this2350;_classCallCheck(this,IfcLiquidTerminal);_this2350=_super2347.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag);_this2350.GlobalId=GlobalId;_this2350.OwnerHistory=OwnerHistory;_this2350.Name=Name;_this2350.Description=Description;_this2350.ObjectType=ObjectType;_this2350.ObjectPlacement=ObjectPlacement;_this2350.Representation=Representation;_this2350.Tag=Tag;_this2350.PredefinedType=PredefinedType;_this2350.type=1638804497;return _this2350;}return _createClass(IfcLiquidTerminal);}(IfcFlowTerminal);IFC4X32.IfcLiquidTerminal=IfcLiquidTerminal;var IfcMedicalDevice=/*#__PURE__*/function(_IfcFlowTerminal17){_inherits(IfcMedicalDevice,_IfcFlowTerminal17);var _super2348=_createSuper(IfcMedicalDevice);function IfcMedicalDevice(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag,PredefinedType){var _this2351;_classCallCheck(this,IfcMedicalDevice);_this2351=_super2348.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag);_this2351.GlobalId=GlobalId;_this2351.OwnerHistory=OwnerHistory;_this2351.Name=Name;_this2351.Description=Description;_this2351.ObjectType=ObjectType;_this2351.ObjectPlacement=ObjectPlacement;_this2351.Representation=Representation;_this2351.Tag=Tag;_this2351.PredefinedType=PredefinedType;_this2351.type=1437502449;return _this2351;}return _createClass(IfcMedicalDevice);}(IfcFlowTerminal);IFC4X32.IfcMedicalDevice=IfcMedicalDevice;var IfcMember=/*#__PURE__*/function(_IfcBuiltElement11){_inherits(IfcMember,_IfcBuiltElement11);var _super2349=_createSuper(IfcMember);function IfcMember(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag,PredefinedType){var _this2352;_classCallCheck(this,IfcMember);_this2352=_super2349.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag);_this2352.GlobalId=GlobalId;_this2352.OwnerHistory=OwnerHistory;_this2352.Name=Name;_this2352.Description=Description;_this2352.ObjectType=ObjectType;_this2352.ObjectPlacement=ObjectPlacement;_this2352.Representation=Representation;_this2352.Tag=Tag;_this2352.PredefinedType=PredefinedType;_this2352.type=1073191201;return _this2352;}return _createClass(IfcMember);}(IfcBuiltElement);IFC4X32.IfcMember=IfcMember;var IfcMobileTelecommunicationsAppliance=/*#__PURE__*/function(_IfcFlowTerminal18){_inherits(IfcMobileTelecommunicationsAppliance,_IfcFlowTerminal18);var _super2350=_createSuper(IfcMobileTelecommunicationsAppliance);function IfcMobileTelecommunicationsAppliance(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag,PredefinedType){var _this2353;_classCallCheck(this,IfcMobileTelecommunicationsAppliance);_this2353=_super2350.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag);_this2353.GlobalId=GlobalId;_this2353.OwnerHistory=OwnerHistory;_this2353.Name=Name;_this2353.Description=Description;_this2353.ObjectType=ObjectType;_this2353.ObjectPlacement=ObjectPlacement;_this2353.Representation=Representation;_this2353.Tag=Tag;_this2353.PredefinedType=PredefinedType;_this2353.type=2078563270;return _this2353;}return _createClass(IfcMobileTelecommunicationsAppliance);}(IfcFlowTerminal);IFC4X32.IfcMobileTelecommunicationsAppliance=IfcMobileTelecommunicationsAppliance;var IfcMooringDevice=/*#__PURE__*/function(_IfcBuiltElement12){_inherits(IfcMooringDevice,_IfcBuiltElement12);var _super2351=_createSuper(IfcMooringDevice);function IfcMooringDevice(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag,PredefinedType){var _this2354;_classCallCheck(this,IfcMooringDevice);_this2354=_super2351.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag);_this2354.GlobalId=GlobalId;_this2354.OwnerHistory=OwnerHistory;_this2354.Name=Name;_this2354.Description=Description;_this2354.ObjectType=ObjectType;_this2354.ObjectPlacement=ObjectPlacement;_this2354.Representation=Representation;_this2354.Tag=Tag;_this2354.PredefinedType=PredefinedType;_this2354.type=234836483;return _this2354;}return _createClass(IfcMooringDevice);}(IfcBuiltElement);IFC4X32.IfcMooringDevice=IfcMooringDevice;var IfcMotorConnection=/*#__PURE__*/function(_IfcEnergyConversionD84){_inherits(IfcMotorConnection,_IfcEnergyConversionD84);var _super2352=_createSuper(IfcMotorConnection);function IfcMotorConnection(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag,PredefinedType){var _this2355;_classCallCheck(this,IfcMotorConnection);_this2355=_super2352.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag);_this2355.GlobalId=GlobalId;_this2355.OwnerHistory=OwnerHistory;_this2355.Name=Name;_this2355.Description=Description;_this2355.ObjectType=ObjectType;_this2355.ObjectPlacement=ObjectPlacement;_this2355.Representation=Representation;_this2355.Tag=Tag;_this2355.PredefinedType=PredefinedType;_this2355.type=2474470126;return _this2355;}return _createClass(IfcMotorConnection);}(IfcEnergyConversionDevice);IFC4X32.IfcMotorConnection=IfcMotorConnection;var IfcNavigationElement=/*#__PURE__*/function(_IfcBuiltElement13){_inherits(IfcNavigationElement,_IfcBuiltElement13);var _super2353=_createSuper(IfcNavigationElement);function IfcNavigationElement(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag,PredefinedType){var _this2356;_classCallCheck(this,IfcNavigationElement);_this2356=_super2353.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag);_this2356.GlobalId=GlobalId;_this2356.OwnerHistory=OwnerHistory;_this2356.Name=Name;_this2356.Description=Description;_this2356.ObjectType=ObjectType;_this2356.ObjectPlacement=ObjectPlacement;_this2356.Representation=Representation;_this2356.Tag=Tag;_this2356.PredefinedType=PredefinedType;_this2356.type=2182337498;return _this2356;}return _createClass(IfcNavigationElement);}(IfcBuiltElement);IFC4X32.IfcNavigationElement=IfcNavigationElement;var IfcOuterBoundaryCurve=/*#__PURE__*/function(_IfcBoundaryCurve2){_inherits(IfcOuterBoundaryCurve,_IfcBoundaryCurve2);var _super2354=_createSuper(IfcOuterBoundaryCurve);function IfcOuterBoundaryCurve(expressID,Segments,SelfIntersect){var _this2357;_classCallCheck(this,IfcOuterBoundaryCurve);_this2357=_super2354.call(this,expressID,Segments,SelfIntersect);_this2357.Segments=Segments;_this2357.SelfIntersect=SelfIntersect;_this2357.type=144952367;return _this2357;}return _createClass(IfcOuterBoundaryCurve);}(IfcBoundaryCurve);IFC4X32.IfcOuterBoundaryCurve=IfcOuterBoundaryCurve;var IfcOutlet=/*#__PURE__*/function(_IfcFlowTerminal19){_inherits(IfcOutlet,_IfcFlowTerminal19);var _super2355=_createSuper(IfcOutlet);function IfcOutlet(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag,PredefinedType){var _this2358;_classCallCheck(this,IfcOutlet);_this2358=_super2355.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag);_this2358.GlobalId=GlobalId;_this2358.OwnerHistory=OwnerHistory;_this2358.Name=Name;_this2358.Description=Description;_this2358.ObjectType=ObjectType;_this2358.ObjectPlacement=ObjectPlacement;_this2358.Representation=Representation;_this2358.Tag=Tag;_this2358.PredefinedType=PredefinedType;_this2358.type=3694346114;return _this2358;}return _createClass(IfcOutlet);}(IfcFlowTerminal);IFC4X32.IfcOutlet=IfcOutlet;var IfcPavement=/*#__PURE__*/function(_IfcBuiltElement14){_inherits(IfcPavement,_IfcBuiltElement14);var _super2356=_createSuper(IfcPavement);function IfcPavement(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag,PredefinedType){var _this2359;_classCallCheck(this,IfcPavement);_this2359=_super2356.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag);_this2359.GlobalId=GlobalId;_this2359.OwnerHistory=OwnerHistory;_this2359.Name=Name;_this2359.Description=Description;_this2359.ObjectType=ObjectType;_this2359.ObjectPlacement=ObjectPlacement;_this2359.Representation=Representation;_this2359.Tag=Tag;_this2359.PredefinedType=PredefinedType;_this2359.type=1383356374;return _this2359;}return _createClass(IfcPavement);}(IfcBuiltElement);IFC4X32.IfcPavement=IfcPavement;var IfcPile=/*#__PURE__*/function(_IfcDeepFoundation){_inherits(IfcPile,_IfcDeepFoundation);var _super2357=_createSuper(IfcPile);function IfcPile(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag,PredefinedType,ConstructionType){var _this2360;_classCallCheck(this,IfcPile);_this2360=_super2357.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag);_this2360.GlobalId=GlobalId;_this2360.OwnerHistory=OwnerHistory;_this2360.Name=Name;_this2360.Description=Description;_this2360.ObjectType=ObjectType;_this2360.ObjectPlacement=ObjectPlacement;_this2360.Representation=Representation;_this2360.Tag=Tag;_this2360.PredefinedType=PredefinedType;_this2360.ConstructionType=ConstructionType;_this2360.type=1687234759;return _this2360;}return _createClass(IfcPile);}(IfcDeepFoundation);IFC4X32.IfcPile=IfcPile;var IfcPipeFitting=/*#__PURE__*/function(_IfcFlowFitting7){_inherits(IfcPipeFitting,_IfcFlowFitting7);var _super2358=_createSuper(IfcPipeFitting);function IfcPipeFitting(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag,PredefinedType){var _this2361;_classCallCheck(this,IfcPipeFitting);_this2361=_super2358.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag);_this2361.GlobalId=GlobalId;_this2361.OwnerHistory=OwnerHistory;_this2361.Name=Name;_this2361.Description=Description;_this2361.ObjectType=ObjectType;_this2361.ObjectPlacement=ObjectPlacement;_this2361.Representation=Representation;_this2361.Tag=Tag;_this2361.PredefinedType=PredefinedType;_this2361.type=310824031;return _this2361;}return _createClass(IfcPipeFitting);}(IfcFlowFitting);IFC4X32.IfcPipeFitting=IfcPipeFitting;var IfcPipeSegment=/*#__PURE__*/function(_IfcFlowSegment5){_inherits(IfcPipeSegment,_IfcFlowSegment5);var _super2359=_createSuper(IfcPipeSegment);function IfcPipeSegment(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag,PredefinedType){var _this2362;_classCallCheck(this,IfcPipeSegment);_this2362=_super2359.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag);_this2362.GlobalId=GlobalId;_this2362.OwnerHistory=OwnerHistory;_this2362.Name=Name;_this2362.Description=Description;_this2362.ObjectType=ObjectType;_this2362.ObjectPlacement=ObjectPlacement;_this2362.Representation=Representation;_this2362.Tag=Tag;_this2362.PredefinedType=PredefinedType;_this2362.type=3612865200;return _this2362;}return _createClass(IfcPipeSegment);}(IfcFlowSegment);IFC4X32.IfcPipeSegment=IfcPipeSegment;var IfcPlate=/*#__PURE__*/function(_IfcBuiltElement15){_inherits(IfcPlate,_IfcBuiltElement15);var _super2360=_createSuper(IfcPlate);function IfcPlate(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag,PredefinedType){var _this2363;_classCallCheck(this,IfcPlate);_this2363=_super2360.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag);_this2363.GlobalId=GlobalId;_this2363.OwnerHistory=OwnerHistory;_this2363.Name=Name;_this2363.Description=Description;_this2363.ObjectType=ObjectType;_this2363.ObjectPlacement=ObjectPlacement;_this2363.Representation=Representation;_this2363.Tag=Tag;_this2363.PredefinedType=PredefinedType;_this2363.type=3171933400;return _this2363;}return _createClass(IfcPlate);}(IfcBuiltElement);IFC4X32.IfcPlate=IfcPlate;var IfcProtectiveDevice=/*#__PURE__*/function(_IfcFlowController11){_inherits(IfcProtectiveDevice,_IfcFlowController11);var _super2361=_createSuper(IfcProtectiveDevice);function IfcProtectiveDevice(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag,PredefinedType){var _this2364;_classCallCheck(this,IfcProtectiveDevice);_this2364=_super2361.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag);_this2364.GlobalId=GlobalId;_this2364.OwnerHistory=OwnerHistory;_this2364.Name=Name;_this2364.Description=Description;_this2364.ObjectType=ObjectType;_this2364.ObjectPlacement=ObjectPlacement;_this2364.Representation=Representation;_this2364.Tag=Tag;_this2364.PredefinedType=PredefinedType;_this2364.type=738039164;return _this2364;}return _createClass(IfcProtectiveDevice);}(IfcFlowController);IFC4X32.IfcProtectiveDevice=IfcProtectiveDevice;var IfcProtectiveDeviceTrippingUnitType=/*#__PURE__*/function(_IfcDistributionContr21){_inherits(IfcProtectiveDeviceTrippingUnitType,_IfcDistributionContr21);var _super2362=_createSuper(IfcProtectiveDeviceTrippingUnitType);function IfcProtectiveDeviceTrippingUnitType(expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType,PredefinedType){var _this2365;_classCallCheck(this,IfcProtectiveDeviceTrippingUnitType);_this2365=_super2362.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType);_this2365.GlobalId=GlobalId;_this2365.OwnerHistory=OwnerHistory;_this2365.Name=Name;_this2365.Description=Description;_this2365.ApplicableOccurrence=ApplicableOccurrence;_this2365.HasPropertySets=HasPropertySets;_this2365.RepresentationMaps=RepresentationMaps;_this2365.Tag=Tag;_this2365.ElementType=ElementType;_this2365.PredefinedType=PredefinedType;_this2365.type=655969474;return _this2365;}return _createClass(IfcProtectiveDeviceTrippingUnitType);}(IfcDistributionControlElementType);IFC4X32.IfcProtectiveDeviceTrippingUnitType=IfcProtectiveDeviceTrippingUnitType;var IfcPump=/*#__PURE__*/function(_IfcFlowMovingDevice4){_inherits(IfcPump,_IfcFlowMovingDevice4);var _super2363=_createSuper(IfcPump);function IfcPump(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag,PredefinedType){var _this2366;_classCallCheck(this,IfcPump);_this2366=_super2363.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag);_this2366.GlobalId=GlobalId;_this2366.OwnerHistory=OwnerHistory;_this2366.Name=Name;_this2366.Description=Description;_this2366.ObjectType=ObjectType;_this2366.ObjectPlacement=ObjectPlacement;_this2366.Representation=Representation;_this2366.Tag=Tag;_this2366.PredefinedType=PredefinedType;_this2366.type=90941305;return _this2366;}return _createClass(IfcPump);}(IfcFlowMovingDevice);IFC4X32.IfcPump=IfcPump;var IfcRail=/*#__PURE__*/function(_IfcBuiltElement16){_inherits(IfcRail,_IfcBuiltElement16);var _super2364=_createSuper(IfcRail);function IfcRail(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag,PredefinedType){var _this2367;_classCallCheck(this,IfcRail);_this2367=_super2364.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag);_this2367.GlobalId=GlobalId;_this2367.OwnerHistory=OwnerHistory;_this2367.Name=Name;_this2367.Description=Description;_this2367.ObjectType=ObjectType;_this2367.ObjectPlacement=ObjectPlacement;_this2367.Representation=Representation;_this2367.Tag=Tag;_this2367.PredefinedType=PredefinedType;_this2367.type=3290496277;return _this2367;}return _createClass(IfcRail);}(IfcBuiltElement);IFC4X32.IfcRail=IfcRail;var IfcRailing=/*#__PURE__*/function(_IfcBuiltElement17){_inherits(IfcRailing,_IfcBuiltElement17);var _super2365=_createSuper(IfcRailing);function IfcRailing(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag,PredefinedType){var _this2368;_classCallCheck(this,IfcRailing);_this2368=_super2365.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag);_this2368.GlobalId=GlobalId;_this2368.OwnerHistory=OwnerHistory;_this2368.Name=Name;_this2368.Description=Description;_this2368.ObjectType=ObjectType;_this2368.ObjectPlacement=ObjectPlacement;_this2368.Representation=Representation;_this2368.Tag=Tag;_this2368.PredefinedType=PredefinedType;_this2368.type=2262370178;return _this2368;}return _createClass(IfcRailing);}(IfcBuiltElement);IFC4X32.IfcRailing=IfcRailing;var IfcRamp=/*#__PURE__*/function(_IfcBuiltElement18){_inherits(IfcRamp,_IfcBuiltElement18);var _super2366=_createSuper(IfcRamp);function IfcRamp(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag,PredefinedType){var _this2369;_classCallCheck(this,IfcRamp);_this2369=_super2366.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag);_this2369.GlobalId=GlobalId;_this2369.OwnerHistory=OwnerHistory;_this2369.Name=Name;_this2369.Description=Description;_this2369.ObjectType=ObjectType;_this2369.ObjectPlacement=ObjectPlacement;_this2369.Representation=Representation;_this2369.Tag=Tag;_this2369.PredefinedType=PredefinedType;_this2369.type=3024970846;return _this2369;}return _createClass(IfcRamp);}(IfcBuiltElement);IFC4X32.IfcRamp=IfcRamp;var IfcRampFlight=/*#__PURE__*/function(_IfcBuiltElement19){_inherits(IfcRampFlight,_IfcBuiltElement19);var _super2367=_createSuper(IfcRampFlight);function IfcRampFlight(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag,PredefinedType){var _this2370;_classCallCheck(this,IfcRampFlight);_this2370=_super2367.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag);_this2370.GlobalId=GlobalId;_this2370.OwnerHistory=OwnerHistory;_this2370.Name=Name;_this2370.Description=Description;_this2370.ObjectType=ObjectType;_this2370.ObjectPlacement=ObjectPlacement;_this2370.Representation=Representation;_this2370.Tag=Tag;_this2370.PredefinedType=PredefinedType;_this2370.type=3283111854;return _this2370;}return _createClass(IfcRampFlight);}(IfcBuiltElement);IFC4X32.IfcRampFlight=IfcRampFlight;var IfcRationalBSplineCurveWithKnots=/*#__PURE__*/function(_IfcBSplineCurveWithK2){_inherits(IfcRationalBSplineCurveWithKnots,_IfcBSplineCurveWithK2);var _super2368=_createSuper(IfcRationalBSplineCurveWithKnots);function IfcRationalBSplineCurveWithKnots(expressID,Degree,ControlPointsList,CurveForm,ClosedCurve,SelfIntersect,KnotMultiplicities,Knots,KnotSpec,WeightsData){var _this2371;_classCallCheck(this,IfcRationalBSplineCurveWithKnots);_this2371=_super2368.call(this,expressID,Degree,ControlPointsList,CurveForm,ClosedCurve,SelfIntersect,KnotMultiplicities,Knots,KnotSpec);_this2371.Degree=Degree;_this2371.ControlPointsList=ControlPointsList;_this2371.CurveForm=CurveForm;_this2371.ClosedCurve=ClosedCurve;_this2371.SelfIntersect=SelfIntersect;_this2371.KnotMultiplicities=KnotMultiplicities;_this2371.Knots=Knots;_this2371.KnotSpec=KnotSpec;_this2371.WeightsData=WeightsData;_this2371.type=1232101972;return _this2371;}return _createClass(IfcRationalBSplineCurveWithKnots);}(IfcBSplineCurveWithKnots);IFC4X32.IfcRationalBSplineCurveWithKnots=IfcRationalBSplineCurveWithKnots;var IfcReinforcedSoil=/*#__PURE__*/function(_IfcEarthworksElement2){_inherits(IfcReinforcedSoil,_IfcEarthworksElement2);var _super2369=_createSuper(IfcReinforcedSoil);function IfcReinforcedSoil(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag,PredefinedType){var _this2372;_classCallCheck(this,IfcReinforcedSoil);_this2372=_super2369.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag);_this2372.GlobalId=GlobalId;_this2372.OwnerHistory=OwnerHistory;_this2372.Name=Name;_this2372.Description=Description;_this2372.ObjectType=ObjectType;_this2372.ObjectPlacement=ObjectPlacement;_this2372.Representation=Representation;_this2372.Tag=Tag;_this2372.PredefinedType=PredefinedType;_this2372.type=3798194928;return _this2372;}return _createClass(IfcReinforcedSoil);}(IfcEarthworksElement);IFC4X32.IfcReinforcedSoil=IfcReinforcedSoil;var IfcReinforcingBar=/*#__PURE__*/function(_IfcReinforcingElemen21){_inherits(IfcReinforcingBar,_IfcReinforcingElemen21);var _super2370=_createSuper(IfcReinforcingBar);function IfcReinforcingBar(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag,SteelGrade,NominalDiameter,CrossSectionArea,BarLength,PredefinedType,BarSurface){var _this2373;_classCallCheck(this,IfcReinforcingBar);_this2373=_super2370.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag,SteelGrade);_this2373.GlobalId=GlobalId;_this2373.OwnerHistory=OwnerHistory;_this2373.Name=Name;_this2373.Description=Description;_this2373.ObjectType=ObjectType;_this2373.ObjectPlacement=ObjectPlacement;_this2373.Representation=Representation;_this2373.Tag=Tag;_this2373.SteelGrade=SteelGrade;_this2373.NominalDiameter=NominalDiameter;_this2373.CrossSectionArea=CrossSectionArea;_this2373.BarLength=BarLength;_this2373.PredefinedType=PredefinedType;_this2373.BarSurface=BarSurface;_this2373.type=979691226;return _this2373;}return _createClass(IfcReinforcingBar);}(IfcReinforcingElement);IFC4X32.IfcReinforcingBar=IfcReinforcingBar;var IfcReinforcingBarType=/*#__PURE__*/function(_IfcReinforcingElemen22){_inherits(IfcReinforcingBarType,_IfcReinforcingElemen22);var _super2371=_createSuper(IfcReinforcingBarType);function IfcReinforcingBarType(expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType,PredefinedType,NominalDiameter,CrossSectionArea,BarLength,BarSurface,BendingShapeCode,BendingParameters){var _this2374;_classCallCheck(this,IfcReinforcingBarType);_this2374=_super2371.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType);_this2374.GlobalId=GlobalId;_this2374.OwnerHistory=OwnerHistory;_this2374.Name=Name;_this2374.Description=Description;_this2374.ApplicableOccurrence=ApplicableOccurrence;_this2374.HasPropertySets=HasPropertySets;_this2374.RepresentationMaps=RepresentationMaps;_this2374.Tag=Tag;_this2374.ElementType=ElementType;_this2374.PredefinedType=PredefinedType;_this2374.NominalDiameter=NominalDiameter;_this2374.CrossSectionArea=CrossSectionArea;_this2374.BarLength=BarLength;_this2374.BarSurface=BarSurface;_this2374.BendingShapeCode=BendingShapeCode;_this2374.BendingParameters=BendingParameters;_this2374.type=2572171363;return _this2374;}return _createClass(IfcReinforcingBarType);}(IfcReinforcingElementType);IFC4X32.IfcReinforcingBarType=IfcReinforcingBarType;var IfcRoof=/*#__PURE__*/function(_IfcBuiltElement20){_inherits(IfcRoof,_IfcBuiltElement20);var _super2372=_createSuper(IfcRoof);function IfcRoof(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag,PredefinedType){var _this2375;_classCallCheck(this,IfcRoof);_this2375=_super2372.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag);_this2375.GlobalId=GlobalId;_this2375.OwnerHistory=OwnerHistory;_this2375.Name=Name;_this2375.Description=Description;_this2375.ObjectType=ObjectType;_this2375.ObjectPlacement=ObjectPlacement;_this2375.Representation=Representation;_this2375.Tag=Tag;_this2375.PredefinedType=PredefinedType;_this2375.type=2016517767;return _this2375;}return _createClass(IfcRoof);}(IfcBuiltElement);IFC4X32.IfcRoof=IfcRoof;var IfcSanitaryTerminal=/*#__PURE__*/function(_IfcFlowTerminal20){_inherits(IfcSanitaryTerminal,_IfcFlowTerminal20);var _super2373=_createSuper(IfcSanitaryTerminal);function IfcSanitaryTerminal(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag,PredefinedType){var _this2376;_classCallCheck(this,IfcSanitaryTerminal);_this2376=_super2373.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag);_this2376.GlobalId=GlobalId;_this2376.OwnerHistory=OwnerHistory;_this2376.Name=Name;_this2376.Description=Description;_this2376.ObjectType=ObjectType;_this2376.ObjectPlacement=ObjectPlacement;_this2376.Representation=Representation;_this2376.Tag=Tag;_this2376.PredefinedType=PredefinedType;_this2376.type=3053780830;return _this2376;}return _createClass(IfcSanitaryTerminal);}(IfcFlowTerminal);IFC4X32.IfcSanitaryTerminal=IfcSanitaryTerminal;var IfcSensorType=/*#__PURE__*/function(_IfcDistributionContr22){_inherits(IfcSensorType,_IfcDistributionContr22);var _super2374=_createSuper(IfcSensorType);function IfcSensorType(expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType,PredefinedType){var _this2377;_classCallCheck(this,IfcSensorType);_this2377=_super2374.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType);_this2377.GlobalId=GlobalId;_this2377.OwnerHistory=OwnerHistory;_this2377.Name=Name;_this2377.Description=Description;_this2377.ApplicableOccurrence=ApplicableOccurrence;_this2377.HasPropertySets=HasPropertySets;_this2377.RepresentationMaps=RepresentationMaps;_this2377.Tag=Tag;_this2377.ElementType=ElementType;_this2377.PredefinedType=PredefinedType;_this2377.type=1783015770;return _this2377;}return _createClass(IfcSensorType);}(IfcDistributionControlElementType);IFC4X32.IfcSensorType=IfcSensorType;var IfcShadingDevice=/*#__PURE__*/function(_IfcBuiltElement21){_inherits(IfcShadingDevice,_IfcBuiltElement21);var _super2375=_createSuper(IfcShadingDevice);function IfcShadingDevice(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag,PredefinedType){var _this2378;_classCallCheck(this,IfcShadingDevice);_this2378=_super2375.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag);_this2378.GlobalId=GlobalId;_this2378.OwnerHistory=OwnerHistory;_this2378.Name=Name;_this2378.Description=Description;_this2378.ObjectType=ObjectType;_this2378.ObjectPlacement=ObjectPlacement;_this2378.Representation=Representation;_this2378.Tag=Tag;_this2378.PredefinedType=PredefinedType;_this2378.type=1329646415;return _this2378;}return _createClass(IfcShadingDevice);}(IfcBuiltElement);IFC4X32.IfcShadingDevice=IfcShadingDevice;var IfcSignal=/*#__PURE__*/function(_IfcFlowTerminal21){_inherits(IfcSignal,_IfcFlowTerminal21);var _super2376=_createSuper(IfcSignal);function IfcSignal(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag,PredefinedType){var _this2379;_classCallCheck(this,IfcSignal);_this2379=_super2376.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag);_this2379.GlobalId=GlobalId;_this2379.OwnerHistory=OwnerHistory;_this2379.Name=Name;_this2379.Description=Description;_this2379.ObjectType=ObjectType;_this2379.ObjectPlacement=ObjectPlacement;_this2379.Representation=Representation;_this2379.Tag=Tag;_this2379.PredefinedType=PredefinedType;_this2379.type=991950508;return _this2379;}return _createClass(IfcSignal);}(IfcFlowTerminal);IFC4X32.IfcSignal=IfcSignal;var IfcSlab=/*#__PURE__*/function(_IfcBuiltElement22){_inherits(IfcSlab,_IfcBuiltElement22);var _super2377=_createSuper(IfcSlab);function IfcSlab(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag,PredefinedType){var _this2380;_classCallCheck(this,IfcSlab);_this2380=_super2377.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag);_this2380.GlobalId=GlobalId;_this2380.OwnerHistory=OwnerHistory;_this2380.Name=Name;_this2380.Description=Description;_this2380.ObjectType=ObjectType;_this2380.ObjectPlacement=ObjectPlacement;_this2380.Representation=Representation;_this2380.Tag=Tag;_this2380.PredefinedType=PredefinedType;_this2380.type=1529196076;return _this2380;}return _createClass(IfcSlab);}(IfcBuiltElement);IFC4X32.IfcSlab=IfcSlab;var IfcSolarDevice=/*#__PURE__*/function(_IfcEnergyConversionD85){_inherits(IfcSolarDevice,_IfcEnergyConversionD85);var _super2378=_createSuper(IfcSolarDevice);function IfcSolarDevice(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag,PredefinedType){var _this2381;_classCallCheck(this,IfcSolarDevice);_this2381=_super2378.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag);_this2381.GlobalId=GlobalId;_this2381.OwnerHistory=OwnerHistory;_this2381.Name=Name;_this2381.Description=Description;_this2381.ObjectType=ObjectType;_this2381.ObjectPlacement=ObjectPlacement;_this2381.Representation=Representation;_this2381.Tag=Tag;_this2381.PredefinedType=PredefinedType;_this2381.type=3420628829;return _this2381;}return _createClass(IfcSolarDevice);}(IfcEnergyConversionDevice);IFC4X32.IfcSolarDevice=IfcSolarDevice;var IfcSpaceHeater=/*#__PURE__*/function(_IfcFlowTerminal22){_inherits(IfcSpaceHeater,_IfcFlowTerminal22);var _super2379=_createSuper(IfcSpaceHeater);function IfcSpaceHeater(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag,PredefinedType){var _this2382;_classCallCheck(this,IfcSpaceHeater);_this2382=_super2379.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag);_this2382.GlobalId=GlobalId;_this2382.OwnerHistory=OwnerHistory;_this2382.Name=Name;_this2382.Description=Description;_this2382.ObjectType=ObjectType;_this2382.ObjectPlacement=ObjectPlacement;_this2382.Representation=Representation;_this2382.Tag=Tag;_this2382.PredefinedType=PredefinedType;_this2382.type=1999602285;return _this2382;}return _createClass(IfcSpaceHeater);}(IfcFlowTerminal);IFC4X32.IfcSpaceHeater=IfcSpaceHeater;var IfcStackTerminal=/*#__PURE__*/function(_IfcFlowTerminal23){_inherits(IfcStackTerminal,_IfcFlowTerminal23);var _super2380=_createSuper(IfcStackTerminal);function IfcStackTerminal(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag,PredefinedType){var _this2383;_classCallCheck(this,IfcStackTerminal);_this2383=_super2380.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag);_this2383.GlobalId=GlobalId;_this2383.OwnerHistory=OwnerHistory;_this2383.Name=Name;_this2383.Description=Description;_this2383.ObjectType=ObjectType;_this2383.ObjectPlacement=ObjectPlacement;_this2383.Representation=Representation;_this2383.Tag=Tag;_this2383.PredefinedType=PredefinedType;_this2383.type=1404847402;return _this2383;}return _createClass(IfcStackTerminal);}(IfcFlowTerminal);IFC4X32.IfcStackTerminal=IfcStackTerminal;var IfcStair=/*#__PURE__*/function(_IfcBuiltElement23){_inherits(IfcStair,_IfcBuiltElement23);var _super2381=_createSuper(IfcStair);function IfcStair(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag,PredefinedType){var _this2384;_classCallCheck(this,IfcStair);_this2384=_super2381.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag);_this2384.GlobalId=GlobalId;_this2384.OwnerHistory=OwnerHistory;_this2384.Name=Name;_this2384.Description=Description;_this2384.ObjectType=ObjectType;_this2384.ObjectPlacement=ObjectPlacement;_this2384.Representation=Representation;_this2384.Tag=Tag;_this2384.PredefinedType=PredefinedType;_this2384.type=331165859;return _this2384;}return _createClass(IfcStair);}(IfcBuiltElement);IFC4X32.IfcStair=IfcStair;var IfcStairFlight=/*#__PURE__*/function(_IfcBuiltElement24){_inherits(IfcStairFlight,_IfcBuiltElement24);var _super2382=_createSuper(IfcStairFlight);function IfcStairFlight(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag,NumberOfRisers,NumberOfTreads,RiserHeight,TreadLength,PredefinedType){var _this2385;_classCallCheck(this,IfcStairFlight);_this2385=_super2382.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag);_this2385.GlobalId=GlobalId;_this2385.OwnerHistory=OwnerHistory;_this2385.Name=Name;_this2385.Description=Description;_this2385.ObjectType=ObjectType;_this2385.ObjectPlacement=ObjectPlacement;_this2385.Representation=Representation;_this2385.Tag=Tag;_this2385.NumberOfRisers=NumberOfRisers;_this2385.NumberOfTreads=NumberOfTreads;_this2385.RiserHeight=RiserHeight;_this2385.TreadLength=TreadLength;_this2385.PredefinedType=PredefinedType;_this2385.type=4252922144;return _this2385;}return _createClass(IfcStairFlight);}(IfcBuiltElement);IFC4X32.IfcStairFlight=IfcStairFlight;var IfcStructuralAnalysisModel=/*#__PURE__*/function(_IfcSystem11){_inherits(IfcStructuralAnalysisModel,_IfcSystem11);var _super2383=_createSuper(IfcStructuralAnalysisModel);function IfcStructuralAnalysisModel(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,PredefinedType,OrientationOf2DPlane,LoadedBy,HasResults,SharedPlacement){var _this2386;_classCallCheck(this,IfcStructuralAnalysisModel);_this2386=_super2383.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType);_this2386.GlobalId=GlobalId;_this2386.OwnerHistory=OwnerHistory;_this2386.Name=Name;_this2386.Description=Description;_this2386.ObjectType=ObjectType;_this2386.PredefinedType=PredefinedType;_this2386.OrientationOf2DPlane=OrientationOf2DPlane;_this2386.LoadedBy=LoadedBy;_this2386.HasResults=HasResults;_this2386.SharedPlacement=SharedPlacement;_this2386.type=2515109513;return _this2386;}return _createClass(IfcStructuralAnalysisModel);}(IfcSystem);IFC4X32.IfcStructuralAnalysisModel=IfcStructuralAnalysisModel;var IfcStructuralLoadCase=/*#__PURE__*/function(_IfcStructuralLoadGro2){_inherits(IfcStructuralLoadCase,_IfcStructuralLoadGro2);var _super2384=_createSuper(IfcStructuralLoadCase);function IfcStructuralLoadCase(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,PredefinedType,ActionType,ActionSource,Coefficient,Purpose,SelfWeightCoefficients){var _this2387;_classCallCheck(this,IfcStructuralLoadCase);_this2387=_super2384.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,PredefinedType,ActionType,ActionSource,Coefficient,Purpose);_this2387.GlobalId=GlobalId;_this2387.OwnerHistory=OwnerHistory;_this2387.Name=Name;_this2387.Description=Description;_this2387.ObjectType=ObjectType;_this2387.PredefinedType=PredefinedType;_this2387.ActionType=ActionType;_this2387.ActionSource=ActionSource;_this2387.Coefficient=Coefficient;_this2387.Purpose=Purpose;_this2387.SelfWeightCoefficients=SelfWeightCoefficients;_this2387.type=385403989;return _this2387;}return _createClass(IfcStructuralLoadCase);}(IfcStructuralLoadGroup);IFC4X32.IfcStructuralLoadCase=IfcStructuralLoadCase;var IfcStructuralPlanarAction=/*#__PURE__*/function(_IfcStructuralSurface5){_inherits(IfcStructuralPlanarAction,_IfcStructuralSurface5);var _super2385=_createSuper(IfcStructuralPlanarAction);function IfcStructuralPlanarAction(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,AppliedLoad,GlobalOrLocal,DestabilizingLoad,ProjectedOrTrue,PredefinedType){var _this2388;_classCallCheck(this,IfcStructuralPlanarAction);_this2388=_super2385.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,AppliedLoad,GlobalOrLocal,DestabilizingLoad,ProjectedOrTrue,PredefinedType);_this2388.GlobalId=GlobalId;_this2388.OwnerHistory=OwnerHistory;_this2388.Name=Name;_this2388.Description=Description;_this2388.ObjectType=ObjectType;_this2388.ObjectPlacement=ObjectPlacement;_this2388.Representation=Representation;_this2388.AppliedLoad=AppliedLoad;_this2388.GlobalOrLocal=GlobalOrLocal;_this2388.DestabilizingLoad=DestabilizingLoad;_this2388.ProjectedOrTrue=ProjectedOrTrue;_this2388.PredefinedType=PredefinedType;_this2388.type=1621171031;return _this2388;}return _createClass(IfcStructuralPlanarAction);}(IfcStructuralSurfaceAction);IFC4X32.IfcStructuralPlanarAction=IfcStructuralPlanarAction;var IfcSwitchingDevice=/*#__PURE__*/function(_IfcFlowController12){_inherits(IfcSwitchingDevice,_IfcFlowController12);var _super2386=_createSuper(IfcSwitchingDevice);function IfcSwitchingDevice(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag,PredefinedType){var _this2389;_classCallCheck(this,IfcSwitchingDevice);_this2389=_super2386.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag);_this2389.GlobalId=GlobalId;_this2389.OwnerHistory=OwnerHistory;_this2389.Name=Name;_this2389.Description=Description;_this2389.ObjectType=ObjectType;_this2389.ObjectPlacement=ObjectPlacement;_this2389.Representation=Representation;_this2389.Tag=Tag;_this2389.PredefinedType=PredefinedType;_this2389.type=1162798199;return _this2389;}return _createClass(IfcSwitchingDevice);}(IfcFlowController);IFC4X32.IfcSwitchingDevice=IfcSwitchingDevice;var IfcTank=/*#__PURE__*/function(_IfcFlowStorageDevice9){_inherits(IfcTank,_IfcFlowStorageDevice9);var _super2387=_createSuper(IfcTank);function IfcTank(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag,PredefinedType){var _this2390;_classCallCheck(this,IfcTank);_this2390=_super2387.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag);_this2390.GlobalId=GlobalId;_this2390.OwnerHistory=OwnerHistory;_this2390.Name=Name;_this2390.Description=Description;_this2390.ObjectType=ObjectType;_this2390.ObjectPlacement=ObjectPlacement;_this2390.Representation=Representation;_this2390.Tag=Tag;_this2390.PredefinedType=PredefinedType;_this2390.type=812556717;return _this2390;}return _createClass(IfcTank);}(IfcFlowStorageDevice);IFC4X32.IfcTank=IfcTank;var IfcTrackElement=/*#__PURE__*/function(_IfcBuiltElement25){_inherits(IfcTrackElement,_IfcBuiltElement25);var _super2388=_createSuper(IfcTrackElement);function IfcTrackElement(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag,PredefinedType){var _this2391;_classCallCheck(this,IfcTrackElement);_this2391=_super2388.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag);_this2391.GlobalId=GlobalId;_this2391.OwnerHistory=OwnerHistory;_this2391.Name=Name;_this2391.Description=Description;_this2391.ObjectType=ObjectType;_this2391.ObjectPlacement=ObjectPlacement;_this2391.Representation=Representation;_this2391.Tag=Tag;_this2391.PredefinedType=PredefinedType;_this2391.type=3425753595;return _this2391;}return _createClass(IfcTrackElement);}(IfcBuiltElement);IFC4X32.IfcTrackElement=IfcTrackElement;var IfcTransformer=/*#__PURE__*/function(_IfcEnergyConversionD86){_inherits(IfcTransformer,_IfcEnergyConversionD86);var _super2389=_createSuper(IfcTransformer);function IfcTransformer(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag,PredefinedType){var _this2392;_classCallCheck(this,IfcTransformer);_this2392=_super2389.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag);_this2392.GlobalId=GlobalId;_this2392.OwnerHistory=OwnerHistory;_this2392.Name=Name;_this2392.Description=Description;_this2392.ObjectType=ObjectType;_this2392.ObjectPlacement=ObjectPlacement;_this2392.Representation=Representation;_this2392.Tag=Tag;_this2392.PredefinedType=PredefinedType;_this2392.type=3825984169;return _this2392;}return _createClass(IfcTransformer);}(IfcEnergyConversionDevice);IFC4X32.IfcTransformer=IfcTransformer;var IfcTransportElement=/*#__PURE__*/function(_IfcTransportationDev4){_inherits(IfcTransportElement,_IfcTransportationDev4);var _super2390=_createSuper(IfcTransportElement);function IfcTransportElement(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag,PredefinedType){var _this2393;_classCallCheck(this,IfcTransportElement);_this2393=_super2390.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag);_this2393.GlobalId=GlobalId;_this2393.OwnerHistory=OwnerHistory;_this2393.Name=Name;_this2393.Description=Description;_this2393.ObjectType=ObjectType;_this2393.ObjectPlacement=ObjectPlacement;_this2393.Representation=Representation;_this2393.Tag=Tag;_this2393.PredefinedType=PredefinedType;_this2393.type=1620046519;return _this2393;}return _createClass(IfcTransportElement);}(IfcTransportationDevice);IFC4X32.IfcTransportElement=IfcTransportElement;var IfcTubeBundle=/*#__PURE__*/function(_IfcEnergyConversionD87){_inherits(IfcTubeBundle,_IfcEnergyConversionD87);var _super2391=_createSuper(IfcTubeBundle);function IfcTubeBundle(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag,PredefinedType){var _this2394;_classCallCheck(this,IfcTubeBundle);_this2394=_super2391.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag);_this2394.GlobalId=GlobalId;_this2394.OwnerHistory=OwnerHistory;_this2394.Name=Name;_this2394.Description=Description;_this2394.ObjectType=ObjectType;_this2394.ObjectPlacement=ObjectPlacement;_this2394.Representation=Representation;_this2394.Tag=Tag;_this2394.PredefinedType=PredefinedType;_this2394.type=3026737570;return _this2394;}return _createClass(IfcTubeBundle);}(IfcEnergyConversionDevice);IFC4X32.IfcTubeBundle=IfcTubeBundle;var IfcUnitaryControlElementType=/*#__PURE__*/function(_IfcDistributionContr23){_inherits(IfcUnitaryControlElementType,_IfcDistributionContr23);var _super2392=_createSuper(IfcUnitaryControlElementType);function IfcUnitaryControlElementType(expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType,PredefinedType){var _this2395;_classCallCheck(this,IfcUnitaryControlElementType);_this2395=_super2392.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType);_this2395.GlobalId=GlobalId;_this2395.OwnerHistory=OwnerHistory;_this2395.Name=Name;_this2395.Description=Description;_this2395.ApplicableOccurrence=ApplicableOccurrence;_this2395.HasPropertySets=HasPropertySets;_this2395.RepresentationMaps=RepresentationMaps;_this2395.Tag=Tag;_this2395.ElementType=ElementType;_this2395.PredefinedType=PredefinedType;_this2395.type=3179687236;return _this2395;}return _createClass(IfcUnitaryControlElementType);}(IfcDistributionControlElementType);IFC4X32.IfcUnitaryControlElementType=IfcUnitaryControlElementType;var IfcUnitaryEquipment=/*#__PURE__*/function(_IfcEnergyConversionD88){_inherits(IfcUnitaryEquipment,_IfcEnergyConversionD88);var _super2393=_createSuper(IfcUnitaryEquipment);function IfcUnitaryEquipment(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag,PredefinedType){var _this2396;_classCallCheck(this,IfcUnitaryEquipment);_this2396=_super2393.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag);_this2396.GlobalId=GlobalId;_this2396.OwnerHistory=OwnerHistory;_this2396.Name=Name;_this2396.Description=Description;_this2396.ObjectType=ObjectType;_this2396.ObjectPlacement=ObjectPlacement;_this2396.Representation=Representation;_this2396.Tag=Tag;_this2396.PredefinedType=PredefinedType;_this2396.type=4292641817;return _this2396;}return _createClass(IfcUnitaryEquipment);}(IfcEnergyConversionDevice);IFC4X32.IfcUnitaryEquipment=IfcUnitaryEquipment;var IfcValve=/*#__PURE__*/function(_IfcFlowController13){_inherits(IfcValve,_IfcFlowController13);var _super2394=_createSuper(IfcValve);function IfcValve(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag,PredefinedType){var _this2397;_classCallCheck(this,IfcValve);_this2397=_super2394.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag);_this2397.GlobalId=GlobalId;_this2397.OwnerHistory=OwnerHistory;_this2397.Name=Name;_this2397.Description=Description;_this2397.ObjectType=ObjectType;_this2397.ObjectPlacement=ObjectPlacement;_this2397.Representation=Representation;_this2397.Tag=Tag;_this2397.PredefinedType=PredefinedType;_this2397.type=4207607924;return _this2397;}return _createClass(IfcValve);}(IfcFlowController);IFC4X32.IfcValve=IfcValve;var IfcWall=/*#__PURE__*/function(_IfcBuiltElement26){_inherits(IfcWall,_IfcBuiltElement26);var _super2395=_createSuper(IfcWall);function IfcWall(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag,PredefinedType){var _this2398;_classCallCheck(this,IfcWall);_this2398=_super2395.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag);_this2398.GlobalId=GlobalId;_this2398.OwnerHistory=OwnerHistory;_this2398.Name=Name;_this2398.Description=Description;_this2398.ObjectType=ObjectType;_this2398.ObjectPlacement=ObjectPlacement;_this2398.Representation=Representation;_this2398.Tag=Tag;_this2398.PredefinedType=PredefinedType;_this2398.type=2391406946;return _this2398;}return _createClass(IfcWall);}(IfcBuiltElement);IFC4X32.IfcWall=IfcWall;var IfcWallStandardCase=/*#__PURE__*/function(_IfcWall4){_inherits(IfcWallStandardCase,_IfcWall4);var _super2396=_createSuper(IfcWallStandardCase);function IfcWallStandardCase(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag,PredefinedType){var _this2399;_classCallCheck(this,IfcWallStandardCase);_this2399=_super2396.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag,PredefinedType);_this2399.GlobalId=GlobalId;_this2399.OwnerHistory=OwnerHistory;_this2399.Name=Name;_this2399.Description=Description;_this2399.ObjectType=ObjectType;_this2399.ObjectPlacement=ObjectPlacement;_this2399.Representation=Representation;_this2399.Tag=Tag;_this2399.PredefinedType=PredefinedType;_this2399.type=3512223829;return _this2399;}return _createClass(IfcWallStandardCase);}(IfcWall);IFC4X32.IfcWallStandardCase=IfcWallStandardCase;var IfcWasteTerminal=/*#__PURE__*/function(_IfcFlowTerminal24){_inherits(IfcWasteTerminal,_IfcFlowTerminal24);var _super2397=_createSuper(IfcWasteTerminal);function IfcWasteTerminal(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag,PredefinedType){var _this2400;_classCallCheck(this,IfcWasteTerminal);_this2400=_super2397.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag);_this2400.GlobalId=GlobalId;_this2400.OwnerHistory=OwnerHistory;_this2400.Name=Name;_this2400.Description=Description;_this2400.ObjectType=ObjectType;_this2400.ObjectPlacement=ObjectPlacement;_this2400.Representation=Representation;_this2400.Tag=Tag;_this2400.PredefinedType=PredefinedType;_this2400.type=4237592921;return _this2400;}return _createClass(IfcWasteTerminal);}(IfcFlowTerminal);IFC4X32.IfcWasteTerminal=IfcWasteTerminal;var IfcWindow=/*#__PURE__*/function(_IfcBuiltElement27){_inherits(IfcWindow,_IfcBuiltElement27);var _super2398=_createSuper(IfcWindow);function IfcWindow(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag,OverallHeight,OverallWidth,PredefinedType,PartitioningType,UserDefinedPartitioningType){var _this2401;_classCallCheck(this,IfcWindow);_this2401=_super2398.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag);_this2401.GlobalId=GlobalId;_this2401.OwnerHistory=OwnerHistory;_this2401.Name=Name;_this2401.Description=Description;_this2401.ObjectType=ObjectType;_this2401.ObjectPlacement=ObjectPlacement;_this2401.Representation=Representation;_this2401.Tag=Tag;_this2401.OverallHeight=OverallHeight;_this2401.OverallWidth=OverallWidth;_this2401.PredefinedType=PredefinedType;_this2401.PartitioningType=PartitioningType;_this2401.UserDefinedPartitioningType=UserDefinedPartitioningType;_this2401.type=3304561284;return _this2401;}return _createClass(IfcWindow);}(IfcBuiltElement);IFC4X32.IfcWindow=IfcWindow;var IfcActuatorType=/*#__PURE__*/function(_IfcDistributionContr24){_inherits(IfcActuatorType,_IfcDistributionContr24);var _super2399=_createSuper(IfcActuatorType);function IfcActuatorType(expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType,PredefinedType){var _this2402;_classCallCheck(this,IfcActuatorType);_this2402=_super2399.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType);_this2402.GlobalId=GlobalId;_this2402.OwnerHistory=OwnerHistory;_this2402.Name=Name;_this2402.Description=Description;_this2402.ApplicableOccurrence=ApplicableOccurrence;_this2402.HasPropertySets=HasPropertySets;_this2402.RepresentationMaps=RepresentationMaps;_this2402.Tag=Tag;_this2402.ElementType=ElementType;_this2402.PredefinedType=PredefinedType;_this2402.type=2874132201;return _this2402;}return _createClass(IfcActuatorType);}(IfcDistributionControlElementType);IFC4X32.IfcActuatorType=IfcActuatorType;var IfcAirTerminal=/*#__PURE__*/function(_IfcFlowTerminal25){_inherits(IfcAirTerminal,_IfcFlowTerminal25);var _super2400=_createSuper(IfcAirTerminal);function IfcAirTerminal(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag,PredefinedType){var _this2403;_classCallCheck(this,IfcAirTerminal);_this2403=_super2400.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag);_this2403.GlobalId=GlobalId;_this2403.OwnerHistory=OwnerHistory;_this2403.Name=Name;_this2403.Description=Description;_this2403.ObjectType=ObjectType;_this2403.ObjectPlacement=ObjectPlacement;_this2403.Representation=Representation;_this2403.Tag=Tag;_this2403.PredefinedType=PredefinedType;_this2403.type=1634111441;return _this2403;}return _createClass(IfcAirTerminal);}(IfcFlowTerminal);IFC4X32.IfcAirTerminal=IfcAirTerminal;var IfcAirTerminalBox=/*#__PURE__*/function(_IfcFlowController14){_inherits(IfcAirTerminalBox,_IfcFlowController14);var _super2401=_createSuper(IfcAirTerminalBox);function IfcAirTerminalBox(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag,PredefinedType){var _this2404;_classCallCheck(this,IfcAirTerminalBox);_this2404=_super2401.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag);_this2404.GlobalId=GlobalId;_this2404.OwnerHistory=OwnerHistory;_this2404.Name=Name;_this2404.Description=Description;_this2404.ObjectType=ObjectType;_this2404.ObjectPlacement=ObjectPlacement;_this2404.Representation=Representation;_this2404.Tag=Tag;_this2404.PredefinedType=PredefinedType;_this2404.type=177149247;return _this2404;}return _createClass(IfcAirTerminalBox);}(IfcFlowController);IFC4X32.IfcAirTerminalBox=IfcAirTerminalBox;var IfcAirToAirHeatRecovery=/*#__PURE__*/function(_IfcEnergyConversionD89){_inherits(IfcAirToAirHeatRecovery,_IfcEnergyConversionD89);var _super2402=_createSuper(IfcAirToAirHeatRecovery);function IfcAirToAirHeatRecovery(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag,PredefinedType){var _this2405;_classCallCheck(this,IfcAirToAirHeatRecovery);_this2405=_super2402.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag);_this2405.GlobalId=GlobalId;_this2405.OwnerHistory=OwnerHistory;_this2405.Name=Name;_this2405.Description=Description;_this2405.ObjectType=ObjectType;_this2405.ObjectPlacement=ObjectPlacement;_this2405.Representation=Representation;_this2405.Tag=Tag;_this2405.PredefinedType=PredefinedType;_this2405.type=2056796094;return _this2405;}return _createClass(IfcAirToAirHeatRecovery);}(IfcEnergyConversionDevice);IFC4X32.IfcAirToAirHeatRecovery=IfcAirToAirHeatRecovery;var IfcAlarmType=/*#__PURE__*/function(_IfcDistributionContr25){_inherits(IfcAlarmType,_IfcDistributionContr25);var _super2403=_createSuper(IfcAlarmType);function IfcAlarmType(expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType,PredefinedType){var _this2406;_classCallCheck(this,IfcAlarmType);_this2406=_super2403.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType);_this2406.GlobalId=GlobalId;_this2406.OwnerHistory=OwnerHistory;_this2406.Name=Name;_this2406.Description=Description;_this2406.ApplicableOccurrence=ApplicableOccurrence;_this2406.HasPropertySets=HasPropertySets;_this2406.RepresentationMaps=RepresentationMaps;_this2406.Tag=Tag;_this2406.ElementType=ElementType;_this2406.PredefinedType=PredefinedType;_this2406.type=3001207471;return _this2406;}return _createClass(IfcAlarmType);}(IfcDistributionControlElementType);IFC4X32.IfcAlarmType=IfcAlarmType;var IfcAlignment=/*#__PURE__*/function(_IfcLinearPositioning){_inherits(IfcAlignment,_IfcLinearPositioning);var _super2404=_createSuper(IfcAlignment);function IfcAlignment(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,PredefinedType){var _this2407;_classCallCheck(this,IfcAlignment);_this2407=_super2404.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation);_this2407.GlobalId=GlobalId;_this2407.OwnerHistory=OwnerHistory;_this2407.Name=Name;_this2407.Description=Description;_this2407.ObjectType=ObjectType;_this2407.ObjectPlacement=ObjectPlacement;_this2407.Representation=Representation;_this2407.PredefinedType=PredefinedType;_this2407.type=325726236;return _this2407;}return _createClass(IfcAlignment);}(IfcLinearPositioningElement);IFC4X32.IfcAlignment=IfcAlignment;var IfcAudioVisualAppliance=/*#__PURE__*/function(_IfcFlowTerminal26){_inherits(IfcAudioVisualAppliance,_IfcFlowTerminal26);var _super2405=_createSuper(IfcAudioVisualAppliance);function IfcAudioVisualAppliance(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag,PredefinedType){var _this2408;_classCallCheck(this,IfcAudioVisualAppliance);_this2408=_super2405.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag);_this2408.GlobalId=GlobalId;_this2408.OwnerHistory=OwnerHistory;_this2408.Name=Name;_this2408.Description=Description;_this2408.ObjectType=ObjectType;_this2408.ObjectPlacement=ObjectPlacement;_this2408.Representation=Representation;_this2408.Tag=Tag;_this2408.PredefinedType=PredefinedType;_this2408.type=277319702;return _this2408;}return _createClass(IfcAudioVisualAppliance);}(IfcFlowTerminal);IFC4X32.IfcAudioVisualAppliance=IfcAudioVisualAppliance;var IfcBeam=/*#__PURE__*/function(_IfcBuiltElement28){_inherits(IfcBeam,_IfcBuiltElement28);var _super2406=_createSuper(IfcBeam);function IfcBeam(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag,PredefinedType){var _this2409;_classCallCheck(this,IfcBeam);_this2409=_super2406.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag);_this2409.GlobalId=GlobalId;_this2409.OwnerHistory=OwnerHistory;_this2409.Name=Name;_this2409.Description=Description;_this2409.ObjectType=ObjectType;_this2409.ObjectPlacement=ObjectPlacement;_this2409.Representation=Representation;_this2409.Tag=Tag;_this2409.PredefinedType=PredefinedType;_this2409.type=753842376;return _this2409;}return _createClass(IfcBeam);}(IfcBuiltElement);IFC4X32.IfcBeam=IfcBeam;var IfcBearing=/*#__PURE__*/function(_IfcBuiltElement29){_inherits(IfcBearing,_IfcBuiltElement29);var _super2407=_createSuper(IfcBearing);function IfcBearing(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag,PredefinedType){var _this2410;_classCallCheck(this,IfcBearing);_this2410=_super2407.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag);_this2410.GlobalId=GlobalId;_this2410.OwnerHistory=OwnerHistory;_this2410.Name=Name;_this2410.Description=Description;_this2410.ObjectType=ObjectType;_this2410.ObjectPlacement=ObjectPlacement;_this2410.Representation=Representation;_this2410.Tag=Tag;_this2410.PredefinedType=PredefinedType;_this2410.type=4196446775;return _this2410;}return _createClass(IfcBearing);}(IfcBuiltElement);IFC4X32.IfcBearing=IfcBearing;var IfcBoiler=/*#__PURE__*/function(_IfcEnergyConversionD90){_inherits(IfcBoiler,_IfcEnergyConversionD90);var _super2408=_createSuper(IfcBoiler);function IfcBoiler(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag,PredefinedType){var _this2411;_classCallCheck(this,IfcBoiler);_this2411=_super2408.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag);_this2411.GlobalId=GlobalId;_this2411.OwnerHistory=OwnerHistory;_this2411.Name=Name;_this2411.Description=Description;_this2411.ObjectType=ObjectType;_this2411.ObjectPlacement=ObjectPlacement;_this2411.Representation=Representation;_this2411.Tag=Tag;_this2411.PredefinedType=PredefinedType;_this2411.type=32344328;return _this2411;}return _createClass(IfcBoiler);}(IfcEnergyConversionDevice);IFC4X32.IfcBoiler=IfcBoiler;var IfcBorehole=/*#__PURE__*/function(_IfcGeotechnicalAssem){_inherits(IfcBorehole,_IfcGeotechnicalAssem);var _super2409=_createSuper(IfcBorehole);function IfcBorehole(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag){var _this2412;_classCallCheck(this,IfcBorehole);_this2412=_super2409.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag);_this2412.GlobalId=GlobalId;_this2412.OwnerHistory=OwnerHistory;_this2412.Name=Name;_this2412.Description=Description;_this2412.ObjectType=ObjectType;_this2412.ObjectPlacement=ObjectPlacement;_this2412.Representation=Representation;_this2412.Tag=Tag;_this2412.type=3314249567;return _this2412;}return _createClass(IfcBorehole);}(IfcGeotechnicalAssembly);IFC4X32.IfcBorehole=IfcBorehole;var IfcBuildingElementProxy=/*#__PURE__*/function(_IfcBuiltElement30){_inherits(IfcBuildingElementProxy,_IfcBuiltElement30);var _super2410=_createSuper(IfcBuildingElementProxy);function IfcBuildingElementProxy(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag,PredefinedType){var _this2413;_classCallCheck(this,IfcBuildingElementProxy);_this2413=_super2410.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag);_this2413.GlobalId=GlobalId;_this2413.OwnerHistory=OwnerHistory;_this2413.Name=Name;_this2413.Description=Description;_this2413.ObjectType=ObjectType;_this2413.ObjectPlacement=ObjectPlacement;_this2413.Representation=Representation;_this2413.Tag=Tag;_this2413.PredefinedType=PredefinedType;_this2413.type=1095909175;return _this2413;}return _createClass(IfcBuildingElementProxy);}(IfcBuiltElement);IFC4X32.IfcBuildingElementProxy=IfcBuildingElementProxy;var IfcBurner=/*#__PURE__*/function(_IfcEnergyConversionD91){_inherits(IfcBurner,_IfcEnergyConversionD91);var _super2411=_createSuper(IfcBurner);function IfcBurner(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag,PredefinedType){var _this2414;_classCallCheck(this,IfcBurner);_this2414=_super2411.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag);_this2414.GlobalId=GlobalId;_this2414.OwnerHistory=OwnerHistory;_this2414.Name=Name;_this2414.Description=Description;_this2414.ObjectType=ObjectType;_this2414.ObjectPlacement=ObjectPlacement;_this2414.Representation=Representation;_this2414.Tag=Tag;_this2414.PredefinedType=PredefinedType;_this2414.type=2938176219;return _this2414;}return _createClass(IfcBurner);}(IfcEnergyConversionDevice);IFC4X32.IfcBurner=IfcBurner;var IfcCableCarrierFitting=/*#__PURE__*/function(_IfcFlowFitting8){_inherits(IfcCableCarrierFitting,_IfcFlowFitting8);var _super2412=_createSuper(IfcCableCarrierFitting);function IfcCableCarrierFitting(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag,PredefinedType){var _this2415;_classCallCheck(this,IfcCableCarrierFitting);_this2415=_super2412.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag);_this2415.GlobalId=GlobalId;_this2415.OwnerHistory=OwnerHistory;_this2415.Name=Name;_this2415.Description=Description;_this2415.ObjectType=ObjectType;_this2415.ObjectPlacement=ObjectPlacement;_this2415.Representation=Representation;_this2415.Tag=Tag;_this2415.PredefinedType=PredefinedType;_this2415.type=635142910;return _this2415;}return _createClass(IfcCableCarrierFitting);}(IfcFlowFitting);IFC4X32.IfcCableCarrierFitting=IfcCableCarrierFitting;var IfcCableCarrierSegment=/*#__PURE__*/function(_IfcFlowSegment6){_inherits(IfcCableCarrierSegment,_IfcFlowSegment6);var _super2413=_createSuper(IfcCableCarrierSegment);function IfcCableCarrierSegment(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag,PredefinedType){var _this2416;_classCallCheck(this,IfcCableCarrierSegment);_this2416=_super2413.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag);_this2416.GlobalId=GlobalId;_this2416.OwnerHistory=OwnerHistory;_this2416.Name=Name;_this2416.Description=Description;_this2416.ObjectType=ObjectType;_this2416.ObjectPlacement=ObjectPlacement;_this2416.Representation=Representation;_this2416.Tag=Tag;_this2416.PredefinedType=PredefinedType;_this2416.type=3758799889;return _this2416;}return _createClass(IfcCableCarrierSegment);}(IfcFlowSegment);IFC4X32.IfcCableCarrierSegment=IfcCableCarrierSegment;var IfcCableFitting=/*#__PURE__*/function(_IfcFlowFitting9){_inherits(IfcCableFitting,_IfcFlowFitting9);var _super2414=_createSuper(IfcCableFitting);function IfcCableFitting(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag,PredefinedType){var _this2417;_classCallCheck(this,IfcCableFitting);_this2417=_super2414.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag);_this2417.GlobalId=GlobalId;_this2417.OwnerHistory=OwnerHistory;_this2417.Name=Name;_this2417.Description=Description;_this2417.ObjectType=ObjectType;_this2417.ObjectPlacement=ObjectPlacement;_this2417.Representation=Representation;_this2417.Tag=Tag;_this2417.PredefinedType=PredefinedType;_this2417.type=1051757585;return _this2417;}return _createClass(IfcCableFitting);}(IfcFlowFitting);IFC4X32.IfcCableFitting=IfcCableFitting;var IfcCableSegment=/*#__PURE__*/function(_IfcFlowSegment7){_inherits(IfcCableSegment,_IfcFlowSegment7);var _super2415=_createSuper(IfcCableSegment);function IfcCableSegment(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag,PredefinedType){var _this2418;_classCallCheck(this,IfcCableSegment);_this2418=_super2415.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag);_this2418.GlobalId=GlobalId;_this2418.OwnerHistory=OwnerHistory;_this2418.Name=Name;_this2418.Description=Description;_this2418.ObjectType=ObjectType;_this2418.ObjectPlacement=ObjectPlacement;_this2418.Representation=Representation;_this2418.Tag=Tag;_this2418.PredefinedType=PredefinedType;_this2418.type=4217484030;return _this2418;}return _createClass(IfcCableSegment);}(IfcFlowSegment);IFC4X32.IfcCableSegment=IfcCableSegment;var IfcCaissonFoundation=/*#__PURE__*/function(_IfcDeepFoundation2){_inherits(IfcCaissonFoundation,_IfcDeepFoundation2);var _super2416=_createSuper(IfcCaissonFoundation);function IfcCaissonFoundation(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag,PredefinedType){var _this2419;_classCallCheck(this,IfcCaissonFoundation);_this2419=_super2416.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag);_this2419.GlobalId=GlobalId;_this2419.OwnerHistory=OwnerHistory;_this2419.Name=Name;_this2419.Description=Description;_this2419.ObjectType=ObjectType;_this2419.ObjectPlacement=ObjectPlacement;_this2419.Representation=Representation;_this2419.Tag=Tag;_this2419.PredefinedType=PredefinedType;_this2419.type=3999819293;return _this2419;}return _createClass(IfcCaissonFoundation);}(IfcDeepFoundation);IFC4X32.IfcCaissonFoundation=IfcCaissonFoundation;var IfcChiller=/*#__PURE__*/function(_IfcEnergyConversionD92){_inherits(IfcChiller,_IfcEnergyConversionD92);var _super2417=_createSuper(IfcChiller);function IfcChiller(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag,PredefinedType){var _this2420;_classCallCheck(this,IfcChiller);_this2420=_super2417.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag);_this2420.GlobalId=GlobalId;_this2420.OwnerHistory=OwnerHistory;_this2420.Name=Name;_this2420.Description=Description;_this2420.ObjectType=ObjectType;_this2420.ObjectPlacement=ObjectPlacement;_this2420.Representation=Representation;_this2420.Tag=Tag;_this2420.PredefinedType=PredefinedType;_this2420.type=3902619387;return _this2420;}return _createClass(IfcChiller);}(IfcEnergyConversionDevice);IFC4X32.IfcChiller=IfcChiller;var IfcCoil=/*#__PURE__*/function(_IfcEnergyConversionD93){_inherits(IfcCoil,_IfcEnergyConversionD93);var _super2418=_createSuper(IfcCoil);function IfcCoil(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag,PredefinedType){var _this2421;_classCallCheck(this,IfcCoil);_this2421=_super2418.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag);_this2421.GlobalId=GlobalId;_this2421.OwnerHistory=OwnerHistory;_this2421.Name=Name;_this2421.Description=Description;_this2421.ObjectType=ObjectType;_this2421.ObjectPlacement=ObjectPlacement;_this2421.Representation=Representation;_this2421.Tag=Tag;_this2421.PredefinedType=PredefinedType;_this2421.type=639361253;return _this2421;}return _createClass(IfcCoil);}(IfcEnergyConversionDevice);IFC4X32.IfcCoil=IfcCoil;var IfcCommunicationsAppliance=/*#__PURE__*/function(_IfcFlowTerminal27){_inherits(IfcCommunicationsAppliance,_IfcFlowTerminal27);var _super2419=_createSuper(IfcCommunicationsAppliance);function IfcCommunicationsAppliance(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag,PredefinedType){var _this2422;_classCallCheck(this,IfcCommunicationsAppliance);_this2422=_super2419.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag);_this2422.GlobalId=GlobalId;_this2422.OwnerHistory=OwnerHistory;_this2422.Name=Name;_this2422.Description=Description;_this2422.ObjectType=ObjectType;_this2422.ObjectPlacement=ObjectPlacement;_this2422.Representation=Representation;_this2422.Tag=Tag;_this2422.PredefinedType=PredefinedType;_this2422.type=3221913625;return _this2422;}return _createClass(IfcCommunicationsAppliance);}(IfcFlowTerminal);IFC4X32.IfcCommunicationsAppliance=IfcCommunicationsAppliance;var IfcCompressor=/*#__PURE__*/function(_IfcFlowMovingDevice5){_inherits(IfcCompressor,_IfcFlowMovingDevice5);var _super2420=_createSuper(IfcCompressor);function IfcCompressor(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag,PredefinedType){var _this2423;_classCallCheck(this,IfcCompressor);_this2423=_super2420.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag);_this2423.GlobalId=GlobalId;_this2423.OwnerHistory=OwnerHistory;_this2423.Name=Name;_this2423.Description=Description;_this2423.ObjectType=ObjectType;_this2423.ObjectPlacement=ObjectPlacement;_this2423.Representation=Representation;_this2423.Tag=Tag;_this2423.PredefinedType=PredefinedType;_this2423.type=3571504051;return _this2423;}return _createClass(IfcCompressor);}(IfcFlowMovingDevice);IFC4X32.IfcCompressor=IfcCompressor;var IfcCondenser=/*#__PURE__*/function(_IfcEnergyConversionD94){_inherits(IfcCondenser,_IfcEnergyConversionD94);var _super2421=_createSuper(IfcCondenser);function IfcCondenser(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag,PredefinedType){var _this2424;_classCallCheck(this,IfcCondenser);_this2424=_super2421.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag);_this2424.GlobalId=GlobalId;_this2424.OwnerHistory=OwnerHistory;_this2424.Name=Name;_this2424.Description=Description;_this2424.ObjectType=ObjectType;_this2424.ObjectPlacement=ObjectPlacement;_this2424.Representation=Representation;_this2424.Tag=Tag;_this2424.PredefinedType=PredefinedType;_this2424.type=2272882330;return _this2424;}return _createClass(IfcCondenser);}(IfcEnergyConversionDevice);IFC4X32.IfcCondenser=IfcCondenser;var IfcControllerType=/*#__PURE__*/function(_IfcDistributionContr26){_inherits(IfcControllerType,_IfcDistributionContr26);var _super2422=_createSuper(IfcControllerType);function IfcControllerType(expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType,PredefinedType){var _this2425;_classCallCheck(this,IfcControllerType);_this2425=_super2422.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ApplicableOccurrence,HasPropertySets,RepresentationMaps,Tag,ElementType);_this2425.GlobalId=GlobalId;_this2425.OwnerHistory=OwnerHistory;_this2425.Name=Name;_this2425.Description=Description;_this2425.ApplicableOccurrence=ApplicableOccurrence;_this2425.HasPropertySets=HasPropertySets;_this2425.RepresentationMaps=RepresentationMaps;_this2425.Tag=Tag;_this2425.ElementType=ElementType;_this2425.PredefinedType=PredefinedType;_this2425.type=578613899;return _this2425;}return _createClass(IfcControllerType);}(IfcDistributionControlElementType);IFC4X32.IfcControllerType=IfcControllerType;var IfcConveyorSegment=/*#__PURE__*/function(_IfcFlowSegment8){_inherits(IfcConveyorSegment,_IfcFlowSegment8);var _super2423=_createSuper(IfcConveyorSegment);function IfcConveyorSegment(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag,PredefinedType){var _this2426;_classCallCheck(this,IfcConveyorSegment);_this2426=_super2423.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag);_this2426.GlobalId=GlobalId;_this2426.OwnerHistory=OwnerHistory;_this2426.Name=Name;_this2426.Description=Description;_this2426.ObjectType=ObjectType;_this2426.ObjectPlacement=ObjectPlacement;_this2426.Representation=Representation;_this2426.Tag=Tag;_this2426.PredefinedType=PredefinedType;_this2426.type=3460952963;return _this2426;}return _createClass(IfcConveyorSegment);}(IfcFlowSegment);IFC4X32.IfcConveyorSegment=IfcConveyorSegment;var IfcCooledBeam=/*#__PURE__*/function(_IfcEnergyConversionD95){_inherits(IfcCooledBeam,_IfcEnergyConversionD95);var _super2424=_createSuper(IfcCooledBeam);function IfcCooledBeam(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag,PredefinedType){var _this2427;_classCallCheck(this,IfcCooledBeam);_this2427=_super2424.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag);_this2427.GlobalId=GlobalId;_this2427.OwnerHistory=OwnerHistory;_this2427.Name=Name;_this2427.Description=Description;_this2427.ObjectType=ObjectType;_this2427.ObjectPlacement=ObjectPlacement;_this2427.Representation=Representation;_this2427.Tag=Tag;_this2427.PredefinedType=PredefinedType;_this2427.type=4136498852;return _this2427;}return _createClass(IfcCooledBeam);}(IfcEnergyConversionDevice);IFC4X32.IfcCooledBeam=IfcCooledBeam;var IfcCoolingTower=/*#__PURE__*/function(_IfcEnergyConversionD96){_inherits(IfcCoolingTower,_IfcEnergyConversionD96);var _super2425=_createSuper(IfcCoolingTower);function IfcCoolingTower(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag,PredefinedType){var _this2428;_classCallCheck(this,IfcCoolingTower);_this2428=_super2425.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag);_this2428.GlobalId=GlobalId;_this2428.OwnerHistory=OwnerHistory;_this2428.Name=Name;_this2428.Description=Description;_this2428.ObjectType=ObjectType;_this2428.ObjectPlacement=ObjectPlacement;_this2428.Representation=Representation;_this2428.Tag=Tag;_this2428.PredefinedType=PredefinedType;_this2428.type=3640358203;return _this2428;}return _createClass(IfcCoolingTower);}(IfcEnergyConversionDevice);IFC4X32.IfcCoolingTower=IfcCoolingTower;var IfcDamper=/*#__PURE__*/function(_IfcFlowController15){_inherits(IfcDamper,_IfcFlowController15);var _super2426=_createSuper(IfcDamper);function IfcDamper(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag,PredefinedType){var _this2429;_classCallCheck(this,IfcDamper);_this2429=_super2426.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag);_this2429.GlobalId=GlobalId;_this2429.OwnerHistory=OwnerHistory;_this2429.Name=Name;_this2429.Description=Description;_this2429.ObjectType=ObjectType;_this2429.ObjectPlacement=ObjectPlacement;_this2429.Representation=Representation;_this2429.Tag=Tag;_this2429.PredefinedType=PredefinedType;_this2429.type=4074379575;return _this2429;}return _createClass(IfcDamper);}(IfcFlowController);IFC4X32.IfcDamper=IfcDamper;var IfcDistributionBoard=/*#__PURE__*/function(_IfcFlowController16){_inherits(IfcDistributionBoard,_IfcFlowController16);var _super2427=_createSuper(IfcDistributionBoard);function IfcDistributionBoard(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag,PredefinedType){var _this2430;_classCallCheck(this,IfcDistributionBoard);_this2430=_super2427.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag);_this2430.GlobalId=GlobalId;_this2430.OwnerHistory=OwnerHistory;_this2430.Name=Name;_this2430.Description=Description;_this2430.ObjectType=ObjectType;_this2430.ObjectPlacement=ObjectPlacement;_this2430.Representation=Representation;_this2430.Tag=Tag;_this2430.PredefinedType=PredefinedType;_this2430.type=3693000487;return _this2430;}return _createClass(IfcDistributionBoard);}(IfcFlowController);IFC4X32.IfcDistributionBoard=IfcDistributionBoard;var IfcDistributionChamberElement=/*#__PURE__*/function(_IfcDistributionFlowE54){_inherits(IfcDistributionChamberElement,_IfcDistributionFlowE54);var _super2428=_createSuper(IfcDistributionChamberElement);function IfcDistributionChamberElement(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag,PredefinedType){var _this2431;_classCallCheck(this,IfcDistributionChamberElement);_this2431=_super2428.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag);_this2431.GlobalId=GlobalId;_this2431.OwnerHistory=OwnerHistory;_this2431.Name=Name;_this2431.Description=Description;_this2431.ObjectType=ObjectType;_this2431.ObjectPlacement=ObjectPlacement;_this2431.Representation=Representation;_this2431.Tag=Tag;_this2431.PredefinedType=PredefinedType;_this2431.type=1052013943;return _this2431;}return _createClass(IfcDistributionChamberElement);}(IfcDistributionFlowElement);IFC4X32.IfcDistributionChamberElement=IfcDistributionChamberElement;var IfcDistributionCircuit=/*#__PURE__*/function(_IfcDistributionSyste2){_inherits(IfcDistributionCircuit,_IfcDistributionSyste2);var _super2429=_createSuper(IfcDistributionCircuit);function IfcDistributionCircuit(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,LongName,PredefinedType){var _this2432;_classCallCheck(this,IfcDistributionCircuit);_this2432=_super2429.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,LongName,PredefinedType);_this2432.GlobalId=GlobalId;_this2432.OwnerHistory=OwnerHistory;_this2432.Name=Name;_this2432.Description=Description;_this2432.ObjectType=ObjectType;_this2432.LongName=LongName;_this2432.PredefinedType=PredefinedType;_this2432.type=562808652;return _this2432;}return _createClass(IfcDistributionCircuit);}(IfcDistributionSystem);IFC4X32.IfcDistributionCircuit=IfcDistributionCircuit;var IfcDistributionControlElement=/*#__PURE__*/function(_IfcDistributionEleme12){_inherits(IfcDistributionControlElement,_IfcDistributionEleme12);var _super2430=_createSuper(IfcDistributionControlElement);function IfcDistributionControlElement(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag){var _this2433;_classCallCheck(this,IfcDistributionControlElement);_this2433=_super2430.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag);_this2433.GlobalId=GlobalId;_this2433.OwnerHistory=OwnerHistory;_this2433.Name=Name;_this2433.Description=Description;_this2433.ObjectType=ObjectType;_this2433.ObjectPlacement=ObjectPlacement;_this2433.Representation=Representation;_this2433.Tag=Tag;_this2433.type=1062813311;return _this2433;}return _createClass(IfcDistributionControlElement);}(IfcDistributionElement);IFC4X32.IfcDistributionControlElement=IfcDistributionControlElement;var IfcDuctFitting=/*#__PURE__*/function(_IfcFlowFitting10){_inherits(IfcDuctFitting,_IfcFlowFitting10);var _super2431=_createSuper(IfcDuctFitting);function IfcDuctFitting(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag,PredefinedType){var _this2434;_classCallCheck(this,IfcDuctFitting);_this2434=_super2431.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag);_this2434.GlobalId=GlobalId;_this2434.OwnerHistory=OwnerHistory;_this2434.Name=Name;_this2434.Description=Description;_this2434.ObjectType=ObjectType;_this2434.ObjectPlacement=ObjectPlacement;_this2434.Representation=Representation;_this2434.Tag=Tag;_this2434.PredefinedType=PredefinedType;_this2434.type=342316401;return _this2434;}return _createClass(IfcDuctFitting);}(IfcFlowFitting);IFC4X32.IfcDuctFitting=IfcDuctFitting;var IfcDuctSegment=/*#__PURE__*/function(_IfcFlowSegment9){_inherits(IfcDuctSegment,_IfcFlowSegment9);var _super2432=_createSuper(IfcDuctSegment);function IfcDuctSegment(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag,PredefinedType){var _this2435;_classCallCheck(this,IfcDuctSegment);_this2435=_super2432.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag);_this2435.GlobalId=GlobalId;_this2435.OwnerHistory=OwnerHistory;_this2435.Name=Name;_this2435.Description=Description;_this2435.ObjectType=ObjectType;_this2435.ObjectPlacement=ObjectPlacement;_this2435.Representation=Representation;_this2435.Tag=Tag;_this2435.PredefinedType=PredefinedType;_this2435.type=3518393246;return _this2435;}return _createClass(IfcDuctSegment);}(IfcFlowSegment);IFC4X32.IfcDuctSegment=IfcDuctSegment;var IfcDuctSilencer=/*#__PURE__*/function(_IfcFlowTreatmentDevi14){_inherits(IfcDuctSilencer,_IfcFlowTreatmentDevi14);var _super2433=_createSuper(IfcDuctSilencer);function IfcDuctSilencer(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag,PredefinedType){var _this2436;_classCallCheck(this,IfcDuctSilencer);_this2436=_super2433.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag);_this2436.GlobalId=GlobalId;_this2436.OwnerHistory=OwnerHistory;_this2436.Name=Name;_this2436.Description=Description;_this2436.ObjectType=ObjectType;_this2436.ObjectPlacement=ObjectPlacement;_this2436.Representation=Representation;_this2436.Tag=Tag;_this2436.PredefinedType=PredefinedType;_this2436.type=1360408905;return _this2436;}return _createClass(IfcDuctSilencer);}(IfcFlowTreatmentDevice);IFC4X32.IfcDuctSilencer=IfcDuctSilencer;var IfcElectricAppliance=/*#__PURE__*/function(_IfcFlowTerminal28){_inherits(IfcElectricAppliance,_IfcFlowTerminal28);var _super2434=_createSuper(IfcElectricAppliance);function IfcElectricAppliance(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag,PredefinedType){var _this2437;_classCallCheck(this,IfcElectricAppliance);_this2437=_super2434.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag);_this2437.GlobalId=GlobalId;_this2437.OwnerHistory=OwnerHistory;_this2437.Name=Name;_this2437.Description=Description;_this2437.ObjectType=ObjectType;_this2437.ObjectPlacement=ObjectPlacement;_this2437.Representation=Representation;_this2437.Tag=Tag;_this2437.PredefinedType=PredefinedType;_this2437.type=1904799276;return _this2437;}return _createClass(IfcElectricAppliance);}(IfcFlowTerminal);IFC4X32.IfcElectricAppliance=IfcElectricAppliance;var IfcElectricDistributionBoard=/*#__PURE__*/function(_IfcFlowController17){_inherits(IfcElectricDistributionBoard,_IfcFlowController17);var _super2435=_createSuper(IfcElectricDistributionBoard);function IfcElectricDistributionBoard(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag,PredefinedType){var _this2438;_classCallCheck(this,IfcElectricDistributionBoard);_this2438=_super2435.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag);_this2438.GlobalId=GlobalId;_this2438.OwnerHistory=OwnerHistory;_this2438.Name=Name;_this2438.Description=Description;_this2438.ObjectType=ObjectType;_this2438.ObjectPlacement=ObjectPlacement;_this2438.Representation=Representation;_this2438.Tag=Tag;_this2438.PredefinedType=PredefinedType;_this2438.type=862014818;return _this2438;}return _createClass(IfcElectricDistributionBoard);}(IfcFlowController);IFC4X32.IfcElectricDistributionBoard=IfcElectricDistributionBoard;var IfcElectricFlowStorageDevice=/*#__PURE__*/function(_IfcFlowStorageDevice10){_inherits(IfcElectricFlowStorageDevice,_IfcFlowStorageDevice10);var _super2436=_createSuper(IfcElectricFlowStorageDevice);function IfcElectricFlowStorageDevice(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag,PredefinedType){var _this2439;_classCallCheck(this,IfcElectricFlowStorageDevice);_this2439=_super2436.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag);_this2439.GlobalId=GlobalId;_this2439.OwnerHistory=OwnerHistory;_this2439.Name=Name;_this2439.Description=Description;_this2439.ObjectType=ObjectType;_this2439.ObjectPlacement=ObjectPlacement;_this2439.Representation=Representation;_this2439.Tag=Tag;_this2439.PredefinedType=PredefinedType;_this2439.type=3310460725;return _this2439;}return _createClass(IfcElectricFlowStorageDevice);}(IfcFlowStorageDevice);IFC4X32.IfcElectricFlowStorageDevice=IfcElectricFlowStorageDevice;var IfcElectricFlowTreatmentDevice=/*#__PURE__*/function(_IfcFlowTreatmentDevi15){_inherits(IfcElectricFlowTreatmentDevice,_IfcFlowTreatmentDevi15);var _super2437=_createSuper(IfcElectricFlowTreatmentDevice);function IfcElectricFlowTreatmentDevice(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag,PredefinedType){var _this2440;_classCallCheck(this,IfcElectricFlowTreatmentDevice);_this2440=_super2437.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag);_this2440.GlobalId=GlobalId;_this2440.OwnerHistory=OwnerHistory;_this2440.Name=Name;_this2440.Description=Description;_this2440.ObjectType=ObjectType;_this2440.ObjectPlacement=ObjectPlacement;_this2440.Representation=Representation;_this2440.Tag=Tag;_this2440.PredefinedType=PredefinedType;_this2440.type=24726584;return _this2440;}return _createClass(IfcElectricFlowTreatmentDevice);}(IfcFlowTreatmentDevice);IFC4X32.IfcElectricFlowTreatmentDevice=IfcElectricFlowTreatmentDevice;var IfcElectricGenerator=/*#__PURE__*/function(_IfcEnergyConversionD97){_inherits(IfcElectricGenerator,_IfcEnergyConversionD97);var _super2438=_createSuper(IfcElectricGenerator);function IfcElectricGenerator(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag,PredefinedType){var _this2441;_classCallCheck(this,IfcElectricGenerator);_this2441=_super2438.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag);_this2441.GlobalId=GlobalId;_this2441.OwnerHistory=OwnerHistory;_this2441.Name=Name;_this2441.Description=Description;_this2441.ObjectType=ObjectType;_this2441.ObjectPlacement=ObjectPlacement;_this2441.Representation=Representation;_this2441.Tag=Tag;_this2441.PredefinedType=PredefinedType;_this2441.type=264262732;return _this2441;}return _createClass(IfcElectricGenerator);}(IfcEnergyConversionDevice);IFC4X32.IfcElectricGenerator=IfcElectricGenerator;var IfcElectricMotor=/*#__PURE__*/function(_IfcEnergyConversionD98){_inherits(IfcElectricMotor,_IfcEnergyConversionD98);var _super2439=_createSuper(IfcElectricMotor);function IfcElectricMotor(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag,PredefinedType){var _this2442;_classCallCheck(this,IfcElectricMotor);_this2442=_super2439.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag);_this2442.GlobalId=GlobalId;_this2442.OwnerHistory=OwnerHistory;_this2442.Name=Name;_this2442.Description=Description;_this2442.ObjectType=ObjectType;_this2442.ObjectPlacement=ObjectPlacement;_this2442.Representation=Representation;_this2442.Tag=Tag;_this2442.PredefinedType=PredefinedType;_this2442.type=402227799;return _this2442;}return _createClass(IfcElectricMotor);}(IfcEnergyConversionDevice);IFC4X32.IfcElectricMotor=IfcElectricMotor;var IfcElectricTimeControl=/*#__PURE__*/function(_IfcFlowController18){_inherits(IfcElectricTimeControl,_IfcFlowController18);var _super2440=_createSuper(IfcElectricTimeControl);function IfcElectricTimeControl(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag,PredefinedType){var _this2443;_classCallCheck(this,IfcElectricTimeControl);_this2443=_super2440.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag);_this2443.GlobalId=GlobalId;_this2443.OwnerHistory=OwnerHistory;_this2443.Name=Name;_this2443.Description=Description;_this2443.ObjectType=ObjectType;_this2443.ObjectPlacement=ObjectPlacement;_this2443.Representation=Representation;_this2443.Tag=Tag;_this2443.PredefinedType=PredefinedType;_this2443.type=1003880860;return _this2443;}return _createClass(IfcElectricTimeControl);}(IfcFlowController);IFC4X32.IfcElectricTimeControl=IfcElectricTimeControl;var IfcFan=/*#__PURE__*/function(_IfcFlowMovingDevice6){_inherits(IfcFan,_IfcFlowMovingDevice6);var _super2441=_createSuper(IfcFan);function IfcFan(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag,PredefinedType){var _this2444;_classCallCheck(this,IfcFan);_this2444=_super2441.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag);_this2444.GlobalId=GlobalId;_this2444.OwnerHistory=OwnerHistory;_this2444.Name=Name;_this2444.Description=Description;_this2444.ObjectType=ObjectType;_this2444.ObjectPlacement=ObjectPlacement;_this2444.Representation=Representation;_this2444.Tag=Tag;_this2444.PredefinedType=PredefinedType;_this2444.type=3415622556;return _this2444;}return _createClass(IfcFan);}(IfcFlowMovingDevice);IFC4X32.IfcFan=IfcFan;var IfcFilter=/*#__PURE__*/function(_IfcFlowTreatmentDevi16){_inherits(IfcFilter,_IfcFlowTreatmentDevi16);var _super2442=_createSuper(IfcFilter);function IfcFilter(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag,PredefinedType){var _this2445;_classCallCheck(this,IfcFilter);_this2445=_super2442.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag);_this2445.GlobalId=GlobalId;_this2445.OwnerHistory=OwnerHistory;_this2445.Name=Name;_this2445.Description=Description;_this2445.ObjectType=ObjectType;_this2445.ObjectPlacement=ObjectPlacement;_this2445.Representation=Representation;_this2445.Tag=Tag;_this2445.PredefinedType=PredefinedType;_this2445.type=819412036;return _this2445;}return _createClass(IfcFilter);}(IfcFlowTreatmentDevice);IFC4X32.IfcFilter=IfcFilter;var IfcFireSuppressionTerminal=/*#__PURE__*/function(_IfcFlowTerminal29){_inherits(IfcFireSuppressionTerminal,_IfcFlowTerminal29);var _super2443=_createSuper(IfcFireSuppressionTerminal);function IfcFireSuppressionTerminal(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag,PredefinedType){var _this2446;_classCallCheck(this,IfcFireSuppressionTerminal);_this2446=_super2443.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag);_this2446.GlobalId=GlobalId;_this2446.OwnerHistory=OwnerHistory;_this2446.Name=Name;_this2446.Description=Description;_this2446.ObjectType=ObjectType;_this2446.ObjectPlacement=ObjectPlacement;_this2446.Representation=Representation;_this2446.Tag=Tag;_this2446.PredefinedType=PredefinedType;_this2446.type=1426591983;return _this2446;}return _createClass(IfcFireSuppressionTerminal);}(IfcFlowTerminal);IFC4X32.IfcFireSuppressionTerminal=IfcFireSuppressionTerminal;var IfcFlowInstrument=/*#__PURE__*/function(_IfcDistributionContr27){_inherits(IfcFlowInstrument,_IfcDistributionContr27);var _super2444=_createSuper(IfcFlowInstrument);function IfcFlowInstrument(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag,PredefinedType){var _this2447;_classCallCheck(this,IfcFlowInstrument);_this2447=_super2444.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag);_this2447.GlobalId=GlobalId;_this2447.OwnerHistory=OwnerHistory;_this2447.Name=Name;_this2447.Description=Description;_this2447.ObjectType=ObjectType;_this2447.ObjectPlacement=ObjectPlacement;_this2447.Representation=Representation;_this2447.Tag=Tag;_this2447.PredefinedType=PredefinedType;_this2447.type=182646315;return _this2447;}return _createClass(IfcFlowInstrument);}(IfcDistributionControlElement);IFC4X32.IfcFlowInstrument=IfcFlowInstrument;var IfcGeomodel=/*#__PURE__*/function(_IfcGeotechnicalAssem2){_inherits(IfcGeomodel,_IfcGeotechnicalAssem2);var _super2445=_createSuper(IfcGeomodel);function IfcGeomodel(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag){var _this2448;_classCallCheck(this,IfcGeomodel);_this2448=_super2445.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag);_this2448.GlobalId=GlobalId;_this2448.OwnerHistory=OwnerHistory;_this2448.Name=Name;_this2448.Description=Description;_this2448.ObjectType=ObjectType;_this2448.ObjectPlacement=ObjectPlacement;_this2448.Representation=Representation;_this2448.Tag=Tag;_this2448.type=2680139844;return _this2448;}return _createClass(IfcGeomodel);}(IfcGeotechnicalAssembly);IFC4X32.IfcGeomodel=IfcGeomodel;var IfcGeoslice=/*#__PURE__*/function(_IfcGeotechnicalAssem3){_inherits(IfcGeoslice,_IfcGeotechnicalAssem3);var _super2446=_createSuper(IfcGeoslice);function IfcGeoslice(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag){var _this2449;_classCallCheck(this,IfcGeoslice);_this2449=_super2446.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag);_this2449.GlobalId=GlobalId;_this2449.OwnerHistory=OwnerHistory;_this2449.Name=Name;_this2449.Description=Description;_this2449.ObjectType=ObjectType;_this2449.ObjectPlacement=ObjectPlacement;_this2449.Representation=Representation;_this2449.Tag=Tag;_this2449.type=1971632696;return _this2449;}return _createClass(IfcGeoslice);}(IfcGeotechnicalAssembly);IFC4X32.IfcGeoslice=IfcGeoslice;var IfcProtectiveDeviceTrippingUnit=/*#__PURE__*/function(_IfcDistributionContr28){_inherits(IfcProtectiveDeviceTrippingUnit,_IfcDistributionContr28);var _super2447=_createSuper(IfcProtectiveDeviceTrippingUnit);function IfcProtectiveDeviceTrippingUnit(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag,PredefinedType){var _this2450;_classCallCheck(this,IfcProtectiveDeviceTrippingUnit);_this2450=_super2447.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag);_this2450.GlobalId=GlobalId;_this2450.OwnerHistory=OwnerHistory;_this2450.Name=Name;_this2450.Description=Description;_this2450.ObjectType=ObjectType;_this2450.ObjectPlacement=ObjectPlacement;_this2450.Representation=Representation;_this2450.Tag=Tag;_this2450.PredefinedType=PredefinedType;_this2450.type=2295281155;return _this2450;}return _createClass(IfcProtectiveDeviceTrippingUnit);}(IfcDistributionControlElement);IFC4X32.IfcProtectiveDeviceTrippingUnit=IfcProtectiveDeviceTrippingUnit;var IfcSensor=/*#__PURE__*/function(_IfcDistributionContr29){_inherits(IfcSensor,_IfcDistributionContr29);var _super2448=_createSuper(IfcSensor);function IfcSensor(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag,PredefinedType){var _this2451;_classCallCheck(this,IfcSensor);_this2451=_super2448.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag);_this2451.GlobalId=GlobalId;_this2451.OwnerHistory=OwnerHistory;_this2451.Name=Name;_this2451.Description=Description;_this2451.ObjectType=ObjectType;_this2451.ObjectPlacement=ObjectPlacement;_this2451.Representation=Representation;_this2451.Tag=Tag;_this2451.PredefinedType=PredefinedType;_this2451.type=4086658281;return _this2451;}return _createClass(IfcSensor);}(IfcDistributionControlElement);IFC4X32.IfcSensor=IfcSensor;var IfcUnitaryControlElement=/*#__PURE__*/function(_IfcDistributionContr30){_inherits(IfcUnitaryControlElement,_IfcDistributionContr30);var _super2449=_createSuper(IfcUnitaryControlElement);function IfcUnitaryControlElement(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag,PredefinedType){var _this2452;_classCallCheck(this,IfcUnitaryControlElement);_this2452=_super2449.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag);_this2452.GlobalId=GlobalId;_this2452.OwnerHistory=OwnerHistory;_this2452.Name=Name;_this2452.Description=Description;_this2452.ObjectType=ObjectType;_this2452.ObjectPlacement=ObjectPlacement;_this2452.Representation=Representation;_this2452.Tag=Tag;_this2452.PredefinedType=PredefinedType;_this2452.type=630975310;return _this2452;}return _createClass(IfcUnitaryControlElement);}(IfcDistributionControlElement);IFC4X32.IfcUnitaryControlElement=IfcUnitaryControlElement;var IfcActuator=/*#__PURE__*/function(_IfcDistributionContr31){_inherits(IfcActuator,_IfcDistributionContr31);var _super2450=_createSuper(IfcActuator);function IfcActuator(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag,PredefinedType){var _this2453;_classCallCheck(this,IfcActuator);_this2453=_super2450.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag);_this2453.GlobalId=GlobalId;_this2453.OwnerHistory=OwnerHistory;_this2453.Name=Name;_this2453.Description=Description;_this2453.ObjectType=ObjectType;_this2453.ObjectPlacement=ObjectPlacement;_this2453.Representation=Representation;_this2453.Tag=Tag;_this2453.PredefinedType=PredefinedType;_this2453.type=4288193352;return _this2453;}return _createClass(IfcActuator);}(IfcDistributionControlElement);IFC4X32.IfcActuator=IfcActuator;var IfcAlarm=/*#__PURE__*/function(_IfcDistributionContr32){_inherits(IfcAlarm,_IfcDistributionContr32);var _super2451=_createSuper(IfcAlarm);function IfcAlarm(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag,PredefinedType){var _this2454;_classCallCheck(this,IfcAlarm);_this2454=_super2451.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag);_this2454.GlobalId=GlobalId;_this2454.OwnerHistory=OwnerHistory;_this2454.Name=Name;_this2454.Description=Description;_this2454.ObjectType=ObjectType;_this2454.ObjectPlacement=ObjectPlacement;_this2454.Representation=Representation;_this2454.Tag=Tag;_this2454.PredefinedType=PredefinedType;_this2454.type=3087945054;return _this2454;}return _createClass(IfcAlarm);}(IfcDistributionControlElement);IFC4X32.IfcAlarm=IfcAlarm;var IfcController=/*#__PURE__*/function(_IfcDistributionContr33){_inherits(IfcController,_IfcDistributionContr33);var _super2452=_createSuper(IfcController);function IfcController(expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag,PredefinedType){var _this2455;_classCallCheck(this,IfcController);_this2455=_super2452.call(this,expressID,GlobalId,OwnerHistory,Name,Description,ObjectType,ObjectPlacement,Representation,Tag);_this2455.GlobalId=GlobalId;_this2455.OwnerHistory=OwnerHistory;_this2455.Name=Name;_this2455.Description=Description;_this2455.ObjectType=ObjectType;_this2455.ObjectPlacement=ObjectPlacement;_this2455.Representation=Representation;_this2455.Tag=Tag;_this2455.PredefinedType=PredefinedType;_this2455.type=25142252;return _this2455;}return _createClass(IfcController);}(IfcDistributionControlElement);IFC4X32.IfcController=IfcController;})(IFC4X3||(IFC4X3={}));// dist/helpers/properties.ts -var PropsNames={aggregates:{name:IFCRELAGGREGATES,relating:"RelatingObject",related:"RelatedObjects",key:"children"},spatial:{name:IFCRELCONTAINEDINSPATIALSTRUCTURE,relating:"RelatingStructure",related:"RelatedElements",key:"children"},psets:{name:IFCRELDEFINESBYPROPERTIES,relating:"RelatingPropertyDefinition",related:"RelatedObjects",key:"IsDefinedBy"},materials:{name:IFCRELASSOCIATESMATERIAL,relating:"RelatingMaterial",related:"RelatedObjects",key:"HasAssociations"},type:{name:IFCRELDEFINESBYTYPE,relating:"RelatingType",related:"RelatedObjects",key:"IsDefinedBy"}};var Properties=/*#__PURE__*/function(){function Properties(api){_classCallCheck(this,Properties);this.api=api;}_createClass(Properties,[{key:"getItemProperties",value:function getItemProperties(modelID,id){var recursive=arguments.length>2&&arguments[2]!==undefined?arguments[2]:false;var inverse=arguments.length>3&&arguments[3]!==undefined?arguments[3]:false;return __async(this,null,/*#__PURE__*/_regeneratorRuntime().mark(function _callee7(){return _regeneratorRuntime().wrap(function _callee7$(_context11){while(1){switch(_context11.prev=_context11.next){case 0:return _context11.abrupt("return",this.api.GetLine(modelID,id,recursive,inverse));case 1:case"end":return _context11.stop();}}},_callee7,this);}));}},{key:"getPropertySets",value:function getPropertySets(modelID){var elementID=arguments.length>1&&arguments[1]!==undefined?arguments[1]:0;var recursive=arguments.length>2&&arguments[2]!==undefined?arguments[2]:false;return __async(this,null,/*#__PURE__*/_regeneratorRuntime().mark(function _callee8(){return _regeneratorRuntime().wrap(function _callee8$(_context12){while(1){switch(_context12.prev=_context12.next){case 0:_context12.next=2;return this.getRelatedProperties(modelID,elementID,PropsNames.psets,recursive);case 2:return _context12.abrupt("return",_context12.sent);case 3:case"end":return _context12.stop();}}},_callee8,this);}));}},{key:"setPropertySets",value:function setPropertySets(modelID,elementID,psetID){return __async(this,null,/*#__PURE__*/_regeneratorRuntime().mark(function _callee9(){return _regeneratorRuntime().wrap(function _callee9$(_context13){while(1){switch(_context13.prev=_context13.next){case 0:return _context13.abrupt("return",this.setItemProperties(modelID,elementID,psetID,PropsNames.psets));case 1:case"end":return _context13.stop();}}},_callee9,this);}));}},{key:"getTypeProperties",value:function getTypeProperties(modelID){var elementID=arguments.length>1&&arguments[1]!==undefined?arguments[1]:0;var recursive=arguments.length>2&&arguments[2]!==undefined?arguments[2]:false;return __async(this,null,/*#__PURE__*/_regeneratorRuntime().mark(function _callee10(){return _regeneratorRuntime().wrap(function _callee10$(_context14){while(1){switch(_context14.prev=_context14.next){case 0:if(!(this.api.GetModelSchema(modelID)=="IFC2X3")){_context14.next=6;break;}_context14.next=3;return this.getRelatedProperties(modelID,elementID,PropsNames.type,recursive);case 3:return _context14.abrupt("return",_context14.sent);case 6:_context14.next=8;return this.getRelatedProperties(modelID,elementID,__spreadProps(__spreadValues({},PropsNames.type),{key:"IsTypedBy"}),recursive);case 8:return _context14.abrupt("return",_context14.sent);case 9:case"end":return _context14.stop();}}},_callee10,this);}));}},{key:"getMaterialsProperties",value:function getMaterialsProperties(modelID){var elementID=arguments.length>1&&arguments[1]!==undefined?arguments[1]:0;var recursive=arguments.length>2&&arguments[2]!==undefined?arguments[2]:false;return __async(this,null,/*#__PURE__*/_regeneratorRuntime().mark(function _callee11(){return _regeneratorRuntime().wrap(function _callee11$(_context15){while(1){switch(_context15.prev=_context15.next){case 0:_context15.next=2;return this.getRelatedProperties(modelID,elementID,PropsNames.materials,recursive);case 2:return _context15.abrupt("return",_context15.sent);case 3:case"end":return _context15.stop();}}},_callee11,this);}));}},{key:"setMaterialsProperties",value:function setMaterialsProperties(modelID,elementID,materialID){return __async(this,null,/*#__PURE__*/_regeneratorRuntime().mark(function _callee12(){return _regeneratorRuntime().wrap(function _callee12$(_context16){while(1){switch(_context16.prev=_context16.next){case 0:return _context16.abrupt("return",this.setItemProperties(modelID,elementID,materialID,PropsNames.materials));case 1:case"end":return _context16.stop();}}},_callee12,this);}));}},{key:"getSpatialStructure",value:function getSpatialStructure(modelID){var includeProperties=arguments.length>1&&arguments[1]!==undefined?arguments[1]:false;return __async(this,null,/*#__PURE__*/_regeneratorRuntime().mark(function _callee13(){var chunks,allLines,projectID,project;return _regeneratorRuntime().wrap(function _callee13$(_context17){while(1){switch(_context17.prev=_context17.next){case 0:_context17.next=2;return this.getSpatialTreeChunks(modelID);case 2:chunks=_context17.sent;_context17.next=5;return this.api.GetLineIDsWithType(modelID,IFCPROJECT);case 5:allLines=_context17.sent;projectID=allLines.get(0);project=Properties.newIfcProject(projectID);_context17.next=10;return this.getSpatialNode(modelID,project,chunks,includeProperties);case 10:return _context17.abrupt("return",project);case 11:case"end":return _context17.stop();}}},_callee13,this);}));}},{key:"getRelatedProperties",value:function getRelatedProperties(modelID,elementID,propsName){var recursive=arguments.length>3&&arguments[3]!==undefined?arguments[3]:false;return __async(this,null,/*#__PURE__*/_regeneratorRuntime().mark(function _callee14(){var result,rels,vec,_i532,_i533,propSetIds,x;return _regeneratorRuntime().wrap(function _callee14$(_context18){while(1){switch(_context18.prev=_context18.next){case 0:result=[];rels=null;if(!(elementID!==0)){_context18.next=8;break;}_context18.next=5;return this.api.GetLine(modelID,elementID,false,true)[propsName.key];case 5:rels=_context18.sent;_context18.next=11;break;case 8:vec=this.api.GetLineIDsWithType(modelID,propsName.name);rels=[];for(_i532=0;_i5321?_len116-1:0),_key13=1;_key13<_len116;_key13++){args[_key13-1]=arguments[_key13];}(_console7=console).log.apply(_console7,[msg].concat(args));}}},{key:"debug",value:function debug(msg){if(this.logLevel<=0){var _console8;for(var _len117=arguments.length,args=new Array(_len117>1?_len117-1:0),_key14=1;_key14<_len117;_key14++){args[_key14-1]=arguments[_key14];}(_console8=console).trace.apply(_console8,["DEBUG: ",msg].concat(args));}}},{key:"info",value:function info(msg){if(this.logLevel<=1){var _console9;for(var _len118=arguments.length,args=new Array(_len118>1?_len118-1:0),_key15=1;_key15<_len118;_key15++){args[_key15-1]=arguments[_key15];}(_console9=console).info.apply(_console9,["INFO: ",msg].concat(args));}}},{key:"warn",value:function warn(msg){if(this.logLevel<=2){var _console10;for(var _len119=arguments.length,args=new Array(_len119>1?_len119-1:0),_key16=1;_key16<_len119;_key16++){args[_key16-1]=arguments[_key16];}(_console10=console).warn.apply(_console10,["WARN: ",msg].concat(args));}}},{key:"error",value:function error(msg){if(this.logLevel<=3){var _console11;for(var _len120=arguments.length,args=new Array(_len120>1?_len120-1:0),_key17=1;_key17<_len120;_key17++){args[_key17-1]=arguments[_key17];}(_console11=console).error.apply(_console11,["ERROR: ",msg].concat(args));}}}]);return Log;}();Log.logLevel=1;var WebIFCWasm;if(typeof self!=="undefined"&&self.crossOriginIsolated){try{WebIFCWasm=require_web_ifc_mt();}catch(ex){WebIFCWasm=require_web_ifc();}}else WebIFCWasm=require_web_ifc();var STRING=1;var IfcAPI2=/*#__PURE__*/function(){function IfcAPI2(){_classCallCheck(this,IfcAPI2);this.wasmModule=void 0;this.wasmPath="";this.isWasmPathAbsolute=false;this.modelSchemaList=[];this.ifcGuidMap=new Map();this.properties=new Properties(this);}_createClass(IfcAPI2,[{key:"Init",value:function Init(customLocateFileHandler){return __async(this,null,/*#__PURE__*/_regeneratorRuntime().mark(function _callee20(){var _this2457=this;var locateFileHandler;return _regeneratorRuntime().wrap(function _callee20$(_context24){while(1){switch(_context24.prev=_context24.next){case 0:if(!WebIFCWasm){_context24.next=7;break;}locateFileHandler=function locateFileHandler(path,prefix){if(path.endsWith(".wasm")){if(_this2457.isWasmPathAbsolute){return _this2457.wasmPath+path;}return prefix+_this2457.wasmPath+path;}return prefix+path;};_context24.next=4;return WebIFCWasm({noInitialRun:true,locateFile:customLocateFileHandler||locateFileHandler});case 4:this.wasmModule=_context24.sent;_context24.next=8;break;case 7:Log.error("Could not find wasm module at './web-ifc' from web-ifc-api.ts");case 8:case"end":return _context24.stop();}}},_callee20,this);}));}},{key:"OpenModels",value:function OpenModels(dataSets,settings){var s=__spreadValues({MEMORY_LIMIT:3221225472},settings);s.MEMORY_LIMIT=s.MEMORY_LIMIT/dataSets.length;var modelIDs=[];var _iterator45=_createForOfIteratorHelper(dataSets),_step45;try{for(_iterator45.s();!(_step45=_iterator45.n()).done;){var dataSet=_step45.value;modelIDs.push(this.OpenModel(dataSet,s));}}catch(err){_iterator45.e(err);}finally{_iterator45.f();}return modelIDs;}},{key:"CreateSettings",value:function CreateSettings(settings){var s=__spreadValues({COORDINATE_TO_ORIGIN:false,CIRCLE_SEGMENTS:12,TAPE_SIZE:67108864,MEMORY_LIMIT:3221225472},settings);var deprecated=["USE_FAST_BOOLS","CIRCLE_SEGMENTS_LOW","CIRCLE_SEGMENTS_MEDIUM","CIRCLE_SEGMENTS_HIGH"];for(var d in deprecated){if(d in s){Log.info("Use of deprecated settings "+d+" detected");}}return s;}},{key:"OpenModel",value:function OpenModel(data,settings){var _this2458=this;var s=this.CreateSettings(settings);var result=this.wasmModule.OpenModel(s,function(destPtr,offsetInSrc,destSize){var srcSize=Math.min(data.byteLength-offsetInSrc,destSize);var dest=_this2458.wasmModule.HEAPU8.subarray(destPtr,destPtr+srcSize);var src=data.subarray(offsetInSrc,offsetInSrc+srcSize);dest.set(src);return srcSize;});var schemaName=this.GetHeaderLine(result,FILE_SCHEMA).arguments[0][0].value;this.modelSchemaList[result]=SchemaNames.indexOf(schemaName);if(this.modelSchemaList[result]==-1){Log.error("Unsupported Schema:"+schemaName);this.CloseModel(result);return-1;}Log.info("Parsing Model using "+schemaName+" Schema");return result;}},{key:"GetModelSchema",value:function GetModelSchema(modelID){return SchemaNames[this.modelSchemaList[modelID]];}},{key:"CreateModel",value:function CreateModel(model,settings){var _a,_b,_c;var s=this.CreateSettings(settings);var result=this.wasmModule.CreateModel(s);this.modelSchemaList[result]=SchemaNames.indexOf(model.schema);var modelName=model.name||"web-ifc-model-"+result+".ifc";var timestamp=new Date().toISOString().slice(0,19);var description=((_a=model.description)==null?void 0:_a.map(function(d){return{type:STRING,value:d};}))||[{type:STRING,value:"ViewDefinition [CoordinationView]"}];var authors=((_b=model.authors)==null?void 0:_b.map(function(a){return{type:STRING,value:a};}))||[null];var orgs=((_c=model.organizations)==null?void 0:_c.map(function(o){return{type:STRING,value:o};}))||[null];var auth=model.authorization?{type:STRING,value:model.authorization}:null;this.wasmModule.WriteHeaderLine(result,FILE_DESCRIPTION,[description,{type:STRING,value:"2;1"}]);this.wasmModule.WriteHeaderLine(result,FILE_NAME,[{type:STRING,value:modelName},{type:STRING,value:timestamp},authors,orgs,{type:STRING,value:"ifcjs/web-ifc-api"},{type:STRING,value:"ifcjs/web-ifc-api"},auth]);this.wasmModule.WriteHeaderLine(result,FILE_SCHEMA,[[{type:STRING,value:model.schema}]]);return result;}},{key:"SaveModel",value:function SaveModel(modelID){var _this2459=this;var modelSize=this.wasmModule.GetModelSize(modelID);var headerBytes=512;var dataBuffer=new Uint8Array(modelSize+headerBytes);var size=0;this.wasmModule.SaveModel(modelID,function(srcPtr,srcSize){var src=_this2459.wasmModule.HEAPU8.subarray(srcPtr,srcPtr+srcSize);size=srcSize;dataBuffer.set(src,0);});var newBuffer=new Uint8Array(size);newBuffer.set(dataBuffer.subarray(0,size),0);return newBuffer;}},{key:"ExportFileAsIFC",value:function ExportFileAsIFC(modelID){Log.warn("ExportFileAsIFC is deprecated, use SaveModel instead");return this.SaveModel(modelID);}},{key:"GetGeometry",value:function GetGeometry(modelID,geometryExpressID){return this.wasmModule.GetGeometry(modelID,geometryExpressID);}},{key:"GetHeaderLine",value:function GetHeaderLine(modelID,headerType){return this.wasmModule.GetHeaderLine(modelID,headerType);}},{key:"GetAllTypesOfModel",value:function GetAllTypesOfModel(modelID){var typesNames=[];var elements=Object.keys(FromRawLineData[this.modelSchemaList[modelID]]).map(function(e){return parseInt(e);});for(var _i538=0;_i5380)typesNames.push({typeID:elements[_i538],typeName:this.wasmModule.GetNameFromTypeCode(elements[_i538])});}return typesNames;}},{key:"GetLine",value:function GetLine(modelID,expressID){var flatten=arguments.length>2&&arguments[2]!==undefined?arguments[2]:false;var inverse=arguments.length>3&&arguments[3]!==undefined?arguments[3]:false;var expressCheck=this.wasmModule.ValidateExpressID(modelID,expressID);if(!expressCheck){return;}var rawLineData=this.GetRawLineData(modelID,expressID);var lineData=FromRawLineData[this.modelSchemaList[modelID]][rawLineData.type](rawLineData.ID,rawLineData.arguments);if(flatten){this.FlattenLine(modelID,lineData);}var inverseData=InversePropertyDef[this.modelSchemaList[modelID]][rawLineData.type];if(inverse&&inverseData!=null){var _iterator46=_createForOfIteratorHelper(inverseData),_step46;try{for(_iterator46.s();!(_step46=_iterator46.n()).done;){var inverseProp=_step46.value;if(!inverseProp[3])lineData[inverseProp[0]]=null;else lineData[inverseProp[0]]=[];var targetTypes=[inverseProp[1]];if(typeof InheritanceDef[this.modelSchemaList[modelID]][inverseProp[1]]!="undefined"){targetTypes=targetTypes.concat(InheritanceDef[this.modelSchemaList[modelID]][inverseProp[1]]);}var inverseIDs=this.wasmModule.GetInversePropertyForItem(modelID,expressID,targetTypes,inverseProp[2],inverseProp[3]);if(!inverseProp[3]&&inverseIDs.size()>0){if(!flatten)lineData[inverseProp[0]]={type:5,value:inverseIDs.get(0)};else lineData[inverseProp[0]]=this.GetLine(modelID,inverseIDs.get(0));}else{for(var x=0;x2?_len121-2:0),_key18=2;_key18<_len121;_key18++){args[_key18-2]=arguments[_key18];}return Constructors[this.modelSchemaList[modelID]][type](-1,args);}},{key:"CreateIfcType",value:function CreateIfcType(modelID,type,value){return TypeInitialisers[this.modelSchemaList[modelID]][type](value);}},{key:"GetNameFromTypeCode",value:function GetNameFromTypeCode(type){return this.wasmModule.GetNameFromTypeCode(type);}},{key:"GetTypeCodeFromName",value:function GetTypeCodeFromName(typeName){return this.wasmModule.GetTypeCodeFromName(typeName);}},{key:"IsIfcElement",value:function IsIfcElement(type){return this.wasmModule.IsIfcElement(type);}},{key:"GetIfcEntityList",value:function GetIfcEntityList(modelID){return Object.keys(FromRawLineData[this.modelSchemaList[modelID]]).map(function(x){return parseInt(x);});}},{key:"WriteLine",value:function WriteLine(modelID,lineObject){var property;for(property in lineObject){var lineProperty=lineObject[property];if(lineProperty&&lineProperty.expressID!==void 0){this.WriteLine(modelID,lineProperty);lineObject[property]=new Handle(lineProperty.expressID);}else if(Array.isArray(lineProperty)&&lineProperty.length>0){for(var _i539=0;_i5390&&property[0].type===5){for(var _i540=0;_i5402&&arguments[2]!==undefined?arguments[2]:false;var types=[];types.push(type);if(includeInherited&&typeof InheritanceDef[this.modelSchemaList[modelID]][type]!="undefined"){types=types.concat(InheritanceDef[this.modelSchemaList[modelID]][type]);}return this.wasmModule.GetLineIDsWithType(modelID,types);}},{key:"GetAllLines",value:function GetAllLines(modelID){return this.wasmModule.GetAllLines(modelID);}},{key:"GetAllAlignments",value:function GetAllAlignments(modelID){var alignments=this.wasmModule.GetAllAlignments(modelID);var alignmentList=[];for(var _i541=0;_i5411&&arguments[1]!==undefined?arguments[1]:false;this.wasmPath=path;this.isWasmPathAbsolute=absolute;}},{key:"SetLogLevel",value:function SetLogLevel(level){Log.setLogLevel(level);this.wasmModule.SetLogLevel(level);}}]);return IfcAPI2;}();/** +var PropsNames={aggregates:{name:IFCRELAGGREGATES,relating:"RelatingObject",related:"RelatedObjects",key:"children"},spatial:{name:IFCRELCONTAINEDINSPATIALSTRUCTURE,relating:"RelatingStructure",related:"RelatedElements",key:"children"},psets:{name:IFCRELDEFINESBYPROPERTIES,relating:"RelatingPropertyDefinition",related:"RelatedObjects",key:"IsDefinedBy"},materials:{name:IFCRELASSOCIATESMATERIAL,relating:"RelatingMaterial",related:"RelatedObjects",key:"HasAssociations"},type:{name:IFCRELDEFINESBYTYPE,relating:"RelatingType",related:"RelatedObjects",key:"IsDefinedBy"}};var Properties=/*#__PURE__*/function(){function Properties(api){_classCallCheck(this,Properties);this.api=api;}_createClass(Properties,[{key:"getItemProperties",value:function getItemProperties(modelID,id){var recursive=arguments.length>2&&arguments[2]!==undefined?arguments[2]:false;var inverse=arguments.length>3&&arguments[3]!==undefined?arguments[3]:false;return __async(this,null,/*#__PURE__*/_regeneratorRuntime().mark(function _callee7(){return _regeneratorRuntime().wrap(function _callee7$(_context11){while(1){switch(_context11.prev=_context11.next){case 0:return _context11.abrupt("return",this.api.GetLine(modelID,id,recursive,inverse));case 1:case"end":return _context11.stop();}}},_callee7,this);}));}},{key:"getPropertySets",value:function getPropertySets(modelID){var elementID=arguments.length>1&&arguments[1]!==undefined?arguments[1]:0;var recursive=arguments.length>2&&arguments[2]!==undefined?arguments[2]:false;return __async(this,null,/*#__PURE__*/_regeneratorRuntime().mark(function _callee8(){return _regeneratorRuntime().wrap(function _callee8$(_context12){while(1){switch(_context12.prev=_context12.next){case 0:_context12.next=2;return this.getRelatedProperties(modelID,elementID,PropsNames.psets,recursive);case 2:return _context12.abrupt("return",_context12.sent);case 3:case"end":return _context12.stop();}}},_callee8,this);}));}},{key:"setPropertySets",value:function setPropertySets(modelID,elementID,psetID){return __async(this,null,/*#__PURE__*/_regeneratorRuntime().mark(function _callee9(){return _regeneratorRuntime().wrap(function _callee9$(_context13){while(1){switch(_context13.prev=_context13.next){case 0:return _context13.abrupt("return",this.setItemProperties(modelID,elementID,psetID,PropsNames.psets));case 1:case"end":return _context13.stop();}}},_callee9,this);}));}},{key:"getTypeProperties",value:function getTypeProperties(modelID){var elementID=arguments.length>1&&arguments[1]!==undefined?arguments[1]:0;var recursive=arguments.length>2&&arguments[2]!==undefined?arguments[2]:false;return __async(this,null,/*#__PURE__*/_regeneratorRuntime().mark(function _callee10(){return _regeneratorRuntime().wrap(function _callee10$(_context14){while(1){switch(_context14.prev=_context14.next){case 0:if(!(this.api.GetModelSchema(modelID)=="IFC2X3")){_context14.next=6;break;}_context14.next=3;return this.getRelatedProperties(modelID,elementID,PropsNames.type,recursive);case 3:return _context14.abrupt("return",_context14.sent);case 6:_context14.next=8;return this.getRelatedProperties(modelID,elementID,__spreadProps(__spreadValues({},PropsNames.type),{key:"IsTypedBy"}),recursive);case 8:return _context14.abrupt("return",_context14.sent);case 9:case"end":return _context14.stop();}}},_callee10,this);}));}},{key:"getMaterialsProperties",value:function getMaterialsProperties(modelID){var elementID=arguments.length>1&&arguments[1]!==undefined?arguments[1]:0;var recursive=arguments.length>2&&arguments[2]!==undefined?arguments[2]:false;return __async(this,null,/*#__PURE__*/_regeneratorRuntime().mark(function _callee11(){return _regeneratorRuntime().wrap(function _callee11$(_context15){while(1){switch(_context15.prev=_context15.next){case 0:_context15.next=2;return this.getRelatedProperties(modelID,elementID,PropsNames.materials,recursive);case 2:return _context15.abrupt("return",_context15.sent);case 3:case"end":return _context15.stop();}}},_callee11,this);}));}},{key:"setMaterialsProperties",value:function setMaterialsProperties(modelID,elementID,materialID){return __async(this,null,/*#__PURE__*/_regeneratorRuntime().mark(function _callee12(){return _regeneratorRuntime().wrap(function _callee12$(_context16){while(1){switch(_context16.prev=_context16.next){case 0:return _context16.abrupt("return",this.setItemProperties(modelID,elementID,materialID,PropsNames.materials));case 1:case"end":return _context16.stop();}}},_callee12,this);}));}},{key:"getSpatialStructure",value:function getSpatialStructure(modelID){var includeProperties=arguments.length>1&&arguments[1]!==undefined?arguments[1]:false;return __async(this,null,/*#__PURE__*/_regeneratorRuntime().mark(function _callee13(){var chunks,allLines,projectID,project;return _regeneratorRuntime().wrap(function _callee13$(_context17){while(1){switch(_context17.prev=_context17.next){case 0:_context17.next=2;return this.getSpatialTreeChunks(modelID);case 2:chunks=_context17.sent;_context17.next=5;return this.api.GetLineIDsWithType(modelID,IFCPROJECT);case 5:allLines=_context17.sent;projectID=allLines.get(0);project=Properties.newIfcProject(projectID);_context17.next=10;return this.getSpatialNode(modelID,project,chunks,includeProperties);case 10:return _context17.abrupt("return",project);case 11:case"end":return _context17.stop();}}},_callee13,this);}));}},{key:"getRelatedProperties",value:function getRelatedProperties(modelID,elementID,propsName){var recursive=arguments.length>3&&arguments[3]!==undefined?arguments[3]:false;return __async(this,null,/*#__PURE__*/_regeneratorRuntime().mark(function _callee14(){var result,rels,vec,_i539,_i540,propSetIds,x;return _regeneratorRuntime().wrap(function _callee14$(_context18){while(1){switch(_context18.prev=_context18.next){case 0:result=[];rels=null;if(!(elementID!==0)){_context18.next=8;break;}_context18.next=5;return this.api.GetLine(modelID,elementID,false,true)[propsName.key];case 5:rels=_context18.sent;_context18.next=11;break;case 8:vec=this.api.GetLineIDsWithType(modelID,propsName.name);rels=[];for(_i539=0;_i5391?_len116-1:0),_key13=1;_key13<_len116;_key13++){args[_key13-1]=arguments[_key13];}(_console7=console).log.apply(_console7,[msg].concat(args));}}},{key:"debug",value:function debug(msg){if(this.logLevel<=0){var _console8;for(var _len117=arguments.length,args=new Array(_len117>1?_len117-1:0),_key14=1;_key14<_len117;_key14++){args[_key14-1]=arguments[_key14];}(_console8=console).trace.apply(_console8,["DEBUG: ",msg].concat(args));}}},{key:"info",value:function info(msg){if(this.logLevel<=1){var _console9;for(var _len118=arguments.length,args=new Array(_len118>1?_len118-1:0),_key15=1;_key15<_len118;_key15++){args[_key15-1]=arguments[_key15];}(_console9=console).info.apply(_console9,["INFO: ",msg].concat(args));}}},{key:"warn",value:function warn(msg){if(this.logLevel<=2){var _console10;for(var _len119=arguments.length,args=new Array(_len119>1?_len119-1:0),_key16=1;_key16<_len119;_key16++){args[_key16-1]=arguments[_key16];}(_console10=console).warn.apply(_console10,["WARN: ",msg].concat(args));}}},{key:"error",value:function error(msg){if(this.logLevel<=3){var _console11;for(var _len120=arguments.length,args=new Array(_len120>1?_len120-1:0),_key17=1;_key17<_len120;_key17++){args[_key17-1]=arguments[_key17];}(_console11=console).error.apply(_console11,["ERROR: ",msg].concat(args));}}}]);return Log;}();Log.logLevel=1;var WebIFCWasm;if(typeof self!=="undefined"&&self.crossOriginIsolated){try{WebIFCWasm=require_web_ifc_mt();}catch(ex){WebIFCWasm=require_web_ifc();}}else WebIFCWasm=require_web_ifc();var STRING=1;var IfcAPI2=/*#__PURE__*/function(){function IfcAPI2(){_classCallCheck(this,IfcAPI2);this.wasmModule=void 0;this.wasmPath="";this.isWasmPathAbsolute=false;this.modelSchemaList=[];this.ifcGuidMap=new Map();this.properties=new Properties(this);}_createClass(IfcAPI2,[{key:"Init",value:function Init(customLocateFileHandler){return __async(this,null,/*#__PURE__*/_regeneratorRuntime().mark(function _callee20(){var _this2457=this;var locateFileHandler;return _regeneratorRuntime().wrap(function _callee20$(_context24){while(1){switch(_context24.prev=_context24.next){case 0:if(!WebIFCWasm){_context24.next=7;break;}locateFileHandler=function locateFileHandler(path,prefix){if(path.endsWith(".wasm")){if(_this2457.isWasmPathAbsolute){return _this2457.wasmPath+path;}return prefix+_this2457.wasmPath+path;}return prefix+path;};_context24.next=4;return WebIFCWasm({noInitialRun:true,locateFile:customLocateFileHandler||locateFileHandler});case 4:this.wasmModule=_context24.sent;_context24.next=8;break;case 7:Log.error("Could not find wasm module at './web-ifc' from web-ifc-api.ts");case 8:case"end":return _context24.stop();}}},_callee20,this);}));}},{key:"OpenModels",value:function OpenModels(dataSets,settings){var s=__spreadValues({MEMORY_LIMIT:3221225472},settings);s.MEMORY_LIMIT=s.MEMORY_LIMIT/dataSets.length;var modelIDs=[];var _iterator45=_createForOfIteratorHelper(dataSets),_step45;try{for(_iterator45.s();!(_step45=_iterator45.n()).done;){var dataSet=_step45.value;modelIDs.push(this.OpenModel(dataSet,s));}}catch(err){_iterator45.e(err);}finally{_iterator45.f();}return modelIDs;}},{key:"CreateSettings",value:function CreateSettings(settings){var s=__spreadValues({COORDINATE_TO_ORIGIN:false,CIRCLE_SEGMENTS:12,TAPE_SIZE:67108864,MEMORY_LIMIT:3221225472},settings);var deprecated=["USE_FAST_BOOLS","CIRCLE_SEGMENTS_LOW","CIRCLE_SEGMENTS_MEDIUM","CIRCLE_SEGMENTS_HIGH"];for(var d in deprecated){if(d in s){Log.info("Use of deprecated settings "+d+" detected");}}return s;}},{key:"OpenModel",value:function OpenModel(data,settings){var _this2458=this;var s=this.CreateSettings(settings);var result=this.wasmModule.OpenModel(s,function(destPtr,offsetInSrc,destSize){var srcSize=Math.min(data.byteLength-offsetInSrc,destSize);var dest=_this2458.wasmModule.HEAPU8.subarray(destPtr,destPtr+srcSize);var src=data.subarray(offsetInSrc,offsetInSrc+srcSize);dest.set(src);return srcSize;});var schemaName=this.GetHeaderLine(result,FILE_SCHEMA).arguments[0][0].value;this.modelSchemaList[result]=SchemaNames.indexOf(schemaName);if(this.modelSchemaList[result]==-1){Log.error("Unsupported Schema:"+schemaName);this.CloseModel(result);return-1;}Log.info("Parsing Model using "+schemaName+" Schema");return result;}},{key:"GetModelSchema",value:function GetModelSchema(modelID){return SchemaNames[this.modelSchemaList[modelID]];}},{key:"CreateModel",value:function CreateModel(model,settings){var _a,_b,_c;var s=this.CreateSettings(settings);var result=this.wasmModule.CreateModel(s);this.modelSchemaList[result]=SchemaNames.indexOf(model.schema);var modelName=model.name||"web-ifc-model-"+result+".ifc";var timestamp=new Date().toISOString().slice(0,19);var description=((_a=model.description)==null?void 0:_a.map(function(d){return{type:STRING,value:d};}))||[{type:STRING,value:"ViewDefinition [CoordinationView]"}];var authors=((_b=model.authors)==null?void 0:_b.map(function(a){return{type:STRING,value:a};}))||[null];var orgs=((_c=model.organizations)==null?void 0:_c.map(function(o){return{type:STRING,value:o};}))||[null];var auth=model.authorization?{type:STRING,value:model.authorization}:null;this.wasmModule.WriteHeaderLine(result,FILE_DESCRIPTION,[description,{type:STRING,value:"2;1"}]);this.wasmModule.WriteHeaderLine(result,FILE_NAME,[{type:STRING,value:modelName},{type:STRING,value:timestamp},authors,orgs,{type:STRING,value:"ifcjs/web-ifc-api"},{type:STRING,value:"ifcjs/web-ifc-api"},auth]);this.wasmModule.WriteHeaderLine(result,FILE_SCHEMA,[[{type:STRING,value:model.schema}]]);return result;}},{key:"SaveModel",value:function SaveModel(modelID){var _this2459=this;var modelSize=this.wasmModule.GetModelSize(modelID);var headerBytes=512;var dataBuffer=new Uint8Array(modelSize+headerBytes);var size=0;this.wasmModule.SaveModel(modelID,function(srcPtr,srcSize){var src=_this2459.wasmModule.HEAPU8.subarray(srcPtr,srcPtr+srcSize);size=srcSize;dataBuffer.set(src,0);});var newBuffer=new Uint8Array(size);newBuffer.set(dataBuffer.subarray(0,size),0);return newBuffer;}},{key:"ExportFileAsIFC",value:function ExportFileAsIFC(modelID){Log.warn("ExportFileAsIFC is deprecated, use SaveModel instead");return this.SaveModel(modelID);}},{key:"GetGeometry",value:function GetGeometry(modelID,geometryExpressID){return this.wasmModule.GetGeometry(modelID,geometryExpressID);}},{key:"GetHeaderLine",value:function GetHeaderLine(modelID,headerType){return this.wasmModule.GetHeaderLine(modelID,headerType);}},{key:"GetAllTypesOfModel",value:function GetAllTypesOfModel(modelID){var typesNames=[];var elements=Object.keys(FromRawLineData[this.modelSchemaList[modelID]]).map(function(e){return parseInt(e);});for(var _i545=0;_i5450)typesNames.push({typeID:elements[_i545],typeName:this.wasmModule.GetNameFromTypeCode(elements[_i545])});}return typesNames;}},{key:"GetLine",value:function GetLine(modelID,expressID){var flatten=arguments.length>2&&arguments[2]!==undefined?arguments[2]:false;var inverse=arguments.length>3&&arguments[3]!==undefined?arguments[3]:false;var expressCheck=this.wasmModule.ValidateExpressID(modelID,expressID);if(!expressCheck){return;}var rawLineData=this.GetRawLineData(modelID,expressID);var lineData=FromRawLineData[this.modelSchemaList[modelID]][rawLineData.type](rawLineData.ID,rawLineData.arguments);if(flatten){this.FlattenLine(modelID,lineData);}var inverseData=InversePropertyDef[this.modelSchemaList[modelID]][rawLineData.type];if(inverse&&inverseData!=null){var _iterator46=_createForOfIteratorHelper(inverseData),_step46;try{for(_iterator46.s();!(_step46=_iterator46.n()).done;){var inverseProp=_step46.value;if(!inverseProp[3])lineData[inverseProp[0]]=null;else lineData[inverseProp[0]]=[];var targetTypes=[inverseProp[1]];if(typeof InheritanceDef[this.modelSchemaList[modelID]][inverseProp[1]]!="undefined"){targetTypes=targetTypes.concat(InheritanceDef[this.modelSchemaList[modelID]][inverseProp[1]]);}var inverseIDs=this.wasmModule.GetInversePropertyForItem(modelID,expressID,targetTypes,inverseProp[2],inverseProp[3]);if(!inverseProp[3]&&inverseIDs.size()>0){if(!flatten)lineData[inverseProp[0]]={type:5,value:inverseIDs.get(0)};else lineData[inverseProp[0]]=this.GetLine(modelID,inverseIDs.get(0));}else{for(var x=0;x2?_len121-2:0),_key18=2;_key18<_len121;_key18++){args[_key18-2]=arguments[_key18];}return Constructors[this.modelSchemaList[modelID]][type](-1,args);}},{key:"CreateIfcType",value:function CreateIfcType(modelID,type,value){return TypeInitialisers[this.modelSchemaList[modelID]][type](value);}},{key:"GetNameFromTypeCode",value:function GetNameFromTypeCode(type){return this.wasmModule.GetNameFromTypeCode(type);}},{key:"GetTypeCodeFromName",value:function GetTypeCodeFromName(typeName){return this.wasmModule.GetTypeCodeFromName(typeName);}},{key:"IsIfcElement",value:function IsIfcElement(type){return this.wasmModule.IsIfcElement(type);}},{key:"GetIfcEntityList",value:function GetIfcEntityList(modelID){return Object.keys(FromRawLineData[this.modelSchemaList[modelID]]).map(function(x){return parseInt(x);});}},{key:"WriteLine",value:function WriteLine(modelID,lineObject){var property;for(property in lineObject){var lineProperty=lineObject[property];if(lineProperty&&lineProperty.expressID!==void 0){this.WriteLine(modelID,lineProperty);lineObject[property]=new Handle(lineProperty.expressID);}else if(Array.isArray(lineProperty)&&lineProperty.length>0){for(var _i546=0;_i5460&&property[0].type===5){for(var _i547=0;_i5472&&arguments[2]!==undefined?arguments[2]:false;var types=[];types.push(type);if(includeInherited&&typeof InheritanceDef[this.modelSchemaList[modelID]][type]!="undefined"){types=types.concat(InheritanceDef[this.modelSchemaList[modelID]][type]);}return this.wasmModule.GetLineIDsWithType(modelID,types);}},{key:"GetAllLines",value:function GetAllLines(modelID){return this.wasmModule.GetAllLines(modelID);}},{key:"GetAllAlignments",value:function GetAllAlignments(modelID){var alignments=this.wasmModule.GetAllAlignments(modelID);var alignmentList=[];for(var _i548=0;_i5481&&arguments[1]!==undefined?arguments[1]:false;this.wasmPath=path;this.isWasmPathAbsolute=absolute;}},{key:"SetLogLevel",value:function SetLogLevel(level){Log.setLogLevel(level);this.wasmModule.SetLogLevel(level);}}]);return IfcAPI2;}();/** * Default data access strategy for {@link WebIFCLoaderPlugin}. */var WebIFCDefaultDataSource=/*#__PURE__*/function(){function WebIFCDefaultDataSource(){_classCallCheck(this,WebIFCDefaultDataSource);}/** * Gets the contents of the given IFC file in an arraybuffer. @@ -27902,9 +27915,9 @@ var isBase64=!!dataUriRegexResult[2];var data=dataUriRegexResult[3];data=window. * primitives. Only works while {@link DTX#enabled} is also ````true````. * @returns {Entity} Entity representing the model, which will have {@link Entity#isModel} set ````true```` and will be registered by {@link Entity#id} in {@link Scene#models}. */},{key:"load",value:function load(){var _this2462=this;var params=arguments.length>0&&arguments[0]!==undefined?arguments[0]:{};if(params.id&&this.viewer.scene.components[params.id]){this.error("Component with this ID already exists in viewer: "+params.id+" - will autogenerate this ID");delete params.id;}var sceneModel=new SceneModel(this.viewer.scene,utils.apply(params,{isModel:true}));if(!params.src&&!params.ifc){this.error("load() param expected: src or IFC");return sceneModel;// Return new empty model -}var options={autoNormals:true};if(params.loadMetadata!==false){var includeTypes=params.includeTypes||this._includeTypes;var excludeTypes=params.excludeTypes||this._excludeTypes;var objectDefaults=params.objectDefaults||this._objectDefaults;if(includeTypes){options.includeTypesMap={};for(var _i542=0,len=includeTypes.length;_i5420){var propertySetType="Default";var propertySetName=relatingPropertyDefinition.Name.value;var properties=[];for(var _i548=0,len=props.length;_i5480){var propertySetType="Default";var propertySetName=relatingPropertyDefinition.Name.value;var properties=[];for(var _i555=0,len=props.length;_i5550&&arguments[0]!==undefined?arguments[0]:{};if(params.id&&this.viewer.scene.components[params.id]){this.error("Component with this ID already exists in viewer: "+params.id+" - will autogenerate this ID");delete params.id;}var sceneModel=new SceneModel(this.viewer.scene,utils.apply(params,{isModel:true}));if(!params.src&&!params.las){this.error("load() param expected: src or las");return sceneModel;// Return new empty model -}var options={las:{skip:this._skip,fp64:this._fp64,colorDepth:this._colorDepth}};if(params.src){this._loadModel(params.src,params,options,sceneModel);}else{var spinner=this.viewer.scene.canvas.spinner;spinner.processes++;this._parseModel(params.las,params,options,sceneModel).then(function(){spinner.processes--;},function(errMsg){spinner.processes--;_this2467.error(errMsg);sceneModel.fire("error",errMsg);});}return sceneModel;}},{key:"_loadModel",value:function _loadModel(src,params,options,sceneModel){var _this2468=this;var spinner=this.viewer.scene.canvas.spinner;spinner.processes++;this._dataSource.getLAS(params.src,function(arrayBuffer){_this2468._parseModel(arrayBuffer,params,options,sceneModel).then(function(){spinner.processes--;},function(errMsg){spinner.processes--;_this2468.error(errMsg);sceneModel.fire("error",errMsg);});},function(errMsg){spinner.processes--;_this2468.error(errMsg);sceneModel.fire("error",errMsg);});}},{key:"_parseModel",value:function _parseModel(arrayBuffer,params,options,sceneModel){var _this2469=this;function readPositions(attributesPosition){var positionsValue=attributesPosition.value;if(params.rotateX){if(positionsValue){for(var _i551=0,len=positionsValue.length;_i551=array.length){return array;}var result=[];for(var _i555=0;_i555=array.length){return array;}var result=[];for(var _i562=0;_i5620&&arguments[0]!==undefined?arguments[0]:{};if(params.id&&this.viewer.scene.components[params.id]){this.error("Component with this ID already exists in viewer: "+params.id+" - will autogenerate this ID");delete params.id;}var sceneModel=new SceneModel(this.viewer.scene,utils.apply(params,{isModel:true,edges:true}));if(!params.src&&!params.cityJSON){this.error("load() param expected: src or cityJSON");return sceneModel;// Return new empty model }var options={};if(params.src){this._loadModel(params.src,params,options,sceneModel);}else{var spinner=this.viewer.scene.canvas.spinner;spinner.processes++;this._parseModel(params.cityJSON,params,options,sceneModel);spinner.processes--;}return sceneModel;}},{key:"_loadModel",value:function _loadModel(src,params,options,sceneModel){var _this2471=this;var spinner=this.viewer.scene.canvas.spinner;spinner.processes++;this._dataSource.getCityJSON(params.src,function(data){_this2471._parseModel(data,params,options,sceneModel);spinner.processes--;},function(errMsg){spinner.processes--;_this2471.error(errMsg);sceneModel.fire("error",errMsg);});}},{key:"_parseModel",value:function _parseModel(data,params,options,sceneModel){if(sceneModel.destroyed){return;}var vertices=data.transform?this._transformVertices(data.vertices,data.transform,options.rotateX):data.vertices;var stats=params.stats||{};stats.sourceFormat=data.type||"CityJSON";stats.schemaVersion=data.version||"";stats.title="";stats.author="";stats.created="";stats.numMetaObjects=0;stats.numPropertySets=0;stats.numObjects=0;stats.numGeometries=0;stats.numTriangles=0;stats.numVertices=0;var loadMetadata=params.loadMetadata!==false;var rootMetaObject=loadMetadata?{id:math.createUUID(),name:"Model",type:"Model"}:null;var metadata=loadMetadata?{id:"",projectId:"",author:"",createdAt:"",schema:data.version||"",creatingApplication:"",metaObjects:[rootMetaObject],propertySets:[]}:null;var ctx={data:data,vertices:vertices,sceneModel:sceneModel,loadMetadata:loadMetadata,metadata:metadata,rootMetaObject:rootMetaObject,nextId:0,stats:stats};this._parseCityJSON(ctx);sceneModel.finalize();if(loadMetadata){var metaModelId=sceneModel.id;this.viewer.metaScene.createMetaModel(metaModelId,ctx.metadata,options);}sceneModel.scene.once("tick",function(){if(sceneModel.destroyed){return;}sceneModel.scene.fire("modelLoaded",sceneModel.id);// FIXME: Assumes listeners know order of these two events sceneModel.fire("loaded",true,false);// Don't forget the event, for late subscribers -});}},{key:"_transformVertices",value:function _transformVertices(vertices,transform,rotateX){var transformedVertices=[];var scale=transform.scale||math.vec3([1,1,1]);var translate=transform.translate||math.vec3([0,0,0]);for(var _i556=0,j=0;_i5560)){return;}var meshIds=[];for(var _i557=0,len=cityObject.geometry.length;_i5570){var themeId=themeIds[0];var theme=geometryMaterial[themeId];if(theme.value!==undefined){objectMaterial=materials[theme.value];}else{var values=theme.values;if(values){surfaceMaterials=[];for(var j=0,lenj=values.length;j0){sceneModel.createEntity({id:objectId,meshIds:meshIds,isObject:true});ctx.stats.numObjects++;}}},{key:"_parseGeometrySurfacesWithOwnMaterials",value:function _parseGeometrySurfacesWithOwnMaterials(ctx,geometry,surfaceMaterials,meshIds){var geomType=geometry.type;switch(geomType){case"MultiPoint":break;case"MultiLineString":break;case"MultiSurface":case"CompositeSurface":var surfaces=geometry.boundaries;this._parseSurfacesWithOwnMaterials(ctx,surfaceMaterials,surfaces,meshIds);break;case"Solid":var shells=geometry.boundaries;for(var j=0;j0){holes.push(face.length);}var newFace=this._extractLocalIndices(ctx,surface[j],sharedIndices,geometryCfg);face.push.apply(face,_toConsumableArray(newFace));}if(face.length===3){// Triangle +});}},{key:"_transformVertices",value:function _transformVertices(vertices,transform,rotateX){var transformedVertices=[];var scale=transform.scale||math.vec3([1,1,1]);var translate=transform.translate||math.vec3([0,0,0]);for(var _i563=0,j=0;_i5630)){return;}var meshIds=[];for(var _i564=0,len=cityObject.geometry.length;_i5640){var themeId=themeIds[0];var theme=geometryMaterial[themeId];if(theme.value!==undefined){objectMaterial=materials[theme.value];}else{var values=theme.values;if(values){surfaceMaterials=[];for(var j=0,lenj=values.length;j0){sceneModel.createEntity({id:objectId,meshIds:meshIds,isObject:true});ctx.stats.numObjects++;}}},{key:"_parseGeometrySurfacesWithOwnMaterials",value:function _parseGeometrySurfacesWithOwnMaterials(ctx,geometry,surfaceMaterials,meshIds){var geomType=geometry.type;switch(geomType){case"MultiPoint":break;case"MultiLineString":break;case"MultiSurface":case"CompositeSurface":var surfaces=geometry.boundaries;this._parseSurfacesWithOwnMaterials(ctx,surfaceMaterials,surfaces,meshIds);break;case"Solid":var shells=geometry.boundaries;for(var j=0;j0){holes.push(face.length);}var newFace=this._extractLocalIndices(ctx,surface[j],sharedIndices,geometryCfg);face.push.apply(face,_toConsumableArray(newFace));}if(face.length===3){// Triangle geometryCfg.indices.push(face[0]);geometryCfg.indices.push(face[1]);geometryCfg.indices.push(face[2]);}else if(face.length>3){// Polygon // Prepare to triangulate var pList=[];for(var k=0;k0&&geometryCfg.indices.length>0){var meshId=""+ctx.nextId++;sceneModel.createMesh({id:meshId,primitive:"triangles",positions:geometryCfg.positions,indices:geometryCfg.indices,color:objectMaterial&&objectMaterial.diffuseColor?objectMaterial.diffuseColor:[0.8,0.8,0.8],opacity:1.0//opacity: (objectMaterial && objectMaterial.transparency !== undefined) ? (1.0 - objectMaterial.transparency) : 1.0 -});meshIds.push(meshId);ctx.stats.numGeometries++;ctx.stats.numVertices+=geometryCfg.positions.length/3;ctx.stats.numTriangles+=geometryCfg.indices.length/3;}}},{key:"_parseSurfacesWithSharedMaterial",value:function _parseSurfacesWithSharedMaterial(ctx,surfaces,sharedIndices,primitiveCfg){var vertices=ctx.vertices;for(var _i559=0;_i5590){holes.push(boundary.length);}var newBoundary=this._extractLocalIndices(ctx,surfaces[_i559][j],sharedIndices,primitiveCfg);boundary.push.apply(boundary,_toConsumableArray(newBoundary));}if(boundary.length===3){// Triangle +});meshIds.push(meshId);ctx.stats.numGeometries++;ctx.stats.numVertices+=geometryCfg.positions.length/3;ctx.stats.numTriangles+=geometryCfg.indices.length/3;}}},{key:"_parseSurfacesWithSharedMaterial",value:function _parseSurfacesWithSharedMaterial(ctx,surfaces,sharedIndices,primitiveCfg){var vertices=ctx.vertices;for(var _i566=0;_i5660){holes.push(boundary.length);}var newBoundary=this._extractLocalIndices(ctx,surfaces[_i566][j],sharedIndices,primitiveCfg);boundary.push.apply(boundary,_toConsumableArray(newBoundary));}if(boundary.length===3){// Triangle primitiveCfg.indices.push(boundary[0]);primitiveCfg.indices.push(boundary[1]);primitiveCfg.indices.push(boundary[2]);}else if(boundary.length>3){// Polygon -var pList=[];for(var k=0;ka,MIN_DOUBLE:-Number.MAX_SAFE_INTEGER,MAX_DOUBLE:Number.MAX_SAFE_INTEGER,MAX_INT:1e7,DEGTORAD:.0174532925,RADTODEG:57.295779513,unglobalizeObjectId(e,t){const s=t.indexOf("#");return s===e.length&&t.startsWith(e)?t.substring(s+1):t},globalizeObjectId:(e,t)=>e+"#"+t,safeInv(e){const t=1/e;return isNaN(t)||!isFinite(t)?1:t},vec2:e=>new r(e||2),vec3:e=>new r(e||3),vec4:e=>new r(e||4),mat3:e=>new r(e||9),mat3ToMat4:(e,t=new r(16))=>(t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=0,t[4]=e[3],t[5]=e[4],t[6]=e[5],t[7]=0,t[8]=e[6],t[9]=e[7],t[10]=e[8],t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t),mat4:e=>new r(e||16),mat4ToMat3(e,t){},doublesToFloats(e,t,s){const n=new r(2);for(let i=0,a=e.length;i{const e=[];for(let t=0;t<256;t++)e[t]=(t<16?"0":"")+t.toString(16);return()=>{const t=4294967295*Math.random()|0,s=4294967295*Math.random()|0,n=4294967295*Math.random()|0,i=4294967295*Math.random()|0;return`${e[255&t]+e[t>>8&255]+e[t>>16&255]+e[t>>24&255]}-${e[255&s]}${e[s>>8&255]}-${e[s>>16&15|64]}${e[s>>24&255]}-${e[63&n|128]}${e[n>>8&255]}-${e[n>>16&255]}${e[n>>24&255]}${e[255&i]}${e[i>>8&255]}${e[i>>16&255]}${e[i>>24&255]}`}})(),clamp:(e,t,s)=>Math.max(t,Math.min(s,e)),fmod(e,t){if(ee[0]===t[0]&&e[1]===t[1]&&e[2]===t[2],negateVec3:(e,t)=>(t||(t=e),t[0]=-e[0],t[1]=-e[1],t[2]=-e[2],t),negateVec4:(e,t)=>(t||(t=e),t[0]=-e[0],t[1]=-e[1],t[2]=-e[2],t[3]=-e[3],t),addVec4:(e,t,s)=>(s||(s=e),s[0]=e[0]+t[0],s[1]=e[1]+t[1],s[2]=e[2]+t[2],s[3]=e[3]+t[3],s),addVec4Scalar:(e,t,s)=>(s||(s=e),s[0]=e[0]+t,s[1]=e[1]+t,s[2]=e[2]+t,s[3]=e[3]+t,s),addVec3:(e,t,s)=>(s||(s=e),s[0]=e[0]+t[0],s[1]=e[1]+t[1],s[2]=e[2]+t[2],s),addVec3Scalar:(e,t,s)=>(s||(s=e),s[0]=e[0]+t,s[1]=e[1]+t,s[2]=e[2]+t,s),subVec4:(e,t,s)=>(s||(s=e),s[0]=e[0]-t[0],s[1]=e[1]-t[1],s[2]=e[2]-t[2],s[3]=e[3]-t[3],s),subVec3:(e,t,s)=>(s||(s=e),s[0]=e[0]-t[0],s[1]=e[1]-t[1],s[2]=e[2]-t[2],s),subVec2:(e,t,s)=>(s||(s=e),s[0]=e[0]-t[0],s[1]=e[1]-t[1],s),geometricMeanVec2(...e){const t=new r(e[0]);for(let s=1;s(s||(s=e),s[0]=e[0]-t,s[1]=e[1]-t,s[2]=e[2]-t,s[3]=e[3]-t,s),subScalarVec4:(e,t,s)=>(s||(s=e),s[0]=t-e[0],s[1]=t-e[1],s[2]=t-e[2],s[3]=t-e[3],s),mulVec4:(e,t,s)=>(s||(s=e),s[0]=e[0]*t[0],s[1]=e[1]*t[1],s[2]=e[2]*t[2],s[3]=e[3]*t[3],s),mulVec4Scalar:(e,t,s)=>(s||(s=e),s[0]=e[0]*t,s[1]=e[1]*t,s[2]=e[2]*t,s[3]=e[3]*t,s),mulVec3Scalar:(e,t,s)=>(s||(s=e),s[0]=e[0]*t,s[1]=e[1]*t,s[2]=e[2]*t,s),mulVec2Scalar:(e,t,s)=>(s||(s=e),s[0]=e[0]*t,s[1]=e[1]*t,s),divVec3:(e,t,s)=>(s||(s=e),s[0]=e[0]/t[0],s[1]=e[1]/t[1],s[2]=e[2]/t[2],s),divVec4:(e,t,s)=>(s||(s=e),s[0]=e[0]/t[0],s[1]=e[1]/t[1],s[2]=e[2]/t[2],s[3]=e[3]/t[3],s),divScalarVec3:(e,t,s)=>(s||(s=t),s[0]=e/t[0],s[1]=e/t[1],s[2]=e/t[2],s),divVec3Scalar:(e,t,s)=>(s||(s=e),s[0]=e[0]/t,s[1]=e[1]/t,s[2]=e[2]/t,s),divVec4Scalar:(e,t,s)=>(s||(s=e),s[0]=e[0]/t,s[1]=e[1]/t,s[2]=e[2]/t,s[3]=e[3]/t,s),divScalarVec4:(e,t,s)=>(s||(s=t),s[0]=e/t[0],s[1]=e/t[1],s[2]=e/t[2],s[3]=e/t[3],s),dotVec4:(e,t)=>e[0]*t[0]+e[1]*t[1]+e[2]*t[2]+e[3]*t[3],cross3Vec4(e,t){const s=e[0],n=e[1],i=e[2],a=t[0],r=t[1],l=t[2];return[n*l-i*r,i*a-s*l,s*r-n*a,0]},cross3Vec3(e,t,s){s||(s=e);const n=e[0],i=e[1],a=e[2],r=t[0],l=t[1],o=t[2];return s[0]=i*o-a*l,s[1]=a*r-n*o,s[2]=n*l-i*r,s},sqLenVec4:e=>h.dotVec4(e,e),lenVec4:e=>Math.sqrt(h.sqLenVec4(e)),dotVec3:(e,t)=>e[0]*t[0]+e[1]*t[1]+e[2]*t[2],dotVec2:(e,t)=>e[0]*t[0]+e[1]*t[1],sqLenVec3:e=>h.dotVec3(e,e),sqLenVec2:e=>h.dotVec2(e,e),lenVec3:e=>Math.sqrt(h.sqLenVec3(e)),distVec3:(()=>{const e=new r(3);return(t,s)=>h.lenVec3(h.subVec3(t,s,e))})(),lenVec2:e=>Math.sqrt(h.sqLenVec2(e)),distVec2:(()=>{const e=new r(2);return(t,s)=>h.lenVec2(h.subVec2(t,s,e))})(),rcpVec3:(e,t)=>h.divScalarVec3(1,e,t),normalizeVec4(e,t){const s=1/h.lenVec4(e);return h.mulVec4Scalar(e,s,t)},normalizeVec3(e,t){const s=1/h.lenVec3(e);return h.mulVec3Scalar(e,s,t)},normalizeVec2(e,t){const s=1/h.lenVec2(e);return h.mulVec2Scalar(e,s,t)},angleVec3(e,t){let s=h.dotVec3(e,t)/Math.sqrt(h.sqLenVec3(e)*h.sqLenVec3(t));return s=s<-1?-1:s>1?1:s,Math.acos(s)},vec3FromMat4Scale:(()=>{const e=new r(3);return(t,s)=>(e[0]=t[0],e[1]=t[1],e[2]=t[2],s[0]=h.lenVec3(e),e[0]=t[4],e[1]=t[5],e[2]=t[6],s[1]=h.lenVec3(e),e[0]=t[8],e[1]=t[9],e[2]=t[10],s[2]=h.lenVec3(e),s)})(),vecToArray:(()=>{function e(e){return Math.round(1e5*e)/1e5}return t=>{for(let s=0,n=(t=Array.prototype.slice.call(t)).length;s({x:e[0],y:e[1],z:e[2]}),xyzObjectToArray:(e,t)=>((t=t||h.vec3())[0]=e.x,t[1]=e.y,t[2]=e.z,t),dupMat4:e=>e.slice(0,16),mat4To3:e=>[e[0],e[1],e[2],e[4],e[5],e[6],e[8],e[9],e[10]],m4s:e=>[e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e],setMat4ToZeroes:()=>h.m4s(0),setMat4ToOnes:()=>h.m4s(1),diagonalMat4v:e=>new r([e[0],0,0,0,0,e[1],0,0,0,0,e[2],0,0,0,0,e[3]]),diagonalMat4c:(e,t,s,n)=>h.diagonalMat4v([e,t,s,n]),diagonalMat4s:e=>h.diagonalMat4c(e,e,e,e),identityMat4:(e=new r(16))=>(e[0]=1,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=1,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[10]=1,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e),identityMat3:(e=new r(9))=>(e[0]=1,e[1]=0,e[2]=0,e[3]=0,e[4]=1,e[5]=0,e[6]=0,e[7]=0,e[8]=1,e),isIdentityMat4:e=>1===e[0]&&0===e[1]&&0===e[2]&&0===e[3]&&0===e[4]&&1===e[5]&&0===e[6]&&0===e[7]&&0===e[8]&&0===e[9]&&1===e[10]&&0===e[11]&&0===e[12]&&0===e[13]&&0===e[14]&&1===e[15],negateMat4:(e,t)=>(t||(t=e),t[0]=-e[0],t[1]=-e[1],t[2]=-e[2],t[3]=-e[3],t[4]=-e[4],t[5]=-e[5],t[6]=-e[6],t[7]=-e[7],t[8]=-e[8],t[9]=-e[9],t[10]=-e[10],t[11]=-e[11],t[12]=-e[12],t[13]=-e[13],t[14]=-e[14],t[15]=-e[15],t),addMat4:(e,t,s)=>(s||(s=e),s[0]=e[0]+t[0],s[1]=e[1]+t[1],s[2]=e[2]+t[2],s[3]=e[3]+t[3],s[4]=e[4]+t[4],s[5]=e[5]+t[5],s[6]=e[6]+t[6],s[7]=e[7]+t[7],s[8]=e[8]+t[8],s[9]=e[9]+t[9],s[10]=e[10]+t[10],s[11]=e[11]+t[11],s[12]=e[12]+t[12],s[13]=e[13]+t[13],s[14]=e[14]+t[14],s[15]=e[15]+t[15],s),addMat4Scalar:(e,t,s)=>(s||(s=e),s[0]=e[0]+t,s[1]=e[1]+t,s[2]=e[2]+t,s[3]=e[3]+t,s[4]=e[4]+t,s[5]=e[5]+t,s[6]=e[6]+t,s[7]=e[7]+t,s[8]=e[8]+t,s[9]=e[9]+t,s[10]=e[10]+t,s[11]=e[11]+t,s[12]=e[12]+t,s[13]=e[13]+t,s[14]=e[14]+t,s[15]=e[15]+t,s),addScalarMat4:(e,t,s)=>h.addMat4Scalar(t,e,s),subMat4:(e,t,s)=>(s||(s=e),s[0]=e[0]-t[0],s[1]=e[1]-t[1],s[2]=e[2]-t[2],s[3]=e[3]-t[3],s[4]=e[4]-t[4],s[5]=e[5]-t[5],s[6]=e[6]-t[6],s[7]=e[7]-t[7],s[8]=e[8]-t[8],s[9]=e[9]-t[9],s[10]=e[10]-t[10],s[11]=e[11]-t[11],s[12]=e[12]-t[12],s[13]=e[13]-t[13],s[14]=e[14]-t[14],s[15]=e[15]-t[15],s),subMat4Scalar:(e,t,s)=>(s||(s=e),s[0]=e[0]-t,s[1]=e[1]-t,s[2]=e[2]-t,s[3]=e[3]-t,s[4]=e[4]-t,s[5]=e[5]-t,s[6]=e[6]-t,s[7]=e[7]-t,s[8]=e[8]-t,s[9]=e[9]-t,s[10]=e[10]-t,s[11]=e[11]-t,s[12]=e[12]-t,s[13]=e[13]-t,s[14]=e[14]-t,s[15]=e[15]-t,s),subScalarMat4:(e,t,s)=>(s||(s=t),s[0]=e-t[0],s[1]=e-t[1],s[2]=e-t[2],s[3]=e-t[3],s[4]=e-t[4],s[5]=e-t[5],s[6]=e-t[6],s[7]=e-t[7],s[8]=e-t[8],s[9]=e-t[9],s[10]=e-t[10],s[11]=e-t[11],s[12]=e-t[12],s[13]=e-t[13],s[14]=e-t[14],s[15]=e-t[15],s),mulMat4(e,t,s){s||(s=e);const n=e[0],i=e[1],a=e[2],r=e[3],l=e[4],o=e[5],c=e[6],u=e[7],h=e[8],p=e[9],A=e[10],d=e[11],f=e[12],I=e[13],y=e[14],m=e[15],v=t[0],w=t[1],g=t[2],E=t[3],T=t[4],b=t[5],D=t[6],P=t[7],R=t[8],C=t[9],_=t[10],B=t[11],O=t[12],S=t[13],N=t[14],x=t[15];return s[0]=v*n+w*l+g*h+E*f,s[1]=v*i+w*o+g*p+E*I,s[2]=v*a+w*c+g*A+E*y,s[3]=v*r+w*u+g*d+E*m,s[4]=T*n+b*l+D*h+P*f,s[5]=T*i+b*o+D*p+P*I,s[6]=T*a+b*c+D*A+P*y,s[7]=T*r+b*u+D*d+P*m,s[8]=R*n+C*l+_*h+B*f,s[9]=R*i+C*o+_*p+B*I,s[10]=R*a+C*c+_*A+B*y,s[11]=R*r+C*u+_*d+B*m,s[12]=O*n+S*l+N*h+x*f,s[13]=O*i+S*o+N*p+x*I,s[14]=O*a+S*c+N*A+x*y,s[15]=O*r+S*u+N*d+x*m,s},mulMat3(e,t,s){s||(s=new r(9));const n=e[0],i=e[3],a=e[6],l=e[1],o=e[4],c=e[7],u=e[2],h=e[5],p=e[8],A=t[0],d=t[3],f=t[6],I=t[1],y=t[4],m=t[7],v=t[2],w=t[5],g=t[8];return s[0]=n*A+i*I+a*v,s[3]=n*d+i*y+a*w,s[6]=n*f+i*m+a*g,s[1]=l*A+o*I+c*v,s[4]=l*d+o*y+c*w,s[7]=l*f+o*m+c*g,s[2]=u*A+h*I+p*v,s[5]=u*d+h*y+p*w,s[8]=u*f+h*m+p*g,s},mulMat4Scalar:(e,t,s)=>(s||(s=e),s[0]=e[0]*t,s[1]=e[1]*t,s[2]=e[2]*t,s[3]=e[3]*t,s[4]=e[4]*t,s[5]=e[5]*t,s[6]=e[6]*t,s[7]=e[7]*t,s[8]=e[8]*t,s[9]=e[9]*t,s[10]=e[10]*t,s[11]=e[11]*t,s[12]=e[12]*t,s[13]=e[13]*t,s[14]=e[14]*t,s[15]=e[15]*t,s),mulMat4v4(e,t,s=h.vec4()){const n=t[0],i=t[1],a=t[2],r=t[3];return s[0]=e[0]*n+e[4]*i+e[8]*a+e[12]*r,s[1]=e[1]*n+e[5]*i+e[9]*a+e[13]*r,s[2]=e[2]*n+e[6]*i+e[10]*a+e[14]*r,s[3]=e[3]*n+e[7]*i+e[11]*a+e[15]*r,s},transposeMat4(e,t){const s=e[4],n=e[14],i=e[8],a=e[13],r=e[12],l=e[9];if(!t||e===t){const t=e[1],o=e[2],c=e[3],u=e[6],h=e[7],p=e[11];return e[1]=s,e[2]=i,e[3]=r,e[4]=t,e[6]=l,e[7]=a,e[8]=o,e[9]=u,e[11]=n,e[12]=c,e[13]=h,e[14]=p,e}return t[0]=e[0],t[1]=s,t[2]=i,t[3]=r,t[4]=e[1],t[5]=e[5],t[6]=l,t[7]=a,t[8]=e[2],t[9]=e[6],t[10]=e[10],t[11]=n,t[12]=e[3],t[13]=e[7],t[14]=e[11],t[15]=e[15],t},transposeMat3(e,t){if(t===e){const s=e[1],n=e[2],i=e[5];t[1]=e[3],t[2]=e[6],t[3]=s,t[5]=e[7],t[6]=n,t[7]=i}else t[0]=e[0],t[1]=e[3],t[2]=e[6],t[3]=e[1],t[4]=e[4],t[5]=e[7],t[6]=e[2],t[7]=e[5],t[8]=e[8];return t},determinantMat4(e){const t=e[0],s=e[1],n=e[2],i=e[3],a=e[4],r=e[5],l=e[6],o=e[7],c=e[8],u=e[9],h=e[10],p=e[11],A=e[12],d=e[13],f=e[14],I=e[15];return A*u*l*i-c*d*l*i-A*r*h*i+a*d*h*i+c*r*f*i-a*u*f*i-A*u*n*o+c*d*n*o+A*s*h*o-t*d*h*o-c*s*f*o+t*u*f*o+A*r*n*p-a*d*n*p-A*s*l*p+t*d*l*p+a*s*f*p-t*r*f*p-c*r*n*I+a*u*n*I+c*s*l*I-t*u*l*I-a*s*h*I+t*r*h*I},inverseMat4(e,t){t||(t=e);const s=e[0],n=e[1],i=e[2],a=e[3],r=e[4],l=e[5],o=e[6],c=e[7],u=e[8],h=e[9],p=e[10],A=e[11],d=e[12],f=e[13],I=e[14],y=e[15],m=s*l-n*r,v=s*o-i*r,w=s*c-a*r,g=n*o-i*l,E=n*c-a*l,T=i*c-a*o,b=u*f-h*d,D=u*I-p*d,P=u*y-A*d,R=h*I-p*f,C=h*y-A*f,_=p*y-A*I,B=1/(m*_-v*C+w*R+g*P-E*D+T*b);return t[0]=(l*_-o*C+c*R)*B,t[1]=(-n*_+i*C-a*R)*B,t[2]=(f*T-I*E+y*g)*B,t[3]=(-h*T+p*E-A*g)*B,t[4]=(-r*_+o*P-c*D)*B,t[5]=(s*_-i*P+a*D)*B,t[6]=(-d*T+I*w-y*v)*B,t[7]=(u*T-p*w+A*v)*B,t[8]=(r*C-l*P+c*b)*B,t[9]=(-s*C+n*P-a*b)*B,t[10]=(d*E-f*w+y*m)*B,t[11]=(-u*E+h*w-A*m)*B,t[12]=(-r*R+l*D-o*b)*B,t[13]=(s*R-n*D+i*b)*B,t[14]=(-d*g+f*v-I*m)*B,t[15]=(u*g-h*v+p*m)*B,t},traceMat4:e=>e[0]+e[5]+e[10]+e[15],translationMat4v(e,t){const s=t||h.identityMat4();return s[12]=e[0],s[13]=e[1],s[14]=e[2],s},translationMat3v(e,t){const s=t||h.identityMat3();return s[6]=e[0],s[7]=e[1],s},translationMat4c:(()=>{const e=new r(3);return(t,s,n,i)=>(e[0]=t,e[1]=s,e[2]=n,h.translationMat4v(e,i))})(),translationMat4s:(e,t)=>h.translationMat4c(e,e,e,t),translateMat4v:(e,t)=>h.translateMat4c(e[0],e[1],e[2],t),translateMat4c(e,t,s,n){const i=n[3];n[0]+=i*e,n[1]+=i*t,n[2]+=i*s;const a=n[7];n[4]+=a*e,n[5]+=a*t,n[6]+=a*s;const r=n[11];n[8]+=r*e,n[9]+=r*t,n[10]+=r*s;const l=n[15];return n[12]+=l*e,n[13]+=l*t,n[14]+=l*s,n},setMat4Translation:(e,t,s)=>(s[0]=e[0],s[1]=e[1],s[2]=e[2],s[3]=e[3],s[4]=e[4],s[5]=e[5],s[6]=e[6],s[7]=e[7],s[8]=e[8],s[9]=e[9],s[10]=e[10],s[11]=e[11],s[12]=t[0],s[13]=t[1],s[14]=t[2],s[15]=e[15],s),rotationMat4v(e,t,s){const n=h.normalizeVec4([t[0],t[1],t[2],0],[]),i=Math.sin(e),a=Math.cos(e),r=1-a,l=n[0],o=n[1],c=n[2];let u,p,A,d,f,I;return u=l*o,p=o*c,A=c*l,d=l*i,f=o*i,I=c*i,(s=s||h.mat4())[0]=r*l*l+a,s[1]=r*u+I,s[2]=r*A-f,s[3]=0,s[4]=r*u-I,s[5]=r*o*o+a,s[6]=r*p+d,s[7]=0,s[8]=r*A+f,s[9]=r*p-d,s[10]=r*c*c+a,s[11]=0,s[12]=0,s[13]=0,s[14]=0,s[15]=1,s},rotationMat4c:(e,t,s,n,i)=>h.rotationMat4v(e,[t,s,n],i),scalingMat4v:(e,t=h.identityMat4())=>(t[0]=e[0],t[5]=e[1],t[10]=e[2],t),scalingMat3v:(e,t=h.identityMat3())=>(t[0]=e[0],t[4]=e[1],t),scalingMat4c:(()=>{const e=new r(3);return(t,s,n,i)=>(e[0]=t,e[1]=s,e[2]=n,h.scalingMat4v(e,i))})(),scaleMat4c:(e,t,s,n)=>(n[0]*=e,n[4]*=t,n[8]*=s,n[1]*=e,n[5]*=t,n[9]*=s,n[2]*=e,n[6]*=t,n[10]*=s,n[3]*=e,n[7]*=t,n[11]*=s,n),scaleMat4v(e,t){const s=e[0],n=e[1],i=e[2];return t[0]*=s,t[4]*=n,t[8]*=i,t[1]*=s,t[5]*=n,t[9]*=i,t[2]*=s,t[6]*=n,t[10]*=i,t[3]*=s,t[7]*=n,t[11]*=i,t},scalingMat4s:e=>h.scalingMat4c(e,e,e),rotationTranslationMat4(e,t,s=h.mat4()){const n=e[0],i=e[1],a=e[2],r=e[3],l=n+n,o=i+i,c=a+a,u=n*l,p=n*o,A=n*c,d=i*o,f=i*c,I=a*c,y=r*l,m=r*o,v=r*c;return s[0]=1-(d+I),s[1]=p+v,s[2]=A-m,s[3]=0,s[4]=p-v,s[5]=1-(u+I),s[6]=f+y,s[7]=0,s[8]=A+m,s[9]=f-y,s[10]=1-(u+d),s[11]=0,s[12]=t[0],s[13]=t[1],s[14]=t[2],s[15]=1,s},mat4ToEuler(e,t,s=h.vec4()){const n=h.clamp,i=e[0],a=e[4],r=e[8],l=e[1],o=e[5],c=e[9],u=e[2],p=e[6],A=e[10];return"XYZ"===t?(s[1]=Math.asin(n(r,-1,1)),Math.abs(r)<.99999?(s[0]=Math.atan2(-c,A),s[2]=Math.atan2(-a,i)):(s[0]=Math.atan2(p,o),s[2]=0)):"YXZ"===t?(s[0]=Math.asin(-n(c,-1,1)),Math.abs(c)<.99999?(s[1]=Math.atan2(r,A),s[2]=Math.atan2(l,o)):(s[1]=Math.atan2(-u,i),s[2]=0)):"ZXY"===t?(s[0]=Math.asin(n(p,-1,1)),Math.abs(p)<.99999?(s[1]=Math.atan2(-u,A),s[2]=Math.atan2(-a,o)):(s[1]=0,s[2]=Math.atan2(l,i))):"ZYX"===t?(s[1]=Math.asin(-n(u,-1,1)),Math.abs(u)<.99999?(s[0]=Math.atan2(p,A),s[2]=Math.atan2(l,i)):(s[0]=0,s[2]=Math.atan2(-a,o))):"YZX"===t?(s[2]=Math.asin(n(l,-1,1)),Math.abs(l)<.99999?(s[0]=Math.atan2(-c,o),s[1]=Math.atan2(-u,i)):(s[0]=0,s[1]=Math.atan2(r,A))):"XZY"===t&&(s[2]=Math.asin(-n(a,-1,1)),Math.abs(a)<.99999?(s[0]=Math.atan2(p,o),s[1]=Math.atan2(r,i)):(s[0]=Math.atan2(-c,A),s[1]=0)),s},composeMat4:(e,t,s,n=h.mat4())=>(h.quaternionToRotationMat4(t,n),h.scaleMat4v(s,n),h.translateMat4v(e,n),n),decomposeMat4:(()=>{const e=new r(3),t=new r(16);return function(s,n,i,a){e[0]=s[0],e[1]=s[1],e[2]=s[2];let r=h.lenVec3(e);e[0]=s[4],e[1]=s[5],e[2]=s[6];const l=h.lenVec3(e);e[8]=s[8],e[9]=s[9],e[10]=s[10];const o=h.lenVec3(e);h.determinantMat4(s)<0&&(r=-r),n[0]=s[12],n[1]=s[13],n[2]=s[14],t.set(s);const c=1/r,u=1/l,p=1/o;return t[0]*=c,t[1]*=c,t[2]*=c,t[4]*=u,t[5]*=u,t[6]*=u,t[8]*=p,t[9]*=p,t[10]*=p,h.mat4ToQuaternion(t,i),a[0]=r,a[1]=l,a[2]=o,this}})(),getColMat4(e,t){const s=4*t;return[e[s],e[s+1],e[s+2],e[s+3]]},setRowMat4(e,t,s){e[t]=s[0],e[t+4]=s[1],e[t+8]=s[2],e[t+12]=s[3]},lookAtMat4v(e,t,s,n){n||(n=h.mat4());const i=e[0],a=e[1],r=e[2],l=s[0],o=s[1],c=s[2],u=t[0],p=t[1],A=t[2];if(i===u&&a===p&&r===A)return h.identityMat4();let d,f,I,y,m,v,w,g,E,T;return d=i-u,f=a-p,I=r-A,T=1/Math.sqrt(d*d+f*f+I*I),d*=T,f*=T,I*=T,y=o*I-c*f,m=c*d-l*I,v=l*f-o*d,T=Math.sqrt(y*y+m*m+v*v),T?(T=1/T,y*=T,m*=T,v*=T):(y=0,m=0,v=0),w=f*v-I*m,g=I*y-d*v,E=d*m-f*y,T=Math.sqrt(w*w+g*g+E*E),T?(T=1/T,w*=T,g*=T,E*=T):(w=0,g=0,E=0),n[0]=y,n[1]=w,n[2]=d,n[3]=0,n[4]=m,n[5]=g,n[6]=f,n[7]=0,n[8]=v,n[9]=E,n[10]=I,n[11]=0,n[12]=-(y*i+m*a+v*r),n[13]=-(w*i+g*a+E*r),n[14]=-(d*i+f*a+I*r),n[15]=1,n},lookAtMat4c:(e,t,s,n,i,a,r,l,o)=>h.lookAtMat4v([e,t,s],[n,i,a],[r,l,o],[]),orthoMat4c(e,t,s,n,i,a,r){r||(r=h.mat4());const l=t-e,o=n-s,c=a-i;return r[0]=2/l,r[1]=0,r[2]=0,r[3]=0,r[4]=0,r[5]=2/o,r[6]=0,r[7]=0,r[8]=0,r[9]=0,r[10]=-2/c,r[11]=0,r[12]=-(e+t)/l,r[13]=-(n+s)/o,r[14]=-(a+i)/c,r[15]=1,r},frustumMat4v(e,t,s){s||(s=h.mat4());const n=[e[0],e[1],e[2],0],i=[t[0],t[1],t[2],0];h.addVec4(i,n,o),h.subVec4(i,n,c);const a=2*n[2],r=c[0],l=c[1],u=c[2];return s[0]=a/r,s[1]=0,s[2]=0,s[3]=0,s[4]=0,s[5]=a/l,s[6]=0,s[7]=0,s[8]=o[0]/r,s[9]=o[1]/l,s[10]=-o[2]/u,s[11]=-1,s[12]=0,s[13]=0,s[14]=-a*i[2]/u,s[15]=0,s},frustumMat4(e,t,s,n,i,a,r){r||(r=h.mat4());const l=t-e,o=n-s,c=a-i;return r[0]=2*i/l,r[1]=0,r[2]=0,r[3]=0,r[4]=0,r[5]=2*i/o,r[6]=0,r[7]=0,r[8]=(t+e)/l,r[9]=(n+s)/o,r[10]=-(a+i)/c,r[11]=-1,r[12]=0,r[13]=0,r[14]=-a*i*2/c,r[15]=0,r},perspectiveMat4(e,t,s,n,i){const a=[],r=[];return a[2]=s,r[2]=n,r[1]=a[2]*Math.tan(e/2),a[1]=-r[1],r[0]=r[1]*t,a[0]=-r[0],h.frustumMat4v(a,r,i)},compareMat4:(e,t)=>e[0]===t[0]&&e[1]===t[1]&&e[2]===t[2]&&e[3]===t[3]&&e[4]===t[4]&&e[5]===t[5]&&e[6]===t[6]&&e[7]===t[7]&&e[8]===t[8]&&e[9]===t[9]&&e[10]===t[10]&&e[11]===t[11]&&e[12]===t[12]&&e[13]===t[13]&&e[14]===t[14]&&e[15]===t[15],transformPoint3(e,t,s=h.vec3()){const n=t[0],i=t[1],a=t[2];return s[0]=e[0]*n+e[4]*i+e[8]*a+e[12],s[1]=e[1]*n+e[5]*i+e[9]*a+e[13],s[2]=e[2]*n+e[6]*i+e[10]*a+e[14],s},transformPoint4:(e,t,s=h.vec4())=>(s[0]=e[0]*t[0]+e[4]*t[1]+e[8]*t[2]+e[12]*t[3],s[1]=e[1]*t[0]+e[5]*t[1]+e[9]*t[2]+e[13]*t[3],s[2]=e[2]*t[0]+e[6]*t[1]+e[10]*t[2]+e[14]*t[3],s[3]=e[3]*t[0]+e[7]*t[1]+e[11]*t[2]+e[15]*t[3],s),transformPoints3(e,t,s){const n=s||[],i=t.length;let a,r,l,o;const c=e[0],u=e[1],h=e[2],p=e[3],A=e[4],d=e[5],f=e[6],I=e[7],y=e[8],m=e[9],v=e[10],w=e[11],g=e[12],E=e[13],T=e[14],b=e[15];let D;for(let e=0;e{const e=new r(16),t=new r(16),s=new r(16);return function(n,i,a,r){return this.transformVec3(this.mulMat4(this.inverseMat4(i,e),this.inverseMat4(a,t),s),n,r)}})(),lerpVec3(e,t,s,n,i,a){const r=a||h.vec3(),l=(e-t)/(s-t);return r[0]=n[0]+l*(i[0]-n[0]),r[1]=n[1]+l*(i[1]-n[1]),r[2]=n[2]+l*(i[2]-n[2]),r},lerpMat4(e,t,s,n,i,a){const r=a||h.mat4(),l=(e-t)/(s-t);return r[0]=n[0]+l*(i[0]-n[0]),r[1]=n[1]+l*(i[1]-n[1]),r[2]=n[2]+l*(i[2]-n[2]),r[3]=n[3]+l*(i[3]-n[3]),r[4]=n[4]+l*(i[4]-n[4]),r[5]=n[5]+l*(i[5]-n[5]),r[6]=n[6]+l*(i[6]-n[6]),r[7]=n[7]+l*(i[7]-n[7]),r[8]=n[8]+l*(i[8]-n[8]),r[9]=n[9]+l*(i[9]-n[9]),r[10]=n[10]+l*(i[10]-n[10]),r[11]=n[11]+l*(i[11]-n[11]),r[12]=n[12]+l*(i[12]-n[12]),r[13]=n[13]+l*(i[13]-n[13]),r[14]=n[14]+l*(i[14]-n[14]),r[15]=n[15]+l*(i[15]-n[15]),r},flatten(e){const t=[];let s,n,i,a,r;for(s=0,n=e.length;s(e[0]=0,e[1]=0,e[2]=0,e[3]=1,e),eulerToQuaternion(e,t,s=h.vec4()){const n=e[0]*h.DEGTORAD/2,i=e[1]*h.DEGTORAD/2,a=e[2]*h.DEGTORAD/2,r=Math.cos(n),l=Math.cos(i),o=Math.cos(a),c=Math.sin(n),u=Math.sin(i),p=Math.sin(a);return"XYZ"===t?(s[0]=c*l*o+r*u*p,s[1]=r*u*o-c*l*p,s[2]=r*l*p+c*u*o,s[3]=r*l*o-c*u*p):"YXZ"===t?(s[0]=c*l*o+r*u*p,s[1]=r*u*o-c*l*p,s[2]=r*l*p-c*u*o,s[3]=r*l*o+c*u*p):"ZXY"===t?(s[0]=c*l*o-r*u*p,s[1]=r*u*o+c*l*p,s[2]=r*l*p+c*u*o,s[3]=r*l*o-c*u*p):"ZYX"===t?(s[0]=c*l*o-r*u*p,s[1]=r*u*o+c*l*p,s[2]=r*l*p-c*u*o,s[3]=r*l*o+c*u*p):"YZX"===t?(s[0]=c*l*o+r*u*p,s[1]=r*u*o+c*l*p,s[2]=r*l*p-c*u*o,s[3]=r*l*o-c*u*p):"XZY"===t&&(s[0]=c*l*o-r*u*p,s[1]=r*u*o-c*l*p,s[2]=r*l*p+c*u*o,s[3]=r*l*o+c*u*p),s},mat4ToQuaternion(e,t=h.vec4()){const s=e[0],n=e[4],i=e[8],a=e[1],r=e[5],l=e[9],o=e[2],c=e[6],u=e[10];let p;const A=s+r+u;return A>0?(p=.5/Math.sqrt(A+1),t[3]=.25/p,t[0]=(c-l)*p,t[1]=(i-o)*p,t[2]=(a-n)*p):s>r&&s>u?(p=2*Math.sqrt(1+s-r-u),t[3]=(c-l)/p,t[0]=.25*p,t[1]=(n+a)/p,t[2]=(i+o)/p):r>u?(p=2*Math.sqrt(1+r-s-u),t[3]=(i-o)/p,t[0]=(n+a)/p,t[1]=.25*p,t[2]=(l+c)/p):(p=2*Math.sqrt(1+u-s-r),t[3]=(a-n)/p,t[0]=(i+o)/p,t[1]=(l+c)/p,t[2]=.25*p),t},vec3PairToQuaternion(e,t,s=h.vec4()){const n=Math.sqrt(h.dotVec3(e,e)*h.dotVec3(t,t));let i=n+h.dotVec3(e,t);return i<1e-8*n?(i=0,Math.abs(e[0])>Math.abs(e[2])?(s[0]=-e[1],s[1]=e[0],s[2]=0):(s[0]=0,s[1]=-e[2],s[2]=e[1])):h.cross3Vec3(e,t,s),s[3]=i,h.normalizeQuaternion(s)},angleAxisToQuaternion(e,t=h.vec4()){const s=e[3]/2,n=Math.sin(s);return t[0]=n*e[0],t[1]=n*e[1],t[2]=n*e[2],t[3]=Math.cos(s),t},quaternionToEuler:(()=>{const e=new r(16);return(t,s,n)=>(n=n||h.vec3(),h.quaternionToRotationMat4(t,e),h.mat4ToEuler(e,s,n),n)})(),mulQuaternions(e,t,s=h.vec4()){const n=e[0],i=e[1],a=e[2],r=e[3],l=t[0],o=t[1],c=t[2],u=t[3];return s[0]=r*l+n*u+i*c-a*o,s[1]=r*o+i*u+a*l-n*c,s[2]=r*c+a*u+n*o-i*l,s[3]=r*u-n*l-i*o-a*c,s},vec3ApplyQuaternion(e,t,s=h.vec3()){const n=t[0],i=t[1],a=t[2],r=e[0],l=e[1],o=e[2],c=e[3],u=c*n+l*a-o*i,p=c*i+o*n-r*a,A=c*a+r*i-l*n,d=-r*n-l*i-o*a;return s[0]=u*c+d*-r+p*-o-A*-l,s[1]=p*c+d*-l+A*-r-u*-o,s[2]=A*c+d*-o+u*-l-p*-r,s},quaternionToMat4(e,t){t=h.identityMat4(t);const s=e[0],n=e[1],i=e[2],a=e[3],r=2*s,l=2*n,o=2*i,c=r*a,u=l*a,p=o*a,A=r*s,d=l*s,f=o*s,I=l*n,y=o*n,m=o*i;return t[0]=1-(I+m),t[1]=d+p,t[2]=f-u,t[4]=d-p,t[5]=1-(A+m),t[6]=y+c,t[8]=f+u,t[9]=y-c,t[10]=1-(A+I),t},quaternionToRotationMat4(e,t){const s=e[0],n=e[1],i=e[2],a=e[3],r=s+s,l=n+n,o=i+i,c=s*r,u=s*l,h=s*o,p=n*l,A=n*o,d=i*o,f=a*r,I=a*l,y=a*o;return t[0]=1-(p+d),t[4]=u-y,t[8]=h+I,t[1]=u+y,t[5]=1-(c+d),t[9]=A-f,t[2]=h-I,t[6]=A+f,t[10]=1-(c+p),t[3]=0,t[7]=0,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t},normalizeQuaternion(e,t=e){const s=h.lenVec4([e[0],e[1],e[2],e[3]]);return t[0]=e[0]/s,t[1]=e[1]/s,t[2]=e[2]/s,t[3]=e[3]/s,t},conjugateQuaternion:(e,t=e)=>(t[0]=-e[0],t[1]=-e[1],t[2]=-e[2],t[3]=e[3],t),inverseQuaternion:(e,t)=>h.normalizeQuaternion(h.conjugateQuaternion(e,t)),quaternionToAngleAxis(e,t=h.vec4()){const s=(e=h.normalizeQuaternion(e,u))[3],n=2*Math.acos(s),i=Math.sqrt(1-s*s);return i<.001?(t[0]=e[0],t[1]=e[1],t[2]=e[2]):(t[0]=e[0]/i,t[1]=e[1]/i,t[2]=e[2]/i),t[3]=n,t},AABB3:e=>new r(e||6),AABB2:e=>new r(e||4),OBB3:e=>new r(e||32),OBB2:e=>new r(e||16),Sphere3:(e,t,s,n)=>new r([e,t,s,n]),transformOBB3(e,t,s=t){let n;const i=t.length;let a,r,l;const o=e[0],c=e[1],u=e[2],h=e[3],p=e[4],A=e[5],d=e[6],f=e[7],I=e[8],y=e[9],m=e[10],v=e[11],w=e[12],g=e[13],E=e[14],T=e[15];for(n=0;n{const e=new r(3),t=new r(3),s=new r(3);return n=>(e[0]=n[0],e[1]=n[1],e[2]=n[2],t[0]=n[3],t[1]=n[4],t[2]=n[5],h.subVec3(t,e,s),Math.abs(h.lenVec3(s)))})(),getAABB3DiagPoint:(()=>{const e=new r(3),t=new r(3),s=new r(3);return(n,i)=>{e[0]=n[0],e[1]=n[1],e[2]=n[2],t[0]=n[3],t[1]=n[4],t[2]=n[5];const a=h.subVec3(t,e,s),r=i[0]-n[0],l=n[3]-i[0],o=i[1]-n[1],c=n[4]-i[1],u=i[2]-n[2],p=n[5]-i[2];return a[0]+=r>l?r:l,a[1]+=o>c?o:c,a[2]+=u>p?u:p,Math.abs(h.lenVec3(a))}})(),getAABB3Area:e=>(e[3]-e[0])*(e[4]-e[1])*(e[5]-e[2]),getAABB3Center(e,t){const s=t||h.vec3();return s[0]=(e[0]+e[3])/2,s[1]=(e[1]+e[4])/2,s[2]=(e[2]+e[5])/2,s},getAABB2Center(e,t){const s=t||h.vec2();return s[0]=(e[2]+e[0])/2,s[1]=(e[3]+e[1])/2,s},collapseAABB3:(e=h.AABB3())=>(e[0]=h.MAX_DOUBLE,e[1]=h.MAX_DOUBLE,e[2]=h.MAX_DOUBLE,e[3]=h.MIN_DOUBLE,e[4]=h.MIN_DOUBLE,e[5]=h.MIN_DOUBLE,e),AABB3ToOBB3:(e,t=h.OBB3())=>(t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=1,t[4]=e[3],t[5]=e[1],t[6]=e[2],t[7]=1,t[8]=e[3],t[9]=e[4],t[10]=e[2],t[11]=1,t[12]=e[0],t[13]=e[4],t[14]=e[2],t[15]=1,t[16]=e[0],t[17]=e[1],t[18]=e[5],t[19]=1,t[20]=e[3],t[21]=e[1],t[22]=e[5],t[23]=1,t[24]=e[3],t[25]=e[4],t[26]=e[5],t[27]=1,t[28]=e[0],t[29]=e[4],t[30]=e[5],t[31]=1,t),positions3ToAABB3:(()=>{const e=new r(3);return(t,s,n)=>{s=s||h.AABB3();let i,a,r,l=h.MAX_DOUBLE,o=h.MAX_DOUBLE,c=h.MAX_DOUBLE,u=h.MIN_DOUBLE,p=h.MIN_DOUBLE,A=h.MIN_DOUBLE;for(let s=0,d=t.length;su&&(u=i),a>p&&(p=a),r>A&&(A=r);return s[0]=l,s[1]=o,s[2]=c,s[3]=u,s[4]=p,s[5]=A,s}})(),OBB3ToAABB3(e,t=h.AABB3()){let s,n,i,a=h.MAX_DOUBLE,r=h.MAX_DOUBLE,l=h.MAX_DOUBLE,o=h.MIN_DOUBLE,c=h.MIN_DOUBLE,u=h.MIN_DOUBLE;for(let t=0,h=e.length;to&&(o=s),n>c&&(c=n),i>u&&(u=i);return t[0]=a,t[1]=r,t[2]=l,t[3]=o,t[4]=c,t[5]=u,t},points3ToAABB3(e,t=h.AABB3()){let s,n,i,a=h.MAX_DOUBLE,r=h.MAX_DOUBLE,l=h.MAX_DOUBLE,o=h.MIN_DOUBLE,c=h.MIN_DOUBLE,u=h.MIN_DOUBLE;for(let t=0,h=e.length;to&&(o=s),n>c&&(c=n),i>u&&(u=i);return t[0]=a,t[1]=r,t[2]=l,t[3]=o,t[4]=c,t[5]=u,t},points3ToSphere3:(()=>{const e=new r(3);return(t,s)=>{s=s||h.vec4();let n,i=0,a=0,r=0;const l=t.length;for(n=0;nc&&(c=o);return s[3]=c,s}})(),positions3ToSphere3:(()=>{const e=new r(3),t=new r(3);return(s,n)=>{n=n||h.vec4();let i,a=0,r=0,l=0;const o=s.length;let c=0;for(i=0;ic&&(c=p);return n[3]=c,n}})(),OBB3ToSphere3:(()=>{const e=new r(3),t=new r(3);return(s,n)=>{n=n||h.vec4();let i,a=0,r=0,l=0;const o=s.length,c=o/4;for(i=0;ip&&(p=u);return n[3]=p,n}})(),getSphere3Center:(e,t=h.vec3())=>(t[0]=e[0],t[1]=e[1],t[2]=e[2],t),getPositionsCenter(e,t=h.vec3()){let s=0,n=0,i=0;for(var a=0,r=e.length;a(e[0]>t[0]&&(e[0]=t[0]),e[1]>t[1]&&(e[1]=t[1]),e[2]>t[2]&&(e[2]=t[2]),e[3](e[0]>t[0]&&(e[0]=t[0]),e[1]>t[1]&&(e[1]=t[1]),e[2]>t[2]&&(e[2]=t[2]),e[3]s&&(e[0]=s),e[1]>n&&(e[1]=n),e[2]>i&&(e[2]=i),e[3](e[0]=h.MAX_DOUBLE,e[1]=h.MAX_DOUBLE,e[2]=h.MIN_DOUBLE,e[3]=h.MIN_DOUBLE,e),point3AABB3Intersect:(e,t)=>e[0]>t[0]||e[3]t[1]||e[4]t[2]||e[5]0?(n=e[0]*s[0],i=e[0]*s[3]):(n=e[0]*s[3],i=e[0]*s[0]),e[1]>0?(n+=e[1]*s[1],i+=e[1]*s[4]):(n+=e[1]*s[4],i+=e[1]*s[1]),e[2]>0?(n+=e[2]*s[2],i+=e[2]*s[5]):(n+=e[2]*s[5],i+=e[2]*s[2]);if(n<=-t&&i<=-t)return-1;return n>=-t&&i>=-t?1:0},OBB3ToAABB2(e,t=h.AABB2()){let s,n,i,a,r=h.MAX_DOUBLE,l=h.MAX_DOUBLE,o=h.MIN_DOUBLE,c=h.MIN_DOUBLE;for(let t=0,u=e.length;to&&(o=s),n>c&&(c=n);return t[0]=r,t[1]=l,t[2]=o,t[3]=c,t},expandAABB2:(e,t)=>(e[0]>t[0]&&(e[0]=t[0]),e[1]>t[1]&&(e[1]=t[1]),e[2](e[0]>t[0]&&(e[0]=t[0]),e[1]>t[1]&&(e[1]=t[1]),e[2]2*(1-e)*(s-t)+2*e*(n-s),tangentQuadraticBezier3:(e,t,s,n,i)=>-3*t*(1-e)*(1-e)+3*s*(1-e)*(1-e)-6*e*s*(1-e)+6*e*n*(1-e)-3*e*e*n+3*e*e*i,tangentSpline:e=>6*e*e-6*e+(3*e*e-4*e+1)+(-6*e*e+6*e)+(3*e*e-2*e),catmullRomInterpolate(e,t,s,n,i){const a=.5*(s-e),r=.5*(n-t),l=i*i;return(2*t-2*s+a+r)*(i*l)+(-3*t+3*s-2*a-r)*l+a*i+t},b2p0(e,t){const s=1-e;return s*s*t},b2p1:(e,t)=>2*(1-e)*e*t,b2p2:(e,t)=>e*e*t,b2(e,t,s,n){return this.b2p0(e,t)+this.b2p1(e,s)+this.b2p2(e,n)},b3p0(e,t){const s=1-e;return s*s*s*t},b3p1(e,t){const s=1-e;return 3*s*s*e*t},b3p2:(e,t)=>3*(1-e)*e*e*t,b3p3:(e,t)=>e*e*e*t,b3(e,t,s,n,i){return this.b3p0(e,t)+this.b3p1(e,s)+this.b3p2(e,n)+this.b3p3(e,i)},triangleNormal(e,t,s,n=h.vec3()){const i=t[0]-e[0],a=t[1]-e[1],r=t[2]-e[2],l=s[0]-e[0],o=s[1]-e[1],c=s[2]-e[2],u=a*c-r*o,p=r*l-i*c,A=i*o-a*l,d=Math.sqrt(u*u+p*p+A*A);return 0===d?(n[0]=0,n[1]=0,n[2]=0):(n[0]=u/d,n[1]=p/d,n[2]=A/d),n},rayTriangleIntersect:(()=>{const e=new r(3),t=new r(3),s=new r(3),n=new r(3),i=new r(3);return(a,r,l,o,c,u)=>{u=u||h.vec3();const p=h.subVec3(o,l,e),A=h.subVec3(c,l,t),d=h.cross3Vec3(r,A,s),f=h.dotVec3(p,d);if(f<1e-6)return null;const I=h.subVec3(a,l,n),y=h.dotVec3(I,d);if(y<0||y>f)return null;const m=h.cross3Vec3(I,p,i),v=h.dotVec3(r,m);if(v<0||y+v>f)return null;const w=h.dotVec3(A,m)/f;return u[0]=a[0]+w*r[0],u[1]=a[1]+w*r[1],u[2]=a[2]+w*r[2],u}})(),rayPlaneIntersect:(()=>{const e=new r(3),t=new r(3),s=new r(3),n=new r(3);return(i,a,r,l,o,c)=>{c=c||h.vec3(),a=h.normalizeVec3(a,e);const u=h.subVec3(l,r,t),p=h.subVec3(o,r,s),A=h.cross3Vec3(u,p,n);h.normalizeVec3(A,A);const d=-h.dotVec3(r,A),f=-(h.dotVec3(i,A)+d)/h.dotVec3(a,A);return c[0]=i[0]+f*a[0],c[1]=i[1]+f*a[1],c[2]=i[2]+f*a[2],c}})(),cartesianToBarycentric:(()=>{const e=new r(3),t=new r(3),s=new r(3);return(n,i,a,r,l)=>{const o=h.subVec3(r,i,e),c=h.subVec3(a,i,t),u=h.subVec3(n,i,s),p=h.dotVec3(o,o),A=h.dotVec3(o,c),d=h.dotVec3(o,u),f=h.dotVec3(c,c),I=h.dotVec3(c,u),y=p*f-A*A;if(0===y)return null;const m=1/y,v=(f*d-A*I)*m,w=(p*I-A*d)*m;return l[0]=1-v-w,l[1]=w,l[2]=v,l}})(),barycentricInsideTriangle(e){const t=e[1],s=e[2];return s>=0&&t>=0&&s+t<1},barycentricToCartesian(e,t,s,n,i=h.vec3()){const a=e[0],r=e[1],l=e[2];return i[0]=t[0]*a+s[0]*r+n[0]*l,i[1]=t[1]*a+s[1]*r+n[1]*l,i[2]=t[2]*a+s[2]*r+n[2]*l,i},mergeVertices(e,t,s,n){const i={},a=[],r=[],l=t?[]:null,o=s?[]:null,c=[];let u,h,p,A;const d=1e4;let f,I,y=0;for(f=0,I=e.length;f{const e=new r(3),t=new r(3),s=new r(3),n=new r(3),i=new r(3),a=new r(3);return(r,l,o)=>{let c,u;const p=new Array(r.length/3);let A,d,f,I,y,m,v;for(c=0,u=l.length;c{const e=new r(3),t=new r(3),s=new r(3),n=new r(3),i=new r(3),a=new r(3),l=new r(3);return(r,o,c)=>{const u=new Float32Array(r.length);for(let p=0;p>24&255,u=p>>16&255,c=p>>8&255,o=255&p,l=t[s],r=3*l,i[A++]=e[r],i[A++]=e[r+1],i[A++]=e[r+2],a[d++]=o,a[d++]=c,a[d++]=u,a[d++]=h,l=t[s+1],r=3*l,i[A++]=e[r],i[A++]=e[r+1],i[A++]=e[r+2],a[d++]=o,a[d++]=c,a[d++]=u,a[d++]=h,l=t[s+2],r=3*l,i[A++]=e[r],i[A++]=e[r+1],i[A++]=e[r+2],a[d++]=o,a[d++]=c,a[d++]=u,a[d++]=h,p++;return{positions:i,colors:a}},faceToVertexNormals(e,t,s={}){const n=s.smoothNormalsAngleThreshold||20,i={},a=[],r={};let l,o,c,u,p;const A=1e4;let d,f,I,y,m,v;for(f=0,y=e.length;f{const e=new r(4),t=new r(4);return(s,n,i,a,r)=>{e[0]=n[0],e[1]=n[1],e[2]=n[2],e[3]=1,h.transformVec4(s,e,t),a[0]=t[0],a[1]=t[1],a[2]=t[2],e[0]=i[0],e[1]=i[1],e[2]=i[2],h.transformVec3(s,e,t),h.normalizeVec3(t),r[0]=t[0],r[1]=t[1],r[2]=t[2]}})(),canvasPosToWorldRay:(()=>{const e=new r(16),t=new r(16),s=new r(4),n=new r(4),i=new r(4),a=new r(4);return(r,l,o,c,u,p)=>{const A=h.mulMat4(o,l,e),d=h.inverseMat4(A,t),f=r.width,I=r.height,y=(c[0]-f/2)/(f/2),m=-(c[1]-I/2)/(I/2);s[0]=y,s[1]=m,s[2]=-1,s[3]=1,h.transformVec4(d,s,n),h.mulVec4Scalar(n,1/n[3]),i[0]=y,i[1]=m,i[2]=1,i[3]=1,h.transformVec4(d,i,a),h.mulVec4Scalar(a,1/a[3]),u[0]=a[0],u[1]=a[1],u[2]=a[2],h.subVec3(a,n,p),h.normalizeVec3(p)}})(),canvasPosToLocalRay:(()=>{const e=new r(3),t=new r(3);return(s,n,i,a,r,l,o)=>{h.canvasPosToWorldRay(s,n,i,r,e,t),h.worldRayToLocalRay(a,e,t,l,o)}})(),worldRayToLocalRay:(()=>{const e=new r(16),t=new r(4),s=new r(4);return(n,i,a,r,l)=>{const o=h.inverseMat4(n,e);t[0]=i[0],t[1]=i[1],t[2]=i[2],t[3]=1,h.transformVec4(o,t,s),r[0]=s[0],r[1]=s[1],r[2]=s[2],h.transformVec3(o,a,l)}})(),buildKDTree:(()=>{const e=new Float32Array;function t(s,n,i,a){const l=new r(6),o={triangles:null,left:null,right:null,leaf:!1,splitDim:0,aabb:l};let c,u;for(l[0]=l[1]=l[2]=Number.POSITIVE_INFINITY,l[3]=l[4]=l[5]=Number.NEGATIVE_INFINITY,c=0,u=s.length;cl[3]&&(l[3]=i[t]),i[t+1]l[4]&&(l[4]=i[t+1]),i[t+2]l[5]&&(l[5]=i[t+2])}}if(s.length<20||a>10)return o.triangles=s,o.leaf=!0,o;e[0]=l[3]-l[0],e[1]=l[4]-l[1],e[2]=l[5]-l[2];let p=0;e[1]>e[p]&&(p=1),e[2]>e[p]&&(p=2),o.splitDim=p;const A=(l[p]+l[p+3])/2,d=new Array(s.length);let f=0;const I=new Array(s.length);let y=0;for(c=0,u=s.length;c{const n=e.length/3,i=new Array(n);for(let e=0;e=0?1:-1),n=(1-Math.abs(s))*(n>=0?1:-1));const a=Math.sqrt(s*s+n*n+i*i);return t[0]=s/a,t[1]=n/a,t[2]=i/a,t},octDecodeVec2s(e,t){for(let s=0,n=0,i=e.length;s=0?1:-1),a=(1-Math.abs(i))*(a>=0?1:-1));const l=Math.sqrt(i*i+a*a+r*r);t[n+0]=i/l,t[n+1]=a/l,t[n+2]=r/l,n+=3}return t}};h.buildEdgeIndices=function(){const e=[],t=[],s=[],n=[],i=[];let a=0;const r=new Uint16Array(3),l=new Uint16Array(3),o=new Uint16Array(3),c=h.vec3(),u=h.vec3(),p=h.vec3(),A=h.vec3(),d=h.vec3(),f=h.vec3(),I=h.vec3();return function(y,m,v,w){!function(i,a){const r={};let l,o,c,u;const h=Math.pow(10,4);let p,A,d=0;for(p=0,A=i.length;pE)||(N=s[_.index1],x=s[_.index2],(!L&&N>65535||x>65535)&&(L=!0),g.push(N),g.push(x));return L?new Uint32Array(g):new Uint16Array(g)}}(),h.planeClipsPositions3=function(e,t,s,n=3){for(let i=0,a=s.length;i=this._headLength){const e=this._head;if(e.length=0,this._head=this._tail,this._tail=e,this._index=0,this._headLength=this._head.length,!this._headLength)return}const e=this._head[this._index];return this._index<0?delete this._head[this._index++]:this._head[this._index++]=void 0,this._length--,e}push(e){return this._length++,this._tail.push(e),this}unshift(e){return this._head[--this._index]=e,this._length++,this}}const d={build:{version:"0.8"},client:{browser:navigator&&navigator.userAgent?navigator.userAgent:"n/a"},components:{scenes:0,models:0,meshes:0,objects:0},memory:{meshes:0,positions:0,colors:0,normals:0,uvs:0,indices:0,textures:0,transforms:0,materials:0,programs:0},frame:{frameCount:0,fps:0,useProgram:0,bindTexture:0,bindArray:0,drawElements:0,drawArrays:0,tasksRun:0,tasksScheduled:0}};var f=[["0",10],["A",26],["a",26],["_",1],["$",1]].map((function(e){for(var t=[],s=e[0].charCodeAt(0),n=s+e[1],i=s;i{};t=t||n,s=s||n;var i=new XMLHttpRequest;i.overrideMimeType("application/json"),i.open("GET",e,!0),i.addEventListener("load",(function(e){var n=e.target.response;if(200===this.status){var i;try{i=JSON.parse(n)}catch(e){s(`utils.loadJSON(): Failed to parse JSON response - ${e}`)}t(i)}else if(0===this.status){console.warn("loadFile: HTTP Status 0 received.");try{t(JSON.parse(n))}catch(e){s(`utils.loadJSON(): Failed to parse JSON response - ${e}`)}}else s(e)}),!1),i.addEventListener("error",(function(e){s(e)}),!1),i.send(null)},loadArraybuffer:function(e,t,s){var n=e=>{};t=t||n,s=s||n;const i=e.match(/^data:(.*?)(;base64)?,(.*)$/);if(i){const e=!!i[2];var a=i[3];a=window.decodeURIComponent(a),e&&(a=window.atob(a));try{const e=new ArrayBuffer(a.length),s=new Uint8Array(e);for(var r=0;r{w.removeItem(e.id),delete R.scenes[e.id],delete v[e.id],d.components.scenes--}))},this.clear=function(){let e;for(const t in R.scenes)R.scenes.hasOwnProperty(t)&&(e=R.scenes[t],"default.scene"===t?e.clear():(e.destroy(),delete R.scenes[e.id]))},this.scheduleTask=function(e,t){g.push(e),g.push(t)},this.runTasks=function(e=-1){let t,s,n=(new Date).getTime(),i=0;for(;g.length>0&&(e<0||n0&&b>0){var t=1e3/b;P+=t,T.push(t),T.length>=30&&(P-=T.shift()),d.frame.fps=Math.round(P/T.length)}!function(e){const t=R.runTasks(e+10),s=R.getNumTasks();d.frame.tasksRun=t,d.frame.tasksScheduled=s,d.frame.tasksBudget=10}(e),function(e){for(var t in E.time=e,R.scenes)if(R.scenes.hasOwnProperty(t)){var s=R.scenes[t];E.sceneId=t,E.startTime=s.startTime,E.deltaTime=null!=E.prevTime?E.time-E.prevTime:0,s.fire("tick",E,!0)}E.prevTime=e}(e),function(){const e=R.scenes,t=!1;let s,n,i,a,r;for(r in e)e.hasOwnProperty(r)&&(s=e[r],n=v[r],n||(n=v[r]={}),i=s.ticksPerOcclusionTest,n.ticksPerOcclusionTest!==i&&(n.ticksPerOcclusionTest=i,n.renderCountdown=i),--s.occlusionTestCountdown<=0&&(s.doOcclusionTest(),s.occlusionTestCountdown=i),a=s.ticksPerRender,n.ticksPerRender!==a&&(n.ticksPerRender=a,n.renderCountdown=a),0==--n.renderCountdown&&(s.render(t),n.renderCountdown=a))}(),D=e,void 0!==window.requestPostAnimationFrame?window.requestPostAnimationFrame(C):requestAnimationFrame(C)};void 0!==window.requestPostAnimationFrame?window.requestPostAnimationFrame(C):requestAnimationFrame(C);class _{get type(){return"Component"}get isComponent(){return!0}constructor(e=null,t={}){if(this.scene=null,"Scene"===this.type)this.scene=this,this.viewer=t.viewer;else{if("Scene"===e.type)this.scene=e;else{if(!(e instanceof _))throw"Invalid param: owner must be a Component";this.scene=e.scene}this._owner=e}this._dontClear=!!t.dontClear,this._renderer=this.scene._renderer,this.meta=t.meta||{},this.id=t.id,this.destroyed=!1,this._attached={},this._attachments=null,this._subIdMap=null,this._subIdEvents=null,this._eventSubs=null,this._eventSubsNum=null,this._events=null,this._eventCallDepth=0,this._ownedComponents=null,this!==this.scene&&this.scene._addComponent(this),this._updateScheduled=!1,e&&e._own(this)}glRedraw(){this._renderer&&(this._renderer.imageDirty(),this.castsShadow&&this._renderer.shadowsDirty())}glResort(){this._renderer&&this._renderer.needStateSort()}get owner(){return this._owner}isType(e){return this.type===e}fire(e,t,s){this._events||(this._events={}),this._eventSubs||(this._eventSubs={},this._eventSubsNum={}),!0!==s&&(this._events[e]=t||!0);const n=this._eventSubs[e];let i;if(n)for(const s in n)n.hasOwnProperty(s)&&(i=n[s],this._eventCallDepth++,this._eventCallDepth<300?i.callback.call(i.scope,t):this.error("fire: potential stack overflow from recursive event '"+e+"' - dropping this event"),this._eventCallDepth--)}on(t,s,n){this._events||(this._events={}),this._subIdMap||(this._subIdMap=new e),this._subIdEvents||(this._subIdEvents={}),this._eventSubs||(this._eventSubs={}),this._eventSubsNum||(this._eventSubsNum={});let i=this._eventSubs[t];i?this._eventSubsNum[t]++:(i={},this._eventSubs[t]=i,this._eventSubsNum[t]=1);const a=this._subIdMap.addItem();i[a]={callback:s,scope:n||this},this._subIdEvents[a]=t;const r=this._events[t];return void 0!==r&&s.call(n||this,r),a}off(e){if(null==e)return;if(!this._subIdEvents)return;const t=this._subIdEvents[e];if(t){delete this._subIdEvents[e];const s=this._eventSubs[t];s&&(delete s[e],this._eventSubsNum[t]--),this._subIdMap.removeItem(e)}}once(e,t,s){const n=this,i=this.on(e,(function(e){n.off(i),t.call(s||this,e)}),s)}hasSubs(e){return this._eventSubsNum&&this._eventSubsNum[e]>0}log(e){e="[LOG]"+this._message(e),window.console.log(e),this.scene.fire("log",e)}_message(e){return" ["+this.type+" "+m.inQuotes(this.id)+"]: "+e}warn(e){e="[WARN]"+this._message(e),window.console.warn(e),this.scene.fire("warn",e)}error(e){e="[ERROR]"+this._message(e),window.console.error(e),this.scene.fire("error",e)}_attach(e){const t=e.name;if(!t)return void this.error("Component 'name' expected");let s=e.component;const n=e.sceneDefault,i=e.sceneSingleton,a=e.type,r=e.on,l=!1!==e.recompiles;if(s&&(m.isNumeric(s)||m.isString(s))){const e=s;if(s=this.scene.components[e],!s)return void this.error("Component not found: "+m.inQuotes(e))}if(!s)if(!0===i){const e=this.scene.types[a];for(const t in e)if(e.hasOwnProperty){s=e[t];break}if(!s)return this.error("Scene has no default component for '"+t+"'"),null}else if(!0===n&&(s=this.scene[t],!s))return this.error("Scene has no default component for '"+t+"'"),null;if(s){if(s.scene.id!==this.scene.id)return void this.error("Not in same scene: "+s.type+" "+m.inQuotes(s.id));if(a&&!s.isType(a))return void this.error("Expected a "+a+" type or subtype: "+s.type+" "+m.inQuotes(s.id))}this._attachments||(this._attachments={});const o=this._attached[t];let c,u,h;if(o){if(s&&o.id===s.id)return;const e=this._attachments[o.id];for(c=e.subs,u=0,h=c.length;u{delete this._ownedComponents[e.id]}),this)}_needUpdate(e){this._updateScheduled||(this._updateScheduled=!0,0===e?this._doUpdate():R.scheduleTask(this._doUpdate,this))}_doUpdate(){this._updateScheduled&&(this._updateScheduled=!1,this._update&&this._update())}_update(){}clear(){if(this._ownedComponents)for(var e in this._ownedComponents)if(this._ownedComponents.hasOwnProperty(e)){this._ownedComponents[e].destroy(),delete this._ownedComponents[e]}}destroy(){if(this.destroyed)return;let e,t,s,n,i,a;if(this.fire("destroyed",this.destroyed=!0),this._attachments)for(e in this._attachments)if(this._attachments.hasOwnProperty(e)){for(t=this._attachments[e],s=t.component,n=t.subs,i=0,a=n.length;i=0?1:0,this.testVertex[1]=this.normal[1]>=0?1:0,this.testVertex[2]=this.normal[2]>=0?1:0}}class x{constructor(){this.planes=[new N,new N,new N,new N,new N,new N]}}function L(e,t,s){const n=h.mulMat4(s,t,S),i=n[0],a=n[1],r=n[2],l=n[3],o=n[4],c=n[5],u=n[6],p=n[7],A=n[8],d=n[9],f=n[10],I=n[11],y=n[12],m=n[13],v=n[14],w=n[15];e.planes[0].set(l-i,p-o,I-A,w-y),e.planes[1].set(l+i,p+o,I+A,w+y),e.planes[2].set(l-a,p-c,I-d,w-m),e.planes[3].set(l+a,p+c,I+d,w+m),e.planes[4].set(l-r,p-u,I-f,w-v),e.planes[5].set(l+r,p+u,I+f,w+v)}function M(e,t){let s=x.INSIDE;const n=B,i=O;n[0]=t[0],n[1]=t[1],n[2]=t[2],i[0]=t[3],i[1]=t[4],i[2]=t[5];const a=[n,i];for(let t=0;t<6;++t){const n=e.planes[t];if(n.normal[0]*a[n.testVertex[0]][0]+n.normal[1]*a[n.testVertex[1]][1]+n.normal[2]*a[n.testVertex[2]][2]+n.offset<0)return x.OUTSIDE;n.normal[0]*a[1-n.testVertex[0]][0]+n.normal[1]*a[1-n.testVertex[1]][1]+n.normal[2]*a[1-n.testVertex[2]][2]+n.offset<0&&(s=x.INTERSECT)}return s}x.INSIDE=0,x.INTERSECT=1,x.OUTSIDE=2;class F extends _{constructor(e={}){if(!e.viewer)throw"[MarqueePicker] Missing config: viewer";if(!e.objectsKdTree3)throw"[MarqueePicker] Missing config: objectsKdTree3";super(e.viewer.scene,e),this.viewer=e.viewer,this._objectsKdTree3=e.objectsKdTree3,this._canvasMarqueeCorner1=h.vec2(),this._canvasMarqueeCorner2=h.vec2(),this._canvasMarquee=h.AABB2(),this._marqueeFrustum=new x,this._marqueeFrustumProjMat=h.mat4(),this._pickMode=!1,this._marqueeElement=document.createElement("div"),document.body.appendChild(this._marqueeElement),this._marqueeElement.style.position="absolute",this._marqueeElement.style["z-index"]="40000005",this._marqueeElement.style.width="8px",this._marqueeElement.style.height="8px",this._marqueeElement.style.visibility="hidden",this._marqueeElement.style.top="0px",this._marqueeElement.style.left="0px",this._marqueeElement.style["box-shadow"]="0 2px 5px 0 #182A3D;",this._marqueeElement.style.opacity=1,this._marqueeElement.style["pointer-events"]="none"}setMarqueeCorner1(e){this._canvasMarqueeCorner1.set(e),this._canvasMarqueeCorner2.set(e),this._updateMarquee()}setMarqueeCorner2(e){this._canvasMarqueeCorner2.set(e),this._updateMarquee()}setMarquee(e,t){this._canvasMarqueeCorner1.set(e),this._canvasMarqueeCorner2.set(t),this._updateMarquee()}setMarqueeVisible(e){this._marqueVisible=e,this._marqueeElement.style.visibility=e?"visible":"hidden"}getMarqueeVisible(){return this._marqueVisible}setPickMode(e){if(e!==F.PICK_MODE_INSIDE&&e!==F.PICK_MODE_INTERSECTS)throw"Illegal MarqueePicker pickMode: must be MarqueePicker.PICK_MODE_INSIDE or MarqueePicker.PICK_MODE_INTERSECTS";e!==this._pickMode&&(this._marqueeElement.style["background-image"]=e===F.PICK_MODE_INSIDE?"url(\"data:image/svg+xml,%3csvg width='100%25' height='100%25' xmlns='http://www.w3.org/2000/svg'%3e%3crect width='100%25' height='100%25' fill='none' rx='6' ry='6' stroke='%23333' stroke-width='4'/%3e%3c/svg%3e\")":"url(\"data:image/svg+xml,%3csvg width='100%25' height='100%25' xmlns='http://www.w3.org/2000/svg'%3e%3crect width='100%25' height='100%25' fill='none' rx='6' ry='6' stroke='%23333' stroke-width='4' stroke-dasharray='6%2c 14' stroke-dashoffset='0' stroke-linecap='square'/%3e%3c/svg%3e\")",this._pickMode=e)}getPickMode(){return this._pickMode}clear(){this.fire("clear",{})}pick(){this._updateMarquee(),this._buildMarqueeFrustum();const e=[],t=(s,n=x.INTERSECT)=>{if(n===x.INTERSECT&&(n=M(this._marqueeFrustum,s.aabb)),n!==x.OUTSIDE){if(s.entities){const t=s.entities;for(let s=0,n=t.length;s3||this._canvasMarquee[3]-this._canvasMarquee[1]>3)&&t(this._objectsKdTree3.root),this.fire("picked",e),e}_updateMarquee(){this._canvasMarquee[0]=Math.min(this._canvasMarqueeCorner1[0],this._canvasMarqueeCorner2[0]),this._canvasMarquee[1]=Math.min(this._canvasMarqueeCorner1[1],this._canvasMarqueeCorner2[1]),this._canvasMarquee[2]=Math.max(this._canvasMarqueeCorner1[0],this._canvasMarqueeCorner2[0]),this._canvasMarquee[3]=Math.max(this._canvasMarqueeCorner1[1],this._canvasMarqueeCorner2[1]),this._marqueeElement.style.width=this._canvasMarquee[2]-this._canvasMarquee[0]+"px",this._marqueeElement.style.height=this._canvasMarquee[3]-this._canvasMarquee[1]+"px",this._marqueeElement.style.left=`${this._canvasMarquee[0]}px`,this._marqueeElement.style.top=`${this._canvasMarquee[1]}px`}_buildMarqueeFrustum(){const e=this.viewer.scene.canvas.canvas,t=e.clientWidth,s=e.clientHeight,n=e.clientLeft,i=e.clientTop,a=2/t,r=2/s,l=e.clientHeight/e.clientWidth,o=(this._canvasMarquee[0]-n)*a-1,c=(this._canvasMarquee[2]-n)*a-1,u=-(this._canvasMarquee[3]-i)*r+1,p=-(this._canvasMarquee[1]-i)*r+1,A=this.viewer.scene.camera.frustum.near*(17*l);h.frustumMat4(o,c,u*l,p*l,A,1e4,this._marqueeFrustumProjMat),L(this._marqueeFrustum,this.viewer.scene.camera.viewMatrix,this._marqueeFrustumProjMat)}destroy(){super.destroy(),this._marqueeElement.parentElement&&(this._marqueeElement.parentElement.removeChild(this._marqueeElement),this._marqueeElement=null,this._objectsKdTree3=null)}}F.PICK_MODE_INTERSECTS=0,F.PICK_MODE_INSIDE=1;class H{constructor(e,t,s){this.id=s&&s.id?s.id:e,this.viewer=t,this._subIdMap=null,this._subIdEvents=null,this._eventSubs=null,this._eventSubsNum=null,this._events=null,this._eventCallDepth=0,t.addPlugin(this)}fire(e,t,s){this._events||(this._events={}),this._eventSubs||(this._eventSubs={},this._eventSubsNum={}),!0!==s&&(this._events[e]=t||!0);const n=this._eventSubs[e];let i;if(n)for(const s in n)n.hasOwnProperty(s)&&(i=n[s],this._eventCallDepth++,this._eventCallDepth<300?i.callback.call(i.scope,t):this.error("fire: potential stack overflow from recursive event '"+e+"' - dropping this event"),this._eventCallDepth--)}on(t,s,n){this._events||(this._events={}),this._subIdMap||(this._subIdMap=new e),this._subIdEvents||(this._subIdEvents={}),this._eventSubs||(this._eventSubs={}),this._eventSubsNum||(this._eventSubsNum={});let i=this._eventSubs[t];i?this._eventSubsNum[t]++:(i={},this._eventSubs[t]=i,this._eventSubsNum[t]=1);const a=this._subIdMap.addItem();i[a]={callback:s,scope:n||this},this._subIdEvents[a]=t;const r=this._events[t];return void 0!==r&&s.call(n||this,r),a}off(e){if(null==e)return;if(!this._subIdEvents)return;const t=this._subIdEvents[e];if(t){delete this._subIdEvents[e];const s=this._eventSubs[t];s&&(delete s[e],this._eventSubsNum[t]--),this._subIdMap.removeItem(e)}}once(e,t,s){const n=this,i=this.on(e,(function(e){n.off(i),t.call(s||this,e)}),s)}hasSubs(e){return this._eventSubsNum&&this._eventSubsNum[e]>0}log(e){console.log(`[xeokit plugin ${this.id}]: ${e}`)}warn(e){console.warn(`[xeokit plugin ${this.id}]: ${e}`)}error(e){console.error(`[xeokit plugin ${this.id}]: ${e}`)}send(e,t){}destroy(){this.viewer.removePlugin(this)}}const U=h.vec3(),G=function(){const e=new Float64Array(16),t=new Float64Array(4),s=new Float64Array(4);return function(n,i,a){return a=a||e,t[0]=i[0],t[1]=i[1],t[2]=i[2],t[3]=1,h.transformVec4(n,t,s),h.setMat4Translation(n,s,a),a.slice()}}();function j(e,t,s){const n=Float32Array.from([e[0]])[0],i=e[0]-n,a=Float32Array.from([e[1]])[0],r=e[1]-a,l=Float32Array.from([e[2]])[0],o=e[2]-l;t[0]=n,t[1]=a,t[2]=l,s[0]=i,s[1]=r,s[2]=o}function V(e,t,s,n=1e3){const i=h.getPositionsCenter(e,U),a=Math.round(i[0]/n)*n,r=Math.round(i[1]/n)*n,l=Math.round(i[2]/n)*n;s[0]=a,s[1]=r,s[2]=l;const o=0!==s[0]||0!==s[1]||0!==s[2];if(o)for(let s=0,n=e.length;s0?this.meshes[0]._colorize[3]/255:1}set opacity(e){if(0===this.meshes.length)return;const t=null!=e,s=this.meshes[0]._colorize[3];let n=255;if(t){if(e<0?e=0:e>1&&(e=1),n=Math.floor(255*e),s===n)return}else if(n=255,s===n)return;for(let e=0,t=this.meshes.length;e{this._viewPosDirty=!0,this._needUpdate()})),this._onCameraProjMatrix=this.scene.camera.on("projMatrix",(()=>{this._canvasPosDirty=!0,this._needUpdate()})),this._onEntityDestroyed=null,this._onEntityModelDestroyed=null,this._renderer.addMarker(this),this.entity=t.entity,this.worldPos=t.worldPos,this.occludable=t.occludable}_update(){if(this._viewPosDirty&&(h.transformPoint3(this.scene.camera.viewMatrix,this._worldPos,this._viewPos),this._viewPosDirty=!1,this._canvasPosDirty=!0,this.fire("viewPos",this._viewPos)),this._canvasPosDirty){se.set(this._viewPos),se[3]=1,h.transformPoint4(this.scene.camera.projMatrix,se,ne);const e=this.scene.canvas.boundary;this._canvasPos[0]=Math.floor((1+ne[0]/ne[3])*e[2]/2),this._canvasPos[1]=Math.floor((1-ne[1]/ne[3])*e[3]/2),this._canvasPosDirty=!1,this.fire("canvasPos",this._canvasPos)}}_setVisible(e){this._visible,this._visible=e,this.fire("visible",this._visible)}set entity(e){if(this._entity){if(this._entity===e)return;null!==this._onEntityDestroyed&&(this._entity.off(this._onEntityDestroyed),this._onEntityDestroyed=null),null!==this._onEntityModelDestroyed&&(this._entity.model.off(this._onEntityModelDestroyed),this._onEntityModelDestroyed=null)}this._entity=e,this._entity&&(this._entity instanceof te?this._onEntityModelDestroyed=this._entity.model.on("destroyed",(()=>{this._entity=null,this._onEntityModelDestroyed=null})):this._onEntityDestroyed=this._entity.on("destroyed",(()=>{this._entity=null,this._onEntityDestroyed=null}))),this.fire("entity",this._entity,!0)}get entity(){return this._entity}set occludable(e){(e=!!e)!==this._occludable&&(this._occludable=e)}get occludable(){return this._occludable}set worldPos(e){this._worldPos.set(e||[0,0,0]),j(this._worldPos,this._origin,this._rtcPos),this._occludable&&this._renderer.markerWorldPosUpdated(this),this._viewPosDirty=!0,this.fire("worldPos",this._worldPos),this._needUpdate()}get worldPos(){return this._worldPos}get origin(){return this._origin}get rtcPos(){return this._rtcPos}get viewPos(){return this._update(),this._viewPos}get canvasPos(){return this._update(),this._canvasPos}get visible(){return!!this._visible}destroy(){this.fire("destroyed",!0),this.scene.camera.off(this._onCameraViewMatrix),this.scene.camera.off(this._onCameraProjMatrix),this._entity&&(null!==this._onEntityDestroyed&&this._entity.off(this._onEntityDestroyed),null!==this._onEntityModelDestroyed&&this._entity.model.off(this._onEntityModelDestroyed)),this._renderer.removeMarker(this),super.destroy()}}class ae{constructor(e,t={}){this._color=t.color||"black",this._highlightClass="viewer-ruler-wire-highlighted",this._wire=document.createElement("div"),this._wire.className+=this._wire.className?" viewer-ruler-wire":"viewer-ruler-wire",this._wireClickable=document.createElement("div"),this._wireClickable.className+=this._wireClickable.className?" viewer-ruler-wire-clickable":"viewer-ruler-wire-clickable",this._thickness=t.thickness||1,this._thicknessClickable=t.thicknessClickable||6,this._visible=!0,this._culled=!1;var s=this._wire,n=s.style;n.border="solid "+this._thickness+"px "+this._color,n.position="absolute",n["z-index"]=void 0===t.zIndex?"2000001":t.zIndex,n.width="0px",n.height="0px",n.visibility="visible",n.top="0px",n.left="0px",n["-webkit-transform-origin"]="0 0",n["-moz-transform-origin"]="0 0",n["-ms-transform-origin"]="0 0",n["-o-transform-origin"]="0 0",n["transform-origin"]="0 0",n["-webkit-transform"]="rotate(0deg)",n["-moz-transform"]="rotate(0deg)",n["-ms-transform"]="rotate(0deg)",n["-o-transform"]="rotate(0deg)",n.transform="rotate(0deg)",n.opacity=1,n["pointer-events"]="none",t.onContextMenu,e.appendChild(s);var i=this._wireClickable,a=i.style;a.border="solid "+this._thicknessClickable+"px "+this._color,a.position="absolute",a["z-index"]=void 0===t.zIndex?"2000002":t.zIndex+1,a.width="0px",a.height="0px",a.visibility="visible",a.top="0px",a.left="0px",a["-webkit-transform-origin"]="0 0",a["-moz-transform-origin"]="0 0",a["-ms-transform-origin"]="0 0",a["-o-transform-origin"]="0 0",a["transform-origin"]="0 0",a["-webkit-transform"]="rotate(0deg)",a["-moz-transform"]="rotate(0deg)",a["-ms-transform"]="rotate(0deg)",a["-o-transform"]="rotate(0deg)",a.transform="rotate(0deg)",a.opacity=0,a["pointer-events"]="none",t.onContextMenu,e.appendChild(i),t.onMouseOver&&i.addEventListener("mouseover",(e=>{t.onMouseOver(e,this)})),t.onMouseLeave&&i.addEventListener("mouseleave",(e=>{t.onMouseLeave(e,this)})),t.onMouseWheel&&i.addEventListener("wheel",(e=>{t.onMouseWheel(e,this)})),t.onContextMenu&&i.addEventListener("contextmenu",(e=>{t.onContextMenu(e,this),e.preventDefault()})),this._x1=0,this._y1=0,this._x2=0,this._y2=0,this._update()}get visible(){return"visible"===this._wire.style.visibility}_update(){var e=Math.abs(Math.sqrt((this._x1-this._x2)*(this._x1-this._x2)+(this._y1-this._y2)*(this._y1-this._y2))),t=180*Math.atan2(this._y2-this._y1,this._x2-this._x1)/Math.PI,s=this._wire.style;s.width=Math.round(e)+"px",s.left=Math.round(this._x1)+"px",s.top=Math.round(this._y1)+"px",s["-webkit-transform"]="rotate("+t+"deg)",s["-moz-transform"]="rotate("+t+"deg)",s["-ms-transform"]="rotate("+t+"deg)",s["-o-transform"]="rotate("+t+"deg)",s.transform="rotate("+t+"deg)";var n=this._wireClickable.style;n.width=Math.round(e)+"px",n.left=Math.round(this._x1)+"px",n.top=Math.round(this._y1)+"px",n["-webkit-transform"]="rotate("+t+"deg)",n["-moz-transform"]="rotate("+t+"deg)",n["-ms-transform"]="rotate("+t+"deg)",n["-o-transform"]="rotate("+t+"deg)",n.transform="rotate("+t+"deg)"}setStartAndEnd(e,t,s,n){this._x1=e,this._y1=t,this._x2=s,this._y2=n,this._update()}setColor(e){this._color=e||"black",this._wire.style.border="solid "+this._thickness+"px "+this._color}setOpacity(e){this._wire.style.opacity=e}setVisible(e){this._visible!==e&&(this._visible=!!e,this._wire.style.visibility=this._visible&&!this._culled?"visible":"hidden")}setCulled(e){this._culled!==e&&(this._culled=!!e,this._wire.style.visibility=this._visible&&!this._culled?"visible":"hidden")}setClickable(e){this._wireClickable.style["pointer-events"]=e?"all":"none"}setHighlighted(e){this._highlighted!==e&&(this._highlighted=!!e,this._highlighted?this._wire.classList.add(this._highlightClass):this._wire.classList.remove(this._highlightClass))}destroy(e){this._wire.parentElement&&this._wire.parentElement.removeChild(this._wire),this._wireClickable.parentElement&&this._wireClickable.parentElement.removeChild(this._wireClickable)}}class re{constructor(e,t={}){this._highlightClass="viewer-ruler-dot-highlighted",this._x=0,this._y=0,this._visible=!0,this._dot=document.createElement("div"),this._dot.className+=this._dot.className?" viewer-ruler-dot":"viewer-ruler-dot",this._dotClickable=document.createElement("div"),this._dotClickable.className+=this._dotClickable.className?" viewer-ruler-dot-clickable":"viewer-ruler-dot-clickable",this._visible=!0,this._culled=!1;var s=this._dot,n=s.style;n["border-radius"]="25px",n.border="solid 2px white",n.background="lightgreen",n.position="absolute",n["z-index"]=void 0===t.zIndex?"40000005":t.zIndex,n.width="8px",n.height="8px",n.visibility=!1!==t.visible?"visible":"hidden",n.top="0px",n.left="0px",n["box-shadow"]="0 2px 5px 0 #182A3D;",n.opacity=1,n["pointer-events"]="none",t.onContextMenu,e.appendChild(s);var i=this._dotClickable,a=i.style;a["border-radius"]="35px",a.border="solid 10px white",a.position="absolute",a["z-index"]=void 0===t.zIndex?"40000007":t.zIndex+1,a.width="8px",a.height="8px",a.visibility="visible",a.top="0px",a.left="0px",a.opacity=0,a["pointer-events"]="none",t.onContextMenu,e.appendChild(i),t.onMouseOver&&i.addEventListener("mouseover",(e=>{t.onMouseOver(e,this)})),t.onMouseLeave&&i.addEventListener("mouseleave",(e=>{t.onMouseLeave(e,this)})),t.onMouseWheel&&i.addEventListener("wheel",(e=>{t.onMouseWheel(e,this)})),t.onContextMenu&&i.addEventListener("contextmenu",(e=>{t.onContextMenu(e,this),e.preventDefault()})),this.setPos(t.x||0,t.y||0),this.setFillColor(t.fillColor),this.setBorderColor(t.borderColor)}setPos(e,t){this._x=e,this._y=t;var s=this._dot.style;s.left=Math.round(e)-4+"px",s.top=Math.round(t)-4+"px";var n=this._dotClickable.style;n.left=Math.round(e)-9+"px",n.top=Math.round(t)-9+"px"}setFillColor(e){this._dot.style.background=e||"lightgreen"}setBorderColor(e){this._dot.style.border="solid 2px"+(e||"black")}setOpacity(e){this._dot.style.opacity=e}setVisible(e){this._visible!==e&&(this._visible=!!e,this._dot.style.visibility=this._visible&&!this._culled?"visible":"hidden")}setCulled(e){this._culled!==e&&(this._culled=!!e,this._dot.style.visibility=this._visible&&!this._culled?"visible":"hidden")}setClickable(e){this._dotClickable.style["pointer-events"]=e?"all":"none"}setHighlighted(e){this._highlighted!==e&&(this._highlighted=!!e,this._highlighted?this._dot.classList.add(this._highlightClass):this._dot.classList.remove(this._highlightClass))}destroy(){this.setVisible(!1),this._dot.parentElement&&this._dot.parentElement.removeChild(this._dot),this._dotClickable.parentElement&&this._dotClickable.parentElement.removeChild(this._dotClickable)}}class le{constructor(e,t={}){this._highlightClass="viewer-ruler-label-highlighted",this._prefix=t.prefix||"",this._x=0,this._y=0,this._visible=!0,this._culled=!1,this._label=document.createElement("div"),this._label.className+=this._label.className?" viewer-ruler-label":"viewer-ruler-label";var s=this._label,n=s.style;n["border-radius"]="5px",n.color="white",n.padding="4px",n.border="solid 1px",n.background="lightgreen",n.position="absolute",n["z-index"]=void 0===t.zIndex?"5000005":t.zIndex,n.width="auto",n.height="auto",n.visibility="visible",n.top="0px",n.left="0px",n["pointer-events"]="all",n.opacity=1,t.onContextMenu,s.innerText="",e.appendChild(s),this.setPos(t.x||0,t.y||0),this.setFillColor(t.fillColor),this.setBorderColor(t.fillColor),this.setText(t.text),t.onMouseOver&&s.addEventListener("mouseover",(e=>{t.onMouseOver(e,this),e.preventDefault()})),t.onMouseLeave&&s.addEventListener("mouseleave",(e=>{t.onMouseLeave(e,this),e.preventDefault()})),t.onMouseWheel&&s.addEventListener("wheel",(e=>{t.onMouseWheel(e,this)})),t.onContextMenu&&s.addEventListener("contextmenu",(e=>{t.onContextMenu(e,this),e.preventDefault()}))}setPos(e,t){this._x=e,this._y=t;var s=this._label.style;s.left=Math.round(e)-20+"px",s.top=Math.round(t)-12+"px"}setPosOnWire(e,t,s,n){var i=e+.5*(s-e),a=t+.5*(n-t),r=this._label.style;r.left=Math.round(i)-20+"px",r.top=Math.round(a)-12+"px"}setPosBetweenWires(e,t,s,n,i,a){var r=(e+s+i)/3,l=(t+n+a)/3,o=this._label.style;o.left=Math.round(r)-20+"px",o.top=Math.round(l)-12+"px"}setText(e){this._label.innerHTML=this._prefix+(e||"")}setFillColor(e){this._fillColor=e||"lightgreen",this._label.style.background=this._fillColor}setBorderColor(e){this._borderColor=e||"black",this._label.style.border="solid 1px "+this._borderColor}setOpacity(e){this._label.style.opacity=e}setVisible(e){this._visible!==e&&(this._visible=!!e,this._label.style.visibility=this._visible&&!this._culled?"visible":"hidden")}setCulled(e){this._culled!==e&&(this._culled=!!e,this._label.style.visibility=this._visible&&!this._culled?"visible":"hidden")}setHighlighted(e){this._highlighted!==e&&(this._highlighted=!!e,this._highlighted?this._label.classList.add(this._highlightClass):this._label.classList.remove(this._highlightClass))}setClickable(e){this._label.style["pointer-events"]=e?"all":"none"}destroy(){this._label.parentElement&&this._label.parentElement.removeChild(this._label)}}var oe=h.vec3(),ce=h.vec3();class ue extends _{constructor(e,t={}){if(super(e.viewer.scene,t),this.plugin=e,this._container=t.container,!this._container)throw"config missing: container";this._color=t.color||e.defaultColor;var s=this.plugin.viewer.scene;this._originMarker=new ie(s,t.origin),this._cornerMarker=new ie(s,t.corner),this._targetMarker=new ie(s,t.target),this._originWorld=h.vec3(),this._cornerWorld=h.vec3(),this._targetWorld=h.vec3(),this._wp=new Float64Array(12),this._vp=new Float64Array(12),this._pp=new Float64Array(12),this._cp=new Int16Array(6);const n=t.onMouseOver?e=>{t.onMouseOver(e,this)}:null,i=t.onMouseLeave?e=>{t.onMouseLeave(e,this)}:null,a=t.onContextMenu?e=>{t.onContextMenu(e,this)}:null,r=e=>{this.plugin.viewer.scene.canvas.canvas.dispatchEvent(new WheelEvent("wheel",e))};this._originDot=new re(this._container,{fillColor:this._color,zIndex:void 0!==e.zIndex?e.zIndex+2:void 0,onMouseOver:n,onMouseLeave:i,onMouseWheel:r,onContextMenu:a}),this._cornerDot=new re(this._container,{fillColor:this._color,zIndex:void 0!==e.zIndex?e.zIndex+2:void 0,onMouseOver:n,onMouseLeave:i,onMouseWheel:r,onContextMenu:a}),this._targetDot=new re(this._container,{fillColor:this._color,zIndex:void 0!==e.zIndex?e.zIndex+2:void 0,onMouseOver:n,onMouseLeave:i,onMouseWheel:r,onContextMenu:a}),this._originWire=new ae(this._container,{color:this._color||"blue",thickness:1,zIndex:e.zIndex,onMouseOver:n,onMouseLeave:i,onMouseWheel:r,onContextMenu:a}),this._targetWire=new ae(this._container,{color:this._color||"red",thickness:1,zIndex:void 0!==e.zIndex?e.zIndex+1:void 0,onMouseOver:n,onMouseLeave:i,onMouseWheel:r,onContextMenu:a}),this._angleLabel=new le(this._container,{fillColor:this._color||"#00BBFF",prefix:"",text:"",zIndex:e.zIndex+2,onMouseOver:n,onMouseLeave:i,onMouseWheel:r,onContextMenu:a}),this._wpDirty=!1,this._vpDirty=!1,this._cpDirty=!1,this._visible=!1,this._originVisible=!1,this._cornerVisible=!1,this._targetVisible=!1,this._originWireVisible=!1,this._targetWireVisible=!1,this._angleVisible=!1,this._labelsVisible=!1,this._clickable=!1,this._originMarker.on("worldPos",(e=>{this._originWorld.set(e||[0,0,0]),this._wpDirty=!0,this._needUpdate(0)})),this._cornerMarker.on("worldPos",(e=>{this._cornerWorld.set(e||[0,0,0]),this._wpDirty=!0,this._needUpdate(0)})),this._targetMarker.on("worldPos",(e=>{this._targetWorld.set(e||[0,0,0]),this._wpDirty=!0,this._needUpdate(0)})),this._onViewMatrix=s.camera.on("viewMatrix",(()=>{this._vpDirty=!0,this._needUpdate(0)})),this._onProjMatrix=s.camera.on("projMatrix",(()=>{this._cpDirty=!0,this._needUpdate()})),this._onCanvasBoundary=s.canvas.on("boundary",(()=>{this._cpDirty=!0,this._needUpdate(0)})),this._onSectionPlaneUpdated=s.on("sectionPlaneUpdated",(()=>{this._sectionPlanesDirty=!0,this._needUpdate()})),this.approximate=t.approximate,this.visible=t.visible,this.originVisible=t.originVisible,this.cornerVisible=t.cornerVisible,this.targetVisible=t.targetVisible,this.originWireVisible=t.originWireVisible,this.targetWireVisible=t.targetWireVisible,this.angleVisible=t.angleVisible,this.labelsVisible=t.labelsVisible}_update(){if(!this._visible)return;const e=this.plugin.viewer.scene;if(this._wpDirty&&(this._wp[0]=this._originWorld[0],this._wp[1]=this._originWorld[1],this._wp[2]=this._originWorld[2],this._wp[3]=1,this._wp[4]=this._cornerWorld[0],this._wp[5]=this._cornerWorld[1],this._wp[6]=this._cornerWorld[2],this._wp[7]=1,this._wp[8]=this._targetWorld[0],this._wp[9]=this._targetWorld[1],this._wp[10]=this._targetWorld[2],this._wp[11]=1,this._wpDirty=!1,this._vpDirty=!0),this._vpDirty&&(h.transformPositions4(e.camera.viewMatrix,this._wp,this._vp),this._vp[3]=1,this._vp[7]=1,this._vp[11]=1,this._vpDirty=!1,this._cpDirty=!0),this._sectionPlanesDirty){if(this._isSliced(this._wp))return this._angleLabel.setCulled(!0),this._originWire.setCulled(!0),this._targetWire.setCulled(!0),this._originDot.setCulled(!0),this._cornerDot.setCulled(!0),void this._targetDot.setCulled(!0);this._angleLabel.setCulled(!1),this._originWire.setCulled(!1),this._targetWire.setCulled(!1),this._originDot.setCulled(!1),this._cornerDot.setCulled(!1),this._targetDot.setCulled(!1),this._sectionPlanesDirty=!0}if(this._cpDirty){const A=-.3,d=this._originMarker.viewPos[2],f=this._cornerMarker.viewPos[2],I=this._targetMarker.viewPos[2];if(d>A||f>A||I>A)return this._originDot.setVisible(!1),this._cornerDot.setVisible(!1),this._targetDot.setVisible(!1),this._originWire.setVisible(!1),this._targetWire.setVisible(!1),void this._angleLabel.setCulled(!0);h.transformPositions4(e.camera.project.matrix,this._vp,this._pp);var t=this._pp,s=this._cp,n=e.canvas.canvas.getBoundingClientRect();const y=this._container.getBoundingClientRect();for(var i=n.top-y.top,a=n.left-y.left,r=e.canvas.boundary,l=r[2],o=r[3],c=0,u=0,p=t.length;u{e.snappedToVertex||e.snappedToEdge?(n&&(n.visible=!0,n.canvasPos=e.canvasPos,n.snappedCanvasPos=e.snappedCanvasPos||e.canvasPos,n.snapped=!0),this.markerDiv.style.background="greenyellow",this.markerDiv.style.border="2px solid green"):(n&&(n.visible=!0,n.canvasPos=e.canvasPos,n.snappedCanvasPos=e.canvasPos,n.snapped=!1),this.markerDiv.style.background="pink",this.markerDiv.style.border="2px solid red");const s=e.snappedCanvasPos||e.canvasPos;switch(i=!0,a=e.entity,o.set(e.worldPos),c.set(s),this._mouseState){case 0:this.markerDiv.style.marginLeft=s[0]-5+"px",this.markerDiv.style.marginTop=s[1]-5+"px";break;case 1:this._currentAngleMeasurement&&(this._currentAngleMeasurement.originWireVisible=!0,this._currentAngleMeasurement.targetWireVisible=!1,this._currentAngleMeasurement.cornerVisible=!0,this._currentAngleMeasurement.angleVisible=!1,this._currentAngleMeasurement.corner.worldPos=e.worldPos),this.markerDiv.style.marginLeft="-10000px",this.markerDiv.style.marginTop="-10000px",t.style.cursor="pointer";break;case 2:this._currentAngleMeasurement&&(this._currentAngleMeasurement.targetWireVisible=!0,this._currentAngleMeasurement.targetVisible=!0,this._currentAngleMeasurement.angleVisible=!0,this._currentAngleMeasurement.target.worldPos=e.worldPos),this.markerDiv.style.marginLeft="-10000px",this.markerDiv.style.marginTop="-10000px",t.style.cursor="pointer"}})),t.addEventListener("mousedown",this._onMouseDown=e=>{1===e.which&&(r=e.clientX,l=e.clientY)}),t.addEventListener("mouseup",this._onMouseUp=e=>{if(1===e.which&&!(e.clientX>r+20||e.clientXl+20||e.clientY{if(i=!1,n&&(n.visible=!0,n.pointerPos=e.canvasPos,n.snappedCanvasPos=e.snappedCanvasPos||e.canvasPos,n.snapped=!1),this.markerDiv.style.marginLeft="-100px",this.markerDiv.style.marginTop="-100px",this._currentAngleMeasurement){switch(this._mouseState){case 0:this._currentAngleMeasurement.originVisible=!1;break;case 1:this._currentAngleMeasurement.cornerVisible=!1,this._currentAngleMeasurement.originWireVisible=!1,this._currentAngleMeasurement.targetVisible=!1,this._currentAngleMeasurement.targetWireVisible=!1,this._currentAngleMeasurement.angleVisible=!1;break;case 2:this._currentAngleMeasurement.targetVisible=!1,this._currentAngleMeasurement.targetWireVisible=!1,this._currentAngleMeasurement.angleVisible=!1}t.style.cursor="default"}})),this._active=!0}deactivate(){if(!this._active)return;this.pointerLens&&(this.pointerLens.visible=!1),this._markerDiv&&this._destroyMarkerDiv(),this.reset();const e=this.scene.canvas.canvas;e.removeEventListener("mousedown",this._onMouseDown),e.removeEventListener("mouseup",this._onMouseUp);const t=this.angleMeasurementsPlugin.viewer.cameraControl;t.off(this._onMouseHoverSurface),t.off(this._onPickedSurface),t.off(this._onHoverNothing),t.off(this._onPickedNothing),this._currentAngleMeasurement=null,this._active=!1}reset(){this._active&&(this._destroyMarkerDiv(),this._initMarkerDiv(),this._currentAngleMeasurement&&(this._currentAngleMeasurement.destroy(),this._currentAngleMeasurement=null),this._mouseState=0)}destroy(){this.deactivate(),super.destroy()}}class Ae extends ie{constructor(e,t){if(super(e,t),this.plugin=t.plugin,this._container=t.container,!this._container)throw"config missing: container";if(!t.markerElement&&!t.markerHTML)throw"config missing: need either markerElement or markerHTML";if(!t.labelElement&&!t.labelHTML)throw"config missing: need either labelElement or labelHTML";this._htmlDirty=!1,t.markerElement?(this._marker=t.markerElement,this._marker.addEventListener("click",this._onMouseClickedExternalMarker=()=>{this.plugin.fire("markerClicked",this)}),this._marker.addEventListener("mouseenter",this._onMouseEnterExternalMarker=()=>{this.plugin.fire("markerMouseEnter",this)}),this._marker.addEventListener("mouseleave",this._onMouseLeaveExternalMarker=()=>{this.plugin.fire("markerMouseLeave",this)}),this._markerExternal=!0):(this._markerHTML=t.markerHTML,this._htmlDirty=!0,this._markerExternal=!1),t.labelElement?(this._label=t.labelElement,this._labelExternal=!0):(this._labelHTML=t.labelHTML,this._htmlDirty=!0,this._labelExternal=!1),this._markerShown=!!t.markerShown,this._labelShown=!!t.labelShown,this._values=t.values||{},this._layoutDirty=!0,this._visibilityDirty=!0,this._buildHTML(),this._onTick=this.scene.on("tick",(()=>{this._htmlDirty&&(this._buildHTML(),this._htmlDirty=!1,this._layoutDirty=!0,this._visibilityDirty=!0),(this._layoutDirty||this._visibilityDirty)&&(this._markerShown||this._labelShown)&&(this._updatePosition(),this._layoutDirty=!1),this._visibilityDirty&&(this._marker.style.visibility=this.visible&&this._markerShown?"visible":"hidden",this._label.style.visibility=this.visible&&this._markerShown&&this._labelShown?"visible":"hidden",this._visibilityDirty=!1)})),this.on("canvasPos",(()=>{this._layoutDirty=!0})),this.on("visible",(()=>{this._visibilityDirty=!0})),this.setMarkerShown(!1!==t.markerShown),this.setLabelShown(t.labelShown),this.eye=t.eye?t.eye.slice():null,this.look=t.look?t.look.slice():null,this.up=t.up?t.up.slice():null,this.projection=t.projection}_buildHTML(){if(!this._markerExternal){this._marker&&(this._container.removeChild(this._marker),this._marker=null);let e=this._markerHTML||"

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

";m.isArray(e)&&(e=e.join("")),e=this._renderTemplate(e);const t=document.createRange().createContextualFragment(e);this._label=t.firstChild,this._container.appendChild(this._label),this._label.style.visibility=this._markerShown&&this._labelShown?"visible":"hidden",this._label.addEventListener("wheel",(e=>{this.plugin.viewer.scene.canvas.canvas.dispatchEvent(new WheelEvent("wheel",e))}))}}_updatePosition(){const e=this.scene.canvas.boundary,t=e[0],s=e[1],n=this.canvasPos;this._marker.style.left=Math.floor(t+n[0])-12+"px",this._marker.style.top=Math.floor(s+n[1])-12+"px",this._marker.style["z-index"]=90005+Math.floor(this._viewPos[2])+1;this._label.style.left=20+Math.floor(t+n[0]+20)+"px",this._label.style.top=Math.floor(s+n[1]+-17)+"px",this._label.style["z-index"]=90005+Math.floor(this._viewPos[2])+1}_renderTemplate(e){for(var t in this._values)if(this._values.hasOwnProperty(t)){const s=this._values[t];e=e.replace(new RegExp("{{"+t+"}}","g"),s)}return e}setMarkerShown(e){e=!!e,this._markerShown!==e&&(this._markerShown=e,this._visibilityDirty=!0)}getMarkerShown(){return this._markerShown}setLabelShown(e){e=!!e,this._labelShown!==e&&(this._labelShown=e,this._visibilityDirty=!0)}getLabelShown(){return this._labelShown}setField(e,t){this._values[e]=t||"",this._htmlDirty=!0}getField(e){return this._values[e]}setValues(e){for(var t in e)if(e.hasOwnProperty(t)){const s=e[t];this.setField(t,s)}}getValues(){return this._values}destroy(){this._marker&&(this._markerExternal?(this._marker.removeEventListener("click",this._onMouseClickedExternalMarker),this._marker.removeEventListener("mouseenter",this._onMouseEnterExternalMarker),this._marker.removeEventListener("mouseleave",this._onMouseLeaveExternalMarker),this._marker=null):this._marker.parentNode.removeChild(this._marker)),this._label&&(this._labelExternal||this._label.parentNode.removeChild(this._label),this._label=null),this.scene.off(this._onTick),super.destroy()}}const de=h.vec3(),fe=h.vec3(),Ie=h.vec3();class ye extends _{get type(){return"Spinner"}constructor(e,t={}){super(e,t),this._canvas=t.canvas,this._element=null,this._isCustom=!1,t.elementId&&(this._element=document.getElementById(t.elementId),this._element?this._adjustPosition():this.error("Can't find given Spinner HTML element: '"+t.elementId+"' - will automatically create default element")),this._element||this._createDefaultSpinner(),this.processes=0}_createDefaultSpinner(){this._injectDefaultCSS();const e=document.createElement("div"),t=e.style;t["z-index"]="9000",t.position="absolute",e.innerHTML='
',this._canvas.parentElement.appendChild(e),this._element=e,this._isCustom=!1,this._adjustPosition()}_injectDefaultCSS(){const e="xeokit-spinner-css";if(document.getElementById(e))return;const t=document.createElement("style");t.innerHTML=".sk-fading-circle { background: transparent; margin: 20px auto; width: 50px; height:50px; position: relative; } .sk-fading-circle .sk-circle { width: 120%; height: 120%; position: absolute; left: 0; top: 0; } .sk-fading-circle .sk-circle:before { content: ''; display: block; margin: 0 auto; width: 15%; height: 15%; background-color: #ff8800; border-radius: 100%; -webkit-animation: sk-circleFadeDelay 1.2s infinite ease-in-out both; animation: sk-circleFadeDelay 1.2s infinite ease-in-out both; } .sk-fading-circle .sk-circle2 { -webkit-transform: rotate(30deg); -ms-transform: rotate(30deg); transform: rotate(30deg); } .sk-fading-circle .sk-circle3 { -webkit-transform: rotate(60deg); -ms-transform: rotate(60deg); transform: rotate(60deg); } .sk-fading-circle .sk-circle4 { -webkit-transform: rotate(90deg); -ms-transform: rotate(90deg); transform: rotate(90deg); } .sk-fading-circle .sk-circle5 { -webkit-transform: rotate(120deg); -ms-transform: rotate(120deg); transform: rotate(120deg); } .sk-fading-circle .sk-circle6 { -webkit-transform: rotate(150deg); -ms-transform: rotate(150deg); transform: rotate(150deg); } .sk-fading-circle .sk-circle7 { -webkit-transform: rotate(180deg); -ms-transform: rotate(180deg); transform: rotate(180deg); } .sk-fading-circle .sk-circle8 { -webkit-transform: rotate(210deg); -ms-transform: rotate(210deg); transform: rotate(210deg); } .sk-fading-circle .sk-circle9 { -webkit-transform: rotate(240deg); -ms-transform: rotate(240deg); transform: rotate(240deg); } .sk-fading-circle .sk-circle10 { -webkit-transform: rotate(270deg); -ms-transform: rotate(270deg); transform: rotate(270deg); } .sk-fading-circle .sk-circle11 { -webkit-transform: rotate(300deg); -ms-transform: rotate(300deg); transform: rotate(300deg); } .sk-fading-circle .sk-circle12 { -webkit-transform: rotate(330deg); -ms-transform: rotate(330deg); transform: rotate(330deg); } .sk-fading-circle .sk-circle2:before { -webkit-animation-delay: -1.1s; animation-delay: -1.1s; } .sk-fading-circle .sk-circle3:before { -webkit-animation-delay: -1s; animation-delay: -1s; } .sk-fading-circle .sk-circle4:before { -webkit-animation-delay: -0.9s; animation-delay: -0.9s; } .sk-fading-circle .sk-circle5:before { -webkit-animation-delay: -0.8s; animation-delay: -0.8s; } .sk-fading-circle .sk-circle6:before { -webkit-animation-delay: -0.7s; animation-delay: -0.7s; } .sk-fading-circle .sk-circle7:before { -webkit-animation-delay: -0.6s; animation-delay: -0.6s; } .sk-fading-circle .sk-circle8:before { -webkit-animation-delay: -0.5s; animation-delay: -0.5s; } .sk-fading-circle .sk-circle9:before { -webkit-animation-delay: -0.4s; animation-delay: -0.4s; } .sk-fading-circle .sk-circle10:before { -webkit-animation-delay: -0.3s; animation-delay: -0.3s; } .sk-fading-circle .sk-circle11:before { -webkit-animation-delay: -0.2s; animation-delay: -0.2s; } .sk-fading-circle .sk-circle12:before { -webkit-animation-delay: -0.1s; animation-delay: -0.1s; } @-webkit-keyframes sk-circleFadeDelay { 0%, 39%, 100% { opacity: 0; } 40% { opacity: 1; } } @keyframes sk-circleFadeDelay { 0%, 39%, 100% { opacity: 0; } 40% { opacity: 1; } }",t.id=e,document.body.appendChild(t)}_adjustPosition(){if(this._isCustom)return;const e=this._canvas,t=this._element,s=t.style;s.left=e.offsetLeft+.5*e.clientWidth-.5*t.clientWidth+"px",s.top=e.offsetTop+.5*e.clientHeight-.5*t.clientHeight+"px"}set processes(e){if(e=e||0,this._processes===e)return;if(e<0)return;const t=this._processes;this._processes=e;const s=this._element;s&&(s.style.visibility=this._processes>0?"visible":"hidden"),this.fire("processes",this._processes),0===this._processes&&this._processes!==t&&this.fire("zeroProcesses",this._processes)}get processes(){return this._processes}_destroy(){this._element&&!this._isCustom&&(this._element.parentNode.removeChild(this._element),this._element=null);const e=document.getElementById("xeokit-spinner-css");e&&e.parentNode.removeChild(e)}}const me=["webgl2","experimental-webgl","webkit-3d","moz-webgl","moz-glweb20"];class ve extends _{constructor(e,t={}){super(e,t),this._backgroundColor=h.vec3([t.backgroundColor?t.backgroundColor[0]:1,t.backgroundColor?t.backgroundColor[1]:1,t.backgroundColor?t.backgroundColor[2]:1]),this._backgroundColorFromAmbientLight=!!t.backgroundColorFromAmbientLight,this.canvas=t.canvas,this.gl=null,this.webgl2=!1,this.transparent=!!t.transparent,this.contextAttr=t.contextAttr||{},this.contextAttr.alpha=this.transparent,this.contextAttr.preserveDrawingBuffer=!!this.contextAttr.preserveDrawingBuffer,this.contextAttr.stencil=!1,this.contextAttr.premultipliedAlpha=!!this.contextAttr.premultipliedAlpha,this.contextAttr.antialias=!1!==this.contextAttr.antialias,this.resolutionScale=t.resolutionScale,this.canvas.width=Math.round(this.canvas.clientWidth*this._resolutionScale),this.canvas.height=Math.round(this.canvas.clientHeight*this._resolutionScale),this.boundary=[this.canvas.offsetLeft,this.canvas.offsetTop,this.canvas.clientWidth,this.canvas.clientHeight],this._initWebGL(t);const s=this;this.canvas.addEventListener("webglcontextlost",this._webglcontextlostListener=function(e){console.time("webglcontextrestored"),s.scene._webglContextLost(),s.fire("webglcontextlost"),e.preventDefault()},!1),this.canvas.addEventListener("webglcontextrestored",this._webglcontextrestoredListener=function(e){s._initWebGL(),s.gl&&(s.scene._webglContextRestored(s.gl),s.fire("webglcontextrestored",s.gl),e.preventDefault()),console.timeEnd("webglcontextrestored")},!1);let n=!0;new ResizeObserver((e=>{for(const t of e)t.contentBoxSize&&(n=!0)})).observe(this.canvas),this._tick=this.scene.on("tick",(()=>{n&&(n=!1,s.canvas.width=Math.round(s.canvas.clientWidth*s._resolutionScale),s.canvas.height=Math.round(s.canvas.clientHeight*s._resolutionScale),s.boundary[0]=s.canvas.offsetLeft,s.boundary[1]=s.canvas.offsetTop,s.boundary[2]=s.canvas.clientWidth,s.boundary[3]=s.canvas.clientHeight,s.fire("boundary",s.boundary))})),this._spinner=new ye(this.scene,{canvas:this.canvas,elementId:t.spinnerElementId})}get type(){return"Canvas"}get backgroundColorFromAmbientLight(){return this._backgroundColorFromAmbientLight}set backgroundColorFromAmbientLight(e){this._backgroundColorFromAmbientLight=!1!==e,this.glRedraw()}get backgroundColor(){return this._backgroundColor}set backgroundColor(e){e?(this._backgroundColor[0]=e[0],this._backgroundColor[1]=e[1],this._backgroundColor[2]=e[2]):(this._backgroundColor[0]=1,this._backgroundColor[1]=1,this._backgroundColor[2]=1),this.glRedraw()}get resolutionScale(){return this._resolutionScale}set resolutionScale(e){if((e=e||1)===this._resolutionScale)return;this._resolutionScale=e;const t=this.canvas;t.width=Math.round(t.clientWidth*this._resolutionScale),t.height=Math.round(t.clientHeight*this._resolutionScale),this.glRedraw()}get spinner(){return this._spinner}_createCanvas(){const e="xeokit-canvas-"+h.createUUID(),t=document.getElementsByTagName("body")[0],s=document.createElement("div"),n=s.style;n.height="100%",n.width="100%",n.padding="0",n.margin="0",n.background="rgba(0,0,0,0);",n.float="left",n.left="0",n.top="0",n.position="absolute",n.opacity="1.0",n["z-index"]="-10000",s.innerHTML+='',t.appendChild(s),this.canvas=document.getElementById(e)}_getElementXY(e){let t=0,s=0;for(;e;)t+=e.offsetLeft-e.scrollLeft,s+=e.offsetTop-e.scrollTop,e=e.offsetParent;return{x:t,y:s}}_initWebGL(){if(!this.gl)for(let e=0;!this.gl&&e0?ge.FS_MAX_FLOAT_PRECISION="highp":e.getShaderPrecisionFormat(e.FRAGMENT_SHADER,e.MEDIUM_FLOAT).precision>0?ge.FS_MAX_FLOAT_PRECISION="mediump":ge.FS_MAX_FLOAT_PRECISION="lowp":ge.FS_MAX_FLOAT_PRECISION="mediump",ge.DEPTH_BUFFER_BITS=e.getParameter(e.DEPTH_BITS),ge.MAX_TEXTURE_SIZE=e.getParameter(e.MAX_TEXTURE_SIZE),ge.MAX_CUBE_MAP_SIZE=e.getParameter(e.MAX_CUBE_MAP_TEXTURE_SIZE),ge.MAX_RENDERBUFFER_SIZE=e.getParameter(e.MAX_RENDERBUFFER_SIZE),ge.MAX_TEXTURE_UNITS=e.getParameter(e.MAX_COMBINED_TEXTURE_IMAGE_UNITS),ge.MAX_TEXTURE_IMAGE_UNITS=e.getParameter(e.MAX_TEXTURE_IMAGE_UNITS),ge.MAX_VERTEX_ATTRIBS=e.getParameter(e.MAX_VERTEX_ATTRIBS),ge.MAX_VERTEX_UNIFORM_VECTORS=e.getParameter(e.MAX_VERTEX_UNIFORM_VECTORS),ge.MAX_FRAGMENT_UNIFORM_VECTORS=e.getParameter(e.MAX_FRAGMENT_UNIFORM_VECTORS),ge.MAX_VARYING_VECTORS=e.getParameter(e.MAX_VARYING_VECTORS),e.getSupportedExtensions().forEach((function(e){ge.SUPPORTED_EXTENSIONS[e]=!0})))}class Te{constructor(){this.entity=null,this.primitive=null,this.primIndex=-1,this.pickSurfacePrecision=!1,this.touchInput=!1,this.snappedToEdge=!1,this.snappedToVertex=!1,this._origin=new Float64Array([0,0,0]),this._direction=new Float64Array([0,0,0]),this._indices=new Int32Array(3),this._localPos=new Float64Array([0,0,0]),this._worldPos=new Float64Array([0,0,0]),this._viewPos=new Float64Array([0,0,0]),this._canvasPos=new Int16Array([0,0]),this._snappedCanvasPos=new Int16Array([0,0]),this._bary=new Float64Array([0,0,0]),this._worldNormal=new Float64Array([0,0,0]),this._uv=new Float64Array([0,0]),this.reset()}get canvasPos(){return this._gotCanvasPos?this._canvasPos:null}set canvasPos(e){e?(this._canvasPos[0]=e[0],this._canvasPos[1]=e[1],this._gotCanvasPos=!0):this._gotCanvasPos=!1}get origin(){return this._gotOrigin?this._origin:null}set origin(e){e?(this._origin[0]=e[0],this._origin[1]=e[1],this._origin[2]=e[2],this._gotOrigin=!0):this._gotOrigin=!1}get direction(){return this._gotDirection?this._direction:null}set direction(e){e?(this._direction[0]=e[0],this._direction[1]=e[1],this._direction[2]=e[2],this._gotDirection=!0):this._gotDirection=!1}get indices(){return this.entity&&this._gotIndices?this._indices:null}set indices(e){e?(this._indices[0]=e[0],this._indices[1]=e[1],this._indices[2]=e[2],this._gotIndices=!0):this._gotIndices=!1}get localPos(){return this.entity&&this._gotLocalPos?this._localPos:null}set localPos(e){e?(this._localPos[0]=e[0],this._localPos[1]=e[1],this._localPos[2]=e[2],this._gotLocalPos=!0):this._gotLocalPos=!1}get snappedCanvasPos(){return this._gotSnappedCanvasPos?this._snappedCanvasPos:null}set snappedCanvasPos(e){e?(this._snappedCanvasPos[0]=e[0],this._snappedCanvasPos[1]=e[1],this._gotSnappedCanvasPos=!0):this._gotSnappedCanvasPos=!1}get worldPos(){return this._gotWorldPos?this._worldPos:null}set worldPos(e){e?(this._worldPos[0]=e[0],this._worldPos[1]=e[1],this._worldPos[2]=e[2],this._gotWorldPos=!0):this._gotWorldPos=!1}get viewPos(){return this.entity&&this._gotViewPos?this._viewPos:null}set viewPos(e){e?(this._viewPos[0]=e[0],this._viewPos[1]=e[1],this._viewPos[2]=e[2],this._gotViewPos=!0):this._gotViewPos=!1}get bary(){return this.entity&&this._gotBary?this._bary:null}set bary(e){e?(this._bary[0]=e[0],this._bary[1]=e[1],this._bary[2]=e[2],this._gotBary=!0):this._gotBary=!1}get worldNormal(){return this.entity&&this._gotWorldNormal?this._worldNormal:null}set worldNormal(e){e?(this._worldNormal[0]=e[0],this._worldNormal[1]=e[1],this._worldNormal[2]=e[2],this._gotWorldNormal=!0):this._gotWorldNormal=!1}get uv(){return this.entity&&this._gotUV?this._uv:null}set uv(e){e?(this._uv[0]=e[0],this._uv[1]=e[1],this._gotUV=!0):this._gotUV=!1}reset(){this.entity=null,this.primIndex=-1,this.primitive=null,this.pickSurfacePrecision=!1,this._gotCanvasPos=!1,this._gotSnappedCanvasPos=!1,this._gotOrigin=!1,this._gotDirection=!1,this._gotIndices=!1,this._gotLocalPos=!1,this._gotWorldPos=!1,this._gotViewPos=!1,this._gotBary=!1,this._gotWorldNormal=!1,this._gotUV=!1,this.touchInput=!1,this.snappedToEdge=!1,this.snappedToVertex=!1}}class be{constructor(e,t,s){if(this.allocated=!1,this.compiled=!1,this.handle=e.createShader(t),this.handle){if(this.allocated=!0,e.shaderSource(this.handle,s),e.compileShader(this.handle),this.compiled=e.getShaderParameter(this.handle,e.COMPILE_STATUS),!this.compiled&&!e.isContextLost()){const t=s.split("\n"),n=[];for(let e=0;e0&&"/"===s.charAt(n+1)&&(s=s.substring(0,n)),t.push(s);return t.join("\n")}function _e(e){console.error(e.join("\n"))}class Be{constructor(e,t){this.id=Re.addItem({}),this.source=t,this.init(e)}init(e){if(this.gl=e,this.allocated=!1,this.compiled=!1,this.linked=!1,this.validated=!1,this.errors=null,this.uniforms={},this.samplers={},this.attributes={},this._vertexShader=new be(e,e.VERTEX_SHADER,Ce(this.source.vertex)),this._fragmentShader=new be(e,e.FRAGMENT_SHADER,Ce(this.source.fragment)),!this._vertexShader.allocated)return this.errors=["Vertex shader failed to allocate"].concat(this._vertexShader.errors),void _e(this.errors);if(!this._fragmentShader.allocated)return this.errors=["Fragment shader failed to allocate"].concat(this._fragmentShader.errors),void _e(this.errors);if(this.allocated=!0,!this._vertexShader.compiled)return this.errors=["Vertex shader failed to compile"].concat(this._vertexShader.errors),void _e(this.errors);if(!this._fragmentShader.compiled)return this.errors=["Fragment shader failed to compile"].concat(this._fragmentShader.errors),void _e(this.errors);let t,s,n,i,a;if(this.compiled=!0,this.handle=e.createProgram(),!this.handle)return void(this.errors=["Failed to allocate program"]);if(e.attachShader(this.handle,this._vertexShader.handle),e.attachShader(this.handle,this._fragmentShader.handle),e.linkProgram(this.handle),this.linked=e.getProgramParameter(this.handle,e.LINK_STATUS),this.validated=!0,!this.linked||!this.validated)return this.errors=[],this.errors.push(""),this.errors.push(e.getProgramInfoLog(this.handle)),this.errors.push("\nVertex shader:\n"),this.errors=this.errors.concat(this.source.vertex),this.errors.push("\nFragment shader:\n"),this.errors=this.errors.concat(this.source.fragment),void _e(this.errors);const r=e.getProgramParameter(this.handle,e.ACTIVE_UNIFORMS);for(s=0;sthis.dataLength?e.slice(0,this.dataLength):e,this.usage),this._gl.bindBuffer(this.type,null),this.length=e.length,this.numItems=this.length/this.itemSize,this.allocated=!0)}setData(e,t){this.allocated&&(e.length+(t||0)>this.length?(this.destroy(),this._allocate(e)):(this._gl.bindBuffer(this.type,this._handle),t||0===t?this._gl.bufferSubData(this.type,t*this.itemByteSize,e):this._gl.bufferData(this.type,e,this.usage),this._gl.bindBuffer(this.type,null)))}bind(){this.allocated&&this._gl.bindBuffer(this.type,this._handle)}unbind(){this.allocated&&this._gl.bindBuffer(this.type,null)}destroy(){this.allocated&&(this._gl.deleteBuffer(this._handle),this._handle=null,this.allocated=!1)}}class Se{constructor(e,t){this.scene=e,this.aabb=h.AABB3(),this.origin=h.vec3(t),this.originHash=this.origin.join(),this.numMarkers=0,this.markers={},this.markerList=[],this.markerIndices={},this.positions=[],this.indices=[],this.positionsBuf=null,this.lenPositionsBuf=0,this.indicesBuf=null,this.sectionPlanesActive=[],this.culledBySectionPlanes=!1,this.occlusionTestList=[],this.lenOcclusionTestList=0,this.pixels=[],this.aabbDirty=!1,this.markerListDirty=!1,this.positionsDirty=!0,this.occlusionTestListDirty=!1}addMarker(e){this.markers[e.id]=e,this.markerListDirty=!0,this.numMarkers++}markerWorldPosUpdated(e){if(!this.markers[e.id])return;const t=this.markerIndices[e.id];this.positions[3*t+0]=e.worldPos[0],this.positions[3*t+1]=e.worldPos[1],this.positions[3*t+2]=e.worldPos[2],this.positionsDirty=!0}removeMarker(e){delete this.markers[e.id],this.markerListDirty=!0,this.numMarkers--}update(){this.markerListDirty&&(this._buildMarkerList(),this.markerListDirty=!1,this.positionsDirty=!0,this.occlusionTestListDirty=!0),this.positionsDirty&&(this._buildPositions(),this.positionsDirty=!1,this.aabbDirty=!0,this.vbosDirty=!0),this.aabbDirty&&(this._buildAABB(),this.aabbDirty=!1),this.vbosDirty&&(this._buildVBOs(),this.vbosDirty=!1),this.occlusionTestListDirty&&this._buildOcclusionTestList(),this._updateActiveSectionPlanes()}_buildMarkerList(){for(var e in this.numMarkers=0,this.markers)this.markers.hasOwnProperty(e)&&(this.markerList[this.numMarkers]=this.markers[e],this.markerIndices[e]=this.numMarkers,this.numMarkers++);this.markerList.length=this.numMarkers}_buildPositions(){let e=0;for(let t=0;t-t){s._setVisible(!1);continue}const r=s.canvasPos,l=r[0],o=r[1];l+10<0||o+10<0||l-10>n||o-10>i?s._setVisible(!1):!s.entity||s.entity.visible?s.occludable?(this.occlusionTestList[this.lenOcclusionTestList++]=s,this.pixels[a++]=l,this.pixels[a++]=o):s._setVisible(!0):s._setVisible(!1)}}_updateActiveSectionPlanes(){const e=this.scene._sectionPlanesState.sectionPlanes,t=e.length;if(t>0)for(let s=0;s{this._occlusionTestListDirty=!0})),this._onCameraProjMatrix=e.camera.on("projMatrix",(()=>{this._occlusionTestListDirty=!0})),this._onCanvasBoundary=e.canvas.on("boundary",(()=>{this._occlusionTestListDirty=!0}))}addMarker(e){const t=e.origin.join();let s=this._occlusionLayers[t];s||(s=new Se(this._scene,e.origin),this._occlusionLayers[s.originHash]=s,this._occlusionLayersListDirty=!0),s.addMarker(e),this._markersToOcclusionLayersMap[e.id]=s,this._occlusionTestListDirty=!0}markerWorldPosUpdated(e){const t=this._markersToOcclusionLayersMap[e.id];if(!t)return void e.error("Marker has not been added to OcclusionTester");const s=e.origin.join();if(s!==t.originHash){1===t.numMarkers?(t.destroy(),delete this._occlusionLayers[t.originHash],this._occlusionLayersListDirty=!0):t.removeMarker(e);let n=this._occlusionLayers[s];n||(n=new Se(this._scene,e.origin),this._occlusionLayers[s]=t,this._occlusionLayersListDirty=!0),n.addMarker(e),this._markersToOcclusionLayersMap[e.id]=n}else t.markerWorldPosUpdated(e)}removeMarker(e){const t=e.origin.join();let s=this._occlusionLayers[t];s&&(1===s.numMarkers?(s.destroy(),delete this._occlusionLayers[s.originHash],this._occlusionLayersListDirty=!0):s.removeMarker(e),delete this._markersToOcclusionLayersMap[e.id])}get needOcclusionTest(){return this._occlusionTestListDirty}bindRenderBuf(){const e=[this._scene.canvas.canvas.id,this._scene._sectionPlanesState.getHash()].join(";");if(e!==this._shaderSourceHash&&(this._shaderSourceHash=e,this._shaderSourceDirty=!0),this._shaderSourceDirty&&(this._buildShaderSource(),this._shaderSourceDirty=!1,this._programDirty=!0),this._programDirty&&(this._buildProgram(),this._programDirty=!1,this._occlusionTestListDirty=!0),this._occlusionLayersListDirty&&(this._buildOcclusionLayersList(),this._occlusionLayersListDirty=!1),this._occlusionTestListDirty){for(let e=0,t=this._occlusionLayersList.length;e0,s=[];return s.push("#version 300 es"),s.push("// OcclusionTester vertex shader"),s.push("in vec3 position;"),s.push("uniform mat4 modelMatrix;"),s.push("uniform mat4 viewMatrix;"),s.push("uniform mat4 projMatrix;"),e.logarithmicDepthBufferEnabled&&(s.push("uniform float logDepthBufFC;"),s.push("out float vFragDepth;")),t&&s.push("out vec4 vWorldPosition;"),s.push("void main(void) {"),s.push("vec4 worldPosition = vec4(position, 1.0); "),s.push(" vec4 viewPosition = viewMatrix * worldPosition;"),t&&s.push(" vWorldPosition = worldPosition;"),s.push(" vec4 clipPos = projMatrix * viewPosition;"),s.push(" gl_PointSize = 20.0;"),e.logarithmicDepthBufferEnabled?s.push("vFragDepth = 1.0 + clipPos.w;"):s.push("clipPos.z += -0.001;"),s.push(" gl_Position = clipPos;"),s.push("}"),s}_buildFragmentShaderSource(){const e=this._scene,t=e._sectionPlanesState,s=t.sectionPlanes.length>0,n=[];if(n.push("#version 300 es"),n.push("// OcclusionTester fragment shader"),n.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),n.push("precision highp float;"),n.push("precision highp int;"),n.push("#else"),n.push("precision mediump float;"),n.push("precision mediump int;"),n.push("#endif"),e.logarithmicDepthBufferEnabled&&(n.push("uniform float logDepthBufFC;"),n.push("in float vFragDepth;")),s){n.push("in vec4 vWorldPosition;");for(let e=0;e 0.0) { discard; }")}return e.logarithmicDepthBufferEnabled&&n.push("gl_FragDepth = log2( vFragDepth ) * logDepthBufFC * 0.5;"),n.push(" outColor = vec4(1.0, 0.0, 0.0, 1.0); "),n.push("}"),n}_buildProgram(){this._program&&this._program.destroy();const e=this._scene,t=e.canvas.gl,s=e._sectionPlanesState;if(this._program=new Be(t,this._shaderSource),this._program.errors)return void(this.errors=this._program.errors);const n=this._program;this._uViewMatrix=n.getLocation("viewMatrix"),this._uProjMatrix=n.getLocation("projMatrix"),this._uSectionPlanes=[];for(let e=0,t=s.sectionPlanes.length;e0){const e=n.sectionPlanes;for(let n=0;n{let e=!0;this._scene.camera.on("projMatrix",(function(){e=!0}));const t=h.mat4();return()=>(e&&h.inverseMat4(n.camera.projMatrix,t),t)})());const t=this._scene.canvas.gl,s=this._program,n=this._scene,i=n.sao,a=t.drawingBufferWidth,r=t.drawingBufferHeight,l=n.camera.project._state,o=l.near,c=l.far,u=l.matrix,p=this._getInverseProjectMat(),A=Math.random(),d="perspective"===n.camera.projection;Me[0]=a,Me[1]=r,t.viewport(0,0,a,r),t.clearColor(0,0,0,1),t.disable(t.DEPTH_TEST),t.disable(t.BLEND),t.frontFace(t.CCW),t.clear(t.COLOR_BUFFER_BIT),s.bind(),t.uniform1f(this._uCameraNear,o),t.uniform1f(this._uCameraFar,c),t.uniformMatrix4fv(this._uCameraProjectionMatrix,!1,u),t.uniformMatrix4fv(this._uCameraInverseProjectionMatrix,!1,p),t.uniform1i(this._uPerspective,d),t.uniform1f(this._uScale,i.scale*(c/5)),t.uniform1f(this._uIntensity,i.intensity),t.uniform1f(this._uBias,i.bias),t.uniform1f(this._uKernelRadius,i.kernelRadius),t.uniform1f(this._uMinResolution,i.minResolution),t.uniform2fv(this._uViewport,Me),t.uniform1f(this._uRandomSeed,A);const f=e.getDepthTexture();s.bindTexture(this._uDepthTexture,f,0),this._aUV.bindArrayBuffer(this._uvBuf),this._aPosition.bindArrayBuffer(this._positionsBuf),this._indicesBuf.bind(),t.drawElements(t.TRIANGLES,this._indicesBuf.numItems,this._indicesBuf.itemType,0)}_build(){let e=!1;const t=this._scene.sao;if(t.numSamples!==this._numSamples&&(this._numSamples=Math.floor(t.numSamples),e=!0),!e)return;const s=this._scene.canvas.gl;if(this._program&&(this._program.destroy(),this._program=null),this._program=new Be(s,{vertex:["#version 300 es\n precision highp float;\n precision highp int;\n \n in vec3 aPosition;\n in vec2 aUV; \n \n out vec2 vUV;\n \n void main () {\n gl_Position = vec4(aPosition, 1.0);\n vUV = aUV;\n }"],fragment:[`#version 300 es \n precision highp float;\n precision highp int; \n \n #define NORMAL_TEXTURE 0\n #define PI 3.14159265359\n #define PI2 6.28318530718\n #define EPSILON 1e-6\n #define NUM_SAMPLES ${this._numSamples}\n #define NUM_RINGS 4 \n \n in vec2 vUV;\n \n uniform sampler2D uDepthTexture;\n \n uniform float uCameraNear;\n uniform float uCameraFar;\n uniform mat4 uProjectMatrix;\n uniform mat4 uInverseProjectMatrix;\n \n uniform bool uPerspective;\n\n uniform float uScale;\n uniform float uIntensity;\n uniform float uBias;\n uniform float uKernelRadius;\n uniform float uMinResolution;\n uniform vec2 uViewport;\n uniform float uRandomSeed;\n\n float pow2( const in float x ) { return x*x; }\n \n highp float rand( const in vec2 uv ) {\n const highp float a = 12.9898, b = 78.233, c = 43758.5453;\n highp float dt = dot( uv.xy, vec2( a,b ) ), sn = mod( dt, PI );\n return fract(sin(sn) * c);\n }\n\n vec3 packNormalToRGB( const in vec3 normal ) {\n return normalize( normal ) * 0.5 + 0.5;\n }\n\n vec3 unpackRGBToNormal( const in vec3 rgb ) {\n return 2.0 * rgb.xyz - 1.0;\n }\n\n const float packUpscale = 256. / 255.;\n const float unpackDownScale = 255. / 256.; \n\n const vec3 packFactors = vec3( 256. * 256. * 256., 256. * 256., 256. );\n const vec4 unPackFactors = unpackDownScale / vec4( packFactors, 1. ); \n\n const float shiftRights = 1. / 256.;\n\n vec4 packFloatToRGBA( const in float v ) {\n vec4 r = vec4( fract( v * packFactors ), v );\n r.yzw -= r.xyz * shiftRights; \n return r * packUpscale;\n }\n\n float unpackRGBAToFloat( const in vec4 v ) { \n return dot( floor( v * 255.0 + 0.5 ) / 255.0, unPackFactors );\n }\n \n float perspectiveDepthToViewZ( const in float invClipZ, const in float near, const in float far ) {\n return ( near * far ) / ( ( far - near ) * invClipZ - far );\n }\n\n float orthographicDepthToViewZ( const in float linearClipZ, const in float near, const in float far ) {\n return linearClipZ * ( near - far ) - near;\n }\n \n float getDepth( const in vec2 screenPosition ) {\n return vec4(texture(uDepthTexture, screenPosition)).r;\n }\n\n float getViewZ( const in float depth ) {\n if (uPerspective) {\n return perspectiveDepthToViewZ( depth, uCameraNear, uCameraFar );\n } else {\n return orthographicDepthToViewZ( depth, uCameraNear, uCameraFar );\n }\n }\n\n vec3 getViewPos( const in vec2 screenPos, const in float depth, const in float viewZ ) {\n \tfloat clipW = uProjectMatrix[2][3] * viewZ + uProjectMatrix[3][3];\n \tvec4 clipPosition = vec4( ( vec3( screenPos, depth ) - 0.5 ) * 2.0, 1.0 );\n \tclipPosition *= clipW; \n \treturn ( uInverseProjectMatrix * clipPosition ).xyz;\n }\n\n vec3 getViewNormal( const in vec3 viewPosition, const in vec2 screenPos ) { \n return normalize( cross( dFdx( viewPosition ), dFdy( viewPosition ) ) );\n }\n\n float scaleDividedByCameraFar;\n float minResolutionMultipliedByCameraFar;\n\n float getOcclusion( const in vec3 centerViewPosition, const in vec3 centerViewNormal, const in vec3 sampleViewPosition ) {\n \tvec3 viewDelta = sampleViewPosition - centerViewPosition;\n \tfloat viewDistance = length( viewDelta );\n \tfloat scaledScreenDistance = scaleDividedByCameraFar * viewDistance;\n \treturn max(0.0, (dot(centerViewNormal, viewDelta) - minResolutionMultipliedByCameraFar) / scaledScreenDistance - uBias) / (1.0 + pow2( scaledScreenDistance ) );\n }\n\n const float ANGLE_STEP = PI2 * float( NUM_RINGS ) / float( NUM_SAMPLES );\n const float INV_NUM_SAMPLES = 1.0 / float( NUM_SAMPLES );\n\n float getAmbientOcclusion( const in vec3 centerViewPosition ) {\n \n \tscaleDividedByCameraFar = uScale / uCameraFar;\n \tminResolutionMultipliedByCameraFar = uMinResolution * uCameraFar;\n \tvec3 centerViewNormal = getViewNormal( centerViewPosition, vUV );\n\n \tfloat angle = rand( vUV + uRandomSeed ) * PI2;\n \tvec2 radius = vec2( uKernelRadius * INV_NUM_SAMPLES ) / uViewport;\n \tvec2 radiusStep = radius;\n\n \tfloat occlusionSum = 0.0;\n \tfloat weightSum = 0.0;\n\n \tfor( int i = 0; i < NUM_SAMPLES; i ++ ) {\n \t\tvec2 sampleUv = vUV + vec2( cos( angle ), sin( angle ) ) * radius;\n \t\tradius += radiusStep;\n \t\tangle += ANGLE_STEP;\n\n \t\tfloat sampleDepth = getDepth( sampleUv );\n \t\tif( sampleDepth >= ( 1.0 - EPSILON ) ) {\n \t\t\tcontinue;\n \t\t}\n\n \t\tfloat sampleViewZ = getViewZ( sampleDepth );\n \t\tvec3 sampleViewPosition = getViewPos( sampleUv, sampleDepth, sampleViewZ );\n \t\tocclusionSum += getOcclusion( centerViewPosition, centerViewNormal, sampleViewPosition );\n \t\tweightSum += 1.0;\n \t}\n\n \tif( weightSum == 0.0 ) discard;\n\n \treturn occlusionSum * ( uIntensity / weightSum );\n }\n\n out vec4 outColor;\n \n void main() {\n \n \tfloat centerDepth = getDepth( vUV );\n \t\n \tif( centerDepth >= ( 1.0 - EPSILON ) ) {\n \t\tdiscard;\n \t}\n\n \tfloat centerViewZ = getViewZ( centerDepth );\n \tvec3 viewPosition = getViewPos( vUV, centerDepth, centerViewZ );\n\n \tfloat ambientOcclusion = getAmbientOcclusion( viewPosition );\n \n \toutColor = packFloatToRGBA( 1.0- ambientOcclusion );\n }`]}),this._program.errors)return console.error(this._program.errors.join("\n")),void(this._programError=!0);const n=new Float32Array([1,1,0,1,0,0,1,0]),i=new Float32Array([1,1,0,-1,1,0,-1,-1,0,1,-1,0]),a=new Uint32Array([0,1,2,0,2,3]);this._positionsBuf=new Oe(s,s.ARRAY_BUFFER,i,i.length,3,s.STATIC_DRAW),this._uvBuf=new Oe(s,s.ARRAY_BUFFER,n,n.length,2,s.STATIC_DRAW),this._indicesBuf=new Oe(s,s.ELEMENT_ARRAY_BUFFER,a,a.length,1,s.STATIC_DRAW),this._program.bind(),this._uCameraNear=this._program.getLocation("uCameraNear"),this._uCameraFar=this._program.getLocation("uCameraFar"),this._uCameraProjectionMatrix=this._program.getLocation("uProjectMatrix"),this._uCameraInverseProjectionMatrix=this._program.getLocation("uInverseProjectMatrix"),this._uPerspective=this._program.getLocation("uPerspective"),this._uScale=this._program.getLocation("uScale"),this._uIntensity=this._program.getLocation("uIntensity"),this._uBias=this._program.getLocation("uBias"),this._uKernelRadius=this._program.getLocation("uKernelRadius"),this._uMinResolution=this._program.getLocation("uMinResolution"),this._uViewport=this._program.getLocation("uViewport"),this._uRandomSeed=this._program.getLocation("uRandomSeed"),this._aPosition=this._program.getAttribute("aPosition"),this._aUV=this._program.getAttribute("aUV"),this._dirty=!1}destroy(){this._program&&(this._program.destroy(),this._program=null)}}const He=new Float32Array(Qe(17,[0,1])),Ue=new Float32Array(Qe(17,[1,0])),Ge=new Float32Array(function(e,t){const s=[];for(let n=0;n<=e;n++)s.push(ke(n,t));return s}(17,4)),je=new Float32Array(2);class Ve{constructor(e){this._scene=e,this._program=null,this._programError=!1,this._aPosition=null,this._aUV=null,this._uDepthTexture="uDepthTexture",this._uOcclusionTexture="uOcclusionTexture",this._uViewport=null,this._uCameraNear=null,this._uCameraFar=null,this._uCameraProjectionMatrix=null,this._uCameraInverseProjectionMatrix=null,this._uvBuf=null,this._positionsBuf=null,this._indicesBuf=null,this.init()}init(){const e=this._scene.canvas.gl;if(this._program=new Be(e,{vertex:["#version 300 es\n precision highp float;\n precision highp int;\n \n in vec3 aPosition;\n in vec2 aUV;\n uniform vec2 uViewport;\n out vec2 vUV;\n out vec2 vInvSize;\n void main () {\n vUV = aUV;\n vInvSize = 1.0 / uViewport;\n gl_Position = vec4(aPosition, 1.0);\n }"],fragment:["#version 300 es\n precision highp float;\n precision highp int;\n \n #define PI 3.14159265359\n #define PI2 6.28318530718\n #define EPSILON 1e-6\n\n #define KERNEL_RADIUS 16\n\n in vec2 vUV;\n in vec2 vInvSize;\n \n uniform sampler2D uDepthTexture;\n uniform sampler2D uOcclusionTexture; \n \n uniform float uCameraNear;\n uniform float uCameraFar; \n uniform float uDepthCutoff;\n\n uniform vec2 uSampleOffsets[ KERNEL_RADIUS + 1 ];\n uniform float uSampleWeights[ KERNEL_RADIUS + 1 ];\n\n const float unpackDownscale = 255. / 256.; \n\n const vec3 packFactors = vec3( 256. * 256. * 256., 256. * 256., 256. );\n const vec4 unpackFactors = unpackDownscale / vec4( packFactors, 1. ); \n\n const float packUpscale = 256. / 255.;\n \n const float shiftRights = 1. / 256.;\n \n float unpackRGBAToFloat( const in vec4 v ) {\n return dot( floor( v * 255.0 + 0.5 ) / 255.0, unpackFactors );\n } \n\n vec4 packFloatToRGBA( const in float v ) {\n vec4 r = vec4( fract( v * packFactors ), v );\n r.yzw -= r.xyz * shiftRights; \n return r * packUpscale;\n }\n\n float viewZToOrthographicDepth( const in float viewZ) {\n return ( viewZ + uCameraNear ) / ( uCameraNear - uCameraFar );\n }\n \n float orthographicDepthToViewZ( const in float linearClipZ) {\n return linearClipZ * ( uCameraNear - uCameraFar ) - uCameraNear;\n }\n\n float viewZToPerspectiveDepth( const in float viewZ) {\n return (( uCameraNear + viewZ ) * uCameraFar ) / (( uCameraFar - uCameraNear ) * viewZ );\n }\n \n float perspectiveDepthToViewZ( const in float invClipZ) {\n return ( uCameraNear * uCameraFar ) / ( ( uCameraFar - uCameraNear ) * invClipZ - uCameraFar );\n }\n\n float getDepth( const in vec2 screenPosition ) {\n return vec4(texture(uDepthTexture, screenPosition)).r;\n }\n\n float getViewZ( const in float depth ) {\n return perspectiveDepthToViewZ( depth );\n }\n\n out vec4 outColor;\n \n void main() {\n \n float depth = getDepth( vUV );\n if( depth >= ( 1.0 - EPSILON ) ) {\n discard;\n }\n\n float centerViewZ = -getViewZ( depth );\n bool rBreak = false;\n bool lBreak = false;\n\n float weightSum = uSampleWeights[0];\n float occlusionSum = unpackRGBAToFloat(texture( uOcclusionTexture, vUV )) * weightSum;\n\n for( int i = 1; i <= KERNEL_RADIUS; i ++ ) {\n\n float sampleWeight = uSampleWeights[i];\n vec2 sampleUVOffset = uSampleOffsets[i] * vInvSize;\n\n vec2 sampleUV = vUV + sampleUVOffset;\n float viewZ = -getViewZ( getDepth( sampleUV ) );\n\n if( abs( viewZ - centerViewZ ) > uDepthCutoff ) {\n rBreak = true;\n }\n\n if( ! rBreak ) {\n occlusionSum += unpackRGBAToFloat(texture( uOcclusionTexture, sampleUV )) * sampleWeight;\n weightSum += sampleWeight;\n }\n\n sampleUV = vUV - sampleUVOffset;\n viewZ = -getViewZ( getDepth( sampleUV ) );\n\n if( abs( viewZ - centerViewZ ) > uDepthCutoff ) {\n lBreak = true;\n }\n\n if( ! lBreak ) {\n occlusionSum += unpackRGBAToFloat(texture( uOcclusionTexture, sampleUV )) * sampleWeight;\n weightSum += sampleWeight;\n }\n }\n\n outColor = packFloatToRGBA(occlusionSum / weightSum);\n }"]}),this._program.errors)return console.error(this._program.errors.join("\n")),void(this._programError=!0);const t=new Float32Array([1,1,0,1,0,0,1,0]),s=new Float32Array([1,1,0,-1,1,0,-1,-1,0,1,-1,0]),n=new Uint32Array([0,1,2,0,2,3]);this._positionsBuf=new Oe(e,e.ARRAY_BUFFER,s,s.length,3,e.STATIC_DRAW),this._uvBuf=new Oe(e,e.ARRAY_BUFFER,t,t.length,2,e.STATIC_DRAW),this._indicesBuf=new Oe(e,e.ELEMENT_ARRAY_BUFFER,n,n.length,1,e.STATIC_DRAW),this._program.bind(),this._uViewport=this._program.getLocation("uViewport"),this._uCameraNear=this._program.getLocation("uCameraNear"),this._uCameraFar=this._program.getLocation("uCameraFar"),this._uDepthCutoff=this._program.getLocation("uDepthCutoff"),this._uSampleOffsets=e.getUniformLocation(this._program.handle,"uSampleOffsets"),this._uSampleWeights=e.getUniformLocation(this._program.handle,"uSampleWeights"),this._aPosition=this._program.getAttribute("aPosition"),this._aUV=this._program.getAttribute("aUV")}render(e,t,s){if(this._programError)return;this._getInverseProjectMat||(this._getInverseProjectMat=(()=>{let e=!0;this._scene.camera.on("projMatrix",(function(){e=!0}));const t=h.mat4();return()=>(e&&h.inverseMat4(a.camera.projMatrix,t),t)})());const n=this._scene.canvas.gl,i=this._program,a=this._scene,r=n.drawingBufferWidth,l=n.drawingBufferHeight,o=a.camera.project._state,c=o.near,u=o.far;n.viewport(0,0,r,l),n.clearColor(0,0,0,1),n.enable(n.DEPTH_TEST),n.disable(n.BLEND),n.frontFace(n.CCW),n.clear(n.COLOR_BUFFER_BIT|n.DEPTH_BUFFER_BIT),i.bind(),je[0]=r,je[1]=l,n.uniform2fv(this._uViewport,je),n.uniform1f(this._uCameraNear,c),n.uniform1f(this._uCameraFar,u),n.uniform1f(this._uDepthCutoff,.01),0===s?n.uniform2fv(this._uSampleOffsets,Ue):n.uniform2fv(this._uSampleOffsets,He),n.uniform1fv(this._uSampleWeights,Ge);const p=e.getDepthTexture(),A=t.getTexture();i.bindTexture(this._uDepthTexture,p,0),i.bindTexture(this._uOcclusionTexture,A,1),this._aUV.bindArrayBuffer(this._uvBuf),this._aPosition.bindArrayBuffer(this._positionsBuf),this._indicesBuf.bind(),n.drawElements(n.TRIANGLES,this._indicesBuf.numItems,this._indicesBuf.itemType,0)}destroy(){this._program.destroy()}}function ke(e,t){return Math.exp(-e*e/(t*t*2))/(Math.sqrt(2*Math.PI)*t)}function Qe(e,t){const s=[];for(let n=0;n<=e;n++)s.push(t[0]*n),s.push(t[1]*n);return s}class We{constructor(e,t,s){s=s||{},this.gl=t,this.allocated=!1,this.canvas=e,this.buffer=null,this.bound=!1,this.size=s.size,this._hasDepthTexture=!!s.depthTexture}setSize(e){this.size=e}webglContextRestored(e){this.gl=e,this.buffer=null,this.allocated=!1,this.bound=!1}bind(...e){if(this._touch(...e),this.bound)return;const t=this.gl;t.bindFramebuffer(t.FRAMEBUFFER,this.buffer.framebuf),this.bound=!0}createTexture(e,t,s=null){const n=this.gl,i=n.createTexture();return n.bindTexture(n.TEXTURE_2D,i),n.texParameteri(n.TEXTURE_2D,n.TEXTURE_MIN_FILTER,n.NEAREST),n.texParameteri(n.TEXTURE_2D,n.TEXTURE_MAG_FILTER,n.NEAREST),n.texParameteri(n.TEXTURE_2D,n.TEXTURE_WRAP_S,n.CLAMP_TO_EDGE),n.texParameteri(n.TEXTURE_2D,n.TEXTURE_WRAP_T,n.CLAMP_TO_EDGE),s?n.texStorage2D(n.TEXTURE_2D,1,s,e,t):n.texImage2D(n.TEXTURE_2D,0,n.RGBA,e,t,0,n.RGBA,n.UNSIGNED_BYTE,null),i}_touch(...e){let t,s;const n=this.gl;if(this.size?(t=this.size[0],s=this.size[1]):(t=n.drawingBufferWidth,s=n.drawingBufferHeight),this.buffer){if(this.buffer.width===t&&this.buffer.height===s)return;this.buffer.textures.forEach((e=>n.deleteTexture(e))),n.deleteFramebuffer(this.buffer.framebuf),n.deleteRenderbuffer(this.buffer.renderbuf)}const i=[];let a;e.length>0?i.push(...e.map((e=>this.createTexture(t,s,e)))):i.push(this.createTexture(t,s)),this._hasDepthTexture&&(a=n.createTexture(),n.bindTexture(n.TEXTURE_2D,a),n.texParameteri(n.TEXTURE_2D,n.TEXTURE_MAG_FILTER,n.NEAREST),n.texParameteri(n.TEXTURE_2D,n.TEXTURE_MIN_FILTER,n.NEAREST),n.texParameteri(n.TEXTURE_2D,n.TEXTURE_WRAP_S,n.CLAMP_TO_EDGE),n.texParameteri(n.TEXTURE_2D,n.TEXTURE_WRAP_T,n.CLAMP_TO_EDGE),n.texImage2D(n.TEXTURE_2D,0,n.DEPTH_COMPONENT32F,t,s,0,n.DEPTH_COMPONENT,n.FLOAT,null));const r=n.createRenderbuffer();n.bindRenderbuffer(n.RENDERBUFFER,r),n.renderbufferStorage(n.RENDERBUFFER,n.DEPTH_COMPONENT32F,t,s);const l=n.createFramebuffer();n.bindFramebuffer(n.FRAMEBUFFER,l);for(let e=0;e0&&n.drawBuffers(i.map(((e,t)=>n.COLOR_ATTACHMENT0+t))),this._hasDepthTexture?n.framebufferTexture2D(n.FRAMEBUFFER,n.DEPTH_ATTACHMENT,n.TEXTURE_2D,a,0):n.framebufferRenderbuffer(n.FRAMEBUFFER,n.DEPTH_ATTACHMENT,n.RENDERBUFFER,r),n.bindTexture(n.TEXTURE_2D,null),n.bindRenderbuffer(n.RENDERBUFFER,null),n.bindFramebuffer(n.FRAMEBUFFER,null),n.bindFramebuffer(n.FRAMEBUFFER,l),!n.isFramebuffer(l))throw"Invalid framebuffer";n.bindFramebuffer(n.FRAMEBUFFER,null);const o=n.checkFramebufferStatus(n.FRAMEBUFFER);switch(o){case n.FRAMEBUFFER_COMPLETE:break;case n.FRAMEBUFFER_INCOMPLETE_ATTACHMENT:throw"Incomplete framebuffer: FRAMEBUFFER_INCOMPLETE_ATTACHMENT";case n.FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT:throw"Incomplete framebuffer: FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT";case n.FRAMEBUFFER_INCOMPLETE_DIMENSIONS:throw"Incomplete framebuffer: FRAMEBUFFER_INCOMPLETE_DIMENSIONS";case n.FRAMEBUFFER_UNSUPPORTED:throw"Incomplete framebuffer: FRAMEBUFFER_UNSUPPORTED";default:throw"Incomplete framebuffer: "+o}this.buffer={framebuf:l,renderbuf:r,texture:i[0],textures:i,depthTexture:a,width:t,height:s},this.bound=!1}clear(){if(!this.bound)throw"Render buffer not bound";const e=this.gl;e.clear(e.COLOR_BUFFER_BIT|e.DEPTH_BUFFER_BIT)}read(e,t,s=null,n=null,i=Uint8Array,a=4,r=0){const l=e,o=this.buffer.height?this.buffer.height-t-1:this.gl.drawingBufferHeight-t,c=new i(a),u=this.gl;return u.readBuffer(u.COLOR_ATTACHMENT0+r),u.readPixels(l,o,1,1,s||u.RGBA,n||u.UNSIGNED_BYTE,c,0),c}readArray(e=null,t=null,s=Uint8Array,n=4,i=0){const a=new s(this.buffer.width*this.buffer.height*n),r=this.gl;return r.readBuffer(r.COLOR_ATTACHMENT0+i),r.readPixels(0,0,this.buffer.width,this.buffer.height,e||r.RGBA,t||r.UNSIGNED_BYTE,a,0),a}readImageAsCanvas(){const e=this.gl,t=this._getImageDataCache(),s=t.pixelData,n=t.canvas,i=t.imageData,a=t.context;e.readPixels(0,0,this.buffer.width,this.buffer.height,e.RGBA,e.UNSIGNED_BYTE,s);const r=this.buffer.width,l=this.buffer.height,o=l/2|0,c=4*r,u=new Uint8Array(4*r);for(let e=0;ee.deleteTexture(t))),e.deleteTexture(this.buffer.depthTexture),e.deleteFramebuffer(this.buffer.framebuf),e.deleteRenderbuffer(this.buffer.renderbuf),this.allocated=!1,this.buffer=null,this.bound=!1}this._imageDataCache=null,this._texture=null,this._depthTexture=null}}class ze{constructor(e){this.scene=e,this._renderBuffersBasic={},this._renderBuffersScaled={}}getRenderBuffer(e,t){const s=1===this.scene.canvas.resolutionScale?this._renderBuffersBasic:this._renderBuffersScaled;let n=s[e];return n||(n=new We(this.scene.canvas.canvas,this.scene.canvas.gl,t),s[e]=n),n}destroy(){for(let e in this._renderBuffersBasic)this._renderBuffersBasic[e].destroy();for(let e in this._renderBuffersScaled)this._renderBuffersScaled[e].destroy()}}function Ke(e,t){if(void 0===e._cachedExtensions&&(e._cachedExtensions={}),void 0!==e._cachedExtensions[t])return e._cachedExtensions[t];let s;switch(t){case"WEBGL_depth_texture":s=e.getExtension("WEBGL_depth_texture")||e.getExtension("MOZ_WEBGL_depth_texture")||e.getExtension("WEBKIT_WEBGL_depth_texture");break;case"EXT_texture_filter_anisotropic":s=e.getExtension("EXT_texture_filter_anisotropic")||e.getExtension("MOZ_EXT_texture_filter_anisotropic")||e.getExtension("WEBKIT_EXT_texture_filter_anisotropic");break;case"WEBGL_compressed_texture_s3tc":s=e.getExtension("WEBGL_compressed_texture_s3tc")||e.getExtension("MOZ_WEBGL_compressed_texture_s3tc")||e.getExtension("WEBKIT_WEBGL_compressed_texture_s3tc");break;case"WEBGL_compressed_texture_pvrtc":s=e.getExtension("WEBGL_compressed_texture_pvrtc")||e.getExtension("WEBKIT_WEBGL_compressed_texture_pvrtc");break;default:s=e.getExtension(t)}return e._cachedExtensions[t]=s,s}const Ye=function(t,s){s=s||{};const n=new we(t),i=t.canvas.canvas,a=t.canvas.gl,r=!!s.transparent,l=s.alphaDepthMask,o=new e({});let c={},u={},p=!0,A=!0,f=!0,I=!0,y=!0,m=!0,v=!0,w=!0;const g=new ze(t);let E=!1;const T=new Fe(t),b=new Ve(t);function D(){p&&(!function(){for(let e in c)if(c.hasOwnProperty(e)){const t=c[e],s=t.drawableMap,n=t.drawableListPreCull;let i=0;for(let e in s)s.hasOwnProperty(e)&&(n[i++]=s[e]);n.length=i}}(),p=!1,A=!0),A&&(!function(){for(let e in c)if(c.hasOwnProperty(e)){const t=c[e];t.isStateSortable&&t.drawableListPreCull.sort(t.stateSortCompare)}}(),A=!1,f=!0),f&&function(){for(let e in c)if(c.hasOwnProperty(e)){const t=c[e],s=t.drawableListPreCull,n=t.drawableList;let i=0;for(let e=0,t=s.length;e0)for(n.withSAO=!0,S=0;S0)for(S=0;S0)for(S=0;S0)for(S=0;S0||k>0||H>0||U>0){if(a.enable(a.CULL_FACE),a.enable(a.BLEND),r?(a.blendEquation(a.FUNC_ADD),a.blendFuncSeparate(a.SRC_ALPHA,a.ONE_MINUS_SRC_ALPHA,a.ONE,a.ONE_MINUS_SRC_ALPHA)):(a.blendEquation(a.FUNC_ADD),a.blendFunc(a.SRC_ALPHA,a.ONE_MINUS_SRC_ALPHA)),n.backfaces=!1,l||a.depthMask(!1),(H>0||U>0)&&a.blendFunc(a.SRC_ALPHA,a.ONE_MINUS_SRC_ALPHA),U>0)for(S=0;S0)for(S=0;S0)for(S=0;S0)for(S=0;S0||W>0){if(n.lastProgramId=null,t.highlightMaterial.glowThrough&&a.clear(a.DEPTH_BUFFER_BIT),W>0)for(S=0;S0)for(S=0;S0||K>0||Q>0){if(n.lastProgramId=null,t.selectedMaterial.glowThrough&&a.clear(a.DEPTH_BUFFER_BIT),a.enable(a.BLEND),r?(a.blendEquation(a.FUNC_ADD),a.blendFuncSeparate(a.SRC_ALPHA,a.ONE_MINUS_SRC_ALPHA,a.ONE,a.ONE_MINUS_SRC_ALPHA)):a.blendFunc(a.SRC_ALPHA,a.ONE_MINUS_SRC_ALPHA),a.enable(a.CULL_FACE),K>0)for(S=0;S0)for(S=0;S0||X>0){if(n.lastProgramId=null,t.selectedMaterial.glowThrough&&a.clear(a.DEPTH_BUFFER_BIT),X>0)for(S=0;S0)for(S=0;S0||J>0){if(n.lastProgramId=null,t.selectedMaterial.glowThrough&&a.clear(a.DEPTH_BUFFER_BIT),a.enable(a.CULL_FACE),a.enable(a.BLEND),r?(a.blendEquation(a.FUNC_ADD),a.blendFuncSeparate(a.SRC_ALPHA,a.ONE_MINUS_SRC_ALPHA,a.ONE,a.ONE_MINUS_SRC_ALPHA)):a.blendFunc(a.SRC_ALPHA,a.ONE_MINUS_SRC_ALPHA),J>0)for(S=0;S0)for(S=0;S0){const t=Math.floor(e/4),s=A.size[0],n=t%s-Math.floor(s/2),i=Math.floor(t/s)-Math.floor(s/2),a=Math.sqrt(Math.pow(n,2)+Math.pow(i,2));R.push({x:n,y:i,dist:a,isVertex:r&&l?m[e+3]>y.length/2:r,result:[m[e+0],m[e+1],m[e+2],m[e+3]],normal:[v[e+0],v[e+1],v[e+2],v[e+3]],id:[w[e+0],w[e+1],w[e+2],w[e+3]]})}let O=null,S=null,N=null,x=null;if(R.length>0){R.sort(((e,t)=>e.isVertex!==t.isVertex?e.isVertex?-1:1:e.dist-t.dist)),x=R[0].isVertex?"vertex":"edge";const e=R[0].result,t=R[0].normal,s=R[0].id,n=y[e[3]],i=n.origin,a=n.coordinateScale;S=h.normalizeVec3([t[0]/h.MAX_INT,t[1]/h.MAX_INT,t[2]/h.MAX_INT]),O=[e[0]*a[0]+i[0],e[1]*a[1]+i[1],e[2]*a[2]+i[2]],N=o.items[s[0]+(s[1]<<8)+(s[2]<<16)+(s[3]<<24)]}if(null===E&&null==O)return null;let L=null;null!==O&&(L=t.camera.projectWorldPos(O));const M=N&&N.delegatePickedEntity?N.delegatePickedEntity():N;return u.reset(),u.snappedToEdge="edge"===x,u.snappedToVertex="vertex"===x,u.worldPos=O,u.worldNormal=S,u.entity=M,u.canvasPos=s,u.snappedCanvasPos=L||s,u}}(),this.addMarker=function(e){this._occlusionTester=this._occlusionTester||new Le(t,g),this._occlusionTester.addMarker(e),t.occlusionTestCountdown=0},this.markerWorldPosUpdated=function(e){this._occlusionTester.markerWorldPosUpdated(e)},this.removeMarker=function(e){this._occlusionTester.removeMarker(e)},this.doOcclusionTest=function(){if(this._occlusionTester&&this._occlusionTester.needOcclusionTest){D(),this._occlusionTester.bindRenderBuf(),n.reset(),n.backfaces=!0,n.frontface=!0,a.viewport(0,0,a.drawingBufferWidth,a.drawingBufferHeight),a.clearColor(0,0,0,0),a.enable(a.DEPTH_TEST),a.disable(a.CULL_FACE),a.disable(a.BLEND),a.clear(a.COLOR_BUFFER_BIT|a.DEPTH_BUFFER_BIT);for(let e in c)if(c.hasOwnProperty(e)){const t=c[e].drawableList;for(let e=0,s=t.length;e{this.enabled&&this.keyboardEnabled&&"INPUT"!==e.target.tagName&&"TEXTAREA"!==e.target.tagName&&(e.keyCode===this.KEY_CTRL?this.ctrlDown=!0:e.keyCode===this.KEY_ALT?this.altDown=!0:e.keyCode===this.KEY_SHIFT&&(this.shiftDown=!0),this.keyDown[e.keyCode]=!0,this.fire("keydown",e.keyCode,!0))},!1),this._keyboardEventsElement.addEventListener("keyup",this._keyUpListener=e=>{this.enabled&&this.keyboardEnabled&&"INPUT"!==e.target.tagName&&"TEXTAREA"!==e.target.tagName&&(e.keyCode===this.KEY_CTRL?this.ctrlDown=!1:e.keyCode===this.KEY_ALT?this.altDown=!1:e.keyCode===this.KEY_SHIFT&&(this.shiftDown=!1),this.keyDown[e.keyCode]=!1,this.fire("keyup",e.keyCode,!0))}),this.element.addEventListener("mouseenter",this._mouseEnterListener=e=>{this.enabled&&(this.mouseover=!0,this._getMouseCanvasPos(e),this.fire("mouseenter",this.mouseCanvasPos,!0))}),this.element.addEventListener("mouseleave",this._mouseLeaveListener=e=>{this.enabled&&(this.mouseover=!1,this._getMouseCanvasPos(e),this.fire("mouseleave",this.mouseCanvasPos,!0))}),this.element.addEventListener("mousedown",this._mouseDownListener=e=>{if(this.enabled){switch(e.which){case 1:this.mouseDownLeft=!0;break;case 2:this.mouseDownMiddle=!0;break;case 3:this.mouseDownRight=!0}this._getMouseCanvasPos(e),this.element.focus(),this.fire("mousedown",this.mouseCanvasPos,!0),this.mouseover&&e.preventDefault()}}),document.addEventListener("mouseup",this._mouseUpListener=e=>{if(this.enabled){switch(e.which){case 1:this.mouseDownLeft=!1;break;case 2:this.mouseDownMiddle=!1;break;case 3:this.mouseDownRight=!1}this.fire("mouseup",this.mouseCanvasPos,!0)}},!0),document.addEventListener("click",this._clickListener=e=>{if(this.enabled){switch(e.which){case 1:case 3:this.mouseDownLeft=!1,this.mouseDownRight=!1;break;case 2:this.mouseDownMiddle=!1}this._getMouseCanvasPos(e),this.fire("click",this.mouseCanvasPos,!0),this.mouseover&&e.preventDefault()}}),document.addEventListener("dblclick",this._dblClickListener=e=>{if(this.enabled){switch(e.which){case 1:case 3:this.mouseDownLeft=!1,this.mouseDownRight=!1;break;case 2:this.mouseDownMiddle=!1}this._getMouseCanvasPos(e),this.fire("dblclick",this.mouseCanvasPos,!0),this.mouseover&&e.preventDefault()}});const e=this.scene.tickify((()=>this.fire("mousemove",this.mouseCanvasPos,!0)));this.element.addEventListener("mousemove",this._mouseMoveListener=t=>{this.enabled&&(this._getMouseCanvasPos(t),e(),this.mouseover&&t.preventDefault())});const t=this.scene.tickify((e=>{this.fire("mousewheel",e,!0)}));this.element.addEventListener("wheel",this._mouseWheelListener=(e,s)=>{if(!this.enabled)return;const n=Math.max(-1,Math.min(1,40*-e.deltaY));t(n)},{passive:!0});{let e,t;const s=2;this.on("mousedown",(s=>{e=s[0],t=s[1]})),this.on("mouseup",(n=>{e>=n[0]-s&&e<=n[0]+s&&t>=n[1]-s&&t<=n[1]+s&&this.fire("mouseclicked",n,!0)}))}this._eventsBound=!0}_unbindEvents(){this._eventsBound&&(this._keyboardEventsElement.removeEventListener("keydown",this._keyDownListener),this._keyboardEventsElement.removeEventListener("keyup",this._keyUpListener),this.element.removeEventListener("mouseenter",this._mouseEnterListener),this.element.removeEventListener("mouseleave",this._mouseLeaveListener),this.element.removeEventListener("mousedown",this._mouseDownListener),document.removeEventListener("mouseup",this._mouseDownListener),document.removeEventListener("click",this._clickListener),document.removeEventListener("dblclick",this._dblClickListener),this.element.removeEventListener("mousemove",this._mouseMoveListener),this.element.removeEventListener("wheel",this._mouseWheelListener),window.OrientationChangeEvent&&window.removeEventListener("orientationchange",this._orientationchangedListener),window.DeviceMotionEvent&&window.removeEventListener("devicemotion",this._deviceMotionListener),window.DeviceOrientationEvent&&window.removeEventListener("deviceorientation",this._deviceOrientListener),this._eventsBound=!1)}_getMouseCanvasPos(e){if(e){let t=e.target,s=0,n=0;for(;t.offsetParent;)s+=t.offsetLeft,n+=t.offsetTop,t=t.offsetParent;this.mouseCanvasPos[0]=e.pageX-s,this.mouseCanvasPos[1]=e.pageY-n}else e=window.event,this.mouseCanvasPos[0]=e.x,this.mouseCanvasPos[1]=e.y}setEnabled(e){this.enabled!==e&&this.fire("enabled",this.enabled=e)}getEnabled(){return this.enabled}setKeyboardEnabled(e){this.keyboardEnabled=e}getKeyboardEnabled(){return this.keyboardEnabled}destroy(){super.destroy(),this._unbindEvents()}}const qe=new e({});class Je{constructor(e){this.id=qe.addItem({});for(const t in e)e.hasOwnProperty(t)&&(this[t]=e[t])}destroy(){qe.removeItem(this.id)}}class Ze extends _{get type(){return"Viewport"}constructor(e,t={}){super(e,t),this._state=new Je({boundary:[0,0,100,100]}),this.boundary=t.boundary,this.autoBoundary=t.autoBoundary}set boundary(e){if(!this._autoBoundary){if(!e){const t=this.scene.canvas.boundary;e=[0,0,t[2],t[3]]}this._state.boundary=e,this.glRedraw(),this.fire("boundary",this._state.boundary)}}get boundary(){return this._state.boundary}set autoBoundary(e){(e=!!e)!==this._autoBoundary&&(this._autoBoundary=e,this._autoBoundary?this._onCanvasSize=this.scene.canvas.on("boundary",(function(e){const t=e[2],s=e[3];this._state.boundary=[0,0,t,s],this.glRedraw(),this.fire("boundary",this._state.boundary)}),this):this._onCanvasSize&&(this.scene.canvas.off(this._onCanvasSize),this._onCanvasSize=null),this.fire("autoBoundary",this._autoBoundary))}get autoBoundary(){return this._autoBoundary}_getState(){return this._state}destroy(){super.destroy(),this._state.destroy()}}class $e extends _{get type(){return"Perspective"}constructor(e,t={}){super(e,t),this.camera=e,this._state=new Je({matrix:h.mat4(),inverseMatrix:h.mat4(),transposedMatrix:h.mat4(),near:.1,far:2e3}),this._inverseMatrixDirty=!0,this._transposedMatrixDirty=!0,this._fov=60,this._canvasResized=this.scene.canvas.on("boundary",this._needUpdate,this),this.fov=t.fov,this.fovAxis=t.fovAxis,this.near=t.near,this.far=t.far}_update(){const e=this.scene.canvas.boundary,t=e[2]/e[3],s=this._fovAxis;let n=this._fov;("x"===s||"min"===s&&t<1||"max"===s&&t>1)&&(n/=t),n=Math.min(n,120),h.perspectiveMat4(n*(Math.PI/180),t,this._state.near,this._state.far,this._state.matrix),this._inverseMatrixDirty=!0,this._transposedMatrixDirty=!0,this.glRedraw(),this.camera._updateScheduled=!0,this.fire("matrix",this._state.matrix)}set fov(e){(e=null!=e?e:60)!==this._fov&&(this._fov=e,this._needUpdate(0),this.fire("fov",this._fov))}get fov(){return this._fov}set fovAxis(e){e=e||"min",this._fovAxis!==e&&("x"!==e&&"y"!==e&&"min"!==e&&(this.error("Unsupported value for 'fovAxis': "+e+" - defaulting to 'min'"),e="min"),this._fovAxis=e,this._needUpdate(0),this.fire("fovAxis",this._fovAxis))}get fovAxis(){return this._fovAxis}set near(e){const t=null!=e?e:.1;this._state.near!==t&&(this._state.near=t,this._needUpdate(0),this.fire("near",this._state.near))}get near(){return this._state.near}set far(e){const t=null!=e?e:2e3;this._state.far!==t&&(this._state.far=t,this._needUpdate(0),this.fire("far",this._state.far))}get far(){return this._state.far}get matrix(){return this._updateScheduled&&this._doUpdate(),this._state.matrix}get inverseMatrix(){return this._updateScheduled&&this._doUpdate(),this._inverseMatrixDirty&&(h.inverseMat4(this._state.matrix,this._state.inverseMatrix),this._inverseMatrixDirty=!1),this._state.inverseMatrix}get transposedMatrix(){return this._updateScheduled&&this._doUpdate(),this._transposedMatrixDirty&&(h.transposeMat4(this._state.matrix,this._state.transposedMatrix),this._transposedMatrixDirty=!1),this._state.transposedMatrix}unproject(e,t,s,n,i){const a=this.scene.canvas.canvas,r=a.offsetWidth/2,l=a.offsetHeight/2;return s[0]=(e[0]-r)/r,s[1]=(e[1]-l)/l,s[2]=t,s[3]=1,h.mulMat4v4(this.inverseMatrix,s,n),h.mulVec3Scalar(n,1/n[3]),n[3]=1,n[1]*=-1,h.mulMat4v4(this.camera.inverseViewMatrix,n,i),i}destroy(){super.destroy(),this._state.destroy(),this.scene.canvas.off(this._canvasResized)}}class et extends _{get type(){return"Ortho"}constructor(e,t={}){super(e,t),this.camera=e,this._state=new Je({matrix:h.mat4(),inverseMatrix:h.mat4(),transposedMatrix:h.mat4(),near:.1,far:2e3}),this._inverseMatrixDirty=!0,this._transposedMatrixDirty=!0,this.scale=t.scale,this.near=t.near,this.far=t.far,this._onCanvasBoundary=this.scene.canvas.on("boundary",this._needUpdate,this)}_update(){const e=this.scene,t=.5*this._scale,s=e.canvas.boundary,n=s[2],i=s[3],a=n/i;let r,l,o,c;n>i?(r=-t,l=t,o=t/a,c=-t/a):(r=-t*a,l=t*a,o=t,c=-t),h.orthoMat4c(r,l,c,o,this._state.near,this._state.far,this._state.matrix),this._inverseMatrixDirty=!0,this._transposedMatrixDirty=!0,this.glRedraw(),this.fire("matrix",this._state.matrix)}set scale(e){null==e&&(e=1),e<=0&&(e=.01),this._scale=e,this._needUpdate(0),this.fire("scale",this._scale)}get scale(){return this._scale}set near(e){const t=null!=e?e:.1;this._state.near!==t&&(this._state.near=t,this._needUpdate(0),this.fire("near",this._state.near))}get near(){return this._state.near}set far(e){const t=null!=e?e:2e3;this._state.far!==t&&(this._state.far=t,this._needUpdate(0),this.fire("far",this._state.far))}get far(){return this._state.far}get matrix(){return this._updateScheduled&&this._doUpdate(),this._state.matrix}get inverseMatrix(){return this._updateScheduled&&this._doUpdate(),this._inverseMatrixDirty&&(h.inverseMat4(this._state.matrix,this._state.inverseMatrix),this._inverseMatrixDirty=!1),this._state.inverseMatrix}get transposedMatrix(){return this._updateScheduled&&this._doUpdate(),this._transposedMatrixDirty&&(h.transposeMat4(this._state.matrix,this._state.transposedMatrix),this._transposedMatrixDirty=!1),this._state.transposedMatrix}unproject(e,t,s,n,i){const a=this.scene.canvas.canvas,r=a.offsetWidth/2,l=a.offsetHeight/2;return s[0]=(e[0]-r)/r,s[1]=(e[1]-l)/l,s[2]=t,s[3]=1,h.mulMat4v4(this.inverseMatrix,s,n),h.mulVec3Scalar(n,1/n[3]),n[3]=1,n[1]*=-1,h.mulMat4v4(this.camera.inverseViewMatrix,n,i),i}destroy(){super.destroy(),this._state.destroy(),this.scene.canvas.off(this._onCanvasBoundary)}}class tt extends _{get type(){return"Frustum"}constructor(e,t={}){super(e,t),this.camera=e,this._state=new Je({matrix:h.mat4(),inverseMatrix:h.mat4(),transposedMatrix:h.mat4(),near:.1,far:1e4}),this._left=-1,this._right=1,this._bottom=-1,this._top=1,this._inverseMatrixDirty=!0,this._transposedMatrixDirty=!0,this.left=t.left,this.right=t.right,this.bottom=t.bottom,this.top=t.top,this.near=t.near,this.far=t.far}_update(){h.frustumMat4(this._left,this._right,this._bottom,this._top,this._state.near,this._state.far,this._state.matrix),this._inverseMatrixDirty=!0,this._transposedMatrixDirty=!0,this.glRedraw(),this.fire("matrix",this._state.matrix)}set left(e){this._left=null!=e?e:-1,this._needUpdate(0),this.fire("left",this._left)}get left(){return this._left}set right(e){this._right=null!=e?e:1,this._needUpdate(0),this.fire("right",this._right)}get right(){return this._right}set top(e){this._top=null!=e?e:1,this._needUpdate(0),this.fire("top",this._top)}get top(){return this._top}set bottom(e){this._bottom=null!=e?e:-1,this._needUpdate(0),this.fire("bottom",this._bottom)}get bottom(){return this._bottom}set near(e){this._state.near=null!=e?e:.1,this._needUpdate(0),this.fire("near",this._state.near)}get near(){return this._state.near}set far(e){this._state.far=null!=e?e:1e4,this._needUpdate(0),this.fire("far",this._state.far)}get far(){return this._state.far}get matrix(){return this._updateScheduled&&this._doUpdate(),this._state.matrix}get inverseMatrix(){return this._updateScheduled&&this._doUpdate(),this._inverseMatrixDirty&&(h.inverseMat4(this._state.matrix,this._state.inverseMatrix),this._inverseMatrixDirty=!1),this._state.inverseMatrix}get transposedMatrix(){return this._updateScheduled&&this._doUpdate(),this._transposedMatrixDirty&&(h.transposeMat4(this._state.matrix,this._state.transposedMatrix),this._transposedMatrixDirty=!1),this._state.transposedMatrix}unproject(e,t,s,n,i){const a=this.scene.canvas.canvas,r=a.offsetWidth/2,l=a.offsetHeight/2;return s[0]=(e[0]-r)/r,s[1]=(e[1]-l)/l,s[2]=t,s[3]=1,h.mulMat4v4(this.inverseMatrix,s,n),h.mulVec3Scalar(n,1/n[3]),n[3]=1,n[1]*=-1,h.mulMat4v4(this.camera.inverseViewMatrix,n,i),i}destroy(){super.destroy(),this._state.destroy(),super.destroy()}}class st extends _{get type(){return"CustomProjection"}constructor(e,t={}){super(e,t),this.camera=e,this._state=new Je({matrix:h.mat4(),inverseMatrix:h.mat4(),transposedMatrix:h.mat4()}),this._inverseMatrixDirty=!0,this._transposedMatrixDirty=!1,this.matrix=t.matrix}set matrix(e){this._state.matrix.set(e||[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]),this._inverseMatrixDirty=!0,this._transposedMatrixDirty=!0,this.glRedraw(),this.fire("matrix",this._state.matrix)}get matrix(){return this._state.matrix}get inverseMatrix(){return this._updateScheduled&&this._doUpdate(),this._inverseMatrixDirty&&(h.inverseMat4(this._state.matrix,this._state.inverseMatrix),this._inverseMatrixDirty=!1),this._state.inverseMatrix}get transposedMatrix(){return this._updateScheduled&&this._doUpdate(),this._transposedMatrixDirty&&(h.transposeMat4(this._state.matrix,this._state.transposedMatrix),this._transposedMatrixDirty=!1),this._state.transposedMatrix}unproject(e,t,s,n,i){const a=this.scene.canvas.canvas,r=a.offsetWidth/2,l=a.offsetHeight/2;return s[0]=(e[0]-r)/r,s[1]=(e[1]-l)/l,s[2]=t,s[3]=1,h.mulMat4v4(this.inverseMatrix,s,n),h.mulVec3Scalar(n,1/n[3]),n[3]=1,n[1]*=-1,h.mulMat4v4(this.camera.inverseViewMatrix,n,i),i}destroy(){super.destroy(),this._state.destroy()}}const nt=h.vec3(),it=h.vec3(),at=h.vec3(),rt=h.vec3(),lt=h.vec3(),ot=h.vec3(),ct=h.vec4(),ut=h.vec4(),ht=h.vec4(),pt=h.mat4(),At=h.mat4(),dt=h.vec3(),ft=h.vec3(),It=h.vec3(),yt=h.vec3();class mt extends _{get type(){return"Camera"}constructor(e,t={}){super(e,t),this._state=new Je({deviceMatrix:h.mat4(),hasDeviceMatrix:!1,matrix:h.mat4(),normalMatrix:h.mat4(),inverseMatrix:h.mat4()}),this._perspective=new $e(this),this._ortho=new et(this),this._frustum=new tt(this),this._customProjection=new st(this),this._project=this._perspective,this._eye=h.vec3([0,0,10]),this._look=h.vec3([0,0,0]),this._up=h.vec3([0,1,0]),this._worldUp=h.vec3([0,1,0]),this._worldRight=h.vec3([1,0,0]),this._worldForward=h.vec3([0,0,-1]),this.deviceMatrix=t.deviceMatrix,this.eye=t.eye,this.look=t.look,this.up=t.up,this.worldAxis=t.worldAxis,this.gimbalLock=t.gimbalLock,this.constrainPitch=t.constrainPitch,this.projection=t.projection,this._perspective.on("matrix",(()=>{"perspective"===this._projectionType&&this.fire("projMatrix",this._perspective.matrix)})),this._ortho.on("matrix",(()=>{"ortho"===this._projectionType&&this.fire("projMatrix",this._ortho.matrix)})),this._frustum.on("matrix",(()=>{"frustum"===this._projectionType&&this.fire("projMatrix",this._frustum.matrix)})),this._customProjection.on("matrix",(()=>{"customProjection"===this._projectionType&&this.fire("projMatrix",this._customProjection.matrix)}))}_update(){const e=this._state;let t;"ortho"===this.projection?(h.subVec3(this._eye,this._look,dt),h.normalizeVec3(dt,ft),h.mulVec3Scalar(ft,1e3,It),h.addVec3(this._look,It,yt),t=yt):t=this._eye,e.hasDeviceMatrix?(h.lookAtMat4v(t,this._look,this._up,At),h.mulMat4(e.deviceMatrix,At,e.matrix)):h.lookAtMat4v(t,this._look,this._up,e.matrix),h.inverseMat4(this._state.matrix,this._state.inverseMatrix),h.transposeMat4(this._state.inverseMatrix,this._state.normalMatrix),this.glRedraw(),this.fire("matrix",this._state.matrix),this.fire("viewMatrix",this._state.matrix)}orbitYaw(e){let t=h.subVec3(this._eye,this._look,nt);h.rotationMat4v(.0174532925*e,this._gimbalLock?this._worldUp:this._up,pt),t=h.transformPoint3(pt,t,it),this.eye=h.addVec3(this._look,t,at),this.up=h.transformPoint3(pt,this._up,rt)}orbitPitch(e){if(this._constrainPitch&&(e=h.dotVec3(this._up,this._worldUp)/h.DEGTORAD)<1)return;let t=h.subVec3(this._eye,this._look,nt);const s=h.cross3Vec3(h.normalizeVec3(t,it),h.normalizeVec3(this._up,at));h.rotationMat4v(.0174532925*e,s,pt),t=h.transformPoint3(pt,t,rt),this.up=h.transformPoint3(pt,this._up,lt),this.eye=h.addVec3(t,this._look,ot)}yaw(e){let t=h.subVec3(this._look,this._eye,nt);h.rotationMat4v(.0174532925*e,this._gimbalLock?this._worldUp:this._up,pt),t=h.transformPoint3(pt,t,it),this.look=h.addVec3(t,this._eye,at),this._gimbalLock&&(this.up=h.transformPoint3(pt,this._up,rt))}pitch(e){if(this._constrainPitch&&(e=h.dotVec3(this._up,this._worldUp)/h.DEGTORAD)<1)return;let t=h.subVec3(this._look,this._eye,nt);const s=h.cross3Vec3(h.normalizeVec3(t,it),h.normalizeVec3(this._up,at));h.rotationMat4v(.0174532925*e,s,pt),this.up=h.transformPoint3(pt,this._up,ot),t=h.transformPoint3(pt,t,rt),this.look=h.addVec3(t,this._eye,lt)}pan(e){const t=h.subVec3(this._eye,this._look,nt),s=[0,0,0];let n;if(0!==e[0]){const i=h.cross3Vec3(h.normalizeVec3(t,[]),h.normalizeVec3(this._up,it));n=h.mulVec3Scalar(i,e[0]),s[0]+=n[0],s[1]+=n[1],s[2]+=n[2]}0!==e[1]&&(n=h.mulVec3Scalar(h.normalizeVec3(this._up,at),e[1]),s[0]+=n[0],s[1]+=n[1],s[2]+=n[2]),0!==e[2]&&(n=h.mulVec3Scalar(h.normalizeVec3(t,rt),e[2]),s[0]+=n[0],s[1]+=n[1],s[2]+=n[2]),this.eye=h.addVec3(this._eye,s,lt),this.look=h.addVec3(this._look,s,ot)}zoom(e){const t=h.subVec3(this._eye,this._look,nt),s=Math.abs(h.lenVec3(t,it)),n=Math.abs(s+e);if(n<.5)return;const i=h.normalizeVec3(t,at);this.eye=h.addVec3(this._look,h.mulVec3Scalar(i,n),rt)}set eye(e){this._eye.set(e||[0,0,10]),this._needUpdate(0),this.fire("eye",this._eye)}get eye(){return this._eye}set look(e){this._look.set(e||[0,0,0]),this._needUpdate(0),this.fire("look",this._look)}get look(){return this._look}set up(e){this._up.set(e||[0,1,0]),this._needUpdate(0),this.fire("up",this._up)}get up(){return this._up}set deviceMatrix(e){this._state.deviceMatrix.set(e||[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]),this._state.hasDeviceMatrix=!!e,this._needUpdate(0),this.fire("deviceMatrix",this._state.deviceMatrix)}get deviceMatrix(){return this._state.deviceMatrix}set worldAxis(e){e=e||[1,0,0,0,1,0,0,0,1],this._worldAxis?this._worldAxis.set(e):this._worldAxis=h.vec3(e),this._worldRight[0]=this._worldAxis[0],this._worldRight[1]=this._worldAxis[1],this._worldRight[2]=this._worldAxis[2],this._worldUp[0]=this._worldAxis[3],this._worldUp[1]=this._worldAxis[4],this._worldUp[2]=this._worldAxis[5],this._worldForward[0]=this._worldAxis[6],this._worldForward[1]=this._worldAxis[7],this._worldForward[2]=this._worldAxis[8],this.fire("worldAxis",this._worldAxis)}get worldAxis(){return this._worldAxis}get worldUp(){return this._worldUp}get xUp(){return this._worldUp[0]>this._worldUp[1]&&this._worldUp[0]>this._worldUp[2]}get yUp(){return this._worldUp[1]>this._worldUp[0]&&this._worldUp[1]>this._worldUp[2]}get zUp(){return this._worldUp[2]>this._worldUp[0]&&this._worldUp[2]>this._worldUp[1]}get worldRight(){return this._worldRight}get worldForward(){return this._worldForward}set gimbalLock(e){this._gimbalLock=!1!==e,this.fire("gimbalLock",this._gimbalLock)}get gimbalLock(){return this._gimbalLock}set constrainPitch(e){this._constrainPitch=!!e,this.fire("constrainPitch",this._constrainPitch)}get eyeLookDist(){return h.lenVec3(h.subVec3(this._look,this._eye,nt))}get matrix(){return this._updateScheduled&&this._doUpdate(),this._state.matrix}get viewMatrix(){return this._updateScheduled&&this._doUpdate(),this._state.matrix}get normalMatrix(){return this._updateScheduled&&this._doUpdate(),this._state.normalMatrix}get viewNormalMatrix(){return this._updateScheduled&&this._doUpdate(),this._state.normalMatrix}get inverseViewMatrix(){return this._updateScheduled&&this._doUpdate(),this._state.inverseMatrix}get projMatrix(){return this[this.projection].matrix}get perspective(){return this._perspective}get ortho(){return this._ortho}get frustum(){return this._frustum}get customProjection(){return this._customProjection}set projection(e){e=e||"perspective",this._projectionType!==e&&("perspective"===e?this._project=this._perspective:"ortho"===e?this._project=this._ortho:"frustum"===e?this._project=this._frustum:"customProjection"===e?this._project=this._customProjection:(this.error("Unsupported value for 'projection': "+e+" defaulting to 'perspective'"),this._project=this._perspective,e="perspective"),this._project._update(),this._projectionType=e,this.glRedraw(),this._update(),this.fire("dirty"),this.fire("projection",this._projectionType),this.fire("projMatrix",this._project.matrix))}get projection(){return this._projectionType}get project(){return this._project}projectWorldPos(e){const t=ct,s=ut,n=ht;t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=1,h.mulMat4v4(this.viewMatrix,t,s),h.mulMat4v4(this.projMatrix,s,n),h.mulVec3Scalar(n,1/n[3]),n[3]=1,n[1]*=-1;const i=this.scene.canvas.canvas,a=i.offsetWidth/2,r=i.offsetHeight/2;return[n[0]*a+a,n[1]*r+r]}destroy(){super.destroy(),this._state.destroy()}}class vt extends _{get type(){return"Light"}get isLight(){return!0}constructor(e,t={}){super(e,t)}}class wt extends vt{get type(){return"DirLight"}constructor(e,t={}){super(e,t),this._shadowRenderBuf=null,this._shadowViewMatrix=null,this._shadowProjMatrix=null,this._shadowViewMatrixDirty=!0,this._shadowProjMatrixDirty=!0;const s=this.scene.camera,n=this.scene.canvas;this._onCameraViewMatrix=s.on("viewMatrix",(()=>{this._shadowViewMatrixDirty=!0})),this._onCameraProjMatrix=s.on("projMatrix",(()=>{this._shadowProjMatrixDirty=!0})),this._onCanvasBoundary=n.on("boundary",(()=>{this._shadowProjMatrixDirty=!0})),this._state=new Je({type:"dir",dir:h.vec3([1,1,1]),color:h.vec3([.7,.7,.8]),intensity:1,space:t.space||"view",castsShadow:!1,getShadowViewMatrix:()=>{if(this._shadowViewMatrixDirty){this._shadowViewMatrix||(this._shadowViewMatrix=h.identityMat4());const e=this.scene.camera,t=this._state.dir,s=e.look,n=[s[0]-t[0],s[1]-t[1],s[2]-t[2]],i=[0,1,0];h.lookAtMat4v(n,s,i,this._shadowViewMatrix),this._shadowViewMatrixDirty=!1}return this._shadowViewMatrix},getShadowProjMatrix:()=>(this._shadowProjMatrixDirty&&(this._shadowProjMatrix||(this._shadowProjMatrix=h.identityMat4()),h.orthoMat4c(-40,40,-40,40,-40,80,this._shadowProjMatrix),this._shadowProjMatrixDirty=!1),this._shadowProjMatrix),getShadowRenderBuf:()=>(this._shadowRenderBuf||(this._shadowRenderBuf=new We(this.scene.canvas.canvas,this.scene.canvas.gl,{size:[1024,1024]})),this._shadowRenderBuf)}),this.dir=t.dir,this.color=t.color,this.intensity=t.intensity,this.castsShadow=t.castsShadow,this.scene._lightCreated(this)}set dir(e){this._state.dir.set(e||[1,1,1]),this._shadowViewMatrixDirty=!0,this.glRedraw()}get dir(){return this._state.dir}set color(e){this._state.color.set(e||[.7,.7,.8]),this.glRedraw()}get color(){return this._state.color}set intensity(e){e=void 0!==e?e:1,this._state.intensity=e,this.glRedraw()}get intensity(){return this._state.intensity}set castsShadow(e){e=!!e,this._state.castsShadow!==e&&(this._state.castsShadow=e,this._shadowViewMatrixDirty=!0,this.glRedraw())}get castsShadow(){return this._state.castsShadow}destroy(){const e=this.scene.camera,t=this.scene.canvas;e.off(this._onCameraViewMatrix),e.off(this._onCameraProjMatrix),t.off(this._onCanvasBoundary),super.destroy(),this._state.destroy(),this._shadowRenderBuf&&this._shadowRenderBuf.destroy(),this.scene._lightDestroyed(this),this.glRedraw()}}class gt extends vt{get type(){return"AmbientLight"}constructor(e,t={}){super(e,t),this._state={type:"ambient",color:h.vec3([.7,.7,.7]),intensity:1},this.color=t.color,this.intensity=t.intensity,this.scene._lightCreated(this)}set color(e){this._state.color.set(e||[.7,.7,.8]),this.glRedraw()}get color(){return this._state.color}set intensity(e){this._state.intensity=void 0!==e?e:1,this.glRedraw()}get intensity(){return this._state.intensity}destroy(){super.destroy(),this.scene._lightDestroyed(this)}}class Et extends _{get type(){return"Geometry"}get isGeometry(){return!0}constructor(e,t={}){super(e,t),d.memory.meshes++}destroy(){super.destroy(),d.memory.meshes--}}var Tt=function(){const e=[],t=[],s=[],n=[],i=[];let a=0;const r=new Uint16Array(3),l=new Uint16Array(3),o=new Uint16Array(3),c=h.vec3(),u=h.vec3(),p=h.vec3(),A=h.vec3(),d=h.vec3(),f=h.vec3(),I=h.vec3();return function(y,m,v,w){!function(i,a){const r={};let l,o,c,u;const h=Math.pow(10,4);let p,A,d=0;for(p=0,A=i.length;pE)||(N=s[_.index1],x=s[_.index2],(!L&&N>65535||x>65535)&&(L=!0),g.push(N),g.push(x));return L?new Uint32Array(g):new Uint16Array(g)}}();const bt=function(){const e=h.mat4(),t=h.mat4();return function(s,n){n=n||h.mat4();const i=s[0],a=s[1],r=s[2],l=s[3]-i,o=s[4]-a,c=s[5]-r,u=65535;return h.identityMat4(e),h.translationMat4v(s,e),h.identityMat4(t),h.scalingMat4v([l/u,o/u,c/u],t),h.mulMat4(e,t,n),n}}();var Dt=function(){const e=h.mat4(),t=h.mat4();return function(s,n,i){const a=new Uint16Array(s.length),r=new Float32Array([i[0]!==n[0]?65535/(i[0]-n[0]):0,i[1]!==n[1]?65535/(i[1]-n[1]):0,i[2]!==n[2]?65535/(i[2]-n[2]):0]);let l;for(l=0;l=0?1:-1),t=(1-Math.abs(i))*(a>=0?1:-1);i=e,a=t}return new Int8Array([Math[s](127.5*i+(i<0?-1:0)),Math[n](127.5*a+(a<0?-1:0))])}function Ct(e){let t=e[0],s=e[1];t/=t<0?127:128,s/=s<0?127:128;const n=1-Math.abs(t)-Math.abs(s);n<0&&(t=(1-Math.abs(s))*(t>=0?1:-1),s=(1-Math.abs(t))*(s>=0?1:-1));const i=Math.sqrt(t*t+s*s+n*n);return[t/i,s/i,n/i]}function _t(e,t,s){return e[t]*s[0]+e[t+1]*s[1]+e[t+2]*s[2]}const Bt={getPositionsBounds:function(e){const t=new Float32Array(3),s=new Float32Array(3);let n,i;for(n=0;n<3;n++)t[n]=Number.MAX_VALUE,s[n]=-Number.MAX_VALUE;for(n=0;nr&&(i=s,r=a),s=Rt(e,l,"floor","ceil"),n=Ct(s),a=_t(e,l,n),a>r&&(i=s,r=a),s=Rt(e,l,"ceil","ceil"),n=Ct(s),a=_t(e,l,n),a>r&&(i=s,r=a),t[l]=i[0],t[l+1]=i[1];return t},decompressNormals:function(e,t){for(let s=0,n=0,i=e.length;s=0?1:-1),a=(1-Math.abs(i))*(a>=0?1:-1));const l=Math.sqrt(i*i+a*a+r*r);t[n+0]=i/l,t[n+1]=a/l,t[n+2]=r/l,n+=3}return t},decompressNormal:function(e,t){let s=e[0],n=e[1];s=(2*s+1)/255,n=(2*n+1)/255;const i=1-Math.abs(s)-Math.abs(n);i<0&&(s=(1-Math.abs(n))*(s>=0?1:-1),n=(1-Math.abs(s))*(n>=0?1:-1));const a=Math.sqrt(s*s+n*n+i*i);return t[0]=s/a,t[1]=n/a,t[2]=i/a,t}},Ot=d.memory,St=h.AABB3();class Nt extends Et{get type(){return"ReadableGeometry"}get isReadableGeometry(){return!0}constructor(e,t={}){super(e,t),this._state=new Je({compressGeometry:!!t.compressGeometry,primitive:null,primitiveName:null,positions:null,normals:null,colors:null,uv:null,indices:null,positionsDecodeMatrix:null,uvDecodeMatrix:null,positionsBuf:null,normalsBuf:null,colorsbuf:null,uvBuf:null,indicesBuf:null,hash:""}),this._numTriangles=0,this._edgeThreshold=t.edgeThreshold||10,this._edgeIndicesBuf=null,this._pickTrianglePositionsBuf=null,this._pickTriangleColorsBuf=null,this._aabbDirty=!0,this._boundingSphere=!0,this._aabb=null,this._aabbDirty=!0,this._obb=null,this._obbDirty=!0;const s=this._state,n=this.scene.canvas.gl;switch(t.primitive=t.primitive||"triangles",t.primitive){case"points":s.primitive=n.POINTS,s.primitiveName=t.primitive;break;case"lines":s.primitive=n.LINES,s.primitiveName=t.primitive;break;case"line-loop":s.primitive=n.LINE_LOOP,s.primitiveName=t.primitive;break;case"line-strip":s.primitive=n.LINE_STRIP,s.primitiveName=t.primitive;break;case"triangles":s.primitive=n.TRIANGLES,s.primitiveName=t.primitive;break;case"triangle-strip":s.primitive=n.TRIANGLE_STRIP,s.primitiveName=t.primitive;break;case"triangle-fan":s.primitive=n.TRIANGLE_FAN,s.primitiveName=t.primitive;break;default:this.error("Unsupported value for 'primitive': '"+t.primitive+"' - supported values are 'points', 'lines', 'line-loop', 'line-strip', 'triangles', 'triangle-strip' and 'triangle-fan'. Defaulting to 'triangles'."),s.primitive=n.TRIANGLES,s.primitiveName=t.primitive}if(t.positions)if(this._state.compressGeometry){const e=Bt.getPositionsBounds(t.positions),n=Bt.compressPositions(t.positions,e.min,e.max);s.positions=n.quantized,s.positionsDecodeMatrix=n.decodeMatrix}else s.positions=t.positions.constructor===Float32Array?t.positions:new Float32Array(t.positions);if(t.colors&&(s.colors=t.colors.constructor===Float32Array?t.colors:new Float32Array(t.colors)),t.uv)if(this._state.compressGeometry){const e=Bt.getUVBounds(t.uv),n=Bt.compressUVs(t.uv,e.min,e.max);s.uv=n.quantized,s.uvDecodeMatrix=n.decodeMatrix}else s.uv=t.uv.constructor===Float32Array?t.uv:new Float32Array(t.uv);t.normals&&(this._state.compressGeometry?s.normals=Bt.compressNormals(t.normals):s.normals=t.normals.constructor===Float32Array?t.normals:new Float32Array(t.normals)),t.indices&&(s.indices=t.indices.constructor===Uint32Array||t.indices.constructor===Uint16Array?t.indices:new Uint32Array(t.indices),"triangles"===this._state.primitiveName&&(this._numTriangles=t.indices.length/3)),this._buildHash(),Ot.meshes++,this._buildVBOs()}_buildVBOs(){const e=this._state,t=this.scene.canvas.gl;if(e.indices&&(e.indicesBuf=new Oe(t,t.ELEMENT_ARRAY_BUFFER,e.indices,e.indices.length,1,t.STATIC_DRAW),Ot.indices+=e.indicesBuf.numItems),e.positions&&(e.positionsBuf=new Oe(t,t.ARRAY_BUFFER,e.positions,e.positions.length,3,t.STATIC_DRAW),Ot.positions+=e.positionsBuf.numItems),e.normals){let s=e.compressGeometry;e.normalsBuf=new Oe(t,t.ARRAY_BUFFER,e.normals,e.normals.length,3,t.STATIC_DRAW,s),Ot.normals+=e.normalsBuf.numItems}e.colors&&(e.colorsBuf=new Oe(t,t.ARRAY_BUFFER,e.colors,e.colors.length,4,t.STATIC_DRAW),Ot.colors+=e.colorsBuf.numItems),e.uv&&(e.uvBuf=new Oe(t,t.ARRAY_BUFFER,e.uv,e.uv.length,2,t.STATIC_DRAW),Ot.uvs+=e.uvBuf.numItems)}_buildHash(){const e=this._state,t=["/g"];t.push("/"+e.primitive+";"),e.positions&&t.push("p"),e.colors&&t.push("c"),(e.normals||e.autoVertexNormals)&&t.push("n"),e.uv&&t.push("u"),e.compressGeometry&&t.push("cp"),t.push(";"),e.hash=t.join("")}_getEdgeIndices(){return this._edgeIndicesBuf||this._buildEdgeIndices(),this._edgeIndicesBuf}_getPickTrianglePositions(){return this._pickTrianglePositionsBuf||this._buildPickTriangleVBOs(),this._pickTrianglePositionsBuf}_getPickTriangleColors(){return this._pickTriangleColorsBuf||this._buildPickTriangleVBOs(),this._pickTriangleColorsBuf}_buildEdgeIndices(){const e=this._state;if(!e.positions||!e.indices)return;const t=this.scene.canvas.gl,s=Tt(e.positions,e.indices,e.positionsDecodeMatrix,this._edgeThreshold);this._edgeIndicesBuf=new Oe(t,t.ELEMENT_ARRAY_BUFFER,s,s.length,1,t.STATIC_DRAW),Ot.indices+=this._edgeIndicesBuf.numItems}_buildPickTriangleVBOs(){const e=this._state;if(!e.positions||!e.indices)return;const t=this.scene.canvas.gl,s=h.buildPickTriangles(e.positions,e.indices,e.compressGeometry),n=s.positions,i=s.colors;this._pickTrianglePositionsBuf=new Oe(t,t.ARRAY_BUFFER,n,n.length,3,t.STATIC_DRAW),this._pickTriangleColorsBuf=new Oe(t,t.ARRAY_BUFFER,i,i.length,4,t.STATIC_DRAW,!0),Ot.positions+=this._pickTrianglePositionsBuf.numItems,Ot.colors+=this._pickTriangleColorsBuf.numItems}_buildPickVertexVBOs(){}_webglContextLost(){this._sceneVertexBufs&&this._sceneVertexBufs.webglContextLost()}_webglContextRestored(){this._sceneVertexBufs&&this._sceneVertexBufs.webglContextRestored(),this._buildVBOs(),this._edgeIndicesBuf=null,this._pickVertexPositionsBuf=null,this._pickTrianglePositionsBuf=null,this._pickTriangleColorsBuf=null,this._pickVertexPositionsBuf=null,this._pickVertexColorsBuf=null}get primitive(){return this._state.primitiveName}get compressGeometry(){return this._state.compressGeometry}get positions(){return this._state.positions?this._state.compressGeometry?(this._decompressedPositions||(this._decompressedPositions=new Float32Array(this._state.positions.length),Bt.decompressPositions(this._state.positions,this._state.positionsDecodeMatrix,this._decompressedPositions)),this._decompressedPositions):this._state.positions:null}set positions(e){const t=this._state,s=t.positions;if(s)if(s.length===e.length){if(this._state.compressGeometry){const s=Bt.getPositionsBounds(e),n=Bt.compressPositions(e,s.min,s.max);e=n.quantized,t.positionsDecodeMatrix=n.decodeMatrix}s.set(e),t.positionsBuf&&t.positionsBuf.setData(s),this._setAABBDirty(),this.glRedraw()}else this.error("can't update geometry positions - new positions are wrong length");else this.error("can't update geometry positions - geometry has no positions")}get normals(){if(this._state.normals){if(!this._state.compressGeometry)return this._state.normals;if(!this._decompressedNormals){const e=this._state.normals.length,t=e+e/2;this._decompressedNormals=new Float32Array(t),Bt.decompressNormals(this._state.normals,this._decompressedNormals)}return this._decompressedNormals}}set normals(e){if(this._state.compressGeometry)return void this.error("can't update geometry normals - quantized geometry is immutable");const t=this._state,s=t.normals;s?s.length===e.length?(s.set(e),t.normalsBuf&&t.normalsBuf.setData(s),this.glRedraw()):this.error("can't update geometry normals - new normals are wrong length"):this.error("can't update geometry normals - geometry has no normals")}get uv(){return this._state.uv?this._state.compressGeometry?(this._decompressedUV||(this._decompressedUV=new Float32Array(this._state.uv.length),Bt.decompressUVs(this._state.uv,this._state.uvDecodeMatrix,this._decompressedUV)),this._decompressedUV):this._state.uv:null}set uv(e){if(this._state.compressGeometry)return void this.error("can't update geometry UVs - quantized geometry is immutable");const t=this._state,s=t.uv;s?s.length===e.length?(s.set(e),t.uvBuf&&t.uvBuf.setData(s),this.glRedraw()):this.error("can't update geometry UVs - new UVs are wrong length"):this.error("can't update geometry UVs - geometry has no UVs")}get colors(){return this._state.colors}set colors(e){if(this._state.compressGeometry)return void this.error("can't update geometry colors - quantized geometry is immutable");const t=this._state,s=t.colors;s?s.length===e.length?(s.set(e),t.colorsBuf&&t.colorsBuf.setData(s),this.glRedraw()):this.error("can't update geometry colors - new colors are wrong length"):this.error("can't update geometry colors - geometry has no colors")}get indices(){return this._state.indices}get aabb(){return this._aabbDirty&&(this._aabb||(this._aabb=h.AABB3()),h.positions3ToAABB3(this._state.positions,this._aabb,this._state.positionsDecodeMatrix),this._aabbDirty=!1),this._aabb}get obb(){return this._obbDirty&&(this._obb||(this._obb=h.OBB3()),h.positions3ToAABB3(this._state.positions,St,this._state.positionsDecodeMatrix),h.AABB3ToOBB3(St,this._obb),this._obbDirty=!1),this._obb}get numTriangles(){return this._numTriangles}_setAABBDirty(){this._aabbDirty||(this._aabbDirty=!0,this._aabbDirty=!0,this._obbDirty=!0)}_getState(){return this._state}destroy(){super.destroy();const e=this._state;e.indicesBuf&&e.indicesBuf.destroy(),e.positionsBuf&&e.positionsBuf.destroy(),e.normalsBuf&&e.normalsBuf.destroy(),e.uvBuf&&e.uvBuf.destroy(),e.colorsBuf&&e.colorsBuf.destroy(),this._edgeIndicesBuf&&this._edgeIndicesBuf.destroy(),this._pickTrianglePositionsBuf&&this._pickTrianglePositionsBuf.destroy(),this._pickTriangleColorsBuf&&this._pickTriangleColorsBuf.destroy(),this._pickVertexPositionsBuf&&this._pickVertexPositionsBuf.destroy(),this._pickVertexColorsBuf&&this._pickVertexColorsBuf.destroy(),e.destroy(),Ot.meshes--}}function xt(e={}){let t=e.xSize||1;t<0&&(console.error("negative xSize not allowed - will invert"),t*=-1);let s=e.ySize||1;s<0&&(console.error("negative ySize not allowed - will invert"),s*=-1);let n=e.zSize||1;n<0&&(console.error("negative zSize not allowed - will invert"),n*=-1);const i=e.center,a=i?i[0]:0,r=i?i[1]:0,l=i?i[2]:0,o=-t+a,c=-s+r,u=-n+l,h=t+a,p=s+r,A=n+l;return m.apply(e,{positions:[h,p,A,o,p,A,o,c,A,h,c,A,h,p,A,h,c,A,h,c,u,h,p,u,h,p,A,h,p,u,o,p,u,o,p,A,o,p,A,o,p,u,o,c,u,o,c,A,o,c,u,h,c,u,h,c,A,o,c,A,h,c,u,o,c,u,o,p,u,h,p,u],normals:[0,0,1,0,0,1,0,0,1,0,0,1,1,0,0,1,0,0,1,0,0,1,0,0,0,1,0,0,1,0,0,1,0,0,1,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,0,-1,0,0,-1,0,0,-1,0,0,-1],uv:[1,0,0,0,0,1,1,1,0,0,0,1,1,1,1,0,1,1,1,0,0,0,0,1,1,0,0,0,0,1,1,1,0,1,1,1,1,0,0,0,0,1,1,1,1,0,0,0],indices:[0,1,2,0,2,3,4,5,6,4,6,7,8,9,10,8,10,11,12,13,14,12,14,15,16,17,18,16,18,19,20,21,22,20,22,23]})}class Lt extends _{get type(){return"Material"}constructor(e,t={}){super(e,t),d.memory.materials++}destroy(){super.destroy(),d.memory.materials--}}const Mt={opaque:0,mask:1,blend:2},Ft=["opaque","mask","blend"];class Ht extends Lt{get type(){return"PhongMaterial"}constructor(e,t={}){super(e,t),this._state=new Je({type:"PhongMaterial",ambient:h.vec3([1,1,1]),diffuse:h.vec3([1,1,1]),specular:h.vec3([1,1,1]),emissive:h.vec3([0,0,0]),alpha:null,shininess:null,reflectivity:null,alphaMode:null,alphaCutoff:null,lineWidth:null,pointSize:null,backfaces:null,frontface:null,hash:null}),this.ambient=t.ambient,this.diffuse=t.diffuse,this.specular=t.specular,this.emissive=t.emissive,this.alpha=t.alpha,this.shininess=t.shininess,this.reflectivity=t.reflectivity,this.lineWidth=t.lineWidth,this.pointSize=t.pointSize,t.ambientMap&&(this._ambientMap=this._checkComponent("Texture",t.ambientMap)),t.diffuseMap&&(this._diffuseMap=this._checkComponent("Texture",t.diffuseMap)),t.specularMap&&(this._specularMap=this._checkComponent("Texture",t.specularMap)),t.emissiveMap&&(this._emissiveMap=this._checkComponent("Texture",t.emissiveMap)),t.alphaMap&&(this._alphaMap=this._checkComponent("Texture",t.alphaMap)),t.reflectivityMap&&(this._reflectivityMap=this._checkComponent("Texture",t.reflectivityMap)),t.normalMap&&(this._normalMap=this._checkComponent("Texture",t.normalMap)),t.occlusionMap&&(this._occlusionMap=this._checkComponent("Texture",t.occlusionMap)),t.diffuseFresnel&&(this._diffuseFresnel=this._checkComponent("Fresnel",t.diffuseFresnel)),t.specularFresnel&&(this._specularFresnel=this._checkComponent("Fresnel",t.specularFresnel)),t.emissiveFresnel&&(this._emissiveFresnel=this._checkComponent("Fresnel",t.emissiveFresnel)),t.alphaFresnel&&(this._alphaFresnel=this._checkComponent("Fresnel",t.alphaFresnel)),t.reflectivityFresnel&&(this._reflectivityFresnel=this._checkComponent("Fresnel",t.reflectivityFresnel)),this.alphaMode=t.alphaMode,this.alphaCutoff=t.alphaCutoff,this.backfaces=t.backfaces,this.frontface=t.frontface,this._makeHash()}_makeHash(){const e=this._state,t=["/p"];this._normalMap&&(t.push("/nm"),this._normalMap.hasMatrix&&t.push("/mat")),this._ambientMap&&(t.push("/am"),this._ambientMap.hasMatrix&&t.push("/mat"),t.push("/"+this._ambientMap.encoding)),this._diffuseMap&&(t.push("/dm"),this._diffuseMap.hasMatrix&&t.push("/mat"),t.push("/"+this._diffuseMap.encoding)),this._specularMap&&(t.push("/sm"),this._specularMap.hasMatrix&&t.push("/mat")),this._emissiveMap&&(t.push("/em"),this._emissiveMap.hasMatrix&&t.push("/mat"),t.push("/"+this._emissiveMap.encoding)),this._alphaMap&&(t.push("/opm"),this._alphaMap.hasMatrix&&t.push("/mat")),this._reflectivityMap&&(t.push("/rm"),this._reflectivityMap.hasMatrix&&t.push("/mat")),this._occlusionMap&&(t.push("/ocm"),this._occlusionMap.hasMatrix&&t.push("/mat")),this._diffuseFresnel&&t.push("/df"),this._specularFresnel&&t.push("/sf"),this._emissiveFresnel&&t.push("/ef"),this._alphaFresnel&&t.push("/of"),this._reflectivityFresnel&&t.push("/rf"),t.push(";"),e.hash=t.join("")}set ambient(e){let t=this._state.ambient;if(t){if(e&&t[0]===e[0]&&t[1]===e[1]&&t[2]===e[2])return}else t=this._state.ambient=new Float32Array(3);e?(t[0]=e[0],t[1]=e[1],t[2]=e[2]):(t[0]=.2,t[1]=.2,t[2]=.2),this.glRedraw()}get ambient(){return this._state.ambient}set diffuse(e){let t=this._state.diffuse;if(t){if(e&&t[0]===e[0]&&t[1]===e[1]&&t[2]===e[2])return}else t=this._state.diffuse=new Float32Array(3);e?(t[0]=e[0],t[1]=e[1],t[2]=e[2]):(t[0]=1,t[1]=1,t[2]=1),this.glRedraw()}get diffuse(){return this._state.diffuse}set specular(e){let t=this._state.specular;if(t){if(e&&t[0]===e[0]&&t[1]===e[1]&&t[2]===e[2])return}else t=this._state.specular=new Float32Array(3);e?(t[0]=e[0],t[1]=e[1],t[2]=e[2]):(t[0]=1,t[1]=1,t[2]=1),this.glRedraw()}get specular(){return this._state.specular}set emissive(e){let t=this._state.emissive;if(t){if(e&&t[0]===e[0]&&t[1]===e[1]&&t[2]===e[2])return}else t=this._state.emissive=new Float32Array(3);e?(t[0]=e[0],t[1]=e[1],t[2]=e[2]):(t[0]=0,t[1]=0,t[2]=0),this.glRedraw()}get emissive(){return this._state.emissive}set alpha(e){e=null!=e?e:1,this._state.alpha!==e&&(this._state.alpha=e,this.glRedraw())}get alpha(){return this._state.alpha}set shininess(e){this._state.shininess=void 0!==e?e:80,this.glRedraw()}get shininess(){return this._state.shininess}set lineWidth(e){this._state.lineWidth=e||1,this.glRedraw()}get lineWidth(){return this._state.lineWidth}set pointSize(e){this._state.pointSize=e||1,this.glRedraw()}get pointSize(){return this._state.pointSize}set reflectivity(e){this._state.reflectivity=void 0!==e?e:1,this.glRedraw()}get reflectivity(){return this._state.reflectivity}get normalMap(){return this._normalMap}get ambientMap(){return this._ambientMap}get diffuseMap(){return this._diffuseMap}get specularMap(){return this._specularMap}get emissiveMap(){return this._emissiveMap}get alphaMap(){return this._alphaMap}get reflectivityMap(){return this._reflectivityMap}get occlusionMap(){return this._occlusionMap}get diffuseFresnel(){return this._diffuseFresnel}get specularFresnel(){return this._specularFresnel}get emissiveFresnel(){return this._emissiveFresnel}get alphaFresnel(){return this._alphaFresnel}get reflectivityFresnel(){return this._reflectivityFresnel}set alphaMode(e){let t=Mt[e=e||"opaque"];void 0===t&&(this.error("Unsupported value for 'alphaMode': "+e+" - defaulting to 'opaque'"),t="opaque"),this._state.alphaMode!==t&&(this._state.alphaMode=t,this.glRedraw())}get alphaMode(){return Ft[this._state.alphaMode]}set alphaCutoff(e){null==e&&(e=.5),this._state.alphaCutoff!==e&&(this._state.alphaCutoff=e)}get alphaCutoff(){return this._state.alphaCutoff}set backfaces(e){e=!!e,this._state.backfaces!==e&&(this._state.backfaces=e,this.glRedraw())}get backfaces(){return this._state.backfaces}set frontface(e){e="cw"!==e,this._state.frontface!==e&&(this._state.frontface=e,this.glRedraw())}get frontface(){return this._state.frontface?"ccw":"cw"}destroy(){super.destroy(),this._state.destroy()}}const Ut={default:{fill:!0,fillColor:[.4,.4,.4],fillAlpha:.2,edges:!0,edgeColor:[.2,.2,.2],edgeAlpha:.5,edgeWidth:1},defaultWhiteBG:{fill:!0,fillColor:[1,1,1],fillAlpha:.6,edgeColor:[.2,.2,.2],edgeAlpha:1,edgeWidth:1},defaultLightBG:{fill:!0,fillColor:[.4,.4,.4],fillAlpha:.2,edges:!0,edgeColor:[.2,.2,.2],edgeAlpha:.5,edgeWidth:1},defaultDarkBG:{fill:!0,fillColor:[.4,.4,.4],fillAlpha:.2,edges:!0,edgeColor:[.5,.5,.5],edgeAlpha:.5,edgeWidth:1},phosphorous:{fill:!0,fillColor:[0,0,0],fillAlpha:.4,edges:!0,edgeColor:[.9,.9,.9],edgeAlpha:.5,edgeWidth:2},sunset:{fill:!0,fillColor:[.9,.9,.6],fillAlpha:.2,edges:!0,edgeColor:[.9,.9,.9],edgeAlpha:.5,edgeWidth:1},vectorscope:{fill:!0,fillColor:[0,0,0],fillAlpha:.7,edges:!0,edgeColor:[.2,1,.2],edgeAlpha:1,edgeWidth:2},battlezone:{fill:!0,fillColor:[0,0,0],fillAlpha:1,edges:!0,edgeColor:[.2,1,.2],edgeAlpha:1,edgeWidth:3},sepia:{fill:!0,fillColor:[.970588207244873,.7965892553329468,.6660899519920349],fillAlpha:.4,edges:!0,edgeColor:[.529411792755127,.4577854573726654,.4100345969200134],edgeAlpha:1,edgeWidth:1},yellowHighlight:{fill:!0,fillColor:[1,1,0],fillAlpha:.5,edges:!0,edgeColor:[1,1,1],edgeAlpha:1,edgeWidth:1},greenSelected:{fill:!0,fillColor:[0,1,0],fillAlpha:.5,edges:!0,edgeColor:[1,1,1],edgeAlpha:1,edgeWidth:1},gamegrid:{fill:!0,fillColor:[.2,.2,.7],fillAlpha:.9,edges:!0,edgeColor:[.4,.4,1.6],edgeAlpha:.8,edgeWidth:3}};class Gt extends Lt{get type(){return"EmphasisMaterial"}get presets(){return Ut}constructor(e,t={}){super(e,t),this._state=new Je({type:"EmphasisMaterial",fill:null,fillColor:null,fillAlpha:null,edges:null,edgeColor:null,edgeAlpha:null,edgeWidth:null,backfaces:!0,glowThrough:!0}),this._preset="default",t.preset?(this.preset=t.preset,void 0!==t.fill&&(this.fill=t.fill),t.fillColor&&(this.fillColor=t.fillColor),void 0!==t.fillAlpha&&(this.fillAlpha=t.fillAlpha),void 0!==t.edges&&(this.edges=t.edges),t.edgeColor&&(this.edgeColor=t.edgeColor),void 0!==t.edgeAlpha&&(this.edgeAlpha=t.edgeAlpha),void 0!==t.edgeWidth&&(this.edgeWidth=t.edgeWidth),void 0!==t.backfaces&&(this.backfaces=t.backfaces),void 0!==t.glowThrough&&(this.glowThrough=t.glowThrough)):(this.fill=t.fill,this.fillColor=t.fillColor,this.fillAlpha=t.fillAlpha,this.edges=t.edges,this.edgeColor=t.edgeColor,this.edgeAlpha=t.edgeAlpha,this.edgeWidth=t.edgeWidth,this.backfaces=t.backfaces,this.glowThrough=t.glowThrough)}set fill(e){e=!1!==e,this._state.fill!==e&&(this._state.fill=e,this.glRedraw())}get fill(){return this._state.fill}set fillColor(e){let t=this._state.fillColor;if(t){if(e&&t[0]===e[0]&&t[1]===e[1]&&t[2]===e[2])return}else t=this._state.fillColor=new Float32Array(3);e?(t[0]=e[0],t[1]=e[1],t[2]=e[2]):(t[0]=.4,t[1]=.4,t[2]=.4),this.glRedraw()}get fillColor(){return this._state.fillColor}set fillAlpha(e){e=null!=e?e:.2,this._state.fillAlpha!==e&&(this._state.fillAlpha=e,this.glRedraw())}get fillAlpha(){return this._state.fillAlpha}set edges(e){e=!1!==e,this._state.edges!==e&&(this._state.edges=e,this.glRedraw())}get edges(){return this._state.edges}set edgeColor(e){let t=this._state.edgeColor;if(t){if(e&&t[0]===e[0]&&t[1]===e[1]&&t[2]===e[2])return}else t=this._state.edgeColor=new Float32Array(3);e?(t[0]=e[0],t[1]=e[1],t[2]=e[2]):(t[0]=.2,t[1]=.2,t[2]=.2),this.glRedraw()}get edgeColor(){return this._state.edgeColor}set edgeAlpha(e){e=null!=e?e:.5,this._state.edgeAlpha!==e&&(this._state.edgeAlpha=e,this.glRedraw())}get edgeAlpha(){return this._state.edgeAlpha}set edgeWidth(e){this._state.edgeWidth=e||1,this.glRedraw()}get edgeWidth(){return this._state.edgeWidth}set backfaces(e){e=!!e,this._state.backfaces!==e&&(this._state.backfaces=e,this.glRedraw())}get backfaces(){return this._state.backfaces}set glowThrough(e){e=!1!==e,this._state.glowThrough!==e&&(this._state.glowThrough=e,this.glRedraw())}get glowThrough(){return this._state.glowThrough}set preset(e){if(e=e||"default",this._preset===e)return;const t=Ut[e];t?(this.fill=t.fill,this.fillColor=t.fillColor,this.fillAlpha=t.fillAlpha,this.edges=t.edges,this.edgeColor=t.edgeColor,this.edgeAlpha=t.edgeAlpha,this.edgeWidth=t.edgeWidth,this.glowThrough=t.glowThrough,this._preset=e):this.error("unsupported preset: '"+e+"' - supported values are "+Object.keys(Ut).join(", "))}get preset(){return this._preset}destroy(){super.destroy(),this._state.destroy()}}const jt={default:{edgeColor:[0,0,0],edgeAlpha:1,edgeWidth:1},defaultWhiteBG:{edgeColor:[.2,.2,.2],edgeAlpha:1,edgeWidth:1},defaultLightBG:{edgeColor:[.2,.2,.2],edgeAlpha:1,edgeWidth:1},defaultDarkBG:{edgeColor:[.5,.5,.5],edgeAlpha:1,edgeWidth:1}};class Vt extends Lt{get type(){return"EdgeMaterial"}get presets(){return jt}constructor(e,t={}){super(e,t),this._state=new Je({type:"EdgeMaterial",edges:null,edgeColor:null,edgeAlpha:null,edgeWidth:null}),this._preset="default",t.preset?(this.preset=t.preset,t.edgeColor&&(this.edgeColor=t.edgeColor),void 0!==t.edgeAlpha&&(this.edgeAlpha=t.edgeAlpha),void 0!==t.edgeWidth&&(this.edgeWidth=t.edgeWidth)):(this.edgeColor=t.edgeColor,this.edgeAlpha=t.edgeAlpha,this.edgeWidth=t.edgeWidth),this.edges=!1!==t.edges}set edges(e){e=!1!==e,this._state.edges!==e&&(this._state.edges=e,this.glRedraw())}get edges(){return this._state.edges}set edgeColor(e){let t=this._state.edgeColor;if(t){if(e&&t[0]===e[0]&&t[1]===e[1]&&t[2]===e[2])return}else t=this._state.edgeColor=new Float32Array(3);e?(t[0]=e[0],t[1]=e[1],t[2]=e[2]):(t[0]=.2,t[1]=.2,t[2]=.2),this.glRedraw()}get edgeColor(){return this._state.edgeColor}set edgeAlpha(e){e=null!=e?e:1,this._state.edgeAlpha!==e&&(this._state.edgeAlpha=e,this.glRedraw())}get edgeAlpha(){return this._state.edgeAlpha}set edgeWidth(e){this._state.edgeWidth=e||1,this.glRedraw()}get edgeWidth(){return this._state.edgeWidth}set preset(e){if(e=e||"default",this._preset===e)return;const t=jt[e];t?(this.edgeColor=t.edgeColor,this.edgeAlpha=t.edgeAlpha,this.edgeWidth=t.edgeWidth,this._preset=e):this.error("unsupported preset: '"+e+"' - supported values are "+Object.keys(jt).join(", "))}get preset(){return this._preset}destroy(){super.destroy(),this._state.destroy()}}const kt={meters:{abbrev:"m"},metres:{abbrev:"m"},centimeters:{abbrev:"cm"},centimetres:{abbrev:"cm"},millimeters:{abbrev:"mm"},millimetres:{abbrev:"mm"},yards:{abbrev:"yd"},feet:{abbrev:"ft"},inches:{abbrev:"in"}};class Qt extends _{constructor(e,t={}){super(e,t),this._units="meters",this._scale=1,this._origin=h.vec3([0,0,0]),this.units=t.units,this.scale=t.scale,this.origin=t.origin}get unitsInfo(){return kt}set units(e){e||(e="meters");kt[e]||(this.error("Unsupported value for 'units': "+e+" defaulting to 'meters'"),e="meters"),this._units=e,this.fire("units",this._units)}get units(){return this._units}set scale(e){(e=e||1)<=0?this.error("scale value should be larger than zero"):(this._scale=e,this.fire("scale",this._scale))}get scale(){return this._scale}set origin(e){if(!e)return this._origin[0]=0,this._origin[1]=0,void(this._origin[2]=0);this._origin[0]=e[0],this._origin[1]=e[1],this._origin[2]=e[2],this.fire("origin",this._origin)}get origin(){return this._origin}worldToRealPos(e,t=h.vec3(3)){t[0]=this._origin[0]+this._scale*e[0],t[1]=this._origin[1]+this._scale*e[1],t[2]=this._origin[2]+this._scale*e[2]}realToWorldPos(e,t=h.vec3(3)){return t[0]=(e[0]-this._origin[0])/this._scale,t[1]=(e[1]-this._origin[1])/this._scale,t[2]=(e[2]-this._origin[2])/this._scale,t}}class Wt extends _{constructor(e,t={}){super(e,t),this._supported=ge.SUPPORTED_EXTENSIONS.OES_standard_derivatives,this.enabled=t.enabled,this.kernelRadius=t.kernelRadius,this.intensity=t.intensity,this.bias=t.bias,this.scale=t.scale,this.minResolution=t.minResolution,this.numSamples=t.numSamples,this.blur=t.blur,this.blendCutoff=t.blendCutoff,this.blendFactor=t.blendFactor}get supported(){return this._supported}set enabled(e){e=!!e,this._enabled!==e&&(this._enabled=e,this.glRedraw())}get enabled(){return this._enabled}get possible(){if(!this._supported)return!1;if(!this._enabled)return!1;const e=this.scene.camera.projection;return"customProjection"!==e&&"frustum"!==e}get active(){return this._active}set kernelRadius(e){null==e&&(e=100),this._kernelRadius!==e&&(this._kernelRadius=e,this.glRedraw())}get kernelRadius(){return this._kernelRadius}set intensity(e){null==e&&(e=.15),this._intensity!==e&&(this._intensity=e,this.glRedraw())}get intensity(){return this._intensity}set bias(e){null==e&&(e=.5),this._bias!==e&&(this._bias=e,this.glRedraw())}get bias(){return this._bias}set scale(e){null==e&&(e=1),this._scale!==e&&(this._scale=e,this.glRedraw())}get scale(){return this._scale}set minResolution(e){null==e&&(e=0),this._minResolution!==e&&(this._minResolution=e,this.glRedraw())}get minResolution(){return this._minResolution}set numSamples(e){null==e&&(e=10),this._numSamples!==e&&(this._numSamples=e,this.glRedraw())}get numSamples(){return this._numSamples}set blur(e){e=!1!==e,this._blur!==e&&(this._blur=e,this.glRedraw())}get blur(){return this._blur}set blendCutoff(e){null==e&&(e=.3),this._blendCutoff!==e&&(this._blendCutoff=e,this.glRedraw())}get blendCutoff(){return this._blendCutoff}set blendFactor(e){null==e&&(e=1),this._blendFactor!==e&&(this._blendFactor=e,this.glRedraw())}get blendFactor(){return this._blendFactor}destroy(){super.destroy()}}const zt={default:{pointSize:4,roundPoints:!0,perspectivePoints:!0},square:{pointSize:4,roundPoints:!1,perspectivePoints:!0},round:{pointSize:4,roundPoints:!0,perspectivePoints:!0}};class Kt extends Lt{get type(){return"PointsMaterial"}get presets(){return zt}constructor(e,t={}){super(e,t),this._state=new Je({type:"PointsMaterial",pointSize:null,roundPoints:null,perspectivePoints:null,minPerspectivePointSize:null,maxPerspectivePointSize:null,filterIntensity:null,minIntensity:null,maxIntensity:null}),t.preset?(this.preset=t.preset,void 0!==t.pointSize&&(this.pointSize=t.pointSize),void 0!==t.roundPoints&&(this.roundPoints=t.roundPoints),void 0!==t.perspectivePoints&&(this.perspectivePoints=t.perspectivePoints),void 0!==t.minPerspectivePointSize&&(this.minPerspectivePointSize=t.minPerspectivePointSize),void 0!==t.maxPerspectivePointSize&&(this.maxPerspectivePointSize=t.minPerspectivePointSize)):(this._preset="default",this.pointSize=t.pointSize,this.roundPoints=t.roundPoints,this.perspectivePoints=t.perspectivePoints,this.minPerspectivePointSize=t.minPerspectivePointSize,this.maxPerspectivePointSize=t.maxPerspectivePointSize),this.filterIntensity=t.filterIntensity,this.minIntensity=t.minIntensity,this.maxIntensity=t.maxIntensity}set pointSize(e){this._state.pointSize=e||2,this.glRedraw()}get pointSize(){return this._state.pointSize}set roundPoints(e){e=!1!==e,this._state.roundPoints!==e&&(this._state.roundPoints=e,this.scene._needRecompile=!0,this.glRedraw())}get roundPoints(){return this._state.roundPoints}set perspectivePoints(e){e=!1!==e,this._state.perspectivePoints!==e&&(this._state.perspectivePoints=e,this.scene._needRecompile=!0,this.glRedraw())}get perspectivePoints(){return this._state.perspectivePoints}set minPerspectivePointSize(e){this._state.minPerspectivePointSize=e||1,this.scene._needRecompile=!0,this.glRedraw()}get minPerspectivePointSize(){return this._state.minPerspectivePointSize}set maxPerspectivePointSize(e){this._state.maxPerspectivePointSize=e||6,this.scene._needRecompile=!0,this.glRedraw()}get maxPerspectivePointSize(){return this._state.maxPerspectivePointSize}set filterIntensity(e){e=!1!==e,this._state.filterIntensity!==e&&(this._state.filterIntensity=e,this.scene._needRecompile=!0,this.glRedraw())}get filterIntensity(){return this._state.filterIntensity}set minIntensity(e){this._state.minIntensity=null!=e?e:0,this.glRedraw()}get minIntensity(){return this._state.minIntensity}set maxIntensity(e){this._state.maxIntensity=null!=e?e:1,this.glRedraw()}get maxIntensity(){return this._state.maxIntensity}set preset(e){if(e=e||"default",this._preset===e)return;const t=zt[e];t?(this.pointSize=t.pointSize,this.roundPoints=t.roundPoints,this.perspectivePoints=t.perspectivePoints,this.minPerspectivePointSize=t.minPerspectivePointSize,this.maxPerspectivePointSize=t.maxPerspectivePointSize,this._preset=e):this.error("unsupported preset: '"+e+"' - supported values are "+Object.keys(zt).join(", "))}get preset(){return this._preset}get hash(){return[this.pointSize,this.roundPoints,this.perspectivePoints,this.minPerspectivePointSize,this.maxPerspectivePointSize,this.filterIntensity].join(";")}destroy(){super.destroy(),this._state.destroy()}}const Yt={default:{lineWidth:1},thick:{lineWidth:2},thicker:{lineWidth:4}};class Xt extends Lt{get type(){return"LinesMaterial"}get presets(){return Yt}constructor(e,t={}){super(e,t),this._state=new Je({type:"LinesMaterial",lineWidth:null}),t.preset?(this.preset=t.preset,void 0!==t.lineWidth&&(this.lineWidth=t.lineWidth)):(this._preset="default",this.lineWidth=t.lineWidth)}set lineWidth(e){this._state.lineWidth=e||1,this.glRedraw()}get lineWidth(){return this._state.lineWidth}set preset(e){if(e=e||"default",this._preset===e)return;const t=Yt[e];t?(this.lineWidth=t.lineWidth,this._preset=e):this.error("unsupported preset: '"+e+"' - supported values are "+Object.keys(Yt).join(", "))}get preset(){return this._preset}get hash(){return[""+this.lineWidth].join(";")}destroy(){super.destroy(),this._state.destroy()}}function qt(e,t){const s={};let n,i;for(let a=0,r=t.length;a{this.glRedraw()})),this.canvas.on("webglContextFailed",(()=>{alert("xeokit failed to find WebGL!")})),this._renderer=new Ye(this,{transparent:n,alphaDepthMask:i}),this._sectionPlanesState=new function(){this.sectionPlanes=[],this.clippingCaps=!1,this._numCachedSectionPlanes=0;let e=null;this.getHash=function(){if(e)return e;const t=this.getNumAllocatedSectionPlanes();if(this.sectionPlanes,0===t)return this.hash=";";const s=[];for(let e=0,n=t;ethis._numCachedSectionPlanes?e:this._numCachedSectionPlanes}},this._sectionPlanesState.setNumCachedSectionPlanes(t.numCachedSectionPlanes||0),this._lightsState=new function(){const e=h.vec4([0,0,0,0]),t=h.vec4();this.lights=[],this.reflectionMaps=[],this.lightMaps=[];let s=null,n=null;this.getHash=function(){if(s)return s;const e=[],t=this.lights;let n;for(let s=0,i=t.length;s0&&e.push("/lm"),this.reflectionMaps.length>0&&e.push("/rm"),e.push(";"),s=e.join(""),s},this.addLight=function(e){this.lights.push(e),n=null,s=null},this.removeLight=function(e){for(let t=0,i=this.lights.length;t{this._renderer.imageDirty()}))}_initDefaults(){}_addComponent(e){if(e.id&&this.components[e.id]&&(this.error("Component "+m.inQuotes(e.id)+" already exists in Scene - ignoring ID, will randomly-generate instead"),e.id=null),!e.id)for(void 0===window.nextID&&(window.nextID=0),e.id="__"+window.nextID++;this.components[e.id];)e.id=h.createUUID();this.components[e.id]=e;const t=e.type;let s=this.types[e.type];s||(s=this.types[t]={}),s[e.id]=e,e.compile&&(this._compilables[e.id]=e),e.isDrawable&&(this._renderer.addDrawable(e.id,e),this._collidables[e.id]=e)}_removeComponent(e){var t=e.id,s=e.type;delete this.components[t];const n=this.types[s];n&&(delete n[t],m.isEmptyObject(n)&&delete this.types[s]),e.compile&&delete this._compilables[e.id],e.isDrawable&&(this._renderer.removeDrawable(e.id),delete this._collidables[e.id])}_sectionPlaneCreated(e){this.sectionPlanes[e.id]=e,this.scene._sectionPlanesState.addSectionPlane(e._state),this.scene.fire("sectionPlaneCreated",e,!0),this._needRecompile=!0}_bitmapCreated(e){this.bitmaps[e.id]=e,this.scene.fire("bitmapCreated",e,!0)}_lineSetCreated(e){this.lineSets[e.id]=e,this.scene.fire("lineSetCreated",e,!0)}_lightCreated(e){this.lights[e.id]=e,this.scene._lightsState.addLight(e._state),this._needRecompile=!0}_lightMapCreated(e){this.lightMaps[e.id]=e,this.scene._lightsState.addLightMap(e._state),this._needRecompile=!0}_reflectionMapCreated(e){this.reflectionMaps[e.id]=e,this.scene._lightsState.addReflectionMap(e._state),this._needRecompile=!0}_sectionPlaneDestroyed(e){delete this.sectionPlanes[e.id],this.scene._sectionPlanesState.removeSectionPlane(e._state),this.scene.fire("sectionPlaneDestroyed",e,!0),this._needRecompile=!0}_bitmapDestroyed(e){delete this.bitmaps[e.id],this.scene.fire("bitmapDestroyed",e,!0)}_lineSetDestroyed(e){delete this.lineSets[e.id],this.scene.fire("lineSetDestroyed",e,!0)}_lightDestroyed(e){delete this.lights[e.id],this.scene._lightsState.removeLight(e._state),this._needRecompile=!0}_lightMapDestroyed(e){delete this.lightMaps[e.id],this.scene._lightsState.removeLightMap(e._state),this._needRecompile=!0}_reflectionMapDestroyed(e){delete this.reflectionMaps[e.id],this.scene._lightsState.removeReflectionMap(e._state),this._needRecompile=!0}_registerModel(e){this.models[e.id]=e,this._modelIds=null}_deregisterModel(e){const t=e.id;delete this.models[t],this._modelIds=null,this.fire("modelUnloaded",t)}_registerObject(e){this.objects[e.id]=e,this._numObjects++,this._objectIds=null}_deregisterObject(e){delete this.objects[e.id],this._numObjects--,this._objectIds=null}_objectVisibilityUpdated(e,t=!0){e.visible?(this.visibleObjects[e.id]=e,this._numVisibleObjects++):(delete this.visibleObjects[e.id],this._numVisibleObjects--),this._visibleObjectIds=null,t&&this.fire("objectVisibility",e,!0)}_objectXRayedUpdated(e,t=!0){e.xrayed?(this.xrayedObjects[e.id]=e,this._numXRayedObjects++):(delete this.xrayedObjects[e.id],this._numXRayedObjects--),this._xrayedObjectIds=null,t&&this.fire("objectXRayed",e,!0)}_objectHighlightedUpdated(e,t=!0){e.highlighted?(this.highlightedObjects[e.id]=e,this._numHighlightedObjects++):(delete this.highlightedObjects[e.id],this._numHighlightedObjects--),this._highlightedObjectIds=null,t&&this.fire("objectHighlighted",e,!0)}_objectSelectedUpdated(e,t=!0){e.selected?(this.selectedObjects[e.id]=e,this._numSelectedObjects++):(delete this.selectedObjects[e.id],this._numSelectedObjects--),this._selectedObjectIds=null,t&&this.fire("objectSelected",e,!0)}_objectColorizeUpdated(e,t){t?(this.colorizedObjects[e.id]=e,this._numColorizedObjects++):(delete this.colorizedObjects[e.id],this._numColorizedObjects--),this._colorizedObjectIds=null}_objectOpacityUpdated(e,t){t?(this.opacityObjects[e.id]=e,this._numOpacityObjects++):(delete this.opacityObjects[e.id],this._numOpacityObjects--),this._opacityObjectIds=null}_objectOffsetUpdated(e,t){!t||0===t[0]&&0===t[1]&&0===t[2]?(this.offsetObjects[e.id]=e,this._numOffsetObjects++):(delete this.offsetObjects[e.id],this._numOffsetObjects--),this._offsetObjectIds=null}_webglContextLost(){this.canvas.spinner.processes++;for(const e in this.components)if(this.components.hasOwnProperty(e)){const t=this.components[e];t._webglContextLost&&t._webglContextLost()}this._renderer.webglContextLost()}_webglContextRestored(){const e=this.canvas.gl;for(const t in this.components)if(this.components.hasOwnProperty(t)){const s=this.components[t];s._webglContextRestored&&s._webglContextRestored(e)}this._renderer.webglContextRestored(e),this.canvas.spinner.processes--}get capabilities(){return this._renderer.capabilities}get entityOffsetsEnabled(){return this._entityOffsetsEnabled}get pickSurfacePrecisionEnabled(){return!1}get logarithmicDepthBufferEnabled(){return this._logarithmicDepthBufferEnabled}set numCachedSectionPlanes(e){e=e||0,this._sectionPlanesState.getNumCachedSectionPlanes()!==e&&(this._sectionPlanesState.setNumCachedSectionPlanes(e),this._needRecompile=!0,this.glRedraw())}get numCachedSectionPlanes(){return this._sectionPlanesState.getNumCachedSectionPlanes()}set pbrEnabled(e){this._pbrEnabled=!!e,this.glRedraw()}get pbrEnabled(){return this._pbrEnabled}set dtxEnabled(e){e=!!e,this._dtxEnabled!==e&&(this._dtxEnabled=e)}get dtxEnabled(){return this._dtxEnabled}set colorTextureEnabled(e){this._colorTextureEnabled=!!e,this.glRedraw()}get colorTextureEnabled(){return this._colorTextureEnabled}doOcclusionTest(){this._needRecompile&&(this._recompile(),this._needRecompile=!1),this._renderer.doOcclusionTest()}render(e){e&&R.runTasks();const t={sceneId:null,pass:0};if(this._needRecompile&&(this._recompile(),this._renderer.imageDirty(),this._needRecompile=!1),!e&&!this._renderer.needsRender())return;t.sceneId=this.id;const s=this._passes,n=this._clearEachPass;let i,a;for(i=0;ii&&(i=e[3]),e[4]>a&&(a=e[4]),e[5]>r&&(r=e[5]),c=!0}c||(t=-100,s=-100,n=-100,i=100,a=100,r=100),this._aabb[0]=t,this._aabb[1]=s,this._aabb[2]=n,this._aabb[3]=i,this._aabb[4]=a,this._aabb[5]=r,this._aabbDirty=!1}return this._aabb}_setAABBDirty(){this._aabbDirty=!0,this.fire("boundary")}pick(e,t){if(0===this.canvas.boundary[2]||0===this.canvas.boundary[3])return this.error("Picking not allowed while canvas has zero width or height"),null;(e=e||{}).pickSurface=e.pickSurface||e.rayPick,e.canvasPos||e.matrix||e.origin&&e.direction||this.warn("picking without canvasPos, matrix, or ray origin and direction");const s=e.includeEntities||e.include;s&&(e.includeEntityIds=qt(this,s));const n=e.excludeEntities||e.exclude;return n&&(e.excludeEntityIds=qt(this,n)),this._needRecompile&&(this._recompile(),this._renderer.imageDirty(),this._needRecompile=!1),(t=e.snapToEdge||e.snapToVertex?this._renderer.snapPick(e.canvasPos,e.snapRadius||30,e.snapToVertex,e.snapToEdge,t):this._renderer.pick(e,t))&&t.entity&&t.entity.fire&&t.entity.fire("picked",t),t}snapPick(e){return void 0===this._warnSnapPickDeprecated&&(this._warnSnapPickDeprecated=!0,this.warn("Scene.snapPick() is deprecated since v2.4.2 - use Scene.pick() instead")),this._renderer.snapPick(e.canvasPos,e.snapRadius||30,e.snapToVertex,e.snapToEdge)}clear(){var e;for(const t in this.components)this.components.hasOwnProperty(t)&&((e=this.components[t])._dontClear||e.destroy())}clearLights(){const e=Object.keys(this.lights);for(let t=0,s=e.length;t{if(e.collidable){const o=e.aabb;o[0]a&&(a=o[3]),o[4]>r&&(r=o[4]),o[5]>l&&(l=o[5]),t=!0}})),t){const e=h.AABB3();return e[0]=s,e[1]=n,e[2]=i,e[3]=a,e[4]=r,e[5]=l,e}return this.aabb}setObjectsVisible(e,t){return this.withObjects(e,(e=>{const s=e.visible!==t;return e.visible=t,s}))}setObjectsCollidable(e,t){return this.withObjects(e,(e=>{const s=e.collidable!==t;return e.collidable=t,s}))}setObjectsCulled(e,t){return this.withObjects(e,(e=>{const s=e.culled!==t;return e.culled=t,s}))}setObjectsSelected(e,t){return this.withObjects(e,(e=>{const s=e.selected!==t;return e.selected=t,s}))}setObjectsHighlighted(e,t){return this.withObjects(e,(e=>{const s=e.highlighted!==t;return e.highlighted=t,s}))}setObjectsXRayed(e,t){return this.withObjects(e,(e=>{const s=e.xrayed!==t;return e.xrayed=t,s}))}setObjectsEdges(e,t){return this.withObjects(e,(e=>{const s=e.edges!==t;return e.edges=t,s}))}setObjectsColorized(e,t){return this.withObjects(e,(e=>{e.colorize=t}))}setObjectsOpacity(e,t){return this.withObjects(e,(e=>{const s=e.opacity!==t;return e.opacity=t,s}))}setObjectsPickable(e,t){return this.withObjects(e,(e=>{const s=e.pickable!==t;return e.pickable=t,s}))}setObjectsOffset(e,t){this.withObjects(e,(e=>{e.offset=t}))}withObjects(e,t){m.isString(e)&&(e=[e]);let s=!1;for(let n=0,i=e.length;n{i>n&&(n=i,e(...s))}));return this._tickifiedFunctions[t]={tickSubId:r,wrapperFunc:a},a}destroy(){super.destroy();for(const e in this.components)this.components.hasOwnProperty(e)&&this.components[e].destroy();this.canvas.gl=null,this.components=null,this.models=null,this.objects=null,this.visibleObjects=null,this.xrayedObjects=null,this.highlightedObjects=null,this.selectedObjects=null,this.colorizedObjects=null,this.opacityObjects=null,this.sectionPlanes=null,this.lights=null,this.lightMaps=null,this.reflectionMaps=null,this._objectIds=null,this._visibleObjectIds=null,this._xrayedObjectIds=null,this._highlightedObjectIds=null,this._selectedObjectIds=null,this._colorizedObjectIds=null,this.types=null,this.components=null,this.canvas=null,this._renderer=null,this.input=null,this._viewport=null,this._camera=null}}const Zt=function(e){"LambertMaterial"===e._material._state.type?(this.vertex=function(e){const t=e.scene,s=e.scene._sectionPlanesState,n=e.scene._lightsState,i=e._geometry._state,a=e._state.billboard,r=e._state.stationary,l=s.getNumAllocatedSectionPlanes()>0,o=!!i.compressGeometry,c=[];c.push("#version 300 es"),c.push("// Lambertian drawing vertex shader"),c.push("in vec3 position;"),c.push("uniform mat4 modelMatrix;"),c.push("uniform mat4 viewMatrix;"),c.push("uniform mat4 projMatrix;"),c.push("uniform vec4 colorize;"),c.push("uniform vec3 offset;"),o&&c.push("uniform mat4 positionsDecodeMatrix;");t.logarithmicDepthBufferEnabled&&(c.push("uniform float logDepthBufFC;"),c.push("out float vFragDepth;"),c.push("bool isPerspectiveMatrix(mat4 m) {"),c.push(" return (m[2][3] == - 1.0);"),c.push("}"),c.push("out float isPerspective;"));l&&c.push("out vec4 vWorldPosition;");if(c.push("uniform vec4 lightAmbient;"),c.push("uniform vec4 materialColor;"),c.push("uniform vec3 materialEmissive;"),i.normalsBuf){c.push("in vec3 normal;"),c.push("uniform mat4 modelNormalMatrix;"),c.push("uniform mat4 viewNormalMatrix;");for(let e=0,t=n.lights.length;e= 0.0 ? 1.0 : -1.0, v.y >= 0.0 ? 1.0 : -1.0);"),c.push(" }"),c.push(" return normalize(v);"),c.push("}"))}c.push("out vec4 vColor;"),"points"===i.primitiveName&&c.push("uniform float pointSize;");"spherical"!==a&&"cylindrical"!==a||(c.push("void billboard(inout mat4 mat) {"),c.push(" mat[0][0] = 1.0;"),c.push(" mat[0][1] = 0.0;"),c.push(" mat[0][2] = 0.0;"),"spherical"===a&&(c.push(" mat[1][0] = 0.0;"),c.push(" mat[1][1] = 1.0;"),c.push(" mat[1][2] = 0.0;")),c.push(" mat[2][0] = 0.0;"),c.push(" mat[2][1] = 0.0;"),c.push(" mat[2][2] =1.0;"),c.push("}"));c.push("void main(void) {"),c.push("vec4 localPosition = vec4(position, 1.0); "),c.push("vec4 worldPosition;"),o&&c.push("localPosition = positionsDecodeMatrix * localPosition;");i.normalsBuf&&(o?c.push("vec4 localNormal = vec4(octDecode(normal.xy), 0.0); "):c.push("vec4 localNormal = vec4(normal, 0.0); "),c.push("mat4 modelNormalMatrix2 = modelNormalMatrix;"),c.push("mat4 viewNormalMatrix2 = viewNormalMatrix;"));c.push("mat4 viewMatrix2 = viewMatrix;"),c.push("mat4 modelMatrix2 = modelMatrix;"),r&&c.push("viewMatrix2[3][0] = viewMatrix2[3][1] = viewMatrix2[3][2] = 0.0;");"spherical"===a||"cylindrical"===a?(c.push("mat4 modelViewMatrix = viewMatrix2 * modelMatrix2;"),c.push("billboard(modelMatrix2);"),c.push("billboard(viewMatrix2);"),c.push("billboard(modelViewMatrix);"),i.normalsBuf&&(c.push("mat4 modelViewNormalMatrix = viewNormalMatrix2 * modelNormalMatrix2;"),c.push("billboard(modelNormalMatrix2);"),c.push("billboard(viewNormalMatrix2);"),c.push("billboard(modelViewNormalMatrix);")),c.push("worldPosition = modelMatrix2 * localPosition;"),c.push("worldPosition.xyz = worldPosition.xyz + offset;"),c.push("vec4 viewPosition = modelViewMatrix * localPosition;")):(c.push("worldPosition = modelMatrix2 * localPosition;"),c.push("worldPosition.xyz = worldPosition.xyz + offset;"),c.push("vec4 viewPosition = viewMatrix2 * worldPosition; "));i.normalsBuf&&c.push("vec3 viewNormal = normalize((viewNormalMatrix2 * modelNormalMatrix2 * localNormal).xyz);");if(c.push("vec3 reflectedColor = vec3(0.0, 0.0, 0.0);"),c.push("vec3 viewLightDir = vec3(0.0, 0.0, -1.0);"),c.push("float lambertian = 1.0;"),i.normalsBuf)for(let e=0,t=n.lights.length;e0,a=t.gammaOutput,r=[];r.push("#version 300 es"),r.push("// Lambertian drawing fragment shader"),r.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),r.push("precision highp float;"),r.push("precision highp int;"),r.push("#else"),r.push("precision mediump float;"),r.push("precision mediump int;"),r.push("#endif"),t.logarithmicDepthBufferEnabled&&(r.push("in float isPerspective;"),r.push("uniform float logDepthBufFC;"),r.push("in float vFragDepth;"));if(i){r.push("in vec4 vWorldPosition;"),r.push("uniform bool clippable;");for(let e=0,t=s.getNumAllocatedSectionPlanes();e 0.0) { discard; }"),r.push("}")}"points"===n.primitiveName&&(r.push("vec2 cxy = 2.0 * gl_PointCoord - 1.0;"),r.push("float r = dot(cxy, cxy);"),r.push("if (r > 1.0) {"),r.push(" discard;"),r.push("}"));t.logarithmicDepthBufferEnabled&&r.push("gl_FragDepth = isPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5;");a?r.push("outColor = linearToGamma(vColor, gammaFactor);"):r.push("outColor = vColor;");return r.push("}"),r}(e)):(this.vertex=function(e){const t=e.scene;e._material;const s=e._state,n=t._sectionPlanesState,i=e._geometry._state,a=t._lightsState;let r;const l=s.billboard,o=s.background,c=s.stationary,u=function(e){if(!e._geometry._state.uvBuf)return!1;const t=e._material;return!!(t._ambientMap||t._occlusionMap||t._baseColorMap||t._diffuseMap||t._alphaMap||t._specularMap||t._glossinessMap||t._specularGlossinessMap||t._emissiveMap||t._metallicMap||t._roughnessMap||t._metallicRoughnessMap||t._reflectivityMap||t._normalMap)}(e),h=ts(e),p=n.getNumAllocatedSectionPlanes()>0,A=es(e),d=!!i.compressGeometry,f=[];f.push("#version 300 es"),f.push("// Drawing vertex shader"),f.push("in vec3 position;"),d&&f.push("uniform mat4 positionsDecodeMatrix;");f.push("uniform mat4 modelMatrix;"),f.push("uniform mat4 viewMatrix;"),f.push("uniform mat4 projMatrix;"),f.push("out vec3 vViewPosition;"),f.push("uniform vec3 offset;"),p&&f.push("out vec4 vWorldPosition;");t.logarithmicDepthBufferEnabled&&(f.push("uniform float logDepthBufFC;"),f.push("out float vFragDepth;"),f.push("bool isPerspectiveMatrix(mat4 m) {"),f.push(" return (m[2][3] == - 1.0);"),f.push("}"),f.push("out float isPerspective;"));a.lightMaps.length>0&&f.push("out vec3 vWorldNormal;");if(h){f.push("in vec3 normal;"),f.push("uniform mat4 modelNormalMatrix;"),f.push("uniform mat4 viewNormalMatrix;"),f.push("out vec3 vViewNormal;");for(let e=0,t=a.lights.length;e= 0.0 ? 1.0 : -1.0, v.y >= 0.0 ? 1.0 : -1.0);"),f.push(" }"),f.push(" return normalize(v);"),f.push("}"))}u&&(f.push("in vec2 uv;"),f.push("out vec2 vUV;"),d&&f.push("uniform mat3 uvDecodeMatrix;"));i.colors&&(f.push("in vec4 color;"),f.push("out vec4 vColor;"));"points"===i.primitiveName&&f.push("uniform float pointSize;");"spherical"!==l&&"cylindrical"!==l||(f.push("void billboard(inout mat4 mat) {"),f.push(" mat[0][0] = 1.0;"),f.push(" mat[0][1] = 0.0;"),f.push(" mat[0][2] = 0.0;"),"spherical"===l&&(f.push(" mat[1][0] = 0.0;"),f.push(" mat[1][1] = 1.0;"),f.push(" mat[1][2] = 0.0;")),f.push(" mat[2][0] = 0.0;"),f.push(" mat[2][1] = 0.0;"),f.push(" mat[2][2] =1.0;"),f.push("}"));if(A){f.push("const mat4 texUnitConverter = mat4(0.5, 0.0, 0.0, 0.0, 0.0, 0.5, 0.0, 0.0, 0.0, 0.0, 0.5, 0.0, 0.5, 0.5, 0.5, 1.0);");for(let e=0,t=a.lights.length;e0&&f.push("vWorldNormal = worldNormal;"),f.push("vViewNormal = normalize((viewNormalMatrix2 * vec4(worldNormal, 1.0)).xyz);"),f.push("vec3 tmpVec3;"),f.push("float lightDist;");for(let e=0,t=a.lights.length;e0,o=ts(e),c=n.uvBuf,u="PhongMaterial"===r.type,h="MetallicMaterial"===r.type,p="SpecularMaterial"===r.type,A=es(e);t.gammaInput;const d=t.gammaOutput,f=[];f.push("#version 300 es"),f.push("// Drawing fragment shader"),f.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),f.push("precision highp float;"),f.push("precision highp int;"),f.push("#else"),f.push("precision mediump float;"),f.push("precision mediump int;"),f.push("#endif"),t.logarithmicDepthBufferEnabled&&(f.push("in float isPerspective;"),f.push("uniform float logDepthBufFC;"),f.push("in float vFragDepth;"));A&&(f.push("float unpackDepth (vec4 color) {"),f.push(" const vec4 bitShift = vec4(1.0, 1.0/256.0, 1.0/(256.0 * 256.0), 1.0/(256.0*256.0*256.0));"),f.push(" return dot(color, bitShift);"),f.push("}"));f.push("uniform float gammaFactor;"),f.push("vec4 linearToLinear( in vec4 value ) {"),f.push(" return value;"),f.push("}"),f.push("vec4 sRGBToLinear( in vec4 value ) {"),f.push(" return vec4( mix( pow( value.rgb * 0.9478672986 + vec3( 0.0521327014 ), vec3( 2.4 ) ), value.rgb * 0.0773993808, vec3( lessThanEqual( value.rgb, vec3( 0.04045 ) ) ) ), value.w );"),f.push("}"),f.push("vec4 gammaToLinear( in vec4 value) {"),f.push(" return vec4( pow( value.xyz, vec3( gammaFactor ) ), value.w );"),f.push("}"),d&&(f.push("vec4 linearToGamma( in vec4 value, in float gammaFactor ) {"),f.push(" return vec4( pow( value.xyz, vec3( 1.0 / gammaFactor ) ), value.w );"),f.push("}"));if(l){f.push("in vec4 vWorldPosition;"),f.push("uniform bool clippable;");for(var I=0;I0&&(f.push("uniform samplerCube lightMap;"),f.push("uniform mat4 viewNormalMatrix;")),a.reflectionMaps.length>0&&f.push("uniform samplerCube reflectionMap;"),(a.lightMaps.length>0||a.reflectionMaps.length>0)&&f.push("uniform mat4 viewMatrix;"),f.push("#define PI 3.14159265359"),f.push("#define RECIPROCAL_PI 0.31830988618"),f.push("#define RECIPROCAL_PI2 0.15915494"),f.push("#define EPSILON 1e-6"),f.push("#define saturate(a) clamp( a, 0.0, 1.0 )"),f.push("vec3 inverseTransformDirection(in vec3 dir, in mat4 matrix) {"),f.push(" return normalize( ( vec4( dir, 0.0 ) * matrix ).xyz );"),f.push("}"),f.push("struct IncidentLight {"),f.push(" vec3 color;"),f.push(" vec3 direction;"),f.push("};"),f.push("struct ReflectedLight {"),f.push(" vec3 diffuse;"),f.push(" vec3 specular;"),f.push("};"),f.push("struct Geometry {"),f.push(" vec3 position;"),f.push(" vec3 viewNormal;"),f.push(" vec3 worldNormal;"),f.push(" vec3 viewEyeDir;"),f.push("};"),f.push("struct Material {"),f.push(" vec3 diffuseColor;"),f.push(" float specularRoughness;"),f.push(" vec3 specularColor;"),f.push(" float shine;"),f.push("};"),u&&((a.lightMaps.length>0||a.reflectionMaps.length>0)&&(f.push("void computePhongLightMapping(const in Geometry geometry, const in Material material, inout ReflectedLight reflectedLight) {"),a.lightMaps.length>0&&(f.push(" vec3 irradiance = "+$t[a.lightMaps[0].encoding]+"(texture(lightMap, geometry.worldNormal)).rgb;"),f.push(" irradiance *= PI;"),f.push(" vec3 diffuseBRDFContrib = (RECIPROCAL_PI * material.diffuseColor);"),f.push(" reflectedLight.diffuse += irradiance * diffuseBRDFContrib;")),a.reflectionMaps.length>0&&(f.push(" vec3 reflectVec = reflect(-geometry.viewEyeDir, geometry.viewNormal);"),f.push(" vec3 radiance = texture(reflectionMap, reflectVec).rgb * 0.2;"),f.push(" radiance *= PI;"),f.push(" reflectedLight.specular += radiance;")),f.push("}")),f.push("void computePhongLighting(const in IncidentLight directLight, const in Geometry geometry, const in Material material, inout ReflectedLight reflectedLight) {"),f.push(" float dotNL = saturate(dot(geometry.viewNormal, directLight.direction));"),f.push(" vec3 irradiance = dotNL * directLight.color * PI;"),f.push(" reflectedLight.diffuse += irradiance * (RECIPROCAL_PI * material.diffuseColor);"),f.push(" reflectedLight.specular += directLight.color * material.specularColor * pow(max(dot(reflect(-directLight.direction, -geometry.viewNormal), geometry.viewEyeDir), 0.0), material.shine);"),f.push("}")),(h||p)&&(f.push("float GGXRoughnessToBlinnExponent(const in float ggxRoughness) {"),f.push(" float r = ggxRoughness + 0.0001;"),f.push(" return (2.0 / (r * r) - 2.0);"),f.push("}"),f.push("float getSpecularMIPLevel(const in float blinnShininessExponent, const in int maxMIPLevel) {"),f.push(" float maxMIPLevelScalar = float( maxMIPLevel );"),f.push(" float desiredMIPLevel = maxMIPLevelScalar - 0.79248 - 0.5 * log2( ( blinnShininessExponent * blinnShininessExponent ) + 1.0 );"),f.push(" return clamp( desiredMIPLevel, 0.0, maxMIPLevelScalar );"),f.push("}"),a.reflectionMaps.length>0&&(f.push("vec3 getLightProbeIndirectRadiance(const in vec3 reflectVec, const in float blinnShininessExponent, const in int maxMIPLevel) {"),f.push(" float mipLevel = 0.5 * getSpecularMIPLevel(blinnShininessExponent, maxMIPLevel);"),f.push(" vec3 envMapColor = "+$t[a.reflectionMaps[0].encoding]+"(texture(reflectionMap, reflectVec, mipLevel)).rgb;"),f.push(" return envMapColor;"),f.push("}")),f.push("vec3 F_Schlick(const in vec3 specularColor, const in float dotLH) {"),f.push(" float fresnel = exp2( ( -5.55473 * dotLH - 6.98316 ) * dotLH );"),f.push(" return ( 1.0 - specularColor ) * fresnel + specularColor;"),f.push("}"),f.push("float G_GGX_Smith(const in float alpha, const in float dotNL, const in float dotNV) {"),f.push(" float a2 = ( alpha * alpha );"),f.push(" float gl = dotNL + sqrt( a2 + ( 1.0 - a2 ) * ( dotNL * dotNL ) );"),f.push(" float gv = dotNV + sqrt( a2 + ( 1.0 - a2 ) * ( dotNV * dotNV ) );"),f.push(" return 1.0 / ( gl * gv );"),f.push("}"),f.push("float G_GGX_SmithCorrelated(const in float alpha, const in float dotNL, const in float dotNV) {"),f.push(" float a2 = ( alpha * alpha );"),f.push(" float gv = dotNL * sqrt( a2 + ( 1.0 - a2 ) * ( dotNV * dotNV ) );"),f.push(" float gl = dotNV * sqrt( a2 + ( 1.0 - a2 ) * ( dotNL * dotNL ) );"),f.push(" return 0.5 / max( gv + gl, EPSILON );"),f.push("}"),f.push("float D_GGX(const in float alpha, const in float dotNH) {"),f.push(" float a2 = ( alpha * alpha );"),f.push(" float denom = ( dotNH * dotNH) * ( a2 - 1.0 ) + 1.0;"),f.push(" return RECIPROCAL_PI * a2 / ( denom * denom);"),f.push("}"),f.push("vec3 BRDF_Specular_GGX(const in IncidentLight incidentLight, const in Geometry geometry, const in vec3 specularColor, const in float roughness) {"),f.push(" float alpha = ( roughness * roughness );"),f.push(" vec3 halfDir = normalize( incidentLight.direction + geometry.viewEyeDir );"),f.push(" float dotNL = saturate( dot( geometry.viewNormal, incidentLight.direction ) );"),f.push(" float dotNV = saturate( dot( geometry.viewNormal, geometry.viewEyeDir ) );"),f.push(" float dotNH = saturate( dot( geometry.viewNormal, halfDir ) );"),f.push(" float dotLH = saturate( dot( incidentLight.direction, halfDir ) );"),f.push(" vec3 F = F_Schlick( specularColor, dotLH );"),f.push(" float G = G_GGX_SmithCorrelated( alpha, dotNL, dotNV );"),f.push(" float D = D_GGX( alpha, dotNH );"),f.push(" return F * (G * D);"),f.push("}"),f.push("vec3 BRDF_Specular_GGX_Environment(const in Geometry geometry, const in vec3 specularColor, const in float roughness) {"),f.push(" float dotNV = saturate(dot(geometry.viewNormal, geometry.viewEyeDir));"),f.push(" const vec4 c0 = vec4( -1, -0.0275, -0.572, 0.022);"),f.push(" const vec4 c1 = vec4( 1, 0.0425, 1.04, -0.04);"),f.push(" vec4 r = roughness * c0 + c1;"),f.push(" float a004 = min(r.x * r.x, exp2(-9.28 * dotNV)) * r.x + r.y;"),f.push(" vec2 AB = vec2(-1.04, 1.04) * a004 + r.zw;"),f.push(" return specularColor * AB.x + AB.y;"),f.push("}"),(a.lightMaps.length>0||a.reflectionMaps.length>0)&&(f.push("void computePBRLightMapping(const in Geometry geometry, const in Material material, inout ReflectedLight reflectedLight) {"),a.lightMaps.length>0&&(f.push(" vec3 irradiance = sRGBToLinear(texture(lightMap, geometry.worldNormal)).rgb;"),f.push(" irradiance *= PI;"),f.push(" vec3 diffuseBRDFContrib = (RECIPROCAL_PI * material.diffuseColor);"),f.push(" reflectedLight.diffuse += irradiance * diffuseBRDFContrib;")),a.reflectionMaps.length>0&&(f.push(" vec3 reflectVec = reflect(-geometry.viewEyeDir, geometry.viewNormal);"),f.push(" reflectVec = inverseTransformDirection(reflectVec, viewMatrix);"),f.push(" float blinnExpFromRoughness = GGXRoughnessToBlinnExponent(material.specularRoughness);"),f.push(" vec3 radiance = getLightProbeIndirectRadiance(reflectVec, blinnExpFromRoughness, 8);"),f.push(" vec3 specularBRDFContrib = BRDF_Specular_GGX_Environment(geometry, material.specularColor, material.specularRoughness);"),f.push(" reflectedLight.specular += radiance * specularBRDFContrib;")),f.push("}")),f.push("void computePBRLighting(const in IncidentLight incidentLight, const in Geometry geometry, const in Material material, inout ReflectedLight reflectedLight) {"),f.push(" float dotNL = saturate(dot(geometry.viewNormal, incidentLight.direction));"),f.push(" vec3 irradiance = dotNL * incidentLight.color * PI;"),f.push(" reflectedLight.diffuse += irradiance * (RECIPROCAL_PI * material.diffuseColor);"),f.push(" reflectedLight.specular += irradiance * BRDF_Specular_GGX(incidentLight, geometry, material.specularColor, material.specularRoughness);"),f.push("}")));f.push("in vec3 vViewPosition;"),n.colors&&f.push("in vec4 vColor;");c&&(o&&s._normalMap||s._ambientMap||s._baseColorMap||s._diffuseMap||s._emissiveMap||s._metallicMap||s._roughnessMap||s._metallicRoughnessMap||s._specularMap||s._glossinessMap||s._specularGlossinessMap||s._occlusionMap||s._alphaMap)&&f.push("in vec2 vUV;");o&&(a.lightMaps.length>0&&f.push("in vec3 vWorldNormal;"),f.push("in vec3 vViewNormal;"));r.ambient&&f.push("uniform vec3 materialAmbient;");r.baseColor&&f.push("uniform vec3 materialBaseColor;");void 0!==r.alpha&&null!==r.alpha&&f.push("uniform vec4 materialAlphaModeCutoff;");r.emissive&&f.push("uniform vec3 materialEmissive;");r.diffuse&&f.push("uniform vec3 materialDiffuse;");void 0!==r.glossiness&&null!==r.glossiness&&f.push("uniform float materialGlossiness;");void 0!==r.shininess&&null!==r.shininess&&f.push("uniform float materialShininess;");r.specular&&f.push("uniform vec3 materialSpecular;");void 0!==r.metallic&&null!==r.metallic&&f.push("uniform float materialMetallic;");void 0!==r.roughness&&null!==r.roughness&&f.push("uniform float materialRoughness;");void 0!==r.specularF0&&null!==r.specularF0&&f.push("uniform float materialSpecularF0;");c&&s._ambientMap&&(f.push("uniform sampler2D ambientMap;"),s._ambientMap._state.matrix&&f.push("uniform mat4 ambientMapMatrix;"));c&&s._baseColorMap&&(f.push("uniform sampler2D baseColorMap;"),s._baseColorMap._state.matrix&&f.push("uniform mat4 baseColorMapMatrix;"));c&&s._diffuseMap&&(f.push("uniform sampler2D diffuseMap;"),s._diffuseMap._state.matrix&&f.push("uniform mat4 diffuseMapMatrix;"));c&&s._emissiveMap&&(f.push("uniform sampler2D emissiveMap;"),s._emissiveMap._state.matrix&&f.push("uniform mat4 emissiveMapMatrix;"));o&&c&&s._metallicMap&&(f.push("uniform sampler2D metallicMap;"),s._metallicMap._state.matrix&&f.push("uniform mat4 metallicMapMatrix;"));o&&c&&s._roughnessMap&&(f.push("uniform sampler2D roughnessMap;"),s._roughnessMap._state.matrix&&f.push("uniform mat4 roughnessMapMatrix;"));o&&c&&s._metallicRoughnessMap&&(f.push("uniform sampler2D metallicRoughnessMap;"),s._metallicRoughnessMap._state.matrix&&f.push("uniform mat4 metallicRoughnessMapMatrix;"));o&&s._normalMap&&(f.push("uniform sampler2D normalMap;"),s._normalMap._state.matrix&&f.push("uniform mat4 normalMapMatrix;"),f.push("vec3 perturbNormal2Arb( vec3 eye_pos, vec3 surf_norm, vec2 uv ) {"),f.push(" vec3 q0 = vec3( dFdx( eye_pos.x ), dFdx( eye_pos.y ), dFdx( eye_pos.z ) );"),f.push(" vec3 q1 = vec3( dFdy( eye_pos.x ), dFdy( eye_pos.y ), dFdy( eye_pos.z ) );"),f.push(" vec2 st0 = dFdx( uv.st );"),f.push(" vec2 st1 = dFdy( uv.st );"),f.push(" vec3 S = normalize( q0 * st1.t - q1 * st0.t );"),f.push(" vec3 T = normalize( -q0 * st1.s + q1 * st0.s );"),f.push(" vec3 N = normalize( surf_norm );"),f.push(" vec3 mapN = texture( normalMap, uv ).xyz * 2.0 - 1.0;"),f.push(" mat3 tsn = mat3( S, T, N );"),f.push(" return normalize( tsn * mapN );"),f.push("}"));c&&s._occlusionMap&&(f.push("uniform sampler2D occlusionMap;"),s._occlusionMap._state.matrix&&f.push("uniform mat4 occlusionMapMatrix;"));c&&s._alphaMap&&(f.push("uniform sampler2D alphaMap;"),s._alphaMap._state.matrix&&f.push("uniform mat4 alphaMapMatrix;"));o&&c&&s._specularMap&&(f.push("uniform sampler2D specularMap;"),s._specularMap._state.matrix&&f.push("uniform mat4 specularMapMatrix;"));o&&c&&s._glossinessMap&&(f.push("uniform sampler2D glossinessMap;"),s._glossinessMap._state.matrix&&f.push("uniform mat4 glossinessMapMatrix;"));o&&c&&s._specularGlossinessMap&&(f.push("uniform sampler2D materialSpecularGlossinessMap;"),s._specularGlossinessMap._state.matrix&&f.push("uniform mat4 materialSpecularGlossinessMapMatrix;"));o&&(s._diffuseFresnel||s._specularFresnel||s._alphaFresnel||s._emissiveFresnel||s._reflectivityFresnel)&&(f.push("float fresnel(vec3 eyeDir, vec3 normal, float edgeBias, float centerBias, float power) {"),f.push(" float fr = abs(dot(eyeDir, normal));"),f.push(" float finalFr = clamp((fr - edgeBias) / (centerBias - edgeBias), 0.0, 1.0);"),f.push(" return pow(finalFr, power);"),f.push("}"),s._diffuseFresnel&&(f.push("uniform float diffuseFresnelCenterBias;"),f.push("uniform float diffuseFresnelEdgeBias;"),f.push("uniform float diffuseFresnelPower;"),f.push("uniform vec3 diffuseFresnelCenterColor;"),f.push("uniform vec3 diffuseFresnelEdgeColor;")),s._specularFresnel&&(f.push("uniform float specularFresnelCenterBias;"),f.push("uniform float specularFresnelEdgeBias;"),f.push("uniform float specularFresnelPower;"),f.push("uniform vec3 specularFresnelCenterColor;"),f.push("uniform vec3 specularFresnelEdgeColor;")),s._alphaFresnel&&(f.push("uniform float alphaFresnelCenterBias;"),f.push("uniform float alphaFresnelEdgeBias;"),f.push("uniform float alphaFresnelPower;"),f.push("uniform vec3 alphaFresnelCenterColor;"),f.push("uniform vec3 alphaFresnelEdgeColor;")),s._reflectivityFresnel&&(f.push("uniform float materialSpecularF0FresnelCenterBias;"),f.push("uniform float materialSpecularF0FresnelEdgeBias;"),f.push("uniform float materialSpecularF0FresnelPower;"),f.push("uniform vec3 materialSpecularF0FresnelCenterColor;"),f.push("uniform vec3 materialSpecularF0FresnelEdgeColor;")),s._emissiveFresnel&&(f.push("uniform float emissiveFresnelCenterBias;"),f.push("uniform float emissiveFresnelEdgeBias;"),f.push("uniform float emissiveFresnelPower;"),f.push("uniform vec3 emissiveFresnelCenterColor;"),f.push("uniform vec3 emissiveFresnelEdgeColor;")));if(f.push("uniform vec4 lightAmbient;"),o)for(let e=0,t=a.lights.length;e 0.0) { discard; }"),f.push("}")}"points"===n.primitiveName&&(f.push("vec2 cxy = 2.0 * gl_PointCoord - 1.0;"),f.push("float r = dot(cxy, cxy);"),f.push("if (r > 1.0) {"),f.push(" discard;"),f.push("}"));f.push("float occlusion = 1.0;"),r.ambient?f.push("vec3 ambientColor = materialAmbient;"):f.push("vec3 ambientColor = vec3(1.0, 1.0, 1.0);");r.diffuse?f.push("vec3 diffuseColor = materialDiffuse;"):r.baseColor?f.push("vec3 diffuseColor = materialBaseColor;"):f.push("vec3 diffuseColor = vec3(1.0, 1.0, 1.0);");n.colors&&f.push("diffuseColor *= vColor.rgb;");r.emissive?f.push("vec3 emissiveColor = materialEmissive;"):f.push("vec3 emissiveColor = vec3(0.0, 0.0, 0.0);");r.specular?f.push("vec3 specular = materialSpecular;"):f.push("vec3 specular = vec3(1.0, 1.0, 1.0);");void 0!==r.alpha?f.push("float alpha = materialAlphaModeCutoff[0];"):f.push("float alpha = 1.0;");n.colors&&f.push("alpha *= vColor.a;");void 0!==r.glossiness?f.push("float glossiness = materialGlossiness;"):f.push("float glossiness = 1.0;");void 0!==r.metallic?f.push("float metallic = materialMetallic;"):f.push("float metallic = 1.0;");void 0!==r.roughness?f.push("float roughness = materialRoughness;"):f.push("float roughness = 1.0;");void 0!==r.specularF0?f.push("float specularF0 = materialSpecularF0;"):f.push("float specularF0 = 1.0;");c&&(o&&s._normalMap||s._ambientMap||s._baseColorMap||s._diffuseMap||s._occlusionMap||s._emissiveMap||s._metallicMap||s._roughnessMap||s._metallicRoughnessMap||s._specularMap||s._glossinessMap||s._specularGlossinessMap||s._alphaMap)&&(f.push("vec4 texturePos = vec4(vUV.s, vUV.t, 1.0, 1.0);"),f.push("vec2 textureCoord;"));c&&s._ambientMap&&(s._ambientMap._state.matrix?f.push("textureCoord = (ambientMapMatrix * texturePos).xy;"):f.push("textureCoord = texturePos.xy;"),f.push("vec4 ambientTexel = texture(ambientMap, textureCoord).rgb;"),f.push("ambientTexel = "+$t[s._ambientMap._state.encoding]+"(ambientTexel);"),f.push("ambientColor *= ambientTexel.rgb;"));c&&s._diffuseMap&&(s._diffuseMap._state.matrix?f.push("textureCoord = (diffuseMapMatrix * texturePos).xy;"):f.push("textureCoord = texturePos.xy;"),f.push("vec4 diffuseTexel = texture(diffuseMap, textureCoord);"),f.push("diffuseTexel = "+$t[s._diffuseMap._state.encoding]+"(diffuseTexel);"),f.push("diffuseColor *= diffuseTexel.rgb;"),f.push("alpha *= diffuseTexel.a;"));c&&s._baseColorMap&&(s._baseColorMap._state.matrix?f.push("textureCoord = (baseColorMapMatrix * texturePos).xy;"):f.push("textureCoord = texturePos.xy;"),f.push("vec4 baseColorTexel = texture(baseColorMap, textureCoord);"),f.push("baseColorTexel = "+$t[s._baseColorMap._state.encoding]+"(baseColorTexel);"),f.push("diffuseColor *= baseColorTexel.rgb;"),f.push("alpha *= baseColorTexel.a;"));c&&s._emissiveMap&&(s._emissiveMap._state.matrix?f.push("textureCoord = (emissiveMapMatrix * texturePos).xy;"):f.push("textureCoord = texturePos.xy;"),f.push("vec4 emissiveTexel = texture(emissiveMap, textureCoord);"),f.push("emissiveTexel = "+$t[s._emissiveMap._state.encoding]+"(emissiveTexel);"),f.push("emissiveColor = emissiveTexel.rgb;"));c&&s._alphaMap&&(s._alphaMap._state.matrix?f.push("textureCoord = (alphaMapMatrix * texturePos).xy;"):f.push("textureCoord = texturePos.xy;"),f.push("alpha *= texture(alphaMap, textureCoord).r;"));c&&s._occlusionMap&&(s._occlusionMap._state.matrix?f.push("textureCoord = (occlusionMapMatrix * texturePos).xy;"):f.push("textureCoord = texturePos.xy;"),f.push("occlusion *= texture(occlusionMap, textureCoord).r;"));if(o&&(a.lights.length>0||a.lightMaps.length>0||a.reflectionMaps.length>0)){c&&s._normalMap?(s._normalMap._state.matrix?f.push("textureCoord = (normalMapMatrix * texturePos).xy;"):f.push("textureCoord = texturePos.xy;"),f.push("vec3 viewNormal = perturbNormal2Arb( vViewPosition, normalize(vViewNormal), textureCoord );")):f.push("vec3 viewNormal = normalize(vViewNormal);"),c&&s._specularMap&&(s._specularMap._state.matrix?f.push("textureCoord = (specularMapMatrix * texturePos).xy;"):f.push("textureCoord = texturePos.xy;"),f.push("specular *= texture(specularMap, textureCoord).rgb;")),c&&s._glossinessMap&&(s._glossinessMap._state.matrix?f.push("textureCoord = (glossinessMapMatrix * texturePos).xy;"):f.push("textureCoord = texturePos.xy;"),f.push("glossiness *= texture(glossinessMap, textureCoord).r;")),c&&s._specularGlossinessMap&&(s._specularGlossinessMap._state.matrix?f.push("textureCoord = (materialSpecularGlossinessMapMatrix * texturePos).xy;"):f.push("textureCoord = texturePos.xy;"),f.push("vec4 specGlossRGB = texture(materialSpecularGlossinessMap, textureCoord).rgba;"),f.push("specular *= specGlossRGB.rgb;"),f.push("glossiness *= specGlossRGB.a;")),c&&s._metallicMap&&(s._metallicMap._state.matrix?f.push("textureCoord = (metallicMapMatrix * texturePos).xy;"):f.push("textureCoord = texturePos.xy;"),f.push("metallic *= texture(metallicMap, textureCoord).r;")),c&&s._roughnessMap&&(s._roughnessMap._state.matrix?f.push("textureCoord = (roughnessMapMatrix * texturePos).xy;"):f.push("textureCoord = texturePos.xy;"),f.push("roughness *= texture(roughnessMap, textureCoord).r;")),c&&s._metallicRoughnessMap&&(s._metallicRoughnessMap._state.matrix?f.push("textureCoord = (metallicRoughnessMapMatrix * texturePos).xy;"):f.push("textureCoord = texturePos.xy;"),f.push("vec3 metalRoughRGB = texture(metallicRoughnessMap, textureCoord).rgb;"),f.push("metallic *= metalRoughRGB.b;"),f.push("roughness *= metalRoughRGB.g;")),f.push("vec3 viewEyeDir = normalize(-vViewPosition);"),s._diffuseFresnel&&(f.push("float diffuseFresnel = fresnel(viewEyeDir, viewNormal, diffuseFresnelEdgeBias, diffuseFresnelCenterBias, diffuseFresnelPower);"),f.push("diffuseColor *= mix(diffuseFresnelEdgeColor, diffuseFresnelCenterColor, diffuseFresnel);")),s._specularFresnel&&(f.push("float specularFresnel = fresnel(viewEyeDir, viewNormal, specularFresnelEdgeBias, specularFresnelCenterBias, specularFresnelPower);"),f.push("specular *= mix(specularFresnelEdgeColor, specularFresnelCenterColor, specularFresnel);")),s._alphaFresnel&&(f.push("float alphaFresnel = fresnel(viewEyeDir, viewNormal, alphaFresnelEdgeBias, alphaFresnelCenterBias, alphaFresnelPower);"),f.push("alpha *= mix(alphaFresnelEdgeColor.r, alphaFresnelCenterColor.r, alphaFresnel);")),s._emissiveFresnel&&(f.push("float emissiveFresnel = fresnel(viewEyeDir, viewNormal, emissiveFresnelEdgeBias, emissiveFresnelCenterBias, emissiveFresnelPower);"),f.push("emissiveColor *= mix(emissiveFresnelEdgeColor, emissiveFresnelCenterColor, emissiveFresnel);")),f.push("if (materialAlphaModeCutoff[1] == 1.0 && alpha < materialAlphaModeCutoff[2]) {"),f.push(" discard;"),f.push("}"),f.push("IncidentLight light;"),f.push("Material material;"),f.push("Geometry geometry;"),f.push("ReflectedLight reflectedLight = ReflectedLight(vec3(0.0,0.0,0.0), vec3(0.0,0.0,0.0));"),f.push("vec3 viewLightDir;"),u&&(f.push("material.diffuseColor = diffuseColor;"),f.push("material.specularColor = specular;"),f.push("material.shine = materialShininess;")),p&&(f.push("float oneMinusSpecularStrength = 1.0 - max(max(specular.r, specular.g ),specular.b);"),f.push("material.diffuseColor = diffuseColor * oneMinusSpecularStrength;"),f.push("material.specularRoughness = clamp( 1.0 - glossiness, 0.04, 1.0 );"),f.push("material.specularColor = specular;")),h&&(f.push("float dielectricSpecular = 0.16 * specularF0 * specularF0;"),f.push("material.diffuseColor = diffuseColor * (1.0 - dielectricSpecular) * (1.0 - metallic);"),f.push("material.specularRoughness = clamp(roughness, 0.04, 1.0);"),f.push("material.specularColor = mix(vec3(dielectricSpecular), diffuseColor, metallic);")),f.push("geometry.position = vViewPosition;"),a.lightMaps.length>0&&f.push("geometry.worldNormal = normalize(vWorldNormal);"),f.push("geometry.viewNormal = viewNormal;"),f.push("geometry.viewEyeDir = viewEyeDir;"),u&&(a.lightMaps.length>0||a.reflectionMaps.length>0)&&f.push("computePhongLightMapping(geometry, material, reflectedLight);"),(p||h)&&(a.lightMaps.length>0||a.reflectionMaps.length>0)&&f.push("computePBRLightMapping(geometry, material, reflectedLight);"),f.push("float shadow = 1.0;"),f.push("float shadowAcneRemover = 0.007;"),f.push("vec3 fragmentDepth;"),f.push("float texelSize = 1.0 / 1024.0;"),f.push("float amountInLight = 0.0;"),f.push("vec3 shadowCoord;"),f.push("vec4 rgbaDepth;"),f.push("float depth;");for(let e=0,t=a.lights.length;e0){const i=n._sectionPlanesState.sectionPlanes,r=t.renderFlags;for(let t=0;t0&&(this._uLightMap="lightMap"),i.reflectionMaps.length>0&&(this._uReflectionMap="reflectionMap"),this._uSectionPlanes=[];for(u=0,h=a.sectionPlanes.length;u0&&i.lightMaps[0].texture&&this._uLightMap&&(l.bindTexture(this._uLightMap,i.lightMaps[0].texture,e.textureUnit),e.textureUnit=(e.textureUnit+1)%t,e.bindTexture++),i.reflectionMaps.length>0&&i.reflectionMaps[0].texture&&this._uReflectionMap&&(l.bindTexture(this._uReflectionMap,i.reflectionMaps[0].texture,e.textureUnit),e.textureUnit=(e.textureUnit+1)%t,e.bindTexture++),this._uGammaFactor&&n.uniform1f(this._uGammaFactor,s.gammaFactor),this._baseTextureUnit=e.textureUnit};class rs{constructor(e){this.vertex=function(e){const t=e.scene,s=t._lightsState,n=function(e){const t=e._geometry._state.primitiveName;if((e._geometry._state.autoVertexNormals||e._geometry._state.normalsBuf)&&("triangles"===t||"triangle-strip"===t||"triangle-fan"===t))return!0;return!1}(e),i=t._sectionPlanesState.sectionPlanes.length>0,a=!!e._geometry._state.compressGeometry,r=e._state.billboard,l=e._state.stationary,o=[];o.push("#version 300 es"),o.push("// EmphasisFillShaderSource vertex shader"),o.push("in vec3 position;"),o.push("uniform mat4 modelMatrix;"),o.push("uniform mat4 viewMatrix;"),o.push("uniform mat4 projMatrix;"),o.push("uniform vec4 colorize;"),o.push("uniform vec3 offset;"),a&&o.push("uniform mat4 positionsDecodeMatrix;");t.logarithmicDepthBufferEnabled&&(o.push("uniform float logDepthBufFC;"),o.push("out float vFragDepth;"),o.push("bool isPerspectiveMatrix(mat4 m) {"),o.push(" return (m[2][3] == - 1.0);"),o.push("}"),o.push("out float isPerspective;"));i&&o.push("out vec4 vWorldPosition;");if(o.push("uniform vec4 lightAmbient;"),o.push("uniform vec4 fillColor;"),n){o.push("in vec3 normal;"),o.push("uniform mat4 modelNormalMatrix;"),o.push("uniform mat4 viewNormalMatrix;");for(let e=0,t=s.lights.length;e= 0.0 ? 1.0 : -1.0, v.y >= 0.0 ? 1.0 : -1.0);"),o.push(" }"),o.push(" return normalize(v);"),o.push("}"))}o.push("out vec4 vColor;"),("spherical"===r||"cylindrical"===r)&&(o.push("void billboard(inout mat4 mat) {"),o.push(" mat[0][0] = 1.0;"),o.push(" mat[0][1] = 0.0;"),o.push(" mat[0][2] = 0.0;"),"spherical"===r&&(o.push(" mat[1][0] = 0.0;"),o.push(" mat[1][1] = 1.0;"),o.push(" mat[1][2] = 0.0;")),o.push(" mat[2][0] = 0.0;"),o.push(" mat[2][1] = 0.0;"),o.push(" mat[2][2] =1.0;"),o.push("}"));o.push("void main(void) {"),o.push("vec4 localPosition = vec4(position, 1.0); "),o.push("vec4 worldPosition;"),a&&o.push("localPosition = positionsDecodeMatrix * localPosition;");n&&(a?o.push("vec4 localNormal = vec4(octDecode(normal.xy), 0.0); "):o.push("vec4 localNormal = vec4(normal, 0.0); "),o.push("mat4 modelNormalMatrix2 = modelNormalMatrix;"),o.push("mat4 viewNormalMatrix2 = viewNormalMatrix;"));o.push("mat4 viewMatrix2 = viewMatrix;"),o.push("mat4 modelMatrix2 = modelMatrix;"),l&&o.push("viewMatrix2[3][0] = viewMatrix2[3][1] = viewMatrix2[3][2] = 0.0;");"spherical"===r||"cylindrical"===r?(o.push("mat4 modelViewMatrix = viewMatrix2 * modelMatrix2;"),o.push("billboard(modelMatrix2);"),o.push("billboard(viewMatrix2);"),o.push("billboard(modelViewMatrix);"),n&&(o.push("mat4 modelViewNormalMatrix = viewNormalMatrix2 * modelNormalMatrix2;"),o.push("billboard(modelNormalMatrix2);"),o.push("billboard(viewNormalMatrix2);"),o.push("billboard(modelViewNormalMatrix);")),o.push("worldPosition = modelMatrix2 * localPosition;"),o.push("vec4 viewPosition = modelViewMatrix * localPosition;")):(o.push("worldPosition = modelMatrix2 * localPosition;"),o.push("worldPosition.xyz = worldPosition.xyz + offset;"),o.push("vec4 viewPosition = viewMatrix2 * worldPosition; "));n&&o.push("vec3 viewNormal = normalize((viewNormalMatrix2 * modelNormalMatrix2 * localNormal).xyz);");if(o.push("vec3 reflectedColor = vec3(0.0, 0.0, 0.0);"),o.push("vec3 viewLightDir = vec3(0.0, 0.0, -1.0);"),o.push("float lambertian = 1.0;"),n)for(let e=0,t=s.lights.length;e0,a=[];a.push("#version 300 es"),a.push("// Lambertian drawing fragment shader"),a.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),a.push("precision highp float;"),a.push("precision highp int;"),a.push("#else"),a.push("precision mediump float;"),a.push("precision mediump int;"),a.push("#endif"),t.logarithmicDepthBufferEnabled&&(a.push("in float isPerspective;"),a.push("uniform float logDepthBufFC;"),a.push("in float vFragDepth;"));n&&(a.push("uniform float gammaFactor;"),a.push("vec4 linearToGamma( in vec4 value, in float gammaFactor ) {"),a.push(" return vec4( pow( value.xyz, vec3( 1.0 / gammaFactor ) ), value.w );"),a.push("}"));if(i){a.push("in vec4 vWorldPosition;"),a.push("uniform bool clippable;");for(let e=0,t=s.getNumAllocatedSectionPlanes();e 0.0) { discard; }"),a.push("}")}"points"===e._geometry._state.primitiveName&&(a.push("vec2 cxy = 2.0 * gl_PointCoord - 1.0;"),a.push("float r = dot(cxy, cxy);"),a.push("if (r > 1.0) {"),a.push(" discard;"),a.push("}"));t.logarithmicDepthBufferEnabled&&a.push("gl_FragDepth = isPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5;");n?a.push("outColor = linearToGamma(vColor, gammaFactor);"):a.push("outColor = vColor;");return a.push("}"),a}(e)}}const ls=new e({}),os=h.vec3(),cs=function(e,t){this.id=ls.addItem({}),this._hash=e,this._scene=t.scene,this._useCount=0,this._shaderSource=new rs(t),this._allocate(t)},us={};cs.get=function(e){const t=[e.scene.id,e.scene.gammaOutput?"go":"",e.scene._sectionPlanesState.getHash(),e._geometry._state.normalsBuf?"n":"",e._geometry._state.compressGeometry?"cp":"",e._state.hash].join(";");let s=us[t];return s||(s=new cs(t,e),us[t]=s,d.memory.programs++),s._useCount++,s},cs.prototype.put=function(){0==--this._useCount&&(ls.removeItem(this.id),this._program&&this._program.destroy(),delete us[this._hash],d.memory.programs--)},cs.prototype.webglContextRestored=function(){this._program=null},cs.prototype.drawMesh=function(e,t,s){this._program||this._allocate(t);const n=this._scene,i=n.camera,a=n.canvas.gl,r=0===s?t._xrayMaterial._state:1===s?t._highlightMaterial._state:t._selectedMaterial._state,l=t._state,o=t._geometry._state,c=t.origin;if(e.lastProgramId!==this._program.id&&(e.lastProgramId=this._program.id,this._bindProgram(e)),a.uniformMatrix4fv(this._uViewMatrix,!1,c?e.getRTCViewMatrix(l.originHash,c):i.viewMatrix),a.uniformMatrix4fv(this._uViewNormalMatrix,!1,i.viewNormalMatrix),l.clippable){const e=n._sectionPlanesState.getNumAllocatedSectionPlanes(),s=n._sectionPlanesState.sectionPlanes.length;if(e>0){const i=n._sectionPlanesState.sectionPlanes,r=t.renderFlags;for(let t=0;t0,n=!!e._geometry._state.compressGeometry,i=e._state.billboard,a=e._state.stationary,r=[];r.push("#version 300 es"),r.push("// Edges drawing vertex shader"),r.push("in vec3 position;"),r.push("uniform mat4 modelMatrix;"),r.push("uniform mat4 viewMatrix;"),r.push("uniform mat4 projMatrix;"),r.push("uniform vec4 edgeColor;"),r.push("uniform vec3 offset;"),n&&r.push("uniform mat4 positionsDecodeMatrix;");t.logarithmicDepthBufferEnabled&&(r.push("uniform float logDepthBufFC;"),r.push("out float vFragDepth;"),r.push("bool isPerspectiveMatrix(mat4 m) {"),r.push(" return (m[2][3] == - 1.0);"),r.push("}"),r.push("out float isPerspective;"));s&&r.push("out vec4 vWorldPosition;");r.push("out vec4 vColor;"),("spherical"===i||"cylindrical"===i)&&(r.push("void billboard(inout mat4 mat) {"),r.push(" mat[0][0] = 1.0;"),r.push(" mat[0][1] = 0.0;"),r.push(" mat[0][2] = 0.0;"),"spherical"===i&&(r.push(" mat[1][0] = 0.0;"),r.push(" mat[1][1] = 1.0;"),r.push(" mat[1][2] = 0.0;")),r.push(" mat[2][0] = 0.0;"),r.push(" mat[2][1] = 0.0;"),r.push(" mat[2][2] =1.0;"),r.push("}"));r.push("void main(void) {"),r.push("vec4 localPosition = vec4(position, 1.0); "),r.push("vec4 worldPosition;"),n&&r.push("localPosition = positionsDecodeMatrix * localPosition;");r.push("mat4 viewMatrix2 = viewMatrix;"),r.push("mat4 modelMatrix2 = modelMatrix;"),a&&r.push("viewMatrix2[3][0] = viewMatrix2[3][1] = viewMatrix2[3][2] = 0.0;");"spherical"===i||"cylindrical"===i?(r.push("mat4 modelViewMatrix = viewMatrix2 * modelMatrix2;"),r.push("billboard(modelMatrix2);"),r.push("billboard(viewMatrix2);"),r.push("billboard(modelViewMatrix);"),r.push("worldPosition = modelMatrix2 * localPosition;"),r.push("worldPosition.xyz = worldPosition.xyz + offset;"),r.push("vec4 viewPosition = modelViewMatrix * localPosition;")):(r.push("worldPosition = modelMatrix2 * localPosition;"),r.push("worldPosition.xyz = worldPosition.xyz + offset;"),r.push("vec4 viewPosition = viewMatrix2 * worldPosition; "));r.push("vColor = edgeColor;"),s&&r.push("vWorldPosition = worldPosition;");r.push("vec4 clipPos = projMatrix * viewPosition;"),t.logarithmicDepthBufferEnabled&&(r.push("vFragDepth = 1.0 + clipPos.w;"),r.push("isPerspective = float (isPerspectiveMatrix(projMatrix));"));return r.push("gl_Position = clipPos;"),r.push("}"),r}(e),this.fragment=function(e){const t=e.scene,s=e.scene._sectionPlanesState,n=e.scene.gammaOutput,i=s.getNumAllocatedSectionPlanes()>0,a=[];a.push("#version 300 es"),a.push("// Edges drawing fragment shader"),a.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),a.push("precision highp float;"),a.push("precision highp int;"),a.push("#else"),a.push("precision mediump float;"),a.push("precision mediump int;"),a.push("#endif"),t.logarithmicDepthBufferEnabled&&(a.push("in float isPerspective;"),a.push("uniform float logDepthBufFC;"),a.push("in float vFragDepth;"));n&&(a.push("uniform float gammaFactor;"),a.push("vec4 linearToGamma( in vec4 value, in float gammaFactor ) {"),a.push(" return vec4( pow( value.xyz, vec3( 1.0 / gammaFactor ) ), value.w );"),a.push("}"));if(i){a.push("in vec4 vWorldPosition;"),a.push("uniform bool clippable;");for(let e=0,t=s.getNumAllocatedSectionPlanes();e 0.0) { discard; }"),a.push("}")}t.logarithmicDepthBufferEnabled&&a.push("gl_FragDepth = isPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5;");n?a.push("outColor = linearToGamma(vColor, gammaFactor);"):a.push("outColor = vColor;");return a.push("}"),a}(e)}}const ps=new e({}),As=h.vec3(),ds=function(e,t){this.id=ps.addItem({}),this._hash=e,this._scene=t.scene,this._useCount=0,this._shaderSource=new hs(t),this._allocate(t)},fs={};ds.get=function(e){const t=[e.scene.id,e.scene.gammaOutput?"go":"",e.scene._sectionPlanesState.getHash(),e._geometry._state.compressGeometry?"cp":"",e._state.hash].join(";");let s=fs[t];return s||(s=new ds(t,e),fs[t]=s,d.memory.programs++),s._useCount++,s},ds.prototype.put=function(){0==--this._useCount&&(ps.removeItem(this.id),this._program&&this._program.destroy(),delete fs[this._hash],d.memory.programs--)},ds.prototype.webglContextRestored=function(){this._program=null},ds.prototype.drawMesh=function(e,t,s){this._program||this._allocate(t);const n=this._scene,i=n.camera,a=n.canvas.gl;let r;const l=t._state,o=t._geometry,c=o._state,u=t.origin;if(e.lastProgramId!==this._program.id&&(e.lastProgramId=this._program.id,this._bindProgram(e)),a.uniformMatrix4fv(this._uViewMatrix,!1,u?e.getRTCViewMatrix(l.originHash,u):i.viewMatrix),l.clippable){const e=n._sectionPlanesState.getNumAllocatedSectionPlanes(),s=n._sectionPlanesState.sectionPlanes.length;if(e>0){const i=n._sectionPlanesState.sectionPlanes,r=t.renderFlags;for(let t=0;t0,n=!!e._geometry._state.compressGeometry,i=e._state.billboard,a=e._state.stationary,r=[];r.push("#version 300 es"),r.push("// Mesh picking vertex shader"),r.push("in vec3 position;"),r.push("uniform mat4 modelMatrix;"),r.push("uniform mat4 viewMatrix;"),r.push("uniform mat4 projMatrix;"),r.push("out vec4 vViewPosition;"),r.push("uniform vec3 offset;"),n&&r.push("uniform mat4 positionsDecodeMatrix;");s&&r.push("out vec4 vWorldPosition;");t.logarithmicDepthBufferEnabled&&(r.push("uniform float logDepthBufFC;"),r.push("out float vFragDepth;"),r.push("bool isPerspectiveMatrix(mat4 m) {"),r.push(" return (m[2][3] == - 1.0);"),r.push("}"),r.push("out float isPerspective;"));"spherical"!==i&&"cylindrical"!==i||(r.push("void billboard(inout mat4 mat) {"),r.push(" mat[0][0] = 1.0;"),r.push(" mat[0][1] = 0.0;"),r.push(" mat[0][2] = 0.0;"),"spherical"===i&&(r.push(" mat[1][0] = 0.0;"),r.push(" mat[1][1] = 1.0;"),r.push(" mat[1][2] = 0.0;")),r.push(" mat[2][0] = 0.0;"),r.push(" mat[2][1] = 0.0;"),r.push(" mat[2][2] =1.0;"),r.push("}"));r.push("uniform vec2 pickClipPos;"),r.push("vec4 remapClipPos(vec4 clipPos) {"),r.push(" clipPos.xy /= clipPos.w;"),r.push(" clipPos.xy -= pickClipPos;"),r.push(" clipPos.xy *= clipPos.w;"),r.push(" return clipPos;"),r.push("}"),r.push("void main(void) {"),r.push("vec4 localPosition = vec4(position, 1.0); "),n&&r.push("localPosition = positionsDecodeMatrix * localPosition;");r.push("mat4 viewMatrix2 = viewMatrix;"),r.push("mat4 modelMatrix2 = modelMatrix;"),a&&r.push("viewMatrix2[3][0] = viewMatrix2[3][1] = viewMatrix2[3][2] = 0.0;");"spherical"!==i&&"cylindrical"!==i||(r.push("mat4 modelViewMatrix = viewMatrix2 * modelMatrix2;"),r.push("billboard(modelMatrix2);"),r.push("billboard(viewMatrix2);"));r.push(" vec4 worldPosition = modelMatrix2 * localPosition;"),r.push(" worldPosition.xyz = worldPosition.xyz + offset;"),r.push(" vec4 viewPosition = viewMatrix2 * worldPosition;"),s&&r.push(" vWorldPosition = worldPosition;");r.push("vec4 clipPos = projMatrix * viewPosition;"),t.logarithmicDepthBufferEnabled&&(r.push("vFragDepth = 1.0 + clipPos.w;"),r.push("isPerspective = float (isPerspectiveMatrix(projMatrix));"));return r.push("gl_Position = remapClipPos(clipPos);"),r.push("}"),r}(e),this.fragment=function(e){const t=e.scene,s=t._sectionPlanesState,n=s.getNumAllocatedSectionPlanes()>0,i=[];i.push("#version 300 es"),i.push("// Mesh picking fragment shader"),i.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),i.push("precision highp float;"),i.push("precision highp int;"),i.push("#else"),i.push("precision mediump float;"),i.push("precision mediump int;"),i.push("#endif"),t.logarithmicDepthBufferEnabled&&(i.push("in float isPerspective;"),i.push("uniform float logDepthBufFC;"),i.push("in float vFragDepth;"));if(i.push("uniform vec4 pickColor;"),n){i.push("uniform bool clippable;"),i.push("in vec4 vWorldPosition;");for(var a=0;a 0.0) { discard; }"),i.push("}")}t.logarithmicDepthBufferEnabled&&i.push("gl_FragDepth = isPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5;");return i.push(" outColor = pickColor; "),i.push("}"),i}(e)}}const ys=h.vec3(),ms=function(e,t){this._hash=e,this._shaderSource=new Is(t),this._scene=t.scene,this._useCount=0,this._allocate(t)},vs={};ms.get=function(e){const t=[e.scene.canvas.canvas.id,e.scene._sectionPlanesState.getHash(),e._geometry._state.hash,e._state.hash].join(";");let s=vs[t];if(!s){if(s=new ms(t,e),s.errors)return console.log(s.errors.join("\n")),null;vs[t]=s,d.memory.programs++}return s._useCount++,s},ms.prototype.put=function(){0==--this._useCount&&(this._program&&this._program.destroy(),delete vs[this._hash],d.memory.programs--)},ms.prototype.webglContextRestored=function(){this._program=null},ms.prototype.drawMesh=function(e,t){this._program||this._allocate(t);const s=this._scene,n=s.canvas.gl,i=t._state,a=t._material._state,r=t._geometry._state,l=t.origin;if(e.lastProgramId!==this._program.id&&(e.lastProgramId=this._program.id,this._bindProgram(e)),n.uniformMatrix4fv(this._uViewMatrix,!1,l?e.getRTCPickViewMatrix(i.originHash,l):e.pickViewMatrix),i.clippable){const e=s._sectionPlanesState.getNumAllocatedSectionPlanes(),i=s._sectionPlanesState.sectionPlanes.length;if(e>0){const a=s._sectionPlanesState.sectionPlanes,r=t.renderFlags;for(let t=0;t>24&255,u=o>>16&255,h=o>>8&255,p=255&o;n.uniform4f(this._uPickColor,p/255,h/255,u/255,c/255),n.uniform2fv(this._uPickClipPos,e.pickClipPos),r.indicesBuf?(n.drawElements(r.primitive,r.indicesBuf.numItems,r.indicesBuf.itemType,0),e.drawElements++):r.positions&&n.drawArrays(n.TRIANGLES,0,r.positions.numItems)},ms.prototype._allocate=function(e){const t=e.scene,s=t.canvas.gl;if(this._program=new Be(s,this._shaderSource),this._program.errors)return void(this.errors=this._program.errors);const n=this._program;this._uPositionsDecodeMatrix=n.getLocation("positionsDecodeMatrix"),this._uModelMatrix=n.getLocation("modelMatrix"),this._uViewMatrix=n.getLocation("viewMatrix"),this._uProjMatrix=n.getLocation("projMatrix"),this._uSectionPlanes=[];for(let e=0,s=t._sectionPlanesState.sectionPlanes.length;e0,n=!!e._geometry._state.compressGeometry,i=[];i.push("#version 300 es"),i.push("// Surface picking vertex shader"),i.push("in vec3 position;"),i.push("in vec4 color;"),i.push("uniform mat4 modelMatrix;"),i.push("uniform mat4 viewMatrix;"),i.push("uniform mat4 projMatrix;"),i.push("uniform vec3 offset;"),s&&(i.push("uniform bool clippable;"),i.push("out vec4 vWorldPosition;"));t.logarithmicDepthBufferEnabled&&(i.push("uniform float logDepthBufFC;"),i.push("out float vFragDepth;"),i.push("bool isPerspectiveMatrix(mat4 m) {"),i.push(" return (m[2][3] == - 1.0);"),i.push("}"),i.push("out float isPerspective;"));i.push("uniform vec2 pickClipPos;"),i.push("vec4 remapClipPos(vec4 clipPos) {"),i.push(" clipPos.xy /= clipPos.w;"),i.push(" clipPos.xy -= pickClipPos;"),i.push(" clipPos.xy *= clipPos.w;"),i.push(" return clipPos;"),i.push("}"),i.push("out vec4 vColor;"),n&&i.push("uniform mat4 positionsDecodeMatrix;");i.push("void main(void) {"),i.push("vec4 localPosition = vec4(position, 1.0); "),n&&i.push("localPosition = positionsDecodeMatrix * localPosition;");i.push(" vec4 worldPosition = modelMatrix * localPosition; "),i.push(" worldPosition.xyz = worldPosition.xyz + offset;"),i.push(" vec4 viewPosition = viewMatrix * worldPosition;"),s&&i.push(" vWorldPosition = worldPosition;");i.push(" vColor = color;"),i.push("vec4 clipPos = projMatrix * viewPosition;"),t.logarithmicDepthBufferEnabled&&(i.push("vFragDepth = 1.0 + clipPos.w;"),i.push("isPerspective = float (isPerspectiveMatrix(projMatrix));"));return i.push("gl_Position = remapClipPos(clipPos);"),i.push("}"),i}(e),this.fragment=function(e){const t=e.scene,s=t._sectionPlanesState,n=s.getNumAllocatedSectionPlanes()>0,i=[];i.push("#version 300 es"),i.push("// Surface picking fragment shader"),i.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),i.push("precision highp float;"),i.push("precision highp int;"),i.push("#else"),i.push("precision mediump float;"),i.push("precision mediump int;"),i.push("#endif"),i.push("in vec4 vColor;"),t.logarithmicDepthBufferEnabled&&(i.push("in float isPerspective;"),i.push("uniform float logDepthBufFC;"),i.push("in float vFragDepth;"));if(n){i.push("uniform bool clippable;"),i.push("in vec4 vWorldPosition;");for(let e=0;e 0.0) { discard; }"),i.push("}")}t.logarithmicDepthBufferEnabled&&i.push("gl_FragDepth = isPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5;");return i.push(" outColor = vColor;"),i.push("}"),i}(e)}}const gs=h.vec3(),Es=function(e,t){this._hash=e,this._scene=t.scene,this._useCount=0,this._shaderSource=new ws(t),this._allocate(t)},Ts={};Es.get=function(e){const t=[e.scene.canvas.canvas.id,e.scene._sectionPlanesState.getHash(),e._geometry._state.compressGeometry?"cp":"",e._state.hash].join(";");let s=Ts[t];if(!s){if(s=new Es(t,e),s.errors)return console.log(s.errors.join("\n")),null;Ts[t]=s,d.memory.programs++}return s._useCount++,s},Es.prototype.put=function(){0==--this._useCount&&(this._program&&this._program.destroy(),delete Ts[this._hash],d.memory.programs--)},Es.prototype.webglContextRestored=function(){this._program=null},Es.prototype.drawMesh=function(e,t){this._program||this._allocate(t);const s=this._scene,n=s.canvas.gl,i=t._state,a=t._material._state,r=t._geometry,l=t._geometry._state,o=t.origin,c=a.backfaces,u=a.frontface,h=s.camera.project,p=r._getPickTrianglePositions(),A=r._getPickTriangleColors();if(this._program.bind(),e.useProgram++,s.logarithmicDepthBufferEnabled){const e=2/(Math.log(h.far+1)/Math.LN2);n.uniform1f(this._uLogDepthBufFC,e)}if(n.uniformMatrix4fv(this._uViewMatrix,!1,o?e.getRTCPickViewMatrix(i.originHash,o):e.pickViewMatrix),i.clippable){const e=s._sectionPlanesState.getNumAllocatedSectionPlanes(),i=s._sectionPlanesState.sectionPlanes.length;if(e>0){const a=s._sectionPlanesState.sectionPlanes,r=t.renderFlags;for(let t=0;t0,n=!!e._geometry._state.compressGeometry,i=e._state.billboard,a=e._state.stationary,r=[];r.push("#version 300 es"),r.push("// Mesh occlusion vertex shader"),r.push("in vec3 position;"),r.push("uniform mat4 modelMatrix;"),r.push("uniform mat4 viewMatrix;"),r.push("uniform mat4 projMatrix;"),r.push("uniform vec3 offset;"),n&&r.push("uniform mat4 positionsDecodeMatrix;");s&&r.push("out vec4 vWorldPosition;");t.logarithmicDepthBufferEnabled&&(r.push("uniform float logDepthBufFC;"),r.push("out float vFragDepth;"),r.push("bool isPerspectiveMatrix(mat4 m) {"),r.push(" return (m[2][3] == - 1.0);"),r.push("}"),r.push("out float isPerspective;"));"spherical"!==i&&"cylindrical"!==i||(r.push("void billboard(inout mat4 mat) {"),r.push(" mat[0][0] = 1.0;"),r.push(" mat[0][1] = 0.0;"),r.push(" mat[0][2] = 0.0;"),"spherical"===i&&(r.push(" mat[1][0] = 0.0;"),r.push(" mat[1][1] = 1.0;"),r.push(" mat[1][2] = 0.0;")),r.push(" mat[2][0] = 0.0;"),r.push(" mat[2][1] = 0.0;"),r.push(" mat[2][2] =1.0;"),r.push("}"));r.push("void main(void) {"),r.push("vec4 localPosition = vec4(position, 1.0); "),r.push("vec4 worldPosition;"),n&&r.push("localPosition = positionsDecodeMatrix * localPosition;");r.push("mat4 viewMatrix2 = viewMatrix;"),r.push("mat4 modelMatrix2 = modelMatrix;"),a&&r.push("viewMatrix2[3][0] = viewMatrix2[3][1] = viewMatrix2[3][2] = 0.0;");"spherical"===i||"cylindrical"===i?(r.push("mat4 modelViewMatrix = viewMatrix2 * modelMatrix2;"),r.push("billboard(modelMatrix2);"),r.push("billboard(viewMatrix2);"),r.push("billboard(modelViewMatrix);"),r.push("worldPosition = modelMatrix2 * localPosition;"),r.push("worldPosition.xyz = worldPosition.xyz + offset;"),r.push("vec4 viewPosition = modelViewMatrix * localPosition;")):(r.push("worldPosition = modelMatrix2 * localPosition;"),r.push("worldPosition.xyz = worldPosition.xyz + offset;"),r.push("vec4 viewPosition = viewMatrix2 * worldPosition; "));s&&r.push(" vWorldPosition = worldPosition;");r.push("vec4 clipPos = projMatrix * viewPosition;"),t.logarithmicDepthBufferEnabled&&(r.push("vFragDepth = 1.0 + clipPos.w;"),r.push("isPerspective = float (isPerspectiveMatrix(projMatrix));"));return r.push("gl_Position = clipPos;"),r.push("}"),r}(e),this.fragment=function(e){const t=e.scene,s=t._sectionPlanesState,n=s.getNumAllocatedSectionPlanes()>0,i=[];i.push("#version 300 es"),i.push("// Mesh occlusion fragment shader"),i.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),i.push("precision highp float;"),i.push("precision highp int;"),i.push("#else"),i.push("precision mediump float;"),i.push("precision mediump int;"),i.push("#endif"),t.logarithmicDepthBufferEnabled&&(i.push("in float isPerspective;"),i.push("uniform float logDepthBufFC;"),i.push("in float vFragDepth;"));if(n){i.push("uniform bool clippable;"),i.push("in vec4 vWorldPosition;");for(var a=0;a 0.0) { discard; }"),i.push("}")}i.push(" outColor = vec4(0.0, 0.0, 1.0, 1.0); "),t.logarithmicDepthBufferEnabled&&i.push("gl_FragDepth = isPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5;");return i.push("}"),i}(e)}}const Ds=h.vec3(),Ps=function(e,t){this._hash=e,this._shaderSource=new bs(t),this._scene=t.scene,this._useCount=0,this._allocate(t)},Rs={};Ps.get=function(e){const t=[e.scene.canvas.canvas.id,e.scene._sectionPlanesState.getHash(),e._geometry._state.hash,e._state.occlusionHash].join(";");let s=Rs[t];if(!s){if(s=new Ps(t,e),s.errors)return console.log(s.errors.join("\n")),null;Rs[t]=s,d.memory.programs++}return s._useCount++,s},Ps.prototype.put=function(){0==--this._useCount&&(this._program&&this._program.destroy(),delete Rs[this._hash],d.memory.programs--)},Ps.prototype.webglContextRestored=function(){this._program=null},Ps.prototype.drawMesh=function(e,t){this._program||this._allocate(t);const s=this._scene,n=s.canvas.gl,i=t._material._state,a=t._state,r=t._geometry._state,l=t.origin;if(e.lastProgramId!==this._program.id&&(e.lastProgramId=this._program.id,this._bindProgram(e)),i.id!==this._lastMaterialId){const t=i.backfaces;e.backfaces!==t&&(t?n.disable(n.CULL_FACE):n.enable(n.CULL_FACE),e.backfaces=t);const s=i.frontface;e.frontface!==s&&(s?n.frontFace(n.CCW):n.frontFace(n.CW),e.frontface=s),this._lastMaterialId=i.id}const o=s.camera;if(n.uniformMatrix4fv(this._uViewMatrix,!1,l?e.getRTCViewMatrix(a.originHash,l):o.viewMatrix),a.clippable){const e=s._sectionPlanesState.getNumAllocatedSectionPlanes(),i=s._sectionPlanesState.sectionPlanes.length;if(e>0){const a=s._sectionPlanesState.sectionPlanes,r=t.renderFlags;for(let t=0;t0,s=!!e._geometry._state.compressGeometry,n=[];n.push("// Mesh shadow vertex shader"),n.push("in vec3 position;"),n.push("uniform mat4 modelMatrix;"),n.push("uniform mat4 shadowViewMatrix;"),n.push("uniform mat4 shadowProjMatrix;"),n.push("uniform vec3 offset;"),s&&n.push("uniform mat4 positionsDecodeMatrix;");t&&n.push("out vec4 vWorldPosition;");n.push("void main(void) {"),n.push("vec4 localPosition = vec4(position, 1.0); "),n.push("vec4 worldPosition;"),s&&n.push("localPosition = positionsDecodeMatrix * localPosition;");n.push("worldPosition = modelMatrix * localPosition;"),n.push("worldPosition.xyz = worldPosition.xyz + offset;"),n.push("vec4 viewPosition = shadowViewMatrix * worldPosition; "),t&&n.push("vWorldPosition = worldPosition;");return n.push(" gl_Position = shadowProjMatrix * viewPosition;"),n.push("}"),n}(e),this.fragment=function(e){const t=e.scene;t.canvas.gl;const s=t._sectionPlanesState,n=s.getNumAllocatedSectionPlanes()>0,i=[];if(i.push("// Mesh shadow fragment shader"),i.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),i.push("precision highp float;"),i.push("precision highp int;"),i.push("#else"),i.push("precision mediump float;"),i.push("precision mediump int;"),i.push("#endif"),n){i.push("uniform bool clippable;"),i.push("in vec4 vWorldPosition;");for(var a=0;a 0.0) { discard; }"),i.push("}")}return i.push("outColor = encodeFloat(gl_FragCoord.z);"),i.push("}"),i}(e)}}const _s=function(e,t){this._hash=e,this._shaderSource=new Cs(t),this._scene=t.scene,this._useCount=0,this._allocate(t)},Bs={};_s.get=function(e){const t=e.scene,s=[t.canvas.canvas.id,t._sectionPlanesState.getHash(),e._geometry._state.hash,e._state.hash].join(";");let n=Bs[s];if(!n){if(n=new _s(s,e),n.errors)return console.log(n.errors.join("\n")),null;Bs[s]=n,d.memory.programs++}return n._useCount++,n},_s.prototype.put=function(){0==--this._useCount&&(this._program&&this._program.destroy(),delete Bs[this._hash],d.memory.programs--)},_s.prototype.webglContextRestored=function(){this._program=null},_s.prototype.drawMesh=function(e,t){this._program||this._allocate(t);const s=this._scene.canvas.gl,n=t._material._state,i=t._geometry._state;if(e.lastProgramId!==this._program.id&&(e.lastProgramId=this._program.id,this._bindProgram(e)),n.id!==this._lastMaterialId){const t=n.backfaces;e.backfaces!==t&&(t?s.disable(s.CULL_FACE):s.enable(s.CULL_FACE),e.backfaces=t);const i=n.frontface;e.frontface!==i&&(i?s.frontFace(s.CCW):s.frontFace(s.CW),e.frontface=i),e.lineWidth!==n.lineWidth&&(s.lineWidth(n.lineWidth),e.lineWidth=n.lineWidth),this._uPointSize&&s.uniform1i(this._uPointSize,n.pointSize),this._lastMaterialId=n.id}if(s.uniformMatrix4fv(this._uModelMatrix,s.FALSE,t.worldMatrix),i.combineGeometry){const n=t.vertexBufs;n.id!==this._lastVertexBufsId&&(n.positionsBuf&&this._aPosition&&(this._aPosition.bindArrayBuffer(n.positionsBuf,n.compressGeometry?s.UNSIGNED_SHORT:s.FLOAT),e.bindArray++),this._lastVertexBufsId=n.id)}this._uClippable&&s.uniform1i(this._uClippable,t._state.clippable),s.uniform3fv(this._uOffset,t._state.offset),i.id!==this._lastGeometryId&&(this._uPositionsDecodeMatrix&&s.uniformMatrix4fv(this._uPositionsDecodeMatrix,!1,i.positionsDecodeMatrix),i.combineGeometry?i.indicesBufCombined&&(i.indicesBufCombined.bind(),e.bindArray++):(this._aPosition&&(this._aPosition.bindArrayBuffer(i.positionsBuf,i.compressGeometry?s.UNSIGNED_SHORT:s.FLOAT),e.bindArray++),i.indicesBuf&&(i.indicesBuf.bind(),e.bindArray++)),this._lastGeometryId=i.id),i.combineGeometry?i.indicesBufCombined&&(s.drawElements(i.primitive,i.indicesBufCombined.numItems,i.indicesBufCombined.itemType,0),e.drawElements++):i.indicesBuf?(s.drawElements(i.primitive,i.indicesBuf.numItems,i.indicesBuf.itemType,0),e.drawElements++):i.positions&&(s.drawArrays(s.TRIANGLES,0,i.positions.numItems),e.drawArrays++)},_s.prototype._allocate=function(e){const t=e.scene,s=t.canvas.gl;if(this._program=new Be(s,this._shaderSource),this._scene=t,this._useCount=0,this._program.errors)return void(this.errors=this._program.errors);const n=this._program;this._uPositionsDecodeMatrix=n.getLocation("positionsDecodeMatrix"),this._uModelMatrix=n.getLocation("modelMatrix"),this._uShadowViewMatrix=n.getLocation("shadowViewMatrix"),this._uShadowProjMatrix=n.getLocation("shadowProjMatrix"),this._uSectionPlanes={};for(let e=0,s=t._sectionPlanesState.sectionPlanes.length;e0){let e,t,i,a,r;for(let l=0,o=this._uSectionPlanes.length;l0)for(let s=0;s0!==e))&&this.scene._objectOffsetUpdated(this,!1)),this._isModel&&this.scene._deregisterModel(this),this.glRedraw()}}const ks=function(){const e=h.vec3(),t=h.vec3(),s=h.vec3(),n=h.vec3(),i=h.vec3(),a=h.vec3(),r=h.vec4(),l=h.vec3(),o=h.vec3(),c=h.vec3(),u=h.vec3(),p=h.vec3(),A=h.vec3(),d=h.vec3(),f=h.vec3(),I=h.vec3(),y=h.vec4(),m=h.vec4(),v=h.vec4(),w=h.vec3(),g=h.vec3(),E=h.vec3(),T=h.vec3(),b=h.vec3(),D=h.vec3(),P=h.vec3(),R=h.vec3(),C=h.vec3(),_=h.vec3(),B=h.vec3();return function(O,S,N,x){var L=x.primIndex;if(null!=L&&L>-1){const U=O.geometry._state,j=O.scene,V=j.camera,k=j.canvas;if("triangles"===U.primitiveName){x.primitive="triangle";const j=L,Q=U.indices,W=U.positions;let z,K,Y;if(Q){var M=Q[j+0],F=Q[j+1],H=Q[j+2];a[0]=M,a[1]=F,a[2]=H,x.indices=a,z=3*M,K=3*F,Y=3*H}else z=3*j,K=z+3,Y=K+3;if(s[0]=W[z+0],s[1]=W[z+1],s[2]=W[z+2],n[0]=W[K+0],n[1]=W[K+1],n[2]=W[K+2],i[0]=W[Y+0],i[1]=W[Y+1],i[2]=W[Y+2],U.compressGeometry){const e=U.positionsDecodeMatrix;e&&(Bt.decompressPosition(s,e,s),Bt.decompressPosition(n,e,n),Bt.decompressPosition(i,e,i))}x.canvasPos?h.canvasPosToLocalRay(k.canvas,O.origin?G(S,O.origin):S,N,O.worldMatrix,x.canvasPos,e,t):x.origin&&x.direction&&h.worldRayToLocalRay(O.worldMatrix,x.origin,x.direction,e,t),h.normalizeVec3(t),h.rayPlaneIntersect(e,t,s,n,i,r),x.localPos=r,x.position=r,y[0]=r[0],y[1]=r[1],y[2]=r[2],y[3]=1,h.transformVec4(O.worldMatrix,y,m),l[0]=m[0],l[1]=m[1],l[2]=m[2],x.canvasPos&&O.origin&&(l[0]+=O.origin[0],l[1]+=O.origin[1],l[2]+=O.origin[2]),x.worldPos=l,h.transformVec4(V.matrix,m,v),o[0]=v[0],o[1]=v[1],o[2]=v[2],x.viewPos=o,h.cartesianToBarycentric(r,s,n,i,c),x.bary=c;const X=U.normals;if(X){if(U.compressGeometry){const e=3*M,t=3*F,s=3*H;Bt.decompressNormal(X.subarray(e,e+2),u),Bt.decompressNormal(X.subarray(t,t+2),p),Bt.decompressNormal(X.subarray(s,s+2),A)}else u[0]=X[z],u[1]=X[z+1],u[2]=X[z+2],p[0]=X[K],p[1]=X[K+1],p[2]=X[K+2],A[0]=X[Y],A[1]=X[Y+1],A[2]=X[Y+2];const e=h.addVec3(h.addVec3(h.mulVec3Scalar(u,c[0],w),h.mulVec3Scalar(p,c[1],g),E),h.mulVec3Scalar(A,c[2],T),b);x.worldNormal=h.normalizeVec3(h.transformVec3(O.worldNormalMatrix,e,D))}const q=U.uv;if(q){if(d[0]=q[2*M],d[1]=q[2*M+1],f[0]=q[2*F],f[1]=q[2*F+1],I[0]=q[2*H],I[1]=q[2*H+1],U.compressGeometry){const e=U.uvDecodeMatrix;e&&(Bt.decompressUV(d,e,d),Bt.decompressUV(f,e,f),Bt.decompressUV(I,e,I))}x.uv=h.addVec3(h.addVec3(h.mulVec2Scalar(d,c[0],P),h.mulVec2Scalar(f,c[1],R),C),h.mulVec2Scalar(I,c[2],_),B)}}}}}();function Qs(e={}){let t=e.radiusTop||1;t<0&&(console.error("negative radiusTop not allowed - will invert"),t*=-1);let s=e.radiusBottom||1;s<0&&(console.error("negative radiusBottom not allowed - will invert"),s*=-1);let n=e.height||1;n<0&&(console.error("negative height not allowed - will invert"),n*=-1);let i=e.radialSegments||32;i<0&&(console.error("negative radialSegments not allowed - will invert"),i*=-1),i<3&&(i=3);let a=e.heightSegments||1;a<0&&(console.error("negative heightSegments not allowed - will invert"),a*=-1),a<1&&(a=1);const r=!!e.openEnded;let l=e.center;const o=l?l[0]:0,c=l?l[1]:0,u=l?l[2]:0,h=n/2,p=n/a,A=2*Math.PI/i,d=1/i,f=(t-s)/a,I=[],y=[],v=[],w=[];let g,E,T,b,D,P,R,C,_,B,O;const S=(90-180*Math.atan(n/(s-t))/Math.PI)/90;for(g=0;g<=a;g++)for(D=t-g*f,P=h-g*p,E=0;E<=i;E++)T=Math.sin(E*A),b=Math.cos(E*A),y.push(D*T),y.push(S),y.push(D*b),v.push(E*d),v.push(1*g/a),I.push(D*T+o),I.push(P+c),I.push(D*b+u);for(g=0;g0){for(_=I.length/3,y.push(0),y.push(1),y.push(0),v.push(.5),v.push(.5),I.push(0+o),I.push(h+c),I.push(0+u),E=0;E<=i;E++)T=Math.sin(E*A),b=Math.cos(E*A),B=.5*Math.sin(E*A)+.5,O=.5*Math.cos(E*A)+.5,y.push(t*T),y.push(1),y.push(t*b),v.push(B),v.push(O),I.push(t*T+o),I.push(h+c),I.push(t*b+u);for(E=0;E0){for(_=I.length/3,y.push(0),y.push(-1),y.push(0),v.push(.5),v.push(.5),I.push(0+o),I.push(0-h+c),I.push(0+u),E=0;E<=i;E++)T=Math.sin(E*A),b=Math.cos(E*A),B=.5*Math.sin(E*A)+.5,O=.5*Math.cos(E*A)+.5,y.push(s*T),y.push(-1),y.push(s*b),v.push(B),v.push(O),I.push(s*T+o),I.push(0-h+c),I.push(s*b+u);for(E=0;E":{width:24,points:[[4,18],[20,9],[4,0]]},"?":{width:18,points:[[3,16],[3,17],[4,19],[5,20],[7,21],[11,21],[13,20],[14,19],[15,17],[15,15],[14,13],[13,12],[9,10],[9,7],[-1,-1],[9,2],[8,1],[9,0],[10,1],[9,2]]},"@":{width:27,points:[[18,13],[17,15],[15,16],[12,16],[10,15],[9,14],[8,11],[8,8],[9,6],[11,5],[14,5],[16,6],[17,8],[-1,-1],[12,16],[10,14],[9,11],[9,8],[10,6],[11,5],[-1,-1],[18,16],[17,8],[17,6],[19,5],[21,5],[23,7],[24,10],[24,12],[23,15],[22,17],[20,19],[18,20],[15,21],[12,21],[9,20],[7,19],[5,17],[4,15],[3,12],[3,9],[4,6],[5,4],[7,2],[9,1],[12,0],[15,0],[18,1],[20,2],[21,3],[-1,-1],[19,16],[18,8],[18,6],[19,5]]},A:{width:18,points:[[9,21],[1,0],[-1,-1],[9,21],[17,0],[-1,-1],[4,7],[14,7]]},B:{width:21,points:[[4,21],[4,0],[-1,-1],[4,21],[13,21],[16,20],[17,19],[18,17],[18,15],[17,13],[16,12],[13,11],[-1,-1],[4,11],[13,11],[16,10],[17,9],[18,7],[18,4],[17,2],[16,1],[13,0],[4,0]]},C:{width:21,points:[[18,16],[17,18],[15,20],[13,21],[9,21],[7,20],[5,18],[4,16],[3,13],[3,8],[4,5],[5,3],[7,1],[9,0],[13,0],[15,1],[17,3],[18,5]]},D:{width:21,points:[[4,21],[4,0],[-1,-1],[4,21],[11,21],[14,20],[16,18],[17,16],[18,13],[18,8],[17,5],[16,3],[14,1],[11,0],[4,0]]},E:{width:19,points:[[4,21],[4,0],[-1,-1],[4,21],[17,21],[-1,-1],[4,11],[12,11],[-1,-1],[4,0],[17,0]]},F:{width:18,points:[[4,21],[4,0],[-1,-1],[4,21],[17,21],[-1,-1],[4,11],[12,11]]},G:{width:21,points:[[18,16],[17,18],[15,20],[13,21],[9,21],[7,20],[5,18],[4,16],[3,13],[3,8],[4,5],[5,3],[7,1],[9,0],[13,0],[15,1],[17,3],[18,5],[18,8],[-1,-1],[13,8],[18,8]]},H:{width:22,points:[[4,21],[4,0],[-1,-1],[18,21],[18,0],[-1,-1],[4,11],[18,11]]},I:{width:8,points:[[4,21],[4,0]]},J:{width:16,points:[[12,21],[12,5],[11,2],[10,1],[8,0],[6,0],[4,1],[3,2],[2,5],[2,7]]},K:{width:21,points:[[4,21],[4,0],[-1,-1],[18,21],[4,7],[-1,-1],[9,12],[18,0]]},L:{width:17,points:[[4,21],[4,0],[-1,-1],[4,0],[16,0]]},M:{width:24,points:[[4,21],[4,0],[-1,-1],[4,21],[12,0],[-1,-1],[20,21],[12,0],[-1,-1],[20,21],[20,0]]},N:{width:22,points:[[4,21],[4,0],[-1,-1],[4,21],[18,0],[-1,-1],[18,21],[18,0]]},O:{width:22,points:[[9,21],[7,20],[5,18],[4,16],[3,13],[3,8],[4,5],[5,3],[7,1],[9,0],[13,0],[15,1],[17,3],[18,5],[19,8],[19,13],[18,16],[17,18],[15,20],[13,21],[9,21]]},P:{width:21,points:[[4,21],[4,0],[-1,-1],[4,21],[13,21],[16,20],[17,19],[18,17],[18,14],[17,12],[16,11],[13,10],[4,10]]},Q:{width:22,points:[[9,21],[7,20],[5,18],[4,16],[3,13],[3,8],[4,5],[5,3],[7,1],[9,0],[13,0],[15,1],[17,3],[18,5],[19,8],[19,13],[18,16],[17,18],[15,20],[13,21],[9,21],[-1,-1],[12,4],[18,-2]]},R:{width:21,points:[[4,21],[4,0],[-1,-1],[4,21],[13,21],[16,20],[17,19],[18,17],[18,15],[17,13],[16,12],[13,11],[4,11],[-1,-1],[11,11],[18,0]]},S:{width:20,points:[[17,18],[15,20],[12,21],[8,21],[5,20],[3,18],[3,16],[4,14],[5,13],[7,12],[13,10],[15,9],[16,8],[17,6],[17,3],[15,1],[12,0],[8,0],[5,1],[3,3]]},T:{width:16,points:[[8,21],[8,0],[-1,-1],[1,21],[15,21]]},U:{width:22,points:[[4,21],[4,6],[5,3],[7,1],[10,0],[12,0],[15,1],[17,3],[18,6],[18,21]]},V:{width:18,points:[[1,21],[9,0],[-1,-1],[17,21],[9,0]]},W:{width:24,points:[[2,21],[7,0],[-1,-1],[12,21],[7,0],[-1,-1],[12,21],[17,0],[-1,-1],[22,21],[17,0]]},X:{width:20,points:[[3,21],[17,0],[-1,-1],[17,21],[3,0]]},Y:{width:18,points:[[1,21],[9,11],[9,0],[-1,-1],[17,21],[9,11]]},Z:{width:20,points:[[17,21],[3,0],[-1,-1],[3,21],[17,21],[-1,-1],[3,0],[17,0]]},"[":{width:14,points:[[4,25],[4,-7],[-1,-1],[5,25],[5,-7],[-1,-1],[4,25],[11,25],[-1,-1],[4,-7],[11,-7]]},"\\":{width:14,points:[[0,21],[14,-3]]},"]":{width:14,points:[[9,25],[9,-7],[-1,-1],[10,25],[10,-7],[-1,-1],[3,25],[10,25],[-1,-1],[3,-7],[10,-7]]},"^":{width:16,points:[[6,15],[8,18],[10,15],[-1,-1],[3,12],[8,17],[13,12],[-1,-1],[8,17],[8,0]]},_:{width:16,points:[[0,-2],[16,-2]]},"`":{width:10,points:[[6,21],[5,20],[4,18],[4,16],[5,15],[6,16],[5,17]]},a:{width:19,points:[[15,14],[15,0],[-1,-1],[15,11],[13,13],[11,14],[8,14],[6,13],[4,11],[3,8],[3,6],[4,3],[6,1],[8,0],[11,0],[13,1],[15,3]]},b:{width:19,points:[[4,21],[4,0],[-1,-1],[4,11],[6,13],[8,14],[11,14],[13,13],[15,11],[16,8],[16,6],[15,3],[13,1],[11,0],[8,0],[6,1],[4,3]]},c:{width:18,points:[[15,11],[13,13],[11,14],[8,14],[6,13],[4,11],[3,8],[3,6],[4,3],[6,1],[8,0],[11,0],[13,1],[15,3]]},d:{width:19,points:[[15,21],[15,0],[-1,-1],[15,11],[13,13],[11,14],[8,14],[6,13],[4,11],[3,8],[3,6],[4,3],[6,1],[8,0],[11,0],[13,1],[15,3]]},e:{width:18,points:[[3,8],[15,8],[15,10],[14,12],[13,13],[11,14],[8,14],[6,13],[4,11],[3,8],[3,6],[4,3],[6,1],[8,0],[11,0],[13,1],[15,3]]},f:{width:12,points:[[10,21],[8,21],[6,20],[5,17],[5,0],[-1,-1],[2,14],[9,14]]},g:{width:19,points:[[15,14],[15,-2],[14,-5],[13,-6],[11,-7],[8,-7],[6,-6],[-1,-1],[15,11],[13,13],[11,14],[8,14],[6,13],[4,11],[3,8],[3,6],[4,3],[6,1],[8,0],[11,0],[13,1],[15,3]]},h:{width:19,points:[[4,21],[4,0],[-1,-1],[4,10],[7,13],[9,14],[12,14],[14,13],[15,10],[15,0]]},i:{width:8,points:[[3,21],[4,20],[5,21],[4,22],[3,21],[-1,-1],[4,14],[4,0]]},j:{width:10,points:[[5,21],[6,20],[7,21],[6,22],[5,21],[-1,-1],[6,14],[6,-3],[5,-6],[3,-7],[1,-7]]},k:{width:17,points:[[4,21],[4,0],[-1,-1],[14,14],[4,4],[-1,-1],[8,8],[15,0]]},l:{width:8,points:[[4,21],[4,0]]},m:{width:30,points:[[4,14],[4,0],[-1,-1],[4,10],[7,13],[9,14],[12,14],[14,13],[15,10],[15,0],[-1,-1],[15,10],[18,13],[20,14],[23,14],[25,13],[26,10],[26,0]]},n:{width:19,points:[[4,14],[4,0],[-1,-1],[4,10],[7,13],[9,14],[12,14],[14,13],[15,10],[15,0]]},o:{width:19,points:[[8,14],[6,13],[4,11],[3,8],[3,6],[4,3],[6,1],[8,0],[11,0],[13,1],[15,3],[16,6],[16,8],[15,11],[13,13],[11,14],[8,14]]},p:{width:19,points:[[4,14],[4,-7],[-1,-1],[4,11],[6,13],[8,14],[11,14],[13,13],[15,11],[16,8],[16,6],[15,3],[13,1],[11,0],[8,0],[6,1],[4,3]]},q:{width:19,points:[[15,14],[15,-7],[-1,-1],[15,11],[13,13],[11,14],[8,14],[6,13],[4,11],[3,8],[3,6],[4,3],[6,1],[8,0],[11,0],[13,1],[15,3]]},r:{width:13,points:[[4,14],[4,0],[-1,-1],[4,8],[5,11],[7,13],[9,14],[12,14]]},s:{width:17,points:[[14,11],[13,13],[10,14],[7,14],[4,13],[3,11],[4,9],[6,8],[11,7],[13,6],[14,4],[14,3],[13,1],[10,0],[7,0],[4,1],[3,3]]},t:{width:12,points:[[5,21],[5,4],[6,1],[8,0],[10,0],[-1,-1],[2,14],[9,14]]},u:{width:19,points:[[4,14],[4,4],[5,1],[7,0],[10,0],[12,1],[15,4],[-1,-1],[15,14],[15,0]]},v:{width:16,points:[[2,14],[8,0],[-1,-1],[14,14],[8,0]]},w:{width:22,points:[[3,14],[7,0],[-1,-1],[11,14],[7,0],[-1,-1],[11,14],[15,0],[-1,-1],[19,14],[15,0]]},x:{width:17,points:[[3,14],[14,0],[-1,-1],[14,14],[3,0]]},y:{width:16,points:[[2,14],[8,0],[-1,-1],[14,14],[8,0],[6,-4],[4,-6],[2,-7],[1,-7]]},z:{width:17,points:[[14,14],[3,0],[-1,-1],[3,14],[14,14],[-1,-1],[3,0],[14,0]]},"{":{width:14,points:[[9,25],[7,24],[6,23],[5,21],[5,19],[6,17],[7,16],[8,14],[8,12],[6,10],[-1,-1],[7,24],[6,22],[6,20],[7,18],[8,17],[9,15],[9,13],[8,11],[4,9],[8,7],[9,5],[9,3],[8,1],[7,0],[6,-2],[6,-4],[7,-6],[-1,-1],[6,8],[8,6],[8,4],[7,2],[6,1],[5,-1],[5,-3],[6,-5],[7,-6],[9,-7]]},"|":{width:8,points:[[4,25],[4,-7]]},"}":{width:14,points:[[5,25],[7,24],[8,23],[9,21],[9,19],[8,17],[7,16],[6,14],[6,12],[8,10],[-1,-1],[7,24],[8,22],[8,20],[7,18],[6,17],[5,15],[5,13],[6,11],[10,9],[6,7],[5,5],[5,3],[6,1],[7,0],[8,-2],[8,-4],[7,-6],[-1,-1],[8,8],[6,6],[6,4],[7,2],[8,1],[9,-1],[9,-3],[8,-5],[7,-6],[5,-7]]},"~":{width:24,points:[[3,6],[3,8],[4,11],[6,12],[8,12],[10,11],[14,8],[16,7],[18,7],[20,8],[21,10],[-1,-1],[3,8],[4,10],[6,11],[8,11],[10,10],[14,7],[16,6],[18,6],[20,7],[21,10],[21,12]]}};function Ks(e={}){var t=e.origin||[0,0,0],s=t[0],n=t[1],i=t[2],a=e.size||1,r=[],l=[],o=e.text;m.isNumeric(o)&&(o=""+o);for(var c,u,h,p,A,d,f,I,y,v=(o||"").split("\n"),w=0,g=0,E=.04,T=0;T0!==e))&&this.scene._objectOffsetUpdated(this,!1)),this._isModel&&this.scene._deregisterModel(this),this._children.length){const e=this._children.splice();let t;for(let s=0,n=e.length;s1;s.pixelStorei(s.UNPACK_FLIP_Y_WEBGL,this.flipY),s.pixelStorei(s.UNPACK_PREMULTIPLY_ALPHA_WEBGL,this.premultiplyAlpha),s.pixelStorei(s.UNPACK_ALIGNMENT,this.unpackAlignment),s.pixelStorei(s.UNPACK_COLORSPACE_CONVERSION_WEBGL,s.NONE);const a=An(s,this.wrapS);a&&s.texParameteri(this.target,s.TEXTURE_WRAP_S,a);const r=An(s,this.wrapT);if(r&&s.texParameteri(this.target,s.TEXTURE_WRAP_T,r),this.type===s.TEXTURE_3D||this.type===s.TEXTURE_2D_ARRAY){const e=An(s,this.wrapR);e&&s.texParameteri(this.target,s.TEXTURE_WRAP_R,e),s.texParameteri(this.type,s.TEXTURE_WRAP_R,e)}i?(s.texParameteri(this.target,s.TEXTURE_MIN_FILTER,yn(s,this.minFilter)),s.texParameteri(this.target,s.TEXTURE_MAG_FILTER,yn(s,this.magFilter))):(s.texParameteri(this.target,s.TEXTURE_MIN_FILTER,An(s,this.minFilter)),s.texParameteri(this.target,s.TEXTURE_MAG_FILTER,An(s,this.magFilter)));const l=An(s,this.format,this.encoding),o=An(s,this.type),c=In(s,this.internalFormat,l,o,this.encoding,!1);s.texStorage2D(s.TEXTURE_2D,n,c,e[0].width,e[0].height);for(let t=0,n=e.length;t>t;return e+1}class gn extends _{get type(){return"Texture"}constructor(e,t={}){super(e,t),this._state=new Je({texture:new fn({gl:this.scene.canvas.gl}),matrix:h.identityMat4(),hasMatrix:t.translate&&(0!==t.translate[0]||0!==t.translate[1])||!!t.rotate||t.scale&&(0!==t.scale[0]||0!==t.scale[1]),minFilter:this._checkMinFilter(t.minFilter),magFilter:this._checkMagFilter(t.magFilter),wrapS:this._checkWrapS(t.wrapS),wrapT:this._checkWrapT(t.wrapT),flipY:this._checkFlipY(t.flipY),encoding:this._checkEncoding(t.encoding)}),this._src=null,this._image=null,this._translate=h.vec2([0,0]),this._scale=h.vec2([1,1]),this._rotate=h.vec2([0,0]),this._matrixDirty=!1,this.translate=t.translate,this.scale=t.scale,this.rotate=t.rotate,t.src?this.src=t.src:t.image&&(this.image=t.image),d.memory.textures++}_checkMinFilter(e){return 1006!==(e=e||1008)&&1007!==e&&1008!==e&&1005!==e&&1004!==e&&(this.error("Unsupported value for 'minFilter' - supported values are LinearFilter, LinearMipMapNearestFilter, NearestMipMapNearestFilter, NearestMipMapLinearFilter and LinearMipMapLinearFilter. Defaulting to LinearMipMapLinearFilter."),e=1008),e}_checkMagFilter(e){return 1006!==(e=e||1006)&&1003!==e&&(this.error("Unsupported value for 'magFilter' - supported values are LinearFilter and NearestFilter. Defaulting to LinearFilter."),e=1006),e}_checkWrapS(e){return 1001!==(e=e||1e3)&&1002!==e&&1e3!==e&&(this.error("Unsupported value for 'wrapS' - supported values are ClampToEdgeWrapping, MirroredRepeatWrapping and RepeatWrapping. Defaulting to RepeatWrapping."),e=1e3),e}_checkWrapT(e){return 1001!==(e=e||1e3)&&1002!==e&&1e3!==e&&(this.error("Unsupported value for 'wrapT' - supported values are ClampToEdgeWrapping, MirroredRepeatWrapping and RepeatWrapping. Defaulting to RepeatWrapping."),e=1e3),e}_checkFlipY(e){return!!e}_checkEncoding(e){return 3e3!==(e=e||3e3)&&3001!==e&&(this.error("Unsupported value for 'encoding' - supported values are LinearEncoding and sRGBEncoding. Defaulting to LinearEncoding."),e=3e3),e}_webglContextRestored(){this._state.texture=new fn({gl:this.scene.canvas.gl}),this._image?this.image=this._image:this._src&&(this.src=this._src)}_update(){const e=this._state;if(this._matrixDirty){let t,s;0===this._translate[0]&&0===this._translate[1]||(t=h.translationMat4v([this._translate[0],this._translate[1],0],this._state.matrix)),1===this._scale[0]&&1===this._scale[1]||(s=h.scalingMat4v([this._scale[0],this._scale[1],1]),t=t?h.mulMat4(t,s):s),0!==this._rotate&&(s=h.rotationMat4v(.0174532925*this._rotate,[0,0,1]),t=t?h.mulMat4(t,s):s),t&&(e.matrix=t),this._matrixDirty=!1}this.glRedraw()}set image(e){this._image=mn(e),this._image.crossOrigin="Anonymous",this._state.texture.setImage(this._image,this._state),this._src=null,this.glRedraw()}get image(){return this._image}set src(e){this.scene.loading++,this.scene.canvas.spinner.processes++;const t=this;let s=new Image;s.onload=function(){s=mn(s),t._state.texture.setImage(s,t._state),t.scene.loading--,t.glRedraw(),t.scene.canvas.spinner.processes--},s.src=e,this._src=e,this._image=null}get src(){return this._src}set translate(e){this._translate.set(e||[0,0]),this._matrixDirty=!0,this._needUpdate()}get translate(){return this._translate}set scale(e){this._scale.set(e||[1,1]),this._matrixDirty=!0,this._needUpdate()}get scale(){return this._scale}set rotate(e){e=e||0,this._rotate!==e&&(this._rotate=e,this._matrixDirty=!0,this._needUpdate())}get rotate(){return this._rotate}get minFilter(){return this._state.minFilter}get magFilter(){return this._state.magFilter}get wrapS(){return this._state.wrapS}get wrapT(){return this._state.wrapT}get flipY(){return this._state.flipY}get encoding(){return this._state.encoding}destroy(){super.destroy(),this._state.texture&&this._state.texture.destroy(),this._state.destroy(),d.memory.textures--}}const En=d.memory,Tn=h.AABB3();class bn extends Et{get type(){return"VBOGeometry"}get isVBOGeometry(){return!0}constructor(e,t={}){super(e,t),this._state=new Je({compressGeometry:!0,primitive:null,primitiveName:null,positionsDecodeMatrix:null,uvDecodeMatrix:null,positionsBuf:null,normalsBuf:null,colorsbuf:null,uvBuf:null,indicesBuf:null,hash:""}),this._numTriangles=0,this._edgeThreshold=t.edgeThreshold||10,this._aabb=null,this._obb=h.OBB3();const s=this._state,n=this.scene.canvas.gl;switch(t.primitive=t.primitive||"triangles",t.primitive){case"points":s.primitive=n.POINTS,s.primitiveName=t.primitive;break;case"lines":s.primitive=n.LINES,s.primitiveName=t.primitive;break;case"line-loop":s.primitive=n.LINE_LOOP,s.primitiveName=t.primitive;break;case"line-strip":s.primitive=n.LINE_STRIP,s.primitiveName=t.primitive;break;case"triangles":s.primitive=n.TRIANGLES,s.primitiveName=t.primitive;break;case"triangle-strip":s.primitive=n.TRIANGLE_STRIP,s.primitiveName=t.primitive;break;case"triangle-fan":s.primitive=n.TRIANGLE_FAN,s.primitiveName=t.primitive;break;default:this.error("Unsupported value for 'primitive': '"+t.primitive+"' - supported values are 'points', 'lines', 'line-loop', 'line-strip', 'triangles', 'triangle-strip' and 'triangle-fan'. Defaulting to 'triangles'."),s.primitive=n.TRIANGLES,s.primitiveName=t.primitive}if(t.positions)if(t.indices){var i;if(t.positionsDecodeMatrix);else{const e=Bt.getPositionsBounds(t.positions),a=Bt.compressPositions(t.positions,e.min,e.max);i=a.quantized,s.positionsDecodeMatrix=a.decodeMatrix,s.positionsBuf=new Oe(n,n.ARRAY_BUFFER,i,i.length,3,n.STATIC_DRAW),En.positions+=s.positionsBuf.numItems,h.positions3ToAABB3(t.positions,this._aabb),h.positions3ToAABB3(i,Tn,s.positionsDecodeMatrix),h.AABB3ToOBB3(Tn,this._obb)}if(t.colors){const e=t.colors.constructor===Float32Array?t.colors:new Float32Array(t.colors);s.colorsBuf=new Oe(n,n.ARRAY_BUFFER,e,e.length,4,n.STATIC_DRAW),En.colors+=s.colorsBuf.numItems}if(t.uv){const e=Bt.getUVBounds(t.uv),i=Bt.compressUVs(t.uv,e.min,e.max),a=i.quantized;s.uvDecodeMatrix=i.decodeMatrix,s.uvBuf=new Oe(n,n.ARRAY_BUFFER,a,a.length,2,n.STATIC_DRAW),En.uvs+=s.uvBuf.numItems}if(t.normals){const e=Bt.compressNormals(t.normals);let i=s.compressGeometry;s.normalsBuf=new Oe(n,n.ARRAY_BUFFER,e,e.length,3,n.STATIC_DRAW,i),En.normals+=s.normalsBuf.numItems}{const e=t.indices.constructor===Uint32Array||t.indices.constructor===Uint16Array?t.indices:new Uint32Array(t.indices);s.indicesBuf=new Oe(n,n.ELEMENT_ARRAY_BUFFER,e,e.length,1,n.STATIC_DRAW),En.indices+=s.indicesBuf.numItems;const a=Tt(i,e,s.positionsDecodeMatrix,this._edgeThreshold);this._edgeIndicesBuf=new Oe(n,n.ELEMENT_ARRAY_BUFFER,a,a.length,1,n.STATIC_DRAW),"triangles"===this._state.primitiveName&&(this._numTriangles=t.indices.length/3)}this._buildHash(),En.meshes++}else this.error("Config expected: indices");else this.error("Config expected: positions")}_buildHash(){const e=this._state,t=["/g"];t.push("/"+e.primitive+";"),e.positionsBuf&&t.push("p"),e.colorsBuf&&t.push("c"),(e.normalsBuf||e.autoVertexNormals)&&t.push("n"),e.uvBuf&&t.push("u"),t.push("cp"),t.push(";"),e.hash=t.join("")}_getEdgeIndices(){return this._edgeIndicesBuf}get primitive(){return this._state.primitiveName}get aabb(){return this._aabb}get obb(){return this._obb}get numTriangles(){return this._numTriangles}_getState(){return this._state}destroy(){super.destroy();const e=this._state;e.indicesBuf&&e.indicesBuf.destroy(),e.positionsBuf&&e.positionsBuf.destroy(),e.normalsBuf&&e.normalsBuf.destroy(),e.uvBuf&&e.uvBuf.destroy(),e.colorsBuf&&e.colorsBuf.destroy(),this._edgeIndicesBuf&&this._edgeIndicesBuf.destroy(),e.destroy(),En.meshes--}}var Dn={};function Pn(e={}){let t=e.size||1;t<0&&(console.error("negative size not allowed - will invert"),t*=-1);let s=e.divisions||1;s<0&&(console.error("negative divisions not allowed - will invert"),s*=-1),s<1&&(s=1),t=t||10,s=s||10;const n=t/s,i=t/2,a=[],r=[];let l=0;for(let e=0,t=-i;e<=s;e++,t+=n)a.push(-i),a.push(0),a.push(t),a.push(i),a.push(0),a.push(t),a.push(t),a.push(0),a.push(-i),a.push(t),a.push(0),a.push(i),r.push(l++),r.push(l++),r.push(l++),r.push(l++);return m.apply(e,{primitive:"lines",positions:a,indices:r})}function Rn(e={}){let t=e.xSize||1;t<0&&(console.error("negative xSize not allowed - will invert"),t*=-1);let s=e.zSize||1;s<0&&(console.error("negative zSize not allowed - will invert"),s*=-1);let n=e.xSegments||1;n<0&&(console.error("negative xSegments not allowed - will invert"),n*=-1),n<1&&(n=1);let i=e.xSegments||1;i<0&&(console.error("negative zSegments not allowed - will invert"),i*=-1),i<1&&(i=1);const a=e.center,r=a?a[0]:0,l=a?a[1]:0,o=a?a[2]:0,c=t/2,u=s/2,h=Math.floor(n)||1,p=Math.floor(i)||1,A=h+1,d=p+1,f=t/h,I=s/p,y=new Float32Array(A*d*3),v=new Float32Array(A*d*3),w=new Float32Array(A*d*2);let g,E,T,b,D,P,R,C=0,_=0;for(g=0;g65535?Uint32Array:Uint16Array)(h*p*6);for(g=0;g360&&(a=360);const r=e.center;let l=r?r[0]:0,o=r?r[1]:0;const c=r?r[2]:0,u=[],p=[],A=[],d=[];let f,I,y,v,w,g,E,T,b,D,P,R;for(T=0;T<=i;T++)for(E=0;E<=n;E++)f=E/n*a,I=.785398+T/i*Math.PI*2,l=t*Math.cos(f),o=t*Math.sin(f),y=(t+s*Math.cos(I))*Math.cos(f),v=(t+s*Math.cos(I))*Math.sin(f),w=s*Math.sin(I),u.push(y+l),u.push(v+o),u.push(w+c),A.push(1-E/n),A.push(T/i),g=h.normalizeVec3(h.subVec3([y,v,w],[l,o,c],[]),[]),p.push(g[0]),p.push(g[1]),p.push(g[2]);for(T=1;T<=i;T++)for(E=1;E<=n;E++)b=(n+1)*T+E-1,D=(n+1)*(T-1)+E-1,P=(n+1)*(T-1)+E,R=(n+1)*T+E,d.push(b),d.push(D),d.push(P),d.push(P),d.push(R),d.push(b);return m.apply(e,{positions:u,normals:p,uv:A,indices:d})}Dn.load=function(e,t){var s=new XMLHttpRequest;s.open("GET",e,!0),s.responseType="arraybuffer",s.onload=function(e){t(e.target.response)},s.send()},Dn.save=function(e,t){var s="data:application/octet-stream;base64,"+btoa(Dn.parse._buffToStr(e));window.location.href=s},Dn.clone=function(e){return JSON.parse(JSON.stringify(e))},Dn.bin={},Dn.bin.f=new Float32Array(1),Dn.bin.fb=new Uint8Array(Dn.bin.f.buffer),Dn.bin.rf=function(e,t){for(var s=Dn.bin.f,n=Dn.bin.fb,i=0;i<4;i++)n[i]=e[t+i];return s[0]},Dn.bin.rsl=function(e,t){return e[t]|e[t+1]<<8},Dn.bin.ril=function(e,t){return e[t]|e[t+1]<<8|e[t+2]<<16|e[t+3]<<24},Dn.bin.rASCII0=function(e,t){for(var s="";0!=e[t];)s+=String.fromCharCode(e[t++]);return s},Dn.bin.wf=function(e,t,s){new Float32Array(e.buffer,t,1)[0]=s},Dn.bin.wsl=function(e,t,s){e[t]=s,e[t+1]=s>>8},Dn.bin.wil=function(e,t,s){e[t]=s,e[t+1]=s>>8,e[t+2]=s>>16,e[t+3]},Dn.parse={},Dn.parse._buffToStr=function(e){for(var t=new Uint8Array(e),s="",n=0;ni&&(i=o),ca&&(a=c),ur&&(r=u)}return{min:{x:t,y:s,z:n},max:{x:i,y:a,z:r}}};class _n extends _{constructor(e,t={}){super(e,t),this._type=t.type||(t.src?t.src.split(".").pop():null)||"jpg",this._pos=h.vec3(t.pos||[0,0,0]),this._up=h.vec3(t.up||[0,1,0]),this._normal=h.vec3(t.normal||[0,0,1]),this._height=t.height||1,this._origin=h.vec3(),this._rtcPos=h.vec3(),this._imageSize=h.vec2(),this._texture=new gn(this,{flipY:!0}),this._image=new Image,"jpg"!==this._type&&"png"!==this._type&&(this.error('Unsupported type - defaulting to "jpg"'),this._type="jpg"),this._node=new an(this,{matrix:h.inverseMat4(h.lookAtMat4v(this._pos,h.subVec3(this._pos,this._normal,h.mat4()),this._up,h.mat4())),children:[this._bitmapMesh=new Vs(this,{scale:[1,1,1],rotation:[-90,0,0],collidable:t.collidable,pickable:t.pickable,opacity:t.opacity,clippable:t.clippable,geometry:new Nt(this,Rn({center:[0,0,0],xSize:1,zSize:1,xSegments:2,zSegments:2})),material:new Ht(this,{diffuse:[0,0,0],ambient:[0,0,0],specular:[0,0,0],diffuseMap:this._texture,emissiveMap:this._texture,backfaces:!0})})]}),t.image?this.image=t.image:t.src?this.src=t.src:t.imageData&&(this.imageData=t.imageData),this.scene._bitmapCreated(this)}set visible(e){this._bitmapMesh.visible=e}get visible(){return this._bitmapMesh.visible}set image(e){this._image=e,this._image&&(this._texture.image=this._image,this._imageSize[0]=this._image.width,this._imageSize[1]=this._image.height,this._updateBitmapMeshScale())}get image(){return this._image}set src(e){if(e){this._image.onload=()=>{this._texture.image=this._image,this._imageSize[0]=this._image.width,this._imageSize[1]=this._image.height,this._updateBitmapMeshScale()},this._image.src=e;switch(e.split(".").pop()){case"jpeg":case"jpg":this._type="jpg";break;case"png":this._type="png"}}}get src(){return this._image.src}set imageData(e){this._image.onload=()=>{this._texture.image=image,this._imageSize[0]=image.width,this._imageSize[1]=image.height,this._updateBitmapMeshScale()},this._image.src=e}get imageData(){const e=document.createElement("canvas"),t=e.getContext("2d");return e.width=this._image.width,e.height=this._image.height,t.drawImage(this._image,0,0),e.toDataURL("jpg"===this._type?"image/jpeg":"image/png")}set type(e){"png"===(e=e||"jpg")&&"jpg"===e||(this.error("Unsupported value for `type` - supported types are `jpg` and `png` - defaulting to `jpg`"),e="jpg"),this._type=e}get type(){return this._type}get pos(){return this._pos}get normal(){return this._normal}get up(){return this._up}set height(e){this._height=null==e?1:e,this._image&&this._updateBitmapMeshScale()}get height(){return this._height}set collidable(e){this._bitmapMesh.collidable=!1!==e}get collidable(){return this._bitmapMesh.collidable}set clippable(e){this._bitmapMesh.clippable=!1!==e}get clippable(){return this._bitmapMesh.clippable}set pickable(e){this._bitmapMesh.pickable=!1!==e}get pickable(){return this._bitmapMesh.pickable}set opacity(e){this._bitmapMesh.opacity=e}get opacity(){return this._bitmapMesh.opacity}destroy(){super.destroy(),this.scene._bitmapDestroyed(this)}_updateBitmapMeshScale(){const e=this._imageSize[1]/this._imageSize[0];this._bitmapMesh.scale=[this._height*e,1,this._height]}}class Bn extends _{constructor(e,t={}){super(e,t),this._positions=t.positions||[];const s=new Float32Array(this._positions.length),n=h.vec3(),i=V(this._positions,new Float32Array(this._positions.length),n,100);if(t.indices)this._indices=t.indices;else{this._indices=[];for(let e=0,t=this._positions.length/3-1;e{var i=e-s,a=t-n;return Math.sqrt(i*i+a*a)};class jn extends _{constructor(e,t={}){if(super(e.viewer.scene,t),this.plugin=e,this._container=t.container,!this._container)throw"config missing: container";this._eventSubs={};var s=this.plugin.viewer.scene;this._originMarker=new ie(s,t.origin),this._targetMarker=new ie(s,t.target),this._originWorld=h.vec3(),this._targetWorld=h.vec3(),this._wp=new Float64Array(24),this._vp=new Float64Array(24),this._pp=new Float64Array(24),this._cp=new Float64Array(8),this._xAxisLabelCulled=!1,this._yAxisLabelCulled=!1,this._zAxisLabelCulled=!1,this._color=t.color||this.plugin.defaultColor;const n=t.onMouseOver?e=>{t.onMouseOver(e,this)}:null,i=t.onMouseLeave?e=>{t.onMouseLeave(e,this)}:null,a=t.onContextMenu?e=>{t.onContextMenu(e,this)}:null,r=e=>{this.plugin.viewer.scene.canvas.canvas.dispatchEvent(new WheelEvent("wheel",e))};this._originDot=new re(this._container,{fillColor:this._color,zIndex:void 0!==e.zIndex?e.zIndex+2:void 0,onMouseOver:n,onMouseLeave:i,onMouseWheel:r,onContextMenu:a}),this._targetDot=new re(this._container,{fillColor:this._color,zIndex:void 0!==e.zIndex?e.zIndex+2:void 0,onMouseOver:n,onMouseLeave:i,onMouseWheel:r,onContextMenu:a}),this._lengthWire=new ae(this._container,{color:this._color,thickness:2,thicknessClickable:6,zIndex:void 0!==e.zIndex?e.zIndex+1:void 0,onMouseOver:n,onMouseLeave:i,onMouseWheel:r,onContextMenu:a}),this._xAxisWire=new ae(this._container,{color:"#FF0000",thickness:1,thicknessClickable:6,zIndex:void 0!==e.zIndex?e.zIndex+1:void 0,onMouseOver:n,onMouseLeave:i,onMouseWheel:r,onContextMenu:a}),this._yAxisWire=new ae(this._container,{color:"green",thickness:1,thicknessClickable:6,zIndex:void 0!==e.zIndex?e.zIndex+1:void 0,onMouseOver:n,onMouseLeave:i,onMouseWheel:r,onContextMenu:a}),this._zAxisWire=new ae(this._container,{color:"blue",thickness:1,thicknessClickable:6,zIndex:void 0!==e.zIndex?e.zIndex+1:void 0,onMouseOver:n,onMouseLeave:i,onMouseWheel:r,onContextMenu:a}),this._lengthLabel=new le(this._container,{fillColor:this._color,prefix:"",text:"",zIndex:void 0!==e.zIndex?e.zIndex+4:void 0,onMouseOver:n,onMouseLeave:i,onMouseWheel:r,onContextMenu:a}),this._xAxisLabel=new le(this._container,{fillColor:"red",prefix:"X",text:"",zIndex:void 0!==e.zIndex?e.zIndex+3:void 0,onMouseOver:n,onMouseLeave:i,onMouseWheel:r,onContextMenu:a}),this._yAxisLabel=new le(this._container,{fillColor:"green",prefix:"Y",text:"",zIndex:void 0!==e.zIndex?e.zIndex+3:void 0,onMouseOver:n,onMouseLeave:i,onMouseWheel:r,onContextMenu:a}),this._zAxisLabel=new le(this._container,{fillColor:"blue",prefix:"Z",text:"",zIndex:void 0!==e.zIndex?e.zIndex+3:void 0,onMouseOver:n,onMouseLeave:i,onMouseWheel:r,onContextMenu:a}),this._wpDirty=!1,this._vpDirty=!1,this._cpDirty=!1,this._sectionPlanesDirty=!0,this._visible=!1,this._originVisible=!1,this._targetVisible=!1,this._wireVisible=!1,this._axisVisible=!1,this._xAxisVisible=!1,this._yAxisVisible=!1,this._zAxisVisible=!1,this._axisEnabled=!0,this._labelsVisible=!1,this._clickable=!1,this._originMarker.on("worldPos",(e=>{this._originWorld.set(e||[0,0,0]),this._wpDirty=!0,this._needUpdate(0)})),this._targetMarker.on("worldPos",(e=>{this._targetWorld.set(e||[0,0,0]),this._wpDirty=!0,this._needUpdate(0)})),this._onViewMatrix=s.camera.on("viewMatrix",(()=>{this._vpDirty=!0,this._needUpdate(0)})),this._onProjMatrix=s.camera.on("projMatrix",(()=>{this._cpDirty=!0,this._needUpdate()})),this._onCanvasBoundary=s.canvas.on("boundary",(()=>{this._cpDirty=!0,this._needUpdate(0)})),this._onMetricsUnits=s.metrics.on("units",(()=>{this._cpDirty=!0,this._needUpdate()})),this._onMetricsScale=s.metrics.on("scale",(()=>{this._cpDirty=!0,this._needUpdate()})),this._onMetricsOrigin=s.metrics.on("origin",(()=>{this._cpDirty=!0,this._needUpdate()})),this._onSectionPlaneUpdated=s.on("sectionPlaneUpdated",(()=>{this._sectionPlanesDirty=!0,this._needUpdate()})),this.approximate=t.approximate,this.visible=t.visible,this.originVisible=t.originVisible,this.targetVisible=t.targetVisible,this.wireVisible=t.wireVisible,this.axisVisible=t.axisVisible,this.xAxisVisible=t.xAxisVisible,this.yAxisVisible=t.yAxisVisible,this.zAxisVisible=t.zAxisVisible,this.labelsVisible=t.labelsVisible}_update(){if(!this._visible)return;const e=this.plugin.viewer.scene;if(this._wpDirty&&(this._wp[0]=this._originWorld[0],this._wp[1]=this._originWorld[1],this._wp[2]=this._originWorld[2],this._wp[3]=1,this._wp[4]=this._targetWorld[0],this._wp[5]=this._originWorld[1],this._wp[6]=this._originWorld[2],this._wp[7]=1,this._wp[8]=this._targetWorld[0],this._wp[9]=this._targetWorld[1],this._wp[10]=this._originWorld[2],this._wp[11]=1,this._wp[12]=this._targetWorld[0],this._wp[13]=this._targetWorld[1],this._wp[14]=this._targetWorld[2],this._wp[15]=1,this._wpDirty=!1,this._vpDirty=!0),this._vpDirty&&(h.transformPositions4(e.camera.viewMatrix,this._wp,this._vp),this._vp[3]=1,this._vp[7]=1,this._vp[11]=1,this._vp[15]=1,this._vpDirty=!1,this._cpDirty=!0),this._sectionPlanesDirty){if(this._isSliced(this._wp))return this._xAxisLabel.setCulled(!0),this._yAxisLabel.setCulled(!0),this._zAxisLabel.setCulled(!0),this._lengthLabel.setCulled(!0),this._xAxisWire.setCulled(!0),this._yAxisWire.setCulled(!0),this._zAxisWire.setCulled(!0),this._lengthWire.setCulled(!0),this._originDot.setCulled(!0),void this._targetDot.setCulled(!0);this._xAxisLabel.setCulled(!1),this._yAxisLabel.setCulled(!1),this._zAxisLabel.setCulled(!1),this._lengthLabel.setCulled(!1),this._xAxisWire.setCulled(!1),this._yAxisWire.setCulled(!1),this._zAxisWire.setCulled(!1),this._lengthWire.setCulled(!1),this._originDot.setCulled(!1),this._targetDot.setCulled(!1),this._sectionPlanesDirty=!0}const t=this._originMarker.viewPos[2],s=this._targetMarker.viewPos[2];if(t>-.3||s>-.3)return this._xAxisLabel.setCulled(!0),this._yAxisLabel.setCulled(!0),this._zAxisLabel.setCulled(!0),this._lengthLabel.setCulled(!0),this._xAxisWire.setVisible(!1),this._yAxisWire.setVisible(!1),this._zAxisWire.setVisible(!1),this._lengthWire.setVisible(!1),this._originDot.setVisible(!1),void this._targetDot.setVisible(!1);if(this._cpDirty){h.transformPositions4(e.camera.project.matrix,this._vp,this._pp);var n=this._pp,i=this._cp,a=e.canvas.canvas.getBoundingClientRect();const t=this._container.getBoundingClientRect();var r=a.top-t.top,l=a.left-t.left,o=e.canvas.boundary,c=o[2],u=o[3],p=0;const s=this.plugin.viewer.scene.metrics,f=s.scale,I=s.units,y=s.unitsInfo[I].abbrev;for(var A=0,d=n.length;A{const t=e.snappedCanvasPos||e.canvasPos;i=!0,a.set(e.worldPos),r.set(e.canvasPos),0===this._mouseState?(this._markerDiv.style.marginLeft=t[0]-5+"px",this._markerDiv.style.marginTop=t[1]-5+"px",this._markerDiv.style.background="pink",e.snappedToVertex||e.snappedToEdge?(this.pointerLens&&(this.pointerLens.visible=!0,this.pointerLens.canvasPos=e.canvasPos,this.pointerLens.snappedCanvasPos=e.snappedCanvasPos||e.canvasPos,this.pointerLens.snapped=!0),this._markerDiv.style.background="greenyellow",this._markerDiv.style.border="2px solid green"):(this.pointerLens&&(this.pointerLens.visible=!0,this.pointerLens.canvasPos=e.canvasPos,this.pointerLens.snappedCanvasPos=e.canvasPos,this.pointerLens.snapped=!1),this._markerDiv.style.background="pink",this._markerDiv.style.border="2px solid red")):(this._markerDiv.style.marginLeft="-10000px",this._markerDiv.style.marginTop="-10000px"),n.style.cursor="pointer",this._currentDistanceMeasurement&&(this._currentDistanceMeasurement.wireVisible=this._currentDistanceMeasurementInitState.wireVisible,this._currentDistanceMeasurement.axisVisible=this._currentDistanceMeasurementInitState.axisVisible&&this.distanceMeasurementsPlugin.defaultAxisVisible,this._currentDistanceMeasurement.xAxisVisible=this._currentDistanceMeasurementInitState.xAxisVisible&&this.distanceMeasurementsPlugin.defaultXAxisVisible,this._currentDistanceMeasurement.yAxisVisible=this._currentDistanceMeasurementInitState.yAxisVisible&&this.distanceMeasurementsPlugin.defaultYAxisVisible,this._currentDistanceMeasurement.zAxisVisible=this._currentDistanceMeasurementInitState.zAxisVisible&&this.distanceMeasurementsPlugin.defaultZAxisVisible,this._currentDistanceMeasurement.targetVisible=this._currentDistanceMeasurementInitState.targetVisible,this._currentDistanceMeasurement.target.worldPos=a.slice(),this._markerDiv.style.marginLeft="-10000px",this._markerDiv.style.marginTop="-10000px")})),n.addEventListener("mousedown",this._onMouseDown=e=>{1===e.which&&(l=e.clientX,o=e.clientY)}),n.addEventListener("mouseup",this._onMouseUp=t=>{1===t.which&&(t.clientX>l+20||t.clientXo+20||t.clientY{this.pointerLens&&(this.pointerLens.visible=!0,this.pointerLens.canvasPos=e.canvasPos,this.pointerLens.snappedCanvasPos=e.snappedCanvasPos||e.canvasPos),i=!1,this._markerDiv.style.marginLeft="-100px",this._markerDiv.style.marginTop="-100px",this._currentDistanceMeasurement&&(this._currentDistanceMeasurement.wireVisible=!1,this._currentDistanceMeasurement.targetVisible=!1,this._currentDistanceMeasurement.axisVisible=!1),n.style.cursor="default"})),this._active=!0}deactivate(){if(!this._active)return;this.fire("activated",!1),this.pointerLens&&(this.pointerLens.visible=!1),this._markerDiv&&this._destroyMarkerDiv(),this.reset();const e=this.scene.canvas.canvas;e.removeEventListener("mousedown",this._onMouseDown),e.removeEventListener("mouseup",this._onMouseUp);const t=this.distanceMeasurementsPlugin.viewer.cameraControl;t.off(this._onCameraControlHoverSnapOrSurface),t.off(this._onCameraControlHoverSnapOrSurfaceOff),this._currentDistanceMeasurement&&(this.distanceMeasurementsPlugin.fire("measurementCancel",this._currentDistanceMeasurement),this._currentDistanceMeasurement.destroy(),this._currentDistanceMeasurement=null),this._active=!1}reset(){this._active&&(this._destroyMarkerDiv(),this._initMarkerDiv(),this._currentDistanceMeasurement&&(this.distanceMeasurementsPlugin.fire("measurementCancel",this._currentDistanceMeasurement),this._currentDistanceMeasurement.destroy(),this._currentDistanceMeasurement=null))}destroy(){this.deactivate(),super.destroy()}}class Qn{constructor(){}getMetaModel(e,t,s){m.loadJSON(e,(e=>{t(e)}),(function(e){s(e)}))}getGLTF(e,t,s){m.loadArraybuffer(e,(e=>{t(e)}),(function(e){s(e)}))}getGLB(e,t,s){m.loadArraybuffer(e,(e=>{t(e)}),(function(e){s(e)}))}getArrayBuffer(e,t,s,n){!function(e,t,s,n){var i=()=>{};s=s||i,n=n||i;const a=/^data:(.*?)(;base64)?,(.*)$/,r=t.match(a);if(r){const e=!!r[2];var l=r[3];l=window.decodeURIComponent(l),e&&(l=window.atob(l));try{const e=new ArrayBuffer(l.length),t=new Uint8Array(e);for(var o=0;o{s(e)}),(function(e){n(e)}))}}class Wn{constructor(e={}){this._eventSubIDMap=null,this._eventSubEvents=null,this._eventSubs=null,this._events=null,this._locale="en",this._messages={},this._locales=[],this._locale="en",this.messages=e.messages,this.locale=e.locale}set messages(e){this._messages=e||{},this._locales=Object.keys(this._messages),this.fire("updated",this)}loadMessages(e={}){for(let t in e)this._messages[t]=e[t];this.messages=this._messages}clearMessages(){this.messages={}}get locales(){return this._locales}set locale(e){e=e||"de",this._locale!==e&&(this._locale=e,this.fire("updated",e))}get locale(){return this._locale}translate(e,t){const s=this._messages[this._locale];if(!s)return null;const n=zn(e,s);return n?t?Kn(n,t):n:null}translatePlurals(e,t,s){const n=this._messages[this._locale];if(!n)return null;let i=zn(e,n);return i=0===(t=parseInt(""+t,10))?i.zero:t>1?i.other:i.one,i?(i=Kn(i,[t]),s&&(i=Kn(i,s)),i):null}fire(e,t,s){this._events||(this._events={}),this._eventSubs||(this._eventSubs={}),!0!==s&&(this._events[e]=t||!0);const n=this._eventSubs[e];if(n)for(const e in n)if(n.hasOwnProperty(e)){n[e].callback(t)}}on(t,s){this._events||(this._events={}),this._eventSubIDMap||(this._eventSubIDMap=new e),this._eventSubEvents||(this._eventSubEvents={}),this._eventSubs||(this._eventSubs={});let n=this._eventSubs[t];n||(n={},this._eventSubs[t]=n);const i=this._eventSubIDMap.addItem();n[i]={callback:s},this._eventSubEvents[i]=t;const a=this._events[t];return void 0!==a&&s(a),i}off(e){if(null==e)return;if(!this._eventSubEvents)return;const t=this._eventSubEvents[e];if(t){delete this._eventSubEvents[e];const s=this._eventSubs[t];s&&delete s[e],this._eventSubIDMap.removeItem(e)}}}function zn(e,t){if(t[e])return t[e];const s=e.split(".");let n=t;for(let e=0,t=s.length;n&&e1?1:e}get t(){return this._t}get tangent(){return this.getTangent(this._t)}get length(){var e=this._getLengths();return e[e.length-1]}getTangent(e){var t=1e-4;void 0===e&&(e=this._t);var s=e-t,n=e+t;s<0&&(s=0),n>1&&(n=1);var i=this.getPoint(s),a=this.getPoint(n),r=h.subVec3(a,i,[]);return h.normalizeVec3(r,[])}getPointAt(e){var t=this.getUToTMapping(e);return this.getPoint(t)}getPoints(e){e||(e=5);var t,s=[];for(t=0;t<=e;t++)s.push(this.getPoint(t/e));return s}_getLengths(e){if(e||(e=this.__arcLengthDivisions?this.__arcLengthDivisions:200),this.cacheArcLengths&&this.cacheArcLengths.length===e+1&&!this.needsUpdate)return this.cacheArcLengths;this.needsUpdate=!1;var t,s,n=[],i=this.getPoint(0),a=0;for(n.push(0),s=1;s<=e;s++)t=this.getPoint(s/e),a+=h.lenVec3(h.subVec3(t,i,[])),n.push(a),i=t;return this.cacheArcLengths=n,n}_updateArcLengths(){this.needsUpdate=!0,this._getLengths()}getUToTMapping(e,t){var s,n=this._getLengths(),i=0,a=n.length;s=t||e*n[a-1];for(var r,l=0,o=a-1;l<=o;)if((r=n[i=Math.floor(l+(o-l)/2)]-s)<0)l=i+1;else{if(!(r>0)){o=i;break}o=i-1}if(n[i=o]===s)return i/(a-1);var c=n[i];return(i+(s-c)/(n[i+1]-c))/(a-1)}}class Xn extends Yn{constructor(e,t={}){super(e,t),this.points=t.points,this.t=t.t}set points(e){this._points=e||[]}get points(){return this._points}set t(e){e=e||0,this._t=e<0?0:e>1?1:e}get t(){return this._t}get point(){return this.getPoint(this._t)}getPoint(e){var t=this.points;if(!(t.length<3)){var s=(t.length-1)*e,n=Math.floor(s),i=s-n,a=t[0===n?n:n-1],r=t[n],l=t[n>t.length-2?t.length-1:n+1],o=t[n>t.length-3?t.length-1:n+2],c=h.vec3();return c[0]=h.catmullRomInterpolate(a[0],r[0],l[0],o[0],i),c[1]=h.catmullRomInterpolate(a[1],r[1],l[1],o[1],i),c[2]=h.catmullRomInterpolate(a[2],r[2],l[2],o[2],i),c}this.error("Can't sample point from SplineCurve - not enough points on curve - returning [0,0,0].")}getJSON(){return{points:points,t:this._t}}}const qn=h.vec3();const Jn=h.vec3(),Zn=h.vec3(),$n=h.vec3(),ei=h.vec3(),ti=h.vec3();class si extends _{get type(){return"CameraFlightAnimation"}constructor(e,t={}){super(e,t),this._look1=h.vec3(),this._eye1=h.vec3(),this._up1=h.vec3(),this._look2=h.vec3(),this._eye2=h.vec3(),this._up2=h.vec3(),this._orthoScale1=1,this._orthoScale2=1,this._flying=!1,this._flyEyeLookUp=!1,this._flyingEye=!1,this._flyingLook=!1,this._callback=null,this._callbackScope=null,this._time1=null,this._time2=null,this.easing=!1!==t.easing,this.duration=t.duration,this.fit=t.fit,this.fitFOV=t.fitFOV,this.trail=t.trail}flyTo(e,t,s){e=e||this.scene,this._flying&&this.stop(),this._flying=!1,this._flyingEye=!1,this._flyingLook=!1,this._flyingEyeLookUp=!1,this._callback=t,this._callbackScope=s;const n=this.scene.camera,i=!!e.projection&&e.projection!==n.projection;let a,r,l,o,c;if(this._eye1[0]=n.eye[0],this._eye1[1]=n.eye[1],this._eye1[2]=n.eye[2],this._look1[0]=n.look[0],this._look1[1]=n.look[1],this._look1[2]=n.look[2],this._up1[0]=n.up[0],this._up1[1]=n.up[1],this._up1[2]=n.up[2],this._orthoScale1=n.ortho.scale,this._orthoScale2=e.orthoScale||this._orthoScale1,e.aabb)a=e.aabb;else if(6===e.length)a=e;else if(e.eye&&e.look||e.up)r=e.eye,l=e.look,o=e.up;else if(e.eye)r=e.eye;else if(e.look)l=e.look;else{let n=e;if((m.isNumeric(n)||m.isString(n))&&(c=n,n=this.scene.components[c],!n))return this.error("Component not found: "+m.inQuotes(c)),void(t&&(s?t.call(s):t()));i||(a=n.aabb||this.scene.aabb)}const u=e.poi;if(a){if(a[3]=1;e>1&&(e=1);const s=this.easing?si._ease(e,0,1,1):e,n=this.scene.camera;if(this._flyingEye||this._flyingLook?this._flyingEye?(h.subVec3(n.eye,n.look,ti),n.eye=h.lerpVec3(s,0,1,this._eye1,this._eye2,$n),n.look=h.subVec3($n,ti,Zn)):this._flyingLook&&(n.look=h.lerpVec3(s,0,1,this._look1,this._look2,Zn),n.up=h.lerpVec3(s,0,1,this._up1,this._up2,ei)):this._flyingEyeLookUp&&(n.eye=h.lerpVec3(s,0,1,this._eye1,this._eye2,$n),n.look=h.lerpVec3(s,0,1,this._look1,this._look2,Zn),n.up=h.lerpVec3(s,0,1,this._up1,this._up2,ei)),this._projection2){const t="ortho"===this._projection2?si._easeOutExpo(e,0,1,1):si._easeInCubic(e,0,1,1);n.customProjection.matrix=h.lerpMat4(t,0,1,this._projMatrix1,this._projMatrix2)}else n.ortho.scale=this._orthoScale1+e*(this._orthoScale2-this._orthoScale1);if(t)return n.ortho.scale=this._orthoScale2,void this.stop();R.scheduleTask(this._update,this)}static _ease(e,t,s,n){return-s*(e/=n)*(e-2)+t}static _easeInCubic(e,t,s,n){return s*(e/=n)*e*e+t}static _easeOutExpo(e,t,s,n){return s*(1-Math.pow(2,-10*e/n))+t}stop(){if(!this._flying)return;this._flying=!1,this._time1=null,this._time2=null,this._projection2&&(this.scene.camera.projection=this._projection2);const e=this._callback;e&&(this._callback=null,this._callbackScope?e.call(this._callbackScope):e()),this.fire("stopped",!0,!0)}cancel(){this._flying&&(this._flying=!1,this._time1=null,this._time2=null,this._callback&&(this._callback=null),this.fire("canceled",!0,!0))}set duration(e){this._duration=e?1e3*e:500,this.stop()}get duration(){return this._duration/1e3}set fit(e){this._fit=!1!==e}get fit(){return this._fit}set fitFOV(e){this._fitFOV=e||45}get fitFOV(){return this._fitFOV}set trail(e){this._trail=!!e}get trail(){return this._trail}destroy(){this.stop(),super.destroy()}}class ni extends _{get type(){return"CameraPathAnimation"}constructor(e,t={}){super(e,t),this._cameraFlightAnimation=new si(this),this._t=0,this.state=ni.SCRUBBING,this._playingFromT=0,this._playingToT=0,this._playingRate=t.playingRate||1,this._playingDir=1,this._lastTime=null,this.cameraPath=t.cameraPath,this._tick=this.scene.on("tick",this._updateT,this)}_updateT(){const e=this._cameraPath;if(!e)return;let t,s;const n=performance.now(),i=this._lastTime?.001*(n-this._lastTime):0;if(this._lastTime=n,0!==i)switch(this.state){case ni.SCRUBBING:return;case ni.PLAYING:if(this._t+=this._playingRate*i,t=this._cameraPath.frames.length,0===t||this._playingDir<0&&this._t<=0||this._playingDir>0&&this._t>=this._cameraPath.frames[t-1].t)return this.state=ni.SCRUBBING,this._t=this._cameraPath.frames[t-1].t,void this.fire("stopped");e.loadFrame(this._t);break;case ni.PLAYING_TO:s=this._t+this._playingRate*i*this._playingDir,(this._playingDir<0&&s<=this._playingToT||this._playingDir>0&&s>=this._playingToT)&&(s=this._playingToT,this.state=ni.SCRUBBING,this.fire("stopped")),this._t=s,e.loadFrame(this._t)}}_ease(e,t,s,n){return-s*(e/=n)*(e-2)+t}set cameraPath(e){this._cameraPath=e}get cameraPath(){return this._cameraPath}set rate(e){this._playingRate=e}get rate(){return this._playingRate}play(){this._cameraPath&&(this._lastTime=null,this.state=ni.PLAYING)}playToT(e){this._cameraPath&&(this._playingFromT=this._t,this._playingToT=e,this._playingDir=this._playingToT-this._playingFromT<0?-1:1,this._lastTime=null,this.state=ni.PLAYING_TO)}playToFrame(e){const t=this._cameraPath;if(!t)return;const s=t.frames[e];s?this.playToT(s.t):this.error("playToFrame - frame index out of range: "+e)}flyToFrame(e,t){const s=this._cameraPath;if(!s)return;const n=s.frames[e];n?(this.state=ni.SCRUBBING,this._cameraFlightAnimation.flyTo(n,t)):this.error("flyToFrame - frame index out of range: "+e)}scrubToT(e){const t=this._cameraPath;if(!t)return;this.scene.camera&&(this._t=e,t.loadFrame(this._t),this.state=ni.SCRUBBING)}scrubToFrame(e){const t=this._cameraPath;if(!t)return;if(!this.scene.camera)return;t.frames[e]?(t.loadFrame(this._t),this.state=ni.SCRUBBING):this.error("playToFrame - frame index out of range: "+e)}stop(){this.state=ni.SCRUBBING,this.fire("stopped")}destroy(){super.destroy(),this.scene.off(this._tick)}}ni.STOPPED=0,ni.SCRUBBING=1,ni.PLAYING=2,ni.PLAYING_TO=3;const ii=h.vec3(),ai=h.vec3();h.vec3();const ri=h.vec3([0,-1,0]),li=h.vec4([0,0,0,1]);function oi(e){if(!ci(e.width)||!ci(e.height)){const t=document.createElement("canvas");t.width=ui(e.width),t.height=ui(e.height);t.getContext("2d").drawImage(e,0,0,e.width,e.height,0,0,t.width,t.height),e=t}return e}function ci(e){return 0==(e&e-1)}function ui(e){--e;for(let t=1;t<32;t<<=1)e|=e>>t;return e+1}class hi extends _{get type(){return"CubeTexture"}constructor(e,t={}){super(e,t);const s=this.scene.canvas.gl;this._state=new Je({texture:new fn({gl:s,target:s.TEXTURE_CUBE_MAP}),flipY:this._checkFlipY(t.minFilter),encoding:this._checkEncoding(t.encoding),minFilter:1008,magFilter:1006,wrapS:1001,wrapT:1001,mipmaps:!0}),this._src=t.src,this._images=[],this._loadSrc(t.src),d.memory.textures++}_checkFlipY(e){return!!e}_checkEncoding(e){return 3e3!==(e=e||3e3)&&3001!==e&&(this.error("Unsupported value for 'encoding' - supported values are LinearEncoding and sRGBEncoding. Defaulting to LinearEncoding."),e=3e3),e}_webglContextRestored(){this.scene.canvas.gl,this._state.texture=null,this._src&&this._loadSrc(this._src)}_loadSrc(e){const t=this,s=this.scene.canvas.gl;this._images=[];let n=!1,i=0;for(let a=0;a{i(),t()})):(s.eye=this._eye,s.look=this._look,s.up=this._up,i(),s.projection=n.projection)}}const Ai=h.vec3();const di=h.vec3();class fi{constructor(){this.objectsVisible=[],this.objectsEdges=[],this.objectsXrayed=[],this.objectsHighlighted=[],this.objectsSelected=[],this.objectsClippable=[],this.objectsPickable=[],this.objectsColorize=[],this.objectsHasColorize=[],this.objectsOpacity=[],this.numObjects=0}saveObjects(e,t){this.numObjects=0,this._mask=t?m.apply(t,{}):null;const s=e.objects,n=!t||t.visible,i=!t||t.edges,a=!t||t.xrayed,r=!t||t.highlighted,l=!t||t.selected,o=!t||t.clippable,c=!t||t.pickable,u=!t||t.colorize,h=!t||t.opacity;for(let e in s)if(s.hasOwnProperty(e)){const t=s[e],p=this.numObjects;if(n&&(this.objectsVisible[p]=t.visible),i&&(this.objectsEdges[p]=t.edges),a&&(this.objectsXrayed[p]=t.xrayed),r&&(this.objectsHighlighted[p]=t.highlighted),l&&(this.objectsSelected[p]=t.selected),o&&(this.objectsClippable[p]=t.clippable),c&&(this.objectsPickable[p]=t.pickable),u){const e=t.colorize;e?(this.objectsColorize[3*p+0]=e[0],this.objectsColorize[3*p+1]=e[1],this.objectsColorize[3*p+2]=e[2],this.objectsHasColorize[p]=!0):this.objectsHasColorize[p]=!1}h&&(this.objectsOpacity[p]=t.opacity),this.numObjects++}}restoreObjects(e){const t=this._mask,s=!t||t.visible,n=!t||t.edges,i=!t||t.xrayed,a=!t||t.highlighted,r=!t||t.selected,l=!t||t.clippable,o=!t||t.pickable,c=!t||t.colorize,u=!t||t.opacity;var h=0;const p=e.objects;for(let e in p)if(p.hasOwnProperty(e)){const t=p[e];s&&(t.visible=this.objectsVisible[h]),n&&(t.edges=this.objectsEdges[h]),i&&(t.xrayed=this.objectsXrayed[h]),a&&(t.highlighted=this.objectsHighlighted[h]),r&&(t.selected=this.objectsSelected[h]),l&&(t.clippable=this.objectsClippable[h]),o&&(t.pickable=this.objectsPickable[h]),c&&(this.objectsHasColorize[h]?(di[0]=this.objectsColorize[3*h+0],di[1]=this.objectsColorize[3*h+1],di[2]=this.objectsColorize[3*h+2],t.colorize=di):t.colorize=null),u&&(t.opacity=this.objectsOpacity[h]),h++}}}const Ii=h.OBB3(),yi=h.OBB3(),mi=h.OBB3();class vi{constructor(e,t,s,n,i,a,r=null,l=0){this.model=e,this.object=null,this.parent=null,this.transform=i,this.textureSet=a,this._matrixDirty=!1,this._matrixUpdateScheduled=!1,this.id=t,this.obb=null,this._aabbLocal=null,this._aabbWorld=h.AABB3(),this._aabbWorldDirty=!1,this.layer=r,this.portionId=l,this._color=new Uint8Array([s[0],s[1],s[2],n]),this._colorize=new Uint8Array([s[0],s[1],s[2],n]),this._colorizing=!1,this._transparent=n<255,this.numTriangles=0,this.origin=null,this.entity=null,i&&i._addMesh(this)}_sceneModelDirty(){this._aabbWorldDirty=!0}_transformDirty(){this._matrixDirty||this._matrixUpdateScheduled||(this.model._meshMatrixDirty(this),this._matrixDirty=!0,this._matrixUpdateScheduled=!0),this._aabbWorldDirty=!0,this.entity&&this.entity._transformDirty()}_updateMatrix(){this.transform&&this._matrixDirty&&this.layer.setMatrix(this.portionId,this.transform.worldMatrix),this._matrixDirty=!1,this._matrixUpdateScheduled=!1}_finalize(e){this.layer.initFlags(this.portionId,e,this._transparent)}_finalize2(){this.layer.flushInitFlags&&this.layer.flushInitFlags()}_setVisible(e){this.layer.setVisible(this.portionId,e,this._transparent)}_setColor(e){this._color[0]=e[0],this._color[1]=e[1],this._color[2]=e[2],this._colorizing||this.layer.setColor(this.portionId,this._color,!1)}_setColorize(e){e?(this._colorize[0]=e[0],this._colorize[1]=e[1],this._colorize[2]=e[2],this.layer.setColor(this.portionId,this._colorize,false),this._colorizing=!0):(this.layer.setColor(this.portionId,this._color,false),this._colorizing=!1)}_setOpacity(e,t){const s=e<255,n=this._transparent!==s;this._color[3]=e,this._colorize[3]=e,this._transparent=s,this._colorizing?this.layer.setColor(this.portionId,this._colorize):this.layer.setColor(this.portionId,this._color),n&&this.layer.setTransparent(this.portionId,t,s)}_setOffset(e){this.layer.setOffset(this.portionId,e)}_setHighlighted(e){this.layer.setHighlighted(this.portionId,e,this._transparent)}_setXRayed(e){this.layer.setXRayed(this.portionId,e,this._transparent)}_setSelected(e){this.layer.setSelected(this.portionId,e,this._transparent)}_setEdges(e){this.layer.setEdges(this.portionId,e,this._transparent)}_setClippable(e){this.layer.setClippable(this.portionId,e,this._transparent)}_setCollidable(e){this.layer.setCollidable(this.portionId,e)}_setPickable(e){this.layer.setPickable(this.portionId,e,this._transparent)}_setCulled(e){this.layer.setCulled(this.portionId,e,this._transparent)}canPickTriangle(){return!1}drawPickTriangles(e,t){}pickTriangleSurface(e){}precisionRayPickSurface(e,t,s,n){return!!this.layer.precisionRayPickSurface&&this.layer.precisionRayPickSurface(this.portionId,e,t,s,n)}canPickWorldPos(){return!0}drawPickDepths(e){this.model.drawPickDepths(e)}drawPickNormals(e){this.model.drawPickNormals(e)}delegatePickedEntity(){return this.parent}getEachVertex(e){this.layer.getEachVertex(this.portionId,e)}set aabb(e){this._aabbLocal=e}get aabb(){if(this._aabbWorldDirty){if(h.AABB3ToOBB3(this._aabbLocal,Ii),this.transform?(h.transformOBB3(this.transform.worldMatrix,Ii,yi),h.transformOBB3(this.model.worldMatrix,yi,mi),h.OBB3ToAABB3(mi,this._aabbWorld)):(h.transformOBB3(this.model.worldMatrix,Ii,yi),h.OBB3ToAABB3(yi,this._aabbWorld)),this.origin){const e=this.origin;this._aabbWorld[0]+=e[0],this._aabbWorld[1]+=e[1],this._aabbWorld[2]+=e[2],this._aabbWorld[3]+=e[0],this._aabbWorld[4]+=e[1],this._aabbWorld[5]+=e[2]}this._aabbWorldDirty=!1}return this._aabbWorld}_destroy(){this.model.scene._renderer.putPickID(this.pickId)}}const wi=new class{constructor(){this._uint8Arrays={},this._float32Arrays={}}_clear(){this._uint8Arrays={},this._float32Arrays={}}getUInt8Array(e){let t=this._uint8Arrays[e];return t||(t=new Uint8Array(e),this._uint8Arrays[e]=t),t}getFloat32Array(e){let t=this._float32Arrays[e];return t||(t=new Float32Array(e),this._float32Arrays[e]=t),t}};let gi=0;const Ei={NOT_RENDERED:0,COLOR_OPAQUE:1,COLOR_TRANSPARENT:2,SILHOUETTE_HIGHLIGHTED:3,SILHOUETTE_SELECTED:4,SILHOUETTE_XRAYED:5,EDGES_COLOR_OPAQUE:6,EDGES_COLOR_TRANSPARENT:7,EDGES_HIGHLIGHTED:8,EDGES_SELECTED:9,EDGES_XRAYED:10,PICK:11},Ti=new Float32Array([1,1,1,1]),bi=new Float32Array([0,0,0,1]),Di=h.vec4(),Pi=h.vec3(),Ri=h.vec3(),Ci=h.mat4();class _i{constructor(e,t=!1,{instancing:s=!1,edges:n=!1}={}){this._scene=e,this._withSAO=t,this._instancing=s,this._edges=n,this._hash=this._getHash(),this._matricesUniformBlockBufferBindingPoint=0,this._matricesUniformBlockBuffer=this._scene.canvas.gl.createBuffer(),this._matricesUniformBlockBufferData=new Float32Array(96),this._vaoCache=new WeakMap,this._allocate()}_getHash(){return this._scene._sectionPlanesState.getHash()}_buildShader(){return{vertex:this._buildVertexShader(),fragment:this._buildFragmentShader()}}_buildVertexShader(){return[""]}_buildFragmentShader(){return[""]}_addMatricesUniformBlockLines(e,t=!1){return e.push("uniform Matrices {"),e.push(" mat4 worldMatrix;"),e.push(" mat4 viewMatrix;"),e.push(" mat4 projMatrix;"),e.push(" mat4 positionsDecodeMatrix;"),t&&(e.push(" mat4 worldNormalMatrix;"),e.push(" mat4 viewNormalMatrix;")),e.push("};"),e}_addRemapClipPosLines(e,t=1){return e.push("uniform vec2 drawingBufferSize;"),e.push("uniform vec2 pickClipPos;"),e.push("vec4 remapClipPos(vec4 clipPos) {"),e.push(" clipPos.xy /= clipPos.w;"),1===t?e.push(" clipPos.xy = (clipPos.xy - pickClipPos) * drawingBufferSize;"):e.push(` clipPos.xy = (clipPos.xy - pickClipPos) * (drawingBufferSize / float(${t}));`),e.push(" clipPos.xy *= clipPos.w;"),e.push(" return clipPos;"),e.push("}"),e}getValid(){return this._hash===this._getHash()}setSectionPlanesStateUniforms(e){const t=this._scene,{gl:s}=t.canvas,{model:n,layerIndex:i}=e,a=t._sectionPlanesState.getNumAllocatedSectionPlanes(),r=t._sectionPlanesState.sectionPlanes.length;if(a>0){const l=t._sectionPlanesState.sectionPlanes,o=i*r,c=n.renderFlags;for(let t=0;t0&&(this._uReflectionMap="reflectionMap"),s.lightMaps.length>0&&(this._uLightMap="lightMap"),this._uSectionPlanes=[];for(let t=0,s=e._sectionPlanesState.getNumAllocatedSectionPlanes();t0&&d.reflectionMaps[0].texture&&this._uReflectionMap&&(this._program.bindTexture(this._uReflectionMap,d.reflectionMaps[0].texture,e.textureUnit),e.textureUnit=(e.textureUnit+1)%a,e.bindTexture++),d.lightMaps.length>0&&d.lightMaps[0].texture&&this._uLightMap&&(this._program.bindTexture(this._uLightMap,d.lightMaps[0].texture,e.textureUnit),e.textureUnit=(e.textureUnit+1)%a,e.bindTexture++),this._withSAO){const t=r.sao;if(t.possible){const s=l.drawingBufferWidth,n=l.drawingBufferHeight;Di[0]=s,Di[1]=n,Di[2]=t.blendCutoff,Di[3]=t.blendFactor,l.uniform4fv(this._uSAOParams,Di),this._program.bindTexture(this._uOcclusionTexture,e.occlusionTexture,e.textureUnit),e.textureUnit=(e.textureUnit+1)%a,e.bindTexture++}}if(n){const e=this._edges?"edgeColor":"fillColor",t=this._edges?"edgeAlpha":"fillAlpha";if(s===Ei[(this._edges?"EDGES":"SILHOUETTE")+"_XRAYED"]){const s=r.xrayMaterial._state,n=s[e],i=s[t];l.uniform4f(this._uColor,n[0],n[1],n[2],i)}else if(s===Ei[(this._edges?"EDGES":"SILHOUETTE")+"_HIGHLIGHTED"]){const s=r.highlightMaterial._state,n=s[e],i=s[t];l.uniform4f(this._uColor,n[0],n[1],n[2],i)}else if(s===Ei[(this._edges?"EDGES":"SILHOUETTE")+"_SELECTED"]){const s=r.selectedMaterial._state,n=s[e],i=s[t];l.uniform4f(this._uColor,n[0],n[1],n[2],i)}else l.uniform4fv(this._uColor,this._edges?bi:Ti)}this._draw({state:o,frameCtx:e,incrementDrawState:i}),l.bindVertexArray(null)}webglContextRestored(){this._program=null}destroy(){this._program&&this._program.destroy(),this._program=null,d.memory.programs--}}class Bi extends _i{constructor(e,t,{instancing:s=!1,edges:n=!1}={}){super(e,t,{instancing:s,edges:n})}_draw(e){const{gl:t}=this._scene.canvas,{state:s,frameCtx:n,incrementDrawState:i}=e;if(this._edges)t.drawElements(t.LINES,s.edgeIndicesBuf.numItems,s.edgeIndicesBuf.itemType,0);else{const e=n.pickElementsCount||s.indicesBuf.numItems,a=n.pickElementsOffset?n.pickElementsOffset*s.indicesBuf.itemByteSize:0;t.drawElements(t.TRIANGLES,e,s.indicesBuf.itemType,a),i&&n.drawElements++}}}class Oi extends Bi{constructor(e,t){super(e,t,{instancing:!1,edges:!0})}}class Si extends _i{constructor(e,t,{edges:s=!1}={}){super(e,t,{instancing:!0,edges:s})}_draw(e){const{gl:t}=this._scene.canvas,{state:s,frameCtx:n,incrementDrawState:i}=e;this._edges?t.drawElementsInstanced(t.LINES,s.edgeIndicesBuf.numItems,s.edgeIndicesBuf.itemType,0,s.numInstances):(t.drawElementsInstanced(t.TRIANGLES,s.indicesBuf.numItems,s.indicesBuf.itemType,0,s.numInstances),i&&n.drawElements++)}}class Ni extends Si{constructor(e,t){super(e,t,{instancing:!0,edges:!0})}}class xi extends _i{_draw(e){const{gl:t}=this._scene.canvas,{state:s,frameCtx:n,incrementDrawState:i}=e;t.drawArrays(t.POINTS,0,s.positionsBuf.numItems),i&&n.drawArrays++}}class Li extends _i{constructor(e,t){super(e,t,{instancing:!0})}_draw(e){const{gl:t}=this._scene.canvas,{state:s,frameCtx:n,incrementDrawState:i}=e;t.drawArraysInstanced(t.POINTS,0,s.positionsBuf.numItems,s.numInstances),i&&n.drawArrays++}}class Mi extends _i{_draw(e){const{gl:t}=this._scene.canvas,{state:s,frameCtx:n,incrementDrawState:i}=e;t.drawElements(t.LINES,s.indicesBuf.numItems,s.indicesBuf.itemType,0),i&&n.drawElements++}}class Fi extends _i{constructor(e,t){super(e,t,{instancing:!0})}_draw(e){const{gl:t}=this._scene.canvas,{state:s,frameCtx:n,incrementDrawState:i}=e;t.drawElementsInstanced(t.LINES,s.indicesBuf.numItems,s.indicesBuf.itemType,0,s.numInstances),i&&n.drawElements++}}class Hi extends Bi{_getHash(){const e=this._scene;return[e._lightsState.getHash(),e._sectionPlanesState.getHash(),this._withSAO?"sao":"nosao"].join(";")}drawLayer(e,t,s){super.drawLayer(e,t,s,{incrementDrawState:!0})}_buildVertexShader(){const e=this._scene,t=e._sectionPlanesState,s=e._lightsState,n=t.getNumAllocatedSectionPlanes()>0;let i;const a=[];a.push("#version 300 es"),a.push("// Triangles batching draw vertex shader"),a.push("uniform int renderPass;"),a.push("in vec3 position;"),a.push("in vec3 normal;"),a.push("in vec4 color;"),a.push("in float flags;"),e.entityOffsetsEnabled&&a.push("in vec3 offset;"),this._addMatricesUniformBlockLines(a,!0),e.logarithmicDepthBufferEnabled&&(a.push("uniform float logDepthBufFC;"),a.push("out float vFragDepth;"),a.push("bool isPerspectiveMatrix(mat4 m) {"),a.push(" return (m[2][3] == - 1.0);"),a.push("}"),a.push("out float isPerspective;")),a.push("uniform vec4 lightAmbient;");for(let e=0,t=s.lights.length;e= 0.0 ? 1.0 : -1.0, v.y >= 0.0 ? 1.0 : -1.0);"),a.push(" }"),a.push(" return normalize(v);"),a.push("}"),n&&(a.push("out vec4 vWorldPosition;"),a.push("out float vFlags;")),a.push("out vec4 vColor;"),a.push("void main(void) {"),a.push("int colorFlag = int(flags) & 0xF;"),a.push("if (colorFlag != renderPass) {"),a.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),a.push("} else {"),a.push("vec4 worldPosition = worldMatrix * (positionsDecodeMatrix * vec4(position, 1.0)); "),e.entityOffsetsEnabled&&a.push("worldPosition.xyz = worldPosition.xyz + offset;"),a.push("vec4 viewPosition = viewMatrix * worldPosition; "),a.push("vec4 worldNormal = worldNormalMatrix * vec4(octDecode(normal.xy), 0.0); "),a.push("vec3 viewNormal = normalize((viewNormalMatrix * worldNormal).xyz);"),a.push("vec3 reflectedColor = vec3(0.0, 0.0, 0.0);"),a.push("vec3 viewLightDir = vec3(0.0, 0.0, -1.0);"),a.push("float lambertian = 1.0;");for(let e=0,t=s.lights.length;e0,n=[];if(n.push("#version 300 es"),n.push("// Triangles batching draw fragment shader"),n.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),n.push("precision highp float;"),n.push("precision highp int;"),n.push("#else"),n.push("precision mediump float;"),n.push("precision mediump int;"),n.push("#endif"),e.logarithmicDepthBufferEnabled&&(n.push("in float isPerspective;"),n.push("uniform float logDepthBufFC;"),n.push("in float vFragDepth;")),this._withSAO&&(n.push("uniform sampler2D uOcclusionTexture;"),n.push("uniform vec4 uSAOParams;"),n.push("const float packUpscale = 256. / 255.;"),n.push("const float unpackDownScale = 255. / 256.;"),n.push("const vec3 packFactors = vec3( 256. * 256. * 256., 256. * 256., 256. );"),n.push("const vec4 unPackFactors = unpackDownScale / vec4( packFactors, 1. );"),n.push("float unpackRGBToFloat( const in vec4 v ) {"),n.push(" return dot( v, unPackFactors );"),n.push("}")),s){n.push("in vec4 vWorldPosition;"),n.push("in float vFlags;");for(let e=0,s=t.getNumAllocatedSectionPlanes();e> 16 & 0xF) == 1;"),n.push(" if (clippable) {"),n.push(" float dist = 0.0;");for(let e=0,s=t.getNumAllocatedSectionPlanes();e 0.0) { "),n.push(" discard;"),n.push(" }"),n.push("}")}return e.logarithmicDepthBufferEnabled&&n.push(" gl_FragDepth = isPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5;"),this._withSAO?(n.push(" float viewportWidth = uSAOParams[0];"),n.push(" float viewportHeight = uSAOParams[1];"),n.push(" float blendCutoff = uSAOParams[2];"),n.push(" float blendFactor = uSAOParams[3];"),n.push(" vec2 uv = vec2(gl_FragCoord.x / viewportWidth, gl_FragCoord.y / viewportHeight);"),n.push(" float ambient = smoothstep(blendCutoff, 1.0, unpackRGBToFloat(texture(uOcclusionTexture, uv))) * blendFactor;"),n.push(" outColor = vec4(vColor.rgb * ambient, 1.0);")):n.push(" outColor = vColor;"),n.push("}"),n}}class Ui extends Bi{_getHash(){const e=this._scene;return[e._lightsState.getHash(),e._sectionPlanesState.getHash(),this._withSAO?"sao":"nosao"].join(";")}_buildVertexShader(){const e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,s=[];return s.push("#version 300 es"),s.push("// Triangles batching flat-shading draw vertex shader"),s.push("uniform int renderPass;"),s.push("in vec3 position;"),s.push("in vec4 color;"),s.push("in float flags;"),e.entityOffsetsEnabled&&s.push("in vec3 offset;"),this._addMatricesUniformBlockLines(s),e.logarithmicDepthBufferEnabled&&(s.push("uniform float logDepthBufFC;"),s.push("out float vFragDepth;"),s.push("bool isPerspectiveMatrix(mat4 m) {"),s.push(" return (m[2][3] == - 1.0);"),s.push("}"),s.push("out float isPerspective;")),t&&(s.push("out vec4 vWorldPosition;"),s.push("out float vFlags;")),s.push("out vec4 vViewPosition;"),s.push("out vec4 vColor;"),s.push("void main(void) {"),s.push("int colorFlag = int(flags) & 0xF;"),s.push("if (colorFlag != renderPass) {"),s.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),s.push("} else {"),s.push("vec4 worldPosition = worldMatrix * (positionsDecodeMatrix * vec4(position, 1.0)); "),e.entityOffsetsEnabled&&s.push("worldPosition.xyz = worldPosition.xyz + offset;"),s.push("vec4 viewPosition = viewMatrix * worldPosition; "),s.push("vViewPosition = viewPosition;"),s.push("vColor = vec4(float(color.r) / 255.0, float(color.g) / 255.0, float(color.b) / 255.0, float(color.a) / 255.0);"),s.push("vec4 clipPos = projMatrix * viewPosition;"),e.logarithmicDepthBufferEnabled&&(s.push("vFragDepth = 1.0 + clipPos.w;"),s.push("isPerspective = float (isPerspectiveMatrix(projMatrix));")),t&&(s.push("vWorldPosition = worldPosition;"),s.push("vFlags = flags;")),s.push("gl_Position = clipPos;"),s.push("}"),s.push("}"),s}_buildFragmentShader(){const e=this._scene,t=e._lightsState,s=e._sectionPlanesState,n=s.getNumAllocatedSectionPlanes()>0,i=[];if(i.push("#version 300 es"),i.push("// Triangles batching flat-shading draw fragment shader"),i.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),i.push("precision highp float;"),i.push("precision highp int;"),i.push("#else"),i.push("precision mediump float;"),i.push("precision mediump int;"),i.push("#endif"),e.logarithmicDepthBufferEnabled&&(i.push("in float isPerspective;"),i.push("uniform float logDepthBufFC;"),i.push("in float vFragDepth;")),this._withSAO&&(i.push("uniform sampler2D uOcclusionTexture;"),i.push("uniform vec4 uSAOParams;"),i.push("const float packUpscale = 256. / 255.;"),i.push("const float unpackDownScale = 255. / 256.;"),i.push("const vec3 packFactors = vec3( 256. * 256. * 256., 256. * 256., 256. );"),i.push("const vec4 unPackFactors = unpackDownScale / vec4( packFactors, 1. );"),i.push("float unpackRGBToFloat( const in vec4 v ) {"),i.push(" return dot( v, unPackFactors );"),i.push("}")),n){i.push("in vec4 vWorldPosition;"),i.push("in float vFlags;");for(let e=0,t=s.getNumAllocatedSectionPlanes();e> 16 & 0xF) == 1;"),i.push(" if (clippable) {"),i.push(" float dist = 0.0;");for(let e=0,t=s.getNumAllocatedSectionPlanes();e 0.0) { "),i.push(" discard;"),i.push(" }"),i.push("}")}i.push("vec3 reflectedColor = vec3(0.0, 0.0, 0.0);"),i.push("vec3 viewLightDir = vec3(0.0, 0.0, -1.0);"),i.push("float lambertian = 1.0;"),i.push("vec3 xTangent = dFdx( vViewPosition.xyz );"),i.push("vec3 yTangent = dFdy( vViewPosition.xyz );"),i.push("vec3 viewNormal = normalize( cross( xTangent, yTangent ) );");for(let e=0,s=t.lights.length;e0,s=[];return s.push("#version 300 es"),s.push("// Triangles batching silhouette vertex shader"),s.push("uniform int renderPass;"),s.push("in vec3 position;"),e.entityOffsetsEnabled&&s.push("in vec3 offset;"),s.push("in float flags;"),s.push("in vec4 color;"),this._addMatricesUniformBlockLines(s),s.push("uniform vec4 silhouetteColor;"),e.logarithmicDepthBufferEnabled&&(s.push("uniform float logDepthBufFC;"),s.push("out float vFragDepth;"),s.push("bool isPerspectiveMatrix(mat4 m) {"),s.push(" return (m[2][3] == - 1.0);"),s.push("}"),s.push("out float isPerspective;")),t&&(s.push("out vec4 vWorldPosition;"),s.push("out float vFlags;")),s.push("out vec4 vColor;"),s.push("void main(void) {"),s.push("int silhouetteFlag = int(flags) >> 4 & 0xF;"),s.push("if (silhouetteFlag != renderPass) {"),s.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),s.push("} else {"),s.push(" vec4 worldPosition = worldMatrix * (positionsDecodeMatrix * vec4(position, 1.0)); "),e.entityOffsetsEnabled&&s.push(" worldPosition.xyz = worldPosition.xyz + offset;"),s.push("vec4 viewPosition = viewMatrix * worldPosition; "),t&&(s.push("vWorldPosition = worldPosition;"),s.push("vFlags = flags;")),s.push("vColor = vec4(silhouetteColor.r, silhouetteColor.g, silhouetteColor.b, min(silhouetteColor.a, float(color.a) / 255.0));"),s.push("vec4 clipPos = projMatrix * viewPosition;"),e.logarithmicDepthBufferEnabled&&(s.push("vFragDepth = 1.0 + clipPos.w;"),s.push("isPerspective = float (isPerspectiveMatrix(projMatrix));")),s.push("gl_Position = clipPos;"),s.push("}"),s.push("}"),s}_buildFragmentShader(){const e=this._scene,t=e._sectionPlanesState;let s,n;const i=t.getNumAllocatedSectionPlanes()>0,a=[];if(a.push("#version 300 es"),a.push("// Triangles batching silhouette fragment shader"),a.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),a.push("precision highp float;"),a.push("precision highp int;"),a.push("#else"),a.push("precision mediump float;"),a.push("precision mediump int;"),a.push("#endif"),e.logarithmicDepthBufferEnabled&&(a.push("in float isPerspective;"),a.push("uniform float logDepthBufFC;"),a.push("in float vFragDepth;")),i)for(a.push("in vec4 vWorldPosition;"),a.push("in float vFlags;"),s=0,n=t.getNumAllocatedSectionPlanes();s> 16 & 0xF) == 1;"),a.push(" if (clippable) {"),a.push(" float dist = 0.0;"),s=0,n=t.getNumAllocatedSectionPlanes();s 0.0) { discard; }"),a.push("}")}return e.logarithmicDepthBufferEnabled&&a.push(" gl_FragDepth = isPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5;"),a.push("outColor = vColor;"),a.push("}"),a}}class ji extends Oi{drawLayer(e,t,s){super.drawLayer(e,t,s,{colorUniform:!0})}_buildVertexShader(){const e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,s=[];return s.push("#version 300 es"),s.push("// Batched geometry edges drawing vertex shader"),s.push("uniform int renderPass;"),s.push("uniform vec4 color;"),s.push("in vec3 position;"),e.entityOffsetsEnabled&&s.push("in vec3 offset;"),s.push("in float flags;"),this._addMatricesUniformBlockLines(s),e.logarithmicDepthBufferEnabled&&(s.push("uniform float logDepthBufFC;"),s.push("out float vFragDepth;"),s.push("bool isPerspectiveMatrix(mat4 m) {"),s.push(" return (m[2][3] == - 1.0);"),s.push("}"),s.push("out float isPerspective;")),t&&(s.push("out vec4 vWorldPosition;"),s.push("out float vFlags;")),s.push("out vec4 vColor;"),s.push("void main(void) {"),s.push("int edgeFlag = int(flags) >> 8 & 0xF;"),s.push("if (edgeFlag != renderPass) {"),s.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),s.push("} else {"),s.push(" vec4 worldPosition = worldMatrix * (positionsDecodeMatrix * vec4(position, 1.0)); "),e.entityOffsetsEnabled&&s.push(" worldPosition.xyz = worldPosition.xyz + offset;"),s.push(" vec4 viewPosition = viewMatrix * worldPosition; "),t&&(s.push(" vWorldPosition = worldPosition;"),s.push(" vFlags = flags;")),s.push("vec4 clipPos = projMatrix * viewPosition;"),e.logarithmicDepthBufferEnabled&&(s.push("vFragDepth = 1.0 + clipPos.w;"),s.push("isPerspective = float (isPerspectiveMatrix(projMatrix));")),s.push("gl_Position = clipPos;"),s.push("vColor = vec4(color.r, color.g, color.b, color.a);"),s.push("}"),s.push("}"),s}_buildFragmentShader(){const e=this._scene,t=e._sectionPlanesState,s=t.getNumAllocatedSectionPlanes()>0,n=[];if(n.push("#version 300 es"),n.push("// Batched geometry edges drawing fragment shader"),n.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),n.push("precision highp float;"),n.push("precision highp int;"),n.push("#else"),n.push("precision mediump float;"),n.push("precision mediump int;"),n.push("#endif"),e.logarithmicDepthBufferEnabled&&(n.push("in float isPerspective;"),n.push("uniform float logDepthBufFC;"),n.push("in float vFragDepth;")),s){n.push("in vec4 vWorldPosition;"),n.push("in float vFlags;");for(let e=0,s=t.getNumAllocatedSectionPlanes();e> 16 & 0xF) == 1;"),n.push(" if (clippable) {"),n.push(" float dist = 0.0;");for(let e=0,s=t.getNumAllocatedSectionPlanes();e 0.0) { discard; }"),n.push("}")}return e.logarithmicDepthBufferEnabled&&n.push(" gl_FragDepth = isPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5;"),n.push("outColor = vColor;"),n.push("}"),n}}class Vi extends Oi{_buildVertexShader(){const e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,s=[];return s.push("#version 300 es"),s.push("// Batched geometry edges drawing vertex shader"),s.push("uniform int renderPass;"),s.push("in vec3 position;"),s.push("in vec4 color;"),e.entityOffsetsEnabled&&s.push("in vec3 offset;"),s.push("in float flags;"),this._addMatricesUniformBlockLines(s),e.logarithmicDepthBufferEnabled&&(s.push("uniform float logDepthBufFC;"),s.push("out float vFragDepth;"),s.push("bool isPerspectiveMatrix(mat4 m) {"),s.push(" return (m[2][3] == - 1.0);"),s.push("}"),s.push("out float isPerspective;")),t&&(s.push("out vec4 vWorldPosition;"),s.push("out float vFlags;")),s.push("out vec4 vColor;"),s.push("void main(void) {"),s.push("int edgeFlag = int(flags) >> 8 & 0xF;"),s.push("if (edgeFlag != renderPass) {"),s.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),s.push("} else {"),s.push(" vec4 worldPosition = worldMatrix * (positionsDecodeMatrix * vec4(position, 1.0)); "),e.entityOffsetsEnabled&&s.push(" worldPosition.xyz = worldPosition.xyz + offset;"),s.push(" vec4 viewPosition = viewMatrix * worldPosition; "),t&&(s.push(" vWorldPosition = worldPosition;"),s.push(" vFlags = flags;")),s.push("vec4 clipPos = projMatrix * viewPosition;"),e.logarithmicDepthBufferEnabled&&(s.push("vFragDepth = 1.0 + clipPos.w;"),s.push("isPerspective = float (isPerspectiveMatrix(projMatrix));")),s.push("gl_Position = clipPos;"),s.push("vColor = vec4(float(color.r*0.5) / 255.0, float(color.g*0.5) / 255.0, float(color.b*0.5) / 255.0, float(color.a) / 255.0);"),s.push("}"),s.push("}"),s}_buildFragmentShader(){const e=this._scene,t=e._sectionPlanesState,s=t.getNumAllocatedSectionPlanes()>0,n=[];if(n.push("#version 300 es"),n.push("// Batched geometry edges drawing fragment shader"),n.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),n.push("precision highp float;"),n.push("precision highp int;"),n.push("#else"),n.push("precision mediump float;"),n.push("precision mediump int;"),n.push("#endif"),e.logarithmicDepthBufferEnabled&&(n.push("in float isPerspective;"),n.push("uniform float logDepthBufFC;"),n.push("in float vFragDepth;")),s){n.push("in vec4 vWorldPosition;"),n.push("in float vFlags;");for(let e=0,s=t.getNumAllocatedSectionPlanes();e> 16 & 0xF) == 1;"),n.push(" if (clippable) {"),n.push(" float dist = 0.0;");for(let e=0,s=t.getNumAllocatedSectionPlanes();e 0.0) { discard; }"),n.push("}")}return e.logarithmicDepthBufferEnabled&&n.push(" gl_FragDepth = isPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5;"),n.push("outColor = vColor;"),n.push("}"),n}}class ki extends Bi{_buildVertexShader(){const e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,s=[];return s.push("#version 300 es"),s.push("// Batched geometry picking vertex shader"),s.push("uniform int renderPass;"),s.push("in vec3 position;"),e.entityOffsetsEnabled&&s.push("in vec3 offset;"),s.push("in float flags;"),s.push("in vec4 pickColor;"),s.push("uniform bool pickInvisible;"),this._addMatricesUniformBlockLines(s),e.logarithmicDepthBufferEnabled&&(s.push("uniform float logDepthBufFC;"),s.push("out float vFragDepth;"),s.push("bool isPerspectiveMatrix(mat4 m) {"),s.push(" return (m[2][3] == - 1.0);"),s.push("}"),s.push("out float isPerspective;")),t&&(s.push("out vec4 vWorldPosition;"),s.push("out float vFlags;")),this._addRemapClipPosLines(s),s.push("out vec4 vPickColor;"),s.push("void main(void) {"),s.push("int pickFlag = int(flags) >> 12 & 0xF;"),s.push("if (pickFlag != renderPass) {"),s.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),s.push(" } else {"),s.push(" vec4 worldPosition = worldMatrix * (positionsDecodeMatrix * vec4(position, 1.0)); "),e.entityOffsetsEnabled&&s.push(" worldPosition.xyz = worldPosition.xyz + offset;"),s.push(" vec4 viewPosition = viewMatrix * worldPosition; "),s.push(" vPickColor = vec4(float(pickColor.r) / 255.0, float(pickColor.g) / 255.0, float(pickColor.b) / 255.0, float(pickColor.a) / 255.0);"),t&&(s.push(" vWorldPosition = worldPosition;"),s.push(" vFlags = flags;")),s.push("vec4 clipPos = projMatrix * viewPosition;"),e.logarithmicDepthBufferEnabled&&(s.push("vFragDepth = 1.0 + clipPos.w;"),s.push("isPerspective = float (isPerspectiveMatrix(projMatrix));")),s.push("gl_Position = remapClipPos(clipPos);"),s.push(" }"),s.push("}"),s}_buildFragmentShader(){const e=this._scene,t=e._sectionPlanesState,s=t.getNumAllocatedSectionPlanes()>0,n=[];if(n.push("#version 300 es"),n.push("// Batched geometry picking fragment shader"),n.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),n.push("precision highp float;"),n.push("precision highp int;"),n.push("#else"),n.push("precision mediump float;"),n.push("precision mediump int;"),n.push("#endif"),e.logarithmicDepthBufferEnabled&&(n.push("in float isPerspective;"),n.push("uniform float logDepthBufFC;"),n.push("in float vFragDepth;")),s){n.push("in vec4 vWorldPosition;"),n.push("in float vFlags;");for(var i=0;i> 16 & 0xF) == 1;"),n.push(" if (clippable) {"),n.push(" float dist = 0.0;");for(let e=0;e 0.0) { discard; }"),n.push(" }")}return e.logarithmicDepthBufferEnabled&&n.push(" gl_FragDepth = isPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5;"),n.push(" outColor = vPickColor; "),n.push("}"),n}}class Qi extends Bi{_buildVertexShader(){const e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,s=[];return s.push("#version 300 es"),s.push("// Triangles batching pick depth vertex shader"),s.push("uniform int renderPass;"),s.push("in vec3 position;"),e.entityOffsetsEnabled&&s.push("in vec3 offset;"),s.push("in float flags;"),s.push("uniform bool pickInvisible;"),this._addMatricesUniformBlockLines(s),e.logarithmicDepthBufferEnabled&&(s.push("uniform float logDepthBufFC;"),s.push("out float vFragDepth;"),s.push("bool isPerspectiveMatrix(mat4 m) {"),s.push(" return (m[2][3] == - 1.0);"),s.push("}"),s.push("out float isPerspective;")),t&&(s.push("out vec4 vWorldPosition;"),s.push("out float vFlags;")),this._addRemapClipPosLines(s),s.push("out vec4 vViewPosition;"),s.push("void main(void) {"),s.push("int pickFlag = int(flags) >> 12 & 0xF;"),s.push("if (pickFlag != renderPass) {"),s.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),s.push(" } else {"),s.push(" vec4 worldPosition = worldMatrix * (positionsDecodeMatrix * vec4(position, 1.0)); "),e.entityOffsetsEnabled&&s.push(" worldPosition.xyz = worldPosition.xyz + offset;"),s.push(" vec4 viewPosition = viewMatrix * worldPosition; "),t&&(s.push(" vWorldPosition = worldPosition;"),s.push(" vFlags = flags;")),s.push("vViewPosition = viewPosition;"),s.push("vec4 clipPos = projMatrix * viewPosition;"),e.logarithmicDepthBufferEnabled&&(s.push("vFragDepth = 1.0 + clipPos.w;"),s.push("isPerspective = float (isPerspectiveMatrix(projMatrix));")),s.push("gl_Position = remapClipPos(clipPos);"),s.push(" }"),s.push("}"),s}_buildFragmentShader(){const e=this._scene,t=e._sectionPlanesState,s=t.getNumAllocatedSectionPlanes()>0,n=[];if(n.push("#version 300 es"),n.push("// Triangles batching pick depth fragment shader"),n.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),n.push("precision highp float;"),n.push("precision highp int;"),n.push("#else"),n.push("precision mediump float;"),n.push("precision mediump int;"),n.push("#endif"),e.logarithmicDepthBufferEnabled&&(n.push("in float isPerspective;"),n.push("uniform float logDepthBufFC;"),n.push("in float vFragDepth;")),n.push("uniform float pickZNear;"),n.push("uniform float pickZFar;"),s){n.push("in vec4 vWorldPosition;"),n.push("in float vFlags;");for(var i=0;i> 16 & 0xF) == 1;"),n.push(" if (clippable) {"),n.push(" float dist = 0.0;");for(let e=0;e 0.0) { discard; }"),n.push(" }")}return e.logarithmicDepthBufferEnabled&&n.push(" gl_FragDepth = isPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5;"),n.push(" float zNormalizedDepth = abs((pickZNear + vViewPosition.z) / (pickZFar - pickZNear));"),n.push(" outColor = packDepth(zNormalizedDepth); "),n.push("}"),n}}class Wi extends Bi{_buildVertexShader(){const e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,s=[];return s.push("#version 300 es"),s.push("// Triangles batching pick normals vertex shader"),s.push("uniform int renderPass;"),s.push("in vec3 position;"),e.entityOffsetsEnabled&&s.push("in vec3 offset;"),s.push("in vec3 normal;"),s.push("in float flags;"),s.push("uniform bool pickInvisible;"),this._addMatricesUniformBlockLines(s),this._addRemapClipPosLines(s,3),e.logarithmicDepthBufferEnabled&&(s.push("uniform float logDepthBufFC;"),s.push("out float vFragDepth;"),s.push("bool isPerspectiveMatrix(mat4 m) {"),s.push(" return (m[2][3] == - 1.0);"),s.push("}"),s.push("out float isPerspective;")),s.push("vec3 octDecode(vec2 oct) {"),s.push(" vec3 v = vec3(oct.xy, 1.0 - abs(oct.x) - abs(oct.y));"),s.push(" if (v.z < 0.0) {"),s.push(" v.xy = (1.0 - abs(v.yx)) * vec2(v.x >= 0.0 ? 1.0 : -1.0, v.y >= 0.0 ? 1.0 : -1.0);"),s.push(" }"),s.push(" return normalize(v);"),s.push("}"),t&&(s.push("out vec4 vWorldPosition;"),s.push("out float vFlags;")),s.push("out vec3 vWorldNormal;"),s.push("out vec4 outColor;"),s.push("void main(void) {"),s.push("int pickFlag = int(flags) >> 12 & 0xF;"),s.push("if (pickFlag != renderPass) {"),s.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),s.push(" } else {"),s.push(" vec4 worldPosition = worldMatrix * (positionsDecodeMatrix * vec4(position, 1.0)); "),e.entityOffsetsEnabled&&s.push(" worldPosition.xyz = worldPosition.xyz + offset;"),s.push(" vec4 viewPosition = viewMatrix * worldPosition; "),s.push(" vec3 worldNormal = octDecode(normal.xy); "),s.push(" vWorldNormal = worldNormal;"),t&&(s.push(" vWorldPosition = worldPosition;"),s.push(" vFlags = flags;")),s.push("vec4 clipPos = projMatrix * viewPosition;"),e.logarithmicDepthBufferEnabled&&(s.push("vFragDepth = 1.0 + clipPos.w;"),s.push("isPerspective = float (isPerspectiveMatrix(projMatrix));")),s.push("gl_Position = remapClipPos(clipPos);"),s.push(" }"),s.push("}"),s}_buildFragmentShader(){const e=this._scene,t=e._sectionPlanesState,s=t.getNumAllocatedSectionPlanes()>0,n=[];if(n.push("#version 300 es"),n.push("// Triangles batching pick normals fragment shader"),n.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),n.push("precision highp float;"),n.push("precision highp int;"),n.push("#else"),n.push("precision mediump float;"),n.push("precision mediump int;"),n.push("#endif"),e.logarithmicDepthBufferEnabled&&(n.push("in float isPerspective;"),n.push("uniform float logDepthBufFC;"),n.push("in float vFragDepth;")),s){n.push("in vec4 vWorldPosition;"),n.push("in float vFlags;");for(var i=0;i> 16 & 0xF) == 1;"),n.push(" if (clippable) {"),n.push(" float dist = 0.0;");for(let e=0;e 0.0) { discard; }"),n.push(" }")}return e.logarithmicDepthBufferEnabled&&n.push(" gl_FragDepth = isPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5;"),n.push(` outNormal = ivec4(vWorldNormal * float(${h.MAX_INT}), 1.0);`),n.push("}"),n}}class zi extends Bi{_buildVertexShader(){const e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,s=[];return s.push("#version 300 es"),s.push("// Triangles batching occlusion vertex shader"),s.push("uniform int renderPass;"),s.push("in vec3 position;"),e.entityOffsetsEnabled&&s.push("in vec3 offset;"),s.push("in vec4 color;"),s.push("in float flags;"),this._addMatricesUniformBlockLines(s),t&&(s.push("out vec4 vWorldPosition;"),s.push("out float vFlags;")),s.push("void main(void) {"),s.push("int colorFlag = int(flags) & 0xF;"),s.push("if (colorFlag != renderPass) {"),s.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),s.push(" } else {"),s.push(" vec4 worldPosition = worldMatrix * (positionsDecodeMatrix * vec4(position, 1.0)); "),e.entityOffsetsEnabled&&s.push(" worldPosition.xyz = worldPosition.xyz + offset;"),s.push(" vec4 viewPosition = viewMatrix * worldPosition; "),t&&(s.push(" vWorldPosition = worldPosition;"),s.push(" vFlags = flags;")),s.push("vec4 clipPos = projMatrix * viewPosition;"),s.push("gl_Position = clipPos;"),s.push(" }"),s.push("}"),s}_buildFragmentShader(){const e=this._scene._sectionPlanesState,t=e.getNumAllocatedSectionPlanes()>0,s=[];if(s.push("#version 300 es"),s.push("// Triangles batching occlusion fragment shader"),s.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),s.push("precision highp float;"),s.push("precision highp int;"),s.push("#else"),s.push("precision mediump float;"),s.push("precision mediump int;"),s.push("#endif"),t){s.push("in vec4 vWorldPosition;"),s.push("in float vFlags;");for(let t=0;t> 16 & 0xF) == 1;"),s.push(" if (clippable) {"),s.push(" float dist = 0.0;");for(let t=0;t 0.0) { discard; }"),s.push(" }")}return s.push(" outColor = vec4(0.0, 0.0, 1.0, 1.0); "),s.push("}"),s}}class Ki extends Bi{_buildVertexShader(){const e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,s=[];return s.push("#version 300 es"),s.push("// Triangles batching depth vertex shader"),s.push("uniform int renderPass;"),s.push("in vec3 position;"),e.entityOffsetsEnabled&&s.push("in vec3 offset;"),s.push("in float flags;"),this._addMatricesUniformBlockLines(s),e.logarithmicDepthBufferEnabled&&(s.push("uniform float logDepthBufFC;"),s.push("out float vFragDepth;"),s.push("bool isPerspectiveMatrix(mat4 m) {"),s.push(" return (m[2][3] == - 1.0);"),s.push("}"),s.push("out float isPerspective;")),t&&(s.push("out vec4 vWorldPosition;"),s.push("out float vFlags;")),s.push("out vec2 vHighPrecisionZW;"),s.push("void main(void) {"),s.push("int colorFlag = int(flags) & 0xF;"),s.push("if (colorFlag != renderPass) {"),s.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),s.push(" } else {"),s.push(" vec4 worldPosition = worldMatrix * (positionsDecodeMatrix * vec4(position, 1.0)); "),e.entityOffsetsEnabled&&s.push(" worldPosition.xyz = worldPosition.xyz + offset;"),s.push(" vec4 viewPosition = viewMatrix * worldPosition; "),t&&(s.push(" vWorldPosition = worldPosition;"),s.push(" vFlags = flags;")),s.push("vec4 clipPos = projMatrix * viewPosition;"),e.logarithmicDepthBufferEnabled&&(s.push("vFragDepth = 1.0 + clipPos.w;"),s.push("isPerspective = float (isPerspectiveMatrix(projMatrix));")),s.push("gl_Position = clipPos;"),s.push("vHighPrecisionZW = gl_Position.zw;"),s.push(" }"),s.push("}"),s}_buildFragmentShader(){const e=this._scene,t=e._sectionPlanesState,s=t.getNumAllocatedSectionPlanes()>0,n=[];if(n.push("#version 300 es"),n.push("// Triangles batching depth fragment shader"),n.push("precision highp float;"),n.push("precision highp int;"),e.logarithmicDepthBufferEnabled&&(n.push("in float isPerspective;"),n.push("uniform float logDepthBufFC;"),n.push("in float vFragDepth;")),s){n.push("in vec4 vWorldPosition;"),n.push("in float vFlags;");for(let e=0;e> 16 & 0xF) == 1;"),n.push(" if (clippable) {"),n.push(" float dist = 0.0;");for(var i=0;i 0.0) { discard; }"),n.push(" }")}return e.logarithmicDepthBufferEnabled&&n.push(" gl_FragDepth = isPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5;"),n.push("float fragCoordZ = 0.5 * vHighPrecisionZW[0] / vHighPrecisionZW[1] + 0.5;"),n.push(" outColor = vec4(vec3(1.0 - fragCoordZ), 1.0); "),n.push("}"),n}}class Yi extends Bi{_buildVertexShader(){const e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,s=[];return s.push("#version 300 es"),s.push("// Batched geometry normals vertex shader"),s.push("uniform int renderPass;"),s.push("in vec3 position;"),e.entityOffsetsEnabled&&s.push("in vec3 offset;"),s.push("in vec3 normal;"),s.push("in vec4 color;"),s.push("in float flags;"),this._addMatricesUniformBlockLines(s,!0),e.logarithmicDepthBufferEnabled&&(s.push("uniform float logDepthBufFC;"),s.push("out float vFragDepth;"),s.push("bool isPerspectiveMatrix(mat4 m) {"),s.push(" return (m[2][3] == - 1.0);"),s.push("}"),s.push("out float isPerspective;")),s.push("vec3 octDecode(vec2 oct) {"),s.push(" vec3 v = vec3(oct.xy, 1.0 - abs(oct.x) - abs(oct.y));"),s.push(" if (v.z < 0.0) {"),s.push(" v.xy = (1.0 - abs(v.yx)) * vec2(v.x >= 0.0 ? 1.0 : -1.0, v.y >= 0.0 ? 1.0 : -1.0);"),s.push(" }"),s.push(" return normalize(v);"),s.push("}"),t&&(s.push("out vec4 vWorldPosition;"),s.push("out float vFlags;")),s.push("out vec3 vViewNormal;"),s.push("void main(void) {"),s.push("int colorFlag = int(flags) & 0xF;"),s.push("if (colorFlag != renderPass) {"),s.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),s.push(" } else {"),s.push(" vec4 worldPosition = worldMatrix * (positionsDecodeMatrix * vec4(position, 1.0)); "),e.entityOffsetsEnabled&&s.push(" worldPosition.xyz = worldPosition.xyz + offset;"),s.push(" vec4 viewPosition = viewMatrix * worldPosition; "),s.push(" vec4 worldNormal = worldNormalMatrix * vec4(octDecode(normal.xy), 0.0); "),s.push(" vec3 viewNormal = normalize((viewNormalMatrix * worldNormal).xyz);"),t&&(s.push(" vWorldPosition = worldPosition;"),s.push(" vFlags = flags;")),s.push(" vViewNormal = viewNormal;"),s.push("vec4 clipPos = projMatrix * viewPosition;"),e.logarithmicDepthBufferEnabled&&(s.push("vFragDepth = 1.0 + clipPos.w;"),s.push("isPerspective = float (isPerspectiveMatrix(projMatrix));")),s.push("gl_Position = clipPos;"),s.push(" }"),s.push("}"),s}_buildFragmentShader(){const e=this._scene,t=e._sectionPlanesState,s=t.getNumAllocatedSectionPlanes()>0,n=[];if(n.push("#version 300 es"),n.push("// Batched geometry normals fragment shader"),n.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),n.push("precision highp float;"),n.push("precision highp int;"),n.push("#else"),n.push("precision mediump float;"),n.push("precision mediump int;"),n.push("#endif"),e.logarithmicDepthBufferEnabled&&(n.push("in float isPerspective;"),n.push("uniform float logDepthBufFC;"),n.push("in float vFragDepth;")),s){n.push("in vec4 vWorldPosition;"),n.push("in float vFlags;");for(let e=0;e> 16 & 0xF) == 1;"),n.push(" if (clippable) {"),n.push(" float dist = 0.0;");for(var i=0;i 0.0) { discard; }"),n.push(" }")}return e.logarithmicDepthBufferEnabled&&n.push(" gl_FragDepth = isPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5;"),n.push(" outColor = vec4(packNormalToRGB(vViewNormal), 1.0); "),n.push("}"),n}}class Xi extends Bi{_buildVertexShader(){const e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,s=[];return s.push("#version 300 es"),s.push("// Batched geometry shadow vertex shader"),s.push("in vec3 position;"),e.entityOffsetsEnabled&&s.push("in vec3 offset;"),s.push("in vec4 color;"),s.push("in float flags;"),s.push("uniform mat4 shadowViewMatrix;"),s.push("uniform mat4 shadowProjMatrix;"),this._addMatricesUniformBlockLines(s),t&&(s.push("out vec4 vWorldPosition;"),s.push("out float vFlags;")),s.push("out vec4 vViewPosition;"),s.push("out vec4 outColor;"),s.push("void main(void) {"),s.push(" int colorFlag = int(flags) & 0xF;"),s.push(" bool visible = (colorFlag > 0);"),s.push(" bool transparent = ((float(color.a) / 255.0) < 1.0);"),s.push(" if (!visible || transparent) {"),s.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),s.push(" } else {"),s.push(" vec4 worldPosition = positionsDecodeMatrix * vec4(position, 1.0); "),e.entityOffsetsEnabled&&s.push(" worldPosition.xyz = worldPosition.xyz + offset;"),s.push(" vec4 viewPosition = shadowViewMatrix * worldPosition; "),t&&(s.push(" vWorldPosition = worldPosition;"),s.push(" vFlags = flags;")),s.push(" vViewPosition = viewPosition;"),s.push(" gl_Position = shadowProjMatrix * viewPosition;"),s.push(" }"),s.push("}"),s}_buildFragmentShader(){const e=this._scene._sectionPlanesState,t=e.getNumAllocatedSectionPlanes()>0,s=[];if(s.push("#version 300 es"),s.push("// Batched geometry shadow fragment shader"),s.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),s.push("precision highp float;"),s.push("precision highp int;"),s.push("#else"),s.push("precision mediump float;"),s.push("precision mediump int;"),s.push("#endif"),t){s.push("in vec4 vWorldPosition;"),s.push("in float vFlags;");for(let t=0;t> 16 & 0xF) == 1;"),s.push(" if (clippable) {"),s.push(" float dist = 0.0;");for(var n=0;n 0.0) { discard; }"),s.push(" }")}return s.push(" outColor = encodeFloat( gl_FragCoord.z); "),s.push("}"),s}}class qi extends Bi{_getHash(){const e=this._scene;return[e.gammaOutput,e._lightsState.getHash(),e._sectionPlanesState.getHash(),this._withSAO?"sao":"nosao"].join(";")}drawLayer(e,t,s){super.drawLayer(e,t,s,{incrementDrawState:!0})}_buildVertexShader(){const e=this._scene,t=e._sectionPlanesState,s=e._lightsState,n=t.getNumAllocatedSectionPlanes()>0,i=t.clippingCaps,a=[];return a.push("#version 300 es"),a.push("// Triangles batching quality draw vertex shader"),a.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),a.push("precision highp float;"),a.push("precision highp int;"),a.push("precision highp usampler2D;"),a.push("precision highp isampler2D;"),a.push("precision highp sampler2D;"),a.push("#else"),a.push("precision mediump float;"),a.push("precision mediump int;"),a.push("precision mediump usampler2D;"),a.push("precision mediump isampler2D;"),a.push("precision mediump sampler2D;"),a.push("#endif"),a.push("uniform int renderPass;"),a.push("in vec3 position;"),a.push("in vec3 normal;"),a.push("in vec4 color;"),a.push("in vec2 uv;"),a.push("in vec2 metallicRoughness;"),a.push("in float flags;"),e.entityOffsetsEnabled&&a.push("in vec3 offset;"),this._addMatricesUniformBlockLines(a,!0),a.push("uniform mat3 uvDecodeMatrix;"),e.logarithmicDepthBufferEnabled&&(a.push("uniform float logDepthBufFC;"),a.push("out float vFragDepth;"),a.push("bool isPerspectiveMatrix(mat4 m) {"),a.push(" return (m[2][3] == - 1.0);"),a.push("}"),a.push("out float isPerspective;")),a.push("vec3 octDecode(vec2 oct) {"),a.push(" vec3 v = vec3(oct.xy, 1.0 - abs(oct.x) - abs(oct.y));"),a.push(" if (v.z < 0.0) {"),a.push(" v.xy = (1.0 - abs(v.yx)) * vec2(v.x >= 0.0 ? 1.0 : -1.0, v.y >= 0.0 ? 1.0 : -1.0);"),a.push(" }"),a.push(" return normalize(v);"),a.push("}"),a.push("out vec4 vViewPosition;"),a.push("out vec3 vViewNormal;"),a.push("out vec4 vColor;"),a.push("out vec2 vUV;"),a.push("out vec2 vMetallicRoughness;"),s.lightMaps.length>0&&a.push("out vec3 vWorldNormal;"),n&&(a.push("out vec4 vWorldPosition;"),a.push("out float vFlags;"),i&&a.push("out vec4 vClipPosition;")),a.push("void main(void) {"),a.push("int colorFlag = int(flags) & 0xF;"),a.push("if (colorFlag != renderPass) {"),a.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),a.push("} else {"),a.push("vec4 worldPosition = worldMatrix * (positionsDecodeMatrix * vec4(position, 1.0)); "),e.entityOffsetsEnabled&&a.push("worldPosition.xyz = worldPosition.xyz + offset;"),a.push("vec4 viewPosition = viewMatrix * worldPosition; "),a.push("vec4 worldNormal = worldNormalMatrix * vec4(octDecode(normal.xy), 0.0); "),a.push("vec3 viewNormal = normalize((viewNormalMatrix * worldNormal).xyz);"),a.push("vec4 clipPos = projMatrix * viewPosition;"),e.logarithmicDepthBufferEnabled&&(a.push("isPerspective = float (isPerspectiveMatrix(projMatrix));"),a.push("vFragDepth = 1.0 + clipPos.w;")),n&&(a.push("vWorldPosition = worldPosition;"),a.push("vFlags = flags;"),i&&a.push("vClipPosition = clipPos;")),a.push("vViewPosition = viewPosition;"),a.push("vViewNormal = viewNormal;"),a.push("vColor = color;"),a.push("vUV = (uvDecodeMatrix * vec3(uv, 1.0)).xy;"),a.push("vMetallicRoughness = metallicRoughness;"),s.lightMaps.length>0&&a.push("vWorldNormal = worldNormal.xyz;"),a.push("gl_Position = clipPos;"),a.push("}"),a.push("}"),a}_buildFragmentShader(){const e=this._scene,t=e.gammaOutput,s=e._sectionPlanesState,n=e._lightsState,i=s.getNumAllocatedSectionPlanes()>0,a=s.clippingCaps,r=[];r.push("#version 300 es"),r.push("// Triangles batching quality draw fragment shader"),r.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),r.push("precision highp float;"),r.push("precision highp int;"),r.push("#else"),r.push("precision mediump float;"),r.push("precision mediump int;"),r.push("#endif"),e.logarithmicDepthBufferEnabled&&(r.push("in float isPerspective;"),r.push("uniform float logDepthBufFC;"),r.push("in float vFragDepth;")),r.push("uniform sampler2D uColorMap;"),r.push("uniform sampler2D uMetallicRoughMap;"),r.push("uniform sampler2D uEmissiveMap;"),r.push("uniform sampler2D uNormalMap;"),r.push("uniform sampler2D uAOMap;"),r.push("in vec4 vViewPosition;"),r.push("in vec3 vViewNormal;"),r.push("in vec4 vColor;"),r.push("in vec2 vUV;"),r.push("in vec2 vMetallicRoughness;"),n.lightMaps.length>0&&r.push("in vec3 vWorldNormal;"),this._addMatricesUniformBlockLines(r,!0),n.reflectionMaps.length>0&&r.push("uniform samplerCube reflectionMap;"),n.lightMaps.length>0&&r.push("uniform samplerCube lightMap;"),r.push("uniform vec4 lightAmbient;");for(let e=0,t=n.lights.length;e0&&(r.push("vec3 getLightProbeIndirectRadiance(const in vec3 reflectVec, const in float blinnShininessExponent, const in int maxMIPLevel) {"),r.push(" float mipLevel = 0.5 * getSpecularMIPLevel(blinnShininessExponent, maxMIPLevel);"),r.push(" vec3 envMapColor = sRGBToLinear(texture(reflectionMap, reflectVec, mipLevel)).rgb;"),r.push(" return envMapColor;"),r.push("}")),r.push("vec3 F_Schlick(const in vec3 specularColor, const in float dotLH) {"),r.push(" float fresnel = exp2( ( -5.55473 * dotLH - 6.98316 ) * dotLH );"),r.push(" return ( 1.0 - specularColor ) * fresnel + specularColor;"),r.push("}"),r.push("float G_GGX_Smith(const in float alpha, const in float dotNL, const in float dotNV) {"),r.push(" float a2 = ( alpha * alpha );"),r.push(" float gl = dotNL + sqrt( a2 + ( 1.0 - a2 ) * ( dotNL * dotNL ) );"),r.push(" float gv = dotNV + sqrt( a2 + ( 1.0 - a2 ) * ( dotNV * dotNV ) );"),r.push(" return 1.0 / ( gl * gv );"),r.push("}"),r.push("float G_GGX_SmithCorrelated(const in float alpha, const in float dotNL, const in float dotNV) {"),r.push(" float a2 = ( alpha * alpha );"),r.push(" float gv = dotNL * sqrt( a2 + ( 1.0 - a2 ) * ( dotNV * dotNV ) );"),r.push(" float gl = dotNV * sqrt( a2 + ( 1.0 - a2 ) * ( dotNL * dotNL ) );"),r.push(" return 0.5 / max( gv + gl, EPSILON );"),r.push("}"),r.push("float D_GGX(const in float alpha, const in float dotNH) {"),r.push(" float a2 = ( alpha * alpha );"),r.push(" float denom = ( dotNH * dotNH) * ( a2 - 1.0 ) + 1.0;"),r.push(" return RECIPROCAL_PI * a2 / ( denom * denom);"),r.push("}"),r.push("vec3 BRDF_Specular_GGX(const in IncidentLight incidentLight, const in Geometry geometry, const in vec3 specularColor, const in float roughness) {"),r.push(" float alpha = ( roughness * roughness );"),r.push(" vec3 halfDir = normalize( incidentLight.direction + geometry.viewEyeDir );"),r.push(" float dotNL = saturate( dot( geometry.viewNormal, incidentLight.direction ) );"),r.push(" float dotNV = saturate( dot( geometry.viewNormal, geometry.viewEyeDir ) );"),r.push(" float dotNH = saturate( dot( geometry.viewNormal, halfDir ) );"),r.push(" float dotLH = saturate( dot( incidentLight.direction, halfDir ) );"),r.push(" vec3 F = F_Schlick( specularColor, dotLH );"),r.push(" float G = G_GGX_SmithCorrelated( alpha, dotNL, dotNV );"),r.push(" float D = D_GGX( alpha, dotNH );"),r.push(" return F * (G * D);"),r.push("}"),r.push("vec3 BRDF_Specular_GGX_Environment(const in Geometry geometry, const in vec3 specularColor, const in float roughness) {"),r.push(" float dotNV = saturate(dot(geometry.viewNormal, geometry.viewEyeDir));"),r.push(" const vec4 c0 = vec4( -1, -0.0275, -0.572, 0.022);"),r.push(" const vec4 c1 = vec4( 1, 0.0425, 1.04, -0.04);"),r.push(" vec4 r = roughness * c0 + c1;"),r.push(" float a004 = min(r.x * r.x, exp2(-9.28 * dotNV)) * r.x + r.y;"),r.push(" vec2 AB = vec2(-1.04, 1.04) * a004 + r.zw;"),r.push(" return specularColor * AB.x + AB.y;"),r.push("}"),(n.lightMaps.length>0||n.reflectionMaps.length>0)&&(r.push("void computePBRLightMapping(const in Geometry geometry, const in Material material, inout ReflectedLight reflectedLight) {"),n.lightMaps.length>0&&(r.push(" vec3 irradiance = sRGBToLinear(texture(lightMap, geometry.worldNormal)).rgb;"),r.push(" irradiance *= PI;"),r.push(" vec3 diffuseBRDFContrib = (RECIPROCAL_PI * material.diffuseColor);"),r.push(" reflectedLight.diffuse += irradiance * diffuseBRDFContrib;")),n.reflectionMaps.length>0&&(r.push(" vec3 reflectVec = reflect(geometry.viewEyeDir, geometry.viewNormal);"),r.push(" reflectVec = inverseTransformDirection(reflectVec, viewMatrix);"),r.push(" float blinnExpFromRoughness = GGXRoughnessToBlinnExponent(material.specularRoughness);"),r.push(" vec3 radiance = getLightProbeIndirectRadiance(reflectVec, blinnExpFromRoughness, 8);"),r.push(" vec3 specularBRDFContrib = BRDF_Specular_GGX_Environment(geometry, material.specularColor, material.specularRoughness);"),r.push(" reflectedLight.specular += radiance * specularBRDFContrib;")),r.push("}")),r.push("void computePBRLighting(const in IncidentLight incidentLight, const in Geometry geometry, const in Material material, inout ReflectedLight reflectedLight) {"),r.push(" float dotNL = saturate(dot(geometry.viewNormal, incidentLight.direction));"),r.push(" vec3 irradiance = dotNL * incidentLight.color * PI;"),r.push(" reflectedLight.diffuse += irradiance * (RECIPROCAL_PI * material.diffuseColor);"),r.push(" reflectedLight.specular += irradiance * BRDF_Specular_GGX(incidentLight, geometry, material.specularColor, material.specularRoughness);"),r.push("}"),r.push("out vec4 outColor;"),r.push("void main(void) {"),i){r.push(" bool clippable = (int(vFlags) >> 16 & 0xF) == 1;"),r.push(" if (clippable) {"),r.push(" float dist = 0.0;");for(let e=0,t=s.getNumAllocatedSectionPlanes();e (0.002 * vClipPosition.w)) {"),r.push(" discard;"),r.push(" }"),r.push(" if (dist > 0.0) { "),r.push(" outColor=vec4(1.0, 0.0, 0.0, 1.0);"),e.logarithmicDepthBufferEnabled&&r.push(" gl_FragDepth = log2( vFragDepth ) * logDepthBufFC * 0.5;"),r.push(" return;"),r.push("}")):(r.push(" if (dist > 0.0) { "),r.push(" discard;"),r.push(" }")),r.push("}")}r.push("IncidentLight light;"),r.push("Material material;"),r.push("Geometry geometry;"),r.push("ReflectedLight reflectedLight = ReflectedLight(vec3(0.0,0.0,0.0), vec3(0.0,0.0,0.0));"),r.push("vec3 rgb = (vec3(float(vColor.r) / 255.0, float(vColor.g) / 255.0, float(vColor.b) / 255.0));"),r.push("float opacity = float(vColor.a) / 255.0;"),r.push("vec3 baseColor = rgb;"),r.push("float specularF0 = 1.0;"),r.push("float metallic = float(vMetallicRoughness.r) / 255.0;"),r.push("float roughness = float(vMetallicRoughness.g) / 255.0;"),r.push("float dielectricSpecular = 0.16 * specularF0 * specularF0;"),r.push("vec4 colorTexel = sRGBToLinear(texture(uColorMap, vUV));"),r.push("baseColor *= colorTexel.rgb;"),r.push("vec3 metalRoughTexel = texture(uMetallicRoughMap, vUV).rgb;"),r.push("metallic *= metalRoughTexel.b;"),r.push("roughness *= metalRoughTexel.g;"),r.push("vec3 viewNormal = perturbNormal2Arb(vViewPosition.xyz, normalize(vViewNormal), vUV );"),r.push("material.diffuseColor = baseColor * (1.0 - dielectricSpecular) * (1.0 - metallic);"),r.push("material.specularRoughness = clamp(roughness, 0.04, 1.0);"),r.push("material.specularColor = mix(vec3(dielectricSpecular), baseColor, metallic);"),r.push("geometry.position = vViewPosition.xyz;"),r.push("geometry.viewNormal = -normalize(viewNormal);"),r.push("geometry.viewEyeDir = normalize(vViewPosition.xyz);"),n.lightMaps.length>0&&r.push("geometry.worldNormal = normalize(vWorldNormal);"),(n.lightMaps.length>0||n.reflectionMaps.length>0)&&r.push("computePBRLightMapping(geometry, material, reflectedLight);");for(let e=0,t=n.lights.length;e0,s=[];return s.push("#version 300 es"),s.push("// Triangles batching pick flat normals vertex shader"),s.push("uniform int renderPass;"),s.push("in vec3 position;"),e.entityOffsetsEnabled&&s.push("in vec3 offset;"),s.push("in float flags;"),s.push("uniform bool pickInvisible;"),this._addMatricesUniformBlockLines(s),this._addRemapClipPosLines(s,3),e.logarithmicDepthBufferEnabled&&(s.push("uniform float logDepthBufFC;"),s.push("out float vFragDepth;"),s.push("bool isPerspectiveMatrix(mat4 m) {"),s.push(" return (m[2][3] == - 1.0);"),s.push("}"),s.push("out float isPerspective;")),s.push("out vec4 vWorldPosition;"),t&&s.push("out float vFlags;"),s.push("void main(void) {"),s.push("int pickFlag = int(flags) >> 12 & 0xF;"),s.push("if (pickFlag != renderPass) {"),s.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),s.push(" } else {"),s.push(" vec4 worldPosition = worldMatrix * (positionsDecodeMatrix * vec4(position, 1.0)); "),e.entityOffsetsEnabled&&s.push(" worldPosition.xyz = worldPosition.xyz + offset;"),s.push(" vec4 viewPosition = viewMatrix * worldPosition; "),s.push(" vWorldPosition = worldPosition;"),t&&s.push(" vFlags = flags;"),s.push("vec4 clipPos = projMatrix * viewPosition;"),e.logarithmicDepthBufferEnabled&&(s.push("vFragDepth = 1.0 + clipPos.w;"),s.push("isPerspective = float (isPerspectiveMatrix(projMatrix));")),s.push("gl_Position = remapClipPos(clipPos);"),s.push(" }"),s.push("}"),s}_buildFragmentShader(){const e=this._scene,t=e._sectionPlanesState,s=t.getNumAllocatedSectionPlanes()>0,n=[];if(n.push("#version 300 es"),n.push("// Triangles batching pick flat normals fragment shader"),n.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),n.push("precision highp float;"),n.push("precision highp int;"),n.push("#else"),n.push("precision mediump float;"),n.push("precision mediump int;"),n.push("#endif"),e.logarithmicDepthBufferEnabled&&(n.push("in float isPerspective;"),n.push("uniform float logDepthBufFC;"),n.push("in float vFragDepth;")),n.push("in vec4 vWorldPosition;"),s){n.push("in float vFlags;");for(var i=0;i> 16 & 0xF) == 1;"),n.push(" if (clippable) {"),n.push(" float dist = 0.0;");for(let e=0;e 0.0) { discard; }"),n.push(" }")}return e.logarithmicDepthBufferEnabled&&n.push(" gl_FragDepth = isPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5;"),n.push(" vec3 xTangent = dFdx( vWorldPosition.xyz );"),n.push(" vec3 yTangent = dFdy( vWorldPosition.xyz );"),n.push(" vec3 worldNormal = normalize( cross( xTangent, yTangent ) );"),n.push(` outNormal = ivec4(worldNormal * float(${h.MAX_INT}), 1.0);`),n.push("}"),n}}class Zi extends Bi{_getHash(){const e=this._scene;return[e.gammaOutput,e._lightsState.getHash(),e._sectionPlanesState.getHash(),this._withSAO?"sao":"nosao"].join(";")}drawLayer(e,t,s){super.drawLayer(e,t,s,{incrementDrawState:!0})}_buildVertexShader(){const e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,s=[];return s.push("#version 300 es"),s.push("// Triangles batching color texture vertex shader"),s.push("uniform int renderPass;"),s.push("in vec3 position;"),s.push("in vec4 color;"),s.push("in vec2 uv;"),s.push("in float flags;"),e.entityOffsetsEnabled&&s.push("in vec3 offset;"),this._addMatricesUniformBlockLines(s),s.push("uniform mat3 uvDecodeMatrix;"),e.logarithmicDepthBufferEnabled&&(s.push("uniform float logDepthBufFC;"),s.push("out float vFragDepth;"),s.push("bool isPerspectiveMatrix(mat4 m) {"),s.push(" return (m[2][3] == - 1.0);"),s.push("}"),s.push("out float isPerspective;")),t&&(s.push("out vec4 vWorldPosition;"),s.push("out float vFlags;")),s.push("out vec4 vViewPosition;"),s.push("out vec4 vColor;"),s.push("out vec2 vUV;"),s.push("void main(void) {"),s.push("int colorFlag = int(flags) & 0xF;"),s.push("if (colorFlag != renderPass) {"),s.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),s.push("} else {"),s.push("vec4 worldPosition = worldMatrix * (positionsDecodeMatrix * vec4(position, 1.0)); "),e.entityOffsetsEnabled&&s.push("worldPosition.xyz = worldPosition.xyz + offset;"),s.push("vec4 viewPosition = viewMatrix * worldPosition; "),s.push("vViewPosition = viewPosition;"),s.push("vColor = vec4(float(color.r) / 255.0, float(color.g) / 255.0, float(color.b) / 255.0, float(color.a) / 255.0);"),s.push("vUV = (uvDecodeMatrix * vec3(uv, 1.0)).xy;"),s.push("vec4 clipPos = projMatrix * viewPosition;"),e.logarithmicDepthBufferEnabled&&(s.push("vFragDepth = 1.0 + clipPos.w;"),s.push("isPerspective = float (isPerspectiveMatrix(projMatrix));")),t&&(s.push("vWorldPosition = worldPosition;"),s.push("vFlags = flags;")),s.push("gl_Position = clipPos;"),s.push("}"),s.push("}"),s}_buildFragmentShader(){const e=this._scene,t=e.gammaOutput,s=e._lightsState,n=e._sectionPlanesState,i=n.getNumAllocatedSectionPlanes()>0,a=[];if(a.push("#version 300 es"),a.push("// Triangles batching color texture fragment shader"),a.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),a.push("precision highp float;"),a.push("precision highp int;"),a.push("#else"),a.push("precision mediump float;"),a.push("precision mediump int;"),a.push("#endif"),e.logarithmicDepthBufferEnabled&&(a.push("in float isPerspective;"),a.push("uniform float logDepthBufFC;"),a.push("in float vFragDepth;")),a.push("uniform sampler2D uColorMap;"),this._withSAO&&(a.push("uniform sampler2D uOcclusionTexture;"),a.push("uniform vec4 uSAOParams;"),a.push("const float packUpscale = 256. / 255.;"),a.push("const float unpackDownScale = 255. / 256.;"),a.push("const vec3 packFactors = vec3( 256. * 256. * 256., 256. * 256., 256. );"),a.push("const vec4 unPackFactors = unpackDownScale / vec4( packFactors, 1. );"),a.push("float unpackRGBToFloat( const in vec4 v ) {"),a.push(" return dot( v, unPackFactors );"),a.push("}")),a.push("uniform float gammaFactor;"),a.push("vec4 linearToLinear( in vec4 value ) {"),a.push(" return value;"),a.push("}"),a.push("vec4 sRGBToLinear( in vec4 value ) {"),a.push(" return vec4( mix( pow( value.rgb * 0.9478672986 + vec3( 0.0521327014 ), vec3( 2.4 ) ), value.rgb * 0.0773993808, vec3( lessThanEqual( value.rgb, vec3( 0.04045 ) ) ) ), value.w );"),a.push("}"),a.push("vec4 gammaToLinear( in vec4 value) {"),a.push(" return vec4( pow( value.xyz, vec3( gammaFactor ) ), value.w );"),a.push("}"),t&&(a.push("vec4 linearToGamma( in vec4 value, in float gammaFactor ) {"),a.push(" return vec4( pow( value.xyz, vec3( 1.0 / gammaFactor ) ), value.w );"),a.push("}")),i){a.push("in vec4 vWorldPosition;"),a.push("in float vFlags;");for(let e=0,t=n.getNumAllocatedSectionPlanes();e> 16 & 0xF) == 1;"),a.push(" if (clippable) {"),a.push(" float dist = 0.0;");for(let e=0,t=n.getNumAllocatedSectionPlanes();e 0.0) { "),a.push(" discard;"),a.push(" }"),a.push("}")}a.push("vec3 reflectedColor = vec3(0.0, 0.0, 0.0);"),a.push("vec3 viewLightDir = vec3(0.0, 0.0, -1.0);"),a.push("float lambertian = 1.0;"),a.push("vec3 xTangent = dFdx( vViewPosition.xyz );"),a.push("vec3 yTangent = dFdy( vViewPosition.xyz );"),a.push("vec3 viewNormal = normalize( cross( xTangent, yTangent ) );");for(let e=0,t=s.lights.length;e5e6&&(e=5e6),this.maxVerts=e,this.maxIndices=3*e,this.positions=[],this.colors=[],this.uv=[],this.metallicRoughness=[],this.normals=[],this.pickColors=[],this.offsets=[],this.indices=[],this.edgeIndices=[]}}const sa=h.mat4(),na=h.mat4();function ia(e,t,s){const n=e.length,i=new Uint16Array(n),a=t[0],r=t[1],l=t[2],o=t[3]-a,c=t[4]-r,u=t[5]-l,p=65525,A=p/o,d=p/c,f=p/u,I=e=>e>=0?e:0;for(let t=0;t=0?1:-1),t=(1-Math.abs(n))*(i>=0?1:-1),n=e,i=t}return new Int8Array([Math[t](127.5*n+(n<0?-1:0)),Math[s](127.5*i+(i<0?-1:0))])}function la(e){let t=e[0],s=e[1];t/=t<0?127:128,s/=s<0?127:128;const n=1-Math.abs(t)-Math.abs(s);n<0&&(t=(1-Math.abs(s))*(t>=0?1:-1),s=(1-Math.abs(t))*(s>=0?1:-1));const i=Math.sqrt(t*t+s*s+n*n);return[t/i,s/i,n/i]}const oa=h.vec3(),ca=h.vec3(),ua=h.vec3(),ha=h.vec3(),pa=h.mat4();class Aa extends _i{drawLayer(e,t,s){if(!this._program&&(this._allocate(),this.errors))return;e.lastProgramId!==this._program.id&&(e.lastProgramId=this._program.id,this._bindProgram());const n=t.model,i=n.scene,a=i.camera,r=i.canvas.gl,l=t._state,o=t._state.origin,{position:c,rotationMatrix:u,rotationMatrixConjugate:p}=n,A=n.aabb,d=e.pickViewMatrix||a.viewMatrix;this._vaoCache.has(t)?r.bindVertexArray(this._vaoCache.get(t)):this._vaoCache.set(t,this._makeVAO(l));const f=oa;let I,y;if(f[0]=h.safeInv(A[3]-A[0])*h.MAX_INT,f[1]=h.safeInv(A[4]-A[1])*h.MAX_INT,f[2]=h.safeInv(A[5]-A[2])*h.MAX_INT,e.snapPickCoordinateScale[0]=h.safeInv(f[0]),e.snapPickCoordinateScale[1]=h.safeInv(f[1]),e.snapPickCoordinateScale[2]=h.safeInv(f[2]),o||0!==c[0]||0!==c[1]||0!==c[2]){const t=ca;if(o){const e=ua;h.transformPoint3(u,o,e),t[0]=e[0],t[1]=e[1],t[2]=e[2]}else t[0]=0,t[1]=0,t[2]=0;t[0]+=c[0],t[1]+=c[1],t[2]+=c[2],I=G(d,t,pa),y=ha,y[0]=a.eye[0]-t[0],y[1]=a.eye[1]-t[1],y[2]=a.eye[2]-t[2],e.snapPickOrigin[0]=t[0],e.snapPickOrigin[1]=t[1],e.snapPickOrigin[2]=t[2]}else I=d,y=a.eye,e.snapPickOrigin[0]=0,e.snapPickOrigin[1]=0,e.snapPickOrigin[2]=0;r.uniform3fv(this._uCameraEyeRtc,y),r.uniform2fv(this.uVectorA,e.snapVectorA),r.uniform2fv(this.uInverseVectorAB,e.snapInvVectorAB),r.uniform1i(this._uLayerNumber,e.snapPickLayerNumber),r.uniform3fv(this._uCoordinateScaler,f),r.uniform1i(this._uRenderPass,s),r.uniform1i(this._uPickInvisible,e.pickInvisible);let m=0;this._matricesUniformBlockBufferData.set(p,0),this._matricesUniformBlockBufferData.set(I,m+=16),this._matricesUniformBlockBufferData.set(a.projMatrix,m+=16),this._matricesUniformBlockBufferData.set(l.positionsDecodeMatrix,m+=16),r.bindBuffer(r.UNIFORM_BUFFER,this._matricesUniformBlockBuffer),r.bufferData(r.UNIFORM_BUFFER,this._matricesUniformBlockBufferData,r.DYNAMIC_DRAW),r.bindBufferBase(r.UNIFORM_BUFFER,this._matricesUniformBlockBufferBindingPoint,this._matricesUniformBlockBuffer);{const t=2/(Math.log(e.pickZFar+1)/Math.LN2);r.uniform1f(this._uLogDepthBufFC,t)}this.setSectionPlanesStateUniforms(t),l.indicesBuf.bind(),r.drawElements(r.TRIANGLES,l.indicesBuf.numItems,l.indicesBuf.itemType,0),l.indicesBuf.unbind()}_allocate(){super._allocate();const e=this._program;this._uLogDepthBufFC=e.getLocation("logDepthBufFC"),this._uCameraEyeRtc=e.getLocation("uCameraEyeRtc"),this.uVectorA=e.getLocation("snapVectorA"),this.uInverseVectorAB=e.getLocation("snapInvVectorAB"),this._uLayerNumber=e.getLocation("layerNumber"),this._uCoordinateScaler=e.getLocation("coordinateScaler")}_bindProgram(){this._program.bind()}_buildVertexShader(){const e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,s=[];return s.push("#version 300 es"),s.push("// VBO SnapBatchingDepthBufInitRenderer vertex shader"),s.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),s.push("precision highp float;"),s.push("precision highp int;"),s.push("precision highp usampler2D;"),s.push("precision highp isampler2D;"),s.push("precision highp sampler2D;"),s.push("#else"),s.push("precision mediump float;"),s.push("precision mediump int;"),s.push("precision mediump usampler2D;"),s.push("precision mediump isampler2D;"),s.push("precision mediump sampler2D;"),s.push("#endif"),s.push("uniform int renderPass;"),s.push("in vec4 pickColor;"),s.push("in vec3 position;"),e.entityOffsetsEnabled&&s.push("in vec3 offset;"),s.push("in float flags;"),s.push("uniform bool pickInvisible;"),this._addMatricesUniformBlockLines(s),s.push("uniform vec3 uCameraEyeRtc;"),s.push("uniform vec2 snapVectorA;"),s.push("uniform vec2 snapInvVectorAB;"),s.push("uniform float logDepthBufFC;"),s.push("out float vFragDepth;"),s.push("out float isPerspective;"),s.push("bool isPerspectiveMatrix(mat4 m) {"),s.push(" return (m[2][3] == - 1.0);"),s.push("}"),s.push("vec2 remapClipPos(vec2 clipPos) {"),s.push(" float x = (clipPos.x - snapVectorA.x) * snapInvVectorAB.x;"),s.push(" float y = (clipPos.y - snapVectorA.y) * snapInvVectorAB.y;"),s.push(" return vec2(x, y);"),s.push("}"),s.push("flat out vec4 vPickColor;"),s.push("out vec4 vWorldPosition;"),t&&s.push("out float vFlags;"),s.push("out highp vec3 relativeToOriginPosition;"),s.push("void main(void) {"),s.push("int pickFlag = int(flags) >> 12 & 0xF;"),s.push("if (pickFlag != renderPass) {"),s.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),s.push(" } else {"),s.push(" vec4 worldPosition = worldMatrix * (positionsDecodeMatrix * vec4(position, 1.0)); "),e.entityOffsetsEnabled&&s.push(" worldPosition.xyz = worldPosition.xyz + offset;"),s.push(" relativeToOriginPosition = worldPosition.xyz;"),s.push(" vec4 viewPosition = viewMatrix * worldPosition; "),s.push(" vWorldPosition = worldPosition;"),t&&s.push(" vFlags = flags;"),s.push("vPickColor = pickColor;"),s.push("vec4 clipPos = projMatrix * viewPosition;"),s.push("float tmp = clipPos.w;"),s.push("clipPos.xyzw /= tmp;"),s.push("clipPos.xy = remapClipPos(clipPos.xy);"),s.push("clipPos.xyzw *= tmp;"),s.push("vFragDepth = 1.0 + clipPos.w;"),s.push("isPerspective = float (isPerspectiveMatrix(projMatrix));"),s.push("gl_Position = clipPos;"),s.push(" }"),s.push("}"),s}_buildFragmentShader(){const e=this._scene._sectionPlanesState,t=e.getNumAllocatedSectionPlanes()>0,s=[];if(s.push("#version 300 es"),s.push("// VBO SnapBatchingDepthBufInitRenderer fragment shader"),s.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),s.push("precision highp float;"),s.push("precision highp int;"),s.push("#else"),s.push("precision mediump float;"),s.push("precision mediump int;"),s.push("#endif"),s.push("in float isPerspective;"),s.push("uniform float logDepthBufFC;"),s.push("in float vFragDepth;"),s.push("uniform int layerNumber;"),s.push("uniform vec3 coordinateScaler;"),s.push("in vec4 vWorldPosition;"),s.push("flat in vec4 vPickColor;"),t){s.push("in float vFlags;");for(let t=0;t> 16 & 0xF) == 1;"),s.push(" if (clippable) {"),s.push(" float dist = 0.0;");for(var n=0;n 0.0) { discard; }"),s.push(" }")}return s.push(" float dx = dFdx(vFragDepth);"),s.push(" float dy = dFdy(vFragDepth);"),s.push(" float diff = sqrt(dx*dx+dy*dy);"),s.push(" gl_FragDepth = isPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth + diff ) * logDepthBufFC * 0.5;"),s.push("outCoords = ivec4(relativeToOriginPosition.xyz*coordinateScaler.xyz, -layerNumber);"),s.push("vec3 xTangent = dFdx( vWorldPosition.xyz );"),s.push("vec3 yTangent = dFdy( vWorldPosition.xyz );"),s.push("vec3 worldNormal = normalize( cross( xTangent, yTangent ) );"),s.push(`outNormal = ivec4(worldNormal * float(${h.MAX_INT}), 1.0);`),s.push("outPickColor = uvec4(vPickColor);"),s.push("}"),s}webglContextRestored(){this._program=null}destroy(){this._program&&this._program.destroy(),this._program=null}}const da=h.vec3(),fa=h.vec3(),Ia=h.vec3(),ya=h.vec3(),ma=h.mat4();class va extends _i{_getHash(){return this._scene._sectionPlanesState.getHash()+this._scene.pointsMaterial.hash}drawLayer(e,t,s){if(!this._program&&(this._allocate(),this.errors))return;e.lastProgramId!==this._program.id&&(e.lastProgramId=this._program.id,this._bindProgram());const n=t.model,i=n.scene,a=i.camera,r=i.canvas.gl,l=t._state,o=t._state.origin,{position:c,rotationMatrix:u,rotationMatrixConjugate:p}=n,A=n.aabb,d=e.pickViewMatrix||a.viewMatrix;this._vaoCache.has(t)?r.bindVertexArray(this._vaoCache.get(t)):this._vaoCache.set(t,this._makeVAO(l));const f=da;let I,y;if(f[0]=h.safeInv(A[3]-A[0])*h.MAX_INT,f[1]=h.safeInv(A[4]-A[1])*h.MAX_INT,f[2]=h.safeInv(A[5]-A[2])*h.MAX_INT,e.snapPickCoordinateScale[0]=h.safeInv(f[0]),e.snapPickCoordinateScale[1]=h.safeInv(f[1]),e.snapPickCoordinateScale[2]=h.safeInv(f[2]),o||0!==c[0]||0!==c[1]||0!==c[2]){const t=fa;if(o){const e=Ia;h.transformPoint3(u,o,e),t[0]=e[0],t[1]=e[1],t[2]=e[2]}else t[0]=0,t[1]=0,t[2]=0;t[0]+=c[0],t[1]+=c[1],t[2]+=c[2],I=G(d,t,ma),y=ya,y[0]=a.eye[0]-t[0],y[1]=a.eye[1]-t[1],y[2]=a.eye[2]-t[2],e.snapPickOrigin[0]=t[0],e.snapPickOrigin[1]=t[1],e.snapPickOrigin[2]=t[2]}else I=d,y=a.eye,e.snapPickOrigin[0]=0,e.snapPickOrigin[1]=0,e.snapPickOrigin[2]=0;r.uniform3fv(this._uCameraEyeRtc,y),r.uniform2fv(this.uVectorA,e.snapVectorA),r.uniform2fv(this.uInverseVectorAB,e.snapInvVectorAB),r.uniform1i(this._uLayerNumber,e.snapPickLayerNumber),r.uniform3fv(this._uCoordinateScaler,f),r.uniform1i(this._uRenderPass,s),r.uniform1i(this._uPickInvisible,e.pickInvisible);let m=0;this._matricesUniformBlockBufferData.set(p,0),this._matricesUniformBlockBufferData.set(I,m+=16),this._matricesUniformBlockBufferData.set(a.projMatrix,m+=16),this._matricesUniformBlockBufferData.set(l.positionsDecodeMatrix,m+=16),r.bindBuffer(r.UNIFORM_BUFFER,this._matricesUniformBlockBuffer),r.bufferData(r.UNIFORM_BUFFER,this._matricesUniformBlockBufferData,r.DYNAMIC_DRAW),r.bindBufferBase(r.UNIFORM_BUFFER,this._matricesUniformBlockBufferBindingPoint,this._matricesUniformBlockBuffer);{const t=2/(Math.log(e.pickZFar+1)/Math.LN2);r.uniform1f(this._uLogDepthBufFC,t)}this.setSectionPlanesStateUniforms(t),"edge"===e.snapMode?(l.edgeIndicesBuf.bind(),r.drawElements(r.LINES,l.edgeIndicesBuf.numItems,l.edgeIndicesBuf.itemType,0),l.edgeIndicesBuf.unbind()):r.drawArrays(r.POINTS,0,l.positionsBuf.numItems)}_allocate(){super._allocate();const e=this._program;this._uLogDepthBufFC=e.getLocation("logDepthBufFC"),this._uCameraEyeRtc=e.getLocation("uCameraEyeRtc"),this.uVectorA=e.getLocation("snapVectorA"),this.uInverseVectorAB=e.getLocation("snapInvVectorAB"),this._uLayerNumber=e.getLocation("layerNumber"),this._uCoordinateScaler=e.getLocation("coordinateScaler")}_bindProgram(){this._program.bind()}_buildVertexShader(){const e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0;e.pointsMaterial._state;const s=[];return s.push("#version 300 es"),s.push("// SnapBatchingDepthRenderer vertex shader"),s.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),s.push("precision highp float;"),s.push("precision highp int;"),s.push("precision highp usampler2D;"),s.push("precision highp isampler2D;"),s.push("precision highp sampler2D;"),s.push("#else"),s.push("precision mediump float;"),s.push("precision mediump int;"),s.push("precision mediump usampler2D;"),s.push("precision mediump isampler2D;"),s.push("precision mediump sampler2D;"),s.push("#endif"),s.push("uniform int renderPass;"),s.push("in vec3 position;"),e.entityOffsetsEnabled&&s.push("in vec3 offset;"),s.push("in float flags;"),s.push("uniform bool pickInvisible;"),this._addMatricesUniformBlockLines(s),s.push("uniform vec3 uCameraEyeRtc;"),s.push("uniform vec2 snapVectorA;"),s.push("uniform vec2 snapInvVectorAB;"),s.push("uniform float logDepthBufFC;"),s.push("out float vFragDepth;"),s.push("bool isPerspectiveMatrix(mat4 m) {"),s.push(" return (m[2][3] == - 1.0);"),s.push("}"),s.push("out float isPerspective;"),s.push("vec2 remapClipPos(vec2 clipPos) {"),s.push(" float x = (clipPos.x - snapVectorA.x) * snapInvVectorAB.x;"),s.push(" float y = (clipPos.y - snapVectorA.y) * snapInvVectorAB.y;"),s.push(" return vec2(x, y);"),s.push("}"),t&&(s.push("out vec4 vWorldPosition;"),s.push("out float vFlags;")),s.push("out highp vec3 relativeToOriginPosition;"),s.push("void main(void) {"),s.push("int pickFlag = int(flags) >> 12 & 0xF;"),s.push("if (pickFlag != renderPass) {"),s.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),s.push(" } else {"),s.push(" vec4 worldPosition = worldMatrix * (positionsDecodeMatrix * vec4(position, 1.0)); "),e.entityOffsetsEnabled&&s.push(" worldPosition.xyz = worldPosition.xyz + offset;"),s.push("relativeToOriginPosition = worldPosition.xyz;"),s.push(" vec4 viewPosition = viewMatrix * worldPosition; "),t&&(s.push(" vWorldPosition = worldPosition;"),s.push(" vFlags = flags;")),s.push("vec4 clipPos = projMatrix * viewPosition;"),s.push("float tmp = clipPos.w;"),s.push("clipPos.xyzw /= tmp;"),s.push("clipPos.xy = remapClipPos(clipPos.xy);"),s.push("clipPos.xyzw *= tmp;"),s.push("vFragDepth = 1.0 + clipPos.w;"),s.push("isPerspective = float (isPerspectiveMatrix(projMatrix));"),s.push("gl_Position = clipPos;"),s.push("gl_PointSize = 1.0;"),s.push(" }"),s.push("}"),s}_buildFragmentShader(){const e=this._scene._sectionPlanesState,t=e.getNumAllocatedSectionPlanes()>0,s=[];if(s.push("#version 300 es"),s.push("// SnapBatchingDepthRenderer fragment shader"),s.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),s.push("precision highp float;"),s.push("precision highp int;"),s.push("#else"),s.push("precision mediump float;"),s.push("precision mediump int;"),s.push("#endif"),s.push("in float isPerspective;"),s.push("uniform float logDepthBufFC;"),s.push("in float vFragDepth;"),s.push("uniform int layerNumber;"),s.push("uniform vec3 coordinateScaler;"),t){s.push("in vec4 vWorldPosition;"),s.push("in float vFlags;");for(let t=0;t> 16 & 0xF) == 1;"),s.push(" if (clippable) {"),s.push(" float dist = 0.0;");for(var n=0;n 0.0) { discard; }"),s.push(" }")}return s.push(" gl_FragDepth = isPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5;"),s.push("outCoords = ivec4(relativeToOriginPosition.xyz*coordinateScaler.xyz, layerNumber);"),s.push("}"),s}webglContextRestored(){this._program=null}destroy(){this._program&&this._program.destroy(),this._program=null}}class wa{constructor(e){this._scene=e}_compile(){this._snapDepthBufInitRenderer&&!this._snapDepthBufInitRenderer.getValid()&&(this._snapDepthBufInitRenderer.destroy(),this._snapDepthBufInitRenderer=null),this._snapDepthRenderer&&!this._snapDepthRenderer.getValid()&&(this._snapDepthRenderer.destroy(),this._snapDepthRenderer=null)}eagerCreateRenders(){this._snapDepthBufInitRenderer||(this._snapDepthBufInitRenderer=new Aa(this._scene,!1)),this._snapDepthRenderer||(this._snapDepthRenderer=new va(this._scene))}get snapDepthBufInitRenderer(){return this._snapDepthBufInitRenderer||(this._snapDepthBufInitRenderer=new Aa(this._scene,!1)),this._snapDepthBufInitRenderer}get snapDepthRenderer(){return this._snapDepthRenderer||(this._snapDepthRenderer=new va(this._scene)),this._snapDepthRenderer}_destroy(){this._snapDepthBufInitRenderer&&this._snapDepthBufInitRenderer.destroy(),this._snapDepthRenderer&&this._snapDepthRenderer.destroy()}}const ga={};const Ea=h.mat4(),Ta=h.mat4(),ba=h.vec4([0,0,0,1]);h.vec4([0,0,0,1]),h.vec4([0,0,0,1]),h.OBB3();const Da=h.vec3(),Pa=h.vec3(),Ra=h.vec3(),Ca=h.vec3(),_a=h.vec3(),Ba=h.vec3(),Oa=h.vec3();class Sa{constructor(e){this.model=e.model,this.sortId="TrianglesBatchingLayer"+(e.solid?"-solid":"-surface")+(e.autoNormals?"-autonormals":"-normals")+(e.textureSet&&e.textureSet.colorTexture?"-colorTexture":"")+(e.textureSet&&e.textureSet.metallicRoughnessTexture?"-metallicRoughnessTexture":""),this.layerIndex=e.layerIndex,this._batchingRenderers=function(e){const t=e.id;let s=ea[t];return s||(s=new $i(e),ea[t]=s,s._compile(),s.eagerCreateRenders(),e.on("compile",(()=>{s._compile(),s.eagerCreateRenders()})),e.on("destroyed",(()=>{delete ea[t],s._destroy()}))),s}(e.model.scene),this._snapBatchingRenderers=function(e){const t=e.id;let s=ga[t];return s||(s=new wa(e),ga[t]=s,s._compile(),s.eagerCreateRenders(),e.on("compile",(()=>{s._compile(),s.eagerCreateRenders()})),e.on("destroyed",(()=>{delete ga[t],s._destroy()}))),s}(e.model.scene),this._buffer=new ta(e.maxGeometryBatchSize),this._scratchMemory=e.scratchMemory,this._state=new Je({origin:h.vec3(),positionsBuf:null,offsetsBuf:null,normalsBuf:null,colorsBuf:null,uvBuf:null,metallicRoughnessBuf:null,flagsBuf:null,indicesBuf:null,edgeIndicesBuf:null,positionsDecodeMatrix:null,uvDecodeMatrix:null,textureSet:e.textureSet,pbrSupported:!1}),this._numPortions=0,this._numVisibleLayerPortions=0,this._numTransparentLayerPortions=0,this._numXRayedLayerPortions=0,this._numSelectedLayerPortions=0,this._numHighlightedLayerPortions=0,this._numClippableLayerPortions=0,this._numEdgesLayerPortions=0,this._numPickableLayerPortions=0,this._numCulledLayerPortions=0,this._modelAABB=h.collapseAABB3(),this._portions=[],this._numVerts=0,this._finalized=!1,e.positionsDecodeMatrix&&(this._state.positionsDecodeMatrix=h.mat4(e.positionsDecodeMatrix)),e.uvDecodeMatrix?(this._state.uvDecodeMatrix=h.mat3(e.uvDecodeMatrix),this._preCompressedUVsExpected=!0):this._preCompressedUVsExpected=!1,e.origin&&this._state.origin.set(e.origin),this.aabb=h.collapseAABB3(),this.solid=!!e.solid}canCreatePortion(e,t){if(this._finalized)throw"Already finalized";return this._buffer.positions.length+e<3*this._buffer.maxVerts&&this._buffer.indices.length+t0)for(let e=0,t=i.length;e0){const e=Ea;I?h.inverseMat4(h.transposeMat4(I,Ta),e):h.identityMat4(e,e),function(e,t,s,n,i){function a(e,t){return e[0]*t[0]+e[1]*t[1]+e[2]*t[2]}let r,l,o,c,u,p,A=new Float32Array([0,0,0,0]),d=new Float32Array([0,0,0,0]);for(p=0;pu&&(o=r,u=c),r=ra(d,"floor","ceil"),l=la(r),c=a(d,l),c>u&&(o=r,u=c),r=ra(d,"ceil","ceil"),l=la(r),c=a(d,l),c>u&&(o=r,u=c),n[i+p+0]=o[0],n[i+p+1]=o[1],n[i+p+2]=0}(e,n,n.length,v.normals,v.normals.length)}if(l)for(let e=0,t=l.length;e0)for(let e=0,t=a.length;e0)for(let e=0,t=r.length;e0){const n=this._state.positionsDecodeMatrix?new Uint16Array(s.positions):ia(s.positions,this._modelAABB,this._state.positionsDecodeMatrix=h.mat4());if(e.positionsBuf=new Oe(t,t.ARRAY_BUFFER,n,n.length,3,t.STATIC_DRAW),this.model.scene.pickSurfacePrecisionEnabled)for(let e=0,t=this._portions.length;e0){const n=new Int8Array(s.normals);let i=!0;e.normalsBuf=new Oe(t,t.ARRAY_BUFFER,n,s.normals.length,3,t.STATIC_DRAW,i)}if(s.colors.length>0){const n=new Uint8Array(s.colors);let i=!1;e.colorsBuf=new Oe(t,t.ARRAY_BUFFER,n,s.colors.length,4,t.DYNAMIC_DRAW,i)}if(s.uv.length>0)if(e.uvDecodeMatrix){let n=!1;e.uvBuf=new Oe(t,t.ARRAY_BUFFER,s.uv,s.uv.length,2,t.STATIC_DRAW,n)}else{const n=Bt.getUVBounds(s.uv),i=Bt.compressUVs(s.uv,n.min,n.max),a=i.quantized;let r=!1;e.uvDecodeMatrix=h.mat3(i.decodeMatrix),e.uvBuf=new Oe(t,t.ARRAY_BUFFER,a,a.length,2,t.STATIC_DRAW,r)}if(s.metallicRoughness.length>0){const n=new Uint8Array(s.metallicRoughness);let i=!1;e.metallicRoughnessBuf=new Oe(t,t.ARRAY_BUFFER,n,s.metallicRoughness.length,2,t.STATIC_DRAW,i)}if(s.positions.length>0){const n=s.positions.length/3,i=new Float32Array(n),a=!1;e.flagsBuf=new Oe(t,t.ARRAY_BUFFER,i,i.length,1,t.DYNAMIC_DRAW,a)}if(s.pickColors.length>0){const n=new Uint8Array(s.pickColors);let i=!1;e.pickColorsBuf=new Oe(t,t.ARRAY_BUFFER,n,s.pickColors.length,4,t.STATIC_DRAW,i)}if(this.model.scene.entityOffsetsEnabled&&s.offsets.length>0){const n=new Float32Array(s.offsets);e.offsetsBuf=new Oe(t,t.ARRAY_BUFFER,n,s.offsets.length,3,t.DYNAMIC_DRAW)}if(s.indices.length>0){const n=new Uint32Array(s.indices);e.indicesBuf=new Oe(t,t.ELEMENT_ARRAY_BUFFER,n,s.indices.length,1,t.STATIC_DRAW)}if(s.edgeIndices.length>0){const n=new Uint32Array(s.edgeIndices);e.edgeIndicesBuf=new Oe(t,t.ELEMENT_ARRAY_BUFFER,n,s.edgeIndices.length,1,t.STATIC_DRAW)}this._state.pbrSupported=!!(e.metallicRoughnessBuf&&e.uvBuf&&e.normalsBuf&&e.textureSet&&e.textureSet.colorTexture&&e.textureSet.metallicRoughnessTexture),this._state.colorTextureSupported=!!e.uvBuf&&!!e.textureSet&&!!e.textureSet.colorTexture,this._buffer=null,this._finalized=!0}isEmpty(){return!this._state.indicesBuf}initFlags(e,t,s){t&Q&&(this._numVisibleLayerPortions++,this.model.numVisibleLayerPortions++),t&q&&(this._numHighlightedLayerPortions++,this.model.numHighlightedLayerPortions++),t&X&&(this._numXRayedLayerPortions++,this.model.numXRayedLayerPortions++),t&J&&(this._numSelectedLayerPortions++,this.model.numSelectedLayerPortions++),t&K&&(this._numClippableLayerPortions++,this.model.numClippableLayerPortions++),t&Z&&(this._numEdgesLayerPortions++,this.model.numEdgesLayerPortions++),t&z&&(this._numPickableLayerPortions++,this.model.numPickableLayerPortions++),t&W&&(this._numCulledLayerPortions++,this.model.numCulledLayerPortions++),s&&(this._numTransparentLayerPortions++,this.model.numTransparentLayerPortions++);this._setFlags(e,t,s,!0)}flushInitFlags(){this._setDeferredFlags()}setVisible(e,t,s){if(!this._finalized)throw"Not finalized";t&Q?(this._numVisibleLayerPortions++,this.model.numVisibleLayerPortions++):(this._numVisibleLayerPortions--,this.model.numVisibleLayerPortions--),this._setFlags(e,t,s)}setHighlighted(e,t,s){if(!this._finalized)throw"Not finalized";t&q?(this._numHighlightedLayerPortions++,this.model.numHighlightedLayerPortions++):(this._numHighlightedLayerPortions--,this.model.numHighlightedLayerPortions--),this._setFlags(e,t,s)}setXRayed(e,t,s){if(!this._finalized)throw"Not finalized";t&X?(this._numXRayedLayerPortions++,this.model.numXRayedLayerPortions++):(this._numXRayedLayerPortions--,this.model.numXRayedLayerPortions--),this._setFlags(e,t,s)}setSelected(e,t,s){if(!this._finalized)throw"Not finalized";t&J?(this._numSelectedLayerPortions++,this.model.numSelectedLayerPortions++):(this._numSelectedLayerPortions--,this.model.numSelectedLayerPortions--),this._setFlags(e,t,s)}setEdges(e,t,s){if(!this._finalized)throw"Not finalized";t&Z?(this._numEdgesLayerPortions++,this.model.numEdgesLayerPortions++):(this._numEdgesLayerPortions--,this.model.numEdgesLayerPortions--),this._setFlags(e,t,s)}setClippable(e,t){if(!this._finalized)throw"Not finalized";t&K?(this._numClippableLayerPortions++,this.model.numClippableLayerPortions++):(this._numClippableLayerPortions--,this.model.numClippableLayerPortions--),this._setFlags(e,t)}setCulled(e,t,s){if(!this._finalized)throw"Not finalized";t&W?(this._numCulledLayerPortions++,this.model.numCulledLayerPortions++):(this._numCulledLayerPortions--,this.model.numCulledLayerPortions--),this._setFlags(e,t,s)}setCollidable(e,t){if(!this._finalized)throw"Not finalized"}setPickable(e,t,s){if(!this._finalized)throw"Not finalized";t&z?(this._numPickableLayerPortions++,this.model.numPickableLayerPortions++):(this._numPickableLayerPortions--,this.model.numPickableLayerPortions--),this._setFlags(e,t,s)}setColor(e,t){if(!this._finalized)throw"Not finalized";const s=e,n=this._portions[s],i=4*n.vertsBaseIndex,a=4*n.numVerts,r=this._scratchMemory.getUInt8Array(a),l=t[0],o=t[1],c=t[2],u=t[3];for(let e=0;em)&&(m=e,n.set(v),i&&h.triangleNormal(d,f,I,i),y=!0)}}return y&&i&&(h.transformVec3(this.model.worldNormalMatrix,i,i),h.normalizeVec3(i)),y}destroy(){const e=this._state;e.positionsBuf&&(e.positionsBuf.destroy(),e.positionsBuf=null),e.offsetsBuf&&(e.offsetsBuf.destroy(),e.offsetsBuf=null),e.normalsBuf&&(e.normalsBuf.destroy(),e.normalsBuf=null),e.colorsBuf&&(e.colorsBuf.destroy(),e.colorsBuf=null),e.metallicRoughnessBuf&&(e.metallicRoughnessBuf.destroy(),e.metallicRoughnessBuf=null),e.flagsBuf&&(e.flagsBuf.destroy(),e.flagsBuf=null),e.pickColorsBuf&&(e.pickColorsBuf.destroy(),e.pickColorsBuf=null),e.indicesBuf&&(e.indicesBuf.destroy(),e.indicessBuf=null),e.edgeIndicesBuf&&(e.edgeIndicesBuf.destroy(),e.edgeIndicessBuf=null),e.destroy()}}class Na extends Si{_getHash(){const e=this._scene;return[e._lightsState.getHash(),e._sectionPlanesState.getHash(),this._withSAO?"sao":"nosao"].join(";")}drawLayer(e,t,s){super.drawLayer(e,t,s,{incrementDrawState:!0})}_buildVertexShader(){const e=this._scene,t=e._sectionPlanesState,s=e._lightsState,n=t.getNumAllocatedSectionPlanes()>0;let i,a,r;const l=[];for(l.push("#version 300 es"),l.push("// Instancing geometry drawing vertex shader"),l.push("uniform int renderPass;"),l.push("in vec3 position;"),l.push("in vec2 normal;"),l.push("in vec4 color;"),l.push("in float flags;"),e.entityOffsetsEnabled&&l.push("in vec3 offset;"),l.push("in vec4 modelMatrixCol0;"),l.push("in vec4 modelMatrixCol1;"),l.push("in vec4 modelMatrixCol2;"),l.push("in vec4 modelNormalMatrixCol0;"),l.push("in vec4 modelNormalMatrixCol1;"),l.push("in vec4 modelNormalMatrixCol2;"),this._addMatricesUniformBlockLines(l,!0),e.logarithmicDepthBufferEnabled&&(l.push("uniform float logDepthBufFC;"),l.push("out float vFragDepth;"),l.push("bool isPerspectiveMatrix(mat4 m) {"),l.push(" return (m[2][3] == - 1.0);"),l.push("}"),l.push("out float isPerspective;")),l.push("uniform vec4 lightAmbient;"),i=0,a=s.lights.length;i= 0.0 ? 1.0 : -1.0, v.y >= 0.0 ? 1.0 : -1.0);"),l.push(" }"),l.push(" return normalize(v);"),l.push("}"),n&&(l.push("out vec4 vWorldPosition;"),l.push("out float vFlags;")),l.push("out vec4 vColor;"),l.push("void main(void) {"),l.push("int colorFlag = int(flags) & 0xF;"),l.push("if (colorFlag != renderPass) {"),l.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),l.push("} else {"),l.push("vec4 worldPosition = positionsDecodeMatrix * vec4(position, 1.0); "),l.push("worldPosition = worldMatrix * vec4(dot(worldPosition, modelMatrixCol0), dot(worldPosition, modelMatrixCol1), dot(worldPosition, modelMatrixCol2), 1.0);"),e.entityOffsetsEnabled&&l.push("worldPosition.xyz = worldPosition.xyz + offset;"),l.push("vec4 viewPosition = viewMatrix * worldPosition; "),l.push("vec4 modelNormal = vec4(octDecode(normal.xy), 0.0); "),l.push("vec4 worldNormal = worldNormalMatrix * vec4(dot(modelNormal, modelNormalMatrixCol0), dot(modelNormal, modelNormalMatrixCol1), dot(modelNormal, modelNormalMatrixCol2), 0.0);"),l.push("vec3 viewNormal = normalize(vec4(viewNormalMatrix * worldNormal).xyz);"),l.push("vec3 reflectedColor = vec3(0.0, 0.0, 0.0);"),l.push("vec3 viewLightDir = vec3(0.0, 0.0, -1.0);"),l.push("float lambertian = 1.0;"),i=0,a=s.lights.length;i0,n=[];if(n.push("#version 300 es"),n.push("// Instancing geometry drawing fragment shader"),n.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),n.push("precision highp float;"),n.push("precision highp int;"),n.push("#else"),n.push("precision mediump float;"),n.push("precision mediump int;"),n.push("#endif"),e.logarithmicDepthBufferEnabled&&(n.push("in float isPerspective;"),n.push("uniform float logDepthBufFC;"),n.push("in float vFragDepth;")),this._withSAO&&(n.push("uniform sampler2D uOcclusionTexture;"),n.push("uniform vec4 uSAOParams;"),n.push("const float packUpscale = 256. / 255.;"),n.push("const float unpackDownScale = 255. / 256.;"),n.push("const vec3 packFactors = vec3( 256. * 256. * 256., 256. * 256., 256. );"),n.push("const vec4 unPackFactors = unpackDownScale / vec4( packFactors, 1. );"),n.push("float unpackRGBToFloat( const in vec4 v ) {"),n.push(" return dot( v, unPackFactors );"),n.push("}")),s){n.push("in vec4 vWorldPosition;"),n.push("in float vFlags;");for(let e=0,s=t.getNumAllocatedSectionPlanes();e> 16 & 0xF) == 1;"),n.push(" if (clippable) {"),n.push(" float dist = 0.0;");for(let e=0,s=t.getNumAllocatedSectionPlanes();e 0.0) { "),n.push(" discard;"),n.push(" }"),n.push("}")}return e.logarithmicDepthBufferEnabled&&n.push(" gl_FragDepth = isPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5;"),this._withSAO?(n.push(" float viewportWidth = uSAOParams[0];"),n.push(" float viewportHeight = uSAOParams[1];"),n.push(" float blendCutoff = uSAOParams[2];"),n.push(" float blendFactor = uSAOParams[3];"),n.push(" vec2 uv = vec2(gl_FragCoord.x / viewportWidth, gl_FragCoord.y / viewportHeight);"),n.push(" float ambient = smoothstep(blendCutoff, 1.0, unpackRGBToFloat(texture(uOcclusionTexture, uv))) * blendFactor;"),n.push(" outColor = vec4(vColor.rgb * ambient, 1.0);")):n.push(" outColor = vColor;"),n.push("}"),n}}class xa extends Si{_getHash(){const e=this._scene;return[e._lightsState.getHash(),e._sectionPlanesState.getHash(),this._withSAO?"sao":"nosao"].join(";")}_buildVertexShader(){const e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,s=[];return s.push("#version 300 es"),s.push("// Instancing geometry flat-shading drawing vertex shader"),s.push("uniform int renderPass;"),s.push("in vec3 position;"),s.push("in vec4 color;"),s.push("in float flags;"),e.entityOffsetsEnabled&&s.push("in vec3 offset;"),s.push("in vec4 modelMatrixCol0;"),s.push("in vec4 modelMatrixCol1;"),s.push("in vec4 modelMatrixCol2;"),this._addMatricesUniformBlockLines(s),e.logarithmicDepthBufferEnabled&&(s.push("uniform float logDepthBufFC;"),s.push("out float vFragDepth;"),s.push("bool isPerspectiveMatrix(mat4 m) {"),s.push(" return (m[2][3] == - 1.0);"),s.push("}"),s.push("out float isPerspective;")),t&&(s.push("out vec4 vWorldPosition;"),s.push("out float vFlags;")),s.push("out vec4 vViewPosition;"),s.push("out vec4 vColor;"),s.push("void main(void) {"),s.push("int colorFlag = int(flags) & 0xF;"),s.push("if (colorFlag != renderPass) {"),s.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),s.push("} else {"),s.push("vec4 worldPosition = positionsDecodeMatrix * vec4(position, 1.0); "),s.push("worldPosition = worldMatrix * vec4(dot(worldPosition, modelMatrixCol0), dot(worldPosition, modelMatrixCol1), dot(worldPosition, modelMatrixCol2), 1.0);"),e.entityOffsetsEnabled&&s.push(" worldPosition.xyz = worldPosition.xyz + offset;"),s.push("vec4 viewPosition = viewMatrix * worldPosition; "),s.push("vViewPosition = viewPosition;"),s.push("vColor = vec4(float(color.r) / 255.0, float(color.g) / 255.0, float(color.b) / 255.0, float(color.a) / 255.0);"),s.push("vec4 clipPos = projMatrix * viewPosition;"),e.logarithmicDepthBufferEnabled&&(s.push("vFragDepth = 1.0 + clipPos.w;"),s.push("isPerspective = float (isPerspectiveMatrix(projMatrix));")),t&&(s.push("vWorldPosition = worldPosition;"),s.push("vFlags = flags;")),s.push("gl_Position = clipPos;"),s.push("}"),s.push("}"),s}_buildFragmentShader(){const e=this._scene,t=e._sectionPlanesState,s=e._lightsState;let n,i;const a=t.getNumAllocatedSectionPlanes()>0,r=[];if(r.push("#version 300 es"),r.push("// Instancing geometry flat-shading drawing fragment shader"),r.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),r.push("precision highp float;"),r.push("precision highp int;"),r.push("#else"),r.push("precision mediump float;"),r.push("precision mediump int;"),r.push("#endif"),e.logarithmicDepthBufferEnabled&&(r.push("in float isPerspective;"),r.push("uniform float logDepthBufFC;"),r.push("in float vFragDepth;")),this._withSAO&&(r.push("uniform sampler2D uOcclusionTexture;"),r.push("uniform vec4 uSAOParams;"),r.push("const float packUpscale = 256. / 255.;"),r.push("const float unpackDownScale = 255. / 256.;"),r.push("const vec3 packFactors = vec3( 256. * 256. * 256., 256. * 256., 256. );"),r.push("const vec4 unPackFactors = unpackDownScale / vec4( packFactors, 1. );"),r.push("float unpackRGBToFloat( const in vec4 v ) {"),r.push(" return dot( v, unPackFactors );"),r.push("}")),a){r.push("in vec4 vWorldPosition;"),r.push("in float vFlags;");for(let e=0,s=t.getNumAllocatedSectionPlanes();e> 16 & 0xF) == 1;"),r.push(" if (clippable) {"),r.push(" float dist = 0.0;");for(let e=0,s=t.getNumAllocatedSectionPlanes();e 0.0) { "),r.push(" discard;"),r.push(" }"),r.push("}")}for(r.push("vec3 reflectedColor = vec3(0.0, 0.0, 0.0);"),r.push("vec3 viewLightDir = vec3(0.0, 0.0, -1.0);"),r.push("float lambertian = 1.0;"),r.push("vec3 xTangent = dFdx( vViewPosition.xyz );"),r.push("vec3 yTangent = dFdy( vViewPosition.xyz );"),r.push("vec3 viewNormal = normalize( cross( xTangent, yTangent ) );"),n=0,i=s.lights.length;n0,s=[];return s.push("#version 300 es"),s.push("// Instancing silhouette vertex shader"),s.push("uniform int renderPass;"),s.push("in vec3 position;"),e.entityOffsetsEnabled&&s.push("in vec3 offset;"),s.push("in float flags;"),s.push("in vec4 color;"),s.push("in vec4 modelMatrixCol0;"),s.push("in vec4 modelMatrixCol1;"),s.push("in vec4 modelMatrixCol2;"),this._addMatricesUniformBlockLines(s),s.push("uniform vec4 silhouetteColor;"),e.logarithmicDepthBufferEnabled&&(s.push("uniform float logDepthBufFC;"),s.push("out float vFragDepth;"),s.push("bool isPerspectiveMatrix(mat4 m) {"),s.push(" return (m[2][3] == - 1.0);"),s.push("}"),s.push("out float isPerspective;")),t&&(s.push("out vec4 vWorldPosition;"),s.push("out float vFlags;")),s.push("out vec4 vColor;"),s.push("void main(void) {"),s.push("int silhouetteFlag = int(flags) >> 4 & 0xF;"),s.push("if (silhouetteFlag != renderPass) {"),s.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),s.push("} else {"),s.push("vec4 worldPosition = positionsDecodeMatrix * vec4(position, 1.0); "),s.push("worldPosition = worldMatrix * vec4(dot(worldPosition, modelMatrixCol0), dot(worldPosition, modelMatrixCol1), dot(worldPosition, modelMatrixCol2), 1.0);"),e.entityOffsetsEnabled&&s.push(" worldPosition.xyz = worldPosition.xyz + offset;"),s.push("vec4 viewPosition = viewMatrix * worldPosition; "),t&&(s.push("vWorldPosition = worldPosition;"),s.push("vFlags = flags;")),s.push("vColor = vec4(silhouetteColor.r, silhouetteColor.g, silhouetteColor.b, min(silhouetteColor.a, float(color.a) / 255.0));"),s.push("vec4 clipPos = projMatrix * viewPosition;"),e.logarithmicDepthBufferEnabled&&(s.push("vFragDepth = 1.0 + clipPos.w;"),s.push("isPerspective = float (isPerspectiveMatrix(projMatrix));")),s.push("gl_Position = clipPos;"),s.push("}"),s.push("}"),s}_buildFragmentShader(){const e=this._scene,t=e._sectionPlanesState,s=t.getNumAllocatedSectionPlanes()>0,n=[];if(n.push("#version 300 es"),n.push("// Instancing fill fragment shader"),n.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),n.push("precision highp float;"),n.push("precision highp int;"),n.push("#else"),n.push("precision mediump float;"),n.push("precision mediump int;"),n.push("#endif"),e.logarithmicDepthBufferEnabled&&(n.push("in float isPerspective;"),n.push("uniform float logDepthBufFC;"),n.push("in float vFragDepth;")),s){n.push("in vec4 vWorldPosition;"),n.push("in float vFlags;");for(let e=0,s=t.getNumAllocatedSectionPlanes();e> 16 & 0xF) == 1;"),n.push(" if (clippable) {"),n.push(" float dist = 0.0;");for(let e=0,s=t.getNumAllocatedSectionPlanes();e 0.0) { discard; }"),n.push("}")}return e.logarithmicDepthBufferEnabled&&n.push(" gl_FragDepth = isPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5;"),n.push("outColor = vColor;"),n.push("}"),n}}class Ma extends Ni{drawLayer(e,t,s){super.drawLayer(e,t,s,{colorUniform:!0})}_buildVertexShader(){const e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,s=[];return s.push("#version 300 es"),s.push("// Triangles instancing edges vertex shader"),s.push("uniform int renderPass;"),s.push("uniform vec4 color;"),s.push("in vec3 position;"),e.entityOffsetsEnabled&&s.push("in vec3 offset;"),s.push("in float flags;"),s.push("in vec4 modelMatrixCol0;"),s.push("in vec4 modelMatrixCol1;"),s.push("in vec4 modelMatrixCol2;"),this._addMatricesUniformBlockLines(s),e.logarithmicDepthBufferEnabled&&(s.push("uniform float logDepthBufFC;"),s.push("out float vFragDepth;"),s.push("bool isPerspectiveMatrix(mat4 m) {"),s.push(" return (m[2][3] == - 1.0);"),s.push("}"),s.push("out float isPerspective;")),t&&(s.push("out vec4 vWorldPosition;"),s.push("out float vFlags;")),s.push("out vec4 vColor;"),s.push("void main(void) {"),s.push("int edgeFlag = int(flags) >> 8 & 0xF;"),s.push("if (edgeFlag != renderPass) {"),s.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),s.push("} else {"),s.push("vec4 worldPosition = positionsDecodeMatrix * vec4(position, 1.0); "),s.push("worldPosition = worldMatrix * vec4(dot(worldPosition, modelMatrixCol0), dot(worldPosition, modelMatrixCol1), dot(worldPosition, modelMatrixCol2), 1.0);"),e.entityOffsetsEnabled&&s.push(" worldPosition.xyz = worldPosition.xyz + offset;"),s.push("vec4 viewPosition = viewMatrix * worldPosition; "),t&&(s.push("vWorldPosition = worldPosition;"),s.push("vFlags = flags;")),s.push("vec4 clipPos = projMatrix * viewPosition;"),e.logarithmicDepthBufferEnabled&&(s.push("vFragDepth = 1.0 + clipPos.w;"),s.push("isPerspective = float (isPerspectiveMatrix(projMatrix));")),s.push("gl_Position = clipPos;"),s.push("vColor = vec4(color.r, color.g, color.b, color.a);"),s.push("}"),s.push("}"),s}_buildFragmentShader(){const e=this._scene,t=e._sectionPlanesState,s=t.getNumAllocatedSectionPlanes()>0,n=[];if(n.push("#version 300 es"),n.push("// Batched geometry edges drawing fragment shader"),n.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),n.push("precision highp float;"),n.push("precision highp int;"),n.push("#else"),n.push("precision mediump float;"),n.push("precision mediump int;"),n.push("#endif"),e.logarithmicDepthBufferEnabled&&(n.push("in float isPerspective;"),n.push("uniform float logDepthBufFC;"),n.push("in float vFragDepth;")),s){n.push("in vec4 vWorldPosition;"),n.push("in float vFlags;");for(let e=0,s=t.getNumAllocatedSectionPlanes();e> 16 & 0xF) == 1;"),n.push(" if (clippable) {"),n.push(" float dist = 0.0;");for(let e=0,s=t.getNumAllocatedSectionPlanes();e 0.0) { discard; }"),n.push("}")}return e.logarithmicDepthBufferEnabled&&n.push(" gl_FragDepth = isPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5;"),n.push("outColor = vColor;"),n.push("}"),n}}class Fa extends Ni{_buildVertexShader(){const e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,s=[];return s.push("#version 300 es"),s.push("// Triangles instancing edges vertex shader"),s.push("uniform int renderPass;"),s.push("in vec3 position;"),s.push("in vec4 color;"),e.entityOffsetsEnabled&&s.push("in vec3 offset;"),s.push("in float flags;"),s.push("in vec4 modelMatrixCol0;"),s.push("in vec4 modelMatrixCol1;"),s.push("in vec4 modelMatrixCol2;"),this._addMatricesUniformBlockLines(s),e.logarithmicDepthBufferEnabled&&(s.push("uniform float logDepthBufFC;"),s.push("out float vFragDepth;"),s.push("bool isPerspectiveMatrix(mat4 m) {"),s.push(" return (m[2][3] == - 1.0);"),s.push("}"),s.push("out float isPerspective;")),t&&(s.push("out vec4 vWorldPosition;"),s.push("out float vFlags;")),s.push("out vec4 vColor;"),s.push("void main(void) {"),s.push("int edgeFlag = int(flags) >> 8 & 0xF;"),s.push("if (edgeFlag != renderPass) {"),s.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),s.push("} else {"),s.push("vec4 worldPosition = positionsDecodeMatrix * vec4(position, 1.0); "),s.push("worldPosition = worldMatrix * vec4(dot(worldPosition, modelMatrixCol0), dot(worldPosition, modelMatrixCol1), dot(worldPosition, modelMatrixCol2), 1.0);"),e.entityOffsetsEnabled&&s.push(" worldPosition.xyz = worldPosition.xyz + offset;"),s.push("vec4 viewPosition = viewMatrix * worldPosition; "),t&&(s.push("vWorldPosition = worldPosition;"),s.push("vFlags = flags;")),s.push("vec4 clipPos = projMatrix * viewPosition;"),e.logarithmicDepthBufferEnabled&&(s.push("vFragDepth = 1.0 + clipPos.w;"),s.push("isPerspective = float (isPerspectiveMatrix(projMatrix));")),s.push("gl_Position = clipPos;"),s.push("vColor = vec4(float(color.r*0.5) / 255.0, float(color.g*0.5) / 255.0, float(color.b*0.5) / 255.0, float(color.a) / 255.0);"),s.push("}"),s.push("}"),s}_buildFragmentShader(){const e=this._scene,t=e._sectionPlanesState,s=t.getNumAllocatedSectionPlanes()>0,n=[];if(n.push("#version 300 es"),n.push("// Batched geometry edges drawing fragment shader"),n.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),n.push("precision highp float;"),n.push("precision highp int;"),n.push("#else"),n.push("precision mediump float;"),n.push("precision mediump int;"),n.push("#endif"),e.logarithmicDepthBufferEnabled&&(n.push("in float isPerspective;"),n.push("uniform float logDepthBufFC;"),n.push("in float vFragDepth;")),s){n.push("in vec4 vWorldPosition;"),n.push("in float vFlags;");for(let e=0,s=t.getNumAllocatedSectionPlanes();e> 16 & 0xF) == 1;"),n.push(" if (clippable) {"),n.push(" float dist = 0.0;");for(let e=0,s=t.getNumAllocatedSectionPlanes();e 0.0) { discard; }"),n.push("}")}return e.logarithmicDepthBufferEnabled&&n.push(" gl_FragDepth = isPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5;"),n.push("outColor = vColor;"),n.push("}"),n}}class Ha extends Si{_buildVertexShader(){const e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,s=[];return s.push("#version 300 es"),s.push("// Instancing geometry picking vertex shader"),s.push("uniform int renderPass;"),s.push("in vec3 position;"),e.entityOffsetsEnabled&&s.push("in vec3 offset;"),s.push("in float flags;"),s.push("in vec4 pickColor;"),s.push("in vec4 modelMatrixCol0;"),s.push("in vec4 modelMatrixCol1;"),s.push("in vec4 modelMatrixCol2;"),s.push("uniform bool pickInvisible;"),this._addMatricesUniformBlockLines(s),this._addRemapClipPosLines(s),e.logarithmicDepthBufferEnabled&&(s.push("uniform float logDepthBufFC;"),s.push("out float vFragDepth;"),s.push("bool isPerspectiveMatrix(mat4 m) {"),s.push(" return (m[2][3] == - 1.0);"),s.push("}"),s.push("out float isPerspective;")),t&&(s.push("out vec4 vWorldPosition;"),s.push("out float vFlags;")),s.push("out vec4 vPickColor;"),s.push("void main(void) {"),s.push("int pickFlag = int(flags) >> 12 & 0xF;"),s.push("if (pickFlag != renderPass) {"),s.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),s.push("} else {"),s.push(" vec4 worldPosition = positionsDecodeMatrix * vec4(position, 1.0); "),s.push(" worldPosition = worldMatrix * vec4(dot(worldPosition, modelMatrixCol0), dot(worldPosition, modelMatrixCol1), dot(worldPosition, modelMatrixCol2), 1.0);"),e.entityOffsetsEnabled&&s.push(" worldPosition.xyz = worldPosition.xyz + offset;"),s.push(" vec4 viewPosition = viewMatrix * worldPosition; "),s.push(" vPickColor = vec4(float(pickColor.r) / 255.0, float(pickColor.g) / 255.0, float(pickColor.b) / 255.0, float(pickColor.a) / 255.0);"),t&&(s.push(" vWorldPosition = worldPosition;"),s.push(" vFlags = flags;")),s.push("vec4 clipPos = projMatrix * viewPosition;"),e.logarithmicDepthBufferEnabled&&(s.push("vFragDepth = 1.0 + clipPos.w;"),s.push("isPerspective = float (isPerspectiveMatrix(projMatrix));")),s.push("gl_Position = remapClipPos(clipPos);"),s.push("}"),s.push("}"),s}_buildFragmentShader(){const e=this._scene,t=e._sectionPlanesState,s=t.getNumAllocatedSectionPlanes()>0,n=[];if(n.push("#version 300 es"),n.push("// Batched geometry picking fragment shader"),n.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),n.push("precision highp float;"),n.push("precision highp int;"),n.push("#else"),n.push("precision mediump float;"),n.push("precision mediump int;"),n.push("#endif"),e.logarithmicDepthBufferEnabled&&(n.push("in float isPerspective;"),n.push("uniform float logDepthBufFC;"),n.push("in float vFragDepth;")),s){n.push("in vec4 vWorldPosition;"),n.push("in float vFlags;");for(let e=0;e> 16 & 0xF) == 1;"),n.push(" if (clippable) {"),n.push(" float dist = 0.0;");for(let e=0;e 0.0) { discard; }"),n.push("}")}return e.logarithmicDepthBufferEnabled&&n.push(" gl_FragDepth = isPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5;"),n.push("outColor = vPickColor; "),n.push("}"),n}}class Ua extends Si{_buildVertexShader(){const e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,s=[];return s.push("#version 300 es"),s.push("// Instancing geometry depth vertex shader"),s.push("uniform int renderPass;"),s.push("in vec3 position;"),e.entityOffsetsEnabled&&s.push("in vec3 offset;"),s.push("in float flags;"),s.push("in vec4 modelMatrixCol0;"),s.push("in vec4 modelMatrixCol1;"),s.push("in vec4 modelMatrixCol2;"),s.push("uniform bool pickInvisible;"),this._addMatricesUniformBlockLines(s),this._addRemapClipPosLines(s),e.logarithmicDepthBufferEnabled&&(s.push("uniform float logDepthBufFC;"),s.push("out float vFragDepth;"),s.push("bool isPerspectiveMatrix(mat4 m) {"),s.push(" return (m[2][3] == - 1.0);"),s.push("}"),s.push("out float isPerspective;")),t&&(s.push("out vec4 vWorldPosition;"),s.push("out float vFlags;")),s.push("out vec4 vViewPosition;"),s.push("void main(void) {"),s.push("int pickFlag = int(flags) >> 12 & 0xF;"),s.push("if (pickFlag != renderPass) {"),s.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),s.push("} else {"),s.push(" vec4 worldPosition = positionsDecodeMatrix * vec4(position, 1.0); "),s.push(" worldPosition = worldMatrix * vec4(dot(worldPosition, modelMatrixCol0), dot(worldPosition, modelMatrixCol1), dot(worldPosition, modelMatrixCol2), 1.0);"),e.entityOffsetsEnabled&&s.push(" worldPosition.xyz = worldPosition.xyz + offset;"),s.push(" vec4 viewPosition = viewMatrix * worldPosition; "),t&&(s.push(" vWorldPosition = worldPosition;"),s.push(" vFlags = flags;")),s.push(" vViewPosition = viewPosition;"),s.push("vec4 clipPos = projMatrix * viewPosition;"),e.logarithmicDepthBufferEnabled&&(s.push("vFragDepth = 1.0 + clipPos.w;"),s.push("isPerspective = float (isPerspectiveMatrix(projMatrix));")),s.push("gl_Position = remapClipPos(clipPos);"),s.push("}"),s.push("}"),s}_buildFragmentShader(){const e=this._scene,t=e._sectionPlanesState,s=t.getNumAllocatedSectionPlanes()>0,n=[];if(n.push("#version 300 es"),n.push("// Batched geometry depth fragment shader"),n.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),n.push("precision highp float;"),n.push("precision highp int;"),n.push("#else"),n.push("precision mediump float;"),n.push("precision mediump int;"),n.push("#endif"),e.logarithmicDepthBufferEnabled&&(n.push("in float isPerspective;"),n.push("uniform float logDepthBufFC;"),n.push("in float vFragDepth;")),n.push("uniform float pickZNear;"),n.push("uniform float pickZFar;"),s){n.push("in vec4 vWorldPosition;"),n.push("in float vFlags;");for(let e=0;e> 16 & 0xF) == 1;"),n.push(" if (clippable) {"),n.push(" float dist = 0.0;");for(let e=0;e 0.0) { discard; }"),n.push("}")}return e.logarithmicDepthBufferEnabled&&n.push(" gl_FragDepth = isPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5;"),n.push(" float zNormalizedDepth = abs((pickZNear + vViewPosition.z) / (pickZFar - pickZNear));"),n.push(" outColor = packDepth(zNormalizedDepth); "),n.push("}"),n}}class Ga extends Si{_buildVertexShader(){const e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,s=[];return s.push("#version 300 es"),s.push("// Instancing geometry normals vertex shader"),s.push("uniform int renderPass;"),s.push("in vec3 position;"),e.entityOffsetsEnabled&&s.push("in vec3 offset;"),s.push("in vec2 normal;"),s.push("in float flags;"),s.push("in vec4 modelMatrixCol0;"),s.push("in vec4 modelMatrixCol1;"),s.push("in vec4 modelMatrixCol2;"),s.push("in vec4 modelNormalMatrixCol0;"),s.push("in vec4 modelNormalMatrixCol1;"),s.push("in vec4 modelNormalMatrixCol2;"),s.push("uniform bool pickInvisible;"),this._addMatricesUniformBlockLines(s),this._addRemapClipPosLines(s,3),e.logarithmicDepthBufferEnabled&&(s.push("uniform float logDepthBufFC;"),s.push("out float vFragDepth;"),s.push("bool isPerspectiveMatrix(mat4 m) {"),s.push(" return (m[2][3] == - 1.0);"),s.push("}"),s.push("out float isPerspective;")),s.push("vec3 octDecode(vec2 oct) {"),s.push(" vec3 v = vec3(oct.xy, 1.0 - abs(oct.x) - abs(oct.y));"),s.push(" if (v.z < 0.0) {"),s.push(" v.xy = (1.0 - abs(v.yx)) * vec2(v.x >= 0.0 ? 1.0 : -1.0, v.y >= 0.0 ? 1.0 : -1.0);"),s.push(" }"),s.push(" return normalize(v);"),s.push("}"),t&&(s.push("out vec4 vWorldPosition;"),s.push("out float vFlags;")),s.push("out vec3 vWorldNormal;"),s.push("void main(void) {"),s.push("int pickFlag = int(flags) >> 12 & 0xF;"),s.push("if (pickFlag != renderPass) {"),s.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),s.push("} else {"),s.push(" vec4 worldPosition = positionsDecodeMatrix * vec4(position, 1.0); "),s.push(" worldPosition = worldMatrix * vec4(dot(worldPosition, modelMatrixCol0), dot(worldPosition, modelMatrixCol1), dot(worldPosition, modelMatrixCol2), 1.0);"),e.entityOffsetsEnabled&&s.push(" worldPosition.xyz = worldPosition.xyz + offset;"),s.push(" vec4 viewPosition = viewMatrix * worldPosition; "),s.push(" vec4 modelNormal = vec4(octDecode(normal.xy), 0.0); "),s.push(" vec3 worldNormal = vec3(dot(modelNormal, modelNormalMatrixCol0), dot(modelNormal, modelNormalMatrixCol1), dot(modelNormal, modelNormalMatrixCol2));"),s.push(" vWorldNormal = worldNormal;"),t&&(s.push(" vWorldPosition = worldPosition;"),s.push("vFlags = flags;")),s.push("vec4 clipPos = projMatrix * viewPosition;"),e.logarithmicDepthBufferEnabled&&(s.push("vFragDepth = 1.0 + clipPos.w;"),s.push("isPerspective = float (isPerspectiveMatrix(projMatrix));")),s.push("gl_Position = remapClipPos(clipPos);"),s.push("}"),s.push("}"),s}_buildFragmentShader(){const e=this._scene,t=e._sectionPlanesState,s=t.getNumAllocatedSectionPlanes()>0,n=[];if(n.push("#version 300 es"),n.push("// Batched geometry normals fragment shader"),n.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),n.push("precision highp float;"),n.push("precision highp int;"),n.push("#else"),n.push("precision mediump float;"),n.push("precision mediump int;"),n.push("#endif"),e.logarithmicDepthBufferEnabled&&(n.push("in float isPerspective;"),n.push("uniform float logDepthBufFC;"),n.push("in float vFragDepth;")),s){n.push("in vec4 vWorldPosition;"),n.push("in float vFlags;");for(let e=0;e> 16 & 0xF) == 1;"),n.push(" if (clippable) {"),n.push(" float dist = 0.0;");for(var i=0;i 0.0) { discard; }"),n.push("}")}return e.logarithmicDepthBufferEnabled&&n.push(" gl_FragDepth = isPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5;"),n.push(` outNormal = ivec4(vWorldNormal * float(${h.MAX_INT}), 1.0);`),n.push("}"),n}}class ja extends Si{_buildVertexShader(){const e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,s=[];return s.push("#version 300 es"),s.push("// TrianglesInstancingOcclusionRenderer vertex shader"),s.push("uniform int renderPass;"),s.push("in vec3 position;"),e.entityOffsetsEnabled&&s.push("in vec3 offset;"),s.push("in vec4 color;"),s.push("in float flags;"),s.push("in vec4 modelMatrixCol0;"),s.push("in vec4 modelMatrixCol1;"),s.push("in vec4 modelMatrixCol2;"),this._addMatricesUniformBlockLines(s),t&&(s.push("out vec4 vWorldPosition;"),s.push("out float vFlags;")),s.push("void main(void) {"),s.push("int colorFlag = int(flags) & 0xF;"),s.push("if (colorFlag != renderPass) {"),s.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),s.push("} else {"),s.push(" vec4 worldPosition = positionsDecodeMatrix * vec4(position, 1.0); "),s.push(" worldPosition = worldMatrix * vec4(dot(worldPosition, modelMatrixCol0), dot(worldPosition, modelMatrixCol1), dot(worldPosition, modelMatrixCol2), 1.0);"),e.entityOffsetsEnabled&&s.push(" worldPosition.xyz = worldPosition.xyz + offset;"),s.push(" vec4 viewPosition = viewMatrix * worldPosition; "),t&&(s.push(" vWorldPosition = worldPosition;"),s.push("vFlags = flags;")),s.push("vec4 clipPos = projMatrix * viewPosition;"),s.push("gl_Position = clipPos;"),s.push("}"),s.push("}"),s}_buildFragmentShader(){const e=this._scene._sectionPlanesState,t=e.getNumAllocatedSectionPlanes()>0,s=[];if(s.push("#version 300 es"),s.push("// TrianglesInstancingOcclusionRenderer fragment shader"),s.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),s.push("precision highp float;"),s.push("precision highp int;"),s.push("#else"),s.push("precision mediump float;"),s.push("precision mediump int;"),s.push("#endif"),t){s.push("in vec4 vWorldPosition;"),s.push("in float vFlags;");for(let t=0;t> 16 & 0xF) == 1;"),s.push(" if (clippable) {"),s.push(" float dist = 0.0;");for(let t=0;t 0.0) { discard; }"),s.push("}")}return s.push(" outColor = vec4(0.0, 0.0, 1.0, 1.0); "),s.push("}"),s}}class Va extends Si{_buildVertexShader(){const e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,s=[];return s.push("#version 300 es"),s.push("// Instancing geometry depth drawing vertex shader"),s.push("uniform int renderPass;"),s.push("in vec3 position;"),e.entityOffsetsEnabled&&s.push("in vec3 offset;"),s.push("in float flags;"),s.push("in vec4 modelMatrixCol0;"),s.push("in vec4 modelMatrixCol1;"),s.push("in vec4 modelMatrixCol2;"),this._addMatricesUniformBlockLines(s),e.logarithmicDepthBufferEnabled&&(s.push("uniform float logDepthBufFC;"),s.push("out float vFragDepth;"),s.push("bool isPerspectiveMatrix(mat4 m) {"),s.push(" return (m[2][3] == - 1.0);"),s.push("}"),s.push("out float isPerspective;")),t&&(s.push("out vec4 vWorldPosition;"),s.push("out float vFlags;")),s.push("out vec2 vHighPrecisionZW;"),s.push("void main(void) {"),s.push("int colorFlag = int(flags) & 0xF;"),s.push("if (colorFlag != renderPass) {"),s.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),s.push("} else {"),s.push(" vec4 worldPosition = positionsDecodeMatrix * vec4(position, 1.0); "),s.push(" worldPosition = worldMatrix * vec4(dot(worldPosition, modelMatrixCol0), dot(worldPosition, modelMatrixCol1), dot(worldPosition, modelMatrixCol2), 1.0);"),e.entityOffsetsEnabled&&s.push(" worldPosition.xyz = worldPosition.xyz + offset;"),s.push(" vec4 viewPosition = viewMatrix * worldPosition; "),t&&(s.push("vWorldPosition = worldPosition;"),s.push("vFlags = flags;")),s.push("vec4 clipPos = projMatrix * viewPosition;"),e.logarithmicDepthBufferEnabled&&(s.push("vFragDepth = 1.0 + clipPos.w;"),s.push("isPerspective = float (isPerspectiveMatrix(projMatrix));")),s.push("gl_Position = clipPos;"),s.push("vHighPrecisionZW = gl_Position.zw;"),s.push("}"),s.push("}"),s}_buildFragmentShader(){const e=this._scene,t=e._sectionPlanesState;let s,n;const i=t.getNumAllocatedSectionPlanes()>0,a=[];if(a.push("#version 300 es"),a.push("// Instancing geometry depth drawing fragment shader"),a.push("precision highp float;"),a.push("precision highp int;"),e.logarithmicDepthBufferEnabled&&(a.push("in float isPerspective;"),a.push("uniform float logDepthBufFC;"),a.push("in float vFragDepth;")),i)for(a.push("in vec4 vWorldPosition;"),a.push("in float vFlags;"),s=0,n=t.getNumAllocatedSectionPlanes();s> 16 & 0xF) == 1;"),a.push(" if (clippable) {"),a.push(" float dist = 0.0;"),s=0,n=t.getNumAllocatedSectionPlanes();s 0.0) { discard; }"),a.push("}")}return e.logarithmicDepthBufferEnabled&&a.push(" gl_FragDepth = isPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5;"),a.push("float fragCoordZ = 0.5 * vHighPrecisionZW[0] / vHighPrecisionZW[1] + 0.5;"),a.push(" outColor = vec4(vec3(1.0 - fragCoordZ), 1.0); "),a.push("}"),a}}class ka extends Si{_buildVertexShader(){const e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,s=[];return s.push("#version 300 es"),s.push("// Instancing geometry normals drawing vertex shader"),s.push("uniform int renderPass;"),s.push("in vec3 position;"),e.entityOffsetsEnabled&&s.push("in vec3 offset;"),s.push("in vec3 normal;"),s.push("in vec4 color;"),s.push("in float flags;"),s.push("in vec4 modelMatrixCol0;"),s.push("in vec4 modelMatrixCol1;"),s.push("in vec4 modelMatrixCol2;"),this._addMatricesUniformBlockLines(s,!0),e.logarithmicDepthBufferEnabled&&(s.push("uniform float logDepthBufFC;"),s.push("out float vFragDepth;"),s.push("bool isPerspectiveMatrix(mat4 m) {"),s.push(" return (m[2][3] == - 1.0);"),s.push("}"),s.push("out float isPerspective;")),s.push("vec3 octDecode(vec2 oct) {"),s.push(" vec3 v = vec3(oct.xy, 1.0 - abs(oct.x) - abs(oct.y));"),s.push(" if (v.z < 0.0) {"),s.push(" v.xy = (1.0 - abs(v.yx)) * vec2(v.x >= 0.0 ? 1.0 : -1.0, v.y >= 0.0 ? 1.0 : -1.0);"),s.push(" }"),s.push(" return normalize(v);"),s.push("}"),t&&(s.push("out vec4 vWorldPosition;"),s.push("out float vFlags;")),s.push("out vec3 vViewNormal;"),s.push("void main(void) {"),s.push("int colorFlag = int(flags) & 0xF;"),s.push("if (colorFlag != renderPass) {"),s.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),s.push("} else {"),s.push(" vec4 worldPosition = positionsDecodeMatrix * vec4(position, 1.0); "),s.push(" worldPosition = worldMatrix * vec4(dot(worldPosition, modelMatrixCol0), dot(worldPosition, modelMatrixCol1), dot(worldPosition, modelMatrixCol2), 1.0);"),e.entityOffsetsEnabled&&s.push(" worldPosition.xyz = worldPosition.xyz + offset;"),s.push(" vec4 viewPosition = viewMatrix * worldPosition; "),s.push(" vec4 worldNormal = worldNormalMatrix * vec4(octDecode(normal.xy), 0.0); "),s.push(" vec3 viewNormal = normalize((viewNormalMatrix * worldNormal).xyz);"),t&&(s.push("vWorldPosition = worldPosition;"),s.push("vFlags = flags;")),s.push(" vViewNormal = viewNormal;"),s.push("vec4 clipPos = projMatrix * viewPosition;"),e.logarithmicDepthBufferEnabled&&(s.push("vFragDepth = 1.0 + clipPos.w;"),s.push("isPerspective = float (isPerspectiveMatrix(projMatrix));")),s.push("gl_Position = clipPos;"),s.push("}"),s.push("}"),s}_buildFragmentShader(){const e=this._scene,t=e._sectionPlanesState,s=t.getNumAllocatedSectionPlanes()>0,n=[];if(n.push("#version 300 es"),n.push("// Instancing geometry depth drawing fragment shader"),n.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),n.push("precision highp float;"),n.push("precision highp int;"),n.push("#else"),n.push("precision mediump float;"),n.push("precision mediump int;"),n.push("#endif"),e.logarithmicDepthBufferEnabled&&(n.push("in float isPerspective;"),n.push("uniform float logDepthBufFC;"),n.push("in float vFragDepth;")),s){n.push("in vec4 vWorldPosition;"),n.push("in float vFlags;");for(let e=0,s=t.getNumAllocatedSectionPlanes();e> 16 & 0xF) == 1;"),n.push(" if (clippable) {"),n.push(" float dist = 0.0;");for(let e=0,s=t.getNumAllocatedSectionPlanes();e 0.0) { discard; }"),n.push("}")}return e.logarithmicDepthBufferEnabled&&n.push(" gl_FragDepth = isPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5;"),n.push(" outColor = vec4(packNormalToRGB(vViewNormal), 1.0); "),n.push("}"),n}}class Qa extends Si{_buildVertexShader(){const e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,s=[];return s.push("#version 300 es"),s.push("// Instancing geometry shadow drawing vertex shader"),s.push("in vec3 position;"),e.entityOffsetsEnabled&&s.push("in vec3 offset;"),s.push("in vec4 color;"),s.push("in float flags;"),s.push("in vec4 modelMatrixCol0;"),s.push("in vec4 modelMatrixCol1;"),s.push("in vec4 modelMatrixCol2;"),s.push("uniform mat4 shadowViewMatrix;"),s.push("uniform mat4 shadowProjMatrix;"),this._addMatricesUniformBlockLines(s),t&&(s.push("out vec4 vWorldPosition;"),s.push("out float vFlags;")),s.push("void main(void) {"),s.push("int colorFlag = int(flags) & 0xF;"),s.push("bool visible = (colorFlag > 0);"),s.push("bool transparent = ((float(color.a) / 255.0) < 1.0);"),s.push("if (!visible || transparent) {"),s.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),s.push("} else {"),s.push(" vec4 worldPosition = positionsDecodeMatrix * vec4(position, 1.0); "),s.push(" worldPosition = vec4(dot(worldPosition, modelMatrixCol0), dot(worldPosition, modelMatrixCol1), dot(worldPosition, modelMatrixCol2), 1.0);"),e.entityOffsetsEnabled&&s.push(" worldPosition.xyz = worldPosition.xyz + offset;"),s.push(" vec4 viewPosition = shadowViewMatrix * worldPosition; "),t&&(s.push("vWorldPosition = worldPosition;"),s.push("vFlags = flags;")),s.push(" gl_Position = shadowProjMatrix * viewPosition;"),s.push("}"),s.push("}"),s}_buildFragmentShader(){const e=this._scene,t=e._sectionPlanesState,s=t.getNumAllocatedSectionPlanes()>0,n=[];if(n.push("#version 300 es"),n.push("// Instancing geometry depth drawing fragment shader"),n.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),n.push("precision highp float;"),n.push("precision highp int;"),n.push("#else"),n.push("precision mediump float;"),n.push("precision mediump int;"),n.push("#endif"),e.logarithmicDepthBufferEnabled&&(n.push("uniform float logDepthBufFC;"),n.push("in float vFragDepth;")),s){n.push("in vec4 vWorldPosition;"),n.push("in float vFlags;");for(let e=0,s=t.getNumAllocatedSectionPlanes();e> 16 & 0xF) == 1;"),n.push(" if (clippable) {"),n.push(" float dist = 0.0;");for(let e=0,s=t.getNumAllocatedSectionPlanes();e 0.0) { discard; }"),n.push("}")}return e.logarithmicDepthBufferEnabled&&n.push("gl_FragDepth = log2( vFragDepth ) * logDepthBufFC * 0.5;"),n.push(" outColor = vec4(packNormalToRGB(vViewNormal), 1.0); "),n.push("}"),n}}const Wa={3e3:"linearToLinear",3001:"sRGBToLinear"};class za extends Si{_getHash(){const e=this._scene;return[e.gammaOutput,e._lightsState.getHash(),e._sectionPlanesState.getHash(),this._withSAO?"sao":"nosao"].join(";")}drawLayer(e,t,s){super.drawLayer(e,t,s,{incrementDrawState:!0})}_buildVertexShader(){const e=this._scene,t=e._sectionPlanesState,s=e._lightsState,n=t.getNumAllocatedSectionPlanes()>0,i=t.clippingCaps,a=[];return a.push("#version 300 es"),a.push("// Instancing geometry quality drawing vertex shader"),a.push("uniform int renderPass;"),a.push("in vec3 position;"),a.push("in vec3 normal;"),a.push("in vec4 color;"),a.push("in vec2 uv;"),a.push("in vec2 metallicRoughness;"),a.push("in float flags;"),e.entityOffsetsEnabled&&a.push("in vec3 offset;"),a.push("in vec4 modelMatrixCol0;"),a.push("in vec4 modelMatrixCol1;"),a.push("in vec4 modelMatrixCol2;"),a.push("in vec4 modelNormalMatrixCol0;"),a.push("in vec4 modelNormalMatrixCol1;"),a.push("in vec4 modelNormalMatrixCol2;"),this._addMatricesUniformBlockLines(a,!0),a.push("uniform mat3 uvDecodeMatrix;"),e.logarithmicDepthBufferEnabled&&(a.push("uniform float logDepthBufFC;"),a.push("out float vFragDepth;"),a.push("bool isPerspectiveMatrix(mat4 m) {"),a.push(" return (m[2][3] == - 1.0);"),a.push("}"),a.push("out float isPerspective;")),a.push("vec3 octDecode(vec2 oct) {"),a.push(" vec3 v = vec3(oct.xy, 1.0 - abs(oct.x) - abs(oct.y));"),a.push(" if (v.z < 0.0) {"),a.push(" v.xy = (1.0 - abs(v.yx)) * vec2(v.x >= 0.0 ? 1.0 : -1.0, v.y >= 0.0 ? 1.0 : -1.0);"),a.push(" }"),a.push(" return normalize(v);"),a.push("}"),a.push("out vec4 vViewPosition;"),a.push("out vec3 vViewNormal;"),a.push("out vec4 vColor;"),a.push("out vec2 vUV;"),a.push("out vec2 vMetallicRoughness;"),s.lightMaps.length>0&&a.push("out vec3 vWorldNormal;"),n&&(a.push("out vec4 vWorldPosition;"),a.push("out float vFlags;"),i&&a.push("out vec4 vClipPosition;")),a.push("void main(void) {"),a.push("int colorFlag = int(flags) & 0xF;"),a.push("if (colorFlag != renderPass) {"),a.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),a.push("} else {"),a.push("vec4 worldPosition = positionsDecodeMatrix * vec4(position, 1.0); "),a.push("worldPosition = worldMatrix * vec4(dot(worldPosition, modelMatrixCol0), dot(worldPosition, modelMatrixCol1), dot(worldPosition, modelMatrixCol2), 1.0);"),e.entityOffsetsEnabled&&a.push(" worldPosition.xyz = worldPosition.xyz + offset;"),a.push("vec4 viewPosition = viewMatrix * worldPosition; "),a.push("vec4 modelNormal = vec4(octDecode(normal.xy), 0.0); "),a.push("vec4 worldNormal = worldNormalMatrix * vec4(dot(modelNormal, modelNormalMatrixCol0), dot(modelNormal, modelNormalMatrixCol1), dot(modelNormal, modelNormalMatrixCol2), 1.0);"),a.push("vec3 viewNormal = vec4(viewNormalMatrix * worldNormal).xyz;"),a.push("vec4 clipPos = projMatrix * viewPosition;"),e.logarithmicDepthBufferEnabled&&(a.push("vFragDepth = 1.0 + clipPos.w;"),a.push("isPerspective = float (isPerspectiveMatrix(projMatrix));")),n&&(a.push("vWorldPosition = worldPosition;"),a.push("vFlags = flags;"),i&&a.push("vClipPosition = clipPos;")),a.push("vViewPosition = viewPosition;"),a.push("vViewNormal = viewNormal;"),a.push("vColor = color;"),a.push("vUV = (uvDecodeMatrix * vec3(uv, 1.0)).xy;"),a.push("vMetallicRoughness = metallicRoughness;"),s.lightMaps.length>0&&a.push("vWorldNormal = worldNormal.xyz;"),a.push("gl_Position = clipPos;"),a.push("}"),a.push("}"),a}_buildFragmentShader(){const e=this._scene,t=e.gammaOutput,s=e._sectionPlanesState,n=e._lightsState,i=s.getNumAllocatedSectionPlanes()>0,a=s.clippingCaps,r=[];r.push("#version 300 es"),r.push("// Instancing geometry quality drawing fragment shader"),r.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),r.push("precision highp float;"),r.push("precision highp int;"),r.push("#else"),r.push("precision mediump float;"),r.push("precision mediump int;"),r.push("#endif"),e.logarithmicDepthBufferEnabled&&(r.push("in float isPerspective;"),r.push("uniform float logDepthBufFC;"),r.push("in float vFragDepth;")),r.push("uniform sampler2D uColorMap;"),r.push("uniform sampler2D uMetallicRoughMap;"),r.push("uniform sampler2D uEmissiveMap;"),r.push("uniform sampler2D uNormalMap;"),this._withSAO&&(r.push("uniform sampler2D uOcclusionTexture;"),r.push("uniform vec4 uSAOParams;"),r.push("const float packUpscale = 256. / 255.;"),r.push("const float unpackDownScale = 255. / 256.;"),r.push("const vec3 packFactors = vec3( 256. * 256. * 256., 256. * 256., 256. );"),r.push("const vec4 unPackFactors = unpackDownScale / vec4( packFactors, 1. );"),r.push("float unpackRGBToFloat( const in vec4 v ) {"),r.push(" return dot( v, unPackFactors );"),r.push("}")),n.reflectionMaps.length>0&&r.push("uniform samplerCube reflectionMap;"),n.lightMaps.length>0&&r.push("uniform samplerCube lightMap;"),r.push("uniform vec4 lightAmbient;");for(let e=0,t=n.lights.length;e0&&r.push("in vec3 vWorldNormal;"),this._addMatricesUniformBlockLines(r,!0),r.push("#define PI 3.14159265359"),r.push("#define RECIPROCAL_PI 0.31830988618"),r.push("#define RECIPROCAL_PI2 0.15915494"),r.push("#define EPSILON 1e-6"),r.push("#define saturate(a) clamp( a, 0.0, 1.0 )"),r.push("vec3 perturbNormal2Arb( vec3 eye_pos, vec3 surf_norm, vec2 uv ) {"),r.push(" vec3 texel = texture( uNormalMap, uv ).xyz;"),r.push(" if (texel.r == 0.0 && texel.g == 0.0 && texel.b == 0.0) {"),r.push(" return normalize(surf_norm );"),r.push(" }"),r.push(" vec3 q0 = vec3( dFdx( eye_pos.x ), dFdx( eye_pos.y ), dFdx( eye_pos.z ) );"),r.push(" vec3 q1 = vec3( dFdy( eye_pos.x ), dFdy( eye_pos.y ), dFdy( eye_pos.z ) );"),r.push(" vec2 st0 = dFdx( uv.st );"),r.push(" vec2 st1 = dFdy( uv.st );"),r.push(" vec3 S = normalize( q0 * st1.t - q1 * st0.t );"),r.push(" vec3 T = normalize( -q0 * st1.s + q1 * st0.s );"),r.push(" vec3 N = normalize( surf_norm );"),r.push(" vec3 mapN = texel.xyz * 2.0 - 1.0;"),r.push(" mat3 tsn = mat3( S, T, N );"),r.push(" return normalize( tsn * mapN );"),r.push("}"),r.push("vec3 inverseTransformDirection(in vec3 dir, in mat4 matrix) {"),r.push(" return normalize( ( vec4( dir, 0.0 ) * matrix ).xyz );"),r.push("}"),r.push("struct IncidentLight {"),r.push(" vec3 color;"),r.push(" vec3 direction;"),r.push("};"),r.push("struct ReflectedLight {"),r.push(" vec3 diffuse;"),r.push(" vec3 specular;"),r.push("};"),r.push("struct Geometry {"),r.push(" vec3 position;"),r.push(" vec3 viewNormal;"),r.push(" vec3 worldNormal;"),r.push(" vec3 viewEyeDir;"),r.push("};"),r.push("struct Material {"),r.push(" vec3 diffuseColor;"),r.push(" float specularRoughness;"),r.push(" vec3 specularColor;"),r.push(" float shine;"),r.push("};"),r.push("float GGXRoughnessToBlinnExponent(const in float ggxRoughness) {"),r.push(" float r = ggxRoughness + 0.0001;"),r.push(" return (2.0 / (r * r) - 2.0);"),r.push("}"),r.push("float getSpecularMIPLevel(const in float blinnShininessExponent, const in int maxMIPLevel) {"),r.push(" float maxMIPLevelScalar = float( maxMIPLevel );"),r.push(" float desiredMIPLevel = maxMIPLevelScalar - 0.79248 - 0.5 * log2( ( blinnShininessExponent * blinnShininessExponent ) + 1.0 );"),r.push(" return clamp( desiredMIPLevel, 0.0, maxMIPLevelScalar );"),r.push("}"),n.reflectionMaps.length>0&&(r.push("vec3 getLightProbeIndirectRadiance(const in vec3 reflectVec, const in float blinnShininessExponent, const in int maxMIPLevel) {"),r.push(" float mipLevel = 0.5 * getSpecularMIPLevel(blinnShininessExponent, maxMIPLevel);"),r.push(" vec3 envMapColor = "+Wa[n.reflectionMaps[0].encoding]+"(texture(reflectionMap, reflectVec, mipLevel)).rgb;"),r.push(" return envMapColor;"),r.push("}")),r.push("vec3 F_Schlick(const in vec3 specularColor, const in float dotLH) {"),r.push(" float fresnel = exp2( ( -5.55473 * dotLH - 6.98316 ) * dotLH );"),r.push(" return ( 1.0 - specularColor ) * fresnel + specularColor;"),r.push("}"),r.push("float G_GGX_Smith(const in float alpha, const in float dotNL, const in float dotNV) {"),r.push(" float a2 = ( alpha * alpha );"),r.push(" float gl = dotNL + sqrt( a2 + ( 1.0 - a2 ) * ( dotNL * dotNL ) );"),r.push(" float gv = dotNV + sqrt( a2 + ( 1.0 - a2 ) * ( dotNV * dotNV ) );"),r.push(" return 1.0 / ( gl * gv );"),r.push("}"),r.push("float G_GGX_SmithCorrelated(const in float alpha, const in float dotNL, const in float dotNV) {"),r.push(" float a2 = ( alpha * alpha );"),r.push(" float gv = dotNL * sqrt( a2 + ( 1.0 - a2 ) * ( dotNV * dotNV ) );"),r.push(" float gl = dotNV * sqrt( a2 + ( 1.0 - a2 ) * ( dotNL * dotNL ) );"),r.push(" return 0.5 / max( gv + gl, EPSILON );"),r.push("}"),r.push("float D_GGX(const in float alpha, const in float dotNH) {"),r.push(" float a2 = ( alpha * alpha );"),r.push(" float denom = ( dotNH * dotNH) * ( a2 - 1.0 ) + 1.0;"),r.push(" return RECIPROCAL_PI * a2 / ( denom * denom);"),r.push("}"),r.push("vec3 BRDF_Specular_GGX(const in IncidentLight incidentLight, const in Geometry geometry, const in vec3 specularColor, const in float roughness) {"),r.push(" float alpha = ( roughness * roughness );"),r.push(" vec3 halfDir = normalize( incidentLight.direction + geometry.viewEyeDir );"),r.push(" float dotNL = saturate( dot( geometry.viewNormal, incidentLight.direction ) );"),r.push(" float dotNV = saturate( dot( geometry.viewNormal, geometry.viewEyeDir ) );"),r.push(" float dotNH = saturate( dot( geometry.viewNormal, halfDir ) );"),r.push(" float dotLH = saturate( dot( incidentLight.direction, halfDir ) );"),r.push(" vec3 F = F_Schlick( specularColor, dotLH );"),r.push(" float G = G_GGX_SmithCorrelated( alpha, dotNL, dotNV );"),r.push(" float D = D_GGX( alpha, dotNH );"),r.push(" return F * (G * D);"),r.push("}"),r.push("vec3 BRDF_Specular_GGX_Environment(const in Geometry geometry, const in vec3 specularColor, const in float roughness) {"),r.push(" float dotNV = saturate(dot(geometry.viewNormal, geometry.viewEyeDir));"),r.push(" const vec4 c0 = vec4( -1, -0.0275, -0.572, 0.022);"),r.push(" const vec4 c1 = vec4( 1, 0.0425, 1.04, -0.04);"),r.push(" vec4 r = roughness * c0 + c1;"),r.push(" float a004 = min(r.x * r.x, exp2(-9.28 * dotNV)) * r.x + r.y;"),r.push(" vec2 AB = vec2(-1.04, 1.04) * a004 + r.zw;"),r.push(" return specularColor * AB.x + AB.y;"),r.push("}"),(n.lightMaps.length>0||n.reflectionMaps.length>0)&&(r.push("void computePBRLightMapping(const in Geometry geometry, const in Material material, inout ReflectedLight reflectedLight) {"),n.lightMaps.length>0&&(r.push(" vec3 irradiance = "+Wa[n.lightMaps[0].encoding]+"(texture(lightMap, geometry.worldNormal)).rgb;"),r.push(" irradiance *= PI;"),r.push(" vec3 diffuseBRDFContrib = (RECIPROCAL_PI * material.diffuseColor);"),r.push(" reflectedLight.diffuse += irradiance * diffuseBRDFContrib;")),n.reflectionMaps.length>0&&(r.push(" vec3 reflectVec = reflect(geometry.viewEyeDir, geometry.viewNormal);"),r.push(" reflectVec = inverseTransformDirection(reflectVec, viewMatrix);"),r.push(" float blinnExpFromRoughness = GGXRoughnessToBlinnExponent(material.specularRoughness);"),r.push(" vec3 radiance = getLightProbeIndirectRadiance(reflectVec, blinnExpFromRoughness, 8);"),r.push(" vec3 specularBRDFContrib = BRDF_Specular_GGX_Environment(geometry, material.specularColor, material.specularRoughness);"),r.push(" reflectedLight.specular += radiance * specularBRDFContrib;")),r.push("}")),r.push("void computePBRLighting(const in IncidentLight incidentLight, const in Geometry geometry, const in Material material, inout ReflectedLight reflectedLight) {"),r.push(" float dotNL = saturate(dot(geometry.viewNormal, incidentLight.direction));"),r.push(" vec3 irradiance = dotNL * incidentLight.color * PI;"),r.push(" reflectedLight.diffuse += irradiance * (RECIPROCAL_PI * material.diffuseColor);"),r.push(" reflectedLight.specular += irradiance * BRDF_Specular_GGX(incidentLight, geometry, material.specularColor, material.specularRoughness);"),r.push("}"),r.push("out vec4 outColor;"),r.push("void main(void) {"),i){r.push(" bool clippable = (int(vFlags) >> 16 & 0xF) == 1;"),r.push(" if (clippable) {"),r.push(" float dist = 0.0;");for(let e=0,t=s.getNumAllocatedSectionPlanes();e (0.002 * vClipPosition.w)) {"),r.push(" discard;"),r.push(" }"),r.push(" if (dist > 0.0) { "),r.push(" outColor=vec4(1.0, 0.0, 0.0, 1.0);"),e.logarithmicDepthBufferEnabled&&r.push(" gl_FragDepth = log2( vFragDepth ) * logDepthBufFC * 0.5;"),r.push(" return;"),r.push("}")):(r.push(" if (dist > 0.0) { "),r.push(" discard;"),r.push(" }")),r.push("}")}r.push("IncidentLight light;"),r.push("Material material;"),r.push("Geometry geometry;"),r.push("ReflectedLight reflectedLight = ReflectedLight(vec3(0.0,0.0,0.0), vec3(0.0,0.0,0.0));"),r.push("vec3 rgb = (vec3(float(vColor.r) / 255.0, float(vColor.g) / 255.0, float(vColor.b) / 255.0));"),r.push("float opacity = float(vColor.a) / 255.0;"),r.push("vec3 baseColor = rgb;"),r.push("float specularF0 = 1.0;"),r.push("float metallic = float(vMetallicRoughness.r) / 255.0;"),r.push("float roughness = float(vMetallicRoughness.g) / 255.0;"),r.push("float dielectricSpecular = 0.16 * specularF0 * specularF0;"),r.push("vec4 colorTexel = sRGBToLinear(texture(uColorMap, vUV));"),r.push("baseColor *= colorTexel.rgb;"),r.push("vec3 metalRoughTexel = texture(uMetallicRoughMap, vUV).rgb;"),r.push("metallic *= metalRoughTexel.b;"),r.push("roughness *= metalRoughTexel.g;"),r.push("vec3 viewNormal = perturbNormal2Arb( vViewPosition.xyz, normalize(vViewNormal), vUV );"),r.push("material.diffuseColor = baseColor * (1.0 - dielectricSpecular) * (1.0 - metallic);"),r.push("material.specularRoughness = clamp(roughness, 0.04, 1.0);"),r.push("material.specularColor = mix(vec3(dielectricSpecular), baseColor, metallic);"),r.push("geometry.position = vViewPosition.xyz;"),r.push("geometry.viewNormal = -normalize(viewNormal);"),r.push("geometry.viewEyeDir = normalize(vViewPosition.xyz);"),n.lightMaps.length>0&&r.push("geometry.worldNormal = normalize(vWorldNormal);"),(n.lightMaps.length>0||n.reflectionMaps.length>0)&&r.push("computePBRLightMapping(geometry, material, reflectedLight);");for(let e=0,t=n.lights.length;e0,s=[];return s.push("#version 300 es"),s.push("// Instancing geometry normals vertex shader"),s.push("uniform int renderPass;"),s.push("in vec3 position;"),e.entityOffsetsEnabled&&s.push("in vec3 offset;"),s.push("in float flags;"),s.push("in vec4 modelMatrixCol0;"),s.push("in vec4 modelMatrixCol1;"),s.push("in vec4 modelMatrixCol2;"),s.push("uniform bool pickInvisible;"),this._addMatricesUniformBlockLines(s),this._addRemapClipPosLines(s,3),e.logarithmicDepthBufferEnabled&&(s.push("uniform float logDepthBufFC;"),s.push("out float vFragDepth;"),s.push("bool isPerspectiveMatrix(mat4 m) {"),s.push(" return (m[2][3] == - 1.0);"),s.push("}"),s.push("out float isPerspective;")),t&&s.push("out float vFlags;"),s.push("out vec4 vWorldPosition;"),s.push("void main(void) {"),s.push("int pickFlag = int(flags) >> 12 & 0xF;"),s.push("if (pickFlag != renderPass) {"),s.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),s.push("} else {"),s.push(" vec4 worldPosition = positionsDecodeMatrix * vec4(position, 1.0); "),s.push(" worldPosition = worldMatrix * vec4(dot(worldPosition, modelMatrixCol0), dot(worldPosition, modelMatrixCol1), dot(worldPosition, modelMatrixCol2), 1.0);"),e.entityOffsetsEnabled&&s.push(" worldPosition.xyz = worldPosition.xyz + offset;"),s.push(" vec4 viewPosition = viewMatrix * worldPosition; "),s.push(" vWorldPosition = worldPosition;"),s.push("vec4 clipPos = projMatrix * viewPosition;"),e.logarithmicDepthBufferEnabled&&(s.push("vFragDepth = 1.0 + clipPos.w;"),s.push("isPerspective = float (isPerspectiveMatrix(projMatrix));")),t&&s.push("vFlags = flags;"),s.push("gl_Position = remapClipPos(clipPos);"),s.push("}"),s.push("}"),s}_buildFragmentShader(){const e=this._scene,t=e._sectionPlanesState,s=t.getNumAllocatedSectionPlanes()>0,n=[];if(n.push("#version 300 es"),n.push("// Batched geometry normals fragment shader"),n.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),n.push("precision highp float;"),n.push("precision highp int;"),n.push("#else"),n.push("precision mediump float;"),n.push("precision mediump int;"),n.push("#endif"),e.logarithmicDepthBufferEnabled&&(n.push("in float isPerspective;"),n.push("uniform float logDepthBufFC;"),n.push("in float vFragDepth;")),n.push("in vec4 vWorldPosition;"),s){n.push("in float vFlags;");for(let e=0;e> 16 & 0xF) == 1;"),n.push(" if (clippable) {"),n.push(" float dist = 0.0;");for(var i=0;i 0.0) { discard; }"),n.push("}")}return e.logarithmicDepthBufferEnabled&&n.push(" gl_FragDepth = isPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5;"),n.push(" vec3 xTangent = dFdx( vWorldPosition.xyz );"),n.push(" vec3 yTangent = dFdy( vWorldPosition.xyz );"),n.push(" vec3 worldNormal = normalize( cross( xTangent, yTangent ) );"),n.push(` outNormal = ivec4(worldNormal * float(${h.MAX_INT}), 1.0);`),n.push("}"),n}}class Ya extends Si{_getHash(){const e=this._scene;return[e.gammaOutput,e._lightsState.getHash(),e._sectionPlanesState.getHash(),this._withSAO?"sao":"nosao"].join(";")}drawLayer(e,t,s){super.drawLayer(e,t,s,{incrementDrawState:!0})}_buildVertexShader(){const e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,s=[];return s.push("#version 300 es"),s.push("// Instancing geometry drawing vertex shader"),s.push("uniform int renderPass;"),s.push("in vec3 position;"),s.push("in vec4 color;"),s.push("in vec2 uv;"),s.push("in float flags;"),e.entityOffsetsEnabled&&s.push("in vec3 offset;"),s.push("in vec4 modelMatrixCol0;"),s.push("in vec4 modelMatrixCol1;"),s.push("in vec4 modelMatrixCol2;"),this._addMatricesUniformBlockLines(s),s.push("uniform mat3 uvDecodeMatrix;"),e.logarithmicDepthBufferEnabled&&(s.push("uniform float logDepthBufFC;"),s.push("out float vFragDepth;"),s.push("bool isPerspectiveMatrix(mat4 m) {"),s.push(" return (m[2][3] == - 1.0);"),s.push("}"),s.push("out float isPerspective;")),t&&(s.push("out vec4 vWorldPosition;"),s.push("out float vFlags;")),s.push("out vec4 vViewPosition;"),s.push("out vec4 vColor;"),s.push("out vec2 vUV;"),s.push("void main(void) {"),s.push("int colorFlag = int(flags) & 0xF;"),s.push("if (colorFlag != renderPass) {"),s.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),s.push("} else {"),s.push("vec4 worldPosition = positionsDecodeMatrix * vec4(position, 1.0); "),s.push("worldPosition = worldMatrix * vec4(dot(worldPosition, modelMatrixCol0), dot(worldPosition, modelMatrixCol1), dot(worldPosition, modelMatrixCol2), 1.0);"),e.entityOffsetsEnabled&&s.push(" worldPosition.xyz = worldPosition.xyz + offset;"),s.push("vec4 viewPosition = viewMatrix * worldPosition; "),s.push("vViewPosition = viewPosition;"),s.push("vColor = vec4(float(color.r) / 255.0, float(color.g) / 255.0, float(color.b) / 255.0, float(color.a) / 255.0);"),s.push("vUV = (uvDecodeMatrix * vec3(uv, 1.0)).xy;"),s.push("vec4 clipPos = projMatrix * viewPosition;"),e.logarithmicDepthBufferEnabled&&(s.push("vFragDepth = 1.0 + clipPos.w;"),s.push("isPerspective = float (isPerspectiveMatrix(projMatrix));")),t&&(s.push("vWorldPosition = worldPosition;"),s.push("vFlags = flags;")),s.push("gl_Position = clipPos;"),s.push("}"),s.push("}"),s}_buildFragmentShader(){const e=this._scene,t=e.gammaOutput,s=e._sectionPlanesState,n=e._lightsState;let i,a;const r=s.getNumAllocatedSectionPlanes()>0,l=[];if(l.push("#version 300 es"),l.push("// Instancing geometry drawing fragment shader"),l.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),l.push("precision highp float;"),l.push("precision highp int;"),l.push("#else"),l.push("precision mediump float;"),l.push("precision mediump int;"),l.push("#endif"),e.logarithmicDepthBufferEnabled&&(l.push("in float isPerspective;"),l.push("uniform float logDepthBufFC;"),l.push("in float vFragDepth;")),l.push("uniform sampler2D uColorMap;"),this._withSAO&&(l.push("uniform sampler2D uOcclusionTexture;"),l.push("uniform vec4 uSAOParams;"),l.push("const float packUpscale = 256. / 255.;"),l.push("const float unpackDownScale = 255. / 256.;"),l.push("const vec3 packFactors = vec3( 256. * 256. * 256., 256. * 256., 256. );"),l.push("const vec4 unPackFactors = unpackDownScale / vec4( packFactors, 1. );"),l.push("float unpackRGBToFloat( const in vec4 v ) {"),l.push(" return dot( v, unPackFactors );"),l.push("}")),l.push("uniform float gammaFactor;"),l.push("vec4 linearToLinear( in vec4 value ) {"),l.push(" return value;"),l.push("}"),l.push("vec4 sRGBToLinear( in vec4 value ) {"),l.push(" return vec4( mix( pow( value.rgb * 0.9478672986 + vec3( 0.0521327014 ), vec3( 2.4 ) ), value.rgb * 0.0773993808, vec3( lessThanEqual( value.rgb, vec3( 0.04045 ) ) ) ), value.w );"),l.push("}"),l.push("vec4 gammaToLinear( in vec4 value) {"),l.push(" return vec4( pow( value.xyz, vec3( gammaFactor ) ), value.w );"),l.push("}"),t&&(l.push("vec4 linearToGamma( in vec4 value, in float gammaFactor ) {"),l.push(" return vec4( pow( value.xyz, vec3( 1.0 / gammaFactor ) ), value.w );"),l.push("}")),r){l.push("in vec4 vWorldPosition;"),l.push("in float vFlags;");for(let e=0,t=s.getNumAllocatedSectionPlanes();e> 16 & 0xF) == 1;"),l.push(" if (clippable) {"),l.push(" float dist = 0.0;");for(let e=0,t=s.getNumAllocatedSectionPlanes();e 0.0) { "),l.push(" discard;"),l.push(" }"),l.push("}")}for(l.push("vec3 reflectedColor = vec3(0.0, 0.0, 0.0);"),l.push("vec3 viewLightDir = vec3(0.0, 0.0, -1.0);"),l.push("float lambertian = 1.0;"),l.push("vec3 xTangent = dFdx( vViewPosition.xyz );"),l.push("vec3 yTangent = dFdy( vViewPosition.xyz );"),l.push("vec3 viewNormal = normalize( cross( xTangent, yTangent ) );"),i=0,a=n.lights.length;i0,s=[];return s.push("#version 300 es"),s.push("// SnapInstancingDepthBufInitRenderer vertex shader"),s.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),s.push("precision highp float;"),s.push("precision highp int;"),s.push("precision highp usampler2D;"),s.push("precision highp isampler2D;"),s.push("precision highp sampler2D;"),s.push("#else"),s.push("precision mediump float;"),s.push("precision mediump int;"),s.push("precision mediump usampler2D;"),s.push("precision mediump isampler2D;"),s.push("precision mediump sampler2D;"),s.push("#endif"),s.push("uniform int renderPass;"),s.push("in vec4 pickColor;"),s.push("in vec3 position;"),e.entityOffsetsEnabled&&s.push("in vec3 offset;"),s.push("in float flags;"),s.push("in vec4 modelMatrixCol0;"),s.push("in vec4 modelMatrixCol1;"),s.push("in vec4 modelMatrixCol2;"),s.push("uniform bool pickInvisible;"),this._addMatricesUniformBlockLines(s),s.push("uniform vec3 uCameraEyeRtc;"),s.push("uniform vec2 snapVectorA;"),s.push("uniform vec2 snapInvVectorAB;"),s.push("uniform float logDepthBufFC;"),s.push("out float vFragDepth;"),s.push("bool isPerspectiveMatrix(mat4 m) {"),s.push(" return (m[2][3] == - 1.0);"),s.push("}"),s.push("out float isPerspective;"),s.push("vec2 remapClipPos(vec2 clipPos) {"),s.push(" float x = (clipPos.x - snapVectorA.x) * snapInvVectorAB.x;"),s.push(" float y = (clipPos.y - snapVectorA.y) * snapInvVectorAB.y;"),s.push(" return vec2(x, y);"),s.push("}"),s.push("flat out vec4 vPickColor;"),s.push("out vec4 vWorldPosition;"),t&&s.push("out float vFlags;"),s.push("out highp vec3 relativeToOriginPosition;"),s.push("void main(void) {"),s.push("int pickFlag = int(flags) >> 12 & 0xF;"),s.push("if (pickFlag != renderPass) {"),s.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),s.push("} else {"),s.push(" vec4 worldPosition = positionsDecodeMatrix * vec4(position, 1.0); "),s.push(" worldPosition = worldMatrix * vec4(dot(worldPosition, modelMatrixCol0), dot(worldPosition, modelMatrixCol1), dot(worldPosition, modelMatrixCol2), 1.0);"),e.entityOffsetsEnabled&&s.push(" worldPosition.xyz = worldPosition.xyz + offset;"),s.push("relativeToOriginPosition = worldPosition.xyz;"),s.push(" vec4 viewPosition = viewMatrix * worldPosition; "),s.push(" vWorldPosition = worldPosition;"),t&&s.push(" vFlags = flags;"),s.push("vPickColor = pickColor;"),s.push("vec4 clipPos = projMatrix * viewPosition;"),s.push("float tmp = clipPos.w;"),s.push("clipPos.xyzw /= tmp;"),s.push("clipPos.xy = remapClipPos(clipPos.xy);"),s.push("clipPos.xyzw *= tmp;"),s.push("vFragDepth = 1.0 + clipPos.w;"),s.push("isPerspective = float (isPerspectiveMatrix(projMatrix));"),s.push("gl_Position = clipPos;"),s.push("}"),s.push("}"),s}_buildFragmentShader(){const e=this._scene._sectionPlanesState,t=e.getNumAllocatedSectionPlanes()>0,s=[];if(s.push("#version 300 es"),s.push("// Points instancing pick depth fragment shader"),s.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),s.push("precision highp float;"),s.push("precision highp int;"),s.push("#else"),s.push("precision mediump float;"),s.push("precision mediump int;"),s.push("#endif"),s.push("in float isPerspective;"),s.push("uniform float logDepthBufFC;"),s.push("in float vFragDepth;"),s.push("uniform int layerNumber;"),s.push("uniform vec3 coordinateScaler;"),s.push("in vec4 vWorldPosition;"),s.push("flat in vec4 vPickColor;"),t){s.push("in float vFlags;");for(let t=0;t> 16 & 0xF) == 1;"),s.push(" if (clippable) {"),s.push(" float dist = 0.0;");for(let t=0;t 0.0) { discard; }"),s.push("}")}return s.push(" float dx = dFdx(vFragDepth);"),s.push(" float dy = dFdy(vFragDepth);"),s.push(" float diff = sqrt(dx*dx+dy*dy);"),s.push(" gl_FragDepth = isPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth + diff ) * logDepthBufFC * 0.5;"),s.push("outCoords = ivec4(relativeToOriginPosition.xyz*coordinateScaler.xyz, -layerNumber);"),s.push("vec3 xTangent = dFdx( vWorldPosition.xyz );"),s.push("vec3 yTangent = dFdy( vWorldPosition.xyz );"),s.push("vec3 worldNormal = normalize( cross( xTangent, yTangent ) );"),s.push(`outNormal = ivec4(worldNormal * float(${h.MAX_INT}), 1.0);`),s.push("outPickColor = uvec4(vPickColor);"),s.push("}"),s}webglContextRestored(){this._program=null}destroy(){this._program&&this._program.destroy(),this._program=null}}const nr=h.vec3(),ir=h.vec3(),ar=h.vec3(),rr=h.vec3(),lr=h.mat4();class or extends _i{constructor(e){super(e,!1,{instancing:!0})}drawLayer(e,t,s){if(!this._program&&(this._allocate(t),this.errors))return;e.lastProgramId!==this._program.id&&(e.lastProgramId=this._program.id,this._bindProgram());const n=t.model,i=n.scene,a=i.camera,r=i.canvas.gl,l=t._state,o=t._state.origin,{position:c,rotationMatrix:u,rotationMatrixConjugate:p}=n,A=n.aabb,d=e.pickViewMatrix||a.viewMatrix;this._vaoCache.has(t)?r.bindVertexArray(this._vaoCache.get(t)):this._vaoCache.set(t,this._makeVAO(l));const f=nr;let I,y;if(f[0]=h.safeInv(A[3]-A[0])*h.MAX_INT,f[1]=h.safeInv(A[4]-A[1])*h.MAX_INT,f[2]=h.safeInv(A[5]-A[2])*h.MAX_INT,e.snapPickCoordinateScale[0]=h.safeInv(f[0]),e.snapPickCoordinateScale[1]=h.safeInv(f[1]),e.snapPickCoordinateScale[2]=h.safeInv(f[2]),o||0!==c[0]||0!==c[1]||0!==c[2]){const t=ir;if(o){const e=h.transformPoint3(u,o,ar);t[0]=e[0],t[1]=e[1],t[2]=e[2]}else t[0]=0,t[1]=0,t[2]=0;t[0]+=c[0],t[1]+=c[1],t[2]+=c[2],I=G(d,t,lr),y=rr,y[0]=a.eye[0]-t[0],y[1]=a.eye[1]-t[1],y[2]=a.eye[2]-t[2],e.snapPickOrigin[0]=t[0],e.snapPickOrigin[1]=t[1],e.snapPickOrigin[2]=t[2]}else I=d,y=a.eye,e.snapPickOrigin[0]=0,e.snapPickOrigin[1]=0,e.snapPickOrigin[2]=0;r.uniform3fv(this._uCameraEyeRtc,y),r.uniform2fv(this.uVectorA,e.snapVectorA),r.uniform2fv(this.uInverseVectorAB,e.snapInvVectorAB),r.uniform1i(this._uLayerNumber,e.snapPickLayerNumber),r.uniform3fv(this._uCoordinateScaler,f),r.uniform1i(this._uRenderPass,s),r.uniform1i(this._uPickInvisible,e.pickInvisible);let m=0;this._matricesUniformBlockBufferData.set(p,0),this._matricesUniformBlockBufferData.set(I,m+=16),this._matricesUniformBlockBufferData.set(a.projMatrix,m+=16),this._matricesUniformBlockBufferData.set(l.positionsDecodeMatrix,m+=16),r.bindBuffer(r.UNIFORM_BUFFER,this._matricesUniformBlockBuffer),r.bufferData(r.UNIFORM_BUFFER,this._matricesUniformBlockBufferData,r.DYNAMIC_DRAW),r.bindBufferBase(r.UNIFORM_BUFFER,this._matricesUniformBlockBufferBindingPoint,this._matricesUniformBlockBuffer);{const t=2/(Math.log(e.pickZFar+1)/Math.LN2);r.uniform1f(this._uLogDepthBufFC,t)}this.setSectionPlanesStateUniforms(t),this._aModelMatrixCol0.bindArrayBuffer(l.modelMatrixCol0Buf),this._aModelMatrixCol1.bindArrayBuffer(l.modelMatrixCol1Buf),this._aModelMatrixCol2.bindArrayBuffer(l.modelMatrixCol2Buf),r.vertexAttribDivisor(this._aModelMatrixCol0.location,1),r.vertexAttribDivisor(this._aModelMatrixCol1.location,1),r.vertexAttribDivisor(this._aModelMatrixCol2.location,1),this._aFlags.bindArrayBuffer(l.flagsBuf),r.vertexAttribDivisor(this._aFlags.location,1),"edge"===e.snapMode?(l.edgeIndicesBuf.bind(),r.drawElementsInstanced(r.LINES,l.edgeIndicesBuf.numItems,l.edgeIndicesBuf.itemType,0,l.numInstances),l.edgeIndicesBuf.unbind()):r.drawArraysInstanced(r.POINTS,0,l.positionsBuf.numItems,l.numInstances),r.vertexAttribDivisor(this._aModelMatrixCol0.location,0),r.vertexAttribDivisor(this._aModelMatrixCol1.location,0),r.vertexAttribDivisor(this._aModelMatrixCol2.location,0),r.vertexAttribDivisor(this._aFlags.location,0),this._aOffset&&r.vertexAttribDivisor(this._aOffset.location,0)}_allocate(){super._allocate();const e=this._program;this._uLogDepthBufFC=e.getLocation("logDepthBufFC"),this._uCameraEyeRtc=e.getLocation("uCameraEyeRtc"),this.uVectorA=e.getLocation("snapVectorA"),this.uInverseVectorAB=e.getLocation("snapInvVectorAB"),this._uLayerNumber=e.getLocation("layerNumber"),this._uCoordinateScaler=e.getLocation("coordinateScaler")}_bindProgram(){this._program.bind()}_buildVertexShader(){const e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,s=[];return s.push("#version 300 es"),s.push("// SnapInstancingDepthRenderer vertex shader"),s.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),s.push("precision highp float;"),s.push("precision highp int;"),s.push("precision highp usampler2D;"),s.push("precision highp isampler2D;"),s.push("precision highp sampler2D;"),s.push("#else"),s.push("precision mediump float;"),s.push("precision mediump int;"),s.push("precision mediump usampler2D;"),s.push("precision mediump isampler2D;"),s.push("precision mediump sampler2D;"),s.push("#endif"),s.push("uniform int renderPass;"),s.push("in vec3 position;"),e.entityOffsetsEnabled&&s.push("in vec3 offset;"),s.push("in float flags;"),s.push("in vec4 modelMatrixCol0;"),s.push("in vec4 modelMatrixCol1;"),s.push("in vec4 modelMatrixCol2;"),s.push("uniform bool pickInvisible;"),this._addMatricesUniformBlockLines(s),s.push("uniform vec3 uCameraEyeRtc;"),s.push("uniform vec2 snapVectorA;"),s.push("uniform vec2 snapInvVectorAB;"),s.push("uniform float logDepthBufFC;"),s.push("out float vFragDepth;"),s.push("bool isPerspectiveMatrix(mat4 m) {"),s.push(" return (m[2][3] == - 1.0);"),s.push("}"),s.push("out float isPerspective;"),s.push("vec2 remapClipPos(vec2 clipPos) {"),s.push(" float x = (clipPos.x - snapVectorA.x) * snapInvVectorAB.x;"),s.push(" float y = (clipPos.y - snapVectorA.y) * snapInvVectorAB.y;"),s.push(" return vec2(x, y);"),s.push("}"),t&&(s.push("out vec4 vWorldPosition;"),s.push("out float vFlags;")),s.push("out highp vec3 relativeToOriginPosition;"),s.push("void main(void) {"),s.push("int pickFlag = int(flags) >> 12 & 0xF;"),s.push("if (pickFlag != renderPass) {"),s.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),s.push("} else {"),s.push(" vec4 worldPosition = positionsDecodeMatrix * vec4(position, 1.0); "),s.push(" worldPosition = worldMatrix * vec4(dot(worldPosition, modelMatrixCol0), dot(worldPosition, modelMatrixCol1), dot(worldPosition, modelMatrixCol2), 1.0);"),e.entityOffsetsEnabled&&s.push(" worldPosition.xyz = worldPosition.xyz + offset;"),s.push("relativeToOriginPosition = worldPosition.xyz;"),s.push(" vec4 viewPosition = viewMatrix * worldPosition; "),t&&(s.push(" vWorldPosition = worldPosition;"),s.push(" vFlags = flags;")),s.push("vec4 clipPos = projMatrix * viewPosition;"),s.push("float tmp = clipPos.w;"),s.push("clipPos.xyzw /= tmp;"),s.push("clipPos.xy = remapClipPos(clipPos.xy);"),s.push("clipPos.xyzw *= tmp;"),s.push("vFragDepth = 1.0 + clipPos.w;"),s.push("isPerspective = float (isPerspectiveMatrix(projMatrix));"),s.push("gl_Position = clipPos;"),s.push("gl_PointSize = 1.0;"),s.push("}"),s.push("}"),s}_buildFragmentShader(){const e=this._scene._sectionPlanesState,t=e.getNumAllocatedSectionPlanes()>0,s=[];if(s.push("#version 300 es"),s.push("// SnapInstancingDepthRenderer fragment shader"),s.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),s.push("precision highp float;"),s.push("precision highp int;"),s.push("#else"),s.push("precision mediump float;"),s.push("precision mediump int;"),s.push("#endif"),s.push("in float isPerspective;"),s.push("uniform float logDepthBufFC;"),s.push("in float vFragDepth;"),s.push("uniform int layerNumber;"),s.push("uniform vec3 coordinateScaler;"),t){s.push("in vec4 vWorldPosition;"),s.push("in float vFlags;");for(let t=0;t> 16 & 0xF) == 1;"),s.push(" if (clippable) {"),s.push(" float dist = 0.0;");for(let t=0;t 0.0) { discard; }"),s.push("}")}return s.push(" gl_FragDepth = isPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5;"),s.push("outCoords = ivec4(relativeToOriginPosition.xyz*coordinateScaler.xyz, layerNumber);"),s.push("}"),s}webglContextRestored(){this._program=null}destroy(){this._program&&this._program.destroy(),this._program=null}}class cr{constructor(e){this._scene=e}_compile(){this._snapDepthBufInitRenderer&&!this._snapDepthBufInitRenderer.getValid()&&(this._snapDepthBufInitRenderer.destroy(),this._snapDepthBufInitRenderer=null),this._snapDepthRenderer&&!this._snapDepthRenderer.getValid()&&(this._snapDepthRenderer.destroy(),this._snapDepthRenderer=null)}eagerCreateRenders(){this._snapDepthBufInitRenderer||(this._snapDepthBufInitRenderer=new sr(this._scene,!1)),this._snapDepthRenderer||(this._snapDepthRenderer=new or(this._scene))}get snapDepthBufInitRenderer(){return this._snapDepthBufInitRenderer||(this._snapDepthBufInitRenderer=new sr(this._scene,!1)),this._snapDepthBufInitRenderer}get snapDepthRenderer(){return this._snapDepthRenderer||(this._snapDepthRenderer=new or(this._scene)),this._snapDepthRenderer}_destroy(){this._snapDepthBufInitRenderer&&this._snapDepthBufInitRenderer.destroy(),this._snapDepthRenderer&&this._snapDepthRenderer.destroy()}}const ur={};const hr=new Uint8Array(4),pr=new Float32Array(1),Ar=h.vec4([0,0,0,1]);h.vec4([0,0,0,1]),h.vec4([0,0,0,1]);const dr=new Float32Array(3),fr=h.vec3(),Ir=h.vec3(),yr=h.vec3(),mr=h.vec3(),vr=h.vec3(),wr=h.vec3(),gr=h.vec3(),Er=new Float32Array(4);class Tr{constructor(e){this.model=e.model,this.sortId="TrianglesInstancingLayer"+(e.solid?"-solid":"-surface")+(e.normals?"-normals":"-autoNormals"),this.layerIndex=e.layerIndex,this._instancingRenderers=function(e){const t=e.id;let s=qa[t];return s||(s=new Xa(e),qa[t]=s,s._compile(),s.eagerCreateRenders(),e.on("compile",(()=>{s._compile(),s.eagerCreateRenders()})),e.on("destroyed",(()=>{delete qa[t],s._destroy()}))),s}(e.model.scene),this._snapInstancingRenderers=function(e){const t=e.id;let s=ur[t];return s||(s=new cr(e),ur[t]=s,s._compile(),s.eagerCreateRenders(),e.on("compile",(()=>{s._compile(),s.eagerCreateRenders()})),e.on("destroyed",(()=>{delete ur[t],s._destroy()}))),s}(e.model.scene),this._aabb=h.collapseAABB3(),this._state=new Je({numInstances:0,obb:h.OBB3(),origin:h.vec3(),geometry:e.geometry,textureSet:e.textureSet,pbrSupported:!1,positionsDecodeMatrix:e.geometry.positionsDecodeMatrix,colorsBuf:null,metallicRoughnessBuf:null,flagsBuf:null,offsetsBuf:null,modelMatrixBuf:null,modelMatrixCol0Buf:null,modelMatrixCol1Buf:null,modelMatrixCol2Buf:null,modelNormalMatrixCol0Buf:null,modelNormalMatrixCol1Buf:null,modelNormalMatrixCol2Buf:null,pickColorsBuf:null}),this._numPortions=0,this._numVisibleLayerPortions=0,this._numTransparentLayerPortions=0,this._numXRayedLayerPortions=0,this._numHighlightedLayerPortions=0,this._numSelectedLayerPortions=0,this._numClippableLayerPortions=0,this._numEdgesLayerPortions=0,this._numPickableLayerPortions=0,this._numCulledLayerPortions=0,this.numIndices=e.geometry.numIndices,this._colors=[],this._metallicRoughness=[],this._pickColors=[],this._offsets=[],this._modelMatrix=[],this._modelMatrixCol0=[],this._modelMatrixCol1=[],this._modelMatrixCol2=[],this._modelNormalMatrixCol0=[],this._modelNormalMatrixCol1=[],this._modelNormalMatrixCol2=[],this._portions=[],e.origin&&this._state.origin.set(e.origin),this._finalized=!1,this.solid=!!e.solid,this.numIndices=e.geometry.numIndices}createPortion(e){const t=e.color,s=e.metallic,n=e.roughness,i=null!==e.opacity&&void 0!==e.opacity?e.opacity:255,a=e.meshMatrix,r=e.pickColor;if(this._finalized)throw"Already finalized";const l=t[0],o=t[1],c=t[2];if(this._colors.push(l),this._colors.push(o),this._colors.push(c),this._colors.push(i),this._metallicRoughness.push(null!=s?s:0),this._metallicRoughness.push(null!=n?n:255),this.model.scene.entityOffsetsEnabled&&(this._offsets.push(0),this._offsets.push(0),this._offsets.push(0)),this._modelMatrixCol0.push(a[0]),this._modelMatrixCol0.push(a[4]),this._modelMatrixCol0.push(a[8]),this._modelMatrixCol0.push(a[12]),this._modelMatrixCol1.push(a[1]),this._modelMatrixCol1.push(a[5]),this._modelMatrixCol1.push(a[9]),this._modelMatrixCol1.push(a[13]),this._modelMatrixCol2.push(a[2]),this._modelMatrixCol2.push(a[6]),this._modelMatrixCol2.push(a[10]),this._modelMatrixCol2.push(a[14]),this._state.geometry.normals){let e=h.transposeMat4(a,h.mat4()),t=h.inverseMat4(e);this._modelNormalMatrixCol0.push(t[0]),this._modelNormalMatrixCol0.push(t[4]),this._modelNormalMatrixCol0.push(t[8]),this._modelNormalMatrixCol0.push(t[12]),this._modelNormalMatrixCol1.push(t[1]),this._modelNormalMatrixCol1.push(t[5]),this._modelNormalMatrixCol1.push(t[9]),this._modelNormalMatrixCol1.push(t[13]),this._modelNormalMatrixCol2.push(t[2]),this._modelNormalMatrixCol2.push(t[6]),this._modelNormalMatrixCol2.push(t[10]),this._modelNormalMatrixCol2.push(t[14])}this._pickColors.push(r[0]),this._pickColors.push(r[1]),this._pickColors.push(r[2]),this._pickColors.push(r[3]),this._state.numInstances++;const u=this._portions.length,p={};return this.model.scene.pickSurfacePrecisionEnabled&&(p.matrix=a.slice(),p.inverseMatrix=null,p.normalMatrix=null),this._portions.push(p),this._numPortions++,this.model.numPortions++,u}finalize(){if(this._finalized)return;const e=this._state,t=e.geometry,s=e.textureSet,n=this.model.scene.canvas.gl,i=this._colors.length,a=i/4;if(i>0){let t=!1;e.colorsBuf=new Oe(n,n.ARRAY_BUFFER,new Uint8Array(this._colors),this._colors.length,4,n.DYNAMIC_DRAW,t),this._colors=[]}if(this._metallicRoughness.length>0){const t=new Uint8Array(this._metallicRoughness);let s=!1;e.metallicRoughnessBuf=new Oe(n,n.ARRAY_BUFFER,t,this._metallicRoughness.length,2,n.STATIC_DRAW,s)}if(a>0){let t=!1;e.flagsBuf=new Oe(n,n.ARRAY_BUFFER,new Float32Array(a),a,1,n.DYNAMIC_DRAW,t)}if(this.model.scene.entityOffsetsEnabled&&this._offsets.length>0){const t=!1;e.offsetsBuf=new Oe(n,n.ARRAY_BUFFER,new Float32Array(this._offsets),this._offsets.length,3,n.DYNAMIC_DRAW,t),this._offsets=[]}if(t.positionsCompressed&&t.positionsCompressed.length>0){const s=!1;e.positionsBuf=new Oe(n,n.ARRAY_BUFFER,t.positionsCompressed,t.positionsCompressed.length,3,n.STATIC_DRAW,s),e.positionsDecodeMatrix=h.mat4(t.positionsDecodeMatrix)}if(t.colorsCompressed&&t.colorsCompressed.length>0){const s=new Uint8Array(t.colorsCompressed),i=!1;e.colorsBuf=new Oe(n,n.ARRAY_BUFFER,s,s.length,4,n.STATIC_DRAW,i)}if(t.uvCompressed&&t.uvCompressed.length>0){const s=t.uvCompressed;e.uvDecodeMatrix=t.uvDecodeMatrix,e.uvBuf=new Oe(n,n.ARRAY_BUFFER,s,s.length,2,n.STATIC_DRAW,!1)}if(t.indices&&t.indices.length>0&&(e.indicesBuf=new Oe(n,n.ELEMENT_ARRAY_BUFFER,new Uint32Array(t.indices),t.indices.length,1,n.STATIC_DRAW),e.numIndices=t.indices.length),"triangles"!==t.primitive&&"solid"!==t.primitive&&"surface"!==t.primitive||(e.edgeIndicesBuf=new Oe(n,n.ELEMENT_ARRAY_BUFFER,new Uint32Array(t.edgeIndices),t.edgeIndices.length,1,n.STATIC_DRAW)),this._modelMatrixCol0.length>0){const t=!1;e.modelMatrixCol0Buf=new Oe(n,n.ARRAY_BUFFER,new Float32Array(this._modelMatrixCol0),this._modelMatrixCol0.length,4,n.STATIC_DRAW,t),e.modelMatrixCol1Buf=new Oe(n,n.ARRAY_BUFFER,new Float32Array(this._modelMatrixCol1),this._modelMatrixCol1.length,4,n.STATIC_DRAW,t),e.modelMatrixCol2Buf=new Oe(n,n.ARRAY_BUFFER,new Float32Array(this._modelMatrixCol2),this._modelMatrixCol2.length,4,n.STATIC_DRAW,t),this._modelMatrixCol0=[],this._modelMatrixCol1=[],this._modelMatrixCol2=[],e.normalsBuf&&(e.modelNormalMatrixCol0Buf=new Oe(n,n.ARRAY_BUFFER,new Float32Array(this._modelNormalMatrixCol0),this._modelNormalMatrixCol0.length,4,n.STATIC_DRAW,t),e.modelNormalMatrixCol1Buf=new Oe(n,n.ARRAY_BUFFER,new Float32Array(this._modelNormalMatrixCol1),this._modelNormalMatrixCol1.length,4,n.STATIC_DRAW,t),e.modelNormalMatrixCol2Buf=new Oe(n,n.ARRAY_BUFFER,new Float32Array(this._modelNormalMatrixCol2),this._modelNormalMatrixCol2.length,4,n.STATIC_DRAW,t),this._modelNormalMatrixCol0=[],this._modelNormalMatrixCol1=[],this._modelNormalMatrixCol2=[])}if(this._pickColors.length>0){const t=!1;e.pickColorsBuf=new Oe(n,n.ARRAY_BUFFER,new Uint8Array(this._pickColors),this._pickColors.length,4,n.STATIC_DRAW,t),this._pickColors=[]}e.pbrSupported=!!(e.metallicRoughnessBuf&&e.uvBuf&&e.normalsBuf&&s&&s.colorTexture&&s.metallicRoughnessTexture),e.colorTextureSupported=!!e.uvBuf&&!!s&&!!s.colorTexture,this._state.geometry=null,this._finalized=!0}initFlags(e,t,s){t&Q&&(this._numVisibleLayerPortions++,this.model.numVisibleLayerPortions++),t&q&&(this._numHighlightedLayerPortions++,this.model.numHighlightedLayerPortions++),t&X&&(this._numXRayedLayerPortions++,this.model.numXRayedLayerPortions++),t&J&&(this._numSelectedLayerPortions++,this.model.numSelectedLayerPortions++),t&K&&(this._numClippableLayerPortions++,this.model.numClippableLayerPortions++),t&Z&&(this._numEdgesLayerPortions++,this.model.numEdgesLayerPortions++),t&z&&(this._numPickableLayerPortions++,this.model.numPickableLayerPortions++),t&W&&(this._numCulledLayerPortions++,this.model.numCulledLayerPortions++),s&&(this._numTransparentLayerPortions++,this.model.numTransparentLayerPortions++),this._setFlags(e,t,s)}setVisible(e,t,s){if(!this._finalized)throw"Not finalized";t&Q?(this._numVisibleLayerPortions++,this.model.numVisibleLayerPortions++):(this._numVisibleLayerPortions--,this.model.numVisibleLayerPortions--),this._setFlags(e,t,s)}setHighlighted(e,t,s){if(!this._finalized)throw"Not finalized";t&q?(this._numHighlightedLayerPortions++,this.model.numHighlightedLayerPortions++):(this._numHighlightedLayerPortions--,this.model.numHighlightedLayerPortions--),this._setFlags(e,t,s)}setXRayed(e,t,s){if(!this._finalized)throw"Not finalized";t&X?(this._numXRayedLayerPortions++,this.model.numXRayedLayerPortions++):(this._numXRayedLayerPortions--,this.model.numXRayedLayerPortions--),this._setFlags(e,t,s)}setSelected(e,t,s){if(!this._finalized)throw"Not finalized";t&J?(this._numSelectedLayerPortions++,this.model.numSelectedLayerPortions++):(this._numSelectedLayerPortions--,this.model.numSelectedLayerPortions--),this._setFlags(e,t,s)}setEdges(e,t,s){if(!this._finalized)throw"Not finalized";t&Z?(this._numEdgesLayerPortions++,this.model.numEdgesLayerPortions++):(this._numEdgesLayerPortions--,this.model.numEdgesLayerPortions--),this._setFlags(e,t,s)}setClippable(e,t){if(!this._finalized)throw"Not finalized";t&K?(this._numClippableLayerPortions++,this.model.numClippableLayerPortions++):(this._numClippableLayerPortions--,this.model.numClippableLayerPortions--),this._setFlags(e,t)}setCollidable(e,t){if(!this._finalized)throw"Not finalized"}setPickable(e,t,s){if(!this._finalized)throw"Not finalized";t&z?(this._numPickableLayerPortions++,this.model.numPickableLayerPortions++):(this._numPickableLayerPortions--,this.model.numPickableLayerPortions--),this._setFlags(e,t,s)}setCulled(e,t,s){if(!this._finalized)throw"Not finalized";t&W?(this._numCulledLayerPortions++,this.model.numCulledLayerPortions++):(this._numCulledLayerPortions--,this.model.numCulledLayerPortions--),this._setFlags(e,t,s)}setColor(e,t){if(!this._finalized)throw"Not finalized";hr[0]=t[0],hr[1]=t[1],hr[2]=t[2],hr[3]=t[3],this._state.colorsBuf&&this._state.colorsBuf.setData(hr,4*e)}setTransparent(e,t,s){s?(this._numTransparentLayerPortions++,this.model.numTransparentLayerPortions++):(this._numTransparentLayerPortions--,this.model.numTransparentLayerPortions--),this._setFlags(e,t,s)}_setFlags(e,t,s){if(!this._finalized)throw"Not finalized";const n=!!(t&Q),i=!!(t&X),a=!!(t&q),r=!!(t&J),l=!!(t&Z),o=!!(t&z),c=!!(t&W);let u,h;u=!n||c||i||a&&!this.model.scene.highlightMaterial.glowThrough||r&&!this.model.scene.selectedMaterial.glowThrough?Ei.NOT_RENDERED:s?Ei.COLOR_TRANSPARENT:Ei.COLOR_OPAQUE,h=!n||c?Ei.NOT_RENDERED:r?Ei.SILHOUETTE_SELECTED:a?Ei.SILHOUETTE_HIGHLIGHTED:i?Ei.SILHOUETTE_XRAYED:Ei.NOT_RENDERED;let p=0;p=!n||c?Ei.NOT_RENDERED:r?Ei.EDGES_SELECTED:a?Ei.EDGES_HIGHLIGHTED:i?Ei.EDGES_XRAYED:l?s?Ei.EDGES_COLOR_TRANSPARENT:Ei.EDGES_COLOR_OPAQUE:Ei.NOT_RENDERED;let A=0;A|=u,A|=h<<4,A|=p<<8,A|=(n&&!c&&o?Ei.PICK:Ei.NOT_RENDERED)<<12,A|=(t&K?1:0)<<16,pr[0]=A,this._state.flagsBuf&&this._state.flagsBuf.setData(pr,e)}setOffset(e,t){if(!this._finalized)throw"Not finalized";this.model.scene.entityOffsetsEnabled?(dr[0]=t[0],dr[1]=t[1],dr[2]=t[2],this._state.offsetsBuf&&this._state.offsetsBuf.setData(dr,3*e)):this.model.error("Entity#offset not enabled for this Viewer")}getEachVertex(e,t){if(!this.model.scene.pickSurfacePrecisionEnabled)return!1;const s=this._state,n=s.geometry,i=this._portions[e];if(!i)return void this.model.error("portion not found: "+e);const a=n.quantizedPositions,r=s.origin,l=i.offset,o=r[0]+l[0],c=r[1]+l[1],u=r[2]+l[2],p=Ar,A=i.matrix,d=this.model.sceneModelMatrix,f=s.positionsDecodeMatrix;for(let e=0,s=a.length;ev)&&(v=e,n.set(w),i&&h.triangleNormal(f,I,y,i),m=!0)}}return m&&i&&(h.transformVec3(l.normalMatrix,i,i),h.transformVec3(this.model.worldNormalMatrix,i,i),h.normalizeVec3(i)),m}destroy(){const e=this._state;e.colorsBuf&&(e.colorsBuf.destroy(),e.colorsBuf=null),e.metallicRoughnessBuf&&(e.metallicRoughnessBuf.destroy(),e.metallicRoughnessBuf=null),e.flagsBuf&&(e.flagsBuf.destroy(),e.flagsBuf=null),e.offsetsBuf&&(e.offsetsBuf.destroy(),e.offsetsBuf=null),e.modelMatrixCol0Buf&&(e.modelMatrixCol0Buf.destroy(),e.modelMatrixCol0Buf=null),e.modelMatrixCol1Buf&&(e.modelMatrixCol1Buf.destroy(),e.modelMatrixCol1Buf=null),e.modelMatrixCol2Buf&&(e.modelMatrixCol2Buf.destroy(),e.modelMatrixCol2Buf=null),e.modelNormalMatrixCol0Buf&&(e.modelNormalMatrixCol0Buf.destroy(),e.modelNormalMatrixCol0Buf=null),e.modelNormalMatrixCol1Buf&&(e.modelNormalMatrixCol1Buf.destroy(),e.modelNormalMatrixCol1Buf=null),e.modelNormalMatrixCol2Buf&&(e.modelNormalMatrixCol2Buf.destroy(),e.modelNormalMatrixCol2Buf=null),e.pickColorsBuf&&(e.pickColorsBuf.destroy(),e.pickColorsBuf=null),e.destroy(),this._state=null}}class br extends Mi{drawLayer(e,t,s){super.drawLayer(e,t,s,{incrementDrawState:!0})}_buildVertexShader(){const e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,s=[];return s.push("#version 300 es"),s.push("// Lines batching color vertex shader"),s.push("uniform int renderPass;"),s.push("in vec3 position;"),s.push("in vec4 color;"),s.push("in float flags;"),e.entityOffsetsEnabled&&s.push("in vec3 offset;"),this._addMatricesUniformBlockLines(s),e.logarithmicDepthBufferEnabled&&(s.push("uniform float logDepthBufFC;"),s.push("out float vFragDepth;")),t&&(s.push("out vec4 vWorldPosition;"),s.push("out float vFlags;")),s.push("out vec4 vColor;"),s.push("void main(void) {"),s.push("int colorFlag = int(flags) & 0xF;"),s.push("if (colorFlag != renderPass) {"),s.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),s.push("} else {"),s.push("vec4 worldPosition = worldMatrix * (positionsDecodeMatrix * vec4(position, 1.0)); "),e.entityOffsetsEnabled&&s.push("worldPosition.xyz = worldPosition.xyz + offset;"),s.push("vec4 viewPosition = viewMatrix * worldPosition; "),s.push("vColor = vec4(float(color.r) / 255.0, float(color.g) / 255.0, float(color.b) / 255.0, float(color.a) / 255.0);"),t&&(s.push("vWorldPosition = worldPosition;"),s.push("vFlags = flags;")),s.push("vec4 clipPos = projMatrix * viewPosition;"),e.logarithmicDepthBufferEnabled&&s.push("vFragDepth = 1.0 + clipPos.w;"),s.push("gl_Position = clipPos;"),s.push("}"),s.push("}"),s}_buildFragmentShader(){const e=this._scene,t=e._sectionPlanesState,s=t.getNumAllocatedSectionPlanes()>0,n=[];if(n.push("#version 300 es"),n.push("// Lines batching color fragment shader"),n.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),n.push("precision highp float;"),n.push("precision highp int;"),n.push("#else"),n.push("precision mediump float;"),n.push("precision mediump int;"),n.push("#endif"),e.logarithmicDepthBufferEnabled&&(n.push("uniform float logDepthBufFC;"),n.push("in float vFragDepth;")),s){n.push("in vec4 vWorldPosition;"),n.push("in float vFlags;");for(let e=0,s=t.getNumAllocatedSectionPlanes();e> 16 & 0xF) == 1;"),n.push(" if (clippable) {"),n.push(" float dist = 0.0;");for(let e=0,s=t.getNumAllocatedSectionPlanes();e 0.0) { discard; }"),n.push("}")}return n.push(" outColor = vColor;"),e.logarithmicDepthBufferEnabled&&n.push("gl_FragDepth = log2( vFragDepth ) * logDepthBufFC * 0.5;"),n.push("}"),n}}class Dr extends Mi{drawLayer(e,t,s){super.drawLayer(e,t,s,{colorUniform:!0})}_buildVertexShader(){const e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,s=[];return s.push("#version 300 es"),s.push("// Lines batching silhouette vertex shader"),s.push("uniform int renderPass;"),s.push("in vec3 position;"),e.entityOffsetsEnabled&&s.push("in vec3 offset;"),s.push("in float flags;"),this._addMatricesUniformBlockLines(s),s.push("uniform vec4 color;"),e.logarithmicDepthBufferEnabled&&(s.push("uniform float logDepthBufFC;"),s.push("out float vFragDepth;")),t&&(s.push("out vec4 vWorldPosition;"),s.push("out float vFlags;")),s.push("void main(void) {"),s.push("int silhouetteFlag = int(flags) >> 4 & 0xF;"),s.push("if (silhouetteFlag != renderPass) {"),s.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),s.push("} else {"),s.push(" vec4 worldPosition = worldMatrix * (positionsDecodeMatrix * vec4(position, 1.0)); "),e.entityOffsetsEnabled&&s.push(" worldPosition.xyz = worldPosition.xyz + offset;"),s.push("vec4 viewPosition = viewMatrix * worldPosition; "),t&&(s.push("vWorldPosition = worldPosition;"),s.push("vFlags = flags;")),s.push("vec4 clipPos = projMatrix * viewPosition;"),e.logarithmicDepthBufferEnabled&&s.push("vFragDepth = 1.0 + clipPos.w;"),s.push("gl_Position = clipPos;"),s.push("}"),s.push("}"),s}_buildFragmentShader(){const e=this._scene,t=e._sectionPlanesState,s=t.getNumAllocatedSectionPlanes()>0,n=[];if(n.push("#version 300 es"),n.push("// Lines batching silhouette fragment shader"),n.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),n.push("precision highp float;"),n.push("precision highp int;"),n.push("#else"),n.push("precision mediump float;"),n.push("precision mediump int;"),n.push("#endif"),e.logarithmicDepthBufferEnabled&&(n.push("uniform float logDepthBufFC;"),n.push("in float vFragDepth;")),s){n.push("in vec4 vWorldPosition;"),n.push("in float vFlags;");for(let e=0,s=t.getNumAllocatedSectionPlanes();e> 16 & 0xF) == 1;"),n.push(" if (clippable) {"),n.push(" float dist = 0.0;");for(let e=0,s=t.getNumAllocatedSectionPlanes();e 0.0) { discard; }"),n.push("}")}return e.logarithmicDepthBufferEnabled&&n.push("gl_FragDepth = log2( vFragDepth ) * logDepthBufFC * 0.5;"),n.push("outColor = color;"),n.push("}"),n}}class Pr{constructor(e){this._scene=e}_compile(){this._colorRenderer&&!this._colorRenderer.getValid()&&(this._colorRenderer.destroy(),this._colorRenderer=null),this._silhouetteRenderer&&!this._silhouetteRenderer.getValid()&&(this._silhouetteRenderer.destroy(),this._silhouetteRenderer=null)}get colorRenderer(){return this._colorRenderer||(this._colorRenderer=new br(this._scene,!1)),this._colorRenderer}get silhouetteRenderer(){return this._silhouetteRenderer||(this._silhouetteRenderer=new Dr(this._scene)),this._silhouetteRenderer}_destroy(){this._colorRenderer&&this._colorRenderer.destroy(),this._silhouetteRenderer&&this._silhouetteRenderer.destroy()}}const Rr={};class Cr{constructor(e=5e6){e>5e6&&(e=5e6),this.maxVerts=e,this.maxIndices=3*e,this.positions=[],this.colors=[],this.offsets=[],this.indices=[]}}h.vec4([0,0,0,1]),h.vec4([0,0,0,1]),h.vec4([0,0,0,1]),h.OBB3();class _r{constructor(e){this.layerIndex=e.layerIndex,this._batchingRenderers=function(e){const t=e.id;let s=Rr[t];return s||(s=new Pr(e),Rr[t]=s,s._compile(),e.on("compile",(()=>{s._compile()})),e.on("destroyed",(()=>{delete Rr[t],s._destroy()}))),s}(e.model.scene),this.model=e.model,this._buffer=new Cr(e.maxGeometryBatchSize),this._scratchMemory=e.scratchMemory,this._state=new Je({positionsBuf:null,offsetsBuf:null,colorsBuf:null,flagsBuf:null,indicesBuf:null,positionsDecodeMatrix:h.mat4(),origin:null}),this._numPortions=0,this._numVisibleLayerPortions=0,this._numTransparentLayerPortions=0,this._numXRayedLayerPortions=0,this._numSelectedLayerPortions=0,this._numHighlightedLayerPortions=0,this._numClippableLayerPortions=0,this._numEdgesLayerPortions=0,this._numPickableLayerPortions=0,this._numCulledLayerPortions=0,this._modelAABB=h.collapseAABB3(),this._portions=[],this._numVerts=0,this._finalized=!1,e.positionsDecodeMatrix?(this._state.positionsDecodeMatrix.set(e.positionsDecodeMatrix),this._preCompressedPositionsExpected=!0):this._preCompressedPositionsExpected=!1,e.origin&&(this._state.origin=h.vec3(e.origin)),this.aabb=h.collapseAABB3()}canCreatePortion(e,t){if(this._finalized)throw"Already finalized";return this._buffer.positions.length+e<3*this._buffer.maxVerts&&this._buffer.indices.length+t0)if(this._preCompressedPositionsExpected){const n=new Uint16Array(s.positions);e.positionsBuf=new Oe(t,t.ARRAY_BUFFER,n,s.positions.length,3,t.STATIC_DRAW)}else{const n=ia(new Float32Array(s.positions),this._modelAABB,e.positionsDecodeMatrix);e.positionsBuf=new Oe(t,t.ARRAY_BUFFER,n,s.positions.length,3,t.STATIC_DRAW)}if(s.colors.length>0){const n=new Uint8Array(s.colors);let i=!1;e.colorsBuf=new Oe(t,t.ARRAY_BUFFER,n,s.colors.length,4,t.DYNAMIC_DRAW,i)}if(s.colors.length>0){const n=s.colors.length/4,i=new Float32Array(n);let a=!1;e.flagsBuf=new Oe(t,t.ARRAY_BUFFER,i,i.length,1,t.DYNAMIC_DRAW,a)}if(this.model.scene.entityOffsetsEnabled&&s.offsets.length>0){const n=new Float32Array(s.offsets);e.offsetsBuf=new Oe(t,t.ARRAY_BUFFER,n,s.offsets.length,3,t.DYNAMIC_DRAW)}if(s.indices.length>0){const n=new Uint32Array(s.indices);e.indicesBuf=new Oe(t,t.ELEMENT_ARRAY_BUFFER,n,s.indices.length,1,t.STATIC_DRAW)}this._buffer=null,this._finalized=!0}initFlags(e,t,s){t&Q&&(this._numVisibleLayerPortions++,this.model.numVisibleLayerPortions++),t&q&&(this._numHighlightedLayerPortions++,this.model.numHighlightedLayerPortions++),t&X&&(this._numXRayedLayerPortions++,this.model.numXRayedLayerPortions++),t&J&&(this._numSelectedLayerPortions++,this.model.numSelectedLayerPortions++),t&K&&(this._numClippableLayerPortions++,this.model.numClippableLayerPortions++),t&Z&&(this._numEdgesLayerPortions++,this.model.numEdgesLayerPortions++),t&z&&(this._numPickableLayerPortions++,this.model.numPickableLayerPortions++),t&W&&(this._numCulledLayerPortions++,this.model.numCulledLayerPortions++),s&&(this._numTransparentLayerPortions++,this.model.numTransparentLayerPortions++);this._setFlags(e,t,s,!0)}flushInitFlags(){this._setDeferredFlags()}setVisible(e,t,s){if(!this._finalized)throw"Not finalized";t&Q?(this._numVisibleLayerPortions++,this.model.numVisibleLayerPortions++):(this._numVisibleLayerPortions--,this.model.numVisibleLayerPortions--),this._setFlags(e,t,s)}setHighlighted(e,t,s){if(!this._finalized)throw"Not finalized";t&q?(this._numHighlightedLayerPortions++,this.model.numHighlightedLayerPortions++):(this._numHighlightedLayerPortions--,this.model.numHighlightedLayerPortions--),this._setFlags(e,t,s)}setXRayed(e,t,s){if(!this._finalized)throw"Not finalized";t&X?(this._numXRayedLayerPortions++,this.model.numXRayedLayerPortions++):(this._numXRayedLayerPortions--,this.model.numXRayedLayerPortions--),this._setFlags(e,t,s)}setSelected(e,t,s){if(!this._finalized)throw"Not finalized";t&J?(this._numSelectedLayerPortions++,this.model.numSelectedLayerPortions++):(this._numSelectedLayerPortions--,this.model.numSelectedLayerPortions--),this._setFlags(e,t,s)}setEdges(e,t,s){if(!this._finalized)throw"Not finalized";t&Z?(this._numEdgesLayerPortions++,this.model.numEdgesLayerPortions++):(this._numEdgesLayerPortions--,this.model.numEdgesLayerPortions--),this._setFlags(e,t,s)}setClippable(e,t){if(!this._finalized)throw"Not finalized";t&K?(this._numClippableLayerPortions++,this.model.numClippableLayerPortions++):(this._numClippableLayerPortions--,this.model.numClippableLayerPortions--),this._setFlags(e,t)}setCulled(e,t,s){if(!this._finalized)throw"Not finalized";t&W?(this._numCulledLayerPortions++,this.model.numCulledLayerPortions++):(this._numCulledLayerPortions--,this.model.numCulledLayerPortions--),this._setFlags(e,t,s)}setCollidable(e,t){if(!this._finalized)throw"Not finalized"}setPickable(e,t,s){if(!this._finalized)throw"Not finalized";t&z?(this._numPickableLayerPortions++,this.model.numPickableLayerPortions++):(this._numPickableLayerPortions--,this.model.numPickableLayerPortions--),this._setFlags(e,t,s)}setColor(e,t){if(!this._finalized)throw"Not finalized";const s=2*e,n=4*this._portions[s],i=4*this._portions[s+1],a=this._scratchMemory.getUInt8Array(i),r=t[0],l=t[1],o=t[2],c=t[3];for(let e=0;e0,s=[];return s.push("#version 300 es"),s.push("// Lines instancing color vertex shader"),s.push("uniform int renderPass;"),s.push("in vec3 position;"),s.push("in vec4 color;"),s.push("in float flags;"),e.entityOffsetsEnabled&&s.push("in vec3 offset;"),s.push("in vec4 modelMatrixCol0;"),s.push("in vec4 modelMatrixCol1;"),s.push("in vec4 modelMatrixCol2;"),this._addMatricesUniformBlockLines(s),e.logarithmicDepthBufferEnabled&&(s.push("uniform float logDepthBufFC;"),s.push("out float vFragDepth;")),s.push("uniform vec4 lightAmbient;"),t&&(s.push("out vec4 vWorldPosition;"),s.push("out float vFlags;")),s.push("out vec4 vColor;"),s.push("void main(void) {"),s.push("int colorFlag = int(flags) & 0xF;"),s.push("if (colorFlag != renderPass) {"),s.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),s.push("} else {"),s.push("vec4 worldPosition = positionsDecodeMatrix * vec4(position, 1.0); "),s.push("worldPosition = worldMatrix * vec4(dot(worldPosition, modelMatrixCol0), dot(worldPosition, modelMatrixCol1), dot(worldPosition, modelMatrixCol2), 1.0);"),e.entityOffsetsEnabled&&s.push(" worldPosition.xyz = worldPosition.xyz + offset;"),s.push("vec4 viewPosition = viewMatrix * worldPosition; "),s.push("vColor = vec4(float(color.r) / 255.0, float(color.g) / 255.0, float(color.b) / 255.0, float(color.a) / 255.0);"),t&&(s.push("vWorldPosition = worldPosition;"),s.push("vFlags = flags;")),s.push("vec4 clipPos = projMatrix * viewPosition;"),e.logarithmicDepthBufferEnabled&&s.push("vFragDepth = 1.0 + clipPos.w;"),s.push("gl_Position = clipPos;"),s.push("}"),s.push("}"),s}_buildFragmentShader(){const e=this._scene,t=e._sectionPlanesState;let s,n;const i=t.getNumAllocatedSectionPlanes()>0,a=[];if(a.push("#version 300 es"),a.push("// Lines instancing color fragment shader"),a.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),a.push("precision highp float;"),a.push("precision highp int;"),a.push("#else"),a.push("precision mediump float;"),a.push("precision mediump int;"),a.push("#endif"),e.logarithmicDepthBufferEnabled&&(a.push("uniform float logDepthBufFC;"),a.push("in float vFragDepth;")),i)for(a.push("in vec4 vWorldPosition;"),a.push("in float vFlags;"),s=0,n=t.getNumAllocatedSectionPlanes();s> 16 & 0xF) == 1;"),a.push(" if (clippable) {"),a.push(" float dist = 0.0;"),s=0,n=t.getNumAllocatedSectionPlanes();s 0.0) { discard; }"),a.push("}")}return this._withSAO?(a.push(" float viewportWidth = uSAOParams[0];"),a.push(" float viewportHeight = uSAOParams[1];"),a.push(" float blendCutoff = uSAOParams[2];"),a.push(" float blendFactor = uSAOParams[3];"),a.push(" vec2 uv = vec2(gl_FragCoord.x / viewportWidth, gl_FragCoord.y / viewportHeight);"),a.push(" float ambient = smoothstep(blendCutoff, 1.0, unpackRGBAToDepth(texture(uOcclusionTexture, uv))) * blendFactor;"),a.push(" outColor = vec4(vColor.rgb * ambient, vColor.a);")):a.push(" outColor = vColor;"),e.logarithmicDepthBufferEnabled&&a.push("gl_FragDepth = log2( vFragDepth ) * logDepthBufFC * 0.5;"),a.push("}"),a}}class Or extends Fi{drawLayer(e,t,s){super.drawLayer(e,t,s,{colorUniform:!0})}_buildVertexShader(){const e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,s=[];return s.push("#version 300 es"),s.push("// Lines instancing silhouette vertex shader"),s.push("uniform int renderPass;"),s.push("in vec3 position;"),e.entityOffsetsEnabled&&s.push("in vec3 offset;"),s.push("in float flags;"),s.push("in vec4 modelMatrixCol0;"),s.push("in vec4 modelMatrixCol1;"),s.push("in vec4 modelMatrixCol2;"),this._addMatricesUniformBlockLines(s),e.logarithmicDepthBufferEnabled&&(s.push("uniform float logDepthBufFC;"),s.push("out float vFragDepth;")),s.push("uniform vec4 color;"),t&&(s.push("out vec4 vWorldPosition;"),s.push("out float vFlags;")),s.push("void main(void) {"),s.push("int silhouetteFlag = int(flags) >> 4 & 0xF;"),s.push("if (silhouetteFlag != renderPass) {"),s.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),s.push("} else {"),s.push("vec4 worldPosition = positionsDecodeMatrix * vec4(position, 1.0); "),s.push("worldPosition = worldMatrix * vec4(dot(worldPosition, modelMatrixCol0), dot(worldPosition, modelMatrixCol1), dot(worldPosition, modelMatrixCol2), 1.0);"),e.entityOffsetsEnabled&&s.push(" worldPosition.xyz = worldPosition.xyz + offset;"),s.push("vec4 viewPosition = viewMatrix * worldPosition; "),t&&(s.push("vWorldPosition = worldPosition;"),s.push("vFlags = flags;")),s.push("vec4 clipPos = projMatrix * viewPosition;"),e.logarithmicDepthBufferEnabled&&s.push("vFragDepth = 1.0 + clipPos.w;"),s.push("gl_Position = clipPos;"),s.push("}"),s.push("}"),s}_buildFragmentShader(){const e=this._scene,t=e._sectionPlanesState,s=t.getNumAllocatedSectionPlanes()>0,n=[];if(n.push("#version 300 es"),n.push("// Lines instancing silhouette fragment shader"),n.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),n.push("precision highp float;"),n.push("precision highp int;"),n.push("#else"),n.push("precision mediump float;"),n.push("precision mediump int;"),n.push("#endif"),e.logarithmicDepthBufferEnabled&&(n.push("uniform float logDepthBufFC;"),n.push("in float vFragDepth;")),s){n.push("in vec4 vWorldPosition;"),n.push("in float vFlags;");for(let e=0,s=t.getNumAllocatedSectionPlanes();e> 16 & 0xF) == 1;"),n.push(" if (clippable) {"),n.push(" float dist = 0.0;");for(let e=0,s=t.getNumAllocatedSectionPlanes();e 0.0) { discard; }"),n.push("}")}return e.logarithmicDepthBufferEnabled&&n.push("gl_FragDepth = log2( vFragDepth ) * logDepthBufFC * 0.5;"),n.push("outColor = color;"),n.push("}"),n}}class Sr{constructor(e){this._scene=e}_compile(){this._colorRenderer&&!this._colorRenderer.getValid()&&(this._colorRenderer.destroy(),this._colorRenderer=null),this._silhouetteRenderer&&!this._silhouetteRenderer.getValid()&&(this._silhouetteRenderer.destroy(),this._silhouetteRenderer=null)}get colorRenderer(){return this._colorRenderer||(this._colorRenderer=new Br(this._scene)),this._colorRenderer}get silhouetteRenderer(){return this._silhouetteRenderer||(this._silhouetteRenderer=new Or(this._scene)),this._silhouetteRenderer}_destroy(){this._colorRenderer&&this._colorRenderer.destroy(),this._silhouetteRenderer&&this._silhouetteRenderer.destroy()}}const Nr={};const xr=new Uint8Array(4),Lr=new Float32Array(1);h.vec4([0,0,0,1]),h.vec4([0,0,0,1]),h.vec4([0,0,0,1]);const Mr=new Float32Array(3),Fr=new Float32Array(4);class Hr{constructor(e){this.model=e.model,this.material=e.material,this.sortId="LinesInstancingLayer",this.layerIndex=e.layerIndex,this._linesInstancingRenderers=function(e){const t=e.id;let s=Nr[t];return s||(s=new Sr(e),Nr[t]=s,s._compile(),e.on("compile",(()=>{s._compile()})),e.on("destroyed",(()=>{delete Nr[t],s._destroy()}))),s}(e.model.scene),this._aabb=h.collapseAABB3(),this._state=new Je({obb:h.OBB3(),numInstances:0,origin:null,geometry:e.geometry,positionsDecodeMatrix:e.geometry.positionsDecodeMatrix,positionsBuf:null,colorsBuf:null,flagsBuf:null,offsetsBuf:null,modelMatrixCol0Buf:null,modelMatrixCol1Buf:null,modelMatrixCol2Buf:null}),this._numPortions=0,this._numVisibleLayerPortions=0,this._numTransparentLayerPortions=0,this._numXRayedLayerPortions=0,this._numHighlightedLayerPortions=0,this._numSelectedLayerPortions=0,this._numClippableLayerPortions=0,this._numEdgesLayerPortions=0,this._numPickableLayerPortions=0,this._numCulledLayerPortions=0,this.numIndices=e.geometry.numIndices,this._colors=[],this._offsets=[],this._modelMatrixCol0=[],this._modelMatrixCol1=[],this._modelMatrixCol2=[],this._portions=[],e.origin&&(this._state.origin=h.vec3(e.origin)),this._finalized=!1}createPortion(e){const t=e.color,s=e.opacity,n=e.meshMatrix;if(this._finalized)throw"Already finalized";const i=t[0],a=t[1],r=t[2];t[3],this._colors.push(i),this._colors.push(a),this._colors.push(r),this._colors.push(s),this.model.scene.entityOffsetsEnabled&&(this._offsets.push(0),this._offsets.push(0),this._offsets.push(0)),this._modelMatrixCol0.push(n[0]),this._modelMatrixCol0.push(n[4]),this._modelMatrixCol0.push(n[8]),this._modelMatrixCol0.push(n[12]),this._modelMatrixCol1.push(n[1]),this._modelMatrixCol1.push(n[5]),this._modelMatrixCol1.push(n[9]),this._modelMatrixCol1.push(n[13]),this._modelMatrixCol2.push(n[2]),this._modelMatrixCol2.push(n[6]),this._modelMatrixCol2.push(n[10]),this._modelMatrixCol2.push(n[14]),this._state.numInstances++;const l=this._portions.length;return this._portions.push({}),this._numPortions++,this.model.numPortions++,l}finalize(){if(this._finalized)throw"Already finalized";const e=this.model.scene.canvas.gl,t=this._colors.length,s=t/4;if(t>0){let t=!1;this._state.colorsBuf=new Oe(e,e.ARRAY_BUFFER,new Uint8Array(this._colors),this._colors.length,4,e.DYNAMIC_DRAW,t),this._colors=[]}if(s>0){let t=!1;this._state.flagsBuf=new Oe(e,e.ARRAY_BUFFER,new Float32Array(s),s,1,e.DYNAMIC_DRAW,t)}if(this.model.scene.entityOffsetsEnabled&&this._offsets.length>0){const t=!1;this._state.offsetsBuf=new Oe(e,e.ARRAY_BUFFER,new Float32Array(this._offsets),this._offsets.length,3,e.DYNAMIC_DRAW,t),this._offsets=[]}if(this._modelMatrixCol0.length>0){const t=!1;this._state.modelMatrixCol0Buf=new Oe(e,e.ARRAY_BUFFER,new Float32Array(this._modelMatrixCol0),this._modelMatrixCol0.length,4,e.STATIC_DRAW,t),this._state.modelMatrixCol1Buf=new Oe(e,e.ARRAY_BUFFER,new Float32Array(this._modelMatrixCol1),this._modelMatrixCol1.length,4,e.STATIC_DRAW,t),this._state.modelMatrixCol2Buf=new Oe(e,e.ARRAY_BUFFER,new Float32Array(this._modelMatrixCol2),this._modelMatrixCol2.length,4,e.STATIC_DRAW,t),this._modelMatrixCol0=[],this._modelMatrixCol1=[],this._modelMatrixCol2=[]}this._state.geometry=null,this._finalized=!0}initFlags(e,t,s){t&Q&&(this._numVisibleLayerPortions++,this.model.numVisibleLayerPortions++),t&q&&(this._numHighlightedLayerPortions++,this.model.numHighlightedLayerPortions++),t&X&&(this._numXRayedLayerPortions++,this.model.numXRayedLayerPortions++),t&J&&(this._numSelectedLayerPortions++,this.model.numSelectedLayerPortions++),t&K&&(this._numClippableLayerPortions++,this.model.numClippableLayerPortions++),t&Z&&(this._numEdgesLayerPortions++,this.model.numEdgesLayerPortions++),t&z&&(this._numPickableLayerPortions++,this.model.numPickableLayerPortions++),t&W&&(this._numCulledLayerPortions++,this.model.numCulledLayerPortions++),s&&(this._numTransparentLayerPortions++,this.model.numTransparentLayerPortions++),this._setFlags(e,t,s)}setVisible(e,t,s){if(!this._finalized)throw"Not finalized";t&Q?(this._numVisibleLayerPortions++,this.model.numVisibleLayerPortions++):(this._numVisibleLayerPortions--,this.model.numVisibleLayerPortions--),this._setFlags(e,t,s)}setHighlighted(e,t,s){if(!this._finalized)throw"Not finalized";t&q?(this._numHighlightedLayerPortions++,this.model.numHighlightedLayerPortions++):(this._numHighlightedLayerPortions--,this.model.numHighlightedLayerPortions--),this._setFlags(e,t,s)}setXRayed(e,t,s){if(!this._finalized)throw"Not finalized";t&X?(this._numXRayedLayerPortions++,this.model.numXRayedLayerPortions++):(this._numXRayedLayerPortions--,this.model.numXRayedLayerPortions--),this._setFlags(e,t,s)}setSelected(e,t,s){if(!this._finalized)throw"Not finalized";t&J?(this._numSelectedLayerPortions++,this.model.numSelectedLayerPortions++):(this._numSelectedLayerPortions--,this.model.numSelectedLayerPortions--),this._setFlags(e,t,s)}setEdges(e,t,s){if(!this._finalized)throw"Not finalized";t&Z?(this._numEdgesLayerPortions++,this.model.numEdgesLayerPortions++):(this._numEdgesLayerPortions--,this.model.numEdgesLayerPortions--),this._setFlags(e,t,s)}setClippable(e,t){if(!this._finalized)throw"Not finalized";t&K?(this._numClippableLayerPortions++,this.model.numClippableLayerPortions++):(this._numClippableLayerPortions--,this.model.numClippableLayerPortions--),this._setFlags(e,t)}setCollidable(e,t){if(!this._finalized)throw"Not finalized"}setPickable(e,t,s){if(!this._finalized)throw"Not finalized";t&z?(this._numPickableLayerPortions++,this.model.numPickableLayerPortions++):(this._numPickableLayerPortions--,this.model.numPickableLayerPortions--),this._setFlags(e,t,s)}setCulled(e,t,s){if(!this._finalized)throw"Not finalized";t&W?(this._numCulledLayerPortions++,this.model.numCulledLayerPortions++):(this._numCulledLayerPortions--,this.model.numCulledLayerPortions--),this._setFlags(e,t,s)}setColor(e,t){if(!this._finalized)throw"Not finalized";xr[0]=t[0],xr[1]=t[1],xr[2]=t[2],xr[3]=t[3],this._state.colorsBuf.setData(xr,4*e,4)}setTransparent(e,t,s){s?(this._numTransparentLayerPortions++,this.model.numTransparentLayerPortions++):(this._numTransparentLayerPortions--,this.model.numTransparentLayerPortions--),this._setFlags(e,t,s)}_setFlags(e,t,s){if(!this._finalized)throw"Not finalized";const n=!!(t&Q),i=!!(t&X),a=!!(t&q),r=!!(t&J),l=!!(t&Z),o=!!(t&z),c=!!(t&W);let u,h;u=!n||c||i||a&&!this.model.scene.highlightMaterial.glowThrough||r&&!this.model.scene.selectedMaterial.glowThrough?Ei.NOT_RENDERED:s?Ei.COLOR_TRANSPARENT:Ei.COLOR_OPAQUE,h=!n||c?Ei.NOT_RENDERED:r?Ei.SILHOUETTE_SELECTED:a?Ei.SILHOUETTE_HIGHLIGHTED:i?Ei.SILHOUETTE_XRAYED:Ei.NOT_RENDERED;let p=0;p=!n||c?Ei.NOT_RENDERED:r?Ei.EDGES_SELECTED:a?Ei.EDGES_HIGHLIGHTED:i?Ei.EDGES_XRAYED:l?s?Ei.EDGES_COLOR_TRANSPARENT:Ei.EDGES_COLOR_OPAQUE:Ei.NOT_RENDERED;let A=0;A|=u,A|=h<<4,A|=p<<8,A|=(n&&!c&&o?Ei.PICK:Ei.NOT_RENDERED)<<12,A|=(t&K?255:0)<<16,Lr[0]=A,this._state.flagsBuf.setData(Lr,e)}setOffset(e,t){if(!this._finalized)throw"Not finalized";this.model.scene.entityOffsetsEnabled?(Mr[0]=t[0],Mr[1]=t[1],Mr[2]=t[2],this._state.offsetsBuf.setData(Mr,3*e,3)):this.model.error("Entity#offset not enabled for this Viewer")}setMatrix(e,t){if(!this._finalized)throw"Not finalized";const s=4*e;Fr[0]=t[0],Fr[1]=t[4],Fr[2]=t[8],Fr[3]=t[12],this._state.modelMatrixCol0Buf.setData(Fr,s),Fr[0]=t[1],Fr[1]=t[5],Fr[2]=t[9],Fr[3]=t[13],this._state.modelMatrixCol1Buf.setData(Fr,s),Fr[0]=t[2],Fr[1]=t[6],Fr[2]=t[10],Fr[3]=t[14],this._state.modelMatrixCol2Buf.setData(Fr,s)}drawColorOpaque(e,t){this._numCulledLayerPortions!==this._numPortions&&0!==this._numVisibleLayerPortions&&this._numTransparentLayerPortions!==this._numPortions&&this._numXRayedLayerPortions!==this._numPortions&&this._linesInstancingRenderers.colorRenderer&&this._linesInstancingRenderers.colorRenderer.drawLayer(t,this,Ei.COLOR_OPAQUE)}drawColorTransparent(e,t){this._numCulledLayerPortions!==this._numPortions&&0!==this._numVisibleLayerPortions&&0!==this._numTransparentLayerPortions&&this._numXRayedLayerPortions!==this._numPortions&&this._linesInstancingRenderers.colorRenderer&&this._linesInstancingRenderers.colorRenderer.drawLayer(t,this,Ei.COLOR_TRANSPARENT)}drawDepth(e,t){}drawNormals(e,t){}drawSilhouetteXRayed(e,t){this._numCulledLayerPortions!==this._numPortions&&0!==this._numVisibleLayerPortions&&0!==this._numXRayedLayerPortions&&this._linesInstancingRenderers.silhouetteRenderer&&this._linesInstancingRenderers.silhouetteRenderer.drawLayer(t,this,Ei.SILHOUETTE_XRAYED)}drawSilhouetteHighlighted(e,t){this._numCulledLayerPortions!==this._numPortions&&0!==this._numVisibleLayerPortions&&0!==this._numHighlightedLayerPortions&&this._linesInstancingRenderers.silhouetteRenderer&&this._linesInstancingRenderers.silhouetteRenderer.drawLayer(t,this,Ei.SILHOUETTE_HIGHLIGHTED)}drawSilhouetteSelected(e,t){this._numCulledLayerPortions!==this._numPortions&&0!==this._numVisibleLayerPortions&&0!==this._numSelectedLayerPortions&&this._linesInstancingRenderers.silhouetteRenderer&&this._linesInstancingRenderers.silhouetteRenderer.drawLayer(t,this,Ei.SILHOUETTE_SELECTED)}drawEdgesColorOpaque(e,t){}drawEdgesColorTransparent(e,t){}drawEdgesXRayed(e,t){}drawEdgesHighlighted(e,t){}drawEdgesSelected(e,t){}drawOcclusion(e,t){}drawShadow(e,t){}drawPickMesh(e,t){}drawPickDepths(e,t){}drawPickNormals(e,t){}destroy(){const e=this._state;e.positionsBuf&&(e.positionsBuf.destroy(),e.positionsBuf=null),e.colorsBuf&&(e.colorsBuf.destroy(),e.colorsBuf=null),e.flagsBuf&&(e.flagsBuf.destroy(),e.flagsBuf=null),e.offsetsBuf&&(e.offsetsBuf.destroy(),e.offsetsBuf=null),e.modelMatrixCol0Buf&&(e.modelMatrixCol0Buf.destroy(),e.modelMatrixCol0Buf=null),e.modelMatrixCol1Buf&&(e.modelMatrixCol1Buf.destroy(),e.modelMatrixCol1Buf=null),e.modelMatrixCol2Buf&&(e.modelMatrixCol2Buf.destroy(),e.modelMatrixCol2Buf=null),e.destroy()}}class Ur extends xi{_getHash(){return this._scene._sectionPlanesState.getHash()+this._scene.pointsMaterial.hash}drawLayer(e,t,s){super.drawLayer(e,t,s,{incrementDrawState:!0})}_buildVertexShader(){const e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,s=e.pointsMaterial,n=[];return n.push("#version 300 es"),n.push("// Points batching color vertex shader"),n.push("uniform int renderPass;"),n.push("in vec3 position;"),n.push("in vec4 color;"),n.push("in float flags;"),e.entityOffsetsEnabled&&n.push("in vec3 offset;"),this._addMatricesUniformBlockLines(n),n.push("uniform float pointSize;"),s.perspectivePoints&&n.push("uniform float nearPlaneHeight;"),s.filterIntensity&&n.push("uniform vec2 intensityRange;"),e.logarithmicDepthBufferEnabled&&(n.push("uniform float logDepthBufFC;"),n.push("out float vFragDepth;")),t&&(n.push("out vec4 vWorldPosition;"),n.push("out float vFlags;")),n.push("out vec4 vColor;"),n.push("void main(void) {"),n.push("int colorFlag = int(flags) & 0xF;"),n.push("if (colorFlag != renderPass) {"),n.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),n.push("} else {"),s.filterIntensity&&(n.push("float intensity = float(color.a) / 255.0;"),n.push("if (intensity < intensityRange[0] || intensity > intensityRange[1]) {"),n.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),n.push("} else {")),n.push("vec4 worldPosition = worldMatrix * (positionsDecodeMatrix * vec4(position, 1.0)); "),e.entityOffsetsEnabled&&n.push("worldPosition.xyz = worldPosition.xyz + offset;"),n.push("vec4 viewPosition = viewMatrix * worldPosition; "),n.push("vColor = vec4(float(color.r) / 255.0, float(color.g) / 255.0, float(color.b) / 255.0, 1.0);"),t&&(n.push("vWorldPosition = worldPosition;"),n.push("vFlags = flags;")),n.push("vec4 clipPos = projMatrix * viewPosition;"),e.logarithmicDepthBufferEnabled&&n.push("vFragDepth = 1.0 + clipPos.w;"),n.push("gl_Position = clipPos;"),s.perspectivePoints?(n.push("gl_PointSize = (nearPlaneHeight * pointSize) / clipPos.w;"),n.push("gl_PointSize = max(gl_PointSize, "+Math.floor(s.minPerspectivePointSize)+".0);"),n.push("gl_PointSize = min(gl_PointSize, "+Math.floor(s.maxPerspectivePointSize)+".0);")):n.push("gl_PointSize = pointSize;"),n.push("}"),s.filterIntensity&&n.push("}"),n.push("}"),n}_buildFragmentShader(){const e=this._scene,t=e._sectionPlanesState,s=t.getNumAllocatedSectionPlanes()>0,n=[];if(n.push("#version 300 es"),n.push("// Points batching color fragment shader"),n.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),n.push("precision highp float;"),n.push("precision highp int;"),n.push("#else"),n.push("precision mediump float;"),n.push("precision mediump int;"),n.push("#endif"),e.logarithmicDepthBufferEnabled&&(n.push("uniform float logDepthBufFC;"),n.push("in float vFragDepth;")),s){n.push("in vec4 vWorldPosition;"),n.push("in float vFlags;");for(let e=0,s=t.getNumAllocatedSectionPlanes();e 1.0) {"),n.push(" discard;"),n.push(" }")),s){n.push(" bool clippable = (int(vFlags) >> 16 & 0xF) == 1;"),n.push(" if (clippable) {"),n.push(" float dist = 0.0;");for(let e=0,s=t.getNumAllocatedSectionPlanes();e 0.0) { discard; }"),n.push("}")}return n.push(" outColor = vColor;"),e.logarithmicDepthBufferEnabled&&n.push("gl_FragDepth = log2( vFragDepth ) * logDepthBufFC * 0.5;"),n.push("}"),n}}class Gr extends xi{_getHash(){return this._scene._sectionPlanesState.getHash()+this._scene.pointsMaterial.hash}drawLayer(e,t,s){super.drawLayer(e,t,s,{colorUniform:!0})}_buildVertexShader(){const e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,s=e.pointsMaterial._state,n=[];return n.push("#version 300 es"),n.push("// Points batching silhouette vertex shader"),n.push("uniform int renderPass;"),n.push("in vec3 position;"),e.entityOffsetsEnabled&&n.push("in vec3 offset;"),n.push("in float flags;"),this._addMatricesUniformBlockLines(n),n.push("uniform vec4 color;"),n.push("uniform float pointSize;"),s.perspectivePoints&&n.push("uniform float nearPlaneHeight;"),e.logarithmicDepthBufferEnabled&&(n.push("uniform float logDepthBufFC;"),n.push("out float vFragDepth;")),t&&(n.push("out vec4 vWorldPosition;"),n.push("out float vFlags;")),n.push("void main(void) {"),n.push("int silhouetteFlag = int(flags) >> 4 & 0xF;"),n.push("if (silhouetteFlag != renderPass) {"),n.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),n.push("} else {"),n.push(" vec4 worldPosition = worldMatrix * (positionsDecodeMatrix * vec4(position, 1.0)); "),e.entityOffsetsEnabled&&n.push(" worldPosition.xyz = worldPosition.xyz + offset;"),n.push("vec4 viewPosition = viewMatrix * worldPosition; "),t&&(n.push("vWorldPosition = worldPosition;"),n.push("vFlags = flags;")),n.push("vec4 clipPos = projMatrix * viewPosition;"),e.logarithmicDepthBufferEnabled&&n.push("vFragDepth = 1.0 + clipPos.w;"),n.push("gl_Position = clipPos;"),s.perspectivePoints?(n.push("gl_PointSize = (nearPlaneHeight * pointSize) / clipPos.w;"),n.push("gl_PointSize = max(gl_PointSize, "+Math.floor(s.minPerspectivePointSize)+".0);"),n.push("gl_PointSize = min(gl_PointSize, "+Math.floor(s.maxPerspectivePointSize)+".0);")):n.push("gl_PointSize = pointSize;"),n.push("}"),n.push("}"),n}_buildFragmentShader(){const e=this._scene,t=e._sectionPlanesState;let s,n;const i=t.getNumAllocatedSectionPlanes()>0,a=[];if(a.push("#version 300 es"),a.push("// Points batching silhouette vertex shader"),a.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),a.push("precision highp float;"),a.push("precision highp int;"),a.push("#else"),a.push("precision mediump float;"),a.push("precision mediump int;"),a.push("#endif"),e.logarithmicDepthBufferEnabled&&(a.push("uniform float logDepthBufFC;"),a.push("in float vFragDepth;")),i)for(a.push("in vec4 vWorldPosition;"),a.push("in float vFlags;"),s=0,n=t.getNumAllocatedSectionPlanes();s 1.0) {"),a.push(" discard;"),a.push(" }")),i){for(a.push(" bool clippable = (int(vFlags) >> 16 & 0xF) == 1;"),a.push(" if (clippable) {"),a.push(" float dist = 0.0;"),s=0,n=t.getNumAllocatedSectionPlanes();s 0.0) { discard; }"),a.push("}")}return e.logarithmicDepthBufferEnabled&&a.push("gl_FragDepth = log2( vFragDepth ) * logDepthBufFC * 0.5;"),a.push("outColor = color;"),a.push("}"),a}}class jr extends xi{_getHash(){return this._scene._sectionPlanesState.getHash()+this._scene.pointsMaterial.hash}_buildVertexShader(){const e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,s=e.pointsMaterial._state,n=[];return n.push("#version 300 es"),n.push("// Points batching pick mesh vertex shader"),n.push("uniform int renderPass;"),n.push("in vec3 position;"),e.entityOffsetsEnabled&&n.push("in vec3 offset;"),n.push("in float flags;"),n.push("in vec4 pickColor;"),n.push("uniform bool pickInvisible;"),this._addMatricesUniformBlockLines(n),this._addRemapClipPosLines(n),n.push("uniform float pointSize;"),s.perspectivePoints&&n.push("uniform float nearPlaneHeight;"),e.logarithmicDepthBufferEnabled&&(n.push("uniform float logDepthBufFC;"),n.push("out float vFragDepth;")),t&&(n.push("out vec4 vWorldPosition;"),n.push("out float vFlags;")),n.push("out vec4 vPickColor;"),n.push("void main(void) {"),n.push("int pickFlag = int(flags) >> 12 & 0xF;"),n.push("if (pickFlag != renderPass) {"),n.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),n.push(" } else {"),n.push(" vec4 worldPosition = worldMatrix * (positionsDecodeMatrix * vec4(position, 1.0)); "),e.entityOffsetsEnabled&&n.push(" worldPosition.xyz = worldPosition.xyz + offset;"),n.push(" vec4 viewPosition = viewMatrix * worldPosition; "),n.push(" vPickColor = vec4(float(pickColor.r) / 255.0, float(pickColor.g) / 255.0, float(pickColor.b) / 255.0, float(pickColor.a) / 255.0);"),t&&(n.push(" vWorldPosition = worldPosition;"),n.push(" vFlags = flags;")),n.push("vec4 clipPos = projMatrix * viewPosition;"),e.logarithmicDepthBufferEnabled&&n.push("vFragDepth = 1.0 + clipPos.w;"),n.push("gl_Position = remapClipPos(clipPos);"),s.perspectivePoints?(n.push("gl_PointSize = (nearPlaneHeight * pointSize) / clipPos.w;"),n.push("gl_PointSize = max(gl_PointSize, "+Math.floor(s.minPerspectivePointSize)+".0);"),n.push("gl_PointSize = min(gl_PointSize, "+Math.floor(s.maxPerspectivePointSize)+".0);")):n.push("gl_PointSize = pointSize;"),n.push("gl_PointSize += 10.0;"),n.push(" }"),n.push("}"),n}_buildFragmentShader(){const e=this._scene,t=e._sectionPlanesState,s=t.getNumAllocatedSectionPlanes()>0,n=[];if(n.push("#version 300 es"),n.push("// Points batching pick mesh vertex shader"),n.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),n.push("precision highp float;"),n.push("precision highp int;"),n.push("#else"),n.push("precision mediump float;"),n.push("precision mediump int;"),n.push("#endif"),e.logarithmicDepthBufferEnabled&&(n.push("uniform float logDepthBufFC;"),n.push("in float vFragDepth;")),s){n.push("in vec4 vWorldPosition;"),n.push("in float vFlags;");for(var i=0;i 1.0) {"),n.push(" discard;"),n.push(" }")),s){n.push(" bool clippable = (int(vFlags) >> 16 & 0xF) == 1;"),n.push(" if (clippable) {"),n.push(" float dist = 0.0;");for(let e=0;e 0.0) { discard; }"),n.push(" }")}return e.logarithmicDepthBufferEnabled&&n.push("gl_FragDepth = log2( vFragDepth ) * logDepthBufFC * 0.5;"),n.push(" outColor = vPickColor; "),n.push("}"),n}}class Vr extends xi{_getHash(){return this._scene._sectionPlanesState.getHash()+this._scene.pointsMaterial.hash}_buildVertexShader(){const e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,s=e.pointsMaterial._state,n=[];return n.push("#version 300 es"),n.push("// Points batched pick depth vertex shader"),n.push("uniform int renderPass;"),n.push("in vec3 position;"),e.entityOffsetsEnabled&&n.push("in vec3 offset;"),n.push("in float flags;"),n.push("uniform bool pickInvisible;"),this._addMatricesUniformBlockLines(n),this._addRemapClipPosLines(n),n.push("uniform float pointSize;"),s.perspectivePoints&&n.push("uniform float nearPlaneHeight;"),e.logarithmicDepthBufferEnabled&&(n.push("uniform float logDepthBufFC;"),n.push("out float vFragDepth;")),t&&(n.push("out vec4 vWorldPosition;"),n.push("out float vFlags;")),n.push("out vec4 vViewPosition;"),n.push("void main(void) {"),n.push("int pickFlag = int(flags) >> 12 & 0xF;"),n.push("if (pickFlag != renderPass) {"),n.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),n.push(" } else {"),n.push(" vec4 worldPosition = worldMatrix * (positionsDecodeMatrix * vec4(position, 1.0)); "),e.entityOffsetsEnabled&&n.push(" worldPosition.xyz = worldPosition.xyz + offset;"),n.push(" vec4 viewPosition = viewMatrix * worldPosition; "),t&&(n.push(" vWorldPosition = worldPosition;"),n.push(" vFlags = flags;")),n.push("vViewPosition = viewPosition;"),n.push("vec4 clipPos = projMatrix * viewPosition;"),e.logarithmicDepthBufferEnabled&&n.push("vFragDepth = 1.0 + clipPos.w;"),n.push("gl_Position = remapClipPos(clipPos);"),s.perspectivePoints?(n.push("gl_PointSize = (nearPlaneHeight * pointSize) / clipPos.w;"),n.push("gl_PointSize = max(gl_PointSize, "+Math.floor(s.minPerspectivePointSize)+".0);"),n.push("gl_PointSize = min(gl_PointSize, "+Math.floor(s.maxPerspectivePointSize)+".0);")):n.push("gl_PointSize = pointSize;"),n.push("gl_PointSize += 10.0;"),n.push(" }"),n.push("}"),n}_buildFragmentShader(){const e=this._scene,t=e._sectionPlanesState,s=t.getNumAllocatedSectionPlanes()>0,n=[];if(n.push("#version 300 es"),n.push("// Points batched pick depth fragment shader"),n.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),n.push("precision highp float;"),n.push("precision highp int;"),n.push("#else"),n.push("precision mediump float;"),n.push("precision mediump int;"),n.push("#endif"),e.logarithmicDepthBufferEnabled&&(n.push("uniform float logDepthBufFC;"),n.push("in float vFragDepth;")),n.push("uniform float pickZNear;"),n.push("uniform float pickZFar;"),s){n.push("in vec4 vWorldPosition;"),n.push("in float vFlags;");for(let e=0;e 1.0) {"),n.push(" discard;"),n.push(" }")),s){n.push(" bool clippable = (int(vFlags) >> 16 & 0xF) == 1;"),n.push(" if (clippable) {"),n.push(" float dist = 0.0;");for(var i=0;i 0.0) { discard; }"),n.push(" }")}return e.logarithmicDepthBufferEnabled&&n.push("gl_FragDepth = log2( vFragDepth ) * logDepthBufFC * 0.5;"),n.push(" float zNormalizedDepth = abs((pickZNear + vViewPosition.z) / (pickZFar - pickZNear));"),n.push(" outColor = packDepth(zNormalizedDepth); "),n.push("}"),n}}class kr extends xi{_getHash(){return this._scene._sectionPlanesState.getHash()+this._scene.pointsMaterial.hash}_buildVertexShader(){const e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,s=e.pointsMaterial._state,n=[];return n.push("#version 300 es"),n.push("// Points batching occlusion vertex shader"),n.push("uniform int renderPass;"),n.push("in vec3 position;"),e.entityOffsetsEnabled&&n.push("in vec3 offset;"),n.push("in float flags;"),this._addMatricesUniformBlockLines(n),n.push("uniform float pointSize;"),s.perspectivePoints&&n.push("uniform float nearPlaneHeight;"),e.logarithmicDepthBufferEnabled&&(n.push("uniform float logDepthBufFC;"),n.push("out float vFragDepth;")),t&&(n.push("out vec4 vWorldPosition;"),n.push("out float vFlags;")),n.push("void main(void) {"),n.push("int colorFlag = int(flags) & 0xF;"),n.push("if (colorFlag != renderPass) {"),n.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),n.push(" } else {"),n.push(" vec4 worldPosition = worldMatrix * (positionsDecodeMatrix * vec4(position, 1.0)); "),e.entityOffsetsEnabled&&n.push(" worldPosition.xyz = worldPosition.xyz + offset;"),n.push(" vec4 viewPosition = viewMatrix * worldPosition; "),t&&(n.push(" vWorldPosition = worldPosition;"),n.push(" vFlags = flags;")),n.push("vec4 clipPos = projMatrix * viewPosition;"),e.logarithmicDepthBufferEnabled&&n.push("vFragDepth = 1.0 + clipPos.w;"),n.push(" gl_Position = clipPos;"),s.perspectivePoints?(n.push("gl_PointSize = (nearPlaneHeight * pointSize) / clipPos.w;"),n.push("gl_PointSize = max(gl_PointSize, "+Math.floor(s.minPerspectivePointSize)+".0);"),n.push("gl_PointSize = min(gl_PointSize, "+Math.floor(s.maxPerspectivePointSize)+".0);")):n.push("gl_PointSize = pointSize;"),n.push(" }"),n.push("}"),n}_buildFragmentShader(){const e=this._scene,t=e._sectionPlanesState,s=t.getNumAllocatedSectionPlanes()>0,n=[];if(n.push("#version 300 es"),n.push("// Points batching occlusion fragment shader"),n.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),n.push("precision highp float;"),n.push("precision highp int;"),n.push("#else"),n.push("precision mediump float;"),n.push("precision mediump int;"),n.push("#endif"),e.logarithmicDepthBufferEnabled&&(n.push("uniform float logDepthBufFC;"),n.push("in float vFragDepth;")),s){n.push("in vec4 vWorldPosition;"),n.push("in float vFlags;");for(let e=0;e 1.0) {"),n.push(" discard;"),n.push(" }")),s){n.push(" bool clippable = (int(vFlags) >> 16 & 0xF) == 1;"),n.push(" if (clippable) {"),n.push(" float dist = 0.0;");for(let e=0;e 0.0) { discard; }"),n.push(" }")}return e.logarithmicDepthBufferEnabled&&n.push("gl_FragDepth = log2( vFragDepth ) * logDepthBufFC * 0.5;"),n.push(" outColor = vec4(0.0, 0.0, 1.0, 1.0); "),n.push("}"),n}}class Qr{constructor(e){this._scene=e}_compile(){this._colorRenderer&&!this._colorRenderer.getValid()&&(this._colorRenderer.destroy(),this._colorRenderer=null),this._silhouetteRenderer&&!this._silhouetteRenderer.getValid()&&(this._silhouetteRenderer.destroy(),this._silhouetteRenderer=null),this._pickMeshRenderer&&!this._pickMeshRenderer.getValid()&&(this._pickMeshRenderer.destroy(),this._pickMeshRenderer=null),this._pickDepthRenderer&&!this._pickDepthRenderer.getValid()&&(this._pickDepthRenderer.destroy(),this._pickDepthRenderer=null),this._occlusionRenderer&&!1===this._occlusionRenderer.getValid()&&(this._occlusionRenderer.destroy(),this._occlusionRenderer=null)}get colorRenderer(){return this._colorRenderer||(this._colorRenderer=new Ur(this._scene)),this._colorRenderer}get silhouetteRenderer(){return this._silhouetteRenderer||(this._silhouetteRenderer=new Gr(this._scene)),this._silhouetteRenderer}get pickMeshRenderer(){return this._pickMeshRenderer||(this._pickMeshRenderer=new jr(this._scene)),this._pickMeshRenderer}get pickDepthRenderer(){return this._pickDepthRenderer||(this._pickDepthRenderer=new Vr(this._scene)),this._pickDepthRenderer}get occlusionRenderer(){return this._occlusionRenderer||(this._occlusionRenderer=new kr(this._scene)),this._occlusionRenderer}_destroy(){this._colorRenderer&&this._colorRenderer.destroy(),this._silhouetteRenderer&&this._silhouetteRenderer.destroy(),this._pickMeshRenderer&&this._pickMeshRenderer.destroy(),this._pickDepthRenderer&&this._pickDepthRenderer.destroy(),this._occlusionRenderer&&this._occlusionRenderer.destroy()}}const Wr={};class zr{constructor(e=5e6){e>5e6&&(e=5e6),this.maxVerts=e,this.maxIndices=3*e,this.positions=[],this.colors=[],this.intensities=[],this.pickColors=[],this.offsets=[]}}h.vec4(),h.vec4(),h.vec4([0,0,0,1]),h.vec4([0,0,0,1]),h.vec4([0,0,0,1]),h.OBB3();class Kr{constructor(e){this.model=e.model,this.sortId="PointsBatchingLayer",this.layerIndex=e.layerIndex,this._pointsBatchingRenderers=function(e){const t=e.id;let s=Wr[t];return s||(s=new Qr(e),Wr[t]=s,s._compile(),e.on("compile",(()=>{s._compile()})),e.on("destroyed",(()=>{delete Wr[t],s._destroy()}))),s}(e.model.scene),this._buffer=new zr(e.maxGeometryBatchSize),this._scratchMemory=e.scratchMemory,this._state=new Je({positionsBuf:null,offsetsBuf:null,colorsBuf:null,flagsBuf:null,positionsDecodeMatrix:h.mat4(),origin:null}),this._numPortions=0,this._numVisibleLayerPortions=0,this._numTransparentLayerPortions=0,this._numXRayedLayerPortions=0,this._numSelectedLayerPortions=0,this._numHighlightedLayerPortions=0,this._numClippableLayerPortions=0,this._numPickableLayerPortions=0,this._numCulledLayerPortions=0,this._modelAABB=h.collapseAABB3(),this._portions=[],this._finalized=!1,e.positionsDecodeMatrix?(this._state.positionsDecodeMatrix.set(e.positionsDecodeMatrix),this._preCompressedPositionsExpected=!0):this._preCompressedPositionsExpected=!1,e.origin&&(this._state.origin=h.vec3(e.origin)),this.aabb=h.collapseAABB3()}canCreatePortion(e){if(this._finalized)throw"Already finalized";return this._buffer.positions.length+e<3*this._buffer.maxVerts}createPortion(e){if(this._finalized)throw"Already finalized";const t=e.positions,s=e.positionsCompressed,n=e.color,i=e.colorsCompressed,a=e.colors,r=e.pickColor,l=this._buffer,o=l.positions.length/3;let c;if(h.expandAABB3(this._modelAABB,e.aabb),this._preCompressedPositionsExpected){if(!s)throw"positionsCompressed expected";for(let e=0,t=s.length;e0)if(this._preCompressedPositionsExpected){const n=new Uint16Array(s.positions);e.positionsBuf=new Oe(t,t.ARRAY_BUFFER,n,s.positions.length,3,t.STATIC_DRAW)}else{const n=ia(new Float32Array(s.positions),this._modelAABB,e.positionsDecodeMatrix);e.positionsBuf=new Oe(t,t.ARRAY_BUFFER,n,s.positions.length,3,t.STATIC_DRAW)}if(s.colors.length>0){const n=new Uint8Array(s.colors);let i=!1;e.colorsBuf=new Oe(t,t.ARRAY_BUFFER,n,s.colors.length,4,t.STATIC_DRAW,i)}if(s.positions.length>0){const n=s.positions.length/3,i=new Float32Array(n);let a=!1;e.flagsBuf=new Oe(t,t.ARRAY_BUFFER,i,i.length,1,t.DYNAMIC_DRAW,a)}if(s.pickColors.length>0){const n=new Uint8Array(s.pickColors);let i=!1;e.pickColorsBuf=new Oe(t,t.ARRAY_BUFFER,n,s.pickColors.length,4,t.STATIC_DRAW,i)}if(this.model.scene.entityOffsetsEnabled&&s.offsets.length>0){const n=new Float32Array(s.offsets);e.offsetsBuf=new Oe(t,t.ARRAY_BUFFER,n,s.offsets.length,3,t.DYNAMIC_DRAW)}this._buffer=null,this._finalized=!0}initFlags(e,t,s){t&Q&&(this._numVisibleLayerPortions++,this.model.numVisibleLayerPortions++),t&q&&(this._numHighlightedLayerPortions++,this.model.numHighlightedLayerPortions++),t&X&&(this._numXRayedLayerPortions++,this.model.numXRayedLayerPortions++),t&J&&(this._numSelectedLayerPortions++,this.model.numSelectedLayerPortions++),t&K&&(this._numClippableLayerPortions++,this.model.numClippableLayerPortions++),t&z&&(this._numPickableLayerPortions++,this.model.numPickableLayerPortions++),t&W&&(this._numCulledLayerPortions++,this.model.numCulledLayerPortions++),s&&(this._numTransparentLayerPortions++,this.model.numTransparentLayerPortions++),this._setFlags(e,t,s)}setVisible(e,t,s){if(!this._finalized)throw"Not finalized";t&Q?(this._numVisibleLayerPortions++,this.model.numVisibleLayerPortions++):(this._numVisibleLayerPortions--,this.model.numVisibleLayerPortions--),this._setFlags(e,t,s)}setHighlighted(e,t,s){if(!this._finalized)throw"Not finalized";t&q?(this._numHighlightedLayerPortions++,this.model.numHighlightedLayerPortions++):(this._numHighlightedLayerPortions--,this.model.numHighlightedLayerPortions--),this._setFlags(e,t,s)}setXRayed(e,t,s){if(!this._finalized)throw"Not finalized";t&X?(this._numXRayedLayerPortions++,this.model.numXRayedLayerPortions++):(this._numXRayedLayerPortions--,this.model.numXRayedLayerPortions--),this._setFlags(e,t,s)}setSelected(e,t,s){if(!this._finalized)throw"Not finalized";t&J?(this._numSelectedLayerPortions++,this.model.numSelectedLayerPortions++):(this._numSelectedLayerPortions--,this.model.numSelectedLayerPortions--),this._setFlags(e,t,s)}setEdges(e,t,s){if(!this._finalized)throw"Not finalized"}setClippable(e,t){if(!this._finalized)throw"Not finalized";t&K?(this._numClippableLayerPortions++,this.model.numClippableLayerPortions++):(this._numClippableLayerPortions--,this.model.numClippableLayerPortions--),this._setFlags(e,t)}setCulled(e,t,s){if(!this._finalized)throw"Not finalized";t&W?(this._numCulledLayerPortions++,this.model.numCulledLayerPortions++):(this._numCulledLayerPortions--,this.model.numCulledLayerPortions--),this._setFlags(e,t,s)}setCollidable(e,t){if(!this._finalized)throw"Not finalized"}setPickable(e,t,s){if(!this._finalized)throw"Not finalized";t&z?(this._numPickableLayerPortions++,this.model.numPickableLayerPortions++):(this._numPickableLayerPortions--,this.model.numPickableLayerPortions--),this._setFlags(e,t,s)}setColor(e,t){if(!this._finalized)throw"Not finalized";const s=2*e,n=4*this._portions[s],i=4*this._portions[s+1],a=this._scratchMemory.getUInt8Array(i),r=t[0],l=t[1],o=t[2];for(let e=0;e0,s=e.pointsMaterial._state,n=[];return n.push("#version 300 es"),n.push("// Points instancing color vertex shader"),n.push("uniform int renderPass;"),n.push("in vec3 position;"),n.push("in vec4 color;"),n.push("in float flags;"),e.entityOffsetsEnabled&&n.push("in vec3 offset;"),n.push("in vec4 modelMatrixCol0;"),n.push("in vec4 modelMatrixCol1;"),n.push("in vec4 modelMatrixCol2;"),this._addMatricesUniformBlockLines(n),n.push("uniform float pointSize;"),s.perspectivePoints&&n.push("uniform float nearPlaneHeight;"),s.filterIntensity&&n.push("uniform vec2 intensityRange;"),e.logarithmicDepthBufferEnabled&&(n.push("uniform float logDepthBufFC;"),n.push("out float vFragDepth;")),t&&(n.push("out vec4 vWorldPosition;"),n.push("out float vFlags;")),n.push("out vec4 vColor;"),n.push("void main(void) {"),n.push("int colorFlag = int(flags) & 0xF;"),n.push("if (colorFlag != renderPass) {"),n.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),n.push("} else {"),s.filterIntensity&&(n.push("float intensity = float(color.a) / 255.0;"),n.push("if (intensity < intensityRange[0] || intensity > intensityRange[1]) {"),n.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),n.push("} else {")),n.push("vec4 worldPosition = positionsDecodeMatrix * vec4(position, 1.0); "),n.push("worldPosition = worldMatrix * vec4(dot(worldPosition, modelMatrixCol0), dot(worldPosition, modelMatrixCol1), dot(worldPosition, modelMatrixCol2), 1.0);"),e.entityOffsetsEnabled&&n.push(" worldPosition.xyz = worldPosition.xyz + offset;"),n.push("vec4 viewPosition = viewMatrix * worldPosition; "),n.push("vColor = vec4(float(color.r) / 255.0, float(color.g) / 255.0, float(color.b) / 255.0, 1.0);"),t&&(n.push("vWorldPosition = worldPosition;"),n.push("vFlags = flags;")),n.push("vec4 clipPos = projMatrix * viewPosition;"),e.logarithmicDepthBufferEnabled&&n.push("vFragDepth = 1.0 + clipPos.w;"),n.push("gl_Position = clipPos;"),s.perspectivePoints?(n.push("gl_PointSize = (nearPlaneHeight * pointSize) / clipPos.w;"),n.push("gl_PointSize = max(gl_PointSize, "+Math.floor(s.minPerspectivePointSize)+".0);"),n.push("gl_PointSize = min(gl_PointSize, "+Math.floor(s.maxPerspectivePointSize)+".0);")):n.push("gl_PointSize = pointSize;"),n.push("}"),s.filterIntensity&&n.push("}"),n.push("}"),n}_buildFragmentShader(){const e=this._scene,t=e._sectionPlanesState,s=t.getNumAllocatedSectionPlanes()>0,n=[];if(n.push("#version 300 es"),n.push("// Points instancing color fragment shader"),n.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),n.push("precision highp float;"),n.push("precision highp int;"),n.push("#else"),n.push("precision mediump float;"),n.push("precision mediump int;"),n.push("#endif"),e.logarithmicDepthBufferEnabled&&(n.push("uniform float logDepthBufFC;"),n.push("in float vFragDepth;")),s){n.push("in vec4 vWorldPosition;"),n.push("in float vFlags;");for(let e=0,s=t.getNumAllocatedSectionPlanes();e 1.0) {"),n.push(" discard;"),n.push(" }")),s){n.push(" bool clippable = (int(vFlags) >> 16 & 0xF) == 1;"),n.push(" if (clippable) {"),n.push(" float dist = 0.0;");for(let e=0,s=t.getNumAllocatedSectionPlanes();e 0.0) { discard; }"),n.push("}")}return n.push(" outColor = vColor;"),e.logarithmicDepthBufferEnabled&&n.push("gl_FragDepth = log2( vFragDepth ) * logDepthBufFC * 0.5;"),n.push("}"),n}}class Xr extends Li{_getHash(){return this._scene._sectionPlanesState.getHash()+this._scene.pointsMaterial.hash}drawLayer(e,t,s){super.drawLayer(e,t,s,{colorUniform:!0})}_buildVertexShader(){const e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,s=e.pointsMaterial._state,n=[];return n.push("#version 300 es"),n.push("// Points instancing silhouette vertex shader"),n.push("uniform int renderPass;"),n.push("in vec3 position;"),e.entityOffsetsEnabled&&n.push("in vec3 offset;"),n.push("in float flags;"),n.push("in vec4 color;"),n.push("in vec4 modelMatrixCol0;"),n.push("in vec4 modelMatrixCol1;"),n.push("in vec4 modelMatrixCol2;"),this._addMatricesUniformBlockLines(n),n.push("uniform float pointSize;"),s.perspectivePoints&&n.push("uniform float nearPlaneHeight;"),e.logarithmicDepthBufferEnabled&&(n.push("uniform float logDepthBufFC;"),n.push("out float vFragDepth;")),n.push("uniform vec4 silhouetteColor;"),t&&(n.push("out vec4 vWorldPosition;"),n.push("out float vFlags;")),n.push("out vec4 vColor;"),n.push("void main(void) {"),n.push("int silhouetteFlag = int(flags) >> 4 & 0xF;"),n.push("if (silhouetteFlag != renderPass) {"),n.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),n.push("} else {"),n.push("vec4 worldPosition = positionsDecodeMatrix * vec4(position, 1.0); "),n.push("worldPosition = worldMatrix * vec4(dot(worldPosition, modelMatrixCol0), dot(worldPosition, modelMatrixCol1), dot(worldPosition, modelMatrixCol2), 1.0);"),e.entityOffsetsEnabled&&n.push(" worldPosition.xyz = worldPosition.xyz + offset;"),n.push("vec4 viewPosition = viewMatrix * worldPosition; "),t&&(n.push("vWorldPosition = worldPosition;"),n.push("vFlags = flags;")),n.push("vec4 clipPos = projMatrix * viewPosition;"),e.logarithmicDepthBufferEnabled&&n.push("vFragDepth = 1.0 + clipPos.w;"),n.push("vColor = vec4(float(silhouetteColor.r) / 255.0, float(silhouetteColor.g) / 255.0, float(silhouetteColor.b) / 255.0, float(color.a) / 255.0);"),n.push("gl_Position = clipPos;"),s.perspectivePoints?(n.push("gl_PointSize = (nearPlaneHeight * pointSize) / clipPos.w;"),n.push("gl_PointSize = max(gl_PointSize, "+Math.floor(s.minPerspectivePointSize)+".0);"),n.push("gl_PointSize = min(gl_PointSize, "+Math.floor(s.maxPerspectivePointSize)+".0);")):n.push("gl_PointSize = pointSize;"),n.push("}"),n.push("}"),n}_buildFragmentShader(){const e=this._scene,t=e._sectionPlanesState,s=t.getNumAllocatedSectionPlanes()>0,n=[];if(n.push("#version 300 es"),n.push("// Points instancing silhouette fragment shader"),n.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),n.push("precision highp float;"),n.push("precision highp int;"),n.push("#else"),n.push("precision mediump float;"),n.push("precision mediump int;"),n.push("#endif"),e.logarithmicDepthBufferEnabled&&(n.push("uniform float logDepthBufFC;"),n.push("in float vFragDepth;")),s){n.push("in vec4 vWorldPosition;"),n.push("in float vFlags;");for(let e=0,s=t.getNumAllocatedSectionPlanes();e 1.0) {"),n.push(" discard;"),n.push(" }")),s){n.push(" bool clippable = (int(vFlags) >> 16 & 0xF) == 1;"),n.push(" if (clippable) {"),n.push(" float dist = 0.0;");for(let e=0,s=t.getNumAllocatedSectionPlanes();e 0.0) { discard; }"),n.push("}")}return e.logarithmicDepthBufferEnabled&&n.push("gl_FragDepth = log2( vFragDepth ) * logDepthBufFC * 0.5;"),n.push("outColor = vColor;"),n.push("}"),n}}class qr extends Li{_getHash(){return this._scene._sectionPlanesState.getHash()+this._scene.pointsMaterial.hash}_buildVertexShader(){const e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,s=e.pointsMaterial._state,n=[];return n.push("#version 300 es"),n.push("// Points instancing pick mesh vertex shader"),n.push("uniform int renderPass;"),n.push("in vec3 position;"),e.entityOffsetsEnabled&&n.push("in vec3 offset;"),n.push("in float flags;"),n.push("in vec4 pickColor;"),n.push("in vec4 modelMatrixCol0;"),n.push("in vec4 modelMatrixCol1;"),n.push("in vec4 modelMatrixCol2;"),n.push("uniform bool pickInvisible;"),this._addMatricesUniformBlockLines(n),this._addRemapClipPosLines(n),n.push("uniform float pointSize;"),s.perspectivePoints&&n.push("uniform float nearPlaneHeight;"),e.logarithmicDepthBufferEnabled&&(n.push("uniform float logDepthBufFC;"),n.push("out float vFragDepth;")),t&&(n.push("out vec4 vWorldPosition;"),n.push("out float vFlags;")),n.push("out vec4 vPickColor;"),n.push("void main(void) {"),n.push("int pickFlag = int(flags) >> 12 & 0xF;"),n.push("if (pickFlag != renderPass) {"),n.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),n.push("} else {"),n.push(" vec4 worldPosition = positionsDecodeMatrix * vec4(position, 1.0); "),n.push(" worldPosition = worldMatrix * vec4(dot(worldPosition, modelMatrixCol0), dot(worldPosition, modelMatrixCol1), dot(worldPosition, modelMatrixCol2), 1.0);"),e.entityOffsetsEnabled&&n.push(" worldPosition.xyz = worldPosition.xyz + offset;"),n.push(" vec4 viewPosition = viewMatrix * worldPosition; "),n.push(" vPickColor = vec4(float(pickColor.r) / 255.0, float(pickColor.g) / 255.0, float(pickColor.b) / 255.0, float(pickColor.a) / 255.0);"),t&&(n.push(" vWorldPosition = worldPosition;"),n.push(" vFlags = flags;")),n.push("vec4 clipPos = projMatrix * viewPosition;"),n.push("gl_Position = remapClipPos(clipPos);"),e.logarithmicDepthBufferEnabled&&n.push("vFragDepth = 1.0 + clipPos.w;"),s.perspectivePoints?(n.push("gl_PointSize = (nearPlaneHeight * pointSize) / clipPos.w;"),n.push("gl_PointSize = max(gl_PointSize, "+Math.floor(s.minPerspectivePointSize)+".0);"),n.push("gl_PointSize = min(gl_PointSize, "+Math.floor(s.maxPerspectivePointSize)+".0);")):n.push("gl_PointSize = pointSize;"),n.push("}"),n.push("}"),n}_buildFragmentShader(){const e=this._scene,t=e._sectionPlanesState,s=t.getNumAllocatedSectionPlanes()>0,n=[];if(n.push("#version 300 es"),n.push("// Points instancing pick mesh fragment shader"),n.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),n.push("precision highp float;"),n.push("precision highp int;"),n.push("#else"),n.push("precision mediump float;"),n.push("precision mediump int;"),n.push("#endif"),e.logarithmicDepthBufferEnabled&&(n.push("uniform float logDepthBufFC;"),n.push("in float vFragDepth;")),s){n.push("in vec4 vWorldPosition;"),n.push("in float vFlags;");for(let e=0;e 1.0) {"),n.push(" discard;"),n.push(" }")),s){n.push(" bool clippable = (int(vFlags) >> 16 & 0xF) == 1;"),n.push(" if (clippable) {"),n.push(" float dist = 0.0;");for(let e=0;e 0.0) { discard; }"),n.push("}")}return e.logarithmicDepthBufferEnabled&&n.push("gl_FragDepth = log2( vFragDepth ) * logDepthBufFC * 0.5;"),n.push("outColor = vPickColor; "),n.push("}"),n}}class Jr extends Li{_getHash(){return this._scene._sectionPlanesState.getHash()+this._scene.pointsMaterial.hash}_buildVertexShader(){const e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,s=e.pointsMaterial._state,n=[];return n.push("#version 300 es"),n.push("// Points instancing pick depth vertex shader"),n.push("uniform int renderPass;"),n.push("in vec3 position;"),e.entityOffsetsEnabled&&n.push("in vec3 offset;"),n.push("in float flags;"),n.push("in vec4 modelMatrixCol0;"),n.push("in vec4 modelMatrixCol1;"),n.push("in vec4 modelMatrixCol2;"),n.push("uniform bool pickInvisible;"),this._addMatricesUniformBlockLines(n),this._addRemapClipPosLines(n),n.push("uniform float pointSize;"),s.perspectivePoints&&n.push("uniform float nearPlaneHeight;"),e.logarithmicDepthBufferEnabled&&(n.push("uniform float logDepthBufFC;"),n.push("out float vFragDepth;")),t&&(n.push("out vec4 vWorldPosition;"),n.push("out float vFlags;")),n.push("out vec4 vViewPosition;"),n.push("void main(void) {"),n.push("int pickFlag = int(flags) >> 12 & 0xF;"),n.push("if (pickFlag != renderPass) {"),n.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),n.push("} else {"),n.push(" vec4 worldPosition = positionsDecodeMatrix * vec4(position, 1.0); "),n.push(" worldPosition = worldMatrix * vec4(dot(worldPosition, modelMatrixCol0), dot(worldPosition, modelMatrixCol1), dot(worldPosition, modelMatrixCol2), 1.0);"),e.entityOffsetsEnabled&&n.push(" worldPosition.xyz = worldPosition.xyz + offset;"),n.push(" vec4 viewPosition = viewMatrix * worldPosition; "),t&&(n.push(" vWorldPosition = worldPosition;"),n.push(" vFlags = flags;")),n.push(" vViewPosition = viewPosition;"),n.push("vec4 clipPos = projMatrix * viewPosition;"),n.push("gl_Position = remapClipPos(clipPos);"),e.logarithmicDepthBufferEnabled&&n.push("vFragDepth = 1.0 + clipPos.w;"),n.push("gl_Position = remapClipPos(clipPos);"),s.perspectivePoints?(n.push("gl_PointSize = (nearPlaneHeight * pointSize) / clipPos.w;"),n.push("gl_PointSize = max(gl_PointSize, "+Math.floor(s.minPerspectivePointSize)+".0);"),n.push("gl_PointSize = min(gl_PointSize, "+Math.floor(s.maxPerspectivePointSize)+".0);")):n.push("gl_PointSize = pointSize;"),n.push("}"),n.push("}"),n}_buildFragmentShader(){const e=this._scene,t=e._sectionPlanesState,s=t.getNumAllocatedSectionPlanes()>0,n=[];if(n.push("#version 300 es"),n.push("// Points instancing pick depth fragment shader"),n.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),n.push("precision highp float;"),n.push("precision highp int;"),n.push("#else"),n.push("precision mediump float;"),n.push("precision mediump int;"),n.push("#endif"),e.logarithmicDepthBufferEnabled&&(n.push("uniform float logDepthBufFC;"),n.push("in float vFragDepth;")),n.push("uniform float pickZNear;"),n.push("uniform float pickZFar;"),s){n.push("in vec4 vWorldPosition;"),n.push("in float vFlags;");for(let e=0;e 1.0) {"),n.push(" discard;"),n.push(" }")),s){n.push(" bool clippable = (int(vFlags) >> 16 & 0xF) == 1;"),n.push(" if (clippable) {"),n.push(" float dist = 0.0;");for(let e=0;e 0.0) { discard; }"),n.push("}")}return e.logarithmicDepthBufferEnabled&&n.push("gl_FragDepth = log2( vFragDepth ) * logDepthBufFC * 0.5;"),n.push(" float zNormalizedDepth = abs((pickZNear + vViewPosition.z) / (pickZFar - pickZNear));"),n.push(" outColor = packDepth(zNormalizedDepth); "),n.push("}"),n}}class Zr extends Li{_getHash(){return this._scene._sectionPlanesState.getHash()+this._scene.pointsMaterial.hash}_buildVertexShader(){const e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,s=e.pointsMaterial._state,n=[];return n.push("#version 300 es"),n.push("// Points instancing occlusion vertex shader"),n.push("uniform int renderPass;"),n.push("in vec3 position;"),e.entityOffsetsEnabled&&n.push("in vec3 offset;"),n.push("in vec4 color;"),n.push("in float flags;"),n.push("in vec4 modelMatrixCol0;"),n.push("in vec4 modelMatrixCol1;"),n.push("in vec4 modelMatrixCol2;"),this._addMatricesUniformBlockLines(n),n.push("uniform float pointSize;"),s.perspectivePoints&&n.push("uniform float nearPlaneHeight;"),e.logarithmicDepthBufferEnabled&&(n.push("uniform float logDepthBufFC;"),n.push("out float vFragDepth;")),t&&(n.push("out vec4 vWorldPosition;"),n.push("out float vFlags;")),n.push("void main(void) {"),n.push("int colorFlag = int(flags) & 0xF;"),n.push("if (colorFlag != renderPass) {"),n.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),n.push("} else {"),n.push(" vec4 worldPosition = positionsDecodeMatrix * vec4(position, 1.0); "),n.push(" worldPosition = worldMatrix * vec4(dot(worldPosition, modelMatrixCol0), dot(worldPosition, modelMatrixCol1), dot(worldPosition, modelMatrixCol2), 1.0);"),e.entityOffsetsEnabled&&n.push(" worldPosition.xyz = worldPosition.xyz + offset;"),n.push(" vec4 viewPosition = viewMatrix * worldPosition; "),t&&(n.push(" vWorldPosition = worldPosition;"),n.push("vFlags = flags;")),n.push("vec4 clipPos = projMatrix * viewPosition;"),e.logarithmicDepthBufferEnabled&&n.push("vFragDepth = 1.0 + clipPos.w;"),n.push("gl_Position = clipPos;"),s.perspectivePoints?(n.push("gl_PointSize = (nearPlaneHeight * pointSize) / clipPos.w;"),n.push("gl_PointSize = max(gl_PointSize, "+Math.floor(s.minPerspectivePointSize)+".0);"),n.push("gl_PointSize = min(gl_PointSize, "+Math.floor(s.maxPerspectivePointSize)+".0);")):n.push("gl_PointSize = pointSize;"),n.push("}"),n.push("}"),n}_buildFragmentShader(){const e=this._scene,t=e._sectionPlanesState,s=t.getNumAllocatedSectionPlanes()>0,n=[];if(n.push("#version 300 es"),n.push("// Points instancing occlusion vertex shader"),n.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),n.push("precision highp float;"),n.push("precision highp int;"),n.push("#else"),n.push("precision mediump float;"),n.push("precision mediump int;"),n.push("#endif"),e.logarithmicDepthBufferEnabled&&(n.push("uniform float logDepthBufFC;"),n.push("in float vFragDepth;")),s){n.push("in vec4 vWorldPosition;"),n.push("in float vFlags;");for(let e=0;e 1.0) {"),n.push(" discard;"),n.push(" }")),s){n.push(" bool clippable = (int(vFlags) >> 16 & 0xF) == 1;"),n.push(" if (clippable) {"),n.push(" float dist = 0.0;");for(let e=0;e 0.0) { discard; }"),n.push("}")}return n.push(" outColor = vec4(0.0, 0.0, 1.0, 1.0); "),e.logarithmicDepthBufferEnabled&&n.push("gl_FragDepth = log2( vFragDepth ) * logDepthBufFC * 0.5;"),n.push("}"),n}}class $r extends Li{_getHash(){return this._scene._sectionPlanesState.getHash()+this._scene.pointsMaterial.hash}_buildVertexShader(){const e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,s=e.pointsMaterial._state,n=[];return n.push("#version 300 es"),n.push("// Points instancing depth vertex shader"),n.push("uniform int renderPass;"),n.push("in vec3 position;"),e.entityOffsetsEnabled&&n.push("in vec3 offset;"),n.push("in float flags;"),n.push("in vec4 modelMatrixCol0;"),n.push("in vec4 modelMatrixCol1;"),n.push("in vec4 modelMatrixCol2;"),this._addMatricesUniformBlockLines(n),n.push("uniform float pointSize;"),s.perspectivePoints&&n.push("uniform float nearPlaneHeight;"),e.logarithmicDepthBufferEnabled&&(n.push("uniform float logDepthBufFC;"),n.push("out float vFragDepth;")),t&&(n.push("out vec4 vWorldPosition;"),n.push("out float vFlags;")),n.push("void main(void) {"),n.push("int colorFlag = int(flags) & 0xF;"),n.push("if (colorFlag != renderPass) {"),n.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),n.push("} else {"),n.push(" vec4 worldPosition = positionsDecodeMatrix * vec4(position, 1.0); "),n.push(" worldPosition = worldMatrix * vec4(dot(worldPosition, modelMatrixCol0), dot(worldPosition, modelMatrixCol1), dot(worldPosition, modelMatrixCol2), 1.0);"),e.entityOffsetsEnabled&&n.push(" worldPosition.xyz = worldPosition.xyz + offset;"),n.push(" vec4 viewPosition = viewMatrix * worldPosition; "),t&&(n.push("vWorldPosition = worldPosition;"),n.push("vFlags = flags;")),n.push("vec4 clipPos = projMatrix * viewPosition;"),e.logarithmicDepthBufferEnabled&&n.push("vFragDepth = 1.0 + clipPos.w;"),n.push("gl_Position = clipPos;"),s.perspectivePoints?(n.push("gl_PointSize = (nearPlaneHeight * pointSize) / clipPos.w;"),n.push("gl_PointSize = max(gl_PointSize, "+Math.floor(s.minPerspectivePointSize)+".0);"),n.push("gl_PointSize = min(gl_PointSize, "+Math.floor(s.maxPerspectivePointSize)+".0);")):n.push("gl_PointSize = pointSize;"),n.push("}"),n.push("}"),n}_buildFragmentShader(){const e=this._scene,t=e._sectionPlanesState;let s,n;const i=t.getNumAllocatedSectionPlanes()>0,a=[];if(a.push("#version 300 es"),a.push("// Points instancing depth vertex shader"),a.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),a.push("precision highp float;"),a.push("precision highp int;"),a.push("#else"),a.push("precision mediump float;"),a.push("precision mediump int;"),a.push("#endif"),e.logarithmicDepthBufferEnabled&&(a.push("uniform float logDepthBufFC;"),a.push("in float vFragDepth;")),i)for(a.push("in vec4 vWorldPosition;"),a.push("in float vFlags;"),s=0,n=t.getNumAllocatedSectionPlanes();s 1.0) {"),a.push(" discard;"),a.push(" }")),i){for(a.push(" bool clippable = (int(vFlags) >> 16 & 0xF) == 1;"),a.push(" if (clippable) {"),a.push(" float dist = 0.0;"),s=0,n=t.getNumAllocatedSectionPlanes();s 0.0) { discard; }"),a.push("}")}return a.push(" outColor = packDepthToRGBA( gl_FragCoord.z); "),e.logarithmicDepthBufferEnabled&&a.push("gl_FragDepth = log2( vFragDepth ) * logDepthBufFC * 0.5;"),a.push("}"),a}}class el extends Li{_buildVertexShader(){const e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,s=[];return s.push("#version 300 es"),s.push("// Instancing geometry shadow drawing vertex shader"),s.push("in vec3 position;"),e.entityOffsetsEnabled&&s.push("in vec3 offset;"),s.push("in vec4 color;"),s.push("in float flags;"),s.push("in vec4 modelMatrixCol0;"),s.push("in vec4 modelMatrixCol1;"),s.push("in vec4 modelMatrixCol2;"),s.push("uniform mat4 shadowViewMatrix;"),s.push("uniform mat4 shadowProjMatrix;"),this._addMatricesUniformBlockLines(s),s.push("uniform float pointSize;"),t&&(s.push("out vec4 vWorldPosition;"),s.push("out float vFlags;")),s.push("void main(void) {"),s.push("int colorFlag = int(flags) & 0xF;"),s.push("bool visible = (colorFlag > 0);"),s.push("bool transparent = ((float(color.a) / 255.0) < 1.0);"),s.push("if (!visible || transparent) {"),s.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),s.push("} else {"),s.push(" vec4 worldPosition = positionsDecodeMatrix * vec4(position, 1.0); "),s.push(" worldPosition = vec4(dot(worldPosition, modelMatrixCol0), dot(worldPosition, modelMatrixCol1), dot(worldPosition, modelMatrixCol2), 1.0);"),e.entityOffsetsEnabled&&s.push(" worldPosition.xyz = worldPosition.xyz + offset;"),s.push(" vec4 viewPosition = shadowViewMatrix * worldPosition; "),t&&(s.push("vWorldPosition = worldPosition;"),s.push("vFlags = flags;")),s.push(" gl_Position = shadowProjMatrix * viewPosition;"),s.push("}"),s.push("gl_PointSize = pointSize;"),s.push("}"),s}_buildFragmentShader(){const e=this._scene,t=e._sectionPlanesState,s=t.getNumAllocatedSectionPlanes()>0,n=[];if(n.push("#version 300 es"),n.push("// Instancing geometry depth drawing fragment shader"),n.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),n.push("precision highp float;"),n.push("precision highp int;"),n.push("#else"),n.push("precision mediump float;"),n.push("precision mediump int;"),n.push("#endif"),e.logarithmicDepthBufferEnabled&&(n.push("uniform float logDepthBufFC;"),n.push("in float vFragDepth;")),s){n.push("in vec4 vWorldPosition;"),n.push("in float vFlags;");for(let e=0,s=t.getNumAllocatedSectionPlanes();e 1.0) {"),n.push(" discard;"),n.push(" }"),s){n.push(" bool clippable = (int(vFlags) >> 16 & 0xF) == 1;"),n.push(" if (clippable) {"),n.push(" float dist = 0.0;");for(let e=0,s=t.getNumAllocatedSectionPlanes();e 0.0) { discard; }"),n.push("}")}return e.logarithmicDepthBufferEnabled&&n.push("gl_FragDepth = log2( vFragDepth ) * logDepthBufFC * 0.5;"),n.push(" outColor = vec4(packNormalToRGB(vViewNormal), 1.0); "),n.push("}"),n}}class tl{constructor(e){this._scene=e}_compile(){this._colorRenderer&&!this._colorRenderer.getValid()&&(this._colorRenderer.destroy(),this._colorRenderer=null),this._depthRenderer&&!this._depthRenderer.getValid()&&(this._depthRenderer.destroy(),this._depthRenderer=null),this._silhouetteRenderer&&!this._silhouetteRenderer.getValid()&&(this._silhouetteRenderer.destroy(),this._silhouetteRenderer=null),this._pickMeshRenderer&&!this._pickMeshRenderer.getValid()&&(this._pickMeshRenderer.destroy(),this._pickMeshRenderer=null),this._pickDepthRenderer&&!this._pickDepthRenderer.getValid()&&(this._pickDepthRenderer.destroy(),this._pickDepthRenderer=null),this._occlusionRenderer&&!1===this._occlusionRenderer.getValid()&&(this._occlusionRenderer.destroy(),this._occlusionRenderer=null),this._shadowRenderer&&!this._shadowRenderer.getValid()&&(this._shadowRenderer.destroy(),this._shadowRenderer=null)}get colorRenderer(){return this._colorRenderer||(this._colorRenderer=new Yr(this._scene,!1)),this._colorRenderer}get silhouetteRenderer(){return this._silhouetteRenderer||(this._silhouetteRenderer=new Xr(this._scene)),this._silhouetteRenderer}get depthRenderer(){return this._depthRenderer||(this._depthRenderer=new $r(this._scene)),this._depthRenderer}get pickMeshRenderer(){return this._pickMeshRenderer||(this._pickMeshRenderer=new qr(this._scene)),this._pickMeshRenderer}get pickDepthRenderer(){return this._pickDepthRenderer||(this._pickDepthRenderer=new Jr(this._scene)),this._pickDepthRenderer}get occlusionRenderer(){return this._occlusionRenderer||(this._occlusionRenderer=new Zr(this._scene)),this._occlusionRenderer}get shadowRenderer(){return this._shadowRenderer||(this._shadowRenderer=new el(this._scene)),this._shadowRenderer}_destroy(){this._colorRenderer&&this._colorRenderer.destroy(),this._depthRenderer&&this._depthRenderer.destroy(),this._silhouetteRenderer&&this._silhouetteRenderer.destroy(),this._pickMeshRenderer&&this._pickMeshRenderer.destroy(),this._pickDepthRenderer&&this._pickDepthRenderer.destroy(),this._occlusionRenderer&&this._occlusionRenderer.destroy(),this._shadowRenderer&&this._shadowRenderer.destroy()}}const sl={};const nl=new Uint8Array(4),il=new Float32Array(1);h.vec4([0,0,0,1]),h.vec4([0,0,0,1]),h.vec4([0,0,0,1]);const al=new Float32Array(3),rl=new Float32Array(4);class ll{constructor(e){this.model=e.model,this.material=e.material,this.sortId="PointsInstancingLayer",this.layerIndex=e.layerIndex,this._pointsInstancingRenderers=function(e){const t=e.id;let s=sl[t];return s||(s=new tl(e),sl[t]=s,s._compile(),e.on("compile",(()=>{s._compile()})),e.on("destroyed",(()=>{delete sl[t],s._destroy()}))),s}(e.model.scene),this._aabb=h.collapseAABB3(),this._state=new Je({obb:h.OBB3(),numInstances:0,origin:e.origin?h.vec3(e.origin):null,geometry:e.geometry,positionsDecodeMatrix:e.geometry.positionsDecodeMatrix,colorsBuf:null,flagsBuf:null,offsetsBuf:null,modelMatrixCol0Buf:null,modelMatrixCol1Buf:null,modelMatrixCol2Buf:null,pickColorsBuf:null}),this._numPortions=0,this._numVisibleLayerPortions=0,this._numTransparentLayerPortions=0,this._numXRayedLayerPortions=0,this._numHighlightedLayerPortions=0,this._numSelectedLayerPortions=0,this._numClippableLayerPortions=0,this._numEdgesLayerPortions=0,this._numPickableLayerPortions=0,this._numCulledLayerPortions=0,this.numIndices=e.geometry.numIndices,this._pickColors=[],this._offsets=[],this._modelMatrixCol0=[],this._modelMatrixCol1=[],this._modelMatrixCol2=[],this._portions=[],this._finalized=!1}createPortion(e){const t=e.meshMatrix,s=e.pickColor;if(this._finalized)throw"Already finalized";this.model.scene.entityOffsetsEnabled&&(this._offsets.push(0),this._offsets.push(0),this._offsets.push(0)),this._modelMatrixCol0.push(t[0]),this._modelMatrixCol0.push(t[4]),this._modelMatrixCol0.push(t[8]),this._modelMatrixCol0.push(t[12]),this._modelMatrixCol1.push(t[1]),this._modelMatrixCol1.push(t[5]),this._modelMatrixCol1.push(t[9]),this._modelMatrixCol1.push(t[13]),this._modelMatrixCol2.push(t[2]),this._modelMatrixCol2.push(t[6]),this._modelMatrixCol2.push(t[10]),this._modelMatrixCol2.push(t[14]),this._pickColors.push(s[0]),this._pickColors.push(s[1]),this._pickColors.push(s[2]),this._pickColors.push(s[3]),this._state.numInstances++;const n=this._portions.length;return this._portions.push({}),this._numPortions++,this.model.numPortions++,n}finalize(){if(this._finalized)throw"Already finalized";const e=this.model.scene.canvas.gl,t=this._pickColors.length/4,s=this._state,n=s.geometry;if(t>0){let n=!1;s.flagsBuf=new Oe(e,e.ARRAY_BUFFER,new Float32Array(t),t,1,e.DYNAMIC_DRAW,n)}if(this.model.scene.entityOffsetsEnabled&&this._offsets.length>0){const t=!1;s.offsetsBuf=new Oe(e,e.ARRAY_BUFFER,new Float32Array(this._offsets),this._offsets.length,3,e.DYNAMIC_DRAW,t),this._offsets=[]}if(n.positionsCompressed&&n.positionsCompressed.length>0){const t=!1;s.positionsBuf=new Oe(e,e.ARRAY_BUFFER,n.positionsCompressed,n.positionsCompressed.length,3,e.STATIC_DRAW,t),s.positionsDecodeMatrix=h.mat4(n.positionsDecodeMatrix)}if(n.colorsCompressed&&n.colorsCompressed.length>0){const t=new Uint8Array(n.colorsCompressed),i=!1;s.colorsBuf=new Oe(e,e.ARRAY_BUFFER,t,t.length,4,e.STATIC_DRAW,i)}if(this._modelMatrixCol0.length>0){const t=!1;s.modelMatrixCol0Buf=new Oe(e,e.ARRAY_BUFFER,new Float32Array(this._modelMatrixCol0),this._modelMatrixCol0.length,4,e.STATIC_DRAW,t),s.modelMatrixCol1Buf=new Oe(e,e.ARRAY_BUFFER,new Float32Array(this._modelMatrixCol1),this._modelMatrixCol1.length,4,e.STATIC_DRAW,t),s.modelMatrixCol2Buf=new Oe(e,e.ARRAY_BUFFER,new Float32Array(this._modelMatrixCol2),this._modelMatrixCol2.length,4,e.STATIC_DRAW,t),this._modelMatrixCol0=[],this._modelMatrixCol1=[],this._modelMatrixCol2=[]}if(this._pickColors.length>0){const t=!1;s.pickColorsBuf=new Oe(e,e.ARRAY_BUFFER,new Uint8Array(this._pickColors),this._pickColors.length,4,e.STATIC_DRAW,t),this._pickColors=[]}s.geometry=null,this._finalized=!0}initFlags(e,t,s){t&Q&&(this._numVisibleLayerPortions++,this.model.numVisibleLayerPortions++),t&q&&(this._numHighlightedLayerPortions++,this.model.numHighlightedLayerPortions++),t&X&&(this._numXRayedLayerPortions++,this.model.numXRayedLayerPortions++),t&J&&(this._numSelectedLayerPortions++,this.model.numSelectedLayerPortions++),t&K&&(this._numClippableLayerPortions++,this.model.numClippableLayerPortions++),t&Z&&(this._numEdgesLayerPortions++,this.model.numEdgesLayerPortions++),t&z&&(this._numPickableLayerPortions++,this.model.numPickableLayerPortions++),t&W&&(this._numCulledLayerPortions++,this.model.numCulledLayerPortions++),s&&(this._numTransparentLayerPortions++,this.model.numTransparentLayerPortions++),this._setFlags(e,t,s)}setVisible(e,t,s){if(!this._finalized)throw"Not finalized";t&Q?(this._numVisibleLayerPortions++,this.model.numVisibleLayerPortions++):(this._numVisibleLayerPortions--,this.model.numVisibleLayerPortions--),this._setFlags(e,t,s)}setHighlighted(e,t,s){if(!this._finalized)throw"Not finalized";t&q?(this._numHighlightedLayerPortions++,this.model.numHighlightedLayerPortions++):(this._numHighlightedLayerPortions--,this.model.numHighlightedLayerPortions--),this._setFlags(e,t,s)}setXRayed(e,t,s){if(!this._finalized)throw"Not finalized";t&X?(this._numXRayedLayerPortions++,this.model.numXRayedLayerPortions++):(this._numXRayedLayerPortions--,this.model.numXRayedLayerPortions--),this._setFlags(e,t,s)}setSelected(e,t,s){if(!this._finalized)throw"Not finalized";t&J?(this._numSelectedLayerPortions++,this.model.numSelectedLayerPortions++):(this._numSelectedLayerPortions--,this.model.numSelectedLayerPortions--),this._setFlags(e,t,s)}setEdges(e,t,s){if(!this._finalized)throw"Not finalized";t&Z?(this._numEdgesLayerPortions++,this.model.numEdgesLayerPortions++):(this._numEdgesLayerPortions--,this.model.numEdgesLayerPortions--),this._setFlags(e,t,s)}setClippable(e,t){if(!this._finalized)throw"Not finalized";t&K?(this._numClippableLayerPortions++,this.model.numClippableLayerPortions++):(this._numClippableLayerPortions--,this.model.numClippableLayerPortions--),this._setFlags(e,t)}setCollidable(e,t){if(!this._finalized)throw"Not finalized"}setPickable(e,t,s){if(!this._finalized)throw"Not finalized";t&z?(this._numPickableLayerPortions++,this.model.numPickableLayerPortions++):(this._numPickableLayerPortions--,this.model.numPickableLayerPortions--),this._setFlags(e,t,s)}setCulled(e,t,s){if(!this._finalized)throw"Not finalized";t&W?(this._numCulledLayerPortions++,this.model.numCulledLayerPortions++):(this._numCulledLayerPortions--,this.model.numCulledLayerPortions--),this._setFlags(e,t,s)}setColor(e,t){if(!this._finalized)throw"Not finalized";nl[0]=t[0],nl[1]=t[1],nl[2]=t[2],this._state.colorsBuf.setData(nl,3*e)}setTransparent(e,t,s){s?(this._numTransparentLayerPortions++,this.model.numTransparentLayerPortions++):(this._numTransparentLayerPortions--,this.model.numTransparentLayerPortions--),this._setFlags(e,t,s)}_setFlags(e,t,s){if(!this._finalized)throw"Not finalized";const n=!!(t&Q),i=!!(t&X),a=!!(t&q),r=!!(t&J),l=!!(t&Z),o=!!(t&z),c=!!(t&W);let u,h;u=!n||c||i||a&&!this.model.scene.highlightMaterial.glowThrough||r&&!this.model.scene.selectedMaterial.glowThrough?Ei.NOT_RENDERED:s?Ei.COLOR_TRANSPARENT:Ei.COLOR_OPAQUE,h=!n||c?Ei.NOT_RENDERED:r?Ei.SILHOUETTE_SELECTED:a?Ei.SILHOUETTE_HIGHLIGHTED:i?Ei.SILHOUETTE_XRAYED:Ei.NOT_RENDERED;let p=0;p=!n||c?Ei.NOT_RENDERED:r?Ei.EDGES_SELECTED:a?Ei.EDGES_HIGHLIGHTED:i?Ei.EDGES_XRAYED:l?s?Ei.EDGES_COLOR_TRANSPARENT:Ei.EDGES_COLOR_OPAQUE:Ei.NOT_RENDERED;let A=0;A|=u,A|=h<<4,A|=p<<8,A|=(n&&!c&&o?Ei.PICK:Ei.NOT_RENDERED)<<12,A|=(t&K?255:0)<<16,il[0]=A,this._state.flagsBuf.setData(il,e)}setOffset(e,t){if(!this._finalized)throw"Not finalized";this.model.scene.entityOffsetsEnabled?(al[0]=t[0],al[1]=t[1],al[2]=t[2],this._state.offsetsBuf.setData(al,3*e)):this.model.error("Entity#offset not enabled for this Viewer")}setMatrix(e,t){if(!this._finalized)throw"Not finalized";const s=4*e;rl[0]=t[0],rl[1]=t[4],rl[2]=t[8],rl[3]=t[12],this._state.modelMatrixCol0Buf.setData(rl,s),rl[0]=t[1],rl[1]=t[5],rl[2]=t[9],rl[3]=t[13],this._state.modelMatrixCol1Buf.setData(rl,s),rl[0]=t[2],rl[1]=t[6],rl[2]=t[10],rl[3]=t[14],this._state.modelMatrixCol2Buf.setData(rl,s)}drawColorOpaque(e,t){this._numCulledLayerPortions!==this._numPortions&&0!==this._numVisibleLayerPortions&&this._numTransparentLayerPortions!==this._numPortions&&this._numXRayedLayerPortions!==this._numPortions&&this._pointsInstancingRenderers.colorRenderer&&this._pointsInstancingRenderers.colorRenderer.drawLayer(t,this,Ei.COLOR_OPAQUE)}drawColorTransparent(e,t){this._numCulledLayerPortions!==this._numPortions&&0!==this._numVisibleLayerPortions&&0!==this._numTransparentLayerPortions&&this._numXRayedLayerPortions!==this._numPortions&&this._pointsInstancingRenderers.colorRenderer&&this._pointsInstancingRenderers.colorRenderer.drawLayer(t,this,Ei.COLOR_TRANSPARENT)}drawDepth(e,t){}drawNormals(e,t){}drawSilhouetteXRayed(e,t){this._numCulledLayerPortions!==this._numPortions&&0!==this._numVisibleLayerPortions&&0!==this._numXRayedLayerPortions&&this._pointsInstancingRenderers.silhouetteRenderer&&this._pointsInstancingRenderers.silhouetteRenderer.drawLayer(t,this,Ei.SILHOUETTE_XRAYED)}drawSilhouetteHighlighted(e,t){this._numCulledLayerPortions!==this._numPortions&&0!==this._numVisibleLayerPortions&&0!==this._numHighlightedLayerPortions&&this._pointsInstancingRenderers.silhouetteRenderer&&this._pointsInstancingRenderers.silhouetteRenderer.drawLayer(t,this,Ei.SILHOUETTE_HIGHLIGHTED)}drawSilhouetteSelected(e,t){this._numCulledLayerPortions!==this._numPortions&&0!==this._numVisibleLayerPortions&&0!==this._numSelectedLayerPortions&&this._pointsInstancingRenderers.silhouetteRenderer&&this._pointsInstancingRenderers.silhouetteRenderer.drawLayer(t,this,Ei.SILHOUETTE_SELECTED)}drawEdgesColorOpaque(e,t){}drawEdgesColorTransparent(e,t){}drawEdgesHighlighted(e,t){}drawEdgesSelected(e,t){}drawEdgesXRayed(e,t){}drawOcclusion(e,t){this._numCulledLayerPortions!==this._numPortions&&0!==this._numVisibleLayerPortions&&this._pointsInstancingRenderers.occlusionRenderer&&this._pointsInstancingRenderers.occlusionRenderer.drawLayer(t,this,Ei.COLOR_OPAQUE)}drawShadow(e,t){}drawPickMesh(e,t){this._numCulledLayerPortions!==this._numPortions&&0!==this._numVisibleLayerPortions&&this._pointsInstancingRenderers.pickMeshRenderer&&this._pointsInstancingRenderers.pickMeshRenderer.drawLayer(t,this,Ei.PICK)}drawPickDepths(e,t){this._numCulledLayerPortions!==this._numPortions&&0!==this._numVisibleLayerPortions&&this._pointsInstancingRenderers.pickDepthRenderer&&this._pointsInstancingRenderers.pickDepthRenderer.drawLayer(t,this,Ei.PICK)}drawPickNormals(e,t){}destroy(){const e=this._state;e.colorsBuf&&(e.colorsBuf.destroy(),e.colorsBuf=null),e.flagsBuf&&(e.flagsBuf.destroy(),e.flagsBuf=null),e.offsetsBuf&&(e.offsetsBuf.destroy(),e.offsetsBuf=null),e.modelMatrixCol0Buf&&(e.modelMatrixCol0Buf.destroy(),e.modelMatrixCol0Buf=null),e.modelMatrixCol1Buf&&(e.modelMatrixCol1Buf.destroy(),e.modelMatrixCol1Buf=null),e.modelMatrixCol2Buf&&(e.modelMatrixCol2Buf.destroy(),e.modelMatrixCol2Buf=null),e.pickColorsBuf&&(e.pickColorsBuf.destroy(),e.pickColorsBuf=null),e.destroy()}}class ol{constructor(e){this.id=e.id,this.colorTexture=e.colorTexture,this.metallicRoughnessTexture=e.metallicRoughnessTexture,this.normalsTexture=e.normalsTexture,this.emissiveTexture=e.emissiveTexture,this.occlusionTexture=e.occlusionTexture}destroy(){}}class cl{constructor(e){this.id=e.id,this.texture=e.texture}destroy(){this.texture&&(this.texture.destroy(),this.texture=null)}}const ul={enabled:!1,files:{},add:function(e,t){!1!==this.enabled&&(this.files[e]=t)},get:function(e){if(!1!==this.enabled)return this.files[e]},remove:function(e){delete this.files[e]},clear:function(){this.files={}}};class hl{constructor(e,t,s){this.isLoading=!1,this.itemsLoaded=0,this.itemsTotal=0,this.urlModifier=void 0,this.handlers=[],this.onStart=void 0,this.onLoad=e,this.onProgress=t,this.onError=s}itemStart(e){this.itemsTotal++,!1===this.isLoading&&void 0!==this.onStart&&this.onStart(e,this.itemsLoaded,this.itemsTotal),this.isLoading=!0}itemEnd(e){this.itemsLoaded++,void 0!==this.onProgress&&this.onProgress(e,this.itemsLoaded,this.itemsTotal),this.itemsLoaded===this.itemsTotal&&(this.isLoading=!1,void 0!==this.onLoad&&this.onLoad())}itemError(e){void 0!==this.onError&&this.onError(e)}resolveURL(e){return this.urlModifier?this.urlModifier(e):e}setURLModifier(e){return this.urlModifier=e,this}addHandler(e,t){return this.handlers.push(e,t),this}removeHandler(e){const t=this.handlers.indexOf(e);return-1!==t&&this.handlers.splice(t,2),this}getHandler(e){for(let t=0,s=this.handlers.length;t{t&&t(i),this.manager.itemEnd(e)}),0),i;if(void 0!==dl[e])return void dl[e].push({onLoad:t,onProgress:s,onError:n});dl[e]=[],dl[e].push({onLoad:t,onProgress:s,onError:n});const a=new Request(e,{headers:new Headers(this.requestHeader),credentials:this.withCredentials?"include":"same-origin"}),r=this.mimeType,l=this.responseType;fetch(a).then((t=>{if(200===t.status||0===t.status){if(0===t.status&&console.warn("FileLoader: HTTP Status 0 received."),"undefined"==typeof ReadableStream||void 0===t.body.getReader)return t;const s=dl[e],n=t.body.getReader(),i=t.headers.get("Content-Length"),a=i?parseInt(i):0,r=0!==a;let l=0;const o=new ReadableStream({start(e){!function t(){n.read().then((({done:n,value:i})=>{if(n)e.close();else{l+=i.byteLength;const n=new ProgressEvent("progress",{lengthComputable:r,loaded:l,total:a});for(let e=0,t=s.length;e{switch(l){case"arraybuffer":return e.arrayBuffer();case"blob":return e.blob();case"document":return e.text().then((e=>(new DOMParser).parseFromString(e,r)));case"json":return e.json();default:if(void 0===r)return e.text();{const t=/charset="?([^;"\s]*)"?/i.exec(r),s=t&&t[1]?t[1].toLowerCase():void 0,n=new TextDecoder(s);return e.arrayBuffer().then((e=>n.decode(e)))}}})).then((t=>{ul.add(e,t);const s=dl[e];delete dl[e];for(let e=0,n=s.length;e{const s=dl[e];if(void 0===s)throw this.manager.itemError(e),t;delete dl[e];for(let e=0,n=s.length;e{this.manager.itemEnd(e)})),this.manager.itemStart(e)}setResponseType(e){return this.responseType=e,this}setMimeType(e){return this.mimeType=e,this}}class Il{constructor(e=4){this.pool=e,this.queue=[],this.workers=[],this.workersResolve=[],this.workerStatus=0}_initWorker(e){if(!this.workers[e]){const t=this.workerCreator();t.addEventListener("message",this._onMessage.bind(this,e)),this.workers[e]=t}}_getIdleWorker(){for(let e=0;e{const n=this._getIdleWorker();-1!==n?(this._initWorker(n),this.workerStatus|=1<e.terminate())),this.workersResolve.length=0,this.workers.length=0,this.queue.length=0,this.workerStatus=0}}let yl=0;class ml{constructor({viewer:e,transcoderPath:t,workerLimit:s}){this._transcoderPath=t||"https://cdn.jsdelivr.net/npm/@xeokit/xeokit-sdk/dist/basis/",this._transcoderBinary=null,this._transcoderPending=null,this._workerPool=new Il,this._workerSourceURL="",s&&this._workerPool.setWorkerLimit(s);const n=e.capabilities;this._workerConfig={astcSupported:n.astcSupported,etc1Supported:n.etc1Supported,etc2Supported:n.etc2Supported,dxtSupported:n.dxtSupported,bptcSupported:n.bptcSupported,pvrtcSupported:n.pvrtcSupported},this._supportedFileTypes=["xkt2"]}_init(){if(!this._transcoderPending){const e=new fl;e.setPath(this._transcoderPath),e.setWithCredentials(this.withCredentials);const t=e.loadAsync("basis_transcoder.js"),s=new fl;s.setPath(this._transcoderPath),s.setResponseType("arraybuffer"),s.setWithCredentials(this.withCredentials);const n=s.loadAsync("basis_transcoder.wasm");this._transcoderPending=Promise.all([t,n]).then((([e,t])=>{const s=ml.BasisWorker.toString(),n=["/* constants */","let _EngineFormat = "+JSON.stringify(ml.EngineFormat),"let _TranscoderFormat = "+JSON.stringify(ml.TranscoderFormat),"let _BasisFormat = "+JSON.stringify(ml.BasisFormat),"/* basis_transcoder.js */",e,"/* worker */",s.substring(s.indexOf("{")+1,s.lastIndexOf("}"))].join("\n");this._workerSourceURL=URL.createObjectURL(new Blob([n])),this._transcoderBinary=t,this._workerPool.setWorkerCreator((()=>{const e=new Worker(this._workerSourceURL),t=this._transcoderBinary.slice(0);return e.postMessage({type:"init",config:this._workerConfig,transcoderBinary:t},[t]),e}))})),yl>0&&console.warn("KTX2TextureTranscoder: Multiple active KTX2TextureTranscoder may cause performance issues. Use a single KTX2TextureTranscoder instance, or call .dispose() on old instances."),yl++}return this._transcoderPending}transcode(e,t,s={}){return new Promise(((n,i)=>{const a=s;this._init().then((()=>this._workerPool.postMessage({type:"transcode",buffers:e,taskConfig:a},e))).then((e=>{const s=e.data,{mipmaps:a,width:r,height:l,format:o,type:c,error:u,dfdTransferFn:h,dfdFlags:p}=s;if("error"===c)return i(u);t.setCompressedData({mipmaps:a,props:{format:o,minFilter:1===a.length?1006:1008,magFilter:1===a.length?1006:1008,encoding:2===h?3001:3e3,premultiplyAlpha:!!(1&p)}}),n()}))}))}destroy(){URL.revokeObjectURL(this._workerSourceURL),this._workerPool.destroy(),yl--}}ml.BasisFormat={ETC1S:0,UASTC_4x4:1},ml.TranscoderFormat={ETC1:0,ETC2:1,BC1:2,BC3:3,BC4:4,BC5:5,BC7_M6_OPAQUE_ONLY:6,BC7_M5:7,PVRTC1_4_RGB:8,PVRTC1_4_RGBA:9,ASTC_4x4:10,ATC_RGB:11,ATC_RGBA_INTERPOLATED_ALPHA:12,RGBA32:13,RGB565:14,BGR565:15,RGBA4444:16},ml.EngineFormat={RGBAFormat:1023,RGBA_ASTC_4x4_Format:37808,RGBA_BPTC_Format:36492,RGBA_ETC2_EAC_Format:37496,RGBA_PVRTC_4BPPV1_Format:35842,RGBA_S3TC_DXT5_Format:33779,RGB_ETC1_Format:36196,RGB_ETC2_Format:37492,RGB_PVRTC_4BPPV1_Format:35840,RGB_S3TC_DXT1_Format:33776},ml.BasisWorker=function(){let e,t,s;const n=_EngineFormat,i=_TranscoderFormat,a=_BasisFormat;self.addEventListener("message",(function(r){const u=r.data;switch(u.type){case"init":e=u.config,h=u.transcoderBinary,t=new Promise((e=>{s={wasmBinary:h,onRuntimeInitialized:e},BASIS(s)})).then((()=>{s.initializeBasis(),void 0===s.KTX2File&&console.warn("KTX2TextureTranscoder: Please update Basis Universal transcoder.")}));break;case"transcode":t.then((()=>{try{const{width:t,height:r,hasAlpha:h,mipmaps:p,format:A,dfdTransferFn:d,dfdFlags:f}=function(t){const r=new s.KTX2File(new Uint8Array(t));function u(){r.close(),r.delete()}if(!r.isValid())throw u(),new Error("KTX2TextureTranscoder: Invalid or unsupported .ktx2 file");const h=r.isUASTC()?a.UASTC_4x4:a.ETC1S,p=r.getWidth(),A=r.getHeight(),d=r.getLevels(),f=r.getHasAlpha(),I=r.getDFDTransferFunc(),y=r.getDFDFlags(),{transcoderFormat:m,engineFormat:v}=function(t,s,r,u){let h,p;const A=t===a.ETC1S?l:o;for(let n=0;n{delete vl[t],s.destroy()}))),s} +"use strict";Object.defineProperty(exports,"__esModule",{value:!0});class e{constructor(e,t){this.items=e||[],this._lastUniqueId=(t||0)+1}addItem(){let e;if(2===arguments.length){const t=arguments[0];if(e=arguments[1],this.items[t])throw"ID clash: '"+t+"'";return this.items[t]=e,t}for(e=arguments[0]||{};;){const t=this._lastUniqueId++;if(!this.items[t])return this.items[t]=e,t}}removeItem(e){const t=this.items[e];return delete this.items[e],t}}const t=new e;class s{constructor(e){this.id=e,this.parentItem=null,this.groups=[],this.menuElement=null,this.shown=!1,this.mouseOver=0}}class n{constructor(){this.items=[]}}class i{constructor(e,t,s,n,i){this.id=e,this.getTitle=t,this.doAction=s,this.getEnabled=n,this.getShown=i,this.itemElement=null,this.subMenu=null,this.enabled=!0}}let a=!0,r=a?Float64Array:Float32Array;const l=new r(3),o=new r(16),c=new r(16),u=new r(4),h={setDoublePrecisionEnabled(e){a=e,r=a?Float64Array:Float32Array},getDoublePrecisionEnabled:()=>a,MIN_DOUBLE:-Number.MAX_SAFE_INTEGER,MAX_DOUBLE:Number.MAX_SAFE_INTEGER,MAX_INT:1e7,DEGTORAD:.0174532925,RADTODEG:57.295779513,unglobalizeObjectId(e,t){const s=t.indexOf("#");return s===e.length&&t.startsWith(e)?t.substring(s+1):t},globalizeObjectId:(e,t)=>e+"#"+t,safeInv(e){const t=1/e;return isNaN(t)||!isFinite(t)?1:t},vec2:e=>new r(e||2),vec3:e=>new r(e||3),vec4:e=>new r(e||4),mat3:e=>new r(e||9),mat3ToMat4:(e,t=new r(16))=>(t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=0,t[4]=e[3],t[5]=e[4],t[6]=e[5],t[7]=0,t[8]=e[6],t[9]=e[7],t[10]=e[8],t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t),mat4:e=>new r(e||16),mat4ToMat3(e,t){},doublesToFloats(e,t,s){const n=new r(2);for(let i=0,a=e.length;i{const e=[];for(let t=0;t<256;t++)e[t]=(t<16?"0":"")+t.toString(16);return()=>{const t=4294967295*Math.random()|0,s=4294967295*Math.random()|0,n=4294967295*Math.random()|0,i=4294967295*Math.random()|0;return`${e[255&t]+e[t>>8&255]+e[t>>16&255]+e[t>>24&255]}-${e[255&s]}${e[s>>8&255]}-${e[s>>16&15|64]}${e[s>>24&255]}-${e[63&n|128]}${e[n>>8&255]}-${e[n>>16&255]}${e[n>>24&255]}${e[255&i]}${e[i>>8&255]}${e[i>>16&255]}${e[i>>24&255]}`}})(),clamp:(e,t,s)=>Math.max(t,Math.min(s,e)),fmod(e,t){if(ee[0]===t[0]&&e[1]===t[1]&&e[2]===t[2],negateVec3:(e,t)=>(t||(t=e),t[0]=-e[0],t[1]=-e[1],t[2]=-e[2],t),negateVec4:(e,t)=>(t||(t=e),t[0]=-e[0],t[1]=-e[1],t[2]=-e[2],t[3]=-e[3],t),addVec4:(e,t,s)=>(s||(s=e),s[0]=e[0]+t[0],s[1]=e[1]+t[1],s[2]=e[2]+t[2],s[3]=e[3]+t[3],s),addVec4Scalar:(e,t,s)=>(s||(s=e),s[0]=e[0]+t,s[1]=e[1]+t,s[2]=e[2]+t,s[3]=e[3]+t,s),addVec3:(e,t,s)=>(s||(s=e),s[0]=e[0]+t[0],s[1]=e[1]+t[1],s[2]=e[2]+t[2],s),addVec3Scalar:(e,t,s)=>(s||(s=e),s[0]=e[0]+t,s[1]=e[1]+t,s[2]=e[2]+t,s),subVec4:(e,t,s)=>(s||(s=e),s[0]=e[0]-t[0],s[1]=e[1]-t[1],s[2]=e[2]-t[2],s[3]=e[3]-t[3],s),subVec3:(e,t,s)=>(s||(s=e),s[0]=e[0]-t[0],s[1]=e[1]-t[1],s[2]=e[2]-t[2],s),subVec2:(e,t,s)=>(s||(s=e),s[0]=e[0]-t[0],s[1]=e[1]-t[1],s),geometricMeanVec2(...e){const t=new r(e[0]);for(let s=1;s(s||(s=e),s[0]=e[0]-t,s[1]=e[1]-t,s[2]=e[2]-t,s[3]=e[3]-t,s),subScalarVec4:(e,t,s)=>(s||(s=e),s[0]=t-e[0],s[1]=t-e[1],s[2]=t-e[2],s[3]=t-e[3],s),mulVec4:(e,t,s)=>(s||(s=e),s[0]=e[0]*t[0],s[1]=e[1]*t[1],s[2]=e[2]*t[2],s[3]=e[3]*t[3],s),mulVec4Scalar:(e,t,s)=>(s||(s=e),s[0]=e[0]*t,s[1]=e[1]*t,s[2]=e[2]*t,s[3]=e[3]*t,s),mulVec3Scalar:(e,t,s)=>(s||(s=e),s[0]=e[0]*t,s[1]=e[1]*t,s[2]=e[2]*t,s),mulVec2Scalar:(e,t,s)=>(s||(s=e),s[0]=e[0]*t,s[1]=e[1]*t,s),divVec3:(e,t,s)=>(s||(s=e),s[0]=e[0]/t[0],s[1]=e[1]/t[1],s[2]=e[2]/t[2],s),divVec4:(e,t,s)=>(s||(s=e),s[0]=e[0]/t[0],s[1]=e[1]/t[1],s[2]=e[2]/t[2],s[3]=e[3]/t[3],s),divScalarVec3:(e,t,s)=>(s||(s=t),s[0]=e/t[0],s[1]=e/t[1],s[2]=e/t[2],s),divVec3Scalar:(e,t,s)=>(s||(s=e),s[0]=e[0]/t,s[1]=e[1]/t,s[2]=e[2]/t,s),divVec4Scalar:(e,t,s)=>(s||(s=e),s[0]=e[0]/t,s[1]=e[1]/t,s[2]=e[2]/t,s[3]=e[3]/t,s),divScalarVec4:(e,t,s)=>(s||(s=t),s[0]=e/t[0],s[1]=e/t[1],s[2]=e/t[2],s[3]=e/t[3],s),dotVec4:(e,t)=>e[0]*t[0]+e[1]*t[1]+e[2]*t[2]+e[3]*t[3],cross3Vec4(e,t){const s=e[0],n=e[1],i=e[2],a=t[0],r=t[1],l=t[2];return[n*l-i*r,i*a-s*l,s*r-n*a,0]},cross3Vec3(e,t,s){s||(s=e);const n=e[0],i=e[1],a=e[2],r=t[0],l=t[1],o=t[2];return s[0]=i*o-a*l,s[1]=a*r-n*o,s[2]=n*l-i*r,s},sqLenVec4:e=>h.dotVec4(e,e),lenVec4:e=>Math.sqrt(h.sqLenVec4(e)),dotVec3:(e,t)=>e[0]*t[0]+e[1]*t[1]+e[2]*t[2],dotVec2:(e,t)=>e[0]*t[0]+e[1]*t[1],sqLenVec3:e=>h.dotVec3(e,e),sqLenVec2:e=>h.dotVec2(e,e),lenVec3:e=>Math.sqrt(h.sqLenVec3(e)),distVec3:(()=>{const e=new r(3);return(t,s)=>h.lenVec3(h.subVec3(t,s,e))})(),lenVec2:e=>Math.sqrt(h.sqLenVec2(e)),distVec2:(()=>{const e=new r(2);return(t,s)=>h.lenVec2(h.subVec2(t,s,e))})(),rcpVec3:(e,t)=>h.divScalarVec3(1,e,t),normalizeVec4(e,t){const s=1/h.lenVec4(e);return h.mulVec4Scalar(e,s,t)},normalizeVec3(e,t){const s=1/h.lenVec3(e);return h.mulVec3Scalar(e,s,t)},normalizeVec2(e,t){const s=1/h.lenVec2(e);return h.mulVec2Scalar(e,s,t)},angleVec3(e,t){let s=h.dotVec3(e,t)/Math.sqrt(h.sqLenVec3(e)*h.sqLenVec3(t));return s=s<-1?-1:s>1?1:s,Math.acos(s)},vec3FromMat4Scale:(()=>{const e=new r(3);return(t,s)=>(e[0]=t[0],e[1]=t[1],e[2]=t[2],s[0]=h.lenVec3(e),e[0]=t[4],e[1]=t[5],e[2]=t[6],s[1]=h.lenVec3(e),e[0]=t[8],e[1]=t[9],e[2]=t[10],s[2]=h.lenVec3(e),s)})(),vecToArray:(()=>{function e(e){return Math.round(1e5*e)/1e5}return t=>{for(let s=0,n=(t=Array.prototype.slice.call(t)).length;s({x:e[0],y:e[1],z:e[2]}),xyzObjectToArray:(e,t)=>((t=t||h.vec3())[0]=e.x,t[1]=e.y,t[2]=e.z,t),dupMat4:e=>e.slice(0,16),mat4To3:e=>[e[0],e[1],e[2],e[4],e[5],e[6],e[8],e[9],e[10]],m4s:e=>[e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e],setMat4ToZeroes:()=>h.m4s(0),setMat4ToOnes:()=>h.m4s(1),diagonalMat4v:e=>new r([e[0],0,0,0,0,e[1],0,0,0,0,e[2],0,0,0,0,e[3]]),diagonalMat4c:(e,t,s,n)=>h.diagonalMat4v([e,t,s,n]),diagonalMat4s:e=>h.diagonalMat4c(e,e,e,e),identityMat4:(e=new r(16))=>(e[0]=1,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=1,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[10]=1,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e),identityMat3:(e=new r(9))=>(e[0]=1,e[1]=0,e[2]=0,e[3]=0,e[4]=1,e[5]=0,e[6]=0,e[7]=0,e[8]=1,e),isIdentityMat4:e=>1===e[0]&&0===e[1]&&0===e[2]&&0===e[3]&&0===e[4]&&1===e[5]&&0===e[6]&&0===e[7]&&0===e[8]&&0===e[9]&&1===e[10]&&0===e[11]&&0===e[12]&&0===e[13]&&0===e[14]&&1===e[15],negateMat4:(e,t)=>(t||(t=e),t[0]=-e[0],t[1]=-e[1],t[2]=-e[2],t[3]=-e[3],t[4]=-e[4],t[5]=-e[5],t[6]=-e[6],t[7]=-e[7],t[8]=-e[8],t[9]=-e[9],t[10]=-e[10],t[11]=-e[11],t[12]=-e[12],t[13]=-e[13],t[14]=-e[14],t[15]=-e[15],t),addMat4:(e,t,s)=>(s||(s=e),s[0]=e[0]+t[0],s[1]=e[1]+t[1],s[2]=e[2]+t[2],s[3]=e[3]+t[3],s[4]=e[4]+t[4],s[5]=e[5]+t[5],s[6]=e[6]+t[6],s[7]=e[7]+t[7],s[8]=e[8]+t[8],s[9]=e[9]+t[9],s[10]=e[10]+t[10],s[11]=e[11]+t[11],s[12]=e[12]+t[12],s[13]=e[13]+t[13],s[14]=e[14]+t[14],s[15]=e[15]+t[15],s),addMat4Scalar:(e,t,s)=>(s||(s=e),s[0]=e[0]+t,s[1]=e[1]+t,s[2]=e[2]+t,s[3]=e[3]+t,s[4]=e[4]+t,s[5]=e[5]+t,s[6]=e[6]+t,s[7]=e[7]+t,s[8]=e[8]+t,s[9]=e[9]+t,s[10]=e[10]+t,s[11]=e[11]+t,s[12]=e[12]+t,s[13]=e[13]+t,s[14]=e[14]+t,s[15]=e[15]+t,s),addScalarMat4:(e,t,s)=>h.addMat4Scalar(t,e,s),subMat4:(e,t,s)=>(s||(s=e),s[0]=e[0]-t[0],s[1]=e[1]-t[1],s[2]=e[2]-t[2],s[3]=e[3]-t[3],s[4]=e[4]-t[4],s[5]=e[5]-t[5],s[6]=e[6]-t[6],s[7]=e[7]-t[7],s[8]=e[8]-t[8],s[9]=e[9]-t[9],s[10]=e[10]-t[10],s[11]=e[11]-t[11],s[12]=e[12]-t[12],s[13]=e[13]-t[13],s[14]=e[14]-t[14],s[15]=e[15]-t[15],s),subMat4Scalar:(e,t,s)=>(s||(s=e),s[0]=e[0]-t,s[1]=e[1]-t,s[2]=e[2]-t,s[3]=e[3]-t,s[4]=e[4]-t,s[5]=e[5]-t,s[6]=e[6]-t,s[7]=e[7]-t,s[8]=e[8]-t,s[9]=e[9]-t,s[10]=e[10]-t,s[11]=e[11]-t,s[12]=e[12]-t,s[13]=e[13]-t,s[14]=e[14]-t,s[15]=e[15]-t,s),subScalarMat4:(e,t,s)=>(s||(s=t),s[0]=e-t[0],s[1]=e-t[1],s[2]=e-t[2],s[3]=e-t[3],s[4]=e-t[4],s[5]=e-t[5],s[6]=e-t[6],s[7]=e-t[7],s[8]=e-t[8],s[9]=e-t[9],s[10]=e-t[10],s[11]=e-t[11],s[12]=e-t[12],s[13]=e-t[13],s[14]=e-t[14],s[15]=e-t[15],s),mulMat4(e,t,s){s||(s=e);const n=e[0],i=e[1],a=e[2],r=e[3],l=e[4],o=e[5],c=e[6],u=e[7],h=e[8],p=e[9],A=e[10],d=e[11],f=e[12],I=e[13],y=e[14],m=e[15],v=t[0],w=t[1],g=t[2],E=t[3],T=t[4],b=t[5],D=t[6],P=t[7],R=t[8],C=t[9],_=t[10],B=t[11],O=t[12],S=t[13],N=t[14],x=t[15];return s[0]=v*n+w*l+g*h+E*f,s[1]=v*i+w*o+g*p+E*I,s[2]=v*a+w*c+g*A+E*y,s[3]=v*r+w*u+g*d+E*m,s[4]=T*n+b*l+D*h+P*f,s[5]=T*i+b*o+D*p+P*I,s[6]=T*a+b*c+D*A+P*y,s[7]=T*r+b*u+D*d+P*m,s[8]=R*n+C*l+_*h+B*f,s[9]=R*i+C*o+_*p+B*I,s[10]=R*a+C*c+_*A+B*y,s[11]=R*r+C*u+_*d+B*m,s[12]=O*n+S*l+N*h+x*f,s[13]=O*i+S*o+N*p+x*I,s[14]=O*a+S*c+N*A+x*y,s[15]=O*r+S*u+N*d+x*m,s},mulMat3(e,t,s){s||(s=new r(9));const n=e[0],i=e[3],a=e[6],l=e[1],o=e[4],c=e[7],u=e[2],h=e[5],p=e[8],A=t[0],d=t[3],f=t[6],I=t[1],y=t[4],m=t[7],v=t[2],w=t[5],g=t[8];return s[0]=n*A+i*I+a*v,s[3]=n*d+i*y+a*w,s[6]=n*f+i*m+a*g,s[1]=l*A+o*I+c*v,s[4]=l*d+o*y+c*w,s[7]=l*f+o*m+c*g,s[2]=u*A+h*I+p*v,s[5]=u*d+h*y+p*w,s[8]=u*f+h*m+p*g,s},mulMat4Scalar:(e,t,s)=>(s||(s=e),s[0]=e[0]*t,s[1]=e[1]*t,s[2]=e[2]*t,s[3]=e[3]*t,s[4]=e[4]*t,s[5]=e[5]*t,s[6]=e[6]*t,s[7]=e[7]*t,s[8]=e[8]*t,s[9]=e[9]*t,s[10]=e[10]*t,s[11]=e[11]*t,s[12]=e[12]*t,s[13]=e[13]*t,s[14]=e[14]*t,s[15]=e[15]*t,s),mulMat4v4(e,t,s=h.vec4()){const n=t[0],i=t[1],a=t[2],r=t[3];return s[0]=e[0]*n+e[4]*i+e[8]*a+e[12]*r,s[1]=e[1]*n+e[5]*i+e[9]*a+e[13]*r,s[2]=e[2]*n+e[6]*i+e[10]*a+e[14]*r,s[3]=e[3]*n+e[7]*i+e[11]*a+e[15]*r,s},transposeMat4(e,t){const s=e[4],n=e[14],i=e[8],a=e[13],r=e[12],l=e[9];if(!t||e===t){const t=e[1],o=e[2],c=e[3],u=e[6],h=e[7],p=e[11];return e[1]=s,e[2]=i,e[3]=r,e[4]=t,e[6]=l,e[7]=a,e[8]=o,e[9]=u,e[11]=n,e[12]=c,e[13]=h,e[14]=p,e}return t[0]=e[0],t[1]=s,t[2]=i,t[3]=r,t[4]=e[1],t[5]=e[5],t[6]=l,t[7]=a,t[8]=e[2],t[9]=e[6],t[10]=e[10],t[11]=n,t[12]=e[3],t[13]=e[7],t[14]=e[11],t[15]=e[15],t},transposeMat3(e,t){if(t===e){const s=e[1],n=e[2],i=e[5];t[1]=e[3],t[2]=e[6],t[3]=s,t[5]=e[7],t[6]=n,t[7]=i}else t[0]=e[0],t[1]=e[3],t[2]=e[6],t[3]=e[1],t[4]=e[4],t[5]=e[7],t[6]=e[2],t[7]=e[5],t[8]=e[8];return t},determinantMat4(e){const t=e[0],s=e[1],n=e[2],i=e[3],a=e[4],r=e[5],l=e[6],o=e[7],c=e[8],u=e[9],h=e[10],p=e[11],A=e[12],d=e[13],f=e[14],I=e[15];return A*u*l*i-c*d*l*i-A*r*h*i+a*d*h*i+c*r*f*i-a*u*f*i-A*u*n*o+c*d*n*o+A*s*h*o-t*d*h*o-c*s*f*o+t*u*f*o+A*r*n*p-a*d*n*p-A*s*l*p+t*d*l*p+a*s*f*p-t*r*f*p-c*r*n*I+a*u*n*I+c*s*l*I-t*u*l*I-a*s*h*I+t*r*h*I},inverseMat4(e,t){t||(t=e);const s=e[0],n=e[1],i=e[2],a=e[3],r=e[4],l=e[5],o=e[6],c=e[7],u=e[8],h=e[9],p=e[10],A=e[11],d=e[12],f=e[13],I=e[14],y=e[15],m=s*l-n*r,v=s*o-i*r,w=s*c-a*r,g=n*o-i*l,E=n*c-a*l,T=i*c-a*o,b=u*f-h*d,D=u*I-p*d,P=u*y-A*d,R=h*I-p*f,C=h*y-A*f,_=p*y-A*I,B=1/(m*_-v*C+w*R+g*P-E*D+T*b);return t[0]=(l*_-o*C+c*R)*B,t[1]=(-n*_+i*C-a*R)*B,t[2]=(f*T-I*E+y*g)*B,t[3]=(-h*T+p*E-A*g)*B,t[4]=(-r*_+o*P-c*D)*B,t[5]=(s*_-i*P+a*D)*B,t[6]=(-d*T+I*w-y*v)*B,t[7]=(u*T-p*w+A*v)*B,t[8]=(r*C-l*P+c*b)*B,t[9]=(-s*C+n*P-a*b)*B,t[10]=(d*E-f*w+y*m)*B,t[11]=(-u*E+h*w-A*m)*B,t[12]=(-r*R+l*D-o*b)*B,t[13]=(s*R-n*D+i*b)*B,t[14]=(-d*g+f*v-I*m)*B,t[15]=(u*g-h*v+p*m)*B,t},traceMat4:e=>e[0]+e[5]+e[10]+e[15],translationMat4v(e,t){const s=t||h.identityMat4();return s[12]=e[0],s[13]=e[1],s[14]=e[2],s},translationMat3v(e,t){const s=t||h.identityMat3();return s[6]=e[0],s[7]=e[1],s},translationMat4c:(()=>{const e=new r(3);return(t,s,n,i)=>(e[0]=t,e[1]=s,e[2]=n,h.translationMat4v(e,i))})(),translationMat4s:(e,t)=>h.translationMat4c(e,e,e,t),translateMat4v:(e,t)=>h.translateMat4c(e[0],e[1],e[2],t),translateMat4c(e,t,s,n){const i=n[3];n[0]+=i*e,n[1]+=i*t,n[2]+=i*s;const a=n[7];n[4]+=a*e,n[5]+=a*t,n[6]+=a*s;const r=n[11];n[8]+=r*e,n[9]+=r*t,n[10]+=r*s;const l=n[15];return n[12]+=l*e,n[13]+=l*t,n[14]+=l*s,n},setMat4Translation:(e,t,s)=>(s[0]=e[0],s[1]=e[1],s[2]=e[2],s[3]=e[3],s[4]=e[4],s[5]=e[5],s[6]=e[6],s[7]=e[7],s[8]=e[8],s[9]=e[9],s[10]=e[10],s[11]=e[11],s[12]=t[0],s[13]=t[1],s[14]=t[2],s[15]=e[15],s),rotationMat4v(e,t,s){const n=h.normalizeVec4([t[0],t[1],t[2],0],[]),i=Math.sin(e),a=Math.cos(e),r=1-a,l=n[0],o=n[1],c=n[2];let u,p,A,d,f,I;return u=l*o,p=o*c,A=c*l,d=l*i,f=o*i,I=c*i,(s=s||h.mat4())[0]=r*l*l+a,s[1]=r*u+I,s[2]=r*A-f,s[3]=0,s[4]=r*u-I,s[5]=r*o*o+a,s[6]=r*p+d,s[7]=0,s[8]=r*A+f,s[9]=r*p-d,s[10]=r*c*c+a,s[11]=0,s[12]=0,s[13]=0,s[14]=0,s[15]=1,s},rotationMat4c:(e,t,s,n,i)=>h.rotationMat4v(e,[t,s,n],i),scalingMat4v:(e,t=h.identityMat4())=>(t[0]=e[0],t[5]=e[1],t[10]=e[2],t),scalingMat3v:(e,t=h.identityMat3())=>(t[0]=e[0],t[4]=e[1],t),scalingMat4c:(()=>{const e=new r(3);return(t,s,n,i)=>(e[0]=t,e[1]=s,e[2]=n,h.scalingMat4v(e,i))})(),scaleMat4c:(e,t,s,n)=>(n[0]*=e,n[4]*=t,n[8]*=s,n[1]*=e,n[5]*=t,n[9]*=s,n[2]*=e,n[6]*=t,n[10]*=s,n[3]*=e,n[7]*=t,n[11]*=s,n),scaleMat4v(e,t){const s=e[0],n=e[1],i=e[2];return t[0]*=s,t[4]*=n,t[8]*=i,t[1]*=s,t[5]*=n,t[9]*=i,t[2]*=s,t[6]*=n,t[10]*=i,t[3]*=s,t[7]*=n,t[11]*=i,t},scalingMat4s:e=>h.scalingMat4c(e,e,e),rotationTranslationMat4(e,t,s=h.mat4()){const n=e[0],i=e[1],a=e[2],r=e[3],l=n+n,o=i+i,c=a+a,u=n*l,p=n*o,A=n*c,d=i*o,f=i*c,I=a*c,y=r*l,m=r*o,v=r*c;return s[0]=1-(d+I),s[1]=p+v,s[2]=A-m,s[3]=0,s[4]=p-v,s[5]=1-(u+I),s[6]=f+y,s[7]=0,s[8]=A+m,s[9]=f-y,s[10]=1-(u+d),s[11]=0,s[12]=t[0],s[13]=t[1],s[14]=t[2],s[15]=1,s},mat4ToEuler(e,t,s=h.vec4()){const n=h.clamp,i=e[0],a=e[4],r=e[8],l=e[1],o=e[5],c=e[9],u=e[2],p=e[6],A=e[10];return"XYZ"===t?(s[1]=Math.asin(n(r,-1,1)),Math.abs(r)<.99999?(s[0]=Math.atan2(-c,A),s[2]=Math.atan2(-a,i)):(s[0]=Math.atan2(p,o),s[2]=0)):"YXZ"===t?(s[0]=Math.asin(-n(c,-1,1)),Math.abs(c)<.99999?(s[1]=Math.atan2(r,A),s[2]=Math.atan2(l,o)):(s[1]=Math.atan2(-u,i),s[2]=0)):"ZXY"===t?(s[0]=Math.asin(n(p,-1,1)),Math.abs(p)<.99999?(s[1]=Math.atan2(-u,A),s[2]=Math.atan2(-a,o)):(s[1]=0,s[2]=Math.atan2(l,i))):"ZYX"===t?(s[1]=Math.asin(-n(u,-1,1)),Math.abs(u)<.99999?(s[0]=Math.atan2(p,A),s[2]=Math.atan2(l,i)):(s[0]=0,s[2]=Math.atan2(-a,o))):"YZX"===t?(s[2]=Math.asin(n(l,-1,1)),Math.abs(l)<.99999?(s[0]=Math.atan2(-c,o),s[1]=Math.atan2(-u,i)):(s[0]=0,s[1]=Math.atan2(r,A))):"XZY"===t&&(s[2]=Math.asin(-n(a,-1,1)),Math.abs(a)<.99999?(s[0]=Math.atan2(p,o),s[1]=Math.atan2(r,i)):(s[0]=Math.atan2(-c,A),s[1]=0)),s},composeMat4:(e,t,s,n=h.mat4())=>(h.quaternionToRotationMat4(t,n),h.scaleMat4v(s,n),h.translateMat4v(e,n),n),decomposeMat4:(()=>{const e=new r(3),t=new r(16);return function(s,n,i,a){e[0]=s[0],e[1]=s[1],e[2]=s[2];let r=h.lenVec3(e);e[0]=s[4],e[1]=s[5],e[2]=s[6];const l=h.lenVec3(e);e[8]=s[8],e[9]=s[9],e[10]=s[10];const o=h.lenVec3(e);h.determinantMat4(s)<0&&(r=-r),n[0]=s[12],n[1]=s[13],n[2]=s[14],t.set(s);const c=1/r,u=1/l,p=1/o;return t[0]*=c,t[1]*=c,t[2]*=c,t[4]*=u,t[5]*=u,t[6]*=u,t[8]*=p,t[9]*=p,t[10]*=p,h.mat4ToQuaternion(t,i),a[0]=r,a[1]=l,a[2]=o,this}})(),getColMat4(e,t){const s=4*t;return[e[s],e[s+1],e[s+2],e[s+3]]},setRowMat4(e,t,s){e[t]=s[0],e[t+4]=s[1],e[t+8]=s[2],e[t+12]=s[3]},lookAtMat4v(e,t,s,n){n||(n=h.mat4());const i=e[0],a=e[1],r=e[2],l=s[0],o=s[1],c=s[2],u=t[0],p=t[1],A=t[2];if(i===u&&a===p&&r===A)return h.identityMat4();let d,f,I,y,m,v,w,g,E,T;return d=i-u,f=a-p,I=r-A,T=1/Math.sqrt(d*d+f*f+I*I),d*=T,f*=T,I*=T,y=o*I-c*f,m=c*d-l*I,v=l*f-o*d,T=Math.sqrt(y*y+m*m+v*v),T?(T=1/T,y*=T,m*=T,v*=T):(y=0,m=0,v=0),w=f*v-I*m,g=I*y-d*v,E=d*m-f*y,T=Math.sqrt(w*w+g*g+E*E),T?(T=1/T,w*=T,g*=T,E*=T):(w=0,g=0,E=0),n[0]=y,n[1]=w,n[2]=d,n[3]=0,n[4]=m,n[5]=g,n[6]=f,n[7]=0,n[8]=v,n[9]=E,n[10]=I,n[11]=0,n[12]=-(y*i+m*a+v*r),n[13]=-(w*i+g*a+E*r),n[14]=-(d*i+f*a+I*r),n[15]=1,n},lookAtMat4c:(e,t,s,n,i,a,r,l,o)=>h.lookAtMat4v([e,t,s],[n,i,a],[r,l,o],[]),orthoMat4c(e,t,s,n,i,a,r){r||(r=h.mat4());const l=t-e,o=n-s,c=a-i;return r[0]=2/l,r[1]=0,r[2]=0,r[3]=0,r[4]=0,r[5]=2/o,r[6]=0,r[7]=0,r[8]=0,r[9]=0,r[10]=-2/c,r[11]=0,r[12]=-(e+t)/l,r[13]=-(n+s)/o,r[14]=-(a+i)/c,r[15]=1,r},frustumMat4v(e,t,s){s||(s=h.mat4());const n=[e[0],e[1],e[2],0],i=[t[0],t[1],t[2],0];h.addVec4(i,n,o),h.subVec4(i,n,c);const a=2*n[2],r=c[0],l=c[1],u=c[2];return s[0]=a/r,s[1]=0,s[2]=0,s[3]=0,s[4]=0,s[5]=a/l,s[6]=0,s[7]=0,s[8]=o[0]/r,s[9]=o[1]/l,s[10]=-o[2]/u,s[11]=-1,s[12]=0,s[13]=0,s[14]=-a*i[2]/u,s[15]=0,s},frustumMat4(e,t,s,n,i,a,r){r||(r=h.mat4());const l=t-e,o=n-s,c=a-i;return r[0]=2*i/l,r[1]=0,r[2]=0,r[3]=0,r[4]=0,r[5]=2*i/o,r[6]=0,r[7]=0,r[8]=(t+e)/l,r[9]=(n+s)/o,r[10]=-(a+i)/c,r[11]=-1,r[12]=0,r[13]=0,r[14]=-a*i*2/c,r[15]=0,r},perspectiveMat4(e,t,s,n,i){const a=[],r=[];return a[2]=s,r[2]=n,r[1]=a[2]*Math.tan(e/2),a[1]=-r[1],r[0]=r[1]*t,a[0]=-r[0],h.frustumMat4v(a,r,i)},compareMat4:(e,t)=>e[0]===t[0]&&e[1]===t[1]&&e[2]===t[2]&&e[3]===t[3]&&e[4]===t[4]&&e[5]===t[5]&&e[6]===t[6]&&e[7]===t[7]&&e[8]===t[8]&&e[9]===t[9]&&e[10]===t[10]&&e[11]===t[11]&&e[12]===t[12]&&e[13]===t[13]&&e[14]===t[14]&&e[15]===t[15],transformPoint3(e,t,s=h.vec3()){const n=t[0],i=t[1],a=t[2];return s[0]=e[0]*n+e[4]*i+e[8]*a+e[12],s[1]=e[1]*n+e[5]*i+e[9]*a+e[13],s[2]=e[2]*n+e[6]*i+e[10]*a+e[14],s},transformPoint4:(e,t,s=h.vec4())=>(s[0]=e[0]*t[0]+e[4]*t[1]+e[8]*t[2]+e[12]*t[3],s[1]=e[1]*t[0]+e[5]*t[1]+e[9]*t[2]+e[13]*t[3],s[2]=e[2]*t[0]+e[6]*t[1]+e[10]*t[2]+e[14]*t[3],s[3]=e[3]*t[0]+e[7]*t[1]+e[11]*t[2]+e[15]*t[3],s),transformPoints3(e,t,s){const n=s||[],i=t.length;let a,r,l,o;const c=e[0],u=e[1],h=e[2],p=e[3],A=e[4],d=e[5],f=e[6],I=e[7],y=e[8],m=e[9],v=e[10],w=e[11],g=e[12],E=e[13],T=e[14],b=e[15];let D;for(let e=0;e{const e=new r(16),t=new r(16),s=new r(16);return function(n,i,a,r){return this.transformVec3(this.mulMat4(this.inverseMat4(i,e),this.inverseMat4(a,t),s),n,r)}})(),lerpVec3(e,t,s,n,i,a){const r=a||h.vec3(),l=(e-t)/(s-t);return r[0]=n[0]+l*(i[0]-n[0]),r[1]=n[1]+l*(i[1]-n[1]),r[2]=n[2]+l*(i[2]-n[2]),r},lerpMat4(e,t,s,n,i,a){const r=a||h.mat4(),l=(e-t)/(s-t);return r[0]=n[0]+l*(i[0]-n[0]),r[1]=n[1]+l*(i[1]-n[1]),r[2]=n[2]+l*(i[2]-n[2]),r[3]=n[3]+l*(i[3]-n[3]),r[4]=n[4]+l*(i[4]-n[4]),r[5]=n[5]+l*(i[5]-n[5]),r[6]=n[6]+l*(i[6]-n[6]),r[7]=n[7]+l*(i[7]-n[7]),r[8]=n[8]+l*(i[8]-n[8]),r[9]=n[9]+l*(i[9]-n[9]),r[10]=n[10]+l*(i[10]-n[10]),r[11]=n[11]+l*(i[11]-n[11]),r[12]=n[12]+l*(i[12]-n[12]),r[13]=n[13]+l*(i[13]-n[13]),r[14]=n[14]+l*(i[14]-n[14]),r[15]=n[15]+l*(i[15]-n[15]),r},flatten(e){const t=[];let s,n,i,a,r;for(s=0,n=e.length;s(e[0]=0,e[1]=0,e[2]=0,e[3]=1,e),eulerToQuaternion(e,t,s=h.vec4()){const n=e[0]*h.DEGTORAD/2,i=e[1]*h.DEGTORAD/2,a=e[2]*h.DEGTORAD/2,r=Math.cos(n),l=Math.cos(i),o=Math.cos(a),c=Math.sin(n),u=Math.sin(i),p=Math.sin(a);return"XYZ"===t?(s[0]=c*l*o+r*u*p,s[1]=r*u*o-c*l*p,s[2]=r*l*p+c*u*o,s[3]=r*l*o-c*u*p):"YXZ"===t?(s[0]=c*l*o+r*u*p,s[1]=r*u*o-c*l*p,s[2]=r*l*p-c*u*o,s[3]=r*l*o+c*u*p):"ZXY"===t?(s[0]=c*l*o-r*u*p,s[1]=r*u*o+c*l*p,s[2]=r*l*p+c*u*o,s[3]=r*l*o-c*u*p):"ZYX"===t?(s[0]=c*l*o-r*u*p,s[1]=r*u*o+c*l*p,s[2]=r*l*p-c*u*o,s[3]=r*l*o+c*u*p):"YZX"===t?(s[0]=c*l*o+r*u*p,s[1]=r*u*o+c*l*p,s[2]=r*l*p-c*u*o,s[3]=r*l*o-c*u*p):"XZY"===t&&(s[0]=c*l*o-r*u*p,s[1]=r*u*o-c*l*p,s[2]=r*l*p+c*u*o,s[3]=r*l*o+c*u*p),s},mat4ToQuaternion(e,t=h.vec4()){const s=e[0],n=e[4],i=e[8],a=e[1],r=e[5],l=e[9],o=e[2],c=e[6],u=e[10];let p;const A=s+r+u;return A>0?(p=.5/Math.sqrt(A+1),t[3]=.25/p,t[0]=(c-l)*p,t[1]=(i-o)*p,t[2]=(a-n)*p):s>r&&s>u?(p=2*Math.sqrt(1+s-r-u),t[3]=(c-l)/p,t[0]=.25*p,t[1]=(n+a)/p,t[2]=(i+o)/p):r>u?(p=2*Math.sqrt(1+r-s-u),t[3]=(i-o)/p,t[0]=(n+a)/p,t[1]=.25*p,t[2]=(l+c)/p):(p=2*Math.sqrt(1+u-s-r),t[3]=(a-n)/p,t[0]=(i+o)/p,t[1]=(l+c)/p,t[2]=.25*p),t},vec3PairToQuaternion(e,t,s=h.vec4()){const n=Math.sqrt(h.dotVec3(e,e)*h.dotVec3(t,t));let i=n+h.dotVec3(e,t);return i<1e-8*n?(i=0,Math.abs(e[0])>Math.abs(e[2])?(s[0]=-e[1],s[1]=e[0],s[2]=0):(s[0]=0,s[1]=-e[2],s[2]=e[1])):h.cross3Vec3(e,t,s),s[3]=i,h.normalizeQuaternion(s)},angleAxisToQuaternion(e,t=h.vec4()){const s=e[3]/2,n=Math.sin(s);return t[0]=n*e[0],t[1]=n*e[1],t[2]=n*e[2],t[3]=Math.cos(s),t},quaternionToEuler:(()=>{const e=new r(16);return(t,s,n)=>(n=n||h.vec3(),h.quaternionToRotationMat4(t,e),h.mat4ToEuler(e,s,n),n)})(),mulQuaternions(e,t,s=h.vec4()){const n=e[0],i=e[1],a=e[2],r=e[3],l=t[0],o=t[1],c=t[2],u=t[3];return s[0]=r*l+n*u+i*c-a*o,s[1]=r*o+i*u+a*l-n*c,s[2]=r*c+a*u+n*o-i*l,s[3]=r*u-n*l-i*o-a*c,s},vec3ApplyQuaternion(e,t,s=h.vec3()){const n=t[0],i=t[1],a=t[2],r=e[0],l=e[1],o=e[2],c=e[3],u=c*n+l*a-o*i,p=c*i+o*n-r*a,A=c*a+r*i-l*n,d=-r*n-l*i-o*a;return s[0]=u*c+d*-r+p*-o-A*-l,s[1]=p*c+d*-l+A*-r-u*-o,s[2]=A*c+d*-o+u*-l-p*-r,s},quaternionToMat4(e,t){t=h.identityMat4(t);const s=e[0],n=e[1],i=e[2],a=e[3],r=2*s,l=2*n,o=2*i,c=r*a,u=l*a,p=o*a,A=r*s,d=l*s,f=o*s,I=l*n,y=o*n,m=o*i;return t[0]=1-(I+m),t[1]=d+p,t[2]=f-u,t[4]=d-p,t[5]=1-(A+m),t[6]=y+c,t[8]=f+u,t[9]=y-c,t[10]=1-(A+I),t},quaternionToRotationMat4(e,t){const s=e[0],n=e[1],i=e[2],a=e[3],r=s+s,l=n+n,o=i+i,c=s*r,u=s*l,h=s*o,p=n*l,A=n*o,d=i*o,f=a*r,I=a*l,y=a*o;return t[0]=1-(p+d),t[4]=u-y,t[8]=h+I,t[1]=u+y,t[5]=1-(c+d),t[9]=A-f,t[2]=h-I,t[6]=A+f,t[10]=1-(c+p),t[3]=0,t[7]=0,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t},normalizeQuaternion(e,t=e){const s=h.lenVec4([e[0],e[1],e[2],e[3]]);return t[0]=e[0]/s,t[1]=e[1]/s,t[2]=e[2]/s,t[3]=e[3]/s,t},conjugateQuaternion:(e,t=e)=>(t[0]=-e[0],t[1]=-e[1],t[2]=-e[2],t[3]=e[3],t),inverseQuaternion:(e,t)=>h.normalizeQuaternion(h.conjugateQuaternion(e,t)),quaternionToAngleAxis(e,t=h.vec4()){const s=(e=h.normalizeQuaternion(e,u))[3],n=2*Math.acos(s),i=Math.sqrt(1-s*s);return i<.001?(t[0]=e[0],t[1]=e[1],t[2]=e[2]):(t[0]=e[0]/i,t[1]=e[1]/i,t[2]=e[2]/i),t[3]=n,t},AABB3:e=>new r(e||6),AABB2:e=>new r(e||4),OBB3:e=>new r(e||32),OBB2:e=>new r(e||16),Sphere3:(e,t,s,n)=>new r([e,t,s,n]),transformOBB3(e,t,s=t){let n;const i=t.length;let a,r,l;const o=e[0],c=e[1],u=e[2],h=e[3],p=e[4],A=e[5],d=e[6],f=e[7],I=e[8],y=e[9],m=e[10],v=e[11],w=e[12],g=e[13],E=e[14],T=e[15];for(n=0;n{const e=new r(3),t=new r(3),s=new r(3);return n=>(e[0]=n[0],e[1]=n[1],e[2]=n[2],t[0]=n[3],t[1]=n[4],t[2]=n[5],h.subVec3(t,e,s),Math.abs(h.lenVec3(s)))})(),getAABB3DiagPoint:(()=>{const e=new r(3),t=new r(3),s=new r(3);return(n,i)=>{e[0]=n[0],e[1]=n[1],e[2]=n[2],t[0]=n[3],t[1]=n[4],t[2]=n[5];const a=h.subVec3(t,e,s),r=i[0]-n[0],l=n[3]-i[0],o=i[1]-n[1],c=n[4]-i[1],u=i[2]-n[2],p=n[5]-i[2];return a[0]+=r>l?r:l,a[1]+=o>c?o:c,a[2]+=u>p?u:p,Math.abs(h.lenVec3(a))}})(),getAABB3Area:e=>(e[3]-e[0])*(e[4]-e[1])*(e[5]-e[2]),getAABB3Center(e,t){const s=t||h.vec3();return s[0]=(e[0]+e[3])/2,s[1]=(e[1]+e[4])/2,s[2]=(e[2]+e[5])/2,s},getAABB2Center(e,t){const s=t||h.vec2();return s[0]=(e[2]+e[0])/2,s[1]=(e[3]+e[1])/2,s},collapseAABB3:(e=h.AABB3())=>(e[0]=h.MAX_DOUBLE,e[1]=h.MAX_DOUBLE,e[2]=h.MAX_DOUBLE,e[3]=h.MIN_DOUBLE,e[4]=h.MIN_DOUBLE,e[5]=h.MIN_DOUBLE,e),AABB3ToOBB3:(e,t=h.OBB3())=>(t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=1,t[4]=e[3],t[5]=e[1],t[6]=e[2],t[7]=1,t[8]=e[3],t[9]=e[4],t[10]=e[2],t[11]=1,t[12]=e[0],t[13]=e[4],t[14]=e[2],t[15]=1,t[16]=e[0],t[17]=e[1],t[18]=e[5],t[19]=1,t[20]=e[3],t[21]=e[1],t[22]=e[5],t[23]=1,t[24]=e[3],t[25]=e[4],t[26]=e[5],t[27]=1,t[28]=e[0],t[29]=e[4],t[30]=e[5],t[31]=1,t),positions3ToAABB3:(()=>{const e=new r(3);return(t,s,n)=>{s=s||h.AABB3();let i,a,r,l=h.MAX_DOUBLE,o=h.MAX_DOUBLE,c=h.MAX_DOUBLE,u=h.MIN_DOUBLE,p=h.MIN_DOUBLE,A=h.MIN_DOUBLE;for(let s=0,d=t.length;su&&(u=i),a>p&&(p=a),r>A&&(A=r);return s[0]=l,s[1]=o,s[2]=c,s[3]=u,s[4]=p,s[5]=A,s}})(),OBB3ToAABB3(e,t=h.AABB3()){let s,n,i,a=h.MAX_DOUBLE,r=h.MAX_DOUBLE,l=h.MAX_DOUBLE,o=h.MIN_DOUBLE,c=h.MIN_DOUBLE,u=h.MIN_DOUBLE;for(let t=0,h=e.length;to&&(o=s),n>c&&(c=n),i>u&&(u=i);return t[0]=a,t[1]=r,t[2]=l,t[3]=o,t[4]=c,t[5]=u,t},points3ToAABB3(e,t=h.AABB3()){let s,n,i,a=h.MAX_DOUBLE,r=h.MAX_DOUBLE,l=h.MAX_DOUBLE,o=h.MIN_DOUBLE,c=h.MIN_DOUBLE,u=h.MIN_DOUBLE;for(let t=0,h=e.length;to&&(o=s),n>c&&(c=n),i>u&&(u=i);return t[0]=a,t[1]=r,t[2]=l,t[3]=o,t[4]=c,t[5]=u,t},points3ToSphere3:(()=>{const e=new r(3);return(t,s)=>{s=s||h.vec4();let n,i=0,a=0,r=0;const l=t.length;for(n=0;nc&&(c=o);return s[3]=c,s}})(),positions3ToSphere3:(()=>{const e=new r(3),t=new r(3);return(s,n)=>{n=n||h.vec4();let i,a=0,r=0,l=0;const o=s.length;let c=0;for(i=0;ic&&(c=p);return n[3]=c,n}})(),OBB3ToSphere3:(()=>{const e=new r(3),t=new r(3);return(s,n)=>{n=n||h.vec4();let i,a=0,r=0,l=0;const o=s.length,c=o/4;for(i=0;ip&&(p=u);return n[3]=p,n}})(),getSphere3Center:(e,t=h.vec3())=>(t[0]=e[0],t[1]=e[1],t[2]=e[2],t),getPositionsCenter(e,t=h.vec3()){let s=0,n=0,i=0;for(var a=0,r=e.length;a(e[0]>t[0]&&(e[0]=t[0]),e[1]>t[1]&&(e[1]=t[1]),e[2]>t[2]&&(e[2]=t[2]),e[3](e[0]>t[0]&&(e[0]=t[0]),e[1]>t[1]&&(e[1]=t[1]),e[2]>t[2]&&(e[2]=t[2]),e[3]s&&(e[0]=s),e[1]>n&&(e[1]=n),e[2]>i&&(e[2]=i),e[3](e[0]=h.MAX_DOUBLE,e[1]=h.MAX_DOUBLE,e[2]=h.MIN_DOUBLE,e[3]=h.MIN_DOUBLE,e),point3AABB3Intersect:(e,t)=>e[0]>t[0]||e[3]t[1]||e[4]t[2]||e[5]0?(n=e[0]*s[0],i=e[0]*s[3]):(n=e[0]*s[3],i=e[0]*s[0]),e[1]>0?(n+=e[1]*s[1],i+=e[1]*s[4]):(n+=e[1]*s[4],i+=e[1]*s[1]),e[2]>0?(n+=e[2]*s[2],i+=e[2]*s[5]):(n+=e[2]*s[5],i+=e[2]*s[2]);if(n<=-t&&i<=-t)return-1;return n>=-t&&i>=-t?1:0},OBB3ToAABB2(e,t=h.AABB2()){let s,n,i,a,r=h.MAX_DOUBLE,l=h.MAX_DOUBLE,o=h.MIN_DOUBLE,c=h.MIN_DOUBLE;for(let t=0,u=e.length;to&&(o=s),n>c&&(c=n);return t[0]=r,t[1]=l,t[2]=o,t[3]=c,t},expandAABB2:(e,t)=>(e[0]>t[0]&&(e[0]=t[0]),e[1]>t[1]&&(e[1]=t[1]),e[2](e[0]>t[0]&&(e[0]=t[0]),e[1]>t[1]&&(e[1]=t[1]),e[2]2*(1-e)*(s-t)+2*e*(n-s),tangentQuadraticBezier3:(e,t,s,n,i)=>-3*t*(1-e)*(1-e)+3*s*(1-e)*(1-e)-6*e*s*(1-e)+6*e*n*(1-e)-3*e*e*n+3*e*e*i,tangentSpline:e=>6*e*e-6*e+(3*e*e-4*e+1)+(-6*e*e+6*e)+(3*e*e-2*e),catmullRomInterpolate(e,t,s,n,i){const a=.5*(s-e),r=.5*(n-t),l=i*i;return(2*t-2*s+a+r)*(i*l)+(-3*t+3*s-2*a-r)*l+a*i+t},b2p0(e,t){const s=1-e;return s*s*t},b2p1:(e,t)=>2*(1-e)*e*t,b2p2:(e,t)=>e*e*t,b2(e,t,s,n){return this.b2p0(e,t)+this.b2p1(e,s)+this.b2p2(e,n)},b3p0(e,t){const s=1-e;return s*s*s*t},b3p1(e,t){const s=1-e;return 3*s*s*e*t},b3p2:(e,t)=>3*(1-e)*e*e*t,b3p3:(e,t)=>e*e*e*t,b3(e,t,s,n,i){return this.b3p0(e,t)+this.b3p1(e,s)+this.b3p2(e,n)+this.b3p3(e,i)},triangleNormal(e,t,s,n=h.vec3()){const i=t[0]-e[0],a=t[1]-e[1],r=t[2]-e[2],l=s[0]-e[0],o=s[1]-e[1],c=s[2]-e[2],u=a*c-r*o,p=r*l-i*c,A=i*o-a*l,d=Math.sqrt(u*u+p*p+A*A);return 0===d?(n[0]=0,n[1]=0,n[2]=0):(n[0]=u/d,n[1]=p/d,n[2]=A/d),n},rayTriangleIntersect:(()=>{const e=new r(3),t=new r(3),s=new r(3),n=new r(3),i=new r(3);return(a,r,l,o,c,u)=>{u=u||h.vec3();const p=h.subVec3(o,l,e),A=h.subVec3(c,l,t),d=h.cross3Vec3(r,A,s),f=h.dotVec3(p,d);if(f<1e-6)return null;const I=h.subVec3(a,l,n),y=h.dotVec3(I,d);if(y<0||y>f)return null;const m=h.cross3Vec3(I,p,i),v=h.dotVec3(r,m);if(v<0||y+v>f)return null;const w=h.dotVec3(A,m)/f;return u[0]=a[0]+w*r[0],u[1]=a[1]+w*r[1],u[2]=a[2]+w*r[2],u}})(),rayPlaneIntersect:(()=>{const e=new r(3),t=new r(3),s=new r(3),n=new r(3);return(i,a,r,l,o,c)=>{c=c||h.vec3(),a=h.normalizeVec3(a,e);const u=h.subVec3(l,r,t),p=h.subVec3(o,r,s),A=h.cross3Vec3(u,p,n);h.normalizeVec3(A,A);const d=-h.dotVec3(r,A),f=-(h.dotVec3(i,A)+d)/h.dotVec3(a,A);return c[0]=i[0]+f*a[0],c[1]=i[1]+f*a[1],c[2]=i[2]+f*a[2],c}})(),cartesianToBarycentric:(()=>{const e=new r(3),t=new r(3),s=new r(3);return(n,i,a,r,l)=>{const o=h.subVec3(r,i,e),c=h.subVec3(a,i,t),u=h.subVec3(n,i,s),p=h.dotVec3(o,o),A=h.dotVec3(o,c),d=h.dotVec3(o,u),f=h.dotVec3(c,c),I=h.dotVec3(c,u),y=p*f-A*A;if(0===y)return null;const m=1/y,v=(f*d-A*I)*m,w=(p*I-A*d)*m;return l[0]=1-v-w,l[1]=w,l[2]=v,l}})(),barycentricInsideTriangle(e){const t=e[1],s=e[2];return s>=0&&t>=0&&s+t<1},barycentricToCartesian(e,t,s,n,i=h.vec3()){const a=e[0],r=e[1],l=e[2];return i[0]=t[0]*a+s[0]*r+n[0]*l,i[1]=t[1]*a+s[1]*r+n[1]*l,i[2]=t[2]*a+s[2]*r+n[2]*l,i},mergeVertices(e,t,s,n){const i={},a=[],r=[],l=t?[]:null,o=s?[]:null,c=[];let u,h,p,A;const d=1e4;let f,I,y=0;for(f=0,I=e.length;f{const e=new r(3),t=new r(3),s=new r(3),n=new r(3),i=new r(3),a=new r(3);return(r,l,o)=>{let c,u;const p=new Array(r.length/3);let A,d,f,I,y,m,v;for(c=0,u=l.length;c{const e=new r(3),t=new r(3),s=new r(3),n=new r(3),i=new r(3),a=new r(3),l=new r(3);return(r,o,c)=>{const u=new Float32Array(r.length);for(let p=0;p>24&255,u=p>>16&255,c=p>>8&255,o=255&p,l=t[s],r=3*l,i[A++]=e[r],i[A++]=e[r+1],i[A++]=e[r+2],a[d++]=o,a[d++]=c,a[d++]=u,a[d++]=h,l=t[s+1],r=3*l,i[A++]=e[r],i[A++]=e[r+1],i[A++]=e[r+2],a[d++]=o,a[d++]=c,a[d++]=u,a[d++]=h,l=t[s+2],r=3*l,i[A++]=e[r],i[A++]=e[r+1],i[A++]=e[r+2],a[d++]=o,a[d++]=c,a[d++]=u,a[d++]=h,p++;return{positions:i,colors:a}},faceToVertexNormals(e,t,s={}){const n=s.smoothNormalsAngleThreshold||20,i={},a=[],r={};let l,o,c,u,p;const A=1e4;let d,f,I,y,m,v;for(f=0,y=e.length;f{const e=new r(4),t=new r(4);return(s,n,i,a,r)=>{e[0]=n[0],e[1]=n[1],e[2]=n[2],e[3]=1,h.transformVec4(s,e,t),a[0]=t[0],a[1]=t[1],a[2]=t[2],e[0]=i[0],e[1]=i[1],e[2]=i[2],h.transformVec3(s,e,t),h.normalizeVec3(t),r[0]=t[0],r[1]=t[1],r[2]=t[2]}})(),canvasPosToWorldRay:(()=>{const e=new r(16),t=new r(16),s=new r(4),n=new r(4),i=new r(4),a=new r(4);return(r,l,o,c,u,p)=>{const A=h.mulMat4(o,l,e),d=h.inverseMat4(A,t),f=r.width,I=r.height,y=(c[0]-f/2)/(f/2),m=-(c[1]-I/2)/(I/2);s[0]=y,s[1]=m,s[2]=-1,s[3]=1,h.transformVec4(d,s,n),h.mulVec4Scalar(n,1/n[3]),i[0]=y,i[1]=m,i[2]=1,i[3]=1,h.transformVec4(d,i,a),h.mulVec4Scalar(a,1/a[3]),u[0]=a[0],u[1]=a[1],u[2]=a[2],h.subVec3(a,n,p),h.normalizeVec3(p)}})(),canvasPosToLocalRay:(()=>{const e=new r(3),t=new r(3);return(s,n,i,a,r,l,o)=>{h.canvasPosToWorldRay(s,n,i,r,e,t),h.worldRayToLocalRay(a,e,t,l,o)}})(),worldRayToLocalRay:(()=>{const e=new r(16),t=new r(4),s=new r(4);return(n,i,a,r,l)=>{const o=h.inverseMat4(n,e);t[0]=i[0],t[1]=i[1],t[2]=i[2],t[3]=1,h.transformVec4(o,t,s),r[0]=s[0],r[1]=s[1],r[2]=s[2],h.transformVec3(o,a,l)}})(),buildKDTree:(()=>{const e=new Float32Array;function t(s,n,i,a){const l=new r(6),o={triangles:null,left:null,right:null,leaf:!1,splitDim:0,aabb:l};let c,u;for(l[0]=l[1]=l[2]=Number.POSITIVE_INFINITY,l[3]=l[4]=l[5]=Number.NEGATIVE_INFINITY,c=0,u=s.length;cl[3]&&(l[3]=i[t]),i[t+1]l[4]&&(l[4]=i[t+1]),i[t+2]l[5]&&(l[5]=i[t+2])}}if(s.length<20||a>10)return o.triangles=s,o.leaf=!0,o;e[0]=l[3]-l[0],e[1]=l[4]-l[1],e[2]=l[5]-l[2];let p=0;e[1]>e[p]&&(p=1),e[2]>e[p]&&(p=2),o.splitDim=p;const A=(l[p]+l[p+3])/2,d=new Array(s.length);let f=0;const I=new Array(s.length);let y=0;for(c=0,u=s.length;c{const n=e.length/3,i=new Array(n);for(let e=0;e=0?1:-1),n=(1-Math.abs(s))*(n>=0?1:-1));const a=Math.sqrt(s*s+n*n+i*i);return t[0]=s/a,t[1]=n/a,t[2]=i/a,t},octDecodeVec2s(e,t){for(let s=0,n=0,i=e.length;s=0?1:-1),a=(1-Math.abs(i))*(a>=0?1:-1));const l=Math.sqrt(i*i+a*a+r*r);t[n+0]=i/l,t[n+1]=a/l,t[n+2]=r/l,n+=3}return t}};h.buildEdgeIndices=function(){const e=[],t=[],s=[],n=[],i=[];let a=0;const r=new Uint16Array(3),l=new Uint16Array(3),o=new Uint16Array(3),c=h.vec3(),u=h.vec3(),p=h.vec3(),A=h.vec3(),d=h.vec3(),f=h.vec3(),I=h.vec3();return function(y,m,v,w){!function(i,a){const r={};let l,o,c,u;const h=Math.pow(10,4);let p,A,d=0;for(p=0,A=i.length;pE)||(N=s[_.index1],x=s[_.index2],(!L&&N>65535||x>65535)&&(L=!0),g.push(N),g.push(x));return L?new Uint32Array(g):new Uint16Array(g)}}(),h.planeClipsPositions3=function(e,t,s,n=3){for(let i=0,a=s.length;i=this._headLength){const e=this._head;if(e.length=0,this._head=this._tail,this._tail=e,this._index=0,this._headLength=this._head.length,!this._headLength)return}const e=this._head[this._index];return this._index<0?delete this._head[this._index++]:this._head[this._index++]=void 0,this._length--,e}push(e){return this._length++,this._tail.push(e),this}unshift(e){return this._head[--this._index]=e,this._length++,this}}const d={build:{version:"0.8"},client:{browser:navigator&&navigator.userAgent?navigator.userAgent:"n/a"},components:{scenes:0,models:0,meshes:0,objects:0},memory:{meshes:0,positions:0,colors:0,normals:0,uvs:0,indices:0,textures:0,transforms:0,materials:0,programs:0},frame:{frameCount:0,fps:0,useProgram:0,bindTexture:0,bindArray:0,drawElements:0,drawArrays:0,tasksRun:0,tasksScheduled:0}};var f=[["0",10],["A",26],["a",26],["_",1],["$",1]].map((function(e){for(var t=[],s=e[0].charCodeAt(0),n=s+e[1],i=s;i{};t=t||n,s=s||n;var i=new XMLHttpRequest;i.overrideMimeType("application/json"),i.open("GET",e,!0),i.addEventListener("load",(function(e){var n=e.target.response;if(200===this.status){var i;try{i=JSON.parse(n)}catch(e){s(`utils.loadJSON(): Failed to parse JSON response - ${e}`)}t(i)}else if(0===this.status){console.warn("loadFile: HTTP Status 0 received.");try{t(JSON.parse(n))}catch(e){s(`utils.loadJSON(): Failed to parse JSON response - ${e}`)}}else s(e)}),!1),i.addEventListener("error",(function(e){s(e)}),!1),i.send(null)},loadArraybuffer:function(e,t,s){var n=e=>{};t=t||n,s=s||n;const i=e.match(/^data:(.*?)(;base64)?,(.*)$/);if(i){const e=!!i[2];var a=i[3];a=window.decodeURIComponent(a),e&&(a=window.atob(a));try{const e=new ArrayBuffer(a.length),s=new Uint8Array(e);for(var r=0;r{w.removeItem(e.id),delete R.scenes[e.id],delete v[e.id],d.components.scenes--}))},this.clear=function(){let e;for(const t in R.scenes)R.scenes.hasOwnProperty(t)&&(e=R.scenes[t],"default.scene"===t?e.clear():(e.destroy(),delete R.scenes[e.id]))},this.scheduleTask=function(e,t){g.push(e),g.push(t)},this.runTasks=function(e=-1){let t,s,n=(new Date).getTime(),i=0;for(;g.length>0&&(e<0||n0&&b>0){var t=1e3/b;P+=t,T.push(t),T.length>=30&&(P-=T.shift()),d.frame.fps=Math.round(P/T.length)}!function(e){const t=R.runTasks(e+10),s=R.getNumTasks();d.frame.tasksRun=t,d.frame.tasksScheduled=s,d.frame.tasksBudget=10}(e),function(e){for(var t in E.time=e,R.scenes)if(R.scenes.hasOwnProperty(t)){var s=R.scenes[t];E.sceneId=t,E.startTime=s.startTime,E.deltaTime=null!=E.prevTime?E.time-E.prevTime:0,s.fire("tick",E,!0)}E.prevTime=e}(e),function(){const e=R.scenes,t=!1;let s,n,i,a,r;for(r in e)e.hasOwnProperty(r)&&(s=e[r],n=v[r],n||(n=v[r]={}),i=s.ticksPerOcclusionTest,n.ticksPerOcclusionTest!==i&&(n.ticksPerOcclusionTest=i,n.renderCountdown=i),--s.occlusionTestCountdown<=0&&(s.doOcclusionTest(),s.occlusionTestCountdown=i),a=s.ticksPerRender,n.ticksPerRender!==a&&(n.ticksPerRender=a,n.renderCountdown=a),0==--n.renderCountdown&&(s.render(t),n.renderCountdown=a))}(),D=e,void 0!==window.requestPostAnimationFrame?window.requestPostAnimationFrame(C):requestAnimationFrame(C)};void 0!==window.requestPostAnimationFrame?window.requestPostAnimationFrame(C):requestAnimationFrame(C);class _{get type(){return"Component"}get isComponent(){return!0}constructor(e=null,t={}){if(this.scene=null,"Scene"===this.type)this.scene=this,this.viewer=t.viewer;else{if("Scene"===e.type)this.scene=e;else{if(!(e instanceof _))throw"Invalid param: owner must be a Component";this.scene=e.scene}this._owner=e}this._dontClear=!!t.dontClear,this._renderer=this.scene._renderer,this.meta=t.meta||{},this.id=t.id,this.destroyed=!1,this._attached={},this._attachments=null,this._subIdMap=null,this._subIdEvents=null,this._eventSubs=null,this._eventSubsNum=null,this._events=null,this._eventCallDepth=0,this._ownedComponents=null,this!==this.scene&&this.scene._addComponent(this),this._updateScheduled=!1,e&&e._own(this)}glRedraw(){this._renderer&&(this._renderer.imageDirty(),this.castsShadow&&this._renderer.shadowsDirty())}glResort(){this._renderer&&this._renderer.needStateSort()}get owner(){return this._owner}isType(e){return this.type===e}fire(e,t,s){this._events||(this._events={}),this._eventSubs||(this._eventSubs={},this._eventSubsNum={}),!0!==s&&(this._events[e]=t||!0);const n=this._eventSubs[e];let i;if(n)for(const s in n)n.hasOwnProperty(s)&&(i=n[s],this._eventCallDepth++,this._eventCallDepth<300?i.callback.call(i.scope,t):this.error("fire: potential stack overflow from recursive event '"+e+"' - dropping this event"),this._eventCallDepth--)}on(t,s,n){this._events||(this._events={}),this._subIdMap||(this._subIdMap=new e),this._subIdEvents||(this._subIdEvents={}),this._eventSubs||(this._eventSubs={}),this._eventSubsNum||(this._eventSubsNum={});let i=this._eventSubs[t];i?this._eventSubsNum[t]++:(i={},this._eventSubs[t]=i,this._eventSubsNum[t]=1);const a=this._subIdMap.addItem();i[a]={callback:s,scope:n||this},this._subIdEvents[a]=t;const r=this._events[t];return void 0!==r&&s.call(n||this,r),a}off(e){if(null==e)return;if(!this._subIdEvents)return;const t=this._subIdEvents[e];if(t){delete this._subIdEvents[e];const s=this._eventSubs[t];s&&(delete s[e],this._eventSubsNum[t]--),this._subIdMap.removeItem(e)}}once(e,t,s){const n=this,i=this.on(e,(function(e){n.off(i),t.call(s||this,e)}),s)}hasSubs(e){return this._eventSubsNum&&this._eventSubsNum[e]>0}log(e){e="[LOG]"+this._message(e),window.console.log(e),this.scene.fire("log",e)}_message(e){return" ["+this.type+" "+m.inQuotes(this.id)+"]: "+e}warn(e){e="[WARN]"+this._message(e),window.console.warn(e),this.scene.fire("warn",e)}error(e){e="[ERROR]"+this._message(e),window.console.error(e),this.scene.fire("error",e)}_attach(e){const t=e.name;if(!t)return void this.error("Component 'name' expected");let s=e.component;const n=e.sceneDefault,i=e.sceneSingleton,a=e.type,r=e.on,l=!1!==e.recompiles;if(s&&(m.isNumeric(s)||m.isString(s))){const e=s;if(s=this.scene.components[e],!s)return void this.error("Component not found: "+m.inQuotes(e))}if(!s)if(!0===i){const e=this.scene.types[a];for(const t in e)if(e.hasOwnProperty){s=e[t];break}if(!s)return this.error("Scene has no default component for '"+t+"'"),null}else if(!0===n&&(s=this.scene[t],!s))return this.error("Scene has no default component for '"+t+"'"),null;if(s){if(s.scene.id!==this.scene.id)return void this.error("Not in same scene: "+s.type+" "+m.inQuotes(s.id));if(a&&!s.isType(a))return void this.error("Expected a "+a+" type or subtype: "+s.type+" "+m.inQuotes(s.id))}this._attachments||(this._attachments={});const o=this._attached[t];let c,u,h;if(o){if(s&&o.id===s.id)return;const e=this._attachments[o.id];for(c=e.subs,u=0,h=c.length;u{delete this._ownedComponents[e.id]}),this)}_needUpdate(e){this._updateScheduled||(this._updateScheduled=!0,0===e?this._doUpdate():R.scheduleTask(this._doUpdate,this))}_doUpdate(){this._updateScheduled&&(this._updateScheduled=!1,this._update&&this._update())}_update(){}clear(){if(this._ownedComponents)for(var e in this._ownedComponents)if(this._ownedComponents.hasOwnProperty(e)){this._ownedComponents[e].destroy(),delete this._ownedComponents[e]}}destroy(){if(this.destroyed)return;let e,t,s,n,i,a;if(this.fire("destroyed",this.destroyed=!0),this._attachments)for(e in this._attachments)if(this._attachments.hasOwnProperty(e)){for(t=this._attachments[e],s=t.component,n=t.subs,i=0,a=n.length;i=0?1:0,this.testVertex[1]=this.normal[1]>=0?1:0,this.testVertex[2]=this.normal[2]>=0?1:0}}class x{constructor(){this.planes=[new N,new N,new N,new N,new N,new N]}}function L(e,t,s){const n=h.mulMat4(s,t,S),i=n[0],a=n[1],r=n[2],l=n[3],o=n[4],c=n[5],u=n[6],p=n[7],A=n[8],d=n[9],f=n[10],I=n[11],y=n[12],m=n[13],v=n[14],w=n[15];e.planes[0].set(l-i,p-o,I-A,w-y),e.planes[1].set(l+i,p+o,I+A,w+y),e.planes[2].set(l-a,p-c,I-d,w-m),e.planes[3].set(l+a,p+c,I+d,w+m),e.planes[4].set(l-r,p-u,I-f,w-v),e.planes[5].set(l+r,p+u,I+f,w+v)}function M(e,t){let s=x.INSIDE;const n=B,i=O;n[0]=t[0],n[1]=t[1],n[2]=t[2],i[0]=t[3],i[1]=t[4],i[2]=t[5];const a=[n,i];for(let t=0;t<6;++t){const n=e.planes[t];if(n.normal[0]*a[n.testVertex[0]][0]+n.normal[1]*a[n.testVertex[1]][1]+n.normal[2]*a[n.testVertex[2]][2]+n.offset<0)return x.OUTSIDE;n.normal[0]*a[1-n.testVertex[0]][0]+n.normal[1]*a[1-n.testVertex[1]][1]+n.normal[2]*a[1-n.testVertex[2]][2]+n.offset<0&&(s=x.INTERSECT)}return s}x.INSIDE=0,x.INTERSECT=1,x.OUTSIDE=2;class F extends _{constructor(e={}){if(!e.viewer)throw"[MarqueePicker] Missing config: viewer";if(!e.objectsKdTree3)throw"[MarqueePicker] Missing config: objectsKdTree3";super(e.viewer.scene,e),this.viewer=e.viewer,this._objectsKdTree3=e.objectsKdTree3,this._canvasMarqueeCorner1=h.vec2(),this._canvasMarqueeCorner2=h.vec2(),this._canvasMarquee=h.AABB2(),this._marqueeFrustum=new x,this._marqueeFrustumProjMat=h.mat4(),this._pickMode=!1,this._marqueeElement=document.createElement("div"),document.body.appendChild(this._marqueeElement),this._marqueeElement.style.position="absolute",this._marqueeElement.style["z-index"]="40000005",this._marqueeElement.style.width="8px",this._marqueeElement.style.height="8px",this._marqueeElement.style.visibility="hidden",this._marqueeElement.style.top="0px",this._marqueeElement.style.left="0px",this._marqueeElement.style["box-shadow"]="0 2px 5px 0 #182A3D;",this._marqueeElement.style.opacity=1,this._marqueeElement.style["pointer-events"]="none"}setMarqueeCorner1(e){this._canvasMarqueeCorner1.set(e),this._canvasMarqueeCorner2.set(e),this._updateMarquee()}setMarqueeCorner2(e){this._canvasMarqueeCorner2.set(e),this._updateMarquee()}setMarquee(e,t){this._canvasMarqueeCorner1.set(e),this._canvasMarqueeCorner2.set(t),this._updateMarquee()}setMarqueeVisible(e){this._marqueVisible=e,this._marqueeElement.style.visibility=e?"visible":"hidden"}getMarqueeVisible(){return this._marqueVisible}setPickMode(e){if(e!==F.PICK_MODE_INSIDE&&e!==F.PICK_MODE_INTERSECTS)throw"Illegal MarqueePicker pickMode: must be MarqueePicker.PICK_MODE_INSIDE or MarqueePicker.PICK_MODE_INTERSECTS";e!==this._pickMode&&(this._marqueeElement.style["background-image"]=e===F.PICK_MODE_INSIDE?"url(\"data:image/svg+xml,%3csvg width='100%25' height='100%25' xmlns='http://www.w3.org/2000/svg'%3e%3crect width='100%25' height='100%25' fill='none' rx='6' ry='6' stroke='%23333' stroke-width='4'/%3e%3c/svg%3e\")":"url(\"data:image/svg+xml,%3csvg width='100%25' height='100%25' xmlns='http://www.w3.org/2000/svg'%3e%3crect width='100%25' height='100%25' fill='none' rx='6' ry='6' stroke='%23333' stroke-width='4' stroke-dasharray='6%2c 14' stroke-dashoffset='0' stroke-linecap='square'/%3e%3c/svg%3e\")",this._pickMode=e)}getPickMode(){return this._pickMode}clear(){this.fire("clear",{})}pick(){this._updateMarquee(),this._buildMarqueeFrustum();const e=[],t=(s,n=x.INTERSECT)=>{if(n===x.INTERSECT&&(n=M(this._marqueeFrustum,s.aabb)),n!==x.OUTSIDE){if(s.entities){const t=s.entities;for(let s=0,n=t.length;s3||this._canvasMarquee[3]-this._canvasMarquee[1]>3)&&t(this._objectsKdTree3.root),this.fire("picked",e),e}_updateMarquee(){this._canvasMarquee[0]=Math.min(this._canvasMarqueeCorner1[0],this._canvasMarqueeCorner2[0]),this._canvasMarquee[1]=Math.min(this._canvasMarqueeCorner1[1],this._canvasMarqueeCorner2[1]),this._canvasMarquee[2]=Math.max(this._canvasMarqueeCorner1[0],this._canvasMarqueeCorner2[0]),this._canvasMarquee[3]=Math.max(this._canvasMarqueeCorner1[1],this._canvasMarqueeCorner2[1]),this._marqueeElement.style.width=this._canvasMarquee[2]-this._canvasMarquee[0]+"px",this._marqueeElement.style.height=this._canvasMarquee[3]-this._canvasMarquee[1]+"px",this._marqueeElement.style.left=`${this._canvasMarquee[0]}px`,this._marqueeElement.style.top=`${this._canvasMarquee[1]}px`}_buildMarqueeFrustum(){const e=this.viewer.scene.canvas.canvas,t=e.clientWidth,s=e.clientHeight,n=e.clientLeft,i=e.clientTop,a=2/t,r=2/s,l=e.clientHeight/e.clientWidth,o=(this._canvasMarquee[0]-n)*a-1,c=(this._canvasMarquee[2]-n)*a-1,u=-(this._canvasMarquee[3]-i)*r+1,p=-(this._canvasMarquee[1]-i)*r+1,A=this.viewer.scene.camera.frustum.near*(17*l);h.frustumMat4(o,c,u*l,p*l,A,1e4,this._marqueeFrustumProjMat),L(this._marqueeFrustum,this.viewer.scene.camera.viewMatrix,this._marqueeFrustumProjMat)}destroy(){super.destroy(),this._marqueeElement.parentElement&&(this._marqueeElement.parentElement.removeChild(this._marqueeElement),this._marqueeElement=null,this._objectsKdTree3=null)}}F.PICK_MODE_INTERSECTS=0,F.PICK_MODE_INSIDE=1;class H{constructor(e,t,s){this.id=s&&s.id?s.id:e,this.viewer=t,this._subIdMap=null,this._subIdEvents=null,this._eventSubs=null,this._eventSubsNum=null,this._events=null,this._eventCallDepth=0,t.addPlugin(this)}fire(e,t,s){this._events||(this._events={}),this._eventSubs||(this._eventSubs={},this._eventSubsNum={}),!0!==s&&(this._events[e]=t||!0);const n=this._eventSubs[e];let i;if(n)for(const s in n)n.hasOwnProperty(s)&&(i=n[s],this._eventCallDepth++,this._eventCallDepth<300?i.callback.call(i.scope,t):this.error("fire: potential stack overflow from recursive event '"+e+"' - dropping this event"),this._eventCallDepth--)}on(t,s,n){this._events||(this._events={}),this._subIdMap||(this._subIdMap=new e),this._subIdEvents||(this._subIdEvents={}),this._eventSubs||(this._eventSubs={}),this._eventSubsNum||(this._eventSubsNum={});let i=this._eventSubs[t];i?this._eventSubsNum[t]++:(i={},this._eventSubs[t]=i,this._eventSubsNum[t]=1);const a=this._subIdMap.addItem();i[a]={callback:s,scope:n||this},this._subIdEvents[a]=t;const r=this._events[t];return void 0!==r&&s.call(n||this,r),a}off(e){if(null==e)return;if(!this._subIdEvents)return;const t=this._subIdEvents[e];if(t){delete this._subIdEvents[e];const s=this._eventSubs[t];s&&(delete s[e],this._eventSubsNum[t]--),this._subIdMap.removeItem(e)}}once(e,t,s){const n=this,i=this.on(e,(function(e){n.off(i),t.call(s||this,e)}),s)}hasSubs(e){return this._eventSubsNum&&this._eventSubsNum[e]>0}log(e){console.log(`[xeokit plugin ${this.id}]: ${e}`)}warn(e){console.warn(`[xeokit plugin ${this.id}]: ${e}`)}error(e){console.error(`[xeokit plugin ${this.id}]: ${e}`)}send(e,t){}destroy(){this.viewer.removePlugin(this)}}const U=h.vec3(),G=function(){const e=new Float64Array(16),t=new Float64Array(4),s=new Float64Array(4);return function(n,i,a){return a=a||e,t[0]=i[0],t[1]=i[1],t[2]=i[2],t[3]=1,h.transformVec4(n,t,s),h.setMat4Translation(n,s,a),a.slice()}}();function j(e,t,s){const n=Float32Array.from([e[0]])[0],i=e[0]-n,a=Float32Array.from([e[1]])[0],r=e[1]-a,l=Float32Array.from([e[2]])[0],o=e[2]-l;t[0]=n,t[1]=a,t[2]=l,s[0]=i,s[1]=r,s[2]=o}function V(e,t,s,n=1e3){const i=h.getPositionsCenter(e,U),a=Math.round(i[0]/n)*n,r=Math.round(i[1]/n)*n,l=Math.round(i[2]/n)*n;s[0]=a,s[1]=r,s[2]=l;const o=0!==s[0]||0!==s[1]||0!==s[2];if(o)for(let s=0,n=e.length;s0?this.meshes[0]._colorize[3]/255:1}set opacity(e){if(0===this.meshes.length)return;const t=null!=e,s=this.meshes[0]._colorize[3];let n=255;if(t){if(e<0?e=0:e>1&&(e=1),n=Math.floor(255*e),s===n)return}else if(n=255,s===n)return;for(let e=0,t=this.meshes.length;e{this._viewPosDirty=!0,this._needUpdate()})),this._onCameraProjMatrix=this.scene.camera.on("projMatrix",(()=>{this._canvasPosDirty=!0,this._needUpdate()})),this._onEntityDestroyed=null,this._onEntityModelDestroyed=null,this._renderer.addMarker(this),this.entity=t.entity,this.worldPos=t.worldPos,this.occludable=t.occludable}_update(){if(this._viewPosDirty&&(h.transformPoint3(this.scene.camera.viewMatrix,this._worldPos,this._viewPos),this._viewPosDirty=!1,this._canvasPosDirty=!0,this.fire("viewPos",this._viewPos)),this._canvasPosDirty){se.set(this._viewPos),se[3]=1,h.transformPoint4(this.scene.camera.projMatrix,se,ne);const e=this.scene.canvas.boundary;this._canvasPos[0]=Math.floor((1+ne[0]/ne[3])*e[2]/2),this._canvasPos[1]=Math.floor((1-ne[1]/ne[3])*e[3]/2),this._canvasPosDirty=!1,this.fire("canvasPos",this._canvasPos)}}_setVisible(e){this._visible,this._visible=e,this.fire("visible",this._visible)}set entity(e){if(this._entity){if(this._entity===e)return;null!==this._onEntityDestroyed&&(this._entity.off(this._onEntityDestroyed),this._onEntityDestroyed=null),null!==this._onEntityModelDestroyed&&(this._entity.model.off(this._onEntityModelDestroyed),this._onEntityModelDestroyed=null)}this._entity=e,this._entity&&(this._entity instanceof te?this._onEntityModelDestroyed=this._entity.model.on("destroyed",(()=>{this._entity=null,this._onEntityModelDestroyed=null})):this._onEntityDestroyed=this._entity.on("destroyed",(()=>{this._entity=null,this._onEntityDestroyed=null}))),this.fire("entity",this._entity,!0)}get entity(){return this._entity}set occludable(e){(e=!!e)!==this._occludable&&(this._occludable=e)}get occludable(){return this._occludable}set worldPos(e){this._worldPos.set(e||[0,0,0]),j(this._worldPos,this._origin,this._rtcPos),this._occludable&&this._renderer.markerWorldPosUpdated(this),this._viewPosDirty=!0,this.fire("worldPos",this._worldPos),this._needUpdate()}get worldPos(){return this._worldPos}get origin(){return this._origin}get rtcPos(){return this._rtcPos}get viewPos(){return this._update(),this._viewPos}get canvasPos(){return this._update(),this._canvasPos}get visible(){return!!this._visible}destroy(){this.fire("destroyed",!0),this.scene.camera.off(this._onCameraViewMatrix),this.scene.camera.off(this._onCameraProjMatrix),this._entity&&(null!==this._onEntityDestroyed&&this._entity.off(this._onEntityDestroyed),null!==this._onEntityModelDestroyed&&this._entity.model.off(this._onEntityModelDestroyed)),this._renderer.removeMarker(this),super.destroy()}}class ae{constructor(e,t={}){this._color=t.color||"black",this._highlightClass="viewer-ruler-wire-highlighted",this._wire=document.createElement("div"),this._wire.className+=this._wire.className?" viewer-ruler-wire":"viewer-ruler-wire",this._wireClickable=document.createElement("div"),this._wireClickable.className+=this._wireClickable.className?" viewer-ruler-wire-clickable":"viewer-ruler-wire-clickable",this._thickness=t.thickness||1,this._thicknessClickable=t.thicknessClickable||6,this._visible=!0,this._culled=!1;var s=this._wire,n=s.style;n.border="solid "+this._thickness+"px "+this._color,n.position="absolute",n["z-index"]=void 0===t.zIndex?"2000001":t.zIndex,n.width="0px",n.height="0px",n.visibility="visible",n.top="0px",n.left="0px",n["-webkit-transform-origin"]="0 0",n["-moz-transform-origin"]="0 0",n["-ms-transform-origin"]="0 0",n["-o-transform-origin"]="0 0",n["transform-origin"]="0 0",n["-webkit-transform"]="rotate(0deg)",n["-moz-transform"]="rotate(0deg)",n["-ms-transform"]="rotate(0deg)",n["-o-transform"]="rotate(0deg)",n.transform="rotate(0deg)",n.opacity=1,n["pointer-events"]="none",t.onContextMenu,e.appendChild(s);var i=this._wireClickable,a=i.style;a.border="solid "+this._thicknessClickable+"px "+this._color,a.position="absolute",a["z-index"]=void 0===t.zIndex?"2000002":t.zIndex+1,a.width="0px",a.height="0px",a.visibility="visible",a.top="0px",a.left="0px",a["-webkit-transform-origin"]="0 0",a["-moz-transform-origin"]="0 0",a["-ms-transform-origin"]="0 0",a["-o-transform-origin"]="0 0",a["transform-origin"]="0 0",a["-webkit-transform"]="rotate(0deg)",a["-moz-transform"]="rotate(0deg)",a["-ms-transform"]="rotate(0deg)",a["-o-transform"]="rotate(0deg)",a.transform="rotate(0deg)",a.opacity=0,a["pointer-events"]="none",t.onContextMenu,e.appendChild(i),t.onMouseOver&&i.addEventListener("mouseover",(e=>{t.onMouseOver(e,this)})),t.onMouseLeave&&i.addEventListener("mouseleave",(e=>{t.onMouseLeave(e,this)})),t.onMouseWheel&&i.addEventListener("wheel",(e=>{t.onMouseWheel(e,this)})),t.onContextMenu&&i.addEventListener("contextmenu",(e=>{t.onContextMenu(e,this),e.preventDefault()})),this._x1=0,this._y1=0,this._x2=0,this._y2=0,this._update()}get visible(){return"visible"===this._wire.style.visibility}_update(){var e=Math.abs(Math.sqrt((this._x1-this._x2)*(this._x1-this._x2)+(this._y1-this._y2)*(this._y1-this._y2))),t=180*Math.atan2(this._y2-this._y1,this._x2-this._x1)/Math.PI,s=this._wire.style;s.width=Math.round(e)+"px",s.left=Math.round(this._x1)+"px",s.top=Math.round(this._y1)+"px",s["-webkit-transform"]="rotate("+t+"deg)",s["-moz-transform"]="rotate("+t+"deg)",s["-ms-transform"]="rotate("+t+"deg)",s["-o-transform"]="rotate("+t+"deg)",s.transform="rotate("+t+"deg)";var n=this._wireClickable.style;n.width=Math.round(e)+"px",n.left=Math.round(this._x1)+"px",n.top=Math.round(this._y1)+"px",n["-webkit-transform"]="rotate("+t+"deg)",n["-moz-transform"]="rotate("+t+"deg)",n["-ms-transform"]="rotate("+t+"deg)",n["-o-transform"]="rotate("+t+"deg)",n.transform="rotate("+t+"deg)"}setStartAndEnd(e,t,s,n){this._x1=e,this._y1=t,this._x2=s,this._y2=n,this._update()}setColor(e){this._color=e||"black",this._wire.style.border="solid "+this._thickness+"px "+this._color}setOpacity(e){this._wire.style.opacity=e}setVisible(e){this._visible!==e&&(this._visible=!!e,this._wire.style.visibility=this._visible&&!this._culled?"visible":"hidden")}setCulled(e){this._culled!==e&&(this._culled=!!e,this._wire.style.visibility=this._visible&&!this._culled?"visible":"hidden")}setClickable(e){this._wireClickable.style["pointer-events"]=e?"all":"none"}setHighlighted(e){this._highlighted!==e&&(this._highlighted=!!e,this._highlighted?this._wire.classList.add(this._highlightClass):this._wire.classList.remove(this._highlightClass))}destroy(e){this._wire.parentElement&&this._wire.parentElement.removeChild(this._wire),this._wireClickable.parentElement&&this._wireClickable.parentElement.removeChild(this._wireClickable)}}class re{constructor(e,t={}){this._highlightClass="viewer-ruler-dot-highlighted",this._x=0,this._y=0,this._visible=!0,this._dot=document.createElement("div"),this._dot.className+=this._dot.className?" viewer-ruler-dot":"viewer-ruler-dot",this._dotClickable=document.createElement("div"),this._dotClickable.className+=this._dotClickable.className?" viewer-ruler-dot-clickable":"viewer-ruler-dot-clickable",this._visible=!0,this._culled=!1;var s=this._dot,n=s.style;n["border-radius"]="25px",n.border="solid 2px white",n.background="lightgreen",n.position="absolute",n["z-index"]=void 0===t.zIndex?"40000005":t.zIndex,n.width="8px",n.height="8px",n.visibility=!1!==t.visible?"visible":"hidden",n.top="0px",n.left="0px",n["box-shadow"]="0 2px 5px 0 #182A3D;",n.opacity=1,n["pointer-events"]="none",t.onContextMenu,e.appendChild(s);var i=this._dotClickable,a=i.style;a["border-radius"]="35px",a.border="solid 10px white",a.position="absolute",a["z-index"]=void 0===t.zIndex?"40000007":t.zIndex+1,a.width="8px",a.height="8px",a.visibility="visible",a.top="0px",a.left="0px",a.opacity=0,a["pointer-events"]="none",t.onContextMenu,e.appendChild(i),t.onMouseOver&&i.addEventListener("mouseover",(e=>{t.onMouseOver(e,this)})),t.onMouseLeave&&i.addEventListener("mouseleave",(e=>{t.onMouseLeave(e,this)})),t.onMouseWheel&&i.addEventListener("wheel",(e=>{t.onMouseWheel(e,this)})),t.onContextMenu&&i.addEventListener("contextmenu",(e=>{t.onContextMenu(e,this),e.preventDefault()})),this.setPos(t.x||0,t.y||0),this.setFillColor(t.fillColor),this.setBorderColor(t.borderColor)}setPos(e,t){this._x=e,this._y=t;var s=this._dot.style;s.left=Math.round(e)-4+"px",s.top=Math.round(t)-4+"px";var n=this._dotClickable.style;n.left=Math.round(e)-9+"px",n.top=Math.round(t)-9+"px"}setFillColor(e){this._dot.style.background=e||"lightgreen"}setBorderColor(e){this._dot.style.border="solid 2px"+(e||"black")}setOpacity(e){this._dot.style.opacity=e}setVisible(e){this._visible!==e&&(this._visible=!!e,this._dot.style.visibility=this._visible&&!this._culled?"visible":"hidden")}setCulled(e){this._culled!==e&&(this._culled=!!e,this._dot.style.visibility=this._visible&&!this._culled?"visible":"hidden")}setClickable(e){this._dotClickable.style["pointer-events"]=e?"all":"none"}setHighlighted(e){this._highlighted!==e&&(this._highlighted=!!e,this._highlighted?this._dot.classList.add(this._highlightClass):this._dot.classList.remove(this._highlightClass))}destroy(){this.setVisible(!1),this._dot.parentElement&&this._dot.parentElement.removeChild(this._dot),this._dotClickable.parentElement&&this._dotClickable.parentElement.removeChild(this._dotClickable)}}class le{constructor(e,t={}){this._highlightClass="viewer-ruler-label-highlighted",this._prefix=t.prefix||"",this._x=0,this._y=0,this._visible=!0,this._culled=!1,this._label=document.createElement("div"),this._label.className+=this._label.className?" viewer-ruler-label":"viewer-ruler-label";var s=this._label,n=s.style;n["border-radius"]="5px",n.color="white",n.padding="4px",n.border="solid 1px",n.background="lightgreen",n.position="absolute",n["z-index"]=void 0===t.zIndex?"5000005":t.zIndex,n.width="auto",n.height="auto",n.visibility="visible",n.top="0px",n.left="0px",n["pointer-events"]="all",n.opacity=1,t.onContextMenu,s.innerText="",e.appendChild(s),this.setPos(t.x||0,t.y||0),this.setFillColor(t.fillColor),this.setBorderColor(t.fillColor),this.setText(t.text),t.onMouseOver&&s.addEventListener("mouseover",(e=>{t.onMouseOver(e,this),e.preventDefault()})),t.onMouseLeave&&s.addEventListener("mouseleave",(e=>{t.onMouseLeave(e,this),e.preventDefault()})),t.onMouseWheel&&s.addEventListener("wheel",(e=>{t.onMouseWheel(e,this)})),t.onContextMenu&&s.addEventListener("contextmenu",(e=>{t.onContextMenu(e,this),e.preventDefault()}))}setPos(e,t){this._x=e,this._y=t;var s=this._label.style;s.left=Math.round(e)-20+"px",s.top=Math.round(t)-12+"px"}setPosOnWire(e,t,s,n){var i=e+.5*(s-e),a=t+.5*(n-t),r=this._label.style;r.left=Math.round(i)-20+"px",r.top=Math.round(a)-12+"px"}setPosBetweenWires(e,t,s,n,i,a){var r=(e+s+i)/3,l=(t+n+a)/3,o=this._label.style;o.left=Math.round(r)-20+"px",o.top=Math.round(l)-12+"px"}setText(e){this._label.innerHTML=this._prefix+(e||"")}setFillColor(e){this._fillColor=e||"lightgreen",this._label.style.background=this._fillColor}setBorderColor(e){this._borderColor=e||"black",this._label.style.border="solid 1px "+this._borderColor}setOpacity(e){this._label.style.opacity=e}setVisible(e){this._visible!==e&&(this._visible=!!e,this._label.style.visibility=this._visible&&!this._culled?"visible":"hidden")}setCulled(e){this._culled!==e&&(this._culled=!!e,this._label.style.visibility=this._visible&&!this._culled?"visible":"hidden")}setHighlighted(e){this._highlighted!==e&&(this._highlighted=!!e,this._highlighted?this._label.classList.add(this._highlightClass):this._label.classList.remove(this._highlightClass))}setClickable(e){this._label.style["pointer-events"]=e?"all":"none"}destroy(){this._label.parentElement&&this._label.parentElement.removeChild(this._label)}}var oe=h.vec3(),ce=h.vec3();class ue extends _{constructor(e,t={}){if(super(e.viewer.scene,t),this.plugin=e,this._container=t.container,!this._container)throw"config missing: container";this._color=t.color||e.defaultColor;var s=this.plugin.viewer.scene;this._originMarker=new ie(s,t.origin),this._cornerMarker=new ie(s,t.corner),this._targetMarker=new ie(s,t.target),this._originWorld=h.vec3(),this._cornerWorld=h.vec3(),this._targetWorld=h.vec3(),this._wp=new Float64Array(12),this._vp=new Float64Array(12),this._pp=new Float64Array(12),this._cp=new Int16Array(6);const n=t.onMouseOver?e=>{t.onMouseOver(e,this)}:null,i=t.onMouseLeave?e=>{t.onMouseLeave(e,this)}:null,a=t.onContextMenu?e=>{t.onContextMenu(e,this)}:null,r=e=>{this.plugin.viewer.scene.canvas.canvas.dispatchEvent(new WheelEvent("wheel",e))};this._originDot=new re(this._container,{fillColor:this._color,zIndex:void 0!==e.zIndex?e.zIndex+2:void 0,onMouseOver:n,onMouseLeave:i,onMouseWheel:r,onContextMenu:a}),this._cornerDot=new re(this._container,{fillColor:this._color,zIndex:void 0!==e.zIndex?e.zIndex+2:void 0,onMouseOver:n,onMouseLeave:i,onMouseWheel:r,onContextMenu:a}),this._targetDot=new re(this._container,{fillColor:this._color,zIndex:void 0!==e.zIndex?e.zIndex+2:void 0,onMouseOver:n,onMouseLeave:i,onMouseWheel:r,onContextMenu:a}),this._originWire=new ae(this._container,{color:this._color||"blue",thickness:1,zIndex:e.zIndex,onMouseOver:n,onMouseLeave:i,onMouseWheel:r,onContextMenu:a}),this._targetWire=new ae(this._container,{color:this._color||"red",thickness:1,zIndex:void 0!==e.zIndex?e.zIndex+1:void 0,onMouseOver:n,onMouseLeave:i,onMouseWheel:r,onContextMenu:a}),this._angleLabel=new le(this._container,{fillColor:this._color||"#00BBFF",prefix:"",text:"",zIndex:e.zIndex+2,onMouseOver:n,onMouseLeave:i,onMouseWheel:r,onContextMenu:a}),this._wpDirty=!1,this._vpDirty=!1,this._cpDirty=!1,this._visible=!1,this._originVisible=!1,this._cornerVisible=!1,this._targetVisible=!1,this._originWireVisible=!1,this._targetWireVisible=!1,this._angleVisible=!1,this._labelsVisible=!1,this._clickable=!1,this._originMarker.on("worldPos",(e=>{this._originWorld.set(e||[0,0,0]),this._wpDirty=!0,this._needUpdate(0)})),this._cornerMarker.on("worldPos",(e=>{this._cornerWorld.set(e||[0,0,0]),this._wpDirty=!0,this._needUpdate(0)})),this._targetMarker.on("worldPos",(e=>{this._targetWorld.set(e||[0,0,0]),this._wpDirty=!0,this._needUpdate(0)})),this._onViewMatrix=s.camera.on("viewMatrix",(()=>{this._vpDirty=!0,this._needUpdate(0)})),this._onProjMatrix=s.camera.on("projMatrix",(()=>{this._cpDirty=!0,this._needUpdate()})),this._onCanvasBoundary=s.canvas.on("boundary",(()=>{this._cpDirty=!0,this._needUpdate(0)})),this._onSectionPlaneUpdated=s.on("sectionPlaneUpdated",(()=>{this._sectionPlanesDirty=!0,this._needUpdate()})),this.approximate=t.approximate,this.visible=t.visible,this.originVisible=t.originVisible,this.cornerVisible=t.cornerVisible,this.targetVisible=t.targetVisible,this.originWireVisible=t.originWireVisible,this.targetWireVisible=t.targetWireVisible,this.angleVisible=t.angleVisible,this.labelsVisible=t.labelsVisible}_update(){if(!this._visible)return;const e=this.plugin.viewer.scene;if(this._wpDirty&&(this._wp[0]=this._originWorld[0],this._wp[1]=this._originWorld[1],this._wp[2]=this._originWorld[2],this._wp[3]=1,this._wp[4]=this._cornerWorld[0],this._wp[5]=this._cornerWorld[1],this._wp[6]=this._cornerWorld[2],this._wp[7]=1,this._wp[8]=this._targetWorld[0],this._wp[9]=this._targetWorld[1],this._wp[10]=this._targetWorld[2],this._wp[11]=1,this._wpDirty=!1,this._vpDirty=!0),this._vpDirty&&(h.transformPositions4(e.camera.viewMatrix,this._wp,this._vp),this._vp[3]=1,this._vp[7]=1,this._vp[11]=1,this._vpDirty=!1,this._cpDirty=!0),this._sectionPlanesDirty){if(this._isSliced(this._wp))return this._angleLabel.setCulled(!0),this._originWire.setCulled(!0),this._targetWire.setCulled(!0),this._originDot.setCulled(!0),this._cornerDot.setCulled(!0),void this._targetDot.setCulled(!0);this._angleLabel.setCulled(!1),this._originWire.setCulled(!1),this._targetWire.setCulled(!1),this._originDot.setCulled(!1),this._cornerDot.setCulled(!1),this._targetDot.setCulled(!1),this._sectionPlanesDirty=!0}if(this._cpDirty){const A=-.3,d=this._originMarker.viewPos[2],f=this._cornerMarker.viewPos[2],I=this._targetMarker.viewPos[2];if(d>A||f>A||I>A)return this._originDot.setVisible(!1),this._cornerDot.setVisible(!1),this._targetDot.setVisible(!1),this._originWire.setVisible(!1),this._targetWire.setVisible(!1),void this._angleLabel.setCulled(!0);h.transformPositions4(e.camera.project.matrix,this._vp,this._pp);var t=this._pp,s=this._cp,n=e.canvas.canvas.getBoundingClientRect();const y=this._container.getBoundingClientRect();for(var i=n.top-y.top,a=n.left-y.left,r=e.canvas.boundary,l=r[2],o=r[3],c=0,u=0,p=t.length;u{e.snappedToVertex||e.snappedToEdge?(n&&(n.visible=!0,n.canvasPos=e.canvasPos,n.snappedCanvasPos=e.snappedCanvasPos||e.canvasPos,n.snapped=!0),this.markerDiv.style.background="greenyellow",this.markerDiv.style.border="2px solid green"):(n&&(n.visible=!0,n.canvasPos=e.canvasPos,n.snappedCanvasPos=e.canvasPos,n.snapped=!1),this.markerDiv.style.background="pink",this.markerDiv.style.border="2px solid red");const s=e.snappedCanvasPos||e.canvasPos;switch(i=!0,a=e.entity,o.set(e.worldPos),c.set(s),this._mouseState){case 0:this.markerDiv.style.marginLeft=s[0]-5+"px",this.markerDiv.style.marginTop=s[1]-5+"px";break;case 1:this._currentAngleMeasurement&&(this._currentAngleMeasurement.originWireVisible=!0,this._currentAngleMeasurement.targetWireVisible=!1,this._currentAngleMeasurement.cornerVisible=!0,this._currentAngleMeasurement.angleVisible=!1,this._currentAngleMeasurement.corner.worldPos=e.worldPos),this.markerDiv.style.marginLeft="-10000px",this.markerDiv.style.marginTop="-10000px",t.style.cursor="pointer";break;case 2:this._currentAngleMeasurement&&(this._currentAngleMeasurement.targetWireVisible=!0,this._currentAngleMeasurement.targetVisible=!0,this._currentAngleMeasurement.angleVisible=!0,this._currentAngleMeasurement.target.worldPos=e.worldPos),this.markerDiv.style.marginLeft="-10000px",this.markerDiv.style.marginTop="-10000px",t.style.cursor="pointer"}})),t.addEventListener("mousedown",this._onMouseDown=e=>{1===e.which&&(r=e.clientX,l=e.clientY)}),t.addEventListener("mouseup",this._onMouseUp=e=>{if(1===e.which&&!(e.clientX>r+20||e.clientXl+20||e.clientY{if(i=!1,n&&(n.visible=!0,n.pointerPos=e.canvasPos,n.snappedCanvasPos=e.snappedCanvasPos||e.canvasPos,n.snapped=!1),this.markerDiv.style.marginLeft="-100px",this.markerDiv.style.marginTop="-100px",this._currentAngleMeasurement){switch(this._mouseState){case 0:this._currentAngleMeasurement.originVisible=!1;break;case 1:this._currentAngleMeasurement.cornerVisible=!1,this._currentAngleMeasurement.originWireVisible=!1,this._currentAngleMeasurement.targetVisible=!1,this._currentAngleMeasurement.targetWireVisible=!1,this._currentAngleMeasurement.angleVisible=!1;break;case 2:this._currentAngleMeasurement.targetVisible=!1,this._currentAngleMeasurement.targetWireVisible=!1,this._currentAngleMeasurement.angleVisible=!1}t.style.cursor="default"}})),this._active=!0}deactivate(){if(!this._active)return;this.pointerLens&&(this.pointerLens.visible=!1),this._markerDiv&&this._destroyMarkerDiv(),this.reset();const e=this.scene.canvas.canvas;e.removeEventListener("mousedown",this._onMouseDown),e.removeEventListener("mouseup",this._onMouseUp);const t=this.angleMeasurementsPlugin.viewer.cameraControl;t.off(this._onMouseHoverSurface),t.off(this._onPickedSurface),t.off(this._onHoverNothing),t.off(this._onPickedNothing),this._currentAngleMeasurement=null,this._active=!1}reset(){this._active&&(this._destroyMarkerDiv(),this._initMarkerDiv(),this._currentAngleMeasurement&&(this._currentAngleMeasurement.destroy(),this._currentAngleMeasurement=null),this._mouseState=0)}destroy(){this.deactivate(),super.destroy()}}class Ae extends ie{constructor(e,t){if(super(e,t),this.plugin=t.plugin,this._container=t.container,!this._container)throw"config missing: container";if(!t.markerElement&&!t.markerHTML)throw"config missing: need either markerElement or markerHTML";if(!t.labelElement&&!t.labelHTML)throw"config missing: need either labelElement or labelHTML";this._htmlDirty=!1,t.markerElement?(this._marker=t.markerElement,this._marker.addEventListener("click",this._onMouseClickedExternalMarker=()=>{this.plugin.fire("markerClicked",this)}),this._marker.addEventListener("mouseenter",this._onMouseEnterExternalMarker=()=>{this.plugin.fire("markerMouseEnter",this)}),this._marker.addEventListener("mouseleave",this._onMouseLeaveExternalMarker=()=>{this.plugin.fire("markerMouseLeave",this)}),this._markerExternal=!0):(this._markerHTML=t.markerHTML,this._htmlDirty=!0,this._markerExternal=!1),t.labelElement?(this._label=t.labelElement,this._labelExternal=!0):(this._labelHTML=t.labelHTML,this._htmlDirty=!0,this._labelExternal=!1),this._markerShown=!!t.markerShown,this._labelShown=!!t.labelShown,this._values=t.values||{},this._layoutDirty=!0,this._visibilityDirty=!0,this._buildHTML(),this._onTick=this.scene.on("tick",(()=>{this._htmlDirty&&(this._buildHTML(),this._htmlDirty=!1,this._layoutDirty=!0,this._visibilityDirty=!0),(this._layoutDirty||this._visibilityDirty)&&(this._markerShown||this._labelShown)&&(this._updatePosition(),this._layoutDirty=!1),this._visibilityDirty&&(this._marker.style.visibility=this.visible&&this._markerShown?"visible":"hidden",this._label.style.visibility=this.visible&&this._markerShown&&this._labelShown?"visible":"hidden",this._visibilityDirty=!1)})),this.on("canvasPos",(()=>{this._layoutDirty=!0})),this.on("visible",(()=>{this._visibilityDirty=!0})),this.setMarkerShown(!1!==t.markerShown),this.setLabelShown(t.labelShown),this.eye=t.eye?t.eye.slice():null,this.look=t.look?t.look.slice():null,this.up=t.up?t.up.slice():null,this.projection=t.projection}_buildHTML(){if(!this._markerExternal){this._marker&&(this._container.removeChild(this._marker),this._marker=null);let e=this._markerHTML||"

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

";m.isArray(e)&&(e=e.join("")),e=this._renderTemplate(e);const t=document.createRange().createContextualFragment(e);this._label=t.firstChild,this._container.appendChild(this._label),this._label.style.visibility=this._markerShown&&this._labelShown?"visible":"hidden",this._label.addEventListener("wheel",(e=>{this.plugin.viewer.scene.canvas.canvas.dispatchEvent(new WheelEvent("wheel",e))}))}}_updatePosition(){const e=this.scene.canvas.boundary,t=e[0],s=e[1],n=this.canvasPos;this._marker.style.left=Math.floor(t+n[0])-12+"px",this._marker.style.top=Math.floor(s+n[1])-12+"px",this._marker.style["z-index"]=90005+Math.floor(this._viewPos[2])+1;this._label.style.left=20+Math.floor(t+n[0]+20)+"px",this._label.style.top=Math.floor(s+n[1]+-17)+"px",this._label.style["z-index"]=90005+Math.floor(this._viewPos[2])+1}_renderTemplate(e){for(var t in this._values)if(this._values.hasOwnProperty(t)){const s=this._values[t];e=e.replace(new RegExp("{{"+t+"}}","g"),s)}return e}setMarkerShown(e){e=!!e,this._markerShown!==e&&(this._markerShown=e,this._visibilityDirty=!0)}getMarkerShown(){return this._markerShown}setLabelShown(e){e=!!e,this._labelShown!==e&&(this._labelShown=e,this._visibilityDirty=!0)}getLabelShown(){return this._labelShown}setField(e,t){this._values[e]=t||"",this._htmlDirty=!0}getField(e){return this._values[e]}setValues(e){for(var t in e)if(e.hasOwnProperty(t)){const s=e[t];this.setField(t,s)}}getValues(){return this._values}destroy(){this._marker&&(this._markerExternal?(this._marker.removeEventListener("click",this._onMouseClickedExternalMarker),this._marker.removeEventListener("mouseenter",this._onMouseEnterExternalMarker),this._marker.removeEventListener("mouseleave",this._onMouseLeaveExternalMarker),this._marker=null):this._marker.parentNode.removeChild(this._marker)),this._label&&(this._labelExternal||this._label.parentNode.removeChild(this._label),this._label=null),this.scene.off(this._onTick),super.destroy()}}const de=h.vec3(),fe=h.vec3(),Ie=h.vec3();class ye extends _{get type(){return"Spinner"}constructor(e,t={}){super(e,t),this._canvas=t.canvas,this._element=null,this._isCustom=!1,t.elementId&&(this._element=document.getElementById(t.elementId),this._element?this._adjustPosition():this.error("Can't find given Spinner HTML element: '"+t.elementId+"' - will automatically create default element")),this._element||this._createDefaultSpinner(),this.processes=0}_createDefaultSpinner(){this._injectDefaultCSS();const e=document.createElement("div"),t=e.style;t["z-index"]="9000",t.position="absolute",e.innerHTML='
',this._canvas.parentElement.appendChild(e),this._element=e,this._isCustom=!1,this._adjustPosition()}_injectDefaultCSS(){const e="xeokit-spinner-css";if(document.getElementById(e))return;const t=document.createElement("style");t.innerHTML=".sk-fading-circle { background: transparent; margin: 20px auto; width: 50px; height:50px; position: relative; } .sk-fading-circle .sk-circle { width: 120%; height: 120%; position: absolute; left: 0; top: 0; } .sk-fading-circle .sk-circle:before { content: ''; display: block; margin: 0 auto; width: 15%; height: 15%; background-color: #ff8800; border-radius: 100%; -webkit-animation: sk-circleFadeDelay 1.2s infinite ease-in-out both; animation: sk-circleFadeDelay 1.2s infinite ease-in-out both; } .sk-fading-circle .sk-circle2 { -webkit-transform: rotate(30deg); -ms-transform: rotate(30deg); transform: rotate(30deg); } .sk-fading-circle .sk-circle3 { -webkit-transform: rotate(60deg); -ms-transform: rotate(60deg); transform: rotate(60deg); } .sk-fading-circle .sk-circle4 { -webkit-transform: rotate(90deg); -ms-transform: rotate(90deg); transform: rotate(90deg); } .sk-fading-circle .sk-circle5 { -webkit-transform: rotate(120deg); -ms-transform: rotate(120deg); transform: rotate(120deg); } .sk-fading-circle .sk-circle6 { -webkit-transform: rotate(150deg); -ms-transform: rotate(150deg); transform: rotate(150deg); } .sk-fading-circle .sk-circle7 { -webkit-transform: rotate(180deg); -ms-transform: rotate(180deg); transform: rotate(180deg); } .sk-fading-circle .sk-circle8 { -webkit-transform: rotate(210deg); -ms-transform: rotate(210deg); transform: rotate(210deg); } .sk-fading-circle .sk-circle9 { -webkit-transform: rotate(240deg); -ms-transform: rotate(240deg); transform: rotate(240deg); } .sk-fading-circle .sk-circle10 { -webkit-transform: rotate(270deg); -ms-transform: rotate(270deg); transform: rotate(270deg); } .sk-fading-circle .sk-circle11 { -webkit-transform: rotate(300deg); -ms-transform: rotate(300deg); transform: rotate(300deg); } .sk-fading-circle .sk-circle12 { -webkit-transform: rotate(330deg); -ms-transform: rotate(330deg); transform: rotate(330deg); } .sk-fading-circle .sk-circle2:before { -webkit-animation-delay: -1.1s; animation-delay: -1.1s; } .sk-fading-circle .sk-circle3:before { -webkit-animation-delay: -1s; animation-delay: -1s; } .sk-fading-circle .sk-circle4:before { -webkit-animation-delay: -0.9s; animation-delay: -0.9s; } .sk-fading-circle .sk-circle5:before { -webkit-animation-delay: -0.8s; animation-delay: -0.8s; } .sk-fading-circle .sk-circle6:before { -webkit-animation-delay: -0.7s; animation-delay: -0.7s; } .sk-fading-circle .sk-circle7:before { -webkit-animation-delay: -0.6s; animation-delay: -0.6s; } .sk-fading-circle .sk-circle8:before { -webkit-animation-delay: -0.5s; animation-delay: -0.5s; } .sk-fading-circle .sk-circle9:before { -webkit-animation-delay: -0.4s; animation-delay: -0.4s; } .sk-fading-circle .sk-circle10:before { -webkit-animation-delay: -0.3s; animation-delay: -0.3s; } .sk-fading-circle .sk-circle11:before { -webkit-animation-delay: -0.2s; animation-delay: -0.2s; } .sk-fading-circle .sk-circle12:before { -webkit-animation-delay: -0.1s; animation-delay: -0.1s; } @-webkit-keyframes sk-circleFadeDelay { 0%, 39%, 100% { opacity: 0; } 40% { opacity: 1; } } @keyframes sk-circleFadeDelay { 0%, 39%, 100% { opacity: 0; } 40% { opacity: 1; } }",t.id=e,document.body.appendChild(t)}_adjustPosition(){if(this._isCustom)return;const e=this._canvas,t=this._element,s=t.style;s.left=e.offsetLeft+.5*e.clientWidth-.5*t.clientWidth+"px",s.top=e.offsetTop+.5*e.clientHeight-.5*t.clientHeight+"px"}set processes(e){if(e=e||0,this._processes===e)return;if(e<0)return;const t=this._processes;this._processes=e;const s=this._element;s&&(s.style.visibility=this._processes>0?"visible":"hidden"),this.fire("processes",this._processes),0===this._processes&&this._processes!==t&&this.fire("zeroProcesses",this._processes)}get processes(){return this._processes}_destroy(){this._element&&!this._isCustom&&(this._element.parentNode.removeChild(this._element),this._element=null);const e=document.getElementById("xeokit-spinner-css");e&&e.parentNode.removeChild(e)}}const me=["webgl2","experimental-webgl","webkit-3d","moz-webgl","moz-glweb20"];class ve extends _{constructor(e,t={}){super(e,t),this._backgroundColor=h.vec3([t.backgroundColor?t.backgroundColor[0]:1,t.backgroundColor?t.backgroundColor[1]:1,t.backgroundColor?t.backgroundColor[2]:1]),this._backgroundColorFromAmbientLight=!!t.backgroundColorFromAmbientLight,this.canvas=t.canvas,this.gl=null,this.webgl2=!1,this.transparent=!!t.transparent,this.contextAttr=t.contextAttr||{},this.contextAttr.alpha=this.transparent,this.contextAttr.preserveDrawingBuffer=!!this.contextAttr.preserveDrawingBuffer,this.contextAttr.stencil=!1,this.contextAttr.premultipliedAlpha=!!this.contextAttr.premultipliedAlpha,this.contextAttr.antialias=!1!==this.contextAttr.antialias,this.resolutionScale=t.resolutionScale,this.canvas.width=Math.round(this.canvas.clientWidth*this._resolutionScale),this.canvas.height=Math.round(this.canvas.clientHeight*this._resolutionScale),this.boundary=[this.canvas.offsetLeft,this.canvas.offsetTop,this.canvas.clientWidth,this.canvas.clientHeight],this._initWebGL(t);const s=this;this.canvas.addEventListener("webglcontextlost",this._webglcontextlostListener=function(e){console.time("webglcontextrestored"),s.scene._webglContextLost(),s.fire("webglcontextlost"),e.preventDefault()},!1),this.canvas.addEventListener("webglcontextrestored",this._webglcontextrestoredListener=function(e){s._initWebGL(),s.gl&&(s.scene._webglContextRestored(s.gl),s.fire("webglcontextrestored",s.gl),e.preventDefault()),console.timeEnd("webglcontextrestored")},!1);let n=!0;new ResizeObserver((e=>{for(const t of e)t.contentBoxSize&&(n=!0)})).observe(this.canvas),this._tick=this.scene.on("tick",(()=>{n&&(n=!1,s.canvas.width=Math.round(s.canvas.clientWidth*s._resolutionScale),s.canvas.height=Math.round(s.canvas.clientHeight*s._resolutionScale),s.boundary[0]=s.canvas.offsetLeft,s.boundary[1]=s.canvas.offsetTop,s.boundary[2]=s.canvas.clientWidth,s.boundary[3]=s.canvas.clientHeight,s.fire("boundary",s.boundary))})),this._spinner=new ye(this.scene,{canvas:this.canvas,elementId:t.spinnerElementId})}get type(){return"Canvas"}get backgroundColorFromAmbientLight(){return this._backgroundColorFromAmbientLight}set backgroundColorFromAmbientLight(e){this._backgroundColorFromAmbientLight=!1!==e,this.glRedraw()}get backgroundColor(){return this._backgroundColor}set backgroundColor(e){e?(this._backgroundColor[0]=e[0],this._backgroundColor[1]=e[1],this._backgroundColor[2]=e[2]):(this._backgroundColor[0]=1,this._backgroundColor[1]=1,this._backgroundColor[2]=1),this.glRedraw()}get resolutionScale(){return this._resolutionScale}set resolutionScale(e){if((e=e||1)===this._resolutionScale)return;this._resolutionScale=e;const t=this.canvas;t.width=Math.round(t.clientWidth*this._resolutionScale),t.height=Math.round(t.clientHeight*this._resolutionScale),this.glRedraw()}get spinner(){return this._spinner}_createCanvas(){const e="xeokit-canvas-"+h.createUUID(),t=document.getElementsByTagName("body")[0],s=document.createElement("div"),n=s.style;n.height="100%",n.width="100%",n.padding="0",n.margin="0",n.background="rgba(0,0,0,0);",n.float="left",n.left="0",n.top="0",n.position="absolute",n.opacity="1.0",n["z-index"]="-10000",s.innerHTML+='',t.appendChild(s),this.canvas=document.getElementById(e)}_getElementXY(e){let t=0,s=0;for(;e;)t+=e.offsetLeft-e.scrollLeft,s+=e.offsetTop-e.scrollTop,e=e.offsetParent;return{x:t,y:s}}_initWebGL(){if(!this.gl)for(let e=0;!this.gl&&e0?ge.FS_MAX_FLOAT_PRECISION="highp":e.getShaderPrecisionFormat(e.FRAGMENT_SHADER,e.MEDIUM_FLOAT).precision>0?ge.FS_MAX_FLOAT_PRECISION="mediump":ge.FS_MAX_FLOAT_PRECISION="lowp":ge.FS_MAX_FLOAT_PRECISION="mediump",ge.DEPTH_BUFFER_BITS=e.getParameter(e.DEPTH_BITS),ge.MAX_TEXTURE_SIZE=e.getParameter(e.MAX_TEXTURE_SIZE),ge.MAX_CUBE_MAP_SIZE=e.getParameter(e.MAX_CUBE_MAP_TEXTURE_SIZE),ge.MAX_RENDERBUFFER_SIZE=e.getParameter(e.MAX_RENDERBUFFER_SIZE),ge.MAX_TEXTURE_UNITS=e.getParameter(e.MAX_COMBINED_TEXTURE_IMAGE_UNITS),ge.MAX_TEXTURE_IMAGE_UNITS=e.getParameter(e.MAX_TEXTURE_IMAGE_UNITS),ge.MAX_VERTEX_ATTRIBS=e.getParameter(e.MAX_VERTEX_ATTRIBS),ge.MAX_VERTEX_UNIFORM_VECTORS=e.getParameter(e.MAX_VERTEX_UNIFORM_VECTORS),ge.MAX_FRAGMENT_UNIFORM_VECTORS=e.getParameter(e.MAX_FRAGMENT_UNIFORM_VECTORS),ge.MAX_VARYING_VECTORS=e.getParameter(e.MAX_VARYING_VECTORS),e.getSupportedExtensions().forEach((function(e){ge.SUPPORTED_EXTENSIONS[e]=!0})))}class Te{constructor(){this.entity=null,this.primitive=null,this.primIndex=-1,this.pickSurfacePrecision=!1,this.touchInput=!1,this.snappedToEdge=!1,this.snappedToVertex=!1,this._origin=new Float64Array([0,0,0]),this._direction=new Float64Array([0,0,0]),this._indices=new Int32Array(3),this._localPos=new Float64Array([0,0,0]),this._worldPos=new Float64Array([0,0,0]),this._viewPos=new Float64Array([0,0,0]),this._canvasPos=new Int16Array([0,0]),this._snappedCanvasPos=new Int16Array([0,0]),this._bary=new Float64Array([0,0,0]),this._worldNormal=new Float64Array([0,0,0]),this._uv=new Float64Array([0,0]),this.reset()}get canvasPos(){return this._gotCanvasPos?this._canvasPos:null}set canvasPos(e){e?(this._canvasPos[0]=e[0],this._canvasPos[1]=e[1],this._gotCanvasPos=!0):this._gotCanvasPos=!1}get origin(){return this._gotOrigin?this._origin:null}set origin(e){e?(this._origin[0]=e[0],this._origin[1]=e[1],this._origin[2]=e[2],this._gotOrigin=!0):this._gotOrigin=!1}get direction(){return this._gotDirection?this._direction:null}set direction(e){e?(this._direction[0]=e[0],this._direction[1]=e[1],this._direction[2]=e[2],this._gotDirection=!0):this._gotDirection=!1}get indices(){return this.entity&&this._gotIndices?this._indices:null}set indices(e){e?(this._indices[0]=e[0],this._indices[1]=e[1],this._indices[2]=e[2],this._gotIndices=!0):this._gotIndices=!1}get localPos(){return this.entity&&this._gotLocalPos?this._localPos:null}set localPos(e){e?(this._localPos[0]=e[0],this._localPos[1]=e[1],this._localPos[2]=e[2],this._gotLocalPos=!0):this._gotLocalPos=!1}get snappedCanvasPos(){return this._gotSnappedCanvasPos?this._snappedCanvasPos:null}set snappedCanvasPos(e){e?(this._snappedCanvasPos[0]=e[0],this._snappedCanvasPos[1]=e[1],this._gotSnappedCanvasPos=!0):this._gotSnappedCanvasPos=!1}get worldPos(){return this._gotWorldPos?this._worldPos:null}set worldPos(e){e?(this._worldPos[0]=e[0],this._worldPos[1]=e[1],this._worldPos[2]=e[2],this._gotWorldPos=!0):this._gotWorldPos=!1}get viewPos(){return this.entity&&this._gotViewPos?this._viewPos:null}set viewPos(e){e?(this._viewPos[0]=e[0],this._viewPos[1]=e[1],this._viewPos[2]=e[2],this._gotViewPos=!0):this._gotViewPos=!1}get bary(){return this.entity&&this._gotBary?this._bary:null}set bary(e){e?(this._bary[0]=e[0],this._bary[1]=e[1],this._bary[2]=e[2],this._gotBary=!0):this._gotBary=!1}get worldNormal(){return this.entity&&this._gotWorldNormal?this._worldNormal:null}set worldNormal(e){e?(this._worldNormal[0]=e[0],this._worldNormal[1]=e[1],this._worldNormal[2]=e[2],this._gotWorldNormal=!0):this._gotWorldNormal=!1}get uv(){return this.entity&&this._gotUV?this._uv:null}set uv(e){e?(this._uv[0]=e[0],this._uv[1]=e[1],this._gotUV=!0):this._gotUV=!1}reset(){this.entity=null,this.primIndex=-1,this.primitive=null,this.pickSurfacePrecision=!1,this._gotCanvasPos=!1,this._gotSnappedCanvasPos=!1,this._gotOrigin=!1,this._gotDirection=!1,this._gotIndices=!1,this._gotLocalPos=!1,this._gotWorldPos=!1,this._gotViewPos=!1,this._gotBary=!1,this._gotWorldNormal=!1,this._gotUV=!1,this.touchInput=!1,this.snappedToEdge=!1,this.snappedToVertex=!1}}class be{constructor(e,t,s){if(this.allocated=!1,this.compiled=!1,this.handle=e.createShader(t),this.handle){if(this.allocated=!0,e.shaderSource(this.handle,s),e.compileShader(this.handle),this.compiled=e.getShaderParameter(this.handle,e.COMPILE_STATUS),!this.compiled&&!e.isContextLost()){const t=s.split("\n"),n=[];for(let e=0;e0&&"/"===s.charAt(n+1)&&(s=s.substring(0,n)),t.push(s);return t.join("\n")}function _e(e){console.error(e.join("\n"))}class Be{constructor(e,t){this.id=Re.addItem({}),this.source=t,this.init(e)}init(e){if(this.gl=e,this.allocated=!1,this.compiled=!1,this.linked=!1,this.validated=!1,this.errors=null,this.uniforms={},this.samplers={},this.attributes={},this._vertexShader=new be(e,e.VERTEX_SHADER,Ce(this.source.vertex)),this._fragmentShader=new be(e,e.FRAGMENT_SHADER,Ce(this.source.fragment)),!this._vertexShader.allocated)return this.errors=["Vertex shader failed to allocate"].concat(this._vertexShader.errors),void _e(this.errors);if(!this._fragmentShader.allocated)return this.errors=["Fragment shader failed to allocate"].concat(this._fragmentShader.errors),void _e(this.errors);if(this.allocated=!0,!this._vertexShader.compiled)return this.errors=["Vertex shader failed to compile"].concat(this._vertexShader.errors),void _e(this.errors);if(!this._fragmentShader.compiled)return this.errors=["Fragment shader failed to compile"].concat(this._fragmentShader.errors),void _e(this.errors);let t,s,n,i,a;if(this.compiled=!0,this.handle=e.createProgram(),!this.handle)return void(this.errors=["Failed to allocate program"]);if(e.attachShader(this.handle,this._vertexShader.handle),e.attachShader(this.handle,this._fragmentShader.handle),e.linkProgram(this.handle),this.linked=e.getProgramParameter(this.handle,e.LINK_STATUS),this.validated=!0,!this.linked||!this.validated)return this.errors=[],this.errors.push(""),this.errors.push(e.getProgramInfoLog(this.handle)),this.errors.push("\nVertex shader:\n"),this.errors=this.errors.concat(this.source.vertex),this.errors.push("\nFragment shader:\n"),this.errors=this.errors.concat(this.source.fragment),void _e(this.errors);const r=e.getProgramParameter(this.handle,e.ACTIVE_UNIFORMS);for(s=0;sthis.dataLength?e.slice(0,this.dataLength):e,this.usage),this._gl.bindBuffer(this.type,null),this.length=e.length,this.numItems=this.length/this.itemSize,this.allocated=!0)}setData(e,t){this.allocated&&(e.length+(t||0)>this.length?(this.destroy(),this._allocate(e)):(this._gl.bindBuffer(this.type,this._handle),t||0===t?this._gl.bufferSubData(this.type,t*this.itemByteSize,e):this._gl.bufferData(this.type,e,this.usage),this._gl.bindBuffer(this.type,null)))}bind(){this.allocated&&this._gl.bindBuffer(this.type,this._handle)}unbind(){this.allocated&&this._gl.bindBuffer(this.type,null)}destroy(){this.allocated&&(this._gl.deleteBuffer(this._handle),this._handle=null,this.allocated=!1)}}class Se{constructor(e,t){this.scene=e,this.aabb=h.AABB3(),this.origin=h.vec3(t),this.originHash=this.origin.join(),this.numMarkers=0,this.markers={},this.markerList=[],this.markerIndices={},this.positions=[],this.indices=[],this.positionsBuf=null,this.lenPositionsBuf=0,this.indicesBuf=null,this.sectionPlanesActive=[],this.culledBySectionPlanes=!1,this.occlusionTestList=[],this.lenOcclusionTestList=0,this.pixels=[],this.aabbDirty=!1,this.markerListDirty=!1,this.positionsDirty=!0,this.occlusionTestListDirty=!1}addMarker(e){this.markers[e.id]=e,this.markerListDirty=!0,this.numMarkers++}markerWorldPosUpdated(e){if(!this.markers[e.id])return;const t=this.markerIndices[e.id];this.positions[3*t+0]=e.worldPos[0],this.positions[3*t+1]=e.worldPos[1],this.positions[3*t+2]=e.worldPos[2],this.positionsDirty=!0}removeMarker(e){delete this.markers[e.id],this.markerListDirty=!0,this.numMarkers--}update(){this.markerListDirty&&(this._buildMarkerList(),this.markerListDirty=!1,this.positionsDirty=!0,this.occlusionTestListDirty=!0),this.positionsDirty&&(this._buildPositions(),this.positionsDirty=!1,this.aabbDirty=!0,this.vbosDirty=!0),this.aabbDirty&&(this._buildAABB(),this.aabbDirty=!1),this.vbosDirty&&(this._buildVBOs(),this.vbosDirty=!1),this.occlusionTestListDirty&&this._buildOcclusionTestList(),this._updateActiveSectionPlanes()}_buildMarkerList(){for(var e in this.numMarkers=0,this.markers)this.markers.hasOwnProperty(e)&&(this.markerList[this.numMarkers]=this.markers[e],this.markerIndices[e]=this.numMarkers,this.numMarkers++);this.markerList.length=this.numMarkers}_buildPositions(){let e=0;for(let t=0;t-t){s._setVisible(!1);continue}const r=s.canvasPos,l=r[0],o=r[1];l+10<0||o+10<0||l-10>n||o-10>i?s._setVisible(!1):!s.entity||s.entity.visible?s.occludable?(this.occlusionTestList[this.lenOcclusionTestList++]=s,this.pixels[a++]=l,this.pixels[a++]=o):s._setVisible(!0):s._setVisible(!1)}}_updateActiveSectionPlanes(){const e=this.scene._sectionPlanesState.sectionPlanes,t=e.length;if(t>0)for(let s=0;s{this._occlusionTestListDirty=!0})),this._onCameraProjMatrix=e.camera.on("projMatrix",(()=>{this._occlusionTestListDirty=!0})),this._onCanvasBoundary=e.canvas.on("boundary",(()=>{this._occlusionTestListDirty=!0}))}addMarker(e){const t=e.origin.join();let s=this._occlusionLayers[t];s||(s=new Se(this._scene,e.origin),this._occlusionLayers[s.originHash]=s,this._occlusionLayersListDirty=!0),s.addMarker(e),this._markersToOcclusionLayersMap[e.id]=s,this._occlusionTestListDirty=!0}markerWorldPosUpdated(e){const t=this._markersToOcclusionLayersMap[e.id];if(!t)return void e.error("Marker has not been added to OcclusionTester");const s=e.origin.join();if(s!==t.originHash){1===t.numMarkers?(t.destroy(),delete this._occlusionLayers[t.originHash],this._occlusionLayersListDirty=!0):t.removeMarker(e);let n=this._occlusionLayers[s];n||(n=new Se(this._scene,e.origin),this._occlusionLayers[s]=t,this._occlusionLayersListDirty=!0),n.addMarker(e),this._markersToOcclusionLayersMap[e.id]=n}else t.markerWorldPosUpdated(e)}removeMarker(e){const t=e.origin.join();let s=this._occlusionLayers[t];s&&(1===s.numMarkers?(s.destroy(),delete this._occlusionLayers[s.originHash],this._occlusionLayersListDirty=!0):s.removeMarker(e),delete this._markersToOcclusionLayersMap[e.id])}get needOcclusionTest(){return this._occlusionTestListDirty}bindRenderBuf(){const e=[this._scene.canvas.canvas.id,this._scene._sectionPlanesState.getHash()].join(";");if(e!==this._shaderSourceHash&&(this._shaderSourceHash=e,this._shaderSourceDirty=!0),this._shaderSourceDirty&&(this._buildShaderSource(),this._shaderSourceDirty=!1,this._programDirty=!0),this._programDirty&&(this._buildProgram(),this._programDirty=!1,this._occlusionTestListDirty=!0),this._occlusionLayersListDirty&&(this._buildOcclusionLayersList(),this._occlusionLayersListDirty=!1),this._occlusionTestListDirty){for(let e=0,t=this._occlusionLayersList.length;e0,s=[];return s.push("#version 300 es"),s.push("// OcclusionTester vertex shader"),s.push("in vec3 position;"),s.push("uniform mat4 modelMatrix;"),s.push("uniform mat4 viewMatrix;"),s.push("uniform mat4 projMatrix;"),e.logarithmicDepthBufferEnabled&&(s.push("uniform float logDepthBufFC;"),s.push("out float vFragDepth;")),t&&s.push("out vec4 vWorldPosition;"),s.push("void main(void) {"),s.push("vec4 worldPosition = vec4(position, 1.0); "),s.push(" vec4 viewPosition = viewMatrix * worldPosition;"),t&&s.push(" vWorldPosition = worldPosition;"),s.push(" vec4 clipPos = projMatrix * viewPosition;"),s.push(" gl_PointSize = 20.0;"),e.logarithmicDepthBufferEnabled?s.push("vFragDepth = 1.0 + clipPos.w;"):s.push("clipPos.z += -0.001;"),s.push(" gl_Position = clipPos;"),s.push("}"),s}_buildFragmentShaderSource(){const e=this._scene,t=e._sectionPlanesState,s=t.sectionPlanes.length>0,n=[];if(n.push("#version 300 es"),n.push("// OcclusionTester fragment shader"),n.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),n.push("precision highp float;"),n.push("precision highp int;"),n.push("#else"),n.push("precision mediump float;"),n.push("precision mediump int;"),n.push("#endif"),e.logarithmicDepthBufferEnabled&&(n.push("uniform float logDepthBufFC;"),n.push("in float vFragDepth;")),s){n.push("in vec4 vWorldPosition;");for(let e=0;e 0.0) { discard; }")}return e.logarithmicDepthBufferEnabled&&n.push("gl_FragDepth = log2( vFragDepth ) * logDepthBufFC * 0.5;"),n.push(" outColor = vec4(1.0, 0.0, 0.0, 1.0); "),n.push("}"),n}_buildProgram(){this._program&&this._program.destroy();const e=this._scene,t=e.canvas.gl,s=e._sectionPlanesState;if(this._program=new Be(t,this._shaderSource),this._program.errors)return void(this.errors=this._program.errors);const n=this._program;this._uViewMatrix=n.getLocation("viewMatrix"),this._uProjMatrix=n.getLocation("projMatrix"),this._uSectionPlanes=[];for(let e=0,t=s.sectionPlanes.length;e0){const e=n.sectionPlanes;for(let n=0;n{let e=!0;this._scene.camera.on("projMatrix",(function(){e=!0}));const t=h.mat4();return()=>(e&&h.inverseMat4(n.camera.projMatrix,t),t)})());const t=this._scene.canvas.gl,s=this._program,n=this._scene,i=n.sao,a=t.drawingBufferWidth,r=t.drawingBufferHeight,l=n.camera.project._state,o=l.near,c=l.far,u=l.matrix,p=this._getInverseProjectMat(),A=Math.random(),d="perspective"===n.camera.projection;Me[0]=a,Me[1]=r,t.viewport(0,0,a,r),t.clearColor(0,0,0,1),t.disable(t.DEPTH_TEST),t.disable(t.BLEND),t.frontFace(t.CCW),t.clear(t.COLOR_BUFFER_BIT),s.bind(),t.uniform1f(this._uCameraNear,o),t.uniform1f(this._uCameraFar,c),t.uniformMatrix4fv(this._uCameraProjectionMatrix,!1,u),t.uniformMatrix4fv(this._uCameraInverseProjectionMatrix,!1,p),t.uniform1i(this._uPerspective,d),t.uniform1f(this._uScale,i.scale*(c/5)),t.uniform1f(this._uIntensity,i.intensity),t.uniform1f(this._uBias,i.bias),t.uniform1f(this._uKernelRadius,i.kernelRadius),t.uniform1f(this._uMinResolution,i.minResolution),t.uniform2fv(this._uViewport,Me),t.uniform1f(this._uRandomSeed,A);const f=e.getDepthTexture();s.bindTexture(this._uDepthTexture,f,0),this._aUV.bindArrayBuffer(this._uvBuf),this._aPosition.bindArrayBuffer(this._positionsBuf),this._indicesBuf.bind(),t.drawElements(t.TRIANGLES,this._indicesBuf.numItems,this._indicesBuf.itemType,0)}_build(){let e=!1;const t=this._scene.sao;if(t.numSamples!==this._numSamples&&(this._numSamples=Math.floor(t.numSamples),e=!0),!e)return;const s=this._scene.canvas.gl;if(this._program&&(this._program.destroy(),this._program=null),this._program=new Be(s,{vertex:["#version 300 es\n precision highp float;\n precision highp int;\n \n in vec3 aPosition;\n in vec2 aUV; \n \n out vec2 vUV;\n \n void main () {\n gl_Position = vec4(aPosition, 1.0);\n vUV = aUV;\n }"],fragment:[`#version 300 es \n precision highp float;\n precision highp int; \n \n #define NORMAL_TEXTURE 0\n #define PI 3.14159265359\n #define PI2 6.28318530718\n #define EPSILON 1e-6\n #define NUM_SAMPLES ${this._numSamples}\n #define NUM_RINGS 4 \n \n in vec2 vUV;\n \n uniform sampler2D uDepthTexture;\n \n uniform float uCameraNear;\n uniform float uCameraFar;\n uniform mat4 uProjectMatrix;\n uniform mat4 uInverseProjectMatrix;\n \n uniform bool uPerspective;\n\n uniform float uScale;\n uniform float uIntensity;\n uniform float uBias;\n uniform float uKernelRadius;\n uniform float uMinResolution;\n uniform vec2 uViewport;\n uniform float uRandomSeed;\n\n float pow2( const in float x ) { return x*x; }\n \n highp float rand( const in vec2 uv ) {\n const highp float a = 12.9898, b = 78.233, c = 43758.5453;\n highp float dt = dot( uv.xy, vec2( a,b ) ), sn = mod( dt, PI );\n return fract(sin(sn) * c);\n }\n\n vec3 packNormalToRGB( const in vec3 normal ) {\n return normalize( normal ) * 0.5 + 0.5;\n }\n\n vec3 unpackRGBToNormal( const in vec3 rgb ) {\n return 2.0 * rgb.xyz - 1.0;\n }\n\n const float packUpscale = 256. / 255.;\n const float unpackDownScale = 255. / 256.; \n\n const vec3 packFactors = vec3( 256. * 256. * 256., 256. * 256., 256. );\n const vec4 unPackFactors = unpackDownScale / vec4( packFactors, 1. ); \n\n const float shiftRights = 1. / 256.;\n\n vec4 packFloatToRGBA( const in float v ) {\n vec4 r = vec4( fract( v * packFactors ), v );\n r.yzw -= r.xyz * shiftRights; \n return r * packUpscale;\n }\n\n float unpackRGBAToFloat( const in vec4 v ) { \n return dot( floor( v * 255.0 + 0.5 ) / 255.0, unPackFactors );\n }\n \n float perspectiveDepthToViewZ( const in float invClipZ, const in float near, const in float far ) {\n return ( near * far ) / ( ( far - near ) * invClipZ - far );\n }\n\n float orthographicDepthToViewZ( const in float linearClipZ, const in float near, const in float far ) {\n return linearClipZ * ( near - far ) - near;\n }\n \n float getDepth( const in vec2 screenPosition ) {\n return vec4(texture(uDepthTexture, screenPosition)).r;\n }\n\n float getViewZ( const in float depth ) {\n if (uPerspective) {\n return perspectiveDepthToViewZ( depth, uCameraNear, uCameraFar );\n } else {\n return orthographicDepthToViewZ( depth, uCameraNear, uCameraFar );\n }\n }\n\n vec3 getViewPos( const in vec2 screenPos, const in float depth, const in float viewZ ) {\n \tfloat clipW = uProjectMatrix[2][3] * viewZ + uProjectMatrix[3][3];\n \tvec4 clipPosition = vec4( ( vec3( screenPos, depth ) - 0.5 ) * 2.0, 1.0 );\n \tclipPosition *= clipW; \n \treturn ( uInverseProjectMatrix * clipPosition ).xyz;\n }\n\n vec3 getViewNormal( const in vec3 viewPosition, const in vec2 screenPos ) { \n return normalize( cross( dFdx( viewPosition ), dFdy( viewPosition ) ) );\n }\n\n float scaleDividedByCameraFar;\n float minResolutionMultipliedByCameraFar;\n\n float getOcclusion( const in vec3 centerViewPosition, const in vec3 centerViewNormal, const in vec3 sampleViewPosition ) {\n \tvec3 viewDelta = sampleViewPosition - centerViewPosition;\n \tfloat viewDistance = length( viewDelta );\n \tfloat scaledScreenDistance = scaleDividedByCameraFar * viewDistance;\n \treturn max(0.0, (dot(centerViewNormal, viewDelta) - minResolutionMultipliedByCameraFar) / scaledScreenDistance - uBias) / (1.0 + pow2( scaledScreenDistance ) );\n }\n\n const float ANGLE_STEP = PI2 * float( NUM_RINGS ) / float( NUM_SAMPLES );\n const float INV_NUM_SAMPLES = 1.0 / float( NUM_SAMPLES );\n\n float getAmbientOcclusion( const in vec3 centerViewPosition ) {\n \n \tscaleDividedByCameraFar = uScale / uCameraFar;\n \tminResolutionMultipliedByCameraFar = uMinResolution * uCameraFar;\n \tvec3 centerViewNormal = getViewNormal( centerViewPosition, vUV );\n\n \tfloat angle = rand( vUV + uRandomSeed ) * PI2;\n \tvec2 radius = vec2( uKernelRadius * INV_NUM_SAMPLES ) / uViewport;\n \tvec2 radiusStep = radius;\n\n \tfloat occlusionSum = 0.0;\n \tfloat weightSum = 0.0;\n\n \tfor( int i = 0; i < NUM_SAMPLES; i ++ ) {\n \t\tvec2 sampleUv = vUV + vec2( cos( angle ), sin( angle ) ) * radius;\n \t\tradius += radiusStep;\n \t\tangle += ANGLE_STEP;\n\n \t\tfloat sampleDepth = getDepth( sampleUv );\n \t\tif( sampleDepth >= ( 1.0 - EPSILON ) ) {\n \t\t\tcontinue;\n \t\t}\n\n \t\tfloat sampleViewZ = getViewZ( sampleDepth );\n \t\tvec3 sampleViewPosition = getViewPos( sampleUv, sampleDepth, sampleViewZ );\n \t\tocclusionSum += getOcclusion( centerViewPosition, centerViewNormal, sampleViewPosition );\n \t\tweightSum += 1.0;\n \t}\n\n \tif( weightSum == 0.0 ) discard;\n\n \treturn occlusionSum * ( uIntensity / weightSum );\n }\n\n out vec4 outColor;\n \n void main() {\n \n \tfloat centerDepth = getDepth( vUV );\n \t\n \tif( centerDepth >= ( 1.0 - EPSILON ) ) {\n \t\tdiscard;\n \t}\n\n \tfloat centerViewZ = getViewZ( centerDepth );\n \tvec3 viewPosition = getViewPos( vUV, centerDepth, centerViewZ );\n\n \tfloat ambientOcclusion = getAmbientOcclusion( viewPosition );\n \n \toutColor = packFloatToRGBA( 1.0- ambientOcclusion );\n }`]}),this._program.errors)return console.error(this._program.errors.join("\n")),void(this._programError=!0);const n=new Float32Array([1,1,0,1,0,0,1,0]),i=new Float32Array([1,1,0,-1,1,0,-1,-1,0,1,-1,0]),a=new Uint32Array([0,1,2,0,2,3]);this._positionsBuf=new Oe(s,s.ARRAY_BUFFER,i,i.length,3,s.STATIC_DRAW),this._uvBuf=new Oe(s,s.ARRAY_BUFFER,n,n.length,2,s.STATIC_DRAW),this._indicesBuf=new Oe(s,s.ELEMENT_ARRAY_BUFFER,a,a.length,1,s.STATIC_DRAW),this._program.bind(),this._uCameraNear=this._program.getLocation("uCameraNear"),this._uCameraFar=this._program.getLocation("uCameraFar"),this._uCameraProjectionMatrix=this._program.getLocation("uProjectMatrix"),this._uCameraInverseProjectionMatrix=this._program.getLocation("uInverseProjectMatrix"),this._uPerspective=this._program.getLocation("uPerspective"),this._uScale=this._program.getLocation("uScale"),this._uIntensity=this._program.getLocation("uIntensity"),this._uBias=this._program.getLocation("uBias"),this._uKernelRadius=this._program.getLocation("uKernelRadius"),this._uMinResolution=this._program.getLocation("uMinResolution"),this._uViewport=this._program.getLocation("uViewport"),this._uRandomSeed=this._program.getLocation("uRandomSeed"),this._aPosition=this._program.getAttribute("aPosition"),this._aUV=this._program.getAttribute("aUV"),this._dirty=!1}destroy(){this._program&&(this._program.destroy(),this._program=null)}}const He=new Float32Array(Qe(17,[0,1])),Ue=new Float32Array(Qe(17,[1,0])),Ge=new Float32Array(function(e,t){const s=[];for(let n=0;n<=e;n++)s.push(ke(n,t));return s}(17,4)),je=new Float32Array(2);class Ve{constructor(e){this._scene=e,this._program=null,this._programError=!1,this._aPosition=null,this._aUV=null,this._uDepthTexture="uDepthTexture",this._uOcclusionTexture="uOcclusionTexture",this._uViewport=null,this._uCameraNear=null,this._uCameraFar=null,this._uCameraProjectionMatrix=null,this._uCameraInverseProjectionMatrix=null,this._uvBuf=null,this._positionsBuf=null,this._indicesBuf=null,this.init()}init(){const e=this._scene.canvas.gl;if(this._program=new Be(e,{vertex:["#version 300 es\n precision highp float;\n precision highp int;\n \n in vec3 aPosition;\n in vec2 aUV;\n uniform vec2 uViewport;\n out vec2 vUV;\n out vec2 vInvSize;\n void main () {\n vUV = aUV;\n vInvSize = 1.0 / uViewport;\n gl_Position = vec4(aPosition, 1.0);\n }"],fragment:["#version 300 es\n precision highp float;\n precision highp int;\n \n #define PI 3.14159265359\n #define PI2 6.28318530718\n #define EPSILON 1e-6\n\n #define KERNEL_RADIUS 16\n\n in vec2 vUV;\n in vec2 vInvSize;\n \n uniform sampler2D uDepthTexture;\n uniform sampler2D uOcclusionTexture; \n \n uniform float uCameraNear;\n uniform float uCameraFar; \n uniform float uDepthCutoff;\n\n uniform vec2 uSampleOffsets[ KERNEL_RADIUS + 1 ];\n uniform float uSampleWeights[ KERNEL_RADIUS + 1 ];\n\n const float unpackDownscale = 255. / 256.; \n\n const vec3 packFactors = vec3( 256. * 256. * 256., 256. * 256., 256. );\n const vec4 unpackFactors = unpackDownscale / vec4( packFactors, 1. ); \n\n const float packUpscale = 256. / 255.;\n \n const float shiftRights = 1. / 256.;\n \n float unpackRGBAToFloat( const in vec4 v ) {\n return dot( floor( v * 255.0 + 0.5 ) / 255.0, unpackFactors );\n } \n\n vec4 packFloatToRGBA( const in float v ) {\n vec4 r = vec4( fract( v * packFactors ), v );\n r.yzw -= r.xyz * shiftRights; \n return r * packUpscale;\n }\n\n float viewZToOrthographicDepth( const in float viewZ) {\n return ( viewZ + uCameraNear ) / ( uCameraNear - uCameraFar );\n }\n \n float orthographicDepthToViewZ( const in float linearClipZ) {\n return linearClipZ * ( uCameraNear - uCameraFar ) - uCameraNear;\n }\n\n float viewZToPerspectiveDepth( const in float viewZ) {\n return (( uCameraNear + viewZ ) * uCameraFar ) / (( uCameraFar - uCameraNear ) * viewZ );\n }\n \n float perspectiveDepthToViewZ( const in float invClipZ) {\n return ( uCameraNear * uCameraFar ) / ( ( uCameraFar - uCameraNear ) * invClipZ - uCameraFar );\n }\n\n float getDepth( const in vec2 screenPosition ) {\n return vec4(texture(uDepthTexture, screenPosition)).r;\n }\n\n float getViewZ( const in float depth ) {\n return perspectiveDepthToViewZ( depth );\n }\n\n out vec4 outColor;\n \n void main() {\n \n float depth = getDepth( vUV );\n if( depth >= ( 1.0 - EPSILON ) ) {\n discard;\n }\n\n float centerViewZ = -getViewZ( depth );\n bool rBreak = false;\n bool lBreak = false;\n\n float weightSum = uSampleWeights[0];\n float occlusionSum = unpackRGBAToFloat(texture( uOcclusionTexture, vUV )) * weightSum;\n\n for( int i = 1; i <= KERNEL_RADIUS; i ++ ) {\n\n float sampleWeight = uSampleWeights[i];\n vec2 sampleUVOffset = uSampleOffsets[i] * vInvSize;\n\n vec2 sampleUV = vUV + sampleUVOffset;\n float viewZ = -getViewZ( getDepth( sampleUV ) );\n\n if( abs( viewZ - centerViewZ ) > uDepthCutoff ) {\n rBreak = true;\n }\n\n if( ! rBreak ) {\n occlusionSum += unpackRGBAToFloat(texture( uOcclusionTexture, sampleUV )) * sampleWeight;\n weightSum += sampleWeight;\n }\n\n sampleUV = vUV - sampleUVOffset;\n viewZ = -getViewZ( getDepth( sampleUV ) );\n\n if( abs( viewZ - centerViewZ ) > uDepthCutoff ) {\n lBreak = true;\n }\n\n if( ! lBreak ) {\n occlusionSum += unpackRGBAToFloat(texture( uOcclusionTexture, sampleUV )) * sampleWeight;\n weightSum += sampleWeight;\n }\n }\n\n outColor = packFloatToRGBA(occlusionSum / weightSum);\n }"]}),this._program.errors)return console.error(this._program.errors.join("\n")),void(this._programError=!0);const t=new Float32Array([1,1,0,1,0,0,1,0]),s=new Float32Array([1,1,0,-1,1,0,-1,-1,0,1,-1,0]),n=new Uint32Array([0,1,2,0,2,3]);this._positionsBuf=new Oe(e,e.ARRAY_BUFFER,s,s.length,3,e.STATIC_DRAW),this._uvBuf=new Oe(e,e.ARRAY_BUFFER,t,t.length,2,e.STATIC_DRAW),this._indicesBuf=new Oe(e,e.ELEMENT_ARRAY_BUFFER,n,n.length,1,e.STATIC_DRAW),this._program.bind(),this._uViewport=this._program.getLocation("uViewport"),this._uCameraNear=this._program.getLocation("uCameraNear"),this._uCameraFar=this._program.getLocation("uCameraFar"),this._uDepthCutoff=this._program.getLocation("uDepthCutoff"),this._uSampleOffsets=e.getUniformLocation(this._program.handle,"uSampleOffsets"),this._uSampleWeights=e.getUniformLocation(this._program.handle,"uSampleWeights"),this._aPosition=this._program.getAttribute("aPosition"),this._aUV=this._program.getAttribute("aUV")}render(e,t,s){if(this._programError)return;this._getInverseProjectMat||(this._getInverseProjectMat=(()=>{let e=!0;this._scene.camera.on("projMatrix",(function(){e=!0}));const t=h.mat4();return()=>(e&&h.inverseMat4(a.camera.projMatrix,t),t)})());const n=this._scene.canvas.gl,i=this._program,a=this._scene,r=n.drawingBufferWidth,l=n.drawingBufferHeight,o=a.camera.project._state,c=o.near,u=o.far;n.viewport(0,0,r,l),n.clearColor(0,0,0,1),n.enable(n.DEPTH_TEST),n.disable(n.BLEND),n.frontFace(n.CCW),n.clear(n.COLOR_BUFFER_BIT|n.DEPTH_BUFFER_BIT),i.bind(),je[0]=r,je[1]=l,n.uniform2fv(this._uViewport,je),n.uniform1f(this._uCameraNear,c),n.uniform1f(this._uCameraFar,u),n.uniform1f(this._uDepthCutoff,.01),0===s?n.uniform2fv(this._uSampleOffsets,Ue):n.uniform2fv(this._uSampleOffsets,He),n.uniform1fv(this._uSampleWeights,Ge);const p=e.getDepthTexture(),A=t.getTexture();i.bindTexture(this._uDepthTexture,p,0),i.bindTexture(this._uOcclusionTexture,A,1),this._aUV.bindArrayBuffer(this._uvBuf),this._aPosition.bindArrayBuffer(this._positionsBuf),this._indicesBuf.bind(),n.drawElements(n.TRIANGLES,this._indicesBuf.numItems,this._indicesBuf.itemType,0)}destroy(){this._program.destroy()}}function ke(e,t){return Math.exp(-e*e/(t*t*2))/(Math.sqrt(2*Math.PI)*t)}function Qe(e,t){const s=[];for(let n=0;n<=e;n++)s.push(t[0]*n),s.push(t[1]*n);return s}class We{constructor(e,t,s){s=s||{},this.gl=t,this.allocated=!1,this.canvas=e,this.buffer=null,this.bound=!1,this.size=s.size,this._hasDepthTexture=!!s.depthTexture}setSize(e){this.size=e}webglContextRestored(e){this.gl=e,this.buffer=null,this.allocated=!1,this.bound=!1}bind(...e){if(this._touch(...e),this.bound)return;const t=this.gl;t.bindFramebuffer(t.FRAMEBUFFER,this.buffer.framebuf),this.bound=!0}createTexture(e,t,s=null){const n=this.gl,i=n.createTexture();return n.bindTexture(n.TEXTURE_2D,i),n.texParameteri(n.TEXTURE_2D,n.TEXTURE_MIN_FILTER,n.NEAREST),n.texParameteri(n.TEXTURE_2D,n.TEXTURE_MAG_FILTER,n.NEAREST),n.texParameteri(n.TEXTURE_2D,n.TEXTURE_WRAP_S,n.CLAMP_TO_EDGE),n.texParameteri(n.TEXTURE_2D,n.TEXTURE_WRAP_T,n.CLAMP_TO_EDGE),s?n.texStorage2D(n.TEXTURE_2D,1,s,e,t):n.texImage2D(n.TEXTURE_2D,0,n.RGBA,e,t,0,n.RGBA,n.UNSIGNED_BYTE,null),i}_touch(...e){let t,s;const n=this.gl;if(this.size?(t=this.size[0],s=this.size[1]):(t=n.drawingBufferWidth,s=n.drawingBufferHeight),this.buffer){if(this.buffer.width===t&&this.buffer.height===s)return;this.buffer.textures.forEach((e=>n.deleteTexture(e))),n.deleteFramebuffer(this.buffer.framebuf),n.deleteRenderbuffer(this.buffer.renderbuf)}const i=[];let a;e.length>0?i.push(...e.map((e=>this.createTexture(t,s,e)))):i.push(this.createTexture(t,s)),this._hasDepthTexture&&(a=n.createTexture(),n.bindTexture(n.TEXTURE_2D,a),n.texParameteri(n.TEXTURE_2D,n.TEXTURE_MAG_FILTER,n.NEAREST),n.texParameteri(n.TEXTURE_2D,n.TEXTURE_MIN_FILTER,n.NEAREST),n.texParameteri(n.TEXTURE_2D,n.TEXTURE_WRAP_S,n.CLAMP_TO_EDGE),n.texParameteri(n.TEXTURE_2D,n.TEXTURE_WRAP_T,n.CLAMP_TO_EDGE),n.texImage2D(n.TEXTURE_2D,0,n.DEPTH_COMPONENT32F,t,s,0,n.DEPTH_COMPONENT,n.FLOAT,null));const r=n.createRenderbuffer();n.bindRenderbuffer(n.RENDERBUFFER,r),n.renderbufferStorage(n.RENDERBUFFER,n.DEPTH_COMPONENT32F,t,s);const l=n.createFramebuffer();n.bindFramebuffer(n.FRAMEBUFFER,l);for(let e=0;e0&&n.drawBuffers(i.map(((e,t)=>n.COLOR_ATTACHMENT0+t))),this._hasDepthTexture?n.framebufferTexture2D(n.FRAMEBUFFER,n.DEPTH_ATTACHMENT,n.TEXTURE_2D,a,0):n.framebufferRenderbuffer(n.FRAMEBUFFER,n.DEPTH_ATTACHMENT,n.RENDERBUFFER,r),n.bindTexture(n.TEXTURE_2D,null),n.bindRenderbuffer(n.RENDERBUFFER,null),n.bindFramebuffer(n.FRAMEBUFFER,null),n.bindFramebuffer(n.FRAMEBUFFER,l),!n.isFramebuffer(l))throw"Invalid framebuffer";n.bindFramebuffer(n.FRAMEBUFFER,null);const o=n.checkFramebufferStatus(n.FRAMEBUFFER);switch(o){case n.FRAMEBUFFER_COMPLETE:break;case n.FRAMEBUFFER_INCOMPLETE_ATTACHMENT:throw"Incomplete framebuffer: FRAMEBUFFER_INCOMPLETE_ATTACHMENT";case n.FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT:throw"Incomplete framebuffer: FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT";case n.FRAMEBUFFER_INCOMPLETE_DIMENSIONS:throw"Incomplete framebuffer: FRAMEBUFFER_INCOMPLETE_DIMENSIONS";case n.FRAMEBUFFER_UNSUPPORTED:throw"Incomplete framebuffer: FRAMEBUFFER_UNSUPPORTED";default:throw"Incomplete framebuffer: "+o}this.buffer={framebuf:l,renderbuf:r,texture:i[0],textures:i,depthTexture:a,width:t,height:s},this.bound=!1}clear(){if(!this.bound)throw"Render buffer not bound";const e=this.gl;e.clear(e.COLOR_BUFFER_BIT|e.DEPTH_BUFFER_BIT)}read(e,t,s=null,n=null,i=Uint8Array,a=4,r=0){const l=e,o=this.buffer.height?this.buffer.height-t-1:this.gl.drawingBufferHeight-t,c=new i(a),u=this.gl;return u.readBuffer(u.COLOR_ATTACHMENT0+r),u.readPixels(l,o,1,1,s||u.RGBA,n||u.UNSIGNED_BYTE,c,0),c}readArray(e=null,t=null,s=Uint8Array,n=4,i=0){const a=new s(this.buffer.width*this.buffer.height*n),r=this.gl;return r.readBuffer(r.COLOR_ATTACHMENT0+i),r.readPixels(0,0,this.buffer.width,this.buffer.height,e||r.RGBA,t||r.UNSIGNED_BYTE,a,0),a}readImageAsCanvas(){const e=this.gl,t=this._getImageDataCache(),s=t.pixelData,n=t.canvas,i=t.imageData,a=t.context;e.readPixels(0,0,this.buffer.width,this.buffer.height,e.RGBA,e.UNSIGNED_BYTE,s);const r=this.buffer.width,l=this.buffer.height,o=l/2|0,c=4*r,u=new Uint8Array(4*r);for(let e=0;ee.deleteTexture(t))),e.deleteTexture(this.buffer.depthTexture),e.deleteFramebuffer(this.buffer.framebuf),e.deleteRenderbuffer(this.buffer.renderbuf),this.allocated=!1,this.buffer=null,this.bound=!1}this._imageDataCache=null,this._texture=null,this._depthTexture=null}}class ze{constructor(e){this.scene=e,this._renderBuffersBasic={},this._renderBuffersScaled={}}getRenderBuffer(e,t){const s=1===this.scene.canvas.resolutionScale?this._renderBuffersBasic:this._renderBuffersScaled;let n=s[e];return n||(n=new We(this.scene.canvas.canvas,this.scene.canvas.gl,t),s[e]=n),n}destroy(){for(let e in this._renderBuffersBasic)this._renderBuffersBasic[e].destroy();for(let e in this._renderBuffersScaled)this._renderBuffersScaled[e].destroy()}}function Ke(e,t){if(void 0===e._cachedExtensions&&(e._cachedExtensions={}),void 0!==e._cachedExtensions[t])return e._cachedExtensions[t];let s;switch(t){case"WEBGL_depth_texture":s=e.getExtension("WEBGL_depth_texture")||e.getExtension("MOZ_WEBGL_depth_texture")||e.getExtension("WEBKIT_WEBGL_depth_texture");break;case"EXT_texture_filter_anisotropic":s=e.getExtension("EXT_texture_filter_anisotropic")||e.getExtension("MOZ_EXT_texture_filter_anisotropic")||e.getExtension("WEBKIT_EXT_texture_filter_anisotropic");break;case"WEBGL_compressed_texture_s3tc":s=e.getExtension("WEBGL_compressed_texture_s3tc")||e.getExtension("MOZ_WEBGL_compressed_texture_s3tc")||e.getExtension("WEBKIT_WEBGL_compressed_texture_s3tc");break;case"WEBGL_compressed_texture_pvrtc":s=e.getExtension("WEBGL_compressed_texture_pvrtc")||e.getExtension("WEBKIT_WEBGL_compressed_texture_pvrtc");break;default:s=e.getExtension(t)}return e._cachedExtensions[t]=s,s}const Ye=function(t,s){s=s||{};const n=new we(t),i=t.canvas.canvas,a=t.canvas.gl,r=!!s.transparent,l=s.alphaDepthMask,o=new e({});let c={},u={},p=!0,A=!0,f=!0,I=!0,y=!0,m=!0,v=!0,w=!0;const g=new ze(t);let E=!1;const T=new Fe(t),b=new Ve(t);function D(){p&&(!function(){for(let e in c)if(c.hasOwnProperty(e)){const t=c[e],s=t.drawableMap,n=t.drawableListPreCull;let i=0;for(let e in s)s.hasOwnProperty(e)&&(n[i++]=s[e]);n.length=i}}(),p=!1,A=!0),A&&(!function(){for(let e in c)if(c.hasOwnProperty(e)){const t=c[e];t.isStateSortable&&t.drawableListPreCull.sort(t.stateSortCompare)}}(),A=!1,f=!0),f&&function(){for(let e in c)if(c.hasOwnProperty(e)){const t=c[e],s=t.drawableListPreCull,n=t.drawableList;let i=0;for(let e=0,t=s.length;e0)for(n.withSAO=!0,S=0;S0)for(S=0;S0)for(S=0;S0)for(S=0;S0||k>0||H>0||U>0){if(a.enable(a.CULL_FACE),a.enable(a.BLEND),r?(a.blendEquation(a.FUNC_ADD),a.blendFuncSeparate(a.SRC_ALPHA,a.ONE_MINUS_SRC_ALPHA,a.ONE,a.ONE_MINUS_SRC_ALPHA)):(a.blendEquation(a.FUNC_ADD),a.blendFunc(a.SRC_ALPHA,a.ONE_MINUS_SRC_ALPHA)),n.backfaces=!1,l||a.depthMask(!1),(H>0||U>0)&&a.blendFunc(a.SRC_ALPHA,a.ONE_MINUS_SRC_ALPHA),U>0)for(S=0;S0)for(S=0;S0)for(S=0;S0)for(S=0;S0||W>0){if(n.lastProgramId=null,t.highlightMaterial.glowThrough&&a.clear(a.DEPTH_BUFFER_BIT),W>0)for(S=0;S0)for(S=0;S0||K>0||Q>0){if(n.lastProgramId=null,t.selectedMaterial.glowThrough&&a.clear(a.DEPTH_BUFFER_BIT),a.enable(a.BLEND),r?(a.blendEquation(a.FUNC_ADD),a.blendFuncSeparate(a.SRC_ALPHA,a.ONE_MINUS_SRC_ALPHA,a.ONE,a.ONE_MINUS_SRC_ALPHA)):a.blendFunc(a.SRC_ALPHA,a.ONE_MINUS_SRC_ALPHA),a.enable(a.CULL_FACE),K>0)for(S=0;S0)for(S=0;S0||X>0){if(n.lastProgramId=null,t.selectedMaterial.glowThrough&&a.clear(a.DEPTH_BUFFER_BIT),X>0)for(S=0;S0)for(S=0;S0||J>0){if(n.lastProgramId=null,t.selectedMaterial.glowThrough&&a.clear(a.DEPTH_BUFFER_BIT),a.enable(a.CULL_FACE),a.enable(a.BLEND),r?(a.blendEquation(a.FUNC_ADD),a.blendFuncSeparate(a.SRC_ALPHA,a.ONE_MINUS_SRC_ALPHA,a.ONE,a.ONE_MINUS_SRC_ALPHA)):a.blendFunc(a.SRC_ALPHA,a.ONE_MINUS_SRC_ALPHA),J>0)for(S=0;S0)for(S=0;S0){const t=Math.floor(e/4),s=A.size[0],n=t%s-Math.floor(s/2),i=Math.floor(t/s)-Math.floor(s/2),a=Math.sqrt(Math.pow(n,2)+Math.pow(i,2));R.push({x:n,y:i,dist:a,isVertex:r&&l?m[e+3]>y.length/2:r,result:[m[e+0],m[e+1],m[e+2],m[e+3]],normal:[v[e+0],v[e+1],v[e+2],v[e+3]],id:[w[e+0],w[e+1],w[e+2],w[e+3]]})}let O=null,S=null,N=null,x=null;if(R.length>0){R.sort(((e,t)=>e.isVertex!==t.isVertex?e.isVertex?-1:1:e.dist-t.dist)),x=R[0].isVertex?"vertex":"edge";const e=R[0].result,t=R[0].normal,s=R[0].id,n=y[e[3]],i=n.origin,a=n.coordinateScale;S=h.normalizeVec3([t[0]/h.MAX_INT,t[1]/h.MAX_INT,t[2]/h.MAX_INT]),O=[e[0]*a[0]+i[0],e[1]*a[1]+i[1],e[2]*a[2]+i[2]],N=o.items[s[0]+(s[1]<<8)+(s[2]<<16)+(s[3]<<24)]}if(null===E&&null==O)return null;let L=null;null!==O&&(L=t.camera.projectWorldPos(O));const M=N&&N.delegatePickedEntity?N.delegatePickedEntity():N;return u.reset(),u.snappedToEdge="edge"===x,u.snappedToVertex="vertex"===x,u.worldPos=O,u.worldNormal=S,u.entity=M,u.canvasPos=s,u.snappedCanvasPos=L||s,u}}(),this.addMarker=function(e){this._occlusionTester=this._occlusionTester||new Le(t,g),this._occlusionTester.addMarker(e),t.occlusionTestCountdown=0},this.markerWorldPosUpdated=function(e){this._occlusionTester.markerWorldPosUpdated(e)},this.removeMarker=function(e){this._occlusionTester.removeMarker(e)},this.doOcclusionTest=function(){if(this._occlusionTester&&this._occlusionTester.needOcclusionTest){D(),this._occlusionTester.bindRenderBuf(),n.reset(),n.backfaces=!0,n.frontface=!0,a.viewport(0,0,a.drawingBufferWidth,a.drawingBufferHeight),a.clearColor(0,0,0,0),a.enable(a.DEPTH_TEST),a.disable(a.CULL_FACE),a.disable(a.BLEND),a.clear(a.COLOR_BUFFER_BIT|a.DEPTH_BUFFER_BIT);for(let e in c)if(c.hasOwnProperty(e)){const t=c[e].drawableList;for(let e=0,s=t.length;e{this.enabled&&this.keyboardEnabled&&"INPUT"!==e.target.tagName&&"TEXTAREA"!==e.target.tagName&&(e.keyCode===this.KEY_CTRL?this.ctrlDown=!0:e.keyCode===this.KEY_ALT?this.altDown=!0:e.keyCode===this.KEY_SHIFT&&(this.shiftDown=!0),this.keyDown[e.keyCode]=!0,this.fire("keydown",e.keyCode,!0))},!1),this._keyboardEventsElement.addEventListener("keyup",this._keyUpListener=e=>{this.enabled&&this.keyboardEnabled&&"INPUT"!==e.target.tagName&&"TEXTAREA"!==e.target.tagName&&(e.keyCode===this.KEY_CTRL?this.ctrlDown=!1:e.keyCode===this.KEY_ALT?this.altDown=!1:e.keyCode===this.KEY_SHIFT&&(this.shiftDown=!1),this.keyDown[e.keyCode]=!1,this.fire("keyup",e.keyCode,!0))}),this.element.addEventListener("mouseenter",this._mouseEnterListener=e=>{this.enabled&&(this.mouseover=!0,this._getMouseCanvasPos(e),this.fire("mouseenter",this.mouseCanvasPos,!0))}),this.element.addEventListener("mouseleave",this._mouseLeaveListener=e=>{this.enabled&&(this.mouseover=!1,this._getMouseCanvasPos(e),this.fire("mouseleave",this.mouseCanvasPos,!0))}),this.element.addEventListener("mousedown",this._mouseDownListener=e=>{if(this.enabled){switch(e.which){case 1:this.mouseDownLeft=!0;break;case 2:this.mouseDownMiddle=!0;break;case 3:this.mouseDownRight=!0}this._getMouseCanvasPos(e),this.element.focus(),this.fire("mousedown",this.mouseCanvasPos,!0),this.mouseover&&e.preventDefault()}}),document.addEventListener("mouseup",this._mouseUpListener=e=>{if(this.enabled){switch(e.which){case 1:this.mouseDownLeft=!1;break;case 2:this.mouseDownMiddle=!1;break;case 3:this.mouseDownRight=!1}this.fire("mouseup",this.mouseCanvasPos,!0)}},!0),document.addEventListener("click",this._clickListener=e=>{if(this.enabled){switch(e.which){case 1:case 3:this.mouseDownLeft=!1,this.mouseDownRight=!1;break;case 2:this.mouseDownMiddle=!1}this._getMouseCanvasPos(e),this.fire("click",this.mouseCanvasPos,!0),this.mouseover&&e.preventDefault()}}),document.addEventListener("dblclick",this._dblClickListener=e=>{if(this.enabled){switch(e.which){case 1:case 3:this.mouseDownLeft=!1,this.mouseDownRight=!1;break;case 2:this.mouseDownMiddle=!1}this._getMouseCanvasPos(e),this.fire("dblclick",this.mouseCanvasPos,!0),this.mouseover&&e.preventDefault()}});const e=this.scene.tickify((()=>this.fire("mousemove",this.mouseCanvasPos,!0)));this.element.addEventListener("mousemove",this._mouseMoveListener=t=>{this.enabled&&(this._getMouseCanvasPos(t),e(),this.mouseover&&t.preventDefault())});const t=this.scene.tickify((e=>{this.fire("mousewheel",e,!0)}));this.element.addEventListener("wheel",this._mouseWheelListener=(e,s)=>{if(!this.enabled)return;const n=Math.max(-1,Math.min(1,40*-e.deltaY));t(n)},{passive:!0});{let e,t;const s=2;this.on("mousedown",(s=>{e=s[0],t=s[1]})),this.on("mouseup",(n=>{e>=n[0]-s&&e<=n[0]+s&&t>=n[1]-s&&t<=n[1]+s&&this.fire("mouseclicked",n,!0)}))}this._eventsBound=!0}_unbindEvents(){this._eventsBound&&(this._keyboardEventsElement.removeEventListener("keydown",this._keyDownListener),this._keyboardEventsElement.removeEventListener("keyup",this._keyUpListener),this.element.removeEventListener("mouseenter",this._mouseEnterListener),this.element.removeEventListener("mouseleave",this._mouseLeaveListener),this.element.removeEventListener("mousedown",this._mouseDownListener),document.removeEventListener("mouseup",this._mouseDownListener),document.removeEventListener("click",this._clickListener),document.removeEventListener("dblclick",this._dblClickListener),this.element.removeEventListener("mousemove",this._mouseMoveListener),this.element.removeEventListener("wheel",this._mouseWheelListener),window.OrientationChangeEvent&&window.removeEventListener("orientationchange",this._orientationchangedListener),window.DeviceMotionEvent&&window.removeEventListener("devicemotion",this._deviceMotionListener),window.DeviceOrientationEvent&&window.removeEventListener("deviceorientation",this._deviceOrientListener),this._eventsBound=!1)}_getMouseCanvasPos(e){if(e){let t=e.target,s=0,n=0;for(;t.offsetParent;)s+=t.offsetLeft,n+=t.offsetTop,t=t.offsetParent;this.mouseCanvasPos[0]=e.pageX-s,this.mouseCanvasPos[1]=e.pageY-n}else e=window.event,this.mouseCanvasPos[0]=e.x,this.mouseCanvasPos[1]=e.y}setEnabled(e){this.enabled!==e&&this.fire("enabled",this.enabled=e)}getEnabled(){return this.enabled}setKeyboardEnabled(e){this.keyboardEnabled=e}getKeyboardEnabled(){return this.keyboardEnabled}destroy(){super.destroy(),this._unbindEvents()}}const qe=new e({});class Je{constructor(e){this.id=qe.addItem({});for(const t in e)e.hasOwnProperty(t)&&(this[t]=e[t])}destroy(){qe.removeItem(this.id)}}class Ze extends _{get type(){return"Viewport"}constructor(e,t={}){super(e,t),this._state=new Je({boundary:[0,0,100,100]}),this.boundary=t.boundary,this.autoBoundary=t.autoBoundary}set boundary(e){if(!this._autoBoundary){if(!e){const t=this.scene.canvas.boundary;e=[0,0,t[2],t[3]]}this._state.boundary=e,this.glRedraw(),this.fire("boundary",this._state.boundary)}}get boundary(){return this._state.boundary}set autoBoundary(e){(e=!!e)!==this._autoBoundary&&(this._autoBoundary=e,this._autoBoundary?this._onCanvasSize=this.scene.canvas.on("boundary",(function(e){const t=e[2],s=e[3];this._state.boundary=[0,0,t,s],this.glRedraw(),this.fire("boundary",this._state.boundary)}),this):this._onCanvasSize&&(this.scene.canvas.off(this._onCanvasSize),this._onCanvasSize=null),this.fire("autoBoundary",this._autoBoundary))}get autoBoundary(){return this._autoBoundary}_getState(){return this._state}destroy(){super.destroy(),this._state.destroy()}}class $e extends _{get type(){return"Perspective"}constructor(e,t={}){super(e,t),this.camera=e,this._state=new Je({matrix:h.mat4(),inverseMatrix:h.mat4(),transposedMatrix:h.mat4(),near:.1,far:2e3}),this._inverseMatrixDirty=!0,this._transposedMatrixDirty=!0,this._fov=60,this._canvasResized=this.scene.canvas.on("boundary",this._needUpdate,this),this.fov=t.fov,this.fovAxis=t.fovAxis,this.near=t.near,this.far=t.far}_update(){const e=this.scene.canvas.boundary,t=e[2]/e[3],s=this._fovAxis;let n=this._fov;("x"===s||"min"===s&&t<1||"max"===s&&t>1)&&(n/=t),n=Math.min(n,120),h.perspectiveMat4(n*(Math.PI/180),t,this._state.near,this._state.far,this._state.matrix),this._inverseMatrixDirty=!0,this._transposedMatrixDirty=!0,this.glRedraw(),this.camera._updateScheduled=!0,this.fire("matrix",this._state.matrix)}set fov(e){(e=null!=e?e:60)!==this._fov&&(this._fov=e,this._needUpdate(0),this.fire("fov",this._fov))}get fov(){return this._fov}set fovAxis(e){e=e||"min",this._fovAxis!==e&&("x"!==e&&"y"!==e&&"min"!==e&&(this.error("Unsupported value for 'fovAxis': "+e+" - defaulting to 'min'"),e="min"),this._fovAxis=e,this._needUpdate(0),this.fire("fovAxis",this._fovAxis))}get fovAxis(){return this._fovAxis}set near(e){const t=null!=e?e:.1;this._state.near!==t&&(this._state.near=t,this._needUpdate(0),this.fire("near",this._state.near))}get near(){return this._state.near}set far(e){const t=null!=e?e:2e3;this._state.far!==t&&(this._state.far=t,this._needUpdate(0),this.fire("far",this._state.far))}get far(){return this._state.far}get matrix(){return this._updateScheduled&&this._doUpdate(),this._state.matrix}get inverseMatrix(){return this._updateScheduled&&this._doUpdate(),this._inverseMatrixDirty&&(h.inverseMat4(this._state.matrix,this._state.inverseMatrix),this._inverseMatrixDirty=!1),this._state.inverseMatrix}get transposedMatrix(){return this._updateScheduled&&this._doUpdate(),this._transposedMatrixDirty&&(h.transposeMat4(this._state.matrix,this._state.transposedMatrix),this._transposedMatrixDirty=!1),this._state.transposedMatrix}unproject(e,t,s,n,i){const a=this.scene.canvas.canvas,r=a.offsetWidth/2,l=a.offsetHeight/2;return s[0]=(e[0]-r)/r,s[1]=(e[1]-l)/l,s[2]=t,s[3]=1,h.mulMat4v4(this.inverseMatrix,s,n),h.mulVec3Scalar(n,1/n[3]),n[3]=1,n[1]*=-1,h.mulMat4v4(this.camera.inverseViewMatrix,n,i),i}destroy(){super.destroy(),this._state.destroy(),this.scene.canvas.off(this._canvasResized)}}class et extends _{get type(){return"Ortho"}constructor(e,t={}){super(e,t),this.camera=e,this._state=new Je({matrix:h.mat4(),inverseMatrix:h.mat4(),transposedMatrix:h.mat4(),near:.1,far:2e3}),this._inverseMatrixDirty=!0,this._transposedMatrixDirty=!0,this.scale=t.scale,this.near=t.near,this.far=t.far,this._onCanvasBoundary=this.scene.canvas.on("boundary",this._needUpdate,this)}_update(){const e=this.scene,t=.5*this._scale,s=e.canvas.boundary,n=s[2],i=s[3],a=n/i;let r,l,o,c;n>i?(r=-t,l=t,o=t/a,c=-t/a):(r=-t*a,l=t*a,o=t,c=-t),h.orthoMat4c(r,l,c,o,this._state.near,this._state.far,this._state.matrix),this._inverseMatrixDirty=!0,this._transposedMatrixDirty=!0,this.glRedraw(),this.fire("matrix",this._state.matrix)}set scale(e){null==e&&(e=1),e<=0&&(e=.01),this._scale=e,this._needUpdate(0),this.fire("scale",this._scale)}get scale(){return this._scale}set near(e){const t=null!=e?e:.1;this._state.near!==t&&(this._state.near=t,this._needUpdate(0),this.fire("near",this._state.near))}get near(){return this._state.near}set far(e){const t=null!=e?e:2e3;this._state.far!==t&&(this._state.far=t,this._needUpdate(0),this.fire("far",this._state.far))}get far(){return this._state.far}get matrix(){return this._updateScheduled&&this._doUpdate(),this._state.matrix}get inverseMatrix(){return this._updateScheduled&&this._doUpdate(),this._inverseMatrixDirty&&(h.inverseMat4(this._state.matrix,this._state.inverseMatrix),this._inverseMatrixDirty=!1),this._state.inverseMatrix}get transposedMatrix(){return this._updateScheduled&&this._doUpdate(),this._transposedMatrixDirty&&(h.transposeMat4(this._state.matrix,this._state.transposedMatrix),this._transposedMatrixDirty=!1),this._state.transposedMatrix}unproject(e,t,s,n,i){const a=this.scene.canvas.canvas,r=a.offsetWidth/2,l=a.offsetHeight/2;return s[0]=(e[0]-r)/r,s[1]=(e[1]-l)/l,s[2]=t,s[3]=1,h.mulMat4v4(this.inverseMatrix,s,n),h.mulVec3Scalar(n,1/n[3]),n[3]=1,n[1]*=-1,h.mulMat4v4(this.camera.inverseViewMatrix,n,i),i}destroy(){super.destroy(),this._state.destroy(),this.scene.canvas.off(this._onCanvasBoundary)}}class tt extends _{get type(){return"Frustum"}constructor(e,t={}){super(e,t),this.camera=e,this._state=new Je({matrix:h.mat4(),inverseMatrix:h.mat4(),transposedMatrix:h.mat4(),near:.1,far:1e4}),this._left=-1,this._right=1,this._bottom=-1,this._top=1,this._inverseMatrixDirty=!0,this._transposedMatrixDirty=!0,this.left=t.left,this.right=t.right,this.bottom=t.bottom,this.top=t.top,this.near=t.near,this.far=t.far}_update(){h.frustumMat4(this._left,this._right,this._bottom,this._top,this._state.near,this._state.far,this._state.matrix),this._inverseMatrixDirty=!0,this._transposedMatrixDirty=!0,this.glRedraw(),this.fire("matrix",this._state.matrix)}set left(e){this._left=null!=e?e:-1,this._needUpdate(0),this.fire("left",this._left)}get left(){return this._left}set right(e){this._right=null!=e?e:1,this._needUpdate(0),this.fire("right",this._right)}get right(){return this._right}set top(e){this._top=null!=e?e:1,this._needUpdate(0),this.fire("top",this._top)}get top(){return this._top}set bottom(e){this._bottom=null!=e?e:-1,this._needUpdate(0),this.fire("bottom",this._bottom)}get bottom(){return this._bottom}set near(e){this._state.near=null!=e?e:.1,this._needUpdate(0),this.fire("near",this._state.near)}get near(){return this._state.near}set far(e){this._state.far=null!=e?e:1e4,this._needUpdate(0),this.fire("far",this._state.far)}get far(){return this._state.far}get matrix(){return this._updateScheduled&&this._doUpdate(),this._state.matrix}get inverseMatrix(){return this._updateScheduled&&this._doUpdate(),this._inverseMatrixDirty&&(h.inverseMat4(this._state.matrix,this._state.inverseMatrix),this._inverseMatrixDirty=!1),this._state.inverseMatrix}get transposedMatrix(){return this._updateScheduled&&this._doUpdate(),this._transposedMatrixDirty&&(h.transposeMat4(this._state.matrix,this._state.transposedMatrix),this._transposedMatrixDirty=!1),this._state.transposedMatrix}unproject(e,t,s,n,i){const a=this.scene.canvas.canvas,r=a.offsetWidth/2,l=a.offsetHeight/2;return s[0]=(e[0]-r)/r,s[1]=(e[1]-l)/l,s[2]=t,s[3]=1,h.mulMat4v4(this.inverseMatrix,s,n),h.mulVec3Scalar(n,1/n[3]),n[3]=1,n[1]*=-1,h.mulMat4v4(this.camera.inverseViewMatrix,n,i),i}destroy(){super.destroy(),this._state.destroy(),super.destroy()}}class st extends _{get type(){return"CustomProjection"}constructor(e,t={}){super(e,t),this.camera=e,this._state=new Je({matrix:h.mat4(),inverseMatrix:h.mat4(),transposedMatrix:h.mat4()}),this._inverseMatrixDirty=!0,this._transposedMatrixDirty=!1,this.matrix=t.matrix}set matrix(e){this._state.matrix.set(e||[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]),this._inverseMatrixDirty=!0,this._transposedMatrixDirty=!0,this.glRedraw(),this.fire("matrix",this._state.matrix)}get matrix(){return this._state.matrix}get inverseMatrix(){return this._updateScheduled&&this._doUpdate(),this._inverseMatrixDirty&&(h.inverseMat4(this._state.matrix,this._state.inverseMatrix),this._inverseMatrixDirty=!1),this._state.inverseMatrix}get transposedMatrix(){return this._updateScheduled&&this._doUpdate(),this._transposedMatrixDirty&&(h.transposeMat4(this._state.matrix,this._state.transposedMatrix),this._transposedMatrixDirty=!1),this._state.transposedMatrix}unproject(e,t,s,n,i){const a=this.scene.canvas.canvas,r=a.offsetWidth/2,l=a.offsetHeight/2;return s[0]=(e[0]-r)/r,s[1]=(e[1]-l)/l,s[2]=t,s[3]=1,h.mulMat4v4(this.inverseMatrix,s,n),h.mulVec3Scalar(n,1/n[3]),n[3]=1,n[1]*=-1,h.mulMat4v4(this.camera.inverseViewMatrix,n,i),i}destroy(){super.destroy(),this._state.destroy()}}const nt=h.vec3(),it=h.vec3(),at=h.vec3(),rt=h.vec3(),lt=h.vec3(),ot=h.vec3(),ct=h.vec4(),ut=h.vec4(),ht=h.vec4(),pt=h.mat4(),At=h.mat4(),dt=h.vec3(),ft=h.vec3(),It=h.vec3(),yt=h.vec3();class mt extends _{get type(){return"Camera"}constructor(e,t={}){super(e,t),this._state=new Je({deviceMatrix:h.mat4(),hasDeviceMatrix:!1,matrix:h.mat4(),normalMatrix:h.mat4(),inverseMatrix:h.mat4()}),this._perspective=new $e(this),this._ortho=new et(this),this._frustum=new tt(this),this._customProjection=new st(this),this._project=this._perspective,this._eye=h.vec3([0,0,10]),this._look=h.vec3([0,0,0]),this._up=h.vec3([0,1,0]),this._worldUp=h.vec3([0,1,0]),this._worldRight=h.vec3([1,0,0]),this._worldForward=h.vec3([0,0,-1]),this.deviceMatrix=t.deviceMatrix,this.eye=t.eye,this.look=t.look,this.up=t.up,this.worldAxis=t.worldAxis,this.gimbalLock=t.gimbalLock,this.constrainPitch=t.constrainPitch,this.projection=t.projection,this._perspective.on("matrix",(()=>{"perspective"===this._projectionType&&this.fire("projMatrix",this._perspective.matrix)})),this._ortho.on("matrix",(()=>{"ortho"===this._projectionType&&this.fire("projMatrix",this._ortho.matrix)})),this._frustum.on("matrix",(()=>{"frustum"===this._projectionType&&this.fire("projMatrix",this._frustum.matrix)})),this._customProjection.on("matrix",(()=>{"customProjection"===this._projectionType&&this.fire("projMatrix",this._customProjection.matrix)}))}_update(){const e=this._state;let t;"ortho"===this.projection?(h.subVec3(this._eye,this._look,dt),h.normalizeVec3(dt,ft),h.mulVec3Scalar(ft,1e3,It),h.addVec3(this._look,It,yt),t=yt):t=this._eye,e.hasDeviceMatrix?(h.lookAtMat4v(t,this._look,this._up,At),h.mulMat4(e.deviceMatrix,At,e.matrix)):h.lookAtMat4v(t,this._look,this._up,e.matrix),h.inverseMat4(this._state.matrix,this._state.inverseMatrix),h.transposeMat4(this._state.inverseMatrix,this._state.normalMatrix),this.glRedraw(),this.fire("matrix",this._state.matrix),this.fire("viewMatrix",this._state.matrix)}orbitYaw(e){let t=h.subVec3(this._eye,this._look,nt);h.rotationMat4v(.0174532925*e,this._gimbalLock?this._worldUp:this._up,pt),t=h.transformPoint3(pt,t,it),this.eye=h.addVec3(this._look,t,at),this.up=h.transformPoint3(pt,this._up,rt)}orbitPitch(e){if(this._constrainPitch&&(e=h.dotVec3(this._up,this._worldUp)/h.DEGTORAD)<1)return;let t=h.subVec3(this._eye,this._look,nt);const s=h.cross3Vec3(h.normalizeVec3(t,it),h.normalizeVec3(this._up,at));h.rotationMat4v(.0174532925*e,s,pt),t=h.transformPoint3(pt,t,rt),this.up=h.transformPoint3(pt,this._up,lt),this.eye=h.addVec3(t,this._look,ot)}yaw(e){let t=h.subVec3(this._look,this._eye,nt);h.rotationMat4v(.0174532925*e,this._gimbalLock?this._worldUp:this._up,pt),t=h.transformPoint3(pt,t,it),this.look=h.addVec3(t,this._eye,at),this._gimbalLock&&(this.up=h.transformPoint3(pt,this._up,rt))}pitch(e){if(this._constrainPitch&&(e=h.dotVec3(this._up,this._worldUp)/h.DEGTORAD)<1)return;let t=h.subVec3(this._look,this._eye,nt);const s=h.cross3Vec3(h.normalizeVec3(t,it),h.normalizeVec3(this._up,at));h.rotationMat4v(.0174532925*e,s,pt),this.up=h.transformPoint3(pt,this._up,ot),t=h.transformPoint3(pt,t,rt),this.look=h.addVec3(t,this._eye,lt)}pan(e){const t=h.subVec3(this._eye,this._look,nt),s=[0,0,0];let n;if(0!==e[0]){const i=h.cross3Vec3(h.normalizeVec3(t,[]),h.normalizeVec3(this._up,it));n=h.mulVec3Scalar(i,e[0]),s[0]+=n[0],s[1]+=n[1],s[2]+=n[2]}0!==e[1]&&(n=h.mulVec3Scalar(h.normalizeVec3(this._up,at),e[1]),s[0]+=n[0],s[1]+=n[1],s[2]+=n[2]),0!==e[2]&&(n=h.mulVec3Scalar(h.normalizeVec3(t,rt),e[2]),s[0]+=n[0],s[1]+=n[1],s[2]+=n[2]),this.eye=h.addVec3(this._eye,s,lt),this.look=h.addVec3(this._look,s,ot)}zoom(e){const t=h.subVec3(this._eye,this._look,nt),s=Math.abs(h.lenVec3(t,it)),n=Math.abs(s+e);if(n<.5)return;const i=h.normalizeVec3(t,at);this.eye=h.addVec3(this._look,h.mulVec3Scalar(i,n),rt)}set eye(e){this._eye.set(e||[0,0,10]),this._needUpdate(0),this.fire("eye",this._eye)}get eye(){return this._eye}set look(e){this._look.set(e||[0,0,0]),this._needUpdate(0),this.fire("look",this._look)}get look(){return this._look}set up(e){this._up.set(e||[0,1,0]),this._needUpdate(0),this.fire("up",this._up)}get up(){return this._up}set deviceMatrix(e){this._state.deviceMatrix.set(e||[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]),this._state.hasDeviceMatrix=!!e,this._needUpdate(0),this.fire("deviceMatrix",this._state.deviceMatrix)}get deviceMatrix(){return this._state.deviceMatrix}set worldAxis(e){e=e||[1,0,0,0,1,0,0,0,1],this._worldAxis?this._worldAxis.set(e):this._worldAxis=h.vec3(e),this._worldRight[0]=this._worldAxis[0],this._worldRight[1]=this._worldAxis[1],this._worldRight[2]=this._worldAxis[2],this._worldUp[0]=this._worldAxis[3],this._worldUp[1]=this._worldAxis[4],this._worldUp[2]=this._worldAxis[5],this._worldForward[0]=this._worldAxis[6],this._worldForward[1]=this._worldAxis[7],this._worldForward[2]=this._worldAxis[8],this.fire("worldAxis",this._worldAxis)}get worldAxis(){return this._worldAxis}get worldUp(){return this._worldUp}get xUp(){return this._worldUp[0]>this._worldUp[1]&&this._worldUp[0]>this._worldUp[2]}get yUp(){return this._worldUp[1]>this._worldUp[0]&&this._worldUp[1]>this._worldUp[2]}get zUp(){return this._worldUp[2]>this._worldUp[0]&&this._worldUp[2]>this._worldUp[1]}get worldRight(){return this._worldRight}get worldForward(){return this._worldForward}set gimbalLock(e){this._gimbalLock=!1!==e,this.fire("gimbalLock",this._gimbalLock)}get gimbalLock(){return this._gimbalLock}set constrainPitch(e){this._constrainPitch=!!e,this.fire("constrainPitch",this._constrainPitch)}get eyeLookDist(){return h.lenVec3(h.subVec3(this._look,this._eye,nt))}get matrix(){return this._updateScheduled&&this._doUpdate(),this._state.matrix}get viewMatrix(){return this._updateScheduled&&this._doUpdate(),this._state.matrix}get normalMatrix(){return this._updateScheduled&&this._doUpdate(),this._state.normalMatrix}get viewNormalMatrix(){return this._updateScheduled&&this._doUpdate(),this._state.normalMatrix}get inverseViewMatrix(){return this._updateScheduled&&this._doUpdate(),this._state.inverseMatrix}get projMatrix(){return this[this.projection].matrix}get perspective(){return this._perspective}get ortho(){return this._ortho}get frustum(){return this._frustum}get customProjection(){return this._customProjection}set projection(e){e=e||"perspective",this._projectionType!==e&&("perspective"===e?this._project=this._perspective:"ortho"===e?this._project=this._ortho:"frustum"===e?this._project=this._frustum:"customProjection"===e?this._project=this._customProjection:(this.error("Unsupported value for 'projection': "+e+" defaulting to 'perspective'"),this._project=this._perspective,e="perspective"),this._project._update(),this._projectionType=e,this.glRedraw(),this._update(),this.fire("dirty"),this.fire("projection",this._projectionType),this.fire("projMatrix",this._project.matrix))}get projection(){return this._projectionType}get project(){return this._project}projectWorldPos(e){const t=ct,s=ut,n=ht;t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=1,h.mulMat4v4(this.viewMatrix,t,s),h.mulMat4v4(this.projMatrix,s,n),h.mulVec3Scalar(n,1/n[3]),n[3]=1,n[1]*=-1;const i=this.scene.canvas.canvas,a=i.offsetWidth/2,r=i.offsetHeight/2;return[n[0]*a+a,n[1]*r+r]}destroy(){super.destroy(),this._state.destroy()}}class vt extends _{get type(){return"Light"}get isLight(){return!0}constructor(e,t={}){super(e,t)}}class wt extends vt{get type(){return"DirLight"}constructor(e,t={}){super(e,t),this._shadowRenderBuf=null,this._shadowViewMatrix=null,this._shadowProjMatrix=null,this._shadowViewMatrixDirty=!0,this._shadowProjMatrixDirty=!0;const s=this.scene.camera,n=this.scene.canvas;this._onCameraViewMatrix=s.on("viewMatrix",(()=>{this._shadowViewMatrixDirty=!0})),this._onCameraProjMatrix=s.on("projMatrix",(()=>{this._shadowProjMatrixDirty=!0})),this._onCanvasBoundary=n.on("boundary",(()=>{this._shadowProjMatrixDirty=!0})),this._state=new Je({type:"dir",dir:h.vec3([1,1,1]),color:h.vec3([.7,.7,.8]),intensity:1,space:t.space||"view",castsShadow:!1,getShadowViewMatrix:()=>{if(this._shadowViewMatrixDirty){this._shadowViewMatrix||(this._shadowViewMatrix=h.identityMat4());const e=this.scene.camera,t=this._state.dir,s=e.look,n=[s[0]-t[0],s[1]-t[1],s[2]-t[2]],i=[0,1,0];h.lookAtMat4v(n,s,i,this._shadowViewMatrix),this._shadowViewMatrixDirty=!1}return this._shadowViewMatrix},getShadowProjMatrix:()=>(this._shadowProjMatrixDirty&&(this._shadowProjMatrix||(this._shadowProjMatrix=h.identityMat4()),h.orthoMat4c(-40,40,-40,40,-40,80,this._shadowProjMatrix),this._shadowProjMatrixDirty=!1),this._shadowProjMatrix),getShadowRenderBuf:()=>(this._shadowRenderBuf||(this._shadowRenderBuf=new We(this.scene.canvas.canvas,this.scene.canvas.gl,{size:[1024,1024]})),this._shadowRenderBuf)}),this.dir=t.dir,this.color=t.color,this.intensity=t.intensity,this.castsShadow=t.castsShadow,this.scene._lightCreated(this)}set dir(e){this._state.dir.set(e||[1,1,1]),this._shadowViewMatrixDirty=!0,this.glRedraw()}get dir(){return this._state.dir}set color(e){this._state.color.set(e||[.7,.7,.8]),this.glRedraw()}get color(){return this._state.color}set intensity(e){e=void 0!==e?e:1,this._state.intensity=e,this.glRedraw()}get intensity(){return this._state.intensity}set castsShadow(e){e=!!e,this._state.castsShadow!==e&&(this._state.castsShadow=e,this._shadowViewMatrixDirty=!0,this.glRedraw())}get castsShadow(){return this._state.castsShadow}destroy(){const e=this.scene.camera,t=this.scene.canvas;e.off(this._onCameraViewMatrix),e.off(this._onCameraProjMatrix),t.off(this._onCanvasBoundary),super.destroy(),this._state.destroy(),this._shadowRenderBuf&&this._shadowRenderBuf.destroy(),this.scene._lightDestroyed(this),this.glRedraw()}}class gt extends vt{get type(){return"AmbientLight"}constructor(e,t={}){super(e,t),this._state={type:"ambient",color:h.vec3([.7,.7,.7]),intensity:1},this.color=t.color,this.intensity=t.intensity,this.scene._lightCreated(this)}set color(e){this._state.color.set(e||[.7,.7,.8]),this.glRedraw()}get color(){return this._state.color}set intensity(e){this._state.intensity=void 0!==e?e:1,this.glRedraw()}get intensity(){return this._state.intensity}destroy(){super.destroy(),this.scene._lightDestroyed(this)}}class Et extends _{get type(){return"Geometry"}get isGeometry(){return!0}constructor(e,t={}){super(e,t),d.memory.meshes++}destroy(){super.destroy(),d.memory.meshes--}}var Tt=function(){const e=[],t=[],s=[],n=[],i=[];let a=0;const r=new Uint16Array(3),l=new Uint16Array(3),o=new Uint16Array(3),c=h.vec3(),u=h.vec3(),p=h.vec3(),A=h.vec3(),d=h.vec3(),f=h.vec3(),I=h.vec3();return function(y,m,v,w){!function(i,a){const r={};let l,o,c,u;const h=Math.pow(10,4);let p,A,d=0;for(p=0,A=i.length;pE)||(N=s[_.index1],x=s[_.index2],(!L&&N>65535||x>65535)&&(L=!0),g.push(N),g.push(x));return L?new Uint32Array(g):new Uint16Array(g)}}();const bt=function(){const e=h.mat4(),t=h.mat4();return function(s,n){n=n||h.mat4();const i=s[0],a=s[1],r=s[2],l=s[3]-i,o=s[4]-a,c=s[5]-r,u=65535;return h.identityMat4(e),h.translationMat4v(s,e),h.identityMat4(t),h.scalingMat4v([l/u,o/u,c/u],t),h.mulMat4(e,t,n),n}}();var Dt=function(){const e=h.mat4(),t=h.mat4();return function(s,n,i){const a=new Uint16Array(s.length),r=new Float32Array([i[0]!==n[0]?65535/(i[0]-n[0]):0,i[1]!==n[1]?65535/(i[1]-n[1]):0,i[2]!==n[2]?65535/(i[2]-n[2]):0]);let l;for(l=0;l=0?1:-1),t=(1-Math.abs(i))*(a>=0?1:-1);i=e,a=t}return new Int8Array([Math[s](127.5*i+(i<0?-1:0)),Math[n](127.5*a+(a<0?-1:0))])}function Ct(e){let t=e[0],s=e[1];t/=t<0?127:128,s/=s<0?127:128;const n=1-Math.abs(t)-Math.abs(s);n<0&&(t=(1-Math.abs(s))*(t>=0?1:-1),s=(1-Math.abs(t))*(s>=0?1:-1));const i=Math.sqrt(t*t+s*s+n*n);return[t/i,s/i,n/i]}function _t(e,t,s){return e[t]*s[0]+e[t+1]*s[1]+e[t+2]*s[2]}const Bt={getPositionsBounds:function(e){const t=new Float32Array(3),s=new Float32Array(3);let n,i;for(n=0;n<3;n++)t[n]=Number.MAX_VALUE,s[n]=-Number.MAX_VALUE;for(n=0;nr&&(i=s,r=a),s=Rt(e,l,"floor","ceil"),n=Ct(s),a=_t(e,l,n),a>r&&(i=s,r=a),s=Rt(e,l,"ceil","ceil"),n=Ct(s),a=_t(e,l,n),a>r&&(i=s,r=a),t[l]=i[0],t[l+1]=i[1];return t},decompressNormals:function(e,t){for(let s=0,n=0,i=e.length;s=0?1:-1),a=(1-Math.abs(i))*(a>=0?1:-1));const l=Math.sqrt(i*i+a*a+r*r);t[n+0]=i/l,t[n+1]=a/l,t[n+2]=r/l,n+=3}return t},decompressNormal:function(e,t){let s=e[0],n=e[1];s=(2*s+1)/255,n=(2*n+1)/255;const i=1-Math.abs(s)-Math.abs(n);i<0&&(s=(1-Math.abs(n))*(s>=0?1:-1),n=(1-Math.abs(s))*(n>=0?1:-1));const a=Math.sqrt(s*s+n*n+i*i);return t[0]=s/a,t[1]=n/a,t[2]=i/a,t}},Ot=d.memory,St=h.AABB3();class Nt extends Et{get type(){return"ReadableGeometry"}get isReadableGeometry(){return!0}constructor(e,t={}){super(e,t),this._state=new Je({compressGeometry:!!t.compressGeometry,primitive:null,primitiveName:null,positions:null,normals:null,colors:null,uv:null,indices:null,positionsDecodeMatrix:null,uvDecodeMatrix:null,positionsBuf:null,normalsBuf:null,colorsbuf:null,uvBuf:null,indicesBuf:null,hash:""}),this._numTriangles=0,this._edgeThreshold=t.edgeThreshold||10,this._edgeIndicesBuf=null,this._pickTrianglePositionsBuf=null,this._pickTriangleColorsBuf=null,this._aabbDirty=!0,this._boundingSphere=!0,this._aabb=null,this._aabbDirty=!0,this._obb=null,this._obbDirty=!0;const s=this._state,n=this.scene.canvas.gl;switch(t.primitive=t.primitive||"triangles",t.primitive){case"points":s.primitive=n.POINTS,s.primitiveName=t.primitive;break;case"lines":s.primitive=n.LINES,s.primitiveName=t.primitive;break;case"line-loop":s.primitive=n.LINE_LOOP,s.primitiveName=t.primitive;break;case"line-strip":s.primitive=n.LINE_STRIP,s.primitiveName=t.primitive;break;case"triangles":s.primitive=n.TRIANGLES,s.primitiveName=t.primitive;break;case"triangle-strip":s.primitive=n.TRIANGLE_STRIP,s.primitiveName=t.primitive;break;case"triangle-fan":s.primitive=n.TRIANGLE_FAN,s.primitiveName=t.primitive;break;default:this.error("Unsupported value for 'primitive': '"+t.primitive+"' - supported values are 'points', 'lines', 'line-loop', 'line-strip', 'triangles', 'triangle-strip' and 'triangle-fan'. Defaulting to 'triangles'."),s.primitive=n.TRIANGLES,s.primitiveName=t.primitive}if(t.positions)if(this._state.compressGeometry){const e=Bt.getPositionsBounds(t.positions),n=Bt.compressPositions(t.positions,e.min,e.max);s.positions=n.quantized,s.positionsDecodeMatrix=n.decodeMatrix}else s.positions=t.positions.constructor===Float32Array?t.positions:new Float32Array(t.positions);if(t.colors&&(s.colors=t.colors.constructor===Float32Array?t.colors:new Float32Array(t.colors)),t.uv)if(this._state.compressGeometry){const e=Bt.getUVBounds(t.uv),n=Bt.compressUVs(t.uv,e.min,e.max);s.uv=n.quantized,s.uvDecodeMatrix=n.decodeMatrix}else s.uv=t.uv.constructor===Float32Array?t.uv:new Float32Array(t.uv);t.normals&&(this._state.compressGeometry?s.normals=Bt.compressNormals(t.normals):s.normals=t.normals.constructor===Float32Array?t.normals:new Float32Array(t.normals)),t.indices&&(s.indices=t.indices.constructor===Uint32Array||t.indices.constructor===Uint16Array?t.indices:new Uint32Array(t.indices),"triangles"===this._state.primitiveName&&(this._numTriangles=t.indices.length/3)),this._buildHash(),Ot.meshes++,this._buildVBOs()}_buildVBOs(){const e=this._state,t=this.scene.canvas.gl;if(e.indices&&(e.indicesBuf=new Oe(t,t.ELEMENT_ARRAY_BUFFER,e.indices,e.indices.length,1,t.STATIC_DRAW),Ot.indices+=e.indicesBuf.numItems),e.positions&&(e.positionsBuf=new Oe(t,t.ARRAY_BUFFER,e.positions,e.positions.length,3,t.STATIC_DRAW),Ot.positions+=e.positionsBuf.numItems),e.normals){let s=e.compressGeometry;e.normalsBuf=new Oe(t,t.ARRAY_BUFFER,e.normals,e.normals.length,3,t.STATIC_DRAW,s),Ot.normals+=e.normalsBuf.numItems}e.colors&&(e.colorsBuf=new Oe(t,t.ARRAY_BUFFER,e.colors,e.colors.length,4,t.STATIC_DRAW),Ot.colors+=e.colorsBuf.numItems),e.uv&&(e.uvBuf=new Oe(t,t.ARRAY_BUFFER,e.uv,e.uv.length,2,t.STATIC_DRAW),Ot.uvs+=e.uvBuf.numItems)}_buildHash(){const e=this._state,t=["/g"];t.push("/"+e.primitive+";"),e.positions&&t.push("p"),e.colors&&t.push("c"),(e.normals||e.autoVertexNormals)&&t.push("n"),e.uv&&t.push("u"),e.compressGeometry&&t.push("cp"),t.push(";"),e.hash=t.join("")}_getEdgeIndices(){return this._edgeIndicesBuf||this._buildEdgeIndices(),this._edgeIndicesBuf}_getPickTrianglePositions(){return this._pickTrianglePositionsBuf||this._buildPickTriangleVBOs(),this._pickTrianglePositionsBuf}_getPickTriangleColors(){return this._pickTriangleColorsBuf||this._buildPickTriangleVBOs(),this._pickTriangleColorsBuf}_buildEdgeIndices(){const e=this._state;if(!e.positions||!e.indices)return;const t=this.scene.canvas.gl,s=Tt(e.positions,e.indices,e.positionsDecodeMatrix,this._edgeThreshold);this._edgeIndicesBuf=new Oe(t,t.ELEMENT_ARRAY_BUFFER,s,s.length,1,t.STATIC_DRAW),Ot.indices+=this._edgeIndicesBuf.numItems}_buildPickTriangleVBOs(){const e=this._state;if(!e.positions||!e.indices)return;const t=this.scene.canvas.gl,s=h.buildPickTriangles(e.positions,e.indices,e.compressGeometry),n=s.positions,i=s.colors;this._pickTrianglePositionsBuf=new Oe(t,t.ARRAY_BUFFER,n,n.length,3,t.STATIC_DRAW),this._pickTriangleColorsBuf=new Oe(t,t.ARRAY_BUFFER,i,i.length,4,t.STATIC_DRAW,!0),Ot.positions+=this._pickTrianglePositionsBuf.numItems,Ot.colors+=this._pickTriangleColorsBuf.numItems}_buildPickVertexVBOs(){}_webglContextLost(){this._sceneVertexBufs&&this._sceneVertexBufs.webglContextLost()}_webglContextRestored(){this._sceneVertexBufs&&this._sceneVertexBufs.webglContextRestored(),this._buildVBOs(),this._edgeIndicesBuf=null,this._pickVertexPositionsBuf=null,this._pickTrianglePositionsBuf=null,this._pickTriangleColorsBuf=null,this._pickVertexPositionsBuf=null,this._pickVertexColorsBuf=null}get primitive(){return this._state.primitiveName}get compressGeometry(){return this._state.compressGeometry}get positions(){return this._state.positions?this._state.compressGeometry?(this._decompressedPositions||(this._decompressedPositions=new Float32Array(this._state.positions.length),Bt.decompressPositions(this._state.positions,this._state.positionsDecodeMatrix,this._decompressedPositions)),this._decompressedPositions):this._state.positions:null}set positions(e){const t=this._state,s=t.positions;if(s)if(s.length===e.length){if(this._state.compressGeometry){const s=Bt.getPositionsBounds(e),n=Bt.compressPositions(e,s.min,s.max);e=n.quantized,t.positionsDecodeMatrix=n.decodeMatrix}s.set(e),t.positionsBuf&&t.positionsBuf.setData(s),this._setAABBDirty(),this.glRedraw()}else this.error("can't update geometry positions - new positions are wrong length");else this.error("can't update geometry positions - geometry has no positions")}get normals(){if(this._state.normals){if(!this._state.compressGeometry)return this._state.normals;if(!this._decompressedNormals){const e=this._state.normals.length,t=e+e/2;this._decompressedNormals=new Float32Array(t),Bt.decompressNormals(this._state.normals,this._decompressedNormals)}return this._decompressedNormals}}set normals(e){if(this._state.compressGeometry)return void this.error("can't update geometry normals - quantized geometry is immutable");const t=this._state,s=t.normals;s?s.length===e.length?(s.set(e),t.normalsBuf&&t.normalsBuf.setData(s),this.glRedraw()):this.error("can't update geometry normals - new normals are wrong length"):this.error("can't update geometry normals - geometry has no normals")}get uv(){return this._state.uv?this._state.compressGeometry?(this._decompressedUV||(this._decompressedUV=new Float32Array(this._state.uv.length),Bt.decompressUVs(this._state.uv,this._state.uvDecodeMatrix,this._decompressedUV)),this._decompressedUV):this._state.uv:null}set uv(e){if(this._state.compressGeometry)return void this.error("can't update geometry UVs - quantized geometry is immutable");const t=this._state,s=t.uv;s?s.length===e.length?(s.set(e),t.uvBuf&&t.uvBuf.setData(s),this.glRedraw()):this.error("can't update geometry UVs - new UVs are wrong length"):this.error("can't update geometry UVs - geometry has no UVs")}get colors(){return this._state.colors}set colors(e){if(this._state.compressGeometry)return void this.error("can't update geometry colors - quantized geometry is immutable");const t=this._state,s=t.colors;s?s.length===e.length?(s.set(e),t.colorsBuf&&t.colorsBuf.setData(s),this.glRedraw()):this.error("can't update geometry colors - new colors are wrong length"):this.error("can't update geometry colors - geometry has no colors")}get indices(){return this._state.indices}get aabb(){return this._aabbDirty&&(this._aabb||(this._aabb=h.AABB3()),h.positions3ToAABB3(this._state.positions,this._aabb,this._state.positionsDecodeMatrix),this._aabbDirty=!1),this._aabb}get obb(){return this._obbDirty&&(this._obb||(this._obb=h.OBB3()),h.positions3ToAABB3(this._state.positions,St,this._state.positionsDecodeMatrix),h.AABB3ToOBB3(St,this._obb),this._obbDirty=!1),this._obb}get numTriangles(){return this._numTriangles}_setAABBDirty(){this._aabbDirty||(this._aabbDirty=!0,this._aabbDirty=!0,this._obbDirty=!0)}_getState(){return this._state}destroy(){super.destroy();const e=this._state;e.indicesBuf&&e.indicesBuf.destroy(),e.positionsBuf&&e.positionsBuf.destroy(),e.normalsBuf&&e.normalsBuf.destroy(),e.uvBuf&&e.uvBuf.destroy(),e.colorsBuf&&e.colorsBuf.destroy(),this._edgeIndicesBuf&&this._edgeIndicesBuf.destroy(),this._pickTrianglePositionsBuf&&this._pickTrianglePositionsBuf.destroy(),this._pickTriangleColorsBuf&&this._pickTriangleColorsBuf.destroy(),this._pickVertexPositionsBuf&&this._pickVertexPositionsBuf.destroy(),this._pickVertexColorsBuf&&this._pickVertexColorsBuf.destroy(),e.destroy(),Ot.meshes--}}function xt(e={}){let t=e.xSize||1;t<0&&(console.error("negative xSize not allowed - will invert"),t*=-1);let s=e.ySize||1;s<0&&(console.error("negative ySize not allowed - will invert"),s*=-1);let n=e.zSize||1;n<0&&(console.error("negative zSize not allowed - will invert"),n*=-1);const i=e.center,a=i?i[0]:0,r=i?i[1]:0,l=i?i[2]:0,o=-t+a,c=-s+r,u=-n+l,h=t+a,p=s+r,A=n+l;return m.apply(e,{positions:[h,p,A,o,p,A,o,c,A,h,c,A,h,p,A,h,c,A,h,c,u,h,p,u,h,p,A,h,p,u,o,p,u,o,p,A,o,p,A,o,p,u,o,c,u,o,c,A,o,c,u,h,c,u,h,c,A,o,c,A,h,c,u,o,c,u,o,p,u,h,p,u],normals:[0,0,1,0,0,1,0,0,1,0,0,1,1,0,0,1,0,0,1,0,0,1,0,0,0,1,0,0,1,0,0,1,0,0,1,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,0,-1,0,0,-1,0,0,-1,0,0,-1],uv:[1,0,0,0,0,1,1,1,0,0,0,1,1,1,1,0,1,1,1,0,0,0,0,1,1,0,0,0,0,1,1,1,0,1,1,1,1,0,0,0,0,1,1,1,1,0,0,0],indices:[0,1,2,0,2,3,4,5,6,4,6,7,8,9,10,8,10,11,12,13,14,12,14,15,16,17,18,16,18,19,20,21,22,20,22,23]})}class Lt extends _{get type(){return"Material"}constructor(e,t={}){super(e,t),d.memory.materials++}destroy(){super.destroy(),d.memory.materials--}}const Mt={opaque:0,mask:1,blend:2},Ft=["opaque","mask","blend"];class Ht extends Lt{get type(){return"PhongMaterial"}constructor(e,t={}){super(e,t),this._state=new Je({type:"PhongMaterial",ambient:h.vec3([1,1,1]),diffuse:h.vec3([1,1,1]),specular:h.vec3([1,1,1]),emissive:h.vec3([0,0,0]),alpha:null,shininess:null,reflectivity:null,alphaMode:null,alphaCutoff:null,lineWidth:null,pointSize:null,backfaces:null,frontface:null,hash:null}),this.ambient=t.ambient,this.diffuse=t.diffuse,this.specular=t.specular,this.emissive=t.emissive,this.alpha=t.alpha,this.shininess=t.shininess,this.reflectivity=t.reflectivity,this.lineWidth=t.lineWidth,this.pointSize=t.pointSize,t.ambientMap&&(this._ambientMap=this._checkComponent("Texture",t.ambientMap)),t.diffuseMap&&(this._diffuseMap=this._checkComponent("Texture",t.diffuseMap)),t.specularMap&&(this._specularMap=this._checkComponent("Texture",t.specularMap)),t.emissiveMap&&(this._emissiveMap=this._checkComponent("Texture",t.emissiveMap)),t.alphaMap&&(this._alphaMap=this._checkComponent("Texture",t.alphaMap)),t.reflectivityMap&&(this._reflectivityMap=this._checkComponent("Texture",t.reflectivityMap)),t.normalMap&&(this._normalMap=this._checkComponent("Texture",t.normalMap)),t.occlusionMap&&(this._occlusionMap=this._checkComponent("Texture",t.occlusionMap)),t.diffuseFresnel&&(this._diffuseFresnel=this._checkComponent("Fresnel",t.diffuseFresnel)),t.specularFresnel&&(this._specularFresnel=this._checkComponent("Fresnel",t.specularFresnel)),t.emissiveFresnel&&(this._emissiveFresnel=this._checkComponent("Fresnel",t.emissiveFresnel)),t.alphaFresnel&&(this._alphaFresnel=this._checkComponent("Fresnel",t.alphaFresnel)),t.reflectivityFresnel&&(this._reflectivityFresnel=this._checkComponent("Fresnel",t.reflectivityFresnel)),this.alphaMode=t.alphaMode,this.alphaCutoff=t.alphaCutoff,this.backfaces=t.backfaces,this.frontface=t.frontface,this._makeHash()}_makeHash(){const e=this._state,t=["/p"];this._normalMap&&(t.push("/nm"),this._normalMap.hasMatrix&&t.push("/mat")),this._ambientMap&&(t.push("/am"),this._ambientMap.hasMatrix&&t.push("/mat"),t.push("/"+this._ambientMap.encoding)),this._diffuseMap&&(t.push("/dm"),this._diffuseMap.hasMatrix&&t.push("/mat"),t.push("/"+this._diffuseMap.encoding)),this._specularMap&&(t.push("/sm"),this._specularMap.hasMatrix&&t.push("/mat")),this._emissiveMap&&(t.push("/em"),this._emissiveMap.hasMatrix&&t.push("/mat"),t.push("/"+this._emissiveMap.encoding)),this._alphaMap&&(t.push("/opm"),this._alphaMap.hasMatrix&&t.push("/mat")),this._reflectivityMap&&(t.push("/rm"),this._reflectivityMap.hasMatrix&&t.push("/mat")),this._occlusionMap&&(t.push("/ocm"),this._occlusionMap.hasMatrix&&t.push("/mat")),this._diffuseFresnel&&t.push("/df"),this._specularFresnel&&t.push("/sf"),this._emissiveFresnel&&t.push("/ef"),this._alphaFresnel&&t.push("/of"),this._reflectivityFresnel&&t.push("/rf"),t.push(";"),e.hash=t.join("")}set ambient(e){let t=this._state.ambient;if(t){if(e&&t[0]===e[0]&&t[1]===e[1]&&t[2]===e[2])return}else t=this._state.ambient=new Float32Array(3);e?(t[0]=e[0],t[1]=e[1],t[2]=e[2]):(t[0]=.2,t[1]=.2,t[2]=.2),this.glRedraw()}get ambient(){return this._state.ambient}set diffuse(e){let t=this._state.diffuse;if(t){if(e&&t[0]===e[0]&&t[1]===e[1]&&t[2]===e[2])return}else t=this._state.diffuse=new Float32Array(3);e?(t[0]=e[0],t[1]=e[1],t[2]=e[2]):(t[0]=1,t[1]=1,t[2]=1),this.glRedraw()}get diffuse(){return this._state.diffuse}set specular(e){let t=this._state.specular;if(t){if(e&&t[0]===e[0]&&t[1]===e[1]&&t[2]===e[2])return}else t=this._state.specular=new Float32Array(3);e?(t[0]=e[0],t[1]=e[1],t[2]=e[2]):(t[0]=1,t[1]=1,t[2]=1),this.glRedraw()}get specular(){return this._state.specular}set emissive(e){let t=this._state.emissive;if(t){if(e&&t[0]===e[0]&&t[1]===e[1]&&t[2]===e[2])return}else t=this._state.emissive=new Float32Array(3);e?(t[0]=e[0],t[1]=e[1],t[2]=e[2]):(t[0]=0,t[1]=0,t[2]=0),this.glRedraw()}get emissive(){return this._state.emissive}set alpha(e){e=null!=e?e:1,this._state.alpha!==e&&(this._state.alpha=e,this.glRedraw())}get alpha(){return this._state.alpha}set shininess(e){this._state.shininess=void 0!==e?e:80,this.glRedraw()}get shininess(){return this._state.shininess}set lineWidth(e){this._state.lineWidth=e||1,this.glRedraw()}get lineWidth(){return this._state.lineWidth}set pointSize(e){this._state.pointSize=e||1,this.glRedraw()}get pointSize(){return this._state.pointSize}set reflectivity(e){this._state.reflectivity=void 0!==e?e:1,this.glRedraw()}get reflectivity(){return this._state.reflectivity}get normalMap(){return this._normalMap}get ambientMap(){return this._ambientMap}get diffuseMap(){return this._diffuseMap}get specularMap(){return this._specularMap}get emissiveMap(){return this._emissiveMap}get alphaMap(){return this._alphaMap}get reflectivityMap(){return this._reflectivityMap}get occlusionMap(){return this._occlusionMap}get diffuseFresnel(){return this._diffuseFresnel}get specularFresnel(){return this._specularFresnel}get emissiveFresnel(){return this._emissiveFresnel}get alphaFresnel(){return this._alphaFresnel}get reflectivityFresnel(){return this._reflectivityFresnel}set alphaMode(e){let t=Mt[e=e||"opaque"];void 0===t&&(this.error("Unsupported value for 'alphaMode': "+e+" - defaulting to 'opaque'"),t="opaque"),this._state.alphaMode!==t&&(this._state.alphaMode=t,this.glRedraw())}get alphaMode(){return Ft[this._state.alphaMode]}set alphaCutoff(e){null==e&&(e=.5),this._state.alphaCutoff!==e&&(this._state.alphaCutoff=e)}get alphaCutoff(){return this._state.alphaCutoff}set backfaces(e){e=!!e,this._state.backfaces!==e&&(this._state.backfaces=e,this.glRedraw())}get backfaces(){return this._state.backfaces}set frontface(e){e="cw"!==e,this._state.frontface!==e&&(this._state.frontface=e,this.glRedraw())}get frontface(){return this._state.frontface?"ccw":"cw"}destroy(){super.destroy(),this._state.destroy()}}const Ut={default:{fill:!0,fillColor:[.4,.4,.4],fillAlpha:.2,edges:!0,edgeColor:[.2,.2,.2],edgeAlpha:.5,edgeWidth:1},defaultWhiteBG:{fill:!0,fillColor:[1,1,1],fillAlpha:.6,edgeColor:[.2,.2,.2],edgeAlpha:1,edgeWidth:1},defaultLightBG:{fill:!0,fillColor:[.4,.4,.4],fillAlpha:.2,edges:!0,edgeColor:[.2,.2,.2],edgeAlpha:.5,edgeWidth:1},defaultDarkBG:{fill:!0,fillColor:[.4,.4,.4],fillAlpha:.2,edges:!0,edgeColor:[.5,.5,.5],edgeAlpha:.5,edgeWidth:1},phosphorous:{fill:!0,fillColor:[0,0,0],fillAlpha:.4,edges:!0,edgeColor:[.9,.9,.9],edgeAlpha:.5,edgeWidth:2},sunset:{fill:!0,fillColor:[.9,.9,.6],fillAlpha:.2,edges:!0,edgeColor:[.9,.9,.9],edgeAlpha:.5,edgeWidth:1},vectorscope:{fill:!0,fillColor:[0,0,0],fillAlpha:.7,edges:!0,edgeColor:[.2,1,.2],edgeAlpha:1,edgeWidth:2},battlezone:{fill:!0,fillColor:[0,0,0],fillAlpha:1,edges:!0,edgeColor:[.2,1,.2],edgeAlpha:1,edgeWidth:3},sepia:{fill:!0,fillColor:[.970588207244873,.7965892553329468,.6660899519920349],fillAlpha:.4,edges:!0,edgeColor:[.529411792755127,.4577854573726654,.4100345969200134],edgeAlpha:1,edgeWidth:1},yellowHighlight:{fill:!0,fillColor:[1,1,0],fillAlpha:.5,edges:!0,edgeColor:[1,1,1],edgeAlpha:1,edgeWidth:1},greenSelected:{fill:!0,fillColor:[0,1,0],fillAlpha:.5,edges:!0,edgeColor:[1,1,1],edgeAlpha:1,edgeWidth:1},gamegrid:{fill:!0,fillColor:[.2,.2,.7],fillAlpha:.9,edges:!0,edgeColor:[.4,.4,1.6],edgeAlpha:.8,edgeWidth:3}};class Gt extends Lt{get type(){return"EmphasisMaterial"}get presets(){return Ut}constructor(e,t={}){super(e,t),this._state=new Je({type:"EmphasisMaterial",fill:null,fillColor:null,fillAlpha:null,edges:null,edgeColor:null,edgeAlpha:null,edgeWidth:null,backfaces:!0,glowThrough:!0}),this._preset="default",t.preset?(this.preset=t.preset,void 0!==t.fill&&(this.fill=t.fill),t.fillColor&&(this.fillColor=t.fillColor),void 0!==t.fillAlpha&&(this.fillAlpha=t.fillAlpha),void 0!==t.edges&&(this.edges=t.edges),t.edgeColor&&(this.edgeColor=t.edgeColor),void 0!==t.edgeAlpha&&(this.edgeAlpha=t.edgeAlpha),void 0!==t.edgeWidth&&(this.edgeWidth=t.edgeWidth),void 0!==t.backfaces&&(this.backfaces=t.backfaces),void 0!==t.glowThrough&&(this.glowThrough=t.glowThrough)):(this.fill=t.fill,this.fillColor=t.fillColor,this.fillAlpha=t.fillAlpha,this.edges=t.edges,this.edgeColor=t.edgeColor,this.edgeAlpha=t.edgeAlpha,this.edgeWidth=t.edgeWidth,this.backfaces=t.backfaces,this.glowThrough=t.glowThrough)}set fill(e){e=!1!==e,this._state.fill!==e&&(this._state.fill=e,this.glRedraw())}get fill(){return this._state.fill}set fillColor(e){let t=this._state.fillColor;if(t){if(e&&t[0]===e[0]&&t[1]===e[1]&&t[2]===e[2])return}else t=this._state.fillColor=new Float32Array(3);e?(t[0]=e[0],t[1]=e[1],t[2]=e[2]):(t[0]=.4,t[1]=.4,t[2]=.4),this.glRedraw()}get fillColor(){return this._state.fillColor}set fillAlpha(e){e=null!=e?e:.2,this._state.fillAlpha!==e&&(this._state.fillAlpha=e,this.glRedraw())}get fillAlpha(){return this._state.fillAlpha}set edges(e){e=!1!==e,this._state.edges!==e&&(this._state.edges=e,this.glRedraw())}get edges(){return this._state.edges}set edgeColor(e){let t=this._state.edgeColor;if(t){if(e&&t[0]===e[0]&&t[1]===e[1]&&t[2]===e[2])return}else t=this._state.edgeColor=new Float32Array(3);e?(t[0]=e[0],t[1]=e[1],t[2]=e[2]):(t[0]=.2,t[1]=.2,t[2]=.2),this.glRedraw()}get edgeColor(){return this._state.edgeColor}set edgeAlpha(e){e=null!=e?e:.5,this._state.edgeAlpha!==e&&(this._state.edgeAlpha=e,this.glRedraw())}get edgeAlpha(){return this._state.edgeAlpha}set edgeWidth(e){this._state.edgeWidth=e||1,this.glRedraw()}get edgeWidth(){return this._state.edgeWidth}set backfaces(e){e=!!e,this._state.backfaces!==e&&(this._state.backfaces=e,this.glRedraw())}get backfaces(){return this._state.backfaces}set glowThrough(e){e=!1!==e,this._state.glowThrough!==e&&(this._state.glowThrough=e,this.glRedraw())}get glowThrough(){return this._state.glowThrough}set preset(e){if(e=e||"default",this._preset===e)return;const t=Ut[e];t?(this.fill=t.fill,this.fillColor=t.fillColor,this.fillAlpha=t.fillAlpha,this.edges=t.edges,this.edgeColor=t.edgeColor,this.edgeAlpha=t.edgeAlpha,this.edgeWidth=t.edgeWidth,this.glowThrough=t.glowThrough,this._preset=e):this.error("unsupported preset: '"+e+"' - supported values are "+Object.keys(Ut).join(", "))}get preset(){return this._preset}destroy(){super.destroy(),this._state.destroy()}}const jt={default:{edgeColor:[0,0,0],edgeAlpha:1,edgeWidth:1},defaultWhiteBG:{edgeColor:[.2,.2,.2],edgeAlpha:1,edgeWidth:1},defaultLightBG:{edgeColor:[.2,.2,.2],edgeAlpha:1,edgeWidth:1},defaultDarkBG:{edgeColor:[.5,.5,.5],edgeAlpha:1,edgeWidth:1}};class Vt extends Lt{get type(){return"EdgeMaterial"}get presets(){return jt}constructor(e,t={}){super(e,t),this._state=new Je({type:"EdgeMaterial",edges:null,edgeColor:null,edgeAlpha:null,edgeWidth:null}),this._preset="default",t.preset?(this.preset=t.preset,t.edgeColor&&(this.edgeColor=t.edgeColor),void 0!==t.edgeAlpha&&(this.edgeAlpha=t.edgeAlpha),void 0!==t.edgeWidth&&(this.edgeWidth=t.edgeWidth)):(this.edgeColor=t.edgeColor,this.edgeAlpha=t.edgeAlpha,this.edgeWidth=t.edgeWidth),this.edges=!1!==t.edges}set edges(e){e=!1!==e,this._state.edges!==e&&(this._state.edges=e,this.glRedraw())}get edges(){return this._state.edges}set edgeColor(e){let t=this._state.edgeColor;if(t){if(e&&t[0]===e[0]&&t[1]===e[1]&&t[2]===e[2])return}else t=this._state.edgeColor=new Float32Array(3);e?(t[0]=e[0],t[1]=e[1],t[2]=e[2]):(t[0]=.2,t[1]=.2,t[2]=.2),this.glRedraw()}get edgeColor(){return this._state.edgeColor}set edgeAlpha(e){e=null!=e?e:1,this._state.edgeAlpha!==e&&(this._state.edgeAlpha=e,this.glRedraw())}get edgeAlpha(){return this._state.edgeAlpha}set edgeWidth(e){this._state.edgeWidth=e||1,this.glRedraw()}get edgeWidth(){return this._state.edgeWidth}set preset(e){if(e=e||"default",this._preset===e)return;const t=jt[e];t?(this.edgeColor=t.edgeColor,this.edgeAlpha=t.edgeAlpha,this.edgeWidth=t.edgeWidth,this._preset=e):this.error("unsupported preset: '"+e+"' - supported values are "+Object.keys(jt).join(", "))}get preset(){return this._preset}destroy(){super.destroy(),this._state.destroy()}}const kt={meters:{abbrev:"m"},metres:{abbrev:"m"},centimeters:{abbrev:"cm"},centimetres:{abbrev:"cm"},millimeters:{abbrev:"mm"},millimetres:{abbrev:"mm"},yards:{abbrev:"yd"},feet:{abbrev:"ft"},inches:{abbrev:"in"}};class Qt extends _{constructor(e,t={}){super(e,t),this._units="meters",this._scale=1,this._origin=h.vec3([0,0,0]),this.units=t.units,this.scale=t.scale,this.origin=t.origin}get unitsInfo(){return kt}set units(e){e||(e="meters");kt[e]||(this.error("Unsupported value for 'units': "+e+" defaulting to 'meters'"),e="meters"),this._units=e,this.fire("units",this._units)}get units(){return this._units}set scale(e){(e=e||1)<=0?this.error("scale value should be larger than zero"):(this._scale=e,this.fire("scale",this._scale))}get scale(){return this._scale}set origin(e){if(!e)return this._origin[0]=0,this._origin[1]=0,void(this._origin[2]=0);this._origin[0]=e[0],this._origin[1]=e[1],this._origin[2]=e[2],this.fire("origin",this._origin)}get origin(){return this._origin}worldToRealPos(e,t=h.vec3(3)){t[0]=this._origin[0]+this._scale*e[0],t[1]=this._origin[1]+this._scale*e[1],t[2]=this._origin[2]+this._scale*e[2]}realToWorldPos(e,t=h.vec3(3)){return t[0]=(e[0]-this._origin[0])/this._scale,t[1]=(e[1]-this._origin[1])/this._scale,t[2]=(e[2]-this._origin[2])/this._scale,t}}class Wt extends _{constructor(e,t={}){super(e,t),this._supported=ge.SUPPORTED_EXTENSIONS.OES_standard_derivatives,this.enabled=t.enabled,this.kernelRadius=t.kernelRadius,this.intensity=t.intensity,this.bias=t.bias,this.scale=t.scale,this.minResolution=t.minResolution,this.numSamples=t.numSamples,this.blur=t.blur,this.blendCutoff=t.blendCutoff,this.blendFactor=t.blendFactor}get supported(){return this._supported}set enabled(e){e=!!e,this._enabled!==e&&(this._enabled=e,this.glRedraw())}get enabled(){return this._enabled}get possible(){if(!this._supported)return!1;if(!this._enabled)return!1;const e=this.scene.camera.projection;return"customProjection"!==e&&"frustum"!==e}get active(){return this._active}set kernelRadius(e){null==e&&(e=100),this._kernelRadius!==e&&(this._kernelRadius=e,this.glRedraw())}get kernelRadius(){return this._kernelRadius}set intensity(e){null==e&&(e=.15),this._intensity!==e&&(this._intensity=e,this.glRedraw())}get intensity(){return this._intensity}set bias(e){null==e&&(e=.5),this._bias!==e&&(this._bias=e,this.glRedraw())}get bias(){return this._bias}set scale(e){null==e&&(e=1),this._scale!==e&&(this._scale=e,this.glRedraw())}get scale(){return this._scale}set minResolution(e){null==e&&(e=0),this._minResolution!==e&&(this._minResolution=e,this.glRedraw())}get minResolution(){return this._minResolution}set numSamples(e){null==e&&(e=10),this._numSamples!==e&&(this._numSamples=e,this.glRedraw())}get numSamples(){return this._numSamples}set blur(e){e=!1!==e,this._blur!==e&&(this._blur=e,this.glRedraw())}get blur(){return this._blur}set blendCutoff(e){null==e&&(e=.3),this._blendCutoff!==e&&(this._blendCutoff=e,this.glRedraw())}get blendCutoff(){return this._blendCutoff}set blendFactor(e){null==e&&(e=1),this._blendFactor!==e&&(this._blendFactor=e,this.glRedraw())}get blendFactor(){return this._blendFactor}destroy(){super.destroy()}}const zt={default:{pointSize:4,roundPoints:!0,perspectivePoints:!0},square:{pointSize:4,roundPoints:!1,perspectivePoints:!0},round:{pointSize:4,roundPoints:!0,perspectivePoints:!0}};class Kt extends Lt{get type(){return"PointsMaterial"}get presets(){return zt}constructor(e,t={}){super(e,t),this._state=new Je({type:"PointsMaterial",pointSize:null,roundPoints:null,perspectivePoints:null,minPerspectivePointSize:null,maxPerspectivePointSize:null,filterIntensity:null,minIntensity:null,maxIntensity:null}),t.preset?(this.preset=t.preset,void 0!==t.pointSize&&(this.pointSize=t.pointSize),void 0!==t.roundPoints&&(this.roundPoints=t.roundPoints),void 0!==t.perspectivePoints&&(this.perspectivePoints=t.perspectivePoints),void 0!==t.minPerspectivePointSize&&(this.minPerspectivePointSize=t.minPerspectivePointSize),void 0!==t.maxPerspectivePointSize&&(this.maxPerspectivePointSize=t.minPerspectivePointSize)):(this._preset="default",this.pointSize=t.pointSize,this.roundPoints=t.roundPoints,this.perspectivePoints=t.perspectivePoints,this.minPerspectivePointSize=t.minPerspectivePointSize,this.maxPerspectivePointSize=t.maxPerspectivePointSize),this.filterIntensity=t.filterIntensity,this.minIntensity=t.minIntensity,this.maxIntensity=t.maxIntensity}set pointSize(e){this._state.pointSize=e||2,this.glRedraw()}get pointSize(){return this._state.pointSize}set roundPoints(e){e=!1!==e,this._state.roundPoints!==e&&(this._state.roundPoints=e,this.scene._needRecompile=!0,this.glRedraw())}get roundPoints(){return this._state.roundPoints}set perspectivePoints(e){e=!1!==e,this._state.perspectivePoints!==e&&(this._state.perspectivePoints=e,this.scene._needRecompile=!0,this.glRedraw())}get perspectivePoints(){return this._state.perspectivePoints}set minPerspectivePointSize(e){this._state.minPerspectivePointSize=e||1,this.scene._needRecompile=!0,this.glRedraw()}get minPerspectivePointSize(){return this._state.minPerspectivePointSize}set maxPerspectivePointSize(e){this._state.maxPerspectivePointSize=e||6,this.scene._needRecompile=!0,this.glRedraw()}get maxPerspectivePointSize(){return this._state.maxPerspectivePointSize}set filterIntensity(e){e=!1!==e,this._state.filterIntensity!==e&&(this._state.filterIntensity=e,this.scene._needRecompile=!0,this.glRedraw())}get filterIntensity(){return this._state.filterIntensity}set minIntensity(e){this._state.minIntensity=null!=e?e:0,this.glRedraw()}get minIntensity(){return this._state.minIntensity}set maxIntensity(e){this._state.maxIntensity=null!=e?e:1,this.glRedraw()}get maxIntensity(){return this._state.maxIntensity}set preset(e){if(e=e||"default",this._preset===e)return;const t=zt[e];t?(this.pointSize=t.pointSize,this.roundPoints=t.roundPoints,this.perspectivePoints=t.perspectivePoints,this.minPerspectivePointSize=t.minPerspectivePointSize,this.maxPerspectivePointSize=t.maxPerspectivePointSize,this._preset=e):this.error("unsupported preset: '"+e+"' - supported values are "+Object.keys(zt).join(", "))}get preset(){return this._preset}get hash(){return[this.pointSize,this.roundPoints,this.perspectivePoints,this.minPerspectivePointSize,this.maxPerspectivePointSize,this.filterIntensity].join(";")}destroy(){super.destroy(),this._state.destroy()}}const Yt={default:{lineWidth:1},thick:{lineWidth:2},thicker:{lineWidth:4}};class Xt extends Lt{get type(){return"LinesMaterial"}get presets(){return Yt}constructor(e,t={}){super(e,t),this._state=new Je({type:"LinesMaterial",lineWidth:null}),t.preset?(this.preset=t.preset,void 0!==t.lineWidth&&(this.lineWidth=t.lineWidth)):(this._preset="default",this.lineWidth=t.lineWidth)}set lineWidth(e){this._state.lineWidth=e||1,this.glRedraw()}get lineWidth(){return this._state.lineWidth}set preset(e){if(e=e||"default",this._preset===e)return;const t=Yt[e];t?(this.lineWidth=t.lineWidth,this._preset=e):this.error("unsupported preset: '"+e+"' - supported values are "+Object.keys(Yt).join(", "))}get preset(){return this._preset}get hash(){return[""+this.lineWidth].join(";")}destroy(){super.destroy(),this._state.destroy()}}function qt(e,t){const s={};let n,i;for(let a=0,r=t.length;a{this.glRedraw()})),this.canvas.on("webglContextFailed",(()=>{alert("xeokit failed to find WebGL!")})),this._renderer=new Ye(this,{transparent:n,alphaDepthMask:i}),this._sectionPlanesState=new function(){this.sectionPlanes=[],this.clippingCaps=!1,this._numCachedSectionPlanes=0;let e=null;this.getHash=function(){if(e)return e;const t=this.getNumAllocatedSectionPlanes();if(this.sectionPlanes,0===t)return this.hash=";";const s=[];for(let e=0,n=t;ethis._numCachedSectionPlanes?e:this._numCachedSectionPlanes}},this._sectionPlanesState.setNumCachedSectionPlanes(t.numCachedSectionPlanes||0),this._lightsState=new function(){const e=h.vec4([0,0,0,0]),t=h.vec4();this.lights=[],this.reflectionMaps=[],this.lightMaps=[];let s=null,n=null;this.getHash=function(){if(s)return s;const e=[],t=this.lights;let n;for(let s=0,i=t.length;s0&&e.push("/lm"),this.reflectionMaps.length>0&&e.push("/rm"),e.push(";"),s=e.join(""),s},this.addLight=function(e){this.lights.push(e),n=null,s=null},this.removeLight=function(e){for(let t=0,i=this.lights.length;t{this._renderer.imageDirty()}))}_initDefaults(){}_addComponent(e){if(e.id&&this.components[e.id]&&(this.error("Component "+m.inQuotes(e.id)+" already exists in Scene - ignoring ID, will randomly-generate instead"),e.id=null),!e.id)for(void 0===window.nextID&&(window.nextID=0),e.id="__"+window.nextID++;this.components[e.id];)e.id=h.createUUID();this.components[e.id]=e;const t=e.type;let s=this.types[e.type];s||(s=this.types[t]={}),s[e.id]=e,e.compile&&(this._compilables[e.id]=e),e.isDrawable&&(this._renderer.addDrawable(e.id,e),this._collidables[e.id]=e)}_removeComponent(e){var t=e.id,s=e.type;delete this.components[t];const n=this.types[s];n&&(delete n[t],m.isEmptyObject(n)&&delete this.types[s]),e.compile&&delete this._compilables[e.id],e.isDrawable&&(this._renderer.removeDrawable(e.id),delete this._collidables[e.id])}_sectionPlaneCreated(e){this.sectionPlanes[e.id]=e,this.scene._sectionPlanesState.addSectionPlane(e._state),this.scene.fire("sectionPlaneCreated",e,!0),this._needRecompile=!0}_bitmapCreated(e){this.bitmaps[e.id]=e,this.scene.fire("bitmapCreated",e,!0)}_lineSetCreated(e){this.lineSets[e.id]=e,this.scene.fire("lineSetCreated",e,!0)}_lightCreated(e){this.lights[e.id]=e,this.scene._lightsState.addLight(e._state),this._needRecompile=!0}_lightMapCreated(e){this.lightMaps[e.id]=e,this.scene._lightsState.addLightMap(e._state),this._needRecompile=!0}_reflectionMapCreated(e){this.reflectionMaps[e.id]=e,this.scene._lightsState.addReflectionMap(e._state),this._needRecompile=!0}_sectionPlaneDestroyed(e){delete this.sectionPlanes[e.id],this.scene._sectionPlanesState.removeSectionPlane(e._state),this.scene.fire("sectionPlaneDestroyed",e,!0),this._needRecompile=!0}_bitmapDestroyed(e){delete this.bitmaps[e.id],this.scene.fire("bitmapDestroyed",e,!0)}_lineSetDestroyed(e){delete this.lineSets[e.id],this.scene.fire("lineSetDestroyed",e,!0)}_lightDestroyed(e){delete this.lights[e.id],this.scene._lightsState.removeLight(e._state),this._needRecompile=!0}_lightMapDestroyed(e){delete this.lightMaps[e.id],this.scene._lightsState.removeLightMap(e._state),this._needRecompile=!0}_reflectionMapDestroyed(e){delete this.reflectionMaps[e.id],this.scene._lightsState.removeReflectionMap(e._state),this._needRecompile=!0}_registerModel(e){this.models[e.id]=e,this._modelIds=null}_deregisterModel(e){const t=e.id;delete this.models[t],this._modelIds=null,this.fire("modelUnloaded",t)}_registerObject(e){this.objects[e.id]=e,this._numObjects++,this._objectIds=null}_deregisterObject(e){delete this.objects[e.id],this._numObjects--,this._objectIds=null}_objectVisibilityUpdated(e,t=!0){e.visible?(this.visibleObjects[e.id]=e,this._numVisibleObjects++):(delete this.visibleObjects[e.id],this._numVisibleObjects--),this._visibleObjectIds=null,t&&this.fire("objectVisibility",e,!0)}_objectXRayedUpdated(e,t=!0){e.xrayed?(this.xrayedObjects[e.id]=e,this._numXRayedObjects++):(delete this.xrayedObjects[e.id],this._numXRayedObjects--),this._xrayedObjectIds=null,t&&this.fire("objectXRayed",e,!0)}_objectHighlightedUpdated(e,t=!0){e.highlighted?(this.highlightedObjects[e.id]=e,this._numHighlightedObjects++):(delete this.highlightedObjects[e.id],this._numHighlightedObjects--),this._highlightedObjectIds=null,t&&this.fire("objectHighlighted",e,!0)}_objectSelectedUpdated(e,t=!0){e.selected?(this.selectedObjects[e.id]=e,this._numSelectedObjects++):(delete this.selectedObjects[e.id],this._numSelectedObjects--),this._selectedObjectIds=null,t&&this.fire("objectSelected",e,!0)}_objectColorizeUpdated(e,t){t?(this.colorizedObjects[e.id]=e,this._numColorizedObjects++):(delete this.colorizedObjects[e.id],this._numColorizedObjects--),this._colorizedObjectIds=null}_objectOpacityUpdated(e,t){t?(this.opacityObjects[e.id]=e,this._numOpacityObjects++):(delete this.opacityObjects[e.id],this._numOpacityObjects--),this._opacityObjectIds=null}_objectOffsetUpdated(e,t){!t||0===t[0]&&0===t[1]&&0===t[2]?(this.offsetObjects[e.id]=e,this._numOffsetObjects++):(delete this.offsetObjects[e.id],this._numOffsetObjects--),this._offsetObjectIds=null}_webglContextLost(){this.canvas.spinner.processes++;for(const e in this.components)if(this.components.hasOwnProperty(e)){const t=this.components[e];t._webglContextLost&&t._webglContextLost()}this._renderer.webglContextLost()}_webglContextRestored(){const e=this.canvas.gl;for(const t in this.components)if(this.components.hasOwnProperty(t)){const s=this.components[t];s._webglContextRestored&&s._webglContextRestored(e)}this._renderer.webglContextRestored(e),this.canvas.spinner.processes--}get capabilities(){return this._renderer.capabilities}get entityOffsetsEnabled(){return this._entityOffsetsEnabled}get pickSurfacePrecisionEnabled(){return!1}get logarithmicDepthBufferEnabled(){return this._logarithmicDepthBufferEnabled}set numCachedSectionPlanes(e){e=e||0,this._sectionPlanesState.getNumCachedSectionPlanes()!==e&&(this._sectionPlanesState.setNumCachedSectionPlanes(e),this._needRecompile=!0,this.glRedraw())}get numCachedSectionPlanes(){return this._sectionPlanesState.getNumCachedSectionPlanes()}set pbrEnabled(e){this._pbrEnabled=!!e,this.glRedraw()}get pbrEnabled(){return this._pbrEnabled}set dtxEnabled(e){e=!!e,this._dtxEnabled!==e&&(this._dtxEnabled=e)}get dtxEnabled(){return this._dtxEnabled}set colorTextureEnabled(e){this._colorTextureEnabled=!!e,this.glRedraw()}get colorTextureEnabled(){return this._colorTextureEnabled}doOcclusionTest(){this._needRecompile&&(this._recompile(),this._needRecompile=!1),this._renderer.doOcclusionTest()}render(e){e&&R.runTasks();const t={sceneId:null,pass:0};if(this._needRecompile&&(this._recompile(),this._renderer.imageDirty(),this._needRecompile=!1),!e&&!this._renderer.needsRender())return;t.sceneId=this.id;const s=this._passes,n=this._clearEachPass;let i,a;for(i=0;ii&&(i=e[3]),e[4]>a&&(a=e[4]),e[5]>r&&(r=e[5]),c=!0}c||(t=-100,s=-100,n=-100,i=100,a=100,r=100),this._aabb[0]=t,this._aabb[1]=s,this._aabb[2]=n,this._aabb[3]=i,this._aabb[4]=a,this._aabb[5]=r,this._aabbDirty=!1}return this._aabb}_setAABBDirty(){this._aabbDirty=!0,this.fire("boundary")}pick(e,t){if(0===this.canvas.boundary[2]||0===this.canvas.boundary[3])return this.error("Picking not allowed while canvas has zero width or height"),null;(e=e||{}).pickSurface=e.pickSurface||e.rayPick,e.canvasPos||e.matrix||e.origin&&e.direction||this.warn("picking without canvasPos, matrix, or ray origin and direction");const s=e.includeEntities||e.include;s&&(e.includeEntityIds=qt(this,s));const n=e.excludeEntities||e.exclude;return n&&(e.excludeEntityIds=qt(this,n)),this._needRecompile&&(this._recompile(),this._renderer.imageDirty(),this._needRecompile=!1),(t=e.snapToEdge||e.snapToVertex?this._renderer.snapPick(e.canvasPos,e.snapRadius||30,e.snapToVertex,e.snapToEdge,t):this._renderer.pick(e,t))&&t.entity&&t.entity.fire&&t.entity.fire("picked",t),t}snapPick(e){return void 0===this._warnSnapPickDeprecated&&(this._warnSnapPickDeprecated=!0,this.warn("Scene.snapPick() is deprecated since v2.4.2 - use Scene.pick() instead")),this._renderer.snapPick(e.canvasPos,e.snapRadius||30,e.snapToVertex,e.snapToEdge)}clear(){var e;for(const t in this.components)this.components.hasOwnProperty(t)&&((e=this.components[t])._dontClear||e.destroy())}clearLights(){const e=Object.keys(this.lights);for(let t=0,s=e.length;t{if(e.collidable){const o=e.aabb;o[0]a&&(a=o[3]),o[4]>r&&(r=o[4]),o[5]>l&&(l=o[5]),t=!0}})),t){const e=h.AABB3();return e[0]=s,e[1]=n,e[2]=i,e[3]=a,e[4]=r,e[5]=l,e}return this.aabb}setObjectsVisible(e,t){return this.withObjects(e,(e=>{const s=e.visible!==t;return e.visible=t,s}))}setObjectsCollidable(e,t){return this.withObjects(e,(e=>{const s=e.collidable!==t;return e.collidable=t,s}))}setObjectsCulled(e,t){return this.withObjects(e,(e=>{const s=e.culled!==t;return e.culled=t,s}))}setObjectsSelected(e,t){return this.withObjects(e,(e=>{const s=e.selected!==t;return e.selected=t,s}))}setObjectsHighlighted(e,t){return this.withObjects(e,(e=>{const s=e.highlighted!==t;return e.highlighted=t,s}))}setObjectsXRayed(e,t){return this.withObjects(e,(e=>{const s=e.xrayed!==t;return e.xrayed=t,s}))}setObjectsEdges(e,t){return this.withObjects(e,(e=>{const s=e.edges!==t;return e.edges=t,s}))}setObjectsColorized(e,t){return this.withObjects(e,(e=>{e.colorize=t}))}setObjectsOpacity(e,t){return this.withObjects(e,(e=>{const s=e.opacity!==t;return e.opacity=t,s}))}setObjectsPickable(e,t){return this.withObjects(e,(e=>{const s=e.pickable!==t;return e.pickable=t,s}))}setObjectsOffset(e,t){this.withObjects(e,(e=>{e.offset=t}))}withObjects(e,t){m.isString(e)&&(e=[e]);let s=!1;for(let n=0,i=e.length;n{i>n&&(n=i,e(...s))}));return this._tickifiedFunctions[t]={tickSubId:r,wrapperFunc:a},a}destroy(){super.destroy();for(const e in this.components)this.components.hasOwnProperty(e)&&this.components[e].destroy();this.canvas.gl=null,this.components=null,this.models=null,this.objects=null,this.visibleObjects=null,this.xrayedObjects=null,this.highlightedObjects=null,this.selectedObjects=null,this.colorizedObjects=null,this.opacityObjects=null,this.sectionPlanes=null,this.lights=null,this.lightMaps=null,this.reflectionMaps=null,this._objectIds=null,this._visibleObjectIds=null,this._xrayedObjectIds=null,this._highlightedObjectIds=null,this._selectedObjectIds=null,this._colorizedObjectIds=null,this.types=null,this.components=null,this.canvas=null,this._renderer=null,this.input=null,this._viewport=null,this._camera=null}}const Zt=function(e){"LambertMaterial"===e._material._state.type?(this.vertex=function(e){const t=e.scene,s=e.scene._sectionPlanesState,n=e.scene._lightsState,i=e._geometry._state,a=e._state.billboard,r=e._state.stationary,l=s.getNumAllocatedSectionPlanes()>0,o=!!i.compressGeometry,c=[];c.push("#version 300 es"),c.push("// Lambertian drawing vertex shader"),c.push("in vec3 position;"),c.push("uniform mat4 modelMatrix;"),c.push("uniform mat4 viewMatrix;"),c.push("uniform mat4 projMatrix;"),c.push("uniform vec4 colorize;"),c.push("uniform vec3 offset;"),o&&c.push("uniform mat4 positionsDecodeMatrix;");t.logarithmicDepthBufferEnabled&&(c.push("uniform float logDepthBufFC;"),c.push("out float vFragDepth;"),c.push("bool isPerspectiveMatrix(mat4 m) {"),c.push(" return (m[2][3] == - 1.0);"),c.push("}"),c.push("out float isPerspective;"));l&&c.push("out vec4 vWorldPosition;");if(c.push("uniform vec4 lightAmbient;"),c.push("uniform vec4 materialColor;"),c.push("uniform vec3 materialEmissive;"),i.normalsBuf){c.push("in vec3 normal;"),c.push("uniform mat4 modelNormalMatrix;"),c.push("uniform mat4 viewNormalMatrix;");for(let e=0,t=n.lights.length;e= 0.0 ? 1.0 : -1.0, v.y >= 0.0 ? 1.0 : -1.0);"),c.push(" }"),c.push(" return normalize(v);"),c.push("}"))}c.push("out vec4 vColor;"),"points"===i.primitiveName&&c.push("uniform float pointSize;");"spherical"!==a&&"cylindrical"!==a||(c.push("void billboard(inout mat4 mat) {"),c.push(" mat[0][0] = 1.0;"),c.push(" mat[0][1] = 0.0;"),c.push(" mat[0][2] = 0.0;"),"spherical"===a&&(c.push(" mat[1][0] = 0.0;"),c.push(" mat[1][1] = 1.0;"),c.push(" mat[1][2] = 0.0;")),c.push(" mat[2][0] = 0.0;"),c.push(" mat[2][1] = 0.0;"),c.push(" mat[2][2] =1.0;"),c.push("}"));c.push("void main(void) {"),c.push("vec4 localPosition = vec4(position, 1.0); "),c.push("vec4 worldPosition;"),o&&c.push("localPosition = positionsDecodeMatrix * localPosition;");i.normalsBuf&&(o?c.push("vec4 localNormal = vec4(octDecode(normal.xy), 0.0); "):c.push("vec4 localNormal = vec4(normal, 0.0); "),c.push("mat4 modelNormalMatrix2 = modelNormalMatrix;"),c.push("mat4 viewNormalMatrix2 = viewNormalMatrix;"));c.push("mat4 viewMatrix2 = viewMatrix;"),c.push("mat4 modelMatrix2 = modelMatrix;"),r&&c.push("viewMatrix2[3][0] = viewMatrix2[3][1] = viewMatrix2[3][2] = 0.0;");"spherical"===a||"cylindrical"===a?(c.push("mat4 modelViewMatrix = viewMatrix2 * modelMatrix2;"),c.push("billboard(modelMatrix2);"),c.push("billboard(viewMatrix2);"),c.push("billboard(modelViewMatrix);"),i.normalsBuf&&(c.push("mat4 modelViewNormalMatrix = viewNormalMatrix2 * modelNormalMatrix2;"),c.push("billboard(modelNormalMatrix2);"),c.push("billboard(viewNormalMatrix2);"),c.push("billboard(modelViewNormalMatrix);")),c.push("worldPosition = modelMatrix2 * localPosition;"),c.push("worldPosition.xyz = worldPosition.xyz + offset;"),c.push("vec4 viewPosition = modelViewMatrix * localPosition;")):(c.push("worldPosition = modelMatrix2 * localPosition;"),c.push("worldPosition.xyz = worldPosition.xyz + offset;"),c.push("vec4 viewPosition = viewMatrix2 * worldPosition; "));i.normalsBuf&&c.push("vec3 viewNormal = normalize((viewNormalMatrix2 * modelNormalMatrix2 * localNormal).xyz);");if(c.push("vec3 reflectedColor = vec3(0.0, 0.0, 0.0);"),c.push("vec3 viewLightDir = vec3(0.0, 0.0, -1.0);"),c.push("float lambertian = 1.0;"),i.normalsBuf)for(let e=0,t=n.lights.length;e0,a=t.gammaOutput,r=[];r.push("#version 300 es"),r.push("// Lambertian drawing fragment shader"),r.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),r.push("precision highp float;"),r.push("precision highp int;"),r.push("#else"),r.push("precision mediump float;"),r.push("precision mediump int;"),r.push("#endif"),t.logarithmicDepthBufferEnabled&&(r.push("in float isPerspective;"),r.push("uniform float logDepthBufFC;"),r.push("in float vFragDepth;"));if(i){r.push("in vec4 vWorldPosition;"),r.push("uniform bool clippable;");for(let e=0,t=s.getNumAllocatedSectionPlanes();e 0.0) { discard; }"),r.push("}")}"points"===n.primitiveName&&(r.push("vec2 cxy = 2.0 * gl_PointCoord - 1.0;"),r.push("float r = dot(cxy, cxy);"),r.push("if (r > 1.0) {"),r.push(" discard;"),r.push("}"));t.logarithmicDepthBufferEnabled&&r.push("gl_FragDepth = isPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5;");a?r.push("outColor = linearToGamma(vColor, gammaFactor);"):r.push("outColor = vColor;");return r.push("}"),r}(e)):(this.vertex=function(e){const t=e.scene;e._material;const s=e._state,n=t._sectionPlanesState,i=e._geometry._state,a=t._lightsState;let r;const l=s.billboard,o=s.background,c=s.stationary,u=function(e){if(!e._geometry._state.uvBuf)return!1;const t=e._material;return!!(t._ambientMap||t._occlusionMap||t._baseColorMap||t._diffuseMap||t._alphaMap||t._specularMap||t._glossinessMap||t._specularGlossinessMap||t._emissiveMap||t._metallicMap||t._roughnessMap||t._metallicRoughnessMap||t._reflectivityMap||t._normalMap)}(e),h=ts(e),p=n.getNumAllocatedSectionPlanes()>0,A=es(e),d=!!i.compressGeometry,f=[];f.push("#version 300 es"),f.push("// Drawing vertex shader"),f.push("in vec3 position;"),d&&f.push("uniform mat4 positionsDecodeMatrix;");f.push("uniform mat4 modelMatrix;"),f.push("uniform mat4 viewMatrix;"),f.push("uniform mat4 projMatrix;"),f.push("out vec3 vViewPosition;"),f.push("uniform vec3 offset;"),p&&f.push("out vec4 vWorldPosition;");t.logarithmicDepthBufferEnabled&&(f.push("uniform float logDepthBufFC;"),f.push("out float vFragDepth;"),f.push("bool isPerspectiveMatrix(mat4 m) {"),f.push(" return (m[2][3] == - 1.0);"),f.push("}"),f.push("out float isPerspective;"));a.lightMaps.length>0&&f.push("out vec3 vWorldNormal;");if(h){f.push("in vec3 normal;"),f.push("uniform mat4 modelNormalMatrix;"),f.push("uniform mat4 viewNormalMatrix;"),f.push("out vec3 vViewNormal;");for(let e=0,t=a.lights.length;e= 0.0 ? 1.0 : -1.0, v.y >= 0.0 ? 1.0 : -1.0);"),f.push(" }"),f.push(" return normalize(v);"),f.push("}"))}u&&(f.push("in vec2 uv;"),f.push("out vec2 vUV;"),d&&f.push("uniform mat3 uvDecodeMatrix;"));i.colors&&(f.push("in vec4 color;"),f.push("out vec4 vColor;"));"points"===i.primitiveName&&f.push("uniform float pointSize;");"spherical"!==l&&"cylindrical"!==l||(f.push("void billboard(inout mat4 mat) {"),f.push(" mat[0][0] = 1.0;"),f.push(" mat[0][1] = 0.0;"),f.push(" mat[0][2] = 0.0;"),"spherical"===l&&(f.push(" mat[1][0] = 0.0;"),f.push(" mat[1][1] = 1.0;"),f.push(" mat[1][2] = 0.0;")),f.push(" mat[2][0] = 0.0;"),f.push(" mat[2][1] = 0.0;"),f.push(" mat[2][2] =1.0;"),f.push("}"));if(A){f.push("const mat4 texUnitConverter = mat4(0.5, 0.0, 0.0, 0.0, 0.0, 0.5, 0.0, 0.0, 0.0, 0.0, 0.5, 0.0, 0.5, 0.5, 0.5, 1.0);");for(let e=0,t=a.lights.length;e0&&f.push("vWorldNormal = worldNormal;"),f.push("vViewNormal = normalize((viewNormalMatrix2 * vec4(worldNormal, 1.0)).xyz);"),f.push("vec3 tmpVec3;"),f.push("float lightDist;");for(let e=0,t=a.lights.length;e0,o=ts(e),c=n.uvBuf,u="PhongMaterial"===r.type,h="MetallicMaterial"===r.type,p="SpecularMaterial"===r.type,A=es(e);t.gammaInput;const d=t.gammaOutput,f=[];f.push("#version 300 es"),f.push("// Drawing fragment shader"),f.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),f.push("precision highp float;"),f.push("precision highp int;"),f.push("#else"),f.push("precision mediump float;"),f.push("precision mediump int;"),f.push("#endif"),t.logarithmicDepthBufferEnabled&&(f.push("in float isPerspective;"),f.push("uniform float logDepthBufFC;"),f.push("in float vFragDepth;"));A&&(f.push("float unpackDepth (vec4 color) {"),f.push(" const vec4 bitShift = vec4(1.0, 1.0/256.0, 1.0/(256.0 * 256.0), 1.0/(256.0*256.0*256.0));"),f.push(" return dot(color, bitShift);"),f.push("}"));f.push("uniform float gammaFactor;"),f.push("vec4 linearToLinear( in vec4 value ) {"),f.push(" return value;"),f.push("}"),f.push("vec4 sRGBToLinear( in vec4 value ) {"),f.push(" return vec4( mix( pow( value.rgb * 0.9478672986 + vec3( 0.0521327014 ), vec3( 2.4 ) ), value.rgb * 0.0773993808, vec3( lessThanEqual( value.rgb, vec3( 0.04045 ) ) ) ), value.w );"),f.push("}"),f.push("vec4 gammaToLinear( in vec4 value) {"),f.push(" return vec4( pow( value.xyz, vec3( gammaFactor ) ), value.w );"),f.push("}"),d&&(f.push("vec4 linearToGamma( in vec4 value, in float gammaFactor ) {"),f.push(" return vec4( pow( value.xyz, vec3( 1.0 / gammaFactor ) ), value.w );"),f.push("}"));if(l){f.push("in vec4 vWorldPosition;"),f.push("uniform bool clippable;");for(var I=0;I0&&(f.push("uniform samplerCube lightMap;"),f.push("uniform mat4 viewNormalMatrix;")),a.reflectionMaps.length>0&&f.push("uniform samplerCube reflectionMap;"),(a.lightMaps.length>0||a.reflectionMaps.length>0)&&f.push("uniform mat4 viewMatrix;"),f.push("#define PI 3.14159265359"),f.push("#define RECIPROCAL_PI 0.31830988618"),f.push("#define RECIPROCAL_PI2 0.15915494"),f.push("#define EPSILON 1e-6"),f.push("#define saturate(a) clamp( a, 0.0, 1.0 )"),f.push("vec3 inverseTransformDirection(in vec3 dir, in mat4 matrix) {"),f.push(" return normalize( ( vec4( dir, 0.0 ) * matrix ).xyz );"),f.push("}"),f.push("struct IncidentLight {"),f.push(" vec3 color;"),f.push(" vec3 direction;"),f.push("};"),f.push("struct ReflectedLight {"),f.push(" vec3 diffuse;"),f.push(" vec3 specular;"),f.push("};"),f.push("struct Geometry {"),f.push(" vec3 position;"),f.push(" vec3 viewNormal;"),f.push(" vec3 worldNormal;"),f.push(" vec3 viewEyeDir;"),f.push("};"),f.push("struct Material {"),f.push(" vec3 diffuseColor;"),f.push(" float specularRoughness;"),f.push(" vec3 specularColor;"),f.push(" float shine;"),f.push("};"),u&&((a.lightMaps.length>0||a.reflectionMaps.length>0)&&(f.push("void computePhongLightMapping(const in Geometry geometry, const in Material material, inout ReflectedLight reflectedLight) {"),a.lightMaps.length>0&&(f.push(" vec3 irradiance = "+$t[a.lightMaps[0].encoding]+"(texture(lightMap, geometry.worldNormal)).rgb;"),f.push(" irradiance *= PI;"),f.push(" vec3 diffuseBRDFContrib = (RECIPROCAL_PI * material.diffuseColor);"),f.push(" reflectedLight.diffuse += irradiance * diffuseBRDFContrib;")),a.reflectionMaps.length>0&&(f.push(" vec3 reflectVec = reflect(-geometry.viewEyeDir, geometry.viewNormal);"),f.push(" vec3 radiance = texture(reflectionMap, reflectVec).rgb * 0.2;"),f.push(" radiance *= PI;"),f.push(" reflectedLight.specular += radiance;")),f.push("}")),f.push("void computePhongLighting(const in IncidentLight directLight, const in Geometry geometry, const in Material material, inout ReflectedLight reflectedLight) {"),f.push(" float dotNL = saturate(dot(geometry.viewNormal, directLight.direction));"),f.push(" vec3 irradiance = dotNL * directLight.color * PI;"),f.push(" reflectedLight.diffuse += irradiance * (RECIPROCAL_PI * material.diffuseColor);"),f.push(" reflectedLight.specular += directLight.color * material.specularColor * pow(max(dot(reflect(-directLight.direction, -geometry.viewNormal), geometry.viewEyeDir), 0.0), material.shine);"),f.push("}")),(h||p)&&(f.push("float GGXRoughnessToBlinnExponent(const in float ggxRoughness) {"),f.push(" float r = ggxRoughness + 0.0001;"),f.push(" return (2.0 / (r * r) - 2.0);"),f.push("}"),f.push("float getSpecularMIPLevel(const in float blinnShininessExponent, const in int maxMIPLevel) {"),f.push(" float maxMIPLevelScalar = float( maxMIPLevel );"),f.push(" float desiredMIPLevel = maxMIPLevelScalar - 0.79248 - 0.5 * log2( ( blinnShininessExponent * blinnShininessExponent ) + 1.0 );"),f.push(" return clamp( desiredMIPLevel, 0.0, maxMIPLevelScalar );"),f.push("}"),a.reflectionMaps.length>0&&(f.push("vec3 getLightProbeIndirectRadiance(const in vec3 reflectVec, const in float blinnShininessExponent, const in int maxMIPLevel) {"),f.push(" float mipLevel = 0.5 * getSpecularMIPLevel(blinnShininessExponent, maxMIPLevel);"),f.push(" vec3 envMapColor = "+$t[a.reflectionMaps[0].encoding]+"(texture(reflectionMap, reflectVec, mipLevel)).rgb;"),f.push(" return envMapColor;"),f.push("}")),f.push("vec3 F_Schlick(const in vec3 specularColor, const in float dotLH) {"),f.push(" float fresnel = exp2( ( -5.55473 * dotLH - 6.98316 ) * dotLH );"),f.push(" return ( 1.0 - specularColor ) * fresnel + specularColor;"),f.push("}"),f.push("float G_GGX_Smith(const in float alpha, const in float dotNL, const in float dotNV) {"),f.push(" float a2 = ( alpha * alpha );"),f.push(" float gl = dotNL + sqrt( a2 + ( 1.0 - a2 ) * ( dotNL * dotNL ) );"),f.push(" float gv = dotNV + sqrt( a2 + ( 1.0 - a2 ) * ( dotNV * dotNV ) );"),f.push(" return 1.0 / ( gl * gv );"),f.push("}"),f.push("float G_GGX_SmithCorrelated(const in float alpha, const in float dotNL, const in float dotNV) {"),f.push(" float a2 = ( alpha * alpha );"),f.push(" float gv = dotNL * sqrt( a2 + ( 1.0 - a2 ) * ( dotNV * dotNV ) );"),f.push(" float gl = dotNV * sqrt( a2 + ( 1.0 - a2 ) * ( dotNL * dotNL ) );"),f.push(" return 0.5 / max( gv + gl, EPSILON );"),f.push("}"),f.push("float D_GGX(const in float alpha, const in float dotNH) {"),f.push(" float a2 = ( alpha * alpha );"),f.push(" float denom = ( dotNH * dotNH) * ( a2 - 1.0 ) + 1.0;"),f.push(" return RECIPROCAL_PI * a2 / ( denom * denom);"),f.push("}"),f.push("vec3 BRDF_Specular_GGX(const in IncidentLight incidentLight, const in Geometry geometry, const in vec3 specularColor, const in float roughness) {"),f.push(" float alpha = ( roughness * roughness );"),f.push(" vec3 halfDir = normalize( incidentLight.direction + geometry.viewEyeDir );"),f.push(" float dotNL = saturate( dot( geometry.viewNormal, incidentLight.direction ) );"),f.push(" float dotNV = saturate( dot( geometry.viewNormal, geometry.viewEyeDir ) );"),f.push(" float dotNH = saturate( dot( geometry.viewNormal, halfDir ) );"),f.push(" float dotLH = saturate( dot( incidentLight.direction, halfDir ) );"),f.push(" vec3 F = F_Schlick( specularColor, dotLH );"),f.push(" float G = G_GGX_SmithCorrelated( alpha, dotNL, dotNV );"),f.push(" float D = D_GGX( alpha, dotNH );"),f.push(" return F * (G * D);"),f.push("}"),f.push("vec3 BRDF_Specular_GGX_Environment(const in Geometry geometry, const in vec3 specularColor, const in float roughness) {"),f.push(" float dotNV = saturate(dot(geometry.viewNormal, geometry.viewEyeDir));"),f.push(" const vec4 c0 = vec4( -1, -0.0275, -0.572, 0.022);"),f.push(" const vec4 c1 = vec4( 1, 0.0425, 1.04, -0.04);"),f.push(" vec4 r = roughness * c0 + c1;"),f.push(" float a004 = min(r.x * r.x, exp2(-9.28 * dotNV)) * r.x + r.y;"),f.push(" vec2 AB = vec2(-1.04, 1.04) * a004 + r.zw;"),f.push(" return specularColor * AB.x + AB.y;"),f.push("}"),(a.lightMaps.length>0||a.reflectionMaps.length>0)&&(f.push("void computePBRLightMapping(const in Geometry geometry, const in Material material, inout ReflectedLight reflectedLight) {"),a.lightMaps.length>0&&(f.push(" vec3 irradiance = sRGBToLinear(texture(lightMap, geometry.worldNormal)).rgb;"),f.push(" irradiance *= PI;"),f.push(" vec3 diffuseBRDFContrib = (RECIPROCAL_PI * material.diffuseColor);"),f.push(" reflectedLight.diffuse += irradiance * diffuseBRDFContrib;")),a.reflectionMaps.length>0&&(f.push(" vec3 reflectVec = reflect(-geometry.viewEyeDir, geometry.viewNormal);"),f.push(" reflectVec = inverseTransformDirection(reflectVec, viewMatrix);"),f.push(" float blinnExpFromRoughness = GGXRoughnessToBlinnExponent(material.specularRoughness);"),f.push(" vec3 radiance = getLightProbeIndirectRadiance(reflectVec, blinnExpFromRoughness, 8);"),f.push(" vec3 specularBRDFContrib = BRDF_Specular_GGX_Environment(geometry, material.specularColor, material.specularRoughness);"),f.push(" reflectedLight.specular += radiance * specularBRDFContrib;")),f.push("}")),f.push("void computePBRLighting(const in IncidentLight incidentLight, const in Geometry geometry, const in Material material, inout ReflectedLight reflectedLight) {"),f.push(" float dotNL = saturate(dot(geometry.viewNormal, incidentLight.direction));"),f.push(" vec3 irradiance = dotNL * incidentLight.color * PI;"),f.push(" reflectedLight.diffuse += irradiance * (RECIPROCAL_PI * material.diffuseColor);"),f.push(" reflectedLight.specular += irradiance * BRDF_Specular_GGX(incidentLight, geometry, material.specularColor, material.specularRoughness);"),f.push("}")));f.push("in vec3 vViewPosition;"),n.colors&&f.push("in vec4 vColor;");c&&(o&&s._normalMap||s._ambientMap||s._baseColorMap||s._diffuseMap||s._emissiveMap||s._metallicMap||s._roughnessMap||s._metallicRoughnessMap||s._specularMap||s._glossinessMap||s._specularGlossinessMap||s._occlusionMap||s._alphaMap)&&f.push("in vec2 vUV;");o&&(a.lightMaps.length>0&&f.push("in vec3 vWorldNormal;"),f.push("in vec3 vViewNormal;"));r.ambient&&f.push("uniform vec3 materialAmbient;");r.baseColor&&f.push("uniform vec3 materialBaseColor;");void 0!==r.alpha&&null!==r.alpha&&f.push("uniform vec4 materialAlphaModeCutoff;");r.emissive&&f.push("uniform vec3 materialEmissive;");r.diffuse&&f.push("uniform vec3 materialDiffuse;");void 0!==r.glossiness&&null!==r.glossiness&&f.push("uniform float materialGlossiness;");void 0!==r.shininess&&null!==r.shininess&&f.push("uniform float materialShininess;");r.specular&&f.push("uniform vec3 materialSpecular;");void 0!==r.metallic&&null!==r.metallic&&f.push("uniform float materialMetallic;");void 0!==r.roughness&&null!==r.roughness&&f.push("uniform float materialRoughness;");void 0!==r.specularF0&&null!==r.specularF0&&f.push("uniform float materialSpecularF0;");c&&s._ambientMap&&(f.push("uniform sampler2D ambientMap;"),s._ambientMap._state.matrix&&f.push("uniform mat4 ambientMapMatrix;"));c&&s._baseColorMap&&(f.push("uniform sampler2D baseColorMap;"),s._baseColorMap._state.matrix&&f.push("uniform mat4 baseColorMapMatrix;"));c&&s._diffuseMap&&(f.push("uniform sampler2D diffuseMap;"),s._diffuseMap._state.matrix&&f.push("uniform mat4 diffuseMapMatrix;"));c&&s._emissiveMap&&(f.push("uniform sampler2D emissiveMap;"),s._emissiveMap._state.matrix&&f.push("uniform mat4 emissiveMapMatrix;"));o&&c&&s._metallicMap&&(f.push("uniform sampler2D metallicMap;"),s._metallicMap._state.matrix&&f.push("uniform mat4 metallicMapMatrix;"));o&&c&&s._roughnessMap&&(f.push("uniform sampler2D roughnessMap;"),s._roughnessMap._state.matrix&&f.push("uniform mat4 roughnessMapMatrix;"));o&&c&&s._metallicRoughnessMap&&(f.push("uniform sampler2D metallicRoughnessMap;"),s._metallicRoughnessMap._state.matrix&&f.push("uniform mat4 metallicRoughnessMapMatrix;"));o&&s._normalMap&&(f.push("uniform sampler2D normalMap;"),s._normalMap._state.matrix&&f.push("uniform mat4 normalMapMatrix;"),f.push("vec3 perturbNormal2Arb( vec3 eye_pos, vec3 surf_norm, vec2 uv ) {"),f.push(" vec3 q0 = vec3( dFdx( eye_pos.x ), dFdx( eye_pos.y ), dFdx( eye_pos.z ) );"),f.push(" vec3 q1 = vec3( dFdy( eye_pos.x ), dFdy( eye_pos.y ), dFdy( eye_pos.z ) );"),f.push(" vec2 st0 = dFdx( uv.st );"),f.push(" vec2 st1 = dFdy( uv.st );"),f.push(" vec3 S = normalize( q0 * st1.t - q1 * st0.t );"),f.push(" vec3 T = normalize( -q0 * st1.s + q1 * st0.s );"),f.push(" vec3 N = normalize( surf_norm );"),f.push(" vec3 mapN = texture( normalMap, uv ).xyz * 2.0 - 1.0;"),f.push(" mat3 tsn = mat3( S, T, N );"),f.push(" return normalize( tsn * mapN );"),f.push("}"));c&&s._occlusionMap&&(f.push("uniform sampler2D occlusionMap;"),s._occlusionMap._state.matrix&&f.push("uniform mat4 occlusionMapMatrix;"));c&&s._alphaMap&&(f.push("uniform sampler2D alphaMap;"),s._alphaMap._state.matrix&&f.push("uniform mat4 alphaMapMatrix;"));o&&c&&s._specularMap&&(f.push("uniform sampler2D specularMap;"),s._specularMap._state.matrix&&f.push("uniform mat4 specularMapMatrix;"));o&&c&&s._glossinessMap&&(f.push("uniform sampler2D glossinessMap;"),s._glossinessMap._state.matrix&&f.push("uniform mat4 glossinessMapMatrix;"));o&&c&&s._specularGlossinessMap&&(f.push("uniform sampler2D materialSpecularGlossinessMap;"),s._specularGlossinessMap._state.matrix&&f.push("uniform mat4 materialSpecularGlossinessMapMatrix;"));o&&(s._diffuseFresnel||s._specularFresnel||s._alphaFresnel||s._emissiveFresnel||s._reflectivityFresnel)&&(f.push("float fresnel(vec3 eyeDir, vec3 normal, float edgeBias, float centerBias, float power) {"),f.push(" float fr = abs(dot(eyeDir, normal));"),f.push(" float finalFr = clamp((fr - edgeBias) / (centerBias - edgeBias), 0.0, 1.0);"),f.push(" return pow(finalFr, power);"),f.push("}"),s._diffuseFresnel&&(f.push("uniform float diffuseFresnelCenterBias;"),f.push("uniform float diffuseFresnelEdgeBias;"),f.push("uniform float diffuseFresnelPower;"),f.push("uniform vec3 diffuseFresnelCenterColor;"),f.push("uniform vec3 diffuseFresnelEdgeColor;")),s._specularFresnel&&(f.push("uniform float specularFresnelCenterBias;"),f.push("uniform float specularFresnelEdgeBias;"),f.push("uniform float specularFresnelPower;"),f.push("uniform vec3 specularFresnelCenterColor;"),f.push("uniform vec3 specularFresnelEdgeColor;")),s._alphaFresnel&&(f.push("uniform float alphaFresnelCenterBias;"),f.push("uniform float alphaFresnelEdgeBias;"),f.push("uniform float alphaFresnelPower;"),f.push("uniform vec3 alphaFresnelCenterColor;"),f.push("uniform vec3 alphaFresnelEdgeColor;")),s._reflectivityFresnel&&(f.push("uniform float materialSpecularF0FresnelCenterBias;"),f.push("uniform float materialSpecularF0FresnelEdgeBias;"),f.push("uniform float materialSpecularF0FresnelPower;"),f.push("uniform vec3 materialSpecularF0FresnelCenterColor;"),f.push("uniform vec3 materialSpecularF0FresnelEdgeColor;")),s._emissiveFresnel&&(f.push("uniform float emissiveFresnelCenterBias;"),f.push("uniform float emissiveFresnelEdgeBias;"),f.push("uniform float emissiveFresnelPower;"),f.push("uniform vec3 emissiveFresnelCenterColor;"),f.push("uniform vec3 emissiveFresnelEdgeColor;")));if(f.push("uniform vec4 lightAmbient;"),o)for(let e=0,t=a.lights.length;e 0.0) { discard; }"),f.push("}")}"points"===n.primitiveName&&(f.push("vec2 cxy = 2.0 * gl_PointCoord - 1.0;"),f.push("float r = dot(cxy, cxy);"),f.push("if (r > 1.0) {"),f.push(" discard;"),f.push("}"));f.push("float occlusion = 1.0;"),r.ambient?f.push("vec3 ambientColor = materialAmbient;"):f.push("vec3 ambientColor = vec3(1.0, 1.0, 1.0);");r.diffuse?f.push("vec3 diffuseColor = materialDiffuse;"):r.baseColor?f.push("vec3 diffuseColor = materialBaseColor;"):f.push("vec3 diffuseColor = vec3(1.0, 1.0, 1.0);");n.colors&&f.push("diffuseColor *= vColor.rgb;");r.emissive?f.push("vec3 emissiveColor = materialEmissive;"):f.push("vec3 emissiveColor = vec3(0.0, 0.0, 0.0);");r.specular?f.push("vec3 specular = materialSpecular;"):f.push("vec3 specular = vec3(1.0, 1.0, 1.0);");void 0!==r.alpha?f.push("float alpha = materialAlphaModeCutoff[0];"):f.push("float alpha = 1.0;");n.colors&&f.push("alpha *= vColor.a;");void 0!==r.glossiness?f.push("float glossiness = materialGlossiness;"):f.push("float glossiness = 1.0;");void 0!==r.metallic?f.push("float metallic = materialMetallic;"):f.push("float metallic = 1.0;");void 0!==r.roughness?f.push("float roughness = materialRoughness;"):f.push("float roughness = 1.0;");void 0!==r.specularF0?f.push("float specularF0 = materialSpecularF0;"):f.push("float specularF0 = 1.0;");c&&(o&&s._normalMap||s._ambientMap||s._baseColorMap||s._diffuseMap||s._occlusionMap||s._emissiveMap||s._metallicMap||s._roughnessMap||s._metallicRoughnessMap||s._specularMap||s._glossinessMap||s._specularGlossinessMap||s._alphaMap)&&(f.push("vec4 texturePos = vec4(vUV.s, vUV.t, 1.0, 1.0);"),f.push("vec2 textureCoord;"));c&&s._ambientMap&&(s._ambientMap._state.matrix?f.push("textureCoord = (ambientMapMatrix * texturePos).xy;"):f.push("textureCoord = texturePos.xy;"),f.push("vec4 ambientTexel = texture(ambientMap, textureCoord).rgb;"),f.push("ambientTexel = "+$t[s._ambientMap._state.encoding]+"(ambientTexel);"),f.push("ambientColor *= ambientTexel.rgb;"));c&&s._diffuseMap&&(s._diffuseMap._state.matrix?f.push("textureCoord = (diffuseMapMatrix * texturePos).xy;"):f.push("textureCoord = texturePos.xy;"),f.push("vec4 diffuseTexel = texture(diffuseMap, textureCoord);"),f.push("diffuseTexel = "+$t[s._diffuseMap._state.encoding]+"(diffuseTexel);"),f.push("diffuseColor *= diffuseTexel.rgb;"),f.push("alpha *= diffuseTexel.a;"));c&&s._baseColorMap&&(s._baseColorMap._state.matrix?f.push("textureCoord = (baseColorMapMatrix * texturePos).xy;"):f.push("textureCoord = texturePos.xy;"),f.push("vec4 baseColorTexel = texture(baseColorMap, textureCoord);"),f.push("baseColorTexel = "+$t[s._baseColorMap._state.encoding]+"(baseColorTexel);"),f.push("diffuseColor *= baseColorTexel.rgb;"),f.push("alpha *= baseColorTexel.a;"));c&&s._emissiveMap&&(s._emissiveMap._state.matrix?f.push("textureCoord = (emissiveMapMatrix * texturePos).xy;"):f.push("textureCoord = texturePos.xy;"),f.push("vec4 emissiveTexel = texture(emissiveMap, textureCoord);"),f.push("emissiveTexel = "+$t[s._emissiveMap._state.encoding]+"(emissiveTexel);"),f.push("emissiveColor = emissiveTexel.rgb;"));c&&s._alphaMap&&(s._alphaMap._state.matrix?f.push("textureCoord = (alphaMapMatrix * texturePos).xy;"):f.push("textureCoord = texturePos.xy;"),f.push("alpha *= texture(alphaMap, textureCoord).r;"));c&&s._occlusionMap&&(s._occlusionMap._state.matrix?f.push("textureCoord = (occlusionMapMatrix * texturePos).xy;"):f.push("textureCoord = texturePos.xy;"),f.push("occlusion *= texture(occlusionMap, textureCoord).r;"));if(o&&(a.lights.length>0||a.lightMaps.length>0||a.reflectionMaps.length>0)){c&&s._normalMap?(s._normalMap._state.matrix?f.push("textureCoord = (normalMapMatrix * texturePos).xy;"):f.push("textureCoord = texturePos.xy;"),f.push("vec3 viewNormal = perturbNormal2Arb( vViewPosition, normalize(vViewNormal), textureCoord );")):f.push("vec3 viewNormal = normalize(vViewNormal);"),c&&s._specularMap&&(s._specularMap._state.matrix?f.push("textureCoord = (specularMapMatrix * texturePos).xy;"):f.push("textureCoord = texturePos.xy;"),f.push("specular *= texture(specularMap, textureCoord).rgb;")),c&&s._glossinessMap&&(s._glossinessMap._state.matrix?f.push("textureCoord = (glossinessMapMatrix * texturePos).xy;"):f.push("textureCoord = texturePos.xy;"),f.push("glossiness *= texture(glossinessMap, textureCoord).r;")),c&&s._specularGlossinessMap&&(s._specularGlossinessMap._state.matrix?f.push("textureCoord = (materialSpecularGlossinessMapMatrix * texturePos).xy;"):f.push("textureCoord = texturePos.xy;"),f.push("vec4 specGlossRGB = texture(materialSpecularGlossinessMap, textureCoord).rgba;"),f.push("specular *= specGlossRGB.rgb;"),f.push("glossiness *= specGlossRGB.a;")),c&&s._metallicMap&&(s._metallicMap._state.matrix?f.push("textureCoord = (metallicMapMatrix * texturePos).xy;"):f.push("textureCoord = texturePos.xy;"),f.push("metallic *= texture(metallicMap, textureCoord).r;")),c&&s._roughnessMap&&(s._roughnessMap._state.matrix?f.push("textureCoord = (roughnessMapMatrix * texturePos).xy;"):f.push("textureCoord = texturePos.xy;"),f.push("roughness *= texture(roughnessMap, textureCoord).r;")),c&&s._metallicRoughnessMap&&(s._metallicRoughnessMap._state.matrix?f.push("textureCoord = (metallicRoughnessMapMatrix * texturePos).xy;"):f.push("textureCoord = texturePos.xy;"),f.push("vec3 metalRoughRGB = texture(metallicRoughnessMap, textureCoord).rgb;"),f.push("metallic *= metalRoughRGB.b;"),f.push("roughness *= metalRoughRGB.g;")),f.push("vec3 viewEyeDir = normalize(-vViewPosition);"),s._diffuseFresnel&&(f.push("float diffuseFresnel = fresnel(viewEyeDir, viewNormal, diffuseFresnelEdgeBias, diffuseFresnelCenterBias, diffuseFresnelPower);"),f.push("diffuseColor *= mix(diffuseFresnelEdgeColor, diffuseFresnelCenterColor, diffuseFresnel);")),s._specularFresnel&&(f.push("float specularFresnel = fresnel(viewEyeDir, viewNormal, specularFresnelEdgeBias, specularFresnelCenterBias, specularFresnelPower);"),f.push("specular *= mix(specularFresnelEdgeColor, specularFresnelCenterColor, specularFresnel);")),s._alphaFresnel&&(f.push("float alphaFresnel = fresnel(viewEyeDir, viewNormal, alphaFresnelEdgeBias, alphaFresnelCenterBias, alphaFresnelPower);"),f.push("alpha *= mix(alphaFresnelEdgeColor.r, alphaFresnelCenterColor.r, alphaFresnel);")),s._emissiveFresnel&&(f.push("float emissiveFresnel = fresnel(viewEyeDir, viewNormal, emissiveFresnelEdgeBias, emissiveFresnelCenterBias, emissiveFresnelPower);"),f.push("emissiveColor *= mix(emissiveFresnelEdgeColor, emissiveFresnelCenterColor, emissiveFresnel);")),f.push("if (materialAlphaModeCutoff[1] == 1.0 && alpha < materialAlphaModeCutoff[2]) {"),f.push(" discard;"),f.push("}"),f.push("IncidentLight light;"),f.push("Material material;"),f.push("Geometry geometry;"),f.push("ReflectedLight reflectedLight = ReflectedLight(vec3(0.0,0.0,0.0), vec3(0.0,0.0,0.0));"),f.push("vec3 viewLightDir;"),u&&(f.push("material.diffuseColor = diffuseColor;"),f.push("material.specularColor = specular;"),f.push("material.shine = materialShininess;")),p&&(f.push("float oneMinusSpecularStrength = 1.0 - max(max(specular.r, specular.g ),specular.b);"),f.push("material.diffuseColor = diffuseColor * oneMinusSpecularStrength;"),f.push("material.specularRoughness = clamp( 1.0 - glossiness, 0.04, 1.0 );"),f.push("material.specularColor = specular;")),h&&(f.push("float dielectricSpecular = 0.16 * specularF0 * specularF0;"),f.push("material.diffuseColor = diffuseColor * (1.0 - dielectricSpecular) * (1.0 - metallic);"),f.push("material.specularRoughness = clamp(roughness, 0.04, 1.0);"),f.push("material.specularColor = mix(vec3(dielectricSpecular), diffuseColor, metallic);")),f.push("geometry.position = vViewPosition;"),a.lightMaps.length>0&&f.push("geometry.worldNormal = normalize(vWorldNormal);"),f.push("geometry.viewNormal = viewNormal;"),f.push("geometry.viewEyeDir = viewEyeDir;"),u&&(a.lightMaps.length>0||a.reflectionMaps.length>0)&&f.push("computePhongLightMapping(geometry, material, reflectedLight);"),(p||h)&&(a.lightMaps.length>0||a.reflectionMaps.length>0)&&f.push("computePBRLightMapping(geometry, material, reflectedLight);"),f.push("float shadow = 1.0;"),f.push("float shadowAcneRemover = 0.007;"),f.push("vec3 fragmentDepth;"),f.push("float texelSize = 1.0 / 1024.0;"),f.push("float amountInLight = 0.0;"),f.push("vec3 shadowCoord;"),f.push("vec4 rgbaDepth;"),f.push("float depth;");for(let e=0,t=a.lights.length;e0){const i=n._sectionPlanesState.sectionPlanes,r=t.renderFlags;for(let t=0;t0&&(this._uLightMap="lightMap"),i.reflectionMaps.length>0&&(this._uReflectionMap="reflectionMap"),this._uSectionPlanes=[];for(u=0,h=a.sectionPlanes.length;u0&&i.lightMaps[0].texture&&this._uLightMap&&(l.bindTexture(this._uLightMap,i.lightMaps[0].texture,e.textureUnit),e.textureUnit=(e.textureUnit+1)%t,e.bindTexture++),i.reflectionMaps.length>0&&i.reflectionMaps[0].texture&&this._uReflectionMap&&(l.bindTexture(this._uReflectionMap,i.reflectionMaps[0].texture,e.textureUnit),e.textureUnit=(e.textureUnit+1)%t,e.bindTexture++),this._uGammaFactor&&n.uniform1f(this._uGammaFactor,s.gammaFactor),this._baseTextureUnit=e.textureUnit};class rs{constructor(e){this.vertex=function(e){const t=e.scene,s=t._lightsState,n=function(e){const t=e._geometry._state.primitiveName;if((e._geometry._state.autoVertexNormals||e._geometry._state.normalsBuf)&&("triangles"===t||"triangle-strip"===t||"triangle-fan"===t))return!0;return!1}(e),i=t._sectionPlanesState.sectionPlanes.length>0,a=!!e._geometry._state.compressGeometry,r=e._state.billboard,l=e._state.stationary,o=[];o.push("#version 300 es"),o.push("// EmphasisFillShaderSource vertex shader"),o.push("in vec3 position;"),o.push("uniform mat4 modelMatrix;"),o.push("uniform mat4 viewMatrix;"),o.push("uniform mat4 projMatrix;"),o.push("uniform vec4 colorize;"),o.push("uniform vec3 offset;"),a&&o.push("uniform mat4 positionsDecodeMatrix;");t.logarithmicDepthBufferEnabled&&(o.push("uniform float logDepthBufFC;"),o.push("out float vFragDepth;"),o.push("bool isPerspectiveMatrix(mat4 m) {"),o.push(" return (m[2][3] == - 1.0);"),o.push("}"),o.push("out float isPerspective;"));i&&o.push("out vec4 vWorldPosition;");if(o.push("uniform vec4 lightAmbient;"),o.push("uniform vec4 fillColor;"),n){o.push("in vec3 normal;"),o.push("uniform mat4 modelNormalMatrix;"),o.push("uniform mat4 viewNormalMatrix;");for(let e=0,t=s.lights.length;e= 0.0 ? 1.0 : -1.0, v.y >= 0.0 ? 1.0 : -1.0);"),o.push(" }"),o.push(" return normalize(v);"),o.push("}"))}o.push("out vec4 vColor;"),("spherical"===r||"cylindrical"===r)&&(o.push("void billboard(inout mat4 mat) {"),o.push(" mat[0][0] = 1.0;"),o.push(" mat[0][1] = 0.0;"),o.push(" mat[0][2] = 0.0;"),"spherical"===r&&(o.push(" mat[1][0] = 0.0;"),o.push(" mat[1][1] = 1.0;"),o.push(" mat[1][2] = 0.0;")),o.push(" mat[2][0] = 0.0;"),o.push(" mat[2][1] = 0.0;"),o.push(" mat[2][2] =1.0;"),o.push("}"));o.push("void main(void) {"),o.push("vec4 localPosition = vec4(position, 1.0); "),o.push("vec4 worldPosition;"),a&&o.push("localPosition = positionsDecodeMatrix * localPosition;");n&&(a?o.push("vec4 localNormal = vec4(octDecode(normal.xy), 0.0); "):o.push("vec4 localNormal = vec4(normal, 0.0); "),o.push("mat4 modelNormalMatrix2 = modelNormalMatrix;"),o.push("mat4 viewNormalMatrix2 = viewNormalMatrix;"));o.push("mat4 viewMatrix2 = viewMatrix;"),o.push("mat4 modelMatrix2 = modelMatrix;"),l&&o.push("viewMatrix2[3][0] = viewMatrix2[3][1] = viewMatrix2[3][2] = 0.0;");"spherical"===r||"cylindrical"===r?(o.push("mat4 modelViewMatrix = viewMatrix2 * modelMatrix2;"),o.push("billboard(modelMatrix2);"),o.push("billboard(viewMatrix2);"),o.push("billboard(modelViewMatrix);"),n&&(o.push("mat4 modelViewNormalMatrix = viewNormalMatrix2 * modelNormalMatrix2;"),o.push("billboard(modelNormalMatrix2);"),o.push("billboard(viewNormalMatrix2);"),o.push("billboard(modelViewNormalMatrix);")),o.push("worldPosition = modelMatrix2 * localPosition;"),o.push("vec4 viewPosition = modelViewMatrix * localPosition;")):(o.push("worldPosition = modelMatrix2 * localPosition;"),o.push("worldPosition.xyz = worldPosition.xyz + offset;"),o.push("vec4 viewPosition = viewMatrix2 * worldPosition; "));n&&o.push("vec3 viewNormal = normalize((viewNormalMatrix2 * modelNormalMatrix2 * localNormal).xyz);");if(o.push("vec3 reflectedColor = vec3(0.0, 0.0, 0.0);"),o.push("vec3 viewLightDir = vec3(0.0, 0.0, -1.0);"),o.push("float lambertian = 1.0;"),n)for(let e=0,t=s.lights.length;e0,a=[];a.push("#version 300 es"),a.push("// Lambertian drawing fragment shader"),a.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),a.push("precision highp float;"),a.push("precision highp int;"),a.push("#else"),a.push("precision mediump float;"),a.push("precision mediump int;"),a.push("#endif"),t.logarithmicDepthBufferEnabled&&(a.push("in float isPerspective;"),a.push("uniform float logDepthBufFC;"),a.push("in float vFragDepth;"));n&&(a.push("uniform float gammaFactor;"),a.push("vec4 linearToGamma( in vec4 value, in float gammaFactor ) {"),a.push(" return vec4( pow( value.xyz, vec3( 1.0 / gammaFactor ) ), value.w );"),a.push("}"));if(i){a.push("in vec4 vWorldPosition;"),a.push("uniform bool clippable;");for(let e=0,t=s.getNumAllocatedSectionPlanes();e 0.0) { discard; }"),a.push("}")}"points"===e._geometry._state.primitiveName&&(a.push("vec2 cxy = 2.0 * gl_PointCoord - 1.0;"),a.push("float r = dot(cxy, cxy);"),a.push("if (r > 1.0) {"),a.push(" discard;"),a.push("}"));t.logarithmicDepthBufferEnabled&&a.push("gl_FragDepth = isPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5;");n?a.push("outColor = linearToGamma(vColor, gammaFactor);"):a.push("outColor = vColor;");return a.push("}"),a}(e)}}const ls=new e({}),os=h.vec3(),cs=function(e,t){this.id=ls.addItem({}),this._hash=e,this._scene=t.scene,this._useCount=0,this._shaderSource=new rs(t),this._allocate(t)},us={};cs.get=function(e){const t=[e.scene.id,e.scene.gammaOutput?"go":"",e.scene._sectionPlanesState.getHash(),e._geometry._state.normalsBuf?"n":"",e._geometry._state.compressGeometry?"cp":"",e._state.hash].join(";");let s=us[t];return s||(s=new cs(t,e),us[t]=s,d.memory.programs++),s._useCount++,s},cs.prototype.put=function(){0==--this._useCount&&(ls.removeItem(this.id),this._program&&this._program.destroy(),delete us[this._hash],d.memory.programs--)},cs.prototype.webglContextRestored=function(){this._program=null},cs.prototype.drawMesh=function(e,t,s){this._program||this._allocate(t);const n=this._scene,i=n.camera,a=n.canvas.gl,r=0===s?t._xrayMaterial._state:1===s?t._highlightMaterial._state:t._selectedMaterial._state,l=t._state,o=t._geometry._state,c=t.origin;if(e.lastProgramId!==this._program.id&&(e.lastProgramId=this._program.id,this._bindProgram(e)),a.uniformMatrix4fv(this._uViewMatrix,!1,c?e.getRTCViewMatrix(l.originHash,c):i.viewMatrix),a.uniformMatrix4fv(this._uViewNormalMatrix,!1,i.viewNormalMatrix),l.clippable){const e=n._sectionPlanesState.getNumAllocatedSectionPlanes(),s=n._sectionPlanesState.sectionPlanes.length;if(e>0){const i=n._sectionPlanesState.sectionPlanes,r=t.renderFlags;for(let t=0;t0,n=!!e._geometry._state.compressGeometry,i=e._state.billboard,a=e._state.stationary,r=[];r.push("#version 300 es"),r.push("// Edges drawing vertex shader"),r.push("in vec3 position;"),r.push("uniform mat4 modelMatrix;"),r.push("uniform mat4 viewMatrix;"),r.push("uniform mat4 projMatrix;"),r.push("uniform vec4 edgeColor;"),r.push("uniform vec3 offset;"),n&&r.push("uniform mat4 positionsDecodeMatrix;");t.logarithmicDepthBufferEnabled&&(r.push("uniform float logDepthBufFC;"),r.push("out float vFragDepth;"),r.push("bool isPerspectiveMatrix(mat4 m) {"),r.push(" return (m[2][3] == - 1.0);"),r.push("}"),r.push("out float isPerspective;"));s&&r.push("out vec4 vWorldPosition;");r.push("out vec4 vColor;"),("spherical"===i||"cylindrical"===i)&&(r.push("void billboard(inout mat4 mat) {"),r.push(" mat[0][0] = 1.0;"),r.push(" mat[0][1] = 0.0;"),r.push(" mat[0][2] = 0.0;"),"spherical"===i&&(r.push(" mat[1][0] = 0.0;"),r.push(" mat[1][1] = 1.0;"),r.push(" mat[1][2] = 0.0;")),r.push(" mat[2][0] = 0.0;"),r.push(" mat[2][1] = 0.0;"),r.push(" mat[2][2] =1.0;"),r.push("}"));r.push("void main(void) {"),r.push("vec4 localPosition = vec4(position, 1.0); "),r.push("vec4 worldPosition;"),n&&r.push("localPosition = positionsDecodeMatrix * localPosition;");r.push("mat4 viewMatrix2 = viewMatrix;"),r.push("mat4 modelMatrix2 = modelMatrix;"),a&&r.push("viewMatrix2[3][0] = viewMatrix2[3][1] = viewMatrix2[3][2] = 0.0;");"spherical"===i||"cylindrical"===i?(r.push("mat4 modelViewMatrix = viewMatrix2 * modelMatrix2;"),r.push("billboard(modelMatrix2);"),r.push("billboard(viewMatrix2);"),r.push("billboard(modelViewMatrix);"),r.push("worldPosition = modelMatrix2 * localPosition;"),r.push("worldPosition.xyz = worldPosition.xyz + offset;"),r.push("vec4 viewPosition = modelViewMatrix * localPosition;")):(r.push("worldPosition = modelMatrix2 * localPosition;"),r.push("worldPosition.xyz = worldPosition.xyz + offset;"),r.push("vec4 viewPosition = viewMatrix2 * worldPosition; "));r.push("vColor = edgeColor;"),s&&r.push("vWorldPosition = worldPosition;");r.push("vec4 clipPos = projMatrix * viewPosition;"),t.logarithmicDepthBufferEnabled&&(r.push("vFragDepth = 1.0 + clipPos.w;"),r.push("isPerspective = float (isPerspectiveMatrix(projMatrix));"));return r.push("gl_Position = clipPos;"),r.push("}"),r}(e),this.fragment=function(e){const t=e.scene,s=e.scene._sectionPlanesState,n=e.scene.gammaOutput,i=s.getNumAllocatedSectionPlanes()>0,a=[];a.push("#version 300 es"),a.push("// Edges drawing fragment shader"),a.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),a.push("precision highp float;"),a.push("precision highp int;"),a.push("#else"),a.push("precision mediump float;"),a.push("precision mediump int;"),a.push("#endif"),t.logarithmicDepthBufferEnabled&&(a.push("in float isPerspective;"),a.push("uniform float logDepthBufFC;"),a.push("in float vFragDepth;"));n&&(a.push("uniform float gammaFactor;"),a.push("vec4 linearToGamma( in vec4 value, in float gammaFactor ) {"),a.push(" return vec4( pow( value.xyz, vec3( 1.0 / gammaFactor ) ), value.w );"),a.push("}"));if(i){a.push("in vec4 vWorldPosition;"),a.push("uniform bool clippable;");for(let e=0,t=s.getNumAllocatedSectionPlanes();e 0.0) { discard; }"),a.push("}")}t.logarithmicDepthBufferEnabled&&a.push("gl_FragDepth = isPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5;");n?a.push("outColor = linearToGamma(vColor, gammaFactor);"):a.push("outColor = vColor;");return a.push("}"),a}(e)}}const ps=new e({}),As=h.vec3(),ds=function(e,t){this.id=ps.addItem({}),this._hash=e,this._scene=t.scene,this._useCount=0,this._shaderSource=new hs(t),this._allocate(t)},fs={};ds.get=function(e){const t=[e.scene.id,e.scene.gammaOutput?"go":"",e.scene._sectionPlanesState.getHash(),e._geometry._state.compressGeometry?"cp":"",e._state.hash].join(";");let s=fs[t];return s||(s=new ds(t,e),fs[t]=s,d.memory.programs++),s._useCount++,s},ds.prototype.put=function(){0==--this._useCount&&(ps.removeItem(this.id),this._program&&this._program.destroy(),delete fs[this._hash],d.memory.programs--)},ds.prototype.webglContextRestored=function(){this._program=null},ds.prototype.drawMesh=function(e,t,s){this._program||this._allocate(t);const n=this._scene,i=n.camera,a=n.canvas.gl;let r;const l=t._state,o=t._geometry,c=o._state,u=t.origin;if(e.lastProgramId!==this._program.id&&(e.lastProgramId=this._program.id,this._bindProgram(e)),a.uniformMatrix4fv(this._uViewMatrix,!1,u?e.getRTCViewMatrix(l.originHash,u):i.viewMatrix),l.clippable){const e=n._sectionPlanesState.getNumAllocatedSectionPlanes(),s=n._sectionPlanesState.sectionPlanes.length;if(e>0){const i=n._sectionPlanesState.sectionPlanes,r=t.renderFlags;for(let t=0;t0,n=!!e._geometry._state.compressGeometry,i=e._state.billboard,a=e._state.stationary,r=[];r.push("#version 300 es"),r.push("// Mesh picking vertex shader"),r.push("in vec3 position;"),r.push("uniform mat4 modelMatrix;"),r.push("uniform mat4 viewMatrix;"),r.push("uniform mat4 projMatrix;"),r.push("out vec4 vViewPosition;"),r.push("uniform vec3 offset;"),n&&r.push("uniform mat4 positionsDecodeMatrix;");s&&r.push("out vec4 vWorldPosition;");t.logarithmicDepthBufferEnabled&&(r.push("uniform float logDepthBufFC;"),r.push("out float vFragDepth;"),r.push("bool isPerspectiveMatrix(mat4 m) {"),r.push(" return (m[2][3] == - 1.0);"),r.push("}"),r.push("out float isPerspective;"));"spherical"!==i&&"cylindrical"!==i||(r.push("void billboard(inout mat4 mat) {"),r.push(" mat[0][0] = 1.0;"),r.push(" mat[0][1] = 0.0;"),r.push(" mat[0][2] = 0.0;"),"spherical"===i&&(r.push(" mat[1][0] = 0.0;"),r.push(" mat[1][1] = 1.0;"),r.push(" mat[1][2] = 0.0;")),r.push(" mat[2][0] = 0.0;"),r.push(" mat[2][1] = 0.0;"),r.push(" mat[2][2] =1.0;"),r.push("}"));r.push("uniform vec2 pickClipPos;"),r.push("vec4 remapClipPos(vec4 clipPos) {"),r.push(" clipPos.xy /= clipPos.w;"),r.push(" clipPos.xy -= pickClipPos;"),r.push(" clipPos.xy *= clipPos.w;"),r.push(" return clipPos;"),r.push("}"),r.push("void main(void) {"),r.push("vec4 localPosition = vec4(position, 1.0); "),n&&r.push("localPosition = positionsDecodeMatrix * localPosition;");r.push("mat4 viewMatrix2 = viewMatrix;"),r.push("mat4 modelMatrix2 = modelMatrix;"),a&&r.push("viewMatrix2[3][0] = viewMatrix2[3][1] = viewMatrix2[3][2] = 0.0;");"spherical"!==i&&"cylindrical"!==i||(r.push("mat4 modelViewMatrix = viewMatrix2 * modelMatrix2;"),r.push("billboard(modelMatrix2);"),r.push("billboard(viewMatrix2);"));r.push(" vec4 worldPosition = modelMatrix2 * localPosition;"),r.push(" worldPosition.xyz = worldPosition.xyz + offset;"),r.push(" vec4 viewPosition = viewMatrix2 * worldPosition;"),s&&r.push(" vWorldPosition = worldPosition;");r.push("vec4 clipPos = projMatrix * viewPosition;"),t.logarithmicDepthBufferEnabled&&(r.push("vFragDepth = 1.0 + clipPos.w;"),r.push("isPerspective = float (isPerspectiveMatrix(projMatrix));"));return r.push("gl_Position = remapClipPos(clipPos);"),r.push("}"),r}(e),this.fragment=function(e){const t=e.scene,s=t._sectionPlanesState,n=s.getNumAllocatedSectionPlanes()>0,i=[];i.push("#version 300 es"),i.push("// Mesh picking fragment shader"),i.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),i.push("precision highp float;"),i.push("precision highp int;"),i.push("#else"),i.push("precision mediump float;"),i.push("precision mediump int;"),i.push("#endif"),t.logarithmicDepthBufferEnabled&&(i.push("in float isPerspective;"),i.push("uniform float logDepthBufFC;"),i.push("in float vFragDepth;"));if(i.push("uniform vec4 pickColor;"),n){i.push("uniform bool clippable;"),i.push("in vec4 vWorldPosition;");for(var a=0;a 0.0) { discard; }"),i.push("}")}t.logarithmicDepthBufferEnabled&&i.push("gl_FragDepth = isPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5;");return i.push(" outColor = pickColor; "),i.push("}"),i}(e)}}const ys=h.vec3(),ms=function(e,t){this._hash=e,this._shaderSource=new Is(t),this._scene=t.scene,this._useCount=0,this._allocate(t)},vs={};ms.get=function(e){const t=[e.scene.canvas.canvas.id,e.scene._sectionPlanesState.getHash(),e._geometry._state.hash,e._state.hash].join(";");let s=vs[t];if(!s){if(s=new ms(t,e),s.errors)return console.log(s.errors.join("\n")),null;vs[t]=s,d.memory.programs++}return s._useCount++,s},ms.prototype.put=function(){0==--this._useCount&&(this._program&&this._program.destroy(),delete vs[this._hash],d.memory.programs--)},ms.prototype.webglContextRestored=function(){this._program=null},ms.prototype.drawMesh=function(e,t){this._program||this._allocate(t);const s=this._scene,n=s.canvas.gl,i=t._state,a=t._material._state,r=t._geometry._state,l=t.origin;if(e.lastProgramId!==this._program.id&&(e.lastProgramId=this._program.id,this._bindProgram(e)),n.uniformMatrix4fv(this._uViewMatrix,!1,l?e.getRTCPickViewMatrix(i.originHash,l):e.pickViewMatrix),i.clippable){const e=s._sectionPlanesState.getNumAllocatedSectionPlanes(),i=s._sectionPlanesState.sectionPlanes.length;if(e>0){const a=s._sectionPlanesState.sectionPlanes,r=t.renderFlags;for(let t=0;t>24&255,u=o>>16&255,h=o>>8&255,p=255&o;n.uniform4f(this._uPickColor,p/255,h/255,u/255,c/255),n.uniform2fv(this._uPickClipPos,e.pickClipPos),r.indicesBuf?(n.drawElements(r.primitive,r.indicesBuf.numItems,r.indicesBuf.itemType,0),e.drawElements++):r.positions&&n.drawArrays(n.TRIANGLES,0,r.positions.numItems)},ms.prototype._allocate=function(e){const t=e.scene,s=t.canvas.gl;if(this._program=new Be(s,this._shaderSource),this._program.errors)return void(this.errors=this._program.errors);const n=this._program;this._uPositionsDecodeMatrix=n.getLocation("positionsDecodeMatrix"),this._uModelMatrix=n.getLocation("modelMatrix"),this._uViewMatrix=n.getLocation("viewMatrix"),this._uProjMatrix=n.getLocation("projMatrix"),this._uSectionPlanes=[];for(let e=0,s=t._sectionPlanesState.sectionPlanes.length;e0,n=!!e._geometry._state.compressGeometry,i=[];i.push("#version 300 es"),i.push("// Surface picking vertex shader"),i.push("in vec3 position;"),i.push("in vec4 color;"),i.push("uniform mat4 modelMatrix;"),i.push("uniform mat4 viewMatrix;"),i.push("uniform mat4 projMatrix;"),i.push("uniform vec3 offset;"),s&&(i.push("uniform bool clippable;"),i.push("out vec4 vWorldPosition;"));t.logarithmicDepthBufferEnabled&&(i.push("uniform float logDepthBufFC;"),i.push("out float vFragDepth;"),i.push("bool isPerspectiveMatrix(mat4 m) {"),i.push(" return (m[2][3] == - 1.0);"),i.push("}"),i.push("out float isPerspective;"));i.push("uniform vec2 pickClipPos;"),i.push("vec4 remapClipPos(vec4 clipPos) {"),i.push(" clipPos.xy /= clipPos.w;"),i.push(" clipPos.xy -= pickClipPos;"),i.push(" clipPos.xy *= clipPos.w;"),i.push(" return clipPos;"),i.push("}"),i.push("out vec4 vColor;"),n&&i.push("uniform mat4 positionsDecodeMatrix;");i.push("void main(void) {"),i.push("vec4 localPosition = vec4(position, 1.0); "),n&&i.push("localPosition = positionsDecodeMatrix * localPosition;");i.push(" vec4 worldPosition = modelMatrix * localPosition; "),i.push(" worldPosition.xyz = worldPosition.xyz + offset;"),i.push(" vec4 viewPosition = viewMatrix * worldPosition;"),s&&i.push(" vWorldPosition = worldPosition;");i.push(" vColor = color;"),i.push("vec4 clipPos = projMatrix * viewPosition;"),t.logarithmicDepthBufferEnabled&&(i.push("vFragDepth = 1.0 + clipPos.w;"),i.push("isPerspective = float (isPerspectiveMatrix(projMatrix));"));return i.push("gl_Position = remapClipPos(clipPos);"),i.push("}"),i}(e),this.fragment=function(e){const t=e.scene,s=t._sectionPlanesState,n=s.getNumAllocatedSectionPlanes()>0,i=[];i.push("#version 300 es"),i.push("// Surface picking fragment shader"),i.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),i.push("precision highp float;"),i.push("precision highp int;"),i.push("#else"),i.push("precision mediump float;"),i.push("precision mediump int;"),i.push("#endif"),i.push("in vec4 vColor;"),t.logarithmicDepthBufferEnabled&&(i.push("in float isPerspective;"),i.push("uniform float logDepthBufFC;"),i.push("in float vFragDepth;"));if(n){i.push("uniform bool clippable;"),i.push("in vec4 vWorldPosition;");for(let e=0;e 0.0) { discard; }"),i.push("}")}t.logarithmicDepthBufferEnabled&&i.push("gl_FragDepth = isPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5;");return i.push(" outColor = vColor;"),i.push("}"),i}(e)}}const gs=h.vec3(),Es=function(e,t){this._hash=e,this._scene=t.scene,this._useCount=0,this._shaderSource=new ws(t),this._allocate(t)},Ts={};Es.get=function(e){const t=[e.scene.canvas.canvas.id,e.scene._sectionPlanesState.getHash(),e._geometry._state.compressGeometry?"cp":"",e._state.hash].join(";");let s=Ts[t];if(!s){if(s=new Es(t,e),s.errors)return console.log(s.errors.join("\n")),null;Ts[t]=s,d.memory.programs++}return s._useCount++,s},Es.prototype.put=function(){0==--this._useCount&&(this._program&&this._program.destroy(),delete Ts[this._hash],d.memory.programs--)},Es.prototype.webglContextRestored=function(){this._program=null},Es.prototype.drawMesh=function(e,t){this._program||this._allocate(t);const s=this._scene,n=s.canvas.gl,i=t._state,a=t._material._state,r=t._geometry,l=t._geometry._state,o=t.origin,c=a.backfaces,u=a.frontface,h=s.camera.project,p=r._getPickTrianglePositions(),A=r._getPickTriangleColors();if(this._program.bind(),e.useProgram++,s.logarithmicDepthBufferEnabled){const e=2/(Math.log(h.far+1)/Math.LN2);n.uniform1f(this._uLogDepthBufFC,e)}if(n.uniformMatrix4fv(this._uViewMatrix,!1,o?e.getRTCPickViewMatrix(i.originHash,o):e.pickViewMatrix),i.clippable){const e=s._sectionPlanesState.getNumAllocatedSectionPlanes(),i=s._sectionPlanesState.sectionPlanes.length;if(e>0){const a=s._sectionPlanesState.sectionPlanes,r=t.renderFlags;for(let t=0;t0,n=!!e._geometry._state.compressGeometry,i=e._state.billboard,a=e._state.stationary,r=[];r.push("#version 300 es"),r.push("// Mesh occlusion vertex shader"),r.push("in vec3 position;"),r.push("uniform mat4 modelMatrix;"),r.push("uniform mat4 viewMatrix;"),r.push("uniform mat4 projMatrix;"),r.push("uniform vec3 offset;"),n&&r.push("uniform mat4 positionsDecodeMatrix;");s&&r.push("out vec4 vWorldPosition;");t.logarithmicDepthBufferEnabled&&(r.push("uniform float logDepthBufFC;"),r.push("out float vFragDepth;"),r.push("bool isPerspectiveMatrix(mat4 m) {"),r.push(" return (m[2][3] == - 1.0);"),r.push("}"),r.push("out float isPerspective;"));"spherical"!==i&&"cylindrical"!==i||(r.push("void billboard(inout mat4 mat) {"),r.push(" mat[0][0] = 1.0;"),r.push(" mat[0][1] = 0.0;"),r.push(" mat[0][2] = 0.0;"),"spherical"===i&&(r.push(" mat[1][0] = 0.0;"),r.push(" mat[1][1] = 1.0;"),r.push(" mat[1][2] = 0.0;")),r.push(" mat[2][0] = 0.0;"),r.push(" mat[2][1] = 0.0;"),r.push(" mat[2][2] =1.0;"),r.push("}"));r.push("void main(void) {"),r.push("vec4 localPosition = vec4(position, 1.0); "),r.push("vec4 worldPosition;"),n&&r.push("localPosition = positionsDecodeMatrix * localPosition;");r.push("mat4 viewMatrix2 = viewMatrix;"),r.push("mat4 modelMatrix2 = modelMatrix;"),a&&r.push("viewMatrix2[3][0] = viewMatrix2[3][1] = viewMatrix2[3][2] = 0.0;");"spherical"===i||"cylindrical"===i?(r.push("mat4 modelViewMatrix = viewMatrix2 * modelMatrix2;"),r.push("billboard(modelMatrix2);"),r.push("billboard(viewMatrix2);"),r.push("billboard(modelViewMatrix);"),r.push("worldPosition = modelMatrix2 * localPosition;"),r.push("worldPosition.xyz = worldPosition.xyz + offset;"),r.push("vec4 viewPosition = modelViewMatrix * localPosition;")):(r.push("worldPosition = modelMatrix2 * localPosition;"),r.push("worldPosition.xyz = worldPosition.xyz + offset;"),r.push("vec4 viewPosition = viewMatrix2 * worldPosition; "));s&&r.push(" vWorldPosition = worldPosition;");r.push("vec4 clipPos = projMatrix * viewPosition;"),t.logarithmicDepthBufferEnabled&&(r.push("vFragDepth = 1.0 + clipPos.w;"),r.push("isPerspective = float (isPerspectiveMatrix(projMatrix));"));return r.push("gl_Position = clipPos;"),r.push("}"),r}(e),this.fragment=function(e){const t=e.scene,s=t._sectionPlanesState,n=s.getNumAllocatedSectionPlanes()>0,i=[];i.push("#version 300 es"),i.push("// Mesh occlusion fragment shader"),i.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),i.push("precision highp float;"),i.push("precision highp int;"),i.push("#else"),i.push("precision mediump float;"),i.push("precision mediump int;"),i.push("#endif"),t.logarithmicDepthBufferEnabled&&(i.push("in float isPerspective;"),i.push("uniform float logDepthBufFC;"),i.push("in float vFragDepth;"));if(n){i.push("uniform bool clippable;"),i.push("in vec4 vWorldPosition;");for(var a=0;a 0.0) { discard; }"),i.push("}")}i.push(" outColor = vec4(0.0, 0.0, 1.0, 1.0); "),t.logarithmicDepthBufferEnabled&&i.push("gl_FragDepth = isPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5;");return i.push("}"),i}(e)}}const Ds=h.vec3(),Ps=function(e,t){this._hash=e,this._shaderSource=new bs(t),this._scene=t.scene,this._useCount=0,this._allocate(t)},Rs={};Ps.get=function(e){const t=[e.scene.canvas.canvas.id,e.scene._sectionPlanesState.getHash(),e._geometry._state.hash,e._state.occlusionHash].join(";");let s=Rs[t];if(!s){if(s=new Ps(t,e),s.errors)return console.log(s.errors.join("\n")),null;Rs[t]=s,d.memory.programs++}return s._useCount++,s},Ps.prototype.put=function(){0==--this._useCount&&(this._program&&this._program.destroy(),delete Rs[this._hash],d.memory.programs--)},Ps.prototype.webglContextRestored=function(){this._program=null},Ps.prototype.drawMesh=function(e,t){this._program||this._allocate(t);const s=this._scene,n=s.canvas.gl,i=t._material._state,a=t._state,r=t._geometry._state,l=t.origin;if(e.lastProgramId!==this._program.id&&(e.lastProgramId=this._program.id,this._bindProgram(e)),i.id!==this._lastMaterialId){const t=i.backfaces;e.backfaces!==t&&(t?n.disable(n.CULL_FACE):n.enable(n.CULL_FACE),e.backfaces=t);const s=i.frontface;e.frontface!==s&&(s?n.frontFace(n.CCW):n.frontFace(n.CW),e.frontface=s),this._lastMaterialId=i.id}const o=s.camera;if(n.uniformMatrix4fv(this._uViewMatrix,!1,l?e.getRTCViewMatrix(a.originHash,l):o.viewMatrix),a.clippable){const e=s._sectionPlanesState.getNumAllocatedSectionPlanes(),i=s._sectionPlanesState.sectionPlanes.length;if(e>0){const a=s._sectionPlanesState.sectionPlanes,r=t.renderFlags;for(let t=0;t0,s=!!e._geometry._state.compressGeometry,n=[];n.push("// Mesh shadow vertex shader"),n.push("in vec3 position;"),n.push("uniform mat4 modelMatrix;"),n.push("uniform mat4 shadowViewMatrix;"),n.push("uniform mat4 shadowProjMatrix;"),n.push("uniform vec3 offset;"),s&&n.push("uniform mat4 positionsDecodeMatrix;");t&&n.push("out vec4 vWorldPosition;");n.push("void main(void) {"),n.push("vec4 localPosition = vec4(position, 1.0); "),n.push("vec4 worldPosition;"),s&&n.push("localPosition = positionsDecodeMatrix * localPosition;");n.push("worldPosition = modelMatrix * localPosition;"),n.push("worldPosition.xyz = worldPosition.xyz + offset;"),n.push("vec4 viewPosition = shadowViewMatrix * worldPosition; "),t&&n.push("vWorldPosition = worldPosition;");return n.push(" gl_Position = shadowProjMatrix * viewPosition;"),n.push("}"),n}(e),this.fragment=function(e){const t=e.scene;t.canvas.gl;const s=t._sectionPlanesState,n=s.getNumAllocatedSectionPlanes()>0,i=[];if(i.push("// Mesh shadow fragment shader"),i.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),i.push("precision highp float;"),i.push("precision highp int;"),i.push("#else"),i.push("precision mediump float;"),i.push("precision mediump int;"),i.push("#endif"),n){i.push("uniform bool clippable;"),i.push("in vec4 vWorldPosition;");for(var a=0;a 0.0) { discard; }"),i.push("}")}return i.push("outColor = encodeFloat(gl_FragCoord.z);"),i.push("}"),i}(e)}}const _s=function(e,t){this._hash=e,this._shaderSource=new Cs(t),this._scene=t.scene,this._useCount=0,this._allocate(t)},Bs={};_s.get=function(e){const t=e.scene,s=[t.canvas.canvas.id,t._sectionPlanesState.getHash(),e._geometry._state.hash,e._state.hash].join(";");let n=Bs[s];if(!n){if(n=new _s(s,e),n.errors)return console.log(n.errors.join("\n")),null;Bs[s]=n,d.memory.programs++}return n._useCount++,n},_s.prototype.put=function(){0==--this._useCount&&(this._program&&this._program.destroy(),delete Bs[this._hash],d.memory.programs--)},_s.prototype.webglContextRestored=function(){this._program=null},_s.prototype.drawMesh=function(e,t){this._program||this._allocate(t);const s=this._scene.canvas.gl,n=t._material._state,i=t._geometry._state;if(e.lastProgramId!==this._program.id&&(e.lastProgramId=this._program.id,this._bindProgram(e)),n.id!==this._lastMaterialId){const t=n.backfaces;e.backfaces!==t&&(t?s.disable(s.CULL_FACE):s.enable(s.CULL_FACE),e.backfaces=t);const i=n.frontface;e.frontface!==i&&(i?s.frontFace(s.CCW):s.frontFace(s.CW),e.frontface=i),e.lineWidth!==n.lineWidth&&(s.lineWidth(n.lineWidth),e.lineWidth=n.lineWidth),this._uPointSize&&s.uniform1i(this._uPointSize,n.pointSize),this._lastMaterialId=n.id}if(s.uniformMatrix4fv(this._uModelMatrix,s.FALSE,t.worldMatrix),i.combineGeometry){const n=t.vertexBufs;n.id!==this._lastVertexBufsId&&(n.positionsBuf&&this._aPosition&&(this._aPosition.bindArrayBuffer(n.positionsBuf,n.compressGeometry?s.UNSIGNED_SHORT:s.FLOAT),e.bindArray++),this._lastVertexBufsId=n.id)}this._uClippable&&s.uniform1i(this._uClippable,t._state.clippable),s.uniform3fv(this._uOffset,t._state.offset),i.id!==this._lastGeometryId&&(this._uPositionsDecodeMatrix&&s.uniformMatrix4fv(this._uPositionsDecodeMatrix,!1,i.positionsDecodeMatrix),i.combineGeometry?i.indicesBufCombined&&(i.indicesBufCombined.bind(),e.bindArray++):(this._aPosition&&(this._aPosition.bindArrayBuffer(i.positionsBuf,i.compressGeometry?s.UNSIGNED_SHORT:s.FLOAT),e.bindArray++),i.indicesBuf&&(i.indicesBuf.bind(),e.bindArray++)),this._lastGeometryId=i.id),i.combineGeometry?i.indicesBufCombined&&(s.drawElements(i.primitive,i.indicesBufCombined.numItems,i.indicesBufCombined.itemType,0),e.drawElements++):i.indicesBuf?(s.drawElements(i.primitive,i.indicesBuf.numItems,i.indicesBuf.itemType,0),e.drawElements++):i.positions&&(s.drawArrays(s.TRIANGLES,0,i.positions.numItems),e.drawArrays++)},_s.prototype._allocate=function(e){const t=e.scene,s=t.canvas.gl;if(this._program=new Be(s,this._shaderSource),this._scene=t,this._useCount=0,this._program.errors)return void(this.errors=this._program.errors);const n=this._program;this._uPositionsDecodeMatrix=n.getLocation("positionsDecodeMatrix"),this._uModelMatrix=n.getLocation("modelMatrix"),this._uShadowViewMatrix=n.getLocation("shadowViewMatrix"),this._uShadowProjMatrix=n.getLocation("shadowProjMatrix"),this._uSectionPlanes={};for(let e=0,s=t._sectionPlanesState.sectionPlanes.length;e0){let e,t,i,a,r;for(let l=0,o=this._uSectionPlanes.length;l0)for(let s=0;s0!==e))&&this.scene._objectOffsetUpdated(this,!1)),this._isModel&&this.scene._deregisterModel(this),this.glRedraw()}}const ks=function(){const e=h.vec3(),t=h.vec3(),s=h.vec3(),n=h.vec3(),i=h.vec3(),a=h.vec3(),r=h.vec4(),l=h.vec3(),o=h.vec3(),c=h.vec3(),u=h.vec3(),p=h.vec3(),A=h.vec3(),d=h.vec3(),f=h.vec3(),I=h.vec3(),y=h.vec4(),m=h.vec4(),v=h.vec4(),w=h.vec3(),g=h.vec3(),E=h.vec3(),T=h.vec3(),b=h.vec3(),D=h.vec3(),P=h.vec3(),R=h.vec3(),C=h.vec3(),_=h.vec3(),B=h.vec3();return function(O,S,N,x){var L=x.primIndex;if(null!=L&&L>-1){const U=O.geometry._state,j=O.scene,V=j.camera,k=j.canvas;if("triangles"===U.primitiveName){x.primitive="triangle";const j=L,Q=U.indices,W=U.positions;let z,K,Y;if(Q){var M=Q[j+0],F=Q[j+1],H=Q[j+2];a[0]=M,a[1]=F,a[2]=H,x.indices=a,z=3*M,K=3*F,Y=3*H}else z=3*j,K=z+3,Y=K+3;if(s[0]=W[z+0],s[1]=W[z+1],s[2]=W[z+2],n[0]=W[K+0],n[1]=W[K+1],n[2]=W[K+2],i[0]=W[Y+0],i[1]=W[Y+1],i[2]=W[Y+2],U.compressGeometry){const e=U.positionsDecodeMatrix;e&&(Bt.decompressPosition(s,e,s),Bt.decompressPosition(n,e,n),Bt.decompressPosition(i,e,i))}x.canvasPos?h.canvasPosToLocalRay(k.canvas,O.origin?G(S,O.origin):S,N,O.worldMatrix,x.canvasPos,e,t):x.origin&&x.direction&&h.worldRayToLocalRay(O.worldMatrix,x.origin,x.direction,e,t),h.normalizeVec3(t),h.rayPlaneIntersect(e,t,s,n,i,r),x.localPos=r,x.position=r,y[0]=r[0],y[1]=r[1],y[2]=r[2],y[3]=1,h.transformVec4(O.worldMatrix,y,m),l[0]=m[0],l[1]=m[1],l[2]=m[2],x.canvasPos&&O.origin&&(l[0]+=O.origin[0],l[1]+=O.origin[1],l[2]+=O.origin[2]),x.worldPos=l,h.transformVec4(V.matrix,m,v),o[0]=v[0],o[1]=v[1],o[2]=v[2],x.viewPos=o,h.cartesianToBarycentric(r,s,n,i,c),x.bary=c;const X=U.normals;if(X){if(U.compressGeometry){const e=3*M,t=3*F,s=3*H;Bt.decompressNormal(X.subarray(e,e+2),u),Bt.decompressNormal(X.subarray(t,t+2),p),Bt.decompressNormal(X.subarray(s,s+2),A)}else u[0]=X[z],u[1]=X[z+1],u[2]=X[z+2],p[0]=X[K],p[1]=X[K+1],p[2]=X[K+2],A[0]=X[Y],A[1]=X[Y+1],A[2]=X[Y+2];const e=h.addVec3(h.addVec3(h.mulVec3Scalar(u,c[0],w),h.mulVec3Scalar(p,c[1],g),E),h.mulVec3Scalar(A,c[2],T),b);x.worldNormal=h.normalizeVec3(h.transformVec3(O.worldNormalMatrix,e,D))}const q=U.uv;if(q){if(d[0]=q[2*M],d[1]=q[2*M+1],f[0]=q[2*F],f[1]=q[2*F+1],I[0]=q[2*H],I[1]=q[2*H+1],U.compressGeometry){const e=U.uvDecodeMatrix;e&&(Bt.decompressUV(d,e,d),Bt.decompressUV(f,e,f),Bt.decompressUV(I,e,I))}x.uv=h.addVec3(h.addVec3(h.mulVec2Scalar(d,c[0],P),h.mulVec2Scalar(f,c[1],R),C),h.mulVec2Scalar(I,c[2],_),B)}}}}}();function Qs(e={}){let t=e.radiusTop||1;t<0&&(console.error("negative radiusTop not allowed - will invert"),t*=-1);let s=e.radiusBottom||1;s<0&&(console.error("negative radiusBottom not allowed - will invert"),s*=-1);let n=e.height||1;n<0&&(console.error("negative height not allowed - will invert"),n*=-1);let i=e.radialSegments||32;i<0&&(console.error("negative radialSegments not allowed - will invert"),i*=-1),i<3&&(i=3);let a=e.heightSegments||1;a<0&&(console.error("negative heightSegments not allowed - will invert"),a*=-1),a<1&&(a=1);const r=!!e.openEnded;let l=e.center;const o=l?l[0]:0,c=l?l[1]:0,u=l?l[2]:0,h=n/2,p=n/a,A=2*Math.PI/i,d=1/i,f=(t-s)/a,I=[],y=[],v=[],w=[];let g,E,T,b,D,P,R,C,_,B,O;const S=(90-180*Math.atan(n/(s-t))/Math.PI)/90;for(g=0;g<=a;g++)for(D=t-g*f,P=h-g*p,E=0;E<=i;E++)T=Math.sin(E*A),b=Math.cos(E*A),y.push(D*T),y.push(S),y.push(D*b),v.push(E*d),v.push(1*g/a),I.push(D*T+o),I.push(P+c),I.push(D*b+u);for(g=0;g0){for(_=I.length/3,y.push(0),y.push(1),y.push(0),v.push(.5),v.push(.5),I.push(0+o),I.push(h+c),I.push(0+u),E=0;E<=i;E++)T=Math.sin(E*A),b=Math.cos(E*A),B=.5*Math.sin(E*A)+.5,O=.5*Math.cos(E*A)+.5,y.push(t*T),y.push(1),y.push(t*b),v.push(B),v.push(O),I.push(t*T+o),I.push(h+c),I.push(t*b+u);for(E=0;E0){for(_=I.length/3,y.push(0),y.push(-1),y.push(0),v.push(.5),v.push(.5),I.push(0+o),I.push(0-h+c),I.push(0+u),E=0;E<=i;E++)T=Math.sin(E*A),b=Math.cos(E*A),B=.5*Math.sin(E*A)+.5,O=.5*Math.cos(E*A)+.5,y.push(s*T),y.push(-1),y.push(s*b),v.push(B),v.push(O),I.push(s*T+o),I.push(0-h+c),I.push(s*b+u);for(E=0;E":{width:24,points:[[4,18],[20,9],[4,0]]},"?":{width:18,points:[[3,16],[3,17],[4,19],[5,20],[7,21],[11,21],[13,20],[14,19],[15,17],[15,15],[14,13],[13,12],[9,10],[9,7],[-1,-1],[9,2],[8,1],[9,0],[10,1],[9,2]]},"@":{width:27,points:[[18,13],[17,15],[15,16],[12,16],[10,15],[9,14],[8,11],[8,8],[9,6],[11,5],[14,5],[16,6],[17,8],[-1,-1],[12,16],[10,14],[9,11],[9,8],[10,6],[11,5],[-1,-1],[18,16],[17,8],[17,6],[19,5],[21,5],[23,7],[24,10],[24,12],[23,15],[22,17],[20,19],[18,20],[15,21],[12,21],[9,20],[7,19],[5,17],[4,15],[3,12],[3,9],[4,6],[5,4],[7,2],[9,1],[12,0],[15,0],[18,1],[20,2],[21,3],[-1,-1],[19,16],[18,8],[18,6],[19,5]]},A:{width:18,points:[[9,21],[1,0],[-1,-1],[9,21],[17,0],[-1,-1],[4,7],[14,7]]},B:{width:21,points:[[4,21],[4,0],[-1,-1],[4,21],[13,21],[16,20],[17,19],[18,17],[18,15],[17,13],[16,12],[13,11],[-1,-1],[4,11],[13,11],[16,10],[17,9],[18,7],[18,4],[17,2],[16,1],[13,0],[4,0]]},C:{width:21,points:[[18,16],[17,18],[15,20],[13,21],[9,21],[7,20],[5,18],[4,16],[3,13],[3,8],[4,5],[5,3],[7,1],[9,0],[13,0],[15,1],[17,3],[18,5]]},D:{width:21,points:[[4,21],[4,0],[-1,-1],[4,21],[11,21],[14,20],[16,18],[17,16],[18,13],[18,8],[17,5],[16,3],[14,1],[11,0],[4,0]]},E:{width:19,points:[[4,21],[4,0],[-1,-1],[4,21],[17,21],[-1,-1],[4,11],[12,11],[-1,-1],[4,0],[17,0]]},F:{width:18,points:[[4,21],[4,0],[-1,-1],[4,21],[17,21],[-1,-1],[4,11],[12,11]]},G:{width:21,points:[[18,16],[17,18],[15,20],[13,21],[9,21],[7,20],[5,18],[4,16],[3,13],[3,8],[4,5],[5,3],[7,1],[9,0],[13,0],[15,1],[17,3],[18,5],[18,8],[-1,-1],[13,8],[18,8]]},H:{width:22,points:[[4,21],[4,0],[-1,-1],[18,21],[18,0],[-1,-1],[4,11],[18,11]]},I:{width:8,points:[[4,21],[4,0]]},J:{width:16,points:[[12,21],[12,5],[11,2],[10,1],[8,0],[6,0],[4,1],[3,2],[2,5],[2,7]]},K:{width:21,points:[[4,21],[4,0],[-1,-1],[18,21],[4,7],[-1,-1],[9,12],[18,0]]},L:{width:17,points:[[4,21],[4,0],[-1,-1],[4,0],[16,0]]},M:{width:24,points:[[4,21],[4,0],[-1,-1],[4,21],[12,0],[-1,-1],[20,21],[12,0],[-1,-1],[20,21],[20,0]]},N:{width:22,points:[[4,21],[4,0],[-1,-1],[4,21],[18,0],[-1,-1],[18,21],[18,0]]},O:{width:22,points:[[9,21],[7,20],[5,18],[4,16],[3,13],[3,8],[4,5],[5,3],[7,1],[9,0],[13,0],[15,1],[17,3],[18,5],[19,8],[19,13],[18,16],[17,18],[15,20],[13,21],[9,21]]},P:{width:21,points:[[4,21],[4,0],[-1,-1],[4,21],[13,21],[16,20],[17,19],[18,17],[18,14],[17,12],[16,11],[13,10],[4,10]]},Q:{width:22,points:[[9,21],[7,20],[5,18],[4,16],[3,13],[3,8],[4,5],[5,3],[7,1],[9,0],[13,0],[15,1],[17,3],[18,5],[19,8],[19,13],[18,16],[17,18],[15,20],[13,21],[9,21],[-1,-1],[12,4],[18,-2]]},R:{width:21,points:[[4,21],[4,0],[-1,-1],[4,21],[13,21],[16,20],[17,19],[18,17],[18,15],[17,13],[16,12],[13,11],[4,11],[-1,-1],[11,11],[18,0]]},S:{width:20,points:[[17,18],[15,20],[12,21],[8,21],[5,20],[3,18],[3,16],[4,14],[5,13],[7,12],[13,10],[15,9],[16,8],[17,6],[17,3],[15,1],[12,0],[8,0],[5,1],[3,3]]},T:{width:16,points:[[8,21],[8,0],[-1,-1],[1,21],[15,21]]},U:{width:22,points:[[4,21],[4,6],[5,3],[7,1],[10,0],[12,0],[15,1],[17,3],[18,6],[18,21]]},V:{width:18,points:[[1,21],[9,0],[-1,-1],[17,21],[9,0]]},W:{width:24,points:[[2,21],[7,0],[-1,-1],[12,21],[7,0],[-1,-1],[12,21],[17,0],[-1,-1],[22,21],[17,0]]},X:{width:20,points:[[3,21],[17,0],[-1,-1],[17,21],[3,0]]},Y:{width:18,points:[[1,21],[9,11],[9,0],[-1,-1],[17,21],[9,11]]},Z:{width:20,points:[[17,21],[3,0],[-1,-1],[3,21],[17,21],[-1,-1],[3,0],[17,0]]},"[":{width:14,points:[[4,25],[4,-7],[-1,-1],[5,25],[5,-7],[-1,-1],[4,25],[11,25],[-1,-1],[4,-7],[11,-7]]},"\\":{width:14,points:[[0,21],[14,-3]]},"]":{width:14,points:[[9,25],[9,-7],[-1,-1],[10,25],[10,-7],[-1,-1],[3,25],[10,25],[-1,-1],[3,-7],[10,-7]]},"^":{width:16,points:[[6,15],[8,18],[10,15],[-1,-1],[3,12],[8,17],[13,12],[-1,-1],[8,17],[8,0]]},_:{width:16,points:[[0,-2],[16,-2]]},"`":{width:10,points:[[6,21],[5,20],[4,18],[4,16],[5,15],[6,16],[5,17]]},a:{width:19,points:[[15,14],[15,0],[-1,-1],[15,11],[13,13],[11,14],[8,14],[6,13],[4,11],[3,8],[3,6],[4,3],[6,1],[8,0],[11,0],[13,1],[15,3]]},b:{width:19,points:[[4,21],[4,0],[-1,-1],[4,11],[6,13],[8,14],[11,14],[13,13],[15,11],[16,8],[16,6],[15,3],[13,1],[11,0],[8,0],[6,1],[4,3]]},c:{width:18,points:[[15,11],[13,13],[11,14],[8,14],[6,13],[4,11],[3,8],[3,6],[4,3],[6,1],[8,0],[11,0],[13,1],[15,3]]},d:{width:19,points:[[15,21],[15,0],[-1,-1],[15,11],[13,13],[11,14],[8,14],[6,13],[4,11],[3,8],[3,6],[4,3],[6,1],[8,0],[11,0],[13,1],[15,3]]},e:{width:18,points:[[3,8],[15,8],[15,10],[14,12],[13,13],[11,14],[8,14],[6,13],[4,11],[3,8],[3,6],[4,3],[6,1],[8,0],[11,0],[13,1],[15,3]]},f:{width:12,points:[[10,21],[8,21],[6,20],[5,17],[5,0],[-1,-1],[2,14],[9,14]]},g:{width:19,points:[[15,14],[15,-2],[14,-5],[13,-6],[11,-7],[8,-7],[6,-6],[-1,-1],[15,11],[13,13],[11,14],[8,14],[6,13],[4,11],[3,8],[3,6],[4,3],[6,1],[8,0],[11,0],[13,1],[15,3]]},h:{width:19,points:[[4,21],[4,0],[-1,-1],[4,10],[7,13],[9,14],[12,14],[14,13],[15,10],[15,0]]},i:{width:8,points:[[3,21],[4,20],[5,21],[4,22],[3,21],[-1,-1],[4,14],[4,0]]},j:{width:10,points:[[5,21],[6,20],[7,21],[6,22],[5,21],[-1,-1],[6,14],[6,-3],[5,-6],[3,-7],[1,-7]]},k:{width:17,points:[[4,21],[4,0],[-1,-1],[14,14],[4,4],[-1,-1],[8,8],[15,0]]},l:{width:8,points:[[4,21],[4,0]]},m:{width:30,points:[[4,14],[4,0],[-1,-1],[4,10],[7,13],[9,14],[12,14],[14,13],[15,10],[15,0],[-1,-1],[15,10],[18,13],[20,14],[23,14],[25,13],[26,10],[26,0]]},n:{width:19,points:[[4,14],[4,0],[-1,-1],[4,10],[7,13],[9,14],[12,14],[14,13],[15,10],[15,0]]},o:{width:19,points:[[8,14],[6,13],[4,11],[3,8],[3,6],[4,3],[6,1],[8,0],[11,0],[13,1],[15,3],[16,6],[16,8],[15,11],[13,13],[11,14],[8,14]]},p:{width:19,points:[[4,14],[4,-7],[-1,-1],[4,11],[6,13],[8,14],[11,14],[13,13],[15,11],[16,8],[16,6],[15,3],[13,1],[11,0],[8,0],[6,1],[4,3]]},q:{width:19,points:[[15,14],[15,-7],[-1,-1],[15,11],[13,13],[11,14],[8,14],[6,13],[4,11],[3,8],[3,6],[4,3],[6,1],[8,0],[11,0],[13,1],[15,3]]},r:{width:13,points:[[4,14],[4,0],[-1,-1],[4,8],[5,11],[7,13],[9,14],[12,14]]},s:{width:17,points:[[14,11],[13,13],[10,14],[7,14],[4,13],[3,11],[4,9],[6,8],[11,7],[13,6],[14,4],[14,3],[13,1],[10,0],[7,0],[4,1],[3,3]]},t:{width:12,points:[[5,21],[5,4],[6,1],[8,0],[10,0],[-1,-1],[2,14],[9,14]]},u:{width:19,points:[[4,14],[4,4],[5,1],[7,0],[10,0],[12,1],[15,4],[-1,-1],[15,14],[15,0]]},v:{width:16,points:[[2,14],[8,0],[-1,-1],[14,14],[8,0]]},w:{width:22,points:[[3,14],[7,0],[-1,-1],[11,14],[7,0],[-1,-1],[11,14],[15,0],[-1,-1],[19,14],[15,0]]},x:{width:17,points:[[3,14],[14,0],[-1,-1],[14,14],[3,0]]},y:{width:16,points:[[2,14],[8,0],[-1,-1],[14,14],[8,0],[6,-4],[4,-6],[2,-7],[1,-7]]},z:{width:17,points:[[14,14],[3,0],[-1,-1],[3,14],[14,14],[-1,-1],[3,0],[14,0]]},"{":{width:14,points:[[9,25],[7,24],[6,23],[5,21],[5,19],[6,17],[7,16],[8,14],[8,12],[6,10],[-1,-1],[7,24],[6,22],[6,20],[7,18],[8,17],[9,15],[9,13],[8,11],[4,9],[8,7],[9,5],[9,3],[8,1],[7,0],[6,-2],[6,-4],[7,-6],[-1,-1],[6,8],[8,6],[8,4],[7,2],[6,1],[5,-1],[5,-3],[6,-5],[7,-6],[9,-7]]},"|":{width:8,points:[[4,25],[4,-7]]},"}":{width:14,points:[[5,25],[7,24],[8,23],[9,21],[9,19],[8,17],[7,16],[6,14],[6,12],[8,10],[-1,-1],[7,24],[8,22],[8,20],[7,18],[6,17],[5,15],[5,13],[6,11],[10,9],[6,7],[5,5],[5,3],[6,1],[7,0],[8,-2],[8,-4],[7,-6],[-1,-1],[8,8],[6,6],[6,4],[7,2],[8,1],[9,-1],[9,-3],[8,-5],[7,-6],[5,-7]]},"~":{width:24,points:[[3,6],[3,8],[4,11],[6,12],[8,12],[10,11],[14,8],[16,7],[18,7],[20,8],[21,10],[-1,-1],[3,8],[4,10],[6,11],[8,11],[10,10],[14,7],[16,6],[18,6],[20,7],[21,10],[21,12]]}};function Ks(e={}){var t=e.origin||[0,0,0],s=t[0],n=t[1],i=t[2],a=e.size||1,r=[],l=[],o=e.text;m.isNumeric(o)&&(o=""+o);for(var c,u,h,p,A,d,f,I,y,v=(o||"").split("\n"),w=0,g=0,E=.04,T=0;T0!==e))&&this.scene._objectOffsetUpdated(this,!1)),this._isModel&&this.scene._deregisterModel(this),this._children.length){const e=this._children.splice();let t;for(let s=0,n=e.length;s1;s.pixelStorei(s.UNPACK_FLIP_Y_WEBGL,this.flipY),s.pixelStorei(s.UNPACK_PREMULTIPLY_ALPHA_WEBGL,this.premultiplyAlpha),s.pixelStorei(s.UNPACK_ALIGNMENT,this.unpackAlignment),s.pixelStorei(s.UNPACK_COLORSPACE_CONVERSION_WEBGL,s.NONE);const a=An(s,this.wrapS);a&&s.texParameteri(this.target,s.TEXTURE_WRAP_S,a);const r=An(s,this.wrapT);if(r&&s.texParameteri(this.target,s.TEXTURE_WRAP_T,r),this.type===s.TEXTURE_3D||this.type===s.TEXTURE_2D_ARRAY){const e=An(s,this.wrapR);e&&s.texParameteri(this.target,s.TEXTURE_WRAP_R,e),s.texParameteri(this.type,s.TEXTURE_WRAP_R,e)}i?(s.texParameteri(this.target,s.TEXTURE_MIN_FILTER,yn(s,this.minFilter)),s.texParameteri(this.target,s.TEXTURE_MAG_FILTER,yn(s,this.magFilter))):(s.texParameteri(this.target,s.TEXTURE_MIN_FILTER,An(s,this.minFilter)),s.texParameteri(this.target,s.TEXTURE_MAG_FILTER,An(s,this.magFilter)));const l=An(s,this.format,this.encoding),o=An(s,this.type),c=In(s,this.internalFormat,l,o,this.encoding,!1);s.texStorage2D(s.TEXTURE_2D,n,c,e[0].width,e[0].height);for(let t=0,n=e.length;t>t;return e+1}class gn extends _{get type(){return"Texture"}constructor(e,t={}){super(e,t),this._state=new Je({texture:new fn({gl:this.scene.canvas.gl}),matrix:h.identityMat4(),hasMatrix:t.translate&&(0!==t.translate[0]||0!==t.translate[1])||!!t.rotate||t.scale&&(0!==t.scale[0]||0!==t.scale[1]),minFilter:this._checkMinFilter(t.minFilter),magFilter:this._checkMagFilter(t.magFilter),wrapS:this._checkWrapS(t.wrapS),wrapT:this._checkWrapT(t.wrapT),flipY:this._checkFlipY(t.flipY),encoding:this._checkEncoding(t.encoding)}),this._src=null,this._image=null,this._translate=h.vec2([0,0]),this._scale=h.vec2([1,1]),this._rotate=h.vec2([0,0]),this._matrixDirty=!1,this.translate=t.translate,this.scale=t.scale,this.rotate=t.rotate,t.src?this.src=t.src:t.image&&(this.image=t.image),d.memory.textures++}_checkMinFilter(e){return 1006!==(e=e||1008)&&1007!==e&&1008!==e&&1005!==e&&1004!==e&&(this.error("Unsupported value for 'minFilter' - supported values are LinearFilter, LinearMipMapNearestFilter, NearestMipMapNearestFilter, NearestMipMapLinearFilter and LinearMipMapLinearFilter. Defaulting to LinearMipMapLinearFilter."),e=1008),e}_checkMagFilter(e){return 1006!==(e=e||1006)&&1003!==e&&(this.error("Unsupported value for 'magFilter' - supported values are LinearFilter and NearestFilter. Defaulting to LinearFilter."),e=1006),e}_checkWrapS(e){return 1001!==(e=e||1e3)&&1002!==e&&1e3!==e&&(this.error("Unsupported value for 'wrapS' - supported values are ClampToEdgeWrapping, MirroredRepeatWrapping and RepeatWrapping. Defaulting to RepeatWrapping."),e=1e3),e}_checkWrapT(e){return 1001!==(e=e||1e3)&&1002!==e&&1e3!==e&&(this.error("Unsupported value for 'wrapT' - supported values are ClampToEdgeWrapping, MirroredRepeatWrapping and RepeatWrapping. Defaulting to RepeatWrapping."),e=1e3),e}_checkFlipY(e){return!!e}_checkEncoding(e){return 3e3!==(e=e||3e3)&&3001!==e&&(this.error("Unsupported value for 'encoding' - supported values are LinearEncoding and sRGBEncoding. Defaulting to LinearEncoding."),e=3e3),e}_webglContextRestored(){this._state.texture=new fn({gl:this.scene.canvas.gl}),this._image?this.image=this._image:this._src&&(this.src=this._src)}_update(){const e=this._state;if(this._matrixDirty){let t,s;0===this._translate[0]&&0===this._translate[1]||(t=h.translationMat4v([this._translate[0],this._translate[1],0],this._state.matrix)),1===this._scale[0]&&1===this._scale[1]||(s=h.scalingMat4v([this._scale[0],this._scale[1],1]),t=t?h.mulMat4(t,s):s),0!==this._rotate&&(s=h.rotationMat4v(.0174532925*this._rotate,[0,0,1]),t=t?h.mulMat4(t,s):s),t&&(e.matrix=t),this._matrixDirty=!1}this.glRedraw()}set image(e){this._image=mn(e),this._image.crossOrigin="Anonymous",this._state.texture.setImage(this._image,this._state),this._src=null,this.glRedraw()}get image(){return this._image}set src(e){this.scene.loading++,this.scene.canvas.spinner.processes++;const t=this;let s=new Image;s.onload=function(){s=mn(s),t._state.texture.setImage(s,t._state),t.scene.loading--,t.glRedraw(),t.scene.canvas.spinner.processes--},s.src=e,this._src=e,this._image=null}get src(){return this._src}set translate(e){this._translate.set(e||[0,0]),this._matrixDirty=!0,this._needUpdate()}get translate(){return this._translate}set scale(e){this._scale.set(e||[1,1]),this._matrixDirty=!0,this._needUpdate()}get scale(){return this._scale}set rotate(e){e=e||0,this._rotate!==e&&(this._rotate=e,this._matrixDirty=!0,this._needUpdate())}get rotate(){return this._rotate}get minFilter(){return this._state.minFilter}get magFilter(){return this._state.magFilter}get wrapS(){return this._state.wrapS}get wrapT(){return this._state.wrapT}get flipY(){return this._state.flipY}get encoding(){return this._state.encoding}destroy(){super.destroy(),this._state.texture&&this._state.texture.destroy(),this._state.destroy(),d.memory.textures--}}const En=d.memory,Tn=h.AABB3();class bn extends Et{get type(){return"VBOGeometry"}get isVBOGeometry(){return!0}constructor(e,t={}){super(e,t),this._state=new Je({compressGeometry:!0,primitive:null,primitiveName:null,positionsDecodeMatrix:null,uvDecodeMatrix:null,positionsBuf:null,normalsBuf:null,colorsbuf:null,uvBuf:null,indicesBuf:null,hash:""}),this._numTriangles=0,this._edgeThreshold=t.edgeThreshold||10,this._aabb=null,this._obb=h.OBB3();const s=this._state,n=this.scene.canvas.gl;switch(t.primitive=t.primitive||"triangles",t.primitive){case"points":s.primitive=n.POINTS,s.primitiveName=t.primitive;break;case"lines":s.primitive=n.LINES,s.primitiveName=t.primitive;break;case"line-loop":s.primitive=n.LINE_LOOP,s.primitiveName=t.primitive;break;case"line-strip":s.primitive=n.LINE_STRIP,s.primitiveName=t.primitive;break;case"triangles":s.primitive=n.TRIANGLES,s.primitiveName=t.primitive;break;case"triangle-strip":s.primitive=n.TRIANGLE_STRIP,s.primitiveName=t.primitive;break;case"triangle-fan":s.primitive=n.TRIANGLE_FAN,s.primitiveName=t.primitive;break;default:this.error("Unsupported value for 'primitive': '"+t.primitive+"' - supported values are 'points', 'lines', 'line-loop', 'line-strip', 'triangles', 'triangle-strip' and 'triangle-fan'. Defaulting to 'triangles'."),s.primitive=n.TRIANGLES,s.primitiveName=t.primitive}if(t.positions)if(t.indices){var i;if(t.positionsDecodeMatrix);else{const e=Bt.getPositionsBounds(t.positions),a=Bt.compressPositions(t.positions,e.min,e.max);i=a.quantized,s.positionsDecodeMatrix=a.decodeMatrix,s.positionsBuf=new Oe(n,n.ARRAY_BUFFER,i,i.length,3,n.STATIC_DRAW),En.positions+=s.positionsBuf.numItems,h.positions3ToAABB3(t.positions,this._aabb),h.positions3ToAABB3(i,Tn,s.positionsDecodeMatrix),h.AABB3ToOBB3(Tn,this._obb)}if(t.colors){const e=t.colors.constructor===Float32Array?t.colors:new Float32Array(t.colors);s.colorsBuf=new Oe(n,n.ARRAY_BUFFER,e,e.length,4,n.STATIC_DRAW),En.colors+=s.colorsBuf.numItems}if(t.uv){const e=Bt.getUVBounds(t.uv),i=Bt.compressUVs(t.uv,e.min,e.max),a=i.quantized;s.uvDecodeMatrix=i.decodeMatrix,s.uvBuf=new Oe(n,n.ARRAY_BUFFER,a,a.length,2,n.STATIC_DRAW),En.uvs+=s.uvBuf.numItems}if(t.normals){const e=Bt.compressNormals(t.normals);let i=s.compressGeometry;s.normalsBuf=new Oe(n,n.ARRAY_BUFFER,e,e.length,3,n.STATIC_DRAW,i),En.normals+=s.normalsBuf.numItems}{const e=t.indices.constructor===Uint32Array||t.indices.constructor===Uint16Array?t.indices:new Uint32Array(t.indices);s.indicesBuf=new Oe(n,n.ELEMENT_ARRAY_BUFFER,e,e.length,1,n.STATIC_DRAW),En.indices+=s.indicesBuf.numItems;const a=Tt(i,e,s.positionsDecodeMatrix,this._edgeThreshold);this._edgeIndicesBuf=new Oe(n,n.ELEMENT_ARRAY_BUFFER,a,a.length,1,n.STATIC_DRAW),"triangles"===this._state.primitiveName&&(this._numTriangles=t.indices.length/3)}this._buildHash(),En.meshes++}else this.error("Config expected: indices");else this.error("Config expected: positions")}_buildHash(){const e=this._state,t=["/g"];t.push("/"+e.primitive+";"),e.positionsBuf&&t.push("p"),e.colorsBuf&&t.push("c"),(e.normalsBuf||e.autoVertexNormals)&&t.push("n"),e.uvBuf&&t.push("u"),t.push("cp"),t.push(";"),e.hash=t.join("")}_getEdgeIndices(){return this._edgeIndicesBuf}get primitive(){return this._state.primitiveName}get aabb(){return this._aabb}get obb(){return this._obb}get numTriangles(){return this._numTriangles}_getState(){return this._state}destroy(){super.destroy();const e=this._state;e.indicesBuf&&e.indicesBuf.destroy(),e.positionsBuf&&e.positionsBuf.destroy(),e.normalsBuf&&e.normalsBuf.destroy(),e.uvBuf&&e.uvBuf.destroy(),e.colorsBuf&&e.colorsBuf.destroy(),this._edgeIndicesBuf&&this._edgeIndicesBuf.destroy(),e.destroy(),En.meshes--}}var Dn={};function Pn(e={}){let t=e.size||1;t<0&&(console.error("negative size not allowed - will invert"),t*=-1);let s=e.divisions||1;s<0&&(console.error("negative divisions not allowed - will invert"),s*=-1),s<1&&(s=1),t=t||10,s=s||10;const n=t/s,i=t/2,a=[],r=[];let l=0;for(let e=0,t=-i;e<=s;e++,t+=n)a.push(-i),a.push(0),a.push(t),a.push(i),a.push(0),a.push(t),a.push(t),a.push(0),a.push(-i),a.push(t),a.push(0),a.push(i),r.push(l++),r.push(l++),r.push(l++),r.push(l++);return m.apply(e,{primitive:"lines",positions:a,indices:r})}function Rn(e={}){let t=e.xSize||1;t<0&&(console.error("negative xSize not allowed - will invert"),t*=-1);let s=e.zSize||1;s<0&&(console.error("negative zSize not allowed - will invert"),s*=-1);let n=e.xSegments||1;n<0&&(console.error("negative xSegments not allowed - will invert"),n*=-1),n<1&&(n=1);let i=e.xSegments||1;i<0&&(console.error("negative zSegments not allowed - will invert"),i*=-1),i<1&&(i=1);const a=e.center,r=a?a[0]:0,l=a?a[1]:0,o=a?a[2]:0,c=t/2,u=s/2,h=Math.floor(n)||1,p=Math.floor(i)||1,A=h+1,d=p+1,f=t/h,I=s/p,y=new Float32Array(A*d*3),v=new Float32Array(A*d*3),w=new Float32Array(A*d*2);let g,E,T,b,D,P,R,C=0,_=0;for(g=0;g65535?Uint32Array:Uint16Array)(h*p*6);for(g=0;g360&&(a=360);const r=e.center;let l=r?r[0]:0,o=r?r[1]:0;const c=r?r[2]:0,u=[],p=[],A=[],d=[];let f,I,y,v,w,g,E,T,b,D,P,R;for(T=0;T<=i;T++)for(E=0;E<=n;E++)f=E/n*a,I=.785398+T/i*Math.PI*2,l=t*Math.cos(f),o=t*Math.sin(f),y=(t+s*Math.cos(I))*Math.cos(f),v=(t+s*Math.cos(I))*Math.sin(f),w=s*Math.sin(I),u.push(y+l),u.push(v+o),u.push(w+c),A.push(1-E/n),A.push(T/i),g=h.normalizeVec3(h.subVec3([y,v,w],[l,o,c],[]),[]),p.push(g[0]),p.push(g[1]),p.push(g[2]);for(T=1;T<=i;T++)for(E=1;E<=n;E++)b=(n+1)*T+E-1,D=(n+1)*(T-1)+E-1,P=(n+1)*(T-1)+E,R=(n+1)*T+E,d.push(b),d.push(D),d.push(P),d.push(P),d.push(R),d.push(b);return m.apply(e,{positions:u,normals:p,uv:A,indices:d})}Dn.load=function(e,t){var s=new XMLHttpRequest;s.open("GET",e,!0),s.responseType="arraybuffer",s.onload=function(e){t(e.target.response)},s.send()},Dn.save=function(e,t){var s="data:application/octet-stream;base64,"+btoa(Dn.parse._buffToStr(e));window.location.href=s},Dn.clone=function(e){return JSON.parse(JSON.stringify(e))},Dn.bin={},Dn.bin.f=new Float32Array(1),Dn.bin.fb=new Uint8Array(Dn.bin.f.buffer),Dn.bin.rf=function(e,t){for(var s=Dn.bin.f,n=Dn.bin.fb,i=0;i<4;i++)n[i]=e[t+i];return s[0]},Dn.bin.rsl=function(e,t){return e[t]|e[t+1]<<8},Dn.bin.ril=function(e,t){return e[t]|e[t+1]<<8|e[t+2]<<16|e[t+3]<<24},Dn.bin.rASCII0=function(e,t){for(var s="";0!=e[t];)s+=String.fromCharCode(e[t++]);return s},Dn.bin.wf=function(e,t,s){new Float32Array(e.buffer,t,1)[0]=s},Dn.bin.wsl=function(e,t,s){e[t]=s,e[t+1]=s>>8},Dn.bin.wil=function(e,t,s){e[t]=s,e[t+1]=s>>8,e[t+2]=s>>16,e[t+3]},Dn.parse={},Dn.parse._buffToStr=function(e){for(var t=new Uint8Array(e),s="",n=0;ni&&(i=o),ca&&(a=c),ur&&(r=u)}return{min:{x:t,y:s,z:n},max:{x:i,y:a,z:r}}};class _n extends _{constructor(e,t={}){super(e,t),this._type=t.type||(t.src?t.src.split(".").pop():null)||"jpg",this._pos=h.vec3(t.pos||[0,0,0]),this._up=h.vec3(t.up||[0,1,0]),this._normal=h.vec3(t.normal||[0,0,1]),this._height=t.height||1,this._origin=h.vec3(),this._rtcPos=h.vec3(),this._imageSize=h.vec2(),this._texture=new gn(this,{flipY:!0}),this._image=new Image,"jpg"!==this._type&&"png"!==this._type&&(this.error('Unsupported type - defaulting to "jpg"'),this._type="jpg"),this._node=new an(this,{matrix:h.inverseMat4(h.lookAtMat4v(this._pos,h.subVec3(this._pos,this._normal,h.mat4()),this._up,h.mat4())),children:[this._bitmapMesh=new Vs(this,{scale:[1,1,1],rotation:[-90,0,0],collidable:t.collidable,pickable:t.pickable,opacity:t.opacity,clippable:t.clippable,geometry:new Nt(this,Rn({center:[0,0,0],xSize:1,zSize:1,xSegments:2,zSegments:2})),material:new Ht(this,{diffuse:[0,0,0],ambient:[0,0,0],specular:[0,0,0],diffuseMap:this._texture,emissiveMap:this._texture,backfaces:!0})})]}),t.image?this.image=t.image:t.src?this.src=t.src:t.imageData&&(this.imageData=t.imageData),this.scene._bitmapCreated(this)}set visible(e){this._bitmapMesh.visible=e}get visible(){return this._bitmapMesh.visible}set image(e){this._image=e,this._image&&(this._texture.image=this._image,this._imageSize[0]=this._image.width,this._imageSize[1]=this._image.height,this._updateBitmapMeshScale())}get image(){return this._image}set src(e){if(e){this._image.onload=()=>{this._texture.image=this._image,this._imageSize[0]=this._image.width,this._imageSize[1]=this._image.height,this._updateBitmapMeshScale()},this._image.src=e;switch(e.split(".").pop()){case"jpeg":case"jpg":this._type="jpg";break;case"png":this._type="png"}}}get src(){return this._image.src}set imageData(e){this._image.onload=()=>{this._texture.image=image,this._imageSize[0]=image.width,this._imageSize[1]=image.height,this._updateBitmapMeshScale()},this._image.src=e}get imageData(){const e=document.createElement("canvas"),t=e.getContext("2d");return e.width=this._image.width,e.height=this._image.height,t.drawImage(this._image,0,0),e.toDataURL("jpg"===this._type?"image/jpeg":"image/png")}set type(e){"png"===(e=e||"jpg")&&"jpg"===e||(this.error("Unsupported value for `type` - supported types are `jpg` and `png` - defaulting to `jpg`"),e="jpg"),this._type=e}get type(){return this._type}get pos(){return this._pos}get normal(){return this._normal}get up(){return this._up}set height(e){this._height=null==e?1:e,this._image&&this._updateBitmapMeshScale()}get height(){return this._height}set collidable(e){this._bitmapMesh.collidable=!1!==e}get collidable(){return this._bitmapMesh.collidable}set clippable(e){this._bitmapMesh.clippable=!1!==e}get clippable(){return this._bitmapMesh.clippable}set pickable(e){this._bitmapMesh.pickable=!1!==e}get pickable(){return this._bitmapMesh.pickable}set opacity(e){this._bitmapMesh.opacity=e}get opacity(){return this._bitmapMesh.opacity}destroy(){super.destroy(),this.scene._bitmapDestroyed(this)}_updateBitmapMeshScale(){const e=this._imageSize[1]/this._imageSize[0];this._bitmapMesh.scale=[this._height*e,1,this._height]}}class Bn extends _{constructor(e,t={}){super(e,t),this._positions=t.positions||[];const s=new Float32Array(this._positions.length),n=h.vec3(),i=V(this._positions,new Float32Array(this._positions.length),n,100);if(t.indices)this._indices=t.indices;else{this._indices=[];for(let e=0,t=this._positions.length/3-1;e{var i=e-s,a=t-n;return Math.sqrt(i*i+a*a)};class jn extends _{constructor(e,t={}){if(super(e.viewer.scene,t),this.plugin=e,this._container=t.container,!this._container)throw"config missing: container";this._eventSubs={};var s=this.plugin.viewer.scene;this._originMarker=new ie(s,t.origin),this._targetMarker=new ie(s,t.target),this._originWorld=h.vec3(),this._targetWorld=h.vec3(),this._wp=new Float64Array(24),this._vp=new Float64Array(24),this._pp=new Float64Array(24),this._cp=new Float64Array(8),this._xAxisLabelCulled=!1,this._yAxisLabelCulled=!1,this._zAxisLabelCulled=!1,this._color=t.color||this.plugin.defaultColor;const n=t.onMouseOver?e=>{t.onMouseOver(e,this)}:null,i=t.onMouseLeave?e=>{t.onMouseLeave(e,this)}:null,a=t.onContextMenu?e=>{t.onContextMenu(e,this)}:null,r=e=>{this.plugin.viewer.scene.canvas.canvas.dispatchEvent(new WheelEvent("wheel",e))};this._originDot=new re(this._container,{fillColor:this._color,zIndex:void 0!==e.zIndex?e.zIndex+2:void 0,onMouseOver:n,onMouseLeave:i,onMouseWheel:r,onContextMenu:a}),this._targetDot=new re(this._container,{fillColor:this._color,zIndex:void 0!==e.zIndex?e.zIndex+2:void 0,onMouseOver:n,onMouseLeave:i,onMouseWheel:r,onContextMenu:a}),this._lengthWire=new ae(this._container,{color:this._color,thickness:2,thicknessClickable:6,zIndex:void 0!==e.zIndex?e.zIndex+1:void 0,onMouseOver:n,onMouseLeave:i,onMouseWheel:r,onContextMenu:a}),this._xAxisWire=new ae(this._container,{color:"#FF0000",thickness:1,thicknessClickable:6,zIndex:void 0!==e.zIndex?e.zIndex+1:void 0,onMouseOver:n,onMouseLeave:i,onMouseWheel:r,onContextMenu:a}),this._yAxisWire=new ae(this._container,{color:"green",thickness:1,thicknessClickable:6,zIndex:void 0!==e.zIndex?e.zIndex+1:void 0,onMouseOver:n,onMouseLeave:i,onMouseWheel:r,onContextMenu:a}),this._zAxisWire=new ae(this._container,{color:"blue",thickness:1,thicknessClickable:6,zIndex:void 0!==e.zIndex?e.zIndex+1:void 0,onMouseOver:n,onMouseLeave:i,onMouseWheel:r,onContextMenu:a}),this._lengthLabel=new le(this._container,{fillColor:this._color,prefix:"",text:"",zIndex:void 0!==e.zIndex?e.zIndex+4:void 0,onMouseOver:n,onMouseLeave:i,onMouseWheel:r,onContextMenu:a}),this._xAxisLabel=new le(this._container,{fillColor:"red",prefix:"X",text:"",zIndex:void 0!==e.zIndex?e.zIndex+3:void 0,onMouseOver:n,onMouseLeave:i,onMouseWheel:r,onContextMenu:a}),this._yAxisLabel=new le(this._container,{fillColor:"green",prefix:"Y",text:"",zIndex:void 0!==e.zIndex?e.zIndex+3:void 0,onMouseOver:n,onMouseLeave:i,onMouseWheel:r,onContextMenu:a}),this._zAxisLabel=new le(this._container,{fillColor:"blue",prefix:"Z",text:"",zIndex:void 0!==e.zIndex?e.zIndex+3:void 0,onMouseOver:n,onMouseLeave:i,onMouseWheel:r,onContextMenu:a}),this._wpDirty=!1,this._vpDirty=!1,this._cpDirty=!1,this._sectionPlanesDirty=!0,this._visible=!1,this._originVisible=!1,this._targetVisible=!1,this._wireVisible=!1,this._axisVisible=!1,this._xAxisVisible=!1,this._yAxisVisible=!1,this._zAxisVisible=!1,this._axisEnabled=!0,this._labelsVisible=!1,this._clickable=!1,this._originMarker.on("worldPos",(e=>{this._originWorld.set(e||[0,0,0]),this._wpDirty=!0,this._needUpdate(0)})),this._targetMarker.on("worldPos",(e=>{this._targetWorld.set(e||[0,0,0]),this._wpDirty=!0,this._needUpdate(0)})),this._onViewMatrix=s.camera.on("viewMatrix",(()=>{this._vpDirty=!0,this._needUpdate(0)})),this._onProjMatrix=s.camera.on("projMatrix",(()=>{this._cpDirty=!0,this._needUpdate()})),this._onCanvasBoundary=s.canvas.on("boundary",(()=>{this._cpDirty=!0,this._needUpdate(0)})),this._onMetricsUnits=s.metrics.on("units",(()=>{this._cpDirty=!0,this._needUpdate()})),this._onMetricsScale=s.metrics.on("scale",(()=>{this._cpDirty=!0,this._needUpdate()})),this._onMetricsOrigin=s.metrics.on("origin",(()=>{this._cpDirty=!0,this._needUpdate()})),this._onSectionPlaneUpdated=s.on("sectionPlaneUpdated",(()=>{this._sectionPlanesDirty=!0,this._needUpdate()})),this.approximate=t.approximate,this.visible=t.visible,this.originVisible=t.originVisible,this.targetVisible=t.targetVisible,this.wireVisible=t.wireVisible,this.axisVisible=t.axisVisible,this.xAxisVisible=t.xAxisVisible,this.yAxisVisible=t.yAxisVisible,this.zAxisVisible=t.zAxisVisible,this.labelsVisible=t.labelsVisible}_update(){if(!this._visible)return;const e=this.plugin.viewer.scene;if(this._wpDirty&&(this._wp[0]=this._originWorld[0],this._wp[1]=this._originWorld[1],this._wp[2]=this._originWorld[2],this._wp[3]=1,this._wp[4]=this._targetWorld[0],this._wp[5]=this._originWorld[1],this._wp[6]=this._originWorld[2],this._wp[7]=1,this._wp[8]=this._targetWorld[0],this._wp[9]=this._targetWorld[1],this._wp[10]=this._originWorld[2],this._wp[11]=1,this._wp[12]=this._targetWorld[0],this._wp[13]=this._targetWorld[1],this._wp[14]=this._targetWorld[2],this._wp[15]=1,this._wpDirty=!1,this._vpDirty=!0),this._vpDirty&&(h.transformPositions4(e.camera.viewMatrix,this._wp,this._vp),this._vp[3]=1,this._vp[7]=1,this._vp[11]=1,this._vp[15]=1,this._vpDirty=!1,this._cpDirty=!0),this._sectionPlanesDirty){if(this._isSliced(this._wp))return this._xAxisLabel.setCulled(!0),this._yAxisLabel.setCulled(!0),this._zAxisLabel.setCulled(!0),this._lengthLabel.setCulled(!0),this._xAxisWire.setCulled(!0),this._yAxisWire.setCulled(!0),this._zAxisWire.setCulled(!0),this._lengthWire.setCulled(!0),this._originDot.setCulled(!0),void this._targetDot.setCulled(!0);this._xAxisLabel.setCulled(!1),this._yAxisLabel.setCulled(!1),this._zAxisLabel.setCulled(!1),this._lengthLabel.setCulled(!1),this._xAxisWire.setCulled(!1),this._yAxisWire.setCulled(!1),this._zAxisWire.setCulled(!1),this._lengthWire.setCulled(!1),this._originDot.setCulled(!1),this._targetDot.setCulled(!1),this._sectionPlanesDirty=!0}const t=this._originMarker.viewPos[2],s=this._targetMarker.viewPos[2];if(t>-.3||s>-.3)return this._xAxisLabel.setCulled(!0),this._yAxisLabel.setCulled(!0),this._zAxisLabel.setCulled(!0),this._lengthLabel.setCulled(!0),this._xAxisWire.setVisible(!1),this._yAxisWire.setVisible(!1),this._zAxisWire.setVisible(!1),this._lengthWire.setVisible(!1),this._originDot.setVisible(!1),void this._targetDot.setVisible(!1);if(this._cpDirty){h.transformPositions4(e.camera.project.matrix,this._vp,this._pp);var n=this._pp,i=this._cp,a=e.canvas.canvas.getBoundingClientRect();const t=this._container.getBoundingClientRect();var r=a.top-t.top,l=a.left-t.left,o=e.canvas.boundary,c=o[2],u=o[3],p=0;const s=this.plugin.viewer.scene.metrics,f=s.scale,I=s.units,y=s.unitsInfo[I].abbrev;for(var A=0,d=n.length;A{const t=e.snappedCanvasPos||e.canvasPos;i=!0,a.set(e.worldPos),r.set(e.canvasPos),0===this._mouseState?(this._markerDiv.style.marginLeft=t[0]-5+"px",this._markerDiv.style.marginTop=t[1]-5+"px",this._markerDiv.style.background="pink",e.snappedToVertex||e.snappedToEdge?(this.pointerLens&&(this.pointerLens.visible=!0,this.pointerLens.canvasPos=e.canvasPos,this.pointerLens.snappedCanvasPos=e.snappedCanvasPos||e.canvasPos,this.pointerLens.snapped=!0),this._markerDiv.style.background="greenyellow",this._markerDiv.style.border="2px solid green"):(this.pointerLens&&(this.pointerLens.visible=!0,this.pointerLens.canvasPos=e.canvasPos,this.pointerLens.snappedCanvasPos=e.canvasPos,this.pointerLens.snapped=!1),this._markerDiv.style.background="pink",this._markerDiv.style.border="2px solid red")):(this._markerDiv.style.marginLeft="-10000px",this._markerDiv.style.marginTop="-10000px"),n.style.cursor="pointer",this._currentDistanceMeasurement&&(this._currentDistanceMeasurement.wireVisible=this._currentDistanceMeasurementInitState.wireVisible,this._currentDistanceMeasurement.axisVisible=this._currentDistanceMeasurementInitState.axisVisible&&this.distanceMeasurementsPlugin.defaultAxisVisible,this._currentDistanceMeasurement.xAxisVisible=this._currentDistanceMeasurementInitState.xAxisVisible&&this.distanceMeasurementsPlugin.defaultXAxisVisible,this._currentDistanceMeasurement.yAxisVisible=this._currentDistanceMeasurementInitState.yAxisVisible&&this.distanceMeasurementsPlugin.defaultYAxisVisible,this._currentDistanceMeasurement.zAxisVisible=this._currentDistanceMeasurementInitState.zAxisVisible&&this.distanceMeasurementsPlugin.defaultZAxisVisible,this._currentDistanceMeasurement.targetVisible=this._currentDistanceMeasurementInitState.targetVisible,this._currentDistanceMeasurement.target.worldPos=a.slice(),this._markerDiv.style.marginLeft="-10000px",this._markerDiv.style.marginTop="-10000px")})),n.addEventListener("mousedown",this._onMouseDown=e=>{1===e.which&&(l=e.clientX,o=e.clientY)}),n.addEventListener("mouseup",this._onMouseUp=t=>{1===t.which&&(t.clientX>l+20||t.clientXo+20||t.clientY{this.pointerLens&&(this.pointerLens.visible=!0,this.pointerLens.canvasPos=e.canvasPos,this.pointerLens.snappedCanvasPos=e.snappedCanvasPos||e.canvasPos),i=!1,this._markerDiv.style.marginLeft="-100px",this._markerDiv.style.marginTop="-100px",this._currentDistanceMeasurement&&(this._currentDistanceMeasurement.wireVisible=!1,this._currentDistanceMeasurement.targetVisible=!1,this._currentDistanceMeasurement.axisVisible=!1),n.style.cursor="default"})),this._active=!0}deactivate(){if(!this._active)return;this.fire("activated",!1),this.pointerLens&&(this.pointerLens.visible=!1),this._markerDiv&&this._destroyMarkerDiv(),this.reset();const e=this.scene.canvas.canvas;e.removeEventListener("mousedown",this._onMouseDown),e.removeEventListener("mouseup",this._onMouseUp);const t=this.distanceMeasurementsPlugin.viewer.cameraControl;t.off(this._onCameraControlHoverSnapOrSurface),t.off(this._onCameraControlHoverSnapOrSurfaceOff),this._currentDistanceMeasurement&&(this.distanceMeasurementsPlugin.fire("measurementCancel",this._currentDistanceMeasurement),this._currentDistanceMeasurement.destroy(),this._currentDistanceMeasurement=null),this._active=!1}reset(){this._active&&(this._destroyMarkerDiv(),this._initMarkerDiv(),this._currentDistanceMeasurement&&(this.distanceMeasurementsPlugin.fire("measurementCancel",this._currentDistanceMeasurement),this._currentDistanceMeasurement.destroy(),this._currentDistanceMeasurement=null))}destroy(){this.deactivate(),super.destroy()}}class Qn{constructor(){}getMetaModel(e,t,s){m.loadJSON(e,(e=>{t(e)}),(function(e){s(e)}))}getGLTF(e,t,s){m.loadArraybuffer(e,(e=>{t(e)}),(function(e){s(e)}))}getGLB(e,t,s){m.loadArraybuffer(e,(e=>{t(e)}),(function(e){s(e)}))}getArrayBuffer(e,t,s,n){!function(e,t,s,n){var i=()=>{};s=s||i,n=n||i;const a=/^data:(.*?)(;base64)?,(.*)$/,r=t.match(a);if(r){const e=!!r[2];var l=r[3];l=window.decodeURIComponent(l),e&&(l=window.atob(l));try{const e=new ArrayBuffer(l.length),t=new Uint8Array(e);for(var o=0;o{s(e)}),(function(e){n(e)}))}}class Wn{constructor(e={}){this._eventSubIDMap=null,this._eventSubEvents=null,this._eventSubs=null,this._events=null,this._locale="en",this._messages={},this._locales=[],this._locale="en",this.messages=e.messages,this.locale=e.locale}set messages(e){this._messages=e||{},this._locales=Object.keys(this._messages),this.fire("updated",this)}loadMessages(e={}){for(let t in e)this._messages[t]=e[t];this.messages=this._messages}clearMessages(){this.messages={}}get locales(){return this._locales}set locale(e){e=e||"de",this._locale!==e&&(this._locale=e,this.fire("updated",e))}get locale(){return this._locale}translate(e,t){const s=this._messages[this._locale];if(!s)return null;const n=zn(e,s);return n?t?Kn(n,t):n:null}translatePlurals(e,t,s){const n=this._messages[this._locale];if(!n)return null;let i=zn(e,n);return i=0===(t=parseInt(""+t,10))?i.zero:t>1?i.other:i.one,i?(i=Kn(i,[t]),s&&(i=Kn(i,s)),i):null}fire(e,t,s){this._events||(this._events={}),this._eventSubs||(this._eventSubs={}),!0!==s&&(this._events[e]=t||!0);const n=this._eventSubs[e];if(n)for(const e in n)if(n.hasOwnProperty(e)){n[e].callback(t)}}on(t,s){this._events||(this._events={}),this._eventSubIDMap||(this._eventSubIDMap=new e),this._eventSubEvents||(this._eventSubEvents={}),this._eventSubs||(this._eventSubs={});let n=this._eventSubs[t];n||(n={},this._eventSubs[t]=n);const i=this._eventSubIDMap.addItem();n[i]={callback:s},this._eventSubEvents[i]=t;const a=this._events[t];return void 0!==a&&s(a),i}off(e){if(null==e)return;if(!this._eventSubEvents)return;const t=this._eventSubEvents[e];if(t){delete this._eventSubEvents[e];const s=this._eventSubs[t];s&&delete s[e],this._eventSubIDMap.removeItem(e)}}}function zn(e,t){if(t[e])return t[e];const s=e.split(".");let n=t;for(let e=0,t=s.length;n&&e1?1:e}get t(){return this._t}get tangent(){return this.getTangent(this._t)}get length(){var e=this._getLengths();return e[e.length-1]}getTangent(e){var t=1e-4;void 0===e&&(e=this._t);var s=e-t,n=e+t;s<0&&(s=0),n>1&&(n=1);var i=this.getPoint(s),a=this.getPoint(n),r=h.subVec3(a,i,[]);return h.normalizeVec3(r,[])}getPointAt(e){var t=this.getUToTMapping(e);return this.getPoint(t)}getPoints(e){e||(e=5);var t,s=[];for(t=0;t<=e;t++)s.push(this.getPoint(t/e));return s}_getLengths(e){if(e||(e=this.__arcLengthDivisions?this.__arcLengthDivisions:200),this.cacheArcLengths&&this.cacheArcLengths.length===e+1&&!this.needsUpdate)return this.cacheArcLengths;this.needsUpdate=!1;var t,s,n=[],i=this.getPoint(0),a=0;for(n.push(0),s=1;s<=e;s++)t=this.getPoint(s/e),a+=h.lenVec3(h.subVec3(t,i,[])),n.push(a),i=t;return this.cacheArcLengths=n,n}_updateArcLengths(){this.needsUpdate=!0,this._getLengths()}getUToTMapping(e,t){var s,n=this._getLengths(),i=0,a=n.length;s=t||e*n[a-1];for(var r,l=0,o=a-1;l<=o;)if((r=n[i=Math.floor(l+(o-l)/2)]-s)<0)l=i+1;else{if(!(r>0)){o=i;break}o=i-1}if(n[i=o]===s)return i/(a-1);var c=n[i];return(i+(s-c)/(n[i+1]-c))/(a-1)}}class Xn extends Yn{constructor(e,t={}){super(e,t),this.points=t.points,this.t=t.t}set points(e){this._points=e||[]}get points(){return this._points}set t(e){e=e||0,this._t=e<0?0:e>1?1:e}get t(){return this._t}get point(){return this.getPoint(this._t)}getPoint(e){var t=this.points;if(!(t.length<3)){var s=(t.length-1)*e,n=Math.floor(s),i=s-n,a=t[0===n?n:n-1],r=t[n],l=t[n>t.length-2?t.length-1:n+1],o=t[n>t.length-3?t.length-1:n+2],c=h.vec3();return c[0]=h.catmullRomInterpolate(a[0],r[0],l[0],o[0],i),c[1]=h.catmullRomInterpolate(a[1],r[1],l[1],o[1],i),c[2]=h.catmullRomInterpolate(a[2],r[2],l[2],o[2],i),c}this.error("Can't sample point from SplineCurve - not enough points on curve - returning [0,0,0].")}getJSON(){return{points:points,t:this._t}}}const qn=h.vec3();const Jn=h.vec3(),Zn=h.vec3(),$n=h.vec3(),ei=h.vec3(),ti=h.vec3();class si extends _{get type(){return"CameraFlightAnimation"}constructor(e,t={}){super(e,t),this._look1=h.vec3(),this._eye1=h.vec3(),this._up1=h.vec3(),this._look2=h.vec3(),this._eye2=h.vec3(),this._up2=h.vec3(),this._orthoScale1=1,this._orthoScale2=1,this._flying=!1,this._flyEyeLookUp=!1,this._flyingEye=!1,this._flyingLook=!1,this._callback=null,this._callbackScope=null,this._time1=null,this._time2=null,this.easing=!1!==t.easing,this.duration=t.duration,this.fit=t.fit,this.fitFOV=t.fitFOV,this.trail=t.trail}flyTo(e,t,s){e=e||this.scene,this._flying&&this.stop(),this._flying=!1,this._flyingEye=!1,this._flyingLook=!1,this._flyingEyeLookUp=!1,this._callback=t,this._callbackScope=s;const n=this.scene.camera,i=!!e.projection&&e.projection!==n.projection;let a,r,l,o,c;if(this._eye1[0]=n.eye[0],this._eye1[1]=n.eye[1],this._eye1[2]=n.eye[2],this._look1[0]=n.look[0],this._look1[1]=n.look[1],this._look1[2]=n.look[2],this._up1[0]=n.up[0],this._up1[1]=n.up[1],this._up1[2]=n.up[2],this._orthoScale1=n.ortho.scale,this._orthoScale2=e.orthoScale||this._orthoScale1,e.aabb)a=e.aabb;else if(6===e.length)a=e;else if(e.eye&&e.look||e.up)r=e.eye,l=e.look,o=e.up;else if(e.eye)r=e.eye;else if(e.look)l=e.look;else{let n=e;if((m.isNumeric(n)||m.isString(n))&&(c=n,n=this.scene.components[c],!n))return this.error("Component not found: "+m.inQuotes(c)),void(t&&(s?t.call(s):t()));i||(a=n.aabb||this.scene.aabb)}const u=e.poi;if(a){if(a[3]=1;e>1&&(e=1);const s=this.easing?si._ease(e,0,1,1):e,n=this.scene.camera;if(this._flyingEye||this._flyingLook?this._flyingEye?(h.subVec3(n.eye,n.look,ti),n.eye=h.lerpVec3(s,0,1,this._eye1,this._eye2,$n),n.look=h.subVec3($n,ti,Zn)):this._flyingLook&&(n.look=h.lerpVec3(s,0,1,this._look1,this._look2,Zn),n.up=h.lerpVec3(s,0,1,this._up1,this._up2,ei)):this._flyingEyeLookUp&&(n.eye=h.lerpVec3(s,0,1,this._eye1,this._eye2,$n),n.look=h.lerpVec3(s,0,1,this._look1,this._look2,Zn),n.up=h.lerpVec3(s,0,1,this._up1,this._up2,ei)),this._projection2){const t="ortho"===this._projection2?si._easeOutExpo(e,0,1,1):si._easeInCubic(e,0,1,1);n.customProjection.matrix=h.lerpMat4(t,0,1,this._projMatrix1,this._projMatrix2)}else n.ortho.scale=this._orthoScale1+e*(this._orthoScale2-this._orthoScale1);if(t)return n.ortho.scale=this._orthoScale2,void this.stop();R.scheduleTask(this._update,this)}static _ease(e,t,s,n){return-s*(e/=n)*(e-2)+t}static _easeInCubic(e,t,s,n){return s*(e/=n)*e*e+t}static _easeOutExpo(e,t,s,n){return s*(1-Math.pow(2,-10*e/n))+t}stop(){if(!this._flying)return;this._flying=!1,this._time1=null,this._time2=null,this._projection2&&(this.scene.camera.projection=this._projection2);const e=this._callback;e&&(this._callback=null,this._callbackScope?e.call(this._callbackScope):e()),this.fire("stopped",!0,!0)}cancel(){this._flying&&(this._flying=!1,this._time1=null,this._time2=null,this._callback&&(this._callback=null),this.fire("canceled",!0,!0))}set duration(e){this._duration=e?1e3*e:500,this.stop()}get duration(){return this._duration/1e3}set fit(e){this._fit=!1!==e}get fit(){return this._fit}set fitFOV(e){this._fitFOV=e||45}get fitFOV(){return this._fitFOV}set trail(e){this._trail=!!e}get trail(){return this._trail}destroy(){this.stop(),super.destroy()}}class ni extends _{get type(){return"CameraPathAnimation"}constructor(e,t={}){super(e,t),this._cameraFlightAnimation=new si(this),this._t=0,this.state=ni.SCRUBBING,this._playingFromT=0,this._playingToT=0,this._playingRate=t.playingRate||1,this._playingDir=1,this._lastTime=null,this.cameraPath=t.cameraPath,this._tick=this.scene.on("tick",this._updateT,this)}_updateT(){const e=this._cameraPath;if(!e)return;let t,s;const n=performance.now(),i=this._lastTime?.001*(n-this._lastTime):0;if(this._lastTime=n,0!==i)switch(this.state){case ni.SCRUBBING:return;case ni.PLAYING:if(this._t+=this._playingRate*i,t=this._cameraPath.frames.length,0===t||this._playingDir<0&&this._t<=0||this._playingDir>0&&this._t>=this._cameraPath.frames[t-1].t)return this.state=ni.SCRUBBING,this._t=this._cameraPath.frames[t-1].t,void this.fire("stopped");e.loadFrame(this._t);break;case ni.PLAYING_TO:s=this._t+this._playingRate*i*this._playingDir,(this._playingDir<0&&s<=this._playingToT||this._playingDir>0&&s>=this._playingToT)&&(s=this._playingToT,this.state=ni.SCRUBBING,this.fire("stopped")),this._t=s,e.loadFrame(this._t)}}_ease(e,t,s,n){return-s*(e/=n)*(e-2)+t}set cameraPath(e){this._cameraPath=e}get cameraPath(){return this._cameraPath}set rate(e){this._playingRate=e}get rate(){return this._playingRate}play(){this._cameraPath&&(this._lastTime=null,this.state=ni.PLAYING)}playToT(e){this._cameraPath&&(this._playingFromT=this._t,this._playingToT=e,this._playingDir=this._playingToT-this._playingFromT<0?-1:1,this._lastTime=null,this.state=ni.PLAYING_TO)}playToFrame(e){const t=this._cameraPath;if(!t)return;const s=t.frames[e];s?this.playToT(s.t):this.error("playToFrame - frame index out of range: "+e)}flyToFrame(e,t){const s=this._cameraPath;if(!s)return;const n=s.frames[e];n?(this.state=ni.SCRUBBING,this._cameraFlightAnimation.flyTo(n,t)):this.error("flyToFrame - frame index out of range: "+e)}scrubToT(e){const t=this._cameraPath;if(!t)return;this.scene.camera&&(this._t=e,t.loadFrame(this._t),this.state=ni.SCRUBBING)}scrubToFrame(e){const t=this._cameraPath;if(!t)return;if(!this.scene.camera)return;t.frames[e]?(t.loadFrame(this._t),this.state=ni.SCRUBBING):this.error("playToFrame - frame index out of range: "+e)}stop(){this.state=ni.SCRUBBING,this.fire("stopped")}destroy(){super.destroy(),this.scene.off(this._tick)}}ni.STOPPED=0,ni.SCRUBBING=1,ni.PLAYING=2,ni.PLAYING_TO=3;const ii=h.vec3(),ai=h.vec3();h.vec3();const ri=h.vec3([0,-1,0]),li=h.vec4([0,0,0,1]);function oi(e){if(!ci(e.width)||!ci(e.height)){const t=document.createElement("canvas");t.width=ui(e.width),t.height=ui(e.height);t.getContext("2d").drawImage(e,0,0,e.width,e.height,0,0,t.width,t.height),e=t}return e}function ci(e){return 0==(e&e-1)}function ui(e){--e;for(let t=1;t<32;t<<=1)e|=e>>t;return e+1}class hi extends _{get type(){return"CubeTexture"}constructor(e,t={}){super(e,t);const s=this.scene.canvas.gl;this._state=new Je({texture:new fn({gl:s,target:s.TEXTURE_CUBE_MAP}),flipY:this._checkFlipY(t.minFilter),encoding:this._checkEncoding(t.encoding),minFilter:1008,magFilter:1006,wrapS:1001,wrapT:1001,mipmaps:!0}),this._src=t.src,this._images=[],this._loadSrc(t.src),d.memory.textures++}_checkFlipY(e){return!!e}_checkEncoding(e){return 3e3!==(e=e||3e3)&&3001!==e&&(this.error("Unsupported value for 'encoding' - supported values are LinearEncoding and sRGBEncoding. Defaulting to LinearEncoding."),e=3e3),e}_webglContextRestored(){this.scene.canvas.gl,this._state.texture=null,this._src&&this._loadSrc(this._src)}_loadSrc(e){const t=this,s=this.scene.canvas.gl;this._images=[];let n=!1,i=0;for(let a=0;a{i(),t()})):(s.eye=this._eye,s.look=this._look,s.up=this._up,i(),s.projection=n.projection)}}const Ai=h.vec3();const di=h.vec3();class fi{constructor(){this.objectsVisible=[],this.objectsEdges=[],this.objectsXrayed=[],this.objectsHighlighted=[],this.objectsSelected=[],this.objectsClippable=[],this.objectsPickable=[],this.objectsColorize=[],this.objectsHasColorize=[],this.objectsOpacity=[],this.numObjects=0}saveObjects(e,t){this.numObjects=0,this._mask=t?m.apply(t,{}):null;const s=e.objects,n=!t||t.visible,i=!t||t.edges,a=!t||t.xrayed,r=!t||t.highlighted,l=!t||t.selected,o=!t||t.clippable,c=!t||t.pickable,u=!t||t.colorize,h=!t||t.opacity;for(let e in s)if(s.hasOwnProperty(e)){const t=s[e],p=this.numObjects;if(n&&(this.objectsVisible[p]=t.visible),i&&(this.objectsEdges[p]=t.edges),a&&(this.objectsXrayed[p]=t.xrayed),r&&(this.objectsHighlighted[p]=t.highlighted),l&&(this.objectsSelected[p]=t.selected),o&&(this.objectsClippable[p]=t.clippable),c&&(this.objectsPickable[p]=t.pickable),u){const e=t.colorize;e?(this.objectsColorize[3*p+0]=e[0],this.objectsColorize[3*p+1]=e[1],this.objectsColorize[3*p+2]=e[2],this.objectsHasColorize[p]=!0):this.objectsHasColorize[p]=!1}h&&(this.objectsOpacity[p]=t.opacity),this.numObjects++}}restoreObjects(e){const t=this._mask,s=!t||t.visible,n=!t||t.edges,i=!t||t.xrayed,a=!t||t.highlighted,r=!t||t.selected,l=!t||t.clippable,o=!t||t.pickable,c=!t||t.colorize,u=!t||t.opacity;var h=0;const p=e.objects;for(let e in p)if(p.hasOwnProperty(e)){const t=p[e];s&&(t.visible=this.objectsVisible[h]),n&&(t.edges=this.objectsEdges[h]),i&&(t.xrayed=this.objectsXrayed[h]),a&&(t.highlighted=this.objectsHighlighted[h]),r&&(t.selected=this.objectsSelected[h]),l&&(t.clippable=this.objectsClippable[h]),o&&(t.pickable=this.objectsPickable[h]),c&&(this.objectsHasColorize[h]?(di[0]=this.objectsColorize[3*h+0],di[1]=this.objectsColorize[3*h+1],di[2]=this.objectsColorize[3*h+2],t.colorize=di):t.colorize=null),u&&(t.opacity=this.objectsOpacity[h]),h++}}}const Ii=h.OBB3(),yi=h.OBB3(),mi=h.OBB3();class vi{constructor(e,t,s,n,i,a,r=null,l=0){this.model=e,this.object=null,this.parent=null,this.transform=i,this.textureSet=a,this._matrixDirty=!1,this._matrixUpdateScheduled=!1,this.id=t,this.obb=null,this._aabbLocal=null,this._aabbWorld=h.AABB3(),this._aabbWorldDirty=!1,this.layer=r,this.portionId=l,this._color=new Uint8Array([s[0],s[1],s[2],n]),this._colorize=new Uint8Array([s[0],s[1],s[2],n]),this._colorizing=!1,this._transparent=n<255,this.numTriangles=0,this.origin=null,this.entity=null,i&&i._addMesh(this)}_sceneModelDirty(){this._aabbWorldDirty=!0,this.layer.aabbDirty=!0}_transformDirty(){this._matrixDirty||this._matrixUpdateScheduled||(this.model._meshMatrixDirty(this),this._matrixDirty=!0,this._matrixUpdateScheduled=!0),this._aabbWorldDirty=!0,this.layer.aabbDirty=!0,this.entity&&this.entity._transformDirty()}_updateMatrix(){this.transform&&this._matrixDirty&&this.layer.setMatrix(this.portionId,this.transform.worldMatrix),this._matrixDirty=!1,this._matrixUpdateScheduled=!1}_finalize(e){this.layer.initFlags(this.portionId,e,this._transparent)}_finalize2(){this.layer.flushInitFlags&&this.layer.flushInitFlags()}_setVisible(e){this.layer.setVisible(this.portionId,e,this._transparent)}_setColor(e){this._color[0]=e[0],this._color[1]=e[1],this._color[2]=e[2],this._colorizing||this.layer.setColor(this.portionId,this._color,!1)}_setColorize(e){e?(this._colorize[0]=e[0],this._colorize[1]=e[1],this._colorize[2]=e[2],this.layer.setColor(this.portionId,this._colorize,false),this._colorizing=!0):(this.layer.setColor(this.portionId,this._color,false),this._colorizing=!1)}_setOpacity(e,t){const s=e<255,n=this._transparent!==s;this._color[3]=e,this._colorize[3]=e,this._transparent=s,this._colorizing?this.layer.setColor(this.portionId,this._colorize):this.layer.setColor(this.portionId,this._color),n&&this.layer.setTransparent(this.portionId,t,s)}_setOffset(e){this.layer.setOffset(this.portionId,e)}_setHighlighted(e){this.layer.setHighlighted(this.portionId,e,this._transparent)}_setXRayed(e){this.layer.setXRayed(this.portionId,e,this._transparent)}_setSelected(e){this.layer.setSelected(this.portionId,e,this._transparent)}_setEdges(e){this.layer.setEdges(this.portionId,e,this._transparent)}_setClippable(e){this.layer.setClippable(this.portionId,e,this._transparent)}_setCollidable(e){this.layer.setCollidable(this.portionId,e)}_setPickable(e){this.layer.setPickable(this.portionId,e,this._transparent)}_setCulled(e){this.layer.setCulled(this.portionId,e,this._transparent)}canPickTriangle(){return!1}drawPickTriangles(e,t){}pickTriangleSurface(e){}precisionRayPickSurface(e,t,s,n){return!!this.layer.precisionRayPickSurface&&this.layer.precisionRayPickSurface(this.portionId,e,t,s,n)}canPickWorldPos(){return!0}drawPickDepths(e){this.model.drawPickDepths(e)}drawPickNormals(e){this.model.drawPickNormals(e)}delegatePickedEntity(){return this.parent}getEachVertex(e){this.layer.getEachVertex(this.portionId,e)}set aabb(e){this._aabbLocal=e}get aabb(){if(this._aabbWorldDirty){if(h.AABB3ToOBB3(this._aabbLocal,Ii),this.transform?(h.transformOBB3(this.transform.worldMatrix,Ii,yi),h.transformOBB3(this.model.worldMatrix,yi,mi),h.OBB3ToAABB3(mi,this._aabbWorld)):(h.transformOBB3(this.model.worldMatrix,Ii,yi),h.OBB3ToAABB3(yi,this._aabbWorld)),this.origin){const e=this.origin;this._aabbWorld[0]+=e[0],this._aabbWorld[1]+=e[1],this._aabbWorld[2]+=e[2],this._aabbWorld[3]+=e[0],this._aabbWorld[4]+=e[1],this._aabbWorld[5]+=e[2]}this._aabbWorldDirty=!1}return this._aabbWorld}_destroy(){this.model.scene._renderer.putPickID(this.pickId)}}const wi=new class{constructor(){this._uint8Arrays={},this._float32Arrays={}}_clear(){this._uint8Arrays={},this._float32Arrays={}}getUInt8Array(e){let t=this._uint8Arrays[e];return t||(t=new Uint8Array(e),this._uint8Arrays[e]=t),t}getFloat32Array(e){let t=this._float32Arrays[e];return t||(t=new Float32Array(e),this._float32Arrays[e]=t),t}};let gi=0;const Ei={NOT_RENDERED:0,COLOR_OPAQUE:1,COLOR_TRANSPARENT:2,SILHOUETTE_HIGHLIGHTED:3,SILHOUETTE_SELECTED:4,SILHOUETTE_XRAYED:5,EDGES_COLOR_OPAQUE:6,EDGES_COLOR_TRANSPARENT:7,EDGES_HIGHLIGHTED:8,EDGES_SELECTED:9,EDGES_XRAYED:10,PICK:11},Ti=new Float32Array([1,1,1,1]),bi=new Float32Array([0,0,0,1]),Di=h.vec4(),Pi=h.vec3(),Ri=h.vec3(),Ci=h.mat4();class _i{constructor(e,t=!1,{instancing:s=!1,edges:n=!1}={}){this._scene=e,this._withSAO=t,this._instancing=s,this._edges=n,this._hash=this._getHash(),this._matricesUniformBlockBufferBindingPoint=0,this._matricesUniformBlockBuffer=this._scene.canvas.gl.createBuffer(),this._matricesUniformBlockBufferData=new Float32Array(96),this._vaoCache=new WeakMap,this._allocate()}_getHash(){return this._scene._sectionPlanesState.getHash()}_buildShader(){return{vertex:this._buildVertexShader(),fragment:this._buildFragmentShader()}}_buildVertexShader(){return[""]}_buildFragmentShader(){return[""]}_addMatricesUniformBlockLines(e,t=!1){return e.push("uniform Matrices {"),e.push(" mat4 worldMatrix;"),e.push(" mat4 viewMatrix;"),e.push(" mat4 projMatrix;"),e.push(" mat4 positionsDecodeMatrix;"),t&&(e.push(" mat4 worldNormalMatrix;"),e.push(" mat4 viewNormalMatrix;")),e.push("};"),e}_addRemapClipPosLines(e,t=1){return e.push("uniform vec2 drawingBufferSize;"),e.push("uniform vec2 pickClipPos;"),e.push("vec4 remapClipPos(vec4 clipPos) {"),e.push(" clipPos.xy /= clipPos.w;"),1===t?e.push(" clipPos.xy = (clipPos.xy - pickClipPos) * drawingBufferSize;"):e.push(` clipPos.xy = (clipPos.xy - pickClipPos) * (drawingBufferSize / float(${t}));`),e.push(" clipPos.xy *= clipPos.w;"),e.push(" return clipPos;"),e.push("}"),e}getValid(){return this._hash===this._getHash()}setSectionPlanesStateUniforms(e){const t=this._scene,{gl:s}=t.canvas,{model:n,layerIndex:i}=e,a=t._sectionPlanesState.getNumAllocatedSectionPlanes(),r=t._sectionPlanesState.sectionPlanes.length;if(a>0){const l=t._sectionPlanesState.sectionPlanes,o=i*r,c=n.renderFlags;for(let t=0;t0&&(this._uReflectionMap="reflectionMap"),s.lightMaps.length>0&&(this._uLightMap="lightMap"),this._uSectionPlanes=[];for(let t=0,s=e._sectionPlanesState.getNumAllocatedSectionPlanes();t0&&d.reflectionMaps[0].texture&&this._uReflectionMap&&(this._program.bindTexture(this._uReflectionMap,d.reflectionMaps[0].texture,e.textureUnit),e.textureUnit=(e.textureUnit+1)%a,e.bindTexture++),d.lightMaps.length>0&&d.lightMaps[0].texture&&this._uLightMap&&(this._program.bindTexture(this._uLightMap,d.lightMaps[0].texture,e.textureUnit),e.textureUnit=(e.textureUnit+1)%a,e.bindTexture++),this._withSAO){const t=r.sao;if(t.possible){const s=l.drawingBufferWidth,n=l.drawingBufferHeight;Di[0]=s,Di[1]=n,Di[2]=t.blendCutoff,Di[3]=t.blendFactor,l.uniform4fv(this._uSAOParams,Di),this._program.bindTexture(this._uOcclusionTexture,e.occlusionTexture,e.textureUnit),e.textureUnit=(e.textureUnit+1)%a,e.bindTexture++}}if(n){const e=this._edges?"edgeColor":"fillColor",t=this._edges?"edgeAlpha":"fillAlpha";if(s===Ei[(this._edges?"EDGES":"SILHOUETTE")+"_XRAYED"]){const s=r.xrayMaterial._state,n=s[e],i=s[t];l.uniform4f(this._uColor,n[0],n[1],n[2],i)}else if(s===Ei[(this._edges?"EDGES":"SILHOUETTE")+"_HIGHLIGHTED"]){const s=r.highlightMaterial._state,n=s[e],i=s[t];l.uniform4f(this._uColor,n[0],n[1],n[2],i)}else if(s===Ei[(this._edges?"EDGES":"SILHOUETTE")+"_SELECTED"]){const s=r.selectedMaterial._state,n=s[e],i=s[t];l.uniform4f(this._uColor,n[0],n[1],n[2],i)}else l.uniform4fv(this._uColor,this._edges?bi:Ti)}this._draw({state:o,frameCtx:e,incrementDrawState:i}),l.bindVertexArray(null)}webglContextRestored(){this._program=null}destroy(){this._program&&this._program.destroy(),this._program=null,d.memory.programs--}}class Bi extends _i{constructor(e,t,{instancing:s=!1,edges:n=!1}={}){super(e,t,{instancing:s,edges:n})}_draw(e){const{gl:t}=this._scene.canvas,{state:s,frameCtx:n,incrementDrawState:i}=e;if(this._edges)t.drawElements(t.LINES,s.edgeIndicesBuf.numItems,s.edgeIndicesBuf.itemType,0);else{const e=n.pickElementsCount||s.indicesBuf.numItems,a=n.pickElementsOffset?n.pickElementsOffset*s.indicesBuf.itemByteSize:0;t.drawElements(t.TRIANGLES,e,s.indicesBuf.itemType,a),i&&n.drawElements++}}}class Oi extends Bi{constructor(e,t){super(e,t,{instancing:!1,edges:!0})}}class Si extends _i{constructor(e,t,{edges:s=!1}={}){super(e,t,{instancing:!0,edges:s})}_draw(e){const{gl:t}=this._scene.canvas,{state:s,frameCtx:n,incrementDrawState:i}=e;this._edges?t.drawElementsInstanced(t.LINES,s.edgeIndicesBuf.numItems,s.edgeIndicesBuf.itemType,0,s.numInstances):(t.drawElementsInstanced(t.TRIANGLES,s.indicesBuf.numItems,s.indicesBuf.itemType,0,s.numInstances),i&&n.drawElements++)}}class Ni extends Si{constructor(e,t){super(e,t,{instancing:!0,edges:!0})}}class xi extends _i{_draw(e){const{gl:t}=this._scene.canvas,{state:s,frameCtx:n,incrementDrawState:i}=e;t.drawArrays(t.POINTS,0,s.positionsBuf.numItems),i&&n.drawArrays++}}class Li extends _i{constructor(e,t){super(e,t,{instancing:!0})}_draw(e){const{gl:t}=this._scene.canvas,{state:s,frameCtx:n,incrementDrawState:i}=e;t.drawArraysInstanced(t.POINTS,0,s.positionsBuf.numItems,s.numInstances),i&&n.drawArrays++}}class Mi extends _i{_draw(e){const{gl:t}=this._scene.canvas,{state:s,frameCtx:n,incrementDrawState:i}=e;t.drawElements(t.LINES,s.indicesBuf.numItems,s.indicesBuf.itemType,0),i&&n.drawElements++}}class Fi extends _i{constructor(e,t){super(e,t,{instancing:!0})}_draw(e){const{gl:t}=this._scene.canvas,{state:s,frameCtx:n,incrementDrawState:i}=e;t.drawElementsInstanced(t.LINES,s.indicesBuf.numItems,s.indicesBuf.itemType,0,s.numInstances),i&&n.drawElements++}}class Hi extends Bi{_getHash(){const e=this._scene;return[e._lightsState.getHash(),e._sectionPlanesState.getHash(),this._withSAO?"sao":"nosao"].join(";")}drawLayer(e,t,s){super.drawLayer(e,t,s,{incrementDrawState:!0})}_buildVertexShader(){const e=this._scene,t=e._sectionPlanesState,s=e._lightsState,n=t.getNumAllocatedSectionPlanes()>0;let i;const a=[];a.push("#version 300 es"),a.push("// Triangles batching draw vertex shader"),a.push("uniform int renderPass;"),a.push("in vec3 position;"),a.push("in vec3 normal;"),a.push("in vec4 color;"),a.push("in float flags;"),e.entityOffsetsEnabled&&a.push("in vec3 offset;"),this._addMatricesUniformBlockLines(a,!0),e.logarithmicDepthBufferEnabled&&(a.push("uniform float logDepthBufFC;"),a.push("out float vFragDepth;"),a.push("bool isPerspectiveMatrix(mat4 m) {"),a.push(" return (m[2][3] == - 1.0);"),a.push("}"),a.push("out float isPerspective;")),a.push("uniform vec4 lightAmbient;");for(let e=0,t=s.lights.length;e= 0.0 ? 1.0 : -1.0, v.y >= 0.0 ? 1.0 : -1.0);"),a.push(" }"),a.push(" return normalize(v);"),a.push("}"),n&&(a.push("out vec4 vWorldPosition;"),a.push("out float vFlags;")),a.push("out vec4 vColor;"),a.push("void main(void) {"),a.push("int colorFlag = int(flags) & 0xF;"),a.push("if (colorFlag != renderPass) {"),a.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),a.push("} else {"),a.push("vec4 worldPosition = worldMatrix * (positionsDecodeMatrix * vec4(position, 1.0)); "),e.entityOffsetsEnabled&&a.push("worldPosition.xyz = worldPosition.xyz + offset;"),a.push("vec4 viewPosition = viewMatrix * worldPosition; "),a.push("vec4 worldNormal = worldNormalMatrix * vec4(octDecode(normal.xy), 0.0); "),a.push("vec3 viewNormal = normalize((viewNormalMatrix * worldNormal).xyz);"),a.push("vec3 reflectedColor = vec3(0.0, 0.0, 0.0);"),a.push("vec3 viewLightDir = vec3(0.0, 0.0, -1.0);"),a.push("float lambertian = 1.0;");for(let e=0,t=s.lights.length;e0,n=[];if(n.push("#version 300 es"),n.push("// Triangles batching draw fragment shader"),n.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),n.push("precision highp float;"),n.push("precision highp int;"),n.push("#else"),n.push("precision mediump float;"),n.push("precision mediump int;"),n.push("#endif"),e.logarithmicDepthBufferEnabled&&(n.push("in float isPerspective;"),n.push("uniform float logDepthBufFC;"),n.push("in float vFragDepth;")),this._withSAO&&(n.push("uniform sampler2D uOcclusionTexture;"),n.push("uniform vec4 uSAOParams;"),n.push("const float packUpscale = 256. / 255.;"),n.push("const float unpackDownScale = 255. / 256.;"),n.push("const vec3 packFactors = vec3( 256. * 256. * 256., 256. * 256., 256. );"),n.push("const vec4 unPackFactors = unpackDownScale / vec4( packFactors, 1. );"),n.push("float unpackRGBToFloat( const in vec4 v ) {"),n.push(" return dot( v, unPackFactors );"),n.push("}")),s){n.push("in vec4 vWorldPosition;"),n.push("in float vFlags;");for(let e=0,s=t.getNumAllocatedSectionPlanes();e> 16 & 0xF) == 1;"),n.push(" if (clippable) {"),n.push(" float dist = 0.0;");for(let e=0,s=t.getNumAllocatedSectionPlanes();e 0.0) { "),n.push(" discard;"),n.push(" }"),n.push("}")}return e.logarithmicDepthBufferEnabled&&n.push(" gl_FragDepth = isPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5;"),this._withSAO?(n.push(" float viewportWidth = uSAOParams[0];"),n.push(" float viewportHeight = uSAOParams[1];"),n.push(" float blendCutoff = uSAOParams[2];"),n.push(" float blendFactor = uSAOParams[3];"),n.push(" vec2 uv = vec2(gl_FragCoord.x / viewportWidth, gl_FragCoord.y / viewportHeight);"),n.push(" float ambient = smoothstep(blendCutoff, 1.0, unpackRGBToFloat(texture(uOcclusionTexture, uv))) * blendFactor;"),n.push(" outColor = vec4(vColor.rgb * ambient, 1.0);")):n.push(" outColor = vColor;"),n.push("}"),n}}class Ui extends Bi{_getHash(){const e=this._scene;return[e._lightsState.getHash(),e._sectionPlanesState.getHash(),this._withSAO?"sao":"nosao"].join(";")}_buildVertexShader(){const e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,s=[];return s.push("#version 300 es"),s.push("// Triangles batching flat-shading draw vertex shader"),s.push("uniform int renderPass;"),s.push("in vec3 position;"),s.push("in vec4 color;"),s.push("in float flags;"),e.entityOffsetsEnabled&&s.push("in vec3 offset;"),this._addMatricesUniformBlockLines(s),e.logarithmicDepthBufferEnabled&&(s.push("uniform float logDepthBufFC;"),s.push("out float vFragDepth;"),s.push("bool isPerspectiveMatrix(mat4 m) {"),s.push(" return (m[2][3] == - 1.0);"),s.push("}"),s.push("out float isPerspective;")),t&&(s.push("out vec4 vWorldPosition;"),s.push("out float vFlags;")),s.push("out vec4 vViewPosition;"),s.push("out vec4 vColor;"),s.push("void main(void) {"),s.push("int colorFlag = int(flags) & 0xF;"),s.push("if (colorFlag != renderPass) {"),s.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),s.push("} else {"),s.push("vec4 worldPosition = worldMatrix * (positionsDecodeMatrix * vec4(position, 1.0)); "),e.entityOffsetsEnabled&&s.push("worldPosition.xyz = worldPosition.xyz + offset;"),s.push("vec4 viewPosition = viewMatrix * worldPosition; "),s.push("vViewPosition = viewPosition;"),s.push("vColor = vec4(float(color.r) / 255.0, float(color.g) / 255.0, float(color.b) / 255.0, float(color.a) / 255.0);"),s.push("vec4 clipPos = projMatrix * viewPosition;"),e.logarithmicDepthBufferEnabled&&(s.push("vFragDepth = 1.0 + clipPos.w;"),s.push("isPerspective = float (isPerspectiveMatrix(projMatrix));")),t&&(s.push("vWorldPosition = worldPosition;"),s.push("vFlags = flags;")),s.push("gl_Position = clipPos;"),s.push("}"),s.push("}"),s}_buildFragmentShader(){const e=this._scene,t=e._lightsState,s=e._sectionPlanesState,n=s.getNumAllocatedSectionPlanes()>0,i=[];if(i.push("#version 300 es"),i.push("// Triangles batching flat-shading draw fragment shader"),i.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),i.push("precision highp float;"),i.push("precision highp int;"),i.push("#else"),i.push("precision mediump float;"),i.push("precision mediump int;"),i.push("#endif"),e.logarithmicDepthBufferEnabled&&(i.push("in float isPerspective;"),i.push("uniform float logDepthBufFC;"),i.push("in float vFragDepth;")),this._withSAO&&(i.push("uniform sampler2D uOcclusionTexture;"),i.push("uniform vec4 uSAOParams;"),i.push("const float packUpscale = 256. / 255.;"),i.push("const float unpackDownScale = 255. / 256.;"),i.push("const vec3 packFactors = vec3( 256. * 256. * 256., 256. * 256., 256. );"),i.push("const vec4 unPackFactors = unpackDownScale / vec4( packFactors, 1. );"),i.push("float unpackRGBToFloat( const in vec4 v ) {"),i.push(" return dot( v, unPackFactors );"),i.push("}")),n){i.push("in vec4 vWorldPosition;"),i.push("in float vFlags;");for(let e=0,t=s.getNumAllocatedSectionPlanes();e> 16 & 0xF) == 1;"),i.push(" if (clippable) {"),i.push(" float dist = 0.0;");for(let e=0,t=s.getNumAllocatedSectionPlanes();e 0.0) { "),i.push(" discard;"),i.push(" }"),i.push("}")}i.push("vec3 reflectedColor = vec3(0.0, 0.0, 0.0);"),i.push("vec3 viewLightDir = vec3(0.0, 0.0, -1.0);"),i.push("float lambertian = 1.0;"),i.push("vec3 xTangent = dFdx( vViewPosition.xyz );"),i.push("vec3 yTangent = dFdy( vViewPosition.xyz );"),i.push("vec3 viewNormal = normalize( cross( xTangent, yTangent ) );");for(let e=0,s=t.lights.length;e0,s=[];return s.push("#version 300 es"),s.push("// Triangles batching silhouette vertex shader"),s.push("uniform int renderPass;"),s.push("in vec3 position;"),e.entityOffsetsEnabled&&s.push("in vec3 offset;"),s.push("in float flags;"),s.push("in vec4 color;"),this._addMatricesUniformBlockLines(s),s.push("uniform vec4 silhouetteColor;"),e.logarithmicDepthBufferEnabled&&(s.push("uniform float logDepthBufFC;"),s.push("out float vFragDepth;"),s.push("bool isPerspectiveMatrix(mat4 m) {"),s.push(" return (m[2][3] == - 1.0);"),s.push("}"),s.push("out float isPerspective;")),t&&(s.push("out vec4 vWorldPosition;"),s.push("out float vFlags;")),s.push("out vec4 vColor;"),s.push("void main(void) {"),s.push("int silhouetteFlag = int(flags) >> 4 & 0xF;"),s.push("if (silhouetteFlag != renderPass) {"),s.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),s.push("} else {"),s.push(" vec4 worldPosition = worldMatrix * (positionsDecodeMatrix * vec4(position, 1.0)); "),e.entityOffsetsEnabled&&s.push(" worldPosition.xyz = worldPosition.xyz + offset;"),s.push("vec4 viewPosition = viewMatrix * worldPosition; "),t&&(s.push("vWorldPosition = worldPosition;"),s.push("vFlags = flags;")),s.push("vColor = vec4(silhouetteColor.r, silhouetteColor.g, silhouetteColor.b, min(silhouetteColor.a, float(color.a) / 255.0));"),s.push("vec4 clipPos = projMatrix * viewPosition;"),e.logarithmicDepthBufferEnabled&&(s.push("vFragDepth = 1.0 + clipPos.w;"),s.push("isPerspective = float (isPerspectiveMatrix(projMatrix));")),s.push("gl_Position = clipPos;"),s.push("}"),s.push("}"),s}_buildFragmentShader(){const e=this._scene,t=e._sectionPlanesState;let s,n;const i=t.getNumAllocatedSectionPlanes()>0,a=[];if(a.push("#version 300 es"),a.push("// Triangles batching silhouette fragment shader"),a.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),a.push("precision highp float;"),a.push("precision highp int;"),a.push("#else"),a.push("precision mediump float;"),a.push("precision mediump int;"),a.push("#endif"),e.logarithmicDepthBufferEnabled&&(a.push("in float isPerspective;"),a.push("uniform float logDepthBufFC;"),a.push("in float vFragDepth;")),i)for(a.push("in vec4 vWorldPosition;"),a.push("in float vFlags;"),s=0,n=t.getNumAllocatedSectionPlanes();s> 16 & 0xF) == 1;"),a.push(" if (clippable) {"),a.push(" float dist = 0.0;"),s=0,n=t.getNumAllocatedSectionPlanes();s 0.0) { discard; }"),a.push("}")}return e.logarithmicDepthBufferEnabled&&a.push(" gl_FragDepth = isPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5;"),a.push("outColor = vColor;"),a.push("}"),a}}class ji extends Oi{drawLayer(e,t,s){super.drawLayer(e,t,s,{colorUniform:!0})}_buildVertexShader(){const e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,s=[];return s.push("#version 300 es"),s.push("// Batched geometry edges drawing vertex shader"),s.push("uniform int renderPass;"),s.push("uniform vec4 color;"),s.push("in vec3 position;"),e.entityOffsetsEnabled&&s.push("in vec3 offset;"),s.push("in float flags;"),this._addMatricesUniformBlockLines(s),e.logarithmicDepthBufferEnabled&&(s.push("uniform float logDepthBufFC;"),s.push("out float vFragDepth;"),s.push("bool isPerspectiveMatrix(mat4 m) {"),s.push(" return (m[2][3] == - 1.0);"),s.push("}"),s.push("out float isPerspective;")),t&&(s.push("out vec4 vWorldPosition;"),s.push("out float vFlags;")),s.push("out vec4 vColor;"),s.push("void main(void) {"),s.push("int edgeFlag = int(flags) >> 8 & 0xF;"),s.push("if (edgeFlag != renderPass) {"),s.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),s.push("} else {"),s.push(" vec4 worldPosition = worldMatrix * (positionsDecodeMatrix * vec4(position, 1.0)); "),e.entityOffsetsEnabled&&s.push(" worldPosition.xyz = worldPosition.xyz + offset;"),s.push(" vec4 viewPosition = viewMatrix * worldPosition; "),t&&(s.push(" vWorldPosition = worldPosition;"),s.push(" vFlags = flags;")),s.push("vec4 clipPos = projMatrix * viewPosition;"),e.logarithmicDepthBufferEnabled&&(s.push("vFragDepth = 1.0 + clipPos.w;"),s.push("isPerspective = float (isPerspectiveMatrix(projMatrix));")),s.push("gl_Position = clipPos;"),s.push("vColor = vec4(color.r, color.g, color.b, color.a);"),s.push("}"),s.push("}"),s}_buildFragmentShader(){const e=this._scene,t=e._sectionPlanesState,s=t.getNumAllocatedSectionPlanes()>0,n=[];if(n.push("#version 300 es"),n.push("// Batched geometry edges drawing fragment shader"),n.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),n.push("precision highp float;"),n.push("precision highp int;"),n.push("#else"),n.push("precision mediump float;"),n.push("precision mediump int;"),n.push("#endif"),e.logarithmicDepthBufferEnabled&&(n.push("in float isPerspective;"),n.push("uniform float logDepthBufFC;"),n.push("in float vFragDepth;")),s){n.push("in vec4 vWorldPosition;"),n.push("in float vFlags;");for(let e=0,s=t.getNumAllocatedSectionPlanes();e> 16 & 0xF) == 1;"),n.push(" if (clippable) {"),n.push(" float dist = 0.0;");for(let e=0,s=t.getNumAllocatedSectionPlanes();e 0.0) { discard; }"),n.push("}")}return e.logarithmicDepthBufferEnabled&&n.push(" gl_FragDepth = isPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5;"),n.push("outColor = vColor;"),n.push("}"),n}}class Vi extends Oi{_buildVertexShader(){const e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,s=[];return s.push("#version 300 es"),s.push("// Batched geometry edges drawing vertex shader"),s.push("uniform int renderPass;"),s.push("in vec3 position;"),s.push("in vec4 color;"),e.entityOffsetsEnabled&&s.push("in vec3 offset;"),s.push("in float flags;"),this._addMatricesUniformBlockLines(s),e.logarithmicDepthBufferEnabled&&(s.push("uniform float logDepthBufFC;"),s.push("out float vFragDepth;"),s.push("bool isPerspectiveMatrix(mat4 m) {"),s.push(" return (m[2][3] == - 1.0);"),s.push("}"),s.push("out float isPerspective;")),t&&(s.push("out vec4 vWorldPosition;"),s.push("out float vFlags;")),s.push("out vec4 vColor;"),s.push("void main(void) {"),s.push("int edgeFlag = int(flags) >> 8 & 0xF;"),s.push("if (edgeFlag != renderPass) {"),s.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),s.push("} else {"),s.push(" vec4 worldPosition = worldMatrix * (positionsDecodeMatrix * vec4(position, 1.0)); "),e.entityOffsetsEnabled&&s.push(" worldPosition.xyz = worldPosition.xyz + offset;"),s.push(" vec4 viewPosition = viewMatrix * worldPosition; "),t&&(s.push(" vWorldPosition = worldPosition;"),s.push(" vFlags = flags;")),s.push("vec4 clipPos = projMatrix * viewPosition;"),e.logarithmicDepthBufferEnabled&&(s.push("vFragDepth = 1.0 + clipPos.w;"),s.push("isPerspective = float (isPerspectiveMatrix(projMatrix));")),s.push("gl_Position = clipPos;"),s.push("vColor = vec4(float(color.r*0.5) / 255.0, float(color.g*0.5) / 255.0, float(color.b*0.5) / 255.0, float(color.a) / 255.0);"),s.push("}"),s.push("}"),s}_buildFragmentShader(){const e=this._scene,t=e._sectionPlanesState,s=t.getNumAllocatedSectionPlanes()>0,n=[];if(n.push("#version 300 es"),n.push("// Batched geometry edges drawing fragment shader"),n.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),n.push("precision highp float;"),n.push("precision highp int;"),n.push("#else"),n.push("precision mediump float;"),n.push("precision mediump int;"),n.push("#endif"),e.logarithmicDepthBufferEnabled&&(n.push("in float isPerspective;"),n.push("uniform float logDepthBufFC;"),n.push("in float vFragDepth;")),s){n.push("in vec4 vWorldPosition;"),n.push("in float vFlags;");for(let e=0,s=t.getNumAllocatedSectionPlanes();e> 16 & 0xF) == 1;"),n.push(" if (clippable) {"),n.push(" float dist = 0.0;");for(let e=0,s=t.getNumAllocatedSectionPlanes();e 0.0) { discard; }"),n.push("}")}return e.logarithmicDepthBufferEnabled&&n.push(" gl_FragDepth = isPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5;"),n.push("outColor = vColor;"),n.push("}"),n}}class ki extends Bi{_buildVertexShader(){const e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,s=[];return s.push("#version 300 es"),s.push("// Batched geometry picking vertex shader"),s.push("uniform int renderPass;"),s.push("in vec3 position;"),e.entityOffsetsEnabled&&s.push("in vec3 offset;"),s.push("in float flags;"),s.push("in vec4 pickColor;"),s.push("uniform bool pickInvisible;"),this._addMatricesUniformBlockLines(s),e.logarithmicDepthBufferEnabled&&(s.push("uniform float logDepthBufFC;"),s.push("out float vFragDepth;"),s.push("bool isPerspectiveMatrix(mat4 m) {"),s.push(" return (m[2][3] == - 1.0);"),s.push("}"),s.push("out float isPerspective;")),t&&(s.push("out vec4 vWorldPosition;"),s.push("out float vFlags;")),this._addRemapClipPosLines(s),s.push("out vec4 vPickColor;"),s.push("void main(void) {"),s.push("int pickFlag = int(flags) >> 12 & 0xF;"),s.push("if (pickFlag != renderPass) {"),s.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),s.push(" } else {"),s.push(" vec4 worldPosition = worldMatrix * (positionsDecodeMatrix * vec4(position, 1.0)); "),e.entityOffsetsEnabled&&s.push(" worldPosition.xyz = worldPosition.xyz + offset;"),s.push(" vec4 viewPosition = viewMatrix * worldPosition; "),s.push(" vPickColor = vec4(float(pickColor.r) / 255.0, float(pickColor.g) / 255.0, float(pickColor.b) / 255.0, float(pickColor.a) / 255.0);"),t&&(s.push(" vWorldPosition = worldPosition;"),s.push(" vFlags = flags;")),s.push("vec4 clipPos = projMatrix * viewPosition;"),e.logarithmicDepthBufferEnabled&&(s.push("vFragDepth = 1.0 + clipPos.w;"),s.push("isPerspective = float (isPerspectiveMatrix(projMatrix));")),s.push("gl_Position = remapClipPos(clipPos);"),s.push(" }"),s.push("}"),s}_buildFragmentShader(){const e=this._scene,t=e._sectionPlanesState,s=t.getNumAllocatedSectionPlanes()>0,n=[];if(n.push("#version 300 es"),n.push("// Batched geometry picking fragment shader"),n.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),n.push("precision highp float;"),n.push("precision highp int;"),n.push("#else"),n.push("precision mediump float;"),n.push("precision mediump int;"),n.push("#endif"),e.logarithmicDepthBufferEnabled&&(n.push("in float isPerspective;"),n.push("uniform float logDepthBufFC;"),n.push("in float vFragDepth;")),s){n.push("in vec4 vWorldPosition;"),n.push("in float vFlags;");for(var i=0;i> 16 & 0xF) == 1;"),n.push(" if (clippable) {"),n.push(" float dist = 0.0;");for(let e=0;e 0.0) { discard; }"),n.push(" }")}return e.logarithmicDepthBufferEnabled&&n.push(" gl_FragDepth = isPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5;"),n.push(" outColor = vPickColor; "),n.push("}"),n}}class Qi extends Bi{_buildVertexShader(){const e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,s=[];return s.push("#version 300 es"),s.push("// Triangles batching pick depth vertex shader"),s.push("uniform int renderPass;"),s.push("in vec3 position;"),e.entityOffsetsEnabled&&s.push("in vec3 offset;"),s.push("in float flags;"),s.push("uniform bool pickInvisible;"),this._addMatricesUniformBlockLines(s),e.logarithmicDepthBufferEnabled&&(s.push("uniform float logDepthBufFC;"),s.push("out float vFragDepth;"),s.push("bool isPerspectiveMatrix(mat4 m) {"),s.push(" return (m[2][3] == - 1.0);"),s.push("}"),s.push("out float isPerspective;")),t&&(s.push("out vec4 vWorldPosition;"),s.push("out float vFlags;")),this._addRemapClipPosLines(s),s.push("out vec4 vViewPosition;"),s.push("void main(void) {"),s.push("int pickFlag = int(flags) >> 12 & 0xF;"),s.push("if (pickFlag != renderPass) {"),s.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),s.push(" } else {"),s.push(" vec4 worldPosition = worldMatrix * (positionsDecodeMatrix * vec4(position, 1.0)); "),e.entityOffsetsEnabled&&s.push(" worldPosition.xyz = worldPosition.xyz + offset;"),s.push(" vec4 viewPosition = viewMatrix * worldPosition; "),t&&(s.push(" vWorldPosition = worldPosition;"),s.push(" vFlags = flags;")),s.push("vViewPosition = viewPosition;"),s.push("vec4 clipPos = projMatrix * viewPosition;"),e.logarithmicDepthBufferEnabled&&(s.push("vFragDepth = 1.0 + clipPos.w;"),s.push("isPerspective = float (isPerspectiveMatrix(projMatrix));")),s.push("gl_Position = remapClipPos(clipPos);"),s.push(" }"),s.push("}"),s}_buildFragmentShader(){const e=this._scene,t=e._sectionPlanesState,s=t.getNumAllocatedSectionPlanes()>0,n=[];if(n.push("#version 300 es"),n.push("// Triangles batching pick depth fragment shader"),n.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),n.push("precision highp float;"),n.push("precision highp int;"),n.push("#else"),n.push("precision mediump float;"),n.push("precision mediump int;"),n.push("#endif"),e.logarithmicDepthBufferEnabled&&(n.push("in float isPerspective;"),n.push("uniform float logDepthBufFC;"),n.push("in float vFragDepth;")),n.push("uniform float pickZNear;"),n.push("uniform float pickZFar;"),s){n.push("in vec4 vWorldPosition;"),n.push("in float vFlags;");for(var i=0;i> 16 & 0xF) == 1;"),n.push(" if (clippable) {"),n.push(" float dist = 0.0;");for(let e=0;e 0.0) { discard; }"),n.push(" }")}return e.logarithmicDepthBufferEnabled&&n.push(" gl_FragDepth = isPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5;"),n.push(" float zNormalizedDepth = abs((pickZNear + vViewPosition.z) / (pickZFar - pickZNear));"),n.push(" outColor = packDepth(zNormalizedDepth); "),n.push("}"),n}}class Wi extends Bi{_buildVertexShader(){const e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,s=[];return s.push("#version 300 es"),s.push("// Triangles batching pick normals vertex shader"),s.push("uniform int renderPass;"),s.push("in vec3 position;"),e.entityOffsetsEnabled&&s.push("in vec3 offset;"),s.push("in vec3 normal;"),s.push("in float flags;"),s.push("uniform bool pickInvisible;"),this._addMatricesUniformBlockLines(s),this._addRemapClipPosLines(s,3),e.logarithmicDepthBufferEnabled&&(s.push("uniform float logDepthBufFC;"),s.push("out float vFragDepth;"),s.push("bool isPerspectiveMatrix(mat4 m) {"),s.push(" return (m[2][3] == - 1.0);"),s.push("}"),s.push("out float isPerspective;")),s.push("vec3 octDecode(vec2 oct) {"),s.push(" vec3 v = vec3(oct.xy, 1.0 - abs(oct.x) - abs(oct.y));"),s.push(" if (v.z < 0.0) {"),s.push(" v.xy = (1.0 - abs(v.yx)) * vec2(v.x >= 0.0 ? 1.0 : -1.0, v.y >= 0.0 ? 1.0 : -1.0);"),s.push(" }"),s.push(" return normalize(v);"),s.push("}"),t&&(s.push("out vec4 vWorldPosition;"),s.push("out float vFlags;")),s.push("out vec3 vWorldNormal;"),s.push("out vec4 outColor;"),s.push("void main(void) {"),s.push("int pickFlag = int(flags) >> 12 & 0xF;"),s.push("if (pickFlag != renderPass) {"),s.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),s.push(" } else {"),s.push(" vec4 worldPosition = worldMatrix * (positionsDecodeMatrix * vec4(position, 1.0)); "),e.entityOffsetsEnabled&&s.push(" worldPosition.xyz = worldPosition.xyz + offset;"),s.push(" vec4 viewPosition = viewMatrix * worldPosition; "),s.push(" vec3 worldNormal = octDecode(normal.xy); "),s.push(" vWorldNormal = worldNormal;"),t&&(s.push(" vWorldPosition = worldPosition;"),s.push(" vFlags = flags;")),s.push("vec4 clipPos = projMatrix * viewPosition;"),e.logarithmicDepthBufferEnabled&&(s.push("vFragDepth = 1.0 + clipPos.w;"),s.push("isPerspective = float (isPerspectiveMatrix(projMatrix));")),s.push("gl_Position = remapClipPos(clipPos);"),s.push(" }"),s.push("}"),s}_buildFragmentShader(){const e=this._scene,t=e._sectionPlanesState,s=t.getNumAllocatedSectionPlanes()>0,n=[];if(n.push("#version 300 es"),n.push("// Triangles batching pick normals fragment shader"),n.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),n.push("precision highp float;"),n.push("precision highp int;"),n.push("#else"),n.push("precision mediump float;"),n.push("precision mediump int;"),n.push("#endif"),e.logarithmicDepthBufferEnabled&&(n.push("in float isPerspective;"),n.push("uniform float logDepthBufFC;"),n.push("in float vFragDepth;")),s){n.push("in vec4 vWorldPosition;"),n.push("in float vFlags;");for(var i=0;i> 16 & 0xF) == 1;"),n.push(" if (clippable) {"),n.push(" float dist = 0.0;");for(let e=0;e 0.0) { discard; }"),n.push(" }")}return e.logarithmicDepthBufferEnabled&&n.push(" gl_FragDepth = isPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5;"),n.push(` outNormal = ivec4(vWorldNormal * float(${h.MAX_INT}), 1.0);`),n.push("}"),n}}class zi extends Bi{_buildVertexShader(){const e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,s=[];return s.push("#version 300 es"),s.push("// Triangles batching occlusion vertex shader"),s.push("uniform int renderPass;"),s.push("in vec3 position;"),e.entityOffsetsEnabled&&s.push("in vec3 offset;"),s.push("in vec4 color;"),s.push("in float flags;"),this._addMatricesUniformBlockLines(s),t&&(s.push("out vec4 vWorldPosition;"),s.push("out float vFlags;")),s.push("void main(void) {"),s.push("int colorFlag = int(flags) & 0xF;"),s.push("if (colorFlag != renderPass) {"),s.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),s.push(" } else {"),s.push(" vec4 worldPosition = worldMatrix * (positionsDecodeMatrix * vec4(position, 1.0)); "),e.entityOffsetsEnabled&&s.push(" worldPosition.xyz = worldPosition.xyz + offset;"),s.push(" vec4 viewPosition = viewMatrix * worldPosition; "),t&&(s.push(" vWorldPosition = worldPosition;"),s.push(" vFlags = flags;")),s.push("vec4 clipPos = projMatrix * viewPosition;"),s.push("gl_Position = clipPos;"),s.push(" }"),s.push("}"),s}_buildFragmentShader(){const e=this._scene._sectionPlanesState,t=e.getNumAllocatedSectionPlanes()>0,s=[];if(s.push("#version 300 es"),s.push("// Triangles batching occlusion fragment shader"),s.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),s.push("precision highp float;"),s.push("precision highp int;"),s.push("#else"),s.push("precision mediump float;"),s.push("precision mediump int;"),s.push("#endif"),t){s.push("in vec4 vWorldPosition;"),s.push("in float vFlags;");for(let t=0;t> 16 & 0xF) == 1;"),s.push(" if (clippable) {"),s.push(" float dist = 0.0;");for(let t=0;t 0.0) { discard; }"),s.push(" }")}return s.push(" outColor = vec4(0.0, 0.0, 1.0, 1.0); "),s.push("}"),s}}class Ki extends Bi{_buildVertexShader(){const e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,s=[];return s.push("#version 300 es"),s.push("// Triangles batching depth vertex shader"),s.push("uniform int renderPass;"),s.push("in vec3 position;"),e.entityOffsetsEnabled&&s.push("in vec3 offset;"),s.push("in float flags;"),this._addMatricesUniformBlockLines(s),e.logarithmicDepthBufferEnabled&&(s.push("uniform float logDepthBufFC;"),s.push("out float vFragDepth;"),s.push("bool isPerspectiveMatrix(mat4 m) {"),s.push(" return (m[2][3] == - 1.0);"),s.push("}"),s.push("out float isPerspective;")),t&&(s.push("out vec4 vWorldPosition;"),s.push("out float vFlags;")),s.push("out vec2 vHighPrecisionZW;"),s.push("void main(void) {"),s.push("int colorFlag = int(flags) & 0xF;"),s.push("if (colorFlag != renderPass) {"),s.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),s.push(" } else {"),s.push(" vec4 worldPosition = worldMatrix * (positionsDecodeMatrix * vec4(position, 1.0)); "),e.entityOffsetsEnabled&&s.push(" worldPosition.xyz = worldPosition.xyz + offset;"),s.push(" vec4 viewPosition = viewMatrix * worldPosition; "),t&&(s.push(" vWorldPosition = worldPosition;"),s.push(" vFlags = flags;")),s.push("vec4 clipPos = projMatrix * viewPosition;"),e.logarithmicDepthBufferEnabled&&(s.push("vFragDepth = 1.0 + clipPos.w;"),s.push("isPerspective = float (isPerspectiveMatrix(projMatrix));")),s.push("gl_Position = clipPos;"),s.push("vHighPrecisionZW = gl_Position.zw;"),s.push(" }"),s.push("}"),s}_buildFragmentShader(){const e=this._scene,t=e._sectionPlanesState,s=t.getNumAllocatedSectionPlanes()>0,n=[];if(n.push("#version 300 es"),n.push("// Triangles batching depth fragment shader"),n.push("precision highp float;"),n.push("precision highp int;"),e.logarithmicDepthBufferEnabled&&(n.push("in float isPerspective;"),n.push("uniform float logDepthBufFC;"),n.push("in float vFragDepth;")),s){n.push("in vec4 vWorldPosition;"),n.push("in float vFlags;");for(let e=0;e> 16 & 0xF) == 1;"),n.push(" if (clippable) {"),n.push(" float dist = 0.0;");for(var i=0;i 0.0) { discard; }"),n.push(" }")}return e.logarithmicDepthBufferEnabled&&n.push(" gl_FragDepth = isPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5;"),n.push("float fragCoordZ = 0.5 * vHighPrecisionZW[0] / vHighPrecisionZW[1] + 0.5;"),n.push(" outColor = vec4(vec3(1.0 - fragCoordZ), 1.0); "),n.push("}"),n}}class Yi extends Bi{_buildVertexShader(){const e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,s=[];return s.push("#version 300 es"),s.push("// Batched geometry normals vertex shader"),s.push("uniform int renderPass;"),s.push("in vec3 position;"),e.entityOffsetsEnabled&&s.push("in vec3 offset;"),s.push("in vec3 normal;"),s.push("in vec4 color;"),s.push("in float flags;"),this._addMatricesUniformBlockLines(s,!0),e.logarithmicDepthBufferEnabled&&(s.push("uniform float logDepthBufFC;"),s.push("out float vFragDepth;"),s.push("bool isPerspectiveMatrix(mat4 m) {"),s.push(" return (m[2][3] == - 1.0);"),s.push("}"),s.push("out float isPerspective;")),s.push("vec3 octDecode(vec2 oct) {"),s.push(" vec3 v = vec3(oct.xy, 1.0 - abs(oct.x) - abs(oct.y));"),s.push(" if (v.z < 0.0) {"),s.push(" v.xy = (1.0 - abs(v.yx)) * vec2(v.x >= 0.0 ? 1.0 : -1.0, v.y >= 0.0 ? 1.0 : -1.0);"),s.push(" }"),s.push(" return normalize(v);"),s.push("}"),t&&(s.push("out vec4 vWorldPosition;"),s.push("out float vFlags;")),s.push("out vec3 vViewNormal;"),s.push("void main(void) {"),s.push("int colorFlag = int(flags) & 0xF;"),s.push("if (colorFlag != renderPass) {"),s.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),s.push(" } else {"),s.push(" vec4 worldPosition = worldMatrix * (positionsDecodeMatrix * vec4(position, 1.0)); "),e.entityOffsetsEnabled&&s.push(" worldPosition.xyz = worldPosition.xyz + offset;"),s.push(" vec4 viewPosition = viewMatrix * worldPosition; "),s.push(" vec4 worldNormal = worldNormalMatrix * vec4(octDecode(normal.xy), 0.0); "),s.push(" vec3 viewNormal = normalize((viewNormalMatrix * worldNormal).xyz);"),t&&(s.push(" vWorldPosition = worldPosition;"),s.push(" vFlags = flags;")),s.push(" vViewNormal = viewNormal;"),s.push("vec4 clipPos = projMatrix * viewPosition;"),e.logarithmicDepthBufferEnabled&&(s.push("vFragDepth = 1.0 + clipPos.w;"),s.push("isPerspective = float (isPerspectiveMatrix(projMatrix));")),s.push("gl_Position = clipPos;"),s.push(" }"),s.push("}"),s}_buildFragmentShader(){const e=this._scene,t=e._sectionPlanesState,s=t.getNumAllocatedSectionPlanes()>0,n=[];if(n.push("#version 300 es"),n.push("// Batched geometry normals fragment shader"),n.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),n.push("precision highp float;"),n.push("precision highp int;"),n.push("#else"),n.push("precision mediump float;"),n.push("precision mediump int;"),n.push("#endif"),e.logarithmicDepthBufferEnabled&&(n.push("in float isPerspective;"),n.push("uniform float logDepthBufFC;"),n.push("in float vFragDepth;")),s){n.push("in vec4 vWorldPosition;"),n.push("in float vFlags;");for(let e=0;e> 16 & 0xF) == 1;"),n.push(" if (clippable) {"),n.push(" float dist = 0.0;");for(var i=0;i 0.0) { discard; }"),n.push(" }")}return e.logarithmicDepthBufferEnabled&&n.push(" gl_FragDepth = isPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5;"),n.push(" outColor = vec4(packNormalToRGB(vViewNormal), 1.0); "),n.push("}"),n}}class Xi extends Bi{_buildVertexShader(){const e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,s=[];return s.push("#version 300 es"),s.push("// Batched geometry shadow vertex shader"),s.push("in vec3 position;"),e.entityOffsetsEnabled&&s.push("in vec3 offset;"),s.push("in vec4 color;"),s.push("in float flags;"),s.push("uniform mat4 shadowViewMatrix;"),s.push("uniform mat4 shadowProjMatrix;"),this._addMatricesUniformBlockLines(s),t&&(s.push("out vec4 vWorldPosition;"),s.push("out float vFlags;")),s.push("out vec4 vViewPosition;"),s.push("out vec4 outColor;"),s.push("void main(void) {"),s.push(" int colorFlag = int(flags) & 0xF;"),s.push(" bool visible = (colorFlag > 0);"),s.push(" bool transparent = ((float(color.a) / 255.0) < 1.0);"),s.push(" if (!visible || transparent) {"),s.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),s.push(" } else {"),s.push(" vec4 worldPosition = positionsDecodeMatrix * vec4(position, 1.0); "),e.entityOffsetsEnabled&&s.push(" worldPosition.xyz = worldPosition.xyz + offset;"),s.push(" vec4 viewPosition = shadowViewMatrix * worldPosition; "),t&&(s.push(" vWorldPosition = worldPosition;"),s.push(" vFlags = flags;")),s.push(" vViewPosition = viewPosition;"),s.push(" gl_Position = shadowProjMatrix * viewPosition;"),s.push(" }"),s.push("}"),s}_buildFragmentShader(){const e=this._scene._sectionPlanesState,t=e.getNumAllocatedSectionPlanes()>0,s=[];if(s.push("#version 300 es"),s.push("// Batched geometry shadow fragment shader"),s.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),s.push("precision highp float;"),s.push("precision highp int;"),s.push("#else"),s.push("precision mediump float;"),s.push("precision mediump int;"),s.push("#endif"),t){s.push("in vec4 vWorldPosition;"),s.push("in float vFlags;");for(let t=0;t> 16 & 0xF) == 1;"),s.push(" if (clippable) {"),s.push(" float dist = 0.0;");for(var n=0;n 0.0) { discard; }"),s.push(" }")}return s.push(" outColor = encodeFloat( gl_FragCoord.z); "),s.push("}"),s}}class qi extends Bi{_getHash(){const e=this._scene;return[e.gammaOutput,e._lightsState.getHash(),e._sectionPlanesState.getHash(),this._withSAO?"sao":"nosao"].join(";")}drawLayer(e,t,s){super.drawLayer(e,t,s,{incrementDrawState:!0})}_buildVertexShader(){const e=this._scene,t=e._sectionPlanesState,s=e._lightsState,n=t.getNumAllocatedSectionPlanes()>0,i=t.clippingCaps,a=[];return a.push("#version 300 es"),a.push("// Triangles batching quality draw vertex shader"),a.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),a.push("precision highp float;"),a.push("precision highp int;"),a.push("precision highp usampler2D;"),a.push("precision highp isampler2D;"),a.push("precision highp sampler2D;"),a.push("#else"),a.push("precision mediump float;"),a.push("precision mediump int;"),a.push("precision mediump usampler2D;"),a.push("precision mediump isampler2D;"),a.push("precision mediump sampler2D;"),a.push("#endif"),a.push("uniform int renderPass;"),a.push("in vec3 position;"),a.push("in vec3 normal;"),a.push("in vec4 color;"),a.push("in vec2 uv;"),a.push("in vec2 metallicRoughness;"),a.push("in float flags;"),e.entityOffsetsEnabled&&a.push("in vec3 offset;"),this._addMatricesUniformBlockLines(a,!0),a.push("uniform mat3 uvDecodeMatrix;"),e.logarithmicDepthBufferEnabled&&(a.push("uniform float logDepthBufFC;"),a.push("out float vFragDepth;"),a.push("bool isPerspectiveMatrix(mat4 m) {"),a.push(" return (m[2][3] == - 1.0);"),a.push("}"),a.push("out float isPerspective;")),a.push("vec3 octDecode(vec2 oct) {"),a.push(" vec3 v = vec3(oct.xy, 1.0 - abs(oct.x) - abs(oct.y));"),a.push(" if (v.z < 0.0) {"),a.push(" v.xy = (1.0 - abs(v.yx)) * vec2(v.x >= 0.0 ? 1.0 : -1.0, v.y >= 0.0 ? 1.0 : -1.0);"),a.push(" }"),a.push(" return normalize(v);"),a.push("}"),a.push("out vec4 vViewPosition;"),a.push("out vec3 vViewNormal;"),a.push("out vec4 vColor;"),a.push("out vec2 vUV;"),a.push("out vec2 vMetallicRoughness;"),s.lightMaps.length>0&&a.push("out vec3 vWorldNormal;"),n&&(a.push("out vec4 vWorldPosition;"),a.push("out float vFlags;"),i&&a.push("out vec4 vClipPosition;")),a.push("void main(void) {"),a.push("int colorFlag = int(flags) & 0xF;"),a.push("if (colorFlag != renderPass) {"),a.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),a.push("} else {"),a.push("vec4 worldPosition = worldMatrix * (positionsDecodeMatrix * vec4(position, 1.0)); "),e.entityOffsetsEnabled&&a.push("worldPosition.xyz = worldPosition.xyz + offset;"),a.push("vec4 viewPosition = viewMatrix * worldPosition; "),a.push("vec4 worldNormal = worldNormalMatrix * vec4(octDecode(normal.xy), 0.0); "),a.push("vec3 viewNormal = normalize((viewNormalMatrix * worldNormal).xyz);"),a.push("vec4 clipPos = projMatrix * viewPosition;"),e.logarithmicDepthBufferEnabled&&(a.push("isPerspective = float (isPerspectiveMatrix(projMatrix));"),a.push("vFragDepth = 1.0 + clipPos.w;")),n&&(a.push("vWorldPosition = worldPosition;"),a.push("vFlags = flags;"),i&&a.push("vClipPosition = clipPos;")),a.push("vViewPosition = viewPosition;"),a.push("vViewNormal = viewNormal;"),a.push("vColor = color;"),a.push("vUV = (uvDecodeMatrix * vec3(uv, 1.0)).xy;"),a.push("vMetallicRoughness = metallicRoughness;"),s.lightMaps.length>0&&a.push("vWorldNormal = worldNormal.xyz;"),a.push("gl_Position = clipPos;"),a.push("}"),a.push("}"),a}_buildFragmentShader(){const e=this._scene,t=e.gammaOutput,s=e._sectionPlanesState,n=e._lightsState,i=s.getNumAllocatedSectionPlanes()>0,a=s.clippingCaps,r=[];r.push("#version 300 es"),r.push("// Triangles batching quality draw fragment shader"),r.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),r.push("precision highp float;"),r.push("precision highp int;"),r.push("#else"),r.push("precision mediump float;"),r.push("precision mediump int;"),r.push("#endif"),e.logarithmicDepthBufferEnabled&&(r.push("in float isPerspective;"),r.push("uniform float logDepthBufFC;"),r.push("in float vFragDepth;")),r.push("uniform sampler2D uColorMap;"),r.push("uniform sampler2D uMetallicRoughMap;"),r.push("uniform sampler2D uEmissiveMap;"),r.push("uniform sampler2D uNormalMap;"),r.push("uniform sampler2D uAOMap;"),r.push("in vec4 vViewPosition;"),r.push("in vec3 vViewNormal;"),r.push("in vec4 vColor;"),r.push("in vec2 vUV;"),r.push("in vec2 vMetallicRoughness;"),n.lightMaps.length>0&&r.push("in vec3 vWorldNormal;"),this._addMatricesUniformBlockLines(r,!0),n.reflectionMaps.length>0&&r.push("uniform samplerCube reflectionMap;"),n.lightMaps.length>0&&r.push("uniform samplerCube lightMap;"),r.push("uniform vec4 lightAmbient;");for(let e=0,t=n.lights.length;e0&&(r.push("vec3 getLightProbeIndirectRadiance(const in vec3 reflectVec, const in float blinnShininessExponent, const in int maxMIPLevel) {"),r.push(" float mipLevel = 0.5 * getSpecularMIPLevel(blinnShininessExponent, maxMIPLevel);"),r.push(" vec3 envMapColor = sRGBToLinear(texture(reflectionMap, reflectVec, mipLevel)).rgb;"),r.push(" return envMapColor;"),r.push("}")),r.push("vec3 F_Schlick(const in vec3 specularColor, const in float dotLH) {"),r.push(" float fresnel = exp2( ( -5.55473 * dotLH - 6.98316 ) * dotLH );"),r.push(" return ( 1.0 - specularColor ) * fresnel + specularColor;"),r.push("}"),r.push("float G_GGX_Smith(const in float alpha, const in float dotNL, const in float dotNV) {"),r.push(" float a2 = ( alpha * alpha );"),r.push(" float gl = dotNL + sqrt( a2 + ( 1.0 - a2 ) * ( dotNL * dotNL ) );"),r.push(" float gv = dotNV + sqrt( a2 + ( 1.0 - a2 ) * ( dotNV * dotNV ) );"),r.push(" return 1.0 / ( gl * gv );"),r.push("}"),r.push("float G_GGX_SmithCorrelated(const in float alpha, const in float dotNL, const in float dotNV) {"),r.push(" float a2 = ( alpha * alpha );"),r.push(" float gv = dotNL * sqrt( a2 + ( 1.0 - a2 ) * ( dotNV * dotNV ) );"),r.push(" float gl = dotNV * sqrt( a2 + ( 1.0 - a2 ) * ( dotNL * dotNL ) );"),r.push(" return 0.5 / max( gv + gl, EPSILON );"),r.push("}"),r.push("float D_GGX(const in float alpha, const in float dotNH) {"),r.push(" float a2 = ( alpha * alpha );"),r.push(" float denom = ( dotNH * dotNH) * ( a2 - 1.0 ) + 1.0;"),r.push(" return RECIPROCAL_PI * a2 / ( denom * denom);"),r.push("}"),r.push("vec3 BRDF_Specular_GGX(const in IncidentLight incidentLight, const in Geometry geometry, const in vec3 specularColor, const in float roughness) {"),r.push(" float alpha = ( roughness * roughness );"),r.push(" vec3 halfDir = normalize( incidentLight.direction + geometry.viewEyeDir );"),r.push(" float dotNL = saturate( dot( geometry.viewNormal, incidentLight.direction ) );"),r.push(" float dotNV = saturate( dot( geometry.viewNormal, geometry.viewEyeDir ) );"),r.push(" float dotNH = saturate( dot( geometry.viewNormal, halfDir ) );"),r.push(" float dotLH = saturate( dot( incidentLight.direction, halfDir ) );"),r.push(" vec3 F = F_Schlick( specularColor, dotLH );"),r.push(" float G = G_GGX_SmithCorrelated( alpha, dotNL, dotNV );"),r.push(" float D = D_GGX( alpha, dotNH );"),r.push(" return F * (G * D);"),r.push("}"),r.push("vec3 BRDF_Specular_GGX_Environment(const in Geometry geometry, const in vec3 specularColor, const in float roughness) {"),r.push(" float dotNV = saturate(dot(geometry.viewNormal, geometry.viewEyeDir));"),r.push(" const vec4 c0 = vec4( -1, -0.0275, -0.572, 0.022);"),r.push(" const vec4 c1 = vec4( 1, 0.0425, 1.04, -0.04);"),r.push(" vec4 r = roughness * c0 + c1;"),r.push(" float a004 = min(r.x * r.x, exp2(-9.28 * dotNV)) * r.x + r.y;"),r.push(" vec2 AB = vec2(-1.04, 1.04) * a004 + r.zw;"),r.push(" return specularColor * AB.x + AB.y;"),r.push("}"),(n.lightMaps.length>0||n.reflectionMaps.length>0)&&(r.push("void computePBRLightMapping(const in Geometry geometry, const in Material material, inout ReflectedLight reflectedLight) {"),n.lightMaps.length>0&&(r.push(" vec3 irradiance = sRGBToLinear(texture(lightMap, geometry.worldNormal)).rgb;"),r.push(" irradiance *= PI;"),r.push(" vec3 diffuseBRDFContrib = (RECIPROCAL_PI * material.diffuseColor);"),r.push(" reflectedLight.diffuse += irradiance * diffuseBRDFContrib;")),n.reflectionMaps.length>0&&(r.push(" vec3 reflectVec = reflect(geometry.viewEyeDir, geometry.viewNormal);"),r.push(" reflectVec = inverseTransformDirection(reflectVec, viewMatrix);"),r.push(" float blinnExpFromRoughness = GGXRoughnessToBlinnExponent(material.specularRoughness);"),r.push(" vec3 radiance = getLightProbeIndirectRadiance(reflectVec, blinnExpFromRoughness, 8);"),r.push(" vec3 specularBRDFContrib = BRDF_Specular_GGX_Environment(geometry, material.specularColor, material.specularRoughness);"),r.push(" reflectedLight.specular += radiance * specularBRDFContrib;")),r.push("}")),r.push("void computePBRLighting(const in IncidentLight incidentLight, const in Geometry geometry, const in Material material, inout ReflectedLight reflectedLight) {"),r.push(" float dotNL = saturate(dot(geometry.viewNormal, incidentLight.direction));"),r.push(" vec3 irradiance = dotNL * incidentLight.color * PI;"),r.push(" reflectedLight.diffuse += irradiance * (RECIPROCAL_PI * material.diffuseColor);"),r.push(" reflectedLight.specular += irradiance * BRDF_Specular_GGX(incidentLight, geometry, material.specularColor, material.specularRoughness);"),r.push("}"),r.push("out vec4 outColor;"),r.push("void main(void) {"),i){r.push(" bool clippable = (int(vFlags) >> 16 & 0xF) == 1;"),r.push(" if (clippable) {"),r.push(" float dist = 0.0;");for(let e=0,t=s.getNumAllocatedSectionPlanes();e (0.002 * vClipPosition.w)) {"),r.push(" discard;"),r.push(" }"),r.push(" if (dist > 0.0) { "),r.push(" outColor=vec4(1.0, 0.0, 0.0, 1.0);"),e.logarithmicDepthBufferEnabled&&r.push(" gl_FragDepth = log2( vFragDepth ) * logDepthBufFC * 0.5;"),r.push(" return;"),r.push("}")):(r.push(" if (dist > 0.0) { "),r.push(" discard;"),r.push(" }")),r.push("}")}r.push("IncidentLight light;"),r.push("Material material;"),r.push("Geometry geometry;"),r.push("ReflectedLight reflectedLight = ReflectedLight(vec3(0.0,0.0,0.0), vec3(0.0,0.0,0.0));"),r.push("vec3 rgb = (vec3(float(vColor.r) / 255.0, float(vColor.g) / 255.0, float(vColor.b) / 255.0));"),r.push("float opacity = float(vColor.a) / 255.0;"),r.push("vec3 baseColor = rgb;"),r.push("float specularF0 = 1.0;"),r.push("float metallic = float(vMetallicRoughness.r) / 255.0;"),r.push("float roughness = float(vMetallicRoughness.g) / 255.0;"),r.push("float dielectricSpecular = 0.16 * specularF0 * specularF0;"),r.push("vec4 colorTexel = sRGBToLinear(texture(uColorMap, vUV));"),r.push("baseColor *= colorTexel.rgb;"),r.push("vec3 metalRoughTexel = texture(uMetallicRoughMap, vUV).rgb;"),r.push("metallic *= metalRoughTexel.b;"),r.push("roughness *= metalRoughTexel.g;"),r.push("vec3 viewNormal = perturbNormal2Arb(vViewPosition.xyz, normalize(vViewNormal), vUV );"),r.push("material.diffuseColor = baseColor * (1.0 - dielectricSpecular) * (1.0 - metallic);"),r.push("material.specularRoughness = clamp(roughness, 0.04, 1.0);"),r.push("material.specularColor = mix(vec3(dielectricSpecular), baseColor, metallic);"),r.push("geometry.position = vViewPosition.xyz;"),r.push("geometry.viewNormal = -normalize(viewNormal);"),r.push("geometry.viewEyeDir = normalize(vViewPosition.xyz);"),n.lightMaps.length>0&&r.push("geometry.worldNormal = normalize(vWorldNormal);"),(n.lightMaps.length>0||n.reflectionMaps.length>0)&&r.push("computePBRLightMapping(geometry, material, reflectedLight);");for(let e=0,t=n.lights.length;e0,s=[];return s.push("#version 300 es"),s.push("// Triangles batching pick flat normals vertex shader"),s.push("uniform int renderPass;"),s.push("in vec3 position;"),e.entityOffsetsEnabled&&s.push("in vec3 offset;"),s.push("in float flags;"),s.push("uniform bool pickInvisible;"),this._addMatricesUniformBlockLines(s),this._addRemapClipPosLines(s,3),e.logarithmicDepthBufferEnabled&&(s.push("uniform float logDepthBufFC;"),s.push("out float vFragDepth;"),s.push("bool isPerspectiveMatrix(mat4 m) {"),s.push(" return (m[2][3] == - 1.0);"),s.push("}"),s.push("out float isPerspective;")),s.push("out vec4 vWorldPosition;"),t&&s.push("out float vFlags;"),s.push("void main(void) {"),s.push("int pickFlag = int(flags) >> 12 & 0xF;"),s.push("if (pickFlag != renderPass) {"),s.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),s.push(" } else {"),s.push(" vec4 worldPosition = worldMatrix * (positionsDecodeMatrix * vec4(position, 1.0)); "),e.entityOffsetsEnabled&&s.push(" worldPosition.xyz = worldPosition.xyz + offset;"),s.push(" vec4 viewPosition = viewMatrix * worldPosition; "),s.push(" vWorldPosition = worldPosition;"),t&&s.push(" vFlags = flags;"),s.push("vec4 clipPos = projMatrix * viewPosition;"),e.logarithmicDepthBufferEnabled&&(s.push("vFragDepth = 1.0 + clipPos.w;"),s.push("isPerspective = float (isPerspectiveMatrix(projMatrix));")),s.push("gl_Position = remapClipPos(clipPos);"),s.push(" }"),s.push("}"),s}_buildFragmentShader(){const e=this._scene,t=e._sectionPlanesState,s=t.getNumAllocatedSectionPlanes()>0,n=[];if(n.push("#version 300 es"),n.push("// Triangles batching pick flat normals fragment shader"),n.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),n.push("precision highp float;"),n.push("precision highp int;"),n.push("#else"),n.push("precision mediump float;"),n.push("precision mediump int;"),n.push("#endif"),e.logarithmicDepthBufferEnabled&&(n.push("in float isPerspective;"),n.push("uniform float logDepthBufFC;"),n.push("in float vFragDepth;")),n.push("in vec4 vWorldPosition;"),s){n.push("in float vFlags;");for(var i=0;i> 16 & 0xF) == 1;"),n.push(" if (clippable) {"),n.push(" float dist = 0.0;");for(let e=0;e 0.0) { discard; }"),n.push(" }")}return e.logarithmicDepthBufferEnabled&&n.push(" gl_FragDepth = isPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5;"),n.push(" vec3 xTangent = dFdx( vWorldPosition.xyz );"),n.push(" vec3 yTangent = dFdy( vWorldPosition.xyz );"),n.push(" vec3 worldNormal = normalize( cross( xTangent, yTangent ) );"),n.push(` outNormal = ivec4(worldNormal * float(${h.MAX_INT}), 1.0);`),n.push("}"),n}}class Zi extends Bi{_getHash(){const e=this._scene;return[e.gammaOutput,e._lightsState.getHash(),e._sectionPlanesState.getHash(),this._withSAO?"sao":"nosao"].join(";")}drawLayer(e,t,s){super.drawLayer(e,t,s,{incrementDrawState:!0})}_buildVertexShader(){const e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,s=[];return s.push("#version 300 es"),s.push("// Triangles batching color texture vertex shader"),s.push("uniform int renderPass;"),s.push("in vec3 position;"),s.push("in vec4 color;"),s.push("in vec2 uv;"),s.push("in float flags;"),e.entityOffsetsEnabled&&s.push("in vec3 offset;"),this._addMatricesUniformBlockLines(s),s.push("uniform mat3 uvDecodeMatrix;"),e.logarithmicDepthBufferEnabled&&(s.push("uniform float logDepthBufFC;"),s.push("out float vFragDepth;"),s.push("bool isPerspectiveMatrix(mat4 m) {"),s.push(" return (m[2][3] == - 1.0);"),s.push("}"),s.push("out float isPerspective;")),t&&(s.push("out vec4 vWorldPosition;"),s.push("out float vFlags;")),s.push("out vec4 vViewPosition;"),s.push("out vec4 vColor;"),s.push("out vec2 vUV;"),s.push("void main(void) {"),s.push("int colorFlag = int(flags) & 0xF;"),s.push("if (colorFlag != renderPass) {"),s.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),s.push("} else {"),s.push("vec4 worldPosition = worldMatrix * (positionsDecodeMatrix * vec4(position, 1.0)); "),e.entityOffsetsEnabled&&s.push("worldPosition.xyz = worldPosition.xyz + offset;"),s.push("vec4 viewPosition = viewMatrix * worldPosition; "),s.push("vViewPosition = viewPosition;"),s.push("vColor = vec4(float(color.r) / 255.0, float(color.g) / 255.0, float(color.b) / 255.0, float(color.a) / 255.0);"),s.push("vUV = (uvDecodeMatrix * vec3(uv, 1.0)).xy;"),s.push("vec4 clipPos = projMatrix * viewPosition;"),e.logarithmicDepthBufferEnabled&&(s.push("vFragDepth = 1.0 + clipPos.w;"),s.push("isPerspective = float (isPerspectiveMatrix(projMatrix));")),t&&(s.push("vWorldPosition = worldPosition;"),s.push("vFlags = flags;")),s.push("gl_Position = clipPos;"),s.push("}"),s.push("}"),s}_buildFragmentShader(){const e=this._scene,t=e.gammaOutput,s=e._lightsState,n=e._sectionPlanesState,i=n.getNumAllocatedSectionPlanes()>0,a=[];if(a.push("#version 300 es"),a.push("// Triangles batching color texture fragment shader"),a.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),a.push("precision highp float;"),a.push("precision highp int;"),a.push("#else"),a.push("precision mediump float;"),a.push("precision mediump int;"),a.push("#endif"),e.logarithmicDepthBufferEnabled&&(a.push("in float isPerspective;"),a.push("uniform float logDepthBufFC;"),a.push("in float vFragDepth;")),a.push("uniform sampler2D uColorMap;"),this._withSAO&&(a.push("uniform sampler2D uOcclusionTexture;"),a.push("uniform vec4 uSAOParams;"),a.push("const float packUpscale = 256. / 255.;"),a.push("const float unpackDownScale = 255. / 256.;"),a.push("const vec3 packFactors = vec3( 256. * 256. * 256., 256. * 256., 256. );"),a.push("const vec4 unPackFactors = unpackDownScale / vec4( packFactors, 1. );"),a.push("float unpackRGBToFloat( const in vec4 v ) {"),a.push(" return dot( v, unPackFactors );"),a.push("}")),a.push("uniform float gammaFactor;"),a.push("vec4 linearToLinear( in vec4 value ) {"),a.push(" return value;"),a.push("}"),a.push("vec4 sRGBToLinear( in vec4 value ) {"),a.push(" return vec4( mix( pow( value.rgb * 0.9478672986 + vec3( 0.0521327014 ), vec3( 2.4 ) ), value.rgb * 0.0773993808, vec3( lessThanEqual( value.rgb, vec3( 0.04045 ) ) ) ), value.w );"),a.push("}"),a.push("vec4 gammaToLinear( in vec4 value) {"),a.push(" return vec4( pow( value.xyz, vec3( gammaFactor ) ), value.w );"),a.push("}"),t&&(a.push("vec4 linearToGamma( in vec4 value, in float gammaFactor ) {"),a.push(" return vec4( pow( value.xyz, vec3( 1.0 / gammaFactor ) ), value.w );"),a.push("}")),i){a.push("in vec4 vWorldPosition;"),a.push("in float vFlags;");for(let e=0,t=n.getNumAllocatedSectionPlanes();e> 16 & 0xF) == 1;"),a.push(" if (clippable) {"),a.push(" float dist = 0.0;");for(let e=0,t=n.getNumAllocatedSectionPlanes();e 0.0) { "),a.push(" discard;"),a.push(" }"),a.push("}")}a.push("vec3 reflectedColor = vec3(0.0, 0.0, 0.0);"),a.push("vec3 viewLightDir = vec3(0.0, 0.0, -1.0);"),a.push("float lambertian = 1.0;"),a.push("vec3 xTangent = dFdx( vViewPosition.xyz );"),a.push("vec3 yTangent = dFdy( vViewPosition.xyz );"),a.push("vec3 viewNormal = normalize( cross( xTangent, yTangent ) );");for(let e=0,t=s.lights.length;e5e6&&(e=5e6),this.maxVerts=e,this.maxIndices=3*e,this.positions=[],this.colors=[],this.uv=[],this.metallicRoughness=[],this.normals=[],this.pickColors=[],this.offsets=[],this.indices=[],this.edgeIndices=[]}}const sa=h.mat4(),na=h.mat4();function ia(e,t,s){const n=e.length,i=new Uint16Array(n),a=t[0],r=t[1],l=t[2],o=t[3]-a,c=t[4]-r,u=t[5]-l,p=65525,A=p/o,d=p/c,f=p/u,I=e=>e>=0?e:0;for(let t=0;t=0?1:-1),t=(1-Math.abs(n))*(i>=0?1:-1),n=e,i=t}return new Int8Array([Math[t](127.5*n+(n<0?-1:0)),Math[s](127.5*i+(i<0?-1:0))])}function la(e){let t=e[0],s=e[1];t/=t<0?127:128,s/=s<0?127:128;const n=1-Math.abs(t)-Math.abs(s);n<0&&(t=(1-Math.abs(s))*(t>=0?1:-1),s=(1-Math.abs(t))*(s>=0?1:-1));const i=Math.sqrt(t*t+s*s+n*n);return[t/i,s/i,n/i]}const oa=h.vec3(),ca=h.vec3(),ua=h.vec3(),ha=h.vec3(),pa=h.mat4();class Aa extends _i{drawLayer(e,t,s){if(!this._program&&(this._allocate(),this.errors))return;e.lastProgramId!==this._program.id&&(e.lastProgramId=this._program.id,this._bindProgram());const n=t.model,i=n.scene,a=i.camera,r=i.canvas.gl,l=t._state,o=t._state.origin,{position:c,rotationMatrix:u,rotationMatrixConjugate:p}=n,A=t.aabb,d=e.pickViewMatrix||a.viewMatrix;this._vaoCache.has(t)?r.bindVertexArray(this._vaoCache.get(t)):this._vaoCache.set(t,this._makeVAO(l));const f=oa;let I,y;if(f[0]=h.safeInv(A[3]-A[0])*h.MAX_INT,f[1]=h.safeInv(A[4]-A[1])*h.MAX_INT,f[2]=h.safeInv(A[5]-A[2])*h.MAX_INT,e.snapPickCoordinateScale[0]=h.safeInv(f[0]),e.snapPickCoordinateScale[1]=h.safeInv(f[1]),e.snapPickCoordinateScale[2]=h.safeInv(f[2]),o||0!==c[0]||0!==c[1]||0!==c[2]){const t=ca;if(o){const e=ua;h.transformPoint3(u,o,e),t[0]=e[0],t[1]=e[1],t[2]=e[2]}else t[0]=0,t[1]=0,t[2]=0;t[0]+=c[0],t[1]+=c[1],t[2]+=c[2],I=G(d,t,pa),y=ha,y[0]=a.eye[0]-t[0],y[1]=a.eye[1]-t[1],y[2]=a.eye[2]-t[2],e.snapPickOrigin[0]=t[0],e.snapPickOrigin[1]=t[1],e.snapPickOrigin[2]=t[2]}else I=d,y=a.eye,e.snapPickOrigin[0]=0,e.snapPickOrigin[1]=0,e.snapPickOrigin[2]=0;r.uniform3fv(this._uCameraEyeRtc,y),r.uniform2fv(this.uVectorA,e.snapVectorA),r.uniform2fv(this.uInverseVectorAB,e.snapInvVectorAB),r.uniform1i(this._uLayerNumber,e.snapPickLayerNumber),r.uniform3fv(this._uCoordinateScaler,f),r.uniform1i(this._uRenderPass,s),r.uniform1i(this._uPickInvisible,e.pickInvisible);let m=0;this._matricesUniformBlockBufferData.set(p,0),this._matricesUniformBlockBufferData.set(I,m+=16),this._matricesUniformBlockBufferData.set(a.projMatrix,m+=16),this._matricesUniformBlockBufferData.set(l.positionsDecodeMatrix,m+=16),r.bindBuffer(r.UNIFORM_BUFFER,this._matricesUniformBlockBuffer),r.bufferData(r.UNIFORM_BUFFER,this._matricesUniformBlockBufferData,r.DYNAMIC_DRAW),r.bindBufferBase(r.UNIFORM_BUFFER,this._matricesUniformBlockBufferBindingPoint,this._matricesUniformBlockBuffer);{const t=2/(Math.log(e.pickZFar+1)/Math.LN2);r.uniform1f(this._uLogDepthBufFC,t)}this.setSectionPlanesStateUniforms(t),l.indicesBuf.bind(),r.drawElements(r.TRIANGLES,l.indicesBuf.numItems,l.indicesBuf.itemType,0),l.indicesBuf.unbind()}_allocate(){super._allocate();const e=this._program;this._uLogDepthBufFC=e.getLocation("logDepthBufFC"),this._uCameraEyeRtc=e.getLocation("uCameraEyeRtc"),this.uVectorA=e.getLocation("snapVectorA"),this.uInverseVectorAB=e.getLocation("snapInvVectorAB"),this._uLayerNumber=e.getLocation("layerNumber"),this._uCoordinateScaler=e.getLocation("coordinateScaler")}_bindProgram(){this._program.bind()}_buildVertexShader(){const e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,s=[];return s.push("#version 300 es"),s.push("// VBO SnapBatchingDepthBufInitRenderer vertex shader"),s.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),s.push("precision highp float;"),s.push("precision highp int;"),s.push("precision highp usampler2D;"),s.push("precision highp isampler2D;"),s.push("precision highp sampler2D;"),s.push("#else"),s.push("precision mediump float;"),s.push("precision mediump int;"),s.push("precision mediump usampler2D;"),s.push("precision mediump isampler2D;"),s.push("precision mediump sampler2D;"),s.push("#endif"),s.push("uniform int renderPass;"),s.push("in vec4 pickColor;"),s.push("in vec3 position;"),e.entityOffsetsEnabled&&s.push("in vec3 offset;"),s.push("in float flags;"),s.push("uniform bool pickInvisible;"),this._addMatricesUniformBlockLines(s),s.push("uniform vec3 uCameraEyeRtc;"),s.push("uniform vec2 snapVectorA;"),s.push("uniform vec2 snapInvVectorAB;"),s.push("uniform float logDepthBufFC;"),s.push("out float vFragDepth;"),s.push("out float isPerspective;"),s.push("bool isPerspectiveMatrix(mat4 m) {"),s.push(" return (m[2][3] == - 1.0);"),s.push("}"),s.push("vec2 remapClipPos(vec2 clipPos) {"),s.push(" float x = (clipPos.x - snapVectorA.x) * snapInvVectorAB.x;"),s.push(" float y = (clipPos.y - snapVectorA.y) * snapInvVectorAB.y;"),s.push(" return vec2(x, y);"),s.push("}"),s.push("flat out vec4 vPickColor;"),s.push("out vec4 vWorldPosition;"),t&&s.push("out float vFlags;"),s.push("out highp vec3 relativeToOriginPosition;"),s.push("void main(void) {"),s.push("int pickFlag = int(flags) >> 12 & 0xF;"),s.push("if (pickFlag != renderPass) {"),s.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),s.push(" } else {"),s.push(" vec4 worldPosition = worldMatrix * (positionsDecodeMatrix * vec4(position, 1.0)); "),e.entityOffsetsEnabled&&s.push(" worldPosition.xyz = worldPosition.xyz + offset;"),s.push(" relativeToOriginPosition = worldPosition.xyz;"),s.push(" vec4 viewPosition = viewMatrix * worldPosition; "),s.push(" vWorldPosition = worldPosition;"),t&&s.push(" vFlags = flags;"),s.push("vPickColor = pickColor;"),s.push("vec4 clipPos = projMatrix * viewPosition;"),s.push("float tmp = clipPos.w;"),s.push("clipPos.xyzw /= tmp;"),s.push("clipPos.xy = remapClipPos(clipPos.xy);"),s.push("clipPos.xyzw *= tmp;"),s.push("vFragDepth = 1.0 + clipPos.w;"),s.push("isPerspective = float (isPerspectiveMatrix(projMatrix));"),s.push("gl_Position = clipPos;"),s.push(" }"),s.push("}"),s}_buildFragmentShader(){const e=this._scene._sectionPlanesState,t=e.getNumAllocatedSectionPlanes()>0,s=[];if(s.push("#version 300 es"),s.push("// VBO SnapBatchingDepthBufInitRenderer fragment shader"),s.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),s.push("precision highp float;"),s.push("precision highp int;"),s.push("#else"),s.push("precision mediump float;"),s.push("precision mediump int;"),s.push("#endif"),s.push("in float isPerspective;"),s.push("uniform float logDepthBufFC;"),s.push("in float vFragDepth;"),s.push("uniform int layerNumber;"),s.push("uniform vec3 coordinateScaler;"),s.push("in vec4 vWorldPosition;"),s.push("flat in vec4 vPickColor;"),t){s.push("in float vFlags;");for(let t=0;t> 16 & 0xF) == 1;"),s.push(" if (clippable) {"),s.push(" float dist = 0.0;");for(var n=0;n 0.0) { discard; }"),s.push(" }")}return s.push(" float dx = dFdx(vFragDepth);"),s.push(" float dy = dFdy(vFragDepth);"),s.push(" float diff = sqrt(dx*dx+dy*dy);"),s.push(" gl_FragDepth = isPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth + diff ) * logDepthBufFC * 0.5;"),s.push("outCoords = ivec4(relativeToOriginPosition.xyz*coordinateScaler.xyz, -layerNumber);"),s.push("vec3 xTangent = dFdx( vWorldPosition.xyz );"),s.push("vec3 yTangent = dFdy( vWorldPosition.xyz );"),s.push("vec3 worldNormal = normalize( cross( xTangent, yTangent ) );"),s.push(`outNormal = ivec4(worldNormal * float(${h.MAX_INT}), 1.0);`),s.push("outPickColor = uvec4(vPickColor);"),s.push("}"),s}webglContextRestored(){this._program=null}destroy(){this._program&&this._program.destroy(),this._program=null}}const da=h.vec3(),fa=h.vec3(),Ia=h.vec3(),ya=h.vec3(),ma=h.mat4();class va extends _i{_getHash(){return this._scene._sectionPlanesState.getHash()+this._scene.pointsMaterial.hash}drawLayer(e,t,s){if(!this._program&&(this._allocate(),this.errors))return;e.lastProgramId!==this._program.id&&(e.lastProgramId=this._program.id,this._bindProgram());const n=t.model,i=n.scene,a=i.camera,r=i.canvas.gl,l=t._state,o=t._state.origin,{position:c,rotationMatrix:u,rotationMatrixConjugate:p}=n,A=t.aabb,d=e.pickViewMatrix||a.viewMatrix;this._vaoCache.has(t)?r.bindVertexArray(this._vaoCache.get(t)):this._vaoCache.set(t,this._makeVAO(l));const f=da;let I,y;if(f[0]=h.safeInv(A[3]-A[0])*h.MAX_INT,f[1]=h.safeInv(A[4]-A[1])*h.MAX_INT,f[2]=h.safeInv(A[5]-A[2])*h.MAX_INT,e.snapPickCoordinateScale[0]=h.safeInv(f[0]),e.snapPickCoordinateScale[1]=h.safeInv(f[1]),e.snapPickCoordinateScale[2]=h.safeInv(f[2]),o||0!==c[0]||0!==c[1]||0!==c[2]){const t=fa;if(o){const e=Ia;h.transformPoint3(u,o,e),t[0]=e[0],t[1]=e[1],t[2]=e[2]}else t[0]=0,t[1]=0,t[2]=0;t[0]+=c[0],t[1]+=c[1],t[2]+=c[2],I=G(d,t,ma),y=ya,y[0]=a.eye[0]-t[0],y[1]=a.eye[1]-t[1],y[2]=a.eye[2]-t[2],e.snapPickOrigin[0]=t[0],e.snapPickOrigin[1]=t[1],e.snapPickOrigin[2]=t[2]}else I=d,y=a.eye,e.snapPickOrigin[0]=0,e.snapPickOrigin[1]=0,e.snapPickOrigin[2]=0;r.uniform3fv(this._uCameraEyeRtc,y),r.uniform2fv(this.uVectorA,e.snapVectorA),r.uniform2fv(this.uInverseVectorAB,e.snapInvVectorAB),r.uniform1i(this._uLayerNumber,e.snapPickLayerNumber),r.uniform3fv(this._uCoordinateScaler,f),r.uniform1i(this._uRenderPass,s),r.uniform1i(this._uPickInvisible,e.pickInvisible);let m=0;this._matricesUniformBlockBufferData.set(p,0),this._matricesUniformBlockBufferData.set(I,m+=16),this._matricesUniformBlockBufferData.set(a.projMatrix,m+=16),this._matricesUniformBlockBufferData.set(l.positionsDecodeMatrix,m+=16),r.bindBuffer(r.UNIFORM_BUFFER,this._matricesUniformBlockBuffer),r.bufferData(r.UNIFORM_BUFFER,this._matricesUniformBlockBufferData,r.DYNAMIC_DRAW),r.bindBufferBase(r.UNIFORM_BUFFER,this._matricesUniformBlockBufferBindingPoint,this._matricesUniformBlockBuffer);{const t=2/(Math.log(e.pickZFar+1)/Math.LN2);r.uniform1f(this._uLogDepthBufFC,t)}this.setSectionPlanesStateUniforms(t),"edge"===e.snapMode?(l.edgeIndicesBuf.bind(),r.drawElements(r.LINES,l.edgeIndicesBuf.numItems,l.edgeIndicesBuf.itemType,0),l.edgeIndicesBuf.unbind()):r.drawArrays(r.POINTS,0,l.positionsBuf.numItems)}_allocate(){super._allocate();const e=this._program;this._uLogDepthBufFC=e.getLocation("logDepthBufFC"),this._uCameraEyeRtc=e.getLocation("uCameraEyeRtc"),this.uVectorA=e.getLocation("snapVectorA"),this.uInverseVectorAB=e.getLocation("snapInvVectorAB"),this._uLayerNumber=e.getLocation("layerNumber"),this._uCoordinateScaler=e.getLocation("coordinateScaler")}_bindProgram(){this._program.bind()}_buildVertexShader(){const e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0;e.pointsMaterial._state;const s=[];return s.push("#version 300 es"),s.push("// SnapBatchingDepthRenderer vertex shader"),s.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),s.push("precision highp float;"),s.push("precision highp int;"),s.push("precision highp usampler2D;"),s.push("precision highp isampler2D;"),s.push("precision highp sampler2D;"),s.push("#else"),s.push("precision mediump float;"),s.push("precision mediump int;"),s.push("precision mediump usampler2D;"),s.push("precision mediump isampler2D;"),s.push("precision mediump sampler2D;"),s.push("#endif"),s.push("uniform int renderPass;"),s.push("in vec3 position;"),e.entityOffsetsEnabled&&s.push("in vec3 offset;"),s.push("in float flags;"),s.push("uniform bool pickInvisible;"),this._addMatricesUniformBlockLines(s),s.push("uniform vec3 uCameraEyeRtc;"),s.push("uniform vec2 snapVectorA;"),s.push("uniform vec2 snapInvVectorAB;"),s.push("uniform float logDepthBufFC;"),s.push("out float vFragDepth;"),s.push("bool isPerspectiveMatrix(mat4 m) {"),s.push(" return (m[2][3] == - 1.0);"),s.push("}"),s.push("out float isPerspective;"),s.push("vec2 remapClipPos(vec2 clipPos) {"),s.push(" float x = (clipPos.x - snapVectorA.x) * snapInvVectorAB.x;"),s.push(" float y = (clipPos.y - snapVectorA.y) * snapInvVectorAB.y;"),s.push(" return vec2(x, y);"),s.push("}"),t&&(s.push("out vec4 vWorldPosition;"),s.push("out float vFlags;")),s.push("out highp vec3 relativeToOriginPosition;"),s.push("void main(void) {"),s.push("int pickFlag = int(flags) >> 12 & 0xF;"),s.push("if (pickFlag != renderPass) {"),s.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),s.push(" } else {"),s.push(" vec4 worldPosition = worldMatrix * (positionsDecodeMatrix * vec4(position, 1.0)); "),e.entityOffsetsEnabled&&s.push(" worldPosition.xyz = worldPosition.xyz + offset;"),s.push("relativeToOriginPosition = worldPosition.xyz;"),s.push(" vec4 viewPosition = viewMatrix * worldPosition; "),t&&(s.push(" vWorldPosition = worldPosition;"),s.push(" vFlags = flags;")),s.push("vec4 clipPos = projMatrix * viewPosition;"),s.push("float tmp = clipPos.w;"),s.push("clipPos.xyzw /= tmp;"),s.push("clipPos.xy = remapClipPos(clipPos.xy);"),s.push("clipPos.xyzw *= tmp;"),s.push("vFragDepth = 1.0 + clipPos.w;"),s.push("isPerspective = float (isPerspectiveMatrix(projMatrix));"),s.push("gl_Position = clipPos;"),s.push("gl_PointSize = 1.0;"),s.push(" }"),s.push("}"),s}_buildFragmentShader(){const e=this._scene._sectionPlanesState,t=e.getNumAllocatedSectionPlanes()>0,s=[];if(s.push("#version 300 es"),s.push("// SnapBatchingDepthRenderer fragment shader"),s.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),s.push("precision highp float;"),s.push("precision highp int;"),s.push("#else"),s.push("precision mediump float;"),s.push("precision mediump int;"),s.push("#endif"),s.push("in float isPerspective;"),s.push("uniform float logDepthBufFC;"),s.push("in float vFragDepth;"),s.push("uniform int layerNumber;"),s.push("uniform vec3 coordinateScaler;"),t){s.push("in vec4 vWorldPosition;"),s.push("in float vFlags;");for(let t=0;t> 16 & 0xF) == 1;"),s.push(" if (clippable) {"),s.push(" float dist = 0.0;");for(var n=0;n 0.0) { discard; }"),s.push(" }")}return s.push(" gl_FragDepth = isPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5;"),s.push("outCoords = ivec4(relativeToOriginPosition.xyz*coordinateScaler.xyz, layerNumber);"),s.push("}"),s}webglContextRestored(){this._program=null}destroy(){this._program&&this._program.destroy(),this._program=null}}class wa{constructor(e){this._scene=e}_compile(){this._snapDepthBufInitRenderer&&!this._snapDepthBufInitRenderer.getValid()&&(this._snapDepthBufInitRenderer.destroy(),this._snapDepthBufInitRenderer=null),this._snapDepthRenderer&&!this._snapDepthRenderer.getValid()&&(this._snapDepthRenderer.destroy(),this._snapDepthRenderer=null)}eagerCreateRenders(){this._snapDepthBufInitRenderer||(this._snapDepthBufInitRenderer=new Aa(this._scene,!1)),this._snapDepthRenderer||(this._snapDepthRenderer=new va(this._scene))}get snapDepthBufInitRenderer(){return this._snapDepthBufInitRenderer||(this._snapDepthBufInitRenderer=new Aa(this._scene,!1)),this._snapDepthBufInitRenderer}get snapDepthRenderer(){return this._snapDepthRenderer||(this._snapDepthRenderer=new va(this._scene)),this._snapDepthRenderer}_destroy(){this._snapDepthBufInitRenderer&&this._snapDepthBufInitRenderer.destroy(),this._snapDepthRenderer&&this._snapDepthRenderer.destroy()}}const ga={};const Ea=h.mat4(),Ta=h.mat4(),ba=h.vec4([0,0,0,1]);h.vec4([0,0,0,1]),h.vec4([0,0,0,1]),h.OBB3();const Da=h.vec3(),Pa=h.vec3(),Ra=h.vec3(),Ca=h.vec3(),_a=h.vec3(),Ba=h.vec3(),Oa=h.vec3();class Sa{constructor(e){this.model=e.model,this.sortId="TrianglesBatchingLayer"+(e.solid?"-solid":"-surface")+(e.autoNormals?"-autonormals":"-normals")+(e.textureSet&&e.textureSet.colorTexture?"-colorTexture":"")+(e.textureSet&&e.textureSet.metallicRoughnessTexture?"-metallicRoughnessTexture":""),this.layerIndex=e.layerIndex,this._batchingRenderers=function(e){const t=e.id;let s=ea[t];return s||(s=new $i(e),ea[t]=s,s._compile(),s.eagerCreateRenders(),e.on("compile",(()=>{s._compile(),s.eagerCreateRenders()})),e.on("destroyed",(()=>{delete ea[t],s._destroy()}))),s}(e.model.scene),this._snapBatchingRenderers=function(e){const t=e.id;let s=ga[t];return s||(s=new wa(e),ga[t]=s,s._compile(),s.eagerCreateRenders(),e.on("compile",(()=>{s._compile(),s.eagerCreateRenders()})),e.on("destroyed",(()=>{delete ga[t],s._destroy()}))),s}(e.model.scene),this._buffer=new ta(e.maxGeometryBatchSize),this._scratchMemory=e.scratchMemory,this._state=new Je({origin:h.vec3(),positionsBuf:null,offsetsBuf:null,normalsBuf:null,colorsBuf:null,uvBuf:null,metallicRoughnessBuf:null,flagsBuf:null,indicesBuf:null,edgeIndicesBuf:null,positionsDecodeMatrix:null,uvDecodeMatrix:null,textureSet:e.textureSet,pbrSupported:!1}),this._numPortions=0,this._numVisibleLayerPortions=0,this._numTransparentLayerPortions=0,this._numXRayedLayerPortions=0,this._numSelectedLayerPortions=0,this._numHighlightedLayerPortions=0,this._numClippableLayerPortions=0,this._numEdgesLayerPortions=0,this._numPickableLayerPortions=0,this._numCulledLayerPortions=0,this._modelAABB=h.collapseAABB3(),this._portions=[],this._meshes=[],this._numVerts=0,this._aabb=h.collapseAABB3(),this.aabbDirty=!0,this._finalized=!1,e.positionsDecodeMatrix&&(this._state.positionsDecodeMatrix=h.mat4(e.positionsDecodeMatrix)),e.uvDecodeMatrix?(this._state.uvDecodeMatrix=h.mat3(e.uvDecodeMatrix),this._preCompressedUVsExpected=!0):this._preCompressedUVsExpected=!1,e.origin&&this._state.origin.set(e.origin),this.aabb=h.collapseAABB3(),this.solid=!!e.solid}get aabb(){if(this.aabbDirty){h.collapseAABB3(this._aabb);for(let e=0,t=this._meshes.length;e0)for(let e=0,t=a.length;e0){const e=Ea;y?h.inverseMat4(h.transposeMat4(y,Ta),e):h.identityMat4(e,e),function(e,t,s,n,i){function a(e,t){return e[0]*t[0]+e[1]*t[1]+e[2]*t[2]}let r,l,o,c,u,p,A=new Float32Array([0,0,0,0]),d=new Float32Array([0,0,0,0]);for(p=0;pu&&(o=r,u=c),r=ra(d,"floor","ceil"),l=la(r),c=a(d,l),c>u&&(o=r,u=c),r=ra(d,"ceil","ceil"),l=la(r),c=a(d,l),c>u&&(o=r,u=c),n[i+p+0]=o[0],n[i+p+1]=o[1],n[i+p+2]=0}(e,i,i.length,w.normals,w.normals.length)}if(o)for(let e=0,t=o.length;e0)for(let e=0,t=r.length;e0)for(let e=0,t=l.length;e0){const n=this._state.positionsDecodeMatrix?new Uint16Array(s.positions):ia(s.positions,this._modelAABB,this._state.positionsDecodeMatrix=h.mat4());if(e.positionsBuf=new Oe(t,t.ARRAY_BUFFER,n,n.length,3,t.STATIC_DRAW),this.model.scene.pickSurfacePrecisionEnabled)for(let e=0,t=this._portions.length;e0){const n=new Int8Array(s.normals);let i=!0;e.normalsBuf=new Oe(t,t.ARRAY_BUFFER,n,s.normals.length,3,t.STATIC_DRAW,i)}if(s.colors.length>0){const n=new Uint8Array(s.colors);let i=!1;e.colorsBuf=new Oe(t,t.ARRAY_BUFFER,n,s.colors.length,4,t.DYNAMIC_DRAW,i)}if(s.uv.length>0)if(e.uvDecodeMatrix){let n=!1;e.uvBuf=new Oe(t,t.ARRAY_BUFFER,s.uv,s.uv.length,2,t.STATIC_DRAW,n)}else{const n=Bt.getUVBounds(s.uv),i=Bt.compressUVs(s.uv,n.min,n.max),a=i.quantized;let r=!1;e.uvDecodeMatrix=h.mat3(i.decodeMatrix),e.uvBuf=new Oe(t,t.ARRAY_BUFFER,a,a.length,2,t.STATIC_DRAW,r)}if(s.metallicRoughness.length>0){const n=new Uint8Array(s.metallicRoughness);let i=!1;e.metallicRoughnessBuf=new Oe(t,t.ARRAY_BUFFER,n,s.metallicRoughness.length,2,t.STATIC_DRAW,i)}if(s.positions.length>0){const n=s.positions.length/3,i=new Float32Array(n),a=!1;e.flagsBuf=new Oe(t,t.ARRAY_BUFFER,i,i.length,1,t.DYNAMIC_DRAW,a)}if(s.pickColors.length>0){const n=new Uint8Array(s.pickColors);let i=!1;e.pickColorsBuf=new Oe(t,t.ARRAY_BUFFER,n,s.pickColors.length,4,t.STATIC_DRAW,i)}if(this.model.scene.entityOffsetsEnabled&&s.offsets.length>0){const n=new Float32Array(s.offsets);e.offsetsBuf=new Oe(t,t.ARRAY_BUFFER,n,s.offsets.length,3,t.DYNAMIC_DRAW)}if(s.indices.length>0){const n=new Uint32Array(s.indices);e.indicesBuf=new Oe(t,t.ELEMENT_ARRAY_BUFFER,n,s.indices.length,1,t.STATIC_DRAW)}if(s.edgeIndices.length>0){const n=new Uint32Array(s.edgeIndices);e.edgeIndicesBuf=new Oe(t,t.ELEMENT_ARRAY_BUFFER,n,s.edgeIndices.length,1,t.STATIC_DRAW)}this._state.pbrSupported=!!(e.metallicRoughnessBuf&&e.uvBuf&&e.normalsBuf&&e.textureSet&&e.textureSet.colorTexture&&e.textureSet.metallicRoughnessTexture),this._state.colorTextureSupported=!!e.uvBuf&&!!e.textureSet&&!!e.textureSet.colorTexture,this._buffer=null,this._finalized=!0}isEmpty(){return!this._state.indicesBuf}initFlags(e,t,s){t&Q&&(this._numVisibleLayerPortions++,this.model.numVisibleLayerPortions++),t&q&&(this._numHighlightedLayerPortions++,this.model.numHighlightedLayerPortions++),t&X&&(this._numXRayedLayerPortions++,this.model.numXRayedLayerPortions++),t&J&&(this._numSelectedLayerPortions++,this.model.numSelectedLayerPortions++),t&K&&(this._numClippableLayerPortions++,this.model.numClippableLayerPortions++),t&Z&&(this._numEdgesLayerPortions++,this.model.numEdgesLayerPortions++),t&z&&(this._numPickableLayerPortions++,this.model.numPickableLayerPortions++),t&W&&(this._numCulledLayerPortions++,this.model.numCulledLayerPortions++),s&&(this._numTransparentLayerPortions++,this.model.numTransparentLayerPortions++);this._setFlags(e,t,s,!0)}flushInitFlags(){this._setDeferredFlags()}setVisible(e,t,s){if(!this._finalized)throw"Not finalized";t&Q?(this._numVisibleLayerPortions++,this.model.numVisibleLayerPortions++):(this._numVisibleLayerPortions--,this.model.numVisibleLayerPortions--),this._setFlags(e,t,s)}setHighlighted(e,t,s){if(!this._finalized)throw"Not finalized";t&q?(this._numHighlightedLayerPortions++,this.model.numHighlightedLayerPortions++):(this._numHighlightedLayerPortions--,this.model.numHighlightedLayerPortions--),this._setFlags(e,t,s)}setXRayed(e,t,s){if(!this._finalized)throw"Not finalized";t&X?(this._numXRayedLayerPortions++,this.model.numXRayedLayerPortions++):(this._numXRayedLayerPortions--,this.model.numXRayedLayerPortions--),this._setFlags(e,t,s)}setSelected(e,t,s){if(!this._finalized)throw"Not finalized";t&J?(this._numSelectedLayerPortions++,this.model.numSelectedLayerPortions++):(this._numSelectedLayerPortions--,this.model.numSelectedLayerPortions--),this._setFlags(e,t,s)}setEdges(e,t,s){if(!this._finalized)throw"Not finalized";t&Z?(this._numEdgesLayerPortions++,this.model.numEdgesLayerPortions++):(this._numEdgesLayerPortions--,this.model.numEdgesLayerPortions--),this._setFlags(e,t,s)}setClippable(e,t){if(!this._finalized)throw"Not finalized";t&K?(this._numClippableLayerPortions++,this.model.numClippableLayerPortions++):(this._numClippableLayerPortions--,this.model.numClippableLayerPortions--),this._setFlags(e,t)}setCulled(e,t,s){if(!this._finalized)throw"Not finalized";t&W?(this._numCulledLayerPortions++,this.model.numCulledLayerPortions++):(this._numCulledLayerPortions--,this.model.numCulledLayerPortions--),this._setFlags(e,t,s)}setCollidable(e,t){if(!this._finalized)throw"Not finalized"}setPickable(e,t,s){if(!this._finalized)throw"Not finalized";t&z?(this._numPickableLayerPortions++,this.model.numPickableLayerPortions++):(this._numPickableLayerPortions--,this.model.numPickableLayerPortions--),this._setFlags(e,t,s)}setColor(e,t){if(!this._finalized)throw"Not finalized";const s=e,n=this._portions[s],i=4*n.vertsBaseIndex,a=4*n.numVerts,r=this._scratchMemory.getUInt8Array(a),l=t[0],o=t[1],c=t[2],u=t[3];for(let e=0;em)&&(m=e,n.set(v),i&&h.triangleNormal(d,f,I,i),y=!0)}}return y&&i&&(h.transformVec3(this.model.worldNormalMatrix,i,i),h.normalizeVec3(i)),y}destroy(){const e=this._state;e.positionsBuf&&(e.positionsBuf.destroy(),e.positionsBuf=null),e.offsetsBuf&&(e.offsetsBuf.destroy(),e.offsetsBuf=null),e.normalsBuf&&(e.normalsBuf.destroy(),e.normalsBuf=null),e.colorsBuf&&(e.colorsBuf.destroy(),e.colorsBuf=null),e.metallicRoughnessBuf&&(e.metallicRoughnessBuf.destroy(),e.metallicRoughnessBuf=null),e.flagsBuf&&(e.flagsBuf.destroy(),e.flagsBuf=null),e.pickColorsBuf&&(e.pickColorsBuf.destroy(),e.pickColorsBuf=null),e.indicesBuf&&(e.indicesBuf.destroy(),e.indicessBuf=null),e.edgeIndicesBuf&&(e.edgeIndicesBuf.destroy(),e.edgeIndicessBuf=null),e.destroy()}}class Na extends Si{_getHash(){const e=this._scene;return[e._lightsState.getHash(),e._sectionPlanesState.getHash(),this._withSAO?"sao":"nosao"].join(";")}drawLayer(e,t,s){super.drawLayer(e,t,s,{incrementDrawState:!0})}_buildVertexShader(){const e=this._scene,t=e._sectionPlanesState,s=e._lightsState,n=t.getNumAllocatedSectionPlanes()>0;let i,a,r;const l=[];for(l.push("#version 300 es"),l.push("// Instancing geometry drawing vertex shader"),l.push("uniform int renderPass;"),l.push("in vec3 position;"),l.push("in vec2 normal;"),l.push("in vec4 color;"),l.push("in float flags;"),e.entityOffsetsEnabled&&l.push("in vec3 offset;"),l.push("in vec4 modelMatrixCol0;"),l.push("in vec4 modelMatrixCol1;"),l.push("in vec4 modelMatrixCol2;"),l.push("in vec4 modelNormalMatrixCol0;"),l.push("in vec4 modelNormalMatrixCol1;"),l.push("in vec4 modelNormalMatrixCol2;"),this._addMatricesUniformBlockLines(l,!0),e.logarithmicDepthBufferEnabled&&(l.push("uniform float logDepthBufFC;"),l.push("out float vFragDepth;"),l.push("bool isPerspectiveMatrix(mat4 m) {"),l.push(" return (m[2][3] == - 1.0);"),l.push("}"),l.push("out float isPerspective;")),l.push("uniform vec4 lightAmbient;"),i=0,a=s.lights.length;i= 0.0 ? 1.0 : -1.0, v.y >= 0.0 ? 1.0 : -1.0);"),l.push(" }"),l.push(" return normalize(v);"),l.push("}"),n&&(l.push("out vec4 vWorldPosition;"),l.push("out float vFlags;")),l.push("out vec4 vColor;"),l.push("void main(void) {"),l.push("int colorFlag = int(flags) & 0xF;"),l.push("if (colorFlag != renderPass) {"),l.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),l.push("} else {"),l.push("vec4 worldPosition = positionsDecodeMatrix * vec4(position, 1.0); "),l.push("worldPosition = worldMatrix * vec4(dot(worldPosition, modelMatrixCol0), dot(worldPosition, modelMatrixCol1), dot(worldPosition, modelMatrixCol2), 1.0);"),e.entityOffsetsEnabled&&l.push("worldPosition.xyz = worldPosition.xyz + offset;"),l.push("vec4 viewPosition = viewMatrix * worldPosition; "),l.push("vec4 modelNormal = vec4(octDecode(normal.xy), 0.0); "),l.push("vec4 worldNormal = worldNormalMatrix * vec4(dot(modelNormal, modelNormalMatrixCol0), dot(modelNormal, modelNormalMatrixCol1), dot(modelNormal, modelNormalMatrixCol2), 0.0);"),l.push("vec3 viewNormal = normalize(vec4(viewNormalMatrix * worldNormal).xyz);"),l.push("vec3 reflectedColor = vec3(0.0, 0.0, 0.0);"),l.push("vec3 viewLightDir = vec3(0.0, 0.0, -1.0);"),l.push("float lambertian = 1.0;"),i=0,a=s.lights.length;i0,n=[];if(n.push("#version 300 es"),n.push("// Instancing geometry drawing fragment shader"),n.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),n.push("precision highp float;"),n.push("precision highp int;"),n.push("#else"),n.push("precision mediump float;"),n.push("precision mediump int;"),n.push("#endif"),e.logarithmicDepthBufferEnabled&&(n.push("in float isPerspective;"),n.push("uniform float logDepthBufFC;"),n.push("in float vFragDepth;")),this._withSAO&&(n.push("uniform sampler2D uOcclusionTexture;"),n.push("uniform vec4 uSAOParams;"),n.push("const float packUpscale = 256. / 255.;"),n.push("const float unpackDownScale = 255. / 256.;"),n.push("const vec3 packFactors = vec3( 256. * 256. * 256., 256. * 256., 256. );"),n.push("const vec4 unPackFactors = unpackDownScale / vec4( packFactors, 1. );"),n.push("float unpackRGBToFloat( const in vec4 v ) {"),n.push(" return dot( v, unPackFactors );"),n.push("}")),s){n.push("in vec4 vWorldPosition;"),n.push("in float vFlags;");for(let e=0,s=t.getNumAllocatedSectionPlanes();e> 16 & 0xF) == 1;"),n.push(" if (clippable) {"),n.push(" float dist = 0.0;");for(let e=0,s=t.getNumAllocatedSectionPlanes();e 0.0) { "),n.push(" discard;"),n.push(" }"),n.push("}")}return e.logarithmicDepthBufferEnabled&&n.push(" gl_FragDepth = isPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5;"),this._withSAO?(n.push(" float viewportWidth = uSAOParams[0];"),n.push(" float viewportHeight = uSAOParams[1];"),n.push(" float blendCutoff = uSAOParams[2];"),n.push(" float blendFactor = uSAOParams[3];"),n.push(" vec2 uv = vec2(gl_FragCoord.x / viewportWidth, gl_FragCoord.y / viewportHeight);"),n.push(" float ambient = smoothstep(blendCutoff, 1.0, unpackRGBToFloat(texture(uOcclusionTexture, uv))) * blendFactor;"),n.push(" outColor = vec4(vColor.rgb * ambient, 1.0);")):n.push(" outColor = vColor;"),n.push("}"),n}}class xa extends Si{_getHash(){const e=this._scene;return[e._lightsState.getHash(),e._sectionPlanesState.getHash(),this._withSAO?"sao":"nosao"].join(";")}_buildVertexShader(){const e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,s=[];return s.push("#version 300 es"),s.push("// Instancing geometry flat-shading drawing vertex shader"),s.push("uniform int renderPass;"),s.push("in vec3 position;"),s.push("in vec4 color;"),s.push("in float flags;"),e.entityOffsetsEnabled&&s.push("in vec3 offset;"),s.push("in vec4 modelMatrixCol0;"),s.push("in vec4 modelMatrixCol1;"),s.push("in vec4 modelMatrixCol2;"),this._addMatricesUniformBlockLines(s),e.logarithmicDepthBufferEnabled&&(s.push("uniform float logDepthBufFC;"),s.push("out float vFragDepth;"),s.push("bool isPerspectiveMatrix(mat4 m) {"),s.push(" return (m[2][3] == - 1.0);"),s.push("}"),s.push("out float isPerspective;")),t&&(s.push("out vec4 vWorldPosition;"),s.push("out float vFlags;")),s.push("out vec4 vViewPosition;"),s.push("out vec4 vColor;"),s.push("void main(void) {"),s.push("int colorFlag = int(flags) & 0xF;"),s.push("if (colorFlag != renderPass) {"),s.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),s.push("} else {"),s.push("vec4 worldPosition = positionsDecodeMatrix * vec4(position, 1.0); "),s.push("worldPosition = worldMatrix * vec4(dot(worldPosition, modelMatrixCol0), dot(worldPosition, modelMatrixCol1), dot(worldPosition, modelMatrixCol2), 1.0);"),e.entityOffsetsEnabled&&s.push(" worldPosition.xyz = worldPosition.xyz + offset;"),s.push("vec4 viewPosition = viewMatrix * worldPosition; "),s.push("vViewPosition = viewPosition;"),s.push("vColor = vec4(float(color.r) / 255.0, float(color.g) / 255.0, float(color.b) / 255.0, float(color.a) / 255.0);"),s.push("vec4 clipPos = projMatrix * viewPosition;"),e.logarithmicDepthBufferEnabled&&(s.push("vFragDepth = 1.0 + clipPos.w;"),s.push("isPerspective = float (isPerspectiveMatrix(projMatrix));")),t&&(s.push("vWorldPosition = worldPosition;"),s.push("vFlags = flags;")),s.push("gl_Position = clipPos;"),s.push("}"),s.push("}"),s}_buildFragmentShader(){const e=this._scene,t=e._sectionPlanesState,s=e._lightsState;let n,i;const a=t.getNumAllocatedSectionPlanes()>0,r=[];if(r.push("#version 300 es"),r.push("// Instancing geometry flat-shading drawing fragment shader"),r.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),r.push("precision highp float;"),r.push("precision highp int;"),r.push("#else"),r.push("precision mediump float;"),r.push("precision mediump int;"),r.push("#endif"),e.logarithmicDepthBufferEnabled&&(r.push("in float isPerspective;"),r.push("uniform float logDepthBufFC;"),r.push("in float vFragDepth;")),this._withSAO&&(r.push("uniform sampler2D uOcclusionTexture;"),r.push("uniform vec4 uSAOParams;"),r.push("const float packUpscale = 256. / 255.;"),r.push("const float unpackDownScale = 255. / 256.;"),r.push("const vec3 packFactors = vec3( 256. * 256. * 256., 256. * 256., 256. );"),r.push("const vec4 unPackFactors = unpackDownScale / vec4( packFactors, 1. );"),r.push("float unpackRGBToFloat( const in vec4 v ) {"),r.push(" return dot( v, unPackFactors );"),r.push("}")),a){r.push("in vec4 vWorldPosition;"),r.push("in float vFlags;");for(let e=0,s=t.getNumAllocatedSectionPlanes();e> 16 & 0xF) == 1;"),r.push(" if (clippable) {"),r.push(" float dist = 0.0;");for(let e=0,s=t.getNumAllocatedSectionPlanes();e 0.0) { "),r.push(" discard;"),r.push(" }"),r.push("}")}for(r.push("vec3 reflectedColor = vec3(0.0, 0.0, 0.0);"),r.push("vec3 viewLightDir = vec3(0.0, 0.0, -1.0);"),r.push("float lambertian = 1.0;"),r.push("vec3 xTangent = dFdx( vViewPosition.xyz );"),r.push("vec3 yTangent = dFdy( vViewPosition.xyz );"),r.push("vec3 viewNormal = normalize( cross( xTangent, yTangent ) );"),n=0,i=s.lights.length;n0,s=[];return s.push("#version 300 es"),s.push("// Instancing silhouette vertex shader"),s.push("uniform int renderPass;"),s.push("in vec3 position;"),e.entityOffsetsEnabled&&s.push("in vec3 offset;"),s.push("in float flags;"),s.push("in vec4 color;"),s.push("in vec4 modelMatrixCol0;"),s.push("in vec4 modelMatrixCol1;"),s.push("in vec4 modelMatrixCol2;"),this._addMatricesUniformBlockLines(s),s.push("uniform vec4 silhouetteColor;"),e.logarithmicDepthBufferEnabled&&(s.push("uniform float logDepthBufFC;"),s.push("out float vFragDepth;"),s.push("bool isPerspectiveMatrix(mat4 m) {"),s.push(" return (m[2][3] == - 1.0);"),s.push("}"),s.push("out float isPerspective;")),t&&(s.push("out vec4 vWorldPosition;"),s.push("out float vFlags;")),s.push("out vec4 vColor;"),s.push("void main(void) {"),s.push("int silhouetteFlag = int(flags) >> 4 & 0xF;"),s.push("if (silhouetteFlag != renderPass) {"),s.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),s.push("} else {"),s.push("vec4 worldPosition = positionsDecodeMatrix * vec4(position, 1.0); "),s.push("worldPosition = worldMatrix * vec4(dot(worldPosition, modelMatrixCol0), dot(worldPosition, modelMatrixCol1), dot(worldPosition, modelMatrixCol2), 1.0);"),e.entityOffsetsEnabled&&s.push(" worldPosition.xyz = worldPosition.xyz + offset;"),s.push("vec4 viewPosition = viewMatrix * worldPosition; "),t&&(s.push("vWorldPosition = worldPosition;"),s.push("vFlags = flags;")),s.push("vColor = vec4(silhouetteColor.r, silhouetteColor.g, silhouetteColor.b, min(silhouetteColor.a, float(color.a) / 255.0));"),s.push("vec4 clipPos = projMatrix * viewPosition;"),e.logarithmicDepthBufferEnabled&&(s.push("vFragDepth = 1.0 + clipPos.w;"),s.push("isPerspective = float (isPerspectiveMatrix(projMatrix));")),s.push("gl_Position = clipPos;"),s.push("}"),s.push("}"),s}_buildFragmentShader(){const e=this._scene,t=e._sectionPlanesState,s=t.getNumAllocatedSectionPlanes()>0,n=[];if(n.push("#version 300 es"),n.push("// Instancing fill fragment shader"),n.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),n.push("precision highp float;"),n.push("precision highp int;"),n.push("#else"),n.push("precision mediump float;"),n.push("precision mediump int;"),n.push("#endif"),e.logarithmicDepthBufferEnabled&&(n.push("in float isPerspective;"),n.push("uniform float logDepthBufFC;"),n.push("in float vFragDepth;")),s){n.push("in vec4 vWorldPosition;"),n.push("in float vFlags;");for(let e=0,s=t.getNumAllocatedSectionPlanes();e> 16 & 0xF) == 1;"),n.push(" if (clippable) {"),n.push(" float dist = 0.0;");for(let e=0,s=t.getNumAllocatedSectionPlanes();e 0.0) { discard; }"),n.push("}")}return e.logarithmicDepthBufferEnabled&&n.push(" gl_FragDepth = isPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5;"),n.push("outColor = vColor;"),n.push("}"),n}}class Ma extends Ni{drawLayer(e,t,s){super.drawLayer(e,t,s,{colorUniform:!0})}_buildVertexShader(){const e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,s=[];return s.push("#version 300 es"),s.push("// Triangles instancing edges vertex shader"),s.push("uniform int renderPass;"),s.push("uniform vec4 color;"),s.push("in vec3 position;"),e.entityOffsetsEnabled&&s.push("in vec3 offset;"),s.push("in float flags;"),s.push("in vec4 modelMatrixCol0;"),s.push("in vec4 modelMatrixCol1;"),s.push("in vec4 modelMatrixCol2;"),this._addMatricesUniformBlockLines(s),e.logarithmicDepthBufferEnabled&&(s.push("uniform float logDepthBufFC;"),s.push("out float vFragDepth;"),s.push("bool isPerspectiveMatrix(mat4 m) {"),s.push(" return (m[2][3] == - 1.0);"),s.push("}"),s.push("out float isPerspective;")),t&&(s.push("out vec4 vWorldPosition;"),s.push("out float vFlags;")),s.push("out vec4 vColor;"),s.push("void main(void) {"),s.push("int edgeFlag = int(flags) >> 8 & 0xF;"),s.push("if (edgeFlag != renderPass) {"),s.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),s.push("} else {"),s.push("vec4 worldPosition = positionsDecodeMatrix * vec4(position, 1.0); "),s.push("worldPosition = worldMatrix * vec4(dot(worldPosition, modelMatrixCol0), dot(worldPosition, modelMatrixCol1), dot(worldPosition, modelMatrixCol2), 1.0);"),e.entityOffsetsEnabled&&s.push(" worldPosition.xyz = worldPosition.xyz + offset;"),s.push("vec4 viewPosition = viewMatrix * worldPosition; "),t&&(s.push("vWorldPosition = worldPosition;"),s.push("vFlags = flags;")),s.push("vec4 clipPos = projMatrix * viewPosition;"),e.logarithmicDepthBufferEnabled&&(s.push("vFragDepth = 1.0 + clipPos.w;"),s.push("isPerspective = float (isPerspectiveMatrix(projMatrix));")),s.push("gl_Position = clipPos;"),s.push("vColor = vec4(color.r, color.g, color.b, color.a);"),s.push("}"),s.push("}"),s}_buildFragmentShader(){const e=this._scene,t=e._sectionPlanesState,s=t.getNumAllocatedSectionPlanes()>0,n=[];if(n.push("#version 300 es"),n.push("// Batched geometry edges drawing fragment shader"),n.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),n.push("precision highp float;"),n.push("precision highp int;"),n.push("#else"),n.push("precision mediump float;"),n.push("precision mediump int;"),n.push("#endif"),e.logarithmicDepthBufferEnabled&&(n.push("in float isPerspective;"),n.push("uniform float logDepthBufFC;"),n.push("in float vFragDepth;")),s){n.push("in vec4 vWorldPosition;"),n.push("in float vFlags;");for(let e=0,s=t.getNumAllocatedSectionPlanes();e> 16 & 0xF) == 1;"),n.push(" if (clippable) {"),n.push(" float dist = 0.0;");for(let e=0,s=t.getNumAllocatedSectionPlanes();e 0.0) { discard; }"),n.push("}")}return e.logarithmicDepthBufferEnabled&&n.push(" gl_FragDepth = isPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5;"),n.push("outColor = vColor;"),n.push("}"),n}}class Fa extends Ni{_buildVertexShader(){const e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,s=[];return s.push("#version 300 es"),s.push("// Triangles instancing edges vertex shader"),s.push("uniform int renderPass;"),s.push("in vec3 position;"),s.push("in vec4 color;"),e.entityOffsetsEnabled&&s.push("in vec3 offset;"),s.push("in float flags;"),s.push("in vec4 modelMatrixCol0;"),s.push("in vec4 modelMatrixCol1;"),s.push("in vec4 modelMatrixCol2;"),this._addMatricesUniformBlockLines(s),e.logarithmicDepthBufferEnabled&&(s.push("uniform float logDepthBufFC;"),s.push("out float vFragDepth;"),s.push("bool isPerspectiveMatrix(mat4 m) {"),s.push(" return (m[2][3] == - 1.0);"),s.push("}"),s.push("out float isPerspective;")),t&&(s.push("out vec4 vWorldPosition;"),s.push("out float vFlags;")),s.push("out vec4 vColor;"),s.push("void main(void) {"),s.push("int edgeFlag = int(flags) >> 8 & 0xF;"),s.push("if (edgeFlag != renderPass) {"),s.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),s.push("} else {"),s.push("vec4 worldPosition = positionsDecodeMatrix * vec4(position, 1.0); "),s.push("worldPosition = worldMatrix * vec4(dot(worldPosition, modelMatrixCol0), dot(worldPosition, modelMatrixCol1), dot(worldPosition, modelMatrixCol2), 1.0);"),e.entityOffsetsEnabled&&s.push(" worldPosition.xyz = worldPosition.xyz + offset;"),s.push("vec4 viewPosition = viewMatrix * worldPosition; "),t&&(s.push("vWorldPosition = worldPosition;"),s.push("vFlags = flags;")),s.push("vec4 clipPos = projMatrix * viewPosition;"),e.logarithmicDepthBufferEnabled&&(s.push("vFragDepth = 1.0 + clipPos.w;"),s.push("isPerspective = float (isPerspectiveMatrix(projMatrix));")),s.push("gl_Position = clipPos;"),s.push("vColor = vec4(float(color.r*0.5) / 255.0, float(color.g*0.5) / 255.0, float(color.b*0.5) / 255.0, float(color.a) / 255.0);"),s.push("}"),s.push("}"),s}_buildFragmentShader(){const e=this._scene,t=e._sectionPlanesState,s=t.getNumAllocatedSectionPlanes()>0,n=[];if(n.push("#version 300 es"),n.push("// Batched geometry edges drawing fragment shader"),n.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),n.push("precision highp float;"),n.push("precision highp int;"),n.push("#else"),n.push("precision mediump float;"),n.push("precision mediump int;"),n.push("#endif"),e.logarithmicDepthBufferEnabled&&(n.push("in float isPerspective;"),n.push("uniform float logDepthBufFC;"),n.push("in float vFragDepth;")),s){n.push("in vec4 vWorldPosition;"),n.push("in float vFlags;");for(let e=0,s=t.getNumAllocatedSectionPlanes();e> 16 & 0xF) == 1;"),n.push(" if (clippable) {"),n.push(" float dist = 0.0;");for(let e=0,s=t.getNumAllocatedSectionPlanes();e 0.0) { discard; }"),n.push("}")}return e.logarithmicDepthBufferEnabled&&n.push(" gl_FragDepth = isPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5;"),n.push("outColor = vColor;"),n.push("}"),n}}class Ha extends Si{_buildVertexShader(){const e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,s=[];return s.push("#version 300 es"),s.push("// Instancing geometry picking vertex shader"),s.push("uniform int renderPass;"),s.push("in vec3 position;"),e.entityOffsetsEnabled&&s.push("in vec3 offset;"),s.push("in float flags;"),s.push("in vec4 pickColor;"),s.push("in vec4 modelMatrixCol0;"),s.push("in vec4 modelMatrixCol1;"),s.push("in vec4 modelMatrixCol2;"),s.push("uniform bool pickInvisible;"),this._addMatricesUniformBlockLines(s),this._addRemapClipPosLines(s),e.logarithmicDepthBufferEnabled&&(s.push("uniform float logDepthBufFC;"),s.push("out float vFragDepth;"),s.push("bool isPerspectiveMatrix(mat4 m) {"),s.push(" return (m[2][3] == - 1.0);"),s.push("}"),s.push("out float isPerspective;")),t&&(s.push("out vec4 vWorldPosition;"),s.push("out float vFlags;")),s.push("out vec4 vPickColor;"),s.push("void main(void) {"),s.push("int pickFlag = int(flags) >> 12 & 0xF;"),s.push("if (pickFlag != renderPass) {"),s.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),s.push("} else {"),s.push(" vec4 worldPosition = positionsDecodeMatrix * vec4(position, 1.0); "),s.push(" worldPosition = worldMatrix * vec4(dot(worldPosition, modelMatrixCol0), dot(worldPosition, modelMatrixCol1), dot(worldPosition, modelMatrixCol2), 1.0);"),e.entityOffsetsEnabled&&s.push(" worldPosition.xyz = worldPosition.xyz + offset;"),s.push(" vec4 viewPosition = viewMatrix * worldPosition; "),s.push(" vPickColor = vec4(float(pickColor.r) / 255.0, float(pickColor.g) / 255.0, float(pickColor.b) / 255.0, float(pickColor.a) / 255.0);"),t&&(s.push(" vWorldPosition = worldPosition;"),s.push(" vFlags = flags;")),s.push("vec4 clipPos = projMatrix * viewPosition;"),e.logarithmicDepthBufferEnabled&&(s.push("vFragDepth = 1.0 + clipPos.w;"),s.push("isPerspective = float (isPerspectiveMatrix(projMatrix));")),s.push("gl_Position = remapClipPos(clipPos);"),s.push("}"),s.push("}"),s}_buildFragmentShader(){const e=this._scene,t=e._sectionPlanesState,s=t.getNumAllocatedSectionPlanes()>0,n=[];if(n.push("#version 300 es"),n.push("// Batched geometry picking fragment shader"),n.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),n.push("precision highp float;"),n.push("precision highp int;"),n.push("#else"),n.push("precision mediump float;"),n.push("precision mediump int;"),n.push("#endif"),e.logarithmicDepthBufferEnabled&&(n.push("in float isPerspective;"),n.push("uniform float logDepthBufFC;"),n.push("in float vFragDepth;")),s){n.push("in vec4 vWorldPosition;"),n.push("in float vFlags;");for(let e=0;e> 16 & 0xF) == 1;"),n.push(" if (clippable) {"),n.push(" float dist = 0.0;");for(let e=0;e 0.0) { discard; }"),n.push("}")}return e.logarithmicDepthBufferEnabled&&n.push(" gl_FragDepth = isPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5;"),n.push("outColor = vPickColor; "),n.push("}"),n}}class Ua extends Si{_buildVertexShader(){const e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,s=[];return s.push("#version 300 es"),s.push("// Instancing geometry depth vertex shader"),s.push("uniform int renderPass;"),s.push("in vec3 position;"),e.entityOffsetsEnabled&&s.push("in vec3 offset;"),s.push("in float flags;"),s.push("in vec4 modelMatrixCol0;"),s.push("in vec4 modelMatrixCol1;"),s.push("in vec4 modelMatrixCol2;"),s.push("uniform bool pickInvisible;"),this._addMatricesUniformBlockLines(s),this._addRemapClipPosLines(s),e.logarithmicDepthBufferEnabled&&(s.push("uniform float logDepthBufFC;"),s.push("out float vFragDepth;"),s.push("bool isPerspectiveMatrix(mat4 m) {"),s.push(" return (m[2][3] == - 1.0);"),s.push("}"),s.push("out float isPerspective;")),t&&(s.push("out vec4 vWorldPosition;"),s.push("out float vFlags;")),s.push("out vec4 vViewPosition;"),s.push("void main(void) {"),s.push("int pickFlag = int(flags) >> 12 & 0xF;"),s.push("if (pickFlag != renderPass) {"),s.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),s.push("} else {"),s.push(" vec4 worldPosition = positionsDecodeMatrix * vec4(position, 1.0); "),s.push(" worldPosition = worldMatrix * vec4(dot(worldPosition, modelMatrixCol0), dot(worldPosition, modelMatrixCol1), dot(worldPosition, modelMatrixCol2), 1.0);"),e.entityOffsetsEnabled&&s.push(" worldPosition.xyz = worldPosition.xyz + offset;"),s.push(" vec4 viewPosition = viewMatrix * worldPosition; "),t&&(s.push(" vWorldPosition = worldPosition;"),s.push(" vFlags = flags;")),s.push(" vViewPosition = viewPosition;"),s.push("vec4 clipPos = projMatrix * viewPosition;"),e.logarithmicDepthBufferEnabled&&(s.push("vFragDepth = 1.0 + clipPos.w;"),s.push("isPerspective = float (isPerspectiveMatrix(projMatrix));")),s.push("gl_Position = remapClipPos(clipPos);"),s.push("}"),s.push("}"),s}_buildFragmentShader(){const e=this._scene,t=e._sectionPlanesState,s=t.getNumAllocatedSectionPlanes()>0,n=[];if(n.push("#version 300 es"),n.push("// Batched geometry depth fragment shader"),n.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),n.push("precision highp float;"),n.push("precision highp int;"),n.push("#else"),n.push("precision mediump float;"),n.push("precision mediump int;"),n.push("#endif"),e.logarithmicDepthBufferEnabled&&(n.push("in float isPerspective;"),n.push("uniform float logDepthBufFC;"),n.push("in float vFragDepth;")),n.push("uniform float pickZNear;"),n.push("uniform float pickZFar;"),s){n.push("in vec4 vWorldPosition;"),n.push("in float vFlags;");for(let e=0;e> 16 & 0xF) == 1;"),n.push(" if (clippable) {"),n.push(" float dist = 0.0;");for(let e=0;e 0.0) { discard; }"),n.push("}")}return e.logarithmicDepthBufferEnabled&&n.push(" gl_FragDepth = isPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5;"),n.push(" float zNormalizedDepth = abs((pickZNear + vViewPosition.z) / (pickZFar - pickZNear));"),n.push(" outColor = packDepth(zNormalizedDepth); "),n.push("}"),n}}class Ga extends Si{_buildVertexShader(){const e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,s=[];return s.push("#version 300 es"),s.push("// Instancing geometry normals vertex shader"),s.push("uniform int renderPass;"),s.push("in vec3 position;"),e.entityOffsetsEnabled&&s.push("in vec3 offset;"),s.push("in vec2 normal;"),s.push("in float flags;"),s.push("in vec4 modelMatrixCol0;"),s.push("in vec4 modelMatrixCol1;"),s.push("in vec4 modelMatrixCol2;"),s.push("in vec4 modelNormalMatrixCol0;"),s.push("in vec4 modelNormalMatrixCol1;"),s.push("in vec4 modelNormalMatrixCol2;"),s.push("uniform bool pickInvisible;"),this._addMatricesUniformBlockLines(s),this._addRemapClipPosLines(s,3),e.logarithmicDepthBufferEnabled&&(s.push("uniform float logDepthBufFC;"),s.push("out float vFragDepth;"),s.push("bool isPerspectiveMatrix(mat4 m) {"),s.push(" return (m[2][3] == - 1.0);"),s.push("}"),s.push("out float isPerspective;")),s.push("vec3 octDecode(vec2 oct) {"),s.push(" vec3 v = vec3(oct.xy, 1.0 - abs(oct.x) - abs(oct.y));"),s.push(" if (v.z < 0.0) {"),s.push(" v.xy = (1.0 - abs(v.yx)) * vec2(v.x >= 0.0 ? 1.0 : -1.0, v.y >= 0.0 ? 1.0 : -1.0);"),s.push(" }"),s.push(" return normalize(v);"),s.push("}"),t&&(s.push("out vec4 vWorldPosition;"),s.push("out float vFlags;")),s.push("out vec3 vWorldNormal;"),s.push("void main(void) {"),s.push("int pickFlag = int(flags) >> 12 & 0xF;"),s.push("if (pickFlag != renderPass) {"),s.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),s.push("} else {"),s.push(" vec4 worldPosition = positionsDecodeMatrix * vec4(position, 1.0); "),s.push(" worldPosition = worldMatrix * vec4(dot(worldPosition, modelMatrixCol0), dot(worldPosition, modelMatrixCol1), dot(worldPosition, modelMatrixCol2), 1.0);"),e.entityOffsetsEnabled&&s.push(" worldPosition.xyz = worldPosition.xyz + offset;"),s.push(" vec4 viewPosition = viewMatrix * worldPosition; "),s.push(" vec4 modelNormal = vec4(octDecode(normal.xy), 0.0); "),s.push(" vec3 worldNormal = vec3(dot(modelNormal, modelNormalMatrixCol0), dot(modelNormal, modelNormalMatrixCol1), dot(modelNormal, modelNormalMatrixCol2));"),s.push(" vWorldNormal = worldNormal;"),t&&(s.push(" vWorldPosition = worldPosition;"),s.push("vFlags = flags;")),s.push("vec4 clipPos = projMatrix * viewPosition;"),e.logarithmicDepthBufferEnabled&&(s.push("vFragDepth = 1.0 + clipPos.w;"),s.push("isPerspective = float (isPerspectiveMatrix(projMatrix));")),s.push("gl_Position = remapClipPos(clipPos);"),s.push("}"),s.push("}"),s}_buildFragmentShader(){const e=this._scene,t=e._sectionPlanesState,s=t.getNumAllocatedSectionPlanes()>0,n=[];if(n.push("#version 300 es"),n.push("// Batched geometry normals fragment shader"),n.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),n.push("precision highp float;"),n.push("precision highp int;"),n.push("#else"),n.push("precision mediump float;"),n.push("precision mediump int;"),n.push("#endif"),e.logarithmicDepthBufferEnabled&&(n.push("in float isPerspective;"),n.push("uniform float logDepthBufFC;"),n.push("in float vFragDepth;")),s){n.push("in vec4 vWorldPosition;"),n.push("in float vFlags;");for(let e=0;e> 16 & 0xF) == 1;"),n.push(" if (clippable) {"),n.push(" float dist = 0.0;");for(var i=0;i 0.0) { discard; }"),n.push("}")}return e.logarithmicDepthBufferEnabled&&n.push(" gl_FragDepth = isPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5;"),n.push(` outNormal = ivec4(vWorldNormal * float(${h.MAX_INT}), 1.0);`),n.push("}"),n}}class ja extends Si{_buildVertexShader(){const e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,s=[];return s.push("#version 300 es"),s.push("// TrianglesInstancingOcclusionRenderer vertex shader"),s.push("uniform int renderPass;"),s.push("in vec3 position;"),e.entityOffsetsEnabled&&s.push("in vec3 offset;"),s.push("in vec4 color;"),s.push("in float flags;"),s.push("in vec4 modelMatrixCol0;"),s.push("in vec4 modelMatrixCol1;"),s.push("in vec4 modelMatrixCol2;"),this._addMatricesUniformBlockLines(s),t&&(s.push("out vec4 vWorldPosition;"),s.push("out float vFlags;")),s.push("void main(void) {"),s.push("int colorFlag = int(flags) & 0xF;"),s.push("if (colorFlag != renderPass) {"),s.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),s.push("} else {"),s.push(" vec4 worldPosition = positionsDecodeMatrix * vec4(position, 1.0); "),s.push(" worldPosition = worldMatrix * vec4(dot(worldPosition, modelMatrixCol0), dot(worldPosition, modelMatrixCol1), dot(worldPosition, modelMatrixCol2), 1.0);"),e.entityOffsetsEnabled&&s.push(" worldPosition.xyz = worldPosition.xyz + offset;"),s.push(" vec4 viewPosition = viewMatrix * worldPosition; "),t&&(s.push(" vWorldPosition = worldPosition;"),s.push("vFlags = flags;")),s.push("vec4 clipPos = projMatrix * viewPosition;"),s.push("gl_Position = clipPos;"),s.push("}"),s.push("}"),s}_buildFragmentShader(){const e=this._scene._sectionPlanesState,t=e.getNumAllocatedSectionPlanes()>0,s=[];if(s.push("#version 300 es"),s.push("// TrianglesInstancingOcclusionRenderer fragment shader"),s.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),s.push("precision highp float;"),s.push("precision highp int;"),s.push("#else"),s.push("precision mediump float;"),s.push("precision mediump int;"),s.push("#endif"),t){s.push("in vec4 vWorldPosition;"),s.push("in float vFlags;");for(let t=0;t> 16 & 0xF) == 1;"),s.push(" if (clippable) {"),s.push(" float dist = 0.0;");for(let t=0;t 0.0) { discard; }"),s.push("}")}return s.push(" outColor = vec4(0.0, 0.0, 1.0, 1.0); "),s.push("}"),s}}class Va extends Si{_buildVertexShader(){const e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,s=[];return s.push("#version 300 es"),s.push("// Instancing geometry depth drawing vertex shader"),s.push("uniform int renderPass;"),s.push("in vec3 position;"),e.entityOffsetsEnabled&&s.push("in vec3 offset;"),s.push("in float flags;"),s.push("in vec4 modelMatrixCol0;"),s.push("in vec4 modelMatrixCol1;"),s.push("in vec4 modelMatrixCol2;"),this._addMatricesUniformBlockLines(s),e.logarithmicDepthBufferEnabled&&(s.push("uniform float logDepthBufFC;"),s.push("out float vFragDepth;"),s.push("bool isPerspectiveMatrix(mat4 m) {"),s.push(" return (m[2][3] == - 1.0);"),s.push("}"),s.push("out float isPerspective;")),t&&(s.push("out vec4 vWorldPosition;"),s.push("out float vFlags;")),s.push("out vec2 vHighPrecisionZW;"),s.push("void main(void) {"),s.push("int colorFlag = int(flags) & 0xF;"),s.push("if (colorFlag != renderPass) {"),s.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),s.push("} else {"),s.push(" vec4 worldPosition = positionsDecodeMatrix * vec4(position, 1.0); "),s.push(" worldPosition = worldMatrix * vec4(dot(worldPosition, modelMatrixCol0), dot(worldPosition, modelMatrixCol1), dot(worldPosition, modelMatrixCol2), 1.0);"),e.entityOffsetsEnabled&&s.push(" worldPosition.xyz = worldPosition.xyz + offset;"),s.push(" vec4 viewPosition = viewMatrix * worldPosition; "),t&&(s.push("vWorldPosition = worldPosition;"),s.push("vFlags = flags;")),s.push("vec4 clipPos = projMatrix * viewPosition;"),e.logarithmicDepthBufferEnabled&&(s.push("vFragDepth = 1.0 + clipPos.w;"),s.push("isPerspective = float (isPerspectiveMatrix(projMatrix));")),s.push("gl_Position = clipPos;"),s.push("vHighPrecisionZW = gl_Position.zw;"),s.push("}"),s.push("}"),s}_buildFragmentShader(){const e=this._scene,t=e._sectionPlanesState;let s,n;const i=t.getNumAllocatedSectionPlanes()>0,a=[];if(a.push("#version 300 es"),a.push("// Instancing geometry depth drawing fragment shader"),a.push("precision highp float;"),a.push("precision highp int;"),e.logarithmicDepthBufferEnabled&&(a.push("in float isPerspective;"),a.push("uniform float logDepthBufFC;"),a.push("in float vFragDepth;")),i)for(a.push("in vec4 vWorldPosition;"),a.push("in float vFlags;"),s=0,n=t.getNumAllocatedSectionPlanes();s> 16 & 0xF) == 1;"),a.push(" if (clippable) {"),a.push(" float dist = 0.0;"),s=0,n=t.getNumAllocatedSectionPlanes();s 0.0) { discard; }"),a.push("}")}return e.logarithmicDepthBufferEnabled&&a.push(" gl_FragDepth = isPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5;"),a.push("float fragCoordZ = 0.5 * vHighPrecisionZW[0] / vHighPrecisionZW[1] + 0.5;"),a.push(" outColor = vec4(vec3(1.0 - fragCoordZ), 1.0); "),a.push("}"),a}}class ka extends Si{_buildVertexShader(){const e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,s=[];return s.push("#version 300 es"),s.push("// Instancing geometry normals drawing vertex shader"),s.push("uniform int renderPass;"),s.push("in vec3 position;"),e.entityOffsetsEnabled&&s.push("in vec3 offset;"),s.push("in vec3 normal;"),s.push("in vec4 color;"),s.push("in float flags;"),s.push("in vec4 modelMatrixCol0;"),s.push("in vec4 modelMatrixCol1;"),s.push("in vec4 modelMatrixCol2;"),this._addMatricesUniformBlockLines(s,!0),e.logarithmicDepthBufferEnabled&&(s.push("uniform float logDepthBufFC;"),s.push("out float vFragDepth;"),s.push("bool isPerspectiveMatrix(mat4 m) {"),s.push(" return (m[2][3] == - 1.0);"),s.push("}"),s.push("out float isPerspective;")),s.push("vec3 octDecode(vec2 oct) {"),s.push(" vec3 v = vec3(oct.xy, 1.0 - abs(oct.x) - abs(oct.y));"),s.push(" if (v.z < 0.0) {"),s.push(" v.xy = (1.0 - abs(v.yx)) * vec2(v.x >= 0.0 ? 1.0 : -1.0, v.y >= 0.0 ? 1.0 : -1.0);"),s.push(" }"),s.push(" return normalize(v);"),s.push("}"),t&&(s.push("out vec4 vWorldPosition;"),s.push("out float vFlags;")),s.push("out vec3 vViewNormal;"),s.push("void main(void) {"),s.push("int colorFlag = int(flags) & 0xF;"),s.push("if (colorFlag != renderPass) {"),s.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),s.push("} else {"),s.push(" vec4 worldPosition = positionsDecodeMatrix * vec4(position, 1.0); "),s.push(" worldPosition = worldMatrix * vec4(dot(worldPosition, modelMatrixCol0), dot(worldPosition, modelMatrixCol1), dot(worldPosition, modelMatrixCol2), 1.0);"),e.entityOffsetsEnabled&&s.push(" worldPosition.xyz = worldPosition.xyz + offset;"),s.push(" vec4 viewPosition = viewMatrix * worldPosition; "),s.push(" vec4 worldNormal = worldNormalMatrix * vec4(octDecode(normal.xy), 0.0); "),s.push(" vec3 viewNormal = normalize((viewNormalMatrix * worldNormal).xyz);"),t&&(s.push("vWorldPosition = worldPosition;"),s.push("vFlags = flags;")),s.push(" vViewNormal = viewNormal;"),s.push("vec4 clipPos = projMatrix * viewPosition;"),e.logarithmicDepthBufferEnabled&&(s.push("vFragDepth = 1.0 + clipPos.w;"),s.push("isPerspective = float (isPerspectiveMatrix(projMatrix));")),s.push("gl_Position = clipPos;"),s.push("}"),s.push("}"),s}_buildFragmentShader(){const e=this._scene,t=e._sectionPlanesState,s=t.getNumAllocatedSectionPlanes()>0,n=[];if(n.push("#version 300 es"),n.push("// Instancing geometry depth drawing fragment shader"),n.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),n.push("precision highp float;"),n.push("precision highp int;"),n.push("#else"),n.push("precision mediump float;"),n.push("precision mediump int;"),n.push("#endif"),e.logarithmicDepthBufferEnabled&&(n.push("in float isPerspective;"),n.push("uniform float logDepthBufFC;"),n.push("in float vFragDepth;")),s){n.push("in vec4 vWorldPosition;"),n.push("in float vFlags;");for(let e=0,s=t.getNumAllocatedSectionPlanes();e> 16 & 0xF) == 1;"),n.push(" if (clippable) {"),n.push(" float dist = 0.0;");for(let e=0,s=t.getNumAllocatedSectionPlanes();e 0.0) { discard; }"),n.push("}")}return e.logarithmicDepthBufferEnabled&&n.push(" gl_FragDepth = isPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5;"),n.push(" outColor = vec4(packNormalToRGB(vViewNormal), 1.0); "),n.push("}"),n}}class Qa extends Si{_buildVertexShader(){const e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,s=[];return s.push("#version 300 es"),s.push("// Instancing geometry shadow drawing vertex shader"),s.push("in vec3 position;"),e.entityOffsetsEnabled&&s.push("in vec3 offset;"),s.push("in vec4 color;"),s.push("in float flags;"),s.push("in vec4 modelMatrixCol0;"),s.push("in vec4 modelMatrixCol1;"),s.push("in vec4 modelMatrixCol2;"),s.push("uniform mat4 shadowViewMatrix;"),s.push("uniform mat4 shadowProjMatrix;"),this._addMatricesUniformBlockLines(s),t&&(s.push("out vec4 vWorldPosition;"),s.push("out float vFlags;")),s.push("void main(void) {"),s.push("int colorFlag = int(flags) & 0xF;"),s.push("bool visible = (colorFlag > 0);"),s.push("bool transparent = ((float(color.a) / 255.0) < 1.0);"),s.push("if (!visible || transparent) {"),s.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),s.push("} else {"),s.push(" vec4 worldPosition = positionsDecodeMatrix * vec4(position, 1.0); "),s.push(" worldPosition = vec4(dot(worldPosition, modelMatrixCol0), dot(worldPosition, modelMatrixCol1), dot(worldPosition, modelMatrixCol2), 1.0);"),e.entityOffsetsEnabled&&s.push(" worldPosition.xyz = worldPosition.xyz + offset;"),s.push(" vec4 viewPosition = shadowViewMatrix * worldPosition; "),t&&(s.push("vWorldPosition = worldPosition;"),s.push("vFlags = flags;")),s.push(" gl_Position = shadowProjMatrix * viewPosition;"),s.push("}"),s.push("}"),s}_buildFragmentShader(){const e=this._scene,t=e._sectionPlanesState,s=t.getNumAllocatedSectionPlanes()>0,n=[];if(n.push("#version 300 es"),n.push("// Instancing geometry depth drawing fragment shader"),n.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),n.push("precision highp float;"),n.push("precision highp int;"),n.push("#else"),n.push("precision mediump float;"),n.push("precision mediump int;"),n.push("#endif"),e.logarithmicDepthBufferEnabled&&(n.push("uniform float logDepthBufFC;"),n.push("in float vFragDepth;")),s){n.push("in vec4 vWorldPosition;"),n.push("in float vFlags;");for(let e=0,s=t.getNumAllocatedSectionPlanes();e> 16 & 0xF) == 1;"),n.push(" if (clippable) {"),n.push(" float dist = 0.0;");for(let e=0,s=t.getNumAllocatedSectionPlanes();e 0.0) { discard; }"),n.push("}")}return e.logarithmicDepthBufferEnabled&&n.push("gl_FragDepth = log2( vFragDepth ) * logDepthBufFC * 0.5;"),n.push(" outColor = vec4(packNormalToRGB(vViewNormal), 1.0); "),n.push("}"),n}}const Wa={3e3:"linearToLinear",3001:"sRGBToLinear"};class za extends Si{_getHash(){const e=this._scene;return[e.gammaOutput,e._lightsState.getHash(),e._sectionPlanesState.getHash(),this._withSAO?"sao":"nosao"].join(";")}drawLayer(e,t,s){super.drawLayer(e,t,s,{incrementDrawState:!0})}_buildVertexShader(){const e=this._scene,t=e._sectionPlanesState,s=e._lightsState,n=t.getNumAllocatedSectionPlanes()>0,i=t.clippingCaps,a=[];return a.push("#version 300 es"),a.push("// Instancing geometry quality drawing vertex shader"),a.push("uniform int renderPass;"),a.push("in vec3 position;"),a.push("in vec3 normal;"),a.push("in vec4 color;"),a.push("in vec2 uv;"),a.push("in vec2 metallicRoughness;"),a.push("in float flags;"),e.entityOffsetsEnabled&&a.push("in vec3 offset;"),a.push("in vec4 modelMatrixCol0;"),a.push("in vec4 modelMatrixCol1;"),a.push("in vec4 modelMatrixCol2;"),a.push("in vec4 modelNormalMatrixCol0;"),a.push("in vec4 modelNormalMatrixCol1;"),a.push("in vec4 modelNormalMatrixCol2;"),this._addMatricesUniformBlockLines(a,!0),a.push("uniform mat3 uvDecodeMatrix;"),e.logarithmicDepthBufferEnabled&&(a.push("uniform float logDepthBufFC;"),a.push("out float vFragDepth;"),a.push("bool isPerspectiveMatrix(mat4 m) {"),a.push(" return (m[2][3] == - 1.0);"),a.push("}"),a.push("out float isPerspective;")),a.push("vec3 octDecode(vec2 oct) {"),a.push(" vec3 v = vec3(oct.xy, 1.0 - abs(oct.x) - abs(oct.y));"),a.push(" if (v.z < 0.0) {"),a.push(" v.xy = (1.0 - abs(v.yx)) * vec2(v.x >= 0.0 ? 1.0 : -1.0, v.y >= 0.0 ? 1.0 : -1.0);"),a.push(" }"),a.push(" return normalize(v);"),a.push("}"),a.push("out vec4 vViewPosition;"),a.push("out vec3 vViewNormal;"),a.push("out vec4 vColor;"),a.push("out vec2 vUV;"),a.push("out vec2 vMetallicRoughness;"),s.lightMaps.length>0&&a.push("out vec3 vWorldNormal;"),n&&(a.push("out vec4 vWorldPosition;"),a.push("out float vFlags;"),i&&a.push("out vec4 vClipPosition;")),a.push("void main(void) {"),a.push("int colorFlag = int(flags) & 0xF;"),a.push("if (colorFlag != renderPass) {"),a.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),a.push("} else {"),a.push("vec4 worldPosition = positionsDecodeMatrix * vec4(position, 1.0); "),a.push("worldPosition = worldMatrix * vec4(dot(worldPosition, modelMatrixCol0), dot(worldPosition, modelMatrixCol1), dot(worldPosition, modelMatrixCol2), 1.0);"),e.entityOffsetsEnabled&&a.push(" worldPosition.xyz = worldPosition.xyz + offset;"),a.push("vec4 viewPosition = viewMatrix * worldPosition; "),a.push("vec4 modelNormal = vec4(octDecode(normal.xy), 0.0); "),a.push("vec4 worldNormal = worldNormalMatrix * vec4(dot(modelNormal, modelNormalMatrixCol0), dot(modelNormal, modelNormalMatrixCol1), dot(modelNormal, modelNormalMatrixCol2), 1.0);"),a.push("vec3 viewNormal = vec4(viewNormalMatrix * worldNormal).xyz;"),a.push("vec4 clipPos = projMatrix * viewPosition;"),e.logarithmicDepthBufferEnabled&&(a.push("vFragDepth = 1.0 + clipPos.w;"),a.push("isPerspective = float (isPerspectiveMatrix(projMatrix));")),n&&(a.push("vWorldPosition = worldPosition;"),a.push("vFlags = flags;"),i&&a.push("vClipPosition = clipPos;")),a.push("vViewPosition = viewPosition;"),a.push("vViewNormal = viewNormal;"),a.push("vColor = color;"),a.push("vUV = (uvDecodeMatrix * vec3(uv, 1.0)).xy;"),a.push("vMetallicRoughness = metallicRoughness;"),s.lightMaps.length>0&&a.push("vWorldNormal = worldNormal.xyz;"),a.push("gl_Position = clipPos;"),a.push("}"),a.push("}"),a}_buildFragmentShader(){const e=this._scene,t=e.gammaOutput,s=e._sectionPlanesState,n=e._lightsState,i=s.getNumAllocatedSectionPlanes()>0,a=s.clippingCaps,r=[];r.push("#version 300 es"),r.push("// Instancing geometry quality drawing fragment shader"),r.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),r.push("precision highp float;"),r.push("precision highp int;"),r.push("#else"),r.push("precision mediump float;"),r.push("precision mediump int;"),r.push("#endif"),e.logarithmicDepthBufferEnabled&&(r.push("in float isPerspective;"),r.push("uniform float logDepthBufFC;"),r.push("in float vFragDepth;")),r.push("uniform sampler2D uColorMap;"),r.push("uniform sampler2D uMetallicRoughMap;"),r.push("uniform sampler2D uEmissiveMap;"),r.push("uniform sampler2D uNormalMap;"),this._withSAO&&(r.push("uniform sampler2D uOcclusionTexture;"),r.push("uniform vec4 uSAOParams;"),r.push("const float packUpscale = 256. / 255.;"),r.push("const float unpackDownScale = 255. / 256.;"),r.push("const vec3 packFactors = vec3( 256. * 256. * 256., 256. * 256., 256. );"),r.push("const vec4 unPackFactors = unpackDownScale / vec4( packFactors, 1. );"),r.push("float unpackRGBToFloat( const in vec4 v ) {"),r.push(" return dot( v, unPackFactors );"),r.push("}")),n.reflectionMaps.length>0&&r.push("uniform samplerCube reflectionMap;"),n.lightMaps.length>0&&r.push("uniform samplerCube lightMap;"),r.push("uniform vec4 lightAmbient;");for(let e=0,t=n.lights.length;e0&&r.push("in vec3 vWorldNormal;"),this._addMatricesUniformBlockLines(r,!0),r.push("#define PI 3.14159265359"),r.push("#define RECIPROCAL_PI 0.31830988618"),r.push("#define RECIPROCAL_PI2 0.15915494"),r.push("#define EPSILON 1e-6"),r.push("#define saturate(a) clamp( a, 0.0, 1.0 )"),r.push("vec3 perturbNormal2Arb( vec3 eye_pos, vec3 surf_norm, vec2 uv ) {"),r.push(" vec3 texel = texture( uNormalMap, uv ).xyz;"),r.push(" if (texel.r == 0.0 && texel.g == 0.0 && texel.b == 0.0) {"),r.push(" return normalize(surf_norm );"),r.push(" }"),r.push(" vec3 q0 = vec3( dFdx( eye_pos.x ), dFdx( eye_pos.y ), dFdx( eye_pos.z ) );"),r.push(" vec3 q1 = vec3( dFdy( eye_pos.x ), dFdy( eye_pos.y ), dFdy( eye_pos.z ) );"),r.push(" vec2 st0 = dFdx( uv.st );"),r.push(" vec2 st1 = dFdy( uv.st );"),r.push(" vec3 S = normalize( q0 * st1.t - q1 * st0.t );"),r.push(" vec3 T = normalize( -q0 * st1.s + q1 * st0.s );"),r.push(" vec3 N = normalize( surf_norm );"),r.push(" vec3 mapN = texel.xyz * 2.0 - 1.0;"),r.push(" mat3 tsn = mat3( S, T, N );"),r.push(" return normalize( tsn * mapN );"),r.push("}"),r.push("vec3 inverseTransformDirection(in vec3 dir, in mat4 matrix) {"),r.push(" return normalize( ( vec4( dir, 0.0 ) * matrix ).xyz );"),r.push("}"),r.push("struct IncidentLight {"),r.push(" vec3 color;"),r.push(" vec3 direction;"),r.push("};"),r.push("struct ReflectedLight {"),r.push(" vec3 diffuse;"),r.push(" vec3 specular;"),r.push("};"),r.push("struct Geometry {"),r.push(" vec3 position;"),r.push(" vec3 viewNormal;"),r.push(" vec3 worldNormal;"),r.push(" vec3 viewEyeDir;"),r.push("};"),r.push("struct Material {"),r.push(" vec3 diffuseColor;"),r.push(" float specularRoughness;"),r.push(" vec3 specularColor;"),r.push(" float shine;"),r.push("};"),r.push("float GGXRoughnessToBlinnExponent(const in float ggxRoughness) {"),r.push(" float r = ggxRoughness + 0.0001;"),r.push(" return (2.0 / (r * r) - 2.0);"),r.push("}"),r.push("float getSpecularMIPLevel(const in float blinnShininessExponent, const in int maxMIPLevel) {"),r.push(" float maxMIPLevelScalar = float( maxMIPLevel );"),r.push(" float desiredMIPLevel = maxMIPLevelScalar - 0.79248 - 0.5 * log2( ( blinnShininessExponent * blinnShininessExponent ) + 1.0 );"),r.push(" return clamp( desiredMIPLevel, 0.0, maxMIPLevelScalar );"),r.push("}"),n.reflectionMaps.length>0&&(r.push("vec3 getLightProbeIndirectRadiance(const in vec3 reflectVec, const in float blinnShininessExponent, const in int maxMIPLevel) {"),r.push(" float mipLevel = 0.5 * getSpecularMIPLevel(blinnShininessExponent, maxMIPLevel);"),r.push(" vec3 envMapColor = "+Wa[n.reflectionMaps[0].encoding]+"(texture(reflectionMap, reflectVec, mipLevel)).rgb;"),r.push(" return envMapColor;"),r.push("}")),r.push("vec3 F_Schlick(const in vec3 specularColor, const in float dotLH) {"),r.push(" float fresnel = exp2( ( -5.55473 * dotLH - 6.98316 ) * dotLH );"),r.push(" return ( 1.0 - specularColor ) * fresnel + specularColor;"),r.push("}"),r.push("float G_GGX_Smith(const in float alpha, const in float dotNL, const in float dotNV) {"),r.push(" float a2 = ( alpha * alpha );"),r.push(" float gl = dotNL + sqrt( a2 + ( 1.0 - a2 ) * ( dotNL * dotNL ) );"),r.push(" float gv = dotNV + sqrt( a2 + ( 1.0 - a2 ) * ( dotNV * dotNV ) );"),r.push(" return 1.0 / ( gl * gv );"),r.push("}"),r.push("float G_GGX_SmithCorrelated(const in float alpha, const in float dotNL, const in float dotNV) {"),r.push(" float a2 = ( alpha * alpha );"),r.push(" float gv = dotNL * sqrt( a2 + ( 1.0 - a2 ) * ( dotNV * dotNV ) );"),r.push(" float gl = dotNV * sqrt( a2 + ( 1.0 - a2 ) * ( dotNL * dotNL ) );"),r.push(" return 0.5 / max( gv + gl, EPSILON );"),r.push("}"),r.push("float D_GGX(const in float alpha, const in float dotNH) {"),r.push(" float a2 = ( alpha * alpha );"),r.push(" float denom = ( dotNH * dotNH) * ( a2 - 1.0 ) + 1.0;"),r.push(" return RECIPROCAL_PI * a2 / ( denom * denom);"),r.push("}"),r.push("vec3 BRDF_Specular_GGX(const in IncidentLight incidentLight, const in Geometry geometry, const in vec3 specularColor, const in float roughness) {"),r.push(" float alpha = ( roughness * roughness );"),r.push(" vec3 halfDir = normalize( incidentLight.direction + geometry.viewEyeDir );"),r.push(" float dotNL = saturate( dot( geometry.viewNormal, incidentLight.direction ) );"),r.push(" float dotNV = saturate( dot( geometry.viewNormal, geometry.viewEyeDir ) );"),r.push(" float dotNH = saturate( dot( geometry.viewNormal, halfDir ) );"),r.push(" float dotLH = saturate( dot( incidentLight.direction, halfDir ) );"),r.push(" vec3 F = F_Schlick( specularColor, dotLH );"),r.push(" float G = G_GGX_SmithCorrelated( alpha, dotNL, dotNV );"),r.push(" float D = D_GGX( alpha, dotNH );"),r.push(" return F * (G * D);"),r.push("}"),r.push("vec3 BRDF_Specular_GGX_Environment(const in Geometry geometry, const in vec3 specularColor, const in float roughness) {"),r.push(" float dotNV = saturate(dot(geometry.viewNormal, geometry.viewEyeDir));"),r.push(" const vec4 c0 = vec4( -1, -0.0275, -0.572, 0.022);"),r.push(" const vec4 c1 = vec4( 1, 0.0425, 1.04, -0.04);"),r.push(" vec4 r = roughness * c0 + c1;"),r.push(" float a004 = min(r.x * r.x, exp2(-9.28 * dotNV)) * r.x + r.y;"),r.push(" vec2 AB = vec2(-1.04, 1.04) * a004 + r.zw;"),r.push(" return specularColor * AB.x + AB.y;"),r.push("}"),(n.lightMaps.length>0||n.reflectionMaps.length>0)&&(r.push("void computePBRLightMapping(const in Geometry geometry, const in Material material, inout ReflectedLight reflectedLight) {"),n.lightMaps.length>0&&(r.push(" vec3 irradiance = "+Wa[n.lightMaps[0].encoding]+"(texture(lightMap, geometry.worldNormal)).rgb;"),r.push(" irradiance *= PI;"),r.push(" vec3 diffuseBRDFContrib = (RECIPROCAL_PI * material.diffuseColor);"),r.push(" reflectedLight.diffuse += irradiance * diffuseBRDFContrib;")),n.reflectionMaps.length>0&&(r.push(" vec3 reflectVec = reflect(geometry.viewEyeDir, geometry.viewNormal);"),r.push(" reflectVec = inverseTransformDirection(reflectVec, viewMatrix);"),r.push(" float blinnExpFromRoughness = GGXRoughnessToBlinnExponent(material.specularRoughness);"),r.push(" vec3 radiance = getLightProbeIndirectRadiance(reflectVec, blinnExpFromRoughness, 8);"),r.push(" vec3 specularBRDFContrib = BRDF_Specular_GGX_Environment(geometry, material.specularColor, material.specularRoughness);"),r.push(" reflectedLight.specular += radiance * specularBRDFContrib;")),r.push("}")),r.push("void computePBRLighting(const in IncidentLight incidentLight, const in Geometry geometry, const in Material material, inout ReflectedLight reflectedLight) {"),r.push(" float dotNL = saturate(dot(geometry.viewNormal, incidentLight.direction));"),r.push(" vec3 irradiance = dotNL * incidentLight.color * PI;"),r.push(" reflectedLight.diffuse += irradiance * (RECIPROCAL_PI * material.diffuseColor);"),r.push(" reflectedLight.specular += irradiance * BRDF_Specular_GGX(incidentLight, geometry, material.specularColor, material.specularRoughness);"),r.push("}"),r.push("out vec4 outColor;"),r.push("void main(void) {"),i){r.push(" bool clippable = (int(vFlags) >> 16 & 0xF) == 1;"),r.push(" if (clippable) {"),r.push(" float dist = 0.0;");for(let e=0,t=s.getNumAllocatedSectionPlanes();e (0.002 * vClipPosition.w)) {"),r.push(" discard;"),r.push(" }"),r.push(" if (dist > 0.0) { "),r.push(" outColor=vec4(1.0, 0.0, 0.0, 1.0);"),e.logarithmicDepthBufferEnabled&&r.push(" gl_FragDepth = log2( vFragDepth ) * logDepthBufFC * 0.5;"),r.push(" return;"),r.push("}")):(r.push(" if (dist > 0.0) { "),r.push(" discard;"),r.push(" }")),r.push("}")}r.push("IncidentLight light;"),r.push("Material material;"),r.push("Geometry geometry;"),r.push("ReflectedLight reflectedLight = ReflectedLight(vec3(0.0,0.0,0.0), vec3(0.0,0.0,0.0));"),r.push("vec3 rgb = (vec3(float(vColor.r) / 255.0, float(vColor.g) / 255.0, float(vColor.b) / 255.0));"),r.push("float opacity = float(vColor.a) / 255.0;"),r.push("vec3 baseColor = rgb;"),r.push("float specularF0 = 1.0;"),r.push("float metallic = float(vMetallicRoughness.r) / 255.0;"),r.push("float roughness = float(vMetallicRoughness.g) / 255.0;"),r.push("float dielectricSpecular = 0.16 * specularF0 * specularF0;"),r.push("vec4 colorTexel = sRGBToLinear(texture(uColorMap, vUV));"),r.push("baseColor *= colorTexel.rgb;"),r.push("vec3 metalRoughTexel = texture(uMetallicRoughMap, vUV).rgb;"),r.push("metallic *= metalRoughTexel.b;"),r.push("roughness *= metalRoughTexel.g;"),r.push("vec3 viewNormal = perturbNormal2Arb( vViewPosition.xyz, normalize(vViewNormal), vUV );"),r.push("material.diffuseColor = baseColor * (1.0 - dielectricSpecular) * (1.0 - metallic);"),r.push("material.specularRoughness = clamp(roughness, 0.04, 1.0);"),r.push("material.specularColor = mix(vec3(dielectricSpecular), baseColor, metallic);"),r.push("geometry.position = vViewPosition.xyz;"),r.push("geometry.viewNormal = -normalize(viewNormal);"),r.push("geometry.viewEyeDir = normalize(vViewPosition.xyz);"),n.lightMaps.length>0&&r.push("geometry.worldNormal = normalize(vWorldNormal);"),(n.lightMaps.length>0||n.reflectionMaps.length>0)&&r.push("computePBRLightMapping(geometry, material, reflectedLight);");for(let e=0,t=n.lights.length;e0,s=[];return s.push("#version 300 es"),s.push("// Instancing geometry normals vertex shader"),s.push("uniform int renderPass;"),s.push("in vec3 position;"),e.entityOffsetsEnabled&&s.push("in vec3 offset;"),s.push("in float flags;"),s.push("in vec4 modelMatrixCol0;"),s.push("in vec4 modelMatrixCol1;"),s.push("in vec4 modelMatrixCol2;"),s.push("uniform bool pickInvisible;"),this._addMatricesUniformBlockLines(s),this._addRemapClipPosLines(s,3),e.logarithmicDepthBufferEnabled&&(s.push("uniform float logDepthBufFC;"),s.push("out float vFragDepth;"),s.push("bool isPerspectiveMatrix(mat4 m) {"),s.push(" return (m[2][3] == - 1.0);"),s.push("}"),s.push("out float isPerspective;")),t&&s.push("out float vFlags;"),s.push("out vec4 vWorldPosition;"),s.push("void main(void) {"),s.push("int pickFlag = int(flags) >> 12 & 0xF;"),s.push("if (pickFlag != renderPass) {"),s.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),s.push("} else {"),s.push(" vec4 worldPosition = positionsDecodeMatrix * vec4(position, 1.0); "),s.push(" worldPosition = worldMatrix * vec4(dot(worldPosition, modelMatrixCol0), dot(worldPosition, modelMatrixCol1), dot(worldPosition, modelMatrixCol2), 1.0);"),e.entityOffsetsEnabled&&s.push(" worldPosition.xyz = worldPosition.xyz + offset;"),s.push(" vec4 viewPosition = viewMatrix * worldPosition; "),s.push(" vWorldPosition = worldPosition;"),s.push("vec4 clipPos = projMatrix * viewPosition;"),e.logarithmicDepthBufferEnabled&&(s.push("vFragDepth = 1.0 + clipPos.w;"),s.push("isPerspective = float (isPerspectiveMatrix(projMatrix));")),t&&s.push("vFlags = flags;"),s.push("gl_Position = remapClipPos(clipPos);"),s.push("}"),s.push("}"),s}_buildFragmentShader(){const e=this._scene,t=e._sectionPlanesState,s=t.getNumAllocatedSectionPlanes()>0,n=[];if(n.push("#version 300 es"),n.push("// Batched geometry normals fragment shader"),n.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),n.push("precision highp float;"),n.push("precision highp int;"),n.push("#else"),n.push("precision mediump float;"),n.push("precision mediump int;"),n.push("#endif"),e.logarithmicDepthBufferEnabled&&(n.push("in float isPerspective;"),n.push("uniform float logDepthBufFC;"),n.push("in float vFragDepth;")),n.push("in vec4 vWorldPosition;"),s){n.push("in float vFlags;");for(let e=0;e> 16 & 0xF) == 1;"),n.push(" if (clippable) {"),n.push(" float dist = 0.0;");for(var i=0;i 0.0) { discard; }"),n.push("}")}return e.logarithmicDepthBufferEnabled&&n.push(" gl_FragDepth = isPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5;"),n.push(" vec3 xTangent = dFdx( vWorldPosition.xyz );"),n.push(" vec3 yTangent = dFdy( vWorldPosition.xyz );"),n.push(" vec3 worldNormal = normalize( cross( xTangent, yTangent ) );"),n.push(` outNormal = ivec4(worldNormal * float(${h.MAX_INT}), 1.0);`),n.push("}"),n}}class Ya extends Si{_getHash(){const e=this._scene;return[e.gammaOutput,e._lightsState.getHash(),e._sectionPlanesState.getHash(),this._withSAO?"sao":"nosao"].join(";")}drawLayer(e,t,s){super.drawLayer(e,t,s,{incrementDrawState:!0})}_buildVertexShader(){const e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,s=[];return s.push("#version 300 es"),s.push("// Instancing geometry drawing vertex shader"),s.push("uniform int renderPass;"),s.push("in vec3 position;"),s.push("in vec4 color;"),s.push("in vec2 uv;"),s.push("in float flags;"),e.entityOffsetsEnabled&&s.push("in vec3 offset;"),s.push("in vec4 modelMatrixCol0;"),s.push("in vec4 modelMatrixCol1;"),s.push("in vec4 modelMatrixCol2;"),this._addMatricesUniformBlockLines(s),s.push("uniform mat3 uvDecodeMatrix;"),e.logarithmicDepthBufferEnabled&&(s.push("uniform float logDepthBufFC;"),s.push("out float vFragDepth;"),s.push("bool isPerspectiveMatrix(mat4 m) {"),s.push(" return (m[2][3] == - 1.0);"),s.push("}"),s.push("out float isPerspective;")),t&&(s.push("out vec4 vWorldPosition;"),s.push("out float vFlags;")),s.push("out vec4 vViewPosition;"),s.push("out vec4 vColor;"),s.push("out vec2 vUV;"),s.push("void main(void) {"),s.push("int colorFlag = int(flags) & 0xF;"),s.push("if (colorFlag != renderPass) {"),s.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),s.push("} else {"),s.push("vec4 worldPosition = positionsDecodeMatrix * vec4(position, 1.0); "),s.push("worldPosition = worldMatrix * vec4(dot(worldPosition, modelMatrixCol0), dot(worldPosition, modelMatrixCol1), dot(worldPosition, modelMatrixCol2), 1.0);"),e.entityOffsetsEnabled&&s.push(" worldPosition.xyz = worldPosition.xyz + offset;"),s.push("vec4 viewPosition = viewMatrix * worldPosition; "),s.push("vViewPosition = viewPosition;"),s.push("vColor = vec4(float(color.r) / 255.0, float(color.g) / 255.0, float(color.b) / 255.0, float(color.a) / 255.0);"),s.push("vUV = (uvDecodeMatrix * vec3(uv, 1.0)).xy;"),s.push("vec4 clipPos = projMatrix * viewPosition;"),e.logarithmicDepthBufferEnabled&&(s.push("vFragDepth = 1.0 + clipPos.w;"),s.push("isPerspective = float (isPerspectiveMatrix(projMatrix));")),t&&(s.push("vWorldPosition = worldPosition;"),s.push("vFlags = flags;")),s.push("gl_Position = clipPos;"),s.push("}"),s.push("}"),s}_buildFragmentShader(){const e=this._scene,t=e.gammaOutput,s=e._sectionPlanesState,n=e._lightsState;let i,a;const r=s.getNumAllocatedSectionPlanes()>0,l=[];if(l.push("#version 300 es"),l.push("// Instancing geometry drawing fragment shader"),l.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),l.push("precision highp float;"),l.push("precision highp int;"),l.push("#else"),l.push("precision mediump float;"),l.push("precision mediump int;"),l.push("#endif"),e.logarithmicDepthBufferEnabled&&(l.push("in float isPerspective;"),l.push("uniform float logDepthBufFC;"),l.push("in float vFragDepth;")),l.push("uniform sampler2D uColorMap;"),this._withSAO&&(l.push("uniform sampler2D uOcclusionTexture;"),l.push("uniform vec4 uSAOParams;"),l.push("const float packUpscale = 256. / 255.;"),l.push("const float unpackDownScale = 255. / 256.;"),l.push("const vec3 packFactors = vec3( 256. * 256. * 256., 256. * 256., 256. );"),l.push("const vec4 unPackFactors = unpackDownScale / vec4( packFactors, 1. );"),l.push("float unpackRGBToFloat( const in vec4 v ) {"),l.push(" return dot( v, unPackFactors );"),l.push("}")),l.push("uniform float gammaFactor;"),l.push("vec4 linearToLinear( in vec4 value ) {"),l.push(" return value;"),l.push("}"),l.push("vec4 sRGBToLinear( in vec4 value ) {"),l.push(" return vec4( mix( pow( value.rgb * 0.9478672986 + vec3( 0.0521327014 ), vec3( 2.4 ) ), value.rgb * 0.0773993808, vec3( lessThanEqual( value.rgb, vec3( 0.04045 ) ) ) ), value.w );"),l.push("}"),l.push("vec4 gammaToLinear( in vec4 value) {"),l.push(" return vec4( pow( value.xyz, vec3( gammaFactor ) ), value.w );"),l.push("}"),t&&(l.push("vec4 linearToGamma( in vec4 value, in float gammaFactor ) {"),l.push(" return vec4( pow( value.xyz, vec3( 1.0 / gammaFactor ) ), value.w );"),l.push("}")),r){l.push("in vec4 vWorldPosition;"),l.push("in float vFlags;");for(let e=0,t=s.getNumAllocatedSectionPlanes();e> 16 & 0xF) == 1;"),l.push(" if (clippable) {"),l.push(" float dist = 0.0;");for(let e=0,t=s.getNumAllocatedSectionPlanes();e 0.0) { "),l.push(" discard;"),l.push(" }"),l.push("}")}for(l.push("vec3 reflectedColor = vec3(0.0, 0.0, 0.0);"),l.push("vec3 viewLightDir = vec3(0.0, 0.0, -1.0);"),l.push("float lambertian = 1.0;"),l.push("vec3 xTangent = dFdx( vViewPosition.xyz );"),l.push("vec3 yTangent = dFdy( vViewPosition.xyz );"),l.push("vec3 viewNormal = normalize( cross( xTangent, yTangent ) );"),i=0,a=n.lights.length;i0,s=[];return s.push("#version 300 es"),s.push("// SnapInstancingDepthBufInitRenderer vertex shader"),s.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),s.push("precision highp float;"),s.push("precision highp int;"),s.push("precision highp usampler2D;"),s.push("precision highp isampler2D;"),s.push("precision highp sampler2D;"),s.push("#else"),s.push("precision mediump float;"),s.push("precision mediump int;"),s.push("precision mediump usampler2D;"),s.push("precision mediump isampler2D;"),s.push("precision mediump sampler2D;"),s.push("#endif"),s.push("uniform int renderPass;"),s.push("in vec4 pickColor;"),s.push("in vec3 position;"),e.entityOffsetsEnabled&&s.push("in vec3 offset;"),s.push("in float flags;"),s.push("in vec4 modelMatrixCol0;"),s.push("in vec4 modelMatrixCol1;"),s.push("in vec4 modelMatrixCol2;"),s.push("uniform bool pickInvisible;"),this._addMatricesUniformBlockLines(s),s.push("uniform vec3 uCameraEyeRtc;"),s.push("uniform vec2 snapVectorA;"),s.push("uniform vec2 snapInvVectorAB;"),s.push("uniform float logDepthBufFC;"),s.push("out float vFragDepth;"),s.push("bool isPerspectiveMatrix(mat4 m) {"),s.push(" return (m[2][3] == - 1.0);"),s.push("}"),s.push("out float isPerspective;"),s.push("vec2 remapClipPos(vec2 clipPos) {"),s.push(" float x = (clipPos.x - snapVectorA.x) * snapInvVectorAB.x;"),s.push(" float y = (clipPos.y - snapVectorA.y) * snapInvVectorAB.y;"),s.push(" return vec2(x, y);"),s.push("}"),s.push("flat out vec4 vPickColor;"),s.push("out vec4 vWorldPosition;"),t&&s.push("out float vFlags;"),s.push("out highp vec3 relativeToOriginPosition;"),s.push("void main(void) {"),s.push("int pickFlag = int(flags) >> 12 & 0xF;"),s.push("if (pickFlag != renderPass) {"),s.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),s.push("} else {"),s.push(" vec4 worldPosition = positionsDecodeMatrix * vec4(position, 1.0); "),s.push(" worldPosition = worldMatrix * vec4(dot(worldPosition, modelMatrixCol0), dot(worldPosition, modelMatrixCol1), dot(worldPosition, modelMatrixCol2), 1.0);"),e.entityOffsetsEnabled&&s.push(" worldPosition.xyz = worldPosition.xyz + offset;"),s.push("relativeToOriginPosition = worldPosition.xyz;"),s.push(" vec4 viewPosition = viewMatrix * worldPosition; "),s.push(" vWorldPosition = worldPosition;"),t&&s.push(" vFlags = flags;"),s.push("vPickColor = pickColor;"),s.push("vec4 clipPos = projMatrix * viewPosition;"),s.push("float tmp = clipPos.w;"),s.push("clipPos.xyzw /= tmp;"),s.push("clipPos.xy = remapClipPos(clipPos.xy);"),s.push("clipPos.xyzw *= tmp;"),s.push("vFragDepth = 1.0 + clipPos.w;"),s.push("isPerspective = float (isPerspectiveMatrix(projMatrix));"),s.push("gl_Position = clipPos;"),s.push("}"),s.push("}"),s}_buildFragmentShader(){const e=this._scene._sectionPlanesState,t=e.getNumAllocatedSectionPlanes()>0,s=[];if(s.push("#version 300 es"),s.push("// Points instancing pick depth fragment shader"),s.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),s.push("precision highp float;"),s.push("precision highp int;"),s.push("#else"),s.push("precision mediump float;"),s.push("precision mediump int;"),s.push("#endif"),s.push("in float isPerspective;"),s.push("uniform float logDepthBufFC;"),s.push("in float vFragDepth;"),s.push("uniform int layerNumber;"),s.push("uniform vec3 coordinateScaler;"),s.push("in vec4 vWorldPosition;"),s.push("flat in vec4 vPickColor;"),t){s.push("in float vFlags;");for(let t=0;t> 16 & 0xF) == 1;"),s.push(" if (clippable) {"),s.push(" float dist = 0.0;");for(let t=0;t 0.0) { discard; }"),s.push("}")}return s.push(" float dx = dFdx(vFragDepth);"),s.push(" float dy = dFdy(vFragDepth);"),s.push(" float diff = sqrt(dx*dx+dy*dy);"),s.push(" gl_FragDepth = isPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth + diff ) * logDepthBufFC * 0.5;"),s.push("outCoords = ivec4(relativeToOriginPosition.xyz*coordinateScaler.xyz, -layerNumber);"),s.push("vec3 xTangent = dFdx( vWorldPosition.xyz );"),s.push("vec3 yTangent = dFdy( vWorldPosition.xyz );"),s.push("vec3 worldNormal = normalize( cross( xTangent, yTangent ) );"),s.push(`outNormal = ivec4(worldNormal * float(${h.MAX_INT}), 1.0);`),s.push("outPickColor = uvec4(vPickColor);"),s.push("}"),s}webglContextRestored(){this._program=null}destroy(){this._program&&this._program.destroy(),this._program=null}}const nr=h.vec3(),ir=h.vec3(),ar=h.vec3(),rr=h.vec3(),lr=h.mat4();class or extends _i{constructor(e){super(e,!1,{instancing:!0})}drawLayer(e,t,s){if(!this._program&&(this._allocate(t),this.errors))return;e.lastProgramId!==this._program.id&&(e.lastProgramId=this._program.id,this._bindProgram());const n=t.model,i=n.scene,a=i.camera,r=i.canvas.gl,l=t._state,o=t._state.origin,{position:c,rotationMatrix:u,rotationMatrixConjugate:p}=n,A=t.aabb,d=e.pickViewMatrix||a.viewMatrix;this._vaoCache.has(t)?r.bindVertexArray(this._vaoCache.get(t)):this._vaoCache.set(t,this._makeVAO(l));const f=nr;let I,y;if(f[0]=h.safeInv(A[3]-A[0])*h.MAX_INT,f[1]=h.safeInv(A[4]-A[1])*h.MAX_INT,f[2]=h.safeInv(A[5]-A[2])*h.MAX_INT,e.snapPickCoordinateScale[0]=h.safeInv(f[0]),e.snapPickCoordinateScale[1]=h.safeInv(f[1]),e.snapPickCoordinateScale[2]=h.safeInv(f[2]),o||0!==c[0]||0!==c[1]||0!==c[2]){const t=ir;if(o){const e=h.transformPoint3(u,o,ar);t[0]=e[0],t[1]=e[1],t[2]=e[2]}else t[0]=0,t[1]=0,t[2]=0;t[0]+=c[0],t[1]+=c[1],t[2]+=c[2],I=G(d,t,lr),y=rr,y[0]=a.eye[0]-t[0],y[1]=a.eye[1]-t[1],y[2]=a.eye[2]-t[2],e.snapPickOrigin[0]=t[0],e.snapPickOrigin[1]=t[1],e.snapPickOrigin[2]=t[2]}else I=d,y=a.eye,e.snapPickOrigin[0]=0,e.snapPickOrigin[1]=0,e.snapPickOrigin[2]=0;r.uniform3fv(this._uCameraEyeRtc,y),r.uniform2fv(this.uVectorA,e.snapVectorA),r.uniform2fv(this.uInverseVectorAB,e.snapInvVectorAB),r.uniform1i(this._uLayerNumber,e.snapPickLayerNumber),r.uniform3fv(this._uCoordinateScaler,f),r.uniform1i(this._uRenderPass,s),r.uniform1i(this._uPickInvisible,e.pickInvisible);let m=0;this._matricesUniformBlockBufferData.set(p,0),this._matricesUniformBlockBufferData.set(I,m+=16),this._matricesUniformBlockBufferData.set(a.projMatrix,m+=16),this._matricesUniformBlockBufferData.set(l.positionsDecodeMatrix,m+=16),r.bindBuffer(r.UNIFORM_BUFFER,this._matricesUniformBlockBuffer),r.bufferData(r.UNIFORM_BUFFER,this._matricesUniformBlockBufferData,r.DYNAMIC_DRAW),r.bindBufferBase(r.UNIFORM_BUFFER,this._matricesUniformBlockBufferBindingPoint,this._matricesUniformBlockBuffer);{const t=2/(Math.log(e.pickZFar+1)/Math.LN2);r.uniform1f(this._uLogDepthBufFC,t)}this.setSectionPlanesStateUniforms(t),this._aModelMatrixCol0.bindArrayBuffer(l.modelMatrixCol0Buf),this._aModelMatrixCol1.bindArrayBuffer(l.modelMatrixCol1Buf),this._aModelMatrixCol2.bindArrayBuffer(l.modelMatrixCol2Buf),r.vertexAttribDivisor(this._aModelMatrixCol0.location,1),r.vertexAttribDivisor(this._aModelMatrixCol1.location,1),r.vertexAttribDivisor(this._aModelMatrixCol2.location,1),this._aFlags.bindArrayBuffer(l.flagsBuf),r.vertexAttribDivisor(this._aFlags.location,1),"edge"===e.snapMode?(l.edgeIndicesBuf.bind(),r.drawElementsInstanced(r.LINES,l.edgeIndicesBuf.numItems,l.edgeIndicesBuf.itemType,0,l.numInstances),l.edgeIndicesBuf.unbind()):r.drawArraysInstanced(r.POINTS,0,l.positionsBuf.numItems,l.numInstances),r.vertexAttribDivisor(this._aModelMatrixCol0.location,0),r.vertexAttribDivisor(this._aModelMatrixCol1.location,0),r.vertexAttribDivisor(this._aModelMatrixCol2.location,0),r.vertexAttribDivisor(this._aFlags.location,0),this._aOffset&&r.vertexAttribDivisor(this._aOffset.location,0)}_allocate(){super._allocate();const e=this._program;this._uLogDepthBufFC=e.getLocation("logDepthBufFC"),this._uCameraEyeRtc=e.getLocation("uCameraEyeRtc"),this.uVectorA=e.getLocation("snapVectorA"),this.uInverseVectorAB=e.getLocation("snapInvVectorAB"),this._uLayerNumber=e.getLocation("layerNumber"),this._uCoordinateScaler=e.getLocation("coordinateScaler")}_bindProgram(){this._program.bind()}_buildVertexShader(){const e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,s=[];return s.push("#version 300 es"),s.push("// SnapInstancingDepthRenderer vertex shader"),s.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),s.push("precision highp float;"),s.push("precision highp int;"),s.push("precision highp usampler2D;"),s.push("precision highp isampler2D;"),s.push("precision highp sampler2D;"),s.push("#else"),s.push("precision mediump float;"),s.push("precision mediump int;"),s.push("precision mediump usampler2D;"),s.push("precision mediump isampler2D;"),s.push("precision mediump sampler2D;"),s.push("#endif"),s.push("uniform int renderPass;"),s.push("in vec3 position;"),e.entityOffsetsEnabled&&s.push("in vec3 offset;"),s.push("in float flags;"),s.push("in vec4 modelMatrixCol0;"),s.push("in vec4 modelMatrixCol1;"),s.push("in vec4 modelMatrixCol2;"),s.push("uniform bool pickInvisible;"),this._addMatricesUniformBlockLines(s),s.push("uniform vec3 uCameraEyeRtc;"),s.push("uniform vec2 snapVectorA;"),s.push("uniform vec2 snapInvVectorAB;"),s.push("uniform float logDepthBufFC;"),s.push("out float vFragDepth;"),s.push("bool isPerspectiveMatrix(mat4 m) {"),s.push(" return (m[2][3] == - 1.0);"),s.push("}"),s.push("out float isPerspective;"),s.push("vec2 remapClipPos(vec2 clipPos) {"),s.push(" float x = (clipPos.x - snapVectorA.x) * snapInvVectorAB.x;"),s.push(" float y = (clipPos.y - snapVectorA.y) * snapInvVectorAB.y;"),s.push(" return vec2(x, y);"),s.push("}"),t&&(s.push("out vec4 vWorldPosition;"),s.push("out float vFlags;")),s.push("out highp vec3 relativeToOriginPosition;"),s.push("void main(void) {"),s.push("int pickFlag = int(flags) >> 12 & 0xF;"),s.push("if (pickFlag != renderPass) {"),s.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),s.push("} else {"),s.push(" vec4 worldPosition = positionsDecodeMatrix * vec4(position, 1.0); "),s.push(" worldPosition = worldMatrix * vec4(dot(worldPosition, modelMatrixCol0), dot(worldPosition, modelMatrixCol1), dot(worldPosition, modelMatrixCol2), 1.0);"),e.entityOffsetsEnabled&&s.push(" worldPosition.xyz = worldPosition.xyz + offset;"),s.push("relativeToOriginPosition = worldPosition.xyz;"),s.push(" vec4 viewPosition = viewMatrix * worldPosition; "),t&&(s.push(" vWorldPosition = worldPosition;"),s.push(" vFlags = flags;")),s.push("vec4 clipPos = projMatrix * viewPosition;"),s.push("float tmp = clipPos.w;"),s.push("clipPos.xyzw /= tmp;"),s.push("clipPos.xy = remapClipPos(clipPos.xy);"),s.push("clipPos.xyzw *= tmp;"),s.push("vFragDepth = 1.0 + clipPos.w;"),s.push("isPerspective = float (isPerspectiveMatrix(projMatrix));"),s.push("gl_Position = clipPos;"),s.push("gl_PointSize = 1.0;"),s.push("}"),s.push("}"),s}_buildFragmentShader(){const e=this._scene._sectionPlanesState,t=e.getNumAllocatedSectionPlanes()>0,s=[];if(s.push("#version 300 es"),s.push("// SnapInstancingDepthRenderer fragment shader"),s.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),s.push("precision highp float;"),s.push("precision highp int;"),s.push("#else"),s.push("precision mediump float;"),s.push("precision mediump int;"),s.push("#endif"),s.push("in float isPerspective;"),s.push("uniform float logDepthBufFC;"),s.push("in float vFragDepth;"),s.push("uniform int layerNumber;"),s.push("uniform vec3 coordinateScaler;"),t){s.push("in vec4 vWorldPosition;"),s.push("in float vFlags;");for(let t=0;t> 16 & 0xF) == 1;"),s.push(" if (clippable) {"),s.push(" float dist = 0.0;");for(let t=0;t 0.0) { discard; }"),s.push("}")}return s.push(" gl_FragDepth = isPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5;"),s.push("outCoords = ivec4(relativeToOriginPosition.xyz*coordinateScaler.xyz, layerNumber);"),s.push("}"),s}webglContextRestored(){this._program=null}destroy(){this._program&&this._program.destroy(),this._program=null}}class cr{constructor(e){this._scene=e}_compile(){this._snapDepthBufInitRenderer&&!this._snapDepthBufInitRenderer.getValid()&&(this._snapDepthBufInitRenderer.destroy(),this._snapDepthBufInitRenderer=null),this._snapDepthRenderer&&!this._snapDepthRenderer.getValid()&&(this._snapDepthRenderer.destroy(),this._snapDepthRenderer=null)}eagerCreateRenders(){this._snapDepthBufInitRenderer||(this._snapDepthBufInitRenderer=new sr(this._scene,!1)),this._snapDepthRenderer||(this._snapDepthRenderer=new or(this._scene))}get snapDepthBufInitRenderer(){return this._snapDepthBufInitRenderer||(this._snapDepthBufInitRenderer=new sr(this._scene,!1)),this._snapDepthBufInitRenderer}get snapDepthRenderer(){return this._snapDepthRenderer||(this._snapDepthRenderer=new or(this._scene)),this._snapDepthRenderer}_destroy(){this._snapDepthBufInitRenderer&&this._snapDepthBufInitRenderer.destroy(),this._snapDepthRenderer&&this._snapDepthRenderer.destroy()}}const ur={};const hr=new Uint8Array(4),pr=new Float32Array(1),Ar=h.vec4([0,0,0,1]);h.vec4([0,0,0,1]),h.vec4([0,0,0,1]);const dr=new Float32Array(3),fr=h.vec3(),Ir=h.vec3(),yr=h.vec3(),mr=h.vec3(),vr=h.vec3(),wr=h.vec3(),gr=h.vec3(),Er=new Float32Array(4);class Tr{constructor(e){this.model=e.model,this.sortId="TrianglesInstancingLayer"+(e.solid?"-solid":"-surface")+(e.normals?"-normals":"-autoNormals"),this.layerIndex=e.layerIndex,this._instancingRenderers=function(e){const t=e.id;let s=qa[t];return s||(s=new Xa(e),qa[t]=s,s._compile(),s.eagerCreateRenders(),e.on("compile",(()=>{s._compile(),s.eagerCreateRenders()})),e.on("destroyed",(()=>{delete qa[t],s._destroy()}))),s}(e.model.scene),this._snapInstancingRenderers=function(e){const t=e.id;let s=ur[t];return s||(s=new cr(e),ur[t]=s,s._compile(),s.eagerCreateRenders(),e.on("compile",(()=>{s._compile(),s.eagerCreateRenders()})),e.on("destroyed",(()=>{delete ur[t],s._destroy()}))),s}(e.model.scene),this._aabb=h.collapseAABB3(),this._state=new Je({numInstances:0,obb:h.OBB3(),origin:h.vec3(),geometry:e.geometry,textureSet:e.textureSet,pbrSupported:!1,positionsDecodeMatrix:e.geometry.positionsDecodeMatrix,colorsBuf:null,metallicRoughnessBuf:null,flagsBuf:null,offsetsBuf:null,modelMatrixBuf:null,modelMatrixCol0Buf:null,modelMatrixCol1Buf:null,modelMatrixCol2Buf:null,modelNormalMatrixCol0Buf:null,modelNormalMatrixCol1Buf:null,modelNormalMatrixCol2Buf:null,pickColorsBuf:null}),this._numPortions=0,this._numVisibleLayerPortions=0,this._numTransparentLayerPortions=0,this._numXRayedLayerPortions=0,this._numHighlightedLayerPortions=0,this._numSelectedLayerPortions=0,this._numClippableLayerPortions=0,this._numEdgesLayerPortions=0,this._numPickableLayerPortions=0,this._numCulledLayerPortions=0,this.numIndices=e.geometry.numIndices,this._colors=[],this._metallicRoughness=[],this._pickColors=[],this._offsets=[],this._modelMatrix=[],this._modelMatrixCol0=[],this._modelMatrixCol1=[],this._modelMatrixCol2=[],this._modelNormalMatrixCol0=[],this._modelNormalMatrixCol1=[],this._modelNormalMatrixCol2=[],this._portions=[],this._meshes=[],this._aabb=h.collapseAABB3(),this.aabbDirty=!0,e.origin&&this._state.origin.set(e.origin),this._finalized=!1,this.solid=!!e.solid,this.numIndices=e.geometry.numIndices}get aabb(){if(this.aabbDirty){h.collapseAABB3(this._aabb);for(let e=0,t=this._meshes.length;e0){let t=!1;e.colorsBuf=new Oe(n,n.ARRAY_BUFFER,new Uint8Array(this._colors),this._colors.length,4,n.DYNAMIC_DRAW,t),this._colors=[]}if(this._metallicRoughness.length>0){const t=new Uint8Array(this._metallicRoughness);let s=!1;e.metallicRoughnessBuf=new Oe(n,n.ARRAY_BUFFER,t,this._metallicRoughness.length,2,n.STATIC_DRAW,s)}if(a>0){let t=!1;e.flagsBuf=new Oe(n,n.ARRAY_BUFFER,new Float32Array(a),a,1,n.DYNAMIC_DRAW,t)}if(this.model.scene.entityOffsetsEnabled&&this._offsets.length>0){const t=!1;e.offsetsBuf=new Oe(n,n.ARRAY_BUFFER,new Float32Array(this._offsets),this._offsets.length,3,n.DYNAMIC_DRAW,t),this._offsets=[]}if(t.positionsCompressed&&t.positionsCompressed.length>0){const s=!1;e.positionsBuf=new Oe(n,n.ARRAY_BUFFER,t.positionsCompressed,t.positionsCompressed.length,3,n.STATIC_DRAW,s),e.positionsDecodeMatrix=h.mat4(t.positionsDecodeMatrix)}if(t.colorsCompressed&&t.colorsCompressed.length>0){const s=new Uint8Array(t.colorsCompressed),i=!1;e.colorsBuf=new Oe(n,n.ARRAY_BUFFER,s,s.length,4,n.STATIC_DRAW,i)}if(t.uvCompressed&&t.uvCompressed.length>0){const s=t.uvCompressed;e.uvDecodeMatrix=t.uvDecodeMatrix,e.uvBuf=new Oe(n,n.ARRAY_BUFFER,s,s.length,2,n.STATIC_DRAW,!1)}if(t.indices&&t.indices.length>0&&(e.indicesBuf=new Oe(n,n.ELEMENT_ARRAY_BUFFER,new Uint32Array(t.indices),t.indices.length,1,n.STATIC_DRAW),e.numIndices=t.indices.length),"triangles"!==t.primitive&&"solid"!==t.primitive&&"surface"!==t.primitive||(e.edgeIndicesBuf=new Oe(n,n.ELEMENT_ARRAY_BUFFER,new Uint32Array(t.edgeIndices),t.edgeIndices.length,1,n.STATIC_DRAW)),this._modelMatrixCol0.length>0){const t=!1;e.modelMatrixCol0Buf=new Oe(n,n.ARRAY_BUFFER,new Float32Array(this._modelMatrixCol0),this._modelMatrixCol0.length,4,n.STATIC_DRAW,t),e.modelMatrixCol1Buf=new Oe(n,n.ARRAY_BUFFER,new Float32Array(this._modelMatrixCol1),this._modelMatrixCol1.length,4,n.STATIC_DRAW,t),e.modelMatrixCol2Buf=new Oe(n,n.ARRAY_BUFFER,new Float32Array(this._modelMatrixCol2),this._modelMatrixCol2.length,4,n.STATIC_DRAW,t),this._modelMatrixCol0=[],this._modelMatrixCol1=[],this._modelMatrixCol2=[],e.normalsBuf&&(e.modelNormalMatrixCol0Buf=new Oe(n,n.ARRAY_BUFFER,new Float32Array(this._modelNormalMatrixCol0),this._modelNormalMatrixCol0.length,4,n.STATIC_DRAW,t),e.modelNormalMatrixCol1Buf=new Oe(n,n.ARRAY_BUFFER,new Float32Array(this._modelNormalMatrixCol1),this._modelNormalMatrixCol1.length,4,n.STATIC_DRAW,t),e.modelNormalMatrixCol2Buf=new Oe(n,n.ARRAY_BUFFER,new Float32Array(this._modelNormalMatrixCol2),this._modelNormalMatrixCol2.length,4,n.STATIC_DRAW,t),this._modelNormalMatrixCol0=[],this._modelNormalMatrixCol1=[],this._modelNormalMatrixCol2=[])}if(this._pickColors.length>0){const t=!1;e.pickColorsBuf=new Oe(n,n.ARRAY_BUFFER,new Uint8Array(this._pickColors),this._pickColors.length,4,n.STATIC_DRAW,t),this._pickColors=[]}e.pbrSupported=!!(e.metallicRoughnessBuf&&e.uvBuf&&e.normalsBuf&&s&&s.colorTexture&&s.metallicRoughnessTexture),e.colorTextureSupported=!!e.uvBuf&&!!s&&!!s.colorTexture,this._state.geometry=null,this._finalized=!0}initFlags(e,t,s){t&Q&&(this._numVisibleLayerPortions++,this.model.numVisibleLayerPortions++),t&q&&(this._numHighlightedLayerPortions++,this.model.numHighlightedLayerPortions++),t&X&&(this._numXRayedLayerPortions++,this.model.numXRayedLayerPortions++),t&J&&(this._numSelectedLayerPortions++,this.model.numSelectedLayerPortions++),t&K&&(this._numClippableLayerPortions++,this.model.numClippableLayerPortions++),t&Z&&(this._numEdgesLayerPortions++,this.model.numEdgesLayerPortions++),t&z&&(this._numPickableLayerPortions++,this.model.numPickableLayerPortions++),t&W&&(this._numCulledLayerPortions++,this.model.numCulledLayerPortions++),s&&(this._numTransparentLayerPortions++,this.model.numTransparentLayerPortions++),this._setFlags(e,t,s)}setVisible(e,t,s){if(!this._finalized)throw"Not finalized";t&Q?(this._numVisibleLayerPortions++,this.model.numVisibleLayerPortions++):(this._numVisibleLayerPortions--,this.model.numVisibleLayerPortions--),this._setFlags(e,t,s)}setHighlighted(e,t,s){if(!this._finalized)throw"Not finalized";t&q?(this._numHighlightedLayerPortions++,this.model.numHighlightedLayerPortions++):(this._numHighlightedLayerPortions--,this.model.numHighlightedLayerPortions--),this._setFlags(e,t,s)}setXRayed(e,t,s){if(!this._finalized)throw"Not finalized";t&X?(this._numXRayedLayerPortions++,this.model.numXRayedLayerPortions++):(this._numXRayedLayerPortions--,this.model.numXRayedLayerPortions--),this._setFlags(e,t,s)}setSelected(e,t,s){if(!this._finalized)throw"Not finalized";t&J?(this._numSelectedLayerPortions++,this.model.numSelectedLayerPortions++):(this._numSelectedLayerPortions--,this.model.numSelectedLayerPortions--),this._setFlags(e,t,s)}setEdges(e,t,s){if(!this._finalized)throw"Not finalized";t&Z?(this._numEdgesLayerPortions++,this.model.numEdgesLayerPortions++):(this._numEdgesLayerPortions--,this.model.numEdgesLayerPortions--),this._setFlags(e,t,s)}setClippable(e,t){if(!this._finalized)throw"Not finalized";t&K?(this._numClippableLayerPortions++,this.model.numClippableLayerPortions++):(this._numClippableLayerPortions--,this.model.numClippableLayerPortions--),this._setFlags(e,t)}setCollidable(e,t){if(!this._finalized)throw"Not finalized"}setPickable(e,t,s){if(!this._finalized)throw"Not finalized";t&z?(this._numPickableLayerPortions++,this.model.numPickableLayerPortions++):(this._numPickableLayerPortions--,this.model.numPickableLayerPortions--),this._setFlags(e,t,s)}setCulled(e,t,s){if(!this._finalized)throw"Not finalized";t&W?(this._numCulledLayerPortions++,this.model.numCulledLayerPortions++):(this._numCulledLayerPortions--,this.model.numCulledLayerPortions--),this._setFlags(e,t,s)}setColor(e,t){if(!this._finalized)throw"Not finalized";hr[0]=t[0],hr[1]=t[1],hr[2]=t[2],hr[3]=t[3],this._state.colorsBuf&&this._state.colorsBuf.setData(hr,4*e)}setTransparent(e,t,s){s?(this._numTransparentLayerPortions++,this.model.numTransparentLayerPortions++):(this._numTransparentLayerPortions--,this.model.numTransparentLayerPortions--),this._setFlags(e,t,s)}_setFlags(e,t,s){if(!this._finalized)throw"Not finalized";const n=!!(t&Q),i=!!(t&X),a=!!(t&q),r=!!(t&J),l=!!(t&Z),o=!!(t&z),c=!!(t&W);let u,h;u=!n||c||i||a&&!this.model.scene.highlightMaterial.glowThrough||r&&!this.model.scene.selectedMaterial.glowThrough?Ei.NOT_RENDERED:s?Ei.COLOR_TRANSPARENT:Ei.COLOR_OPAQUE,h=!n||c?Ei.NOT_RENDERED:r?Ei.SILHOUETTE_SELECTED:a?Ei.SILHOUETTE_HIGHLIGHTED:i?Ei.SILHOUETTE_XRAYED:Ei.NOT_RENDERED;let p=0;p=!n||c?Ei.NOT_RENDERED:r?Ei.EDGES_SELECTED:a?Ei.EDGES_HIGHLIGHTED:i?Ei.EDGES_XRAYED:l?s?Ei.EDGES_COLOR_TRANSPARENT:Ei.EDGES_COLOR_OPAQUE:Ei.NOT_RENDERED;let A=0;A|=u,A|=h<<4,A|=p<<8,A|=(n&&!c&&o?Ei.PICK:Ei.NOT_RENDERED)<<12,A|=(t&K?1:0)<<16,pr[0]=A,this._state.flagsBuf&&this._state.flagsBuf.setData(pr,e)}setOffset(e,t){if(!this._finalized)throw"Not finalized";this.model.scene.entityOffsetsEnabled?(dr[0]=t[0],dr[1]=t[1],dr[2]=t[2],this._state.offsetsBuf&&this._state.offsetsBuf.setData(dr,3*e)):this.model.error("Entity#offset not enabled for this Viewer")}getEachVertex(e,t){if(!this.model.scene.pickSurfacePrecisionEnabled)return!1;const s=this._state,n=s.geometry,i=this._portions[e];if(!i)return void this.model.error("portion not found: "+e);const a=n.quantizedPositions,r=s.origin,l=i.offset,o=r[0]+l[0],c=r[1]+l[1],u=r[2]+l[2],p=Ar,A=i.matrix,d=this.model.sceneModelMatrix,f=s.positionsDecodeMatrix;for(let e=0,s=a.length;ev)&&(v=e,n.set(w),i&&h.triangleNormal(f,I,y,i),m=!0)}}return m&&i&&(h.transformVec3(l.normalMatrix,i,i),h.transformVec3(this.model.worldNormalMatrix,i,i),h.normalizeVec3(i)),m}destroy(){const e=this._state;e.colorsBuf&&(e.colorsBuf.destroy(),e.colorsBuf=null),e.metallicRoughnessBuf&&(e.metallicRoughnessBuf.destroy(),e.metallicRoughnessBuf=null),e.flagsBuf&&(e.flagsBuf.destroy(),e.flagsBuf=null),e.offsetsBuf&&(e.offsetsBuf.destroy(),e.offsetsBuf=null),e.modelMatrixCol0Buf&&(e.modelMatrixCol0Buf.destroy(),e.modelMatrixCol0Buf=null),e.modelMatrixCol1Buf&&(e.modelMatrixCol1Buf.destroy(),e.modelMatrixCol1Buf=null),e.modelMatrixCol2Buf&&(e.modelMatrixCol2Buf.destroy(),e.modelMatrixCol2Buf=null),e.modelNormalMatrixCol0Buf&&(e.modelNormalMatrixCol0Buf.destroy(),e.modelNormalMatrixCol0Buf=null),e.modelNormalMatrixCol1Buf&&(e.modelNormalMatrixCol1Buf.destroy(),e.modelNormalMatrixCol1Buf=null),e.modelNormalMatrixCol2Buf&&(e.modelNormalMatrixCol2Buf.destroy(),e.modelNormalMatrixCol2Buf=null),e.pickColorsBuf&&(e.pickColorsBuf.destroy(),e.pickColorsBuf=null),e.destroy(),this._state=null}}class br extends Mi{drawLayer(e,t,s){super.drawLayer(e,t,s,{incrementDrawState:!0})}_buildVertexShader(){const e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,s=[];return s.push("#version 300 es"),s.push("// Lines batching color vertex shader"),s.push("uniform int renderPass;"),s.push("in vec3 position;"),s.push("in vec4 color;"),s.push("in float flags;"),e.entityOffsetsEnabled&&s.push("in vec3 offset;"),this._addMatricesUniformBlockLines(s),e.logarithmicDepthBufferEnabled&&(s.push("uniform float logDepthBufFC;"),s.push("out float vFragDepth;")),t&&(s.push("out vec4 vWorldPosition;"),s.push("out float vFlags;")),s.push("out vec4 vColor;"),s.push("void main(void) {"),s.push("int colorFlag = int(flags) & 0xF;"),s.push("if (colorFlag != renderPass) {"),s.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),s.push("} else {"),s.push("vec4 worldPosition = worldMatrix * (positionsDecodeMatrix * vec4(position, 1.0)); "),e.entityOffsetsEnabled&&s.push("worldPosition.xyz = worldPosition.xyz + offset;"),s.push("vec4 viewPosition = viewMatrix * worldPosition; "),s.push("vColor = vec4(float(color.r) / 255.0, float(color.g) / 255.0, float(color.b) / 255.0, float(color.a) / 255.0);"),t&&(s.push("vWorldPosition = worldPosition;"),s.push("vFlags = flags;")),s.push("vec4 clipPos = projMatrix * viewPosition;"),e.logarithmicDepthBufferEnabled&&s.push("vFragDepth = 1.0 + clipPos.w;"),s.push("gl_Position = clipPos;"),s.push("}"),s.push("}"),s}_buildFragmentShader(){const e=this._scene,t=e._sectionPlanesState,s=t.getNumAllocatedSectionPlanes()>0,n=[];if(n.push("#version 300 es"),n.push("// Lines batching color fragment shader"),n.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),n.push("precision highp float;"),n.push("precision highp int;"),n.push("#else"),n.push("precision mediump float;"),n.push("precision mediump int;"),n.push("#endif"),e.logarithmicDepthBufferEnabled&&(n.push("uniform float logDepthBufFC;"),n.push("in float vFragDepth;")),s){n.push("in vec4 vWorldPosition;"),n.push("in float vFlags;");for(let e=0,s=t.getNumAllocatedSectionPlanes();e> 16 & 0xF) == 1;"),n.push(" if (clippable) {"),n.push(" float dist = 0.0;");for(let e=0,s=t.getNumAllocatedSectionPlanes();e 0.0) { discard; }"),n.push("}")}return n.push(" outColor = vColor;"),e.logarithmicDepthBufferEnabled&&n.push("gl_FragDepth = log2( vFragDepth ) * logDepthBufFC * 0.5;"),n.push("}"),n}}class Dr extends Mi{drawLayer(e,t,s){super.drawLayer(e,t,s,{colorUniform:!0})}_buildVertexShader(){const e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,s=[];return s.push("#version 300 es"),s.push("// Lines batching silhouette vertex shader"),s.push("uniform int renderPass;"),s.push("in vec3 position;"),e.entityOffsetsEnabled&&s.push("in vec3 offset;"),s.push("in float flags;"),this._addMatricesUniformBlockLines(s),s.push("uniform vec4 color;"),e.logarithmicDepthBufferEnabled&&(s.push("uniform float logDepthBufFC;"),s.push("out float vFragDepth;")),t&&(s.push("out vec4 vWorldPosition;"),s.push("out float vFlags;")),s.push("void main(void) {"),s.push("int silhouetteFlag = int(flags) >> 4 & 0xF;"),s.push("if (silhouetteFlag != renderPass) {"),s.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),s.push("} else {"),s.push(" vec4 worldPosition = worldMatrix * (positionsDecodeMatrix * vec4(position, 1.0)); "),e.entityOffsetsEnabled&&s.push(" worldPosition.xyz = worldPosition.xyz + offset;"),s.push("vec4 viewPosition = viewMatrix * worldPosition; "),t&&(s.push("vWorldPosition = worldPosition;"),s.push("vFlags = flags;")),s.push("vec4 clipPos = projMatrix * viewPosition;"),e.logarithmicDepthBufferEnabled&&s.push("vFragDepth = 1.0 + clipPos.w;"),s.push("gl_Position = clipPos;"),s.push("}"),s.push("}"),s}_buildFragmentShader(){const e=this._scene,t=e._sectionPlanesState,s=t.getNumAllocatedSectionPlanes()>0,n=[];if(n.push("#version 300 es"),n.push("// Lines batching silhouette fragment shader"),n.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),n.push("precision highp float;"),n.push("precision highp int;"),n.push("#else"),n.push("precision mediump float;"),n.push("precision mediump int;"),n.push("#endif"),e.logarithmicDepthBufferEnabled&&(n.push("uniform float logDepthBufFC;"),n.push("in float vFragDepth;")),s){n.push("in vec4 vWorldPosition;"),n.push("in float vFlags;");for(let e=0,s=t.getNumAllocatedSectionPlanes();e> 16 & 0xF) == 1;"),n.push(" if (clippable) {"),n.push(" float dist = 0.0;");for(let e=0,s=t.getNumAllocatedSectionPlanes();e 0.0) { discard; }"),n.push("}")}return e.logarithmicDepthBufferEnabled&&n.push("gl_FragDepth = log2( vFragDepth ) * logDepthBufFC * 0.5;"),n.push("outColor = color;"),n.push("}"),n}}class Pr{constructor(e){this._scene=e}_compile(){this._colorRenderer&&!this._colorRenderer.getValid()&&(this._colorRenderer.destroy(),this._colorRenderer=null),this._silhouetteRenderer&&!this._silhouetteRenderer.getValid()&&(this._silhouetteRenderer.destroy(),this._silhouetteRenderer=null)}get colorRenderer(){return this._colorRenderer||(this._colorRenderer=new br(this._scene,!1)),this._colorRenderer}get silhouetteRenderer(){return this._silhouetteRenderer||(this._silhouetteRenderer=new Dr(this._scene)),this._silhouetteRenderer}_destroy(){this._colorRenderer&&this._colorRenderer.destroy(),this._silhouetteRenderer&&this._silhouetteRenderer.destroy()}}const Rr={};class Cr{constructor(e=5e6){e>5e6&&(e=5e6),this.maxVerts=e,this.maxIndices=3*e,this.positions=[],this.colors=[],this.offsets=[],this.indices=[]}}h.vec4([0,0,0,1]),h.vec4([0,0,0,1]),h.vec4([0,0,0,1]),h.OBB3();class _r{constructor(e){this.layerIndex=e.layerIndex,this._batchingRenderers=function(e){const t=e.id;let s=Rr[t];return s||(s=new Pr(e),Rr[t]=s,s._compile(),e.on("compile",(()=>{s._compile()})),e.on("destroyed",(()=>{delete Rr[t],s._destroy()}))),s}(e.model.scene),this.model=e.model,this._buffer=new Cr(e.maxGeometryBatchSize),this._scratchMemory=e.scratchMemory,this._state=new Je({positionsBuf:null,offsetsBuf:null,colorsBuf:null,flagsBuf:null,indicesBuf:null,positionsDecodeMatrix:h.mat4(),origin:null}),this._numPortions=0,this._numVisibleLayerPortions=0,this._numTransparentLayerPortions=0,this._numXRayedLayerPortions=0,this._numSelectedLayerPortions=0,this._numHighlightedLayerPortions=0,this._numClippableLayerPortions=0,this._numEdgesLayerPortions=0,this._numPickableLayerPortions=0,this._numCulledLayerPortions=0,this._modelAABB=h.collapseAABB3(),this._portions=[],this._meshes=[],this._numVerts=0,this._aabb=h.collapseAABB3(),this.aabbDirty=!0,this._finalized=!1,e.positionsDecodeMatrix?(this._state.positionsDecodeMatrix.set(e.positionsDecodeMatrix),this._preCompressedPositionsExpected=!0):this._preCompressedPositionsExpected=!1,e.origin&&(this._state.origin=h.vec3(e.origin)),this.aabb=h.collapseAABB3()}get aabb(){if(this.aabbDirty){h.collapseAABB3(this._aabb);for(let e=0,t=this._meshes.length;e0)if(this._preCompressedPositionsExpected){const n=new Uint16Array(s.positions);e.positionsBuf=new Oe(t,t.ARRAY_BUFFER,n,s.positions.length,3,t.STATIC_DRAW)}else{const n=ia(new Float32Array(s.positions),this._modelAABB,e.positionsDecodeMatrix);e.positionsBuf=new Oe(t,t.ARRAY_BUFFER,n,s.positions.length,3,t.STATIC_DRAW)}if(s.colors.length>0){const n=new Uint8Array(s.colors);let i=!1;e.colorsBuf=new Oe(t,t.ARRAY_BUFFER,n,s.colors.length,4,t.DYNAMIC_DRAW,i)}if(s.colors.length>0){const n=s.colors.length/4,i=new Float32Array(n);let a=!1;e.flagsBuf=new Oe(t,t.ARRAY_BUFFER,i,i.length,1,t.DYNAMIC_DRAW,a)}if(this.model.scene.entityOffsetsEnabled&&s.offsets.length>0){const n=new Float32Array(s.offsets);e.offsetsBuf=new Oe(t,t.ARRAY_BUFFER,n,s.offsets.length,3,t.DYNAMIC_DRAW)}if(s.indices.length>0){const n=new Uint32Array(s.indices);e.indicesBuf=new Oe(t,t.ELEMENT_ARRAY_BUFFER,n,s.indices.length,1,t.STATIC_DRAW)}this._buffer=null,this._finalized=!0}initFlags(e,t,s){t&Q&&(this._numVisibleLayerPortions++,this.model.numVisibleLayerPortions++),t&q&&(this._numHighlightedLayerPortions++,this.model.numHighlightedLayerPortions++),t&X&&(this._numXRayedLayerPortions++,this.model.numXRayedLayerPortions++),t&J&&(this._numSelectedLayerPortions++,this.model.numSelectedLayerPortions++),t&K&&(this._numClippableLayerPortions++,this.model.numClippableLayerPortions++),t&Z&&(this._numEdgesLayerPortions++,this.model.numEdgesLayerPortions++),t&z&&(this._numPickableLayerPortions++,this.model.numPickableLayerPortions++),t&W&&(this._numCulledLayerPortions++,this.model.numCulledLayerPortions++),s&&(this._numTransparentLayerPortions++,this.model.numTransparentLayerPortions++);this._setFlags(e,t,s,!0)}flushInitFlags(){this._setDeferredFlags()}setVisible(e,t,s){if(!this._finalized)throw"Not finalized";t&Q?(this._numVisibleLayerPortions++,this.model.numVisibleLayerPortions++):(this._numVisibleLayerPortions--,this.model.numVisibleLayerPortions--),this._setFlags(e,t,s)}setHighlighted(e,t,s){if(!this._finalized)throw"Not finalized";t&q?(this._numHighlightedLayerPortions++,this.model.numHighlightedLayerPortions++):(this._numHighlightedLayerPortions--,this.model.numHighlightedLayerPortions--),this._setFlags(e,t,s)}setXRayed(e,t,s){if(!this._finalized)throw"Not finalized";t&X?(this._numXRayedLayerPortions++,this.model.numXRayedLayerPortions++):(this._numXRayedLayerPortions--,this.model.numXRayedLayerPortions--),this._setFlags(e,t,s)}setSelected(e,t,s){if(!this._finalized)throw"Not finalized";t&J?(this._numSelectedLayerPortions++,this.model.numSelectedLayerPortions++):(this._numSelectedLayerPortions--,this.model.numSelectedLayerPortions--),this._setFlags(e,t,s)}setEdges(e,t,s){if(!this._finalized)throw"Not finalized";t&Z?(this._numEdgesLayerPortions++,this.model.numEdgesLayerPortions++):(this._numEdgesLayerPortions--,this.model.numEdgesLayerPortions--),this._setFlags(e,t,s)}setClippable(e,t){if(!this._finalized)throw"Not finalized";t&K?(this._numClippableLayerPortions++,this.model.numClippableLayerPortions++):(this._numClippableLayerPortions--,this.model.numClippableLayerPortions--),this._setFlags(e,t)}setCulled(e,t,s){if(!this._finalized)throw"Not finalized";t&W?(this._numCulledLayerPortions++,this.model.numCulledLayerPortions++):(this._numCulledLayerPortions--,this.model.numCulledLayerPortions--),this._setFlags(e,t,s)}setCollidable(e,t){if(!this._finalized)throw"Not finalized"}setPickable(e,t,s){if(!this._finalized)throw"Not finalized";t&z?(this._numPickableLayerPortions++,this.model.numPickableLayerPortions++):(this._numPickableLayerPortions--,this.model.numPickableLayerPortions--),this._setFlags(e,t,s)}setColor(e,t){if(!this._finalized)throw"Not finalized";const s=2*e,n=4*this._portions[s],i=4*this._portions[s+1],a=this._scratchMemory.getUInt8Array(i),r=t[0],l=t[1],o=t[2],c=t[3];for(let e=0;e0,s=[];return s.push("#version 300 es"),s.push("// Lines instancing color vertex shader"),s.push("uniform int renderPass;"),s.push("in vec3 position;"),s.push("in vec4 color;"),s.push("in float flags;"),e.entityOffsetsEnabled&&s.push("in vec3 offset;"),s.push("in vec4 modelMatrixCol0;"),s.push("in vec4 modelMatrixCol1;"),s.push("in vec4 modelMatrixCol2;"),this._addMatricesUniformBlockLines(s),e.logarithmicDepthBufferEnabled&&(s.push("uniform float logDepthBufFC;"),s.push("out float vFragDepth;")),s.push("uniform vec4 lightAmbient;"),t&&(s.push("out vec4 vWorldPosition;"),s.push("out float vFlags;")),s.push("out vec4 vColor;"),s.push("void main(void) {"),s.push("int colorFlag = int(flags) & 0xF;"),s.push("if (colorFlag != renderPass) {"),s.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),s.push("} else {"),s.push("vec4 worldPosition = positionsDecodeMatrix * vec4(position, 1.0); "),s.push("worldPosition = worldMatrix * vec4(dot(worldPosition, modelMatrixCol0), dot(worldPosition, modelMatrixCol1), dot(worldPosition, modelMatrixCol2), 1.0);"),e.entityOffsetsEnabled&&s.push(" worldPosition.xyz = worldPosition.xyz + offset;"),s.push("vec4 viewPosition = viewMatrix * worldPosition; "),s.push("vColor = vec4(float(color.r) / 255.0, float(color.g) / 255.0, float(color.b) / 255.0, float(color.a) / 255.0);"),t&&(s.push("vWorldPosition = worldPosition;"),s.push("vFlags = flags;")),s.push("vec4 clipPos = projMatrix * viewPosition;"),e.logarithmicDepthBufferEnabled&&s.push("vFragDepth = 1.0 + clipPos.w;"),s.push("gl_Position = clipPos;"),s.push("}"),s.push("}"),s}_buildFragmentShader(){const e=this._scene,t=e._sectionPlanesState;let s,n;const i=t.getNumAllocatedSectionPlanes()>0,a=[];if(a.push("#version 300 es"),a.push("// Lines instancing color fragment shader"),a.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),a.push("precision highp float;"),a.push("precision highp int;"),a.push("#else"),a.push("precision mediump float;"),a.push("precision mediump int;"),a.push("#endif"),e.logarithmicDepthBufferEnabled&&(a.push("uniform float logDepthBufFC;"),a.push("in float vFragDepth;")),i)for(a.push("in vec4 vWorldPosition;"),a.push("in float vFlags;"),s=0,n=t.getNumAllocatedSectionPlanes();s> 16 & 0xF) == 1;"),a.push(" if (clippable) {"),a.push(" float dist = 0.0;"),s=0,n=t.getNumAllocatedSectionPlanes();s 0.0) { discard; }"),a.push("}")}return this._withSAO?(a.push(" float viewportWidth = uSAOParams[0];"),a.push(" float viewportHeight = uSAOParams[1];"),a.push(" float blendCutoff = uSAOParams[2];"),a.push(" float blendFactor = uSAOParams[3];"),a.push(" vec2 uv = vec2(gl_FragCoord.x / viewportWidth, gl_FragCoord.y / viewportHeight);"),a.push(" float ambient = smoothstep(blendCutoff, 1.0, unpackRGBAToDepth(texture(uOcclusionTexture, uv))) * blendFactor;"),a.push(" outColor = vec4(vColor.rgb * ambient, vColor.a);")):a.push(" outColor = vColor;"),e.logarithmicDepthBufferEnabled&&a.push("gl_FragDepth = log2( vFragDepth ) * logDepthBufFC * 0.5;"),a.push("}"),a}}class Or extends Fi{drawLayer(e,t,s){super.drawLayer(e,t,s,{colorUniform:!0})}_buildVertexShader(){const e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,s=[];return s.push("#version 300 es"),s.push("// Lines instancing silhouette vertex shader"),s.push("uniform int renderPass;"),s.push("in vec3 position;"),e.entityOffsetsEnabled&&s.push("in vec3 offset;"),s.push("in float flags;"),s.push("in vec4 modelMatrixCol0;"),s.push("in vec4 modelMatrixCol1;"),s.push("in vec4 modelMatrixCol2;"),this._addMatricesUniformBlockLines(s),e.logarithmicDepthBufferEnabled&&(s.push("uniform float logDepthBufFC;"),s.push("out float vFragDepth;")),s.push("uniform vec4 color;"),t&&(s.push("out vec4 vWorldPosition;"),s.push("out float vFlags;")),s.push("void main(void) {"),s.push("int silhouetteFlag = int(flags) >> 4 & 0xF;"),s.push("if (silhouetteFlag != renderPass) {"),s.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),s.push("} else {"),s.push("vec4 worldPosition = positionsDecodeMatrix * vec4(position, 1.0); "),s.push("worldPosition = worldMatrix * vec4(dot(worldPosition, modelMatrixCol0), dot(worldPosition, modelMatrixCol1), dot(worldPosition, modelMatrixCol2), 1.0);"),e.entityOffsetsEnabled&&s.push(" worldPosition.xyz = worldPosition.xyz + offset;"),s.push("vec4 viewPosition = viewMatrix * worldPosition; "),t&&(s.push("vWorldPosition = worldPosition;"),s.push("vFlags = flags;")),s.push("vec4 clipPos = projMatrix * viewPosition;"),e.logarithmicDepthBufferEnabled&&s.push("vFragDepth = 1.0 + clipPos.w;"),s.push("gl_Position = clipPos;"),s.push("}"),s.push("}"),s}_buildFragmentShader(){const e=this._scene,t=e._sectionPlanesState,s=t.getNumAllocatedSectionPlanes()>0,n=[];if(n.push("#version 300 es"),n.push("// Lines instancing silhouette fragment shader"),n.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),n.push("precision highp float;"),n.push("precision highp int;"),n.push("#else"),n.push("precision mediump float;"),n.push("precision mediump int;"),n.push("#endif"),e.logarithmicDepthBufferEnabled&&(n.push("uniform float logDepthBufFC;"),n.push("in float vFragDepth;")),s){n.push("in vec4 vWorldPosition;"),n.push("in float vFlags;");for(let e=0,s=t.getNumAllocatedSectionPlanes();e> 16 & 0xF) == 1;"),n.push(" if (clippable) {"),n.push(" float dist = 0.0;");for(let e=0,s=t.getNumAllocatedSectionPlanes();e 0.0) { discard; }"),n.push("}")}return e.logarithmicDepthBufferEnabled&&n.push("gl_FragDepth = log2( vFragDepth ) * logDepthBufFC * 0.5;"),n.push("outColor = color;"),n.push("}"),n}}class Sr{constructor(e){this._scene=e}_compile(){this._colorRenderer&&!this._colorRenderer.getValid()&&(this._colorRenderer.destroy(),this._colorRenderer=null),this._silhouetteRenderer&&!this._silhouetteRenderer.getValid()&&(this._silhouetteRenderer.destroy(),this._silhouetteRenderer=null)}get colorRenderer(){return this._colorRenderer||(this._colorRenderer=new Br(this._scene)),this._colorRenderer}get silhouetteRenderer(){return this._silhouetteRenderer||(this._silhouetteRenderer=new Or(this._scene)),this._silhouetteRenderer}_destroy(){this._colorRenderer&&this._colorRenderer.destroy(),this._silhouetteRenderer&&this._silhouetteRenderer.destroy()}}const Nr={};const xr=new Uint8Array(4),Lr=new Float32Array(1);h.vec4([0,0,0,1]),h.vec4([0,0,0,1]),h.vec4([0,0,0,1]);const Mr=new Float32Array(3),Fr=new Float32Array(4);class Hr{constructor(e){this.model=e.model,this.material=e.material,this.sortId="LinesInstancingLayer",this.layerIndex=e.layerIndex,this._linesInstancingRenderers=function(e){const t=e.id;let s=Nr[t];return s||(s=new Sr(e),Nr[t]=s,s._compile(),e.on("compile",(()=>{s._compile()})),e.on("destroyed",(()=>{delete Nr[t],s._destroy()}))),s}(e.model.scene),this._aabb=h.collapseAABB3(),this._state=new Je({obb:h.OBB3(),numInstances:0,origin:null,geometry:e.geometry,positionsDecodeMatrix:e.geometry.positionsDecodeMatrix,positionsBuf:null,colorsBuf:null,flagsBuf:null,offsetsBuf:null,modelMatrixCol0Buf:null,modelMatrixCol1Buf:null,modelMatrixCol2Buf:null}),this._numPortions=0,this._numVisibleLayerPortions=0,this._numTransparentLayerPortions=0,this._numXRayedLayerPortions=0,this._numHighlightedLayerPortions=0,this._numSelectedLayerPortions=0,this._numClippableLayerPortions=0,this._numEdgesLayerPortions=0,this._numPickableLayerPortions=0,this._numCulledLayerPortions=0,this.numIndices=e.geometry.numIndices,this._colors=[],this._offsets=[],this._modelMatrixCol0=[],this._modelMatrixCol1=[],this._modelMatrixCol2=[],this._portions=[],this._meshes=[],this._aabb=h.collapseAABB3(),this.aabbDirty=!0,e.origin&&(this._state.origin=h.vec3(e.origin)),this._finalized=!1}get aabb(){if(this.aabbDirty){h.collapseAABB3(this._aabb);for(let e=0,t=this._meshes.length;e0){let t=!1;this._state.colorsBuf=new Oe(e,e.ARRAY_BUFFER,new Uint8Array(this._colors),this._colors.length,4,e.DYNAMIC_DRAW,t),this._colors=[]}if(s>0){let t=!1;this._state.flagsBuf=new Oe(e,e.ARRAY_BUFFER,new Float32Array(s),s,1,e.DYNAMIC_DRAW,t)}if(this.model.scene.entityOffsetsEnabled&&this._offsets.length>0){const t=!1;this._state.offsetsBuf=new Oe(e,e.ARRAY_BUFFER,new Float32Array(this._offsets),this._offsets.length,3,e.DYNAMIC_DRAW,t),this._offsets=[]}if(this._modelMatrixCol0.length>0){const t=!1;this._state.modelMatrixCol0Buf=new Oe(e,e.ARRAY_BUFFER,new Float32Array(this._modelMatrixCol0),this._modelMatrixCol0.length,4,e.STATIC_DRAW,t),this._state.modelMatrixCol1Buf=new Oe(e,e.ARRAY_BUFFER,new Float32Array(this._modelMatrixCol1),this._modelMatrixCol1.length,4,e.STATIC_DRAW,t),this._state.modelMatrixCol2Buf=new Oe(e,e.ARRAY_BUFFER,new Float32Array(this._modelMatrixCol2),this._modelMatrixCol2.length,4,e.STATIC_DRAW,t),this._modelMatrixCol0=[],this._modelMatrixCol1=[],this._modelMatrixCol2=[]}this._state.geometry=null,this._finalized=!0}initFlags(e,t,s){t&Q&&(this._numVisibleLayerPortions++,this.model.numVisibleLayerPortions++),t&q&&(this._numHighlightedLayerPortions++,this.model.numHighlightedLayerPortions++),t&X&&(this._numXRayedLayerPortions++,this.model.numXRayedLayerPortions++),t&J&&(this._numSelectedLayerPortions++,this.model.numSelectedLayerPortions++),t&K&&(this._numClippableLayerPortions++,this.model.numClippableLayerPortions++),t&Z&&(this._numEdgesLayerPortions++,this.model.numEdgesLayerPortions++),t&z&&(this._numPickableLayerPortions++,this.model.numPickableLayerPortions++),t&W&&(this._numCulledLayerPortions++,this.model.numCulledLayerPortions++),s&&(this._numTransparentLayerPortions++,this.model.numTransparentLayerPortions++),this._setFlags(e,t,s)}setVisible(e,t,s){if(!this._finalized)throw"Not finalized";t&Q?(this._numVisibleLayerPortions++,this.model.numVisibleLayerPortions++):(this._numVisibleLayerPortions--,this.model.numVisibleLayerPortions--),this._setFlags(e,t,s)}setHighlighted(e,t,s){if(!this._finalized)throw"Not finalized";t&q?(this._numHighlightedLayerPortions++,this.model.numHighlightedLayerPortions++):(this._numHighlightedLayerPortions--,this.model.numHighlightedLayerPortions--),this._setFlags(e,t,s)}setXRayed(e,t,s){if(!this._finalized)throw"Not finalized";t&X?(this._numXRayedLayerPortions++,this.model.numXRayedLayerPortions++):(this._numXRayedLayerPortions--,this.model.numXRayedLayerPortions--),this._setFlags(e,t,s)}setSelected(e,t,s){if(!this._finalized)throw"Not finalized";t&J?(this._numSelectedLayerPortions++,this.model.numSelectedLayerPortions++):(this._numSelectedLayerPortions--,this.model.numSelectedLayerPortions--),this._setFlags(e,t,s)}setEdges(e,t,s){if(!this._finalized)throw"Not finalized";t&Z?(this._numEdgesLayerPortions++,this.model.numEdgesLayerPortions++):(this._numEdgesLayerPortions--,this.model.numEdgesLayerPortions--),this._setFlags(e,t,s)}setClippable(e,t){if(!this._finalized)throw"Not finalized";t&K?(this._numClippableLayerPortions++,this.model.numClippableLayerPortions++):(this._numClippableLayerPortions--,this.model.numClippableLayerPortions--),this._setFlags(e,t)}setCollidable(e,t){if(!this._finalized)throw"Not finalized"}setPickable(e,t,s){if(!this._finalized)throw"Not finalized";t&z?(this._numPickableLayerPortions++,this.model.numPickableLayerPortions++):(this._numPickableLayerPortions--,this.model.numPickableLayerPortions--),this._setFlags(e,t,s)}setCulled(e,t,s){if(!this._finalized)throw"Not finalized";t&W?(this._numCulledLayerPortions++,this.model.numCulledLayerPortions++):(this._numCulledLayerPortions--,this.model.numCulledLayerPortions--),this._setFlags(e,t,s)}setColor(e,t){if(!this._finalized)throw"Not finalized";xr[0]=t[0],xr[1]=t[1],xr[2]=t[2],xr[3]=t[3],this._state.colorsBuf.setData(xr,4*e,4)}setTransparent(e,t,s){s?(this._numTransparentLayerPortions++,this.model.numTransparentLayerPortions++):(this._numTransparentLayerPortions--,this.model.numTransparentLayerPortions--),this._setFlags(e,t,s)}_setFlags(e,t,s){if(!this._finalized)throw"Not finalized";const n=!!(t&Q),i=!!(t&X),a=!!(t&q),r=!!(t&J),l=!!(t&Z),o=!!(t&z),c=!!(t&W);let u,h;u=!n||c||i||a&&!this.model.scene.highlightMaterial.glowThrough||r&&!this.model.scene.selectedMaterial.glowThrough?Ei.NOT_RENDERED:s?Ei.COLOR_TRANSPARENT:Ei.COLOR_OPAQUE,h=!n||c?Ei.NOT_RENDERED:r?Ei.SILHOUETTE_SELECTED:a?Ei.SILHOUETTE_HIGHLIGHTED:i?Ei.SILHOUETTE_XRAYED:Ei.NOT_RENDERED;let p=0;p=!n||c?Ei.NOT_RENDERED:r?Ei.EDGES_SELECTED:a?Ei.EDGES_HIGHLIGHTED:i?Ei.EDGES_XRAYED:l?s?Ei.EDGES_COLOR_TRANSPARENT:Ei.EDGES_COLOR_OPAQUE:Ei.NOT_RENDERED;let A=0;A|=u,A|=h<<4,A|=p<<8,A|=(n&&!c&&o?Ei.PICK:Ei.NOT_RENDERED)<<12,A|=(t&K?255:0)<<16,Lr[0]=A,this._state.flagsBuf.setData(Lr,e)}setOffset(e,t){if(!this._finalized)throw"Not finalized";this.model.scene.entityOffsetsEnabled?(Mr[0]=t[0],Mr[1]=t[1],Mr[2]=t[2],this._state.offsetsBuf.setData(Mr,3*e,3)):this.model.error("Entity#offset not enabled for this Viewer")}setMatrix(e,t){if(!this._finalized)throw"Not finalized";const s=4*e;Fr[0]=t[0],Fr[1]=t[4],Fr[2]=t[8],Fr[3]=t[12],this._state.modelMatrixCol0Buf.setData(Fr,s),Fr[0]=t[1],Fr[1]=t[5],Fr[2]=t[9],Fr[3]=t[13],this._state.modelMatrixCol1Buf.setData(Fr,s),Fr[0]=t[2],Fr[1]=t[6],Fr[2]=t[10],Fr[3]=t[14],this._state.modelMatrixCol2Buf.setData(Fr,s)}drawColorOpaque(e,t){this._numCulledLayerPortions!==this._numPortions&&0!==this._numVisibleLayerPortions&&this._numTransparentLayerPortions!==this._numPortions&&this._numXRayedLayerPortions!==this._numPortions&&this._linesInstancingRenderers.colorRenderer&&this._linesInstancingRenderers.colorRenderer.drawLayer(t,this,Ei.COLOR_OPAQUE)}drawColorTransparent(e,t){this._numCulledLayerPortions!==this._numPortions&&0!==this._numVisibleLayerPortions&&0!==this._numTransparentLayerPortions&&this._numXRayedLayerPortions!==this._numPortions&&this._linesInstancingRenderers.colorRenderer&&this._linesInstancingRenderers.colorRenderer.drawLayer(t,this,Ei.COLOR_TRANSPARENT)}drawDepth(e,t){}drawNormals(e,t){}drawSilhouetteXRayed(e,t){this._numCulledLayerPortions!==this._numPortions&&0!==this._numVisibleLayerPortions&&0!==this._numXRayedLayerPortions&&this._linesInstancingRenderers.silhouetteRenderer&&this._linesInstancingRenderers.silhouetteRenderer.drawLayer(t,this,Ei.SILHOUETTE_XRAYED)}drawSilhouetteHighlighted(e,t){this._numCulledLayerPortions!==this._numPortions&&0!==this._numVisibleLayerPortions&&0!==this._numHighlightedLayerPortions&&this._linesInstancingRenderers.silhouetteRenderer&&this._linesInstancingRenderers.silhouetteRenderer.drawLayer(t,this,Ei.SILHOUETTE_HIGHLIGHTED)}drawSilhouetteSelected(e,t){this._numCulledLayerPortions!==this._numPortions&&0!==this._numVisibleLayerPortions&&0!==this._numSelectedLayerPortions&&this._linesInstancingRenderers.silhouetteRenderer&&this._linesInstancingRenderers.silhouetteRenderer.drawLayer(t,this,Ei.SILHOUETTE_SELECTED)}drawEdgesColorOpaque(e,t){}drawEdgesColorTransparent(e,t){}drawEdgesXRayed(e,t){}drawEdgesHighlighted(e,t){}drawEdgesSelected(e,t){}drawOcclusion(e,t){}drawShadow(e,t){}drawPickMesh(e,t){}drawPickDepths(e,t){}drawPickNormals(e,t){}destroy(){const e=this._state;e.positionsBuf&&(e.positionsBuf.destroy(),e.positionsBuf=null),e.colorsBuf&&(e.colorsBuf.destroy(),e.colorsBuf=null),e.flagsBuf&&(e.flagsBuf.destroy(),e.flagsBuf=null),e.offsetsBuf&&(e.offsetsBuf.destroy(),e.offsetsBuf=null),e.modelMatrixCol0Buf&&(e.modelMatrixCol0Buf.destroy(),e.modelMatrixCol0Buf=null),e.modelMatrixCol1Buf&&(e.modelMatrixCol1Buf.destroy(),e.modelMatrixCol1Buf=null),e.modelMatrixCol2Buf&&(e.modelMatrixCol2Buf.destroy(),e.modelMatrixCol2Buf=null),e.destroy()}}class Ur extends xi{_getHash(){return this._scene._sectionPlanesState.getHash()+this._scene.pointsMaterial.hash}drawLayer(e,t,s){super.drawLayer(e,t,s,{incrementDrawState:!0})}_buildVertexShader(){const e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,s=e.pointsMaterial,n=[];return n.push("#version 300 es"),n.push("// Points batching color vertex shader"),n.push("uniform int renderPass;"),n.push("in vec3 position;"),n.push("in vec4 color;"),n.push("in float flags;"),e.entityOffsetsEnabled&&n.push("in vec3 offset;"),this._addMatricesUniformBlockLines(n),n.push("uniform float pointSize;"),s.perspectivePoints&&n.push("uniform float nearPlaneHeight;"),s.filterIntensity&&n.push("uniform vec2 intensityRange;"),e.logarithmicDepthBufferEnabled&&(n.push("uniform float logDepthBufFC;"),n.push("out float vFragDepth;")),t&&(n.push("out vec4 vWorldPosition;"),n.push("out float vFlags;")),n.push("out vec4 vColor;"),n.push("void main(void) {"),n.push("int colorFlag = int(flags) & 0xF;"),n.push("if (colorFlag != renderPass) {"),n.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),n.push("} else {"),s.filterIntensity&&(n.push("float intensity = float(color.a) / 255.0;"),n.push("if (intensity < intensityRange[0] || intensity > intensityRange[1]) {"),n.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),n.push("} else {")),n.push("vec4 worldPosition = worldMatrix * (positionsDecodeMatrix * vec4(position, 1.0)); "),e.entityOffsetsEnabled&&n.push("worldPosition.xyz = worldPosition.xyz + offset;"),n.push("vec4 viewPosition = viewMatrix * worldPosition; "),n.push("vColor = vec4(float(color.r) / 255.0, float(color.g) / 255.0, float(color.b) / 255.0, 1.0);"),t&&(n.push("vWorldPosition = worldPosition;"),n.push("vFlags = flags;")),n.push("vec4 clipPos = projMatrix * viewPosition;"),e.logarithmicDepthBufferEnabled&&n.push("vFragDepth = 1.0 + clipPos.w;"),n.push("gl_Position = clipPos;"),s.perspectivePoints?(n.push("gl_PointSize = (nearPlaneHeight * pointSize) / clipPos.w;"),n.push("gl_PointSize = max(gl_PointSize, "+Math.floor(s.minPerspectivePointSize)+".0);"),n.push("gl_PointSize = min(gl_PointSize, "+Math.floor(s.maxPerspectivePointSize)+".0);")):n.push("gl_PointSize = pointSize;"),n.push("}"),s.filterIntensity&&n.push("}"),n.push("}"),n}_buildFragmentShader(){const e=this._scene,t=e._sectionPlanesState,s=t.getNumAllocatedSectionPlanes()>0,n=[];if(n.push("#version 300 es"),n.push("// Points batching color fragment shader"),n.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),n.push("precision highp float;"),n.push("precision highp int;"),n.push("#else"),n.push("precision mediump float;"),n.push("precision mediump int;"),n.push("#endif"),e.logarithmicDepthBufferEnabled&&(n.push("uniform float logDepthBufFC;"),n.push("in float vFragDepth;")),s){n.push("in vec4 vWorldPosition;"),n.push("in float vFlags;");for(let e=0,s=t.getNumAllocatedSectionPlanes();e 1.0) {"),n.push(" discard;"),n.push(" }")),s){n.push(" bool clippable = (int(vFlags) >> 16 & 0xF) == 1;"),n.push(" if (clippable) {"),n.push(" float dist = 0.0;");for(let e=0,s=t.getNumAllocatedSectionPlanes();e 0.0) { discard; }"),n.push("}")}return n.push(" outColor = vColor;"),e.logarithmicDepthBufferEnabled&&n.push("gl_FragDepth = log2( vFragDepth ) * logDepthBufFC * 0.5;"),n.push("}"),n}}class Gr extends xi{_getHash(){return this._scene._sectionPlanesState.getHash()+this._scene.pointsMaterial.hash}drawLayer(e,t,s){super.drawLayer(e,t,s,{colorUniform:!0})}_buildVertexShader(){const e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,s=e.pointsMaterial._state,n=[];return n.push("#version 300 es"),n.push("// Points batching silhouette vertex shader"),n.push("uniform int renderPass;"),n.push("in vec3 position;"),e.entityOffsetsEnabled&&n.push("in vec3 offset;"),n.push("in float flags;"),this._addMatricesUniformBlockLines(n),n.push("uniform vec4 color;"),n.push("uniform float pointSize;"),s.perspectivePoints&&n.push("uniform float nearPlaneHeight;"),e.logarithmicDepthBufferEnabled&&(n.push("uniform float logDepthBufFC;"),n.push("out float vFragDepth;")),t&&(n.push("out vec4 vWorldPosition;"),n.push("out float vFlags;")),n.push("void main(void) {"),n.push("int silhouetteFlag = int(flags) >> 4 & 0xF;"),n.push("if (silhouetteFlag != renderPass) {"),n.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),n.push("} else {"),n.push(" vec4 worldPosition = worldMatrix * (positionsDecodeMatrix * vec4(position, 1.0)); "),e.entityOffsetsEnabled&&n.push(" worldPosition.xyz = worldPosition.xyz + offset;"),n.push("vec4 viewPosition = viewMatrix * worldPosition; "),t&&(n.push("vWorldPosition = worldPosition;"),n.push("vFlags = flags;")),n.push("vec4 clipPos = projMatrix * viewPosition;"),e.logarithmicDepthBufferEnabled&&n.push("vFragDepth = 1.0 + clipPos.w;"),n.push("gl_Position = clipPos;"),s.perspectivePoints?(n.push("gl_PointSize = (nearPlaneHeight * pointSize) / clipPos.w;"),n.push("gl_PointSize = max(gl_PointSize, "+Math.floor(s.minPerspectivePointSize)+".0);"),n.push("gl_PointSize = min(gl_PointSize, "+Math.floor(s.maxPerspectivePointSize)+".0);")):n.push("gl_PointSize = pointSize;"),n.push("}"),n.push("}"),n}_buildFragmentShader(){const e=this._scene,t=e._sectionPlanesState;let s,n;const i=t.getNumAllocatedSectionPlanes()>0,a=[];if(a.push("#version 300 es"),a.push("// Points batching silhouette vertex shader"),a.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),a.push("precision highp float;"),a.push("precision highp int;"),a.push("#else"),a.push("precision mediump float;"),a.push("precision mediump int;"),a.push("#endif"),e.logarithmicDepthBufferEnabled&&(a.push("uniform float logDepthBufFC;"),a.push("in float vFragDepth;")),i)for(a.push("in vec4 vWorldPosition;"),a.push("in float vFlags;"),s=0,n=t.getNumAllocatedSectionPlanes();s 1.0) {"),a.push(" discard;"),a.push(" }")),i){for(a.push(" bool clippable = (int(vFlags) >> 16 & 0xF) == 1;"),a.push(" if (clippable) {"),a.push(" float dist = 0.0;"),s=0,n=t.getNumAllocatedSectionPlanes();s 0.0) { discard; }"),a.push("}")}return e.logarithmicDepthBufferEnabled&&a.push("gl_FragDepth = log2( vFragDepth ) * logDepthBufFC * 0.5;"),a.push("outColor = color;"),a.push("}"),a}}class jr extends xi{_getHash(){return this._scene._sectionPlanesState.getHash()+this._scene.pointsMaterial.hash}_buildVertexShader(){const e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,s=e.pointsMaterial._state,n=[];return n.push("#version 300 es"),n.push("// Points batching pick mesh vertex shader"),n.push("uniform int renderPass;"),n.push("in vec3 position;"),e.entityOffsetsEnabled&&n.push("in vec3 offset;"),n.push("in float flags;"),n.push("in vec4 pickColor;"),n.push("uniform bool pickInvisible;"),this._addMatricesUniformBlockLines(n),this._addRemapClipPosLines(n),n.push("uniform float pointSize;"),s.perspectivePoints&&n.push("uniform float nearPlaneHeight;"),e.logarithmicDepthBufferEnabled&&(n.push("uniform float logDepthBufFC;"),n.push("out float vFragDepth;")),t&&(n.push("out vec4 vWorldPosition;"),n.push("out float vFlags;")),n.push("out vec4 vPickColor;"),n.push("void main(void) {"),n.push("int pickFlag = int(flags) >> 12 & 0xF;"),n.push("if (pickFlag != renderPass) {"),n.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),n.push(" } else {"),n.push(" vec4 worldPosition = worldMatrix * (positionsDecodeMatrix * vec4(position, 1.0)); "),e.entityOffsetsEnabled&&n.push(" worldPosition.xyz = worldPosition.xyz + offset;"),n.push(" vec4 viewPosition = viewMatrix * worldPosition; "),n.push(" vPickColor = vec4(float(pickColor.r) / 255.0, float(pickColor.g) / 255.0, float(pickColor.b) / 255.0, float(pickColor.a) / 255.0);"),t&&(n.push(" vWorldPosition = worldPosition;"),n.push(" vFlags = flags;")),n.push("vec4 clipPos = projMatrix * viewPosition;"),e.logarithmicDepthBufferEnabled&&n.push("vFragDepth = 1.0 + clipPos.w;"),n.push("gl_Position = remapClipPos(clipPos);"),s.perspectivePoints?(n.push("gl_PointSize = (nearPlaneHeight * pointSize) / clipPos.w;"),n.push("gl_PointSize = max(gl_PointSize, "+Math.floor(s.minPerspectivePointSize)+".0);"),n.push("gl_PointSize = min(gl_PointSize, "+Math.floor(s.maxPerspectivePointSize)+".0);")):n.push("gl_PointSize = pointSize;"),n.push("gl_PointSize += 10.0;"),n.push(" }"),n.push("}"),n}_buildFragmentShader(){const e=this._scene,t=e._sectionPlanesState,s=t.getNumAllocatedSectionPlanes()>0,n=[];if(n.push("#version 300 es"),n.push("// Points batching pick mesh vertex shader"),n.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),n.push("precision highp float;"),n.push("precision highp int;"),n.push("#else"),n.push("precision mediump float;"),n.push("precision mediump int;"),n.push("#endif"),e.logarithmicDepthBufferEnabled&&(n.push("uniform float logDepthBufFC;"),n.push("in float vFragDepth;")),s){n.push("in vec4 vWorldPosition;"),n.push("in float vFlags;");for(var i=0;i 1.0) {"),n.push(" discard;"),n.push(" }")),s){n.push(" bool clippable = (int(vFlags) >> 16 & 0xF) == 1;"),n.push(" if (clippable) {"),n.push(" float dist = 0.0;");for(let e=0;e 0.0) { discard; }"),n.push(" }")}return e.logarithmicDepthBufferEnabled&&n.push("gl_FragDepth = log2( vFragDepth ) * logDepthBufFC * 0.5;"),n.push(" outColor = vPickColor; "),n.push("}"),n}}class Vr extends xi{_getHash(){return this._scene._sectionPlanesState.getHash()+this._scene.pointsMaterial.hash}_buildVertexShader(){const e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,s=e.pointsMaterial._state,n=[];return n.push("#version 300 es"),n.push("// Points batched pick depth vertex shader"),n.push("uniform int renderPass;"),n.push("in vec3 position;"),e.entityOffsetsEnabled&&n.push("in vec3 offset;"),n.push("in float flags;"),n.push("uniform bool pickInvisible;"),this._addMatricesUniformBlockLines(n),this._addRemapClipPosLines(n),n.push("uniform float pointSize;"),s.perspectivePoints&&n.push("uniform float nearPlaneHeight;"),e.logarithmicDepthBufferEnabled&&(n.push("uniform float logDepthBufFC;"),n.push("out float vFragDepth;")),t&&(n.push("out vec4 vWorldPosition;"),n.push("out float vFlags;")),n.push("out vec4 vViewPosition;"),n.push("void main(void) {"),n.push("int pickFlag = int(flags) >> 12 & 0xF;"),n.push("if (pickFlag != renderPass) {"),n.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),n.push(" } else {"),n.push(" vec4 worldPosition = worldMatrix * (positionsDecodeMatrix * vec4(position, 1.0)); "),e.entityOffsetsEnabled&&n.push(" worldPosition.xyz = worldPosition.xyz + offset;"),n.push(" vec4 viewPosition = viewMatrix * worldPosition; "),t&&(n.push(" vWorldPosition = worldPosition;"),n.push(" vFlags = flags;")),n.push("vViewPosition = viewPosition;"),n.push("vec4 clipPos = projMatrix * viewPosition;"),e.logarithmicDepthBufferEnabled&&n.push("vFragDepth = 1.0 + clipPos.w;"),n.push("gl_Position = remapClipPos(clipPos);"),s.perspectivePoints?(n.push("gl_PointSize = (nearPlaneHeight * pointSize) / clipPos.w;"),n.push("gl_PointSize = max(gl_PointSize, "+Math.floor(s.minPerspectivePointSize)+".0);"),n.push("gl_PointSize = min(gl_PointSize, "+Math.floor(s.maxPerspectivePointSize)+".0);")):n.push("gl_PointSize = pointSize;"),n.push("gl_PointSize += 10.0;"),n.push(" }"),n.push("}"),n}_buildFragmentShader(){const e=this._scene,t=e._sectionPlanesState,s=t.getNumAllocatedSectionPlanes()>0,n=[];if(n.push("#version 300 es"),n.push("// Points batched pick depth fragment shader"),n.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),n.push("precision highp float;"),n.push("precision highp int;"),n.push("#else"),n.push("precision mediump float;"),n.push("precision mediump int;"),n.push("#endif"),e.logarithmicDepthBufferEnabled&&(n.push("uniform float logDepthBufFC;"),n.push("in float vFragDepth;")),n.push("uniform float pickZNear;"),n.push("uniform float pickZFar;"),s){n.push("in vec4 vWorldPosition;"),n.push("in float vFlags;");for(let e=0;e 1.0) {"),n.push(" discard;"),n.push(" }")),s){n.push(" bool clippable = (int(vFlags) >> 16 & 0xF) == 1;"),n.push(" if (clippable) {"),n.push(" float dist = 0.0;");for(var i=0;i 0.0) { discard; }"),n.push(" }")}return e.logarithmicDepthBufferEnabled&&n.push("gl_FragDepth = log2( vFragDepth ) * logDepthBufFC * 0.5;"),n.push(" float zNormalizedDepth = abs((pickZNear + vViewPosition.z) / (pickZFar - pickZNear));"),n.push(" outColor = packDepth(zNormalizedDepth); "),n.push("}"),n}}class kr extends xi{_getHash(){return this._scene._sectionPlanesState.getHash()+this._scene.pointsMaterial.hash}_buildVertexShader(){const e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,s=e.pointsMaterial._state,n=[];return n.push("#version 300 es"),n.push("// Points batching occlusion vertex shader"),n.push("uniform int renderPass;"),n.push("in vec3 position;"),e.entityOffsetsEnabled&&n.push("in vec3 offset;"),n.push("in float flags;"),this._addMatricesUniformBlockLines(n),n.push("uniform float pointSize;"),s.perspectivePoints&&n.push("uniform float nearPlaneHeight;"),e.logarithmicDepthBufferEnabled&&(n.push("uniform float logDepthBufFC;"),n.push("out float vFragDepth;")),t&&(n.push("out vec4 vWorldPosition;"),n.push("out float vFlags;")),n.push("void main(void) {"),n.push("int colorFlag = int(flags) & 0xF;"),n.push("if (colorFlag != renderPass) {"),n.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),n.push(" } else {"),n.push(" vec4 worldPosition = worldMatrix * (positionsDecodeMatrix * vec4(position, 1.0)); "),e.entityOffsetsEnabled&&n.push(" worldPosition.xyz = worldPosition.xyz + offset;"),n.push(" vec4 viewPosition = viewMatrix * worldPosition; "),t&&(n.push(" vWorldPosition = worldPosition;"),n.push(" vFlags = flags;")),n.push("vec4 clipPos = projMatrix * viewPosition;"),e.logarithmicDepthBufferEnabled&&n.push("vFragDepth = 1.0 + clipPos.w;"),n.push(" gl_Position = clipPos;"),s.perspectivePoints?(n.push("gl_PointSize = (nearPlaneHeight * pointSize) / clipPos.w;"),n.push("gl_PointSize = max(gl_PointSize, "+Math.floor(s.minPerspectivePointSize)+".0);"),n.push("gl_PointSize = min(gl_PointSize, "+Math.floor(s.maxPerspectivePointSize)+".0);")):n.push("gl_PointSize = pointSize;"),n.push(" }"),n.push("}"),n}_buildFragmentShader(){const e=this._scene,t=e._sectionPlanesState,s=t.getNumAllocatedSectionPlanes()>0,n=[];if(n.push("#version 300 es"),n.push("// Points batching occlusion fragment shader"),n.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),n.push("precision highp float;"),n.push("precision highp int;"),n.push("#else"),n.push("precision mediump float;"),n.push("precision mediump int;"),n.push("#endif"),e.logarithmicDepthBufferEnabled&&(n.push("uniform float logDepthBufFC;"),n.push("in float vFragDepth;")),s){n.push("in vec4 vWorldPosition;"),n.push("in float vFlags;");for(let e=0;e 1.0) {"),n.push(" discard;"),n.push(" }")),s){n.push(" bool clippable = (int(vFlags) >> 16 & 0xF) == 1;"),n.push(" if (clippable) {"),n.push(" float dist = 0.0;");for(let e=0;e 0.0) { discard; }"),n.push(" }")}return e.logarithmicDepthBufferEnabled&&n.push("gl_FragDepth = log2( vFragDepth ) * logDepthBufFC * 0.5;"),n.push(" outColor = vec4(0.0, 0.0, 1.0, 1.0); "),n.push("}"),n}}class Qr{constructor(e){this._scene=e}_compile(){this._colorRenderer&&!this._colorRenderer.getValid()&&(this._colorRenderer.destroy(),this._colorRenderer=null),this._silhouetteRenderer&&!this._silhouetteRenderer.getValid()&&(this._silhouetteRenderer.destroy(),this._silhouetteRenderer=null),this._pickMeshRenderer&&!this._pickMeshRenderer.getValid()&&(this._pickMeshRenderer.destroy(),this._pickMeshRenderer=null),this._pickDepthRenderer&&!this._pickDepthRenderer.getValid()&&(this._pickDepthRenderer.destroy(),this._pickDepthRenderer=null),this._occlusionRenderer&&!1===this._occlusionRenderer.getValid()&&(this._occlusionRenderer.destroy(),this._occlusionRenderer=null)}get colorRenderer(){return this._colorRenderer||(this._colorRenderer=new Ur(this._scene)),this._colorRenderer}get silhouetteRenderer(){return this._silhouetteRenderer||(this._silhouetteRenderer=new Gr(this._scene)),this._silhouetteRenderer}get pickMeshRenderer(){return this._pickMeshRenderer||(this._pickMeshRenderer=new jr(this._scene)),this._pickMeshRenderer}get pickDepthRenderer(){return this._pickDepthRenderer||(this._pickDepthRenderer=new Vr(this._scene)),this._pickDepthRenderer}get occlusionRenderer(){return this._occlusionRenderer||(this._occlusionRenderer=new kr(this._scene)),this._occlusionRenderer}_destroy(){this._colorRenderer&&this._colorRenderer.destroy(),this._silhouetteRenderer&&this._silhouetteRenderer.destroy(),this._pickMeshRenderer&&this._pickMeshRenderer.destroy(),this._pickDepthRenderer&&this._pickDepthRenderer.destroy(),this._occlusionRenderer&&this._occlusionRenderer.destroy()}}const Wr={};class zr{constructor(e=5e6){e>5e6&&(e=5e6),this.maxVerts=e,this.maxIndices=3*e,this.positions=[],this.colors=[],this.intensities=[],this.pickColors=[],this.offsets=[]}}h.vec4(),h.vec4(),h.vec4([0,0,0,1]),h.vec4([0,0,0,1]),h.vec4([0,0,0,1]),h.OBB3();class Kr{constructor(e){this.model=e.model,this.sortId="PointsBatchingLayer",this.layerIndex=e.layerIndex,this._pointsBatchingRenderers=function(e){const t=e.id;let s=Wr[t];return s||(s=new Qr(e),Wr[t]=s,s._compile(),e.on("compile",(()=>{s._compile()})),e.on("destroyed",(()=>{delete Wr[t],s._destroy()}))),s}(e.model.scene),this._buffer=new zr(e.maxGeometryBatchSize),this._scratchMemory=e.scratchMemory,this._state=new Je({positionsBuf:null,offsetsBuf:null,colorsBuf:null,flagsBuf:null,positionsDecodeMatrix:h.mat4(),origin:null}),this._numPortions=0,this._numVisibleLayerPortions=0,this._numTransparentLayerPortions=0,this._numXRayedLayerPortions=0,this._numSelectedLayerPortions=0,this._numHighlightedLayerPortions=0,this._numClippableLayerPortions=0,this._numPickableLayerPortions=0,this._numCulledLayerPortions=0,this._modelAABB=h.collapseAABB3(),this._portions=[],this._meshes=[],this._aabb=h.collapseAABB3(),this.aabbDirty=!0,this._finalized=!1,e.positionsDecodeMatrix?(this._state.positionsDecodeMatrix.set(e.positionsDecodeMatrix),this._preCompressedPositionsExpected=!0):this._preCompressedPositionsExpected=!1,e.origin&&(this._state.origin=h.vec3(e.origin)),this.aabb=h.collapseAABB3()}get aabb(){if(this.aabbDirty){h.collapseAABB3(this._aabb);for(let e=0,t=this._meshes.length;e0)if(this._preCompressedPositionsExpected){const n=new Uint16Array(s.positions);e.positionsBuf=new Oe(t,t.ARRAY_BUFFER,n,s.positions.length,3,t.STATIC_DRAW)}else{const n=ia(new Float32Array(s.positions),this._modelAABB,e.positionsDecodeMatrix);e.positionsBuf=new Oe(t,t.ARRAY_BUFFER,n,s.positions.length,3,t.STATIC_DRAW)}if(s.colors.length>0){const n=new Uint8Array(s.colors);let i=!1;e.colorsBuf=new Oe(t,t.ARRAY_BUFFER,n,s.colors.length,4,t.STATIC_DRAW,i)}if(s.positions.length>0){const n=s.positions.length/3,i=new Float32Array(n);let a=!1;e.flagsBuf=new Oe(t,t.ARRAY_BUFFER,i,i.length,1,t.DYNAMIC_DRAW,a)}if(s.pickColors.length>0){const n=new Uint8Array(s.pickColors);let i=!1;e.pickColorsBuf=new Oe(t,t.ARRAY_BUFFER,n,s.pickColors.length,4,t.STATIC_DRAW,i)}if(this.model.scene.entityOffsetsEnabled&&s.offsets.length>0){const n=new Float32Array(s.offsets);e.offsetsBuf=new Oe(t,t.ARRAY_BUFFER,n,s.offsets.length,3,t.DYNAMIC_DRAW)}this._buffer=null,this._finalized=!0}initFlags(e,t,s){t&Q&&(this._numVisibleLayerPortions++,this.model.numVisibleLayerPortions++),t&q&&(this._numHighlightedLayerPortions++,this.model.numHighlightedLayerPortions++),t&X&&(this._numXRayedLayerPortions++,this.model.numXRayedLayerPortions++),t&J&&(this._numSelectedLayerPortions++,this.model.numSelectedLayerPortions++),t&K&&(this._numClippableLayerPortions++,this.model.numClippableLayerPortions++),t&z&&(this._numPickableLayerPortions++,this.model.numPickableLayerPortions++),t&W&&(this._numCulledLayerPortions++,this.model.numCulledLayerPortions++),s&&(this._numTransparentLayerPortions++,this.model.numTransparentLayerPortions++),this._setFlags(e,t,s)}setVisible(e,t,s){if(!this._finalized)throw"Not finalized";t&Q?(this._numVisibleLayerPortions++,this.model.numVisibleLayerPortions++):(this._numVisibleLayerPortions--,this.model.numVisibleLayerPortions--),this._setFlags(e,t,s)}setHighlighted(e,t,s){if(!this._finalized)throw"Not finalized";t&q?(this._numHighlightedLayerPortions++,this.model.numHighlightedLayerPortions++):(this._numHighlightedLayerPortions--,this.model.numHighlightedLayerPortions--),this._setFlags(e,t,s)}setXRayed(e,t,s){if(!this._finalized)throw"Not finalized";t&X?(this._numXRayedLayerPortions++,this.model.numXRayedLayerPortions++):(this._numXRayedLayerPortions--,this.model.numXRayedLayerPortions--),this._setFlags(e,t,s)}setSelected(e,t,s){if(!this._finalized)throw"Not finalized";t&J?(this._numSelectedLayerPortions++,this.model.numSelectedLayerPortions++):(this._numSelectedLayerPortions--,this.model.numSelectedLayerPortions--),this._setFlags(e,t,s)}setEdges(e,t,s){if(!this._finalized)throw"Not finalized"}setClippable(e,t){if(!this._finalized)throw"Not finalized";t&K?(this._numClippableLayerPortions++,this.model.numClippableLayerPortions++):(this._numClippableLayerPortions--,this.model.numClippableLayerPortions--),this._setFlags(e,t)}setCulled(e,t,s){if(!this._finalized)throw"Not finalized";t&W?(this._numCulledLayerPortions++,this.model.numCulledLayerPortions++):(this._numCulledLayerPortions--,this.model.numCulledLayerPortions--),this._setFlags(e,t,s)}setCollidable(e,t){if(!this._finalized)throw"Not finalized"}setPickable(e,t,s){if(!this._finalized)throw"Not finalized";t&z?(this._numPickableLayerPortions++,this.model.numPickableLayerPortions++):(this._numPickableLayerPortions--,this.model.numPickableLayerPortions--),this._setFlags(e,t,s)}setColor(e,t){if(!this._finalized)throw"Not finalized";const s=2*e,n=4*this._portions[s],i=4*this._portions[s+1],a=this._scratchMemory.getUInt8Array(i),r=t[0],l=t[1],o=t[2];for(let e=0;e0,s=e.pointsMaterial._state,n=[];return n.push("#version 300 es"),n.push("// Points instancing color vertex shader"),n.push("uniform int renderPass;"),n.push("in vec3 position;"),n.push("in vec4 color;"),n.push("in float flags;"),e.entityOffsetsEnabled&&n.push("in vec3 offset;"),n.push("in vec4 modelMatrixCol0;"),n.push("in vec4 modelMatrixCol1;"),n.push("in vec4 modelMatrixCol2;"),this._addMatricesUniformBlockLines(n),n.push("uniform float pointSize;"),s.perspectivePoints&&n.push("uniform float nearPlaneHeight;"),s.filterIntensity&&n.push("uniform vec2 intensityRange;"),e.logarithmicDepthBufferEnabled&&(n.push("uniform float logDepthBufFC;"),n.push("out float vFragDepth;")),t&&(n.push("out vec4 vWorldPosition;"),n.push("out float vFlags;")),n.push("out vec4 vColor;"),n.push("void main(void) {"),n.push("int colorFlag = int(flags) & 0xF;"),n.push("if (colorFlag != renderPass) {"),n.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),n.push("} else {"),s.filterIntensity&&(n.push("float intensity = float(color.a) / 255.0;"),n.push("if (intensity < intensityRange[0] || intensity > intensityRange[1]) {"),n.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),n.push("} else {")),n.push("vec4 worldPosition = positionsDecodeMatrix * vec4(position, 1.0); "),n.push("worldPosition = worldMatrix * vec4(dot(worldPosition, modelMatrixCol0), dot(worldPosition, modelMatrixCol1), dot(worldPosition, modelMatrixCol2), 1.0);"),e.entityOffsetsEnabled&&n.push(" worldPosition.xyz = worldPosition.xyz + offset;"),n.push("vec4 viewPosition = viewMatrix * worldPosition; "),n.push("vColor = vec4(float(color.r) / 255.0, float(color.g) / 255.0, float(color.b) / 255.0, 1.0);"),t&&(n.push("vWorldPosition = worldPosition;"),n.push("vFlags = flags;")),n.push("vec4 clipPos = projMatrix * viewPosition;"),e.logarithmicDepthBufferEnabled&&n.push("vFragDepth = 1.0 + clipPos.w;"),n.push("gl_Position = clipPos;"),s.perspectivePoints?(n.push("gl_PointSize = (nearPlaneHeight * pointSize) / clipPos.w;"),n.push("gl_PointSize = max(gl_PointSize, "+Math.floor(s.minPerspectivePointSize)+".0);"),n.push("gl_PointSize = min(gl_PointSize, "+Math.floor(s.maxPerspectivePointSize)+".0);")):n.push("gl_PointSize = pointSize;"),n.push("}"),s.filterIntensity&&n.push("}"),n.push("}"),n}_buildFragmentShader(){const e=this._scene,t=e._sectionPlanesState,s=t.getNumAllocatedSectionPlanes()>0,n=[];if(n.push("#version 300 es"),n.push("// Points instancing color fragment shader"),n.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),n.push("precision highp float;"),n.push("precision highp int;"),n.push("#else"),n.push("precision mediump float;"),n.push("precision mediump int;"),n.push("#endif"),e.logarithmicDepthBufferEnabled&&(n.push("uniform float logDepthBufFC;"),n.push("in float vFragDepth;")),s){n.push("in vec4 vWorldPosition;"),n.push("in float vFlags;");for(let e=0,s=t.getNumAllocatedSectionPlanes();e 1.0) {"),n.push(" discard;"),n.push(" }")),s){n.push(" bool clippable = (int(vFlags) >> 16 & 0xF) == 1;"),n.push(" if (clippable) {"),n.push(" float dist = 0.0;");for(let e=0,s=t.getNumAllocatedSectionPlanes();e 0.0) { discard; }"),n.push("}")}return n.push(" outColor = vColor;"),e.logarithmicDepthBufferEnabled&&n.push("gl_FragDepth = log2( vFragDepth ) * logDepthBufFC * 0.5;"),n.push("}"),n}}class Xr extends Li{_getHash(){return this._scene._sectionPlanesState.getHash()+this._scene.pointsMaterial.hash}drawLayer(e,t,s){super.drawLayer(e,t,s,{colorUniform:!0})}_buildVertexShader(){const e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,s=e.pointsMaterial._state,n=[];return n.push("#version 300 es"),n.push("// Points instancing silhouette vertex shader"),n.push("uniform int renderPass;"),n.push("in vec3 position;"),e.entityOffsetsEnabled&&n.push("in vec3 offset;"),n.push("in float flags;"),n.push("in vec4 color;"),n.push("in vec4 modelMatrixCol0;"),n.push("in vec4 modelMatrixCol1;"),n.push("in vec4 modelMatrixCol2;"),this._addMatricesUniformBlockLines(n),n.push("uniform float pointSize;"),s.perspectivePoints&&n.push("uniform float nearPlaneHeight;"),e.logarithmicDepthBufferEnabled&&(n.push("uniform float logDepthBufFC;"),n.push("out float vFragDepth;")),n.push("uniform vec4 silhouetteColor;"),t&&(n.push("out vec4 vWorldPosition;"),n.push("out float vFlags;")),n.push("out vec4 vColor;"),n.push("void main(void) {"),n.push("int silhouetteFlag = int(flags) >> 4 & 0xF;"),n.push("if (silhouetteFlag != renderPass) {"),n.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),n.push("} else {"),n.push("vec4 worldPosition = positionsDecodeMatrix * vec4(position, 1.0); "),n.push("worldPosition = worldMatrix * vec4(dot(worldPosition, modelMatrixCol0), dot(worldPosition, modelMatrixCol1), dot(worldPosition, modelMatrixCol2), 1.0);"),e.entityOffsetsEnabled&&n.push(" worldPosition.xyz = worldPosition.xyz + offset;"),n.push("vec4 viewPosition = viewMatrix * worldPosition; "),t&&(n.push("vWorldPosition = worldPosition;"),n.push("vFlags = flags;")),n.push("vec4 clipPos = projMatrix * viewPosition;"),e.logarithmicDepthBufferEnabled&&n.push("vFragDepth = 1.0 + clipPos.w;"),n.push("vColor = vec4(float(silhouetteColor.r) / 255.0, float(silhouetteColor.g) / 255.0, float(silhouetteColor.b) / 255.0, float(color.a) / 255.0);"),n.push("gl_Position = clipPos;"),s.perspectivePoints?(n.push("gl_PointSize = (nearPlaneHeight * pointSize) / clipPos.w;"),n.push("gl_PointSize = max(gl_PointSize, "+Math.floor(s.minPerspectivePointSize)+".0);"),n.push("gl_PointSize = min(gl_PointSize, "+Math.floor(s.maxPerspectivePointSize)+".0);")):n.push("gl_PointSize = pointSize;"),n.push("}"),n.push("}"),n}_buildFragmentShader(){const e=this._scene,t=e._sectionPlanesState,s=t.getNumAllocatedSectionPlanes()>0,n=[];if(n.push("#version 300 es"),n.push("// Points instancing silhouette fragment shader"),n.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),n.push("precision highp float;"),n.push("precision highp int;"),n.push("#else"),n.push("precision mediump float;"),n.push("precision mediump int;"),n.push("#endif"),e.logarithmicDepthBufferEnabled&&(n.push("uniform float logDepthBufFC;"),n.push("in float vFragDepth;")),s){n.push("in vec4 vWorldPosition;"),n.push("in float vFlags;");for(let e=0,s=t.getNumAllocatedSectionPlanes();e 1.0) {"),n.push(" discard;"),n.push(" }")),s){n.push(" bool clippable = (int(vFlags) >> 16 & 0xF) == 1;"),n.push(" if (clippable) {"),n.push(" float dist = 0.0;");for(let e=0,s=t.getNumAllocatedSectionPlanes();e 0.0) { discard; }"),n.push("}")}return e.logarithmicDepthBufferEnabled&&n.push("gl_FragDepth = log2( vFragDepth ) * logDepthBufFC * 0.5;"),n.push("outColor = vColor;"),n.push("}"),n}}class qr extends Li{_getHash(){return this._scene._sectionPlanesState.getHash()+this._scene.pointsMaterial.hash}_buildVertexShader(){const e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,s=e.pointsMaterial._state,n=[];return n.push("#version 300 es"),n.push("// Points instancing pick mesh vertex shader"),n.push("uniform int renderPass;"),n.push("in vec3 position;"),e.entityOffsetsEnabled&&n.push("in vec3 offset;"),n.push("in float flags;"),n.push("in vec4 pickColor;"),n.push("in vec4 modelMatrixCol0;"),n.push("in vec4 modelMatrixCol1;"),n.push("in vec4 modelMatrixCol2;"),n.push("uniform bool pickInvisible;"),this._addMatricesUniformBlockLines(n),this._addRemapClipPosLines(n),n.push("uniform float pointSize;"),s.perspectivePoints&&n.push("uniform float nearPlaneHeight;"),e.logarithmicDepthBufferEnabled&&(n.push("uniform float logDepthBufFC;"),n.push("out float vFragDepth;")),t&&(n.push("out vec4 vWorldPosition;"),n.push("out float vFlags;")),n.push("out vec4 vPickColor;"),n.push("void main(void) {"),n.push("int pickFlag = int(flags) >> 12 & 0xF;"),n.push("if (pickFlag != renderPass) {"),n.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),n.push("} else {"),n.push(" vec4 worldPosition = positionsDecodeMatrix * vec4(position, 1.0); "),n.push(" worldPosition = worldMatrix * vec4(dot(worldPosition, modelMatrixCol0), dot(worldPosition, modelMatrixCol1), dot(worldPosition, modelMatrixCol2), 1.0);"),e.entityOffsetsEnabled&&n.push(" worldPosition.xyz = worldPosition.xyz + offset;"),n.push(" vec4 viewPosition = viewMatrix * worldPosition; "),n.push(" vPickColor = vec4(float(pickColor.r) / 255.0, float(pickColor.g) / 255.0, float(pickColor.b) / 255.0, float(pickColor.a) / 255.0);"),t&&(n.push(" vWorldPosition = worldPosition;"),n.push(" vFlags = flags;")),n.push("vec4 clipPos = projMatrix * viewPosition;"),n.push("gl_Position = remapClipPos(clipPos);"),e.logarithmicDepthBufferEnabled&&n.push("vFragDepth = 1.0 + clipPos.w;"),s.perspectivePoints?(n.push("gl_PointSize = (nearPlaneHeight * pointSize) / clipPos.w;"),n.push("gl_PointSize = max(gl_PointSize, "+Math.floor(s.minPerspectivePointSize)+".0);"),n.push("gl_PointSize = min(gl_PointSize, "+Math.floor(s.maxPerspectivePointSize)+".0);")):n.push("gl_PointSize = pointSize;"),n.push("}"),n.push("}"),n}_buildFragmentShader(){const e=this._scene,t=e._sectionPlanesState,s=t.getNumAllocatedSectionPlanes()>0,n=[];if(n.push("#version 300 es"),n.push("// Points instancing pick mesh fragment shader"),n.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),n.push("precision highp float;"),n.push("precision highp int;"),n.push("#else"),n.push("precision mediump float;"),n.push("precision mediump int;"),n.push("#endif"),e.logarithmicDepthBufferEnabled&&(n.push("uniform float logDepthBufFC;"),n.push("in float vFragDepth;")),s){n.push("in vec4 vWorldPosition;"),n.push("in float vFlags;");for(let e=0;e 1.0) {"),n.push(" discard;"),n.push(" }")),s){n.push(" bool clippable = (int(vFlags) >> 16 & 0xF) == 1;"),n.push(" if (clippable) {"),n.push(" float dist = 0.0;");for(let e=0;e 0.0) { discard; }"),n.push("}")}return e.logarithmicDepthBufferEnabled&&n.push("gl_FragDepth = log2( vFragDepth ) * logDepthBufFC * 0.5;"),n.push("outColor = vPickColor; "),n.push("}"),n}}class Jr extends Li{_getHash(){return this._scene._sectionPlanesState.getHash()+this._scene.pointsMaterial.hash}_buildVertexShader(){const e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,s=e.pointsMaterial._state,n=[];return n.push("#version 300 es"),n.push("// Points instancing pick depth vertex shader"),n.push("uniform int renderPass;"),n.push("in vec3 position;"),e.entityOffsetsEnabled&&n.push("in vec3 offset;"),n.push("in float flags;"),n.push("in vec4 modelMatrixCol0;"),n.push("in vec4 modelMatrixCol1;"),n.push("in vec4 modelMatrixCol2;"),n.push("uniform bool pickInvisible;"),this._addMatricesUniformBlockLines(n),this._addRemapClipPosLines(n),n.push("uniform float pointSize;"),s.perspectivePoints&&n.push("uniform float nearPlaneHeight;"),e.logarithmicDepthBufferEnabled&&(n.push("uniform float logDepthBufFC;"),n.push("out float vFragDepth;")),t&&(n.push("out vec4 vWorldPosition;"),n.push("out float vFlags;")),n.push("out vec4 vViewPosition;"),n.push("void main(void) {"),n.push("int pickFlag = int(flags) >> 12 & 0xF;"),n.push("if (pickFlag != renderPass) {"),n.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),n.push("} else {"),n.push(" vec4 worldPosition = positionsDecodeMatrix * vec4(position, 1.0); "),n.push(" worldPosition = worldMatrix * vec4(dot(worldPosition, modelMatrixCol0), dot(worldPosition, modelMatrixCol1), dot(worldPosition, modelMatrixCol2), 1.0);"),e.entityOffsetsEnabled&&n.push(" worldPosition.xyz = worldPosition.xyz + offset;"),n.push(" vec4 viewPosition = viewMatrix * worldPosition; "),t&&(n.push(" vWorldPosition = worldPosition;"),n.push(" vFlags = flags;")),n.push(" vViewPosition = viewPosition;"),n.push("vec4 clipPos = projMatrix * viewPosition;"),n.push("gl_Position = remapClipPos(clipPos);"),e.logarithmicDepthBufferEnabled&&n.push("vFragDepth = 1.0 + clipPos.w;"),n.push("gl_Position = remapClipPos(clipPos);"),s.perspectivePoints?(n.push("gl_PointSize = (nearPlaneHeight * pointSize) / clipPos.w;"),n.push("gl_PointSize = max(gl_PointSize, "+Math.floor(s.minPerspectivePointSize)+".0);"),n.push("gl_PointSize = min(gl_PointSize, "+Math.floor(s.maxPerspectivePointSize)+".0);")):n.push("gl_PointSize = pointSize;"),n.push("}"),n.push("}"),n}_buildFragmentShader(){const e=this._scene,t=e._sectionPlanesState,s=t.getNumAllocatedSectionPlanes()>0,n=[];if(n.push("#version 300 es"),n.push("// Points instancing pick depth fragment shader"),n.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),n.push("precision highp float;"),n.push("precision highp int;"),n.push("#else"),n.push("precision mediump float;"),n.push("precision mediump int;"),n.push("#endif"),e.logarithmicDepthBufferEnabled&&(n.push("uniform float logDepthBufFC;"),n.push("in float vFragDepth;")),n.push("uniform float pickZNear;"),n.push("uniform float pickZFar;"),s){n.push("in vec4 vWorldPosition;"),n.push("in float vFlags;");for(let e=0;e 1.0) {"),n.push(" discard;"),n.push(" }")),s){n.push(" bool clippable = (int(vFlags) >> 16 & 0xF) == 1;"),n.push(" if (clippable) {"),n.push(" float dist = 0.0;");for(let e=0;e 0.0) { discard; }"),n.push("}")}return e.logarithmicDepthBufferEnabled&&n.push("gl_FragDepth = log2( vFragDepth ) * logDepthBufFC * 0.5;"),n.push(" float zNormalizedDepth = abs((pickZNear + vViewPosition.z) / (pickZFar - pickZNear));"),n.push(" outColor = packDepth(zNormalizedDepth); "),n.push("}"),n}}class Zr extends Li{_getHash(){return this._scene._sectionPlanesState.getHash()+this._scene.pointsMaterial.hash}_buildVertexShader(){const e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,s=e.pointsMaterial._state,n=[];return n.push("#version 300 es"),n.push("// Points instancing occlusion vertex shader"),n.push("uniform int renderPass;"),n.push("in vec3 position;"),e.entityOffsetsEnabled&&n.push("in vec3 offset;"),n.push("in vec4 color;"),n.push("in float flags;"),n.push("in vec4 modelMatrixCol0;"),n.push("in vec4 modelMatrixCol1;"),n.push("in vec4 modelMatrixCol2;"),this._addMatricesUniformBlockLines(n),n.push("uniform float pointSize;"),s.perspectivePoints&&n.push("uniform float nearPlaneHeight;"),e.logarithmicDepthBufferEnabled&&(n.push("uniform float logDepthBufFC;"),n.push("out float vFragDepth;")),t&&(n.push("out vec4 vWorldPosition;"),n.push("out float vFlags;")),n.push("void main(void) {"),n.push("int colorFlag = int(flags) & 0xF;"),n.push("if (colorFlag != renderPass) {"),n.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),n.push("} else {"),n.push(" vec4 worldPosition = positionsDecodeMatrix * vec4(position, 1.0); "),n.push(" worldPosition = worldMatrix * vec4(dot(worldPosition, modelMatrixCol0), dot(worldPosition, modelMatrixCol1), dot(worldPosition, modelMatrixCol2), 1.0);"),e.entityOffsetsEnabled&&n.push(" worldPosition.xyz = worldPosition.xyz + offset;"),n.push(" vec4 viewPosition = viewMatrix * worldPosition; "),t&&(n.push(" vWorldPosition = worldPosition;"),n.push("vFlags = flags;")),n.push("vec4 clipPos = projMatrix * viewPosition;"),e.logarithmicDepthBufferEnabled&&n.push("vFragDepth = 1.0 + clipPos.w;"),n.push("gl_Position = clipPos;"),s.perspectivePoints?(n.push("gl_PointSize = (nearPlaneHeight * pointSize) / clipPos.w;"),n.push("gl_PointSize = max(gl_PointSize, "+Math.floor(s.minPerspectivePointSize)+".0);"),n.push("gl_PointSize = min(gl_PointSize, "+Math.floor(s.maxPerspectivePointSize)+".0);")):n.push("gl_PointSize = pointSize;"),n.push("}"),n.push("}"),n}_buildFragmentShader(){const e=this._scene,t=e._sectionPlanesState,s=t.getNumAllocatedSectionPlanes()>0,n=[];if(n.push("#version 300 es"),n.push("// Points instancing occlusion vertex shader"),n.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),n.push("precision highp float;"),n.push("precision highp int;"),n.push("#else"),n.push("precision mediump float;"),n.push("precision mediump int;"),n.push("#endif"),e.logarithmicDepthBufferEnabled&&(n.push("uniform float logDepthBufFC;"),n.push("in float vFragDepth;")),s){n.push("in vec4 vWorldPosition;"),n.push("in float vFlags;");for(let e=0;e 1.0) {"),n.push(" discard;"),n.push(" }")),s){n.push(" bool clippable = (int(vFlags) >> 16 & 0xF) == 1;"),n.push(" if (clippable) {"),n.push(" float dist = 0.0;");for(let e=0;e 0.0) { discard; }"),n.push("}")}return n.push(" outColor = vec4(0.0, 0.0, 1.0, 1.0); "),e.logarithmicDepthBufferEnabled&&n.push("gl_FragDepth = log2( vFragDepth ) * logDepthBufFC * 0.5;"),n.push("}"),n}}class $r extends Li{_getHash(){return this._scene._sectionPlanesState.getHash()+this._scene.pointsMaterial.hash}_buildVertexShader(){const e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,s=e.pointsMaterial._state,n=[];return n.push("#version 300 es"),n.push("// Points instancing depth vertex shader"),n.push("uniform int renderPass;"),n.push("in vec3 position;"),e.entityOffsetsEnabled&&n.push("in vec3 offset;"),n.push("in float flags;"),n.push("in vec4 modelMatrixCol0;"),n.push("in vec4 modelMatrixCol1;"),n.push("in vec4 modelMatrixCol2;"),this._addMatricesUniformBlockLines(n),n.push("uniform float pointSize;"),s.perspectivePoints&&n.push("uniform float nearPlaneHeight;"),e.logarithmicDepthBufferEnabled&&(n.push("uniform float logDepthBufFC;"),n.push("out float vFragDepth;")),t&&(n.push("out vec4 vWorldPosition;"),n.push("out float vFlags;")),n.push("void main(void) {"),n.push("int colorFlag = int(flags) & 0xF;"),n.push("if (colorFlag != renderPass) {"),n.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),n.push("} else {"),n.push(" vec4 worldPosition = positionsDecodeMatrix * vec4(position, 1.0); "),n.push(" worldPosition = worldMatrix * vec4(dot(worldPosition, modelMatrixCol0), dot(worldPosition, modelMatrixCol1), dot(worldPosition, modelMatrixCol2), 1.0);"),e.entityOffsetsEnabled&&n.push(" worldPosition.xyz = worldPosition.xyz + offset;"),n.push(" vec4 viewPosition = viewMatrix * worldPosition; "),t&&(n.push("vWorldPosition = worldPosition;"),n.push("vFlags = flags;")),n.push("vec4 clipPos = projMatrix * viewPosition;"),e.logarithmicDepthBufferEnabled&&n.push("vFragDepth = 1.0 + clipPos.w;"),n.push("gl_Position = clipPos;"),s.perspectivePoints?(n.push("gl_PointSize = (nearPlaneHeight * pointSize) / clipPos.w;"),n.push("gl_PointSize = max(gl_PointSize, "+Math.floor(s.minPerspectivePointSize)+".0);"),n.push("gl_PointSize = min(gl_PointSize, "+Math.floor(s.maxPerspectivePointSize)+".0);")):n.push("gl_PointSize = pointSize;"),n.push("}"),n.push("}"),n}_buildFragmentShader(){const e=this._scene,t=e._sectionPlanesState;let s,n;const i=t.getNumAllocatedSectionPlanes()>0,a=[];if(a.push("#version 300 es"),a.push("// Points instancing depth vertex shader"),a.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),a.push("precision highp float;"),a.push("precision highp int;"),a.push("#else"),a.push("precision mediump float;"),a.push("precision mediump int;"),a.push("#endif"),e.logarithmicDepthBufferEnabled&&(a.push("uniform float logDepthBufFC;"),a.push("in float vFragDepth;")),i)for(a.push("in vec4 vWorldPosition;"),a.push("in float vFlags;"),s=0,n=t.getNumAllocatedSectionPlanes();s 1.0) {"),a.push(" discard;"),a.push(" }")),i){for(a.push(" bool clippable = (int(vFlags) >> 16 & 0xF) == 1;"),a.push(" if (clippable) {"),a.push(" float dist = 0.0;"),s=0,n=t.getNumAllocatedSectionPlanes();s 0.0) { discard; }"),a.push("}")}return a.push(" outColor = packDepthToRGBA( gl_FragCoord.z); "),e.logarithmicDepthBufferEnabled&&a.push("gl_FragDepth = log2( vFragDepth ) * logDepthBufFC * 0.5;"),a.push("}"),a}}class el extends Li{_buildVertexShader(){const e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,s=[];return s.push("#version 300 es"),s.push("// Instancing geometry shadow drawing vertex shader"),s.push("in vec3 position;"),e.entityOffsetsEnabled&&s.push("in vec3 offset;"),s.push("in vec4 color;"),s.push("in float flags;"),s.push("in vec4 modelMatrixCol0;"),s.push("in vec4 modelMatrixCol1;"),s.push("in vec4 modelMatrixCol2;"),s.push("uniform mat4 shadowViewMatrix;"),s.push("uniform mat4 shadowProjMatrix;"),this._addMatricesUniformBlockLines(s),s.push("uniform float pointSize;"),t&&(s.push("out vec4 vWorldPosition;"),s.push("out float vFlags;")),s.push("void main(void) {"),s.push("int colorFlag = int(flags) & 0xF;"),s.push("bool visible = (colorFlag > 0);"),s.push("bool transparent = ((float(color.a) / 255.0) < 1.0);"),s.push("if (!visible || transparent) {"),s.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),s.push("} else {"),s.push(" vec4 worldPosition = positionsDecodeMatrix * vec4(position, 1.0); "),s.push(" worldPosition = vec4(dot(worldPosition, modelMatrixCol0), dot(worldPosition, modelMatrixCol1), dot(worldPosition, modelMatrixCol2), 1.0);"),e.entityOffsetsEnabled&&s.push(" worldPosition.xyz = worldPosition.xyz + offset;"),s.push(" vec4 viewPosition = shadowViewMatrix * worldPosition; "),t&&(s.push("vWorldPosition = worldPosition;"),s.push("vFlags = flags;")),s.push(" gl_Position = shadowProjMatrix * viewPosition;"),s.push("}"),s.push("gl_PointSize = pointSize;"),s.push("}"),s}_buildFragmentShader(){const e=this._scene,t=e._sectionPlanesState,s=t.getNumAllocatedSectionPlanes()>0,n=[];if(n.push("#version 300 es"),n.push("// Instancing geometry depth drawing fragment shader"),n.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),n.push("precision highp float;"),n.push("precision highp int;"),n.push("#else"),n.push("precision mediump float;"),n.push("precision mediump int;"),n.push("#endif"),e.logarithmicDepthBufferEnabled&&(n.push("uniform float logDepthBufFC;"),n.push("in float vFragDepth;")),s){n.push("in vec4 vWorldPosition;"),n.push("in float vFlags;");for(let e=0,s=t.getNumAllocatedSectionPlanes();e 1.0) {"),n.push(" discard;"),n.push(" }"),s){n.push(" bool clippable = (int(vFlags) >> 16 & 0xF) == 1;"),n.push(" if (clippable) {"),n.push(" float dist = 0.0;");for(let e=0,s=t.getNumAllocatedSectionPlanes();e 0.0) { discard; }"),n.push("}")}return e.logarithmicDepthBufferEnabled&&n.push("gl_FragDepth = log2( vFragDepth ) * logDepthBufFC * 0.5;"),n.push(" outColor = vec4(packNormalToRGB(vViewNormal), 1.0); "),n.push("}"),n}}class tl{constructor(e){this._scene=e}_compile(){this._colorRenderer&&!this._colorRenderer.getValid()&&(this._colorRenderer.destroy(),this._colorRenderer=null),this._depthRenderer&&!this._depthRenderer.getValid()&&(this._depthRenderer.destroy(),this._depthRenderer=null),this._silhouetteRenderer&&!this._silhouetteRenderer.getValid()&&(this._silhouetteRenderer.destroy(),this._silhouetteRenderer=null),this._pickMeshRenderer&&!this._pickMeshRenderer.getValid()&&(this._pickMeshRenderer.destroy(),this._pickMeshRenderer=null),this._pickDepthRenderer&&!this._pickDepthRenderer.getValid()&&(this._pickDepthRenderer.destroy(),this._pickDepthRenderer=null),this._occlusionRenderer&&!1===this._occlusionRenderer.getValid()&&(this._occlusionRenderer.destroy(),this._occlusionRenderer=null),this._shadowRenderer&&!this._shadowRenderer.getValid()&&(this._shadowRenderer.destroy(),this._shadowRenderer=null)}get colorRenderer(){return this._colorRenderer||(this._colorRenderer=new Yr(this._scene,!1)),this._colorRenderer}get silhouetteRenderer(){return this._silhouetteRenderer||(this._silhouetteRenderer=new Xr(this._scene)),this._silhouetteRenderer}get depthRenderer(){return this._depthRenderer||(this._depthRenderer=new $r(this._scene)),this._depthRenderer}get pickMeshRenderer(){return this._pickMeshRenderer||(this._pickMeshRenderer=new qr(this._scene)),this._pickMeshRenderer}get pickDepthRenderer(){return this._pickDepthRenderer||(this._pickDepthRenderer=new Jr(this._scene)),this._pickDepthRenderer}get occlusionRenderer(){return this._occlusionRenderer||(this._occlusionRenderer=new Zr(this._scene)),this._occlusionRenderer}get shadowRenderer(){return this._shadowRenderer||(this._shadowRenderer=new el(this._scene)),this._shadowRenderer}_destroy(){this._colorRenderer&&this._colorRenderer.destroy(),this._depthRenderer&&this._depthRenderer.destroy(),this._silhouetteRenderer&&this._silhouetteRenderer.destroy(),this._pickMeshRenderer&&this._pickMeshRenderer.destroy(),this._pickDepthRenderer&&this._pickDepthRenderer.destroy(),this._occlusionRenderer&&this._occlusionRenderer.destroy(),this._shadowRenderer&&this._shadowRenderer.destroy()}}const sl={};const nl=new Uint8Array(4),il=new Float32Array(1);h.vec4([0,0,0,1]),h.vec4([0,0,0,1]),h.vec4([0,0,0,1]);const al=new Float32Array(3),rl=new Float32Array(4);class ll{constructor(e){this.model=e.model,this.material=e.material,this.sortId="PointsInstancingLayer",this.layerIndex=e.layerIndex,this._pointsInstancingRenderers=function(e){const t=e.id;let s=sl[t];return s||(s=new tl(e),sl[t]=s,s._compile(),e.on("compile",(()=>{s._compile()})),e.on("destroyed",(()=>{delete sl[t],s._destroy()}))),s}(e.model.scene),this._aabb=h.collapseAABB3(),this._state=new Je({obb:h.OBB3(),numInstances:0,origin:e.origin?h.vec3(e.origin):null,geometry:e.geometry,positionsDecodeMatrix:e.geometry.positionsDecodeMatrix,colorsBuf:null,flagsBuf:null,offsetsBuf:null,modelMatrixCol0Buf:null,modelMatrixCol1Buf:null,modelMatrixCol2Buf:null,pickColorsBuf:null}),this._numPortions=0,this._numVisibleLayerPortions=0,this._numTransparentLayerPortions=0,this._numXRayedLayerPortions=0,this._numHighlightedLayerPortions=0,this._numSelectedLayerPortions=0,this._numClippableLayerPortions=0,this._numEdgesLayerPortions=0,this._numPickableLayerPortions=0,this._numCulledLayerPortions=0,this.numIndices=e.geometry.numIndices,this._pickColors=[],this._offsets=[],this._modelMatrixCol0=[],this._modelMatrixCol1=[],this._modelMatrixCol2=[],this._portions=[],this._meshes=[],this._aabb=h.collapseAABB3(),this.aabbDirty=!0,this._finalized=!1}get aabb(){if(this.aabbDirty){h.collapseAABB3(this._aabb);for(let e=0,t=this._meshes.length;e0){let n=!1;s.flagsBuf=new Oe(e,e.ARRAY_BUFFER,new Float32Array(t),t,1,e.DYNAMIC_DRAW,n)}if(this.model.scene.entityOffsetsEnabled&&this._offsets.length>0){const t=!1;s.offsetsBuf=new Oe(e,e.ARRAY_BUFFER,new Float32Array(this._offsets),this._offsets.length,3,e.DYNAMIC_DRAW,t),this._offsets=[]}if(n.positionsCompressed&&n.positionsCompressed.length>0){const t=!1;s.positionsBuf=new Oe(e,e.ARRAY_BUFFER,n.positionsCompressed,n.positionsCompressed.length,3,e.STATIC_DRAW,t),s.positionsDecodeMatrix=h.mat4(n.positionsDecodeMatrix)}if(n.colorsCompressed&&n.colorsCompressed.length>0){const t=new Uint8Array(n.colorsCompressed),i=!1;s.colorsBuf=new Oe(e,e.ARRAY_BUFFER,t,t.length,4,e.STATIC_DRAW,i)}if(this._modelMatrixCol0.length>0){const t=!1;s.modelMatrixCol0Buf=new Oe(e,e.ARRAY_BUFFER,new Float32Array(this._modelMatrixCol0),this._modelMatrixCol0.length,4,e.STATIC_DRAW,t),s.modelMatrixCol1Buf=new Oe(e,e.ARRAY_BUFFER,new Float32Array(this._modelMatrixCol1),this._modelMatrixCol1.length,4,e.STATIC_DRAW,t),s.modelMatrixCol2Buf=new Oe(e,e.ARRAY_BUFFER,new Float32Array(this._modelMatrixCol2),this._modelMatrixCol2.length,4,e.STATIC_DRAW,t),this._modelMatrixCol0=[],this._modelMatrixCol1=[],this._modelMatrixCol2=[]}if(this._pickColors.length>0){const t=!1;s.pickColorsBuf=new Oe(e,e.ARRAY_BUFFER,new Uint8Array(this._pickColors),this._pickColors.length,4,e.STATIC_DRAW,t),this._pickColors=[]}s.geometry=null,this._finalized=!0}initFlags(e,t,s){t&Q&&(this._numVisibleLayerPortions++,this.model.numVisibleLayerPortions++),t&q&&(this._numHighlightedLayerPortions++,this.model.numHighlightedLayerPortions++),t&X&&(this._numXRayedLayerPortions++,this.model.numXRayedLayerPortions++),t&J&&(this._numSelectedLayerPortions++,this.model.numSelectedLayerPortions++),t&K&&(this._numClippableLayerPortions++,this.model.numClippableLayerPortions++),t&Z&&(this._numEdgesLayerPortions++,this.model.numEdgesLayerPortions++),t&z&&(this._numPickableLayerPortions++,this.model.numPickableLayerPortions++),t&W&&(this._numCulledLayerPortions++,this.model.numCulledLayerPortions++),s&&(this._numTransparentLayerPortions++,this.model.numTransparentLayerPortions++),this._setFlags(e,t,s)}setVisible(e,t,s){if(!this._finalized)throw"Not finalized";t&Q?(this._numVisibleLayerPortions++,this.model.numVisibleLayerPortions++):(this._numVisibleLayerPortions--,this.model.numVisibleLayerPortions--),this._setFlags(e,t,s)}setHighlighted(e,t,s){if(!this._finalized)throw"Not finalized";t&q?(this._numHighlightedLayerPortions++,this.model.numHighlightedLayerPortions++):(this._numHighlightedLayerPortions--,this.model.numHighlightedLayerPortions--),this._setFlags(e,t,s)}setXRayed(e,t,s){if(!this._finalized)throw"Not finalized";t&X?(this._numXRayedLayerPortions++,this.model.numXRayedLayerPortions++):(this._numXRayedLayerPortions--,this.model.numXRayedLayerPortions--),this._setFlags(e,t,s)}setSelected(e,t,s){if(!this._finalized)throw"Not finalized";t&J?(this._numSelectedLayerPortions++,this.model.numSelectedLayerPortions++):(this._numSelectedLayerPortions--,this.model.numSelectedLayerPortions--),this._setFlags(e,t,s)}setEdges(e,t,s){if(!this._finalized)throw"Not finalized";t&Z?(this._numEdgesLayerPortions++,this.model.numEdgesLayerPortions++):(this._numEdgesLayerPortions--,this.model.numEdgesLayerPortions--),this._setFlags(e,t,s)}setClippable(e,t){if(!this._finalized)throw"Not finalized";t&K?(this._numClippableLayerPortions++,this.model.numClippableLayerPortions++):(this._numClippableLayerPortions--,this.model.numClippableLayerPortions--),this._setFlags(e,t)}setCollidable(e,t){if(!this._finalized)throw"Not finalized"}setPickable(e,t,s){if(!this._finalized)throw"Not finalized";t&z?(this._numPickableLayerPortions++,this.model.numPickableLayerPortions++):(this._numPickableLayerPortions--,this.model.numPickableLayerPortions--),this._setFlags(e,t,s)}setCulled(e,t,s){if(!this._finalized)throw"Not finalized";t&W?(this._numCulledLayerPortions++,this.model.numCulledLayerPortions++):(this._numCulledLayerPortions--,this.model.numCulledLayerPortions--),this._setFlags(e,t,s)}setColor(e,t){if(!this._finalized)throw"Not finalized";nl[0]=t[0],nl[1]=t[1],nl[2]=t[2],this._state.colorsBuf.setData(nl,3*e)}setTransparent(e,t,s){s?(this._numTransparentLayerPortions++,this.model.numTransparentLayerPortions++):(this._numTransparentLayerPortions--,this.model.numTransparentLayerPortions--),this._setFlags(e,t,s)}_setFlags(e,t,s){if(!this._finalized)throw"Not finalized";const n=!!(t&Q),i=!!(t&X),a=!!(t&q),r=!!(t&J),l=!!(t&Z),o=!!(t&z),c=!!(t&W);let u,h;u=!n||c||i||a&&!this.model.scene.highlightMaterial.glowThrough||r&&!this.model.scene.selectedMaterial.glowThrough?Ei.NOT_RENDERED:s?Ei.COLOR_TRANSPARENT:Ei.COLOR_OPAQUE,h=!n||c?Ei.NOT_RENDERED:r?Ei.SILHOUETTE_SELECTED:a?Ei.SILHOUETTE_HIGHLIGHTED:i?Ei.SILHOUETTE_XRAYED:Ei.NOT_RENDERED;let p=0;p=!n||c?Ei.NOT_RENDERED:r?Ei.EDGES_SELECTED:a?Ei.EDGES_HIGHLIGHTED:i?Ei.EDGES_XRAYED:l?s?Ei.EDGES_COLOR_TRANSPARENT:Ei.EDGES_COLOR_OPAQUE:Ei.NOT_RENDERED;let A=0;A|=u,A|=h<<4,A|=p<<8,A|=(n&&!c&&o?Ei.PICK:Ei.NOT_RENDERED)<<12,A|=(t&K?255:0)<<16,il[0]=A,this._state.flagsBuf.setData(il,e)}setOffset(e,t){if(!this._finalized)throw"Not finalized";this.model.scene.entityOffsetsEnabled?(al[0]=t[0],al[1]=t[1],al[2]=t[2],this._state.offsetsBuf.setData(al,3*e)):this.model.error("Entity#offset not enabled for this Viewer")}setMatrix(e,t){if(!this._finalized)throw"Not finalized";const s=4*e;rl[0]=t[0],rl[1]=t[4],rl[2]=t[8],rl[3]=t[12],this._state.modelMatrixCol0Buf.setData(rl,s),rl[0]=t[1],rl[1]=t[5],rl[2]=t[9],rl[3]=t[13],this._state.modelMatrixCol1Buf.setData(rl,s),rl[0]=t[2],rl[1]=t[6],rl[2]=t[10],rl[3]=t[14],this._state.modelMatrixCol2Buf.setData(rl,s)}drawColorOpaque(e,t){this._numCulledLayerPortions!==this._numPortions&&0!==this._numVisibleLayerPortions&&this._numTransparentLayerPortions!==this._numPortions&&this._numXRayedLayerPortions!==this._numPortions&&this._pointsInstancingRenderers.colorRenderer&&this._pointsInstancingRenderers.colorRenderer.drawLayer(t,this,Ei.COLOR_OPAQUE)}drawColorTransparent(e,t){this._numCulledLayerPortions!==this._numPortions&&0!==this._numVisibleLayerPortions&&0!==this._numTransparentLayerPortions&&this._numXRayedLayerPortions!==this._numPortions&&this._pointsInstancingRenderers.colorRenderer&&this._pointsInstancingRenderers.colorRenderer.drawLayer(t,this,Ei.COLOR_TRANSPARENT)}drawDepth(e,t){}drawNormals(e,t){}drawSilhouetteXRayed(e,t){this._numCulledLayerPortions!==this._numPortions&&0!==this._numVisibleLayerPortions&&0!==this._numXRayedLayerPortions&&this._pointsInstancingRenderers.silhouetteRenderer&&this._pointsInstancingRenderers.silhouetteRenderer.drawLayer(t,this,Ei.SILHOUETTE_XRAYED)}drawSilhouetteHighlighted(e,t){this._numCulledLayerPortions!==this._numPortions&&0!==this._numVisibleLayerPortions&&0!==this._numHighlightedLayerPortions&&this._pointsInstancingRenderers.silhouetteRenderer&&this._pointsInstancingRenderers.silhouetteRenderer.drawLayer(t,this,Ei.SILHOUETTE_HIGHLIGHTED)}drawSilhouetteSelected(e,t){this._numCulledLayerPortions!==this._numPortions&&0!==this._numVisibleLayerPortions&&0!==this._numSelectedLayerPortions&&this._pointsInstancingRenderers.silhouetteRenderer&&this._pointsInstancingRenderers.silhouetteRenderer.drawLayer(t,this,Ei.SILHOUETTE_SELECTED)}drawEdgesColorOpaque(e,t){}drawEdgesColorTransparent(e,t){}drawEdgesHighlighted(e,t){}drawEdgesSelected(e,t){}drawEdgesXRayed(e,t){}drawOcclusion(e,t){this._numCulledLayerPortions!==this._numPortions&&0!==this._numVisibleLayerPortions&&this._pointsInstancingRenderers.occlusionRenderer&&this._pointsInstancingRenderers.occlusionRenderer.drawLayer(t,this,Ei.COLOR_OPAQUE)}drawShadow(e,t){}drawPickMesh(e,t){this._numCulledLayerPortions!==this._numPortions&&0!==this._numVisibleLayerPortions&&this._pointsInstancingRenderers.pickMeshRenderer&&this._pointsInstancingRenderers.pickMeshRenderer.drawLayer(t,this,Ei.PICK)}drawPickDepths(e,t){this._numCulledLayerPortions!==this._numPortions&&0!==this._numVisibleLayerPortions&&this._pointsInstancingRenderers.pickDepthRenderer&&this._pointsInstancingRenderers.pickDepthRenderer.drawLayer(t,this,Ei.PICK)}drawPickNormals(e,t){}destroy(){const e=this._state;e.colorsBuf&&(e.colorsBuf.destroy(),e.colorsBuf=null),e.flagsBuf&&(e.flagsBuf.destroy(),e.flagsBuf=null),e.offsetsBuf&&(e.offsetsBuf.destroy(),e.offsetsBuf=null),e.modelMatrixCol0Buf&&(e.modelMatrixCol0Buf.destroy(),e.modelMatrixCol0Buf=null),e.modelMatrixCol1Buf&&(e.modelMatrixCol1Buf.destroy(),e.modelMatrixCol1Buf=null),e.modelMatrixCol2Buf&&(e.modelMatrixCol2Buf.destroy(),e.modelMatrixCol2Buf=null),e.pickColorsBuf&&(e.pickColorsBuf.destroy(),e.pickColorsBuf=null),e.destroy()}}class ol{constructor(e){this.id=e.id,this.colorTexture=e.colorTexture,this.metallicRoughnessTexture=e.metallicRoughnessTexture,this.normalsTexture=e.normalsTexture,this.emissiveTexture=e.emissiveTexture,this.occlusionTexture=e.occlusionTexture}destroy(){}}class cl{constructor(e){this.id=e.id,this.texture=e.texture}destroy(){this.texture&&(this.texture.destroy(),this.texture=null)}}const ul={enabled:!1,files:{},add:function(e,t){!1!==this.enabled&&(this.files[e]=t)},get:function(e){if(!1!==this.enabled)return this.files[e]},remove:function(e){delete this.files[e]},clear:function(){this.files={}}};class hl{constructor(e,t,s){this.isLoading=!1,this.itemsLoaded=0,this.itemsTotal=0,this.urlModifier=void 0,this.handlers=[],this.onStart=void 0,this.onLoad=e,this.onProgress=t,this.onError=s}itemStart(e){this.itemsTotal++,!1===this.isLoading&&void 0!==this.onStart&&this.onStart(e,this.itemsLoaded,this.itemsTotal),this.isLoading=!0}itemEnd(e){this.itemsLoaded++,void 0!==this.onProgress&&this.onProgress(e,this.itemsLoaded,this.itemsTotal),this.itemsLoaded===this.itemsTotal&&(this.isLoading=!1,void 0!==this.onLoad&&this.onLoad())}itemError(e){void 0!==this.onError&&this.onError(e)}resolveURL(e){return this.urlModifier?this.urlModifier(e):e}setURLModifier(e){return this.urlModifier=e,this}addHandler(e,t){return this.handlers.push(e,t),this}removeHandler(e){const t=this.handlers.indexOf(e);return-1!==t&&this.handlers.splice(t,2),this}getHandler(e){for(let t=0,s=this.handlers.length;t{t&&t(i),this.manager.itemEnd(e)}),0),i;if(void 0!==dl[e])return void dl[e].push({onLoad:t,onProgress:s,onError:n});dl[e]=[],dl[e].push({onLoad:t,onProgress:s,onError:n});const a=new Request(e,{headers:new Headers(this.requestHeader),credentials:this.withCredentials?"include":"same-origin"}),r=this.mimeType,l=this.responseType;fetch(a).then((t=>{if(200===t.status||0===t.status){if(0===t.status&&console.warn("FileLoader: HTTP Status 0 received."),"undefined"==typeof ReadableStream||void 0===t.body.getReader)return t;const s=dl[e],n=t.body.getReader(),i=t.headers.get("Content-Length"),a=i?parseInt(i):0,r=0!==a;let l=0;const o=new ReadableStream({start(e){!function t(){n.read().then((({done:n,value:i})=>{if(n)e.close();else{l+=i.byteLength;const n=new ProgressEvent("progress",{lengthComputable:r,loaded:l,total:a});for(let e=0,t=s.length;e{switch(l){case"arraybuffer":return e.arrayBuffer();case"blob":return e.blob();case"document":return e.text().then((e=>(new DOMParser).parseFromString(e,r)));case"json":return e.json();default:if(void 0===r)return e.text();{const t=/charset="?([^;"\s]*)"?/i.exec(r),s=t&&t[1]?t[1].toLowerCase():void 0,n=new TextDecoder(s);return e.arrayBuffer().then((e=>n.decode(e)))}}})).then((t=>{ul.add(e,t);const s=dl[e];delete dl[e];for(let e=0,n=s.length;e{const s=dl[e];if(void 0===s)throw this.manager.itemError(e),t;delete dl[e];for(let e=0,n=s.length;e{this.manager.itemEnd(e)})),this.manager.itemStart(e)}setResponseType(e){return this.responseType=e,this}setMimeType(e){return this.mimeType=e,this}}class Il{constructor(e=4){this.pool=e,this.queue=[],this.workers=[],this.workersResolve=[],this.workerStatus=0}_initWorker(e){if(!this.workers[e]){const t=this.workerCreator();t.addEventListener("message",this._onMessage.bind(this,e)),this.workers[e]=t}}_getIdleWorker(){for(let e=0;e{const n=this._getIdleWorker();-1!==n?(this._initWorker(n),this.workerStatus|=1<e.terminate())),this.workersResolve.length=0,this.workers.length=0,this.queue.length=0,this.workerStatus=0}}let yl=0;class ml{constructor({viewer:e,transcoderPath:t,workerLimit:s}){this._transcoderPath=t||"https://cdn.jsdelivr.net/npm/@xeokit/xeokit-sdk/dist/basis/",this._transcoderBinary=null,this._transcoderPending=null,this._workerPool=new Il,this._workerSourceURL="",s&&this._workerPool.setWorkerLimit(s);const n=e.capabilities;this._workerConfig={astcSupported:n.astcSupported,etc1Supported:n.etc1Supported,etc2Supported:n.etc2Supported,dxtSupported:n.dxtSupported,bptcSupported:n.bptcSupported,pvrtcSupported:n.pvrtcSupported},this._supportedFileTypes=["xkt2"]}_init(){if(!this._transcoderPending){const e=new fl;e.setPath(this._transcoderPath),e.setWithCredentials(this.withCredentials);const t=e.loadAsync("basis_transcoder.js"),s=new fl;s.setPath(this._transcoderPath),s.setResponseType("arraybuffer"),s.setWithCredentials(this.withCredentials);const n=s.loadAsync("basis_transcoder.wasm");this._transcoderPending=Promise.all([t,n]).then((([e,t])=>{const s=ml.BasisWorker.toString(),n=["/* constants */","let _EngineFormat = "+JSON.stringify(ml.EngineFormat),"let _TranscoderFormat = "+JSON.stringify(ml.TranscoderFormat),"let _BasisFormat = "+JSON.stringify(ml.BasisFormat),"/* basis_transcoder.js */",e,"/* worker */",s.substring(s.indexOf("{")+1,s.lastIndexOf("}"))].join("\n");this._workerSourceURL=URL.createObjectURL(new Blob([n])),this._transcoderBinary=t,this._workerPool.setWorkerCreator((()=>{const e=new Worker(this._workerSourceURL),t=this._transcoderBinary.slice(0);return e.postMessage({type:"init",config:this._workerConfig,transcoderBinary:t},[t]),e}))})),yl>0&&console.warn("KTX2TextureTranscoder: Multiple active KTX2TextureTranscoder may cause performance issues. Use a single KTX2TextureTranscoder instance, or call .dispose() on old instances."),yl++}return this._transcoderPending}transcode(e,t,s={}){return new Promise(((n,i)=>{const a=s;this._init().then((()=>this._workerPool.postMessage({type:"transcode",buffers:e,taskConfig:a},e))).then((e=>{const s=e.data,{mipmaps:a,width:r,height:l,format:o,type:c,error:u,dfdTransferFn:h,dfdFlags:p}=s;if("error"===c)return i(u);t.setCompressedData({mipmaps:a,props:{format:o,minFilter:1===a.length?1006:1008,magFilter:1===a.length?1006:1008,encoding:2===h?3001:3e3,premultiplyAlpha:!!(1&p)}}),n()}))}))}destroy(){URL.revokeObjectURL(this._workerSourceURL),this._workerPool.destroy(),yl--}}ml.BasisFormat={ETC1S:0,UASTC_4x4:1},ml.TranscoderFormat={ETC1:0,ETC2:1,BC1:2,BC3:3,BC4:4,BC5:5,BC7_M6_OPAQUE_ONLY:6,BC7_M5:7,PVRTC1_4_RGB:8,PVRTC1_4_RGBA:9,ASTC_4x4:10,ATC_RGB:11,ATC_RGBA_INTERPOLATED_ALPHA:12,RGBA32:13,RGB565:14,BGR565:15,RGBA4444:16},ml.EngineFormat={RGBAFormat:1023,RGBA_ASTC_4x4_Format:37808,RGBA_BPTC_Format:36492,RGBA_ETC2_EAC_Format:37496,RGBA_PVRTC_4BPPV1_Format:35842,RGBA_S3TC_DXT5_Format:33779,RGB_ETC1_Format:36196,RGB_ETC2_Format:37492,RGB_PVRTC_4BPPV1_Format:35840,RGB_S3TC_DXT1_Format:33776},ml.BasisWorker=function(){let e,t,s;const n=_EngineFormat,i=_TranscoderFormat,a=_BasisFormat;self.addEventListener("message",(function(r){const u=r.data;switch(u.type){case"init":e=u.config,h=u.transcoderBinary,t=new Promise((e=>{s={wasmBinary:h,onRuntimeInitialized:e},BASIS(s)})).then((()=>{s.initializeBasis(),void 0===s.KTX2File&&console.warn("KTX2TextureTranscoder: Please update Basis Universal transcoder.")}));break;case"transcode":t.then((()=>{try{const{width:t,height:r,hasAlpha:h,mipmaps:p,format:A,dfdTransferFn:d,dfdFlags:f}=function(t){const r=new s.KTX2File(new Uint8Array(t));function u(){r.close(),r.delete()}if(!r.isValid())throw u(),new Error("KTX2TextureTranscoder: Invalid or unsupported .ktx2 file");const h=r.isUASTC()?a.UASTC_4x4:a.ETC1S,p=r.getWidth(),A=r.getHeight(),d=r.getLevels(),f=r.getHasAlpha(),I=r.getDFDTransferFunc(),y=r.getDFDFlags(),{transcoderFormat:m,engineFormat:v}=function(t,s,r,u){let h,p;const A=t===a.ETC1S?l:o;for(let n=0;n{delete vl[t],s.destroy()}))),s} /** * @author https://github.com/tmarti, with support from https://tribia.com/ * @license MIT @@ -14,7 +14,7 @@ /** * @author https://github.com/tmarti, with support from https://tribia.com/ * @license MIT - **/let Dl=null;function Pl(e,t){const s=3*e,n=3*t;let i,a,r,l,o,c;const u=Math.min(i=Dl[s],a=Dl[s+1],r=Dl[s+2]),h=Math.min(l=Dl[n],o=Dl[n+1],c=Dl[n+2]);if(u!==h)return u-h;const p=Math.max(i,a,r),A=Math.max(l,o,c);return p!==A?p-A:0}let Rl=null;function Cl(e,t){let s=Rl[2*e]-Rl[2*t];return 0!==s?s:Rl[2*e+1]-Rl[2*t+1]}function _l(e,t,s=!1){const n=e.positionsCompressed||[],i=function(e,t){const s=new Int32Array(e.length/3);for(let e=0,t=s.length;e>t;s.sort(Pl);const n=new Int32Array(e.length);for(let t=0,i=s.length;te[t+1]){let s=e[t];e[t]=e[t+1],e[t+1]=s}Rl=new Int32Array(e),t.sort(Cl);const s=new Int32Array(e.length);for(let n=0,i=t.length;nt){let s=e;e=t,t=s}function s(s,n){return s!==e?e-s:n!==t?t-n:0}let n=0,i=(a.length>>1)-1;for(;n<=i;){const e=i+n>>1,t=s(a[2*e],a[2*e+1]);if(t>0)n=e+1;else{if(!(t<0))return e;i=e-1}}return-n-1}const l=new Int32Array(a.length/2);l.fill(0);const o=n.length/3;if(o>8*(1<p.maxNumPositions&&(p=h()),p.bucketNumber>8)return[e];let d;-1===c[o]&&(c[o]=p.numPositions++,p.positionsCompressed.push(n[3*o]),p.positionsCompressed.push(n[3*o+1]),p.positionsCompressed.push(n[3*o+2])),-1===c[u]&&(c[u]=p.numPositions++,p.positionsCompressed.push(n[3*u]),p.positionsCompressed.push(n[3*u+1]),p.positionsCompressed.push(n[3*u+2])),-1===c[A]&&(c[A]=p.numPositions++,p.positionsCompressed.push(n[3*A]),p.positionsCompressed.push(n[3*A+1]),p.positionsCompressed.push(n[3*A+2])),p.indices.push(c[o]),p.indices.push(c[u]),p.indices.push(c[A]),(d=r(o,u))>=0&&0===l[d]&&(l[d]=1,p.edgeIndices.push(c[a[2*d]]),p.edgeIndices.push(c[a[2*d+1]])),(d=r(o,A))>=0&&0===l[d]&&(l[d]=1,p.edgeIndices.push(c[a[2*d]]),p.edgeIndices.push(c[a[2*d+1]])),(d=r(u,A))>=0&&0===l[d]&&(l[d]=1,p.edgeIndices.push(c[a[2*d]]),p.edgeIndices.push(c[a[2*d+1]]))}const A=t/8*2,d=t/8,f=2*n.length+(i.length+a.length)*A;let I=0,y=-n.length/3;return u.forEach((e=>{I+=2*e.positionsCompressed.length+(e.indices.length+e.edgeIndices.length)*d,y+=e.positionsCompressed.length/3})),I>f?[e]:(s&&function(e,t){const s={},n={};let i=0;e.forEach((e=>{const t=e.indices,a=e.edgeIndices,r=e.positionsCompressed;for(let e=0,n=t.length;e0){const e=n._sectionPlanesState.sectionPlanes,s=t.layerIndex*v,i=a.renderFlags;for(let t=0;t0&&(o.bindTriangleIndicesTextures(this._program,this._uTexturePerPolygonIdPortionIds,this._uTexturePerPolygonIdIndices,8),r.drawArrays(r.TRIANGLES,0,l.numIndices8Bits)),l.numIndices16Bits>0&&(o.bindTriangleIndicesTextures(this._program,this._uTexturePerPolygonIdPortionIds,this._uTexturePerPolygonIdIndices,16),r.drawArrays(r.TRIANGLES,0,l.numIndices16Bits)),l.numIndices32Bits>0&&(o.bindTriangleIndicesTextures(this._program,this._uTexturePerPolygonIdPortionIds,this._uTexturePerPolygonIdIndices,32),r.drawArrays(r.TRIANGLES,0,l.numIndices32Bits)),e.drawElements++}_allocate(){const e=this._scene,t=e.canvas.gl,s=e._lightsState;if(this._program=new Be(t,this._buildShader()),this._program.errors)return this.errors=this._program.errors,void console.error(this.errors);const n=this._program;this._uRenderPass=n.getLocation("renderPass"),this._uLightAmbient=n.getLocation("lightAmbient"),this._uLightColor=[],this._uLightDir=[],this._uLightPos=[],this._uLightAttenuation=[];const i=s.lights;let a;for(let e=0,t=i.length;e0;let i;const a=[];a.push("#version 300 es"),a.push("// TrianglesDataTextureColorRenderer vertex shader"),a.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),a.push("precision highp float;"),a.push("precision highp int;"),a.push("precision highp usampler2D;"),a.push("precision highp isampler2D;"),a.push("precision highp sampler2D;"),a.push("#else"),a.push("precision mediump float;"),a.push("precision mediump int;"),a.push("precision mediump usampler2D;"),a.push("precision mediump isampler2D;"),a.push("precision mediump sampler2D;"),a.push("#endif"),a.push("uniform int renderPass;"),a.push("uniform mat4 sceneModelMatrix;"),a.push("uniform mat4 viewMatrix;"),a.push("uniform mat4 projMatrix;"),a.push("uniform highp sampler2D uObjectPerObjectPositionsDecodeMatrix;"),a.push("uniform highp sampler2D uTexturePerObjectMatrix;"),a.push("uniform lowp usampler2D uObjectPerObjectColorsAndFlags;"),a.push("uniform mediump usampler2D uTexturePerVertexIdCoordinates;"),a.push("uniform highp usampler2D uTexturePerPolygonIdIndices;"),a.push("uniform mediump usampler2D uTexturePerPolygonIdPortionIds;"),a.push("uniform vec3 uCameraEyeRtc;"),a.push("vec3 positions[3];"),e.logarithmicDepthBufferEnabled&&(a.push("uniform float logDepthBufFC;"),a.push("out float vFragDepth;"),a.push("out float isPerspective;")),a.push("bool isPerspectiveMatrix(mat4 m) {"),a.push(" return (m[2][3] == - 1.0);"),a.push("}"),a.push("uniform vec4 lightAmbient;");for(let e=0,t=s.lights.length;e> 3) & 4095;"),a.push("int v_packed_object_id_index = (polygonIndex >> 3) >> 12;"),a.push("int objectIndex = int(texelFetch(uTexturePerPolygonIdPortionIds, ivec2(h_packed_object_id_index, v_packed_object_id_index), 0).r);"),a.push("ivec2 objectIndexCoords = ivec2(objectIndex % 512, objectIndex / 512);"),a.push("uvec4 flags = texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+2, objectIndexCoords.y), 0);"),a.push("uvec4 flags2 = texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+3, objectIndexCoords.y), 0);"),a.push("if (int(flags.x) != renderPass) {"),a.push(" gl_Position = vec4(3.0, 3.0, 3.0, 1.0);"),a.push(" return;"),a.push("} else {"),a.push("ivec4 packedVertexBase = ivec4(texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+4, objectIndexCoords.y), 0));"),a.push("ivec4 packedIndexBaseOffset = ivec4(texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+5, objectIndexCoords.y), 0));"),a.push("int indexBaseOffset = (packedIndexBaseOffset.r << 24) + (packedIndexBaseOffset.g << 16) + (packedIndexBaseOffset.b << 8) + packedIndexBaseOffset.a;"),a.push("int h_index = (polygonIndex - indexBaseOffset) & 4095;"),a.push("int v_index = (polygonIndex - indexBaseOffset) >> 12;"),a.push("ivec3 vertexIndices = ivec3(texelFetch(uTexturePerPolygonIdIndices, ivec2(h_index, v_index), 0));"),a.push("ivec3 uniqueVertexIndexes = vertexIndices + (packedVertexBase.r << 24) + (packedVertexBase.g << 16) + (packedVertexBase.b << 8) + packedVertexBase.a;"),a.push("ivec3 indexPositionH = uniqueVertexIndexes & 4095;"),a.push("ivec3 indexPositionV = uniqueVertexIndexes >> 12;"),a.push("mat4 objectInstanceMatrix = mat4 (texelFetch (uTexturePerObjectMatrix, ivec2(objectIndexCoords.x*4+0, objectIndexCoords.y), 0), texelFetch (uTexturePerObjectMatrix, ivec2(objectIndexCoords.x*4+1, objectIndexCoords.y), 0), texelFetch (uTexturePerObjectMatrix, ivec2(objectIndexCoords.x*4+2, objectIndexCoords.y), 0), texelFetch (uTexturePerObjectMatrix, ivec2(objectIndexCoords.x*4+3, objectIndexCoords.y), 0));"),a.push("mat4 objectDecodeAndInstanceMatrix = objectInstanceMatrix * mat4 (texelFetch (uObjectPerObjectPositionsDecodeMatrix, ivec2(objectIndexCoords.x*4+0, objectIndexCoords.y), 0), texelFetch (uObjectPerObjectPositionsDecodeMatrix, ivec2(objectIndexCoords.x*4+1, objectIndexCoords.y), 0), texelFetch (uObjectPerObjectPositionsDecodeMatrix, ivec2(objectIndexCoords.x*4+2, objectIndexCoords.y), 0), texelFetch (uObjectPerObjectPositionsDecodeMatrix, ivec2(objectIndexCoords.x*4+3, objectIndexCoords.y), 0));"),a.push("uint solid = texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+7, objectIndexCoords.y), 0).r;"),a.push("positions[0] = vec3(texelFetch(uTexturePerVertexIdCoordinates, ivec2(indexPositionH.r, indexPositionV.r), 0));"),a.push("positions[1] = vec3(texelFetch(uTexturePerVertexIdCoordinates, ivec2(indexPositionH.g, indexPositionV.g), 0));"),a.push("positions[2] = vec3(texelFetch(uTexturePerVertexIdCoordinates, ivec2(indexPositionH.b, indexPositionV.b), 0));"),a.push("uvec4 color = texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+0, objectIndexCoords.y), 0);"),a.push("if (color.a == 0u) {"),a.push(" gl_Position = vec4(3.0, 3.0, 3.0, 1.0);"),a.push(" return;"),a.push("};"),a.push("vec3 normal = normalize(cross(positions[2] - positions[0], positions[1] - positions[0]));"),a.push("vec3 position;"),a.push("position = positions[gl_VertexID % 3];"),a.push("vec3 viewNormal = -normalize((transpose(inverse(viewMatrix*objectDecodeAndInstanceMatrix)) * vec4(normal,1)).xyz);"),a.push("if (solid != 1u) {"),a.push("if (isPerspectiveMatrix(projMatrix)) {"),a.push("vec3 uCameraEyeRtcInQuantizedSpace = (inverse(sceneModelMatrix * objectDecodeAndInstanceMatrix) * vec4(uCameraEyeRtc, 1)).xyz;"),a.push("if (dot(position.xyz - uCameraEyeRtcInQuantizedSpace, normal) < 0.0) {"),a.push("position = positions[2 - (gl_VertexID % 3)];"),a.push("viewNormal = -viewNormal;"),a.push("}"),a.push("} else {"),a.push("if (viewNormal.z < 0.0) {"),a.push("position = positions[2 - (gl_VertexID % 3)];"),a.push("viewNormal = -viewNormal;"),a.push("}"),a.push("}"),a.push("}"),a.push("vec4 worldPosition = sceneModelMatrix * ((objectDecodeAndInstanceMatrix * vec4(position, 1.0))); "),a.push("vec4 viewPosition = viewMatrix * worldPosition; "),a.push("vec3 reflectedColor = vec3(0.0, 0.0, 0.0);"),a.push("vec3 viewLightDir = vec3(0.0, 0.0, -1.0);"),a.push("float lambertian = 1.0;");for(let e=0,t=s.lights.length;e0,n=[];if(n.push("#version 300 es"),n.push("// TrianglesDataTextureColorRenderer fragment shader"),n.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),n.push("precision highp float;"),n.push("precision highp int;"),n.push("#else"),n.push("precision mediump float;"),n.push("precision mediump int;"),n.push("#endif"),e.logarithmicDepthBufferEnabled&&(n.push("in float isPerspective;"),n.push("uniform float logDepthBufFC;"),n.push("in float vFragDepth;")),this._withSAO&&(n.push("uniform sampler2D uOcclusionTexture;"),n.push("uniform vec4 uSAOParams;"),n.push("const float packUpscale = 256. / 255.;"),n.push("const float unpackDownScale = 255. / 256.;"),n.push("const vec3 packFactors = vec3( 256. * 256. * 256., 256. * 256., 256. );"),n.push("const vec4 unPackFactors = unpackDownScale / vec4( packFactors, 1. );"),n.push("float unpackRGBToFloat( const in vec4 v ) {"),n.push(" return dot( v, unPackFactors );"),n.push("}")),s){n.push("in vec4 vWorldPosition;"),n.push("flat in uint vFlags2;");for(let e=0,s=t.getNumAllocatedSectionPlanes();e 0u;"),n.push(" if (clippable) {"),n.push(" float dist = 0.0;");for(let e=0,s=t.getNumAllocatedSectionPlanes();e 0.0) { "),n.push(" discard;"),n.push(" }"),n.push("}")}return e.logarithmicDepthBufferEnabled&&n.push(" gl_FragDepth = isPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5;"),this._withSAO?(n.push(" float viewportWidth = uSAOParams[0];"),n.push(" float viewportHeight = uSAOParams[1];"),n.push(" float blendCutoff = uSAOParams[2];"),n.push(" float blendFactor = uSAOParams[3];"),n.push(" vec2 uv = vec2(gl_FragCoord.x / viewportWidth, gl_FragCoord.y / viewportHeight);"),n.push(" float ambient = smoothstep(blendCutoff, 1.0, unpackRGBToFloat(texture(uOcclusionTexture, uv))) * blendFactor;"),n.push(" outColor = vec4(vColor.rgb * ambient, 1.0);")):n.push(" outColor = vColor;"),n.push("}"),n}webglContextRestored(){this._program=null}destroy(){this._program&&this._program.destroy(),this._program=null}}const Ml=new Float32Array([1,1,1]),Fl=h.vec3(),Hl=h.vec3(),Ul=h.vec3();h.vec3();const Gl=h.mat4();class jl{constructor(e,t){this._scene=e,this._hash=this._getHash(),this._allocate()}getValid(){return this._hash===this._getHash()}_getHash(){return this._scene._sectionPlanesState.getHash()}drawLayer(e,t,s){const n=this._scene,i=n.camera,a=t.model,r=n.canvas.gl,l=t._state,o=l.textureState,c=t._state.origin,{position:u,rotationMatrix:p,rotationMatrixConjugate:A}=a,d=i.viewMatrix;if(!this._program&&(this._allocate(),this.errors))return;let f,I;if(e.lastProgramId!==this._program.id&&(e.lastProgramId=this._program.id,this._bindProgram(e,l)),o.bindCommonTextures(this._program,this.uTexturePerObjectPositionsDecodeMatrix,this._uTexturePerVertexIdCoordinates,this.uTexturePerObjectColorsAndFlags,this._uTexturePerObjectMatrix),c||0!==u[0]||0!==u[1]||0!==u[2]){const e=Fl;if(c){const t=Hl;h.transformPoint3(p,c,t),e[0]=t[0],e[1]=t[1],e[2]=t[2]}else e[0]=0,e[1]=0,e[2]=0;e[0]+=u[0],e[1]+=u[1],e[2]+=u[2],f=G(d,e,Gl),I=Ul,I[0]=i.eye[0]-e[0],I[1]=i.eye[1]-e[1],I[2]=i.eye[2]-e[2]}else f=d,I=i.eye;if(r.uniform3fv(this._uCameraEyeRtc,I),r.uniform1i(this._uRenderPass,s),r.uniformMatrix4fv(this._uWorldMatrix,!1,A),r.uniformMatrix4fv(this._uViewMatrix,!1,f),r.uniformMatrix4fv(this._uProjMatrix,!1,i.projMatrix),s===Ei.SILHOUETTE_XRAYED){const e=n.xrayMaterial._state,t=e.fillColor,s=e.fillAlpha;r.uniform4f(this._uColor,t[0],t[1],t[2],s)}else if(s===Ei.SILHOUETTE_HIGHLIGHTED){const e=n.highlightMaterial._state,t=e.fillColor,s=e.fillAlpha;r.uniform4f(this._uColor,t[0],t[1],t[2],s)}else if(s===Ei.SILHOUETTE_SELECTED){const e=n.selectedMaterial._state,t=e.fillColor,s=e.fillAlpha;r.uniform4f(this._uColor,t[0],t[1],t[2],s)}else r.uniform4fv(this._uColor,Ml);if(n.logarithmicDepthBufferEnabled){const t=2/(Math.log(e.pickZFar+1)/Math.LN2);r.uniform1f(this._uLogDepthBufFC,t)}const y=n._sectionPlanesState.getNumAllocatedSectionPlanes(),m=n._sectionPlanesState.sectionPlanes.length;if(y>0){const e=n._sectionPlanesState.sectionPlanes,s=t.layerIndex*m,i=a.renderFlags;for(let t=0;t0&&(o.bindTriangleIndicesTextures(this._program,this._uTexturePerPolygonIdPortionIds,this._uTexturePerPolygonIdIndices,8),r.drawArrays(r.TRIANGLES,0,l.numIndices8Bits)),l.numIndices16Bits>0&&(o.bindTriangleIndicesTextures(this._program,this._uTexturePerPolygonIdPortionIds,this._uTexturePerPolygonIdIndices,16),r.drawArrays(r.TRIANGLES,0,l.numIndices16Bits)),l.numIndices32Bits>0&&(o.bindTriangleIndicesTextures(this._program,this._uTexturePerPolygonIdPortionIds,this._uTexturePerPolygonIdIndices,32),r.drawArrays(r.TRIANGLES,0,l.numIndices32Bits)),e.drawElements++}_allocate(){const e=this._scene,t=e.canvas.gl;if(this._program=new Be(t,this._buildShader()),this._program.errors)return void(this.errors=this._program.errors);const s=this._program;this._uRenderPass=s.getLocation("renderPass"),this._uColor=s.getLocation("color"),this._uWorldMatrix=s.getLocation("sceneModelMatrix"),this._uViewMatrix=s.getLocation("viewMatrix"),this._uProjMatrix=s.getLocation("projMatrix"),this._uSectionPlanes=[];for(let t=0,n=e._sectionPlanesState.getNumAllocatedSectionPlanes();t0,s=[];return s.push("#version 300 es"),s.push("// Triangles dataTexture silhouette vertex shader"),s.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),s.push("precision highp float;"),s.push("precision highp int;"),s.push("precision highp usampler2D;"),s.push("precision highp isampler2D;"),s.push("precision highp sampler2D;"),s.push("#else"),s.push("precision mediump float;"),s.push("precision mediump int;"),s.push("precision mediump usampler2D;"),s.push("precision mediump isampler2D;"),s.push("precision mediump sampler2D;"),s.push("#endif"),s.push("uniform int renderPass;"),e.entityOffsetsEnabled&&s.push("in vec3 offset;"),s.push("uniform mat4 sceneModelMatrix;"),s.push("uniform mat4 viewMatrix;"),s.push("uniform mat4 projMatrix;"),s.push("uniform highp sampler2D uObjectPerObjectPositionsDecodeMatrix;"),s.push("uniform highp sampler2D uTexturePerObjectMatrix;"),s.push("uniform lowp usampler2D uObjectPerObjectColorsAndFlags;"),s.push("uniform mediump usampler2D uTexturePerVertexIdCoordinates;"),s.push("uniform highp usampler2D uTexturePerPolygonIdIndices;"),s.push("uniform mediump usampler2D uTexturePerPolygonIdPortionIds;"),s.push("uniform vec3 uCameraEyeRtc;"),s.push("vec3 positions[3];"),e.logarithmicDepthBufferEnabled&&(s.push("uniform float logDepthBufFC;"),s.push("out float vFragDepth;"),s.push("out float isPerspective;")),s.push("bool isPerspectiveMatrix(mat4 m) {"),s.push(" return (m[2][3] == - 1.0);"),s.push("}"),t&&(s.push("out vec4 vWorldPosition;"),s.push("flat out uint vFlags2;")),s.push("void main(void) {"),s.push("int polygonIndex = gl_VertexID / 3;"),s.push("int h_packed_object_id_index = (polygonIndex >> 3) & 4095;"),s.push("int v_packed_object_id_index = (polygonIndex >> 3) >> 12;"),s.push("int objectIndex = int(texelFetch(uTexturePerPolygonIdPortionIds, ivec2(h_packed_object_id_index, v_packed_object_id_index), 0).r);"),s.push("ivec2 objectIndexCoords = ivec2(objectIndex % 512, objectIndex / 512);"),s.push("uvec4 flags = texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+2, objectIndexCoords.y), 0);"),s.push("uvec4 flags2 = texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+3, objectIndexCoords.y), 0);"),s.push("if (int(flags.y) != renderPass) {"),s.push(" gl_Position = vec4(3.0, 3.0, 3.0, 1.0);"),s.push(" return;"),s.push("} else {"),s.push("ivec4 packedVertexBase = ivec4(texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+4, objectIndexCoords.y), 0));"),s.push("ivec4 packedIndexBaseOffset = ivec4(texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+5, objectIndexCoords.y), 0));"),s.push("int indexBaseOffset = (packedIndexBaseOffset.r << 24) + (packedIndexBaseOffset.g << 16) + (packedIndexBaseOffset.b << 8) + packedIndexBaseOffset.a;"),s.push("int h_index = (polygonIndex - indexBaseOffset) & 4095;"),s.push("int v_index = (polygonIndex - indexBaseOffset) >> 12;"),s.push("ivec3 vertexIndices = ivec3(texelFetch(uTexturePerPolygonIdIndices, ivec2(h_index, v_index), 0));"),s.push("ivec3 uniqueVertexIndexes = vertexIndices + (packedVertexBase.r << 24) + (packedVertexBase.g << 16) + (packedVertexBase.b << 8) + packedVertexBase.a;"),s.push("ivec3 indexPositionH = uniqueVertexIndexes & 4095;"),s.push("ivec3 indexPositionV = uniqueVertexIndexes >> 12;"),s.push("mat4 objectInstanceMatrix = mat4 (texelFetch (uTexturePerObjectMatrix, ivec2(objectIndexCoords.x*4+0, objectIndexCoords.y), 0), texelFetch (uTexturePerObjectMatrix, ivec2(objectIndexCoords.x*4+1, objectIndexCoords.y), 0), texelFetch (uTexturePerObjectMatrix, ivec2(objectIndexCoords.x*4+2, objectIndexCoords.y), 0), texelFetch (uTexturePerObjectMatrix, ivec2(objectIndexCoords.x*4+3, objectIndexCoords.y), 0));"),s.push("mat4 objectDecodeAndInstanceMatrix = objectInstanceMatrix * mat4 (texelFetch (uObjectPerObjectPositionsDecodeMatrix, ivec2(objectIndexCoords.x*4+0, objectIndexCoords.y), 0), texelFetch (uObjectPerObjectPositionsDecodeMatrix, ivec2(objectIndexCoords.x*4+1, objectIndexCoords.y), 0), texelFetch (uObjectPerObjectPositionsDecodeMatrix, ivec2(objectIndexCoords.x*4+2, objectIndexCoords.y), 0), texelFetch (uObjectPerObjectPositionsDecodeMatrix, ivec2(objectIndexCoords.x*4+3, objectIndexCoords.y), 0));"),s.push("uint solid = texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+7, objectIndexCoords.y), 0).r;"),s.push("positions[0] = vec3(texelFetch(uTexturePerVertexIdCoordinates, ivec2(indexPositionH.r, indexPositionV.r), 0));"),s.push("positions[1] = vec3(texelFetch(uTexturePerVertexIdCoordinates, ivec2(indexPositionH.g, indexPositionV.g), 0));"),s.push("positions[2] = vec3(texelFetch(uTexturePerVertexIdCoordinates, ivec2(indexPositionH.b, indexPositionV.b), 0));"),s.push("vec3 normal = normalize(cross(positions[2] - positions[0], positions[1] - positions[0]));"),s.push("vec3 position;"),s.push("position = positions[gl_VertexID % 3];"),s.push("vec3 viewNormal = -normalize((transpose(inverse(viewMatrix*objectDecodeAndInstanceMatrix)) * vec4(normal,1)).xyz);"),s.push("if (solid != 1u) {"),s.push("if (isPerspectiveMatrix(projMatrix)) {"),s.push("vec3 uCameraEyeRtcInQuantizedSpace = (inverse(sceneModelMatrix * objectDecodeAndInstanceMatrix) * vec4(uCameraEyeRtc, 1)).xyz;"),s.push("if (dot(position.xyz - uCameraEyeRtcInQuantizedSpace, normal) < 0.0) {"),s.push("position = positions[2 - (gl_VertexID % 3)];"),s.push("viewNormal = -viewNormal;"),s.push("}"),s.push("} else {"),s.push("if (viewNormal.z < 0.0) {"),s.push("position = positions[2 - (gl_VertexID % 3)];"),s.push("viewNormal = -viewNormal;"),s.push("}"),s.push("}"),s.push("}"),s.push("vec4 worldPosition = sceneModelMatrix * (objectDecodeAndInstanceMatrix * vec4(position, 1.0)); "),s.push("vec4 viewPosition = viewMatrix * worldPosition; "),s.push("vec4 clipPos = projMatrix * viewPosition;"),e.logarithmicDepthBufferEnabled&&(s.push("vFragDepth = 1.0 + clipPos.w;"),s.push("isPerspective = float (isPerspectiveMatrix(projMatrix));")),t&&(s.push("vWorldPosition = worldPosition;"),s.push("vFlags2 = flags2.r;")),s.push("gl_Position = clipPos;"),s.push("}"),s.push("}"),s}_buildFragmentShader(){const e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,s=[];if(s.push("#version 300 es"),s.push("// Triangles dataTexture draw fragment shader"),s.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),s.push("precision highp float;"),s.push("precision highp int;"),s.push("#else"),s.push("precision mediump float;"),s.push("precision mediump int;"),s.push("#endif"),e.logarithmicDepthBufferEnabled&&(s.push("in float isPerspective;"),s.push("uniform float logDepthBufFC;"),s.push("in float vFragDepth;")),t){s.push("in vec4 vWorldPosition;"),s.push("flat in uint vFlags2;");for(let t=0,n=e._sectionPlanesState.getNumAllocatedSectionPlanes();t 0u;"),s.push(" if (clippable) {"),s.push(" float dist = 0.0;");for(let t=0,n=e._sectionPlanesState.getNumAllocatedSectionPlanes();t 0.0) { "),s.push(" discard;"),s.push(" }"),s.push("}")}return e.logarithmicDepthBufferEnabled&&s.push(" gl_FragDepth = isPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5;"),s.push(" outColor = color;"),s.push("}"),s}webglContextRestored(){this._program=null}destroy(){this._program&&this._program.destroy(),this._program=null}}const Vl=new Float32Array([0,0,0,1]),kl=h.vec3(),Ql=h.vec3();h.vec3();const Wl=h.mat4();class zl{constructor(e){this._scene=e,this._hash=this._getHash(),this._allocate()}getValid(){return this._hash===this._getHash()}_getHash(){return this._scene._sectionPlanesState.getHash()}drawLayer(e,t,s){const n=t.model,i=n.scene,a=i.camera,r=i.canvas.gl,l=t._state,o=l.textureState,c=t._state.origin,{position:u,rotationMatrix:p,rotationMatrixConjugate:A}=n,d=a.viewMatrix;if(!this._program&&(this._allocate(t),this.errors))return;let f;e.lastProgramId!==this._program.id&&(e.lastProgramId=this._program.id,this._bindProgram()),o.bindCommonTextures(this._program,this.uTexturePerObjectPositionsDecodeMatrix,this._uTexturePerVertexIdCoordinates,this.uTexturePerObjectColorsAndFlags,this._uTexturePerObjectMatrix);const I=0!==c[0]||0!==c[1]||0!==c[2],y=0!==u[0]||0!==u[1]||0!==u[2];if(I||y){const e=kl;if(I){const t=h.transformPoint3(p,c,Ql);e[0]=t[0],e[1]=t[1],e[2]=t[2]}else e[0]=0,e[1]=0,e[2]=0;e[0]+=u[0],e[1]+=u[1],e[2]+=u[2],f=G(d,e,Wl)}else f=d;if(r.uniform1i(this._uRenderPass,s),r.uniformMatrix4fv(this._uSceneModelMatrix,!1,A),r.uniformMatrix4fv(this._uViewMatrix,!1,f),r.uniformMatrix4fv(this._uProjMatrix,!1,a.projMatrix),s===Ei.EDGES_XRAYED){const e=i.xrayMaterial._state,t=e.edgeColor,s=e.edgeAlpha;r.uniform4f(this._uColor,t[0],t[1],t[2],s)}else if(s===Ei.EDGES_HIGHLIGHTED){const e=i.highlightMaterial._state,t=e.edgeColor,s=e.edgeAlpha;r.uniform4f(this._uColor,t[0],t[1],t[2],s)}else if(s===Ei.EDGES_SELECTED){const e=i.selectedMaterial._state,t=e.edgeColor,s=e.edgeAlpha;r.uniform4f(this._uColor,t[0],t[1],t[2],s)}else r.uniform4fv(this._uColor,Vl);const m=i._sectionPlanesState.getNumAllocatedSectionPlanes(),v=i._sectionPlanesState.sectionPlanes.length;if(m>0){const e=i._sectionPlanesState.sectionPlanes,s=t.layerIndex*v,a=n.renderFlags;for(let t=0;t0&&(o.bindEdgeIndicesTextures(this._program,this._uTexturePerEdgeIdPortionIds,this._uTexturePerPolygonIdEdgeIndices,8),r.drawArrays(r.LINES,0,l.numEdgeIndices8Bits)),l.numEdgeIndices16Bits>0&&(o.bindEdgeIndicesTextures(this._program,this._uTexturePerEdgeIdPortionIds,this._uTexturePerPolygonIdEdgeIndices,16),r.drawArrays(r.LINES,0,l.numEdgeIndices16Bits)),l.numEdgeIndices32Bits>0&&(o.bindEdgeIndicesTextures(this._program,this._uTexturePerEdgeIdPortionIds,this._uTexturePerPolygonIdEdgeIndices,32),r.drawArrays(r.LINES,0,l.numEdgeIndices32Bits)),e.drawElements++}_allocate(){const e=this._scene,t=e.canvas.gl;if(this._program=new Be(t,this._buildShader()),this._program.errors)return void(this.errors=this._program.errors);const s=this._program;this._uRenderPass=s.getLocation("renderPass"),this._uColor=s.getLocation("color"),this._uSceneModelMatrix=s.getLocation("sceneModelMatrix"),this._uWorldMatrix=s.getLocation("worldMatrix"),this._uViewMatrix=s.getLocation("viewMatrix"),this._uProjMatrix=s.getLocation("projMatrix"),this._uSectionPlanes=[];for(let t=0,n=e._sectionPlanesState.getNumAllocatedSectionPlanes();t0,s=[];return s.push("#version 300 es"),s.push("// Batched geometry edges drawing vertex shader"),s.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),s.push("precision highp float;"),s.push("precision highp int;"),s.push("precision highp usampler2D;"),s.push("precision highp isampler2D;"),s.push("precision highp sampler2D;"),s.push("#else"),s.push("precision mediump float;"),s.push("precision mediump int;"),s.push("precision mediump usampler2D;"),s.push("precision mediump isampler2D;"),s.push("precision mediump sampler2D;"),s.push("#endif"),s.push("uniform int renderPass;"),s.push("uniform mat4 sceneModelMatrix;"),s.push("uniform mat4 viewMatrix;"),s.push("uniform mat4 projMatrix;"),s.push("uniform highp sampler2D uObjectPerObjectPositionsDecodeMatrix;"),s.push("uniform highp sampler2D uTexturePerObjectMatrix;"),s.push("uniform lowp usampler2D uObjectPerObjectColorsAndFlags;"),s.push("uniform mediump usampler2D uTexturePerVertexIdCoordinates;"),s.push("uniform highp usampler2D uTexturePerPolygonIdEdgeIndices;"),s.push("uniform mediump usampler2D uTexturePerEdgeIdPortionIds;"),s.push("uniform vec4 color;"),e.logarithmicDepthBufferEnabled&&(s.push("uniform float logDepthBufFC;"),s.push("out float vFragDepth;"),s.push("bool isPerspectiveMatrix(mat4 m) {"),s.push(" return (m[2][3] == - 1.0);"),s.push("}"),s.push("out float isPerspective;")),t&&(s.push("out vec4 vWorldPosition;"),s.push("flat out uint vFlags2;")),s.push("out vec4 vColor;"),s.push("void main(void) {"),s.push("int edgeIndex = gl_VertexID / 2;"),s.push("int h_packed_object_id_index = (edgeIndex >> 3) & 4095;"),s.push("int v_packed_object_id_index = (edgeIndex >> 3) >> 12;"),s.push("int objectIndex = int(texelFetch(uTexturePerEdgeIdPortionIds, ivec2(h_packed_object_id_index, v_packed_object_id_index), 0).r);"),s.push("ivec2 objectIndexCoords = ivec2(objectIndex % 512, objectIndex / 512);"),s.push("uvec4 flags = texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+2, objectIndexCoords.y), 0);"),s.push("uvec4 flags2 = texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+3, objectIndexCoords.y), 0);"),s.push("if (int(flags.z) != renderPass) {"),s.push(" gl_Position = vec4(3.0, 3.0, 3.0, 1.0);"),s.push(" return;"),s.push("} else {"),s.push("ivec4 packedVertexBase = ivec4(texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+4, objectIndexCoords.y), 0));"),s.push("ivec4 packedEdgeIndexBaseOffset = ivec4(texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+6, objectIndexCoords.y), 0));"),s.push("int edgeIndexBaseOffset = (packedEdgeIndexBaseOffset.r << 24) + (packedEdgeIndexBaseOffset.g << 16) + (packedEdgeIndexBaseOffset.b << 8) + packedEdgeIndexBaseOffset.a;"),s.push("int h_index = (edgeIndex - edgeIndexBaseOffset) & 4095;"),s.push("int v_index = (edgeIndex - edgeIndexBaseOffset) >> 12;"),s.push("ivec3 vertexIndices = ivec3(texelFetch(uTexturePerPolygonIdEdgeIndices, ivec2(h_index, v_index), 0));"),s.push("ivec3 uniqueVertexIndexes = vertexIndices + (packedVertexBase.r << 24) + (packedVertexBase.g << 16) + (packedVertexBase.b << 8) + packedVertexBase.a;"),s.push("int indexPositionH = uniqueVertexIndexes[gl_VertexID % 2] & 4095;"),s.push("int indexPositionV = uniqueVertexIndexes[gl_VertexID % 2] >> 12;"),s.push("mat4 objectInstanceMatrix = mat4 (texelFetch (uTexturePerObjectMatrix, ivec2(objectIndexCoords.x*4+0, objectIndexCoords.y), 0), texelFetch (uTexturePerObjectMatrix, ivec2(objectIndexCoords.x*4+1, objectIndexCoords.y), 0), texelFetch (uTexturePerObjectMatrix, ivec2(objectIndexCoords.x*4+2, objectIndexCoords.y), 0), texelFetch (uTexturePerObjectMatrix, ivec2(objectIndexCoords.x*4+3, objectIndexCoords.y), 0));"),s.push("mat4 objectDecodeAndInstanceMatrix = objectInstanceMatrix * mat4 (texelFetch (uObjectPerObjectPositionsDecodeMatrix, ivec2(objectIndexCoords.x*4+0, objectIndexCoords.y), 0), texelFetch (uObjectPerObjectPositionsDecodeMatrix, ivec2(objectIndexCoords.x*4+1, objectIndexCoords.y), 0), texelFetch (uObjectPerObjectPositionsDecodeMatrix, ivec2(objectIndexCoords.x*4+2, objectIndexCoords.y), 0), texelFetch (uObjectPerObjectPositionsDecodeMatrix, ivec2(objectIndexCoords.x*4+3, objectIndexCoords.y), 0));"),s.push("uvec4 flags = texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+2, objectIndexCoords.y), 0);"),s.push("uvec4 flags2 = texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+3, objectIndexCoords.y), 0);"),s.push("vec3 position = vec3(texelFetch(uTexturePerVertexIdCoordinates, ivec2(indexPositionH, indexPositionV), 0));"),s.push("mat4 matrix = mat4 (texelFetch (uTexturePerObjectMatrix, ivec2(objectIndexCoords.x*4+0, objectIndexCoords.y), 0), texelFetch (uTexturePerObjectMatrix, ivec2(objectIndexCoords.x*4+1, objectIndexCoords.y), 0), texelFetch (uTexturePerObjectMatrix, ivec2(objectIndexCoords.x*4+2, objectIndexCoords.y), 0), texelFetch (uTexturePerObjectMatrix, ivec2(objectIndexCoords.x*4+3, objectIndexCoords.y), 0));"),s.push("vec4 worldPosition = sceneModelMatrix * (objectDecodeAndInstanceMatrix * vec4(position, 1.0)); "),s.push("vec4 viewPosition = viewMatrix * worldPosition; "),t&&(s.push(" vWorldPosition = worldPosition;"),s.push(" vFlags2 = flags2.r;")),s.push("vec4 clipPos = projMatrix * viewPosition;"),e.logarithmicDepthBufferEnabled&&(s.push("vFragDepth = 1.0 + clipPos.w;"),s.push("isPerspective = float (isPerspectiveMatrix(projMatrix));")),s.push("gl_Position = clipPos;"),s.push("vColor = vec4(color.r, color.g, color.b, color.a);"),s.push("}"),s.push("}"),s}_buildFragmentShader(){const e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,s=[];if(s.push("#version 300 es"),s.push("// Batched geometry edges drawing fragment shader"),e.logarithmicDepthBufferEnabled&&s.push("#extension GL_EXT_frag_depth : enable"),s.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),s.push("precision highp float;"),s.push("precision highp int;"),s.push("#else"),s.push("precision mediump float;"),s.push("precision mediump int;"),s.push("#endif"),e.logarithmicDepthBufferEnabled&&(s.push("in float isPerspective;"),s.push("uniform float logDepthBufFC;"),s.push("in float vFragDepth;")),t){s.push("in vec4 vWorldPosition;"),s.push("flat in uint vFlags2;");for(let t=0,n=e._sectionPlanesState.getNumAllocatedSectionPlanes();t 0u;"),s.push(" if (clippable) {"),s.push(" float dist = 0.0;");for(let t=0,n=e._sectionPlanesState.getNumAllocatedSectionPlanes();t 0.0) { discard; }"),s.push("}")}return e.logarithmicDepthBufferEnabled&&s.push(" gl_FragDepth = isPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5;"),s.push(" outColor = vColor;"),s.push("}"),s}webglContextRestored(){this._program=null}destroy(){this._program&&this._program.destroy(),this._program=null}}const Kl=h.vec3(),Yl=h.vec3();h.vec3();const Xl=h.mat4();class ql{constructor(e){this._scene=e,this._hash=this._getHash(),this._allocate()}getValid(){return this._hash===this._getHash()}_getHash(){return this._scene._sectionPlanesState.getHash()}drawLayer(e,t,s){const n=t.model,i=n.scene,a=i.camera,r=i.canvas.gl,l=t._state,o=l.textureState,c=t._state.origin,{position:u,rotationMatrix:p,rotationMatrixConjugate:A}=n,d=a.viewMatrix;if(!this._program&&(this._allocate(),this.errors))return;let f;e.lastProgramId!==this._program.id&&(e.lastProgramId=this._program.id,this._bindProgram()),o.bindCommonTextures(this._program,this.uTexturePerObjectPositionsDecodeMatrix,this._uTexturePerVertexIdCoordinates,this.uTexturePerObjectColorsAndFlags,this._uTexturePerObjectMatrix);const I=0!==c[0]||0!==c[1]||0!==c[2],y=0!==u[0]||0!==u[1]||0!==u[2];if(I||y){const e=Kl;if(I){const t=h.transformPoint3(p,c,Yl);e[0]=t[0],e[1]=t[1],e[2]=t[2]}else e[0]=0,e[1]=0,e[2]=0;e[0]+=u[0],e[1]+=u[1],e[2]+=u[2],f=G(d,e,Xl)}else f=d;r.uniform1i(this._uRenderPass,s),r.uniformMatrix4fv(this._uSceneModelMatrix,!1,A),r.uniformMatrix4fv(this._uViewMatrix,!1,f),r.uniformMatrix4fv(this._uProjMatrix,!1,a.projMatrix);const m=i._sectionPlanesState.getNumAllocatedSectionPlanes(),v=i._sectionPlanesState.sectionPlanes.length;if(m>0){const e=i._sectionPlanesState.sectionPlanes,s=t.layerIndex*v,a=n.renderFlags;for(let t=0;t0&&(o.bindEdgeIndicesTextures(this._program,this._uTexturePerEdgeIdPortionIds,this._uTexturePerPolygonIdEdgeIndices,8),r.drawArrays(r.LINES,0,l.numEdgeIndices8Bits)),l.numEdgeIndices16Bits>0&&(o.bindEdgeIndicesTextures(this._program,this._uTexturePerEdgeIdPortionIds,this._uTexturePerPolygonIdEdgeIndices,16),r.drawArrays(r.LINES,0,l.numEdgeIndices16Bits)),l.numEdgeIndices32Bits>0&&(o.bindEdgeIndicesTextures(this._program,this._uTexturePerEdgeIdPortionIds,this._uTexturePerPolygonIdEdgeIndices,32),r.drawArrays(r.LINES,0,l.numEdgeIndices32Bits)),e.drawElements++}_allocate(){const e=this._scene,t=e.canvas.gl;if(this._program=new Be(t,this._buildShader()),this._program.errors)return void(this.errors=this._program.errors);const s=this._program;this._uRenderPass=s.getLocation("renderPass"),this._uSceneModelMatrix=s.getLocation("sceneModelMatrix"),this._uViewMatrix=s.getLocation("viewMatrix"),this._uProjMatrix=s.getLocation("projMatrix"),this._uSectionPlanes=[];for(let t=0,n=e._sectionPlanesState.getNumAllocatedSectionPlanes();t0,s=[];return s.push("#version 300 es"),s.push("// TrianglesDataTextureEdgesColorRenderer"),s.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),s.push("precision highp float;"),s.push("precision highp int;"),s.push("precision highp usampler2D;"),s.push("precision highp isampler2D;"),s.push("precision highp sampler2D;"),s.push("#else"),s.push("precision mediump float;"),s.push("precision mediump int;"),s.push("precision mediump usampler2D;"),s.push("precision mediump isampler2D;"),s.push("precision mediump sampler2D;"),s.push("#endif"),s.push("uniform int renderPass;"),e.entityOffsetsEnabled,s.push("uniform mat4 sceneModelMatrix;"),s.push("uniform mat4 viewMatrix;"),s.push("uniform mat4 projMatrix;"),s.push("uniform highp sampler2D uObjectPerObjectPositionsDecodeMatrix;"),s.push("uniform highp sampler2D uTexturePerObjectMatrix;"),s.push("uniform lowp usampler2D uObjectPerObjectColorsAndFlags;"),s.push("uniform highp sampler2D uObjectPerObjectOffsets;"),s.push("uniform mediump usampler2D uTexturePerVertexIdCoordinates;"),s.push("uniform highp usampler2D uTexturePerPolygonIdEdgeIndices;"),s.push("uniform mediump usampler2D uTexturePerEdgeIdPortionIds;"),e.logarithmicDepthBufferEnabled&&(s.push("uniform float logDepthBufFC;"),s.push("out float vFragDepth;"),s.push("bool isPerspectiveMatrix(mat4 m) {"),s.push(" return (m[2][3] == - 1.0);"),s.push("}"),s.push("out float isPerspective;")),t&&(s.push("out vec4 vWorldPosition;"),s.push("flat out uint vFlags2;")),s.push("out vec4 vColor;"),s.push("void main(void) {"),s.push("int edgeIndex = gl_VertexID / 2;"),s.push("int h_packed_object_id_index = (edgeIndex >> 3) & 4095;"),s.push("int v_packed_object_id_index = (edgeIndex >> 3) >> 12;"),s.push("int objectIndex = int(texelFetch(uTexturePerEdgeIdPortionIds, ivec2(h_packed_object_id_index, v_packed_object_id_index), 0).r);"),s.push("ivec2 objectIndexCoords = ivec2(objectIndex % 512, objectIndex / 512);"),s.push("uvec4 flags = texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+2, objectIndexCoords.y), 0);"),s.push("uvec4 flags2 = texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+3, objectIndexCoords.y), 0);"),s.push("if (int(flags.z) != renderPass) {"),s.push(" gl_Position = vec4(3.0, 3.0, 3.0, 1.0);"),s.push(" return;"),s.push("} else {"),s.push("ivec4 packedVertexBase = ivec4(texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+4, objectIndexCoords.y), 0));"),s.push("ivec4 packedEdgeIndexBaseOffset = ivec4(texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+6, objectIndexCoords.y), 0));"),s.push("int edgeIndexBaseOffset = (packedEdgeIndexBaseOffset.r << 24) + (packedEdgeIndexBaseOffset.g << 16) + (packedEdgeIndexBaseOffset.b << 8) + packedEdgeIndexBaseOffset.a;"),s.push("int h_index = (edgeIndex - edgeIndexBaseOffset) & 4095;"),s.push("int v_index = (edgeIndex - edgeIndexBaseOffset) >> 12;"),s.push("ivec3 vertexIndices = ivec3(texelFetch(uTexturePerPolygonIdEdgeIndices, ivec2(h_index, v_index), 0));"),s.push("ivec3 uniqueVertexIndexes = vertexIndices + (packedVertexBase.r << 24) + (packedVertexBase.g << 16) + (packedVertexBase.b << 8) + packedVertexBase.a;"),s.push("int indexPositionH = uniqueVertexIndexes[gl_VertexID % 2] & 4095;"),s.push("int indexPositionV = uniqueVertexIndexes[gl_VertexID % 2] >> 12;"),s.push("mat4 objectInstanceMatrix = mat4 (texelFetch (uTexturePerObjectMatrix, ivec2(objectIndexCoords.x*4+0, objectIndexCoords.y), 0), texelFetch (uTexturePerObjectMatrix, ivec2(objectIndexCoords.x*4+1, objectIndexCoords.y), 0), texelFetch (uTexturePerObjectMatrix, ivec2(objectIndexCoords.x*4+2, objectIndexCoords.y), 0), texelFetch (uTexturePerObjectMatrix, ivec2(objectIndexCoords.x*4+3, objectIndexCoords.y), 0));"),s.push("mat4 objectDecodeAndInstanceMatrix = objectInstanceMatrix * mat4 (texelFetch (uObjectPerObjectPositionsDecodeMatrix, ivec2(objectIndexCoords.x*4+0, objectIndexCoords.y), 0), texelFetch (uObjectPerObjectPositionsDecodeMatrix, ivec2(objectIndexCoords.x*4+1, objectIndexCoords.y), 0), texelFetch (uObjectPerObjectPositionsDecodeMatrix, ivec2(objectIndexCoords.x*4+2, objectIndexCoords.y), 0), texelFetch (uObjectPerObjectPositionsDecodeMatrix, ivec2(objectIndexCoords.x*4+3, objectIndexCoords.y), 0));"),s.push("uvec4 flags = texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+2, objectIndexCoords.y), 0);"),s.push("uvec4 flags2 = texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+3, objectIndexCoords.y), 0);"),s.push("vec3 position = vec3(texelFetch(uTexturePerVertexIdCoordinates, ivec2(indexPositionH, indexPositionV), 0));"),s.push("uvec4 color = texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+0, objectIndexCoords.y), 0);"),s.push("if (color.a == 0u) {"),s.push(" gl_Position = vec4(3.0, 3.0, 3.0, 1.0);"),s.push(" return;"),s.push("};"),s.push("vec4 worldPosition = sceneModelMatrix * (objectDecodeAndInstanceMatrix * vec4(position, 1.0)); "),s.push("vec4 viewPosition = viewMatrix * worldPosition; "),t&&(s.push(" vWorldPosition = worldPosition;"),s.push(" vFlags2 = flags2.r;")),s.push("vec4 clipPos = projMatrix * viewPosition;"),e.logarithmicDepthBufferEnabled&&(s.push("vFragDepth = 1.0 + clipPos.w;"),s.push("isPerspective = float (isPerspectiveMatrix(projMatrix));")),s.push("gl_Position = clipPos;"),s.push("vec4 rgb = vec4(color.rgba);"),s.push("vColor = vec4(float(rgb.r*0.5) / 255.0, float(rgb.g*0.5) / 255.0, float(rgb.b*0.5) / 255.0, float(rgb.a) / 255.0);"),s.push("}"),s.push("}"),s}_buildFragmentShader(){const e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,s=[];if(s.push("#version 300 es"),s.push("// TrianglesDataTextureEdgesColorRenderer"),s.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),s.push("precision highp float;"),s.push("precision highp int;"),s.push("#else"),s.push("precision mediump float;"),s.push("precision mediump int;"),s.push("#endif"),e.logarithmicDepthBufferEnabled&&(s.push("in float isPerspective;"),s.push("uniform float logDepthBufFC;"),s.push("in float vFragDepth;")),t){s.push("in vec4 vWorldPosition;"),s.push("flat in uint vFlags2;");for(let t=0,n=e._sectionPlanesState.getNumAllocatedSectionPlanes();t 0u;"),s.push(" if (clippable) {"),s.push(" float dist = 0.0;");for(let t=0,n=e._sectionPlanesState.getNumAllocatedSectionPlanes();t 0.0) { discard; }"),s.push("}")}return e.logarithmicDepthBufferEnabled&&s.push(" gl_FragDepth = isPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5;"),s.push(" outColor = vColor;"),s.push("}"),s}webglContextRestored(){this._program=null}destroy(){this._program&&this._program.destroy(),this._program=null}}const Jl=h.vec3(),Zl=h.vec3(),$l=h.vec3(),eo=h.mat4();class to{constructor(e){this._scene=e,this._hash=this._getHash(),this._allocate()}getValid(){return this._hash===this._getHash()}_getHash(){return this._scene._sectionPlanesState.getHash()}drawLayer(e,t,s){if(!this._program&&(this._allocate(t),this.errors))return;e.lastProgramId!==this._program.id&&(e.lastProgramId=this._program.id,this._bindProgram(e));const n=t.model,i=n.scene,a=i.camera,r=i.canvas.gl,l=t._state,o=l.textureState,c=t._state.origin,{position:u,rotationMatrix:p,rotationMatrixConjugate:A}=n;let d,f;o.bindCommonTextures(this._program,this.uTexturePerObjectPositionsDecodeMatrix,this._uTexturePerVertexIdCoordinates,this.uTexturePerObjectColorsAndFlags,this._uTexturePerObjectMatrix);const I=0!==c[0]||0!==c[1]||0!==c[2],y=0!==u[0]||0!==u[1]||0!==u[2];if(I||y){const e=Jl;if(I){const t=h.transformPoint3(p,c,Zl);e[0]=t[0],e[1]=t[1],e[2]=t[2]}else e[0]=0,e[1]=0,e[2]=0;e[0]+=u[0],e[1]+=u[1],e[2]+=u[2],d=G(a.viewMatrix,e,eo),f=$l,f[0]=a.eye[0]-e[0],f[1]=a.eye[1]-e[1],f[2]=a.eye[2]-e[2]}else d=a.viewMatrix,f=a.eye;if(r.uniform2fv(this._uPickClipPos,e.pickClipPos),r.uniform2f(this._uDrawingBufferSize,r.drawingBufferWidth,r.drawingBufferHeight),r.uniformMatrix4fv(this._uSceneModelMatrix,!1,A),r.uniformMatrix4fv(this._uViewMatrix,!1,d),r.uniformMatrix4fv(this._uProjMatrix,!1,a.projMatrix),r.uniform3fv(this._uCameraEyeRtc,f),r.uniform1i(this._uRenderPass,s),i.logarithmicDepthBufferEnabled){const e=2/(Math.log(a.project.far+1)/Math.LN2);r.uniform1f(this._uLogDepthBufFC,e)}const m=i._sectionPlanesState.getNumAllocatedSectionPlanes(),v=i._sectionPlanesState.sectionPlanes.length;if(m>0){const e=i._sectionPlanesState.sectionPlanes,s=t.layerIndex*v,a=n.renderFlags;for(let t=0;t0&&(o.bindTriangleIndicesTextures(this._program,this._uTexturePerPolygonIdPortionIds,this._uTexturePerPolygonIdIndices,8),r.drawArrays(r.TRIANGLES,0,l.numIndices8Bits)),l.numIndices16Bits>0&&(o.bindTriangleIndicesTextures(this._program,this._uTexturePerPolygonIdPortionIds,this._uTexturePerPolygonIdIndices,16),r.drawArrays(r.TRIANGLES,0,l.numIndices16Bits)),l.numIndices32Bits>0&&(o.bindTriangleIndicesTextures(this._program,this._uTexturePerPolygonIdPortionIds,this._uTexturePerPolygonIdIndices,32),r.drawArrays(r.TRIANGLES,0,l.numIndices32Bits)),e.drawElements++}_allocate(){const e=this._scene,t=e.canvas.gl;if(this._program=new Be(t,this._buildShader()),this._program.errors)return void(this.errors=this._program.errors);const s=this._program;this._uRenderPass=s.getLocation("renderPass"),this._uPickInvisible=s.getLocation("pickInvisible"),this._uPickClipPos=s.getLocation("pickClipPos"),this._uDrawingBufferSize=s.getLocation("drawingBufferSize"),this._uSceneModelMatrix=s.getLocation("sceneModelMatrix"),this._uViewMatrix=s.getLocation("viewMatrix"),this._uProjMatrix=s.getLocation("projMatrix"),this._uSectionPlanes=[];for(let t=0,n=e._sectionPlanesState.getNumAllocatedSectionPlanes();t0,s=[];return s.push("#version 300 es"),s.push("// Batched geometry picking vertex shader"),s.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),s.push("precision highp float;"),s.push("precision highp int;"),s.push("precision highp usampler2D;"),s.push("precision highp isampler2D;"),s.push("precision highp sampler2D;"),s.push("#else"),s.push("precision mediump float;"),s.push("precision mediump int;"),s.push("precision mediump usampler2D;"),s.push("precision mediump isampler2D;"),s.push("precision mediump sampler2D;"),s.push("#endif"),s.push("uniform int renderPass;"),e.entityOffsetsEnabled&&s.push("in vec3 offset;"),s.push("uniform mat4 sceneModelMatrix;"),s.push("uniform mat4 viewMatrix;"),s.push("uniform mat4 projMatrix;"),s.push("uniform bool pickInvisible;"),s.push("uniform highp sampler2D uObjectPerObjectPositionsDecodeMatrix;"),s.push("uniform highp sampler2D uTexturePerObjectMatrix;"),s.push("uniform lowp usampler2D uObjectPerObjectColorsAndFlags;"),s.push("uniform mediump usampler2D uTexturePerVertexIdCoordinates;"),s.push("uniform highp usampler2D uTexturePerPolygonIdIndices;"),s.push("uniform mediump usampler2D uTexturePerPolygonIdPortionIds;"),s.push("uniform vec3 uCameraEyeRtc;"),s.push("vec3 positions[3];"),e.logarithmicDepthBufferEnabled&&(s.push("uniform float logDepthBufFC;"),s.push("out float vFragDepth;"),s.push("out float isPerspective;")),s.push("uniform vec2 pickClipPos;"),s.push("uniform vec2 drawingBufferSize;"),s.push("vec4 remapClipPos(vec4 clipPos) {"),s.push(" clipPos.xy /= clipPos.w;"),s.push(" clipPos.xy = (clipPos.xy - pickClipPos) * drawingBufferSize;"),s.push(" clipPos.xy *= clipPos.w;"),s.push(" return clipPos;"),s.push("}"),s.push("bool isPerspectiveMatrix(mat4 m) {"),s.push(" return (m[2][3] == - 1.0);"),s.push("}"),t&&(s.push("smooth out vec4 vWorldPosition;"),s.push("flat out uvec4 vFlags2;")),s.push("out vec4 vPickColor;"),s.push("void main(void) {"),s.push("int polygonIndex = gl_VertexID / 3;"),s.push("int h_packed_object_id_index = (polygonIndex >> 3) & 4095;"),s.push("int v_packed_object_id_index = (polygonIndex >> 3) >> 12;"),s.push("int objectIndex = int(texelFetch(uTexturePerPolygonIdPortionIds, ivec2(h_packed_object_id_index, v_packed_object_id_index), 0).r);"),s.push("ivec2 objectIndexCoords = ivec2(objectIndex % 512, objectIndex / 512);"),s.push("uvec4 flags = texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+2, objectIndexCoords.y), 0);"),s.push("uvec4 flags2 = texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+3, objectIndexCoords.y), 0);"),s.push("if (int(flags.w) != renderPass) {"),s.push(" gl_Position = vec4(3.0, 3.0, 3.0, 1.0);"),s.push(" return;"),s.push("} else {"),s.push("ivec4 packedVertexBase = ivec4(texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+4, objectIndexCoords.y), 0));"),s.push("ivec4 packedIndexBaseOffset = ivec4(texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+5, objectIndexCoords.y), 0));"),s.push("int indexBaseOffset = (packedIndexBaseOffset.r << 24) + (packedIndexBaseOffset.g << 16) + (packedIndexBaseOffset.b << 8) + packedIndexBaseOffset.a;"),s.push("int h_index = (polygonIndex - indexBaseOffset) & 4095;"),s.push("int v_index = (polygonIndex - indexBaseOffset) >> 12;"),s.push("ivec3 vertexIndices = ivec3(texelFetch(uTexturePerPolygonIdIndices, ivec2(h_index, v_index), 0));"),s.push("ivec3 uniqueVertexIndexes = vertexIndices + (packedVertexBase.r << 24) + (packedVertexBase.g << 16) + (packedVertexBase.b << 8) + packedVertexBase.a;"),s.push("ivec3 indexPositionH = uniqueVertexIndexes & 4095;"),s.push("ivec3 indexPositionV = uniqueVertexIndexes >> 12;"),s.push("mat4 objectInstanceMatrix = mat4 (texelFetch (uTexturePerObjectMatrix, ivec2(objectIndexCoords.x*4+0, objectIndexCoords.y), 0), texelFetch (uTexturePerObjectMatrix, ivec2(objectIndexCoords.x*4+1, objectIndexCoords.y), 0), texelFetch (uTexturePerObjectMatrix, ivec2(objectIndexCoords.x*4+2, objectIndexCoords.y), 0), texelFetch (uTexturePerObjectMatrix, ivec2(objectIndexCoords.x*4+3, objectIndexCoords.y), 0));"),s.push("mat4 objectDecodeAndInstanceMatrix = objectInstanceMatrix * mat4 (texelFetch (uObjectPerObjectPositionsDecodeMatrix, ivec2(objectIndexCoords.x*4+0, objectIndexCoords.y), 0), texelFetch (uObjectPerObjectPositionsDecodeMatrix, ivec2(objectIndexCoords.x*4+1, objectIndexCoords.y), 0), texelFetch (uObjectPerObjectPositionsDecodeMatrix, ivec2(objectIndexCoords.x*4+2, objectIndexCoords.y), 0), texelFetch (uObjectPerObjectPositionsDecodeMatrix, ivec2(objectIndexCoords.x*4+3, objectIndexCoords.y), 0));"),s.push("uint solid = texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+7, objectIndexCoords.y), 0).r;"),s.push("positions[0] = vec3(texelFetch(uTexturePerVertexIdCoordinates, ivec2(indexPositionH.r, indexPositionV.r), 0));"),s.push("positions[1] = vec3(texelFetch(uTexturePerVertexIdCoordinates, ivec2(indexPositionH.g, indexPositionV.g), 0));"),s.push("positions[2] = vec3(texelFetch(uTexturePerVertexIdCoordinates, ivec2(indexPositionH.b, indexPositionV.b), 0));"),s.push("uvec4 color = texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+0, objectIndexCoords.y), 0);"),s.push("if (color.a == 0u) {"),s.push(" gl_Position = vec4(3.0, 3.0, 3.0, 1.0);"),s.push(" return;"),s.push("};"),s.push("vPickColor = vec4(texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+1, objectIndexCoords.y), 0)) / 255.0;"),s.push("vec3 normal = normalize(cross(positions[2] - positions[0], positions[1] - positions[0]));"),s.push("vec3 position;"),s.push("position = positions[gl_VertexID % 3];"),s.push("if (solid != 1u) {"),s.push("if (isPerspectiveMatrix(projMatrix)) {"),s.push("vec3 uCameraEyeRtcInQuantizedSpace = (inverse(sceneModelMatrix * objectDecodeAndInstanceMatrix) * vec4(uCameraEyeRtc, 1)).xyz;"),s.push("if (dot(position.xyz - uCameraEyeRtcInQuantizedSpace, normal) < 0.0) {"),s.push("position = positions[2 - (gl_VertexID % 3)];"),s.push("}"),s.push("} else {"),s.push("vec3 viewNormal = -normalize((transpose(inverse(viewMatrix*objectDecodeAndInstanceMatrix)) * vec4(normal,1)).xyz);"),s.push("if (viewNormal.z < 0.0) {"),s.push("position = positions[2 - (gl_VertexID % 3)];"),s.push("}"),s.push("}"),s.push("}"),s.push("vec4 worldPosition = sceneModelMatrix * (objectDecodeAndInstanceMatrix * vec4(position, 1.0)); "),s.push("vec4 viewPosition = viewMatrix * worldPosition; "),t&&(s.push(" vWorldPosition = worldPosition;"),s.push(" vFlags2 = flags2;")),s.push("vec4 clipPos = projMatrix * viewPosition;"),e.logarithmicDepthBufferEnabled&&(s.push("vFragDepth = 1.0 + clipPos.w;"),s.push("isPerspective = float (isPerspectiveMatrix(projMatrix));")),s.push("gl_Position = remapClipPos(clipPos);"),s.push(" }"),s.push("}"),s}_buildFragmentShader(){const e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,s=[];if(s.push("#version 300 es"),s.push("// Batched geometry picking fragment shader"),s.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),s.push("precision highp float;"),s.push("precision highp int;"),s.push("#else"),s.push("precision mediump float;"),s.push("precision mediump int;"),s.push("#endif"),e.logarithmicDepthBufferEnabled&&(s.push("in float isPerspective;"),s.push("uniform float logDepthBufFC;"),s.push("in float vFragDepth;")),t){s.push("in vec4 vWorldPosition;"),s.push("flat in uvec4 vFlags2;");for(var n=0;n 0.0);"),s.push(" if (clippable) {"),s.push(" float dist = 0.0;");for(n=0;n 0.0) { discard; }"),s.push(" }")}return e.logarithmicDepthBufferEnabled&&s.push(" gl_FragDepth = isPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5;"),s.push(" outPickColor = vPickColor; "),s.push("}"),s}webglContextRestored(){this._program=null}destroy(){this._program&&this._program.destroy(),this._program=null}}const so=h.vec3(),no=h.vec3(),io=h.vec3();h.vec3();const ao=h.mat4();class ro{constructor(e){this._scene=e,this._hash=this._getHash(),this._allocate()}getValid(){return this._hash===this._getHash()}_getHash(){return this._scene._sectionPlanesState.getHash()}drawLayer(e,t,s){const n=t.model,i=n.scene,a=i.camera,r=i.canvas.gl,l=t._state,o=l.textureState,c=t._state.origin,{position:u,rotationMatrix:p,rotationMatrixConjugate:A}=n,d=e.pickViewMatrix||a.viewMatrix;let f,I;if(this._program||this._allocate(),e.lastProgramId!==this._program.id&&(e.lastProgramId=this._program.id,this._bindProgram()),o.bindCommonTextures(this._program,this.uTexturePerObjectPositionsDecodeMatrix,this._uTexturePerVertexIdCoordinates,this.uTexturePerObjectColorsAndFlags,this._uTexturePerObjectMatrix),c||0!==u[0]||0!==u[1]||0!==u[2]){const t=so;if(c){const e=no;h.transformPoint3(p,c,e),t[0]=e[0],t[1]=e[1],t[2]=e[2]}else t[0]=0,t[1]=0,t[2]=0;t[0]+=u[0],t[1]+=u[1],t[2]+=u[2],f=G(d,t,ao),I=io,I[0]=a.eye[0]-t[0],I[1]=a.eye[1]-t[1],I[2]=a.eye[2]-t[2],e.snapPickOrigin[0]=t[0],e.snapPickOrigin[1]=t[1],e.snapPickOrigin[2]=t[2]}else f=d,I=a.eye,e.snapPickOrigin[0]=0,e.snapPickOrigin[1]=0,e.snapPickOrigin[2]=0;if(r.uniform3fv(this._uCameraEyeRtc,I),r.uniform1i(this._uRenderPass,s),r.uniform1i(this._uPickInvisible,e.pickInvisible),r.uniform2fv(this._uPickClipPos,e.pickClipPos),r.uniform2f(this._uDrawingBufferSize,r.drawingBufferWidth,r.drawingBufferHeight),r.uniform1f(this._uPickZNear,e.pickZNear),r.uniform1f(this._uPickZFar,e.pickZFar),r.uniformMatrix4fv(this._uSceneModelMatrix,!1,A),r.uniformMatrix4fv(this._uViewMatrix,!1,f),r.uniformMatrix4fv(this._uProjMatrix,!1,a.projMatrix),i.logarithmicDepthBufferEnabled){const t=2/(Math.log(e.pickZFar+1)/Math.LN2);r.uniform1f(this._uLogDepthBufFC,t)}const y=i._sectionPlanesState.getNumAllocatedSectionPlanes(),m=i._sectionPlanesState.sectionPlanes.length;if(y>0){const e=i._sectionPlanesState.sectionPlanes,s=t.layerIndex*m,a=n.renderFlags;for(let t=0;t0&&(o.bindTriangleIndicesTextures(this._program,this._uTexturePerPolygonIdPortionIds,this._uTexturePerPolygonIdIndices,8),r.drawArrays(r.TRIANGLES,0,l.numIndices8Bits)),l.numIndices16Bits>0&&(o.bindTriangleIndicesTextures(this._program,this._uTexturePerPolygonIdPortionIds,this._uTexturePerPolygonIdIndices,16),r.drawArrays(r.TRIANGLES,0,l.numIndices16Bits)),l.numIndices32Bits>0&&(o.bindTriangleIndicesTextures(this._program,this._uTexturePerPolygonIdPortionIds,this._uTexturePerPolygonIdIndices,32),r.drawArrays(r.TRIANGLES,0,l.numIndices32Bits)),e.drawElements++}_allocate(){const e=this._scene,t=e.canvas.gl;if(this._program=new Be(t,this._buildShader()),this._program.errors)return void(this.errors=this._program.errors);const s=this._program;this._uRenderPass=s.getLocation("renderPass"),this._uPickInvisible=s.getLocation("pickInvisible"),this._uPickClipPos=s.getLocation("pickClipPos"),this._uDrawingBufferSize=s.getLocation("drawingBufferSize"),this._uSceneModelMatrix=s.getLocation("sceneModelMatrix"),this._uViewMatrix=s.getLocation("viewMatrix"),this._uProjMatrix=s.getLocation("projMatrix"),this._uSectionPlanes=[];for(let t=0,n=e._sectionPlanesState.getNumAllocatedSectionPlanes();t0,s=[];return s.push("#version 300 es"),s.push("// Triangles dataTexture pick depth vertex shader"),s.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),s.push("precision highp float;"),s.push("precision highp int;"),s.push("precision highp usampler2D;"),s.push("precision highp isampler2D;"),s.push("precision highp sampler2D;"),s.push("#else"),s.push("precision mediump float;"),s.push("precision mediump int;"),s.push("precision mediump usampler2D;"),s.push("precision mediump isampler2D;"),s.push("precision mediump sampler2D;"),s.push("#endif"),s.push("uniform int renderPass;"),e.entityOffsetsEnabled&&s.push("in vec3 offset;"),s.push("uniform mat4 sceneModelMatrix;"),s.push("uniform mat4 viewMatrix;"),s.push("uniform mat4 projMatrix;"),s.push("uniform bool pickInvisible;"),s.push("uniform highp sampler2D uObjectPerObjectPositionsDecodeMatrix;"),s.push("uniform highp sampler2D uTexturePerObjectMatrix;"),s.push("uniform lowp usampler2D uObjectPerObjectColorsAndFlags;"),s.push("uniform mediump usampler2D uTexturePerVertexIdCoordinates;"),s.push("uniform highp usampler2D uTexturePerPolygonIdIndices;"),s.push("uniform mediump usampler2D uTexturePerPolygonIdPortionIds;"),s.push("uniform vec3 uCameraEyeRtc;"),s.push("vec3 positions[3];"),e.logarithmicDepthBufferEnabled&&(s.push("uniform float logDepthBufFC;"),s.push("out float vFragDepth;"),s.push("out float isPerspective;")),s.push("uniform vec2 pickClipPos;"),s.push("uniform vec2 drawingBufferSize;"),s.push("vec4 remapClipPos(vec4 clipPos) {"),s.push(" clipPos.xy /= clipPos.w;"),s.push(" clipPos.xy = (clipPos.xy - pickClipPos) * drawingBufferSize;"),s.push(" clipPos.xy *= clipPos.w;"),s.push(" return clipPos;"),s.push("}"),s.push("bool isPerspectiveMatrix(mat4 m) {"),s.push(" return (m[2][3] == - 1.0);"),s.push("}"),t&&(s.push("out vec4 vWorldPosition;"),s.push("flat out uint vFlags2;")),s.push("out vec4 vViewPosition;"),s.push("void main(void) {"),s.push("int polygonIndex = gl_VertexID / 3;"),s.push("int h_packed_object_id_index = (polygonIndex >> 3) & 4095;"),s.push("int v_packed_object_id_index = (polygonIndex >> 3) >> 12;"),s.push("int objectIndex = int(texelFetch(uTexturePerPolygonIdPortionIds, ivec2(h_packed_object_id_index, v_packed_object_id_index), 0).r);"),s.push("ivec2 objectIndexCoords = ivec2(objectIndex % 512, objectIndex / 512);"),s.push("uvec4 flags = texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+2, objectIndexCoords.y), 0);"),s.push("uvec4 flags2 = texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+3, objectIndexCoords.y), 0);"),s.push("if (int(flags.w) != renderPass) {"),s.push(" gl_Position = vec4(3.0, 3.0, 3.0, 1.0);"),s.push(" return;"),s.push("} else {"),s.push("ivec4 packedVertexBase = ivec4(texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+4, objectIndexCoords.y), 0));"),s.push("ivec4 packedIndexBaseOffset = ivec4(texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+5, objectIndexCoords.y), 0));"),s.push("int indexBaseOffset = (packedIndexBaseOffset.r << 24) + (packedIndexBaseOffset.g << 16) + (packedIndexBaseOffset.b << 8) + packedIndexBaseOffset.a;"),s.push("int h_index = (polygonIndex - indexBaseOffset) & 4095;"),s.push("int v_index = (polygonIndex - indexBaseOffset) >> 12;"),s.push("ivec3 vertexIndices = ivec3(texelFetch(uTexturePerPolygonIdIndices, ivec2(h_index, v_index), 0));"),s.push("ivec3 uniqueVertexIndexes = vertexIndices + (packedVertexBase.r << 24) + (packedVertexBase.g << 16) + (packedVertexBase.b << 8) + packedVertexBase.a;"),s.push("ivec3 indexPositionH = uniqueVertexIndexes & 4095;"),s.push("ivec3 indexPositionV = uniqueVertexIndexes >> 12;"),s.push("mat4 objectInstanceMatrix = mat4 (texelFetch (uTexturePerObjectMatrix, ivec2(objectIndexCoords.x*4+0, objectIndexCoords.y), 0), texelFetch (uTexturePerObjectMatrix, ivec2(objectIndexCoords.x*4+1, objectIndexCoords.y), 0), texelFetch (uTexturePerObjectMatrix, ivec2(objectIndexCoords.x*4+2, objectIndexCoords.y), 0), texelFetch (uTexturePerObjectMatrix, ivec2(objectIndexCoords.x*4+3, objectIndexCoords.y), 0));"),s.push("mat4 objectDecodeAndInstanceMatrix = objectInstanceMatrix * mat4 (texelFetch (uObjectPerObjectPositionsDecodeMatrix, ivec2(objectIndexCoords.x*4+0, objectIndexCoords.y), 0), texelFetch (uObjectPerObjectPositionsDecodeMatrix, ivec2(objectIndexCoords.x*4+1, objectIndexCoords.y), 0), texelFetch (uObjectPerObjectPositionsDecodeMatrix, ivec2(objectIndexCoords.x*4+2, objectIndexCoords.y), 0), texelFetch (uObjectPerObjectPositionsDecodeMatrix, ivec2(objectIndexCoords.x*4+3, objectIndexCoords.y), 0));"),s.push("uint solid = texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+7, objectIndexCoords.y), 0).r;"),s.push("positions[0] = vec3(texelFetch(uTexturePerVertexIdCoordinates, ivec2(indexPositionH.r, indexPositionV.r), 0));"),s.push("positions[1] = vec3(texelFetch(uTexturePerVertexIdCoordinates, ivec2(indexPositionH.g, indexPositionV.g), 0));"),s.push("positions[2] = vec3(texelFetch(uTexturePerVertexIdCoordinates, ivec2(indexPositionH.b, indexPositionV.b), 0));"),s.push("uvec4 color = texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+0, objectIndexCoords.y), 0);"),s.push("if (color.a == 0u) {"),s.push(" gl_Position = vec4(3.0, 3.0, 3.0, 1.0);"),s.push(" return;"),s.push("};"),s.push("vec3 normal = normalize(cross(positions[2] - positions[0], positions[1] - positions[0]));"),s.push("vec3 position;"),s.push("position = positions[gl_VertexID % 3];"),s.push("if (solid != 1u) {"),s.push("if (isPerspectiveMatrix(projMatrix)) {"),s.push("vec3 uCameraEyeRtcInQuantizedSpace = (inverse(sceneModelMatrix * objectDecodeAndInstanceMatrix) * vec4(uCameraEyeRtc, 1)).xyz;"),s.push("if (dot(position.xyz - uCameraEyeRtcInQuantizedSpace, normal) < 0.0) {"),s.push("position = positions[2 - (gl_VertexID % 3)];"),s.push("}"),s.push("} else {"),s.push("vec3 viewNormal = -normalize((transpose(inverse(viewMatrix*objectDecodeAndInstanceMatrix)) * vec4(normal,1)).xyz);"),s.push("if (viewNormal.z < 0.0) {"),s.push("position = positions[2 - (gl_VertexID % 3)];"),s.push("}"),s.push("}"),s.push("}"),s.push("vec4 worldPosition = sceneModelMatrix * (objectDecodeAndInstanceMatrix * vec4(position, 1.0)); "),s.push("vec4 viewPosition = viewMatrix * worldPosition; "),t&&(s.push(" vWorldPosition = worldPosition;"),s.push(" vFlags2 = flags2.r;")),s.push("vViewPosition = viewPosition;"),s.push("vec4 clipPos = projMatrix * viewPosition;"),e.logarithmicDepthBufferEnabled&&(s.push("vFragDepth = 1.0 + clipPos.w;"),s.push("isPerspective = float (isPerspectiveMatrix(projMatrix));")),s.push("gl_Position = remapClipPos(clipPos);"),s.push(" }"),s.push("}"),s}_buildFragmentShader(){const e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,s=[];if(s.push("#version 300 es"),s.push("// Triangles dataTexture pick depth fragment shader"),s.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),s.push("precision highp float;"),s.push("precision highp int;"),s.push("#else"),s.push("precision mediump float;"),s.push("precision mediump int;"),s.push("#endif"),e.logarithmicDepthBufferEnabled&&(s.push("in float isPerspective;"),s.push("uniform float logDepthBufFC;"),s.push("in float vFragDepth;")),s.push("uniform float pickZNear;"),s.push("uniform float pickZFar;"),t){s.push("in vec4 vWorldPosition;"),s.push("flat in uint vFlags2;");for(var n=0;n 0u;"),s.push(" if (clippable) {"),s.push(" float dist = 0.0;");for(n=0;n 0.0) { discard; }"),s.push(" }")}return e.logarithmicDepthBufferEnabled&&s.push(" gl_FragDepth = isPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5;"),s.push(" float zNormalizedDepth = abs((pickZNear + vViewPosition.z) / (pickZFar - pickZNear));"),s.push(" outPackedDepth = packDepth(zNormalizedDepth); "),s.push("}"),s}webglContextRestored(){this._program=null}destroy(){this._program&&this._program.destroy(),this._program=null}}const lo=h.vec3(),oo=h.vec3(),co=h.vec3(),uo=h.vec3();h.vec3();const ho=h.mat4();class po{constructor(e){this._scene=e,this._hash=this._getHash(),this._allocate()}getValid(){return this._hash===this._getHash()}_getHash(){return this._scene._sectionPlanesState.getHash()}drawLayer(e,t,s){if(!this._program&&(this._allocate(),this.errors))return;e.lastProgramId!==this._program.id&&(e.lastProgramId=this._program.id,this._bindProgram());const n=t.model,i=n.scene,a=i.camera,r=i.canvas.gl,l=t._state,o=l.textureState,c=t._state.origin,{position:u,rotationMatrix:p,rotationMatrixConjugate:A}=n,d=n.aabb,f=e.pickViewMatrix||a.viewMatrix,I=lo;let y,m;I[0]=h.safeInv(d[3]-d[0])*h.MAX_INT,I[1]=h.safeInv(d[4]-d[1])*h.MAX_INT,I[2]=h.safeInv(d[5]-d[2])*h.MAX_INT,e.snapPickCoordinateScale[0]=h.safeInv(I[0]),e.snapPickCoordinateScale[1]=h.safeInv(I[1]),e.snapPickCoordinateScale[2]=h.safeInv(I[2]),o.bindCommonTextures(this._program,this.uTexturePerObjectPositionsDecodeMatrix,this._uTexturePerVertexIdCoordinates,this.uTexturePerObjectColorsAndFlags,this._uTexturePerObjectMatrix);const v=0!==c[0]||0!==c[1]||0!==c[2],w=0!==u[0]||0!==u[1]||0!==u[2];if(v||w){const t=oo;if(v){const e=h.transformPoint3(p,c,co);t[0]=e[0],t[1]=e[1],t[2]=e[2]}else t[0]=0,t[1]=0,t[2]=0;t[0]+=u[0],t[1]+=u[1],t[2]+=u[2],y=G(f,t,ho),m=uo,m[0]=a.eye[0]-t[0],m[1]=a.eye[1]-t[1],m[2]=a.eye[2]-t[2],e.snapPickOrigin[0]=t[0],e.snapPickOrigin[1]=t[1],e.snapPickOrigin[2]=t[2]}else y=f,m=a.eye,e.snapPickOrigin[0]=0,e.snapPickOrigin[1]=0,e.snapPickOrigin[2]=0;r.uniform3fv(this._uCameraEyeRtc,m),r.uniform2fv(this.uVectorA,e.snapVectorA),r.uniform2fv(this.uInverseVectorAB,e.snapInvVectorAB),r.uniform1i(this._uLayerNumber,e.snapPickLayerNumber),r.uniform3fv(this._uCoordinateScaler,I),r.uniform1i(this._uRenderPass,s),r.uniform1i(this._uPickInvisible,e.pickInvisible),r.uniformMatrix4fv(this._uSceneModelMatrix,!1,A),r.uniformMatrix4fv(this._uViewMatrix,!1,y),r.uniformMatrix4fv(this._uProjMatrix,!1,a.projMatrix);{const t=2/(Math.log(e.pickZFar+1)/Math.LN2);r.uniform1f(this._uLogDepthBufFC,t)}const g=i._sectionPlanesState.getNumAllocatedSectionPlanes(),E=i._sectionPlanesState.sectionPlanes.length;if(g>0){const e=i._sectionPlanesState.sectionPlanes,s=t.layerIndex*E,a=n.renderFlags;for(let t=0;t0&&(o.bindEdgeIndicesTextures(this._program,this._uTexturePerEdgeIdPortionIds,this._uTexturePerPolygonIdEdgeIndices,8),r.drawArrays(T,0,l.numEdgeIndices8Bits)),l.numEdgeIndices16Bits>0&&(o.bindEdgeIndicesTextures(this._program,this._uTexturePerEdgeIdPortionIds,this._uTexturePerPolygonIdEdgeIndices,16),r.drawArrays(T,0,l.numEdgeIndices16Bits)),l.numEdgeIndices32Bits>0&&(o.bindEdgeIndicesTextures(this._program,this._uTexturePerEdgeIdPortionIds,this._uTexturePerPolygonIdEdgeIndices,32),r.drawArrays(T,0,l.numEdgeIndices32Bits)),e.drawElements++}_allocate(){const e=this._scene,t=e.canvas.gl;if(this._program=new Be(t,this._buildShader()),this._program.errors)return void(this.errors=this._program.errors);const s=this._program;this._uRenderPass=s.getLocation("renderPass"),this._uPickInvisible=s.getLocation("pickInvisible"),this._uSceneModelMatrix=s.getLocation("sceneModelMatrix"),this._uViewMatrix=s.getLocation("viewMatrix"),this._uProjMatrix=s.getLocation("projMatrix"),this._uSectionPlanes=[];for(let t=0,n=e._sectionPlanesState.getNumAllocatedSectionPlanes();t0,s=[];return s.push("#version 300 es"),s.push("// Batched geometry edges drawing vertex shader"),s.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),s.push("precision highp float;"),s.push("precision highp int;"),s.push("precision highp usampler2D;"),s.push("precision highp isampler2D;"),s.push("precision highp sampler2D;"),s.push("#else"),s.push("precision mediump float;"),s.push("precision mediump int;"),s.push("precision mediump usampler2D;"),s.push("precision mediump isampler2D;"),s.push("precision mediump sampler2D;"),s.push("#endif"),s.push("uniform int renderPass;"),e.entityOffsetsEnabled&&s.push("in vec3 offset;"),s.push("uniform mat4 sceneModelMatrix;"),s.push("uniform mat4 viewMatrix;"),s.push("uniform mat4 projMatrix;"),s.push("uniform highp sampler2D uObjectPerObjectPositionsDecodeMatrix;"),s.push("uniform lowp usampler2D uObjectPerObjectColorsAndFlags;"),s.push("uniform highp sampler2D uTexturePerObjectMatrix;"),s.push("uniform mediump usampler2D uTexturePerVertexIdCoordinates;"),s.push("uniform highp usampler2D uTexturePerPolygonIdEdgeIndices;"),s.push("uniform mediump usampler2D uTexturePerEdgeIdPortionIds;"),s.push("uniform vec3 uCameraEyeRtc;"),s.push("uniform vec2 uSnapVectorA;"),s.push("uniform vec2 uSnapInvVectorAB;"),s.push("vec3 positions[3];"),s.push("uniform float logDepthBufFC;"),s.push("out float vFragDepth;"),s.push("bool isPerspectiveMatrix(mat4 m) {"),s.push(" return (m[2][3] == - 1.0);"),s.push("}"),s.push("out float isPerspective;"),s.push("vec2 remapClipPos(vec2 clipPos) {"),s.push(" float x = (clipPos.x - uSnapVectorA.x) * uSnapInvVectorAB.x;"),s.push(" float y = (clipPos.y - uSnapVectorA.y) * uSnapInvVectorAB.y;"),s.push(" return vec2(x, y);"),s.push("}"),t&&(s.push("out vec4 vWorldPosition;"),s.push("flat out uint vFlags2;")),s.push("out vec4 vViewPosition;"),s.push("out highp vec3 relativeToOriginPosition;"),s.push("void main(void) {"),s.push("int edgeIndex = gl_VertexID / 2;"),s.push("int h_packed_object_id_index = (edgeIndex >> 3) & 4095;"),s.push("int v_packed_object_id_index = (edgeIndex >> 3) >> 12;"),s.push("int objectIndex = int(texelFetch(uTexturePerEdgeIdPortionIds, ivec2(h_packed_object_id_index, v_packed_object_id_index), 0).r);"),s.push("ivec2 objectIndexCoords = ivec2(objectIndex % 512, objectIndex / 512);"),s.push("uvec4 flags = texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+2, objectIndexCoords.y), 0);"),s.push("uvec4 flags2 = texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+3, objectIndexCoords.y), 0);"),s.push("{"),s.push("ivec4 packedVertexBase = ivec4(texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+4, objectIndexCoords.y), 0));"),s.push("ivec4 packedEdgeIndexBaseOffset = ivec4(texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+6, objectIndexCoords.y), 0));"),s.push("int edgeIndexBaseOffset = (packedEdgeIndexBaseOffset.r << 24) + (packedEdgeIndexBaseOffset.g << 16) + (packedEdgeIndexBaseOffset.b << 8) + packedEdgeIndexBaseOffset.a;"),s.push("int h_index = (edgeIndex - edgeIndexBaseOffset) & 4095;"),s.push("int v_index = (edgeIndex - edgeIndexBaseOffset) >> 12;"),s.push("ivec3 vertexIndices = ivec3(texelFetch(uTexturePerPolygonIdEdgeIndices, ivec2(h_index, v_index), 0));"),s.push("ivec3 uniqueVertexIndexes = vertexIndices + (packedVertexBase.r << 24) + (packedVertexBase.g << 16) + (packedVertexBase.b << 8) + packedVertexBase.a;"),s.push("int indexPositionH = uniqueVertexIndexes[gl_VertexID % 2] & 4095;"),s.push("int indexPositionV = uniqueVertexIndexes[gl_VertexID % 2] >> 12;"),s.push("mat4 objectInstanceMatrix = mat4 (texelFetch (uTexturePerObjectMatrix, ivec2(objectIndexCoords.x*4+0, objectIndexCoords.y), 0), texelFetch (uTexturePerObjectMatrix, ivec2(objectIndexCoords.x*4+1, objectIndexCoords.y), 0), texelFetch (uTexturePerObjectMatrix, ivec2(objectIndexCoords.x*4+2, objectIndexCoords.y), 0), texelFetch (uTexturePerObjectMatrix, ivec2(objectIndexCoords.x*4+3, objectIndexCoords.y), 0));"),s.push("mat4 objectDecodeAndInstanceMatrix = objectInstanceMatrix * mat4 (texelFetch (uObjectPerObjectPositionsDecodeMatrix, ivec2(objectIndexCoords.x*4+0, objectIndexCoords.y), 0), texelFetch (uObjectPerObjectPositionsDecodeMatrix, ivec2(objectIndexCoords.x*4+1, objectIndexCoords.y), 0), texelFetch (uObjectPerObjectPositionsDecodeMatrix, ivec2(objectIndexCoords.x*4+2, objectIndexCoords.y), 0), texelFetch (uObjectPerObjectPositionsDecodeMatrix, ivec2(objectIndexCoords.x*4+3, objectIndexCoords.y), 0));"),s.push("uvec4 flags = texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+2, objectIndexCoords.y), 0);"),s.push("uvec4 flags2 = texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+3, objectIndexCoords.y), 0);"),s.push("vec3 position = vec3(texelFetch(uTexturePerVertexIdCoordinates, ivec2(indexPositionH, indexPositionV), 0));"),s.push("vec4 worldPosition = sceneModelMatrix * (objectDecodeAndInstanceMatrix * vec4(position, 1.0)); "),s.push("relativeToOriginPosition = worldPosition.xyz;"),s.push(" vec4 viewPosition = viewMatrix * worldPosition; "),t&&(s.push(" vWorldPosition = worldPosition;"),s.push(" vFlags2 = flags2.r;")),s.push("vViewPosition = viewPosition;"),s.push("vec4 clipPos = projMatrix * viewPosition;"),s.push("float tmp = clipPos.w;"),s.push("clipPos.xyzw /= tmp;"),s.push("clipPos.xy = remapClipPos(clipPos.xy);"),s.push("clipPos.xyzw *= tmp;"),s.push("vViewPosition = clipPos;"),s.push("vFragDepth = 1.0 + clipPos.w;"),s.push("isPerspective = float (isPerspectiveMatrix(projMatrix));"),s.push("gl_Position = clipPos;"),s.push("gl_PointSize = 1.0;"),s.push(" }"),s.push("}"),s}_buildFragmentShader(){const e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,s=[];if(s.push("#version 300 es"),s.push("// Triangles dataTexture pick depth fragment shader"),s.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),s.push("precision highp float;"),s.push("precision highp int;"),s.push("#else"),s.push("precision mediump float;"),s.push("precision mediump int;"),s.push("#endif"),s.push("in float isPerspective;"),s.push("uniform float logDepthBufFC;"),s.push("in float vFragDepth;"),s.push("uniform int uLayerNumber;"),s.push("uniform vec3 uCoordinateScaler;"),t){s.push("in vec4 vWorldPosition;"),s.push("flat in uint vFlags2;");for(let t=0,n=e._sectionPlanesState.getNumAllocatedSectionPlanes();t 0u;"),s.push(" if (clippable) {"),s.push(" float dist = 0.0;");for(var n=0;n 0.0) { discard; }"),s.push(" }")}return s.push(" gl_FragDepth = isPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5;"),s.push("outCoords = ivec4(relativeToOriginPosition.xyz * uCoordinateScaler.xyz, uLayerNumber);"),s.push("}"),s}webglContextRestored(){this._program=null}destroy(){this._program&&this._program.destroy(),this._program=null}}const Ao=h.vec3(),fo=h.vec3(),Io=h.vec3(),yo=h.vec3();h.vec3();const mo=h.mat4();class vo{constructor(e){this._scene=e,this._hash=this._getHash(),this._allocate()}getValid(){return this._hash===this._getHash()}_getHash(){return this._scene._sectionPlanesState.getHash()}drawLayer(e,t,s){this._program||this._allocate(),e.lastProgramId!==this._program.id&&(e.lastProgramId=this._program.id,this._bindProgram());const n=t.model,i=n.scene,a=i.camera,r=i.canvas.gl,l=t._state,o=l.textureState,c=t._state.origin,{position:u,rotationMatrix:p,rotationMatrixConjugate:A}=n,d=n.aabb,f=e.pickViewMatrix||a.viewMatrix,I=Ao;let y,m;I[0]=h.safeInv(d[3]-d[0])*h.MAX_INT,I[1]=h.safeInv(d[4]-d[1])*h.MAX_INT,I[2]=h.safeInv(d[5]-d[2])*h.MAX_INT,e.snapPickCoordinateScale[0]=h.safeInv(I[0]),e.snapPickCoordinateScale[1]=h.safeInv(I[1]),e.snapPickCoordinateScale[2]=h.safeInv(I[2]),o.bindCommonTextures(this._program,this.uTexturePerObjectPositionsDecodeMatrix,this._uTexturePerVertexIdCoordinates,this.uTexturePerObjectColorsAndFlags,this._uTexturePerObjectMatrix);const v=0!==c[0]||0!==c[1]||0!==c[2],w=0!==u[0]||0!==u[1]||0!==u[2];if(v||w){const t=fo;if(v){const e=Io;h.transformPoint3(p,c,e),t[0]=e[0],t[1]=e[1],t[2]=e[2]}else t[0]=0,t[1]=0,t[2]=0;t[0]+=u[0],t[1]+=u[1],t[2]+=u[2],y=G(f,t,mo),m=yo,m[0]=a.eye[0]-t[0],m[1]=a.eye[1]-t[1],m[2]=a.eye[2]-t[2],e.snapPickOrigin[0]=t[0],e.snapPickOrigin[1]=t[1],e.snapPickOrigin[2]=t[2]}else y=f,m=a.eye,e.snapPickOrigin[0]=0,e.snapPickOrigin[1]=0,e.snapPickOrigin[2]=0;r.uniform3fv(this._uCameraEyeRtc,m),r.uniform2fv(this._uVectorA,e.snapVectorA),r.uniform2fv(this._uInverseVectorAB,e.snapInvVectorAB),r.uniform1i(this._uLayerNumber,e.snapPickLayerNumber),r.uniform3fv(this._uCoordinateScaler,I),r.uniform1i(this._uRenderPass,s),r.uniform1i(this._uPickInvisible,e.pickInvisible),r.uniformMatrix4fv(this._uSceneWorldModelMatrix,!1,A),r.uniformMatrix4fv(this._uViewMatrix,!1,y),r.uniformMatrix4fv(this._uProjMatrix,!1,a.projMatrix);{const t=2/(Math.log(e.pickZFar+1)/Math.LN2);r.uniform1f(this._uLogDepthBufFC,t)}const g=i._sectionPlanesState.getNumAllocatedSectionPlanes(),E=i._sectionPlanesState.sectionPlanes.length;if(g>0){const e=i._sectionPlanesState.sectionPlanes,s=t.layerIndex*E,a=n.renderFlags;for(let t=0;t0&&(o.bindTriangleIndicesTextures(this._program,this._uTexturePerPolygonIdPortionIds,this._uTexturePerPolygonIdIndices,8),r.drawArrays(r.TRIANGLES,0,l.numIndices8Bits)),l.numIndices16Bits>0&&(o.bindTriangleIndicesTextures(this._program,this._uTexturePerPolygonIdPortionIds,this._uTexturePerPolygonIdIndices,16),r.drawArrays(r.TRIANGLES,0,l.numIndices16Bits)),l.numIndices32Bits>0&&(o.bindTriangleIndicesTextures(this._program,this._uTexturePerPolygonIdPortionIds,this._uTexturePerPolygonIdIndices,32),r.drawArrays(r.TRIANGLES,0,l.numIndices32Bits)),e.drawElements++}_allocate(){const e=this._scene,t=e.canvas.gl;if(this._program=new Be(t,this._buildShader()),this._program.errors)return void(this.errors=this._program.errors);const s=this._program;this._uRenderPass=s.getLocation("renderPass"),this._uPickInvisible=s.getLocation("pickInvisible"),this._uSceneWorldModelMatrix=s.getLocation("sceneModelMatrix"),this._uViewMatrix=s.getLocation("viewMatrix"),this._uProjMatrix=s.getLocation("projMatrix"),this._uSectionPlanes=[];for(let t=0,n=e._sectionPlanesState.getNumAllocatedSectionPlanes();t0,s=[];return s.push("#version 300 es"),s.push("// TrianglesDataTextureSnapDepthBufInitRenderer vertex shader"),s.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),s.push("precision highp float;"),s.push("precision highp int;"),s.push("precision highp usampler2D;"),s.push("precision highp isampler2D;"),s.push("precision highp sampler2D;"),s.push("#else"),s.push("precision mediump float;"),s.push("precision mediump int;"),s.push("precision mediump usampler2D;"),s.push("precision mediump isampler2D;"),s.push("precision mediump sampler2D;"),s.push("#endif"),s.push("uniform int renderPass;"),e.entityOffsetsEnabled&&s.push("in vec3 offset;"),s.push("uniform mat4 sceneModelMatrix;"),s.push("uniform mat4 viewMatrix;"),s.push("uniform mat4 projMatrix;"),s.push("uniform highp sampler2D uObjectPerObjectPositionsDecodeMatrix;"),s.push("uniform highp sampler2D uTexturePerObjectMatrix;"),s.push("uniform lowp usampler2D uObjectPerObjectColorsAndFlags;"),s.push("uniform mediump usampler2D uTexturePerVertexIdCoordinates;"),s.push("uniform highp usampler2D uTexturePerPolygonIdIndices;"),s.push("uniform mediump usampler2D uTexturePerPolygonIdPortionIds;"),s.push("uniform vec3 uCameraEyeRtc;"),s.push("uniform vec2 uVectorAB;"),s.push("uniform vec2 uInverseVectorAB;"),s.push("vec3 positions[3];"),s.push("uniform float logDepthBufFC;"),s.push("out float vFragDepth;"),s.push("out float isPerspective;"),s.push("bool isPerspectiveMatrix(mat4 m) {"),s.push(" return (m[2][3] == - 1.0);"),s.push("}"),s.push("vec2 remapClipPos(vec2 clipPos) {"),s.push(" float x = (clipPos.x - uVectorAB.x) * uInverseVectorAB.x;"),s.push(" float y = (clipPos.y - uVectorAB.y) * uInverseVectorAB.y;"),s.push(" return vec2(x, y);"),s.push("}"),s.push("flat out vec4 vPickColor;"),s.push("out vec4 vWorldPosition;"),t&&s.push("flat out uint vFlags2;"),s.push("out highp vec3 relativeToOriginPosition;"),s.push("void main(void) {"),s.push("int polygonIndex = gl_VertexID / 3;"),s.push("int h_packed_object_id_index = (polygonIndex >> 3) & 4095;"),s.push("int v_packed_object_id_index = (polygonIndex >> 3) >> 12;"),s.push("int objectIndex = int(texelFetch(uTexturePerPolygonIdPortionIds, ivec2(h_packed_object_id_index, v_packed_object_id_index), 0).r);"),s.push("ivec2 objectIndexCoords = ivec2(objectIndex % 512, objectIndex / 512);"),s.push("uvec4 flags = texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+2, objectIndexCoords.y), 0);"),s.push("uvec4 flags2 = texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+3, objectIndexCoords.y), 0);"),s.push("{"),s.push("uvec4 color = texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+0, objectIndexCoords.y), 0);"),s.push("if (color.a == 0u) {"),s.push(" gl_Position = vec4(3.0, 3.0, 3.0, 1.0);"),s.push(" return;"),s.push("};"),s.push("ivec4 packedVertexBase = ivec4(texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+4, objectIndexCoords.y), 0));"),s.push("ivec4 packedIndexBaseOffset = ivec4(texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+5, objectIndexCoords.y), 0));"),s.push("int indexBaseOffset = (packedIndexBaseOffset.r << 24) + (packedIndexBaseOffset.g << 16) + (packedIndexBaseOffset.b << 8) + packedIndexBaseOffset.a;"),s.push("int h_index = (polygonIndex - indexBaseOffset) & 4095;"),s.push("int v_index = (polygonIndex - indexBaseOffset) >> 12;"),s.push("ivec3 vertexIndices = ivec3(texelFetch(uTexturePerPolygonIdIndices, ivec2(h_index, v_index), 0));"),s.push("ivec3 uniqueVertexIndexes = vertexIndices + (packedVertexBase.r << 24) + (packedVertexBase.g << 16) + (packedVertexBase.b << 8) + packedVertexBase.a;"),s.push("ivec3 indexPositionH = uniqueVertexIndexes & 4095;"),s.push("ivec3 indexPositionV = uniqueVertexIndexes >> 12;"),s.push("mat4 objectInstanceMatrix = mat4 (texelFetch (uTexturePerObjectMatrix, ivec2(objectIndexCoords.x*4+0, objectIndexCoords.y), 0), texelFetch (uTexturePerObjectMatrix, ivec2(objectIndexCoords.x*4+1, objectIndexCoords.y), 0), texelFetch (uTexturePerObjectMatrix, ivec2(objectIndexCoords.x*4+2, objectIndexCoords.y), 0), texelFetch (uTexturePerObjectMatrix, ivec2(objectIndexCoords.x*4+3, objectIndexCoords.y), 0));"),s.push("mat4 objectDecodeAndInstanceMatrix = objectInstanceMatrix * mat4 (texelFetch (uObjectPerObjectPositionsDecodeMatrix, ivec2(objectIndexCoords.x*4+0, objectIndexCoords.y), 0), texelFetch (uObjectPerObjectPositionsDecodeMatrix, ivec2(objectIndexCoords.x*4+1, objectIndexCoords.y), 0), texelFetch (uObjectPerObjectPositionsDecodeMatrix, ivec2(objectIndexCoords.x*4+2, objectIndexCoords.y), 0), texelFetch (uObjectPerObjectPositionsDecodeMatrix, ivec2(objectIndexCoords.x*4+3, objectIndexCoords.y), 0));"),s.push("uint solid = texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+7, objectIndexCoords.y), 0).r;"),s.push("positions[0] = vec3(texelFetch(uTexturePerVertexIdCoordinates, ivec2(indexPositionH.r, indexPositionV.r), 0));"),s.push("positions[1] = vec3(texelFetch(uTexturePerVertexIdCoordinates, ivec2(indexPositionH.g, indexPositionV.g), 0));"),s.push("positions[2] = vec3(texelFetch(uTexturePerVertexIdCoordinates, ivec2(indexPositionH.b, indexPositionV.b), 0));"),s.push("vec3 normal = normalize(cross(positions[2] - positions[0], positions[1] - positions[0]));"),s.push("vec3 position;"),s.push("position = positions[gl_VertexID % 3];"),s.push("vec3 viewNormal = -normalize((transpose(inverse(viewMatrix*objectDecodeAndInstanceMatrix)) * vec4(normal,1)).xyz);"),s.push("if (solid != 1u) {"),s.push(" if (isPerspectiveMatrix(projMatrix)) {"),s.push(" vec3 uCameraEyeRtcInQuantizedSpace = (inverse(sceneModelMatrix * objectDecodeAndInstanceMatrix) * vec4(uCameraEyeRtc, 1)).xyz;"),s.push(" if (dot(position.xyz - uCameraEyeRtcInQuantizedSpace, normal) < 0.0) {"),s.push(" position = positions[2 - (gl_VertexID % 3)];"),s.push(" viewNormal = -viewNormal;"),s.push(" }"),s.push(" } else {"),s.push(" if (viewNormal.z < 0.0) {"),s.push(" position = positions[2 - (gl_VertexID % 3)];"),s.push(" viewNormal = -viewNormal;"),s.push(" }"),s.push(" }"),s.push("}"),s.push("vec4 worldPosition = sceneModelMatrix * (objectDecodeAndInstanceMatrix * vec4(position, 1.0)); "),s.push("relativeToOriginPosition = worldPosition.xyz;"),s.push("vec4 viewPosition = viewMatrix * worldPosition; "),s.push("vWorldPosition = worldPosition;"),t&&s.push("vFlags2 = flags2.r;"),s.push("vPickColor = vec4(texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+1, objectIndexCoords.y), 0));"),s.push("vec4 clipPos = projMatrix * viewPosition;"),s.push("float tmp = clipPos.w;"),s.push("clipPos.xyzw /= tmp;"),s.push("clipPos.xy = remapClipPos(clipPos.xy);"),s.push("clipPos.xyzw *= tmp;"),s.push("vFragDepth = 1.0 + clipPos.w;"),s.push("isPerspective = float (isPerspectiveMatrix(projMatrix));"),s.push("gl_Position = clipPos;"),s.push(" }"),s.push("}"),s}_buildFragmentShader(){const e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,s=[];if(s.push("#version 300 es"),s.push("// TrianglesDataTextureSnapDepthBufInitRenderer fragment shader"),s.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),s.push("precision highp float;"),s.push("precision highp int;"),s.push("#else"),s.push("precision mediump float;"),s.push("precision mediump int;"),s.push("#endif"),s.push("in float isPerspective;"),s.push("uniform float logDepthBufFC;"),s.push("in float vFragDepth;"),s.push("uniform int uLayerNumber;"),s.push("uniform vec3 uCoordinateScaler;"),s.push("in vec4 vWorldPosition;"),s.push("flat in vec4 vPickColor;"),t){s.push("flat in uint vFlags2;");for(let t=0,n=e._sectionPlanesState.getNumAllocatedSectionPlanes();t 0u;"),s.push(" if (clippable) {"),s.push(" float dist = 0.0;");for(var n=0;n 0.0) { discard; }"),s.push(" }")}return s.push(" float dx = dFdx(vFragDepth);"),s.push(" float dy = dFdy(vFragDepth);"),s.push(" float diff = sqrt(dx*dx+dy*dy);"),s.push(" gl_FragDepth = isPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth + diff ) * logDepthBufFC * 0.5;"),s.push("outCoords = ivec4(relativeToOriginPosition.xyz * uCoordinateScaler.xyz, - uLayerNumber);"),s.push("vec3 xTangent = dFdx( vWorldPosition.xyz );"),s.push("vec3 yTangent = dFdy( vWorldPosition.xyz );"),s.push("vec3 worldNormal = normalize( cross( xTangent, yTangent ) );"),s.push(`outNormal = ivec4(worldNormal * float(${h.MAX_INT}), 1.0);`),s.push("outPickColor = uvec4(vPickColor);"),s.push("}"),s}webglContextRestored(){this._program=null}destroy(){this._program&&this._program.destroy(),this._program=null}}const wo=h.vec3(),go=h.vec3(),Eo=h.vec3();h.vec3();const To=h.mat4();class bo{constructor(e){this._scene=e,this._hash=this._getHash(),this._allocate()}getValid(){return this._hash===this._getHash()}_getHash(){return this._scene._sectionPlanesState.getHash()}drawLayer(e,t,s){const n=t.model,i=n.scene,a=i.camera,r=i.canvas.gl,l=t._state,o=l.textureState,c=t._state.origin,{position:u,rotationMatrix:p,rotationMatrixConjugate:A}=n,d=e.pickViewMatrix||a.viewMatrix;if(!this._program&&(this._allocate(t),this.errors))return;let f,I;if(e.lastProgramId!==this._program.id&&(e.lastProgramId=this._program.id,this._bindProgram()),o.bindCommonTextures(this._program,this.uTexturePerObjectPositionsDecodeMatrix,this._uTexturePerVertexIdCoordinates,this.uTexturePerObjectColorsAndFlags,this._uTexturePerObjectMatrix),c||0!==u[0]||0!==u[1]||0!==u[2]){const e=wo;if(c){const t=go;h.transformPoint3(p,c,t),e[0]=t[0],e[1]=t[1],e[2]=t[2]}else e[0]=0,e[1]=0,e[2]=0;e[0]+=u[0],e[1]+=u[1],e[2]+=u[2],f=G(d,e,To),I=Eo,I[0]=a.eye[0]-e[0],I[1]=a.eye[1]-e[1],I[2]=a.eye[2]-e[2]}else f=d,I=a.eye;r.uniform3fv(this._uCameraEyeRtc,I),r.uniform1i(this._uRenderPass,s),r.uniformMatrix4fv(this._uWorldMatrix,!1,A),r.uniformMatrix4fv(this._uViewMatrix,!1,f),r.uniformMatrix4fv(this._uProjMatrix,!1,a.projMatrix);const y=i._sectionPlanesState.getNumAllocatedSectionPlanes(),m=i._sectionPlanesState.sectionPlanes.length;if(y>0){const e=i._sectionPlanesState.sectionPlanes,s=t.layerIndex*m,a=n.renderFlags;for(let t=0;t0&&(o.bindTriangleIndicesTextures(this._program,this._uTexturePerPolygonIdPortionIds,this._uTexturePerPolygonIdIndices,8),r.drawArrays(r.TRIANGLES,0,l.numIndices8Bits)),l.numIndices16Bits>0&&(o.bindTriangleIndicesTextures(this._program,this._uTexturePerPolygonIdPortionIds,this._uTexturePerPolygonIdIndices,16),r.drawArrays(r.TRIANGLES,0,l.numIndices16Bits)),l.numIndices32Bits>0&&(o.bindTriangleIndicesTextures(this._program,this._uTexturePerPolygonIdPortionIds,this._uTexturePerPolygonIdIndices,32),r.drawArrays(r.TRIANGLES,0,l.numIndices32Bits)),e.drawElements++}_allocate(){const e=this._scene,t=e.canvas.gl;if(this._program=new Be(t,this._buildShader()),this._program.errors)return void(this.errors=this._program.errors);const s=this._program;this._uRenderPass=s.getLocation("renderPass"),this._uPickInvisible=s.getLocation("pickInvisible"),this._uWorldMatrix=s.getLocation("sceneModelMatrix"),this._uViewMatrix=s.getLocation("viewMatrix"),this._uProjMatrix=s.getLocation("projMatrix"),this._uSectionPlanes=[];for(let t=0,n=e._sectionPlanesState.getNumAllocatedSectionPlanes();t0,s=[];return s.push("#version 300 es"),s.push("// TrianglesDataTextureOcclusionRenderer vertex shader"),s.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),s.push("precision highp float;"),s.push("precision highp int;"),s.push("precision highp usampler2D;"),s.push("precision highp isampler2D;"),s.push("precision highp sampler2D;"),s.push("#else"),s.push("precision mediump float;"),s.push("precision mediump int;"),s.push("precision mediump usampler2D;"),s.push("precision mediump isampler2D;"),s.push("precision mediump sampler2D;"),s.push("#endif"),s.push("uniform int renderPass;"),e.entityOffsetsEnabled&&s.push("in vec3 offset;"),s.push("uniform mat4 sceneModelMatrix;"),s.push("uniform mat4 viewMatrix;"),s.push("uniform mat4 projMatrix;"),s.push("uniform highp sampler2D uObjectPerObjectPositionsDecodeMatrix;"),s.push("uniform highp sampler2D uTexturePerObjectMatrix;"),s.push("uniform lowp usampler2D uObjectPerObjectColorsAndFlags;"),s.push("uniform mediump usampler2D uTexturePerVertexIdCoordinates;"),s.push("uniform highp usampler2D uTexturePerPolygonIdIndices;"),s.push("uniform mediump usampler2D uTexturePerPolygonIdPortionIds;"),s.push("uniform vec3 uCameraEyeRtc;"),s.push("vec3 positions[3];"),s.push("bool isPerspectiveMatrix(mat4 m) {"),s.push(" return (m[2][3] == - 1.0);"),s.push("}"),t&&(s.push("out vec4 vWorldPosition;"),s.push("flat out uint vFlags2;")),s.push("void main(void) {"),s.push("int polygonIndex = gl_VertexID / 3;"),s.push("int h_packed_object_id_index = (polygonIndex >> 3) & 4095;"),s.push("int v_packed_object_id_index = (polygonIndex >> 3) >> 12;"),s.push("int objectIndex = int(texelFetch(uTexturePerPolygonIdPortionIds, ivec2(h_packed_object_id_index, v_packed_object_id_index), 0).r);"),s.push("ivec2 objectIndexCoords = ivec2(objectIndex % 512, objectIndex / 512);"),s.push("uvec4 flags = texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+2, objectIndexCoords.y), 0);"),s.push("uvec4 flags2 = texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+3, objectIndexCoords.y), 0);"),s.push("if (int(flags.x) != renderPass) {"),s.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),s.push(" } else {"),s.push("ivec4 packedVertexBase = ivec4(texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+4, objectIndexCoords.y), 0));"),s.push("ivec4 packedIndexBaseOffset = ivec4(texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+5, objectIndexCoords.y), 0));"),s.push("int indexBaseOffset = (packedIndexBaseOffset.r << 24) + (packedIndexBaseOffset.g << 16) + (packedIndexBaseOffset.b << 8) + packedIndexBaseOffset.a;"),s.push("int h_index = (polygonIndex - indexBaseOffset) & 4095;"),s.push("int v_index = (polygonIndex - indexBaseOffset) >> 12;"),s.push("ivec3 vertexIndices = ivec3(texelFetch(uTexturePerPolygonIdIndices, ivec2(h_index, v_index), 0));"),s.push("ivec3 uniqueVertexIndexes = vertexIndices + (packedVertexBase.r << 24) + (packedVertexBase.g << 16) + (packedVertexBase.b << 8) + packedVertexBase.a;"),s.push("ivec3 indexPositionH = uniqueVertexIndexes & 4095;"),s.push("ivec3 indexPositionV = uniqueVertexIndexes >> 12;"),s.push("mat4 objectInstanceMatrix = mat4 (texelFetch (uTexturePerObjectMatrix, ivec2(objectIndexCoords.x*4+0, objectIndexCoords.y), 0), texelFetch (uTexturePerObjectMatrix, ivec2(objectIndexCoords.x*4+1, objectIndexCoords.y), 0), texelFetch (uTexturePerObjectMatrix, ivec2(objectIndexCoords.x*4+2, objectIndexCoords.y), 0), texelFetch (uTexturePerObjectMatrix, ivec2(objectIndexCoords.x*4+3, objectIndexCoords.y), 0));"),s.push("mat4 objectDecodeAndInstanceMatrix = objectInstanceMatrix * mat4 (texelFetch (uObjectPerObjectPositionsDecodeMatrix, ivec2(objectIndexCoords.x*4+0, objectIndexCoords.y), 0), texelFetch (uObjectPerObjectPositionsDecodeMatrix, ivec2(objectIndexCoords.x*4+1, objectIndexCoords.y), 0), texelFetch (uObjectPerObjectPositionsDecodeMatrix, ivec2(objectIndexCoords.x*4+2, objectIndexCoords.y), 0), texelFetch (uObjectPerObjectPositionsDecodeMatrix, ivec2(objectIndexCoords.x*4+3, objectIndexCoords.y), 0));"),s.push("uint solid = texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+7, objectIndexCoords.y), 0).r;"),s.push("positions[0] = vec3(texelFetch(uTexturePerVertexIdCoordinates, ivec2(indexPositionH.r, indexPositionV.r), 0));"),s.push("positions[1] = vec3(texelFetch(uTexturePerVertexIdCoordinates, ivec2(indexPositionH.g, indexPositionV.g), 0));"),s.push("positions[2] = vec3(texelFetch(uTexturePerVertexIdCoordinates, ivec2(indexPositionH.b, indexPositionV.b), 0));"),s.push("uvec4 color = texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+0, objectIndexCoords.y), 0);"),s.push("if (color.a == 0u) {"),s.push(" gl_Position = vec4(3.0, 3.0, 3.0, 1.0);"),s.push(" return;"),s.push("};"),s.push("vec3 normal = normalize(cross(positions[2] - positions[0], positions[1] - positions[0]));"),s.push("vec3 position;"),s.push("position = positions[gl_VertexID % 3];"),s.push("if (solid != 1u) {"),s.push(" if (isPerspectiveMatrix(projMatrix)) {"),s.push(" vec3 uCameraEyeRtcInQuantizedSpace = (inverse(sceneModelMatrix * objectDecodeAndInstanceMatrix) * vec4(uCameraEyeRtc, 1)).xyz;"),s.push(" if (dot(position.xyz - uCameraEyeRtcInQuantizedSpace, normal) < 0.0) {"),s.push(" position = positions[2 - (gl_VertexID % 3)];"),s.push(" }"),s.push(" } else {"),s.push(" vec3 viewNormal = -normalize((transpose(inverse(viewMatrix*objectDecodeAndInstanceMatrix)) * vec4(normal,1)).xyz);"),s.push(" if (viewNormal.z < 0.0) {"),s.push(" position = positions[2 - (gl_VertexID % 3)];"),s.push(" }"),s.push(" }"),s.push("}"),s.push("vec4 worldPosition = sceneModelMatrix * (objectDecodeAndInstanceMatrix * vec4(position, 1.0)); "),s.push("vec4 viewPosition = viewMatrix * worldPosition; "),s.push("vec4 clipPos = projMatrix * viewPosition;"),t&&(s.push("vWorldPosition = worldPosition;"),s.push("vFlags2 = flags2.r;")),s.push("gl_Position = clipPos;"),s.push(" }"),s.push("}"),s}_buildFragmentShader(){const e=this._scene._sectionPlanesState,t=e.getNumAllocatedSectionPlanes()>0,s=[];if(s.push("#version 300 es"),s.push("// TrianglesDataTextureColorRenderer fragment shader"),s.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),s.push("precision highp float;"),s.push("precision highp int;"),s.push("#else"),s.push("precision mediump float;"),s.push("precision mediump int;"),s.push("#endif"),t){s.push("in vec4 vWorldPosition;"),s.push("flat in uint vFlags2;");for(let t=0;t 0.0);"),s.push(" if (clippable) {"),s.push(" float dist = 0.0;");for(let t=0;t 0.0) { discard; }"),s.push(" }")}return s.push(" outColor = vec4(0.0, 0.0, 1.0, 1.0); "),s.push("}"),s}webglContextRestored(){this._program=null}destroy(){this._program&&this._program.destroy(),this._program=null}}const Do=h.vec3(),Po=h.vec3(),Ro=h.vec3();h.vec3();const Co=h.mat4();class _o{constructor(e){this._scene=e,this._allocate(),this._hash=this._getHash()}getValid(){return this._hash===this._getHash()}_getHash(){return this._scene._sectionPlanesState.getHash()}drawLayer(e,t,s){const n=this._scene,i=n.camera,a=t.model,r=n.canvas.gl,l=t._state,o=l.textureState,c=t._state.origin,{position:u,rotationMatrix:p,rotationMatrixConjugate:A}=a;if(!this._program&&(this._allocate(),this.errors))return;let d,f;e.lastProgramId!==this._program.id&&(e.lastProgramId=this._program.id,this._bindProgram(e,l)),o.bindCommonTextures(this._program,this.uTexturePerObjectPositionsDecodeMatrix,this._uTexturePerVertexIdCoordinates,this.uTexturePerObjectColorsAndFlags,this._uTexturePerObjectMatrix);const I=0!==c[0]||0!==c[1]||0!==c[2],y=0!==u[0]||0!==u[1]||0!==u[2];if(I||y){const e=Do;if(I){const t=h.transformPoint3(p,c,Po);e[0]=t[0],e[1]=t[1],e[2]=t[2]}else e[0]=0,e[1]=0,e[2]=0;e[0]+=u[0],e[1]+=u[1],e[2]+=u[2],d=G(i.viewMatrix,e,Co),f=Ro,f[0]=i.eye[0]-e[0],f[1]=i.eye[1]-e[1],f[2]=i.eye[2]-e[2]}else d=i.viewMatrix,f=i.eye;if(r.uniformMatrix4fv(this._uSceneModelMatrix,!1,A),r.uniformMatrix4fv(this._uViewMatrix,!1,d),r.uniformMatrix4fv(this._uProjMatrix,!1,i.projMatrix),r.uniform3fv(this._uCameraEyeRtc,f),r.uniform1i(this._uRenderPass,s),n.logarithmicDepthBufferEnabled){const t=2/(Math.log(e.pickZFar+1)/Math.LN2);r.uniform1f(this._uLogDepthBufFC,t)}const m=n._sectionPlanesState.getNumAllocatedSectionPlanes(),v=n._sectionPlanesState.sectionPlanes.length;if(m>0){const e=n._sectionPlanesState.sectionPlanes,s=t.layerIndex*v,i=a.renderFlags;for(let t=0;t0&&(o.bindTriangleIndicesTextures(this._program,this._uTexturePerPolygonIdPortionIds,this._uTexturePerPolygonIdIndices,8),r.drawArrays(r.TRIANGLES,0,l.numIndices8Bits)),l.numIndices16Bits>0&&(o.bindTriangleIndicesTextures(this._program,this._uTexturePerPolygonIdPortionIds,this._uTexturePerPolygonIdIndices,16),r.drawArrays(r.TRIANGLES,0,l.numIndices16Bits)),l.numIndices32Bits>0&&(o.bindTriangleIndicesTextures(this._program,this._uTexturePerPolygonIdPortionIds,this._uTexturePerPolygonIdIndices,32),r.drawArrays(r.TRIANGLES,0,l.numIndices32Bits)),e.drawElements++}_allocate(){const e=this._scene,t=e.canvas.gl;if(this._program=new Be(t,this._buildShader()),this._program.errors)return void(this.errors=this._program.errors);const s=this._program;this._uRenderPass=s.getLocation("renderPass"),this._uPositionsDecodeMatrix=s.getLocation("objectDecodeAndInstanceMatrix"),this._uSceneModelMatrix=s.getLocation("sceneModelMatrix"),this._uViewMatrix=s.getLocation("viewMatrix"),this._uProjMatrix=s.getLocation("projMatrix"),this._uSectionPlanes=[];for(let t=0,n=e._sectionPlanesState.getNumAllocatedSectionPlanes();t0,s=[];return s.push("#version 300 es"),s.push("// Triangles dataTexture draw vertex shader"),s.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),s.push("precision highp float;"),s.push("precision highp int;"),s.push("precision highp usampler2D;"),s.push("precision highp isampler2D;"),s.push("precision highp sampler2D;"),s.push("#else"),s.push("precision mediump float;"),s.push("precision mediump int;"),s.push("precision mediump usampler2D;"),s.push("precision mediump isampler2D;"),s.push("precision mediump sampler2D;"),s.push("#endif"),s.push("uniform int renderPass;"),e.entityOffsetsEnabled&&s.push("in vec3 offset;"),s.push("uniform mat4 sceneModelMatrix;"),s.push("uniform mat4 viewMatrix;"),s.push("uniform mat4 projMatrix;"),s.push("uniform highp sampler2D uObjectPerObjectPositionsDecodeMatrix;"),s.push("uniform highp sampler2D uTexturePerObjectMatrix;"),s.push("uniform lowp usampler2D uObjectPerObjectColorsAndFlags;"),s.push("uniform mediump usampler2D uTexturePerVertexIdCoordinates;"),s.push("uniform highp usampler2D uTexturePerPolygonIdIndices;"),s.push("uniform mediump usampler2D uTexturePerPolygonIdPortionIds;"),s.push("uniform vec3 uCameraEyeRtc;"),s.push("vec3 positions[3];"),e.logarithmicDepthBufferEnabled&&(s.push("uniform float logDepthBufFC;"),s.push("out float vFragDepth;"),s.push("out float isPerspective;")),s.push("bool isPerspectiveMatrix(mat4 m) {"),s.push(" return (m[2][3] == - 1.0);"),s.push("}"),s.push("out highp vec2 vHighPrecisionZW;"),t&&(s.push("out vec4 vWorldPosition;"),s.push("flat out uint vFlags2;")),s.push("void main(void) {"),s.push("int polygonIndex = gl_VertexID / 3;"),s.push("int h_packed_object_id_index = (polygonIndex >> 3) & 4095;"),s.push("int v_packed_object_id_index = (polygonIndex >> 3) >> 12;"),s.push("int objectIndex = int(texelFetch(uTexturePerPolygonIdPortionIds, ivec2(h_packed_object_id_index, v_packed_object_id_index), 0).r);"),s.push("ivec2 objectIndexCoords = ivec2(objectIndex % 512, objectIndex / 512);"),s.push("uvec4 flags = texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+2, objectIndexCoords.y), 0);"),s.push("uvec4 flags2 = texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+3, objectIndexCoords.y), 0);"),s.push("if (int(flags.x) != renderPass) {"),s.push(" gl_Position = vec4(3.0, 3.0, 3.0, 1.0);"),s.push(" return;"),s.push("} else {"),s.push("ivec4 packedVertexBase = ivec4(texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+4, objectIndexCoords.y), 0));"),s.push("ivec4 packedIndexBaseOffset = ivec4(texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+5, objectIndexCoords.y), 0));"),s.push("int indexBaseOffset = (packedIndexBaseOffset.r << 24) + (packedIndexBaseOffset.g << 16) + (packedIndexBaseOffset.b << 8) + packedIndexBaseOffset.a;"),s.push("int h_index = (polygonIndex - indexBaseOffset) & 4095;"),s.push("int v_index = (polygonIndex - indexBaseOffset) >> 12;"),s.push("ivec3 vertexIndices = ivec3(texelFetch(uTexturePerPolygonIdIndices, ivec2(h_index, v_index), 0));"),s.push("ivec3 uniqueVertexIndexes = vertexIndices + (packedVertexBase.r << 24) + (packedVertexBase.g << 16) + (packedVertexBase.b << 8) + packedVertexBase.a;"),s.push("ivec3 indexPositionH = uniqueVertexIndexes & 4095;"),s.push("ivec3 indexPositionV = uniqueVertexIndexes >> 12;"),s.push("mat4 objectInstanceMatrix = mat4 (texelFetch (uTexturePerObjectMatrix, ivec2(objectIndexCoords.x*4+0, objectIndexCoords.y), 0), texelFetch (uTexturePerObjectMatrix, ivec2(objectIndexCoords.x*4+1, objectIndexCoords.y), 0), texelFetch (uTexturePerObjectMatrix, ivec2(objectIndexCoords.x*4+2, objectIndexCoords.y), 0), texelFetch (uTexturePerObjectMatrix, ivec2(objectIndexCoords.x*4+3, objectIndexCoords.y), 0));"),s.push("mat4 objectDecodeAndInstanceMatrix = objectInstanceMatrix * mat4 (texelFetch (uObjectPerObjectPositionsDecodeMatrix, ivec2(objectIndexCoords.x*4+0, objectIndexCoords.y), 0), texelFetch (uObjectPerObjectPositionsDecodeMatrix, ivec2(objectIndexCoords.x*4+1, objectIndexCoords.y), 0), texelFetch (uObjectPerObjectPositionsDecodeMatrix, ivec2(objectIndexCoords.x*4+2, objectIndexCoords.y), 0), texelFetch (uObjectPerObjectPositionsDecodeMatrix, ivec2(objectIndexCoords.x*4+3, objectIndexCoords.y), 0));"),s.push("uint solid = texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+7, objectIndexCoords.y), 0).r;"),s.push("positions[0] = vec3(texelFetch(uTexturePerVertexIdCoordinates, ivec2(indexPositionH.r, indexPositionV.r), 0));"),s.push("positions[1] = vec3(texelFetch(uTexturePerVertexIdCoordinates, ivec2(indexPositionH.g, indexPositionV.g), 0));"),s.push("positions[2] = vec3(texelFetch(uTexturePerVertexIdCoordinates, ivec2(indexPositionH.b, indexPositionV.b), 0));"),s.push("uvec4 color = texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+0, objectIndexCoords.y), 0);"),s.push("if (color.a == 0u) {"),s.push(" gl_Position = vec4(3.0, 3.0, 3.0, 1.0);"),s.push(" return;"),s.push("};"),s.push("vec3 normal = normalize(cross(positions[2] - positions[0], positions[1] - positions[0]));"),s.push("vec3 position;"),s.push("position = positions[gl_VertexID % 3];"),s.push("vec3 viewNormal = -normalize((transpose(inverse(viewMatrix*objectDecodeAndInstanceMatrix)) * vec4(normal,1)).xyz);"),s.push("if (solid != 1u) {"),s.push("if (isPerspectiveMatrix(projMatrix)) {"),s.push("vec3 uCameraEyeRtcInQuantizedSpace = (inverse(sceneModelMatrix * objectDecodeAndInstanceMatrix) * vec4(uCameraEyeRtc, 1)).xyz;"),s.push("if (dot(position.xyz - uCameraEyeRtcInQuantizedSpace, normal) < 0.0) {"),s.push("position = positions[2 - (gl_VertexID % 3)];"),s.push("viewNormal = -viewNormal;"),s.push("}"),s.push("} else {"),s.push("if (viewNormal.z < 0.0) {"),s.push("position = positions[2 - (gl_VertexID % 3)];"),s.push("viewNormal = -viewNormal;"),s.push("}"),s.push("}"),s.push("}"),s.push("vec4 worldPosition = sceneModelMatrix * (objectDecodeAndInstanceMatrix * vec4(position, 1.0)); "),s.push("vec4 viewPosition = viewMatrix * worldPosition; "),s.push("vec4 clipPos = projMatrix * viewPosition;"),e.logarithmicDepthBufferEnabled&&(s.push("vFragDepth = 1.0 + clipPos.w;"),s.push("isPerspective = float (isPerspectiveMatrix(projMatrix));")),t&&(s.push("vWorldPosition = worldPosition;"),s.push("vFlags2 = flags2.r;")),s.push("gl_Position = clipPos;"),s.push("vHighPrecisionZW = gl_Position.zw;"),s.push("}"),s.push("}"),s}_buildFragmentShader(){const e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,s=[];if(s.push("#version 300 es"),s.push("// Triangles dataTexture draw fragment shader"),s.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),s.push("precision highp float;"),s.push("precision highp int;"),s.push("#else"),s.push("precision mediump float;"),s.push("precision mediump int;"),s.push("#endif"),s.push("in highp vec2 vHighPrecisionZW;"),s.push("out vec4 outColor;"),e.logarithmicDepthBufferEnabled&&(s.push("in float isPerspective;"),s.push("uniform float logDepthBufFC;"),s.push("in float vFragDepth;")),t){s.push("in vec4 vWorldPosition;"),s.push("flat in uint vFlags2;");for(let t=0,n=e._sectionPlanesState.getNumAllocatedSectionPlanes();t 0u;"),s.push(" if (clippable) {"),s.push(" float dist = 0.0;");for(let t=0,n=e._sectionPlanesState.getNumAllocatedSectionPlanes();t 0.0) { "),s.push(" discard;"),s.push(" }"),s.push("}")}return e.logarithmicDepthBufferEnabled&&s.push(" gl_FragDepth = isPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5;"),s.push("float fragCoordZ = 0.5 * vHighPrecisionZW[0] / vHighPrecisionZW[1] + 0.5;"),s.push(" outColor = vec4(vec3(1.0 - fragCoordZ), 1.0); "),s.push("}"),s}webglContextRestored(){this._program=null}destroy(){this._program&&this._program.destroy(),this._program=null}}const Bo=h.vec3(),Oo=h.vec3(),So=h.vec3();h.vec3();const No=h.mat4();class xo{constructor(e){this._scene=e,this._hash=this._getHash(),this._allocate()}getValid(){return this._hash===this._getHash()}_getHash(){return this._scene._sectionPlanesState.getHash()}drawLayer(e,t,s){const n=t.model,i=n.scene,a=i.camera,r=i.canvas.gl,l=t._state,o=t._state.origin,{position:c,rotationMatrix:u,rotationMatrixConjugate:p}=n,A=a.viewMatrix;if(!this._program&&(this._allocate(t),this.errors))return;let d,f;e.lastProgramId!==this._program.id&&(e.lastProgramId=this._program.id,this._bindProgram(t));const I=0!==o[0]||0!==o[1]||0!==o[2],y=0!==c[0]||0!==c[1]||0!==c[2];if(I||y){const e=Bo;if(I){const t=Oo;h.transformPoint3(u,o,t),e[0]=t[0],e[1]=t[1],e[2]=t[2]}else e[0]=0,e[1]=0,e[2]=0;e[0]+=c[0],e[1]+=c[1],e[2]+=c[2],d=G(A,e,No),f=So,f[0]=a.eye[0]-e[0],f[1]=a.eye[1]-e[1],f[2]=a.eye[2]-e[2]}else d=A,f=a.eye;r.uniform1i(this._uRenderPass,s),r.uniformMatrix4fv(this._uWorldMatrix,!1,p),r.uniformMatrix4fv(this._uViewMatrix,!1,d),r.uniformMatrix4fv(this._uProjMatrix,!1,a.projMatrix),r.uniformMatrix4fv(this._uViewNormalMatrix,!1,a.viewNormalMatrix),r.uniformMatrix4fv(this._uWorldNormalMatrix,!1,n.worldNormalMatrix);const m=i._sectionPlanesState.getNumAllocatedSectionPlanes(),v=i._sectionPlanesState.sectionPlanes.length;if(m>0){const e=i._sectionPlanesState.sectionPlanes,s=t.layerIndex*v,a=n.renderFlags;for(let t=0;t0,s=[];return s.push("// Batched geometry normals vertex shader"),e.logarithmicDepthBufferEnabled&&ge.SUPPORTED_EXTENSIONS.EXT_frag_depth&&s.push("#extension GL_EXT_frag_depth : enable"),s.push("uniform int renderPass;"),s.push("attribute vec3 position;"),e.entityOffsetsEnabled&&s.push("attribute vec3 offset;"),s.push("attribute vec3 normal;"),s.push("attribute vec4 color;"),s.push("attribute vec4 flags;"),s.push("attribute vec4 flags2;"),s.push("uniform mat4 worldMatrix;"),s.push("uniform mat4 worldNormalMatrix;"),s.push("uniform mat4 viewMatrix;"),s.push("uniform mat4 projMatrix;"),s.push("uniform mat4 viewNormalMatrix;"),s.push("uniform mat4 objectDecodeAndInstanceMatrix;"),e.logarithmicDepthBufferEnabled&&(s.push("uniform float logDepthBufFC;"),ge.SUPPORTED_EXTENSIONS.EXT_frag_depth&&s.push("out float vFragDepth;"),s.push("bool isPerspectiveMatrix(mat4 m) {"),s.push(" return (m[2][3] == - 1.0);"),s.push("}"),s.push("varying float isPerspective;")),s.push("vec3 octDecode(vec2 oct) {"),s.push(" vec3 v = vec3(oct.xy, 1.0 - abs(oct.x) - abs(oct.y));"),s.push(" if (v.z < 0.0) {"),s.push(" v.xy = (1.0 - abs(v.yx)) * vec2(v.x >= 0.0 ? 1.0 : -1.0, v.y >= 0.0 ? 1.0 : -1.0);"),s.push(" }"),s.push(" return normalize(v);"),s.push("}"),t&&(s.push("out vec4 vWorldPosition;"),s.push("out vec4 vFlags2;")),s.push("out vec3 vViewNormal;"),s.push("void main(void) {"),s.push("if (int(flags.x) != renderPass) {"),s.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),s.push(" } else {"),s.push(" vec4 worldPosition = worldMatrix * (objectDecodeAndInstanceMatrix * vec4(position, 1.0)); "),e.entityOffsetsEnabled&&s.push(" worldPosition.xyz = worldPosition.xyz + offset;"),s.push(" vec4 viewPosition = viewMatrix * worldPosition; "),s.push(" vec4 worldNormal = worldNormalMatrix * vec4(octDecode(normal.xy), 0.0); "),s.push(" vec3 viewNormal = normalize((viewNormalMatrix * worldNormal).xyz);"),t&&(s.push(" vWorldPosition = worldPosition;"),s.push(" vFlags2 = flags2;")),s.push(" vViewNormal = viewNormal;"),s.push("vec4 clipPos = projMatrix * viewPosition;"),e.logarithmicDepthBufferEnabled&&(ge.SUPPORTED_EXTENSIONS.EXT_frag_depth?s.push("vFragDepth = 1.0 + clipPos.w;"):(s.push("clipPos.z = log2( max( 1e-6, clipPos.w + 1.0 ) ) * logDepthBufFC - 1.0;"),s.push("clipPos.z *= clipPos.w;")),s.push("isPerspective = float (isPerspectiveMatrix(projMatrix));")),s.push("gl_Position = clipPos;"),s.push(" }"),s.push("}"),s}_buildFragmentShader(){const e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,s=[];if(s.push("#version 300 es"),s.push("// Batched geometry normals fragment shader"),e.logarithmicDepthBufferEnabled&&ge.SUPPORTED_EXTENSIONS.EXT_frag_depth&&s.push("#extension GL_EXT_frag_depth : enable"),s.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),s.push("precision highp float;"),s.push("precision highp int;"),s.push("#else"),s.push("precision mediump float;"),s.push("precision mediump int;"),s.push("#endif"),e.logarithmicDepthBufferEnabled&&ge.SUPPORTED_EXTENSIONS.EXT_frag_depth&&(s.push("in float isPerspective;"),s.push("uniform float logDepthBufFC;"),s.push("in float vFragDepth;")),t){s.push("in vec4 vWorldPosition;"),s.push("in vec4 vFlags2;");for(let t=0;t 0.0);"),s.push(" if (clippable) {"),s.push(" float dist = 0.0;");for(var n=0;n 0.0) { discard; }"),s.push(" }")}return e.logarithmicDepthBufferEnabled&&ge.SUPPORTED_EXTENSIONS.EXT_frag_depth&&s.push(" gl_FragDepthEXT = isPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5;"),s.push(" gl_FragColor = vec4(packNormalToRGB(vViewNormal), 1.0); "),s.push("}"),s}webglContextRestored(){this._program=null}destroy(){this._program&&this._program.destroy(),this._program=null}}const Lo=h.vec3(),Mo=h.vec3(),Fo=h.vec3();h.vec3(),h.vec4();const Ho=h.mat4();class Uo{constructor(e,t){this._scene=e,this._withSAO=t,this._hash=this._getHash(),this._allocate()}getValid(){return this._hash===this._getHash()}_getHash(){const e=this._scene;return[e._lightsState.getHash(),e._sectionPlanesState.getHash(),this._withSAO?"sao":"nosao"].join(";")}drawLayer(e,t,s){const n=this._scene,i=n.camera,a=t.model,r=n.canvas.gl,l=t._state,o=l.textureState,c=t._state.origin,{position:u,rotationMatrix:p,rotationMatrixConjugate:A}=a;if(!this._program&&(this._allocate(),this.errors))return;let d,f;e.lastProgramId!==this._program.id&&(e.lastProgramId=this._program.id,this._bindProgram(e,l)),o.bindCommonTextures(this._program,this.uTexturePerObjectPositionsDecodeMatrix,this._uTexturePerVertexIdCoordinates,this.uTexturePerObjectColorsAndFlags,this._uTexturePerObjectMatrix);const I=0!==c[0]||0!==c[1]||0!==c[2],y=0!==u[0]||0!==u[1]||0!==u[2];if(I||y){const e=Lo;if(I){const t=h.transformPoint3(p,c,Mo);e[0]=t[0],e[1]=t[1],e[2]=t[2]}else e[0]=0,e[1]=0,e[2]=0;e[0]+=u[0],e[1]+=u[1],e[2]+=u[2],d=G(i.viewMatrix,e,Ho),f=Fo,f[0]=i.eye[0]-e[0],f[1]=i.eye[1]-e[1],f[2]=i.eye[2]-e[2]}else d=i.viewMatrix,f=i.eye;if(r.uniform2fv(this._uPickClipPos,e.pickClipPos),r.uniform2f(this._uDrawingBufferSize,r.drawingBufferWidth,r.drawingBufferHeight),r.uniformMatrix4fv(this._uSceneModelMatrix,!1,A),r.uniformMatrix4fv(this._uViewMatrix,!1,d),r.uniformMatrix4fv(this._uProjMatrix,!1,i.projMatrix),r.uniform3fv(this._uCameraEyeRtc,f),r.uniform1i(this._uRenderPass,s),n.logarithmicDepthBufferEnabled){const t=2/(Math.log(e.pickZFar+1)/Math.LN2);r.uniform1f(this._uLogDepthBufFC,t)}const m=n._sectionPlanesState.getNumAllocatedSectionPlanes(),v=n._sectionPlanesState.sectionPlanes.length;if(m>0){const e=n._sectionPlanesState.sectionPlanes,s=t.layerIndex*v,i=a.renderFlags;for(let t=0;t0&&(o.bindTriangleIndicesTextures(this._program,this._uTexturePerPolygonIdPortionIds,this._uTexturePerPolygonIdIndices,8),r.drawArrays(r.TRIANGLES,0,l.numIndices8Bits)),l.numIndices16Bits>0&&(o.bindTriangleIndicesTextures(this._program,this._uTexturePerPolygonIdPortionIds,this._uTexturePerPolygonIdIndices,16),r.drawArrays(r.TRIANGLES,0,l.numIndices16Bits)),l.numIndices32Bits>0&&(o.bindTriangleIndicesTextures(this._program,this._uTexturePerPolygonIdPortionIds,this._uTexturePerPolygonIdIndices,32),r.drawArrays(r.TRIANGLES,0,l.numIndices32Bits)),e.drawElements++}_allocate(){const e=this._scene,t=e.canvas.gl;if(this._program=new Be(t,this._buildShader()),this._program.errors)return void(this.errors=this._program.errors);const s=this._program;this._uRenderPass=s.getLocation("renderPass"),this._uPickInvisible=s.getLocation("pickInvisible"),this._uPickClipPos=s.getLocation("pickClipPos"),this._uDrawingBufferSize=s.getLocation("drawingBufferSize"),this._uSceneModelMatrix=s.getLocation("sceneModelMatrix"),this._uViewMatrix=s.getLocation("viewMatrix"),this._uProjMatrix=s.getLocation("projMatrix"),this._uSectionPlanes=[];for(let t=0,n=e._sectionPlanesState.getNumAllocatedSectionPlanes();t0,s=[];return s.push("#version 300 es"),s.push("// trianglesDatatextureNormalsRenderer vertex shader"),s.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),s.push("precision highp float;"),s.push("precision highp int;"),s.push("precision highp usampler2D;"),s.push("precision highp isampler2D;"),s.push("precision highp sampler2D;"),s.push("#else"),s.push("precision mediump float;"),s.push("precision mediump int;"),s.push("precision mediump usampler2D;"),s.push("precision mediump isampler2D;"),s.push("precision mediump sampler2D;"),s.push("#endif"),s.push("uniform int renderPass;"),e.entityOffsetsEnabled&&s.push("in vec3 offset;"),s.push("uniform mat4 sceneModelMatrix;"),s.push("uniform mat4 viewMatrix;"),s.push("uniform mat4 projMatrix;"),s.push("uniform highp sampler2D uObjectPerObjectPositionsDecodeMatrix;"),s.push("uniform lowp usampler2D uObjectPerObjectColorsAndFlags;"),s.push("uniform highp sampler2D uTexturePerObjectMatrix;"),s.push("uniform mediump usampler2D uTexturePerVertexIdCoordinates;"),s.push("uniform highp usampler2D uTexturePerPolygonIdIndices;"),s.push("uniform mediump usampler2D uTexturePerPolygonIdPortionIds;"),s.push("uniform vec3 uCameraEyeRtc;"),s.push("vec3 positions[3];"),e.logarithmicDepthBufferEnabled&&(s.push("uniform float logDepthBufFC;"),s.push("out float vFragDepth;"),s.push("out float isPerspective;")),s.push("uniform vec2 pickClipPos;"),s.push("uniform vec2 drawingBufferSize;"),s.push("vec4 remapClipPos(vec4 clipPos) {"),s.push(" clipPos.xy /= clipPos.w;"),s.push(" clipPos.xy = (clipPos.xy - pickClipPos) * drawingBufferSize;"),s.push(" clipPos.xy *= clipPos.w;"),s.push(" return clipPos;"),s.push("}"),s.push("bool isPerspectiveMatrix(mat4 m) {"),s.push(" return (m[2][3] == - 1.0);"),s.push("}"),s.push("out vec4 vWorldPosition;"),t&&s.push("flat out uint vFlags2;"),s.push("void main(void) {"),s.push("int polygonIndex = gl_VertexID / 3;"),s.push("int h_packed_object_id_index = (polygonIndex >> 3) & 4095;"),s.push("int v_packed_object_id_index = (polygonIndex >> 3) >> 12;"),s.push("int objectIndex = int(texelFetch(uTexturePerPolygonIdPortionIds, ivec2(h_packed_object_id_index, v_packed_object_id_index), 0).r);"),s.push("ivec2 objectIndexCoords = ivec2(objectIndex % 512, objectIndex / 512);"),s.push("uvec4 flags = texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+2, objectIndexCoords.y), 0);"),s.push("uvec4 flags2 = texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+3, objectIndexCoords.y), 0);"),s.push("if (int(flags.w) != renderPass) {"),s.push(" gl_Position = vec4(3.0, 3.0, 3.0, 1.0);"),s.push(" return;"),s.push("} else {"),s.push("ivec4 packedVertexBase = ivec4(texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+4, objectIndexCoords.y), 0));"),s.push("ivec4 packedIndexBaseOffset = ivec4(texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+5, objectIndexCoords.y), 0));"),s.push("int indexBaseOffset = (packedIndexBaseOffset.r << 24) + (packedIndexBaseOffset.g << 16) + (packedIndexBaseOffset.b << 8) + packedIndexBaseOffset.a;"),s.push("int h_index = (polygonIndex - indexBaseOffset) & 4095;"),s.push("int v_index = (polygonIndex - indexBaseOffset) >> 12;"),s.push("ivec3 vertexIndices = ivec3(texelFetch(uTexturePerPolygonIdIndices, ivec2(h_index, v_index), 0));"),s.push("ivec3 uniqueVertexIndexes = vertexIndices + (packedVertexBase.r << 24) + (packedVertexBase.g << 16) + (packedVertexBase.b << 8) + packedVertexBase.a;"),s.push("ivec3 indexPositionH = uniqueVertexIndexes & 4095;"),s.push("ivec3 indexPositionV = uniqueVertexIndexes >> 12;"),s.push("mat4 objectInstanceMatrix = mat4 (texelFetch (uTexturePerObjectMatrix, ivec2(objectIndexCoords.x*4+0, objectIndexCoords.y), 0), texelFetch (uTexturePerObjectMatrix, ivec2(objectIndexCoords.x*4+1, objectIndexCoords.y), 0), texelFetch (uTexturePerObjectMatrix, ivec2(objectIndexCoords.x*4+2, objectIndexCoords.y), 0), texelFetch (uTexturePerObjectMatrix, ivec2(objectIndexCoords.x*4+3, objectIndexCoords.y), 0));"),s.push("mat4 objectDecodeAndInstanceMatrix = objectInstanceMatrix * mat4 (texelFetch (uObjectPerObjectPositionsDecodeMatrix, ivec2(objectIndexCoords.x*4+0, objectIndexCoords.y), 0), texelFetch (uObjectPerObjectPositionsDecodeMatrix, ivec2(objectIndexCoords.x*4+1, objectIndexCoords.y), 0), texelFetch (uObjectPerObjectPositionsDecodeMatrix, ivec2(objectIndexCoords.x*4+2, objectIndexCoords.y), 0), texelFetch (uObjectPerObjectPositionsDecodeMatrix, ivec2(objectIndexCoords.x*4+3, objectIndexCoords.y), 0));"),s.push("uint solid = texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+7, objectIndexCoords.y), 0).r;"),s.push("positions[0] = vec3(texelFetch(uTexturePerVertexIdCoordinates, ivec2(indexPositionH.r, indexPositionV.r), 0));"),s.push("positions[1] = vec3(texelFetch(uTexturePerVertexIdCoordinates, ivec2(indexPositionH.g, indexPositionV.g), 0));"),s.push("positions[2] = vec3(texelFetch(uTexturePerVertexIdCoordinates, ivec2(indexPositionH.b, indexPositionV.b), 0));"),s.push("uvec4 color = texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+0, objectIndexCoords.y), 0);"),s.push("if (color.a == 0u) {"),s.push(" gl_Position = vec4(3.0, 3.0, 3.0, 1.0);"),s.push(" return;"),s.push("};"),s.push("vec3 normal = normalize(cross(positions[2] - positions[0], positions[1] - positions[0]));"),s.push("vec3 position;"),s.push("position = positions[gl_VertexID % 3];"),s.push("vec3 viewNormal = -normalize((transpose(inverse(viewMatrix*objectDecodeAndInstanceMatrix)) * vec4(normal,1)).xyz);"),s.push("if (solid != 1u) {"),s.push("if (isPerspectiveMatrix(projMatrix)) {"),s.push("vec3 uCameraEyeRtcInQuantizedSpace = (inverse(sceneModelMatrix * objectDecodeAndInstanceMatrix) * vec4(uCameraEyeRtc, 1)).xyz;"),s.push("if (dot(position.xyz - uCameraEyeRtcInQuantizedSpace, normal) < 0.0) {"),s.push("position = positions[2 - (gl_VertexID % 3)];"),s.push("viewNormal = -viewNormal;"),s.push("}"),s.push("} else {"),s.push("vec3 viewNormal = -normalize((transpose(inverse(viewMatrix*objectDecodeAndInstanceMatrix)) * vec4(normal,1)).xyz);"),s.push("if (viewNormal.z < 0.0) {"),s.push("position = positions[2 - (gl_VertexID % 3)];"),s.push("}"),s.push("}"),s.push("}"),s.push("vec4 worldPosition = sceneModelMatrix * (objectDecodeAndInstanceMatrix * vec4(position, 1.0)); "),s.push("vec4 viewPosition = viewMatrix * worldPosition; "),s.push("vec4 clipPos = projMatrix * viewPosition;"),e.logarithmicDepthBufferEnabled&&(s.push("vFragDepth = 1.0 + clipPos.w;"),s.push("isPerspective = float (isPerspectiveMatrix(projMatrix));")),s.push("vWorldPosition = worldPosition;"),t&&s.push("vFlags2 = flags2.r;"),s.push("gl_Position = remapClipPos(clipPos);"),s.push("}"),s.push("}"),s}_buildFragmentShader(){const e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,s=[];if(s.push("#version 300 es"),s.push("// TrianglesDataTexturePickNormalsRenderer fragment shader"),s.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),s.push("precision highp float;"),s.push("precision highp int;"),s.push("#else"),s.push("precision mediump float;"),s.push("precision mediump int;"),s.push("#endif"),e.logarithmicDepthBufferEnabled&&(s.push("in float isPerspective;"),s.push("uniform float logDepthBufFC;"),s.push("in float vFragDepth;")),s.push("in vec4 vWorldPosition;"),t){s.push("flat in uint vFlags2;");for(let t=0,n=e._sectionPlanesState.getNumAllocatedSectionPlanes();t 0u;"),s.push(" if (clippable) {"),s.push(" float dist = 0.0;");for(let t=0,n=e._sectionPlanesState.getNumAllocatedSectionPlanes();t 0.0) { "),s.push(" discard;"),s.push(" }"),s.push("}")}return e.logarithmicDepthBufferEnabled&&s.push(" gl_FragDepth = isPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5;"),s.push(" vec3 xTangent = dFdx( vWorldPosition.xyz );"),s.push(" vec3 yTangent = dFdy( vWorldPosition.xyz );"),s.push(" vec3 worldNormal = normalize( cross( xTangent, yTangent ) );"),s.push(` outNormal = ivec4(worldNormal * float(${h.MAX_INT}), 1.0);`),s.push("}"),s}webglContextRestored(){this._program=null}destroy(){this._program&&this._program.destroy(),this._program=null}}class Go{constructor(e){this._scene=e}_compile(){this._colorRenderer&&!this._colorRenderer.getValid()&&(this._colorRenderer.destroy(),this._colorRenderer=null),this._colorRendererWithSAO&&!this._colorRendererWithSAO.getValid()&&(this._colorRendererWithSAO.destroy(),this._colorRendererWithSAO=null),this._flatColorRenderer&&!this._flatColorRenderer.getValid()&&(this._flatColorRenderer.destroy(),this._flatColorRenderer=null),this._flatColorRendererWithSAO&&!this._flatColorRendererWithSAO.getValid()&&(this._flatColorRendererWithSAO.destroy(),this._flatColorRendererWithSAO=null),this._colorQualityRendererWithSAO&&!this._colorQualityRendererWithSAO.getValid()&&(this._colorQualityRendererWithSAO.destroy(),this._colorQualityRendererWithSAO=null),this._depthRenderer&&!this._depthRenderer.getValid()&&(this._depthRenderer.destroy(),this._depthRenderer=null),this._normalsRenderer&&!this._normalsRenderer.getValid()&&(this._normalsRenderer.destroy(),this._normalsRenderer=null),this._silhouetteRenderer&&!this._silhouetteRenderer.getValid()&&(this._silhouetteRenderer.destroy(),this._silhouetteRenderer=null),this._edgesRenderer&&!this._edgesRenderer.getValid()&&(this._edgesRenderer.destroy(),this._edgesRenderer=null),this._edgesColorRenderer&&!this._edgesColorRenderer.getValid()&&(this._edgesColorRenderer.destroy(),this._edgesColorRenderer=null),this._pickMeshRenderer&&!this._pickMeshRenderer.getValid()&&(this._pickMeshRenderer.destroy(),this._pickMeshRenderer=null),this._pickDepthRenderer&&!this._pickDepthRenderer.getValid()&&(this._pickDepthRenderer.destroy(),this._pickDepthRenderer=null),this._vertexDepthRenderer&&!this._vertexDepthRenderer.getValid()&&(this._vertexDepthRenderer.destroy(),this._vertexDepthRenderer=null),this._snapDepthBufInitRenderer&&!this._snapDepthBufInitRenderer.getValid()&&(this._snapDepthBufInitRenderer.destroy(),this._snapDepthBufInitRenderer=null),this._pickNormalsRenderer&&!1===this._pickNormalsRenderer.getValid()&&(this._pickNormalsRenderer.destroy(),this._pickNormalsRenderer=null),this._pickNormalsFlatRenderer&&!1===this._pickNormalsFlatRenderer.getValid()&&(this._pickNormalsFlatRenderer.destroy(),this._pickNormalsFlatRenderer=null),this._occlusionRenderer&&!1===this._occlusionRenderer.getValid()&&(this._occlusionRenderer.destroy(),this._occlusionRenderer=null)}eagerCreateRenders(){this._silhouetteRenderer||(this._silhouetteRenderer=new jl(this._scene)),this._pickMeshRenderer||(this._pickMeshRenderer=new to(this._scene)),this._pickDepthRenderer||(this._pickDepthRenderer=new ro(this._scene)),this._pickNormalsRenderer||(this._pickNormalsRenderer=new Uo(this._scene)),this._vertexDepthRenderer||(this._vertexDepthRenderer=new po(this._scene)),this._snapDepthBufInitRenderer||(this._snapDepthBufInitRenderer=new vo(this._scene))}get colorRenderer(){return this._colorRenderer||(this._colorRenderer=new Ll(this._scene,!1)),this._colorRenderer}get colorRendererWithSAO(){return this._colorRendererWithSAO||(this._colorRendererWithSAO=new Ll(this._scene,!0)),this._colorRendererWithSAO}get colorQualityRendererWithSAO(){return this._colorQualityRendererWithSAO}get silhouetteRenderer(){return this._silhouetteRenderer||(this._silhouetteRenderer=new jl(this._scene)),this._silhouetteRenderer}get depthRenderer(){return this._depthRenderer||(this._depthRenderer=new _o(this._scene)),this._depthRenderer}get normalsRenderer(){return this._normalsRenderer||(this._normalsRenderer=new xo(this._scene)),this._normalsRenderer}get edgesRenderer(){return this._edgesRenderer||(this._edgesRenderer=new zl(this._scene)),this._edgesRenderer}get edgesColorRenderer(){return this._edgesColorRenderer||(this._edgesColorRenderer=new ql(this._scene)),this._edgesColorRenderer}get pickMeshRenderer(){return this._pickMeshRenderer||(this._pickMeshRenderer=new to(this._scene)),this._pickMeshRenderer}get pickNormalsRenderer(){return this._pickNormalsRenderer||(this._pickNormalsRenderer=new Uo(this._scene)),this._pickNormalsRenderer}get pickNormalsFlatRenderer(){return this._pickNormalsFlatRenderer||(this._pickNormalsFlatRenderer=new Uo(this._scene)),this._pickNormalsFlatRenderer}get pickDepthRenderer(){return this._pickDepthRenderer||(this._pickDepthRenderer=new ro(this._scene)),this._pickDepthRenderer}get vertexDepthRenderer(){return this._vertexDepthRenderer||(this._vertexDepthRenderer=new po(this._scene)),this._vertexDepthRenderer}get snapDepthBufInitRenderer(){return this._snapDepthBufInitRenderer||(this._snapDepthBufInitRenderer=new vo(this._scene)),this._snapDepthBufInitRenderer}get occlusionRenderer(){return this._occlusionRenderer||(this._occlusionRenderer=new bo(this._scene)),this._occlusionRenderer}_destroy(){this._colorRenderer&&this._colorRenderer.destroy(),this._colorRendererWithSAO&&this._colorRendererWithSAO.destroy(),this._flatColorRenderer&&this._flatColorRenderer.destroy(),this._flatColorRendererWithSAO&&this._flatColorRendererWithSAO.destroy(),this._colorQualityRendererWithSAO&&this._colorQualityRendererWithSAO.destroy(),this._depthRenderer&&this._depthRenderer.destroy(),this._normalsRenderer&&this._normalsRenderer.destroy(),this._silhouetteRenderer&&this._silhouetteRenderer.destroy(),this._edgesRenderer&&this._edgesRenderer.destroy(),this._edgesColorRenderer&&this._edgesColorRenderer.destroy(),this._pickMeshRenderer&&this._pickMeshRenderer.destroy(),this._pickDepthRenderer&&this._pickDepthRenderer.destroy(),this._vertexDepthRenderer&&this._vertexDepthRenderer.destroy(),this._snapDepthBufInitRenderer&&this._snapDepthBufInitRenderer.destroy(),this._pickNormalsRenderer&&this._pickNormalsRenderer.destroy(),this._pickNormalsFlatRenderer&&this._pickNormalsFlatRenderer.destroy(),this._occlusionRenderer&&this._occlusionRenderer.destroy()}}const jo={};class Vo{constructor(){this.positionsCompressed=[],this.lenPositionsCompressed=0,this.metallicRoughness=[],this.indices8Bits=[],this.lenIndices8Bits=0,this.indices16Bits=[],this.lenIndices16Bits=0,this.indices32Bits=[],this.lenIndices32Bits=0,this.edgeIndices8Bits=[],this.lenEdgeIndices8Bits=0,this.edgeIndices16Bits=[],this.lenEdgeIndices16Bits=0,this.edgeIndices32Bits=[],this.lenEdgeIndices32Bits=0,this.perObjectColors=[],this.perObjectPickColors=[],this.perObjectSolid=[],this.perObjectOffsets=[],this.perObjectPositionsDecodeMatrices=[],this.perObjectInstancePositioningMatrices=[],this.perObjectVertexBases=[],this.perObjectIndexBaseOffsets=[],this.perObjectEdgeIndexBaseOffsets=[],this.perTriangleNumberPortionId8Bits=[],this.perTriangleNumberPortionId16Bits=[],this.perTriangleNumberPortionId32Bits=[],this.perEdgeNumberPortionId8Bits=[],this.perEdgeNumberPortionId16Bits=[],this.perEdgeNumberPortionId32Bits=[]}}class ko{constructor(){this.texturePerObjectColorsAndFlags=null,this.texturePerObjectOffsets=null,this.texturePerObjectInstanceMatrices=null,this.texturePerObjectPositionsDecodeMatrix=null,this.texturePerVertexIdCoordinates=null,this.texturePerPolygonIdPortionIds8Bits=null,this.texturePerPolygonIdPortionIds16Bits=null,this.texturePerPolygonIdPortionIds32Bits=null,this.texturePerEdgeIdPortionIds8Bits=null,this.texturePerEdgeIdPortionIds16Bits=null,this.texturePerEdgeIdPortionIds32Bits=null,this.texturePerPolygonIdIndices8Bits=null,this.texturePerPolygonIdIndices16Bits=null,this.texturePerPolygonIdIndices32Bits=null,this.texturePerPolygonIdEdgeIndices8Bits=null,this.texturePerPolygonIdEdgeIndices16Bits=null,this.texturePerPolygonIdEdgeIndices32Bits=null,this.textureModelMatrices=null}finalize(){this.indicesPerBitnessTextures={8:this.texturePerPolygonIdIndices8Bits,16:this.texturePerPolygonIdIndices16Bits,32:this.texturePerPolygonIdIndices32Bits},this.indicesPortionIdsPerBitnessTextures={8:this.texturePerPolygonIdPortionIds8Bits,16:this.texturePerPolygonIdPortionIds16Bits,32:this.texturePerPolygonIdPortionIds32Bits},this.edgeIndicesPerBitnessTextures={8:this.texturePerPolygonIdEdgeIndices8Bits,16:this.texturePerPolygonIdEdgeIndices16Bits,32:this.texturePerPolygonIdEdgeIndices32Bits},this.edgeIndicesPortionIdsPerBitnessTextures={8:this.texturePerEdgeIdPortionIds8Bits,16:this.texturePerEdgeIdPortionIds16Bits,32:this.texturePerEdgeIdPortionIds32Bits}}bindCommonTextures(e,t,s,n,i){this.texturePerObjectPositionsDecodeMatrix.bindTexture(e,t,1),this.texturePerVertexIdCoordinates.bindTexture(e,s,2),this.texturePerObjectColorsAndFlags.bindTexture(e,n,3),this.texturePerObjectInstanceMatrices.bindTexture(e,i,4)}bindTriangleIndicesTextures(e,t,s,n){this.indicesPortionIdsPerBitnessTextures[n].bindTexture(e,t,5),this.indicesPerBitnessTextures[n].bindTexture(e,s,6)}bindEdgeIndicesTextures(e,t,s,n){this.edgeIndicesPortionIdsPerBitnessTextures[n].bindTexture(e,t,5),this.edgeIndicesPerBitnessTextures[n].bindTexture(e,s,6)}}class Qo{constructor(e,t,s,n,i=null){this._gl=e,this._texture=t,this._textureWidth=s,this._textureHeight=n,this._textureData=i}bindTexture(e,t,s){return e.bindTexture(t,this,s)}bind(e){return this._gl.activeTexture(this._gl["TEXTURE"+e]),this._gl.bindTexture(this._gl.TEXTURE_2D,this._texture),!0}unbind(e){}}const Wo={sizeDataColorsAndFlags:0,sizeDataPositionDecodeMatrices:0,sizeDataTextureOffsets:0,sizeDataTexturePositions:0,sizeDataTextureIndices:0,sizeDataTextureEdgeIndices:0,sizeDataTexturePortionIds:0,numberOfGeometries:0,numberOfPortions:0,numberOfLayers:0,numberOfTextures:0,totalPolygons:0,totalPolygons8Bits:0,totalPolygons16Bits:0,totalPolygons32Bits:0,totalEdges:0,totalEdges8Bits:0,totalEdges16Bits:0,totalEdges32Bits:0,cannotCreatePortion:{because10BitsObjectId:0,becauseTextureSize:0},overheadSizeAlignementIndices:0,overheadSizeAlignementEdgeIndices:0};window.printDataTextureRamStats=function(){console.log(JSON.stringify(Wo,null,4));let e=0;Object.keys(Wo).forEach((t=>{t.startsWith("size")&&(e+=Wo[t])})),console.log(`Total size ${e} bytes (${(e/1e3/1e3).toFixed(2)} MB)`),console.log(`Avg bytes / triangle: ${(e/Wo.totalPolygons).toFixed(2)}`);let t={};Object.keys(Wo).forEach((s=>{s.startsWith("size")&&(t[s]=`${(Wo[s]/e*100).toFixed(2)} % of total`)})),console.log(JSON.stringify({percentualRamUsage:t},null,4))};class zo{disableBindedTextureFiltering(e){e.texParameteri(e.TEXTURE_2D,e.TEXTURE_MAG_FILTER,e.NEAREST),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_MIN_FILTER,e.NEAREST),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_WRAP_S,e.CLAMP_TO_EDGE),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_WRAP_T,e.CLAMP_TO_EDGE)}generateTextureForColorsAndFlags(e,t,s,n,i,a,r){const l=t.length;this.numPortions=l;const o=4096,c=Math.ceil(l/512);if(0===c)throw"texture height===0";const u=new Uint8Array(16384*c);Wo.sizeDataColorsAndFlags+=u.byteLength,Wo.numberOfTextures++;for(let e=0;e>24&255,n[e]>>16&255,n[e]>>8&255,255&n[e]],32*e+16),u.set([i[e]>>24&255,i[e]>>16&255,i[e]>>8&255,255&i[e]],32*e+20),u.set([a[e]>>24&255,a[e]>>16&255,a[e]>>8&255,255&a[e]],32*e+24),u.set([r[e]?1:0,0,0,0],32*e+28);const h=e.createTexture();return e.bindTexture(e.TEXTURE_2D,h),e.texStorage2D(e.TEXTURE_2D,1,e.RGBA8UI,o,c),e.texSubImage2D(e.TEXTURE_2D,0,0,0,o,c,e.RGBA_INTEGER,e.UNSIGNED_BYTE,u,0),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_MAG_FILTER,e.NEAREST),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_MIN_FILTER,e.NEAREST),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_WRAP_S,e.CLAMP_TO_EDGE),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_WRAP_T,e.CLAMP_TO_EDGE),e.bindTexture(e.TEXTURE_2D,null),new Qo(e,h,o,c,u)}generateTextureForObjectOffsets(e,t){const s=512,n=Math.ceil(t/s);if(0===n)throw"texture height===0";const i=new Float32Array(1536*n).fill(0);Wo.sizeDataTextureOffsets+=i.byteLength,Wo.numberOfTextures++;const a=e.createTexture();return e.bindTexture(e.TEXTURE_2D,a),e.texStorage2D(e.TEXTURE_2D,1,e.RGB32F,s,n),e.texSubImage2D(e.TEXTURE_2D,0,0,0,s,n,e.RGB,e.FLOAT,i,0),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_MAG_FILTER,e.NEAREST),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_MIN_FILTER,e.NEAREST),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_WRAP_S,e.CLAMP_TO_EDGE),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_WRAP_T,e.CLAMP_TO_EDGE),e.bindTexture(e.TEXTURE_2D,null),new Qo(e,a,s,n,i)}generateTextureForInstancingMatrices(e,t){const s=t.length;if(0===s)throw"num instance matrices===0";const n=2048,i=Math.ceil(s/512),a=new Float32Array(8192*i);Wo.numberOfTextures++;for(let e=0;e{s._compile(),s.eagerCreateRenders()})),e.on("destroyed",(()=>{delete jo[t],s._destroy()}))),s}(e.scene),this.model=e,this._buffer=new Vo,this._dataTextureState=new ko,this._dataTextureGenerator=new zo,this._state=new Je({origin:h.vec3(t.origin),metallicRoughnessBuf:null,textureState:this._dataTextureState,numIndices8Bits:0,numIndices16Bits:0,numIndices32Bits:0,numEdgeIndices8Bits:0,numEdgeIndices16Bits:0,numEdgeIndices32Bits:0,numVertices:0}),this._numPortions=0,this._numVisibleLayerPortions=0,this._numTransparentLayerPortions=0,this._numXRayedLayerPortions=0,this._numSelectedLayerPortions=0,this._numHighlightedLayerPortions=0,this._numClippableLayerPortions=0,this._numEdgesLayerPortions=0,this._numPickableLayerPortions=0,this._numCulledLayerPortions=0,this._subPortions=[],this._portionToSubPortionsMap=[],this._bucketGeometries={},this.aabb=h.collapseAABB3(),this._numUpdatesInFrame=0,this._finalized=!1}canCreatePortion(e){if(this._finalized)throw"Already finalized";const t=e.buckets.length;this._numPortions+t>65536&&Wo.cannotCreatePortion.because10BitsObjectId++;let s=this._numPortions+t<=65536;const n=void 0!==e.geometryId&&null!==e.geometryId?`${e.geometryId}#0`:`${e.id}#0`;if(!this._bucketGeometries[n]){const t=Math.max(this._state.numIndices8Bits,this._state.numIndices16Bits,this._state.numIndices32Bits);let n=0,i=0;e.buckets.forEach((e=>{n+=e.positionsCompressed.length/3,i+=e.indices.length/3})),(this._state.numVertices+n>16777216||t+i>16777216)&&Wo.cannotCreatePortion.becauseTextureSize++,s&&=this._state.numVertices+n<=16777216&&t+i<=16777216}return s}createPortion(e){if(this._finalized)throw"Already finalized";const t=[];e.buckets.forEach(((s,n)=>{const i=void 0!==e.geometryId&&null!==e.geometryId?`${e.geometryId}#${n}`:`${e.id}#${n}`;let a=this._bucketGeometries[i];a||(a=this._createBucketGeometry(e,s),this._bucketGeometries[i]=a);const r=this._createSubPortion(e,a,s);t.push(r)}));const s=this._portionToSubPortionsMap.length;return this._portionToSubPortionsMap.push(t),this.model.numPortions++,s}_createBucketGeometry(e,t){if(t.indices){const e=8*Math.ceil(t.indices.length/3/8)*3;Wo.overheadSizeAlignementIndices+=2*(e-t.indices.length);const s=new Uint32Array(e);s.fill(0),s.set(t.indices),t.indices=s}if(t.edgeIndices){const e=8*Math.ceil(t.edgeIndices.length/2/8)*2;Wo.overheadSizeAlignementEdgeIndices+=2*(e-t.edgeIndices.length);const s=new Uint32Array(e);s.fill(0),s.set(t.edgeIndices),t.edgeIndices=s}const s=t.positionsCompressed,n=t.indices,i=t.edgeIndices,a=this._buffer;a.positionsCompressed.push(s);const r=a.lenPositionsCompressed/3,l=s.length/3;let o;a.lenPositionsCompressed+=s.length;let c,u=0;if(n){let e;u=n.length/3,l<=256?(e=a.indices8Bits,o=a.lenIndices8Bits/3,a.lenIndices8Bits+=n.length):l<=65536?(e=a.indices16Bits,o=a.lenIndices16Bits/3,a.lenIndices16Bits+=n.length):(e=a.indices32Bits,o=a.lenIndices32Bits/3,a.lenIndices32Bits+=n.length),e.push(n)}let h=0;if(i){let e;h=i.length/2,l<=256?(e=a.edgeIndices8Bits,c=a.lenEdgeIndices8Bits/2,a.lenEdgeIndices8Bits+=i.length):l<=65536?(e=a.edgeIndices16Bits,c=a.lenEdgeIndices16Bits/2,a.lenEdgeIndices16Bits+=i.length):(e=a.edgeIndices32Bits,c=a.lenEdgeIndices32Bits/2,a.lenEdgeIndices32Bits+=i.length),e.push(i)}this._state.numVertices+=l,Wo.numberOfGeometries++;return{vertexBase:r,numVertices:l,numTriangles:u,numEdges:h,indicesBase:o,edgeIndicesBase:c,obb:null}}_createSubPortion(e,t,s,n){const i=e.color;e.metallic,e.roughness;const a=e.colors,r=e.opacity,l=e.meshMatrix,o=e.pickColor,c=this._buffer,u=this._state;c.perObjectPositionsDecodeMatrices.push(e.positionsDecodeMatrix),c.perObjectInstancePositioningMatrices.push(l||Jo),c.perObjectSolid.push(!!e.solid),a?c.perObjectColors.push([255*a[0],255*a[1],255*a[2],255]):i&&c.perObjectColors.push([i[0],i[1],i[2],r]),c.perObjectPickColors.push(o),c.perObjectVertexBases.push(t.vertexBase);{let e;e=t.numVertices<=256?u.numIndices8Bits:t.numVertices<=65536?u.numIndices16Bits:u.numIndices32Bits,c.perObjectIndexBaseOffsets.push(e/3-t.indicesBase)}{let e;e=t.numVertices<=256?u.numEdgeIndices8Bits:t.numVertices<=65536?u.numEdgeIndices16Bits:u.numEdgeIndices32Bits,c.perObjectEdgeIndexBaseOffsets.push(e/2-t.edgeIndicesBase)}const h=this._subPortions.length;if(t.numTriangles>0){let e,s=3*t.numTriangles;t.numVertices<=256?(e=c.perTriangleNumberPortionId8Bits,u.numIndices8Bits+=s,Wo.totalPolygons8Bits+=t.numTriangles):t.numVertices<=65536?(e=c.perTriangleNumberPortionId16Bits,u.numIndices16Bits+=s,Wo.totalPolygons16Bits+=t.numTriangles):(e=c.perTriangleNumberPortionId32Bits,u.numIndices32Bits+=s,Wo.totalPolygons32Bits+=t.numTriangles),Wo.totalPolygons+=t.numTriangles;for(let s=0;s0){let e,s=2*t.numEdges;t.numVertices<=256?(e=c.perEdgeNumberPortionId8Bits,u.numEdgeIndices8Bits+=s,Wo.totalEdges8Bits+=t.numEdges):t.numVertices<=65536?(e=c.perEdgeNumberPortionId16Bits,u.numEdgeIndices16Bits+=s,Wo.totalEdges16Bits+=t.numEdges):(e=c.perEdgeNumberPortionId32Bits,u.numEdgeIndices32Bits+=s,Wo.totalEdges32Bits+=t.numEdges),Wo.totalEdges+=t.numEdges;for(let s=0;s0&&(t.texturePerEdgeIdPortionIds8Bits=this._dataTextureGenerator.generateTextureForPackedPortionIds(s,n.perEdgeNumberPortionId8Bits)),n.perEdgeNumberPortionId16Bits.length>0&&(t.texturePerEdgeIdPortionIds16Bits=this._dataTextureGenerator.generateTextureForPackedPortionIds(s,n.perEdgeNumberPortionId16Bits)),n.perEdgeNumberPortionId32Bits.length>0&&(t.texturePerEdgeIdPortionIds32Bits=this._dataTextureGenerator.generateTextureForPackedPortionIds(s,n.perEdgeNumberPortionId32Bits)),n.lenIndices8Bits>0&&(t.texturePerPolygonIdIndices8Bits=this._dataTextureGenerator.generateTextureFor8BitIndices(s,n.indices8Bits,n.lenIndices8Bits)),n.lenIndices16Bits>0&&(t.texturePerPolygonIdIndices16Bits=this._dataTextureGenerator.generateTextureFor16BitIndices(s,n.indices16Bits,n.lenIndices16Bits)),n.lenIndices32Bits>0&&(t.texturePerPolygonIdIndices32Bits=this._dataTextureGenerator.generateTextureFor32BitIndices(s,n.indices32Bits,n.lenIndices32Bits)),n.lenEdgeIndices8Bits>0&&(t.texturePerPolygonIdEdgeIndices8Bits=this._dataTextureGenerator.generateTextureFor8BitsEdgeIndices(s,n.edgeIndices8Bits,n.lenEdgeIndices8Bits)),n.lenEdgeIndices16Bits>0&&(t.texturePerPolygonIdEdgeIndices16Bits=this._dataTextureGenerator.generateTextureFor16BitsEdgeIndices(s,n.edgeIndices16Bits,n.lenEdgeIndices16Bits)),n.lenEdgeIndices32Bits>0&&(t.texturePerPolygonIdEdgeIndices32Bits=this._dataTextureGenerator.generateTextureFor32BitsEdgeIndices(s,n.edgeIndices32Bits,n.lenEdgeIndices32Bits)),t.finalize(),this._buffer=null,this._bucketGeometries={},this._finalized=!0,this._deferredSetFlagsDirty=!1,this._onSceneRendering=this.model.scene.on("rendering",(()=>{this._deferredSetFlagsDirty&&this._uploadDeferredFlags(),this._numUpdatesInFrame=0}))}isEmpty(){return 0===this._numPortions}initFlags(e,t,s){t&Q&&(this._numVisibleLayerPortions++,this.model.numVisibleLayerPortions++),t&q&&(this._numHighlightedLayerPortions++,this.model.numHighlightedLayerPortions++),t&X&&(this._numXRayedLayerPortions++,this.model.numXRayedLayerPortions++),t&J&&(this._numSelectedLayerPortions++,this.model.numSelectedLayerPortions++),t&K&&(this._numClippableLayerPortions++,this.model.numClippableLayerPortions++),t&Z&&(this._numEdgesLayerPortions++,this.model.numEdgesLayerPortions++),t&z&&(this._numPickableLayerPortions++,this.model.numPickableLayerPortions++),t&W&&(this._numCulledLayerPortions++,this.model.numCulledLayerPortions++),s&&(this._numTransparentLayerPortions++,this.model.numTransparentLayerPortions++);this._setFlags(e,t,s,true),this._setFlags2(e,t,true)}flushInitFlags(){this._setDeferredFlags(),this._setDeferredFlags2()}setVisible(e,t,s){if(!this._finalized)throw"Not finalized";t&Q?(this._numVisibleLayerPortions++,this.model.numVisibleLayerPortions++):(this._numVisibleLayerPortions--,this.model.numVisibleLayerPortions--),this._setFlags(e,t,s)}setHighlighted(e,t,s){if(!this._finalized)throw"Not finalized";t&q?(this._numHighlightedLayerPortions++,this.model.numHighlightedLayerPortions++):(this._numHighlightedLayerPortions--,this.model.numHighlightedLayerPortions--),this._setFlags(e,t,s)}setXRayed(e,t,s){if(!this._finalized)throw"Not finalized";t&X?(this._numXRayedLayerPortions++,this.model.numXRayedLayerPortions++):(this._numXRayedLayerPortions--,this.model.numXRayedLayerPortions--),this._setFlags(e,t,s)}setSelected(e,t,s){if(!this._finalized)throw"Not finalized";t&J?(this._numSelectedLayerPortions++,this.model.numSelectedLayerPortions++):(this._numSelectedLayerPortions--,this.model.numSelectedLayerPortions--),this._setFlags(e,t,s)}setEdges(e,t,s){if(!this._finalized)throw"Not finalized";t&Z?(this._numEdgesLayerPortions++,this.model.numEdgesLayerPortions++):(this._numEdgesLayerPortions--,this.model.numEdgesLayerPortions--),this._setFlags(e,t,s)}setClippable(e,t){if(!this._finalized)throw"Not finalized";t&K?(this._numClippableLayerPortions++,this.model.numClippableLayerPortions++):(this._numClippableLayerPortions--,this.model.numClippableLayerPortions--),this._setFlags2(e,t)}_beginDeferredFlags(){this._deferredSetFlagsActive=!0}_uploadDeferredFlags(){if(console.info("_uploadDeferredFlags"),this._deferredSetFlagsActive=!1,!this._deferredSetFlagsDirty)return;this._deferredSetFlagsDirty=!1;const e=this.model.scene.canvas.gl,t=this._dataTextureState;e.bindTexture(e.TEXTURE_2D,t.texturePerObjectColorsAndFlags._texture),e.texSubImage2D(e.TEXTURE_2D,0,0,0,t.texturePerObjectColorsAndFlags._textureWidth,t.texturePerObjectColorsAndFlags._textureHeight,e.RGBA_INTEGER,e.UNSIGNED_BYTE,t.texturePerObjectColorsAndFlags._textureData)}setCulled(e,t,s){if(!this._finalized)throw"Not finalized";t&W?(this._numCulledLayerPortions+=this._portionToSubPortionsMap[e].length,this.model.numCulledLayerPortions++):(this._numCulledLayerPortions-=this._portionToSubPortionsMap[e].length,this.model.numCulledLayerPortions--),this._setFlags(e,t,s)}setCollidable(e,t){if(!this._finalized)throw"Not finalized"}setPickable(e,t,s){if(!this._finalized)throw"Not finalized";t&z?(this._numPickableLayerPortions++,this.model.numPickableLayerPortions++):(this._numPickableLayerPortions--,this.model.numPickableLayerPortions--),this._setFlags(e,t,s)}setColor(e,t){const s=this._portionToSubPortionsMap[e];for(let e=0,n=s.length;e=10&&this._beginDeferredFlags(),console.info("_subPortionSetColor write through"),n.bindTexture(n.TEXTURE_2D,s.texturePerObjectColorsAndFlags._texture),n.texSubImage2D(n.TEXTURE_2D,0,e%512*8,Math.floor(e/512),1,1,n.RGBA_INTEGER,n.UNSIGNED_BYTE,Yo)}setTransparent(e,t,s){s?(this._numTransparentLayerPortions++,this.model.numTransparentLayerPortions++):(this._numTransparentLayerPortions--,this.model.numTransparentLayerPortions--),this._setFlags(e,t,s)}_setFlags(e,t,s,n=!1){const i=this._portionToSubPortionsMap[e];for(let e=0,a=i.length;e=10&&this._beginDeferredFlags(),d.bindTexture(d.TEXTURE_2D,A.texturePerObjectColorsAndFlags._texture),d.texSubImage2D(d.TEXTURE_2D,0,e%512*8+2,Math.floor(e/512),1,1,d.RGBA_INTEGER,d.UNSIGNED_BYTE,Yo))}_setDeferredFlags(){}_setFlags2(e,t,s=!1){const n=this._portionToSubPortionsMap[e];for(let e=0,i=n.length;e=10&&this._beginDeferredFlags(),a.bindTexture(a.TEXTURE_2D,i.texturePerObjectColorsAndFlags._texture),a.texSubImage2D(a.TEXTURE_2D,0,e%512*8+3,Math.floor(e/512),1,1,a.RGBA_INTEGER,a.UNSIGNED_BYTE,Yo))}_setDeferredFlags2(){}setOffset(e,t){const s=this._portionToSubPortionsMap[e];for(let e=0,n=s.length;e=10&&this._beginDeferredFlags(),n.bindTexture(n.TEXTURE_2D,s.texturePerObjectOffsets._texture),n.texSubImage2D(n.TEXTURE_2D,0,0,e,1,1,n.RGB,n.FLOAT,Xo))}setMatrix(e,t){const s=this._portionToSubPortionsMap[e];for(let e=0,n=s.length;e=10&&this._beginDeferredFlags(),n.bindTexture(n.TEXTURE_2D,s.texturePerObjectInstanceMatrices._texture),n.texSubImage2D(n.TEXTURE_2D,0,e%512*4,Math.floor(e/512),4,1,n.RGBA,n.FLOAT,Ko))}drawColorOpaque(e,t){this._numCulledLayerPortions!==this._numPortions&&0!==this._numVisibleLayerPortions&&this._numTransparentLayerPortions!==this._numPortions&&this._numXRayedLayerPortions!==this._numPortions&&(this._updateBackfaceCull(e,t),t.withSAO&&this.model.saoEnabled?this._dataTextureRenderers.colorRendererWithSAO&&this._dataTextureRenderers.colorRendererWithSAO.drawLayer(t,this,Ei.COLOR_OPAQUE):this._dataTextureRenderers.colorRenderer&&this._dataTextureRenderers.colorRenderer.drawLayer(t,this,Ei.COLOR_OPAQUE))}_updateBackfaceCull(e,t){const s=this.model.backfaces||e.sectioned;if(t.backfaces!==s){const e=t.gl;s?e.disable(e.CULL_FACE):e.enable(e.CULL_FACE),t.backfaces=s}}drawColorTransparent(e,t){this._numCulledLayerPortions!==this._numPortions&&0!==this._numVisibleLayerPortions&&0!==this._numTransparentLayerPortions&&this._numXRayedLayerPortions!==this._numPortions&&(this._updateBackfaceCull(e,t),this._dataTextureRenderers.colorRenderer&&this._dataTextureRenderers.colorRenderer.drawLayer(t,this,Ei.COLOR_TRANSPARENT))}drawDepth(e,t){this._numCulledLayerPortions!==this._numPortions&&0!==this._numVisibleLayerPortions&&this._numTransparentLayerPortions!==this._numPortions&&this._numXRayedLayerPortions!==this._numPortions&&(this._updateBackfaceCull(e,t),this._dataTextureRenderers.depthRenderer&&this._dataTextureRenderers.depthRenderer.drawLayer(t,this,Ei.COLOR_OPAQUE))}drawNormals(e,t){this._numCulledLayerPortions!==this._numPortions&&0!==this._numVisibleLayerPortions&&this._numTransparentLayerPortions!==this._numPortions&&this._numXRayedLayerPortions!==this._numPortions&&(this._updateBackfaceCull(e,t),this._dataTextureRenderers.normalsRenderer&&this._dataTextureRenderers.normalsRenderer.drawLayer(t,this,Ei.COLOR_OPAQUE))}drawSilhouetteXRayed(e,t){this._numCulledLayerPortions!==this._numPortions&&0!==this._numVisibleLayerPortions&&0!==this._numXRayedLayerPortions&&(this._updateBackfaceCull(e,t),this._dataTextureRenderers.silhouetteRenderer&&this._dataTextureRenderers.silhouetteRenderer.drawLayer(t,this,Ei.SILHOUETTE_XRAYED))}drawSilhouetteHighlighted(e,t){this._numCulledLayerPortions!==this._numPortions&&0!==this._numVisibleLayerPortions&&0!==this._numHighlightedLayerPortions&&(this._updateBackfaceCull(e,t),this._dataTextureRenderers.silhouetteRenderer&&this._dataTextureRenderers.silhouetteRenderer.drawLayer(t,this,Ei.SILHOUETTE_HIGHLIGHTED))}drawSilhouetteSelected(e,t){this._numCulledLayerPortions!==this._numPortions&&0!==this._numVisibleLayerPortions&&0!==this._numSelectedLayerPortions&&(this._updateBackfaceCull(e,t),this._dataTextureRenderers.silhouetteRenderer&&this._dataTextureRenderers.silhouetteRenderer.drawLayer(t,this,Ei.SILHOUETTE_SELECTED))}drawEdgesColorOpaque(e,t){this.model.scene.logarithmicDepthBufferEnabled?this.model.scene._loggedWarning||(console.log("Edge enhancement for SceneModel data texture layers currently disabled with logarithmic depth buffer"),this.model.scene._loggedWarning=!0):this._numCulledLayerPortions!==this._numPortions&&0!==this._numVisibleLayerPortions&&0!==this._numEdgesLayerPortions&&this._dataTextureRenderers.edgesColorRenderer&&this._dataTextureRenderers.edgesColorRenderer.drawLayer(t,this,Ei.EDGES_COLOR_OPAQUE)}drawEdgesColorTransparent(e,t){this._numCulledLayerPortions!==this._numPortions&&0!==this._numVisibleLayerPortions&&0!==this._numEdgesLayerPortions&&0!==this._numTransparentLayerPortions&&this._dataTextureRenderers.edgesColorRenderer&&this._dataTextureRenderers.edgesColorRenderer.drawLayer(t,this,Ei.EDGES_COLOR_TRANSPARENT)}drawEdgesHighlighted(e,t){this._numCulledLayerPortions!==this._numPortions&&0!==this._numVisibleLayerPortions&&0!==this._numHighlightedLayerPortions&&this._dataTextureRenderers.edgesRenderer&&this._dataTextureRenderers.edgesRenderer.drawLayer(t,this,Ei.EDGES_HIGHLIGHTED)}drawEdgesSelected(e,t){this._numCulledLayerPortions!==this._numPortions&&0!==this._numVisibleLayerPortions&&0!==this._numSelectedLayerPortions&&this._dataTextureRenderers.edgesRenderer&&this._dataTextureRenderers.edgesRenderer.drawLayer(t,this,Ei.EDGES_SELECTED)}drawEdgesXRayed(e,t){this._numCulledLayerPortions!==this._numPortions&&0!==this._numVisibleLayerPortions&&0!==this._numXRayedLayerPortions&&this._dataTextureRenderers.edgesRenderer&&this._dataTextureRenderers.edgesRenderer.drawLayer(t,this,Ei.EDGES_XRAYED)}drawOcclusion(e,t){this._numCulledLayerPortions!==this._numPortions&&0!==this._numVisibleLayerPortions&&(this._updateBackfaceCull(e,t),this._dataTextureRenderers.occlusionRenderer&&this._dataTextureRenderers.occlusionRenderer.drawLayer(t,this,Ei.COLOR_OPAQUE))}drawShadow(e,t){this._numCulledLayerPortions!==this._numPortions&&0!==this._numVisibleLayerPortions&&(this._updateBackfaceCull(e,t),this._dataTextureRenderers.shadowRenderer&&this._dataTextureRenderers.shadowRenderer.drawLayer(t,this,Ei.COLOR_OPAQUE))}setPickMatrices(e,t){}drawPickMesh(e,t){0!==this._numVisibleLayerPortions&&(this._updateBackfaceCull(e,t),this._dataTextureRenderers.pickMeshRenderer&&this._dataTextureRenderers.pickMeshRenderer.drawLayer(t,this,Ei.PICK))}drawPickDepths(e,t){0!==this._numVisibleLayerPortions&&(this._updateBackfaceCull(e,t),this._dataTextureRenderers.pickDepthRenderer&&this._dataTextureRenderers.pickDepthRenderer.drawLayer(t,this,Ei.PICK))}drawSnapInitDepthBuf(e,t){this._numCulledLayerPortions!==this._numPortions&&0!==this._numVisibleLayerPortions&&(this._updateBackfaceCull(e,t),this._dataTextureRenderers.snapDepthBufInitRenderer&&this._dataTextureRenderers.snapDepthBufInitRenderer.drawLayer(t,this,Ei.PICK))}drawSnapDepths(e,t){this._numCulledLayerPortions!==this._numPortions&&0!==this._numVisibleLayerPortions&&(this._updateBackfaceCull(e,t),this._dataTextureRenderers.vertexDepthRenderer&&this._dataTextureRenderers.vertexDepthRenderer.drawLayer(t,this,Ei.PICK))}drawPickNormals(e,t){this._numCulledLayerPortions!==this._numPortions&&0!==this._numVisibleLayerPortions&&(this._updateBackfaceCull(e,t),this._dataTextureRenderers.pickNormalsRenderer&&this._dataTextureRenderers.pickNormalsRenderer.drawLayer(t,this,Ei.PICK))}destroy(){if(this._destroyed)return;const e=this._state;e.metallicRoughnessBuf&&(e.metallicRoughnessBuf.destroy(),e.metallicRoughnessBuf=null),this.model.scene.off(this._onSceneRendering),e.destroy(),this._destroyed=!0}}const $o=h.vec4(4),ec=h.vec4(),tc=h.vec4(),sc=h.vec3([1,0,0]),nc=h.vec3([0,1,0]),ic=h.vec3([0,0,1]);h.vec3(3),h.vec3(3);const ac=h.identityMat4();class rc{constructor(e){this._model=e.model,this.id=e.id,this._parentTransform=e.parent,this._childTransforms=[],this._meshes=[],this._scale=new Float32Array([1,1,1]),this._quaternion=h.identityQuaternion(new Float32Array(4)),this._rotation=new Float32Array(3),this._position=new Float32Array(3),this._localMatrix=h.identityMat4(new Float32Array(16)),this._worldMatrix=h.identityMat4(new Float32Array(16)),this._localMatrixDirty=!0,this._worldMatrixDirty=!0,e.matrix?this.matrix=e.matrix:(this.scale=e.scale,this.position=e.position,e.quaternion||(this.rotation=e.rotation)),e.parent&&e.parent._addChildTransform(this)}_addChildTransform(e){this._childTransforms.push(e),e._parentTransform=this,e._setWorldMatrixDirty(),e._setAABBDirty()}_addMesh(e){this._meshes.push(e),e.transform=this}get parentTransform(){return this._parentTransform}get meshes(){return this._meshes}set position(e){this._position.set(e||[0,0,0]),this._setLocalMatrixDirty(),this._model.glRedraw()}get position(){return this._position}set rotation(e){this._rotation.set(e||[0,0,0]),h.eulerToQuaternion(this._rotation,"XYZ",this._quaternion),this._setLocalMatrixDirty(),this._model.glRedraw()}get rotation(){return this._rotation}set quaternion(e){this._quaternion.set(e||[0,0,0,1]),h.quaternionToEuler(this._quaternion,"XYZ",this._rotation),this._setLocalMatrixDirty(),this._model.glRedraw()}get quaternion(){return this._quaternion}set scale(e){this._scale.set(e||[1,1,1]),this._setLocalMatrixDirty(),this._model.glRedraw()}get scale(){return this._scale}set matrix(e){this._localMatrix||(this._localMatrix=h.identityMat4()),this._localMatrix.set(e||ac),h.decomposeMat4(this._localMatrix,this._position,this._quaternion,this._scale),this._localMatrixDirty=!1,this._transformDirty(),this._model.glRedraw()}get matrix(){return this._localMatrixDirty&&(this._localMatrix||(this._localMatrix=h.identityMat4()),h.composeMat4(this._position,this._quaternion,this._scale,this._localMatrix),this._localMatrixDirty=!1),this._localMatrix}get worldMatrix(){return this._worldMatrixDirty&&this._buildWorldMatrix(),this._worldMatrix}rotate(e,t){return $o[0]=e[0],$o[1]=e[1],$o[2]=e[2],$o[3]=t*h.DEGTORAD,h.angleAxisToQuaternion($o,ec),h.mulQuaternions(this.quaternion,ec,tc),this.quaternion=tc,this._setLocalMatrixDirty(),this._model.glRedraw(),this}rotateOnWorldAxis(e,t){return $o[0]=e[0],$o[1]=e[1],$o[2]=e[2],$o[3]=t*h.DEGTORAD,h.angleAxisToQuaternion($o,ec),h.mulQuaternions(ec,this.quaternion,ec),this}rotateX(e){return this.rotate(sc,e)}rotateY(e){return this.rotate(nc,e)}rotateZ(e){return this.rotate(ic,e)}translate(e){return this._position[0]+=e[0],this._position[1]+=e[1],this._position[2]+=e[2],this._setLocalMatrixDirty(),this._model.glRedraw(),this}translateX(e){return this._position[0]+=e,this._setLocalMatrixDirty(),this._model.glRedraw(),this}translateY(e){return this._position[1]+=e,this._setLocalMatrixDirty(),this._model.glRedraw(),this}translateZ(e){return this._position[2]+=e,this._setLocalMatrixDirty(),this._model.glRedraw(),this}_setLocalMatrixDirty(){this._localMatrixDirty=!0,this._transformDirty()}_transformDirty(){this._worldMatrixDirty=!0;for(let e=0,t=this._childTransforms.length;e0){const e=t._meshes;for(let t=0,s=e.length;t0){const e=this._meshes;for(let t=0,s=e.length;t{this._viewMatrixDirty=!0})),this._meshesWithDirtyMatrices=[],this._numMeshesWithDirtyMatrices=0,this._onTick=this.scene.on("tick",(()=>{for(;this._numMeshesWithDirtyMatrices>0;)this._meshesWithDirtyMatrices[--this._numMeshesWithDirtyMatrices]._updateMatrix()})),this._createDefaultTextureSet(),this.visible=t.visible,this.culled=t.culled,this.pickable=t.pickable,this.clippable=t.clippable,this.collidable=t.collidable,this.castsShadow=t.castsShadow,this.receivesShadow=t.receivesShadow,this.xrayed=t.xrayed,this.highlighted=t.highlighted,this.selected=t.selected,this.edges=t.edges,this.colorize=t.colorize,this.opacity=t.opacity,this.backfaces=t.backfaces}_meshMatrixDirty(e){this._meshesWithDirtyMatrices[this._numMeshesWithDirtyMatrices++]=e}_createDefaultTextureSet(){const e=new cl({id:"defaultColorTexture",texture:new fn({gl:this.scene.canvas.gl,preloadColor:[1,1,1,1]})}),t=new cl({id:"defaultMetalRoughTexture",texture:new fn({gl:this.scene.canvas.gl,preloadColor:[0,1,1,1]})}),s=new cl({id:"defaultNormalsTexture",texture:new fn({gl:this.scene.canvas.gl,preloadColor:[0,0,0,0]})}),n=new cl({id:"defaultEmissiveTexture",texture:new fn({gl:this.scene.canvas.gl,preloadColor:[0,0,0,1]})}),i=new cl({id:"defaultOcclusionTexture",texture:new fn({gl:this.scene.canvas.gl,preloadColor:[1,1,1,1]})});this._textures.defaultColorTexture=e,this._textures.defaultMetalRoughTexture=t,this._textures.defaultNormalsTexture=s,this._textures.defaultEmissiveTexture=n,this._textures.defaultOcclusionTexture=i,this._textureSets.defaultTextureSet=new ol({id:"defaultTextureSet",model:this,colorTexture:e,metallicRoughnessTexture:t,normalsTexture:s,emissiveTexture:n,occlusionTexture:i})}get isPerformanceModel(){return!0}get transforms(){return this._transforms}get textures(){return this._textures}get textureSets(){return this._textureSets}get meshes(){return this._meshes}get objects(){return this._entities}get origin(){return this._origin}set position(e){this._position.set(e||[0,0,0]),this._setWorldMatrixDirty(),this._sceneModelDirty(),this.glRedraw()}get position(){return this._position}set rotation(e){this._rotation.set(e||[0,0,0]),h.eulerToQuaternion(this._rotation,"XYZ",this._quaternion),this._setWorldMatrixDirty(),this._sceneModelDirty(),this.glRedraw()}get rotation(){return this._rotation}set quaternion(e){this._quaternion.set(e||[0,0,0,1]),h.quaternionToEuler(this._quaternion,"XYZ",this._rotation),this._setWorldMatrixDirty(),this._sceneModelDirty(),this.glRedraw()}get quaternion(){return this._quaternion}set scale(e){}get scale(){return this._scale}set matrix(e){this._matrix.set(e||Ac),h.quaternionToRotationMat4(this._quaternion,this._worldRotationMatrix),h.conjugateQuaternion(this._quaternion,this._conjugateQuaternion),h.quaternionToRotationMat4(this._quaternion,this._worldRotationMatrixConjugate),this._matrix.set(this._worldRotationMatrix),h.translateMat4v(this._position,this._matrix),this._matrixDirty=!1,this._setWorldMatrixDirty(),this._sceneModelDirty(),this.glRedraw()}get matrix(){return this._matrixDirty&&this._rebuildMatrices(),this._matrix}get rotationMatrix(){return this._matrixDirty&&this._rebuildMatrices(),this._worldRotationMatrix}_rebuildMatrices(){this._matrixDirty&&(h.quaternionToRotationMat4(this._quaternion,this._worldRotationMatrix),h.conjugateQuaternion(this._quaternion,this._conjugateQuaternion),h.quaternionToRotationMat4(this._quaternion,this._worldRotationMatrixConjugate),this._matrix.set(this._worldRotationMatrix),h.translateMat4v(this._position,this._matrix),this._matrixDirty=!1)}get rotationMatrixConjugate(){return this._matrixDirty&&this._rebuildMatrices(),this._worldRotationMatrixConjugate}_setWorldMatrixDirty(){this._matrixDirty=!0,this._aabbDirty=!0}_transformDirty(){this._matrixDirty=!0,this._aabbDirty=!0,this.scene._aabbDirty=!0}_sceneModelDirty(){this.scene._aabbDirty=!0,this._aabbDirty=!0,this.scene._aabbDirty=!0,this._matrixDirty=!0;for(let e=0,t=this._entityList.length;e0}set visible(e){e=!1!==e,this._visible=e;for(let t=0,s=this._entityList.length;t0}set xrayed(e){e=!!e,this._xrayed=e;for(let t=0,s=this._entityList.length;t0}set highlighted(e){e=!!e,this._highlighted=e;for(let t=0,s=this._entityList.length;t0}set selected(e){e=!!e,this._selected=e;for(let t=0,s=this._entityList.length;t0}set edges(e){e=!!e,this._edges=e;for(let t=0,s=this._entityList.length;t0}set pickable(e){e=!1!==e,this._pickable=e;for(let t=0,s=this._entityList.length;t0)e.colorsCompressed=new Uint8Array(e.colorsCompressed);else if(e.colors&&e.colors.length>0){const t=e.colors,s=new Uint8Array(t.length);for(let e=0,n=t.length;e{o.setImage(c,{minFilter:s,magFilter:n,wrapS:i,wrapT:a,wrapR:r,flipY:e.flipY,encoding:l}),this.glRedraw()},c.src=e.src;break;default:this._textureTranscoder?m.loadArraybuffer(e.src,(e=>{e.byteLength?this._textureTranscoder.transcode([e],o).then((()=>{this.glRedraw()})):this.error("[createTexture] Can't create texture from 'src': file data is zero length")}),(function(e){this.error(`[createTexture] Can't create texture from 'src': ${e}`)})):this.error(`[createTexture] Can't create texture from 'src' - SceneModel needs to be configured with a TextureTranscoder for this file type ('${t}')`)}}else e.buffers&&(this._textureTranscoder?this._textureTranscoder.transcode(e.buffers,o).then((()=>{this.glRedraw()})):this.error("[createTexture] Can't create texture from 'buffers' - SceneModel needs to be configured with a TextureTranscoder for this option"));this._textures[t]=new cl({id:t,texture:o})}createTextureSet(e){const t=e.id;if(null==t)return void this.error("[createTextureSet] Config missing: id");if(this._textureSets[t])return void this.error(`[createTextureSet] Texture set already created: ${t}`);let s,n,i,a,r;if(void 0!==e.colorTextureId&&null!==e.colorTextureId){if(s=this._textures[e.colorTextureId],!s)return void this.error(`[createTextureSet] Texture not found: ${e.colorTextureId} - ensure that you create it first with createTexture()`)}else s=this._textures.defaultColorTexture;if(void 0!==e.metallicRoughnessTextureId&&null!==e.metallicRoughnessTextureId){if(n=this._textures[e.metallicRoughnessTextureId],!n)return void this.error(`[createTextureSet] Texture not found: ${e.metallicRoughnessTextureId} - ensure that you create it first with createTexture()`)}else n=this._textures.defaultMetalRoughTexture;if(void 0!==e.normalsTextureId&&null!==e.normalsTextureId){if(i=this._textures[e.normalsTextureId],!i)return void this.error(`[createTextureSet] Texture not found: ${e.normalsTextureId} - ensure that you create it first with createTexture()`)}else i=this._textures.defaultNormalsTexture;if(void 0!==e.emissiveTextureId&&null!==e.emissiveTextureId){if(a=this._textures[e.emissiveTextureId],!a)return void this.error(`[createTextureSet] Texture not found: ${e.emissiveTextureId} - ensure that you create it first with createTexture()`)}else a=this._textures.defaultEmissiveTexture;if(void 0!==e.occlusionTextureId&&null!==e.occlusionTextureId){if(r=this._textures[e.occlusionTextureId],!r)return void this.error(`[createTextureSet] Texture not found: ${e.occlusionTextureId} - ensure that you create it first with createTexture()`)}else r=this._textures.defaultOcclusionTexture;const l=new ol({id:t,model:this,colorTexture:s,metallicRoughnessTexture:n,normalsTexture:i,emissiveTexture:a,occlusionTexture:r});return this._textureSets[t]=l,l}createTransform(e){if(void 0===e.id||null===e.id)return void this.error("[createTransform] SceneModel.createTransform() config missing: id");if(this._transforms[e.id])return void this.error(`[createTransform] SceneModel already has a transform with this ID: ${e.id}`);let t;if(this.parentTransformId&&(t=this._transforms[e.parentTransformId],!t))return void this.error("[createTransform] SceneModel.createTransform() config missing: id");const s=new rc({id:e.id,model:this,parentTransform:t,matrix:e.matrix,position:e.position,scale:e.scale,rotation:e.rotation,quaternion:e.quaternion});return this._transforms[s.id]=s,s}createMesh(e){if(void 0===e.id||null===e.id)return void this.error("[createMesh] SceneModel.createMesh() config missing: id");if(this._scheduledMeshes[e.id])return void this.error(`[createMesh] SceneModel already has a mesh with this ID: ${e.id}`);if(!(void 0!==e.geometryId)){if(void 0!==e.primitive&&null!==e.primitive||(e.primitive="triangles"),"points"!==e.primitive&&"lines"!==e.primitive&&"triangles"!==e.primitive&&"solid"!==e.primitive&&"surface"!==e.primitive)return void this.error(`Unsupported value for 'primitive': '${primitive}' ('geometryId' is absent) - supported values are 'points', 'lines', 'triangles', 'solid' and 'surface'.`);if(!e.positions&&!e.positionsCompressed&&!e.buckets)return this.error("Param expected: 'positions', 'positionsCompressed' or `buckets` ('geometryId' is absent)"),null;if(e.positions&&(e.positionsDecodeMatrix||e.positionsDecodeBoundary))return this.error("Illegal params: 'positions' not expected with 'positionsDecodeMatrix'/'positionsDecodeBoundary' ('geometryId' is absent)"),null;if(e.positionsCompressed&&!e.positionsDecodeMatrix&&!e.positionsDecodeBoundary)return this.error("Param expected: 'positionsCompressed' should be accompanied by 'positionsDecodeMatrix'/'positionsDecodeBoundary' ('geometryId' is absent)"),null;if(e.uvCompressed&&!e.uvDecodeMatrix)return this.error("Param expected: 'uvCompressed' should be accompanied by `uvDecodeMatrix` ('geometryId' is absent)"),null;if(!e.buckets&&!e.indices&&"points"!==e.primitive)return this.error(`Param expected: indices (required for '${e.primitive}' primitive type)`),null;if((e.matrix||e.position||e.rotation||e.scale)&&(e.positionsCompressed||e.positionsDecodeBoundary))return this.error("Unexpected params: 'matrix', 'rotation', 'scale', 'position' not allowed with 'positionsCompressed'"),null;const t=!!this._dtxEnabled&&("triangles"===e.primitive||"solid"===e.primitive||"surface"===e.primitive);if(e.origin=e.origin?h.addVec3(this._origin,e.origin,h.vec3()):this._origin,e.matrix)e.meshMatrix=e.matrix;else if(e.scale||e.rotation||e.position){const t=e.scale||cc,s=e.position||uc,n=e.rotation||hc;h.eulerToQuaternion(n,"XYZ",pc),e.meshMatrix=h.composeMat4(s,pc,t,h.mat4())}if(e.positionsDecodeBoundary&&(e.positionsDecodeMatrix=aa(e.positionsDecodeBoundary,h.mat4())),t){if(e.type=2,e.color=e.color?new Uint8Array([Math.floor(255*e.color[0]),Math.floor(255*e.color[1]),Math.floor(255*e.color[2])]):dc,e.opacity=void 0!==e.opacity&&null!==e.opacity?Math.floor(255*e.opacity):255,e.positions){const t=h.vec3(),s=[];V(e.positions,s,t)&&(e.positions=s,e.origin=h.addVec3(e.origin,t,t))}if(e.positions){const t=h.collapseAABB3();e.positionsDecodeMatrix=h.mat4(),h.expandAABB3Points3(t,e.positions),e.positionsCompressed=ia(e.positions,t,e.positionsDecodeMatrix),e.aabb=t}else if(e.positionsCompressed){const t=h.collapseAABB3();h.expandAABB3Points3(t,e.positionsCompressed),Bt.decompressAABB(t,e.positionsDecodeMatrix),e.aabb=t}if(e.buckets){const t=h.collapseAABB3();for(let s=0,n=e.buckets.length;s>24&255,i=s>>16&255,a=s>>8&255,r=255&s;switch(e.pickColor=new Uint8Array([r,a,i,n]),e.solid="solid"===e.primitive,t.origin=h.vec3(e.origin),e.type){case 2:t.layer=this._getDTXLayer(e),t.aabb=e.aabb;break;case 1:t.layer=this._getVBOBatchingLayer(e),t.aabb=e.aabb;break;case 0:t.layer=this._getVBOInstancingLayer(e),t.aabb=e.aabb}return e.transform&&(e.meshMatrix=e.transform.worldMatrix),t.portionId=t.layer.createPortion(e),this._meshes[e.id]=t,this._meshList.push(t),t}_getNumPrimitives(e){let t=0;switch(e.geometry?e.geometry.primitive:e.primitive){case"triangles":case"solid":case"surface":switch(e.type){case 2:for(let s=0,n=e.buckets.length;s>>0).toString(16)}_getVBOInstancingLayer(e){const t=this,s=e.origin,n=e.textureSetId||"-",i=e.geometryId,a=`${Math.round(s[0])}.${Math.round(s[1])}.${Math.round(s[2])}.${n}.${i}`;let r=this._vboInstancingLayers[a];if(r)return r;let l=e.textureSet;const o=e.geometry;for(;!r;)switch(o.primitive){case"triangles":case"surface":r=new Tr({model:t,textureSet:l,geometry:o,origin:s,layerIndex:0,solid:!1});break;case"solid":r=new Tr({model:t,textureSet:l,geometry:o,origin:s,layerIndex:0,solid:!0});break;case"lines":r=new Hr({model:t,textureSet:l,geometry:o,origin:s,layerIndex:0});break;case"points":r=new ll({model:t,textureSet:l,geometry:o,origin:s,layerIndex:0})}return this._vboInstancingLayers[a]=r,this.layerList.push(r),r}createEntity(e){if(void 0===e.id?e.id=h.createUUID():this.scene.components[e.id]&&(this.error(`Scene already has a Component with this ID: ${e.id} - will assign random ID`),e.id=h.createUUID()),void 0===e.meshIds)return void this.error("Config missing: meshIds");let t=0;this._visible&&!1!==e.visible&&(t|=Q),this._pickable&&!1!==e.pickable&&(t|=z),this._culled&&!1!==e.culled&&(t|=W),this._clippable&&!1!==e.clippable&&(t|=K),this._collidable&&!1!==e.collidable&&(t|=Y),this._edges&&!1!==e.edges&&(t|=Z),this._xrayed&&!1!==e.xrayed&&(t|=X),this._highlighted&&!1!==e.highlighted&&(t|=q),this._selected&&!1!==e.selected&&(t|=J),e.flags=t,this._createEntity(e)}_createEntity(e){let t=[];for(let s=0,n=e.meshIds.length;se.sortIdt.sortId?1:0));for(let e=0,t=this.layerList.length;e0&&0===this.renderFlags.numVisibleLayers?this.renderFlags.culled=!0:this._updateRenderFlags()}_updateRenderFlagsVisibleLayers(){const e=this.renderFlags;e.numLayers=this.layerList.length,e.numVisibleLayers=0;for(let t=0,s=this.layerList.length;t0)for(let e=0;e0&&(e.colorTransparent=!0),this.numXRayedLayerPortions>0){const t=this.scene.xrayMaterial._state;t.fill&&(t.fillAlpha<1?e.xrayedSilhouetteTransparent=!0:e.xrayedSilhouetteOpaque=!0),t.edges&&(t.edgeAlpha<1?e.xrayedEdgesTransparent=!0:e.xrayedEdgesOpaque=!0)}if(this.numEdgesLayerPortions>0){this.scene.edgeMaterial._state.edges&&(e.edgesOpaque=this.numTransparentLayerPortions0&&(e.edgesTransparent=!0))}if(this.numSelectedLayerPortions>0){const t=this.scene.selectedMaterial._state;t.fill&&(t.fillAlpha<1?e.selectedSilhouetteTransparent=!0:e.selectedSilhouetteOpaque=!0),t.edges&&(t.edgeAlpha<1?e.selectedEdgesTransparent=!0:e.selectedEdgesOpaque=!0)}if(this.numHighlightedLayerPortions>0){const t=this.scene.highlightMaterial._state;t.fill&&(t.fillAlpha<1?e.highlightedSilhouetteTransparent=!0:e.highlightedSilhouetteOpaque=!0),t.edges&&(t.edgeAlpha<1?e.highlightedEdgesTransparent=!0:e.highlightedEdgesOpaque=!0)}}drawColorOpaque(e){const t=this.renderFlags;for(let s=0,n=t.visibleLayers.length;s65536?16:8)}else r=[{positionsCompressed:n,indices:i,edgeIndices:a}];return r}class yc extends _{constructor(e,t={}){super(e,t),this._skyboxMesh=new Vs(this,{geometry:new Nt(this,{primitive:"triangles",positions:[1,1,1,-1,1,1,-1,-1,1,1,-1,1,1,1,1,1,-1,1,1,-1,-1,1,1,-1,1,1,1,1,1,-1,-1,1,-1,-1,1,1,-1,1,1,-1,1,-1,-1,-1,-1,-1,-1,1,-1,-1,-1,1,-1,-1,1,-1,1,-1,-1,1,1,-1,-1,-1,-1,-1,-1,1,-1,1,1,-1],uv:[.5,.6666,.25,.6666,.25,.3333,.5,.3333,.5,.6666,.5,.3333,.75,.3333,.75,.6666,.5,.6666,.5,1,.25,1,.25,.6666,.25,.6666,0,.6666,0,.3333,.25,.3333,.25,0,.5,0,.5,.3333,.25,.3333,.75,.3333,1,.3333,1,.6666,.75,.6666],indices:[0,1,2,0,2,3,4,5,6,4,6,7,8,9,10,8,10,11,12,13,14,12,14,15,16,17,18,16,18,19,20,21,22,20,22,23]}),background:!0,scale:[2e3,2e3,2e3],rotation:[0,-90,0],material:new Ht(this,{ambient:[0,0,0],diffuse:[0,0,0],specular:[0,0,0],emissive:[1,1,1],emissiveMap:new gn(this,{src:t.src,flipY:!0,wrapS:"clampToEdge",wrapT:"clampToEdge",encoding:t.encoding||"sRGB"}),backfaces:!0}),visible:!1,pickable:!1,clippable:!1,collidable:!1}),this.size=t.size,this.active=t.active}set size(e){this._size=e||1e3,this._skyboxMesh.scale=[this._size,this._size,this._size]}get size(){return this._size}set active(e){this._skyboxMesh.visible=e}get active(){return this._skyboxMesh.visible}}const mc=h.vec4(),vc=h.vec4(),wc=h.vec3(),gc=h.vec3(),Ec=h.vec3(),Tc=h.vec4(),bc=h.vec4(),Dc=h.vec4();class Pc{constructor(e){this._scene=e}dollyToCanvasPos(e,t,s){let n=!1;const i=this._scene.camera;if(e){const t=h.subVec3(e,i.eye,wc);n=h.lenVec3(t){this._cameraDirty=!0})),this._onProjMatrix=this._scene.camera.on("projMatrix",(()=>{this._cameraDirty=!0})),this._onTick=this._scene.on("tick",(()=>{this.updatePivotElement(),this.updatePivotSphere()}))}createPivotSphere(){const e=this.getPivotPos(),t=h.vec3();h.decomposeMat4(h.inverseMat4(this._scene.viewer.camera.viewMatrix,h.mat4()),t,h.vec4(),h.vec3());const s=h.distVec3(t,e);let n=Math.tan(Math.PI/500)*s*this._pivotSphereSize;"ortho"==this._scene.camera.projection&&(n/=this._scene.camera.ortho.scale/2),j(e,this._rtcCenter,this._rtcPos),this._pivotSphereGeometry=new bn(this._scene,Ws({radius:n})),this._pivotSphere=new Vs(this._scene,{geometry:this._pivotSphereGeometry,material:this._pivotSphereMaterial,pickable:!1,position:this._rtcPos,rtcCenter:this._rtcCenter})}destroyPivotSphere(){this._pivotSphere&&(this._pivotSphere.destroy(),this._pivotSphere=null),this._pivotSphereGeometry&&(this._pivotSphereGeometry.destroy(),this._pivotSphereGeometry=null)}updatePivotElement(){const e=this._scene.camera,t=this._scene.canvas;if(this._pivoting&&this._cameraDirty){h.transformPoint3(e.viewMatrix,this.getPivotPos(),this._pivotViewPos),this._pivotViewPos[3]=1,h.transformPoint4(e.projMatrix,this._pivotViewPos,this._pivotProjPos);const s=t.boundary,n=s[2],i=s[3];this._pivotCanvasPos[0]=Math.floor((1+this._pivotProjPos[0]/this._pivotProjPos[3])*n/2),this._pivotCanvasPos[1]=Math.floor((1-this._pivotProjPos[1]/this._pivotProjPos[3])*i/2);let a=t._lastBoundingClientRect;if(!a||t._canvasSizeChanged){const e=t.canvas;a=t._lastBoundingClientRect=e.getBoundingClientRect()}this._pivotElement&&(this._pivotElement.style.left=Math.floor(a.left+this._pivotCanvasPos[0])-this._pivotElement.clientWidth/2+window.scrollX+"px",this._pivotElement.style.top=Math.floor(a.top+this._pivotCanvasPos[1])-this._pivotElement.clientHeight/2+window.scrollY+"px"),this._cameraDirty=!1}}updatePivotSphere(){this._pivoting&&this._pivotSphere&&(j(this.getPivotPos(),this._rtcCenter,this._rtcPos),h.compareVec3(this._rtcPos,this._pivotSphere.position)||(this.destroyPivotSphere(),this.createPivotSphere()))}setPivotElement(e){this._pivotElement=e}enablePivotSphere(e={}){this.destroyPivotSphere(),this._pivotSphereEnabled=!0,e.size&&(this._pivotSphereSize=e.size);const t=e.color||[1,0,0];this._pivotSphereMaterial=new Ht(this._scene,{emissive:t,ambient:t,specular:[0,0,0],diffuse:[0,0,0]})}disablePivotSphere(){this.destroyPivotSphere(),this._pivotSphereEnabled=!1}startPivot(){if(this._cameraLookingDownwards())return this._pivoting=!1,!1;const e=this._scene.camera;let t=h.lookAtMat4v(e.eye,e.look,e.worldUp);h.transformPoint3(t,this.getPivotPos(),this._cameraOffset);const s=this.getPivotPos();this._cameraOffset[2]+=h.distVec3(e.eye,s),t=h.inverseMat4(t);const n=h.transformVec3(t,this._cameraOffset),i=h.vec3();if(h.subVec3(e.eye,s,i),h.addVec3(i,n),e.zUp){const e=i[1];i[1]=i[2],i[2]=e}this._radius=h.lenVec3(i),this._polar=Math.acos(i[1]/this._radius),this._azimuth=Math.atan2(i[0],i[2]),this._pivoting=!0}_cameraLookingDownwards(){const e=this._scene.camera,t=h.normalizeVec3(h.subVec3(e.look,e.eye,Rc)),s=h.cross3Vec3(t,e.worldUp,Cc);return h.sqLenVec3(s)<=1e-4}getPivoting(){return this._pivoting}setPivotPos(e){this._pivotWorldPos.set(e),this._pivotPosSet=!0}setCanvasPivotPos(e){const t=this._scene.camera,s=Math.abs(h.distVec3(this._scene.center,t.eye)),n=t.project.transposedMatrix,i=n.subarray(8,12),a=n.subarray(12),r=[0,0,-1,1],l=h.dotVec4(r,i)/h.dotVec4(r,a),o=Bc;t.project.unproject(e,l,Oc,Sc,o);const c=h.normalizeVec3(h.subVec3(o,t.eye,Rc)),u=h.addVec3(t.eye,h.mulVec3Scalar(c,s,Cc),_c);this.setPivotPos(u)}getPivotPos(){return this._pivotPosSet?this._pivotWorldPos:this._scene.camera.look}continuePivot(e,t){if(!this._pivoting)return;if(0===e&&0===t)return;const s=this._scene.camera;var n=-e;const i=-t;1===s.worldUp[2]&&(n=-n),this._azimuth+=.01*-n,this._polar+=.01*i,this._polar=h.clamp(this._polar,.001,Math.PI-.001);const a=[this._radius*Math.sin(this._polar)*Math.sin(this._azimuth),this._radius*Math.cos(this._polar),this._radius*Math.sin(this._polar)*Math.cos(this._azimuth)];if(1===s.worldUp[2]){const e=a[1];a[1]=a[2],a[2]=e}const r=h.lenVec3(h.subVec3(s.look,s.eye,h.vec3())),l=this.getPivotPos();h.addVec3(a,l);let o=h.lookAtMat4v(a,l,s.worldUp);o=h.inverseMat4(o);const c=h.transformVec3(o,this._cameraOffset);o[12]-=c[0],o[13]-=c[1],o[14]-=c[2];const u=[o[8],o[9],o[10]];s.eye=[o[12],o[13],o[14]],h.subVec3(s.eye,h.mulVec3Scalar(u,r),s.look),s.up=[o[4],o[5],o[6]],this.showPivot()}showPivot(){this._shown||(this._pivotElement&&(this.updatePivotElement(),this._pivotElement.style.visibility="visible"),this._pivotSphereEnabled&&(this.destroyPivotSphere(),this.createPivotSphere()),this._shown=!0)}hidePivot(){this._shown&&(this._pivotElement&&(this._pivotElement.style.visibility="hidden"),this._pivotSphereEnabled&&this.destroyPivotSphere(),this._shown=!1)}endPivot(){this._pivoting=!1}destroy(){this.destroyPivotSphere(),this._scene.camera.off(this._onViewMatrix),this._scene.camera.off(this._onProjMatrix),this._scene.off(this._onTick)}}class xc{constructor(e,t){this._scene=e.scene,this._cameraControl=e,this._scene.canvas.canvas.oncontextmenu=function(e){e.preventDefault()},this._configs=t,this.schedulePickEntity=!1,this.schedulePickSurface=!1,this.scheduleSnapOrPick=!1,this.pickCursorPos=h.vec2(),this.picked=!1,this.pickedSurface=!1,this.pickResult=null,this._lastPickedEntityId=null,this._lastHash=null,this._needFireEvents=0}update(){if(!this._configs.pointerEnabled)return;if(!this.schedulePickEntity&&!this.schedulePickSurface)return;const e=`${~~this.pickCursorPos[0]}-${~~this.pickCursorPos[1]}-${this.scheduleSnapOrPick}-${this.schedulePickSurface}-${this.schedulePickEntity}`;if(this._lastHash===e)return;this.picked=!1,this.pickedSurface=!1,this.snappedOrPicked=!1,this.hoveredSnappedOrSurfaceOff=!1;const t=this._cameraControl.hasSubs("hoverSurface");if(this.scheduleSnapOrPick){const e=this._scene.pick({canvasPos:this.pickCursorPos,snapRadius:this._configs.snapRadius,snapToVertex:this._configs.snapToVertex,snapToEdge:this._configs.snapToEdge});e&&(e.snappedToEdge||e.snappedToVertex)?(this.snapPickResult=e,this.snappedOrPicked=!0,this._needFireEvents++):(this.schedulePickSurface=!0,this.snapPickResult=null)}if(this.schedulePickSurface&&this.pickResult&&this.pickResult.worldPos){const e=this.pickResult.canvasPos;if(e[0]===this.pickCursorPos[0]&&e[1]===this.pickCursorPos[1])return this.picked=!0,this.pickedSurface=!0,this._needFireEvents+=t?1:0,this.schedulePickEntity=!1,this.schedulePickSurface=!1,this.scheduleSnapOrPick?this.snappedOrPicked=!0:this.hoveredSnappedOrSurfaceOff=!0,void(this.scheduleSnapOrPick=!1)}if(this.schedulePickEntity&&this.pickResult&&(this.pickResult.canvasPos||this.pickResult.snappedCanvasPos)){const e=this.pickResult.canvasPos||this.pickResult.snappedCanvasPos;if(e[0]===this.pickCursorPos[0]&&e[1]===this.pickCursorPos[1])return this.picked=!0,this.pickedSurface=!1,this.schedulePickEntity=!1,void(this.schedulePickSurface=!1)}this.schedulePickSurface||this.scheduleSnapOrPick&&!this.snapPickResult?(this.pickResult=this._scene.pick({pickSurface:!0,pickSurfaceNormal:!1,canvasPos:this.pickCursorPos}),this.pickResult?(this.picked=!0,this.scheduleSnapOrPick?this.snappedOrPicked=!0:this.pickedSurface=!0,this._needFireEvents++):this.scheduleSnapOrPick&&(this.hoveredSnappedOrSurfaceOff=!0,this._needFireEvents++)):(this.pickResult=this._scene.pick({canvasPos:this.pickCursorPos}),this.pickResult&&(this.picked=!0,this.pickedSurface=!1,this._needFireEvents++)),this.scheduleSnapOrPick=!1,this.schedulePickEntity=!1,this.schedulePickSurface=!1}fireEvents(){if(0!==this._needFireEvents){if(this.hoveredSnappedOrSurfaceOff&&this._cameraControl.fire("hoverSnapOrSurfaceOff",{canvasPos:this.pickCursorPos,pointerPos:this.pickCursorPos},!0),this.snappedOrPicked)if(this.snapPickResult){const e=new Te;e.snappedToVertex=this.snapPickResult.snappedToVertex,e.snappedToEdge=this.snapPickResult.snappedToEdge,e.worldPos=this.snapPickResult.worldPos,e.canvasPos=this.pickCursorPos,e.snappedCanvasPos=this.snapPickResult.snappedCanvasPos,this._cameraControl.fire("hoverSnapOrSurface",e,!0),this.snapPickResult=null}else this._cameraControl.fire("hoverSnapOrSurface",this.pickResult,!0);if(this.picked&&this.pickResult&&(this.pickResult.entity||this.pickResult.worldPos)){if(this.pickResult.entity){const e=this.pickResult.entity.id;this._lastPickedEntityId!==e&&(void 0!==this._lastPickedEntityId&&this._cameraControl.fire("hoverOut",{entity:this._scene.objects[this._lastPickedEntityId]},!0),this._cameraControl.fire("hoverEnter",this.pickResult,!0),this._lastPickedEntityId=e)}this._cameraControl.fire("hover",this.pickResult,!0),this.pickResult.worldPos&&(this.pickedSurface=!0,this._cameraControl.fire("hoverSurface",this.pickResult,!0))}else void 0!==this._lastPickedEntityId&&(this._cameraControl.fire("hoverOut",{entity:this._scene.objects[this._lastPickedEntityId]},!0),this._lastPickedEntityId=void 0),this._cameraControl.fire("hoverOff",{canvasPos:this.pickCursorPos},!0);this.pickResult=null,this._needFireEvents=0}}}const Lc=h.vec2();class Mc{constructor(e,t,s,n,i){this._scene=e;const a=t.pickController;let r,l,o,c=0,u=0,p=0,A=0,d=!1;const f=h.vec3();let I=!0;const y=this._scene.canvas.canvas,m=[];function v(e=!0){y.style.cursor="move",c=n.pointerCanvasPos[0],u=n.pointerCanvasPos[1],p=n.pointerCanvasPos[0],A=n.pointerCanvasPos[1],e&&(a.pickCursorPos=n.pointerCanvasPos,a.schedulePickSurface=!0,a.update(),a.picked&&a.pickedSurface&&a.pickResult&&a.pickResult.worldPos?(d=!0,f.set(a.pickResult.worldPos)):d=!1)}document.addEventListener("keydown",this._documentKeyDownHandler=t=>{if(!s.active||!s.pointerEnabled||!e.input.keyboardEnabled)return;const n=t.keyCode;m[n]=!0}),document.addEventListener("keyup",this._documentKeyUpHandler=t=>{if(!s.active||!s.pointerEnabled||!e.input.keyboardEnabled)return;const n=t.keyCode;m[n]=!1}),y.addEventListener("mousedown",this._mouseDownHandler=t=>{if(s.active&&s.pointerEnabled)switch(t.which){case 1:m[e.input.KEY_SHIFT]||s.planView?(r=!0,v()):(r=!0,v(!1));break;case 2:l=!0,v();break;case 3:o=!0,s.panRightClick&&v()}}),document.addEventListener("mousemove",this._documentMouseMoveHandler=()=>{if(!s.active||!s.pointerEnabled)return;if(!r&&!l&&!o)return;const t=e.canvas.boundary,a=t[2],p=t[3],A=n.pointerCanvasPos[0],I=n.pointerCanvasPos[1];if(m[e.input.KEY_SHIFT]||s.planView||!s.panRightClick&&l||s.panRightClick&&o){const t=A-c,s=I-u,n=e.camera;if("perspective"===n.projection){const a=Math.abs(d?h.lenVec3(h.subVec3(f,e.camera.eye,[])):e.camera.eyeLookDist)*Math.tan(n.perspective.fov/2*Math.PI/180);i.panDeltaX+=1.5*t*a/p,i.panDeltaY+=1.5*s*a/p}else i.panDeltaX+=.5*n.ortho.scale*(t/p),i.panDeltaY+=.5*n.ortho.scale*(s/p)}else!r||l||o||s.planView||(s.firstPerson?(i.rotateDeltaY-=(A-c)/a*s.dragRotationRate/2,i.rotateDeltaX+=(I-u)/p*(s.dragRotationRate/4)):(i.rotateDeltaY-=(A-c)/a*(1.5*s.dragRotationRate),i.rotateDeltaX+=(I-u)/p*(1.5*s.dragRotationRate)));c=A,u=I}),y.addEventListener("mousemove",this._canvasMouseMoveHandler=e=>{s.active&&s.pointerEnabled&&n.mouseover&&(I=!0)}),document.addEventListener("mouseup",this._documentMouseUpHandler=e=>{if(s.active&&s.pointerEnabled)switch(e.which){case 1:case 2:case 3:r=!1,l=!1,o=!1}}),y.addEventListener("mouseup",this._mouseUpHandler=e=>{if(s.active&&s.pointerEnabled){if(3===e.which){!function(e,t){if(e){let s=e.target,n=0,i=0,a=0,r=0;for(;s.offsetParent;)n+=s.offsetLeft,i+=s.offsetTop,a+=s.scrollLeft,r+=s.scrollTop,s=s.offsetParent;t[0]=e.pageX+a-n,t[1]=e.pageY+r-i}else e=window.event,t[0]=e.x,t[1]=e.y}(e,Lc);const s=Lc[0],n=Lc[1];Math.abs(s-p)<3&&Math.abs(n-A)<3&&t.cameraControl.fire("rightClick",{pagePos:[Math.round(e.pageX),Math.round(e.pageY)],canvasPos:Lc,event:e},!0)}y.style.removeProperty("cursor")}}),y.addEventListener("mouseenter",this._mouseEnterHandler=()=>{s.active&&s.pointerEnabled});const w=1/60;let g=null;y.addEventListener("wheel",this._mouseWheelHandler=e=>{if(!s.active||!s.pointerEnabled)return;const t=performance.now()/1e3;var a=null!==g?t-g:0;g=t,a>.05&&(a=.05),a{if(!s.active||!s.pointerEnabled||!e.input.keyboardEnabled)return;if(!n.mouseover)return;const r=i._isKeyDownForAction(i.AXIS_VIEW_RIGHT),l=i._isKeyDownForAction(i.AXIS_VIEW_BACK),o=i._isKeyDownForAction(i.AXIS_VIEW_LEFT),c=i._isKeyDownForAction(i.AXIS_VIEW_FRONT),u=i._isKeyDownForAction(i.AXIS_VIEW_TOP),p=i._isKeyDownForAction(i.AXIS_VIEW_BOTTOM);if(!(r||l||o||c||u||p))return;const A=e.aabb,d=h.getAABB3Diag(A);h.getAABB3Center(A,Fc);const f=Math.abs(d/Math.tan(t.cameraFlight.fitFOV*h.DEGTORAD)),I=1.1*d;Vc.orthoScale=I,r?(Vc.eye.set(h.addVec3(Fc,h.mulVec3Scalar(a.worldRight,f,Hc),jc)),Vc.look.set(Fc),Vc.up.set(a.worldUp)):l?(Vc.eye.set(h.addVec3(Fc,h.mulVec3Scalar(a.worldForward,f,Hc),jc)),Vc.look.set(Fc),Vc.up.set(a.worldUp)):o?(Vc.eye.set(h.addVec3(Fc,h.mulVec3Scalar(a.worldRight,-f,Hc),jc)),Vc.look.set(Fc),Vc.up.set(a.worldUp)):c?(Vc.eye.set(h.addVec3(Fc,h.mulVec3Scalar(a.worldForward,-f,Hc),jc)),Vc.look.set(Fc),Vc.up.set(a.worldUp)):u?(Vc.eye.set(h.addVec3(Fc,h.mulVec3Scalar(a.worldUp,f,Hc),jc)),Vc.look.set(Fc),Vc.up.set(h.normalizeVec3(h.mulVec3Scalar(a.worldForward,1,Uc),Gc))):p&&(Vc.eye.set(h.addVec3(Fc,h.mulVec3Scalar(a.worldUp,-f,Hc),jc)),Vc.look.set(Fc),Vc.up.set(h.normalizeVec3(h.mulVec3Scalar(a.worldForward,-1,Uc)))),!s.firstPerson&&s.followPointer&&t.pivotController.setPivotPos(Fc),t.cameraFlight.duration>0?t.cameraFlight.flyTo(Vc,(()=>{t.pivotController.getPivoting()&&s.followPointer&&t.pivotController.showPivot()})):(t.cameraFlight.jumpTo(Vc),t.pivotController.getPivoting()&&s.followPointer&&t.pivotController.showPivot())}))}reset(){}destroy(){this._scene.input.off(this._onSceneKeyDown)}}class Qc{constructor(e,t,s,n,i){this._scene=e;const a=t.pickController,r=t.pivotController,l=t.cameraControl;this._clicks=0,this._timeout=null,this._lastPickedEntityId=null;let o=!1,c=!1;const u=this._scene.canvas.canvas,p=s=>{let n;s&&s.worldPos&&(n=s.worldPos);const i=s&&s.entity?s.entity.aabb:e.aabb;if(n){const s=e.camera;h.subVec3(s.eye,s.look,[]),t.cameraFlight.flyTo({aabb:i})}else t.cameraFlight.flyTo({aabb:i})},A=e.tickify(this._canvasMouseMoveHandler=t=>{if(!s.active||!s.pointerEnabled)return;if(o||c)return;const i=l.hasSubs("hover"),r=l.hasSubs("hoverEnter"),u=l.hasSubs("hoverOut"),h=l.hasSubs("hoverOff"),p=l.hasSubs("hoverSurface"),A=l.hasSubs("hoverSnapOrSurface");if(i||r||u||h||p||A)if(a.pickCursorPos=n.pointerCanvasPos,a.schedulePickEntity=!0,a.schedulePickSurface=p,a.scheduleSnapOrPick=A,a.update(),a.pickResult){if(a.pickResult.entity){const t=a.pickResult.entity.id;this._lastPickedEntityId!==t&&(void 0!==this._lastPickedEntityId&&l.fire("hoverOut",{entity:e.objects[this._lastPickedEntityId]},!0),l.fire("hoverEnter",a.pickResult,!0),this._lastPickedEntityId=t)}l.fire("hover",a.pickResult,!0),(a.pickResult.worldPos||a.pickResult.snappedWorldPos)&&l.fire("hoverSurface",a.pickResult,!0)}else void 0!==this._lastPickedEntityId&&(l.fire("hoverOut",{entity:e.objects[this._lastPickedEntityId]},!0),this._lastPickedEntityId=void 0),l.fire("hoverOff",{canvasPos:a.pickCursorPos},!0)});u.addEventListener("mousemove",A),u.addEventListener("mousedown",this._canvasMouseDownHandler=t=>{1===t.which&&(o=!0),3===t.which&&(c=!0);if(1===t.which&&s.active&&s.pointerEnabled&&(n.mouseDownClientX=t.clientX,n.mouseDownClientY=t.clientY,n.mouseDownCursorX=n.pointerCanvasPos[0],n.mouseDownCursorY=n.pointerCanvasPos[1],!s.firstPerson&&s.followPointer&&(a.pickCursorPos=n.pointerCanvasPos,a.schedulePickSurface=!0,a.update(),1===t.which))){const t=a.pickResult;t&&t.worldPos?(r.setPivotPos(t.worldPos),r.startPivot()):(s.smartPivot?r.setCanvasPivotPos(n.pointerCanvasPos):r.setPivotPos(e.camera.look),r.startPivot())}}),document.addEventListener("mouseup",this._documentMouseUpHandler=e=>{1===e.which&&(o=!1),3===e.which&&(c=!1),r.getPivoting()&&r.endPivot()}),u.addEventListener("mouseup",this._canvasMouseUpHandler=i=>{if(!s.active||!s.pointerEnabled)return;if(!(1===i.which))return;if(r.hidePivot(),Math.abs(i.clientX-n.mouseDownClientX)>3||Math.abs(i.clientY-n.mouseDownClientY)>3)return;const o=l.hasSubs("picked"),c=l.hasSubs("pickedNothing"),u=l.hasSubs("pickedSurface"),A=l.hasSubs("doublePicked"),d=l.hasSubs("doublePickedSurface"),f=l.hasSubs("doublePickedNothing");if(!(s.doublePickFlyTo||A||d||f))return(o||c||u)&&(a.pickCursorPos=n.pointerCanvasPos,a.schedulePickEntity=!0,a.schedulePickSurface=u,a.update(),a.pickResult?(l.fire("picked",a.pickResult,!0),a.pickedSurface&&l.fire("pickedSurface",a.pickResult,!0)):l.fire("pickedNothing",{canvasPos:n.pointerCanvasPos},!0)),void(this._clicks=0);if(this._clicks++,1===this._clicks){a.pickCursorPos=n.pointerCanvasPos,a.schedulePickEntity=s.doublePickFlyTo,a.schedulePickSurface=u,a.update();const e=a.pickResult,i=a.pickedSurface;this._timeout=setTimeout((()=>{e?(l.fire("picked",e,!0),i&&(l.fire("pickedSurface",e,!0),!s.firstPerson&&s.followPointer&&(t.pivotController.setPivotPos(e.worldPos),t.pivotController.startPivot()&&t.pivotController.showPivot()))):l.fire("pickedNothing",{canvasPos:n.pointerCanvasPos},!0),this._clicks=0}),s.doubleClickTimeFrame)}else{if(null!==this._timeout&&(window.clearTimeout(this._timeout),this._timeout=null),a.pickCursorPos=n.pointerCanvasPos,a.schedulePickEntity=s.doublePickFlyTo||A||d,a.schedulePickSurface=a.schedulePickEntity&&d,a.update(),a.pickResult){if(l.fire("doublePicked",a.pickResult,!0),a.pickedSurface&&l.fire("doublePickedSurface",a.pickResult,!0),s.doublePickFlyTo&&(p(a.pickResult),!s.firstPerson&&s.followPointer)){const e=a.pickResult.entity.aabb,s=h.getAABB3Center(e);t.pivotController.setPivotPos(s),t.pivotController.startPivot()&&t.pivotController.showPivot()}}else if(l.fire("doublePickedNothing",{canvasPos:n.pointerCanvasPos},!0),s.doublePickFlyTo&&(p(),!s.firstPerson&&s.followPointer)){const s=e.aabb,n=h.getAABB3Center(s);t.pivotController.setPivotPos(n),t.pivotController.startPivot()&&t.pivotController.showPivot()}this._clicks=0}},!1)}reset(){this._clicks=0,this._lastPickedEntityId=null,this._timeout&&(window.clearTimeout(this._timeout),this._timeout=null)}destroy(){const e=this._scene.canvas.canvas;e.removeEventListener("mousemove",this._canvasMouseMoveHandler),e.removeEventListener("mousedown",this._canvasMouseDownHandler),document.removeEventListener("mouseup",this._documentMouseUpHandler),e.removeEventListener("mouseup",this._canvasMouseUpHandler),this._timeout&&(window.clearTimeout(this._timeout),this._timeout=null)}}class Wc{constructor(e,t,s,n,i){this._scene=e;const a=e.input,r=[],l=e.canvas.canvas;let o=!0;this._onSceneMouseMove=a.on("mousemove",(()=>{o=!0})),this._onSceneKeyDown=a.on("keydown",(t=>{s.active&&s.pointerEnabled&&e.input.keyboardEnabled&&n.mouseover&&(r[t]=!0,t===a.KEY_SHIFT&&(l.style.cursor="move"))})),this._onSceneKeyUp=a.on("keyup",(n=>{s.active&&s.pointerEnabled&&e.input.keyboardEnabled&&(r[n]=!1,n===a.KEY_SHIFT&&(l.style.cursor=null),t.pivotController.getPivoting()&&t.pivotController.endPivot())})),this._onTick=e.on("tick",(l=>{if(!s.active||!s.pointerEnabled||!e.input.keyboardEnabled)return;if(!n.mouseover)return;const c=t.cameraControl,u=l.deltaTime/1e3;if(!s.planView){const e=c._isKeyDownForAction(c.ROTATE_Y_POS,r),n=c._isKeyDownForAction(c.ROTATE_Y_NEG,r),a=c._isKeyDownForAction(c.ROTATE_X_POS,r),l=c._isKeyDownForAction(c.ROTATE_X_NEG,r),o=u*s.keyboardRotationRate;(e||n||a||l)&&(!s.firstPerson&&s.followPointer&&t.pivotController.startPivot(),e?i.rotateDeltaY+=o:n&&(i.rotateDeltaY-=o),a?i.rotateDeltaX+=o:l&&(i.rotateDeltaX-=o),!s.firstPerson&&s.followPointer&&t.pivotController.startPivot())}if(!r[a.KEY_CTRL]&&!r[a.KEY_ALT]){const e=c._isKeyDownForAction(c.DOLLY_BACKWARDS,r),a=c._isKeyDownForAction(c.DOLLY_FORWARDS,r);if(e||a){const r=u*s.keyboardDollyRate;!s.firstPerson&&s.followPointer&&t.pivotController.startPivot(),a?i.dollyDelta-=r:e&&(i.dollyDelta+=r),o&&(n.followPointerDirty=!0,o=!1)}}const h=c._isKeyDownForAction(c.PAN_FORWARDS,r),p=c._isKeyDownForAction(c.PAN_BACKWARDS,r),A=c._isKeyDownForAction(c.PAN_LEFT,r),d=c._isKeyDownForAction(c.PAN_RIGHT,r),f=c._isKeyDownForAction(c.PAN_UP,r),I=c._isKeyDownForAction(c.PAN_DOWN,r),y=(r[a.KEY_ALT]?.3:1)*u*s.keyboardPanRate;(h||p||A||d||f||I)&&(!s.firstPerson&&s.followPointer&&t.pivotController.startPivot(),I?i.panDeltaY+=y:f&&(i.panDeltaY+=-y),d?i.panDeltaX+=-y:A&&(i.panDeltaX+=y),p?i.panDeltaZ+=y:h&&(i.panDeltaZ+=-y))}))}reset(){}destroy(){this._scene.off(this._onTick),this._scene.input.off(this._onSceneMouseMove),this._scene.input.off(this._onSceneKeyDown),this._scene.input.off(this._onSceneKeyUp)}}const zc=h.vec3();class Kc{constructor(e,t,s,n,i){this._scene=e;const a=e.camera,r=t.pickController,l=t.pivotController,o=t.panController;let c=1,u=1,p=null;this._onTick=e.on("tick",(()=>{if(!s.active||!s.pointerEnabled)return;let t="default";if(Math.abs(i.dollyDelta)<.001&&(i.dollyDelta=0),Math.abs(i.rotateDeltaX)<.001&&(i.rotateDeltaX=0),Math.abs(i.rotateDeltaY)<.001&&(i.rotateDeltaY=0),0===i.rotateDeltaX&&0===i.rotateDeltaY||(i.dollyDelta=0),s.followPointer&&--c<=0&&(c=1,0!==i.dollyDelta)){if(0===i.rotateDeltaY&&0===i.rotateDeltaX&&s.followPointer&&n.followPointerDirty&&(r.pickCursorPos=n.pointerCanvasPos,r.schedulePickSurface=!0,r.update(),r.pickResult&&r.pickResult.worldPos?p=r.pickResult.worldPos:(u=1,p=null),n.followPointerDirty=!1),p){const t=Math.abs(h.lenVec3(h.subVec3(p,e.camera.eye,zc)));u=t/s.dollyProximityThreshold}u{n.mouseover=!0}),a.addEventListener("mouseleave",this._mouseLeaveHandler=()=>{n.mouseover=!1,a.style.cursor=null}),document.addEventListener("mousemove",this._mouseMoveHandler=e=>{Xc(e,a,n.pointerCanvasPos)}),a.addEventListener("mousedown",this._mouseDownHandler=e=>{s.active&&s.pointerEnabled&&(Xc(e,a,n.pointerCanvasPos),n.mouseover=!0)}),a.addEventListener("mouseup",this._mouseUpHandler=e=>{s.active&&s.pointerEnabled})}reset(){}destroy(){const e=this._scene.canvas.canvas;document.removeEventListener("mousemove",this._mouseMoveHandler),e.removeEventListener("mouseenter",this._mouseEnterHandler),e.removeEventListener("mouseleave",this._mouseLeaveHandler),e.removeEventListener("mousedown",this._mouseDownHandler),e.removeEventListener("mouseup",this._mouseUpHandler)}}function Xc(e,t,s){if(e){const{x:n,y:i}=t.getBoundingClientRect();s[0]=e.clientX-n,s[1]=e.clientY-i}else e=window.event,s[0]=e.x,s[1]=e.y;return s}const qc=function(e,t){if(e){let s=e.target,n=0,i=0;for(;s.offsetParent;)n+=s.offsetLeft,i+=s.offsetTop,s=s.offsetParent;t[0]=e.pageX-n,t[1]=e.pageY-i}else e=window.event,t[0]=e.x,t[1]=e.y;return t};class Jc{constructor(e,t,s,n,i){this._scene=e;const a=t.pickController,r=t.pivotController,l=h.vec2(),o=h.vec2(),c=h.vec2(),u=h.vec2(),p=[],A=this._scene.canvas.canvas;let d=0,f=!1;this._onTick=e.on("tick",(()=>{f=!1})),A.addEventListener("touchstart",this._canvasTouchStartHandler=t=>{if(!s.active||!s.pointerEnabled)return;t.preventDefault();const i=t.touches,o=t.changedTouches;for(n.touchStartTime=Date.now(),1===i.length&&1===o.length&&(qc(i[0],l),s.followPointer&&(a.pickCursorPos=l,a.schedulePickSurface=!0,a.update(),s.planView||(a.picked&&a.pickedSurface&&a.pickResult&&a.pickResult.worldPos?(r.setPivotPos(a.pickResult.worldPos),!s.firstPerson&&r.startPivot()&&r.showPivot()):(s.smartPivot?r.setCanvasPivotPos(n.pointerCanvasPos):r.setPivotPos(e.camera.look),!s.firstPerson&&r.startPivot()&&r.showPivot()))));p.length{r.getPivoting()&&r.endPivot()}),A.addEventListener("touchmove",this._canvasTouchMoveHandler=t=>{if(!s.active||!s.pointerEnabled)return;if(t.stopPropagation(),t.preventDefault(),f)return;f=!0;const r=e.canvas.boundary,l=r[2],A=r[3],I=t.touches;if(t.touches.length===d){if(1===d){qc(I[0],o),h.subVec2(o,p[0],u);const t=u[0],a=u[1];if(null!==n.longTouchTimeout&&(Math.abs(t)>s.longTapRadius||Math.abs(a)>s.longTapRadius)&&(clearTimeout(n.longTouchTimeout),n.longTouchTimeout=null),s.planView){const n=e.camera;if("perspective"===n.projection){const r=Math.abs(e.camera.eyeLookDist)*Math.tan(n.perspective.fov/2*Math.PI/180);i.panDeltaX+=t*r/A*s.touchPanRate,i.panDeltaY+=a*r/A*s.touchPanRate}else i.panDeltaX+=.5*n.ortho.scale*(t/A)*s.touchPanRate,i.panDeltaY+=.5*n.ortho.scale*(a/A)*s.touchPanRate}else i.rotateDeltaY-=t/l*(1*s.dragRotationRate),i.rotateDeltaX+=a/A*(1.5*s.dragRotationRate)}else if(2===d){const t=I[0],r=I[1];qc(t,o),qc(r,c);const l=h.geometricMeanVec2(p[0],p[1]),u=h.geometricMeanVec2(o,c),d=h.vec2();h.subVec2(l,u,d);const f=d[0],y=d[1],m=e.camera,v=h.distVec2([t.pageX,t.pageY],[r.pageX,r.pageY]),w=(h.distVec2(p[0],p[1])-v)*s.touchDollyRate;if(i.dollyDelta=w,Math.abs(w)<1)if("perspective"===m.projection){const t=a.pickResult?a.pickResult.worldPos:e.center,n=Math.abs(h.lenVec3(h.subVec3(t,e.camera.eye,[])))*Math.tan(m.perspective.fov/2*Math.PI/180);i.panDeltaX-=f*n/A*s.touchPanRate,i.panDeltaY-=y*n/A*s.touchPanRate}else i.panDeltaX-=.5*m.ortho.scale*(f/A)*s.touchPanRate,i.panDeltaY-=.5*m.ortho.scale*(y/A)*s.touchPanRate;n.pointerCanvasPos=u}for(let e=0;e{let n;s&&s.worldPos&&(n=s.worldPos);const i=s?s.entity.aabb:e.aabb;if(n){const s=e.camera;h.subVec3(s.eye,s.look,[]),t.cameraFlight.flyTo({aabb:i})}else t.cameraFlight.flyTo({aabb:i})};A.addEventListener("touchstart",this._canvasTouchStartHandler=e=>{if(!s.active||!s.pointerEnabled)return;null!==n.longTouchTimeout&&(clearTimeout(n.longTouchTimeout),n.longTouchTimeout=null);const i=e.touches,a=e.changedTouches;if(l=Date.now(),1===i.length&&1===a.length){u=l,Zc(i[0],c);const a=c[0],r=c[1],o=i[0].pageX,h=i[0].pageY;n.longTouchTimeout=setTimeout((()=>{t.cameraControl.fire("rightClick",{pagePos:[Math.round(o),Math.round(h)],canvasPos:[Math.round(a),Math.round(r)],event:e},!0),n.longTouchTimeout=null}),s.longTapTimeout)}else u=-1;for(;o.length{if(!s.active||!s.pointerEnabled)return;const t=Date.now(),i=e.touches,l=e.changedTouches,A=r.hasSubs("pickedSurface");null!==n.longTouchTimeout&&(clearTimeout(n.longTouchTimeout),n.longTouchTimeout=null),0===i.length&&1===l.length&&u>-1&&t-u<150&&(p>-1&&u-p<325?(Zc(l[0],a.pickCursorPos),a.schedulePickEntity=!0,a.schedulePickSurface=A,a.update(),a.pickResult?(a.pickResult.touchInput=!0,r.fire("doublePicked",a.pickResult),a.pickedSurface&&r.fire("doublePickedSurface",a.pickResult),s.doublePickFlyTo&&d(a.pickResult)):(r.fire("doublePickedNothing"),s.doublePickFlyTo&&d()),p=-1):h.distVec2(o[0],c)<4&&(Zc(l[0],a.pickCursorPos),a.schedulePickEntity=!0,a.schedulePickSurface=A,a.update(),a.pickResult?(a.pickResult.touchInput=!0,r.fire("picked",a.pickResult),a.pickedSurface&&r.fire("pickedSurface",a.pickResult)):r.fire("pickedNothing"),p=t),u=-1),o.length=i.length;for(let e=0,t=i.length;e{e.preventDefault()},this._configs={longTapTimeout:600,longTapRadius:5,active:!0,keyboardLayout:"qwerty",navMode:"orbit",planView:!1,firstPerson:!1,followPointer:!0,doublePickFlyTo:!0,panRightClick:!0,showPivot:!1,pointerEnabled:!0,constrainVertical:!1,smartPivot:!1,doubleClickTimeFrame:250,snapToVertex:true,snapToEdge:true,snapRadius:30,dragRotationRate:360,keyboardRotationRate:90,rotationInertia:0,keyboardPanRate:1,touchPanRate:1,panInertia:.5,keyboardDollyRate:10,mouseWheelDollyRate:100,touchDollyRate:.2,dollyInertia:0,dollyProximityThreshold:30,dollyMinSpeed:.04},this._states={pointerCanvasPos:h.vec2(),mouseover:!1,followPointerDirty:!0,mouseDownClientX:0,mouseDownClientY:0,mouseDownCursorX:0,mouseDownCursorY:0,touchStartTime:null,activeTouches:[],tapStartPos:h.vec2(),tapStartTime:-1,lastTapTime:-1,longTouchTimeout:null},this._updates={rotateDeltaX:0,rotateDeltaY:0,panDeltaX:0,panDeltaY:0,panDeltaZ:0,dollyDelta:0};const s=this.scene;this._controllers={cameraControl:this,pickController:new xc(this,this._configs),pivotController:new Nc(s,this._configs),panController:new Pc(s),cameraFlight:new si(this,{duration:.5})},this._handlers=[new Yc(this.scene,this._controllers,this._configs,this._states,this._updates),new Jc(this.scene,this._controllers,this._configs,this._states,this._updates),new Mc(this.scene,this._controllers,this._configs,this._states,this._updates),new kc(this.scene,this._controllers,this._configs,this._states,this._updates),new Qc(this.scene,this._controllers,this._configs,this._states,this._updates),new $c(this.scene,this._controllers,this._configs,this._states,this._updates),new Wc(this.scene,this._controllers,this._configs,this._states,this._updates)],this._cameraUpdater=new Kc(this.scene,this._controllers,this._configs,this._states,this._updates),this.navMode=t.navMode,t.planView&&(this.planView=t.planView),this.constrainVertical=t.constrainVertical,t.keyboardLayout?this.keyboardLayout=t.keyboardLayout:this.keyMap=t.keyMap,this.doublePickFlyTo=t.doublePickFlyTo,this.panRightClick=t.panRightClick,this.active=t.active,this.followPointer=t.followPointer,this.rotationInertia=t.rotationInertia,this.keyboardPanRate=t.keyboardPanRate,this.touchPanRate=t.touchPanRate,this.keyboardRotationRate=t.keyboardRotationRate,this.dragRotationRate=t.dragRotationRate,this.touchDollyRate=t.touchDollyRate,this.dollyInertia=t.dollyInertia,this.dollyProximityThreshold=t.dollyProximityThreshold,this.dollyMinSpeed=t.dollyMinSpeed,this.panInertia=t.panInertia,this.pointerEnabled=!0,this.keyboardDollyRate=t.keyboardDollyRate,this.mouseWheelDollyRate=t.mouseWheelDollyRate}set keyMap(e){if(e=e||"qwerty",m.isString(e)){const t=this.scene.input,s={};switch(e){default:this.error("Unsupported value for 'keyMap': "+e+" defaulting to 'qwerty'");case"qwerty":s[this.PAN_LEFT]=[t.KEY_A],s[this.PAN_RIGHT]=[t.KEY_D],s[this.PAN_UP]=[t.KEY_Z],s[this.PAN_DOWN]=[t.KEY_X],s[this.PAN_BACKWARDS]=[],s[this.PAN_FORWARDS]=[],s[this.DOLLY_FORWARDS]=[t.KEY_W,t.KEY_ADD],s[this.DOLLY_BACKWARDS]=[t.KEY_S,t.KEY_SUBTRACT],s[this.ROTATE_X_POS]=[t.KEY_DOWN_ARROW],s[this.ROTATE_X_NEG]=[t.KEY_UP_ARROW],s[this.ROTATE_Y_POS]=[t.KEY_Q,t.KEY_LEFT_ARROW],s[this.ROTATE_Y_NEG]=[t.KEY_E,t.KEY_RIGHT_ARROW],s[this.AXIS_VIEW_RIGHT]=[t.KEY_NUM_1],s[this.AXIS_VIEW_BACK]=[t.KEY_NUM_2],s[this.AXIS_VIEW_LEFT]=[t.KEY_NUM_3],s[this.AXIS_VIEW_FRONT]=[t.KEY_NUM_4],s[this.AXIS_VIEW_TOP]=[t.KEY_NUM_5],s[this.AXIS_VIEW_BOTTOM]=[t.KEY_NUM_6];break;case"azerty":s[this.PAN_LEFT]=[t.KEY_Q],s[this.PAN_RIGHT]=[t.KEY_D],s[this.PAN_UP]=[t.KEY_W],s[this.PAN_DOWN]=[t.KEY_X],s[this.PAN_BACKWARDS]=[],s[this.PAN_FORWARDS]=[],s[this.DOLLY_FORWARDS]=[t.KEY_Z,t.KEY_ADD],s[this.DOLLY_BACKWARDS]=[t.KEY_S,t.KEY_SUBTRACT],s[this.ROTATE_X_POS]=[t.KEY_DOWN_ARROW],s[this.ROTATE_X_NEG]=[t.KEY_UP_ARROW],s[this.ROTATE_Y_POS]=[t.KEY_A,t.KEY_LEFT_ARROW],s[this.ROTATE_Y_NEG]=[t.KEY_E,t.KEY_RIGHT_ARROW],s[this.AXIS_VIEW_RIGHT]=[t.KEY_NUM_1],s[this.AXIS_VIEW_BACK]=[t.KEY_NUM_2],s[this.AXIS_VIEW_LEFT]=[t.KEY_NUM_3],s[this.AXIS_VIEW_FRONT]=[t.KEY_NUM_4],s[this.AXIS_VIEW_TOP]=[t.KEY_NUM_5],s[this.AXIS_VIEW_BOTTOM]=[t.KEY_NUM_6]}this._keyMap=s}else{const t=e;this._keyMap=t}}get keyMap(){return this._keyMap}_isKeyDownForAction(e,t){const s=this._keyMap[e];if(!s)return!1;t||(t=this.scene.input.keyDown);for(let e=0,n=s.length;e0?ru(t):null,r=s&&s.length>0?ru(s):null,l=e=>{if(!e)return;var t=!0;(r&&r[e.type]||a&&!a[e.type])&&(t=!1),t&&n.push(e.id);const s=e.children;if(s)for(var i=0,o=s.length;i>t;s.sort(Pl);const n=new Int32Array(e.length);for(let t=0,i=s.length;te[t+1]){let s=e[t];e[t]=e[t+1],e[t+1]=s}Rl=new Int32Array(e),t.sort(Cl);const s=new Int32Array(e.length);for(let n=0,i=t.length;nt){let s=e;e=t,t=s}function s(s,n){return s!==e?e-s:n!==t?t-n:0}let n=0,i=(a.length>>1)-1;for(;n<=i;){const e=i+n>>1,t=s(a[2*e],a[2*e+1]);if(t>0)n=e+1;else{if(!(t<0))return e;i=e-1}}return-n-1}const l=new Int32Array(a.length/2);l.fill(0);const o=n.length/3;if(o>8*(1<p.maxNumPositions&&(p=h()),p.bucketNumber>8)return[e];let d;-1===c[o]&&(c[o]=p.numPositions++,p.positionsCompressed.push(n[3*o]),p.positionsCompressed.push(n[3*o+1]),p.positionsCompressed.push(n[3*o+2])),-1===c[u]&&(c[u]=p.numPositions++,p.positionsCompressed.push(n[3*u]),p.positionsCompressed.push(n[3*u+1]),p.positionsCompressed.push(n[3*u+2])),-1===c[A]&&(c[A]=p.numPositions++,p.positionsCompressed.push(n[3*A]),p.positionsCompressed.push(n[3*A+1]),p.positionsCompressed.push(n[3*A+2])),p.indices.push(c[o]),p.indices.push(c[u]),p.indices.push(c[A]),(d=r(o,u))>=0&&0===l[d]&&(l[d]=1,p.edgeIndices.push(c[a[2*d]]),p.edgeIndices.push(c[a[2*d+1]])),(d=r(o,A))>=0&&0===l[d]&&(l[d]=1,p.edgeIndices.push(c[a[2*d]]),p.edgeIndices.push(c[a[2*d+1]])),(d=r(u,A))>=0&&0===l[d]&&(l[d]=1,p.edgeIndices.push(c[a[2*d]]),p.edgeIndices.push(c[a[2*d+1]]))}const A=t/8*2,d=t/8,f=2*n.length+(i.length+a.length)*A;let I=0,y=-n.length/3;return u.forEach((e=>{I+=2*e.positionsCompressed.length+(e.indices.length+e.edgeIndices.length)*d,y+=e.positionsCompressed.length/3})),I>f?[e]:(s&&function(e,t){const s={},n={};let i=0;e.forEach((e=>{const t=e.indices,a=e.edgeIndices,r=e.positionsCompressed;for(let e=0,n=t.length;e0){const e=n._sectionPlanesState.sectionPlanes,s=t.layerIndex*v,i=a.renderFlags;for(let t=0;t0&&(o.bindTriangleIndicesTextures(this._program,this._uTexturePerPolygonIdPortionIds,this._uTexturePerPolygonIdIndices,8),r.drawArrays(r.TRIANGLES,0,l.numIndices8Bits)),l.numIndices16Bits>0&&(o.bindTriangleIndicesTextures(this._program,this._uTexturePerPolygonIdPortionIds,this._uTexturePerPolygonIdIndices,16),r.drawArrays(r.TRIANGLES,0,l.numIndices16Bits)),l.numIndices32Bits>0&&(o.bindTriangleIndicesTextures(this._program,this._uTexturePerPolygonIdPortionIds,this._uTexturePerPolygonIdIndices,32),r.drawArrays(r.TRIANGLES,0,l.numIndices32Bits)),e.drawElements++}_allocate(){const e=this._scene,t=e.canvas.gl,s=e._lightsState;if(this._program=new Be(t,this._buildShader()),this._program.errors)return this.errors=this._program.errors,void console.error(this.errors);const n=this._program;this._uRenderPass=n.getLocation("renderPass"),this._uLightAmbient=n.getLocation("lightAmbient"),this._uLightColor=[],this._uLightDir=[],this._uLightPos=[],this._uLightAttenuation=[];const i=s.lights;let a;for(let e=0,t=i.length;e0;let i;const a=[];a.push("#version 300 es"),a.push("// TrianglesDataTextureColorRenderer vertex shader"),a.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),a.push("precision highp float;"),a.push("precision highp int;"),a.push("precision highp usampler2D;"),a.push("precision highp isampler2D;"),a.push("precision highp sampler2D;"),a.push("#else"),a.push("precision mediump float;"),a.push("precision mediump int;"),a.push("precision mediump usampler2D;"),a.push("precision mediump isampler2D;"),a.push("precision mediump sampler2D;"),a.push("#endif"),a.push("uniform int renderPass;"),a.push("uniform mat4 sceneModelMatrix;"),a.push("uniform mat4 viewMatrix;"),a.push("uniform mat4 projMatrix;"),a.push("uniform highp sampler2D uObjectPerObjectPositionsDecodeMatrix;"),a.push("uniform highp sampler2D uTexturePerObjectMatrix;"),a.push("uniform lowp usampler2D uObjectPerObjectColorsAndFlags;"),a.push("uniform mediump usampler2D uTexturePerVertexIdCoordinates;"),a.push("uniform highp usampler2D uTexturePerPolygonIdIndices;"),a.push("uniform mediump usampler2D uTexturePerPolygonIdPortionIds;"),a.push("uniform vec3 uCameraEyeRtc;"),a.push("vec3 positions[3];"),e.logarithmicDepthBufferEnabled&&(a.push("uniform float logDepthBufFC;"),a.push("out float vFragDepth;"),a.push("out float isPerspective;")),a.push("bool isPerspectiveMatrix(mat4 m) {"),a.push(" return (m[2][3] == - 1.0);"),a.push("}"),a.push("uniform vec4 lightAmbient;");for(let e=0,t=s.lights.length;e> 3) & 4095;"),a.push("int v_packed_object_id_index = (polygonIndex >> 3) >> 12;"),a.push("int objectIndex = int(texelFetch(uTexturePerPolygonIdPortionIds, ivec2(h_packed_object_id_index, v_packed_object_id_index), 0).r);"),a.push("ivec2 objectIndexCoords = ivec2(objectIndex % 512, objectIndex / 512);"),a.push("uvec4 flags = texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+2, objectIndexCoords.y), 0);"),a.push("uvec4 flags2 = texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+3, objectIndexCoords.y), 0);"),a.push("if (int(flags.x) != renderPass) {"),a.push(" gl_Position = vec4(3.0, 3.0, 3.0, 1.0);"),a.push(" return;"),a.push("} else {"),a.push("ivec4 packedVertexBase = ivec4(texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+4, objectIndexCoords.y), 0));"),a.push("ivec4 packedIndexBaseOffset = ivec4(texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+5, objectIndexCoords.y), 0));"),a.push("int indexBaseOffset = (packedIndexBaseOffset.r << 24) + (packedIndexBaseOffset.g << 16) + (packedIndexBaseOffset.b << 8) + packedIndexBaseOffset.a;"),a.push("int h_index = (polygonIndex - indexBaseOffset) & 4095;"),a.push("int v_index = (polygonIndex - indexBaseOffset) >> 12;"),a.push("ivec3 vertexIndices = ivec3(texelFetch(uTexturePerPolygonIdIndices, ivec2(h_index, v_index), 0));"),a.push("ivec3 uniqueVertexIndexes = vertexIndices + (packedVertexBase.r << 24) + (packedVertexBase.g << 16) + (packedVertexBase.b << 8) + packedVertexBase.a;"),a.push("ivec3 indexPositionH = uniqueVertexIndexes & 4095;"),a.push("ivec3 indexPositionV = uniqueVertexIndexes >> 12;"),a.push("mat4 objectInstanceMatrix = mat4 (texelFetch (uTexturePerObjectMatrix, ivec2(objectIndexCoords.x*4+0, objectIndexCoords.y), 0), texelFetch (uTexturePerObjectMatrix, ivec2(objectIndexCoords.x*4+1, objectIndexCoords.y), 0), texelFetch (uTexturePerObjectMatrix, ivec2(objectIndexCoords.x*4+2, objectIndexCoords.y), 0), texelFetch (uTexturePerObjectMatrix, ivec2(objectIndexCoords.x*4+3, objectIndexCoords.y), 0));"),a.push("mat4 objectDecodeAndInstanceMatrix = objectInstanceMatrix * mat4 (texelFetch (uObjectPerObjectPositionsDecodeMatrix, ivec2(objectIndexCoords.x*4+0, objectIndexCoords.y), 0), texelFetch (uObjectPerObjectPositionsDecodeMatrix, ivec2(objectIndexCoords.x*4+1, objectIndexCoords.y), 0), texelFetch (uObjectPerObjectPositionsDecodeMatrix, ivec2(objectIndexCoords.x*4+2, objectIndexCoords.y), 0), texelFetch (uObjectPerObjectPositionsDecodeMatrix, ivec2(objectIndexCoords.x*4+3, objectIndexCoords.y), 0));"),a.push("uint solid = texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+7, objectIndexCoords.y), 0).r;"),a.push("positions[0] = vec3(texelFetch(uTexturePerVertexIdCoordinates, ivec2(indexPositionH.r, indexPositionV.r), 0));"),a.push("positions[1] = vec3(texelFetch(uTexturePerVertexIdCoordinates, ivec2(indexPositionH.g, indexPositionV.g), 0));"),a.push("positions[2] = vec3(texelFetch(uTexturePerVertexIdCoordinates, ivec2(indexPositionH.b, indexPositionV.b), 0));"),a.push("uvec4 color = texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+0, objectIndexCoords.y), 0);"),a.push("if (color.a == 0u) {"),a.push(" gl_Position = vec4(3.0, 3.0, 3.0, 1.0);"),a.push(" return;"),a.push("};"),a.push("vec3 normal = normalize(cross(positions[2] - positions[0], positions[1] - positions[0]));"),a.push("vec3 position;"),a.push("position = positions[gl_VertexID % 3];"),a.push("vec3 viewNormal = -normalize((transpose(inverse(viewMatrix*objectDecodeAndInstanceMatrix)) * vec4(normal,1)).xyz);"),a.push("if (solid != 1u) {"),a.push("if (isPerspectiveMatrix(projMatrix)) {"),a.push("vec3 uCameraEyeRtcInQuantizedSpace = (inverse(sceneModelMatrix * objectDecodeAndInstanceMatrix) * vec4(uCameraEyeRtc, 1)).xyz;"),a.push("if (dot(position.xyz - uCameraEyeRtcInQuantizedSpace, normal) < 0.0) {"),a.push("position = positions[2 - (gl_VertexID % 3)];"),a.push("viewNormal = -viewNormal;"),a.push("}"),a.push("} else {"),a.push("if (viewNormal.z < 0.0) {"),a.push("position = positions[2 - (gl_VertexID % 3)];"),a.push("viewNormal = -viewNormal;"),a.push("}"),a.push("}"),a.push("}"),a.push("vec4 worldPosition = sceneModelMatrix * ((objectDecodeAndInstanceMatrix * vec4(position, 1.0))); "),a.push("vec4 viewPosition = viewMatrix * worldPosition; "),a.push("vec3 reflectedColor = vec3(0.0, 0.0, 0.0);"),a.push("vec3 viewLightDir = vec3(0.0, 0.0, -1.0);"),a.push("float lambertian = 1.0;");for(let e=0,t=s.lights.length;e0,n=[];if(n.push("#version 300 es"),n.push("// TrianglesDataTextureColorRenderer fragment shader"),n.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),n.push("precision highp float;"),n.push("precision highp int;"),n.push("#else"),n.push("precision mediump float;"),n.push("precision mediump int;"),n.push("#endif"),e.logarithmicDepthBufferEnabled&&(n.push("in float isPerspective;"),n.push("uniform float logDepthBufFC;"),n.push("in float vFragDepth;")),this._withSAO&&(n.push("uniform sampler2D uOcclusionTexture;"),n.push("uniform vec4 uSAOParams;"),n.push("const float packUpscale = 256. / 255.;"),n.push("const float unpackDownScale = 255. / 256.;"),n.push("const vec3 packFactors = vec3( 256. * 256. * 256., 256. * 256., 256. );"),n.push("const vec4 unPackFactors = unpackDownScale / vec4( packFactors, 1. );"),n.push("float unpackRGBToFloat( const in vec4 v ) {"),n.push(" return dot( v, unPackFactors );"),n.push("}")),s){n.push("in vec4 vWorldPosition;"),n.push("flat in uint vFlags2;");for(let e=0,s=t.getNumAllocatedSectionPlanes();e 0u;"),n.push(" if (clippable) {"),n.push(" float dist = 0.0;");for(let e=0,s=t.getNumAllocatedSectionPlanes();e 0.0) { "),n.push(" discard;"),n.push(" }"),n.push("}")}return e.logarithmicDepthBufferEnabled&&n.push(" gl_FragDepth = isPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5;"),this._withSAO?(n.push(" float viewportWidth = uSAOParams[0];"),n.push(" float viewportHeight = uSAOParams[1];"),n.push(" float blendCutoff = uSAOParams[2];"),n.push(" float blendFactor = uSAOParams[3];"),n.push(" vec2 uv = vec2(gl_FragCoord.x / viewportWidth, gl_FragCoord.y / viewportHeight);"),n.push(" float ambient = smoothstep(blendCutoff, 1.0, unpackRGBToFloat(texture(uOcclusionTexture, uv))) * blendFactor;"),n.push(" outColor = vec4(vColor.rgb * ambient, 1.0);")):n.push(" outColor = vColor;"),n.push("}"),n}webglContextRestored(){this._program=null}destroy(){this._program&&this._program.destroy(),this._program=null}}const Ml=new Float32Array([1,1,1]),Fl=h.vec3(),Hl=h.vec3(),Ul=h.vec3();h.vec3();const Gl=h.mat4();class jl{constructor(e,t){this._scene=e,this._hash=this._getHash(),this._allocate()}getValid(){return this._hash===this._getHash()}_getHash(){return this._scene._sectionPlanesState.getHash()}drawLayer(e,t,s){const n=this._scene,i=n.camera,a=t.model,r=n.canvas.gl,l=t._state,o=l.textureState,c=t._state.origin,{position:u,rotationMatrix:p,rotationMatrixConjugate:A}=a,d=i.viewMatrix;if(!this._program&&(this._allocate(),this.errors))return;let f,I;if(e.lastProgramId!==this._program.id&&(e.lastProgramId=this._program.id,this._bindProgram(e,l)),o.bindCommonTextures(this._program,this.uTexturePerObjectPositionsDecodeMatrix,this._uTexturePerVertexIdCoordinates,this.uTexturePerObjectColorsAndFlags,this._uTexturePerObjectMatrix),c||0!==u[0]||0!==u[1]||0!==u[2]){const e=Fl;if(c){const t=Hl;h.transformPoint3(p,c,t),e[0]=t[0],e[1]=t[1],e[2]=t[2]}else e[0]=0,e[1]=0,e[2]=0;e[0]+=u[0],e[1]+=u[1],e[2]+=u[2],f=G(d,e,Gl),I=Ul,I[0]=i.eye[0]-e[0],I[1]=i.eye[1]-e[1],I[2]=i.eye[2]-e[2]}else f=d,I=i.eye;if(r.uniform3fv(this._uCameraEyeRtc,I),r.uniform1i(this._uRenderPass,s),r.uniformMatrix4fv(this._uWorldMatrix,!1,A),r.uniformMatrix4fv(this._uViewMatrix,!1,f),r.uniformMatrix4fv(this._uProjMatrix,!1,i.projMatrix),s===Ei.SILHOUETTE_XRAYED){const e=n.xrayMaterial._state,t=e.fillColor,s=e.fillAlpha;r.uniform4f(this._uColor,t[0],t[1],t[2],s)}else if(s===Ei.SILHOUETTE_HIGHLIGHTED){const e=n.highlightMaterial._state,t=e.fillColor,s=e.fillAlpha;r.uniform4f(this._uColor,t[0],t[1],t[2],s)}else if(s===Ei.SILHOUETTE_SELECTED){const e=n.selectedMaterial._state,t=e.fillColor,s=e.fillAlpha;r.uniform4f(this._uColor,t[0],t[1],t[2],s)}else r.uniform4fv(this._uColor,Ml);if(n.logarithmicDepthBufferEnabled){const t=2/(Math.log(e.pickZFar+1)/Math.LN2);r.uniform1f(this._uLogDepthBufFC,t)}const y=n._sectionPlanesState.getNumAllocatedSectionPlanes(),m=n._sectionPlanesState.sectionPlanes.length;if(y>0){const e=n._sectionPlanesState.sectionPlanes,s=t.layerIndex*m,i=a.renderFlags;for(let t=0;t0&&(o.bindTriangleIndicesTextures(this._program,this._uTexturePerPolygonIdPortionIds,this._uTexturePerPolygonIdIndices,8),r.drawArrays(r.TRIANGLES,0,l.numIndices8Bits)),l.numIndices16Bits>0&&(o.bindTriangleIndicesTextures(this._program,this._uTexturePerPolygonIdPortionIds,this._uTexturePerPolygonIdIndices,16),r.drawArrays(r.TRIANGLES,0,l.numIndices16Bits)),l.numIndices32Bits>0&&(o.bindTriangleIndicesTextures(this._program,this._uTexturePerPolygonIdPortionIds,this._uTexturePerPolygonIdIndices,32),r.drawArrays(r.TRIANGLES,0,l.numIndices32Bits)),e.drawElements++}_allocate(){const e=this._scene,t=e.canvas.gl;if(this._program=new Be(t,this._buildShader()),this._program.errors)return void(this.errors=this._program.errors);const s=this._program;this._uRenderPass=s.getLocation("renderPass"),this._uColor=s.getLocation("color"),this._uWorldMatrix=s.getLocation("sceneModelMatrix"),this._uViewMatrix=s.getLocation("viewMatrix"),this._uProjMatrix=s.getLocation("projMatrix"),this._uSectionPlanes=[];for(let t=0,n=e._sectionPlanesState.getNumAllocatedSectionPlanes();t0,s=[];return s.push("#version 300 es"),s.push("// Triangles dataTexture silhouette vertex shader"),s.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),s.push("precision highp float;"),s.push("precision highp int;"),s.push("precision highp usampler2D;"),s.push("precision highp isampler2D;"),s.push("precision highp sampler2D;"),s.push("#else"),s.push("precision mediump float;"),s.push("precision mediump int;"),s.push("precision mediump usampler2D;"),s.push("precision mediump isampler2D;"),s.push("precision mediump sampler2D;"),s.push("#endif"),s.push("uniform int renderPass;"),e.entityOffsetsEnabled&&s.push("in vec3 offset;"),s.push("uniform mat4 sceneModelMatrix;"),s.push("uniform mat4 viewMatrix;"),s.push("uniform mat4 projMatrix;"),s.push("uniform highp sampler2D uObjectPerObjectPositionsDecodeMatrix;"),s.push("uniform highp sampler2D uTexturePerObjectMatrix;"),s.push("uniform lowp usampler2D uObjectPerObjectColorsAndFlags;"),s.push("uniform mediump usampler2D uTexturePerVertexIdCoordinates;"),s.push("uniform highp usampler2D uTexturePerPolygonIdIndices;"),s.push("uniform mediump usampler2D uTexturePerPolygonIdPortionIds;"),s.push("uniform vec3 uCameraEyeRtc;"),s.push("vec3 positions[3];"),e.logarithmicDepthBufferEnabled&&(s.push("uniform float logDepthBufFC;"),s.push("out float vFragDepth;"),s.push("out float isPerspective;")),s.push("bool isPerspectiveMatrix(mat4 m) {"),s.push(" return (m[2][3] == - 1.0);"),s.push("}"),t&&(s.push("out vec4 vWorldPosition;"),s.push("flat out uint vFlags2;")),s.push("void main(void) {"),s.push("int polygonIndex = gl_VertexID / 3;"),s.push("int h_packed_object_id_index = (polygonIndex >> 3) & 4095;"),s.push("int v_packed_object_id_index = (polygonIndex >> 3) >> 12;"),s.push("int objectIndex = int(texelFetch(uTexturePerPolygonIdPortionIds, ivec2(h_packed_object_id_index, v_packed_object_id_index), 0).r);"),s.push("ivec2 objectIndexCoords = ivec2(objectIndex % 512, objectIndex / 512);"),s.push("uvec4 flags = texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+2, objectIndexCoords.y), 0);"),s.push("uvec4 flags2 = texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+3, objectIndexCoords.y), 0);"),s.push("if (int(flags.y) != renderPass) {"),s.push(" gl_Position = vec4(3.0, 3.0, 3.0, 1.0);"),s.push(" return;"),s.push("} else {"),s.push("ivec4 packedVertexBase = ivec4(texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+4, objectIndexCoords.y), 0));"),s.push("ivec4 packedIndexBaseOffset = ivec4(texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+5, objectIndexCoords.y), 0));"),s.push("int indexBaseOffset = (packedIndexBaseOffset.r << 24) + (packedIndexBaseOffset.g << 16) + (packedIndexBaseOffset.b << 8) + packedIndexBaseOffset.a;"),s.push("int h_index = (polygonIndex - indexBaseOffset) & 4095;"),s.push("int v_index = (polygonIndex - indexBaseOffset) >> 12;"),s.push("ivec3 vertexIndices = ivec3(texelFetch(uTexturePerPolygonIdIndices, ivec2(h_index, v_index), 0));"),s.push("ivec3 uniqueVertexIndexes = vertexIndices + (packedVertexBase.r << 24) + (packedVertexBase.g << 16) + (packedVertexBase.b << 8) + packedVertexBase.a;"),s.push("ivec3 indexPositionH = uniqueVertexIndexes & 4095;"),s.push("ivec3 indexPositionV = uniqueVertexIndexes >> 12;"),s.push("mat4 objectInstanceMatrix = mat4 (texelFetch (uTexturePerObjectMatrix, ivec2(objectIndexCoords.x*4+0, objectIndexCoords.y), 0), texelFetch (uTexturePerObjectMatrix, ivec2(objectIndexCoords.x*4+1, objectIndexCoords.y), 0), texelFetch (uTexturePerObjectMatrix, ivec2(objectIndexCoords.x*4+2, objectIndexCoords.y), 0), texelFetch (uTexturePerObjectMatrix, ivec2(objectIndexCoords.x*4+3, objectIndexCoords.y), 0));"),s.push("mat4 objectDecodeAndInstanceMatrix = objectInstanceMatrix * mat4 (texelFetch (uObjectPerObjectPositionsDecodeMatrix, ivec2(objectIndexCoords.x*4+0, objectIndexCoords.y), 0), texelFetch (uObjectPerObjectPositionsDecodeMatrix, ivec2(objectIndexCoords.x*4+1, objectIndexCoords.y), 0), texelFetch (uObjectPerObjectPositionsDecodeMatrix, ivec2(objectIndexCoords.x*4+2, objectIndexCoords.y), 0), texelFetch (uObjectPerObjectPositionsDecodeMatrix, ivec2(objectIndexCoords.x*4+3, objectIndexCoords.y), 0));"),s.push("uint solid = texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+7, objectIndexCoords.y), 0).r;"),s.push("positions[0] = vec3(texelFetch(uTexturePerVertexIdCoordinates, ivec2(indexPositionH.r, indexPositionV.r), 0));"),s.push("positions[1] = vec3(texelFetch(uTexturePerVertexIdCoordinates, ivec2(indexPositionH.g, indexPositionV.g), 0));"),s.push("positions[2] = vec3(texelFetch(uTexturePerVertexIdCoordinates, ivec2(indexPositionH.b, indexPositionV.b), 0));"),s.push("vec3 normal = normalize(cross(positions[2] - positions[0], positions[1] - positions[0]));"),s.push("vec3 position;"),s.push("position = positions[gl_VertexID % 3];"),s.push("vec3 viewNormal = -normalize((transpose(inverse(viewMatrix*objectDecodeAndInstanceMatrix)) * vec4(normal,1)).xyz);"),s.push("if (solid != 1u) {"),s.push("if (isPerspectiveMatrix(projMatrix)) {"),s.push("vec3 uCameraEyeRtcInQuantizedSpace = (inverse(sceneModelMatrix * objectDecodeAndInstanceMatrix) * vec4(uCameraEyeRtc, 1)).xyz;"),s.push("if (dot(position.xyz - uCameraEyeRtcInQuantizedSpace, normal) < 0.0) {"),s.push("position = positions[2 - (gl_VertexID % 3)];"),s.push("viewNormal = -viewNormal;"),s.push("}"),s.push("} else {"),s.push("if (viewNormal.z < 0.0) {"),s.push("position = positions[2 - (gl_VertexID % 3)];"),s.push("viewNormal = -viewNormal;"),s.push("}"),s.push("}"),s.push("}"),s.push("vec4 worldPosition = sceneModelMatrix * (objectDecodeAndInstanceMatrix * vec4(position, 1.0)); "),s.push("vec4 viewPosition = viewMatrix * worldPosition; "),s.push("vec4 clipPos = projMatrix * viewPosition;"),e.logarithmicDepthBufferEnabled&&(s.push("vFragDepth = 1.0 + clipPos.w;"),s.push("isPerspective = float (isPerspectiveMatrix(projMatrix));")),t&&(s.push("vWorldPosition = worldPosition;"),s.push("vFlags2 = flags2.r;")),s.push("gl_Position = clipPos;"),s.push("}"),s.push("}"),s}_buildFragmentShader(){const e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,s=[];if(s.push("#version 300 es"),s.push("// Triangles dataTexture draw fragment shader"),s.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),s.push("precision highp float;"),s.push("precision highp int;"),s.push("#else"),s.push("precision mediump float;"),s.push("precision mediump int;"),s.push("#endif"),e.logarithmicDepthBufferEnabled&&(s.push("in float isPerspective;"),s.push("uniform float logDepthBufFC;"),s.push("in float vFragDepth;")),t){s.push("in vec4 vWorldPosition;"),s.push("flat in uint vFlags2;");for(let t=0,n=e._sectionPlanesState.getNumAllocatedSectionPlanes();t 0u;"),s.push(" if (clippable) {"),s.push(" float dist = 0.0;");for(let t=0,n=e._sectionPlanesState.getNumAllocatedSectionPlanes();t 0.0) { "),s.push(" discard;"),s.push(" }"),s.push("}")}return e.logarithmicDepthBufferEnabled&&s.push(" gl_FragDepth = isPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5;"),s.push(" outColor = color;"),s.push("}"),s}webglContextRestored(){this._program=null}destroy(){this._program&&this._program.destroy(),this._program=null}}const Vl=new Float32Array([0,0,0,1]),kl=h.vec3(),Ql=h.vec3();h.vec3();const Wl=h.mat4();class zl{constructor(e){this._scene=e,this._hash=this._getHash(),this._allocate()}getValid(){return this._hash===this._getHash()}_getHash(){return this._scene._sectionPlanesState.getHash()}drawLayer(e,t,s){const n=t.model,i=n.scene,a=i.camera,r=i.canvas.gl,l=t._state,o=l.textureState,c=t._state.origin,{position:u,rotationMatrix:p,rotationMatrixConjugate:A}=n,d=a.viewMatrix;if(!this._program&&(this._allocate(t),this.errors))return;let f;e.lastProgramId!==this._program.id&&(e.lastProgramId=this._program.id,this._bindProgram()),o.bindCommonTextures(this._program,this.uTexturePerObjectPositionsDecodeMatrix,this._uTexturePerVertexIdCoordinates,this.uTexturePerObjectColorsAndFlags,this._uTexturePerObjectMatrix);const I=0!==c[0]||0!==c[1]||0!==c[2],y=0!==u[0]||0!==u[1]||0!==u[2];if(I||y){const e=kl;if(I){const t=h.transformPoint3(p,c,Ql);e[0]=t[0],e[1]=t[1],e[2]=t[2]}else e[0]=0,e[1]=0,e[2]=0;e[0]+=u[0],e[1]+=u[1],e[2]+=u[2],f=G(d,e,Wl)}else f=d;if(r.uniform1i(this._uRenderPass,s),r.uniformMatrix4fv(this._uSceneModelMatrix,!1,A),r.uniformMatrix4fv(this._uViewMatrix,!1,f),r.uniformMatrix4fv(this._uProjMatrix,!1,a.projMatrix),s===Ei.EDGES_XRAYED){const e=i.xrayMaterial._state,t=e.edgeColor,s=e.edgeAlpha;r.uniform4f(this._uColor,t[0],t[1],t[2],s)}else if(s===Ei.EDGES_HIGHLIGHTED){const e=i.highlightMaterial._state,t=e.edgeColor,s=e.edgeAlpha;r.uniform4f(this._uColor,t[0],t[1],t[2],s)}else if(s===Ei.EDGES_SELECTED){const e=i.selectedMaterial._state,t=e.edgeColor,s=e.edgeAlpha;r.uniform4f(this._uColor,t[0],t[1],t[2],s)}else r.uniform4fv(this._uColor,Vl);const m=i._sectionPlanesState.getNumAllocatedSectionPlanes(),v=i._sectionPlanesState.sectionPlanes.length;if(m>0){const e=i._sectionPlanesState.sectionPlanes,s=t.layerIndex*v,a=n.renderFlags;for(let t=0;t0&&(o.bindEdgeIndicesTextures(this._program,this._uTexturePerEdgeIdPortionIds,this._uTexturePerPolygonIdEdgeIndices,8),r.drawArrays(r.LINES,0,l.numEdgeIndices8Bits)),l.numEdgeIndices16Bits>0&&(o.bindEdgeIndicesTextures(this._program,this._uTexturePerEdgeIdPortionIds,this._uTexturePerPolygonIdEdgeIndices,16),r.drawArrays(r.LINES,0,l.numEdgeIndices16Bits)),l.numEdgeIndices32Bits>0&&(o.bindEdgeIndicesTextures(this._program,this._uTexturePerEdgeIdPortionIds,this._uTexturePerPolygonIdEdgeIndices,32),r.drawArrays(r.LINES,0,l.numEdgeIndices32Bits)),e.drawElements++}_allocate(){const e=this._scene,t=e.canvas.gl;if(this._program=new Be(t,this._buildShader()),this._program.errors)return void(this.errors=this._program.errors);const s=this._program;this._uRenderPass=s.getLocation("renderPass"),this._uColor=s.getLocation("color"),this._uSceneModelMatrix=s.getLocation("sceneModelMatrix"),this._uWorldMatrix=s.getLocation("worldMatrix"),this._uViewMatrix=s.getLocation("viewMatrix"),this._uProjMatrix=s.getLocation("projMatrix"),this._uSectionPlanes=[];for(let t=0,n=e._sectionPlanesState.getNumAllocatedSectionPlanes();t0,s=[];return s.push("#version 300 es"),s.push("// Batched geometry edges drawing vertex shader"),s.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),s.push("precision highp float;"),s.push("precision highp int;"),s.push("precision highp usampler2D;"),s.push("precision highp isampler2D;"),s.push("precision highp sampler2D;"),s.push("#else"),s.push("precision mediump float;"),s.push("precision mediump int;"),s.push("precision mediump usampler2D;"),s.push("precision mediump isampler2D;"),s.push("precision mediump sampler2D;"),s.push("#endif"),s.push("uniform int renderPass;"),s.push("uniform mat4 sceneModelMatrix;"),s.push("uniform mat4 viewMatrix;"),s.push("uniform mat4 projMatrix;"),s.push("uniform highp sampler2D uObjectPerObjectPositionsDecodeMatrix;"),s.push("uniform highp sampler2D uTexturePerObjectMatrix;"),s.push("uniform lowp usampler2D uObjectPerObjectColorsAndFlags;"),s.push("uniform mediump usampler2D uTexturePerVertexIdCoordinates;"),s.push("uniform highp usampler2D uTexturePerPolygonIdEdgeIndices;"),s.push("uniform mediump usampler2D uTexturePerEdgeIdPortionIds;"),s.push("uniform vec4 color;"),e.logarithmicDepthBufferEnabled&&(s.push("uniform float logDepthBufFC;"),s.push("out float vFragDepth;"),s.push("bool isPerspectiveMatrix(mat4 m) {"),s.push(" return (m[2][3] == - 1.0);"),s.push("}"),s.push("out float isPerspective;")),t&&(s.push("out vec4 vWorldPosition;"),s.push("flat out uint vFlags2;")),s.push("out vec4 vColor;"),s.push("void main(void) {"),s.push("int edgeIndex = gl_VertexID / 2;"),s.push("int h_packed_object_id_index = (edgeIndex >> 3) & 4095;"),s.push("int v_packed_object_id_index = (edgeIndex >> 3) >> 12;"),s.push("int objectIndex = int(texelFetch(uTexturePerEdgeIdPortionIds, ivec2(h_packed_object_id_index, v_packed_object_id_index), 0).r);"),s.push("ivec2 objectIndexCoords = ivec2(objectIndex % 512, objectIndex / 512);"),s.push("uvec4 flags = texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+2, objectIndexCoords.y), 0);"),s.push("uvec4 flags2 = texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+3, objectIndexCoords.y), 0);"),s.push("if (int(flags.z) != renderPass) {"),s.push(" gl_Position = vec4(3.0, 3.0, 3.0, 1.0);"),s.push(" return;"),s.push("} else {"),s.push("ivec4 packedVertexBase = ivec4(texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+4, objectIndexCoords.y), 0));"),s.push("ivec4 packedEdgeIndexBaseOffset = ivec4(texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+6, objectIndexCoords.y), 0));"),s.push("int edgeIndexBaseOffset = (packedEdgeIndexBaseOffset.r << 24) + (packedEdgeIndexBaseOffset.g << 16) + (packedEdgeIndexBaseOffset.b << 8) + packedEdgeIndexBaseOffset.a;"),s.push("int h_index = (edgeIndex - edgeIndexBaseOffset) & 4095;"),s.push("int v_index = (edgeIndex - edgeIndexBaseOffset) >> 12;"),s.push("ivec3 vertexIndices = ivec3(texelFetch(uTexturePerPolygonIdEdgeIndices, ivec2(h_index, v_index), 0));"),s.push("ivec3 uniqueVertexIndexes = vertexIndices + (packedVertexBase.r << 24) + (packedVertexBase.g << 16) + (packedVertexBase.b << 8) + packedVertexBase.a;"),s.push("int indexPositionH = uniqueVertexIndexes[gl_VertexID % 2] & 4095;"),s.push("int indexPositionV = uniqueVertexIndexes[gl_VertexID % 2] >> 12;"),s.push("mat4 objectInstanceMatrix = mat4 (texelFetch (uTexturePerObjectMatrix, ivec2(objectIndexCoords.x*4+0, objectIndexCoords.y), 0), texelFetch (uTexturePerObjectMatrix, ivec2(objectIndexCoords.x*4+1, objectIndexCoords.y), 0), texelFetch (uTexturePerObjectMatrix, ivec2(objectIndexCoords.x*4+2, objectIndexCoords.y), 0), texelFetch (uTexturePerObjectMatrix, ivec2(objectIndexCoords.x*4+3, objectIndexCoords.y), 0));"),s.push("mat4 objectDecodeAndInstanceMatrix = objectInstanceMatrix * mat4 (texelFetch (uObjectPerObjectPositionsDecodeMatrix, ivec2(objectIndexCoords.x*4+0, objectIndexCoords.y), 0), texelFetch (uObjectPerObjectPositionsDecodeMatrix, ivec2(objectIndexCoords.x*4+1, objectIndexCoords.y), 0), texelFetch (uObjectPerObjectPositionsDecodeMatrix, ivec2(objectIndexCoords.x*4+2, objectIndexCoords.y), 0), texelFetch (uObjectPerObjectPositionsDecodeMatrix, ivec2(objectIndexCoords.x*4+3, objectIndexCoords.y), 0));"),s.push("uvec4 flags = texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+2, objectIndexCoords.y), 0);"),s.push("uvec4 flags2 = texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+3, objectIndexCoords.y), 0);"),s.push("vec3 position = vec3(texelFetch(uTexturePerVertexIdCoordinates, ivec2(indexPositionH, indexPositionV), 0));"),s.push("mat4 matrix = mat4 (texelFetch (uTexturePerObjectMatrix, ivec2(objectIndexCoords.x*4+0, objectIndexCoords.y), 0), texelFetch (uTexturePerObjectMatrix, ivec2(objectIndexCoords.x*4+1, objectIndexCoords.y), 0), texelFetch (uTexturePerObjectMatrix, ivec2(objectIndexCoords.x*4+2, objectIndexCoords.y), 0), texelFetch (uTexturePerObjectMatrix, ivec2(objectIndexCoords.x*4+3, objectIndexCoords.y), 0));"),s.push("vec4 worldPosition = sceneModelMatrix * (objectDecodeAndInstanceMatrix * vec4(position, 1.0)); "),s.push("vec4 viewPosition = viewMatrix * worldPosition; "),t&&(s.push(" vWorldPosition = worldPosition;"),s.push(" vFlags2 = flags2.r;")),s.push("vec4 clipPos = projMatrix * viewPosition;"),e.logarithmicDepthBufferEnabled&&(s.push("vFragDepth = 1.0 + clipPos.w;"),s.push("isPerspective = float (isPerspectiveMatrix(projMatrix));")),s.push("gl_Position = clipPos;"),s.push("vColor = vec4(color.r, color.g, color.b, color.a);"),s.push("}"),s.push("}"),s}_buildFragmentShader(){const e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,s=[];if(s.push("#version 300 es"),s.push("// Batched geometry edges drawing fragment shader"),e.logarithmicDepthBufferEnabled&&s.push("#extension GL_EXT_frag_depth : enable"),s.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),s.push("precision highp float;"),s.push("precision highp int;"),s.push("#else"),s.push("precision mediump float;"),s.push("precision mediump int;"),s.push("#endif"),e.logarithmicDepthBufferEnabled&&(s.push("in float isPerspective;"),s.push("uniform float logDepthBufFC;"),s.push("in float vFragDepth;")),t){s.push("in vec4 vWorldPosition;"),s.push("flat in uint vFlags2;");for(let t=0,n=e._sectionPlanesState.getNumAllocatedSectionPlanes();t 0u;"),s.push(" if (clippable) {"),s.push(" float dist = 0.0;");for(let t=0,n=e._sectionPlanesState.getNumAllocatedSectionPlanes();t 0.0) { discard; }"),s.push("}")}return e.logarithmicDepthBufferEnabled&&s.push(" gl_FragDepth = isPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5;"),s.push(" outColor = vColor;"),s.push("}"),s}webglContextRestored(){this._program=null}destroy(){this._program&&this._program.destroy(),this._program=null}}const Kl=h.vec3(),Yl=h.vec3();h.vec3();const Xl=h.mat4();class ql{constructor(e){this._scene=e,this._hash=this._getHash(),this._allocate()}getValid(){return this._hash===this._getHash()}_getHash(){return this._scene._sectionPlanesState.getHash()}drawLayer(e,t,s){const n=t.model,i=n.scene,a=i.camera,r=i.canvas.gl,l=t._state,o=l.textureState,c=t._state.origin,{position:u,rotationMatrix:p,rotationMatrixConjugate:A}=n,d=a.viewMatrix;if(!this._program&&(this._allocate(),this.errors))return;let f;e.lastProgramId!==this._program.id&&(e.lastProgramId=this._program.id,this._bindProgram()),o.bindCommonTextures(this._program,this.uTexturePerObjectPositionsDecodeMatrix,this._uTexturePerVertexIdCoordinates,this.uTexturePerObjectColorsAndFlags,this._uTexturePerObjectMatrix);const I=0!==c[0]||0!==c[1]||0!==c[2],y=0!==u[0]||0!==u[1]||0!==u[2];if(I||y){const e=Kl;if(I){const t=h.transformPoint3(p,c,Yl);e[0]=t[0],e[1]=t[1],e[2]=t[2]}else e[0]=0,e[1]=0,e[2]=0;e[0]+=u[0],e[1]+=u[1],e[2]+=u[2],f=G(d,e,Xl)}else f=d;r.uniform1i(this._uRenderPass,s),r.uniformMatrix4fv(this._uSceneModelMatrix,!1,A),r.uniformMatrix4fv(this._uViewMatrix,!1,f),r.uniformMatrix4fv(this._uProjMatrix,!1,a.projMatrix);const m=i._sectionPlanesState.getNumAllocatedSectionPlanes(),v=i._sectionPlanesState.sectionPlanes.length;if(m>0){const e=i._sectionPlanesState.sectionPlanes,s=t.layerIndex*v,a=n.renderFlags;for(let t=0;t0&&(o.bindEdgeIndicesTextures(this._program,this._uTexturePerEdgeIdPortionIds,this._uTexturePerPolygonIdEdgeIndices,8),r.drawArrays(r.LINES,0,l.numEdgeIndices8Bits)),l.numEdgeIndices16Bits>0&&(o.bindEdgeIndicesTextures(this._program,this._uTexturePerEdgeIdPortionIds,this._uTexturePerPolygonIdEdgeIndices,16),r.drawArrays(r.LINES,0,l.numEdgeIndices16Bits)),l.numEdgeIndices32Bits>0&&(o.bindEdgeIndicesTextures(this._program,this._uTexturePerEdgeIdPortionIds,this._uTexturePerPolygonIdEdgeIndices,32),r.drawArrays(r.LINES,0,l.numEdgeIndices32Bits)),e.drawElements++}_allocate(){const e=this._scene,t=e.canvas.gl;if(this._program=new Be(t,this._buildShader()),this._program.errors)return void(this.errors=this._program.errors);const s=this._program;this._uRenderPass=s.getLocation("renderPass"),this._uSceneModelMatrix=s.getLocation("sceneModelMatrix"),this._uViewMatrix=s.getLocation("viewMatrix"),this._uProjMatrix=s.getLocation("projMatrix"),this._uSectionPlanes=[];for(let t=0,n=e._sectionPlanesState.getNumAllocatedSectionPlanes();t0,s=[];return s.push("#version 300 es"),s.push("// TrianglesDataTextureEdgesColorRenderer"),s.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),s.push("precision highp float;"),s.push("precision highp int;"),s.push("precision highp usampler2D;"),s.push("precision highp isampler2D;"),s.push("precision highp sampler2D;"),s.push("#else"),s.push("precision mediump float;"),s.push("precision mediump int;"),s.push("precision mediump usampler2D;"),s.push("precision mediump isampler2D;"),s.push("precision mediump sampler2D;"),s.push("#endif"),s.push("uniform int renderPass;"),e.entityOffsetsEnabled,s.push("uniform mat4 sceneModelMatrix;"),s.push("uniform mat4 viewMatrix;"),s.push("uniform mat4 projMatrix;"),s.push("uniform highp sampler2D uObjectPerObjectPositionsDecodeMatrix;"),s.push("uniform highp sampler2D uTexturePerObjectMatrix;"),s.push("uniform lowp usampler2D uObjectPerObjectColorsAndFlags;"),s.push("uniform highp sampler2D uObjectPerObjectOffsets;"),s.push("uniform mediump usampler2D uTexturePerVertexIdCoordinates;"),s.push("uniform highp usampler2D uTexturePerPolygonIdEdgeIndices;"),s.push("uniform mediump usampler2D uTexturePerEdgeIdPortionIds;"),e.logarithmicDepthBufferEnabled&&(s.push("uniform float logDepthBufFC;"),s.push("out float vFragDepth;"),s.push("bool isPerspectiveMatrix(mat4 m) {"),s.push(" return (m[2][3] == - 1.0);"),s.push("}"),s.push("out float isPerspective;")),t&&(s.push("out vec4 vWorldPosition;"),s.push("flat out uint vFlags2;")),s.push("out vec4 vColor;"),s.push("void main(void) {"),s.push("int edgeIndex = gl_VertexID / 2;"),s.push("int h_packed_object_id_index = (edgeIndex >> 3) & 4095;"),s.push("int v_packed_object_id_index = (edgeIndex >> 3) >> 12;"),s.push("int objectIndex = int(texelFetch(uTexturePerEdgeIdPortionIds, ivec2(h_packed_object_id_index, v_packed_object_id_index), 0).r);"),s.push("ivec2 objectIndexCoords = ivec2(objectIndex % 512, objectIndex / 512);"),s.push("uvec4 flags = texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+2, objectIndexCoords.y), 0);"),s.push("uvec4 flags2 = texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+3, objectIndexCoords.y), 0);"),s.push("if (int(flags.z) != renderPass) {"),s.push(" gl_Position = vec4(3.0, 3.0, 3.0, 1.0);"),s.push(" return;"),s.push("} else {"),s.push("ivec4 packedVertexBase = ivec4(texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+4, objectIndexCoords.y), 0));"),s.push("ivec4 packedEdgeIndexBaseOffset = ivec4(texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+6, objectIndexCoords.y), 0));"),s.push("int edgeIndexBaseOffset = (packedEdgeIndexBaseOffset.r << 24) + (packedEdgeIndexBaseOffset.g << 16) + (packedEdgeIndexBaseOffset.b << 8) + packedEdgeIndexBaseOffset.a;"),s.push("int h_index = (edgeIndex - edgeIndexBaseOffset) & 4095;"),s.push("int v_index = (edgeIndex - edgeIndexBaseOffset) >> 12;"),s.push("ivec3 vertexIndices = ivec3(texelFetch(uTexturePerPolygonIdEdgeIndices, ivec2(h_index, v_index), 0));"),s.push("ivec3 uniqueVertexIndexes = vertexIndices + (packedVertexBase.r << 24) + (packedVertexBase.g << 16) + (packedVertexBase.b << 8) + packedVertexBase.a;"),s.push("int indexPositionH = uniqueVertexIndexes[gl_VertexID % 2] & 4095;"),s.push("int indexPositionV = uniqueVertexIndexes[gl_VertexID % 2] >> 12;"),s.push("mat4 objectInstanceMatrix = mat4 (texelFetch (uTexturePerObjectMatrix, ivec2(objectIndexCoords.x*4+0, objectIndexCoords.y), 0), texelFetch (uTexturePerObjectMatrix, ivec2(objectIndexCoords.x*4+1, objectIndexCoords.y), 0), texelFetch (uTexturePerObjectMatrix, ivec2(objectIndexCoords.x*4+2, objectIndexCoords.y), 0), texelFetch (uTexturePerObjectMatrix, ivec2(objectIndexCoords.x*4+3, objectIndexCoords.y), 0));"),s.push("mat4 objectDecodeAndInstanceMatrix = objectInstanceMatrix * mat4 (texelFetch (uObjectPerObjectPositionsDecodeMatrix, ivec2(objectIndexCoords.x*4+0, objectIndexCoords.y), 0), texelFetch (uObjectPerObjectPositionsDecodeMatrix, ivec2(objectIndexCoords.x*4+1, objectIndexCoords.y), 0), texelFetch (uObjectPerObjectPositionsDecodeMatrix, ivec2(objectIndexCoords.x*4+2, objectIndexCoords.y), 0), texelFetch (uObjectPerObjectPositionsDecodeMatrix, ivec2(objectIndexCoords.x*4+3, objectIndexCoords.y), 0));"),s.push("uvec4 flags = texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+2, objectIndexCoords.y), 0);"),s.push("uvec4 flags2 = texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+3, objectIndexCoords.y), 0);"),s.push("vec3 position = vec3(texelFetch(uTexturePerVertexIdCoordinates, ivec2(indexPositionH, indexPositionV), 0));"),s.push("uvec4 color = texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+0, objectIndexCoords.y), 0);"),s.push("if (color.a == 0u) {"),s.push(" gl_Position = vec4(3.0, 3.0, 3.0, 1.0);"),s.push(" return;"),s.push("};"),s.push("vec4 worldPosition = sceneModelMatrix * (objectDecodeAndInstanceMatrix * vec4(position, 1.0)); "),s.push("vec4 viewPosition = viewMatrix * worldPosition; "),t&&(s.push(" vWorldPosition = worldPosition;"),s.push(" vFlags2 = flags2.r;")),s.push("vec4 clipPos = projMatrix * viewPosition;"),e.logarithmicDepthBufferEnabled&&(s.push("vFragDepth = 1.0 + clipPos.w;"),s.push("isPerspective = float (isPerspectiveMatrix(projMatrix));")),s.push("gl_Position = clipPos;"),s.push("vec4 rgb = vec4(color.rgba);"),s.push("vColor = vec4(float(rgb.r*0.5) / 255.0, float(rgb.g*0.5) / 255.0, float(rgb.b*0.5) / 255.0, float(rgb.a) / 255.0);"),s.push("}"),s.push("}"),s}_buildFragmentShader(){const e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,s=[];if(s.push("#version 300 es"),s.push("// TrianglesDataTextureEdgesColorRenderer"),s.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),s.push("precision highp float;"),s.push("precision highp int;"),s.push("#else"),s.push("precision mediump float;"),s.push("precision mediump int;"),s.push("#endif"),e.logarithmicDepthBufferEnabled&&(s.push("in float isPerspective;"),s.push("uniform float logDepthBufFC;"),s.push("in float vFragDepth;")),t){s.push("in vec4 vWorldPosition;"),s.push("flat in uint vFlags2;");for(let t=0,n=e._sectionPlanesState.getNumAllocatedSectionPlanes();t 0u;"),s.push(" if (clippable) {"),s.push(" float dist = 0.0;");for(let t=0,n=e._sectionPlanesState.getNumAllocatedSectionPlanes();t 0.0) { discard; }"),s.push("}")}return e.logarithmicDepthBufferEnabled&&s.push(" gl_FragDepth = isPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5;"),s.push(" outColor = vColor;"),s.push("}"),s}webglContextRestored(){this._program=null}destroy(){this._program&&this._program.destroy(),this._program=null}}const Jl=h.vec3(),Zl=h.vec3(),$l=h.vec3(),eo=h.mat4();class to{constructor(e){this._scene=e,this._hash=this._getHash(),this._allocate()}getValid(){return this._hash===this._getHash()}_getHash(){return this._scene._sectionPlanesState.getHash()}drawLayer(e,t,s){if(!this._program&&(this._allocate(t),this.errors))return;e.lastProgramId!==this._program.id&&(e.lastProgramId=this._program.id,this._bindProgram(e));const n=t.model,i=n.scene,a=i.camera,r=i.canvas.gl,l=t._state,o=l.textureState,c=t._state.origin,{position:u,rotationMatrix:p,rotationMatrixConjugate:A}=n;let d,f;o.bindCommonTextures(this._program,this.uTexturePerObjectPositionsDecodeMatrix,this._uTexturePerVertexIdCoordinates,this.uTexturePerObjectColorsAndFlags,this._uTexturePerObjectMatrix);const I=0!==c[0]||0!==c[1]||0!==c[2],y=0!==u[0]||0!==u[1]||0!==u[2];if(I||y){const e=Jl;if(I){const t=h.transformPoint3(p,c,Zl);e[0]=t[0],e[1]=t[1],e[2]=t[2]}else e[0]=0,e[1]=0,e[2]=0;e[0]+=u[0],e[1]+=u[1],e[2]+=u[2],d=G(a.viewMatrix,e,eo),f=$l,f[0]=a.eye[0]-e[0],f[1]=a.eye[1]-e[1],f[2]=a.eye[2]-e[2]}else d=a.viewMatrix,f=a.eye;if(r.uniform2fv(this._uPickClipPos,e.pickClipPos),r.uniform2f(this._uDrawingBufferSize,r.drawingBufferWidth,r.drawingBufferHeight),r.uniformMatrix4fv(this._uSceneModelMatrix,!1,A),r.uniformMatrix4fv(this._uViewMatrix,!1,d),r.uniformMatrix4fv(this._uProjMatrix,!1,a.projMatrix),r.uniform3fv(this._uCameraEyeRtc,f),r.uniform1i(this._uRenderPass,s),i.logarithmicDepthBufferEnabled){const e=2/(Math.log(a.project.far+1)/Math.LN2);r.uniform1f(this._uLogDepthBufFC,e)}const m=i._sectionPlanesState.getNumAllocatedSectionPlanes(),v=i._sectionPlanesState.sectionPlanes.length;if(m>0){const e=i._sectionPlanesState.sectionPlanes,s=t.layerIndex*v,a=n.renderFlags;for(let t=0;t0&&(o.bindTriangleIndicesTextures(this._program,this._uTexturePerPolygonIdPortionIds,this._uTexturePerPolygonIdIndices,8),r.drawArrays(r.TRIANGLES,0,l.numIndices8Bits)),l.numIndices16Bits>0&&(o.bindTriangleIndicesTextures(this._program,this._uTexturePerPolygonIdPortionIds,this._uTexturePerPolygonIdIndices,16),r.drawArrays(r.TRIANGLES,0,l.numIndices16Bits)),l.numIndices32Bits>0&&(o.bindTriangleIndicesTextures(this._program,this._uTexturePerPolygonIdPortionIds,this._uTexturePerPolygonIdIndices,32),r.drawArrays(r.TRIANGLES,0,l.numIndices32Bits)),e.drawElements++}_allocate(){const e=this._scene,t=e.canvas.gl;if(this._program=new Be(t,this._buildShader()),this._program.errors)return void(this.errors=this._program.errors);const s=this._program;this._uRenderPass=s.getLocation("renderPass"),this._uPickInvisible=s.getLocation("pickInvisible"),this._uPickClipPos=s.getLocation("pickClipPos"),this._uDrawingBufferSize=s.getLocation("drawingBufferSize"),this._uSceneModelMatrix=s.getLocation("sceneModelMatrix"),this._uViewMatrix=s.getLocation("viewMatrix"),this._uProjMatrix=s.getLocation("projMatrix"),this._uSectionPlanes=[];for(let t=0,n=e._sectionPlanesState.getNumAllocatedSectionPlanes();t0,s=[];return s.push("#version 300 es"),s.push("// Batched geometry picking vertex shader"),s.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),s.push("precision highp float;"),s.push("precision highp int;"),s.push("precision highp usampler2D;"),s.push("precision highp isampler2D;"),s.push("precision highp sampler2D;"),s.push("#else"),s.push("precision mediump float;"),s.push("precision mediump int;"),s.push("precision mediump usampler2D;"),s.push("precision mediump isampler2D;"),s.push("precision mediump sampler2D;"),s.push("#endif"),s.push("uniform int renderPass;"),e.entityOffsetsEnabled&&s.push("in vec3 offset;"),s.push("uniform mat4 sceneModelMatrix;"),s.push("uniform mat4 viewMatrix;"),s.push("uniform mat4 projMatrix;"),s.push("uniform bool pickInvisible;"),s.push("uniform highp sampler2D uObjectPerObjectPositionsDecodeMatrix;"),s.push("uniform highp sampler2D uTexturePerObjectMatrix;"),s.push("uniform lowp usampler2D uObjectPerObjectColorsAndFlags;"),s.push("uniform mediump usampler2D uTexturePerVertexIdCoordinates;"),s.push("uniform highp usampler2D uTexturePerPolygonIdIndices;"),s.push("uniform mediump usampler2D uTexturePerPolygonIdPortionIds;"),s.push("uniform vec3 uCameraEyeRtc;"),s.push("vec3 positions[3];"),e.logarithmicDepthBufferEnabled&&(s.push("uniform float logDepthBufFC;"),s.push("out float vFragDepth;"),s.push("out float isPerspective;")),s.push("uniform vec2 pickClipPos;"),s.push("uniform vec2 drawingBufferSize;"),s.push("vec4 remapClipPos(vec4 clipPos) {"),s.push(" clipPos.xy /= clipPos.w;"),s.push(" clipPos.xy = (clipPos.xy - pickClipPos) * drawingBufferSize;"),s.push(" clipPos.xy *= clipPos.w;"),s.push(" return clipPos;"),s.push("}"),s.push("bool isPerspectiveMatrix(mat4 m) {"),s.push(" return (m[2][3] == - 1.0);"),s.push("}"),t&&(s.push("smooth out vec4 vWorldPosition;"),s.push("flat out uvec4 vFlags2;")),s.push("out vec4 vPickColor;"),s.push("void main(void) {"),s.push("int polygonIndex = gl_VertexID / 3;"),s.push("int h_packed_object_id_index = (polygonIndex >> 3) & 4095;"),s.push("int v_packed_object_id_index = (polygonIndex >> 3) >> 12;"),s.push("int objectIndex = int(texelFetch(uTexturePerPolygonIdPortionIds, ivec2(h_packed_object_id_index, v_packed_object_id_index), 0).r);"),s.push("ivec2 objectIndexCoords = ivec2(objectIndex % 512, objectIndex / 512);"),s.push("uvec4 flags = texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+2, objectIndexCoords.y), 0);"),s.push("uvec4 flags2 = texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+3, objectIndexCoords.y), 0);"),s.push("if (int(flags.w) != renderPass) {"),s.push(" gl_Position = vec4(3.0, 3.0, 3.0, 1.0);"),s.push(" return;"),s.push("} else {"),s.push("ivec4 packedVertexBase = ivec4(texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+4, objectIndexCoords.y), 0));"),s.push("ivec4 packedIndexBaseOffset = ivec4(texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+5, objectIndexCoords.y), 0));"),s.push("int indexBaseOffset = (packedIndexBaseOffset.r << 24) + (packedIndexBaseOffset.g << 16) + (packedIndexBaseOffset.b << 8) + packedIndexBaseOffset.a;"),s.push("int h_index = (polygonIndex - indexBaseOffset) & 4095;"),s.push("int v_index = (polygonIndex - indexBaseOffset) >> 12;"),s.push("ivec3 vertexIndices = ivec3(texelFetch(uTexturePerPolygonIdIndices, ivec2(h_index, v_index), 0));"),s.push("ivec3 uniqueVertexIndexes = vertexIndices + (packedVertexBase.r << 24) + (packedVertexBase.g << 16) + (packedVertexBase.b << 8) + packedVertexBase.a;"),s.push("ivec3 indexPositionH = uniqueVertexIndexes & 4095;"),s.push("ivec3 indexPositionV = uniqueVertexIndexes >> 12;"),s.push("mat4 objectInstanceMatrix = mat4 (texelFetch (uTexturePerObjectMatrix, ivec2(objectIndexCoords.x*4+0, objectIndexCoords.y), 0), texelFetch (uTexturePerObjectMatrix, ivec2(objectIndexCoords.x*4+1, objectIndexCoords.y), 0), texelFetch (uTexturePerObjectMatrix, ivec2(objectIndexCoords.x*4+2, objectIndexCoords.y), 0), texelFetch (uTexturePerObjectMatrix, ivec2(objectIndexCoords.x*4+3, objectIndexCoords.y), 0));"),s.push("mat4 objectDecodeAndInstanceMatrix = objectInstanceMatrix * mat4 (texelFetch (uObjectPerObjectPositionsDecodeMatrix, ivec2(objectIndexCoords.x*4+0, objectIndexCoords.y), 0), texelFetch (uObjectPerObjectPositionsDecodeMatrix, ivec2(objectIndexCoords.x*4+1, objectIndexCoords.y), 0), texelFetch (uObjectPerObjectPositionsDecodeMatrix, ivec2(objectIndexCoords.x*4+2, objectIndexCoords.y), 0), texelFetch (uObjectPerObjectPositionsDecodeMatrix, ivec2(objectIndexCoords.x*4+3, objectIndexCoords.y), 0));"),s.push("uint solid = texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+7, objectIndexCoords.y), 0).r;"),s.push("positions[0] = vec3(texelFetch(uTexturePerVertexIdCoordinates, ivec2(indexPositionH.r, indexPositionV.r), 0));"),s.push("positions[1] = vec3(texelFetch(uTexturePerVertexIdCoordinates, ivec2(indexPositionH.g, indexPositionV.g), 0));"),s.push("positions[2] = vec3(texelFetch(uTexturePerVertexIdCoordinates, ivec2(indexPositionH.b, indexPositionV.b), 0));"),s.push("uvec4 color = texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+0, objectIndexCoords.y), 0);"),s.push("if (color.a == 0u) {"),s.push(" gl_Position = vec4(3.0, 3.0, 3.0, 1.0);"),s.push(" return;"),s.push("};"),s.push("vPickColor = vec4(texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+1, objectIndexCoords.y), 0)) / 255.0;"),s.push("vec3 normal = normalize(cross(positions[2] - positions[0], positions[1] - positions[0]));"),s.push("vec3 position;"),s.push("position = positions[gl_VertexID % 3];"),s.push("if (solid != 1u) {"),s.push("if (isPerspectiveMatrix(projMatrix)) {"),s.push("vec3 uCameraEyeRtcInQuantizedSpace = (inverse(sceneModelMatrix * objectDecodeAndInstanceMatrix) * vec4(uCameraEyeRtc, 1)).xyz;"),s.push("if (dot(position.xyz - uCameraEyeRtcInQuantizedSpace, normal) < 0.0) {"),s.push("position = positions[2 - (gl_VertexID % 3)];"),s.push("}"),s.push("} else {"),s.push("vec3 viewNormal = -normalize((transpose(inverse(viewMatrix*objectDecodeAndInstanceMatrix)) * vec4(normal,1)).xyz);"),s.push("if (viewNormal.z < 0.0) {"),s.push("position = positions[2 - (gl_VertexID % 3)];"),s.push("}"),s.push("}"),s.push("}"),s.push("vec4 worldPosition = sceneModelMatrix * (objectDecodeAndInstanceMatrix * vec4(position, 1.0)); "),s.push("vec4 viewPosition = viewMatrix * worldPosition; "),t&&(s.push(" vWorldPosition = worldPosition;"),s.push(" vFlags2 = flags2;")),s.push("vec4 clipPos = projMatrix * viewPosition;"),e.logarithmicDepthBufferEnabled&&(s.push("vFragDepth = 1.0 + clipPos.w;"),s.push("isPerspective = float (isPerspectiveMatrix(projMatrix));")),s.push("gl_Position = remapClipPos(clipPos);"),s.push(" }"),s.push("}"),s}_buildFragmentShader(){const e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,s=[];if(s.push("#version 300 es"),s.push("// Batched geometry picking fragment shader"),s.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),s.push("precision highp float;"),s.push("precision highp int;"),s.push("#else"),s.push("precision mediump float;"),s.push("precision mediump int;"),s.push("#endif"),e.logarithmicDepthBufferEnabled&&(s.push("in float isPerspective;"),s.push("uniform float logDepthBufFC;"),s.push("in float vFragDepth;")),t){s.push("in vec4 vWorldPosition;"),s.push("flat in uvec4 vFlags2;");for(var n=0;n 0.0);"),s.push(" if (clippable) {"),s.push(" float dist = 0.0;");for(n=0;n 0.0) { discard; }"),s.push(" }")}return e.logarithmicDepthBufferEnabled&&s.push(" gl_FragDepth = isPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5;"),s.push(" outPickColor = vPickColor; "),s.push("}"),s}webglContextRestored(){this._program=null}destroy(){this._program&&this._program.destroy(),this._program=null}}const so=h.vec3(),no=h.vec3(),io=h.vec3();h.vec3();const ao=h.mat4();class ro{constructor(e){this._scene=e,this._hash=this._getHash(),this._allocate()}getValid(){return this._hash===this._getHash()}_getHash(){return this._scene._sectionPlanesState.getHash()}drawLayer(e,t,s){const n=t.model,i=n.scene,a=i.camera,r=i.canvas.gl,l=t._state,o=l.textureState,c=t._state.origin,{position:u,rotationMatrix:p,rotationMatrixConjugate:A}=n,d=e.pickViewMatrix||a.viewMatrix;let f,I;if(this._program||this._allocate(),e.lastProgramId!==this._program.id&&(e.lastProgramId=this._program.id,this._bindProgram()),o.bindCommonTextures(this._program,this.uTexturePerObjectPositionsDecodeMatrix,this._uTexturePerVertexIdCoordinates,this.uTexturePerObjectColorsAndFlags,this._uTexturePerObjectMatrix),c||0!==u[0]||0!==u[1]||0!==u[2]){const t=so;if(c){const e=no;h.transformPoint3(p,c,e),t[0]=e[0],t[1]=e[1],t[2]=e[2]}else t[0]=0,t[1]=0,t[2]=0;t[0]+=u[0],t[1]+=u[1],t[2]+=u[2],f=G(d,t,ao),I=io,I[0]=a.eye[0]-t[0],I[1]=a.eye[1]-t[1],I[2]=a.eye[2]-t[2],e.snapPickOrigin[0]=t[0],e.snapPickOrigin[1]=t[1],e.snapPickOrigin[2]=t[2]}else f=d,I=a.eye,e.snapPickOrigin[0]=0,e.snapPickOrigin[1]=0,e.snapPickOrigin[2]=0;if(r.uniform3fv(this._uCameraEyeRtc,I),r.uniform1i(this._uRenderPass,s),r.uniform1i(this._uPickInvisible,e.pickInvisible),r.uniform2fv(this._uPickClipPos,e.pickClipPos),r.uniform2f(this._uDrawingBufferSize,r.drawingBufferWidth,r.drawingBufferHeight),r.uniform1f(this._uPickZNear,e.pickZNear),r.uniform1f(this._uPickZFar,e.pickZFar),r.uniformMatrix4fv(this._uSceneModelMatrix,!1,A),r.uniformMatrix4fv(this._uViewMatrix,!1,f),r.uniformMatrix4fv(this._uProjMatrix,!1,a.projMatrix),i.logarithmicDepthBufferEnabled){const t=2/(Math.log(e.pickZFar+1)/Math.LN2);r.uniform1f(this._uLogDepthBufFC,t)}const y=i._sectionPlanesState.getNumAllocatedSectionPlanes(),m=i._sectionPlanesState.sectionPlanes.length;if(y>0){const e=i._sectionPlanesState.sectionPlanes,s=t.layerIndex*m,a=n.renderFlags;for(let t=0;t0&&(o.bindTriangleIndicesTextures(this._program,this._uTexturePerPolygonIdPortionIds,this._uTexturePerPolygonIdIndices,8),r.drawArrays(r.TRIANGLES,0,l.numIndices8Bits)),l.numIndices16Bits>0&&(o.bindTriangleIndicesTextures(this._program,this._uTexturePerPolygonIdPortionIds,this._uTexturePerPolygonIdIndices,16),r.drawArrays(r.TRIANGLES,0,l.numIndices16Bits)),l.numIndices32Bits>0&&(o.bindTriangleIndicesTextures(this._program,this._uTexturePerPolygonIdPortionIds,this._uTexturePerPolygonIdIndices,32),r.drawArrays(r.TRIANGLES,0,l.numIndices32Bits)),e.drawElements++}_allocate(){const e=this._scene,t=e.canvas.gl;if(this._program=new Be(t,this._buildShader()),this._program.errors)return void(this.errors=this._program.errors);const s=this._program;this._uRenderPass=s.getLocation("renderPass"),this._uPickInvisible=s.getLocation("pickInvisible"),this._uPickClipPos=s.getLocation("pickClipPos"),this._uDrawingBufferSize=s.getLocation("drawingBufferSize"),this._uSceneModelMatrix=s.getLocation("sceneModelMatrix"),this._uViewMatrix=s.getLocation("viewMatrix"),this._uProjMatrix=s.getLocation("projMatrix"),this._uSectionPlanes=[];for(let t=0,n=e._sectionPlanesState.getNumAllocatedSectionPlanes();t0,s=[];return s.push("#version 300 es"),s.push("// Triangles dataTexture pick depth vertex shader"),s.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),s.push("precision highp float;"),s.push("precision highp int;"),s.push("precision highp usampler2D;"),s.push("precision highp isampler2D;"),s.push("precision highp sampler2D;"),s.push("#else"),s.push("precision mediump float;"),s.push("precision mediump int;"),s.push("precision mediump usampler2D;"),s.push("precision mediump isampler2D;"),s.push("precision mediump sampler2D;"),s.push("#endif"),s.push("uniform int renderPass;"),e.entityOffsetsEnabled&&s.push("in vec3 offset;"),s.push("uniform mat4 sceneModelMatrix;"),s.push("uniform mat4 viewMatrix;"),s.push("uniform mat4 projMatrix;"),s.push("uniform bool pickInvisible;"),s.push("uniform highp sampler2D uObjectPerObjectPositionsDecodeMatrix;"),s.push("uniform highp sampler2D uTexturePerObjectMatrix;"),s.push("uniform lowp usampler2D uObjectPerObjectColorsAndFlags;"),s.push("uniform mediump usampler2D uTexturePerVertexIdCoordinates;"),s.push("uniform highp usampler2D uTexturePerPolygonIdIndices;"),s.push("uniform mediump usampler2D uTexturePerPolygonIdPortionIds;"),s.push("uniform vec3 uCameraEyeRtc;"),s.push("vec3 positions[3];"),e.logarithmicDepthBufferEnabled&&(s.push("uniform float logDepthBufFC;"),s.push("out float vFragDepth;"),s.push("out float isPerspective;")),s.push("uniform vec2 pickClipPos;"),s.push("uniform vec2 drawingBufferSize;"),s.push("vec4 remapClipPos(vec4 clipPos) {"),s.push(" clipPos.xy /= clipPos.w;"),s.push(" clipPos.xy = (clipPos.xy - pickClipPos) * drawingBufferSize;"),s.push(" clipPos.xy *= clipPos.w;"),s.push(" return clipPos;"),s.push("}"),s.push("bool isPerspectiveMatrix(mat4 m) {"),s.push(" return (m[2][3] == - 1.0);"),s.push("}"),t&&(s.push("out vec4 vWorldPosition;"),s.push("flat out uint vFlags2;")),s.push("out vec4 vViewPosition;"),s.push("void main(void) {"),s.push("int polygonIndex = gl_VertexID / 3;"),s.push("int h_packed_object_id_index = (polygonIndex >> 3) & 4095;"),s.push("int v_packed_object_id_index = (polygonIndex >> 3) >> 12;"),s.push("int objectIndex = int(texelFetch(uTexturePerPolygonIdPortionIds, ivec2(h_packed_object_id_index, v_packed_object_id_index), 0).r);"),s.push("ivec2 objectIndexCoords = ivec2(objectIndex % 512, objectIndex / 512);"),s.push("uvec4 flags = texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+2, objectIndexCoords.y), 0);"),s.push("uvec4 flags2 = texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+3, objectIndexCoords.y), 0);"),s.push("if (int(flags.w) != renderPass) {"),s.push(" gl_Position = vec4(3.0, 3.0, 3.0, 1.0);"),s.push(" return;"),s.push("} else {"),s.push("ivec4 packedVertexBase = ivec4(texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+4, objectIndexCoords.y), 0));"),s.push("ivec4 packedIndexBaseOffset = ivec4(texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+5, objectIndexCoords.y), 0));"),s.push("int indexBaseOffset = (packedIndexBaseOffset.r << 24) + (packedIndexBaseOffset.g << 16) + (packedIndexBaseOffset.b << 8) + packedIndexBaseOffset.a;"),s.push("int h_index = (polygonIndex - indexBaseOffset) & 4095;"),s.push("int v_index = (polygonIndex - indexBaseOffset) >> 12;"),s.push("ivec3 vertexIndices = ivec3(texelFetch(uTexturePerPolygonIdIndices, ivec2(h_index, v_index), 0));"),s.push("ivec3 uniqueVertexIndexes = vertexIndices + (packedVertexBase.r << 24) + (packedVertexBase.g << 16) + (packedVertexBase.b << 8) + packedVertexBase.a;"),s.push("ivec3 indexPositionH = uniqueVertexIndexes & 4095;"),s.push("ivec3 indexPositionV = uniqueVertexIndexes >> 12;"),s.push("mat4 objectInstanceMatrix = mat4 (texelFetch (uTexturePerObjectMatrix, ivec2(objectIndexCoords.x*4+0, objectIndexCoords.y), 0), texelFetch (uTexturePerObjectMatrix, ivec2(objectIndexCoords.x*4+1, objectIndexCoords.y), 0), texelFetch (uTexturePerObjectMatrix, ivec2(objectIndexCoords.x*4+2, objectIndexCoords.y), 0), texelFetch (uTexturePerObjectMatrix, ivec2(objectIndexCoords.x*4+3, objectIndexCoords.y), 0));"),s.push("mat4 objectDecodeAndInstanceMatrix = objectInstanceMatrix * mat4 (texelFetch (uObjectPerObjectPositionsDecodeMatrix, ivec2(objectIndexCoords.x*4+0, objectIndexCoords.y), 0), texelFetch (uObjectPerObjectPositionsDecodeMatrix, ivec2(objectIndexCoords.x*4+1, objectIndexCoords.y), 0), texelFetch (uObjectPerObjectPositionsDecodeMatrix, ivec2(objectIndexCoords.x*4+2, objectIndexCoords.y), 0), texelFetch (uObjectPerObjectPositionsDecodeMatrix, ivec2(objectIndexCoords.x*4+3, objectIndexCoords.y), 0));"),s.push("uint solid = texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+7, objectIndexCoords.y), 0).r;"),s.push("positions[0] = vec3(texelFetch(uTexturePerVertexIdCoordinates, ivec2(indexPositionH.r, indexPositionV.r), 0));"),s.push("positions[1] = vec3(texelFetch(uTexturePerVertexIdCoordinates, ivec2(indexPositionH.g, indexPositionV.g), 0));"),s.push("positions[2] = vec3(texelFetch(uTexturePerVertexIdCoordinates, ivec2(indexPositionH.b, indexPositionV.b), 0));"),s.push("uvec4 color = texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+0, objectIndexCoords.y), 0);"),s.push("if (color.a == 0u) {"),s.push(" gl_Position = vec4(3.0, 3.0, 3.0, 1.0);"),s.push(" return;"),s.push("};"),s.push("vec3 normal = normalize(cross(positions[2] - positions[0], positions[1] - positions[0]));"),s.push("vec3 position;"),s.push("position = positions[gl_VertexID % 3];"),s.push("if (solid != 1u) {"),s.push("if (isPerspectiveMatrix(projMatrix)) {"),s.push("vec3 uCameraEyeRtcInQuantizedSpace = (inverse(sceneModelMatrix * objectDecodeAndInstanceMatrix) * vec4(uCameraEyeRtc, 1)).xyz;"),s.push("if (dot(position.xyz - uCameraEyeRtcInQuantizedSpace, normal) < 0.0) {"),s.push("position = positions[2 - (gl_VertexID % 3)];"),s.push("}"),s.push("} else {"),s.push("vec3 viewNormal = -normalize((transpose(inverse(viewMatrix*objectDecodeAndInstanceMatrix)) * vec4(normal,1)).xyz);"),s.push("if (viewNormal.z < 0.0) {"),s.push("position = positions[2 - (gl_VertexID % 3)];"),s.push("}"),s.push("}"),s.push("}"),s.push("vec4 worldPosition = sceneModelMatrix * (objectDecodeAndInstanceMatrix * vec4(position, 1.0)); "),s.push("vec4 viewPosition = viewMatrix * worldPosition; "),t&&(s.push(" vWorldPosition = worldPosition;"),s.push(" vFlags2 = flags2.r;")),s.push("vViewPosition = viewPosition;"),s.push("vec4 clipPos = projMatrix * viewPosition;"),e.logarithmicDepthBufferEnabled&&(s.push("vFragDepth = 1.0 + clipPos.w;"),s.push("isPerspective = float (isPerspectiveMatrix(projMatrix));")),s.push("gl_Position = remapClipPos(clipPos);"),s.push(" }"),s.push("}"),s}_buildFragmentShader(){const e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,s=[];if(s.push("#version 300 es"),s.push("// Triangles dataTexture pick depth fragment shader"),s.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),s.push("precision highp float;"),s.push("precision highp int;"),s.push("#else"),s.push("precision mediump float;"),s.push("precision mediump int;"),s.push("#endif"),e.logarithmicDepthBufferEnabled&&(s.push("in float isPerspective;"),s.push("uniform float logDepthBufFC;"),s.push("in float vFragDepth;")),s.push("uniform float pickZNear;"),s.push("uniform float pickZFar;"),t){s.push("in vec4 vWorldPosition;"),s.push("flat in uint vFlags2;");for(var n=0;n 0u;"),s.push(" if (clippable) {"),s.push(" float dist = 0.0;");for(n=0;n 0.0) { discard; }"),s.push(" }")}return e.logarithmicDepthBufferEnabled&&s.push(" gl_FragDepth = isPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5;"),s.push(" float zNormalizedDepth = abs((pickZNear + vViewPosition.z) / (pickZFar - pickZNear));"),s.push(" outPackedDepth = packDepth(zNormalizedDepth); "),s.push("}"),s}webglContextRestored(){this._program=null}destroy(){this._program&&this._program.destroy(),this._program=null}}const lo=h.vec3(),oo=h.vec3(),co=h.vec3(),uo=h.vec3();h.vec3();const ho=h.mat4();class po{constructor(e){this._scene=e,this._hash=this._getHash(),this._allocate()}getValid(){return this._hash===this._getHash()}_getHash(){return this._scene._sectionPlanesState.getHash()}drawLayer(e,t,s){if(!this._program&&(this._allocate(),this.errors))return;e.lastProgramId!==this._program.id&&(e.lastProgramId=this._program.id,this._bindProgram());const n=t.model,i=n.scene,a=i.camera,r=i.canvas.gl,l=t._state,o=l.textureState,c=t._state.origin,{position:u,rotationMatrix:p,rotationMatrixConjugate:A}=n,d=t.aabb,f=e.pickViewMatrix||a.viewMatrix,I=lo;let y,m;I[0]=h.safeInv(d[3]-d[0])*h.MAX_INT,I[1]=h.safeInv(d[4]-d[1])*h.MAX_INT,I[2]=h.safeInv(d[5]-d[2])*h.MAX_INT,e.snapPickCoordinateScale[0]=h.safeInv(I[0]),e.snapPickCoordinateScale[1]=h.safeInv(I[1]),e.snapPickCoordinateScale[2]=h.safeInv(I[2]),o.bindCommonTextures(this._program,this.uTexturePerObjectPositionsDecodeMatrix,this._uTexturePerVertexIdCoordinates,this.uTexturePerObjectColorsAndFlags,this._uTexturePerObjectMatrix);const v=0!==c[0]||0!==c[1]||0!==c[2],w=0!==u[0]||0!==u[1]||0!==u[2];if(v||w){const t=oo;if(v){const e=h.transformPoint3(p,c,co);t[0]=e[0],t[1]=e[1],t[2]=e[2]}else t[0]=0,t[1]=0,t[2]=0;t[0]+=u[0],t[1]+=u[1],t[2]+=u[2],y=G(f,t,ho),m=uo,m[0]=a.eye[0]-t[0],m[1]=a.eye[1]-t[1],m[2]=a.eye[2]-t[2],e.snapPickOrigin[0]=t[0],e.snapPickOrigin[1]=t[1],e.snapPickOrigin[2]=t[2]}else y=f,m=a.eye,e.snapPickOrigin[0]=0,e.snapPickOrigin[1]=0,e.snapPickOrigin[2]=0;r.uniform3fv(this._uCameraEyeRtc,m),r.uniform2fv(this.uVectorA,e.snapVectorA),r.uniform2fv(this.uInverseVectorAB,e.snapInvVectorAB),r.uniform1i(this._uLayerNumber,e.snapPickLayerNumber),r.uniform3fv(this._uCoordinateScaler,I),r.uniform1i(this._uRenderPass,s),r.uniform1i(this._uPickInvisible,e.pickInvisible),r.uniformMatrix4fv(this._uSceneModelMatrix,!1,A),r.uniformMatrix4fv(this._uViewMatrix,!1,y),r.uniformMatrix4fv(this._uProjMatrix,!1,a.projMatrix);{const t=2/(Math.log(e.pickZFar+1)/Math.LN2);r.uniform1f(this._uLogDepthBufFC,t)}const g=i._sectionPlanesState.getNumAllocatedSectionPlanes(),E=i._sectionPlanesState.sectionPlanes.length;if(g>0){const e=i._sectionPlanesState.sectionPlanes,s=t.layerIndex*E,a=n.renderFlags;for(let t=0;t0&&(o.bindEdgeIndicesTextures(this._program,this._uTexturePerEdgeIdPortionIds,this._uTexturePerPolygonIdEdgeIndices,8),r.drawArrays(T,0,l.numEdgeIndices8Bits)),l.numEdgeIndices16Bits>0&&(o.bindEdgeIndicesTextures(this._program,this._uTexturePerEdgeIdPortionIds,this._uTexturePerPolygonIdEdgeIndices,16),r.drawArrays(T,0,l.numEdgeIndices16Bits)),l.numEdgeIndices32Bits>0&&(o.bindEdgeIndicesTextures(this._program,this._uTexturePerEdgeIdPortionIds,this._uTexturePerPolygonIdEdgeIndices,32),r.drawArrays(T,0,l.numEdgeIndices32Bits)),e.drawElements++}_allocate(){const e=this._scene,t=e.canvas.gl;if(this._program=new Be(t,this._buildShader()),this._program.errors)return void(this.errors=this._program.errors);const s=this._program;this._uRenderPass=s.getLocation("renderPass"),this._uPickInvisible=s.getLocation("pickInvisible"),this._uSceneModelMatrix=s.getLocation("sceneModelMatrix"),this._uViewMatrix=s.getLocation("viewMatrix"),this._uProjMatrix=s.getLocation("projMatrix"),this._uSectionPlanes=[];for(let t=0,n=e._sectionPlanesState.getNumAllocatedSectionPlanes();t0,s=[];return s.push("#version 300 es"),s.push("// Batched geometry edges drawing vertex shader"),s.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),s.push("precision highp float;"),s.push("precision highp int;"),s.push("precision highp usampler2D;"),s.push("precision highp isampler2D;"),s.push("precision highp sampler2D;"),s.push("#else"),s.push("precision mediump float;"),s.push("precision mediump int;"),s.push("precision mediump usampler2D;"),s.push("precision mediump isampler2D;"),s.push("precision mediump sampler2D;"),s.push("#endif"),s.push("uniform int renderPass;"),e.entityOffsetsEnabled&&s.push("in vec3 offset;"),s.push("uniform mat4 sceneModelMatrix;"),s.push("uniform mat4 viewMatrix;"),s.push("uniform mat4 projMatrix;"),s.push("uniform highp sampler2D uObjectPerObjectPositionsDecodeMatrix;"),s.push("uniform lowp usampler2D uObjectPerObjectColorsAndFlags;"),s.push("uniform highp sampler2D uTexturePerObjectMatrix;"),s.push("uniform mediump usampler2D uTexturePerVertexIdCoordinates;"),s.push("uniform highp usampler2D uTexturePerPolygonIdEdgeIndices;"),s.push("uniform mediump usampler2D uTexturePerEdgeIdPortionIds;"),s.push("uniform vec3 uCameraEyeRtc;"),s.push("uniform vec2 uSnapVectorA;"),s.push("uniform vec2 uSnapInvVectorAB;"),s.push("vec3 positions[3];"),s.push("uniform float logDepthBufFC;"),s.push("out float vFragDepth;"),s.push("bool isPerspectiveMatrix(mat4 m) {"),s.push(" return (m[2][3] == - 1.0);"),s.push("}"),s.push("out float isPerspective;"),s.push("vec2 remapClipPos(vec2 clipPos) {"),s.push(" float x = (clipPos.x - uSnapVectorA.x) * uSnapInvVectorAB.x;"),s.push(" float y = (clipPos.y - uSnapVectorA.y) * uSnapInvVectorAB.y;"),s.push(" return vec2(x, y);"),s.push("}"),t&&(s.push("out vec4 vWorldPosition;"),s.push("flat out uint vFlags2;")),s.push("out vec4 vViewPosition;"),s.push("out highp vec3 relativeToOriginPosition;"),s.push("void main(void) {"),s.push("int edgeIndex = gl_VertexID / 2;"),s.push("int h_packed_object_id_index = (edgeIndex >> 3) & 4095;"),s.push("int v_packed_object_id_index = (edgeIndex >> 3) >> 12;"),s.push("int objectIndex = int(texelFetch(uTexturePerEdgeIdPortionIds, ivec2(h_packed_object_id_index, v_packed_object_id_index), 0).r);"),s.push("ivec2 objectIndexCoords = ivec2(objectIndex % 512, objectIndex / 512);"),s.push("uvec4 flags = texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+2, objectIndexCoords.y), 0);"),s.push("uvec4 flags2 = texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+3, objectIndexCoords.y), 0);"),s.push("{"),s.push("ivec4 packedVertexBase = ivec4(texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+4, objectIndexCoords.y), 0));"),s.push("ivec4 packedEdgeIndexBaseOffset = ivec4(texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+6, objectIndexCoords.y), 0));"),s.push("int edgeIndexBaseOffset = (packedEdgeIndexBaseOffset.r << 24) + (packedEdgeIndexBaseOffset.g << 16) + (packedEdgeIndexBaseOffset.b << 8) + packedEdgeIndexBaseOffset.a;"),s.push("int h_index = (edgeIndex - edgeIndexBaseOffset) & 4095;"),s.push("int v_index = (edgeIndex - edgeIndexBaseOffset) >> 12;"),s.push("ivec3 vertexIndices = ivec3(texelFetch(uTexturePerPolygonIdEdgeIndices, ivec2(h_index, v_index), 0));"),s.push("ivec3 uniqueVertexIndexes = vertexIndices + (packedVertexBase.r << 24) + (packedVertexBase.g << 16) + (packedVertexBase.b << 8) + packedVertexBase.a;"),s.push("int indexPositionH = uniqueVertexIndexes[gl_VertexID % 2] & 4095;"),s.push("int indexPositionV = uniqueVertexIndexes[gl_VertexID % 2] >> 12;"),s.push("mat4 objectInstanceMatrix = mat4 (texelFetch (uTexturePerObjectMatrix, ivec2(objectIndexCoords.x*4+0, objectIndexCoords.y), 0), texelFetch (uTexturePerObjectMatrix, ivec2(objectIndexCoords.x*4+1, objectIndexCoords.y), 0), texelFetch (uTexturePerObjectMatrix, ivec2(objectIndexCoords.x*4+2, objectIndexCoords.y), 0), texelFetch (uTexturePerObjectMatrix, ivec2(objectIndexCoords.x*4+3, objectIndexCoords.y), 0));"),s.push("mat4 objectDecodeAndInstanceMatrix = objectInstanceMatrix * mat4 (texelFetch (uObjectPerObjectPositionsDecodeMatrix, ivec2(objectIndexCoords.x*4+0, objectIndexCoords.y), 0), texelFetch (uObjectPerObjectPositionsDecodeMatrix, ivec2(objectIndexCoords.x*4+1, objectIndexCoords.y), 0), texelFetch (uObjectPerObjectPositionsDecodeMatrix, ivec2(objectIndexCoords.x*4+2, objectIndexCoords.y), 0), texelFetch (uObjectPerObjectPositionsDecodeMatrix, ivec2(objectIndexCoords.x*4+3, objectIndexCoords.y), 0));"),s.push("uvec4 flags = texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+2, objectIndexCoords.y), 0);"),s.push("uvec4 flags2 = texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+3, objectIndexCoords.y), 0);"),s.push("vec3 position = vec3(texelFetch(uTexturePerVertexIdCoordinates, ivec2(indexPositionH, indexPositionV), 0));"),s.push("vec4 worldPosition = sceneModelMatrix * (objectDecodeAndInstanceMatrix * vec4(position, 1.0)); "),s.push("relativeToOriginPosition = worldPosition.xyz;"),s.push(" vec4 viewPosition = viewMatrix * worldPosition; "),t&&(s.push(" vWorldPosition = worldPosition;"),s.push(" vFlags2 = flags2.r;")),s.push("vViewPosition = viewPosition;"),s.push("vec4 clipPos = projMatrix * viewPosition;"),s.push("float tmp = clipPos.w;"),s.push("clipPos.xyzw /= tmp;"),s.push("clipPos.xy = remapClipPos(clipPos.xy);"),s.push("clipPos.xyzw *= tmp;"),s.push("vViewPosition = clipPos;"),s.push("vFragDepth = 1.0 + clipPos.w;"),s.push("isPerspective = float (isPerspectiveMatrix(projMatrix));"),s.push("gl_Position = clipPos;"),s.push("gl_PointSize = 1.0;"),s.push(" }"),s.push("}"),s}_buildFragmentShader(){const e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,s=[];if(s.push("#version 300 es"),s.push("// Triangles dataTexture pick depth fragment shader"),s.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),s.push("precision highp float;"),s.push("precision highp int;"),s.push("#else"),s.push("precision mediump float;"),s.push("precision mediump int;"),s.push("#endif"),s.push("in float isPerspective;"),s.push("uniform float logDepthBufFC;"),s.push("in float vFragDepth;"),s.push("uniform int uLayerNumber;"),s.push("uniform vec3 uCoordinateScaler;"),t){s.push("in vec4 vWorldPosition;"),s.push("flat in uint vFlags2;");for(let t=0,n=e._sectionPlanesState.getNumAllocatedSectionPlanes();t 0u;"),s.push(" if (clippable) {"),s.push(" float dist = 0.0;");for(var n=0;n 0.0) { discard; }"),s.push(" }")}return s.push(" gl_FragDepth = isPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5;"),s.push("outCoords = ivec4(relativeToOriginPosition.xyz * uCoordinateScaler.xyz, uLayerNumber);"),s.push("}"),s}webglContextRestored(){this._program=null}destroy(){this._program&&this._program.destroy(),this._program=null}}const Ao=h.vec3(),fo=h.vec3(),Io=h.vec3(),yo=h.vec3();h.vec3();const mo=h.mat4();class vo{constructor(e){this._scene=e,this._hash=this._getHash(),this._allocate()}getValid(){return this._hash===this._getHash()}_getHash(){return this._scene._sectionPlanesState.getHash()}drawLayer(e,t,s){this._program||this._allocate(),e.lastProgramId!==this._program.id&&(e.lastProgramId=this._program.id,this._bindProgram());const n=t.model,i=n.scene,a=i.camera,r=i.canvas.gl,l=t._state,o=l.textureState,c=t._state.origin,{position:u,rotationMatrix:p,rotationMatrixConjugate:A}=n,d=t.aabb,f=e.pickViewMatrix||a.viewMatrix,I=Ao;let y,m;I[0]=h.safeInv(d[3]-d[0])*h.MAX_INT,I[1]=h.safeInv(d[4]-d[1])*h.MAX_INT,I[2]=h.safeInv(d[5]-d[2])*h.MAX_INT,e.snapPickCoordinateScale[0]=h.safeInv(I[0]),e.snapPickCoordinateScale[1]=h.safeInv(I[1]),e.snapPickCoordinateScale[2]=h.safeInv(I[2]),o.bindCommonTextures(this._program,this.uTexturePerObjectPositionsDecodeMatrix,this._uTexturePerVertexIdCoordinates,this.uTexturePerObjectColorsAndFlags,this._uTexturePerObjectMatrix);const v=0!==c[0]||0!==c[1]||0!==c[2],w=0!==u[0]||0!==u[1]||0!==u[2];if(v||w){const t=fo;if(v){const e=Io;h.transformPoint3(p,c,e),t[0]=e[0],t[1]=e[1],t[2]=e[2]}else t[0]=0,t[1]=0,t[2]=0;t[0]+=u[0],t[1]+=u[1],t[2]+=u[2],y=G(f,t,mo),m=yo,m[0]=a.eye[0]-t[0],m[1]=a.eye[1]-t[1],m[2]=a.eye[2]-t[2],e.snapPickOrigin[0]=t[0],e.snapPickOrigin[1]=t[1],e.snapPickOrigin[2]=t[2]}else y=f,m=a.eye,e.snapPickOrigin[0]=0,e.snapPickOrigin[1]=0,e.snapPickOrigin[2]=0;r.uniform3fv(this._uCameraEyeRtc,m),r.uniform2fv(this._uVectorA,e.snapVectorA),r.uniform2fv(this._uInverseVectorAB,e.snapInvVectorAB),r.uniform1i(this._uLayerNumber,e.snapPickLayerNumber),r.uniform3fv(this._uCoordinateScaler,I),r.uniform1i(this._uRenderPass,s),r.uniform1i(this._uPickInvisible,e.pickInvisible),r.uniformMatrix4fv(this._uSceneWorldModelMatrix,!1,A),r.uniformMatrix4fv(this._uViewMatrix,!1,y),r.uniformMatrix4fv(this._uProjMatrix,!1,a.projMatrix);{const t=2/(Math.log(e.pickZFar+1)/Math.LN2);r.uniform1f(this._uLogDepthBufFC,t)}const g=i._sectionPlanesState.getNumAllocatedSectionPlanes(),E=i._sectionPlanesState.sectionPlanes.length;if(g>0){const e=i._sectionPlanesState.sectionPlanes,s=t.layerIndex*E,a=n.renderFlags;for(let t=0;t0&&(o.bindTriangleIndicesTextures(this._program,this._uTexturePerPolygonIdPortionIds,this._uTexturePerPolygonIdIndices,8),r.drawArrays(r.TRIANGLES,0,l.numIndices8Bits)),l.numIndices16Bits>0&&(o.bindTriangleIndicesTextures(this._program,this._uTexturePerPolygonIdPortionIds,this._uTexturePerPolygonIdIndices,16),r.drawArrays(r.TRIANGLES,0,l.numIndices16Bits)),l.numIndices32Bits>0&&(o.bindTriangleIndicesTextures(this._program,this._uTexturePerPolygonIdPortionIds,this._uTexturePerPolygonIdIndices,32),r.drawArrays(r.TRIANGLES,0,l.numIndices32Bits)),e.drawElements++}_allocate(){const e=this._scene,t=e.canvas.gl;if(this._program=new Be(t,this._buildShader()),this._program.errors)return void(this.errors=this._program.errors);const s=this._program;this._uRenderPass=s.getLocation("renderPass"),this._uPickInvisible=s.getLocation("pickInvisible"),this._uSceneWorldModelMatrix=s.getLocation("sceneModelMatrix"),this._uViewMatrix=s.getLocation("viewMatrix"),this._uProjMatrix=s.getLocation("projMatrix"),this._uSectionPlanes=[];for(let t=0,n=e._sectionPlanesState.getNumAllocatedSectionPlanes();t0,s=[];return s.push("#version 300 es"),s.push("// TrianglesDataTextureSnapDepthBufInitRenderer vertex shader"),s.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),s.push("precision highp float;"),s.push("precision highp int;"),s.push("precision highp usampler2D;"),s.push("precision highp isampler2D;"),s.push("precision highp sampler2D;"),s.push("#else"),s.push("precision mediump float;"),s.push("precision mediump int;"),s.push("precision mediump usampler2D;"),s.push("precision mediump isampler2D;"),s.push("precision mediump sampler2D;"),s.push("#endif"),s.push("uniform int renderPass;"),e.entityOffsetsEnabled&&s.push("in vec3 offset;"),s.push("uniform mat4 sceneModelMatrix;"),s.push("uniform mat4 viewMatrix;"),s.push("uniform mat4 projMatrix;"),s.push("uniform highp sampler2D uObjectPerObjectPositionsDecodeMatrix;"),s.push("uniform highp sampler2D uTexturePerObjectMatrix;"),s.push("uniform lowp usampler2D uObjectPerObjectColorsAndFlags;"),s.push("uniform mediump usampler2D uTexturePerVertexIdCoordinates;"),s.push("uniform highp usampler2D uTexturePerPolygonIdIndices;"),s.push("uniform mediump usampler2D uTexturePerPolygonIdPortionIds;"),s.push("uniform vec3 uCameraEyeRtc;"),s.push("uniform vec2 uVectorAB;"),s.push("uniform vec2 uInverseVectorAB;"),s.push("vec3 positions[3];"),s.push("uniform float logDepthBufFC;"),s.push("out float vFragDepth;"),s.push("out float isPerspective;"),s.push("bool isPerspectiveMatrix(mat4 m) {"),s.push(" return (m[2][3] == - 1.0);"),s.push("}"),s.push("vec2 remapClipPos(vec2 clipPos) {"),s.push(" float x = (clipPos.x - uVectorAB.x) * uInverseVectorAB.x;"),s.push(" float y = (clipPos.y - uVectorAB.y) * uInverseVectorAB.y;"),s.push(" return vec2(x, y);"),s.push("}"),s.push("flat out vec4 vPickColor;"),s.push("out vec4 vWorldPosition;"),t&&s.push("flat out uint vFlags2;"),s.push("out highp vec3 relativeToOriginPosition;"),s.push("void main(void) {"),s.push("int polygonIndex = gl_VertexID / 3;"),s.push("int h_packed_object_id_index = (polygonIndex >> 3) & 4095;"),s.push("int v_packed_object_id_index = (polygonIndex >> 3) >> 12;"),s.push("int objectIndex = int(texelFetch(uTexturePerPolygonIdPortionIds, ivec2(h_packed_object_id_index, v_packed_object_id_index), 0).r);"),s.push("ivec2 objectIndexCoords = ivec2(objectIndex % 512, objectIndex / 512);"),s.push("uvec4 flags = texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+2, objectIndexCoords.y), 0);"),s.push("uvec4 flags2 = texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+3, objectIndexCoords.y), 0);"),s.push("{"),s.push("uvec4 color = texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+0, objectIndexCoords.y), 0);"),s.push("if (color.a == 0u) {"),s.push(" gl_Position = vec4(3.0, 3.0, 3.0, 1.0);"),s.push(" return;"),s.push("};"),s.push("ivec4 packedVertexBase = ivec4(texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+4, objectIndexCoords.y), 0));"),s.push("ivec4 packedIndexBaseOffset = ivec4(texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+5, objectIndexCoords.y), 0));"),s.push("int indexBaseOffset = (packedIndexBaseOffset.r << 24) + (packedIndexBaseOffset.g << 16) + (packedIndexBaseOffset.b << 8) + packedIndexBaseOffset.a;"),s.push("int h_index = (polygonIndex - indexBaseOffset) & 4095;"),s.push("int v_index = (polygonIndex - indexBaseOffset) >> 12;"),s.push("ivec3 vertexIndices = ivec3(texelFetch(uTexturePerPolygonIdIndices, ivec2(h_index, v_index), 0));"),s.push("ivec3 uniqueVertexIndexes = vertexIndices + (packedVertexBase.r << 24) + (packedVertexBase.g << 16) + (packedVertexBase.b << 8) + packedVertexBase.a;"),s.push("ivec3 indexPositionH = uniqueVertexIndexes & 4095;"),s.push("ivec3 indexPositionV = uniqueVertexIndexes >> 12;"),s.push("mat4 objectInstanceMatrix = mat4 (texelFetch (uTexturePerObjectMatrix, ivec2(objectIndexCoords.x*4+0, objectIndexCoords.y), 0), texelFetch (uTexturePerObjectMatrix, ivec2(objectIndexCoords.x*4+1, objectIndexCoords.y), 0), texelFetch (uTexturePerObjectMatrix, ivec2(objectIndexCoords.x*4+2, objectIndexCoords.y), 0), texelFetch (uTexturePerObjectMatrix, ivec2(objectIndexCoords.x*4+3, objectIndexCoords.y), 0));"),s.push("mat4 objectDecodeAndInstanceMatrix = objectInstanceMatrix * mat4 (texelFetch (uObjectPerObjectPositionsDecodeMatrix, ivec2(objectIndexCoords.x*4+0, objectIndexCoords.y), 0), texelFetch (uObjectPerObjectPositionsDecodeMatrix, ivec2(objectIndexCoords.x*4+1, objectIndexCoords.y), 0), texelFetch (uObjectPerObjectPositionsDecodeMatrix, ivec2(objectIndexCoords.x*4+2, objectIndexCoords.y), 0), texelFetch (uObjectPerObjectPositionsDecodeMatrix, ivec2(objectIndexCoords.x*4+3, objectIndexCoords.y), 0));"),s.push("uint solid = texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+7, objectIndexCoords.y), 0).r;"),s.push("positions[0] = vec3(texelFetch(uTexturePerVertexIdCoordinates, ivec2(indexPositionH.r, indexPositionV.r), 0));"),s.push("positions[1] = vec3(texelFetch(uTexturePerVertexIdCoordinates, ivec2(indexPositionH.g, indexPositionV.g), 0));"),s.push("positions[2] = vec3(texelFetch(uTexturePerVertexIdCoordinates, ivec2(indexPositionH.b, indexPositionV.b), 0));"),s.push("vec3 normal = normalize(cross(positions[2] - positions[0], positions[1] - positions[0]));"),s.push("vec3 position;"),s.push("position = positions[gl_VertexID % 3];"),s.push("vec3 viewNormal = -normalize((transpose(inverse(viewMatrix*objectDecodeAndInstanceMatrix)) * vec4(normal,1)).xyz);"),s.push("if (solid != 1u) {"),s.push(" if (isPerspectiveMatrix(projMatrix)) {"),s.push(" vec3 uCameraEyeRtcInQuantizedSpace = (inverse(sceneModelMatrix * objectDecodeAndInstanceMatrix) * vec4(uCameraEyeRtc, 1)).xyz;"),s.push(" if (dot(position.xyz - uCameraEyeRtcInQuantizedSpace, normal) < 0.0) {"),s.push(" position = positions[2 - (gl_VertexID % 3)];"),s.push(" viewNormal = -viewNormal;"),s.push(" }"),s.push(" } else {"),s.push(" if (viewNormal.z < 0.0) {"),s.push(" position = positions[2 - (gl_VertexID % 3)];"),s.push(" viewNormal = -viewNormal;"),s.push(" }"),s.push(" }"),s.push("}"),s.push("vec4 worldPosition = sceneModelMatrix * (objectDecodeAndInstanceMatrix * vec4(position, 1.0)); "),s.push("relativeToOriginPosition = worldPosition.xyz;"),s.push("vec4 viewPosition = viewMatrix * worldPosition; "),s.push("vWorldPosition = worldPosition;"),t&&s.push("vFlags2 = flags2.r;"),s.push("vPickColor = vec4(texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+1, objectIndexCoords.y), 0));"),s.push("vec4 clipPos = projMatrix * viewPosition;"),s.push("float tmp = clipPos.w;"),s.push("clipPos.xyzw /= tmp;"),s.push("clipPos.xy = remapClipPos(clipPos.xy);"),s.push("clipPos.xyzw *= tmp;"),s.push("vFragDepth = 1.0 + clipPos.w;"),s.push("isPerspective = float (isPerspectiveMatrix(projMatrix));"),s.push("gl_Position = clipPos;"),s.push(" }"),s.push("}"),s}_buildFragmentShader(){const e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,s=[];if(s.push("#version 300 es"),s.push("// TrianglesDataTextureSnapDepthBufInitRenderer fragment shader"),s.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),s.push("precision highp float;"),s.push("precision highp int;"),s.push("#else"),s.push("precision mediump float;"),s.push("precision mediump int;"),s.push("#endif"),s.push("in float isPerspective;"),s.push("uniform float logDepthBufFC;"),s.push("in float vFragDepth;"),s.push("uniform int uLayerNumber;"),s.push("uniform vec3 uCoordinateScaler;"),s.push("in vec4 vWorldPosition;"),s.push("flat in vec4 vPickColor;"),t){s.push("flat in uint vFlags2;");for(let t=0,n=e._sectionPlanesState.getNumAllocatedSectionPlanes();t 0u;"),s.push(" if (clippable) {"),s.push(" float dist = 0.0;");for(var n=0;n 0.0) { discard; }"),s.push(" }")}return s.push(" float dx = dFdx(vFragDepth);"),s.push(" float dy = dFdy(vFragDepth);"),s.push(" float diff = sqrt(dx*dx+dy*dy);"),s.push(" gl_FragDepth = isPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth + diff ) * logDepthBufFC * 0.5;"),s.push("outCoords = ivec4(relativeToOriginPosition.xyz * uCoordinateScaler.xyz, - uLayerNumber);"),s.push("vec3 xTangent = dFdx( vWorldPosition.xyz );"),s.push("vec3 yTangent = dFdy( vWorldPosition.xyz );"),s.push("vec3 worldNormal = normalize( cross( xTangent, yTangent ) );"),s.push(`outNormal = ivec4(worldNormal * float(${h.MAX_INT}), 1.0);`),s.push("outPickColor = uvec4(vPickColor);"),s.push("}"),s}webglContextRestored(){this._program=null}destroy(){this._program&&this._program.destroy(),this._program=null}}const wo=h.vec3(),go=h.vec3(),Eo=h.vec3();h.vec3();const To=h.mat4();class bo{constructor(e){this._scene=e,this._hash=this._getHash(),this._allocate()}getValid(){return this._hash===this._getHash()}_getHash(){return this._scene._sectionPlanesState.getHash()}drawLayer(e,t,s){const n=t.model,i=n.scene,a=i.camera,r=i.canvas.gl,l=t._state,o=l.textureState,c=t._state.origin,{position:u,rotationMatrix:p,rotationMatrixConjugate:A}=n,d=e.pickViewMatrix||a.viewMatrix;if(!this._program&&(this._allocate(t),this.errors))return;let f,I;if(e.lastProgramId!==this._program.id&&(e.lastProgramId=this._program.id,this._bindProgram()),o.bindCommonTextures(this._program,this.uTexturePerObjectPositionsDecodeMatrix,this._uTexturePerVertexIdCoordinates,this.uTexturePerObjectColorsAndFlags,this._uTexturePerObjectMatrix),c||0!==u[0]||0!==u[1]||0!==u[2]){const e=wo;if(c){const t=go;h.transformPoint3(p,c,t),e[0]=t[0],e[1]=t[1],e[2]=t[2]}else e[0]=0,e[1]=0,e[2]=0;e[0]+=u[0],e[1]+=u[1],e[2]+=u[2],f=G(d,e,To),I=Eo,I[0]=a.eye[0]-e[0],I[1]=a.eye[1]-e[1],I[2]=a.eye[2]-e[2]}else f=d,I=a.eye;r.uniform3fv(this._uCameraEyeRtc,I),r.uniform1i(this._uRenderPass,s),r.uniformMatrix4fv(this._uWorldMatrix,!1,A),r.uniformMatrix4fv(this._uViewMatrix,!1,f),r.uniformMatrix4fv(this._uProjMatrix,!1,a.projMatrix);const y=i._sectionPlanesState.getNumAllocatedSectionPlanes(),m=i._sectionPlanesState.sectionPlanes.length;if(y>0){const e=i._sectionPlanesState.sectionPlanes,s=t.layerIndex*m,a=n.renderFlags;for(let t=0;t0&&(o.bindTriangleIndicesTextures(this._program,this._uTexturePerPolygonIdPortionIds,this._uTexturePerPolygonIdIndices,8),r.drawArrays(r.TRIANGLES,0,l.numIndices8Bits)),l.numIndices16Bits>0&&(o.bindTriangleIndicesTextures(this._program,this._uTexturePerPolygonIdPortionIds,this._uTexturePerPolygonIdIndices,16),r.drawArrays(r.TRIANGLES,0,l.numIndices16Bits)),l.numIndices32Bits>0&&(o.bindTriangleIndicesTextures(this._program,this._uTexturePerPolygonIdPortionIds,this._uTexturePerPolygonIdIndices,32),r.drawArrays(r.TRIANGLES,0,l.numIndices32Bits)),e.drawElements++}_allocate(){const e=this._scene,t=e.canvas.gl;if(this._program=new Be(t,this._buildShader()),this._program.errors)return void(this.errors=this._program.errors);const s=this._program;this._uRenderPass=s.getLocation("renderPass"),this._uPickInvisible=s.getLocation("pickInvisible"),this._uWorldMatrix=s.getLocation("sceneModelMatrix"),this._uViewMatrix=s.getLocation("viewMatrix"),this._uProjMatrix=s.getLocation("projMatrix"),this._uSectionPlanes=[];for(let t=0,n=e._sectionPlanesState.getNumAllocatedSectionPlanes();t0,s=[];return s.push("#version 300 es"),s.push("// TrianglesDataTextureOcclusionRenderer vertex shader"),s.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),s.push("precision highp float;"),s.push("precision highp int;"),s.push("precision highp usampler2D;"),s.push("precision highp isampler2D;"),s.push("precision highp sampler2D;"),s.push("#else"),s.push("precision mediump float;"),s.push("precision mediump int;"),s.push("precision mediump usampler2D;"),s.push("precision mediump isampler2D;"),s.push("precision mediump sampler2D;"),s.push("#endif"),s.push("uniform int renderPass;"),e.entityOffsetsEnabled&&s.push("in vec3 offset;"),s.push("uniform mat4 sceneModelMatrix;"),s.push("uniform mat4 viewMatrix;"),s.push("uniform mat4 projMatrix;"),s.push("uniform highp sampler2D uObjectPerObjectPositionsDecodeMatrix;"),s.push("uniform highp sampler2D uTexturePerObjectMatrix;"),s.push("uniform lowp usampler2D uObjectPerObjectColorsAndFlags;"),s.push("uniform mediump usampler2D uTexturePerVertexIdCoordinates;"),s.push("uniform highp usampler2D uTexturePerPolygonIdIndices;"),s.push("uniform mediump usampler2D uTexturePerPolygonIdPortionIds;"),s.push("uniform vec3 uCameraEyeRtc;"),s.push("vec3 positions[3];"),s.push("bool isPerspectiveMatrix(mat4 m) {"),s.push(" return (m[2][3] == - 1.0);"),s.push("}"),t&&(s.push("out vec4 vWorldPosition;"),s.push("flat out uint vFlags2;")),s.push("void main(void) {"),s.push("int polygonIndex = gl_VertexID / 3;"),s.push("int h_packed_object_id_index = (polygonIndex >> 3) & 4095;"),s.push("int v_packed_object_id_index = (polygonIndex >> 3) >> 12;"),s.push("int objectIndex = int(texelFetch(uTexturePerPolygonIdPortionIds, ivec2(h_packed_object_id_index, v_packed_object_id_index), 0).r);"),s.push("ivec2 objectIndexCoords = ivec2(objectIndex % 512, objectIndex / 512);"),s.push("uvec4 flags = texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+2, objectIndexCoords.y), 0);"),s.push("uvec4 flags2 = texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+3, objectIndexCoords.y), 0);"),s.push("if (int(flags.x) != renderPass) {"),s.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),s.push(" } else {"),s.push("ivec4 packedVertexBase = ivec4(texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+4, objectIndexCoords.y), 0));"),s.push("ivec4 packedIndexBaseOffset = ivec4(texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+5, objectIndexCoords.y), 0));"),s.push("int indexBaseOffset = (packedIndexBaseOffset.r << 24) + (packedIndexBaseOffset.g << 16) + (packedIndexBaseOffset.b << 8) + packedIndexBaseOffset.a;"),s.push("int h_index = (polygonIndex - indexBaseOffset) & 4095;"),s.push("int v_index = (polygonIndex - indexBaseOffset) >> 12;"),s.push("ivec3 vertexIndices = ivec3(texelFetch(uTexturePerPolygonIdIndices, ivec2(h_index, v_index), 0));"),s.push("ivec3 uniqueVertexIndexes = vertexIndices + (packedVertexBase.r << 24) + (packedVertexBase.g << 16) + (packedVertexBase.b << 8) + packedVertexBase.a;"),s.push("ivec3 indexPositionH = uniqueVertexIndexes & 4095;"),s.push("ivec3 indexPositionV = uniqueVertexIndexes >> 12;"),s.push("mat4 objectInstanceMatrix = mat4 (texelFetch (uTexturePerObjectMatrix, ivec2(objectIndexCoords.x*4+0, objectIndexCoords.y), 0), texelFetch (uTexturePerObjectMatrix, ivec2(objectIndexCoords.x*4+1, objectIndexCoords.y), 0), texelFetch (uTexturePerObjectMatrix, ivec2(objectIndexCoords.x*4+2, objectIndexCoords.y), 0), texelFetch (uTexturePerObjectMatrix, ivec2(objectIndexCoords.x*4+3, objectIndexCoords.y), 0));"),s.push("mat4 objectDecodeAndInstanceMatrix = objectInstanceMatrix * mat4 (texelFetch (uObjectPerObjectPositionsDecodeMatrix, ivec2(objectIndexCoords.x*4+0, objectIndexCoords.y), 0), texelFetch (uObjectPerObjectPositionsDecodeMatrix, ivec2(objectIndexCoords.x*4+1, objectIndexCoords.y), 0), texelFetch (uObjectPerObjectPositionsDecodeMatrix, ivec2(objectIndexCoords.x*4+2, objectIndexCoords.y), 0), texelFetch (uObjectPerObjectPositionsDecodeMatrix, ivec2(objectIndexCoords.x*4+3, objectIndexCoords.y), 0));"),s.push("uint solid = texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+7, objectIndexCoords.y), 0).r;"),s.push("positions[0] = vec3(texelFetch(uTexturePerVertexIdCoordinates, ivec2(indexPositionH.r, indexPositionV.r), 0));"),s.push("positions[1] = vec3(texelFetch(uTexturePerVertexIdCoordinates, ivec2(indexPositionH.g, indexPositionV.g), 0));"),s.push("positions[2] = vec3(texelFetch(uTexturePerVertexIdCoordinates, ivec2(indexPositionH.b, indexPositionV.b), 0));"),s.push("uvec4 color = texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+0, objectIndexCoords.y), 0);"),s.push("if (color.a == 0u) {"),s.push(" gl_Position = vec4(3.0, 3.0, 3.0, 1.0);"),s.push(" return;"),s.push("};"),s.push("vec3 normal = normalize(cross(positions[2] - positions[0], positions[1] - positions[0]));"),s.push("vec3 position;"),s.push("position = positions[gl_VertexID % 3];"),s.push("if (solid != 1u) {"),s.push(" if (isPerspectiveMatrix(projMatrix)) {"),s.push(" vec3 uCameraEyeRtcInQuantizedSpace = (inverse(sceneModelMatrix * objectDecodeAndInstanceMatrix) * vec4(uCameraEyeRtc, 1)).xyz;"),s.push(" if (dot(position.xyz - uCameraEyeRtcInQuantizedSpace, normal) < 0.0) {"),s.push(" position = positions[2 - (gl_VertexID % 3)];"),s.push(" }"),s.push(" } else {"),s.push(" vec3 viewNormal = -normalize((transpose(inverse(viewMatrix*objectDecodeAndInstanceMatrix)) * vec4(normal,1)).xyz);"),s.push(" if (viewNormal.z < 0.0) {"),s.push(" position = positions[2 - (gl_VertexID % 3)];"),s.push(" }"),s.push(" }"),s.push("}"),s.push("vec4 worldPosition = sceneModelMatrix * (objectDecodeAndInstanceMatrix * vec4(position, 1.0)); "),s.push("vec4 viewPosition = viewMatrix * worldPosition; "),s.push("vec4 clipPos = projMatrix * viewPosition;"),t&&(s.push("vWorldPosition = worldPosition;"),s.push("vFlags2 = flags2.r;")),s.push("gl_Position = clipPos;"),s.push(" }"),s.push("}"),s}_buildFragmentShader(){const e=this._scene._sectionPlanesState,t=e.getNumAllocatedSectionPlanes()>0,s=[];if(s.push("#version 300 es"),s.push("// TrianglesDataTextureColorRenderer fragment shader"),s.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),s.push("precision highp float;"),s.push("precision highp int;"),s.push("#else"),s.push("precision mediump float;"),s.push("precision mediump int;"),s.push("#endif"),t){s.push("in vec4 vWorldPosition;"),s.push("flat in uint vFlags2;");for(let t=0;t 0.0);"),s.push(" if (clippable) {"),s.push(" float dist = 0.0;");for(let t=0;t 0.0) { discard; }"),s.push(" }")}return s.push(" outColor = vec4(0.0, 0.0, 1.0, 1.0); "),s.push("}"),s}webglContextRestored(){this._program=null}destroy(){this._program&&this._program.destroy(),this._program=null}}const Do=h.vec3(),Po=h.vec3(),Ro=h.vec3();h.vec3();const Co=h.mat4();class _o{constructor(e){this._scene=e,this._allocate(),this._hash=this._getHash()}getValid(){return this._hash===this._getHash()}_getHash(){return this._scene._sectionPlanesState.getHash()}drawLayer(e,t,s){const n=this._scene,i=n.camera,a=t.model,r=n.canvas.gl,l=t._state,o=l.textureState,c=t._state.origin,{position:u,rotationMatrix:p,rotationMatrixConjugate:A}=a;if(!this._program&&(this._allocate(),this.errors))return;let d,f;e.lastProgramId!==this._program.id&&(e.lastProgramId=this._program.id,this._bindProgram(e,l)),o.bindCommonTextures(this._program,this.uTexturePerObjectPositionsDecodeMatrix,this._uTexturePerVertexIdCoordinates,this.uTexturePerObjectColorsAndFlags,this._uTexturePerObjectMatrix);const I=0!==c[0]||0!==c[1]||0!==c[2],y=0!==u[0]||0!==u[1]||0!==u[2];if(I||y){const e=Do;if(I){const t=h.transformPoint3(p,c,Po);e[0]=t[0],e[1]=t[1],e[2]=t[2]}else e[0]=0,e[1]=0,e[2]=0;e[0]+=u[0],e[1]+=u[1],e[2]+=u[2],d=G(i.viewMatrix,e,Co),f=Ro,f[0]=i.eye[0]-e[0],f[1]=i.eye[1]-e[1],f[2]=i.eye[2]-e[2]}else d=i.viewMatrix,f=i.eye;if(r.uniformMatrix4fv(this._uSceneModelMatrix,!1,A),r.uniformMatrix4fv(this._uViewMatrix,!1,d),r.uniformMatrix4fv(this._uProjMatrix,!1,i.projMatrix),r.uniform3fv(this._uCameraEyeRtc,f),r.uniform1i(this._uRenderPass,s),n.logarithmicDepthBufferEnabled){const t=2/(Math.log(e.pickZFar+1)/Math.LN2);r.uniform1f(this._uLogDepthBufFC,t)}const m=n._sectionPlanesState.getNumAllocatedSectionPlanes(),v=n._sectionPlanesState.sectionPlanes.length;if(m>0){const e=n._sectionPlanesState.sectionPlanes,s=t.layerIndex*v,i=a.renderFlags;for(let t=0;t0&&(o.bindTriangleIndicesTextures(this._program,this._uTexturePerPolygonIdPortionIds,this._uTexturePerPolygonIdIndices,8),r.drawArrays(r.TRIANGLES,0,l.numIndices8Bits)),l.numIndices16Bits>0&&(o.bindTriangleIndicesTextures(this._program,this._uTexturePerPolygonIdPortionIds,this._uTexturePerPolygonIdIndices,16),r.drawArrays(r.TRIANGLES,0,l.numIndices16Bits)),l.numIndices32Bits>0&&(o.bindTriangleIndicesTextures(this._program,this._uTexturePerPolygonIdPortionIds,this._uTexturePerPolygonIdIndices,32),r.drawArrays(r.TRIANGLES,0,l.numIndices32Bits)),e.drawElements++}_allocate(){const e=this._scene,t=e.canvas.gl;if(this._program=new Be(t,this._buildShader()),this._program.errors)return void(this.errors=this._program.errors);const s=this._program;this._uRenderPass=s.getLocation("renderPass"),this._uPositionsDecodeMatrix=s.getLocation("objectDecodeAndInstanceMatrix"),this._uSceneModelMatrix=s.getLocation("sceneModelMatrix"),this._uViewMatrix=s.getLocation("viewMatrix"),this._uProjMatrix=s.getLocation("projMatrix"),this._uSectionPlanes=[];for(let t=0,n=e._sectionPlanesState.getNumAllocatedSectionPlanes();t0,s=[];return s.push("#version 300 es"),s.push("// Triangles dataTexture draw vertex shader"),s.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),s.push("precision highp float;"),s.push("precision highp int;"),s.push("precision highp usampler2D;"),s.push("precision highp isampler2D;"),s.push("precision highp sampler2D;"),s.push("#else"),s.push("precision mediump float;"),s.push("precision mediump int;"),s.push("precision mediump usampler2D;"),s.push("precision mediump isampler2D;"),s.push("precision mediump sampler2D;"),s.push("#endif"),s.push("uniform int renderPass;"),e.entityOffsetsEnabled&&s.push("in vec3 offset;"),s.push("uniform mat4 sceneModelMatrix;"),s.push("uniform mat4 viewMatrix;"),s.push("uniform mat4 projMatrix;"),s.push("uniform highp sampler2D uObjectPerObjectPositionsDecodeMatrix;"),s.push("uniform highp sampler2D uTexturePerObjectMatrix;"),s.push("uniform lowp usampler2D uObjectPerObjectColorsAndFlags;"),s.push("uniform mediump usampler2D uTexturePerVertexIdCoordinates;"),s.push("uniform highp usampler2D uTexturePerPolygonIdIndices;"),s.push("uniform mediump usampler2D uTexturePerPolygonIdPortionIds;"),s.push("uniform vec3 uCameraEyeRtc;"),s.push("vec3 positions[3];"),e.logarithmicDepthBufferEnabled&&(s.push("uniform float logDepthBufFC;"),s.push("out float vFragDepth;"),s.push("out float isPerspective;")),s.push("bool isPerspectiveMatrix(mat4 m) {"),s.push(" return (m[2][3] == - 1.0);"),s.push("}"),s.push("out highp vec2 vHighPrecisionZW;"),t&&(s.push("out vec4 vWorldPosition;"),s.push("flat out uint vFlags2;")),s.push("void main(void) {"),s.push("int polygonIndex = gl_VertexID / 3;"),s.push("int h_packed_object_id_index = (polygonIndex >> 3) & 4095;"),s.push("int v_packed_object_id_index = (polygonIndex >> 3) >> 12;"),s.push("int objectIndex = int(texelFetch(uTexturePerPolygonIdPortionIds, ivec2(h_packed_object_id_index, v_packed_object_id_index), 0).r);"),s.push("ivec2 objectIndexCoords = ivec2(objectIndex % 512, objectIndex / 512);"),s.push("uvec4 flags = texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+2, objectIndexCoords.y), 0);"),s.push("uvec4 flags2 = texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+3, objectIndexCoords.y), 0);"),s.push("if (int(flags.x) != renderPass) {"),s.push(" gl_Position = vec4(3.0, 3.0, 3.0, 1.0);"),s.push(" return;"),s.push("} else {"),s.push("ivec4 packedVertexBase = ivec4(texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+4, objectIndexCoords.y), 0));"),s.push("ivec4 packedIndexBaseOffset = ivec4(texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+5, objectIndexCoords.y), 0));"),s.push("int indexBaseOffset = (packedIndexBaseOffset.r << 24) + (packedIndexBaseOffset.g << 16) + (packedIndexBaseOffset.b << 8) + packedIndexBaseOffset.a;"),s.push("int h_index = (polygonIndex - indexBaseOffset) & 4095;"),s.push("int v_index = (polygonIndex - indexBaseOffset) >> 12;"),s.push("ivec3 vertexIndices = ivec3(texelFetch(uTexturePerPolygonIdIndices, ivec2(h_index, v_index), 0));"),s.push("ivec3 uniqueVertexIndexes = vertexIndices + (packedVertexBase.r << 24) + (packedVertexBase.g << 16) + (packedVertexBase.b << 8) + packedVertexBase.a;"),s.push("ivec3 indexPositionH = uniqueVertexIndexes & 4095;"),s.push("ivec3 indexPositionV = uniqueVertexIndexes >> 12;"),s.push("mat4 objectInstanceMatrix = mat4 (texelFetch (uTexturePerObjectMatrix, ivec2(objectIndexCoords.x*4+0, objectIndexCoords.y), 0), texelFetch (uTexturePerObjectMatrix, ivec2(objectIndexCoords.x*4+1, objectIndexCoords.y), 0), texelFetch (uTexturePerObjectMatrix, ivec2(objectIndexCoords.x*4+2, objectIndexCoords.y), 0), texelFetch (uTexturePerObjectMatrix, ivec2(objectIndexCoords.x*4+3, objectIndexCoords.y), 0));"),s.push("mat4 objectDecodeAndInstanceMatrix = objectInstanceMatrix * mat4 (texelFetch (uObjectPerObjectPositionsDecodeMatrix, ivec2(objectIndexCoords.x*4+0, objectIndexCoords.y), 0), texelFetch (uObjectPerObjectPositionsDecodeMatrix, ivec2(objectIndexCoords.x*4+1, objectIndexCoords.y), 0), texelFetch (uObjectPerObjectPositionsDecodeMatrix, ivec2(objectIndexCoords.x*4+2, objectIndexCoords.y), 0), texelFetch (uObjectPerObjectPositionsDecodeMatrix, ivec2(objectIndexCoords.x*4+3, objectIndexCoords.y), 0));"),s.push("uint solid = texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+7, objectIndexCoords.y), 0).r;"),s.push("positions[0] = vec3(texelFetch(uTexturePerVertexIdCoordinates, ivec2(indexPositionH.r, indexPositionV.r), 0));"),s.push("positions[1] = vec3(texelFetch(uTexturePerVertexIdCoordinates, ivec2(indexPositionH.g, indexPositionV.g), 0));"),s.push("positions[2] = vec3(texelFetch(uTexturePerVertexIdCoordinates, ivec2(indexPositionH.b, indexPositionV.b), 0));"),s.push("uvec4 color = texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+0, objectIndexCoords.y), 0);"),s.push("if (color.a == 0u) {"),s.push(" gl_Position = vec4(3.0, 3.0, 3.0, 1.0);"),s.push(" return;"),s.push("};"),s.push("vec3 normal = normalize(cross(positions[2] - positions[0], positions[1] - positions[0]));"),s.push("vec3 position;"),s.push("position = positions[gl_VertexID % 3];"),s.push("vec3 viewNormal = -normalize((transpose(inverse(viewMatrix*objectDecodeAndInstanceMatrix)) * vec4(normal,1)).xyz);"),s.push("if (solid != 1u) {"),s.push("if (isPerspectiveMatrix(projMatrix)) {"),s.push("vec3 uCameraEyeRtcInQuantizedSpace = (inverse(sceneModelMatrix * objectDecodeAndInstanceMatrix) * vec4(uCameraEyeRtc, 1)).xyz;"),s.push("if (dot(position.xyz - uCameraEyeRtcInQuantizedSpace, normal) < 0.0) {"),s.push("position = positions[2 - (gl_VertexID % 3)];"),s.push("viewNormal = -viewNormal;"),s.push("}"),s.push("} else {"),s.push("if (viewNormal.z < 0.0) {"),s.push("position = positions[2 - (gl_VertexID % 3)];"),s.push("viewNormal = -viewNormal;"),s.push("}"),s.push("}"),s.push("}"),s.push("vec4 worldPosition = sceneModelMatrix * (objectDecodeAndInstanceMatrix * vec4(position, 1.0)); "),s.push("vec4 viewPosition = viewMatrix * worldPosition; "),s.push("vec4 clipPos = projMatrix * viewPosition;"),e.logarithmicDepthBufferEnabled&&(s.push("vFragDepth = 1.0 + clipPos.w;"),s.push("isPerspective = float (isPerspectiveMatrix(projMatrix));")),t&&(s.push("vWorldPosition = worldPosition;"),s.push("vFlags2 = flags2.r;")),s.push("gl_Position = clipPos;"),s.push("vHighPrecisionZW = gl_Position.zw;"),s.push("}"),s.push("}"),s}_buildFragmentShader(){const e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,s=[];if(s.push("#version 300 es"),s.push("// Triangles dataTexture draw fragment shader"),s.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),s.push("precision highp float;"),s.push("precision highp int;"),s.push("#else"),s.push("precision mediump float;"),s.push("precision mediump int;"),s.push("#endif"),s.push("in highp vec2 vHighPrecisionZW;"),s.push("out vec4 outColor;"),e.logarithmicDepthBufferEnabled&&(s.push("in float isPerspective;"),s.push("uniform float logDepthBufFC;"),s.push("in float vFragDepth;")),t){s.push("in vec4 vWorldPosition;"),s.push("flat in uint vFlags2;");for(let t=0,n=e._sectionPlanesState.getNumAllocatedSectionPlanes();t 0u;"),s.push(" if (clippable) {"),s.push(" float dist = 0.0;");for(let t=0,n=e._sectionPlanesState.getNumAllocatedSectionPlanes();t 0.0) { "),s.push(" discard;"),s.push(" }"),s.push("}")}return e.logarithmicDepthBufferEnabled&&s.push(" gl_FragDepth = isPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5;"),s.push("float fragCoordZ = 0.5 * vHighPrecisionZW[0] / vHighPrecisionZW[1] + 0.5;"),s.push(" outColor = vec4(vec3(1.0 - fragCoordZ), 1.0); "),s.push("}"),s}webglContextRestored(){this._program=null}destroy(){this._program&&this._program.destroy(),this._program=null}}const Bo=h.vec3(),Oo=h.vec3(),So=h.vec3();h.vec3();const No=h.mat4();class xo{constructor(e){this._scene=e,this._hash=this._getHash(),this._allocate()}getValid(){return this._hash===this._getHash()}_getHash(){return this._scene._sectionPlanesState.getHash()}drawLayer(e,t,s){const n=t.model,i=n.scene,a=i.camera,r=i.canvas.gl,l=t._state,o=t._state.origin,{position:c,rotationMatrix:u,rotationMatrixConjugate:p}=n,A=a.viewMatrix;if(!this._program&&(this._allocate(t),this.errors))return;let d,f;e.lastProgramId!==this._program.id&&(e.lastProgramId=this._program.id,this._bindProgram(t));const I=0!==o[0]||0!==o[1]||0!==o[2],y=0!==c[0]||0!==c[1]||0!==c[2];if(I||y){const e=Bo;if(I){const t=Oo;h.transformPoint3(u,o,t),e[0]=t[0],e[1]=t[1],e[2]=t[2]}else e[0]=0,e[1]=0,e[2]=0;e[0]+=c[0],e[1]+=c[1],e[2]+=c[2],d=G(A,e,No),f=So,f[0]=a.eye[0]-e[0],f[1]=a.eye[1]-e[1],f[2]=a.eye[2]-e[2]}else d=A,f=a.eye;r.uniform1i(this._uRenderPass,s),r.uniformMatrix4fv(this._uWorldMatrix,!1,p),r.uniformMatrix4fv(this._uViewMatrix,!1,d),r.uniformMatrix4fv(this._uProjMatrix,!1,a.projMatrix),r.uniformMatrix4fv(this._uViewNormalMatrix,!1,a.viewNormalMatrix),r.uniformMatrix4fv(this._uWorldNormalMatrix,!1,n.worldNormalMatrix);const m=i._sectionPlanesState.getNumAllocatedSectionPlanes(),v=i._sectionPlanesState.sectionPlanes.length;if(m>0){const e=i._sectionPlanesState.sectionPlanes,s=t.layerIndex*v,a=n.renderFlags;for(let t=0;t0,s=[];return s.push("// Batched geometry normals vertex shader"),e.logarithmicDepthBufferEnabled&&ge.SUPPORTED_EXTENSIONS.EXT_frag_depth&&s.push("#extension GL_EXT_frag_depth : enable"),s.push("uniform int renderPass;"),s.push("attribute vec3 position;"),e.entityOffsetsEnabled&&s.push("attribute vec3 offset;"),s.push("attribute vec3 normal;"),s.push("attribute vec4 color;"),s.push("attribute vec4 flags;"),s.push("attribute vec4 flags2;"),s.push("uniform mat4 worldMatrix;"),s.push("uniform mat4 worldNormalMatrix;"),s.push("uniform mat4 viewMatrix;"),s.push("uniform mat4 projMatrix;"),s.push("uniform mat4 viewNormalMatrix;"),s.push("uniform mat4 objectDecodeAndInstanceMatrix;"),e.logarithmicDepthBufferEnabled&&(s.push("uniform float logDepthBufFC;"),ge.SUPPORTED_EXTENSIONS.EXT_frag_depth&&s.push("out float vFragDepth;"),s.push("bool isPerspectiveMatrix(mat4 m) {"),s.push(" return (m[2][3] == - 1.0);"),s.push("}"),s.push("varying float isPerspective;")),s.push("vec3 octDecode(vec2 oct) {"),s.push(" vec3 v = vec3(oct.xy, 1.0 - abs(oct.x) - abs(oct.y));"),s.push(" if (v.z < 0.0) {"),s.push(" v.xy = (1.0 - abs(v.yx)) * vec2(v.x >= 0.0 ? 1.0 : -1.0, v.y >= 0.0 ? 1.0 : -1.0);"),s.push(" }"),s.push(" return normalize(v);"),s.push("}"),t&&(s.push("out vec4 vWorldPosition;"),s.push("out vec4 vFlags2;")),s.push("out vec3 vViewNormal;"),s.push("void main(void) {"),s.push("if (int(flags.x) != renderPass) {"),s.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),s.push(" } else {"),s.push(" vec4 worldPosition = worldMatrix * (objectDecodeAndInstanceMatrix * vec4(position, 1.0)); "),e.entityOffsetsEnabled&&s.push(" worldPosition.xyz = worldPosition.xyz + offset;"),s.push(" vec4 viewPosition = viewMatrix * worldPosition; "),s.push(" vec4 worldNormal = worldNormalMatrix * vec4(octDecode(normal.xy), 0.0); "),s.push(" vec3 viewNormal = normalize((viewNormalMatrix * worldNormal).xyz);"),t&&(s.push(" vWorldPosition = worldPosition;"),s.push(" vFlags2 = flags2;")),s.push(" vViewNormal = viewNormal;"),s.push("vec4 clipPos = projMatrix * viewPosition;"),e.logarithmicDepthBufferEnabled&&(ge.SUPPORTED_EXTENSIONS.EXT_frag_depth?s.push("vFragDepth = 1.0 + clipPos.w;"):(s.push("clipPos.z = log2( max( 1e-6, clipPos.w + 1.0 ) ) * logDepthBufFC - 1.0;"),s.push("clipPos.z *= clipPos.w;")),s.push("isPerspective = float (isPerspectiveMatrix(projMatrix));")),s.push("gl_Position = clipPos;"),s.push(" }"),s.push("}"),s}_buildFragmentShader(){const e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,s=[];if(s.push("#version 300 es"),s.push("// Batched geometry normals fragment shader"),e.logarithmicDepthBufferEnabled&&ge.SUPPORTED_EXTENSIONS.EXT_frag_depth&&s.push("#extension GL_EXT_frag_depth : enable"),s.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),s.push("precision highp float;"),s.push("precision highp int;"),s.push("#else"),s.push("precision mediump float;"),s.push("precision mediump int;"),s.push("#endif"),e.logarithmicDepthBufferEnabled&&ge.SUPPORTED_EXTENSIONS.EXT_frag_depth&&(s.push("in float isPerspective;"),s.push("uniform float logDepthBufFC;"),s.push("in float vFragDepth;")),t){s.push("in vec4 vWorldPosition;"),s.push("in vec4 vFlags2;");for(let t=0;t 0.0);"),s.push(" if (clippable) {"),s.push(" float dist = 0.0;");for(var n=0;n 0.0) { discard; }"),s.push(" }")}return e.logarithmicDepthBufferEnabled&&ge.SUPPORTED_EXTENSIONS.EXT_frag_depth&&s.push(" gl_FragDepthEXT = isPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5;"),s.push(" gl_FragColor = vec4(packNormalToRGB(vViewNormal), 1.0); "),s.push("}"),s}webglContextRestored(){this._program=null}destroy(){this._program&&this._program.destroy(),this._program=null}}const Lo=h.vec3(),Mo=h.vec3(),Fo=h.vec3();h.vec3(),h.vec4();const Ho=h.mat4();class Uo{constructor(e,t){this._scene=e,this._withSAO=t,this._hash=this._getHash(),this._allocate()}getValid(){return this._hash===this._getHash()}_getHash(){const e=this._scene;return[e._lightsState.getHash(),e._sectionPlanesState.getHash(),this._withSAO?"sao":"nosao"].join(";")}drawLayer(e,t,s){const n=this._scene,i=n.camera,a=t.model,r=n.canvas.gl,l=t._state,o=l.textureState,c=t._state.origin,{position:u,rotationMatrix:p,rotationMatrixConjugate:A}=a;if(!this._program&&(this._allocate(),this.errors))return;let d,f;e.lastProgramId!==this._program.id&&(e.lastProgramId=this._program.id,this._bindProgram(e,l)),o.bindCommonTextures(this._program,this.uTexturePerObjectPositionsDecodeMatrix,this._uTexturePerVertexIdCoordinates,this.uTexturePerObjectColorsAndFlags,this._uTexturePerObjectMatrix);const I=0!==c[0]||0!==c[1]||0!==c[2],y=0!==u[0]||0!==u[1]||0!==u[2];if(I||y){const e=Lo;if(I){const t=h.transformPoint3(p,c,Mo);e[0]=t[0],e[1]=t[1],e[2]=t[2]}else e[0]=0,e[1]=0,e[2]=0;e[0]+=u[0],e[1]+=u[1],e[2]+=u[2],d=G(i.viewMatrix,e,Ho),f=Fo,f[0]=i.eye[0]-e[0],f[1]=i.eye[1]-e[1],f[2]=i.eye[2]-e[2]}else d=i.viewMatrix,f=i.eye;if(r.uniform2fv(this._uPickClipPos,e.pickClipPos),r.uniform2f(this._uDrawingBufferSize,r.drawingBufferWidth,r.drawingBufferHeight),r.uniformMatrix4fv(this._uSceneModelMatrix,!1,A),r.uniformMatrix4fv(this._uViewMatrix,!1,d),r.uniformMatrix4fv(this._uProjMatrix,!1,i.projMatrix),r.uniform3fv(this._uCameraEyeRtc,f),r.uniform1i(this._uRenderPass,s),n.logarithmicDepthBufferEnabled){const t=2/(Math.log(e.pickZFar+1)/Math.LN2);r.uniform1f(this._uLogDepthBufFC,t)}const m=n._sectionPlanesState.getNumAllocatedSectionPlanes(),v=n._sectionPlanesState.sectionPlanes.length;if(m>0){const e=n._sectionPlanesState.sectionPlanes,s=t.layerIndex*v,i=a.renderFlags;for(let t=0;t0&&(o.bindTriangleIndicesTextures(this._program,this._uTexturePerPolygonIdPortionIds,this._uTexturePerPolygonIdIndices,8),r.drawArrays(r.TRIANGLES,0,l.numIndices8Bits)),l.numIndices16Bits>0&&(o.bindTriangleIndicesTextures(this._program,this._uTexturePerPolygonIdPortionIds,this._uTexturePerPolygonIdIndices,16),r.drawArrays(r.TRIANGLES,0,l.numIndices16Bits)),l.numIndices32Bits>0&&(o.bindTriangleIndicesTextures(this._program,this._uTexturePerPolygonIdPortionIds,this._uTexturePerPolygonIdIndices,32),r.drawArrays(r.TRIANGLES,0,l.numIndices32Bits)),e.drawElements++}_allocate(){const e=this._scene,t=e.canvas.gl;if(this._program=new Be(t,this._buildShader()),this._program.errors)return void(this.errors=this._program.errors);const s=this._program;this._uRenderPass=s.getLocation("renderPass"),this._uPickInvisible=s.getLocation("pickInvisible"),this._uPickClipPos=s.getLocation("pickClipPos"),this._uDrawingBufferSize=s.getLocation("drawingBufferSize"),this._uSceneModelMatrix=s.getLocation("sceneModelMatrix"),this._uViewMatrix=s.getLocation("viewMatrix"),this._uProjMatrix=s.getLocation("projMatrix"),this._uSectionPlanes=[];for(let t=0,n=e._sectionPlanesState.getNumAllocatedSectionPlanes();t0,s=[];return s.push("#version 300 es"),s.push("// trianglesDatatextureNormalsRenderer vertex shader"),s.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),s.push("precision highp float;"),s.push("precision highp int;"),s.push("precision highp usampler2D;"),s.push("precision highp isampler2D;"),s.push("precision highp sampler2D;"),s.push("#else"),s.push("precision mediump float;"),s.push("precision mediump int;"),s.push("precision mediump usampler2D;"),s.push("precision mediump isampler2D;"),s.push("precision mediump sampler2D;"),s.push("#endif"),s.push("uniform int renderPass;"),e.entityOffsetsEnabled&&s.push("in vec3 offset;"),s.push("uniform mat4 sceneModelMatrix;"),s.push("uniform mat4 viewMatrix;"),s.push("uniform mat4 projMatrix;"),s.push("uniform highp sampler2D uObjectPerObjectPositionsDecodeMatrix;"),s.push("uniform lowp usampler2D uObjectPerObjectColorsAndFlags;"),s.push("uniform highp sampler2D uTexturePerObjectMatrix;"),s.push("uniform mediump usampler2D uTexturePerVertexIdCoordinates;"),s.push("uniform highp usampler2D uTexturePerPolygonIdIndices;"),s.push("uniform mediump usampler2D uTexturePerPolygonIdPortionIds;"),s.push("uniform vec3 uCameraEyeRtc;"),s.push("vec3 positions[3];"),e.logarithmicDepthBufferEnabled&&(s.push("uniform float logDepthBufFC;"),s.push("out float vFragDepth;"),s.push("out float isPerspective;")),s.push("uniform vec2 pickClipPos;"),s.push("uniform vec2 drawingBufferSize;"),s.push("vec4 remapClipPos(vec4 clipPos) {"),s.push(" clipPos.xy /= clipPos.w;"),s.push(" clipPos.xy = (clipPos.xy - pickClipPos) * drawingBufferSize;"),s.push(" clipPos.xy *= clipPos.w;"),s.push(" return clipPos;"),s.push("}"),s.push("bool isPerspectiveMatrix(mat4 m) {"),s.push(" return (m[2][3] == - 1.0);"),s.push("}"),s.push("out vec4 vWorldPosition;"),t&&s.push("flat out uint vFlags2;"),s.push("void main(void) {"),s.push("int polygonIndex = gl_VertexID / 3;"),s.push("int h_packed_object_id_index = (polygonIndex >> 3) & 4095;"),s.push("int v_packed_object_id_index = (polygonIndex >> 3) >> 12;"),s.push("int objectIndex = int(texelFetch(uTexturePerPolygonIdPortionIds, ivec2(h_packed_object_id_index, v_packed_object_id_index), 0).r);"),s.push("ivec2 objectIndexCoords = ivec2(objectIndex % 512, objectIndex / 512);"),s.push("uvec4 flags = texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+2, objectIndexCoords.y), 0);"),s.push("uvec4 flags2 = texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+3, objectIndexCoords.y), 0);"),s.push("if (int(flags.w) != renderPass) {"),s.push(" gl_Position = vec4(3.0, 3.0, 3.0, 1.0);"),s.push(" return;"),s.push("} else {"),s.push("ivec4 packedVertexBase = ivec4(texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+4, objectIndexCoords.y), 0));"),s.push("ivec4 packedIndexBaseOffset = ivec4(texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+5, objectIndexCoords.y), 0));"),s.push("int indexBaseOffset = (packedIndexBaseOffset.r << 24) + (packedIndexBaseOffset.g << 16) + (packedIndexBaseOffset.b << 8) + packedIndexBaseOffset.a;"),s.push("int h_index = (polygonIndex - indexBaseOffset) & 4095;"),s.push("int v_index = (polygonIndex - indexBaseOffset) >> 12;"),s.push("ivec3 vertexIndices = ivec3(texelFetch(uTexturePerPolygonIdIndices, ivec2(h_index, v_index), 0));"),s.push("ivec3 uniqueVertexIndexes = vertexIndices + (packedVertexBase.r << 24) + (packedVertexBase.g << 16) + (packedVertexBase.b << 8) + packedVertexBase.a;"),s.push("ivec3 indexPositionH = uniqueVertexIndexes & 4095;"),s.push("ivec3 indexPositionV = uniqueVertexIndexes >> 12;"),s.push("mat4 objectInstanceMatrix = mat4 (texelFetch (uTexturePerObjectMatrix, ivec2(objectIndexCoords.x*4+0, objectIndexCoords.y), 0), texelFetch (uTexturePerObjectMatrix, ivec2(objectIndexCoords.x*4+1, objectIndexCoords.y), 0), texelFetch (uTexturePerObjectMatrix, ivec2(objectIndexCoords.x*4+2, objectIndexCoords.y), 0), texelFetch (uTexturePerObjectMatrix, ivec2(objectIndexCoords.x*4+3, objectIndexCoords.y), 0));"),s.push("mat4 objectDecodeAndInstanceMatrix = objectInstanceMatrix * mat4 (texelFetch (uObjectPerObjectPositionsDecodeMatrix, ivec2(objectIndexCoords.x*4+0, objectIndexCoords.y), 0), texelFetch (uObjectPerObjectPositionsDecodeMatrix, ivec2(objectIndexCoords.x*4+1, objectIndexCoords.y), 0), texelFetch (uObjectPerObjectPositionsDecodeMatrix, ivec2(objectIndexCoords.x*4+2, objectIndexCoords.y), 0), texelFetch (uObjectPerObjectPositionsDecodeMatrix, ivec2(objectIndexCoords.x*4+3, objectIndexCoords.y), 0));"),s.push("uint solid = texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+7, objectIndexCoords.y), 0).r;"),s.push("positions[0] = vec3(texelFetch(uTexturePerVertexIdCoordinates, ivec2(indexPositionH.r, indexPositionV.r), 0));"),s.push("positions[1] = vec3(texelFetch(uTexturePerVertexIdCoordinates, ivec2(indexPositionH.g, indexPositionV.g), 0));"),s.push("positions[2] = vec3(texelFetch(uTexturePerVertexIdCoordinates, ivec2(indexPositionH.b, indexPositionV.b), 0));"),s.push("uvec4 color = texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+0, objectIndexCoords.y), 0);"),s.push("if (color.a == 0u) {"),s.push(" gl_Position = vec4(3.0, 3.0, 3.0, 1.0);"),s.push(" return;"),s.push("};"),s.push("vec3 normal = normalize(cross(positions[2] - positions[0], positions[1] - positions[0]));"),s.push("vec3 position;"),s.push("position = positions[gl_VertexID % 3];"),s.push("vec3 viewNormal = -normalize((transpose(inverse(viewMatrix*objectDecodeAndInstanceMatrix)) * vec4(normal,1)).xyz);"),s.push("if (solid != 1u) {"),s.push("if (isPerspectiveMatrix(projMatrix)) {"),s.push("vec3 uCameraEyeRtcInQuantizedSpace = (inverse(sceneModelMatrix * objectDecodeAndInstanceMatrix) * vec4(uCameraEyeRtc, 1)).xyz;"),s.push("if (dot(position.xyz - uCameraEyeRtcInQuantizedSpace, normal) < 0.0) {"),s.push("position = positions[2 - (gl_VertexID % 3)];"),s.push("viewNormal = -viewNormal;"),s.push("}"),s.push("} else {"),s.push("vec3 viewNormal = -normalize((transpose(inverse(viewMatrix*objectDecodeAndInstanceMatrix)) * vec4(normal,1)).xyz);"),s.push("if (viewNormal.z < 0.0) {"),s.push("position = positions[2 - (gl_VertexID % 3)];"),s.push("}"),s.push("}"),s.push("}"),s.push("vec4 worldPosition = sceneModelMatrix * (objectDecodeAndInstanceMatrix * vec4(position, 1.0)); "),s.push("vec4 viewPosition = viewMatrix * worldPosition; "),s.push("vec4 clipPos = projMatrix * viewPosition;"),e.logarithmicDepthBufferEnabled&&(s.push("vFragDepth = 1.0 + clipPos.w;"),s.push("isPerspective = float (isPerspectiveMatrix(projMatrix));")),s.push("vWorldPosition = worldPosition;"),t&&s.push("vFlags2 = flags2.r;"),s.push("gl_Position = remapClipPos(clipPos);"),s.push("}"),s.push("}"),s}_buildFragmentShader(){const e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,s=[];if(s.push("#version 300 es"),s.push("// TrianglesDataTexturePickNormalsRenderer fragment shader"),s.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),s.push("precision highp float;"),s.push("precision highp int;"),s.push("#else"),s.push("precision mediump float;"),s.push("precision mediump int;"),s.push("#endif"),e.logarithmicDepthBufferEnabled&&(s.push("in float isPerspective;"),s.push("uniform float logDepthBufFC;"),s.push("in float vFragDepth;")),s.push("in vec4 vWorldPosition;"),t){s.push("flat in uint vFlags2;");for(let t=0,n=e._sectionPlanesState.getNumAllocatedSectionPlanes();t 0u;"),s.push(" if (clippable) {"),s.push(" float dist = 0.0;");for(let t=0,n=e._sectionPlanesState.getNumAllocatedSectionPlanes();t 0.0) { "),s.push(" discard;"),s.push(" }"),s.push("}")}return e.logarithmicDepthBufferEnabled&&s.push(" gl_FragDepth = isPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5;"),s.push(" vec3 xTangent = dFdx( vWorldPosition.xyz );"),s.push(" vec3 yTangent = dFdy( vWorldPosition.xyz );"),s.push(" vec3 worldNormal = normalize( cross( xTangent, yTangent ) );"),s.push(` outNormal = ivec4(worldNormal * float(${h.MAX_INT}), 1.0);`),s.push("}"),s}webglContextRestored(){this._program=null}destroy(){this._program&&this._program.destroy(),this._program=null}}class Go{constructor(e){this._scene=e}_compile(){this._colorRenderer&&!this._colorRenderer.getValid()&&(this._colorRenderer.destroy(),this._colorRenderer=null),this._colorRendererWithSAO&&!this._colorRendererWithSAO.getValid()&&(this._colorRendererWithSAO.destroy(),this._colorRendererWithSAO=null),this._flatColorRenderer&&!this._flatColorRenderer.getValid()&&(this._flatColorRenderer.destroy(),this._flatColorRenderer=null),this._flatColorRendererWithSAO&&!this._flatColorRendererWithSAO.getValid()&&(this._flatColorRendererWithSAO.destroy(),this._flatColorRendererWithSAO=null),this._colorQualityRendererWithSAO&&!this._colorQualityRendererWithSAO.getValid()&&(this._colorQualityRendererWithSAO.destroy(),this._colorQualityRendererWithSAO=null),this._depthRenderer&&!this._depthRenderer.getValid()&&(this._depthRenderer.destroy(),this._depthRenderer=null),this._normalsRenderer&&!this._normalsRenderer.getValid()&&(this._normalsRenderer.destroy(),this._normalsRenderer=null),this._silhouetteRenderer&&!this._silhouetteRenderer.getValid()&&(this._silhouetteRenderer.destroy(),this._silhouetteRenderer=null),this._edgesRenderer&&!this._edgesRenderer.getValid()&&(this._edgesRenderer.destroy(),this._edgesRenderer=null),this._edgesColorRenderer&&!this._edgesColorRenderer.getValid()&&(this._edgesColorRenderer.destroy(),this._edgesColorRenderer=null),this._pickMeshRenderer&&!this._pickMeshRenderer.getValid()&&(this._pickMeshRenderer.destroy(),this._pickMeshRenderer=null),this._pickDepthRenderer&&!this._pickDepthRenderer.getValid()&&(this._pickDepthRenderer.destroy(),this._pickDepthRenderer=null),this._vertexDepthRenderer&&!this._vertexDepthRenderer.getValid()&&(this._vertexDepthRenderer.destroy(),this._vertexDepthRenderer=null),this._snapDepthBufInitRenderer&&!this._snapDepthBufInitRenderer.getValid()&&(this._snapDepthBufInitRenderer.destroy(),this._snapDepthBufInitRenderer=null),this._pickNormalsRenderer&&!1===this._pickNormalsRenderer.getValid()&&(this._pickNormalsRenderer.destroy(),this._pickNormalsRenderer=null),this._pickNormalsFlatRenderer&&!1===this._pickNormalsFlatRenderer.getValid()&&(this._pickNormalsFlatRenderer.destroy(),this._pickNormalsFlatRenderer=null),this._occlusionRenderer&&!1===this._occlusionRenderer.getValid()&&(this._occlusionRenderer.destroy(),this._occlusionRenderer=null)}eagerCreateRenders(){this._silhouetteRenderer||(this._silhouetteRenderer=new jl(this._scene)),this._pickMeshRenderer||(this._pickMeshRenderer=new to(this._scene)),this._pickDepthRenderer||(this._pickDepthRenderer=new ro(this._scene)),this._pickNormalsRenderer||(this._pickNormalsRenderer=new Uo(this._scene)),this._vertexDepthRenderer||(this._vertexDepthRenderer=new po(this._scene)),this._snapDepthBufInitRenderer||(this._snapDepthBufInitRenderer=new vo(this._scene))}get colorRenderer(){return this._colorRenderer||(this._colorRenderer=new Ll(this._scene,!1)),this._colorRenderer}get colorRendererWithSAO(){return this._colorRendererWithSAO||(this._colorRendererWithSAO=new Ll(this._scene,!0)),this._colorRendererWithSAO}get colorQualityRendererWithSAO(){return this._colorQualityRendererWithSAO}get silhouetteRenderer(){return this._silhouetteRenderer||(this._silhouetteRenderer=new jl(this._scene)),this._silhouetteRenderer}get depthRenderer(){return this._depthRenderer||(this._depthRenderer=new _o(this._scene)),this._depthRenderer}get normalsRenderer(){return this._normalsRenderer||(this._normalsRenderer=new xo(this._scene)),this._normalsRenderer}get edgesRenderer(){return this._edgesRenderer||(this._edgesRenderer=new zl(this._scene)),this._edgesRenderer}get edgesColorRenderer(){return this._edgesColorRenderer||(this._edgesColorRenderer=new ql(this._scene)),this._edgesColorRenderer}get pickMeshRenderer(){return this._pickMeshRenderer||(this._pickMeshRenderer=new to(this._scene)),this._pickMeshRenderer}get pickNormalsRenderer(){return this._pickNormalsRenderer||(this._pickNormalsRenderer=new Uo(this._scene)),this._pickNormalsRenderer}get pickNormalsFlatRenderer(){return this._pickNormalsFlatRenderer||(this._pickNormalsFlatRenderer=new Uo(this._scene)),this._pickNormalsFlatRenderer}get pickDepthRenderer(){return this._pickDepthRenderer||(this._pickDepthRenderer=new ro(this._scene)),this._pickDepthRenderer}get vertexDepthRenderer(){return this._vertexDepthRenderer||(this._vertexDepthRenderer=new po(this._scene)),this._vertexDepthRenderer}get snapDepthBufInitRenderer(){return this._snapDepthBufInitRenderer||(this._snapDepthBufInitRenderer=new vo(this._scene)),this._snapDepthBufInitRenderer}get occlusionRenderer(){return this._occlusionRenderer||(this._occlusionRenderer=new bo(this._scene)),this._occlusionRenderer}_destroy(){this._colorRenderer&&this._colorRenderer.destroy(),this._colorRendererWithSAO&&this._colorRendererWithSAO.destroy(),this._flatColorRenderer&&this._flatColorRenderer.destroy(),this._flatColorRendererWithSAO&&this._flatColorRendererWithSAO.destroy(),this._colorQualityRendererWithSAO&&this._colorQualityRendererWithSAO.destroy(),this._depthRenderer&&this._depthRenderer.destroy(),this._normalsRenderer&&this._normalsRenderer.destroy(),this._silhouetteRenderer&&this._silhouetteRenderer.destroy(),this._edgesRenderer&&this._edgesRenderer.destroy(),this._edgesColorRenderer&&this._edgesColorRenderer.destroy(),this._pickMeshRenderer&&this._pickMeshRenderer.destroy(),this._pickDepthRenderer&&this._pickDepthRenderer.destroy(),this._vertexDepthRenderer&&this._vertexDepthRenderer.destroy(),this._snapDepthBufInitRenderer&&this._snapDepthBufInitRenderer.destroy(),this._pickNormalsRenderer&&this._pickNormalsRenderer.destroy(),this._pickNormalsFlatRenderer&&this._pickNormalsFlatRenderer.destroy(),this._occlusionRenderer&&this._occlusionRenderer.destroy()}}const jo={};class Vo{constructor(){this.positionsCompressed=[],this.lenPositionsCompressed=0,this.metallicRoughness=[],this.indices8Bits=[],this.lenIndices8Bits=0,this.indices16Bits=[],this.lenIndices16Bits=0,this.indices32Bits=[],this.lenIndices32Bits=0,this.edgeIndices8Bits=[],this.lenEdgeIndices8Bits=0,this.edgeIndices16Bits=[],this.lenEdgeIndices16Bits=0,this.edgeIndices32Bits=[],this.lenEdgeIndices32Bits=0,this.perObjectColors=[],this.perObjectPickColors=[],this.perObjectSolid=[],this.perObjectOffsets=[],this.perObjectPositionsDecodeMatrices=[],this.perObjectInstancePositioningMatrices=[],this.perObjectVertexBases=[],this.perObjectIndexBaseOffsets=[],this.perObjectEdgeIndexBaseOffsets=[],this.perTriangleNumberPortionId8Bits=[],this.perTriangleNumberPortionId16Bits=[],this.perTriangleNumberPortionId32Bits=[],this.perEdgeNumberPortionId8Bits=[],this.perEdgeNumberPortionId16Bits=[],this.perEdgeNumberPortionId32Bits=[]}}class ko{constructor(){this.texturePerObjectColorsAndFlags=null,this.texturePerObjectOffsets=null,this.texturePerObjectInstanceMatrices=null,this.texturePerObjectPositionsDecodeMatrix=null,this.texturePerVertexIdCoordinates=null,this.texturePerPolygonIdPortionIds8Bits=null,this.texturePerPolygonIdPortionIds16Bits=null,this.texturePerPolygonIdPortionIds32Bits=null,this.texturePerEdgeIdPortionIds8Bits=null,this.texturePerEdgeIdPortionIds16Bits=null,this.texturePerEdgeIdPortionIds32Bits=null,this.texturePerPolygonIdIndices8Bits=null,this.texturePerPolygonIdIndices16Bits=null,this.texturePerPolygonIdIndices32Bits=null,this.texturePerPolygonIdEdgeIndices8Bits=null,this.texturePerPolygonIdEdgeIndices16Bits=null,this.texturePerPolygonIdEdgeIndices32Bits=null,this.textureModelMatrices=null}finalize(){this.indicesPerBitnessTextures={8:this.texturePerPolygonIdIndices8Bits,16:this.texturePerPolygonIdIndices16Bits,32:this.texturePerPolygonIdIndices32Bits},this.indicesPortionIdsPerBitnessTextures={8:this.texturePerPolygonIdPortionIds8Bits,16:this.texturePerPolygonIdPortionIds16Bits,32:this.texturePerPolygonIdPortionIds32Bits},this.edgeIndicesPerBitnessTextures={8:this.texturePerPolygonIdEdgeIndices8Bits,16:this.texturePerPolygonIdEdgeIndices16Bits,32:this.texturePerPolygonIdEdgeIndices32Bits},this.edgeIndicesPortionIdsPerBitnessTextures={8:this.texturePerEdgeIdPortionIds8Bits,16:this.texturePerEdgeIdPortionIds16Bits,32:this.texturePerEdgeIdPortionIds32Bits}}bindCommonTextures(e,t,s,n,i){this.texturePerObjectPositionsDecodeMatrix.bindTexture(e,t,1),this.texturePerVertexIdCoordinates.bindTexture(e,s,2),this.texturePerObjectColorsAndFlags.bindTexture(e,n,3),this.texturePerObjectInstanceMatrices.bindTexture(e,i,4)}bindTriangleIndicesTextures(e,t,s,n){this.indicesPortionIdsPerBitnessTextures[n].bindTexture(e,t,5),this.indicesPerBitnessTextures[n].bindTexture(e,s,6)}bindEdgeIndicesTextures(e,t,s,n){this.edgeIndicesPortionIdsPerBitnessTextures[n].bindTexture(e,t,5),this.edgeIndicesPerBitnessTextures[n].bindTexture(e,s,6)}}class Qo{constructor(e,t,s,n,i=null){this._gl=e,this._texture=t,this._textureWidth=s,this._textureHeight=n,this._textureData=i}bindTexture(e,t,s){return e.bindTexture(t,this,s)}bind(e){return this._gl.activeTexture(this._gl["TEXTURE"+e]),this._gl.bindTexture(this._gl.TEXTURE_2D,this._texture),!0}unbind(e){}}const Wo={sizeDataColorsAndFlags:0,sizeDataPositionDecodeMatrices:0,sizeDataTextureOffsets:0,sizeDataTexturePositions:0,sizeDataTextureIndices:0,sizeDataTextureEdgeIndices:0,sizeDataTexturePortionIds:0,numberOfGeometries:0,numberOfPortions:0,numberOfLayers:0,numberOfTextures:0,totalPolygons:0,totalPolygons8Bits:0,totalPolygons16Bits:0,totalPolygons32Bits:0,totalEdges:0,totalEdges8Bits:0,totalEdges16Bits:0,totalEdges32Bits:0,cannotCreatePortion:{because10BitsObjectId:0,becauseTextureSize:0},overheadSizeAlignementIndices:0,overheadSizeAlignementEdgeIndices:0};window.printDataTextureRamStats=function(){console.log(JSON.stringify(Wo,null,4));let e=0;Object.keys(Wo).forEach((t=>{t.startsWith("size")&&(e+=Wo[t])})),console.log(`Total size ${e} bytes (${(e/1e3/1e3).toFixed(2)} MB)`),console.log(`Avg bytes / triangle: ${(e/Wo.totalPolygons).toFixed(2)}`);let t={};Object.keys(Wo).forEach((s=>{s.startsWith("size")&&(t[s]=`${(Wo[s]/e*100).toFixed(2)} % of total`)})),console.log(JSON.stringify({percentualRamUsage:t},null,4))};class zo{disableBindedTextureFiltering(e){e.texParameteri(e.TEXTURE_2D,e.TEXTURE_MAG_FILTER,e.NEAREST),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_MIN_FILTER,e.NEAREST),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_WRAP_S,e.CLAMP_TO_EDGE),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_WRAP_T,e.CLAMP_TO_EDGE)}generateTextureForColorsAndFlags(e,t,s,n,i,a,r){const l=t.length;this.numPortions=l;const o=4096,c=Math.ceil(l/512);if(0===c)throw"texture height===0";const u=new Uint8Array(16384*c);Wo.sizeDataColorsAndFlags+=u.byteLength,Wo.numberOfTextures++;for(let e=0;e>24&255,n[e]>>16&255,n[e]>>8&255,255&n[e]],32*e+16),u.set([i[e]>>24&255,i[e]>>16&255,i[e]>>8&255,255&i[e]],32*e+20),u.set([a[e]>>24&255,a[e]>>16&255,a[e]>>8&255,255&a[e]],32*e+24),u.set([r[e]?1:0,0,0,0],32*e+28);const h=e.createTexture();return e.bindTexture(e.TEXTURE_2D,h),e.texStorage2D(e.TEXTURE_2D,1,e.RGBA8UI,o,c),e.texSubImage2D(e.TEXTURE_2D,0,0,0,o,c,e.RGBA_INTEGER,e.UNSIGNED_BYTE,u,0),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_MAG_FILTER,e.NEAREST),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_MIN_FILTER,e.NEAREST),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_WRAP_S,e.CLAMP_TO_EDGE),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_WRAP_T,e.CLAMP_TO_EDGE),e.bindTexture(e.TEXTURE_2D,null),new Qo(e,h,o,c,u)}generateTextureForObjectOffsets(e,t){const s=512,n=Math.ceil(t/s);if(0===n)throw"texture height===0";const i=new Float32Array(1536*n).fill(0);Wo.sizeDataTextureOffsets+=i.byteLength,Wo.numberOfTextures++;const a=e.createTexture();return e.bindTexture(e.TEXTURE_2D,a),e.texStorage2D(e.TEXTURE_2D,1,e.RGB32F,s,n),e.texSubImage2D(e.TEXTURE_2D,0,0,0,s,n,e.RGB,e.FLOAT,i,0),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_MAG_FILTER,e.NEAREST),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_MIN_FILTER,e.NEAREST),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_WRAP_S,e.CLAMP_TO_EDGE),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_WRAP_T,e.CLAMP_TO_EDGE),e.bindTexture(e.TEXTURE_2D,null),new Qo(e,a,s,n,i)}generateTextureForInstancingMatrices(e,t){const s=t.length;if(0===s)throw"num instance matrices===0";const n=2048,i=Math.ceil(s/512),a=new Float32Array(8192*i);Wo.numberOfTextures++;for(let e=0;e{s._compile(),s.eagerCreateRenders()})),e.on("destroyed",(()=>{delete jo[t],s._destroy()}))),s}(e.scene),this.model=e,this._buffer=new Vo,this._dataTextureState=new ko,this._dataTextureGenerator=new zo,this._state=new Je({origin:h.vec3(t.origin),metallicRoughnessBuf:null,textureState:this._dataTextureState,numIndices8Bits:0,numIndices16Bits:0,numIndices32Bits:0,numEdgeIndices8Bits:0,numEdgeIndices16Bits:0,numEdgeIndices32Bits:0,numVertices:0}),this._numPortions=0,this._numVisibleLayerPortions=0,this._numTransparentLayerPortions=0,this._numXRayedLayerPortions=0,this._numSelectedLayerPortions=0,this._numHighlightedLayerPortions=0,this._numClippableLayerPortions=0,this._numEdgesLayerPortions=0,this._numPickableLayerPortions=0,this._numCulledLayerPortions=0,this._subPortions=[],this._portionToSubPortionsMap=[],this._bucketGeometries={},this._meshes=[],this._aabb=h.collapseAABB3(),this.aabbDirty=!0,this._numUpdatesInFrame=0,this._finalized=!1}get aabb(){if(this.aabbDirty){h.collapseAABB3(this._aabb);for(let e=0,t=this._meshes.length;e65536&&Wo.cannotCreatePortion.because10BitsObjectId++;let s=this._numPortions+t<=65536;const n=void 0!==e.geometryId&&null!==e.geometryId?`${e.geometryId}#0`:`${e.id}#0`;if(!this._bucketGeometries[n]){const t=Math.max(this._state.numIndices8Bits,this._state.numIndices16Bits,this._state.numIndices32Bits);let n=0,i=0;e.buckets.forEach((e=>{n+=e.positionsCompressed.length/3,i+=e.indices.length/3})),(this._state.numVertices+n>16777216||t+i>16777216)&&Wo.cannotCreatePortion.becauseTextureSize++,s&&=this._state.numVertices+n<=16777216&&t+i<=16777216}return s}createPortion(e,t){if(this._finalized)throw"Already finalized";const s=[];t.buckets.forEach(((e,n)=>{const i=void 0!==t.geometryId&&null!==t.geometryId?`${t.geometryId}#${n}`:`${t.id}#${n}`;let a=this._bucketGeometries[i];a||(a=this._createBucketGeometry(t,e),this._bucketGeometries[i]=a);const r=this._createSubPortion(t,a,e);s.push(r)}));const n=this._portionToSubPortionsMap.length;return this._portionToSubPortionsMap.push(s),this.model.numPortions++,this._meshes.push(e),n}_createBucketGeometry(e,t){if(t.indices){const e=8*Math.ceil(t.indices.length/3/8)*3;Wo.overheadSizeAlignementIndices+=2*(e-t.indices.length);const s=new Uint32Array(e);s.fill(0),s.set(t.indices),t.indices=s}if(t.edgeIndices){const e=8*Math.ceil(t.edgeIndices.length/2/8)*2;Wo.overheadSizeAlignementEdgeIndices+=2*(e-t.edgeIndices.length);const s=new Uint32Array(e);s.fill(0),s.set(t.edgeIndices),t.edgeIndices=s}const s=t.positionsCompressed,n=t.indices,i=t.edgeIndices,a=this._buffer;a.positionsCompressed.push(s);const r=a.lenPositionsCompressed/3,l=s.length/3;let o;a.lenPositionsCompressed+=s.length;let c,u=0;if(n){let e;u=n.length/3,l<=256?(e=a.indices8Bits,o=a.lenIndices8Bits/3,a.lenIndices8Bits+=n.length):l<=65536?(e=a.indices16Bits,o=a.lenIndices16Bits/3,a.lenIndices16Bits+=n.length):(e=a.indices32Bits,o=a.lenIndices32Bits/3,a.lenIndices32Bits+=n.length),e.push(n)}let h=0;if(i){let e;h=i.length/2,l<=256?(e=a.edgeIndices8Bits,c=a.lenEdgeIndices8Bits/2,a.lenEdgeIndices8Bits+=i.length):l<=65536?(e=a.edgeIndices16Bits,c=a.lenEdgeIndices16Bits/2,a.lenEdgeIndices16Bits+=i.length):(e=a.edgeIndices32Bits,c=a.lenEdgeIndices32Bits/2,a.lenEdgeIndices32Bits+=i.length),e.push(i)}this._state.numVertices+=l,Wo.numberOfGeometries++;return{vertexBase:r,numVertices:l,numTriangles:u,numEdges:h,indicesBase:o,edgeIndicesBase:c,obb:null}}_createSubPortion(e,t,s,n){const i=e.color;e.metallic,e.roughness;const a=e.colors,r=e.opacity,l=e.meshMatrix,o=e.pickColor,c=this._buffer,u=this._state;c.perObjectPositionsDecodeMatrices.push(e.positionsDecodeMatrix),c.perObjectInstancePositioningMatrices.push(l||Jo),c.perObjectSolid.push(!!e.solid),a?c.perObjectColors.push([255*a[0],255*a[1],255*a[2],255]):i&&c.perObjectColors.push([i[0],i[1],i[2],r]),c.perObjectPickColors.push(o),c.perObjectVertexBases.push(t.vertexBase);{let e;e=t.numVertices<=256?u.numIndices8Bits:t.numVertices<=65536?u.numIndices16Bits:u.numIndices32Bits,c.perObjectIndexBaseOffsets.push(e/3-t.indicesBase)}{let e;e=t.numVertices<=256?u.numEdgeIndices8Bits:t.numVertices<=65536?u.numEdgeIndices16Bits:u.numEdgeIndices32Bits,c.perObjectEdgeIndexBaseOffsets.push(e/2-t.edgeIndicesBase)}const h=this._subPortions.length;if(t.numTriangles>0){let e,s=3*t.numTriangles;t.numVertices<=256?(e=c.perTriangleNumberPortionId8Bits,u.numIndices8Bits+=s,Wo.totalPolygons8Bits+=t.numTriangles):t.numVertices<=65536?(e=c.perTriangleNumberPortionId16Bits,u.numIndices16Bits+=s,Wo.totalPolygons16Bits+=t.numTriangles):(e=c.perTriangleNumberPortionId32Bits,u.numIndices32Bits+=s,Wo.totalPolygons32Bits+=t.numTriangles),Wo.totalPolygons+=t.numTriangles;for(let s=0;s0){let e,s=2*t.numEdges;t.numVertices<=256?(e=c.perEdgeNumberPortionId8Bits,u.numEdgeIndices8Bits+=s,Wo.totalEdges8Bits+=t.numEdges):t.numVertices<=65536?(e=c.perEdgeNumberPortionId16Bits,u.numEdgeIndices16Bits+=s,Wo.totalEdges16Bits+=t.numEdges):(e=c.perEdgeNumberPortionId32Bits,u.numEdgeIndices32Bits+=s,Wo.totalEdges32Bits+=t.numEdges),Wo.totalEdges+=t.numEdges;for(let s=0;s0&&(t.texturePerEdgeIdPortionIds8Bits=this._dataTextureGenerator.generateTextureForPackedPortionIds(s,n.perEdgeNumberPortionId8Bits)),n.perEdgeNumberPortionId16Bits.length>0&&(t.texturePerEdgeIdPortionIds16Bits=this._dataTextureGenerator.generateTextureForPackedPortionIds(s,n.perEdgeNumberPortionId16Bits)),n.perEdgeNumberPortionId32Bits.length>0&&(t.texturePerEdgeIdPortionIds32Bits=this._dataTextureGenerator.generateTextureForPackedPortionIds(s,n.perEdgeNumberPortionId32Bits)),n.lenIndices8Bits>0&&(t.texturePerPolygonIdIndices8Bits=this._dataTextureGenerator.generateTextureFor8BitIndices(s,n.indices8Bits,n.lenIndices8Bits)),n.lenIndices16Bits>0&&(t.texturePerPolygonIdIndices16Bits=this._dataTextureGenerator.generateTextureFor16BitIndices(s,n.indices16Bits,n.lenIndices16Bits)),n.lenIndices32Bits>0&&(t.texturePerPolygonIdIndices32Bits=this._dataTextureGenerator.generateTextureFor32BitIndices(s,n.indices32Bits,n.lenIndices32Bits)),n.lenEdgeIndices8Bits>0&&(t.texturePerPolygonIdEdgeIndices8Bits=this._dataTextureGenerator.generateTextureFor8BitsEdgeIndices(s,n.edgeIndices8Bits,n.lenEdgeIndices8Bits)),n.lenEdgeIndices16Bits>0&&(t.texturePerPolygonIdEdgeIndices16Bits=this._dataTextureGenerator.generateTextureFor16BitsEdgeIndices(s,n.edgeIndices16Bits,n.lenEdgeIndices16Bits)),n.lenEdgeIndices32Bits>0&&(t.texturePerPolygonIdEdgeIndices32Bits=this._dataTextureGenerator.generateTextureFor32BitsEdgeIndices(s,n.edgeIndices32Bits,n.lenEdgeIndices32Bits)),t.finalize(),this._buffer=null,this._bucketGeometries={},this._finalized=!0,this._deferredSetFlagsDirty=!1,this._onSceneRendering=this.model.scene.on("rendering",(()=>{this._deferredSetFlagsDirty&&this._uploadDeferredFlags(),this._numUpdatesInFrame=0}))}isEmpty(){return 0===this._numPortions}initFlags(e,t,s){t&Q&&(this._numVisibleLayerPortions++,this.model.numVisibleLayerPortions++),t&q&&(this._numHighlightedLayerPortions++,this.model.numHighlightedLayerPortions++),t&X&&(this._numXRayedLayerPortions++,this.model.numXRayedLayerPortions++),t&J&&(this._numSelectedLayerPortions++,this.model.numSelectedLayerPortions++),t&K&&(this._numClippableLayerPortions++,this.model.numClippableLayerPortions++),t&Z&&(this._numEdgesLayerPortions++,this.model.numEdgesLayerPortions++),t&z&&(this._numPickableLayerPortions++,this.model.numPickableLayerPortions++),t&W&&(this._numCulledLayerPortions++,this.model.numCulledLayerPortions++),s&&(this._numTransparentLayerPortions++,this.model.numTransparentLayerPortions++);this._setFlags(e,t,s,true),this._setFlags2(e,t,true)}flushInitFlags(){this._setDeferredFlags(),this._setDeferredFlags2()}setVisible(e,t,s){if(!this._finalized)throw"Not finalized";t&Q?(this._numVisibleLayerPortions++,this.model.numVisibleLayerPortions++):(this._numVisibleLayerPortions--,this.model.numVisibleLayerPortions--),this._setFlags(e,t,s)}setHighlighted(e,t,s){if(!this._finalized)throw"Not finalized";t&q?(this._numHighlightedLayerPortions++,this.model.numHighlightedLayerPortions++):(this._numHighlightedLayerPortions--,this.model.numHighlightedLayerPortions--),this._setFlags(e,t,s)}setXRayed(e,t,s){if(!this._finalized)throw"Not finalized";t&X?(this._numXRayedLayerPortions++,this.model.numXRayedLayerPortions++):(this._numXRayedLayerPortions--,this.model.numXRayedLayerPortions--),this._setFlags(e,t,s)}setSelected(e,t,s){if(!this._finalized)throw"Not finalized";t&J?(this._numSelectedLayerPortions++,this.model.numSelectedLayerPortions++):(this._numSelectedLayerPortions--,this.model.numSelectedLayerPortions--),this._setFlags(e,t,s)}setEdges(e,t,s){if(!this._finalized)throw"Not finalized";t&Z?(this._numEdgesLayerPortions++,this.model.numEdgesLayerPortions++):(this._numEdgesLayerPortions--,this.model.numEdgesLayerPortions--),this._setFlags(e,t,s)}setClippable(e,t){if(!this._finalized)throw"Not finalized";t&K?(this._numClippableLayerPortions++,this.model.numClippableLayerPortions++):(this._numClippableLayerPortions--,this.model.numClippableLayerPortions--),this._setFlags2(e,t)}_beginDeferredFlags(){this._deferredSetFlagsActive=!0}_uploadDeferredFlags(){if(console.info("_uploadDeferredFlags"),this._deferredSetFlagsActive=!1,!this._deferredSetFlagsDirty)return;this._deferredSetFlagsDirty=!1;const e=this.model.scene.canvas.gl,t=this._dataTextureState;e.bindTexture(e.TEXTURE_2D,t.texturePerObjectColorsAndFlags._texture),e.texSubImage2D(e.TEXTURE_2D,0,0,0,t.texturePerObjectColorsAndFlags._textureWidth,t.texturePerObjectColorsAndFlags._textureHeight,e.RGBA_INTEGER,e.UNSIGNED_BYTE,t.texturePerObjectColorsAndFlags._textureData)}setCulled(e,t,s){if(!this._finalized)throw"Not finalized";t&W?(this._numCulledLayerPortions+=this._portionToSubPortionsMap[e].length,this.model.numCulledLayerPortions++):(this._numCulledLayerPortions-=this._portionToSubPortionsMap[e].length,this.model.numCulledLayerPortions--),this._setFlags(e,t,s)}setCollidable(e,t){if(!this._finalized)throw"Not finalized"}setPickable(e,t,s){if(!this._finalized)throw"Not finalized";t&z?(this._numPickableLayerPortions++,this.model.numPickableLayerPortions++):(this._numPickableLayerPortions--,this.model.numPickableLayerPortions--),this._setFlags(e,t,s)}setColor(e,t){const s=this._portionToSubPortionsMap[e];for(let e=0,n=s.length;e=10&&this._beginDeferredFlags(),console.info("_subPortionSetColor write through"),n.bindTexture(n.TEXTURE_2D,s.texturePerObjectColorsAndFlags._texture),n.texSubImage2D(n.TEXTURE_2D,0,e%512*8,Math.floor(e/512),1,1,n.RGBA_INTEGER,n.UNSIGNED_BYTE,Yo)}setTransparent(e,t,s){s?(this._numTransparentLayerPortions++,this.model.numTransparentLayerPortions++):(this._numTransparentLayerPortions--,this.model.numTransparentLayerPortions--),this._setFlags(e,t,s)}_setFlags(e,t,s,n=!1){const i=this._portionToSubPortionsMap[e];for(let e=0,a=i.length;e=10&&this._beginDeferredFlags(),d.bindTexture(d.TEXTURE_2D,A.texturePerObjectColorsAndFlags._texture),d.texSubImage2D(d.TEXTURE_2D,0,e%512*8+2,Math.floor(e/512),1,1,d.RGBA_INTEGER,d.UNSIGNED_BYTE,Yo))}_setDeferredFlags(){}_setFlags2(e,t,s=!1){const n=this._portionToSubPortionsMap[e];for(let e=0,i=n.length;e=10&&this._beginDeferredFlags(),a.bindTexture(a.TEXTURE_2D,i.texturePerObjectColorsAndFlags._texture),a.texSubImage2D(a.TEXTURE_2D,0,e%512*8+3,Math.floor(e/512),1,1,a.RGBA_INTEGER,a.UNSIGNED_BYTE,Yo))}_setDeferredFlags2(){}setOffset(e,t){const s=this._portionToSubPortionsMap[e];for(let e=0,n=s.length;e=10&&this._beginDeferredFlags(),n.bindTexture(n.TEXTURE_2D,s.texturePerObjectOffsets._texture),n.texSubImage2D(n.TEXTURE_2D,0,0,e,1,1,n.RGB,n.FLOAT,Xo))}setMatrix(e,t){const s=this._portionToSubPortionsMap[e];for(let e=0,n=s.length;e=10&&this._beginDeferredFlags(),n.bindTexture(n.TEXTURE_2D,s.texturePerObjectInstanceMatrices._texture),n.texSubImage2D(n.TEXTURE_2D,0,e%512*4,Math.floor(e/512),4,1,n.RGBA,n.FLOAT,Ko))}drawColorOpaque(e,t){this._numCulledLayerPortions!==this._numPortions&&0!==this._numVisibleLayerPortions&&this._numTransparentLayerPortions!==this._numPortions&&this._numXRayedLayerPortions!==this._numPortions&&(this._updateBackfaceCull(e,t),t.withSAO&&this.model.saoEnabled?this._dataTextureRenderers.colorRendererWithSAO&&this._dataTextureRenderers.colorRendererWithSAO.drawLayer(t,this,Ei.COLOR_OPAQUE):this._dataTextureRenderers.colorRenderer&&this._dataTextureRenderers.colorRenderer.drawLayer(t,this,Ei.COLOR_OPAQUE))}_updateBackfaceCull(e,t){const s=this.model.backfaces||e.sectioned;if(t.backfaces!==s){const e=t.gl;s?e.disable(e.CULL_FACE):e.enable(e.CULL_FACE),t.backfaces=s}}drawColorTransparent(e,t){this._numCulledLayerPortions!==this._numPortions&&0!==this._numVisibleLayerPortions&&0!==this._numTransparentLayerPortions&&this._numXRayedLayerPortions!==this._numPortions&&(this._updateBackfaceCull(e,t),this._dataTextureRenderers.colorRenderer&&this._dataTextureRenderers.colorRenderer.drawLayer(t,this,Ei.COLOR_TRANSPARENT))}drawDepth(e,t){this._numCulledLayerPortions!==this._numPortions&&0!==this._numVisibleLayerPortions&&this._numTransparentLayerPortions!==this._numPortions&&this._numXRayedLayerPortions!==this._numPortions&&(this._updateBackfaceCull(e,t),this._dataTextureRenderers.depthRenderer&&this._dataTextureRenderers.depthRenderer.drawLayer(t,this,Ei.COLOR_OPAQUE))}drawNormals(e,t){this._numCulledLayerPortions!==this._numPortions&&0!==this._numVisibleLayerPortions&&this._numTransparentLayerPortions!==this._numPortions&&this._numXRayedLayerPortions!==this._numPortions&&(this._updateBackfaceCull(e,t),this._dataTextureRenderers.normalsRenderer&&this._dataTextureRenderers.normalsRenderer.drawLayer(t,this,Ei.COLOR_OPAQUE))}drawSilhouetteXRayed(e,t){this._numCulledLayerPortions!==this._numPortions&&0!==this._numVisibleLayerPortions&&0!==this._numXRayedLayerPortions&&(this._updateBackfaceCull(e,t),this._dataTextureRenderers.silhouetteRenderer&&this._dataTextureRenderers.silhouetteRenderer.drawLayer(t,this,Ei.SILHOUETTE_XRAYED))}drawSilhouetteHighlighted(e,t){this._numCulledLayerPortions!==this._numPortions&&0!==this._numVisibleLayerPortions&&0!==this._numHighlightedLayerPortions&&(this._updateBackfaceCull(e,t),this._dataTextureRenderers.silhouetteRenderer&&this._dataTextureRenderers.silhouetteRenderer.drawLayer(t,this,Ei.SILHOUETTE_HIGHLIGHTED))}drawSilhouetteSelected(e,t){this._numCulledLayerPortions!==this._numPortions&&0!==this._numVisibleLayerPortions&&0!==this._numSelectedLayerPortions&&(this._updateBackfaceCull(e,t),this._dataTextureRenderers.silhouetteRenderer&&this._dataTextureRenderers.silhouetteRenderer.drawLayer(t,this,Ei.SILHOUETTE_SELECTED))}drawEdgesColorOpaque(e,t){this.model.scene.logarithmicDepthBufferEnabled?this.model.scene._loggedWarning||(console.log("Edge enhancement for SceneModel data texture layers currently disabled with logarithmic depth buffer"),this.model.scene._loggedWarning=!0):this._numCulledLayerPortions!==this._numPortions&&0!==this._numVisibleLayerPortions&&0!==this._numEdgesLayerPortions&&this._dataTextureRenderers.edgesColorRenderer&&this._dataTextureRenderers.edgesColorRenderer.drawLayer(t,this,Ei.EDGES_COLOR_OPAQUE)}drawEdgesColorTransparent(e,t){this._numCulledLayerPortions!==this._numPortions&&0!==this._numVisibleLayerPortions&&0!==this._numEdgesLayerPortions&&0!==this._numTransparentLayerPortions&&this._dataTextureRenderers.edgesColorRenderer&&this._dataTextureRenderers.edgesColorRenderer.drawLayer(t,this,Ei.EDGES_COLOR_TRANSPARENT)}drawEdgesHighlighted(e,t){this._numCulledLayerPortions!==this._numPortions&&0!==this._numVisibleLayerPortions&&0!==this._numHighlightedLayerPortions&&this._dataTextureRenderers.edgesRenderer&&this._dataTextureRenderers.edgesRenderer.drawLayer(t,this,Ei.EDGES_HIGHLIGHTED)}drawEdgesSelected(e,t){this._numCulledLayerPortions!==this._numPortions&&0!==this._numVisibleLayerPortions&&0!==this._numSelectedLayerPortions&&this._dataTextureRenderers.edgesRenderer&&this._dataTextureRenderers.edgesRenderer.drawLayer(t,this,Ei.EDGES_SELECTED)}drawEdgesXRayed(e,t){this._numCulledLayerPortions!==this._numPortions&&0!==this._numVisibleLayerPortions&&0!==this._numXRayedLayerPortions&&this._dataTextureRenderers.edgesRenderer&&this._dataTextureRenderers.edgesRenderer.drawLayer(t,this,Ei.EDGES_XRAYED)}drawOcclusion(e,t){this._numCulledLayerPortions!==this._numPortions&&0!==this._numVisibleLayerPortions&&(this._updateBackfaceCull(e,t),this._dataTextureRenderers.occlusionRenderer&&this._dataTextureRenderers.occlusionRenderer.drawLayer(t,this,Ei.COLOR_OPAQUE))}drawShadow(e,t){this._numCulledLayerPortions!==this._numPortions&&0!==this._numVisibleLayerPortions&&(this._updateBackfaceCull(e,t),this._dataTextureRenderers.shadowRenderer&&this._dataTextureRenderers.shadowRenderer.drawLayer(t,this,Ei.COLOR_OPAQUE))}setPickMatrices(e,t){}drawPickMesh(e,t){0!==this._numVisibleLayerPortions&&(this._updateBackfaceCull(e,t),this._dataTextureRenderers.pickMeshRenderer&&this._dataTextureRenderers.pickMeshRenderer.drawLayer(t,this,Ei.PICK))}drawPickDepths(e,t){0!==this._numVisibleLayerPortions&&(this._updateBackfaceCull(e,t),this._dataTextureRenderers.pickDepthRenderer&&this._dataTextureRenderers.pickDepthRenderer.drawLayer(t,this,Ei.PICK))}drawSnapInitDepthBuf(e,t){this._numCulledLayerPortions!==this._numPortions&&0!==this._numVisibleLayerPortions&&(this._updateBackfaceCull(e,t),this._dataTextureRenderers.snapDepthBufInitRenderer&&this._dataTextureRenderers.snapDepthBufInitRenderer.drawLayer(t,this,Ei.PICK))}drawSnapDepths(e,t){this._numCulledLayerPortions!==this._numPortions&&0!==this._numVisibleLayerPortions&&(this._updateBackfaceCull(e,t),this._dataTextureRenderers.vertexDepthRenderer&&this._dataTextureRenderers.vertexDepthRenderer.drawLayer(t,this,Ei.PICK))}drawPickNormals(e,t){this._numCulledLayerPortions!==this._numPortions&&0!==this._numVisibleLayerPortions&&(this._updateBackfaceCull(e,t),this._dataTextureRenderers.pickNormalsRenderer&&this._dataTextureRenderers.pickNormalsRenderer.drawLayer(t,this,Ei.PICK))}destroy(){if(this._destroyed)return;const e=this._state;e.metallicRoughnessBuf&&(e.metallicRoughnessBuf.destroy(),e.metallicRoughnessBuf=null),this.model.scene.off(this._onSceneRendering),e.destroy(),this._destroyed=!0}}const $o=h.vec4(4),ec=h.vec4(),tc=h.vec4(),sc=h.vec3([1,0,0]),nc=h.vec3([0,1,0]),ic=h.vec3([0,0,1]);h.vec3(3),h.vec3(3);const ac=h.identityMat4();class rc{constructor(e){this._model=e.model,this.id=e.id,this._parentTransform=e.parent,this._childTransforms=[],this._meshes=[],this._scale=new Float32Array([1,1,1]),this._quaternion=h.identityQuaternion(new Float32Array(4)),this._rotation=new Float32Array(3),this._position=new Float32Array(3),this._localMatrix=h.identityMat4(new Float32Array(16)),this._worldMatrix=h.identityMat4(new Float32Array(16)),this._localMatrixDirty=!0,this._worldMatrixDirty=!0,e.matrix?this.matrix=e.matrix:(this.scale=e.scale,this.position=e.position,e.quaternion||(this.rotation=e.rotation)),e.parent&&e.parent._addChildTransform(this)}_addChildTransform(e){this._childTransforms.push(e),e._parentTransform=this,e._setWorldMatrixDirty(),e._setAABBDirty()}_addMesh(e){this._meshes.push(e),e.transform=this}get parentTransform(){return this._parentTransform}get meshes(){return this._meshes}set position(e){this._position.set(e||[0,0,0]),this._setLocalMatrixDirty(),this._model.glRedraw()}get position(){return this._position}set rotation(e){this._rotation.set(e||[0,0,0]),h.eulerToQuaternion(this._rotation,"XYZ",this._quaternion),this._setLocalMatrixDirty(),this._model.glRedraw()}get rotation(){return this._rotation}set quaternion(e){this._quaternion.set(e||[0,0,0,1]),h.quaternionToEuler(this._quaternion,"XYZ",this._rotation),this._setLocalMatrixDirty(),this._model.glRedraw()}get quaternion(){return this._quaternion}set scale(e){this._scale.set(e||[1,1,1]),this._setLocalMatrixDirty(),this._model.glRedraw()}get scale(){return this._scale}set matrix(e){this._localMatrix||(this._localMatrix=h.identityMat4()),this._localMatrix.set(e||ac),h.decomposeMat4(this._localMatrix,this._position,this._quaternion,this._scale),this._localMatrixDirty=!1,this._transformDirty(),this._model.glRedraw()}get matrix(){return this._localMatrixDirty&&(this._localMatrix||(this._localMatrix=h.identityMat4()),h.composeMat4(this._position,this._quaternion,this._scale,this._localMatrix),this._localMatrixDirty=!1),this._localMatrix}get worldMatrix(){return this._worldMatrixDirty&&this._buildWorldMatrix(),this._worldMatrix}rotate(e,t){return $o[0]=e[0],$o[1]=e[1],$o[2]=e[2],$o[3]=t*h.DEGTORAD,h.angleAxisToQuaternion($o,ec),h.mulQuaternions(this.quaternion,ec,tc),this.quaternion=tc,this._setLocalMatrixDirty(),this._model.glRedraw(),this}rotateOnWorldAxis(e,t){return $o[0]=e[0],$o[1]=e[1],$o[2]=e[2],$o[3]=t*h.DEGTORAD,h.angleAxisToQuaternion($o,ec),h.mulQuaternions(ec,this.quaternion,ec),this}rotateX(e){return this.rotate(sc,e)}rotateY(e){return this.rotate(nc,e)}rotateZ(e){return this.rotate(ic,e)}translate(e){return this._position[0]+=e[0],this._position[1]+=e[1],this._position[2]+=e[2],this._setLocalMatrixDirty(),this._model.glRedraw(),this}translateX(e){return this._position[0]+=e,this._setLocalMatrixDirty(),this._model.glRedraw(),this}translateY(e){return this._position[1]+=e,this._setLocalMatrixDirty(),this._model.glRedraw(),this}translateZ(e){return this._position[2]+=e,this._setLocalMatrixDirty(),this._model.glRedraw(),this}_setLocalMatrixDirty(){this._localMatrixDirty=!0,this._transformDirty()}_transformDirty(){this._worldMatrixDirty=!0;for(let e=0,t=this._childTransforms.length;e0){const e=t._meshes;for(let t=0,s=e.length;t0){const e=this._meshes;for(let t=0,s=e.length;t{this._viewMatrixDirty=!0})),this._meshesWithDirtyMatrices=[],this._numMeshesWithDirtyMatrices=0,this._onTick=this.scene.on("tick",(()=>{for(;this._numMeshesWithDirtyMatrices>0;)this._meshesWithDirtyMatrices[--this._numMeshesWithDirtyMatrices]._updateMatrix()})),this._createDefaultTextureSet(),this.visible=t.visible,this.culled=t.culled,this.pickable=t.pickable,this.clippable=t.clippable,this.collidable=t.collidable,this.castsShadow=t.castsShadow,this.receivesShadow=t.receivesShadow,this.xrayed=t.xrayed,this.highlighted=t.highlighted,this.selected=t.selected,this.edges=t.edges,this.colorize=t.colorize,this.opacity=t.opacity,this.backfaces=t.backfaces}_meshMatrixDirty(e){this._meshesWithDirtyMatrices[this._numMeshesWithDirtyMatrices++]=e}_createDefaultTextureSet(){const e=new cl({id:"defaultColorTexture",texture:new fn({gl:this.scene.canvas.gl,preloadColor:[1,1,1,1]})}),t=new cl({id:"defaultMetalRoughTexture",texture:new fn({gl:this.scene.canvas.gl,preloadColor:[0,1,1,1]})}),s=new cl({id:"defaultNormalsTexture",texture:new fn({gl:this.scene.canvas.gl,preloadColor:[0,0,0,0]})}),n=new cl({id:"defaultEmissiveTexture",texture:new fn({gl:this.scene.canvas.gl,preloadColor:[0,0,0,1]})}),i=new cl({id:"defaultOcclusionTexture",texture:new fn({gl:this.scene.canvas.gl,preloadColor:[1,1,1,1]})});this._textures.defaultColorTexture=e,this._textures.defaultMetalRoughTexture=t,this._textures.defaultNormalsTexture=s,this._textures.defaultEmissiveTexture=n,this._textures.defaultOcclusionTexture=i,this._textureSets.defaultTextureSet=new ol({id:"defaultTextureSet",model:this,colorTexture:e,metallicRoughnessTexture:t,normalsTexture:s,emissiveTexture:n,occlusionTexture:i})}get isPerformanceModel(){return!0}get transforms(){return this._transforms}get textures(){return this._textures}get textureSets(){return this._textureSets}get meshes(){return this._meshes}get objects(){return this._entities}get origin(){return this._origin}set position(e){this._position.set(e||[0,0,0]),this._setWorldMatrixDirty(),this._sceneModelDirty(),this.glRedraw()}get position(){return this._position}set rotation(e){this._rotation.set(e||[0,0,0]),h.eulerToQuaternion(this._rotation,"XYZ",this._quaternion),this._setWorldMatrixDirty(),this._sceneModelDirty(),this.glRedraw()}get rotation(){return this._rotation}set quaternion(e){this._quaternion.set(e||[0,0,0,1]),h.quaternionToEuler(this._quaternion,"XYZ",this._rotation),this._setWorldMatrixDirty(),this._sceneModelDirty(),this.glRedraw()}get quaternion(){return this._quaternion}set scale(e){}get scale(){return this._scale}set matrix(e){this._matrix.set(e||Ac),h.quaternionToRotationMat4(this._quaternion,this._worldRotationMatrix),h.conjugateQuaternion(this._quaternion,this._conjugateQuaternion),h.quaternionToRotationMat4(this._quaternion,this._worldRotationMatrixConjugate),this._matrix.set(this._worldRotationMatrix),h.translateMat4v(this._position,this._matrix),this._matrixDirty=!1,this._setWorldMatrixDirty(),this._sceneModelDirty(),this.glRedraw()}get matrix(){return this._matrixDirty&&this._rebuildMatrices(),this._matrix}get rotationMatrix(){return this._matrixDirty&&this._rebuildMatrices(),this._worldRotationMatrix}_rebuildMatrices(){this._matrixDirty&&(h.quaternionToRotationMat4(this._quaternion,this._worldRotationMatrix),h.conjugateQuaternion(this._quaternion,this._conjugateQuaternion),h.quaternionToRotationMat4(this._quaternion,this._worldRotationMatrixConjugate),this._matrix.set(this._worldRotationMatrix),h.translateMat4v(this._position,this._matrix),this._matrixDirty=!1)}get rotationMatrixConjugate(){return this._matrixDirty&&this._rebuildMatrices(),this._worldRotationMatrixConjugate}_setWorldMatrixDirty(){this._matrixDirty=!0,this._aabbDirty=!0}_transformDirty(){this._matrixDirty=!0,this._aabbDirty=!0,this.scene._aabbDirty=!0}_sceneModelDirty(){this.scene._aabbDirty=!0,this._aabbDirty=!0,this.scene._aabbDirty=!0,this._matrixDirty=!0;for(let e=0,t=this._entityList.length;e0}set visible(e){e=!1!==e,this._visible=e;for(let t=0,s=this._entityList.length;t0}set xrayed(e){e=!!e,this._xrayed=e;for(let t=0,s=this._entityList.length;t0}set highlighted(e){e=!!e,this._highlighted=e;for(let t=0,s=this._entityList.length;t0}set selected(e){e=!!e,this._selected=e;for(let t=0,s=this._entityList.length;t0}set edges(e){e=!!e,this._edges=e;for(let t=0,s=this._entityList.length;t0}set pickable(e){e=!1!==e,this._pickable=e;for(let t=0,s=this._entityList.length;t0)e.colorsCompressed=new Uint8Array(e.colorsCompressed);else if(e.colors&&e.colors.length>0){const t=e.colors,s=new Uint8Array(t.length);for(let e=0,n=t.length;e{o.setImage(c,{minFilter:s,magFilter:n,wrapS:i,wrapT:a,wrapR:r,flipY:e.flipY,encoding:l}),this.glRedraw()},c.src=e.src;break;default:this._textureTranscoder?m.loadArraybuffer(e.src,(e=>{e.byteLength?this._textureTranscoder.transcode([e],o).then((()=>{this.glRedraw()})):this.error("[createTexture] Can't create texture from 'src': file data is zero length")}),(function(e){this.error(`[createTexture] Can't create texture from 'src': ${e}`)})):this.error(`[createTexture] Can't create texture from 'src' - SceneModel needs to be configured with a TextureTranscoder for this file type ('${t}')`)}}else e.buffers&&(this._textureTranscoder?this._textureTranscoder.transcode(e.buffers,o).then((()=>{this.glRedraw()})):this.error("[createTexture] Can't create texture from 'buffers' - SceneModel needs to be configured with a TextureTranscoder for this option"));this._textures[t]=new cl({id:t,texture:o})}createTextureSet(e){const t=e.id;if(null==t)return void this.error("[createTextureSet] Config missing: id");if(this._textureSets[t])return void this.error(`[createTextureSet] Texture set already created: ${t}`);let s,n,i,a,r;if(void 0!==e.colorTextureId&&null!==e.colorTextureId){if(s=this._textures[e.colorTextureId],!s)return void this.error(`[createTextureSet] Texture not found: ${e.colorTextureId} - ensure that you create it first with createTexture()`)}else s=this._textures.defaultColorTexture;if(void 0!==e.metallicRoughnessTextureId&&null!==e.metallicRoughnessTextureId){if(n=this._textures[e.metallicRoughnessTextureId],!n)return void this.error(`[createTextureSet] Texture not found: ${e.metallicRoughnessTextureId} - ensure that you create it first with createTexture()`)}else n=this._textures.defaultMetalRoughTexture;if(void 0!==e.normalsTextureId&&null!==e.normalsTextureId){if(i=this._textures[e.normalsTextureId],!i)return void this.error(`[createTextureSet] Texture not found: ${e.normalsTextureId} - ensure that you create it first with createTexture()`)}else i=this._textures.defaultNormalsTexture;if(void 0!==e.emissiveTextureId&&null!==e.emissiveTextureId){if(a=this._textures[e.emissiveTextureId],!a)return void this.error(`[createTextureSet] Texture not found: ${e.emissiveTextureId} - ensure that you create it first with createTexture()`)}else a=this._textures.defaultEmissiveTexture;if(void 0!==e.occlusionTextureId&&null!==e.occlusionTextureId){if(r=this._textures[e.occlusionTextureId],!r)return void this.error(`[createTextureSet] Texture not found: ${e.occlusionTextureId} - ensure that you create it first with createTexture()`)}else r=this._textures.defaultOcclusionTexture;const l=new ol({id:t,model:this,colorTexture:s,metallicRoughnessTexture:n,normalsTexture:i,emissiveTexture:a,occlusionTexture:r});return this._textureSets[t]=l,l}createTransform(e){if(void 0===e.id||null===e.id)return void this.error("[createTransform] SceneModel.createTransform() config missing: id");if(this._transforms[e.id])return void this.error(`[createTransform] SceneModel already has a transform with this ID: ${e.id}`);let t;if(this.parentTransformId&&(t=this._transforms[e.parentTransformId],!t))return void this.error("[createTransform] SceneModel.createTransform() config missing: id");const s=new rc({id:e.id,model:this,parentTransform:t,matrix:e.matrix,position:e.position,scale:e.scale,rotation:e.rotation,quaternion:e.quaternion});return this._transforms[s.id]=s,s}createMesh(e){if(void 0===e.id||null===e.id)return void this.error("[createMesh] SceneModel.createMesh() config missing: id");if(this._scheduledMeshes[e.id])return void this.error(`[createMesh] SceneModel already has a mesh with this ID: ${e.id}`);if(!(void 0!==e.geometryId)){if(void 0!==e.primitive&&null!==e.primitive||(e.primitive="triangles"),"points"!==e.primitive&&"lines"!==e.primitive&&"triangles"!==e.primitive&&"solid"!==e.primitive&&"surface"!==e.primitive)return void this.error(`Unsupported value for 'primitive': '${primitive}' ('geometryId' is absent) - supported values are 'points', 'lines', 'triangles', 'solid' and 'surface'.`);if(!e.positions&&!e.positionsCompressed&&!e.buckets)return this.error("Param expected: 'positions', 'positionsCompressed' or `buckets` ('geometryId' is absent)"),null;if(e.positions&&(e.positionsDecodeMatrix||e.positionsDecodeBoundary))return this.error("Illegal params: 'positions' not expected with 'positionsDecodeMatrix'/'positionsDecodeBoundary' ('geometryId' is absent)"),null;if(e.positionsCompressed&&!e.positionsDecodeMatrix&&!e.positionsDecodeBoundary)return this.error("Param expected: 'positionsCompressed' should be accompanied by 'positionsDecodeMatrix'/'positionsDecodeBoundary' ('geometryId' is absent)"),null;if(e.uvCompressed&&!e.uvDecodeMatrix)return this.error("Param expected: 'uvCompressed' should be accompanied by `uvDecodeMatrix` ('geometryId' is absent)"),null;if(!e.buckets&&!e.indices&&"points"!==e.primitive)return this.error(`Param expected: indices (required for '${e.primitive}' primitive type)`),null;if((e.matrix||e.position||e.rotation||e.scale)&&(e.positionsCompressed||e.positionsDecodeBoundary))return this.error("Unexpected params: 'matrix', 'rotation', 'scale', 'position' not allowed with 'positionsCompressed'"),null;const t=!!this._dtxEnabled&&("triangles"===e.primitive||"solid"===e.primitive||"surface"===e.primitive);if(e.origin=e.origin?h.addVec3(this._origin,e.origin,h.vec3()):this._origin,e.matrix)e.meshMatrix=e.matrix;else if(e.scale||e.rotation||e.position){const t=e.scale||cc,s=e.position||uc,n=e.rotation||hc;h.eulerToQuaternion(n,"XYZ",pc),e.meshMatrix=h.composeMat4(s,pc,t,h.mat4())}if(e.positionsDecodeBoundary&&(e.positionsDecodeMatrix=aa(e.positionsDecodeBoundary,h.mat4())),t){if(e.type=2,e.color=e.color?new Uint8Array([Math.floor(255*e.color[0]),Math.floor(255*e.color[1]),Math.floor(255*e.color[2])]):dc,e.opacity=void 0!==e.opacity&&null!==e.opacity?Math.floor(255*e.opacity):255,e.positions){const t=h.vec3(),s=[];V(e.positions,s,t)&&(e.positions=s,e.origin=h.addVec3(e.origin,t,t))}if(e.positions){const t=h.collapseAABB3();e.positionsDecodeMatrix=h.mat4(),h.expandAABB3Points3(t,e.positions),e.positionsCompressed=ia(e.positions,t,e.positionsDecodeMatrix),e.aabb=t}else if(e.positionsCompressed){const t=h.collapseAABB3();h.expandAABB3Points3(t,e.positionsCompressed),Bt.decompressAABB(t,e.positionsDecodeMatrix),e.aabb=t}if(e.buckets){const t=h.collapseAABB3();for(let s=0,n=e.buckets.length;s>24&255,i=s>>16&255,a=s>>8&255,r=255&s;switch(e.pickColor=new Uint8Array([r,a,i,n]),e.solid="solid"===e.primitive,t.origin=h.vec3(e.origin),e.type){case 2:t.layer=this._getDTXLayer(e),t.aabb=e.aabb;break;case 1:t.layer=this._getVBOBatchingLayer(e),t.aabb=e.aabb;break;case 0:t.layer=this._getVBOInstancingLayer(e),t.aabb=e.aabb}return e.transform&&(e.meshMatrix=e.transform.worldMatrix),t.portionId=t.layer.createPortion(t,e),this._meshes[e.id]=t,this._meshList.push(t),t}_getNumPrimitives(e){let t=0;switch(e.geometry?e.geometry.primitive:e.primitive){case"triangles":case"solid":case"surface":switch(e.type){case 2:for(let s=0,n=e.buckets.length;s>>0).toString(16)}_getVBOInstancingLayer(e){const t=this,s=e.origin,n=e.textureSetId||"-",i=e.geometryId,a=`${Math.round(s[0])}.${Math.round(s[1])}.${Math.round(s[2])}.${n}.${i}`;let r=this._vboInstancingLayers[a];if(r)return r;let l=e.textureSet;const o=e.geometry;for(;!r;)switch(o.primitive){case"triangles":case"surface":r=new Tr({model:t,textureSet:l,geometry:o,origin:s,layerIndex:0,solid:!1});break;case"solid":r=new Tr({model:t,textureSet:l,geometry:o,origin:s,layerIndex:0,solid:!0});break;case"lines":r=new Hr({model:t,textureSet:l,geometry:o,origin:s,layerIndex:0});break;case"points":r=new ll({model:t,textureSet:l,geometry:o,origin:s,layerIndex:0})}return this._vboInstancingLayers[a]=r,this.layerList.push(r),r}createEntity(e){if(void 0===e.id?e.id=h.createUUID():this.scene.components[e.id]&&(this.error(`Scene already has a Component with this ID: ${e.id} - will assign random ID`),e.id=h.createUUID()),void 0===e.meshIds)return void this.error("Config missing: meshIds");let t=0;this._visible&&!1!==e.visible&&(t|=Q),this._pickable&&!1!==e.pickable&&(t|=z),this._culled&&!1!==e.culled&&(t|=W),this._clippable&&!1!==e.clippable&&(t|=K),this._collidable&&!1!==e.collidable&&(t|=Y),this._edges&&!1!==e.edges&&(t|=Z),this._xrayed&&!1!==e.xrayed&&(t|=X),this._highlighted&&!1!==e.highlighted&&(t|=q),this._selected&&!1!==e.selected&&(t|=J),e.flags=t,this._createEntity(e)}_createEntity(e){let t=[];for(let s=0,n=e.meshIds.length;se.sortIdt.sortId?1:0));for(let e=0,t=this.layerList.length;e0&&0===this.renderFlags.numVisibleLayers?this.renderFlags.culled=!0:this._updateRenderFlags()}_updateRenderFlagsVisibleLayers(){const e=this.renderFlags;e.numLayers=this.layerList.length,e.numVisibleLayers=0;for(let t=0,s=this.layerList.length;t0)for(let e=0;e0&&(e.colorTransparent=!0),this.numXRayedLayerPortions>0){const t=this.scene.xrayMaterial._state;t.fill&&(t.fillAlpha<1?e.xrayedSilhouetteTransparent=!0:e.xrayedSilhouetteOpaque=!0),t.edges&&(t.edgeAlpha<1?e.xrayedEdgesTransparent=!0:e.xrayedEdgesOpaque=!0)}if(this.numEdgesLayerPortions>0){this.scene.edgeMaterial._state.edges&&(e.edgesOpaque=this.numTransparentLayerPortions0&&(e.edgesTransparent=!0))}if(this.numSelectedLayerPortions>0){const t=this.scene.selectedMaterial._state;t.fill&&(t.fillAlpha<1?e.selectedSilhouetteTransparent=!0:e.selectedSilhouetteOpaque=!0),t.edges&&(t.edgeAlpha<1?e.selectedEdgesTransparent=!0:e.selectedEdgesOpaque=!0)}if(this.numHighlightedLayerPortions>0){const t=this.scene.highlightMaterial._state;t.fill&&(t.fillAlpha<1?e.highlightedSilhouetteTransparent=!0:e.highlightedSilhouetteOpaque=!0),t.edges&&(t.edgeAlpha<1?e.highlightedEdgesTransparent=!0:e.highlightedEdgesOpaque=!0)}}drawColorOpaque(e){const t=this.renderFlags;for(let s=0,n=t.visibleLayers.length;s65536?16:8)}else r=[{positionsCompressed:n,indices:i,edgeIndices:a}];return r}class yc extends _{constructor(e,t={}){super(e,t),this._skyboxMesh=new Vs(this,{geometry:new Nt(this,{primitive:"triangles",positions:[1,1,1,-1,1,1,-1,-1,1,1,-1,1,1,1,1,1,-1,1,1,-1,-1,1,1,-1,1,1,1,1,1,-1,-1,1,-1,-1,1,1,-1,1,1,-1,1,-1,-1,-1,-1,-1,-1,1,-1,-1,-1,1,-1,-1,1,-1,1,-1,-1,1,1,-1,-1,-1,-1,-1,-1,1,-1,1,1,-1],uv:[.5,.6666,.25,.6666,.25,.3333,.5,.3333,.5,.6666,.5,.3333,.75,.3333,.75,.6666,.5,.6666,.5,1,.25,1,.25,.6666,.25,.6666,0,.6666,0,.3333,.25,.3333,.25,0,.5,0,.5,.3333,.25,.3333,.75,.3333,1,.3333,1,.6666,.75,.6666],indices:[0,1,2,0,2,3,4,5,6,4,6,7,8,9,10,8,10,11,12,13,14,12,14,15,16,17,18,16,18,19,20,21,22,20,22,23]}),background:!0,scale:[2e3,2e3,2e3],rotation:[0,-90,0],material:new Ht(this,{ambient:[0,0,0],diffuse:[0,0,0],specular:[0,0,0],emissive:[1,1,1],emissiveMap:new gn(this,{src:t.src,flipY:!0,wrapS:"clampToEdge",wrapT:"clampToEdge",encoding:t.encoding||"sRGB"}),backfaces:!0}),visible:!1,pickable:!1,clippable:!1,collidable:!1}),this.size=t.size,this.active=t.active}set size(e){this._size=e||1e3,this._skyboxMesh.scale=[this._size,this._size,this._size]}get size(){return this._size}set active(e){this._skyboxMesh.visible=e}get active(){return this._skyboxMesh.visible}}const mc=h.vec4(),vc=h.vec4(),wc=h.vec3(),gc=h.vec3(),Ec=h.vec3(),Tc=h.vec4(),bc=h.vec4(),Dc=h.vec4();class Pc{constructor(e){this._scene=e}dollyToCanvasPos(e,t,s){let n=!1;const i=this._scene.camera;if(e){const t=h.subVec3(e,i.eye,wc);n=h.lenVec3(t){this._cameraDirty=!0})),this._onProjMatrix=this._scene.camera.on("projMatrix",(()=>{this._cameraDirty=!0})),this._onTick=this._scene.on("tick",(()=>{this.updatePivotElement(),this.updatePivotSphere()}))}createPivotSphere(){const e=this.getPivotPos(),t=h.vec3();h.decomposeMat4(h.inverseMat4(this._scene.viewer.camera.viewMatrix,h.mat4()),t,h.vec4(),h.vec3());const s=h.distVec3(t,e);let n=Math.tan(Math.PI/500)*s*this._pivotSphereSize;"ortho"==this._scene.camera.projection&&(n/=this._scene.camera.ortho.scale/2),j(e,this._rtcCenter,this._rtcPos),this._pivotSphereGeometry=new bn(this._scene,Ws({radius:n})),this._pivotSphere=new Vs(this._scene,{geometry:this._pivotSphereGeometry,material:this._pivotSphereMaterial,pickable:!1,position:this._rtcPos,rtcCenter:this._rtcCenter})}destroyPivotSphere(){this._pivotSphere&&(this._pivotSphere.destroy(),this._pivotSphere=null),this._pivotSphereGeometry&&(this._pivotSphereGeometry.destroy(),this._pivotSphereGeometry=null)}updatePivotElement(){const e=this._scene.camera,t=this._scene.canvas;if(this._pivoting&&this._cameraDirty){h.transformPoint3(e.viewMatrix,this.getPivotPos(),this._pivotViewPos),this._pivotViewPos[3]=1,h.transformPoint4(e.projMatrix,this._pivotViewPos,this._pivotProjPos);const s=t.boundary,n=s[2],i=s[3];this._pivotCanvasPos[0]=Math.floor((1+this._pivotProjPos[0]/this._pivotProjPos[3])*n/2),this._pivotCanvasPos[1]=Math.floor((1-this._pivotProjPos[1]/this._pivotProjPos[3])*i/2);let a=t._lastBoundingClientRect;if(!a||t._canvasSizeChanged){const e=t.canvas;a=t._lastBoundingClientRect=e.getBoundingClientRect()}this._pivotElement&&(this._pivotElement.style.left=Math.floor(a.left+this._pivotCanvasPos[0])-this._pivotElement.clientWidth/2+window.scrollX+"px",this._pivotElement.style.top=Math.floor(a.top+this._pivotCanvasPos[1])-this._pivotElement.clientHeight/2+window.scrollY+"px"),this._cameraDirty=!1}}updatePivotSphere(){this._pivoting&&this._pivotSphere&&(j(this.getPivotPos(),this._rtcCenter,this._rtcPos),h.compareVec3(this._rtcPos,this._pivotSphere.position)||(this.destroyPivotSphere(),this.createPivotSphere()))}setPivotElement(e){this._pivotElement=e}enablePivotSphere(e={}){this.destroyPivotSphere(),this._pivotSphereEnabled=!0,e.size&&(this._pivotSphereSize=e.size);const t=e.color||[1,0,0];this._pivotSphereMaterial=new Ht(this._scene,{emissive:t,ambient:t,specular:[0,0,0],diffuse:[0,0,0]})}disablePivotSphere(){this.destroyPivotSphere(),this._pivotSphereEnabled=!1}startPivot(){if(this._cameraLookingDownwards())return this._pivoting=!1,!1;const e=this._scene.camera;let t=h.lookAtMat4v(e.eye,e.look,e.worldUp);h.transformPoint3(t,this.getPivotPos(),this._cameraOffset);const s=this.getPivotPos();this._cameraOffset[2]+=h.distVec3(e.eye,s),t=h.inverseMat4(t);const n=h.transformVec3(t,this._cameraOffset),i=h.vec3();if(h.subVec3(e.eye,s,i),h.addVec3(i,n),e.zUp){const e=i[1];i[1]=i[2],i[2]=e}this._radius=h.lenVec3(i),this._polar=Math.acos(i[1]/this._radius),this._azimuth=Math.atan2(i[0],i[2]),this._pivoting=!0}_cameraLookingDownwards(){const e=this._scene.camera,t=h.normalizeVec3(h.subVec3(e.look,e.eye,Rc)),s=h.cross3Vec3(t,e.worldUp,Cc);return h.sqLenVec3(s)<=1e-4}getPivoting(){return this._pivoting}setPivotPos(e){this._pivotWorldPos.set(e),this._pivotPosSet=!0}setCanvasPivotPos(e){const t=this._scene.camera,s=Math.abs(h.distVec3(this._scene.center,t.eye)),n=t.project.transposedMatrix,i=n.subarray(8,12),a=n.subarray(12),r=[0,0,-1,1],l=h.dotVec4(r,i)/h.dotVec4(r,a),o=Bc;t.project.unproject(e,l,Oc,Sc,o);const c=h.normalizeVec3(h.subVec3(o,t.eye,Rc)),u=h.addVec3(t.eye,h.mulVec3Scalar(c,s,Cc),_c);this.setPivotPos(u)}getPivotPos(){return this._pivotPosSet?this._pivotWorldPos:this._scene.camera.look}continuePivot(e,t){if(!this._pivoting)return;if(0===e&&0===t)return;const s=this._scene.camera;var n=-e;const i=-t;1===s.worldUp[2]&&(n=-n),this._azimuth+=.01*-n,this._polar+=.01*i,this._polar=h.clamp(this._polar,.001,Math.PI-.001);const a=[this._radius*Math.sin(this._polar)*Math.sin(this._azimuth),this._radius*Math.cos(this._polar),this._radius*Math.sin(this._polar)*Math.cos(this._azimuth)];if(1===s.worldUp[2]){const e=a[1];a[1]=a[2],a[2]=e}const r=h.lenVec3(h.subVec3(s.look,s.eye,h.vec3())),l=this.getPivotPos();h.addVec3(a,l);let o=h.lookAtMat4v(a,l,s.worldUp);o=h.inverseMat4(o);const c=h.transformVec3(o,this._cameraOffset);o[12]-=c[0],o[13]-=c[1],o[14]-=c[2];const u=[o[8],o[9],o[10]];s.eye=[o[12],o[13],o[14]],h.subVec3(s.eye,h.mulVec3Scalar(u,r),s.look),s.up=[o[4],o[5],o[6]],this.showPivot()}showPivot(){this._shown||(this._pivotElement&&(this.updatePivotElement(),this._pivotElement.style.visibility="visible"),this._pivotSphereEnabled&&(this.destroyPivotSphere(),this.createPivotSphere()),this._shown=!0)}hidePivot(){this._shown&&(this._pivotElement&&(this._pivotElement.style.visibility="hidden"),this._pivotSphereEnabled&&this.destroyPivotSphere(),this._shown=!1)}endPivot(){this._pivoting=!1}destroy(){this.destroyPivotSphere(),this._scene.camera.off(this._onViewMatrix),this._scene.camera.off(this._onProjMatrix),this._scene.off(this._onTick)}}class xc{constructor(e,t){this._scene=e.scene,this._cameraControl=e,this._scene.canvas.canvas.oncontextmenu=function(e){e.preventDefault()},this._configs=t,this.schedulePickEntity=!1,this.schedulePickSurface=!1,this.scheduleSnapOrPick=!1,this.pickCursorPos=h.vec2(),this.picked=!1,this.pickedSurface=!1,this.pickResult=null,this._lastPickedEntityId=null,this._lastHash=null,this._needFireEvents=0}update(){if(!this._configs.pointerEnabled)return;if(!this.schedulePickEntity&&!this.schedulePickSurface)return;const e=`${~~this.pickCursorPos[0]}-${~~this.pickCursorPos[1]}-${this.scheduleSnapOrPick}-${this.schedulePickSurface}-${this.schedulePickEntity}`;if(this._lastHash===e)return;this.picked=!1,this.pickedSurface=!1,this.snappedOrPicked=!1,this.hoveredSnappedOrSurfaceOff=!1;const t=this._cameraControl.hasSubs("hoverSurface");if(this.scheduleSnapOrPick){const e=this._scene.pick({canvasPos:this.pickCursorPos,snapRadius:this._configs.snapRadius,snapToVertex:this._configs.snapToVertex,snapToEdge:this._configs.snapToEdge});e&&(e.snappedToEdge||e.snappedToVertex)?(this.snapPickResult=e,this.snappedOrPicked=!0,this._needFireEvents++):(this.schedulePickSurface=!0,this.snapPickResult=null)}if(this.schedulePickSurface&&this.pickResult&&this.pickResult.worldPos){const e=this.pickResult.canvasPos;if(e[0]===this.pickCursorPos[0]&&e[1]===this.pickCursorPos[1])return this.picked=!0,this.pickedSurface=!0,this._needFireEvents+=t?1:0,this.schedulePickEntity=!1,this.schedulePickSurface=!1,this.scheduleSnapOrPick?this.snappedOrPicked=!0:this.hoveredSnappedOrSurfaceOff=!0,void(this.scheduleSnapOrPick=!1)}if(this.schedulePickEntity&&this.pickResult&&(this.pickResult.canvasPos||this.pickResult.snappedCanvasPos)){const e=this.pickResult.canvasPos||this.pickResult.snappedCanvasPos;if(e[0]===this.pickCursorPos[0]&&e[1]===this.pickCursorPos[1])return this.picked=!0,this.pickedSurface=!1,this.schedulePickEntity=!1,void(this.schedulePickSurface=!1)}this.schedulePickSurface||this.scheduleSnapOrPick&&!this.snapPickResult?(this.pickResult=this._scene.pick({pickSurface:!0,pickSurfaceNormal:!1,canvasPos:this.pickCursorPos}),this.pickResult?(this.picked=!0,this.scheduleSnapOrPick?this.snappedOrPicked=!0:this.pickedSurface=!0,this._needFireEvents++):this.scheduleSnapOrPick&&(this.hoveredSnappedOrSurfaceOff=!0,this._needFireEvents++)):(this.pickResult=this._scene.pick({canvasPos:this.pickCursorPos}),this.pickResult&&(this.picked=!0,this.pickedSurface=!1,this._needFireEvents++)),this.scheduleSnapOrPick=!1,this.schedulePickEntity=!1,this.schedulePickSurface=!1}fireEvents(){if(0!==this._needFireEvents){if(this.hoveredSnappedOrSurfaceOff&&this._cameraControl.fire("hoverSnapOrSurfaceOff",{canvasPos:this.pickCursorPos,pointerPos:this.pickCursorPos},!0),this.snappedOrPicked)if(this.snapPickResult){const e=new Te;e.snappedToVertex=this.snapPickResult.snappedToVertex,e.snappedToEdge=this.snapPickResult.snappedToEdge,e.worldPos=this.snapPickResult.worldPos,e.canvasPos=this.pickCursorPos,e.snappedCanvasPos=this.snapPickResult.snappedCanvasPos,this._cameraControl.fire("hoverSnapOrSurface",e,!0),this.snapPickResult=null}else this._cameraControl.fire("hoverSnapOrSurface",this.pickResult,!0);if(this.picked&&this.pickResult&&(this.pickResult.entity||this.pickResult.worldPos)){if(this.pickResult.entity){const e=this.pickResult.entity.id;this._lastPickedEntityId!==e&&(void 0!==this._lastPickedEntityId&&this._cameraControl.fire("hoverOut",{entity:this._scene.objects[this._lastPickedEntityId]},!0),this._cameraControl.fire("hoverEnter",this.pickResult,!0),this._lastPickedEntityId=e)}this._cameraControl.fire("hover",this.pickResult,!0),this.pickResult.worldPos&&(this.pickedSurface=!0,this._cameraControl.fire("hoverSurface",this.pickResult,!0))}else void 0!==this._lastPickedEntityId&&(this._cameraControl.fire("hoverOut",{entity:this._scene.objects[this._lastPickedEntityId]},!0),this._lastPickedEntityId=void 0),this._cameraControl.fire("hoverOff",{canvasPos:this.pickCursorPos},!0);this.pickResult=null,this._needFireEvents=0}}}const Lc=h.vec2();class Mc{constructor(e,t,s,n,i){this._scene=e;const a=t.pickController;let r,l,o,c=0,u=0,p=0,A=0,d=!1;const f=h.vec3();let I=!0;const y=this._scene.canvas.canvas,m=[];function v(e=!0){y.style.cursor="move",c=n.pointerCanvasPos[0],u=n.pointerCanvasPos[1],p=n.pointerCanvasPos[0],A=n.pointerCanvasPos[1],e&&(a.pickCursorPos=n.pointerCanvasPos,a.schedulePickSurface=!0,a.update(),a.picked&&a.pickedSurface&&a.pickResult&&a.pickResult.worldPos?(d=!0,f.set(a.pickResult.worldPos)):d=!1)}document.addEventListener("keydown",this._documentKeyDownHandler=t=>{if(!s.active||!s.pointerEnabled||!e.input.keyboardEnabled)return;const n=t.keyCode;m[n]=!0}),document.addEventListener("keyup",this._documentKeyUpHandler=t=>{if(!s.active||!s.pointerEnabled||!e.input.keyboardEnabled)return;const n=t.keyCode;m[n]=!1}),y.addEventListener("mousedown",this._mouseDownHandler=t=>{if(s.active&&s.pointerEnabled)switch(t.which){case 1:m[e.input.KEY_SHIFT]||s.planView?(r=!0,v()):(r=!0,v(!1));break;case 2:l=!0,v();break;case 3:o=!0,s.panRightClick&&v()}}),document.addEventListener("mousemove",this._documentMouseMoveHandler=()=>{if(!s.active||!s.pointerEnabled)return;if(!r&&!l&&!o)return;const t=e.canvas.boundary,a=t[2],p=t[3],A=n.pointerCanvasPos[0],I=n.pointerCanvasPos[1];if(m[e.input.KEY_SHIFT]||s.planView||!s.panRightClick&&l||s.panRightClick&&o){const t=A-c,s=I-u,n=e.camera;if("perspective"===n.projection){const a=Math.abs(d?h.lenVec3(h.subVec3(f,e.camera.eye,[])):e.camera.eyeLookDist)*Math.tan(n.perspective.fov/2*Math.PI/180);i.panDeltaX+=1.5*t*a/p,i.panDeltaY+=1.5*s*a/p}else i.panDeltaX+=.5*n.ortho.scale*(t/p),i.panDeltaY+=.5*n.ortho.scale*(s/p)}else!r||l||o||s.planView||(s.firstPerson?(i.rotateDeltaY-=(A-c)/a*s.dragRotationRate/2,i.rotateDeltaX+=(I-u)/p*(s.dragRotationRate/4)):(i.rotateDeltaY-=(A-c)/a*(1.5*s.dragRotationRate),i.rotateDeltaX+=(I-u)/p*(1.5*s.dragRotationRate)));c=A,u=I}),y.addEventListener("mousemove",this._canvasMouseMoveHandler=e=>{s.active&&s.pointerEnabled&&n.mouseover&&(I=!0)}),document.addEventListener("mouseup",this._documentMouseUpHandler=e=>{if(s.active&&s.pointerEnabled)switch(e.which){case 1:case 2:case 3:r=!1,l=!1,o=!1}}),y.addEventListener("mouseup",this._mouseUpHandler=e=>{if(s.active&&s.pointerEnabled){if(3===e.which){!function(e,t){if(e){let s=e.target,n=0,i=0,a=0,r=0;for(;s.offsetParent;)n+=s.offsetLeft,i+=s.offsetTop,a+=s.scrollLeft,r+=s.scrollTop,s=s.offsetParent;t[0]=e.pageX+a-n,t[1]=e.pageY+r-i}else e=window.event,t[0]=e.x,t[1]=e.y}(e,Lc);const s=Lc[0],n=Lc[1];Math.abs(s-p)<3&&Math.abs(n-A)<3&&t.cameraControl.fire("rightClick",{pagePos:[Math.round(e.pageX),Math.round(e.pageY)],canvasPos:Lc,event:e},!0)}y.style.removeProperty("cursor")}}),y.addEventListener("mouseenter",this._mouseEnterHandler=()=>{s.active&&s.pointerEnabled});const w=1/60;let g=null;y.addEventListener("wheel",this._mouseWheelHandler=e=>{if(!s.active||!s.pointerEnabled)return;const t=performance.now()/1e3;var a=null!==g?t-g:0;g=t,a>.05&&(a=.05),a{if(!s.active||!s.pointerEnabled||!e.input.keyboardEnabled)return;if(!n.mouseover)return;const r=i._isKeyDownForAction(i.AXIS_VIEW_RIGHT),l=i._isKeyDownForAction(i.AXIS_VIEW_BACK),o=i._isKeyDownForAction(i.AXIS_VIEW_LEFT),c=i._isKeyDownForAction(i.AXIS_VIEW_FRONT),u=i._isKeyDownForAction(i.AXIS_VIEW_TOP),p=i._isKeyDownForAction(i.AXIS_VIEW_BOTTOM);if(!(r||l||o||c||u||p))return;const A=e.aabb,d=h.getAABB3Diag(A);h.getAABB3Center(A,Fc);const f=Math.abs(d/Math.tan(t.cameraFlight.fitFOV*h.DEGTORAD)),I=1.1*d;Vc.orthoScale=I,r?(Vc.eye.set(h.addVec3(Fc,h.mulVec3Scalar(a.worldRight,f,Hc),jc)),Vc.look.set(Fc),Vc.up.set(a.worldUp)):l?(Vc.eye.set(h.addVec3(Fc,h.mulVec3Scalar(a.worldForward,f,Hc),jc)),Vc.look.set(Fc),Vc.up.set(a.worldUp)):o?(Vc.eye.set(h.addVec3(Fc,h.mulVec3Scalar(a.worldRight,-f,Hc),jc)),Vc.look.set(Fc),Vc.up.set(a.worldUp)):c?(Vc.eye.set(h.addVec3(Fc,h.mulVec3Scalar(a.worldForward,-f,Hc),jc)),Vc.look.set(Fc),Vc.up.set(a.worldUp)):u?(Vc.eye.set(h.addVec3(Fc,h.mulVec3Scalar(a.worldUp,f,Hc),jc)),Vc.look.set(Fc),Vc.up.set(h.normalizeVec3(h.mulVec3Scalar(a.worldForward,1,Uc),Gc))):p&&(Vc.eye.set(h.addVec3(Fc,h.mulVec3Scalar(a.worldUp,-f,Hc),jc)),Vc.look.set(Fc),Vc.up.set(h.normalizeVec3(h.mulVec3Scalar(a.worldForward,-1,Uc)))),!s.firstPerson&&s.followPointer&&t.pivotController.setPivotPos(Fc),t.cameraFlight.duration>0?t.cameraFlight.flyTo(Vc,(()=>{t.pivotController.getPivoting()&&s.followPointer&&t.pivotController.showPivot()})):(t.cameraFlight.jumpTo(Vc),t.pivotController.getPivoting()&&s.followPointer&&t.pivotController.showPivot())}))}reset(){}destroy(){this._scene.input.off(this._onSceneKeyDown)}}class Qc{constructor(e,t,s,n,i){this._scene=e;const a=t.pickController,r=t.pivotController,l=t.cameraControl;this._clicks=0,this._timeout=null,this._lastPickedEntityId=null;let o=!1,c=!1;const u=this._scene.canvas.canvas,p=s=>{let n;s&&s.worldPos&&(n=s.worldPos);const i=s&&s.entity?s.entity.aabb:e.aabb;if(n){const s=e.camera;h.subVec3(s.eye,s.look,[]),t.cameraFlight.flyTo({aabb:i})}else t.cameraFlight.flyTo({aabb:i})},A=e.tickify(this._canvasMouseMoveHandler=t=>{if(!s.active||!s.pointerEnabled)return;if(o||c)return;const i=l.hasSubs("hover"),r=l.hasSubs("hoverEnter"),u=l.hasSubs("hoverOut"),h=l.hasSubs("hoverOff"),p=l.hasSubs("hoverSurface"),A=l.hasSubs("hoverSnapOrSurface");if(i||r||u||h||p||A)if(a.pickCursorPos=n.pointerCanvasPos,a.schedulePickEntity=!0,a.schedulePickSurface=p,a.scheduleSnapOrPick=A,a.update(),a.pickResult){if(a.pickResult.entity){const t=a.pickResult.entity.id;this._lastPickedEntityId!==t&&(void 0!==this._lastPickedEntityId&&l.fire("hoverOut",{entity:e.objects[this._lastPickedEntityId]},!0),l.fire("hoverEnter",a.pickResult,!0),this._lastPickedEntityId=t)}l.fire("hover",a.pickResult,!0),(a.pickResult.worldPos||a.pickResult.snappedWorldPos)&&l.fire("hoverSurface",a.pickResult,!0)}else void 0!==this._lastPickedEntityId&&(l.fire("hoverOut",{entity:e.objects[this._lastPickedEntityId]},!0),this._lastPickedEntityId=void 0),l.fire("hoverOff",{canvasPos:a.pickCursorPos},!0)});u.addEventListener("mousemove",A),u.addEventListener("mousedown",this._canvasMouseDownHandler=t=>{1===t.which&&(o=!0),3===t.which&&(c=!0);if(1===t.which&&s.active&&s.pointerEnabled&&(n.mouseDownClientX=t.clientX,n.mouseDownClientY=t.clientY,n.mouseDownCursorX=n.pointerCanvasPos[0],n.mouseDownCursorY=n.pointerCanvasPos[1],!s.firstPerson&&s.followPointer&&(a.pickCursorPos=n.pointerCanvasPos,a.schedulePickSurface=!0,a.update(),1===t.which))){const t=a.pickResult;t&&t.worldPos?(r.setPivotPos(t.worldPos),r.startPivot()):(s.smartPivot?r.setCanvasPivotPos(n.pointerCanvasPos):r.setPivotPos(e.camera.look),r.startPivot())}}),document.addEventListener("mouseup",this._documentMouseUpHandler=e=>{1===e.which&&(o=!1),3===e.which&&(c=!1),r.getPivoting()&&r.endPivot()}),u.addEventListener("mouseup",this._canvasMouseUpHandler=i=>{if(!s.active||!s.pointerEnabled)return;if(!(1===i.which))return;if(r.hidePivot(),Math.abs(i.clientX-n.mouseDownClientX)>3||Math.abs(i.clientY-n.mouseDownClientY)>3)return;const o=l.hasSubs("picked"),c=l.hasSubs("pickedNothing"),u=l.hasSubs("pickedSurface"),A=l.hasSubs("doublePicked"),d=l.hasSubs("doublePickedSurface"),f=l.hasSubs("doublePickedNothing");if(!(s.doublePickFlyTo||A||d||f))return(o||c||u)&&(a.pickCursorPos=n.pointerCanvasPos,a.schedulePickEntity=!0,a.schedulePickSurface=u,a.update(),a.pickResult?(l.fire("picked",a.pickResult,!0),a.pickedSurface&&l.fire("pickedSurface",a.pickResult,!0)):l.fire("pickedNothing",{canvasPos:n.pointerCanvasPos},!0)),void(this._clicks=0);if(this._clicks++,1===this._clicks){a.pickCursorPos=n.pointerCanvasPos,a.schedulePickEntity=s.doublePickFlyTo,a.schedulePickSurface=u,a.update();const e=a.pickResult,i=a.pickedSurface;this._timeout=setTimeout((()=>{e?(l.fire("picked",e,!0),i&&(l.fire("pickedSurface",e,!0),!s.firstPerson&&s.followPointer&&(t.pivotController.setPivotPos(e.worldPos),t.pivotController.startPivot()&&t.pivotController.showPivot()))):l.fire("pickedNothing",{canvasPos:n.pointerCanvasPos},!0),this._clicks=0}),s.doubleClickTimeFrame)}else{if(null!==this._timeout&&(window.clearTimeout(this._timeout),this._timeout=null),a.pickCursorPos=n.pointerCanvasPos,a.schedulePickEntity=s.doublePickFlyTo||A||d,a.schedulePickSurface=a.schedulePickEntity&&d,a.update(),a.pickResult){if(l.fire("doublePicked",a.pickResult,!0),a.pickedSurface&&l.fire("doublePickedSurface",a.pickResult,!0),s.doublePickFlyTo&&(p(a.pickResult),!s.firstPerson&&s.followPointer)){const e=a.pickResult.entity.aabb,s=h.getAABB3Center(e);t.pivotController.setPivotPos(s),t.pivotController.startPivot()&&t.pivotController.showPivot()}}else if(l.fire("doublePickedNothing",{canvasPos:n.pointerCanvasPos},!0),s.doublePickFlyTo&&(p(),!s.firstPerson&&s.followPointer)){const s=e.aabb,n=h.getAABB3Center(s);t.pivotController.setPivotPos(n),t.pivotController.startPivot()&&t.pivotController.showPivot()}this._clicks=0}},!1)}reset(){this._clicks=0,this._lastPickedEntityId=null,this._timeout&&(window.clearTimeout(this._timeout),this._timeout=null)}destroy(){const e=this._scene.canvas.canvas;e.removeEventListener("mousemove",this._canvasMouseMoveHandler),e.removeEventListener("mousedown",this._canvasMouseDownHandler),document.removeEventListener("mouseup",this._documentMouseUpHandler),e.removeEventListener("mouseup",this._canvasMouseUpHandler),this._timeout&&(window.clearTimeout(this._timeout),this._timeout=null)}}class Wc{constructor(e,t,s,n,i){this._scene=e;const a=e.input,r=[],l=e.canvas.canvas;let o=!0;this._onSceneMouseMove=a.on("mousemove",(()=>{o=!0})),this._onSceneKeyDown=a.on("keydown",(t=>{s.active&&s.pointerEnabled&&e.input.keyboardEnabled&&n.mouseover&&(r[t]=!0,t===a.KEY_SHIFT&&(l.style.cursor="move"))})),this._onSceneKeyUp=a.on("keyup",(n=>{s.active&&s.pointerEnabled&&e.input.keyboardEnabled&&(r[n]=!1,n===a.KEY_SHIFT&&(l.style.cursor=null),t.pivotController.getPivoting()&&t.pivotController.endPivot())})),this._onTick=e.on("tick",(l=>{if(!s.active||!s.pointerEnabled||!e.input.keyboardEnabled)return;if(!n.mouseover)return;const c=t.cameraControl,u=l.deltaTime/1e3;if(!s.planView){const e=c._isKeyDownForAction(c.ROTATE_Y_POS,r),n=c._isKeyDownForAction(c.ROTATE_Y_NEG,r),a=c._isKeyDownForAction(c.ROTATE_X_POS,r),l=c._isKeyDownForAction(c.ROTATE_X_NEG,r),o=u*s.keyboardRotationRate;(e||n||a||l)&&(!s.firstPerson&&s.followPointer&&t.pivotController.startPivot(),e?i.rotateDeltaY+=o:n&&(i.rotateDeltaY-=o),a?i.rotateDeltaX+=o:l&&(i.rotateDeltaX-=o),!s.firstPerson&&s.followPointer&&t.pivotController.startPivot())}if(!r[a.KEY_CTRL]&&!r[a.KEY_ALT]){const e=c._isKeyDownForAction(c.DOLLY_BACKWARDS,r),a=c._isKeyDownForAction(c.DOLLY_FORWARDS,r);if(e||a){const r=u*s.keyboardDollyRate;!s.firstPerson&&s.followPointer&&t.pivotController.startPivot(),a?i.dollyDelta-=r:e&&(i.dollyDelta+=r),o&&(n.followPointerDirty=!0,o=!1)}}const h=c._isKeyDownForAction(c.PAN_FORWARDS,r),p=c._isKeyDownForAction(c.PAN_BACKWARDS,r),A=c._isKeyDownForAction(c.PAN_LEFT,r),d=c._isKeyDownForAction(c.PAN_RIGHT,r),f=c._isKeyDownForAction(c.PAN_UP,r),I=c._isKeyDownForAction(c.PAN_DOWN,r),y=(r[a.KEY_ALT]?.3:1)*u*s.keyboardPanRate;(h||p||A||d||f||I)&&(!s.firstPerson&&s.followPointer&&t.pivotController.startPivot(),I?i.panDeltaY+=y:f&&(i.panDeltaY+=-y),d?i.panDeltaX+=-y:A&&(i.panDeltaX+=y),p?i.panDeltaZ+=y:h&&(i.panDeltaZ+=-y))}))}reset(){}destroy(){this._scene.off(this._onTick),this._scene.input.off(this._onSceneMouseMove),this._scene.input.off(this._onSceneKeyDown),this._scene.input.off(this._onSceneKeyUp)}}const zc=h.vec3();class Kc{constructor(e,t,s,n,i){this._scene=e;const a=e.camera,r=t.pickController,l=t.pivotController,o=t.panController;let c=1,u=1,p=null;this._onTick=e.on("tick",(()=>{if(!s.active||!s.pointerEnabled)return;let t="default";if(Math.abs(i.dollyDelta)<.001&&(i.dollyDelta=0),Math.abs(i.rotateDeltaX)<.001&&(i.rotateDeltaX=0),Math.abs(i.rotateDeltaY)<.001&&(i.rotateDeltaY=0),0===i.rotateDeltaX&&0===i.rotateDeltaY||(i.dollyDelta=0),s.followPointer&&--c<=0&&(c=1,0!==i.dollyDelta)){if(0===i.rotateDeltaY&&0===i.rotateDeltaX&&s.followPointer&&n.followPointerDirty&&(r.pickCursorPos=n.pointerCanvasPos,r.schedulePickSurface=!0,r.update(),r.pickResult&&r.pickResult.worldPos?p=r.pickResult.worldPos:(u=1,p=null),n.followPointerDirty=!1),p){const t=Math.abs(h.lenVec3(h.subVec3(p,e.camera.eye,zc)));u=t/s.dollyProximityThreshold}u{n.mouseover=!0}),a.addEventListener("mouseleave",this._mouseLeaveHandler=()=>{n.mouseover=!1,a.style.cursor=null}),document.addEventListener("mousemove",this._mouseMoveHandler=e=>{Xc(e,a,n.pointerCanvasPos)}),a.addEventListener("mousedown",this._mouseDownHandler=e=>{s.active&&s.pointerEnabled&&(Xc(e,a,n.pointerCanvasPos),n.mouseover=!0)}),a.addEventListener("mouseup",this._mouseUpHandler=e=>{s.active&&s.pointerEnabled})}reset(){}destroy(){const e=this._scene.canvas.canvas;document.removeEventListener("mousemove",this._mouseMoveHandler),e.removeEventListener("mouseenter",this._mouseEnterHandler),e.removeEventListener("mouseleave",this._mouseLeaveHandler),e.removeEventListener("mousedown",this._mouseDownHandler),e.removeEventListener("mouseup",this._mouseUpHandler)}}function Xc(e,t,s){if(e){const{x:n,y:i}=t.getBoundingClientRect();s[0]=e.clientX-n,s[1]=e.clientY-i}else e=window.event,s[0]=e.x,s[1]=e.y;return s}const qc=function(e,t){if(e){let s=e.target,n=0,i=0;for(;s.offsetParent;)n+=s.offsetLeft,i+=s.offsetTop,s=s.offsetParent;t[0]=e.pageX-n,t[1]=e.pageY-i}else e=window.event,t[0]=e.x,t[1]=e.y;return t};class Jc{constructor(e,t,s,n,i){this._scene=e;const a=t.pickController,r=t.pivotController,l=h.vec2(),o=h.vec2(),c=h.vec2(),u=h.vec2(),p=[],A=this._scene.canvas.canvas;let d=0,f=!1;this._onTick=e.on("tick",(()=>{f=!1})),A.addEventListener("touchstart",this._canvasTouchStartHandler=t=>{if(!s.active||!s.pointerEnabled)return;t.preventDefault();const i=t.touches,o=t.changedTouches;for(n.touchStartTime=Date.now(),1===i.length&&1===o.length&&(qc(i[0],l),s.followPointer&&(a.pickCursorPos=l,a.schedulePickSurface=!0,a.update(),s.planView||(a.picked&&a.pickedSurface&&a.pickResult&&a.pickResult.worldPos?(r.setPivotPos(a.pickResult.worldPos),!s.firstPerson&&r.startPivot()&&r.showPivot()):(s.smartPivot?r.setCanvasPivotPos(n.pointerCanvasPos):r.setPivotPos(e.camera.look),!s.firstPerson&&r.startPivot()&&r.showPivot()))));p.length{r.getPivoting()&&r.endPivot()}),A.addEventListener("touchmove",this._canvasTouchMoveHandler=t=>{if(!s.active||!s.pointerEnabled)return;if(t.stopPropagation(),t.preventDefault(),f)return;f=!0;const r=e.canvas.boundary,l=r[2],A=r[3],I=t.touches;if(t.touches.length===d){if(1===d){qc(I[0],o),h.subVec2(o,p[0],u);const t=u[0],a=u[1];if(null!==n.longTouchTimeout&&(Math.abs(t)>s.longTapRadius||Math.abs(a)>s.longTapRadius)&&(clearTimeout(n.longTouchTimeout),n.longTouchTimeout=null),s.planView){const n=e.camera;if("perspective"===n.projection){const r=Math.abs(e.camera.eyeLookDist)*Math.tan(n.perspective.fov/2*Math.PI/180);i.panDeltaX+=t*r/A*s.touchPanRate,i.panDeltaY+=a*r/A*s.touchPanRate}else i.panDeltaX+=.5*n.ortho.scale*(t/A)*s.touchPanRate,i.panDeltaY+=.5*n.ortho.scale*(a/A)*s.touchPanRate}else i.rotateDeltaY-=t/l*(1*s.dragRotationRate),i.rotateDeltaX+=a/A*(1.5*s.dragRotationRate)}else if(2===d){const t=I[0],r=I[1];qc(t,o),qc(r,c);const l=h.geometricMeanVec2(p[0],p[1]),u=h.geometricMeanVec2(o,c),d=h.vec2();h.subVec2(l,u,d);const f=d[0],y=d[1],m=e.camera,v=h.distVec2([t.pageX,t.pageY],[r.pageX,r.pageY]),w=(h.distVec2(p[0],p[1])-v)*s.touchDollyRate;if(i.dollyDelta=w,Math.abs(w)<1)if("perspective"===m.projection){const t=a.pickResult?a.pickResult.worldPos:e.center,n=Math.abs(h.lenVec3(h.subVec3(t,e.camera.eye,[])))*Math.tan(m.perspective.fov/2*Math.PI/180);i.panDeltaX-=f*n/A*s.touchPanRate,i.panDeltaY-=y*n/A*s.touchPanRate}else i.panDeltaX-=.5*m.ortho.scale*(f/A)*s.touchPanRate,i.panDeltaY-=.5*m.ortho.scale*(y/A)*s.touchPanRate;n.pointerCanvasPos=u}for(let e=0;e{let n;s&&s.worldPos&&(n=s.worldPos);const i=s?s.entity.aabb:e.aabb;if(n){const s=e.camera;h.subVec3(s.eye,s.look,[]),t.cameraFlight.flyTo({aabb:i})}else t.cameraFlight.flyTo({aabb:i})};A.addEventListener("touchstart",this._canvasTouchStartHandler=e=>{if(!s.active||!s.pointerEnabled)return;null!==n.longTouchTimeout&&(clearTimeout(n.longTouchTimeout),n.longTouchTimeout=null);const i=e.touches,a=e.changedTouches;if(l=Date.now(),1===i.length&&1===a.length){u=l,Zc(i[0],c);const a=c[0],r=c[1],o=i[0].pageX,h=i[0].pageY;n.longTouchTimeout=setTimeout((()=>{t.cameraControl.fire("rightClick",{pagePos:[Math.round(o),Math.round(h)],canvasPos:[Math.round(a),Math.round(r)],event:e},!0),n.longTouchTimeout=null}),s.longTapTimeout)}else u=-1;for(;o.length{if(!s.active||!s.pointerEnabled)return;const t=Date.now(),i=e.touches,l=e.changedTouches,A=r.hasSubs("pickedSurface");null!==n.longTouchTimeout&&(clearTimeout(n.longTouchTimeout),n.longTouchTimeout=null),0===i.length&&1===l.length&&u>-1&&t-u<150&&(p>-1&&u-p<325?(Zc(l[0],a.pickCursorPos),a.schedulePickEntity=!0,a.schedulePickSurface=A,a.update(),a.pickResult?(a.pickResult.touchInput=!0,r.fire("doublePicked",a.pickResult),a.pickedSurface&&r.fire("doublePickedSurface",a.pickResult),s.doublePickFlyTo&&d(a.pickResult)):(r.fire("doublePickedNothing"),s.doublePickFlyTo&&d()),p=-1):h.distVec2(o[0],c)<4&&(Zc(l[0],a.pickCursorPos),a.schedulePickEntity=!0,a.schedulePickSurface=A,a.update(),a.pickResult?(a.pickResult.touchInput=!0,r.fire("picked",a.pickResult),a.pickedSurface&&r.fire("pickedSurface",a.pickResult)):r.fire("pickedNothing"),p=t),u=-1),o.length=i.length;for(let e=0,t=i.length;e{e.preventDefault()},this._configs={longTapTimeout:600,longTapRadius:5,active:!0,keyboardLayout:"qwerty",navMode:"orbit",planView:!1,firstPerson:!1,followPointer:!0,doublePickFlyTo:!0,panRightClick:!0,showPivot:!1,pointerEnabled:!0,constrainVertical:!1,smartPivot:!1,doubleClickTimeFrame:250,snapToVertex:true,snapToEdge:true,snapRadius:30,dragRotationRate:360,keyboardRotationRate:90,rotationInertia:0,keyboardPanRate:1,touchPanRate:1,panInertia:.5,keyboardDollyRate:10,mouseWheelDollyRate:100,touchDollyRate:.2,dollyInertia:0,dollyProximityThreshold:30,dollyMinSpeed:.04},this._states={pointerCanvasPos:h.vec2(),mouseover:!1,followPointerDirty:!0,mouseDownClientX:0,mouseDownClientY:0,mouseDownCursorX:0,mouseDownCursorY:0,touchStartTime:null,activeTouches:[],tapStartPos:h.vec2(),tapStartTime:-1,lastTapTime:-1,longTouchTimeout:null},this._updates={rotateDeltaX:0,rotateDeltaY:0,panDeltaX:0,panDeltaY:0,panDeltaZ:0,dollyDelta:0};const s=this.scene;this._controllers={cameraControl:this,pickController:new xc(this,this._configs),pivotController:new Nc(s,this._configs),panController:new Pc(s),cameraFlight:new si(this,{duration:.5})},this._handlers=[new Yc(this.scene,this._controllers,this._configs,this._states,this._updates),new Jc(this.scene,this._controllers,this._configs,this._states,this._updates),new Mc(this.scene,this._controllers,this._configs,this._states,this._updates),new kc(this.scene,this._controllers,this._configs,this._states,this._updates),new Qc(this.scene,this._controllers,this._configs,this._states,this._updates),new $c(this.scene,this._controllers,this._configs,this._states,this._updates),new Wc(this.scene,this._controllers,this._configs,this._states,this._updates)],this._cameraUpdater=new Kc(this.scene,this._controllers,this._configs,this._states,this._updates),this.navMode=t.navMode,t.planView&&(this.planView=t.planView),this.constrainVertical=t.constrainVertical,t.keyboardLayout?this.keyboardLayout=t.keyboardLayout:this.keyMap=t.keyMap,this.doublePickFlyTo=t.doublePickFlyTo,this.panRightClick=t.panRightClick,this.active=t.active,this.followPointer=t.followPointer,this.rotationInertia=t.rotationInertia,this.keyboardPanRate=t.keyboardPanRate,this.touchPanRate=t.touchPanRate,this.keyboardRotationRate=t.keyboardRotationRate,this.dragRotationRate=t.dragRotationRate,this.touchDollyRate=t.touchDollyRate,this.dollyInertia=t.dollyInertia,this.dollyProximityThreshold=t.dollyProximityThreshold,this.dollyMinSpeed=t.dollyMinSpeed,this.panInertia=t.panInertia,this.pointerEnabled=!0,this.keyboardDollyRate=t.keyboardDollyRate,this.mouseWheelDollyRate=t.mouseWheelDollyRate}set keyMap(e){if(e=e||"qwerty",m.isString(e)){const t=this.scene.input,s={};switch(e){default:this.error("Unsupported value for 'keyMap': "+e+" defaulting to 'qwerty'");case"qwerty":s[this.PAN_LEFT]=[t.KEY_A],s[this.PAN_RIGHT]=[t.KEY_D],s[this.PAN_UP]=[t.KEY_Z],s[this.PAN_DOWN]=[t.KEY_X],s[this.PAN_BACKWARDS]=[],s[this.PAN_FORWARDS]=[],s[this.DOLLY_FORWARDS]=[t.KEY_W,t.KEY_ADD],s[this.DOLLY_BACKWARDS]=[t.KEY_S,t.KEY_SUBTRACT],s[this.ROTATE_X_POS]=[t.KEY_DOWN_ARROW],s[this.ROTATE_X_NEG]=[t.KEY_UP_ARROW],s[this.ROTATE_Y_POS]=[t.KEY_Q,t.KEY_LEFT_ARROW],s[this.ROTATE_Y_NEG]=[t.KEY_E,t.KEY_RIGHT_ARROW],s[this.AXIS_VIEW_RIGHT]=[t.KEY_NUM_1],s[this.AXIS_VIEW_BACK]=[t.KEY_NUM_2],s[this.AXIS_VIEW_LEFT]=[t.KEY_NUM_3],s[this.AXIS_VIEW_FRONT]=[t.KEY_NUM_4],s[this.AXIS_VIEW_TOP]=[t.KEY_NUM_5],s[this.AXIS_VIEW_BOTTOM]=[t.KEY_NUM_6];break;case"azerty":s[this.PAN_LEFT]=[t.KEY_Q],s[this.PAN_RIGHT]=[t.KEY_D],s[this.PAN_UP]=[t.KEY_W],s[this.PAN_DOWN]=[t.KEY_X],s[this.PAN_BACKWARDS]=[],s[this.PAN_FORWARDS]=[],s[this.DOLLY_FORWARDS]=[t.KEY_Z,t.KEY_ADD],s[this.DOLLY_BACKWARDS]=[t.KEY_S,t.KEY_SUBTRACT],s[this.ROTATE_X_POS]=[t.KEY_DOWN_ARROW],s[this.ROTATE_X_NEG]=[t.KEY_UP_ARROW],s[this.ROTATE_Y_POS]=[t.KEY_A,t.KEY_LEFT_ARROW],s[this.ROTATE_Y_NEG]=[t.KEY_E,t.KEY_RIGHT_ARROW],s[this.AXIS_VIEW_RIGHT]=[t.KEY_NUM_1],s[this.AXIS_VIEW_BACK]=[t.KEY_NUM_2],s[this.AXIS_VIEW_LEFT]=[t.KEY_NUM_3],s[this.AXIS_VIEW_FRONT]=[t.KEY_NUM_4],s[this.AXIS_VIEW_TOP]=[t.KEY_NUM_5],s[this.AXIS_VIEW_BOTTOM]=[t.KEY_NUM_6]}this._keyMap=s}else{const t=e;this._keyMap=t}}get keyMap(){return this._keyMap}_isKeyDownForAction(e,t){const s=this._keyMap[e];if(!s)return!1;t||(t=this.scene.input.keyDown);for(let e=0,n=s.length;e0?ru(t):null,r=s&&s.length>0?ru(s):null,l=e=>{if(!e)return;var t=!0;(r&&r[e.type]||a&&!a[e.type])&&(t=!1),t&&n.push(e.id);const s=e.children;if(s)for(var i=0,o=s.length;i * Copyright (c) 2022 Niklas von Hertzen diff --git a/dist/xeokit-sdk.min.es.js b/dist/xeokit-sdk.min.es.js index f98a6e8981..8f17b4b256 100644 --- a/dist/xeokit-sdk.min.es.js +++ b/dist/xeokit-sdk.min.es.js @@ -1,4 +1,4 @@ -class e{constructor(e,t){this.items=e||[],this._lastUniqueId=(t||0)+1}addItem(){let e;if(2===arguments.length){const t=arguments[0];if(e=arguments[1],this.items[t])throw"ID clash: '"+t+"'";return this.items[t]=e,t}for(e=arguments[0]||{};;){const t=this._lastUniqueId++;if(!this.items[t])return this.items[t]=e,t}}removeItem(e){const t=this.items[e];return delete this.items[e],t}}const t=new e;class s{constructor(e){this.id=e,this.parentItem=null,this.groups=[],this.menuElement=null,this.shown=!1,this.mouseOver=0}}class n{constructor(){this.items=[]}}class i{constructor(e,t,s,n,i){this.id=e,this.getTitle=t,this.doAction=s,this.getEnabled=n,this.getShown=i,this.itemElement=null,this.subMenu=null,this.enabled=!0}}class a{constructor(e={}){this._id=t.addItem(),this._context=null,this._enabled=!1,this._itemsCfg=[],this._rootMenu=null,this._menuList=[],this._menuMap={},this._itemList=[],this._itemMap={},this._shown=!1,this._nextId=0,this._eventSubs={},!1!==e.hideOnMouseDown&&(document.addEventListener("mousedown",(e=>{e.target.classList.contains("xeokit-context-menu-item")||this.hide()})),document.addEventListener("touchstart",this._canvasTouchStartHandler=e=>{e.target.classList.contains("xeokit-context-menu-item")||this.hide()})),e.items&&(this.items=e.items),this._hideOnAction=!1!==e.hideOnAction,this.context=e.context,this.enabled=!1!==e.enabled,this.hide()}on(e,t){let s=this._eventSubs[e];s||(s=[],this._eventSubs[e]=s),s.push(t)}fire(e,t){const s=this._eventSubs[e];if(s)for(let e=0,n=s.length;e{const a=this._getNextId(),r=new s(a);for(let s=0,a=e.length;s0,c=this._getNextId(),u=s.getTitle||(()=>s.title||""),h=s.doAction||s.callback||(()=>{}),p=s.getEnabled||(()=>!0),A=s.getShown||(()=>!0),d=new i(c,u,h,p,A);if(d.parentMenu=r,l.items.push(d),o){const e=t(n);d.subMenu=e,e.parentItem=d}this._itemList.push(d),this._itemMap[d.id]=d}}return this._menuList.push(r),this._menuMap[r.id]=r,r};this._rootMenu=t(e)}_getNextId(){return"ContextMenu_"+this._id+"_"+this._nextId++}_createUI(){const e=t=>{this._createMenuUI(t);const s=t.groups;for(let t=0,n=s.length;t'),s.push("
    "),t)for(let e=0,n=t.length;e'+o+" [MORE]"):s.push('
  • '+o+"
  • ")}}s.push("
"),s.push("");const n=s.join("");document.body.insertAdjacentHTML("beforeend",n);const i=document.querySelector("."+e.id);e.menuElement=i,i.style["border-radius"]="4px",i.style.display="none",i.style["z-index"]=3e5,i.style.background="white",i.style.border="1px solid black",i.style["box-shadow"]="0 4px 5px 0 gray",i.oncontextmenu=e=>{e.preventDefault()};const a=this;let r=null;if(t)for(let e=0,s=t.length;e{e.preventDefault();const s=t.subMenu;if(!s)return void(r&&(a._hideMenu(r.id),r=null));if(r&&r.id!==s.id&&(a._hideMenu(r.id),r=null),!1===t.enabled)return;const n=t.itemElement,i=s.menuElement,l=n.getBoundingClientRect();i.getBoundingClientRect();l.right+200>window.innerWidth?a._showMenu(s.id,l.left-200,l.top-1):a._showMenu(s.id,l.right-5,l.top-1),r=s})),n||(t.itemElement.addEventListener("click",(e=>{e.preventDefault(),a._context&&!1!==t.enabled&&(t.doAction&&t.doAction(a._context),this._hideOnAction?a.hide():(a._updateItemsTitles(),a._updateItemsEnabledStatus()))})),t.itemElement.addEventListener("mouseenter",(e=>{e.preventDefault(),!1!==t.enabled&&t.doHover&&t.doHover(a._context)})))):console.error("ContextMenu item element not found: "+t.id)}}}_updateItemsTitles(){if(this._context)for(let e=0,t=this._itemList.length;ewindow.innerHeight&&(s=window.innerHeight-n),t+i>window.innerWidth&&(t=window.innerWidth-i),e.style.left=t+"px",e.style.top=s+"px"}_hideMenuElement(e){e.style.display="none"}}class r{constructor(e,t={}){this.viewer=e,this.scene=this.viewer.scene,this._lensCursorDiv=document.createElement("div"),this.viewer.scene.canvas.canvas.parentNode.insertBefore(this._lensCursorDiv,this.viewer.scene.canvas.canvas),this._lensCursorDiv.style.background="pink",this._lensCursorDiv.style.border="2px solid red",this._lensCursorDiv.style.borderRadius="20px",this._lensCursorDiv.style.width="10px",this._lensCursorDiv.style.height="10px",this._lensCursorDiv.style.margin="-200px -200px",this._lensCursorDiv.style.zIndex="100000",this._lensCursorDiv.style.position="absolute",this._lensCursorDiv.style.pointerEvents="none",this._lensContainer=document.createElement("div"),this._lensContainer.style.border="1px solid black",this._lensContainer.style.background="white",this._lensContainer.style.borderRadius="50%",this._lensContainer.style.width="300px",this._lensContainer.style.height="300px",this._lensContainer.style.marginTop="85px",this._lensContainer.style.marginLeft="25px",this._lensContainer.style.zIndex="15000",this._lensContainer.style.position="absolute",this._lensContainer.style.pointerEvents="none",this._lensContainer.style.visibility="hidden",this._lensCanvas=document.createElement("canvas"),this._lensCanvas.style.borderRadius="50%",this._lensCanvas.style.width="300px",this._lensCanvas.style.height="300px",this._lensCanvas.style.zIndex="15000",this._lensCanvas.style.pointerEvents="none",document.body.appendChild(this._lensContainer),this._lensContainer.appendChild(this._lensCanvas),this._lensCanvasContext=this._lensCanvas.getContext("2d"),this._canvasElement=this.viewer.scene.canvas.canvas,this._canvasPos=null,this._snappedCanvasPos=null,this._lensPosToggle=!0,this._zoomLevel=t.zoomLevel||2,this._active=!1!==t.active,this._visible=!1,this._snapped=!1,this._onViewerRendering=this.viewer.scene.on("rendering",(()=>{this._active&&this._visible&&this.update()}))}update(){if(!this._active||!this._visible)return;if(!this._canvasPos)return;const e=this._lensContainer.getBoundingClientRect(),t=this._canvasElement.getBoundingClientRect(),s=this._canvasPos[0]e.left&&this._canvasPos[1]e.top;this._lensContainer.style.marginLeft="25px",s&&(this._lensPosToggle?this._lensContainer.style.marginTop=t.bottom-t.top-this._lensCanvas.height-85+"px":this._lensContainer.style.marginTop="85px",this._lensPosToggle=!this._lensPosToggle),this._lensCanvasContext.clearRect(0,0,this._lensCanvas.width,this._lensCanvas.height);const n=Math.max(this._lensCanvas.width,this._lensCanvas.height)/this._zoomLevel;this._lensCanvasContext.drawImage(this._canvasElement,this._canvasPos[0]-n/2,this._canvasPos[1]-n/2,n,n,0,0,this._lensCanvas.width,this._lensCanvas.height);const i=[(e.left+e.right)/2,(e.top+e.bottom)/2];if(this._snappedCanvasPos){const e=this._snappedCanvasPos[0]-this._canvasPos[0],t=this._snappedCanvasPos[1]-this._canvasPos[1];this._lensCursorDiv.style.marginLeft=i[0]+e*this._zoomLevel-10+"px",this._lensCursorDiv.style.marginTop=i[1]+t*this._zoomLevel-10+"px"}else this._lensCursorDiv.style.marginLeft=i[0]-10+"px",this._lensCursorDiv.style.marginTop=i[1]-10+"px"}set zoomFactor(e){this._zoomFactor=e,this.update()}get zoomFactor(){return this._zoomFactor}set canvasPos(e){this._canvasPos=e,this.update()}get canvasPos(){return this._canvasPos}set snappedCanvasPos(e){this._snappedCanvasPos=e,this.update()}get snappedCanvasPos(){return this._snappedCanvasPos}set snapped(e){this._snapped=e,e?(this._lensCursorDiv.style.background="greenyellow",this._lensCursorDiv.style.border="2px solid green"):(this._lensCursorDiv.style.background="pink",this._lensCursorDiv.style.border="2px solid red")}get snapped(){return this._snapped}set active(e){this._active=e,this._lensContainer.style.visibility=e&&this._visible?"visible":"hidden",e&&this._visible||(this._lensCursorDiv.style.marginLeft="-100px",this._lensCursorDiv.style.marginTop="-100px"),this.update()}get active(){return this._active}set visible(e){this._visible=e,this._lensContainer.style.visibility=e&&this._active?"visible":"hidden",e&&this._active||(this._lensCursorDiv.style.marginLeft="-100px",this._lensCursorDiv.style.marginTop="-100px"),this.update()}get visible(){return this._visible}destroy(){this._destroyed||(this.viewer.scene.off(this._onViewerRendering),this._lensContainer.removeChild(this._lensCanvas),document.body.removeChild(this._lensContainer),this._destroyed=!0)}}let l=!0,o=l?Float64Array:Float32Array;const c=new o(3),u=new o(16),h=new o(16),p=new o(4),A={setDoublePrecisionEnabled(e){l=e,o=l?Float64Array:Float32Array},getDoublePrecisionEnabled:()=>l,MIN_DOUBLE:-Number.MAX_SAFE_INTEGER,MAX_DOUBLE:Number.MAX_SAFE_INTEGER,MAX_INT:1e7,DEGTORAD:.0174532925,RADTODEG:57.295779513,unglobalizeObjectId(e,t){const s=t.indexOf("#");return s===e.length&&t.startsWith(e)?t.substring(s+1):t},globalizeObjectId:(e,t)=>e+"#"+t,safeInv(e){const t=1/e;return isNaN(t)||!isFinite(t)?1:t},vec2:e=>new o(e||2),vec3:e=>new o(e||3),vec4:e=>new o(e||4),mat3:e=>new o(e||9),mat3ToMat4:(e,t=new o(16))=>(t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=0,t[4]=e[3],t[5]=e[4],t[6]=e[5],t[7]=0,t[8]=e[6],t[9]=e[7],t[10]=e[8],t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t),mat4:e=>new o(e||16),mat4ToMat3(e,t){},doublesToFloats(e,t,s){const n=new o(2);for(let i=0,a=e.length;i{const e=[];for(let t=0;t<256;t++)e[t]=(t<16?"0":"")+t.toString(16);return()=>{const t=4294967295*Math.random()|0,s=4294967295*Math.random()|0,n=4294967295*Math.random()|0,i=4294967295*Math.random()|0;return`${e[255&t]+e[t>>8&255]+e[t>>16&255]+e[t>>24&255]}-${e[255&s]}${e[s>>8&255]}-${e[s>>16&15|64]}${e[s>>24&255]}-${e[63&n|128]}${e[n>>8&255]}-${e[n>>16&255]}${e[n>>24&255]}${e[255&i]}${e[i>>8&255]}${e[i>>16&255]}${e[i>>24&255]}`}})(),clamp:(e,t,s)=>Math.max(t,Math.min(s,e)),fmod(e,t){if(ee[0]===t[0]&&e[1]===t[1]&&e[2]===t[2],negateVec3:(e,t)=>(t||(t=e),t[0]=-e[0],t[1]=-e[1],t[2]=-e[2],t),negateVec4:(e,t)=>(t||(t=e),t[0]=-e[0],t[1]=-e[1],t[2]=-e[2],t[3]=-e[3],t),addVec4:(e,t,s)=>(s||(s=e),s[0]=e[0]+t[0],s[1]=e[1]+t[1],s[2]=e[2]+t[2],s[3]=e[3]+t[3],s),addVec4Scalar:(e,t,s)=>(s||(s=e),s[0]=e[0]+t,s[1]=e[1]+t,s[2]=e[2]+t,s[3]=e[3]+t,s),addVec3:(e,t,s)=>(s||(s=e),s[0]=e[0]+t[0],s[1]=e[1]+t[1],s[2]=e[2]+t[2],s),addVec3Scalar:(e,t,s)=>(s||(s=e),s[0]=e[0]+t,s[1]=e[1]+t,s[2]=e[2]+t,s),subVec4:(e,t,s)=>(s||(s=e),s[0]=e[0]-t[0],s[1]=e[1]-t[1],s[2]=e[2]-t[2],s[3]=e[3]-t[3],s),subVec3:(e,t,s)=>(s||(s=e),s[0]=e[0]-t[0],s[1]=e[1]-t[1],s[2]=e[2]-t[2],s),subVec2:(e,t,s)=>(s||(s=e),s[0]=e[0]-t[0],s[1]=e[1]-t[1],s),geometricMeanVec2(...e){const t=new o(e[0]);for(let s=1;s(s||(s=e),s[0]=e[0]-t,s[1]=e[1]-t,s[2]=e[2]-t,s[3]=e[3]-t,s),subScalarVec4:(e,t,s)=>(s||(s=e),s[0]=t-e[0],s[1]=t-e[1],s[2]=t-e[2],s[3]=t-e[3],s),mulVec4:(e,t,s)=>(s||(s=e),s[0]=e[0]*t[0],s[1]=e[1]*t[1],s[2]=e[2]*t[2],s[3]=e[3]*t[3],s),mulVec4Scalar:(e,t,s)=>(s||(s=e),s[0]=e[0]*t,s[1]=e[1]*t,s[2]=e[2]*t,s[3]=e[3]*t,s),mulVec3Scalar:(e,t,s)=>(s||(s=e),s[0]=e[0]*t,s[1]=e[1]*t,s[2]=e[2]*t,s),mulVec2Scalar:(e,t,s)=>(s||(s=e),s[0]=e[0]*t,s[1]=e[1]*t,s),divVec3:(e,t,s)=>(s||(s=e),s[0]=e[0]/t[0],s[1]=e[1]/t[1],s[2]=e[2]/t[2],s),divVec4:(e,t,s)=>(s||(s=e),s[0]=e[0]/t[0],s[1]=e[1]/t[1],s[2]=e[2]/t[2],s[3]=e[3]/t[3],s),divScalarVec3:(e,t,s)=>(s||(s=t),s[0]=e/t[0],s[1]=e/t[1],s[2]=e/t[2],s),divVec3Scalar:(e,t,s)=>(s||(s=e),s[0]=e[0]/t,s[1]=e[1]/t,s[2]=e[2]/t,s),divVec4Scalar:(e,t,s)=>(s||(s=e),s[0]=e[0]/t,s[1]=e[1]/t,s[2]=e[2]/t,s[3]=e[3]/t,s),divScalarVec4:(e,t,s)=>(s||(s=t),s[0]=e/t[0],s[1]=e/t[1],s[2]=e/t[2],s[3]=e/t[3],s),dotVec4:(e,t)=>e[0]*t[0]+e[1]*t[1]+e[2]*t[2]+e[3]*t[3],cross3Vec4(e,t){const s=e[0],n=e[1],i=e[2],a=t[0],r=t[1],l=t[2];return[n*l-i*r,i*a-s*l,s*r-n*a,0]},cross3Vec3(e,t,s){s||(s=e);const n=e[0],i=e[1],a=e[2],r=t[0],l=t[1],o=t[2];return s[0]=i*o-a*l,s[1]=a*r-n*o,s[2]=n*l-i*r,s},sqLenVec4:e=>A.dotVec4(e,e),lenVec4:e=>Math.sqrt(A.sqLenVec4(e)),dotVec3:(e,t)=>e[0]*t[0]+e[1]*t[1]+e[2]*t[2],dotVec2:(e,t)=>e[0]*t[0]+e[1]*t[1],sqLenVec3:e=>A.dotVec3(e,e),sqLenVec2:e=>A.dotVec2(e,e),lenVec3:e=>Math.sqrt(A.sqLenVec3(e)),distVec3:(()=>{const e=new o(3);return(t,s)=>A.lenVec3(A.subVec3(t,s,e))})(),lenVec2:e=>Math.sqrt(A.sqLenVec2(e)),distVec2:(()=>{const e=new o(2);return(t,s)=>A.lenVec2(A.subVec2(t,s,e))})(),rcpVec3:(e,t)=>A.divScalarVec3(1,e,t),normalizeVec4(e,t){const s=1/A.lenVec4(e);return A.mulVec4Scalar(e,s,t)},normalizeVec3(e,t){const s=1/A.lenVec3(e);return A.mulVec3Scalar(e,s,t)},normalizeVec2(e,t){const s=1/A.lenVec2(e);return A.mulVec2Scalar(e,s,t)},angleVec3(e,t){let s=A.dotVec3(e,t)/Math.sqrt(A.sqLenVec3(e)*A.sqLenVec3(t));return s=s<-1?-1:s>1?1:s,Math.acos(s)},vec3FromMat4Scale:(()=>{const e=new o(3);return(t,s)=>(e[0]=t[0],e[1]=t[1],e[2]=t[2],s[0]=A.lenVec3(e),e[0]=t[4],e[1]=t[5],e[2]=t[6],s[1]=A.lenVec3(e),e[0]=t[8],e[1]=t[9],e[2]=t[10],s[2]=A.lenVec3(e),s)})(),vecToArray:(()=>{function e(e){return Math.round(1e5*e)/1e5}return t=>{for(let s=0,n=(t=Array.prototype.slice.call(t)).length;s({x:e[0],y:e[1],z:e[2]}),xyzObjectToArray:(e,t)=>((t=t||A.vec3())[0]=e.x,t[1]=e.y,t[2]=e.z,t),dupMat4:e=>e.slice(0,16),mat4To3:e=>[e[0],e[1],e[2],e[4],e[5],e[6],e[8],e[9],e[10]],m4s:e=>[e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e],setMat4ToZeroes:()=>A.m4s(0),setMat4ToOnes:()=>A.m4s(1),diagonalMat4v:e=>new o([e[0],0,0,0,0,e[1],0,0,0,0,e[2],0,0,0,0,e[3]]),diagonalMat4c:(e,t,s,n)=>A.diagonalMat4v([e,t,s,n]),diagonalMat4s:e=>A.diagonalMat4c(e,e,e,e),identityMat4:(e=new o(16))=>(e[0]=1,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=1,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[10]=1,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e),identityMat3:(e=new o(9))=>(e[0]=1,e[1]=0,e[2]=0,e[3]=0,e[4]=1,e[5]=0,e[6]=0,e[7]=0,e[8]=1,e),isIdentityMat4:e=>1===e[0]&&0===e[1]&&0===e[2]&&0===e[3]&&0===e[4]&&1===e[5]&&0===e[6]&&0===e[7]&&0===e[8]&&0===e[9]&&1===e[10]&&0===e[11]&&0===e[12]&&0===e[13]&&0===e[14]&&1===e[15],negateMat4:(e,t)=>(t||(t=e),t[0]=-e[0],t[1]=-e[1],t[2]=-e[2],t[3]=-e[3],t[4]=-e[4],t[5]=-e[5],t[6]=-e[6],t[7]=-e[7],t[8]=-e[8],t[9]=-e[9],t[10]=-e[10],t[11]=-e[11],t[12]=-e[12],t[13]=-e[13],t[14]=-e[14],t[15]=-e[15],t),addMat4:(e,t,s)=>(s||(s=e),s[0]=e[0]+t[0],s[1]=e[1]+t[1],s[2]=e[2]+t[2],s[3]=e[3]+t[3],s[4]=e[4]+t[4],s[5]=e[5]+t[5],s[6]=e[6]+t[6],s[7]=e[7]+t[7],s[8]=e[8]+t[8],s[9]=e[9]+t[9],s[10]=e[10]+t[10],s[11]=e[11]+t[11],s[12]=e[12]+t[12],s[13]=e[13]+t[13],s[14]=e[14]+t[14],s[15]=e[15]+t[15],s),addMat4Scalar:(e,t,s)=>(s||(s=e),s[0]=e[0]+t,s[1]=e[1]+t,s[2]=e[2]+t,s[3]=e[3]+t,s[4]=e[4]+t,s[5]=e[5]+t,s[6]=e[6]+t,s[7]=e[7]+t,s[8]=e[8]+t,s[9]=e[9]+t,s[10]=e[10]+t,s[11]=e[11]+t,s[12]=e[12]+t,s[13]=e[13]+t,s[14]=e[14]+t,s[15]=e[15]+t,s),addScalarMat4:(e,t,s)=>A.addMat4Scalar(t,e,s),subMat4:(e,t,s)=>(s||(s=e),s[0]=e[0]-t[0],s[1]=e[1]-t[1],s[2]=e[2]-t[2],s[3]=e[3]-t[3],s[4]=e[4]-t[4],s[5]=e[5]-t[5],s[6]=e[6]-t[6],s[7]=e[7]-t[7],s[8]=e[8]-t[8],s[9]=e[9]-t[9],s[10]=e[10]-t[10],s[11]=e[11]-t[11],s[12]=e[12]-t[12],s[13]=e[13]-t[13],s[14]=e[14]-t[14],s[15]=e[15]-t[15],s),subMat4Scalar:(e,t,s)=>(s||(s=e),s[0]=e[0]-t,s[1]=e[1]-t,s[2]=e[2]-t,s[3]=e[3]-t,s[4]=e[4]-t,s[5]=e[5]-t,s[6]=e[6]-t,s[7]=e[7]-t,s[8]=e[8]-t,s[9]=e[9]-t,s[10]=e[10]-t,s[11]=e[11]-t,s[12]=e[12]-t,s[13]=e[13]-t,s[14]=e[14]-t,s[15]=e[15]-t,s),subScalarMat4:(e,t,s)=>(s||(s=t),s[0]=e-t[0],s[1]=e-t[1],s[2]=e-t[2],s[3]=e-t[3],s[4]=e-t[4],s[5]=e-t[5],s[6]=e-t[6],s[7]=e-t[7],s[8]=e-t[8],s[9]=e-t[9],s[10]=e-t[10],s[11]=e-t[11],s[12]=e-t[12],s[13]=e-t[13],s[14]=e-t[14],s[15]=e-t[15],s),mulMat4(e,t,s){s||(s=e);const n=e[0],i=e[1],a=e[2],r=e[3],l=e[4],o=e[5],c=e[6],u=e[7],h=e[8],p=e[9],A=e[10],d=e[11],f=e[12],I=e[13],y=e[14],m=e[15],v=t[0],w=t[1],g=t[2],E=t[3],T=t[4],b=t[5],D=t[6],P=t[7],R=t[8],C=t[9],_=t[10],B=t[11],O=t[12],S=t[13],N=t[14],x=t[15];return s[0]=v*n+w*l+g*h+E*f,s[1]=v*i+w*o+g*p+E*I,s[2]=v*a+w*c+g*A+E*y,s[3]=v*r+w*u+g*d+E*m,s[4]=T*n+b*l+D*h+P*f,s[5]=T*i+b*o+D*p+P*I,s[6]=T*a+b*c+D*A+P*y,s[7]=T*r+b*u+D*d+P*m,s[8]=R*n+C*l+_*h+B*f,s[9]=R*i+C*o+_*p+B*I,s[10]=R*a+C*c+_*A+B*y,s[11]=R*r+C*u+_*d+B*m,s[12]=O*n+S*l+N*h+x*f,s[13]=O*i+S*o+N*p+x*I,s[14]=O*a+S*c+N*A+x*y,s[15]=O*r+S*u+N*d+x*m,s},mulMat3(e,t,s){s||(s=new o(9));const n=e[0],i=e[3],a=e[6],r=e[1],l=e[4],c=e[7],u=e[2],h=e[5],p=e[8],A=t[0],d=t[3],f=t[6],I=t[1],y=t[4],m=t[7],v=t[2],w=t[5],g=t[8];return s[0]=n*A+i*I+a*v,s[3]=n*d+i*y+a*w,s[6]=n*f+i*m+a*g,s[1]=r*A+l*I+c*v,s[4]=r*d+l*y+c*w,s[7]=r*f+l*m+c*g,s[2]=u*A+h*I+p*v,s[5]=u*d+h*y+p*w,s[8]=u*f+h*m+p*g,s},mulMat4Scalar:(e,t,s)=>(s||(s=e),s[0]=e[0]*t,s[1]=e[1]*t,s[2]=e[2]*t,s[3]=e[3]*t,s[4]=e[4]*t,s[5]=e[5]*t,s[6]=e[6]*t,s[7]=e[7]*t,s[8]=e[8]*t,s[9]=e[9]*t,s[10]=e[10]*t,s[11]=e[11]*t,s[12]=e[12]*t,s[13]=e[13]*t,s[14]=e[14]*t,s[15]=e[15]*t,s),mulMat4v4(e,t,s=A.vec4()){const n=t[0],i=t[1],a=t[2],r=t[3];return s[0]=e[0]*n+e[4]*i+e[8]*a+e[12]*r,s[1]=e[1]*n+e[5]*i+e[9]*a+e[13]*r,s[2]=e[2]*n+e[6]*i+e[10]*a+e[14]*r,s[3]=e[3]*n+e[7]*i+e[11]*a+e[15]*r,s},transposeMat4(e,t){const s=e[4],n=e[14],i=e[8],a=e[13],r=e[12],l=e[9];if(!t||e===t){const t=e[1],o=e[2],c=e[3],u=e[6],h=e[7],p=e[11];return e[1]=s,e[2]=i,e[3]=r,e[4]=t,e[6]=l,e[7]=a,e[8]=o,e[9]=u,e[11]=n,e[12]=c,e[13]=h,e[14]=p,e}return t[0]=e[0],t[1]=s,t[2]=i,t[3]=r,t[4]=e[1],t[5]=e[5],t[6]=l,t[7]=a,t[8]=e[2],t[9]=e[6],t[10]=e[10],t[11]=n,t[12]=e[3],t[13]=e[7],t[14]=e[11],t[15]=e[15],t},transposeMat3(e,t){if(t===e){const s=e[1],n=e[2],i=e[5];t[1]=e[3],t[2]=e[6],t[3]=s,t[5]=e[7],t[6]=n,t[7]=i}else t[0]=e[0],t[1]=e[3],t[2]=e[6],t[3]=e[1],t[4]=e[4],t[5]=e[7],t[6]=e[2],t[7]=e[5],t[8]=e[8];return t},determinantMat4(e){const t=e[0],s=e[1],n=e[2],i=e[3],a=e[4],r=e[5],l=e[6],o=e[7],c=e[8],u=e[9],h=e[10],p=e[11],A=e[12],d=e[13],f=e[14],I=e[15];return A*u*l*i-c*d*l*i-A*r*h*i+a*d*h*i+c*r*f*i-a*u*f*i-A*u*n*o+c*d*n*o+A*s*h*o-t*d*h*o-c*s*f*o+t*u*f*o+A*r*n*p-a*d*n*p-A*s*l*p+t*d*l*p+a*s*f*p-t*r*f*p-c*r*n*I+a*u*n*I+c*s*l*I-t*u*l*I-a*s*h*I+t*r*h*I},inverseMat4(e,t){t||(t=e);const s=e[0],n=e[1],i=e[2],a=e[3],r=e[4],l=e[5],o=e[6],c=e[7],u=e[8],h=e[9],p=e[10],A=e[11],d=e[12],f=e[13],I=e[14],y=e[15],m=s*l-n*r,v=s*o-i*r,w=s*c-a*r,g=n*o-i*l,E=n*c-a*l,T=i*c-a*o,b=u*f-h*d,D=u*I-p*d,P=u*y-A*d,R=h*I-p*f,C=h*y-A*f,_=p*y-A*I,B=1/(m*_-v*C+w*R+g*P-E*D+T*b);return t[0]=(l*_-o*C+c*R)*B,t[1]=(-n*_+i*C-a*R)*B,t[2]=(f*T-I*E+y*g)*B,t[3]=(-h*T+p*E-A*g)*B,t[4]=(-r*_+o*P-c*D)*B,t[5]=(s*_-i*P+a*D)*B,t[6]=(-d*T+I*w-y*v)*B,t[7]=(u*T-p*w+A*v)*B,t[8]=(r*C-l*P+c*b)*B,t[9]=(-s*C+n*P-a*b)*B,t[10]=(d*E-f*w+y*m)*B,t[11]=(-u*E+h*w-A*m)*B,t[12]=(-r*R+l*D-o*b)*B,t[13]=(s*R-n*D+i*b)*B,t[14]=(-d*g+f*v-I*m)*B,t[15]=(u*g-h*v+p*m)*B,t},traceMat4:e=>e[0]+e[5]+e[10]+e[15],translationMat4v(e,t){const s=t||A.identityMat4();return s[12]=e[0],s[13]=e[1],s[14]=e[2],s},translationMat3v(e,t){const s=t||A.identityMat3();return s[6]=e[0],s[7]=e[1],s},translationMat4c:(()=>{const e=new o(3);return(t,s,n,i)=>(e[0]=t,e[1]=s,e[2]=n,A.translationMat4v(e,i))})(),translationMat4s:(e,t)=>A.translationMat4c(e,e,e,t),translateMat4v:(e,t)=>A.translateMat4c(e[0],e[1],e[2],t),translateMat4c(e,t,s,n){const i=n[3];n[0]+=i*e,n[1]+=i*t,n[2]+=i*s;const a=n[7];n[4]+=a*e,n[5]+=a*t,n[6]+=a*s;const r=n[11];n[8]+=r*e,n[9]+=r*t,n[10]+=r*s;const l=n[15];return n[12]+=l*e,n[13]+=l*t,n[14]+=l*s,n},setMat4Translation:(e,t,s)=>(s[0]=e[0],s[1]=e[1],s[2]=e[2],s[3]=e[3],s[4]=e[4],s[5]=e[5],s[6]=e[6],s[7]=e[7],s[8]=e[8],s[9]=e[9],s[10]=e[10],s[11]=e[11],s[12]=t[0],s[13]=t[1],s[14]=t[2],s[15]=e[15],s),rotationMat4v(e,t,s){const n=A.normalizeVec4([t[0],t[1],t[2],0],[]),i=Math.sin(e),a=Math.cos(e),r=1-a,l=n[0],o=n[1],c=n[2];let u,h,p,d,f,I;return u=l*o,h=o*c,p=c*l,d=l*i,f=o*i,I=c*i,(s=s||A.mat4())[0]=r*l*l+a,s[1]=r*u+I,s[2]=r*p-f,s[3]=0,s[4]=r*u-I,s[5]=r*o*o+a,s[6]=r*h+d,s[7]=0,s[8]=r*p+f,s[9]=r*h-d,s[10]=r*c*c+a,s[11]=0,s[12]=0,s[13]=0,s[14]=0,s[15]=1,s},rotationMat4c:(e,t,s,n,i)=>A.rotationMat4v(e,[t,s,n],i),scalingMat4v:(e,t=A.identityMat4())=>(t[0]=e[0],t[5]=e[1],t[10]=e[2],t),scalingMat3v:(e,t=A.identityMat3())=>(t[0]=e[0],t[4]=e[1],t),scalingMat4c:(()=>{const e=new o(3);return(t,s,n,i)=>(e[0]=t,e[1]=s,e[2]=n,A.scalingMat4v(e,i))})(),scaleMat4c:(e,t,s,n)=>(n[0]*=e,n[4]*=t,n[8]*=s,n[1]*=e,n[5]*=t,n[9]*=s,n[2]*=e,n[6]*=t,n[10]*=s,n[3]*=e,n[7]*=t,n[11]*=s,n),scaleMat4v(e,t){const s=e[0],n=e[1],i=e[2];return t[0]*=s,t[4]*=n,t[8]*=i,t[1]*=s,t[5]*=n,t[9]*=i,t[2]*=s,t[6]*=n,t[10]*=i,t[3]*=s,t[7]*=n,t[11]*=i,t},scalingMat4s:e=>A.scalingMat4c(e,e,e),rotationTranslationMat4(e,t,s=A.mat4()){const n=e[0],i=e[1],a=e[2],r=e[3],l=n+n,o=i+i,c=a+a,u=n*l,h=n*o,p=n*c,d=i*o,f=i*c,I=a*c,y=r*l,m=r*o,v=r*c;return s[0]=1-(d+I),s[1]=h+v,s[2]=p-m,s[3]=0,s[4]=h-v,s[5]=1-(u+I),s[6]=f+y,s[7]=0,s[8]=p+m,s[9]=f-y,s[10]=1-(u+d),s[11]=0,s[12]=t[0],s[13]=t[1],s[14]=t[2],s[15]=1,s},mat4ToEuler(e,t,s=A.vec4()){const n=A.clamp,i=e[0],a=e[4],r=e[8],l=e[1],o=e[5],c=e[9],u=e[2],h=e[6],p=e[10];return"XYZ"===t?(s[1]=Math.asin(n(r,-1,1)),Math.abs(r)<.99999?(s[0]=Math.atan2(-c,p),s[2]=Math.atan2(-a,i)):(s[0]=Math.atan2(h,o),s[2]=0)):"YXZ"===t?(s[0]=Math.asin(-n(c,-1,1)),Math.abs(c)<.99999?(s[1]=Math.atan2(r,p),s[2]=Math.atan2(l,o)):(s[1]=Math.atan2(-u,i),s[2]=0)):"ZXY"===t?(s[0]=Math.asin(n(h,-1,1)),Math.abs(h)<.99999?(s[1]=Math.atan2(-u,p),s[2]=Math.atan2(-a,o)):(s[1]=0,s[2]=Math.atan2(l,i))):"ZYX"===t?(s[1]=Math.asin(-n(u,-1,1)),Math.abs(u)<.99999?(s[0]=Math.atan2(h,p),s[2]=Math.atan2(l,i)):(s[0]=0,s[2]=Math.atan2(-a,o))):"YZX"===t?(s[2]=Math.asin(n(l,-1,1)),Math.abs(l)<.99999?(s[0]=Math.atan2(-c,o),s[1]=Math.atan2(-u,i)):(s[0]=0,s[1]=Math.atan2(r,p))):"XZY"===t&&(s[2]=Math.asin(-n(a,-1,1)),Math.abs(a)<.99999?(s[0]=Math.atan2(h,o),s[1]=Math.atan2(r,i)):(s[0]=Math.atan2(-c,p),s[1]=0)),s},composeMat4:(e,t,s,n=A.mat4())=>(A.quaternionToRotationMat4(t,n),A.scaleMat4v(s,n),A.translateMat4v(e,n),n),decomposeMat4:(()=>{const e=new o(3),t=new o(16);return function(s,n,i,a){e[0]=s[0],e[1]=s[1],e[2]=s[2];let r=A.lenVec3(e);e[0]=s[4],e[1]=s[5],e[2]=s[6];const l=A.lenVec3(e);e[8]=s[8],e[9]=s[9],e[10]=s[10];const o=A.lenVec3(e);A.determinantMat4(s)<0&&(r=-r),n[0]=s[12],n[1]=s[13],n[2]=s[14],t.set(s);const c=1/r,u=1/l,h=1/o;return t[0]*=c,t[1]*=c,t[2]*=c,t[4]*=u,t[5]*=u,t[6]*=u,t[8]*=h,t[9]*=h,t[10]*=h,A.mat4ToQuaternion(t,i),a[0]=r,a[1]=l,a[2]=o,this}})(),getColMat4(e,t){const s=4*t;return[e[s],e[s+1],e[s+2],e[s+3]]},setRowMat4(e,t,s){e[t]=s[0],e[t+4]=s[1],e[t+8]=s[2],e[t+12]=s[3]},lookAtMat4v(e,t,s,n){n||(n=A.mat4());const i=e[0],a=e[1],r=e[2],l=s[0],o=s[1],c=s[2],u=t[0],h=t[1],p=t[2];if(i===u&&a===h&&r===p)return A.identityMat4();let d,f,I,y,m,v,w,g,E,T;return d=i-u,f=a-h,I=r-p,T=1/Math.sqrt(d*d+f*f+I*I),d*=T,f*=T,I*=T,y=o*I-c*f,m=c*d-l*I,v=l*f-o*d,T=Math.sqrt(y*y+m*m+v*v),T?(T=1/T,y*=T,m*=T,v*=T):(y=0,m=0,v=0),w=f*v-I*m,g=I*y-d*v,E=d*m-f*y,T=Math.sqrt(w*w+g*g+E*E),T?(T=1/T,w*=T,g*=T,E*=T):(w=0,g=0,E=0),n[0]=y,n[1]=w,n[2]=d,n[3]=0,n[4]=m,n[5]=g,n[6]=f,n[7]=0,n[8]=v,n[9]=E,n[10]=I,n[11]=0,n[12]=-(y*i+m*a+v*r),n[13]=-(w*i+g*a+E*r),n[14]=-(d*i+f*a+I*r),n[15]=1,n},lookAtMat4c:(e,t,s,n,i,a,r,l,o)=>A.lookAtMat4v([e,t,s],[n,i,a],[r,l,o],[]),orthoMat4c(e,t,s,n,i,a,r){r||(r=A.mat4());const l=t-e,o=n-s,c=a-i;return r[0]=2/l,r[1]=0,r[2]=0,r[3]=0,r[4]=0,r[5]=2/o,r[6]=0,r[7]=0,r[8]=0,r[9]=0,r[10]=-2/c,r[11]=0,r[12]=-(e+t)/l,r[13]=-(n+s)/o,r[14]=-(a+i)/c,r[15]=1,r},frustumMat4v(e,t,s){s||(s=A.mat4());const n=[e[0],e[1],e[2],0],i=[t[0],t[1],t[2],0];A.addVec4(i,n,u),A.subVec4(i,n,h);const a=2*n[2],r=h[0],l=h[1],o=h[2];return s[0]=a/r,s[1]=0,s[2]=0,s[3]=0,s[4]=0,s[5]=a/l,s[6]=0,s[7]=0,s[8]=u[0]/r,s[9]=u[1]/l,s[10]=-u[2]/o,s[11]=-1,s[12]=0,s[13]=0,s[14]=-a*i[2]/o,s[15]=0,s},frustumMat4(e,t,s,n,i,a,r){r||(r=A.mat4());const l=t-e,o=n-s,c=a-i;return r[0]=2*i/l,r[1]=0,r[2]=0,r[3]=0,r[4]=0,r[5]=2*i/o,r[6]=0,r[7]=0,r[8]=(t+e)/l,r[9]=(n+s)/o,r[10]=-(a+i)/c,r[11]=-1,r[12]=0,r[13]=0,r[14]=-a*i*2/c,r[15]=0,r},perspectiveMat4(e,t,s,n,i){const a=[],r=[];return a[2]=s,r[2]=n,r[1]=a[2]*Math.tan(e/2),a[1]=-r[1],r[0]=r[1]*t,a[0]=-r[0],A.frustumMat4v(a,r,i)},compareMat4:(e,t)=>e[0]===t[0]&&e[1]===t[1]&&e[2]===t[2]&&e[3]===t[3]&&e[4]===t[4]&&e[5]===t[5]&&e[6]===t[6]&&e[7]===t[7]&&e[8]===t[8]&&e[9]===t[9]&&e[10]===t[10]&&e[11]===t[11]&&e[12]===t[12]&&e[13]===t[13]&&e[14]===t[14]&&e[15]===t[15],transformPoint3(e,t,s=A.vec3()){const n=t[0],i=t[1],a=t[2];return s[0]=e[0]*n+e[4]*i+e[8]*a+e[12],s[1]=e[1]*n+e[5]*i+e[9]*a+e[13],s[2]=e[2]*n+e[6]*i+e[10]*a+e[14],s},transformPoint4:(e,t,s=A.vec4())=>(s[0]=e[0]*t[0]+e[4]*t[1]+e[8]*t[2]+e[12]*t[3],s[1]=e[1]*t[0]+e[5]*t[1]+e[9]*t[2]+e[13]*t[3],s[2]=e[2]*t[0]+e[6]*t[1]+e[10]*t[2]+e[14]*t[3],s[3]=e[3]*t[0]+e[7]*t[1]+e[11]*t[2]+e[15]*t[3],s),transformPoints3(e,t,s){const n=s||[],i=t.length;let a,r,l,o;const c=e[0],u=e[1],h=e[2],p=e[3],A=e[4],d=e[5],f=e[6],I=e[7],y=e[8],m=e[9],v=e[10],w=e[11],g=e[12],E=e[13],T=e[14],b=e[15];let D;for(let e=0;e{const e=new o(16),t=new o(16),s=new o(16);return function(n,i,a,r){return this.transformVec3(this.mulMat4(this.inverseMat4(i,e),this.inverseMat4(a,t),s),n,r)}})(),lerpVec3(e,t,s,n,i,a){const r=a||A.vec3(),l=(e-t)/(s-t);return r[0]=n[0]+l*(i[0]-n[0]),r[1]=n[1]+l*(i[1]-n[1]),r[2]=n[2]+l*(i[2]-n[2]),r},lerpMat4(e,t,s,n,i,a){const r=a||A.mat4(),l=(e-t)/(s-t);return r[0]=n[0]+l*(i[0]-n[0]),r[1]=n[1]+l*(i[1]-n[1]),r[2]=n[2]+l*(i[2]-n[2]),r[3]=n[3]+l*(i[3]-n[3]),r[4]=n[4]+l*(i[4]-n[4]),r[5]=n[5]+l*(i[5]-n[5]),r[6]=n[6]+l*(i[6]-n[6]),r[7]=n[7]+l*(i[7]-n[7]),r[8]=n[8]+l*(i[8]-n[8]),r[9]=n[9]+l*(i[9]-n[9]),r[10]=n[10]+l*(i[10]-n[10]),r[11]=n[11]+l*(i[11]-n[11]),r[12]=n[12]+l*(i[12]-n[12]),r[13]=n[13]+l*(i[13]-n[13]),r[14]=n[14]+l*(i[14]-n[14]),r[15]=n[15]+l*(i[15]-n[15]),r},flatten(e){const t=[];let s,n,i,a,r;for(s=0,n=e.length;s(e[0]=0,e[1]=0,e[2]=0,e[3]=1,e),eulerToQuaternion(e,t,s=A.vec4()){const n=e[0]*A.DEGTORAD/2,i=e[1]*A.DEGTORAD/2,a=e[2]*A.DEGTORAD/2,r=Math.cos(n),l=Math.cos(i),o=Math.cos(a),c=Math.sin(n),u=Math.sin(i),h=Math.sin(a);return"XYZ"===t?(s[0]=c*l*o+r*u*h,s[1]=r*u*o-c*l*h,s[2]=r*l*h+c*u*o,s[3]=r*l*o-c*u*h):"YXZ"===t?(s[0]=c*l*o+r*u*h,s[1]=r*u*o-c*l*h,s[2]=r*l*h-c*u*o,s[3]=r*l*o+c*u*h):"ZXY"===t?(s[0]=c*l*o-r*u*h,s[1]=r*u*o+c*l*h,s[2]=r*l*h+c*u*o,s[3]=r*l*o-c*u*h):"ZYX"===t?(s[0]=c*l*o-r*u*h,s[1]=r*u*o+c*l*h,s[2]=r*l*h-c*u*o,s[3]=r*l*o+c*u*h):"YZX"===t?(s[0]=c*l*o+r*u*h,s[1]=r*u*o+c*l*h,s[2]=r*l*h-c*u*o,s[3]=r*l*o-c*u*h):"XZY"===t&&(s[0]=c*l*o-r*u*h,s[1]=r*u*o-c*l*h,s[2]=r*l*h+c*u*o,s[3]=r*l*o+c*u*h),s},mat4ToQuaternion(e,t=A.vec4()){const s=e[0],n=e[4],i=e[8],a=e[1],r=e[5],l=e[9],o=e[2],c=e[6],u=e[10];let h;const p=s+r+u;return p>0?(h=.5/Math.sqrt(p+1),t[3]=.25/h,t[0]=(c-l)*h,t[1]=(i-o)*h,t[2]=(a-n)*h):s>r&&s>u?(h=2*Math.sqrt(1+s-r-u),t[3]=(c-l)/h,t[0]=.25*h,t[1]=(n+a)/h,t[2]=(i+o)/h):r>u?(h=2*Math.sqrt(1+r-s-u),t[3]=(i-o)/h,t[0]=(n+a)/h,t[1]=.25*h,t[2]=(l+c)/h):(h=2*Math.sqrt(1+u-s-r),t[3]=(a-n)/h,t[0]=(i+o)/h,t[1]=(l+c)/h,t[2]=.25*h),t},vec3PairToQuaternion(e,t,s=A.vec4()){const n=Math.sqrt(A.dotVec3(e,e)*A.dotVec3(t,t));let i=n+A.dotVec3(e,t);return i<1e-8*n?(i=0,Math.abs(e[0])>Math.abs(e[2])?(s[0]=-e[1],s[1]=e[0],s[2]=0):(s[0]=0,s[1]=-e[2],s[2]=e[1])):A.cross3Vec3(e,t,s),s[3]=i,A.normalizeQuaternion(s)},angleAxisToQuaternion(e,t=A.vec4()){const s=e[3]/2,n=Math.sin(s);return t[0]=n*e[0],t[1]=n*e[1],t[2]=n*e[2],t[3]=Math.cos(s),t},quaternionToEuler:(()=>{const e=new o(16);return(t,s,n)=>(n=n||A.vec3(),A.quaternionToRotationMat4(t,e),A.mat4ToEuler(e,s,n),n)})(),mulQuaternions(e,t,s=A.vec4()){const n=e[0],i=e[1],a=e[2],r=e[3],l=t[0],o=t[1],c=t[2],u=t[3];return s[0]=r*l+n*u+i*c-a*o,s[1]=r*o+i*u+a*l-n*c,s[2]=r*c+a*u+n*o-i*l,s[3]=r*u-n*l-i*o-a*c,s},vec3ApplyQuaternion(e,t,s=A.vec3()){const n=t[0],i=t[1],a=t[2],r=e[0],l=e[1],o=e[2],c=e[3],u=c*n+l*a-o*i,h=c*i+o*n-r*a,p=c*a+r*i-l*n,d=-r*n-l*i-o*a;return s[0]=u*c+d*-r+h*-o-p*-l,s[1]=h*c+d*-l+p*-r-u*-o,s[2]=p*c+d*-o+u*-l-h*-r,s},quaternionToMat4(e,t){t=A.identityMat4(t);const s=e[0],n=e[1],i=e[2],a=e[3],r=2*s,l=2*n,o=2*i,c=r*a,u=l*a,h=o*a,p=r*s,d=l*s,f=o*s,I=l*n,y=o*n,m=o*i;return t[0]=1-(I+m),t[1]=d+h,t[2]=f-u,t[4]=d-h,t[5]=1-(p+m),t[6]=y+c,t[8]=f+u,t[9]=y-c,t[10]=1-(p+I),t},quaternionToRotationMat4(e,t){const s=e[0],n=e[1],i=e[2],a=e[3],r=s+s,l=n+n,o=i+i,c=s*r,u=s*l,h=s*o,p=n*l,A=n*o,d=i*o,f=a*r,I=a*l,y=a*o;return t[0]=1-(p+d),t[4]=u-y,t[8]=h+I,t[1]=u+y,t[5]=1-(c+d),t[9]=A-f,t[2]=h-I,t[6]=A+f,t[10]=1-(c+p),t[3]=0,t[7]=0,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t},normalizeQuaternion(e,t=e){const s=A.lenVec4([e[0],e[1],e[2],e[3]]);return t[0]=e[0]/s,t[1]=e[1]/s,t[2]=e[2]/s,t[3]=e[3]/s,t},conjugateQuaternion:(e,t=e)=>(t[0]=-e[0],t[1]=-e[1],t[2]=-e[2],t[3]=e[3],t),inverseQuaternion:(e,t)=>A.normalizeQuaternion(A.conjugateQuaternion(e,t)),quaternionToAngleAxis(e,t=A.vec4()){const s=(e=A.normalizeQuaternion(e,p))[3],n=2*Math.acos(s),i=Math.sqrt(1-s*s);return i<.001?(t[0]=e[0],t[1]=e[1],t[2]=e[2]):(t[0]=e[0]/i,t[1]=e[1]/i,t[2]=e[2]/i),t[3]=n,t},AABB3:e=>new o(e||6),AABB2:e=>new o(e||4),OBB3:e=>new o(e||32),OBB2:e=>new o(e||16),Sphere3:(e,t,s,n)=>new o([e,t,s,n]),transformOBB3(e,t,s=t){let n;const i=t.length;let a,r,l;const o=e[0],c=e[1],u=e[2],h=e[3],p=e[4],A=e[5],d=e[6],f=e[7],I=e[8],y=e[9],m=e[10],v=e[11],w=e[12],g=e[13],E=e[14],T=e[15];for(n=0;n{const e=new o(3),t=new o(3),s=new o(3);return n=>(e[0]=n[0],e[1]=n[1],e[2]=n[2],t[0]=n[3],t[1]=n[4],t[2]=n[5],A.subVec3(t,e,s),Math.abs(A.lenVec3(s)))})(),getAABB3DiagPoint:(()=>{const e=new o(3),t=new o(3),s=new o(3);return(n,i)=>{e[0]=n[0],e[1]=n[1],e[2]=n[2],t[0]=n[3],t[1]=n[4],t[2]=n[5];const a=A.subVec3(t,e,s),r=i[0]-n[0],l=n[3]-i[0],o=i[1]-n[1],c=n[4]-i[1],u=i[2]-n[2],h=n[5]-i[2];return a[0]+=r>l?r:l,a[1]+=o>c?o:c,a[2]+=u>h?u:h,Math.abs(A.lenVec3(a))}})(),getAABB3Area:e=>(e[3]-e[0])*(e[4]-e[1])*(e[5]-e[2]),getAABB3Center(e,t){const s=t||A.vec3();return s[0]=(e[0]+e[3])/2,s[1]=(e[1]+e[4])/2,s[2]=(e[2]+e[5])/2,s},getAABB2Center(e,t){const s=t||A.vec2();return s[0]=(e[2]+e[0])/2,s[1]=(e[3]+e[1])/2,s},collapseAABB3:(e=A.AABB3())=>(e[0]=A.MAX_DOUBLE,e[1]=A.MAX_DOUBLE,e[2]=A.MAX_DOUBLE,e[3]=A.MIN_DOUBLE,e[4]=A.MIN_DOUBLE,e[5]=A.MIN_DOUBLE,e),AABB3ToOBB3:(e,t=A.OBB3())=>(t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=1,t[4]=e[3],t[5]=e[1],t[6]=e[2],t[7]=1,t[8]=e[3],t[9]=e[4],t[10]=e[2],t[11]=1,t[12]=e[0],t[13]=e[4],t[14]=e[2],t[15]=1,t[16]=e[0],t[17]=e[1],t[18]=e[5],t[19]=1,t[20]=e[3],t[21]=e[1],t[22]=e[5],t[23]=1,t[24]=e[3],t[25]=e[4],t[26]=e[5],t[27]=1,t[28]=e[0],t[29]=e[4],t[30]=e[5],t[31]=1,t),positions3ToAABB3:(()=>{const e=new o(3);return(t,s,n)=>{s=s||A.AABB3();let i,a,r,l=A.MAX_DOUBLE,o=A.MAX_DOUBLE,c=A.MAX_DOUBLE,u=A.MIN_DOUBLE,h=A.MIN_DOUBLE,p=A.MIN_DOUBLE;for(let s=0,d=t.length;su&&(u=i),a>h&&(h=a),r>p&&(p=r);return s[0]=l,s[1]=o,s[2]=c,s[3]=u,s[4]=h,s[5]=p,s}})(),OBB3ToAABB3(e,t=A.AABB3()){let s,n,i,a=A.MAX_DOUBLE,r=A.MAX_DOUBLE,l=A.MAX_DOUBLE,o=A.MIN_DOUBLE,c=A.MIN_DOUBLE,u=A.MIN_DOUBLE;for(let t=0,h=e.length;to&&(o=s),n>c&&(c=n),i>u&&(u=i);return t[0]=a,t[1]=r,t[2]=l,t[3]=o,t[4]=c,t[5]=u,t},points3ToAABB3(e,t=A.AABB3()){let s,n,i,a=A.MAX_DOUBLE,r=A.MAX_DOUBLE,l=A.MAX_DOUBLE,o=A.MIN_DOUBLE,c=A.MIN_DOUBLE,u=A.MIN_DOUBLE;for(let t=0,h=e.length;to&&(o=s),n>c&&(c=n),i>u&&(u=i);return t[0]=a,t[1]=r,t[2]=l,t[3]=o,t[4]=c,t[5]=u,t},points3ToSphere3:(()=>{const e=new o(3);return(t,s)=>{s=s||A.vec4();let n,i=0,a=0,r=0;const l=t.length;for(n=0;nc&&(c=o);return s[3]=c,s}})(),positions3ToSphere3:(()=>{const e=new o(3),t=new o(3);return(s,n)=>{n=n||A.vec4();let i,a=0,r=0,l=0;const o=s.length;let c=0;for(i=0;ic&&(c=h);return n[3]=c,n}})(),OBB3ToSphere3:(()=>{const e=new o(3),t=new o(3);return(s,n)=>{n=n||A.vec4();let i,a=0,r=0,l=0;const o=s.length,c=o/4;for(i=0;ih&&(h=u);return n[3]=h,n}})(),getSphere3Center:(e,t=A.vec3())=>(t[0]=e[0],t[1]=e[1],t[2]=e[2],t),getPositionsCenter(e,t=A.vec3()){let s=0,n=0,i=0;for(var a=0,r=e.length;a(e[0]>t[0]&&(e[0]=t[0]),e[1]>t[1]&&(e[1]=t[1]),e[2]>t[2]&&(e[2]=t[2]),e[3](e[0]>t[0]&&(e[0]=t[0]),e[1]>t[1]&&(e[1]=t[1]),e[2]>t[2]&&(e[2]=t[2]),e[3]s&&(e[0]=s),e[1]>n&&(e[1]=n),e[2]>i&&(e[2]=i),e[3](e[0]=A.MAX_DOUBLE,e[1]=A.MAX_DOUBLE,e[2]=A.MIN_DOUBLE,e[3]=A.MIN_DOUBLE,e),point3AABB3Intersect:(e,t)=>e[0]>t[0]||e[3]t[1]||e[4]t[2]||e[5]0?(n=e[0]*s[0],i=e[0]*s[3]):(n=e[0]*s[3],i=e[0]*s[0]),e[1]>0?(n+=e[1]*s[1],i+=e[1]*s[4]):(n+=e[1]*s[4],i+=e[1]*s[1]),e[2]>0?(n+=e[2]*s[2],i+=e[2]*s[5]):(n+=e[2]*s[5],i+=e[2]*s[2]);if(n<=-t&&i<=-t)return-1;return n>=-t&&i>=-t?1:0},OBB3ToAABB2(e,t=A.AABB2()){let s,n,i,a,r=A.MAX_DOUBLE,l=A.MAX_DOUBLE,o=A.MIN_DOUBLE,c=A.MIN_DOUBLE;for(let t=0,u=e.length;to&&(o=s),n>c&&(c=n);return t[0]=r,t[1]=l,t[2]=o,t[3]=c,t},expandAABB2:(e,t)=>(e[0]>t[0]&&(e[0]=t[0]),e[1]>t[1]&&(e[1]=t[1]),e[2](e[0]>t[0]&&(e[0]=t[0]),e[1]>t[1]&&(e[1]=t[1]),e[2]2*(1-e)*(s-t)+2*e*(n-s),tangentQuadraticBezier3:(e,t,s,n,i)=>-3*t*(1-e)*(1-e)+3*s*(1-e)*(1-e)-6*e*s*(1-e)+6*e*n*(1-e)-3*e*e*n+3*e*e*i,tangentSpline:e=>6*e*e-6*e+(3*e*e-4*e+1)+(-6*e*e+6*e)+(3*e*e-2*e),catmullRomInterpolate(e,t,s,n,i){const a=.5*(s-e),r=.5*(n-t),l=i*i;return(2*t-2*s+a+r)*(i*l)+(-3*t+3*s-2*a-r)*l+a*i+t},b2p0(e,t){const s=1-e;return s*s*t},b2p1:(e,t)=>2*(1-e)*e*t,b2p2:(e,t)=>e*e*t,b2(e,t,s,n){return this.b2p0(e,t)+this.b2p1(e,s)+this.b2p2(e,n)},b3p0(e,t){const s=1-e;return s*s*s*t},b3p1(e,t){const s=1-e;return 3*s*s*e*t},b3p2:(e,t)=>3*(1-e)*e*e*t,b3p3:(e,t)=>e*e*e*t,b3(e,t,s,n,i){return this.b3p0(e,t)+this.b3p1(e,s)+this.b3p2(e,n)+this.b3p3(e,i)},triangleNormal(e,t,s,n=A.vec3()){const i=t[0]-e[0],a=t[1]-e[1],r=t[2]-e[2],l=s[0]-e[0],o=s[1]-e[1],c=s[2]-e[2],u=a*c-r*o,h=r*l-i*c,p=i*o-a*l,d=Math.sqrt(u*u+h*h+p*p);return 0===d?(n[0]=0,n[1]=0,n[2]=0):(n[0]=u/d,n[1]=h/d,n[2]=p/d),n},rayTriangleIntersect:(()=>{const e=new o(3),t=new o(3),s=new o(3),n=new o(3),i=new o(3);return(a,r,l,o,c,u)=>{u=u||A.vec3();const h=A.subVec3(o,l,e),p=A.subVec3(c,l,t),d=A.cross3Vec3(r,p,s),f=A.dotVec3(h,d);if(f<1e-6)return null;const I=A.subVec3(a,l,n),y=A.dotVec3(I,d);if(y<0||y>f)return null;const m=A.cross3Vec3(I,h,i),v=A.dotVec3(r,m);if(v<0||y+v>f)return null;const w=A.dotVec3(p,m)/f;return u[0]=a[0]+w*r[0],u[1]=a[1]+w*r[1],u[2]=a[2]+w*r[2],u}})(),rayPlaneIntersect:(()=>{const e=new o(3),t=new o(3),s=new o(3),n=new o(3);return(i,a,r,l,o,c)=>{c=c||A.vec3(),a=A.normalizeVec3(a,e);const u=A.subVec3(l,r,t),h=A.subVec3(o,r,s),p=A.cross3Vec3(u,h,n);A.normalizeVec3(p,p);const d=-A.dotVec3(r,p),f=-(A.dotVec3(i,p)+d)/A.dotVec3(a,p);return c[0]=i[0]+f*a[0],c[1]=i[1]+f*a[1],c[2]=i[2]+f*a[2],c}})(),cartesianToBarycentric:(()=>{const e=new o(3),t=new o(3),s=new o(3);return(n,i,a,r,l)=>{const o=A.subVec3(r,i,e),c=A.subVec3(a,i,t),u=A.subVec3(n,i,s),h=A.dotVec3(o,o),p=A.dotVec3(o,c),d=A.dotVec3(o,u),f=A.dotVec3(c,c),I=A.dotVec3(c,u),y=h*f-p*p;if(0===y)return null;const m=1/y,v=(f*d-p*I)*m,w=(h*I-p*d)*m;return l[0]=1-v-w,l[1]=w,l[2]=v,l}})(),barycentricInsideTriangle(e){const t=e[1],s=e[2];return s>=0&&t>=0&&s+t<1},barycentricToCartesian(e,t,s,n,i=A.vec3()){const a=e[0],r=e[1],l=e[2];return i[0]=t[0]*a+s[0]*r+n[0]*l,i[1]=t[1]*a+s[1]*r+n[1]*l,i[2]=t[2]*a+s[2]*r+n[2]*l,i},mergeVertices(e,t,s,n){const i={},a=[],r=[],l=t?[]:null,o=s?[]:null,c=[];let u,h,p,A;const d=1e4;let f,I,y=0;for(f=0,I=e.length;f{const e=new o(3),t=new o(3),s=new o(3),n=new o(3),i=new o(3),a=new o(3);return(r,l,o)=>{let c,u;const h=new Array(r.length/3);let p,d,f,I,y,m,v;for(c=0,u=l.length;c{const e=new o(3),t=new o(3),s=new o(3),n=new o(3),i=new o(3),a=new o(3),r=new o(3);return(l,o,c)=>{const u=new Float32Array(l.length);for(let h=0;h>24&255,u=p>>16&255,c=p>>8&255,o=255&p,l=t[s],r=3*l,i[A++]=e[r],i[A++]=e[r+1],i[A++]=e[r+2],a[d++]=o,a[d++]=c,a[d++]=u,a[d++]=h,l=t[s+1],r=3*l,i[A++]=e[r],i[A++]=e[r+1],i[A++]=e[r+2],a[d++]=o,a[d++]=c,a[d++]=u,a[d++]=h,l=t[s+2],r=3*l,i[A++]=e[r],i[A++]=e[r+1],i[A++]=e[r+2],a[d++]=o,a[d++]=c,a[d++]=u,a[d++]=h,p++;return{positions:i,colors:a}},faceToVertexNormals(e,t,s={}){const n=s.smoothNormalsAngleThreshold||20,i={},a=[],r={};let l,o,c,u,h;const p=1e4;let d,f,I,y,m,v;for(f=0,y=e.length;f{const e=new o(4),t=new o(4);return(s,n,i,a,r)=>{e[0]=n[0],e[1]=n[1],e[2]=n[2],e[3]=1,A.transformVec4(s,e,t),a[0]=t[0],a[1]=t[1],a[2]=t[2],e[0]=i[0],e[1]=i[1],e[2]=i[2],A.transformVec3(s,e,t),A.normalizeVec3(t),r[0]=t[0],r[1]=t[1],r[2]=t[2]}})(),canvasPosToWorldRay:(()=>{const e=new o(16),t=new o(16),s=new o(4),n=new o(4),i=new o(4),a=new o(4);return(r,l,o,c,u,h)=>{const p=A.mulMat4(o,l,e),d=A.inverseMat4(p,t),f=r.width,I=r.height,y=(c[0]-f/2)/(f/2),m=-(c[1]-I/2)/(I/2);s[0]=y,s[1]=m,s[2]=-1,s[3]=1,A.transformVec4(d,s,n),A.mulVec4Scalar(n,1/n[3]),i[0]=y,i[1]=m,i[2]=1,i[3]=1,A.transformVec4(d,i,a),A.mulVec4Scalar(a,1/a[3]),u[0]=a[0],u[1]=a[1],u[2]=a[2],A.subVec3(a,n,h),A.normalizeVec3(h)}})(),canvasPosToLocalRay:(()=>{const e=new o(3),t=new o(3);return(s,n,i,a,r,l,o)=>{A.canvasPosToWorldRay(s,n,i,r,e,t),A.worldRayToLocalRay(a,e,t,l,o)}})(),worldRayToLocalRay:(()=>{const e=new o(16),t=new o(4),s=new o(4);return(n,i,a,r,l)=>{const o=A.inverseMat4(n,e);t[0]=i[0],t[1]=i[1],t[2]=i[2],t[3]=1,A.transformVec4(o,t,s),r[0]=s[0],r[1]=s[1],r[2]=s[2],A.transformVec3(o,a,l)}})(),buildKDTree:(()=>{const e=new Float32Array;function t(s,n,i,a){const r=new o(6),l={triangles:null,left:null,right:null,leaf:!1,splitDim:0,aabb:r};let c,u;for(r[0]=r[1]=r[2]=Number.POSITIVE_INFINITY,r[3]=r[4]=r[5]=Number.NEGATIVE_INFINITY,c=0,u=s.length;cr[3]&&(r[3]=i[t]),i[t+1]r[4]&&(r[4]=i[t+1]),i[t+2]r[5]&&(r[5]=i[t+2])}}if(s.length<20||a>10)return l.triangles=s,l.leaf=!0,l;e[0]=r[3]-r[0],e[1]=r[4]-r[1],e[2]=r[5]-r[2];let p=0;e[1]>e[p]&&(p=1),e[2]>e[p]&&(p=2),l.splitDim=p;const A=(r[p]+r[p+3])/2,d=new Array(s.length);let f=0;const I=new Array(s.length);let y=0;for(c=0,u=s.length;c{const n=e.length/3,i=new Array(n);for(let e=0;e=0?1:-1),n=(1-Math.abs(s))*(n>=0?1:-1));const a=Math.sqrt(s*s+n*n+i*i);return t[0]=s/a,t[1]=n/a,t[2]=i/a,t},octDecodeVec2s(e,t){for(let s=0,n=0,i=e.length;s=0?1:-1),a=(1-Math.abs(i))*(a>=0?1:-1));const l=Math.sqrt(i*i+a*a+r*r);t[n+0]=i/l,t[n+1]=a/l,t[n+2]=r/l,n+=3}return t}};A.buildEdgeIndices=function(){const e=[],t=[],s=[],n=[],i=[];let a=0;const r=new Uint16Array(3),l=new Uint16Array(3),o=new Uint16Array(3),c=A.vec3(),u=A.vec3(),h=A.vec3(),p=A.vec3(),d=A.vec3(),f=A.vec3(),I=A.vec3();return function(y,m,v,w){!function(i,a){const r={};let l,o,c,u;const h=Math.pow(10,4);let p,A,d=0;for(p=0,A=i.length;pE)||(N=s[_.index1],x=s[_.index2],(!L&&N>65535||x>65535)&&(L=!0),g.push(N),g.push(x));return L?new Uint32Array(g):new Uint16Array(g)}}(),A.planeClipsPositions3=function(e,t,s,n=3){for(let i=0,a=s.length;i{this._needsRebuild=!0})),this._onModelUnloaded=this.viewer.scene.on("modelUnloaded",(e=>{this._needsRebuild=!0}))}get root(){return this._needsRebuild&&this._rebuild(),this._root}_rebuild(){const e=this.viewer.scene;this._root={aabb:e.getAABB()};for(let t in e.objects){const s=e.objects[t];this._insertEntity(this._root,s,1)}this._needsRebuild=!1}_insertEntity(e,t,s){const n=t.aabb;if(s>=this._maxTreeDepth)return e.entities=e.entities||[],void e.entities.push(t);if(e.left&&A.containsAABB3(e.left.aabb,n))return void this._insertEntity(e.left,t,s+1);if(e.right&&A.containsAABB3(e.right.aabb,n))return void this._insertEntity(e.right,t,s+1);const i=e.aabb;d[0]=i[3]-i[0],d[1]=i[4]-i[1],d[2]=i[5]-i[2];let a=0;if(d[1]>d[a]&&(a=1),d[2]>d[a]&&(a=2),!e.left){const r=i.slice();if(r[a+3]=(i[a]+i[a+3])/2,e.left={aabb:r},A.containsAABB3(r,n))return void this._insertEntity(e.left,t,s+1)}if(!e.right){const r=i.slice();if(r[a]=(i[a]+i[a+3])/2,e.right={aabb:r},A.containsAABB3(r,n))return void this._insertEntity(e.right,t,s+1)}e.entities=e.entities||[],e.entities.push(t)}destroy(){const e=this.viewer.scene;e.off(this._onModelLoaded),e.off(this._onModelUnloaded),this._root=null,this._needsRebuild=!0}}class I{constructor(){this._head=[],this._headLength=0,this._tail=[],this._index=0,this._length=0}get length(){return this._length}shift(){if(this._index>=this._headLength){const e=this._head;if(e.length=0,this._head=this._tail,this._tail=e,this._index=0,this._headLength=this._head.length,!this._headLength)return}const e=this._head[this._index];return this._index<0?delete this._head[this._index++]:this._head[this._index++]=void 0,this._length--,e}push(e){return this._length++,this._tail.push(e),this}unshift(e){return this._head[--this._index]=e,this._length++,this}}const y={build:{version:"0.8"},client:{browser:navigator&&navigator.userAgent?navigator.userAgent:"n/a"},components:{scenes:0,models:0,meshes:0,objects:0},memory:{meshes:0,positions:0,colors:0,normals:0,uvs:0,indices:0,textures:0,transforms:0,materials:0,programs:0},frame:{frameCount:0,fps:0,useProgram:0,bindTexture:0,bindArray:0,drawElements:0,drawArrays:0,tasksRun:0,tasksScheduled:0}};var m=[["0",10],["A",26],["a",26],["_",1],["$",1]].map((function(e){for(var t=[],s=e[0].charCodeAt(0),n=s+e[1],i=s;i{};t=t||n,s=s||n;var i=new XMLHttpRequest;i.overrideMimeType("application/json"),i.open("GET",e,!0),i.addEventListener("load",(function(e){var n=e.target.response;if(200===this.status){var i;try{i=JSON.parse(n)}catch(e){s(`utils.loadJSON(): Failed to parse JSON response - ${e}`)}t(i)}else if(0===this.status){console.warn("loadFile: HTTP Status 0 received.");try{t(JSON.parse(n))}catch(e){s(`utils.loadJSON(): Failed to parse JSON response - ${e}`)}}else s(e)}),!1),i.addEventListener("error",(function(e){s(e)}),!1),i.send(null)},loadArraybuffer:function(e,t,s){var n=e=>{};t=t||n,s=s||n;const i=e.match(/^data:(.*?)(;base64)?,(.*)$/);if(i){const e=!!i[2];var a=i[3];a=window.decodeURIComponent(a),e&&(a=window.atob(a));try{const e=new ArrayBuffer(a.length),s=new Uint8Array(e);for(var r=0;r{T.removeItem(e.id),delete B.scenes[e.id],delete E[e.id],y.components.scenes--}))},this.clear=function(){let e;for(const t in B.scenes)B.scenes.hasOwnProperty(t)&&(e=B.scenes[t],"default.scene"===t?e.clear():(e.destroy(),delete B.scenes[e.id]))},this.scheduleTask=function(e,t){b.push(e),b.push(t)},this.runTasks=function(e=-1){let t,s,n=(new Date).getTime(),i=0;for(;b.length>0&&(e<0||n0&&R>0){var t=1e3/R;_+=t,P.push(t),P.length>=30&&(_-=P.shift()),y.frame.fps=Math.round(_/P.length)}!function(e){const t=B.runTasks(e+10),s=B.getNumTasks();y.frame.tasksRun=t,y.frame.tasksScheduled=s,y.frame.tasksBudget=10}(e),function(e){for(var t in D.time=e,B.scenes)if(B.scenes.hasOwnProperty(t)){var s=B.scenes[t];D.sceneId=t,D.startTime=s.startTime,D.deltaTime=null!=D.prevTime?D.time-D.prevTime:0,s.fire("tick",D,!0)}D.prevTime=e}(e),function(){const e=B.scenes,t=!1;let s,n,i,a,r;for(r in e)e.hasOwnProperty(r)&&(s=e[r],n=E[r],n||(n=E[r]={}),i=s.ticksPerOcclusionTest,n.ticksPerOcclusionTest!==i&&(n.ticksPerOcclusionTest=i,n.renderCountdown=i),--s.occlusionTestCountdown<=0&&(s.doOcclusionTest(),s.occlusionTestCountdown=i),a=s.ticksPerRender,n.ticksPerRender!==a&&(n.ticksPerRender=a,n.renderCountdown=a),0==--n.renderCountdown&&(s.render(t),n.renderCountdown=a))}(),C=e,void 0!==window.requestPostAnimationFrame?window.requestPostAnimationFrame(O):requestAnimationFrame(O)};void 0!==window.requestPostAnimationFrame?window.requestPostAnimationFrame(O):requestAnimationFrame(O);class S{get type(){return"Component"}get isComponent(){return!0}constructor(e=null,t={}){if(this.scene=null,"Scene"===this.type)this.scene=this,this.viewer=t.viewer;else{if("Scene"===e.type)this.scene=e;else{if(!(e instanceof S))throw"Invalid param: owner must be a Component";this.scene=e.scene}this._owner=e}this._dontClear=!!t.dontClear,this._renderer=this.scene._renderer,this.meta=t.meta||{},this.id=t.id,this.destroyed=!1,this._attached={},this._attachments=null,this._subIdMap=null,this._subIdEvents=null,this._eventSubs=null,this._eventSubsNum=null,this._events=null,this._eventCallDepth=0,this._ownedComponents=null,this!==this.scene&&this.scene._addComponent(this),this._updateScheduled=!1,e&&e._own(this)}glRedraw(){this._renderer&&(this._renderer.imageDirty(),this.castsShadow&&this._renderer.shadowsDirty())}glResort(){this._renderer&&this._renderer.needStateSort()}get owner(){return this._owner}isType(e){return this.type===e}fire(e,t,s){this._events||(this._events={}),this._eventSubs||(this._eventSubs={},this._eventSubsNum={}),!0!==s&&(this._events[e]=t||!0);const n=this._eventSubs[e];let i;if(n)for(const s in n)n.hasOwnProperty(s)&&(i=n[s],this._eventCallDepth++,this._eventCallDepth<300?i.callback.call(i.scope,t):this.error("fire: potential stack overflow from recursive event '"+e+"' - dropping this event"),this._eventCallDepth--)}on(t,s,n){this._events||(this._events={}),this._subIdMap||(this._subIdMap=new e),this._subIdEvents||(this._subIdEvents={}),this._eventSubs||(this._eventSubs={}),this._eventSubsNum||(this._eventSubsNum={});let i=this._eventSubs[t];i?this._eventSubsNum[t]++:(i={},this._eventSubs[t]=i,this._eventSubsNum[t]=1);const a=this._subIdMap.addItem();i[a]={callback:s,scope:n||this},this._subIdEvents[a]=t;const r=this._events[t];return void 0!==r&&s.call(n||this,r),a}off(e){if(null==e)return;if(!this._subIdEvents)return;const t=this._subIdEvents[e];if(t){delete this._subIdEvents[e];const s=this._eventSubs[t];s&&(delete s[e],this._eventSubsNum[t]--),this._subIdMap.removeItem(e)}}once(e,t,s){const n=this,i=this.on(e,(function(e){n.off(i),t.call(s||this,e)}),s)}hasSubs(e){return this._eventSubsNum&&this._eventSubsNum[e]>0}log(e){e="[LOG]"+this._message(e),window.console.log(e),this.scene.fire("log",e)}_message(e){return" ["+this.type+" "+g.inQuotes(this.id)+"]: "+e}warn(e){e="[WARN]"+this._message(e),window.console.warn(e),this.scene.fire("warn",e)}error(e){e="[ERROR]"+this._message(e),window.console.error(e),this.scene.fire("error",e)}_attach(e){const t=e.name;if(!t)return void this.error("Component 'name' expected");let s=e.component;const n=e.sceneDefault,i=e.sceneSingleton,a=e.type,r=e.on,l=!1!==e.recompiles;if(s&&(g.isNumeric(s)||g.isString(s))){const e=s;if(s=this.scene.components[e],!s)return void this.error("Component not found: "+g.inQuotes(e))}if(!s)if(!0===i){const e=this.scene.types[a];for(const t in e)if(e.hasOwnProperty){s=e[t];break}if(!s)return this.error("Scene has no default component for '"+t+"'"),null}else if(!0===n&&(s=this.scene[t],!s))return this.error("Scene has no default component for '"+t+"'"),null;if(s){if(s.scene.id!==this.scene.id)return void this.error("Not in same scene: "+s.type+" "+g.inQuotes(s.id));if(a&&!s.isType(a))return void this.error("Expected a "+a+" type or subtype: "+s.type+" "+g.inQuotes(s.id))}this._attachments||(this._attachments={});const o=this._attached[t];let c,u,h;if(o){if(s&&o.id===s.id)return;const e=this._attachments[o.id];for(c=e.subs,u=0,h=c.length;u{delete this._ownedComponents[e.id]}),this)}_needUpdate(e){this._updateScheduled||(this._updateScheduled=!0,0===e?this._doUpdate():B.scheduleTask(this._doUpdate,this))}_doUpdate(){this._updateScheduled&&(this._updateScheduled=!1,this._update&&this._update())}_update(){}clear(){if(this._ownedComponents)for(var e in this._ownedComponents)if(this._ownedComponents.hasOwnProperty(e)){this._ownedComponents[e].destroy(),delete this._ownedComponents[e]}}destroy(){if(this.destroyed)return;let e,t,s,n,i,a;if(this.fire("destroyed",this.destroyed=!0),this._attachments)for(e in this._attachments)if(this._attachments.hasOwnProperty(e)){for(t=this._attachments[e],s=t.component,n=t.subs,i=0,a=n.length;i=0?1:0,this.testVertex[1]=this.normal[1]>=0?1:0,this.testVertex[2]=this.normal[2]>=0?1:0}}class F{constructor(){this.planes=[new M,new M,new M,new M,new M,new M]}}function H(e,t,s){const n=A.mulMat4(s,t,L),i=n[0],a=n[1],r=n[2],l=n[3],o=n[4],c=n[5],u=n[6],h=n[7],p=n[8],d=n[9],f=n[10],I=n[11],y=n[12],m=n[13],v=n[14],w=n[15];e.planes[0].set(l-i,h-o,I-p,w-y),e.planes[1].set(l+i,h+o,I+p,w+y),e.planes[2].set(l-a,h-c,I-d,w-m),e.planes[3].set(l+a,h+c,I+d,w+m),e.planes[4].set(l-r,h-u,I-f,w-v),e.planes[5].set(l+r,h+u,I+f,w+v)}function U(e,t){let s=F.INSIDE;const n=N,i=x;n[0]=t[0],n[1]=t[1],n[2]=t[2],i[0]=t[3],i[1]=t[4],i[2]=t[5];const a=[n,i];for(let t=0;t<6;++t){const n=e.planes[t];if(n.normal[0]*a[n.testVertex[0]][0]+n.normal[1]*a[n.testVertex[1]][1]+n.normal[2]*a[n.testVertex[2]][2]+n.offset<0)return F.OUTSIDE;n.normal[0]*a[1-n.testVertex[0]][0]+n.normal[1]*a[1-n.testVertex[1]][1]+n.normal[2]*a[1-n.testVertex[2]][2]+n.offset<0&&(s=F.INTERSECT)}return s}F.INSIDE=0,F.INTERSECT=1,F.OUTSIDE=2;class G extends S{constructor(e={}){if(!e.viewer)throw"[MarqueePicker] Missing config: viewer";if(!e.objectsKdTree3)throw"[MarqueePicker] Missing config: objectsKdTree3";super(e.viewer.scene,e),this.viewer=e.viewer,this._objectsKdTree3=e.objectsKdTree3,this._canvasMarqueeCorner1=A.vec2(),this._canvasMarqueeCorner2=A.vec2(),this._canvasMarquee=A.AABB2(),this._marqueeFrustum=new F,this._marqueeFrustumProjMat=A.mat4(),this._pickMode=!1,this._marqueeElement=document.createElement("div"),document.body.appendChild(this._marqueeElement),this._marqueeElement.style.position="absolute",this._marqueeElement.style["z-index"]="40000005",this._marqueeElement.style.width="8px",this._marqueeElement.style.height="8px",this._marqueeElement.style.visibility="hidden",this._marqueeElement.style.top="0px",this._marqueeElement.style.left="0px",this._marqueeElement.style["box-shadow"]="0 2px 5px 0 #182A3D;",this._marqueeElement.style.opacity=1,this._marqueeElement.style["pointer-events"]="none"}setMarqueeCorner1(e){this._canvasMarqueeCorner1.set(e),this._canvasMarqueeCorner2.set(e),this._updateMarquee()}setMarqueeCorner2(e){this._canvasMarqueeCorner2.set(e),this._updateMarquee()}setMarquee(e,t){this._canvasMarqueeCorner1.set(e),this._canvasMarqueeCorner2.set(t),this._updateMarquee()}setMarqueeVisible(e){this._marqueVisible=e,this._marqueeElement.style.visibility=e?"visible":"hidden"}getMarqueeVisible(){return this._marqueVisible}setPickMode(e){if(e!==G.PICK_MODE_INSIDE&&e!==G.PICK_MODE_INTERSECTS)throw"Illegal MarqueePicker pickMode: must be MarqueePicker.PICK_MODE_INSIDE or MarqueePicker.PICK_MODE_INTERSECTS";e!==this._pickMode&&(this._marqueeElement.style["background-image"]=e===G.PICK_MODE_INSIDE?"url(\"data:image/svg+xml,%3csvg width='100%25' height='100%25' xmlns='http://www.w3.org/2000/svg'%3e%3crect width='100%25' height='100%25' fill='none' rx='6' ry='6' stroke='%23333' stroke-width='4'/%3e%3c/svg%3e\")":"url(\"data:image/svg+xml,%3csvg width='100%25' height='100%25' xmlns='http://www.w3.org/2000/svg'%3e%3crect width='100%25' height='100%25' fill='none' rx='6' ry='6' stroke='%23333' stroke-width='4' stroke-dasharray='6%2c 14' stroke-dashoffset='0' stroke-linecap='square'/%3e%3c/svg%3e\")",this._pickMode=e)}getPickMode(){return this._pickMode}clear(){this.fire("clear",{})}pick(){this._updateMarquee(),this._buildMarqueeFrustum();const e=[],t=(s,n=F.INTERSECT)=>{if(n===F.INTERSECT&&(n=U(this._marqueeFrustum,s.aabb)),n!==F.OUTSIDE){if(s.entities){const t=s.entities;for(let s=0,n=t.length;s3||this._canvasMarquee[3]-this._canvasMarquee[1]>3)&&t(this._objectsKdTree3.root),this.fire("picked",e),e}_updateMarquee(){this._canvasMarquee[0]=Math.min(this._canvasMarqueeCorner1[0],this._canvasMarqueeCorner2[0]),this._canvasMarquee[1]=Math.min(this._canvasMarqueeCorner1[1],this._canvasMarqueeCorner2[1]),this._canvasMarquee[2]=Math.max(this._canvasMarqueeCorner1[0],this._canvasMarqueeCorner2[0]),this._canvasMarquee[3]=Math.max(this._canvasMarqueeCorner1[1],this._canvasMarqueeCorner2[1]),this._marqueeElement.style.width=this._canvasMarquee[2]-this._canvasMarquee[0]+"px",this._marqueeElement.style.height=this._canvasMarquee[3]-this._canvasMarquee[1]+"px",this._marqueeElement.style.left=`${this._canvasMarquee[0]}px`,this._marqueeElement.style.top=`${this._canvasMarquee[1]}px`}_buildMarqueeFrustum(){const e=this.viewer.scene.canvas.canvas,t=e.clientWidth,s=e.clientHeight,n=e.clientLeft,i=e.clientTop,a=2/t,r=2/s,l=e.clientHeight/e.clientWidth,o=(this._canvasMarquee[0]-n)*a-1,c=(this._canvasMarquee[2]-n)*a-1,u=-(this._canvasMarquee[3]-i)*r+1,h=-(this._canvasMarquee[1]-i)*r+1,p=this.viewer.scene.camera.frustum.near*(17*l);A.frustumMat4(o,c,u*l,h*l,p,1e4,this._marqueeFrustumProjMat),H(this._marqueeFrustum,this.viewer.scene.camera.viewMatrix,this._marqueeFrustumProjMat)}destroy(){super.destroy(),this._marqueeElement.parentElement&&(this._marqueeElement.parentElement.removeChild(this._marqueeElement),this._marqueeElement=null,this._objectsKdTree3=null)}}G.PICK_MODE_INTERSECTS=0,G.PICK_MODE_INSIDE=1;class j extends S{constructor(e){super(e.marqueePicker,e);const t=e.marqueePicker,s=t.viewer.scene.canvas.canvas;let n,i,a,r,l,o,c,u=!1,h=!1,p=!1;s.addEventListener("mousedown",(e=>{this.getActive()&&0===e.button&&(c=setTimeout((function(){const a=t.viewer.scene.input;a.keyDown[a.KEY_CTRL]||t.clear(),n=e.pageX,i=e.pageY,l=e.offsetX,t.setMarqueeCorner1([n,i]),u=!0,t.viewer.cameraControl.pointerEnabled=!1,t.setMarqueeVisible(!0),s.style.cursor="crosshair"}),400),h=!0)})),s.addEventListener("mouseup",(e=>{if(!this.getActive())return;if(!u&&!p)return;if(0!==e.button)return;clearTimeout(c),a=e.pageX,r=e.pageY;const s=Math.abs(a-n),l=Math.abs(r-i);u=!1,t.viewer.cameraControl.pointerEnabled=!0,p&&(p=!1),(s>3||l>3)&&t.pick()})),document.addEventListener("mouseup",(e=>{this.getActive()&&0===e.button&&(clearTimeout(c),u&&(t.setMarqueeVisible(!1),u=!1,h=!1,p=!0,t.viewer.cameraControl.pointerEnabled=!0))}),!0),s.addEventListener("mousemove",(e=>{this.getActive()&&0===e.button&&h&&(clearTimeout(c),u&&(a=e.pageX,r=e.pageY,o=e.offsetX,t.setMarqueeVisible(!0),t.setMarqueeCorner2([a,r]),t.setPickMode(l0}log(e){console.log(`[xeokit plugin ${this.id}]: ${e}`)}warn(e){console.warn(`[xeokit plugin ${this.id}]: ${e}`)}error(e){console.error(`[xeokit plugin ${this.id}]: ${e}`)}send(e,t){}destroy(){this.viewer.removePlugin(this)}}const k=A.vec3(),Q=function(){const e=new Float64Array(16),t=new Float64Array(4),s=new Float64Array(4);return function(n,i,a){return a=a||e,t[0]=i[0],t[1]=i[1],t[2]=i[2],t[3]=1,A.transformVec4(n,t,s),A.setMat4Translation(n,s,a),a.slice()}}();function W(e,t,s){const n=Float32Array.from([e[0]])[0],i=e[0]-n,a=Float32Array.from([e[1]])[0],r=e[1]-a,l=Float32Array.from([e[2]])[0],o=e[2]-l;t[0]=n,t[1]=a,t[2]=l,s[0]=i,s[1]=r,s[2]=o}function z(e,t,s,n=1e3){const i=A.getPositionsCenter(e,k),a=Math.round(i[0]/n)*n,r=Math.round(i[1]/n)*n,l=Math.round(i[2]/n)*n;s[0]=a,s[1]=r,s[2]=l;const o=0!==s[0]||0!==s[1]||0!==s[2];if(o)for(let s=0,n=e.length;s0?this.meshes[0]._colorize[3]/255:1}set opacity(e){if(0===this.meshes.length)return;const t=null!=e,s=this.meshes[0]._colorize[3];let n=255;if(t){if(e<0?e=0:e>1&&(e=1),n=Math.floor(255*e),s===n)return}else if(n=255,s===n)return;for(let e=0,t=this.meshes.length;e{this._viewPosDirty=!0,this._needUpdate()})),this._onCameraProjMatrix=this.scene.camera.on("projMatrix",(()=>{this._canvasPosDirty=!0,this._needUpdate()})),this._onEntityDestroyed=null,this._onEntityModelDestroyed=null,this._renderer.addMarker(this),this.entity=t.entity,this.worldPos=t.worldPos,this.occludable=t.occludable}_update(){if(this._viewPosDirty&&(A.transformPoint3(this.scene.camera.viewMatrix,this._worldPos,this._viewPos),this._viewPosDirty=!1,this._canvasPosDirty=!0,this.fire("viewPos",this._viewPos)),this._canvasPosDirty){le.set(this._viewPos),le[3]=1,A.transformPoint4(this.scene.camera.projMatrix,le,oe);const e=this.scene.canvas.boundary;this._canvasPos[0]=Math.floor((1+oe[0]/oe[3])*e[2]/2),this._canvasPos[1]=Math.floor((1-oe[1]/oe[3])*e[3]/2),this._canvasPosDirty=!1,this.fire("canvasPos",this._canvasPos)}}_setVisible(e){this._visible,this._visible=e,this.fire("visible",this._visible)}set entity(e){if(this._entity){if(this._entity===e)return;null!==this._onEntityDestroyed&&(this._entity.off(this._onEntityDestroyed),this._onEntityDestroyed=null),null!==this._onEntityModelDestroyed&&(this._entity.model.off(this._onEntityModelDestroyed),this._onEntityModelDestroyed=null)}this._entity=e,this._entity&&(this._entity instanceof re?this._onEntityModelDestroyed=this._entity.model.on("destroyed",(()=>{this._entity=null,this._onEntityModelDestroyed=null})):this._onEntityDestroyed=this._entity.on("destroyed",(()=>{this._entity=null,this._onEntityDestroyed=null}))),this.fire("entity",this._entity,!0)}get entity(){return this._entity}set occludable(e){(e=!!e)!==this._occludable&&(this._occludable=e)}get occludable(){return this._occludable}set worldPos(e){this._worldPos.set(e||[0,0,0]),W(this._worldPos,this._origin,this._rtcPos),this._occludable&&this._renderer.markerWorldPosUpdated(this),this._viewPosDirty=!0,this.fire("worldPos",this._worldPos),this._needUpdate()}get worldPos(){return this._worldPos}get origin(){return this._origin}get rtcPos(){return this._rtcPos}get viewPos(){return this._update(),this._viewPos}get canvasPos(){return this._update(),this._canvasPos}get visible(){return!!this._visible}destroy(){this.fire("destroyed",!0),this.scene.camera.off(this._onCameraViewMatrix),this.scene.camera.off(this._onCameraProjMatrix),this._entity&&(null!==this._onEntityDestroyed&&this._entity.off(this._onEntityDestroyed),null!==this._onEntityModelDestroyed&&this._entity.model.off(this._onEntityModelDestroyed)),this._renderer.removeMarker(this),super.destroy()}}class ue{constructor(e,t={}){this._color=t.color||"black",this._highlightClass="viewer-ruler-wire-highlighted",this._wire=document.createElement("div"),this._wire.className+=this._wire.className?" viewer-ruler-wire":"viewer-ruler-wire",this._wireClickable=document.createElement("div"),this._wireClickable.className+=this._wireClickable.className?" viewer-ruler-wire-clickable":"viewer-ruler-wire-clickable",this._thickness=t.thickness||1,this._thicknessClickable=t.thicknessClickable||6,this._visible=!0,this._culled=!1;var s=this._wire,n=s.style;n.border="solid "+this._thickness+"px "+this._color,n.position="absolute",n["z-index"]=void 0===t.zIndex?"2000001":t.zIndex,n.width="0px",n.height="0px",n.visibility="visible",n.top="0px",n.left="0px",n["-webkit-transform-origin"]="0 0",n["-moz-transform-origin"]="0 0",n["-ms-transform-origin"]="0 0",n["-o-transform-origin"]="0 0",n["transform-origin"]="0 0",n["-webkit-transform"]="rotate(0deg)",n["-moz-transform"]="rotate(0deg)",n["-ms-transform"]="rotate(0deg)",n["-o-transform"]="rotate(0deg)",n.transform="rotate(0deg)",n.opacity=1,n["pointer-events"]="none",t.onContextMenu,e.appendChild(s);var i=this._wireClickable,a=i.style;a.border="solid "+this._thicknessClickable+"px "+this._color,a.position="absolute",a["z-index"]=void 0===t.zIndex?"2000002":t.zIndex+1,a.width="0px",a.height="0px",a.visibility="visible",a.top="0px",a.left="0px",a["-webkit-transform-origin"]="0 0",a["-moz-transform-origin"]="0 0",a["-ms-transform-origin"]="0 0",a["-o-transform-origin"]="0 0",a["transform-origin"]="0 0",a["-webkit-transform"]="rotate(0deg)",a["-moz-transform"]="rotate(0deg)",a["-ms-transform"]="rotate(0deg)",a["-o-transform"]="rotate(0deg)",a.transform="rotate(0deg)",a.opacity=0,a["pointer-events"]="none",t.onContextMenu,e.appendChild(i),t.onMouseOver&&i.addEventListener("mouseover",(e=>{t.onMouseOver(e,this)})),t.onMouseLeave&&i.addEventListener("mouseleave",(e=>{t.onMouseLeave(e,this)})),t.onMouseWheel&&i.addEventListener("wheel",(e=>{t.onMouseWheel(e,this)})),t.onContextMenu&&i.addEventListener("contextmenu",(e=>{t.onContextMenu(e,this),e.preventDefault()})),this._x1=0,this._y1=0,this._x2=0,this._y2=0,this._update()}get visible(){return"visible"===this._wire.style.visibility}_update(){var e=Math.abs(Math.sqrt((this._x1-this._x2)*(this._x1-this._x2)+(this._y1-this._y2)*(this._y1-this._y2))),t=180*Math.atan2(this._y2-this._y1,this._x2-this._x1)/Math.PI,s=this._wire.style;s.width=Math.round(e)+"px",s.left=Math.round(this._x1)+"px",s.top=Math.round(this._y1)+"px",s["-webkit-transform"]="rotate("+t+"deg)",s["-moz-transform"]="rotate("+t+"deg)",s["-ms-transform"]="rotate("+t+"deg)",s["-o-transform"]="rotate("+t+"deg)",s.transform="rotate("+t+"deg)";var n=this._wireClickable.style;n.width=Math.round(e)+"px",n.left=Math.round(this._x1)+"px",n.top=Math.round(this._y1)+"px",n["-webkit-transform"]="rotate("+t+"deg)",n["-moz-transform"]="rotate("+t+"deg)",n["-ms-transform"]="rotate("+t+"deg)",n["-o-transform"]="rotate("+t+"deg)",n.transform="rotate("+t+"deg)"}setStartAndEnd(e,t,s,n){this._x1=e,this._y1=t,this._x2=s,this._y2=n,this._update()}setColor(e){this._color=e||"black",this._wire.style.border="solid "+this._thickness+"px "+this._color}setOpacity(e){this._wire.style.opacity=e}setVisible(e){this._visible!==e&&(this._visible=!!e,this._wire.style.visibility=this._visible&&!this._culled?"visible":"hidden")}setCulled(e){this._culled!==e&&(this._culled=!!e,this._wire.style.visibility=this._visible&&!this._culled?"visible":"hidden")}setClickable(e){this._wireClickable.style["pointer-events"]=e?"all":"none"}setHighlighted(e){this._highlighted!==e&&(this._highlighted=!!e,this._highlighted?this._wire.classList.add(this._highlightClass):this._wire.classList.remove(this._highlightClass))}destroy(e){this._wire.parentElement&&this._wire.parentElement.removeChild(this._wire),this._wireClickable.parentElement&&this._wireClickable.parentElement.removeChild(this._wireClickable)}}class he{constructor(e,t={}){this._highlightClass="viewer-ruler-dot-highlighted",this._x=0,this._y=0,this._visible=!0,this._dot=document.createElement("div"),this._dot.className+=this._dot.className?" viewer-ruler-dot":"viewer-ruler-dot",this._dotClickable=document.createElement("div"),this._dotClickable.className+=this._dotClickable.className?" viewer-ruler-dot-clickable":"viewer-ruler-dot-clickable",this._visible=!0,this._culled=!1;var s=this._dot,n=s.style;n["border-radius"]="25px",n.border="solid 2px white",n.background="lightgreen",n.position="absolute",n["z-index"]=void 0===t.zIndex?"40000005":t.zIndex,n.width="8px",n.height="8px",n.visibility=!1!==t.visible?"visible":"hidden",n.top="0px",n.left="0px",n["box-shadow"]="0 2px 5px 0 #182A3D;",n.opacity=1,n["pointer-events"]="none",t.onContextMenu,e.appendChild(s);var i=this._dotClickable,a=i.style;a["border-radius"]="35px",a.border="solid 10px white",a.position="absolute",a["z-index"]=void 0===t.zIndex?"40000007":t.zIndex+1,a.width="8px",a.height="8px",a.visibility="visible",a.top="0px",a.left="0px",a.opacity=0,a["pointer-events"]="none",t.onContextMenu,e.appendChild(i),t.onMouseOver&&i.addEventListener("mouseover",(e=>{t.onMouseOver(e,this)})),t.onMouseLeave&&i.addEventListener("mouseleave",(e=>{t.onMouseLeave(e,this)})),t.onMouseWheel&&i.addEventListener("wheel",(e=>{t.onMouseWheel(e,this)})),t.onContextMenu&&i.addEventListener("contextmenu",(e=>{t.onContextMenu(e,this),e.preventDefault()})),this.setPos(t.x||0,t.y||0),this.setFillColor(t.fillColor),this.setBorderColor(t.borderColor)}setPos(e,t){this._x=e,this._y=t;var s=this._dot.style;s.left=Math.round(e)-4+"px",s.top=Math.round(t)-4+"px";var n=this._dotClickable.style;n.left=Math.round(e)-9+"px",n.top=Math.round(t)-9+"px"}setFillColor(e){this._dot.style.background=e||"lightgreen"}setBorderColor(e){this._dot.style.border="solid 2px"+(e||"black")}setOpacity(e){this._dot.style.opacity=e}setVisible(e){this._visible!==e&&(this._visible=!!e,this._dot.style.visibility=this._visible&&!this._culled?"visible":"hidden")}setCulled(e){this._culled!==e&&(this._culled=!!e,this._dot.style.visibility=this._visible&&!this._culled?"visible":"hidden")}setClickable(e){this._dotClickable.style["pointer-events"]=e?"all":"none"}setHighlighted(e){this._highlighted!==e&&(this._highlighted=!!e,this._highlighted?this._dot.classList.add(this._highlightClass):this._dot.classList.remove(this._highlightClass))}destroy(){this.setVisible(!1),this._dot.parentElement&&this._dot.parentElement.removeChild(this._dot),this._dotClickable.parentElement&&this._dotClickable.parentElement.removeChild(this._dotClickable)}}class pe{constructor(e,t={}){this._highlightClass="viewer-ruler-label-highlighted",this._prefix=t.prefix||"",this._x=0,this._y=0,this._visible=!0,this._culled=!1,this._label=document.createElement("div"),this._label.className+=this._label.className?" viewer-ruler-label":"viewer-ruler-label";var s=this._label,n=s.style;n["border-radius"]="5px",n.color="white",n.padding="4px",n.border="solid 1px",n.background="lightgreen",n.position="absolute",n["z-index"]=void 0===t.zIndex?"5000005":t.zIndex,n.width="auto",n.height="auto",n.visibility="visible",n.top="0px",n.left="0px",n["pointer-events"]="all",n.opacity=1,t.onContextMenu,s.innerText="",e.appendChild(s),this.setPos(t.x||0,t.y||0),this.setFillColor(t.fillColor),this.setBorderColor(t.fillColor),this.setText(t.text),t.onMouseOver&&s.addEventListener("mouseover",(e=>{t.onMouseOver(e,this),e.preventDefault()})),t.onMouseLeave&&s.addEventListener("mouseleave",(e=>{t.onMouseLeave(e,this),e.preventDefault()})),t.onMouseWheel&&s.addEventListener("wheel",(e=>{t.onMouseWheel(e,this)})),t.onContextMenu&&s.addEventListener("contextmenu",(e=>{t.onContextMenu(e,this),e.preventDefault()}))}setPos(e,t){this._x=e,this._y=t;var s=this._label.style;s.left=Math.round(e)-20+"px",s.top=Math.round(t)-12+"px"}setPosOnWire(e,t,s,n){var i=e+.5*(s-e),a=t+.5*(n-t),r=this._label.style;r.left=Math.round(i)-20+"px",r.top=Math.round(a)-12+"px"}setPosBetweenWires(e,t,s,n,i,a){var r=(e+s+i)/3,l=(t+n+a)/3,o=this._label.style;o.left=Math.round(r)-20+"px",o.top=Math.round(l)-12+"px"}setText(e){this._label.innerHTML=this._prefix+(e||"")}setFillColor(e){this._fillColor=e||"lightgreen",this._label.style.background=this._fillColor}setBorderColor(e){this._borderColor=e||"black",this._label.style.border="solid 1px "+this._borderColor}setOpacity(e){this._label.style.opacity=e}setVisible(e){this._visible!==e&&(this._visible=!!e,this._label.style.visibility=this._visible&&!this._culled?"visible":"hidden")}setCulled(e){this._culled!==e&&(this._culled=!!e,this._label.style.visibility=this._visible&&!this._culled?"visible":"hidden")}setHighlighted(e){this._highlighted!==e&&(this._highlighted=!!e,this._highlighted?this._label.classList.add(this._highlightClass):this._label.classList.remove(this._highlightClass))}setClickable(e){this._label.style["pointer-events"]=e?"all":"none"}destroy(){this._label.parentElement&&this._label.parentElement.removeChild(this._label)}}var Ae=A.vec3(),de=A.vec3();class fe extends S{constructor(e,t={}){if(super(e.viewer.scene,t),this.plugin=e,this._container=t.container,!this._container)throw"config missing: container";this._color=t.color||e.defaultColor;var s=this.plugin.viewer.scene;this._originMarker=new ce(s,t.origin),this._cornerMarker=new ce(s,t.corner),this._targetMarker=new ce(s,t.target),this._originWorld=A.vec3(),this._cornerWorld=A.vec3(),this._targetWorld=A.vec3(),this._wp=new Float64Array(12),this._vp=new Float64Array(12),this._pp=new Float64Array(12),this._cp=new Int16Array(6);const n=t.onMouseOver?e=>{t.onMouseOver(e,this)}:null,i=t.onMouseLeave?e=>{t.onMouseLeave(e,this)}:null,a=t.onContextMenu?e=>{t.onContextMenu(e,this)}:null,r=e=>{this.plugin.viewer.scene.canvas.canvas.dispatchEvent(new WheelEvent("wheel",e))};this._originDot=new he(this._container,{fillColor:this._color,zIndex:void 0!==e.zIndex?e.zIndex+2:void 0,onMouseOver:n,onMouseLeave:i,onMouseWheel:r,onContextMenu:a}),this._cornerDot=new he(this._container,{fillColor:this._color,zIndex:void 0!==e.zIndex?e.zIndex+2:void 0,onMouseOver:n,onMouseLeave:i,onMouseWheel:r,onContextMenu:a}),this._targetDot=new he(this._container,{fillColor:this._color,zIndex:void 0!==e.zIndex?e.zIndex+2:void 0,onMouseOver:n,onMouseLeave:i,onMouseWheel:r,onContextMenu:a}),this._originWire=new ue(this._container,{color:this._color||"blue",thickness:1,zIndex:e.zIndex,onMouseOver:n,onMouseLeave:i,onMouseWheel:r,onContextMenu:a}),this._targetWire=new ue(this._container,{color:this._color||"red",thickness:1,zIndex:void 0!==e.zIndex?e.zIndex+1:void 0,onMouseOver:n,onMouseLeave:i,onMouseWheel:r,onContextMenu:a}),this._angleLabel=new pe(this._container,{fillColor:this._color||"#00BBFF",prefix:"",text:"",zIndex:e.zIndex+2,onMouseOver:n,onMouseLeave:i,onMouseWheel:r,onContextMenu:a}),this._wpDirty=!1,this._vpDirty=!1,this._cpDirty=!1,this._visible=!1,this._originVisible=!1,this._cornerVisible=!1,this._targetVisible=!1,this._originWireVisible=!1,this._targetWireVisible=!1,this._angleVisible=!1,this._labelsVisible=!1,this._clickable=!1,this._originMarker.on("worldPos",(e=>{this._originWorld.set(e||[0,0,0]),this._wpDirty=!0,this._needUpdate(0)})),this._cornerMarker.on("worldPos",(e=>{this._cornerWorld.set(e||[0,0,0]),this._wpDirty=!0,this._needUpdate(0)})),this._targetMarker.on("worldPos",(e=>{this._targetWorld.set(e||[0,0,0]),this._wpDirty=!0,this._needUpdate(0)})),this._onViewMatrix=s.camera.on("viewMatrix",(()=>{this._vpDirty=!0,this._needUpdate(0)})),this._onProjMatrix=s.camera.on("projMatrix",(()=>{this._cpDirty=!0,this._needUpdate()})),this._onCanvasBoundary=s.canvas.on("boundary",(()=>{this._cpDirty=!0,this._needUpdate(0)})),this._onSectionPlaneUpdated=s.on("sectionPlaneUpdated",(()=>{this._sectionPlanesDirty=!0,this._needUpdate()})),this.approximate=t.approximate,this.visible=t.visible,this.originVisible=t.originVisible,this.cornerVisible=t.cornerVisible,this.targetVisible=t.targetVisible,this.originWireVisible=t.originWireVisible,this.targetWireVisible=t.targetWireVisible,this.angleVisible=t.angleVisible,this.labelsVisible=t.labelsVisible}_update(){if(!this._visible)return;const e=this.plugin.viewer.scene;if(this._wpDirty&&(this._wp[0]=this._originWorld[0],this._wp[1]=this._originWorld[1],this._wp[2]=this._originWorld[2],this._wp[3]=1,this._wp[4]=this._cornerWorld[0],this._wp[5]=this._cornerWorld[1],this._wp[6]=this._cornerWorld[2],this._wp[7]=1,this._wp[8]=this._targetWorld[0],this._wp[9]=this._targetWorld[1],this._wp[10]=this._targetWorld[2],this._wp[11]=1,this._wpDirty=!1,this._vpDirty=!0),this._vpDirty&&(A.transformPositions4(e.camera.viewMatrix,this._wp,this._vp),this._vp[3]=1,this._vp[7]=1,this._vp[11]=1,this._vpDirty=!1,this._cpDirty=!0),this._sectionPlanesDirty){if(this._isSliced(this._wp))return this._angleLabel.setCulled(!0),this._originWire.setCulled(!0),this._targetWire.setCulled(!0),this._originDot.setCulled(!0),this._cornerDot.setCulled(!0),void this._targetDot.setCulled(!0);this._angleLabel.setCulled(!1),this._originWire.setCulled(!1),this._targetWire.setCulled(!1),this._originDot.setCulled(!1),this._cornerDot.setCulled(!1),this._targetDot.setCulled(!1),this._sectionPlanesDirty=!0}if(this._cpDirty){const p=-.3,d=this._originMarker.viewPos[2],f=this._cornerMarker.viewPos[2],I=this._targetMarker.viewPos[2];if(d>p||f>p||I>p)return this._originDot.setVisible(!1),this._cornerDot.setVisible(!1),this._targetDot.setVisible(!1),this._originWire.setVisible(!1),this._targetWire.setVisible(!1),void this._angleLabel.setCulled(!0);A.transformPositions4(e.camera.project.matrix,this._vp,this._pp);var t=this._pp,s=this._cp,n=e.canvas.canvas.getBoundingClientRect();const y=this._container.getBoundingClientRect();for(var i=n.top-y.top,a=n.left-y.left,r=e.canvas.boundary,l=r[2],o=r[3],c=0,u=0,h=t.length;u{e.snappedToVertex||e.snappedToEdge?(n&&(n.visible=!0,n.canvasPos=e.canvasPos,n.snappedCanvasPos=e.snappedCanvasPos||e.canvasPos,n.snapped=!0),this.markerDiv.style.background="greenyellow",this.markerDiv.style.border="2px solid green"):(n&&(n.visible=!0,n.canvasPos=e.canvasPos,n.snappedCanvasPos=e.canvasPos,n.snapped=!1),this.markerDiv.style.background="pink",this.markerDiv.style.border="2px solid red");const s=e.snappedCanvasPos||e.canvasPos;switch(i=!0,a=e.entity,o.set(e.worldPos),c.set(s),this._mouseState){case 0:this.markerDiv.style.marginLeft=s[0]-5+"px",this.markerDiv.style.marginTop=s[1]-5+"px";break;case 1:this._currentAngleMeasurement&&(this._currentAngleMeasurement.originWireVisible=!0,this._currentAngleMeasurement.targetWireVisible=!1,this._currentAngleMeasurement.cornerVisible=!0,this._currentAngleMeasurement.angleVisible=!1,this._currentAngleMeasurement.corner.worldPos=e.worldPos),this.markerDiv.style.marginLeft="-10000px",this.markerDiv.style.marginTop="-10000px",t.style.cursor="pointer";break;case 2:this._currentAngleMeasurement&&(this._currentAngleMeasurement.targetWireVisible=!0,this._currentAngleMeasurement.targetVisible=!0,this._currentAngleMeasurement.angleVisible=!0,this._currentAngleMeasurement.target.worldPos=e.worldPos),this.markerDiv.style.marginLeft="-10000px",this.markerDiv.style.marginTop="-10000px",t.style.cursor="pointer"}})),t.addEventListener("mousedown",this._onMouseDown=e=>{1===e.which&&(r=e.clientX,l=e.clientY)}),t.addEventListener("mouseup",this._onMouseUp=e=>{if(1===e.which&&!(e.clientX>r+20||e.clientXl+20||e.clientY{if(i=!1,n&&(n.visible=!0,n.pointerPos=e.canvasPos,n.snappedCanvasPos=e.snappedCanvasPos||e.canvasPos,n.snapped=!1),this.markerDiv.style.marginLeft="-100px",this.markerDiv.style.marginTop="-100px",this._currentAngleMeasurement){switch(this._mouseState){case 0:this._currentAngleMeasurement.originVisible=!1;break;case 1:this._currentAngleMeasurement.cornerVisible=!1,this._currentAngleMeasurement.originWireVisible=!1,this._currentAngleMeasurement.targetVisible=!1,this._currentAngleMeasurement.targetWireVisible=!1,this._currentAngleMeasurement.angleVisible=!1;break;case 2:this._currentAngleMeasurement.targetVisible=!1,this._currentAngleMeasurement.targetWireVisible=!1,this._currentAngleMeasurement.angleVisible=!1}t.style.cursor="default"}})),this._active=!0}deactivate(){if(!this._active)return;this.pointerLens&&(this.pointerLens.visible=!1),this._markerDiv&&this._destroyMarkerDiv(),this.reset();const e=this.scene.canvas.canvas;e.removeEventListener("mousedown",this._onMouseDown),e.removeEventListener("mouseup",this._onMouseUp);const t=this.angleMeasurementsPlugin.viewer.cameraControl;t.off(this._onMouseHoverSurface),t.off(this._onPickedSurface),t.off(this._onHoverNothing),t.off(this._onPickedNothing),this._currentAngleMeasurement=null,this._active=!1}reset(){this._active&&(this._destroyMarkerDiv(),this._initMarkerDiv(),this._currentAngleMeasurement&&(this._currentAngleMeasurement.destroy(),this._currentAngleMeasurement=null),this._mouseState=0)}destroy(){this.deactivate(),super.destroy()}}class me extends V{constructor(e,t={}){super("AngleMeasurements",e),this._container=t.container||document.body,this._defaultControl=null,this._measurements={},this.defaultColor=void 0!==t.defaultColor?t.defaultColor:"#00BBFF",this.defaultLabelsVisible=!1!==t.defaultLabelsVisible,this.zIndex=t.zIndex||1e4,this._onMouseOver=(e,t)=>{this.fire("mouseOver",{plugin:this,angleMeasurement:t,measurement:t,event:e})},this._onMouseLeave=(e,t)=>{this.fire("mouseLeave",{plugin:this,angleMeasurement:t,measurement:t,event:e})},this._onContextMenu=(e,t)=>{this.fire("contextMenu",{plugin:this,angleMeasurement:t,measurement:t,event:e})}}getContainerElement(){return this._container}send(e,t){}get control(){return this._defaultControl||(this._defaultControl=new ye(this,{})),this._defaultControl}get measurements(){return this._measurements}createMeasurement(e={}){this.viewer.scene.components[e.id]&&(this.error("Viewer scene component with this ID already exists: "+e.id),delete e.id);const t=e.origin,s=e.corner,n=e.target,i=new fe(this,{id:e.id,plugin:this,container:this._container,origin:{entity:t.entity,worldPos:t.worldPos},corner:{entity:s.entity,worldPos:s.worldPos},target:{entity:n.entity,worldPos:n.worldPos},visible:e.visible,originVisible:!0,originWireVisible:!0,cornerVisible:!0,targetWireVisible:!0,targetVisible:!0,onMouseOver:this._onMouseOver,onMouseLeave:this._onMouseLeave,onContextMenu:this._onContextMenu});return this._measurements[i.id]=i,i.on("destroyed",(()=>{delete this._measurements[i.id]})),this.fire("measurementCreated",i),i}destroyMeasurement(e){const t=this._measurements[e];t?(t.destroy(),this.fire("measurementDestroyed",t)):this.log("AngleMeasurement not found: "+e)}setLabelsShown(e){for(const[t,s]of Object.entries(this.measurements))s.labelShown=e}clear(){const e=Object.keys(this._measurements);for(var t=0,s=e.length;t{this.plugin.fire("markerClicked",this)}),this._marker.addEventListener("mouseenter",this._onMouseEnterExternalMarker=()=>{this.plugin.fire("markerMouseEnter",this)}),this._marker.addEventListener("mouseleave",this._onMouseLeaveExternalMarker=()=>{this.plugin.fire("markerMouseLeave",this)}),this._markerExternal=!0):(this._markerHTML=t.markerHTML,this._htmlDirty=!0,this._markerExternal=!1),t.labelElement?(this._label=t.labelElement,this._labelExternal=!0):(this._labelHTML=t.labelHTML,this._htmlDirty=!0,this._labelExternal=!1),this._markerShown=!!t.markerShown,this._labelShown=!!t.labelShown,this._values=t.values||{},this._layoutDirty=!0,this._visibilityDirty=!0,this._buildHTML(),this._onTick=this.scene.on("tick",(()=>{this._htmlDirty&&(this._buildHTML(),this._htmlDirty=!1,this._layoutDirty=!0,this._visibilityDirty=!0),(this._layoutDirty||this._visibilityDirty)&&(this._markerShown||this._labelShown)&&(this._updatePosition(),this._layoutDirty=!1),this._visibilityDirty&&(this._marker.style.visibility=this.visible&&this._markerShown?"visible":"hidden",this._label.style.visibility=this.visible&&this._markerShown&&this._labelShown?"visible":"hidden",this._visibilityDirty=!1)})),this.on("canvasPos",(()=>{this._layoutDirty=!0})),this.on("visible",(()=>{this._visibilityDirty=!0})),this.setMarkerShown(!1!==t.markerShown),this.setLabelShown(t.labelShown),this.eye=t.eye?t.eye.slice():null,this.look=t.look?t.look.slice():null,this.up=t.up?t.up.slice():null,this.projection=t.projection}_buildHTML(){if(!this._markerExternal){this._marker&&(this._container.removeChild(this._marker),this._marker=null);let e=this._markerHTML||"

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

";g.isArray(e)&&(e=e.join("")),e=this._renderTemplate(e);const t=document.createRange().createContextualFragment(e);this._label=t.firstChild,this._container.appendChild(this._label),this._label.style.visibility=this._markerShown&&this._labelShown?"visible":"hidden",this._label.addEventListener("wheel",(e=>{this.plugin.viewer.scene.canvas.canvas.dispatchEvent(new WheelEvent("wheel",e))}))}}_updatePosition(){const e=this.scene.canvas.boundary,t=e[0],s=e[1],n=this.canvasPos;this._marker.style.left=Math.floor(t+n[0])-12+"px",this._marker.style.top=Math.floor(s+n[1])-12+"px",this._marker.style["z-index"]=90005+Math.floor(this._viewPos[2])+1;this._label.style.left=20+Math.floor(t+n[0]+20)+"px",this._label.style.top=Math.floor(s+n[1]+-17)+"px",this._label.style["z-index"]=90005+Math.floor(this._viewPos[2])+1}_renderTemplate(e){for(var t in this._values)if(this._values.hasOwnProperty(t)){const s=this._values[t];e=e.replace(new RegExp("{{"+t+"}}","g"),s)}return e}setMarkerShown(e){e=!!e,this._markerShown!==e&&(this._markerShown=e,this._visibilityDirty=!0)}getMarkerShown(){return this._markerShown}setLabelShown(e){e=!!e,this._labelShown!==e&&(this._labelShown=e,this._visibilityDirty=!0)}getLabelShown(){return this._labelShown}setField(e,t){this._values[e]=t||"",this._htmlDirty=!0}getField(e){return this._values[e]}setValues(e){for(var t in e)if(e.hasOwnProperty(t)){const s=e[t];this.setField(t,s)}}getValues(){return this._values}destroy(){this._marker&&(this._markerExternal?(this._marker.removeEventListener("click",this._onMouseClickedExternalMarker),this._marker.removeEventListener("mouseenter",this._onMouseEnterExternalMarker),this._marker.removeEventListener("mouseleave",this._onMouseLeaveExternalMarker),this._marker=null):this._marker.parentNode.removeChild(this._marker)),this._label&&(this._labelExternal||this._label.parentNode.removeChild(this._label),this._label=null),this.scene.off(this._onTick),super.destroy()}}const we=A.vec3(),ge=A.vec3(),Ee=A.vec3();class Te extends V{constructor(e,t){super("Annotations",e),this._labelHTML=t.labelHTML||"
",this._markerHTML=t.markerHTML||"
",this._container=t.container||document.body,this._values=t.values||{},this.annotations={},this.surfaceOffset=t.surfaceOffset}getContainerElement(){return this._container}send(e,t){if("clearAnnotations"===e)this.clear()}set surfaceOffset(e){null==e&&(e=.3),this._surfaceOffset=e}get surfaceOffset(){return this._surfaceOffset}createAnnotation(e){var t,s;if(this.viewer.scene.components[e.id]&&(this.error("Viewer component with this ID already exists: "+e.id),delete e.id),e.pickResult=e.pickResult||e.pickRecord,e.pickResult){const n=e.pickResult;if(n.worldPos&&n.worldNormal){const e=A.normalizeVec3(n.worldNormal,we),i=A.mulVec3Scalar(e,this._surfaceOffset,ge);t=A.addVec3(n.worldPos,i,Ee),s=n.entity}else this.error("Param 'pickResult' does not have both worldPos and worldNormal")}else t=e.worldPos,s=e.entity;var n=null;e.markerElementId&&((n=document.getElementById(e.markerElementId))||this.error("Can't find DOM element for 'markerElementId' value '"+e.markerElementId+"' - defaulting to internally-generated empty DIV"));var i=null;e.labelElementId&&((i=document.getElementById(e.labelElementId))||this.error("Can't find DOM element for 'labelElementId' value '"+e.labelElementId+"' - defaulting to internally-generated empty DIV"));const a=new ve(this.viewer.scene,{id:e.id,plugin:this,entity:s,worldPos:t,container:this._container,markerElement:n,labelElement:i,markerHTML:e.markerHTML||this._markerHTML,labelHTML:e.labelHTML||this._labelHTML,occludable:e.occludable,values:g.apply(e.values,g.apply(this._values,{})),markerShown:e.markerShown,labelShown:e.labelShown,eye:e.eye,look:e.look,up:e.up,projection:e.projection,visible:!1!==e.visible});return this.annotations[a.id]=a,a.on("destroyed",(()=>{delete this.annotations[a.id],this.fire("annotationDestroyed",a.id)})),this.fire("annotationCreated",a.id),a}destroyAnnotation(e){var t=this.annotations[e];t?t.destroy():this.log("Annotation not found: "+e)}clear(){const e=Object.keys(this.annotations);for(var t=0,s=e.length;t
',this._canvas.parentElement.appendChild(e),this._element=e,this._isCustom=!1,this._adjustPosition()}_injectDefaultCSS(){const e="xeokit-spinner-css";if(document.getElementById(e))return;const t=document.createElement("style");t.innerHTML=".sk-fading-circle { background: transparent; margin: 20px auto; width: 50px; height:50px; position: relative; } .sk-fading-circle .sk-circle { width: 120%; height: 120%; position: absolute; left: 0; top: 0; } .sk-fading-circle .sk-circle:before { content: ''; display: block; margin: 0 auto; width: 15%; height: 15%; background-color: #ff8800; border-radius: 100%; -webkit-animation: sk-circleFadeDelay 1.2s infinite ease-in-out both; animation: sk-circleFadeDelay 1.2s infinite ease-in-out both; } .sk-fading-circle .sk-circle2 { -webkit-transform: rotate(30deg); -ms-transform: rotate(30deg); transform: rotate(30deg); } .sk-fading-circle .sk-circle3 { -webkit-transform: rotate(60deg); -ms-transform: rotate(60deg); transform: rotate(60deg); } .sk-fading-circle .sk-circle4 { -webkit-transform: rotate(90deg); -ms-transform: rotate(90deg); transform: rotate(90deg); } .sk-fading-circle .sk-circle5 { -webkit-transform: rotate(120deg); -ms-transform: rotate(120deg); transform: rotate(120deg); } .sk-fading-circle .sk-circle6 { -webkit-transform: rotate(150deg); -ms-transform: rotate(150deg); transform: rotate(150deg); } .sk-fading-circle .sk-circle7 { -webkit-transform: rotate(180deg); -ms-transform: rotate(180deg); transform: rotate(180deg); } .sk-fading-circle .sk-circle8 { -webkit-transform: rotate(210deg); -ms-transform: rotate(210deg); transform: rotate(210deg); } .sk-fading-circle .sk-circle9 { -webkit-transform: rotate(240deg); -ms-transform: rotate(240deg); transform: rotate(240deg); } .sk-fading-circle .sk-circle10 { -webkit-transform: rotate(270deg); -ms-transform: rotate(270deg); transform: rotate(270deg); } .sk-fading-circle .sk-circle11 { -webkit-transform: rotate(300deg); -ms-transform: rotate(300deg); transform: rotate(300deg); } .sk-fading-circle .sk-circle12 { -webkit-transform: rotate(330deg); -ms-transform: rotate(330deg); transform: rotate(330deg); } .sk-fading-circle .sk-circle2:before { -webkit-animation-delay: -1.1s; animation-delay: -1.1s; } .sk-fading-circle .sk-circle3:before { -webkit-animation-delay: -1s; animation-delay: -1s; } .sk-fading-circle .sk-circle4:before { -webkit-animation-delay: -0.9s; animation-delay: -0.9s; } .sk-fading-circle .sk-circle5:before { -webkit-animation-delay: -0.8s; animation-delay: -0.8s; } .sk-fading-circle .sk-circle6:before { -webkit-animation-delay: -0.7s; animation-delay: -0.7s; } .sk-fading-circle .sk-circle7:before { -webkit-animation-delay: -0.6s; animation-delay: -0.6s; } .sk-fading-circle .sk-circle8:before { -webkit-animation-delay: -0.5s; animation-delay: -0.5s; } .sk-fading-circle .sk-circle9:before { -webkit-animation-delay: -0.4s; animation-delay: -0.4s; } .sk-fading-circle .sk-circle10:before { -webkit-animation-delay: -0.3s; animation-delay: -0.3s; } .sk-fading-circle .sk-circle11:before { -webkit-animation-delay: -0.2s; animation-delay: -0.2s; } .sk-fading-circle .sk-circle12:before { -webkit-animation-delay: -0.1s; animation-delay: -0.1s; } @-webkit-keyframes sk-circleFadeDelay { 0%, 39%, 100% { opacity: 0; } 40% { opacity: 1; } } @keyframes sk-circleFadeDelay { 0%, 39%, 100% { opacity: 0; } 40% { opacity: 1; } }",t.id=e,document.body.appendChild(t)}_adjustPosition(){if(this._isCustom)return;const e=this._canvas,t=this._element,s=t.style;s.left=e.offsetLeft+.5*e.clientWidth-.5*t.clientWidth+"px",s.top=e.offsetTop+.5*e.clientHeight-.5*t.clientHeight+"px"}set processes(e){if(e=e||0,this._processes===e)return;if(e<0)return;const t=this._processes;this._processes=e;const s=this._element;s&&(s.style.visibility=this._processes>0?"visible":"hidden"),this.fire("processes",this._processes),0===this._processes&&this._processes!==t&&this.fire("zeroProcesses",this._processes)}get processes(){return this._processes}_destroy(){this._element&&!this._isCustom&&(this._element.parentNode.removeChild(this._element),this._element=null);const e=document.getElementById("xeokit-spinner-css");e&&e.parentNode.removeChild(e)}}const De=["webgl2","experimental-webgl","webkit-3d","moz-webgl","moz-glweb20"];class Pe extends S{constructor(e,t={}){super(e,t),this._backgroundColor=A.vec3([t.backgroundColor?t.backgroundColor[0]:1,t.backgroundColor?t.backgroundColor[1]:1,t.backgroundColor?t.backgroundColor[2]:1]),this._backgroundColorFromAmbientLight=!!t.backgroundColorFromAmbientLight,this.canvas=t.canvas,this.gl=null,this.webgl2=!1,this.transparent=!!t.transparent,this.contextAttr=t.contextAttr||{},this.contextAttr.alpha=this.transparent,this.contextAttr.preserveDrawingBuffer=!!this.contextAttr.preserveDrawingBuffer,this.contextAttr.stencil=!1,this.contextAttr.premultipliedAlpha=!!this.contextAttr.premultipliedAlpha,this.contextAttr.antialias=!1!==this.contextAttr.antialias,this.resolutionScale=t.resolutionScale,this.canvas.width=Math.round(this.canvas.clientWidth*this._resolutionScale),this.canvas.height=Math.round(this.canvas.clientHeight*this._resolutionScale),this.boundary=[this.canvas.offsetLeft,this.canvas.offsetTop,this.canvas.clientWidth,this.canvas.clientHeight],this._initWebGL(t);const s=this;this.canvas.addEventListener("webglcontextlost",this._webglcontextlostListener=function(e){console.time("webglcontextrestored"),s.scene._webglContextLost(),s.fire("webglcontextlost"),e.preventDefault()},!1),this.canvas.addEventListener("webglcontextrestored",this._webglcontextrestoredListener=function(e){s._initWebGL(),s.gl&&(s.scene._webglContextRestored(s.gl),s.fire("webglcontextrestored",s.gl),e.preventDefault()),console.timeEnd("webglcontextrestored")},!1);let n=!0;new ResizeObserver((e=>{for(const t of e)t.contentBoxSize&&(n=!0)})).observe(this.canvas),this._tick=this.scene.on("tick",(()=>{n&&(n=!1,s.canvas.width=Math.round(s.canvas.clientWidth*s._resolutionScale),s.canvas.height=Math.round(s.canvas.clientHeight*s._resolutionScale),s.boundary[0]=s.canvas.offsetLeft,s.boundary[1]=s.canvas.offsetTop,s.boundary[2]=s.canvas.clientWidth,s.boundary[3]=s.canvas.clientHeight,s.fire("boundary",s.boundary))})),this._spinner=new be(this.scene,{canvas:this.canvas,elementId:t.spinnerElementId})}get type(){return"Canvas"}get backgroundColorFromAmbientLight(){return this._backgroundColorFromAmbientLight}set backgroundColorFromAmbientLight(e){this._backgroundColorFromAmbientLight=!1!==e,this.glRedraw()}get backgroundColor(){return this._backgroundColor}set backgroundColor(e){e?(this._backgroundColor[0]=e[0],this._backgroundColor[1]=e[1],this._backgroundColor[2]=e[2]):(this._backgroundColor[0]=1,this._backgroundColor[1]=1,this._backgroundColor[2]=1),this.glRedraw()}get resolutionScale(){return this._resolutionScale}set resolutionScale(e){if((e=e||1)===this._resolutionScale)return;this._resolutionScale=e;const t=this.canvas;t.width=Math.round(t.clientWidth*this._resolutionScale),t.height=Math.round(t.clientHeight*this._resolutionScale),this.glRedraw()}get spinner(){return this._spinner}_createCanvas(){const e="xeokit-canvas-"+A.createUUID(),t=document.getElementsByTagName("body")[0],s=document.createElement("div"),n=s.style;n.height="100%",n.width="100%",n.padding="0",n.margin="0",n.background="rgba(0,0,0,0);",n.float="left",n.left="0",n.top="0",n.position="absolute",n.opacity="1.0",n["z-index"]="-10000",s.innerHTML+='',t.appendChild(s),this.canvas=document.getElementById(e)}_getElementXY(e){let t=0,s=0;for(;e;)t+=e.offsetLeft-e.scrollLeft,s+=e.offsetTop-e.scrollTop,e=e.offsetParent;return{x:t,y:s}}_initWebGL(){if(!this.gl)for(let e=0;!this.gl&&e0?Ce.FS_MAX_FLOAT_PRECISION="highp":e.getShaderPrecisionFormat(e.FRAGMENT_SHADER,e.MEDIUM_FLOAT).precision>0?Ce.FS_MAX_FLOAT_PRECISION="mediump":Ce.FS_MAX_FLOAT_PRECISION="lowp":Ce.FS_MAX_FLOAT_PRECISION="mediump",Ce.DEPTH_BUFFER_BITS=e.getParameter(e.DEPTH_BITS),Ce.MAX_TEXTURE_SIZE=e.getParameter(e.MAX_TEXTURE_SIZE),Ce.MAX_CUBE_MAP_SIZE=e.getParameter(e.MAX_CUBE_MAP_TEXTURE_SIZE),Ce.MAX_RENDERBUFFER_SIZE=e.getParameter(e.MAX_RENDERBUFFER_SIZE),Ce.MAX_TEXTURE_UNITS=e.getParameter(e.MAX_COMBINED_TEXTURE_IMAGE_UNITS),Ce.MAX_TEXTURE_IMAGE_UNITS=e.getParameter(e.MAX_TEXTURE_IMAGE_UNITS),Ce.MAX_VERTEX_ATTRIBS=e.getParameter(e.MAX_VERTEX_ATTRIBS),Ce.MAX_VERTEX_UNIFORM_VECTORS=e.getParameter(e.MAX_VERTEX_UNIFORM_VECTORS),Ce.MAX_FRAGMENT_UNIFORM_VECTORS=e.getParameter(e.MAX_FRAGMENT_UNIFORM_VECTORS),Ce.MAX_VARYING_VECTORS=e.getParameter(e.MAX_VARYING_VECTORS),e.getSupportedExtensions().forEach((function(e){Ce.SUPPORTED_EXTENSIONS[e]=!0})))}class Be{constructor(){this.entity=null,this.primitive=null,this.primIndex=-1,this.pickSurfacePrecision=!1,this.touchInput=!1,this.snappedToEdge=!1,this.snappedToVertex=!1,this._origin=new Float64Array([0,0,0]),this._direction=new Float64Array([0,0,0]),this._indices=new Int32Array(3),this._localPos=new Float64Array([0,0,0]),this._worldPos=new Float64Array([0,0,0]),this._viewPos=new Float64Array([0,0,0]),this._canvasPos=new Int16Array([0,0]),this._snappedCanvasPos=new Int16Array([0,0]),this._bary=new Float64Array([0,0,0]),this._worldNormal=new Float64Array([0,0,0]),this._uv=new Float64Array([0,0]),this.reset()}get canvasPos(){return this._gotCanvasPos?this._canvasPos:null}set canvasPos(e){e?(this._canvasPos[0]=e[0],this._canvasPos[1]=e[1],this._gotCanvasPos=!0):this._gotCanvasPos=!1}get origin(){return this._gotOrigin?this._origin:null}set origin(e){e?(this._origin[0]=e[0],this._origin[1]=e[1],this._origin[2]=e[2],this._gotOrigin=!0):this._gotOrigin=!1}get direction(){return this._gotDirection?this._direction:null}set direction(e){e?(this._direction[0]=e[0],this._direction[1]=e[1],this._direction[2]=e[2],this._gotDirection=!0):this._gotDirection=!1}get indices(){return this.entity&&this._gotIndices?this._indices:null}set indices(e){e?(this._indices[0]=e[0],this._indices[1]=e[1],this._indices[2]=e[2],this._gotIndices=!0):this._gotIndices=!1}get localPos(){return this.entity&&this._gotLocalPos?this._localPos:null}set localPos(e){e?(this._localPos[0]=e[0],this._localPos[1]=e[1],this._localPos[2]=e[2],this._gotLocalPos=!0):this._gotLocalPos=!1}get snappedCanvasPos(){return this._gotSnappedCanvasPos?this._snappedCanvasPos:null}set snappedCanvasPos(e){e?(this._snappedCanvasPos[0]=e[0],this._snappedCanvasPos[1]=e[1],this._gotSnappedCanvasPos=!0):this._gotSnappedCanvasPos=!1}get worldPos(){return this._gotWorldPos?this._worldPos:null}set worldPos(e){e?(this._worldPos[0]=e[0],this._worldPos[1]=e[1],this._worldPos[2]=e[2],this._gotWorldPos=!0):this._gotWorldPos=!1}get viewPos(){return this.entity&&this._gotViewPos?this._viewPos:null}set viewPos(e){e?(this._viewPos[0]=e[0],this._viewPos[1]=e[1],this._viewPos[2]=e[2],this._gotViewPos=!0):this._gotViewPos=!1}get bary(){return this.entity&&this._gotBary?this._bary:null}set bary(e){e?(this._bary[0]=e[0],this._bary[1]=e[1],this._bary[2]=e[2],this._gotBary=!0):this._gotBary=!1}get worldNormal(){return this.entity&&this._gotWorldNormal?this._worldNormal:null}set worldNormal(e){e?(this._worldNormal[0]=e[0],this._worldNormal[1]=e[1],this._worldNormal[2]=e[2],this._gotWorldNormal=!0):this._gotWorldNormal=!1}get uv(){return this.entity&&this._gotUV?this._uv:null}set uv(e){e?(this._uv[0]=e[0],this._uv[1]=e[1],this._gotUV=!0):this._gotUV=!1}reset(){this.entity=null,this.primIndex=-1,this.primitive=null,this.pickSurfacePrecision=!1,this._gotCanvasPos=!1,this._gotSnappedCanvasPos=!1,this._gotOrigin=!1,this._gotDirection=!1,this._gotIndices=!1,this._gotLocalPos=!1,this._gotWorldPos=!1,this._gotViewPos=!1,this._gotBary=!1,this._gotWorldNormal=!1,this._gotUV=!1,this.touchInput=!1,this.snappedToEdge=!1,this.snappedToVertex=!1}}class Oe{constructor(e,t,s){if(this.allocated=!1,this.compiled=!1,this.handle=e.createShader(t),this.handle){if(this.allocated=!0,e.shaderSource(this.handle,s),e.compileShader(this.handle),this.compiled=e.getShaderParameter(this.handle,e.COMPILE_STATUS),!this.compiled&&!e.isContextLost()){const t=s.split("\n"),n=[];for(let e=0;e0&&"/"===s.charAt(n+1)&&(s=s.substring(0,n)),t.push(s);return t.join("\n")}function Me(e){console.error(e.join("\n"))}class Fe{constructor(e,t){this.id=xe.addItem({}),this.source=t,this.init(e)}init(e){if(this.gl=e,this.allocated=!1,this.compiled=!1,this.linked=!1,this.validated=!1,this.errors=null,this.uniforms={},this.samplers={},this.attributes={},this._vertexShader=new Oe(e,e.VERTEX_SHADER,Le(this.source.vertex)),this._fragmentShader=new Oe(e,e.FRAGMENT_SHADER,Le(this.source.fragment)),!this._vertexShader.allocated)return this.errors=["Vertex shader failed to allocate"].concat(this._vertexShader.errors),void Me(this.errors);if(!this._fragmentShader.allocated)return this.errors=["Fragment shader failed to allocate"].concat(this._fragmentShader.errors),void Me(this.errors);if(this.allocated=!0,!this._vertexShader.compiled)return this.errors=["Vertex shader failed to compile"].concat(this._vertexShader.errors),void Me(this.errors);if(!this._fragmentShader.compiled)return this.errors=["Fragment shader failed to compile"].concat(this._fragmentShader.errors),void Me(this.errors);let t,s,n,i,a;if(this.compiled=!0,this.handle=e.createProgram(),!this.handle)return void(this.errors=["Failed to allocate program"]);if(e.attachShader(this.handle,this._vertexShader.handle),e.attachShader(this.handle,this._fragmentShader.handle),e.linkProgram(this.handle),this.linked=e.getProgramParameter(this.handle,e.LINK_STATUS),this.validated=!0,!this.linked||!this.validated)return this.errors=[],this.errors.push(""),this.errors.push(e.getProgramInfoLog(this.handle)),this.errors.push("\nVertex shader:\n"),this.errors=this.errors.concat(this.source.vertex),this.errors.push("\nFragment shader:\n"),this.errors=this.errors.concat(this.source.fragment),void Me(this.errors);const r=e.getProgramParameter(this.handle,e.ACTIVE_UNIFORMS);for(s=0;sthis.dataLength?e.slice(0,this.dataLength):e,this.usage),this._gl.bindBuffer(this.type,null),this.length=e.length,this.numItems=this.length/this.itemSize,this.allocated=!0)}setData(e,t){this.allocated&&(e.length+(t||0)>this.length?(this.destroy(),this._allocate(e)):(this._gl.bindBuffer(this.type,this._handle),t||0===t?this._gl.bufferSubData(this.type,t*this.itemByteSize,e):this._gl.bufferData(this.type,e,this.usage),this._gl.bindBuffer(this.type,null)))}bind(){this.allocated&&this._gl.bindBuffer(this.type,this._handle)}unbind(){this.allocated&&this._gl.bindBuffer(this.type,null)}destroy(){this.allocated&&(this._gl.deleteBuffer(this._handle),this._handle=null,this.allocated=!1)}}class Ue{constructor(e,t){this.scene=e,this.aabb=A.AABB3(),this.origin=A.vec3(t),this.originHash=this.origin.join(),this.numMarkers=0,this.markers={},this.markerList=[],this.markerIndices={},this.positions=[],this.indices=[],this.positionsBuf=null,this.lenPositionsBuf=0,this.indicesBuf=null,this.sectionPlanesActive=[],this.culledBySectionPlanes=!1,this.occlusionTestList=[],this.lenOcclusionTestList=0,this.pixels=[],this.aabbDirty=!1,this.markerListDirty=!1,this.positionsDirty=!0,this.occlusionTestListDirty=!1}addMarker(e){this.markers[e.id]=e,this.markerListDirty=!0,this.numMarkers++}markerWorldPosUpdated(e){if(!this.markers[e.id])return;const t=this.markerIndices[e.id];this.positions[3*t+0]=e.worldPos[0],this.positions[3*t+1]=e.worldPos[1],this.positions[3*t+2]=e.worldPos[2],this.positionsDirty=!0}removeMarker(e){delete this.markers[e.id],this.markerListDirty=!0,this.numMarkers--}update(){this.markerListDirty&&(this._buildMarkerList(),this.markerListDirty=!1,this.positionsDirty=!0,this.occlusionTestListDirty=!0),this.positionsDirty&&(this._buildPositions(),this.positionsDirty=!1,this.aabbDirty=!0,this.vbosDirty=!0),this.aabbDirty&&(this._buildAABB(),this.aabbDirty=!1),this.vbosDirty&&(this._buildVBOs(),this.vbosDirty=!1),this.occlusionTestListDirty&&this._buildOcclusionTestList(),this._updateActiveSectionPlanes()}_buildMarkerList(){for(var e in this.numMarkers=0,this.markers)this.markers.hasOwnProperty(e)&&(this.markerList[this.numMarkers]=this.markers[e],this.markerIndices[e]=this.numMarkers,this.numMarkers++);this.markerList.length=this.numMarkers}_buildPositions(){let e=0;for(let t=0;t-t){s._setVisible(!1);continue}const r=s.canvasPos,l=r[0],o=r[1];l+10<0||o+10<0||l-10>n||o-10>i?s._setVisible(!1):!s.entity||s.entity.visible?s.occludable?(this.occlusionTestList[this.lenOcclusionTestList++]=s,this.pixels[a++]=l,this.pixels[a++]=o):s._setVisible(!0):s._setVisible(!1)}}_updateActiveSectionPlanes(){const e=this.scene._sectionPlanesState.sectionPlanes,t=e.length;if(t>0)for(let s=0;s{this._occlusionTestListDirty=!0})),this._onCameraProjMatrix=e.camera.on("projMatrix",(()=>{this._occlusionTestListDirty=!0})),this._onCanvasBoundary=e.canvas.on("boundary",(()=>{this._occlusionTestListDirty=!0}))}addMarker(e){const t=e.origin.join();let s=this._occlusionLayers[t];s||(s=new Ue(this._scene,e.origin),this._occlusionLayers[s.originHash]=s,this._occlusionLayersListDirty=!0),s.addMarker(e),this._markersToOcclusionLayersMap[e.id]=s,this._occlusionTestListDirty=!0}markerWorldPosUpdated(e){const t=this._markersToOcclusionLayersMap[e.id];if(!t)return void e.error("Marker has not been added to OcclusionTester");const s=e.origin.join();if(s!==t.originHash){1===t.numMarkers?(t.destroy(),delete this._occlusionLayers[t.originHash],this._occlusionLayersListDirty=!0):t.removeMarker(e);let n=this._occlusionLayers[s];n||(n=new Ue(this._scene,e.origin),this._occlusionLayers[s]=t,this._occlusionLayersListDirty=!0),n.addMarker(e),this._markersToOcclusionLayersMap[e.id]=n}else t.markerWorldPosUpdated(e)}removeMarker(e){const t=e.origin.join();let s=this._occlusionLayers[t];s&&(1===s.numMarkers?(s.destroy(),delete this._occlusionLayers[s.originHash],this._occlusionLayersListDirty=!0):s.removeMarker(e),delete this._markersToOcclusionLayersMap[e.id])}get needOcclusionTest(){return this._occlusionTestListDirty}bindRenderBuf(){const e=[this._scene.canvas.canvas.id,this._scene._sectionPlanesState.getHash()].join(";");if(e!==this._shaderSourceHash&&(this._shaderSourceHash=e,this._shaderSourceDirty=!0),this._shaderSourceDirty&&(this._buildShaderSource(),this._shaderSourceDirty=!1,this._programDirty=!0),this._programDirty&&(this._buildProgram(),this._programDirty=!1,this._occlusionTestListDirty=!0),this._occlusionLayersListDirty&&(this._buildOcclusionLayersList(),this._occlusionLayersListDirty=!1),this._occlusionTestListDirty){for(let e=0,t=this._occlusionLayersList.length;e0,s=[];return s.push("#version 300 es"),s.push("// OcclusionTester vertex shader"),s.push("in vec3 position;"),s.push("uniform mat4 modelMatrix;"),s.push("uniform mat4 viewMatrix;"),s.push("uniform mat4 projMatrix;"),e.logarithmicDepthBufferEnabled&&(s.push("uniform float logDepthBufFC;"),s.push("out float vFragDepth;")),t&&s.push("out vec4 vWorldPosition;"),s.push("void main(void) {"),s.push("vec4 worldPosition = vec4(position, 1.0); "),s.push(" vec4 viewPosition = viewMatrix * worldPosition;"),t&&s.push(" vWorldPosition = worldPosition;"),s.push(" vec4 clipPos = projMatrix * viewPosition;"),s.push(" gl_PointSize = 20.0;"),e.logarithmicDepthBufferEnabled?s.push("vFragDepth = 1.0 + clipPos.w;"):s.push("clipPos.z += -0.001;"),s.push(" gl_Position = clipPos;"),s.push("}"),s}_buildFragmentShaderSource(){const e=this._scene,t=e._sectionPlanesState,s=t.sectionPlanes.length>0,n=[];if(n.push("#version 300 es"),n.push("// OcclusionTester fragment shader"),n.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),n.push("precision highp float;"),n.push("precision highp int;"),n.push("#else"),n.push("precision mediump float;"),n.push("precision mediump int;"),n.push("#endif"),e.logarithmicDepthBufferEnabled&&(n.push("uniform float logDepthBufFC;"),n.push("in float vFragDepth;")),s){n.push("in vec4 vWorldPosition;");for(let e=0;e 0.0) { discard; }")}return e.logarithmicDepthBufferEnabled&&n.push("gl_FragDepth = log2( vFragDepth ) * logDepthBufFC * 0.5;"),n.push(" outColor = vec4(1.0, 0.0, 0.0, 1.0); "),n.push("}"),n}_buildProgram(){this._program&&this._program.destroy();const e=this._scene,t=e.canvas.gl,s=e._sectionPlanesState;if(this._program=new Fe(t,this._shaderSource),this._program.errors)return void(this.errors=this._program.errors);const n=this._program;this._uViewMatrix=n.getLocation("viewMatrix"),this._uProjMatrix=n.getLocation("projMatrix"),this._uSectionPlanes=[];for(let e=0,t=s.sectionPlanes.length;e0){const e=n.sectionPlanes;for(let n=0;n{let e=!0;this._scene.camera.on("projMatrix",(function(){e=!0}));const t=A.mat4();return()=>(e&&A.inverseMat4(n.camera.projMatrix,t),t)})());const t=this._scene.canvas.gl,s=this._program,n=this._scene,i=n.sao,a=t.drawingBufferWidth,r=t.drawingBufferHeight,l=n.camera.project._state,o=l.near,c=l.far,u=l.matrix,h=this._getInverseProjectMat(),p=Math.random(),d="perspective"===n.camera.projection;ke[0]=a,ke[1]=r,t.viewport(0,0,a,r),t.clearColor(0,0,0,1),t.disable(t.DEPTH_TEST),t.disable(t.BLEND),t.frontFace(t.CCW),t.clear(t.COLOR_BUFFER_BIT),s.bind(),t.uniform1f(this._uCameraNear,o),t.uniform1f(this._uCameraFar,c),t.uniformMatrix4fv(this._uCameraProjectionMatrix,!1,u),t.uniformMatrix4fv(this._uCameraInverseProjectionMatrix,!1,h),t.uniform1i(this._uPerspective,d),t.uniform1f(this._uScale,i.scale*(c/5)),t.uniform1f(this._uIntensity,i.intensity),t.uniform1f(this._uBias,i.bias),t.uniform1f(this._uKernelRadius,i.kernelRadius),t.uniform1f(this._uMinResolution,i.minResolution),t.uniform2fv(this._uViewport,ke),t.uniform1f(this._uRandomSeed,p);const f=e.getDepthTexture();s.bindTexture(this._uDepthTexture,f,0),this._aUV.bindArrayBuffer(this._uvBuf),this._aPosition.bindArrayBuffer(this._positionsBuf),this._indicesBuf.bind(),t.drawElements(t.TRIANGLES,this._indicesBuf.numItems,this._indicesBuf.itemType,0)}_build(){let e=!1;const t=this._scene.sao;if(t.numSamples!==this._numSamples&&(this._numSamples=Math.floor(t.numSamples),e=!0),!e)return;const s=this._scene.canvas.gl;if(this._program&&(this._program.destroy(),this._program=null),this._program=new Fe(s,{vertex:["#version 300 es\n precision highp float;\n precision highp int;\n \n in vec3 aPosition;\n in vec2 aUV; \n \n out vec2 vUV;\n \n void main () {\n gl_Position = vec4(aPosition, 1.0);\n vUV = aUV;\n }"],fragment:[`#version 300 es \n precision highp float;\n precision highp int; \n \n #define NORMAL_TEXTURE 0\n #define PI 3.14159265359\n #define PI2 6.28318530718\n #define EPSILON 1e-6\n #define NUM_SAMPLES ${this._numSamples}\n #define NUM_RINGS 4 \n \n in vec2 vUV;\n \n uniform sampler2D uDepthTexture;\n \n uniform float uCameraNear;\n uniform float uCameraFar;\n uniform mat4 uProjectMatrix;\n uniform mat4 uInverseProjectMatrix;\n \n uniform bool uPerspective;\n\n uniform float uScale;\n uniform float uIntensity;\n uniform float uBias;\n uniform float uKernelRadius;\n uniform float uMinResolution;\n uniform vec2 uViewport;\n uniform float uRandomSeed;\n\n float pow2( const in float x ) { return x*x; }\n \n highp float rand( const in vec2 uv ) {\n const highp float a = 12.9898, b = 78.233, c = 43758.5453;\n highp float dt = dot( uv.xy, vec2( a,b ) ), sn = mod( dt, PI );\n return fract(sin(sn) * c);\n }\n\n vec3 packNormalToRGB( const in vec3 normal ) {\n return normalize( normal ) * 0.5 + 0.5;\n }\n\n vec3 unpackRGBToNormal( const in vec3 rgb ) {\n return 2.0 * rgb.xyz - 1.0;\n }\n\n const float packUpscale = 256. / 255.;\n const float unpackDownScale = 255. / 256.; \n\n const vec3 packFactors = vec3( 256. * 256. * 256., 256. * 256., 256. );\n const vec4 unPackFactors = unpackDownScale / vec4( packFactors, 1. ); \n\n const float shiftRights = 1. / 256.;\n\n vec4 packFloatToRGBA( const in float v ) {\n vec4 r = vec4( fract( v * packFactors ), v );\n r.yzw -= r.xyz * shiftRights; \n return r * packUpscale;\n }\n\n float unpackRGBAToFloat( const in vec4 v ) { \n return dot( floor( v * 255.0 + 0.5 ) / 255.0, unPackFactors );\n }\n \n float perspectiveDepthToViewZ( const in float invClipZ, const in float near, const in float far ) {\n return ( near * far ) / ( ( far - near ) * invClipZ - far );\n }\n\n float orthographicDepthToViewZ( const in float linearClipZ, const in float near, const in float far ) {\n return linearClipZ * ( near - far ) - near;\n }\n \n float getDepth( const in vec2 screenPosition ) {\n return vec4(texture(uDepthTexture, screenPosition)).r;\n }\n\n float getViewZ( const in float depth ) {\n if (uPerspective) {\n return perspectiveDepthToViewZ( depth, uCameraNear, uCameraFar );\n } else {\n return orthographicDepthToViewZ( depth, uCameraNear, uCameraFar );\n }\n }\n\n vec3 getViewPos( const in vec2 screenPos, const in float depth, const in float viewZ ) {\n \tfloat clipW = uProjectMatrix[2][3] * viewZ + uProjectMatrix[3][3];\n \tvec4 clipPosition = vec4( ( vec3( screenPos, depth ) - 0.5 ) * 2.0, 1.0 );\n \tclipPosition *= clipW; \n \treturn ( uInverseProjectMatrix * clipPosition ).xyz;\n }\n\n vec3 getViewNormal( const in vec3 viewPosition, const in vec2 screenPos ) { \n return normalize( cross( dFdx( viewPosition ), dFdy( viewPosition ) ) );\n }\n\n float scaleDividedByCameraFar;\n float minResolutionMultipliedByCameraFar;\n\n float getOcclusion( const in vec3 centerViewPosition, const in vec3 centerViewNormal, const in vec3 sampleViewPosition ) {\n \tvec3 viewDelta = sampleViewPosition - centerViewPosition;\n \tfloat viewDistance = length( viewDelta );\n \tfloat scaledScreenDistance = scaleDividedByCameraFar * viewDistance;\n \treturn max(0.0, (dot(centerViewNormal, viewDelta) - minResolutionMultipliedByCameraFar) / scaledScreenDistance - uBias) / (1.0 + pow2( scaledScreenDistance ) );\n }\n\n const float ANGLE_STEP = PI2 * float( NUM_RINGS ) / float( NUM_SAMPLES );\n const float INV_NUM_SAMPLES = 1.0 / float( NUM_SAMPLES );\n\n float getAmbientOcclusion( const in vec3 centerViewPosition ) {\n \n \tscaleDividedByCameraFar = uScale / uCameraFar;\n \tminResolutionMultipliedByCameraFar = uMinResolution * uCameraFar;\n \tvec3 centerViewNormal = getViewNormal( centerViewPosition, vUV );\n\n \tfloat angle = rand( vUV + uRandomSeed ) * PI2;\n \tvec2 radius = vec2( uKernelRadius * INV_NUM_SAMPLES ) / uViewport;\n \tvec2 radiusStep = radius;\n\n \tfloat occlusionSum = 0.0;\n \tfloat weightSum = 0.0;\n\n \tfor( int i = 0; i < NUM_SAMPLES; i ++ ) {\n \t\tvec2 sampleUv = vUV + vec2( cos( angle ), sin( angle ) ) * radius;\n \t\tradius += radiusStep;\n \t\tangle += ANGLE_STEP;\n\n \t\tfloat sampleDepth = getDepth( sampleUv );\n \t\tif( sampleDepth >= ( 1.0 - EPSILON ) ) {\n \t\t\tcontinue;\n \t\t}\n\n \t\tfloat sampleViewZ = getViewZ( sampleDepth );\n \t\tvec3 sampleViewPosition = getViewPos( sampleUv, sampleDepth, sampleViewZ );\n \t\tocclusionSum += getOcclusion( centerViewPosition, centerViewNormal, sampleViewPosition );\n \t\tweightSum += 1.0;\n \t}\n\n \tif( weightSum == 0.0 ) discard;\n\n \treturn occlusionSum * ( uIntensity / weightSum );\n }\n\n out vec4 outColor;\n \n void main() {\n \n \tfloat centerDepth = getDepth( vUV );\n \t\n \tif( centerDepth >= ( 1.0 - EPSILON ) ) {\n \t\tdiscard;\n \t}\n\n \tfloat centerViewZ = getViewZ( centerDepth );\n \tvec3 viewPosition = getViewPos( vUV, centerDepth, centerViewZ );\n\n \tfloat ambientOcclusion = getAmbientOcclusion( viewPosition );\n \n \toutColor = packFloatToRGBA( 1.0- ambientOcclusion );\n }`]}),this._program.errors)return console.error(this._program.errors.join("\n")),void(this._programError=!0);const n=new Float32Array([1,1,0,1,0,0,1,0]),i=new Float32Array([1,1,0,-1,1,0,-1,-1,0,1,-1,0]),a=new Uint32Array([0,1,2,0,2,3]);this._positionsBuf=new He(s,s.ARRAY_BUFFER,i,i.length,3,s.STATIC_DRAW),this._uvBuf=new He(s,s.ARRAY_BUFFER,n,n.length,2,s.STATIC_DRAW),this._indicesBuf=new He(s,s.ELEMENT_ARRAY_BUFFER,a,a.length,1,s.STATIC_DRAW),this._program.bind(),this._uCameraNear=this._program.getLocation("uCameraNear"),this._uCameraFar=this._program.getLocation("uCameraFar"),this._uCameraProjectionMatrix=this._program.getLocation("uProjectMatrix"),this._uCameraInverseProjectionMatrix=this._program.getLocation("uInverseProjectMatrix"),this._uPerspective=this._program.getLocation("uPerspective"),this._uScale=this._program.getLocation("uScale"),this._uIntensity=this._program.getLocation("uIntensity"),this._uBias=this._program.getLocation("uBias"),this._uKernelRadius=this._program.getLocation("uKernelRadius"),this._uMinResolution=this._program.getLocation("uMinResolution"),this._uViewport=this._program.getLocation("uViewport"),this._uRandomSeed=this._program.getLocation("uRandomSeed"),this._aPosition=this._program.getAttribute("aPosition"),this._aUV=this._program.getAttribute("aUV"),this._dirty=!1}destroy(){this._program&&(this._program.destroy(),this._program=null)}}const We=new Float32Array(Je(17,[0,1])),ze=new Float32Array(Je(17,[1,0])),Ke=new Float32Array(function(e,t){const s=[];for(let n=0;n<=e;n++)s.push(qe(n,t));return s}(17,4)),Ye=new Float32Array(2);class Xe{constructor(e){this._scene=e,this._program=null,this._programError=!1,this._aPosition=null,this._aUV=null,this._uDepthTexture="uDepthTexture",this._uOcclusionTexture="uOcclusionTexture",this._uViewport=null,this._uCameraNear=null,this._uCameraFar=null,this._uCameraProjectionMatrix=null,this._uCameraInverseProjectionMatrix=null,this._uvBuf=null,this._positionsBuf=null,this._indicesBuf=null,this.init()}init(){const e=this._scene.canvas.gl;if(this._program=new Fe(e,{vertex:["#version 300 es\n precision highp float;\n precision highp int;\n \n in vec3 aPosition;\n in vec2 aUV;\n uniform vec2 uViewport;\n out vec2 vUV;\n out vec2 vInvSize;\n void main () {\n vUV = aUV;\n vInvSize = 1.0 / uViewport;\n gl_Position = vec4(aPosition, 1.0);\n }"],fragment:["#version 300 es\n precision highp float;\n precision highp int;\n \n #define PI 3.14159265359\n #define PI2 6.28318530718\n #define EPSILON 1e-6\n\n #define KERNEL_RADIUS 16\n\n in vec2 vUV;\n in vec2 vInvSize;\n \n uniform sampler2D uDepthTexture;\n uniform sampler2D uOcclusionTexture; \n \n uniform float uCameraNear;\n uniform float uCameraFar; \n uniform float uDepthCutoff;\n\n uniform vec2 uSampleOffsets[ KERNEL_RADIUS + 1 ];\n uniform float uSampleWeights[ KERNEL_RADIUS + 1 ];\n\n const float unpackDownscale = 255. / 256.; \n\n const vec3 packFactors = vec3( 256. * 256. * 256., 256. * 256., 256. );\n const vec4 unpackFactors = unpackDownscale / vec4( packFactors, 1. ); \n\n const float packUpscale = 256. / 255.;\n \n const float shiftRights = 1. / 256.;\n \n float unpackRGBAToFloat( const in vec4 v ) {\n return dot( floor( v * 255.0 + 0.5 ) / 255.0, unpackFactors );\n } \n\n vec4 packFloatToRGBA( const in float v ) {\n vec4 r = vec4( fract( v * packFactors ), v );\n r.yzw -= r.xyz * shiftRights; \n return r * packUpscale;\n }\n\n float viewZToOrthographicDepth( const in float viewZ) {\n return ( viewZ + uCameraNear ) / ( uCameraNear - uCameraFar );\n }\n \n float orthographicDepthToViewZ( const in float linearClipZ) {\n return linearClipZ * ( uCameraNear - uCameraFar ) - uCameraNear;\n }\n\n float viewZToPerspectiveDepth( const in float viewZ) {\n return (( uCameraNear + viewZ ) * uCameraFar ) / (( uCameraFar - uCameraNear ) * viewZ );\n }\n \n float perspectiveDepthToViewZ( const in float invClipZ) {\n return ( uCameraNear * uCameraFar ) / ( ( uCameraFar - uCameraNear ) * invClipZ - uCameraFar );\n }\n\n float getDepth( const in vec2 screenPosition ) {\n return vec4(texture(uDepthTexture, screenPosition)).r;\n }\n\n float getViewZ( const in float depth ) {\n return perspectiveDepthToViewZ( depth );\n }\n\n out vec4 outColor;\n \n void main() {\n \n float depth = getDepth( vUV );\n if( depth >= ( 1.0 - EPSILON ) ) {\n discard;\n }\n\n float centerViewZ = -getViewZ( depth );\n bool rBreak = false;\n bool lBreak = false;\n\n float weightSum = uSampleWeights[0];\n float occlusionSum = unpackRGBAToFloat(texture( uOcclusionTexture, vUV )) * weightSum;\n\n for( int i = 1; i <= KERNEL_RADIUS; i ++ ) {\n\n float sampleWeight = uSampleWeights[i];\n vec2 sampleUVOffset = uSampleOffsets[i] * vInvSize;\n\n vec2 sampleUV = vUV + sampleUVOffset;\n float viewZ = -getViewZ( getDepth( sampleUV ) );\n\n if( abs( viewZ - centerViewZ ) > uDepthCutoff ) {\n rBreak = true;\n }\n\n if( ! rBreak ) {\n occlusionSum += unpackRGBAToFloat(texture( uOcclusionTexture, sampleUV )) * sampleWeight;\n weightSum += sampleWeight;\n }\n\n sampleUV = vUV - sampleUVOffset;\n viewZ = -getViewZ( getDepth( sampleUV ) );\n\n if( abs( viewZ - centerViewZ ) > uDepthCutoff ) {\n lBreak = true;\n }\n\n if( ! lBreak ) {\n occlusionSum += unpackRGBAToFloat(texture( uOcclusionTexture, sampleUV )) * sampleWeight;\n weightSum += sampleWeight;\n }\n }\n\n outColor = packFloatToRGBA(occlusionSum / weightSum);\n }"]}),this._program.errors)return console.error(this._program.errors.join("\n")),void(this._programError=!0);const t=new Float32Array([1,1,0,1,0,0,1,0]),s=new Float32Array([1,1,0,-1,1,0,-1,-1,0,1,-1,0]),n=new Uint32Array([0,1,2,0,2,3]);this._positionsBuf=new He(e,e.ARRAY_BUFFER,s,s.length,3,e.STATIC_DRAW),this._uvBuf=new He(e,e.ARRAY_BUFFER,t,t.length,2,e.STATIC_DRAW),this._indicesBuf=new He(e,e.ELEMENT_ARRAY_BUFFER,n,n.length,1,e.STATIC_DRAW),this._program.bind(),this._uViewport=this._program.getLocation("uViewport"),this._uCameraNear=this._program.getLocation("uCameraNear"),this._uCameraFar=this._program.getLocation("uCameraFar"),this._uDepthCutoff=this._program.getLocation("uDepthCutoff"),this._uSampleOffsets=e.getUniformLocation(this._program.handle,"uSampleOffsets"),this._uSampleWeights=e.getUniformLocation(this._program.handle,"uSampleWeights"),this._aPosition=this._program.getAttribute("aPosition"),this._aUV=this._program.getAttribute("aUV")}render(e,t,s){if(this._programError)return;this._getInverseProjectMat||(this._getInverseProjectMat=(()=>{let e=!0;this._scene.camera.on("projMatrix",(function(){e=!0}));const t=A.mat4();return()=>(e&&A.inverseMat4(a.camera.projMatrix,t),t)})());const n=this._scene.canvas.gl,i=this._program,a=this._scene,r=n.drawingBufferWidth,l=n.drawingBufferHeight,o=a.camera.project._state,c=o.near,u=o.far;n.viewport(0,0,r,l),n.clearColor(0,0,0,1),n.enable(n.DEPTH_TEST),n.disable(n.BLEND),n.frontFace(n.CCW),n.clear(n.COLOR_BUFFER_BIT|n.DEPTH_BUFFER_BIT),i.bind(),Ye[0]=r,Ye[1]=l,n.uniform2fv(this._uViewport,Ye),n.uniform1f(this._uCameraNear,c),n.uniform1f(this._uCameraFar,u),n.uniform1f(this._uDepthCutoff,.01),0===s?n.uniform2fv(this._uSampleOffsets,ze):n.uniform2fv(this._uSampleOffsets,We),n.uniform1fv(this._uSampleWeights,Ke);const h=e.getDepthTexture(),p=t.getTexture();i.bindTexture(this._uDepthTexture,h,0),i.bindTexture(this._uOcclusionTexture,p,1),this._aUV.bindArrayBuffer(this._uvBuf),this._aPosition.bindArrayBuffer(this._positionsBuf),this._indicesBuf.bind(),n.drawElements(n.TRIANGLES,this._indicesBuf.numItems,this._indicesBuf.itemType,0)}destroy(){this._program.destroy()}}function qe(e,t){return Math.exp(-e*e/(t*t*2))/(Math.sqrt(2*Math.PI)*t)}function Je(e,t){const s=[];for(let n=0;n<=e;n++)s.push(t[0]*n),s.push(t[1]*n);return s}class Ze{constructor(e,t,s){s=s||{},this.gl=t,this.allocated=!1,this.canvas=e,this.buffer=null,this.bound=!1,this.size=s.size,this._hasDepthTexture=!!s.depthTexture}setSize(e){this.size=e}webglContextRestored(e){this.gl=e,this.buffer=null,this.allocated=!1,this.bound=!1}bind(...e){if(this._touch(...e),this.bound)return;const t=this.gl;t.bindFramebuffer(t.FRAMEBUFFER,this.buffer.framebuf),this.bound=!0}createTexture(e,t,s=null){const n=this.gl,i=n.createTexture();return n.bindTexture(n.TEXTURE_2D,i),n.texParameteri(n.TEXTURE_2D,n.TEXTURE_MIN_FILTER,n.NEAREST),n.texParameteri(n.TEXTURE_2D,n.TEXTURE_MAG_FILTER,n.NEAREST),n.texParameteri(n.TEXTURE_2D,n.TEXTURE_WRAP_S,n.CLAMP_TO_EDGE),n.texParameteri(n.TEXTURE_2D,n.TEXTURE_WRAP_T,n.CLAMP_TO_EDGE),s?n.texStorage2D(n.TEXTURE_2D,1,s,e,t):n.texImage2D(n.TEXTURE_2D,0,n.RGBA,e,t,0,n.RGBA,n.UNSIGNED_BYTE,null),i}_touch(...e){let t,s;const n=this.gl;if(this.size?(t=this.size[0],s=this.size[1]):(t=n.drawingBufferWidth,s=n.drawingBufferHeight),this.buffer){if(this.buffer.width===t&&this.buffer.height===s)return;this.buffer.textures.forEach((e=>n.deleteTexture(e))),n.deleteFramebuffer(this.buffer.framebuf),n.deleteRenderbuffer(this.buffer.renderbuf)}const i=[];let a;e.length>0?i.push(...e.map((e=>this.createTexture(t,s,e)))):i.push(this.createTexture(t,s)),this._hasDepthTexture&&(a=n.createTexture(),n.bindTexture(n.TEXTURE_2D,a),n.texParameteri(n.TEXTURE_2D,n.TEXTURE_MAG_FILTER,n.NEAREST),n.texParameteri(n.TEXTURE_2D,n.TEXTURE_MIN_FILTER,n.NEAREST),n.texParameteri(n.TEXTURE_2D,n.TEXTURE_WRAP_S,n.CLAMP_TO_EDGE),n.texParameteri(n.TEXTURE_2D,n.TEXTURE_WRAP_T,n.CLAMP_TO_EDGE),n.texImage2D(n.TEXTURE_2D,0,n.DEPTH_COMPONENT32F,t,s,0,n.DEPTH_COMPONENT,n.FLOAT,null));const r=n.createRenderbuffer();n.bindRenderbuffer(n.RENDERBUFFER,r),n.renderbufferStorage(n.RENDERBUFFER,n.DEPTH_COMPONENT32F,t,s);const l=n.createFramebuffer();n.bindFramebuffer(n.FRAMEBUFFER,l);for(let e=0;e0&&n.drawBuffers(i.map(((e,t)=>n.COLOR_ATTACHMENT0+t))),this._hasDepthTexture?n.framebufferTexture2D(n.FRAMEBUFFER,n.DEPTH_ATTACHMENT,n.TEXTURE_2D,a,0):n.framebufferRenderbuffer(n.FRAMEBUFFER,n.DEPTH_ATTACHMENT,n.RENDERBUFFER,r),n.bindTexture(n.TEXTURE_2D,null),n.bindRenderbuffer(n.RENDERBUFFER,null),n.bindFramebuffer(n.FRAMEBUFFER,null),n.bindFramebuffer(n.FRAMEBUFFER,l),!n.isFramebuffer(l))throw"Invalid framebuffer";n.bindFramebuffer(n.FRAMEBUFFER,null);const o=n.checkFramebufferStatus(n.FRAMEBUFFER);switch(o){case n.FRAMEBUFFER_COMPLETE:break;case n.FRAMEBUFFER_INCOMPLETE_ATTACHMENT:throw"Incomplete framebuffer: FRAMEBUFFER_INCOMPLETE_ATTACHMENT";case n.FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT:throw"Incomplete framebuffer: FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT";case n.FRAMEBUFFER_INCOMPLETE_DIMENSIONS:throw"Incomplete framebuffer: FRAMEBUFFER_INCOMPLETE_DIMENSIONS";case n.FRAMEBUFFER_UNSUPPORTED:throw"Incomplete framebuffer: FRAMEBUFFER_UNSUPPORTED";default:throw"Incomplete framebuffer: "+o}this.buffer={framebuf:l,renderbuf:r,texture:i[0],textures:i,depthTexture:a,width:t,height:s},this.bound=!1}clear(){if(!this.bound)throw"Render buffer not bound";const e=this.gl;e.clear(e.COLOR_BUFFER_BIT|e.DEPTH_BUFFER_BIT)}read(e,t,s=null,n=null,i=Uint8Array,a=4,r=0){const l=e,o=this.buffer.height?this.buffer.height-t-1:this.gl.drawingBufferHeight-t,c=new i(a),u=this.gl;return u.readBuffer(u.COLOR_ATTACHMENT0+r),u.readPixels(l,o,1,1,s||u.RGBA,n||u.UNSIGNED_BYTE,c,0),c}readArray(e=null,t=null,s=Uint8Array,n=4,i=0){const a=new s(this.buffer.width*this.buffer.height*n),r=this.gl;return r.readBuffer(r.COLOR_ATTACHMENT0+i),r.readPixels(0,0,this.buffer.width,this.buffer.height,e||r.RGBA,t||r.UNSIGNED_BYTE,a,0),a}readImageAsCanvas(){const e=this.gl,t=this._getImageDataCache(),s=t.pixelData,n=t.canvas,i=t.imageData,a=t.context;e.readPixels(0,0,this.buffer.width,this.buffer.height,e.RGBA,e.UNSIGNED_BYTE,s);const r=this.buffer.width,l=this.buffer.height,o=l/2|0,c=4*r,u=new Uint8Array(4*r);for(let e=0;ee.deleteTexture(t))),e.deleteTexture(this.buffer.depthTexture),e.deleteFramebuffer(this.buffer.framebuf),e.deleteRenderbuffer(this.buffer.renderbuf),this.allocated=!1,this.buffer=null,this.bound=!1}this._imageDataCache=null,this._texture=null,this._depthTexture=null}}class $e{constructor(e){this.scene=e,this._renderBuffersBasic={},this._renderBuffersScaled={}}getRenderBuffer(e,t){const s=1===this.scene.canvas.resolutionScale?this._renderBuffersBasic:this._renderBuffersScaled;let n=s[e];return n||(n=new Ze(this.scene.canvas.canvas,this.scene.canvas.gl,t),s[e]=n),n}destroy(){for(let e in this._renderBuffersBasic)this._renderBuffersBasic[e].destroy();for(let e in this._renderBuffersScaled)this._renderBuffersScaled[e].destroy()}}function et(e,t){if(void 0===e._cachedExtensions&&(e._cachedExtensions={}),void 0!==e._cachedExtensions[t])return e._cachedExtensions[t];let s;switch(t){case"WEBGL_depth_texture":s=e.getExtension("WEBGL_depth_texture")||e.getExtension("MOZ_WEBGL_depth_texture")||e.getExtension("WEBKIT_WEBGL_depth_texture");break;case"EXT_texture_filter_anisotropic":s=e.getExtension("EXT_texture_filter_anisotropic")||e.getExtension("MOZ_EXT_texture_filter_anisotropic")||e.getExtension("WEBKIT_EXT_texture_filter_anisotropic");break;case"WEBGL_compressed_texture_s3tc":s=e.getExtension("WEBGL_compressed_texture_s3tc")||e.getExtension("MOZ_WEBGL_compressed_texture_s3tc")||e.getExtension("WEBKIT_WEBGL_compressed_texture_s3tc");break;case"WEBGL_compressed_texture_pvrtc":s=e.getExtension("WEBGL_compressed_texture_pvrtc")||e.getExtension("WEBKIT_WEBGL_compressed_texture_pvrtc");break;default:s=e.getExtension(t)}return e._cachedExtensions[t]=s,s}const tt=function(t,s){s=s||{};const n=new Re(t),i=t.canvas.canvas,a=t.canvas.gl,r=!!s.transparent,l=s.alphaDepthMask,o=new e({});let c={},u={},h=!0,p=!0,d=!0,f=!0,I=!0,m=!0,v=!0,w=!0;const g=new $e(t);let E=!1;const T=new Qe(t),b=new Xe(t);function D(){h&&(!function(){for(let e in c)if(c.hasOwnProperty(e)){const t=c[e],s=t.drawableMap,n=t.drawableListPreCull;let i=0;for(let e in s)s.hasOwnProperty(e)&&(n[i++]=s[e]);n.length=i}}(),h=!1,p=!0),p&&(!function(){for(let e in c)if(c.hasOwnProperty(e)){const t=c[e];t.isStateSortable&&t.drawableListPreCull.sort(t.stateSortCompare)}}(),p=!1,d=!0),d&&function(){for(let e in c)if(c.hasOwnProperty(e)){const t=c[e],s=t.drawableListPreCull,n=t.drawableList;let i=0;for(let e=0,t=s.length;e0)for(n.withSAO=!0,S=0;S0)for(S=0;S0)for(S=0;S0)for(S=0;S0||k>0||H>0||U>0){if(a.enable(a.CULL_FACE),a.enable(a.BLEND),r?(a.blendEquation(a.FUNC_ADD),a.blendFuncSeparate(a.SRC_ALPHA,a.ONE_MINUS_SRC_ALPHA,a.ONE,a.ONE_MINUS_SRC_ALPHA)):(a.blendEquation(a.FUNC_ADD),a.blendFunc(a.SRC_ALPHA,a.ONE_MINUS_SRC_ALPHA)),n.backfaces=!1,l||a.depthMask(!1),(H>0||U>0)&&a.blendFunc(a.SRC_ALPHA,a.ONE_MINUS_SRC_ALPHA),U>0)for(S=0;S0)for(S=0;S0)for(S=0;S0)for(S=0;S0||W>0){if(n.lastProgramId=null,t.highlightMaterial.glowThrough&&a.clear(a.DEPTH_BUFFER_BIT),W>0)for(S=0;S0)for(S=0;S0||K>0||Q>0){if(n.lastProgramId=null,t.selectedMaterial.glowThrough&&a.clear(a.DEPTH_BUFFER_BIT),a.enable(a.BLEND),r?(a.blendEquation(a.FUNC_ADD),a.blendFuncSeparate(a.SRC_ALPHA,a.ONE_MINUS_SRC_ALPHA,a.ONE,a.ONE_MINUS_SRC_ALPHA)):a.blendFunc(a.SRC_ALPHA,a.ONE_MINUS_SRC_ALPHA),a.enable(a.CULL_FACE),K>0)for(S=0;S0)for(S=0;S0||X>0){if(n.lastProgramId=null,t.selectedMaterial.glowThrough&&a.clear(a.DEPTH_BUFFER_BIT),X>0)for(S=0;S0)for(S=0;S0||J>0){if(n.lastProgramId=null,t.selectedMaterial.glowThrough&&a.clear(a.DEPTH_BUFFER_BIT),a.enable(a.CULL_FACE),a.enable(a.BLEND),r?(a.blendEquation(a.FUNC_ADD),a.blendFuncSeparate(a.SRC_ALPHA,a.ONE_MINUS_SRC_ALPHA,a.ONE,a.ONE_MINUS_SRC_ALPHA)):a.blendFunc(a.SRC_ALPHA,a.ONE_MINUS_SRC_ALPHA),J>0)for(S=0;S0)for(S=0;S0){const t=Math.floor(e/4),s=p.size[0],n=t%s-Math.floor(s/2),i=Math.floor(t/s)-Math.floor(s/2),a=Math.sqrt(Math.pow(n,2)+Math.pow(i,2));R.push({x:n,y:i,dist:a,isVertex:r&&l?m[e+3]>y.length/2:r,result:[m[e+0],m[e+1],m[e+2],m[e+3]],normal:[v[e+0],v[e+1],v[e+2],v[e+3]],id:[w[e+0],w[e+1],w[e+2],w[e+3]]})}let O=null,S=null,N=null,x=null;if(R.length>0){R.sort(((e,t)=>e.isVertex!==t.isVertex?e.isVertex?-1:1:e.dist-t.dist)),x=R[0].isVertex?"vertex":"edge";const e=R[0].result,t=R[0].normal,s=R[0].id,n=y[e[3]],i=n.origin,a=n.coordinateScale;S=A.normalizeVec3([t[0]/A.MAX_INT,t[1]/A.MAX_INT,t[2]/A.MAX_INT]),O=[e[0]*a[0]+i[0],e[1]*a[1]+i[1],e[2]*a[2]+i[2]],N=o.items[s[0]+(s[1]<<8)+(s[2]<<16)+(s[3]<<24)]}if(null===E&&null==O)return null;let L=null;null!==O&&(L=t.camera.projectWorldPos(O));const M=N&&N.delegatePickedEntity?N.delegatePickedEntity():N;return u.reset(),u.snappedToEdge="edge"===x,u.snappedToVertex="vertex"===x,u.worldPos=O,u.worldNormal=S,u.entity=M,u.canvasPos=s,u.snappedCanvasPos=L||s,u}}(),this.addMarker=function(e){this._occlusionTester=this._occlusionTester||new Ve(t,g),this._occlusionTester.addMarker(e),t.occlusionTestCountdown=0},this.markerWorldPosUpdated=function(e){this._occlusionTester.markerWorldPosUpdated(e)},this.removeMarker=function(e){this._occlusionTester.removeMarker(e)},this.doOcclusionTest=function(){if(this._occlusionTester&&this._occlusionTester.needOcclusionTest){D(),this._occlusionTester.bindRenderBuf(),n.reset(),n.backfaces=!0,n.frontface=!0,a.viewport(0,0,a.drawingBufferWidth,a.drawingBufferHeight),a.clearColor(0,0,0,0),a.enable(a.DEPTH_TEST),a.disable(a.CULL_FACE),a.disable(a.BLEND),a.clear(a.COLOR_BUFFER_BIT|a.DEPTH_BUFFER_BIT);for(let e in c)if(c.hasOwnProperty(e)){const t=c[e].drawableList;for(let e=0,s=t.length;e{this.enabled&&this.keyboardEnabled&&"INPUT"!==e.target.tagName&&"TEXTAREA"!==e.target.tagName&&(e.keyCode===this.KEY_CTRL?this.ctrlDown=!0:e.keyCode===this.KEY_ALT?this.altDown=!0:e.keyCode===this.KEY_SHIFT&&(this.shiftDown=!0),this.keyDown[e.keyCode]=!0,this.fire("keydown",e.keyCode,!0))},!1),this._keyboardEventsElement.addEventListener("keyup",this._keyUpListener=e=>{this.enabled&&this.keyboardEnabled&&"INPUT"!==e.target.tagName&&"TEXTAREA"!==e.target.tagName&&(e.keyCode===this.KEY_CTRL?this.ctrlDown=!1:e.keyCode===this.KEY_ALT?this.altDown=!1:e.keyCode===this.KEY_SHIFT&&(this.shiftDown=!1),this.keyDown[e.keyCode]=!1,this.fire("keyup",e.keyCode,!0))}),this.element.addEventListener("mouseenter",this._mouseEnterListener=e=>{this.enabled&&(this.mouseover=!0,this._getMouseCanvasPos(e),this.fire("mouseenter",this.mouseCanvasPos,!0))}),this.element.addEventListener("mouseleave",this._mouseLeaveListener=e=>{this.enabled&&(this.mouseover=!1,this._getMouseCanvasPos(e),this.fire("mouseleave",this.mouseCanvasPos,!0))}),this.element.addEventListener("mousedown",this._mouseDownListener=e=>{if(this.enabled){switch(e.which){case 1:this.mouseDownLeft=!0;break;case 2:this.mouseDownMiddle=!0;break;case 3:this.mouseDownRight=!0}this._getMouseCanvasPos(e),this.element.focus(),this.fire("mousedown",this.mouseCanvasPos,!0),this.mouseover&&e.preventDefault()}}),document.addEventListener("mouseup",this._mouseUpListener=e=>{if(this.enabled){switch(e.which){case 1:this.mouseDownLeft=!1;break;case 2:this.mouseDownMiddle=!1;break;case 3:this.mouseDownRight=!1}this.fire("mouseup",this.mouseCanvasPos,!0)}},!0),document.addEventListener("click",this._clickListener=e=>{if(this.enabled){switch(e.which){case 1:case 3:this.mouseDownLeft=!1,this.mouseDownRight=!1;break;case 2:this.mouseDownMiddle=!1}this._getMouseCanvasPos(e),this.fire("click",this.mouseCanvasPos,!0),this.mouseover&&e.preventDefault()}}),document.addEventListener("dblclick",this._dblClickListener=e=>{if(this.enabled){switch(e.which){case 1:case 3:this.mouseDownLeft=!1,this.mouseDownRight=!1;break;case 2:this.mouseDownMiddle=!1}this._getMouseCanvasPos(e),this.fire("dblclick",this.mouseCanvasPos,!0),this.mouseover&&e.preventDefault()}});const e=this.scene.tickify((()=>this.fire("mousemove",this.mouseCanvasPos,!0)));this.element.addEventListener("mousemove",this._mouseMoveListener=t=>{this.enabled&&(this._getMouseCanvasPos(t),e(),this.mouseover&&t.preventDefault())});const t=this.scene.tickify((e=>{this.fire("mousewheel",e,!0)}));this.element.addEventListener("wheel",this._mouseWheelListener=(e,s)=>{if(!this.enabled)return;const n=Math.max(-1,Math.min(1,40*-e.deltaY));t(n)},{passive:!0});{let e,t;const s=2;this.on("mousedown",(s=>{e=s[0],t=s[1]})),this.on("mouseup",(n=>{e>=n[0]-s&&e<=n[0]+s&&t>=n[1]-s&&t<=n[1]+s&&this.fire("mouseclicked",n,!0)}))}this._eventsBound=!0}_unbindEvents(){this._eventsBound&&(this._keyboardEventsElement.removeEventListener("keydown",this._keyDownListener),this._keyboardEventsElement.removeEventListener("keyup",this._keyUpListener),this.element.removeEventListener("mouseenter",this._mouseEnterListener),this.element.removeEventListener("mouseleave",this._mouseLeaveListener),this.element.removeEventListener("mousedown",this._mouseDownListener),document.removeEventListener("mouseup",this._mouseDownListener),document.removeEventListener("click",this._clickListener),document.removeEventListener("dblclick",this._dblClickListener),this.element.removeEventListener("mousemove",this._mouseMoveListener),this.element.removeEventListener("wheel",this._mouseWheelListener),window.OrientationChangeEvent&&window.removeEventListener("orientationchange",this._orientationchangedListener),window.DeviceMotionEvent&&window.removeEventListener("devicemotion",this._deviceMotionListener),window.DeviceOrientationEvent&&window.removeEventListener("deviceorientation",this._deviceOrientListener),this._eventsBound=!1)}_getMouseCanvasPos(e){if(e){let t=e.target,s=0,n=0;for(;t.offsetParent;)s+=t.offsetLeft,n+=t.offsetTop,t=t.offsetParent;this.mouseCanvasPos[0]=e.pageX-s,this.mouseCanvasPos[1]=e.pageY-n}else e=window.event,this.mouseCanvasPos[0]=e.x,this.mouseCanvasPos[1]=e.y}setEnabled(e){this.enabled!==e&&this.fire("enabled",this.enabled=e)}getEnabled(){return this.enabled}setKeyboardEnabled(e){this.keyboardEnabled=e}getKeyboardEnabled(){return this.keyboardEnabled}destroy(){super.destroy(),this._unbindEvents()}}const nt=new e({});class it{constructor(e){this.id=nt.addItem({});for(const t in e)e.hasOwnProperty(t)&&(this[t]=e[t])}destroy(){nt.removeItem(this.id)}}class at extends S{get type(){return"Viewport"}constructor(e,t={}){super(e,t),this._state=new it({boundary:[0,0,100,100]}),this.boundary=t.boundary,this.autoBoundary=t.autoBoundary}set boundary(e){if(!this._autoBoundary){if(!e){const t=this.scene.canvas.boundary;e=[0,0,t[2],t[3]]}this._state.boundary=e,this.glRedraw(),this.fire("boundary",this._state.boundary)}}get boundary(){return this._state.boundary}set autoBoundary(e){(e=!!e)!==this._autoBoundary&&(this._autoBoundary=e,this._autoBoundary?this._onCanvasSize=this.scene.canvas.on("boundary",(function(e){const t=e[2],s=e[3];this._state.boundary=[0,0,t,s],this.glRedraw(),this.fire("boundary",this._state.boundary)}),this):this._onCanvasSize&&(this.scene.canvas.off(this._onCanvasSize),this._onCanvasSize=null),this.fire("autoBoundary",this._autoBoundary))}get autoBoundary(){return this._autoBoundary}_getState(){return this._state}destroy(){super.destroy(),this._state.destroy()}}class rt extends S{get type(){return"Perspective"}constructor(e,t={}){super(e,t),this.camera=e,this._state=new it({matrix:A.mat4(),inverseMatrix:A.mat4(),transposedMatrix:A.mat4(),near:.1,far:2e3}),this._inverseMatrixDirty=!0,this._transposedMatrixDirty=!0,this._fov=60,this._canvasResized=this.scene.canvas.on("boundary",this._needUpdate,this),this.fov=t.fov,this.fovAxis=t.fovAxis,this.near=t.near,this.far=t.far}_update(){const e=this.scene.canvas.boundary,t=e[2]/e[3],s=this._fovAxis;let n=this._fov;("x"===s||"min"===s&&t<1||"max"===s&&t>1)&&(n/=t),n=Math.min(n,120),A.perspectiveMat4(n*(Math.PI/180),t,this._state.near,this._state.far,this._state.matrix),this._inverseMatrixDirty=!0,this._transposedMatrixDirty=!0,this.glRedraw(),this.camera._updateScheduled=!0,this.fire("matrix",this._state.matrix)}set fov(e){(e=null!=e?e:60)!==this._fov&&(this._fov=e,this._needUpdate(0),this.fire("fov",this._fov))}get fov(){return this._fov}set fovAxis(e){e=e||"min",this._fovAxis!==e&&("x"!==e&&"y"!==e&&"min"!==e&&(this.error("Unsupported value for 'fovAxis': "+e+" - defaulting to 'min'"),e="min"),this._fovAxis=e,this._needUpdate(0),this.fire("fovAxis",this._fovAxis))}get fovAxis(){return this._fovAxis}set near(e){const t=null!=e?e:.1;this._state.near!==t&&(this._state.near=t,this._needUpdate(0),this.fire("near",this._state.near))}get near(){return this._state.near}set far(e){const t=null!=e?e:2e3;this._state.far!==t&&(this._state.far=t,this._needUpdate(0),this.fire("far",this._state.far))}get far(){return this._state.far}get matrix(){return this._updateScheduled&&this._doUpdate(),this._state.matrix}get inverseMatrix(){return this._updateScheduled&&this._doUpdate(),this._inverseMatrixDirty&&(A.inverseMat4(this._state.matrix,this._state.inverseMatrix),this._inverseMatrixDirty=!1),this._state.inverseMatrix}get transposedMatrix(){return this._updateScheduled&&this._doUpdate(),this._transposedMatrixDirty&&(A.transposeMat4(this._state.matrix,this._state.transposedMatrix),this._transposedMatrixDirty=!1),this._state.transposedMatrix}unproject(e,t,s,n,i){const a=this.scene.canvas.canvas,r=a.offsetWidth/2,l=a.offsetHeight/2;return s[0]=(e[0]-r)/r,s[1]=(e[1]-l)/l,s[2]=t,s[3]=1,A.mulMat4v4(this.inverseMatrix,s,n),A.mulVec3Scalar(n,1/n[3]),n[3]=1,n[1]*=-1,A.mulMat4v4(this.camera.inverseViewMatrix,n,i),i}destroy(){super.destroy(),this._state.destroy(),this.scene.canvas.off(this._canvasResized)}}class lt extends S{get type(){return"Ortho"}constructor(e,t={}){super(e,t),this.camera=e,this._state=new it({matrix:A.mat4(),inverseMatrix:A.mat4(),transposedMatrix:A.mat4(),near:.1,far:2e3}),this._inverseMatrixDirty=!0,this._transposedMatrixDirty=!0,this.scale=t.scale,this.near=t.near,this.far=t.far,this._onCanvasBoundary=this.scene.canvas.on("boundary",this._needUpdate,this)}_update(){const e=this.scene,t=.5*this._scale,s=e.canvas.boundary,n=s[2],i=s[3],a=n/i;let r,l,o,c;n>i?(r=-t,l=t,o=t/a,c=-t/a):(r=-t*a,l=t*a,o=t,c=-t),A.orthoMat4c(r,l,c,o,this._state.near,this._state.far,this._state.matrix),this._inverseMatrixDirty=!0,this._transposedMatrixDirty=!0,this.glRedraw(),this.fire("matrix",this._state.matrix)}set scale(e){null==e&&(e=1),e<=0&&(e=.01),this._scale=e,this._needUpdate(0),this.fire("scale",this._scale)}get scale(){return this._scale}set near(e){const t=null!=e?e:.1;this._state.near!==t&&(this._state.near=t,this._needUpdate(0),this.fire("near",this._state.near))}get near(){return this._state.near}set far(e){const t=null!=e?e:2e3;this._state.far!==t&&(this._state.far=t,this._needUpdate(0),this.fire("far",this._state.far))}get far(){return this._state.far}get matrix(){return this._updateScheduled&&this._doUpdate(),this._state.matrix}get inverseMatrix(){return this._updateScheduled&&this._doUpdate(),this._inverseMatrixDirty&&(A.inverseMat4(this._state.matrix,this._state.inverseMatrix),this._inverseMatrixDirty=!1),this._state.inverseMatrix}get transposedMatrix(){return this._updateScheduled&&this._doUpdate(),this._transposedMatrixDirty&&(A.transposeMat4(this._state.matrix,this._state.transposedMatrix),this._transposedMatrixDirty=!1),this._state.transposedMatrix}unproject(e,t,s,n,i){const a=this.scene.canvas.canvas,r=a.offsetWidth/2,l=a.offsetHeight/2;return s[0]=(e[0]-r)/r,s[1]=(e[1]-l)/l,s[2]=t,s[3]=1,A.mulMat4v4(this.inverseMatrix,s,n),A.mulVec3Scalar(n,1/n[3]),n[3]=1,n[1]*=-1,A.mulMat4v4(this.camera.inverseViewMatrix,n,i),i}destroy(){super.destroy(),this._state.destroy(),this.scene.canvas.off(this._onCanvasBoundary)}}class ot extends S{get type(){return"Frustum"}constructor(e,t={}){super(e,t),this.camera=e,this._state=new it({matrix:A.mat4(),inverseMatrix:A.mat4(),transposedMatrix:A.mat4(),near:.1,far:1e4}),this._left=-1,this._right=1,this._bottom=-1,this._top=1,this._inverseMatrixDirty=!0,this._transposedMatrixDirty=!0,this.left=t.left,this.right=t.right,this.bottom=t.bottom,this.top=t.top,this.near=t.near,this.far=t.far}_update(){A.frustumMat4(this._left,this._right,this._bottom,this._top,this._state.near,this._state.far,this._state.matrix),this._inverseMatrixDirty=!0,this._transposedMatrixDirty=!0,this.glRedraw(),this.fire("matrix",this._state.matrix)}set left(e){this._left=null!=e?e:-1,this._needUpdate(0),this.fire("left",this._left)}get left(){return this._left}set right(e){this._right=null!=e?e:1,this._needUpdate(0),this.fire("right",this._right)}get right(){return this._right}set top(e){this._top=null!=e?e:1,this._needUpdate(0),this.fire("top",this._top)}get top(){return this._top}set bottom(e){this._bottom=null!=e?e:-1,this._needUpdate(0),this.fire("bottom",this._bottom)}get bottom(){return this._bottom}set near(e){this._state.near=null!=e?e:.1,this._needUpdate(0),this.fire("near",this._state.near)}get near(){return this._state.near}set far(e){this._state.far=null!=e?e:1e4,this._needUpdate(0),this.fire("far",this._state.far)}get far(){return this._state.far}get matrix(){return this._updateScheduled&&this._doUpdate(),this._state.matrix}get inverseMatrix(){return this._updateScheduled&&this._doUpdate(),this._inverseMatrixDirty&&(A.inverseMat4(this._state.matrix,this._state.inverseMatrix),this._inverseMatrixDirty=!1),this._state.inverseMatrix}get transposedMatrix(){return this._updateScheduled&&this._doUpdate(),this._transposedMatrixDirty&&(A.transposeMat4(this._state.matrix,this._state.transposedMatrix),this._transposedMatrixDirty=!1),this._state.transposedMatrix}unproject(e,t,s,n,i){const a=this.scene.canvas.canvas,r=a.offsetWidth/2,l=a.offsetHeight/2;return s[0]=(e[0]-r)/r,s[1]=(e[1]-l)/l,s[2]=t,s[3]=1,A.mulMat4v4(this.inverseMatrix,s,n),A.mulVec3Scalar(n,1/n[3]),n[3]=1,n[1]*=-1,A.mulMat4v4(this.camera.inverseViewMatrix,n,i),i}destroy(){super.destroy(),this._state.destroy(),super.destroy()}}class ct extends S{get type(){return"CustomProjection"}constructor(e,t={}){super(e,t),this.camera=e,this._state=new it({matrix:A.mat4(),inverseMatrix:A.mat4(),transposedMatrix:A.mat4()}),this._inverseMatrixDirty=!0,this._transposedMatrixDirty=!1,this.matrix=t.matrix}set matrix(e){this._state.matrix.set(e||[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]),this._inverseMatrixDirty=!0,this._transposedMatrixDirty=!0,this.glRedraw(),this.fire("matrix",this._state.matrix)}get matrix(){return this._state.matrix}get inverseMatrix(){return this._updateScheduled&&this._doUpdate(),this._inverseMatrixDirty&&(A.inverseMat4(this._state.matrix,this._state.inverseMatrix),this._inverseMatrixDirty=!1),this._state.inverseMatrix}get transposedMatrix(){return this._updateScheduled&&this._doUpdate(),this._transposedMatrixDirty&&(A.transposeMat4(this._state.matrix,this._state.transposedMatrix),this._transposedMatrixDirty=!1),this._state.transposedMatrix}unproject(e,t,s,n,i){const a=this.scene.canvas.canvas,r=a.offsetWidth/2,l=a.offsetHeight/2;return s[0]=(e[0]-r)/r,s[1]=(e[1]-l)/l,s[2]=t,s[3]=1,A.mulMat4v4(this.inverseMatrix,s,n),A.mulVec3Scalar(n,1/n[3]),n[3]=1,n[1]*=-1,A.mulMat4v4(this.camera.inverseViewMatrix,n,i),i}destroy(){super.destroy(),this._state.destroy()}}const ut=A.vec3(),ht=A.vec3(),pt=A.vec3(),At=A.vec3(),dt=A.vec3(),ft=A.vec3(),It=A.vec4(),yt=A.vec4(),mt=A.vec4(),vt=A.mat4(),wt=A.mat4(),gt=A.vec3(),Et=A.vec3(),Tt=A.vec3(),bt=A.vec3();class Dt extends S{get type(){return"Camera"}constructor(e,t={}){super(e,t),this._state=new it({deviceMatrix:A.mat4(),hasDeviceMatrix:!1,matrix:A.mat4(),normalMatrix:A.mat4(),inverseMatrix:A.mat4()}),this._perspective=new rt(this),this._ortho=new lt(this),this._frustum=new ot(this),this._customProjection=new ct(this),this._project=this._perspective,this._eye=A.vec3([0,0,10]),this._look=A.vec3([0,0,0]),this._up=A.vec3([0,1,0]),this._worldUp=A.vec3([0,1,0]),this._worldRight=A.vec3([1,0,0]),this._worldForward=A.vec3([0,0,-1]),this.deviceMatrix=t.deviceMatrix,this.eye=t.eye,this.look=t.look,this.up=t.up,this.worldAxis=t.worldAxis,this.gimbalLock=t.gimbalLock,this.constrainPitch=t.constrainPitch,this.projection=t.projection,this._perspective.on("matrix",(()=>{"perspective"===this._projectionType&&this.fire("projMatrix",this._perspective.matrix)})),this._ortho.on("matrix",(()=>{"ortho"===this._projectionType&&this.fire("projMatrix",this._ortho.matrix)})),this._frustum.on("matrix",(()=>{"frustum"===this._projectionType&&this.fire("projMatrix",this._frustum.matrix)})),this._customProjection.on("matrix",(()=>{"customProjection"===this._projectionType&&this.fire("projMatrix",this._customProjection.matrix)}))}_update(){const e=this._state;let t;"ortho"===this.projection?(A.subVec3(this._eye,this._look,gt),A.normalizeVec3(gt,Et),A.mulVec3Scalar(Et,1e3,Tt),A.addVec3(this._look,Tt,bt),t=bt):t=this._eye,e.hasDeviceMatrix?(A.lookAtMat4v(t,this._look,this._up,wt),A.mulMat4(e.deviceMatrix,wt,e.matrix)):A.lookAtMat4v(t,this._look,this._up,e.matrix),A.inverseMat4(this._state.matrix,this._state.inverseMatrix),A.transposeMat4(this._state.inverseMatrix,this._state.normalMatrix),this.glRedraw(),this.fire("matrix",this._state.matrix),this.fire("viewMatrix",this._state.matrix)}orbitYaw(e){let t=A.subVec3(this._eye,this._look,ut);A.rotationMat4v(.0174532925*e,this._gimbalLock?this._worldUp:this._up,vt),t=A.transformPoint3(vt,t,ht),this.eye=A.addVec3(this._look,t,pt),this.up=A.transformPoint3(vt,this._up,At)}orbitPitch(e){if(this._constrainPitch&&(e=A.dotVec3(this._up,this._worldUp)/A.DEGTORAD)<1)return;let t=A.subVec3(this._eye,this._look,ut);const s=A.cross3Vec3(A.normalizeVec3(t,ht),A.normalizeVec3(this._up,pt));A.rotationMat4v(.0174532925*e,s,vt),t=A.transformPoint3(vt,t,At),this.up=A.transformPoint3(vt,this._up,dt),this.eye=A.addVec3(t,this._look,ft)}yaw(e){let t=A.subVec3(this._look,this._eye,ut);A.rotationMat4v(.0174532925*e,this._gimbalLock?this._worldUp:this._up,vt),t=A.transformPoint3(vt,t,ht),this.look=A.addVec3(t,this._eye,pt),this._gimbalLock&&(this.up=A.transformPoint3(vt,this._up,At))}pitch(e){if(this._constrainPitch&&(e=A.dotVec3(this._up,this._worldUp)/A.DEGTORAD)<1)return;let t=A.subVec3(this._look,this._eye,ut);const s=A.cross3Vec3(A.normalizeVec3(t,ht),A.normalizeVec3(this._up,pt));A.rotationMat4v(.0174532925*e,s,vt),this.up=A.transformPoint3(vt,this._up,ft),t=A.transformPoint3(vt,t,At),this.look=A.addVec3(t,this._eye,dt)}pan(e){const t=A.subVec3(this._eye,this._look,ut),s=[0,0,0];let n;if(0!==e[0]){const i=A.cross3Vec3(A.normalizeVec3(t,[]),A.normalizeVec3(this._up,ht));n=A.mulVec3Scalar(i,e[0]),s[0]+=n[0],s[1]+=n[1],s[2]+=n[2]}0!==e[1]&&(n=A.mulVec3Scalar(A.normalizeVec3(this._up,pt),e[1]),s[0]+=n[0],s[1]+=n[1],s[2]+=n[2]),0!==e[2]&&(n=A.mulVec3Scalar(A.normalizeVec3(t,At),e[2]),s[0]+=n[0],s[1]+=n[1],s[2]+=n[2]),this.eye=A.addVec3(this._eye,s,dt),this.look=A.addVec3(this._look,s,ft)}zoom(e){const t=A.subVec3(this._eye,this._look,ut),s=Math.abs(A.lenVec3(t,ht)),n=Math.abs(s+e);if(n<.5)return;const i=A.normalizeVec3(t,pt);this.eye=A.addVec3(this._look,A.mulVec3Scalar(i,n),At)}set eye(e){this._eye.set(e||[0,0,10]),this._needUpdate(0),this.fire("eye",this._eye)}get eye(){return this._eye}set look(e){this._look.set(e||[0,0,0]),this._needUpdate(0),this.fire("look",this._look)}get look(){return this._look}set up(e){this._up.set(e||[0,1,0]),this._needUpdate(0),this.fire("up",this._up)}get up(){return this._up}set deviceMatrix(e){this._state.deviceMatrix.set(e||[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]),this._state.hasDeviceMatrix=!!e,this._needUpdate(0),this.fire("deviceMatrix",this._state.deviceMatrix)}get deviceMatrix(){return this._state.deviceMatrix}set worldAxis(e){e=e||[1,0,0,0,1,0,0,0,1],this._worldAxis?this._worldAxis.set(e):this._worldAxis=A.vec3(e),this._worldRight[0]=this._worldAxis[0],this._worldRight[1]=this._worldAxis[1],this._worldRight[2]=this._worldAxis[2],this._worldUp[0]=this._worldAxis[3],this._worldUp[1]=this._worldAxis[4],this._worldUp[2]=this._worldAxis[5],this._worldForward[0]=this._worldAxis[6],this._worldForward[1]=this._worldAxis[7],this._worldForward[2]=this._worldAxis[8],this.fire("worldAxis",this._worldAxis)}get worldAxis(){return this._worldAxis}get worldUp(){return this._worldUp}get xUp(){return this._worldUp[0]>this._worldUp[1]&&this._worldUp[0]>this._worldUp[2]}get yUp(){return this._worldUp[1]>this._worldUp[0]&&this._worldUp[1]>this._worldUp[2]}get zUp(){return this._worldUp[2]>this._worldUp[0]&&this._worldUp[2]>this._worldUp[1]}get worldRight(){return this._worldRight}get worldForward(){return this._worldForward}set gimbalLock(e){this._gimbalLock=!1!==e,this.fire("gimbalLock",this._gimbalLock)}get gimbalLock(){return this._gimbalLock}set constrainPitch(e){this._constrainPitch=!!e,this.fire("constrainPitch",this._constrainPitch)}get eyeLookDist(){return A.lenVec3(A.subVec3(this._look,this._eye,ut))}get matrix(){return this._updateScheduled&&this._doUpdate(),this._state.matrix}get viewMatrix(){return this._updateScheduled&&this._doUpdate(),this._state.matrix}get normalMatrix(){return this._updateScheduled&&this._doUpdate(),this._state.normalMatrix}get viewNormalMatrix(){return this._updateScheduled&&this._doUpdate(),this._state.normalMatrix}get inverseViewMatrix(){return this._updateScheduled&&this._doUpdate(),this._state.inverseMatrix}get projMatrix(){return this[this.projection].matrix}get perspective(){return this._perspective}get ortho(){return this._ortho}get frustum(){return this._frustum}get customProjection(){return this._customProjection}set projection(e){e=e||"perspective",this._projectionType!==e&&("perspective"===e?this._project=this._perspective:"ortho"===e?this._project=this._ortho:"frustum"===e?this._project=this._frustum:"customProjection"===e?this._project=this._customProjection:(this.error("Unsupported value for 'projection': "+e+" defaulting to 'perspective'"),this._project=this._perspective,e="perspective"),this._project._update(),this._projectionType=e,this.glRedraw(),this._update(),this.fire("dirty"),this.fire("projection",this._projectionType),this.fire("projMatrix",this._project.matrix))}get projection(){return this._projectionType}get project(){return this._project}projectWorldPos(e){const t=It,s=yt,n=mt;t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=1,A.mulMat4v4(this.viewMatrix,t,s),A.mulMat4v4(this.projMatrix,s,n),A.mulVec3Scalar(n,1/n[3]),n[3]=1,n[1]*=-1;const i=this.scene.canvas.canvas,a=i.offsetWidth/2,r=i.offsetHeight/2;return[n[0]*a+a,n[1]*r+r]}destroy(){super.destroy(),this._state.destroy()}}class Pt extends S{get type(){return"Light"}get isLight(){return!0}constructor(e,t={}){super(e,t)}}class Rt extends Pt{get type(){return"DirLight"}constructor(e,t={}){super(e,t),this._shadowRenderBuf=null,this._shadowViewMatrix=null,this._shadowProjMatrix=null,this._shadowViewMatrixDirty=!0,this._shadowProjMatrixDirty=!0;const s=this.scene.camera,n=this.scene.canvas;this._onCameraViewMatrix=s.on("viewMatrix",(()=>{this._shadowViewMatrixDirty=!0})),this._onCameraProjMatrix=s.on("projMatrix",(()=>{this._shadowProjMatrixDirty=!0})),this._onCanvasBoundary=n.on("boundary",(()=>{this._shadowProjMatrixDirty=!0})),this._state=new it({type:"dir",dir:A.vec3([1,1,1]),color:A.vec3([.7,.7,.8]),intensity:1,space:t.space||"view",castsShadow:!1,getShadowViewMatrix:()=>{if(this._shadowViewMatrixDirty){this._shadowViewMatrix||(this._shadowViewMatrix=A.identityMat4());const e=this.scene.camera,t=this._state.dir,s=e.look,n=[s[0]-t[0],s[1]-t[1],s[2]-t[2]],i=[0,1,0];A.lookAtMat4v(n,s,i,this._shadowViewMatrix),this._shadowViewMatrixDirty=!1}return this._shadowViewMatrix},getShadowProjMatrix:()=>(this._shadowProjMatrixDirty&&(this._shadowProjMatrix||(this._shadowProjMatrix=A.identityMat4()),A.orthoMat4c(-40,40,-40,40,-40,80,this._shadowProjMatrix),this._shadowProjMatrixDirty=!1),this._shadowProjMatrix),getShadowRenderBuf:()=>(this._shadowRenderBuf||(this._shadowRenderBuf=new Ze(this.scene.canvas.canvas,this.scene.canvas.gl,{size:[1024,1024]})),this._shadowRenderBuf)}),this.dir=t.dir,this.color=t.color,this.intensity=t.intensity,this.castsShadow=t.castsShadow,this.scene._lightCreated(this)}set dir(e){this._state.dir.set(e||[1,1,1]),this._shadowViewMatrixDirty=!0,this.glRedraw()}get dir(){return this._state.dir}set color(e){this._state.color.set(e||[.7,.7,.8]),this.glRedraw()}get color(){return this._state.color}set intensity(e){e=void 0!==e?e:1,this._state.intensity=e,this.glRedraw()}get intensity(){return this._state.intensity}set castsShadow(e){e=!!e,this._state.castsShadow!==e&&(this._state.castsShadow=e,this._shadowViewMatrixDirty=!0,this.glRedraw())}get castsShadow(){return this._state.castsShadow}destroy(){const e=this.scene.camera,t=this.scene.canvas;e.off(this._onCameraViewMatrix),e.off(this._onCameraProjMatrix),t.off(this._onCanvasBoundary),super.destroy(),this._state.destroy(),this._shadowRenderBuf&&this._shadowRenderBuf.destroy(),this.scene._lightDestroyed(this),this.glRedraw()}}class Ct extends Pt{get type(){return"AmbientLight"}constructor(e,t={}){super(e,t),this._state={type:"ambient",color:A.vec3([.7,.7,.7]),intensity:1},this.color=t.color,this.intensity=t.intensity,this.scene._lightCreated(this)}set color(e){this._state.color.set(e||[.7,.7,.8]),this.glRedraw()}get color(){return this._state.color}set intensity(e){this._state.intensity=void 0!==e?e:1,this.glRedraw()}get intensity(){return this._state.intensity}destroy(){super.destroy(),this.scene._lightDestroyed(this)}}class _t extends S{get type(){return"Geometry"}get isGeometry(){return!0}constructor(e,t={}){super(e,t),y.memory.meshes++}destroy(){super.destroy(),y.memory.meshes--}}var Bt=function(){const e=[],t=[],s=[],n=[],i=[];let a=0;const r=new Uint16Array(3),l=new Uint16Array(3),o=new Uint16Array(3),c=A.vec3(),u=A.vec3(),h=A.vec3(),p=A.vec3(),d=A.vec3(),f=A.vec3(),I=A.vec3();return function(y,m,v,w){!function(i,a){const r={};let l,o,c,u;const h=Math.pow(10,4);let p,A,d=0;for(p=0,A=i.length;pE)||(N=s[_.index1],x=s[_.index2],(!L&&N>65535||x>65535)&&(L=!0),g.push(N),g.push(x));return L?new Uint32Array(g):new Uint16Array(g)}}();const Ot=function(){const e=A.mat4(),t=A.mat4();return function(s,n){n=n||A.mat4();const i=s[0],a=s[1],r=s[2],l=s[3]-i,o=s[4]-a,c=s[5]-r,u=65535;return A.identityMat4(e),A.translationMat4v(s,e),A.identityMat4(t),A.scalingMat4v([l/u,o/u,c/u],t),A.mulMat4(e,t,n),n}}();var St=function(){const e=A.mat4(),t=A.mat4();return function(s,n,i){const a=new Uint16Array(s.length),r=new Float32Array([i[0]!==n[0]?65535/(i[0]-n[0]):0,i[1]!==n[1]?65535/(i[1]-n[1]):0,i[2]!==n[2]?65535/(i[2]-n[2]):0]);let l;for(l=0;l=0?1:-1),t=(1-Math.abs(i))*(a>=0?1:-1);i=e,a=t}return new Int8Array([Math[s](127.5*i+(i<0?-1:0)),Math[n](127.5*a+(a<0?-1:0))])}function Lt(e){let t=e[0],s=e[1];t/=t<0?127:128,s/=s<0?127:128;const n=1-Math.abs(t)-Math.abs(s);n<0&&(t=(1-Math.abs(s))*(t>=0?1:-1),s=(1-Math.abs(t))*(s>=0?1:-1));const i=Math.sqrt(t*t+s*s+n*n);return[t/i,s/i,n/i]}function Mt(e,t,s){return e[t]*s[0]+e[t+1]*s[1]+e[t+2]*s[2]}const Ft={getPositionsBounds:function(e){const t=new Float32Array(3),s=new Float32Array(3);let n,i;for(n=0;n<3;n++)t[n]=Number.MAX_VALUE,s[n]=-Number.MAX_VALUE;for(n=0;nr&&(i=s,r=a),s=xt(e,l,"floor","ceil"),n=Lt(s),a=Mt(e,l,n),a>r&&(i=s,r=a),s=xt(e,l,"ceil","ceil"),n=Lt(s),a=Mt(e,l,n),a>r&&(i=s,r=a),t[l]=i[0],t[l+1]=i[1];return t},decompressNormals:function(e,t){for(let s=0,n=0,i=e.length;s=0?1:-1),a=(1-Math.abs(i))*(a>=0?1:-1));const l=Math.sqrt(i*i+a*a+r*r);t[n+0]=i/l,t[n+1]=a/l,t[n+2]=r/l,n+=3}return t},decompressNormal:function(e,t){let s=e[0],n=e[1];s=(2*s+1)/255,n=(2*n+1)/255;const i=1-Math.abs(s)-Math.abs(n);i<0&&(s=(1-Math.abs(n))*(s>=0?1:-1),n=(1-Math.abs(s))*(n>=0?1:-1));const a=Math.sqrt(s*s+n*n+i*i);return t[0]=s/a,t[1]=n/a,t[2]=i/a,t}},Ht=y.memory,Ut=A.AABB3();class Gt extends _t{get type(){return"ReadableGeometry"}get isReadableGeometry(){return!0}constructor(e,t={}){super(e,t),this._state=new it({compressGeometry:!!t.compressGeometry,primitive:null,primitiveName:null,positions:null,normals:null,colors:null,uv:null,indices:null,positionsDecodeMatrix:null,uvDecodeMatrix:null,positionsBuf:null,normalsBuf:null,colorsbuf:null,uvBuf:null,indicesBuf:null,hash:""}),this._numTriangles=0,this._edgeThreshold=t.edgeThreshold||10,this._edgeIndicesBuf=null,this._pickTrianglePositionsBuf=null,this._pickTriangleColorsBuf=null,this._aabbDirty=!0,this._boundingSphere=!0,this._aabb=null,this._aabbDirty=!0,this._obb=null,this._obbDirty=!0;const s=this._state,n=this.scene.canvas.gl;switch(t.primitive=t.primitive||"triangles",t.primitive){case"points":s.primitive=n.POINTS,s.primitiveName=t.primitive;break;case"lines":s.primitive=n.LINES,s.primitiveName=t.primitive;break;case"line-loop":s.primitive=n.LINE_LOOP,s.primitiveName=t.primitive;break;case"line-strip":s.primitive=n.LINE_STRIP,s.primitiveName=t.primitive;break;case"triangles":s.primitive=n.TRIANGLES,s.primitiveName=t.primitive;break;case"triangle-strip":s.primitive=n.TRIANGLE_STRIP,s.primitiveName=t.primitive;break;case"triangle-fan":s.primitive=n.TRIANGLE_FAN,s.primitiveName=t.primitive;break;default:this.error("Unsupported value for 'primitive': '"+t.primitive+"' - supported values are 'points', 'lines', 'line-loop', 'line-strip', 'triangles', 'triangle-strip' and 'triangle-fan'. Defaulting to 'triangles'."),s.primitive=n.TRIANGLES,s.primitiveName=t.primitive}if(t.positions)if(this._state.compressGeometry){const e=Ft.getPositionsBounds(t.positions),n=Ft.compressPositions(t.positions,e.min,e.max);s.positions=n.quantized,s.positionsDecodeMatrix=n.decodeMatrix}else s.positions=t.positions.constructor===Float32Array?t.positions:new Float32Array(t.positions);if(t.colors&&(s.colors=t.colors.constructor===Float32Array?t.colors:new Float32Array(t.colors)),t.uv)if(this._state.compressGeometry){const e=Ft.getUVBounds(t.uv),n=Ft.compressUVs(t.uv,e.min,e.max);s.uv=n.quantized,s.uvDecodeMatrix=n.decodeMatrix}else s.uv=t.uv.constructor===Float32Array?t.uv:new Float32Array(t.uv);t.normals&&(this._state.compressGeometry?s.normals=Ft.compressNormals(t.normals):s.normals=t.normals.constructor===Float32Array?t.normals:new Float32Array(t.normals)),t.indices&&(s.indices=t.indices.constructor===Uint32Array||t.indices.constructor===Uint16Array?t.indices:new Uint32Array(t.indices),"triangles"===this._state.primitiveName&&(this._numTriangles=t.indices.length/3)),this._buildHash(),Ht.meshes++,this._buildVBOs()}_buildVBOs(){const e=this._state,t=this.scene.canvas.gl;if(e.indices&&(e.indicesBuf=new He(t,t.ELEMENT_ARRAY_BUFFER,e.indices,e.indices.length,1,t.STATIC_DRAW),Ht.indices+=e.indicesBuf.numItems),e.positions&&(e.positionsBuf=new He(t,t.ARRAY_BUFFER,e.positions,e.positions.length,3,t.STATIC_DRAW),Ht.positions+=e.positionsBuf.numItems),e.normals){let s=e.compressGeometry;e.normalsBuf=new He(t,t.ARRAY_BUFFER,e.normals,e.normals.length,3,t.STATIC_DRAW,s),Ht.normals+=e.normalsBuf.numItems}e.colors&&(e.colorsBuf=new He(t,t.ARRAY_BUFFER,e.colors,e.colors.length,4,t.STATIC_DRAW),Ht.colors+=e.colorsBuf.numItems),e.uv&&(e.uvBuf=new He(t,t.ARRAY_BUFFER,e.uv,e.uv.length,2,t.STATIC_DRAW),Ht.uvs+=e.uvBuf.numItems)}_buildHash(){const e=this._state,t=["/g"];t.push("/"+e.primitive+";"),e.positions&&t.push("p"),e.colors&&t.push("c"),(e.normals||e.autoVertexNormals)&&t.push("n"),e.uv&&t.push("u"),e.compressGeometry&&t.push("cp"),t.push(";"),e.hash=t.join("")}_getEdgeIndices(){return this._edgeIndicesBuf||this._buildEdgeIndices(),this._edgeIndicesBuf}_getPickTrianglePositions(){return this._pickTrianglePositionsBuf||this._buildPickTriangleVBOs(),this._pickTrianglePositionsBuf}_getPickTriangleColors(){return this._pickTriangleColorsBuf||this._buildPickTriangleVBOs(),this._pickTriangleColorsBuf}_buildEdgeIndices(){const e=this._state;if(!e.positions||!e.indices)return;const t=this.scene.canvas.gl,s=Bt(e.positions,e.indices,e.positionsDecodeMatrix,this._edgeThreshold);this._edgeIndicesBuf=new He(t,t.ELEMENT_ARRAY_BUFFER,s,s.length,1,t.STATIC_DRAW),Ht.indices+=this._edgeIndicesBuf.numItems}_buildPickTriangleVBOs(){const e=this._state;if(!e.positions||!e.indices)return;const t=this.scene.canvas.gl,s=A.buildPickTriangles(e.positions,e.indices,e.compressGeometry),n=s.positions,i=s.colors;this._pickTrianglePositionsBuf=new He(t,t.ARRAY_BUFFER,n,n.length,3,t.STATIC_DRAW),this._pickTriangleColorsBuf=new He(t,t.ARRAY_BUFFER,i,i.length,4,t.STATIC_DRAW,!0),Ht.positions+=this._pickTrianglePositionsBuf.numItems,Ht.colors+=this._pickTriangleColorsBuf.numItems}_buildPickVertexVBOs(){}_webglContextLost(){this._sceneVertexBufs&&this._sceneVertexBufs.webglContextLost()}_webglContextRestored(){this._sceneVertexBufs&&this._sceneVertexBufs.webglContextRestored(),this._buildVBOs(),this._edgeIndicesBuf=null,this._pickVertexPositionsBuf=null,this._pickTrianglePositionsBuf=null,this._pickTriangleColorsBuf=null,this._pickVertexPositionsBuf=null,this._pickVertexColorsBuf=null}get primitive(){return this._state.primitiveName}get compressGeometry(){return this._state.compressGeometry}get positions(){return this._state.positions?this._state.compressGeometry?(this._decompressedPositions||(this._decompressedPositions=new Float32Array(this._state.positions.length),Ft.decompressPositions(this._state.positions,this._state.positionsDecodeMatrix,this._decompressedPositions)),this._decompressedPositions):this._state.positions:null}set positions(e){const t=this._state,s=t.positions;if(s)if(s.length===e.length){if(this._state.compressGeometry){const s=Ft.getPositionsBounds(e),n=Ft.compressPositions(e,s.min,s.max);e=n.quantized,t.positionsDecodeMatrix=n.decodeMatrix}s.set(e),t.positionsBuf&&t.positionsBuf.setData(s),this._setAABBDirty(),this.glRedraw()}else this.error("can't update geometry positions - new positions are wrong length");else this.error("can't update geometry positions - geometry has no positions")}get normals(){if(this._state.normals){if(!this._state.compressGeometry)return this._state.normals;if(!this._decompressedNormals){const e=this._state.normals.length,t=e+e/2;this._decompressedNormals=new Float32Array(t),Ft.decompressNormals(this._state.normals,this._decompressedNormals)}return this._decompressedNormals}}set normals(e){if(this._state.compressGeometry)return void this.error("can't update geometry normals - quantized geometry is immutable");const t=this._state,s=t.normals;s?s.length===e.length?(s.set(e),t.normalsBuf&&t.normalsBuf.setData(s),this.glRedraw()):this.error("can't update geometry normals - new normals are wrong length"):this.error("can't update geometry normals - geometry has no normals")}get uv(){return this._state.uv?this._state.compressGeometry?(this._decompressedUV||(this._decompressedUV=new Float32Array(this._state.uv.length),Ft.decompressUVs(this._state.uv,this._state.uvDecodeMatrix,this._decompressedUV)),this._decompressedUV):this._state.uv:null}set uv(e){if(this._state.compressGeometry)return void this.error("can't update geometry UVs - quantized geometry is immutable");const t=this._state,s=t.uv;s?s.length===e.length?(s.set(e),t.uvBuf&&t.uvBuf.setData(s),this.glRedraw()):this.error("can't update geometry UVs - new UVs are wrong length"):this.error("can't update geometry UVs - geometry has no UVs")}get colors(){return this._state.colors}set colors(e){if(this._state.compressGeometry)return void this.error("can't update geometry colors - quantized geometry is immutable");const t=this._state,s=t.colors;s?s.length===e.length?(s.set(e),t.colorsBuf&&t.colorsBuf.setData(s),this.glRedraw()):this.error("can't update geometry colors - new colors are wrong length"):this.error("can't update geometry colors - geometry has no colors")}get indices(){return this._state.indices}get aabb(){return this._aabbDirty&&(this._aabb||(this._aabb=A.AABB3()),A.positions3ToAABB3(this._state.positions,this._aabb,this._state.positionsDecodeMatrix),this._aabbDirty=!1),this._aabb}get obb(){return this._obbDirty&&(this._obb||(this._obb=A.OBB3()),A.positions3ToAABB3(this._state.positions,Ut,this._state.positionsDecodeMatrix),A.AABB3ToOBB3(Ut,this._obb),this._obbDirty=!1),this._obb}get numTriangles(){return this._numTriangles}_setAABBDirty(){this._aabbDirty||(this._aabbDirty=!0,this._aabbDirty=!0,this._obbDirty=!0)}_getState(){return this._state}destroy(){super.destroy();const e=this._state;e.indicesBuf&&e.indicesBuf.destroy(),e.positionsBuf&&e.positionsBuf.destroy(),e.normalsBuf&&e.normalsBuf.destroy(),e.uvBuf&&e.uvBuf.destroy(),e.colorsBuf&&e.colorsBuf.destroy(),this._edgeIndicesBuf&&this._edgeIndicesBuf.destroy(),this._pickTrianglePositionsBuf&&this._pickTrianglePositionsBuf.destroy(),this._pickTriangleColorsBuf&&this._pickTriangleColorsBuf.destroy(),this._pickVertexPositionsBuf&&this._pickVertexPositionsBuf.destroy(),this._pickVertexColorsBuf&&this._pickVertexColorsBuf.destroy(),e.destroy(),Ht.meshes--}}function jt(e={}){let t=e.xSize||1;t<0&&(console.error("negative xSize not allowed - will invert"),t*=-1);let s=e.ySize||1;s<0&&(console.error("negative ySize not allowed - will invert"),s*=-1);let n=e.zSize||1;n<0&&(console.error("negative zSize not allowed - will invert"),n*=-1);const i=e.center,a=i?i[0]:0,r=i?i[1]:0,l=i?i[2]:0,o=-t+a,c=-s+r,u=-n+l,h=t+a,p=s+r,A=n+l;return g.apply(e,{positions:[h,p,A,o,p,A,o,c,A,h,c,A,h,p,A,h,c,A,h,c,u,h,p,u,h,p,A,h,p,u,o,p,u,o,p,A,o,p,A,o,p,u,o,c,u,o,c,A,o,c,u,h,c,u,h,c,A,o,c,A,h,c,u,o,c,u,o,p,u,h,p,u],normals:[0,0,1,0,0,1,0,0,1,0,0,1,1,0,0,1,0,0,1,0,0,1,0,0,0,1,0,0,1,0,0,1,0,0,1,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,0,-1,0,0,-1,0,0,-1,0,0,-1],uv:[1,0,0,0,0,1,1,1,0,0,0,1,1,1,1,0,1,1,1,0,0,0,0,1,1,0,0,0,0,1,1,1,0,1,1,1,1,0,0,0,0,1,1,1,1,0,0,0],indices:[0,1,2,0,2,3,4,5,6,4,6,7,8,9,10,8,10,11,12,13,14,12,14,15,16,17,18,16,18,19,20,21,22,20,22,23]})}class Vt extends S{get type(){return"Material"}constructor(e,t={}){super(e,t),y.memory.materials++}destroy(){super.destroy(),y.memory.materials--}}const kt={opaque:0,mask:1,blend:2},Qt=["opaque","mask","blend"];class Wt extends Vt{get type(){return"PhongMaterial"}constructor(e,t={}){super(e,t),this._state=new it({type:"PhongMaterial",ambient:A.vec3([1,1,1]),diffuse:A.vec3([1,1,1]),specular:A.vec3([1,1,1]),emissive:A.vec3([0,0,0]),alpha:null,shininess:null,reflectivity:null,alphaMode:null,alphaCutoff:null,lineWidth:null,pointSize:null,backfaces:null,frontface:null,hash:null}),this.ambient=t.ambient,this.diffuse=t.diffuse,this.specular=t.specular,this.emissive=t.emissive,this.alpha=t.alpha,this.shininess=t.shininess,this.reflectivity=t.reflectivity,this.lineWidth=t.lineWidth,this.pointSize=t.pointSize,t.ambientMap&&(this._ambientMap=this._checkComponent("Texture",t.ambientMap)),t.diffuseMap&&(this._diffuseMap=this._checkComponent("Texture",t.diffuseMap)),t.specularMap&&(this._specularMap=this._checkComponent("Texture",t.specularMap)),t.emissiveMap&&(this._emissiveMap=this._checkComponent("Texture",t.emissiveMap)),t.alphaMap&&(this._alphaMap=this._checkComponent("Texture",t.alphaMap)),t.reflectivityMap&&(this._reflectivityMap=this._checkComponent("Texture",t.reflectivityMap)),t.normalMap&&(this._normalMap=this._checkComponent("Texture",t.normalMap)),t.occlusionMap&&(this._occlusionMap=this._checkComponent("Texture",t.occlusionMap)),t.diffuseFresnel&&(this._diffuseFresnel=this._checkComponent("Fresnel",t.diffuseFresnel)),t.specularFresnel&&(this._specularFresnel=this._checkComponent("Fresnel",t.specularFresnel)),t.emissiveFresnel&&(this._emissiveFresnel=this._checkComponent("Fresnel",t.emissiveFresnel)),t.alphaFresnel&&(this._alphaFresnel=this._checkComponent("Fresnel",t.alphaFresnel)),t.reflectivityFresnel&&(this._reflectivityFresnel=this._checkComponent("Fresnel",t.reflectivityFresnel)),this.alphaMode=t.alphaMode,this.alphaCutoff=t.alphaCutoff,this.backfaces=t.backfaces,this.frontface=t.frontface,this._makeHash()}_makeHash(){const e=this._state,t=["/p"];this._normalMap&&(t.push("/nm"),this._normalMap.hasMatrix&&t.push("/mat")),this._ambientMap&&(t.push("/am"),this._ambientMap.hasMatrix&&t.push("/mat"),t.push("/"+this._ambientMap.encoding)),this._diffuseMap&&(t.push("/dm"),this._diffuseMap.hasMatrix&&t.push("/mat"),t.push("/"+this._diffuseMap.encoding)),this._specularMap&&(t.push("/sm"),this._specularMap.hasMatrix&&t.push("/mat")),this._emissiveMap&&(t.push("/em"),this._emissiveMap.hasMatrix&&t.push("/mat"),t.push("/"+this._emissiveMap.encoding)),this._alphaMap&&(t.push("/opm"),this._alphaMap.hasMatrix&&t.push("/mat")),this._reflectivityMap&&(t.push("/rm"),this._reflectivityMap.hasMatrix&&t.push("/mat")),this._occlusionMap&&(t.push("/ocm"),this._occlusionMap.hasMatrix&&t.push("/mat")),this._diffuseFresnel&&t.push("/df"),this._specularFresnel&&t.push("/sf"),this._emissiveFresnel&&t.push("/ef"),this._alphaFresnel&&t.push("/of"),this._reflectivityFresnel&&t.push("/rf"),t.push(";"),e.hash=t.join("")}set ambient(e){let t=this._state.ambient;if(t){if(e&&t[0]===e[0]&&t[1]===e[1]&&t[2]===e[2])return}else t=this._state.ambient=new Float32Array(3);e?(t[0]=e[0],t[1]=e[1],t[2]=e[2]):(t[0]=.2,t[1]=.2,t[2]=.2),this.glRedraw()}get ambient(){return this._state.ambient}set diffuse(e){let t=this._state.diffuse;if(t){if(e&&t[0]===e[0]&&t[1]===e[1]&&t[2]===e[2])return}else t=this._state.diffuse=new Float32Array(3);e?(t[0]=e[0],t[1]=e[1],t[2]=e[2]):(t[0]=1,t[1]=1,t[2]=1),this.glRedraw()}get diffuse(){return this._state.diffuse}set specular(e){let t=this._state.specular;if(t){if(e&&t[0]===e[0]&&t[1]===e[1]&&t[2]===e[2])return}else t=this._state.specular=new Float32Array(3);e?(t[0]=e[0],t[1]=e[1],t[2]=e[2]):(t[0]=1,t[1]=1,t[2]=1),this.glRedraw()}get specular(){return this._state.specular}set emissive(e){let t=this._state.emissive;if(t){if(e&&t[0]===e[0]&&t[1]===e[1]&&t[2]===e[2])return}else t=this._state.emissive=new Float32Array(3);e?(t[0]=e[0],t[1]=e[1],t[2]=e[2]):(t[0]=0,t[1]=0,t[2]=0),this.glRedraw()}get emissive(){return this._state.emissive}set alpha(e){e=null!=e?e:1,this._state.alpha!==e&&(this._state.alpha=e,this.glRedraw())}get alpha(){return this._state.alpha}set shininess(e){this._state.shininess=void 0!==e?e:80,this.glRedraw()}get shininess(){return this._state.shininess}set lineWidth(e){this._state.lineWidth=e||1,this.glRedraw()}get lineWidth(){return this._state.lineWidth}set pointSize(e){this._state.pointSize=e||1,this.glRedraw()}get pointSize(){return this._state.pointSize}set reflectivity(e){this._state.reflectivity=void 0!==e?e:1,this.glRedraw()}get reflectivity(){return this._state.reflectivity}get normalMap(){return this._normalMap}get ambientMap(){return this._ambientMap}get diffuseMap(){return this._diffuseMap}get specularMap(){return this._specularMap}get emissiveMap(){return this._emissiveMap}get alphaMap(){return this._alphaMap}get reflectivityMap(){return this._reflectivityMap}get occlusionMap(){return this._occlusionMap}get diffuseFresnel(){return this._diffuseFresnel}get specularFresnel(){return this._specularFresnel}get emissiveFresnel(){return this._emissiveFresnel}get alphaFresnel(){return this._alphaFresnel}get reflectivityFresnel(){return this._reflectivityFresnel}set alphaMode(e){let t=kt[e=e||"opaque"];void 0===t&&(this.error("Unsupported value for 'alphaMode': "+e+" - defaulting to 'opaque'"),t="opaque"),this._state.alphaMode!==t&&(this._state.alphaMode=t,this.glRedraw())}get alphaMode(){return Qt[this._state.alphaMode]}set alphaCutoff(e){null==e&&(e=.5),this._state.alphaCutoff!==e&&(this._state.alphaCutoff=e)}get alphaCutoff(){return this._state.alphaCutoff}set backfaces(e){e=!!e,this._state.backfaces!==e&&(this._state.backfaces=e,this.glRedraw())}get backfaces(){return this._state.backfaces}set frontface(e){e="cw"!==e,this._state.frontface!==e&&(this._state.frontface=e,this.glRedraw())}get frontface(){return this._state.frontface?"ccw":"cw"}destroy(){super.destroy(),this._state.destroy()}}const zt={default:{fill:!0,fillColor:[.4,.4,.4],fillAlpha:.2,edges:!0,edgeColor:[.2,.2,.2],edgeAlpha:.5,edgeWidth:1},defaultWhiteBG:{fill:!0,fillColor:[1,1,1],fillAlpha:.6,edgeColor:[.2,.2,.2],edgeAlpha:1,edgeWidth:1},defaultLightBG:{fill:!0,fillColor:[.4,.4,.4],fillAlpha:.2,edges:!0,edgeColor:[.2,.2,.2],edgeAlpha:.5,edgeWidth:1},defaultDarkBG:{fill:!0,fillColor:[.4,.4,.4],fillAlpha:.2,edges:!0,edgeColor:[.5,.5,.5],edgeAlpha:.5,edgeWidth:1},phosphorous:{fill:!0,fillColor:[0,0,0],fillAlpha:.4,edges:!0,edgeColor:[.9,.9,.9],edgeAlpha:.5,edgeWidth:2},sunset:{fill:!0,fillColor:[.9,.9,.6],fillAlpha:.2,edges:!0,edgeColor:[.9,.9,.9],edgeAlpha:.5,edgeWidth:1},vectorscope:{fill:!0,fillColor:[0,0,0],fillAlpha:.7,edges:!0,edgeColor:[.2,1,.2],edgeAlpha:1,edgeWidth:2},battlezone:{fill:!0,fillColor:[0,0,0],fillAlpha:1,edges:!0,edgeColor:[.2,1,.2],edgeAlpha:1,edgeWidth:3},sepia:{fill:!0,fillColor:[.970588207244873,.7965892553329468,.6660899519920349],fillAlpha:.4,edges:!0,edgeColor:[.529411792755127,.4577854573726654,.4100345969200134],edgeAlpha:1,edgeWidth:1},yellowHighlight:{fill:!0,fillColor:[1,1,0],fillAlpha:.5,edges:!0,edgeColor:[1,1,1],edgeAlpha:1,edgeWidth:1},greenSelected:{fill:!0,fillColor:[0,1,0],fillAlpha:.5,edges:!0,edgeColor:[1,1,1],edgeAlpha:1,edgeWidth:1},gamegrid:{fill:!0,fillColor:[.2,.2,.7],fillAlpha:.9,edges:!0,edgeColor:[.4,.4,1.6],edgeAlpha:.8,edgeWidth:3}};class Kt extends Vt{get type(){return"EmphasisMaterial"}get presets(){return zt}constructor(e,t={}){super(e,t),this._state=new it({type:"EmphasisMaterial",fill:null,fillColor:null,fillAlpha:null,edges:null,edgeColor:null,edgeAlpha:null,edgeWidth:null,backfaces:!0,glowThrough:!0}),this._preset="default",t.preset?(this.preset=t.preset,void 0!==t.fill&&(this.fill=t.fill),t.fillColor&&(this.fillColor=t.fillColor),void 0!==t.fillAlpha&&(this.fillAlpha=t.fillAlpha),void 0!==t.edges&&(this.edges=t.edges),t.edgeColor&&(this.edgeColor=t.edgeColor),void 0!==t.edgeAlpha&&(this.edgeAlpha=t.edgeAlpha),void 0!==t.edgeWidth&&(this.edgeWidth=t.edgeWidth),void 0!==t.backfaces&&(this.backfaces=t.backfaces),void 0!==t.glowThrough&&(this.glowThrough=t.glowThrough)):(this.fill=t.fill,this.fillColor=t.fillColor,this.fillAlpha=t.fillAlpha,this.edges=t.edges,this.edgeColor=t.edgeColor,this.edgeAlpha=t.edgeAlpha,this.edgeWidth=t.edgeWidth,this.backfaces=t.backfaces,this.glowThrough=t.glowThrough)}set fill(e){e=!1!==e,this._state.fill!==e&&(this._state.fill=e,this.glRedraw())}get fill(){return this._state.fill}set fillColor(e){let t=this._state.fillColor;if(t){if(e&&t[0]===e[0]&&t[1]===e[1]&&t[2]===e[2])return}else t=this._state.fillColor=new Float32Array(3);e?(t[0]=e[0],t[1]=e[1],t[2]=e[2]):(t[0]=.4,t[1]=.4,t[2]=.4),this.glRedraw()}get fillColor(){return this._state.fillColor}set fillAlpha(e){e=null!=e?e:.2,this._state.fillAlpha!==e&&(this._state.fillAlpha=e,this.glRedraw())}get fillAlpha(){return this._state.fillAlpha}set edges(e){e=!1!==e,this._state.edges!==e&&(this._state.edges=e,this.glRedraw())}get edges(){return this._state.edges}set edgeColor(e){let t=this._state.edgeColor;if(t){if(e&&t[0]===e[0]&&t[1]===e[1]&&t[2]===e[2])return}else t=this._state.edgeColor=new Float32Array(3);e?(t[0]=e[0],t[1]=e[1],t[2]=e[2]):(t[0]=.2,t[1]=.2,t[2]=.2),this.glRedraw()}get edgeColor(){return this._state.edgeColor}set edgeAlpha(e){e=null!=e?e:.5,this._state.edgeAlpha!==e&&(this._state.edgeAlpha=e,this.glRedraw())}get edgeAlpha(){return this._state.edgeAlpha}set edgeWidth(e){this._state.edgeWidth=e||1,this.glRedraw()}get edgeWidth(){return this._state.edgeWidth}set backfaces(e){e=!!e,this._state.backfaces!==e&&(this._state.backfaces=e,this.glRedraw())}get backfaces(){return this._state.backfaces}set glowThrough(e){e=!1!==e,this._state.glowThrough!==e&&(this._state.glowThrough=e,this.glRedraw())}get glowThrough(){return this._state.glowThrough}set preset(e){if(e=e||"default",this._preset===e)return;const t=zt[e];t?(this.fill=t.fill,this.fillColor=t.fillColor,this.fillAlpha=t.fillAlpha,this.edges=t.edges,this.edgeColor=t.edgeColor,this.edgeAlpha=t.edgeAlpha,this.edgeWidth=t.edgeWidth,this.glowThrough=t.glowThrough,this._preset=e):this.error("unsupported preset: '"+e+"' - supported values are "+Object.keys(zt).join(", "))}get preset(){return this._preset}destroy(){super.destroy(),this._state.destroy()}}const Yt={default:{edgeColor:[0,0,0],edgeAlpha:1,edgeWidth:1},defaultWhiteBG:{edgeColor:[.2,.2,.2],edgeAlpha:1,edgeWidth:1},defaultLightBG:{edgeColor:[.2,.2,.2],edgeAlpha:1,edgeWidth:1},defaultDarkBG:{edgeColor:[.5,.5,.5],edgeAlpha:1,edgeWidth:1}};class Xt extends Vt{get type(){return"EdgeMaterial"}get presets(){return Yt}constructor(e,t={}){super(e,t),this._state=new it({type:"EdgeMaterial",edges:null,edgeColor:null,edgeAlpha:null,edgeWidth:null}),this._preset="default",t.preset?(this.preset=t.preset,t.edgeColor&&(this.edgeColor=t.edgeColor),void 0!==t.edgeAlpha&&(this.edgeAlpha=t.edgeAlpha),void 0!==t.edgeWidth&&(this.edgeWidth=t.edgeWidth)):(this.edgeColor=t.edgeColor,this.edgeAlpha=t.edgeAlpha,this.edgeWidth=t.edgeWidth),this.edges=!1!==t.edges}set edges(e){e=!1!==e,this._state.edges!==e&&(this._state.edges=e,this.glRedraw())}get edges(){return this._state.edges}set edgeColor(e){let t=this._state.edgeColor;if(t){if(e&&t[0]===e[0]&&t[1]===e[1]&&t[2]===e[2])return}else t=this._state.edgeColor=new Float32Array(3);e?(t[0]=e[0],t[1]=e[1],t[2]=e[2]):(t[0]=.2,t[1]=.2,t[2]=.2),this.glRedraw()}get edgeColor(){return this._state.edgeColor}set edgeAlpha(e){e=null!=e?e:1,this._state.edgeAlpha!==e&&(this._state.edgeAlpha=e,this.glRedraw())}get edgeAlpha(){return this._state.edgeAlpha}set edgeWidth(e){this._state.edgeWidth=e||1,this.glRedraw()}get edgeWidth(){return this._state.edgeWidth}set preset(e){if(e=e||"default",this._preset===e)return;const t=Yt[e];t?(this.edgeColor=t.edgeColor,this.edgeAlpha=t.edgeAlpha,this.edgeWidth=t.edgeWidth,this._preset=e):this.error("unsupported preset: '"+e+"' - supported values are "+Object.keys(Yt).join(", "))}get preset(){return this._preset}destroy(){super.destroy(),this._state.destroy()}}const qt={meters:{abbrev:"m"},metres:{abbrev:"m"},centimeters:{abbrev:"cm"},centimetres:{abbrev:"cm"},millimeters:{abbrev:"mm"},millimetres:{abbrev:"mm"},yards:{abbrev:"yd"},feet:{abbrev:"ft"},inches:{abbrev:"in"}};class Jt extends S{constructor(e,t={}){super(e,t),this._units="meters",this._scale=1,this._origin=A.vec3([0,0,0]),this.units=t.units,this.scale=t.scale,this.origin=t.origin}get unitsInfo(){return qt}set units(e){e||(e="meters");qt[e]||(this.error("Unsupported value for 'units': "+e+" defaulting to 'meters'"),e="meters"),this._units=e,this.fire("units",this._units)}get units(){return this._units}set scale(e){(e=e||1)<=0?this.error("scale value should be larger than zero"):(this._scale=e,this.fire("scale",this._scale))}get scale(){return this._scale}set origin(e){if(!e)return this._origin[0]=0,this._origin[1]=0,void(this._origin[2]=0);this._origin[0]=e[0],this._origin[1]=e[1],this._origin[2]=e[2],this.fire("origin",this._origin)}get origin(){return this._origin}worldToRealPos(e,t=A.vec3(3)){t[0]=this._origin[0]+this._scale*e[0],t[1]=this._origin[1]+this._scale*e[1],t[2]=this._origin[2]+this._scale*e[2]}realToWorldPos(e,t=A.vec3(3)){return t[0]=(e[0]-this._origin[0])/this._scale,t[1]=(e[1]-this._origin[1])/this._scale,t[2]=(e[2]-this._origin[2])/this._scale,t}}class Zt extends S{constructor(e,t={}){super(e,t),this._supported=Ce.SUPPORTED_EXTENSIONS.OES_standard_derivatives,this.enabled=t.enabled,this.kernelRadius=t.kernelRadius,this.intensity=t.intensity,this.bias=t.bias,this.scale=t.scale,this.minResolution=t.minResolution,this.numSamples=t.numSamples,this.blur=t.blur,this.blendCutoff=t.blendCutoff,this.blendFactor=t.blendFactor}get supported(){return this._supported}set enabled(e){e=!!e,this._enabled!==e&&(this._enabled=e,this.glRedraw())}get enabled(){return this._enabled}get possible(){if(!this._supported)return!1;if(!this._enabled)return!1;const e=this.scene.camera.projection;return"customProjection"!==e&&"frustum"!==e}get active(){return this._active}set kernelRadius(e){null==e&&(e=100),this._kernelRadius!==e&&(this._kernelRadius=e,this.glRedraw())}get kernelRadius(){return this._kernelRadius}set intensity(e){null==e&&(e=.15),this._intensity!==e&&(this._intensity=e,this.glRedraw())}get intensity(){return this._intensity}set bias(e){null==e&&(e=.5),this._bias!==e&&(this._bias=e,this.glRedraw())}get bias(){return this._bias}set scale(e){null==e&&(e=1),this._scale!==e&&(this._scale=e,this.glRedraw())}get scale(){return this._scale}set minResolution(e){null==e&&(e=0),this._minResolution!==e&&(this._minResolution=e,this.glRedraw())}get minResolution(){return this._minResolution}set numSamples(e){null==e&&(e=10),this._numSamples!==e&&(this._numSamples=e,this.glRedraw())}get numSamples(){return this._numSamples}set blur(e){e=!1!==e,this._blur!==e&&(this._blur=e,this.glRedraw())}get blur(){return this._blur}set blendCutoff(e){null==e&&(e=.3),this._blendCutoff!==e&&(this._blendCutoff=e,this.glRedraw())}get blendCutoff(){return this._blendCutoff}set blendFactor(e){null==e&&(e=1),this._blendFactor!==e&&(this._blendFactor=e,this.glRedraw())}get blendFactor(){return this._blendFactor}destroy(){super.destroy()}}const $t={default:{pointSize:4,roundPoints:!0,perspectivePoints:!0},square:{pointSize:4,roundPoints:!1,perspectivePoints:!0},round:{pointSize:4,roundPoints:!0,perspectivePoints:!0}};class es extends Vt{get type(){return"PointsMaterial"}get presets(){return $t}constructor(e,t={}){super(e,t),this._state=new it({type:"PointsMaterial",pointSize:null,roundPoints:null,perspectivePoints:null,minPerspectivePointSize:null,maxPerspectivePointSize:null,filterIntensity:null,minIntensity:null,maxIntensity:null}),t.preset?(this.preset=t.preset,void 0!==t.pointSize&&(this.pointSize=t.pointSize),void 0!==t.roundPoints&&(this.roundPoints=t.roundPoints),void 0!==t.perspectivePoints&&(this.perspectivePoints=t.perspectivePoints),void 0!==t.minPerspectivePointSize&&(this.minPerspectivePointSize=t.minPerspectivePointSize),void 0!==t.maxPerspectivePointSize&&(this.maxPerspectivePointSize=t.minPerspectivePointSize)):(this._preset="default",this.pointSize=t.pointSize,this.roundPoints=t.roundPoints,this.perspectivePoints=t.perspectivePoints,this.minPerspectivePointSize=t.minPerspectivePointSize,this.maxPerspectivePointSize=t.maxPerspectivePointSize),this.filterIntensity=t.filterIntensity,this.minIntensity=t.minIntensity,this.maxIntensity=t.maxIntensity}set pointSize(e){this._state.pointSize=e||2,this.glRedraw()}get pointSize(){return this._state.pointSize}set roundPoints(e){e=!1!==e,this._state.roundPoints!==e&&(this._state.roundPoints=e,this.scene._needRecompile=!0,this.glRedraw())}get roundPoints(){return this._state.roundPoints}set perspectivePoints(e){e=!1!==e,this._state.perspectivePoints!==e&&(this._state.perspectivePoints=e,this.scene._needRecompile=!0,this.glRedraw())}get perspectivePoints(){return this._state.perspectivePoints}set minPerspectivePointSize(e){this._state.minPerspectivePointSize=e||1,this.scene._needRecompile=!0,this.glRedraw()}get minPerspectivePointSize(){return this._state.minPerspectivePointSize}set maxPerspectivePointSize(e){this._state.maxPerspectivePointSize=e||6,this.scene._needRecompile=!0,this.glRedraw()}get maxPerspectivePointSize(){return this._state.maxPerspectivePointSize}set filterIntensity(e){e=!1!==e,this._state.filterIntensity!==e&&(this._state.filterIntensity=e,this.scene._needRecompile=!0,this.glRedraw())}get filterIntensity(){return this._state.filterIntensity}set minIntensity(e){this._state.minIntensity=null!=e?e:0,this.glRedraw()}get minIntensity(){return this._state.minIntensity}set maxIntensity(e){this._state.maxIntensity=null!=e?e:1,this.glRedraw()}get maxIntensity(){return this._state.maxIntensity}set preset(e){if(e=e||"default",this._preset===e)return;const t=$t[e];t?(this.pointSize=t.pointSize,this.roundPoints=t.roundPoints,this.perspectivePoints=t.perspectivePoints,this.minPerspectivePointSize=t.minPerspectivePointSize,this.maxPerspectivePointSize=t.maxPerspectivePointSize,this._preset=e):this.error("unsupported preset: '"+e+"' - supported values are "+Object.keys($t).join(", "))}get preset(){return this._preset}get hash(){return[this.pointSize,this.roundPoints,this.perspectivePoints,this.minPerspectivePointSize,this.maxPerspectivePointSize,this.filterIntensity].join(";")}destroy(){super.destroy(),this._state.destroy()}}const ts={default:{lineWidth:1},thick:{lineWidth:2},thicker:{lineWidth:4}};class ss extends Vt{get type(){return"LinesMaterial"}get presets(){return ts}constructor(e,t={}){super(e,t),this._state=new it({type:"LinesMaterial",lineWidth:null}),t.preset?(this.preset=t.preset,void 0!==t.lineWidth&&(this.lineWidth=t.lineWidth)):(this._preset="default",this.lineWidth=t.lineWidth)}set lineWidth(e){this._state.lineWidth=e||1,this.glRedraw()}get lineWidth(){return this._state.lineWidth}set preset(e){if(e=e||"default",this._preset===e)return;const t=ts[e];t?(this.lineWidth=t.lineWidth,this._preset=e):this.error("unsupported preset: '"+e+"' - supported values are "+Object.keys(ts).join(", "))}get preset(){return this._preset}get hash(){return[""+this.lineWidth].join(";")}destroy(){super.destroy(),this._state.destroy()}}function ns(e,t){const s={};let n,i;for(let a=0,r=t.length;a{this.glRedraw()})),this.canvas.on("webglContextFailed",(()=>{alert("xeokit failed to find WebGL!")})),this._renderer=new tt(this,{transparent:n,alphaDepthMask:i}),this._sectionPlanesState=new function(){this.sectionPlanes=[],this.clippingCaps=!1,this._numCachedSectionPlanes=0;let e=null;this.getHash=function(){if(e)return e;const t=this.getNumAllocatedSectionPlanes();if(this.sectionPlanes,0===t)return this.hash=";";const s=[];for(let e=0,n=t;ethis._numCachedSectionPlanes?e:this._numCachedSectionPlanes}},this._sectionPlanesState.setNumCachedSectionPlanes(t.numCachedSectionPlanes||0),this._lightsState=new function(){const e=A.vec4([0,0,0,0]),t=A.vec4();this.lights=[],this.reflectionMaps=[],this.lightMaps=[];let s=null,n=null;this.getHash=function(){if(s)return s;const e=[],t=this.lights;let n;for(let s=0,i=t.length;s0&&e.push("/lm"),this.reflectionMaps.length>0&&e.push("/rm"),e.push(";"),s=e.join(""),s},this.addLight=function(e){this.lights.push(e),n=null,s=null},this.removeLight=function(e){for(let t=0,i=this.lights.length;t{this._renderer.imageDirty()}))}_initDefaults(){}_addComponent(e){if(e.id&&this.components[e.id]&&(this.error("Component "+g.inQuotes(e.id)+" already exists in Scene - ignoring ID, will randomly-generate instead"),e.id=null),!e.id)for(void 0===window.nextID&&(window.nextID=0),e.id="__"+window.nextID++;this.components[e.id];)e.id=A.createUUID();this.components[e.id]=e;const t=e.type;let s=this.types[e.type];s||(s=this.types[t]={}),s[e.id]=e,e.compile&&(this._compilables[e.id]=e),e.isDrawable&&(this._renderer.addDrawable(e.id,e),this._collidables[e.id]=e)}_removeComponent(e){var t=e.id,s=e.type;delete this.components[t];const n=this.types[s];n&&(delete n[t],g.isEmptyObject(n)&&delete this.types[s]),e.compile&&delete this._compilables[e.id],e.isDrawable&&(this._renderer.removeDrawable(e.id),delete this._collidables[e.id])}_sectionPlaneCreated(e){this.sectionPlanes[e.id]=e,this.scene._sectionPlanesState.addSectionPlane(e._state),this.scene.fire("sectionPlaneCreated",e,!0),this._needRecompile=!0}_bitmapCreated(e){this.bitmaps[e.id]=e,this.scene.fire("bitmapCreated",e,!0)}_lineSetCreated(e){this.lineSets[e.id]=e,this.scene.fire("lineSetCreated",e,!0)}_lightCreated(e){this.lights[e.id]=e,this.scene._lightsState.addLight(e._state),this._needRecompile=!0}_lightMapCreated(e){this.lightMaps[e.id]=e,this.scene._lightsState.addLightMap(e._state),this._needRecompile=!0}_reflectionMapCreated(e){this.reflectionMaps[e.id]=e,this.scene._lightsState.addReflectionMap(e._state),this._needRecompile=!0}_sectionPlaneDestroyed(e){delete this.sectionPlanes[e.id],this.scene._sectionPlanesState.removeSectionPlane(e._state),this.scene.fire("sectionPlaneDestroyed",e,!0),this._needRecompile=!0}_bitmapDestroyed(e){delete this.bitmaps[e.id],this.scene.fire("bitmapDestroyed",e,!0)}_lineSetDestroyed(e){delete this.lineSets[e.id],this.scene.fire("lineSetDestroyed",e,!0)}_lightDestroyed(e){delete this.lights[e.id],this.scene._lightsState.removeLight(e._state),this._needRecompile=!0}_lightMapDestroyed(e){delete this.lightMaps[e.id],this.scene._lightsState.removeLightMap(e._state),this._needRecompile=!0}_reflectionMapDestroyed(e){delete this.reflectionMaps[e.id],this.scene._lightsState.removeReflectionMap(e._state),this._needRecompile=!0}_registerModel(e){this.models[e.id]=e,this._modelIds=null}_deregisterModel(e){const t=e.id;delete this.models[t],this._modelIds=null,this.fire("modelUnloaded",t)}_registerObject(e){this.objects[e.id]=e,this._numObjects++,this._objectIds=null}_deregisterObject(e){delete this.objects[e.id],this._numObjects--,this._objectIds=null}_objectVisibilityUpdated(e,t=!0){e.visible?(this.visibleObjects[e.id]=e,this._numVisibleObjects++):(delete this.visibleObjects[e.id],this._numVisibleObjects--),this._visibleObjectIds=null,t&&this.fire("objectVisibility",e,!0)}_objectXRayedUpdated(e,t=!0){e.xrayed?(this.xrayedObjects[e.id]=e,this._numXRayedObjects++):(delete this.xrayedObjects[e.id],this._numXRayedObjects--),this._xrayedObjectIds=null,t&&this.fire("objectXRayed",e,!0)}_objectHighlightedUpdated(e,t=!0){e.highlighted?(this.highlightedObjects[e.id]=e,this._numHighlightedObjects++):(delete this.highlightedObjects[e.id],this._numHighlightedObjects--),this._highlightedObjectIds=null,t&&this.fire("objectHighlighted",e,!0)}_objectSelectedUpdated(e,t=!0){e.selected?(this.selectedObjects[e.id]=e,this._numSelectedObjects++):(delete this.selectedObjects[e.id],this._numSelectedObjects--),this._selectedObjectIds=null,t&&this.fire("objectSelected",e,!0)}_objectColorizeUpdated(e,t){t?(this.colorizedObjects[e.id]=e,this._numColorizedObjects++):(delete this.colorizedObjects[e.id],this._numColorizedObjects--),this._colorizedObjectIds=null}_objectOpacityUpdated(e,t){t?(this.opacityObjects[e.id]=e,this._numOpacityObjects++):(delete this.opacityObjects[e.id],this._numOpacityObjects--),this._opacityObjectIds=null}_objectOffsetUpdated(e,t){!t||0===t[0]&&0===t[1]&&0===t[2]?(this.offsetObjects[e.id]=e,this._numOffsetObjects++):(delete this.offsetObjects[e.id],this._numOffsetObjects--),this._offsetObjectIds=null}_webglContextLost(){this.canvas.spinner.processes++;for(const e in this.components)if(this.components.hasOwnProperty(e)){const t=this.components[e];t._webglContextLost&&t._webglContextLost()}this._renderer.webglContextLost()}_webglContextRestored(){const e=this.canvas.gl;for(const t in this.components)if(this.components.hasOwnProperty(t)){const s=this.components[t];s._webglContextRestored&&s._webglContextRestored(e)}this._renderer.webglContextRestored(e),this.canvas.spinner.processes--}get capabilities(){return this._renderer.capabilities}get entityOffsetsEnabled(){return this._entityOffsetsEnabled}get pickSurfacePrecisionEnabled(){return!1}get logarithmicDepthBufferEnabled(){return this._logarithmicDepthBufferEnabled}set numCachedSectionPlanes(e){e=e||0,this._sectionPlanesState.getNumCachedSectionPlanes()!==e&&(this._sectionPlanesState.setNumCachedSectionPlanes(e),this._needRecompile=!0,this.glRedraw())}get numCachedSectionPlanes(){return this._sectionPlanesState.getNumCachedSectionPlanes()}set pbrEnabled(e){this._pbrEnabled=!!e,this.glRedraw()}get pbrEnabled(){return this._pbrEnabled}set dtxEnabled(e){e=!!e,this._dtxEnabled!==e&&(this._dtxEnabled=e)}get dtxEnabled(){return this._dtxEnabled}set colorTextureEnabled(e){this._colorTextureEnabled=!!e,this.glRedraw()}get colorTextureEnabled(){return this._colorTextureEnabled}doOcclusionTest(){this._needRecompile&&(this._recompile(),this._needRecompile=!1),this._renderer.doOcclusionTest()}render(e){e&&B.runTasks();const t={sceneId:null,pass:0};if(this._needRecompile&&(this._recompile(),this._renderer.imageDirty(),this._needRecompile=!1),!e&&!this._renderer.needsRender())return;t.sceneId=this.id;const s=this._passes,n=this._clearEachPass;let i,a;for(i=0;ii&&(i=e[3]),e[4]>a&&(a=e[4]),e[5]>r&&(r=e[5]),c=!0}c||(t=-100,s=-100,n=-100,i=100,a=100,r=100),this._aabb[0]=t,this._aabb[1]=s,this._aabb[2]=n,this._aabb[3]=i,this._aabb[4]=a,this._aabb[5]=r,this._aabbDirty=!1}return this._aabb}_setAABBDirty(){this._aabbDirty=!0,this.fire("boundary")}pick(e,t){if(0===this.canvas.boundary[2]||0===this.canvas.boundary[3])return this.error("Picking not allowed while canvas has zero width or height"),null;(e=e||{}).pickSurface=e.pickSurface||e.rayPick,e.canvasPos||e.matrix||e.origin&&e.direction||this.warn("picking without canvasPos, matrix, or ray origin and direction");const s=e.includeEntities||e.include;s&&(e.includeEntityIds=ns(this,s));const n=e.excludeEntities||e.exclude;return n&&(e.excludeEntityIds=ns(this,n)),this._needRecompile&&(this._recompile(),this._renderer.imageDirty(),this._needRecompile=!1),(t=e.snapToEdge||e.snapToVertex?this._renderer.snapPick(e.canvasPos,e.snapRadius||30,e.snapToVertex,e.snapToEdge,t):this._renderer.pick(e,t))&&t.entity&&t.entity.fire&&t.entity.fire("picked",t),t}snapPick(e){return void 0===this._warnSnapPickDeprecated&&(this._warnSnapPickDeprecated=!0,this.warn("Scene.snapPick() is deprecated since v2.4.2 - use Scene.pick() instead")),this._renderer.snapPick(e.canvasPos,e.snapRadius||30,e.snapToVertex,e.snapToEdge)}clear(){var e;for(const t in this.components)this.components.hasOwnProperty(t)&&((e=this.components[t])._dontClear||e.destroy())}clearLights(){const e=Object.keys(this.lights);for(let t=0,s=e.length;t{if(e.collidable){const o=e.aabb;o[0]a&&(a=o[3]),o[4]>r&&(r=o[4]),o[5]>l&&(l=o[5]),t=!0}})),t){const e=A.AABB3();return e[0]=s,e[1]=n,e[2]=i,e[3]=a,e[4]=r,e[5]=l,e}return this.aabb}setObjectsVisible(e,t){return this.withObjects(e,(e=>{const s=e.visible!==t;return e.visible=t,s}))}setObjectsCollidable(e,t){return this.withObjects(e,(e=>{const s=e.collidable!==t;return e.collidable=t,s}))}setObjectsCulled(e,t){return this.withObjects(e,(e=>{const s=e.culled!==t;return e.culled=t,s}))}setObjectsSelected(e,t){return this.withObjects(e,(e=>{const s=e.selected!==t;return e.selected=t,s}))}setObjectsHighlighted(e,t){return this.withObjects(e,(e=>{const s=e.highlighted!==t;return e.highlighted=t,s}))}setObjectsXRayed(e,t){return this.withObjects(e,(e=>{const s=e.xrayed!==t;return e.xrayed=t,s}))}setObjectsEdges(e,t){return this.withObjects(e,(e=>{const s=e.edges!==t;return e.edges=t,s}))}setObjectsColorized(e,t){return this.withObjects(e,(e=>{e.colorize=t}))}setObjectsOpacity(e,t){return this.withObjects(e,(e=>{const s=e.opacity!==t;return e.opacity=t,s}))}setObjectsPickable(e,t){return this.withObjects(e,(e=>{const s=e.pickable!==t;return e.pickable=t,s}))}setObjectsOffset(e,t){this.withObjects(e,(e=>{e.offset=t}))}withObjects(e,t){g.isString(e)&&(e=[e]);let s=!1;for(let n=0,i=e.length;n{i>n&&(n=i,e(...s))}));return this._tickifiedFunctions[t]={tickSubId:r,wrapperFunc:a},a}destroy(){super.destroy();for(const e in this.components)this.components.hasOwnProperty(e)&&this.components[e].destroy();this.canvas.gl=null,this.components=null,this.models=null,this.objects=null,this.visibleObjects=null,this.xrayedObjects=null,this.highlightedObjects=null,this.selectedObjects=null,this.colorizedObjects=null,this.opacityObjects=null,this.sectionPlanes=null,this.lights=null,this.lightMaps=null,this.reflectionMaps=null,this._objectIds=null,this._visibleObjectIds=null,this._xrayedObjectIds=null,this._highlightedObjectIds=null,this._selectedObjectIds=null,this._colorizedObjectIds=null,this.types=null,this.components=null,this.canvas=null,this._renderer=null,this.input=null,this._viewport=null,this._camera=null}}const as=1e3,rs=1001,ls=1002,os=1003,cs=1004,us=1004,hs=1005,ps=1005,As=1006,ds=1007,fs=1007,Is=1008,ys=1008,ms=1009,vs=1010,ws=1011,gs=1012,Es=1013,Ts=1014,bs=1015,Ds=1016,Ps=1017,Rs=1018,Cs=1020,_s=1021,Bs=1022,Os=1023,Ss=1024,Ns=1025,xs=1026,Ls=1027,Ms=1028,Fs=1029,Hs=1030,Us=1031,Gs=1033,js=33776,Vs=33777,ks=33778,Qs=33779,Ws=35840,zs=35841,Ks=35842,Ys=35843,Xs=36196,qs=37492,Js=37496,Zs=37808,$s=37809,en=37810,tn=37811,sn=37812,nn=37813,an=37814,rn=37815,ln=37816,on=37817,cn=37818,un=37819,hn=37820,pn=37821,An=36492,dn=3e3,fn=3001,In=1e4,yn=10001,mn=10002,vn=10003,wn=function(e){"LambertMaterial"===e._material._state.type?(this.vertex=function(e){const t=e.scene,s=e.scene._sectionPlanesState,n=e.scene._lightsState,i=e._geometry._state,a=e._state.billboard,r=e._state.stationary,l=s.getNumAllocatedSectionPlanes()>0,o=!!i.compressGeometry,c=[];c.push("#version 300 es"),c.push("// Lambertian drawing vertex shader"),c.push("in vec3 position;"),c.push("uniform mat4 modelMatrix;"),c.push("uniform mat4 viewMatrix;"),c.push("uniform mat4 projMatrix;"),c.push("uniform vec4 colorize;"),c.push("uniform vec3 offset;"),o&&c.push("uniform mat4 positionsDecodeMatrix;");t.logarithmicDepthBufferEnabled&&(c.push("uniform float logDepthBufFC;"),c.push("out float vFragDepth;"),c.push("bool isPerspectiveMatrix(mat4 m) {"),c.push(" return (m[2][3] == - 1.0);"),c.push("}"),c.push("out float isPerspective;"));l&&c.push("out vec4 vWorldPosition;");if(c.push("uniform vec4 lightAmbient;"),c.push("uniform vec4 materialColor;"),c.push("uniform vec3 materialEmissive;"),i.normalsBuf){c.push("in vec3 normal;"),c.push("uniform mat4 modelNormalMatrix;"),c.push("uniform mat4 viewNormalMatrix;");for(let e=0,t=n.lights.length;e= 0.0 ? 1.0 : -1.0, v.y >= 0.0 ? 1.0 : -1.0);"),c.push(" }"),c.push(" return normalize(v);"),c.push("}"))}c.push("out vec4 vColor;"),"points"===i.primitiveName&&c.push("uniform float pointSize;");"spherical"!==a&&"cylindrical"!==a||(c.push("void billboard(inout mat4 mat) {"),c.push(" mat[0][0] = 1.0;"),c.push(" mat[0][1] = 0.0;"),c.push(" mat[0][2] = 0.0;"),"spherical"===a&&(c.push(" mat[1][0] = 0.0;"),c.push(" mat[1][1] = 1.0;"),c.push(" mat[1][2] = 0.0;")),c.push(" mat[2][0] = 0.0;"),c.push(" mat[2][1] = 0.0;"),c.push(" mat[2][2] =1.0;"),c.push("}"));c.push("void main(void) {"),c.push("vec4 localPosition = vec4(position, 1.0); "),c.push("vec4 worldPosition;"),o&&c.push("localPosition = positionsDecodeMatrix * localPosition;");i.normalsBuf&&(o?c.push("vec4 localNormal = vec4(octDecode(normal.xy), 0.0); "):c.push("vec4 localNormal = vec4(normal, 0.0); "),c.push("mat4 modelNormalMatrix2 = modelNormalMatrix;"),c.push("mat4 viewNormalMatrix2 = viewNormalMatrix;"));c.push("mat4 viewMatrix2 = viewMatrix;"),c.push("mat4 modelMatrix2 = modelMatrix;"),r&&c.push("viewMatrix2[3][0] = viewMatrix2[3][1] = viewMatrix2[3][2] = 0.0;");"spherical"===a||"cylindrical"===a?(c.push("mat4 modelViewMatrix = viewMatrix2 * modelMatrix2;"),c.push("billboard(modelMatrix2);"),c.push("billboard(viewMatrix2);"),c.push("billboard(modelViewMatrix);"),i.normalsBuf&&(c.push("mat4 modelViewNormalMatrix = viewNormalMatrix2 * modelNormalMatrix2;"),c.push("billboard(modelNormalMatrix2);"),c.push("billboard(viewNormalMatrix2);"),c.push("billboard(modelViewNormalMatrix);")),c.push("worldPosition = modelMatrix2 * localPosition;"),c.push("worldPosition.xyz = worldPosition.xyz + offset;"),c.push("vec4 viewPosition = modelViewMatrix * localPosition;")):(c.push("worldPosition = modelMatrix2 * localPosition;"),c.push("worldPosition.xyz = worldPosition.xyz + offset;"),c.push("vec4 viewPosition = viewMatrix2 * worldPosition; "));i.normalsBuf&&c.push("vec3 viewNormal = normalize((viewNormalMatrix2 * modelNormalMatrix2 * localNormal).xyz);");if(c.push("vec3 reflectedColor = vec3(0.0, 0.0, 0.0);"),c.push("vec3 viewLightDir = vec3(0.0, 0.0, -1.0);"),c.push("float lambertian = 1.0;"),i.normalsBuf)for(let e=0,t=n.lights.length;e0,a=t.gammaOutput,r=[];r.push("#version 300 es"),r.push("// Lambertian drawing fragment shader"),r.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),r.push("precision highp float;"),r.push("precision highp int;"),r.push("#else"),r.push("precision mediump float;"),r.push("precision mediump int;"),r.push("#endif"),t.logarithmicDepthBufferEnabled&&(r.push("in float isPerspective;"),r.push("uniform float logDepthBufFC;"),r.push("in float vFragDepth;"));if(i){r.push("in vec4 vWorldPosition;"),r.push("uniform bool clippable;");for(let e=0,t=s.getNumAllocatedSectionPlanes();e 0.0) { discard; }"),r.push("}")}"points"===n.primitiveName&&(r.push("vec2 cxy = 2.0 * gl_PointCoord - 1.0;"),r.push("float r = dot(cxy, cxy);"),r.push("if (r > 1.0) {"),r.push(" discard;"),r.push("}"));t.logarithmicDepthBufferEnabled&&r.push("gl_FragDepth = isPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5;");a?r.push("outColor = linearToGamma(vColor, gammaFactor);"):r.push("outColor = vColor;");return r.push("}"),r}(e)):(this.vertex=function(e){const t=e.scene;e._material;const s=e._state,n=t._sectionPlanesState,i=e._geometry._state,a=t._lightsState;let r;const l=s.billboard,o=s.background,c=s.stationary,u=function(e){if(!e._geometry._state.uvBuf)return!1;const t=e._material;return!!(t._ambientMap||t._occlusionMap||t._baseColorMap||t._diffuseMap||t._alphaMap||t._specularMap||t._glossinessMap||t._specularGlossinessMap||t._emissiveMap||t._metallicMap||t._roughnessMap||t._metallicRoughnessMap||t._reflectivityMap||t._normalMap)}(e),h=Tn(e),p=n.getNumAllocatedSectionPlanes()>0,A=En(e),d=!!i.compressGeometry,f=[];f.push("#version 300 es"),f.push("// Drawing vertex shader"),f.push("in vec3 position;"),d&&f.push("uniform mat4 positionsDecodeMatrix;");f.push("uniform mat4 modelMatrix;"),f.push("uniform mat4 viewMatrix;"),f.push("uniform mat4 projMatrix;"),f.push("out vec3 vViewPosition;"),f.push("uniform vec3 offset;"),p&&f.push("out vec4 vWorldPosition;");t.logarithmicDepthBufferEnabled&&(f.push("uniform float logDepthBufFC;"),f.push("out float vFragDepth;"),f.push("bool isPerspectiveMatrix(mat4 m) {"),f.push(" return (m[2][3] == - 1.0);"),f.push("}"),f.push("out float isPerspective;"));a.lightMaps.length>0&&f.push("out vec3 vWorldNormal;");if(h){f.push("in vec3 normal;"),f.push("uniform mat4 modelNormalMatrix;"),f.push("uniform mat4 viewNormalMatrix;"),f.push("out vec3 vViewNormal;");for(let e=0,t=a.lights.length;e= 0.0 ? 1.0 : -1.0, v.y >= 0.0 ? 1.0 : -1.0);"),f.push(" }"),f.push(" return normalize(v);"),f.push("}"))}u&&(f.push("in vec2 uv;"),f.push("out vec2 vUV;"),d&&f.push("uniform mat3 uvDecodeMatrix;"));i.colors&&(f.push("in vec4 color;"),f.push("out vec4 vColor;"));"points"===i.primitiveName&&f.push("uniform float pointSize;");"spherical"!==l&&"cylindrical"!==l||(f.push("void billboard(inout mat4 mat) {"),f.push(" mat[0][0] = 1.0;"),f.push(" mat[0][1] = 0.0;"),f.push(" mat[0][2] = 0.0;"),"spherical"===l&&(f.push(" mat[1][0] = 0.0;"),f.push(" mat[1][1] = 1.0;"),f.push(" mat[1][2] = 0.0;")),f.push(" mat[2][0] = 0.0;"),f.push(" mat[2][1] = 0.0;"),f.push(" mat[2][2] =1.0;"),f.push("}"));if(A){f.push("const mat4 texUnitConverter = mat4(0.5, 0.0, 0.0, 0.0, 0.0, 0.5, 0.0, 0.0, 0.0, 0.0, 0.5, 0.0, 0.5, 0.5, 0.5, 1.0);");for(let e=0,t=a.lights.length;e0&&f.push("vWorldNormal = worldNormal;"),f.push("vViewNormal = normalize((viewNormalMatrix2 * vec4(worldNormal, 1.0)).xyz);"),f.push("vec3 tmpVec3;"),f.push("float lightDist;");for(let e=0,t=a.lights.length;e0,o=Tn(e),c=n.uvBuf,u="PhongMaterial"===r.type,h="MetallicMaterial"===r.type,p="SpecularMaterial"===r.type,A=En(e);t.gammaInput;const d=t.gammaOutput,f=[];f.push("#version 300 es"),f.push("// Drawing fragment shader"),f.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),f.push("precision highp float;"),f.push("precision highp int;"),f.push("#else"),f.push("precision mediump float;"),f.push("precision mediump int;"),f.push("#endif"),t.logarithmicDepthBufferEnabled&&(f.push("in float isPerspective;"),f.push("uniform float logDepthBufFC;"),f.push("in float vFragDepth;"));A&&(f.push("float unpackDepth (vec4 color) {"),f.push(" const vec4 bitShift = vec4(1.0, 1.0/256.0, 1.0/(256.0 * 256.0), 1.0/(256.0*256.0*256.0));"),f.push(" return dot(color, bitShift);"),f.push("}"));f.push("uniform float gammaFactor;"),f.push("vec4 linearToLinear( in vec4 value ) {"),f.push(" return value;"),f.push("}"),f.push("vec4 sRGBToLinear( in vec4 value ) {"),f.push(" return vec4( mix( pow( value.rgb * 0.9478672986 + vec3( 0.0521327014 ), vec3( 2.4 ) ), value.rgb * 0.0773993808, vec3( lessThanEqual( value.rgb, vec3( 0.04045 ) ) ) ), value.w );"),f.push("}"),f.push("vec4 gammaToLinear( in vec4 value) {"),f.push(" return vec4( pow( value.xyz, vec3( gammaFactor ) ), value.w );"),f.push("}"),d&&(f.push("vec4 linearToGamma( in vec4 value, in float gammaFactor ) {"),f.push(" return vec4( pow( value.xyz, vec3( 1.0 / gammaFactor ) ), value.w );"),f.push("}"));if(l){f.push("in vec4 vWorldPosition;"),f.push("uniform bool clippable;");for(var I=0;I0&&(f.push("uniform samplerCube lightMap;"),f.push("uniform mat4 viewNormalMatrix;")),a.reflectionMaps.length>0&&f.push("uniform samplerCube reflectionMap;"),(a.lightMaps.length>0||a.reflectionMaps.length>0)&&f.push("uniform mat4 viewMatrix;"),f.push("#define PI 3.14159265359"),f.push("#define RECIPROCAL_PI 0.31830988618"),f.push("#define RECIPROCAL_PI2 0.15915494"),f.push("#define EPSILON 1e-6"),f.push("#define saturate(a) clamp( a, 0.0, 1.0 )"),f.push("vec3 inverseTransformDirection(in vec3 dir, in mat4 matrix) {"),f.push(" return normalize( ( vec4( dir, 0.0 ) * matrix ).xyz );"),f.push("}"),f.push("struct IncidentLight {"),f.push(" vec3 color;"),f.push(" vec3 direction;"),f.push("};"),f.push("struct ReflectedLight {"),f.push(" vec3 diffuse;"),f.push(" vec3 specular;"),f.push("};"),f.push("struct Geometry {"),f.push(" vec3 position;"),f.push(" vec3 viewNormal;"),f.push(" vec3 worldNormal;"),f.push(" vec3 viewEyeDir;"),f.push("};"),f.push("struct Material {"),f.push(" vec3 diffuseColor;"),f.push(" float specularRoughness;"),f.push(" vec3 specularColor;"),f.push(" float shine;"),f.push("};"),u&&((a.lightMaps.length>0||a.reflectionMaps.length>0)&&(f.push("void computePhongLightMapping(const in Geometry geometry, const in Material material, inout ReflectedLight reflectedLight) {"),a.lightMaps.length>0&&(f.push(" vec3 irradiance = "+gn[a.lightMaps[0].encoding]+"(texture(lightMap, geometry.worldNormal)).rgb;"),f.push(" irradiance *= PI;"),f.push(" vec3 diffuseBRDFContrib = (RECIPROCAL_PI * material.diffuseColor);"),f.push(" reflectedLight.diffuse += irradiance * diffuseBRDFContrib;")),a.reflectionMaps.length>0&&(f.push(" vec3 reflectVec = reflect(-geometry.viewEyeDir, geometry.viewNormal);"),f.push(" vec3 radiance = texture(reflectionMap, reflectVec).rgb * 0.2;"),f.push(" radiance *= PI;"),f.push(" reflectedLight.specular += radiance;")),f.push("}")),f.push("void computePhongLighting(const in IncidentLight directLight, const in Geometry geometry, const in Material material, inout ReflectedLight reflectedLight) {"),f.push(" float dotNL = saturate(dot(geometry.viewNormal, directLight.direction));"),f.push(" vec3 irradiance = dotNL * directLight.color * PI;"),f.push(" reflectedLight.diffuse += irradiance * (RECIPROCAL_PI * material.diffuseColor);"),f.push(" reflectedLight.specular += directLight.color * material.specularColor * pow(max(dot(reflect(-directLight.direction, -geometry.viewNormal), geometry.viewEyeDir), 0.0), material.shine);"),f.push("}")),(h||p)&&(f.push("float GGXRoughnessToBlinnExponent(const in float ggxRoughness) {"),f.push(" float r = ggxRoughness + 0.0001;"),f.push(" return (2.0 / (r * r) - 2.0);"),f.push("}"),f.push("float getSpecularMIPLevel(const in float blinnShininessExponent, const in int maxMIPLevel) {"),f.push(" float maxMIPLevelScalar = float( maxMIPLevel );"),f.push(" float desiredMIPLevel = maxMIPLevelScalar - 0.79248 - 0.5 * log2( ( blinnShininessExponent * blinnShininessExponent ) + 1.0 );"),f.push(" return clamp( desiredMIPLevel, 0.0, maxMIPLevelScalar );"),f.push("}"),a.reflectionMaps.length>0&&(f.push("vec3 getLightProbeIndirectRadiance(const in vec3 reflectVec, const in float blinnShininessExponent, const in int maxMIPLevel) {"),f.push(" float mipLevel = 0.5 * getSpecularMIPLevel(blinnShininessExponent, maxMIPLevel);"),f.push(" vec3 envMapColor = "+gn[a.reflectionMaps[0].encoding]+"(texture(reflectionMap, reflectVec, mipLevel)).rgb;"),f.push(" return envMapColor;"),f.push("}")),f.push("vec3 F_Schlick(const in vec3 specularColor, const in float dotLH) {"),f.push(" float fresnel = exp2( ( -5.55473 * dotLH - 6.98316 ) * dotLH );"),f.push(" return ( 1.0 - specularColor ) * fresnel + specularColor;"),f.push("}"),f.push("float G_GGX_Smith(const in float alpha, const in float dotNL, const in float dotNV) {"),f.push(" float a2 = ( alpha * alpha );"),f.push(" float gl = dotNL + sqrt( a2 + ( 1.0 - a2 ) * ( dotNL * dotNL ) );"),f.push(" float gv = dotNV + sqrt( a2 + ( 1.0 - a2 ) * ( dotNV * dotNV ) );"),f.push(" return 1.0 / ( gl * gv );"),f.push("}"),f.push("float G_GGX_SmithCorrelated(const in float alpha, const in float dotNL, const in float dotNV) {"),f.push(" float a2 = ( alpha * alpha );"),f.push(" float gv = dotNL * sqrt( a2 + ( 1.0 - a2 ) * ( dotNV * dotNV ) );"),f.push(" float gl = dotNV * sqrt( a2 + ( 1.0 - a2 ) * ( dotNL * dotNL ) );"),f.push(" return 0.5 / max( gv + gl, EPSILON );"),f.push("}"),f.push("float D_GGX(const in float alpha, const in float dotNH) {"),f.push(" float a2 = ( alpha * alpha );"),f.push(" float denom = ( dotNH * dotNH) * ( a2 - 1.0 ) + 1.0;"),f.push(" return RECIPROCAL_PI * a2 / ( denom * denom);"),f.push("}"),f.push("vec3 BRDF_Specular_GGX(const in IncidentLight incidentLight, const in Geometry geometry, const in vec3 specularColor, const in float roughness) {"),f.push(" float alpha = ( roughness * roughness );"),f.push(" vec3 halfDir = normalize( incidentLight.direction + geometry.viewEyeDir );"),f.push(" float dotNL = saturate( dot( geometry.viewNormal, incidentLight.direction ) );"),f.push(" float dotNV = saturate( dot( geometry.viewNormal, geometry.viewEyeDir ) );"),f.push(" float dotNH = saturate( dot( geometry.viewNormal, halfDir ) );"),f.push(" float dotLH = saturate( dot( incidentLight.direction, halfDir ) );"),f.push(" vec3 F = F_Schlick( specularColor, dotLH );"),f.push(" float G = G_GGX_SmithCorrelated( alpha, dotNL, dotNV );"),f.push(" float D = D_GGX( alpha, dotNH );"),f.push(" return F * (G * D);"),f.push("}"),f.push("vec3 BRDF_Specular_GGX_Environment(const in Geometry geometry, const in vec3 specularColor, const in float roughness) {"),f.push(" float dotNV = saturate(dot(geometry.viewNormal, geometry.viewEyeDir));"),f.push(" const vec4 c0 = vec4( -1, -0.0275, -0.572, 0.022);"),f.push(" const vec4 c1 = vec4( 1, 0.0425, 1.04, -0.04);"),f.push(" vec4 r = roughness * c0 + c1;"),f.push(" float a004 = min(r.x * r.x, exp2(-9.28 * dotNV)) * r.x + r.y;"),f.push(" vec2 AB = vec2(-1.04, 1.04) * a004 + r.zw;"),f.push(" return specularColor * AB.x + AB.y;"),f.push("}"),(a.lightMaps.length>0||a.reflectionMaps.length>0)&&(f.push("void computePBRLightMapping(const in Geometry geometry, const in Material material, inout ReflectedLight reflectedLight) {"),a.lightMaps.length>0&&(f.push(" vec3 irradiance = sRGBToLinear(texture(lightMap, geometry.worldNormal)).rgb;"),f.push(" irradiance *= PI;"),f.push(" vec3 diffuseBRDFContrib = (RECIPROCAL_PI * material.diffuseColor);"),f.push(" reflectedLight.diffuse += irradiance * diffuseBRDFContrib;")),a.reflectionMaps.length>0&&(f.push(" vec3 reflectVec = reflect(-geometry.viewEyeDir, geometry.viewNormal);"),f.push(" reflectVec = inverseTransformDirection(reflectVec, viewMatrix);"),f.push(" float blinnExpFromRoughness = GGXRoughnessToBlinnExponent(material.specularRoughness);"),f.push(" vec3 radiance = getLightProbeIndirectRadiance(reflectVec, blinnExpFromRoughness, 8);"),f.push(" vec3 specularBRDFContrib = BRDF_Specular_GGX_Environment(geometry, material.specularColor, material.specularRoughness);"),f.push(" reflectedLight.specular += radiance * specularBRDFContrib;")),f.push("}")),f.push("void computePBRLighting(const in IncidentLight incidentLight, const in Geometry geometry, const in Material material, inout ReflectedLight reflectedLight) {"),f.push(" float dotNL = saturate(dot(geometry.viewNormal, incidentLight.direction));"),f.push(" vec3 irradiance = dotNL * incidentLight.color * PI;"),f.push(" reflectedLight.diffuse += irradiance * (RECIPROCAL_PI * material.diffuseColor);"),f.push(" reflectedLight.specular += irradiance * BRDF_Specular_GGX(incidentLight, geometry, material.specularColor, material.specularRoughness);"),f.push("}")));f.push("in vec3 vViewPosition;"),n.colors&&f.push("in vec4 vColor;");c&&(o&&s._normalMap||s._ambientMap||s._baseColorMap||s._diffuseMap||s._emissiveMap||s._metallicMap||s._roughnessMap||s._metallicRoughnessMap||s._specularMap||s._glossinessMap||s._specularGlossinessMap||s._occlusionMap||s._alphaMap)&&f.push("in vec2 vUV;");o&&(a.lightMaps.length>0&&f.push("in vec3 vWorldNormal;"),f.push("in vec3 vViewNormal;"));r.ambient&&f.push("uniform vec3 materialAmbient;");r.baseColor&&f.push("uniform vec3 materialBaseColor;");void 0!==r.alpha&&null!==r.alpha&&f.push("uniform vec4 materialAlphaModeCutoff;");r.emissive&&f.push("uniform vec3 materialEmissive;");r.diffuse&&f.push("uniform vec3 materialDiffuse;");void 0!==r.glossiness&&null!==r.glossiness&&f.push("uniform float materialGlossiness;");void 0!==r.shininess&&null!==r.shininess&&f.push("uniform float materialShininess;");r.specular&&f.push("uniform vec3 materialSpecular;");void 0!==r.metallic&&null!==r.metallic&&f.push("uniform float materialMetallic;");void 0!==r.roughness&&null!==r.roughness&&f.push("uniform float materialRoughness;");void 0!==r.specularF0&&null!==r.specularF0&&f.push("uniform float materialSpecularF0;");c&&s._ambientMap&&(f.push("uniform sampler2D ambientMap;"),s._ambientMap._state.matrix&&f.push("uniform mat4 ambientMapMatrix;"));c&&s._baseColorMap&&(f.push("uniform sampler2D baseColorMap;"),s._baseColorMap._state.matrix&&f.push("uniform mat4 baseColorMapMatrix;"));c&&s._diffuseMap&&(f.push("uniform sampler2D diffuseMap;"),s._diffuseMap._state.matrix&&f.push("uniform mat4 diffuseMapMatrix;"));c&&s._emissiveMap&&(f.push("uniform sampler2D emissiveMap;"),s._emissiveMap._state.matrix&&f.push("uniform mat4 emissiveMapMatrix;"));o&&c&&s._metallicMap&&(f.push("uniform sampler2D metallicMap;"),s._metallicMap._state.matrix&&f.push("uniform mat4 metallicMapMatrix;"));o&&c&&s._roughnessMap&&(f.push("uniform sampler2D roughnessMap;"),s._roughnessMap._state.matrix&&f.push("uniform mat4 roughnessMapMatrix;"));o&&c&&s._metallicRoughnessMap&&(f.push("uniform sampler2D metallicRoughnessMap;"),s._metallicRoughnessMap._state.matrix&&f.push("uniform mat4 metallicRoughnessMapMatrix;"));o&&s._normalMap&&(f.push("uniform sampler2D normalMap;"),s._normalMap._state.matrix&&f.push("uniform mat4 normalMapMatrix;"),f.push("vec3 perturbNormal2Arb( vec3 eye_pos, vec3 surf_norm, vec2 uv ) {"),f.push(" vec3 q0 = vec3( dFdx( eye_pos.x ), dFdx( eye_pos.y ), dFdx( eye_pos.z ) );"),f.push(" vec3 q1 = vec3( dFdy( eye_pos.x ), dFdy( eye_pos.y ), dFdy( eye_pos.z ) );"),f.push(" vec2 st0 = dFdx( uv.st );"),f.push(" vec2 st1 = dFdy( uv.st );"),f.push(" vec3 S = normalize( q0 * st1.t - q1 * st0.t );"),f.push(" vec3 T = normalize( -q0 * st1.s + q1 * st0.s );"),f.push(" vec3 N = normalize( surf_norm );"),f.push(" vec3 mapN = texture( normalMap, uv ).xyz * 2.0 - 1.0;"),f.push(" mat3 tsn = mat3( S, T, N );"),f.push(" return normalize( tsn * mapN );"),f.push("}"));c&&s._occlusionMap&&(f.push("uniform sampler2D occlusionMap;"),s._occlusionMap._state.matrix&&f.push("uniform mat4 occlusionMapMatrix;"));c&&s._alphaMap&&(f.push("uniform sampler2D alphaMap;"),s._alphaMap._state.matrix&&f.push("uniform mat4 alphaMapMatrix;"));o&&c&&s._specularMap&&(f.push("uniform sampler2D specularMap;"),s._specularMap._state.matrix&&f.push("uniform mat4 specularMapMatrix;"));o&&c&&s._glossinessMap&&(f.push("uniform sampler2D glossinessMap;"),s._glossinessMap._state.matrix&&f.push("uniform mat4 glossinessMapMatrix;"));o&&c&&s._specularGlossinessMap&&(f.push("uniform sampler2D materialSpecularGlossinessMap;"),s._specularGlossinessMap._state.matrix&&f.push("uniform mat4 materialSpecularGlossinessMapMatrix;"));o&&(s._diffuseFresnel||s._specularFresnel||s._alphaFresnel||s._emissiveFresnel||s._reflectivityFresnel)&&(f.push("float fresnel(vec3 eyeDir, vec3 normal, float edgeBias, float centerBias, float power) {"),f.push(" float fr = abs(dot(eyeDir, normal));"),f.push(" float finalFr = clamp((fr - edgeBias) / (centerBias - edgeBias), 0.0, 1.0);"),f.push(" return pow(finalFr, power);"),f.push("}"),s._diffuseFresnel&&(f.push("uniform float diffuseFresnelCenterBias;"),f.push("uniform float diffuseFresnelEdgeBias;"),f.push("uniform float diffuseFresnelPower;"),f.push("uniform vec3 diffuseFresnelCenterColor;"),f.push("uniform vec3 diffuseFresnelEdgeColor;")),s._specularFresnel&&(f.push("uniform float specularFresnelCenterBias;"),f.push("uniform float specularFresnelEdgeBias;"),f.push("uniform float specularFresnelPower;"),f.push("uniform vec3 specularFresnelCenterColor;"),f.push("uniform vec3 specularFresnelEdgeColor;")),s._alphaFresnel&&(f.push("uniform float alphaFresnelCenterBias;"),f.push("uniform float alphaFresnelEdgeBias;"),f.push("uniform float alphaFresnelPower;"),f.push("uniform vec3 alphaFresnelCenterColor;"),f.push("uniform vec3 alphaFresnelEdgeColor;")),s._reflectivityFresnel&&(f.push("uniform float materialSpecularF0FresnelCenterBias;"),f.push("uniform float materialSpecularF0FresnelEdgeBias;"),f.push("uniform float materialSpecularF0FresnelPower;"),f.push("uniform vec3 materialSpecularF0FresnelCenterColor;"),f.push("uniform vec3 materialSpecularF0FresnelEdgeColor;")),s._emissiveFresnel&&(f.push("uniform float emissiveFresnelCenterBias;"),f.push("uniform float emissiveFresnelEdgeBias;"),f.push("uniform float emissiveFresnelPower;"),f.push("uniform vec3 emissiveFresnelCenterColor;"),f.push("uniform vec3 emissiveFresnelEdgeColor;")));if(f.push("uniform vec4 lightAmbient;"),o)for(let e=0,t=a.lights.length;e 0.0) { discard; }"),f.push("}")}"points"===n.primitiveName&&(f.push("vec2 cxy = 2.0 * gl_PointCoord - 1.0;"),f.push("float r = dot(cxy, cxy);"),f.push("if (r > 1.0) {"),f.push(" discard;"),f.push("}"));f.push("float occlusion = 1.0;"),r.ambient?f.push("vec3 ambientColor = materialAmbient;"):f.push("vec3 ambientColor = vec3(1.0, 1.0, 1.0);");r.diffuse?f.push("vec3 diffuseColor = materialDiffuse;"):r.baseColor?f.push("vec3 diffuseColor = materialBaseColor;"):f.push("vec3 diffuseColor = vec3(1.0, 1.0, 1.0);");n.colors&&f.push("diffuseColor *= vColor.rgb;");r.emissive?f.push("vec3 emissiveColor = materialEmissive;"):f.push("vec3 emissiveColor = vec3(0.0, 0.0, 0.0);");r.specular?f.push("vec3 specular = materialSpecular;"):f.push("vec3 specular = vec3(1.0, 1.0, 1.0);");void 0!==r.alpha?f.push("float alpha = materialAlphaModeCutoff[0];"):f.push("float alpha = 1.0;");n.colors&&f.push("alpha *= vColor.a;");void 0!==r.glossiness?f.push("float glossiness = materialGlossiness;"):f.push("float glossiness = 1.0;");void 0!==r.metallic?f.push("float metallic = materialMetallic;"):f.push("float metallic = 1.0;");void 0!==r.roughness?f.push("float roughness = materialRoughness;"):f.push("float roughness = 1.0;");void 0!==r.specularF0?f.push("float specularF0 = materialSpecularF0;"):f.push("float specularF0 = 1.0;");c&&(o&&s._normalMap||s._ambientMap||s._baseColorMap||s._diffuseMap||s._occlusionMap||s._emissiveMap||s._metallicMap||s._roughnessMap||s._metallicRoughnessMap||s._specularMap||s._glossinessMap||s._specularGlossinessMap||s._alphaMap)&&(f.push("vec4 texturePos = vec4(vUV.s, vUV.t, 1.0, 1.0);"),f.push("vec2 textureCoord;"));c&&s._ambientMap&&(s._ambientMap._state.matrix?f.push("textureCoord = (ambientMapMatrix * texturePos).xy;"):f.push("textureCoord = texturePos.xy;"),f.push("vec4 ambientTexel = texture(ambientMap, textureCoord).rgb;"),f.push("ambientTexel = "+gn[s._ambientMap._state.encoding]+"(ambientTexel);"),f.push("ambientColor *= ambientTexel.rgb;"));c&&s._diffuseMap&&(s._diffuseMap._state.matrix?f.push("textureCoord = (diffuseMapMatrix * texturePos).xy;"):f.push("textureCoord = texturePos.xy;"),f.push("vec4 diffuseTexel = texture(diffuseMap, textureCoord);"),f.push("diffuseTexel = "+gn[s._diffuseMap._state.encoding]+"(diffuseTexel);"),f.push("diffuseColor *= diffuseTexel.rgb;"),f.push("alpha *= diffuseTexel.a;"));c&&s._baseColorMap&&(s._baseColorMap._state.matrix?f.push("textureCoord = (baseColorMapMatrix * texturePos).xy;"):f.push("textureCoord = texturePos.xy;"),f.push("vec4 baseColorTexel = texture(baseColorMap, textureCoord);"),f.push("baseColorTexel = "+gn[s._baseColorMap._state.encoding]+"(baseColorTexel);"),f.push("diffuseColor *= baseColorTexel.rgb;"),f.push("alpha *= baseColorTexel.a;"));c&&s._emissiveMap&&(s._emissiveMap._state.matrix?f.push("textureCoord = (emissiveMapMatrix * texturePos).xy;"):f.push("textureCoord = texturePos.xy;"),f.push("vec4 emissiveTexel = texture(emissiveMap, textureCoord);"),f.push("emissiveTexel = "+gn[s._emissiveMap._state.encoding]+"(emissiveTexel);"),f.push("emissiveColor = emissiveTexel.rgb;"));c&&s._alphaMap&&(s._alphaMap._state.matrix?f.push("textureCoord = (alphaMapMatrix * texturePos).xy;"):f.push("textureCoord = texturePos.xy;"),f.push("alpha *= texture(alphaMap, textureCoord).r;"));c&&s._occlusionMap&&(s._occlusionMap._state.matrix?f.push("textureCoord = (occlusionMapMatrix * texturePos).xy;"):f.push("textureCoord = texturePos.xy;"),f.push("occlusion *= texture(occlusionMap, textureCoord).r;"));if(o&&(a.lights.length>0||a.lightMaps.length>0||a.reflectionMaps.length>0)){c&&s._normalMap?(s._normalMap._state.matrix?f.push("textureCoord = (normalMapMatrix * texturePos).xy;"):f.push("textureCoord = texturePos.xy;"),f.push("vec3 viewNormal = perturbNormal2Arb( vViewPosition, normalize(vViewNormal), textureCoord );")):f.push("vec3 viewNormal = normalize(vViewNormal);"),c&&s._specularMap&&(s._specularMap._state.matrix?f.push("textureCoord = (specularMapMatrix * texturePos).xy;"):f.push("textureCoord = texturePos.xy;"),f.push("specular *= texture(specularMap, textureCoord).rgb;")),c&&s._glossinessMap&&(s._glossinessMap._state.matrix?f.push("textureCoord = (glossinessMapMatrix * texturePos).xy;"):f.push("textureCoord = texturePos.xy;"),f.push("glossiness *= texture(glossinessMap, textureCoord).r;")),c&&s._specularGlossinessMap&&(s._specularGlossinessMap._state.matrix?f.push("textureCoord = (materialSpecularGlossinessMapMatrix * texturePos).xy;"):f.push("textureCoord = texturePos.xy;"),f.push("vec4 specGlossRGB = texture(materialSpecularGlossinessMap, textureCoord).rgba;"),f.push("specular *= specGlossRGB.rgb;"),f.push("glossiness *= specGlossRGB.a;")),c&&s._metallicMap&&(s._metallicMap._state.matrix?f.push("textureCoord = (metallicMapMatrix * texturePos).xy;"):f.push("textureCoord = texturePos.xy;"),f.push("metallic *= texture(metallicMap, textureCoord).r;")),c&&s._roughnessMap&&(s._roughnessMap._state.matrix?f.push("textureCoord = (roughnessMapMatrix * texturePos).xy;"):f.push("textureCoord = texturePos.xy;"),f.push("roughness *= texture(roughnessMap, textureCoord).r;")),c&&s._metallicRoughnessMap&&(s._metallicRoughnessMap._state.matrix?f.push("textureCoord = (metallicRoughnessMapMatrix * texturePos).xy;"):f.push("textureCoord = texturePos.xy;"),f.push("vec3 metalRoughRGB = texture(metallicRoughnessMap, textureCoord).rgb;"),f.push("metallic *= metalRoughRGB.b;"),f.push("roughness *= metalRoughRGB.g;")),f.push("vec3 viewEyeDir = normalize(-vViewPosition);"),s._diffuseFresnel&&(f.push("float diffuseFresnel = fresnel(viewEyeDir, viewNormal, diffuseFresnelEdgeBias, diffuseFresnelCenterBias, diffuseFresnelPower);"),f.push("diffuseColor *= mix(diffuseFresnelEdgeColor, diffuseFresnelCenterColor, diffuseFresnel);")),s._specularFresnel&&(f.push("float specularFresnel = fresnel(viewEyeDir, viewNormal, specularFresnelEdgeBias, specularFresnelCenterBias, specularFresnelPower);"),f.push("specular *= mix(specularFresnelEdgeColor, specularFresnelCenterColor, specularFresnel);")),s._alphaFresnel&&(f.push("float alphaFresnel = fresnel(viewEyeDir, viewNormal, alphaFresnelEdgeBias, alphaFresnelCenterBias, alphaFresnelPower);"),f.push("alpha *= mix(alphaFresnelEdgeColor.r, alphaFresnelCenterColor.r, alphaFresnel);")),s._emissiveFresnel&&(f.push("float emissiveFresnel = fresnel(viewEyeDir, viewNormal, emissiveFresnelEdgeBias, emissiveFresnelCenterBias, emissiveFresnelPower);"),f.push("emissiveColor *= mix(emissiveFresnelEdgeColor, emissiveFresnelCenterColor, emissiveFresnel);")),f.push("if (materialAlphaModeCutoff[1] == 1.0 && alpha < materialAlphaModeCutoff[2]) {"),f.push(" discard;"),f.push("}"),f.push("IncidentLight light;"),f.push("Material material;"),f.push("Geometry geometry;"),f.push("ReflectedLight reflectedLight = ReflectedLight(vec3(0.0,0.0,0.0), vec3(0.0,0.0,0.0));"),f.push("vec3 viewLightDir;"),u&&(f.push("material.diffuseColor = diffuseColor;"),f.push("material.specularColor = specular;"),f.push("material.shine = materialShininess;")),p&&(f.push("float oneMinusSpecularStrength = 1.0 - max(max(specular.r, specular.g ),specular.b);"),f.push("material.diffuseColor = diffuseColor * oneMinusSpecularStrength;"),f.push("material.specularRoughness = clamp( 1.0 - glossiness, 0.04, 1.0 );"),f.push("material.specularColor = specular;")),h&&(f.push("float dielectricSpecular = 0.16 * specularF0 * specularF0;"),f.push("material.diffuseColor = diffuseColor * (1.0 - dielectricSpecular) * (1.0 - metallic);"),f.push("material.specularRoughness = clamp(roughness, 0.04, 1.0);"),f.push("material.specularColor = mix(vec3(dielectricSpecular), diffuseColor, metallic);")),f.push("geometry.position = vViewPosition;"),a.lightMaps.length>0&&f.push("geometry.worldNormal = normalize(vWorldNormal);"),f.push("geometry.viewNormal = viewNormal;"),f.push("geometry.viewEyeDir = viewEyeDir;"),u&&(a.lightMaps.length>0||a.reflectionMaps.length>0)&&f.push("computePhongLightMapping(geometry, material, reflectedLight);"),(p||h)&&(a.lightMaps.length>0||a.reflectionMaps.length>0)&&f.push("computePBRLightMapping(geometry, material, reflectedLight);"),f.push("float shadow = 1.0;"),f.push("float shadowAcneRemover = 0.007;"),f.push("vec3 fragmentDepth;"),f.push("float texelSize = 1.0 / 1024.0;"),f.push("float amountInLight = 0.0;"),f.push("vec3 shadowCoord;"),f.push("vec4 rgbaDepth;"),f.push("float depth;");for(let e=0,t=a.lights.length;e0){const i=n._sectionPlanesState.sectionPlanes,r=t.renderFlags;for(let t=0;t0&&(this._uLightMap="lightMap"),i.reflectionMaps.length>0&&(this._uReflectionMap="reflectionMap"),this._uSectionPlanes=[];for(u=0,h=a.sectionPlanes.length;u0&&i.lightMaps[0].texture&&this._uLightMap&&(l.bindTexture(this._uLightMap,i.lightMaps[0].texture,e.textureUnit),e.textureUnit=(e.textureUnit+1)%t,e.bindTexture++),i.reflectionMaps.length>0&&i.reflectionMaps[0].texture&&this._uReflectionMap&&(l.bindTexture(this._uReflectionMap,i.reflectionMaps[0].texture,e.textureUnit),e.textureUnit=(e.textureUnit+1)%t,e.bindTexture++),this._uGammaFactor&&n.uniform1f(this._uGammaFactor,s.gammaFactor),this._baseTextureUnit=e.textureUnit};class Cn{constructor(e){this.vertex=function(e){const t=e.scene,s=t._lightsState,n=function(e){const t=e._geometry._state.primitiveName;if((e._geometry._state.autoVertexNormals||e._geometry._state.normalsBuf)&&("triangles"===t||"triangle-strip"===t||"triangle-fan"===t))return!0;return!1}(e),i=t._sectionPlanesState.sectionPlanes.length>0,a=!!e._geometry._state.compressGeometry,r=e._state.billboard,l=e._state.stationary,o=[];o.push("#version 300 es"),o.push("// EmphasisFillShaderSource vertex shader"),o.push("in vec3 position;"),o.push("uniform mat4 modelMatrix;"),o.push("uniform mat4 viewMatrix;"),o.push("uniform mat4 projMatrix;"),o.push("uniform vec4 colorize;"),o.push("uniform vec3 offset;"),a&&o.push("uniform mat4 positionsDecodeMatrix;");t.logarithmicDepthBufferEnabled&&(o.push("uniform float logDepthBufFC;"),o.push("out float vFragDepth;"),o.push("bool isPerspectiveMatrix(mat4 m) {"),o.push(" return (m[2][3] == - 1.0);"),o.push("}"),o.push("out float isPerspective;"));i&&o.push("out vec4 vWorldPosition;");if(o.push("uniform vec4 lightAmbient;"),o.push("uniform vec4 fillColor;"),n){o.push("in vec3 normal;"),o.push("uniform mat4 modelNormalMatrix;"),o.push("uniform mat4 viewNormalMatrix;");for(let e=0,t=s.lights.length;e= 0.0 ? 1.0 : -1.0, v.y >= 0.0 ? 1.0 : -1.0);"),o.push(" }"),o.push(" return normalize(v);"),o.push("}"))}o.push("out vec4 vColor;"),("spherical"===r||"cylindrical"===r)&&(o.push("void billboard(inout mat4 mat) {"),o.push(" mat[0][0] = 1.0;"),o.push(" mat[0][1] = 0.0;"),o.push(" mat[0][2] = 0.0;"),"spherical"===r&&(o.push(" mat[1][0] = 0.0;"),o.push(" mat[1][1] = 1.0;"),o.push(" mat[1][2] = 0.0;")),o.push(" mat[2][0] = 0.0;"),o.push(" mat[2][1] = 0.0;"),o.push(" mat[2][2] =1.0;"),o.push("}"));o.push("void main(void) {"),o.push("vec4 localPosition = vec4(position, 1.0); "),o.push("vec4 worldPosition;"),a&&o.push("localPosition = positionsDecodeMatrix * localPosition;");n&&(a?o.push("vec4 localNormal = vec4(octDecode(normal.xy), 0.0); "):o.push("vec4 localNormal = vec4(normal, 0.0); "),o.push("mat4 modelNormalMatrix2 = modelNormalMatrix;"),o.push("mat4 viewNormalMatrix2 = viewNormalMatrix;"));o.push("mat4 viewMatrix2 = viewMatrix;"),o.push("mat4 modelMatrix2 = modelMatrix;"),l&&o.push("viewMatrix2[3][0] = viewMatrix2[3][1] = viewMatrix2[3][2] = 0.0;");"spherical"===r||"cylindrical"===r?(o.push("mat4 modelViewMatrix = viewMatrix2 * modelMatrix2;"),o.push("billboard(modelMatrix2);"),o.push("billboard(viewMatrix2);"),o.push("billboard(modelViewMatrix);"),n&&(o.push("mat4 modelViewNormalMatrix = viewNormalMatrix2 * modelNormalMatrix2;"),o.push("billboard(modelNormalMatrix2);"),o.push("billboard(viewNormalMatrix2);"),o.push("billboard(modelViewNormalMatrix);")),o.push("worldPosition = modelMatrix2 * localPosition;"),o.push("vec4 viewPosition = modelViewMatrix * localPosition;")):(o.push("worldPosition = modelMatrix2 * localPosition;"),o.push("worldPosition.xyz = worldPosition.xyz + offset;"),o.push("vec4 viewPosition = viewMatrix2 * worldPosition; "));n&&o.push("vec3 viewNormal = normalize((viewNormalMatrix2 * modelNormalMatrix2 * localNormal).xyz);");if(o.push("vec3 reflectedColor = vec3(0.0, 0.0, 0.0);"),o.push("vec3 viewLightDir = vec3(0.0, 0.0, -1.0);"),o.push("float lambertian = 1.0;"),n)for(let e=0,t=s.lights.length;e0,a=[];a.push("#version 300 es"),a.push("// Lambertian drawing fragment shader"),a.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),a.push("precision highp float;"),a.push("precision highp int;"),a.push("#else"),a.push("precision mediump float;"),a.push("precision mediump int;"),a.push("#endif"),t.logarithmicDepthBufferEnabled&&(a.push("in float isPerspective;"),a.push("uniform float logDepthBufFC;"),a.push("in float vFragDepth;"));n&&(a.push("uniform float gammaFactor;"),a.push("vec4 linearToGamma( in vec4 value, in float gammaFactor ) {"),a.push(" return vec4( pow( value.xyz, vec3( 1.0 / gammaFactor ) ), value.w );"),a.push("}"));if(i){a.push("in vec4 vWorldPosition;"),a.push("uniform bool clippable;");for(let e=0,t=s.getNumAllocatedSectionPlanes();e 0.0) { discard; }"),a.push("}")}"points"===e._geometry._state.primitiveName&&(a.push("vec2 cxy = 2.0 * gl_PointCoord - 1.0;"),a.push("float r = dot(cxy, cxy);"),a.push("if (r > 1.0) {"),a.push(" discard;"),a.push("}"));t.logarithmicDepthBufferEnabled&&a.push("gl_FragDepth = isPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5;");n?a.push("outColor = linearToGamma(vColor, gammaFactor);"):a.push("outColor = vColor;");return a.push("}"),a}(e)}}const _n=new e({}),Bn=A.vec3(),On=function(e,t){this.id=_n.addItem({}),this._hash=e,this._scene=t.scene,this._useCount=0,this._shaderSource=new Cn(t),this._allocate(t)},Sn={};On.get=function(e){const t=[e.scene.id,e.scene.gammaOutput?"go":"",e.scene._sectionPlanesState.getHash(),e._geometry._state.normalsBuf?"n":"",e._geometry._state.compressGeometry?"cp":"",e._state.hash].join(";");let s=Sn[t];return s||(s=new On(t,e),Sn[t]=s,y.memory.programs++),s._useCount++,s},On.prototype.put=function(){0==--this._useCount&&(_n.removeItem(this.id),this._program&&this._program.destroy(),delete Sn[this._hash],y.memory.programs--)},On.prototype.webglContextRestored=function(){this._program=null},On.prototype.drawMesh=function(e,t,s){this._program||this._allocate(t);const n=this._scene,i=n.camera,a=n.canvas.gl,r=0===s?t._xrayMaterial._state:1===s?t._highlightMaterial._state:t._selectedMaterial._state,l=t._state,o=t._geometry._state,c=t.origin;if(e.lastProgramId!==this._program.id&&(e.lastProgramId=this._program.id,this._bindProgram(e)),a.uniformMatrix4fv(this._uViewMatrix,!1,c?e.getRTCViewMatrix(l.originHash,c):i.viewMatrix),a.uniformMatrix4fv(this._uViewNormalMatrix,!1,i.viewNormalMatrix),l.clippable){const e=n._sectionPlanesState.getNumAllocatedSectionPlanes(),s=n._sectionPlanesState.sectionPlanes.length;if(e>0){const i=n._sectionPlanesState.sectionPlanes,r=t.renderFlags;for(let t=0;t0,n=!!e._geometry._state.compressGeometry,i=e._state.billboard,a=e._state.stationary,r=[];r.push("#version 300 es"),r.push("// Edges drawing vertex shader"),r.push("in vec3 position;"),r.push("uniform mat4 modelMatrix;"),r.push("uniform mat4 viewMatrix;"),r.push("uniform mat4 projMatrix;"),r.push("uniform vec4 edgeColor;"),r.push("uniform vec3 offset;"),n&&r.push("uniform mat4 positionsDecodeMatrix;");t.logarithmicDepthBufferEnabled&&(r.push("uniform float logDepthBufFC;"),r.push("out float vFragDepth;"),r.push("bool isPerspectiveMatrix(mat4 m) {"),r.push(" return (m[2][3] == - 1.0);"),r.push("}"),r.push("out float isPerspective;"));s&&r.push("out vec4 vWorldPosition;");r.push("out vec4 vColor;"),("spherical"===i||"cylindrical"===i)&&(r.push("void billboard(inout mat4 mat) {"),r.push(" mat[0][0] = 1.0;"),r.push(" mat[0][1] = 0.0;"),r.push(" mat[0][2] = 0.0;"),"spherical"===i&&(r.push(" mat[1][0] = 0.0;"),r.push(" mat[1][1] = 1.0;"),r.push(" mat[1][2] = 0.0;")),r.push(" mat[2][0] = 0.0;"),r.push(" mat[2][1] = 0.0;"),r.push(" mat[2][2] =1.0;"),r.push("}"));r.push("void main(void) {"),r.push("vec4 localPosition = vec4(position, 1.0); "),r.push("vec4 worldPosition;"),n&&r.push("localPosition = positionsDecodeMatrix * localPosition;");r.push("mat4 viewMatrix2 = viewMatrix;"),r.push("mat4 modelMatrix2 = modelMatrix;"),a&&r.push("viewMatrix2[3][0] = viewMatrix2[3][1] = viewMatrix2[3][2] = 0.0;");"spherical"===i||"cylindrical"===i?(r.push("mat4 modelViewMatrix = viewMatrix2 * modelMatrix2;"),r.push("billboard(modelMatrix2);"),r.push("billboard(viewMatrix2);"),r.push("billboard(modelViewMatrix);"),r.push("worldPosition = modelMatrix2 * localPosition;"),r.push("worldPosition.xyz = worldPosition.xyz + offset;"),r.push("vec4 viewPosition = modelViewMatrix * localPosition;")):(r.push("worldPosition = modelMatrix2 * localPosition;"),r.push("worldPosition.xyz = worldPosition.xyz + offset;"),r.push("vec4 viewPosition = viewMatrix2 * worldPosition; "));r.push("vColor = edgeColor;"),s&&r.push("vWorldPosition = worldPosition;");r.push("vec4 clipPos = projMatrix * viewPosition;"),t.logarithmicDepthBufferEnabled&&(r.push("vFragDepth = 1.0 + clipPos.w;"),r.push("isPerspective = float (isPerspectiveMatrix(projMatrix));"));return r.push("gl_Position = clipPos;"),r.push("}"),r}(e),this.fragment=function(e){const t=e.scene,s=e.scene._sectionPlanesState,n=e.scene.gammaOutput,i=s.getNumAllocatedSectionPlanes()>0,a=[];a.push("#version 300 es"),a.push("// Edges drawing fragment shader"),a.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),a.push("precision highp float;"),a.push("precision highp int;"),a.push("#else"),a.push("precision mediump float;"),a.push("precision mediump int;"),a.push("#endif"),t.logarithmicDepthBufferEnabled&&(a.push("in float isPerspective;"),a.push("uniform float logDepthBufFC;"),a.push("in float vFragDepth;"));n&&(a.push("uniform float gammaFactor;"),a.push("vec4 linearToGamma( in vec4 value, in float gammaFactor ) {"),a.push(" return vec4( pow( value.xyz, vec3( 1.0 / gammaFactor ) ), value.w );"),a.push("}"));if(i){a.push("in vec4 vWorldPosition;"),a.push("uniform bool clippable;");for(let e=0,t=s.getNumAllocatedSectionPlanes();e 0.0) { discard; }"),a.push("}")}t.logarithmicDepthBufferEnabled&&a.push("gl_FragDepth = isPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5;");n?a.push("outColor = linearToGamma(vColor, gammaFactor);"):a.push("outColor = vColor;");return a.push("}"),a}(e)}}const xn=new e({}),Ln=A.vec3(),Mn=function(e,t){this.id=xn.addItem({}),this._hash=e,this._scene=t.scene,this._useCount=0,this._shaderSource=new Nn(t),this._allocate(t)},Fn={};Mn.get=function(e){const t=[e.scene.id,e.scene.gammaOutput?"go":"",e.scene._sectionPlanesState.getHash(),e._geometry._state.compressGeometry?"cp":"",e._state.hash].join(";");let s=Fn[t];return s||(s=new Mn(t,e),Fn[t]=s,y.memory.programs++),s._useCount++,s},Mn.prototype.put=function(){0==--this._useCount&&(xn.removeItem(this.id),this._program&&this._program.destroy(),delete Fn[this._hash],y.memory.programs--)},Mn.prototype.webglContextRestored=function(){this._program=null},Mn.prototype.drawMesh=function(e,t,s){this._program||this._allocate(t);const n=this._scene,i=n.camera,a=n.canvas.gl;let r;const l=t._state,o=t._geometry,c=o._state,u=t.origin;if(e.lastProgramId!==this._program.id&&(e.lastProgramId=this._program.id,this._bindProgram(e)),a.uniformMatrix4fv(this._uViewMatrix,!1,u?e.getRTCViewMatrix(l.originHash,u):i.viewMatrix),l.clippable){const e=n._sectionPlanesState.getNumAllocatedSectionPlanes(),s=n._sectionPlanesState.sectionPlanes.length;if(e>0){const i=n._sectionPlanesState.sectionPlanes,r=t.renderFlags;for(let t=0;t0,n=!!e._geometry._state.compressGeometry,i=e._state.billboard,a=e._state.stationary,r=[];r.push("#version 300 es"),r.push("// Mesh picking vertex shader"),r.push("in vec3 position;"),r.push("uniform mat4 modelMatrix;"),r.push("uniform mat4 viewMatrix;"),r.push("uniform mat4 projMatrix;"),r.push("out vec4 vViewPosition;"),r.push("uniform vec3 offset;"),n&&r.push("uniform mat4 positionsDecodeMatrix;");s&&r.push("out vec4 vWorldPosition;");t.logarithmicDepthBufferEnabled&&(r.push("uniform float logDepthBufFC;"),r.push("out float vFragDepth;"),r.push("bool isPerspectiveMatrix(mat4 m) {"),r.push(" return (m[2][3] == - 1.0);"),r.push("}"),r.push("out float isPerspective;"));"spherical"!==i&&"cylindrical"!==i||(r.push("void billboard(inout mat4 mat) {"),r.push(" mat[0][0] = 1.0;"),r.push(" mat[0][1] = 0.0;"),r.push(" mat[0][2] = 0.0;"),"spherical"===i&&(r.push(" mat[1][0] = 0.0;"),r.push(" mat[1][1] = 1.0;"),r.push(" mat[1][2] = 0.0;")),r.push(" mat[2][0] = 0.0;"),r.push(" mat[2][1] = 0.0;"),r.push(" mat[2][2] =1.0;"),r.push("}"));r.push("uniform vec2 pickClipPos;"),r.push("vec4 remapClipPos(vec4 clipPos) {"),r.push(" clipPos.xy /= clipPos.w;"),r.push(" clipPos.xy -= pickClipPos;"),r.push(" clipPos.xy *= clipPos.w;"),r.push(" return clipPos;"),r.push("}"),r.push("void main(void) {"),r.push("vec4 localPosition = vec4(position, 1.0); "),n&&r.push("localPosition = positionsDecodeMatrix * localPosition;");r.push("mat4 viewMatrix2 = viewMatrix;"),r.push("mat4 modelMatrix2 = modelMatrix;"),a&&r.push("viewMatrix2[3][0] = viewMatrix2[3][1] = viewMatrix2[3][2] = 0.0;");"spherical"!==i&&"cylindrical"!==i||(r.push("mat4 modelViewMatrix = viewMatrix2 * modelMatrix2;"),r.push("billboard(modelMatrix2);"),r.push("billboard(viewMatrix2);"));r.push(" vec4 worldPosition = modelMatrix2 * localPosition;"),r.push(" worldPosition.xyz = worldPosition.xyz + offset;"),r.push(" vec4 viewPosition = viewMatrix2 * worldPosition;"),s&&r.push(" vWorldPosition = worldPosition;");r.push("vec4 clipPos = projMatrix * viewPosition;"),t.logarithmicDepthBufferEnabled&&(r.push("vFragDepth = 1.0 + clipPos.w;"),r.push("isPerspective = float (isPerspectiveMatrix(projMatrix));"));return r.push("gl_Position = remapClipPos(clipPos);"),r.push("}"),r}(e),this.fragment=function(e){const t=e.scene,s=t._sectionPlanesState,n=s.getNumAllocatedSectionPlanes()>0,i=[];i.push("#version 300 es"),i.push("// Mesh picking fragment shader"),i.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),i.push("precision highp float;"),i.push("precision highp int;"),i.push("#else"),i.push("precision mediump float;"),i.push("precision mediump int;"),i.push("#endif"),t.logarithmicDepthBufferEnabled&&(i.push("in float isPerspective;"),i.push("uniform float logDepthBufFC;"),i.push("in float vFragDepth;"));if(i.push("uniform vec4 pickColor;"),n){i.push("uniform bool clippable;"),i.push("in vec4 vWorldPosition;");for(var a=0;a 0.0) { discard; }"),i.push("}")}t.logarithmicDepthBufferEnabled&&i.push("gl_FragDepth = isPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5;");return i.push(" outColor = pickColor; "),i.push("}"),i}(e)}}const Un=A.vec3(),Gn=function(e,t){this._hash=e,this._shaderSource=new Hn(t),this._scene=t.scene,this._useCount=0,this._allocate(t)},jn={};Gn.get=function(e){const t=[e.scene.canvas.canvas.id,e.scene._sectionPlanesState.getHash(),e._geometry._state.hash,e._state.hash].join(";");let s=jn[t];if(!s){if(s=new Gn(t,e),s.errors)return console.log(s.errors.join("\n")),null;jn[t]=s,y.memory.programs++}return s._useCount++,s},Gn.prototype.put=function(){0==--this._useCount&&(this._program&&this._program.destroy(),delete jn[this._hash],y.memory.programs--)},Gn.prototype.webglContextRestored=function(){this._program=null},Gn.prototype.drawMesh=function(e,t){this._program||this._allocate(t);const s=this._scene,n=s.canvas.gl,i=t._state,a=t._material._state,r=t._geometry._state,l=t.origin;if(e.lastProgramId!==this._program.id&&(e.lastProgramId=this._program.id,this._bindProgram(e)),n.uniformMatrix4fv(this._uViewMatrix,!1,l?e.getRTCPickViewMatrix(i.originHash,l):e.pickViewMatrix),i.clippable){const e=s._sectionPlanesState.getNumAllocatedSectionPlanes(),i=s._sectionPlanesState.sectionPlanes.length;if(e>0){const a=s._sectionPlanesState.sectionPlanes,r=t.renderFlags;for(let t=0;t>24&255,u=o>>16&255,h=o>>8&255,p=255&o;n.uniform4f(this._uPickColor,p/255,h/255,u/255,c/255),n.uniform2fv(this._uPickClipPos,e.pickClipPos),r.indicesBuf?(n.drawElements(r.primitive,r.indicesBuf.numItems,r.indicesBuf.itemType,0),e.drawElements++):r.positions&&n.drawArrays(n.TRIANGLES,0,r.positions.numItems)},Gn.prototype._allocate=function(e){const t=e.scene,s=t.canvas.gl;if(this._program=new Fe(s,this._shaderSource),this._program.errors)return void(this.errors=this._program.errors);const n=this._program;this._uPositionsDecodeMatrix=n.getLocation("positionsDecodeMatrix"),this._uModelMatrix=n.getLocation("modelMatrix"),this._uViewMatrix=n.getLocation("viewMatrix"),this._uProjMatrix=n.getLocation("projMatrix"),this._uSectionPlanes=[];for(let e=0,s=t._sectionPlanesState.sectionPlanes.length;e0,n=!!e._geometry._state.compressGeometry,i=[];i.push("#version 300 es"),i.push("// Surface picking vertex shader"),i.push("in vec3 position;"),i.push("in vec4 color;"),i.push("uniform mat4 modelMatrix;"),i.push("uniform mat4 viewMatrix;"),i.push("uniform mat4 projMatrix;"),i.push("uniform vec3 offset;"),s&&(i.push("uniform bool clippable;"),i.push("out vec4 vWorldPosition;"));t.logarithmicDepthBufferEnabled&&(i.push("uniform float logDepthBufFC;"),i.push("out float vFragDepth;"),i.push("bool isPerspectiveMatrix(mat4 m) {"),i.push(" return (m[2][3] == - 1.0);"),i.push("}"),i.push("out float isPerspective;"));i.push("uniform vec2 pickClipPos;"),i.push("vec4 remapClipPos(vec4 clipPos) {"),i.push(" clipPos.xy /= clipPos.w;"),i.push(" clipPos.xy -= pickClipPos;"),i.push(" clipPos.xy *= clipPos.w;"),i.push(" return clipPos;"),i.push("}"),i.push("out vec4 vColor;"),n&&i.push("uniform mat4 positionsDecodeMatrix;");i.push("void main(void) {"),i.push("vec4 localPosition = vec4(position, 1.0); "),n&&i.push("localPosition = positionsDecodeMatrix * localPosition;");i.push(" vec4 worldPosition = modelMatrix * localPosition; "),i.push(" worldPosition.xyz = worldPosition.xyz + offset;"),i.push(" vec4 viewPosition = viewMatrix * worldPosition;"),s&&i.push(" vWorldPosition = worldPosition;");i.push(" vColor = color;"),i.push("vec4 clipPos = projMatrix * viewPosition;"),t.logarithmicDepthBufferEnabled&&(i.push("vFragDepth = 1.0 + clipPos.w;"),i.push("isPerspective = float (isPerspectiveMatrix(projMatrix));"));return i.push("gl_Position = remapClipPos(clipPos);"),i.push("}"),i}(e),this.fragment=function(e){const t=e.scene,s=t._sectionPlanesState,n=s.getNumAllocatedSectionPlanes()>0,i=[];i.push("#version 300 es"),i.push("// Surface picking fragment shader"),i.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),i.push("precision highp float;"),i.push("precision highp int;"),i.push("#else"),i.push("precision mediump float;"),i.push("precision mediump int;"),i.push("#endif"),i.push("in vec4 vColor;"),t.logarithmicDepthBufferEnabled&&(i.push("in float isPerspective;"),i.push("uniform float logDepthBufFC;"),i.push("in float vFragDepth;"));if(n){i.push("uniform bool clippable;"),i.push("in vec4 vWorldPosition;");for(let e=0;e 0.0) { discard; }"),i.push("}")}t.logarithmicDepthBufferEnabled&&i.push("gl_FragDepth = isPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5;");return i.push(" outColor = vColor;"),i.push("}"),i}(e)}}const kn=A.vec3(),Qn=function(e,t){this._hash=e,this._scene=t.scene,this._useCount=0,this._shaderSource=new Vn(t),this._allocate(t)},Wn={};Qn.get=function(e){const t=[e.scene.canvas.canvas.id,e.scene._sectionPlanesState.getHash(),e._geometry._state.compressGeometry?"cp":"",e._state.hash].join(";");let s=Wn[t];if(!s){if(s=new Qn(t,e),s.errors)return console.log(s.errors.join("\n")),null;Wn[t]=s,y.memory.programs++}return s._useCount++,s},Qn.prototype.put=function(){0==--this._useCount&&(this._program&&this._program.destroy(),delete Wn[this._hash],y.memory.programs--)},Qn.prototype.webglContextRestored=function(){this._program=null},Qn.prototype.drawMesh=function(e,t){this._program||this._allocate(t);const s=this._scene,n=s.canvas.gl,i=t._state,a=t._material._state,r=t._geometry,l=t._geometry._state,o=t.origin,c=a.backfaces,u=a.frontface,h=s.camera.project,p=r._getPickTrianglePositions(),A=r._getPickTriangleColors();if(this._program.bind(),e.useProgram++,s.logarithmicDepthBufferEnabled){const e=2/(Math.log(h.far+1)/Math.LN2);n.uniform1f(this._uLogDepthBufFC,e)}if(n.uniformMatrix4fv(this._uViewMatrix,!1,o?e.getRTCPickViewMatrix(i.originHash,o):e.pickViewMatrix),i.clippable){const e=s._sectionPlanesState.getNumAllocatedSectionPlanes(),i=s._sectionPlanesState.sectionPlanes.length;if(e>0){const a=s._sectionPlanesState.sectionPlanes,r=t.renderFlags;for(let t=0;t0,n=!!e._geometry._state.compressGeometry,i=e._state.billboard,a=e._state.stationary,r=[];r.push("#version 300 es"),r.push("// Mesh occlusion vertex shader"),r.push("in vec3 position;"),r.push("uniform mat4 modelMatrix;"),r.push("uniform mat4 viewMatrix;"),r.push("uniform mat4 projMatrix;"),r.push("uniform vec3 offset;"),n&&r.push("uniform mat4 positionsDecodeMatrix;");s&&r.push("out vec4 vWorldPosition;");t.logarithmicDepthBufferEnabled&&(r.push("uniform float logDepthBufFC;"),r.push("out float vFragDepth;"),r.push("bool isPerspectiveMatrix(mat4 m) {"),r.push(" return (m[2][3] == - 1.0);"),r.push("}"),r.push("out float isPerspective;"));"spherical"!==i&&"cylindrical"!==i||(r.push("void billboard(inout mat4 mat) {"),r.push(" mat[0][0] = 1.0;"),r.push(" mat[0][1] = 0.0;"),r.push(" mat[0][2] = 0.0;"),"spherical"===i&&(r.push(" mat[1][0] = 0.0;"),r.push(" mat[1][1] = 1.0;"),r.push(" mat[1][2] = 0.0;")),r.push(" mat[2][0] = 0.0;"),r.push(" mat[2][1] = 0.0;"),r.push(" mat[2][2] =1.0;"),r.push("}"));r.push("void main(void) {"),r.push("vec4 localPosition = vec4(position, 1.0); "),r.push("vec4 worldPosition;"),n&&r.push("localPosition = positionsDecodeMatrix * localPosition;");r.push("mat4 viewMatrix2 = viewMatrix;"),r.push("mat4 modelMatrix2 = modelMatrix;"),a&&r.push("viewMatrix2[3][0] = viewMatrix2[3][1] = viewMatrix2[3][2] = 0.0;");"spherical"===i||"cylindrical"===i?(r.push("mat4 modelViewMatrix = viewMatrix2 * modelMatrix2;"),r.push("billboard(modelMatrix2);"),r.push("billboard(viewMatrix2);"),r.push("billboard(modelViewMatrix);"),r.push("worldPosition = modelMatrix2 * localPosition;"),r.push("worldPosition.xyz = worldPosition.xyz + offset;"),r.push("vec4 viewPosition = modelViewMatrix * localPosition;")):(r.push("worldPosition = modelMatrix2 * localPosition;"),r.push("worldPosition.xyz = worldPosition.xyz + offset;"),r.push("vec4 viewPosition = viewMatrix2 * worldPosition; "));s&&r.push(" vWorldPosition = worldPosition;");r.push("vec4 clipPos = projMatrix * viewPosition;"),t.logarithmicDepthBufferEnabled&&(r.push("vFragDepth = 1.0 + clipPos.w;"),r.push("isPerspective = float (isPerspectiveMatrix(projMatrix));"));return r.push("gl_Position = clipPos;"),r.push("}"),r}(e),this.fragment=function(e){const t=e.scene,s=t._sectionPlanesState,n=s.getNumAllocatedSectionPlanes()>0,i=[];i.push("#version 300 es"),i.push("// Mesh occlusion fragment shader"),i.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),i.push("precision highp float;"),i.push("precision highp int;"),i.push("#else"),i.push("precision mediump float;"),i.push("precision mediump int;"),i.push("#endif"),t.logarithmicDepthBufferEnabled&&(i.push("in float isPerspective;"),i.push("uniform float logDepthBufFC;"),i.push("in float vFragDepth;"));if(n){i.push("uniform bool clippable;"),i.push("in vec4 vWorldPosition;");for(var a=0;a 0.0) { discard; }"),i.push("}")}i.push(" outColor = vec4(0.0, 0.0, 1.0, 1.0); "),t.logarithmicDepthBufferEnabled&&i.push("gl_FragDepth = isPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5;");return i.push("}"),i}(e)}}const Kn=A.vec3(),Yn=function(e,t){this._hash=e,this._shaderSource=new zn(t),this._scene=t.scene,this._useCount=0,this._allocate(t)},Xn={};Yn.get=function(e){const t=[e.scene.canvas.canvas.id,e.scene._sectionPlanesState.getHash(),e._geometry._state.hash,e._state.occlusionHash].join(";");let s=Xn[t];if(!s){if(s=new Yn(t,e),s.errors)return console.log(s.errors.join("\n")),null;Xn[t]=s,y.memory.programs++}return s._useCount++,s},Yn.prototype.put=function(){0==--this._useCount&&(this._program&&this._program.destroy(),delete Xn[this._hash],y.memory.programs--)},Yn.prototype.webglContextRestored=function(){this._program=null},Yn.prototype.drawMesh=function(e,t){this._program||this._allocate(t);const s=this._scene,n=s.canvas.gl,i=t._material._state,a=t._state,r=t._geometry._state,l=t.origin;if(e.lastProgramId!==this._program.id&&(e.lastProgramId=this._program.id,this._bindProgram(e)),i.id!==this._lastMaterialId){const t=i.backfaces;e.backfaces!==t&&(t?n.disable(n.CULL_FACE):n.enable(n.CULL_FACE),e.backfaces=t);const s=i.frontface;e.frontface!==s&&(s?n.frontFace(n.CCW):n.frontFace(n.CW),e.frontface=s),this._lastMaterialId=i.id}const o=s.camera;if(n.uniformMatrix4fv(this._uViewMatrix,!1,l?e.getRTCViewMatrix(a.originHash,l):o.viewMatrix),a.clippable){const e=s._sectionPlanesState.getNumAllocatedSectionPlanes(),i=s._sectionPlanesState.sectionPlanes.length;if(e>0){const a=s._sectionPlanesState.sectionPlanes,r=t.renderFlags;for(let t=0;t0,s=!!e._geometry._state.compressGeometry,n=[];n.push("// Mesh shadow vertex shader"),n.push("in vec3 position;"),n.push("uniform mat4 modelMatrix;"),n.push("uniform mat4 shadowViewMatrix;"),n.push("uniform mat4 shadowProjMatrix;"),n.push("uniform vec3 offset;"),s&&n.push("uniform mat4 positionsDecodeMatrix;");t&&n.push("out vec4 vWorldPosition;");n.push("void main(void) {"),n.push("vec4 localPosition = vec4(position, 1.0); "),n.push("vec4 worldPosition;"),s&&n.push("localPosition = positionsDecodeMatrix * localPosition;");n.push("worldPosition = modelMatrix * localPosition;"),n.push("worldPosition.xyz = worldPosition.xyz + offset;"),n.push("vec4 viewPosition = shadowViewMatrix * worldPosition; "),t&&n.push("vWorldPosition = worldPosition;");return n.push(" gl_Position = shadowProjMatrix * viewPosition;"),n.push("}"),n}(e),this.fragment=function(e){const t=e.scene;t.canvas.gl;const s=t._sectionPlanesState,n=s.getNumAllocatedSectionPlanes()>0,i=[];if(i.push("// Mesh shadow fragment shader"),i.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),i.push("precision highp float;"),i.push("precision highp int;"),i.push("#else"),i.push("precision mediump float;"),i.push("precision mediump int;"),i.push("#endif"),n){i.push("uniform bool clippable;"),i.push("in vec4 vWorldPosition;");for(var a=0;a 0.0) { discard; }"),i.push("}")}return i.push("outColor = encodeFloat(gl_FragCoord.z);"),i.push("}"),i}(e)}}const Jn=function(e,t){this._hash=e,this._shaderSource=new qn(t),this._scene=t.scene,this._useCount=0,this._allocate(t)},Zn={};Jn.get=function(e){const t=e.scene,s=[t.canvas.canvas.id,t._sectionPlanesState.getHash(),e._geometry._state.hash,e._state.hash].join(";");let n=Zn[s];if(!n){if(n=new Jn(s,e),n.errors)return console.log(n.errors.join("\n")),null;Zn[s]=n,y.memory.programs++}return n._useCount++,n},Jn.prototype.put=function(){0==--this._useCount&&(this._program&&this._program.destroy(),delete Zn[this._hash],y.memory.programs--)},Jn.prototype.webglContextRestored=function(){this._program=null},Jn.prototype.drawMesh=function(e,t){this._program||this._allocate(t);const s=this._scene.canvas.gl,n=t._material._state,i=t._geometry._state;if(e.lastProgramId!==this._program.id&&(e.lastProgramId=this._program.id,this._bindProgram(e)),n.id!==this._lastMaterialId){const t=n.backfaces;e.backfaces!==t&&(t?s.disable(s.CULL_FACE):s.enable(s.CULL_FACE),e.backfaces=t);const i=n.frontface;e.frontface!==i&&(i?s.frontFace(s.CCW):s.frontFace(s.CW),e.frontface=i),e.lineWidth!==n.lineWidth&&(s.lineWidth(n.lineWidth),e.lineWidth=n.lineWidth),this._uPointSize&&s.uniform1i(this._uPointSize,n.pointSize),this._lastMaterialId=n.id}if(s.uniformMatrix4fv(this._uModelMatrix,s.FALSE,t.worldMatrix),i.combineGeometry){const n=t.vertexBufs;n.id!==this._lastVertexBufsId&&(n.positionsBuf&&this._aPosition&&(this._aPosition.bindArrayBuffer(n.positionsBuf,n.compressGeometry?s.UNSIGNED_SHORT:s.FLOAT),e.bindArray++),this._lastVertexBufsId=n.id)}this._uClippable&&s.uniform1i(this._uClippable,t._state.clippable),s.uniform3fv(this._uOffset,t._state.offset),i.id!==this._lastGeometryId&&(this._uPositionsDecodeMatrix&&s.uniformMatrix4fv(this._uPositionsDecodeMatrix,!1,i.positionsDecodeMatrix),i.combineGeometry?i.indicesBufCombined&&(i.indicesBufCombined.bind(),e.bindArray++):(this._aPosition&&(this._aPosition.bindArrayBuffer(i.positionsBuf,i.compressGeometry?s.UNSIGNED_SHORT:s.FLOAT),e.bindArray++),i.indicesBuf&&(i.indicesBuf.bind(),e.bindArray++)),this._lastGeometryId=i.id),i.combineGeometry?i.indicesBufCombined&&(s.drawElements(i.primitive,i.indicesBufCombined.numItems,i.indicesBufCombined.itemType,0),e.drawElements++):i.indicesBuf?(s.drawElements(i.primitive,i.indicesBuf.numItems,i.indicesBuf.itemType,0),e.drawElements++):i.positions&&(s.drawArrays(s.TRIANGLES,0,i.positions.numItems),e.drawArrays++)},Jn.prototype._allocate=function(e){const t=e.scene,s=t.canvas.gl;if(this._program=new Fe(s,this._shaderSource),this._scene=t,this._useCount=0,this._program.errors)return void(this.errors=this._program.errors);const n=this._program;this._uPositionsDecodeMatrix=n.getLocation("positionsDecodeMatrix"),this._uModelMatrix=n.getLocation("modelMatrix"),this._uShadowViewMatrix=n.getLocation("shadowViewMatrix"),this._uShadowProjMatrix=n.getLocation("shadowProjMatrix"),this._uSectionPlanes={};for(let e=0,s=t._sectionPlanesState.sectionPlanes.length;e0){let e,t,i,a,r;for(let l=0,o=this._uSectionPlanes.length;l0)for(let s=0;s0!==e))&&this.scene._objectOffsetUpdated(this,!1)),this._isModel&&this.scene._deregisterModel(this),this.glRedraw()}}const hi=function(){const e=A.vec3(),t=A.vec3(),s=A.vec3(),n=A.vec3(),i=A.vec3(),a=A.vec3(),r=A.vec4(),l=A.vec3(),o=A.vec3(),c=A.vec3(),u=A.vec3(),h=A.vec3(),p=A.vec3(),d=A.vec3(),f=A.vec3(),I=A.vec3(),y=A.vec4(),m=A.vec4(),v=A.vec4(),w=A.vec3(),g=A.vec3(),E=A.vec3(),T=A.vec3(),b=A.vec3(),D=A.vec3(),P=A.vec3(),R=A.vec3(),C=A.vec3(),_=A.vec3(),B=A.vec3();return function(O,S,N,x){var L=x.primIndex;if(null!=L&&L>-1){const U=O.geometry._state,G=O.scene,j=G.camera,V=G.canvas;if("triangles"===U.primitiveName){x.primitive="triangle";const G=L,k=U.indices,W=U.positions;let z,K,Y;if(k){var M=k[G+0],F=k[G+1],H=k[G+2];a[0]=M,a[1]=F,a[2]=H,x.indices=a,z=3*M,K=3*F,Y=3*H}else z=3*G,K=z+3,Y=K+3;if(s[0]=W[z+0],s[1]=W[z+1],s[2]=W[z+2],n[0]=W[K+0],n[1]=W[K+1],n[2]=W[K+2],i[0]=W[Y+0],i[1]=W[Y+1],i[2]=W[Y+2],U.compressGeometry){const e=U.positionsDecodeMatrix;e&&(Ft.decompressPosition(s,e,s),Ft.decompressPosition(n,e,n),Ft.decompressPosition(i,e,i))}x.canvasPos?A.canvasPosToLocalRay(V.canvas,O.origin?Q(S,O.origin):S,N,O.worldMatrix,x.canvasPos,e,t):x.origin&&x.direction&&A.worldRayToLocalRay(O.worldMatrix,x.origin,x.direction,e,t),A.normalizeVec3(t),A.rayPlaneIntersect(e,t,s,n,i,r),x.localPos=r,x.position=r,y[0]=r[0],y[1]=r[1],y[2]=r[2],y[3]=1,A.transformVec4(O.worldMatrix,y,m),l[0]=m[0],l[1]=m[1],l[2]=m[2],x.canvasPos&&O.origin&&(l[0]+=O.origin[0],l[1]+=O.origin[1],l[2]+=O.origin[2]),x.worldPos=l,A.transformVec4(j.matrix,m,v),o[0]=v[0],o[1]=v[1],o[2]=v[2],x.viewPos=o,A.cartesianToBarycentric(r,s,n,i,c),x.bary=c;const X=U.normals;if(X){if(U.compressGeometry){const e=3*M,t=3*F,s=3*H;Ft.decompressNormal(X.subarray(e,e+2),u),Ft.decompressNormal(X.subarray(t,t+2),h),Ft.decompressNormal(X.subarray(s,s+2),p)}else u[0]=X[z],u[1]=X[z+1],u[2]=X[z+2],h[0]=X[K],h[1]=X[K+1],h[2]=X[K+2],p[0]=X[Y],p[1]=X[Y+1],p[2]=X[Y+2];const e=A.addVec3(A.addVec3(A.mulVec3Scalar(u,c[0],w),A.mulVec3Scalar(h,c[1],g),E),A.mulVec3Scalar(p,c[2],T),b);x.worldNormal=A.normalizeVec3(A.transformVec3(O.worldNormalMatrix,e,D))}const q=U.uv;if(q){if(d[0]=q[2*M],d[1]=q[2*M+1],f[0]=q[2*F],f[1]=q[2*F+1],I[0]=q[2*H],I[1]=q[2*H+1],U.compressGeometry){const e=U.uvDecodeMatrix;e&&(Ft.decompressUV(d,e,d),Ft.decompressUV(f,e,f),Ft.decompressUV(I,e,I))}x.uv=A.addVec3(A.addVec3(A.mulVec2Scalar(d,c[0],P),A.mulVec2Scalar(f,c[1],R),C),A.mulVec2Scalar(I,c[2],_),B)}}}}}();function pi(e={}){let t=e.radiusTop||1;t<0&&(console.error("negative radiusTop not allowed - will invert"),t*=-1);let s=e.radiusBottom||1;s<0&&(console.error("negative radiusBottom not allowed - will invert"),s*=-1);let n=e.height||1;n<0&&(console.error("negative height not allowed - will invert"),n*=-1);let i=e.radialSegments||32;i<0&&(console.error("negative radialSegments not allowed - will invert"),i*=-1),i<3&&(i=3);let a=e.heightSegments||1;a<0&&(console.error("negative heightSegments not allowed - will invert"),a*=-1),a<1&&(a=1);const r=!!e.openEnded;let l=e.center;const o=l?l[0]:0,c=l?l[1]:0,u=l?l[2]:0,h=n/2,p=n/a,A=2*Math.PI/i,d=1/i,f=(t-s)/a,I=[],y=[],m=[],v=[];let w,E,T,b,D,P,R,C,_,B,O;const S=(90-180*Math.atan(n/(s-t))/Math.PI)/90;for(w=0;w<=a;w++)for(D=t-w*f,P=h-w*p,E=0;E<=i;E++)T=Math.sin(E*A),b=Math.cos(E*A),y.push(D*T),y.push(S),y.push(D*b),m.push(E*d),m.push(1*w/a),I.push(D*T+o),I.push(P+c),I.push(D*b+u);for(w=0;w0){for(_=I.length/3,y.push(0),y.push(1),y.push(0),m.push(.5),m.push(.5),I.push(0+o),I.push(h+c),I.push(0+u),E=0;E<=i;E++)T=Math.sin(E*A),b=Math.cos(E*A),B=.5*Math.sin(E*A)+.5,O=.5*Math.cos(E*A)+.5,y.push(t*T),y.push(1),y.push(t*b),m.push(B),m.push(O),I.push(t*T+o),I.push(h+c),I.push(t*b+u);for(E=0;E0){for(_=I.length/3,y.push(0),y.push(-1),y.push(0),m.push(.5),m.push(.5),I.push(0+o),I.push(0-h+c),I.push(0+u),E=0;E<=i;E++)T=Math.sin(E*A),b=Math.cos(E*A),B=.5*Math.sin(E*A)+.5,O=.5*Math.cos(E*A)+.5,y.push(s*T),y.push(-1),y.push(s*b),m.push(B),m.push(O),I.push(s*T+o),I.push(0-h+c),I.push(s*b+u);for(E=0;E":{width:24,points:[[4,18],[20,9],[4,0]]},"?":{width:18,points:[[3,16],[3,17],[4,19],[5,20],[7,21],[11,21],[13,20],[14,19],[15,17],[15,15],[14,13],[13,12],[9,10],[9,7],[-1,-1],[9,2],[8,1],[9,0],[10,1],[9,2]]},"@":{width:27,points:[[18,13],[17,15],[15,16],[12,16],[10,15],[9,14],[8,11],[8,8],[9,6],[11,5],[14,5],[16,6],[17,8],[-1,-1],[12,16],[10,14],[9,11],[9,8],[10,6],[11,5],[-1,-1],[18,16],[17,8],[17,6],[19,5],[21,5],[23,7],[24,10],[24,12],[23,15],[22,17],[20,19],[18,20],[15,21],[12,21],[9,20],[7,19],[5,17],[4,15],[3,12],[3,9],[4,6],[5,4],[7,2],[9,1],[12,0],[15,0],[18,1],[20,2],[21,3],[-1,-1],[19,16],[18,8],[18,6],[19,5]]},A:{width:18,points:[[9,21],[1,0],[-1,-1],[9,21],[17,0],[-1,-1],[4,7],[14,7]]},B:{width:21,points:[[4,21],[4,0],[-1,-1],[4,21],[13,21],[16,20],[17,19],[18,17],[18,15],[17,13],[16,12],[13,11],[-1,-1],[4,11],[13,11],[16,10],[17,9],[18,7],[18,4],[17,2],[16,1],[13,0],[4,0]]},C:{width:21,points:[[18,16],[17,18],[15,20],[13,21],[9,21],[7,20],[5,18],[4,16],[3,13],[3,8],[4,5],[5,3],[7,1],[9,0],[13,0],[15,1],[17,3],[18,5]]},D:{width:21,points:[[4,21],[4,0],[-1,-1],[4,21],[11,21],[14,20],[16,18],[17,16],[18,13],[18,8],[17,5],[16,3],[14,1],[11,0],[4,0]]},E:{width:19,points:[[4,21],[4,0],[-1,-1],[4,21],[17,21],[-1,-1],[4,11],[12,11],[-1,-1],[4,0],[17,0]]},F:{width:18,points:[[4,21],[4,0],[-1,-1],[4,21],[17,21],[-1,-1],[4,11],[12,11]]},G:{width:21,points:[[18,16],[17,18],[15,20],[13,21],[9,21],[7,20],[5,18],[4,16],[3,13],[3,8],[4,5],[5,3],[7,1],[9,0],[13,0],[15,1],[17,3],[18,5],[18,8],[-1,-1],[13,8],[18,8]]},H:{width:22,points:[[4,21],[4,0],[-1,-1],[18,21],[18,0],[-1,-1],[4,11],[18,11]]},I:{width:8,points:[[4,21],[4,0]]},J:{width:16,points:[[12,21],[12,5],[11,2],[10,1],[8,0],[6,0],[4,1],[3,2],[2,5],[2,7]]},K:{width:21,points:[[4,21],[4,0],[-1,-1],[18,21],[4,7],[-1,-1],[9,12],[18,0]]},L:{width:17,points:[[4,21],[4,0],[-1,-1],[4,0],[16,0]]},M:{width:24,points:[[4,21],[4,0],[-1,-1],[4,21],[12,0],[-1,-1],[20,21],[12,0],[-1,-1],[20,21],[20,0]]},N:{width:22,points:[[4,21],[4,0],[-1,-1],[4,21],[18,0],[-1,-1],[18,21],[18,0]]},O:{width:22,points:[[9,21],[7,20],[5,18],[4,16],[3,13],[3,8],[4,5],[5,3],[7,1],[9,0],[13,0],[15,1],[17,3],[18,5],[19,8],[19,13],[18,16],[17,18],[15,20],[13,21],[9,21]]},P:{width:21,points:[[4,21],[4,0],[-1,-1],[4,21],[13,21],[16,20],[17,19],[18,17],[18,14],[17,12],[16,11],[13,10],[4,10]]},Q:{width:22,points:[[9,21],[7,20],[5,18],[4,16],[3,13],[3,8],[4,5],[5,3],[7,1],[9,0],[13,0],[15,1],[17,3],[18,5],[19,8],[19,13],[18,16],[17,18],[15,20],[13,21],[9,21],[-1,-1],[12,4],[18,-2]]},R:{width:21,points:[[4,21],[4,0],[-1,-1],[4,21],[13,21],[16,20],[17,19],[18,17],[18,15],[17,13],[16,12],[13,11],[4,11],[-1,-1],[11,11],[18,0]]},S:{width:20,points:[[17,18],[15,20],[12,21],[8,21],[5,20],[3,18],[3,16],[4,14],[5,13],[7,12],[13,10],[15,9],[16,8],[17,6],[17,3],[15,1],[12,0],[8,0],[5,1],[3,3]]},T:{width:16,points:[[8,21],[8,0],[-1,-1],[1,21],[15,21]]},U:{width:22,points:[[4,21],[4,6],[5,3],[7,1],[10,0],[12,0],[15,1],[17,3],[18,6],[18,21]]},V:{width:18,points:[[1,21],[9,0],[-1,-1],[17,21],[9,0]]},W:{width:24,points:[[2,21],[7,0],[-1,-1],[12,21],[7,0],[-1,-1],[12,21],[17,0],[-1,-1],[22,21],[17,0]]},X:{width:20,points:[[3,21],[17,0],[-1,-1],[17,21],[3,0]]},Y:{width:18,points:[[1,21],[9,11],[9,0],[-1,-1],[17,21],[9,11]]},Z:{width:20,points:[[17,21],[3,0],[-1,-1],[3,21],[17,21],[-1,-1],[3,0],[17,0]]},"[":{width:14,points:[[4,25],[4,-7],[-1,-1],[5,25],[5,-7],[-1,-1],[4,25],[11,25],[-1,-1],[4,-7],[11,-7]]},"\\":{width:14,points:[[0,21],[14,-3]]},"]":{width:14,points:[[9,25],[9,-7],[-1,-1],[10,25],[10,-7],[-1,-1],[3,25],[10,25],[-1,-1],[3,-7],[10,-7]]},"^":{width:16,points:[[6,15],[8,18],[10,15],[-1,-1],[3,12],[8,17],[13,12],[-1,-1],[8,17],[8,0]]},_:{width:16,points:[[0,-2],[16,-2]]},"`":{width:10,points:[[6,21],[5,20],[4,18],[4,16],[5,15],[6,16],[5,17]]},a:{width:19,points:[[15,14],[15,0],[-1,-1],[15,11],[13,13],[11,14],[8,14],[6,13],[4,11],[3,8],[3,6],[4,3],[6,1],[8,0],[11,0],[13,1],[15,3]]},b:{width:19,points:[[4,21],[4,0],[-1,-1],[4,11],[6,13],[8,14],[11,14],[13,13],[15,11],[16,8],[16,6],[15,3],[13,1],[11,0],[8,0],[6,1],[4,3]]},c:{width:18,points:[[15,11],[13,13],[11,14],[8,14],[6,13],[4,11],[3,8],[3,6],[4,3],[6,1],[8,0],[11,0],[13,1],[15,3]]},d:{width:19,points:[[15,21],[15,0],[-1,-1],[15,11],[13,13],[11,14],[8,14],[6,13],[4,11],[3,8],[3,6],[4,3],[6,1],[8,0],[11,0],[13,1],[15,3]]},e:{width:18,points:[[3,8],[15,8],[15,10],[14,12],[13,13],[11,14],[8,14],[6,13],[4,11],[3,8],[3,6],[4,3],[6,1],[8,0],[11,0],[13,1],[15,3]]},f:{width:12,points:[[10,21],[8,21],[6,20],[5,17],[5,0],[-1,-1],[2,14],[9,14]]},g:{width:19,points:[[15,14],[15,-2],[14,-5],[13,-6],[11,-7],[8,-7],[6,-6],[-1,-1],[15,11],[13,13],[11,14],[8,14],[6,13],[4,11],[3,8],[3,6],[4,3],[6,1],[8,0],[11,0],[13,1],[15,3]]},h:{width:19,points:[[4,21],[4,0],[-1,-1],[4,10],[7,13],[9,14],[12,14],[14,13],[15,10],[15,0]]},i:{width:8,points:[[3,21],[4,20],[5,21],[4,22],[3,21],[-1,-1],[4,14],[4,0]]},j:{width:10,points:[[5,21],[6,20],[7,21],[6,22],[5,21],[-1,-1],[6,14],[6,-3],[5,-6],[3,-7],[1,-7]]},k:{width:17,points:[[4,21],[4,0],[-1,-1],[14,14],[4,4],[-1,-1],[8,8],[15,0]]},l:{width:8,points:[[4,21],[4,0]]},m:{width:30,points:[[4,14],[4,0],[-1,-1],[4,10],[7,13],[9,14],[12,14],[14,13],[15,10],[15,0],[-1,-1],[15,10],[18,13],[20,14],[23,14],[25,13],[26,10],[26,0]]},n:{width:19,points:[[4,14],[4,0],[-1,-1],[4,10],[7,13],[9,14],[12,14],[14,13],[15,10],[15,0]]},o:{width:19,points:[[8,14],[6,13],[4,11],[3,8],[3,6],[4,3],[6,1],[8,0],[11,0],[13,1],[15,3],[16,6],[16,8],[15,11],[13,13],[11,14],[8,14]]},p:{width:19,points:[[4,14],[4,-7],[-1,-1],[4,11],[6,13],[8,14],[11,14],[13,13],[15,11],[16,8],[16,6],[15,3],[13,1],[11,0],[8,0],[6,1],[4,3]]},q:{width:19,points:[[15,14],[15,-7],[-1,-1],[15,11],[13,13],[11,14],[8,14],[6,13],[4,11],[3,8],[3,6],[4,3],[6,1],[8,0],[11,0],[13,1],[15,3]]},r:{width:13,points:[[4,14],[4,0],[-1,-1],[4,8],[5,11],[7,13],[9,14],[12,14]]},s:{width:17,points:[[14,11],[13,13],[10,14],[7,14],[4,13],[3,11],[4,9],[6,8],[11,7],[13,6],[14,4],[14,3],[13,1],[10,0],[7,0],[4,1],[3,3]]},t:{width:12,points:[[5,21],[5,4],[6,1],[8,0],[10,0],[-1,-1],[2,14],[9,14]]},u:{width:19,points:[[4,14],[4,4],[5,1],[7,0],[10,0],[12,1],[15,4],[-1,-1],[15,14],[15,0]]},v:{width:16,points:[[2,14],[8,0],[-1,-1],[14,14],[8,0]]},w:{width:22,points:[[3,14],[7,0],[-1,-1],[11,14],[7,0],[-1,-1],[11,14],[15,0],[-1,-1],[19,14],[15,0]]},x:{width:17,points:[[3,14],[14,0],[-1,-1],[14,14],[3,0]]},y:{width:16,points:[[2,14],[8,0],[-1,-1],[14,14],[8,0],[6,-4],[4,-6],[2,-7],[1,-7]]},z:{width:17,points:[[14,14],[3,0],[-1,-1],[3,14],[14,14],[-1,-1],[3,0],[14,0]]},"{":{width:14,points:[[9,25],[7,24],[6,23],[5,21],[5,19],[6,17],[7,16],[8,14],[8,12],[6,10],[-1,-1],[7,24],[6,22],[6,20],[7,18],[8,17],[9,15],[9,13],[8,11],[4,9],[8,7],[9,5],[9,3],[8,1],[7,0],[6,-2],[6,-4],[7,-6],[-1,-1],[6,8],[8,6],[8,4],[7,2],[6,1],[5,-1],[5,-3],[6,-5],[7,-6],[9,-7]]},"|":{width:8,points:[[4,25],[4,-7]]},"}":{width:14,points:[[5,25],[7,24],[8,23],[9,21],[9,19],[8,17],[7,16],[6,14],[6,12],[8,10],[-1,-1],[7,24],[8,22],[8,20],[7,18],[6,17],[5,15],[5,13],[6,11],[10,9],[6,7],[5,5],[5,3],[6,1],[7,0],[8,-2],[8,-4],[7,-6],[-1,-1],[8,8],[6,6],[6,4],[7,2],[8,1],[9,-1],[9,-3],[8,-5],[7,-6],[5,-7]]},"~":{width:24,points:[[3,6],[3,8],[4,11],[6,12],[8,12],[10,11],[14,8],[16,7],[18,7],[20,8],[21,10],[-1,-1],[3,8],[4,10],[6,11],[8,11],[10,10],[14,7],[16,6],[18,6],[20,7],[21,10],[21,12]]}};function fi(e={}){var t=e.origin||[0,0,0],s=t[0],n=t[1],i=t[2],a=e.size||1,r=[],l=[],o=e.text;g.isNumeric(o)&&(o=""+o);for(var c,u,h,p,A,d,f,I,y,m=(o||"").split("\n"),v=0,w=0,E=.04,T=0;T0!==e))&&this.scene._objectOffsetUpdated(this,!1)),this._isModel&&this.scene._deregisterModel(this),this._children.length){const e=this._children.splice();let t;for(let s=0,n=e.length;s1;s.pixelStorei(s.UNPACK_FLIP_Y_WEBGL,this.flipY),s.pixelStorei(s.UNPACK_PREMULTIPLY_ALPHA_WEBGL,this.premultiplyAlpha),s.pixelStorei(s.UNPACK_ALIGNMENT,this.unpackAlignment),s.pixelStorei(s.UNPACK_COLORSPACE_CONVERSION_WEBGL,s.NONE);const a=Li(s,this.wrapS);a&&s.texParameteri(this.target,s.TEXTURE_WRAP_S,a);const r=Li(s,this.wrapT);if(r&&s.texParameteri(this.target,s.TEXTURE_WRAP_T,r),this.type===s.TEXTURE_3D||this.type===s.TEXTURE_2D_ARRAY){const e=Li(s,this.wrapR);e&&s.texParameteri(this.target,s.TEXTURE_WRAP_R,e),s.texParameteri(this.type,s.TEXTURE_WRAP_R,e)}i?(s.texParameteri(this.target,s.TEXTURE_MIN_FILTER,Ui(s,this.minFilter)),s.texParameteri(this.target,s.TEXTURE_MAG_FILTER,Ui(s,this.magFilter))):(s.texParameteri(this.target,s.TEXTURE_MIN_FILTER,Li(s,this.minFilter)),s.texParameteri(this.target,s.TEXTURE_MAG_FILTER,Li(s,this.magFilter)));const l=Li(s,this.format,this.encoding),o=Li(s,this.type),c=Hi(s,this.internalFormat,l,o,this.encoding,!1);s.texStorage2D(s.TEXTURE_2D,n,c,e[0].width,e[0].height);for(let t=0,n=e.length;t>t;return e+1}class ki extends S{get type(){return"Texture"}constructor(e,t={}){super(e,t),this._state=new it({texture:new Fi({gl:this.scene.canvas.gl}),matrix:A.identityMat4(),hasMatrix:t.translate&&(0!==t.translate[0]||0!==t.translate[1])||!!t.rotate||t.scale&&(0!==t.scale[0]||0!==t.scale[1]),minFilter:this._checkMinFilter(t.minFilter),magFilter:this._checkMagFilter(t.magFilter),wrapS:this._checkWrapS(t.wrapS),wrapT:this._checkWrapT(t.wrapT),flipY:this._checkFlipY(t.flipY),encoding:this._checkEncoding(t.encoding)}),this._src=null,this._image=null,this._translate=A.vec2([0,0]),this._scale=A.vec2([1,1]),this._rotate=A.vec2([0,0]),this._matrixDirty=!1,this.translate=t.translate,this.scale=t.scale,this.rotate=t.rotate,t.src?this.src=t.src:t.image&&(this.image=t.image),y.memory.textures++}_checkMinFilter(e){return 1006!==(e=e||1008)&&1007!==e&&1008!==e&&1005!==e&&1004!==e&&(this.error("Unsupported value for 'minFilter' - supported values are LinearFilter, LinearMipMapNearestFilter, NearestMipMapNearestFilter, NearestMipMapLinearFilter and LinearMipMapLinearFilter. Defaulting to LinearMipMapLinearFilter."),e=1008),e}_checkMagFilter(e){return 1006!==(e=e||1006)&&1003!==e&&(this.error("Unsupported value for 'magFilter' - supported values are LinearFilter and NearestFilter. Defaulting to LinearFilter."),e=1006),e}_checkWrapS(e){return 1001!==(e=e||1e3)&&1002!==e&&1e3!==e&&(this.error("Unsupported value for 'wrapS' - supported values are ClampToEdgeWrapping, MirroredRepeatWrapping and RepeatWrapping. Defaulting to RepeatWrapping."),e=1e3),e}_checkWrapT(e){return 1001!==(e=e||1e3)&&1002!==e&&1e3!==e&&(this.error("Unsupported value for 'wrapT' - supported values are ClampToEdgeWrapping, MirroredRepeatWrapping and RepeatWrapping. Defaulting to RepeatWrapping."),e=1e3),e}_checkFlipY(e){return!!e}_checkEncoding(e){return 3e3!==(e=e||3e3)&&3001!==e&&(this.error("Unsupported value for 'encoding' - supported values are LinearEncoding and sRGBEncoding. Defaulting to LinearEncoding."),e=3e3),e}_webglContextRestored(){this._state.texture=new Fi({gl:this.scene.canvas.gl}),this._image?this.image=this._image:this._src&&(this.src=this._src)}_update(){const e=this._state;if(this._matrixDirty){let t,s;0===this._translate[0]&&0===this._translate[1]||(t=A.translationMat4v([this._translate[0],this._translate[1],0],this._state.matrix)),1===this._scale[0]&&1===this._scale[1]||(s=A.scalingMat4v([this._scale[0],this._scale[1],1]),t=t?A.mulMat4(t,s):s),0!==this._rotate&&(s=A.rotationMat4v(.0174532925*this._rotate,[0,0,1]),t=t?A.mulMat4(t,s):s),t&&(e.matrix=t),this._matrixDirty=!1}this.glRedraw()}set image(e){this._image=Gi(e),this._image.crossOrigin="Anonymous",this._state.texture.setImage(this._image,this._state),this._src=null,this.glRedraw()}get image(){return this._image}set src(e){this.scene.loading++,this.scene.canvas.spinner.processes++;const t=this;let s=new Image;s.onload=function(){s=Gi(s),t._state.texture.setImage(s,t._state),t.scene.loading--,t.glRedraw(),t.scene.canvas.spinner.processes--},s.src=e,this._src=e,this._image=null}get src(){return this._src}set translate(e){this._translate.set(e||[0,0]),this._matrixDirty=!0,this._needUpdate()}get translate(){return this._translate}set scale(e){this._scale.set(e||[1,1]),this._matrixDirty=!0,this._needUpdate()}get scale(){return this._scale}set rotate(e){e=e||0,this._rotate!==e&&(this._rotate=e,this._matrixDirty=!0,this._needUpdate())}get rotate(){return this._rotate}get minFilter(){return this._state.minFilter}get magFilter(){return this._state.magFilter}get wrapS(){return this._state.wrapS}get wrapT(){return this._state.wrapT}get flipY(){return this._state.flipY}get encoding(){return this._state.encoding}destroy(){super.destroy(),this._state.texture&&this._state.texture.destroy(),this._state.destroy(),y.memory.textures--}}class Qi extends S{get type(){return"Fresnel"}constructor(e,t={}){super(e,t),this._state=new it({edgeColor:A.vec3([0,0,0]),centerColor:A.vec3([1,1,1]),edgeBias:0,centerBias:1,power:1}),this.edgeColor=t.edgeColor,this.centerColor=t.centerColor,this.edgeBias=t.edgeBias,this.centerBias=t.centerBias,this.power=t.power}set edgeColor(e){this._state.edgeColor.set(e||[0,0,0]),this.glRedraw()}get edgeColor(){return this._state.edgeColor}set centerColor(e){this._state.centerColor.set(e||[1,1,1]),this.glRedraw()}get centerColor(){return this._state.centerColor}set edgeBias(e){this._state.edgeBias=e||0,this.glRedraw()}get edgeBias(){return this._state.edgeBias}set centerBias(e){this._state.centerBias=null!=e?e:1,this.glRedraw()}get centerBias(){return this._state.centerBias}set power(e){this._state.power=null!=e?e:1,this.glRedraw()}get power(){return this._state.power}destroy(){super.destroy(),this._state.destroy()}}const Wi=y.memory,zi=A.AABB3();class Ki extends _t{get type(){return"VBOGeometry"}get isVBOGeometry(){return!0}constructor(e,t={}){super(e,t),this._state=new it({compressGeometry:!0,primitive:null,primitiveName:null,positionsDecodeMatrix:null,uvDecodeMatrix:null,positionsBuf:null,normalsBuf:null,colorsbuf:null,uvBuf:null,indicesBuf:null,hash:""}),this._numTriangles=0,this._edgeThreshold=t.edgeThreshold||10,this._aabb=null,this._obb=A.OBB3();const s=this._state,n=this.scene.canvas.gl;switch(t.primitive=t.primitive||"triangles",t.primitive){case"points":s.primitive=n.POINTS,s.primitiveName=t.primitive;break;case"lines":s.primitive=n.LINES,s.primitiveName=t.primitive;break;case"line-loop":s.primitive=n.LINE_LOOP,s.primitiveName=t.primitive;break;case"line-strip":s.primitive=n.LINE_STRIP,s.primitiveName=t.primitive;break;case"triangles":s.primitive=n.TRIANGLES,s.primitiveName=t.primitive;break;case"triangle-strip":s.primitive=n.TRIANGLE_STRIP,s.primitiveName=t.primitive;break;case"triangle-fan":s.primitive=n.TRIANGLE_FAN,s.primitiveName=t.primitive;break;default:this.error("Unsupported value for 'primitive': '"+t.primitive+"' - supported values are 'points', 'lines', 'line-loop', 'line-strip', 'triangles', 'triangle-strip' and 'triangle-fan'. Defaulting to 'triangles'."),s.primitive=n.TRIANGLES,s.primitiveName=t.primitive}if(t.positions)if(t.indices){var i;if(t.positionsDecodeMatrix);else{const e=Ft.getPositionsBounds(t.positions),a=Ft.compressPositions(t.positions,e.min,e.max);i=a.quantized,s.positionsDecodeMatrix=a.decodeMatrix,s.positionsBuf=new He(n,n.ARRAY_BUFFER,i,i.length,3,n.STATIC_DRAW),Wi.positions+=s.positionsBuf.numItems,A.positions3ToAABB3(t.positions,this._aabb),A.positions3ToAABB3(i,zi,s.positionsDecodeMatrix),A.AABB3ToOBB3(zi,this._obb)}if(t.colors){const e=t.colors.constructor===Float32Array?t.colors:new Float32Array(t.colors);s.colorsBuf=new He(n,n.ARRAY_BUFFER,e,e.length,4,n.STATIC_DRAW),Wi.colors+=s.colorsBuf.numItems}if(t.uv){const e=Ft.getUVBounds(t.uv),i=Ft.compressUVs(t.uv,e.min,e.max),a=i.quantized;s.uvDecodeMatrix=i.decodeMatrix,s.uvBuf=new He(n,n.ARRAY_BUFFER,a,a.length,2,n.STATIC_DRAW),Wi.uvs+=s.uvBuf.numItems}if(t.normals){const e=Ft.compressNormals(t.normals);let i=s.compressGeometry;s.normalsBuf=new He(n,n.ARRAY_BUFFER,e,e.length,3,n.STATIC_DRAW,i),Wi.normals+=s.normalsBuf.numItems}{const e=t.indices.constructor===Uint32Array||t.indices.constructor===Uint16Array?t.indices:new Uint32Array(t.indices);s.indicesBuf=new He(n,n.ELEMENT_ARRAY_BUFFER,e,e.length,1,n.STATIC_DRAW),Wi.indices+=s.indicesBuf.numItems;const a=Bt(i,e,s.positionsDecodeMatrix,this._edgeThreshold);this._edgeIndicesBuf=new He(n,n.ELEMENT_ARRAY_BUFFER,a,a.length,1,n.STATIC_DRAW),"triangles"===this._state.primitiveName&&(this._numTriangles=t.indices.length/3)}this._buildHash(),Wi.meshes++}else this.error("Config expected: indices");else this.error("Config expected: positions")}_buildHash(){const e=this._state,t=["/g"];t.push("/"+e.primitive+";"),e.positionsBuf&&t.push("p"),e.colorsBuf&&t.push("c"),(e.normalsBuf||e.autoVertexNormals)&&t.push("n"),e.uvBuf&&t.push("u"),t.push("cp"),t.push(";"),e.hash=t.join("")}_getEdgeIndices(){return this._edgeIndicesBuf}get primitive(){return this._state.primitiveName}get aabb(){return this._aabb}get obb(){return this._obb}get numTriangles(){return this._numTriangles}_getState(){return this._state}destroy(){super.destroy();const e=this._state;e.indicesBuf&&e.indicesBuf.destroy(),e.positionsBuf&&e.positionsBuf.destroy(),e.normalsBuf&&e.normalsBuf.destroy(),e.uvBuf&&e.uvBuf.destroy(),e.colorsBuf&&e.colorsBuf.destroy(),this._edgeIndicesBuf&&this._edgeIndicesBuf.destroy(),e.destroy(),Wi.meshes--}}var Yi={};function Xi(e,t={}){return new Promise((function(s,n){t.src||(console.error("load3DSGeometry: Parameter expected: src"),n());var i=e.canvas.spinner;i.processes++,g.loadArraybuffer(t.src,(function(e){e.byteLength||(console.error("load3DSGeometry: no data loaded"),i.processes--,n());var a=Yi.parse.from3DS(e).edit.objects[0].mesh,r=a.vertices,l=a.uvt,o=a.indices;i.processes--,s(g.apply(t,{primitive:"triangles",positions:r,normals:null,uv:l,indices:o}))}),(function(e){console.error("load3DSGeometry: "+e),i.processes--,n()}))}))}function qi(e,t={}){return new Promise((function(s,n){t.src||(console.error("loadOBJGeometry: Parameter expected: src"),n());var i=e.canvas.spinner;i.processes++,g.loadArraybuffer(t.src,(function(e){e.byteLength||(console.error("loadOBJGeometry: no data loaded"),i.processes--,n());for(var a=Yi.parse.fromOBJ(e),r=Yi.edit.unwrap(a.i_verts,a.c_verts,3),l=Yi.edit.unwrap(a.i_norms,a.c_norms,3),o=Yi.edit.unwrap(a.i_uvt,a.c_uvt,2),c=new Int32Array(a.i_verts.length),u=0;u0?l:null,autoNormals:0===l.length,uv:o,indices:c}))}),(function(e){console.error("loadOBJGeometry: "+e),i.processes--,n()}))}))}function Ji(e={}){let t=e.xSize||1;t<0&&(console.error("negative xSize not allowed - will invert"),t*=-1);let s=e.ySize||1;s<0&&(console.error("negative ySize not allowed - will invert"),s*=-1);let n=e.zSize||1;n<0&&(console.error("negative zSize not allowed - will invert"),n*=-1);const i=e.center,a=i?i[0]:0,r=i?i[1]:0,l=i?i[2]:0,o=-t+a,c=-s+r,u=-n+l,h=t+a,p=s+r,A=n+l;return g.apply(e,{primitive:"lines",positions:[o,c,u,o,c,A,o,p,u,o,p,A,h,c,u,h,c,A,h,p,u,h,p,A],indices:[0,1,1,3,3,2,2,0,4,5,5,7,7,6,6,4,0,4,1,5,2,6,3,7]})}function Zi(e={}){let t=e.size||1;t<0&&(console.error("negative size not allowed - will invert"),t*=-1);let s=e.divisions||1;s<0&&(console.error("negative divisions not allowed - will invert"),s*=-1),s<1&&(s=1),t=t||10,s=s||10;const n=t/s,i=t/2,a=[],r=[];let l=0;for(let e=0,t=-i;e<=s;e++,t+=n)a.push(-i),a.push(0),a.push(t),a.push(i),a.push(0),a.push(t),a.push(t),a.push(0),a.push(-i),a.push(t),a.push(0),a.push(i),r.push(l++),r.push(l++),r.push(l++),r.push(l++);return g.apply(e,{primitive:"lines",positions:a,indices:r})}function $i(e={}){let t=e.xSize||1;t<0&&(console.error("negative xSize not allowed - will invert"),t*=-1);let s=e.zSize||1;s<0&&(console.error("negative zSize not allowed - will invert"),s*=-1);let n=e.xSegments||1;n<0&&(console.error("negative xSegments not allowed - will invert"),n*=-1),n<1&&(n=1);let i=e.xSegments||1;i<0&&(console.error("negative zSegments not allowed - will invert"),i*=-1),i<1&&(i=1);const a=e.center,r=a?a[0]:0,l=a?a[1]:0,o=a?a[2]:0,c=t/2,u=s/2,h=Math.floor(n)||1,p=Math.floor(i)||1,A=h+1,d=p+1,f=t/h,I=s/p,y=new Float32Array(A*d*3),m=new Float32Array(A*d*3),v=new Float32Array(A*d*2);let w,E,T,b,D,P,R,C=0,_=0;for(w=0;w65535?Uint32Array:Uint16Array)(h*p*6);for(w=0;w360&&(a=360);const r=e.center;let l=r?r[0]:0,o=r?r[1]:0;const c=r?r[2]:0,u=[],h=[],p=[],d=[];let f,I,y,m,v,w,E,T,b,D,P,R;for(T=0;T<=i;T++)for(E=0;E<=n;E++)f=E/n*a,I=.785398+T/i*Math.PI*2,l=t*Math.cos(f),o=t*Math.sin(f),y=(t+s*Math.cos(I))*Math.cos(f),m=(t+s*Math.cos(I))*Math.sin(f),v=s*Math.sin(I),u.push(y+l),u.push(m+o),u.push(v+c),p.push(1-E/n),p.push(T/i),w=A.normalizeVec3(A.subVec3([y,m,v],[l,o,c],[]),[]),h.push(w[0]),h.push(w[1]),h.push(w[2]);for(T=1;T<=i;T++)for(E=1;E<=n;E++)b=(n+1)*T+E-1,D=(n+1)*(T-1)+E-1,P=(n+1)*(T-1)+E,R=(n+1)*T+E,d.push(b),d.push(D),d.push(P),d.push(P),d.push(R),d.push(b);return g.apply(e,{positions:u,normals:h,uv:p,indices:d})}Yi.load=function(e,t){var s=new XMLHttpRequest;s.open("GET",e,!0),s.responseType="arraybuffer",s.onload=function(e){t(e.target.response)},s.send()},Yi.save=function(e,t){var s="data:application/octet-stream;base64,"+btoa(Yi.parse._buffToStr(e));window.location.href=s},Yi.clone=function(e){return JSON.parse(JSON.stringify(e))},Yi.bin={},Yi.bin.f=new Float32Array(1),Yi.bin.fb=new Uint8Array(Yi.bin.f.buffer),Yi.bin.rf=function(e,t){for(var s=Yi.bin.f,n=Yi.bin.fb,i=0;i<4;i++)n[i]=e[t+i];return s[0]},Yi.bin.rsl=function(e,t){return e[t]|e[t+1]<<8},Yi.bin.ril=function(e,t){return e[t]|e[t+1]<<8|e[t+2]<<16|e[t+3]<<24},Yi.bin.rASCII0=function(e,t){for(var s="";0!=e[t];)s+=String.fromCharCode(e[t++]);return s},Yi.bin.wf=function(e,t,s){new Float32Array(e.buffer,t,1)[0]=s},Yi.bin.wsl=function(e,t,s){e[t]=s,e[t+1]=s>>8},Yi.bin.wil=function(e,t,s){e[t]=s,e[t+1]=s>>8,e[t+2]=s>>16,e[t+3]},Yi.parse={},Yi.parse._buffToStr=function(e){for(var t=new Uint8Array(e),s="",n=0;ni&&(i=o),ca&&(a=c),ur&&(r=u)}return{min:{x:t,y:s,z:n},max:{x:i,y:a,z:r}}};class ta extends S{constructor(e,t={}){super(e,t),this._type=t.type||(t.src?t.src.split(".").pop():null)||"jpg",this._pos=A.vec3(t.pos||[0,0,0]),this._up=A.vec3(t.up||[0,1,0]),this._normal=A.vec3(t.normal||[0,0,1]),this._height=t.height||1,this._origin=A.vec3(),this._rtcPos=A.vec3(),this._imageSize=A.vec2(),this._texture=new ki(this,{flipY:!0}),this._image=new Image,"jpg"!==this._type&&"png"!==this._type&&(this.error('Unsupported type - defaulting to "jpg"'),this._type="jpg"),this._node=new Ri(this,{matrix:A.inverseMat4(A.lookAtMat4v(this._pos,A.subVec3(this._pos,this._normal,A.mat4()),this._up,A.mat4())),children:[this._bitmapMesh=new ui(this,{scale:[1,1,1],rotation:[-90,0,0],collidable:t.collidable,pickable:t.pickable,opacity:t.opacity,clippable:t.clippable,geometry:new Gt(this,$i({center:[0,0,0],xSize:1,zSize:1,xSegments:2,zSegments:2})),material:new Wt(this,{diffuse:[0,0,0],ambient:[0,0,0],specular:[0,0,0],diffuseMap:this._texture,emissiveMap:this._texture,backfaces:!0})})]}),t.image?this.image=t.image:t.src?this.src=t.src:t.imageData&&(this.imageData=t.imageData),this.scene._bitmapCreated(this)}set visible(e){this._bitmapMesh.visible=e}get visible(){return this._bitmapMesh.visible}set image(e){this._image=e,this._image&&(this._texture.image=this._image,this._imageSize[0]=this._image.width,this._imageSize[1]=this._image.height,this._updateBitmapMeshScale())}get image(){return this._image}set src(e){if(e){this._image.onload=()=>{this._texture.image=this._image,this._imageSize[0]=this._image.width,this._imageSize[1]=this._image.height,this._updateBitmapMeshScale()},this._image.src=e;switch(e.split(".").pop()){case"jpeg":case"jpg":this._type="jpg";break;case"png":this._type="png"}}}get src(){return this._image.src}set imageData(e){this._image.onload=()=>{this._texture.image=image,this._imageSize[0]=image.width,this._imageSize[1]=image.height,this._updateBitmapMeshScale()},this._image.src=e}get imageData(){const e=document.createElement("canvas"),t=e.getContext("2d");return e.width=this._image.width,e.height=this._image.height,t.drawImage(this._image,0,0),e.toDataURL("jpg"===this._type?"image/jpeg":"image/png")}set type(e){"png"===(e=e||"jpg")&&"jpg"===e||(this.error("Unsupported value for `type` - supported types are `jpg` and `png` - defaulting to `jpg`"),e="jpg"),this._type=e}get type(){return this._type}get pos(){return this._pos}get normal(){return this._normal}get up(){return this._up}set height(e){this._height=null==e?1:e,this._image&&this._updateBitmapMeshScale()}get height(){return this._height}set collidable(e){this._bitmapMesh.collidable=!1!==e}get collidable(){return this._bitmapMesh.collidable}set clippable(e){this._bitmapMesh.clippable=!1!==e}get clippable(){return this._bitmapMesh.clippable}set pickable(e){this._bitmapMesh.pickable=!1!==e}get pickable(){return this._bitmapMesh.pickable}set opacity(e){this._bitmapMesh.opacity=e}get opacity(){return this._bitmapMesh.opacity}destroy(){super.destroy(),this.scene._bitmapDestroyed(this)}_updateBitmapMeshScale(){const e=this._imageSize[1]/this._imageSize[0];this._bitmapMesh.scale=[this._height*e,1,this._height]}}class sa extends S{constructor(e,t={}){super(e,t),this._positions=t.positions||[];const s=new Float32Array(this._positions.length),n=A.vec3(),i=z(this._positions,new Float32Array(this._positions.length),n,100);if(t.indices)this._indices=t.indices;else{this._indices=[];for(let e=0,t=this._positions.length/3-1;ed.has(e.id)||I.has(e.id)||f.has(e.id))).reduce(((e,s)=>{let n,i=function(e){let t="";return t+=Math.round(255*e[0]).toString(16).padStart(2,"0"),t+=Math.round(255*e[1]).toString(16).padStart(2,"0"),t+=Math.round(255*e[2]).toString(16).padStart(2,"0"),t}(s.colorize);s.xrayed?(n=0===t.xrayMaterial.fillAlpha&&0!==t.xrayMaterial.edgeAlpha?.1:t.xrayMaterial.fillAlpha,n=Math.round(255*n).toString(16).padStart(2,"0"),i=n+i):d.has(s.id)&&(n=Math.round(255*s.opacity).toString(16).padStart(2,"0"),i=n+i),e[i]||(e[i]=[]);const a=s.id,r=s.originalSystemId,l={ifc_guid:r,originating_system:this.originatingSystem};return r!==a&&(l.authoring_tool_id=a),e[i].push(l),e}),{}),m=Object.entries(y).map((([e,t])=>({color:e,components:t})));a.components.coloring=m;const v=t.objectIds,w=t.visibleObjects,g=t.visibleObjectIds,E=v.filter((e=>!w[e])),T=t.selectedObjectIds;return e.defaultInvisible||g.length0&&e.clipping_planes.forEach((function(e){let t=ca(e.location,na),s=ca(e.direction,na);c&&A.negateVec3(s),A.subVec3(t,o),i.yUp&&(t=ha(t),s=ha(s)),new yi(n,{pos:t,dir:s})})),n.clearLines(),e.lines&&e.lines.length>0){const t=[],s=[];let i=0;e.lines.forEach((e=>{e.start_point&&e.end_point&&(t.push(e.start_point.x),t.push(e.start_point.y),t.push(e.start_point.z),t.push(e.end_point.x),t.push(e.end_point.y),t.push(e.end_point.z),s.push(i++),s.push(i++))})),new sa(n,{positions:t,indices:s,clippable:!1,collidable:!0})}if(n.clearBitmaps(),e.bitmaps&&e.bitmaps.length>0&&e.bitmaps.forEach((function(e){const t=e.bitmap_type||"jpg",s=e.bitmap_data;let a=ca(e.location,ia),r=ca(e.normal,aa),l=ca(e.up,ra),o=e.height||1;t&&s&&a&&r&&l&&(i.yUp&&(a=ha(a),r=ha(r),l=ha(l)),new ta(n,{src:s,type:t,pos:a,normal:r,up:l,clippable:!1,collidable:!0,height:o}))})),l&&(n.setObjectsXRayed(n.xrayedObjectIds,!1),n.setObjectsHighlighted(n.highlightedObjectIds,!1),n.setObjectsSelected(n.selectedObjectIds,!1)),e.components){if(e.components.visibility){e.components.visibility.default_visibility?(n.setObjectsVisible(n.objectIds,!0),e.components.visibility.exceptions&&e.components.visibility.exceptions.forEach((e=>this._withBCFComponent(t,e,(e=>e.visible=!1))))):(n.setObjectsVisible(n.objectIds,!1),e.components.visibility.exceptions&&e.components.visibility.exceptions.forEach((e=>this._withBCFComponent(t,e,(e=>e.visible=!0)))));const i=e.components.visibility.view_setup_hints;i&&(!1===i.spaces_visible&&n.setObjectsVisible(s.metaScene.getObjectIDsByType("IfcSpace"),!0),void 0!==i.spaces_translucent&&n.setObjectsXRayed(s.metaScene.getObjectIDsByType("IfcSpace"),!0),i.space_boundaries_visible,!1===i.openings_visible&&n.setObjectsVisible(s.metaScene.getObjectIDsByType("IfcOpening"),!0),i.space_boundaries_translucent,void 0!==i.openings_translucent&&n.setObjectsXRayed(s.metaScene.getObjectIDsByType("IfcOpening"),!0))}e.components.selection&&(n.setObjectsSelected(n.selectedObjectIds,!1),e.components.selection.forEach((e=>this._withBCFComponent(t,e,(e=>e.selected=!0))))),e.components.translucency&&(n.setObjectsXRayed(n.xrayedObjectIds,!1),e.components.translucency.forEach((e=>this._withBCFComponent(t,e,(e=>e.xrayed=!0))))),e.components.coloring&&e.components.coloring.forEach((e=>{let s=e.color,n=0,i=!1;8===s.length&&(n=parseInt(s.substring(0,2),16)/256,n<=1&&n>=.95&&(n=1),s=s.substring(2),i=!0);const a=[parseInt(s.substring(0,2),16)/256,parseInt(s.substring(2,4),16)/256,parseInt(s.substring(4,6),16)/256];e.components.map((e=>this._withBCFComponent(t,e,(e=>{e.colorize=a,i&&(e.opacity=n)}))))}))}if(e.perspective_camera||e.orthogonal_camera){let l,c,u,h;if(e.perspective_camera?(l=ca(e.perspective_camera.camera_view_point,na),c=ca(e.perspective_camera.camera_direction,na),u=ca(e.perspective_camera.camera_up_vector,na),i.perspective.fov=e.perspective_camera.field_of_view,h="perspective"):(l=ca(e.orthogonal_camera.camera_view_point,na),c=ca(e.orthogonal_camera.camera_direction,na),u=ca(e.orthogonal_camera.camera_up_vector,na),i.ortho.scale=e.orthogonal_camera.view_to_world_scale,h="ortho"),A.subVec3(l,o),i.yUp&&(l=ha(l),c=ha(c),u=ha(u)),a){const e=n.pick({pickSurface:!0,origin:l,direction:c});c=e?e.worldPos:A.addVec3(l,c,na)}else c=A.addVec3(l,c,na);r?(i.eye=l,i.look=c,i.up=u,i.projection=h):s.cameraFlight.flyTo({eye:l,look:c,up:u,duration:t.duration,projection:h})}}_withBCFComponent(e,t,s){const n=this.viewer,i=n.scene;if(t.authoring_tool_id&&t.originating_system===this.originatingSystem){const a=t.authoring_tool_id,r=i.objects[a];if(r)return void s(r);if(e.updateCompositeObjects){if(n.metaScene.metaObjects[a])return void i.withObjects(n.metaScene.getObjectIDsInSubtree(a),s)}}if(t.ifc_guid){const a=t.ifc_guid,r=i.objects[a];if(r)return void s(r);if(e.updateCompositeObjects){if(n.metaScene.metaObjects[a])return void i.withObjects(n.metaScene.getObjectIDsInSubtree(a),s)}Object.keys(i.models).forEach((t=>{const r=A.globalizeObjectId(t,a),l=i.objects[r];if(l)s(l);else if(e.updateCompositeObjects){n.metaScene.metaObjects[r]&&i.withObjects(n.metaScene.getObjectIDsInSubtree(r),s)}}))}}destroy(){super.destroy()}}function oa(e){return{x:e[0],y:e[1],z:e[2]}}function ca(e,t){return(t=new Float64Array(3))[0]=e.x,t[1]=e.y,t[2]=e.z,t}function ua(e){return new Float64Array([e[0],-e[2],e[1]])}function ha(e){return new Float64Array([e[0],e[2],-e[1]])}const pa=A.vec3(),Aa=(e,t,s,n)=>{var i=e-s,a=t-n;return Math.sqrt(i*i+a*a)};class da extends S{constructor(e,t={}){if(super(e.viewer.scene,t),this.plugin=e,this._container=t.container,!this._container)throw"config missing: container";this._eventSubs={};var s=this.plugin.viewer.scene;this._originMarker=new ce(s,t.origin),this._targetMarker=new ce(s,t.target),this._originWorld=A.vec3(),this._targetWorld=A.vec3(),this._wp=new Float64Array(24),this._vp=new Float64Array(24),this._pp=new Float64Array(24),this._cp=new Float64Array(8),this._xAxisLabelCulled=!1,this._yAxisLabelCulled=!1,this._zAxisLabelCulled=!1,this._color=t.color||this.plugin.defaultColor;const n=t.onMouseOver?e=>{t.onMouseOver(e,this)}:null,i=t.onMouseLeave?e=>{t.onMouseLeave(e,this)}:null,a=t.onContextMenu?e=>{t.onContextMenu(e,this)}:null,r=e=>{this.plugin.viewer.scene.canvas.canvas.dispatchEvent(new WheelEvent("wheel",e))};this._originDot=new he(this._container,{fillColor:this._color,zIndex:void 0!==e.zIndex?e.zIndex+2:void 0,onMouseOver:n,onMouseLeave:i,onMouseWheel:r,onContextMenu:a}),this._targetDot=new he(this._container,{fillColor:this._color,zIndex:void 0!==e.zIndex?e.zIndex+2:void 0,onMouseOver:n,onMouseLeave:i,onMouseWheel:r,onContextMenu:a}),this._lengthWire=new ue(this._container,{color:this._color,thickness:2,thicknessClickable:6,zIndex:void 0!==e.zIndex?e.zIndex+1:void 0,onMouseOver:n,onMouseLeave:i,onMouseWheel:r,onContextMenu:a}),this._xAxisWire=new ue(this._container,{color:"#FF0000",thickness:1,thicknessClickable:6,zIndex:void 0!==e.zIndex?e.zIndex+1:void 0,onMouseOver:n,onMouseLeave:i,onMouseWheel:r,onContextMenu:a}),this._yAxisWire=new ue(this._container,{color:"green",thickness:1,thicknessClickable:6,zIndex:void 0!==e.zIndex?e.zIndex+1:void 0,onMouseOver:n,onMouseLeave:i,onMouseWheel:r,onContextMenu:a}),this._zAxisWire=new ue(this._container,{color:"blue",thickness:1,thicknessClickable:6,zIndex:void 0!==e.zIndex?e.zIndex+1:void 0,onMouseOver:n,onMouseLeave:i,onMouseWheel:r,onContextMenu:a}),this._lengthLabel=new pe(this._container,{fillColor:this._color,prefix:"",text:"",zIndex:void 0!==e.zIndex?e.zIndex+4:void 0,onMouseOver:n,onMouseLeave:i,onMouseWheel:r,onContextMenu:a}),this._xAxisLabel=new pe(this._container,{fillColor:"red",prefix:"X",text:"",zIndex:void 0!==e.zIndex?e.zIndex+3:void 0,onMouseOver:n,onMouseLeave:i,onMouseWheel:r,onContextMenu:a}),this._yAxisLabel=new pe(this._container,{fillColor:"green",prefix:"Y",text:"",zIndex:void 0!==e.zIndex?e.zIndex+3:void 0,onMouseOver:n,onMouseLeave:i,onMouseWheel:r,onContextMenu:a}),this._zAxisLabel=new pe(this._container,{fillColor:"blue",prefix:"Z",text:"",zIndex:void 0!==e.zIndex?e.zIndex+3:void 0,onMouseOver:n,onMouseLeave:i,onMouseWheel:r,onContextMenu:a}),this._wpDirty=!1,this._vpDirty=!1,this._cpDirty=!1,this._sectionPlanesDirty=!0,this._visible=!1,this._originVisible=!1,this._targetVisible=!1,this._wireVisible=!1,this._axisVisible=!1,this._xAxisVisible=!1,this._yAxisVisible=!1,this._zAxisVisible=!1,this._axisEnabled=!0,this._labelsVisible=!1,this._clickable=!1,this._originMarker.on("worldPos",(e=>{this._originWorld.set(e||[0,0,0]),this._wpDirty=!0,this._needUpdate(0)})),this._targetMarker.on("worldPos",(e=>{this._targetWorld.set(e||[0,0,0]),this._wpDirty=!0,this._needUpdate(0)})),this._onViewMatrix=s.camera.on("viewMatrix",(()=>{this._vpDirty=!0,this._needUpdate(0)})),this._onProjMatrix=s.camera.on("projMatrix",(()=>{this._cpDirty=!0,this._needUpdate()})),this._onCanvasBoundary=s.canvas.on("boundary",(()=>{this._cpDirty=!0,this._needUpdate(0)})),this._onMetricsUnits=s.metrics.on("units",(()=>{this._cpDirty=!0,this._needUpdate()})),this._onMetricsScale=s.metrics.on("scale",(()=>{this._cpDirty=!0,this._needUpdate()})),this._onMetricsOrigin=s.metrics.on("origin",(()=>{this._cpDirty=!0,this._needUpdate()})),this._onSectionPlaneUpdated=s.on("sectionPlaneUpdated",(()=>{this._sectionPlanesDirty=!0,this._needUpdate()})),this.approximate=t.approximate,this.visible=t.visible,this.originVisible=t.originVisible,this.targetVisible=t.targetVisible,this.wireVisible=t.wireVisible,this.axisVisible=t.axisVisible,this.xAxisVisible=t.xAxisVisible,this.yAxisVisible=t.yAxisVisible,this.zAxisVisible=t.zAxisVisible,this.labelsVisible=t.labelsVisible}_update(){if(!this._visible)return;const e=this.plugin.viewer.scene;if(this._wpDirty&&(this._wp[0]=this._originWorld[0],this._wp[1]=this._originWorld[1],this._wp[2]=this._originWorld[2],this._wp[3]=1,this._wp[4]=this._targetWorld[0],this._wp[5]=this._originWorld[1],this._wp[6]=this._originWorld[2],this._wp[7]=1,this._wp[8]=this._targetWorld[0],this._wp[9]=this._targetWorld[1],this._wp[10]=this._originWorld[2],this._wp[11]=1,this._wp[12]=this._targetWorld[0],this._wp[13]=this._targetWorld[1],this._wp[14]=this._targetWorld[2],this._wp[15]=1,this._wpDirty=!1,this._vpDirty=!0),this._vpDirty&&(A.transformPositions4(e.camera.viewMatrix,this._wp,this._vp),this._vp[3]=1,this._vp[7]=1,this._vp[11]=1,this._vp[15]=1,this._vpDirty=!1,this._cpDirty=!0),this._sectionPlanesDirty){if(this._isSliced(this._wp))return this._xAxisLabel.setCulled(!0),this._yAxisLabel.setCulled(!0),this._zAxisLabel.setCulled(!0),this._lengthLabel.setCulled(!0),this._xAxisWire.setCulled(!0),this._yAxisWire.setCulled(!0),this._zAxisWire.setCulled(!0),this._lengthWire.setCulled(!0),this._originDot.setCulled(!0),void this._targetDot.setCulled(!0);this._xAxisLabel.setCulled(!1),this._yAxisLabel.setCulled(!1),this._zAxisLabel.setCulled(!1),this._lengthLabel.setCulled(!1),this._xAxisWire.setCulled(!1),this._yAxisWire.setCulled(!1),this._zAxisWire.setCulled(!1),this._lengthWire.setCulled(!1),this._originDot.setCulled(!1),this._targetDot.setCulled(!1),this._sectionPlanesDirty=!0}const t=this._originMarker.viewPos[2],s=this._targetMarker.viewPos[2];if(t>-.3||s>-.3)return this._xAxisLabel.setCulled(!0),this._yAxisLabel.setCulled(!0),this._zAxisLabel.setCulled(!0),this._lengthLabel.setCulled(!0),this._xAxisWire.setVisible(!1),this._yAxisWire.setVisible(!1),this._zAxisWire.setVisible(!1),this._lengthWire.setVisible(!1),this._originDot.setVisible(!1),void this._targetDot.setVisible(!1);if(this._cpDirty){A.transformPositions4(e.camera.project.matrix,this._vp,this._pp);var n=this._pp,i=this._cp,a=e.canvas.canvas.getBoundingClientRect();const t=this._container.getBoundingClientRect();var r=a.top-t.top,l=a.left-t.left,o=e.canvas.boundary,c=o[2],u=o[3],h=0;const s=this.plugin.viewer.scene.metrics,f=s.scale,I=s.units,y=s.unitsInfo[I].abbrev;for(var p=0,d=n.length;p{const t=e.snappedCanvasPos||e.canvasPos;i=!0,a.set(e.worldPos),r.set(e.canvasPos),0===this._mouseState?(this._markerDiv.style.marginLeft=t[0]-5+"px",this._markerDiv.style.marginTop=t[1]-5+"px",this._markerDiv.style.background="pink",e.snappedToVertex||e.snappedToEdge?(this.pointerLens&&(this.pointerLens.visible=!0,this.pointerLens.canvasPos=e.canvasPos,this.pointerLens.snappedCanvasPos=e.snappedCanvasPos||e.canvasPos,this.pointerLens.snapped=!0),this._markerDiv.style.background="greenyellow",this._markerDiv.style.border="2px solid green"):(this.pointerLens&&(this.pointerLens.visible=!0,this.pointerLens.canvasPos=e.canvasPos,this.pointerLens.snappedCanvasPos=e.canvasPos,this.pointerLens.snapped=!1),this._markerDiv.style.background="pink",this._markerDiv.style.border="2px solid red")):(this._markerDiv.style.marginLeft="-10000px",this._markerDiv.style.marginTop="-10000px"),n.style.cursor="pointer",this._currentDistanceMeasurement&&(this._currentDistanceMeasurement.wireVisible=this._currentDistanceMeasurementInitState.wireVisible,this._currentDistanceMeasurement.axisVisible=this._currentDistanceMeasurementInitState.axisVisible&&this.distanceMeasurementsPlugin.defaultAxisVisible,this._currentDistanceMeasurement.xAxisVisible=this._currentDistanceMeasurementInitState.xAxisVisible&&this.distanceMeasurementsPlugin.defaultXAxisVisible,this._currentDistanceMeasurement.yAxisVisible=this._currentDistanceMeasurementInitState.yAxisVisible&&this.distanceMeasurementsPlugin.defaultYAxisVisible,this._currentDistanceMeasurement.zAxisVisible=this._currentDistanceMeasurementInitState.zAxisVisible&&this.distanceMeasurementsPlugin.defaultZAxisVisible,this._currentDistanceMeasurement.targetVisible=this._currentDistanceMeasurementInitState.targetVisible,this._currentDistanceMeasurement.target.worldPos=a.slice(),this._markerDiv.style.marginLeft="-10000px",this._markerDiv.style.marginTop="-10000px")})),n.addEventListener("mousedown",this._onMouseDown=e=>{1===e.which&&(l=e.clientX,o=e.clientY)}),n.addEventListener("mouseup",this._onMouseUp=t=>{1===t.which&&(t.clientX>l+20||t.clientXo+20||t.clientY{this.pointerLens&&(this.pointerLens.visible=!0,this.pointerLens.canvasPos=e.canvasPos,this.pointerLens.snappedCanvasPos=e.snappedCanvasPos||e.canvasPos),i=!1,this._markerDiv.style.marginLeft="-100px",this._markerDiv.style.marginTop="-100px",this._currentDistanceMeasurement&&(this._currentDistanceMeasurement.wireVisible=!1,this._currentDistanceMeasurement.targetVisible=!1,this._currentDistanceMeasurement.axisVisible=!1),n.style.cursor="default"})),this._active=!0}deactivate(){if(!this._active)return;this.fire("activated",!1),this.pointerLens&&(this.pointerLens.visible=!1),this._markerDiv&&this._destroyMarkerDiv(),this.reset();const e=this.scene.canvas.canvas;e.removeEventListener("mousedown",this._onMouseDown),e.removeEventListener("mouseup",this._onMouseUp);const t=this.distanceMeasurementsPlugin.viewer.cameraControl;t.off(this._onCameraControlHoverSnapOrSurface),t.off(this._onCameraControlHoverSnapOrSurfaceOff),this._currentDistanceMeasurement&&(this.distanceMeasurementsPlugin.fire("measurementCancel",this._currentDistanceMeasurement),this._currentDistanceMeasurement.destroy(),this._currentDistanceMeasurement=null),this._active=!1}reset(){this._active&&(this._destroyMarkerDiv(),this._initMarkerDiv(),this._currentDistanceMeasurement&&(this.distanceMeasurementsPlugin.fire("measurementCancel",this._currentDistanceMeasurement),this._currentDistanceMeasurement.destroy(),this._currentDistanceMeasurement=null))}destroy(){this.deactivate(),super.destroy()}}class ya extends V{constructor(e,t={}){super("DistanceMeasurements",e),this._pointerLens=t.pointerLens,this._container=t.container||document.body,this._defaultControl=null,this._measurements={},this.labelMinAxisLength=t.labelMinAxisLength,this.defaultVisible=!1!==t.defaultVisible,this.defaultOriginVisible=!1!==t.defaultOriginVisible,this.defaultTargetVisible=!1!==t.defaultTargetVisible,this.defaultWireVisible=!1!==t.defaultWireVisible,this.defaultLabelsVisible=!1!==t.defaultLabelsVisible,this.defaultAxisVisible=!1!==t.defaultAxisVisible,this.defaultXAxisVisible=!1!==t.defaultXAxisVisible,this.defaultYAxisVisible=!1!==t.defaultYAxisVisible,this.defaultZAxisVisible=!1!==t.defaultZAxisVisible,this.defaultColor=void 0!==t.defaultColor?t.defaultColor:"#00BBFF",this.zIndex=t.zIndex||1e4,this._onMouseOver=(e,t)=>{this.fire("mouseOver",{plugin:this,distanceMeasurement:t,measurement:t,event:e})},this._onMouseLeave=(e,t)=>{this.fire("mouseLeave",{plugin:this,distanceMeasurement:t,measurement:t,event:e})},this._onContextMenu=(e,t)=>{this.fire("contextMenu",{plugin:this,distanceMeasurement:t,measurement:t,event:e})}}getContainerElement(){return this._container}send(e,t){}get pointerLens(){return this._pointerLens}get control(){return this._defaultControl||(this._defaultControl=new Ia(this,{})),this._defaultControl}get measurements(){return this._measurements}set labelMinAxisLength(e){e<1&&(this.error("labelMinAxisLength must be >= 1; defaulting to 25"),e=25),this._labelMinAxisLength=e||25}get labelMinAxisLength(){return this._labelMinAxisLength}createMeasurement(e={}){this.viewer.scene.components[e.id]&&(this.error("Viewer scene component with this ID already exists: "+e.id),delete e.id);const t=e.origin,s=e.target,n=new da(this,{id:e.id,plugin:this,container:this._container,origin:{entity:t.entity,worldPos:t.worldPos},target:{entity:s.entity,worldPos:s.worldPos},visible:e.visible,wireVisible:e.wireVisible,axisVisible:!1!==e.axisVisible&&!1!==this.defaultAxisVisible,xAxisVisible:!1!==e.xAxisVisible&&!1!==this.defaultXAxisVisible,yAxisVisible:!1!==e.yAxisVisible&&!1!==this.defaultYAxisVisible,zAxisVisible:!1!==e.zAxisVisible&&!1!==this.defaultZAxisVisible,labelsVisible:!1!==e.labelsVisible&&!1!==this.defaultLabelsVisible,originVisible:e.originVisible,targetVisible:e.targetVisible,color:e.color,onMouseOver:this._onMouseOver,onMouseLeave:this._onMouseLeave,onContextMenu:this._onContextMenu});return this._measurements[n.id]=n,n.on("destroyed",(()=>{delete this._measurements[n.id]})),this.fire("measurementCreated",n),n}destroyMeasurement(e){const t=this._measurements[e];t?(t.destroy(),this.fire("measurementDestroyed",t)):this.log("DistanceMeasurement not found: "+e)}setLabelsShown(e){for(const[t,s]of Object.entries(this.measurements))s.labelShown=e}setAxisVisible(e){for(const[t,s]of Object.entries(this.measurements))s.axisVisible=e;this.defaultAxisVisible=e}getAxisVisible(){return this.defaultAxisVisible}clear(){const e=Object.keys(this._measurements);for(var t=0,s=e.length;t{s=1e3*this._delayBeforeRestoreSeconds,n||(e.scene._renderer.setColorTextureEnabled(!this._hideColorTexture),e.scene._renderer.setPBREnabled(!this._hidePBR),e.scene._renderer.setSAOEnabled(!this._hideSAO),e.scene._renderer.setTransparentEnabled(!this._hideTransparentObjects),e.scene._renderer.setEdgesEnabled(!this._hideEdges),this._scaleCanvasResolution?e.scene.canvas.resolutionScale=this._scaleCanvasResolutionFactor:e.scene.canvas.resolutionScale=1,n=!0)};this._onCanvasBoundary=e.scene.canvas.on("boundary",i),this._onCameraMatrix=e.scene.camera.on("matrix",i),this._onSceneTick=e.scene.on("tick",(t=>{n&&(s-=t.deltaTime,(!this._delayBeforeRestore||s<=0)&&(e.scene.canvas.resolutionScale=1,e.scene._renderer.setEdgesEnabled(!0),e.scene._renderer.setColorTextureEnabled(!0),e.scene._renderer.setPBREnabled(!0),e.scene._renderer.setSAOEnabled(!0),e.scene._renderer.setTransparentEnabled(!0),n=!1))}));let a=!1;this._onSceneMouseDown=e.scene.input.on("mousedown",(()=>{a=!0})),this._onSceneMouseUp=e.scene.input.on("mouseup",(()=>{a=!1})),this._onSceneMouseMove=e.scene.input.on("mousemove",(()=>{a&&i()}))}get hideColorTexture(){return this._hideColorTexture}set hideColorTexture(e){this._hideColorTexture=e}get hidePBR(){return this._hidePBR}set hidePBR(e){this._hidePBR=e}get hideSAO(){return this._hideSAO}set hideSAO(e){this._hideSAO=e}get hideEdges(){return this._hideEdges}set hideEdges(e){this._hideEdges=e}get hideTransparentObjects(){return this._hideTransparentObjects}set hideTransparentObjects(e){this._hideTransparentObjects=!1!==e}get scaleCanvasResolution(){return this._scaleCanvasResolution}set scaleCanvasResolution(e){this._scaleCanvasResolution=e}get scaleCanvasResolutionFactor(){return this._scaleCanvasResolutionFactor}set scaleCanvasResolutionFactor(e){this._scaleCanvasResolutionFactor=e||.6}get delayBeforeRestore(){return this._delayBeforeRestore}set delayBeforeRestore(e){this._delayBeforeRestore=e}get delayBeforeRestoreSeconds(){return this._delayBeforeRestoreSeconds}set delayBeforeRestoreSeconds(e){this._delayBeforeRestoreSeconds=null!=e?e:.5}send(e,t){}destroy(){this.viewer.scene.camera.off(this._onCameraMatrix),this.viewer.scene.canvas.off(this._onCanvasBoundary),this.viewer.scene.input.off(this._onSceneMouseDown),this.viewer.scene.input.off(this._onSceneMouseUp),this.viewer.scene.input.off(this._onSceneMouseMove),this.viewer.scene.off(this._onSceneTick),super.destroy()}}class va{constructor(){}getMetaModel(e,t,s){g.loadJSON(e,(e=>{t(e)}),(function(e){s(e)}))}getGLTF(e,t,s){g.loadArraybuffer(e,(e=>{t(e)}),(function(e){s(e)}))}getGLB(e,t,s){g.loadArraybuffer(e,(e=>{t(e)}),(function(e){s(e)}))}getArrayBuffer(e,t,s,n){!function(e,t,s,n){var i=()=>{};s=s||i,n=n||i;const a=/^data:(.*?)(;base64)?,(.*)$/,r=t.match(a);if(r){const e=!!r[2];var l=r[3];l=window.decodeURIComponent(l),e&&(l=window.atob(l));try{const e=new ArrayBuffer(l.length),t=new Uint8Array(e);for(var o=0;o{s(e)}),(function(e){n(e)}))}}class wa{constructor(e={}){this._eventSubIDMap=null,this._eventSubEvents=null,this._eventSubs=null,this._events=null,this._locale="en",this._messages={},this._locales=[],this._locale="en",this.messages=e.messages,this.locale=e.locale}set messages(e){this._messages=e||{},this._locales=Object.keys(this._messages),this.fire("updated",this)}loadMessages(e={}){for(let t in e)this._messages[t]=e[t];this.messages=this._messages}clearMessages(){this.messages={}}get locales(){return this._locales}set locale(e){e=e||"de",this._locale!==e&&(this._locale=e,this.fire("updated",e))}get locale(){return this._locale}translate(e,t){const s=this._messages[this._locale];if(!s)return null;const n=ga(e,s);return n?t?Ea(n,t):n:null}translatePlurals(e,t,s){const n=this._messages[this._locale];if(!n)return null;let i=ga(e,n);return i=0===(t=parseInt(""+t,10))?i.zero:t>1?i.other:i.one,i?(i=Ea(i,[t]),s&&(i=Ea(i,s)),i):null}fire(e,t,s){this._events||(this._events={}),this._eventSubs||(this._eventSubs={}),!0!==s&&(this._events[e]=t||!0);const n=this._eventSubs[e];if(n)for(const e in n)if(n.hasOwnProperty(e)){n[e].callback(t)}}on(t,s){this._events||(this._events={}),this._eventSubIDMap||(this._eventSubIDMap=new e),this._eventSubEvents||(this._eventSubEvents={}),this._eventSubs||(this._eventSubs={});let n=this._eventSubs[t];n||(n={},this._eventSubs[t]=n);const i=this._eventSubIDMap.addItem();n[i]={callback:s},this._eventSubEvents[i]=t;const a=this._events[t];return void 0!==a&&s(a),i}off(e){if(null==e)return;if(!this._eventSubEvents)return;const t=this._eventSubEvents[e];if(t){delete this._eventSubEvents[e];const s=this._eventSubs[t];s&&delete s[e],this._eventSubIDMap.removeItem(e)}}}function ga(e,t){if(t[e])return t[e];const s=e.split(".");let n=t;for(let e=0,t=s.length;n&&e1?1:e}get t(){return this._t}get tangent(){return this.getTangent(this._t)}get length(){var e=this._getLengths();return e[e.length-1]}getTangent(e){var t=1e-4;void 0===e&&(e=this._t);var s=e-t,n=e+t;s<0&&(s=0),n>1&&(n=1);var i=this.getPoint(s),a=this.getPoint(n),r=A.subVec3(a,i,[]);return A.normalizeVec3(r,[])}getPointAt(e){var t=this.getUToTMapping(e);return this.getPoint(t)}getPoints(e){e||(e=5);var t,s=[];for(t=0;t<=e;t++)s.push(this.getPoint(t/e));return s}_getLengths(e){if(e||(e=this.__arcLengthDivisions?this.__arcLengthDivisions:200),this.cacheArcLengths&&this.cacheArcLengths.length===e+1&&!this.needsUpdate)return this.cacheArcLengths;this.needsUpdate=!1;var t,s,n=[],i=this.getPoint(0),a=0;for(n.push(0),s=1;s<=e;s++)t=this.getPoint(s/e),a+=A.lenVec3(A.subVec3(t,i,[])),n.push(a),i=t;return this.cacheArcLengths=n,n}_updateArcLengths(){this.needsUpdate=!0,this._getLengths()}getUToTMapping(e,t){var s,n=this._getLengths(),i=0,a=n.length;s=t||e*n[a-1];for(var r,l=0,o=a-1;l<=o;)if((r=n[i=Math.floor(l+(o-l)/2)]-s)<0)l=i+1;else{if(!(r>0)){o=i;break}o=i-1}if(n[i=o]===s)return i/(a-1);var c=n[i];return(i+(s-c)/(n[i+1]-c))/(a-1)}}class ba extends Ta{constructor(e,t={}){super(e,t),this.points=t.points,this.t=t.t}set points(e){this._points=e||[]}get points(){return this._points}set t(e){e=e||0,this._t=e<0?0:e>1?1:e}get t(){return this._t}get point(){return this.getPoint(this._t)}getPoint(e){var t=this.points;if(!(t.length<3)){var s=(t.length-1)*e,n=Math.floor(s),i=s-n,a=t[0===n?n:n-1],r=t[n],l=t[n>t.length-2?t.length-1:n+1],o=t[n>t.length-3?t.length-1:n+2],c=A.vec3();return c[0]=A.catmullRomInterpolate(a[0],r[0],l[0],o[0],i),c[1]=A.catmullRomInterpolate(a[1],r[1],l[1],o[1],i),c[2]=A.catmullRomInterpolate(a[2],r[2],l[2],o[2],i),c}this.error("Can't sample point from SplineCurve - not enough points on curve - returning [0,0,0].")}getJSON(){return{points:points,t:this._t}}}const Da=A.vec3();class Pa extends S{get type(){return"CameraPath"}constructor(e,t={}){super(e,t),this._frames=[],this._eyeCurve=new ba(this),this._lookCurve=new ba(this),this._upCurve=new ba(this),t.frames&&(this.addFrames(t.frames),this.smoothFrameTimes(1))}get frames(){return this._frames}get eyeCurve(){return this._eyeCurve}get lookCurve(){return this._lookCurve}get upCurve(){return this._upCurve}saveFrame(e){const t=this.scene.camera;this.addFrame(e,t.eye,t.look,t.up)}addFrame(e,t,s,n){const i={t:e,eye:t.slice(0),look:s.slice(0),up:n.slice(0)};this._frames.push(i),this._eyeCurve.points.push(i.eye),this._lookCurve.points.push(i.look),this._upCurve.points.push(i.up)}addFrames(e){let t;for(let s=0,n=e.length;s1?1:e,t.eye=this._eyeCurve.getPoint(e,Da),t.look=this._lookCurve.getPoint(e,Da),t.up=this._upCurve.getPoint(e,Da)}sampleFrame(e,t,s,n){e=e<0?0:e>1?1:e,this._eyeCurve.getPoint(e,t),this._lookCurve.getPoint(e,s),this._upCurve.getPoint(e,n)}smoothFrameTimes(e){if(0===this._frames.length)return;const t=A.vec3();var s=0;this._frames[0].t=0;const n=[];for(let e=1,a=this._frames.length;e=1;e>1&&(e=1);const s=this.easing?Sa._ease(e,0,1,1):e,n=this.scene.camera;if(this._flyingEye||this._flyingLook?this._flyingEye?(A.subVec3(n.eye,n.look,Oa),n.eye=A.lerpVec3(s,0,1,this._eye1,this._eye2,_a),n.look=A.subVec3(_a,Oa,Ca)):this._flyingLook&&(n.look=A.lerpVec3(s,0,1,this._look1,this._look2,Ca),n.up=A.lerpVec3(s,0,1,this._up1,this._up2,Ba)):this._flyingEyeLookUp&&(n.eye=A.lerpVec3(s,0,1,this._eye1,this._eye2,_a),n.look=A.lerpVec3(s,0,1,this._look1,this._look2,Ca),n.up=A.lerpVec3(s,0,1,this._up1,this._up2,Ba)),this._projection2){const t="ortho"===this._projection2?Sa._easeOutExpo(e,0,1,1):Sa._easeInCubic(e,0,1,1);n.customProjection.matrix=A.lerpMat4(t,0,1,this._projMatrix1,this._projMatrix2)}else n.ortho.scale=this._orthoScale1+e*(this._orthoScale2-this._orthoScale1);if(t)return n.ortho.scale=this._orthoScale2,void this.stop();B.scheduleTask(this._update,this)}static _ease(e,t,s,n){return-s*(e/=n)*(e-2)+t}static _easeInCubic(e,t,s,n){return s*(e/=n)*e*e+t}static _easeOutExpo(e,t,s,n){return s*(1-Math.pow(2,-10*e/n))+t}stop(){if(!this._flying)return;this._flying=!1,this._time1=null,this._time2=null,this._projection2&&(this.scene.camera.projection=this._projection2);const e=this._callback;e&&(this._callback=null,this._callbackScope?e.call(this._callbackScope):e()),this.fire("stopped",!0,!0)}cancel(){this._flying&&(this._flying=!1,this._time1=null,this._time2=null,this._callback&&(this._callback=null),this.fire("canceled",!0,!0))}set duration(e){this._duration=e?1e3*e:500,this.stop()}get duration(){return this._duration/1e3}set fit(e){this._fit=!1!==e}get fit(){return this._fit}set fitFOV(e){this._fitFOV=e||45}get fitFOV(){return this._fitFOV}set trail(e){this._trail=!!e}get trail(){return this._trail}destroy(){this.stop(),super.destroy()}}class Na extends S{get type(){return"CameraPathAnimation"}constructor(e,t={}){super(e,t),this._cameraFlightAnimation=new Sa(this),this._t=0,this.state=Na.SCRUBBING,this._playingFromT=0,this._playingToT=0,this._playingRate=t.playingRate||1,this._playingDir=1,this._lastTime=null,this.cameraPath=t.cameraPath,this._tick=this.scene.on("tick",this._updateT,this)}_updateT(){const e=this._cameraPath;if(!e)return;let t,s;const n=performance.now(),i=this._lastTime?.001*(n-this._lastTime):0;if(this._lastTime=n,0!==i)switch(this.state){case Na.SCRUBBING:return;case Na.PLAYING:if(this._t+=this._playingRate*i,t=this._cameraPath.frames.length,0===t||this._playingDir<0&&this._t<=0||this._playingDir>0&&this._t>=this._cameraPath.frames[t-1].t)return this.state=Na.SCRUBBING,this._t=this._cameraPath.frames[t-1].t,void this.fire("stopped");e.loadFrame(this._t);break;case Na.PLAYING_TO:s=this._t+this._playingRate*i*this._playingDir,(this._playingDir<0&&s<=this._playingToT||this._playingDir>0&&s>=this._playingToT)&&(s=this._playingToT,this.state=Na.SCRUBBING,this.fire("stopped")),this._t=s,e.loadFrame(this._t)}}_ease(e,t,s,n){return-s*(e/=n)*(e-2)+t}set cameraPath(e){this._cameraPath=e}get cameraPath(){return this._cameraPath}set rate(e){this._playingRate=e}get rate(){return this._playingRate}play(){this._cameraPath&&(this._lastTime=null,this.state=Na.PLAYING)}playToT(e){this._cameraPath&&(this._playingFromT=this._t,this._playingToT=e,this._playingDir=this._playingToT-this._playingFromT<0?-1:1,this._lastTime=null,this.state=Na.PLAYING_TO)}playToFrame(e){const t=this._cameraPath;if(!t)return;const s=t.frames[e];s?this.playToT(s.t):this.error("playToFrame - frame index out of range: "+e)}flyToFrame(e,t){const s=this._cameraPath;if(!s)return;const n=s.frames[e];n?(this.state=Na.SCRUBBING,this._cameraFlightAnimation.flyTo(n,t)):this.error("flyToFrame - frame index out of range: "+e)}scrubToT(e){const t=this._cameraPath;if(!t)return;this.scene.camera&&(this._t=e,t.loadFrame(this._t),this.state=Na.SCRUBBING)}scrubToFrame(e){const t=this._cameraPath;if(!t)return;if(!this.scene.camera)return;t.frames[e]?(t.loadFrame(this._t),this.state=Na.SCRUBBING):this.error("playToFrame - frame index out of range: "+e)}stop(){this.state=Na.SCRUBBING,this.fire("stopped")}destroy(){super.destroy(),this.scene.off(this._tick)}}Na.STOPPED=0,Na.SCRUBBING=1,Na.PLAYING=2,Na.PLAYING_TO=3;const xa=A.vec3(),La=A.vec3();A.vec3();const Ma=A.vec3([0,-1,0]),Fa=A.vec4([0,0,0,1]);class Ha extends S{constructor(e,t={}){super(e,t),this._src=null,this._image=null,this._pos=A.vec3(),this._origin=A.vec3(),this._rtcPos=A.vec3(),this._dir=A.vec3(),this._size=1,this._imageSize=A.vec2(),this._texture=new ki(this),this._plane=new ui(this,{geometry:new Gt(this,$i({center:[0,0,0],xSize:1,zSize:1,xSegments:10,zSegments:10})),material:new Wt(this,{diffuse:[0,0,0],ambient:[0,0,0],specular:[0,0,0],diffuseMap:this._texture,emissiveMap:this._texture,backfaces:!0}),clippable:t.clippable}),this._grid=new ui(this,{geometry:new Gt(this,Zi({size:1,divisions:10})),material:new Wt(this,{diffuse:[0,0,0],ambient:[0,0,0],emissive:[.2,.8,.2]}),position:[0,.001,0],clippable:t.clippable}),this._node=new Ri(this,{rotation:[0,0,0],position:[0,0,0],scale:[1,1,1],clippable:!1,children:[this._plane,this._grid]}),this._gridVisible=!1,this.visible=!0,this.gridVisible=t.gridVisible,this.position=t.position,this.rotation=t.rotation,this.dir=t.dir,this.size=t.size,this.collidable=t.collidable,this.clippable=t.clippable,this.pickable=t.pickable,this.opacity=t.opacity,t.image?this.image=t.image:this.src=t.src}set visible(e){this._plane.visible=e,this._grid.visible=this._gridVisible&&e}get visible(){return this._plane.visible}set gridVisible(e){e=!1!==e,this._gridVisible=e,this._grid.visible=this._gridVisible&&this.visible}get gridVisible(){return this._gridVisible}set image(e){this._image=e,this._image&&(this._imageSize[0]=e.width,this._imageSize[1]=e.height,this._updatePlaneSizeFromImage(),this._src=null,this._texture.image=this._image)}get image(){return this._image}set src(e){if(this._src=e,this._src){this._image=null;const e=new Image;e.onload=()=>{this._texture.image=e,this._imageSize[0]=e.width,this._imageSize[1]=e.height,this._updatePlaneSizeFromImage()},e.src=this._src}}get src(){return this._src}set position(e){this._pos.set(e||[0,0,0]),W(this._pos,this._origin,this._rtcPos),this._node.origin=this._origin,this._node.position=this._rtcPos}get position(){return this._pos}set rotation(e){this._node.rotation=e}get rotation(){return this._node.rotation}set size(e){this._size=null==e?1:e,this._image&&this._updatePlaneSizeFromImage()}get size(){return this._size}set dir(e){if(this._dir.set(e||[0,0,-1]),e){const t=this.scene.center,s=[-this._dir[0],-this._dir[1],-this._dir[2]];A.subVec3(t,this.position,xa);const n=-A.dotVec3(s,xa);A.normalizeVec3(s),A.mulVec3Scalar(s,n,La),A.vec3PairToQuaternion(Ma,e,Fa),this._node.quaternion=Fa}}get dir(){return this._dir}set collidable(e){this._node.collidable=!1!==e}get collidable(){return this._node.collidable}set clippable(e){this._node.clippable=!1!==e}get clippable(){return this._node.clippable}set pickable(e){this._node.pickable=!1!==e}get pickable(){return this._node.pickable}set opacity(e){this._node.opacity=e}get opacity(){return this._node.opacity}destroy(){super.destroy()}_updatePlaneSizeFromImage(){const e=this._size,t=this._imageSize[0],s=this._imageSize[1];if(t>s){const n=s/t;this._node.scale=[e,1,e*n]}else{const n=t/s;this._node.scale=[e*n,1,e]}}}class Ua extends Pt{get type(){return"PointLight"}constructor(e,t={}){super(e,t);const s=this;this._shadowRenderBuf=null,this._shadowViewMatrix=null,this._shadowProjMatrix=null,this._shadowViewMatrixDirty=!0,this._shadowProjMatrixDirty=!0;const n=this.scene.camera,i=this.scene.canvas;this._onCameraViewMatrix=n.on("viewMatrix",(()=>{this._shadowViewMatrixDirty=!0})),this._onCameraProjMatrix=n.on("projMatrix",(()=>{this._shadowProjMatrixDirty=!0})),this._onCanvasBoundary=i.on("boundary",(()=>{this._shadowProjMatrixDirty=!0})),this._state=new it({type:"point",pos:A.vec3([1,1,1]),color:A.vec3([.7,.7,.8]),intensity:1,attenuation:[0,0,0],space:t.space||"view",castsShadow:!1,getShadowViewMatrix:()=>{if(s._shadowViewMatrixDirty){s._shadowViewMatrix||(s._shadowViewMatrix=A.identityMat4());const e=s._state.pos,t=n.look,i=n.up;A.lookAtMat4v(e,t,i,s._shadowViewMatrix),s._shadowViewMatrixDirty=!1}return s._shadowViewMatrix},getShadowProjMatrix:()=>{if(s._shadowProjMatrixDirty){s._shadowProjMatrix||(s._shadowProjMatrix=A.identityMat4());const e=s.scene.canvas.canvas;A.perspectiveMat4(Math.PI/180*70,e.clientWidth/e.clientHeight,.1,500,s._shadowProjMatrix),s._shadowProjMatrixDirty=!1}return s._shadowProjMatrix},getShadowRenderBuf:()=>(s._shadowRenderBuf||(s._shadowRenderBuf=new Ze(s.scene.canvas.canvas,s.scene.canvas.gl,{size:[1024,1024]})),s._shadowRenderBuf)}),this.pos=t.pos,this.color=t.color,this.intensity=t.intensity,this.constantAttenuation=t.constantAttenuation,this.linearAttenuation=t.linearAttenuation,this.quadraticAttenuation=t.quadraticAttenuation,this.castsShadow=t.castsShadow,this.scene._lightCreated(this)}set pos(e){this._state.pos.set(e||[1,1,1]),this._shadowViewMatrixDirty=!0,this.glRedraw()}get pos(){return this._state.pos}set color(e){this._state.color.set(e||[.7,.7,.8]),this.glRedraw()}get color(){return this._state.color}set intensity(e){e=void 0!==e?e:1,this._state.intensity=e,this.glRedraw()}get intensity(){return this._state.intensity}set constantAttenuation(e){this._state.attenuation[0]=e||0,this.glRedraw()}get constantAttenuation(){return this._state.attenuation[0]}set linearAttenuation(e){this._state.attenuation[1]=e||0,this.glRedraw()}get linearAttenuation(){return this._state.attenuation[1]}set quadraticAttenuation(e){this._state.attenuation[2]=e||0,this.glRedraw()}get quadraticAttenuation(){return this._state.attenuation[2]}set castsShadow(e){e=!!e,this._state.castsShadow!==e&&(this._state.castsShadow=e,this._shadowViewMatrixDirty=!0,this.glRedraw())}get castsShadow(){return this._state.castsShadow}destroy(){const e=this.scene.camera,t=this.scene.canvas;e.off(this._onCameraViewMatrix),e.off(this._onCameraProjMatrix),t.off(this._onCanvasBoundary),super.destroy(),this._state.destroy(),this._shadowRenderBuf&&this._shadowRenderBuf.destroy(),this.scene._lightDestroyed(this),this.glRedraw()}}function Ga(e){if(!ja(e.width)||!ja(e.height)){const t=document.createElement("canvas");t.width=Va(e.width),t.height=Va(e.height);t.getContext("2d").drawImage(e,0,0,e.width,e.height,0,0,t.width,t.height),e=t}return e}function ja(e){return 0==(e&e-1)}function Va(e){--e;for(let t=1;t<32;t<<=1)e|=e>>t;return e+1}class ka extends S{get type(){return"CubeTexture"}constructor(e,t={}){super(e,t);const s=this.scene.canvas.gl;this._state=new it({texture:new Fi({gl:s,target:s.TEXTURE_CUBE_MAP}),flipY:this._checkFlipY(t.minFilter),encoding:this._checkEncoding(t.encoding),minFilter:1008,magFilter:1006,wrapS:1001,wrapT:1001,mipmaps:!0}),this._src=t.src,this._images=[],this._loadSrc(t.src),y.memory.textures++}_checkFlipY(e){return!!e}_checkEncoding(e){return 3e3!==(e=e||3e3)&&3001!==e&&(this.error("Unsupported value for 'encoding' - supported values are LinearEncoding and sRGBEncoding. Defaulting to LinearEncoding."),e=3e3),e}_webglContextRestored(){this.scene.canvas.gl,this._state.texture=null,this._src&&this._loadSrc(this._src)}_loadSrc(e){const t=this,s=this.scene.canvas.gl;this._images=[];let n=!1,i=0;for(let a=0;a{this._texture.image=e,this._imageSize[0]=e.width,this._imageSize[1]=e.height,this._updatePlaneSizeFromImage()},e.src=this._src}}get src(){return this._src}set size(e){this._size=null==e?1:e,this._image&&this._updatePlaneSizeFromImage()}get size(){return this._size}set collidable(e){this._mesh.collidable=!1!==e}get collidable(){return this._mesh.collidable}set clippable(e){this._mesh.clippable=!1!==e}get clippable(){return this._mesh.clippable}set pickable(e){this._mesh.pickable=!1!==e}get pickable(){return this._mesh.pickable}set opacity(e){this._mesh.opacity=e}get opacity(){return this._mesh.opacity}_updatePlaneSizeFromImage(){const e=.5*this._size,t=this._imageSize[0],s=this._imageSize[1],n=s/t;this._geometry.positions=t>s?[e,e*n,0,-e,e*n,0,-e,-e*n,0,e,-e*n,0]:[e/n,e,0,-e/n,e,0,-e/n,-e,0,e/n,-e,0]}}class Ka{constructor(e){this._eye=A.vec3(),this._look=A.vec3(),this._up=A.vec3(),this._projection={},e&&this.saveCamera(e)}saveCamera(e){const t=e.camera,s=t.project;switch(this._eye.set(t.eye),this._look.set(t.look),this._up.set(t.up),t.projection){case"perspective":this._projection={projection:"perspective",fov:s.fov,fovAxis:s.fovAxis,near:s.near,far:s.far};break;case"ortho":this._projection={projection:"ortho",scale:s.scale,near:s.near,far:s.far};break;case"frustum":this._projection={projection:"frustum",left:s.left,right:s.right,top:s.top,bottom:s.bottom,near:s.near,far:s.far};break;case"custom":this._projection={projection:"custom",matrix:s.matrix.slice()}}}restoreCamera(e,t){const s=e.camera,n=this._projection;function i(){switch(n.type){case"perspective":s.perspective.fov=n.fov,s.perspective.fovAxis=n.fovAxis,s.perspective.near=n.near,s.perspective.far=n.far;break;case"ortho":s.ortho.scale=n.scale,s.ortho.near=n.near,s.ortho.far=n.far;break;case"frustum":s.frustum.left=n.left,s.frustum.right=n.right,s.frustum.top=n.top,s.frustum.bottom=n.bottom,s.frustum.near=n.near,s.frustum.far=n.far;break;case"custom":s.customProjection.matrix=n.matrix}}t?e.viewer.cameraFlight.flyTo({eye:this._eye,look:this._look,up:this._up,orthoScale:n.scale,projection:n.projection},(()=>{i(),t()})):(s.eye=this._eye,s.look=this._look,s.up=this._up,i(),s.projection=n.projection)}}const Ya=A.vec3();class Xa{constructor(e){if(this.objectsVisible=[],this.objectsEdges=[],this.objectsXrayed=[],this.objectsHighlighted=[],this.objectsSelected=[],this.objectsClippable=[],this.objectsPickable=[],this.objectsColorize=[],this.objectsOpacity=[],this.numObjects=0,e){const t=e.metaScene.scene;this.saveObjects(t,e)}}saveObjects(e,t,s){this.numObjects=0,this._mask=s?g.apply(s,{}):null;const n=!s||s.visible,i=!s||s.edges,a=!s||s.xrayed,r=!s||s.highlighted,l=!s||s.selected,o=!s||s.clippable,c=!s||s.pickable,u=!s||s.colorize,h=!s||s.opacity,p=t.metaObjects,A=e.objects;for(let e=0,t=p.length;e1?1:e}get t(){return this._t}get point(){return this.getPoint(this._t)}getPoint(e){var t=A.vec3();return t[0]=A.b3(e,this._v0[0],this._v1[0],this._v2[0],this._v3[0]),t[1]=A.b3(e,this._v0[1],this._v1[1],this._v2[1],this._v3[1]),t[2]=A.b3(e,this._v0[2],this._v1[2],this._v2[2],this._v3[2]),t}getJSON(){return{v0:this._v0,v1:this._v1,v2:this._v2,v3:this._v3,t:this._t}}}class $a extends Ta{constructor(e,t={}){super(e,t),this._cachedLengths=[],this._dirty=!0,this._curves=[],this._t=0,this._dirtySubs=[],this._destroyedSubs=[],this.curves=t.curves||[],this.t=t.t}addCurve(e){this._curves.push(e),this._dirty=!0}set curves(e){var t,s,n;for(e=e||[],s=0,n=this._curves.length;s1?1:e}get t(){return this._t}get point(){return this.getPoint(this._t)}get length(){var e=this._getCurveLengths();return e[e.length-1]}getPoint(e){for(var t,s=e*this.length,n=this._getCurveLengths(),i=0;i=s){var a=1-(n[i]-s)/(t=this._curves[i]).length;return t.getPointAt(a)}i++}return null}_getCurveLengths(){if(!this._dirty)return this._cachedLengths;var e,t=[],s=0,n=this._curves.length;for(e=0;e1?1:e}get t(){return this._t}get point(){return this.getPoint(this._t)}getPoint(e){var t=A.vec3();return t[0]=A.b2(e,this._v0[0],this._v1[0],this._v2[0]),t[1]=A.b2(e,this._v0[1],this._v1[1],this._v2[1]),t[2]=A.b2(e,this._v0[2],this._v1[2],this._v2[2]),t}getJSON(){return{v0:this._v0,v1:this._v1,v2:this._v2,t:this._t}}}const tr=A.OBB3(),sr=A.OBB3(),nr=A.OBB3();class ir{constructor(e,t,s,n,i,a,r=null,l=0){this.model=e,this.object=null,this.parent=null,this.transform=i,this.textureSet=a,this._matrixDirty=!1,this._matrixUpdateScheduled=!1,this.id=t,this.obb=null,this._aabbLocal=null,this._aabbWorld=A.AABB3(),this._aabbWorldDirty=!1,this.layer=r,this.portionId=l,this._color=new Uint8Array([s[0],s[1],s[2],n]),this._colorize=new Uint8Array([s[0],s[1],s[2],n]),this._colorizing=!1,this._transparent=n<255,this.numTriangles=0,this.origin=null,this.entity=null,i&&i._addMesh(this)}_sceneModelDirty(){this._aabbWorldDirty=!0}_transformDirty(){this._matrixDirty||this._matrixUpdateScheduled||(this.model._meshMatrixDirty(this),this._matrixDirty=!0,this._matrixUpdateScheduled=!0),this._aabbWorldDirty=!0,this.entity&&this.entity._transformDirty()}_updateMatrix(){this.transform&&this._matrixDirty&&this.layer.setMatrix(this.portionId,this.transform.worldMatrix),this._matrixDirty=!1,this._matrixUpdateScheduled=!1}_finalize(e){this.layer.initFlags(this.portionId,e,this._transparent)}_finalize2(){this.layer.flushInitFlags&&this.layer.flushInitFlags()}_setVisible(e){this.layer.setVisible(this.portionId,e,this._transparent)}_setColor(e){this._color[0]=e[0],this._color[1]=e[1],this._color[2]=e[2],this._colorizing||this.layer.setColor(this.portionId,this._color,!1)}_setColorize(e){e?(this._colorize[0]=e[0],this._colorize[1]=e[1],this._colorize[2]=e[2],this.layer.setColor(this.portionId,this._colorize,false),this._colorizing=!0):(this.layer.setColor(this.portionId,this._color,false),this._colorizing=!1)}_setOpacity(e,t){const s=e<255,n=this._transparent!==s;this._color[3]=e,this._colorize[3]=e,this._transparent=s,this._colorizing?this.layer.setColor(this.portionId,this._colorize):this.layer.setColor(this.portionId,this._color),n&&this.layer.setTransparent(this.portionId,t,s)}_setOffset(e){this.layer.setOffset(this.portionId,e)}_setHighlighted(e){this.layer.setHighlighted(this.portionId,e,this._transparent)}_setXRayed(e){this.layer.setXRayed(this.portionId,e,this._transparent)}_setSelected(e){this.layer.setSelected(this.portionId,e,this._transparent)}_setEdges(e){this.layer.setEdges(this.portionId,e,this._transparent)}_setClippable(e){this.layer.setClippable(this.portionId,e,this._transparent)}_setCollidable(e){this.layer.setCollidable(this.portionId,e)}_setPickable(e){this.layer.setPickable(this.portionId,e,this._transparent)}_setCulled(e){this.layer.setCulled(this.portionId,e,this._transparent)}canPickTriangle(){return!1}drawPickTriangles(e,t){}pickTriangleSurface(e){}precisionRayPickSurface(e,t,s,n){return!!this.layer.precisionRayPickSurface&&this.layer.precisionRayPickSurface(this.portionId,e,t,s,n)}canPickWorldPos(){return!0}drawPickDepths(e){this.model.drawPickDepths(e)}drawPickNormals(e){this.model.drawPickNormals(e)}delegatePickedEntity(){return this.parent}getEachVertex(e){this.layer.getEachVertex(this.portionId,e)}set aabb(e){this._aabbLocal=e}get aabb(){if(this._aabbWorldDirty){if(A.AABB3ToOBB3(this._aabbLocal,tr),this.transform?(A.transformOBB3(this.transform.worldMatrix,tr,sr),A.transformOBB3(this.model.worldMatrix,sr,nr),A.OBB3ToAABB3(nr,this._aabbWorld)):(A.transformOBB3(this.model.worldMatrix,tr,sr),A.OBB3ToAABB3(sr,this._aabbWorld)),this.origin){const e=this.origin;this._aabbWorld[0]+=e[0],this._aabbWorld[1]+=e[1],this._aabbWorld[2]+=e[2],this._aabbWorld[3]+=e[0],this._aabbWorld[4]+=e[1],this._aabbWorld[5]+=e[2]}this._aabbWorldDirty=!1}return this._aabbWorld}_destroy(){this.model.scene._renderer.putPickID(this.pickId)}}const ar=new class{constructor(){this._uint8Arrays={},this._float32Arrays={}}_clear(){this._uint8Arrays={},this._float32Arrays={}}getUInt8Array(e){let t=this._uint8Arrays[e];return t||(t=new Uint8Array(e),this._uint8Arrays[e]=t),t}getFloat32Array(e){let t=this._float32Arrays[e];return t||(t=new Float32Array(e),this._float32Arrays[e]=t),t}};let rr=0;const lr={NOT_RENDERED:0,COLOR_OPAQUE:1,COLOR_TRANSPARENT:2,SILHOUETTE_HIGHLIGHTED:3,SILHOUETTE_SELECTED:4,SILHOUETTE_XRAYED:5,EDGES_COLOR_OPAQUE:6,EDGES_COLOR_TRANSPARENT:7,EDGES_HIGHLIGHTED:8,EDGES_SELECTED:9,EDGES_XRAYED:10,PICK:11},or=new Float32Array([1,1,1,1]),cr=new Float32Array([0,0,0,1]),ur=A.vec4(),hr=A.vec3(),pr=A.vec3(),Ar=A.mat4();class dr{constructor(e,t=!1,{instancing:s=!1,edges:n=!1}={}){this._scene=e,this._withSAO=t,this._instancing=s,this._edges=n,this._hash=this._getHash(),this._matricesUniformBlockBufferBindingPoint=0,this._matricesUniformBlockBuffer=this._scene.canvas.gl.createBuffer(),this._matricesUniformBlockBufferData=new Float32Array(96),this._vaoCache=new WeakMap,this._allocate()}_getHash(){return this._scene._sectionPlanesState.getHash()}_buildShader(){return{vertex:this._buildVertexShader(),fragment:this._buildFragmentShader()}}_buildVertexShader(){return[""]}_buildFragmentShader(){return[""]}_addMatricesUniformBlockLines(e,t=!1){return e.push("uniform Matrices {"),e.push(" mat4 worldMatrix;"),e.push(" mat4 viewMatrix;"),e.push(" mat4 projMatrix;"),e.push(" mat4 positionsDecodeMatrix;"),t&&(e.push(" mat4 worldNormalMatrix;"),e.push(" mat4 viewNormalMatrix;")),e.push("};"),e}_addRemapClipPosLines(e,t=1){return e.push("uniform vec2 drawingBufferSize;"),e.push("uniform vec2 pickClipPos;"),e.push("vec4 remapClipPos(vec4 clipPos) {"),e.push(" clipPos.xy /= clipPos.w;"),1===t?e.push(" clipPos.xy = (clipPos.xy - pickClipPos) * drawingBufferSize;"):e.push(` clipPos.xy = (clipPos.xy - pickClipPos) * (drawingBufferSize / float(${t}));`),e.push(" clipPos.xy *= clipPos.w;"),e.push(" return clipPos;"),e.push("}"),e}getValid(){return this._hash===this._getHash()}setSectionPlanesStateUniforms(e){const t=this._scene,{gl:s}=t.canvas,{model:n,layerIndex:i}=e,a=t._sectionPlanesState.getNumAllocatedSectionPlanes(),r=t._sectionPlanesState.sectionPlanes.length;if(a>0){const l=t._sectionPlanesState.sectionPlanes,o=i*r,c=n.renderFlags;for(let t=0;t0&&(this._uReflectionMap="reflectionMap"),s.lightMaps.length>0&&(this._uLightMap="lightMap"),this._uSectionPlanes=[];for(let t=0,s=e._sectionPlanesState.getNumAllocatedSectionPlanes();t0&&d.reflectionMaps[0].texture&&this._uReflectionMap&&(this._program.bindTexture(this._uReflectionMap,d.reflectionMaps[0].texture,e.textureUnit),e.textureUnit=(e.textureUnit+1)%a,e.bindTexture++),d.lightMaps.length>0&&d.lightMaps[0].texture&&this._uLightMap&&(this._program.bindTexture(this._uLightMap,d.lightMaps[0].texture,e.textureUnit),e.textureUnit=(e.textureUnit+1)%a,e.bindTexture++),this._withSAO){const t=r.sao;if(t.possible){const s=l.drawingBufferWidth,n=l.drawingBufferHeight;ur[0]=s,ur[1]=n,ur[2]=t.blendCutoff,ur[3]=t.blendFactor,l.uniform4fv(this._uSAOParams,ur),this._program.bindTexture(this._uOcclusionTexture,e.occlusionTexture,e.textureUnit),e.textureUnit=(e.textureUnit+1)%a,e.bindTexture++}}if(n){const e=this._edges?"edgeColor":"fillColor",t=this._edges?"edgeAlpha":"fillAlpha";if(s===lr[(this._edges?"EDGES":"SILHOUETTE")+"_XRAYED"]){const s=r.xrayMaterial._state,n=s[e],i=s[t];l.uniform4f(this._uColor,n[0],n[1],n[2],i)}else if(s===lr[(this._edges?"EDGES":"SILHOUETTE")+"_HIGHLIGHTED"]){const s=r.highlightMaterial._state,n=s[e],i=s[t];l.uniform4f(this._uColor,n[0],n[1],n[2],i)}else if(s===lr[(this._edges?"EDGES":"SILHOUETTE")+"_SELECTED"]){const s=r.selectedMaterial._state,n=s[e],i=s[t];l.uniform4f(this._uColor,n[0],n[1],n[2],i)}else l.uniform4fv(this._uColor,this._edges?cr:or)}this._draw({state:o,frameCtx:e,incrementDrawState:i}),l.bindVertexArray(null)}webglContextRestored(){this._program=null}destroy(){this._program&&this._program.destroy(),this._program=null,y.memory.programs--}}class fr extends dr{constructor(e,t,{instancing:s=!1,edges:n=!1}={}){super(e,t,{instancing:s,edges:n})}_draw(e){const{gl:t}=this._scene.canvas,{state:s,frameCtx:n,incrementDrawState:i}=e;if(this._edges)t.drawElements(t.LINES,s.edgeIndicesBuf.numItems,s.edgeIndicesBuf.itemType,0);else{const e=n.pickElementsCount||s.indicesBuf.numItems,a=n.pickElementsOffset?n.pickElementsOffset*s.indicesBuf.itemByteSize:0;t.drawElements(t.TRIANGLES,e,s.indicesBuf.itemType,a),i&&n.drawElements++}}}class Ir extends fr{constructor(e,t){super(e,t,{instancing:!1,edges:!0})}}class yr extends dr{constructor(e,t,{edges:s=!1}={}){super(e,t,{instancing:!0,edges:s})}_draw(e){const{gl:t}=this._scene.canvas,{state:s,frameCtx:n,incrementDrawState:i}=e;this._edges?t.drawElementsInstanced(t.LINES,s.edgeIndicesBuf.numItems,s.edgeIndicesBuf.itemType,0,s.numInstances):(t.drawElementsInstanced(t.TRIANGLES,s.indicesBuf.numItems,s.indicesBuf.itemType,0,s.numInstances),i&&n.drawElements++)}}class mr extends yr{constructor(e,t){super(e,t,{instancing:!0,edges:!0})}}class vr extends dr{_draw(e){const{gl:t}=this._scene.canvas,{state:s,frameCtx:n,incrementDrawState:i}=e;t.drawArrays(t.POINTS,0,s.positionsBuf.numItems),i&&n.drawArrays++}}class wr extends dr{constructor(e,t){super(e,t,{instancing:!0})}_draw(e){const{gl:t}=this._scene.canvas,{state:s,frameCtx:n,incrementDrawState:i}=e;t.drawArraysInstanced(t.POINTS,0,s.positionsBuf.numItems,s.numInstances),i&&n.drawArrays++}}class gr extends dr{_draw(e){const{gl:t}=this._scene.canvas,{state:s,frameCtx:n,incrementDrawState:i}=e;t.drawElements(t.LINES,s.indicesBuf.numItems,s.indicesBuf.itemType,0),i&&n.drawElements++}}class Er extends dr{constructor(e,t){super(e,t,{instancing:!0})}_draw(e){const{gl:t}=this._scene.canvas,{state:s,frameCtx:n,incrementDrawState:i}=e;t.drawElementsInstanced(t.LINES,s.indicesBuf.numItems,s.indicesBuf.itemType,0,s.numInstances),i&&n.drawElements++}}class Tr extends fr{_getHash(){const e=this._scene;return[e._lightsState.getHash(),e._sectionPlanesState.getHash(),this._withSAO?"sao":"nosao"].join(";")}drawLayer(e,t,s){super.drawLayer(e,t,s,{incrementDrawState:!0})}_buildVertexShader(){const e=this._scene,t=e._sectionPlanesState,s=e._lightsState,n=t.getNumAllocatedSectionPlanes()>0;let i;const a=[];a.push("#version 300 es"),a.push("// Triangles batching draw vertex shader"),a.push("uniform int renderPass;"),a.push("in vec3 position;"),a.push("in vec3 normal;"),a.push("in vec4 color;"),a.push("in float flags;"),e.entityOffsetsEnabled&&a.push("in vec3 offset;"),this._addMatricesUniformBlockLines(a,!0),e.logarithmicDepthBufferEnabled&&(a.push("uniform float logDepthBufFC;"),a.push("out float vFragDepth;"),a.push("bool isPerspectiveMatrix(mat4 m) {"),a.push(" return (m[2][3] == - 1.0);"),a.push("}"),a.push("out float isPerspective;")),a.push("uniform vec4 lightAmbient;");for(let e=0,t=s.lights.length;e= 0.0 ? 1.0 : -1.0, v.y >= 0.0 ? 1.0 : -1.0);"),a.push(" }"),a.push(" return normalize(v);"),a.push("}"),n&&(a.push("out vec4 vWorldPosition;"),a.push("out float vFlags;")),a.push("out vec4 vColor;"),a.push("void main(void) {"),a.push("int colorFlag = int(flags) & 0xF;"),a.push("if (colorFlag != renderPass) {"),a.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),a.push("} else {"),a.push("vec4 worldPosition = worldMatrix * (positionsDecodeMatrix * vec4(position, 1.0)); "),e.entityOffsetsEnabled&&a.push("worldPosition.xyz = worldPosition.xyz + offset;"),a.push("vec4 viewPosition = viewMatrix * worldPosition; "),a.push("vec4 worldNormal = worldNormalMatrix * vec4(octDecode(normal.xy), 0.0); "),a.push("vec3 viewNormal = normalize((viewNormalMatrix * worldNormal).xyz);"),a.push("vec3 reflectedColor = vec3(0.0, 0.0, 0.0);"),a.push("vec3 viewLightDir = vec3(0.0, 0.0, -1.0);"),a.push("float lambertian = 1.0;");for(let e=0,t=s.lights.length;e0,n=[];if(n.push("#version 300 es"),n.push("// Triangles batching draw fragment shader"),n.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),n.push("precision highp float;"),n.push("precision highp int;"),n.push("#else"),n.push("precision mediump float;"),n.push("precision mediump int;"),n.push("#endif"),e.logarithmicDepthBufferEnabled&&(n.push("in float isPerspective;"),n.push("uniform float logDepthBufFC;"),n.push("in float vFragDepth;")),this._withSAO&&(n.push("uniform sampler2D uOcclusionTexture;"),n.push("uniform vec4 uSAOParams;"),n.push("const float packUpscale = 256. / 255.;"),n.push("const float unpackDownScale = 255. / 256.;"),n.push("const vec3 packFactors = vec3( 256. * 256. * 256., 256. * 256., 256. );"),n.push("const vec4 unPackFactors = unpackDownScale / vec4( packFactors, 1. );"),n.push("float unpackRGBToFloat( const in vec4 v ) {"),n.push(" return dot( v, unPackFactors );"),n.push("}")),s){n.push("in vec4 vWorldPosition;"),n.push("in float vFlags;");for(let e=0,s=t.getNumAllocatedSectionPlanes();e> 16 & 0xF) == 1;"),n.push(" if (clippable) {"),n.push(" float dist = 0.0;");for(let e=0,s=t.getNumAllocatedSectionPlanes();e 0.0) { "),n.push(" discard;"),n.push(" }"),n.push("}")}return e.logarithmicDepthBufferEnabled&&n.push(" gl_FragDepth = isPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5;"),this._withSAO?(n.push(" float viewportWidth = uSAOParams[0];"),n.push(" float viewportHeight = uSAOParams[1];"),n.push(" float blendCutoff = uSAOParams[2];"),n.push(" float blendFactor = uSAOParams[3];"),n.push(" vec2 uv = vec2(gl_FragCoord.x / viewportWidth, gl_FragCoord.y / viewportHeight);"),n.push(" float ambient = smoothstep(blendCutoff, 1.0, unpackRGBToFloat(texture(uOcclusionTexture, uv))) * blendFactor;"),n.push(" outColor = vec4(vColor.rgb * ambient, 1.0);")):n.push(" outColor = vColor;"),n.push("}"),n}}class br extends fr{_getHash(){const e=this._scene;return[e._lightsState.getHash(),e._sectionPlanesState.getHash(),this._withSAO?"sao":"nosao"].join(";")}_buildVertexShader(){const e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,s=[];return s.push("#version 300 es"),s.push("// Triangles batching flat-shading draw vertex shader"),s.push("uniform int renderPass;"),s.push("in vec3 position;"),s.push("in vec4 color;"),s.push("in float flags;"),e.entityOffsetsEnabled&&s.push("in vec3 offset;"),this._addMatricesUniformBlockLines(s),e.logarithmicDepthBufferEnabled&&(s.push("uniform float logDepthBufFC;"),s.push("out float vFragDepth;"),s.push("bool isPerspectiveMatrix(mat4 m) {"),s.push(" return (m[2][3] == - 1.0);"),s.push("}"),s.push("out float isPerspective;")),t&&(s.push("out vec4 vWorldPosition;"),s.push("out float vFlags;")),s.push("out vec4 vViewPosition;"),s.push("out vec4 vColor;"),s.push("void main(void) {"),s.push("int colorFlag = int(flags) & 0xF;"),s.push("if (colorFlag != renderPass) {"),s.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),s.push("} else {"),s.push("vec4 worldPosition = worldMatrix * (positionsDecodeMatrix * vec4(position, 1.0)); "),e.entityOffsetsEnabled&&s.push("worldPosition.xyz = worldPosition.xyz + offset;"),s.push("vec4 viewPosition = viewMatrix * worldPosition; "),s.push("vViewPosition = viewPosition;"),s.push("vColor = vec4(float(color.r) / 255.0, float(color.g) / 255.0, float(color.b) / 255.0, float(color.a) / 255.0);"),s.push("vec4 clipPos = projMatrix * viewPosition;"),e.logarithmicDepthBufferEnabled&&(s.push("vFragDepth = 1.0 + clipPos.w;"),s.push("isPerspective = float (isPerspectiveMatrix(projMatrix));")),t&&(s.push("vWorldPosition = worldPosition;"),s.push("vFlags = flags;")),s.push("gl_Position = clipPos;"),s.push("}"),s.push("}"),s}_buildFragmentShader(){const e=this._scene,t=e._lightsState,s=e._sectionPlanesState,n=s.getNumAllocatedSectionPlanes()>0,i=[];if(i.push("#version 300 es"),i.push("// Triangles batching flat-shading draw fragment shader"),i.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),i.push("precision highp float;"),i.push("precision highp int;"),i.push("#else"),i.push("precision mediump float;"),i.push("precision mediump int;"),i.push("#endif"),e.logarithmicDepthBufferEnabled&&(i.push("in float isPerspective;"),i.push("uniform float logDepthBufFC;"),i.push("in float vFragDepth;")),this._withSAO&&(i.push("uniform sampler2D uOcclusionTexture;"),i.push("uniform vec4 uSAOParams;"),i.push("const float packUpscale = 256. / 255.;"),i.push("const float unpackDownScale = 255. / 256.;"),i.push("const vec3 packFactors = vec3( 256. * 256. * 256., 256. * 256., 256. );"),i.push("const vec4 unPackFactors = unpackDownScale / vec4( packFactors, 1. );"),i.push("float unpackRGBToFloat( const in vec4 v ) {"),i.push(" return dot( v, unPackFactors );"),i.push("}")),n){i.push("in vec4 vWorldPosition;"),i.push("in float vFlags;");for(let e=0,t=s.getNumAllocatedSectionPlanes();e> 16 & 0xF) == 1;"),i.push(" if (clippable) {"),i.push(" float dist = 0.0;");for(let e=0,t=s.getNumAllocatedSectionPlanes();e 0.0) { "),i.push(" discard;"),i.push(" }"),i.push("}")}i.push("vec3 reflectedColor = vec3(0.0, 0.0, 0.0);"),i.push("vec3 viewLightDir = vec3(0.0, 0.0, -1.0);"),i.push("float lambertian = 1.0;"),i.push("vec3 xTangent = dFdx( vViewPosition.xyz );"),i.push("vec3 yTangent = dFdy( vViewPosition.xyz );"),i.push("vec3 viewNormal = normalize( cross( xTangent, yTangent ) );");for(let e=0,s=t.lights.length;e0,s=[];return s.push("#version 300 es"),s.push("// Triangles batching silhouette vertex shader"),s.push("uniform int renderPass;"),s.push("in vec3 position;"),e.entityOffsetsEnabled&&s.push("in vec3 offset;"),s.push("in float flags;"),s.push("in vec4 color;"),this._addMatricesUniformBlockLines(s),s.push("uniform vec4 silhouetteColor;"),e.logarithmicDepthBufferEnabled&&(s.push("uniform float logDepthBufFC;"),s.push("out float vFragDepth;"),s.push("bool isPerspectiveMatrix(mat4 m) {"),s.push(" return (m[2][3] == - 1.0);"),s.push("}"),s.push("out float isPerspective;")),t&&(s.push("out vec4 vWorldPosition;"),s.push("out float vFlags;")),s.push("out vec4 vColor;"),s.push("void main(void) {"),s.push("int silhouetteFlag = int(flags) >> 4 & 0xF;"),s.push("if (silhouetteFlag != renderPass) {"),s.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),s.push("} else {"),s.push(" vec4 worldPosition = worldMatrix * (positionsDecodeMatrix * vec4(position, 1.0)); "),e.entityOffsetsEnabled&&s.push(" worldPosition.xyz = worldPosition.xyz + offset;"),s.push("vec4 viewPosition = viewMatrix * worldPosition; "),t&&(s.push("vWorldPosition = worldPosition;"),s.push("vFlags = flags;")),s.push("vColor = vec4(silhouetteColor.r, silhouetteColor.g, silhouetteColor.b, min(silhouetteColor.a, float(color.a) / 255.0));"),s.push("vec4 clipPos = projMatrix * viewPosition;"),e.logarithmicDepthBufferEnabled&&(s.push("vFragDepth = 1.0 + clipPos.w;"),s.push("isPerspective = float (isPerspectiveMatrix(projMatrix));")),s.push("gl_Position = clipPos;"),s.push("}"),s.push("}"),s}_buildFragmentShader(){const e=this._scene,t=e._sectionPlanesState;let s,n;const i=t.getNumAllocatedSectionPlanes()>0,a=[];if(a.push("#version 300 es"),a.push("// Triangles batching silhouette fragment shader"),a.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),a.push("precision highp float;"),a.push("precision highp int;"),a.push("#else"),a.push("precision mediump float;"),a.push("precision mediump int;"),a.push("#endif"),e.logarithmicDepthBufferEnabled&&(a.push("in float isPerspective;"),a.push("uniform float logDepthBufFC;"),a.push("in float vFragDepth;")),i)for(a.push("in vec4 vWorldPosition;"),a.push("in float vFlags;"),s=0,n=t.getNumAllocatedSectionPlanes();s> 16 & 0xF) == 1;"),a.push(" if (clippable) {"),a.push(" float dist = 0.0;"),s=0,n=t.getNumAllocatedSectionPlanes();s 0.0) { discard; }"),a.push("}")}return e.logarithmicDepthBufferEnabled&&a.push(" gl_FragDepth = isPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5;"),a.push("outColor = vColor;"),a.push("}"),a}}class Pr extends Ir{drawLayer(e,t,s){super.drawLayer(e,t,s,{colorUniform:!0})}_buildVertexShader(){const e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,s=[];return s.push("#version 300 es"),s.push("// Batched geometry edges drawing vertex shader"),s.push("uniform int renderPass;"),s.push("uniform vec4 color;"),s.push("in vec3 position;"),e.entityOffsetsEnabled&&s.push("in vec3 offset;"),s.push("in float flags;"),this._addMatricesUniformBlockLines(s),e.logarithmicDepthBufferEnabled&&(s.push("uniform float logDepthBufFC;"),s.push("out float vFragDepth;"),s.push("bool isPerspectiveMatrix(mat4 m) {"),s.push(" return (m[2][3] == - 1.0);"),s.push("}"),s.push("out float isPerspective;")),t&&(s.push("out vec4 vWorldPosition;"),s.push("out float vFlags;")),s.push("out vec4 vColor;"),s.push("void main(void) {"),s.push("int edgeFlag = int(flags) >> 8 & 0xF;"),s.push("if (edgeFlag != renderPass) {"),s.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),s.push("} else {"),s.push(" vec4 worldPosition = worldMatrix * (positionsDecodeMatrix * vec4(position, 1.0)); "),e.entityOffsetsEnabled&&s.push(" worldPosition.xyz = worldPosition.xyz + offset;"),s.push(" vec4 viewPosition = viewMatrix * worldPosition; "),t&&(s.push(" vWorldPosition = worldPosition;"),s.push(" vFlags = flags;")),s.push("vec4 clipPos = projMatrix * viewPosition;"),e.logarithmicDepthBufferEnabled&&(s.push("vFragDepth = 1.0 + clipPos.w;"),s.push("isPerspective = float (isPerspectiveMatrix(projMatrix));")),s.push("gl_Position = clipPos;"),s.push("vColor = vec4(color.r, color.g, color.b, color.a);"),s.push("}"),s.push("}"),s}_buildFragmentShader(){const e=this._scene,t=e._sectionPlanesState,s=t.getNumAllocatedSectionPlanes()>0,n=[];if(n.push("#version 300 es"),n.push("// Batched geometry edges drawing fragment shader"),n.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),n.push("precision highp float;"),n.push("precision highp int;"),n.push("#else"),n.push("precision mediump float;"),n.push("precision mediump int;"),n.push("#endif"),e.logarithmicDepthBufferEnabled&&(n.push("in float isPerspective;"),n.push("uniform float logDepthBufFC;"),n.push("in float vFragDepth;")),s){n.push("in vec4 vWorldPosition;"),n.push("in float vFlags;");for(let e=0,s=t.getNumAllocatedSectionPlanes();e> 16 & 0xF) == 1;"),n.push(" if (clippable) {"),n.push(" float dist = 0.0;");for(let e=0,s=t.getNumAllocatedSectionPlanes();e 0.0) { discard; }"),n.push("}")}return e.logarithmicDepthBufferEnabled&&n.push(" gl_FragDepth = isPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5;"),n.push("outColor = vColor;"),n.push("}"),n}}class Rr extends Ir{_buildVertexShader(){const e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,s=[];return s.push("#version 300 es"),s.push("// Batched geometry edges drawing vertex shader"),s.push("uniform int renderPass;"),s.push("in vec3 position;"),s.push("in vec4 color;"),e.entityOffsetsEnabled&&s.push("in vec3 offset;"),s.push("in float flags;"),this._addMatricesUniformBlockLines(s),e.logarithmicDepthBufferEnabled&&(s.push("uniform float logDepthBufFC;"),s.push("out float vFragDepth;"),s.push("bool isPerspectiveMatrix(mat4 m) {"),s.push(" return (m[2][3] == - 1.0);"),s.push("}"),s.push("out float isPerspective;")),t&&(s.push("out vec4 vWorldPosition;"),s.push("out float vFlags;")),s.push("out vec4 vColor;"),s.push("void main(void) {"),s.push("int edgeFlag = int(flags) >> 8 & 0xF;"),s.push("if (edgeFlag != renderPass) {"),s.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),s.push("} else {"),s.push(" vec4 worldPosition = worldMatrix * (positionsDecodeMatrix * vec4(position, 1.0)); "),e.entityOffsetsEnabled&&s.push(" worldPosition.xyz = worldPosition.xyz + offset;"),s.push(" vec4 viewPosition = viewMatrix * worldPosition; "),t&&(s.push(" vWorldPosition = worldPosition;"),s.push(" vFlags = flags;")),s.push("vec4 clipPos = projMatrix * viewPosition;"),e.logarithmicDepthBufferEnabled&&(s.push("vFragDepth = 1.0 + clipPos.w;"),s.push("isPerspective = float (isPerspectiveMatrix(projMatrix));")),s.push("gl_Position = clipPos;"),s.push("vColor = vec4(float(color.r*0.5) / 255.0, float(color.g*0.5) / 255.0, float(color.b*0.5) / 255.0, float(color.a) / 255.0);"),s.push("}"),s.push("}"),s}_buildFragmentShader(){const e=this._scene,t=e._sectionPlanesState,s=t.getNumAllocatedSectionPlanes()>0,n=[];if(n.push("#version 300 es"),n.push("// Batched geometry edges drawing fragment shader"),n.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),n.push("precision highp float;"),n.push("precision highp int;"),n.push("#else"),n.push("precision mediump float;"),n.push("precision mediump int;"),n.push("#endif"),e.logarithmicDepthBufferEnabled&&(n.push("in float isPerspective;"),n.push("uniform float logDepthBufFC;"),n.push("in float vFragDepth;")),s){n.push("in vec4 vWorldPosition;"),n.push("in float vFlags;");for(let e=0,s=t.getNumAllocatedSectionPlanes();e> 16 & 0xF) == 1;"),n.push(" if (clippable) {"),n.push(" float dist = 0.0;");for(let e=0,s=t.getNumAllocatedSectionPlanes();e 0.0) { discard; }"),n.push("}")}return e.logarithmicDepthBufferEnabled&&n.push(" gl_FragDepth = isPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5;"),n.push("outColor = vColor;"),n.push("}"),n}}class Cr extends fr{_buildVertexShader(){const e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,s=[];return s.push("#version 300 es"),s.push("// Batched geometry picking vertex shader"),s.push("uniform int renderPass;"),s.push("in vec3 position;"),e.entityOffsetsEnabled&&s.push("in vec3 offset;"),s.push("in float flags;"),s.push("in vec4 pickColor;"),s.push("uniform bool pickInvisible;"),this._addMatricesUniformBlockLines(s),e.logarithmicDepthBufferEnabled&&(s.push("uniform float logDepthBufFC;"),s.push("out float vFragDepth;"),s.push("bool isPerspectiveMatrix(mat4 m) {"),s.push(" return (m[2][3] == - 1.0);"),s.push("}"),s.push("out float isPerspective;")),t&&(s.push("out vec4 vWorldPosition;"),s.push("out float vFlags;")),this._addRemapClipPosLines(s),s.push("out vec4 vPickColor;"),s.push("void main(void) {"),s.push("int pickFlag = int(flags) >> 12 & 0xF;"),s.push("if (pickFlag != renderPass) {"),s.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),s.push(" } else {"),s.push(" vec4 worldPosition = worldMatrix * (positionsDecodeMatrix * vec4(position, 1.0)); "),e.entityOffsetsEnabled&&s.push(" worldPosition.xyz = worldPosition.xyz + offset;"),s.push(" vec4 viewPosition = viewMatrix * worldPosition; "),s.push(" vPickColor = vec4(float(pickColor.r) / 255.0, float(pickColor.g) / 255.0, float(pickColor.b) / 255.0, float(pickColor.a) / 255.0);"),t&&(s.push(" vWorldPosition = worldPosition;"),s.push(" vFlags = flags;")),s.push("vec4 clipPos = projMatrix * viewPosition;"),e.logarithmicDepthBufferEnabled&&(s.push("vFragDepth = 1.0 + clipPos.w;"),s.push("isPerspective = float (isPerspectiveMatrix(projMatrix));")),s.push("gl_Position = remapClipPos(clipPos);"),s.push(" }"),s.push("}"),s}_buildFragmentShader(){const e=this._scene,t=e._sectionPlanesState,s=t.getNumAllocatedSectionPlanes()>0,n=[];if(n.push("#version 300 es"),n.push("// Batched geometry picking fragment shader"),n.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),n.push("precision highp float;"),n.push("precision highp int;"),n.push("#else"),n.push("precision mediump float;"),n.push("precision mediump int;"),n.push("#endif"),e.logarithmicDepthBufferEnabled&&(n.push("in float isPerspective;"),n.push("uniform float logDepthBufFC;"),n.push("in float vFragDepth;")),s){n.push("in vec4 vWorldPosition;"),n.push("in float vFlags;");for(var i=0;i> 16 & 0xF) == 1;"),n.push(" if (clippable) {"),n.push(" float dist = 0.0;");for(let e=0;e 0.0) { discard; }"),n.push(" }")}return e.logarithmicDepthBufferEnabled&&n.push(" gl_FragDepth = isPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5;"),n.push(" outColor = vPickColor; "),n.push("}"),n}}class _r extends fr{_buildVertexShader(){const e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,s=[];return s.push("#version 300 es"),s.push("// Triangles batching pick depth vertex shader"),s.push("uniform int renderPass;"),s.push("in vec3 position;"),e.entityOffsetsEnabled&&s.push("in vec3 offset;"),s.push("in float flags;"),s.push("uniform bool pickInvisible;"),this._addMatricesUniformBlockLines(s),e.logarithmicDepthBufferEnabled&&(s.push("uniform float logDepthBufFC;"),s.push("out float vFragDepth;"),s.push("bool isPerspectiveMatrix(mat4 m) {"),s.push(" return (m[2][3] == - 1.0);"),s.push("}"),s.push("out float isPerspective;")),t&&(s.push("out vec4 vWorldPosition;"),s.push("out float vFlags;")),this._addRemapClipPosLines(s),s.push("out vec4 vViewPosition;"),s.push("void main(void) {"),s.push("int pickFlag = int(flags) >> 12 & 0xF;"),s.push("if (pickFlag != renderPass) {"),s.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),s.push(" } else {"),s.push(" vec4 worldPosition = worldMatrix * (positionsDecodeMatrix * vec4(position, 1.0)); "),e.entityOffsetsEnabled&&s.push(" worldPosition.xyz = worldPosition.xyz + offset;"),s.push(" vec4 viewPosition = viewMatrix * worldPosition; "),t&&(s.push(" vWorldPosition = worldPosition;"),s.push(" vFlags = flags;")),s.push("vViewPosition = viewPosition;"),s.push("vec4 clipPos = projMatrix * viewPosition;"),e.logarithmicDepthBufferEnabled&&(s.push("vFragDepth = 1.0 + clipPos.w;"),s.push("isPerspective = float (isPerspectiveMatrix(projMatrix));")),s.push("gl_Position = remapClipPos(clipPos);"),s.push(" }"),s.push("}"),s}_buildFragmentShader(){const e=this._scene,t=e._sectionPlanesState,s=t.getNumAllocatedSectionPlanes()>0,n=[];if(n.push("#version 300 es"),n.push("// Triangles batching pick depth fragment shader"),n.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),n.push("precision highp float;"),n.push("precision highp int;"),n.push("#else"),n.push("precision mediump float;"),n.push("precision mediump int;"),n.push("#endif"),e.logarithmicDepthBufferEnabled&&(n.push("in float isPerspective;"),n.push("uniform float logDepthBufFC;"),n.push("in float vFragDepth;")),n.push("uniform float pickZNear;"),n.push("uniform float pickZFar;"),s){n.push("in vec4 vWorldPosition;"),n.push("in float vFlags;");for(var i=0;i> 16 & 0xF) == 1;"),n.push(" if (clippable) {"),n.push(" float dist = 0.0;");for(let e=0;e 0.0) { discard; }"),n.push(" }")}return e.logarithmicDepthBufferEnabled&&n.push(" gl_FragDepth = isPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5;"),n.push(" float zNormalizedDepth = abs((pickZNear + vViewPosition.z) / (pickZFar - pickZNear));"),n.push(" outColor = packDepth(zNormalizedDepth); "),n.push("}"),n}}class Br extends fr{_buildVertexShader(){const e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,s=[];return s.push("#version 300 es"),s.push("// Triangles batching pick normals vertex shader"),s.push("uniform int renderPass;"),s.push("in vec3 position;"),e.entityOffsetsEnabled&&s.push("in vec3 offset;"),s.push("in vec3 normal;"),s.push("in float flags;"),s.push("uniform bool pickInvisible;"),this._addMatricesUniformBlockLines(s),this._addRemapClipPosLines(s,3),e.logarithmicDepthBufferEnabled&&(s.push("uniform float logDepthBufFC;"),s.push("out float vFragDepth;"),s.push("bool isPerspectiveMatrix(mat4 m) {"),s.push(" return (m[2][3] == - 1.0);"),s.push("}"),s.push("out float isPerspective;")),s.push("vec3 octDecode(vec2 oct) {"),s.push(" vec3 v = vec3(oct.xy, 1.0 - abs(oct.x) - abs(oct.y));"),s.push(" if (v.z < 0.0) {"),s.push(" v.xy = (1.0 - abs(v.yx)) * vec2(v.x >= 0.0 ? 1.0 : -1.0, v.y >= 0.0 ? 1.0 : -1.0);"),s.push(" }"),s.push(" return normalize(v);"),s.push("}"),t&&(s.push("out vec4 vWorldPosition;"),s.push("out float vFlags;")),s.push("out vec3 vWorldNormal;"),s.push("out vec4 outColor;"),s.push("void main(void) {"),s.push("int pickFlag = int(flags) >> 12 & 0xF;"),s.push("if (pickFlag != renderPass) {"),s.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),s.push(" } else {"),s.push(" vec4 worldPosition = worldMatrix * (positionsDecodeMatrix * vec4(position, 1.0)); "),e.entityOffsetsEnabled&&s.push(" worldPosition.xyz = worldPosition.xyz + offset;"),s.push(" vec4 viewPosition = viewMatrix * worldPosition; "),s.push(" vec3 worldNormal = octDecode(normal.xy); "),s.push(" vWorldNormal = worldNormal;"),t&&(s.push(" vWorldPosition = worldPosition;"),s.push(" vFlags = flags;")),s.push("vec4 clipPos = projMatrix * viewPosition;"),e.logarithmicDepthBufferEnabled&&(s.push("vFragDepth = 1.0 + clipPos.w;"),s.push("isPerspective = float (isPerspectiveMatrix(projMatrix));")),s.push("gl_Position = remapClipPos(clipPos);"),s.push(" }"),s.push("}"),s}_buildFragmentShader(){const e=this._scene,t=e._sectionPlanesState,s=t.getNumAllocatedSectionPlanes()>0,n=[];if(n.push("#version 300 es"),n.push("// Triangles batching pick normals fragment shader"),n.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),n.push("precision highp float;"),n.push("precision highp int;"),n.push("#else"),n.push("precision mediump float;"),n.push("precision mediump int;"),n.push("#endif"),e.logarithmicDepthBufferEnabled&&(n.push("in float isPerspective;"),n.push("uniform float logDepthBufFC;"),n.push("in float vFragDepth;")),s){n.push("in vec4 vWorldPosition;"),n.push("in float vFlags;");for(var i=0;i> 16 & 0xF) == 1;"),n.push(" if (clippable) {"),n.push(" float dist = 0.0;");for(let e=0;e 0.0) { discard; }"),n.push(" }")}return e.logarithmicDepthBufferEnabled&&n.push(" gl_FragDepth = isPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5;"),n.push(` outNormal = ivec4(vWorldNormal * float(${A.MAX_INT}), 1.0);`),n.push("}"),n}}class Or extends fr{_buildVertexShader(){const e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,s=[];return s.push("#version 300 es"),s.push("// Triangles batching occlusion vertex shader"),s.push("uniform int renderPass;"),s.push("in vec3 position;"),e.entityOffsetsEnabled&&s.push("in vec3 offset;"),s.push("in vec4 color;"),s.push("in float flags;"),this._addMatricesUniformBlockLines(s),t&&(s.push("out vec4 vWorldPosition;"),s.push("out float vFlags;")),s.push("void main(void) {"),s.push("int colorFlag = int(flags) & 0xF;"),s.push("if (colorFlag != renderPass) {"),s.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),s.push(" } else {"),s.push(" vec4 worldPosition = worldMatrix * (positionsDecodeMatrix * vec4(position, 1.0)); "),e.entityOffsetsEnabled&&s.push(" worldPosition.xyz = worldPosition.xyz + offset;"),s.push(" vec4 viewPosition = viewMatrix * worldPosition; "),t&&(s.push(" vWorldPosition = worldPosition;"),s.push(" vFlags = flags;")),s.push("vec4 clipPos = projMatrix * viewPosition;"),s.push("gl_Position = clipPos;"),s.push(" }"),s.push("}"),s}_buildFragmentShader(){const e=this._scene._sectionPlanesState,t=e.getNumAllocatedSectionPlanes()>0,s=[];if(s.push("#version 300 es"),s.push("// Triangles batching occlusion fragment shader"),s.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),s.push("precision highp float;"),s.push("precision highp int;"),s.push("#else"),s.push("precision mediump float;"),s.push("precision mediump int;"),s.push("#endif"),t){s.push("in vec4 vWorldPosition;"),s.push("in float vFlags;");for(let t=0;t> 16 & 0xF) == 1;"),s.push(" if (clippable) {"),s.push(" float dist = 0.0;");for(let t=0;t 0.0) { discard; }"),s.push(" }")}return s.push(" outColor = vec4(0.0, 0.0, 1.0, 1.0); "),s.push("}"),s}}class Sr extends fr{_buildVertexShader(){const e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,s=[];return s.push("#version 300 es"),s.push("// Triangles batching depth vertex shader"),s.push("uniform int renderPass;"),s.push("in vec3 position;"),e.entityOffsetsEnabled&&s.push("in vec3 offset;"),s.push("in float flags;"),this._addMatricesUniformBlockLines(s),e.logarithmicDepthBufferEnabled&&(s.push("uniform float logDepthBufFC;"),s.push("out float vFragDepth;"),s.push("bool isPerspectiveMatrix(mat4 m) {"),s.push(" return (m[2][3] == - 1.0);"),s.push("}"),s.push("out float isPerspective;")),t&&(s.push("out vec4 vWorldPosition;"),s.push("out float vFlags;")),s.push("out vec2 vHighPrecisionZW;"),s.push("void main(void) {"),s.push("int colorFlag = int(flags) & 0xF;"),s.push("if (colorFlag != renderPass) {"),s.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),s.push(" } else {"),s.push(" vec4 worldPosition = worldMatrix * (positionsDecodeMatrix * vec4(position, 1.0)); "),e.entityOffsetsEnabled&&s.push(" worldPosition.xyz = worldPosition.xyz + offset;"),s.push(" vec4 viewPosition = viewMatrix * worldPosition; "),t&&(s.push(" vWorldPosition = worldPosition;"),s.push(" vFlags = flags;")),s.push("vec4 clipPos = projMatrix * viewPosition;"),e.logarithmicDepthBufferEnabled&&(s.push("vFragDepth = 1.0 + clipPos.w;"),s.push("isPerspective = float (isPerspectiveMatrix(projMatrix));")),s.push("gl_Position = clipPos;"),s.push("vHighPrecisionZW = gl_Position.zw;"),s.push(" }"),s.push("}"),s}_buildFragmentShader(){const e=this._scene,t=e._sectionPlanesState,s=t.getNumAllocatedSectionPlanes()>0,n=[];if(n.push("#version 300 es"),n.push("// Triangles batching depth fragment shader"),n.push("precision highp float;"),n.push("precision highp int;"),e.logarithmicDepthBufferEnabled&&(n.push("in float isPerspective;"),n.push("uniform float logDepthBufFC;"),n.push("in float vFragDepth;")),s){n.push("in vec4 vWorldPosition;"),n.push("in float vFlags;");for(let e=0;e> 16 & 0xF) == 1;"),n.push(" if (clippable) {"),n.push(" float dist = 0.0;");for(var i=0;i 0.0) { discard; }"),n.push(" }")}return e.logarithmicDepthBufferEnabled&&n.push(" gl_FragDepth = isPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5;"),n.push("float fragCoordZ = 0.5 * vHighPrecisionZW[0] / vHighPrecisionZW[1] + 0.5;"),n.push(" outColor = vec4(vec3(1.0 - fragCoordZ), 1.0); "),n.push("}"),n}}class Nr extends fr{_buildVertexShader(){const e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,s=[];return s.push("#version 300 es"),s.push("// Batched geometry normals vertex shader"),s.push("uniform int renderPass;"),s.push("in vec3 position;"),e.entityOffsetsEnabled&&s.push("in vec3 offset;"),s.push("in vec3 normal;"),s.push("in vec4 color;"),s.push("in float flags;"),this._addMatricesUniformBlockLines(s,!0),e.logarithmicDepthBufferEnabled&&(s.push("uniform float logDepthBufFC;"),s.push("out float vFragDepth;"),s.push("bool isPerspectiveMatrix(mat4 m) {"),s.push(" return (m[2][3] == - 1.0);"),s.push("}"),s.push("out float isPerspective;")),s.push("vec3 octDecode(vec2 oct) {"),s.push(" vec3 v = vec3(oct.xy, 1.0 - abs(oct.x) - abs(oct.y));"),s.push(" if (v.z < 0.0) {"),s.push(" v.xy = (1.0 - abs(v.yx)) * vec2(v.x >= 0.0 ? 1.0 : -1.0, v.y >= 0.0 ? 1.0 : -1.0);"),s.push(" }"),s.push(" return normalize(v);"),s.push("}"),t&&(s.push("out vec4 vWorldPosition;"),s.push("out float vFlags;")),s.push("out vec3 vViewNormal;"),s.push("void main(void) {"),s.push("int colorFlag = int(flags) & 0xF;"),s.push("if (colorFlag != renderPass) {"),s.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),s.push(" } else {"),s.push(" vec4 worldPosition = worldMatrix * (positionsDecodeMatrix * vec4(position, 1.0)); "),e.entityOffsetsEnabled&&s.push(" worldPosition.xyz = worldPosition.xyz + offset;"),s.push(" vec4 viewPosition = viewMatrix * worldPosition; "),s.push(" vec4 worldNormal = worldNormalMatrix * vec4(octDecode(normal.xy), 0.0); "),s.push(" vec3 viewNormal = normalize((viewNormalMatrix * worldNormal).xyz);"),t&&(s.push(" vWorldPosition = worldPosition;"),s.push(" vFlags = flags;")),s.push(" vViewNormal = viewNormal;"),s.push("vec4 clipPos = projMatrix * viewPosition;"),e.logarithmicDepthBufferEnabled&&(s.push("vFragDepth = 1.0 + clipPos.w;"),s.push("isPerspective = float (isPerspectiveMatrix(projMatrix));")),s.push("gl_Position = clipPos;"),s.push(" }"),s.push("}"),s}_buildFragmentShader(){const e=this._scene,t=e._sectionPlanesState,s=t.getNumAllocatedSectionPlanes()>0,n=[];if(n.push("#version 300 es"),n.push("// Batched geometry normals fragment shader"),n.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),n.push("precision highp float;"),n.push("precision highp int;"),n.push("#else"),n.push("precision mediump float;"),n.push("precision mediump int;"),n.push("#endif"),e.logarithmicDepthBufferEnabled&&(n.push("in float isPerspective;"),n.push("uniform float logDepthBufFC;"),n.push("in float vFragDepth;")),s){n.push("in vec4 vWorldPosition;"),n.push("in float vFlags;");for(let e=0;e> 16 & 0xF) == 1;"),n.push(" if (clippable) {"),n.push(" float dist = 0.0;");for(var i=0;i 0.0) { discard; }"),n.push(" }")}return e.logarithmicDepthBufferEnabled&&n.push(" gl_FragDepth = isPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5;"),n.push(" outColor = vec4(packNormalToRGB(vViewNormal), 1.0); "),n.push("}"),n}}class xr extends fr{_buildVertexShader(){const e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,s=[];return s.push("#version 300 es"),s.push("// Batched geometry shadow vertex shader"),s.push("in vec3 position;"),e.entityOffsetsEnabled&&s.push("in vec3 offset;"),s.push("in vec4 color;"),s.push("in float flags;"),s.push("uniform mat4 shadowViewMatrix;"),s.push("uniform mat4 shadowProjMatrix;"),this._addMatricesUniformBlockLines(s),t&&(s.push("out vec4 vWorldPosition;"),s.push("out float vFlags;")),s.push("out vec4 vViewPosition;"),s.push("out vec4 outColor;"),s.push("void main(void) {"),s.push(" int colorFlag = int(flags) & 0xF;"),s.push(" bool visible = (colorFlag > 0);"),s.push(" bool transparent = ((float(color.a) / 255.0) < 1.0);"),s.push(" if (!visible || transparent) {"),s.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),s.push(" } else {"),s.push(" vec4 worldPosition = positionsDecodeMatrix * vec4(position, 1.0); "),e.entityOffsetsEnabled&&s.push(" worldPosition.xyz = worldPosition.xyz + offset;"),s.push(" vec4 viewPosition = shadowViewMatrix * worldPosition; "),t&&(s.push(" vWorldPosition = worldPosition;"),s.push(" vFlags = flags;")),s.push(" vViewPosition = viewPosition;"),s.push(" gl_Position = shadowProjMatrix * viewPosition;"),s.push(" }"),s.push("}"),s}_buildFragmentShader(){const e=this._scene._sectionPlanesState,t=e.getNumAllocatedSectionPlanes()>0,s=[];if(s.push("#version 300 es"),s.push("// Batched geometry shadow fragment shader"),s.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),s.push("precision highp float;"),s.push("precision highp int;"),s.push("#else"),s.push("precision mediump float;"),s.push("precision mediump int;"),s.push("#endif"),t){s.push("in vec4 vWorldPosition;"),s.push("in float vFlags;");for(let t=0;t> 16 & 0xF) == 1;"),s.push(" if (clippable) {"),s.push(" float dist = 0.0;");for(var n=0;n 0.0) { discard; }"),s.push(" }")}return s.push(" outColor = encodeFloat( gl_FragCoord.z); "),s.push("}"),s}}class Lr extends fr{_getHash(){const e=this._scene;return[e.gammaOutput,e._lightsState.getHash(),e._sectionPlanesState.getHash(),this._withSAO?"sao":"nosao"].join(";")}drawLayer(e,t,s){super.drawLayer(e,t,s,{incrementDrawState:!0})}_buildVertexShader(){const e=this._scene,t=e._sectionPlanesState,s=e._lightsState,n=t.getNumAllocatedSectionPlanes()>0,i=t.clippingCaps,a=[];return a.push("#version 300 es"),a.push("// Triangles batching quality draw vertex shader"),a.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),a.push("precision highp float;"),a.push("precision highp int;"),a.push("precision highp usampler2D;"),a.push("precision highp isampler2D;"),a.push("precision highp sampler2D;"),a.push("#else"),a.push("precision mediump float;"),a.push("precision mediump int;"),a.push("precision mediump usampler2D;"),a.push("precision mediump isampler2D;"),a.push("precision mediump sampler2D;"),a.push("#endif"),a.push("uniform int renderPass;"),a.push("in vec3 position;"),a.push("in vec3 normal;"),a.push("in vec4 color;"),a.push("in vec2 uv;"),a.push("in vec2 metallicRoughness;"),a.push("in float flags;"),e.entityOffsetsEnabled&&a.push("in vec3 offset;"),this._addMatricesUniformBlockLines(a,!0),a.push("uniform mat3 uvDecodeMatrix;"),e.logarithmicDepthBufferEnabled&&(a.push("uniform float logDepthBufFC;"),a.push("out float vFragDepth;"),a.push("bool isPerspectiveMatrix(mat4 m) {"),a.push(" return (m[2][3] == - 1.0);"),a.push("}"),a.push("out float isPerspective;")),a.push("vec3 octDecode(vec2 oct) {"),a.push(" vec3 v = vec3(oct.xy, 1.0 - abs(oct.x) - abs(oct.y));"),a.push(" if (v.z < 0.0) {"),a.push(" v.xy = (1.0 - abs(v.yx)) * vec2(v.x >= 0.0 ? 1.0 : -1.0, v.y >= 0.0 ? 1.0 : -1.0);"),a.push(" }"),a.push(" return normalize(v);"),a.push("}"),a.push("out vec4 vViewPosition;"),a.push("out vec3 vViewNormal;"),a.push("out vec4 vColor;"),a.push("out vec2 vUV;"),a.push("out vec2 vMetallicRoughness;"),s.lightMaps.length>0&&a.push("out vec3 vWorldNormal;"),n&&(a.push("out vec4 vWorldPosition;"),a.push("out float vFlags;"),i&&a.push("out vec4 vClipPosition;")),a.push("void main(void) {"),a.push("int colorFlag = int(flags) & 0xF;"),a.push("if (colorFlag != renderPass) {"),a.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),a.push("} else {"),a.push("vec4 worldPosition = worldMatrix * (positionsDecodeMatrix * vec4(position, 1.0)); "),e.entityOffsetsEnabled&&a.push("worldPosition.xyz = worldPosition.xyz + offset;"),a.push("vec4 viewPosition = viewMatrix * worldPosition; "),a.push("vec4 worldNormal = worldNormalMatrix * vec4(octDecode(normal.xy), 0.0); "),a.push("vec3 viewNormal = normalize((viewNormalMatrix * worldNormal).xyz);"),a.push("vec4 clipPos = projMatrix * viewPosition;"),e.logarithmicDepthBufferEnabled&&(a.push("isPerspective = float (isPerspectiveMatrix(projMatrix));"),a.push("vFragDepth = 1.0 + clipPos.w;")),n&&(a.push("vWorldPosition = worldPosition;"),a.push("vFlags = flags;"),i&&a.push("vClipPosition = clipPos;")),a.push("vViewPosition = viewPosition;"),a.push("vViewNormal = viewNormal;"),a.push("vColor = color;"),a.push("vUV = (uvDecodeMatrix * vec3(uv, 1.0)).xy;"),a.push("vMetallicRoughness = metallicRoughness;"),s.lightMaps.length>0&&a.push("vWorldNormal = worldNormal.xyz;"),a.push("gl_Position = clipPos;"),a.push("}"),a.push("}"),a}_buildFragmentShader(){const e=this._scene,t=e.gammaOutput,s=e._sectionPlanesState,n=e._lightsState,i=s.getNumAllocatedSectionPlanes()>0,a=s.clippingCaps,r=[];r.push("#version 300 es"),r.push("// Triangles batching quality draw fragment shader"),r.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),r.push("precision highp float;"),r.push("precision highp int;"),r.push("#else"),r.push("precision mediump float;"),r.push("precision mediump int;"),r.push("#endif"),e.logarithmicDepthBufferEnabled&&(r.push("in float isPerspective;"),r.push("uniform float logDepthBufFC;"),r.push("in float vFragDepth;")),r.push("uniform sampler2D uColorMap;"),r.push("uniform sampler2D uMetallicRoughMap;"),r.push("uniform sampler2D uEmissiveMap;"),r.push("uniform sampler2D uNormalMap;"),r.push("uniform sampler2D uAOMap;"),r.push("in vec4 vViewPosition;"),r.push("in vec3 vViewNormal;"),r.push("in vec4 vColor;"),r.push("in vec2 vUV;"),r.push("in vec2 vMetallicRoughness;"),n.lightMaps.length>0&&r.push("in vec3 vWorldNormal;"),this._addMatricesUniformBlockLines(r,!0),n.reflectionMaps.length>0&&r.push("uniform samplerCube reflectionMap;"),n.lightMaps.length>0&&r.push("uniform samplerCube lightMap;"),r.push("uniform vec4 lightAmbient;");for(let e=0,t=n.lights.length;e0&&(r.push("vec3 getLightProbeIndirectRadiance(const in vec3 reflectVec, const in float blinnShininessExponent, const in int maxMIPLevel) {"),r.push(" float mipLevel = 0.5 * getSpecularMIPLevel(blinnShininessExponent, maxMIPLevel);"),r.push(" vec3 envMapColor = sRGBToLinear(texture(reflectionMap, reflectVec, mipLevel)).rgb;"),r.push(" return envMapColor;"),r.push("}")),r.push("vec3 F_Schlick(const in vec3 specularColor, const in float dotLH) {"),r.push(" float fresnel = exp2( ( -5.55473 * dotLH - 6.98316 ) * dotLH );"),r.push(" return ( 1.0 - specularColor ) * fresnel + specularColor;"),r.push("}"),r.push("float G_GGX_Smith(const in float alpha, const in float dotNL, const in float dotNV) {"),r.push(" float a2 = ( alpha * alpha );"),r.push(" float gl = dotNL + sqrt( a2 + ( 1.0 - a2 ) * ( dotNL * dotNL ) );"),r.push(" float gv = dotNV + sqrt( a2 + ( 1.0 - a2 ) * ( dotNV * dotNV ) );"),r.push(" return 1.0 / ( gl * gv );"),r.push("}"),r.push("float G_GGX_SmithCorrelated(const in float alpha, const in float dotNL, const in float dotNV) {"),r.push(" float a2 = ( alpha * alpha );"),r.push(" float gv = dotNL * sqrt( a2 + ( 1.0 - a2 ) * ( dotNV * dotNV ) );"),r.push(" float gl = dotNV * sqrt( a2 + ( 1.0 - a2 ) * ( dotNL * dotNL ) );"),r.push(" return 0.5 / max( gv + gl, EPSILON );"),r.push("}"),r.push("float D_GGX(const in float alpha, const in float dotNH) {"),r.push(" float a2 = ( alpha * alpha );"),r.push(" float denom = ( dotNH * dotNH) * ( a2 - 1.0 ) + 1.0;"),r.push(" return RECIPROCAL_PI * a2 / ( denom * denom);"),r.push("}"),r.push("vec3 BRDF_Specular_GGX(const in IncidentLight incidentLight, const in Geometry geometry, const in vec3 specularColor, const in float roughness) {"),r.push(" float alpha = ( roughness * roughness );"),r.push(" vec3 halfDir = normalize( incidentLight.direction + geometry.viewEyeDir );"),r.push(" float dotNL = saturate( dot( geometry.viewNormal, incidentLight.direction ) );"),r.push(" float dotNV = saturate( dot( geometry.viewNormal, geometry.viewEyeDir ) );"),r.push(" float dotNH = saturate( dot( geometry.viewNormal, halfDir ) );"),r.push(" float dotLH = saturate( dot( incidentLight.direction, halfDir ) );"),r.push(" vec3 F = F_Schlick( specularColor, dotLH );"),r.push(" float G = G_GGX_SmithCorrelated( alpha, dotNL, dotNV );"),r.push(" float D = D_GGX( alpha, dotNH );"),r.push(" return F * (G * D);"),r.push("}"),r.push("vec3 BRDF_Specular_GGX_Environment(const in Geometry geometry, const in vec3 specularColor, const in float roughness) {"),r.push(" float dotNV = saturate(dot(geometry.viewNormal, geometry.viewEyeDir));"),r.push(" const vec4 c0 = vec4( -1, -0.0275, -0.572, 0.022);"),r.push(" const vec4 c1 = vec4( 1, 0.0425, 1.04, -0.04);"),r.push(" vec4 r = roughness * c0 + c1;"),r.push(" float a004 = min(r.x * r.x, exp2(-9.28 * dotNV)) * r.x + r.y;"),r.push(" vec2 AB = vec2(-1.04, 1.04) * a004 + r.zw;"),r.push(" return specularColor * AB.x + AB.y;"),r.push("}"),(n.lightMaps.length>0||n.reflectionMaps.length>0)&&(r.push("void computePBRLightMapping(const in Geometry geometry, const in Material material, inout ReflectedLight reflectedLight) {"),n.lightMaps.length>0&&(r.push(" vec3 irradiance = sRGBToLinear(texture(lightMap, geometry.worldNormal)).rgb;"),r.push(" irradiance *= PI;"),r.push(" vec3 diffuseBRDFContrib = (RECIPROCAL_PI * material.diffuseColor);"),r.push(" reflectedLight.diffuse += irradiance * diffuseBRDFContrib;")),n.reflectionMaps.length>0&&(r.push(" vec3 reflectVec = reflect(geometry.viewEyeDir, geometry.viewNormal);"),r.push(" reflectVec = inverseTransformDirection(reflectVec, viewMatrix);"),r.push(" float blinnExpFromRoughness = GGXRoughnessToBlinnExponent(material.specularRoughness);"),r.push(" vec3 radiance = getLightProbeIndirectRadiance(reflectVec, blinnExpFromRoughness, 8);"),r.push(" vec3 specularBRDFContrib = BRDF_Specular_GGX_Environment(geometry, material.specularColor, material.specularRoughness);"),r.push(" reflectedLight.specular += radiance * specularBRDFContrib;")),r.push("}")),r.push("void computePBRLighting(const in IncidentLight incidentLight, const in Geometry geometry, const in Material material, inout ReflectedLight reflectedLight) {"),r.push(" float dotNL = saturate(dot(geometry.viewNormal, incidentLight.direction));"),r.push(" vec3 irradiance = dotNL * incidentLight.color * PI;"),r.push(" reflectedLight.diffuse += irradiance * (RECIPROCAL_PI * material.diffuseColor);"),r.push(" reflectedLight.specular += irradiance * BRDF_Specular_GGX(incidentLight, geometry, material.specularColor, material.specularRoughness);"),r.push("}"),r.push("out vec4 outColor;"),r.push("void main(void) {"),i){r.push(" bool clippable = (int(vFlags) >> 16 & 0xF) == 1;"),r.push(" if (clippable) {"),r.push(" float dist = 0.0;");for(let e=0,t=s.getNumAllocatedSectionPlanes();e (0.002 * vClipPosition.w)) {"),r.push(" discard;"),r.push(" }"),r.push(" if (dist > 0.0) { "),r.push(" outColor=vec4(1.0, 0.0, 0.0, 1.0);"),e.logarithmicDepthBufferEnabled&&r.push(" gl_FragDepth = log2( vFragDepth ) * logDepthBufFC * 0.5;"),r.push(" return;"),r.push("}")):(r.push(" if (dist > 0.0) { "),r.push(" discard;"),r.push(" }")),r.push("}")}r.push("IncidentLight light;"),r.push("Material material;"),r.push("Geometry geometry;"),r.push("ReflectedLight reflectedLight = ReflectedLight(vec3(0.0,0.0,0.0), vec3(0.0,0.0,0.0));"),r.push("vec3 rgb = (vec3(float(vColor.r) / 255.0, float(vColor.g) / 255.0, float(vColor.b) / 255.0));"),r.push("float opacity = float(vColor.a) / 255.0;"),r.push("vec3 baseColor = rgb;"),r.push("float specularF0 = 1.0;"),r.push("float metallic = float(vMetallicRoughness.r) / 255.0;"),r.push("float roughness = float(vMetallicRoughness.g) / 255.0;"),r.push("float dielectricSpecular = 0.16 * specularF0 * specularF0;"),r.push("vec4 colorTexel = sRGBToLinear(texture(uColorMap, vUV));"),r.push("baseColor *= colorTexel.rgb;"),r.push("vec3 metalRoughTexel = texture(uMetallicRoughMap, vUV).rgb;"),r.push("metallic *= metalRoughTexel.b;"),r.push("roughness *= metalRoughTexel.g;"),r.push("vec3 viewNormal = perturbNormal2Arb(vViewPosition.xyz, normalize(vViewNormal), vUV );"),r.push("material.diffuseColor = baseColor * (1.0 - dielectricSpecular) * (1.0 - metallic);"),r.push("material.specularRoughness = clamp(roughness, 0.04, 1.0);"),r.push("material.specularColor = mix(vec3(dielectricSpecular), baseColor, metallic);"),r.push("geometry.position = vViewPosition.xyz;"),r.push("geometry.viewNormal = -normalize(viewNormal);"),r.push("geometry.viewEyeDir = normalize(vViewPosition.xyz);"),n.lightMaps.length>0&&r.push("geometry.worldNormal = normalize(vWorldNormal);"),(n.lightMaps.length>0||n.reflectionMaps.length>0)&&r.push("computePBRLightMapping(geometry, material, reflectedLight);");for(let e=0,t=n.lights.length;e0,s=[];return s.push("#version 300 es"),s.push("// Triangles batching pick flat normals vertex shader"),s.push("uniform int renderPass;"),s.push("in vec3 position;"),e.entityOffsetsEnabled&&s.push("in vec3 offset;"),s.push("in float flags;"),s.push("uniform bool pickInvisible;"),this._addMatricesUniformBlockLines(s),this._addRemapClipPosLines(s,3),e.logarithmicDepthBufferEnabled&&(s.push("uniform float logDepthBufFC;"),s.push("out float vFragDepth;"),s.push("bool isPerspectiveMatrix(mat4 m) {"),s.push(" return (m[2][3] == - 1.0);"),s.push("}"),s.push("out float isPerspective;")),s.push("out vec4 vWorldPosition;"),t&&s.push("out float vFlags;"),s.push("void main(void) {"),s.push("int pickFlag = int(flags) >> 12 & 0xF;"),s.push("if (pickFlag != renderPass) {"),s.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),s.push(" } else {"),s.push(" vec4 worldPosition = worldMatrix * (positionsDecodeMatrix * vec4(position, 1.0)); "),e.entityOffsetsEnabled&&s.push(" worldPosition.xyz = worldPosition.xyz + offset;"),s.push(" vec4 viewPosition = viewMatrix * worldPosition; "),s.push(" vWorldPosition = worldPosition;"),t&&s.push(" vFlags = flags;"),s.push("vec4 clipPos = projMatrix * viewPosition;"),e.logarithmicDepthBufferEnabled&&(s.push("vFragDepth = 1.0 + clipPos.w;"),s.push("isPerspective = float (isPerspectiveMatrix(projMatrix));")),s.push("gl_Position = remapClipPos(clipPos);"),s.push(" }"),s.push("}"),s}_buildFragmentShader(){const e=this._scene,t=e._sectionPlanesState,s=t.getNumAllocatedSectionPlanes()>0,n=[];if(n.push("#version 300 es"),n.push("// Triangles batching pick flat normals fragment shader"),n.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),n.push("precision highp float;"),n.push("precision highp int;"),n.push("#else"),n.push("precision mediump float;"),n.push("precision mediump int;"),n.push("#endif"),e.logarithmicDepthBufferEnabled&&(n.push("in float isPerspective;"),n.push("uniform float logDepthBufFC;"),n.push("in float vFragDepth;")),n.push("in vec4 vWorldPosition;"),s){n.push("in float vFlags;");for(var i=0;i> 16 & 0xF) == 1;"),n.push(" if (clippable) {"),n.push(" float dist = 0.0;");for(let e=0;e 0.0) { discard; }"),n.push(" }")}return e.logarithmicDepthBufferEnabled&&n.push(" gl_FragDepth = isPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5;"),n.push(" vec3 xTangent = dFdx( vWorldPosition.xyz );"),n.push(" vec3 yTangent = dFdy( vWorldPosition.xyz );"),n.push(" vec3 worldNormal = normalize( cross( xTangent, yTangent ) );"),n.push(` outNormal = ivec4(worldNormal * float(${A.MAX_INT}), 1.0);`),n.push("}"),n}}class Fr extends fr{_getHash(){const e=this._scene;return[e.gammaOutput,e._lightsState.getHash(),e._sectionPlanesState.getHash(),this._withSAO?"sao":"nosao"].join(";")}drawLayer(e,t,s){super.drawLayer(e,t,s,{incrementDrawState:!0})}_buildVertexShader(){const e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,s=[];return s.push("#version 300 es"),s.push("// Triangles batching color texture vertex shader"),s.push("uniform int renderPass;"),s.push("in vec3 position;"),s.push("in vec4 color;"),s.push("in vec2 uv;"),s.push("in float flags;"),e.entityOffsetsEnabled&&s.push("in vec3 offset;"),this._addMatricesUniformBlockLines(s),s.push("uniform mat3 uvDecodeMatrix;"),e.logarithmicDepthBufferEnabled&&(s.push("uniform float logDepthBufFC;"),s.push("out float vFragDepth;"),s.push("bool isPerspectiveMatrix(mat4 m) {"),s.push(" return (m[2][3] == - 1.0);"),s.push("}"),s.push("out float isPerspective;")),t&&(s.push("out vec4 vWorldPosition;"),s.push("out float vFlags;")),s.push("out vec4 vViewPosition;"),s.push("out vec4 vColor;"),s.push("out vec2 vUV;"),s.push("void main(void) {"),s.push("int colorFlag = int(flags) & 0xF;"),s.push("if (colorFlag != renderPass) {"),s.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),s.push("} else {"),s.push("vec4 worldPosition = worldMatrix * (positionsDecodeMatrix * vec4(position, 1.0)); "),e.entityOffsetsEnabled&&s.push("worldPosition.xyz = worldPosition.xyz + offset;"),s.push("vec4 viewPosition = viewMatrix * worldPosition; "),s.push("vViewPosition = viewPosition;"),s.push("vColor = vec4(float(color.r) / 255.0, float(color.g) / 255.0, float(color.b) / 255.0, float(color.a) / 255.0);"),s.push("vUV = (uvDecodeMatrix * vec3(uv, 1.0)).xy;"),s.push("vec4 clipPos = projMatrix * viewPosition;"),e.logarithmicDepthBufferEnabled&&(s.push("vFragDepth = 1.0 + clipPos.w;"),s.push("isPerspective = float (isPerspectiveMatrix(projMatrix));")),t&&(s.push("vWorldPosition = worldPosition;"),s.push("vFlags = flags;")),s.push("gl_Position = clipPos;"),s.push("}"),s.push("}"),s}_buildFragmentShader(){const e=this._scene,t=e.gammaOutput,s=e._lightsState,n=e._sectionPlanesState,i=n.getNumAllocatedSectionPlanes()>0,a=[];if(a.push("#version 300 es"),a.push("// Triangles batching color texture fragment shader"),a.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),a.push("precision highp float;"),a.push("precision highp int;"),a.push("#else"),a.push("precision mediump float;"),a.push("precision mediump int;"),a.push("#endif"),e.logarithmicDepthBufferEnabled&&(a.push("in float isPerspective;"),a.push("uniform float logDepthBufFC;"),a.push("in float vFragDepth;")),a.push("uniform sampler2D uColorMap;"),this._withSAO&&(a.push("uniform sampler2D uOcclusionTexture;"),a.push("uniform vec4 uSAOParams;"),a.push("const float packUpscale = 256. / 255.;"),a.push("const float unpackDownScale = 255. / 256.;"),a.push("const vec3 packFactors = vec3( 256. * 256. * 256., 256. * 256., 256. );"),a.push("const vec4 unPackFactors = unpackDownScale / vec4( packFactors, 1. );"),a.push("float unpackRGBToFloat( const in vec4 v ) {"),a.push(" return dot( v, unPackFactors );"),a.push("}")),a.push("uniform float gammaFactor;"),a.push("vec4 linearToLinear( in vec4 value ) {"),a.push(" return value;"),a.push("}"),a.push("vec4 sRGBToLinear( in vec4 value ) {"),a.push(" return vec4( mix( pow( value.rgb * 0.9478672986 + vec3( 0.0521327014 ), vec3( 2.4 ) ), value.rgb * 0.0773993808, vec3( lessThanEqual( value.rgb, vec3( 0.04045 ) ) ) ), value.w );"),a.push("}"),a.push("vec4 gammaToLinear( in vec4 value) {"),a.push(" return vec4( pow( value.xyz, vec3( gammaFactor ) ), value.w );"),a.push("}"),t&&(a.push("vec4 linearToGamma( in vec4 value, in float gammaFactor ) {"),a.push(" return vec4( pow( value.xyz, vec3( 1.0 / gammaFactor ) ), value.w );"),a.push("}")),i){a.push("in vec4 vWorldPosition;"),a.push("in float vFlags;");for(let e=0,t=n.getNumAllocatedSectionPlanes();e> 16 & 0xF) == 1;"),a.push(" if (clippable) {"),a.push(" float dist = 0.0;");for(let e=0,t=n.getNumAllocatedSectionPlanes();e 0.0) { "),a.push(" discard;"),a.push(" }"),a.push("}")}a.push("vec3 reflectedColor = vec3(0.0, 0.0, 0.0);"),a.push("vec3 viewLightDir = vec3(0.0, 0.0, -1.0);"),a.push("float lambertian = 1.0;"),a.push("vec3 xTangent = dFdx( vViewPosition.xyz );"),a.push("vec3 yTangent = dFdy( vViewPosition.xyz );"),a.push("vec3 viewNormal = normalize( cross( xTangent, yTangent ) );");for(let e=0,t=s.lights.length;e5e6&&(e=5e6),this.maxVerts=e,this.maxIndices=3*e,this.positions=[],this.colors=[],this.uv=[],this.metallicRoughness=[],this.normals=[],this.pickColors=[],this.offsets=[],this.indices=[],this.edgeIndices=[]}}const jr=A.mat4(),Vr=A.mat4();function kr(e,t,s){const n=e.length,i=new Uint16Array(n),a=t[0],r=t[1],l=t[2],o=t[3]-a,c=t[4]-r,u=t[5]-l,h=65525,p=h/o,d=h/c,f=h/u,I=e=>e>=0?e:0;for(let t=0;t=0?1:-1),t=(1-Math.abs(n))*(i>=0?1:-1),n=e,i=t}return new Int8Array([Math[t](127.5*n+(n<0?-1:0)),Math[s](127.5*i+(i<0?-1:0))])}function zr(e){let t=e[0],s=e[1];t/=t<0?127:128,s/=s<0?127:128;const n=1-Math.abs(t)-Math.abs(s);n<0&&(t=(1-Math.abs(s))*(t>=0?1:-1),s=(1-Math.abs(t))*(s>=0?1:-1));const i=Math.sqrt(t*t+s*s+n*n);return[t/i,s/i,n/i]}const Kr=A.vec3(),Yr=A.vec3(),Xr=A.vec3(),qr=A.vec3(),Jr=A.mat4();class Zr extends dr{drawLayer(e,t,s){if(!this._program&&(this._allocate(),this.errors))return;e.lastProgramId!==this._program.id&&(e.lastProgramId=this._program.id,this._bindProgram());const n=t.model,i=n.scene,a=i.camera,r=i.canvas.gl,l=t._state,o=t._state.origin,{position:c,rotationMatrix:u,rotationMatrixConjugate:h}=n,p=n.aabb,d=e.pickViewMatrix||a.viewMatrix;this._vaoCache.has(t)?r.bindVertexArray(this._vaoCache.get(t)):this._vaoCache.set(t,this._makeVAO(l));const f=Kr;let I,y;if(f[0]=A.safeInv(p[3]-p[0])*A.MAX_INT,f[1]=A.safeInv(p[4]-p[1])*A.MAX_INT,f[2]=A.safeInv(p[5]-p[2])*A.MAX_INT,e.snapPickCoordinateScale[0]=A.safeInv(f[0]),e.snapPickCoordinateScale[1]=A.safeInv(f[1]),e.snapPickCoordinateScale[2]=A.safeInv(f[2]),o||0!==c[0]||0!==c[1]||0!==c[2]){const t=Yr;if(o){const e=Xr;A.transformPoint3(u,o,e),t[0]=e[0],t[1]=e[1],t[2]=e[2]}else t[0]=0,t[1]=0,t[2]=0;t[0]+=c[0],t[1]+=c[1],t[2]+=c[2],I=Q(d,t,Jr),y=qr,y[0]=a.eye[0]-t[0],y[1]=a.eye[1]-t[1],y[2]=a.eye[2]-t[2],e.snapPickOrigin[0]=t[0],e.snapPickOrigin[1]=t[1],e.snapPickOrigin[2]=t[2]}else I=d,y=a.eye,e.snapPickOrigin[0]=0,e.snapPickOrigin[1]=0,e.snapPickOrigin[2]=0;r.uniform3fv(this._uCameraEyeRtc,y),r.uniform2fv(this.uVectorA,e.snapVectorA),r.uniform2fv(this.uInverseVectorAB,e.snapInvVectorAB),r.uniform1i(this._uLayerNumber,e.snapPickLayerNumber),r.uniform3fv(this._uCoordinateScaler,f),r.uniform1i(this._uRenderPass,s),r.uniform1i(this._uPickInvisible,e.pickInvisible);let m=0;this._matricesUniformBlockBufferData.set(h,0),this._matricesUniformBlockBufferData.set(I,m+=16),this._matricesUniformBlockBufferData.set(a.projMatrix,m+=16),this._matricesUniformBlockBufferData.set(l.positionsDecodeMatrix,m+=16),r.bindBuffer(r.UNIFORM_BUFFER,this._matricesUniformBlockBuffer),r.bufferData(r.UNIFORM_BUFFER,this._matricesUniformBlockBufferData,r.DYNAMIC_DRAW),r.bindBufferBase(r.UNIFORM_BUFFER,this._matricesUniformBlockBufferBindingPoint,this._matricesUniformBlockBuffer);{const t=2/(Math.log(e.pickZFar+1)/Math.LN2);r.uniform1f(this._uLogDepthBufFC,t)}this.setSectionPlanesStateUniforms(t),l.indicesBuf.bind(),r.drawElements(r.TRIANGLES,l.indicesBuf.numItems,l.indicesBuf.itemType,0),l.indicesBuf.unbind()}_allocate(){super._allocate();const e=this._program;this._uLogDepthBufFC=e.getLocation("logDepthBufFC"),this._uCameraEyeRtc=e.getLocation("uCameraEyeRtc"),this.uVectorA=e.getLocation("snapVectorA"),this.uInverseVectorAB=e.getLocation("snapInvVectorAB"),this._uLayerNumber=e.getLocation("layerNumber"),this._uCoordinateScaler=e.getLocation("coordinateScaler")}_bindProgram(){this._program.bind()}_buildVertexShader(){const e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,s=[];return s.push("#version 300 es"),s.push("// VBO SnapBatchingDepthBufInitRenderer vertex shader"),s.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),s.push("precision highp float;"),s.push("precision highp int;"),s.push("precision highp usampler2D;"),s.push("precision highp isampler2D;"),s.push("precision highp sampler2D;"),s.push("#else"),s.push("precision mediump float;"),s.push("precision mediump int;"),s.push("precision mediump usampler2D;"),s.push("precision mediump isampler2D;"),s.push("precision mediump sampler2D;"),s.push("#endif"),s.push("uniform int renderPass;"),s.push("in vec4 pickColor;"),s.push("in vec3 position;"),e.entityOffsetsEnabled&&s.push("in vec3 offset;"),s.push("in float flags;"),s.push("uniform bool pickInvisible;"),this._addMatricesUniformBlockLines(s),s.push("uniform vec3 uCameraEyeRtc;"),s.push("uniform vec2 snapVectorA;"),s.push("uniform vec2 snapInvVectorAB;"),s.push("uniform float logDepthBufFC;"),s.push("out float vFragDepth;"),s.push("out float isPerspective;"),s.push("bool isPerspectiveMatrix(mat4 m) {"),s.push(" return (m[2][3] == - 1.0);"),s.push("}"),s.push("vec2 remapClipPos(vec2 clipPos) {"),s.push(" float x = (clipPos.x - snapVectorA.x) * snapInvVectorAB.x;"),s.push(" float y = (clipPos.y - snapVectorA.y) * snapInvVectorAB.y;"),s.push(" return vec2(x, y);"),s.push("}"),s.push("flat out vec4 vPickColor;"),s.push("out vec4 vWorldPosition;"),t&&s.push("out float vFlags;"),s.push("out highp vec3 relativeToOriginPosition;"),s.push("void main(void) {"),s.push("int pickFlag = int(flags) >> 12 & 0xF;"),s.push("if (pickFlag != renderPass) {"),s.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),s.push(" } else {"),s.push(" vec4 worldPosition = worldMatrix * (positionsDecodeMatrix * vec4(position, 1.0)); "),e.entityOffsetsEnabled&&s.push(" worldPosition.xyz = worldPosition.xyz + offset;"),s.push(" relativeToOriginPosition = worldPosition.xyz;"),s.push(" vec4 viewPosition = viewMatrix * worldPosition; "),s.push(" vWorldPosition = worldPosition;"),t&&s.push(" vFlags = flags;"),s.push("vPickColor = pickColor;"),s.push("vec4 clipPos = projMatrix * viewPosition;"),s.push("float tmp = clipPos.w;"),s.push("clipPos.xyzw /= tmp;"),s.push("clipPos.xy = remapClipPos(clipPos.xy);"),s.push("clipPos.xyzw *= tmp;"),s.push("vFragDepth = 1.0 + clipPos.w;"),s.push("isPerspective = float (isPerspectiveMatrix(projMatrix));"),s.push("gl_Position = clipPos;"),s.push(" }"),s.push("}"),s}_buildFragmentShader(){const e=this._scene._sectionPlanesState,t=e.getNumAllocatedSectionPlanes()>0,s=[];if(s.push("#version 300 es"),s.push("// VBO SnapBatchingDepthBufInitRenderer fragment shader"),s.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),s.push("precision highp float;"),s.push("precision highp int;"),s.push("#else"),s.push("precision mediump float;"),s.push("precision mediump int;"),s.push("#endif"),s.push("in float isPerspective;"),s.push("uniform float logDepthBufFC;"),s.push("in float vFragDepth;"),s.push("uniform int layerNumber;"),s.push("uniform vec3 coordinateScaler;"),s.push("in vec4 vWorldPosition;"),s.push("flat in vec4 vPickColor;"),t){s.push("in float vFlags;");for(let t=0;t> 16 & 0xF) == 1;"),s.push(" if (clippable) {"),s.push(" float dist = 0.0;");for(var n=0;n 0.0) { discard; }"),s.push(" }")}return s.push(" float dx = dFdx(vFragDepth);"),s.push(" float dy = dFdy(vFragDepth);"),s.push(" float diff = sqrt(dx*dx+dy*dy);"),s.push(" gl_FragDepth = isPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth + diff ) * logDepthBufFC * 0.5;"),s.push("outCoords = ivec4(relativeToOriginPosition.xyz*coordinateScaler.xyz, -layerNumber);"),s.push("vec3 xTangent = dFdx( vWorldPosition.xyz );"),s.push("vec3 yTangent = dFdy( vWorldPosition.xyz );"),s.push("vec3 worldNormal = normalize( cross( xTangent, yTangent ) );"),s.push(`outNormal = ivec4(worldNormal * float(${A.MAX_INT}), 1.0);`),s.push("outPickColor = uvec4(vPickColor);"),s.push("}"),s}webglContextRestored(){this._program=null}destroy(){this._program&&this._program.destroy(),this._program=null}}const $r=A.vec3(),el=A.vec3(),tl=A.vec3(),sl=A.vec3(),nl=A.mat4();class il extends dr{_getHash(){return this._scene._sectionPlanesState.getHash()+this._scene.pointsMaterial.hash}drawLayer(e,t,s){if(!this._program&&(this._allocate(),this.errors))return;e.lastProgramId!==this._program.id&&(e.lastProgramId=this._program.id,this._bindProgram());const n=t.model,i=n.scene,a=i.camera,r=i.canvas.gl,l=t._state,o=t._state.origin,{position:c,rotationMatrix:u,rotationMatrixConjugate:h}=n,p=n.aabb,d=e.pickViewMatrix||a.viewMatrix;this._vaoCache.has(t)?r.bindVertexArray(this._vaoCache.get(t)):this._vaoCache.set(t,this._makeVAO(l));const f=$r;let I,y;if(f[0]=A.safeInv(p[3]-p[0])*A.MAX_INT,f[1]=A.safeInv(p[4]-p[1])*A.MAX_INT,f[2]=A.safeInv(p[5]-p[2])*A.MAX_INT,e.snapPickCoordinateScale[0]=A.safeInv(f[0]),e.snapPickCoordinateScale[1]=A.safeInv(f[1]),e.snapPickCoordinateScale[2]=A.safeInv(f[2]),o||0!==c[0]||0!==c[1]||0!==c[2]){const t=el;if(o){const e=tl;A.transformPoint3(u,o,e),t[0]=e[0],t[1]=e[1],t[2]=e[2]}else t[0]=0,t[1]=0,t[2]=0;t[0]+=c[0],t[1]+=c[1],t[2]+=c[2],I=Q(d,t,nl),y=sl,y[0]=a.eye[0]-t[0],y[1]=a.eye[1]-t[1],y[2]=a.eye[2]-t[2],e.snapPickOrigin[0]=t[0],e.snapPickOrigin[1]=t[1],e.snapPickOrigin[2]=t[2]}else I=d,y=a.eye,e.snapPickOrigin[0]=0,e.snapPickOrigin[1]=0,e.snapPickOrigin[2]=0;r.uniform3fv(this._uCameraEyeRtc,y),r.uniform2fv(this.uVectorA,e.snapVectorA),r.uniform2fv(this.uInverseVectorAB,e.snapInvVectorAB),r.uniform1i(this._uLayerNumber,e.snapPickLayerNumber),r.uniform3fv(this._uCoordinateScaler,f),r.uniform1i(this._uRenderPass,s),r.uniform1i(this._uPickInvisible,e.pickInvisible);let m=0;this._matricesUniformBlockBufferData.set(h,0),this._matricesUniformBlockBufferData.set(I,m+=16),this._matricesUniformBlockBufferData.set(a.projMatrix,m+=16),this._matricesUniformBlockBufferData.set(l.positionsDecodeMatrix,m+=16),r.bindBuffer(r.UNIFORM_BUFFER,this._matricesUniformBlockBuffer),r.bufferData(r.UNIFORM_BUFFER,this._matricesUniformBlockBufferData,r.DYNAMIC_DRAW),r.bindBufferBase(r.UNIFORM_BUFFER,this._matricesUniformBlockBufferBindingPoint,this._matricesUniformBlockBuffer);{const t=2/(Math.log(e.pickZFar+1)/Math.LN2);r.uniform1f(this._uLogDepthBufFC,t)}this.setSectionPlanesStateUniforms(t),"edge"===e.snapMode?(l.edgeIndicesBuf.bind(),r.drawElements(r.LINES,l.edgeIndicesBuf.numItems,l.edgeIndicesBuf.itemType,0),l.edgeIndicesBuf.unbind()):r.drawArrays(r.POINTS,0,l.positionsBuf.numItems)}_allocate(){super._allocate();const e=this._program;this._uLogDepthBufFC=e.getLocation("logDepthBufFC"),this._uCameraEyeRtc=e.getLocation("uCameraEyeRtc"),this.uVectorA=e.getLocation("snapVectorA"),this.uInverseVectorAB=e.getLocation("snapInvVectorAB"),this._uLayerNumber=e.getLocation("layerNumber"),this._uCoordinateScaler=e.getLocation("coordinateScaler")}_bindProgram(){this._program.bind()}_buildVertexShader(){const e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0;e.pointsMaterial._state;const s=[];return s.push("#version 300 es"),s.push("// SnapBatchingDepthRenderer vertex shader"),s.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),s.push("precision highp float;"),s.push("precision highp int;"),s.push("precision highp usampler2D;"),s.push("precision highp isampler2D;"),s.push("precision highp sampler2D;"),s.push("#else"),s.push("precision mediump float;"),s.push("precision mediump int;"),s.push("precision mediump usampler2D;"),s.push("precision mediump isampler2D;"),s.push("precision mediump sampler2D;"),s.push("#endif"),s.push("uniform int renderPass;"),s.push("in vec3 position;"),e.entityOffsetsEnabled&&s.push("in vec3 offset;"),s.push("in float flags;"),s.push("uniform bool pickInvisible;"),this._addMatricesUniformBlockLines(s),s.push("uniform vec3 uCameraEyeRtc;"),s.push("uniform vec2 snapVectorA;"),s.push("uniform vec2 snapInvVectorAB;"),s.push("uniform float logDepthBufFC;"),s.push("out float vFragDepth;"),s.push("bool isPerspectiveMatrix(mat4 m) {"),s.push(" return (m[2][3] == - 1.0);"),s.push("}"),s.push("out float isPerspective;"),s.push("vec2 remapClipPos(vec2 clipPos) {"),s.push(" float x = (clipPos.x - snapVectorA.x) * snapInvVectorAB.x;"),s.push(" float y = (clipPos.y - snapVectorA.y) * snapInvVectorAB.y;"),s.push(" return vec2(x, y);"),s.push("}"),t&&(s.push("out vec4 vWorldPosition;"),s.push("out float vFlags;")),s.push("out highp vec3 relativeToOriginPosition;"),s.push("void main(void) {"),s.push("int pickFlag = int(flags) >> 12 & 0xF;"),s.push("if (pickFlag != renderPass) {"),s.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),s.push(" } else {"),s.push(" vec4 worldPosition = worldMatrix * (positionsDecodeMatrix * vec4(position, 1.0)); "),e.entityOffsetsEnabled&&s.push(" worldPosition.xyz = worldPosition.xyz + offset;"),s.push("relativeToOriginPosition = worldPosition.xyz;"),s.push(" vec4 viewPosition = viewMatrix * worldPosition; "),t&&(s.push(" vWorldPosition = worldPosition;"),s.push(" vFlags = flags;")),s.push("vec4 clipPos = projMatrix * viewPosition;"),s.push("float tmp = clipPos.w;"),s.push("clipPos.xyzw /= tmp;"),s.push("clipPos.xy = remapClipPos(clipPos.xy);"),s.push("clipPos.xyzw *= tmp;"),s.push("vFragDepth = 1.0 + clipPos.w;"),s.push("isPerspective = float (isPerspectiveMatrix(projMatrix));"),s.push("gl_Position = clipPos;"),s.push("gl_PointSize = 1.0;"),s.push(" }"),s.push("}"),s}_buildFragmentShader(){const e=this._scene._sectionPlanesState,t=e.getNumAllocatedSectionPlanes()>0,s=[];if(s.push("#version 300 es"),s.push("// SnapBatchingDepthRenderer fragment shader"),s.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),s.push("precision highp float;"),s.push("precision highp int;"),s.push("#else"),s.push("precision mediump float;"),s.push("precision mediump int;"),s.push("#endif"),s.push("in float isPerspective;"),s.push("uniform float logDepthBufFC;"),s.push("in float vFragDepth;"),s.push("uniform int layerNumber;"),s.push("uniform vec3 coordinateScaler;"),t){s.push("in vec4 vWorldPosition;"),s.push("in float vFlags;");for(let t=0;t> 16 & 0xF) == 1;"),s.push(" if (clippable) {"),s.push(" float dist = 0.0;");for(var n=0;n 0.0) { discard; }"),s.push(" }")}return s.push(" gl_FragDepth = isPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5;"),s.push("outCoords = ivec4(relativeToOriginPosition.xyz*coordinateScaler.xyz, layerNumber);"),s.push("}"),s}webglContextRestored(){this._program=null}destroy(){this._program&&this._program.destroy(),this._program=null}}class al{constructor(e){this._scene=e}_compile(){this._snapDepthBufInitRenderer&&!this._snapDepthBufInitRenderer.getValid()&&(this._snapDepthBufInitRenderer.destroy(),this._snapDepthBufInitRenderer=null),this._snapDepthRenderer&&!this._snapDepthRenderer.getValid()&&(this._snapDepthRenderer.destroy(),this._snapDepthRenderer=null)}eagerCreateRenders(){this._snapDepthBufInitRenderer||(this._snapDepthBufInitRenderer=new Zr(this._scene,!1)),this._snapDepthRenderer||(this._snapDepthRenderer=new il(this._scene))}get snapDepthBufInitRenderer(){return this._snapDepthBufInitRenderer||(this._snapDepthBufInitRenderer=new Zr(this._scene,!1)),this._snapDepthBufInitRenderer}get snapDepthRenderer(){return this._snapDepthRenderer||(this._snapDepthRenderer=new il(this._scene)),this._snapDepthRenderer}_destroy(){this._snapDepthBufInitRenderer&&this._snapDepthBufInitRenderer.destroy(),this._snapDepthRenderer&&this._snapDepthRenderer.destroy()}}const rl={};const ll=A.mat4(),ol=A.mat4(),cl=A.vec4([0,0,0,1]);A.vec4([0,0,0,1]),A.vec4([0,0,0,1]),A.OBB3();const ul=A.vec3(),hl=A.vec3(),pl=A.vec3(),Al=A.vec3(),dl=A.vec3(),fl=A.vec3(),Il=A.vec3();class yl{constructor(e){this.model=e.model,this.sortId="TrianglesBatchingLayer"+(e.solid?"-solid":"-surface")+(e.autoNormals?"-autonormals":"-normals")+(e.textureSet&&e.textureSet.colorTexture?"-colorTexture":"")+(e.textureSet&&e.textureSet.metallicRoughnessTexture?"-metallicRoughnessTexture":""),this.layerIndex=e.layerIndex,this._batchingRenderers=function(e){const t=e.id;let s=Ur[t];return s||(s=new Hr(e),Ur[t]=s,s._compile(),s.eagerCreateRenders(),e.on("compile",(()=>{s._compile(),s.eagerCreateRenders()})),e.on("destroyed",(()=>{delete Ur[t],s._destroy()}))),s}(e.model.scene),this._snapBatchingRenderers=function(e){const t=e.id;let s=rl[t];return s||(s=new al(e),rl[t]=s,s._compile(),s.eagerCreateRenders(),e.on("compile",(()=>{s._compile(),s.eagerCreateRenders()})),e.on("destroyed",(()=>{delete rl[t],s._destroy()}))),s}(e.model.scene),this._buffer=new Gr(e.maxGeometryBatchSize),this._scratchMemory=e.scratchMemory,this._state=new it({origin:A.vec3(),positionsBuf:null,offsetsBuf:null,normalsBuf:null,colorsBuf:null,uvBuf:null,metallicRoughnessBuf:null,flagsBuf:null,indicesBuf:null,edgeIndicesBuf:null,positionsDecodeMatrix:null,uvDecodeMatrix:null,textureSet:e.textureSet,pbrSupported:!1}),this._numPortions=0,this._numVisibleLayerPortions=0,this._numTransparentLayerPortions=0,this._numXRayedLayerPortions=0,this._numSelectedLayerPortions=0,this._numHighlightedLayerPortions=0,this._numClippableLayerPortions=0,this._numEdgesLayerPortions=0,this._numPickableLayerPortions=0,this._numCulledLayerPortions=0,this._modelAABB=A.collapseAABB3(),this._portions=[],this._numVerts=0,this._finalized=!1,e.positionsDecodeMatrix&&(this._state.positionsDecodeMatrix=A.mat4(e.positionsDecodeMatrix)),e.uvDecodeMatrix?(this._state.uvDecodeMatrix=A.mat3(e.uvDecodeMatrix),this._preCompressedUVsExpected=!0):this._preCompressedUVsExpected=!1,e.origin&&this._state.origin.set(e.origin),this.aabb=A.collapseAABB3(),this.solid=!!e.solid}canCreatePortion(e,t){if(this._finalized)throw"Already finalized";return this._buffer.positions.length+e<3*this._buffer.maxVerts&&this._buffer.indices.length+t0)for(let e=0,t=i.length;e0){const e=ll;I?A.inverseMat4(A.transposeMat4(I,ol),e):A.identityMat4(e,e),function(e,t,s,n,i){function a(e,t){return e[0]*t[0]+e[1]*t[1]+e[2]*t[2]}let r,l,o,c,u,h,p=new Float32Array([0,0,0,0]),d=new Float32Array([0,0,0,0]);for(h=0;hu&&(o=r,u=c),r=Wr(d,"floor","ceil"),l=zr(r),c=a(d,l),c>u&&(o=r,u=c),r=Wr(d,"ceil","ceil"),l=zr(r),c=a(d,l),c>u&&(o=r,u=c),n[i+h+0]=o[0],n[i+h+1]=o[1],n[i+h+2]=0}(e,n,n.length,v.normals,v.normals.length)}if(l)for(let e=0,t=l.length;e0)for(let e=0,t=a.length;e0)for(let e=0,t=r.length;e0){const n=this._state.positionsDecodeMatrix?new Uint16Array(s.positions):kr(s.positions,this._modelAABB,this._state.positionsDecodeMatrix=A.mat4());if(e.positionsBuf=new He(t,t.ARRAY_BUFFER,n,n.length,3,t.STATIC_DRAW),this.model.scene.pickSurfacePrecisionEnabled)for(let e=0,t=this._portions.length;e0){const n=new Int8Array(s.normals);let i=!0;e.normalsBuf=new He(t,t.ARRAY_BUFFER,n,s.normals.length,3,t.STATIC_DRAW,i)}if(s.colors.length>0){const n=new Uint8Array(s.colors);let i=!1;e.colorsBuf=new He(t,t.ARRAY_BUFFER,n,s.colors.length,4,t.DYNAMIC_DRAW,i)}if(s.uv.length>0)if(e.uvDecodeMatrix){let n=!1;e.uvBuf=new He(t,t.ARRAY_BUFFER,s.uv,s.uv.length,2,t.STATIC_DRAW,n)}else{const n=Ft.getUVBounds(s.uv),i=Ft.compressUVs(s.uv,n.min,n.max),a=i.quantized;let r=!1;e.uvDecodeMatrix=A.mat3(i.decodeMatrix),e.uvBuf=new He(t,t.ARRAY_BUFFER,a,a.length,2,t.STATIC_DRAW,r)}if(s.metallicRoughness.length>0){const n=new Uint8Array(s.metallicRoughness);let i=!1;e.metallicRoughnessBuf=new He(t,t.ARRAY_BUFFER,n,s.metallicRoughness.length,2,t.STATIC_DRAW,i)}if(s.positions.length>0){const n=s.positions.length/3,i=new Float32Array(n),a=!1;e.flagsBuf=new He(t,t.ARRAY_BUFFER,i,i.length,1,t.DYNAMIC_DRAW,a)}if(s.pickColors.length>0){const n=new Uint8Array(s.pickColors);let i=!1;e.pickColorsBuf=new He(t,t.ARRAY_BUFFER,n,s.pickColors.length,4,t.STATIC_DRAW,i)}if(this.model.scene.entityOffsetsEnabled&&s.offsets.length>0){const n=new Float32Array(s.offsets);e.offsetsBuf=new He(t,t.ARRAY_BUFFER,n,s.offsets.length,3,t.DYNAMIC_DRAW)}if(s.indices.length>0){const n=new Uint32Array(s.indices);e.indicesBuf=new He(t,t.ELEMENT_ARRAY_BUFFER,n,s.indices.length,1,t.STATIC_DRAW)}if(s.edgeIndices.length>0){const n=new Uint32Array(s.edgeIndices);e.edgeIndicesBuf=new He(t,t.ELEMENT_ARRAY_BUFFER,n,s.edgeIndices.length,1,t.STATIC_DRAW)}this._state.pbrSupported=!!(e.metallicRoughnessBuf&&e.uvBuf&&e.normalsBuf&&e.textureSet&&e.textureSet.colorTexture&&e.textureSet.metallicRoughnessTexture),this._state.colorTextureSupported=!!e.uvBuf&&!!e.textureSet&&!!e.textureSet.colorTexture,this._buffer=null,this._finalized=!0}isEmpty(){return!this._state.indicesBuf}initFlags(e,t,s){t&X&&(this._numVisibleLayerPortions++,this.model.numVisibleLayerPortions++),t&te&&(this._numHighlightedLayerPortions++,this.model.numHighlightedLayerPortions++),t&ee&&(this._numXRayedLayerPortions++,this.model.numXRayedLayerPortions++),t&se&&(this._numSelectedLayerPortions++,this.model.numSelectedLayerPortions++),t&Z&&(this._numClippableLayerPortions++,this.model.numClippableLayerPortions++),t&ne&&(this._numEdgesLayerPortions++,this.model.numEdgesLayerPortions++),t&J&&(this._numPickableLayerPortions++,this.model.numPickableLayerPortions++),t&q&&(this._numCulledLayerPortions++,this.model.numCulledLayerPortions++),s&&(this._numTransparentLayerPortions++,this.model.numTransparentLayerPortions++);this._setFlags(e,t,s,!0)}flushInitFlags(){this._setDeferredFlags()}setVisible(e,t,s){if(!this._finalized)throw"Not finalized";t&X?(this._numVisibleLayerPortions++,this.model.numVisibleLayerPortions++):(this._numVisibleLayerPortions--,this.model.numVisibleLayerPortions--),this._setFlags(e,t,s)}setHighlighted(e,t,s){if(!this._finalized)throw"Not finalized";t&te?(this._numHighlightedLayerPortions++,this.model.numHighlightedLayerPortions++):(this._numHighlightedLayerPortions--,this.model.numHighlightedLayerPortions--),this._setFlags(e,t,s)}setXRayed(e,t,s){if(!this._finalized)throw"Not finalized";t&ee?(this._numXRayedLayerPortions++,this.model.numXRayedLayerPortions++):(this._numXRayedLayerPortions--,this.model.numXRayedLayerPortions--),this._setFlags(e,t,s)}setSelected(e,t,s){if(!this._finalized)throw"Not finalized";t&se?(this._numSelectedLayerPortions++,this.model.numSelectedLayerPortions++):(this._numSelectedLayerPortions--,this.model.numSelectedLayerPortions--),this._setFlags(e,t,s)}setEdges(e,t,s){if(!this._finalized)throw"Not finalized";t&ne?(this._numEdgesLayerPortions++,this.model.numEdgesLayerPortions++):(this._numEdgesLayerPortions--,this.model.numEdgesLayerPortions--),this._setFlags(e,t,s)}setClippable(e,t){if(!this._finalized)throw"Not finalized";t&Z?(this._numClippableLayerPortions++,this.model.numClippableLayerPortions++):(this._numClippableLayerPortions--,this.model.numClippableLayerPortions--),this._setFlags(e,t)}setCulled(e,t,s){if(!this._finalized)throw"Not finalized";t&q?(this._numCulledLayerPortions++,this.model.numCulledLayerPortions++):(this._numCulledLayerPortions--,this.model.numCulledLayerPortions--),this._setFlags(e,t,s)}setCollidable(e,t){if(!this._finalized)throw"Not finalized"}setPickable(e,t,s){if(!this._finalized)throw"Not finalized";t&J?(this._numPickableLayerPortions++,this.model.numPickableLayerPortions++):(this._numPickableLayerPortions--,this.model.numPickableLayerPortions--),this._setFlags(e,t,s)}setColor(e,t){if(!this._finalized)throw"Not finalized";const s=e,n=this._portions[s],i=4*n.vertsBaseIndex,a=4*n.numVerts,r=this._scratchMemory.getUInt8Array(a),l=t[0],o=t[1],c=t[2],u=t[3];for(let e=0;em)&&(m=e,n.set(v),i&&A.triangleNormal(d,f,I,i),y=!0)}}return y&&i&&(A.transformVec3(this.model.worldNormalMatrix,i,i),A.normalizeVec3(i)),y}destroy(){const e=this._state;e.positionsBuf&&(e.positionsBuf.destroy(),e.positionsBuf=null),e.offsetsBuf&&(e.offsetsBuf.destroy(),e.offsetsBuf=null),e.normalsBuf&&(e.normalsBuf.destroy(),e.normalsBuf=null),e.colorsBuf&&(e.colorsBuf.destroy(),e.colorsBuf=null),e.metallicRoughnessBuf&&(e.metallicRoughnessBuf.destroy(),e.metallicRoughnessBuf=null),e.flagsBuf&&(e.flagsBuf.destroy(),e.flagsBuf=null),e.pickColorsBuf&&(e.pickColorsBuf.destroy(),e.pickColorsBuf=null),e.indicesBuf&&(e.indicesBuf.destroy(),e.indicessBuf=null),e.edgeIndicesBuf&&(e.edgeIndicesBuf.destroy(),e.edgeIndicessBuf=null),e.destroy()}}class ml extends yr{_getHash(){const e=this._scene;return[e._lightsState.getHash(),e._sectionPlanesState.getHash(),this._withSAO?"sao":"nosao"].join(";")}drawLayer(e,t,s){super.drawLayer(e,t,s,{incrementDrawState:!0})}_buildVertexShader(){const e=this._scene,t=e._sectionPlanesState,s=e._lightsState,n=t.getNumAllocatedSectionPlanes()>0;let i,a,r;const l=[];for(l.push("#version 300 es"),l.push("// Instancing geometry drawing vertex shader"),l.push("uniform int renderPass;"),l.push("in vec3 position;"),l.push("in vec2 normal;"),l.push("in vec4 color;"),l.push("in float flags;"),e.entityOffsetsEnabled&&l.push("in vec3 offset;"),l.push("in vec4 modelMatrixCol0;"),l.push("in vec4 modelMatrixCol1;"),l.push("in vec4 modelMatrixCol2;"),l.push("in vec4 modelNormalMatrixCol0;"),l.push("in vec4 modelNormalMatrixCol1;"),l.push("in vec4 modelNormalMatrixCol2;"),this._addMatricesUniformBlockLines(l,!0),e.logarithmicDepthBufferEnabled&&(l.push("uniform float logDepthBufFC;"),l.push("out float vFragDepth;"),l.push("bool isPerspectiveMatrix(mat4 m) {"),l.push(" return (m[2][3] == - 1.0);"),l.push("}"),l.push("out float isPerspective;")),l.push("uniform vec4 lightAmbient;"),i=0,a=s.lights.length;i= 0.0 ? 1.0 : -1.0, v.y >= 0.0 ? 1.0 : -1.0);"),l.push(" }"),l.push(" return normalize(v);"),l.push("}"),n&&(l.push("out vec4 vWorldPosition;"),l.push("out float vFlags;")),l.push("out vec4 vColor;"),l.push("void main(void) {"),l.push("int colorFlag = int(flags) & 0xF;"),l.push("if (colorFlag != renderPass) {"),l.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),l.push("} else {"),l.push("vec4 worldPosition = positionsDecodeMatrix * vec4(position, 1.0); "),l.push("worldPosition = worldMatrix * vec4(dot(worldPosition, modelMatrixCol0), dot(worldPosition, modelMatrixCol1), dot(worldPosition, modelMatrixCol2), 1.0);"),e.entityOffsetsEnabled&&l.push("worldPosition.xyz = worldPosition.xyz + offset;"),l.push("vec4 viewPosition = viewMatrix * worldPosition; "),l.push("vec4 modelNormal = vec4(octDecode(normal.xy), 0.0); "),l.push("vec4 worldNormal = worldNormalMatrix * vec4(dot(modelNormal, modelNormalMatrixCol0), dot(modelNormal, modelNormalMatrixCol1), dot(modelNormal, modelNormalMatrixCol2), 0.0);"),l.push("vec3 viewNormal = normalize(vec4(viewNormalMatrix * worldNormal).xyz);"),l.push("vec3 reflectedColor = vec3(0.0, 0.0, 0.0);"),l.push("vec3 viewLightDir = vec3(0.0, 0.0, -1.0);"),l.push("float lambertian = 1.0;"),i=0,a=s.lights.length;i0,n=[];if(n.push("#version 300 es"),n.push("// Instancing geometry drawing fragment shader"),n.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),n.push("precision highp float;"),n.push("precision highp int;"),n.push("#else"),n.push("precision mediump float;"),n.push("precision mediump int;"),n.push("#endif"),e.logarithmicDepthBufferEnabled&&(n.push("in float isPerspective;"),n.push("uniform float logDepthBufFC;"),n.push("in float vFragDepth;")),this._withSAO&&(n.push("uniform sampler2D uOcclusionTexture;"),n.push("uniform vec4 uSAOParams;"),n.push("const float packUpscale = 256. / 255.;"),n.push("const float unpackDownScale = 255. / 256.;"),n.push("const vec3 packFactors = vec3( 256. * 256. * 256., 256. * 256., 256. );"),n.push("const vec4 unPackFactors = unpackDownScale / vec4( packFactors, 1. );"),n.push("float unpackRGBToFloat( const in vec4 v ) {"),n.push(" return dot( v, unPackFactors );"),n.push("}")),s){n.push("in vec4 vWorldPosition;"),n.push("in float vFlags;");for(let e=0,s=t.getNumAllocatedSectionPlanes();e> 16 & 0xF) == 1;"),n.push(" if (clippable) {"),n.push(" float dist = 0.0;");for(let e=0,s=t.getNumAllocatedSectionPlanes();e 0.0) { "),n.push(" discard;"),n.push(" }"),n.push("}")}return e.logarithmicDepthBufferEnabled&&n.push(" gl_FragDepth = isPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5;"),this._withSAO?(n.push(" float viewportWidth = uSAOParams[0];"),n.push(" float viewportHeight = uSAOParams[1];"),n.push(" float blendCutoff = uSAOParams[2];"),n.push(" float blendFactor = uSAOParams[3];"),n.push(" vec2 uv = vec2(gl_FragCoord.x / viewportWidth, gl_FragCoord.y / viewportHeight);"),n.push(" float ambient = smoothstep(blendCutoff, 1.0, unpackRGBToFloat(texture(uOcclusionTexture, uv))) * blendFactor;"),n.push(" outColor = vec4(vColor.rgb * ambient, 1.0);")):n.push(" outColor = vColor;"),n.push("}"),n}}class vl extends yr{_getHash(){const e=this._scene;return[e._lightsState.getHash(),e._sectionPlanesState.getHash(),this._withSAO?"sao":"nosao"].join(";")}_buildVertexShader(){const e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,s=[];return s.push("#version 300 es"),s.push("// Instancing geometry flat-shading drawing vertex shader"),s.push("uniform int renderPass;"),s.push("in vec3 position;"),s.push("in vec4 color;"),s.push("in float flags;"),e.entityOffsetsEnabled&&s.push("in vec3 offset;"),s.push("in vec4 modelMatrixCol0;"),s.push("in vec4 modelMatrixCol1;"),s.push("in vec4 modelMatrixCol2;"),this._addMatricesUniformBlockLines(s),e.logarithmicDepthBufferEnabled&&(s.push("uniform float logDepthBufFC;"),s.push("out float vFragDepth;"),s.push("bool isPerspectiveMatrix(mat4 m) {"),s.push(" return (m[2][3] == - 1.0);"),s.push("}"),s.push("out float isPerspective;")),t&&(s.push("out vec4 vWorldPosition;"),s.push("out float vFlags;")),s.push("out vec4 vViewPosition;"),s.push("out vec4 vColor;"),s.push("void main(void) {"),s.push("int colorFlag = int(flags) & 0xF;"),s.push("if (colorFlag != renderPass) {"),s.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),s.push("} else {"),s.push("vec4 worldPosition = positionsDecodeMatrix * vec4(position, 1.0); "),s.push("worldPosition = worldMatrix * vec4(dot(worldPosition, modelMatrixCol0), dot(worldPosition, modelMatrixCol1), dot(worldPosition, modelMatrixCol2), 1.0);"),e.entityOffsetsEnabled&&s.push(" worldPosition.xyz = worldPosition.xyz + offset;"),s.push("vec4 viewPosition = viewMatrix * worldPosition; "),s.push("vViewPosition = viewPosition;"),s.push("vColor = vec4(float(color.r) / 255.0, float(color.g) / 255.0, float(color.b) / 255.0, float(color.a) / 255.0);"),s.push("vec4 clipPos = projMatrix * viewPosition;"),e.logarithmicDepthBufferEnabled&&(s.push("vFragDepth = 1.0 + clipPos.w;"),s.push("isPerspective = float (isPerspectiveMatrix(projMatrix));")),t&&(s.push("vWorldPosition = worldPosition;"),s.push("vFlags = flags;")),s.push("gl_Position = clipPos;"),s.push("}"),s.push("}"),s}_buildFragmentShader(){const e=this._scene,t=e._sectionPlanesState,s=e._lightsState;let n,i;const a=t.getNumAllocatedSectionPlanes()>0,r=[];if(r.push("#version 300 es"),r.push("// Instancing geometry flat-shading drawing fragment shader"),r.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),r.push("precision highp float;"),r.push("precision highp int;"),r.push("#else"),r.push("precision mediump float;"),r.push("precision mediump int;"),r.push("#endif"),e.logarithmicDepthBufferEnabled&&(r.push("in float isPerspective;"),r.push("uniform float logDepthBufFC;"),r.push("in float vFragDepth;")),this._withSAO&&(r.push("uniform sampler2D uOcclusionTexture;"),r.push("uniform vec4 uSAOParams;"),r.push("const float packUpscale = 256. / 255.;"),r.push("const float unpackDownScale = 255. / 256.;"),r.push("const vec3 packFactors = vec3( 256. * 256. * 256., 256. * 256., 256. );"),r.push("const vec4 unPackFactors = unpackDownScale / vec4( packFactors, 1. );"),r.push("float unpackRGBToFloat( const in vec4 v ) {"),r.push(" return dot( v, unPackFactors );"),r.push("}")),a){r.push("in vec4 vWorldPosition;"),r.push("in float vFlags;");for(let e=0,s=t.getNumAllocatedSectionPlanes();e> 16 & 0xF) == 1;"),r.push(" if (clippable) {"),r.push(" float dist = 0.0;");for(let e=0,s=t.getNumAllocatedSectionPlanes();e 0.0) { "),r.push(" discard;"),r.push(" }"),r.push("}")}for(r.push("vec3 reflectedColor = vec3(0.0, 0.0, 0.0);"),r.push("vec3 viewLightDir = vec3(0.0, 0.0, -1.0);"),r.push("float lambertian = 1.0;"),r.push("vec3 xTangent = dFdx( vViewPosition.xyz );"),r.push("vec3 yTangent = dFdy( vViewPosition.xyz );"),r.push("vec3 viewNormal = normalize( cross( xTangent, yTangent ) );"),n=0,i=s.lights.length;n0,s=[];return s.push("#version 300 es"),s.push("// Instancing silhouette vertex shader"),s.push("uniform int renderPass;"),s.push("in vec3 position;"),e.entityOffsetsEnabled&&s.push("in vec3 offset;"),s.push("in float flags;"),s.push("in vec4 color;"),s.push("in vec4 modelMatrixCol0;"),s.push("in vec4 modelMatrixCol1;"),s.push("in vec4 modelMatrixCol2;"),this._addMatricesUniformBlockLines(s),s.push("uniform vec4 silhouetteColor;"),e.logarithmicDepthBufferEnabled&&(s.push("uniform float logDepthBufFC;"),s.push("out float vFragDepth;"),s.push("bool isPerspectiveMatrix(mat4 m) {"),s.push(" return (m[2][3] == - 1.0);"),s.push("}"),s.push("out float isPerspective;")),t&&(s.push("out vec4 vWorldPosition;"),s.push("out float vFlags;")),s.push("out vec4 vColor;"),s.push("void main(void) {"),s.push("int silhouetteFlag = int(flags) >> 4 & 0xF;"),s.push("if (silhouetteFlag != renderPass) {"),s.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),s.push("} else {"),s.push("vec4 worldPosition = positionsDecodeMatrix * vec4(position, 1.0); "),s.push("worldPosition = worldMatrix * vec4(dot(worldPosition, modelMatrixCol0), dot(worldPosition, modelMatrixCol1), dot(worldPosition, modelMatrixCol2), 1.0);"),e.entityOffsetsEnabled&&s.push(" worldPosition.xyz = worldPosition.xyz + offset;"),s.push("vec4 viewPosition = viewMatrix * worldPosition; "),t&&(s.push("vWorldPosition = worldPosition;"),s.push("vFlags = flags;")),s.push("vColor = vec4(silhouetteColor.r, silhouetteColor.g, silhouetteColor.b, min(silhouetteColor.a, float(color.a) / 255.0));"),s.push("vec4 clipPos = projMatrix * viewPosition;"),e.logarithmicDepthBufferEnabled&&(s.push("vFragDepth = 1.0 + clipPos.w;"),s.push("isPerspective = float (isPerspectiveMatrix(projMatrix));")),s.push("gl_Position = clipPos;"),s.push("}"),s.push("}"),s}_buildFragmentShader(){const e=this._scene,t=e._sectionPlanesState,s=t.getNumAllocatedSectionPlanes()>0,n=[];if(n.push("#version 300 es"),n.push("// Instancing fill fragment shader"),n.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),n.push("precision highp float;"),n.push("precision highp int;"),n.push("#else"),n.push("precision mediump float;"),n.push("precision mediump int;"),n.push("#endif"),e.logarithmicDepthBufferEnabled&&(n.push("in float isPerspective;"),n.push("uniform float logDepthBufFC;"),n.push("in float vFragDepth;")),s){n.push("in vec4 vWorldPosition;"),n.push("in float vFlags;");for(let e=0,s=t.getNumAllocatedSectionPlanes();e> 16 & 0xF) == 1;"),n.push(" if (clippable) {"),n.push(" float dist = 0.0;");for(let e=0,s=t.getNumAllocatedSectionPlanes();e 0.0) { discard; }"),n.push("}")}return e.logarithmicDepthBufferEnabled&&n.push(" gl_FragDepth = isPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5;"),n.push("outColor = vColor;"),n.push("}"),n}}class gl extends mr{drawLayer(e,t,s){super.drawLayer(e,t,s,{colorUniform:!0})}_buildVertexShader(){const e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,s=[];return s.push("#version 300 es"),s.push("// Triangles instancing edges vertex shader"),s.push("uniform int renderPass;"),s.push("uniform vec4 color;"),s.push("in vec3 position;"),e.entityOffsetsEnabled&&s.push("in vec3 offset;"),s.push("in float flags;"),s.push("in vec4 modelMatrixCol0;"),s.push("in vec4 modelMatrixCol1;"),s.push("in vec4 modelMatrixCol2;"),this._addMatricesUniformBlockLines(s),e.logarithmicDepthBufferEnabled&&(s.push("uniform float logDepthBufFC;"),s.push("out float vFragDepth;"),s.push("bool isPerspectiveMatrix(mat4 m) {"),s.push(" return (m[2][3] == - 1.0);"),s.push("}"),s.push("out float isPerspective;")),t&&(s.push("out vec4 vWorldPosition;"),s.push("out float vFlags;")),s.push("out vec4 vColor;"),s.push("void main(void) {"),s.push("int edgeFlag = int(flags) >> 8 & 0xF;"),s.push("if (edgeFlag != renderPass) {"),s.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),s.push("} else {"),s.push("vec4 worldPosition = positionsDecodeMatrix * vec4(position, 1.0); "),s.push("worldPosition = worldMatrix * vec4(dot(worldPosition, modelMatrixCol0), dot(worldPosition, modelMatrixCol1), dot(worldPosition, modelMatrixCol2), 1.0);"),e.entityOffsetsEnabled&&s.push(" worldPosition.xyz = worldPosition.xyz + offset;"),s.push("vec4 viewPosition = viewMatrix * worldPosition; "),t&&(s.push("vWorldPosition = worldPosition;"),s.push("vFlags = flags;")),s.push("vec4 clipPos = projMatrix * viewPosition;"),e.logarithmicDepthBufferEnabled&&(s.push("vFragDepth = 1.0 + clipPos.w;"),s.push("isPerspective = float (isPerspectiveMatrix(projMatrix));")),s.push("gl_Position = clipPos;"),s.push("vColor = vec4(color.r, color.g, color.b, color.a);"),s.push("}"),s.push("}"),s}_buildFragmentShader(){const e=this._scene,t=e._sectionPlanesState,s=t.getNumAllocatedSectionPlanes()>0,n=[];if(n.push("#version 300 es"),n.push("// Batched geometry edges drawing fragment shader"),n.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),n.push("precision highp float;"),n.push("precision highp int;"),n.push("#else"),n.push("precision mediump float;"),n.push("precision mediump int;"),n.push("#endif"),e.logarithmicDepthBufferEnabled&&(n.push("in float isPerspective;"),n.push("uniform float logDepthBufFC;"),n.push("in float vFragDepth;")),s){n.push("in vec4 vWorldPosition;"),n.push("in float vFlags;");for(let e=0,s=t.getNumAllocatedSectionPlanes();e> 16 & 0xF) == 1;"),n.push(" if (clippable) {"),n.push(" float dist = 0.0;");for(let e=0,s=t.getNumAllocatedSectionPlanes();e 0.0) { discard; }"),n.push("}")}return e.logarithmicDepthBufferEnabled&&n.push(" gl_FragDepth = isPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5;"),n.push("outColor = vColor;"),n.push("}"),n}}class El extends mr{_buildVertexShader(){const e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,s=[];return s.push("#version 300 es"),s.push("// Triangles instancing edges vertex shader"),s.push("uniform int renderPass;"),s.push("in vec3 position;"),s.push("in vec4 color;"),e.entityOffsetsEnabled&&s.push("in vec3 offset;"),s.push("in float flags;"),s.push("in vec4 modelMatrixCol0;"),s.push("in vec4 modelMatrixCol1;"),s.push("in vec4 modelMatrixCol2;"),this._addMatricesUniformBlockLines(s),e.logarithmicDepthBufferEnabled&&(s.push("uniform float logDepthBufFC;"),s.push("out float vFragDepth;"),s.push("bool isPerspectiveMatrix(mat4 m) {"),s.push(" return (m[2][3] == - 1.0);"),s.push("}"),s.push("out float isPerspective;")),t&&(s.push("out vec4 vWorldPosition;"),s.push("out float vFlags;")),s.push("out vec4 vColor;"),s.push("void main(void) {"),s.push("int edgeFlag = int(flags) >> 8 & 0xF;"),s.push("if (edgeFlag != renderPass) {"),s.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),s.push("} else {"),s.push("vec4 worldPosition = positionsDecodeMatrix * vec4(position, 1.0); "),s.push("worldPosition = worldMatrix * vec4(dot(worldPosition, modelMatrixCol0), dot(worldPosition, modelMatrixCol1), dot(worldPosition, modelMatrixCol2), 1.0);"),e.entityOffsetsEnabled&&s.push(" worldPosition.xyz = worldPosition.xyz + offset;"),s.push("vec4 viewPosition = viewMatrix * worldPosition; "),t&&(s.push("vWorldPosition = worldPosition;"),s.push("vFlags = flags;")),s.push("vec4 clipPos = projMatrix * viewPosition;"),e.logarithmicDepthBufferEnabled&&(s.push("vFragDepth = 1.0 + clipPos.w;"),s.push("isPerspective = float (isPerspectiveMatrix(projMatrix));")),s.push("gl_Position = clipPos;"),s.push("vColor = vec4(float(color.r*0.5) / 255.0, float(color.g*0.5) / 255.0, float(color.b*0.5) / 255.0, float(color.a) / 255.0);"),s.push("}"),s.push("}"),s}_buildFragmentShader(){const e=this._scene,t=e._sectionPlanesState,s=t.getNumAllocatedSectionPlanes()>0,n=[];if(n.push("#version 300 es"),n.push("// Batched geometry edges drawing fragment shader"),n.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),n.push("precision highp float;"),n.push("precision highp int;"),n.push("#else"),n.push("precision mediump float;"),n.push("precision mediump int;"),n.push("#endif"),e.logarithmicDepthBufferEnabled&&(n.push("in float isPerspective;"),n.push("uniform float logDepthBufFC;"),n.push("in float vFragDepth;")),s){n.push("in vec4 vWorldPosition;"),n.push("in float vFlags;");for(let e=0,s=t.getNumAllocatedSectionPlanes();e> 16 & 0xF) == 1;"),n.push(" if (clippable) {"),n.push(" float dist = 0.0;");for(let e=0,s=t.getNumAllocatedSectionPlanes();e 0.0) { discard; }"),n.push("}")}return e.logarithmicDepthBufferEnabled&&n.push(" gl_FragDepth = isPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5;"),n.push("outColor = vColor;"),n.push("}"),n}}class Tl extends yr{_buildVertexShader(){const e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,s=[];return s.push("#version 300 es"),s.push("// Instancing geometry picking vertex shader"),s.push("uniform int renderPass;"),s.push("in vec3 position;"),e.entityOffsetsEnabled&&s.push("in vec3 offset;"),s.push("in float flags;"),s.push("in vec4 pickColor;"),s.push("in vec4 modelMatrixCol0;"),s.push("in vec4 modelMatrixCol1;"),s.push("in vec4 modelMatrixCol2;"),s.push("uniform bool pickInvisible;"),this._addMatricesUniformBlockLines(s),this._addRemapClipPosLines(s),e.logarithmicDepthBufferEnabled&&(s.push("uniform float logDepthBufFC;"),s.push("out float vFragDepth;"),s.push("bool isPerspectiveMatrix(mat4 m) {"),s.push(" return (m[2][3] == - 1.0);"),s.push("}"),s.push("out float isPerspective;")),t&&(s.push("out vec4 vWorldPosition;"),s.push("out float vFlags;")),s.push("out vec4 vPickColor;"),s.push("void main(void) {"),s.push("int pickFlag = int(flags) >> 12 & 0xF;"),s.push("if (pickFlag != renderPass) {"),s.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),s.push("} else {"),s.push(" vec4 worldPosition = positionsDecodeMatrix * vec4(position, 1.0); "),s.push(" worldPosition = worldMatrix * vec4(dot(worldPosition, modelMatrixCol0), dot(worldPosition, modelMatrixCol1), dot(worldPosition, modelMatrixCol2), 1.0);"),e.entityOffsetsEnabled&&s.push(" worldPosition.xyz = worldPosition.xyz + offset;"),s.push(" vec4 viewPosition = viewMatrix * worldPosition; "),s.push(" vPickColor = vec4(float(pickColor.r) / 255.0, float(pickColor.g) / 255.0, float(pickColor.b) / 255.0, float(pickColor.a) / 255.0);"),t&&(s.push(" vWorldPosition = worldPosition;"),s.push(" vFlags = flags;")),s.push("vec4 clipPos = projMatrix * viewPosition;"),e.logarithmicDepthBufferEnabled&&(s.push("vFragDepth = 1.0 + clipPos.w;"),s.push("isPerspective = float (isPerspectiveMatrix(projMatrix));")),s.push("gl_Position = remapClipPos(clipPos);"),s.push("}"),s.push("}"),s}_buildFragmentShader(){const e=this._scene,t=e._sectionPlanesState,s=t.getNumAllocatedSectionPlanes()>0,n=[];if(n.push("#version 300 es"),n.push("// Batched geometry picking fragment shader"),n.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),n.push("precision highp float;"),n.push("precision highp int;"),n.push("#else"),n.push("precision mediump float;"),n.push("precision mediump int;"),n.push("#endif"),e.logarithmicDepthBufferEnabled&&(n.push("in float isPerspective;"),n.push("uniform float logDepthBufFC;"),n.push("in float vFragDepth;")),s){n.push("in vec4 vWorldPosition;"),n.push("in float vFlags;");for(let e=0;e> 16 & 0xF) == 1;"),n.push(" if (clippable) {"),n.push(" float dist = 0.0;");for(let e=0;e 0.0) { discard; }"),n.push("}")}return e.logarithmicDepthBufferEnabled&&n.push(" gl_FragDepth = isPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5;"),n.push("outColor = vPickColor; "),n.push("}"),n}}class bl extends yr{_buildVertexShader(){const e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,s=[];return s.push("#version 300 es"),s.push("// Instancing geometry depth vertex shader"),s.push("uniform int renderPass;"),s.push("in vec3 position;"),e.entityOffsetsEnabled&&s.push("in vec3 offset;"),s.push("in float flags;"),s.push("in vec4 modelMatrixCol0;"),s.push("in vec4 modelMatrixCol1;"),s.push("in vec4 modelMatrixCol2;"),s.push("uniform bool pickInvisible;"),this._addMatricesUniformBlockLines(s),this._addRemapClipPosLines(s),e.logarithmicDepthBufferEnabled&&(s.push("uniform float logDepthBufFC;"),s.push("out float vFragDepth;"),s.push("bool isPerspectiveMatrix(mat4 m) {"),s.push(" return (m[2][3] == - 1.0);"),s.push("}"),s.push("out float isPerspective;")),t&&(s.push("out vec4 vWorldPosition;"),s.push("out float vFlags;")),s.push("out vec4 vViewPosition;"),s.push("void main(void) {"),s.push("int pickFlag = int(flags) >> 12 & 0xF;"),s.push("if (pickFlag != renderPass) {"),s.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),s.push("} else {"),s.push(" vec4 worldPosition = positionsDecodeMatrix * vec4(position, 1.0); "),s.push(" worldPosition = worldMatrix * vec4(dot(worldPosition, modelMatrixCol0), dot(worldPosition, modelMatrixCol1), dot(worldPosition, modelMatrixCol2), 1.0);"),e.entityOffsetsEnabled&&s.push(" worldPosition.xyz = worldPosition.xyz + offset;"),s.push(" vec4 viewPosition = viewMatrix * worldPosition; "),t&&(s.push(" vWorldPosition = worldPosition;"),s.push(" vFlags = flags;")),s.push(" vViewPosition = viewPosition;"),s.push("vec4 clipPos = projMatrix * viewPosition;"),e.logarithmicDepthBufferEnabled&&(s.push("vFragDepth = 1.0 + clipPos.w;"),s.push("isPerspective = float (isPerspectiveMatrix(projMatrix));")),s.push("gl_Position = remapClipPos(clipPos);"),s.push("}"),s.push("}"),s}_buildFragmentShader(){const e=this._scene,t=e._sectionPlanesState,s=t.getNumAllocatedSectionPlanes()>0,n=[];if(n.push("#version 300 es"),n.push("// Batched geometry depth fragment shader"),n.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),n.push("precision highp float;"),n.push("precision highp int;"),n.push("#else"),n.push("precision mediump float;"),n.push("precision mediump int;"),n.push("#endif"),e.logarithmicDepthBufferEnabled&&(n.push("in float isPerspective;"),n.push("uniform float logDepthBufFC;"),n.push("in float vFragDepth;")),n.push("uniform float pickZNear;"),n.push("uniform float pickZFar;"),s){n.push("in vec4 vWorldPosition;"),n.push("in float vFlags;");for(let e=0;e> 16 & 0xF) == 1;"),n.push(" if (clippable) {"),n.push(" float dist = 0.0;");for(let e=0;e 0.0) { discard; }"),n.push("}")}return e.logarithmicDepthBufferEnabled&&n.push(" gl_FragDepth = isPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5;"),n.push(" float zNormalizedDepth = abs((pickZNear + vViewPosition.z) / (pickZFar - pickZNear));"),n.push(" outColor = packDepth(zNormalizedDepth); "),n.push("}"),n}}class Dl extends yr{_buildVertexShader(){const e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,s=[];return s.push("#version 300 es"),s.push("// Instancing geometry normals vertex shader"),s.push("uniform int renderPass;"),s.push("in vec3 position;"),e.entityOffsetsEnabled&&s.push("in vec3 offset;"),s.push("in vec2 normal;"),s.push("in float flags;"),s.push("in vec4 modelMatrixCol0;"),s.push("in vec4 modelMatrixCol1;"),s.push("in vec4 modelMatrixCol2;"),s.push("in vec4 modelNormalMatrixCol0;"),s.push("in vec4 modelNormalMatrixCol1;"),s.push("in vec4 modelNormalMatrixCol2;"),s.push("uniform bool pickInvisible;"),this._addMatricesUniformBlockLines(s),this._addRemapClipPosLines(s,3),e.logarithmicDepthBufferEnabled&&(s.push("uniform float logDepthBufFC;"),s.push("out float vFragDepth;"),s.push("bool isPerspectiveMatrix(mat4 m) {"),s.push(" return (m[2][3] == - 1.0);"),s.push("}"),s.push("out float isPerspective;")),s.push("vec3 octDecode(vec2 oct) {"),s.push(" vec3 v = vec3(oct.xy, 1.0 - abs(oct.x) - abs(oct.y));"),s.push(" if (v.z < 0.0) {"),s.push(" v.xy = (1.0 - abs(v.yx)) * vec2(v.x >= 0.0 ? 1.0 : -1.0, v.y >= 0.0 ? 1.0 : -1.0);"),s.push(" }"),s.push(" return normalize(v);"),s.push("}"),t&&(s.push("out vec4 vWorldPosition;"),s.push("out float vFlags;")),s.push("out vec3 vWorldNormal;"),s.push("void main(void) {"),s.push("int pickFlag = int(flags) >> 12 & 0xF;"),s.push("if (pickFlag != renderPass) {"),s.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),s.push("} else {"),s.push(" vec4 worldPosition = positionsDecodeMatrix * vec4(position, 1.0); "),s.push(" worldPosition = worldMatrix * vec4(dot(worldPosition, modelMatrixCol0), dot(worldPosition, modelMatrixCol1), dot(worldPosition, modelMatrixCol2), 1.0);"),e.entityOffsetsEnabled&&s.push(" worldPosition.xyz = worldPosition.xyz + offset;"),s.push(" vec4 viewPosition = viewMatrix * worldPosition; "),s.push(" vec4 modelNormal = vec4(octDecode(normal.xy), 0.0); "),s.push(" vec3 worldNormal = vec3(dot(modelNormal, modelNormalMatrixCol0), dot(modelNormal, modelNormalMatrixCol1), dot(modelNormal, modelNormalMatrixCol2));"),s.push(" vWorldNormal = worldNormal;"),t&&(s.push(" vWorldPosition = worldPosition;"),s.push("vFlags = flags;")),s.push("vec4 clipPos = projMatrix * viewPosition;"),e.logarithmicDepthBufferEnabled&&(s.push("vFragDepth = 1.0 + clipPos.w;"),s.push("isPerspective = float (isPerspectiveMatrix(projMatrix));")),s.push("gl_Position = remapClipPos(clipPos);"),s.push("}"),s.push("}"),s}_buildFragmentShader(){const e=this._scene,t=e._sectionPlanesState,s=t.getNumAllocatedSectionPlanes()>0,n=[];if(n.push("#version 300 es"),n.push("// Batched geometry normals fragment shader"),n.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),n.push("precision highp float;"),n.push("precision highp int;"),n.push("#else"),n.push("precision mediump float;"),n.push("precision mediump int;"),n.push("#endif"),e.logarithmicDepthBufferEnabled&&(n.push("in float isPerspective;"),n.push("uniform float logDepthBufFC;"),n.push("in float vFragDepth;")),s){n.push("in vec4 vWorldPosition;"),n.push("in float vFlags;");for(let e=0;e> 16 & 0xF) == 1;"),n.push(" if (clippable) {"),n.push(" float dist = 0.0;");for(var i=0;i 0.0) { discard; }"),n.push("}")}return e.logarithmicDepthBufferEnabled&&n.push(" gl_FragDepth = isPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5;"),n.push(` outNormal = ivec4(vWorldNormal * float(${A.MAX_INT}), 1.0);`),n.push("}"),n}}class Pl extends yr{_buildVertexShader(){const e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,s=[];return s.push("#version 300 es"),s.push("// TrianglesInstancingOcclusionRenderer vertex shader"),s.push("uniform int renderPass;"),s.push("in vec3 position;"),e.entityOffsetsEnabled&&s.push("in vec3 offset;"),s.push("in vec4 color;"),s.push("in float flags;"),s.push("in vec4 modelMatrixCol0;"),s.push("in vec4 modelMatrixCol1;"),s.push("in vec4 modelMatrixCol2;"),this._addMatricesUniformBlockLines(s),t&&(s.push("out vec4 vWorldPosition;"),s.push("out float vFlags;")),s.push("void main(void) {"),s.push("int colorFlag = int(flags) & 0xF;"),s.push("if (colorFlag != renderPass) {"),s.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),s.push("} else {"),s.push(" vec4 worldPosition = positionsDecodeMatrix * vec4(position, 1.0); "),s.push(" worldPosition = worldMatrix * vec4(dot(worldPosition, modelMatrixCol0), dot(worldPosition, modelMatrixCol1), dot(worldPosition, modelMatrixCol2), 1.0);"),e.entityOffsetsEnabled&&s.push(" worldPosition.xyz = worldPosition.xyz + offset;"),s.push(" vec4 viewPosition = viewMatrix * worldPosition; "),t&&(s.push(" vWorldPosition = worldPosition;"),s.push("vFlags = flags;")),s.push("vec4 clipPos = projMatrix * viewPosition;"),s.push("gl_Position = clipPos;"),s.push("}"),s.push("}"),s}_buildFragmentShader(){const e=this._scene._sectionPlanesState,t=e.getNumAllocatedSectionPlanes()>0,s=[];if(s.push("#version 300 es"),s.push("// TrianglesInstancingOcclusionRenderer fragment shader"),s.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),s.push("precision highp float;"),s.push("precision highp int;"),s.push("#else"),s.push("precision mediump float;"),s.push("precision mediump int;"),s.push("#endif"),t){s.push("in vec4 vWorldPosition;"),s.push("in float vFlags;");for(let t=0;t> 16 & 0xF) == 1;"),s.push(" if (clippable) {"),s.push(" float dist = 0.0;");for(let t=0;t 0.0) { discard; }"),s.push("}")}return s.push(" outColor = vec4(0.0, 0.0, 1.0, 1.0); "),s.push("}"),s}}class Rl extends yr{_buildVertexShader(){const e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,s=[];return s.push("#version 300 es"),s.push("// Instancing geometry depth drawing vertex shader"),s.push("uniform int renderPass;"),s.push("in vec3 position;"),e.entityOffsetsEnabled&&s.push("in vec3 offset;"),s.push("in float flags;"),s.push("in vec4 modelMatrixCol0;"),s.push("in vec4 modelMatrixCol1;"),s.push("in vec4 modelMatrixCol2;"),this._addMatricesUniformBlockLines(s),e.logarithmicDepthBufferEnabled&&(s.push("uniform float logDepthBufFC;"),s.push("out float vFragDepth;"),s.push("bool isPerspectiveMatrix(mat4 m) {"),s.push(" return (m[2][3] == - 1.0);"),s.push("}"),s.push("out float isPerspective;")),t&&(s.push("out vec4 vWorldPosition;"),s.push("out float vFlags;")),s.push("out vec2 vHighPrecisionZW;"),s.push("void main(void) {"),s.push("int colorFlag = int(flags) & 0xF;"),s.push("if (colorFlag != renderPass) {"),s.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),s.push("} else {"),s.push(" vec4 worldPosition = positionsDecodeMatrix * vec4(position, 1.0); "),s.push(" worldPosition = worldMatrix * vec4(dot(worldPosition, modelMatrixCol0), dot(worldPosition, modelMatrixCol1), dot(worldPosition, modelMatrixCol2), 1.0);"),e.entityOffsetsEnabled&&s.push(" worldPosition.xyz = worldPosition.xyz + offset;"),s.push(" vec4 viewPosition = viewMatrix * worldPosition; "),t&&(s.push("vWorldPosition = worldPosition;"),s.push("vFlags = flags;")),s.push("vec4 clipPos = projMatrix * viewPosition;"),e.logarithmicDepthBufferEnabled&&(s.push("vFragDepth = 1.0 + clipPos.w;"),s.push("isPerspective = float (isPerspectiveMatrix(projMatrix));")),s.push("gl_Position = clipPos;"),s.push("vHighPrecisionZW = gl_Position.zw;"),s.push("}"),s.push("}"),s}_buildFragmentShader(){const e=this._scene,t=e._sectionPlanesState;let s,n;const i=t.getNumAllocatedSectionPlanes()>0,a=[];if(a.push("#version 300 es"),a.push("// Instancing geometry depth drawing fragment shader"),a.push("precision highp float;"),a.push("precision highp int;"),e.logarithmicDepthBufferEnabled&&(a.push("in float isPerspective;"),a.push("uniform float logDepthBufFC;"),a.push("in float vFragDepth;")),i)for(a.push("in vec4 vWorldPosition;"),a.push("in float vFlags;"),s=0,n=t.getNumAllocatedSectionPlanes();s> 16 & 0xF) == 1;"),a.push(" if (clippable) {"),a.push(" float dist = 0.0;"),s=0,n=t.getNumAllocatedSectionPlanes();s 0.0) { discard; }"),a.push("}")}return e.logarithmicDepthBufferEnabled&&a.push(" gl_FragDepth = isPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5;"),a.push("float fragCoordZ = 0.5 * vHighPrecisionZW[0] / vHighPrecisionZW[1] + 0.5;"),a.push(" outColor = vec4(vec3(1.0 - fragCoordZ), 1.0); "),a.push("}"),a}}class Cl extends yr{_buildVertexShader(){const e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,s=[];return s.push("#version 300 es"),s.push("// Instancing geometry normals drawing vertex shader"),s.push("uniform int renderPass;"),s.push("in vec3 position;"),e.entityOffsetsEnabled&&s.push("in vec3 offset;"),s.push("in vec3 normal;"),s.push("in vec4 color;"),s.push("in float flags;"),s.push("in vec4 modelMatrixCol0;"),s.push("in vec4 modelMatrixCol1;"),s.push("in vec4 modelMatrixCol2;"),this._addMatricesUniformBlockLines(s,!0),e.logarithmicDepthBufferEnabled&&(s.push("uniform float logDepthBufFC;"),s.push("out float vFragDepth;"),s.push("bool isPerspectiveMatrix(mat4 m) {"),s.push(" return (m[2][3] == - 1.0);"),s.push("}"),s.push("out float isPerspective;")),s.push("vec3 octDecode(vec2 oct) {"),s.push(" vec3 v = vec3(oct.xy, 1.0 - abs(oct.x) - abs(oct.y));"),s.push(" if (v.z < 0.0) {"),s.push(" v.xy = (1.0 - abs(v.yx)) * vec2(v.x >= 0.0 ? 1.0 : -1.0, v.y >= 0.0 ? 1.0 : -1.0);"),s.push(" }"),s.push(" return normalize(v);"),s.push("}"),t&&(s.push("out vec4 vWorldPosition;"),s.push("out float vFlags;")),s.push("out vec3 vViewNormal;"),s.push("void main(void) {"),s.push("int colorFlag = int(flags) & 0xF;"),s.push("if (colorFlag != renderPass) {"),s.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),s.push("} else {"),s.push(" vec4 worldPosition = positionsDecodeMatrix * vec4(position, 1.0); "),s.push(" worldPosition = worldMatrix * vec4(dot(worldPosition, modelMatrixCol0), dot(worldPosition, modelMatrixCol1), dot(worldPosition, modelMatrixCol2), 1.0);"),e.entityOffsetsEnabled&&s.push(" worldPosition.xyz = worldPosition.xyz + offset;"),s.push(" vec4 viewPosition = viewMatrix * worldPosition; "),s.push(" vec4 worldNormal = worldNormalMatrix * vec4(octDecode(normal.xy), 0.0); "),s.push(" vec3 viewNormal = normalize((viewNormalMatrix * worldNormal).xyz);"),t&&(s.push("vWorldPosition = worldPosition;"),s.push("vFlags = flags;")),s.push(" vViewNormal = viewNormal;"),s.push("vec4 clipPos = projMatrix * viewPosition;"),e.logarithmicDepthBufferEnabled&&(s.push("vFragDepth = 1.0 + clipPos.w;"),s.push("isPerspective = float (isPerspectiveMatrix(projMatrix));")),s.push("gl_Position = clipPos;"),s.push("}"),s.push("}"),s}_buildFragmentShader(){const e=this._scene,t=e._sectionPlanesState,s=t.getNumAllocatedSectionPlanes()>0,n=[];if(n.push("#version 300 es"),n.push("// Instancing geometry depth drawing fragment shader"),n.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),n.push("precision highp float;"),n.push("precision highp int;"),n.push("#else"),n.push("precision mediump float;"),n.push("precision mediump int;"),n.push("#endif"),e.logarithmicDepthBufferEnabled&&(n.push("in float isPerspective;"),n.push("uniform float logDepthBufFC;"),n.push("in float vFragDepth;")),s){n.push("in vec4 vWorldPosition;"),n.push("in float vFlags;");for(let e=0,s=t.getNumAllocatedSectionPlanes();e> 16 & 0xF) == 1;"),n.push(" if (clippable) {"),n.push(" float dist = 0.0;");for(let e=0,s=t.getNumAllocatedSectionPlanes();e 0.0) { discard; }"),n.push("}")}return e.logarithmicDepthBufferEnabled&&n.push(" gl_FragDepth = isPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5;"),n.push(" outColor = vec4(packNormalToRGB(vViewNormal), 1.0); "),n.push("}"),n}}class _l extends yr{_buildVertexShader(){const e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,s=[];return s.push("#version 300 es"),s.push("// Instancing geometry shadow drawing vertex shader"),s.push("in vec3 position;"),e.entityOffsetsEnabled&&s.push("in vec3 offset;"),s.push("in vec4 color;"),s.push("in float flags;"),s.push("in vec4 modelMatrixCol0;"),s.push("in vec4 modelMatrixCol1;"),s.push("in vec4 modelMatrixCol2;"),s.push("uniform mat4 shadowViewMatrix;"),s.push("uniform mat4 shadowProjMatrix;"),this._addMatricesUniformBlockLines(s),t&&(s.push("out vec4 vWorldPosition;"),s.push("out float vFlags;")),s.push("void main(void) {"),s.push("int colorFlag = int(flags) & 0xF;"),s.push("bool visible = (colorFlag > 0);"),s.push("bool transparent = ((float(color.a) / 255.0) < 1.0);"),s.push("if (!visible || transparent) {"),s.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),s.push("} else {"),s.push(" vec4 worldPosition = positionsDecodeMatrix * vec4(position, 1.0); "),s.push(" worldPosition = vec4(dot(worldPosition, modelMatrixCol0), dot(worldPosition, modelMatrixCol1), dot(worldPosition, modelMatrixCol2), 1.0);"),e.entityOffsetsEnabled&&s.push(" worldPosition.xyz = worldPosition.xyz + offset;"),s.push(" vec4 viewPosition = shadowViewMatrix * worldPosition; "),t&&(s.push("vWorldPosition = worldPosition;"),s.push("vFlags = flags;")),s.push(" gl_Position = shadowProjMatrix * viewPosition;"),s.push("}"),s.push("}"),s}_buildFragmentShader(){const e=this._scene,t=e._sectionPlanesState,s=t.getNumAllocatedSectionPlanes()>0,n=[];if(n.push("#version 300 es"),n.push("// Instancing geometry depth drawing fragment shader"),n.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),n.push("precision highp float;"),n.push("precision highp int;"),n.push("#else"),n.push("precision mediump float;"),n.push("precision mediump int;"),n.push("#endif"),e.logarithmicDepthBufferEnabled&&(n.push("uniform float logDepthBufFC;"),n.push("in float vFragDepth;")),s){n.push("in vec4 vWorldPosition;"),n.push("in float vFlags;");for(let e=0,s=t.getNumAllocatedSectionPlanes();e> 16 & 0xF) == 1;"),n.push(" if (clippable) {"),n.push(" float dist = 0.0;");for(let e=0,s=t.getNumAllocatedSectionPlanes();e 0.0) { discard; }"),n.push("}")}return e.logarithmicDepthBufferEnabled&&n.push("gl_FragDepth = log2( vFragDepth ) * logDepthBufFC * 0.5;"),n.push(" outColor = vec4(packNormalToRGB(vViewNormal), 1.0); "),n.push("}"),n}}const Bl={3e3:"linearToLinear",3001:"sRGBToLinear"};class Ol extends yr{_getHash(){const e=this._scene;return[e.gammaOutput,e._lightsState.getHash(),e._sectionPlanesState.getHash(),this._withSAO?"sao":"nosao"].join(";")}drawLayer(e,t,s){super.drawLayer(e,t,s,{incrementDrawState:!0})}_buildVertexShader(){const e=this._scene,t=e._sectionPlanesState,s=e._lightsState,n=t.getNumAllocatedSectionPlanes()>0,i=t.clippingCaps,a=[];return a.push("#version 300 es"),a.push("// Instancing geometry quality drawing vertex shader"),a.push("uniform int renderPass;"),a.push("in vec3 position;"),a.push("in vec3 normal;"),a.push("in vec4 color;"),a.push("in vec2 uv;"),a.push("in vec2 metallicRoughness;"),a.push("in float flags;"),e.entityOffsetsEnabled&&a.push("in vec3 offset;"),a.push("in vec4 modelMatrixCol0;"),a.push("in vec4 modelMatrixCol1;"),a.push("in vec4 modelMatrixCol2;"),a.push("in vec4 modelNormalMatrixCol0;"),a.push("in vec4 modelNormalMatrixCol1;"),a.push("in vec4 modelNormalMatrixCol2;"),this._addMatricesUniformBlockLines(a,!0),a.push("uniform mat3 uvDecodeMatrix;"),e.logarithmicDepthBufferEnabled&&(a.push("uniform float logDepthBufFC;"),a.push("out float vFragDepth;"),a.push("bool isPerspectiveMatrix(mat4 m) {"),a.push(" return (m[2][3] == - 1.0);"),a.push("}"),a.push("out float isPerspective;")),a.push("vec3 octDecode(vec2 oct) {"),a.push(" vec3 v = vec3(oct.xy, 1.0 - abs(oct.x) - abs(oct.y));"),a.push(" if (v.z < 0.0) {"),a.push(" v.xy = (1.0 - abs(v.yx)) * vec2(v.x >= 0.0 ? 1.0 : -1.0, v.y >= 0.0 ? 1.0 : -1.0);"),a.push(" }"),a.push(" return normalize(v);"),a.push("}"),a.push("out vec4 vViewPosition;"),a.push("out vec3 vViewNormal;"),a.push("out vec4 vColor;"),a.push("out vec2 vUV;"),a.push("out vec2 vMetallicRoughness;"),s.lightMaps.length>0&&a.push("out vec3 vWorldNormal;"),n&&(a.push("out vec4 vWorldPosition;"),a.push("out float vFlags;"),i&&a.push("out vec4 vClipPosition;")),a.push("void main(void) {"),a.push("int colorFlag = int(flags) & 0xF;"),a.push("if (colorFlag != renderPass) {"),a.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),a.push("} else {"),a.push("vec4 worldPosition = positionsDecodeMatrix * vec4(position, 1.0); "),a.push("worldPosition = worldMatrix * vec4(dot(worldPosition, modelMatrixCol0), dot(worldPosition, modelMatrixCol1), dot(worldPosition, modelMatrixCol2), 1.0);"),e.entityOffsetsEnabled&&a.push(" worldPosition.xyz = worldPosition.xyz + offset;"),a.push("vec4 viewPosition = viewMatrix * worldPosition; "),a.push("vec4 modelNormal = vec4(octDecode(normal.xy), 0.0); "),a.push("vec4 worldNormal = worldNormalMatrix * vec4(dot(modelNormal, modelNormalMatrixCol0), dot(modelNormal, modelNormalMatrixCol1), dot(modelNormal, modelNormalMatrixCol2), 1.0);"),a.push("vec3 viewNormal = vec4(viewNormalMatrix * worldNormal).xyz;"),a.push("vec4 clipPos = projMatrix * viewPosition;"),e.logarithmicDepthBufferEnabled&&(a.push("vFragDepth = 1.0 + clipPos.w;"),a.push("isPerspective = float (isPerspectiveMatrix(projMatrix));")),n&&(a.push("vWorldPosition = worldPosition;"),a.push("vFlags = flags;"),i&&a.push("vClipPosition = clipPos;")),a.push("vViewPosition = viewPosition;"),a.push("vViewNormal = viewNormal;"),a.push("vColor = color;"),a.push("vUV = (uvDecodeMatrix * vec3(uv, 1.0)).xy;"),a.push("vMetallicRoughness = metallicRoughness;"),s.lightMaps.length>0&&a.push("vWorldNormal = worldNormal.xyz;"),a.push("gl_Position = clipPos;"),a.push("}"),a.push("}"),a}_buildFragmentShader(){const e=this._scene,t=e.gammaOutput,s=e._sectionPlanesState,n=e._lightsState,i=s.getNumAllocatedSectionPlanes()>0,a=s.clippingCaps,r=[];r.push("#version 300 es"),r.push("// Instancing geometry quality drawing fragment shader"),r.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),r.push("precision highp float;"),r.push("precision highp int;"),r.push("#else"),r.push("precision mediump float;"),r.push("precision mediump int;"),r.push("#endif"),e.logarithmicDepthBufferEnabled&&(r.push("in float isPerspective;"),r.push("uniform float logDepthBufFC;"),r.push("in float vFragDepth;")),r.push("uniform sampler2D uColorMap;"),r.push("uniform sampler2D uMetallicRoughMap;"),r.push("uniform sampler2D uEmissiveMap;"),r.push("uniform sampler2D uNormalMap;"),this._withSAO&&(r.push("uniform sampler2D uOcclusionTexture;"),r.push("uniform vec4 uSAOParams;"),r.push("const float packUpscale = 256. / 255.;"),r.push("const float unpackDownScale = 255. / 256.;"),r.push("const vec3 packFactors = vec3( 256. * 256. * 256., 256. * 256., 256. );"),r.push("const vec4 unPackFactors = unpackDownScale / vec4( packFactors, 1. );"),r.push("float unpackRGBToFloat( const in vec4 v ) {"),r.push(" return dot( v, unPackFactors );"),r.push("}")),n.reflectionMaps.length>0&&r.push("uniform samplerCube reflectionMap;"),n.lightMaps.length>0&&r.push("uniform samplerCube lightMap;"),r.push("uniform vec4 lightAmbient;");for(let e=0,t=n.lights.length;e0&&r.push("in vec3 vWorldNormal;"),this._addMatricesUniformBlockLines(r,!0),r.push("#define PI 3.14159265359"),r.push("#define RECIPROCAL_PI 0.31830988618"),r.push("#define RECIPROCAL_PI2 0.15915494"),r.push("#define EPSILON 1e-6"),r.push("#define saturate(a) clamp( a, 0.0, 1.0 )"),r.push("vec3 perturbNormal2Arb( vec3 eye_pos, vec3 surf_norm, vec2 uv ) {"),r.push(" vec3 texel = texture( uNormalMap, uv ).xyz;"),r.push(" if (texel.r == 0.0 && texel.g == 0.0 && texel.b == 0.0) {"),r.push(" return normalize(surf_norm );"),r.push(" }"),r.push(" vec3 q0 = vec3( dFdx( eye_pos.x ), dFdx( eye_pos.y ), dFdx( eye_pos.z ) );"),r.push(" vec3 q1 = vec3( dFdy( eye_pos.x ), dFdy( eye_pos.y ), dFdy( eye_pos.z ) );"),r.push(" vec2 st0 = dFdx( uv.st );"),r.push(" vec2 st1 = dFdy( uv.st );"),r.push(" vec3 S = normalize( q0 * st1.t - q1 * st0.t );"),r.push(" vec3 T = normalize( -q0 * st1.s + q1 * st0.s );"),r.push(" vec3 N = normalize( surf_norm );"),r.push(" vec3 mapN = texel.xyz * 2.0 - 1.0;"),r.push(" mat3 tsn = mat3( S, T, N );"),r.push(" return normalize( tsn * mapN );"),r.push("}"),r.push("vec3 inverseTransformDirection(in vec3 dir, in mat4 matrix) {"),r.push(" return normalize( ( vec4( dir, 0.0 ) * matrix ).xyz );"),r.push("}"),r.push("struct IncidentLight {"),r.push(" vec3 color;"),r.push(" vec3 direction;"),r.push("};"),r.push("struct ReflectedLight {"),r.push(" vec3 diffuse;"),r.push(" vec3 specular;"),r.push("};"),r.push("struct Geometry {"),r.push(" vec3 position;"),r.push(" vec3 viewNormal;"),r.push(" vec3 worldNormal;"),r.push(" vec3 viewEyeDir;"),r.push("};"),r.push("struct Material {"),r.push(" vec3 diffuseColor;"),r.push(" float specularRoughness;"),r.push(" vec3 specularColor;"),r.push(" float shine;"),r.push("};"),r.push("float GGXRoughnessToBlinnExponent(const in float ggxRoughness) {"),r.push(" float r = ggxRoughness + 0.0001;"),r.push(" return (2.0 / (r * r) - 2.0);"),r.push("}"),r.push("float getSpecularMIPLevel(const in float blinnShininessExponent, const in int maxMIPLevel) {"),r.push(" float maxMIPLevelScalar = float( maxMIPLevel );"),r.push(" float desiredMIPLevel = maxMIPLevelScalar - 0.79248 - 0.5 * log2( ( blinnShininessExponent * blinnShininessExponent ) + 1.0 );"),r.push(" return clamp( desiredMIPLevel, 0.0, maxMIPLevelScalar );"),r.push("}"),n.reflectionMaps.length>0&&(r.push("vec3 getLightProbeIndirectRadiance(const in vec3 reflectVec, const in float blinnShininessExponent, const in int maxMIPLevel) {"),r.push(" float mipLevel = 0.5 * getSpecularMIPLevel(blinnShininessExponent, maxMIPLevel);"),r.push(" vec3 envMapColor = "+Bl[n.reflectionMaps[0].encoding]+"(texture(reflectionMap, reflectVec, mipLevel)).rgb;"),r.push(" return envMapColor;"),r.push("}")),r.push("vec3 F_Schlick(const in vec3 specularColor, const in float dotLH) {"),r.push(" float fresnel = exp2( ( -5.55473 * dotLH - 6.98316 ) * dotLH );"),r.push(" return ( 1.0 - specularColor ) * fresnel + specularColor;"),r.push("}"),r.push("float G_GGX_Smith(const in float alpha, const in float dotNL, const in float dotNV) {"),r.push(" float a2 = ( alpha * alpha );"),r.push(" float gl = dotNL + sqrt( a2 + ( 1.0 - a2 ) * ( dotNL * dotNL ) );"),r.push(" float gv = dotNV + sqrt( a2 + ( 1.0 - a2 ) * ( dotNV * dotNV ) );"),r.push(" return 1.0 / ( gl * gv );"),r.push("}"),r.push("float G_GGX_SmithCorrelated(const in float alpha, const in float dotNL, const in float dotNV) {"),r.push(" float a2 = ( alpha * alpha );"),r.push(" float gv = dotNL * sqrt( a2 + ( 1.0 - a2 ) * ( dotNV * dotNV ) );"),r.push(" float gl = dotNV * sqrt( a2 + ( 1.0 - a2 ) * ( dotNL * dotNL ) );"),r.push(" return 0.5 / max( gv + gl, EPSILON );"),r.push("}"),r.push("float D_GGX(const in float alpha, const in float dotNH) {"),r.push(" float a2 = ( alpha * alpha );"),r.push(" float denom = ( dotNH * dotNH) * ( a2 - 1.0 ) + 1.0;"),r.push(" return RECIPROCAL_PI * a2 / ( denom * denom);"),r.push("}"),r.push("vec3 BRDF_Specular_GGX(const in IncidentLight incidentLight, const in Geometry geometry, const in vec3 specularColor, const in float roughness) {"),r.push(" float alpha = ( roughness * roughness );"),r.push(" vec3 halfDir = normalize( incidentLight.direction + geometry.viewEyeDir );"),r.push(" float dotNL = saturate( dot( geometry.viewNormal, incidentLight.direction ) );"),r.push(" float dotNV = saturate( dot( geometry.viewNormal, geometry.viewEyeDir ) );"),r.push(" float dotNH = saturate( dot( geometry.viewNormal, halfDir ) );"),r.push(" float dotLH = saturate( dot( incidentLight.direction, halfDir ) );"),r.push(" vec3 F = F_Schlick( specularColor, dotLH );"),r.push(" float G = G_GGX_SmithCorrelated( alpha, dotNL, dotNV );"),r.push(" float D = D_GGX( alpha, dotNH );"),r.push(" return F * (G * D);"),r.push("}"),r.push("vec3 BRDF_Specular_GGX_Environment(const in Geometry geometry, const in vec3 specularColor, const in float roughness) {"),r.push(" float dotNV = saturate(dot(geometry.viewNormal, geometry.viewEyeDir));"),r.push(" const vec4 c0 = vec4( -1, -0.0275, -0.572, 0.022);"),r.push(" const vec4 c1 = vec4( 1, 0.0425, 1.04, -0.04);"),r.push(" vec4 r = roughness * c0 + c1;"),r.push(" float a004 = min(r.x * r.x, exp2(-9.28 * dotNV)) * r.x + r.y;"),r.push(" vec2 AB = vec2(-1.04, 1.04) * a004 + r.zw;"),r.push(" return specularColor * AB.x + AB.y;"),r.push("}"),(n.lightMaps.length>0||n.reflectionMaps.length>0)&&(r.push("void computePBRLightMapping(const in Geometry geometry, const in Material material, inout ReflectedLight reflectedLight) {"),n.lightMaps.length>0&&(r.push(" vec3 irradiance = "+Bl[n.lightMaps[0].encoding]+"(texture(lightMap, geometry.worldNormal)).rgb;"),r.push(" irradiance *= PI;"),r.push(" vec3 diffuseBRDFContrib = (RECIPROCAL_PI * material.diffuseColor);"),r.push(" reflectedLight.diffuse += irradiance * diffuseBRDFContrib;")),n.reflectionMaps.length>0&&(r.push(" vec3 reflectVec = reflect(geometry.viewEyeDir, geometry.viewNormal);"),r.push(" reflectVec = inverseTransformDirection(reflectVec, viewMatrix);"),r.push(" float blinnExpFromRoughness = GGXRoughnessToBlinnExponent(material.specularRoughness);"),r.push(" vec3 radiance = getLightProbeIndirectRadiance(reflectVec, blinnExpFromRoughness, 8);"),r.push(" vec3 specularBRDFContrib = BRDF_Specular_GGX_Environment(geometry, material.specularColor, material.specularRoughness);"),r.push(" reflectedLight.specular += radiance * specularBRDFContrib;")),r.push("}")),r.push("void computePBRLighting(const in IncidentLight incidentLight, const in Geometry geometry, const in Material material, inout ReflectedLight reflectedLight) {"),r.push(" float dotNL = saturate(dot(geometry.viewNormal, incidentLight.direction));"),r.push(" vec3 irradiance = dotNL * incidentLight.color * PI;"),r.push(" reflectedLight.diffuse += irradiance * (RECIPROCAL_PI * material.diffuseColor);"),r.push(" reflectedLight.specular += irradiance * BRDF_Specular_GGX(incidentLight, geometry, material.specularColor, material.specularRoughness);"),r.push("}"),r.push("out vec4 outColor;"),r.push("void main(void) {"),i){r.push(" bool clippable = (int(vFlags) >> 16 & 0xF) == 1;"),r.push(" if (clippable) {"),r.push(" float dist = 0.0;");for(let e=0,t=s.getNumAllocatedSectionPlanes();e (0.002 * vClipPosition.w)) {"),r.push(" discard;"),r.push(" }"),r.push(" if (dist > 0.0) { "),r.push(" outColor=vec4(1.0, 0.0, 0.0, 1.0);"),e.logarithmicDepthBufferEnabled&&r.push(" gl_FragDepth = log2( vFragDepth ) * logDepthBufFC * 0.5;"),r.push(" return;"),r.push("}")):(r.push(" if (dist > 0.0) { "),r.push(" discard;"),r.push(" }")),r.push("}")}r.push("IncidentLight light;"),r.push("Material material;"),r.push("Geometry geometry;"),r.push("ReflectedLight reflectedLight = ReflectedLight(vec3(0.0,0.0,0.0), vec3(0.0,0.0,0.0));"),r.push("vec3 rgb = (vec3(float(vColor.r) / 255.0, float(vColor.g) / 255.0, float(vColor.b) / 255.0));"),r.push("float opacity = float(vColor.a) / 255.0;"),r.push("vec3 baseColor = rgb;"),r.push("float specularF0 = 1.0;"),r.push("float metallic = float(vMetallicRoughness.r) / 255.0;"),r.push("float roughness = float(vMetallicRoughness.g) / 255.0;"),r.push("float dielectricSpecular = 0.16 * specularF0 * specularF0;"),r.push("vec4 colorTexel = sRGBToLinear(texture(uColorMap, vUV));"),r.push("baseColor *= colorTexel.rgb;"),r.push("vec3 metalRoughTexel = texture(uMetallicRoughMap, vUV).rgb;"),r.push("metallic *= metalRoughTexel.b;"),r.push("roughness *= metalRoughTexel.g;"),r.push("vec3 viewNormal = perturbNormal2Arb( vViewPosition.xyz, normalize(vViewNormal), vUV );"),r.push("material.diffuseColor = baseColor * (1.0 - dielectricSpecular) * (1.0 - metallic);"),r.push("material.specularRoughness = clamp(roughness, 0.04, 1.0);"),r.push("material.specularColor = mix(vec3(dielectricSpecular), baseColor, metallic);"),r.push("geometry.position = vViewPosition.xyz;"),r.push("geometry.viewNormal = -normalize(viewNormal);"),r.push("geometry.viewEyeDir = normalize(vViewPosition.xyz);"),n.lightMaps.length>0&&r.push("geometry.worldNormal = normalize(vWorldNormal);"),(n.lightMaps.length>0||n.reflectionMaps.length>0)&&r.push("computePBRLightMapping(geometry, material, reflectedLight);");for(let e=0,t=n.lights.length;e0,s=[];return s.push("#version 300 es"),s.push("// Instancing geometry normals vertex shader"),s.push("uniform int renderPass;"),s.push("in vec3 position;"),e.entityOffsetsEnabled&&s.push("in vec3 offset;"),s.push("in float flags;"),s.push("in vec4 modelMatrixCol0;"),s.push("in vec4 modelMatrixCol1;"),s.push("in vec4 modelMatrixCol2;"),s.push("uniform bool pickInvisible;"),this._addMatricesUniformBlockLines(s),this._addRemapClipPosLines(s,3),e.logarithmicDepthBufferEnabled&&(s.push("uniform float logDepthBufFC;"),s.push("out float vFragDepth;"),s.push("bool isPerspectiveMatrix(mat4 m) {"),s.push(" return (m[2][3] == - 1.0);"),s.push("}"),s.push("out float isPerspective;")),t&&s.push("out float vFlags;"),s.push("out vec4 vWorldPosition;"),s.push("void main(void) {"),s.push("int pickFlag = int(flags) >> 12 & 0xF;"),s.push("if (pickFlag != renderPass) {"),s.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),s.push("} else {"),s.push(" vec4 worldPosition = positionsDecodeMatrix * vec4(position, 1.0); "),s.push(" worldPosition = worldMatrix * vec4(dot(worldPosition, modelMatrixCol0), dot(worldPosition, modelMatrixCol1), dot(worldPosition, modelMatrixCol2), 1.0);"),e.entityOffsetsEnabled&&s.push(" worldPosition.xyz = worldPosition.xyz + offset;"),s.push(" vec4 viewPosition = viewMatrix * worldPosition; "),s.push(" vWorldPosition = worldPosition;"),s.push("vec4 clipPos = projMatrix * viewPosition;"),e.logarithmicDepthBufferEnabled&&(s.push("vFragDepth = 1.0 + clipPos.w;"),s.push("isPerspective = float (isPerspectiveMatrix(projMatrix));")),t&&s.push("vFlags = flags;"),s.push("gl_Position = remapClipPos(clipPos);"),s.push("}"),s.push("}"),s}_buildFragmentShader(){const e=this._scene,t=e._sectionPlanesState,s=t.getNumAllocatedSectionPlanes()>0,n=[];if(n.push("#version 300 es"),n.push("// Batched geometry normals fragment shader"),n.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),n.push("precision highp float;"),n.push("precision highp int;"),n.push("#else"),n.push("precision mediump float;"),n.push("precision mediump int;"),n.push("#endif"),e.logarithmicDepthBufferEnabled&&(n.push("in float isPerspective;"),n.push("uniform float logDepthBufFC;"),n.push("in float vFragDepth;")),n.push("in vec4 vWorldPosition;"),s){n.push("in float vFlags;");for(let e=0;e> 16 & 0xF) == 1;"),n.push(" if (clippable) {"),n.push(" float dist = 0.0;");for(var i=0;i 0.0) { discard; }"),n.push("}")}return e.logarithmicDepthBufferEnabled&&n.push(" gl_FragDepth = isPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5;"),n.push(" vec3 xTangent = dFdx( vWorldPosition.xyz );"),n.push(" vec3 yTangent = dFdy( vWorldPosition.xyz );"),n.push(" vec3 worldNormal = normalize( cross( xTangent, yTangent ) );"),n.push(` outNormal = ivec4(worldNormal * float(${A.MAX_INT}), 1.0);`),n.push("}"),n}}class Nl extends yr{_getHash(){const e=this._scene;return[e.gammaOutput,e._lightsState.getHash(),e._sectionPlanesState.getHash(),this._withSAO?"sao":"nosao"].join(";")}drawLayer(e,t,s){super.drawLayer(e,t,s,{incrementDrawState:!0})}_buildVertexShader(){const e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,s=[];return s.push("#version 300 es"),s.push("// Instancing geometry drawing vertex shader"),s.push("uniform int renderPass;"),s.push("in vec3 position;"),s.push("in vec4 color;"),s.push("in vec2 uv;"),s.push("in float flags;"),e.entityOffsetsEnabled&&s.push("in vec3 offset;"),s.push("in vec4 modelMatrixCol0;"),s.push("in vec4 modelMatrixCol1;"),s.push("in vec4 modelMatrixCol2;"),this._addMatricesUniformBlockLines(s),s.push("uniform mat3 uvDecodeMatrix;"),e.logarithmicDepthBufferEnabled&&(s.push("uniform float logDepthBufFC;"),s.push("out float vFragDepth;"),s.push("bool isPerspectiveMatrix(mat4 m) {"),s.push(" return (m[2][3] == - 1.0);"),s.push("}"),s.push("out float isPerspective;")),t&&(s.push("out vec4 vWorldPosition;"),s.push("out float vFlags;")),s.push("out vec4 vViewPosition;"),s.push("out vec4 vColor;"),s.push("out vec2 vUV;"),s.push("void main(void) {"),s.push("int colorFlag = int(flags) & 0xF;"),s.push("if (colorFlag != renderPass) {"),s.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),s.push("} else {"),s.push("vec4 worldPosition = positionsDecodeMatrix * vec4(position, 1.0); "),s.push("worldPosition = worldMatrix * vec4(dot(worldPosition, modelMatrixCol0), dot(worldPosition, modelMatrixCol1), dot(worldPosition, modelMatrixCol2), 1.0);"),e.entityOffsetsEnabled&&s.push(" worldPosition.xyz = worldPosition.xyz + offset;"),s.push("vec4 viewPosition = viewMatrix * worldPosition; "),s.push("vViewPosition = viewPosition;"),s.push("vColor = vec4(float(color.r) / 255.0, float(color.g) / 255.0, float(color.b) / 255.0, float(color.a) / 255.0);"),s.push("vUV = (uvDecodeMatrix * vec3(uv, 1.0)).xy;"),s.push("vec4 clipPos = projMatrix * viewPosition;"),e.logarithmicDepthBufferEnabled&&(s.push("vFragDepth = 1.0 + clipPos.w;"),s.push("isPerspective = float (isPerspectiveMatrix(projMatrix));")),t&&(s.push("vWorldPosition = worldPosition;"),s.push("vFlags = flags;")),s.push("gl_Position = clipPos;"),s.push("}"),s.push("}"),s}_buildFragmentShader(){const e=this._scene,t=e.gammaOutput,s=e._sectionPlanesState,n=e._lightsState;let i,a;const r=s.getNumAllocatedSectionPlanes()>0,l=[];if(l.push("#version 300 es"),l.push("// Instancing geometry drawing fragment shader"),l.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),l.push("precision highp float;"),l.push("precision highp int;"),l.push("#else"),l.push("precision mediump float;"),l.push("precision mediump int;"),l.push("#endif"),e.logarithmicDepthBufferEnabled&&(l.push("in float isPerspective;"),l.push("uniform float logDepthBufFC;"),l.push("in float vFragDepth;")),l.push("uniform sampler2D uColorMap;"),this._withSAO&&(l.push("uniform sampler2D uOcclusionTexture;"),l.push("uniform vec4 uSAOParams;"),l.push("const float packUpscale = 256. / 255.;"),l.push("const float unpackDownScale = 255. / 256.;"),l.push("const vec3 packFactors = vec3( 256. * 256. * 256., 256. * 256., 256. );"),l.push("const vec4 unPackFactors = unpackDownScale / vec4( packFactors, 1. );"),l.push("float unpackRGBToFloat( const in vec4 v ) {"),l.push(" return dot( v, unPackFactors );"),l.push("}")),l.push("uniform float gammaFactor;"),l.push("vec4 linearToLinear( in vec4 value ) {"),l.push(" return value;"),l.push("}"),l.push("vec4 sRGBToLinear( in vec4 value ) {"),l.push(" return vec4( mix( pow( value.rgb * 0.9478672986 + vec3( 0.0521327014 ), vec3( 2.4 ) ), value.rgb * 0.0773993808, vec3( lessThanEqual( value.rgb, vec3( 0.04045 ) ) ) ), value.w );"),l.push("}"),l.push("vec4 gammaToLinear( in vec4 value) {"),l.push(" return vec4( pow( value.xyz, vec3( gammaFactor ) ), value.w );"),l.push("}"),t&&(l.push("vec4 linearToGamma( in vec4 value, in float gammaFactor ) {"),l.push(" return vec4( pow( value.xyz, vec3( 1.0 / gammaFactor ) ), value.w );"),l.push("}")),r){l.push("in vec4 vWorldPosition;"),l.push("in float vFlags;");for(let e=0,t=s.getNumAllocatedSectionPlanes();e> 16 & 0xF) == 1;"),l.push(" if (clippable) {"),l.push(" float dist = 0.0;");for(let e=0,t=s.getNumAllocatedSectionPlanes();e 0.0) { "),l.push(" discard;"),l.push(" }"),l.push("}")}for(l.push("vec3 reflectedColor = vec3(0.0, 0.0, 0.0);"),l.push("vec3 viewLightDir = vec3(0.0, 0.0, -1.0);"),l.push("float lambertian = 1.0;"),l.push("vec3 xTangent = dFdx( vViewPosition.xyz );"),l.push("vec3 yTangent = dFdy( vViewPosition.xyz );"),l.push("vec3 viewNormal = normalize( cross( xTangent, yTangent ) );"),i=0,a=n.lights.length;i0,s=[];return s.push("#version 300 es"),s.push("// SnapInstancingDepthBufInitRenderer vertex shader"),s.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),s.push("precision highp float;"),s.push("precision highp int;"),s.push("precision highp usampler2D;"),s.push("precision highp isampler2D;"),s.push("precision highp sampler2D;"),s.push("#else"),s.push("precision mediump float;"),s.push("precision mediump int;"),s.push("precision mediump usampler2D;"),s.push("precision mediump isampler2D;"),s.push("precision mediump sampler2D;"),s.push("#endif"),s.push("uniform int renderPass;"),s.push("in vec4 pickColor;"),s.push("in vec3 position;"),e.entityOffsetsEnabled&&s.push("in vec3 offset;"),s.push("in float flags;"),s.push("in vec4 modelMatrixCol0;"),s.push("in vec4 modelMatrixCol1;"),s.push("in vec4 modelMatrixCol2;"),s.push("uniform bool pickInvisible;"),this._addMatricesUniformBlockLines(s),s.push("uniform vec3 uCameraEyeRtc;"),s.push("uniform vec2 snapVectorA;"),s.push("uniform vec2 snapInvVectorAB;"),s.push("uniform float logDepthBufFC;"),s.push("out float vFragDepth;"),s.push("bool isPerspectiveMatrix(mat4 m) {"),s.push(" return (m[2][3] == - 1.0);"),s.push("}"),s.push("out float isPerspective;"),s.push("vec2 remapClipPos(vec2 clipPos) {"),s.push(" float x = (clipPos.x - snapVectorA.x) * snapInvVectorAB.x;"),s.push(" float y = (clipPos.y - snapVectorA.y) * snapInvVectorAB.y;"),s.push(" return vec2(x, y);"),s.push("}"),s.push("flat out vec4 vPickColor;"),s.push("out vec4 vWorldPosition;"),t&&s.push("out float vFlags;"),s.push("out highp vec3 relativeToOriginPosition;"),s.push("void main(void) {"),s.push("int pickFlag = int(flags) >> 12 & 0xF;"),s.push("if (pickFlag != renderPass) {"),s.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),s.push("} else {"),s.push(" vec4 worldPosition = positionsDecodeMatrix * vec4(position, 1.0); "),s.push(" worldPosition = worldMatrix * vec4(dot(worldPosition, modelMatrixCol0), dot(worldPosition, modelMatrixCol1), dot(worldPosition, modelMatrixCol2), 1.0);"),e.entityOffsetsEnabled&&s.push(" worldPosition.xyz = worldPosition.xyz + offset;"),s.push("relativeToOriginPosition = worldPosition.xyz;"),s.push(" vec4 viewPosition = viewMatrix * worldPosition; "),s.push(" vWorldPosition = worldPosition;"),t&&s.push(" vFlags = flags;"),s.push("vPickColor = pickColor;"),s.push("vec4 clipPos = projMatrix * viewPosition;"),s.push("float tmp = clipPos.w;"),s.push("clipPos.xyzw /= tmp;"),s.push("clipPos.xy = remapClipPos(clipPos.xy);"),s.push("clipPos.xyzw *= tmp;"),s.push("vFragDepth = 1.0 + clipPos.w;"),s.push("isPerspective = float (isPerspectiveMatrix(projMatrix));"),s.push("gl_Position = clipPos;"),s.push("}"),s.push("}"),s}_buildFragmentShader(){const e=this._scene._sectionPlanesState,t=e.getNumAllocatedSectionPlanes()>0,s=[];if(s.push("#version 300 es"),s.push("// Points instancing pick depth fragment shader"),s.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),s.push("precision highp float;"),s.push("precision highp int;"),s.push("#else"),s.push("precision mediump float;"),s.push("precision mediump int;"),s.push("#endif"),s.push("in float isPerspective;"),s.push("uniform float logDepthBufFC;"),s.push("in float vFragDepth;"),s.push("uniform int layerNumber;"),s.push("uniform vec3 coordinateScaler;"),s.push("in vec4 vWorldPosition;"),s.push("flat in vec4 vPickColor;"),t){s.push("in float vFlags;");for(let t=0;t> 16 & 0xF) == 1;"),s.push(" if (clippable) {"),s.push(" float dist = 0.0;");for(let t=0;t 0.0) { discard; }"),s.push("}")}return s.push(" float dx = dFdx(vFragDepth);"),s.push(" float dy = dFdy(vFragDepth);"),s.push(" float diff = sqrt(dx*dx+dy*dy);"),s.push(" gl_FragDepth = isPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth + diff ) * logDepthBufFC * 0.5;"),s.push("outCoords = ivec4(relativeToOriginPosition.xyz*coordinateScaler.xyz, -layerNumber);"),s.push("vec3 xTangent = dFdx( vWorldPosition.xyz );"),s.push("vec3 yTangent = dFdy( vWorldPosition.xyz );"),s.push("vec3 worldNormal = normalize( cross( xTangent, yTangent ) );"),s.push(`outNormal = ivec4(worldNormal * float(${A.MAX_INT}), 1.0);`),s.push("outPickColor = uvec4(vPickColor);"),s.push("}"),s}webglContextRestored(){this._program=null}destroy(){this._program&&this._program.destroy(),this._program=null}}const Vl=A.vec3(),kl=A.vec3(),Ql=A.vec3(),Wl=A.vec3(),zl=A.mat4();class Kl extends dr{constructor(e){super(e,!1,{instancing:!0})}drawLayer(e,t,s){if(!this._program&&(this._allocate(t),this.errors))return;e.lastProgramId!==this._program.id&&(e.lastProgramId=this._program.id,this._bindProgram());const n=t.model,i=n.scene,a=i.camera,r=i.canvas.gl,l=t._state,o=t._state.origin,{position:c,rotationMatrix:u,rotationMatrixConjugate:h}=n,p=n.aabb,d=e.pickViewMatrix||a.viewMatrix;this._vaoCache.has(t)?r.bindVertexArray(this._vaoCache.get(t)):this._vaoCache.set(t,this._makeVAO(l));const f=Vl;let I,y;if(f[0]=A.safeInv(p[3]-p[0])*A.MAX_INT,f[1]=A.safeInv(p[4]-p[1])*A.MAX_INT,f[2]=A.safeInv(p[5]-p[2])*A.MAX_INT,e.snapPickCoordinateScale[0]=A.safeInv(f[0]),e.snapPickCoordinateScale[1]=A.safeInv(f[1]),e.snapPickCoordinateScale[2]=A.safeInv(f[2]),o||0!==c[0]||0!==c[1]||0!==c[2]){const t=kl;if(o){const e=A.transformPoint3(u,o,Ql);t[0]=e[0],t[1]=e[1],t[2]=e[2]}else t[0]=0,t[1]=0,t[2]=0;t[0]+=c[0],t[1]+=c[1],t[2]+=c[2],I=Q(d,t,zl),y=Wl,y[0]=a.eye[0]-t[0],y[1]=a.eye[1]-t[1],y[2]=a.eye[2]-t[2],e.snapPickOrigin[0]=t[0],e.snapPickOrigin[1]=t[1],e.snapPickOrigin[2]=t[2]}else I=d,y=a.eye,e.snapPickOrigin[0]=0,e.snapPickOrigin[1]=0,e.snapPickOrigin[2]=0;r.uniform3fv(this._uCameraEyeRtc,y),r.uniform2fv(this.uVectorA,e.snapVectorA),r.uniform2fv(this.uInverseVectorAB,e.snapInvVectorAB),r.uniform1i(this._uLayerNumber,e.snapPickLayerNumber),r.uniform3fv(this._uCoordinateScaler,f),r.uniform1i(this._uRenderPass,s),r.uniform1i(this._uPickInvisible,e.pickInvisible);let m=0;this._matricesUniformBlockBufferData.set(h,0),this._matricesUniformBlockBufferData.set(I,m+=16),this._matricesUniformBlockBufferData.set(a.projMatrix,m+=16),this._matricesUniformBlockBufferData.set(l.positionsDecodeMatrix,m+=16),r.bindBuffer(r.UNIFORM_BUFFER,this._matricesUniformBlockBuffer),r.bufferData(r.UNIFORM_BUFFER,this._matricesUniformBlockBufferData,r.DYNAMIC_DRAW),r.bindBufferBase(r.UNIFORM_BUFFER,this._matricesUniformBlockBufferBindingPoint,this._matricesUniformBlockBuffer);{const t=2/(Math.log(e.pickZFar+1)/Math.LN2);r.uniform1f(this._uLogDepthBufFC,t)}this.setSectionPlanesStateUniforms(t),this._aModelMatrixCol0.bindArrayBuffer(l.modelMatrixCol0Buf),this._aModelMatrixCol1.bindArrayBuffer(l.modelMatrixCol1Buf),this._aModelMatrixCol2.bindArrayBuffer(l.modelMatrixCol2Buf),r.vertexAttribDivisor(this._aModelMatrixCol0.location,1),r.vertexAttribDivisor(this._aModelMatrixCol1.location,1),r.vertexAttribDivisor(this._aModelMatrixCol2.location,1),this._aFlags.bindArrayBuffer(l.flagsBuf),r.vertexAttribDivisor(this._aFlags.location,1),"edge"===e.snapMode?(l.edgeIndicesBuf.bind(),r.drawElementsInstanced(r.LINES,l.edgeIndicesBuf.numItems,l.edgeIndicesBuf.itemType,0,l.numInstances),l.edgeIndicesBuf.unbind()):r.drawArraysInstanced(r.POINTS,0,l.positionsBuf.numItems,l.numInstances),r.vertexAttribDivisor(this._aModelMatrixCol0.location,0),r.vertexAttribDivisor(this._aModelMatrixCol1.location,0),r.vertexAttribDivisor(this._aModelMatrixCol2.location,0),r.vertexAttribDivisor(this._aFlags.location,0),this._aOffset&&r.vertexAttribDivisor(this._aOffset.location,0)}_allocate(){super._allocate();const e=this._program;this._uLogDepthBufFC=e.getLocation("logDepthBufFC"),this._uCameraEyeRtc=e.getLocation("uCameraEyeRtc"),this.uVectorA=e.getLocation("snapVectorA"),this.uInverseVectorAB=e.getLocation("snapInvVectorAB"),this._uLayerNumber=e.getLocation("layerNumber"),this._uCoordinateScaler=e.getLocation("coordinateScaler")}_bindProgram(){this._program.bind()}_buildVertexShader(){const e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,s=[];return s.push("#version 300 es"),s.push("// SnapInstancingDepthRenderer vertex shader"),s.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),s.push("precision highp float;"),s.push("precision highp int;"),s.push("precision highp usampler2D;"),s.push("precision highp isampler2D;"),s.push("precision highp sampler2D;"),s.push("#else"),s.push("precision mediump float;"),s.push("precision mediump int;"),s.push("precision mediump usampler2D;"),s.push("precision mediump isampler2D;"),s.push("precision mediump sampler2D;"),s.push("#endif"),s.push("uniform int renderPass;"),s.push("in vec3 position;"),e.entityOffsetsEnabled&&s.push("in vec3 offset;"),s.push("in float flags;"),s.push("in vec4 modelMatrixCol0;"),s.push("in vec4 modelMatrixCol1;"),s.push("in vec4 modelMatrixCol2;"),s.push("uniform bool pickInvisible;"),this._addMatricesUniformBlockLines(s),s.push("uniform vec3 uCameraEyeRtc;"),s.push("uniform vec2 snapVectorA;"),s.push("uniform vec2 snapInvVectorAB;"),s.push("uniform float logDepthBufFC;"),s.push("out float vFragDepth;"),s.push("bool isPerspectiveMatrix(mat4 m) {"),s.push(" return (m[2][3] == - 1.0);"),s.push("}"),s.push("out float isPerspective;"),s.push("vec2 remapClipPos(vec2 clipPos) {"),s.push(" float x = (clipPos.x - snapVectorA.x) * snapInvVectorAB.x;"),s.push(" float y = (clipPos.y - snapVectorA.y) * snapInvVectorAB.y;"),s.push(" return vec2(x, y);"),s.push("}"),t&&(s.push("out vec4 vWorldPosition;"),s.push("out float vFlags;")),s.push("out highp vec3 relativeToOriginPosition;"),s.push("void main(void) {"),s.push("int pickFlag = int(flags) >> 12 & 0xF;"),s.push("if (pickFlag != renderPass) {"),s.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),s.push("} else {"),s.push(" vec4 worldPosition = positionsDecodeMatrix * vec4(position, 1.0); "),s.push(" worldPosition = worldMatrix * vec4(dot(worldPosition, modelMatrixCol0), dot(worldPosition, modelMatrixCol1), dot(worldPosition, modelMatrixCol2), 1.0);"),e.entityOffsetsEnabled&&s.push(" worldPosition.xyz = worldPosition.xyz + offset;"),s.push("relativeToOriginPosition = worldPosition.xyz;"),s.push(" vec4 viewPosition = viewMatrix * worldPosition; "),t&&(s.push(" vWorldPosition = worldPosition;"),s.push(" vFlags = flags;")),s.push("vec4 clipPos = projMatrix * viewPosition;"),s.push("float tmp = clipPos.w;"),s.push("clipPos.xyzw /= tmp;"),s.push("clipPos.xy = remapClipPos(clipPos.xy);"),s.push("clipPos.xyzw *= tmp;"),s.push("vFragDepth = 1.0 + clipPos.w;"),s.push("isPerspective = float (isPerspectiveMatrix(projMatrix));"),s.push("gl_Position = clipPos;"),s.push("gl_PointSize = 1.0;"),s.push("}"),s.push("}"),s}_buildFragmentShader(){const e=this._scene._sectionPlanesState,t=e.getNumAllocatedSectionPlanes()>0,s=[];if(s.push("#version 300 es"),s.push("// SnapInstancingDepthRenderer fragment shader"),s.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),s.push("precision highp float;"),s.push("precision highp int;"),s.push("#else"),s.push("precision mediump float;"),s.push("precision mediump int;"),s.push("#endif"),s.push("in float isPerspective;"),s.push("uniform float logDepthBufFC;"),s.push("in float vFragDepth;"),s.push("uniform int layerNumber;"),s.push("uniform vec3 coordinateScaler;"),t){s.push("in vec4 vWorldPosition;"),s.push("in float vFlags;");for(let t=0;t> 16 & 0xF) == 1;"),s.push(" if (clippable) {"),s.push(" float dist = 0.0;");for(let t=0;t 0.0) { discard; }"),s.push("}")}return s.push(" gl_FragDepth = isPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5;"),s.push("outCoords = ivec4(relativeToOriginPosition.xyz*coordinateScaler.xyz, layerNumber);"),s.push("}"),s}webglContextRestored(){this._program=null}destroy(){this._program&&this._program.destroy(),this._program=null}}class Yl{constructor(e){this._scene=e}_compile(){this._snapDepthBufInitRenderer&&!this._snapDepthBufInitRenderer.getValid()&&(this._snapDepthBufInitRenderer.destroy(),this._snapDepthBufInitRenderer=null),this._snapDepthRenderer&&!this._snapDepthRenderer.getValid()&&(this._snapDepthRenderer.destroy(),this._snapDepthRenderer=null)}eagerCreateRenders(){this._snapDepthBufInitRenderer||(this._snapDepthBufInitRenderer=new jl(this._scene,!1)),this._snapDepthRenderer||(this._snapDepthRenderer=new Kl(this._scene))}get snapDepthBufInitRenderer(){return this._snapDepthBufInitRenderer||(this._snapDepthBufInitRenderer=new jl(this._scene,!1)),this._snapDepthBufInitRenderer}get snapDepthRenderer(){return this._snapDepthRenderer||(this._snapDepthRenderer=new Kl(this._scene)),this._snapDepthRenderer}_destroy(){this._snapDepthBufInitRenderer&&this._snapDepthBufInitRenderer.destroy(),this._snapDepthRenderer&&this._snapDepthRenderer.destroy()}}const Xl={};const ql=new Uint8Array(4),Jl=new Float32Array(1),Zl=A.vec4([0,0,0,1]);A.vec4([0,0,0,1]),A.vec4([0,0,0,1]);const $l=new Float32Array(3),eo=A.vec3(),to=A.vec3(),so=A.vec3(),no=A.vec3(),io=A.vec3(),ao=A.vec3(),ro=A.vec3(),lo=new Float32Array(4);class oo{constructor(e){this.model=e.model,this.sortId="TrianglesInstancingLayer"+(e.solid?"-solid":"-surface")+(e.normals?"-normals":"-autoNormals"),this.layerIndex=e.layerIndex,this._instancingRenderers=function(e){const t=e.id;let s=Ll[t];return s||(s=new xl(e),Ll[t]=s,s._compile(),s.eagerCreateRenders(),e.on("compile",(()=>{s._compile(),s.eagerCreateRenders()})),e.on("destroyed",(()=>{delete Ll[t],s._destroy()}))),s}(e.model.scene),this._snapInstancingRenderers=function(e){const t=e.id;let s=Xl[t];return s||(s=new Yl(e),Xl[t]=s,s._compile(),s.eagerCreateRenders(),e.on("compile",(()=>{s._compile(),s.eagerCreateRenders()})),e.on("destroyed",(()=>{delete Xl[t],s._destroy()}))),s}(e.model.scene),this._aabb=A.collapseAABB3(),this._state=new it({numInstances:0,obb:A.OBB3(),origin:A.vec3(),geometry:e.geometry,textureSet:e.textureSet,pbrSupported:!1,positionsDecodeMatrix:e.geometry.positionsDecodeMatrix,colorsBuf:null,metallicRoughnessBuf:null,flagsBuf:null,offsetsBuf:null,modelMatrixBuf:null,modelMatrixCol0Buf:null,modelMatrixCol1Buf:null,modelMatrixCol2Buf:null,modelNormalMatrixCol0Buf:null,modelNormalMatrixCol1Buf:null,modelNormalMatrixCol2Buf:null,pickColorsBuf:null}),this._numPortions=0,this._numVisibleLayerPortions=0,this._numTransparentLayerPortions=0,this._numXRayedLayerPortions=0,this._numHighlightedLayerPortions=0,this._numSelectedLayerPortions=0,this._numClippableLayerPortions=0,this._numEdgesLayerPortions=0,this._numPickableLayerPortions=0,this._numCulledLayerPortions=0,this.numIndices=e.geometry.numIndices,this._colors=[],this._metallicRoughness=[],this._pickColors=[],this._offsets=[],this._modelMatrix=[],this._modelMatrixCol0=[],this._modelMatrixCol1=[],this._modelMatrixCol2=[],this._modelNormalMatrixCol0=[],this._modelNormalMatrixCol1=[],this._modelNormalMatrixCol2=[],this._portions=[],e.origin&&this._state.origin.set(e.origin),this._finalized=!1,this.solid=!!e.solid,this.numIndices=e.geometry.numIndices}createPortion(e){const t=e.color,s=e.metallic,n=e.roughness,i=null!==e.opacity&&void 0!==e.opacity?e.opacity:255,a=e.meshMatrix,r=e.pickColor;if(this._finalized)throw"Already finalized";const l=t[0],o=t[1],c=t[2];if(this._colors.push(l),this._colors.push(o),this._colors.push(c),this._colors.push(i),this._metallicRoughness.push(null!=s?s:0),this._metallicRoughness.push(null!=n?n:255),this.model.scene.entityOffsetsEnabled&&(this._offsets.push(0),this._offsets.push(0),this._offsets.push(0)),this._modelMatrixCol0.push(a[0]),this._modelMatrixCol0.push(a[4]),this._modelMatrixCol0.push(a[8]),this._modelMatrixCol0.push(a[12]),this._modelMatrixCol1.push(a[1]),this._modelMatrixCol1.push(a[5]),this._modelMatrixCol1.push(a[9]),this._modelMatrixCol1.push(a[13]),this._modelMatrixCol2.push(a[2]),this._modelMatrixCol2.push(a[6]),this._modelMatrixCol2.push(a[10]),this._modelMatrixCol2.push(a[14]),this._state.geometry.normals){let e=A.transposeMat4(a,A.mat4()),t=A.inverseMat4(e);this._modelNormalMatrixCol0.push(t[0]),this._modelNormalMatrixCol0.push(t[4]),this._modelNormalMatrixCol0.push(t[8]),this._modelNormalMatrixCol0.push(t[12]),this._modelNormalMatrixCol1.push(t[1]),this._modelNormalMatrixCol1.push(t[5]),this._modelNormalMatrixCol1.push(t[9]),this._modelNormalMatrixCol1.push(t[13]),this._modelNormalMatrixCol2.push(t[2]),this._modelNormalMatrixCol2.push(t[6]),this._modelNormalMatrixCol2.push(t[10]),this._modelNormalMatrixCol2.push(t[14])}this._pickColors.push(r[0]),this._pickColors.push(r[1]),this._pickColors.push(r[2]),this._pickColors.push(r[3]),this._state.numInstances++;const u=this._portions.length,h={};return this.model.scene.pickSurfacePrecisionEnabled&&(h.matrix=a.slice(),h.inverseMatrix=null,h.normalMatrix=null),this._portions.push(h),this._numPortions++,this.model.numPortions++,u}finalize(){if(this._finalized)return;const e=this._state,t=e.geometry,s=e.textureSet,n=this.model.scene.canvas.gl,i=this._colors.length,a=i/4;if(i>0){let t=!1;e.colorsBuf=new He(n,n.ARRAY_BUFFER,new Uint8Array(this._colors),this._colors.length,4,n.DYNAMIC_DRAW,t),this._colors=[]}if(this._metallicRoughness.length>0){const t=new Uint8Array(this._metallicRoughness);let s=!1;e.metallicRoughnessBuf=new He(n,n.ARRAY_BUFFER,t,this._metallicRoughness.length,2,n.STATIC_DRAW,s)}if(a>0){let t=!1;e.flagsBuf=new He(n,n.ARRAY_BUFFER,new Float32Array(a),a,1,n.DYNAMIC_DRAW,t)}if(this.model.scene.entityOffsetsEnabled&&this._offsets.length>0){const t=!1;e.offsetsBuf=new He(n,n.ARRAY_BUFFER,new Float32Array(this._offsets),this._offsets.length,3,n.DYNAMIC_DRAW,t),this._offsets=[]}if(t.positionsCompressed&&t.positionsCompressed.length>0){const s=!1;e.positionsBuf=new He(n,n.ARRAY_BUFFER,t.positionsCompressed,t.positionsCompressed.length,3,n.STATIC_DRAW,s),e.positionsDecodeMatrix=A.mat4(t.positionsDecodeMatrix)}if(t.colorsCompressed&&t.colorsCompressed.length>0){const s=new Uint8Array(t.colorsCompressed),i=!1;e.colorsBuf=new He(n,n.ARRAY_BUFFER,s,s.length,4,n.STATIC_DRAW,i)}if(t.uvCompressed&&t.uvCompressed.length>0){const s=t.uvCompressed;e.uvDecodeMatrix=t.uvDecodeMatrix,e.uvBuf=new He(n,n.ARRAY_BUFFER,s,s.length,2,n.STATIC_DRAW,!1)}if(t.indices&&t.indices.length>0&&(e.indicesBuf=new He(n,n.ELEMENT_ARRAY_BUFFER,new Uint32Array(t.indices),t.indices.length,1,n.STATIC_DRAW),e.numIndices=t.indices.length),"triangles"!==t.primitive&&"solid"!==t.primitive&&"surface"!==t.primitive||(e.edgeIndicesBuf=new He(n,n.ELEMENT_ARRAY_BUFFER,new Uint32Array(t.edgeIndices),t.edgeIndices.length,1,n.STATIC_DRAW)),this._modelMatrixCol0.length>0){const t=!1;e.modelMatrixCol0Buf=new He(n,n.ARRAY_BUFFER,new Float32Array(this._modelMatrixCol0),this._modelMatrixCol0.length,4,n.STATIC_DRAW,t),e.modelMatrixCol1Buf=new He(n,n.ARRAY_BUFFER,new Float32Array(this._modelMatrixCol1),this._modelMatrixCol1.length,4,n.STATIC_DRAW,t),e.modelMatrixCol2Buf=new He(n,n.ARRAY_BUFFER,new Float32Array(this._modelMatrixCol2),this._modelMatrixCol2.length,4,n.STATIC_DRAW,t),this._modelMatrixCol0=[],this._modelMatrixCol1=[],this._modelMatrixCol2=[],e.normalsBuf&&(e.modelNormalMatrixCol0Buf=new He(n,n.ARRAY_BUFFER,new Float32Array(this._modelNormalMatrixCol0),this._modelNormalMatrixCol0.length,4,n.STATIC_DRAW,t),e.modelNormalMatrixCol1Buf=new He(n,n.ARRAY_BUFFER,new Float32Array(this._modelNormalMatrixCol1),this._modelNormalMatrixCol1.length,4,n.STATIC_DRAW,t),e.modelNormalMatrixCol2Buf=new He(n,n.ARRAY_BUFFER,new Float32Array(this._modelNormalMatrixCol2),this._modelNormalMatrixCol2.length,4,n.STATIC_DRAW,t),this._modelNormalMatrixCol0=[],this._modelNormalMatrixCol1=[],this._modelNormalMatrixCol2=[])}if(this._pickColors.length>0){const t=!1;e.pickColorsBuf=new He(n,n.ARRAY_BUFFER,new Uint8Array(this._pickColors),this._pickColors.length,4,n.STATIC_DRAW,t),this._pickColors=[]}e.pbrSupported=!!(e.metallicRoughnessBuf&&e.uvBuf&&e.normalsBuf&&s&&s.colorTexture&&s.metallicRoughnessTexture),e.colorTextureSupported=!!e.uvBuf&&!!s&&!!s.colorTexture,this._state.geometry=null,this._finalized=!0}initFlags(e,t,s){t&X&&(this._numVisibleLayerPortions++,this.model.numVisibleLayerPortions++),t&te&&(this._numHighlightedLayerPortions++,this.model.numHighlightedLayerPortions++),t&ee&&(this._numXRayedLayerPortions++,this.model.numXRayedLayerPortions++),t&se&&(this._numSelectedLayerPortions++,this.model.numSelectedLayerPortions++),t&Z&&(this._numClippableLayerPortions++,this.model.numClippableLayerPortions++),t&ne&&(this._numEdgesLayerPortions++,this.model.numEdgesLayerPortions++),t&J&&(this._numPickableLayerPortions++,this.model.numPickableLayerPortions++),t&q&&(this._numCulledLayerPortions++,this.model.numCulledLayerPortions++),s&&(this._numTransparentLayerPortions++,this.model.numTransparentLayerPortions++),this._setFlags(e,t,s)}setVisible(e,t,s){if(!this._finalized)throw"Not finalized";t&X?(this._numVisibleLayerPortions++,this.model.numVisibleLayerPortions++):(this._numVisibleLayerPortions--,this.model.numVisibleLayerPortions--),this._setFlags(e,t,s)}setHighlighted(e,t,s){if(!this._finalized)throw"Not finalized";t&te?(this._numHighlightedLayerPortions++,this.model.numHighlightedLayerPortions++):(this._numHighlightedLayerPortions--,this.model.numHighlightedLayerPortions--),this._setFlags(e,t,s)}setXRayed(e,t,s){if(!this._finalized)throw"Not finalized";t&ee?(this._numXRayedLayerPortions++,this.model.numXRayedLayerPortions++):(this._numXRayedLayerPortions--,this.model.numXRayedLayerPortions--),this._setFlags(e,t,s)}setSelected(e,t,s){if(!this._finalized)throw"Not finalized";t&se?(this._numSelectedLayerPortions++,this.model.numSelectedLayerPortions++):(this._numSelectedLayerPortions--,this.model.numSelectedLayerPortions--),this._setFlags(e,t,s)}setEdges(e,t,s){if(!this._finalized)throw"Not finalized";t&ne?(this._numEdgesLayerPortions++,this.model.numEdgesLayerPortions++):(this._numEdgesLayerPortions--,this.model.numEdgesLayerPortions--),this._setFlags(e,t,s)}setClippable(e,t){if(!this._finalized)throw"Not finalized";t&Z?(this._numClippableLayerPortions++,this.model.numClippableLayerPortions++):(this._numClippableLayerPortions--,this.model.numClippableLayerPortions--),this._setFlags(e,t)}setCollidable(e,t){if(!this._finalized)throw"Not finalized"}setPickable(e,t,s){if(!this._finalized)throw"Not finalized";t&J?(this._numPickableLayerPortions++,this.model.numPickableLayerPortions++):(this._numPickableLayerPortions--,this.model.numPickableLayerPortions--),this._setFlags(e,t,s)}setCulled(e,t,s){if(!this._finalized)throw"Not finalized";t&q?(this._numCulledLayerPortions++,this.model.numCulledLayerPortions++):(this._numCulledLayerPortions--,this.model.numCulledLayerPortions--),this._setFlags(e,t,s)}setColor(e,t){if(!this._finalized)throw"Not finalized";ql[0]=t[0],ql[1]=t[1],ql[2]=t[2],ql[3]=t[3],this._state.colorsBuf&&this._state.colorsBuf.setData(ql,4*e)}setTransparent(e,t,s){s?(this._numTransparentLayerPortions++,this.model.numTransparentLayerPortions++):(this._numTransparentLayerPortions--,this.model.numTransparentLayerPortions--),this._setFlags(e,t,s)}_setFlags(e,t,s){if(!this._finalized)throw"Not finalized";const n=!!(t&X),i=!!(t&ee),a=!!(t&te),r=!!(t&se),l=!!(t&ne),o=!!(t&J),c=!!(t&q);let u,h;u=!n||c||i||a&&!this.model.scene.highlightMaterial.glowThrough||r&&!this.model.scene.selectedMaterial.glowThrough?lr.NOT_RENDERED:s?lr.COLOR_TRANSPARENT:lr.COLOR_OPAQUE,h=!n||c?lr.NOT_RENDERED:r?lr.SILHOUETTE_SELECTED:a?lr.SILHOUETTE_HIGHLIGHTED:i?lr.SILHOUETTE_XRAYED:lr.NOT_RENDERED;let p=0;p=!n||c?lr.NOT_RENDERED:r?lr.EDGES_SELECTED:a?lr.EDGES_HIGHLIGHTED:i?lr.EDGES_XRAYED:l?s?lr.EDGES_COLOR_TRANSPARENT:lr.EDGES_COLOR_OPAQUE:lr.NOT_RENDERED;let A=0;A|=u,A|=h<<4,A|=p<<8,A|=(n&&!c&&o?lr.PICK:lr.NOT_RENDERED)<<12,A|=(t&Z?1:0)<<16,Jl[0]=A,this._state.flagsBuf&&this._state.flagsBuf.setData(Jl,e)}setOffset(e,t){if(!this._finalized)throw"Not finalized";this.model.scene.entityOffsetsEnabled?($l[0]=t[0],$l[1]=t[1],$l[2]=t[2],this._state.offsetsBuf&&this._state.offsetsBuf.setData($l,3*e)):this.model.error("Entity#offset not enabled for this Viewer")}getEachVertex(e,t){if(!this.model.scene.pickSurfacePrecisionEnabled)return!1;const s=this._state,n=s.geometry,i=this._portions[e];if(!i)return void this.model.error("portion not found: "+e);const a=n.quantizedPositions,r=s.origin,l=i.offset,o=r[0]+l[0],c=r[1]+l[1],u=r[2]+l[2],h=Zl,p=i.matrix,d=this.model.sceneModelMatrix,f=s.positionsDecodeMatrix;for(let e=0,s=a.length;ev)&&(v=e,n.set(w),i&&A.triangleNormal(f,I,y,i),m=!0)}}return m&&i&&(A.transformVec3(l.normalMatrix,i,i),A.transformVec3(this.model.worldNormalMatrix,i,i),A.normalizeVec3(i)),m}destroy(){const e=this._state;e.colorsBuf&&(e.colorsBuf.destroy(),e.colorsBuf=null),e.metallicRoughnessBuf&&(e.metallicRoughnessBuf.destroy(),e.metallicRoughnessBuf=null),e.flagsBuf&&(e.flagsBuf.destroy(),e.flagsBuf=null),e.offsetsBuf&&(e.offsetsBuf.destroy(),e.offsetsBuf=null),e.modelMatrixCol0Buf&&(e.modelMatrixCol0Buf.destroy(),e.modelMatrixCol0Buf=null),e.modelMatrixCol1Buf&&(e.modelMatrixCol1Buf.destroy(),e.modelMatrixCol1Buf=null),e.modelMatrixCol2Buf&&(e.modelMatrixCol2Buf.destroy(),e.modelMatrixCol2Buf=null),e.modelNormalMatrixCol0Buf&&(e.modelNormalMatrixCol0Buf.destroy(),e.modelNormalMatrixCol0Buf=null),e.modelNormalMatrixCol1Buf&&(e.modelNormalMatrixCol1Buf.destroy(),e.modelNormalMatrixCol1Buf=null),e.modelNormalMatrixCol2Buf&&(e.modelNormalMatrixCol2Buf.destroy(),e.modelNormalMatrixCol2Buf=null),e.pickColorsBuf&&(e.pickColorsBuf.destroy(),e.pickColorsBuf=null),e.destroy(),this._state=null}}class co extends gr{drawLayer(e,t,s){super.drawLayer(e,t,s,{incrementDrawState:!0})}_buildVertexShader(){const e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,s=[];return s.push("#version 300 es"),s.push("// Lines batching color vertex shader"),s.push("uniform int renderPass;"),s.push("in vec3 position;"),s.push("in vec4 color;"),s.push("in float flags;"),e.entityOffsetsEnabled&&s.push("in vec3 offset;"),this._addMatricesUniformBlockLines(s),e.logarithmicDepthBufferEnabled&&(s.push("uniform float logDepthBufFC;"),s.push("out float vFragDepth;")),t&&(s.push("out vec4 vWorldPosition;"),s.push("out float vFlags;")),s.push("out vec4 vColor;"),s.push("void main(void) {"),s.push("int colorFlag = int(flags) & 0xF;"),s.push("if (colorFlag != renderPass) {"),s.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),s.push("} else {"),s.push("vec4 worldPosition = worldMatrix * (positionsDecodeMatrix * vec4(position, 1.0)); "),e.entityOffsetsEnabled&&s.push("worldPosition.xyz = worldPosition.xyz + offset;"),s.push("vec4 viewPosition = viewMatrix * worldPosition; "),s.push("vColor = vec4(float(color.r) / 255.0, float(color.g) / 255.0, float(color.b) / 255.0, float(color.a) / 255.0);"),t&&(s.push("vWorldPosition = worldPosition;"),s.push("vFlags = flags;")),s.push("vec4 clipPos = projMatrix * viewPosition;"),e.logarithmicDepthBufferEnabled&&s.push("vFragDepth = 1.0 + clipPos.w;"),s.push("gl_Position = clipPos;"),s.push("}"),s.push("}"),s}_buildFragmentShader(){const e=this._scene,t=e._sectionPlanesState,s=t.getNumAllocatedSectionPlanes()>0,n=[];if(n.push("#version 300 es"),n.push("// Lines batching color fragment shader"),n.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),n.push("precision highp float;"),n.push("precision highp int;"),n.push("#else"),n.push("precision mediump float;"),n.push("precision mediump int;"),n.push("#endif"),e.logarithmicDepthBufferEnabled&&(n.push("uniform float logDepthBufFC;"),n.push("in float vFragDepth;")),s){n.push("in vec4 vWorldPosition;"),n.push("in float vFlags;");for(let e=0,s=t.getNumAllocatedSectionPlanes();e> 16 & 0xF) == 1;"),n.push(" if (clippable) {"),n.push(" float dist = 0.0;");for(let e=0,s=t.getNumAllocatedSectionPlanes();e 0.0) { discard; }"),n.push("}")}return n.push(" outColor = vColor;"),e.logarithmicDepthBufferEnabled&&n.push("gl_FragDepth = log2( vFragDepth ) * logDepthBufFC * 0.5;"),n.push("}"),n}}class uo extends gr{drawLayer(e,t,s){super.drawLayer(e,t,s,{colorUniform:!0})}_buildVertexShader(){const e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,s=[];return s.push("#version 300 es"),s.push("// Lines batching silhouette vertex shader"),s.push("uniform int renderPass;"),s.push("in vec3 position;"),e.entityOffsetsEnabled&&s.push("in vec3 offset;"),s.push("in float flags;"),this._addMatricesUniformBlockLines(s),s.push("uniform vec4 color;"),e.logarithmicDepthBufferEnabled&&(s.push("uniform float logDepthBufFC;"),s.push("out float vFragDepth;")),t&&(s.push("out vec4 vWorldPosition;"),s.push("out float vFlags;")),s.push("void main(void) {"),s.push("int silhouetteFlag = int(flags) >> 4 & 0xF;"),s.push("if (silhouetteFlag != renderPass) {"),s.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),s.push("} else {"),s.push(" vec4 worldPosition = worldMatrix * (positionsDecodeMatrix * vec4(position, 1.0)); "),e.entityOffsetsEnabled&&s.push(" worldPosition.xyz = worldPosition.xyz + offset;"),s.push("vec4 viewPosition = viewMatrix * worldPosition; "),t&&(s.push("vWorldPosition = worldPosition;"),s.push("vFlags = flags;")),s.push("vec4 clipPos = projMatrix * viewPosition;"),e.logarithmicDepthBufferEnabled&&s.push("vFragDepth = 1.0 + clipPos.w;"),s.push("gl_Position = clipPos;"),s.push("}"),s.push("}"),s}_buildFragmentShader(){const e=this._scene,t=e._sectionPlanesState,s=t.getNumAllocatedSectionPlanes()>0,n=[];if(n.push("#version 300 es"),n.push("// Lines batching silhouette fragment shader"),n.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),n.push("precision highp float;"),n.push("precision highp int;"),n.push("#else"),n.push("precision mediump float;"),n.push("precision mediump int;"),n.push("#endif"),e.logarithmicDepthBufferEnabled&&(n.push("uniform float logDepthBufFC;"),n.push("in float vFragDepth;")),s){n.push("in vec4 vWorldPosition;"),n.push("in float vFlags;");for(let e=0,s=t.getNumAllocatedSectionPlanes();e> 16 & 0xF) == 1;"),n.push(" if (clippable) {"),n.push(" float dist = 0.0;");for(let e=0,s=t.getNumAllocatedSectionPlanes();e 0.0) { discard; }"),n.push("}")}return e.logarithmicDepthBufferEnabled&&n.push("gl_FragDepth = log2( vFragDepth ) * logDepthBufFC * 0.5;"),n.push("outColor = color;"),n.push("}"),n}}class ho{constructor(e){this._scene=e}_compile(){this._colorRenderer&&!this._colorRenderer.getValid()&&(this._colorRenderer.destroy(),this._colorRenderer=null),this._silhouetteRenderer&&!this._silhouetteRenderer.getValid()&&(this._silhouetteRenderer.destroy(),this._silhouetteRenderer=null)}get colorRenderer(){return this._colorRenderer||(this._colorRenderer=new co(this._scene,!1)),this._colorRenderer}get silhouetteRenderer(){return this._silhouetteRenderer||(this._silhouetteRenderer=new uo(this._scene)),this._silhouetteRenderer}_destroy(){this._colorRenderer&&this._colorRenderer.destroy(),this._silhouetteRenderer&&this._silhouetteRenderer.destroy()}}const po={};class Ao{constructor(e=5e6){e>5e6&&(e=5e6),this.maxVerts=e,this.maxIndices=3*e,this.positions=[],this.colors=[],this.offsets=[],this.indices=[]}}A.vec4([0,0,0,1]),A.vec4([0,0,0,1]),A.vec4([0,0,0,1]),A.OBB3();class fo{constructor(e){this.layerIndex=e.layerIndex,this._batchingRenderers=function(e){const t=e.id;let s=po[t];return s||(s=new ho(e),po[t]=s,s._compile(),e.on("compile",(()=>{s._compile()})),e.on("destroyed",(()=>{delete po[t],s._destroy()}))),s}(e.model.scene),this.model=e.model,this._buffer=new Ao(e.maxGeometryBatchSize),this._scratchMemory=e.scratchMemory,this._state=new it({positionsBuf:null,offsetsBuf:null,colorsBuf:null,flagsBuf:null,indicesBuf:null,positionsDecodeMatrix:A.mat4(),origin:null}),this._numPortions=0,this._numVisibleLayerPortions=0,this._numTransparentLayerPortions=0,this._numXRayedLayerPortions=0,this._numSelectedLayerPortions=0,this._numHighlightedLayerPortions=0,this._numClippableLayerPortions=0,this._numEdgesLayerPortions=0,this._numPickableLayerPortions=0,this._numCulledLayerPortions=0,this._modelAABB=A.collapseAABB3(),this._portions=[],this._numVerts=0,this._finalized=!1,e.positionsDecodeMatrix?(this._state.positionsDecodeMatrix.set(e.positionsDecodeMatrix),this._preCompressedPositionsExpected=!0):this._preCompressedPositionsExpected=!1,e.origin&&(this._state.origin=A.vec3(e.origin)),this.aabb=A.collapseAABB3()}canCreatePortion(e,t){if(this._finalized)throw"Already finalized";return this._buffer.positions.length+e<3*this._buffer.maxVerts&&this._buffer.indices.length+t0)if(this._preCompressedPositionsExpected){const n=new Uint16Array(s.positions);e.positionsBuf=new He(t,t.ARRAY_BUFFER,n,s.positions.length,3,t.STATIC_DRAW)}else{const n=kr(new Float32Array(s.positions),this._modelAABB,e.positionsDecodeMatrix);e.positionsBuf=new He(t,t.ARRAY_BUFFER,n,s.positions.length,3,t.STATIC_DRAW)}if(s.colors.length>0){const n=new Uint8Array(s.colors);let i=!1;e.colorsBuf=new He(t,t.ARRAY_BUFFER,n,s.colors.length,4,t.DYNAMIC_DRAW,i)}if(s.colors.length>0){const n=s.colors.length/4,i=new Float32Array(n);let a=!1;e.flagsBuf=new He(t,t.ARRAY_BUFFER,i,i.length,1,t.DYNAMIC_DRAW,a)}if(this.model.scene.entityOffsetsEnabled&&s.offsets.length>0){const n=new Float32Array(s.offsets);e.offsetsBuf=new He(t,t.ARRAY_BUFFER,n,s.offsets.length,3,t.DYNAMIC_DRAW)}if(s.indices.length>0){const n=new Uint32Array(s.indices);e.indicesBuf=new He(t,t.ELEMENT_ARRAY_BUFFER,n,s.indices.length,1,t.STATIC_DRAW)}this._buffer=null,this._finalized=!0}initFlags(e,t,s){t&X&&(this._numVisibleLayerPortions++,this.model.numVisibleLayerPortions++),t&te&&(this._numHighlightedLayerPortions++,this.model.numHighlightedLayerPortions++),t&ee&&(this._numXRayedLayerPortions++,this.model.numXRayedLayerPortions++),t&se&&(this._numSelectedLayerPortions++,this.model.numSelectedLayerPortions++),t&Z&&(this._numClippableLayerPortions++,this.model.numClippableLayerPortions++),t&ne&&(this._numEdgesLayerPortions++,this.model.numEdgesLayerPortions++),t&J&&(this._numPickableLayerPortions++,this.model.numPickableLayerPortions++),t&q&&(this._numCulledLayerPortions++,this.model.numCulledLayerPortions++),s&&(this._numTransparentLayerPortions++,this.model.numTransparentLayerPortions++);this._setFlags(e,t,s,!0)}flushInitFlags(){this._setDeferredFlags()}setVisible(e,t,s){if(!this._finalized)throw"Not finalized";t&X?(this._numVisibleLayerPortions++,this.model.numVisibleLayerPortions++):(this._numVisibleLayerPortions--,this.model.numVisibleLayerPortions--),this._setFlags(e,t,s)}setHighlighted(e,t,s){if(!this._finalized)throw"Not finalized";t&te?(this._numHighlightedLayerPortions++,this.model.numHighlightedLayerPortions++):(this._numHighlightedLayerPortions--,this.model.numHighlightedLayerPortions--),this._setFlags(e,t,s)}setXRayed(e,t,s){if(!this._finalized)throw"Not finalized";t&ee?(this._numXRayedLayerPortions++,this.model.numXRayedLayerPortions++):(this._numXRayedLayerPortions--,this.model.numXRayedLayerPortions--),this._setFlags(e,t,s)}setSelected(e,t,s){if(!this._finalized)throw"Not finalized";t&se?(this._numSelectedLayerPortions++,this.model.numSelectedLayerPortions++):(this._numSelectedLayerPortions--,this.model.numSelectedLayerPortions--),this._setFlags(e,t,s)}setEdges(e,t,s){if(!this._finalized)throw"Not finalized";t&ne?(this._numEdgesLayerPortions++,this.model.numEdgesLayerPortions++):(this._numEdgesLayerPortions--,this.model.numEdgesLayerPortions--),this._setFlags(e,t,s)}setClippable(e,t){if(!this._finalized)throw"Not finalized";t&Z?(this._numClippableLayerPortions++,this.model.numClippableLayerPortions++):(this._numClippableLayerPortions--,this.model.numClippableLayerPortions--),this._setFlags(e,t)}setCulled(e,t,s){if(!this._finalized)throw"Not finalized";t&q?(this._numCulledLayerPortions++,this.model.numCulledLayerPortions++):(this._numCulledLayerPortions--,this.model.numCulledLayerPortions--),this._setFlags(e,t,s)}setCollidable(e,t){if(!this._finalized)throw"Not finalized"}setPickable(e,t,s){if(!this._finalized)throw"Not finalized";t&J?(this._numPickableLayerPortions++,this.model.numPickableLayerPortions++):(this._numPickableLayerPortions--,this.model.numPickableLayerPortions--),this._setFlags(e,t,s)}setColor(e,t){if(!this._finalized)throw"Not finalized";const s=2*e,n=4*this._portions[s],i=4*this._portions[s+1],a=this._scratchMemory.getUInt8Array(i),r=t[0],l=t[1],o=t[2],c=t[3];for(let e=0;e0,s=[];return s.push("#version 300 es"),s.push("// Lines instancing color vertex shader"),s.push("uniform int renderPass;"),s.push("in vec3 position;"),s.push("in vec4 color;"),s.push("in float flags;"),e.entityOffsetsEnabled&&s.push("in vec3 offset;"),s.push("in vec4 modelMatrixCol0;"),s.push("in vec4 modelMatrixCol1;"),s.push("in vec4 modelMatrixCol2;"),this._addMatricesUniformBlockLines(s),e.logarithmicDepthBufferEnabled&&(s.push("uniform float logDepthBufFC;"),s.push("out float vFragDepth;")),s.push("uniform vec4 lightAmbient;"),t&&(s.push("out vec4 vWorldPosition;"),s.push("out float vFlags;")),s.push("out vec4 vColor;"),s.push("void main(void) {"),s.push("int colorFlag = int(flags) & 0xF;"),s.push("if (colorFlag != renderPass) {"),s.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),s.push("} else {"),s.push("vec4 worldPosition = positionsDecodeMatrix * vec4(position, 1.0); "),s.push("worldPosition = worldMatrix * vec4(dot(worldPosition, modelMatrixCol0), dot(worldPosition, modelMatrixCol1), dot(worldPosition, modelMatrixCol2), 1.0);"),e.entityOffsetsEnabled&&s.push(" worldPosition.xyz = worldPosition.xyz + offset;"),s.push("vec4 viewPosition = viewMatrix * worldPosition; "),s.push("vColor = vec4(float(color.r) / 255.0, float(color.g) / 255.0, float(color.b) / 255.0, float(color.a) / 255.0);"),t&&(s.push("vWorldPosition = worldPosition;"),s.push("vFlags = flags;")),s.push("vec4 clipPos = projMatrix * viewPosition;"),e.logarithmicDepthBufferEnabled&&s.push("vFragDepth = 1.0 + clipPos.w;"),s.push("gl_Position = clipPos;"),s.push("}"),s.push("}"),s}_buildFragmentShader(){const e=this._scene,t=e._sectionPlanesState;let s,n;const i=t.getNumAllocatedSectionPlanes()>0,a=[];if(a.push("#version 300 es"),a.push("// Lines instancing color fragment shader"),a.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),a.push("precision highp float;"),a.push("precision highp int;"),a.push("#else"),a.push("precision mediump float;"),a.push("precision mediump int;"),a.push("#endif"),e.logarithmicDepthBufferEnabled&&(a.push("uniform float logDepthBufFC;"),a.push("in float vFragDepth;")),i)for(a.push("in vec4 vWorldPosition;"),a.push("in float vFlags;"),s=0,n=t.getNumAllocatedSectionPlanes();s> 16 & 0xF) == 1;"),a.push(" if (clippable) {"),a.push(" float dist = 0.0;"),s=0,n=t.getNumAllocatedSectionPlanes();s 0.0) { discard; }"),a.push("}")}return this._withSAO?(a.push(" float viewportWidth = uSAOParams[0];"),a.push(" float viewportHeight = uSAOParams[1];"),a.push(" float blendCutoff = uSAOParams[2];"),a.push(" float blendFactor = uSAOParams[3];"),a.push(" vec2 uv = vec2(gl_FragCoord.x / viewportWidth, gl_FragCoord.y / viewportHeight);"),a.push(" float ambient = smoothstep(blendCutoff, 1.0, unpackRGBAToDepth(texture(uOcclusionTexture, uv))) * blendFactor;"),a.push(" outColor = vec4(vColor.rgb * ambient, vColor.a);")):a.push(" outColor = vColor;"),e.logarithmicDepthBufferEnabled&&a.push("gl_FragDepth = log2( vFragDepth ) * logDepthBufFC * 0.5;"),a.push("}"),a}}class yo extends Er{drawLayer(e,t,s){super.drawLayer(e,t,s,{colorUniform:!0})}_buildVertexShader(){const e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,s=[];return s.push("#version 300 es"),s.push("// Lines instancing silhouette vertex shader"),s.push("uniform int renderPass;"),s.push("in vec3 position;"),e.entityOffsetsEnabled&&s.push("in vec3 offset;"),s.push("in float flags;"),s.push("in vec4 modelMatrixCol0;"),s.push("in vec4 modelMatrixCol1;"),s.push("in vec4 modelMatrixCol2;"),this._addMatricesUniformBlockLines(s),e.logarithmicDepthBufferEnabled&&(s.push("uniform float logDepthBufFC;"),s.push("out float vFragDepth;")),s.push("uniform vec4 color;"),t&&(s.push("out vec4 vWorldPosition;"),s.push("out float vFlags;")),s.push("void main(void) {"),s.push("int silhouetteFlag = int(flags) >> 4 & 0xF;"),s.push("if (silhouetteFlag != renderPass) {"),s.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),s.push("} else {"),s.push("vec4 worldPosition = positionsDecodeMatrix * vec4(position, 1.0); "),s.push("worldPosition = worldMatrix * vec4(dot(worldPosition, modelMatrixCol0), dot(worldPosition, modelMatrixCol1), dot(worldPosition, modelMatrixCol2), 1.0);"),e.entityOffsetsEnabled&&s.push(" worldPosition.xyz = worldPosition.xyz + offset;"),s.push("vec4 viewPosition = viewMatrix * worldPosition; "),t&&(s.push("vWorldPosition = worldPosition;"),s.push("vFlags = flags;")),s.push("vec4 clipPos = projMatrix * viewPosition;"),e.logarithmicDepthBufferEnabled&&s.push("vFragDepth = 1.0 + clipPos.w;"),s.push("gl_Position = clipPos;"),s.push("}"),s.push("}"),s}_buildFragmentShader(){const e=this._scene,t=e._sectionPlanesState,s=t.getNumAllocatedSectionPlanes()>0,n=[];if(n.push("#version 300 es"),n.push("// Lines instancing silhouette fragment shader"),n.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),n.push("precision highp float;"),n.push("precision highp int;"),n.push("#else"),n.push("precision mediump float;"),n.push("precision mediump int;"),n.push("#endif"),e.logarithmicDepthBufferEnabled&&(n.push("uniform float logDepthBufFC;"),n.push("in float vFragDepth;")),s){n.push("in vec4 vWorldPosition;"),n.push("in float vFlags;");for(let e=0,s=t.getNumAllocatedSectionPlanes();e> 16 & 0xF) == 1;"),n.push(" if (clippable) {"),n.push(" float dist = 0.0;");for(let e=0,s=t.getNumAllocatedSectionPlanes();e 0.0) { discard; }"),n.push("}")}return e.logarithmicDepthBufferEnabled&&n.push("gl_FragDepth = log2( vFragDepth ) * logDepthBufFC * 0.5;"),n.push("outColor = color;"),n.push("}"),n}}class mo{constructor(e){this._scene=e}_compile(){this._colorRenderer&&!this._colorRenderer.getValid()&&(this._colorRenderer.destroy(),this._colorRenderer=null),this._silhouetteRenderer&&!this._silhouetteRenderer.getValid()&&(this._silhouetteRenderer.destroy(),this._silhouetteRenderer=null)}get colorRenderer(){return this._colorRenderer||(this._colorRenderer=new Io(this._scene)),this._colorRenderer}get silhouetteRenderer(){return this._silhouetteRenderer||(this._silhouetteRenderer=new yo(this._scene)),this._silhouetteRenderer}_destroy(){this._colorRenderer&&this._colorRenderer.destroy(),this._silhouetteRenderer&&this._silhouetteRenderer.destroy()}}const vo={};const wo=new Uint8Array(4),go=new Float32Array(1);A.vec4([0,0,0,1]),A.vec4([0,0,0,1]),A.vec4([0,0,0,1]);const Eo=new Float32Array(3),To=new Float32Array(4);class bo{constructor(e){this.model=e.model,this.material=e.material,this.sortId="LinesInstancingLayer",this.layerIndex=e.layerIndex,this._linesInstancingRenderers=function(e){const t=e.id;let s=vo[t];return s||(s=new mo(e),vo[t]=s,s._compile(),e.on("compile",(()=>{s._compile()})),e.on("destroyed",(()=>{delete vo[t],s._destroy()}))),s}(e.model.scene),this._aabb=A.collapseAABB3(),this._state=new it({obb:A.OBB3(),numInstances:0,origin:null,geometry:e.geometry,positionsDecodeMatrix:e.geometry.positionsDecodeMatrix,positionsBuf:null,colorsBuf:null,flagsBuf:null,offsetsBuf:null,modelMatrixCol0Buf:null,modelMatrixCol1Buf:null,modelMatrixCol2Buf:null}),this._numPortions=0,this._numVisibleLayerPortions=0,this._numTransparentLayerPortions=0,this._numXRayedLayerPortions=0,this._numHighlightedLayerPortions=0,this._numSelectedLayerPortions=0,this._numClippableLayerPortions=0,this._numEdgesLayerPortions=0,this._numPickableLayerPortions=0,this._numCulledLayerPortions=0,this.numIndices=e.geometry.numIndices,this._colors=[],this._offsets=[],this._modelMatrixCol0=[],this._modelMatrixCol1=[],this._modelMatrixCol2=[],this._portions=[],e.origin&&(this._state.origin=A.vec3(e.origin)),this._finalized=!1}createPortion(e){const t=e.color,s=e.opacity,n=e.meshMatrix;if(this._finalized)throw"Already finalized";const i=t[0],a=t[1],r=t[2];t[3],this._colors.push(i),this._colors.push(a),this._colors.push(r),this._colors.push(s),this.model.scene.entityOffsetsEnabled&&(this._offsets.push(0),this._offsets.push(0),this._offsets.push(0)),this._modelMatrixCol0.push(n[0]),this._modelMatrixCol0.push(n[4]),this._modelMatrixCol0.push(n[8]),this._modelMatrixCol0.push(n[12]),this._modelMatrixCol1.push(n[1]),this._modelMatrixCol1.push(n[5]),this._modelMatrixCol1.push(n[9]),this._modelMatrixCol1.push(n[13]),this._modelMatrixCol2.push(n[2]),this._modelMatrixCol2.push(n[6]),this._modelMatrixCol2.push(n[10]),this._modelMatrixCol2.push(n[14]),this._state.numInstances++;const l=this._portions.length;return this._portions.push({}),this._numPortions++,this.model.numPortions++,l}finalize(){if(this._finalized)throw"Already finalized";const e=this.model.scene.canvas.gl,t=this._colors.length,s=t/4;if(t>0){let t=!1;this._state.colorsBuf=new He(e,e.ARRAY_BUFFER,new Uint8Array(this._colors),this._colors.length,4,e.DYNAMIC_DRAW,t),this._colors=[]}if(s>0){let t=!1;this._state.flagsBuf=new He(e,e.ARRAY_BUFFER,new Float32Array(s),s,1,e.DYNAMIC_DRAW,t)}if(this.model.scene.entityOffsetsEnabled&&this._offsets.length>0){const t=!1;this._state.offsetsBuf=new He(e,e.ARRAY_BUFFER,new Float32Array(this._offsets),this._offsets.length,3,e.DYNAMIC_DRAW,t),this._offsets=[]}if(this._modelMatrixCol0.length>0){const t=!1;this._state.modelMatrixCol0Buf=new He(e,e.ARRAY_BUFFER,new Float32Array(this._modelMatrixCol0),this._modelMatrixCol0.length,4,e.STATIC_DRAW,t),this._state.modelMatrixCol1Buf=new He(e,e.ARRAY_BUFFER,new Float32Array(this._modelMatrixCol1),this._modelMatrixCol1.length,4,e.STATIC_DRAW,t),this._state.modelMatrixCol2Buf=new He(e,e.ARRAY_BUFFER,new Float32Array(this._modelMatrixCol2),this._modelMatrixCol2.length,4,e.STATIC_DRAW,t),this._modelMatrixCol0=[],this._modelMatrixCol1=[],this._modelMatrixCol2=[]}this._state.geometry=null,this._finalized=!0}initFlags(e,t,s){t&X&&(this._numVisibleLayerPortions++,this.model.numVisibleLayerPortions++),t&te&&(this._numHighlightedLayerPortions++,this.model.numHighlightedLayerPortions++),t&ee&&(this._numXRayedLayerPortions++,this.model.numXRayedLayerPortions++),t&se&&(this._numSelectedLayerPortions++,this.model.numSelectedLayerPortions++),t&Z&&(this._numClippableLayerPortions++,this.model.numClippableLayerPortions++),t&ne&&(this._numEdgesLayerPortions++,this.model.numEdgesLayerPortions++),t&J&&(this._numPickableLayerPortions++,this.model.numPickableLayerPortions++),t&q&&(this._numCulledLayerPortions++,this.model.numCulledLayerPortions++),s&&(this._numTransparentLayerPortions++,this.model.numTransparentLayerPortions++),this._setFlags(e,t,s)}setVisible(e,t,s){if(!this._finalized)throw"Not finalized";t&X?(this._numVisibleLayerPortions++,this.model.numVisibleLayerPortions++):(this._numVisibleLayerPortions--,this.model.numVisibleLayerPortions--),this._setFlags(e,t,s)}setHighlighted(e,t,s){if(!this._finalized)throw"Not finalized";t&te?(this._numHighlightedLayerPortions++,this.model.numHighlightedLayerPortions++):(this._numHighlightedLayerPortions--,this.model.numHighlightedLayerPortions--),this._setFlags(e,t,s)}setXRayed(e,t,s){if(!this._finalized)throw"Not finalized";t&ee?(this._numXRayedLayerPortions++,this.model.numXRayedLayerPortions++):(this._numXRayedLayerPortions--,this.model.numXRayedLayerPortions--),this._setFlags(e,t,s)}setSelected(e,t,s){if(!this._finalized)throw"Not finalized";t&se?(this._numSelectedLayerPortions++,this.model.numSelectedLayerPortions++):(this._numSelectedLayerPortions--,this.model.numSelectedLayerPortions--),this._setFlags(e,t,s)}setEdges(e,t,s){if(!this._finalized)throw"Not finalized";t&ne?(this._numEdgesLayerPortions++,this.model.numEdgesLayerPortions++):(this._numEdgesLayerPortions--,this.model.numEdgesLayerPortions--),this._setFlags(e,t,s)}setClippable(e,t){if(!this._finalized)throw"Not finalized";t&Z?(this._numClippableLayerPortions++,this.model.numClippableLayerPortions++):(this._numClippableLayerPortions--,this.model.numClippableLayerPortions--),this._setFlags(e,t)}setCollidable(e,t){if(!this._finalized)throw"Not finalized"}setPickable(e,t,s){if(!this._finalized)throw"Not finalized";t&J?(this._numPickableLayerPortions++,this.model.numPickableLayerPortions++):(this._numPickableLayerPortions--,this.model.numPickableLayerPortions--),this._setFlags(e,t,s)}setCulled(e,t,s){if(!this._finalized)throw"Not finalized";t&q?(this._numCulledLayerPortions++,this.model.numCulledLayerPortions++):(this._numCulledLayerPortions--,this.model.numCulledLayerPortions--),this._setFlags(e,t,s)}setColor(e,t){if(!this._finalized)throw"Not finalized";wo[0]=t[0],wo[1]=t[1],wo[2]=t[2],wo[3]=t[3],this._state.colorsBuf.setData(wo,4*e,4)}setTransparent(e,t,s){s?(this._numTransparentLayerPortions++,this.model.numTransparentLayerPortions++):(this._numTransparentLayerPortions--,this.model.numTransparentLayerPortions--),this._setFlags(e,t,s)}_setFlags(e,t,s){if(!this._finalized)throw"Not finalized";const n=!!(t&X),i=!!(t&ee),a=!!(t&te),r=!!(t&se),l=!!(t&ne),o=!!(t&J),c=!!(t&q);let u,h;u=!n||c||i||a&&!this.model.scene.highlightMaterial.glowThrough||r&&!this.model.scene.selectedMaterial.glowThrough?lr.NOT_RENDERED:s?lr.COLOR_TRANSPARENT:lr.COLOR_OPAQUE,h=!n||c?lr.NOT_RENDERED:r?lr.SILHOUETTE_SELECTED:a?lr.SILHOUETTE_HIGHLIGHTED:i?lr.SILHOUETTE_XRAYED:lr.NOT_RENDERED;let p=0;p=!n||c?lr.NOT_RENDERED:r?lr.EDGES_SELECTED:a?lr.EDGES_HIGHLIGHTED:i?lr.EDGES_XRAYED:l?s?lr.EDGES_COLOR_TRANSPARENT:lr.EDGES_COLOR_OPAQUE:lr.NOT_RENDERED;let A=0;A|=u,A|=h<<4,A|=p<<8,A|=(n&&!c&&o?lr.PICK:lr.NOT_RENDERED)<<12,A|=(t&Z?255:0)<<16,go[0]=A,this._state.flagsBuf.setData(go,e)}setOffset(e,t){if(!this._finalized)throw"Not finalized";this.model.scene.entityOffsetsEnabled?(Eo[0]=t[0],Eo[1]=t[1],Eo[2]=t[2],this._state.offsetsBuf.setData(Eo,3*e,3)):this.model.error("Entity#offset not enabled for this Viewer")}setMatrix(e,t){if(!this._finalized)throw"Not finalized";const s=4*e;To[0]=t[0],To[1]=t[4],To[2]=t[8],To[3]=t[12],this._state.modelMatrixCol0Buf.setData(To,s),To[0]=t[1],To[1]=t[5],To[2]=t[9],To[3]=t[13],this._state.modelMatrixCol1Buf.setData(To,s),To[0]=t[2],To[1]=t[6],To[2]=t[10],To[3]=t[14],this._state.modelMatrixCol2Buf.setData(To,s)}drawColorOpaque(e,t){this._numCulledLayerPortions!==this._numPortions&&0!==this._numVisibleLayerPortions&&this._numTransparentLayerPortions!==this._numPortions&&this._numXRayedLayerPortions!==this._numPortions&&this._linesInstancingRenderers.colorRenderer&&this._linesInstancingRenderers.colorRenderer.drawLayer(t,this,lr.COLOR_OPAQUE)}drawColorTransparent(e,t){this._numCulledLayerPortions!==this._numPortions&&0!==this._numVisibleLayerPortions&&0!==this._numTransparentLayerPortions&&this._numXRayedLayerPortions!==this._numPortions&&this._linesInstancingRenderers.colorRenderer&&this._linesInstancingRenderers.colorRenderer.drawLayer(t,this,lr.COLOR_TRANSPARENT)}drawDepth(e,t){}drawNormals(e,t){}drawSilhouetteXRayed(e,t){this._numCulledLayerPortions!==this._numPortions&&0!==this._numVisibleLayerPortions&&0!==this._numXRayedLayerPortions&&this._linesInstancingRenderers.silhouetteRenderer&&this._linesInstancingRenderers.silhouetteRenderer.drawLayer(t,this,lr.SILHOUETTE_XRAYED)}drawSilhouetteHighlighted(e,t){this._numCulledLayerPortions!==this._numPortions&&0!==this._numVisibleLayerPortions&&0!==this._numHighlightedLayerPortions&&this._linesInstancingRenderers.silhouetteRenderer&&this._linesInstancingRenderers.silhouetteRenderer.drawLayer(t,this,lr.SILHOUETTE_HIGHLIGHTED)}drawSilhouetteSelected(e,t){this._numCulledLayerPortions!==this._numPortions&&0!==this._numVisibleLayerPortions&&0!==this._numSelectedLayerPortions&&this._linesInstancingRenderers.silhouetteRenderer&&this._linesInstancingRenderers.silhouetteRenderer.drawLayer(t,this,lr.SILHOUETTE_SELECTED)}drawEdgesColorOpaque(e,t){}drawEdgesColorTransparent(e,t){}drawEdgesXRayed(e,t){}drawEdgesHighlighted(e,t){}drawEdgesSelected(e,t){}drawOcclusion(e,t){}drawShadow(e,t){}drawPickMesh(e,t){}drawPickDepths(e,t){}drawPickNormals(e,t){}destroy(){const e=this._state;e.positionsBuf&&(e.positionsBuf.destroy(),e.positionsBuf=null),e.colorsBuf&&(e.colorsBuf.destroy(),e.colorsBuf=null),e.flagsBuf&&(e.flagsBuf.destroy(),e.flagsBuf=null),e.offsetsBuf&&(e.offsetsBuf.destroy(),e.offsetsBuf=null),e.modelMatrixCol0Buf&&(e.modelMatrixCol0Buf.destroy(),e.modelMatrixCol0Buf=null),e.modelMatrixCol1Buf&&(e.modelMatrixCol1Buf.destroy(),e.modelMatrixCol1Buf=null),e.modelMatrixCol2Buf&&(e.modelMatrixCol2Buf.destroy(),e.modelMatrixCol2Buf=null),e.destroy()}}class Do extends vr{_getHash(){return this._scene._sectionPlanesState.getHash()+this._scene.pointsMaterial.hash}drawLayer(e,t,s){super.drawLayer(e,t,s,{incrementDrawState:!0})}_buildVertexShader(){const e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,s=e.pointsMaterial,n=[];return n.push("#version 300 es"),n.push("// Points batching color vertex shader"),n.push("uniform int renderPass;"),n.push("in vec3 position;"),n.push("in vec4 color;"),n.push("in float flags;"),e.entityOffsetsEnabled&&n.push("in vec3 offset;"),this._addMatricesUniformBlockLines(n),n.push("uniform float pointSize;"),s.perspectivePoints&&n.push("uniform float nearPlaneHeight;"),s.filterIntensity&&n.push("uniform vec2 intensityRange;"),e.logarithmicDepthBufferEnabled&&(n.push("uniform float logDepthBufFC;"),n.push("out float vFragDepth;")),t&&(n.push("out vec4 vWorldPosition;"),n.push("out float vFlags;")),n.push("out vec4 vColor;"),n.push("void main(void) {"),n.push("int colorFlag = int(flags) & 0xF;"),n.push("if (colorFlag != renderPass) {"),n.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),n.push("} else {"),s.filterIntensity&&(n.push("float intensity = float(color.a) / 255.0;"),n.push("if (intensity < intensityRange[0] || intensity > intensityRange[1]) {"),n.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),n.push("} else {")),n.push("vec4 worldPosition = worldMatrix * (positionsDecodeMatrix * vec4(position, 1.0)); "),e.entityOffsetsEnabled&&n.push("worldPosition.xyz = worldPosition.xyz + offset;"),n.push("vec4 viewPosition = viewMatrix * worldPosition; "),n.push("vColor = vec4(float(color.r) / 255.0, float(color.g) / 255.0, float(color.b) / 255.0, 1.0);"),t&&(n.push("vWorldPosition = worldPosition;"),n.push("vFlags = flags;")),n.push("vec4 clipPos = projMatrix * viewPosition;"),e.logarithmicDepthBufferEnabled&&n.push("vFragDepth = 1.0 + clipPos.w;"),n.push("gl_Position = clipPos;"),s.perspectivePoints?(n.push("gl_PointSize = (nearPlaneHeight * pointSize) / clipPos.w;"),n.push("gl_PointSize = max(gl_PointSize, "+Math.floor(s.minPerspectivePointSize)+".0);"),n.push("gl_PointSize = min(gl_PointSize, "+Math.floor(s.maxPerspectivePointSize)+".0);")):n.push("gl_PointSize = pointSize;"),n.push("}"),s.filterIntensity&&n.push("}"),n.push("}"),n}_buildFragmentShader(){const e=this._scene,t=e._sectionPlanesState,s=t.getNumAllocatedSectionPlanes()>0,n=[];if(n.push("#version 300 es"),n.push("// Points batching color fragment shader"),n.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),n.push("precision highp float;"),n.push("precision highp int;"),n.push("#else"),n.push("precision mediump float;"),n.push("precision mediump int;"),n.push("#endif"),e.logarithmicDepthBufferEnabled&&(n.push("uniform float logDepthBufFC;"),n.push("in float vFragDepth;")),s){n.push("in vec4 vWorldPosition;"),n.push("in float vFlags;");for(let e=0,s=t.getNumAllocatedSectionPlanes();e 1.0) {"),n.push(" discard;"),n.push(" }")),s){n.push(" bool clippable = (int(vFlags) >> 16 & 0xF) == 1;"),n.push(" if (clippable) {"),n.push(" float dist = 0.0;");for(let e=0,s=t.getNumAllocatedSectionPlanes();e 0.0) { discard; }"),n.push("}")}return n.push(" outColor = vColor;"),e.logarithmicDepthBufferEnabled&&n.push("gl_FragDepth = log2( vFragDepth ) * logDepthBufFC * 0.5;"),n.push("}"),n}}class Po extends vr{_getHash(){return this._scene._sectionPlanesState.getHash()+this._scene.pointsMaterial.hash}drawLayer(e,t,s){super.drawLayer(e,t,s,{colorUniform:!0})}_buildVertexShader(){const e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,s=e.pointsMaterial._state,n=[];return n.push("#version 300 es"),n.push("// Points batching silhouette vertex shader"),n.push("uniform int renderPass;"),n.push("in vec3 position;"),e.entityOffsetsEnabled&&n.push("in vec3 offset;"),n.push("in float flags;"),this._addMatricesUniformBlockLines(n),n.push("uniform vec4 color;"),n.push("uniform float pointSize;"),s.perspectivePoints&&n.push("uniform float nearPlaneHeight;"),e.logarithmicDepthBufferEnabled&&(n.push("uniform float logDepthBufFC;"),n.push("out float vFragDepth;")),t&&(n.push("out vec4 vWorldPosition;"),n.push("out float vFlags;")),n.push("void main(void) {"),n.push("int silhouetteFlag = int(flags) >> 4 & 0xF;"),n.push("if (silhouetteFlag != renderPass) {"),n.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),n.push("} else {"),n.push(" vec4 worldPosition = worldMatrix * (positionsDecodeMatrix * vec4(position, 1.0)); "),e.entityOffsetsEnabled&&n.push(" worldPosition.xyz = worldPosition.xyz + offset;"),n.push("vec4 viewPosition = viewMatrix * worldPosition; "),t&&(n.push("vWorldPosition = worldPosition;"),n.push("vFlags = flags;")),n.push("vec4 clipPos = projMatrix * viewPosition;"),e.logarithmicDepthBufferEnabled&&n.push("vFragDepth = 1.0 + clipPos.w;"),n.push("gl_Position = clipPos;"),s.perspectivePoints?(n.push("gl_PointSize = (nearPlaneHeight * pointSize) / clipPos.w;"),n.push("gl_PointSize = max(gl_PointSize, "+Math.floor(s.minPerspectivePointSize)+".0);"),n.push("gl_PointSize = min(gl_PointSize, "+Math.floor(s.maxPerspectivePointSize)+".0);")):n.push("gl_PointSize = pointSize;"),n.push("}"),n.push("}"),n}_buildFragmentShader(){const e=this._scene,t=e._sectionPlanesState;let s,n;const i=t.getNumAllocatedSectionPlanes()>0,a=[];if(a.push("#version 300 es"),a.push("// Points batching silhouette vertex shader"),a.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),a.push("precision highp float;"),a.push("precision highp int;"),a.push("#else"),a.push("precision mediump float;"),a.push("precision mediump int;"),a.push("#endif"),e.logarithmicDepthBufferEnabled&&(a.push("uniform float logDepthBufFC;"),a.push("in float vFragDepth;")),i)for(a.push("in vec4 vWorldPosition;"),a.push("in float vFlags;"),s=0,n=t.getNumAllocatedSectionPlanes();s 1.0) {"),a.push(" discard;"),a.push(" }")),i){for(a.push(" bool clippable = (int(vFlags) >> 16 & 0xF) == 1;"),a.push(" if (clippable) {"),a.push(" float dist = 0.0;"),s=0,n=t.getNumAllocatedSectionPlanes();s 0.0) { discard; }"),a.push("}")}return e.logarithmicDepthBufferEnabled&&a.push("gl_FragDepth = log2( vFragDepth ) * logDepthBufFC * 0.5;"),a.push("outColor = color;"),a.push("}"),a}}class Ro extends vr{_getHash(){return this._scene._sectionPlanesState.getHash()+this._scene.pointsMaterial.hash}_buildVertexShader(){const e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,s=e.pointsMaterial._state,n=[];return n.push("#version 300 es"),n.push("// Points batching pick mesh vertex shader"),n.push("uniform int renderPass;"),n.push("in vec3 position;"),e.entityOffsetsEnabled&&n.push("in vec3 offset;"),n.push("in float flags;"),n.push("in vec4 pickColor;"),n.push("uniform bool pickInvisible;"),this._addMatricesUniformBlockLines(n),this._addRemapClipPosLines(n),n.push("uniform float pointSize;"),s.perspectivePoints&&n.push("uniform float nearPlaneHeight;"),e.logarithmicDepthBufferEnabled&&(n.push("uniform float logDepthBufFC;"),n.push("out float vFragDepth;")),t&&(n.push("out vec4 vWorldPosition;"),n.push("out float vFlags;")),n.push("out vec4 vPickColor;"),n.push("void main(void) {"),n.push("int pickFlag = int(flags) >> 12 & 0xF;"),n.push("if (pickFlag != renderPass) {"),n.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),n.push(" } else {"),n.push(" vec4 worldPosition = worldMatrix * (positionsDecodeMatrix * vec4(position, 1.0)); "),e.entityOffsetsEnabled&&n.push(" worldPosition.xyz = worldPosition.xyz + offset;"),n.push(" vec4 viewPosition = viewMatrix * worldPosition; "),n.push(" vPickColor = vec4(float(pickColor.r) / 255.0, float(pickColor.g) / 255.0, float(pickColor.b) / 255.0, float(pickColor.a) / 255.0);"),t&&(n.push(" vWorldPosition = worldPosition;"),n.push(" vFlags = flags;")),n.push("vec4 clipPos = projMatrix * viewPosition;"),e.logarithmicDepthBufferEnabled&&n.push("vFragDepth = 1.0 + clipPos.w;"),n.push("gl_Position = remapClipPos(clipPos);"),s.perspectivePoints?(n.push("gl_PointSize = (nearPlaneHeight * pointSize) / clipPos.w;"),n.push("gl_PointSize = max(gl_PointSize, "+Math.floor(s.minPerspectivePointSize)+".0);"),n.push("gl_PointSize = min(gl_PointSize, "+Math.floor(s.maxPerspectivePointSize)+".0);")):n.push("gl_PointSize = pointSize;"),n.push("gl_PointSize += 10.0;"),n.push(" }"),n.push("}"),n}_buildFragmentShader(){const e=this._scene,t=e._sectionPlanesState,s=t.getNumAllocatedSectionPlanes()>0,n=[];if(n.push("#version 300 es"),n.push("// Points batching pick mesh vertex shader"),n.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),n.push("precision highp float;"),n.push("precision highp int;"),n.push("#else"),n.push("precision mediump float;"),n.push("precision mediump int;"),n.push("#endif"),e.logarithmicDepthBufferEnabled&&(n.push("uniform float logDepthBufFC;"),n.push("in float vFragDepth;")),s){n.push("in vec4 vWorldPosition;"),n.push("in float vFlags;");for(var i=0;i 1.0) {"),n.push(" discard;"),n.push(" }")),s){n.push(" bool clippable = (int(vFlags) >> 16 & 0xF) == 1;"),n.push(" if (clippable) {"),n.push(" float dist = 0.0;");for(let e=0;e 0.0) { discard; }"),n.push(" }")}return e.logarithmicDepthBufferEnabled&&n.push("gl_FragDepth = log2( vFragDepth ) * logDepthBufFC * 0.5;"),n.push(" outColor = vPickColor; "),n.push("}"),n}}class Co extends vr{_getHash(){return this._scene._sectionPlanesState.getHash()+this._scene.pointsMaterial.hash}_buildVertexShader(){const e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,s=e.pointsMaterial._state,n=[];return n.push("#version 300 es"),n.push("// Points batched pick depth vertex shader"),n.push("uniform int renderPass;"),n.push("in vec3 position;"),e.entityOffsetsEnabled&&n.push("in vec3 offset;"),n.push("in float flags;"),n.push("uniform bool pickInvisible;"),this._addMatricesUniformBlockLines(n),this._addRemapClipPosLines(n),n.push("uniform float pointSize;"),s.perspectivePoints&&n.push("uniform float nearPlaneHeight;"),e.logarithmicDepthBufferEnabled&&(n.push("uniform float logDepthBufFC;"),n.push("out float vFragDepth;")),t&&(n.push("out vec4 vWorldPosition;"),n.push("out float vFlags;")),n.push("out vec4 vViewPosition;"),n.push("void main(void) {"),n.push("int pickFlag = int(flags) >> 12 & 0xF;"),n.push("if (pickFlag != renderPass) {"),n.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),n.push(" } else {"),n.push(" vec4 worldPosition = worldMatrix * (positionsDecodeMatrix * vec4(position, 1.0)); "),e.entityOffsetsEnabled&&n.push(" worldPosition.xyz = worldPosition.xyz + offset;"),n.push(" vec4 viewPosition = viewMatrix * worldPosition; "),t&&(n.push(" vWorldPosition = worldPosition;"),n.push(" vFlags = flags;")),n.push("vViewPosition = viewPosition;"),n.push("vec4 clipPos = projMatrix * viewPosition;"),e.logarithmicDepthBufferEnabled&&n.push("vFragDepth = 1.0 + clipPos.w;"),n.push("gl_Position = remapClipPos(clipPos);"),s.perspectivePoints?(n.push("gl_PointSize = (nearPlaneHeight * pointSize) / clipPos.w;"),n.push("gl_PointSize = max(gl_PointSize, "+Math.floor(s.minPerspectivePointSize)+".0);"),n.push("gl_PointSize = min(gl_PointSize, "+Math.floor(s.maxPerspectivePointSize)+".0);")):n.push("gl_PointSize = pointSize;"),n.push("gl_PointSize += 10.0;"),n.push(" }"),n.push("}"),n}_buildFragmentShader(){const e=this._scene,t=e._sectionPlanesState,s=t.getNumAllocatedSectionPlanes()>0,n=[];if(n.push("#version 300 es"),n.push("// Points batched pick depth fragment shader"),n.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),n.push("precision highp float;"),n.push("precision highp int;"),n.push("#else"),n.push("precision mediump float;"),n.push("precision mediump int;"),n.push("#endif"),e.logarithmicDepthBufferEnabled&&(n.push("uniform float logDepthBufFC;"),n.push("in float vFragDepth;")),n.push("uniform float pickZNear;"),n.push("uniform float pickZFar;"),s){n.push("in vec4 vWorldPosition;"),n.push("in float vFlags;");for(let e=0;e 1.0) {"),n.push(" discard;"),n.push(" }")),s){n.push(" bool clippable = (int(vFlags) >> 16 & 0xF) == 1;"),n.push(" if (clippable) {"),n.push(" float dist = 0.0;");for(var i=0;i 0.0) { discard; }"),n.push(" }")}return e.logarithmicDepthBufferEnabled&&n.push("gl_FragDepth = log2( vFragDepth ) * logDepthBufFC * 0.5;"),n.push(" float zNormalizedDepth = abs((pickZNear + vViewPosition.z) / (pickZFar - pickZNear));"),n.push(" outColor = packDepth(zNormalizedDepth); "),n.push("}"),n}}class _o extends vr{_getHash(){return this._scene._sectionPlanesState.getHash()+this._scene.pointsMaterial.hash}_buildVertexShader(){const e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,s=e.pointsMaterial._state,n=[];return n.push("#version 300 es"),n.push("// Points batching occlusion vertex shader"),n.push("uniform int renderPass;"),n.push("in vec3 position;"),e.entityOffsetsEnabled&&n.push("in vec3 offset;"),n.push("in float flags;"),this._addMatricesUniformBlockLines(n),n.push("uniform float pointSize;"),s.perspectivePoints&&n.push("uniform float nearPlaneHeight;"),e.logarithmicDepthBufferEnabled&&(n.push("uniform float logDepthBufFC;"),n.push("out float vFragDepth;")),t&&(n.push("out vec4 vWorldPosition;"),n.push("out float vFlags;")),n.push("void main(void) {"),n.push("int colorFlag = int(flags) & 0xF;"),n.push("if (colorFlag != renderPass) {"),n.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),n.push(" } else {"),n.push(" vec4 worldPosition = worldMatrix * (positionsDecodeMatrix * vec4(position, 1.0)); "),e.entityOffsetsEnabled&&n.push(" worldPosition.xyz = worldPosition.xyz + offset;"),n.push(" vec4 viewPosition = viewMatrix * worldPosition; "),t&&(n.push(" vWorldPosition = worldPosition;"),n.push(" vFlags = flags;")),n.push("vec4 clipPos = projMatrix * viewPosition;"),e.logarithmicDepthBufferEnabled&&n.push("vFragDepth = 1.0 + clipPos.w;"),n.push(" gl_Position = clipPos;"),s.perspectivePoints?(n.push("gl_PointSize = (nearPlaneHeight * pointSize) / clipPos.w;"),n.push("gl_PointSize = max(gl_PointSize, "+Math.floor(s.minPerspectivePointSize)+".0);"),n.push("gl_PointSize = min(gl_PointSize, "+Math.floor(s.maxPerspectivePointSize)+".0);")):n.push("gl_PointSize = pointSize;"),n.push(" }"),n.push("}"),n}_buildFragmentShader(){const e=this._scene,t=e._sectionPlanesState,s=t.getNumAllocatedSectionPlanes()>0,n=[];if(n.push("#version 300 es"),n.push("// Points batching occlusion fragment shader"),n.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),n.push("precision highp float;"),n.push("precision highp int;"),n.push("#else"),n.push("precision mediump float;"),n.push("precision mediump int;"),n.push("#endif"),e.logarithmicDepthBufferEnabled&&(n.push("uniform float logDepthBufFC;"),n.push("in float vFragDepth;")),s){n.push("in vec4 vWorldPosition;"),n.push("in float vFlags;");for(let e=0;e 1.0) {"),n.push(" discard;"),n.push(" }")),s){n.push(" bool clippable = (int(vFlags) >> 16 & 0xF) == 1;"),n.push(" if (clippable) {"),n.push(" float dist = 0.0;");for(let e=0;e 0.0) { discard; }"),n.push(" }")}return e.logarithmicDepthBufferEnabled&&n.push("gl_FragDepth = log2( vFragDepth ) * logDepthBufFC * 0.5;"),n.push(" outColor = vec4(0.0, 0.0, 1.0, 1.0); "),n.push("}"),n}}class Bo{constructor(e){this._scene=e}_compile(){this._colorRenderer&&!this._colorRenderer.getValid()&&(this._colorRenderer.destroy(),this._colorRenderer=null),this._silhouetteRenderer&&!this._silhouetteRenderer.getValid()&&(this._silhouetteRenderer.destroy(),this._silhouetteRenderer=null),this._pickMeshRenderer&&!this._pickMeshRenderer.getValid()&&(this._pickMeshRenderer.destroy(),this._pickMeshRenderer=null),this._pickDepthRenderer&&!this._pickDepthRenderer.getValid()&&(this._pickDepthRenderer.destroy(),this._pickDepthRenderer=null),this._occlusionRenderer&&!1===this._occlusionRenderer.getValid()&&(this._occlusionRenderer.destroy(),this._occlusionRenderer=null)}get colorRenderer(){return this._colorRenderer||(this._colorRenderer=new Do(this._scene)),this._colorRenderer}get silhouetteRenderer(){return this._silhouetteRenderer||(this._silhouetteRenderer=new Po(this._scene)),this._silhouetteRenderer}get pickMeshRenderer(){return this._pickMeshRenderer||(this._pickMeshRenderer=new Ro(this._scene)),this._pickMeshRenderer}get pickDepthRenderer(){return this._pickDepthRenderer||(this._pickDepthRenderer=new Co(this._scene)),this._pickDepthRenderer}get occlusionRenderer(){return this._occlusionRenderer||(this._occlusionRenderer=new _o(this._scene)),this._occlusionRenderer}_destroy(){this._colorRenderer&&this._colorRenderer.destroy(),this._silhouetteRenderer&&this._silhouetteRenderer.destroy(),this._pickMeshRenderer&&this._pickMeshRenderer.destroy(),this._pickDepthRenderer&&this._pickDepthRenderer.destroy(),this._occlusionRenderer&&this._occlusionRenderer.destroy()}}const Oo={};class So{constructor(e=5e6){e>5e6&&(e=5e6),this.maxVerts=e,this.maxIndices=3*e,this.positions=[],this.colors=[],this.intensities=[],this.pickColors=[],this.offsets=[]}}A.vec4(),A.vec4(),A.vec4([0,0,0,1]),A.vec4([0,0,0,1]),A.vec4([0,0,0,1]),A.OBB3();class No{constructor(e){this.model=e.model,this.sortId="PointsBatchingLayer",this.layerIndex=e.layerIndex,this._pointsBatchingRenderers=function(e){const t=e.id;let s=Oo[t];return s||(s=new Bo(e),Oo[t]=s,s._compile(),e.on("compile",(()=>{s._compile()})),e.on("destroyed",(()=>{delete Oo[t],s._destroy()}))),s}(e.model.scene),this._buffer=new So(e.maxGeometryBatchSize),this._scratchMemory=e.scratchMemory,this._state=new it({positionsBuf:null,offsetsBuf:null,colorsBuf:null,flagsBuf:null,positionsDecodeMatrix:A.mat4(),origin:null}),this._numPortions=0,this._numVisibleLayerPortions=0,this._numTransparentLayerPortions=0,this._numXRayedLayerPortions=0,this._numSelectedLayerPortions=0,this._numHighlightedLayerPortions=0,this._numClippableLayerPortions=0,this._numPickableLayerPortions=0,this._numCulledLayerPortions=0,this._modelAABB=A.collapseAABB3(),this._portions=[],this._finalized=!1,e.positionsDecodeMatrix?(this._state.positionsDecodeMatrix.set(e.positionsDecodeMatrix),this._preCompressedPositionsExpected=!0):this._preCompressedPositionsExpected=!1,e.origin&&(this._state.origin=A.vec3(e.origin)),this.aabb=A.collapseAABB3()}canCreatePortion(e){if(this._finalized)throw"Already finalized";return this._buffer.positions.length+e<3*this._buffer.maxVerts}createPortion(e){if(this._finalized)throw"Already finalized";const t=e.positions,s=e.positionsCompressed,n=e.color,i=e.colorsCompressed,a=e.colors,r=e.pickColor,l=this._buffer,o=l.positions.length/3;let c;if(A.expandAABB3(this._modelAABB,e.aabb),this._preCompressedPositionsExpected){if(!s)throw"positionsCompressed expected";for(let e=0,t=s.length;e0)if(this._preCompressedPositionsExpected){const n=new Uint16Array(s.positions);e.positionsBuf=new He(t,t.ARRAY_BUFFER,n,s.positions.length,3,t.STATIC_DRAW)}else{const n=kr(new Float32Array(s.positions),this._modelAABB,e.positionsDecodeMatrix);e.positionsBuf=new He(t,t.ARRAY_BUFFER,n,s.positions.length,3,t.STATIC_DRAW)}if(s.colors.length>0){const n=new Uint8Array(s.colors);let i=!1;e.colorsBuf=new He(t,t.ARRAY_BUFFER,n,s.colors.length,4,t.STATIC_DRAW,i)}if(s.positions.length>0){const n=s.positions.length/3,i=new Float32Array(n);let a=!1;e.flagsBuf=new He(t,t.ARRAY_BUFFER,i,i.length,1,t.DYNAMIC_DRAW,a)}if(s.pickColors.length>0){const n=new Uint8Array(s.pickColors);let i=!1;e.pickColorsBuf=new He(t,t.ARRAY_BUFFER,n,s.pickColors.length,4,t.STATIC_DRAW,i)}if(this.model.scene.entityOffsetsEnabled&&s.offsets.length>0){const n=new Float32Array(s.offsets);e.offsetsBuf=new He(t,t.ARRAY_BUFFER,n,s.offsets.length,3,t.DYNAMIC_DRAW)}this._buffer=null,this._finalized=!0}initFlags(e,t,s){t&X&&(this._numVisibleLayerPortions++,this.model.numVisibleLayerPortions++),t&te&&(this._numHighlightedLayerPortions++,this.model.numHighlightedLayerPortions++),t&ee&&(this._numXRayedLayerPortions++,this.model.numXRayedLayerPortions++),t&se&&(this._numSelectedLayerPortions++,this.model.numSelectedLayerPortions++),t&Z&&(this._numClippableLayerPortions++,this.model.numClippableLayerPortions++),t&J&&(this._numPickableLayerPortions++,this.model.numPickableLayerPortions++),t&q&&(this._numCulledLayerPortions++,this.model.numCulledLayerPortions++),s&&(this._numTransparentLayerPortions++,this.model.numTransparentLayerPortions++),this._setFlags(e,t,s)}setVisible(e,t,s){if(!this._finalized)throw"Not finalized";t&X?(this._numVisibleLayerPortions++,this.model.numVisibleLayerPortions++):(this._numVisibleLayerPortions--,this.model.numVisibleLayerPortions--),this._setFlags(e,t,s)}setHighlighted(e,t,s){if(!this._finalized)throw"Not finalized";t&te?(this._numHighlightedLayerPortions++,this.model.numHighlightedLayerPortions++):(this._numHighlightedLayerPortions--,this.model.numHighlightedLayerPortions--),this._setFlags(e,t,s)}setXRayed(e,t,s){if(!this._finalized)throw"Not finalized";t&ee?(this._numXRayedLayerPortions++,this.model.numXRayedLayerPortions++):(this._numXRayedLayerPortions--,this.model.numXRayedLayerPortions--),this._setFlags(e,t,s)}setSelected(e,t,s){if(!this._finalized)throw"Not finalized";t&se?(this._numSelectedLayerPortions++,this.model.numSelectedLayerPortions++):(this._numSelectedLayerPortions--,this.model.numSelectedLayerPortions--),this._setFlags(e,t,s)}setEdges(e,t,s){if(!this._finalized)throw"Not finalized"}setClippable(e,t){if(!this._finalized)throw"Not finalized";t&Z?(this._numClippableLayerPortions++,this.model.numClippableLayerPortions++):(this._numClippableLayerPortions--,this.model.numClippableLayerPortions--),this._setFlags(e,t)}setCulled(e,t,s){if(!this._finalized)throw"Not finalized";t&q?(this._numCulledLayerPortions++,this.model.numCulledLayerPortions++):(this._numCulledLayerPortions--,this.model.numCulledLayerPortions--),this._setFlags(e,t,s)}setCollidable(e,t){if(!this._finalized)throw"Not finalized"}setPickable(e,t,s){if(!this._finalized)throw"Not finalized";t&J?(this._numPickableLayerPortions++,this.model.numPickableLayerPortions++):(this._numPickableLayerPortions--,this.model.numPickableLayerPortions--),this._setFlags(e,t,s)}setColor(e,t){if(!this._finalized)throw"Not finalized";const s=2*e,n=4*this._portions[s],i=4*this._portions[s+1],a=this._scratchMemory.getUInt8Array(i),r=t[0],l=t[1],o=t[2];for(let e=0;e0,s=e.pointsMaterial._state,n=[];return n.push("#version 300 es"),n.push("// Points instancing color vertex shader"),n.push("uniform int renderPass;"),n.push("in vec3 position;"),n.push("in vec4 color;"),n.push("in float flags;"),e.entityOffsetsEnabled&&n.push("in vec3 offset;"),n.push("in vec4 modelMatrixCol0;"),n.push("in vec4 modelMatrixCol1;"),n.push("in vec4 modelMatrixCol2;"),this._addMatricesUniformBlockLines(n),n.push("uniform float pointSize;"),s.perspectivePoints&&n.push("uniform float nearPlaneHeight;"),s.filterIntensity&&n.push("uniform vec2 intensityRange;"),e.logarithmicDepthBufferEnabled&&(n.push("uniform float logDepthBufFC;"),n.push("out float vFragDepth;")),t&&(n.push("out vec4 vWorldPosition;"),n.push("out float vFlags;")),n.push("out vec4 vColor;"),n.push("void main(void) {"),n.push("int colorFlag = int(flags) & 0xF;"),n.push("if (colorFlag != renderPass) {"),n.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),n.push("} else {"),s.filterIntensity&&(n.push("float intensity = float(color.a) / 255.0;"),n.push("if (intensity < intensityRange[0] || intensity > intensityRange[1]) {"),n.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),n.push("} else {")),n.push("vec4 worldPosition = positionsDecodeMatrix * vec4(position, 1.0); "),n.push("worldPosition = worldMatrix * vec4(dot(worldPosition, modelMatrixCol0), dot(worldPosition, modelMatrixCol1), dot(worldPosition, modelMatrixCol2), 1.0);"),e.entityOffsetsEnabled&&n.push(" worldPosition.xyz = worldPosition.xyz + offset;"),n.push("vec4 viewPosition = viewMatrix * worldPosition; "),n.push("vColor = vec4(float(color.r) / 255.0, float(color.g) / 255.0, float(color.b) / 255.0, 1.0);"),t&&(n.push("vWorldPosition = worldPosition;"),n.push("vFlags = flags;")),n.push("vec4 clipPos = projMatrix * viewPosition;"),e.logarithmicDepthBufferEnabled&&n.push("vFragDepth = 1.0 + clipPos.w;"),n.push("gl_Position = clipPos;"),s.perspectivePoints?(n.push("gl_PointSize = (nearPlaneHeight * pointSize) / clipPos.w;"),n.push("gl_PointSize = max(gl_PointSize, "+Math.floor(s.minPerspectivePointSize)+".0);"),n.push("gl_PointSize = min(gl_PointSize, "+Math.floor(s.maxPerspectivePointSize)+".0);")):n.push("gl_PointSize = pointSize;"),n.push("}"),s.filterIntensity&&n.push("}"),n.push("}"),n}_buildFragmentShader(){const e=this._scene,t=e._sectionPlanesState,s=t.getNumAllocatedSectionPlanes()>0,n=[];if(n.push("#version 300 es"),n.push("// Points instancing color fragment shader"),n.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),n.push("precision highp float;"),n.push("precision highp int;"),n.push("#else"),n.push("precision mediump float;"),n.push("precision mediump int;"),n.push("#endif"),e.logarithmicDepthBufferEnabled&&(n.push("uniform float logDepthBufFC;"),n.push("in float vFragDepth;")),s){n.push("in vec4 vWorldPosition;"),n.push("in float vFlags;");for(let e=0,s=t.getNumAllocatedSectionPlanes();e 1.0) {"),n.push(" discard;"),n.push(" }")),s){n.push(" bool clippable = (int(vFlags) >> 16 & 0xF) == 1;"),n.push(" if (clippable) {"),n.push(" float dist = 0.0;");for(let e=0,s=t.getNumAllocatedSectionPlanes();e 0.0) { discard; }"),n.push("}")}return n.push(" outColor = vColor;"),e.logarithmicDepthBufferEnabled&&n.push("gl_FragDepth = log2( vFragDepth ) * logDepthBufFC * 0.5;"),n.push("}"),n}}class Lo extends wr{_getHash(){return this._scene._sectionPlanesState.getHash()+this._scene.pointsMaterial.hash}drawLayer(e,t,s){super.drawLayer(e,t,s,{colorUniform:!0})}_buildVertexShader(){const e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,s=e.pointsMaterial._state,n=[];return n.push("#version 300 es"),n.push("// Points instancing silhouette vertex shader"),n.push("uniform int renderPass;"),n.push("in vec3 position;"),e.entityOffsetsEnabled&&n.push("in vec3 offset;"),n.push("in float flags;"),n.push("in vec4 color;"),n.push("in vec4 modelMatrixCol0;"),n.push("in vec4 modelMatrixCol1;"),n.push("in vec4 modelMatrixCol2;"),this._addMatricesUniformBlockLines(n),n.push("uniform float pointSize;"),s.perspectivePoints&&n.push("uniform float nearPlaneHeight;"),e.logarithmicDepthBufferEnabled&&(n.push("uniform float logDepthBufFC;"),n.push("out float vFragDepth;")),n.push("uniform vec4 silhouetteColor;"),t&&(n.push("out vec4 vWorldPosition;"),n.push("out float vFlags;")),n.push("out vec4 vColor;"),n.push("void main(void) {"),n.push("int silhouetteFlag = int(flags) >> 4 & 0xF;"),n.push("if (silhouetteFlag != renderPass) {"),n.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),n.push("} else {"),n.push("vec4 worldPosition = positionsDecodeMatrix * vec4(position, 1.0); "),n.push("worldPosition = worldMatrix * vec4(dot(worldPosition, modelMatrixCol0), dot(worldPosition, modelMatrixCol1), dot(worldPosition, modelMatrixCol2), 1.0);"),e.entityOffsetsEnabled&&n.push(" worldPosition.xyz = worldPosition.xyz + offset;"),n.push("vec4 viewPosition = viewMatrix * worldPosition; "),t&&(n.push("vWorldPosition = worldPosition;"),n.push("vFlags = flags;")),n.push("vec4 clipPos = projMatrix * viewPosition;"),e.logarithmicDepthBufferEnabled&&n.push("vFragDepth = 1.0 + clipPos.w;"),n.push("vColor = vec4(float(silhouetteColor.r) / 255.0, float(silhouetteColor.g) / 255.0, float(silhouetteColor.b) / 255.0, float(color.a) / 255.0);"),n.push("gl_Position = clipPos;"),s.perspectivePoints?(n.push("gl_PointSize = (nearPlaneHeight * pointSize) / clipPos.w;"),n.push("gl_PointSize = max(gl_PointSize, "+Math.floor(s.minPerspectivePointSize)+".0);"),n.push("gl_PointSize = min(gl_PointSize, "+Math.floor(s.maxPerspectivePointSize)+".0);")):n.push("gl_PointSize = pointSize;"),n.push("}"),n.push("}"),n}_buildFragmentShader(){const e=this._scene,t=e._sectionPlanesState,s=t.getNumAllocatedSectionPlanes()>0,n=[];if(n.push("#version 300 es"),n.push("// Points instancing silhouette fragment shader"),n.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),n.push("precision highp float;"),n.push("precision highp int;"),n.push("#else"),n.push("precision mediump float;"),n.push("precision mediump int;"),n.push("#endif"),e.logarithmicDepthBufferEnabled&&(n.push("uniform float logDepthBufFC;"),n.push("in float vFragDepth;")),s){n.push("in vec4 vWorldPosition;"),n.push("in float vFlags;");for(let e=0,s=t.getNumAllocatedSectionPlanes();e 1.0) {"),n.push(" discard;"),n.push(" }")),s){n.push(" bool clippable = (int(vFlags) >> 16 & 0xF) == 1;"),n.push(" if (clippable) {"),n.push(" float dist = 0.0;");for(let e=0,s=t.getNumAllocatedSectionPlanes();e 0.0) { discard; }"),n.push("}")}return e.logarithmicDepthBufferEnabled&&n.push("gl_FragDepth = log2( vFragDepth ) * logDepthBufFC * 0.5;"),n.push("outColor = vColor;"),n.push("}"),n}}class Mo extends wr{_getHash(){return this._scene._sectionPlanesState.getHash()+this._scene.pointsMaterial.hash}_buildVertexShader(){const e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,s=e.pointsMaterial._state,n=[];return n.push("#version 300 es"),n.push("// Points instancing pick mesh vertex shader"),n.push("uniform int renderPass;"),n.push("in vec3 position;"),e.entityOffsetsEnabled&&n.push("in vec3 offset;"),n.push("in float flags;"),n.push("in vec4 pickColor;"),n.push("in vec4 modelMatrixCol0;"),n.push("in vec4 modelMatrixCol1;"),n.push("in vec4 modelMatrixCol2;"),n.push("uniform bool pickInvisible;"),this._addMatricesUniformBlockLines(n),this._addRemapClipPosLines(n),n.push("uniform float pointSize;"),s.perspectivePoints&&n.push("uniform float nearPlaneHeight;"),e.logarithmicDepthBufferEnabled&&(n.push("uniform float logDepthBufFC;"),n.push("out float vFragDepth;")),t&&(n.push("out vec4 vWorldPosition;"),n.push("out float vFlags;")),n.push("out vec4 vPickColor;"),n.push("void main(void) {"),n.push("int pickFlag = int(flags) >> 12 & 0xF;"),n.push("if (pickFlag != renderPass) {"),n.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),n.push("} else {"),n.push(" vec4 worldPosition = positionsDecodeMatrix * vec4(position, 1.0); "),n.push(" worldPosition = worldMatrix * vec4(dot(worldPosition, modelMatrixCol0), dot(worldPosition, modelMatrixCol1), dot(worldPosition, modelMatrixCol2), 1.0);"),e.entityOffsetsEnabled&&n.push(" worldPosition.xyz = worldPosition.xyz + offset;"),n.push(" vec4 viewPosition = viewMatrix * worldPosition; "),n.push(" vPickColor = vec4(float(pickColor.r) / 255.0, float(pickColor.g) / 255.0, float(pickColor.b) / 255.0, float(pickColor.a) / 255.0);"),t&&(n.push(" vWorldPosition = worldPosition;"),n.push(" vFlags = flags;")),n.push("vec4 clipPos = projMatrix * viewPosition;"),n.push("gl_Position = remapClipPos(clipPos);"),e.logarithmicDepthBufferEnabled&&n.push("vFragDepth = 1.0 + clipPos.w;"),s.perspectivePoints?(n.push("gl_PointSize = (nearPlaneHeight * pointSize) / clipPos.w;"),n.push("gl_PointSize = max(gl_PointSize, "+Math.floor(s.minPerspectivePointSize)+".0);"),n.push("gl_PointSize = min(gl_PointSize, "+Math.floor(s.maxPerspectivePointSize)+".0);")):n.push("gl_PointSize = pointSize;"),n.push("}"),n.push("}"),n}_buildFragmentShader(){const e=this._scene,t=e._sectionPlanesState,s=t.getNumAllocatedSectionPlanes()>0,n=[];if(n.push("#version 300 es"),n.push("// Points instancing pick mesh fragment shader"),n.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),n.push("precision highp float;"),n.push("precision highp int;"),n.push("#else"),n.push("precision mediump float;"),n.push("precision mediump int;"),n.push("#endif"),e.logarithmicDepthBufferEnabled&&(n.push("uniform float logDepthBufFC;"),n.push("in float vFragDepth;")),s){n.push("in vec4 vWorldPosition;"),n.push("in float vFlags;");for(let e=0;e 1.0) {"),n.push(" discard;"),n.push(" }")),s){n.push(" bool clippable = (int(vFlags) >> 16 & 0xF) == 1;"),n.push(" if (clippable) {"),n.push(" float dist = 0.0;");for(let e=0;e 0.0) { discard; }"),n.push("}")}return e.logarithmicDepthBufferEnabled&&n.push("gl_FragDepth = log2( vFragDepth ) * logDepthBufFC * 0.5;"),n.push("outColor = vPickColor; "),n.push("}"),n}}class Fo extends wr{_getHash(){return this._scene._sectionPlanesState.getHash()+this._scene.pointsMaterial.hash}_buildVertexShader(){const e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,s=e.pointsMaterial._state,n=[];return n.push("#version 300 es"),n.push("// Points instancing pick depth vertex shader"),n.push("uniform int renderPass;"),n.push("in vec3 position;"),e.entityOffsetsEnabled&&n.push("in vec3 offset;"),n.push("in float flags;"),n.push("in vec4 modelMatrixCol0;"),n.push("in vec4 modelMatrixCol1;"),n.push("in vec4 modelMatrixCol2;"),n.push("uniform bool pickInvisible;"),this._addMatricesUniformBlockLines(n),this._addRemapClipPosLines(n),n.push("uniform float pointSize;"),s.perspectivePoints&&n.push("uniform float nearPlaneHeight;"),e.logarithmicDepthBufferEnabled&&(n.push("uniform float logDepthBufFC;"),n.push("out float vFragDepth;")),t&&(n.push("out vec4 vWorldPosition;"),n.push("out float vFlags;")),n.push("out vec4 vViewPosition;"),n.push("void main(void) {"),n.push("int pickFlag = int(flags) >> 12 & 0xF;"),n.push("if (pickFlag != renderPass) {"),n.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),n.push("} else {"),n.push(" vec4 worldPosition = positionsDecodeMatrix * vec4(position, 1.0); "),n.push(" worldPosition = worldMatrix * vec4(dot(worldPosition, modelMatrixCol0), dot(worldPosition, modelMatrixCol1), dot(worldPosition, modelMatrixCol2), 1.0);"),e.entityOffsetsEnabled&&n.push(" worldPosition.xyz = worldPosition.xyz + offset;"),n.push(" vec4 viewPosition = viewMatrix * worldPosition; "),t&&(n.push(" vWorldPosition = worldPosition;"),n.push(" vFlags = flags;")),n.push(" vViewPosition = viewPosition;"),n.push("vec4 clipPos = projMatrix * viewPosition;"),n.push("gl_Position = remapClipPos(clipPos);"),e.logarithmicDepthBufferEnabled&&n.push("vFragDepth = 1.0 + clipPos.w;"),n.push("gl_Position = remapClipPos(clipPos);"),s.perspectivePoints?(n.push("gl_PointSize = (nearPlaneHeight * pointSize) / clipPos.w;"),n.push("gl_PointSize = max(gl_PointSize, "+Math.floor(s.minPerspectivePointSize)+".0);"),n.push("gl_PointSize = min(gl_PointSize, "+Math.floor(s.maxPerspectivePointSize)+".0);")):n.push("gl_PointSize = pointSize;"),n.push("}"),n.push("}"),n}_buildFragmentShader(){const e=this._scene,t=e._sectionPlanesState,s=t.getNumAllocatedSectionPlanes()>0,n=[];if(n.push("#version 300 es"),n.push("// Points instancing pick depth fragment shader"),n.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),n.push("precision highp float;"),n.push("precision highp int;"),n.push("#else"),n.push("precision mediump float;"),n.push("precision mediump int;"),n.push("#endif"),e.logarithmicDepthBufferEnabled&&(n.push("uniform float logDepthBufFC;"),n.push("in float vFragDepth;")),n.push("uniform float pickZNear;"),n.push("uniform float pickZFar;"),s){n.push("in vec4 vWorldPosition;"),n.push("in float vFlags;");for(let e=0;e 1.0) {"),n.push(" discard;"),n.push(" }")),s){n.push(" bool clippable = (int(vFlags) >> 16 & 0xF) == 1;"),n.push(" if (clippable) {"),n.push(" float dist = 0.0;");for(let e=0;e 0.0) { discard; }"),n.push("}")}return e.logarithmicDepthBufferEnabled&&n.push("gl_FragDepth = log2( vFragDepth ) * logDepthBufFC * 0.5;"),n.push(" float zNormalizedDepth = abs((pickZNear + vViewPosition.z) / (pickZFar - pickZNear));"),n.push(" outColor = packDepth(zNormalizedDepth); "),n.push("}"),n}}class Ho extends wr{_getHash(){return this._scene._sectionPlanesState.getHash()+this._scene.pointsMaterial.hash}_buildVertexShader(){const e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,s=e.pointsMaterial._state,n=[];return n.push("#version 300 es"),n.push("// Points instancing occlusion vertex shader"),n.push("uniform int renderPass;"),n.push("in vec3 position;"),e.entityOffsetsEnabled&&n.push("in vec3 offset;"),n.push("in vec4 color;"),n.push("in float flags;"),n.push("in vec4 modelMatrixCol0;"),n.push("in vec4 modelMatrixCol1;"),n.push("in vec4 modelMatrixCol2;"),this._addMatricesUniformBlockLines(n),n.push("uniform float pointSize;"),s.perspectivePoints&&n.push("uniform float nearPlaneHeight;"),e.logarithmicDepthBufferEnabled&&(n.push("uniform float logDepthBufFC;"),n.push("out float vFragDepth;")),t&&(n.push("out vec4 vWorldPosition;"),n.push("out float vFlags;")),n.push("void main(void) {"),n.push("int colorFlag = int(flags) & 0xF;"),n.push("if (colorFlag != renderPass) {"),n.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),n.push("} else {"),n.push(" vec4 worldPosition = positionsDecodeMatrix * vec4(position, 1.0); "),n.push(" worldPosition = worldMatrix * vec4(dot(worldPosition, modelMatrixCol0), dot(worldPosition, modelMatrixCol1), dot(worldPosition, modelMatrixCol2), 1.0);"),e.entityOffsetsEnabled&&n.push(" worldPosition.xyz = worldPosition.xyz + offset;"),n.push(" vec4 viewPosition = viewMatrix * worldPosition; "),t&&(n.push(" vWorldPosition = worldPosition;"),n.push("vFlags = flags;")),n.push("vec4 clipPos = projMatrix * viewPosition;"),e.logarithmicDepthBufferEnabled&&n.push("vFragDepth = 1.0 + clipPos.w;"),n.push("gl_Position = clipPos;"),s.perspectivePoints?(n.push("gl_PointSize = (nearPlaneHeight * pointSize) / clipPos.w;"),n.push("gl_PointSize = max(gl_PointSize, "+Math.floor(s.minPerspectivePointSize)+".0);"),n.push("gl_PointSize = min(gl_PointSize, "+Math.floor(s.maxPerspectivePointSize)+".0);")):n.push("gl_PointSize = pointSize;"),n.push("}"),n.push("}"),n}_buildFragmentShader(){const e=this._scene,t=e._sectionPlanesState,s=t.getNumAllocatedSectionPlanes()>0,n=[];if(n.push("#version 300 es"),n.push("// Points instancing occlusion vertex shader"),n.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),n.push("precision highp float;"),n.push("precision highp int;"),n.push("#else"),n.push("precision mediump float;"),n.push("precision mediump int;"),n.push("#endif"),e.logarithmicDepthBufferEnabled&&(n.push("uniform float logDepthBufFC;"),n.push("in float vFragDepth;")),s){n.push("in vec4 vWorldPosition;"),n.push("in float vFlags;");for(let e=0;e 1.0) {"),n.push(" discard;"),n.push(" }")),s){n.push(" bool clippable = (int(vFlags) >> 16 & 0xF) == 1;"),n.push(" if (clippable) {"),n.push(" float dist = 0.0;");for(let e=0;e 0.0) { discard; }"),n.push("}")}return n.push(" outColor = vec4(0.0, 0.0, 1.0, 1.0); "),e.logarithmicDepthBufferEnabled&&n.push("gl_FragDepth = log2( vFragDepth ) * logDepthBufFC * 0.5;"),n.push("}"),n}}class Uo extends wr{_getHash(){return this._scene._sectionPlanesState.getHash()+this._scene.pointsMaterial.hash}_buildVertexShader(){const e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,s=e.pointsMaterial._state,n=[];return n.push("#version 300 es"),n.push("// Points instancing depth vertex shader"),n.push("uniform int renderPass;"),n.push("in vec3 position;"),e.entityOffsetsEnabled&&n.push("in vec3 offset;"),n.push("in float flags;"),n.push("in vec4 modelMatrixCol0;"),n.push("in vec4 modelMatrixCol1;"),n.push("in vec4 modelMatrixCol2;"),this._addMatricesUniformBlockLines(n),n.push("uniform float pointSize;"),s.perspectivePoints&&n.push("uniform float nearPlaneHeight;"),e.logarithmicDepthBufferEnabled&&(n.push("uniform float logDepthBufFC;"),n.push("out float vFragDepth;")),t&&(n.push("out vec4 vWorldPosition;"),n.push("out float vFlags;")),n.push("void main(void) {"),n.push("int colorFlag = int(flags) & 0xF;"),n.push("if (colorFlag != renderPass) {"),n.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),n.push("} else {"),n.push(" vec4 worldPosition = positionsDecodeMatrix * vec4(position, 1.0); "),n.push(" worldPosition = worldMatrix * vec4(dot(worldPosition, modelMatrixCol0), dot(worldPosition, modelMatrixCol1), dot(worldPosition, modelMatrixCol2), 1.0);"),e.entityOffsetsEnabled&&n.push(" worldPosition.xyz = worldPosition.xyz + offset;"),n.push(" vec4 viewPosition = viewMatrix * worldPosition; "),t&&(n.push("vWorldPosition = worldPosition;"),n.push("vFlags = flags;")),n.push("vec4 clipPos = projMatrix * viewPosition;"),e.logarithmicDepthBufferEnabled&&n.push("vFragDepth = 1.0 + clipPos.w;"),n.push("gl_Position = clipPos;"),s.perspectivePoints?(n.push("gl_PointSize = (nearPlaneHeight * pointSize) / clipPos.w;"),n.push("gl_PointSize = max(gl_PointSize, "+Math.floor(s.minPerspectivePointSize)+".0);"),n.push("gl_PointSize = min(gl_PointSize, "+Math.floor(s.maxPerspectivePointSize)+".0);")):n.push("gl_PointSize = pointSize;"),n.push("}"),n.push("}"),n}_buildFragmentShader(){const e=this._scene,t=e._sectionPlanesState;let s,n;const i=t.getNumAllocatedSectionPlanes()>0,a=[];if(a.push("#version 300 es"),a.push("// Points instancing depth vertex shader"),a.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),a.push("precision highp float;"),a.push("precision highp int;"),a.push("#else"),a.push("precision mediump float;"),a.push("precision mediump int;"),a.push("#endif"),e.logarithmicDepthBufferEnabled&&(a.push("uniform float logDepthBufFC;"),a.push("in float vFragDepth;")),i)for(a.push("in vec4 vWorldPosition;"),a.push("in float vFlags;"),s=0,n=t.getNumAllocatedSectionPlanes();s 1.0) {"),a.push(" discard;"),a.push(" }")),i){for(a.push(" bool clippable = (int(vFlags) >> 16 & 0xF) == 1;"),a.push(" if (clippable) {"),a.push(" float dist = 0.0;"),s=0,n=t.getNumAllocatedSectionPlanes();s 0.0) { discard; }"),a.push("}")}return a.push(" outColor = packDepthToRGBA( gl_FragCoord.z); "),e.logarithmicDepthBufferEnabled&&a.push("gl_FragDepth = log2( vFragDepth ) * logDepthBufFC * 0.5;"),a.push("}"),a}}class Go extends wr{_buildVertexShader(){const e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,s=[];return s.push("#version 300 es"),s.push("// Instancing geometry shadow drawing vertex shader"),s.push("in vec3 position;"),e.entityOffsetsEnabled&&s.push("in vec3 offset;"),s.push("in vec4 color;"),s.push("in float flags;"),s.push("in vec4 modelMatrixCol0;"),s.push("in vec4 modelMatrixCol1;"),s.push("in vec4 modelMatrixCol2;"),s.push("uniform mat4 shadowViewMatrix;"),s.push("uniform mat4 shadowProjMatrix;"),this._addMatricesUniformBlockLines(s),s.push("uniform float pointSize;"),t&&(s.push("out vec4 vWorldPosition;"),s.push("out float vFlags;")),s.push("void main(void) {"),s.push("int colorFlag = int(flags) & 0xF;"),s.push("bool visible = (colorFlag > 0);"),s.push("bool transparent = ((float(color.a) / 255.0) < 1.0);"),s.push("if (!visible || transparent) {"),s.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),s.push("} else {"),s.push(" vec4 worldPosition = positionsDecodeMatrix * vec4(position, 1.0); "),s.push(" worldPosition = vec4(dot(worldPosition, modelMatrixCol0), dot(worldPosition, modelMatrixCol1), dot(worldPosition, modelMatrixCol2), 1.0);"),e.entityOffsetsEnabled&&s.push(" worldPosition.xyz = worldPosition.xyz + offset;"),s.push(" vec4 viewPosition = shadowViewMatrix * worldPosition; "),t&&(s.push("vWorldPosition = worldPosition;"),s.push("vFlags = flags;")),s.push(" gl_Position = shadowProjMatrix * viewPosition;"),s.push("}"),s.push("gl_PointSize = pointSize;"),s.push("}"),s}_buildFragmentShader(){const e=this._scene,t=e._sectionPlanesState,s=t.getNumAllocatedSectionPlanes()>0,n=[];if(n.push("#version 300 es"),n.push("// Instancing geometry depth drawing fragment shader"),n.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),n.push("precision highp float;"),n.push("precision highp int;"),n.push("#else"),n.push("precision mediump float;"),n.push("precision mediump int;"),n.push("#endif"),e.logarithmicDepthBufferEnabled&&(n.push("uniform float logDepthBufFC;"),n.push("in float vFragDepth;")),s){n.push("in vec4 vWorldPosition;"),n.push("in float vFlags;");for(let e=0,s=t.getNumAllocatedSectionPlanes();e 1.0) {"),n.push(" discard;"),n.push(" }"),s){n.push(" bool clippable = (int(vFlags) >> 16 & 0xF) == 1;"),n.push(" if (clippable) {"),n.push(" float dist = 0.0;");for(let e=0,s=t.getNumAllocatedSectionPlanes();e 0.0) { discard; }"),n.push("}")}return e.logarithmicDepthBufferEnabled&&n.push("gl_FragDepth = log2( vFragDepth ) * logDepthBufFC * 0.5;"),n.push(" outColor = vec4(packNormalToRGB(vViewNormal), 1.0); "),n.push("}"),n}}class jo{constructor(e){this._scene=e}_compile(){this._colorRenderer&&!this._colorRenderer.getValid()&&(this._colorRenderer.destroy(),this._colorRenderer=null),this._depthRenderer&&!this._depthRenderer.getValid()&&(this._depthRenderer.destroy(),this._depthRenderer=null),this._silhouetteRenderer&&!this._silhouetteRenderer.getValid()&&(this._silhouetteRenderer.destroy(),this._silhouetteRenderer=null),this._pickMeshRenderer&&!this._pickMeshRenderer.getValid()&&(this._pickMeshRenderer.destroy(),this._pickMeshRenderer=null),this._pickDepthRenderer&&!this._pickDepthRenderer.getValid()&&(this._pickDepthRenderer.destroy(),this._pickDepthRenderer=null),this._occlusionRenderer&&!1===this._occlusionRenderer.getValid()&&(this._occlusionRenderer.destroy(),this._occlusionRenderer=null),this._shadowRenderer&&!this._shadowRenderer.getValid()&&(this._shadowRenderer.destroy(),this._shadowRenderer=null)}get colorRenderer(){return this._colorRenderer||(this._colorRenderer=new xo(this._scene,!1)),this._colorRenderer}get silhouetteRenderer(){return this._silhouetteRenderer||(this._silhouetteRenderer=new Lo(this._scene)),this._silhouetteRenderer}get depthRenderer(){return this._depthRenderer||(this._depthRenderer=new Uo(this._scene)),this._depthRenderer}get pickMeshRenderer(){return this._pickMeshRenderer||(this._pickMeshRenderer=new Mo(this._scene)),this._pickMeshRenderer}get pickDepthRenderer(){return this._pickDepthRenderer||(this._pickDepthRenderer=new Fo(this._scene)),this._pickDepthRenderer}get occlusionRenderer(){return this._occlusionRenderer||(this._occlusionRenderer=new Ho(this._scene)),this._occlusionRenderer}get shadowRenderer(){return this._shadowRenderer||(this._shadowRenderer=new Go(this._scene)),this._shadowRenderer}_destroy(){this._colorRenderer&&this._colorRenderer.destroy(),this._depthRenderer&&this._depthRenderer.destroy(),this._silhouetteRenderer&&this._silhouetteRenderer.destroy(),this._pickMeshRenderer&&this._pickMeshRenderer.destroy(),this._pickDepthRenderer&&this._pickDepthRenderer.destroy(),this._occlusionRenderer&&this._occlusionRenderer.destroy(),this._shadowRenderer&&this._shadowRenderer.destroy()}}const Vo={};const ko=new Uint8Array(4),Qo=new Float32Array(1);A.vec4([0,0,0,1]),A.vec4([0,0,0,1]),A.vec4([0,0,0,1]);const Wo=new Float32Array(3),zo=new Float32Array(4);class Ko{constructor(e){this.model=e.model,this.material=e.material,this.sortId="PointsInstancingLayer",this.layerIndex=e.layerIndex,this._pointsInstancingRenderers=function(e){const t=e.id;let s=Vo[t];return s||(s=new jo(e),Vo[t]=s,s._compile(),e.on("compile",(()=>{s._compile()})),e.on("destroyed",(()=>{delete Vo[t],s._destroy()}))),s}(e.model.scene),this._aabb=A.collapseAABB3(),this._state=new it({obb:A.OBB3(),numInstances:0,origin:e.origin?A.vec3(e.origin):null,geometry:e.geometry,positionsDecodeMatrix:e.geometry.positionsDecodeMatrix,colorsBuf:null,flagsBuf:null,offsetsBuf:null,modelMatrixCol0Buf:null,modelMatrixCol1Buf:null,modelMatrixCol2Buf:null,pickColorsBuf:null}),this._numPortions=0,this._numVisibleLayerPortions=0,this._numTransparentLayerPortions=0,this._numXRayedLayerPortions=0,this._numHighlightedLayerPortions=0,this._numSelectedLayerPortions=0,this._numClippableLayerPortions=0,this._numEdgesLayerPortions=0,this._numPickableLayerPortions=0,this._numCulledLayerPortions=0,this.numIndices=e.geometry.numIndices,this._pickColors=[],this._offsets=[],this._modelMatrixCol0=[],this._modelMatrixCol1=[],this._modelMatrixCol2=[],this._portions=[],this._finalized=!1}createPortion(e){const t=e.meshMatrix,s=e.pickColor;if(this._finalized)throw"Already finalized";this.model.scene.entityOffsetsEnabled&&(this._offsets.push(0),this._offsets.push(0),this._offsets.push(0)),this._modelMatrixCol0.push(t[0]),this._modelMatrixCol0.push(t[4]),this._modelMatrixCol0.push(t[8]),this._modelMatrixCol0.push(t[12]),this._modelMatrixCol1.push(t[1]),this._modelMatrixCol1.push(t[5]),this._modelMatrixCol1.push(t[9]),this._modelMatrixCol1.push(t[13]),this._modelMatrixCol2.push(t[2]),this._modelMatrixCol2.push(t[6]),this._modelMatrixCol2.push(t[10]),this._modelMatrixCol2.push(t[14]),this._pickColors.push(s[0]),this._pickColors.push(s[1]),this._pickColors.push(s[2]),this._pickColors.push(s[3]),this._state.numInstances++;const n=this._portions.length;return this._portions.push({}),this._numPortions++,this.model.numPortions++,n}finalize(){if(this._finalized)throw"Already finalized";const e=this.model.scene.canvas.gl,t=this._pickColors.length/4,s=this._state,n=s.geometry;if(t>0){let n=!1;s.flagsBuf=new He(e,e.ARRAY_BUFFER,new Float32Array(t),t,1,e.DYNAMIC_DRAW,n)}if(this.model.scene.entityOffsetsEnabled&&this._offsets.length>0){const t=!1;s.offsetsBuf=new He(e,e.ARRAY_BUFFER,new Float32Array(this._offsets),this._offsets.length,3,e.DYNAMIC_DRAW,t),this._offsets=[]}if(n.positionsCompressed&&n.positionsCompressed.length>0){const t=!1;s.positionsBuf=new He(e,e.ARRAY_BUFFER,n.positionsCompressed,n.positionsCompressed.length,3,e.STATIC_DRAW,t),s.positionsDecodeMatrix=A.mat4(n.positionsDecodeMatrix)}if(n.colorsCompressed&&n.colorsCompressed.length>0){const t=new Uint8Array(n.colorsCompressed),i=!1;s.colorsBuf=new He(e,e.ARRAY_BUFFER,t,t.length,4,e.STATIC_DRAW,i)}if(this._modelMatrixCol0.length>0){const t=!1;s.modelMatrixCol0Buf=new He(e,e.ARRAY_BUFFER,new Float32Array(this._modelMatrixCol0),this._modelMatrixCol0.length,4,e.STATIC_DRAW,t),s.modelMatrixCol1Buf=new He(e,e.ARRAY_BUFFER,new Float32Array(this._modelMatrixCol1),this._modelMatrixCol1.length,4,e.STATIC_DRAW,t),s.modelMatrixCol2Buf=new He(e,e.ARRAY_BUFFER,new Float32Array(this._modelMatrixCol2),this._modelMatrixCol2.length,4,e.STATIC_DRAW,t),this._modelMatrixCol0=[],this._modelMatrixCol1=[],this._modelMatrixCol2=[]}if(this._pickColors.length>0){const t=!1;s.pickColorsBuf=new He(e,e.ARRAY_BUFFER,new Uint8Array(this._pickColors),this._pickColors.length,4,e.STATIC_DRAW,t),this._pickColors=[]}s.geometry=null,this._finalized=!0}initFlags(e,t,s){t&X&&(this._numVisibleLayerPortions++,this.model.numVisibleLayerPortions++),t&te&&(this._numHighlightedLayerPortions++,this.model.numHighlightedLayerPortions++),t&ee&&(this._numXRayedLayerPortions++,this.model.numXRayedLayerPortions++),t&se&&(this._numSelectedLayerPortions++,this.model.numSelectedLayerPortions++),t&Z&&(this._numClippableLayerPortions++,this.model.numClippableLayerPortions++),t&ne&&(this._numEdgesLayerPortions++,this.model.numEdgesLayerPortions++),t&J&&(this._numPickableLayerPortions++,this.model.numPickableLayerPortions++),t&q&&(this._numCulledLayerPortions++,this.model.numCulledLayerPortions++),s&&(this._numTransparentLayerPortions++,this.model.numTransparentLayerPortions++),this._setFlags(e,t,s)}setVisible(e,t,s){if(!this._finalized)throw"Not finalized";t&X?(this._numVisibleLayerPortions++,this.model.numVisibleLayerPortions++):(this._numVisibleLayerPortions--,this.model.numVisibleLayerPortions--),this._setFlags(e,t,s)}setHighlighted(e,t,s){if(!this._finalized)throw"Not finalized";t&te?(this._numHighlightedLayerPortions++,this.model.numHighlightedLayerPortions++):(this._numHighlightedLayerPortions--,this.model.numHighlightedLayerPortions--),this._setFlags(e,t,s)}setXRayed(e,t,s){if(!this._finalized)throw"Not finalized";t&ee?(this._numXRayedLayerPortions++,this.model.numXRayedLayerPortions++):(this._numXRayedLayerPortions--,this.model.numXRayedLayerPortions--),this._setFlags(e,t,s)}setSelected(e,t,s){if(!this._finalized)throw"Not finalized";t&se?(this._numSelectedLayerPortions++,this.model.numSelectedLayerPortions++):(this._numSelectedLayerPortions--,this.model.numSelectedLayerPortions--),this._setFlags(e,t,s)}setEdges(e,t,s){if(!this._finalized)throw"Not finalized";t&ne?(this._numEdgesLayerPortions++,this.model.numEdgesLayerPortions++):(this._numEdgesLayerPortions--,this.model.numEdgesLayerPortions--),this._setFlags(e,t,s)}setClippable(e,t){if(!this._finalized)throw"Not finalized";t&Z?(this._numClippableLayerPortions++,this.model.numClippableLayerPortions++):(this._numClippableLayerPortions--,this.model.numClippableLayerPortions--),this._setFlags(e,t)}setCollidable(e,t){if(!this._finalized)throw"Not finalized"}setPickable(e,t,s){if(!this._finalized)throw"Not finalized";t&J?(this._numPickableLayerPortions++,this.model.numPickableLayerPortions++):(this._numPickableLayerPortions--,this.model.numPickableLayerPortions--),this._setFlags(e,t,s)}setCulled(e,t,s){if(!this._finalized)throw"Not finalized";t&q?(this._numCulledLayerPortions++,this.model.numCulledLayerPortions++):(this._numCulledLayerPortions--,this.model.numCulledLayerPortions--),this._setFlags(e,t,s)}setColor(e,t){if(!this._finalized)throw"Not finalized";ko[0]=t[0],ko[1]=t[1],ko[2]=t[2],this._state.colorsBuf.setData(ko,3*e)}setTransparent(e,t,s){s?(this._numTransparentLayerPortions++,this.model.numTransparentLayerPortions++):(this._numTransparentLayerPortions--,this.model.numTransparentLayerPortions--),this._setFlags(e,t,s)}_setFlags(e,t,s){if(!this._finalized)throw"Not finalized";const n=!!(t&X),i=!!(t&ee),a=!!(t&te),r=!!(t&se),l=!!(t&ne),o=!!(t&J),c=!!(t&q);let u,h;u=!n||c||i||a&&!this.model.scene.highlightMaterial.glowThrough||r&&!this.model.scene.selectedMaterial.glowThrough?lr.NOT_RENDERED:s?lr.COLOR_TRANSPARENT:lr.COLOR_OPAQUE,h=!n||c?lr.NOT_RENDERED:r?lr.SILHOUETTE_SELECTED:a?lr.SILHOUETTE_HIGHLIGHTED:i?lr.SILHOUETTE_XRAYED:lr.NOT_RENDERED;let p=0;p=!n||c?lr.NOT_RENDERED:r?lr.EDGES_SELECTED:a?lr.EDGES_HIGHLIGHTED:i?lr.EDGES_XRAYED:l?s?lr.EDGES_COLOR_TRANSPARENT:lr.EDGES_COLOR_OPAQUE:lr.NOT_RENDERED;let A=0;A|=u,A|=h<<4,A|=p<<8,A|=(n&&!c&&o?lr.PICK:lr.NOT_RENDERED)<<12,A|=(t&Z?255:0)<<16,Qo[0]=A,this._state.flagsBuf.setData(Qo,e)}setOffset(e,t){if(!this._finalized)throw"Not finalized";this.model.scene.entityOffsetsEnabled?(Wo[0]=t[0],Wo[1]=t[1],Wo[2]=t[2],this._state.offsetsBuf.setData(Wo,3*e)):this.model.error("Entity#offset not enabled for this Viewer")}setMatrix(e,t){if(!this._finalized)throw"Not finalized";const s=4*e;zo[0]=t[0],zo[1]=t[4],zo[2]=t[8],zo[3]=t[12],this._state.modelMatrixCol0Buf.setData(zo,s),zo[0]=t[1],zo[1]=t[5],zo[2]=t[9],zo[3]=t[13],this._state.modelMatrixCol1Buf.setData(zo,s),zo[0]=t[2],zo[1]=t[6],zo[2]=t[10],zo[3]=t[14],this._state.modelMatrixCol2Buf.setData(zo,s)}drawColorOpaque(e,t){this._numCulledLayerPortions!==this._numPortions&&0!==this._numVisibleLayerPortions&&this._numTransparentLayerPortions!==this._numPortions&&this._numXRayedLayerPortions!==this._numPortions&&this._pointsInstancingRenderers.colorRenderer&&this._pointsInstancingRenderers.colorRenderer.drawLayer(t,this,lr.COLOR_OPAQUE)}drawColorTransparent(e,t){this._numCulledLayerPortions!==this._numPortions&&0!==this._numVisibleLayerPortions&&0!==this._numTransparentLayerPortions&&this._numXRayedLayerPortions!==this._numPortions&&this._pointsInstancingRenderers.colorRenderer&&this._pointsInstancingRenderers.colorRenderer.drawLayer(t,this,lr.COLOR_TRANSPARENT)}drawDepth(e,t){}drawNormals(e,t){}drawSilhouetteXRayed(e,t){this._numCulledLayerPortions!==this._numPortions&&0!==this._numVisibleLayerPortions&&0!==this._numXRayedLayerPortions&&this._pointsInstancingRenderers.silhouetteRenderer&&this._pointsInstancingRenderers.silhouetteRenderer.drawLayer(t,this,lr.SILHOUETTE_XRAYED)}drawSilhouetteHighlighted(e,t){this._numCulledLayerPortions!==this._numPortions&&0!==this._numVisibleLayerPortions&&0!==this._numHighlightedLayerPortions&&this._pointsInstancingRenderers.silhouetteRenderer&&this._pointsInstancingRenderers.silhouetteRenderer.drawLayer(t,this,lr.SILHOUETTE_HIGHLIGHTED)}drawSilhouetteSelected(e,t){this._numCulledLayerPortions!==this._numPortions&&0!==this._numVisibleLayerPortions&&0!==this._numSelectedLayerPortions&&this._pointsInstancingRenderers.silhouetteRenderer&&this._pointsInstancingRenderers.silhouetteRenderer.drawLayer(t,this,lr.SILHOUETTE_SELECTED)}drawEdgesColorOpaque(e,t){}drawEdgesColorTransparent(e,t){}drawEdgesHighlighted(e,t){}drawEdgesSelected(e,t){}drawEdgesXRayed(e,t){}drawOcclusion(e,t){this._numCulledLayerPortions!==this._numPortions&&0!==this._numVisibleLayerPortions&&this._pointsInstancingRenderers.occlusionRenderer&&this._pointsInstancingRenderers.occlusionRenderer.drawLayer(t,this,lr.COLOR_OPAQUE)}drawShadow(e,t){}drawPickMesh(e,t){this._numCulledLayerPortions!==this._numPortions&&0!==this._numVisibleLayerPortions&&this._pointsInstancingRenderers.pickMeshRenderer&&this._pointsInstancingRenderers.pickMeshRenderer.drawLayer(t,this,lr.PICK)}drawPickDepths(e,t){this._numCulledLayerPortions!==this._numPortions&&0!==this._numVisibleLayerPortions&&this._pointsInstancingRenderers.pickDepthRenderer&&this._pointsInstancingRenderers.pickDepthRenderer.drawLayer(t,this,lr.PICK)}drawPickNormals(e,t){}destroy(){const e=this._state;e.colorsBuf&&(e.colorsBuf.destroy(),e.colorsBuf=null),e.flagsBuf&&(e.flagsBuf.destroy(),e.flagsBuf=null),e.offsetsBuf&&(e.offsetsBuf.destroy(),e.offsetsBuf=null),e.modelMatrixCol0Buf&&(e.modelMatrixCol0Buf.destroy(),e.modelMatrixCol0Buf=null),e.modelMatrixCol1Buf&&(e.modelMatrixCol1Buf.destroy(),e.modelMatrixCol1Buf=null),e.modelMatrixCol2Buf&&(e.modelMatrixCol2Buf.destroy(),e.modelMatrixCol2Buf=null),e.pickColorsBuf&&(e.pickColorsBuf.destroy(),e.pickColorsBuf=null),e.destroy()}}class Yo{constructor(e){this.id=e.id,this.colorTexture=e.colorTexture,this.metallicRoughnessTexture=e.metallicRoughnessTexture,this.normalsTexture=e.normalsTexture,this.emissiveTexture=e.emissiveTexture,this.occlusionTexture=e.occlusionTexture}destroy(){}}class Xo{constructor(e){this.id=e.id,this.texture=e.texture}destroy(){this.texture&&(this.texture.destroy(),this.texture=null)}}const qo={enabled:!1,files:{},add:function(e,t){!1!==this.enabled&&(this.files[e]=t)},get:function(e){if(!1!==this.enabled)return this.files[e]},remove:function(e){delete this.files[e]},clear:function(){this.files={}}};class Jo{constructor(e,t,s){this.isLoading=!1,this.itemsLoaded=0,this.itemsTotal=0,this.urlModifier=void 0,this.handlers=[],this.onStart=void 0,this.onLoad=e,this.onProgress=t,this.onError=s}itemStart(e){this.itemsTotal++,!1===this.isLoading&&void 0!==this.onStart&&this.onStart(e,this.itemsLoaded,this.itemsTotal),this.isLoading=!0}itemEnd(e){this.itemsLoaded++,void 0!==this.onProgress&&this.onProgress(e,this.itemsLoaded,this.itemsTotal),this.itemsLoaded===this.itemsTotal&&(this.isLoading=!1,void 0!==this.onLoad&&this.onLoad())}itemError(e){void 0!==this.onError&&this.onError(e)}resolveURL(e){return this.urlModifier?this.urlModifier(e):e}setURLModifier(e){return this.urlModifier=e,this}addHandler(e,t){return this.handlers.push(e,t),this}removeHandler(e){const t=this.handlers.indexOf(e);return-1!==t&&this.handlers.splice(t,2),this}getHandler(e){for(let t=0,s=this.handlers.length;t{t&&t(i),this.manager.itemEnd(e)}),0),i;if(void 0!==ec[e])return void ec[e].push({onLoad:t,onProgress:s,onError:n});ec[e]=[],ec[e].push({onLoad:t,onProgress:s,onError:n});const a=new Request(e,{headers:new Headers(this.requestHeader),credentials:this.withCredentials?"include":"same-origin"}),r=this.mimeType,l=this.responseType;fetch(a).then((t=>{if(200===t.status||0===t.status){if(0===t.status&&console.warn("FileLoader: HTTP Status 0 received."),"undefined"==typeof ReadableStream||void 0===t.body.getReader)return t;const s=ec[e],n=t.body.getReader(),i=t.headers.get("Content-Length"),a=i?parseInt(i):0,r=0!==a;let l=0;const o=new ReadableStream({start(e){!function t(){n.read().then((({done:n,value:i})=>{if(n)e.close();else{l+=i.byteLength;const n=new ProgressEvent("progress",{lengthComputable:r,loaded:l,total:a});for(let e=0,t=s.length;e{switch(l){case"arraybuffer":return e.arrayBuffer();case"blob":return e.blob();case"document":return e.text().then((e=>(new DOMParser).parseFromString(e,r)));case"json":return e.json();default:if(void 0===r)return e.text();{const t=/charset="?([^;"\s]*)"?/i.exec(r),s=t&&t[1]?t[1].toLowerCase():void 0,n=new TextDecoder(s);return e.arrayBuffer().then((e=>n.decode(e)))}}})).then((t=>{qo.add(e,t);const s=ec[e];delete ec[e];for(let e=0,n=s.length;e{const s=ec[e];if(void 0===s)throw this.manager.itemError(e),t;delete ec[e];for(let e=0,n=s.length;e{this.manager.itemEnd(e)})),this.manager.itemStart(e)}setResponseType(e){return this.responseType=e,this}setMimeType(e){return this.mimeType=e,this}}class sc{constructor(e=4){this.pool=e,this.queue=[],this.workers=[],this.workersResolve=[],this.workerStatus=0}_initWorker(e){if(!this.workers[e]){const t=this.workerCreator();t.addEventListener("message",this._onMessage.bind(this,e)),this.workers[e]=t}}_getIdleWorker(){for(let e=0;e{const n=this._getIdleWorker();-1!==n?(this._initWorker(n),this.workerStatus|=1<e.terminate())),this.workersResolve.length=0,this.workers.length=0,this.queue.length=0,this.workerStatus=0}}let nc=0;class ic{constructor({viewer:e,transcoderPath:t,workerLimit:s}){this._transcoderPath=t||"https://cdn.jsdelivr.net/npm/@xeokit/xeokit-sdk/dist/basis/",this._transcoderBinary=null,this._transcoderPending=null,this._workerPool=new sc,this._workerSourceURL="",s&&this._workerPool.setWorkerLimit(s);const n=e.capabilities;this._workerConfig={astcSupported:n.astcSupported,etc1Supported:n.etc1Supported,etc2Supported:n.etc2Supported,dxtSupported:n.dxtSupported,bptcSupported:n.bptcSupported,pvrtcSupported:n.pvrtcSupported},this._supportedFileTypes=["xkt2"]}_init(){if(!this._transcoderPending){const e=new tc;e.setPath(this._transcoderPath),e.setWithCredentials(this.withCredentials);const t=e.loadAsync("basis_transcoder.js"),s=new tc;s.setPath(this._transcoderPath),s.setResponseType("arraybuffer"),s.setWithCredentials(this.withCredentials);const n=s.loadAsync("basis_transcoder.wasm");this._transcoderPending=Promise.all([t,n]).then((([e,t])=>{const s=ic.BasisWorker.toString(),n=["/* constants */","let _EngineFormat = "+JSON.stringify(ic.EngineFormat),"let _TranscoderFormat = "+JSON.stringify(ic.TranscoderFormat),"let _BasisFormat = "+JSON.stringify(ic.BasisFormat),"/* basis_transcoder.js */",e,"/* worker */",s.substring(s.indexOf("{")+1,s.lastIndexOf("}"))].join("\n");this._workerSourceURL=URL.createObjectURL(new Blob([n])),this._transcoderBinary=t,this._workerPool.setWorkerCreator((()=>{const e=new Worker(this._workerSourceURL),t=this._transcoderBinary.slice(0);return e.postMessage({type:"init",config:this._workerConfig,transcoderBinary:t},[t]),e}))})),nc>0&&console.warn("KTX2TextureTranscoder: Multiple active KTX2TextureTranscoder may cause performance issues. Use a single KTX2TextureTranscoder instance, or call .dispose() on old instances."),nc++}return this._transcoderPending}transcode(e,t,s={}){return new Promise(((n,i)=>{const a=s;this._init().then((()=>this._workerPool.postMessage({type:"transcode",buffers:e,taskConfig:a},e))).then((e=>{const s=e.data,{mipmaps:a,width:r,height:l,format:o,type:c,error:u,dfdTransferFn:h,dfdFlags:p}=s;if("error"===c)return i(u);t.setCompressedData({mipmaps:a,props:{format:o,minFilter:1===a.length?1006:1008,magFilter:1===a.length?1006:1008,encoding:2===h?3001:3e3,premultiplyAlpha:!!(1&p)}}),n()}))}))}destroy(){URL.revokeObjectURL(this._workerSourceURL),this._workerPool.destroy(),nc--}}ic.BasisFormat={ETC1S:0,UASTC_4x4:1},ic.TranscoderFormat={ETC1:0,ETC2:1,BC1:2,BC3:3,BC4:4,BC5:5,BC7_M6_OPAQUE_ONLY:6,BC7_M5:7,PVRTC1_4_RGB:8,PVRTC1_4_RGBA:9,ASTC_4x4:10,ATC_RGB:11,ATC_RGBA_INTERPOLATED_ALPHA:12,RGBA32:13,RGB565:14,BGR565:15,RGBA4444:16},ic.EngineFormat={RGBAFormat:1023,RGBA_ASTC_4x4_Format:37808,RGBA_BPTC_Format:36492,RGBA_ETC2_EAC_Format:37496,RGBA_PVRTC_4BPPV1_Format:35842,RGBA_S3TC_DXT5_Format:33779,RGB_ETC1_Format:36196,RGB_ETC2_Format:37492,RGB_PVRTC_4BPPV1_Format:35840,RGB_S3TC_DXT1_Format:33776},ic.BasisWorker=function(){let e,t,s;const n=_EngineFormat,i=_TranscoderFormat,a=_BasisFormat;self.addEventListener("message",(function(r){const u=r.data;switch(u.type){case"init":e=u.config,h=u.transcoderBinary,t=new Promise((e=>{s={wasmBinary:h,onRuntimeInitialized:e},BASIS(s)})).then((()=>{s.initializeBasis(),void 0===s.KTX2File&&console.warn("KTX2TextureTranscoder: Please update Basis Universal transcoder.")}));break;case"transcode":t.then((()=>{try{const{width:t,height:r,hasAlpha:h,mipmaps:p,format:A,dfdTransferFn:d,dfdFlags:f}=function(t){const r=new s.KTX2File(new Uint8Array(t));function u(){r.close(),r.delete()}if(!r.isValid())throw u(),new Error("KTX2TextureTranscoder: Invalid or unsupported .ktx2 file");const h=r.isUASTC()?a.UASTC_4x4:a.ETC1S,p=r.getWidth(),A=r.getHeight(),d=r.getLevels(),f=r.getHasAlpha(),I=r.getDFDTransferFunc(),y=r.getDFDFlags(),{transcoderFormat:m,engineFormat:v}=function(t,s,r,u){let h,p;const A=t===a.ETC1S?l:o;for(let n=0;n{delete ac[t],s.destroy()}))),s} +class e{constructor(e,t){this.items=e||[],this._lastUniqueId=(t||0)+1}addItem(){let e;if(2===arguments.length){const t=arguments[0];if(e=arguments[1],this.items[t])throw"ID clash: '"+t+"'";return this.items[t]=e,t}for(e=arguments[0]||{};;){const t=this._lastUniqueId++;if(!this.items[t])return this.items[t]=e,t}}removeItem(e){const t=this.items[e];return delete this.items[e],t}}const t=new e;class s{constructor(e){this.id=e,this.parentItem=null,this.groups=[],this.menuElement=null,this.shown=!1,this.mouseOver=0}}class n{constructor(){this.items=[]}}class i{constructor(e,t,s,n,i){this.id=e,this.getTitle=t,this.doAction=s,this.getEnabled=n,this.getShown=i,this.itemElement=null,this.subMenu=null,this.enabled=!0}}class a{constructor(e={}){this._id=t.addItem(),this._context=null,this._enabled=!1,this._itemsCfg=[],this._rootMenu=null,this._menuList=[],this._menuMap={},this._itemList=[],this._itemMap={},this._shown=!1,this._nextId=0,this._eventSubs={},!1!==e.hideOnMouseDown&&(document.addEventListener("mousedown",(e=>{e.target.classList.contains("xeokit-context-menu-item")||this.hide()})),document.addEventListener("touchstart",this._canvasTouchStartHandler=e=>{e.target.classList.contains("xeokit-context-menu-item")||this.hide()})),e.items&&(this.items=e.items),this._hideOnAction=!1!==e.hideOnAction,this.context=e.context,this.enabled=!1!==e.enabled,this.hide()}on(e,t){let s=this._eventSubs[e];s||(s=[],this._eventSubs[e]=s),s.push(t)}fire(e,t){const s=this._eventSubs[e];if(s)for(let e=0,n=s.length;e{const a=this._getNextId(),r=new s(a);for(let s=0,a=e.length;s0,c=this._getNextId(),u=s.getTitle||(()=>s.title||""),h=s.doAction||s.callback||(()=>{}),p=s.getEnabled||(()=>!0),A=s.getShown||(()=>!0),d=new i(c,u,h,p,A);if(d.parentMenu=r,l.items.push(d),o){const e=t(n);d.subMenu=e,e.parentItem=d}this._itemList.push(d),this._itemMap[d.id]=d}}return this._menuList.push(r),this._menuMap[r.id]=r,r};this._rootMenu=t(e)}_getNextId(){return"ContextMenu_"+this._id+"_"+this._nextId++}_createUI(){const e=t=>{this._createMenuUI(t);const s=t.groups;for(let t=0,n=s.length;t'),s.push("
    "),t)for(let e=0,n=t.length;e'+o+" [MORE]"):s.push('
  • '+o+"
  • ")}}s.push("
"),s.push("");const n=s.join("");document.body.insertAdjacentHTML("beforeend",n);const i=document.querySelector("."+e.id);e.menuElement=i,i.style["border-radius"]="4px",i.style.display="none",i.style["z-index"]=3e5,i.style.background="white",i.style.border="1px solid black",i.style["box-shadow"]="0 4px 5px 0 gray",i.oncontextmenu=e=>{e.preventDefault()};const a=this;let r=null;if(t)for(let e=0,s=t.length;e{e.preventDefault();const s=t.subMenu;if(!s)return void(r&&(a._hideMenu(r.id),r=null));if(r&&r.id!==s.id&&(a._hideMenu(r.id),r=null),!1===t.enabled)return;const n=t.itemElement,i=s.menuElement,l=n.getBoundingClientRect();i.getBoundingClientRect();l.right+200>window.innerWidth?a._showMenu(s.id,l.left-200,l.top-1):a._showMenu(s.id,l.right-5,l.top-1),r=s})),n||(t.itemElement.addEventListener("click",(e=>{e.preventDefault(),a._context&&!1!==t.enabled&&(t.doAction&&t.doAction(a._context),this._hideOnAction?a.hide():(a._updateItemsTitles(),a._updateItemsEnabledStatus()))})),t.itemElement.addEventListener("mouseenter",(e=>{e.preventDefault(),!1!==t.enabled&&t.doHover&&t.doHover(a._context)})))):console.error("ContextMenu item element not found: "+t.id)}}}_updateItemsTitles(){if(this._context)for(let e=0,t=this._itemList.length;ewindow.innerHeight&&(s=window.innerHeight-n),t+i>window.innerWidth&&(t=window.innerWidth-i),e.style.left=t+"px",e.style.top=s+"px"}_hideMenuElement(e){e.style.display="none"}}class r{constructor(e,t={}){this.viewer=e,this.scene=this.viewer.scene,this._lensCursorDiv=document.createElement("div"),this.viewer.scene.canvas.canvas.parentNode.insertBefore(this._lensCursorDiv,this.viewer.scene.canvas.canvas),this._lensCursorDiv.style.background="pink",this._lensCursorDiv.style.border="2px solid red",this._lensCursorDiv.style.borderRadius="20px",this._lensCursorDiv.style.width="10px",this._lensCursorDiv.style.height="10px",this._lensCursorDiv.style.margin="-200px -200px",this._lensCursorDiv.style.zIndex="100000",this._lensCursorDiv.style.position="absolute",this._lensCursorDiv.style.pointerEvents="none",this._lensContainer=document.createElement("div"),this._lensContainer.style.border="1px solid black",this._lensContainer.style.background="white",this._lensContainer.style.borderRadius="50%",this._lensContainer.style.width="300px",this._lensContainer.style.height="300px",this._lensContainer.style.marginTop="85px",this._lensContainer.style.marginLeft="25px",this._lensContainer.style.zIndex="15000",this._lensContainer.style.position="absolute",this._lensContainer.style.pointerEvents="none",this._lensContainer.style.visibility="hidden",this._lensCanvas=document.createElement("canvas"),this._lensCanvas.style.borderRadius="50%",this._lensCanvas.style.width="300px",this._lensCanvas.style.height="300px",this._lensCanvas.style.zIndex="15000",this._lensCanvas.style.pointerEvents="none",document.body.appendChild(this._lensContainer),this._lensContainer.appendChild(this._lensCanvas),this._lensCanvasContext=this._lensCanvas.getContext("2d"),this._canvasElement=this.viewer.scene.canvas.canvas,this._canvasPos=null,this._snappedCanvasPos=null,this._lensPosToggle=!0,this._zoomLevel=t.zoomLevel||2,this._active=!1!==t.active,this._visible=!1,this._snapped=!1,this._onViewerRendering=this.viewer.scene.on("rendering",(()=>{this._active&&this._visible&&this.update()}))}update(){if(!this._active||!this._visible)return;if(!this._canvasPos)return;const e=this._lensContainer.getBoundingClientRect(),t=this._canvasElement.getBoundingClientRect(),s=this._canvasPos[0]e.left&&this._canvasPos[1]e.top;this._lensContainer.style.marginLeft="25px",s&&(this._lensPosToggle?this._lensContainer.style.marginTop=t.bottom-t.top-this._lensCanvas.height-85+"px":this._lensContainer.style.marginTop="85px",this._lensPosToggle=!this._lensPosToggle),this._lensCanvasContext.clearRect(0,0,this._lensCanvas.width,this._lensCanvas.height);const n=Math.max(this._lensCanvas.width,this._lensCanvas.height)/this._zoomLevel;this._lensCanvasContext.drawImage(this._canvasElement,this._canvasPos[0]-n/2,this._canvasPos[1]-n/2,n,n,0,0,this._lensCanvas.width,this._lensCanvas.height);const i=[(e.left+e.right)/2,(e.top+e.bottom)/2];if(this._snappedCanvasPos){const e=this._snappedCanvasPos[0]-this._canvasPos[0],t=this._snappedCanvasPos[1]-this._canvasPos[1];this._lensCursorDiv.style.marginLeft=i[0]+e*this._zoomLevel-10+"px",this._lensCursorDiv.style.marginTop=i[1]+t*this._zoomLevel-10+"px"}else this._lensCursorDiv.style.marginLeft=i[0]-10+"px",this._lensCursorDiv.style.marginTop=i[1]-10+"px"}set zoomFactor(e){this._zoomFactor=e,this.update()}get zoomFactor(){return this._zoomFactor}set canvasPos(e){this._canvasPos=e,this.update()}get canvasPos(){return this._canvasPos}set snappedCanvasPos(e){this._snappedCanvasPos=e,this.update()}get snappedCanvasPos(){return this._snappedCanvasPos}set snapped(e){this._snapped=e,e?(this._lensCursorDiv.style.background="greenyellow",this._lensCursorDiv.style.border="2px solid green"):(this._lensCursorDiv.style.background="pink",this._lensCursorDiv.style.border="2px solid red")}get snapped(){return this._snapped}set active(e){this._active=e,this._lensContainer.style.visibility=e&&this._visible?"visible":"hidden",e&&this._visible||(this._lensCursorDiv.style.marginLeft="-100px",this._lensCursorDiv.style.marginTop="-100px"),this.update()}get active(){return this._active}set visible(e){this._visible=e,this._lensContainer.style.visibility=e&&this._active?"visible":"hidden",e&&this._active||(this._lensCursorDiv.style.marginLeft="-100px",this._lensCursorDiv.style.marginTop="-100px"),this.update()}get visible(){return this._visible}destroy(){this._destroyed||(this.viewer.scene.off(this._onViewerRendering),this._lensContainer.removeChild(this._lensCanvas),document.body.removeChild(this._lensContainer),this._destroyed=!0)}}let l=!0,o=l?Float64Array:Float32Array;const c=new o(3),u=new o(16),h=new o(16),p=new o(4),A={setDoublePrecisionEnabled(e){l=e,o=l?Float64Array:Float32Array},getDoublePrecisionEnabled:()=>l,MIN_DOUBLE:-Number.MAX_SAFE_INTEGER,MAX_DOUBLE:Number.MAX_SAFE_INTEGER,MAX_INT:1e7,DEGTORAD:.0174532925,RADTODEG:57.295779513,unglobalizeObjectId(e,t){const s=t.indexOf("#");return s===e.length&&t.startsWith(e)?t.substring(s+1):t},globalizeObjectId:(e,t)=>e+"#"+t,safeInv(e){const t=1/e;return isNaN(t)||!isFinite(t)?1:t},vec2:e=>new o(e||2),vec3:e=>new o(e||3),vec4:e=>new o(e||4),mat3:e=>new o(e||9),mat3ToMat4:(e,t=new o(16))=>(t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=0,t[4]=e[3],t[5]=e[4],t[6]=e[5],t[7]=0,t[8]=e[6],t[9]=e[7],t[10]=e[8],t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t),mat4:e=>new o(e||16),mat4ToMat3(e,t){},doublesToFloats(e,t,s){const n=new o(2);for(let i=0,a=e.length;i{const e=[];for(let t=0;t<256;t++)e[t]=(t<16?"0":"")+t.toString(16);return()=>{const t=4294967295*Math.random()|0,s=4294967295*Math.random()|0,n=4294967295*Math.random()|0,i=4294967295*Math.random()|0;return`${e[255&t]+e[t>>8&255]+e[t>>16&255]+e[t>>24&255]}-${e[255&s]}${e[s>>8&255]}-${e[s>>16&15|64]}${e[s>>24&255]}-${e[63&n|128]}${e[n>>8&255]}-${e[n>>16&255]}${e[n>>24&255]}${e[255&i]}${e[i>>8&255]}${e[i>>16&255]}${e[i>>24&255]}`}})(),clamp:(e,t,s)=>Math.max(t,Math.min(s,e)),fmod(e,t){if(ee[0]===t[0]&&e[1]===t[1]&&e[2]===t[2],negateVec3:(e,t)=>(t||(t=e),t[0]=-e[0],t[1]=-e[1],t[2]=-e[2],t),negateVec4:(e,t)=>(t||(t=e),t[0]=-e[0],t[1]=-e[1],t[2]=-e[2],t[3]=-e[3],t),addVec4:(e,t,s)=>(s||(s=e),s[0]=e[0]+t[0],s[1]=e[1]+t[1],s[2]=e[2]+t[2],s[3]=e[3]+t[3],s),addVec4Scalar:(e,t,s)=>(s||(s=e),s[0]=e[0]+t,s[1]=e[1]+t,s[2]=e[2]+t,s[3]=e[3]+t,s),addVec3:(e,t,s)=>(s||(s=e),s[0]=e[0]+t[0],s[1]=e[1]+t[1],s[2]=e[2]+t[2],s),addVec3Scalar:(e,t,s)=>(s||(s=e),s[0]=e[0]+t,s[1]=e[1]+t,s[2]=e[2]+t,s),subVec4:(e,t,s)=>(s||(s=e),s[0]=e[0]-t[0],s[1]=e[1]-t[1],s[2]=e[2]-t[2],s[3]=e[3]-t[3],s),subVec3:(e,t,s)=>(s||(s=e),s[0]=e[0]-t[0],s[1]=e[1]-t[1],s[2]=e[2]-t[2],s),subVec2:(e,t,s)=>(s||(s=e),s[0]=e[0]-t[0],s[1]=e[1]-t[1],s),geometricMeanVec2(...e){const t=new o(e[0]);for(let s=1;s(s||(s=e),s[0]=e[0]-t,s[1]=e[1]-t,s[2]=e[2]-t,s[3]=e[3]-t,s),subScalarVec4:(e,t,s)=>(s||(s=e),s[0]=t-e[0],s[1]=t-e[1],s[2]=t-e[2],s[3]=t-e[3],s),mulVec4:(e,t,s)=>(s||(s=e),s[0]=e[0]*t[0],s[1]=e[1]*t[1],s[2]=e[2]*t[2],s[3]=e[3]*t[3],s),mulVec4Scalar:(e,t,s)=>(s||(s=e),s[0]=e[0]*t,s[1]=e[1]*t,s[2]=e[2]*t,s[3]=e[3]*t,s),mulVec3Scalar:(e,t,s)=>(s||(s=e),s[0]=e[0]*t,s[1]=e[1]*t,s[2]=e[2]*t,s),mulVec2Scalar:(e,t,s)=>(s||(s=e),s[0]=e[0]*t,s[1]=e[1]*t,s),divVec3:(e,t,s)=>(s||(s=e),s[0]=e[0]/t[0],s[1]=e[1]/t[1],s[2]=e[2]/t[2],s),divVec4:(e,t,s)=>(s||(s=e),s[0]=e[0]/t[0],s[1]=e[1]/t[1],s[2]=e[2]/t[2],s[3]=e[3]/t[3],s),divScalarVec3:(e,t,s)=>(s||(s=t),s[0]=e/t[0],s[1]=e/t[1],s[2]=e/t[2],s),divVec3Scalar:(e,t,s)=>(s||(s=e),s[0]=e[0]/t,s[1]=e[1]/t,s[2]=e[2]/t,s),divVec4Scalar:(e,t,s)=>(s||(s=e),s[0]=e[0]/t,s[1]=e[1]/t,s[2]=e[2]/t,s[3]=e[3]/t,s),divScalarVec4:(e,t,s)=>(s||(s=t),s[0]=e/t[0],s[1]=e/t[1],s[2]=e/t[2],s[3]=e/t[3],s),dotVec4:(e,t)=>e[0]*t[0]+e[1]*t[1]+e[2]*t[2]+e[3]*t[3],cross3Vec4(e,t){const s=e[0],n=e[1],i=e[2],a=t[0],r=t[1],l=t[2];return[n*l-i*r,i*a-s*l,s*r-n*a,0]},cross3Vec3(e,t,s){s||(s=e);const n=e[0],i=e[1],a=e[2],r=t[0],l=t[1],o=t[2];return s[0]=i*o-a*l,s[1]=a*r-n*o,s[2]=n*l-i*r,s},sqLenVec4:e=>A.dotVec4(e,e),lenVec4:e=>Math.sqrt(A.sqLenVec4(e)),dotVec3:(e,t)=>e[0]*t[0]+e[1]*t[1]+e[2]*t[2],dotVec2:(e,t)=>e[0]*t[0]+e[1]*t[1],sqLenVec3:e=>A.dotVec3(e,e),sqLenVec2:e=>A.dotVec2(e,e),lenVec3:e=>Math.sqrt(A.sqLenVec3(e)),distVec3:(()=>{const e=new o(3);return(t,s)=>A.lenVec3(A.subVec3(t,s,e))})(),lenVec2:e=>Math.sqrt(A.sqLenVec2(e)),distVec2:(()=>{const e=new o(2);return(t,s)=>A.lenVec2(A.subVec2(t,s,e))})(),rcpVec3:(e,t)=>A.divScalarVec3(1,e,t),normalizeVec4(e,t){const s=1/A.lenVec4(e);return A.mulVec4Scalar(e,s,t)},normalizeVec3(e,t){const s=1/A.lenVec3(e);return A.mulVec3Scalar(e,s,t)},normalizeVec2(e,t){const s=1/A.lenVec2(e);return A.mulVec2Scalar(e,s,t)},angleVec3(e,t){let s=A.dotVec3(e,t)/Math.sqrt(A.sqLenVec3(e)*A.sqLenVec3(t));return s=s<-1?-1:s>1?1:s,Math.acos(s)},vec3FromMat4Scale:(()=>{const e=new o(3);return(t,s)=>(e[0]=t[0],e[1]=t[1],e[2]=t[2],s[0]=A.lenVec3(e),e[0]=t[4],e[1]=t[5],e[2]=t[6],s[1]=A.lenVec3(e),e[0]=t[8],e[1]=t[9],e[2]=t[10],s[2]=A.lenVec3(e),s)})(),vecToArray:(()=>{function e(e){return Math.round(1e5*e)/1e5}return t=>{for(let s=0,n=(t=Array.prototype.slice.call(t)).length;s({x:e[0],y:e[1],z:e[2]}),xyzObjectToArray:(e,t)=>((t=t||A.vec3())[0]=e.x,t[1]=e.y,t[2]=e.z,t),dupMat4:e=>e.slice(0,16),mat4To3:e=>[e[0],e[1],e[2],e[4],e[5],e[6],e[8],e[9],e[10]],m4s:e=>[e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e],setMat4ToZeroes:()=>A.m4s(0),setMat4ToOnes:()=>A.m4s(1),diagonalMat4v:e=>new o([e[0],0,0,0,0,e[1],0,0,0,0,e[2],0,0,0,0,e[3]]),diagonalMat4c:(e,t,s,n)=>A.diagonalMat4v([e,t,s,n]),diagonalMat4s:e=>A.diagonalMat4c(e,e,e,e),identityMat4:(e=new o(16))=>(e[0]=1,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=1,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[10]=1,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e),identityMat3:(e=new o(9))=>(e[0]=1,e[1]=0,e[2]=0,e[3]=0,e[4]=1,e[5]=0,e[6]=0,e[7]=0,e[8]=1,e),isIdentityMat4:e=>1===e[0]&&0===e[1]&&0===e[2]&&0===e[3]&&0===e[4]&&1===e[5]&&0===e[6]&&0===e[7]&&0===e[8]&&0===e[9]&&1===e[10]&&0===e[11]&&0===e[12]&&0===e[13]&&0===e[14]&&1===e[15],negateMat4:(e,t)=>(t||(t=e),t[0]=-e[0],t[1]=-e[1],t[2]=-e[2],t[3]=-e[3],t[4]=-e[4],t[5]=-e[5],t[6]=-e[6],t[7]=-e[7],t[8]=-e[8],t[9]=-e[9],t[10]=-e[10],t[11]=-e[11],t[12]=-e[12],t[13]=-e[13],t[14]=-e[14],t[15]=-e[15],t),addMat4:(e,t,s)=>(s||(s=e),s[0]=e[0]+t[0],s[1]=e[1]+t[1],s[2]=e[2]+t[2],s[3]=e[3]+t[3],s[4]=e[4]+t[4],s[5]=e[5]+t[5],s[6]=e[6]+t[6],s[7]=e[7]+t[7],s[8]=e[8]+t[8],s[9]=e[9]+t[9],s[10]=e[10]+t[10],s[11]=e[11]+t[11],s[12]=e[12]+t[12],s[13]=e[13]+t[13],s[14]=e[14]+t[14],s[15]=e[15]+t[15],s),addMat4Scalar:(e,t,s)=>(s||(s=e),s[0]=e[0]+t,s[1]=e[1]+t,s[2]=e[2]+t,s[3]=e[3]+t,s[4]=e[4]+t,s[5]=e[5]+t,s[6]=e[6]+t,s[7]=e[7]+t,s[8]=e[8]+t,s[9]=e[9]+t,s[10]=e[10]+t,s[11]=e[11]+t,s[12]=e[12]+t,s[13]=e[13]+t,s[14]=e[14]+t,s[15]=e[15]+t,s),addScalarMat4:(e,t,s)=>A.addMat4Scalar(t,e,s),subMat4:(e,t,s)=>(s||(s=e),s[0]=e[0]-t[0],s[1]=e[1]-t[1],s[2]=e[2]-t[2],s[3]=e[3]-t[3],s[4]=e[4]-t[4],s[5]=e[5]-t[5],s[6]=e[6]-t[6],s[7]=e[7]-t[7],s[8]=e[8]-t[8],s[9]=e[9]-t[9],s[10]=e[10]-t[10],s[11]=e[11]-t[11],s[12]=e[12]-t[12],s[13]=e[13]-t[13],s[14]=e[14]-t[14],s[15]=e[15]-t[15],s),subMat4Scalar:(e,t,s)=>(s||(s=e),s[0]=e[0]-t,s[1]=e[1]-t,s[2]=e[2]-t,s[3]=e[3]-t,s[4]=e[4]-t,s[5]=e[5]-t,s[6]=e[6]-t,s[7]=e[7]-t,s[8]=e[8]-t,s[9]=e[9]-t,s[10]=e[10]-t,s[11]=e[11]-t,s[12]=e[12]-t,s[13]=e[13]-t,s[14]=e[14]-t,s[15]=e[15]-t,s),subScalarMat4:(e,t,s)=>(s||(s=t),s[0]=e-t[0],s[1]=e-t[1],s[2]=e-t[2],s[3]=e-t[3],s[4]=e-t[4],s[5]=e-t[5],s[6]=e-t[6],s[7]=e-t[7],s[8]=e-t[8],s[9]=e-t[9],s[10]=e-t[10],s[11]=e-t[11],s[12]=e-t[12],s[13]=e-t[13],s[14]=e-t[14],s[15]=e-t[15],s),mulMat4(e,t,s){s||(s=e);const n=e[0],i=e[1],a=e[2],r=e[3],l=e[4],o=e[5],c=e[6],u=e[7],h=e[8],p=e[9],A=e[10],d=e[11],f=e[12],I=e[13],y=e[14],m=e[15],v=t[0],w=t[1],g=t[2],E=t[3],T=t[4],b=t[5],D=t[6],P=t[7],R=t[8],C=t[9],_=t[10],B=t[11],O=t[12],S=t[13],N=t[14],x=t[15];return s[0]=v*n+w*l+g*h+E*f,s[1]=v*i+w*o+g*p+E*I,s[2]=v*a+w*c+g*A+E*y,s[3]=v*r+w*u+g*d+E*m,s[4]=T*n+b*l+D*h+P*f,s[5]=T*i+b*o+D*p+P*I,s[6]=T*a+b*c+D*A+P*y,s[7]=T*r+b*u+D*d+P*m,s[8]=R*n+C*l+_*h+B*f,s[9]=R*i+C*o+_*p+B*I,s[10]=R*a+C*c+_*A+B*y,s[11]=R*r+C*u+_*d+B*m,s[12]=O*n+S*l+N*h+x*f,s[13]=O*i+S*o+N*p+x*I,s[14]=O*a+S*c+N*A+x*y,s[15]=O*r+S*u+N*d+x*m,s},mulMat3(e,t,s){s||(s=new o(9));const n=e[0],i=e[3],a=e[6],r=e[1],l=e[4],c=e[7],u=e[2],h=e[5],p=e[8],A=t[0],d=t[3],f=t[6],I=t[1],y=t[4],m=t[7],v=t[2],w=t[5],g=t[8];return s[0]=n*A+i*I+a*v,s[3]=n*d+i*y+a*w,s[6]=n*f+i*m+a*g,s[1]=r*A+l*I+c*v,s[4]=r*d+l*y+c*w,s[7]=r*f+l*m+c*g,s[2]=u*A+h*I+p*v,s[5]=u*d+h*y+p*w,s[8]=u*f+h*m+p*g,s},mulMat4Scalar:(e,t,s)=>(s||(s=e),s[0]=e[0]*t,s[1]=e[1]*t,s[2]=e[2]*t,s[3]=e[3]*t,s[4]=e[4]*t,s[5]=e[5]*t,s[6]=e[6]*t,s[7]=e[7]*t,s[8]=e[8]*t,s[9]=e[9]*t,s[10]=e[10]*t,s[11]=e[11]*t,s[12]=e[12]*t,s[13]=e[13]*t,s[14]=e[14]*t,s[15]=e[15]*t,s),mulMat4v4(e,t,s=A.vec4()){const n=t[0],i=t[1],a=t[2],r=t[3];return s[0]=e[0]*n+e[4]*i+e[8]*a+e[12]*r,s[1]=e[1]*n+e[5]*i+e[9]*a+e[13]*r,s[2]=e[2]*n+e[6]*i+e[10]*a+e[14]*r,s[3]=e[3]*n+e[7]*i+e[11]*a+e[15]*r,s},transposeMat4(e,t){const s=e[4],n=e[14],i=e[8],a=e[13],r=e[12],l=e[9];if(!t||e===t){const t=e[1],o=e[2],c=e[3],u=e[6],h=e[7],p=e[11];return e[1]=s,e[2]=i,e[3]=r,e[4]=t,e[6]=l,e[7]=a,e[8]=o,e[9]=u,e[11]=n,e[12]=c,e[13]=h,e[14]=p,e}return t[0]=e[0],t[1]=s,t[2]=i,t[3]=r,t[4]=e[1],t[5]=e[5],t[6]=l,t[7]=a,t[8]=e[2],t[9]=e[6],t[10]=e[10],t[11]=n,t[12]=e[3],t[13]=e[7],t[14]=e[11],t[15]=e[15],t},transposeMat3(e,t){if(t===e){const s=e[1],n=e[2],i=e[5];t[1]=e[3],t[2]=e[6],t[3]=s,t[5]=e[7],t[6]=n,t[7]=i}else t[0]=e[0],t[1]=e[3],t[2]=e[6],t[3]=e[1],t[4]=e[4],t[5]=e[7],t[6]=e[2],t[7]=e[5],t[8]=e[8];return t},determinantMat4(e){const t=e[0],s=e[1],n=e[2],i=e[3],a=e[4],r=e[5],l=e[6],o=e[7],c=e[8],u=e[9],h=e[10],p=e[11],A=e[12],d=e[13],f=e[14],I=e[15];return A*u*l*i-c*d*l*i-A*r*h*i+a*d*h*i+c*r*f*i-a*u*f*i-A*u*n*o+c*d*n*o+A*s*h*o-t*d*h*o-c*s*f*o+t*u*f*o+A*r*n*p-a*d*n*p-A*s*l*p+t*d*l*p+a*s*f*p-t*r*f*p-c*r*n*I+a*u*n*I+c*s*l*I-t*u*l*I-a*s*h*I+t*r*h*I},inverseMat4(e,t){t||(t=e);const s=e[0],n=e[1],i=e[2],a=e[3],r=e[4],l=e[5],o=e[6],c=e[7],u=e[8],h=e[9],p=e[10],A=e[11],d=e[12],f=e[13],I=e[14],y=e[15],m=s*l-n*r,v=s*o-i*r,w=s*c-a*r,g=n*o-i*l,E=n*c-a*l,T=i*c-a*o,b=u*f-h*d,D=u*I-p*d,P=u*y-A*d,R=h*I-p*f,C=h*y-A*f,_=p*y-A*I,B=1/(m*_-v*C+w*R+g*P-E*D+T*b);return t[0]=(l*_-o*C+c*R)*B,t[1]=(-n*_+i*C-a*R)*B,t[2]=(f*T-I*E+y*g)*B,t[3]=(-h*T+p*E-A*g)*B,t[4]=(-r*_+o*P-c*D)*B,t[5]=(s*_-i*P+a*D)*B,t[6]=(-d*T+I*w-y*v)*B,t[7]=(u*T-p*w+A*v)*B,t[8]=(r*C-l*P+c*b)*B,t[9]=(-s*C+n*P-a*b)*B,t[10]=(d*E-f*w+y*m)*B,t[11]=(-u*E+h*w-A*m)*B,t[12]=(-r*R+l*D-o*b)*B,t[13]=(s*R-n*D+i*b)*B,t[14]=(-d*g+f*v-I*m)*B,t[15]=(u*g-h*v+p*m)*B,t},traceMat4:e=>e[0]+e[5]+e[10]+e[15],translationMat4v(e,t){const s=t||A.identityMat4();return s[12]=e[0],s[13]=e[1],s[14]=e[2],s},translationMat3v(e,t){const s=t||A.identityMat3();return s[6]=e[0],s[7]=e[1],s},translationMat4c:(()=>{const e=new o(3);return(t,s,n,i)=>(e[0]=t,e[1]=s,e[2]=n,A.translationMat4v(e,i))})(),translationMat4s:(e,t)=>A.translationMat4c(e,e,e,t),translateMat4v:(e,t)=>A.translateMat4c(e[0],e[1],e[2],t),translateMat4c(e,t,s,n){const i=n[3];n[0]+=i*e,n[1]+=i*t,n[2]+=i*s;const a=n[7];n[4]+=a*e,n[5]+=a*t,n[6]+=a*s;const r=n[11];n[8]+=r*e,n[9]+=r*t,n[10]+=r*s;const l=n[15];return n[12]+=l*e,n[13]+=l*t,n[14]+=l*s,n},setMat4Translation:(e,t,s)=>(s[0]=e[0],s[1]=e[1],s[2]=e[2],s[3]=e[3],s[4]=e[4],s[5]=e[5],s[6]=e[6],s[7]=e[7],s[8]=e[8],s[9]=e[9],s[10]=e[10],s[11]=e[11],s[12]=t[0],s[13]=t[1],s[14]=t[2],s[15]=e[15],s),rotationMat4v(e,t,s){const n=A.normalizeVec4([t[0],t[1],t[2],0],[]),i=Math.sin(e),a=Math.cos(e),r=1-a,l=n[0],o=n[1],c=n[2];let u,h,p,d,f,I;return u=l*o,h=o*c,p=c*l,d=l*i,f=o*i,I=c*i,(s=s||A.mat4())[0]=r*l*l+a,s[1]=r*u+I,s[2]=r*p-f,s[3]=0,s[4]=r*u-I,s[5]=r*o*o+a,s[6]=r*h+d,s[7]=0,s[8]=r*p+f,s[9]=r*h-d,s[10]=r*c*c+a,s[11]=0,s[12]=0,s[13]=0,s[14]=0,s[15]=1,s},rotationMat4c:(e,t,s,n,i)=>A.rotationMat4v(e,[t,s,n],i),scalingMat4v:(e,t=A.identityMat4())=>(t[0]=e[0],t[5]=e[1],t[10]=e[2],t),scalingMat3v:(e,t=A.identityMat3())=>(t[0]=e[0],t[4]=e[1],t),scalingMat4c:(()=>{const e=new o(3);return(t,s,n,i)=>(e[0]=t,e[1]=s,e[2]=n,A.scalingMat4v(e,i))})(),scaleMat4c:(e,t,s,n)=>(n[0]*=e,n[4]*=t,n[8]*=s,n[1]*=e,n[5]*=t,n[9]*=s,n[2]*=e,n[6]*=t,n[10]*=s,n[3]*=e,n[7]*=t,n[11]*=s,n),scaleMat4v(e,t){const s=e[0],n=e[1],i=e[2];return t[0]*=s,t[4]*=n,t[8]*=i,t[1]*=s,t[5]*=n,t[9]*=i,t[2]*=s,t[6]*=n,t[10]*=i,t[3]*=s,t[7]*=n,t[11]*=i,t},scalingMat4s:e=>A.scalingMat4c(e,e,e),rotationTranslationMat4(e,t,s=A.mat4()){const n=e[0],i=e[1],a=e[2],r=e[3],l=n+n,o=i+i,c=a+a,u=n*l,h=n*o,p=n*c,d=i*o,f=i*c,I=a*c,y=r*l,m=r*o,v=r*c;return s[0]=1-(d+I),s[1]=h+v,s[2]=p-m,s[3]=0,s[4]=h-v,s[5]=1-(u+I),s[6]=f+y,s[7]=0,s[8]=p+m,s[9]=f-y,s[10]=1-(u+d),s[11]=0,s[12]=t[0],s[13]=t[1],s[14]=t[2],s[15]=1,s},mat4ToEuler(e,t,s=A.vec4()){const n=A.clamp,i=e[0],a=e[4],r=e[8],l=e[1],o=e[5],c=e[9],u=e[2],h=e[6],p=e[10];return"XYZ"===t?(s[1]=Math.asin(n(r,-1,1)),Math.abs(r)<.99999?(s[0]=Math.atan2(-c,p),s[2]=Math.atan2(-a,i)):(s[0]=Math.atan2(h,o),s[2]=0)):"YXZ"===t?(s[0]=Math.asin(-n(c,-1,1)),Math.abs(c)<.99999?(s[1]=Math.atan2(r,p),s[2]=Math.atan2(l,o)):(s[1]=Math.atan2(-u,i),s[2]=0)):"ZXY"===t?(s[0]=Math.asin(n(h,-1,1)),Math.abs(h)<.99999?(s[1]=Math.atan2(-u,p),s[2]=Math.atan2(-a,o)):(s[1]=0,s[2]=Math.atan2(l,i))):"ZYX"===t?(s[1]=Math.asin(-n(u,-1,1)),Math.abs(u)<.99999?(s[0]=Math.atan2(h,p),s[2]=Math.atan2(l,i)):(s[0]=0,s[2]=Math.atan2(-a,o))):"YZX"===t?(s[2]=Math.asin(n(l,-1,1)),Math.abs(l)<.99999?(s[0]=Math.atan2(-c,o),s[1]=Math.atan2(-u,i)):(s[0]=0,s[1]=Math.atan2(r,p))):"XZY"===t&&(s[2]=Math.asin(-n(a,-1,1)),Math.abs(a)<.99999?(s[0]=Math.atan2(h,o),s[1]=Math.atan2(r,i)):(s[0]=Math.atan2(-c,p),s[1]=0)),s},composeMat4:(e,t,s,n=A.mat4())=>(A.quaternionToRotationMat4(t,n),A.scaleMat4v(s,n),A.translateMat4v(e,n),n),decomposeMat4:(()=>{const e=new o(3),t=new o(16);return function(s,n,i,a){e[0]=s[0],e[1]=s[1],e[2]=s[2];let r=A.lenVec3(e);e[0]=s[4],e[1]=s[5],e[2]=s[6];const l=A.lenVec3(e);e[8]=s[8],e[9]=s[9],e[10]=s[10];const o=A.lenVec3(e);A.determinantMat4(s)<0&&(r=-r),n[0]=s[12],n[1]=s[13],n[2]=s[14],t.set(s);const c=1/r,u=1/l,h=1/o;return t[0]*=c,t[1]*=c,t[2]*=c,t[4]*=u,t[5]*=u,t[6]*=u,t[8]*=h,t[9]*=h,t[10]*=h,A.mat4ToQuaternion(t,i),a[0]=r,a[1]=l,a[2]=o,this}})(),getColMat4(e,t){const s=4*t;return[e[s],e[s+1],e[s+2],e[s+3]]},setRowMat4(e,t,s){e[t]=s[0],e[t+4]=s[1],e[t+8]=s[2],e[t+12]=s[3]},lookAtMat4v(e,t,s,n){n||(n=A.mat4());const i=e[0],a=e[1],r=e[2],l=s[0],o=s[1],c=s[2],u=t[0],h=t[1],p=t[2];if(i===u&&a===h&&r===p)return A.identityMat4();let d,f,I,y,m,v,w,g,E,T;return d=i-u,f=a-h,I=r-p,T=1/Math.sqrt(d*d+f*f+I*I),d*=T,f*=T,I*=T,y=o*I-c*f,m=c*d-l*I,v=l*f-o*d,T=Math.sqrt(y*y+m*m+v*v),T?(T=1/T,y*=T,m*=T,v*=T):(y=0,m=0,v=0),w=f*v-I*m,g=I*y-d*v,E=d*m-f*y,T=Math.sqrt(w*w+g*g+E*E),T?(T=1/T,w*=T,g*=T,E*=T):(w=0,g=0,E=0),n[0]=y,n[1]=w,n[2]=d,n[3]=0,n[4]=m,n[5]=g,n[6]=f,n[7]=0,n[8]=v,n[9]=E,n[10]=I,n[11]=0,n[12]=-(y*i+m*a+v*r),n[13]=-(w*i+g*a+E*r),n[14]=-(d*i+f*a+I*r),n[15]=1,n},lookAtMat4c:(e,t,s,n,i,a,r,l,o)=>A.lookAtMat4v([e,t,s],[n,i,a],[r,l,o],[]),orthoMat4c(e,t,s,n,i,a,r){r||(r=A.mat4());const l=t-e,o=n-s,c=a-i;return r[0]=2/l,r[1]=0,r[2]=0,r[3]=0,r[4]=0,r[5]=2/o,r[6]=0,r[7]=0,r[8]=0,r[9]=0,r[10]=-2/c,r[11]=0,r[12]=-(e+t)/l,r[13]=-(n+s)/o,r[14]=-(a+i)/c,r[15]=1,r},frustumMat4v(e,t,s){s||(s=A.mat4());const n=[e[0],e[1],e[2],0],i=[t[0],t[1],t[2],0];A.addVec4(i,n,u),A.subVec4(i,n,h);const a=2*n[2],r=h[0],l=h[1],o=h[2];return s[0]=a/r,s[1]=0,s[2]=0,s[3]=0,s[4]=0,s[5]=a/l,s[6]=0,s[7]=0,s[8]=u[0]/r,s[9]=u[1]/l,s[10]=-u[2]/o,s[11]=-1,s[12]=0,s[13]=0,s[14]=-a*i[2]/o,s[15]=0,s},frustumMat4(e,t,s,n,i,a,r){r||(r=A.mat4());const l=t-e,o=n-s,c=a-i;return r[0]=2*i/l,r[1]=0,r[2]=0,r[3]=0,r[4]=0,r[5]=2*i/o,r[6]=0,r[7]=0,r[8]=(t+e)/l,r[9]=(n+s)/o,r[10]=-(a+i)/c,r[11]=-1,r[12]=0,r[13]=0,r[14]=-a*i*2/c,r[15]=0,r},perspectiveMat4(e,t,s,n,i){const a=[],r=[];return a[2]=s,r[2]=n,r[1]=a[2]*Math.tan(e/2),a[1]=-r[1],r[0]=r[1]*t,a[0]=-r[0],A.frustumMat4v(a,r,i)},compareMat4:(e,t)=>e[0]===t[0]&&e[1]===t[1]&&e[2]===t[2]&&e[3]===t[3]&&e[4]===t[4]&&e[5]===t[5]&&e[6]===t[6]&&e[7]===t[7]&&e[8]===t[8]&&e[9]===t[9]&&e[10]===t[10]&&e[11]===t[11]&&e[12]===t[12]&&e[13]===t[13]&&e[14]===t[14]&&e[15]===t[15],transformPoint3(e,t,s=A.vec3()){const n=t[0],i=t[1],a=t[2];return s[0]=e[0]*n+e[4]*i+e[8]*a+e[12],s[1]=e[1]*n+e[5]*i+e[9]*a+e[13],s[2]=e[2]*n+e[6]*i+e[10]*a+e[14],s},transformPoint4:(e,t,s=A.vec4())=>(s[0]=e[0]*t[0]+e[4]*t[1]+e[8]*t[2]+e[12]*t[3],s[1]=e[1]*t[0]+e[5]*t[1]+e[9]*t[2]+e[13]*t[3],s[2]=e[2]*t[0]+e[6]*t[1]+e[10]*t[2]+e[14]*t[3],s[3]=e[3]*t[0]+e[7]*t[1]+e[11]*t[2]+e[15]*t[3],s),transformPoints3(e,t,s){const n=s||[],i=t.length;let a,r,l,o;const c=e[0],u=e[1],h=e[2],p=e[3],A=e[4],d=e[5],f=e[6],I=e[7],y=e[8],m=e[9],v=e[10],w=e[11],g=e[12],E=e[13],T=e[14],b=e[15];let D;for(let e=0;e{const e=new o(16),t=new o(16),s=new o(16);return function(n,i,a,r){return this.transformVec3(this.mulMat4(this.inverseMat4(i,e),this.inverseMat4(a,t),s),n,r)}})(),lerpVec3(e,t,s,n,i,a){const r=a||A.vec3(),l=(e-t)/(s-t);return r[0]=n[0]+l*(i[0]-n[0]),r[1]=n[1]+l*(i[1]-n[1]),r[2]=n[2]+l*(i[2]-n[2]),r},lerpMat4(e,t,s,n,i,a){const r=a||A.mat4(),l=(e-t)/(s-t);return r[0]=n[0]+l*(i[0]-n[0]),r[1]=n[1]+l*(i[1]-n[1]),r[2]=n[2]+l*(i[2]-n[2]),r[3]=n[3]+l*(i[3]-n[3]),r[4]=n[4]+l*(i[4]-n[4]),r[5]=n[5]+l*(i[5]-n[5]),r[6]=n[6]+l*(i[6]-n[6]),r[7]=n[7]+l*(i[7]-n[7]),r[8]=n[8]+l*(i[8]-n[8]),r[9]=n[9]+l*(i[9]-n[9]),r[10]=n[10]+l*(i[10]-n[10]),r[11]=n[11]+l*(i[11]-n[11]),r[12]=n[12]+l*(i[12]-n[12]),r[13]=n[13]+l*(i[13]-n[13]),r[14]=n[14]+l*(i[14]-n[14]),r[15]=n[15]+l*(i[15]-n[15]),r},flatten(e){const t=[];let s,n,i,a,r;for(s=0,n=e.length;s(e[0]=0,e[1]=0,e[2]=0,e[3]=1,e),eulerToQuaternion(e,t,s=A.vec4()){const n=e[0]*A.DEGTORAD/2,i=e[1]*A.DEGTORAD/2,a=e[2]*A.DEGTORAD/2,r=Math.cos(n),l=Math.cos(i),o=Math.cos(a),c=Math.sin(n),u=Math.sin(i),h=Math.sin(a);return"XYZ"===t?(s[0]=c*l*o+r*u*h,s[1]=r*u*o-c*l*h,s[2]=r*l*h+c*u*o,s[3]=r*l*o-c*u*h):"YXZ"===t?(s[0]=c*l*o+r*u*h,s[1]=r*u*o-c*l*h,s[2]=r*l*h-c*u*o,s[3]=r*l*o+c*u*h):"ZXY"===t?(s[0]=c*l*o-r*u*h,s[1]=r*u*o+c*l*h,s[2]=r*l*h+c*u*o,s[3]=r*l*o-c*u*h):"ZYX"===t?(s[0]=c*l*o-r*u*h,s[1]=r*u*o+c*l*h,s[2]=r*l*h-c*u*o,s[3]=r*l*o+c*u*h):"YZX"===t?(s[0]=c*l*o+r*u*h,s[1]=r*u*o+c*l*h,s[2]=r*l*h-c*u*o,s[3]=r*l*o-c*u*h):"XZY"===t&&(s[0]=c*l*o-r*u*h,s[1]=r*u*o-c*l*h,s[2]=r*l*h+c*u*o,s[3]=r*l*o+c*u*h),s},mat4ToQuaternion(e,t=A.vec4()){const s=e[0],n=e[4],i=e[8],a=e[1],r=e[5],l=e[9],o=e[2],c=e[6],u=e[10];let h;const p=s+r+u;return p>0?(h=.5/Math.sqrt(p+1),t[3]=.25/h,t[0]=(c-l)*h,t[1]=(i-o)*h,t[2]=(a-n)*h):s>r&&s>u?(h=2*Math.sqrt(1+s-r-u),t[3]=(c-l)/h,t[0]=.25*h,t[1]=(n+a)/h,t[2]=(i+o)/h):r>u?(h=2*Math.sqrt(1+r-s-u),t[3]=(i-o)/h,t[0]=(n+a)/h,t[1]=.25*h,t[2]=(l+c)/h):(h=2*Math.sqrt(1+u-s-r),t[3]=(a-n)/h,t[0]=(i+o)/h,t[1]=(l+c)/h,t[2]=.25*h),t},vec3PairToQuaternion(e,t,s=A.vec4()){const n=Math.sqrt(A.dotVec3(e,e)*A.dotVec3(t,t));let i=n+A.dotVec3(e,t);return i<1e-8*n?(i=0,Math.abs(e[0])>Math.abs(e[2])?(s[0]=-e[1],s[1]=e[0],s[2]=0):(s[0]=0,s[1]=-e[2],s[2]=e[1])):A.cross3Vec3(e,t,s),s[3]=i,A.normalizeQuaternion(s)},angleAxisToQuaternion(e,t=A.vec4()){const s=e[3]/2,n=Math.sin(s);return t[0]=n*e[0],t[1]=n*e[1],t[2]=n*e[2],t[3]=Math.cos(s),t},quaternionToEuler:(()=>{const e=new o(16);return(t,s,n)=>(n=n||A.vec3(),A.quaternionToRotationMat4(t,e),A.mat4ToEuler(e,s,n),n)})(),mulQuaternions(e,t,s=A.vec4()){const n=e[0],i=e[1],a=e[2],r=e[3],l=t[0],o=t[1],c=t[2],u=t[3];return s[0]=r*l+n*u+i*c-a*o,s[1]=r*o+i*u+a*l-n*c,s[2]=r*c+a*u+n*o-i*l,s[3]=r*u-n*l-i*o-a*c,s},vec3ApplyQuaternion(e,t,s=A.vec3()){const n=t[0],i=t[1],a=t[2],r=e[0],l=e[1],o=e[2],c=e[3],u=c*n+l*a-o*i,h=c*i+o*n-r*a,p=c*a+r*i-l*n,d=-r*n-l*i-o*a;return s[0]=u*c+d*-r+h*-o-p*-l,s[1]=h*c+d*-l+p*-r-u*-o,s[2]=p*c+d*-o+u*-l-h*-r,s},quaternionToMat4(e,t){t=A.identityMat4(t);const s=e[0],n=e[1],i=e[2],a=e[3],r=2*s,l=2*n,o=2*i,c=r*a,u=l*a,h=o*a,p=r*s,d=l*s,f=o*s,I=l*n,y=o*n,m=o*i;return t[0]=1-(I+m),t[1]=d+h,t[2]=f-u,t[4]=d-h,t[5]=1-(p+m),t[6]=y+c,t[8]=f+u,t[9]=y-c,t[10]=1-(p+I),t},quaternionToRotationMat4(e,t){const s=e[0],n=e[1],i=e[2],a=e[3],r=s+s,l=n+n,o=i+i,c=s*r,u=s*l,h=s*o,p=n*l,A=n*o,d=i*o,f=a*r,I=a*l,y=a*o;return t[0]=1-(p+d),t[4]=u-y,t[8]=h+I,t[1]=u+y,t[5]=1-(c+d),t[9]=A-f,t[2]=h-I,t[6]=A+f,t[10]=1-(c+p),t[3]=0,t[7]=0,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t},normalizeQuaternion(e,t=e){const s=A.lenVec4([e[0],e[1],e[2],e[3]]);return t[0]=e[0]/s,t[1]=e[1]/s,t[2]=e[2]/s,t[3]=e[3]/s,t},conjugateQuaternion:(e,t=e)=>(t[0]=-e[0],t[1]=-e[1],t[2]=-e[2],t[3]=e[3],t),inverseQuaternion:(e,t)=>A.normalizeQuaternion(A.conjugateQuaternion(e,t)),quaternionToAngleAxis(e,t=A.vec4()){const s=(e=A.normalizeQuaternion(e,p))[3],n=2*Math.acos(s),i=Math.sqrt(1-s*s);return i<.001?(t[0]=e[0],t[1]=e[1],t[2]=e[2]):(t[0]=e[0]/i,t[1]=e[1]/i,t[2]=e[2]/i),t[3]=n,t},AABB3:e=>new o(e||6),AABB2:e=>new o(e||4),OBB3:e=>new o(e||32),OBB2:e=>new o(e||16),Sphere3:(e,t,s,n)=>new o([e,t,s,n]),transformOBB3(e,t,s=t){let n;const i=t.length;let a,r,l;const o=e[0],c=e[1],u=e[2],h=e[3],p=e[4],A=e[5],d=e[6],f=e[7],I=e[8],y=e[9],m=e[10],v=e[11],w=e[12],g=e[13],E=e[14],T=e[15];for(n=0;n{const e=new o(3),t=new o(3),s=new o(3);return n=>(e[0]=n[0],e[1]=n[1],e[2]=n[2],t[0]=n[3],t[1]=n[4],t[2]=n[5],A.subVec3(t,e,s),Math.abs(A.lenVec3(s)))})(),getAABB3DiagPoint:(()=>{const e=new o(3),t=new o(3),s=new o(3);return(n,i)=>{e[0]=n[0],e[1]=n[1],e[2]=n[2],t[0]=n[3],t[1]=n[4],t[2]=n[5];const a=A.subVec3(t,e,s),r=i[0]-n[0],l=n[3]-i[0],o=i[1]-n[1],c=n[4]-i[1],u=i[2]-n[2],h=n[5]-i[2];return a[0]+=r>l?r:l,a[1]+=o>c?o:c,a[2]+=u>h?u:h,Math.abs(A.lenVec3(a))}})(),getAABB3Area:e=>(e[3]-e[0])*(e[4]-e[1])*(e[5]-e[2]),getAABB3Center(e,t){const s=t||A.vec3();return s[0]=(e[0]+e[3])/2,s[1]=(e[1]+e[4])/2,s[2]=(e[2]+e[5])/2,s},getAABB2Center(e,t){const s=t||A.vec2();return s[0]=(e[2]+e[0])/2,s[1]=(e[3]+e[1])/2,s},collapseAABB3:(e=A.AABB3())=>(e[0]=A.MAX_DOUBLE,e[1]=A.MAX_DOUBLE,e[2]=A.MAX_DOUBLE,e[3]=A.MIN_DOUBLE,e[4]=A.MIN_DOUBLE,e[5]=A.MIN_DOUBLE,e),AABB3ToOBB3:(e,t=A.OBB3())=>(t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=1,t[4]=e[3],t[5]=e[1],t[6]=e[2],t[7]=1,t[8]=e[3],t[9]=e[4],t[10]=e[2],t[11]=1,t[12]=e[0],t[13]=e[4],t[14]=e[2],t[15]=1,t[16]=e[0],t[17]=e[1],t[18]=e[5],t[19]=1,t[20]=e[3],t[21]=e[1],t[22]=e[5],t[23]=1,t[24]=e[3],t[25]=e[4],t[26]=e[5],t[27]=1,t[28]=e[0],t[29]=e[4],t[30]=e[5],t[31]=1,t),positions3ToAABB3:(()=>{const e=new o(3);return(t,s,n)=>{s=s||A.AABB3();let i,a,r,l=A.MAX_DOUBLE,o=A.MAX_DOUBLE,c=A.MAX_DOUBLE,u=A.MIN_DOUBLE,h=A.MIN_DOUBLE,p=A.MIN_DOUBLE;for(let s=0,d=t.length;su&&(u=i),a>h&&(h=a),r>p&&(p=r);return s[0]=l,s[1]=o,s[2]=c,s[3]=u,s[4]=h,s[5]=p,s}})(),OBB3ToAABB3(e,t=A.AABB3()){let s,n,i,a=A.MAX_DOUBLE,r=A.MAX_DOUBLE,l=A.MAX_DOUBLE,o=A.MIN_DOUBLE,c=A.MIN_DOUBLE,u=A.MIN_DOUBLE;for(let t=0,h=e.length;to&&(o=s),n>c&&(c=n),i>u&&(u=i);return t[0]=a,t[1]=r,t[2]=l,t[3]=o,t[4]=c,t[5]=u,t},points3ToAABB3(e,t=A.AABB3()){let s,n,i,a=A.MAX_DOUBLE,r=A.MAX_DOUBLE,l=A.MAX_DOUBLE,o=A.MIN_DOUBLE,c=A.MIN_DOUBLE,u=A.MIN_DOUBLE;for(let t=0,h=e.length;to&&(o=s),n>c&&(c=n),i>u&&(u=i);return t[0]=a,t[1]=r,t[2]=l,t[3]=o,t[4]=c,t[5]=u,t},points3ToSphere3:(()=>{const e=new o(3);return(t,s)=>{s=s||A.vec4();let n,i=0,a=0,r=0;const l=t.length;for(n=0;nc&&(c=o);return s[3]=c,s}})(),positions3ToSphere3:(()=>{const e=new o(3),t=new o(3);return(s,n)=>{n=n||A.vec4();let i,a=0,r=0,l=0;const o=s.length;let c=0;for(i=0;ic&&(c=h);return n[3]=c,n}})(),OBB3ToSphere3:(()=>{const e=new o(3),t=new o(3);return(s,n)=>{n=n||A.vec4();let i,a=0,r=0,l=0;const o=s.length,c=o/4;for(i=0;ih&&(h=u);return n[3]=h,n}})(),getSphere3Center:(e,t=A.vec3())=>(t[0]=e[0],t[1]=e[1],t[2]=e[2],t),getPositionsCenter(e,t=A.vec3()){let s=0,n=0,i=0;for(var a=0,r=e.length;a(e[0]>t[0]&&(e[0]=t[0]),e[1]>t[1]&&(e[1]=t[1]),e[2]>t[2]&&(e[2]=t[2]),e[3](e[0]>t[0]&&(e[0]=t[0]),e[1]>t[1]&&(e[1]=t[1]),e[2]>t[2]&&(e[2]=t[2]),e[3]s&&(e[0]=s),e[1]>n&&(e[1]=n),e[2]>i&&(e[2]=i),e[3](e[0]=A.MAX_DOUBLE,e[1]=A.MAX_DOUBLE,e[2]=A.MIN_DOUBLE,e[3]=A.MIN_DOUBLE,e),point3AABB3Intersect:(e,t)=>e[0]>t[0]||e[3]t[1]||e[4]t[2]||e[5]0?(n=e[0]*s[0],i=e[0]*s[3]):(n=e[0]*s[3],i=e[0]*s[0]),e[1]>0?(n+=e[1]*s[1],i+=e[1]*s[4]):(n+=e[1]*s[4],i+=e[1]*s[1]),e[2]>0?(n+=e[2]*s[2],i+=e[2]*s[5]):(n+=e[2]*s[5],i+=e[2]*s[2]);if(n<=-t&&i<=-t)return-1;return n>=-t&&i>=-t?1:0},OBB3ToAABB2(e,t=A.AABB2()){let s,n,i,a,r=A.MAX_DOUBLE,l=A.MAX_DOUBLE,o=A.MIN_DOUBLE,c=A.MIN_DOUBLE;for(let t=0,u=e.length;to&&(o=s),n>c&&(c=n);return t[0]=r,t[1]=l,t[2]=o,t[3]=c,t},expandAABB2:(e,t)=>(e[0]>t[0]&&(e[0]=t[0]),e[1]>t[1]&&(e[1]=t[1]),e[2](e[0]>t[0]&&(e[0]=t[0]),e[1]>t[1]&&(e[1]=t[1]),e[2]2*(1-e)*(s-t)+2*e*(n-s),tangentQuadraticBezier3:(e,t,s,n,i)=>-3*t*(1-e)*(1-e)+3*s*(1-e)*(1-e)-6*e*s*(1-e)+6*e*n*(1-e)-3*e*e*n+3*e*e*i,tangentSpline:e=>6*e*e-6*e+(3*e*e-4*e+1)+(-6*e*e+6*e)+(3*e*e-2*e),catmullRomInterpolate(e,t,s,n,i){const a=.5*(s-e),r=.5*(n-t),l=i*i;return(2*t-2*s+a+r)*(i*l)+(-3*t+3*s-2*a-r)*l+a*i+t},b2p0(e,t){const s=1-e;return s*s*t},b2p1:(e,t)=>2*(1-e)*e*t,b2p2:(e,t)=>e*e*t,b2(e,t,s,n){return this.b2p0(e,t)+this.b2p1(e,s)+this.b2p2(e,n)},b3p0(e,t){const s=1-e;return s*s*s*t},b3p1(e,t){const s=1-e;return 3*s*s*e*t},b3p2:(e,t)=>3*(1-e)*e*e*t,b3p3:(e,t)=>e*e*e*t,b3(e,t,s,n,i){return this.b3p0(e,t)+this.b3p1(e,s)+this.b3p2(e,n)+this.b3p3(e,i)},triangleNormal(e,t,s,n=A.vec3()){const i=t[0]-e[0],a=t[1]-e[1],r=t[2]-e[2],l=s[0]-e[0],o=s[1]-e[1],c=s[2]-e[2],u=a*c-r*o,h=r*l-i*c,p=i*o-a*l,d=Math.sqrt(u*u+h*h+p*p);return 0===d?(n[0]=0,n[1]=0,n[2]=0):(n[0]=u/d,n[1]=h/d,n[2]=p/d),n},rayTriangleIntersect:(()=>{const e=new o(3),t=new o(3),s=new o(3),n=new o(3),i=new o(3);return(a,r,l,o,c,u)=>{u=u||A.vec3();const h=A.subVec3(o,l,e),p=A.subVec3(c,l,t),d=A.cross3Vec3(r,p,s),f=A.dotVec3(h,d);if(f<1e-6)return null;const I=A.subVec3(a,l,n),y=A.dotVec3(I,d);if(y<0||y>f)return null;const m=A.cross3Vec3(I,h,i),v=A.dotVec3(r,m);if(v<0||y+v>f)return null;const w=A.dotVec3(p,m)/f;return u[0]=a[0]+w*r[0],u[1]=a[1]+w*r[1],u[2]=a[2]+w*r[2],u}})(),rayPlaneIntersect:(()=>{const e=new o(3),t=new o(3),s=new o(3),n=new o(3);return(i,a,r,l,o,c)=>{c=c||A.vec3(),a=A.normalizeVec3(a,e);const u=A.subVec3(l,r,t),h=A.subVec3(o,r,s),p=A.cross3Vec3(u,h,n);A.normalizeVec3(p,p);const d=-A.dotVec3(r,p),f=-(A.dotVec3(i,p)+d)/A.dotVec3(a,p);return c[0]=i[0]+f*a[0],c[1]=i[1]+f*a[1],c[2]=i[2]+f*a[2],c}})(),cartesianToBarycentric:(()=>{const e=new o(3),t=new o(3),s=new o(3);return(n,i,a,r,l)=>{const o=A.subVec3(r,i,e),c=A.subVec3(a,i,t),u=A.subVec3(n,i,s),h=A.dotVec3(o,o),p=A.dotVec3(o,c),d=A.dotVec3(o,u),f=A.dotVec3(c,c),I=A.dotVec3(c,u),y=h*f-p*p;if(0===y)return null;const m=1/y,v=(f*d-p*I)*m,w=(h*I-p*d)*m;return l[0]=1-v-w,l[1]=w,l[2]=v,l}})(),barycentricInsideTriangle(e){const t=e[1],s=e[2];return s>=0&&t>=0&&s+t<1},barycentricToCartesian(e,t,s,n,i=A.vec3()){const a=e[0],r=e[1],l=e[2];return i[0]=t[0]*a+s[0]*r+n[0]*l,i[1]=t[1]*a+s[1]*r+n[1]*l,i[2]=t[2]*a+s[2]*r+n[2]*l,i},mergeVertices(e,t,s,n){const i={},a=[],r=[],l=t?[]:null,o=s?[]:null,c=[];let u,h,p,A;const d=1e4;let f,I,y=0;for(f=0,I=e.length;f{const e=new o(3),t=new o(3),s=new o(3),n=new o(3),i=new o(3),a=new o(3);return(r,l,o)=>{let c,u;const h=new Array(r.length/3);let p,d,f,I,y,m,v;for(c=0,u=l.length;c{const e=new o(3),t=new o(3),s=new o(3),n=new o(3),i=new o(3),a=new o(3),r=new o(3);return(l,o,c)=>{const u=new Float32Array(l.length);for(let h=0;h>24&255,u=p>>16&255,c=p>>8&255,o=255&p,l=t[s],r=3*l,i[A++]=e[r],i[A++]=e[r+1],i[A++]=e[r+2],a[d++]=o,a[d++]=c,a[d++]=u,a[d++]=h,l=t[s+1],r=3*l,i[A++]=e[r],i[A++]=e[r+1],i[A++]=e[r+2],a[d++]=o,a[d++]=c,a[d++]=u,a[d++]=h,l=t[s+2],r=3*l,i[A++]=e[r],i[A++]=e[r+1],i[A++]=e[r+2],a[d++]=o,a[d++]=c,a[d++]=u,a[d++]=h,p++;return{positions:i,colors:a}},faceToVertexNormals(e,t,s={}){const n=s.smoothNormalsAngleThreshold||20,i={},a=[],r={};let l,o,c,u,h;const p=1e4;let d,f,I,y,m,v;for(f=0,y=e.length;f{const e=new o(4),t=new o(4);return(s,n,i,a,r)=>{e[0]=n[0],e[1]=n[1],e[2]=n[2],e[3]=1,A.transformVec4(s,e,t),a[0]=t[0],a[1]=t[1],a[2]=t[2],e[0]=i[0],e[1]=i[1],e[2]=i[2],A.transformVec3(s,e,t),A.normalizeVec3(t),r[0]=t[0],r[1]=t[1],r[2]=t[2]}})(),canvasPosToWorldRay:(()=>{const e=new o(16),t=new o(16),s=new o(4),n=new o(4),i=new o(4),a=new o(4);return(r,l,o,c,u,h)=>{const p=A.mulMat4(o,l,e),d=A.inverseMat4(p,t),f=r.width,I=r.height,y=(c[0]-f/2)/(f/2),m=-(c[1]-I/2)/(I/2);s[0]=y,s[1]=m,s[2]=-1,s[3]=1,A.transformVec4(d,s,n),A.mulVec4Scalar(n,1/n[3]),i[0]=y,i[1]=m,i[2]=1,i[3]=1,A.transformVec4(d,i,a),A.mulVec4Scalar(a,1/a[3]),u[0]=a[0],u[1]=a[1],u[2]=a[2],A.subVec3(a,n,h),A.normalizeVec3(h)}})(),canvasPosToLocalRay:(()=>{const e=new o(3),t=new o(3);return(s,n,i,a,r,l,o)=>{A.canvasPosToWorldRay(s,n,i,r,e,t),A.worldRayToLocalRay(a,e,t,l,o)}})(),worldRayToLocalRay:(()=>{const e=new o(16),t=new o(4),s=new o(4);return(n,i,a,r,l)=>{const o=A.inverseMat4(n,e);t[0]=i[0],t[1]=i[1],t[2]=i[2],t[3]=1,A.transformVec4(o,t,s),r[0]=s[0],r[1]=s[1],r[2]=s[2],A.transformVec3(o,a,l)}})(),buildKDTree:(()=>{const e=new Float32Array;function t(s,n,i,a){const r=new o(6),l={triangles:null,left:null,right:null,leaf:!1,splitDim:0,aabb:r};let c,u;for(r[0]=r[1]=r[2]=Number.POSITIVE_INFINITY,r[3]=r[4]=r[5]=Number.NEGATIVE_INFINITY,c=0,u=s.length;cr[3]&&(r[3]=i[t]),i[t+1]r[4]&&(r[4]=i[t+1]),i[t+2]r[5]&&(r[5]=i[t+2])}}if(s.length<20||a>10)return l.triangles=s,l.leaf=!0,l;e[0]=r[3]-r[0],e[1]=r[4]-r[1],e[2]=r[5]-r[2];let p=0;e[1]>e[p]&&(p=1),e[2]>e[p]&&(p=2),l.splitDim=p;const A=(r[p]+r[p+3])/2,d=new Array(s.length);let f=0;const I=new Array(s.length);let y=0;for(c=0,u=s.length;c{const n=e.length/3,i=new Array(n);for(let e=0;e=0?1:-1),n=(1-Math.abs(s))*(n>=0?1:-1));const a=Math.sqrt(s*s+n*n+i*i);return t[0]=s/a,t[1]=n/a,t[2]=i/a,t},octDecodeVec2s(e,t){for(let s=0,n=0,i=e.length;s=0?1:-1),a=(1-Math.abs(i))*(a>=0?1:-1));const l=Math.sqrt(i*i+a*a+r*r);t[n+0]=i/l,t[n+1]=a/l,t[n+2]=r/l,n+=3}return t}};A.buildEdgeIndices=function(){const e=[],t=[],s=[],n=[],i=[];let a=0;const r=new Uint16Array(3),l=new Uint16Array(3),o=new Uint16Array(3),c=A.vec3(),u=A.vec3(),h=A.vec3(),p=A.vec3(),d=A.vec3(),f=A.vec3(),I=A.vec3();return function(y,m,v,w){!function(i,a){const r={};let l,o,c,u;const h=Math.pow(10,4);let p,A,d=0;for(p=0,A=i.length;pE)||(N=s[_.index1],x=s[_.index2],(!L&&N>65535||x>65535)&&(L=!0),g.push(N),g.push(x));return L?new Uint32Array(g):new Uint16Array(g)}}(),A.planeClipsPositions3=function(e,t,s,n=3){for(let i=0,a=s.length;i{this._needsRebuild=!0})),this._onModelUnloaded=this.viewer.scene.on("modelUnloaded",(e=>{this._needsRebuild=!0}))}get root(){return this._needsRebuild&&this._rebuild(),this._root}_rebuild(){const e=this.viewer.scene;this._root={aabb:e.getAABB()};for(let t in e.objects){const s=e.objects[t];this._insertEntity(this._root,s,1)}this._needsRebuild=!1}_insertEntity(e,t,s){const n=t.aabb;if(s>=this._maxTreeDepth)return e.entities=e.entities||[],void e.entities.push(t);if(e.left&&A.containsAABB3(e.left.aabb,n))return void this._insertEntity(e.left,t,s+1);if(e.right&&A.containsAABB3(e.right.aabb,n))return void this._insertEntity(e.right,t,s+1);const i=e.aabb;d[0]=i[3]-i[0],d[1]=i[4]-i[1],d[2]=i[5]-i[2];let a=0;if(d[1]>d[a]&&(a=1),d[2]>d[a]&&(a=2),!e.left){const r=i.slice();if(r[a+3]=(i[a]+i[a+3])/2,e.left={aabb:r},A.containsAABB3(r,n))return void this._insertEntity(e.left,t,s+1)}if(!e.right){const r=i.slice();if(r[a]=(i[a]+i[a+3])/2,e.right={aabb:r},A.containsAABB3(r,n))return void this._insertEntity(e.right,t,s+1)}e.entities=e.entities||[],e.entities.push(t)}destroy(){const e=this.viewer.scene;e.off(this._onModelLoaded),e.off(this._onModelUnloaded),this._root=null,this._needsRebuild=!0}}class I{constructor(){this._head=[],this._headLength=0,this._tail=[],this._index=0,this._length=0}get length(){return this._length}shift(){if(this._index>=this._headLength){const e=this._head;if(e.length=0,this._head=this._tail,this._tail=e,this._index=0,this._headLength=this._head.length,!this._headLength)return}const e=this._head[this._index];return this._index<0?delete this._head[this._index++]:this._head[this._index++]=void 0,this._length--,e}push(e){return this._length++,this._tail.push(e),this}unshift(e){return this._head[--this._index]=e,this._length++,this}}const y={build:{version:"0.8"},client:{browser:navigator&&navigator.userAgent?navigator.userAgent:"n/a"},components:{scenes:0,models:0,meshes:0,objects:0},memory:{meshes:0,positions:0,colors:0,normals:0,uvs:0,indices:0,textures:0,transforms:0,materials:0,programs:0},frame:{frameCount:0,fps:0,useProgram:0,bindTexture:0,bindArray:0,drawElements:0,drawArrays:0,tasksRun:0,tasksScheduled:0}};var m=[["0",10],["A",26],["a",26],["_",1],["$",1]].map((function(e){for(var t=[],s=e[0].charCodeAt(0),n=s+e[1],i=s;i{};t=t||n,s=s||n;var i=new XMLHttpRequest;i.overrideMimeType("application/json"),i.open("GET",e,!0),i.addEventListener("load",(function(e){var n=e.target.response;if(200===this.status){var i;try{i=JSON.parse(n)}catch(e){s(`utils.loadJSON(): Failed to parse JSON response - ${e}`)}t(i)}else if(0===this.status){console.warn("loadFile: HTTP Status 0 received.");try{t(JSON.parse(n))}catch(e){s(`utils.loadJSON(): Failed to parse JSON response - ${e}`)}}else s(e)}),!1),i.addEventListener("error",(function(e){s(e)}),!1),i.send(null)},loadArraybuffer:function(e,t,s){var n=e=>{};t=t||n,s=s||n;const i=e.match(/^data:(.*?)(;base64)?,(.*)$/);if(i){const e=!!i[2];var a=i[3];a=window.decodeURIComponent(a),e&&(a=window.atob(a));try{const e=new ArrayBuffer(a.length),s=new Uint8Array(e);for(var r=0;r{T.removeItem(e.id),delete B.scenes[e.id],delete E[e.id],y.components.scenes--}))},this.clear=function(){let e;for(const t in B.scenes)B.scenes.hasOwnProperty(t)&&(e=B.scenes[t],"default.scene"===t?e.clear():(e.destroy(),delete B.scenes[e.id]))},this.scheduleTask=function(e,t){b.push(e),b.push(t)},this.runTasks=function(e=-1){let t,s,n=(new Date).getTime(),i=0;for(;b.length>0&&(e<0||n0&&R>0){var t=1e3/R;_+=t,P.push(t),P.length>=30&&(_-=P.shift()),y.frame.fps=Math.round(_/P.length)}!function(e){const t=B.runTasks(e+10),s=B.getNumTasks();y.frame.tasksRun=t,y.frame.tasksScheduled=s,y.frame.tasksBudget=10}(e),function(e){for(var t in D.time=e,B.scenes)if(B.scenes.hasOwnProperty(t)){var s=B.scenes[t];D.sceneId=t,D.startTime=s.startTime,D.deltaTime=null!=D.prevTime?D.time-D.prevTime:0,s.fire("tick",D,!0)}D.prevTime=e}(e),function(){const e=B.scenes,t=!1;let s,n,i,a,r;for(r in e)e.hasOwnProperty(r)&&(s=e[r],n=E[r],n||(n=E[r]={}),i=s.ticksPerOcclusionTest,n.ticksPerOcclusionTest!==i&&(n.ticksPerOcclusionTest=i,n.renderCountdown=i),--s.occlusionTestCountdown<=0&&(s.doOcclusionTest(),s.occlusionTestCountdown=i),a=s.ticksPerRender,n.ticksPerRender!==a&&(n.ticksPerRender=a,n.renderCountdown=a),0==--n.renderCountdown&&(s.render(t),n.renderCountdown=a))}(),C=e,void 0!==window.requestPostAnimationFrame?window.requestPostAnimationFrame(O):requestAnimationFrame(O)};void 0!==window.requestPostAnimationFrame?window.requestPostAnimationFrame(O):requestAnimationFrame(O);class S{get type(){return"Component"}get isComponent(){return!0}constructor(e=null,t={}){if(this.scene=null,"Scene"===this.type)this.scene=this,this.viewer=t.viewer;else{if("Scene"===e.type)this.scene=e;else{if(!(e instanceof S))throw"Invalid param: owner must be a Component";this.scene=e.scene}this._owner=e}this._dontClear=!!t.dontClear,this._renderer=this.scene._renderer,this.meta=t.meta||{},this.id=t.id,this.destroyed=!1,this._attached={},this._attachments=null,this._subIdMap=null,this._subIdEvents=null,this._eventSubs=null,this._eventSubsNum=null,this._events=null,this._eventCallDepth=0,this._ownedComponents=null,this!==this.scene&&this.scene._addComponent(this),this._updateScheduled=!1,e&&e._own(this)}glRedraw(){this._renderer&&(this._renderer.imageDirty(),this.castsShadow&&this._renderer.shadowsDirty())}glResort(){this._renderer&&this._renderer.needStateSort()}get owner(){return this._owner}isType(e){return this.type===e}fire(e,t,s){this._events||(this._events={}),this._eventSubs||(this._eventSubs={},this._eventSubsNum={}),!0!==s&&(this._events[e]=t||!0);const n=this._eventSubs[e];let i;if(n)for(const s in n)n.hasOwnProperty(s)&&(i=n[s],this._eventCallDepth++,this._eventCallDepth<300?i.callback.call(i.scope,t):this.error("fire: potential stack overflow from recursive event '"+e+"' - dropping this event"),this._eventCallDepth--)}on(t,s,n){this._events||(this._events={}),this._subIdMap||(this._subIdMap=new e),this._subIdEvents||(this._subIdEvents={}),this._eventSubs||(this._eventSubs={}),this._eventSubsNum||(this._eventSubsNum={});let i=this._eventSubs[t];i?this._eventSubsNum[t]++:(i={},this._eventSubs[t]=i,this._eventSubsNum[t]=1);const a=this._subIdMap.addItem();i[a]={callback:s,scope:n||this},this._subIdEvents[a]=t;const r=this._events[t];return void 0!==r&&s.call(n||this,r),a}off(e){if(null==e)return;if(!this._subIdEvents)return;const t=this._subIdEvents[e];if(t){delete this._subIdEvents[e];const s=this._eventSubs[t];s&&(delete s[e],this._eventSubsNum[t]--),this._subIdMap.removeItem(e)}}once(e,t,s){const n=this,i=this.on(e,(function(e){n.off(i),t.call(s||this,e)}),s)}hasSubs(e){return this._eventSubsNum&&this._eventSubsNum[e]>0}log(e){e="[LOG]"+this._message(e),window.console.log(e),this.scene.fire("log",e)}_message(e){return" ["+this.type+" "+g.inQuotes(this.id)+"]: "+e}warn(e){e="[WARN]"+this._message(e),window.console.warn(e),this.scene.fire("warn",e)}error(e){e="[ERROR]"+this._message(e),window.console.error(e),this.scene.fire("error",e)}_attach(e){const t=e.name;if(!t)return void this.error("Component 'name' expected");let s=e.component;const n=e.sceneDefault,i=e.sceneSingleton,a=e.type,r=e.on,l=!1!==e.recompiles;if(s&&(g.isNumeric(s)||g.isString(s))){const e=s;if(s=this.scene.components[e],!s)return void this.error("Component not found: "+g.inQuotes(e))}if(!s)if(!0===i){const e=this.scene.types[a];for(const t in e)if(e.hasOwnProperty){s=e[t];break}if(!s)return this.error("Scene has no default component for '"+t+"'"),null}else if(!0===n&&(s=this.scene[t],!s))return this.error("Scene has no default component for '"+t+"'"),null;if(s){if(s.scene.id!==this.scene.id)return void this.error("Not in same scene: "+s.type+" "+g.inQuotes(s.id));if(a&&!s.isType(a))return void this.error("Expected a "+a+" type or subtype: "+s.type+" "+g.inQuotes(s.id))}this._attachments||(this._attachments={});const o=this._attached[t];let c,u,h;if(o){if(s&&o.id===s.id)return;const e=this._attachments[o.id];for(c=e.subs,u=0,h=c.length;u{delete this._ownedComponents[e.id]}),this)}_needUpdate(e){this._updateScheduled||(this._updateScheduled=!0,0===e?this._doUpdate():B.scheduleTask(this._doUpdate,this))}_doUpdate(){this._updateScheduled&&(this._updateScheduled=!1,this._update&&this._update())}_update(){}clear(){if(this._ownedComponents)for(var e in this._ownedComponents)if(this._ownedComponents.hasOwnProperty(e)){this._ownedComponents[e].destroy(),delete this._ownedComponents[e]}}destroy(){if(this.destroyed)return;let e,t,s,n,i,a;if(this.fire("destroyed",this.destroyed=!0),this._attachments)for(e in this._attachments)if(this._attachments.hasOwnProperty(e)){for(t=this._attachments[e],s=t.component,n=t.subs,i=0,a=n.length;i=0?1:0,this.testVertex[1]=this.normal[1]>=0?1:0,this.testVertex[2]=this.normal[2]>=0?1:0}}class F{constructor(){this.planes=[new M,new M,new M,new M,new M,new M]}}function H(e,t,s){const n=A.mulMat4(s,t,L),i=n[0],a=n[1],r=n[2],l=n[3],o=n[4],c=n[5],u=n[6],h=n[7],p=n[8],d=n[9],f=n[10],I=n[11],y=n[12],m=n[13],v=n[14],w=n[15];e.planes[0].set(l-i,h-o,I-p,w-y),e.planes[1].set(l+i,h+o,I+p,w+y),e.planes[2].set(l-a,h-c,I-d,w-m),e.planes[3].set(l+a,h+c,I+d,w+m),e.planes[4].set(l-r,h-u,I-f,w-v),e.planes[5].set(l+r,h+u,I+f,w+v)}function U(e,t){let s=F.INSIDE;const n=N,i=x;n[0]=t[0],n[1]=t[1],n[2]=t[2],i[0]=t[3],i[1]=t[4],i[2]=t[5];const a=[n,i];for(let t=0;t<6;++t){const n=e.planes[t];if(n.normal[0]*a[n.testVertex[0]][0]+n.normal[1]*a[n.testVertex[1]][1]+n.normal[2]*a[n.testVertex[2]][2]+n.offset<0)return F.OUTSIDE;n.normal[0]*a[1-n.testVertex[0]][0]+n.normal[1]*a[1-n.testVertex[1]][1]+n.normal[2]*a[1-n.testVertex[2]][2]+n.offset<0&&(s=F.INTERSECT)}return s}F.INSIDE=0,F.INTERSECT=1,F.OUTSIDE=2;class G extends S{constructor(e={}){if(!e.viewer)throw"[MarqueePicker] Missing config: viewer";if(!e.objectsKdTree3)throw"[MarqueePicker] Missing config: objectsKdTree3";super(e.viewer.scene,e),this.viewer=e.viewer,this._objectsKdTree3=e.objectsKdTree3,this._canvasMarqueeCorner1=A.vec2(),this._canvasMarqueeCorner2=A.vec2(),this._canvasMarquee=A.AABB2(),this._marqueeFrustum=new F,this._marqueeFrustumProjMat=A.mat4(),this._pickMode=!1,this._marqueeElement=document.createElement("div"),document.body.appendChild(this._marqueeElement),this._marqueeElement.style.position="absolute",this._marqueeElement.style["z-index"]="40000005",this._marqueeElement.style.width="8px",this._marqueeElement.style.height="8px",this._marqueeElement.style.visibility="hidden",this._marqueeElement.style.top="0px",this._marqueeElement.style.left="0px",this._marqueeElement.style["box-shadow"]="0 2px 5px 0 #182A3D;",this._marqueeElement.style.opacity=1,this._marqueeElement.style["pointer-events"]="none"}setMarqueeCorner1(e){this._canvasMarqueeCorner1.set(e),this._canvasMarqueeCorner2.set(e),this._updateMarquee()}setMarqueeCorner2(e){this._canvasMarqueeCorner2.set(e),this._updateMarquee()}setMarquee(e,t){this._canvasMarqueeCorner1.set(e),this._canvasMarqueeCorner2.set(t),this._updateMarquee()}setMarqueeVisible(e){this._marqueVisible=e,this._marqueeElement.style.visibility=e?"visible":"hidden"}getMarqueeVisible(){return this._marqueVisible}setPickMode(e){if(e!==G.PICK_MODE_INSIDE&&e!==G.PICK_MODE_INTERSECTS)throw"Illegal MarqueePicker pickMode: must be MarqueePicker.PICK_MODE_INSIDE or MarqueePicker.PICK_MODE_INTERSECTS";e!==this._pickMode&&(this._marqueeElement.style["background-image"]=e===G.PICK_MODE_INSIDE?"url(\"data:image/svg+xml,%3csvg width='100%25' height='100%25' xmlns='http://www.w3.org/2000/svg'%3e%3crect width='100%25' height='100%25' fill='none' rx='6' ry='6' stroke='%23333' stroke-width='4'/%3e%3c/svg%3e\")":"url(\"data:image/svg+xml,%3csvg width='100%25' height='100%25' xmlns='http://www.w3.org/2000/svg'%3e%3crect width='100%25' height='100%25' fill='none' rx='6' ry='6' stroke='%23333' stroke-width='4' stroke-dasharray='6%2c 14' stroke-dashoffset='0' stroke-linecap='square'/%3e%3c/svg%3e\")",this._pickMode=e)}getPickMode(){return this._pickMode}clear(){this.fire("clear",{})}pick(){this._updateMarquee(),this._buildMarqueeFrustum();const e=[],t=(s,n=F.INTERSECT)=>{if(n===F.INTERSECT&&(n=U(this._marqueeFrustum,s.aabb)),n!==F.OUTSIDE){if(s.entities){const t=s.entities;for(let s=0,n=t.length;s3||this._canvasMarquee[3]-this._canvasMarquee[1]>3)&&t(this._objectsKdTree3.root),this.fire("picked",e),e}_updateMarquee(){this._canvasMarquee[0]=Math.min(this._canvasMarqueeCorner1[0],this._canvasMarqueeCorner2[0]),this._canvasMarquee[1]=Math.min(this._canvasMarqueeCorner1[1],this._canvasMarqueeCorner2[1]),this._canvasMarquee[2]=Math.max(this._canvasMarqueeCorner1[0],this._canvasMarqueeCorner2[0]),this._canvasMarquee[3]=Math.max(this._canvasMarqueeCorner1[1],this._canvasMarqueeCorner2[1]),this._marqueeElement.style.width=this._canvasMarquee[2]-this._canvasMarquee[0]+"px",this._marqueeElement.style.height=this._canvasMarquee[3]-this._canvasMarquee[1]+"px",this._marqueeElement.style.left=`${this._canvasMarquee[0]}px`,this._marqueeElement.style.top=`${this._canvasMarquee[1]}px`}_buildMarqueeFrustum(){const e=this.viewer.scene.canvas.canvas,t=e.clientWidth,s=e.clientHeight,n=e.clientLeft,i=e.clientTop,a=2/t,r=2/s,l=e.clientHeight/e.clientWidth,o=(this._canvasMarquee[0]-n)*a-1,c=(this._canvasMarquee[2]-n)*a-1,u=-(this._canvasMarquee[3]-i)*r+1,h=-(this._canvasMarquee[1]-i)*r+1,p=this.viewer.scene.camera.frustum.near*(17*l);A.frustumMat4(o,c,u*l,h*l,p,1e4,this._marqueeFrustumProjMat),H(this._marqueeFrustum,this.viewer.scene.camera.viewMatrix,this._marqueeFrustumProjMat)}destroy(){super.destroy(),this._marqueeElement.parentElement&&(this._marqueeElement.parentElement.removeChild(this._marqueeElement),this._marqueeElement=null,this._objectsKdTree3=null)}}G.PICK_MODE_INTERSECTS=0,G.PICK_MODE_INSIDE=1;class j extends S{constructor(e){super(e.marqueePicker,e);const t=e.marqueePicker,s=t.viewer.scene.canvas.canvas;let n,i,a,r,l,o,c,u=!1,h=!1,p=!1;s.addEventListener("mousedown",(e=>{this.getActive()&&0===e.button&&(c=setTimeout((function(){const a=t.viewer.scene.input;a.keyDown[a.KEY_CTRL]||t.clear(),n=e.pageX,i=e.pageY,l=e.offsetX,t.setMarqueeCorner1([n,i]),u=!0,t.viewer.cameraControl.pointerEnabled=!1,t.setMarqueeVisible(!0),s.style.cursor="crosshair"}),400),h=!0)})),s.addEventListener("mouseup",(e=>{if(!this.getActive())return;if(!u&&!p)return;if(0!==e.button)return;clearTimeout(c),a=e.pageX,r=e.pageY;const s=Math.abs(a-n),l=Math.abs(r-i);u=!1,t.viewer.cameraControl.pointerEnabled=!0,p&&(p=!1),(s>3||l>3)&&t.pick()})),document.addEventListener("mouseup",(e=>{this.getActive()&&0===e.button&&(clearTimeout(c),u&&(t.setMarqueeVisible(!1),u=!1,h=!1,p=!0,t.viewer.cameraControl.pointerEnabled=!0))}),!0),s.addEventListener("mousemove",(e=>{this.getActive()&&0===e.button&&h&&(clearTimeout(c),u&&(a=e.pageX,r=e.pageY,o=e.offsetX,t.setMarqueeVisible(!0),t.setMarqueeCorner2([a,r]),t.setPickMode(l0}log(e){console.log(`[xeokit plugin ${this.id}]: ${e}`)}warn(e){console.warn(`[xeokit plugin ${this.id}]: ${e}`)}error(e){console.error(`[xeokit plugin ${this.id}]: ${e}`)}send(e,t){}destroy(){this.viewer.removePlugin(this)}}const k=A.vec3(),Q=function(){const e=new Float64Array(16),t=new Float64Array(4),s=new Float64Array(4);return function(n,i,a){return a=a||e,t[0]=i[0],t[1]=i[1],t[2]=i[2],t[3]=1,A.transformVec4(n,t,s),A.setMat4Translation(n,s,a),a.slice()}}();function W(e,t,s){const n=Float32Array.from([e[0]])[0],i=e[0]-n,a=Float32Array.from([e[1]])[0],r=e[1]-a,l=Float32Array.from([e[2]])[0],o=e[2]-l;t[0]=n,t[1]=a,t[2]=l,s[0]=i,s[1]=r,s[2]=o}function z(e,t,s,n=1e3){const i=A.getPositionsCenter(e,k),a=Math.round(i[0]/n)*n,r=Math.round(i[1]/n)*n,l=Math.round(i[2]/n)*n;s[0]=a,s[1]=r,s[2]=l;const o=0!==s[0]||0!==s[1]||0!==s[2];if(o)for(let s=0,n=e.length;s0?this.meshes[0]._colorize[3]/255:1}set opacity(e){if(0===this.meshes.length)return;const t=null!=e,s=this.meshes[0]._colorize[3];let n=255;if(t){if(e<0?e=0:e>1&&(e=1),n=Math.floor(255*e),s===n)return}else if(n=255,s===n)return;for(let e=0,t=this.meshes.length;e{this._viewPosDirty=!0,this._needUpdate()})),this._onCameraProjMatrix=this.scene.camera.on("projMatrix",(()=>{this._canvasPosDirty=!0,this._needUpdate()})),this._onEntityDestroyed=null,this._onEntityModelDestroyed=null,this._renderer.addMarker(this),this.entity=t.entity,this.worldPos=t.worldPos,this.occludable=t.occludable}_update(){if(this._viewPosDirty&&(A.transformPoint3(this.scene.camera.viewMatrix,this._worldPos,this._viewPos),this._viewPosDirty=!1,this._canvasPosDirty=!0,this.fire("viewPos",this._viewPos)),this._canvasPosDirty){le.set(this._viewPos),le[3]=1,A.transformPoint4(this.scene.camera.projMatrix,le,oe);const e=this.scene.canvas.boundary;this._canvasPos[0]=Math.floor((1+oe[0]/oe[3])*e[2]/2),this._canvasPos[1]=Math.floor((1-oe[1]/oe[3])*e[3]/2),this._canvasPosDirty=!1,this.fire("canvasPos",this._canvasPos)}}_setVisible(e){this._visible,this._visible=e,this.fire("visible",this._visible)}set entity(e){if(this._entity){if(this._entity===e)return;null!==this._onEntityDestroyed&&(this._entity.off(this._onEntityDestroyed),this._onEntityDestroyed=null),null!==this._onEntityModelDestroyed&&(this._entity.model.off(this._onEntityModelDestroyed),this._onEntityModelDestroyed=null)}this._entity=e,this._entity&&(this._entity instanceof re?this._onEntityModelDestroyed=this._entity.model.on("destroyed",(()=>{this._entity=null,this._onEntityModelDestroyed=null})):this._onEntityDestroyed=this._entity.on("destroyed",(()=>{this._entity=null,this._onEntityDestroyed=null}))),this.fire("entity",this._entity,!0)}get entity(){return this._entity}set occludable(e){(e=!!e)!==this._occludable&&(this._occludable=e)}get occludable(){return this._occludable}set worldPos(e){this._worldPos.set(e||[0,0,0]),W(this._worldPos,this._origin,this._rtcPos),this._occludable&&this._renderer.markerWorldPosUpdated(this),this._viewPosDirty=!0,this.fire("worldPos",this._worldPos),this._needUpdate()}get worldPos(){return this._worldPos}get origin(){return this._origin}get rtcPos(){return this._rtcPos}get viewPos(){return this._update(),this._viewPos}get canvasPos(){return this._update(),this._canvasPos}get visible(){return!!this._visible}destroy(){this.fire("destroyed",!0),this.scene.camera.off(this._onCameraViewMatrix),this.scene.camera.off(this._onCameraProjMatrix),this._entity&&(null!==this._onEntityDestroyed&&this._entity.off(this._onEntityDestroyed),null!==this._onEntityModelDestroyed&&this._entity.model.off(this._onEntityModelDestroyed)),this._renderer.removeMarker(this),super.destroy()}}class ue{constructor(e,t={}){this._color=t.color||"black",this._highlightClass="viewer-ruler-wire-highlighted",this._wire=document.createElement("div"),this._wire.className+=this._wire.className?" viewer-ruler-wire":"viewer-ruler-wire",this._wireClickable=document.createElement("div"),this._wireClickable.className+=this._wireClickable.className?" viewer-ruler-wire-clickable":"viewer-ruler-wire-clickable",this._thickness=t.thickness||1,this._thicknessClickable=t.thicknessClickable||6,this._visible=!0,this._culled=!1;var s=this._wire,n=s.style;n.border="solid "+this._thickness+"px "+this._color,n.position="absolute",n["z-index"]=void 0===t.zIndex?"2000001":t.zIndex,n.width="0px",n.height="0px",n.visibility="visible",n.top="0px",n.left="0px",n["-webkit-transform-origin"]="0 0",n["-moz-transform-origin"]="0 0",n["-ms-transform-origin"]="0 0",n["-o-transform-origin"]="0 0",n["transform-origin"]="0 0",n["-webkit-transform"]="rotate(0deg)",n["-moz-transform"]="rotate(0deg)",n["-ms-transform"]="rotate(0deg)",n["-o-transform"]="rotate(0deg)",n.transform="rotate(0deg)",n.opacity=1,n["pointer-events"]="none",t.onContextMenu,e.appendChild(s);var i=this._wireClickable,a=i.style;a.border="solid "+this._thicknessClickable+"px "+this._color,a.position="absolute",a["z-index"]=void 0===t.zIndex?"2000002":t.zIndex+1,a.width="0px",a.height="0px",a.visibility="visible",a.top="0px",a.left="0px",a["-webkit-transform-origin"]="0 0",a["-moz-transform-origin"]="0 0",a["-ms-transform-origin"]="0 0",a["-o-transform-origin"]="0 0",a["transform-origin"]="0 0",a["-webkit-transform"]="rotate(0deg)",a["-moz-transform"]="rotate(0deg)",a["-ms-transform"]="rotate(0deg)",a["-o-transform"]="rotate(0deg)",a.transform="rotate(0deg)",a.opacity=0,a["pointer-events"]="none",t.onContextMenu,e.appendChild(i),t.onMouseOver&&i.addEventListener("mouseover",(e=>{t.onMouseOver(e,this)})),t.onMouseLeave&&i.addEventListener("mouseleave",(e=>{t.onMouseLeave(e,this)})),t.onMouseWheel&&i.addEventListener("wheel",(e=>{t.onMouseWheel(e,this)})),t.onContextMenu&&i.addEventListener("contextmenu",(e=>{t.onContextMenu(e,this),e.preventDefault()})),this._x1=0,this._y1=0,this._x2=0,this._y2=0,this._update()}get visible(){return"visible"===this._wire.style.visibility}_update(){var e=Math.abs(Math.sqrt((this._x1-this._x2)*(this._x1-this._x2)+(this._y1-this._y2)*(this._y1-this._y2))),t=180*Math.atan2(this._y2-this._y1,this._x2-this._x1)/Math.PI,s=this._wire.style;s.width=Math.round(e)+"px",s.left=Math.round(this._x1)+"px",s.top=Math.round(this._y1)+"px",s["-webkit-transform"]="rotate("+t+"deg)",s["-moz-transform"]="rotate("+t+"deg)",s["-ms-transform"]="rotate("+t+"deg)",s["-o-transform"]="rotate("+t+"deg)",s.transform="rotate("+t+"deg)";var n=this._wireClickable.style;n.width=Math.round(e)+"px",n.left=Math.round(this._x1)+"px",n.top=Math.round(this._y1)+"px",n["-webkit-transform"]="rotate("+t+"deg)",n["-moz-transform"]="rotate("+t+"deg)",n["-ms-transform"]="rotate("+t+"deg)",n["-o-transform"]="rotate("+t+"deg)",n.transform="rotate("+t+"deg)"}setStartAndEnd(e,t,s,n){this._x1=e,this._y1=t,this._x2=s,this._y2=n,this._update()}setColor(e){this._color=e||"black",this._wire.style.border="solid "+this._thickness+"px "+this._color}setOpacity(e){this._wire.style.opacity=e}setVisible(e){this._visible!==e&&(this._visible=!!e,this._wire.style.visibility=this._visible&&!this._culled?"visible":"hidden")}setCulled(e){this._culled!==e&&(this._culled=!!e,this._wire.style.visibility=this._visible&&!this._culled?"visible":"hidden")}setClickable(e){this._wireClickable.style["pointer-events"]=e?"all":"none"}setHighlighted(e){this._highlighted!==e&&(this._highlighted=!!e,this._highlighted?this._wire.classList.add(this._highlightClass):this._wire.classList.remove(this._highlightClass))}destroy(e){this._wire.parentElement&&this._wire.parentElement.removeChild(this._wire),this._wireClickable.parentElement&&this._wireClickable.parentElement.removeChild(this._wireClickable)}}class he{constructor(e,t={}){this._highlightClass="viewer-ruler-dot-highlighted",this._x=0,this._y=0,this._visible=!0,this._dot=document.createElement("div"),this._dot.className+=this._dot.className?" viewer-ruler-dot":"viewer-ruler-dot",this._dotClickable=document.createElement("div"),this._dotClickable.className+=this._dotClickable.className?" viewer-ruler-dot-clickable":"viewer-ruler-dot-clickable",this._visible=!0,this._culled=!1;var s=this._dot,n=s.style;n["border-radius"]="25px",n.border="solid 2px white",n.background="lightgreen",n.position="absolute",n["z-index"]=void 0===t.zIndex?"40000005":t.zIndex,n.width="8px",n.height="8px",n.visibility=!1!==t.visible?"visible":"hidden",n.top="0px",n.left="0px",n["box-shadow"]="0 2px 5px 0 #182A3D;",n.opacity=1,n["pointer-events"]="none",t.onContextMenu,e.appendChild(s);var i=this._dotClickable,a=i.style;a["border-radius"]="35px",a.border="solid 10px white",a.position="absolute",a["z-index"]=void 0===t.zIndex?"40000007":t.zIndex+1,a.width="8px",a.height="8px",a.visibility="visible",a.top="0px",a.left="0px",a.opacity=0,a["pointer-events"]="none",t.onContextMenu,e.appendChild(i),t.onMouseOver&&i.addEventListener("mouseover",(e=>{t.onMouseOver(e,this)})),t.onMouseLeave&&i.addEventListener("mouseleave",(e=>{t.onMouseLeave(e,this)})),t.onMouseWheel&&i.addEventListener("wheel",(e=>{t.onMouseWheel(e,this)})),t.onContextMenu&&i.addEventListener("contextmenu",(e=>{t.onContextMenu(e,this),e.preventDefault()})),this.setPos(t.x||0,t.y||0),this.setFillColor(t.fillColor),this.setBorderColor(t.borderColor)}setPos(e,t){this._x=e,this._y=t;var s=this._dot.style;s.left=Math.round(e)-4+"px",s.top=Math.round(t)-4+"px";var n=this._dotClickable.style;n.left=Math.round(e)-9+"px",n.top=Math.round(t)-9+"px"}setFillColor(e){this._dot.style.background=e||"lightgreen"}setBorderColor(e){this._dot.style.border="solid 2px"+(e||"black")}setOpacity(e){this._dot.style.opacity=e}setVisible(e){this._visible!==e&&(this._visible=!!e,this._dot.style.visibility=this._visible&&!this._culled?"visible":"hidden")}setCulled(e){this._culled!==e&&(this._culled=!!e,this._dot.style.visibility=this._visible&&!this._culled?"visible":"hidden")}setClickable(e){this._dotClickable.style["pointer-events"]=e?"all":"none"}setHighlighted(e){this._highlighted!==e&&(this._highlighted=!!e,this._highlighted?this._dot.classList.add(this._highlightClass):this._dot.classList.remove(this._highlightClass))}destroy(){this.setVisible(!1),this._dot.parentElement&&this._dot.parentElement.removeChild(this._dot),this._dotClickable.parentElement&&this._dotClickable.parentElement.removeChild(this._dotClickable)}}class pe{constructor(e,t={}){this._highlightClass="viewer-ruler-label-highlighted",this._prefix=t.prefix||"",this._x=0,this._y=0,this._visible=!0,this._culled=!1,this._label=document.createElement("div"),this._label.className+=this._label.className?" viewer-ruler-label":"viewer-ruler-label";var s=this._label,n=s.style;n["border-radius"]="5px",n.color="white",n.padding="4px",n.border="solid 1px",n.background="lightgreen",n.position="absolute",n["z-index"]=void 0===t.zIndex?"5000005":t.zIndex,n.width="auto",n.height="auto",n.visibility="visible",n.top="0px",n.left="0px",n["pointer-events"]="all",n.opacity=1,t.onContextMenu,s.innerText="",e.appendChild(s),this.setPos(t.x||0,t.y||0),this.setFillColor(t.fillColor),this.setBorderColor(t.fillColor),this.setText(t.text),t.onMouseOver&&s.addEventListener("mouseover",(e=>{t.onMouseOver(e,this),e.preventDefault()})),t.onMouseLeave&&s.addEventListener("mouseleave",(e=>{t.onMouseLeave(e,this),e.preventDefault()})),t.onMouseWheel&&s.addEventListener("wheel",(e=>{t.onMouseWheel(e,this)})),t.onContextMenu&&s.addEventListener("contextmenu",(e=>{t.onContextMenu(e,this),e.preventDefault()}))}setPos(e,t){this._x=e,this._y=t;var s=this._label.style;s.left=Math.round(e)-20+"px",s.top=Math.round(t)-12+"px"}setPosOnWire(e,t,s,n){var i=e+.5*(s-e),a=t+.5*(n-t),r=this._label.style;r.left=Math.round(i)-20+"px",r.top=Math.round(a)-12+"px"}setPosBetweenWires(e,t,s,n,i,a){var r=(e+s+i)/3,l=(t+n+a)/3,o=this._label.style;o.left=Math.round(r)-20+"px",o.top=Math.round(l)-12+"px"}setText(e){this._label.innerHTML=this._prefix+(e||"")}setFillColor(e){this._fillColor=e||"lightgreen",this._label.style.background=this._fillColor}setBorderColor(e){this._borderColor=e||"black",this._label.style.border="solid 1px "+this._borderColor}setOpacity(e){this._label.style.opacity=e}setVisible(e){this._visible!==e&&(this._visible=!!e,this._label.style.visibility=this._visible&&!this._culled?"visible":"hidden")}setCulled(e){this._culled!==e&&(this._culled=!!e,this._label.style.visibility=this._visible&&!this._culled?"visible":"hidden")}setHighlighted(e){this._highlighted!==e&&(this._highlighted=!!e,this._highlighted?this._label.classList.add(this._highlightClass):this._label.classList.remove(this._highlightClass))}setClickable(e){this._label.style["pointer-events"]=e?"all":"none"}destroy(){this._label.parentElement&&this._label.parentElement.removeChild(this._label)}}var Ae=A.vec3(),de=A.vec3();class fe extends S{constructor(e,t={}){if(super(e.viewer.scene,t),this.plugin=e,this._container=t.container,!this._container)throw"config missing: container";this._color=t.color||e.defaultColor;var s=this.plugin.viewer.scene;this._originMarker=new ce(s,t.origin),this._cornerMarker=new ce(s,t.corner),this._targetMarker=new ce(s,t.target),this._originWorld=A.vec3(),this._cornerWorld=A.vec3(),this._targetWorld=A.vec3(),this._wp=new Float64Array(12),this._vp=new Float64Array(12),this._pp=new Float64Array(12),this._cp=new Int16Array(6);const n=t.onMouseOver?e=>{t.onMouseOver(e,this)}:null,i=t.onMouseLeave?e=>{t.onMouseLeave(e,this)}:null,a=t.onContextMenu?e=>{t.onContextMenu(e,this)}:null,r=e=>{this.plugin.viewer.scene.canvas.canvas.dispatchEvent(new WheelEvent("wheel",e))};this._originDot=new he(this._container,{fillColor:this._color,zIndex:void 0!==e.zIndex?e.zIndex+2:void 0,onMouseOver:n,onMouseLeave:i,onMouseWheel:r,onContextMenu:a}),this._cornerDot=new he(this._container,{fillColor:this._color,zIndex:void 0!==e.zIndex?e.zIndex+2:void 0,onMouseOver:n,onMouseLeave:i,onMouseWheel:r,onContextMenu:a}),this._targetDot=new he(this._container,{fillColor:this._color,zIndex:void 0!==e.zIndex?e.zIndex+2:void 0,onMouseOver:n,onMouseLeave:i,onMouseWheel:r,onContextMenu:a}),this._originWire=new ue(this._container,{color:this._color||"blue",thickness:1,zIndex:e.zIndex,onMouseOver:n,onMouseLeave:i,onMouseWheel:r,onContextMenu:a}),this._targetWire=new ue(this._container,{color:this._color||"red",thickness:1,zIndex:void 0!==e.zIndex?e.zIndex+1:void 0,onMouseOver:n,onMouseLeave:i,onMouseWheel:r,onContextMenu:a}),this._angleLabel=new pe(this._container,{fillColor:this._color||"#00BBFF",prefix:"",text:"",zIndex:e.zIndex+2,onMouseOver:n,onMouseLeave:i,onMouseWheel:r,onContextMenu:a}),this._wpDirty=!1,this._vpDirty=!1,this._cpDirty=!1,this._visible=!1,this._originVisible=!1,this._cornerVisible=!1,this._targetVisible=!1,this._originWireVisible=!1,this._targetWireVisible=!1,this._angleVisible=!1,this._labelsVisible=!1,this._clickable=!1,this._originMarker.on("worldPos",(e=>{this._originWorld.set(e||[0,0,0]),this._wpDirty=!0,this._needUpdate(0)})),this._cornerMarker.on("worldPos",(e=>{this._cornerWorld.set(e||[0,0,0]),this._wpDirty=!0,this._needUpdate(0)})),this._targetMarker.on("worldPos",(e=>{this._targetWorld.set(e||[0,0,0]),this._wpDirty=!0,this._needUpdate(0)})),this._onViewMatrix=s.camera.on("viewMatrix",(()=>{this._vpDirty=!0,this._needUpdate(0)})),this._onProjMatrix=s.camera.on("projMatrix",(()=>{this._cpDirty=!0,this._needUpdate()})),this._onCanvasBoundary=s.canvas.on("boundary",(()=>{this._cpDirty=!0,this._needUpdate(0)})),this._onSectionPlaneUpdated=s.on("sectionPlaneUpdated",(()=>{this._sectionPlanesDirty=!0,this._needUpdate()})),this.approximate=t.approximate,this.visible=t.visible,this.originVisible=t.originVisible,this.cornerVisible=t.cornerVisible,this.targetVisible=t.targetVisible,this.originWireVisible=t.originWireVisible,this.targetWireVisible=t.targetWireVisible,this.angleVisible=t.angleVisible,this.labelsVisible=t.labelsVisible}_update(){if(!this._visible)return;const e=this.plugin.viewer.scene;if(this._wpDirty&&(this._wp[0]=this._originWorld[0],this._wp[1]=this._originWorld[1],this._wp[2]=this._originWorld[2],this._wp[3]=1,this._wp[4]=this._cornerWorld[0],this._wp[5]=this._cornerWorld[1],this._wp[6]=this._cornerWorld[2],this._wp[7]=1,this._wp[8]=this._targetWorld[0],this._wp[9]=this._targetWorld[1],this._wp[10]=this._targetWorld[2],this._wp[11]=1,this._wpDirty=!1,this._vpDirty=!0),this._vpDirty&&(A.transformPositions4(e.camera.viewMatrix,this._wp,this._vp),this._vp[3]=1,this._vp[7]=1,this._vp[11]=1,this._vpDirty=!1,this._cpDirty=!0),this._sectionPlanesDirty){if(this._isSliced(this._wp))return this._angleLabel.setCulled(!0),this._originWire.setCulled(!0),this._targetWire.setCulled(!0),this._originDot.setCulled(!0),this._cornerDot.setCulled(!0),void this._targetDot.setCulled(!0);this._angleLabel.setCulled(!1),this._originWire.setCulled(!1),this._targetWire.setCulled(!1),this._originDot.setCulled(!1),this._cornerDot.setCulled(!1),this._targetDot.setCulled(!1),this._sectionPlanesDirty=!0}if(this._cpDirty){const p=-.3,d=this._originMarker.viewPos[2],f=this._cornerMarker.viewPos[2],I=this._targetMarker.viewPos[2];if(d>p||f>p||I>p)return this._originDot.setVisible(!1),this._cornerDot.setVisible(!1),this._targetDot.setVisible(!1),this._originWire.setVisible(!1),this._targetWire.setVisible(!1),void this._angleLabel.setCulled(!0);A.transformPositions4(e.camera.project.matrix,this._vp,this._pp);var t=this._pp,s=this._cp,n=e.canvas.canvas.getBoundingClientRect();const y=this._container.getBoundingClientRect();for(var i=n.top-y.top,a=n.left-y.left,r=e.canvas.boundary,l=r[2],o=r[3],c=0,u=0,h=t.length;u{e.snappedToVertex||e.snappedToEdge?(n&&(n.visible=!0,n.canvasPos=e.canvasPos,n.snappedCanvasPos=e.snappedCanvasPos||e.canvasPos,n.snapped=!0),this.markerDiv.style.background="greenyellow",this.markerDiv.style.border="2px solid green"):(n&&(n.visible=!0,n.canvasPos=e.canvasPos,n.snappedCanvasPos=e.canvasPos,n.snapped=!1),this.markerDiv.style.background="pink",this.markerDiv.style.border="2px solid red");const s=e.snappedCanvasPos||e.canvasPos;switch(i=!0,a=e.entity,o.set(e.worldPos),c.set(s),this._mouseState){case 0:this.markerDiv.style.marginLeft=s[0]-5+"px",this.markerDiv.style.marginTop=s[1]-5+"px";break;case 1:this._currentAngleMeasurement&&(this._currentAngleMeasurement.originWireVisible=!0,this._currentAngleMeasurement.targetWireVisible=!1,this._currentAngleMeasurement.cornerVisible=!0,this._currentAngleMeasurement.angleVisible=!1,this._currentAngleMeasurement.corner.worldPos=e.worldPos),this.markerDiv.style.marginLeft="-10000px",this.markerDiv.style.marginTop="-10000px",t.style.cursor="pointer";break;case 2:this._currentAngleMeasurement&&(this._currentAngleMeasurement.targetWireVisible=!0,this._currentAngleMeasurement.targetVisible=!0,this._currentAngleMeasurement.angleVisible=!0,this._currentAngleMeasurement.target.worldPos=e.worldPos),this.markerDiv.style.marginLeft="-10000px",this.markerDiv.style.marginTop="-10000px",t.style.cursor="pointer"}})),t.addEventListener("mousedown",this._onMouseDown=e=>{1===e.which&&(r=e.clientX,l=e.clientY)}),t.addEventListener("mouseup",this._onMouseUp=e=>{if(1===e.which&&!(e.clientX>r+20||e.clientXl+20||e.clientY{if(i=!1,n&&(n.visible=!0,n.pointerPos=e.canvasPos,n.snappedCanvasPos=e.snappedCanvasPos||e.canvasPos,n.snapped=!1),this.markerDiv.style.marginLeft="-100px",this.markerDiv.style.marginTop="-100px",this._currentAngleMeasurement){switch(this._mouseState){case 0:this._currentAngleMeasurement.originVisible=!1;break;case 1:this._currentAngleMeasurement.cornerVisible=!1,this._currentAngleMeasurement.originWireVisible=!1,this._currentAngleMeasurement.targetVisible=!1,this._currentAngleMeasurement.targetWireVisible=!1,this._currentAngleMeasurement.angleVisible=!1;break;case 2:this._currentAngleMeasurement.targetVisible=!1,this._currentAngleMeasurement.targetWireVisible=!1,this._currentAngleMeasurement.angleVisible=!1}t.style.cursor="default"}})),this._active=!0}deactivate(){if(!this._active)return;this.pointerLens&&(this.pointerLens.visible=!1),this._markerDiv&&this._destroyMarkerDiv(),this.reset();const e=this.scene.canvas.canvas;e.removeEventListener("mousedown",this._onMouseDown),e.removeEventListener("mouseup",this._onMouseUp);const t=this.angleMeasurementsPlugin.viewer.cameraControl;t.off(this._onMouseHoverSurface),t.off(this._onPickedSurface),t.off(this._onHoverNothing),t.off(this._onPickedNothing),this._currentAngleMeasurement=null,this._active=!1}reset(){this._active&&(this._destroyMarkerDiv(),this._initMarkerDiv(),this._currentAngleMeasurement&&(this._currentAngleMeasurement.destroy(),this._currentAngleMeasurement=null),this._mouseState=0)}destroy(){this.deactivate(),super.destroy()}}class me extends V{constructor(e,t={}){super("AngleMeasurements",e),this._container=t.container||document.body,this._defaultControl=null,this._measurements={},this.defaultColor=void 0!==t.defaultColor?t.defaultColor:"#00BBFF",this.defaultLabelsVisible=!1!==t.defaultLabelsVisible,this.zIndex=t.zIndex||1e4,this._onMouseOver=(e,t)=>{this.fire("mouseOver",{plugin:this,angleMeasurement:t,measurement:t,event:e})},this._onMouseLeave=(e,t)=>{this.fire("mouseLeave",{plugin:this,angleMeasurement:t,measurement:t,event:e})},this._onContextMenu=(e,t)=>{this.fire("contextMenu",{plugin:this,angleMeasurement:t,measurement:t,event:e})}}getContainerElement(){return this._container}send(e,t){}get control(){return this._defaultControl||(this._defaultControl=new ye(this,{})),this._defaultControl}get measurements(){return this._measurements}createMeasurement(e={}){this.viewer.scene.components[e.id]&&(this.error("Viewer scene component with this ID already exists: "+e.id),delete e.id);const t=e.origin,s=e.corner,n=e.target,i=new fe(this,{id:e.id,plugin:this,container:this._container,origin:{entity:t.entity,worldPos:t.worldPos},corner:{entity:s.entity,worldPos:s.worldPos},target:{entity:n.entity,worldPos:n.worldPos},visible:e.visible,originVisible:!0,originWireVisible:!0,cornerVisible:!0,targetWireVisible:!0,targetVisible:!0,onMouseOver:this._onMouseOver,onMouseLeave:this._onMouseLeave,onContextMenu:this._onContextMenu});return this._measurements[i.id]=i,i.on("destroyed",(()=>{delete this._measurements[i.id]})),this.fire("measurementCreated",i),i}destroyMeasurement(e){const t=this._measurements[e];t?(t.destroy(),this.fire("measurementDestroyed",t)):this.log("AngleMeasurement not found: "+e)}setLabelsShown(e){for(const[t,s]of Object.entries(this.measurements))s.labelShown=e}clear(){const e=Object.keys(this._measurements);for(var t=0,s=e.length;t{this.plugin.fire("markerClicked",this)}),this._marker.addEventListener("mouseenter",this._onMouseEnterExternalMarker=()=>{this.plugin.fire("markerMouseEnter",this)}),this._marker.addEventListener("mouseleave",this._onMouseLeaveExternalMarker=()=>{this.plugin.fire("markerMouseLeave",this)}),this._markerExternal=!0):(this._markerHTML=t.markerHTML,this._htmlDirty=!0,this._markerExternal=!1),t.labelElement?(this._label=t.labelElement,this._labelExternal=!0):(this._labelHTML=t.labelHTML,this._htmlDirty=!0,this._labelExternal=!1),this._markerShown=!!t.markerShown,this._labelShown=!!t.labelShown,this._values=t.values||{},this._layoutDirty=!0,this._visibilityDirty=!0,this._buildHTML(),this._onTick=this.scene.on("tick",(()=>{this._htmlDirty&&(this._buildHTML(),this._htmlDirty=!1,this._layoutDirty=!0,this._visibilityDirty=!0),(this._layoutDirty||this._visibilityDirty)&&(this._markerShown||this._labelShown)&&(this._updatePosition(),this._layoutDirty=!1),this._visibilityDirty&&(this._marker.style.visibility=this.visible&&this._markerShown?"visible":"hidden",this._label.style.visibility=this.visible&&this._markerShown&&this._labelShown?"visible":"hidden",this._visibilityDirty=!1)})),this.on("canvasPos",(()=>{this._layoutDirty=!0})),this.on("visible",(()=>{this._visibilityDirty=!0})),this.setMarkerShown(!1!==t.markerShown),this.setLabelShown(t.labelShown),this.eye=t.eye?t.eye.slice():null,this.look=t.look?t.look.slice():null,this.up=t.up?t.up.slice():null,this.projection=t.projection}_buildHTML(){if(!this._markerExternal){this._marker&&(this._container.removeChild(this._marker),this._marker=null);let e=this._markerHTML||"

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

";g.isArray(e)&&(e=e.join("")),e=this._renderTemplate(e);const t=document.createRange().createContextualFragment(e);this._label=t.firstChild,this._container.appendChild(this._label),this._label.style.visibility=this._markerShown&&this._labelShown?"visible":"hidden",this._label.addEventListener("wheel",(e=>{this.plugin.viewer.scene.canvas.canvas.dispatchEvent(new WheelEvent("wheel",e))}))}}_updatePosition(){const e=this.scene.canvas.boundary,t=e[0],s=e[1],n=this.canvasPos;this._marker.style.left=Math.floor(t+n[0])-12+"px",this._marker.style.top=Math.floor(s+n[1])-12+"px",this._marker.style["z-index"]=90005+Math.floor(this._viewPos[2])+1;this._label.style.left=20+Math.floor(t+n[0]+20)+"px",this._label.style.top=Math.floor(s+n[1]+-17)+"px",this._label.style["z-index"]=90005+Math.floor(this._viewPos[2])+1}_renderTemplate(e){for(var t in this._values)if(this._values.hasOwnProperty(t)){const s=this._values[t];e=e.replace(new RegExp("{{"+t+"}}","g"),s)}return e}setMarkerShown(e){e=!!e,this._markerShown!==e&&(this._markerShown=e,this._visibilityDirty=!0)}getMarkerShown(){return this._markerShown}setLabelShown(e){e=!!e,this._labelShown!==e&&(this._labelShown=e,this._visibilityDirty=!0)}getLabelShown(){return this._labelShown}setField(e,t){this._values[e]=t||"",this._htmlDirty=!0}getField(e){return this._values[e]}setValues(e){for(var t in e)if(e.hasOwnProperty(t)){const s=e[t];this.setField(t,s)}}getValues(){return this._values}destroy(){this._marker&&(this._markerExternal?(this._marker.removeEventListener("click",this._onMouseClickedExternalMarker),this._marker.removeEventListener("mouseenter",this._onMouseEnterExternalMarker),this._marker.removeEventListener("mouseleave",this._onMouseLeaveExternalMarker),this._marker=null):this._marker.parentNode.removeChild(this._marker)),this._label&&(this._labelExternal||this._label.parentNode.removeChild(this._label),this._label=null),this.scene.off(this._onTick),super.destroy()}}const we=A.vec3(),ge=A.vec3(),Ee=A.vec3();class Te extends V{constructor(e,t){super("Annotations",e),this._labelHTML=t.labelHTML||"
",this._markerHTML=t.markerHTML||"
",this._container=t.container||document.body,this._values=t.values||{},this.annotations={},this.surfaceOffset=t.surfaceOffset}getContainerElement(){return this._container}send(e,t){if("clearAnnotations"===e)this.clear()}set surfaceOffset(e){null==e&&(e=.3),this._surfaceOffset=e}get surfaceOffset(){return this._surfaceOffset}createAnnotation(e){var t,s;if(this.viewer.scene.components[e.id]&&(this.error("Viewer component with this ID already exists: "+e.id),delete e.id),e.pickResult=e.pickResult||e.pickRecord,e.pickResult){const n=e.pickResult;if(n.worldPos&&n.worldNormal){const e=A.normalizeVec3(n.worldNormal,we),i=A.mulVec3Scalar(e,this._surfaceOffset,ge);t=A.addVec3(n.worldPos,i,Ee),s=n.entity}else this.error("Param 'pickResult' does not have both worldPos and worldNormal")}else t=e.worldPos,s=e.entity;var n=null;e.markerElementId&&((n=document.getElementById(e.markerElementId))||this.error("Can't find DOM element for 'markerElementId' value '"+e.markerElementId+"' - defaulting to internally-generated empty DIV"));var i=null;e.labelElementId&&((i=document.getElementById(e.labelElementId))||this.error("Can't find DOM element for 'labelElementId' value '"+e.labelElementId+"' - defaulting to internally-generated empty DIV"));const a=new ve(this.viewer.scene,{id:e.id,plugin:this,entity:s,worldPos:t,container:this._container,markerElement:n,labelElement:i,markerHTML:e.markerHTML||this._markerHTML,labelHTML:e.labelHTML||this._labelHTML,occludable:e.occludable,values:g.apply(e.values,g.apply(this._values,{})),markerShown:e.markerShown,labelShown:e.labelShown,eye:e.eye,look:e.look,up:e.up,projection:e.projection,visible:!1!==e.visible});return this.annotations[a.id]=a,a.on("destroyed",(()=>{delete this.annotations[a.id],this.fire("annotationDestroyed",a.id)})),this.fire("annotationCreated",a.id),a}destroyAnnotation(e){var t=this.annotations[e];t?t.destroy():this.log("Annotation not found: "+e)}clear(){const e=Object.keys(this.annotations);for(var t=0,s=e.length;t
',this._canvas.parentElement.appendChild(e),this._element=e,this._isCustom=!1,this._adjustPosition()}_injectDefaultCSS(){const e="xeokit-spinner-css";if(document.getElementById(e))return;const t=document.createElement("style");t.innerHTML=".sk-fading-circle { background: transparent; margin: 20px auto; width: 50px; height:50px; position: relative; } .sk-fading-circle .sk-circle { width: 120%; height: 120%; position: absolute; left: 0; top: 0; } .sk-fading-circle .sk-circle:before { content: ''; display: block; margin: 0 auto; width: 15%; height: 15%; background-color: #ff8800; border-radius: 100%; -webkit-animation: sk-circleFadeDelay 1.2s infinite ease-in-out both; animation: sk-circleFadeDelay 1.2s infinite ease-in-out both; } .sk-fading-circle .sk-circle2 { -webkit-transform: rotate(30deg); -ms-transform: rotate(30deg); transform: rotate(30deg); } .sk-fading-circle .sk-circle3 { -webkit-transform: rotate(60deg); -ms-transform: rotate(60deg); transform: rotate(60deg); } .sk-fading-circle .sk-circle4 { -webkit-transform: rotate(90deg); -ms-transform: rotate(90deg); transform: rotate(90deg); } .sk-fading-circle .sk-circle5 { -webkit-transform: rotate(120deg); -ms-transform: rotate(120deg); transform: rotate(120deg); } .sk-fading-circle .sk-circle6 { -webkit-transform: rotate(150deg); -ms-transform: rotate(150deg); transform: rotate(150deg); } .sk-fading-circle .sk-circle7 { -webkit-transform: rotate(180deg); -ms-transform: rotate(180deg); transform: rotate(180deg); } .sk-fading-circle .sk-circle8 { -webkit-transform: rotate(210deg); -ms-transform: rotate(210deg); transform: rotate(210deg); } .sk-fading-circle .sk-circle9 { -webkit-transform: rotate(240deg); -ms-transform: rotate(240deg); transform: rotate(240deg); } .sk-fading-circle .sk-circle10 { -webkit-transform: rotate(270deg); -ms-transform: rotate(270deg); transform: rotate(270deg); } .sk-fading-circle .sk-circle11 { -webkit-transform: rotate(300deg); -ms-transform: rotate(300deg); transform: rotate(300deg); } .sk-fading-circle .sk-circle12 { -webkit-transform: rotate(330deg); -ms-transform: rotate(330deg); transform: rotate(330deg); } .sk-fading-circle .sk-circle2:before { -webkit-animation-delay: -1.1s; animation-delay: -1.1s; } .sk-fading-circle .sk-circle3:before { -webkit-animation-delay: -1s; animation-delay: -1s; } .sk-fading-circle .sk-circle4:before { -webkit-animation-delay: -0.9s; animation-delay: -0.9s; } .sk-fading-circle .sk-circle5:before { -webkit-animation-delay: -0.8s; animation-delay: -0.8s; } .sk-fading-circle .sk-circle6:before { -webkit-animation-delay: -0.7s; animation-delay: -0.7s; } .sk-fading-circle .sk-circle7:before { -webkit-animation-delay: -0.6s; animation-delay: -0.6s; } .sk-fading-circle .sk-circle8:before { -webkit-animation-delay: -0.5s; animation-delay: -0.5s; } .sk-fading-circle .sk-circle9:before { -webkit-animation-delay: -0.4s; animation-delay: -0.4s; } .sk-fading-circle .sk-circle10:before { -webkit-animation-delay: -0.3s; animation-delay: -0.3s; } .sk-fading-circle .sk-circle11:before { -webkit-animation-delay: -0.2s; animation-delay: -0.2s; } .sk-fading-circle .sk-circle12:before { -webkit-animation-delay: -0.1s; animation-delay: -0.1s; } @-webkit-keyframes sk-circleFadeDelay { 0%, 39%, 100% { opacity: 0; } 40% { opacity: 1; } } @keyframes sk-circleFadeDelay { 0%, 39%, 100% { opacity: 0; } 40% { opacity: 1; } }",t.id=e,document.body.appendChild(t)}_adjustPosition(){if(this._isCustom)return;const e=this._canvas,t=this._element,s=t.style;s.left=e.offsetLeft+.5*e.clientWidth-.5*t.clientWidth+"px",s.top=e.offsetTop+.5*e.clientHeight-.5*t.clientHeight+"px"}set processes(e){if(e=e||0,this._processes===e)return;if(e<0)return;const t=this._processes;this._processes=e;const s=this._element;s&&(s.style.visibility=this._processes>0?"visible":"hidden"),this.fire("processes",this._processes),0===this._processes&&this._processes!==t&&this.fire("zeroProcesses",this._processes)}get processes(){return this._processes}_destroy(){this._element&&!this._isCustom&&(this._element.parentNode.removeChild(this._element),this._element=null);const e=document.getElementById("xeokit-spinner-css");e&&e.parentNode.removeChild(e)}}const De=["webgl2","experimental-webgl","webkit-3d","moz-webgl","moz-glweb20"];class Pe extends S{constructor(e,t={}){super(e,t),this._backgroundColor=A.vec3([t.backgroundColor?t.backgroundColor[0]:1,t.backgroundColor?t.backgroundColor[1]:1,t.backgroundColor?t.backgroundColor[2]:1]),this._backgroundColorFromAmbientLight=!!t.backgroundColorFromAmbientLight,this.canvas=t.canvas,this.gl=null,this.webgl2=!1,this.transparent=!!t.transparent,this.contextAttr=t.contextAttr||{},this.contextAttr.alpha=this.transparent,this.contextAttr.preserveDrawingBuffer=!!this.contextAttr.preserveDrawingBuffer,this.contextAttr.stencil=!1,this.contextAttr.premultipliedAlpha=!!this.contextAttr.premultipliedAlpha,this.contextAttr.antialias=!1!==this.contextAttr.antialias,this.resolutionScale=t.resolutionScale,this.canvas.width=Math.round(this.canvas.clientWidth*this._resolutionScale),this.canvas.height=Math.round(this.canvas.clientHeight*this._resolutionScale),this.boundary=[this.canvas.offsetLeft,this.canvas.offsetTop,this.canvas.clientWidth,this.canvas.clientHeight],this._initWebGL(t);const s=this;this.canvas.addEventListener("webglcontextlost",this._webglcontextlostListener=function(e){console.time("webglcontextrestored"),s.scene._webglContextLost(),s.fire("webglcontextlost"),e.preventDefault()},!1),this.canvas.addEventListener("webglcontextrestored",this._webglcontextrestoredListener=function(e){s._initWebGL(),s.gl&&(s.scene._webglContextRestored(s.gl),s.fire("webglcontextrestored",s.gl),e.preventDefault()),console.timeEnd("webglcontextrestored")},!1);let n=!0;new ResizeObserver((e=>{for(const t of e)t.contentBoxSize&&(n=!0)})).observe(this.canvas),this._tick=this.scene.on("tick",(()=>{n&&(n=!1,s.canvas.width=Math.round(s.canvas.clientWidth*s._resolutionScale),s.canvas.height=Math.round(s.canvas.clientHeight*s._resolutionScale),s.boundary[0]=s.canvas.offsetLeft,s.boundary[1]=s.canvas.offsetTop,s.boundary[2]=s.canvas.clientWidth,s.boundary[3]=s.canvas.clientHeight,s.fire("boundary",s.boundary))})),this._spinner=new be(this.scene,{canvas:this.canvas,elementId:t.spinnerElementId})}get type(){return"Canvas"}get backgroundColorFromAmbientLight(){return this._backgroundColorFromAmbientLight}set backgroundColorFromAmbientLight(e){this._backgroundColorFromAmbientLight=!1!==e,this.glRedraw()}get backgroundColor(){return this._backgroundColor}set backgroundColor(e){e?(this._backgroundColor[0]=e[0],this._backgroundColor[1]=e[1],this._backgroundColor[2]=e[2]):(this._backgroundColor[0]=1,this._backgroundColor[1]=1,this._backgroundColor[2]=1),this.glRedraw()}get resolutionScale(){return this._resolutionScale}set resolutionScale(e){if((e=e||1)===this._resolutionScale)return;this._resolutionScale=e;const t=this.canvas;t.width=Math.round(t.clientWidth*this._resolutionScale),t.height=Math.round(t.clientHeight*this._resolutionScale),this.glRedraw()}get spinner(){return this._spinner}_createCanvas(){const e="xeokit-canvas-"+A.createUUID(),t=document.getElementsByTagName("body")[0],s=document.createElement("div"),n=s.style;n.height="100%",n.width="100%",n.padding="0",n.margin="0",n.background="rgba(0,0,0,0);",n.float="left",n.left="0",n.top="0",n.position="absolute",n.opacity="1.0",n["z-index"]="-10000",s.innerHTML+='',t.appendChild(s),this.canvas=document.getElementById(e)}_getElementXY(e){let t=0,s=0;for(;e;)t+=e.offsetLeft-e.scrollLeft,s+=e.offsetTop-e.scrollTop,e=e.offsetParent;return{x:t,y:s}}_initWebGL(){if(!this.gl)for(let e=0;!this.gl&&e0?Ce.FS_MAX_FLOAT_PRECISION="highp":e.getShaderPrecisionFormat(e.FRAGMENT_SHADER,e.MEDIUM_FLOAT).precision>0?Ce.FS_MAX_FLOAT_PRECISION="mediump":Ce.FS_MAX_FLOAT_PRECISION="lowp":Ce.FS_MAX_FLOAT_PRECISION="mediump",Ce.DEPTH_BUFFER_BITS=e.getParameter(e.DEPTH_BITS),Ce.MAX_TEXTURE_SIZE=e.getParameter(e.MAX_TEXTURE_SIZE),Ce.MAX_CUBE_MAP_SIZE=e.getParameter(e.MAX_CUBE_MAP_TEXTURE_SIZE),Ce.MAX_RENDERBUFFER_SIZE=e.getParameter(e.MAX_RENDERBUFFER_SIZE),Ce.MAX_TEXTURE_UNITS=e.getParameter(e.MAX_COMBINED_TEXTURE_IMAGE_UNITS),Ce.MAX_TEXTURE_IMAGE_UNITS=e.getParameter(e.MAX_TEXTURE_IMAGE_UNITS),Ce.MAX_VERTEX_ATTRIBS=e.getParameter(e.MAX_VERTEX_ATTRIBS),Ce.MAX_VERTEX_UNIFORM_VECTORS=e.getParameter(e.MAX_VERTEX_UNIFORM_VECTORS),Ce.MAX_FRAGMENT_UNIFORM_VECTORS=e.getParameter(e.MAX_FRAGMENT_UNIFORM_VECTORS),Ce.MAX_VARYING_VECTORS=e.getParameter(e.MAX_VARYING_VECTORS),e.getSupportedExtensions().forEach((function(e){Ce.SUPPORTED_EXTENSIONS[e]=!0})))}class Be{constructor(){this.entity=null,this.primitive=null,this.primIndex=-1,this.pickSurfacePrecision=!1,this.touchInput=!1,this.snappedToEdge=!1,this.snappedToVertex=!1,this._origin=new Float64Array([0,0,0]),this._direction=new Float64Array([0,0,0]),this._indices=new Int32Array(3),this._localPos=new Float64Array([0,0,0]),this._worldPos=new Float64Array([0,0,0]),this._viewPos=new Float64Array([0,0,0]),this._canvasPos=new Int16Array([0,0]),this._snappedCanvasPos=new Int16Array([0,0]),this._bary=new Float64Array([0,0,0]),this._worldNormal=new Float64Array([0,0,0]),this._uv=new Float64Array([0,0]),this.reset()}get canvasPos(){return this._gotCanvasPos?this._canvasPos:null}set canvasPos(e){e?(this._canvasPos[0]=e[0],this._canvasPos[1]=e[1],this._gotCanvasPos=!0):this._gotCanvasPos=!1}get origin(){return this._gotOrigin?this._origin:null}set origin(e){e?(this._origin[0]=e[0],this._origin[1]=e[1],this._origin[2]=e[2],this._gotOrigin=!0):this._gotOrigin=!1}get direction(){return this._gotDirection?this._direction:null}set direction(e){e?(this._direction[0]=e[0],this._direction[1]=e[1],this._direction[2]=e[2],this._gotDirection=!0):this._gotDirection=!1}get indices(){return this.entity&&this._gotIndices?this._indices:null}set indices(e){e?(this._indices[0]=e[0],this._indices[1]=e[1],this._indices[2]=e[2],this._gotIndices=!0):this._gotIndices=!1}get localPos(){return this.entity&&this._gotLocalPos?this._localPos:null}set localPos(e){e?(this._localPos[0]=e[0],this._localPos[1]=e[1],this._localPos[2]=e[2],this._gotLocalPos=!0):this._gotLocalPos=!1}get snappedCanvasPos(){return this._gotSnappedCanvasPos?this._snappedCanvasPos:null}set snappedCanvasPos(e){e?(this._snappedCanvasPos[0]=e[0],this._snappedCanvasPos[1]=e[1],this._gotSnappedCanvasPos=!0):this._gotSnappedCanvasPos=!1}get worldPos(){return this._gotWorldPos?this._worldPos:null}set worldPos(e){e?(this._worldPos[0]=e[0],this._worldPos[1]=e[1],this._worldPos[2]=e[2],this._gotWorldPos=!0):this._gotWorldPos=!1}get viewPos(){return this.entity&&this._gotViewPos?this._viewPos:null}set viewPos(e){e?(this._viewPos[0]=e[0],this._viewPos[1]=e[1],this._viewPos[2]=e[2],this._gotViewPos=!0):this._gotViewPos=!1}get bary(){return this.entity&&this._gotBary?this._bary:null}set bary(e){e?(this._bary[0]=e[0],this._bary[1]=e[1],this._bary[2]=e[2],this._gotBary=!0):this._gotBary=!1}get worldNormal(){return this.entity&&this._gotWorldNormal?this._worldNormal:null}set worldNormal(e){e?(this._worldNormal[0]=e[0],this._worldNormal[1]=e[1],this._worldNormal[2]=e[2],this._gotWorldNormal=!0):this._gotWorldNormal=!1}get uv(){return this.entity&&this._gotUV?this._uv:null}set uv(e){e?(this._uv[0]=e[0],this._uv[1]=e[1],this._gotUV=!0):this._gotUV=!1}reset(){this.entity=null,this.primIndex=-1,this.primitive=null,this.pickSurfacePrecision=!1,this._gotCanvasPos=!1,this._gotSnappedCanvasPos=!1,this._gotOrigin=!1,this._gotDirection=!1,this._gotIndices=!1,this._gotLocalPos=!1,this._gotWorldPos=!1,this._gotViewPos=!1,this._gotBary=!1,this._gotWorldNormal=!1,this._gotUV=!1,this.touchInput=!1,this.snappedToEdge=!1,this.snappedToVertex=!1}}class Oe{constructor(e,t,s){if(this.allocated=!1,this.compiled=!1,this.handle=e.createShader(t),this.handle){if(this.allocated=!0,e.shaderSource(this.handle,s),e.compileShader(this.handle),this.compiled=e.getShaderParameter(this.handle,e.COMPILE_STATUS),!this.compiled&&!e.isContextLost()){const t=s.split("\n"),n=[];for(let e=0;e0&&"/"===s.charAt(n+1)&&(s=s.substring(0,n)),t.push(s);return t.join("\n")}function Me(e){console.error(e.join("\n"))}class Fe{constructor(e,t){this.id=xe.addItem({}),this.source=t,this.init(e)}init(e){if(this.gl=e,this.allocated=!1,this.compiled=!1,this.linked=!1,this.validated=!1,this.errors=null,this.uniforms={},this.samplers={},this.attributes={},this._vertexShader=new Oe(e,e.VERTEX_SHADER,Le(this.source.vertex)),this._fragmentShader=new Oe(e,e.FRAGMENT_SHADER,Le(this.source.fragment)),!this._vertexShader.allocated)return this.errors=["Vertex shader failed to allocate"].concat(this._vertexShader.errors),void Me(this.errors);if(!this._fragmentShader.allocated)return this.errors=["Fragment shader failed to allocate"].concat(this._fragmentShader.errors),void Me(this.errors);if(this.allocated=!0,!this._vertexShader.compiled)return this.errors=["Vertex shader failed to compile"].concat(this._vertexShader.errors),void Me(this.errors);if(!this._fragmentShader.compiled)return this.errors=["Fragment shader failed to compile"].concat(this._fragmentShader.errors),void Me(this.errors);let t,s,n,i,a;if(this.compiled=!0,this.handle=e.createProgram(),!this.handle)return void(this.errors=["Failed to allocate program"]);if(e.attachShader(this.handle,this._vertexShader.handle),e.attachShader(this.handle,this._fragmentShader.handle),e.linkProgram(this.handle),this.linked=e.getProgramParameter(this.handle,e.LINK_STATUS),this.validated=!0,!this.linked||!this.validated)return this.errors=[],this.errors.push(""),this.errors.push(e.getProgramInfoLog(this.handle)),this.errors.push("\nVertex shader:\n"),this.errors=this.errors.concat(this.source.vertex),this.errors.push("\nFragment shader:\n"),this.errors=this.errors.concat(this.source.fragment),void Me(this.errors);const r=e.getProgramParameter(this.handle,e.ACTIVE_UNIFORMS);for(s=0;sthis.dataLength?e.slice(0,this.dataLength):e,this.usage),this._gl.bindBuffer(this.type,null),this.length=e.length,this.numItems=this.length/this.itemSize,this.allocated=!0)}setData(e,t){this.allocated&&(e.length+(t||0)>this.length?(this.destroy(),this._allocate(e)):(this._gl.bindBuffer(this.type,this._handle),t||0===t?this._gl.bufferSubData(this.type,t*this.itemByteSize,e):this._gl.bufferData(this.type,e,this.usage),this._gl.bindBuffer(this.type,null)))}bind(){this.allocated&&this._gl.bindBuffer(this.type,this._handle)}unbind(){this.allocated&&this._gl.bindBuffer(this.type,null)}destroy(){this.allocated&&(this._gl.deleteBuffer(this._handle),this._handle=null,this.allocated=!1)}}class Ue{constructor(e,t){this.scene=e,this.aabb=A.AABB3(),this.origin=A.vec3(t),this.originHash=this.origin.join(),this.numMarkers=0,this.markers={},this.markerList=[],this.markerIndices={},this.positions=[],this.indices=[],this.positionsBuf=null,this.lenPositionsBuf=0,this.indicesBuf=null,this.sectionPlanesActive=[],this.culledBySectionPlanes=!1,this.occlusionTestList=[],this.lenOcclusionTestList=0,this.pixels=[],this.aabbDirty=!1,this.markerListDirty=!1,this.positionsDirty=!0,this.occlusionTestListDirty=!1}addMarker(e){this.markers[e.id]=e,this.markerListDirty=!0,this.numMarkers++}markerWorldPosUpdated(e){if(!this.markers[e.id])return;const t=this.markerIndices[e.id];this.positions[3*t+0]=e.worldPos[0],this.positions[3*t+1]=e.worldPos[1],this.positions[3*t+2]=e.worldPos[2],this.positionsDirty=!0}removeMarker(e){delete this.markers[e.id],this.markerListDirty=!0,this.numMarkers--}update(){this.markerListDirty&&(this._buildMarkerList(),this.markerListDirty=!1,this.positionsDirty=!0,this.occlusionTestListDirty=!0),this.positionsDirty&&(this._buildPositions(),this.positionsDirty=!1,this.aabbDirty=!0,this.vbosDirty=!0),this.aabbDirty&&(this._buildAABB(),this.aabbDirty=!1),this.vbosDirty&&(this._buildVBOs(),this.vbosDirty=!1),this.occlusionTestListDirty&&this._buildOcclusionTestList(),this._updateActiveSectionPlanes()}_buildMarkerList(){for(var e in this.numMarkers=0,this.markers)this.markers.hasOwnProperty(e)&&(this.markerList[this.numMarkers]=this.markers[e],this.markerIndices[e]=this.numMarkers,this.numMarkers++);this.markerList.length=this.numMarkers}_buildPositions(){let e=0;for(let t=0;t-t){s._setVisible(!1);continue}const r=s.canvasPos,l=r[0],o=r[1];l+10<0||o+10<0||l-10>n||o-10>i?s._setVisible(!1):!s.entity||s.entity.visible?s.occludable?(this.occlusionTestList[this.lenOcclusionTestList++]=s,this.pixels[a++]=l,this.pixels[a++]=o):s._setVisible(!0):s._setVisible(!1)}}_updateActiveSectionPlanes(){const e=this.scene._sectionPlanesState.sectionPlanes,t=e.length;if(t>0)for(let s=0;s{this._occlusionTestListDirty=!0})),this._onCameraProjMatrix=e.camera.on("projMatrix",(()=>{this._occlusionTestListDirty=!0})),this._onCanvasBoundary=e.canvas.on("boundary",(()=>{this._occlusionTestListDirty=!0}))}addMarker(e){const t=e.origin.join();let s=this._occlusionLayers[t];s||(s=new Ue(this._scene,e.origin),this._occlusionLayers[s.originHash]=s,this._occlusionLayersListDirty=!0),s.addMarker(e),this._markersToOcclusionLayersMap[e.id]=s,this._occlusionTestListDirty=!0}markerWorldPosUpdated(e){const t=this._markersToOcclusionLayersMap[e.id];if(!t)return void e.error("Marker has not been added to OcclusionTester");const s=e.origin.join();if(s!==t.originHash){1===t.numMarkers?(t.destroy(),delete this._occlusionLayers[t.originHash],this._occlusionLayersListDirty=!0):t.removeMarker(e);let n=this._occlusionLayers[s];n||(n=new Ue(this._scene,e.origin),this._occlusionLayers[s]=t,this._occlusionLayersListDirty=!0),n.addMarker(e),this._markersToOcclusionLayersMap[e.id]=n}else t.markerWorldPosUpdated(e)}removeMarker(e){const t=e.origin.join();let s=this._occlusionLayers[t];s&&(1===s.numMarkers?(s.destroy(),delete this._occlusionLayers[s.originHash],this._occlusionLayersListDirty=!0):s.removeMarker(e),delete this._markersToOcclusionLayersMap[e.id])}get needOcclusionTest(){return this._occlusionTestListDirty}bindRenderBuf(){const e=[this._scene.canvas.canvas.id,this._scene._sectionPlanesState.getHash()].join(";");if(e!==this._shaderSourceHash&&(this._shaderSourceHash=e,this._shaderSourceDirty=!0),this._shaderSourceDirty&&(this._buildShaderSource(),this._shaderSourceDirty=!1,this._programDirty=!0),this._programDirty&&(this._buildProgram(),this._programDirty=!1,this._occlusionTestListDirty=!0),this._occlusionLayersListDirty&&(this._buildOcclusionLayersList(),this._occlusionLayersListDirty=!1),this._occlusionTestListDirty){for(let e=0,t=this._occlusionLayersList.length;e0,s=[];return s.push("#version 300 es"),s.push("// OcclusionTester vertex shader"),s.push("in vec3 position;"),s.push("uniform mat4 modelMatrix;"),s.push("uniform mat4 viewMatrix;"),s.push("uniform mat4 projMatrix;"),e.logarithmicDepthBufferEnabled&&(s.push("uniform float logDepthBufFC;"),s.push("out float vFragDepth;")),t&&s.push("out vec4 vWorldPosition;"),s.push("void main(void) {"),s.push("vec4 worldPosition = vec4(position, 1.0); "),s.push(" vec4 viewPosition = viewMatrix * worldPosition;"),t&&s.push(" vWorldPosition = worldPosition;"),s.push(" vec4 clipPos = projMatrix * viewPosition;"),s.push(" gl_PointSize = 20.0;"),e.logarithmicDepthBufferEnabled?s.push("vFragDepth = 1.0 + clipPos.w;"):s.push("clipPos.z += -0.001;"),s.push(" gl_Position = clipPos;"),s.push("}"),s}_buildFragmentShaderSource(){const e=this._scene,t=e._sectionPlanesState,s=t.sectionPlanes.length>0,n=[];if(n.push("#version 300 es"),n.push("// OcclusionTester fragment shader"),n.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),n.push("precision highp float;"),n.push("precision highp int;"),n.push("#else"),n.push("precision mediump float;"),n.push("precision mediump int;"),n.push("#endif"),e.logarithmicDepthBufferEnabled&&(n.push("uniform float logDepthBufFC;"),n.push("in float vFragDepth;")),s){n.push("in vec4 vWorldPosition;");for(let e=0;e 0.0) { discard; }")}return e.logarithmicDepthBufferEnabled&&n.push("gl_FragDepth = log2( vFragDepth ) * logDepthBufFC * 0.5;"),n.push(" outColor = vec4(1.0, 0.0, 0.0, 1.0); "),n.push("}"),n}_buildProgram(){this._program&&this._program.destroy();const e=this._scene,t=e.canvas.gl,s=e._sectionPlanesState;if(this._program=new Fe(t,this._shaderSource),this._program.errors)return void(this.errors=this._program.errors);const n=this._program;this._uViewMatrix=n.getLocation("viewMatrix"),this._uProjMatrix=n.getLocation("projMatrix"),this._uSectionPlanes=[];for(let e=0,t=s.sectionPlanes.length;e0){const e=n.sectionPlanes;for(let n=0;n{let e=!0;this._scene.camera.on("projMatrix",(function(){e=!0}));const t=A.mat4();return()=>(e&&A.inverseMat4(n.camera.projMatrix,t),t)})());const t=this._scene.canvas.gl,s=this._program,n=this._scene,i=n.sao,a=t.drawingBufferWidth,r=t.drawingBufferHeight,l=n.camera.project._state,o=l.near,c=l.far,u=l.matrix,h=this._getInverseProjectMat(),p=Math.random(),d="perspective"===n.camera.projection;ke[0]=a,ke[1]=r,t.viewport(0,0,a,r),t.clearColor(0,0,0,1),t.disable(t.DEPTH_TEST),t.disable(t.BLEND),t.frontFace(t.CCW),t.clear(t.COLOR_BUFFER_BIT),s.bind(),t.uniform1f(this._uCameraNear,o),t.uniform1f(this._uCameraFar,c),t.uniformMatrix4fv(this._uCameraProjectionMatrix,!1,u),t.uniformMatrix4fv(this._uCameraInverseProjectionMatrix,!1,h),t.uniform1i(this._uPerspective,d),t.uniform1f(this._uScale,i.scale*(c/5)),t.uniform1f(this._uIntensity,i.intensity),t.uniform1f(this._uBias,i.bias),t.uniform1f(this._uKernelRadius,i.kernelRadius),t.uniform1f(this._uMinResolution,i.minResolution),t.uniform2fv(this._uViewport,ke),t.uniform1f(this._uRandomSeed,p);const f=e.getDepthTexture();s.bindTexture(this._uDepthTexture,f,0),this._aUV.bindArrayBuffer(this._uvBuf),this._aPosition.bindArrayBuffer(this._positionsBuf),this._indicesBuf.bind(),t.drawElements(t.TRIANGLES,this._indicesBuf.numItems,this._indicesBuf.itemType,0)}_build(){let e=!1;const t=this._scene.sao;if(t.numSamples!==this._numSamples&&(this._numSamples=Math.floor(t.numSamples),e=!0),!e)return;const s=this._scene.canvas.gl;if(this._program&&(this._program.destroy(),this._program=null),this._program=new Fe(s,{vertex:["#version 300 es\n precision highp float;\n precision highp int;\n \n in vec3 aPosition;\n in vec2 aUV; \n \n out vec2 vUV;\n \n void main () {\n gl_Position = vec4(aPosition, 1.0);\n vUV = aUV;\n }"],fragment:[`#version 300 es \n precision highp float;\n precision highp int; \n \n #define NORMAL_TEXTURE 0\n #define PI 3.14159265359\n #define PI2 6.28318530718\n #define EPSILON 1e-6\n #define NUM_SAMPLES ${this._numSamples}\n #define NUM_RINGS 4 \n \n in vec2 vUV;\n \n uniform sampler2D uDepthTexture;\n \n uniform float uCameraNear;\n uniform float uCameraFar;\n uniform mat4 uProjectMatrix;\n uniform mat4 uInverseProjectMatrix;\n \n uniform bool uPerspective;\n\n uniform float uScale;\n uniform float uIntensity;\n uniform float uBias;\n uniform float uKernelRadius;\n uniform float uMinResolution;\n uniform vec2 uViewport;\n uniform float uRandomSeed;\n\n float pow2( const in float x ) { return x*x; }\n \n highp float rand( const in vec2 uv ) {\n const highp float a = 12.9898, b = 78.233, c = 43758.5453;\n highp float dt = dot( uv.xy, vec2( a,b ) ), sn = mod( dt, PI );\n return fract(sin(sn) * c);\n }\n\n vec3 packNormalToRGB( const in vec3 normal ) {\n return normalize( normal ) * 0.5 + 0.5;\n }\n\n vec3 unpackRGBToNormal( const in vec3 rgb ) {\n return 2.0 * rgb.xyz - 1.0;\n }\n\n const float packUpscale = 256. / 255.;\n const float unpackDownScale = 255. / 256.; \n\n const vec3 packFactors = vec3( 256. * 256. * 256., 256. * 256., 256. );\n const vec4 unPackFactors = unpackDownScale / vec4( packFactors, 1. ); \n\n const float shiftRights = 1. / 256.;\n\n vec4 packFloatToRGBA( const in float v ) {\n vec4 r = vec4( fract( v * packFactors ), v );\n r.yzw -= r.xyz * shiftRights; \n return r * packUpscale;\n }\n\n float unpackRGBAToFloat( const in vec4 v ) { \n return dot( floor( v * 255.0 + 0.5 ) / 255.0, unPackFactors );\n }\n \n float perspectiveDepthToViewZ( const in float invClipZ, const in float near, const in float far ) {\n return ( near * far ) / ( ( far - near ) * invClipZ - far );\n }\n\n float orthographicDepthToViewZ( const in float linearClipZ, const in float near, const in float far ) {\n return linearClipZ * ( near - far ) - near;\n }\n \n float getDepth( const in vec2 screenPosition ) {\n return vec4(texture(uDepthTexture, screenPosition)).r;\n }\n\n float getViewZ( const in float depth ) {\n if (uPerspective) {\n return perspectiveDepthToViewZ( depth, uCameraNear, uCameraFar );\n } else {\n return orthographicDepthToViewZ( depth, uCameraNear, uCameraFar );\n }\n }\n\n vec3 getViewPos( const in vec2 screenPos, const in float depth, const in float viewZ ) {\n \tfloat clipW = uProjectMatrix[2][3] * viewZ + uProjectMatrix[3][3];\n \tvec4 clipPosition = vec4( ( vec3( screenPos, depth ) - 0.5 ) * 2.0, 1.0 );\n \tclipPosition *= clipW; \n \treturn ( uInverseProjectMatrix * clipPosition ).xyz;\n }\n\n vec3 getViewNormal( const in vec3 viewPosition, const in vec2 screenPos ) { \n return normalize( cross( dFdx( viewPosition ), dFdy( viewPosition ) ) );\n }\n\n float scaleDividedByCameraFar;\n float minResolutionMultipliedByCameraFar;\n\n float getOcclusion( const in vec3 centerViewPosition, const in vec3 centerViewNormal, const in vec3 sampleViewPosition ) {\n \tvec3 viewDelta = sampleViewPosition - centerViewPosition;\n \tfloat viewDistance = length( viewDelta );\n \tfloat scaledScreenDistance = scaleDividedByCameraFar * viewDistance;\n \treturn max(0.0, (dot(centerViewNormal, viewDelta) - minResolutionMultipliedByCameraFar) / scaledScreenDistance - uBias) / (1.0 + pow2( scaledScreenDistance ) );\n }\n\n const float ANGLE_STEP = PI2 * float( NUM_RINGS ) / float( NUM_SAMPLES );\n const float INV_NUM_SAMPLES = 1.0 / float( NUM_SAMPLES );\n\n float getAmbientOcclusion( const in vec3 centerViewPosition ) {\n \n \tscaleDividedByCameraFar = uScale / uCameraFar;\n \tminResolutionMultipliedByCameraFar = uMinResolution * uCameraFar;\n \tvec3 centerViewNormal = getViewNormal( centerViewPosition, vUV );\n\n \tfloat angle = rand( vUV + uRandomSeed ) * PI2;\n \tvec2 radius = vec2( uKernelRadius * INV_NUM_SAMPLES ) / uViewport;\n \tvec2 radiusStep = radius;\n\n \tfloat occlusionSum = 0.0;\n \tfloat weightSum = 0.0;\n\n \tfor( int i = 0; i < NUM_SAMPLES; i ++ ) {\n \t\tvec2 sampleUv = vUV + vec2( cos( angle ), sin( angle ) ) * radius;\n \t\tradius += radiusStep;\n \t\tangle += ANGLE_STEP;\n\n \t\tfloat sampleDepth = getDepth( sampleUv );\n \t\tif( sampleDepth >= ( 1.0 - EPSILON ) ) {\n \t\t\tcontinue;\n \t\t}\n\n \t\tfloat sampleViewZ = getViewZ( sampleDepth );\n \t\tvec3 sampleViewPosition = getViewPos( sampleUv, sampleDepth, sampleViewZ );\n \t\tocclusionSum += getOcclusion( centerViewPosition, centerViewNormal, sampleViewPosition );\n \t\tweightSum += 1.0;\n \t}\n\n \tif( weightSum == 0.0 ) discard;\n\n \treturn occlusionSum * ( uIntensity / weightSum );\n }\n\n out vec4 outColor;\n \n void main() {\n \n \tfloat centerDepth = getDepth( vUV );\n \t\n \tif( centerDepth >= ( 1.0 - EPSILON ) ) {\n \t\tdiscard;\n \t}\n\n \tfloat centerViewZ = getViewZ( centerDepth );\n \tvec3 viewPosition = getViewPos( vUV, centerDepth, centerViewZ );\n\n \tfloat ambientOcclusion = getAmbientOcclusion( viewPosition );\n \n \toutColor = packFloatToRGBA( 1.0- ambientOcclusion );\n }`]}),this._program.errors)return console.error(this._program.errors.join("\n")),void(this._programError=!0);const n=new Float32Array([1,1,0,1,0,0,1,0]),i=new Float32Array([1,1,0,-1,1,0,-1,-1,0,1,-1,0]),a=new Uint32Array([0,1,2,0,2,3]);this._positionsBuf=new He(s,s.ARRAY_BUFFER,i,i.length,3,s.STATIC_DRAW),this._uvBuf=new He(s,s.ARRAY_BUFFER,n,n.length,2,s.STATIC_DRAW),this._indicesBuf=new He(s,s.ELEMENT_ARRAY_BUFFER,a,a.length,1,s.STATIC_DRAW),this._program.bind(),this._uCameraNear=this._program.getLocation("uCameraNear"),this._uCameraFar=this._program.getLocation("uCameraFar"),this._uCameraProjectionMatrix=this._program.getLocation("uProjectMatrix"),this._uCameraInverseProjectionMatrix=this._program.getLocation("uInverseProjectMatrix"),this._uPerspective=this._program.getLocation("uPerspective"),this._uScale=this._program.getLocation("uScale"),this._uIntensity=this._program.getLocation("uIntensity"),this._uBias=this._program.getLocation("uBias"),this._uKernelRadius=this._program.getLocation("uKernelRadius"),this._uMinResolution=this._program.getLocation("uMinResolution"),this._uViewport=this._program.getLocation("uViewport"),this._uRandomSeed=this._program.getLocation("uRandomSeed"),this._aPosition=this._program.getAttribute("aPosition"),this._aUV=this._program.getAttribute("aUV"),this._dirty=!1}destroy(){this._program&&(this._program.destroy(),this._program=null)}}const We=new Float32Array(Je(17,[0,1])),ze=new Float32Array(Je(17,[1,0])),Ke=new Float32Array(function(e,t){const s=[];for(let n=0;n<=e;n++)s.push(qe(n,t));return s}(17,4)),Ye=new Float32Array(2);class Xe{constructor(e){this._scene=e,this._program=null,this._programError=!1,this._aPosition=null,this._aUV=null,this._uDepthTexture="uDepthTexture",this._uOcclusionTexture="uOcclusionTexture",this._uViewport=null,this._uCameraNear=null,this._uCameraFar=null,this._uCameraProjectionMatrix=null,this._uCameraInverseProjectionMatrix=null,this._uvBuf=null,this._positionsBuf=null,this._indicesBuf=null,this.init()}init(){const e=this._scene.canvas.gl;if(this._program=new Fe(e,{vertex:["#version 300 es\n precision highp float;\n precision highp int;\n \n in vec3 aPosition;\n in vec2 aUV;\n uniform vec2 uViewport;\n out vec2 vUV;\n out vec2 vInvSize;\n void main () {\n vUV = aUV;\n vInvSize = 1.0 / uViewport;\n gl_Position = vec4(aPosition, 1.0);\n }"],fragment:["#version 300 es\n precision highp float;\n precision highp int;\n \n #define PI 3.14159265359\n #define PI2 6.28318530718\n #define EPSILON 1e-6\n\n #define KERNEL_RADIUS 16\n\n in vec2 vUV;\n in vec2 vInvSize;\n \n uniform sampler2D uDepthTexture;\n uniform sampler2D uOcclusionTexture; \n \n uniform float uCameraNear;\n uniform float uCameraFar; \n uniform float uDepthCutoff;\n\n uniform vec2 uSampleOffsets[ KERNEL_RADIUS + 1 ];\n uniform float uSampleWeights[ KERNEL_RADIUS + 1 ];\n\n const float unpackDownscale = 255. / 256.; \n\n const vec3 packFactors = vec3( 256. * 256. * 256., 256. * 256., 256. );\n const vec4 unpackFactors = unpackDownscale / vec4( packFactors, 1. ); \n\n const float packUpscale = 256. / 255.;\n \n const float shiftRights = 1. / 256.;\n \n float unpackRGBAToFloat( const in vec4 v ) {\n return dot( floor( v * 255.0 + 0.5 ) / 255.0, unpackFactors );\n } \n\n vec4 packFloatToRGBA( const in float v ) {\n vec4 r = vec4( fract( v * packFactors ), v );\n r.yzw -= r.xyz * shiftRights; \n return r * packUpscale;\n }\n\n float viewZToOrthographicDepth( const in float viewZ) {\n return ( viewZ + uCameraNear ) / ( uCameraNear - uCameraFar );\n }\n \n float orthographicDepthToViewZ( const in float linearClipZ) {\n return linearClipZ * ( uCameraNear - uCameraFar ) - uCameraNear;\n }\n\n float viewZToPerspectiveDepth( const in float viewZ) {\n return (( uCameraNear + viewZ ) * uCameraFar ) / (( uCameraFar - uCameraNear ) * viewZ );\n }\n \n float perspectiveDepthToViewZ( const in float invClipZ) {\n return ( uCameraNear * uCameraFar ) / ( ( uCameraFar - uCameraNear ) * invClipZ - uCameraFar );\n }\n\n float getDepth( const in vec2 screenPosition ) {\n return vec4(texture(uDepthTexture, screenPosition)).r;\n }\n\n float getViewZ( const in float depth ) {\n return perspectiveDepthToViewZ( depth );\n }\n\n out vec4 outColor;\n \n void main() {\n \n float depth = getDepth( vUV );\n if( depth >= ( 1.0 - EPSILON ) ) {\n discard;\n }\n\n float centerViewZ = -getViewZ( depth );\n bool rBreak = false;\n bool lBreak = false;\n\n float weightSum = uSampleWeights[0];\n float occlusionSum = unpackRGBAToFloat(texture( uOcclusionTexture, vUV )) * weightSum;\n\n for( int i = 1; i <= KERNEL_RADIUS; i ++ ) {\n\n float sampleWeight = uSampleWeights[i];\n vec2 sampleUVOffset = uSampleOffsets[i] * vInvSize;\n\n vec2 sampleUV = vUV + sampleUVOffset;\n float viewZ = -getViewZ( getDepth( sampleUV ) );\n\n if( abs( viewZ - centerViewZ ) > uDepthCutoff ) {\n rBreak = true;\n }\n\n if( ! rBreak ) {\n occlusionSum += unpackRGBAToFloat(texture( uOcclusionTexture, sampleUV )) * sampleWeight;\n weightSum += sampleWeight;\n }\n\n sampleUV = vUV - sampleUVOffset;\n viewZ = -getViewZ( getDepth( sampleUV ) );\n\n if( abs( viewZ - centerViewZ ) > uDepthCutoff ) {\n lBreak = true;\n }\n\n if( ! lBreak ) {\n occlusionSum += unpackRGBAToFloat(texture( uOcclusionTexture, sampleUV )) * sampleWeight;\n weightSum += sampleWeight;\n }\n }\n\n outColor = packFloatToRGBA(occlusionSum / weightSum);\n }"]}),this._program.errors)return console.error(this._program.errors.join("\n")),void(this._programError=!0);const t=new Float32Array([1,1,0,1,0,0,1,0]),s=new Float32Array([1,1,0,-1,1,0,-1,-1,0,1,-1,0]),n=new Uint32Array([0,1,2,0,2,3]);this._positionsBuf=new He(e,e.ARRAY_BUFFER,s,s.length,3,e.STATIC_DRAW),this._uvBuf=new He(e,e.ARRAY_BUFFER,t,t.length,2,e.STATIC_DRAW),this._indicesBuf=new He(e,e.ELEMENT_ARRAY_BUFFER,n,n.length,1,e.STATIC_DRAW),this._program.bind(),this._uViewport=this._program.getLocation("uViewport"),this._uCameraNear=this._program.getLocation("uCameraNear"),this._uCameraFar=this._program.getLocation("uCameraFar"),this._uDepthCutoff=this._program.getLocation("uDepthCutoff"),this._uSampleOffsets=e.getUniformLocation(this._program.handle,"uSampleOffsets"),this._uSampleWeights=e.getUniformLocation(this._program.handle,"uSampleWeights"),this._aPosition=this._program.getAttribute("aPosition"),this._aUV=this._program.getAttribute("aUV")}render(e,t,s){if(this._programError)return;this._getInverseProjectMat||(this._getInverseProjectMat=(()=>{let e=!0;this._scene.camera.on("projMatrix",(function(){e=!0}));const t=A.mat4();return()=>(e&&A.inverseMat4(a.camera.projMatrix,t),t)})());const n=this._scene.canvas.gl,i=this._program,a=this._scene,r=n.drawingBufferWidth,l=n.drawingBufferHeight,o=a.camera.project._state,c=o.near,u=o.far;n.viewport(0,0,r,l),n.clearColor(0,0,0,1),n.enable(n.DEPTH_TEST),n.disable(n.BLEND),n.frontFace(n.CCW),n.clear(n.COLOR_BUFFER_BIT|n.DEPTH_BUFFER_BIT),i.bind(),Ye[0]=r,Ye[1]=l,n.uniform2fv(this._uViewport,Ye),n.uniform1f(this._uCameraNear,c),n.uniform1f(this._uCameraFar,u),n.uniform1f(this._uDepthCutoff,.01),0===s?n.uniform2fv(this._uSampleOffsets,ze):n.uniform2fv(this._uSampleOffsets,We),n.uniform1fv(this._uSampleWeights,Ke);const h=e.getDepthTexture(),p=t.getTexture();i.bindTexture(this._uDepthTexture,h,0),i.bindTexture(this._uOcclusionTexture,p,1),this._aUV.bindArrayBuffer(this._uvBuf),this._aPosition.bindArrayBuffer(this._positionsBuf),this._indicesBuf.bind(),n.drawElements(n.TRIANGLES,this._indicesBuf.numItems,this._indicesBuf.itemType,0)}destroy(){this._program.destroy()}}function qe(e,t){return Math.exp(-e*e/(t*t*2))/(Math.sqrt(2*Math.PI)*t)}function Je(e,t){const s=[];for(let n=0;n<=e;n++)s.push(t[0]*n),s.push(t[1]*n);return s}class Ze{constructor(e,t,s){s=s||{},this.gl=t,this.allocated=!1,this.canvas=e,this.buffer=null,this.bound=!1,this.size=s.size,this._hasDepthTexture=!!s.depthTexture}setSize(e){this.size=e}webglContextRestored(e){this.gl=e,this.buffer=null,this.allocated=!1,this.bound=!1}bind(...e){if(this._touch(...e),this.bound)return;const t=this.gl;t.bindFramebuffer(t.FRAMEBUFFER,this.buffer.framebuf),this.bound=!0}createTexture(e,t,s=null){const n=this.gl,i=n.createTexture();return n.bindTexture(n.TEXTURE_2D,i),n.texParameteri(n.TEXTURE_2D,n.TEXTURE_MIN_FILTER,n.NEAREST),n.texParameteri(n.TEXTURE_2D,n.TEXTURE_MAG_FILTER,n.NEAREST),n.texParameteri(n.TEXTURE_2D,n.TEXTURE_WRAP_S,n.CLAMP_TO_EDGE),n.texParameteri(n.TEXTURE_2D,n.TEXTURE_WRAP_T,n.CLAMP_TO_EDGE),s?n.texStorage2D(n.TEXTURE_2D,1,s,e,t):n.texImage2D(n.TEXTURE_2D,0,n.RGBA,e,t,0,n.RGBA,n.UNSIGNED_BYTE,null),i}_touch(...e){let t,s;const n=this.gl;if(this.size?(t=this.size[0],s=this.size[1]):(t=n.drawingBufferWidth,s=n.drawingBufferHeight),this.buffer){if(this.buffer.width===t&&this.buffer.height===s)return;this.buffer.textures.forEach((e=>n.deleteTexture(e))),n.deleteFramebuffer(this.buffer.framebuf),n.deleteRenderbuffer(this.buffer.renderbuf)}const i=[];let a;e.length>0?i.push(...e.map((e=>this.createTexture(t,s,e)))):i.push(this.createTexture(t,s)),this._hasDepthTexture&&(a=n.createTexture(),n.bindTexture(n.TEXTURE_2D,a),n.texParameteri(n.TEXTURE_2D,n.TEXTURE_MAG_FILTER,n.NEAREST),n.texParameteri(n.TEXTURE_2D,n.TEXTURE_MIN_FILTER,n.NEAREST),n.texParameteri(n.TEXTURE_2D,n.TEXTURE_WRAP_S,n.CLAMP_TO_EDGE),n.texParameteri(n.TEXTURE_2D,n.TEXTURE_WRAP_T,n.CLAMP_TO_EDGE),n.texImage2D(n.TEXTURE_2D,0,n.DEPTH_COMPONENT32F,t,s,0,n.DEPTH_COMPONENT,n.FLOAT,null));const r=n.createRenderbuffer();n.bindRenderbuffer(n.RENDERBUFFER,r),n.renderbufferStorage(n.RENDERBUFFER,n.DEPTH_COMPONENT32F,t,s);const l=n.createFramebuffer();n.bindFramebuffer(n.FRAMEBUFFER,l);for(let e=0;e0&&n.drawBuffers(i.map(((e,t)=>n.COLOR_ATTACHMENT0+t))),this._hasDepthTexture?n.framebufferTexture2D(n.FRAMEBUFFER,n.DEPTH_ATTACHMENT,n.TEXTURE_2D,a,0):n.framebufferRenderbuffer(n.FRAMEBUFFER,n.DEPTH_ATTACHMENT,n.RENDERBUFFER,r),n.bindTexture(n.TEXTURE_2D,null),n.bindRenderbuffer(n.RENDERBUFFER,null),n.bindFramebuffer(n.FRAMEBUFFER,null),n.bindFramebuffer(n.FRAMEBUFFER,l),!n.isFramebuffer(l))throw"Invalid framebuffer";n.bindFramebuffer(n.FRAMEBUFFER,null);const o=n.checkFramebufferStatus(n.FRAMEBUFFER);switch(o){case n.FRAMEBUFFER_COMPLETE:break;case n.FRAMEBUFFER_INCOMPLETE_ATTACHMENT:throw"Incomplete framebuffer: FRAMEBUFFER_INCOMPLETE_ATTACHMENT";case n.FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT:throw"Incomplete framebuffer: FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT";case n.FRAMEBUFFER_INCOMPLETE_DIMENSIONS:throw"Incomplete framebuffer: FRAMEBUFFER_INCOMPLETE_DIMENSIONS";case n.FRAMEBUFFER_UNSUPPORTED:throw"Incomplete framebuffer: FRAMEBUFFER_UNSUPPORTED";default:throw"Incomplete framebuffer: "+o}this.buffer={framebuf:l,renderbuf:r,texture:i[0],textures:i,depthTexture:a,width:t,height:s},this.bound=!1}clear(){if(!this.bound)throw"Render buffer not bound";const e=this.gl;e.clear(e.COLOR_BUFFER_BIT|e.DEPTH_BUFFER_BIT)}read(e,t,s=null,n=null,i=Uint8Array,a=4,r=0){const l=e,o=this.buffer.height?this.buffer.height-t-1:this.gl.drawingBufferHeight-t,c=new i(a),u=this.gl;return u.readBuffer(u.COLOR_ATTACHMENT0+r),u.readPixels(l,o,1,1,s||u.RGBA,n||u.UNSIGNED_BYTE,c,0),c}readArray(e=null,t=null,s=Uint8Array,n=4,i=0){const a=new s(this.buffer.width*this.buffer.height*n),r=this.gl;return r.readBuffer(r.COLOR_ATTACHMENT0+i),r.readPixels(0,0,this.buffer.width,this.buffer.height,e||r.RGBA,t||r.UNSIGNED_BYTE,a,0),a}readImageAsCanvas(){const e=this.gl,t=this._getImageDataCache(),s=t.pixelData,n=t.canvas,i=t.imageData,a=t.context;e.readPixels(0,0,this.buffer.width,this.buffer.height,e.RGBA,e.UNSIGNED_BYTE,s);const r=this.buffer.width,l=this.buffer.height,o=l/2|0,c=4*r,u=new Uint8Array(4*r);for(let e=0;ee.deleteTexture(t))),e.deleteTexture(this.buffer.depthTexture),e.deleteFramebuffer(this.buffer.framebuf),e.deleteRenderbuffer(this.buffer.renderbuf),this.allocated=!1,this.buffer=null,this.bound=!1}this._imageDataCache=null,this._texture=null,this._depthTexture=null}}class $e{constructor(e){this.scene=e,this._renderBuffersBasic={},this._renderBuffersScaled={}}getRenderBuffer(e,t){const s=1===this.scene.canvas.resolutionScale?this._renderBuffersBasic:this._renderBuffersScaled;let n=s[e];return n||(n=new Ze(this.scene.canvas.canvas,this.scene.canvas.gl,t),s[e]=n),n}destroy(){for(let e in this._renderBuffersBasic)this._renderBuffersBasic[e].destroy();for(let e in this._renderBuffersScaled)this._renderBuffersScaled[e].destroy()}}function et(e,t){if(void 0===e._cachedExtensions&&(e._cachedExtensions={}),void 0!==e._cachedExtensions[t])return e._cachedExtensions[t];let s;switch(t){case"WEBGL_depth_texture":s=e.getExtension("WEBGL_depth_texture")||e.getExtension("MOZ_WEBGL_depth_texture")||e.getExtension("WEBKIT_WEBGL_depth_texture");break;case"EXT_texture_filter_anisotropic":s=e.getExtension("EXT_texture_filter_anisotropic")||e.getExtension("MOZ_EXT_texture_filter_anisotropic")||e.getExtension("WEBKIT_EXT_texture_filter_anisotropic");break;case"WEBGL_compressed_texture_s3tc":s=e.getExtension("WEBGL_compressed_texture_s3tc")||e.getExtension("MOZ_WEBGL_compressed_texture_s3tc")||e.getExtension("WEBKIT_WEBGL_compressed_texture_s3tc");break;case"WEBGL_compressed_texture_pvrtc":s=e.getExtension("WEBGL_compressed_texture_pvrtc")||e.getExtension("WEBKIT_WEBGL_compressed_texture_pvrtc");break;default:s=e.getExtension(t)}return e._cachedExtensions[t]=s,s}const tt=function(t,s){s=s||{};const n=new Re(t),i=t.canvas.canvas,a=t.canvas.gl,r=!!s.transparent,l=s.alphaDepthMask,o=new e({});let c={},u={},h=!0,p=!0,d=!0,f=!0,I=!0,m=!0,v=!0,w=!0;const g=new $e(t);let E=!1;const T=new Qe(t),b=new Xe(t);function D(){h&&(!function(){for(let e in c)if(c.hasOwnProperty(e)){const t=c[e],s=t.drawableMap,n=t.drawableListPreCull;let i=0;for(let e in s)s.hasOwnProperty(e)&&(n[i++]=s[e]);n.length=i}}(),h=!1,p=!0),p&&(!function(){for(let e in c)if(c.hasOwnProperty(e)){const t=c[e];t.isStateSortable&&t.drawableListPreCull.sort(t.stateSortCompare)}}(),p=!1,d=!0),d&&function(){for(let e in c)if(c.hasOwnProperty(e)){const t=c[e],s=t.drawableListPreCull,n=t.drawableList;let i=0;for(let e=0,t=s.length;e0)for(n.withSAO=!0,S=0;S0)for(S=0;S0)for(S=0;S0)for(S=0;S0||k>0||H>0||U>0){if(a.enable(a.CULL_FACE),a.enable(a.BLEND),r?(a.blendEquation(a.FUNC_ADD),a.blendFuncSeparate(a.SRC_ALPHA,a.ONE_MINUS_SRC_ALPHA,a.ONE,a.ONE_MINUS_SRC_ALPHA)):(a.blendEquation(a.FUNC_ADD),a.blendFunc(a.SRC_ALPHA,a.ONE_MINUS_SRC_ALPHA)),n.backfaces=!1,l||a.depthMask(!1),(H>0||U>0)&&a.blendFunc(a.SRC_ALPHA,a.ONE_MINUS_SRC_ALPHA),U>0)for(S=0;S0)for(S=0;S0)for(S=0;S0)for(S=0;S0||W>0){if(n.lastProgramId=null,t.highlightMaterial.glowThrough&&a.clear(a.DEPTH_BUFFER_BIT),W>0)for(S=0;S0)for(S=0;S0||K>0||Q>0){if(n.lastProgramId=null,t.selectedMaterial.glowThrough&&a.clear(a.DEPTH_BUFFER_BIT),a.enable(a.BLEND),r?(a.blendEquation(a.FUNC_ADD),a.blendFuncSeparate(a.SRC_ALPHA,a.ONE_MINUS_SRC_ALPHA,a.ONE,a.ONE_MINUS_SRC_ALPHA)):a.blendFunc(a.SRC_ALPHA,a.ONE_MINUS_SRC_ALPHA),a.enable(a.CULL_FACE),K>0)for(S=0;S0)for(S=0;S0||X>0){if(n.lastProgramId=null,t.selectedMaterial.glowThrough&&a.clear(a.DEPTH_BUFFER_BIT),X>0)for(S=0;S0)for(S=0;S0||J>0){if(n.lastProgramId=null,t.selectedMaterial.glowThrough&&a.clear(a.DEPTH_BUFFER_BIT),a.enable(a.CULL_FACE),a.enable(a.BLEND),r?(a.blendEquation(a.FUNC_ADD),a.blendFuncSeparate(a.SRC_ALPHA,a.ONE_MINUS_SRC_ALPHA,a.ONE,a.ONE_MINUS_SRC_ALPHA)):a.blendFunc(a.SRC_ALPHA,a.ONE_MINUS_SRC_ALPHA),J>0)for(S=0;S0)for(S=0;S0){const t=Math.floor(e/4),s=p.size[0],n=t%s-Math.floor(s/2),i=Math.floor(t/s)-Math.floor(s/2),a=Math.sqrt(Math.pow(n,2)+Math.pow(i,2));R.push({x:n,y:i,dist:a,isVertex:r&&l?m[e+3]>y.length/2:r,result:[m[e+0],m[e+1],m[e+2],m[e+3]],normal:[v[e+0],v[e+1],v[e+2],v[e+3]],id:[w[e+0],w[e+1],w[e+2],w[e+3]]})}let O=null,S=null,N=null,x=null;if(R.length>0){R.sort(((e,t)=>e.isVertex!==t.isVertex?e.isVertex?-1:1:e.dist-t.dist)),x=R[0].isVertex?"vertex":"edge";const e=R[0].result,t=R[0].normal,s=R[0].id,n=y[e[3]],i=n.origin,a=n.coordinateScale;S=A.normalizeVec3([t[0]/A.MAX_INT,t[1]/A.MAX_INT,t[2]/A.MAX_INT]),O=[e[0]*a[0]+i[0],e[1]*a[1]+i[1],e[2]*a[2]+i[2]],N=o.items[s[0]+(s[1]<<8)+(s[2]<<16)+(s[3]<<24)]}if(null===E&&null==O)return null;let L=null;null!==O&&(L=t.camera.projectWorldPos(O));const M=N&&N.delegatePickedEntity?N.delegatePickedEntity():N;return u.reset(),u.snappedToEdge="edge"===x,u.snappedToVertex="vertex"===x,u.worldPos=O,u.worldNormal=S,u.entity=M,u.canvasPos=s,u.snappedCanvasPos=L||s,u}}(),this.addMarker=function(e){this._occlusionTester=this._occlusionTester||new Ve(t,g),this._occlusionTester.addMarker(e),t.occlusionTestCountdown=0},this.markerWorldPosUpdated=function(e){this._occlusionTester.markerWorldPosUpdated(e)},this.removeMarker=function(e){this._occlusionTester.removeMarker(e)},this.doOcclusionTest=function(){if(this._occlusionTester&&this._occlusionTester.needOcclusionTest){D(),this._occlusionTester.bindRenderBuf(),n.reset(),n.backfaces=!0,n.frontface=!0,a.viewport(0,0,a.drawingBufferWidth,a.drawingBufferHeight),a.clearColor(0,0,0,0),a.enable(a.DEPTH_TEST),a.disable(a.CULL_FACE),a.disable(a.BLEND),a.clear(a.COLOR_BUFFER_BIT|a.DEPTH_BUFFER_BIT);for(let e in c)if(c.hasOwnProperty(e)){const t=c[e].drawableList;for(let e=0,s=t.length;e{this.enabled&&this.keyboardEnabled&&"INPUT"!==e.target.tagName&&"TEXTAREA"!==e.target.tagName&&(e.keyCode===this.KEY_CTRL?this.ctrlDown=!0:e.keyCode===this.KEY_ALT?this.altDown=!0:e.keyCode===this.KEY_SHIFT&&(this.shiftDown=!0),this.keyDown[e.keyCode]=!0,this.fire("keydown",e.keyCode,!0))},!1),this._keyboardEventsElement.addEventListener("keyup",this._keyUpListener=e=>{this.enabled&&this.keyboardEnabled&&"INPUT"!==e.target.tagName&&"TEXTAREA"!==e.target.tagName&&(e.keyCode===this.KEY_CTRL?this.ctrlDown=!1:e.keyCode===this.KEY_ALT?this.altDown=!1:e.keyCode===this.KEY_SHIFT&&(this.shiftDown=!1),this.keyDown[e.keyCode]=!1,this.fire("keyup",e.keyCode,!0))}),this.element.addEventListener("mouseenter",this._mouseEnterListener=e=>{this.enabled&&(this.mouseover=!0,this._getMouseCanvasPos(e),this.fire("mouseenter",this.mouseCanvasPos,!0))}),this.element.addEventListener("mouseleave",this._mouseLeaveListener=e=>{this.enabled&&(this.mouseover=!1,this._getMouseCanvasPos(e),this.fire("mouseleave",this.mouseCanvasPos,!0))}),this.element.addEventListener("mousedown",this._mouseDownListener=e=>{if(this.enabled){switch(e.which){case 1:this.mouseDownLeft=!0;break;case 2:this.mouseDownMiddle=!0;break;case 3:this.mouseDownRight=!0}this._getMouseCanvasPos(e),this.element.focus(),this.fire("mousedown",this.mouseCanvasPos,!0),this.mouseover&&e.preventDefault()}}),document.addEventListener("mouseup",this._mouseUpListener=e=>{if(this.enabled){switch(e.which){case 1:this.mouseDownLeft=!1;break;case 2:this.mouseDownMiddle=!1;break;case 3:this.mouseDownRight=!1}this.fire("mouseup",this.mouseCanvasPos,!0)}},!0),document.addEventListener("click",this._clickListener=e=>{if(this.enabled){switch(e.which){case 1:case 3:this.mouseDownLeft=!1,this.mouseDownRight=!1;break;case 2:this.mouseDownMiddle=!1}this._getMouseCanvasPos(e),this.fire("click",this.mouseCanvasPos,!0),this.mouseover&&e.preventDefault()}}),document.addEventListener("dblclick",this._dblClickListener=e=>{if(this.enabled){switch(e.which){case 1:case 3:this.mouseDownLeft=!1,this.mouseDownRight=!1;break;case 2:this.mouseDownMiddle=!1}this._getMouseCanvasPos(e),this.fire("dblclick",this.mouseCanvasPos,!0),this.mouseover&&e.preventDefault()}});const e=this.scene.tickify((()=>this.fire("mousemove",this.mouseCanvasPos,!0)));this.element.addEventListener("mousemove",this._mouseMoveListener=t=>{this.enabled&&(this._getMouseCanvasPos(t),e(),this.mouseover&&t.preventDefault())});const t=this.scene.tickify((e=>{this.fire("mousewheel",e,!0)}));this.element.addEventListener("wheel",this._mouseWheelListener=(e,s)=>{if(!this.enabled)return;const n=Math.max(-1,Math.min(1,40*-e.deltaY));t(n)},{passive:!0});{let e,t;const s=2;this.on("mousedown",(s=>{e=s[0],t=s[1]})),this.on("mouseup",(n=>{e>=n[0]-s&&e<=n[0]+s&&t>=n[1]-s&&t<=n[1]+s&&this.fire("mouseclicked",n,!0)}))}this._eventsBound=!0}_unbindEvents(){this._eventsBound&&(this._keyboardEventsElement.removeEventListener("keydown",this._keyDownListener),this._keyboardEventsElement.removeEventListener("keyup",this._keyUpListener),this.element.removeEventListener("mouseenter",this._mouseEnterListener),this.element.removeEventListener("mouseleave",this._mouseLeaveListener),this.element.removeEventListener("mousedown",this._mouseDownListener),document.removeEventListener("mouseup",this._mouseDownListener),document.removeEventListener("click",this._clickListener),document.removeEventListener("dblclick",this._dblClickListener),this.element.removeEventListener("mousemove",this._mouseMoveListener),this.element.removeEventListener("wheel",this._mouseWheelListener),window.OrientationChangeEvent&&window.removeEventListener("orientationchange",this._orientationchangedListener),window.DeviceMotionEvent&&window.removeEventListener("devicemotion",this._deviceMotionListener),window.DeviceOrientationEvent&&window.removeEventListener("deviceorientation",this._deviceOrientListener),this._eventsBound=!1)}_getMouseCanvasPos(e){if(e){let t=e.target,s=0,n=0;for(;t.offsetParent;)s+=t.offsetLeft,n+=t.offsetTop,t=t.offsetParent;this.mouseCanvasPos[0]=e.pageX-s,this.mouseCanvasPos[1]=e.pageY-n}else e=window.event,this.mouseCanvasPos[0]=e.x,this.mouseCanvasPos[1]=e.y}setEnabled(e){this.enabled!==e&&this.fire("enabled",this.enabled=e)}getEnabled(){return this.enabled}setKeyboardEnabled(e){this.keyboardEnabled=e}getKeyboardEnabled(){return this.keyboardEnabled}destroy(){super.destroy(),this._unbindEvents()}}const nt=new e({});class it{constructor(e){this.id=nt.addItem({});for(const t in e)e.hasOwnProperty(t)&&(this[t]=e[t])}destroy(){nt.removeItem(this.id)}}class at extends S{get type(){return"Viewport"}constructor(e,t={}){super(e,t),this._state=new it({boundary:[0,0,100,100]}),this.boundary=t.boundary,this.autoBoundary=t.autoBoundary}set boundary(e){if(!this._autoBoundary){if(!e){const t=this.scene.canvas.boundary;e=[0,0,t[2],t[3]]}this._state.boundary=e,this.glRedraw(),this.fire("boundary",this._state.boundary)}}get boundary(){return this._state.boundary}set autoBoundary(e){(e=!!e)!==this._autoBoundary&&(this._autoBoundary=e,this._autoBoundary?this._onCanvasSize=this.scene.canvas.on("boundary",(function(e){const t=e[2],s=e[3];this._state.boundary=[0,0,t,s],this.glRedraw(),this.fire("boundary",this._state.boundary)}),this):this._onCanvasSize&&(this.scene.canvas.off(this._onCanvasSize),this._onCanvasSize=null),this.fire("autoBoundary",this._autoBoundary))}get autoBoundary(){return this._autoBoundary}_getState(){return this._state}destroy(){super.destroy(),this._state.destroy()}}class rt extends S{get type(){return"Perspective"}constructor(e,t={}){super(e,t),this.camera=e,this._state=new it({matrix:A.mat4(),inverseMatrix:A.mat4(),transposedMatrix:A.mat4(),near:.1,far:2e3}),this._inverseMatrixDirty=!0,this._transposedMatrixDirty=!0,this._fov=60,this._canvasResized=this.scene.canvas.on("boundary",this._needUpdate,this),this.fov=t.fov,this.fovAxis=t.fovAxis,this.near=t.near,this.far=t.far}_update(){const e=this.scene.canvas.boundary,t=e[2]/e[3],s=this._fovAxis;let n=this._fov;("x"===s||"min"===s&&t<1||"max"===s&&t>1)&&(n/=t),n=Math.min(n,120),A.perspectiveMat4(n*(Math.PI/180),t,this._state.near,this._state.far,this._state.matrix),this._inverseMatrixDirty=!0,this._transposedMatrixDirty=!0,this.glRedraw(),this.camera._updateScheduled=!0,this.fire("matrix",this._state.matrix)}set fov(e){(e=null!=e?e:60)!==this._fov&&(this._fov=e,this._needUpdate(0),this.fire("fov",this._fov))}get fov(){return this._fov}set fovAxis(e){e=e||"min",this._fovAxis!==e&&("x"!==e&&"y"!==e&&"min"!==e&&(this.error("Unsupported value for 'fovAxis': "+e+" - defaulting to 'min'"),e="min"),this._fovAxis=e,this._needUpdate(0),this.fire("fovAxis",this._fovAxis))}get fovAxis(){return this._fovAxis}set near(e){const t=null!=e?e:.1;this._state.near!==t&&(this._state.near=t,this._needUpdate(0),this.fire("near",this._state.near))}get near(){return this._state.near}set far(e){const t=null!=e?e:2e3;this._state.far!==t&&(this._state.far=t,this._needUpdate(0),this.fire("far",this._state.far))}get far(){return this._state.far}get matrix(){return this._updateScheduled&&this._doUpdate(),this._state.matrix}get inverseMatrix(){return this._updateScheduled&&this._doUpdate(),this._inverseMatrixDirty&&(A.inverseMat4(this._state.matrix,this._state.inverseMatrix),this._inverseMatrixDirty=!1),this._state.inverseMatrix}get transposedMatrix(){return this._updateScheduled&&this._doUpdate(),this._transposedMatrixDirty&&(A.transposeMat4(this._state.matrix,this._state.transposedMatrix),this._transposedMatrixDirty=!1),this._state.transposedMatrix}unproject(e,t,s,n,i){const a=this.scene.canvas.canvas,r=a.offsetWidth/2,l=a.offsetHeight/2;return s[0]=(e[0]-r)/r,s[1]=(e[1]-l)/l,s[2]=t,s[3]=1,A.mulMat4v4(this.inverseMatrix,s,n),A.mulVec3Scalar(n,1/n[3]),n[3]=1,n[1]*=-1,A.mulMat4v4(this.camera.inverseViewMatrix,n,i),i}destroy(){super.destroy(),this._state.destroy(),this.scene.canvas.off(this._canvasResized)}}class lt extends S{get type(){return"Ortho"}constructor(e,t={}){super(e,t),this.camera=e,this._state=new it({matrix:A.mat4(),inverseMatrix:A.mat4(),transposedMatrix:A.mat4(),near:.1,far:2e3}),this._inverseMatrixDirty=!0,this._transposedMatrixDirty=!0,this.scale=t.scale,this.near=t.near,this.far=t.far,this._onCanvasBoundary=this.scene.canvas.on("boundary",this._needUpdate,this)}_update(){const e=this.scene,t=.5*this._scale,s=e.canvas.boundary,n=s[2],i=s[3],a=n/i;let r,l,o,c;n>i?(r=-t,l=t,o=t/a,c=-t/a):(r=-t*a,l=t*a,o=t,c=-t),A.orthoMat4c(r,l,c,o,this._state.near,this._state.far,this._state.matrix),this._inverseMatrixDirty=!0,this._transposedMatrixDirty=!0,this.glRedraw(),this.fire("matrix",this._state.matrix)}set scale(e){null==e&&(e=1),e<=0&&(e=.01),this._scale=e,this._needUpdate(0),this.fire("scale",this._scale)}get scale(){return this._scale}set near(e){const t=null!=e?e:.1;this._state.near!==t&&(this._state.near=t,this._needUpdate(0),this.fire("near",this._state.near))}get near(){return this._state.near}set far(e){const t=null!=e?e:2e3;this._state.far!==t&&(this._state.far=t,this._needUpdate(0),this.fire("far",this._state.far))}get far(){return this._state.far}get matrix(){return this._updateScheduled&&this._doUpdate(),this._state.matrix}get inverseMatrix(){return this._updateScheduled&&this._doUpdate(),this._inverseMatrixDirty&&(A.inverseMat4(this._state.matrix,this._state.inverseMatrix),this._inverseMatrixDirty=!1),this._state.inverseMatrix}get transposedMatrix(){return this._updateScheduled&&this._doUpdate(),this._transposedMatrixDirty&&(A.transposeMat4(this._state.matrix,this._state.transposedMatrix),this._transposedMatrixDirty=!1),this._state.transposedMatrix}unproject(e,t,s,n,i){const a=this.scene.canvas.canvas,r=a.offsetWidth/2,l=a.offsetHeight/2;return s[0]=(e[0]-r)/r,s[1]=(e[1]-l)/l,s[2]=t,s[3]=1,A.mulMat4v4(this.inverseMatrix,s,n),A.mulVec3Scalar(n,1/n[3]),n[3]=1,n[1]*=-1,A.mulMat4v4(this.camera.inverseViewMatrix,n,i),i}destroy(){super.destroy(),this._state.destroy(),this.scene.canvas.off(this._onCanvasBoundary)}}class ot extends S{get type(){return"Frustum"}constructor(e,t={}){super(e,t),this.camera=e,this._state=new it({matrix:A.mat4(),inverseMatrix:A.mat4(),transposedMatrix:A.mat4(),near:.1,far:1e4}),this._left=-1,this._right=1,this._bottom=-1,this._top=1,this._inverseMatrixDirty=!0,this._transposedMatrixDirty=!0,this.left=t.left,this.right=t.right,this.bottom=t.bottom,this.top=t.top,this.near=t.near,this.far=t.far}_update(){A.frustumMat4(this._left,this._right,this._bottom,this._top,this._state.near,this._state.far,this._state.matrix),this._inverseMatrixDirty=!0,this._transposedMatrixDirty=!0,this.glRedraw(),this.fire("matrix",this._state.matrix)}set left(e){this._left=null!=e?e:-1,this._needUpdate(0),this.fire("left",this._left)}get left(){return this._left}set right(e){this._right=null!=e?e:1,this._needUpdate(0),this.fire("right",this._right)}get right(){return this._right}set top(e){this._top=null!=e?e:1,this._needUpdate(0),this.fire("top",this._top)}get top(){return this._top}set bottom(e){this._bottom=null!=e?e:-1,this._needUpdate(0),this.fire("bottom",this._bottom)}get bottom(){return this._bottom}set near(e){this._state.near=null!=e?e:.1,this._needUpdate(0),this.fire("near",this._state.near)}get near(){return this._state.near}set far(e){this._state.far=null!=e?e:1e4,this._needUpdate(0),this.fire("far",this._state.far)}get far(){return this._state.far}get matrix(){return this._updateScheduled&&this._doUpdate(),this._state.matrix}get inverseMatrix(){return this._updateScheduled&&this._doUpdate(),this._inverseMatrixDirty&&(A.inverseMat4(this._state.matrix,this._state.inverseMatrix),this._inverseMatrixDirty=!1),this._state.inverseMatrix}get transposedMatrix(){return this._updateScheduled&&this._doUpdate(),this._transposedMatrixDirty&&(A.transposeMat4(this._state.matrix,this._state.transposedMatrix),this._transposedMatrixDirty=!1),this._state.transposedMatrix}unproject(e,t,s,n,i){const a=this.scene.canvas.canvas,r=a.offsetWidth/2,l=a.offsetHeight/2;return s[0]=(e[0]-r)/r,s[1]=(e[1]-l)/l,s[2]=t,s[3]=1,A.mulMat4v4(this.inverseMatrix,s,n),A.mulVec3Scalar(n,1/n[3]),n[3]=1,n[1]*=-1,A.mulMat4v4(this.camera.inverseViewMatrix,n,i),i}destroy(){super.destroy(),this._state.destroy(),super.destroy()}}class ct extends S{get type(){return"CustomProjection"}constructor(e,t={}){super(e,t),this.camera=e,this._state=new it({matrix:A.mat4(),inverseMatrix:A.mat4(),transposedMatrix:A.mat4()}),this._inverseMatrixDirty=!0,this._transposedMatrixDirty=!1,this.matrix=t.matrix}set matrix(e){this._state.matrix.set(e||[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]),this._inverseMatrixDirty=!0,this._transposedMatrixDirty=!0,this.glRedraw(),this.fire("matrix",this._state.matrix)}get matrix(){return this._state.matrix}get inverseMatrix(){return this._updateScheduled&&this._doUpdate(),this._inverseMatrixDirty&&(A.inverseMat4(this._state.matrix,this._state.inverseMatrix),this._inverseMatrixDirty=!1),this._state.inverseMatrix}get transposedMatrix(){return this._updateScheduled&&this._doUpdate(),this._transposedMatrixDirty&&(A.transposeMat4(this._state.matrix,this._state.transposedMatrix),this._transposedMatrixDirty=!1),this._state.transposedMatrix}unproject(e,t,s,n,i){const a=this.scene.canvas.canvas,r=a.offsetWidth/2,l=a.offsetHeight/2;return s[0]=(e[0]-r)/r,s[1]=(e[1]-l)/l,s[2]=t,s[3]=1,A.mulMat4v4(this.inverseMatrix,s,n),A.mulVec3Scalar(n,1/n[3]),n[3]=1,n[1]*=-1,A.mulMat4v4(this.camera.inverseViewMatrix,n,i),i}destroy(){super.destroy(),this._state.destroy()}}const ut=A.vec3(),ht=A.vec3(),pt=A.vec3(),At=A.vec3(),dt=A.vec3(),ft=A.vec3(),It=A.vec4(),yt=A.vec4(),mt=A.vec4(),vt=A.mat4(),wt=A.mat4(),gt=A.vec3(),Et=A.vec3(),Tt=A.vec3(),bt=A.vec3();class Dt extends S{get type(){return"Camera"}constructor(e,t={}){super(e,t),this._state=new it({deviceMatrix:A.mat4(),hasDeviceMatrix:!1,matrix:A.mat4(),normalMatrix:A.mat4(),inverseMatrix:A.mat4()}),this._perspective=new rt(this),this._ortho=new lt(this),this._frustum=new ot(this),this._customProjection=new ct(this),this._project=this._perspective,this._eye=A.vec3([0,0,10]),this._look=A.vec3([0,0,0]),this._up=A.vec3([0,1,0]),this._worldUp=A.vec3([0,1,0]),this._worldRight=A.vec3([1,0,0]),this._worldForward=A.vec3([0,0,-1]),this.deviceMatrix=t.deviceMatrix,this.eye=t.eye,this.look=t.look,this.up=t.up,this.worldAxis=t.worldAxis,this.gimbalLock=t.gimbalLock,this.constrainPitch=t.constrainPitch,this.projection=t.projection,this._perspective.on("matrix",(()=>{"perspective"===this._projectionType&&this.fire("projMatrix",this._perspective.matrix)})),this._ortho.on("matrix",(()=>{"ortho"===this._projectionType&&this.fire("projMatrix",this._ortho.matrix)})),this._frustum.on("matrix",(()=>{"frustum"===this._projectionType&&this.fire("projMatrix",this._frustum.matrix)})),this._customProjection.on("matrix",(()=>{"customProjection"===this._projectionType&&this.fire("projMatrix",this._customProjection.matrix)}))}_update(){const e=this._state;let t;"ortho"===this.projection?(A.subVec3(this._eye,this._look,gt),A.normalizeVec3(gt,Et),A.mulVec3Scalar(Et,1e3,Tt),A.addVec3(this._look,Tt,bt),t=bt):t=this._eye,e.hasDeviceMatrix?(A.lookAtMat4v(t,this._look,this._up,wt),A.mulMat4(e.deviceMatrix,wt,e.matrix)):A.lookAtMat4v(t,this._look,this._up,e.matrix),A.inverseMat4(this._state.matrix,this._state.inverseMatrix),A.transposeMat4(this._state.inverseMatrix,this._state.normalMatrix),this.glRedraw(),this.fire("matrix",this._state.matrix),this.fire("viewMatrix",this._state.matrix)}orbitYaw(e){let t=A.subVec3(this._eye,this._look,ut);A.rotationMat4v(.0174532925*e,this._gimbalLock?this._worldUp:this._up,vt),t=A.transformPoint3(vt,t,ht),this.eye=A.addVec3(this._look,t,pt),this.up=A.transformPoint3(vt,this._up,At)}orbitPitch(e){if(this._constrainPitch&&(e=A.dotVec3(this._up,this._worldUp)/A.DEGTORAD)<1)return;let t=A.subVec3(this._eye,this._look,ut);const s=A.cross3Vec3(A.normalizeVec3(t,ht),A.normalizeVec3(this._up,pt));A.rotationMat4v(.0174532925*e,s,vt),t=A.transformPoint3(vt,t,At),this.up=A.transformPoint3(vt,this._up,dt),this.eye=A.addVec3(t,this._look,ft)}yaw(e){let t=A.subVec3(this._look,this._eye,ut);A.rotationMat4v(.0174532925*e,this._gimbalLock?this._worldUp:this._up,vt),t=A.transformPoint3(vt,t,ht),this.look=A.addVec3(t,this._eye,pt),this._gimbalLock&&(this.up=A.transformPoint3(vt,this._up,At))}pitch(e){if(this._constrainPitch&&(e=A.dotVec3(this._up,this._worldUp)/A.DEGTORAD)<1)return;let t=A.subVec3(this._look,this._eye,ut);const s=A.cross3Vec3(A.normalizeVec3(t,ht),A.normalizeVec3(this._up,pt));A.rotationMat4v(.0174532925*e,s,vt),this.up=A.transformPoint3(vt,this._up,ft),t=A.transformPoint3(vt,t,At),this.look=A.addVec3(t,this._eye,dt)}pan(e){const t=A.subVec3(this._eye,this._look,ut),s=[0,0,0];let n;if(0!==e[0]){const i=A.cross3Vec3(A.normalizeVec3(t,[]),A.normalizeVec3(this._up,ht));n=A.mulVec3Scalar(i,e[0]),s[0]+=n[0],s[1]+=n[1],s[2]+=n[2]}0!==e[1]&&(n=A.mulVec3Scalar(A.normalizeVec3(this._up,pt),e[1]),s[0]+=n[0],s[1]+=n[1],s[2]+=n[2]),0!==e[2]&&(n=A.mulVec3Scalar(A.normalizeVec3(t,At),e[2]),s[0]+=n[0],s[1]+=n[1],s[2]+=n[2]),this.eye=A.addVec3(this._eye,s,dt),this.look=A.addVec3(this._look,s,ft)}zoom(e){const t=A.subVec3(this._eye,this._look,ut),s=Math.abs(A.lenVec3(t,ht)),n=Math.abs(s+e);if(n<.5)return;const i=A.normalizeVec3(t,pt);this.eye=A.addVec3(this._look,A.mulVec3Scalar(i,n),At)}set eye(e){this._eye.set(e||[0,0,10]),this._needUpdate(0),this.fire("eye",this._eye)}get eye(){return this._eye}set look(e){this._look.set(e||[0,0,0]),this._needUpdate(0),this.fire("look",this._look)}get look(){return this._look}set up(e){this._up.set(e||[0,1,0]),this._needUpdate(0),this.fire("up",this._up)}get up(){return this._up}set deviceMatrix(e){this._state.deviceMatrix.set(e||[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]),this._state.hasDeviceMatrix=!!e,this._needUpdate(0),this.fire("deviceMatrix",this._state.deviceMatrix)}get deviceMatrix(){return this._state.deviceMatrix}set worldAxis(e){e=e||[1,0,0,0,1,0,0,0,1],this._worldAxis?this._worldAxis.set(e):this._worldAxis=A.vec3(e),this._worldRight[0]=this._worldAxis[0],this._worldRight[1]=this._worldAxis[1],this._worldRight[2]=this._worldAxis[2],this._worldUp[0]=this._worldAxis[3],this._worldUp[1]=this._worldAxis[4],this._worldUp[2]=this._worldAxis[5],this._worldForward[0]=this._worldAxis[6],this._worldForward[1]=this._worldAxis[7],this._worldForward[2]=this._worldAxis[8],this.fire("worldAxis",this._worldAxis)}get worldAxis(){return this._worldAxis}get worldUp(){return this._worldUp}get xUp(){return this._worldUp[0]>this._worldUp[1]&&this._worldUp[0]>this._worldUp[2]}get yUp(){return this._worldUp[1]>this._worldUp[0]&&this._worldUp[1]>this._worldUp[2]}get zUp(){return this._worldUp[2]>this._worldUp[0]&&this._worldUp[2]>this._worldUp[1]}get worldRight(){return this._worldRight}get worldForward(){return this._worldForward}set gimbalLock(e){this._gimbalLock=!1!==e,this.fire("gimbalLock",this._gimbalLock)}get gimbalLock(){return this._gimbalLock}set constrainPitch(e){this._constrainPitch=!!e,this.fire("constrainPitch",this._constrainPitch)}get eyeLookDist(){return A.lenVec3(A.subVec3(this._look,this._eye,ut))}get matrix(){return this._updateScheduled&&this._doUpdate(),this._state.matrix}get viewMatrix(){return this._updateScheduled&&this._doUpdate(),this._state.matrix}get normalMatrix(){return this._updateScheduled&&this._doUpdate(),this._state.normalMatrix}get viewNormalMatrix(){return this._updateScheduled&&this._doUpdate(),this._state.normalMatrix}get inverseViewMatrix(){return this._updateScheduled&&this._doUpdate(),this._state.inverseMatrix}get projMatrix(){return this[this.projection].matrix}get perspective(){return this._perspective}get ortho(){return this._ortho}get frustum(){return this._frustum}get customProjection(){return this._customProjection}set projection(e){e=e||"perspective",this._projectionType!==e&&("perspective"===e?this._project=this._perspective:"ortho"===e?this._project=this._ortho:"frustum"===e?this._project=this._frustum:"customProjection"===e?this._project=this._customProjection:(this.error("Unsupported value for 'projection': "+e+" defaulting to 'perspective'"),this._project=this._perspective,e="perspective"),this._project._update(),this._projectionType=e,this.glRedraw(),this._update(),this.fire("dirty"),this.fire("projection",this._projectionType),this.fire("projMatrix",this._project.matrix))}get projection(){return this._projectionType}get project(){return this._project}projectWorldPos(e){const t=It,s=yt,n=mt;t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=1,A.mulMat4v4(this.viewMatrix,t,s),A.mulMat4v4(this.projMatrix,s,n),A.mulVec3Scalar(n,1/n[3]),n[3]=1,n[1]*=-1;const i=this.scene.canvas.canvas,a=i.offsetWidth/2,r=i.offsetHeight/2;return[n[0]*a+a,n[1]*r+r]}destroy(){super.destroy(),this._state.destroy()}}class Pt extends S{get type(){return"Light"}get isLight(){return!0}constructor(e,t={}){super(e,t)}}class Rt extends Pt{get type(){return"DirLight"}constructor(e,t={}){super(e,t),this._shadowRenderBuf=null,this._shadowViewMatrix=null,this._shadowProjMatrix=null,this._shadowViewMatrixDirty=!0,this._shadowProjMatrixDirty=!0;const s=this.scene.camera,n=this.scene.canvas;this._onCameraViewMatrix=s.on("viewMatrix",(()=>{this._shadowViewMatrixDirty=!0})),this._onCameraProjMatrix=s.on("projMatrix",(()=>{this._shadowProjMatrixDirty=!0})),this._onCanvasBoundary=n.on("boundary",(()=>{this._shadowProjMatrixDirty=!0})),this._state=new it({type:"dir",dir:A.vec3([1,1,1]),color:A.vec3([.7,.7,.8]),intensity:1,space:t.space||"view",castsShadow:!1,getShadowViewMatrix:()=>{if(this._shadowViewMatrixDirty){this._shadowViewMatrix||(this._shadowViewMatrix=A.identityMat4());const e=this.scene.camera,t=this._state.dir,s=e.look,n=[s[0]-t[0],s[1]-t[1],s[2]-t[2]],i=[0,1,0];A.lookAtMat4v(n,s,i,this._shadowViewMatrix),this._shadowViewMatrixDirty=!1}return this._shadowViewMatrix},getShadowProjMatrix:()=>(this._shadowProjMatrixDirty&&(this._shadowProjMatrix||(this._shadowProjMatrix=A.identityMat4()),A.orthoMat4c(-40,40,-40,40,-40,80,this._shadowProjMatrix),this._shadowProjMatrixDirty=!1),this._shadowProjMatrix),getShadowRenderBuf:()=>(this._shadowRenderBuf||(this._shadowRenderBuf=new Ze(this.scene.canvas.canvas,this.scene.canvas.gl,{size:[1024,1024]})),this._shadowRenderBuf)}),this.dir=t.dir,this.color=t.color,this.intensity=t.intensity,this.castsShadow=t.castsShadow,this.scene._lightCreated(this)}set dir(e){this._state.dir.set(e||[1,1,1]),this._shadowViewMatrixDirty=!0,this.glRedraw()}get dir(){return this._state.dir}set color(e){this._state.color.set(e||[.7,.7,.8]),this.glRedraw()}get color(){return this._state.color}set intensity(e){e=void 0!==e?e:1,this._state.intensity=e,this.glRedraw()}get intensity(){return this._state.intensity}set castsShadow(e){e=!!e,this._state.castsShadow!==e&&(this._state.castsShadow=e,this._shadowViewMatrixDirty=!0,this.glRedraw())}get castsShadow(){return this._state.castsShadow}destroy(){const e=this.scene.camera,t=this.scene.canvas;e.off(this._onCameraViewMatrix),e.off(this._onCameraProjMatrix),t.off(this._onCanvasBoundary),super.destroy(),this._state.destroy(),this._shadowRenderBuf&&this._shadowRenderBuf.destroy(),this.scene._lightDestroyed(this),this.glRedraw()}}class Ct extends Pt{get type(){return"AmbientLight"}constructor(e,t={}){super(e,t),this._state={type:"ambient",color:A.vec3([.7,.7,.7]),intensity:1},this.color=t.color,this.intensity=t.intensity,this.scene._lightCreated(this)}set color(e){this._state.color.set(e||[.7,.7,.8]),this.glRedraw()}get color(){return this._state.color}set intensity(e){this._state.intensity=void 0!==e?e:1,this.glRedraw()}get intensity(){return this._state.intensity}destroy(){super.destroy(),this.scene._lightDestroyed(this)}}class _t extends S{get type(){return"Geometry"}get isGeometry(){return!0}constructor(e,t={}){super(e,t),y.memory.meshes++}destroy(){super.destroy(),y.memory.meshes--}}var Bt=function(){const e=[],t=[],s=[],n=[],i=[];let a=0;const r=new Uint16Array(3),l=new Uint16Array(3),o=new Uint16Array(3),c=A.vec3(),u=A.vec3(),h=A.vec3(),p=A.vec3(),d=A.vec3(),f=A.vec3(),I=A.vec3();return function(y,m,v,w){!function(i,a){const r={};let l,o,c,u;const h=Math.pow(10,4);let p,A,d=0;for(p=0,A=i.length;pE)||(N=s[_.index1],x=s[_.index2],(!L&&N>65535||x>65535)&&(L=!0),g.push(N),g.push(x));return L?new Uint32Array(g):new Uint16Array(g)}}();const Ot=function(){const e=A.mat4(),t=A.mat4();return function(s,n){n=n||A.mat4();const i=s[0],a=s[1],r=s[2],l=s[3]-i,o=s[4]-a,c=s[5]-r,u=65535;return A.identityMat4(e),A.translationMat4v(s,e),A.identityMat4(t),A.scalingMat4v([l/u,o/u,c/u],t),A.mulMat4(e,t,n),n}}();var St=function(){const e=A.mat4(),t=A.mat4();return function(s,n,i){const a=new Uint16Array(s.length),r=new Float32Array([i[0]!==n[0]?65535/(i[0]-n[0]):0,i[1]!==n[1]?65535/(i[1]-n[1]):0,i[2]!==n[2]?65535/(i[2]-n[2]):0]);let l;for(l=0;l=0?1:-1),t=(1-Math.abs(i))*(a>=0?1:-1);i=e,a=t}return new Int8Array([Math[s](127.5*i+(i<0?-1:0)),Math[n](127.5*a+(a<0?-1:0))])}function Lt(e){let t=e[0],s=e[1];t/=t<0?127:128,s/=s<0?127:128;const n=1-Math.abs(t)-Math.abs(s);n<0&&(t=(1-Math.abs(s))*(t>=0?1:-1),s=(1-Math.abs(t))*(s>=0?1:-1));const i=Math.sqrt(t*t+s*s+n*n);return[t/i,s/i,n/i]}function Mt(e,t,s){return e[t]*s[0]+e[t+1]*s[1]+e[t+2]*s[2]}const Ft={getPositionsBounds:function(e){const t=new Float32Array(3),s=new Float32Array(3);let n,i;for(n=0;n<3;n++)t[n]=Number.MAX_VALUE,s[n]=-Number.MAX_VALUE;for(n=0;nr&&(i=s,r=a),s=xt(e,l,"floor","ceil"),n=Lt(s),a=Mt(e,l,n),a>r&&(i=s,r=a),s=xt(e,l,"ceil","ceil"),n=Lt(s),a=Mt(e,l,n),a>r&&(i=s,r=a),t[l]=i[0],t[l+1]=i[1];return t},decompressNormals:function(e,t){for(let s=0,n=0,i=e.length;s=0?1:-1),a=(1-Math.abs(i))*(a>=0?1:-1));const l=Math.sqrt(i*i+a*a+r*r);t[n+0]=i/l,t[n+1]=a/l,t[n+2]=r/l,n+=3}return t},decompressNormal:function(e,t){let s=e[0],n=e[1];s=(2*s+1)/255,n=(2*n+1)/255;const i=1-Math.abs(s)-Math.abs(n);i<0&&(s=(1-Math.abs(n))*(s>=0?1:-1),n=(1-Math.abs(s))*(n>=0?1:-1));const a=Math.sqrt(s*s+n*n+i*i);return t[0]=s/a,t[1]=n/a,t[2]=i/a,t}},Ht=y.memory,Ut=A.AABB3();class Gt extends _t{get type(){return"ReadableGeometry"}get isReadableGeometry(){return!0}constructor(e,t={}){super(e,t),this._state=new it({compressGeometry:!!t.compressGeometry,primitive:null,primitiveName:null,positions:null,normals:null,colors:null,uv:null,indices:null,positionsDecodeMatrix:null,uvDecodeMatrix:null,positionsBuf:null,normalsBuf:null,colorsbuf:null,uvBuf:null,indicesBuf:null,hash:""}),this._numTriangles=0,this._edgeThreshold=t.edgeThreshold||10,this._edgeIndicesBuf=null,this._pickTrianglePositionsBuf=null,this._pickTriangleColorsBuf=null,this._aabbDirty=!0,this._boundingSphere=!0,this._aabb=null,this._aabbDirty=!0,this._obb=null,this._obbDirty=!0;const s=this._state,n=this.scene.canvas.gl;switch(t.primitive=t.primitive||"triangles",t.primitive){case"points":s.primitive=n.POINTS,s.primitiveName=t.primitive;break;case"lines":s.primitive=n.LINES,s.primitiveName=t.primitive;break;case"line-loop":s.primitive=n.LINE_LOOP,s.primitiveName=t.primitive;break;case"line-strip":s.primitive=n.LINE_STRIP,s.primitiveName=t.primitive;break;case"triangles":s.primitive=n.TRIANGLES,s.primitiveName=t.primitive;break;case"triangle-strip":s.primitive=n.TRIANGLE_STRIP,s.primitiveName=t.primitive;break;case"triangle-fan":s.primitive=n.TRIANGLE_FAN,s.primitiveName=t.primitive;break;default:this.error("Unsupported value for 'primitive': '"+t.primitive+"' - supported values are 'points', 'lines', 'line-loop', 'line-strip', 'triangles', 'triangle-strip' and 'triangle-fan'. Defaulting to 'triangles'."),s.primitive=n.TRIANGLES,s.primitiveName=t.primitive}if(t.positions)if(this._state.compressGeometry){const e=Ft.getPositionsBounds(t.positions),n=Ft.compressPositions(t.positions,e.min,e.max);s.positions=n.quantized,s.positionsDecodeMatrix=n.decodeMatrix}else s.positions=t.positions.constructor===Float32Array?t.positions:new Float32Array(t.positions);if(t.colors&&(s.colors=t.colors.constructor===Float32Array?t.colors:new Float32Array(t.colors)),t.uv)if(this._state.compressGeometry){const e=Ft.getUVBounds(t.uv),n=Ft.compressUVs(t.uv,e.min,e.max);s.uv=n.quantized,s.uvDecodeMatrix=n.decodeMatrix}else s.uv=t.uv.constructor===Float32Array?t.uv:new Float32Array(t.uv);t.normals&&(this._state.compressGeometry?s.normals=Ft.compressNormals(t.normals):s.normals=t.normals.constructor===Float32Array?t.normals:new Float32Array(t.normals)),t.indices&&(s.indices=t.indices.constructor===Uint32Array||t.indices.constructor===Uint16Array?t.indices:new Uint32Array(t.indices),"triangles"===this._state.primitiveName&&(this._numTriangles=t.indices.length/3)),this._buildHash(),Ht.meshes++,this._buildVBOs()}_buildVBOs(){const e=this._state,t=this.scene.canvas.gl;if(e.indices&&(e.indicesBuf=new He(t,t.ELEMENT_ARRAY_BUFFER,e.indices,e.indices.length,1,t.STATIC_DRAW),Ht.indices+=e.indicesBuf.numItems),e.positions&&(e.positionsBuf=new He(t,t.ARRAY_BUFFER,e.positions,e.positions.length,3,t.STATIC_DRAW),Ht.positions+=e.positionsBuf.numItems),e.normals){let s=e.compressGeometry;e.normalsBuf=new He(t,t.ARRAY_BUFFER,e.normals,e.normals.length,3,t.STATIC_DRAW,s),Ht.normals+=e.normalsBuf.numItems}e.colors&&(e.colorsBuf=new He(t,t.ARRAY_BUFFER,e.colors,e.colors.length,4,t.STATIC_DRAW),Ht.colors+=e.colorsBuf.numItems),e.uv&&(e.uvBuf=new He(t,t.ARRAY_BUFFER,e.uv,e.uv.length,2,t.STATIC_DRAW),Ht.uvs+=e.uvBuf.numItems)}_buildHash(){const e=this._state,t=["/g"];t.push("/"+e.primitive+";"),e.positions&&t.push("p"),e.colors&&t.push("c"),(e.normals||e.autoVertexNormals)&&t.push("n"),e.uv&&t.push("u"),e.compressGeometry&&t.push("cp"),t.push(";"),e.hash=t.join("")}_getEdgeIndices(){return this._edgeIndicesBuf||this._buildEdgeIndices(),this._edgeIndicesBuf}_getPickTrianglePositions(){return this._pickTrianglePositionsBuf||this._buildPickTriangleVBOs(),this._pickTrianglePositionsBuf}_getPickTriangleColors(){return this._pickTriangleColorsBuf||this._buildPickTriangleVBOs(),this._pickTriangleColorsBuf}_buildEdgeIndices(){const e=this._state;if(!e.positions||!e.indices)return;const t=this.scene.canvas.gl,s=Bt(e.positions,e.indices,e.positionsDecodeMatrix,this._edgeThreshold);this._edgeIndicesBuf=new He(t,t.ELEMENT_ARRAY_BUFFER,s,s.length,1,t.STATIC_DRAW),Ht.indices+=this._edgeIndicesBuf.numItems}_buildPickTriangleVBOs(){const e=this._state;if(!e.positions||!e.indices)return;const t=this.scene.canvas.gl,s=A.buildPickTriangles(e.positions,e.indices,e.compressGeometry),n=s.positions,i=s.colors;this._pickTrianglePositionsBuf=new He(t,t.ARRAY_BUFFER,n,n.length,3,t.STATIC_DRAW),this._pickTriangleColorsBuf=new He(t,t.ARRAY_BUFFER,i,i.length,4,t.STATIC_DRAW,!0),Ht.positions+=this._pickTrianglePositionsBuf.numItems,Ht.colors+=this._pickTriangleColorsBuf.numItems}_buildPickVertexVBOs(){}_webglContextLost(){this._sceneVertexBufs&&this._sceneVertexBufs.webglContextLost()}_webglContextRestored(){this._sceneVertexBufs&&this._sceneVertexBufs.webglContextRestored(),this._buildVBOs(),this._edgeIndicesBuf=null,this._pickVertexPositionsBuf=null,this._pickTrianglePositionsBuf=null,this._pickTriangleColorsBuf=null,this._pickVertexPositionsBuf=null,this._pickVertexColorsBuf=null}get primitive(){return this._state.primitiveName}get compressGeometry(){return this._state.compressGeometry}get positions(){return this._state.positions?this._state.compressGeometry?(this._decompressedPositions||(this._decompressedPositions=new Float32Array(this._state.positions.length),Ft.decompressPositions(this._state.positions,this._state.positionsDecodeMatrix,this._decompressedPositions)),this._decompressedPositions):this._state.positions:null}set positions(e){const t=this._state,s=t.positions;if(s)if(s.length===e.length){if(this._state.compressGeometry){const s=Ft.getPositionsBounds(e),n=Ft.compressPositions(e,s.min,s.max);e=n.quantized,t.positionsDecodeMatrix=n.decodeMatrix}s.set(e),t.positionsBuf&&t.positionsBuf.setData(s),this._setAABBDirty(),this.glRedraw()}else this.error("can't update geometry positions - new positions are wrong length");else this.error("can't update geometry positions - geometry has no positions")}get normals(){if(this._state.normals){if(!this._state.compressGeometry)return this._state.normals;if(!this._decompressedNormals){const e=this._state.normals.length,t=e+e/2;this._decompressedNormals=new Float32Array(t),Ft.decompressNormals(this._state.normals,this._decompressedNormals)}return this._decompressedNormals}}set normals(e){if(this._state.compressGeometry)return void this.error("can't update geometry normals - quantized geometry is immutable");const t=this._state,s=t.normals;s?s.length===e.length?(s.set(e),t.normalsBuf&&t.normalsBuf.setData(s),this.glRedraw()):this.error("can't update geometry normals - new normals are wrong length"):this.error("can't update geometry normals - geometry has no normals")}get uv(){return this._state.uv?this._state.compressGeometry?(this._decompressedUV||(this._decompressedUV=new Float32Array(this._state.uv.length),Ft.decompressUVs(this._state.uv,this._state.uvDecodeMatrix,this._decompressedUV)),this._decompressedUV):this._state.uv:null}set uv(e){if(this._state.compressGeometry)return void this.error("can't update geometry UVs - quantized geometry is immutable");const t=this._state,s=t.uv;s?s.length===e.length?(s.set(e),t.uvBuf&&t.uvBuf.setData(s),this.glRedraw()):this.error("can't update geometry UVs - new UVs are wrong length"):this.error("can't update geometry UVs - geometry has no UVs")}get colors(){return this._state.colors}set colors(e){if(this._state.compressGeometry)return void this.error("can't update geometry colors - quantized geometry is immutable");const t=this._state,s=t.colors;s?s.length===e.length?(s.set(e),t.colorsBuf&&t.colorsBuf.setData(s),this.glRedraw()):this.error("can't update geometry colors - new colors are wrong length"):this.error("can't update geometry colors - geometry has no colors")}get indices(){return this._state.indices}get aabb(){return this._aabbDirty&&(this._aabb||(this._aabb=A.AABB3()),A.positions3ToAABB3(this._state.positions,this._aabb,this._state.positionsDecodeMatrix),this._aabbDirty=!1),this._aabb}get obb(){return this._obbDirty&&(this._obb||(this._obb=A.OBB3()),A.positions3ToAABB3(this._state.positions,Ut,this._state.positionsDecodeMatrix),A.AABB3ToOBB3(Ut,this._obb),this._obbDirty=!1),this._obb}get numTriangles(){return this._numTriangles}_setAABBDirty(){this._aabbDirty||(this._aabbDirty=!0,this._aabbDirty=!0,this._obbDirty=!0)}_getState(){return this._state}destroy(){super.destroy();const e=this._state;e.indicesBuf&&e.indicesBuf.destroy(),e.positionsBuf&&e.positionsBuf.destroy(),e.normalsBuf&&e.normalsBuf.destroy(),e.uvBuf&&e.uvBuf.destroy(),e.colorsBuf&&e.colorsBuf.destroy(),this._edgeIndicesBuf&&this._edgeIndicesBuf.destroy(),this._pickTrianglePositionsBuf&&this._pickTrianglePositionsBuf.destroy(),this._pickTriangleColorsBuf&&this._pickTriangleColorsBuf.destroy(),this._pickVertexPositionsBuf&&this._pickVertexPositionsBuf.destroy(),this._pickVertexColorsBuf&&this._pickVertexColorsBuf.destroy(),e.destroy(),Ht.meshes--}}function jt(e={}){let t=e.xSize||1;t<0&&(console.error("negative xSize not allowed - will invert"),t*=-1);let s=e.ySize||1;s<0&&(console.error("negative ySize not allowed - will invert"),s*=-1);let n=e.zSize||1;n<0&&(console.error("negative zSize not allowed - will invert"),n*=-1);const i=e.center,a=i?i[0]:0,r=i?i[1]:0,l=i?i[2]:0,o=-t+a,c=-s+r,u=-n+l,h=t+a,p=s+r,A=n+l;return g.apply(e,{positions:[h,p,A,o,p,A,o,c,A,h,c,A,h,p,A,h,c,A,h,c,u,h,p,u,h,p,A,h,p,u,o,p,u,o,p,A,o,p,A,o,p,u,o,c,u,o,c,A,o,c,u,h,c,u,h,c,A,o,c,A,h,c,u,o,c,u,o,p,u,h,p,u],normals:[0,0,1,0,0,1,0,0,1,0,0,1,1,0,0,1,0,0,1,0,0,1,0,0,0,1,0,0,1,0,0,1,0,0,1,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,0,-1,0,0,-1,0,0,-1,0,0,-1],uv:[1,0,0,0,0,1,1,1,0,0,0,1,1,1,1,0,1,1,1,0,0,0,0,1,1,0,0,0,0,1,1,1,0,1,1,1,1,0,0,0,0,1,1,1,1,0,0,0],indices:[0,1,2,0,2,3,4,5,6,4,6,7,8,9,10,8,10,11,12,13,14,12,14,15,16,17,18,16,18,19,20,21,22,20,22,23]})}class Vt extends S{get type(){return"Material"}constructor(e,t={}){super(e,t),y.memory.materials++}destroy(){super.destroy(),y.memory.materials--}}const kt={opaque:0,mask:1,blend:2},Qt=["opaque","mask","blend"];class Wt extends Vt{get type(){return"PhongMaterial"}constructor(e,t={}){super(e,t),this._state=new it({type:"PhongMaterial",ambient:A.vec3([1,1,1]),diffuse:A.vec3([1,1,1]),specular:A.vec3([1,1,1]),emissive:A.vec3([0,0,0]),alpha:null,shininess:null,reflectivity:null,alphaMode:null,alphaCutoff:null,lineWidth:null,pointSize:null,backfaces:null,frontface:null,hash:null}),this.ambient=t.ambient,this.diffuse=t.diffuse,this.specular=t.specular,this.emissive=t.emissive,this.alpha=t.alpha,this.shininess=t.shininess,this.reflectivity=t.reflectivity,this.lineWidth=t.lineWidth,this.pointSize=t.pointSize,t.ambientMap&&(this._ambientMap=this._checkComponent("Texture",t.ambientMap)),t.diffuseMap&&(this._diffuseMap=this._checkComponent("Texture",t.diffuseMap)),t.specularMap&&(this._specularMap=this._checkComponent("Texture",t.specularMap)),t.emissiveMap&&(this._emissiveMap=this._checkComponent("Texture",t.emissiveMap)),t.alphaMap&&(this._alphaMap=this._checkComponent("Texture",t.alphaMap)),t.reflectivityMap&&(this._reflectivityMap=this._checkComponent("Texture",t.reflectivityMap)),t.normalMap&&(this._normalMap=this._checkComponent("Texture",t.normalMap)),t.occlusionMap&&(this._occlusionMap=this._checkComponent("Texture",t.occlusionMap)),t.diffuseFresnel&&(this._diffuseFresnel=this._checkComponent("Fresnel",t.diffuseFresnel)),t.specularFresnel&&(this._specularFresnel=this._checkComponent("Fresnel",t.specularFresnel)),t.emissiveFresnel&&(this._emissiveFresnel=this._checkComponent("Fresnel",t.emissiveFresnel)),t.alphaFresnel&&(this._alphaFresnel=this._checkComponent("Fresnel",t.alphaFresnel)),t.reflectivityFresnel&&(this._reflectivityFresnel=this._checkComponent("Fresnel",t.reflectivityFresnel)),this.alphaMode=t.alphaMode,this.alphaCutoff=t.alphaCutoff,this.backfaces=t.backfaces,this.frontface=t.frontface,this._makeHash()}_makeHash(){const e=this._state,t=["/p"];this._normalMap&&(t.push("/nm"),this._normalMap.hasMatrix&&t.push("/mat")),this._ambientMap&&(t.push("/am"),this._ambientMap.hasMatrix&&t.push("/mat"),t.push("/"+this._ambientMap.encoding)),this._diffuseMap&&(t.push("/dm"),this._diffuseMap.hasMatrix&&t.push("/mat"),t.push("/"+this._diffuseMap.encoding)),this._specularMap&&(t.push("/sm"),this._specularMap.hasMatrix&&t.push("/mat")),this._emissiveMap&&(t.push("/em"),this._emissiveMap.hasMatrix&&t.push("/mat"),t.push("/"+this._emissiveMap.encoding)),this._alphaMap&&(t.push("/opm"),this._alphaMap.hasMatrix&&t.push("/mat")),this._reflectivityMap&&(t.push("/rm"),this._reflectivityMap.hasMatrix&&t.push("/mat")),this._occlusionMap&&(t.push("/ocm"),this._occlusionMap.hasMatrix&&t.push("/mat")),this._diffuseFresnel&&t.push("/df"),this._specularFresnel&&t.push("/sf"),this._emissiveFresnel&&t.push("/ef"),this._alphaFresnel&&t.push("/of"),this._reflectivityFresnel&&t.push("/rf"),t.push(";"),e.hash=t.join("")}set ambient(e){let t=this._state.ambient;if(t){if(e&&t[0]===e[0]&&t[1]===e[1]&&t[2]===e[2])return}else t=this._state.ambient=new Float32Array(3);e?(t[0]=e[0],t[1]=e[1],t[2]=e[2]):(t[0]=.2,t[1]=.2,t[2]=.2),this.glRedraw()}get ambient(){return this._state.ambient}set diffuse(e){let t=this._state.diffuse;if(t){if(e&&t[0]===e[0]&&t[1]===e[1]&&t[2]===e[2])return}else t=this._state.diffuse=new Float32Array(3);e?(t[0]=e[0],t[1]=e[1],t[2]=e[2]):(t[0]=1,t[1]=1,t[2]=1),this.glRedraw()}get diffuse(){return this._state.diffuse}set specular(e){let t=this._state.specular;if(t){if(e&&t[0]===e[0]&&t[1]===e[1]&&t[2]===e[2])return}else t=this._state.specular=new Float32Array(3);e?(t[0]=e[0],t[1]=e[1],t[2]=e[2]):(t[0]=1,t[1]=1,t[2]=1),this.glRedraw()}get specular(){return this._state.specular}set emissive(e){let t=this._state.emissive;if(t){if(e&&t[0]===e[0]&&t[1]===e[1]&&t[2]===e[2])return}else t=this._state.emissive=new Float32Array(3);e?(t[0]=e[0],t[1]=e[1],t[2]=e[2]):(t[0]=0,t[1]=0,t[2]=0),this.glRedraw()}get emissive(){return this._state.emissive}set alpha(e){e=null!=e?e:1,this._state.alpha!==e&&(this._state.alpha=e,this.glRedraw())}get alpha(){return this._state.alpha}set shininess(e){this._state.shininess=void 0!==e?e:80,this.glRedraw()}get shininess(){return this._state.shininess}set lineWidth(e){this._state.lineWidth=e||1,this.glRedraw()}get lineWidth(){return this._state.lineWidth}set pointSize(e){this._state.pointSize=e||1,this.glRedraw()}get pointSize(){return this._state.pointSize}set reflectivity(e){this._state.reflectivity=void 0!==e?e:1,this.glRedraw()}get reflectivity(){return this._state.reflectivity}get normalMap(){return this._normalMap}get ambientMap(){return this._ambientMap}get diffuseMap(){return this._diffuseMap}get specularMap(){return this._specularMap}get emissiveMap(){return this._emissiveMap}get alphaMap(){return this._alphaMap}get reflectivityMap(){return this._reflectivityMap}get occlusionMap(){return this._occlusionMap}get diffuseFresnel(){return this._diffuseFresnel}get specularFresnel(){return this._specularFresnel}get emissiveFresnel(){return this._emissiveFresnel}get alphaFresnel(){return this._alphaFresnel}get reflectivityFresnel(){return this._reflectivityFresnel}set alphaMode(e){let t=kt[e=e||"opaque"];void 0===t&&(this.error("Unsupported value for 'alphaMode': "+e+" - defaulting to 'opaque'"),t="opaque"),this._state.alphaMode!==t&&(this._state.alphaMode=t,this.glRedraw())}get alphaMode(){return Qt[this._state.alphaMode]}set alphaCutoff(e){null==e&&(e=.5),this._state.alphaCutoff!==e&&(this._state.alphaCutoff=e)}get alphaCutoff(){return this._state.alphaCutoff}set backfaces(e){e=!!e,this._state.backfaces!==e&&(this._state.backfaces=e,this.glRedraw())}get backfaces(){return this._state.backfaces}set frontface(e){e="cw"!==e,this._state.frontface!==e&&(this._state.frontface=e,this.glRedraw())}get frontface(){return this._state.frontface?"ccw":"cw"}destroy(){super.destroy(),this._state.destroy()}}const zt={default:{fill:!0,fillColor:[.4,.4,.4],fillAlpha:.2,edges:!0,edgeColor:[.2,.2,.2],edgeAlpha:.5,edgeWidth:1},defaultWhiteBG:{fill:!0,fillColor:[1,1,1],fillAlpha:.6,edgeColor:[.2,.2,.2],edgeAlpha:1,edgeWidth:1},defaultLightBG:{fill:!0,fillColor:[.4,.4,.4],fillAlpha:.2,edges:!0,edgeColor:[.2,.2,.2],edgeAlpha:.5,edgeWidth:1},defaultDarkBG:{fill:!0,fillColor:[.4,.4,.4],fillAlpha:.2,edges:!0,edgeColor:[.5,.5,.5],edgeAlpha:.5,edgeWidth:1},phosphorous:{fill:!0,fillColor:[0,0,0],fillAlpha:.4,edges:!0,edgeColor:[.9,.9,.9],edgeAlpha:.5,edgeWidth:2},sunset:{fill:!0,fillColor:[.9,.9,.6],fillAlpha:.2,edges:!0,edgeColor:[.9,.9,.9],edgeAlpha:.5,edgeWidth:1},vectorscope:{fill:!0,fillColor:[0,0,0],fillAlpha:.7,edges:!0,edgeColor:[.2,1,.2],edgeAlpha:1,edgeWidth:2},battlezone:{fill:!0,fillColor:[0,0,0],fillAlpha:1,edges:!0,edgeColor:[.2,1,.2],edgeAlpha:1,edgeWidth:3},sepia:{fill:!0,fillColor:[.970588207244873,.7965892553329468,.6660899519920349],fillAlpha:.4,edges:!0,edgeColor:[.529411792755127,.4577854573726654,.4100345969200134],edgeAlpha:1,edgeWidth:1},yellowHighlight:{fill:!0,fillColor:[1,1,0],fillAlpha:.5,edges:!0,edgeColor:[1,1,1],edgeAlpha:1,edgeWidth:1},greenSelected:{fill:!0,fillColor:[0,1,0],fillAlpha:.5,edges:!0,edgeColor:[1,1,1],edgeAlpha:1,edgeWidth:1},gamegrid:{fill:!0,fillColor:[.2,.2,.7],fillAlpha:.9,edges:!0,edgeColor:[.4,.4,1.6],edgeAlpha:.8,edgeWidth:3}};class Kt extends Vt{get type(){return"EmphasisMaterial"}get presets(){return zt}constructor(e,t={}){super(e,t),this._state=new it({type:"EmphasisMaterial",fill:null,fillColor:null,fillAlpha:null,edges:null,edgeColor:null,edgeAlpha:null,edgeWidth:null,backfaces:!0,glowThrough:!0}),this._preset="default",t.preset?(this.preset=t.preset,void 0!==t.fill&&(this.fill=t.fill),t.fillColor&&(this.fillColor=t.fillColor),void 0!==t.fillAlpha&&(this.fillAlpha=t.fillAlpha),void 0!==t.edges&&(this.edges=t.edges),t.edgeColor&&(this.edgeColor=t.edgeColor),void 0!==t.edgeAlpha&&(this.edgeAlpha=t.edgeAlpha),void 0!==t.edgeWidth&&(this.edgeWidth=t.edgeWidth),void 0!==t.backfaces&&(this.backfaces=t.backfaces),void 0!==t.glowThrough&&(this.glowThrough=t.glowThrough)):(this.fill=t.fill,this.fillColor=t.fillColor,this.fillAlpha=t.fillAlpha,this.edges=t.edges,this.edgeColor=t.edgeColor,this.edgeAlpha=t.edgeAlpha,this.edgeWidth=t.edgeWidth,this.backfaces=t.backfaces,this.glowThrough=t.glowThrough)}set fill(e){e=!1!==e,this._state.fill!==e&&(this._state.fill=e,this.glRedraw())}get fill(){return this._state.fill}set fillColor(e){let t=this._state.fillColor;if(t){if(e&&t[0]===e[0]&&t[1]===e[1]&&t[2]===e[2])return}else t=this._state.fillColor=new Float32Array(3);e?(t[0]=e[0],t[1]=e[1],t[2]=e[2]):(t[0]=.4,t[1]=.4,t[2]=.4),this.glRedraw()}get fillColor(){return this._state.fillColor}set fillAlpha(e){e=null!=e?e:.2,this._state.fillAlpha!==e&&(this._state.fillAlpha=e,this.glRedraw())}get fillAlpha(){return this._state.fillAlpha}set edges(e){e=!1!==e,this._state.edges!==e&&(this._state.edges=e,this.glRedraw())}get edges(){return this._state.edges}set edgeColor(e){let t=this._state.edgeColor;if(t){if(e&&t[0]===e[0]&&t[1]===e[1]&&t[2]===e[2])return}else t=this._state.edgeColor=new Float32Array(3);e?(t[0]=e[0],t[1]=e[1],t[2]=e[2]):(t[0]=.2,t[1]=.2,t[2]=.2),this.glRedraw()}get edgeColor(){return this._state.edgeColor}set edgeAlpha(e){e=null!=e?e:.5,this._state.edgeAlpha!==e&&(this._state.edgeAlpha=e,this.glRedraw())}get edgeAlpha(){return this._state.edgeAlpha}set edgeWidth(e){this._state.edgeWidth=e||1,this.glRedraw()}get edgeWidth(){return this._state.edgeWidth}set backfaces(e){e=!!e,this._state.backfaces!==e&&(this._state.backfaces=e,this.glRedraw())}get backfaces(){return this._state.backfaces}set glowThrough(e){e=!1!==e,this._state.glowThrough!==e&&(this._state.glowThrough=e,this.glRedraw())}get glowThrough(){return this._state.glowThrough}set preset(e){if(e=e||"default",this._preset===e)return;const t=zt[e];t?(this.fill=t.fill,this.fillColor=t.fillColor,this.fillAlpha=t.fillAlpha,this.edges=t.edges,this.edgeColor=t.edgeColor,this.edgeAlpha=t.edgeAlpha,this.edgeWidth=t.edgeWidth,this.glowThrough=t.glowThrough,this._preset=e):this.error("unsupported preset: '"+e+"' - supported values are "+Object.keys(zt).join(", "))}get preset(){return this._preset}destroy(){super.destroy(),this._state.destroy()}}const Yt={default:{edgeColor:[0,0,0],edgeAlpha:1,edgeWidth:1},defaultWhiteBG:{edgeColor:[.2,.2,.2],edgeAlpha:1,edgeWidth:1},defaultLightBG:{edgeColor:[.2,.2,.2],edgeAlpha:1,edgeWidth:1},defaultDarkBG:{edgeColor:[.5,.5,.5],edgeAlpha:1,edgeWidth:1}};class Xt extends Vt{get type(){return"EdgeMaterial"}get presets(){return Yt}constructor(e,t={}){super(e,t),this._state=new it({type:"EdgeMaterial",edges:null,edgeColor:null,edgeAlpha:null,edgeWidth:null}),this._preset="default",t.preset?(this.preset=t.preset,t.edgeColor&&(this.edgeColor=t.edgeColor),void 0!==t.edgeAlpha&&(this.edgeAlpha=t.edgeAlpha),void 0!==t.edgeWidth&&(this.edgeWidth=t.edgeWidth)):(this.edgeColor=t.edgeColor,this.edgeAlpha=t.edgeAlpha,this.edgeWidth=t.edgeWidth),this.edges=!1!==t.edges}set edges(e){e=!1!==e,this._state.edges!==e&&(this._state.edges=e,this.glRedraw())}get edges(){return this._state.edges}set edgeColor(e){let t=this._state.edgeColor;if(t){if(e&&t[0]===e[0]&&t[1]===e[1]&&t[2]===e[2])return}else t=this._state.edgeColor=new Float32Array(3);e?(t[0]=e[0],t[1]=e[1],t[2]=e[2]):(t[0]=.2,t[1]=.2,t[2]=.2),this.glRedraw()}get edgeColor(){return this._state.edgeColor}set edgeAlpha(e){e=null!=e?e:1,this._state.edgeAlpha!==e&&(this._state.edgeAlpha=e,this.glRedraw())}get edgeAlpha(){return this._state.edgeAlpha}set edgeWidth(e){this._state.edgeWidth=e||1,this.glRedraw()}get edgeWidth(){return this._state.edgeWidth}set preset(e){if(e=e||"default",this._preset===e)return;const t=Yt[e];t?(this.edgeColor=t.edgeColor,this.edgeAlpha=t.edgeAlpha,this.edgeWidth=t.edgeWidth,this._preset=e):this.error("unsupported preset: '"+e+"' - supported values are "+Object.keys(Yt).join(", "))}get preset(){return this._preset}destroy(){super.destroy(),this._state.destroy()}}const qt={meters:{abbrev:"m"},metres:{abbrev:"m"},centimeters:{abbrev:"cm"},centimetres:{abbrev:"cm"},millimeters:{abbrev:"mm"},millimetres:{abbrev:"mm"},yards:{abbrev:"yd"},feet:{abbrev:"ft"},inches:{abbrev:"in"}};class Jt extends S{constructor(e,t={}){super(e,t),this._units="meters",this._scale=1,this._origin=A.vec3([0,0,0]),this.units=t.units,this.scale=t.scale,this.origin=t.origin}get unitsInfo(){return qt}set units(e){e||(e="meters");qt[e]||(this.error("Unsupported value for 'units': "+e+" defaulting to 'meters'"),e="meters"),this._units=e,this.fire("units",this._units)}get units(){return this._units}set scale(e){(e=e||1)<=0?this.error("scale value should be larger than zero"):(this._scale=e,this.fire("scale",this._scale))}get scale(){return this._scale}set origin(e){if(!e)return this._origin[0]=0,this._origin[1]=0,void(this._origin[2]=0);this._origin[0]=e[0],this._origin[1]=e[1],this._origin[2]=e[2],this.fire("origin",this._origin)}get origin(){return this._origin}worldToRealPos(e,t=A.vec3(3)){t[0]=this._origin[0]+this._scale*e[0],t[1]=this._origin[1]+this._scale*e[1],t[2]=this._origin[2]+this._scale*e[2]}realToWorldPos(e,t=A.vec3(3)){return t[0]=(e[0]-this._origin[0])/this._scale,t[1]=(e[1]-this._origin[1])/this._scale,t[2]=(e[2]-this._origin[2])/this._scale,t}}class Zt extends S{constructor(e,t={}){super(e,t),this._supported=Ce.SUPPORTED_EXTENSIONS.OES_standard_derivatives,this.enabled=t.enabled,this.kernelRadius=t.kernelRadius,this.intensity=t.intensity,this.bias=t.bias,this.scale=t.scale,this.minResolution=t.minResolution,this.numSamples=t.numSamples,this.blur=t.blur,this.blendCutoff=t.blendCutoff,this.blendFactor=t.blendFactor}get supported(){return this._supported}set enabled(e){e=!!e,this._enabled!==e&&(this._enabled=e,this.glRedraw())}get enabled(){return this._enabled}get possible(){if(!this._supported)return!1;if(!this._enabled)return!1;const e=this.scene.camera.projection;return"customProjection"!==e&&"frustum"!==e}get active(){return this._active}set kernelRadius(e){null==e&&(e=100),this._kernelRadius!==e&&(this._kernelRadius=e,this.glRedraw())}get kernelRadius(){return this._kernelRadius}set intensity(e){null==e&&(e=.15),this._intensity!==e&&(this._intensity=e,this.glRedraw())}get intensity(){return this._intensity}set bias(e){null==e&&(e=.5),this._bias!==e&&(this._bias=e,this.glRedraw())}get bias(){return this._bias}set scale(e){null==e&&(e=1),this._scale!==e&&(this._scale=e,this.glRedraw())}get scale(){return this._scale}set minResolution(e){null==e&&(e=0),this._minResolution!==e&&(this._minResolution=e,this.glRedraw())}get minResolution(){return this._minResolution}set numSamples(e){null==e&&(e=10),this._numSamples!==e&&(this._numSamples=e,this.glRedraw())}get numSamples(){return this._numSamples}set blur(e){e=!1!==e,this._blur!==e&&(this._blur=e,this.glRedraw())}get blur(){return this._blur}set blendCutoff(e){null==e&&(e=.3),this._blendCutoff!==e&&(this._blendCutoff=e,this.glRedraw())}get blendCutoff(){return this._blendCutoff}set blendFactor(e){null==e&&(e=1),this._blendFactor!==e&&(this._blendFactor=e,this.glRedraw())}get blendFactor(){return this._blendFactor}destroy(){super.destroy()}}const $t={default:{pointSize:4,roundPoints:!0,perspectivePoints:!0},square:{pointSize:4,roundPoints:!1,perspectivePoints:!0},round:{pointSize:4,roundPoints:!0,perspectivePoints:!0}};class es extends Vt{get type(){return"PointsMaterial"}get presets(){return $t}constructor(e,t={}){super(e,t),this._state=new it({type:"PointsMaterial",pointSize:null,roundPoints:null,perspectivePoints:null,minPerspectivePointSize:null,maxPerspectivePointSize:null,filterIntensity:null,minIntensity:null,maxIntensity:null}),t.preset?(this.preset=t.preset,void 0!==t.pointSize&&(this.pointSize=t.pointSize),void 0!==t.roundPoints&&(this.roundPoints=t.roundPoints),void 0!==t.perspectivePoints&&(this.perspectivePoints=t.perspectivePoints),void 0!==t.minPerspectivePointSize&&(this.minPerspectivePointSize=t.minPerspectivePointSize),void 0!==t.maxPerspectivePointSize&&(this.maxPerspectivePointSize=t.minPerspectivePointSize)):(this._preset="default",this.pointSize=t.pointSize,this.roundPoints=t.roundPoints,this.perspectivePoints=t.perspectivePoints,this.minPerspectivePointSize=t.minPerspectivePointSize,this.maxPerspectivePointSize=t.maxPerspectivePointSize),this.filterIntensity=t.filterIntensity,this.minIntensity=t.minIntensity,this.maxIntensity=t.maxIntensity}set pointSize(e){this._state.pointSize=e||2,this.glRedraw()}get pointSize(){return this._state.pointSize}set roundPoints(e){e=!1!==e,this._state.roundPoints!==e&&(this._state.roundPoints=e,this.scene._needRecompile=!0,this.glRedraw())}get roundPoints(){return this._state.roundPoints}set perspectivePoints(e){e=!1!==e,this._state.perspectivePoints!==e&&(this._state.perspectivePoints=e,this.scene._needRecompile=!0,this.glRedraw())}get perspectivePoints(){return this._state.perspectivePoints}set minPerspectivePointSize(e){this._state.minPerspectivePointSize=e||1,this.scene._needRecompile=!0,this.glRedraw()}get minPerspectivePointSize(){return this._state.minPerspectivePointSize}set maxPerspectivePointSize(e){this._state.maxPerspectivePointSize=e||6,this.scene._needRecompile=!0,this.glRedraw()}get maxPerspectivePointSize(){return this._state.maxPerspectivePointSize}set filterIntensity(e){e=!1!==e,this._state.filterIntensity!==e&&(this._state.filterIntensity=e,this.scene._needRecompile=!0,this.glRedraw())}get filterIntensity(){return this._state.filterIntensity}set minIntensity(e){this._state.minIntensity=null!=e?e:0,this.glRedraw()}get minIntensity(){return this._state.minIntensity}set maxIntensity(e){this._state.maxIntensity=null!=e?e:1,this.glRedraw()}get maxIntensity(){return this._state.maxIntensity}set preset(e){if(e=e||"default",this._preset===e)return;const t=$t[e];t?(this.pointSize=t.pointSize,this.roundPoints=t.roundPoints,this.perspectivePoints=t.perspectivePoints,this.minPerspectivePointSize=t.minPerspectivePointSize,this.maxPerspectivePointSize=t.maxPerspectivePointSize,this._preset=e):this.error("unsupported preset: '"+e+"' - supported values are "+Object.keys($t).join(", "))}get preset(){return this._preset}get hash(){return[this.pointSize,this.roundPoints,this.perspectivePoints,this.minPerspectivePointSize,this.maxPerspectivePointSize,this.filterIntensity].join(";")}destroy(){super.destroy(),this._state.destroy()}}const ts={default:{lineWidth:1},thick:{lineWidth:2},thicker:{lineWidth:4}};class ss extends Vt{get type(){return"LinesMaterial"}get presets(){return ts}constructor(e,t={}){super(e,t),this._state=new it({type:"LinesMaterial",lineWidth:null}),t.preset?(this.preset=t.preset,void 0!==t.lineWidth&&(this.lineWidth=t.lineWidth)):(this._preset="default",this.lineWidth=t.lineWidth)}set lineWidth(e){this._state.lineWidth=e||1,this.glRedraw()}get lineWidth(){return this._state.lineWidth}set preset(e){if(e=e||"default",this._preset===e)return;const t=ts[e];t?(this.lineWidth=t.lineWidth,this._preset=e):this.error("unsupported preset: '"+e+"' - supported values are "+Object.keys(ts).join(", "))}get preset(){return this._preset}get hash(){return[""+this.lineWidth].join(";")}destroy(){super.destroy(),this._state.destroy()}}function ns(e,t){const s={};let n,i;for(let a=0,r=t.length;a{this.glRedraw()})),this.canvas.on("webglContextFailed",(()=>{alert("xeokit failed to find WebGL!")})),this._renderer=new tt(this,{transparent:n,alphaDepthMask:i}),this._sectionPlanesState=new function(){this.sectionPlanes=[],this.clippingCaps=!1,this._numCachedSectionPlanes=0;let e=null;this.getHash=function(){if(e)return e;const t=this.getNumAllocatedSectionPlanes();if(this.sectionPlanes,0===t)return this.hash=";";const s=[];for(let e=0,n=t;ethis._numCachedSectionPlanes?e:this._numCachedSectionPlanes}},this._sectionPlanesState.setNumCachedSectionPlanes(t.numCachedSectionPlanes||0),this._lightsState=new function(){const e=A.vec4([0,0,0,0]),t=A.vec4();this.lights=[],this.reflectionMaps=[],this.lightMaps=[];let s=null,n=null;this.getHash=function(){if(s)return s;const e=[],t=this.lights;let n;for(let s=0,i=t.length;s0&&e.push("/lm"),this.reflectionMaps.length>0&&e.push("/rm"),e.push(";"),s=e.join(""),s},this.addLight=function(e){this.lights.push(e),n=null,s=null},this.removeLight=function(e){for(let t=0,i=this.lights.length;t{this._renderer.imageDirty()}))}_initDefaults(){}_addComponent(e){if(e.id&&this.components[e.id]&&(this.error("Component "+g.inQuotes(e.id)+" already exists in Scene - ignoring ID, will randomly-generate instead"),e.id=null),!e.id)for(void 0===window.nextID&&(window.nextID=0),e.id="__"+window.nextID++;this.components[e.id];)e.id=A.createUUID();this.components[e.id]=e;const t=e.type;let s=this.types[e.type];s||(s=this.types[t]={}),s[e.id]=e,e.compile&&(this._compilables[e.id]=e),e.isDrawable&&(this._renderer.addDrawable(e.id,e),this._collidables[e.id]=e)}_removeComponent(e){var t=e.id,s=e.type;delete this.components[t];const n=this.types[s];n&&(delete n[t],g.isEmptyObject(n)&&delete this.types[s]),e.compile&&delete this._compilables[e.id],e.isDrawable&&(this._renderer.removeDrawable(e.id),delete this._collidables[e.id])}_sectionPlaneCreated(e){this.sectionPlanes[e.id]=e,this.scene._sectionPlanesState.addSectionPlane(e._state),this.scene.fire("sectionPlaneCreated",e,!0),this._needRecompile=!0}_bitmapCreated(e){this.bitmaps[e.id]=e,this.scene.fire("bitmapCreated",e,!0)}_lineSetCreated(e){this.lineSets[e.id]=e,this.scene.fire("lineSetCreated",e,!0)}_lightCreated(e){this.lights[e.id]=e,this.scene._lightsState.addLight(e._state),this._needRecompile=!0}_lightMapCreated(e){this.lightMaps[e.id]=e,this.scene._lightsState.addLightMap(e._state),this._needRecompile=!0}_reflectionMapCreated(e){this.reflectionMaps[e.id]=e,this.scene._lightsState.addReflectionMap(e._state),this._needRecompile=!0}_sectionPlaneDestroyed(e){delete this.sectionPlanes[e.id],this.scene._sectionPlanesState.removeSectionPlane(e._state),this.scene.fire("sectionPlaneDestroyed",e,!0),this._needRecompile=!0}_bitmapDestroyed(e){delete this.bitmaps[e.id],this.scene.fire("bitmapDestroyed",e,!0)}_lineSetDestroyed(e){delete this.lineSets[e.id],this.scene.fire("lineSetDestroyed",e,!0)}_lightDestroyed(e){delete this.lights[e.id],this.scene._lightsState.removeLight(e._state),this._needRecompile=!0}_lightMapDestroyed(e){delete this.lightMaps[e.id],this.scene._lightsState.removeLightMap(e._state),this._needRecompile=!0}_reflectionMapDestroyed(e){delete this.reflectionMaps[e.id],this.scene._lightsState.removeReflectionMap(e._state),this._needRecompile=!0}_registerModel(e){this.models[e.id]=e,this._modelIds=null}_deregisterModel(e){const t=e.id;delete this.models[t],this._modelIds=null,this.fire("modelUnloaded",t)}_registerObject(e){this.objects[e.id]=e,this._numObjects++,this._objectIds=null}_deregisterObject(e){delete this.objects[e.id],this._numObjects--,this._objectIds=null}_objectVisibilityUpdated(e,t=!0){e.visible?(this.visibleObjects[e.id]=e,this._numVisibleObjects++):(delete this.visibleObjects[e.id],this._numVisibleObjects--),this._visibleObjectIds=null,t&&this.fire("objectVisibility",e,!0)}_objectXRayedUpdated(e,t=!0){e.xrayed?(this.xrayedObjects[e.id]=e,this._numXRayedObjects++):(delete this.xrayedObjects[e.id],this._numXRayedObjects--),this._xrayedObjectIds=null,t&&this.fire("objectXRayed",e,!0)}_objectHighlightedUpdated(e,t=!0){e.highlighted?(this.highlightedObjects[e.id]=e,this._numHighlightedObjects++):(delete this.highlightedObjects[e.id],this._numHighlightedObjects--),this._highlightedObjectIds=null,t&&this.fire("objectHighlighted",e,!0)}_objectSelectedUpdated(e,t=!0){e.selected?(this.selectedObjects[e.id]=e,this._numSelectedObjects++):(delete this.selectedObjects[e.id],this._numSelectedObjects--),this._selectedObjectIds=null,t&&this.fire("objectSelected",e,!0)}_objectColorizeUpdated(e,t){t?(this.colorizedObjects[e.id]=e,this._numColorizedObjects++):(delete this.colorizedObjects[e.id],this._numColorizedObjects--),this._colorizedObjectIds=null}_objectOpacityUpdated(e,t){t?(this.opacityObjects[e.id]=e,this._numOpacityObjects++):(delete this.opacityObjects[e.id],this._numOpacityObjects--),this._opacityObjectIds=null}_objectOffsetUpdated(e,t){!t||0===t[0]&&0===t[1]&&0===t[2]?(this.offsetObjects[e.id]=e,this._numOffsetObjects++):(delete this.offsetObjects[e.id],this._numOffsetObjects--),this._offsetObjectIds=null}_webglContextLost(){this.canvas.spinner.processes++;for(const e in this.components)if(this.components.hasOwnProperty(e)){const t=this.components[e];t._webglContextLost&&t._webglContextLost()}this._renderer.webglContextLost()}_webglContextRestored(){const e=this.canvas.gl;for(const t in this.components)if(this.components.hasOwnProperty(t)){const s=this.components[t];s._webglContextRestored&&s._webglContextRestored(e)}this._renderer.webglContextRestored(e),this.canvas.spinner.processes--}get capabilities(){return this._renderer.capabilities}get entityOffsetsEnabled(){return this._entityOffsetsEnabled}get pickSurfacePrecisionEnabled(){return!1}get logarithmicDepthBufferEnabled(){return this._logarithmicDepthBufferEnabled}set numCachedSectionPlanes(e){e=e||0,this._sectionPlanesState.getNumCachedSectionPlanes()!==e&&(this._sectionPlanesState.setNumCachedSectionPlanes(e),this._needRecompile=!0,this.glRedraw())}get numCachedSectionPlanes(){return this._sectionPlanesState.getNumCachedSectionPlanes()}set pbrEnabled(e){this._pbrEnabled=!!e,this.glRedraw()}get pbrEnabled(){return this._pbrEnabled}set dtxEnabled(e){e=!!e,this._dtxEnabled!==e&&(this._dtxEnabled=e)}get dtxEnabled(){return this._dtxEnabled}set colorTextureEnabled(e){this._colorTextureEnabled=!!e,this.glRedraw()}get colorTextureEnabled(){return this._colorTextureEnabled}doOcclusionTest(){this._needRecompile&&(this._recompile(),this._needRecompile=!1),this._renderer.doOcclusionTest()}render(e){e&&B.runTasks();const t={sceneId:null,pass:0};if(this._needRecompile&&(this._recompile(),this._renderer.imageDirty(),this._needRecompile=!1),!e&&!this._renderer.needsRender())return;t.sceneId=this.id;const s=this._passes,n=this._clearEachPass;let i,a;for(i=0;ii&&(i=e[3]),e[4]>a&&(a=e[4]),e[5]>r&&(r=e[5]),c=!0}c||(t=-100,s=-100,n=-100,i=100,a=100,r=100),this._aabb[0]=t,this._aabb[1]=s,this._aabb[2]=n,this._aabb[3]=i,this._aabb[4]=a,this._aabb[5]=r,this._aabbDirty=!1}return this._aabb}_setAABBDirty(){this._aabbDirty=!0,this.fire("boundary")}pick(e,t){if(0===this.canvas.boundary[2]||0===this.canvas.boundary[3])return this.error("Picking not allowed while canvas has zero width or height"),null;(e=e||{}).pickSurface=e.pickSurface||e.rayPick,e.canvasPos||e.matrix||e.origin&&e.direction||this.warn("picking without canvasPos, matrix, or ray origin and direction");const s=e.includeEntities||e.include;s&&(e.includeEntityIds=ns(this,s));const n=e.excludeEntities||e.exclude;return n&&(e.excludeEntityIds=ns(this,n)),this._needRecompile&&(this._recompile(),this._renderer.imageDirty(),this._needRecompile=!1),(t=e.snapToEdge||e.snapToVertex?this._renderer.snapPick(e.canvasPos,e.snapRadius||30,e.snapToVertex,e.snapToEdge,t):this._renderer.pick(e,t))&&t.entity&&t.entity.fire&&t.entity.fire("picked",t),t}snapPick(e){return void 0===this._warnSnapPickDeprecated&&(this._warnSnapPickDeprecated=!0,this.warn("Scene.snapPick() is deprecated since v2.4.2 - use Scene.pick() instead")),this._renderer.snapPick(e.canvasPos,e.snapRadius||30,e.snapToVertex,e.snapToEdge)}clear(){var e;for(const t in this.components)this.components.hasOwnProperty(t)&&((e=this.components[t])._dontClear||e.destroy())}clearLights(){const e=Object.keys(this.lights);for(let t=0,s=e.length;t{if(e.collidable){const o=e.aabb;o[0]a&&(a=o[3]),o[4]>r&&(r=o[4]),o[5]>l&&(l=o[5]),t=!0}})),t){const e=A.AABB3();return e[0]=s,e[1]=n,e[2]=i,e[3]=a,e[4]=r,e[5]=l,e}return this.aabb}setObjectsVisible(e,t){return this.withObjects(e,(e=>{const s=e.visible!==t;return e.visible=t,s}))}setObjectsCollidable(e,t){return this.withObjects(e,(e=>{const s=e.collidable!==t;return e.collidable=t,s}))}setObjectsCulled(e,t){return this.withObjects(e,(e=>{const s=e.culled!==t;return e.culled=t,s}))}setObjectsSelected(e,t){return this.withObjects(e,(e=>{const s=e.selected!==t;return e.selected=t,s}))}setObjectsHighlighted(e,t){return this.withObjects(e,(e=>{const s=e.highlighted!==t;return e.highlighted=t,s}))}setObjectsXRayed(e,t){return this.withObjects(e,(e=>{const s=e.xrayed!==t;return e.xrayed=t,s}))}setObjectsEdges(e,t){return this.withObjects(e,(e=>{const s=e.edges!==t;return e.edges=t,s}))}setObjectsColorized(e,t){return this.withObjects(e,(e=>{e.colorize=t}))}setObjectsOpacity(e,t){return this.withObjects(e,(e=>{const s=e.opacity!==t;return e.opacity=t,s}))}setObjectsPickable(e,t){return this.withObjects(e,(e=>{const s=e.pickable!==t;return e.pickable=t,s}))}setObjectsOffset(e,t){this.withObjects(e,(e=>{e.offset=t}))}withObjects(e,t){g.isString(e)&&(e=[e]);let s=!1;for(let n=0,i=e.length;n{i>n&&(n=i,e(...s))}));return this._tickifiedFunctions[t]={tickSubId:r,wrapperFunc:a},a}destroy(){super.destroy();for(const e in this.components)this.components.hasOwnProperty(e)&&this.components[e].destroy();this.canvas.gl=null,this.components=null,this.models=null,this.objects=null,this.visibleObjects=null,this.xrayedObjects=null,this.highlightedObjects=null,this.selectedObjects=null,this.colorizedObjects=null,this.opacityObjects=null,this.sectionPlanes=null,this.lights=null,this.lightMaps=null,this.reflectionMaps=null,this._objectIds=null,this._visibleObjectIds=null,this._xrayedObjectIds=null,this._highlightedObjectIds=null,this._selectedObjectIds=null,this._colorizedObjectIds=null,this.types=null,this.components=null,this.canvas=null,this._renderer=null,this.input=null,this._viewport=null,this._camera=null}}const as=1e3,rs=1001,ls=1002,os=1003,cs=1004,us=1004,hs=1005,ps=1005,As=1006,ds=1007,fs=1007,Is=1008,ys=1008,ms=1009,vs=1010,ws=1011,gs=1012,Es=1013,Ts=1014,bs=1015,Ds=1016,Ps=1017,Rs=1018,Cs=1020,_s=1021,Bs=1022,Os=1023,Ss=1024,Ns=1025,xs=1026,Ls=1027,Ms=1028,Fs=1029,Hs=1030,Us=1031,Gs=1033,js=33776,Vs=33777,ks=33778,Qs=33779,Ws=35840,zs=35841,Ks=35842,Ys=35843,Xs=36196,qs=37492,Js=37496,Zs=37808,$s=37809,en=37810,tn=37811,sn=37812,nn=37813,an=37814,rn=37815,ln=37816,on=37817,cn=37818,un=37819,hn=37820,pn=37821,An=36492,dn=3e3,fn=3001,In=1e4,yn=10001,mn=10002,vn=10003,wn=function(e){"LambertMaterial"===e._material._state.type?(this.vertex=function(e){const t=e.scene,s=e.scene._sectionPlanesState,n=e.scene._lightsState,i=e._geometry._state,a=e._state.billboard,r=e._state.stationary,l=s.getNumAllocatedSectionPlanes()>0,o=!!i.compressGeometry,c=[];c.push("#version 300 es"),c.push("// Lambertian drawing vertex shader"),c.push("in vec3 position;"),c.push("uniform mat4 modelMatrix;"),c.push("uniform mat4 viewMatrix;"),c.push("uniform mat4 projMatrix;"),c.push("uniform vec4 colorize;"),c.push("uniform vec3 offset;"),o&&c.push("uniform mat4 positionsDecodeMatrix;");t.logarithmicDepthBufferEnabled&&(c.push("uniform float logDepthBufFC;"),c.push("out float vFragDepth;"),c.push("bool isPerspectiveMatrix(mat4 m) {"),c.push(" return (m[2][3] == - 1.0);"),c.push("}"),c.push("out float isPerspective;"));l&&c.push("out vec4 vWorldPosition;");if(c.push("uniform vec4 lightAmbient;"),c.push("uniform vec4 materialColor;"),c.push("uniform vec3 materialEmissive;"),i.normalsBuf){c.push("in vec3 normal;"),c.push("uniform mat4 modelNormalMatrix;"),c.push("uniform mat4 viewNormalMatrix;");for(let e=0,t=n.lights.length;e= 0.0 ? 1.0 : -1.0, v.y >= 0.0 ? 1.0 : -1.0);"),c.push(" }"),c.push(" return normalize(v);"),c.push("}"))}c.push("out vec4 vColor;"),"points"===i.primitiveName&&c.push("uniform float pointSize;");"spherical"!==a&&"cylindrical"!==a||(c.push("void billboard(inout mat4 mat) {"),c.push(" mat[0][0] = 1.0;"),c.push(" mat[0][1] = 0.0;"),c.push(" mat[0][2] = 0.0;"),"spherical"===a&&(c.push(" mat[1][0] = 0.0;"),c.push(" mat[1][1] = 1.0;"),c.push(" mat[1][2] = 0.0;")),c.push(" mat[2][0] = 0.0;"),c.push(" mat[2][1] = 0.0;"),c.push(" mat[2][2] =1.0;"),c.push("}"));c.push("void main(void) {"),c.push("vec4 localPosition = vec4(position, 1.0); "),c.push("vec4 worldPosition;"),o&&c.push("localPosition = positionsDecodeMatrix * localPosition;");i.normalsBuf&&(o?c.push("vec4 localNormal = vec4(octDecode(normal.xy), 0.0); "):c.push("vec4 localNormal = vec4(normal, 0.0); "),c.push("mat4 modelNormalMatrix2 = modelNormalMatrix;"),c.push("mat4 viewNormalMatrix2 = viewNormalMatrix;"));c.push("mat4 viewMatrix2 = viewMatrix;"),c.push("mat4 modelMatrix2 = modelMatrix;"),r&&c.push("viewMatrix2[3][0] = viewMatrix2[3][1] = viewMatrix2[3][2] = 0.0;");"spherical"===a||"cylindrical"===a?(c.push("mat4 modelViewMatrix = viewMatrix2 * modelMatrix2;"),c.push("billboard(modelMatrix2);"),c.push("billboard(viewMatrix2);"),c.push("billboard(modelViewMatrix);"),i.normalsBuf&&(c.push("mat4 modelViewNormalMatrix = viewNormalMatrix2 * modelNormalMatrix2;"),c.push("billboard(modelNormalMatrix2);"),c.push("billboard(viewNormalMatrix2);"),c.push("billboard(modelViewNormalMatrix);")),c.push("worldPosition = modelMatrix2 * localPosition;"),c.push("worldPosition.xyz = worldPosition.xyz + offset;"),c.push("vec4 viewPosition = modelViewMatrix * localPosition;")):(c.push("worldPosition = modelMatrix2 * localPosition;"),c.push("worldPosition.xyz = worldPosition.xyz + offset;"),c.push("vec4 viewPosition = viewMatrix2 * worldPosition; "));i.normalsBuf&&c.push("vec3 viewNormal = normalize((viewNormalMatrix2 * modelNormalMatrix2 * localNormal).xyz);");if(c.push("vec3 reflectedColor = vec3(0.0, 0.0, 0.0);"),c.push("vec3 viewLightDir = vec3(0.0, 0.0, -1.0);"),c.push("float lambertian = 1.0;"),i.normalsBuf)for(let e=0,t=n.lights.length;e0,a=t.gammaOutput,r=[];r.push("#version 300 es"),r.push("// Lambertian drawing fragment shader"),r.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),r.push("precision highp float;"),r.push("precision highp int;"),r.push("#else"),r.push("precision mediump float;"),r.push("precision mediump int;"),r.push("#endif"),t.logarithmicDepthBufferEnabled&&(r.push("in float isPerspective;"),r.push("uniform float logDepthBufFC;"),r.push("in float vFragDepth;"));if(i){r.push("in vec4 vWorldPosition;"),r.push("uniform bool clippable;");for(let e=0,t=s.getNumAllocatedSectionPlanes();e 0.0) { discard; }"),r.push("}")}"points"===n.primitiveName&&(r.push("vec2 cxy = 2.0 * gl_PointCoord - 1.0;"),r.push("float r = dot(cxy, cxy);"),r.push("if (r > 1.0) {"),r.push(" discard;"),r.push("}"));t.logarithmicDepthBufferEnabled&&r.push("gl_FragDepth = isPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5;");a?r.push("outColor = linearToGamma(vColor, gammaFactor);"):r.push("outColor = vColor;");return r.push("}"),r}(e)):(this.vertex=function(e){const t=e.scene;e._material;const s=e._state,n=t._sectionPlanesState,i=e._geometry._state,a=t._lightsState;let r;const l=s.billboard,o=s.background,c=s.stationary,u=function(e){if(!e._geometry._state.uvBuf)return!1;const t=e._material;return!!(t._ambientMap||t._occlusionMap||t._baseColorMap||t._diffuseMap||t._alphaMap||t._specularMap||t._glossinessMap||t._specularGlossinessMap||t._emissiveMap||t._metallicMap||t._roughnessMap||t._metallicRoughnessMap||t._reflectivityMap||t._normalMap)}(e),h=Tn(e),p=n.getNumAllocatedSectionPlanes()>0,A=En(e),d=!!i.compressGeometry,f=[];f.push("#version 300 es"),f.push("// Drawing vertex shader"),f.push("in vec3 position;"),d&&f.push("uniform mat4 positionsDecodeMatrix;");f.push("uniform mat4 modelMatrix;"),f.push("uniform mat4 viewMatrix;"),f.push("uniform mat4 projMatrix;"),f.push("out vec3 vViewPosition;"),f.push("uniform vec3 offset;"),p&&f.push("out vec4 vWorldPosition;");t.logarithmicDepthBufferEnabled&&(f.push("uniform float logDepthBufFC;"),f.push("out float vFragDepth;"),f.push("bool isPerspectiveMatrix(mat4 m) {"),f.push(" return (m[2][3] == - 1.0);"),f.push("}"),f.push("out float isPerspective;"));a.lightMaps.length>0&&f.push("out vec3 vWorldNormal;");if(h){f.push("in vec3 normal;"),f.push("uniform mat4 modelNormalMatrix;"),f.push("uniform mat4 viewNormalMatrix;"),f.push("out vec3 vViewNormal;");for(let e=0,t=a.lights.length;e= 0.0 ? 1.0 : -1.0, v.y >= 0.0 ? 1.0 : -1.0);"),f.push(" }"),f.push(" return normalize(v);"),f.push("}"))}u&&(f.push("in vec2 uv;"),f.push("out vec2 vUV;"),d&&f.push("uniform mat3 uvDecodeMatrix;"));i.colors&&(f.push("in vec4 color;"),f.push("out vec4 vColor;"));"points"===i.primitiveName&&f.push("uniform float pointSize;");"spherical"!==l&&"cylindrical"!==l||(f.push("void billboard(inout mat4 mat) {"),f.push(" mat[0][0] = 1.0;"),f.push(" mat[0][1] = 0.0;"),f.push(" mat[0][2] = 0.0;"),"spherical"===l&&(f.push(" mat[1][0] = 0.0;"),f.push(" mat[1][1] = 1.0;"),f.push(" mat[1][2] = 0.0;")),f.push(" mat[2][0] = 0.0;"),f.push(" mat[2][1] = 0.0;"),f.push(" mat[2][2] =1.0;"),f.push("}"));if(A){f.push("const mat4 texUnitConverter = mat4(0.5, 0.0, 0.0, 0.0, 0.0, 0.5, 0.0, 0.0, 0.0, 0.0, 0.5, 0.0, 0.5, 0.5, 0.5, 1.0);");for(let e=0,t=a.lights.length;e0&&f.push("vWorldNormal = worldNormal;"),f.push("vViewNormal = normalize((viewNormalMatrix2 * vec4(worldNormal, 1.0)).xyz);"),f.push("vec3 tmpVec3;"),f.push("float lightDist;");for(let e=0,t=a.lights.length;e0,o=Tn(e),c=n.uvBuf,u="PhongMaterial"===r.type,h="MetallicMaterial"===r.type,p="SpecularMaterial"===r.type,A=En(e);t.gammaInput;const d=t.gammaOutput,f=[];f.push("#version 300 es"),f.push("// Drawing fragment shader"),f.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),f.push("precision highp float;"),f.push("precision highp int;"),f.push("#else"),f.push("precision mediump float;"),f.push("precision mediump int;"),f.push("#endif"),t.logarithmicDepthBufferEnabled&&(f.push("in float isPerspective;"),f.push("uniform float logDepthBufFC;"),f.push("in float vFragDepth;"));A&&(f.push("float unpackDepth (vec4 color) {"),f.push(" const vec4 bitShift = vec4(1.0, 1.0/256.0, 1.0/(256.0 * 256.0), 1.0/(256.0*256.0*256.0));"),f.push(" return dot(color, bitShift);"),f.push("}"));f.push("uniform float gammaFactor;"),f.push("vec4 linearToLinear( in vec4 value ) {"),f.push(" return value;"),f.push("}"),f.push("vec4 sRGBToLinear( in vec4 value ) {"),f.push(" return vec4( mix( pow( value.rgb * 0.9478672986 + vec3( 0.0521327014 ), vec3( 2.4 ) ), value.rgb * 0.0773993808, vec3( lessThanEqual( value.rgb, vec3( 0.04045 ) ) ) ), value.w );"),f.push("}"),f.push("vec4 gammaToLinear( in vec4 value) {"),f.push(" return vec4( pow( value.xyz, vec3( gammaFactor ) ), value.w );"),f.push("}"),d&&(f.push("vec4 linearToGamma( in vec4 value, in float gammaFactor ) {"),f.push(" return vec4( pow( value.xyz, vec3( 1.0 / gammaFactor ) ), value.w );"),f.push("}"));if(l){f.push("in vec4 vWorldPosition;"),f.push("uniform bool clippable;");for(var I=0;I0&&(f.push("uniform samplerCube lightMap;"),f.push("uniform mat4 viewNormalMatrix;")),a.reflectionMaps.length>0&&f.push("uniform samplerCube reflectionMap;"),(a.lightMaps.length>0||a.reflectionMaps.length>0)&&f.push("uniform mat4 viewMatrix;"),f.push("#define PI 3.14159265359"),f.push("#define RECIPROCAL_PI 0.31830988618"),f.push("#define RECIPROCAL_PI2 0.15915494"),f.push("#define EPSILON 1e-6"),f.push("#define saturate(a) clamp( a, 0.0, 1.0 )"),f.push("vec3 inverseTransformDirection(in vec3 dir, in mat4 matrix) {"),f.push(" return normalize( ( vec4( dir, 0.0 ) * matrix ).xyz );"),f.push("}"),f.push("struct IncidentLight {"),f.push(" vec3 color;"),f.push(" vec3 direction;"),f.push("};"),f.push("struct ReflectedLight {"),f.push(" vec3 diffuse;"),f.push(" vec3 specular;"),f.push("};"),f.push("struct Geometry {"),f.push(" vec3 position;"),f.push(" vec3 viewNormal;"),f.push(" vec3 worldNormal;"),f.push(" vec3 viewEyeDir;"),f.push("};"),f.push("struct Material {"),f.push(" vec3 diffuseColor;"),f.push(" float specularRoughness;"),f.push(" vec3 specularColor;"),f.push(" float shine;"),f.push("};"),u&&((a.lightMaps.length>0||a.reflectionMaps.length>0)&&(f.push("void computePhongLightMapping(const in Geometry geometry, const in Material material, inout ReflectedLight reflectedLight) {"),a.lightMaps.length>0&&(f.push(" vec3 irradiance = "+gn[a.lightMaps[0].encoding]+"(texture(lightMap, geometry.worldNormal)).rgb;"),f.push(" irradiance *= PI;"),f.push(" vec3 diffuseBRDFContrib = (RECIPROCAL_PI * material.diffuseColor);"),f.push(" reflectedLight.diffuse += irradiance * diffuseBRDFContrib;")),a.reflectionMaps.length>0&&(f.push(" vec3 reflectVec = reflect(-geometry.viewEyeDir, geometry.viewNormal);"),f.push(" vec3 radiance = texture(reflectionMap, reflectVec).rgb * 0.2;"),f.push(" radiance *= PI;"),f.push(" reflectedLight.specular += radiance;")),f.push("}")),f.push("void computePhongLighting(const in IncidentLight directLight, const in Geometry geometry, const in Material material, inout ReflectedLight reflectedLight) {"),f.push(" float dotNL = saturate(dot(geometry.viewNormal, directLight.direction));"),f.push(" vec3 irradiance = dotNL * directLight.color * PI;"),f.push(" reflectedLight.diffuse += irradiance * (RECIPROCAL_PI * material.diffuseColor);"),f.push(" reflectedLight.specular += directLight.color * material.specularColor * pow(max(dot(reflect(-directLight.direction, -geometry.viewNormal), geometry.viewEyeDir), 0.0), material.shine);"),f.push("}")),(h||p)&&(f.push("float GGXRoughnessToBlinnExponent(const in float ggxRoughness) {"),f.push(" float r = ggxRoughness + 0.0001;"),f.push(" return (2.0 / (r * r) - 2.0);"),f.push("}"),f.push("float getSpecularMIPLevel(const in float blinnShininessExponent, const in int maxMIPLevel) {"),f.push(" float maxMIPLevelScalar = float( maxMIPLevel );"),f.push(" float desiredMIPLevel = maxMIPLevelScalar - 0.79248 - 0.5 * log2( ( blinnShininessExponent * blinnShininessExponent ) + 1.0 );"),f.push(" return clamp( desiredMIPLevel, 0.0, maxMIPLevelScalar );"),f.push("}"),a.reflectionMaps.length>0&&(f.push("vec3 getLightProbeIndirectRadiance(const in vec3 reflectVec, const in float blinnShininessExponent, const in int maxMIPLevel) {"),f.push(" float mipLevel = 0.5 * getSpecularMIPLevel(blinnShininessExponent, maxMIPLevel);"),f.push(" vec3 envMapColor = "+gn[a.reflectionMaps[0].encoding]+"(texture(reflectionMap, reflectVec, mipLevel)).rgb;"),f.push(" return envMapColor;"),f.push("}")),f.push("vec3 F_Schlick(const in vec3 specularColor, const in float dotLH) {"),f.push(" float fresnel = exp2( ( -5.55473 * dotLH - 6.98316 ) * dotLH );"),f.push(" return ( 1.0 - specularColor ) * fresnel + specularColor;"),f.push("}"),f.push("float G_GGX_Smith(const in float alpha, const in float dotNL, const in float dotNV) {"),f.push(" float a2 = ( alpha * alpha );"),f.push(" float gl = dotNL + sqrt( a2 + ( 1.0 - a2 ) * ( dotNL * dotNL ) );"),f.push(" float gv = dotNV + sqrt( a2 + ( 1.0 - a2 ) * ( dotNV * dotNV ) );"),f.push(" return 1.0 / ( gl * gv );"),f.push("}"),f.push("float G_GGX_SmithCorrelated(const in float alpha, const in float dotNL, const in float dotNV) {"),f.push(" float a2 = ( alpha * alpha );"),f.push(" float gv = dotNL * sqrt( a2 + ( 1.0 - a2 ) * ( dotNV * dotNV ) );"),f.push(" float gl = dotNV * sqrt( a2 + ( 1.0 - a2 ) * ( dotNL * dotNL ) );"),f.push(" return 0.5 / max( gv + gl, EPSILON );"),f.push("}"),f.push("float D_GGX(const in float alpha, const in float dotNH) {"),f.push(" float a2 = ( alpha * alpha );"),f.push(" float denom = ( dotNH * dotNH) * ( a2 - 1.0 ) + 1.0;"),f.push(" return RECIPROCAL_PI * a2 / ( denom * denom);"),f.push("}"),f.push("vec3 BRDF_Specular_GGX(const in IncidentLight incidentLight, const in Geometry geometry, const in vec3 specularColor, const in float roughness) {"),f.push(" float alpha = ( roughness * roughness );"),f.push(" vec3 halfDir = normalize( incidentLight.direction + geometry.viewEyeDir );"),f.push(" float dotNL = saturate( dot( geometry.viewNormal, incidentLight.direction ) );"),f.push(" float dotNV = saturate( dot( geometry.viewNormal, geometry.viewEyeDir ) );"),f.push(" float dotNH = saturate( dot( geometry.viewNormal, halfDir ) );"),f.push(" float dotLH = saturate( dot( incidentLight.direction, halfDir ) );"),f.push(" vec3 F = F_Schlick( specularColor, dotLH );"),f.push(" float G = G_GGX_SmithCorrelated( alpha, dotNL, dotNV );"),f.push(" float D = D_GGX( alpha, dotNH );"),f.push(" return F * (G * D);"),f.push("}"),f.push("vec3 BRDF_Specular_GGX_Environment(const in Geometry geometry, const in vec3 specularColor, const in float roughness) {"),f.push(" float dotNV = saturate(dot(geometry.viewNormal, geometry.viewEyeDir));"),f.push(" const vec4 c0 = vec4( -1, -0.0275, -0.572, 0.022);"),f.push(" const vec4 c1 = vec4( 1, 0.0425, 1.04, -0.04);"),f.push(" vec4 r = roughness * c0 + c1;"),f.push(" float a004 = min(r.x * r.x, exp2(-9.28 * dotNV)) * r.x + r.y;"),f.push(" vec2 AB = vec2(-1.04, 1.04) * a004 + r.zw;"),f.push(" return specularColor * AB.x + AB.y;"),f.push("}"),(a.lightMaps.length>0||a.reflectionMaps.length>0)&&(f.push("void computePBRLightMapping(const in Geometry geometry, const in Material material, inout ReflectedLight reflectedLight) {"),a.lightMaps.length>0&&(f.push(" vec3 irradiance = sRGBToLinear(texture(lightMap, geometry.worldNormal)).rgb;"),f.push(" irradiance *= PI;"),f.push(" vec3 diffuseBRDFContrib = (RECIPROCAL_PI * material.diffuseColor);"),f.push(" reflectedLight.diffuse += irradiance * diffuseBRDFContrib;")),a.reflectionMaps.length>0&&(f.push(" vec3 reflectVec = reflect(-geometry.viewEyeDir, geometry.viewNormal);"),f.push(" reflectVec = inverseTransformDirection(reflectVec, viewMatrix);"),f.push(" float blinnExpFromRoughness = GGXRoughnessToBlinnExponent(material.specularRoughness);"),f.push(" vec3 radiance = getLightProbeIndirectRadiance(reflectVec, blinnExpFromRoughness, 8);"),f.push(" vec3 specularBRDFContrib = BRDF_Specular_GGX_Environment(geometry, material.specularColor, material.specularRoughness);"),f.push(" reflectedLight.specular += radiance * specularBRDFContrib;")),f.push("}")),f.push("void computePBRLighting(const in IncidentLight incidentLight, const in Geometry geometry, const in Material material, inout ReflectedLight reflectedLight) {"),f.push(" float dotNL = saturate(dot(geometry.viewNormal, incidentLight.direction));"),f.push(" vec3 irradiance = dotNL * incidentLight.color * PI;"),f.push(" reflectedLight.diffuse += irradiance * (RECIPROCAL_PI * material.diffuseColor);"),f.push(" reflectedLight.specular += irradiance * BRDF_Specular_GGX(incidentLight, geometry, material.specularColor, material.specularRoughness);"),f.push("}")));f.push("in vec3 vViewPosition;"),n.colors&&f.push("in vec4 vColor;");c&&(o&&s._normalMap||s._ambientMap||s._baseColorMap||s._diffuseMap||s._emissiveMap||s._metallicMap||s._roughnessMap||s._metallicRoughnessMap||s._specularMap||s._glossinessMap||s._specularGlossinessMap||s._occlusionMap||s._alphaMap)&&f.push("in vec2 vUV;");o&&(a.lightMaps.length>0&&f.push("in vec3 vWorldNormal;"),f.push("in vec3 vViewNormal;"));r.ambient&&f.push("uniform vec3 materialAmbient;");r.baseColor&&f.push("uniform vec3 materialBaseColor;");void 0!==r.alpha&&null!==r.alpha&&f.push("uniform vec4 materialAlphaModeCutoff;");r.emissive&&f.push("uniform vec3 materialEmissive;");r.diffuse&&f.push("uniform vec3 materialDiffuse;");void 0!==r.glossiness&&null!==r.glossiness&&f.push("uniform float materialGlossiness;");void 0!==r.shininess&&null!==r.shininess&&f.push("uniform float materialShininess;");r.specular&&f.push("uniform vec3 materialSpecular;");void 0!==r.metallic&&null!==r.metallic&&f.push("uniform float materialMetallic;");void 0!==r.roughness&&null!==r.roughness&&f.push("uniform float materialRoughness;");void 0!==r.specularF0&&null!==r.specularF0&&f.push("uniform float materialSpecularF0;");c&&s._ambientMap&&(f.push("uniform sampler2D ambientMap;"),s._ambientMap._state.matrix&&f.push("uniform mat4 ambientMapMatrix;"));c&&s._baseColorMap&&(f.push("uniform sampler2D baseColorMap;"),s._baseColorMap._state.matrix&&f.push("uniform mat4 baseColorMapMatrix;"));c&&s._diffuseMap&&(f.push("uniform sampler2D diffuseMap;"),s._diffuseMap._state.matrix&&f.push("uniform mat4 diffuseMapMatrix;"));c&&s._emissiveMap&&(f.push("uniform sampler2D emissiveMap;"),s._emissiveMap._state.matrix&&f.push("uniform mat4 emissiveMapMatrix;"));o&&c&&s._metallicMap&&(f.push("uniform sampler2D metallicMap;"),s._metallicMap._state.matrix&&f.push("uniform mat4 metallicMapMatrix;"));o&&c&&s._roughnessMap&&(f.push("uniform sampler2D roughnessMap;"),s._roughnessMap._state.matrix&&f.push("uniform mat4 roughnessMapMatrix;"));o&&c&&s._metallicRoughnessMap&&(f.push("uniform sampler2D metallicRoughnessMap;"),s._metallicRoughnessMap._state.matrix&&f.push("uniform mat4 metallicRoughnessMapMatrix;"));o&&s._normalMap&&(f.push("uniform sampler2D normalMap;"),s._normalMap._state.matrix&&f.push("uniform mat4 normalMapMatrix;"),f.push("vec3 perturbNormal2Arb( vec3 eye_pos, vec3 surf_norm, vec2 uv ) {"),f.push(" vec3 q0 = vec3( dFdx( eye_pos.x ), dFdx( eye_pos.y ), dFdx( eye_pos.z ) );"),f.push(" vec3 q1 = vec3( dFdy( eye_pos.x ), dFdy( eye_pos.y ), dFdy( eye_pos.z ) );"),f.push(" vec2 st0 = dFdx( uv.st );"),f.push(" vec2 st1 = dFdy( uv.st );"),f.push(" vec3 S = normalize( q0 * st1.t - q1 * st0.t );"),f.push(" vec3 T = normalize( -q0 * st1.s + q1 * st0.s );"),f.push(" vec3 N = normalize( surf_norm );"),f.push(" vec3 mapN = texture( normalMap, uv ).xyz * 2.0 - 1.0;"),f.push(" mat3 tsn = mat3( S, T, N );"),f.push(" return normalize( tsn * mapN );"),f.push("}"));c&&s._occlusionMap&&(f.push("uniform sampler2D occlusionMap;"),s._occlusionMap._state.matrix&&f.push("uniform mat4 occlusionMapMatrix;"));c&&s._alphaMap&&(f.push("uniform sampler2D alphaMap;"),s._alphaMap._state.matrix&&f.push("uniform mat4 alphaMapMatrix;"));o&&c&&s._specularMap&&(f.push("uniform sampler2D specularMap;"),s._specularMap._state.matrix&&f.push("uniform mat4 specularMapMatrix;"));o&&c&&s._glossinessMap&&(f.push("uniform sampler2D glossinessMap;"),s._glossinessMap._state.matrix&&f.push("uniform mat4 glossinessMapMatrix;"));o&&c&&s._specularGlossinessMap&&(f.push("uniform sampler2D materialSpecularGlossinessMap;"),s._specularGlossinessMap._state.matrix&&f.push("uniform mat4 materialSpecularGlossinessMapMatrix;"));o&&(s._diffuseFresnel||s._specularFresnel||s._alphaFresnel||s._emissiveFresnel||s._reflectivityFresnel)&&(f.push("float fresnel(vec3 eyeDir, vec3 normal, float edgeBias, float centerBias, float power) {"),f.push(" float fr = abs(dot(eyeDir, normal));"),f.push(" float finalFr = clamp((fr - edgeBias) / (centerBias - edgeBias), 0.0, 1.0);"),f.push(" return pow(finalFr, power);"),f.push("}"),s._diffuseFresnel&&(f.push("uniform float diffuseFresnelCenterBias;"),f.push("uniform float diffuseFresnelEdgeBias;"),f.push("uniform float diffuseFresnelPower;"),f.push("uniform vec3 diffuseFresnelCenterColor;"),f.push("uniform vec3 diffuseFresnelEdgeColor;")),s._specularFresnel&&(f.push("uniform float specularFresnelCenterBias;"),f.push("uniform float specularFresnelEdgeBias;"),f.push("uniform float specularFresnelPower;"),f.push("uniform vec3 specularFresnelCenterColor;"),f.push("uniform vec3 specularFresnelEdgeColor;")),s._alphaFresnel&&(f.push("uniform float alphaFresnelCenterBias;"),f.push("uniform float alphaFresnelEdgeBias;"),f.push("uniform float alphaFresnelPower;"),f.push("uniform vec3 alphaFresnelCenterColor;"),f.push("uniform vec3 alphaFresnelEdgeColor;")),s._reflectivityFresnel&&(f.push("uniform float materialSpecularF0FresnelCenterBias;"),f.push("uniform float materialSpecularF0FresnelEdgeBias;"),f.push("uniform float materialSpecularF0FresnelPower;"),f.push("uniform vec3 materialSpecularF0FresnelCenterColor;"),f.push("uniform vec3 materialSpecularF0FresnelEdgeColor;")),s._emissiveFresnel&&(f.push("uniform float emissiveFresnelCenterBias;"),f.push("uniform float emissiveFresnelEdgeBias;"),f.push("uniform float emissiveFresnelPower;"),f.push("uniform vec3 emissiveFresnelCenterColor;"),f.push("uniform vec3 emissiveFresnelEdgeColor;")));if(f.push("uniform vec4 lightAmbient;"),o)for(let e=0,t=a.lights.length;e 0.0) { discard; }"),f.push("}")}"points"===n.primitiveName&&(f.push("vec2 cxy = 2.0 * gl_PointCoord - 1.0;"),f.push("float r = dot(cxy, cxy);"),f.push("if (r > 1.0) {"),f.push(" discard;"),f.push("}"));f.push("float occlusion = 1.0;"),r.ambient?f.push("vec3 ambientColor = materialAmbient;"):f.push("vec3 ambientColor = vec3(1.0, 1.0, 1.0);");r.diffuse?f.push("vec3 diffuseColor = materialDiffuse;"):r.baseColor?f.push("vec3 diffuseColor = materialBaseColor;"):f.push("vec3 diffuseColor = vec3(1.0, 1.0, 1.0);");n.colors&&f.push("diffuseColor *= vColor.rgb;");r.emissive?f.push("vec3 emissiveColor = materialEmissive;"):f.push("vec3 emissiveColor = vec3(0.0, 0.0, 0.0);");r.specular?f.push("vec3 specular = materialSpecular;"):f.push("vec3 specular = vec3(1.0, 1.0, 1.0);");void 0!==r.alpha?f.push("float alpha = materialAlphaModeCutoff[0];"):f.push("float alpha = 1.0;");n.colors&&f.push("alpha *= vColor.a;");void 0!==r.glossiness?f.push("float glossiness = materialGlossiness;"):f.push("float glossiness = 1.0;");void 0!==r.metallic?f.push("float metallic = materialMetallic;"):f.push("float metallic = 1.0;");void 0!==r.roughness?f.push("float roughness = materialRoughness;"):f.push("float roughness = 1.0;");void 0!==r.specularF0?f.push("float specularF0 = materialSpecularF0;"):f.push("float specularF0 = 1.0;");c&&(o&&s._normalMap||s._ambientMap||s._baseColorMap||s._diffuseMap||s._occlusionMap||s._emissiveMap||s._metallicMap||s._roughnessMap||s._metallicRoughnessMap||s._specularMap||s._glossinessMap||s._specularGlossinessMap||s._alphaMap)&&(f.push("vec4 texturePos = vec4(vUV.s, vUV.t, 1.0, 1.0);"),f.push("vec2 textureCoord;"));c&&s._ambientMap&&(s._ambientMap._state.matrix?f.push("textureCoord = (ambientMapMatrix * texturePos).xy;"):f.push("textureCoord = texturePos.xy;"),f.push("vec4 ambientTexel = texture(ambientMap, textureCoord).rgb;"),f.push("ambientTexel = "+gn[s._ambientMap._state.encoding]+"(ambientTexel);"),f.push("ambientColor *= ambientTexel.rgb;"));c&&s._diffuseMap&&(s._diffuseMap._state.matrix?f.push("textureCoord = (diffuseMapMatrix * texturePos).xy;"):f.push("textureCoord = texturePos.xy;"),f.push("vec4 diffuseTexel = texture(diffuseMap, textureCoord);"),f.push("diffuseTexel = "+gn[s._diffuseMap._state.encoding]+"(diffuseTexel);"),f.push("diffuseColor *= diffuseTexel.rgb;"),f.push("alpha *= diffuseTexel.a;"));c&&s._baseColorMap&&(s._baseColorMap._state.matrix?f.push("textureCoord = (baseColorMapMatrix * texturePos).xy;"):f.push("textureCoord = texturePos.xy;"),f.push("vec4 baseColorTexel = texture(baseColorMap, textureCoord);"),f.push("baseColorTexel = "+gn[s._baseColorMap._state.encoding]+"(baseColorTexel);"),f.push("diffuseColor *= baseColorTexel.rgb;"),f.push("alpha *= baseColorTexel.a;"));c&&s._emissiveMap&&(s._emissiveMap._state.matrix?f.push("textureCoord = (emissiveMapMatrix * texturePos).xy;"):f.push("textureCoord = texturePos.xy;"),f.push("vec4 emissiveTexel = texture(emissiveMap, textureCoord);"),f.push("emissiveTexel = "+gn[s._emissiveMap._state.encoding]+"(emissiveTexel);"),f.push("emissiveColor = emissiveTexel.rgb;"));c&&s._alphaMap&&(s._alphaMap._state.matrix?f.push("textureCoord = (alphaMapMatrix * texturePos).xy;"):f.push("textureCoord = texturePos.xy;"),f.push("alpha *= texture(alphaMap, textureCoord).r;"));c&&s._occlusionMap&&(s._occlusionMap._state.matrix?f.push("textureCoord = (occlusionMapMatrix * texturePos).xy;"):f.push("textureCoord = texturePos.xy;"),f.push("occlusion *= texture(occlusionMap, textureCoord).r;"));if(o&&(a.lights.length>0||a.lightMaps.length>0||a.reflectionMaps.length>0)){c&&s._normalMap?(s._normalMap._state.matrix?f.push("textureCoord = (normalMapMatrix * texturePos).xy;"):f.push("textureCoord = texturePos.xy;"),f.push("vec3 viewNormal = perturbNormal2Arb( vViewPosition, normalize(vViewNormal), textureCoord );")):f.push("vec3 viewNormal = normalize(vViewNormal);"),c&&s._specularMap&&(s._specularMap._state.matrix?f.push("textureCoord = (specularMapMatrix * texturePos).xy;"):f.push("textureCoord = texturePos.xy;"),f.push("specular *= texture(specularMap, textureCoord).rgb;")),c&&s._glossinessMap&&(s._glossinessMap._state.matrix?f.push("textureCoord = (glossinessMapMatrix * texturePos).xy;"):f.push("textureCoord = texturePos.xy;"),f.push("glossiness *= texture(glossinessMap, textureCoord).r;")),c&&s._specularGlossinessMap&&(s._specularGlossinessMap._state.matrix?f.push("textureCoord = (materialSpecularGlossinessMapMatrix * texturePos).xy;"):f.push("textureCoord = texturePos.xy;"),f.push("vec4 specGlossRGB = texture(materialSpecularGlossinessMap, textureCoord).rgba;"),f.push("specular *= specGlossRGB.rgb;"),f.push("glossiness *= specGlossRGB.a;")),c&&s._metallicMap&&(s._metallicMap._state.matrix?f.push("textureCoord = (metallicMapMatrix * texturePos).xy;"):f.push("textureCoord = texturePos.xy;"),f.push("metallic *= texture(metallicMap, textureCoord).r;")),c&&s._roughnessMap&&(s._roughnessMap._state.matrix?f.push("textureCoord = (roughnessMapMatrix * texturePos).xy;"):f.push("textureCoord = texturePos.xy;"),f.push("roughness *= texture(roughnessMap, textureCoord).r;")),c&&s._metallicRoughnessMap&&(s._metallicRoughnessMap._state.matrix?f.push("textureCoord = (metallicRoughnessMapMatrix * texturePos).xy;"):f.push("textureCoord = texturePos.xy;"),f.push("vec3 metalRoughRGB = texture(metallicRoughnessMap, textureCoord).rgb;"),f.push("metallic *= metalRoughRGB.b;"),f.push("roughness *= metalRoughRGB.g;")),f.push("vec3 viewEyeDir = normalize(-vViewPosition);"),s._diffuseFresnel&&(f.push("float diffuseFresnel = fresnel(viewEyeDir, viewNormal, diffuseFresnelEdgeBias, diffuseFresnelCenterBias, diffuseFresnelPower);"),f.push("diffuseColor *= mix(diffuseFresnelEdgeColor, diffuseFresnelCenterColor, diffuseFresnel);")),s._specularFresnel&&(f.push("float specularFresnel = fresnel(viewEyeDir, viewNormal, specularFresnelEdgeBias, specularFresnelCenterBias, specularFresnelPower);"),f.push("specular *= mix(specularFresnelEdgeColor, specularFresnelCenterColor, specularFresnel);")),s._alphaFresnel&&(f.push("float alphaFresnel = fresnel(viewEyeDir, viewNormal, alphaFresnelEdgeBias, alphaFresnelCenterBias, alphaFresnelPower);"),f.push("alpha *= mix(alphaFresnelEdgeColor.r, alphaFresnelCenterColor.r, alphaFresnel);")),s._emissiveFresnel&&(f.push("float emissiveFresnel = fresnel(viewEyeDir, viewNormal, emissiveFresnelEdgeBias, emissiveFresnelCenterBias, emissiveFresnelPower);"),f.push("emissiveColor *= mix(emissiveFresnelEdgeColor, emissiveFresnelCenterColor, emissiveFresnel);")),f.push("if (materialAlphaModeCutoff[1] == 1.0 && alpha < materialAlphaModeCutoff[2]) {"),f.push(" discard;"),f.push("}"),f.push("IncidentLight light;"),f.push("Material material;"),f.push("Geometry geometry;"),f.push("ReflectedLight reflectedLight = ReflectedLight(vec3(0.0,0.0,0.0), vec3(0.0,0.0,0.0));"),f.push("vec3 viewLightDir;"),u&&(f.push("material.diffuseColor = diffuseColor;"),f.push("material.specularColor = specular;"),f.push("material.shine = materialShininess;")),p&&(f.push("float oneMinusSpecularStrength = 1.0 - max(max(specular.r, specular.g ),specular.b);"),f.push("material.diffuseColor = diffuseColor * oneMinusSpecularStrength;"),f.push("material.specularRoughness = clamp( 1.0 - glossiness, 0.04, 1.0 );"),f.push("material.specularColor = specular;")),h&&(f.push("float dielectricSpecular = 0.16 * specularF0 * specularF0;"),f.push("material.diffuseColor = diffuseColor * (1.0 - dielectricSpecular) * (1.0 - metallic);"),f.push("material.specularRoughness = clamp(roughness, 0.04, 1.0);"),f.push("material.specularColor = mix(vec3(dielectricSpecular), diffuseColor, metallic);")),f.push("geometry.position = vViewPosition;"),a.lightMaps.length>0&&f.push("geometry.worldNormal = normalize(vWorldNormal);"),f.push("geometry.viewNormal = viewNormal;"),f.push("geometry.viewEyeDir = viewEyeDir;"),u&&(a.lightMaps.length>0||a.reflectionMaps.length>0)&&f.push("computePhongLightMapping(geometry, material, reflectedLight);"),(p||h)&&(a.lightMaps.length>0||a.reflectionMaps.length>0)&&f.push("computePBRLightMapping(geometry, material, reflectedLight);"),f.push("float shadow = 1.0;"),f.push("float shadowAcneRemover = 0.007;"),f.push("vec3 fragmentDepth;"),f.push("float texelSize = 1.0 / 1024.0;"),f.push("float amountInLight = 0.0;"),f.push("vec3 shadowCoord;"),f.push("vec4 rgbaDepth;"),f.push("float depth;");for(let e=0,t=a.lights.length;e0){const i=n._sectionPlanesState.sectionPlanes,r=t.renderFlags;for(let t=0;t0&&(this._uLightMap="lightMap"),i.reflectionMaps.length>0&&(this._uReflectionMap="reflectionMap"),this._uSectionPlanes=[];for(u=0,h=a.sectionPlanes.length;u0&&i.lightMaps[0].texture&&this._uLightMap&&(l.bindTexture(this._uLightMap,i.lightMaps[0].texture,e.textureUnit),e.textureUnit=(e.textureUnit+1)%t,e.bindTexture++),i.reflectionMaps.length>0&&i.reflectionMaps[0].texture&&this._uReflectionMap&&(l.bindTexture(this._uReflectionMap,i.reflectionMaps[0].texture,e.textureUnit),e.textureUnit=(e.textureUnit+1)%t,e.bindTexture++),this._uGammaFactor&&n.uniform1f(this._uGammaFactor,s.gammaFactor),this._baseTextureUnit=e.textureUnit};class Cn{constructor(e){this.vertex=function(e){const t=e.scene,s=t._lightsState,n=function(e){const t=e._geometry._state.primitiveName;if((e._geometry._state.autoVertexNormals||e._geometry._state.normalsBuf)&&("triangles"===t||"triangle-strip"===t||"triangle-fan"===t))return!0;return!1}(e),i=t._sectionPlanesState.sectionPlanes.length>0,a=!!e._geometry._state.compressGeometry,r=e._state.billboard,l=e._state.stationary,o=[];o.push("#version 300 es"),o.push("// EmphasisFillShaderSource vertex shader"),o.push("in vec3 position;"),o.push("uniform mat4 modelMatrix;"),o.push("uniform mat4 viewMatrix;"),o.push("uniform mat4 projMatrix;"),o.push("uniform vec4 colorize;"),o.push("uniform vec3 offset;"),a&&o.push("uniform mat4 positionsDecodeMatrix;");t.logarithmicDepthBufferEnabled&&(o.push("uniform float logDepthBufFC;"),o.push("out float vFragDepth;"),o.push("bool isPerspectiveMatrix(mat4 m) {"),o.push(" return (m[2][3] == - 1.0);"),o.push("}"),o.push("out float isPerspective;"));i&&o.push("out vec4 vWorldPosition;");if(o.push("uniform vec4 lightAmbient;"),o.push("uniform vec4 fillColor;"),n){o.push("in vec3 normal;"),o.push("uniform mat4 modelNormalMatrix;"),o.push("uniform mat4 viewNormalMatrix;");for(let e=0,t=s.lights.length;e= 0.0 ? 1.0 : -1.0, v.y >= 0.0 ? 1.0 : -1.0);"),o.push(" }"),o.push(" return normalize(v);"),o.push("}"))}o.push("out vec4 vColor;"),("spherical"===r||"cylindrical"===r)&&(o.push("void billboard(inout mat4 mat) {"),o.push(" mat[0][0] = 1.0;"),o.push(" mat[0][1] = 0.0;"),o.push(" mat[0][2] = 0.0;"),"spherical"===r&&(o.push(" mat[1][0] = 0.0;"),o.push(" mat[1][1] = 1.0;"),o.push(" mat[1][2] = 0.0;")),o.push(" mat[2][0] = 0.0;"),o.push(" mat[2][1] = 0.0;"),o.push(" mat[2][2] =1.0;"),o.push("}"));o.push("void main(void) {"),o.push("vec4 localPosition = vec4(position, 1.0); "),o.push("vec4 worldPosition;"),a&&o.push("localPosition = positionsDecodeMatrix * localPosition;");n&&(a?o.push("vec4 localNormal = vec4(octDecode(normal.xy), 0.0); "):o.push("vec4 localNormal = vec4(normal, 0.0); "),o.push("mat4 modelNormalMatrix2 = modelNormalMatrix;"),o.push("mat4 viewNormalMatrix2 = viewNormalMatrix;"));o.push("mat4 viewMatrix2 = viewMatrix;"),o.push("mat4 modelMatrix2 = modelMatrix;"),l&&o.push("viewMatrix2[3][0] = viewMatrix2[3][1] = viewMatrix2[3][2] = 0.0;");"spherical"===r||"cylindrical"===r?(o.push("mat4 modelViewMatrix = viewMatrix2 * modelMatrix2;"),o.push("billboard(modelMatrix2);"),o.push("billboard(viewMatrix2);"),o.push("billboard(modelViewMatrix);"),n&&(o.push("mat4 modelViewNormalMatrix = viewNormalMatrix2 * modelNormalMatrix2;"),o.push("billboard(modelNormalMatrix2);"),o.push("billboard(viewNormalMatrix2);"),o.push("billboard(modelViewNormalMatrix);")),o.push("worldPosition = modelMatrix2 * localPosition;"),o.push("vec4 viewPosition = modelViewMatrix * localPosition;")):(o.push("worldPosition = modelMatrix2 * localPosition;"),o.push("worldPosition.xyz = worldPosition.xyz + offset;"),o.push("vec4 viewPosition = viewMatrix2 * worldPosition; "));n&&o.push("vec3 viewNormal = normalize((viewNormalMatrix2 * modelNormalMatrix2 * localNormal).xyz);");if(o.push("vec3 reflectedColor = vec3(0.0, 0.0, 0.0);"),o.push("vec3 viewLightDir = vec3(0.0, 0.0, -1.0);"),o.push("float lambertian = 1.0;"),n)for(let e=0,t=s.lights.length;e0,a=[];a.push("#version 300 es"),a.push("// Lambertian drawing fragment shader"),a.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),a.push("precision highp float;"),a.push("precision highp int;"),a.push("#else"),a.push("precision mediump float;"),a.push("precision mediump int;"),a.push("#endif"),t.logarithmicDepthBufferEnabled&&(a.push("in float isPerspective;"),a.push("uniform float logDepthBufFC;"),a.push("in float vFragDepth;"));n&&(a.push("uniform float gammaFactor;"),a.push("vec4 linearToGamma( in vec4 value, in float gammaFactor ) {"),a.push(" return vec4( pow( value.xyz, vec3( 1.0 / gammaFactor ) ), value.w );"),a.push("}"));if(i){a.push("in vec4 vWorldPosition;"),a.push("uniform bool clippable;");for(let e=0,t=s.getNumAllocatedSectionPlanes();e 0.0) { discard; }"),a.push("}")}"points"===e._geometry._state.primitiveName&&(a.push("vec2 cxy = 2.0 * gl_PointCoord - 1.0;"),a.push("float r = dot(cxy, cxy);"),a.push("if (r > 1.0) {"),a.push(" discard;"),a.push("}"));t.logarithmicDepthBufferEnabled&&a.push("gl_FragDepth = isPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5;");n?a.push("outColor = linearToGamma(vColor, gammaFactor);"):a.push("outColor = vColor;");return a.push("}"),a}(e)}}const _n=new e({}),Bn=A.vec3(),On=function(e,t){this.id=_n.addItem({}),this._hash=e,this._scene=t.scene,this._useCount=0,this._shaderSource=new Cn(t),this._allocate(t)},Sn={};On.get=function(e){const t=[e.scene.id,e.scene.gammaOutput?"go":"",e.scene._sectionPlanesState.getHash(),e._geometry._state.normalsBuf?"n":"",e._geometry._state.compressGeometry?"cp":"",e._state.hash].join(";");let s=Sn[t];return s||(s=new On(t,e),Sn[t]=s,y.memory.programs++),s._useCount++,s},On.prototype.put=function(){0==--this._useCount&&(_n.removeItem(this.id),this._program&&this._program.destroy(),delete Sn[this._hash],y.memory.programs--)},On.prototype.webglContextRestored=function(){this._program=null},On.prototype.drawMesh=function(e,t,s){this._program||this._allocate(t);const n=this._scene,i=n.camera,a=n.canvas.gl,r=0===s?t._xrayMaterial._state:1===s?t._highlightMaterial._state:t._selectedMaterial._state,l=t._state,o=t._geometry._state,c=t.origin;if(e.lastProgramId!==this._program.id&&(e.lastProgramId=this._program.id,this._bindProgram(e)),a.uniformMatrix4fv(this._uViewMatrix,!1,c?e.getRTCViewMatrix(l.originHash,c):i.viewMatrix),a.uniformMatrix4fv(this._uViewNormalMatrix,!1,i.viewNormalMatrix),l.clippable){const e=n._sectionPlanesState.getNumAllocatedSectionPlanes(),s=n._sectionPlanesState.sectionPlanes.length;if(e>0){const i=n._sectionPlanesState.sectionPlanes,r=t.renderFlags;for(let t=0;t0,n=!!e._geometry._state.compressGeometry,i=e._state.billboard,a=e._state.stationary,r=[];r.push("#version 300 es"),r.push("// Edges drawing vertex shader"),r.push("in vec3 position;"),r.push("uniform mat4 modelMatrix;"),r.push("uniform mat4 viewMatrix;"),r.push("uniform mat4 projMatrix;"),r.push("uniform vec4 edgeColor;"),r.push("uniform vec3 offset;"),n&&r.push("uniform mat4 positionsDecodeMatrix;");t.logarithmicDepthBufferEnabled&&(r.push("uniform float logDepthBufFC;"),r.push("out float vFragDepth;"),r.push("bool isPerspectiveMatrix(mat4 m) {"),r.push(" return (m[2][3] == - 1.0);"),r.push("}"),r.push("out float isPerspective;"));s&&r.push("out vec4 vWorldPosition;");r.push("out vec4 vColor;"),("spherical"===i||"cylindrical"===i)&&(r.push("void billboard(inout mat4 mat) {"),r.push(" mat[0][0] = 1.0;"),r.push(" mat[0][1] = 0.0;"),r.push(" mat[0][2] = 0.0;"),"spherical"===i&&(r.push(" mat[1][0] = 0.0;"),r.push(" mat[1][1] = 1.0;"),r.push(" mat[1][2] = 0.0;")),r.push(" mat[2][0] = 0.0;"),r.push(" mat[2][1] = 0.0;"),r.push(" mat[2][2] =1.0;"),r.push("}"));r.push("void main(void) {"),r.push("vec4 localPosition = vec4(position, 1.0); "),r.push("vec4 worldPosition;"),n&&r.push("localPosition = positionsDecodeMatrix * localPosition;");r.push("mat4 viewMatrix2 = viewMatrix;"),r.push("mat4 modelMatrix2 = modelMatrix;"),a&&r.push("viewMatrix2[3][0] = viewMatrix2[3][1] = viewMatrix2[3][2] = 0.0;");"spherical"===i||"cylindrical"===i?(r.push("mat4 modelViewMatrix = viewMatrix2 * modelMatrix2;"),r.push("billboard(modelMatrix2);"),r.push("billboard(viewMatrix2);"),r.push("billboard(modelViewMatrix);"),r.push("worldPosition = modelMatrix2 * localPosition;"),r.push("worldPosition.xyz = worldPosition.xyz + offset;"),r.push("vec4 viewPosition = modelViewMatrix * localPosition;")):(r.push("worldPosition = modelMatrix2 * localPosition;"),r.push("worldPosition.xyz = worldPosition.xyz + offset;"),r.push("vec4 viewPosition = viewMatrix2 * worldPosition; "));r.push("vColor = edgeColor;"),s&&r.push("vWorldPosition = worldPosition;");r.push("vec4 clipPos = projMatrix * viewPosition;"),t.logarithmicDepthBufferEnabled&&(r.push("vFragDepth = 1.0 + clipPos.w;"),r.push("isPerspective = float (isPerspectiveMatrix(projMatrix));"));return r.push("gl_Position = clipPos;"),r.push("}"),r}(e),this.fragment=function(e){const t=e.scene,s=e.scene._sectionPlanesState,n=e.scene.gammaOutput,i=s.getNumAllocatedSectionPlanes()>0,a=[];a.push("#version 300 es"),a.push("// Edges drawing fragment shader"),a.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),a.push("precision highp float;"),a.push("precision highp int;"),a.push("#else"),a.push("precision mediump float;"),a.push("precision mediump int;"),a.push("#endif"),t.logarithmicDepthBufferEnabled&&(a.push("in float isPerspective;"),a.push("uniform float logDepthBufFC;"),a.push("in float vFragDepth;"));n&&(a.push("uniform float gammaFactor;"),a.push("vec4 linearToGamma( in vec4 value, in float gammaFactor ) {"),a.push(" return vec4( pow( value.xyz, vec3( 1.0 / gammaFactor ) ), value.w );"),a.push("}"));if(i){a.push("in vec4 vWorldPosition;"),a.push("uniform bool clippable;");for(let e=0,t=s.getNumAllocatedSectionPlanes();e 0.0) { discard; }"),a.push("}")}t.logarithmicDepthBufferEnabled&&a.push("gl_FragDepth = isPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5;");n?a.push("outColor = linearToGamma(vColor, gammaFactor);"):a.push("outColor = vColor;");return a.push("}"),a}(e)}}const xn=new e({}),Ln=A.vec3(),Mn=function(e,t){this.id=xn.addItem({}),this._hash=e,this._scene=t.scene,this._useCount=0,this._shaderSource=new Nn(t),this._allocate(t)},Fn={};Mn.get=function(e){const t=[e.scene.id,e.scene.gammaOutput?"go":"",e.scene._sectionPlanesState.getHash(),e._geometry._state.compressGeometry?"cp":"",e._state.hash].join(";");let s=Fn[t];return s||(s=new Mn(t,e),Fn[t]=s,y.memory.programs++),s._useCount++,s},Mn.prototype.put=function(){0==--this._useCount&&(xn.removeItem(this.id),this._program&&this._program.destroy(),delete Fn[this._hash],y.memory.programs--)},Mn.prototype.webglContextRestored=function(){this._program=null},Mn.prototype.drawMesh=function(e,t,s){this._program||this._allocate(t);const n=this._scene,i=n.camera,a=n.canvas.gl;let r;const l=t._state,o=t._geometry,c=o._state,u=t.origin;if(e.lastProgramId!==this._program.id&&(e.lastProgramId=this._program.id,this._bindProgram(e)),a.uniformMatrix4fv(this._uViewMatrix,!1,u?e.getRTCViewMatrix(l.originHash,u):i.viewMatrix),l.clippable){const e=n._sectionPlanesState.getNumAllocatedSectionPlanes(),s=n._sectionPlanesState.sectionPlanes.length;if(e>0){const i=n._sectionPlanesState.sectionPlanes,r=t.renderFlags;for(let t=0;t0,n=!!e._geometry._state.compressGeometry,i=e._state.billboard,a=e._state.stationary,r=[];r.push("#version 300 es"),r.push("// Mesh picking vertex shader"),r.push("in vec3 position;"),r.push("uniform mat4 modelMatrix;"),r.push("uniform mat4 viewMatrix;"),r.push("uniform mat4 projMatrix;"),r.push("out vec4 vViewPosition;"),r.push("uniform vec3 offset;"),n&&r.push("uniform mat4 positionsDecodeMatrix;");s&&r.push("out vec4 vWorldPosition;");t.logarithmicDepthBufferEnabled&&(r.push("uniform float logDepthBufFC;"),r.push("out float vFragDepth;"),r.push("bool isPerspectiveMatrix(mat4 m) {"),r.push(" return (m[2][3] == - 1.0);"),r.push("}"),r.push("out float isPerspective;"));"spherical"!==i&&"cylindrical"!==i||(r.push("void billboard(inout mat4 mat) {"),r.push(" mat[0][0] = 1.0;"),r.push(" mat[0][1] = 0.0;"),r.push(" mat[0][2] = 0.0;"),"spherical"===i&&(r.push(" mat[1][0] = 0.0;"),r.push(" mat[1][1] = 1.0;"),r.push(" mat[1][2] = 0.0;")),r.push(" mat[2][0] = 0.0;"),r.push(" mat[2][1] = 0.0;"),r.push(" mat[2][2] =1.0;"),r.push("}"));r.push("uniform vec2 pickClipPos;"),r.push("vec4 remapClipPos(vec4 clipPos) {"),r.push(" clipPos.xy /= clipPos.w;"),r.push(" clipPos.xy -= pickClipPos;"),r.push(" clipPos.xy *= clipPos.w;"),r.push(" return clipPos;"),r.push("}"),r.push("void main(void) {"),r.push("vec4 localPosition = vec4(position, 1.0); "),n&&r.push("localPosition = positionsDecodeMatrix * localPosition;");r.push("mat4 viewMatrix2 = viewMatrix;"),r.push("mat4 modelMatrix2 = modelMatrix;"),a&&r.push("viewMatrix2[3][0] = viewMatrix2[3][1] = viewMatrix2[3][2] = 0.0;");"spherical"!==i&&"cylindrical"!==i||(r.push("mat4 modelViewMatrix = viewMatrix2 * modelMatrix2;"),r.push("billboard(modelMatrix2);"),r.push("billboard(viewMatrix2);"));r.push(" vec4 worldPosition = modelMatrix2 * localPosition;"),r.push(" worldPosition.xyz = worldPosition.xyz + offset;"),r.push(" vec4 viewPosition = viewMatrix2 * worldPosition;"),s&&r.push(" vWorldPosition = worldPosition;");r.push("vec4 clipPos = projMatrix * viewPosition;"),t.logarithmicDepthBufferEnabled&&(r.push("vFragDepth = 1.0 + clipPos.w;"),r.push("isPerspective = float (isPerspectiveMatrix(projMatrix));"));return r.push("gl_Position = remapClipPos(clipPos);"),r.push("}"),r}(e),this.fragment=function(e){const t=e.scene,s=t._sectionPlanesState,n=s.getNumAllocatedSectionPlanes()>0,i=[];i.push("#version 300 es"),i.push("// Mesh picking fragment shader"),i.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),i.push("precision highp float;"),i.push("precision highp int;"),i.push("#else"),i.push("precision mediump float;"),i.push("precision mediump int;"),i.push("#endif"),t.logarithmicDepthBufferEnabled&&(i.push("in float isPerspective;"),i.push("uniform float logDepthBufFC;"),i.push("in float vFragDepth;"));if(i.push("uniform vec4 pickColor;"),n){i.push("uniform bool clippable;"),i.push("in vec4 vWorldPosition;");for(var a=0;a 0.0) { discard; }"),i.push("}")}t.logarithmicDepthBufferEnabled&&i.push("gl_FragDepth = isPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5;");return i.push(" outColor = pickColor; "),i.push("}"),i}(e)}}const Un=A.vec3(),Gn=function(e,t){this._hash=e,this._shaderSource=new Hn(t),this._scene=t.scene,this._useCount=0,this._allocate(t)},jn={};Gn.get=function(e){const t=[e.scene.canvas.canvas.id,e.scene._sectionPlanesState.getHash(),e._geometry._state.hash,e._state.hash].join(";");let s=jn[t];if(!s){if(s=new Gn(t,e),s.errors)return console.log(s.errors.join("\n")),null;jn[t]=s,y.memory.programs++}return s._useCount++,s},Gn.prototype.put=function(){0==--this._useCount&&(this._program&&this._program.destroy(),delete jn[this._hash],y.memory.programs--)},Gn.prototype.webglContextRestored=function(){this._program=null},Gn.prototype.drawMesh=function(e,t){this._program||this._allocate(t);const s=this._scene,n=s.canvas.gl,i=t._state,a=t._material._state,r=t._geometry._state,l=t.origin;if(e.lastProgramId!==this._program.id&&(e.lastProgramId=this._program.id,this._bindProgram(e)),n.uniformMatrix4fv(this._uViewMatrix,!1,l?e.getRTCPickViewMatrix(i.originHash,l):e.pickViewMatrix),i.clippable){const e=s._sectionPlanesState.getNumAllocatedSectionPlanes(),i=s._sectionPlanesState.sectionPlanes.length;if(e>0){const a=s._sectionPlanesState.sectionPlanes,r=t.renderFlags;for(let t=0;t>24&255,u=o>>16&255,h=o>>8&255,p=255&o;n.uniform4f(this._uPickColor,p/255,h/255,u/255,c/255),n.uniform2fv(this._uPickClipPos,e.pickClipPos),r.indicesBuf?(n.drawElements(r.primitive,r.indicesBuf.numItems,r.indicesBuf.itemType,0),e.drawElements++):r.positions&&n.drawArrays(n.TRIANGLES,0,r.positions.numItems)},Gn.prototype._allocate=function(e){const t=e.scene,s=t.canvas.gl;if(this._program=new Fe(s,this._shaderSource),this._program.errors)return void(this.errors=this._program.errors);const n=this._program;this._uPositionsDecodeMatrix=n.getLocation("positionsDecodeMatrix"),this._uModelMatrix=n.getLocation("modelMatrix"),this._uViewMatrix=n.getLocation("viewMatrix"),this._uProjMatrix=n.getLocation("projMatrix"),this._uSectionPlanes=[];for(let e=0,s=t._sectionPlanesState.sectionPlanes.length;e0,n=!!e._geometry._state.compressGeometry,i=[];i.push("#version 300 es"),i.push("// Surface picking vertex shader"),i.push("in vec3 position;"),i.push("in vec4 color;"),i.push("uniform mat4 modelMatrix;"),i.push("uniform mat4 viewMatrix;"),i.push("uniform mat4 projMatrix;"),i.push("uniform vec3 offset;"),s&&(i.push("uniform bool clippable;"),i.push("out vec4 vWorldPosition;"));t.logarithmicDepthBufferEnabled&&(i.push("uniform float logDepthBufFC;"),i.push("out float vFragDepth;"),i.push("bool isPerspectiveMatrix(mat4 m) {"),i.push(" return (m[2][3] == - 1.0);"),i.push("}"),i.push("out float isPerspective;"));i.push("uniform vec2 pickClipPos;"),i.push("vec4 remapClipPos(vec4 clipPos) {"),i.push(" clipPos.xy /= clipPos.w;"),i.push(" clipPos.xy -= pickClipPos;"),i.push(" clipPos.xy *= clipPos.w;"),i.push(" return clipPos;"),i.push("}"),i.push("out vec4 vColor;"),n&&i.push("uniform mat4 positionsDecodeMatrix;");i.push("void main(void) {"),i.push("vec4 localPosition = vec4(position, 1.0); "),n&&i.push("localPosition = positionsDecodeMatrix * localPosition;");i.push(" vec4 worldPosition = modelMatrix * localPosition; "),i.push(" worldPosition.xyz = worldPosition.xyz + offset;"),i.push(" vec4 viewPosition = viewMatrix * worldPosition;"),s&&i.push(" vWorldPosition = worldPosition;");i.push(" vColor = color;"),i.push("vec4 clipPos = projMatrix * viewPosition;"),t.logarithmicDepthBufferEnabled&&(i.push("vFragDepth = 1.0 + clipPos.w;"),i.push("isPerspective = float (isPerspectiveMatrix(projMatrix));"));return i.push("gl_Position = remapClipPos(clipPos);"),i.push("}"),i}(e),this.fragment=function(e){const t=e.scene,s=t._sectionPlanesState,n=s.getNumAllocatedSectionPlanes()>0,i=[];i.push("#version 300 es"),i.push("// Surface picking fragment shader"),i.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),i.push("precision highp float;"),i.push("precision highp int;"),i.push("#else"),i.push("precision mediump float;"),i.push("precision mediump int;"),i.push("#endif"),i.push("in vec4 vColor;"),t.logarithmicDepthBufferEnabled&&(i.push("in float isPerspective;"),i.push("uniform float logDepthBufFC;"),i.push("in float vFragDepth;"));if(n){i.push("uniform bool clippable;"),i.push("in vec4 vWorldPosition;");for(let e=0;e 0.0) { discard; }"),i.push("}")}t.logarithmicDepthBufferEnabled&&i.push("gl_FragDepth = isPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5;");return i.push(" outColor = vColor;"),i.push("}"),i}(e)}}const kn=A.vec3(),Qn=function(e,t){this._hash=e,this._scene=t.scene,this._useCount=0,this._shaderSource=new Vn(t),this._allocate(t)},Wn={};Qn.get=function(e){const t=[e.scene.canvas.canvas.id,e.scene._sectionPlanesState.getHash(),e._geometry._state.compressGeometry?"cp":"",e._state.hash].join(";");let s=Wn[t];if(!s){if(s=new Qn(t,e),s.errors)return console.log(s.errors.join("\n")),null;Wn[t]=s,y.memory.programs++}return s._useCount++,s},Qn.prototype.put=function(){0==--this._useCount&&(this._program&&this._program.destroy(),delete Wn[this._hash],y.memory.programs--)},Qn.prototype.webglContextRestored=function(){this._program=null},Qn.prototype.drawMesh=function(e,t){this._program||this._allocate(t);const s=this._scene,n=s.canvas.gl,i=t._state,a=t._material._state,r=t._geometry,l=t._geometry._state,o=t.origin,c=a.backfaces,u=a.frontface,h=s.camera.project,p=r._getPickTrianglePositions(),A=r._getPickTriangleColors();if(this._program.bind(),e.useProgram++,s.logarithmicDepthBufferEnabled){const e=2/(Math.log(h.far+1)/Math.LN2);n.uniform1f(this._uLogDepthBufFC,e)}if(n.uniformMatrix4fv(this._uViewMatrix,!1,o?e.getRTCPickViewMatrix(i.originHash,o):e.pickViewMatrix),i.clippable){const e=s._sectionPlanesState.getNumAllocatedSectionPlanes(),i=s._sectionPlanesState.sectionPlanes.length;if(e>0){const a=s._sectionPlanesState.sectionPlanes,r=t.renderFlags;for(let t=0;t0,n=!!e._geometry._state.compressGeometry,i=e._state.billboard,a=e._state.stationary,r=[];r.push("#version 300 es"),r.push("// Mesh occlusion vertex shader"),r.push("in vec3 position;"),r.push("uniform mat4 modelMatrix;"),r.push("uniform mat4 viewMatrix;"),r.push("uniform mat4 projMatrix;"),r.push("uniform vec3 offset;"),n&&r.push("uniform mat4 positionsDecodeMatrix;");s&&r.push("out vec4 vWorldPosition;");t.logarithmicDepthBufferEnabled&&(r.push("uniform float logDepthBufFC;"),r.push("out float vFragDepth;"),r.push("bool isPerspectiveMatrix(mat4 m) {"),r.push(" return (m[2][3] == - 1.0);"),r.push("}"),r.push("out float isPerspective;"));"spherical"!==i&&"cylindrical"!==i||(r.push("void billboard(inout mat4 mat) {"),r.push(" mat[0][0] = 1.0;"),r.push(" mat[0][1] = 0.0;"),r.push(" mat[0][2] = 0.0;"),"spherical"===i&&(r.push(" mat[1][0] = 0.0;"),r.push(" mat[1][1] = 1.0;"),r.push(" mat[1][2] = 0.0;")),r.push(" mat[2][0] = 0.0;"),r.push(" mat[2][1] = 0.0;"),r.push(" mat[2][2] =1.0;"),r.push("}"));r.push("void main(void) {"),r.push("vec4 localPosition = vec4(position, 1.0); "),r.push("vec4 worldPosition;"),n&&r.push("localPosition = positionsDecodeMatrix * localPosition;");r.push("mat4 viewMatrix2 = viewMatrix;"),r.push("mat4 modelMatrix2 = modelMatrix;"),a&&r.push("viewMatrix2[3][0] = viewMatrix2[3][1] = viewMatrix2[3][2] = 0.0;");"spherical"===i||"cylindrical"===i?(r.push("mat4 modelViewMatrix = viewMatrix2 * modelMatrix2;"),r.push("billboard(modelMatrix2);"),r.push("billboard(viewMatrix2);"),r.push("billboard(modelViewMatrix);"),r.push("worldPosition = modelMatrix2 * localPosition;"),r.push("worldPosition.xyz = worldPosition.xyz + offset;"),r.push("vec4 viewPosition = modelViewMatrix * localPosition;")):(r.push("worldPosition = modelMatrix2 * localPosition;"),r.push("worldPosition.xyz = worldPosition.xyz + offset;"),r.push("vec4 viewPosition = viewMatrix2 * worldPosition; "));s&&r.push(" vWorldPosition = worldPosition;");r.push("vec4 clipPos = projMatrix * viewPosition;"),t.logarithmicDepthBufferEnabled&&(r.push("vFragDepth = 1.0 + clipPos.w;"),r.push("isPerspective = float (isPerspectiveMatrix(projMatrix));"));return r.push("gl_Position = clipPos;"),r.push("}"),r}(e),this.fragment=function(e){const t=e.scene,s=t._sectionPlanesState,n=s.getNumAllocatedSectionPlanes()>0,i=[];i.push("#version 300 es"),i.push("// Mesh occlusion fragment shader"),i.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),i.push("precision highp float;"),i.push("precision highp int;"),i.push("#else"),i.push("precision mediump float;"),i.push("precision mediump int;"),i.push("#endif"),t.logarithmicDepthBufferEnabled&&(i.push("in float isPerspective;"),i.push("uniform float logDepthBufFC;"),i.push("in float vFragDepth;"));if(n){i.push("uniform bool clippable;"),i.push("in vec4 vWorldPosition;");for(var a=0;a 0.0) { discard; }"),i.push("}")}i.push(" outColor = vec4(0.0, 0.0, 1.0, 1.0); "),t.logarithmicDepthBufferEnabled&&i.push("gl_FragDepth = isPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5;");return i.push("}"),i}(e)}}const Kn=A.vec3(),Yn=function(e,t){this._hash=e,this._shaderSource=new zn(t),this._scene=t.scene,this._useCount=0,this._allocate(t)},Xn={};Yn.get=function(e){const t=[e.scene.canvas.canvas.id,e.scene._sectionPlanesState.getHash(),e._geometry._state.hash,e._state.occlusionHash].join(";");let s=Xn[t];if(!s){if(s=new Yn(t,e),s.errors)return console.log(s.errors.join("\n")),null;Xn[t]=s,y.memory.programs++}return s._useCount++,s},Yn.prototype.put=function(){0==--this._useCount&&(this._program&&this._program.destroy(),delete Xn[this._hash],y.memory.programs--)},Yn.prototype.webglContextRestored=function(){this._program=null},Yn.prototype.drawMesh=function(e,t){this._program||this._allocate(t);const s=this._scene,n=s.canvas.gl,i=t._material._state,a=t._state,r=t._geometry._state,l=t.origin;if(e.lastProgramId!==this._program.id&&(e.lastProgramId=this._program.id,this._bindProgram(e)),i.id!==this._lastMaterialId){const t=i.backfaces;e.backfaces!==t&&(t?n.disable(n.CULL_FACE):n.enable(n.CULL_FACE),e.backfaces=t);const s=i.frontface;e.frontface!==s&&(s?n.frontFace(n.CCW):n.frontFace(n.CW),e.frontface=s),this._lastMaterialId=i.id}const o=s.camera;if(n.uniformMatrix4fv(this._uViewMatrix,!1,l?e.getRTCViewMatrix(a.originHash,l):o.viewMatrix),a.clippable){const e=s._sectionPlanesState.getNumAllocatedSectionPlanes(),i=s._sectionPlanesState.sectionPlanes.length;if(e>0){const a=s._sectionPlanesState.sectionPlanes,r=t.renderFlags;for(let t=0;t0,s=!!e._geometry._state.compressGeometry,n=[];n.push("// Mesh shadow vertex shader"),n.push("in vec3 position;"),n.push("uniform mat4 modelMatrix;"),n.push("uniform mat4 shadowViewMatrix;"),n.push("uniform mat4 shadowProjMatrix;"),n.push("uniform vec3 offset;"),s&&n.push("uniform mat4 positionsDecodeMatrix;");t&&n.push("out vec4 vWorldPosition;");n.push("void main(void) {"),n.push("vec4 localPosition = vec4(position, 1.0); "),n.push("vec4 worldPosition;"),s&&n.push("localPosition = positionsDecodeMatrix * localPosition;");n.push("worldPosition = modelMatrix * localPosition;"),n.push("worldPosition.xyz = worldPosition.xyz + offset;"),n.push("vec4 viewPosition = shadowViewMatrix * worldPosition; "),t&&n.push("vWorldPosition = worldPosition;");return n.push(" gl_Position = shadowProjMatrix * viewPosition;"),n.push("}"),n}(e),this.fragment=function(e){const t=e.scene;t.canvas.gl;const s=t._sectionPlanesState,n=s.getNumAllocatedSectionPlanes()>0,i=[];if(i.push("// Mesh shadow fragment shader"),i.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),i.push("precision highp float;"),i.push("precision highp int;"),i.push("#else"),i.push("precision mediump float;"),i.push("precision mediump int;"),i.push("#endif"),n){i.push("uniform bool clippable;"),i.push("in vec4 vWorldPosition;");for(var a=0;a 0.0) { discard; }"),i.push("}")}return i.push("outColor = encodeFloat(gl_FragCoord.z);"),i.push("}"),i}(e)}}const Jn=function(e,t){this._hash=e,this._shaderSource=new qn(t),this._scene=t.scene,this._useCount=0,this._allocate(t)},Zn={};Jn.get=function(e){const t=e.scene,s=[t.canvas.canvas.id,t._sectionPlanesState.getHash(),e._geometry._state.hash,e._state.hash].join(";");let n=Zn[s];if(!n){if(n=new Jn(s,e),n.errors)return console.log(n.errors.join("\n")),null;Zn[s]=n,y.memory.programs++}return n._useCount++,n},Jn.prototype.put=function(){0==--this._useCount&&(this._program&&this._program.destroy(),delete Zn[this._hash],y.memory.programs--)},Jn.prototype.webglContextRestored=function(){this._program=null},Jn.prototype.drawMesh=function(e,t){this._program||this._allocate(t);const s=this._scene.canvas.gl,n=t._material._state,i=t._geometry._state;if(e.lastProgramId!==this._program.id&&(e.lastProgramId=this._program.id,this._bindProgram(e)),n.id!==this._lastMaterialId){const t=n.backfaces;e.backfaces!==t&&(t?s.disable(s.CULL_FACE):s.enable(s.CULL_FACE),e.backfaces=t);const i=n.frontface;e.frontface!==i&&(i?s.frontFace(s.CCW):s.frontFace(s.CW),e.frontface=i),e.lineWidth!==n.lineWidth&&(s.lineWidth(n.lineWidth),e.lineWidth=n.lineWidth),this._uPointSize&&s.uniform1i(this._uPointSize,n.pointSize),this._lastMaterialId=n.id}if(s.uniformMatrix4fv(this._uModelMatrix,s.FALSE,t.worldMatrix),i.combineGeometry){const n=t.vertexBufs;n.id!==this._lastVertexBufsId&&(n.positionsBuf&&this._aPosition&&(this._aPosition.bindArrayBuffer(n.positionsBuf,n.compressGeometry?s.UNSIGNED_SHORT:s.FLOAT),e.bindArray++),this._lastVertexBufsId=n.id)}this._uClippable&&s.uniform1i(this._uClippable,t._state.clippable),s.uniform3fv(this._uOffset,t._state.offset),i.id!==this._lastGeometryId&&(this._uPositionsDecodeMatrix&&s.uniformMatrix4fv(this._uPositionsDecodeMatrix,!1,i.positionsDecodeMatrix),i.combineGeometry?i.indicesBufCombined&&(i.indicesBufCombined.bind(),e.bindArray++):(this._aPosition&&(this._aPosition.bindArrayBuffer(i.positionsBuf,i.compressGeometry?s.UNSIGNED_SHORT:s.FLOAT),e.bindArray++),i.indicesBuf&&(i.indicesBuf.bind(),e.bindArray++)),this._lastGeometryId=i.id),i.combineGeometry?i.indicesBufCombined&&(s.drawElements(i.primitive,i.indicesBufCombined.numItems,i.indicesBufCombined.itemType,0),e.drawElements++):i.indicesBuf?(s.drawElements(i.primitive,i.indicesBuf.numItems,i.indicesBuf.itemType,0),e.drawElements++):i.positions&&(s.drawArrays(s.TRIANGLES,0,i.positions.numItems),e.drawArrays++)},Jn.prototype._allocate=function(e){const t=e.scene,s=t.canvas.gl;if(this._program=new Fe(s,this._shaderSource),this._scene=t,this._useCount=0,this._program.errors)return void(this.errors=this._program.errors);const n=this._program;this._uPositionsDecodeMatrix=n.getLocation("positionsDecodeMatrix"),this._uModelMatrix=n.getLocation("modelMatrix"),this._uShadowViewMatrix=n.getLocation("shadowViewMatrix"),this._uShadowProjMatrix=n.getLocation("shadowProjMatrix"),this._uSectionPlanes={};for(let e=0,s=t._sectionPlanesState.sectionPlanes.length;e0){let e,t,i,a,r;for(let l=0,o=this._uSectionPlanes.length;l0)for(let s=0;s0!==e))&&this.scene._objectOffsetUpdated(this,!1)),this._isModel&&this.scene._deregisterModel(this),this.glRedraw()}}const hi=function(){const e=A.vec3(),t=A.vec3(),s=A.vec3(),n=A.vec3(),i=A.vec3(),a=A.vec3(),r=A.vec4(),l=A.vec3(),o=A.vec3(),c=A.vec3(),u=A.vec3(),h=A.vec3(),p=A.vec3(),d=A.vec3(),f=A.vec3(),I=A.vec3(),y=A.vec4(),m=A.vec4(),v=A.vec4(),w=A.vec3(),g=A.vec3(),E=A.vec3(),T=A.vec3(),b=A.vec3(),D=A.vec3(),P=A.vec3(),R=A.vec3(),C=A.vec3(),_=A.vec3(),B=A.vec3();return function(O,S,N,x){var L=x.primIndex;if(null!=L&&L>-1){const U=O.geometry._state,G=O.scene,j=G.camera,V=G.canvas;if("triangles"===U.primitiveName){x.primitive="triangle";const G=L,k=U.indices,W=U.positions;let z,K,Y;if(k){var M=k[G+0],F=k[G+1],H=k[G+2];a[0]=M,a[1]=F,a[2]=H,x.indices=a,z=3*M,K=3*F,Y=3*H}else z=3*G,K=z+3,Y=K+3;if(s[0]=W[z+0],s[1]=W[z+1],s[2]=W[z+2],n[0]=W[K+0],n[1]=W[K+1],n[2]=W[K+2],i[0]=W[Y+0],i[1]=W[Y+1],i[2]=W[Y+2],U.compressGeometry){const e=U.positionsDecodeMatrix;e&&(Ft.decompressPosition(s,e,s),Ft.decompressPosition(n,e,n),Ft.decompressPosition(i,e,i))}x.canvasPos?A.canvasPosToLocalRay(V.canvas,O.origin?Q(S,O.origin):S,N,O.worldMatrix,x.canvasPos,e,t):x.origin&&x.direction&&A.worldRayToLocalRay(O.worldMatrix,x.origin,x.direction,e,t),A.normalizeVec3(t),A.rayPlaneIntersect(e,t,s,n,i,r),x.localPos=r,x.position=r,y[0]=r[0],y[1]=r[1],y[2]=r[2],y[3]=1,A.transformVec4(O.worldMatrix,y,m),l[0]=m[0],l[1]=m[1],l[2]=m[2],x.canvasPos&&O.origin&&(l[0]+=O.origin[0],l[1]+=O.origin[1],l[2]+=O.origin[2]),x.worldPos=l,A.transformVec4(j.matrix,m,v),o[0]=v[0],o[1]=v[1],o[2]=v[2],x.viewPos=o,A.cartesianToBarycentric(r,s,n,i,c),x.bary=c;const X=U.normals;if(X){if(U.compressGeometry){const e=3*M,t=3*F,s=3*H;Ft.decompressNormal(X.subarray(e,e+2),u),Ft.decompressNormal(X.subarray(t,t+2),h),Ft.decompressNormal(X.subarray(s,s+2),p)}else u[0]=X[z],u[1]=X[z+1],u[2]=X[z+2],h[0]=X[K],h[1]=X[K+1],h[2]=X[K+2],p[0]=X[Y],p[1]=X[Y+1],p[2]=X[Y+2];const e=A.addVec3(A.addVec3(A.mulVec3Scalar(u,c[0],w),A.mulVec3Scalar(h,c[1],g),E),A.mulVec3Scalar(p,c[2],T),b);x.worldNormal=A.normalizeVec3(A.transformVec3(O.worldNormalMatrix,e,D))}const q=U.uv;if(q){if(d[0]=q[2*M],d[1]=q[2*M+1],f[0]=q[2*F],f[1]=q[2*F+1],I[0]=q[2*H],I[1]=q[2*H+1],U.compressGeometry){const e=U.uvDecodeMatrix;e&&(Ft.decompressUV(d,e,d),Ft.decompressUV(f,e,f),Ft.decompressUV(I,e,I))}x.uv=A.addVec3(A.addVec3(A.mulVec2Scalar(d,c[0],P),A.mulVec2Scalar(f,c[1],R),C),A.mulVec2Scalar(I,c[2],_),B)}}}}}();function pi(e={}){let t=e.radiusTop||1;t<0&&(console.error("negative radiusTop not allowed - will invert"),t*=-1);let s=e.radiusBottom||1;s<0&&(console.error("negative radiusBottom not allowed - will invert"),s*=-1);let n=e.height||1;n<0&&(console.error("negative height not allowed - will invert"),n*=-1);let i=e.radialSegments||32;i<0&&(console.error("negative radialSegments not allowed - will invert"),i*=-1),i<3&&(i=3);let a=e.heightSegments||1;a<0&&(console.error("negative heightSegments not allowed - will invert"),a*=-1),a<1&&(a=1);const r=!!e.openEnded;let l=e.center;const o=l?l[0]:0,c=l?l[1]:0,u=l?l[2]:0,h=n/2,p=n/a,A=2*Math.PI/i,d=1/i,f=(t-s)/a,I=[],y=[],m=[],v=[];let w,E,T,b,D,P,R,C,_,B,O;const S=(90-180*Math.atan(n/(s-t))/Math.PI)/90;for(w=0;w<=a;w++)for(D=t-w*f,P=h-w*p,E=0;E<=i;E++)T=Math.sin(E*A),b=Math.cos(E*A),y.push(D*T),y.push(S),y.push(D*b),m.push(E*d),m.push(1*w/a),I.push(D*T+o),I.push(P+c),I.push(D*b+u);for(w=0;w0){for(_=I.length/3,y.push(0),y.push(1),y.push(0),m.push(.5),m.push(.5),I.push(0+o),I.push(h+c),I.push(0+u),E=0;E<=i;E++)T=Math.sin(E*A),b=Math.cos(E*A),B=.5*Math.sin(E*A)+.5,O=.5*Math.cos(E*A)+.5,y.push(t*T),y.push(1),y.push(t*b),m.push(B),m.push(O),I.push(t*T+o),I.push(h+c),I.push(t*b+u);for(E=0;E0){for(_=I.length/3,y.push(0),y.push(-1),y.push(0),m.push(.5),m.push(.5),I.push(0+o),I.push(0-h+c),I.push(0+u),E=0;E<=i;E++)T=Math.sin(E*A),b=Math.cos(E*A),B=.5*Math.sin(E*A)+.5,O=.5*Math.cos(E*A)+.5,y.push(s*T),y.push(-1),y.push(s*b),m.push(B),m.push(O),I.push(s*T+o),I.push(0-h+c),I.push(s*b+u);for(E=0;E":{width:24,points:[[4,18],[20,9],[4,0]]},"?":{width:18,points:[[3,16],[3,17],[4,19],[5,20],[7,21],[11,21],[13,20],[14,19],[15,17],[15,15],[14,13],[13,12],[9,10],[9,7],[-1,-1],[9,2],[8,1],[9,0],[10,1],[9,2]]},"@":{width:27,points:[[18,13],[17,15],[15,16],[12,16],[10,15],[9,14],[8,11],[8,8],[9,6],[11,5],[14,5],[16,6],[17,8],[-1,-1],[12,16],[10,14],[9,11],[9,8],[10,6],[11,5],[-1,-1],[18,16],[17,8],[17,6],[19,5],[21,5],[23,7],[24,10],[24,12],[23,15],[22,17],[20,19],[18,20],[15,21],[12,21],[9,20],[7,19],[5,17],[4,15],[3,12],[3,9],[4,6],[5,4],[7,2],[9,1],[12,0],[15,0],[18,1],[20,2],[21,3],[-1,-1],[19,16],[18,8],[18,6],[19,5]]},A:{width:18,points:[[9,21],[1,0],[-1,-1],[9,21],[17,0],[-1,-1],[4,7],[14,7]]},B:{width:21,points:[[4,21],[4,0],[-1,-1],[4,21],[13,21],[16,20],[17,19],[18,17],[18,15],[17,13],[16,12],[13,11],[-1,-1],[4,11],[13,11],[16,10],[17,9],[18,7],[18,4],[17,2],[16,1],[13,0],[4,0]]},C:{width:21,points:[[18,16],[17,18],[15,20],[13,21],[9,21],[7,20],[5,18],[4,16],[3,13],[3,8],[4,5],[5,3],[7,1],[9,0],[13,0],[15,1],[17,3],[18,5]]},D:{width:21,points:[[4,21],[4,0],[-1,-1],[4,21],[11,21],[14,20],[16,18],[17,16],[18,13],[18,8],[17,5],[16,3],[14,1],[11,0],[4,0]]},E:{width:19,points:[[4,21],[4,0],[-1,-1],[4,21],[17,21],[-1,-1],[4,11],[12,11],[-1,-1],[4,0],[17,0]]},F:{width:18,points:[[4,21],[4,0],[-1,-1],[4,21],[17,21],[-1,-1],[4,11],[12,11]]},G:{width:21,points:[[18,16],[17,18],[15,20],[13,21],[9,21],[7,20],[5,18],[4,16],[3,13],[3,8],[4,5],[5,3],[7,1],[9,0],[13,0],[15,1],[17,3],[18,5],[18,8],[-1,-1],[13,8],[18,8]]},H:{width:22,points:[[4,21],[4,0],[-1,-1],[18,21],[18,0],[-1,-1],[4,11],[18,11]]},I:{width:8,points:[[4,21],[4,0]]},J:{width:16,points:[[12,21],[12,5],[11,2],[10,1],[8,0],[6,0],[4,1],[3,2],[2,5],[2,7]]},K:{width:21,points:[[4,21],[4,0],[-1,-1],[18,21],[4,7],[-1,-1],[9,12],[18,0]]},L:{width:17,points:[[4,21],[4,0],[-1,-1],[4,0],[16,0]]},M:{width:24,points:[[4,21],[4,0],[-1,-1],[4,21],[12,0],[-1,-1],[20,21],[12,0],[-1,-1],[20,21],[20,0]]},N:{width:22,points:[[4,21],[4,0],[-1,-1],[4,21],[18,0],[-1,-1],[18,21],[18,0]]},O:{width:22,points:[[9,21],[7,20],[5,18],[4,16],[3,13],[3,8],[4,5],[5,3],[7,1],[9,0],[13,0],[15,1],[17,3],[18,5],[19,8],[19,13],[18,16],[17,18],[15,20],[13,21],[9,21]]},P:{width:21,points:[[4,21],[4,0],[-1,-1],[4,21],[13,21],[16,20],[17,19],[18,17],[18,14],[17,12],[16,11],[13,10],[4,10]]},Q:{width:22,points:[[9,21],[7,20],[5,18],[4,16],[3,13],[3,8],[4,5],[5,3],[7,1],[9,0],[13,0],[15,1],[17,3],[18,5],[19,8],[19,13],[18,16],[17,18],[15,20],[13,21],[9,21],[-1,-1],[12,4],[18,-2]]},R:{width:21,points:[[4,21],[4,0],[-1,-1],[4,21],[13,21],[16,20],[17,19],[18,17],[18,15],[17,13],[16,12],[13,11],[4,11],[-1,-1],[11,11],[18,0]]},S:{width:20,points:[[17,18],[15,20],[12,21],[8,21],[5,20],[3,18],[3,16],[4,14],[5,13],[7,12],[13,10],[15,9],[16,8],[17,6],[17,3],[15,1],[12,0],[8,0],[5,1],[3,3]]},T:{width:16,points:[[8,21],[8,0],[-1,-1],[1,21],[15,21]]},U:{width:22,points:[[4,21],[4,6],[5,3],[7,1],[10,0],[12,0],[15,1],[17,3],[18,6],[18,21]]},V:{width:18,points:[[1,21],[9,0],[-1,-1],[17,21],[9,0]]},W:{width:24,points:[[2,21],[7,0],[-1,-1],[12,21],[7,0],[-1,-1],[12,21],[17,0],[-1,-1],[22,21],[17,0]]},X:{width:20,points:[[3,21],[17,0],[-1,-1],[17,21],[3,0]]},Y:{width:18,points:[[1,21],[9,11],[9,0],[-1,-1],[17,21],[9,11]]},Z:{width:20,points:[[17,21],[3,0],[-1,-1],[3,21],[17,21],[-1,-1],[3,0],[17,0]]},"[":{width:14,points:[[4,25],[4,-7],[-1,-1],[5,25],[5,-7],[-1,-1],[4,25],[11,25],[-1,-1],[4,-7],[11,-7]]},"\\":{width:14,points:[[0,21],[14,-3]]},"]":{width:14,points:[[9,25],[9,-7],[-1,-1],[10,25],[10,-7],[-1,-1],[3,25],[10,25],[-1,-1],[3,-7],[10,-7]]},"^":{width:16,points:[[6,15],[8,18],[10,15],[-1,-1],[3,12],[8,17],[13,12],[-1,-1],[8,17],[8,0]]},_:{width:16,points:[[0,-2],[16,-2]]},"`":{width:10,points:[[6,21],[5,20],[4,18],[4,16],[5,15],[6,16],[5,17]]},a:{width:19,points:[[15,14],[15,0],[-1,-1],[15,11],[13,13],[11,14],[8,14],[6,13],[4,11],[3,8],[3,6],[4,3],[6,1],[8,0],[11,0],[13,1],[15,3]]},b:{width:19,points:[[4,21],[4,0],[-1,-1],[4,11],[6,13],[8,14],[11,14],[13,13],[15,11],[16,8],[16,6],[15,3],[13,1],[11,0],[8,0],[6,1],[4,3]]},c:{width:18,points:[[15,11],[13,13],[11,14],[8,14],[6,13],[4,11],[3,8],[3,6],[4,3],[6,1],[8,0],[11,0],[13,1],[15,3]]},d:{width:19,points:[[15,21],[15,0],[-1,-1],[15,11],[13,13],[11,14],[8,14],[6,13],[4,11],[3,8],[3,6],[4,3],[6,1],[8,0],[11,0],[13,1],[15,3]]},e:{width:18,points:[[3,8],[15,8],[15,10],[14,12],[13,13],[11,14],[8,14],[6,13],[4,11],[3,8],[3,6],[4,3],[6,1],[8,0],[11,0],[13,1],[15,3]]},f:{width:12,points:[[10,21],[8,21],[6,20],[5,17],[5,0],[-1,-1],[2,14],[9,14]]},g:{width:19,points:[[15,14],[15,-2],[14,-5],[13,-6],[11,-7],[8,-7],[6,-6],[-1,-1],[15,11],[13,13],[11,14],[8,14],[6,13],[4,11],[3,8],[3,6],[4,3],[6,1],[8,0],[11,0],[13,1],[15,3]]},h:{width:19,points:[[4,21],[4,0],[-1,-1],[4,10],[7,13],[9,14],[12,14],[14,13],[15,10],[15,0]]},i:{width:8,points:[[3,21],[4,20],[5,21],[4,22],[3,21],[-1,-1],[4,14],[4,0]]},j:{width:10,points:[[5,21],[6,20],[7,21],[6,22],[5,21],[-1,-1],[6,14],[6,-3],[5,-6],[3,-7],[1,-7]]},k:{width:17,points:[[4,21],[4,0],[-1,-1],[14,14],[4,4],[-1,-1],[8,8],[15,0]]},l:{width:8,points:[[4,21],[4,0]]},m:{width:30,points:[[4,14],[4,0],[-1,-1],[4,10],[7,13],[9,14],[12,14],[14,13],[15,10],[15,0],[-1,-1],[15,10],[18,13],[20,14],[23,14],[25,13],[26,10],[26,0]]},n:{width:19,points:[[4,14],[4,0],[-1,-1],[4,10],[7,13],[9,14],[12,14],[14,13],[15,10],[15,0]]},o:{width:19,points:[[8,14],[6,13],[4,11],[3,8],[3,6],[4,3],[6,1],[8,0],[11,0],[13,1],[15,3],[16,6],[16,8],[15,11],[13,13],[11,14],[8,14]]},p:{width:19,points:[[4,14],[4,-7],[-1,-1],[4,11],[6,13],[8,14],[11,14],[13,13],[15,11],[16,8],[16,6],[15,3],[13,1],[11,0],[8,0],[6,1],[4,3]]},q:{width:19,points:[[15,14],[15,-7],[-1,-1],[15,11],[13,13],[11,14],[8,14],[6,13],[4,11],[3,8],[3,6],[4,3],[6,1],[8,0],[11,0],[13,1],[15,3]]},r:{width:13,points:[[4,14],[4,0],[-1,-1],[4,8],[5,11],[7,13],[9,14],[12,14]]},s:{width:17,points:[[14,11],[13,13],[10,14],[7,14],[4,13],[3,11],[4,9],[6,8],[11,7],[13,6],[14,4],[14,3],[13,1],[10,0],[7,0],[4,1],[3,3]]},t:{width:12,points:[[5,21],[5,4],[6,1],[8,0],[10,0],[-1,-1],[2,14],[9,14]]},u:{width:19,points:[[4,14],[4,4],[5,1],[7,0],[10,0],[12,1],[15,4],[-1,-1],[15,14],[15,0]]},v:{width:16,points:[[2,14],[8,0],[-1,-1],[14,14],[8,0]]},w:{width:22,points:[[3,14],[7,0],[-1,-1],[11,14],[7,0],[-1,-1],[11,14],[15,0],[-1,-1],[19,14],[15,0]]},x:{width:17,points:[[3,14],[14,0],[-1,-1],[14,14],[3,0]]},y:{width:16,points:[[2,14],[8,0],[-1,-1],[14,14],[8,0],[6,-4],[4,-6],[2,-7],[1,-7]]},z:{width:17,points:[[14,14],[3,0],[-1,-1],[3,14],[14,14],[-1,-1],[3,0],[14,0]]},"{":{width:14,points:[[9,25],[7,24],[6,23],[5,21],[5,19],[6,17],[7,16],[8,14],[8,12],[6,10],[-1,-1],[7,24],[6,22],[6,20],[7,18],[8,17],[9,15],[9,13],[8,11],[4,9],[8,7],[9,5],[9,3],[8,1],[7,0],[6,-2],[6,-4],[7,-6],[-1,-1],[6,8],[8,6],[8,4],[7,2],[6,1],[5,-1],[5,-3],[6,-5],[7,-6],[9,-7]]},"|":{width:8,points:[[4,25],[4,-7]]},"}":{width:14,points:[[5,25],[7,24],[8,23],[9,21],[9,19],[8,17],[7,16],[6,14],[6,12],[8,10],[-1,-1],[7,24],[8,22],[8,20],[7,18],[6,17],[5,15],[5,13],[6,11],[10,9],[6,7],[5,5],[5,3],[6,1],[7,0],[8,-2],[8,-4],[7,-6],[-1,-1],[8,8],[6,6],[6,4],[7,2],[8,1],[9,-1],[9,-3],[8,-5],[7,-6],[5,-7]]},"~":{width:24,points:[[3,6],[3,8],[4,11],[6,12],[8,12],[10,11],[14,8],[16,7],[18,7],[20,8],[21,10],[-1,-1],[3,8],[4,10],[6,11],[8,11],[10,10],[14,7],[16,6],[18,6],[20,7],[21,10],[21,12]]}};function fi(e={}){var t=e.origin||[0,0,0],s=t[0],n=t[1],i=t[2],a=e.size||1,r=[],l=[],o=e.text;g.isNumeric(o)&&(o=""+o);for(var c,u,h,p,A,d,f,I,y,m=(o||"").split("\n"),v=0,w=0,E=.04,T=0;T0!==e))&&this.scene._objectOffsetUpdated(this,!1)),this._isModel&&this.scene._deregisterModel(this),this._children.length){const e=this._children.splice();let t;for(let s=0,n=e.length;s1;s.pixelStorei(s.UNPACK_FLIP_Y_WEBGL,this.flipY),s.pixelStorei(s.UNPACK_PREMULTIPLY_ALPHA_WEBGL,this.premultiplyAlpha),s.pixelStorei(s.UNPACK_ALIGNMENT,this.unpackAlignment),s.pixelStorei(s.UNPACK_COLORSPACE_CONVERSION_WEBGL,s.NONE);const a=Li(s,this.wrapS);a&&s.texParameteri(this.target,s.TEXTURE_WRAP_S,a);const r=Li(s,this.wrapT);if(r&&s.texParameteri(this.target,s.TEXTURE_WRAP_T,r),this.type===s.TEXTURE_3D||this.type===s.TEXTURE_2D_ARRAY){const e=Li(s,this.wrapR);e&&s.texParameteri(this.target,s.TEXTURE_WRAP_R,e),s.texParameteri(this.type,s.TEXTURE_WRAP_R,e)}i?(s.texParameteri(this.target,s.TEXTURE_MIN_FILTER,Ui(s,this.minFilter)),s.texParameteri(this.target,s.TEXTURE_MAG_FILTER,Ui(s,this.magFilter))):(s.texParameteri(this.target,s.TEXTURE_MIN_FILTER,Li(s,this.minFilter)),s.texParameteri(this.target,s.TEXTURE_MAG_FILTER,Li(s,this.magFilter)));const l=Li(s,this.format,this.encoding),o=Li(s,this.type),c=Hi(s,this.internalFormat,l,o,this.encoding,!1);s.texStorage2D(s.TEXTURE_2D,n,c,e[0].width,e[0].height);for(let t=0,n=e.length;t>t;return e+1}class ki extends S{get type(){return"Texture"}constructor(e,t={}){super(e,t),this._state=new it({texture:new Fi({gl:this.scene.canvas.gl}),matrix:A.identityMat4(),hasMatrix:t.translate&&(0!==t.translate[0]||0!==t.translate[1])||!!t.rotate||t.scale&&(0!==t.scale[0]||0!==t.scale[1]),minFilter:this._checkMinFilter(t.minFilter),magFilter:this._checkMagFilter(t.magFilter),wrapS:this._checkWrapS(t.wrapS),wrapT:this._checkWrapT(t.wrapT),flipY:this._checkFlipY(t.flipY),encoding:this._checkEncoding(t.encoding)}),this._src=null,this._image=null,this._translate=A.vec2([0,0]),this._scale=A.vec2([1,1]),this._rotate=A.vec2([0,0]),this._matrixDirty=!1,this.translate=t.translate,this.scale=t.scale,this.rotate=t.rotate,t.src?this.src=t.src:t.image&&(this.image=t.image),y.memory.textures++}_checkMinFilter(e){return 1006!==(e=e||1008)&&1007!==e&&1008!==e&&1005!==e&&1004!==e&&(this.error("Unsupported value for 'minFilter' - supported values are LinearFilter, LinearMipMapNearestFilter, NearestMipMapNearestFilter, NearestMipMapLinearFilter and LinearMipMapLinearFilter. Defaulting to LinearMipMapLinearFilter."),e=1008),e}_checkMagFilter(e){return 1006!==(e=e||1006)&&1003!==e&&(this.error("Unsupported value for 'magFilter' - supported values are LinearFilter and NearestFilter. Defaulting to LinearFilter."),e=1006),e}_checkWrapS(e){return 1001!==(e=e||1e3)&&1002!==e&&1e3!==e&&(this.error("Unsupported value for 'wrapS' - supported values are ClampToEdgeWrapping, MirroredRepeatWrapping and RepeatWrapping. Defaulting to RepeatWrapping."),e=1e3),e}_checkWrapT(e){return 1001!==(e=e||1e3)&&1002!==e&&1e3!==e&&(this.error("Unsupported value for 'wrapT' - supported values are ClampToEdgeWrapping, MirroredRepeatWrapping and RepeatWrapping. Defaulting to RepeatWrapping."),e=1e3),e}_checkFlipY(e){return!!e}_checkEncoding(e){return 3e3!==(e=e||3e3)&&3001!==e&&(this.error("Unsupported value for 'encoding' - supported values are LinearEncoding and sRGBEncoding. Defaulting to LinearEncoding."),e=3e3),e}_webglContextRestored(){this._state.texture=new Fi({gl:this.scene.canvas.gl}),this._image?this.image=this._image:this._src&&(this.src=this._src)}_update(){const e=this._state;if(this._matrixDirty){let t,s;0===this._translate[0]&&0===this._translate[1]||(t=A.translationMat4v([this._translate[0],this._translate[1],0],this._state.matrix)),1===this._scale[0]&&1===this._scale[1]||(s=A.scalingMat4v([this._scale[0],this._scale[1],1]),t=t?A.mulMat4(t,s):s),0!==this._rotate&&(s=A.rotationMat4v(.0174532925*this._rotate,[0,0,1]),t=t?A.mulMat4(t,s):s),t&&(e.matrix=t),this._matrixDirty=!1}this.glRedraw()}set image(e){this._image=Gi(e),this._image.crossOrigin="Anonymous",this._state.texture.setImage(this._image,this._state),this._src=null,this.glRedraw()}get image(){return this._image}set src(e){this.scene.loading++,this.scene.canvas.spinner.processes++;const t=this;let s=new Image;s.onload=function(){s=Gi(s),t._state.texture.setImage(s,t._state),t.scene.loading--,t.glRedraw(),t.scene.canvas.spinner.processes--},s.src=e,this._src=e,this._image=null}get src(){return this._src}set translate(e){this._translate.set(e||[0,0]),this._matrixDirty=!0,this._needUpdate()}get translate(){return this._translate}set scale(e){this._scale.set(e||[1,1]),this._matrixDirty=!0,this._needUpdate()}get scale(){return this._scale}set rotate(e){e=e||0,this._rotate!==e&&(this._rotate=e,this._matrixDirty=!0,this._needUpdate())}get rotate(){return this._rotate}get minFilter(){return this._state.minFilter}get magFilter(){return this._state.magFilter}get wrapS(){return this._state.wrapS}get wrapT(){return this._state.wrapT}get flipY(){return this._state.flipY}get encoding(){return this._state.encoding}destroy(){super.destroy(),this._state.texture&&this._state.texture.destroy(),this._state.destroy(),y.memory.textures--}}class Qi extends S{get type(){return"Fresnel"}constructor(e,t={}){super(e,t),this._state=new it({edgeColor:A.vec3([0,0,0]),centerColor:A.vec3([1,1,1]),edgeBias:0,centerBias:1,power:1}),this.edgeColor=t.edgeColor,this.centerColor=t.centerColor,this.edgeBias=t.edgeBias,this.centerBias=t.centerBias,this.power=t.power}set edgeColor(e){this._state.edgeColor.set(e||[0,0,0]),this.glRedraw()}get edgeColor(){return this._state.edgeColor}set centerColor(e){this._state.centerColor.set(e||[1,1,1]),this.glRedraw()}get centerColor(){return this._state.centerColor}set edgeBias(e){this._state.edgeBias=e||0,this.glRedraw()}get edgeBias(){return this._state.edgeBias}set centerBias(e){this._state.centerBias=null!=e?e:1,this.glRedraw()}get centerBias(){return this._state.centerBias}set power(e){this._state.power=null!=e?e:1,this.glRedraw()}get power(){return this._state.power}destroy(){super.destroy(),this._state.destroy()}}const Wi=y.memory,zi=A.AABB3();class Ki extends _t{get type(){return"VBOGeometry"}get isVBOGeometry(){return!0}constructor(e,t={}){super(e,t),this._state=new it({compressGeometry:!0,primitive:null,primitiveName:null,positionsDecodeMatrix:null,uvDecodeMatrix:null,positionsBuf:null,normalsBuf:null,colorsbuf:null,uvBuf:null,indicesBuf:null,hash:""}),this._numTriangles=0,this._edgeThreshold=t.edgeThreshold||10,this._aabb=null,this._obb=A.OBB3();const s=this._state,n=this.scene.canvas.gl;switch(t.primitive=t.primitive||"triangles",t.primitive){case"points":s.primitive=n.POINTS,s.primitiveName=t.primitive;break;case"lines":s.primitive=n.LINES,s.primitiveName=t.primitive;break;case"line-loop":s.primitive=n.LINE_LOOP,s.primitiveName=t.primitive;break;case"line-strip":s.primitive=n.LINE_STRIP,s.primitiveName=t.primitive;break;case"triangles":s.primitive=n.TRIANGLES,s.primitiveName=t.primitive;break;case"triangle-strip":s.primitive=n.TRIANGLE_STRIP,s.primitiveName=t.primitive;break;case"triangle-fan":s.primitive=n.TRIANGLE_FAN,s.primitiveName=t.primitive;break;default:this.error("Unsupported value for 'primitive': '"+t.primitive+"' - supported values are 'points', 'lines', 'line-loop', 'line-strip', 'triangles', 'triangle-strip' and 'triangle-fan'. Defaulting to 'triangles'."),s.primitive=n.TRIANGLES,s.primitiveName=t.primitive}if(t.positions)if(t.indices){var i;if(t.positionsDecodeMatrix);else{const e=Ft.getPositionsBounds(t.positions),a=Ft.compressPositions(t.positions,e.min,e.max);i=a.quantized,s.positionsDecodeMatrix=a.decodeMatrix,s.positionsBuf=new He(n,n.ARRAY_BUFFER,i,i.length,3,n.STATIC_DRAW),Wi.positions+=s.positionsBuf.numItems,A.positions3ToAABB3(t.positions,this._aabb),A.positions3ToAABB3(i,zi,s.positionsDecodeMatrix),A.AABB3ToOBB3(zi,this._obb)}if(t.colors){const e=t.colors.constructor===Float32Array?t.colors:new Float32Array(t.colors);s.colorsBuf=new He(n,n.ARRAY_BUFFER,e,e.length,4,n.STATIC_DRAW),Wi.colors+=s.colorsBuf.numItems}if(t.uv){const e=Ft.getUVBounds(t.uv),i=Ft.compressUVs(t.uv,e.min,e.max),a=i.quantized;s.uvDecodeMatrix=i.decodeMatrix,s.uvBuf=new He(n,n.ARRAY_BUFFER,a,a.length,2,n.STATIC_DRAW),Wi.uvs+=s.uvBuf.numItems}if(t.normals){const e=Ft.compressNormals(t.normals);let i=s.compressGeometry;s.normalsBuf=new He(n,n.ARRAY_BUFFER,e,e.length,3,n.STATIC_DRAW,i),Wi.normals+=s.normalsBuf.numItems}{const e=t.indices.constructor===Uint32Array||t.indices.constructor===Uint16Array?t.indices:new Uint32Array(t.indices);s.indicesBuf=new He(n,n.ELEMENT_ARRAY_BUFFER,e,e.length,1,n.STATIC_DRAW),Wi.indices+=s.indicesBuf.numItems;const a=Bt(i,e,s.positionsDecodeMatrix,this._edgeThreshold);this._edgeIndicesBuf=new He(n,n.ELEMENT_ARRAY_BUFFER,a,a.length,1,n.STATIC_DRAW),"triangles"===this._state.primitiveName&&(this._numTriangles=t.indices.length/3)}this._buildHash(),Wi.meshes++}else this.error("Config expected: indices");else this.error("Config expected: positions")}_buildHash(){const e=this._state,t=["/g"];t.push("/"+e.primitive+";"),e.positionsBuf&&t.push("p"),e.colorsBuf&&t.push("c"),(e.normalsBuf||e.autoVertexNormals)&&t.push("n"),e.uvBuf&&t.push("u"),t.push("cp"),t.push(";"),e.hash=t.join("")}_getEdgeIndices(){return this._edgeIndicesBuf}get primitive(){return this._state.primitiveName}get aabb(){return this._aabb}get obb(){return this._obb}get numTriangles(){return this._numTriangles}_getState(){return this._state}destroy(){super.destroy();const e=this._state;e.indicesBuf&&e.indicesBuf.destroy(),e.positionsBuf&&e.positionsBuf.destroy(),e.normalsBuf&&e.normalsBuf.destroy(),e.uvBuf&&e.uvBuf.destroy(),e.colorsBuf&&e.colorsBuf.destroy(),this._edgeIndicesBuf&&this._edgeIndicesBuf.destroy(),e.destroy(),Wi.meshes--}}var Yi={};function Xi(e,t={}){return new Promise((function(s,n){t.src||(console.error("load3DSGeometry: Parameter expected: src"),n());var i=e.canvas.spinner;i.processes++,g.loadArraybuffer(t.src,(function(e){e.byteLength||(console.error("load3DSGeometry: no data loaded"),i.processes--,n());var a=Yi.parse.from3DS(e).edit.objects[0].mesh,r=a.vertices,l=a.uvt,o=a.indices;i.processes--,s(g.apply(t,{primitive:"triangles",positions:r,normals:null,uv:l,indices:o}))}),(function(e){console.error("load3DSGeometry: "+e),i.processes--,n()}))}))}function qi(e,t={}){return new Promise((function(s,n){t.src||(console.error("loadOBJGeometry: Parameter expected: src"),n());var i=e.canvas.spinner;i.processes++,g.loadArraybuffer(t.src,(function(e){e.byteLength||(console.error("loadOBJGeometry: no data loaded"),i.processes--,n());for(var a=Yi.parse.fromOBJ(e),r=Yi.edit.unwrap(a.i_verts,a.c_verts,3),l=Yi.edit.unwrap(a.i_norms,a.c_norms,3),o=Yi.edit.unwrap(a.i_uvt,a.c_uvt,2),c=new Int32Array(a.i_verts.length),u=0;u0?l:null,autoNormals:0===l.length,uv:o,indices:c}))}),(function(e){console.error("loadOBJGeometry: "+e),i.processes--,n()}))}))}function Ji(e={}){let t=e.xSize||1;t<0&&(console.error("negative xSize not allowed - will invert"),t*=-1);let s=e.ySize||1;s<0&&(console.error("negative ySize not allowed - will invert"),s*=-1);let n=e.zSize||1;n<0&&(console.error("negative zSize not allowed - will invert"),n*=-1);const i=e.center,a=i?i[0]:0,r=i?i[1]:0,l=i?i[2]:0,o=-t+a,c=-s+r,u=-n+l,h=t+a,p=s+r,A=n+l;return g.apply(e,{primitive:"lines",positions:[o,c,u,o,c,A,o,p,u,o,p,A,h,c,u,h,c,A,h,p,u,h,p,A],indices:[0,1,1,3,3,2,2,0,4,5,5,7,7,6,6,4,0,4,1,5,2,6,3,7]})}function Zi(e={}){let t=e.size||1;t<0&&(console.error("negative size not allowed - will invert"),t*=-1);let s=e.divisions||1;s<0&&(console.error("negative divisions not allowed - will invert"),s*=-1),s<1&&(s=1),t=t||10,s=s||10;const n=t/s,i=t/2,a=[],r=[];let l=0;for(let e=0,t=-i;e<=s;e++,t+=n)a.push(-i),a.push(0),a.push(t),a.push(i),a.push(0),a.push(t),a.push(t),a.push(0),a.push(-i),a.push(t),a.push(0),a.push(i),r.push(l++),r.push(l++),r.push(l++),r.push(l++);return g.apply(e,{primitive:"lines",positions:a,indices:r})}function $i(e={}){let t=e.xSize||1;t<0&&(console.error("negative xSize not allowed - will invert"),t*=-1);let s=e.zSize||1;s<0&&(console.error("negative zSize not allowed - will invert"),s*=-1);let n=e.xSegments||1;n<0&&(console.error("negative xSegments not allowed - will invert"),n*=-1),n<1&&(n=1);let i=e.xSegments||1;i<0&&(console.error("negative zSegments not allowed - will invert"),i*=-1),i<1&&(i=1);const a=e.center,r=a?a[0]:0,l=a?a[1]:0,o=a?a[2]:0,c=t/2,u=s/2,h=Math.floor(n)||1,p=Math.floor(i)||1,A=h+1,d=p+1,f=t/h,I=s/p,y=new Float32Array(A*d*3),m=new Float32Array(A*d*3),v=new Float32Array(A*d*2);let w,E,T,b,D,P,R,C=0,_=0;for(w=0;w65535?Uint32Array:Uint16Array)(h*p*6);for(w=0;w360&&(a=360);const r=e.center;let l=r?r[0]:0,o=r?r[1]:0;const c=r?r[2]:0,u=[],h=[],p=[],d=[];let f,I,y,m,v,w,E,T,b,D,P,R;for(T=0;T<=i;T++)for(E=0;E<=n;E++)f=E/n*a,I=.785398+T/i*Math.PI*2,l=t*Math.cos(f),o=t*Math.sin(f),y=(t+s*Math.cos(I))*Math.cos(f),m=(t+s*Math.cos(I))*Math.sin(f),v=s*Math.sin(I),u.push(y+l),u.push(m+o),u.push(v+c),p.push(1-E/n),p.push(T/i),w=A.normalizeVec3(A.subVec3([y,m,v],[l,o,c],[]),[]),h.push(w[0]),h.push(w[1]),h.push(w[2]);for(T=1;T<=i;T++)for(E=1;E<=n;E++)b=(n+1)*T+E-1,D=(n+1)*(T-1)+E-1,P=(n+1)*(T-1)+E,R=(n+1)*T+E,d.push(b),d.push(D),d.push(P),d.push(P),d.push(R),d.push(b);return g.apply(e,{positions:u,normals:h,uv:p,indices:d})}Yi.load=function(e,t){var s=new XMLHttpRequest;s.open("GET",e,!0),s.responseType="arraybuffer",s.onload=function(e){t(e.target.response)},s.send()},Yi.save=function(e,t){var s="data:application/octet-stream;base64,"+btoa(Yi.parse._buffToStr(e));window.location.href=s},Yi.clone=function(e){return JSON.parse(JSON.stringify(e))},Yi.bin={},Yi.bin.f=new Float32Array(1),Yi.bin.fb=new Uint8Array(Yi.bin.f.buffer),Yi.bin.rf=function(e,t){for(var s=Yi.bin.f,n=Yi.bin.fb,i=0;i<4;i++)n[i]=e[t+i];return s[0]},Yi.bin.rsl=function(e,t){return e[t]|e[t+1]<<8},Yi.bin.ril=function(e,t){return e[t]|e[t+1]<<8|e[t+2]<<16|e[t+3]<<24},Yi.bin.rASCII0=function(e,t){for(var s="";0!=e[t];)s+=String.fromCharCode(e[t++]);return s},Yi.bin.wf=function(e,t,s){new Float32Array(e.buffer,t,1)[0]=s},Yi.bin.wsl=function(e,t,s){e[t]=s,e[t+1]=s>>8},Yi.bin.wil=function(e,t,s){e[t]=s,e[t+1]=s>>8,e[t+2]=s>>16,e[t+3]},Yi.parse={},Yi.parse._buffToStr=function(e){for(var t=new Uint8Array(e),s="",n=0;ni&&(i=o),ca&&(a=c),ur&&(r=u)}return{min:{x:t,y:s,z:n},max:{x:i,y:a,z:r}}};class ta extends S{constructor(e,t={}){super(e,t),this._type=t.type||(t.src?t.src.split(".").pop():null)||"jpg",this._pos=A.vec3(t.pos||[0,0,0]),this._up=A.vec3(t.up||[0,1,0]),this._normal=A.vec3(t.normal||[0,0,1]),this._height=t.height||1,this._origin=A.vec3(),this._rtcPos=A.vec3(),this._imageSize=A.vec2(),this._texture=new ki(this,{flipY:!0}),this._image=new Image,"jpg"!==this._type&&"png"!==this._type&&(this.error('Unsupported type - defaulting to "jpg"'),this._type="jpg"),this._node=new Ri(this,{matrix:A.inverseMat4(A.lookAtMat4v(this._pos,A.subVec3(this._pos,this._normal,A.mat4()),this._up,A.mat4())),children:[this._bitmapMesh=new ui(this,{scale:[1,1,1],rotation:[-90,0,0],collidable:t.collidable,pickable:t.pickable,opacity:t.opacity,clippable:t.clippable,geometry:new Gt(this,$i({center:[0,0,0],xSize:1,zSize:1,xSegments:2,zSegments:2})),material:new Wt(this,{diffuse:[0,0,0],ambient:[0,0,0],specular:[0,0,0],diffuseMap:this._texture,emissiveMap:this._texture,backfaces:!0})})]}),t.image?this.image=t.image:t.src?this.src=t.src:t.imageData&&(this.imageData=t.imageData),this.scene._bitmapCreated(this)}set visible(e){this._bitmapMesh.visible=e}get visible(){return this._bitmapMesh.visible}set image(e){this._image=e,this._image&&(this._texture.image=this._image,this._imageSize[0]=this._image.width,this._imageSize[1]=this._image.height,this._updateBitmapMeshScale())}get image(){return this._image}set src(e){if(e){this._image.onload=()=>{this._texture.image=this._image,this._imageSize[0]=this._image.width,this._imageSize[1]=this._image.height,this._updateBitmapMeshScale()},this._image.src=e;switch(e.split(".").pop()){case"jpeg":case"jpg":this._type="jpg";break;case"png":this._type="png"}}}get src(){return this._image.src}set imageData(e){this._image.onload=()=>{this._texture.image=image,this._imageSize[0]=image.width,this._imageSize[1]=image.height,this._updateBitmapMeshScale()},this._image.src=e}get imageData(){const e=document.createElement("canvas"),t=e.getContext("2d");return e.width=this._image.width,e.height=this._image.height,t.drawImage(this._image,0,0),e.toDataURL("jpg"===this._type?"image/jpeg":"image/png")}set type(e){"png"===(e=e||"jpg")&&"jpg"===e||(this.error("Unsupported value for `type` - supported types are `jpg` and `png` - defaulting to `jpg`"),e="jpg"),this._type=e}get type(){return this._type}get pos(){return this._pos}get normal(){return this._normal}get up(){return this._up}set height(e){this._height=null==e?1:e,this._image&&this._updateBitmapMeshScale()}get height(){return this._height}set collidable(e){this._bitmapMesh.collidable=!1!==e}get collidable(){return this._bitmapMesh.collidable}set clippable(e){this._bitmapMesh.clippable=!1!==e}get clippable(){return this._bitmapMesh.clippable}set pickable(e){this._bitmapMesh.pickable=!1!==e}get pickable(){return this._bitmapMesh.pickable}set opacity(e){this._bitmapMesh.opacity=e}get opacity(){return this._bitmapMesh.opacity}destroy(){super.destroy(),this.scene._bitmapDestroyed(this)}_updateBitmapMeshScale(){const e=this._imageSize[1]/this._imageSize[0];this._bitmapMesh.scale=[this._height*e,1,this._height]}}class sa extends S{constructor(e,t={}){super(e,t),this._positions=t.positions||[];const s=new Float32Array(this._positions.length),n=A.vec3(),i=z(this._positions,new Float32Array(this._positions.length),n,100);if(t.indices)this._indices=t.indices;else{this._indices=[];for(let e=0,t=this._positions.length/3-1;ed.has(e.id)||I.has(e.id)||f.has(e.id))).reduce(((e,s)=>{let n,i=function(e){let t="";return t+=Math.round(255*e[0]).toString(16).padStart(2,"0"),t+=Math.round(255*e[1]).toString(16).padStart(2,"0"),t+=Math.round(255*e[2]).toString(16).padStart(2,"0"),t}(s.colorize);s.xrayed?(n=0===t.xrayMaterial.fillAlpha&&0!==t.xrayMaterial.edgeAlpha?.1:t.xrayMaterial.fillAlpha,n=Math.round(255*n).toString(16).padStart(2,"0"),i=n+i):d.has(s.id)&&(n=Math.round(255*s.opacity).toString(16).padStart(2,"0"),i=n+i),e[i]||(e[i]=[]);const a=s.id,r=s.originalSystemId,l={ifc_guid:r,originating_system:this.originatingSystem};return r!==a&&(l.authoring_tool_id=a),e[i].push(l),e}),{}),m=Object.entries(y).map((([e,t])=>({color:e,components:t})));a.components.coloring=m;const v=t.objectIds,w=t.visibleObjects,g=t.visibleObjectIds,E=v.filter((e=>!w[e])),T=t.selectedObjectIds;return e.defaultInvisible||g.length0&&e.clipping_planes.forEach((function(e){let t=ca(e.location,na),s=ca(e.direction,na);c&&A.negateVec3(s),A.subVec3(t,o),i.yUp&&(t=ha(t),s=ha(s)),new yi(n,{pos:t,dir:s})})),n.clearLines(),e.lines&&e.lines.length>0){const t=[],s=[];let i=0;e.lines.forEach((e=>{e.start_point&&e.end_point&&(t.push(e.start_point.x),t.push(e.start_point.y),t.push(e.start_point.z),t.push(e.end_point.x),t.push(e.end_point.y),t.push(e.end_point.z),s.push(i++),s.push(i++))})),new sa(n,{positions:t,indices:s,clippable:!1,collidable:!0})}if(n.clearBitmaps(),e.bitmaps&&e.bitmaps.length>0&&e.bitmaps.forEach((function(e){const t=e.bitmap_type||"jpg",s=e.bitmap_data;let a=ca(e.location,ia),r=ca(e.normal,aa),l=ca(e.up,ra),o=e.height||1;t&&s&&a&&r&&l&&(i.yUp&&(a=ha(a),r=ha(r),l=ha(l)),new ta(n,{src:s,type:t,pos:a,normal:r,up:l,clippable:!1,collidable:!0,height:o}))})),l&&(n.setObjectsXRayed(n.xrayedObjectIds,!1),n.setObjectsHighlighted(n.highlightedObjectIds,!1),n.setObjectsSelected(n.selectedObjectIds,!1)),e.components){if(e.components.visibility){e.components.visibility.default_visibility?(n.setObjectsVisible(n.objectIds,!0),e.components.visibility.exceptions&&e.components.visibility.exceptions.forEach((e=>this._withBCFComponent(t,e,(e=>e.visible=!1))))):(n.setObjectsVisible(n.objectIds,!1),e.components.visibility.exceptions&&e.components.visibility.exceptions.forEach((e=>this._withBCFComponent(t,e,(e=>e.visible=!0)))));const i=e.components.visibility.view_setup_hints;i&&(!1===i.spaces_visible&&n.setObjectsVisible(s.metaScene.getObjectIDsByType("IfcSpace"),!0),void 0!==i.spaces_translucent&&n.setObjectsXRayed(s.metaScene.getObjectIDsByType("IfcSpace"),!0),i.space_boundaries_visible,!1===i.openings_visible&&n.setObjectsVisible(s.metaScene.getObjectIDsByType("IfcOpening"),!0),i.space_boundaries_translucent,void 0!==i.openings_translucent&&n.setObjectsXRayed(s.metaScene.getObjectIDsByType("IfcOpening"),!0))}e.components.selection&&(n.setObjectsSelected(n.selectedObjectIds,!1),e.components.selection.forEach((e=>this._withBCFComponent(t,e,(e=>e.selected=!0))))),e.components.translucency&&(n.setObjectsXRayed(n.xrayedObjectIds,!1),e.components.translucency.forEach((e=>this._withBCFComponent(t,e,(e=>e.xrayed=!0))))),e.components.coloring&&e.components.coloring.forEach((e=>{let s=e.color,n=0,i=!1;8===s.length&&(n=parseInt(s.substring(0,2),16)/256,n<=1&&n>=.95&&(n=1),s=s.substring(2),i=!0);const a=[parseInt(s.substring(0,2),16)/256,parseInt(s.substring(2,4),16)/256,parseInt(s.substring(4,6),16)/256];e.components.map((e=>this._withBCFComponent(t,e,(e=>{e.colorize=a,i&&(e.opacity=n)}))))}))}if(e.perspective_camera||e.orthogonal_camera){let l,c,u,h;if(e.perspective_camera?(l=ca(e.perspective_camera.camera_view_point,na),c=ca(e.perspective_camera.camera_direction,na),u=ca(e.perspective_camera.camera_up_vector,na),i.perspective.fov=e.perspective_camera.field_of_view,h="perspective"):(l=ca(e.orthogonal_camera.camera_view_point,na),c=ca(e.orthogonal_camera.camera_direction,na),u=ca(e.orthogonal_camera.camera_up_vector,na),i.ortho.scale=e.orthogonal_camera.view_to_world_scale,h="ortho"),A.subVec3(l,o),i.yUp&&(l=ha(l),c=ha(c),u=ha(u)),a){const e=n.pick({pickSurface:!0,origin:l,direction:c});c=e?e.worldPos:A.addVec3(l,c,na)}else c=A.addVec3(l,c,na);r?(i.eye=l,i.look=c,i.up=u,i.projection=h):s.cameraFlight.flyTo({eye:l,look:c,up:u,duration:t.duration,projection:h})}}_withBCFComponent(e,t,s){const n=this.viewer,i=n.scene;if(t.authoring_tool_id&&t.originating_system===this.originatingSystem){const a=t.authoring_tool_id,r=i.objects[a];if(r)return void s(r);if(e.updateCompositeObjects){if(n.metaScene.metaObjects[a])return void i.withObjects(n.metaScene.getObjectIDsInSubtree(a),s)}}if(t.ifc_guid){const a=t.ifc_guid,r=i.objects[a];if(r)return void s(r);if(e.updateCompositeObjects){if(n.metaScene.metaObjects[a])return void i.withObjects(n.metaScene.getObjectIDsInSubtree(a),s)}Object.keys(i.models).forEach((t=>{const r=A.globalizeObjectId(t,a),l=i.objects[r];if(l)s(l);else if(e.updateCompositeObjects){n.metaScene.metaObjects[r]&&i.withObjects(n.metaScene.getObjectIDsInSubtree(r),s)}}))}}destroy(){super.destroy()}}function oa(e){return{x:e[0],y:e[1],z:e[2]}}function ca(e,t){return(t=new Float64Array(3))[0]=e.x,t[1]=e.y,t[2]=e.z,t}function ua(e){return new Float64Array([e[0],-e[2],e[1]])}function ha(e){return new Float64Array([e[0],e[2],-e[1]])}const pa=A.vec3(),Aa=(e,t,s,n)=>{var i=e-s,a=t-n;return Math.sqrt(i*i+a*a)};class da extends S{constructor(e,t={}){if(super(e.viewer.scene,t),this.plugin=e,this._container=t.container,!this._container)throw"config missing: container";this._eventSubs={};var s=this.plugin.viewer.scene;this._originMarker=new ce(s,t.origin),this._targetMarker=new ce(s,t.target),this._originWorld=A.vec3(),this._targetWorld=A.vec3(),this._wp=new Float64Array(24),this._vp=new Float64Array(24),this._pp=new Float64Array(24),this._cp=new Float64Array(8),this._xAxisLabelCulled=!1,this._yAxisLabelCulled=!1,this._zAxisLabelCulled=!1,this._color=t.color||this.plugin.defaultColor;const n=t.onMouseOver?e=>{t.onMouseOver(e,this)}:null,i=t.onMouseLeave?e=>{t.onMouseLeave(e,this)}:null,a=t.onContextMenu?e=>{t.onContextMenu(e,this)}:null,r=e=>{this.plugin.viewer.scene.canvas.canvas.dispatchEvent(new WheelEvent("wheel",e))};this._originDot=new he(this._container,{fillColor:this._color,zIndex:void 0!==e.zIndex?e.zIndex+2:void 0,onMouseOver:n,onMouseLeave:i,onMouseWheel:r,onContextMenu:a}),this._targetDot=new he(this._container,{fillColor:this._color,zIndex:void 0!==e.zIndex?e.zIndex+2:void 0,onMouseOver:n,onMouseLeave:i,onMouseWheel:r,onContextMenu:a}),this._lengthWire=new ue(this._container,{color:this._color,thickness:2,thicknessClickable:6,zIndex:void 0!==e.zIndex?e.zIndex+1:void 0,onMouseOver:n,onMouseLeave:i,onMouseWheel:r,onContextMenu:a}),this._xAxisWire=new ue(this._container,{color:"#FF0000",thickness:1,thicknessClickable:6,zIndex:void 0!==e.zIndex?e.zIndex+1:void 0,onMouseOver:n,onMouseLeave:i,onMouseWheel:r,onContextMenu:a}),this._yAxisWire=new ue(this._container,{color:"green",thickness:1,thicknessClickable:6,zIndex:void 0!==e.zIndex?e.zIndex+1:void 0,onMouseOver:n,onMouseLeave:i,onMouseWheel:r,onContextMenu:a}),this._zAxisWire=new ue(this._container,{color:"blue",thickness:1,thicknessClickable:6,zIndex:void 0!==e.zIndex?e.zIndex+1:void 0,onMouseOver:n,onMouseLeave:i,onMouseWheel:r,onContextMenu:a}),this._lengthLabel=new pe(this._container,{fillColor:this._color,prefix:"",text:"",zIndex:void 0!==e.zIndex?e.zIndex+4:void 0,onMouseOver:n,onMouseLeave:i,onMouseWheel:r,onContextMenu:a}),this._xAxisLabel=new pe(this._container,{fillColor:"red",prefix:"X",text:"",zIndex:void 0!==e.zIndex?e.zIndex+3:void 0,onMouseOver:n,onMouseLeave:i,onMouseWheel:r,onContextMenu:a}),this._yAxisLabel=new pe(this._container,{fillColor:"green",prefix:"Y",text:"",zIndex:void 0!==e.zIndex?e.zIndex+3:void 0,onMouseOver:n,onMouseLeave:i,onMouseWheel:r,onContextMenu:a}),this._zAxisLabel=new pe(this._container,{fillColor:"blue",prefix:"Z",text:"",zIndex:void 0!==e.zIndex?e.zIndex+3:void 0,onMouseOver:n,onMouseLeave:i,onMouseWheel:r,onContextMenu:a}),this._wpDirty=!1,this._vpDirty=!1,this._cpDirty=!1,this._sectionPlanesDirty=!0,this._visible=!1,this._originVisible=!1,this._targetVisible=!1,this._wireVisible=!1,this._axisVisible=!1,this._xAxisVisible=!1,this._yAxisVisible=!1,this._zAxisVisible=!1,this._axisEnabled=!0,this._labelsVisible=!1,this._clickable=!1,this._originMarker.on("worldPos",(e=>{this._originWorld.set(e||[0,0,0]),this._wpDirty=!0,this._needUpdate(0)})),this._targetMarker.on("worldPos",(e=>{this._targetWorld.set(e||[0,0,0]),this._wpDirty=!0,this._needUpdate(0)})),this._onViewMatrix=s.camera.on("viewMatrix",(()=>{this._vpDirty=!0,this._needUpdate(0)})),this._onProjMatrix=s.camera.on("projMatrix",(()=>{this._cpDirty=!0,this._needUpdate()})),this._onCanvasBoundary=s.canvas.on("boundary",(()=>{this._cpDirty=!0,this._needUpdate(0)})),this._onMetricsUnits=s.metrics.on("units",(()=>{this._cpDirty=!0,this._needUpdate()})),this._onMetricsScale=s.metrics.on("scale",(()=>{this._cpDirty=!0,this._needUpdate()})),this._onMetricsOrigin=s.metrics.on("origin",(()=>{this._cpDirty=!0,this._needUpdate()})),this._onSectionPlaneUpdated=s.on("sectionPlaneUpdated",(()=>{this._sectionPlanesDirty=!0,this._needUpdate()})),this.approximate=t.approximate,this.visible=t.visible,this.originVisible=t.originVisible,this.targetVisible=t.targetVisible,this.wireVisible=t.wireVisible,this.axisVisible=t.axisVisible,this.xAxisVisible=t.xAxisVisible,this.yAxisVisible=t.yAxisVisible,this.zAxisVisible=t.zAxisVisible,this.labelsVisible=t.labelsVisible}_update(){if(!this._visible)return;const e=this.plugin.viewer.scene;if(this._wpDirty&&(this._wp[0]=this._originWorld[0],this._wp[1]=this._originWorld[1],this._wp[2]=this._originWorld[2],this._wp[3]=1,this._wp[4]=this._targetWorld[0],this._wp[5]=this._originWorld[1],this._wp[6]=this._originWorld[2],this._wp[7]=1,this._wp[8]=this._targetWorld[0],this._wp[9]=this._targetWorld[1],this._wp[10]=this._originWorld[2],this._wp[11]=1,this._wp[12]=this._targetWorld[0],this._wp[13]=this._targetWorld[1],this._wp[14]=this._targetWorld[2],this._wp[15]=1,this._wpDirty=!1,this._vpDirty=!0),this._vpDirty&&(A.transformPositions4(e.camera.viewMatrix,this._wp,this._vp),this._vp[3]=1,this._vp[7]=1,this._vp[11]=1,this._vp[15]=1,this._vpDirty=!1,this._cpDirty=!0),this._sectionPlanesDirty){if(this._isSliced(this._wp))return this._xAxisLabel.setCulled(!0),this._yAxisLabel.setCulled(!0),this._zAxisLabel.setCulled(!0),this._lengthLabel.setCulled(!0),this._xAxisWire.setCulled(!0),this._yAxisWire.setCulled(!0),this._zAxisWire.setCulled(!0),this._lengthWire.setCulled(!0),this._originDot.setCulled(!0),void this._targetDot.setCulled(!0);this._xAxisLabel.setCulled(!1),this._yAxisLabel.setCulled(!1),this._zAxisLabel.setCulled(!1),this._lengthLabel.setCulled(!1),this._xAxisWire.setCulled(!1),this._yAxisWire.setCulled(!1),this._zAxisWire.setCulled(!1),this._lengthWire.setCulled(!1),this._originDot.setCulled(!1),this._targetDot.setCulled(!1),this._sectionPlanesDirty=!0}const t=this._originMarker.viewPos[2],s=this._targetMarker.viewPos[2];if(t>-.3||s>-.3)return this._xAxisLabel.setCulled(!0),this._yAxisLabel.setCulled(!0),this._zAxisLabel.setCulled(!0),this._lengthLabel.setCulled(!0),this._xAxisWire.setVisible(!1),this._yAxisWire.setVisible(!1),this._zAxisWire.setVisible(!1),this._lengthWire.setVisible(!1),this._originDot.setVisible(!1),void this._targetDot.setVisible(!1);if(this._cpDirty){A.transformPositions4(e.camera.project.matrix,this._vp,this._pp);var n=this._pp,i=this._cp,a=e.canvas.canvas.getBoundingClientRect();const t=this._container.getBoundingClientRect();var r=a.top-t.top,l=a.left-t.left,o=e.canvas.boundary,c=o[2],u=o[3],h=0;const s=this.plugin.viewer.scene.metrics,f=s.scale,I=s.units,y=s.unitsInfo[I].abbrev;for(var p=0,d=n.length;p{const t=e.snappedCanvasPos||e.canvasPos;i=!0,a.set(e.worldPos),r.set(e.canvasPos),0===this._mouseState?(this._markerDiv.style.marginLeft=t[0]-5+"px",this._markerDiv.style.marginTop=t[1]-5+"px",this._markerDiv.style.background="pink",e.snappedToVertex||e.snappedToEdge?(this.pointerLens&&(this.pointerLens.visible=!0,this.pointerLens.canvasPos=e.canvasPos,this.pointerLens.snappedCanvasPos=e.snappedCanvasPos||e.canvasPos,this.pointerLens.snapped=!0),this._markerDiv.style.background="greenyellow",this._markerDiv.style.border="2px solid green"):(this.pointerLens&&(this.pointerLens.visible=!0,this.pointerLens.canvasPos=e.canvasPos,this.pointerLens.snappedCanvasPos=e.canvasPos,this.pointerLens.snapped=!1),this._markerDiv.style.background="pink",this._markerDiv.style.border="2px solid red")):(this._markerDiv.style.marginLeft="-10000px",this._markerDiv.style.marginTop="-10000px"),n.style.cursor="pointer",this._currentDistanceMeasurement&&(this._currentDistanceMeasurement.wireVisible=this._currentDistanceMeasurementInitState.wireVisible,this._currentDistanceMeasurement.axisVisible=this._currentDistanceMeasurementInitState.axisVisible&&this.distanceMeasurementsPlugin.defaultAxisVisible,this._currentDistanceMeasurement.xAxisVisible=this._currentDistanceMeasurementInitState.xAxisVisible&&this.distanceMeasurementsPlugin.defaultXAxisVisible,this._currentDistanceMeasurement.yAxisVisible=this._currentDistanceMeasurementInitState.yAxisVisible&&this.distanceMeasurementsPlugin.defaultYAxisVisible,this._currentDistanceMeasurement.zAxisVisible=this._currentDistanceMeasurementInitState.zAxisVisible&&this.distanceMeasurementsPlugin.defaultZAxisVisible,this._currentDistanceMeasurement.targetVisible=this._currentDistanceMeasurementInitState.targetVisible,this._currentDistanceMeasurement.target.worldPos=a.slice(),this._markerDiv.style.marginLeft="-10000px",this._markerDiv.style.marginTop="-10000px")})),n.addEventListener("mousedown",this._onMouseDown=e=>{1===e.which&&(l=e.clientX,o=e.clientY)}),n.addEventListener("mouseup",this._onMouseUp=t=>{1===t.which&&(t.clientX>l+20||t.clientXo+20||t.clientY{this.pointerLens&&(this.pointerLens.visible=!0,this.pointerLens.canvasPos=e.canvasPos,this.pointerLens.snappedCanvasPos=e.snappedCanvasPos||e.canvasPos),i=!1,this._markerDiv.style.marginLeft="-100px",this._markerDiv.style.marginTop="-100px",this._currentDistanceMeasurement&&(this._currentDistanceMeasurement.wireVisible=!1,this._currentDistanceMeasurement.targetVisible=!1,this._currentDistanceMeasurement.axisVisible=!1),n.style.cursor="default"})),this._active=!0}deactivate(){if(!this._active)return;this.fire("activated",!1),this.pointerLens&&(this.pointerLens.visible=!1),this._markerDiv&&this._destroyMarkerDiv(),this.reset();const e=this.scene.canvas.canvas;e.removeEventListener("mousedown",this._onMouseDown),e.removeEventListener("mouseup",this._onMouseUp);const t=this.distanceMeasurementsPlugin.viewer.cameraControl;t.off(this._onCameraControlHoverSnapOrSurface),t.off(this._onCameraControlHoverSnapOrSurfaceOff),this._currentDistanceMeasurement&&(this.distanceMeasurementsPlugin.fire("measurementCancel",this._currentDistanceMeasurement),this._currentDistanceMeasurement.destroy(),this._currentDistanceMeasurement=null),this._active=!1}reset(){this._active&&(this._destroyMarkerDiv(),this._initMarkerDiv(),this._currentDistanceMeasurement&&(this.distanceMeasurementsPlugin.fire("measurementCancel",this._currentDistanceMeasurement),this._currentDistanceMeasurement.destroy(),this._currentDistanceMeasurement=null))}destroy(){this.deactivate(),super.destroy()}}class ya extends V{constructor(e,t={}){super("DistanceMeasurements",e),this._pointerLens=t.pointerLens,this._container=t.container||document.body,this._defaultControl=null,this._measurements={},this.labelMinAxisLength=t.labelMinAxisLength,this.defaultVisible=!1!==t.defaultVisible,this.defaultOriginVisible=!1!==t.defaultOriginVisible,this.defaultTargetVisible=!1!==t.defaultTargetVisible,this.defaultWireVisible=!1!==t.defaultWireVisible,this.defaultLabelsVisible=!1!==t.defaultLabelsVisible,this.defaultAxisVisible=!1!==t.defaultAxisVisible,this.defaultXAxisVisible=!1!==t.defaultXAxisVisible,this.defaultYAxisVisible=!1!==t.defaultYAxisVisible,this.defaultZAxisVisible=!1!==t.defaultZAxisVisible,this.defaultColor=void 0!==t.defaultColor?t.defaultColor:"#00BBFF",this.zIndex=t.zIndex||1e4,this._onMouseOver=(e,t)=>{this.fire("mouseOver",{plugin:this,distanceMeasurement:t,measurement:t,event:e})},this._onMouseLeave=(e,t)=>{this.fire("mouseLeave",{plugin:this,distanceMeasurement:t,measurement:t,event:e})},this._onContextMenu=(e,t)=>{this.fire("contextMenu",{plugin:this,distanceMeasurement:t,measurement:t,event:e})}}getContainerElement(){return this._container}send(e,t){}get pointerLens(){return this._pointerLens}get control(){return this._defaultControl||(this._defaultControl=new Ia(this,{})),this._defaultControl}get measurements(){return this._measurements}set labelMinAxisLength(e){e<1&&(this.error("labelMinAxisLength must be >= 1; defaulting to 25"),e=25),this._labelMinAxisLength=e||25}get labelMinAxisLength(){return this._labelMinAxisLength}createMeasurement(e={}){this.viewer.scene.components[e.id]&&(this.error("Viewer scene component with this ID already exists: "+e.id),delete e.id);const t=e.origin,s=e.target,n=new da(this,{id:e.id,plugin:this,container:this._container,origin:{entity:t.entity,worldPos:t.worldPos},target:{entity:s.entity,worldPos:s.worldPos},visible:e.visible,wireVisible:e.wireVisible,axisVisible:!1!==e.axisVisible&&!1!==this.defaultAxisVisible,xAxisVisible:!1!==e.xAxisVisible&&!1!==this.defaultXAxisVisible,yAxisVisible:!1!==e.yAxisVisible&&!1!==this.defaultYAxisVisible,zAxisVisible:!1!==e.zAxisVisible&&!1!==this.defaultZAxisVisible,labelsVisible:!1!==e.labelsVisible&&!1!==this.defaultLabelsVisible,originVisible:e.originVisible,targetVisible:e.targetVisible,color:e.color,onMouseOver:this._onMouseOver,onMouseLeave:this._onMouseLeave,onContextMenu:this._onContextMenu});return this._measurements[n.id]=n,n.on("destroyed",(()=>{delete this._measurements[n.id]})),this.fire("measurementCreated",n),n}destroyMeasurement(e){const t=this._measurements[e];t?(t.destroy(),this.fire("measurementDestroyed",t)):this.log("DistanceMeasurement not found: "+e)}setLabelsShown(e){for(const[t,s]of Object.entries(this.measurements))s.labelShown=e}setAxisVisible(e){for(const[t,s]of Object.entries(this.measurements))s.axisVisible=e;this.defaultAxisVisible=e}getAxisVisible(){return this.defaultAxisVisible}clear(){const e=Object.keys(this._measurements);for(var t=0,s=e.length;t{s=1e3*this._delayBeforeRestoreSeconds,n||(e.scene._renderer.setColorTextureEnabled(!this._hideColorTexture),e.scene._renderer.setPBREnabled(!this._hidePBR),e.scene._renderer.setSAOEnabled(!this._hideSAO),e.scene._renderer.setTransparentEnabled(!this._hideTransparentObjects),e.scene._renderer.setEdgesEnabled(!this._hideEdges),this._scaleCanvasResolution?e.scene.canvas.resolutionScale=this._scaleCanvasResolutionFactor:e.scene.canvas.resolutionScale=1,n=!0)};this._onCanvasBoundary=e.scene.canvas.on("boundary",i),this._onCameraMatrix=e.scene.camera.on("matrix",i),this._onSceneTick=e.scene.on("tick",(t=>{n&&(s-=t.deltaTime,(!this._delayBeforeRestore||s<=0)&&(e.scene.canvas.resolutionScale=1,e.scene._renderer.setEdgesEnabled(!0),e.scene._renderer.setColorTextureEnabled(!0),e.scene._renderer.setPBREnabled(!0),e.scene._renderer.setSAOEnabled(!0),e.scene._renderer.setTransparentEnabled(!0),n=!1))}));let a=!1;this._onSceneMouseDown=e.scene.input.on("mousedown",(()=>{a=!0})),this._onSceneMouseUp=e.scene.input.on("mouseup",(()=>{a=!1})),this._onSceneMouseMove=e.scene.input.on("mousemove",(()=>{a&&i()}))}get hideColorTexture(){return this._hideColorTexture}set hideColorTexture(e){this._hideColorTexture=e}get hidePBR(){return this._hidePBR}set hidePBR(e){this._hidePBR=e}get hideSAO(){return this._hideSAO}set hideSAO(e){this._hideSAO=e}get hideEdges(){return this._hideEdges}set hideEdges(e){this._hideEdges=e}get hideTransparentObjects(){return this._hideTransparentObjects}set hideTransparentObjects(e){this._hideTransparentObjects=!1!==e}get scaleCanvasResolution(){return this._scaleCanvasResolution}set scaleCanvasResolution(e){this._scaleCanvasResolution=e}get scaleCanvasResolutionFactor(){return this._scaleCanvasResolutionFactor}set scaleCanvasResolutionFactor(e){this._scaleCanvasResolutionFactor=e||.6}get delayBeforeRestore(){return this._delayBeforeRestore}set delayBeforeRestore(e){this._delayBeforeRestore=e}get delayBeforeRestoreSeconds(){return this._delayBeforeRestoreSeconds}set delayBeforeRestoreSeconds(e){this._delayBeforeRestoreSeconds=null!=e?e:.5}send(e,t){}destroy(){this.viewer.scene.camera.off(this._onCameraMatrix),this.viewer.scene.canvas.off(this._onCanvasBoundary),this.viewer.scene.input.off(this._onSceneMouseDown),this.viewer.scene.input.off(this._onSceneMouseUp),this.viewer.scene.input.off(this._onSceneMouseMove),this.viewer.scene.off(this._onSceneTick),super.destroy()}}class va{constructor(){}getMetaModel(e,t,s){g.loadJSON(e,(e=>{t(e)}),(function(e){s(e)}))}getGLTF(e,t,s){g.loadArraybuffer(e,(e=>{t(e)}),(function(e){s(e)}))}getGLB(e,t,s){g.loadArraybuffer(e,(e=>{t(e)}),(function(e){s(e)}))}getArrayBuffer(e,t,s,n){!function(e,t,s,n){var i=()=>{};s=s||i,n=n||i;const a=/^data:(.*?)(;base64)?,(.*)$/,r=t.match(a);if(r){const e=!!r[2];var l=r[3];l=window.decodeURIComponent(l),e&&(l=window.atob(l));try{const e=new ArrayBuffer(l.length),t=new Uint8Array(e);for(var o=0;o{s(e)}),(function(e){n(e)}))}}class wa{constructor(e={}){this._eventSubIDMap=null,this._eventSubEvents=null,this._eventSubs=null,this._events=null,this._locale="en",this._messages={},this._locales=[],this._locale="en",this.messages=e.messages,this.locale=e.locale}set messages(e){this._messages=e||{},this._locales=Object.keys(this._messages),this.fire("updated",this)}loadMessages(e={}){for(let t in e)this._messages[t]=e[t];this.messages=this._messages}clearMessages(){this.messages={}}get locales(){return this._locales}set locale(e){e=e||"de",this._locale!==e&&(this._locale=e,this.fire("updated",e))}get locale(){return this._locale}translate(e,t){const s=this._messages[this._locale];if(!s)return null;const n=ga(e,s);return n?t?Ea(n,t):n:null}translatePlurals(e,t,s){const n=this._messages[this._locale];if(!n)return null;let i=ga(e,n);return i=0===(t=parseInt(""+t,10))?i.zero:t>1?i.other:i.one,i?(i=Ea(i,[t]),s&&(i=Ea(i,s)),i):null}fire(e,t,s){this._events||(this._events={}),this._eventSubs||(this._eventSubs={}),!0!==s&&(this._events[e]=t||!0);const n=this._eventSubs[e];if(n)for(const e in n)if(n.hasOwnProperty(e)){n[e].callback(t)}}on(t,s){this._events||(this._events={}),this._eventSubIDMap||(this._eventSubIDMap=new e),this._eventSubEvents||(this._eventSubEvents={}),this._eventSubs||(this._eventSubs={});let n=this._eventSubs[t];n||(n={},this._eventSubs[t]=n);const i=this._eventSubIDMap.addItem();n[i]={callback:s},this._eventSubEvents[i]=t;const a=this._events[t];return void 0!==a&&s(a),i}off(e){if(null==e)return;if(!this._eventSubEvents)return;const t=this._eventSubEvents[e];if(t){delete this._eventSubEvents[e];const s=this._eventSubs[t];s&&delete s[e],this._eventSubIDMap.removeItem(e)}}}function ga(e,t){if(t[e])return t[e];const s=e.split(".");let n=t;for(let e=0,t=s.length;n&&e1?1:e}get t(){return this._t}get tangent(){return this.getTangent(this._t)}get length(){var e=this._getLengths();return e[e.length-1]}getTangent(e){var t=1e-4;void 0===e&&(e=this._t);var s=e-t,n=e+t;s<0&&(s=0),n>1&&(n=1);var i=this.getPoint(s),a=this.getPoint(n),r=A.subVec3(a,i,[]);return A.normalizeVec3(r,[])}getPointAt(e){var t=this.getUToTMapping(e);return this.getPoint(t)}getPoints(e){e||(e=5);var t,s=[];for(t=0;t<=e;t++)s.push(this.getPoint(t/e));return s}_getLengths(e){if(e||(e=this.__arcLengthDivisions?this.__arcLengthDivisions:200),this.cacheArcLengths&&this.cacheArcLengths.length===e+1&&!this.needsUpdate)return this.cacheArcLengths;this.needsUpdate=!1;var t,s,n=[],i=this.getPoint(0),a=0;for(n.push(0),s=1;s<=e;s++)t=this.getPoint(s/e),a+=A.lenVec3(A.subVec3(t,i,[])),n.push(a),i=t;return this.cacheArcLengths=n,n}_updateArcLengths(){this.needsUpdate=!0,this._getLengths()}getUToTMapping(e,t){var s,n=this._getLengths(),i=0,a=n.length;s=t||e*n[a-1];for(var r,l=0,o=a-1;l<=o;)if((r=n[i=Math.floor(l+(o-l)/2)]-s)<0)l=i+1;else{if(!(r>0)){o=i;break}o=i-1}if(n[i=o]===s)return i/(a-1);var c=n[i];return(i+(s-c)/(n[i+1]-c))/(a-1)}}class ba extends Ta{constructor(e,t={}){super(e,t),this.points=t.points,this.t=t.t}set points(e){this._points=e||[]}get points(){return this._points}set t(e){e=e||0,this._t=e<0?0:e>1?1:e}get t(){return this._t}get point(){return this.getPoint(this._t)}getPoint(e){var t=this.points;if(!(t.length<3)){var s=(t.length-1)*e,n=Math.floor(s),i=s-n,a=t[0===n?n:n-1],r=t[n],l=t[n>t.length-2?t.length-1:n+1],o=t[n>t.length-3?t.length-1:n+2],c=A.vec3();return c[0]=A.catmullRomInterpolate(a[0],r[0],l[0],o[0],i),c[1]=A.catmullRomInterpolate(a[1],r[1],l[1],o[1],i),c[2]=A.catmullRomInterpolate(a[2],r[2],l[2],o[2],i),c}this.error("Can't sample point from SplineCurve - not enough points on curve - returning [0,0,0].")}getJSON(){return{points:points,t:this._t}}}const Da=A.vec3();class Pa extends S{get type(){return"CameraPath"}constructor(e,t={}){super(e,t),this._frames=[],this._eyeCurve=new ba(this),this._lookCurve=new ba(this),this._upCurve=new ba(this),t.frames&&(this.addFrames(t.frames),this.smoothFrameTimes(1))}get frames(){return this._frames}get eyeCurve(){return this._eyeCurve}get lookCurve(){return this._lookCurve}get upCurve(){return this._upCurve}saveFrame(e){const t=this.scene.camera;this.addFrame(e,t.eye,t.look,t.up)}addFrame(e,t,s,n){const i={t:e,eye:t.slice(0),look:s.slice(0),up:n.slice(0)};this._frames.push(i),this._eyeCurve.points.push(i.eye),this._lookCurve.points.push(i.look),this._upCurve.points.push(i.up)}addFrames(e){let t;for(let s=0,n=e.length;s1?1:e,t.eye=this._eyeCurve.getPoint(e,Da),t.look=this._lookCurve.getPoint(e,Da),t.up=this._upCurve.getPoint(e,Da)}sampleFrame(e,t,s,n){e=e<0?0:e>1?1:e,this._eyeCurve.getPoint(e,t),this._lookCurve.getPoint(e,s),this._upCurve.getPoint(e,n)}smoothFrameTimes(e){if(0===this._frames.length)return;const t=A.vec3();var s=0;this._frames[0].t=0;const n=[];for(let e=1,a=this._frames.length;e=1;e>1&&(e=1);const s=this.easing?Sa._ease(e,0,1,1):e,n=this.scene.camera;if(this._flyingEye||this._flyingLook?this._flyingEye?(A.subVec3(n.eye,n.look,Oa),n.eye=A.lerpVec3(s,0,1,this._eye1,this._eye2,_a),n.look=A.subVec3(_a,Oa,Ca)):this._flyingLook&&(n.look=A.lerpVec3(s,0,1,this._look1,this._look2,Ca),n.up=A.lerpVec3(s,0,1,this._up1,this._up2,Ba)):this._flyingEyeLookUp&&(n.eye=A.lerpVec3(s,0,1,this._eye1,this._eye2,_a),n.look=A.lerpVec3(s,0,1,this._look1,this._look2,Ca),n.up=A.lerpVec3(s,0,1,this._up1,this._up2,Ba)),this._projection2){const t="ortho"===this._projection2?Sa._easeOutExpo(e,0,1,1):Sa._easeInCubic(e,0,1,1);n.customProjection.matrix=A.lerpMat4(t,0,1,this._projMatrix1,this._projMatrix2)}else n.ortho.scale=this._orthoScale1+e*(this._orthoScale2-this._orthoScale1);if(t)return n.ortho.scale=this._orthoScale2,void this.stop();B.scheduleTask(this._update,this)}static _ease(e,t,s,n){return-s*(e/=n)*(e-2)+t}static _easeInCubic(e,t,s,n){return s*(e/=n)*e*e+t}static _easeOutExpo(e,t,s,n){return s*(1-Math.pow(2,-10*e/n))+t}stop(){if(!this._flying)return;this._flying=!1,this._time1=null,this._time2=null,this._projection2&&(this.scene.camera.projection=this._projection2);const e=this._callback;e&&(this._callback=null,this._callbackScope?e.call(this._callbackScope):e()),this.fire("stopped",!0,!0)}cancel(){this._flying&&(this._flying=!1,this._time1=null,this._time2=null,this._callback&&(this._callback=null),this.fire("canceled",!0,!0))}set duration(e){this._duration=e?1e3*e:500,this.stop()}get duration(){return this._duration/1e3}set fit(e){this._fit=!1!==e}get fit(){return this._fit}set fitFOV(e){this._fitFOV=e||45}get fitFOV(){return this._fitFOV}set trail(e){this._trail=!!e}get trail(){return this._trail}destroy(){this.stop(),super.destroy()}}class Na extends S{get type(){return"CameraPathAnimation"}constructor(e,t={}){super(e,t),this._cameraFlightAnimation=new Sa(this),this._t=0,this.state=Na.SCRUBBING,this._playingFromT=0,this._playingToT=0,this._playingRate=t.playingRate||1,this._playingDir=1,this._lastTime=null,this.cameraPath=t.cameraPath,this._tick=this.scene.on("tick",this._updateT,this)}_updateT(){const e=this._cameraPath;if(!e)return;let t,s;const n=performance.now(),i=this._lastTime?.001*(n-this._lastTime):0;if(this._lastTime=n,0!==i)switch(this.state){case Na.SCRUBBING:return;case Na.PLAYING:if(this._t+=this._playingRate*i,t=this._cameraPath.frames.length,0===t||this._playingDir<0&&this._t<=0||this._playingDir>0&&this._t>=this._cameraPath.frames[t-1].t)return this.state=Na.SCRUBBING,this._t=this._cameraPath.frames[t-1].t,void this.fire("stopped");e.loadFrame(this._t);break;case Na.PLAYING_TO:s=this._t+this._playingRate*i*this._playingDir,(this._playingDir<0&&s<=this._playingToT||this._playingDir>0&&s>=this._playingToT)&&(s=this._playingToT,this.state=Na.SCRUBBING,this.fire("stopped")),this._t=s,e.loadFrame(this._t)}}_ease(e,t,s,n){return-s*(e/=n)*(e-2)+t}set cameraPath(e){this._cameraPath=e}get cameraPath(){return this._cameraPath}set rate(e){this._playingRate=e}get rate(){return this._playingRate}play(){this._cameraPath&&(this._lastTime=null,this.state=Na.PLAYING)}playToT(e){this._cameraPath&&(this._playingFromT=this._t,this._playingToT=e,this._playingDir=this._playingToT-this._playingFromT<0?-1:1,this._lastTime=null,this.state=Na.PLAYING_TO)}playToFrame(e){const t=this._cameraPath;if(!t)return;const s=t.frames[e];s?this.playToT(s.t):this.error("playToFrame - frame index out of range: "+e)}flyToFrame(e,t){const s=this._cameraPath;if(!s)return;const n=s.frames[e];n?(this.state=Na.SCRUBBING,this._cameraFlightAnimation.flyTo(n,t)):this.error("flyToFrame - frame index out of range: "+e)}scrubToT(e){const t=this._cameraPath;if(!t)return;this.scene.camera&&(this._t=e,t.loadFrame(this._t),this.state=Na.SCRUBBING)}scrubToFrame(e){const t=this._cameraPath;if(!t)return;if(!this.scene.camera)return;t.frames[e]?(t.loadFrame(this._t),this.state=Na.SCRUBBING):this.error("playToFrame - frame index out of range: "+e)}stop(){this.state=Na.SCRUBBING,this.fire("stopped")}destroy(){super.destroy(),this.scene.off(this._tick)}}Na.STOPPED=0,Na.SCRUBBING=1,Na.PLAYING=2,Na.PLAYING_TO=3;const xa=A.vec3(),La=A.vec3();A.vec3();const Ma=A.vec3([0,-1,0]),Fa=A.vec4([0,0,0,1]);class Ha extends S{constructor(e,t={}){super(e,t),this._src=null,this._image=null,this._pos=A.vec3(),this._origin=A.vec3(),this._rtcPos=A.vec3(),this._dir=A.vec3(),this._size=1,this._imageSize=A.vec2(),this._texture=new ki(this),this._plane=new ui(this,{geometry:new Gt(this,$i({center:[0,0,0],xSize:1,zSize:1,xSegments:10,zSegments:10})),material:new Wt(this,{diffuse:[0,0,0],ambient:[0,0,0],specular:[0,0,0],diffuseMap:this._texture,emissiveMap:this._texture,backfaces:!0}),clippable:t.clippable}),this._grid=new ui(this,{geometry:new Gt(this,Zi({size:1,divisions:10})),material:new Wt(this,{diffuse:[0,0,0],ambient:[0,0,0],emissive:[.2,.8,.2]}),position:[0,.001,0],clippable:t.clippable}),this._node=new Ri(this,{rotation:[0,0,0],position:[0,0,0],scale:[1,1,1],clippable:!1,children:[this._plane,this._grid]}),this._gridVisible=!1,this.visible=!0,this.gridVisible=t.gridVisible,this.position=t.position,this.rotation=t.rotation,this.dir=t.dir,this.size=t.size,this.collidable=t.collidable,this.clippable=t.clippable,this.pickable=t.pickable,this.opacity=t.opacity,t.image?this.image=t.image:this.src=t.src}set visible(e){this._plane.visible=e,this._grid.visible=this._gridVisible&&e}get visible(){return this._plane.visible}set gridVisible(e){e=!1!==e,this._gridVisible=e,this._grid.visible=this._gridVisible&&this.visible}get gridVisible(){return this._gridVisible}set image(e){this._image=e,this._image&&(this._imageSize[0]=e.width,this._imageSize[1]=e.height,this._updatePlaneSizeFromImage(),this._src=null,this._texture.image=this._image)}get image(){return this._image}set src(e){if(this._src=e,this._src){this._image=null;const e=new Image;e.onload=()=>{this._texture.image=e,this._imageSize[0]=e.width,this._imageSize[1]=e.height,this._updatePlaneSizeFromImage()},e.src=this._src}}get src(){return this._src}set position(e){this._pos.set(e||[0,0,0]),W(this._pos,this._origin,this._rtcPos),this._node.origin=this._origin,this._node.position=this._rtcPos}get position(){return this._pos}set rotation(e){this._node.rotation=e}get rotation(){return this._node.rotation}set size(e){this._size=null==e?1:e,this._image&&this._updatePlaneSizeFromImage()}get size(){return this._size}set dir(e){if(this._dir.set(e||[0,0,-1]),e){const t=this.scene.center,s=[-this._dir[0],-this._dir[1],-this._dir[2]];A.subVec3(t,this.position,xa);const n=-A.dotVec3(s,xa);A.normalizeVec3(s),A.mulVec3Scalar(s,n,La),A.vec3PairToQuaternion(Ma,e,Fa),this._node.quaternion=Fa}}get dir(){return this._dir}set collidable(e){this._node.collidable=!1!==e}get collidable(){return this._node.collidable}set clippable(e){this._node.clippable=!1!==e}get clippable(){return this._node.clippable}set pickable(e){this._node.pickable=!1!==e}get pickable(){return this._node.pickable}set opacity(e){this._node.opacity=e}get opacity(){return this._node.opacity}destroy(){super.destroy()}_updatePlaneSizeFromImage(){const e=this._size,t=this._imageSize[0],s=this._imageSize[1];if(t>s){const n=s/t;this._node.scale=[e,1,e*n]}else{const n=t/s;this._node.scale=[e*n,1,e]}}}class Ua extends Pt{get type(){return"PointLight"}constructor(e,t={}){super(e,t);const s=this;this._shadowRenderBuf=null,this._shadowViewMatrix=null,this._shadowProjMatrix=null,this._shadowViewMatrixDirty=!0,this._shadowProjMatrixDirty=!0;const n=this.scene.camera,i=this.scene.canvas;this._onCameraViewMatrix=n.on("viewMatrix",(()=>{this._shadowViewMatrixDirty=!0})),this._onCameraProjMatrix=n.on("projMatrix",(()=>{this._shadowProjMatrixDirty=!0})),this._onCanvasBoundary=i.on("boundary",(()=>{this._shadowProjMatrixDirty=!0})),this._state=new it({type:"point",pos:A.vec3([1,1,1]),color:A.vec3([.7,.7,.8]),intensity:1,attenuation:[0,0,0],space:t.space||"view",castsShadow:!1,getShadowViewMatrix:()=>{if(s._shadowViewMatrixDirty){s._shadowViewMatrix||(s._shadowViewMatrix=A.identityMat4());const e=s._state.pos,t=n.look,i=n.up;A.lookAtMat4v(e,t,i,s._shadowViewMatrix),s._shadowViewMatrixDirty=!1}return s._shadowViewMatrix},getShadowProjMatrix:()=>{if(s._shadowProjMatrixDirty){s._shadowProjMatrix||(s._shadowProjMatrix=A.identityMat4());const e=s.scene.canvas.canvas;A.perspectiveMat4(Math.PI/180*70,e.clientWidth/e.clientHeight,.1,500,s._shadowProjMatrix),s._shadowProjMatrixDirty=!1}return s._shadowProjMatrix},getShadowRenderBuf:()=>(s._shadowRenderBuf||(s._shadowRenderBuf=new Ze(s.scene.canvas.canvas,s.scene.canvas.gl,{size:[1024,1024]})),s._shadowRenderBuf)}),this.pos=t.pos,this.color=t.color,this.intensity=t.intensity,this.constantAttenuation=t.constantAttenuation,this.linearAttenuation=t.linearAttenuation,this.quadraticAttenuation=t.quadraticAttenuation,this.castsShadow=t.castsShadow,this.scene._lightCreated(this)}set pos(e){this._state.pos.set(e||[1,1,1]),this._shadowViewMatrixDirty=!0,this.glRedraw()}get pos(){return this._state.pos}set color(e){this._state.color.set(e||[.7,.7,.8]),this.glRedraw()}get color(){return this._state.color}set intensity(e){e=void 0!==e?e:1,this._state.intensity=e,this.glRedraw()}get intensity(){return this._state.intensity}set constantAttenuation(e){this._state.attenuation[0]=e||0,this.glRedraw()}get constantAttenuation(){return this._state.attenuation[0]}set linearAttenuation(e){this._state.attenuation[1]=e||0,this.glRedraw()}get linearAttenuation(){return this._state.attenuation[1]}set quadraticAttenuation(e){this._state.attenuation[2]=e||0,this.glRedraw()}get quadraticAttenuation(){return this._state.attenuation[2]}set castsShadow(e){e=!!e,this._state.castsShadow!==e&&(this._state.castsShadow=e,this._shadowViewMatrixDirty=!0,this.glRedraw())}get castsShadow(){return this._state.castsShadow}destroy(){const e=this.scene.camera,t=this.scene.canvas;e.off(this._onCameraViewMatrix),e.off(this._onCameraProjMatrix),t.off(this._onCanvasBoundary),super.destroy(),this._state.destroy(),this._shadowRenderBuf&&this._shadowRenderBuf.destroy(),this.scene._lightDestroyed(this),this.glRedraw()}}function Ga(e){if(!ja(e.width)||!ja(e.height)){const t=document.createElement("canvas");t.width=Va(e.width),t.height=Va(e.height);t.getContext("2d").drawImage(e,0,0,e.width,e.height,0,0,t.width,t.height),e=t}return e}function ja(e){return 0==(e&e-1)}function Va(e){--e;for(let t=1;t<32;t<<=1)e|=e>>t;return e+1}class ka extends S{get type(){return"CubeTexture"}constructor(e,t={}){super(e,t);const s=this.scene.canvas.gl;this._state=new it({texture:new Fi({gl:s,target:s.TEXTURE_CUBE_MAP}),flipY:this._checkFlipY(t.minFilter),encoding:this._checkEncoding(t.encoding),minFilter:1008,magFilter:1006,wrapS:1001,wrapT:1001,mipmaps:!0}),this._src=t.src,this._images=[],this._loadSrc(t.src),y.memory.textures++}_checkFlipY(e){return!!e}_checkEncoding(e){return 3e3!==(e=e||3e3)&&3001!==e&&(this.error("Unsupported value for 'encoding' - supported values are LinearEncoding and sRGBEncoding. Defaulting to LinearEncoding."),e=3e3),e}_webglContextRestored(){this.scene.canvas.gl,this._state.texture=null,this._src&&this._loadSrc(this._src)}_loadSrc(e){const t=this,s=this.scene.canvas.gl;this._images=[];let n=!1,i=0;for(let a=0;a{this._texture.image=e,this._imageSize[0]=e.width,this._imageSize[1]=e.height,this._updatePlaneSizeFromImage()},e.src=this._src}}get src(){return this._src}set size(e){this._size=null==e?1:e,this._image&&this._updatePlaneSizeFromImage()}get size(){return this._size}set collidable(e){this._mesh.collidable=!1!==e}get collidable(){return this._mesh.collidable}set clippable(e){this._mesh.clippable=!1!==e}get clippable(){return this._mesh.clippable}set pickable(e){this._mesh.pickable=!1!==e}get pickable(){return this._mesh.pickable}set opacity(e){this._mesh.opacity=e}get opacity(){return this._mesh.opacity}_updatePlaneSizeFromImage(){const e=.5*this._size,t=this._imageSize[0],s=this._imageSize[1],n=s/t;this._geometry.positions=t>s?[e,e*n,0,-e,e*n,0,-e,-e*n,0,e,-e*n,0]:[e/n,e,0,-e/n,e,0,-e/n,-e,0,e/n,-e,0]}}class Ka{constructor(e){this._eye=A.vec3(),this._look=A.vec3(),this._up=A.vec3(),this._projection={},e&&this.saveCamera(e)}saveCamera(e){const t=e.camera,s=t.project;switch(this._eye.set(t.eye),this._look.set(t.look),this._up.set(t.up),t.projection){case"perspective":this._projection={projection:"perspective",fov:s.fov,fovAxis:s.fovAxis,near:s.near,far:s.far};break;case"ortho":this._projection={projection:"ortho",scale:s.scale,near:s.near,far:s.far};break;case"frustum":this._projection={projection:"frustum",left:s.left,right:s.right,top:s.top,bottom:s.bottom,near:s.near,far:s.far};break;case"custom":this._projection={projection:"custom",matrix:s.matrix.slice()}}}restoreCamera(e,t){const s=e.camera,n=this._projection;function i(){switch(n.type){case"perspective":s.perspective.fov=n.fov,s.perspective.fovAxis=n.fovAxis,s.perspective.near=n.near,s.perspective.far=n.far;break;case"ortho":s.ortho.scale=n.scale,s.ortho.near=n.near,s.ortho.far=n.far;break;case"frustum":s.frustum.left=n.left,s.frustum.right=n.right,s.frustum.top=n.top,s.frustum.bottom=n.bottom,s.frustum.near=n.near,s.frustum.far=n.far;break;case"custom":s.customProjection.matrix=n.matrix}}t?e.viewer.cameraFlight.flyTo({eye:this._eye,look:this._look,up:this._up,orthoScale:n.scale,projection:n.projection},(()=>{i(),t()})):(s.eye=this._eye,s.look=this._look,s.up=this._up,i(),s.projection=n.projection)}}const Ya=A.vec3();class Xa{constructor(e){if(this.objectsVisible=[],this.objectsEdges=[],this.objectsXrayed=[],this.objectsHighlighted=[],this.objectsSelected=[],this.objectsClippable=[],this.objectsPickable=[],this.objectsColorize=[],this.objectsOpacity=[],this.numObjects=0,e){const t=e.metaScene.scene;this.saveObjects(t,e)}}saveObjects(e,t,s){this.numObjects=0,this._mask=s?g.apply(s,{}):null;const n=!s||s.visible,i=!s||s.edges,a=!s||s.xrayed,r=!s||s.highlighted,l=!s||s.selected,o=!s||s.clippable,c=!s||s.pickable,u=!s||s.colorize,h=!s||s.opacity,p=t.metaObjects,A=e.objects;for(let e=0,t=p.length;e1?1:e}get t(){return this._t}get point(){return this.getPoint(this._t)}getPoint(e){var t=A.vec3();return t[0]=A.b3(e,this._v0[0],this._v1[0],this._v2[0],this._v3[0]),t[1]=A.b3(e,this._v0[1],this._v1[1],this._v2[1],this._v3[1]),t[2]=A.b3(e,this._v0[2],this._v1[2],this._v2[2],this._v3[2]),t}getJSON(){return{v0:this._v0,v1:this._v1,v2:this._v2,v3:this._v3,t:this._t}}}class $a extends Ta{constructor(e,t={}){super(e,t),this._cachedLengths=[],this._dirty=!0,this._curves=[],this._t=0,this._dirtySubs=[],this._destroyedSubs=[],this.curves=t.curves||[],this.t=t.t}addCurve(e){this._curves.push(e),this._dirty=!0}set curves(e){var t,s,n;for(e=e||[],s=0,n=this._curves.length;s1?1:e}get t(){return this._t}get point(){return this.getPoint(this._t)}get length(){var e=this._getCurveLengths();return e[e.length-1]}getPoint(e){for(var t,s=e*this.length,n=this._getCurveLengths(),i=0;i=s){var a=1-(n[i]-s)/(t=this._curves[i]).length;return t.getPointAt(a)}i++}return null}_getCurveLengths(){if(!this._dirty)return this._cachedLengths;var e,t=[],s=0,n=this._curves.length;for(e=0;e1?1:e}get t(){return this._t}get point(){return this.getPoint(this._t)}getPoint(e){var t=A.vec3();return t[0]=A.b2(e,this._v0[0],this._v1[0],this._v2[0]),t[1]=A.b2(e,this._v0[1],this._v1[1],this._v2[1]),t[2]=A.b2(e,this._v0[2],this._v1[2],this._v2[2]),t}getJSON(){return{v0:this._v0,v1:this._v1,v2:this._v2,t:this._t}}}const tr=A.OBB3(),sr=A.OBB3(),nr=A.OBB3();class ir{constructor(e,t,s,n,i,a,r=null,l=0){this.model=e,this.object=null,this.parent=null,this.transform=i,this.textureSet=a,this._matrixDirty=!1,this._matrixUpdateScheduled=!1,this.id=t,this.obb=null,this._aabbLocal=null,this._aabbWorld=A.AABB3(),this._aabbWorldDirty=!1,this.layer=r,this.portionId=l,this._color=new Uint8Array([s[0],s[1],s[2],n]),this._colorize=new Uint8Array([s[0],s[1],s[2],n]),this._colorizing=!1,this._transparent=n<255,this.numTriangles=0,this.origin=null,this.entity=null,i&&i._addMesh(this)}_sceneModelDirty(){this._aabbWorldDirty=!0,this.layer.aabbDirty=!0}_transformDirty(){this._matrixDirty||this._matrixUpdateScheduled||(this.model._meshMatrixDirty(this),this._matrixDirty=!0,this._matrixUpdateScheduled=!0),this._aabbWorldDirty=!0,this.layer.aabbDirty=!0,this.entity&&this.entity._transformDirty()}_updateMatrix(){this.transform&&this._matrixDirty&&this.layer.setMatrix(this.portionId,this.transform.worldMatrix),this._matrixDirty=!1,this._matrixUpdateScheduled=!1}_finalize(e){this.layer.initFlags(this.portionId,e,this._transparent)}_finalize2(){this.layer.flushInitFlags&&this.layer.flushInitFlags()}_setVisible(e){this.layer.setVisible(this.portionId,e,this._transparent)}_setColor(e){this._color[0]=e[0],this._color[1]=e[1],this._color[2]=e[2],this._colorizing||this.layer.setColor(this.portionId,this._color,!1)}_setColorize(e){e?(this._colorize[0]=e[0],this._colorize[1]=e[1],this._colorize[2]=e[2],this.layer.setColor(this.portionId,this._colorize,false),this._colorizing=!0):(this.layer.setColor(this.portionId,this._color,false),this._colorizing=!1)}_setOpacity(e,t){const s=e<255,n=this._transparent!==s;this._color[3]=e,this._colorize[3]=e,this._transparent=s,this._colorizing?this.layer.setColor(this.portionId,this._colorize):this.layer.setColor(this.portionId,this._color),n&&this.layer.setTransparent(this.portionId,t,s)}_setOffset(e){this.layer.setOffset(this.portionId,e)}_setHighlighted(e){this.layer.setHighlighted(this.portionId,e,this._transparent)}_setXRayed(e){this.layer.setXRayed(this.portionId,e,this._transparent)}_setSelected(e){this.layer.setSelected(this.portionId,e,this._transparent)}_setEdges(e){this.layer.setEdges(this.portionId,e,this._transparent)}_setClippable(e){this.layer.setClippable(this.portionId,e,this._transparent)}_setCollidable(e){this.layer.setCollidable(this.portionId,e)}_setPickable(e){this.layer.setPickable(this.portionId,e,this._transparent)}_setCulled(e){this.layer.setCulled(this.portionId,e,this._transparent)}canPickTriangle(){return!1}drawPickTriangles(e,t){}pickTriangleSurface(e){}precisionRayPickSurface(e,t,s,n){return!!this.layer.precisionRayPickSurface&&this.layer.precisionRayPickSurface(this.portionId,e,t,s,n)}canPickWorldPos(){return!0}drawPickDepths(e){this.model.drawPickDepths(e)}drawPickNormals(e){this.model.drawPickNormals(e)}delegatePickedEntity(){return this.parent}getEachVertex(e){this.layer.getEachVertex(this.portionId,e)}set aabb(e){this._aabbLocal=e}get aabb(){if(this._aabbWorldDirty){if(A.AABB3ToOBB3(this._aabbLocal,tr),this.transform?(A.transformOBB3(this.transform.worldMatrix,tr,sr),A.transformOBB3(this.model.worldMatrix,sr,nr),A.OBB3ToAABB3(nr,this._aabbWorld)):(A.transformOBB3(this.model.worldMatrix,tr,sr),A.OBB3ToAABB3(sr,this._aabbWorld)),this.origin){const e=this.origin;this._aabbWorld[0]+=e[0],this._aabbWorld[1]+=e[1],this._aabbWorld[2]+=e[2],this._aabbWorld[3]+=e[0],this._aabbWorld[4]+=e[1],this._aabbWorld[5]+=e[2]}this._aabbWorldDirty=!1}return this._aabbWorld}_destroy(){this.model.scene._renderer.putPickID(this.pickId)}}const ar=new class{constructor(){this._uint8Arrays={},this._float32Arrays={}}_clear(){this._uint8Arrays={},this._float32Arrays={}}getUInt8Array(e){let t=this._uint8Arrays[e];return t||(t=new Uint8Array(e),this._uint8Arrays[e]=t),t}getFloat32Array(e){let t=this._float32Arrays[e];return t||(t=new Float32Array(e),this._float32Arrays[e]=t),t}};let rr=0;const lr={NOT_RENDERED:0,COLOR_OPAQUE:1,COLOR_TRANSPARENT:2,SILHOUETTE_HIGHLIGHTED:3,SILHOUETTE_SELECTED:4,SILHOUETTE_XRAYED:5,EDGES_COLOR_OPAQUE:6,EDGES_COLOR_TRANSPARENT:7,EDGES_HIGHLIGHTED:8,EDGES_SELECTED:9,EDGES_XRAYED:10,PICK:11},or=new Float32Array([1,1,1,1]),cr=new Float32Array([0,0,0,1]),ur=A.vec4(),hr=A.vec3(),pr=A.vec3(),Ar=A.mat4();class dr{constructor(e,t=!1,{instancing:s=!1,edges:n=!1}={}){this._scene=e,this._withSAO=t,this._instancing=s,this._edges=n,this._hash=this._getHash(),this._matricesUniformBlockBufferBindingPoint=0,this._matricesUniformBlockBuffer=this._scene.canvas.gl.createBuffer(),this._matricesUniformBlockBufferData=new Float32Array(96),this._vaoCache=new WeakMap,this._allocate()}_getHash(){return this._scene._sectionPlanesState.getHash()}_buildShader(){return{vertex:this._buildVertexShader(),fragment:this._buildFragmentShader()}}_buildVertexShader(){return[""]}_buildFragmentShader(){return[""]}_addMatricesUniformBlockLines(e,t=!1){return e.push("uniform Matrices {"),e.push(" mat4 worldMatrix;"),e.push(" mat4 viewMatrix;"),e.push(" mat4 projMatrix;"),e.push(" mat4 positionsDecodeMatrix;"),t&&(e.push(" mat4 worldNormalMatrix;"),e.push(" mat4 viewNormalMatrix;")),e.push("};"),e}_addRemapClipPosLines(e,t=1){return e.push("uniform vec2 drawingBufferSize;"),e.push("uniform vec2 pickClipPos;"),e.push("vec4 remapClipPos(vec4 clipPos) {"),e.push(" clipPos.xy /= clipPos.w;"),1===t?e.push(" clipPos.xy = (clipPos.xy - pickClipPos) * drawingBufferSize;"):e.push(` clipPos.xy = (clipPos.xy - pickClipPos) * (drawingBufferSize / float(${t}));`),e.push(" clipPos.xy *= clipPos.w;"),e.push(" return clipPos;"),e.push("}"),e}getValid(){return this._hash===this._getHash()}setSectionPlanesStateUniforms(e){const t=this._scene,{gl:s}=t.canvas,{model:n,layerIndex:i}=e,a=t._sectionPlanesState.getNumAllocatedSectionPlanes(),r=t._sectionPlanesState.sectionPlanes.length;if(a>0){const l=t._sectionPlanesState.sectionPlanes,o=i*r,c=n.renderFlags;for(let t=0;t0&&(this._uReflectionMap="reflectionMap"),s.lightMaps.length>0&&(this._uLightMap="lightMap"),this._uSectionPlanes=[];for(let t=0,s=e._sectionPlanesState.getNumAllocatedSectionPlanes();t0&&d.reflectionMaps[0].texture&&this._uReflectionMap&&(this._program.bindTexture(this._uReflectionMap,d.reflectionMaps[0].texture,e.textureUnit),e.textureUnit=(e.textureUnit+1)%a,e.bindTexture++),d.lightMaps.length>0&&d.lightMaps[0].texture&&this._uLightMap&&(this._program.bindTexture(this._uLightMap,d.lightMaps[0].texture,e.textureUnit),e.textureUnit=(e.textureUnit+1)%a,e.bindTexture++),this._withSAO){const t=r.sao;if(t.possible){const s=l.drawingBufferWidth,n=l.drawingBufferHeight;ur[0]=s,ur[1]=n,ur[2]=t.blendCutoff,ur[3]=t.blendFactor,l.uniform4fv(this._uSAOParams,ur),this._program.bindTexture(this._uOcclusionTexture,e.occlusionTexture,e.textureUnit),e.textureUnit=(e.textureUnit+1)%a,e.bindTexture++}}if(n){const e=this._edges?"edgeColor":"fillColor",t=this._edges?"edgeAlpha":"fillAlpha";if(s===lr[(this._edges?"EDGES":"SILHOUETTE")+"_XRAYED"]){const s=r.xrayMaterial._state,n=s[e],i=s[t];l.uniform4f(this._uColor,n[0],n[1],n[2],i)}else if(s===lr[(this._edges?"EDGES":"SILHOUETTE")+"_HIGHLIGHTED"]){const s=r.highlightMaterial._state,n=s[e],i=s[t];l.uniform4f(this._uColor,n[0],n[1],n[2],i)}else if(s===lr[(this._edges?"EDGES":"SILHOUETTE")+"_SELECTED"]){const s=r.selectedMaterial._state,n=s[e],i=s[t];l.uniform4f(this._uColor,n[0],n[1],n[2],i)}else l.uniform4fv(this._uColor,this._edges?cr:or)}this._draw({state:o,frameCtx:e,incrementDrawState:i}),l.bindVertexArray(null)}webglContextRestored(){this._program=null}destroy(){this._program&&this._program.destroy(),this._program=null,y.memory.programs--}}class fr extends dr{constructor(e,t,{instancing:s=!1,edges:n=!1}={}){super(e,t,{instancing:s,edges:n})}_draw(e){const{gl:t}=this._scene.canvas,{state:s,frameCtx:n,incrementDrawState:i}=e;if(this._edges)t.drawElements(t.LINES,s.edgeIndicesBuf.numItems,s.edgeIndicesBuf.itemType,0);else{const e=n.pickElementsCount||s.indicesBuf.numItems,a=n.pickElementsOffset?n.pickElementsOffset*s.indicesBuf.itemByteSize:0;t.drawElements(t.TRIANGLES,e,s.indicesBuf.itemType,a),i&&n.drawElements++}}}class Ir extends fr{constructor(e,t){super(e,t,{instancing:!1,edges:!0})}}class yr extends dr{constructor(e,t,{edges:s=!1}={}){super(e,t,{instancing:!0,edges:s})}_draw(e){const{gl:t}=this._scene.canvas,{state:s,frameCtx:n,incrementDrawState:i}=e;this._edges?t.drawElementsInstanced(t.LINES,s.edgeIndicesBuf.numItems,s.edgeIndicesBuf.itemType,0,s.numInstances):(t.drawElementsInstanced(t.TRIANGLES,s.indicesBuf.numItems,s.indicesBuf.itemType,0,s.numInstances),i&&n.drawElements++)}}class mr extends yr{constructor(e,t){super(e,t,{instancing:!0,edges:!0})}}class vr extends dr{_draw(e){const{gl:t}=this._scene.canvas,{state:s,frameCtx:n,incrementDrawState:i}=e;t.drawArrays(t.POINTS,0,s.positionsBuf.numItems),i&&n.drawArrays++}}class wr extends dr{constructor(e,t){super(e,t,{instancing:!0})}_draw(e){const{gl:t}=this._scene.canvas,{state:s,frameCtx:n,incrementDrawState:i}=e;t.drawArraysInstanced(t.POINTS,0,s.positionsBuf.numItems,s.numInstances),i&&n.drawArrays++}}class gr extends dr{_draw(e){const{gl:t}=this._scene.canvas,{state:s,frameCtx:n,incrementDrawState:i}=e;t.drawElements(t.LINES,s.indicesBuf.numItems,s.indicesBuf.itemType,0),i&&n.drawElements++}}class Er extends dr{constructor(e,t){super(e,t,{instancing:!0})}_draw(e){const{gl:t}=this._scene.canvas,{state:s,frameCtx:n,incrementDrawState:i}=e;t.drawElementsInstanced(t.LINES,s.indicesBuf.numItems,s.indicesBuf.itemType,0,s.numInstances),i&&n.drawElements++}}class Tr extends fr{_getHash(){const e=this._scene;return[e._lightsState.getHash(),e._sectionPlanesState.getHash(),this._withSAO?"sao":"nosao"].join(";")}drawLayer(e,t,s){super.drawLayer(e,t,s,{incrementDrawState:!0})}_buildVertexShader(){const e=this._scene,t=e._sectionPlanesState,s=e._lightsState,n=t.getNumAllocatedSectionPlanes()>0;let i;const a=[];a.push("#version 300 es"),a.push("// Triangles batching draw vertex shader"),a.push("uniform int renderPass;"),a.push("in vec3 position;"),a.push("in vec3 normal;"),a.push("in vec4 color;"),a.push("in float flags;"),e.entityOffsetsEnabled&&a.push("in vec3 offset;"),this._addMatricesUniformBlockLines(a,!0),e.logarithmicDepthBufferEnabled&&(a.push("uniform float logDepthBufFC;"),a.push("out float vFragDepth;"),a.push("bool isPerspectiveMatrix(mat4 m) {"),a.push(" return (m[2][3] == - 1.0);"),a.push("}"),a.push("out float isPerspective;")),a.push("uniform vec4 lightAmbient;");for(let e=0,t=s.lights.length;e= 0.0 ? 1.0 : -1.0, v.y >= 0.0 ? 1.0 : -1.0);"),a.push(" }"),a.push(" return normalize(v);"),a.push("}"),n&&(a.push("out vec4 vWorldPosition;"),a.push("out float vFlags;")),a.push("out vec4 vColor;"),a.push("void main(void) {"),a.push("int colorFlag = int(flags) & 0xF;"),a.push("if (colorFlag != renderPass) {"),a.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),a.push("} else {"),a.push("vec4 worldPosition = worldMatrix * (positionsDecodeMatrix * vec4(position, 1.0)); "),e.entityOffsetsEnabled&&a.push("worldPosition.xyz = worldPosition.xyz + offset;"),a.push("vec4 viewPosition = viewMatrix * worldPosition; "),a.push("vec4 worldNormal = worldNormalMatrix * vec4(octDecode(normal.xy), 0.0); "),a.push("vec3 viewNormal = normalize((viewNormalMatrix * worldNormal).xyz);"),a.push("vec3 reflectedColor = vec3(0.0, 0.0, 0.0);"),a.push("vec3 viewLightDir = vec3(0.0, 0.0, -1.0);"),a.push("float lambertian = 1.0;");for(let e=0,t=s.lights.length;e0,n=[];if(n.push("#version 300 es"),n.push("// Triangles batching draw fragment shader"),n.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),n.push("precision highp float;"),n.push("precision highp int;"),n.push("#else"),n.push("precision mediump float;"),n.push("precision mediump int;"),n.push("#endif"),e.logarithmicDepthBufferEnabled&&(n.push("in float isPerspective;"),n.push("uniform float logDepthBufFC;"),n.push("in float vFragDepth;")),this._withSAO&&(n.push("uniform sampler2D uOcclusionTexture;"),n.push("uniform vec4 uSAOParams;"),n.push("const float packUpscale = 256. / 255.;"),n.push("const float unpackDownScale = 255. / 256.;"),n.push("const vec3 packFactors = vec3( 256. * 256. * 256., 256. * 256., 256. );"),n.push("const vec4 unPackFactors = unpackDownScale / vec4( packFactors, 1. );"),n.push("float unpackRGBToFloat( const in vec4 v ) {"),n.push(" return dot( v, unPackFactors );"),n.push("}")),s){n.push("in vec4 vWorldPosition;"),n.push("in float vFlags;");for(let e=0,s=t.getNumAllocatedSectionPlanes();e> 16 & 0xF) == 1;"),n.push(" if (clippable) {"),n.push(" float dist = 0.0;");for(let e=0,s=t.getNumAllocatedSectionPlanes();e 0.0) { "),n.push(" discard;"),n.push(" }"),n.push("}")}return e.logarithmicDepthBufferEnabled&&n.push(" gl_FragDepth = isPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5;"),this._withSAO?(n.push(" float viewportWidth = uSAOParams[0];"),n.push(" float viewportHeight = uSAOParams[1];"),n.push(" float blendCutoff = uSAOParams[2];"),n.push(" float blendFactor = uSAOParams[3];"),n.push(" vec2 uv = vec2(gl_FragCoord.x / viewportWidth, gl_FragCoord.y / viewportHeight);"),n.push(" float ambient = smoothstep(blendCutoff, 1.0, unpackRGBToFloat(texture(uOcclusionTexture, uv))) * blendFactor;"),n.push(" outColor = vec4(vColor.rgb * ambient, 1.0);")):n.push(" outColor = vColor;"),n.push("}"),n}}class br extends fr{_getHash(){const e=this._scene;return[e._lightsState.getHash(),e._sectionPlanesState.getHash(),this._withSAO?"sao":"nosao"].join(";")}_buildVertexShader(){const e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,s=[];return s.push("#version 300 es"),s.push("// Triangles batching flat-shading draw vertex shader"),s.push("uniform int renderPass;"),s.push("in vec3 position;"),s.push("in vec4 color;"),s.push("in float flags;"),e.entityOffsetsEnabled&&s.push("in vec3 offset;"),this._addMatricesUniformBlockLines(s),e.logarithmicDepthBufferEnabled&&(s.push("uniform float logDepthBufFC;"),s.push("out float vFragDepth;"),s.push("bool isPerspectiveMatrix(mat4 m) {"),s.push(" return (m[2][3] == - 1.0);"),s.push("}"),s.push("out float isPerspective;")),t&&(s.push("out vec4 vWorldPosition;"),s.push("out float vFlags;")),s.push("out vec4 vViewPosition;"),s.push("out vec4 vColor;"),s.push("void main(void) {"),s.push("int colorFlag = int(flags) & 0xF;"),s.push("if (colorFlag != renderPass) {"),s.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),s.push("} else {"),s.push("vec4 worldPosition = worldMatrix * (positionsDecodeMatrix * vec4(position, 1.0)); "),e.entityOffsetsEnabled&&s.push("worldPosition.xyz = worldPosition.xyz + offset;"),s.push("vec4 viewPosition = viewMatrix * worldPosition; "),s.push("vViewPosition = viewPosition;"),s.push("vColor = vec4(float(color.r) / 255.0, float(color.g) / 255.0, float(color.b) / 255.0, float(color.a) / 255.0);"),s.push("vec4 clipPos = projMatrix * viewPosition;"),e.logarithmicDepthBufferEnabled&&(s.push("vFragDepth = 1.0 + clipPos.w;"),s.push("isPerspective = float (isPerspectiveMatrix(projMatrix));")),t&&(s.push("vWorldPosition = worldPosition;"),s.push("vFlags = flags;")),s.push("gl_Position = clipPos;"),s.push("}"),s.push("}"),s}_buildFragmentShader(){const e=this._scene,t=e._lightsState,s=e._sectionPlanesState,n=s.getNumAllocatedSectionPlanes()>0,i=[];if(i.push("#version 300 es"),i.push("// Triangles batching flat-shading draw fragment shader"),i.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),i.push("precision highp float;"),i.push("precision highp int;"),i.push("#else"),i.push("precision mediump float;"),i.push("precision mediump int;"),i.push("#endif"),e.logarithmicDepthBufferEnabled&&(i.push("in float isPerspective;"),i.push("uniform float logDepthBufFC;"),i.push("in float vFragDepth;")),this._withSAO&&(i.push("uniform sampler2D uOcclusionTexture;"),i.push("uniform vec4 uSAOParams;"),i.push("const float packUpscale = 256. / 255.;"),i.push("const float unpackDownScale = 255. / 256.;"),i.push("const vec3 packFactors = vec3( 256. * 256. * 256., 256. * 256., 256. );"),i.push("const vec4 unPackFactors = unpackDownScale / vec4( packFactors, 1. );"),i.push("float unpackRGBToFloat( const in vec4 v ) {"),i.push(" return dot( v, unPackFactors );"),i.push("}")),n){i.push("in vec4 vWorldPosition;"),i.push("in float vFlags;");for(let e=0,t=s.getNumAllocatedSectionPlanes();e> 16 & 0xF) == 1;"),i.push(" if (clippable) {"),i.push(" float dist = 0.0;");for(let e=0,t=s.getNumAllocatedSectionPlanes();e 0.0) { "),i.push(" discard;"),i.push(" }"),i.push("}")}i.push("vec3 reflectedColor = vec3(0.0, 0.0, 0.0);"),i.push("vec3 viewLightDir = vec3(0.0, 0.0, -1.0);"),i.push("float lambertian = 1.0;"),i.push("vec3 xTangent = dFdx( vViewPosition.xyz );"),i.push("vec3 yTangent = dFdy( vViewPosition.xyz );"),i.push("vec3 viewNormal = normalize( cross( xTangent, yTangent ) );");for(let e=0,s=t.lights.length;e0,s=[];return s.push("#version 300 es"),s.push("// Triangles batching silhouette vertex shader"),s.push("uniform int renderPass;"),s.push("in vec3 position;"),e.entityOffsetsEnabled&&s.push("in vec3 offset;"),s.push("in float flags;"),s.push("in vec4 color;"),this._addMatricesUniformBlockLines(s),s.push("uniform vec4 silhouetteColor;"),e.logarithmicDepthBufferEnabled&&(s.push("uniform float logDepthBufFC;"),s.push("out float vFragDepth;"),s.push("bool isPerspectiveMatrix(mat4 m) {"),s.push(" return (m[2][3] == - 1.0);"),s.push("}"),s.push("out float isPerspective;")),t&&(s.push("out vec4 vWorldPosition;"),s.push("out float vFlags;")),s.push("out vec4 vColor;"),s.push("void main(void) {"),s.push("int silhouetteFlag = int(flags) >> 4 & 0xF;"),s.push("if (silhouetteFlag != renderPass) {"),s.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),s.push("} else {"),s.push(" vec4 worldPosition = worldMatrix * (positionsDecodeMatrix * vec4(position, 1.0)); "),e.entityOffsetsEnabled&&s.push(" worldPosition.xyz = worldPosition.xyz + offset;"),s.push("vec4 viewPosition = viewMatrix * worldPosition; "),t&&(s.push("vWorldPosition = worldPosition;"),s.push("vFlags = flags;")),s.push("vColor = vec4(silhouetteColor.r, silhouetteColor.g, silhouetteColor.b, min(silhouetteColor.a, float(color.a) / 255.0));"),s.push("vec4 clipPos = projMatrix * viewPosition;"),e.logarithmicDepthBufferEnabled&&(s.push("vFragDepth = 1.0 + clipPos.w;"),s.push("isPerspective = float (isPerspectiveMatrix(projMatrix));")),s.push("gl_Position = clipPos;"),s.push("}"),s.push("}"),s}_buildFragmentShader(){const e=this._scene,t=e._sectionPlanesState;let s,n;const i=t.getNumAllocatedSectionPlanes()>0,a=[];if(a.push("#version 300 es"),a.push("// Triangles batching silhouette fragment shader"),a.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),a.push("precision highp float;"),a.push("precision highp int;"),a.push("#else"),a.push("precision mediump float;"),a.push("precision mediump int;"),a.push("#endif"),e.logarithmicDepthBufferEnabled&&(a.push("in float isPerspective;"),a.push("uniform float logDepthBufFC;"),a.push("in float vFragDepth;")),i)for(a.push("in vec4 vWorldPosition;"),a.push("in float vFlags;"),s=0,n=t.getNumAllocatedSectionPlanes();s> 16 & 0xF) == 1;"),a.push(" if (clippable) {"),a.push(" float dist = 0.0;"),s=0,n=t.getNumAllocatedSectionPlanes();s 0.0) { discard; }"),a.push("}")}return e.logarithmicDepthBufferEnabled&&a.push(" gl_FragDepth = isPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5;"),a.push("outColor = vColor;"),a.push("}"),a}}class Pr extends Ir{drawLayer(e,t,s){super.drawLayer(e,t,s,{colorUniform:!0})}_buildVertexShader(){const e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,s=[];return s.push("#version 300 es"),s.push("// Batched geometry edges drawing vertex shader"),s.push("uniform int renderPass;"),s.push("uniform vec4 color;"),s.push("in vec3 position;"),e.entityOffsetsEnabled&&s.push("in vec3 offset;"),s.push("in float flags;"),this._addMatricesUniformBlockLines(s),e.logarithmicDepthBufferEnabled&&(s.push("uniform float logDepthBufFC;"),s.push("out float vFragDepth;"),s.push("bool isPerspectiveMatrix(mat4 m) {"),s.push(" return (m[2][3] == - 1.0);"),s.push("}"),s.push("out float isPerspective;")),t&&(s.push("out vec4 vWorldPosition;"),s.push("out float vFlags;")),s.push("out vec4 vColor;"),s.push("void main(void) {"),s.push("int edgeFlag = int(flags) >> 8 & 0xF;"),s.push("if (edgeFlag != renderPass) {"),s.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),s.push("} else {"),s.push(" vec4 worldPosition = worldMatrix * (positionsDecodeMatrix * vec4(position, 1.0)); "),e.entityOffsetsEnabled&&s.push(" worldPosition.xyz = worldPosition.xyz + offset;"),s.push(" vec4 viewPosition = viewMatrix * worldPosition; "),t&&(s.push(" vWorldPosition = worldPosition;"),s.push(" vFlags = flags;")),s.push("vec4 clipPos = projMatrix * viewPosition;"),e.logarithmicDepthBufferEnabled&&(s.push("vFragDepth = 1.0 + clipPos.w;"),s.push("isPerspective = float (isPerspectiveMatrix(projMatrix));")),s.push("gl_Position = clipPos;"),s.push("vColor = vec4(color.r, color.g, color.b, color.a);"),s.push("}"),s.push("}"),s}_buildFragmentShader(){const e=this._scene,t=e._sectionPlanesState,s=t.getNumAllocatedSectionPlanes()>0,n=[];if(n.push("#version 300 es"),n.push("// Batched geometry edges drawing fragment shader"),n.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),n.push("precision highp float;"),n.push("precision highp int;"),n.push("#else"),n.push("precision mediump float;"),n.push("precision mediump int;"),n.push("#endif"),e.logarithmicDepthBufferEnabled&&(n.push("in float isPerspective;"),n.push("uniform float logDepthBufFC;"),n.push("in float vFragDepth;")),s){n.push("in vec4 vWorldPosition;"),n.push("in float vFlags;");for(let e=0,s=t.getNumAllocatedSectionPlanes();e> 16 & 0xF) == 1;"),n.push(" if (clippable) {"),n.push(" float dist = 0.0;");for(let e=0,s=t.getNumAllocatedSectionPlanes();e 0.0) { discard; }"),n.push("}")}return e.logarithmicDepthBufferEnabled&&n.push(" gl_FragDepth = isPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5;"),n.push("outColor = vColor;"),n.push("}"),n}}class Rr extends Ir{_buildVertexShader(){const e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,s=[];return s.push("#version 300 es"),s.push("// Batched geometry edges drawing vertex shader"),s.push("uniform int renderPass;"),s.push("in vec3 position;"),s.push("in vec4 color;"),e.entityOffsetsEnabled&&s.push("in vec3 offset;"),s.push("in float flags;"),this._addMatricesUniformBlockLines(s),e.logarithmicDepthBufferEnabled&&(s.push("uniform float logDepthBufFC;"),s.push("out float vFragDepth;"),s.push("bool isPerspectiveMatrix(mat4 m) {"),s.push(" return (m[2][3] == - 1.0);"),s.push("}"),s.push("out float isPerspective;")),t&&(s.push("out vec4 vWorldPosition;"),s.push("out float vFlags;")),s.push("out vec4 vColor;"),s.push("void main(void) {"),s.push("int edgeFlag = int(flags) >> 8 & 0xF;"),s.push("if (edgeFlag != renderPass) {"),s.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),s.push("} else {"),s.push(" vec4 worldPosition = worldMatrix * (positionsDecodeMatrix * vec4(position, 1.0)); "),e.entityOffsetsEnabled&&s.push(" worldPosition.xyz = worldPosition.xyz + offset;"),s.push(" vec4 viewPosition = viewMatrix * worldPosition; "),t&&(s.push(" vWorldPosition = worldPosition;"),s.push(" vFlags = flags;")),s.push("vec4 clipPos = projMatrix * viewPosition;"),e.logarithmicDepthBufferEnabled&&(s.push("vFragDepth = 1.0 + clipPos.w;"),s.push("isPerspective = float (isPerspectiveMatrix(projMatrix));")),s.push("gl_Position = clipPos;"),s.push("vColor = vec4(float(color.r*0.5) / 255.0, float(color.g*0.5) / 255.0, float(color.b*0.5) / 255.0, float(color.a) / 255.0);"),s.push("}"),s.push("}"),s}_buildFragmentShader(){const e=this._scene,t=e._sectionPlanesState,s=t.getNumAllocatedSectionPlanes()>0,n=[];if(n.push("#version 300 es"),n.push("// Batched geometry edges drawing fragment shader"),n.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),n.push("precision highp float;"),n.push("precision highp int;"),n.push("#else"),n.push("precision mediump float;"),n.push("precision mediump int;"),n.push("#endif"),e.logarithmicDepthBufferEnabled&&(n.push("in float isPerspective;"),n.push("uniform float logDepthBufFC;"),n.push("in float vFragDepth;")),s){n.push("in vec4 vWorldPosition;"),n.push("in float vFlags;");for(let e=0,s=t.getNumAllocatedSectionPlanes();e> 16 & 0xF) == 1;"),n.push(" if (clippable) {"),n.push(" float dist = 0.0;");for(let e=0,s=t.getNumAllocatedSectionPlanes();e 0.0) { discard; }"),n.push("}")}return e.logarithmicDepthBufferEnabled&&n.push(" gl_FragDepth = isPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5;"),n.push("outColor = vColor;"),n.push("}"),n}}class Cr extends fr{_buildVertexShader(){const e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,s=[];return s.push("#version 300 es"),s.push("// Batched geometry picking vertex shader"),s.push("uniform int renderPass;"),s.push("in vec3 position;"),e.entityOffsetsEnabled&&s.push("in vec3 offset;"),s.push("in float flags;"),s.push("in vec4 pickColor;"),s.push("uniform bool pickInvisible;"),this._addMatricesUniformBlockLines(s),e.logarithmicDepthBufferEnabled&&(s.push("uniform float logDepthBufFC;"),s.push("out float vFragDepth;"),s.push("bool isPerspectiveMatrix(mat4 m) {"),s.push(" return (m[2][3] == - 1.0);"),s.push("}"),s.push("out float isPerspective;")),t&&(s.push("out vec4 vWorldPosition;"),s.push("out float vFlags;")),this._addRemapClipPosLines(s),s.push("out vec4 vPickColor;"),s.push("void main(void) {"),s.push("int pickFlag = int(flags) >> 12 & 0xF;"),s.push("if (pickFlag != renderPass) {"),s.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),s.push(" } else {"),s.push(" vec4 worldPosition = worldMatrix * (positionsDecodeMatrix * vec4(position, 1.0)); "),e.entityOffsetsEnabled&&s.push(" worldPosition.xyz = worldPosition.xyz + offset;"),s.push(" vec4 viewPosition = viewMatrix * worldPosition; "),s.push(" vPickColor = vec4(float(pickColor.r) / 255.0, float(pickColor.g) / 255.0, float(pickColor.b) / 255.0, float(pickColor.a) / 255.0);"),t&&(s.push(" vWorldPosition = worldPosition;"),s.push(" vFlags = flags;")),s.push("vec4 clipPos = projMatrix * viewPosition;"),e.logarithmicDepthBufferEnabled&&(s.push("vFragDepth = 1.0 + clipPos.w;"),s.push("isPerspective = float (isPerspectiveMatrix(projMatrix));")),s.push("gl_Position = remapClipPos(clipPos);"),s.push(" }"),s.push("}"),s}_buildFragmentShader(){const e=this._scene,t=e._sectionPlanesState,s=t.getNumAllocatedSectionPlanes()>0,n=[];if(n.push("#version 300 es"),n.push("// Batched geometry picking fragment shader"),n.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),n.push("precision highp float;"),n.push("precision highp int;"),n.push("#else"),n.push("precision mediump float;"),n.push("precision mediump int;"),n.push("#endif"),e.logarithmicDepthBufferEnabled&&(n.push("in float isPerspective;"),n.push("uniform float logDepthBufFC;"),n.push("in float vFragDepth;")),s){n.push("in vec4 vWorldPosition;"),n.push("in float vFlags;");for(var i=0;i> 16 & 0xF) == 1;"),n.push(" if (clippable) {"),n.push(" float dist = 0.0;");for(let e=0;e 0.0) { discard; }"),n.push(" }")}return e.logarithmicDepthBufferEnabled&&n.push(" gl_FragDepth = isPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5;"),n.push(" outColor = vPickColor; "),n.push("}"),n}}class _r extends fr{_buildVertexShader(){const e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,s=[];return s.push("#version 300 es"),s.push("// Triangles batching pick depth vertex shader"),s.push("uniform int renderPass;"),s.push("in vec3 position;"),e.entityOffsetsEnabled&&s.push("in vec3 offset;"),s.push("in float flags;"),s.push("uniform bool pickInvisible;"),this._addMatricesUniformBlockLines(s),e.logarithmicDepthBufferEnabled&&(s.push("uniform float logDepthBufFC;"),s.push("out float vFragDepth;"),s.push("bool isPerspectiveMatrix(mat4 m) {"),s.push(" return (m[2][3] == - 1.0);"),s.push("}"),s.push("out float isPerspective;")),t&&(s.push("out vec4 vWorldPosition;"),s.push("out float vFlags;")),this._addRemapClipPosLines(s),s.push("out vec4 vViewPosition;"),s.push("void main(void) {"),s.push("int pickFlag = int(flags) >> 12 & 0xF;"),s.push("if (pickFlag != renderPass) {"),s.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),s.push(" } else {"),s.push(" vec4 worldPosition = worldMatrix * (positionsDecodeMatrix * vec4(position, 1.0)); "),e.entityOffsetsEnabled&&s.push(" worldPosition.xyz = worldPosition.xyz + offset;"),s.push(" vec4 viewPosition = viewMatrix * worldPosition; "),t&&(s.push(" vWorldPosition = worldPosition;"),s.push(" vFlags = flags;")),s.push("vViewPosition = viewPosition;"),s.push("vec4 clipPos = projMatrix * viewPosition;"),e.logarithmicDepthBufferEnabled&&(s.push("vFragDepth = 1.0 + clipPos.w;"),s.push("isPerspective = float (isPerspectiveMatrix(projMatrix));")),s.push("gl_Position = remapClipPos(clipPos);"),s.push(" }"),s.push("}"),s}_buildFragmentShader(){const e=this._scene,t=e._sectionPlanesState,s=t.getNumAllocatedSectionPlanes()>0,n=[];if(n.push("#version 300 es"),n.push("// Triangles batching pick depth fragment shader"),n.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),n.push("precision highp float;"),n.push("precision highp int;"),n.push("#else"),n.push("precision mediump float;"),n.push("precision mediump int;"),n.push("#endif"),e.logarithmicDepthBufferEnabled&&(n.push("in float isPerspective;"),n.push("uniform float logDepthBufFC;"),n.push("in float vFragDepth;")),n.push("uniform float pickZNear;"),n.push("uniform float pickZFar;"),s){n.push("in vec4 vWorldPosition;"),n.push("in float vFlags;");for(var i=0;i> 16 & 0xF) == 1;"),n.push(" if (clippable) {"),n.push(" float dist = 0.0;");for(let e=0;e 0.0) { discard; }"),n.push(" }")}return e.logarithmicDepthBufferEnabled&&n.push(" gl_FragDepth = isPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5;"),n.push(" float zNormalizedDepth = abs((pickZNear + vViewPosition.z) / (pickZFar - pickZNear));"),n.push(" outColor = packDepth(zNormalizedDepth); "),n.push("}"),n}}class Br extends fr{_buildVertexShader(){const e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,s=[];return s.push("#version 300 es"),s.push("// Triangles batching pick normals vertex shader"),s.push("uniform int renderPass;"),s.push("in vec3 position;"),e.entityOffsetsEnabled&&s.push("in vec3 offset;"),s.push("in vec3 normal;"),s.push("in float flags;"),s.push("uniform bool pickInvisible;"),this._addMatricesUniformBlockLines(s),this._addRemapClipPosLines(s,3),e.logarithmicDepthBufferEnabled&&(s.push("uniform float logDepthBufFC;"),s.push("out float vFragDepth;"),s.push("bool isPerspectiveMatrix(mat4 m) {"),s.push(" return (m[2][3] == - 1.0);"),s.push("}"),s.push("out float isPerspective;")),s.push("vec3 octDecode(vec2 oct) {"),s.push(" vec3 v = vec3(oct.xy, 1.0 - abs(oct.x) - abs(oct.y));"),s.push(" if (v.z < 0.0) {"),s.push(" v.xy = (1.0 - abs(v.yx)) * vec2(v.x >= 0.0 ? 1.0 : -1.0, v.y >= 0.0 ? 1.0 : -1.0);"),s.push(" }"),s.push(" return normalize(v);"),s.push("}"),t&&(s.push("out vec4 vWorldPosition;"),s.push("out float vFlags;")),s.push("out vec3 vWorldNormal;"),s.push("out vec4 outColor;"),s.push("void main(void) {"),s.push("int pickFlag = int(flags) >> 12 & 0xF;"),s.push("if (pickFlag != renderPass) {"),s.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),s.push(" } else {"),s.push(" vec4 worldPosition = worldMatrix * (positionsDecodeMatrix * vec4(position, 1.0)); "),e.entityOffsetsEnabled&&s.push(" worldPosition.xyz = worldPosition.xyz + offset;"),s.push(" vec4 viewPosition = viewMatrix * worldPosition; "),s.push(" vec3 worldNormal = octDecode(normal.xy); "),s.push(" vWorldNormal = worldNormal;"),t&&(s.push(" vWorldPosition = worldPosition;"),s.push(" vFlags = flags;")),s.push("vec4 clipPos = projMatrix * viewPosition;"),e.logarithmicDepthBufferEnabled&&(s.push("vFragDepth = 1.0 + clipPos.w;"),s.push("isPerspective = float (isPerspectiveMatrix(projMatrix));")),s.push("gl_Position = remapClipPos(clipPos);"),s.push(" }"),s.push("}"),s}_buildFragmentShader(){const e=this._scene,t=e._sectionPlanesState,s=t.getNumAllocatedSectionPlanes()>0,n=[];if(n.push("#version 300 es"),n.push("// Triangles batching pick normals fragment shader"),n.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),n.push("precision highp float;"),n.push("precision highp int;"),n.push("#else"),n.push("precision mediump float;"),n.push("precision mediump int;"),n.push("#endif"),e.logarithmicDepthBufferEnabled&&(n.push("in float isPerspective;"),n.push("uniform float logDepthBufFC;"),n.push("in float vFragDepth;")),s){n.push("in vec4 vWorldPosition;"),n.push("in float vFlags;");for(var i=0;i> 16 & 0xF) == 1;"),n.push(" if (clippable) {"),n.push(" float dist = 0.0;");for(let e=0;e 0.0) { discard; }"),n.push(" }")}return e.logarithmicDepthBufferEnabled&&n.push(" gl_FragDepth = isPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5;"),n.push(` outNormal = ivec4(vWorldNormal * float(${A.MAX_INT}), 1.0);`),n.push("}"),n}}class Or extends fr{_buildVertexShader(){const e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,s=[];return s.push("#version 300 es"),s.push("// Triangles batching occlusion vertex shader"),s.push("uniform int renderPass;"),s.push("in vec3 position;"),e.entityOffsetsEnabled&&s.push("in vec3 offset;"),s.push("in vec4 color;"),s.push("in float flags;"),this._addMatricesUniformBlockLines(s),t&&(s.push("out vec4 vWorldPosition;"),s.push("out float vFlags;")),s.push("void main(void) {"),s.push("int colorFlag = int(flags) & 0xF;"),s.push("if (colorFlag != renderPass) {"),s.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),s.push(" } else {"),s.push(" vec4 worldPosition = worldMatrix * (positionsDecodeMatrix * vec4(position, 1.0)); "),e.entityOffsetsEnabled&&s.push(" worldPosition.xyz = worldPosition.xyz + offset;"),s.push(" vec4 viewPosition = viewMatrix * worldPosition; "),t&&(s.push(" vWorldPosition = worldPosition;"),s.push(" vFlags = flags;")),s.push("vec4 clipPos = projMatrix * viewPosition;"),s.push("gl_Position = clipPos;"),s.push(" }"),s.push("}"),s}_buildFragmentShader(){const e=this._scene._sectionPlanesState,t=e.getNumAllocatedSectionPlanes()>0,s=[];if(s.push("#version 300 es"),s.push("// Triangles batching occlusion fragment shader"),s.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),s.push("precision highp float;"),s.push("precision highp int;"),s.push("#else"),s.push("precision mediump float;"),s.push("precision mediump int;"),s.push("#endif"),t){s.push("in vec4 vWorldPosition;"),s.push("in float vFlags;");for(let t=0;t> 16 & 0xF) == 1;"),s.push(" if (clippable) {"),s.push(" float dist = 0.0;");for(let t=0;t 0.0) { discard; }"),s.push(" }")}return s.push(" outColor = vec4(0.0, 0.0, 1.0, 1.0); "),s.push("}"),s}}class Sr extends fr{_buildVertexShader(){const e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,s=[];return s.push("#version 300 es"),s.push("// Triangles batching depth vertex shader"),s.push("uniform int renderPass;"),s.push("in vec3 position;"),e.entityOffsetsEnabled&&s.push("in vec3 offset;"),s.push("in float flags;"),this._addMatricesUniformBlockLines(s),e.logarithmicDepthBufferEnabled&&(s.push("uniform float logDepthBufFC;"),s.push("out float vFragDepth;"),s.push("bool isPerspectiveMatrix(mat4 m) {"),s.push(" return (m[2][3] == - 1.0);"),s.push("}"),s.push("out float isPerspective;")),t&&(s.push("out vec4 vWorldPosition;"),s.push("out float vFlags;")),s.push("out vec2 vHighPrecisionZW;"),s.push("void main(void) {"),s.push("int colorFlag = int(flags) & 0xF;"),s.push("if (colorFlag != renderPass) {"),s.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),s.push(" } else {"),s.push(" vec4 worldPosition = worldMatrix * (positionsDecodeMatrix * vec4(position, 1.0)); "),e.entityOffsetsEnabled&&s.push(" worldPosition.xyz = worldPosition.xyz + offset;"),s.push(" vec4 viewPosition = viewMatrix * worldPosition; "),t&&(s.push(" vWorldPosition = worldPosition;"),s.push(" vFlags = flags;")),s.push("vec4 clipPos = projMatrix * viewPosition;"),e.logarithmicDepthBufferEnabled&&(s.push("vFragDepth = 1.0 + clipPos.w;"),s.push("isPerspective = float (isPerspectiveMatrix(projMatrix));")),s.push("gl_Position = clipPos;"),s.push("vHighPrecisionZW = gl_Position.zw;"),s.push(" }"),s.push("}"),s}_buildFragmentShader(){const e=this._scene,t=e._sectionPlanesState,s=t.getNumAllocatedSectionPlanes()>0,n=[];if(n.push("#version 300 es"),n.push("// Triangles batching depth fragment shader"),n.push("precision highp float;"),n.push("precision highp int;"),e.logarithmicDepthBufferEnabled&&(n.push("in float isPerspective;"),n.push("uniform float logDepthBufFC;"),n.push("in float vFragDepth;")),s){n.push("in vec4 vWorldPosition;"),n.push("in float vFlags;");for(let e=0;e> 16 & 0xF) == 1;"),n.push(" if (clippable) {"),n.push(" float dist = 0.0;");for(var i=0;i 0.0) { discard; }"),n.push(" }")}return e.logarithmicDepthBufferEnabled&&n.push(" gl_FragDepth = isPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5;"),n.push("float fragCoordZ = 0.5 * vHighPrecisionZW[0] / vHighPrecisionZW[1] + 0.5;"),n.push(" outColor = vec4(vec3(1.0 - fragCoordZ), 1.0); "),n.push("}"),n}}class Nr extends fr{_buildVertexShader(){const e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,s=[];return s.push("#version 300 es"),s.push("// Batched geometry normals vertex shader"),s.push("uniform int renderPass;"),s.push("in vec3 position;"),e.entityOffsetsEnabled&&s.push("in vec3 offset;"),s.push("in vec3 normal;"),s.push("in vec4 color;"),s.push("in float flags;"),this._addMatricesUniformBlockLines(s,!0),e.logarithmicDepthBufferEnabled&&(s.push("uniform float logDepthBufFC;"),s.push("out float vFragDepth;"),s.push("bool isPerspectiveMatrix(mat4 m) {"),s.push(" return (m[2][3] == - 1.0);"),s.push("}"),s.push("out float isPerspective;")),s.push("vec3 octDecode(vec2 oct) {"),s.push(" vec3 v = vec3(oct.xy, 1.0 - abs(oct.x) - abs(oct.y));"),s.push(" if (v.z < 0.0) {"),s.push(" v.xy = (1.0 - abs(v.yx)) * vec2(v.x >= 0.0 ? 1.0 : -1.0, v.y >= 0.0 ? 1.0 : -1.0);"),s.push(" }"),s.push(" return normalize(v);"),s.push("}"),t&&(s.push("out vec4 vWorldPosition;"),s.push("out float vFlags;")),s.push("out vec3 vViewNormal;"),s.push("void main(void) {"),s.push("int colorFlag = int(flags) & 0xF;"),s.push("if (colorFlag != renderPass) {"),s.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),s.push(" } else {"),s.push(" vec4 worldPosition = worldMatrix * (positionsDecodeMatrix * vec4(position, 1.0)); "),e.entityOffsetsEnabled&&s.push(" worldPosition.xyz = worldPosition.xyz + offset;"),s.push(" vec4 viewPosition = viewMatrix * worldPosition; "),s.push(" vec4 worldNormal = worldNormalMatrix * vec4(octDecode(normal.xy), 0.0); "),s.push(" vec3 viewNormal = normalize((viewNormalMatrix * worldNormal).xyz);"),t&&(s.push(" vWorldPosition = worldPosition;"),s.push(" vFlags = flags;")),s.push(" vViewNormal = viewNormal;"),s.push("vec4 clipPos = projMatrix * viewPosition;"),e.logarithmicDepthBufferEnabled&&(s.push("vFragDepth = 1.0 + clipPos.w;"),s.push("isPerspective = float (isPerspectiveMatrix(projMatrix));")),s.push("gl_Position = clipPos;"),s.push(" }"),s.push("}"),s}_buildFragmentShader(){const e=this._scene,t=e._sectionPlanesState,s=t.getNumAllocatedSectionPlanes()>0,n=[];if(n.push("#version 300 es"),n.push("// Batched geometry normals fragment shader"),n.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),n.push("precision highp float;"),n.push("precision highp int;"),n.push("#else"),n.push("precision mediump float;"),n.push("precision mediump int;"),n.push("#endif"),e.logarithmicDepthBufferEnabled&&(n.push("in float isPerspective;"),n.push("uniform float logDepthBufFC;"),n.push("in float vFragDepth;")),s){n.push("in vec4 vWorldPosition;"),n.push("in float vFlags;");for(let e=0;e> 16 & 0xF) == 1;"),n.push(" if (clippable) {"),n.push(" float dist = 0.0;");for(var i=0;i 0.0) { discard; }"),n.push(" }")}return e.logarithmicDepthBufferEnabled&&n.push(" gl_FragDepth = isPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5;"),n.push(" outColor = vec4(packNormalToRGB(vViewNormal), 1.0); "),n.push("}"),n}}class xr extends fr{_buildVertexShader(){const e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,s=[];return s.push("#version 300 es"),s.push("// Batched geometry shadow vertex shader"),s.push("in vec3 position;"),e.entityOffsetsEnabled&&s.push("in vec3 offset;"),s.push("in vec4 color;"),s.push("in float flags;"),s.push("uniform mat4 shadowViewMatrix;"),s.push("uniform mat4 shadowProjMatrix;"),this._addMatricesUniformBlockLines(s),t&&(s.push("out vec4 vWorldPosition;"),s.push("out float vFlags;")),s.push("out vec4 vViewPosition;"),s.push("out vec4 outColor;"),s.push("void main(void) {"),s.push(" int colorFlag = int(flags) & 0xF;"),s.push(" bool visible = (colorFlag > 0);"),s.push(" bool transparent = ((float(color.a) / 255.0) < 1.0);"),s.push(" if (!visible || transparent) {"),s.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),s.push(" } else {"),s.push(" vec4 worldPosition = positionsDecodeMatrix * vec4(position, 1.0); "),e.entityOffsetsEnabled&&s.push(" worldPosition.xyz = worldPosition.xyz + offset;"),s.push(" vec4 viewPosition = shadowViewMatrix * worldPosition; "),t&&(s.push(" vWorldPosition = worldPosition;"),s.push(" vFlags = flags;")),s.push(" vViewPosition = viewPosition;"),s.push(" gl_Position = shadowProjMatrix * viewPosition;"),s.push(" }"),s.push("}"),s}_buildFragmentShader(){const e=this._scene._sectionPlanesState,t=e.getNumAllocatedSectionPlanes()>0,s=[];if(s.push("#version 300 es"),s.push("// Batched geometry shadow fragment shader"),s.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),s.push("precision highp float;"),s.push("precision highp int;"),s.push("#else"),s.push("precision mediump float;"),s.push("precision mediump int;"),s.push("#endif"),t){s.push("in vec4 vWorldPosition;"),s.push("in float vFlags;");for(let t=0;t> 16 & 0xF) == 1;"),s.push(" if (clippable) {"),s.push(" float dist = 0.0;");for(var n=0;n 0.0) { discard; }"),s.push(" }")}return s.push(" outColor = encodeFloat( gl_FragCoord.z); "),s.push("}"),s}}class Lr extends fr{_getHash(){const e=this._scene;return[e.gammaOutput,e._lightsState.getHash(),e._sectionPlanesState.getHash(),this._withSAO?"sao":"nosao"].join(";")}drawLayer(e,t,s){super.drawLayer(e,t,s,{incrementDrawState:!0})}_buildVertexShader(){const e=this._scene,t=e._sectionPlanesState,s=e._lightsState,n=t.getNumAllocatedSectionPlanes()>0,i=t.clippingCaps,a=[];return a.push("#version 300 es"),a.push("// Triangles batching quality draw vertex shader"),a.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),a.push("precision highp float;"),a.push("precision highp int;"),a.push("precision highp usampler2D;"),a.push("precision highp isampler2D;"),a.push("precision highp sampler2D;"),a.push("#else"),a.push("precision mediump float;"),a.push("precision mediump int;"),a.push("precision mediump usampler2D;"),a.push("precision mediump isampler2D;"),a.push("precision mediump sampler2D;"),a.push("#endif"),a.push("uniform int renderPass;"),a.push("in vec3 position;"),a.push("in vec3 normal;"),a.push("in vec4 color;"),a.push("in vec2 uv;"),a.push("in vec2 metallicRoughness;"),a.push("in float flags;"),e.entityOffsetsEnabled&&a.push("in vec3 offset;"),this._addMatricesUniformBlockLines(a,!0),a.push("uniform mat3 uvDecodeMatrix;"),e.logarithmicDepthBufferEnabled&&(a.push("uniform float logDepthBufFC;"),a.push("out float vFragDepth;"),a.push("bool isPerspectiveMatrix(mat4 m) {"),a.push(" return (m[2][3] == - 1.0);"),a.push("}"),a.push("out float isPerspective;")),a.push("vec3 octDecode(vec2 oct) {"),a.push(" vec3 v = vec3(oct.xy, 1.0 - abs(oct.x) - abs(oct.y));"),a.push(" if (v.z < 0.0) {"),a.push(" v.xy = (1.0 - abs(v.yx)) * vec2(v.x >= 0.0 ? 1.0 : -1.0, v.y >= 0.0 ? 1.0 : -1.0);"),a.push(" }"),a.push(" return normalize(v);"),a.push("}"),a.push("out vec4 vViewPosition;"),a.push("out vec3 vViewNormal;"),a.push("out vec4 vColor;"),a.push("out vec2 vUV;"),a.push("out vec2 vMetallicRoughness;"),s.lightMaps.length>0&&a.push("out vec3 vWorldNormal;"),n&&(a.push("out vec4 vWorldPosition;"),a.push("out float vFlags;"),i&&a.push("out vec4 vClipPosition;")),a.push("void main(void) {"),a.push("int colorFlag = int(flags) & 0xF;"),a.push("if (colorFlag != renderPass) {"),a.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),a.push("} else {"),a.push("vec4 worldPosition = worldMatrix * (positionsDecodeMatrix * vec4(position, 1.0)); "),e.entityOffsetsEnabled&&a.push("worldPosition.xyz = worldPosition.xyz + offset;"),a.push("vec4 viewPosition = viewMatrix * worldPosition; "),a.push("vec4 worldNormal = worldNormalMatrix * vec4(octDecode(normal.xy), 0.0); "),a.push("vec3 viewNormal = normalize((viewNormalMatrix * worldNormal).xyz);"),a.push("vec4 clipPos = projMatrix * viewPosition;"),e.logarithmicDepthBufferEnabled&&(a.push("isPerspective = float (isPerspectiveMatrix(projMatrix));"),a.push("vFragDepth = 1.0 + clipPos.w;")),n&&(a.push("vWorldPosition = worldPosition;"),a.push("vFlags = flags;"),i&&a.push("vClipPosition = clipPos;")),a.push("vViewPosition = viewPosition;"),a.push("vViewNormal = viewNormal;"),a.push("vColor = color;"),a.push("vUV = (uvDecodeMatrix * vec3(uv, 1.0)).xy;"),a.push("vMetallicRoughness = metallicRoughness;"),s.lightMaps.length>0&&a.push("vWorldNormal = worldNormal.xyz;"),a.push("gl_Position = clipPos;"),a.push("}"),a.push("}"),a}_buildFragmentShader(){const e=this._scene,t=e.gammaOutput,s=e._sectionPlanesState,n=e._lightsState,i=s.getNumAllocatedSectionPlanes()>0,a=s.clippingCaps,r=[];r.push("#version 300 es"),r.push("// Triangles batching quality draw fragment shader"),r.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),r.push("precision highp float;"),r.push("precision highp int;"),r.push("#else"),r.push("precision mediump float;"),r.push("precision mediump int;"),r.push("#endif"),e.logarithmicDepthBufferEnabled&&(r.push("in float isPerspective;"),r.push("uniform float logDepthBufFC;"),r.push("in float vFragDepth;")),r.push("uniform sampler2D uColorMap;"),r.push("uniform sampler2D uMetallicRoughMap;"),r.push("uniform sampler2D uEmissiveMap;"),r.push("uniform sampler2D uNormalMap;"),r.push("uniform sampler2D uAOMap;"),r.push("in vec4 vViewPosition;"),r.push("in vec3 vViewNormal;"),r.push("in vec4 vColor;"),r.push("in vec2 vUV;"),r.push("in vec2 vMetallicRoughness;"),n.lightMaps.length>0&&r.push("in vec3 vWorldNormal;"),this._addMatricesUniformBlockLines(r,!0),n.reflectionMaps.length>0&&r.push("uniform samplerCube reflectionMap;"),n.lightMaps.length>0&&r.push("uniform samplerCube lightMap;"),r.push("uniform vec4 lightAmbient;");for(let e=0,t=n.lights.length;e0&&(r.push("vec3 getLightProbeIndirectRadiance(const in vec3 reflectVec, const in float blinnShininessExponent, const in int maxMIPLevel) {"),r.push(" float mipLevel = 0.5 * getSpecularMIPLevel(blinnShininessExponent, maxMIPLevel);"),r.push(" vec3 envMapColor = sRGBToLinear(texture(reflectionMap, reflectVec, mipLevel)).rgb;"),r.push(" return envMapColor;"),r.push("}")),r.push("vec3 F_Schlick(const in vec3 specularColor, const in float dotLH) {"),r.push(" float fresnel = exp2( ( -5.55473 * dotLH - 6.98316 ) * dotLH );"),r.push(" return ( 1.0 - specularColor ) * fresnel + specularColor;"),r.push("}"),r.push("float G_GGX_Smith(const in float alpha, const in float dotNL, const in float dotNV) {"),r.push(" float a2 = ( alpha * alpha );"),r.push(" float gl = dotNL + sqrt( a2 + ( 1.0 - a2 ) * ( dotNL * dotNL ) );"),r.push(" float gv = dotNV + sqrt( a2 + ( 1.0 - a2 ) * ( dotNV * dotNV ) );"),r.push(" return 1.0 / ( gl * gv );"),r.push("}"),r.push("float G_GGX_SmithCorrelated(const in float alpha, const in float dotNL, const in float dotNV) {"),r.push(" float a2 = ( alpha * alpha );"),r.push(" float gv = dotNL * sqrt( a2 + ( 1.0 - a2 ) * ( dotNV * dotNV ) );"),r.push(" float gl = dotNV * sqrt( a2 + ( 1.0 - a2 ) * ( dotNL * dotNL ) );"),r.push(" return 0.5 / max( gv + gl, EPSILON );"),r.push("}"),r.push("float D_GGX(const in float alpha, const in float dotNH) {"),r.push(" float a2 = ( alpha * alpha );"),r.push(" float denom = ( dotNH * dotNH) * ( a2 - 1.0 ) + 1.0;"),r.push(" return RECIPROCAL_PI * a2 / ( denom * denom);"),r.push("}"),r.push("vec3 BRDF_Specular_GGX(const in IncidentLight incidentLight, const in Geometry geometry, const in vec3 specularColor, const in float roughness) {"),r.push(" float alpha = ( roughness * roughness );"),r.push(" vec3 halfDir = normalize( incidentLight.direction + geometry.viewEyeDir );"),r.push(" float dotNL = saturate( dot( geometry.viewNormal, incidentLight.direction ) );"),r.push(" float dotNV = saturate( dot( geometry.viewNormal, geometry.viewEyeDir ) );"),r.push(" float dotNH = saturate( dot( geometry.viewNormal, halfDir ) );"),r.push(" float dotLH = saturate( dot( incidentLight.direction, halfDir ) );"),r.push(" vec3 F = F_Schlick( specularColor, dotLH );"),r.push(" float G = G_GGX_SmithCorrelated( alpha, dotNL, dotNV );"),r.push(" float D = D_GGX( alpha, dotNH );"),r.push(" return F * (G * D);"),r.push("}"),r.push("vec3 BRDF_Specular_GGX_Environment(const in Geometry geometry, const in vec3 specularColor, const in float roughness) {"),r.push(" float dotNV = saturate(dot(geometry.viewNormal, geometry.viewEyeDir));"),r.push(" const vec4 c0 = vec4( -1, -0.0275, -0.572, 0.022);"),r.push(" const vec4 c1 = vec4( 1, 0.0425, 1.04, -0.04);"),r.push(" vec4 r = roughness * c0 + c1;"),r.push(" float a004 = min(r.x * r.x, exp2(-9.28 * dotNV)) * r.x + r.y;"),r.push(" vec2 AB = vec2(-1.04, 1.04) * a004 + r.zw;"),r.push(" return specularColor * AB.x + AB.y;"),r.push("}"),(n.lightMaps.length>0||n.reflectionMaps.length>0)&&(r.push("void computePBRLightMapping(const in Geometry geometry, const in Material material, inout ReflectedLight reflectedLight) {"),n.lightMaps.length>0&&(r.push(" vec3 irradiance = sRGBToLinear(texture(lightMap, geometry.worldNormal)).rgb;"),r.push(" irradiance *= PI;"),r.push(" vec3 diffuseBRDFContrib = (RECIPROCAL_PI * material.diffuseColor);"),r.push(" reflectedLight.diffuse += irradiance * diffuseBRDFContrib;")),n.reflectionMaps.length>0&&(r.push(" vec3 reflectVec = reflect(geometry.viewEyeDir, geometry.viewNormal);"),r.push(" reflectVec = inverseTransformDirection(reflectVec, viewMatrix);"),r.push(" float blinnExpFromRoughness = GGXRoughnessToBlinnExponent(material.specularRoughness);"),r.push(" vec3 radiance = getLightProbeIndirectRadiance(reflectVec, blinnExpFromRoughness, 8);"),r.push(" vec3 specularBRDFContrib = BRDF_Specular_GGX_Environment(geometry, material.specularColor, material.specularRoughness);"),r.push(" reflectedLight.specular += radiance * specularBRDFContrib;")),r.push("}")),r.push("void computePBRLighting(const in IncidentLight incidentLight, const in Geometry geometry, const in Material material, inout ReflectedLight reflectedLight) {"),r.push(" float dotNL = saturate(dot(geometry.viewNormal, incidentLight.direction));"),r.push(" vec3 irradiance = dotNL * incidentLight.color * PI;"),r.push(" reflectedLight.diffuse += irradiance * (RECIPROCAL_PI * material.diffuseColor);"),r.push(" reflectedLight.specular += irradiance * BRDF_Specular_GGX(incidentLight, geometry, material.specularColor, material.specularRoughness);"),r.push("}"),r.push("out vec4 outColor;"),r.push("void main(void) {"),i){r.push(" bool clippable = (int(vFlags) >> 16 & 0xF) == 1;"),r.push(" if (clippable) {"),r.push(" float dist = 0.0;");for(let e=0,t=s.getNumAllocatedSectionPlanes();e (0.002 * vClipPosition.w)) {"),r.push(" discard;"),r.push(" }"),r.push(" if (dist > 0.0) { "),r.push(" outColor=vec4(1.0, 0.0, 0.0, 1.0);"),e.logarithmicDepthBufferEnabled&&r.push(" gl_FragDepth = log2( vFragDepth ) * logDepthBufFC * 0.5;"),r.push(" return;"),r.push("}")):(r.push(" if (dist > 0.0) { "),r.push(" discard;"),r.push(" }")),r.push("}")}r.push("IncidentLight light;"),r.push("Material material;"),r.push("Geometry geometry;"),r.push("ReflectedLight reflectedLight = ReflectedLight(vec3(0.0,0.0,0.0), vec3(0.0,0.0,0.0));"),r.push("vec3 rgb = (vec3(float(vColor.r) / 255.0, float(vColor.g) / 255.0, float(vColor.b) / 255.0));"),r.push("float opacity = float(vColor.a) / 255.0;"),r.push("vec3 baseColor = rgb;"),r.push("float specularF0 = 1.0;"),r.push("float metallic = float(vMetallicRoughness.r) / 255.0;"),r.push("float roughness = float(vMetallicRoughness.g) / 255.0;"),r.push("float dielectricSpecular = 0.16 * specularF0 * specularF0;"),r.push("vec4 colorTexel = sRGBToLinear(texture(uColorMap, vUV));"),r.push("baseColor *= colorTexel.rgb;"),r.push("vec3 metalRoughTexel = texture(uMetallicRoughMap, vUV).rgb;"),r.push("metallic *= metalRoughTexel.b;"),r.push("roughness *= metalRoughTexel.g;"),r.push("vec3 viewNormal = perturbNormal2Arb(vViewPosition.xyz, normalize(vViewNormal), vUV );"),r.push("material.diffuseColor = baseColor * (1.0 - dielectricSpecular) * (1.0 - metallic);"),r.push("material.specularRoughness = clamp(roughness, 0.04, 1.0);"),r.push("material.specularColor = mix(vec3(dielectricSpecular), baseColor, metallic);"),r.push("geometry.position = vViewPosition.xyz;"),r.push("geometry.viewNormal = -normalize(viewNormal);"),r.push("geometry.viewEyeDir = normalize(vViewPosition.xyz);"),n.lightMaps.length>0&&r.push("geometry.worldNormal = normalize(vWorldNormal);"),(n.lightMaps.length>0||n.reflectionMaps.length>0)&&r.push("computePBRLightMapping(geometry, material, reflectedLight);");for(let e=0,t=n.lights.length;e0,s=[];return s.push("#version 300 es"),s.push("// Triangles batching pick flat normals vertex shader"),s.push("uniform int renderPass;"),s.push("in vec3 position;"),e.entityOffsetsEnabled&&s.push("in vec3 offset;"),s.push("in float flags;"),s.push("uniform bool pickInvisible;"),this._addMatricesUniformBlockLines(s),this._addRemapClipPosLines(s,3),e.logarithmicDepthBufferEnabled&&(s.push("uniform float logDepthBufFC;"),s.push("out float vFragDepth;"),s.push("bool isPerspectiveMatrix(mat4 m) {"),s.push(" return (m[2][3] == - 1.0);"),s.push("}"),s.push("out float isPerspective;")),s.push("out vec4 vWorldPosition;"),t&&s.push("out float vFlags;"),s.push("void main(void) {"),s.push("int pickFlag = int(flags) >> 12 & 0xF;"),s.push("if (pickFlag != renderPass) {"),s.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),s.push(" } else {"),s.push(" vec4 worldPosition = worldMatrix * (positionsDecodeMatrix * vec4(position, 1.0)); "),e.entityOffsetsEnabled&&s.push(" worldPosition.xyz = worldPosition.xyz + offset;"),s.push(" vec4 viewPosition = viewMatrix * worldPosition; "),s.push(" vWorldPosition = worldPosition;"),t&&s.push(" vFlags = flags;"),s.push("vec4 clipPos = projMatrix * viewPosition;"),e.logarithmicDepthBufferEnabled&&(s.push("vFragDepth = 1.0 + clipPos.w;"),s.push("isPerspective = float (isPerspectiveMatrix(projMatrix));")),s.push("gl_Position = remapClipPos(clipPos);"),s.push(" }"),s.push("}"),s}_buildFragmentShader(){const e=this._scene,t=e._sectionPlanesState,s=t.getNumAllocatedSectionPlanes()>0,n=[];if(n.push("#version 300 es"),n.push("// Triangles batching pick flat normals fragment shader"),n.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),n.push("precision highp float;"),n.push("precision highp int;"),n.push("#else"),n.push("precision mediump float;"),n.push("precision mediump int;"),n.push("#endif"),e.logarithmicDepthBufferEnabled&&(n.push("in float isPerspective;"),n.push("uniform float logDepthBufFC;"),n.push("in float vFragDepth;")),n.push("in vec4 vWorldPosition;"),s){n.push("in float vFlags;");for(var i=0;i> 16 & 0xF) == 1;"),n.push(" if (clippable) {"),n.push(" float dist = 0.0;");for(let e=0;e 0.0) { discard; }"),n.push(" }")}return e.logarithmicDepthBufferEnabled&&n.push(" gl_FragDepth = isPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5;"),n.push(" vec3 xTangent = dFdx( vWorldPosition.xyz );"),n.push(" vec3 yTangent = dFdy( vWorldPosition.xyz );"),n.push(" vec3 worldNormal = normalize( cross( xTangent, yTangent ) );"),n.push(` outNormal = ivec4(worldNormal * float(${A.MAX_INT}), 1.0);`),n.push("}"),n}}class Fr extends fr{_getHash(){const e=this._scene;return[e.gammaOutput,e._lightsState.getHash(),e._sectionPlanesState.getHash(),this._withSAO?"sao":"nosao"].join(";")}drawLayer(e,t,s){super.drawLayer(e,t,s,{incrementDrawState:!0})}_buildVertexShader(){const e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,s=[];return s.push("#version 300 es"),s.push("// Triangles batching color texture vertex shader"),s.push("uniform int renderPass;"),s.push("in vec3 position;"),s.push("in vec4 color;"),s.push("in vec2 uv;"),s.push("in float flags;"),e.entityOffsetsEnabled&&s.push("in vec3 offset;"),this._addMatricesUniformBlockLines(s),s.push("uniform mat3 uvDecodeMatrix;"),e.logarithmicDepthBufferEnabled&&(s.push("uniform float logDepthBufFC;"),s.push("out float vFragDepth;"),s.push("bool isPerspectiveMatrix(mat4 m) {"),s.push(" return (m[2][3] == - 1.0);"),s.push("}"),s.push("out float isPerspective;")),t&&(s.push("out vec4 vWorldPosition;"),s.push("out float vFlags;")),s.push("out vec4 vViewPosition;"),s.push("out vec4 vColor;"),s.push("out vec2 vUV;"),s.push("void main(void) {"),s.push("int colorFlag = int(flags) & 0xF;"),s.push("if (colorFlag != renderPass) {"),s.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),s.push("} else {"),s.push("vec4 worldPosition = worldMatrix * (positionsDecodeMatrix * vec4(position, 1.0)); "),e.entityOffsetsEnabled&&s.push("worldPosition.xyz = worldPosition.xyz + offset;"),s.push("vec4 viewPosition = viewMatrix * worldPosition; "),s.push("vViewPosition = viewPosition;"),s.push("vColor = vec4(float(color.r) / 255.0, float(color.g) / 255.0, float(color.b) / 255.0, float(color.a) / 255.0);"),s.push("vUV = (uvDecodeMatrix * vec3(uv, 1.0)).xy;"),s.push("vec4 clipPos = projMatrix * viewPosition;"),e.logarithmicDepthBufferEnabled&&(s.push("vFragDepth = 1.0 + clipPos.w;"),s.push("isPerspective = float (isPerspectiveMatrix(projMatrix));")),t&&(s.push("vWorldPosition = worldPosition;"),s.push("vFlags = flags;")),s.push("gl_Position = clipPos;"),s.push("}"),s.push("}"),s}_buildFragmentShader(){const e=this._scene,t=e.gammaOutput,s=e._lightsState,n=e._sectionPlanesState,i=n.getNumAllocatedSectionPlanes()>0,a=[];if(a.push("#version 300 es"),a.push("// Triangles batching color texture fragment shader"),a.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),a.push("precision highp float;"),a.push("precision highp int;"),a.push("#else"),a.push("precision mediump float;"),a.push("precision mediump int;"),a.push("#endif"),e.logarithmicDepthBufferEnabled&&(a.push("in float isPerspective;"),a.push("uniform float logDepthBufFC;"),a.push("in float vFragDepth;")),a.push("uniform sampler2D uColorMap;"),this._withSAO&&(a.push("uniform sampler2D uOcclusionTexture;"),a.push("uniform vec4 uSAOParams;"),a.push("const float packUpscale = 256. / 255.;"),a.push("const float unpackDownScale = 255. / 256.;"),a.push("const vec3 packFactors = vec3( 256. * 256. * 256., 256. * 256., 256. );"),a.push("const vec4 unPackFactors = unpackDownScale / vec4( packFactors, 1. );"),a.push("float unpackRGBToFloat( const in vec4 v ) {"),a.push(" return dot( v, unPackFactors );"),a.push("}")),a.push("uniform float gammaFactor;"),a.push("vec4 linearToLinear( in vec4 value ) {"),a.push(" return value;"),a.push("}"),a.push("vec4 sRGBToLinear( in vec4 value ) {"),a.push(" return vec4( mix( pow( value.rgb * 0.9478672986 + vec3( 0.0521327014 ), vec3( 2.4 ) ), value.rgb * 0.0773993808, vec3( lessThanEqual( value.rgb, vec3( 0.04045 ) ) ) ), value.w );"),a.push("}"),a.push("vec4 gammaToLinear( in vec4 value) {"),a.push(" return vec4( pow( value.xyz, vec3( gammaFactor ) ), value.w );"),a.push("}"),t&&(a.push("vec4 linearToGamma( in vec4 value, in float gammaFactor ) {"),a.push(" return vec4( pow( value.xyz, vec3( 1.0 / gammaFactor ) ), value.w );"),a.push("}")),i){a.push("in vec4 vWorldPosition;"),a.push("in float vFlags;");for(let e=0,t=n.getNumAllocatedSectionPlanes();e> 16 & 0xF) == 1;"),a.push(" if (clippable) {"),a.push(" float dist = 0.0;");for(let e=0,t=n.getNumAllocatedSectionPlanes();e 0.0) { "),a.push(" discard;"),a.push(" }"),a.push("}")}a.push("vec3 reflectedColor = vec3(0.0, 0.0, 0.0);"),a.push("vec3 viewLightDir = vec3(0.0, 0.0, -1.0);"),a.push("float lambertian = 1.0;"),a.push("vec3 xTangent = dFdx( vViewPosition.xyz );"),a.push("vec3 yTangent = dFdy( vViewPosition.xyz );"),a.push("vec3 viewNormal = normalize( cross( xTangent, yTangent ) );");for(let e=0,t=s.lights.length;e5e6&&(e=5e6),this.maxVerts=e,this.maxIndices=3*e,this.positions=[],this.colors=[],this.uv=[],this.metallicRoughness=[],this.normals=[],this.pickColors=[],this.offsets=[],this.indices=[],this.edgeIndices=[]}}const jr=A.mat4(),Vr=A.mat4();function kr(e,t,s){const n=e.length,i=new Uint16Array(n),a=t[0],r=t[1],l=t[2],o=t[3]-a,c=t[4]-r,u=t[5]-l,h=65525,p=h/o,d=h/c,f=h/u,I=e=>e>=0?e:0;for(let t=0;t=0?1:-1),t=(1-Math.abs(n))*(i>=0?1:-1),n=e,i=t}return new Int8Array([Math[t](127.5*n+(n<0?-1:0)),Math[s](127.5*i+(i<0?-1:0))])}function zr(e){let t=e[0],s=e[1];t/=t<0?127:128,s/=s<0?127:128;const n=1-Math.abs(t)-Math.abs(s);n<0&&(t=(1-Math.abs(s))*(t>=0?1:-1),s=(1-Math.abs(t))*(s>=0?1:-1));const i=Math.sqrt(t*t+s*s+n*n);return[t/i,s/i,n/i]}const Kr=A.vec3(),Yr=A.vec3(),Xr=A.vec3(),qr=A.vec3(),Jr=A.mat4();class Zr extends dr{drawLayer(e,t,s){if(!this._program&&(this._allocate(),this.errors))return;e.lastProgramId!==this._program.id&&(e.lastProgramId=this._program.id,this._bindProgram());const n=t.model,i=n.scene,a=i.camera,r=i.canvas.gl,l=t._state,o=t._state.origin,{position:c,rotationMatrix:u,rotationMatrixConjugate:h}=n,p=t.aabb,d=e.pickViewMatrix||a.viewMatrix;this._vaoCache.has(t)?r.bindVertexArray(this._vaoCache.get(t)):this._vaoCache.set(t,this._makeVAO(l));const f=Kr;let I,y;if(f[0]=A.safeInv(p[3]-p[0])*A.MAX_INT,f[1]=A.safeInv(p[4]-p[1])*A.MAX_INT,f[2]=A.safeInv(p[5]-p[2])*A.MAX_INT,e.snapPickCoordinateScale[0]=A.safeInv(f[0]),e.snapPickCoordinateScale[1]=A.safeInv(f[1]),e.snapPickCoordinateScale[2]=A.safeInv(f[2]),o||0!==c[0]||0!==c[1]||0!==c[2]){const t=Yr;if(o){const e=Xr;A.transformPoint3(u,o,e),t[0]=e[0],t[1]=e[1],t[2]=e[2]}else t[0]=0,t[1]=0,t[2]=0;t[0]+=c[0],t[1]+=c[1],t[2]+=c[2],I=Q(d,t,Jr),y=qr,y[0]=a.eye[0]-t[0],y[1]=a.eye[1]-t[1],y[2]=a.eye[2]-t[2],e.snapPickOrigin[0]=t[0],e.snapPickOrigin[1]=t[1],e.snapPickOrigin[2]=t[2]}else I=d,y=a.eye,e.snapPickOrigin[0]=0,e.snapPickOrigin[1]=0,e.snapPickOrigin[2]=0;r.uniform3fv(this._uCameraEyeRtc,y),r.uniform2fv(this.uVectorA,e.snapVectorA),r.uniform2fv(this.uInverseVectorAB,e.snapInvVectorAB),r.uniform1i(this._uLayerNumber,e.snapPickLayerNumber),r.uniform3fv(this._uCoordinateScaler,f),r.uniform1i(this._uRenderPass,s),r.uniform1i(this._uPickInvisible,e.pickInvisible);let m=0;this._matricesUniformBlockBufferData.set(h,0),this._matricesUniformBlockBufferData.set(I,m+=16),this._matricesUniformBlockBufferData.set(a.projMatrix,m+=16),this._matricesUniformBlockBufferData.set(l.positionsDecodeMatrix,m+=16),r.bindBuffer(r.UNIFORM_BUFFER,this._matricesUniformBlockBuffer),r.bufferData(r.UNIFORM_BUFFER,this._matricesUniformBlockBufferData,r.DYNAMIC_DRAW),r.bindBufferBase(r.UNIFORM_BUFFER,this._matricesUniformBlockBufferBindingPoint,this._matricesUniformBlockBuffer);{const t=2/(Math.log(e.pickZFar+1)/Math.LN2);r.uniform1f(this._uLogDepthBufFC,t)}this.setSectionPlanesStateUniforms(t),l.indicesBuf.bind(),r.drawElements(r.TRIANGLES,l.indicesBuf.numItems,l.indicesBuf.itemType,0),l.indicesBuf.unbind()}_allocate(){super._allocate();const e=this._program;this._uLogDepthBufFC=e.getLocation("logDepthBufFC"),this._uCameraEyeRtc=e.getLocation("uCameraEyeRtc"),this.uVectorA=e.getLocation("snapVectorA"),this.uInverseVectorAB=e.getLocation("snapInvVectorAB"),this._uLayerNumber=e.getLocation("layerNumber"),this._uCoordinateScaler=e.getLocation("coordinateScaler")}_bindProgram(){this._program.bind()}_buildVertexShader(){const e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,s=[];return s.push("#version 300 es"),s.push("// VBO SnapBatchingDepthBufInitRenderer vertex shader"),s.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),s.push("precision highp float;"),s.push("precision highp int;"),s.push("precision highp usampler2D;"),s.push("precision highp isampler2D;"),s.push("precision highp sampler2D;"),s.push("#else"),s.push("precision mediump float;"),s.push("precision mediump int;"),s.push("precision mediump usampler2D;"),s.push("precision mediump isampler2D;"),s.push("precision mediump sampler2D;"),s.push("#endif"),s.push("uniform int renderPass;"),s.push("in vec4 pickColor;"),s.push("in vec3 position;"),e.entityOffsetsEnabled&&s.push("in vec3 offset;"),s.push("in float flags;"),s.push("uniform bool pickInvisible;"),this._addMatricesUniformBlockLines(s),s.push("uniform vec3 uCameraEyeRtc;"),s.push("uniform vec2 snapVectorA;"),s.push("uniform vec2 snapInvVectorAB;"),s.push("uniform float logDepthBufFC;"),s.push("out float vFragDepth;"),s.push("out float isPerspective;"),s.push("bool isPerspectiveMatrix(mat4 m) {"),s.push(" return (m[2][3] == - 1.0);"),s.push("}"),s.push("vec2 remapClipPos(vec2 clipPos) {"),s.push(" float x = (clipPos.x - snapVectorA.x) * snapInvVectorAB.x;"),s.push(" float y = (clipPos.y - snapVectorA.y) * snapInvVectorAB.y;"),s.push(" return vec2(x, y);"),s.push("}"),s.push("flat out vec4 vPickColor;"),s.push("out vec4 vWorldPosition;"),t&&s.push("out float vFlags;"),s.push("out highp vec3 relativeToOriginPosition;"),s.push("void main(void) {"),s.push("int pickFlag = int(flags) >> 12 & 0xF;"),s.push("if (pickFlag != renderPass) {"),s.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),s.push(" } else {"),s.push(" vec4 worldPosition = worldMatrix * (positionsDecodeMatrix * vec4(position, 1.0)); "),e.entityOffsetsEnabled&&s.push(" worldPosition.xyz = worldPosition.xyz + offset;"),s.push(" relativeToOriginPosition = worldPosition.xyz;"),s.push(" vec4 viewPosition = viewMatrix * worldPosition; "),s.push(" vWorldPosition = worldPosition;"),t&&s.push(" vFlags = flags;"),s.push("vPickColor = pickColor;"),s.push("vec4 clipPos = projMatrix * viewPosition;"),s.push("float tmp = clipPos.w;"),s.push("clipPos.xyzw /= tmp;"),s.push("clipPos.xy = remapClipPos(clipPos.xy);"),s.push("clipPos.xyzw *= tmp;"),s.push("vFragDepth = 1.0 + clipPos.w;"),s.push("isPerspective = float (isPerspectiveMatrix(projMatrix));"),s.push("gl_Position = clipPos;"),s.push(" }"),s.push("}"),s}_buildFragmentShader(){const e=this._scene._sectionPlanesState,t=e.getNumAllocatedSectionPlanes()>0,s=[];if(s.push("#version 300 es"),s.push("// VBO SnapBatchingDepthBufInitRenderer fragment shader"),s.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),s.push("precision highp float;"),s.push("precision highp int;"),s.push("#else"),s.push("precision mediump float;"),s.push("precision mediump int;"),s.push("#endif"),s.push("in float isPerspective;"),s.push("uniform float logDepthBufFC;"),s.push("in float vFragDepth;"),s.push("uniform int layerNumber;"),s.push("uniform vec3 coordinateScaler;"),s.push("in vec4 vWorldPosition;"),s.push("flat in vec4 vPickColor;"),t){s.push("in float vFlags;");for(let t=0;t> 16 & 0xF) == 1;"),s.push(" if (clippable) {"),s.push(" float dist = 0.0;");for(var n=0;n 0.0) { discard; }"),s.push(" }")}return s.push(" float dx = dFdx(vFragDepth);"),s.push(" float dy = dFdy(vFragDepth);"),s.push(" float diff = sqrt(dx*dx+dy*dy);"),s.push(" gl_FragDepth = isPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth + diff ) * logDepthBufFC * 0.5;"),s.push("outCoords = ivec4(relativeToOriginPosition.xyz*coordinateScaler.xyz, -layerNumber);"),s.push("vec3 xTangent = dFdx( vWorldPosition.xyz );"),s.push("vec3 yTangent = dFdy( vWorldPosition.xyz );"),s.push("vec3 worldNormal = normalize( cross( xTangent, yTangent ) );"),s.push(`outNormal = ivec4(worldNormal * float(${A.MAX_INT}), 1.0);`),s.push("outPickColor = uvec4(vPickColor);"),s.push("}"),s}webglContextRestored(){this._program=null}destroy(){this._program&&this._program.destroy(),this._program=null}}const $r=A.vec3(),el=A.vec3(),tl=A.vec3(),sl=A.vec3(),nl=A.mat4();class il extends dr{_getHash(){return this._scene._sectionPlanesState.getHash()+this._scene.pointsMaterial.hash}drawLayer(e,t,s){if(!this._program&&(this._allocate(),this.errors))return;e.lastProgramId!==this._program.id&&(e.lastProgramId=this._program.id,this._bindProgram());const n=t.model,i=n.scene,a=i.camera,r=i.canvas.gl,l=t._state,o=t._state.origin,{position:c,rotationMatrix:u,rotationMatrixConjugate:h}=n,p=t.aabb,d=e.pickViewMatrix||a.viewMatrix;this._vaoCache.has(t)?r.bindVertexArray(this._vaoCache.get(t)):this._vaoCache.set(t,this._makeVAO(l));const f=$r;let I,y;if(f[0]=A.safeInv(p[3]-p[0])*A.MAX_INT,f[1]=A.safeInv(p[4]-p[1])*A.MAX_INT,f[2]=A.safeInv(p[5]-p[2])*A.MAX_INT,e.snapPickCoordinateScale[0]=A.safeInv(f[0]),e.snapPickCoordinateScale[1]=A.safeInv(f[1]),e.snapPickCoordinateScale[2]=A.safeInv(f[2]),o||0!==c[0]||0!==c[1]||0!==c[2]){const t=el;if(o){const e=tl;A.transformPoint3(u,o,e),t[0]=e[0],t[1]=e[1],t[2]=e[2]}else t[0]=0,t[1]=0,t[2]=0;t[0]+=c[0],t[1]+=c[1],t[2]+=c[2],I=Q(d,t,nl),y=sl,y[0]=a.eye[0]-t[0],y[1]=a.eye[1]-t[1],y[2]=a.eye[2]-t[2],e.snapPickOrigin[0]=t[0],e.snapPickOrigin[1]=t[1],e.snapPickOrigin[2]=t[2]}else I=d,y=a.eye,e.snapPickOrigin[0]=0,e.snapPickOrigin[1]=0,e.snapPickOrigin[2]=0;r.uniform3fv(this._uCameraEyeRtc,y),r.uniform2fv(this.uVectorA,e.snapVectorA),r.uniform2fv(this.uInverseVectorAB,e.snapInvVectorAB),r.uniform1i(this._uLayerNumber,e.snapPickLayerNumber),r.uniform3fv(this._uCoordinateScaler,f),r.uniform1i(this._uRenderPass,s),r.uniform1i(this._uPickInvisible,e.pickInvisible);let m=0;this._matricesUniformBlockBufferData.set(h,0),this._matricesUniformBlockBufferData.set(I,m+=16),this._matricesUniformBlockBufferData.set(a.projMatrix,m+=16),this._matricesUniformBlockBufferData.set(l.positionsDecodeMatrix,m+=16),r.bindBuffer(r.UNIFORM_BUFFER,this._matricesUniformBlockBuffer),r.bufferData(r.UNIFORM_BUFFER,this._matricesUniformBlockBufferData,r.DYNAMIC_DRAW),r.bindBufferBase(r.UNIFORM_BUFFER,this._matricesUniformBlockBufferBindingPoint,this._matricesUniformBlockBuffer);{const t=2/(Math.log(e.pickZFar+1)/Math.LN2);r.uniform1f(this._uLogDepthBufFC,t)}this.setSectionPlanesStateUniforms(t),"edge"===e.snapMode?(l.edgeIndicesBuf.bind(),r.drawElements(r.LINES,l.edgeIndicesBuf.numItems,l.edgeIndicesBuf.itemType,0),l.edgeIndicesBuf.unbind()):r.drawArrays(r.POINTS,0,l.positionsBuf.numItems)}_allocate(){super._allocate();const e=this._program;this._uLogDepthBufFC=e.getLocation("logDepthBufFC"),this._uCameraEyeRtc=e.getLocation("uCameraEyeRtc"),this.uVectorA=e.getLocation("snapVectorA"),this.uInverseVectorAB=e.getLocation("snapInvVectorAB"),this._uLayerNumber=e.getLocation("layerNumber"),this._uCoordinateScaler=e.getLocation("coordinateScaler")}_bindProgram(){this._program.bind()}_buildVertexShader(){const e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0;e.pointsMaterial._state;const s=[];return s.push("#version 300 es"),s.push("// SnapBatchingDepthRenderer vertex shader"),s.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),s.push("precision highp float;"),s.push("precision highp int;"),s.push("precision highp usampler2D;"),s.push("precision highp isampler2D;"),s.push("precision highp sampler2D;"),s.push("#else"),s.push("precision mediump float;"),s.push("precision mediump int;"),s.push("precision mediump usampler2D;"),s.push("precision mediump isampler2D;"),s.push("precision mediump sampler2D;"),s.push("#endif"),s.push("uniform int renderPass;"),s.push("in vec3 position;"),e.entityOffsetsEnabled&&s.push("in vec3 offset;"),s.push("in float flags;"),s.push("uniform bool pickInvisible;"),this._addMatricesUniformBlockLines(s),s.push("uniform vec3 uCameraEyeRtc;"),s.push("uniform vec2 snapVectorA;"),s.push("uniform vec2 snapInvVectorAB;"),s.push("uniform float logDepthBufFC;"),s.push("out float vFragDepth;"),s.push("bool isPerspectiveMatrix(mat4 m) {"),s.push(" return (m[2][3] == - 1.0);"),s.push("}"),s.push("out float isPerspective;"),s.push("vec2 remapClipPos(vec2 clipPos) {"),s.push(" float x = (clipPos.x - snapVectorA.x) * snapInvVectorAB.x;"),s.push(" float y = (clipPos.y - snapVectorA.y) * snapInvVectorAB.y;"),s.push(" return vec2(x, y);"),s.push("}"),t&&(s.push("out vec4 vWorldPosition;"),s.push("out float vFlags;")),s.push("out highp vec3 relativeToOriginPosition;"),s.push("void main(void) {"),s.push("int pickFlag = int(flags) >> 12 & 0xF;"),s.push("if (pickFlag != renderPass) {"),s.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),s.push(" } else {"),s.push(" vec4 worldPosition = worldMatrix * (positionsDecodeMatrix * vec4(position, 1.0)); "),e.entityOffsetsEnabled&&s.push(" worldPosition.xyz = worldPosition.xyz + offset;"),s.push("relativeToOriginPosition = worldPosition.xyz;"),s.push(" vec4 viewPosition = viewMatrix * worldPosition; "),t&&(s.push(" vWorldPosition = worldPosition;"),s.push(" vFlags = flags;")),s.push("vec4 clipPos = projMatrix * viewPosition;"),s.push("float tmp = clipPos.w;"),s.push("clipPos.xyzw /= tmp;"),s.push("clipPos.xy = remapClipPos(clipPos.xy);"),s.push("clipPos.xyzw *= tmp;"),s.push("vFragDepth = 1.0 + clipPos.w;"),s.push("isPerspective = float (isPerspectiveMatrix(projMatrix));"),s.push("gl_Position = clipPos;"),s.push("gl_PointSize = 1.0;"),s.push(" }"),s.push("}"),s}_buildFragmentShader(){const e=this._scene._sectionPlanesState,t=e.getNumAllocatedSectionPlanes()>0,s=[];if(s.push("#version 300 es"),s.push("// SnapBatchingDepthRenderer fragment shader"),s.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),s.push("precision highp float;"),s.push("precision highp int;"),s.push("#else"),s.push("precision mediump float;"),s.push("precision mediump int;"),s.push("#endif"),s.push("in float isPerspective;"),s.push("uniform float logDepthBufFC;"),s.push("in float vFragDepth;"),s.push("uniform int layerNumber;"),s.push("uniform vec3 coordinateScaler;"),t){s.push("in vec4 vWorldPosition;"),s.push("in float vFlags;");for(let t=0;t> 16 & 0xF) == 1;"),s.push(" if (clippable) {"),s.push(" float dist = 0.0;");for(var n=0;n 0.0) { discard; }"),s.push(" }")}return s.push(" gl_FragDepth = isPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5;"),s.push("outCoords = ivec4(relativeToOriginPosition.xyz*coordinateScaler.xyz, layerNumber);"),s.push("}"),s}webglContextRestored(){this._program=null}destroy(){this._program&&this._program.destroy(),this._program=null}}class al{constructor(e){this._scene=e}_compile(){this._snapDepthBufInitRenderer&&!this._snapDepthBufInitRenderer.getValid()&&(this._snapDepthBufInitRenderer.destroy(),this._snapDepthBufInitRenderer=null),this._snapDepthRenderer&&!this._snapDepthRenderer.getValid()&&(this._snapDepthRenderer.destroy(),this._snapDepthRenderer=null)}eagerCreateRenders(){this._snapDepthBufInitRenderer||(this._snapDepthBufInitRenderer=new Zr(this._scene,!1)),this._snapDepthRenderer||(this._snapDepthRenderer=new il(this._scene))}get snapDepthBufInitRenderer(){return this._snapDepthBufInitRenderer||(this._snapDepthBufInitRenderer=new Zr(this._scene,!1)),this._snapDepthBufInitRenderer}get snapDepthRenderer(){return this._snapDepthRenderer||(this._snapDepthRenderer=new il(this._scene)),this._snapDepthRenderer}_destroy(){this._snapDepthBufInitRenderer&&this._snapDepthBufInitRenderer.destroy(),this._snapDepthRenderer&&this._snapDepthRenderer.destroy()}}const rl={};const ll=A.mat4(),ol=A.mat4(),cl=A.vec4([0,0,0,1]);A.vec4([0,0,0,1]),A.vec4([0,0,0,1]),A.OBB3();const ul=A.vec3(),hl=A.vec3(),pl=A.vec3(),Al=A.vec3(),dl=A.vec3(),fl=A.vec3(),Il=A.vec3();class yl{constructor(e){this.model=e.model,this.sortId="TrianglesBatchingLayer"+(e.solid?"-solid":"-surface")+(e.autoNormals?"-autonormals":"-normals")+(e.textureSet&&e.textureSet.colorTexture?"-colorTexture":"")+(e.textureSet&&e.textureSet.metallicRoughnessTexture?"-metallicRoughnessTexture":""),this.layerIndex=e.layerIndex,this._batchingRenderers=function(e){const t=e.id;let s=Ur[t];return s||(s=new Hr(e),Ur[t]=s,s._compile(),s.eagerCreateRenders(),e.on("compile",(()=>{s._compile(),s.eagerCreateRenders()})),e.on("destroyed",(()=>{delete Ur[t],s._destroy()}))),s}(e.model.scene),this._snapBatchingRenderers=function(e){const t=e.id;let s=rl[t];return s||(s=new al(e),rl[t]=s,s._compile(),s.eagerCreateRenders(),e.on("compile",(()=>{s._compile(),s.eagerCreateRenders()})),e.on("destroyed",(()=>{delete rl[t],s._destroy()}))),s}(e.model.scene),this._buffer=new Gr(e.maxGeometryBatchSize),this._scratchMemory=e.scratchMemory,this._state=new it({origin:A.vec3(),positionsBuf:null,offsetsBuf:null,normalsBuf:null,colorsBuf:null,uvBuf:null,metallicRoughnessBuf:null,flagsBuf:null,indicesBuf:null,edgeIndicesBuf:null,positionsDecodeMatrix:null,uvDecodeMatrix:null,textureSet:e.textureSet,pbrSupported:!1}),this._numPortions=0,this._numVisibleLayerPortions=0,this._numTransparentLayerPortions=0,this._numXRayedLayerPortions=0,this._numSelectedLayerPortions=0,this._numHighlightedLayerPortions=0,this._numClippableLayerPortions=0,this._numEdgesLayerPortions=0,this._numPickableLayerPortions=0,this._numCulledLayerPortions=0,this._modelAABB=A.collapseAABB3(),this._portions=[],this._meshes=[],this._numVerts=0,this._aabb=A.collapseAABB3(),this.aabbDirty=!0,this._finalized=!1,e.positionsDecodeMatrix&&(this._state.positionsDecodeMatrix=A.mat4(e.positionsDecodeMatrix)),e.uvDecodeMatrix?(this._state.uvDecodeMatrix=A.mat3(e.uvDecodeMatrix),this._preCompressedUVsExpected=!0):this._preCompressedUVsExpected=!1,e.origin&&this._state.origin.set(e.origin),this.aabb=A.collapseAABB3(),this.solid=!!e.solid}get aabb(){if(this.aabbDirty){A.collapseAABB3(this._aabb);for(let e=0,t=this._meshes.length;e0)for(let e=0,t=a.length;e0){const e=ll;y?A.inverseMat4(A.transposeMat4(y,ol),e):A.identityMat4(e,e),function(e,t,s,n,i){function a(e,t){return e[0]*t[0]+e[1]*t[1]+e[2]*t[2]}let r,l,o,c,u,h,p=new Float32Array([0,0,0,0]),d=new Float32Array([0,0,0,0]);for(h=0;hu&&(o=r,u=c),r=Wr(d,"floor","ceil"),l=zr(r),c=a(d,l),c>u&&(o=r,u=c),r=Wr(d,"ceil","ceil"),l=zr(r),c=a(d,l),c>u&&(o=r,u=c),n[i+h+0]=o[0],n[i+h+1]=o[1],n[i+h+2]=0}(e,i,i.length,w.normals,w.normals.length)}if(o)for(let e=0,t=o.length;e0)for(let e=0,t=r.length;e0)for(let e=0,t=l.length;e0){const n=this._state.positionsDecodeMatrix?new Uint16Array(s.positions):kr(s.positions,this._modelAABB,this._state.positionsDecodeMatrix=A.mat4());if(e.positionsBuf=new He(t,t.ARRAY_BUFFER,n,n.length,3,t.STATIC_DRAW),this.model.scene.pickSurfacePrecisionEnabled)for(let e=0,t=this._portions.length;e0){const n=new Int8Array(s.normals);let i=!0;e.normalsBuf=new He(t,t.ARRAY_BUFFER,n,s.normals.length,3,t.STATIC_DRAW,i)}if(s.colors.length>0){const n=new Uint8Array(s.colors);let i=!1;e.colorsBuf=new He(t,t.ARRAY_BUFFER,n,s.colors.length,4,t.DYNAMIC_DRAW,i)}if(s.uv.length>0)if(e.uvDecodeMatrix){let n=!1;e.uvBuf=new He(t,t.ARRAY_BUFFER,s.uv,s.uv.length,2,t.STATIC_DRAW,n)}else{const n=Ft.getUVBounds(s.uv),i=Ft.compressUVs(s.uv,n.min,n.max),a=i.quantized;let r=!1;e.uvDecodeMatrix=A.mat3(i.decodeMatrix),e.uvBuf=new He(t,t.ARRAY_BUFFER,a,a.length,2,t.STATIC_DRAW,r)}if(s.metallicRoughness.length>0){const n=new Uint8Array(s.metallicRoughness);let i=!1;e.metallicRoughnessBuf=new He(t,t.ARRAY_BUFFER,n,s.metallicRoughness.length,2,t.STATIC_DRAW,i)}if(s.positions.length>0){const n=s.positions.length/3,i=new Float32Array(n),a=!1;e.flagsBuf=new He(t,t.ARRAY_BUFFER,i,i.length,1,t.DYNAMIC_DRAW,a)}if(s.pickColors.length>0){const n=new Uint8Array(s.pickColors);let i=!1;e.pickColorsBuf=new He(t,t.ARRAY_BUFFER,n,s.pickColors.length,4,t.STATIC_DRAW,i)}if(this.model.scene.entityOffsetsEnabled&&s.offsets.length>0){const n=new Float32Array(s.offsets);e.offsetsBuf=new He(t,t.ARRAY_BUFFER,n,s.offsets.length,3,t.DYNAMIC_DRAW)}if(s.indices.length>0){const n=new Uint32Array(s.indices);e.indicesBuf=new He(t,t.ELEMENT_ARRAY_BUFFER,n,s.indices.length,1,t.STATIC_DRAW)}if(s.edgeIndices.length>0){const n=new Uint32Array(s.edgeIndices);e.edgeIndicesBuf=new He(t,t.ELEMENT_ARRAY_BUFFER,n,s.edgeIndices.length,1,t.STATIC_DRAW)}this._state.pbrSupported=!!(e.metallicRoughnessBuf&&e.uvBuf&&e.normalsBuf&&e.textureSet&&e.textureSet.colorTexture&&e.textureSet.metallicRoughnessTexture),this._state.colorTextureSupported=!!e.uvBuf&&!!e.textureSet&&!!e.textureSet.colorTexture,this._buffer=null,this._finalized=!0}isEmpty(){return!this._state.indicesBuf}initFlags(e,t,s){t&X&&(this._numVisibleLayerPortions++,this.model.numVisibleLayerPortions++),t&te&&(this._numHighlightedLayerPortions++,this.model.numHighlightedLayerPortions++),t&ee&&(this._numXRayedLayerPortions++,this.model.numXRayedLayerPortions++),t&se&&(this._numSelectedLayerPortions++,this.model.numSelectedLayerPortions++),t&Z&&(this._numClippableLayerPortions++,this.model.numClippableLayerPortions++),t&ne&&(this._numEdgesLayerPortions++,this.model.numEdgesLayerPortions++),t&J&&(this._numPickableLayerPortions++,this.model.numPickableLayerPortions++),t&q&&(this._numCulledLayerPortions++,this.model.numCulledLayerPortions++),s&&(this._numTransparentLayerPortions++,this.model.numTransparentLayerPortions++);this._setFlags(e,t,s,!0)}flushInitFlags(){this._setDeferredFlags()}setVisible(e,t,s){if(!this._finalized)throw"Not finalized";t&X?(this._numVisibleLayerPortions++,this.model.numVisibleLayerPortions++):(this._numVisibleLayerPortions--,this.model.numVisibleLayerPortions--),this._setFlags(e,t,s)}setHighlighted(e,t,s){if(!this._finalized)throw"Not finalized";t&te?(this._numHighlightedLayerPortions++,this.model.numHighlightedLayerPortions++):(this._numHighlightedLayerPortions--,this.model.numHighlightedLayerPortions--),this._setFlags(e,t,s)}setXRayed(e,t,s){if(!this._finalized)throw"Not finalized";t&ee?(this._numXRayedLayerPortions++,this.model.numXRayedLayerPortions++):(this._numXRayedLayerPortions--,this.model.numXRayedLayerPortions--),this._setFlags(e,t,s)}setSelected(e,t,s){if(!this._finalized)throw"Not finalized";t&se?(this._numSelectedLayerPortions++,this.model.numSelectedLayerPortions++):(this._numSelectedLayerPortions--,this.model.numSelectedLayerPortions--),this._setFlags(e,t,s)}setEdges(e,t,s){if(!this._finalized)throw"Not finalized";t&ne?(this._numEdgesLayerPortions++,this.model.numEdgesLayerPortions++):(this._numEdgesLayerPortions--,this.model.numEdgesLayerPortions--),this._setFlags(e,t,s)}setClippable(e,t){if(!this._finalized)throw"Not finalized";t&Z?(this._numClippableLayerPortions++,this.model.numClippableLayerPortions++):(this._numClippableLayerPortions--,this.model.numClippableLayerPortions--),this._setFlags(e,t)}setCulled(e,t,s){if(!this._finalized)throw"Not finalized";t&q?(this._numCulledLayerPortions++,this.model.numCulledLayerPortions++):(this._numCulledLayerPortions--,this.model.numCulledLayerPortions--),this._setFlags(e,t,s)}setCollidable(e,t){if(!this._finalized)throw"Not finalized"}setPickable(e,t,s){if(!this._finalized)throw"Not finalized";t&J?(this._numPickableLayerPortions++,this.model.numPickableLayerPortions++):(this._numPickableLayerPortions--,this.model.numPickableLayerPortions--),this._setFlags(e,t,s)}setColor(e,t){if(!this._finalized)throw"Not finalized";const s=e,n=this._portions[s],i=4*n.vertsBaseIndex,a=4*n.numVerts,r=this._scratchMemory.getUInt8Array(a),l=t[0],o=t[1],c=t[2],u=t[3];for(let e=0;em)&&(m=e,n.set(v),i&&A.triangleNormal(d,f,I,i),y=!0)}}return y&&i&&(A.transformVec3(this.model.worldNormalMatrix,i,i),A.normalizeVec3(i)),y}destroy(){const e=this._state;e.positionsBuf&&(e.positionsBuf.destroy(),e.positionsBuf=null),e.offsetsBuf&&(e.offsetsBuf.destroy(),e.offsetsBuf=null),e.normalsBuf&&(e.normalsBuf.destroy(),e.normalsBuf=null),e.colorsBuf&&(e.colorsBuf.destroy(),e.colorsBuf=null),e.metallicRoughnessBuf&&(e.metallicRoughnessBuf.destroy(),e.metallicRoughnessBuf=null),e.flagsBuf&&(e.flagsBuf.destroy(),e.flagsBuf=null),e.pickColorsBuf&&(e.pickColorsBuf.destroy(),e.pickColorsBuf=null),e.indicesBuf&&(e.indicesBuf.destroy(),e.indicessBuf=null),e.edgeIndicesBuf&&(e.edgeIndicesBuf.destroy(),e.edgeIndicessBuf=null),e.destroy()}}class ml extends yr{_getHash(){const e=this._scene;return[e._lightsState.getHash(),e._sectionPlanesState.getHash(),this._withSAO?"sao":"nosao"].join(";")}drawLayer(e,t,s){super.drawLayer(e,t,s,{incrementDrawState:!0})}_buildVertexShader(){const e=this._scene,t=e._sectionPlanesState,s=e._lightsState,n=t.getNumAllocatedSectionPlanes()>0;let i,a,r;const l=[];for(l.push("#version 300 es"),l.push("// Instancing geometry drawing vertex shader"),l.push("uniform int renderPass;"),l.push("in vec3 position;"),l.push("in vec2 normal;"),l.push("in vec4 color;"),l.push("in float flags;"),e.entityOffsetsEnabled&&l.push("in vec3 offset;"),l.push("in vec4 modelMatrixCol0;"),l.push("in vec4 modelMatrixCol1;"),l.push("in vec4 modelMatrixCol2;"),l.push("in vec4 modelNormalMatrixCol0;"),l.push("in vec4 modelNormalMatrixCol1;"),l.push("in vec4 modelNormalMatrixCol2;"),this._addMatricesUniformBlockLines(l,!0),e.logarithmicDepthBufferEnabled&&(l.push("uniform float logDepthBufFC;"),l.push("out float vFragDepth;"),l.push("bool isPerspectiveMatrix(mat4 m) {"),l.push(" return (m[2][3] == - 1.0);"),l.push("}"),l.push("out float isPerspective;")),l.push("uniform vec4 lightAmbient;"),i=0,a=s.lights.length;i= 0.0 ? 1.0 : -1.0, v.y >= 0.0 ? 1.0 : -1.0);"),l.push(" }"),l.push(" return normalize(v);"),l.push("}"),n&&(l.push("out vec4 vWorldPosition;"),l.push("out float vFlags;")),l.push("out vec4 vColor;"),l.push("void main(void) {"),l.push("int colorFlag = int(flags) & 0xF;"),l.push("if (colorFlag != renderPass) {"),l.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),l.push("} else {"),l.push("vec4 worldPosition = positionsDecodeMatrix * vec4(position, 1.0); "),l.push("worldPosition = worldMatrix * vec4(dot(worldPosition, modelMatrixCol0), dot(worldPosition, modelMatrixCol1), dot(worldPosition, modelMatrixCol2), 1.0);"),e.entityOffsetsEnabled&&l.push("worldPosition.xyz = worldPosition.xyz + offset;"),l.push("vec4 viewPosition = viewMatrix * worldPosition; "),l.push("vec4 modelNormal = vec4(octDecode(normal.xy), 0.0); "),l.push("vec4 worldNormal = worldNormalMatrix * vec4(dot(modelNormal, modelNormalMatrixCol0), dot(modelNormal, modelNormalMatrixCol1), dot(modelNormal, modelNormalMatrixCol2), 0.0);"),l.push("vec3 viewNormal = normalize(vec4(viewNormalMatrix * worldNormal).xyz);"),l.push("vec3 reflectedColor = vec3(0.0, 0.0, 0.0);"),l.push("vec3 viewLightDir = vec3(0.0, 0.0, -1.0);"),l.push("float lambertian = 1.0;"),i=0,a=s.lights.length;i0,n=[];if(n.push("#version 300 es"),n.push("// Instancing geometry drawing fragment shader"),n.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),n.push("precision highp float;"),n.push("precision highp int;"),n.push("#else"),n.push("precision mediump float;"),n.push("precision mediump int;"),n.push("#endif"),e.logarithmicDepthBufferEnabled&&(n.push("in float isPerspective;"),n.push("uniform float logDepthBufFC;"),n.push("in float vFragDepth;")),this._withSAO&&(n.push("uniform sampler2D uOcclusionTexture;"),n.push("uniform vec4 uSAOParams;"),n.push("const float packUpscale = 256. / 255.;"),n.push("const float unpackDownScale = 255. / 256.;"),n.push("const vec3 packFactors = vec3( 256. * 256. * 256., 256. * 256., 256. );"),n.push("const vec4 unPackFactors = unpackDownScale / vec4( packFactors, 1. );"),n.push("float unpackRGBToFloat( const in vec4 v ) {"),n.push(" return dot( v, unPackFactors );"),n.push("}")),s){n.push("in vec4 vWorldPosition;"),n.push("in float vFlags;");for(let e=0,s=t.getNumAllocatedSectionPlanes();e> 16 & 0xF) == 1;"),n.push(" if (clippable) {"),n.push(" float dist = 0.0;");for(let e=0,s=t.getNumAllocatedSectionPlanes();e 0.0) { "),n.push(" discard;"),n.push(" }"),n.push("}")}return e.logarithmicDepthBufferEnabled&&n.push(" gl_FragDepth = isPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5;"),this._withSAO?(n.push(" float viewportWidth = uSAOParams[0];"),n.push(" float viewportHeight = uSAOParams[1];"),n.push(" float blendCutoff = uSAOParams[2];"),n.push(" float blendFactor = uSAOParams[3];"),n.push(" vec2 uv = vec2(gl_FragCoord.x / viewportWidth, gl_FragCoord.y / viewportHeight);"),n.push(" float ambient = smoothstep(blendCutoff, 1.0, unpackRGBToFloat(texture(uOcclusionTexture, uv))) * blendFactor;"),n.push(" outColor = vec4(vColor.rgb * ambient, 1.0);")):n.push(" outColor = vColor;"),n.push("}"),n}}class vl extends yr{_getHash(){const e=this._scene;return[e._lightsState.getHash(),e._sectionPlanesState.getHash(),this._withSAO?"sao":"nosao"].join(";")}_buildVertexShader(){const e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,s=[];return s.push("#version 300 es"),s.push("// Instancing geometry flat-shading drawing vertex shader"),s.push("uniform int renderPass;"),s.push("in vec3 position;"),s.push("in vec4 color;"),s.push("in float flags;"),e.entityOffsetsEnabled&&s.push("in vec3 offset;"),s.push("in vec4 modelMatrixCol0;"),s.push("in vec4 modelMatrixCol1;"),s.push("in vec4 modelMatrixCol2;"),this._addMatricesUniformBlockLines(s),e.logarithmicDepthBufferEnabled&&(s.push("uniform float logDepthBufFC;"),s.push("out float vFragDepth;"),s.push("bool isPerspectiveMatrix(mat4 m) {"),s.push(" return (m[2][3] == - 1.0);"),s.push("}"),s.push("out float isPerspective;")),t&&(s.push("out vec4 vWorldPosition;"),s.push("out float vFlags;")),s.push("out vec4 vViewPosition;"),s.push("out vec4 vColor;"),s.push("void main(void) {"),s.push("int colorFlag = int(flags) & 0xF;"),s.push("if (colorFlag != renderPass) {"),s.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),s.push("} else {"),s.push("vec4 worldPosition = positionsDecodeMatrix * vec4(position, 1.0); "),s.push("worldPosition = worldMatrix * vec4(dot(worldPosition, modelMatrixCol0), dot(worldPosition, modelMatrixCol1), dot(worldPosition, modelMatrixCol2), 1.0);"),e.entityOffsetsEnabled&&s.push(" worldPosition.xyz = worldPosition.xyz + offset;"),s.push("vec4 viewPosition = viewMatrix * worldPosition; "),s.push("vViewPosition = viewPosition;"),s.push("vColor = vec4(float(color.r) / 255.0, float(color.g) / 255.0, float(color.b) / 255.0, float(color.a) / 255.0);"),s.push("vec4 clipPos = projMatrix * viewPosition;"),e.logarithmicDepthBufferEnabled&&(s.push("vFragDepth = 1.0 + clipPos.w;"),s.push("isPerspective = float (isPerspectiveMatrix(projMatrix));")),t&&(s.push("vWorldPosition = worldPosition;"),s.push("vFlags = flags;")),s.push("gl_Position = clipPos;"),s.push("}"),s.push("}"),s}_buildFragmentShader(){const e=this._scene,t=e._sectionPlanesState,s=e._lightsState;let n,i;const a=t.getNumAllocatedSectionPlanes()>0,r=[];if(r.push("#version 300 es"),r.push("// Instancing geometry flat-shading drawing fragment shader"),r.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),r.push("precision highp float;"),r.push("precision highp int;"),r.push("#else"),r.push("precision mediump float;"),r.push("precision mediump int;"),r.push("#endif"),e.logarithmicDepthBufferEnabled&&(r.push("in float isPerspective;"),r.push("uniform float logDepthBufFC;"),r.push("in float vFragDepth;")),this._withSAO&&(r.push("uniform sampler2D uOcclusionTexture;"),r.push("uniform vec4 uSAOParams;"),r.push("const float packUpscale = 256. / 255.;"),r.push("const float unpackDownScale = 255. / 256.;"),r.push("const vec3 packFactors = vec3( 256. * 256. * 256., 256. * 256., 256. );"),r.push("const vec4 unPackFactors = unpackDownScale / vec4( packFactors, 1. );"),r.push("float unpackRGBToFloat( const in vec4 v ) {"),r.push(" return dot( v, unPackFactors );"),r.push("}")),a){r.push("in vec4 vWorldPosition;"),r.push("in float vFlags;");for(let e=0,s=t.getNumAllocatedSectionPlanes();e> 16 & 0xF) == 1;"),r.push(" if (clippable) {"),r.push(" float dist = 0.0;");for(let e=0,s=t.getNumAllocatedSectionPlanes();e 0.0) { "),r.push(" discard;"),r.push(" }"),r.push("}")}for(r.push("vec3 reflectedColor = vec3(0.0, 0.0, 0.0);"),r.push("vec3 viewLightDir = vec3(0.0, 0.0, -1.0);"),r.push("float lambertian = 1.0;"),r.push("vec3 xTangent = dFdx( vViewPosition.xyz );"),r.push("vec3 yTangent = dFdy( vViewPosition.xyz );"),r.push("vec3 viewNormal = normalize( cross( xTangent, yTangent ) );"),n=0,i=s.lights.length;n0,s=[];return s.push("#version 300 es"),s.push("// Instancing silhouette vertex shader"),s.push("uniform int renderPass;"),s.push("in vec3 position;"),e.entityOffsetsEnabled&&s.push("in vec3 offset;"),s.push("in float flags;"),s.push("in vec4 color;"),s.push("in vec4 modelMatrixCol0;"),s.push("in vec4 modelMatrixCol1;"),s.push("in vec4 modelMatrixCol2;"),this._addMatricesUniformBlockLines(s),s.push("uniform vec4 silhouetteColor;"),e.logarithmicDepthBufferEnabled&&(s.push("uniform float logDepthBufFC;"),s.push("out float vFragDepth;"),s.push("bool isPerspectiveMatrix(mat4 m) {"),s.push(" return (m[2][3] == - 1.0);"),s.push("}"),s.push("out float isPerspective;")),t&&(s.push("out vec4 vWorldPosition;"),s.push("out float vFlags;")),s.push("out vec4 vColor;"),s.push("void main(void) {"),s.push("int silhouetteFlag = int(flags) >> 4 & 0xF;"),s.push("if (silhouetteFlag != renderPass) {"),s.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),s.push("} else {"),s.push("vec4 worldPosition = positionsDecodeMatrix * vec4(position, 1.0); "),s.push("worldPosition = worldMatrix * vec4(dot(worldPosition, modelMatrixCol0), dot(worldPosition, modelMatrixCol1), dot(worldPosition, modelMatrixCol2), 1.0);"),e.entityOffsetsEnabled&&s.push(" worldPosition.xyz = worldPosition.xyz + offset;"),s.push("vec4 viewPosition = viewMatrix * worldPosition; "),t&&(s.push("vWorldPosition = worldPosition;"),s.push("vFlags = flags;")),s.push("vColor = vec4(silhouetteColor.r, silhouetteColor.g, silhouetteColor.b, min(silhouetteColor.a, float(color.a) / 255.0));"),s.push("vec4 clipPos = projMatrix * viewPosition;"),e.logarithmicDepthBufferEnabled&&(s.push("vFragDepth = 1.0 + clipPos.w;"),s.push("isPerspective = float (isPerspectiveMatrix(projMatrix));")),s.push("gl_Position = clipPos;"),s.push("}"),s.push("}"),s}_buildFragmentShader(){const e=this._scene,t=e._sectionPlanesState,s=t.getNumAllocatedSectionPlanes()>0,n=[];if(n.push("#version 300 es"),n.push("// Instancing fill fragment shader"),n.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),n.push("precision highp float;"),n.push("precision highp int;"),n.push("#else"),n.push("precision mediump float;"),n.push("precision mediump int;"),n.push("#endif"),e.logarithmicDepthBufferEnabled&&(n.push("in float isPerspective;"),n.push("uniform float logDepthBufFC;"),n.push("in float vFragDepth;")),s){n.push("in vec4 vWorldPosition;"),n.push("in float vFlags;");for(let e=0,s=t.getNumAllocatedSectionPlanes();e> 16 & 0xF) == 1;"),n.push(" if (clippable) {"),n.push(" float dist = 0.0;");for(let e=0,s=t.getNumAllocatedSectionPlanes();e 0.0) { discard; }"),n.push("}")}return e.logarithmicDepthBufferEnabled&&n.push(" gl_FragDepth = isPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5;"),n.push("outColor = vColor;"),n.push("}"),n}}class gl extends mr{drawLayer(e,t,s){super.drawLayer(e,t,s,{colorUniform:!0})}_buildVertexShader(){const e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,s=[];return s.push("#version 300 es"),s.push("// Triangles instancing edges vertex shader"),s.push("uniform int renderPass;"),s.push("uniform vec4 color;"),s.push("in vec3 position;"),e.entityOffsetsEnabled&&s.push("in vec3 offset;"),s.push("in float flags;"),s.push("in vec4 modelMatrixCol0;"),s.push("in vec4 modelMatrixCol1;"),s.push("in vec4 modelMatrixCol2;"),this._addMatricesUniformBlockLines(s),e.logarithmicDepthBufferEnabled&&(s.push("uniform float logDepthBufFC;"),s.push("out float vFragDepth;"),s.push("bool isPerspectiveMatrix(mat4 m) {"),s.push(" return (m[2][3] == - 1.0);"),s.push("}"),s.push("out float isPerspective;")),t&&(s.push("out vec4 vWorldPosition;"),s.push("out float vFlags;")),s.push("out vec4 vColor;"),s.push("void main(void) {"),s.push("int edgeFlag = int(flags) >> 8 & 0xF;"),s.push("if (edgeFlag != renderPass) {"),s.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),s.push("} else {"),s.push("vec4 worldPosition = positionsDecodeMatrix * vec4(position, 1.0); "),s.push("worldPosition = worldMatrix * vec4(dot(worldPosition, modelMatrixCol0), dot(worldPosition, modelMatrixCol1), dot(worldPosition, modelMatrixCol2), 1.0);"),e.entityOffsetsEnabled&&s.push(" worldPosition.xyz = worldPosition.xyz + offset;"),s.push("vec4 viewPosition = viewMatrix * worldPosition; "),t&&(s.push("vWorldPosition = worldPosition;"),s.push("vFlags = flags;")),s.push("vec4 clipPos = projMatrix * viewPosition;"),e.logarithmicDepthBufferEnabled&&(s.push("vFragDepth = 1.0 + clipPos.w;"),s.push("isPerspective = float (isPerspectiveMatrix(projMatrix));")),s.push("gl_Position = clipPos;"),s.push("vColor = vec4(color.r, color.g, color.b, color.a);"),s.push("}"),s.push("}"),s}_buildFragmentShader(){const e=this._scene,t=e._sectionPlanesState,s=t.getNumAllocatedSectionPlanes()>0,n=[];if(n.push("#version 300 es"),n.push("// Batched geometry edges drawing fragment shader"),n.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),n.push("precision highp float;"),n.push("precision highp int;"),n.push("#else"),n.push("precision mediump float;"),n.push("precision mediump int;"),n.push("#endif"),e.logarithmicDepthBufferEnabled&&(n.push("in float isPerspective;"),n.push("uniform float logDepthBufFC;"),n.push("in float vFragDepth;")),s){n.push("in vec4 vWorldPosition;"),n.push("in float vFlags;");for(let e=0,s=t.getNumAllocatedSectionPlanes();e> 16 & 0xF) == 1;"),n.push(" if (clippable) {"),n.push(" float dist = 0.0;");for(let e=0,s=t.getNumAllocatedSectionPlanes();e 0.0) { discard; }"),n.push("}")}return e.logarithmicDepthBufferEnabled&&n.push(" gl_FragDepth = isPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5;"),n.push("outColor = vColor;"),n.push("}"),n}}class El extends mr{_buildVertexShader(){const e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,s=[];return s.push("#version 300 es"),s.push("// Triangles instancing edges vertex shader"),s.push("uniform int renderPass;"),s.push("in vec3 position;"),s.push("in vec4 color;"),e.entityOffsetsEnabled&&s.push("in vec3 offset;"),s.push("in float flags;"),s.push("in vec4 modelMatrixCol0;"),s.push("in vec4 modelMatrixCol1;"),s.push("in vec4 modelMatrixCol2;"),this._addMatricesUniformBlockLines(s),e.logarithmicDepthBufferEnabled&&(s.push("uniform float logDepthBufFC;"),s.push("out float vFragDepth;"),s.push("bool isPerspectiveMatrix(mat4 m) {"),s.push(" return (m[2][3] == - 1.0);"),s.push("}"),s.push("out float isPerspective;")),t&&(s.push("out vec4 vWorldPosition;"),s.push("out float vFlags;")),s.push("out vec4 vColor;"),s.push("void main(void) {"),s.push("int edgeFlag = int(flags) >> 8 & 0xF;"),s.push("if (edgeFlag != renderPass) {"),s.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),s.push("} else {"),s.push("vec4 worldPosition = positionsDecodeMatrix * vec4(position, 1.0); "),s.push("worldPosition = worldMatrix * vec4(dot(worldPosition, modelMatrixCol0), dot(worldPosition, modelMatrixCol1), dot(worldPosition, modelMatrixCol2), 1.0);"),e.entityOffsetsEnabled&&s.push(" worldPosition.xyz = worldPosition.xyz + offset;"),s.push("vec4 viewPosition = viewMatrix * worldPosition; "),t&&(s.push("vWorldPosition = worldPosition;"),s.push("vFlags = flags;")),s.push("vec4 clipPos = projMatrix * viewPosition;"),e.logarithmicDepthBufferEnabled&&(s.push("vFragDepth = 1.0 + clipPos.w;"),s.push("isPerspective = float (isPerspectiveMatrix(projMatrix));")),s.push("gl_Position = clipPos;"),s.push("vColor = vec4(float(color.r*0.5) / 255.0, float(color.g*0.5) / 255.0, float(color.b*0.5) / 255.0, float(color.a) / 255.0);"),s.push("}"),s.push("}"),s}_buildFragmentShader(){const e=this._scene,t=e._sectionPlanesState,s=t.getNumAllocatedSectionPlanes()>0,n=[];if(n.push("#version 300 es"),n.push("// Batched geometry edges drawing fragment shader"),n.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),n.push("precision highp float;"),n.push("precision highp int;"),n.push("#else"),n.push("precision mediump float;"),n.push("precision mediump int;"),n.push("#endif"),e.logarithmicDepthBufferEnabled&&(n.push("in float isPerspective;"),n.push("uniform float logDepthBufFC;"),n.push("in float vFragDepth;")),s){n.push("in vec4 vWorldPosition;"),n.push("in float vFlags;");for(let e=0,s=t.getNumAllocatedSectionPlanes();e> 16 & 0xF) == 1;"),n.push(" if (clippable) {"),n.push(" float dist = 0.0;");for(let e=0,s=t.getNumAllocatedSectionPlanes();e 0.0) { discard; }"),n.push("}")}return e.logarithmicDepthBufferEnabled&&n.push(" gl_FragDepth = isPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5;"),n.push("outColor = vColor;"),n.push("}"),n}}class Tl extends yr{_buildVertexShader(){const e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,s=[];return s.push("#version 300 es"),s.push("// Instancing geometry picking vertex shader"),s.push("uniform int renderPass;"),s.push("in vec3 position;"),e.entityOffsetsEnabled&&s.push("in vec3 offset;"),s.push("in float flags;"),s.push("in vec4 pickColor;"),s.push("in vec4 modelMatrixCol0;"),s.push("in vec4 modelMatrixCol1;"),s.push("in vec4 modelMatrixCol2;"),s.push("uniform bool pickInvisible;"),this._addMatricesUniformBlockLines(s),this._addRemapClipPosLines(s),e.logarithmicDepthBufferEnabled&&(s.push("uniform float logDepthBufFC;"),s.push("out float vFragDepth;"),s.push("bool isPerspectiveMatrix(mat4 m) {"),s.push(" return (m[2][3] == - 1.0);"),s.push("}"),s.push("out float isPerspective;")),t&&(s.push("out vec4 vWorldPosition;"),s.push("out float vFlags;")),s.push("out vec4 vPickColor;"),s.push("void main(void) {"),s.push("int pickFlag = int(flags) >> 12 & 0xF;"),s.push("if (pickFlag != renderPass) {"),s.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),s.push("} else {"),s.push(" vec4 worldPosition = positionsDecodeMatrix * vec4(position, 1.0); "),s.push(" worldPosition = worldMatrix * vec4(dot(worldPosition, modelMatrixCol0), dot(worldPosition, modelMatrixCol1), dot(worldPosition, modelMatrixCol2), 1.0);"),e.entityOffsetsEnabled&&s.push(" worldPosition.xyz = worldPosition.xyz + offset;"),s.push(" vec4 viewPosition = viewMatrix * worldPosition; "),s.push(" vPickColor = vec4(float(pickColor.r) / 255.0, float(pickColor.g) / 255.0, float(pickColor.b) / 255.0, float(pickColor.a) / 255.0);"),t&&(s.push(" vWorldPosition = worldPosition;"),s.push(" vFlags = flags;")),s.push("vec4 clipPos = projMatrix * viewPosition;"),e.logarithmicDepthBufferEnabled&&(s.push("vFragDepth = 1.0 + clipPos.w;"),s.push("isPerspective = float (isPerspectiveMatrix(projMatrix));")),s.push("gl_Position = remapClipPos(clipPos);"),s.push("}"),s.push("}"),s}_buildFragmentShader(){const e=this._scene,t=e._sectionPlanesState,s=t.getNumAllocatedSectionPlanes()>0,n=[];if(n.push("#version 300 es"),n.push("// Batched geometry picking fragment shader"),n.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),n.push("precision highp float;"),n.push("precision highp int;"),n.push("#else"),n.push("precision mediump float;"),n.push("precision mediump int;"),n.push("#endif"),e.logarithmicDepthBufferEnabled&&(n.push("in float isPerspective;"),n.push("uniform float logDepthBufFC;"),n.push("in float vFragDepth;")),s){n.push("in vec4 vWorldPosition;"),n.push("in float vFlags;");for(let e=0;e> 16 & 0xF) == 1;"),n.push(" if (clippable) {"),n.push(" float dist = 0.0;");for(let e=0;e 0.0) { discard; }"),n.push("}")}return e.logarithmicDepthBufferEnabled&&n.push(" gl_FragDepth = isPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5;"),n.push("outColor = vPickColor; "),n.push("}"),n}}class bl extends yr{_buildVertexShader(){const e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,s=[];return s.push("#version 300 es"),s.push("// Instancing geometry depth vertex shader"),s.push("uniform int renderPass;"),s.push("in vec3 position;"),e.entityOffsetsEnabled&&s.push("in vec3 offset;"),s.push("in float flags;"),s.push("in vec4 modelMatrixCol0;"),s.push("in vec4 modelMatrixCol1;"),s.push("in vec4 modelMatrixCol2;"),s.push("uniform bool pickInvisible;"),this._addMatricesUniformBlockLines(s),this._addRemapClipPosLines(s),e.logarithmicDepthBufferEnabled&&(s.push("uniform float logDepthBufFC;"),s.push("out float vFragDepth;"),s.push("bool isPerspectiveMatrix(mat4 m) {"),s.push(" return (m[2][3] == - 1.0);"),s.push("}"),s.push("out float isPerspective;")),t&&(s.push("out vec4 vWorldPosition;"),s.push("out float vFlags;")),s.push("out vec4 vViewPosition;"),s.push("void main(void) {"),s.push("int pickFlag = int(flags) >> 12 & 0xF;"),s.push("if (pickFlag != renderPass) {"),s.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),s.push("} else {"),s.push(" vec4 worldPosition = positionsDecodeMatrix * vec4(position, 1.0); "),s.push(" worldPosition = worldMatrix * vec4(dot(worldPosition, modelMatrixCol0), dot(worldPosition, modelMatrixCol1), dot(worldPosition, modelMatrixCol2), 1.0);"),e.entityOffsetsEnabled&&s.push(" worldPosition.xyz = worldPosition.xyz + offset;"),s.push(" vec4 viewPosition = viewMatrix * worldPosition; "),t&&(s.push(" vWorldPosition = worldPosition;"),s.push(" vFlags = flags;")),s.push(" vViewPosition = viewPosition;"),s.push("vec4 clipPos = projMatrix * viewPosition;"),e.logarithmicDepthBufferEnabled&&(s.push("vFragDepth = 1.0 + clipPos.w;"),s.push("isPerspective = float (isPerspectiveMatrix(projMatrix));")),s.push("gl_Position = remapClipPos(clipPos);"),s.push("}"),s.push("}"),s}_buildFragmentShader(){const e=this._scene,t=e._sectionPlanesState,s=t.getNumAllocatedSectionPlanes()>0,n=[];if(n.push("#version 300 es"),n.push("// Batched geometry depth fragment shader"),n.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),n.push("precision highp float;"),n.push("precision highp int;"),n.push("#else"),n.push("precision mediump float;"),n.push("precision mediump int;"),n.push("#endif"),e.logarithmicDepthBufferEnabled&&(n.push("in float isPerspective;"),n.push("uniform float logDepthBufFC;"),n.push("in float vFragDepth;")),n.push("uniform float pickZNear;"),n.push("uniform float pickZFar;"),s){n.push("in vec4 vWorldPosition;"),n.push("in float vFlags;");for(let e=0;e> 16 & 0xF) == 1;"),n.push(" if (clippable) {"),n.push(" float dist = 0.0;");for(let e=0;e 0.0) { discard; }"),n.push("}")}return e.logarithmicDepthBufferEnabled&&n.push(" gl_FragDepth = isPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5;"),n.push(" float zNormalizedDepth = abs((pickZNear + vViewPosition.z) / (pickZFar - pickZNear));"),n.push(" outColor = packDepth(zNormalizedDepth); "),n.push("}"),n}}class Dl extends yr{_buildVertexShader(){const e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,s=[];return s.push("#version 300 es"),s.push("// Instancing geometry normals vertex shader"),s.push("uniform int renderPass;"),s.push("in vec3 position;"),e.entityOffsetsEnabled&&s.push("in vec3 offset;"),s.push("in vec2 normal;"),s.push("in float flags;"),s.push("in vec4 modelMatrixCol0;"),s.push("in vec4 modelMatrixCol1;"),s.push("in vec4 modelMatrixCol2;"),s.push("in vec4 modelNormalMatrixCol0;"),s.push("in vec4 modelNormalMatrixCol1;"),s.push("in vec4 modelNormalMatrixCol2;"),s.push("uniform bool pickInvisible;"),this._addMatricesUniformBlockLines(s),this._addRemapClipPosLines(s,3),e.logarithmicDepthBufferEnabled&&(s.push("uniform float logDepthBufFC;"),s.push("out float vFragDepth;"),s.push("bool isPerspectiveMatrix(mat4 m) {"),s.push(" return (m[2][3] == - 1.0);"),s.push("}"),s.push("out float isPerspective;")),s.push("vec3 octDecode(vec2 oct) {"),s.push(" vec3 v = vec3(oct.xy, 1.0 - abs(oct.x) - abs(oct.y));"),s.push(" if (v.z < 0.0) {"),s.push(" v.xy = (1.0 - abs(v.yx)) * vec2(v.x >= 0.0 ? 1.0 : -1.0, v.y >= 0.0 ? 1.0 : -1.0);"),s.push(" }"),s.push(" return normalize(v);"),s.push("}"),t&&(s.push("out vec4 vWorldPosition;"),s.push("out float vFlags;")),s.push("out vec3 vWorldNormal;"),s.push("void main(void) {"),s.push("int pickFlag = int(flags) >> 12 & 0xF;"),s.push("if (pickFlag != renderPass) {"),s.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),s.push("} else {"),s.push(" vec4 worldPosition = positionsDecodeMatrix * vec4(position, 1.0); "),s.push(" worldPosition = worldMatrix * vec4(dot(worldPosition, modelMatrixCol0), dot(worldPosition, modelMatrixCol1), dot(worldPosition, modelMatrixCol2), 1.0);"),e.entityOffsetsEnabled&&s.push(" worldPosition.xyz = worldPosition.xyz + offset;"),s.push(" vec4 viewPosition = viewMatrix * worldPosition; "),s.push(" vec4 modelNormal = vec4(octDecode(normal.xy), 0.0); "),s.push(" vec3 worldNormal = vec3(dot(modelNormal, modelNormalMatrixCol0), dot(modelNormal, modelNormalMatrixCol1), dot(modelNormal, modelNormalMatrixCol2));"),s.push(" vWorldNormal = worldNormal;"),t&&(s.push(" vWorldPosition = worldPosition;"),s.push("vFlags = flags;")),s.push("vec4 clipPos = projMatrix * viewPosition;"),e.logarithmicDepthBufferEnabled&&(s.push("vFragDepth = 1.0 + clipPos.w;"),s.push("isPerspective = float (isPerspectiveMatrix(projMatrix));")),s.push("gl_Position = remapClipPos(clipPos);"),s.push("}"),s.push("}"),s}_buildFragmentShader(){const e=this._scene,t=e._sectionPlanesState,s=t.getNumAllocatedSectionPlanes()>0,n=[];if(n.push("#version 300 es"),n.push("// Batched geometry normals fragment shader"),n.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),n.push("precision highp float;"),n.push("precision highp int;"),n.push("#else"),n.push("precision mediump float;"),n.push("precision mediump int;"),n.push("#endif"),e.logarithmicDepthBufferEnabled&&(n.push("in float isPerspective;"),n.push("uniform float logDepthBufFC;"),n.push("in float vFragDepth;")),s){n.push("in vec4 vWorldPosition;"),n.push("in float vFlags;");for(let e=0;e> 16 & 0xF) == 1;"),n.push(" if (clippable) {"),n.push(" float dist = 0.0;");for(var i=0;i 0.0) { discard; }"),n.push("}")}return e.logarithmicDepthBufferEnabled&&n.push(" gl_FragDepth = isPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5;"),n.push(` outNormal = ivec4(vWorldNormal * float(${A.MAX_INT}), 1.0);`),n.push("}"),n}}class Pl extends yr{_buildVertexShader(){const e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,s=[];return s.push("#version 300 es"),s.push("// TrianglesInstancingOcclusionRenderer vertex shader"),s.push("uniform int renderPass;"),s.push("in vec3 position;"),e.entityOffsetsEnabled&&s.push("in vec3 offset;"),s.push("in vec4 color;"),s.push("in float flags;"),s.push("in vec4 modelMatrixCol0;"),s.push("in vec4 modelMatrixCol1;"),s.push("in vec4 modelMatrixCol2;"),this._addMatricesUniformBlockLines(s),t&&(s.push("out vec4 vWorldPosition;"),s.push("out float vFlags;")),s.push("void main(void) {"),s.push("int colorFlag = int(flags) & 0xF;"),s.push("if (colorFlag != renderPass) {"),s.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),s.push("} else {"),s.push(" vec4 worldPosition = positionsDecodeMatrix * vec4(position, 1.0); "),s.push(" worldPosition = worldMatrix * vec4(dot(worldPosition, modelMatrixCol0), dot(worldPosition, modelMatrixCol1), dot(worldPosition, modelMatrixCol2), 1.0);"),e.entityOffsetsEnabled&&s.push(" worldPosition.xyz = worldPosition.xyz + offset;"),s.push(" vec4 viewPosition = viewMatrix * worldPosition; "),t&&(s.push(" vWorldPosition = worldPosition;"),s.push("vFlags = flags;")),s.push("vec4 clipPos = projMatrix * viewPosition;"),s.push("gl_Position = clipPos;"),s.push("}"),s.push("}"),s}_buildFragmentShader(){const e=this._scene._sectionPlanesState,t=e.getNumAllocatedSectionPlanes()>0,s=[];if(s.push("#version 300 es"),s.push("// TrianglesInstancingOcclusionRenderer fragment shader"),s.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),s.push("precision highp float;"),s.push("precision highp int;"),s.push("#else"),s.push("precision mediump float;"),s.push("precision mediump int;"),s.push("#endif"),t){s.push("in vec4 vWorldPosition;"),s.push("in float vFlags;");for(let t=0;t> 16 & 0xF) == 1;"),s.push(" if (clippable) {"),s.push(" float dist = 0.0;");for(let t=0;t 0.0) { discard; }"),s.push("}")}return s.push(" outColor = vec4(0.0, 0.0, 1.0, 1.0); "),s.push("}"),s}}class Rl extends yr{_buildVertexShader(){const e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,s=[];return s.push("#version 300 es"),s.push("// Instancing geometry depth drawing vertex shader"),s.push("uniform int renderPass;"),s.push("in vec3 position;"),e.entityOffsetsEnabled&&s.push("in vec3 offset;"),s.push("in float flags;"),s.push("in vec4 modelMatrixCol0;"),s.push("in vec4 modelMatrixCol1;"),s.push("in vec4 modelMatrixCol2;"),this._addMatricesUniformBlockLines(s),e.logarithmicDepthBufferEnabled&&(s.push("uniform float logDepthBufFC;"),s.push("out float vFragDepth;"),s.push("bool isPerspectiveMatrix(mat4 m) {"),s.push(" return (m[2][3] == - 1.0);"),s.push("}"),s.push("out float isPerspective;")),t&&(s.push("out vec4 vWorldPosition;"),s.push("out float vFlags;")),s.push("out vec2 vHighPrecisionZW;"),s.push("void main(void) {"),s.push("int colorFlag = int(flags) & 0xF;"),s.push("if (colorFlag != renderPass) {"),s.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),s.push("} else {"),s.push(" vec4 worldPosition = positionsDecodeMatrix * vec4(position, 1.0); "),s.push(" worldPosition = worldMatrix * vec4(dot(worldPosition, modelMatrixCol0), dot(worldPosition, modelMatrixCol1), dot(worldPosition, modelMatrixCol2), 1.0);"),e.entityOffsetsEnabled&&s.push(" worldPosition.xyz = worldPosition.xyz + offset;"),s.push(" vec4 viewPosition = viewMatrix * worldPosition; "),t&&(s.push("vWorldPosition = worldPosition;"),s.push("vFlags = flags;")),s.push("vec4 clipPos = projMatrix * viewPosition;"),e.logarithmicDepthBufferEnabled&&(s.push("vFragDepth = 1.0 + clipPos.w;"),s.push("isPerspective = float (isPerspectiveMatrix(projMatrix));")),s.push("gl_Position = clipPos;"),s.push("vHighPrecisionZW = gl_Position.zw;"),s.push("}"),s.push("}"),s}_buildFragmentShader(){const e=this._scene,t=e._sectionPlanesState;let s,n;const i=t.getNumAllocatedSectionPlanes()>0,a=[];if(a.push("#version 300 es"),a.push("// Instancing geometry depth drawing fragment shader"),a.push("precision highp float;"),a.push("precision highp int;"),e.logarithmicDepthBufferEnabled&&(a.push("in float isPerspective;"),a.push("uniform float logDepthBufFC;"),a.push("in float vFragDepth;")),i)for(a.push("in vec4 vWorldPosition;"),a.push("in float vFlags;"),s=0,n=t.getNumAllocatedSectionPlanes();s> 16 & 0xF) == 1;"),a.push(" if (clippable) {"),a.push(" float dist = 0.0;"),s=0,n=t.getNumAllocatedSectionPlanes();s 0.0) { discard; }"),a.push("}")}return e.logarithmicDepthBufferEnabled&&a.push(" gl_FragDepth = isPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5;"),a.push("float fragCoordZ = 0.5 * vHighPrecisionZW[0] / vHighPrecisionZW[1] + 0.5;"),a.push(" outColor = vec4(vec3(1.0 - fragCoordZ), 1.0); "),a.push("}"),a}}class Cl extends yr{_buildVertexShader(){const e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,s=[];return s.push("#version 300 es"),s.push("// Instancing geometry normals drawing vertex shader"),s.push("uniform int renderPass;"),s.push("in vec3 position;"),e.entityOffsetsEnabled&&s.push("in vec3 offset;"),s.push("in vec3 normal;"),s.push("in vec4 color;"),s.push("in float flags;"),s.push("in vec4 modelMatrixCol0;"),s.push("in vec4 modelMatrixCol1;"),s.push("in vec4 modelMatrixCol2;"),this._addMatricesUniformBlockLines(s,!0),e.logarithmicDepthBufferEnabled&&(s.push("uniform float logDepthBufFC;"),s.push("out float vFragDepth;"),s.push("bool isPerspectiveMatrix(mat4 m) {"),s.push(" return (m[2][3] == - 1.0);"),s.push("}"),s.push("out float isPerspective;")),s.push("vec3 octDecode(vec2 oct) {"),s.push(" vec3 v = vec3(oct.xy, 1.0 - abs(oct.x) - abs(oct.y));"),s.push(" if (v.z < 0.0) {"),s.push(" v.xy = (1.0 - abs(v.yx)) * vec2(v.x >= 0.0 ? 1.0 : -1.0, v.y >= 0.0 ? 1.0 : -1.0);"),s.push(" }"),s.push(" return normalize(v);"),s.push("}"),t&&(s.push("out vec4 vWorldPosition;"),s.push("out float vFlags;")),s.push("out vec3 vViewNormal;"),s.push("void main(void) {"),s.push("int colorFlag = int(flags) & 0xF;"),s.push("if (colorFlag != renderPass) {"),s.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),s.push("} else {"),s.push(" vec4 worldPosition = positionsDecodeMatrix * vec4(position, 1.0); "),s.push(" worldPosition = worldMatrix * vec4(dot(worldPosition, modelMatrixCol0), dot(worldPosition, modelMatrixCol1), dot(worldPosition, modelMatrixCol2), 1.0);"),e.entityOffsetsEnabled&&s.push(" worldPosition.xyz = worldPosition.xyz + offset;"),s.push(" vec4 viewPosition = viewMatrix * worldPosition; "),s.push(" vec4 worldNormal = worldNormalMatrix * vec4(octDecode(normal.xy), 0.0); "),s.push(" vec3 viewNormal = normalize((viewNormalMatrix * worldNormal).xyz);"),t&&(s.push("vWorldPosition = worldPosition;"),s.push("vFlags = flags;")),s.push(" vViewNormal = viewNormal;"),s.push("vec4 clipPos = projMatrix * viewPosition;"),e.logarithmicDepthBufferEnabled&&(s.push("vFragDepth = 1.0 + clipPos.w;"),s.push("isPerspective = float (isPerspectiveMatrix(projMatrix));")),s.push("gl_Position = clipPos;"),s.push("}"),s.push("}"),s}_buildFragmentShader(){const e=this._scene,t=e._sectionPlanesState,s=t.getNumAllocatedSectionPlanes()>0,n=[];if(n.push("#version 300 es"),n.push("// Instancing geometry depth drawing fragment shader"),n.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),n.push("precision highp float;"),n.push("precision highp int;"),n.push("#else"),n.push("precision mediump float;"),n.push("precision mediump int;"),n.push("#endif"),e.logarithmicDepthBufferEnabled&&(n.push("in float isPerspective;"),n.push("uniform float logDepthBufFC;"),n.push("in float vFragDepth;")),s){n.push("in vec4 vWorldPosition;"),n.push("in float vFlags;");for(let e=0,s=t.getNumAllocatedSectionPlanes();e> 16 & 0xF) == 1;"),n.push(" if (clippable) {"),n.push(" float dist = 0.0;");for(let e=0,s=t.getNumAllocatedSectionPlanes();e 0.0) { discard; }"),n.push("}")}return e.logarithmicDepthBufferEnabled&&n.push(" gl_FragDepth = isPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5;"),n.push(" outColor = vec4(packNormalToRGB(vViewNormal), 1.0); "),n.push("}"),n}}class _l extends yr{_buildVertexShader(){const e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,s=[];return s.push("#version 300 es"),s.push("// Instancing geometry shadow drawing vertex shader"),s.push("in vec3 position;"),e.entityOffsetsEnabled&&s.push("in vec3 offset;"),s.push("in vec4 color;"),s.push("in float flags;"),s.push("in vec4 modelMatrixCol0;"),s.push("in vec4 modelMatrixCol1;"),s.push("in vec4 modelMatrixCol2;"),s.push("uniform mat4 shadowViewMatrix;"),s.push("uniform mat4 shadowProjMatrix;"),this._addMatricesUniformBlockLines(s),t&&(s.push("out vec4 vWorldPosition;"),s.push("out float vFlags;")),s.push("void main(void) {"),s.push("int colorFlag = int(flags) & 0xF;"),s.push("bool visible = (colorFlag > 0);"),s.push("bool transparent = ((float(color.a) / 255.0) < 1.0);"),s.push("if (!visible || transparent) {"),s.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),s.push("} else {"),s.push(" vec4 worldPosition = positionsDecodeMatrix * vec4(position, 1.0); "),s.push(" worldPosition = vec4(dot(worldPosition, modelMatrixCol0), dot(worldPosition, modelMatrixCol1), dot(worldPosition, modelMatrixCol2), 1.0);"),e.entityOffsetsEnabled&&s.push(" worldPosition.xyz = worldPosition.xyz + offset;"),s.push(" vec4 viewPosition = shadowViewMatrix * worldPosition; "),t&&(s.push("vWorldPosition = worldPosition;"),s.push("vFlags = flags;")),s.push(" gl_Position = shadowProjMatrix * viewPosition;"),s.push("}"),s.push("}"),s}_buildFragmentShader(){const e=this._scene,t=e._sectionPlanesState,s=t.getNumAllocatedSectionPlanes()>0,n=[];if(n.push("#version 300 es"),n.push("// Instancing geometry depth drawing fragment shader"),n.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),n.push("precision highp float;"),n.push("precision highp int;"),n.push("#else"),n.push("precision mediump float;"),n.push("precision mediump int;"),n.push("#endif"),e.logarithmicDepthBufferEnabled&&(n.push("uniform float logDepthBufFC;"),n.push("in float vFragDepth;")),s){n.push("in vec4 vWorldPosition;"),n.push("in float vFlags;");for(let e=0,s=t.getNumAllocatedSectionPlanes();e> 16 & 0xF) == 1;"),n.push(" if (clippable) {"),n.push(" float dist = 0.0;");for(let e=0,s=t.getNumAllocatedSectionPlanes();e 0.0) { discard; }"),n.push("}")}return e.logarithmicDepthBufferEnabled&&n.push("gl_FragDepth = log2( vFragDepth ) * logDepthBufFC * 0.5;"),n.push(" outColor = vec4(packNormalToRGB(vViewNormal), 1.0); "),n.push("}"),n}}const Bl={3e3:"linearToLinear",3001:"sRGBToLinear"};class Ol extends yr{_getHash(){const e=this._scene;return[e.gammaOutput,e._lightsState.getHash(),e._sectionPlanesState.getHash(),this._withSAO?"sao":"nosao"].join(";")}drawLayer(e,t,s){super.drawLayer(e,t,s,{incrementDrawState:!0})}_buildVertexShader(){const e=this._scene,t=e._sectionPlanesState,s=e._lightsState,n=t.getNumAllocatedSectionPlanes()>0,i=t.clippingCaps,a=[];return a.push("#version 300 es"),a.push("// Instancing geometry quality drawing vertex shader"),a.push("uniform int renderPass;"),a.push("in vec3 position;"),a.push("in vec3 normal;"),a.push("in vec4 color;"),a.push("in vec2 uv;"),a.push("in vec2 metallicRoughness;"),a.push("in float flags;"),e.entityOffsetsEnabled&&a.push("in vec3 offset;"),a.push("in vec4 modelMatrixCol0;"),a.push("in vec4 modelMatrixCol1;"),a.push("in vec4 modelMatrixCol2;"),a.push("in vec4 modelNormalMatrixCol0;"),a.push("in vec4 modelNormalMatrixCol1;"),a.push("in vec4 modelNormalMatrixCol2;"),this._addMatricesUniformBlockLines(a,!0),a.push("uniform mat3 uvDecodeMatrix;"),e.logarithmicDepthBufferEnabled&&(a.push("uniform float logDepthBufFC;"),a.push("out float vFragDepth;"),a.push("bool isPerspectiveMatrix(mat4 m) {"),a.push(" return (m[2][3] == - 1.0);"),a.push("}"),a.push("out float isPerspective;")),a.push("vec3 octDecode(vec2 oct) {"),a.push(" vec3 v = vec3(oct.xy, 1.0 - abs(oct.x) - abs(oct.y));"),a.push(" if (v.z < 0.0) {"),a.push(" v.xy = (1.0 - abs(v.yx)) * vec2(v.x >= 0.0 ? 1.0 : -1.0, v.y >= 0.0 ? 1.0 : -1.0);"),a.push(" }"),a.push(" return normalize(v);"),a.push("}"),a.push("out vec4 vViewPosition;"),a.push("out vec3 vViewNormal;"),a.push("out vec4 vColor;"),a.push("out vec2 vUV;"),a.push("out vec2 vMetallicRoughness;"),s.lightMaps.length>0&&a.push("out vec3 vWorldNormal;"),n&&(a.push("out vec4 vWorldPosition;"),a.push("out float vFlags;"),i&&a.push("out vec4 vClipPosition;")),a.push("void main(void) {"),a.push("int colorFlag = int(flags) & 0xF;"),a.push("if (colorFlag != renderPass) {"),a.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),a.push("} else {"),a.push("vec4 worldPosition = positionsDecodeMatrix * vec4(position, 1.0); "),a.push("worldPosition = worldMatrix * vec4(dot(worldPosition, modelMatrixCol0), dot(worldPosition, modelMatrixCol1), dot(worldPosition, modelMatrixCol2), 1.0);"),e.entityOffsetsEnabled&&a.push(" worldPosition.xyz = worldPosition.xyz + offset;"),a.push("vec4 viewPosition = viewMatrix * worldPosition; "),a.push("vec4 modelNormal = vec4(octDecode(normal.xy), 0.0); "),a.push("vec4 worldNormal = worldNormalMatrix * vec4(dot(modelNormal, modelNormalMatrixCol0), dot(modelNormal, modelNormalMatrixCol1), dot(modelNormal, modelNormalMatrixCol2), 1.0);"),a.push("vec3 viewNormal = vec4(viewNormalMatrix * worldNormal).xyz;"),a.push("vec4 clipPos = projMatrix * viewPosition;"),e.logarithmicDepthBufferEnabled&&(a.push("vFragDepth = 1.0 + clipPos.w;"),a.push("isPerspective = float (isPerspectiveMatrix(projMatrix));")),n&&(a.push("vWorldPosition = worldPosition;"),a.push("vFlags = flags;"),i&&a.push("vClipPosition = clipPos;")),a.push("vViewPosition = viewPosition;"),a.push("vViewNormal = viewNormal;"),a.push("vColor = color;"),a.push("vUV = (uvDecodeMatrix * vec3(uv, 1.0)).xy;"),a.push("vMetallicRoughness = metallicRoughness;"),s.lightMaps.length>0&&a.push("vWorldNormal = worldNormal.xyz;"),a.push("gl_Position = clipPos;"),a.push("}"),a.push("}"),a}_buildFragmentShader(){const e=this._scene,t=e.gammaOutput,s=e._sectionPlanesState,n=e._lightsState,i=s.getNumAllocatedSectionPlanes()>0,a=s.clippingCaps,r=[];r.push("#version 300 es"),r.push("// Instancing geometry quality drawing fragment shader"),r.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),r.push("precision highp float;"),r.push("precision highp int;"),r.push("#else"),r.push("precision mediump float;"),r.push("precision mediump int;"),r.push("#endif"),e.logarithmicDepthBufferEnabled&&(r.push("in float isPerspective;"),r.push("uniform float logDepthBufFC;"),r.push("in float vFragDepth;")),r.push("uniform sampler2D uColorMap;"),r.push("uniform sampler2D uMetallicRoughMap;"),r.push("uniform sampler2D uEmissiveMap;"),r.push("uniform sampler2D uNormalMap;"),this._withSAO&&(r.push("uniform sampler2D uOcclusionTexture;"),r.push("uniform vec4 uSAOParams;"),r.push("const float packUpscale = 256. / 255.;"),r.push("const float unpackDownScale = 255. / 256.;"),r.push("const vec3 packFactors = vec3( 256. * 256. * 256., 256. * 256., 256. );"),r.push("const vec4 unPackFactors = unpackDownScale / vec4( packFactors, 1. );"),r.push("float unpackRGBToFloat( const in vec4 v ) {"),r.push(" return dot( v, unPackFactors );"),r.push("}")),n.reflectionMaps.length>0&&r.push("uniform samplerCube reflectionMap;"),n.lightMaps.length>0&&r.push("uniform samplerCube lightMap;"),r.push("uniform vec4 lightAmbient;");for(let e=0,t=n.lights.length;e0&&r.push("in vec3 vWorldNormal;"),this._addMatricesUniformBlockLines(r,!0),r.push("#define PI 3.14159265359"),r.push("#define RECIPROCAL_PI 0.31830988618"),r.push("#define RECIPROCAL_PI2 0.15915494"),r.push("#define EPSILON 1e-6"),r.push("#define saturate(a) clamp( a, 0.0, 1.0 )"),r.push("vec3 perturbNormal2Arb( vec3 eye_pos, vec3 surf_norm, vec2 uv ) {"),r.push(" vec3 texel = texture( uNormalMap, uv ).xyz;"),r.push(" if (texel.r == 0.0 && texel.g == 0.0 && texel.b == 0.0) {"),r.push(" return normalize(surf_norm );"),r.push(" }"),r.push(" vec3 q0 = vec3( dFdx( eye_pos.x ), dFdx( eye_pos.y ), dFdx( eye_pos.z ) );"),r.push(" vec3 q1 = vec3( dFdy( eye_pos.x ), dFdy( eye_pos.y ), dFdy( eye_pos.z ) );"),r.push(" vec2 st0 = dFdx( uv.st );"),r.push(" vec2 st1 = dFdy( uv.st );"),r.push(" vec3 S = normalize( q0 * st1.t - q1 * st0.t );"),r.push(" vec3 T = normalize( -q0 * st1.s + q1 * st0.s );"),r.push(" vec3 N = normalize( surf_norm );"),r.push(" vec3 mapN = texel.xyz * 2.0 - 1.0;"),r.push(" mat3 tsn = mat3( S, T, N );"),r.push(" return normalize( tsn * mapN );"),r.push("}"),r.push("vec3 inverseTransformDirection(in vec3 dir, in mat4 matrix) {"),r.push(" return normalize( ( vec4( dir, 0.0 ) * matrix ).xyz );"),r.push("}"),r.push("struct IncidentLight {"),r.push(" vec3 color;"),r.push(" vec3 direction;"),r.push("};"),r.push("struct ReflectedLight {"),r.push(" vec3 diffuse;"),r.push(" vec3 specular;"),r.push("};"),r.push("struct Geometry {"),r.push(" vec3 position;"),r.push(" vec3 viewNormal;"),r.push(" vec3 worldNormal;"),r.push(" vec3 viewEyeDir;"),r.push("};"),r.push("struct Material {"),r.push(" vec3 diffuseColor;"),r.push(" float specularRoughness;"),r.push(" vec3 specularColor;"),r.push(" float shine;"),r.push("};"),r.push("float GGXRoughnessToBlinnExponent(const in float ggxRoughness) {"),r.push(" float r = ggxRoughness + 0.0001;"),r.push(" return (2.0 / (r * r) - 2.0);"),r.push("}"),r.push("float getSpecularMIPLevel(const in float blinnShininessExponent, const in int maxMIPLevel) {"),r.push(" float maxMIPLevelScalar = float( maxMIPLevel );"),r.push(" float desiredMIPLevel = maxMIPLevelScalar - 0.79248 - 0.5 * log2( ( blinnShininessExponent * blinnShininessExponent ) + 1.0 );"),r.push(" return clamp( desiredMIPLevel, 0.0, maxMIPLevelScalar );"),r.push("}"),n.reflectionMaps.length>0&&(r.push("vec3 getLightProbeIndirectRadiance(const in vec3 reflectVec, const in float blinnShininessExponent, const in int maxMIPLevel) {"),r.push(" float mipLevel = 0.5 * getSpecularMIPLevel(blinnShininessExponent, maxMIPLevel);"),r.push(" vec3 envMapColor = "+Bl[n.reflectionMaps[0].encoding]+"(texture(reflectionMap, reflectVec, mipLevel)).rgb;"),r.push(" return envMapColor;"),r.push("}")),r.push("vec3 F_Schlick(const in vec3 specularColor, const in float dotLH) {"),r.push(" float fresnel = exp2( ( -5.55473 * dotLH - 6.98316 ) * dotLH );"),r.push(" return ( 1.0 - specularColor ) * fresnel + specularColor;"),r.push("}"),r.push("float G_GGX_Smith(const in float alpha, const in float dotNL, const in float dotNV) {"),r.push(" float a2 = ( alpha * alpha );"),r.push(" float gl = dotNL + sqrt( a2 + ( 1.0 - a2 ) * ( dotNL * dotNL ) );"),r.push(" float gv = dotNV + sqrt( a2 + ( 1.0 - a2 ) * ( dotNV * dotNV ) );"),r.push(" return 1.0 / ( gl * gv );"),r.push("}"),r.push("float G_GGX_SmithCorrelated(const in float alpha, const in float dotNL, const in float dotNV) {"),r.push(" float a2 = ( alpha * alpha );"),r.push(" float gv = dotNL * sqrt( a2 + ( 1.0 - a2 ) * ( dotNV * dotNV ) );"),r.push(" float gl = dotNV * sqrt( a2 + ( 1.0 - a2 ) * ( dotNL * dotNL ) );"),r.push(" return 0.5 / max( gv + gl, EPSILON );"),r.push("}"),r.push("float D_GGX(const in float alpha, const in float dotNH) {"),r.push(" float a2 = ( alpha * alpha );"),r.push(" float denom = ( dotNH * dotNH) * ( a2 - 1.0 ) + 1.0;"),r.push(" return RECIPROCAL_PI * a2 / ( denom * denom);"),r.push("}"),r.push("vec3 BRDF_Specular_GGX(const in IncidentLight incidentLight, const in Geometry geometry, const in vec3 specularColor, const in float roughness) {"),r.push(" float alpha = ( roughness * roughness );"),r.push(" vec3 halfDir = normalize( incidentLight.direction + geometry.viewEyeDir );"),r.push(" float dotNL = saturate( dot( geometry.viewNormal, incidentLight.direction ) );"),r.push(" float dotNV = saturate( dot( geometry.viewNormal, geometry.viewEyeDir ) );"),r.push(" float dotNH = saturate( dot( geometry.viewNormal, halfDir ) );"),r.push(" float dotLH = saturate( dot( incidentLight.direction, halfDir ) );"),r.push(" vec3 F = F_Schlick( specularColor, dotLH );"),r.push(" float G = G_GGX_SmithCorrelated( alpha, dotNL, dotNV );"),r.push(" float D = D_GGX( alpha, dotNH );"),r.push(" return F * (G * D);"),r.push("}"),r.push("vec3 BRDF_Specular_GGX_Environment(const in Geometry geometry, const in vec3 specularColor, const in float roughness) {"),r.push(" float dotNV = saturate(dot(geometry.viewNormal, geometry.viewEyeDir));"),r.push(" const vec4 c0 = vec4( -1, -0.0275, -0.572, 0.022);"),r.push(" const vec4 c1 = vec4( 1, 0.0425, 1.04, -0.04);"),r.push(" vec4 r = roughness * c0 + c1;"),r.push(" float a004 = min(r.x * r.x, exp2(-9.28 * dotNV)) * r.x + r.y;"),r.push(" vec2 AB = vec2(-1.04, 1.04) * a004 + r.zw;"),r.push(" return specularColor * AB.x + AB.y;"),r.push("}"),(n.lightMaps.length>0||n.reflectionMaps.length>0)&&(r.push("void computePBRLightMapping(const in Geometry geometry, const in Material material, inout ReflectedLight reflectedLight) {"),n.lightMaps.length>0&&(r.push(" vec3 irradiance = "+Bl[n.lightMaps[0].encoding]+"(texture(lightMap, geometry.worldNormal)).rgb;"),r.push(" irradiance *= PI;"),r.push(" vec3 diffuseBRDFContrib = (RECIPROCAL_PI * material.diffuseColor);"),r.push(" reflectedLight.diffuse += irradiance * diffuseBRDFContrib;")),n.reflectionMaps.length>0&&(r.push(" vec3 reflectVec = reflect(geometry.viewEyeDir, geometry.viewNormal);"),r.push(" reflectVec = inverseTransformDirection(reflectVec, viewMatrix);"),r.push(" float blinnExpFromRoughness = GGXRoughnessToBlinnExponent(material.specularRoughness);"),r.push(" vec3 radiance = getLightProbeIndirectRadiance(reflectVec, blinnExpFromRoughness, 8);"),r.push(" vec3 specularBRDFContrib = BRDF_Specular_GGX_Environment(geometry, material.specularColor, material.specularRoughness);"),r.push(" reflectedLight.specular += radiance * specularBRDFContrib;")),r.push("}")),r.push("void computePBRLighting(const in IncidentLight incidentLight, const in Geometry geometry, const in Material material, inout ReflectedLight reflectedLight) {"),r.push(" float dotNL = saturate(dot(geometry.viewNormal, incidentLight.direction));"),r.push(" vec3 irradiance = dotNL * incidentLight.color * PI;"),r.push(" reflectedLight.diffuse += irradiance * (RECIPROCAL_PI * material.diffuseColor);"),r.push(" reflectedLight.specular += irradiance * BRDF_Specular_GGX(incidentLight, geometry, material.specularColor, material.specularRoughness);"),r.push("}"),r.push("out vec4 outColor;"),r.push("void main(void) {"),i){r.push(" bool clippable = (int(vFlags) >> 16 & 0xF) == 1;"),r.push(" if (clippable) {"),r.push(" float dist = 0.0;");for(let e=0,t=s.getNumAllocatedSectionPlanes();e (0.002 * vClipPosition.w)) {"),r.push(" discard;"),r.push(" }"),r.push(" if (dist > 0.0) { "),r.push(" outColor=vec4(1.0, 0.0, 0.0, 1.0);"),e.logarithmicDepthBufferEnabled&&r.push(" gl_FragDepth = log2( vFragDepth ) * logDepthBufFC * 0.5;"),r.push(" return;"),r.push("}")):(r.push(" if (dist > 0.0) { "),r.push(" discard;"),r.push(" }")),r.push("}")}r.push("IncidentLight light;"),r.push("Material material;"),r.push("Geometry geometry;"),r.push("ReflectedLight reflectedLight = ReflectedLight(vec3(0.0,0.0,0.0), vec3(0.0,0.0,0.0));"),r.push("vec3 rgb = (vec3(float(vColor.r) / 255.0, float(vColor.g) / 255.0, float(vColor.b) / 255.0));"),r.push("float opacity = float(vColor.a) / 255.0;"),r.push("vec3 baseColor = rgb;"),r.push("float specularF0 = 1.0;"),r.push("float metallic = float(vMetallicRoughness.r) / 255.0;"),r.push("float roughness = float(vMetallicRoughness.g) / 255.0;"),r.push("float dielectricSpecular = 0.16 * specularF0 * specularF0;"),r.push("vec4 colorTexel = sRGBToLinear(texture(uColorMap, vUV));"),r.push("baseColor *= colorTexel.rgb;"),r.push("vec3 metalRoughTexel = texture(uMetallicRoughMap, vUV).rgb;"),r.push("metallic *= metalRoughTexel.b;"),r.push("roughness *= metalRoughTexel.g;"),r.push("vec3 viewNormal = perturbNormal2Arb( vViewPosition.xyz, normalize(vViewNormal), vUV );"),r.push("material.diffuseColor = baseColor * (1.0 - dielectricSpecular) * (1.0 - metallic);"),r.push("material.specularRoughness = clamp(roughness, 0.04, 1.0);"),r.push("material.specularColor = mix(vec3(dielectricSpecular), baseColor, metallic);"),r.push("geometry.position = vViewPosition.xyz;"),r.push("geometry.viewNormal = -normalize(viewNormal);"),r.push("geometry.viewEyeDir = normalize(vViewPosition.xyz);"),n.lightMaps.length>0&&r.push("geometry.worldNormal = normalize(vWorldNormal);"),(n.lightMaps.length>0||n.reflectionMaps.length>0)&&r.push("computePBRLightMapping(geometry, material, reflectedLight);");for(let e=0,t=n.lights.length;e0,s=[];return s.push("#version 300 es"),s.push("// Instancing geometry normals vertex shader"),s.push("uniform int renderPass;"),s.push("in vec3 position;"),e.entityOffsetsEnabled&&s.push("in vec3 offset;"),s.push("in float flags;"),s.push("in vec4 modelMatrixCol0;"),s.push("in vec4 modelMatrixCol1;"),s.push("in vec4 modelMatrixCol2;"),s.push("uniform bool pickInvisible;"),this._addMatricesUniformBlockLines(s),this._addRemapClipPosLines(s,3),e.logarithmicDepthBufferEnabled&&(s.push("uniform float logDepthBufFC;"),s.push("out float vFragDepth;"),s.push("bool isPerspectiveMatrix(mat4 m) {"),s.push(" return (m[2][3] == - 1.0);"),s.push("}"),s.push("out float isPerspective;")),t&&s.push("out float vFlags;"),s.push("out vec4 vWorldPosition;"),s.push("void main(void) {"),s.push("int pickFlag = int(flags) >> 12 & 0xF;"),s.push("if (pickFlag != renderPass) {"),s.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),s.push("} else {"),s.push(" vec4 worldPosition = positionsDecodeMatrix * vec4(position, 1.0); "),s.push(" worldPosition = worldMatrix * vec4(dot(worldPosition, modelMatrixCol0), dot(worldPosition, modelMatrixCol1), dot(worldPosition, modelMatrixCol2), 1.0);"),e.entityOffsetsEnabled&&s.push(" worldPosition.xyz = worldPosition.xyz + offset;"),s.push(" vec4 viewPosition = viewMatrix * worldPosition; "),s.push(" vWorldPosition = worldPosition;"),s.push("vec4 clipPos = projMatrix * viewPosition;"),e.logarithmicDepthBufferEnabled&&(s.push("vFragDepth = 1.0 + clipPos.w;"),s.push("isPerspective = float (isPerspectiveMatrix(projMatrix));")),t&&s.push("vFlags = flags;"),s.push("gl_Position = remapClipPos(clipPos);"),s.push("}"),s.push("}"),s}_buildFragmentShader(){const e=this._scene,t=e._sectionPlanesState,s=t.getNumAllocatedSectionPlanes()>0,n=[];if(n.push("#version 300 es"),n.push("// Batched geometry normals fragment shader"),n.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),n.push("precision highp float;"),n.push("precision highp int;"),n.push("#else"),n.push("precision mediump float;"),n.push("precision mediump int;"),n.push("#endif"),e.logarithmicDepthBufferEnabled&&(n.push("in float isPerspective;"),n.push("uniform float logDepthBufFC;"),n.push("in float vFragDepth;")),n.push("in vec4 vWorldPosition;"),s){n.push("in float vFlags;");for(let e=0;e> 16 & 0xF) == 1;"),n.push(" if (clippable) {"),n.push(" float dist = 0.0;");for(var i=0;i 0.0) { discard; }"),n.push("}")}return e.logarithmicDepthBufferEnabled&&n.push(" gl_FragDepth = isPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5;"),n.push(" vec3 xTangent = dFdx( vWorldPosition.xyz );"),n.push(" vec3 yTangent = dFdy( vWorldPosition.xyz );"),n.push(" vec3 worldNormal = normalize( cross( xTangent, yTangent ) );"),n.push(` outNormal = ivec4(worldNormal * float(${A.MAX_INT}), 1.0);`),n.push("}"),n}}class Nl extends yr{_getHash(){const e=this._scene;return[e.gammaOutput,e._lightsState.getHash(),e._sectionPlanesState.getHash(),this._withSAO?"sao":"nosao"].join(";")}drawLayer(e,t,s){super.drawLayer(e,t,s,{incrementDrawState:!0})}_buildVertexShader(){const e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,s=[];return s.push("#version 300 es"),s.push("// Instancing geometry drawing vertex shader"),s.push("uniform int renderPass;"),s.push("in vec3 position;"),s.push("in vec4 color;"),s.push("in vec2 uv;"),s.push("in float flags;"),e.entityOffsetsEnabled&&s.push("in vec3 offset;"),s.push("in vec4 modelMatrixCol0;"),s.push("in vec4 modelMatrixCol1;"),s.push("in vec4 modelMatrixCol2;"),this._addMatricesUniformBlockLines(s),s.push("uniform mat3 uvDecodeMatrix;"),e.logarithmicDepthBufferEnabled&&(s.push("uniform float logDepthBufFC;"),s.push("out float vFragDepth;"),s.push("bool isPerspectiveMatrix(mat4 m) {"),s.push(" return (m[2][3] == - 1.0);"),s.push("}"),s.push("out float isPerspective;")),t&&(s.push("out vec4 vWorldPosition;"),s.push("out float vFlags;")),s.push("out vec4 vViewPosition;"),s.push("out vec4 vColor;"),s.push("out vec2 vUV;"),s.push("void main(void) {"),s.push("int colorFlag = int(flags) & 0xF;"),s.push("if (colorFlag != renderPass) {"),s.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),s.push("} else {"),s.push("vec4 worldPosition = positionsDecodeMatrix * vec4(position, 1.0); "),s.push("worldPosition = worldMatrix * vec4(dot(worldPosition, modelMatrixCol0), dot(worldPosition, modelMatrixCol1), dot(worldPosition, modelMatrixCol2), 1.0);"),e.entityOffsetsEnabled&&s.push(" worldPosition.xyz = worldPosition.xyz + offset;"),s.push("vec4 viewPosition = viewMatrix * worldPosition; "),s.push("vViewPosition = viewPosition;"),s.push("vColor = vec4(float(color.r) / 255.0, float(color.g) / 255.0, float(color.b) / 255.0, float(color.a) / 255.0);"),s.push("vUV = (uvDecodeMatrix * vec3(uv, 1.0)).xy;"),s.push("vec4 clipPos = projMatrix * viewPosition;"),e.logarithmicDepthBufferEnabled&&(s.push("vFragDepth = 1.0 + clipPos.w;"),s.push("isPerspective = float (isPerspectiveMatrix(projMatrix));")),t&&(s.push("vWorldPosition = worldPosition;"),s.push("vFlags = flags;")),s.push("gl_Position = clipPos;"),s.push("}"),s.push("}"),s}_buildFragmentShader(){const e=this._scene,t=e.gammaOutput,s=e._sectionPlanesState,n=e._lightsState;let i,a;const r=s.getNumAllocatedSectionPlanes()>0,l=[];if(l.push("#version 300 es"),l.push("// Instancing geometry drawing fragment shader"),l.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),l.push("precision highp float;"),l.push("precision highp int;"),l.push("#else"),l.push("precision mediump float;"),l.push("precision mediump int;"),l.push("#endif"),e.logarithmicDepthBufferEnabled&&(l.push("in float isPerspective;"),l.push("uniform float logDepthBufFC;"),l.push("in float vFragDepth;")),l.push("uniform sampler2D uColorMap;"),this._withSAO&&(l.push("uniform sampler2D uOcclusionTexture;"),l.push("uniform vec4 uSAOParams;"),l.push("const float packUpscale = 256. / 255.;"),l.push("const float unpackDownScale = 255. / 256.;"),l.push("const vec3 packFactors = vec3( 256. * 256. * 256., 256. * 256., 256. );"),l.push("const vec4 unPackFactors = unpackDownScale / vec4( packFactors, 1. );"),l.push("float unpackRGBToFloat( const in vec4 v ) {"),l.push(" return dot( v, unPackFactors );"),l.push("}")),l.push("uniform float gammaFactor;"),l.push("vec4 linearToLinear( in vec4 value ) {"),l.push(" return value;"),l.push("}"),l.push("vec4 sRGBToLinear( in vec4 value ) {"),l.push(" return vec4( mix( pow( value.rgb * 0.9478672986 + vec3( 0.0521327014 ), vec3( 2.4 ) ), value.rgb * 0.0773993808, vec3( lessThanEqual( value.rgb, vec3( 0.04045 ) ) ) ), value.w );"),l.push("}"),l.push("vec4 gammaToLinear( in vec4 value) {"),l.push(" return vec4( pow( value.xyz, vec3( gammaFactor ) ), value.w );"),l.push("}"),t&&(l.push("vec4 linearToGamma( in vec4 value, in float gammaFactor ) {"),l.push(" return vec4( pow( value.xyz, vec3( 1.0 / gammaFactor ) ), value.w );"),l.push("}")),r){l.push("in vec4 vWorldPosition;"),l.push("in float vFlags;");for(let e=0,t=s.getNumAllocatedSectionPlanes();e> 16 & 0xF) == 1;"),l.push(" if (clippable) {"),l.push(" float dist = 0.0;");for(let e=0,t=s.getNumAllocatedSectionPlanes();e 0.0) { "),l.push(" discard;"),l.push(" }"),l.push("}")}for(l.push("vec3 reflectedColor = vec3(0.0, 0.0, 0.0);"),l.push("vec3 viewLightDir = vec3(0.0, 0.0, -1.0);"),l.push("float lambertian = 1.0;"),l.push("vec3 xTangent = dFdx( vViewPosition.xyz );"),l.push("vec3 yTangent = dFdy( vViewPosition.xyz );"),l.push("vec3 viewNormal = normalize( cross( xTangent, yTangent ) );"),i=0,a=n.lights.length;i0,s=[];return s.push("#version 300 es"),s.push("// SnapInstancingDepthBufInitRenderer vertex shader"),s.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),s.push("precision highp float;"),s.push("precision highp int;"),s.push("precision highp usampler2D;"),s.push("precision highp isampler2D;"),s.push("precision highp sampler2D;"),s.push("#else"),s.push("precision mediump float;"),s.push("precision mediump int;"),s.push("precision mediump usampler2D;"),s.push("precision mediump isampler2D;"),s.push("precision mediump sampler2D;"),s.push("#endif"),s.push("uniform int renderPass;"),s.push("in vec4 pickColor;"),s.push("in vec3 position;"),e.entityOffsetsEnabled&&s.push("in vec3 offset;"),s.push("in float flags;"),s.push("in vec4 modelMatrixCol0;"),s.push("in vec4 modelMatrixCol1;"),s.push("in vec4 modelMatrixCol2;"),s.push("uniform bool pickInvisible;"),this._addMatricesUniformBlockLines(s),s.push("uniform vec3 uCameraEyeRtc;"),s.push("uniform vec2 snapVectorA;"),s.push("uniform vec2 snapInvVectorAB;"),s.push("uniform float logDepthBufFC;"),s.push("out float vFragDepth;"),s.push("bool isPerspectiveMatrix(mat4 m) {"),s.push(" return (m[2][3] == - 1.0);"),s.push("}"),s.push("out float isPerspective;"),s.push("vec2 remapClipPos(vec2 clipPos) {"),s.push(" float x = (clipPos.x - snapVectorA.x) * snapInvVectorAB.x;"),s.push(" float y = (clipPos.y - snapVectorA.y) * snapInvVectorAB.y;"),s.push(" return vec2(x, y);"),s.push("}"),s.push("flat out vec4 vPickColor;"),s.push("out vec4 vWorldPosition;"),t&&s.push("out float vFlags;"),s.push("out highp vec3 relativeToOriginPosition;"),s.push("void main(void) {"),s.push("int pickFlag = int(flags) >> 12 & 0xF;"),s.push("if (pickFlag != renderPass) {"),s.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),s.push("} else {"),s.push(" vec4 worldPosition = positionsDecodeMatrix * vec4(position, 1.0); "),s.push(" worldPosition = worldMatrix * vec4(dot(worldPosition, modelMatrixCol0), dot(worldPosition, modelMatrixCol1), dot(worldPosition, modelMatrixCol2), 1.0);"),e.entityOffsetsEnabled&&s.push(" worldPosition.xyz = worldPosition.xyz + offset;"),s.push("relativeToOriginPosition = worldPosition.xyz;"),s.push(" vec4 viewPosition = viewMatrix * worldPosition; "),s.push(" vWorldPosition = worldPosition;"),t&&s.push(" vFlags = flags;"),s.push("vPickColor = pickColor;"),s.push("vec4 clipPos = projMatrix * viewPosition;"),s.push("float tmp = clipPos.w;"),s.push("clipPos.xyzw /= tmp;"),s.push("clipPos.xy = remapClipPos(clipPos.xy);"),s.push("clipPos.xyzw *= tmp;"),s.push("vFragDepth = 1.0 + clipPos.w;"),s.push("isPerspective = float (isPerspectiveMatrix(projMatrix));"),s.push("gl_Position = clipPos;"),s.push("}"),s.push("}"),s}_buildFragmentShader(){const e=this._scene._sectionPlanesState,t=e.getNumAllocatedSectionPlanes()>0,s=[];if(s.push("#version 300 es"),s.push("// Points instancing pick depth fragment shader"),s.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),s.push("precision highp float;"),s.push("precision highp int;"),s.push("#else"),s.push("precision mediump float;"),s.push("precision mediump int;"),s.push("#endif"),s.push("in float isPerspective;"),s.push("uniform float logDepthBufFC;"),s.push("in float vFragDepth;"),s.push("uniform int layerNumber;"),s.push("uniform vec3 coordinateScaler;"),s.push("in vec4 vWorldPosition;"),s.push("flat in vec4 vPickColor;"),t){s.push("in float vFlags;");for(let t=0;t> 16 & 0xF) == 1;"),s.push(" if (clippable) {"),s.push(" float dist = 0.0;");for(let t=0;t 0.0) { discard; }"),s.push("}")}return s.push(" float dx = dFdx(vFragDepth);"),s.push(" float dy = dFdy(vFragDepth);"),s.push(" float diff = sqrt(dx*dx+dy*dy);"),s.push(" gl_FragDepth = isPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth + diff ) * logDepthBufFC * 0.5;"),s.push("outCoords = ivec4(relativeToOriginPosition.xyz*coordinateScaler.xyz, -layerNumber);"),s.push("vec3 xTangent = dFdx( vWorldPosition.xyz );"),s.push("vec3 yTangent = dFdy( vWorldPosition.xyz );"),s.push("vec3 worldNormal = normalize( cross( xTangent, yTangent ) );"),s.push(`outNormal = ivec4(worldNormal * float(${A.MAX_INT}), 1.0);`),s.push("outPickColor = uvec4(vPickColor);"),s.push("}"),s}webglContextRestored(){this._program=null}destroy(){this._program&&this._program.destroy(),this._program=null}}const Vl=A.vec3(),kl=A.vec3(),Ql=A.vec3(),Wl=A.vec3(),zl=A.mat4();class Kl extends dr{constructor(e){super(e,!1,{instancing:!0})}drawLayer(e,t,s){if(!this._program&&(this._allocate(t),this.errors))return;e.lastProgramId!==this._program.id&&(e.lastProgramId=this._program.id,this._bindProgram());const n=t.model,i=n.scene,a=i.camera,r=i.canvas.gl,l=t._state,o=t._state.origin,{position:c,rotationMatrix:u,rotationMatrixConjugate:h}=n,p=t.aabb,d=e.pickViewMatrix||a.viewMatrix;this._vaoCache.has(t)?r.bindVertexArray(this._vaoCache.get(t)):this._vaoCache.set(t,this._makeVAO(l));const f=Vl;let I,y;if(f[0]=A.safeInv(p[3]-p[0])*A.MAX_INT,f[1]=A.safeInv(p[4]-p[1])*A.MAX_INT,f[2]=A.safeInv(p[5]-p[2])*A.MAX_INT,e.snapPickCoordinateScale[0]=A.safeInv(f[0]),e.snapPickCoordinateScale[1]=A.safeInv(f[1]),e.snapPickCoordinateScale[2]=A.safeInv(f[2]),o||0!==c[0]||0!==c[1]||0!==c[2]){const t=kl;if(o){const e=A.transformPoint3(u,o,Ql);t[0]=e[0],t[1]=e[1],t[2]=e[2]}else t[0]=0,t[1]=0,t[2]=0;t[0]+=c[0],t[1]+=c[1],t[2]+=c[2],I=Q(d,t,zl),y=Wl,y[0]=a.eye[0]-t[0],y[1]=a.eye[1]-t[1],y[2]=a.eye[2]-t[2],e.snapPickOrigin[0]=t[0],e.snapPickOrigin[1]=t[1],e.snapPickOrigin[2]=t[2]}else I=d,y=a.eye,e.snapPickOrigin[0]=0,e.snapPickOrigin[1]=0,e.snapPickOrigin[2]=0;r.uniform3fv(this._uCameraEyeRtc,y),r.uniform2fv(this.uVectorA,e.snapVectorA),r.uniform2fv(this.uInverseVectorAB,e.snapInvVectorAB),r.uniform1i(this._uLayerNumber,e.snapPickLayerNumber),r.uniform3fv(this._uCoordinateScaler,f),r.uniform1i(this._uRenderPass,s),r.uniform1i(this._uPickInvisible,e.pickInvisible);let m=0;this._matricesUniformBlockBufferData.set(h,0),this._matricesUniformBlockBufferData.set(I,m+=16),this._matricesUniformBlockBufferData.set(a.projMatrix,m+=16),this._matricesUniformBlockBufferData.set(l.positionsDecodeMatrix,m+=16),r.bindBuffer(r.UNIFORM_BUFFER,this._matricesUniformBlockBuffer),r.bufferData(r.UNIFORM_BUFFER,this._matricesUniformBlockBufferData,r.DYNAMIC_DRAW),r.bindBufferBase(r.UNIFORM_BUFFER,this._matricesUniformBlockBufferBindingPoint,this._matricesUniformBlockBuffer);{const t=2/(Math.log(e.pickZFar+1)/Math.LN2);r.uniform1f(this._uLogDepthBufFC,t)}this.setSectionPlanesStateUniforms(t),this._aModelMatrixCol0.bindArrayBuffer(l.modelMatrixCol0Buf),this._aModelMatrixCol1.bindArrayBuffer(l.modelMatrixCol1Buf),this._aModelMatrixCol2.bindArrayBuffer(l.modelMatrixCol2Buf),r.vertexAttribDivisor(this._aModelMatrixCol0.location,1),r.vertexAttribDivisor(this._aModelMatrixCol1.location,1),r.vertexAttribDivisor(this._aModelMatrixCol2.location,1),this._aFlags.bindArrayBuffer(l.flagsBuf),r.vertexAttribDivisor(this._aFlags.location,1),"edge"===e.snapMode?(l.edgeIndicesBuf.bind(),r.drawElementsInstanced(r.LINES,l.edgeIndicesBuf.numItems,l.edgeIndicesBuf.itemType,0,l.numInstances),l.edgeIndicesBuf.unbind()):r.drawArraysInstanced(r.POINTS,0,l.positionsBuf.numItems,l.numInstances),r.vertexAttribDivisor(this._aModelMatrixCol0.location,0),r.vertexAttribDivisor(this._aModelMatrixCol1.location,0),r.vertexAttribDivisor(this._aModelMatrixCol2.location,0),r.vertexAttribDivisor(this._aFlags.location,0),this._aOffset&&r.vertexAttribDivisor(this._aOffset.location,0)}_allocate(){super._allocate();const e=this._program;this._uLogDepthBufFC=e.getLocation("logDepthBufFC"),this._uCameraEyeRtc=e.getLocation("uCameraEyeRtc"),this.uVectorA=e.getLocation("snapVectorA"),this.uInverseVectorAB=e.getLocation("snapInvVectorAB"),this._uLayerNumber=e.getLocation("layerNumber"),this._uCoordinateScaler=e.getLocation("coordinateScaler")}_bindProgram(){this._program.bind()}_buildVertexShader(){const e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,s=[];return s.push("#version 300 es"),s.push("// SnapInstancingDepthRenderer vertex shader"),s.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),s.push("precision highp float;"),s.push("precision highp int;"),s.push("precision highp usampler2D;"),s.push("precision highp isampler2D;"),s.push("precision highp sampler2D;"),s.push("#else"),s.push("precision mediump float;"),s.push("precision mediump int;"),s.push("precision mediump usampler2D;"),s.push("precision mediump isampler2D;"),s.push("precision mediump sampler2D;"),s.push("#endif"),s.push("uniform int renderPass;"),s.push("in vec3 position;"),e.entityOffsetsEnabled&&s.push("in vec3 offset;"),s.push("in float flags;"),s.push("in vec4 modelMatrixCol0;"),s.push("in vec4 modelMatrixCol1;"),s.push("in vec4 modelMatrixCol2;"),s.push("uniform bool pickInvisible;"),this._addMatricesUniformBlockLines(s),s.push("uniform vec3 uCameraEyeRtc;"),s.push("uniform vec2 snapVectorA;"),s.push("uniform vec2 snapInvVectorAB;"),s.push("uniform float logDepthBufFC;"),s.push("out float vFragDepth;"),s.push("bool isPerspectiveMatrix(mat4 m) {"),s.push(" return (m[2][3] == - 1.0);"),s.push("}"),s.push("out float isPerspective;"),s.push("vec2 remapClipPos(vec2 clipPos) {"),s.push(" float x = (clipPos.x - snapVectorA.x) * snapInvVectorAB.x;"),s.push(" float y = (clipPos.y - snapVectorA.y) * snapInvVectorAB.y;"),s.push(" return vec2(x, y);"),s.push("}"),t&&(s.push("out vec4 vWorldPosition;"),s.push("out float vFlags;")),s.push("out highp vec3 relativeToOriginPosition;"),s.push("void main(void) {"),s.push("int pickFlag = int(flags) >> 12 & 0xF;"),s.push("if (pickFlag != renderPass) {"),s.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),s.push("} else {"),s.push(" vec4 worldPosition = positionsDecodeMatrix * vec4(position, 1.0); "),s.push(" worldPosition = worldMatrix * vec4(dot(worldPosition, modelMatrixCol0), dot(worldPosition, modelMatrixCol1), dot(worldPosition, modelMatrixCol2), 1.0);"),e.entityOffsetsEnabled&&s.push(" worldPosition.xyz = worldPosition.xyz + offset;"),s.push("relativeToOriginPosition = worldPosition.xyz;"),s.push(" vec4 viewPosition = viewMatrix * worldPosition; "),t&&(s.push(" vWorldPosition = worldPosition;"),s.push(" vFlags = flags;")),s.push("vec4 clipPos = projMatrix * viewPosition;"),s.push("float tmp = clipPos.w;"),s.push("clipPos.xyzw /= tmp;"),s.push("clipPos.xy = remapClipPos(clipPos.xy);"),s.push("clipPos.xyzw *= tmp;"),s.push("vFragDepth = 1.0 + clipPos.w;"),s.push("isPerspective = float (isPerspectiveMatrix(projMatrix));"),s.push("gl_Position = clipPos;"),s.push("gl_PointSize = 1.0;"),s.push("}"),s.push("}"),s}_buildFragmentShader(){const e=this._scene._sectionPlanesState,t=e.getNumAllocatedSectionPlanes()>0,s=[];if(s.push("#version 300 es"),s.push("// SnapInstancingDepthRenderer fragment shader"),s.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),s.push("precision highp float;"),s.push("precision highp int;"),s.push("#else"),s.push("precision mediump float;"),s.push("precision mediump int;"),s.push("#endif"),s.push("in float isPerspective;"),s.push("uniform float logDepthBufFC;"),s.push("in float vFragDepth;"),s.push("uniform int layerNumber;"),s.push("uniform vec3 coordinateScaler;"),t){s.push("in vec4 vWorldPosition;"),s.push("in float vFlags;");for(let t=0;t> 16 & 0xF) == 1;"),s.push(" if (clippable) {"),s.push(" float dist = 0.0;");for(let t=0;t 0.0) { discard; }"),s.push("}")}return s.push(" gl_FragDepth = isPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5;"),s.push("outCoords = ivec4(relativeToOriginPosition.xyz*coordinateScaler.xyz, layerNumber);"),s.push("}"),s}webglContextRestored(){this._program=null}destroy(){this._program&&this._program.destroy(),this._program=null}}class Yl{constructor(e){this._scene=e}_compile(){this._snapDepthBufInitRenderer&&!this._snapDepthBufInitRenderer.getValid()&&(this._snapDepthBufInitRenderer.destroy(),this._snapDepthBufInitRenderer=null),this._snapDepthRenderer&&!this._snapDepthRenderer.getValid()&&(this._snapDepthRenderer.destroy(),this._snapDepthRenderer=null)}eagerCreateRenders(){this._snapDepthBufInitRenderer||(this._snapDepthBufInitRenderer=new jl(this._scene,!1)),this._snapDepthRenderer||(this._snapDepthRenderer=new Kl(this._scene))}get snapDepthBufInitRenderer(){return this._snapDepthBufInitRenderer||(this._snapDepthBufInitRenderer=new jl(this._scene,!1)),this._snapDepthBufInitRenderer}get snapDepthRenderer(){return this._snapDepthRenderer||(this._snapDepthRenderer=new Kl(this._scene)),this._snapDepthRenderer}_destroy(){this._snapDepthBufInitRenderer&&this._snapDepthBufInitRenderer.destroy(),this._snapDepthRenderer&&this._snapDepthRenderer.destroy()}}const Xl={};const ql=new Uint8Array(4),Jl=new Float32Array(1),Zl=A.vec4([0,0,0,1]);A.vec4([0,0,0,1]),A.vec4([0,0,0,1]);const $l=new Float32Array(3),eo=A.vec3(),to=A.vec3(),so=A.vec3(),no=A.vec3(),io=A.vec3(),ao=A.vec3(),ro=A.vec3(),lo=new Float32Array(4);class oo{constructor(e){this.model=e.model,this.sortId="TrianglesInstancingLayer"+(e.solid?"-solid":"-surface")+(e.normals?"-normals":"-autoNormals"),this.layerIndex=e.layerIndex,this._instancingRenderers=function(e){const t=e.id;let s=Ll[t];return s||(s=new xl(e),Ll[t]=s,s._compile(),s.eagerCreateRenders(),e.on("compile",(()=>{s._compile(),s.eagerCreateRenders()})),e.on("destroyed",(()=>{delete Ll[t],s._destroy()}))),s}(e.model.scene),this._snapInstancingRenderers=function(e){const t=e.id;let s=Xl[t];return s||(s=new Yl(e),Xl[t]=s,s._compile(),s.eagerCreateRenders(),e.on("compile",(()=>{s._compile(),s.eagerCreateRenders()})),e.on("destroyed",(()=>{delete Xl[t],s._destroy()}))),s}(e.model.scene),this._aabb=A.collapseAABB3(),this._state=new it({numInstances:0,obb:A.OBB3(),origin:A.vec3(),geometry:e.geometry,textureSet:e.textureSet,pbrSupported:!1,positionsDecodeMatrix:e.geometry.positionsDecodeMatrix,colorsBuf:null,metallicRoughnessBuf:null,flagsBuf:null,offsetsBuf:null,modelMatrixBuf:null,modelMatrixCol0Buf:null,modelMatrixCol1Buf:null,modelMatrixCol2Buf:null,modelNormalMatrixCol0Buf:null,modelNormalMatrixCol1Buf:null,modelNormalMatrixCol2Buf:null,pickColorsBuf:null}),this._numPortions=0,this._numVisibleLayerPortions=0,this._numTransparentLayerPortions=0,this._numXRayedLayerPortions=0,this._numHighlightedLayerPortions=0,this._numSelectedLayerPortions=0,this._numClippableLayerPortions=0,this._numEdgesLayerPortions=0,this._numPickableLayerPortions=0,this._numCulledLayerPortions=0,this.numIndices=e.geometry.numIndices,this._colors=[],this._metallicRoughness=[],this._pickColors=[],this._offsets=[],this._modelMatrix=[],this._modelMatrixCol0=[],this._modelMatrixCol1=[],this._modelMatrixCol2=[],this._modelNormalMatrixCol0=[],this._modelNormalMatrixCol1=[],this._modelNormalMatrixCol2=[],this._portions=[],this._meshes=[],this._aabb=A.collapseAABB3(),this.aabbDirty=!0,e.origin&&this._state.origin.set(e.origin),this._finalized=!1,this.solid=!!e.solid,this.numIndices=e.geometry.numIndices}get aabb(){if(this.aabbDirty){A.collapseAABB3(this._aabb);for(let e=0,t=this._meshes.length;e0){let t=!1;e.colorsBuf=new He(n,n.ARRAY_BUFFER,new Uint8Array(this._colors),this._colors.length,4,n.DYNAMIC_DRAW,t),this._colors=[]}if(this._metallicRoughness.length>0){const t=new Uint8Array(this._metallicRoughness);let s=!1;e.metallicRoughnessBuf=new He(n,n.ARRAY_BUFFER,t,this._metallicRoughness.length,2,n.STATIC_DRAW,s)}if(a>0){let t=!1;e.flagsBuf=new He(n,n.ARRAY_BUFFER,new Float32Array(a),a,1,n.DYNAMIC_DRAW,t)}if(this.model.scene.entityOffsetsEnabled&&this._offsets.length>0){const t=!1;e.offsetsBuf=new He(n,n.ARRAY_BUFFER,new Float32Array(this._offsets),this._offsets.length,3,n.DYNAMIC_DRAW,t),this._offsets=[]}if(t.positionsCompressed&&t.positionsCompressed.length>0){const s=!1;e.positionsBuf=new He(n,n.ARRAY_BUFFER,t.positionsCompressed,t.positionsCompressed.length,3,n.STATIC_DRAW,s),e.positionsDecodeMatrix=A.mat4(t.positionsDecodeMatrix)}if(t.colorsCompressed&&t.colorsCompressed.length>0){const s=new Uint8Array(t.colorsCompressed),i=!1;e.colorsBuf=new He(n,n.ARRAY_BUFFER,s,s.length,4,n.STATIC_DRAW,i)}if(t.uvCompressed&&t.uvCompressed.length>0){const s=t.uvCompressed;e.uvDecodeMatrix=t.uvDecodeMatrix,e.uvBuf=new He(n,n.ARRAY_BUFFER,s,s.length,2,n.STATIC_DRAW,!1)}if(t.indices&&t.indices.length>0&&(e.indicesBuf=new He(n,n.ELEMENT_ARRAY_BUFFER,new Uint32Array(t.indices),t.indices.length,1,n.STATIC_DRAW),e.numIndices=t.indices.length),"triangles"!==t.primitive&&"solid"!==t.primitive&&"surface"!==t.primitive||(e.edgeIndicesBuf=new He(n,n.ELEMENT_ARRAY_BUFFER,new Uint32Array(t.edgeIndices),t.edgeIndices.length,1,n.STATIC_DRAW)),this._modelMatrixCol0.length>0){const t=!1;e.modelMatrixCol0Buf=new He(n,n.ARRAY_BUFFER,new Float32Array(this._modelMatrixCol0),this._modelMatrixCol0.length,4,n.STATIC_DRAW,t),e.modelMatrixCol1Buf=new He(n,n.ARRAY_BUFFER,new Float32Array(this._modelMatrixCol1),this._modelMatrixCol1.length,4,n.STATIC_DRAW,t),e.modelMatrixCol2Buf=new He(n,n.ARRAY_BUFFER,new Float32Array(this._modelMatrixCol2),this._modelMatrixCol2.length,4,n.STATIC_DRAW,t),this._modelMatrixCol0=[],this._modelMatrixCol1=[],this._modelMatrixCol2=[],e.normalsBuf&&(e.modelNormalMatrixCol0Buf=new He(n,n.ARRAY_BUFFER,new Float32Array(this._modelNormalMatrixCol0),this._modelNormalMatrixCol0.length,4,n.STATIC_DRAW,t),e.modelNormalMatrixCol1Buf=new He(n,n.ARRAY_BUFFER,new Float32Array(this._modelNormalMatrixCol1),this._modelNormalMatrixCol1.length,4,n.STATIC_DRAW,t),e.modelNormalMatrixCol2Buf=new He(n,n.ARRAY_BUFFER,new Float32Array(this._modelNormalMatrixCol2),this._modelNormalMatrixCol2.length,4,n.STATIC_DRAW,t),this._modelNormalMatrixCol0=[],this._modelNormalMatrixCol1=[],this._modelNormalMatrixCol2=[])}if(this._pickColors.length>0){const t=!1;e.pickColorsBuf=new He(n,n.ARRAY_BUFFER,new Uint8Array(this._pickColors),this._pickColors.length,4,n.STATIC_DRAW,t),this._pickColors=[]}e.pbrSupported=!!(e.metallicRoughnessBuf&&e.uvBuf&&e.normalsBuf&&s&&s.colorTexture&&s.metallicRoughnessTexture),e.colorTextureSupported=!!e.uvBuf&&!!s&&!!s.colorTexture,this._state.geometry=null,this._finalized=!0}initFlags(e,t,s){t&X&&(this._numVisibleLayerPortions++,this.model.numVisibleLayerPortions++),t&te&&(this._numHighlightedLayerPortions++,this.model.numHighlightedLayerPortions++),t&ee&&(this._numXRayedLayerPortions++,this.model.numXRayedLayerPortions++),t&se&&(this._numSelectedLayerPortions++,this.model.numSelectedLayerPortions++),t&Z&&(this._numClippableLayerPortions++,this.model.numClippableLayerPortions++),t&ne&&(this._numEdgesLayerPortions++,this.model.numEdgesLayerPortions++),t&J&&(this._numPickableLayerPortions++,this.model.numPickableLayerPortions++),t&q&&(this._numCulledLayerPortions++,this.model.numCulledLayerPortions++),s&&(this._numTransparentLayerPortions++,this.model.numTransparentLayerPortions++),this._setFlags(e,t,s)}setVisible(e,t,s){if(!this._finalized)throw"Not finalized";t&X?(this._numVisibleLayerPortions++,this.model.numVisibleLayerPortions++):(this._numVisibleLayerPortions--,this.model.numVisibleLayerPortions--),this._setFlags(e,t,s)}setHighlighted(e,t,s){if(!this._finalized)throw"Not finalized";t&te?(this._numHighlightedLayerPortions++,this.model.numHighlightedLayerPortions++):(this._numHighlightedLayerPortions--,this.model.numHighlightedLayerPortions--),this._setFlags(e,t,s)}setXRayed(e,t,s){if(!this._finalized)throw"Not finalized";t&ee?(this._numXRayedLayerPortions++,this.model.numXRayedLayerPortions++):(this._numXRayedLayerPortions--,this.model.numXRayedLayerPortions--),this._setFlags(e,t,s)}setSelected(e,t,s){if(!this._finalized)throw"Not finalized";t&se?(this._numSelectedLayerPortions++,this.model.numSelectedLayerPortions++):(this._numSelectedLayerPortions--,this.model.numSelectedLayerPortions--),this._setFlags(e,t,s)}setEdges(e,t,s){if(!this._finalized)throw"Not finalized";t&ne?(this._numEdgesLayerPortions++,this.model.numEdgesLayerPortions++):(this._numEdgesLayerPortions--,this.model.numEdgesLayerPortions--),this._setFlags(e,t,s)}setClippable(e,t){if(!this._finalized)throw"Not finalized";t&Z?(this._numClippableLayerPortions++,this.model.numClippableLayerPortions++):(this._numClippableLayerPortions--,this.model.numClippableLayerPortions--),this._setFlags(e,t)}setCollidable(e,t){if(!this._finalized)throw"Not finalized"}setPickable(e,t,s){if(!this._finalized)throw"Not finalized";t&J?(this._numPickableLayerPortions++,this.model.numPickableLayerPortions++):(this._numPickableLayerPortions--,this.model.numPickableLayerPortions--),this._setFlags(e,t,s)}setCulled(e,t,s){if(!this._finalized)throw"Not finalized";t&q?(this._numCulledLayerPortions++,this.model.numCulledLayerPortions++):(this._numCulledLayerPortions--,this.model.numCulledLayerPortions--),this._setFlags(e,t,s)}setColor(e,t){if(!this._finalized)throw"Not finalized";ql[0]=t[0],ql[1]=t[1],ql[2]=t[2],ql[3]=t[3],this._state.colorsBuf&&this._state.colorsBuf.setData(ql,4*e)}setTransparent(e,t,s){s?(this._numTransparentLayerPortions++,this.model.numTransparentLayerPortions++):(this._numTransparentLayerPortions--,this.model.numTransparentLayerPortions--),this._setFlags(e,t,s)}_setFlags(e,t,s){if(!this._finalized)throw"Not finalized";const n=!!(t&X),i=!!(t&ee),a=!!(t&te),r=!!(t&se),l=!!(t&ne),o=!!(t&J),c=!!(t&q);let u,h;u=!n||c||i||a&&!this.model.scene.highlightMaterial.glowThrough||r&&!this.model.scene.selectedMaterial.glowThrough?lr.NOT_RENDERED:s?lr.COLOR_TRANSPARENT:lr.COLOR_OPAQUE,h=!n||c?lr.NOT_RENDERED:r?lr.SILHOUETTE_SELECTED:a?lr.SILHOUETTE_HIGHLIGHTED:i?lr.SILHOUETTE_XRAYED:lr.NOT_RENDERED;let p=0;p=!n||c?lr.NOT_RENDERED:r?lr.EDGES_SELECTED:a?lr.EDGES_HIGHLIGHTED:i?lr.EDGES_XRAYED:l?s?lr.EDGES_COLOR_TRANSPARENT:lr.EDGES_COLOR_OPAQUE:lr.NOT_RENDERED;let A=0;A|=u,A|=h<<4,A|=p<<8,A|=(n&&!c&&o?lr.PICK:lr.NOT_RENDERED)<<12,A|=(t&Z?1:0)<<16,Jl[0]=A,this._state.flagsBuf&&this._state.flagsBuf.setData(Jl,e)}setOffset(e,t){if(!this._finalized)throw"Not finalized";this.model.scene.entityOffsetsEnabled?($l[0]=t[0],$l[1]=t[1],$l[2]=t[2],this._state.offsetsBuf&&this._state.offsetsBuf.setData($l,3*e)):this.model.error("Entity#offset not enabled for this Viewer")}getEachVertex(e,t){if(!this.model.scene.pickSurfacePrecisionEnabled)return!1;const s=this._state,n=s.geometry,i=this._portions[e];if(!i)return void this.model.error("portion not found: "+e);const a=n.quantizedPositions,r=s.origin,l=i.offset,o=r[0]+l[0],c=r[1]+l[1],u=r[2]+l[2],h=Zl,p=i.matrix,d=this.model.sceneModelMatrix,f=s.positionsDecodeMatrix;for(let e=0,s=a.length;ev)&&(v=e,n.set(w),i&&A.triangleNormal(f,I,y,i),m=!0)}}return m&&i&&(A.transformVec3(l.normalMatrix,i,i),A.transformVec3(this.model.worldNormalMatrix,i,i),A.normalizeVec3(i)),m}destroy(){const e=this._state;e.colorsBuf&&(e.colorsBuf.destroy(),e.colorsBuf=null),e.metallicRoughnessBuf&&(e.metallicRoughnessBuf.destroy(),e.metallicRoughnessBuf=null),e.flagsBuf&&(e.flagsBuf.destroy(),e.flagsBuf=null),e.offsetsBuf&&(e.offsetsBuf.destroy(),e.offsetsBuf=null),e.modelMatrixCol0Buf&&(e.modelMatrixCol0Buf.destroy(),e.modelMatrixCol0Buf=null),e.modelMatrixCol1Buf&&(e.modelMatrixCol1Buf.destroy(),e.modelMatrixCol1Buf=null),e.modelMatrixCol2Buf&&(e.modelMatrixCol2Buf.destroy(),e.modelMatrixCol2Buf=null),e.modelNormalMatrixCol0Buf&&(e.modelNormalMatrixCol0Buf.destroy(),e.modelNormalMatrixCol0Buf=null),e.modelNormalMatrixCol1Buf&&(e.modelNormalMatrixCol1Buf.destroy(),e.modelNormalMatrixCol1Buf=null),e.modelNormalMatrixCol2Buf&&(e.modelNormalMatrixCol2Buf.destroy(),e.modelNormalMatrixCol2Buf=null),e.pickColorsBuf&&(e.pickColorsBuf.destroy(),e.pickColorsBuf=null),e.destroy(),this._state=null}}class co extends gr{drawLayer(e,t,s){super.drawLayer(e,t,s,{incrementDrawState:!0})}_buildVertexShader(){const e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,s=[];return s.push("#version 300 es"),s.push("// Lines batching color vertex shader"),s.push("uniform int renderPass;"),s.push("in vec3 position;"),s.push("in vec4 color;"),s.push("in float flags;"),e.entityOffsetsEnabled&&s.push("in vec3 offset;"),this._addMatricesUniformBlockLines(s),e.logarithmicDepthBufferEnabled&&(s.push("uniform float logDepthBufFC;"),s.push("out float vFragDepth;")),t&&(s.push("out vec4 vWorldPosition;"),s.push("out float vFlags;")),s.push("out vec4 vColor;"),s.push("void main(void) {"),s.push("int colorFlag = int(flags) & 0xF;"),s.push("if (colorFlag != renderPass) {"),s.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),s.push("} else {"),s.push("vec4 worldPosition = worldMatrix * (positionsDecodeMatrix * vec4(position, 1.0)); "),e.entityOffsetsEnabled&&s.push("worldPosition.xyz = worldPosition.xyz + offset;"),s.push("vec4 viewPosition = viewMatrix * worldPosition; "),s.push("vColor = vec4(float(color.r) / 255.0, float(color.g) / 255.0, float(color.b) / 255.0, float(color.a) / 255.0);"),t&&(s.push("vWorldPosition = worldPosition;"),s.push("vFlags = flags;")),s.push("vec4 clipPos = projMatrix * viewPosition;"),e.logarithmicDepthBufferEnabled&&s.push("vFragDepth = 1.0 + clipPos.w;"),s.push("gl_Position = clipPos;"),s.push("}"),s.push("}"),s}_buildFragmentShader(){const e=this._scene,t=e._sectionPlanesState,s=t.getNumAllocatedSectionPlanes()>0,n=[];if(n.push("#version 300 es"),n.push("// Lines batching color fragment shader"),n.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),n.push("precision highp float;"),n.push("precision highp int;"),n.push("#else"),n.push("precision mediump float;"),n.push("precision mediump int;"),n.push("#endif"),e.logarithmicDepthBufferEnabled&&(n.push("uniform float logDepthBufFC;"),n.push("in float vFragDepth;")),s){n.push("in vec4 vWorldPosition;"),n.push("in float vFlags;");for(let e=0,s=t.getNumAllocatedSectionPlanes();e> 16 & 0xF) == 1;"),n.push(" if (clippable) {"),n.push(" float dist = 0.0;");for(let e=0,s=t.getNumAllocatedSectionPlanes();e 0.0) { discard; }"),n.push("}")}return n.push(" outColor = vColor;"),e.logarithmicDepthBufferEnabled&&n.push("gl_FragDepth = log2( vFragDepth ) * logDepthBufFC * 0.5;"),n.push("}"),n}}class uo extends gr{drawLayer(e,t,s){super.drawLayer(e,t,s,{colorUniform:!0})}_buildVertexShader(){const e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,s=[];return s.push("#version 300 es"),s.push("// Lines batching silhouette vertex shader"),s.push("uniform int renderPass;"),s.push("in vec3 position;"),e.entityOffsetsEnabled&&s.push("in vec3 offset;"),s.push("in float flags;"),this._addMatricesUniformBlockLines(s),s.push("uniform vec4 color;"),e.logarithmicDepthBufferEnabled&&(s.push("uniform float logDepthBufFC;"),s.push("out float vFragDepth;")),t&&(s.push("out vec4 vWorldPosition;"),s.push("out float vFlags;")),s.push("void main(void) {"),s.push("int silhouetteFlag = int(flags) >> 4 & 0xF;"),s.push("if (silhouetteFlag != renderPass) {"),s.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),s.push("} else {"),s.push(" vec4 worldPosition = worldMatrix * (positionsDecodeMatrix * vec4(position, 1.0)); "),e.entityOffsetsEnabled&&s.push(" worldPosition.xyz = worldPosition.xyz + offset;"),s.push("vec4 viewPosition = viewMatrix * worldPosition; "),t&&(s.push("vWorldPosition = worldPosition;"),s.push("vFlags = flags;")),s.push("vec4 clipPos = projMatrix * viewPosition;"),e.logarithmicDepthBufferEnabled&&s.push("vFragDepth = 1.0 + clipPos.w;"),s.push("gl_Position = clipPos;"),s.push("}"),s.push("}"),s}_buildFragmentShader(){const e=this._scene,t=e._sectionPlanesState,s=t.getNumAllocatedSectionPlanes()>0,n=[];if(n.push("#version 300 es"),n.push("// Lines batching silhouette fragment shader"),n.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),n.push("precision highp float;"),n.push("precision highp int;"),n.push("#else"),n.push("precision mediump float;"),n.push("precision mediump int;"),n.push("#endif"),e.logarithmicDepthBufferEnabled&&(n.push("uniform float logDepthBufFC;"),n.push("in float vFragDepth;")),s){n.push("in vec4 vWorldPosition;"),n.push("in float vFlags;");for(let e=0,s=t.getNumAllocatedSectionPlanes();e> 16 & 0xF) == 1;"),n.push(" if (clippable) {"),n.push(" float dist = 0.0;");for(let e=0,s=t.getNumAllocatedSectionPlanes();e 0.0) { discard; }"),n.push("}")}return e.logarithmicDepthBufferEnabled&&n.push("gl_FragDepth = log2( vFragDepth ) * logDepthBufFC * 0.5;"),n.push("outColor = color;"),n.push("}"),n}}class ho{constructor(e){this._scene=e}_compile(){this._colorRenderer&&!this._colorRenderer.getValid()&&(this._colorRenderer.destroy(),this._colorRenderer=null),this._silhouetteRenderer&&!this._silhouetteRenderer.getValid()&&(this._silhouetteRenderer.destroy(),this._silhouetteRenderer=null)}get colorRenderer(){return this._colorRenderer||(this._colorRenderer=new co(this._scene,!1)),this._colorRenderer}get silhouetteRenderer(){return this._silhouetteRenderer||(this._silhouetteRenderer=new uo(this._scene)),this._silhouetteRenderer}_destroy(){this._colorRenderer&&this._colorRenderer.destroy(),this._silhouetteRenderer&&this._silhouetteRenderer.destroy()}}const po={};class Ao{constructor(e=5e6){e>5e6&&(e=5e6),this.maxVerts=e,this.maxIndices=3*e,this.positions=[],this.colors=[],this.offsets=[],this.indices=[]}}A.vec4([0,0,0,1]),A.vec4([0,0,0,1]),A.vec4([0,0,0,1]),A.OBB3();class fo{constructor(e){this.layerIndex=e.layerIndex,this._batchingRenderers=function(e){const t=e.id;let s=po[t];return s||(s=new ho(e),po[t]=s,s._compile(),e.on("compile",(()=>{s._compile()})),e.on("destroyed",(()=>{delete po[t],s._destroy()}))),s}(e.model.scene),this.model=e.model,this._buffer=new Ao(e.maxGeometryBatchSize),this._scratchMemory=e.scratchMemory,this._state=new it({positionsBuf:null,offsetsBuf:null,colorsBuf:null,flagsBuf:null,indicesBuf:null,positionsDecodeMatrix:A.mat4(),origin:null}),this._numPortions=0,this._numVisibleLayerPortions=0,this._numTransparentLayerPortions=0,this._numXRayedLayerPortions=0,this._numSelectedLayerPortions=0,this._numHighlightedLayerPortions=0,this._numClippableLayerPortions=0,this._numEdgesLayerPortions=0,this._numPickableLayerPortions=0,this._numCulledLayerPortions=0,this._modelAABB=A.collapseAABB3(),this._portions=[],this._meshes=[],this._numVerts=0,this._aabb=A.collapseAABB3(),this.aabbDirty=!0,this._finalized=!1,e.positionsDecodeMatrix?(this._state.positionsDecodeMatrix.set(e.positionsDecodeMatrix),this._preCompressedPositionsExpected=!0):this._preCompressedPositionsExpected=!1,e.origin&&(this._state.origin=A.vec3(e.origin)),this.aabb=A.collapseAABB3()}get aabb(){if(this.aabbDirty){A.collapseAABB3(this._aabb);for(let e=0,t=this._meshes.length;e0)if(this._preCompressedPositionsExpected){const n=new Uint16Array(s.positions);e.positionsBuf=new He(t,t.ARRAY_BUFFER,n,s.positions.length,3,t.STATIC_DRAW)}else{const n=kr(new Float32Array(s.positions),this._modelAABB,e.positionsDecodeMatrix);e.positionsBuf=new He(t,t.ARRAY_BUFFER,n,s.positions.length,3,t.STATIC_DRAW)}if(s.colors.length>0){const n=new Uint8Array(s.colors);let i=!1;e.colorsBuf=new He(t,t.ARRAY_BUFFER,n,s.colors.length,4,t.DYNAMIC_DRAW,i)}if(s.colors.length>0){const n=s.colors.length/4,i=new Float32Array(n);let a=!1;e.flagsBuf=new He(t,t.ARRAY_BUFFER,i,i.length,1,t.DYNAMIC_DRAW,a)}if(this.model.scene.entityOffsetsEnabled&&s.offsets.length>0){const n=new Float32Array(s.offsets);e.offsetsBuf=new He(t,t.ARRAY_BUFFER,n,s.offsets.length,3,t.DYNAMIC_DRAW)}if(s.indices.length>0){const n=new Uint32Array(s.indices);e.indicesBuf=new He(t,t.ELEMENT_ARRAY_BUFFER,n,s.indices.length,1,t.STATIC_DRAW)}this._buffer=null,this._finalized=!0}initFlags(e,t,s){t&X&&(this._numVisibleLayerPortions++,this.model.numVisibleLayerPortions++),t&te&&(this._numHighlightedLayerPortions++,this.model.numHighlightedLayerPortions++),t&ee&&(this._numXRayedLayerPortions++,this.model.numXRayedLayerPortions++),t&se&&(this._numSelectedLayerPortions++,this.model.numSelectedLayerPortions++),t&Z&&(this._numClippableLayerPortions++,this.model.numClippableLayerPortions++),t&ne&&(this._numEdgesLayerPortions++,this.model.numEdgesLayerPortions++),t&J&&(this._numPickableLayerPortions++,this.model.numPickableLayerPortions++),t&q&&(this._numCulledLayerPortions++,this.model.numCulledLayerPortions++),s&&(this._numTransparentLayerPortions++,this.model.numTransparentLayerPortions++);this._setFlags(e,t,s,!0)}flushInitFlags(){this._setDeferredFlags()}setVisible(e,t,s){if(!this._finalized)throw"Not finalized";t&X?(this._numVisibleLayerPortions++,this.model.numVisibleLayerPortions++):(this._numVisibleLayerPortions--,this.model.numVisibleLayerPortions--),this._setFlags(e,t,s)}setHighlighted(e,t,s){if(!this._finalized)throw"Not finalized";t&te?(this._numHighlightedLayerPortions++,this.model.numHighlightedLayerPortions++):(this._numHighlightedLayerPortions--,this.model.numHighlightedLayerPortions--),this._setFlags(e,t,s)}setXRayed(e,t,s){if(!this._finalized)throw"Not finalized";t&ee?(this._numXRayedLayerPortions++,this.model.numXRayedLayerPortions++):(this._numXRayedLayerPortions--,this.model.numXRayedLayerPortions--),this._setFlags(e,t,s)}setSelected(e,t,s){if(!this._finalized)throw"Not finalized";t&se?(this._numSelectedLayerPortions++,this.model.numSelectedLayerPortions++):(this._numSelectedLayerPortions--,this.model.numSelectedLayerPortions--),this._setFlags(e,t,s)}setEdges(e,t,s){if(!this._finalized)throw"Not finalized";t&ne?(this._numEdgesLayerPortions++,this.model.numEdgesLayerPortions++):(this._numEdgesLayerPortions--,this.model.numEdgesLayerPortions--),this._setFlags(e,t,s)}setClippable(e,t){if(!this._finalized)throw"Not finalized";t&Z?(this._numClippableLayerPortions++,this.model.numClippableLayerPortions++):(this._numClippableLayerPortions--,this.model.numClippableLayerPortions--),this._setFlags(e,t)}setCulled(e,t,s){if(!this._finalized)throw"Not finalized";t&q?(this._numCulledLayerPortions++,this.model.numCulledLayerPortions++):(this._numCulledLayerPortions--,this.model.numCulledLayerPortions--),this._setFlags(e,t,s)}setCollidable(e,t){if(!this._finalized)throw"Not finalized"}setPickable(e,t,s){if(!this._finalized)throw"Not finalized";t&J?(this._numPickableLayerPortions++,this.model.numPickableLayerPortions++):(this._numPickableLayerPortions--,this.model.numPickableLayerPortions--),this._setFlags(e,t,s)}setColor(e,t){if(!this._finalized)throw"Not finalized";const s=2*e,n=4*this._portions[s],i=4*this._portions[s+1],a=this._scratchMemory.getUInt8Array(i),r=t[0],l=t[1],o=t[2],c=t[3];for(let e=0;e0,s=[];return s.push("#version 300 es"),s.push("// Lines instancing color vertex shader"),s.push("uniform int renderPass;"),s.push("in vec3 position;"),s.push("in vec4 color;"),s.push("in float flags;"),e.entityOffsetsEnabled&&s.push("in vec3 offset;"),s.push("in vec4 modelMatrixCol0;"),s.push("in vec4 modelMatrixCol1;"),s.push("in vec4 modelMatrixCol2;"),this._addMatricesUniformBlockLines(s),e.logarithmicDepthBufferEnabled&&(s.push("uniform float logDepthBufFC;"),s.push("out float vFragDepth;")),s.push("uniform vec4 lightAmbient;"),t&&(s.push("out vec4 vWorldPosition;"),s.push("out float vFlags;")),s.push("out vec4 vColor;"),s.push("void main(void) {"),s.push("int colorFlag = int(flags) & 0xF;"),s.push("if (colorFlag != renderPass) {"),s.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),s.push("} else {"),s.push("vec4 worldPosition = positionsDecodeMatrix * vec4(position, 1.0); "),s.push("worldPosition = worldMatrix * vec4(dot(worldPosition, modelMatrixCol0), dot(worldPosition, modelMatrixCol1), dot(worldPosition, modelMatrixCol2), 1.0);"),e.entityOffsetsEnabled&&s.push(" worldPosition.xyz = worldPosition.xyz + offset;"),s.push("vec4 viewPosition = viewMatrix * worldPosition; "),s.push("vColor = vec4(float(color.r) / 255.0, float(color.g) / 255.0, float(color.b) / 255.0, float(color.a) / 255.0);"),t&&(s.push("vWorldPosition = worldPosition;"),s.push("vFlags = flags;")),s.push("vec4 clipPos = projMatrix * viewPosition;"),e.logarithmicDepthBufferEnabled&&s.push("vFragDepth = 1.0 + clipPos.w;"),s.push("gl_Position = clipPos;"),s.push("}"),s.push("}"),s}_buildFragmentShader(){const e=this._scene,t=e._sectionPlanesState;let s,n;const i=t.getNumAllocatedSectionPlanes()>0,a=[];if(a.push("#version 300 es"),a.push("// Lines instancing color fragment shader"),a.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),a.push("precision highp float;"),a.push("precision highp int;"),a.push("#else"),a.push("precision mediump float;"),a.push("precision mediump int;"),a.push("#endif"),e.logarithmicDepthBufferEnabled&&(a.push("uniform float logDepthBufFC;"),a.push("in float vFragDepth;")),i)for(a.push("in vec4 vWorldPosition;"),a.push("in float vFlags;"),s=0,n=t.getNumAllocatedSectionPlanes();s> 16 & 0xF) == 1;"),a.push(" if (clippable) {"),a.push(" float dist = 0.0;"),s=0,n=t.getNumAllocatedSectionPlanes();s 0.0) { discard; }"),a.push("}")}return this._withSAO?(a.push(" float viewportWidth = uSAOParams[0];"),a.push(" float viewportHeight = uSAOParams[1];"),a.push(" float blendCutoff = uSAOParams[2];"),a.push(" float blendFactor = uSAOParams[3];"),a.push(" vec2 uv = vec2(gl_FragCoord.x / viewportWidth, gl_FragCoord.y / viewportHeight);"),a.push(" float ambient = smoothstep(blendCutoff, 1.0, unpackRGBAToDepth(texture(uOcclusionTexture, uv))) * blendFactor;"),a.push(" outColor = vec4(vColor.rgb * ambient, vColor.a);")):a.push(" outColor = vColor;"),e.logarithmicDepthBufferEnabled&&a.push("gl_FragDepth = log2( vFragDepth ) * logDepthBufFC * 0.5;"),a.push("}"),a}}class yo extends Er{drawLayer(e,t,s){super.drawLayer(e,t,s,{colorUniform:!0})}_buildVertexShader(){const e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,s=[];return s.push("#version 300 es"),s.push("// Lines instancing silhouette vertex shader"),s.push("uniform int renderPass;"),s.push("in vec3 position;"),e.entityOffsetsEnabled&&s.push("in vec3 offset;"),s.push("in float flags;"),s.push("in vec4 modelMatrixCol0;"),s.push("in vec4 modelMatrixCol1;"),s.push("in vec4 modelMatrixCol2;"),this._addMatricesUniformBlockLines(s),e.logarithmicDepthBufferEnabled&&(s.push("uniform float logDepthBufFC;"),s.push("out float vFragDepth;")),s.push("uniform vec4 color;"),t&&(s.push("out vec4 vWorldPosition;"),s.push("out float vFlags;")),s.push("void main(void) {"),s.push("int silhouetteFlag = int(flags) >> 4 & 0xF;"),s.push("if (silhouetteFlag != renderPass) {"),s.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),s.push("} else {"),s.push("vec4 worldPosition = positionsDecodeMatrix * vec4(position, 1.0); "),s.push("worldPosition = worldMatrix * vec4(dot(worldPosition, modelMatrixCol0), dot(worldPosition, modelMatrixCol1), dot(worldPosition, modelMatrixCol2), 1.0);"),e.entityOffsetsEnabled&&s.push(" worldPosition.xyz = worldPosition.xyz + offset;"),s.push("vec4 viewPosition = viewMatrix * worldPosition; "),t&&(s.push("vWorldPosition = worldPosition;"),s.push("vFlags = flags;")),s.push("vec4 clipPos = projMatrix * viewPosition;"),e.logarithmicDepthBufferEnabled&&s.push("vFragDepth = 1.0 + clipPos.w;"),s.push("gl_Position = clipPos;"),s.push("}"),s.push("}"),s}_buildFragmentShader(){const e=this._scene,t=e._sectionPlanesState,s=t.getNumAllocatedSectionPlanes()>0,n=[];if(n.push("#version 300 es"),n.push("// Lines instancing silhouette fragment shader"),n.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),n.push("precision highp float;"),n.push("precision highp int;"),n.push("#else"),n.push("precision mediump float;"),n.push("precision mediump int;"),n.push("#endif"),e.logarithmicDepthBufferEnabled&&(n.push("uniform float logDepthBufFC;"),n.push("in float vFragDepth;")),s){n.push("in vec4 vWorldPosition;"),n.push("in float vFlags;");for(let e=0,s=t.getNumAllocatedSectionPlanes();e> 16 & 0xF) == 1;"),n.push(" if (clippable) {"),n.push(" float dist = 0.0;");for(let e=0,s=t.getNumAllocatedSectionPlanes();e 0.0) { discard; }"),n.push("}")}return e.logarithmicDepthBufferEnabled&&n.push("gl_FragDepth = log2( vFragDepth ) * logDepthBufFC * 0.5;"),n.push("outColor = color;"),n.push("}"),n}}class mo{constructor(e){this._scene=e}_compile(){this._colorRenderer&&!this._colorRenderer.getValid()&&(this._colorRenderer.destroy(),this._colorRenderer=null),this._silhouetteRenderer&&!this._silhouetteRenderer.getValid()&&(this._silhouetteRenderer.destroy(),this._silhouetteRenderer=null)}get colorRenderer(){return this._colorRenderer||(this._colorRenderer=new Io(this._scene)),this._colorRenderer}get silhouetteRenderer(){return this._silhouetteRenderer||(this._silhouetteRenderer=new yo(this._scene)),this._silhouetteRenderer}_destroy(){this._colorRenderer&&this._colorRenderer.destroy(),this._silhouetteRenderer&&this._silhouetteRenderer.destroy()}}const vo={};const wo=new Uint8Array(4),go=new Float32Array(1);A.vec4([0,0,0,1]),A.vec4([0,0,0,1]),A.vec4([0,0,0,1]);const Eo=new Float32Array(3),To=new Float32Array(4);class bo{constructor(e){this.model=e.model,this.material=e.material,this.sortId="LinesInstancingLayer",this.layerIndex=e.layerIndex,this._linesInstancingRenderers=function(e){const t=e.id;let s=vo[t];return s||(s=new mo(e),vo[t]=s,s._compile(),e.on("compile",(()=>{s._compile()})),e.on("destroyed",(()=>{delete vo[t],s._destroy()}))),s}(e.model.scene),this._aabb=A.collapseAABB3(),this._state=new it({obb:A.OBB3(),numInstances:0,origin:null,geometry:e.geometry,positionsDecodeMatrix:e.geometry.positionsDecodeMatrix,positionsBuf:null,colorsBuf:null,flagsBuf:null,offsetsBuf:null,modelMatrixCol0Buf:null,modelMatrixCol1Buf:null,modelMatrixCol2Buf:null}),this._numPortions=0,this._numVisibleLayerPortions=0,this._numTransparentLayerPortions=0,this._numXRayedLayerPortions=0,this._numHighlightedLayerPortions=0,this._numSelectedLayerPortions=0,this._numClippableLayerPortions=0,this._numEdgesLayerPortions=0,this._numPickableLayerPortions=0,this._numCulledLayerPortions=0,this.numIndices=e.geometry.numIndices,this._colors=[],this._offsets=[],this._modelMatrixCol0=[],this._modelMatrixCol1=[],this._modelMatrixCol2=[],this._portions=[],this._meshes=[],this._aabb=A.collapseAABB3(),this.aabbDirty=!0,e.origin&&(this._state.origin=A.vec3(e.origin)),this._finalized=!1}get aabb(){if(this.aabbDirty){A.collapseAABB3(this._aabb);for(let e=0,t=this._meshes.length;e0){let t=!1;this._state.colorsBuf=new He(e,e.ARRAY_BUFFER,new Uint8Array(this._colors),this._colors.length,4,e.DYNAMIC_DRAW,t),this._colors=[]}if(s>0){let t=!1;this._state.flagsBuf=new He(e,e.ARRAY_BUFFER,new Float32Array(s),s,1,e.DYNAMIC_DRAW,t)}if(this.model.scene.entityOffsetsEnabled&&this._offsets.length>0){const t=!1;this._state.offsetsBuf=new He(e,e.ARRAY_BUFFER,new Float32Array(this._offsets),this._offsets.length,3,e.DYNAMIC_DRAW,t),this._offsets=[]}if(this._modelMatrixCol0.length>0){const t=!1;this._state.modelMatrixCol0Buf=new He(e,e.ARRAY_BUFFER,new Float32Array(this._modelMatrixCol0),this._modelMatrixCol0.length,4,e.STATIC_DRAW,t),this._state.modelMatrixCol1Buf=new He(e,e.ARRAY_BUFFER,new Float32Array(this._modelMatrixCol1),this._modelMatrixCol1.length,4,e.STATIC_DRAW,t),this._state.modelMatrixCol2Buf=new He(e,e.ARRAY_BUFFER,new Float32Array(this._modelMatrixCol2),this._modelMatrixCol2.length,4,e.STATIC_DRAW,t),this._modelMatrixCol0=[],this._modelMatrixCol1=[],this._modelMatrixCol2=[]}this._state.geometry=null,this._finalized=!0}initFlags(e,t,s){t&X&&(this._numVisibleLayerPortions++,this.model.numVisibleLayerPortions++),t&te&&(this._numHighlightedLayerPortions++,this.model.numHighlightedLayerPortions++),t&ee&&(this._numXRayedLayerPortions++,this.model.numXRayedLayerPortions++),t&se&&(this._numSelectedLayerPortions++,this.model.numSelectedLayerPortions++),t&Z&&(this._numClippableLayerPortions++,this.model.numClippableLayerPortions++),t&ne&&(this._numEdgesLayerPortions++,this.model.numEdgesLayerPortions++),t&J&&(this._numPickableLayerPortions++,this.model.numPickableLayerPortions++),t&q&&(this._numCulledLayerPortions++,this.model.numCulledLayerPortions++),s&&(this._numTransparentLayerPortions++,this.model.numTransparentLayerPortions++),this._setFlags(e,t,s)}setVisible(e,t,s){if(!this._finalized)throw"Not finalized";t&X?(this._numVisibleLayerPortions++,this.model.numVisibleLayerPortions++):(this._numVisibleLayerPortions--,this.model.numVisibleLayerPortions--),this._setFlags(e,t,s)}setHighlighted(e,t,s){if(!this._finalized)throw"Not finalized";t&te?(this._numHighlightedLayerPortions++,this.model.numHighlightedLayerPortions++):(this._numHighlightedLayerPortions--,this.model.numHighlightedLayerPortions--),this._setFlags(e,t,s)}setXRayed(e,t,s){if(!this._finalized)throw"Not finalized";t&ee?(this._numXRayedLayerPortions++,this.model.numXRayedLayerPortions++):(this._numXRayedLayerPortions--,this.model.numXRayedLayerPortions--),this._setFlags(e,t,s)}setSelected(e,t,s){if(!this._finalized)throw"Not finalized";t&se?(this._numSelectedLayerPortions++,this.model.numSelectedLayerPortions++):(this._numSelectedLayerPortions--,this.model.numSelectedLayerPortions--),this._setFlags(e,t,s)}setEdges(e,t,s){if(!this._finalized)throw"Not finalized";t&ne?(this._numEdgesLayerPortions++,this.model.numEdgesLayerPortions++):(this._numEdgesLayerPortions--,this.model.numEdgesLayerPortions--),this._setFlags(e,t,s)}setClippable(e,t){if(!this._finalized)throw"Not finalized";t&Z?(this._numClippableLayerPortions++,this.model.numClippableLayerPortions++):(this._numClippableLayerPortions--,this.model.numClippableLayerPortions--),this._setFlags(e,t)}setCollidable(e,t){if(!this._finalized)throw"Not finalized"}setPickable(e,t,s){if(!this._finalized)throw"Not finalized";t&J?(this._numPickableLayerPortions++,this.model.numPickableLayerPortions++):(this._numPickableLayerPortions--,this.model.numPickableLayerPortions--),this._setFlags(e,t,s)}setCulled(e,t,s){if(!this._finalized)throw"Not finalized";t&q?(this._numCulledLayerPortions++,this.model.numCulledLayerPortions++):(this._numCulledLayerPortions--,this.model.numCulledLayerPortions--),this._setFlags(e,t,s)}setColor(e,t){if(!this._finalized)throw"Not finalized";wo[0]=t[0],wo[1]=t[1],wo[2]=t[2],wo[3]=t[3],this._state.colorsBuf.setData(wo,4*e,4)}setTransparent(e,t,s){s?(this._numTransparentLayerPortions++,this.model.numTransparentLayerPortions++):(this._numTransparentLayerPortions--,this.model.numTransparentLayerPortions--),this._setFlags(e,t,s)}_setFlags(e,t,s){if(!this._finalized)throw"Not finalized";const n=!!(t&X),i=!!(t&ee),a=!!(t&te),r=!!(t&se),l=!!(t&ne),o=!!(t&J),c=!!(t&q);let u,h;u=!n||c||i||a&&!this.model.scene.highlightMaterial.glowThrough||r&&!this.model.scene.selectedMaterial.glowThrough?lr.NOT_RENDERED:s?lr.COLOR_TRANSPARENT:lr.COLOR_OPAQUE,h=!n||c?lr.NOT_RENDERED:r?lr.SILHOUETTE_SELECTED:a?lr.SILHOUETTE_HIGHLIGHTED:i?lr.SILHOUETTE_XRAYED:lr.NOT_RENDERED;let p=0;p=!n||c?lr.NOT_RENDERED:r?lr.EDGES_SELECTED:a?lr.EDGES_HIGHLIGHTED:i?lr.EDGES_XRAYED:l?s?lr.EDGES_COLOR_TRANSPARENT:lr.EDGES_COLOR_OPAQUE:lr.NOT_RENDERED;let A=0;A|=u,A|=h<<4,A|=p<<8,A|=(n&&!c&&o?lr.PICK:lr.NOT_RENDERED)<<12,A|=(t&Z?255:0)<<16,go[0]=A,this._state.flagsBuf.setData(go,e)}setOffset(e,t){if(!this._finalized)throw"Not finalized";this.model.scene.entityOffsetsEnabled?(Eo[0]=t[0],Eo[1]=t[1],Eo[2]=t[2],this._state.offsetsBuf.setData(Eo,3*e,3)):this.model.error("Entity#offset not enabled for this Viewer")}setMatrix(e,t){if(!this._finalized)throw"Not finalized";const s=4*e;To[0]=t[0],To[1]=t[4],To[2]=t[8],To[3]=t[12],this._state.modelMatrixCol0Buf.setData(To,s),To[0]=t[1],To[1]=t[5],To[2]=t[9],To[3]=t[13],this._state.modelMatrixCol1Buf.setData(To,s),To[0]=t[2],To[1]=t[6],To[2]=t[10],To[3]=t[14],this._state.modelMatrixCol2Buf.setData(To,s)}drawColorOpaque(e,t){this._numCulledLayerPortions!==this._numPortions&&0!==this._numVisibleLayerPortions&&this._numTransparentLayerPortions!==this._numPortions&&this._numXRayedLayerPortions!==this._numPortions&&this._linesInstancingRenderers.colorRenderer&&this._linesInstancingRenderers.colorRenderer.drawLayer(t,this,lr.COLOR_OPAQUE)}drawColorTransparent(e,t){this._numCulledLayerPortions!==this._numPortions&&0!==this._numVisibleLayerPortions&&0!==this._numTransparentLayerPortions&&this._numXRayedLayerPortions!==this._numPortions&&this._linesInstancingRenderers.colorRenderer&&this._linesInstancingRenderers.colorRenderer.drawLayer(t,this,lr.COLOR_TRANSPARENT)}drawDepth(e,t){}drawNormals(e,t){}drawSilhouetteXRayed(e,t){this._numCulledLayerPortions!==this._numPortions&&0!==this._numVisibleLayerPortions&&0!==this._numXRayedLayerPortions&&this._linesInstancingRenderers.silhouetteRenderer&&this._linesInstancingRenderers.silhouetteRenderer.drawLayer(t,this,lr.SILHOUETTE_XRAYED)}drawSilhouetteHighlighted(e,t){this._numCulledLayerPortions!==this._numPortions&&0!==this._numVisibleLayerPortions&&0!==this._numHighlightedLayerPortions&&this._linesInstancingRenderers.silhouetteRenderer&&this._linesInstancingRenderers.silhouetteRenderer.drawLayer(t,this,lr.SILHOUETTE_HIGHLIGHTED)}drawSilhouetteSelected(e,t){this._numCulledLayerPortions!==this._numPortions&&0!==this._numVisibleLayerPortions&&0!==this._numSelectedLayerPortions&&this._linesInstancingRenderers.silhouetteRenderer&&this._linesInstancingRenderers.silhouetteRenderer.drawLayer(t,this,lr.SILHOUETTE_SELECTED)}drawEdgesColorOpaque(e,t){}drawEdgesColorTransparent(e,t){}drawEdgesXRayed(e,t){}drawEdgesHighlighted(e,t){}drawEdgesSelected(e,t){}drawOcclusion(e,t){}drawShadow(e,t){}drawPickMesh(e,t){}drawPickDepths(e,t){}drawPickNormals(e,t){}destroy(){const e=this._state;e.positionsBuf&&(e.positionsBuf.destroy(),e.positionsBuf=null),e.colorsBuf&&(e.colorsBuf.destroy(),e.colorsBuf=null),e.flagsBuf&&(e.flagsBuf.destroy(),e.flagsBuf=null),e.offsetsBuf&&(e.offsetsBuf.destroy(),e.offsetsBuf=null),e.modelMatrixCol0Buf&&(e.modelMatrixCol0Buf.destroy(),e.modelMatrixCol0Buf=null),e.modelMatrixCol1Buf&&(e.modelMatrixCol1Buf.destroy(),e.modelMatrixCol1Buf=null),e.modelMatrixCol2Buf&&(e.modelMatrixCol2Buf.destroy(),e.modelMatrixCol2Buf=null),e.destroy()}}class Do extends vr{_getHash(){return this._scene._sectionPlanesState.getHash()+this._scene.pointsMaterial.hash}drawLayer(e,t,s){super.drawLayer(e,t,s,{incrementDrawState:!0})}_buildVertexShader(){const e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,s=e.pointsMaterial,n=[];return n.push("#version 300 es"),n.push("// Points batching color vertex shader"),n.push("uniform int renderPass;"),n.push("in vec3 position;"),n.push("in vec4 color;"),n.push("in float flags;"),e.entityOffsetsEnabled&&n.push("in vec3 offset;"),this._addMatricesUniformBlockLines(n),n.push("uniform float pointSize;"),s.perspectivePoints&&n.push("uniform float nearPlaneHeight;"),s.filterIntensity&&n.push("uniform vec2 intensityRange;"),e.logarithmicDepthBufferEnabled&&(n.push("uniform float logDepthBufFC;"),n.push("out float vFragDepth;")),t&&(n.push("out vec4 vWorldPosition;"),n.push("out float vFlags;")),n.push("out vec4 vColor;"),n.push("void main(void) {"),n.push("int colorFlag = int(flags) & 0xF;"),n.push("if (colorFlag != renderPass) {"),n.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),n.push("} else {"),s.filterIntensity&&(n.push("float intensity = float(color.a) / 255.0;"),n.push("if (intensity < intensityRange[0] || intensity > intensityRange[1]) {"),n.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),n.push("} else {")),n.push("vec4 worldPosition = worldMatrix * (positionsDecodeMatrix * vec4(position, 1.0)); "),e.entityOffsetsEnabled&&n.push("worldPosition.xyz = worldPosition.xyz + offset;"),n.push("vec4 viewPosition = viewMatrix * worldPosition; "),n.push("vColor = vec4(float(color.r) / 255.0, float(color.g) / 255.0, float(color.b) / 255.0, 1.0);"),t&&(n.push("vWorldPosition = worldPosition;"),n.push("vFlags = flags;")),n.push("vec4 clipPos = projMatrix * viewPosition;"),e.logarithmicDepthBufferEnabled&&n.push("vFragDepth = 1.0 + clipPos.w;"),n.push("gl_Position = clipPos;"),s.perspectivePoints?(n.push("gl_PointSize = (nearPlaneHeight * pointSize) / clipPos.w;"),n.push("gl_PointSize = max(gl_PointSize, "+Math.floor(s.minPerspectivePointSize)+".0);"),n.push("gl_PointSize = min(gl_PointSize, "+Math.floor(s.maxPerspectivePointSize)+".0);")):n.push("gl_PointSize = pointSize;"),n.push("}"),s.filterIntensity&&n.push("}"),n.push("}"),n}_buildFragmentShader(){const e=this._scene,t=e._sectionPlanesState,s=t.getNumAllocatedSectionPlanes()>0,n=[];if(n.push("#version 300 es"),n.push("// Points batching color fragment shader"),n.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),n.push("precision highp float;"),n.push("precision highp int;"),n.push("#else"),n.push("precision mediump float;"),n.push("precision mediump int;"),n.push("#endif"),e.logarithmicDepthBufferEnabled&&(n.push("uniform float logDepthBufFC;"),n.push("in float vFragDepth;")),s){n.push("in vec4 vWorldPosition;"),n.push("in float vFlags;");for(let e=0,s=t.getNumAllocatedSectionPlanes();e 1.0) {"),n.push(" discard;"),n.push(" }")),s){n.push(" bool clippable = (int(vFlags) >> 16 & 0xF) == 1;"),n.push(" if (clippable) {"),n.push(" float dist = 0.0;");for(let e=0,s=t.getNumAllocatedSectionPlanes();e 0.0) { discard; }"),n.push("}")}return n.push(" outColor = vColor;"),e.logarithmicDepthBufferEnabled&&n.push("gl_FragDepth = log2( vFragDepth ) * logDepthBufFC * 0.5;"),n.push("}"),n}}class Po extends vr{_getHash(){return this._scene._sectionPlanesState.getHash()+this._scene.pointsMaterial.hash}drawLayer(e,t,s){super.drawLayer(e,t,s,{colorUniform:!0})}_buildVertexShader(){const e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,s=e.pointsMaterial._state,n=[];return n.push("#version 300 es"),n.push("// Points batching silhouette vertex shader"),n.push("uniform int renderPass;"),n.push("in vec3 position;"),e.entityOffsetsEnabled&&n.push("in vec3 offset;"),n.push("in float flags;"),this._addMatricesUniformBlockLines(n),n.push("uniform vec4 color;"),n.push("uniform float pointSize;"),s.perspectivePoints&&n.push("uniform float nearPlaneHeight;"),e.logarithmicDepthBufferEnabled&&(n.push("uniform float logDepthBufFC;"),n.push("out float vFragDepth;")),t&&(n.push("out vec4 vWorldPosition;"),n.push("out float vFlags;")),n.push("void main(void) {"),n.push("int silhouetteFlag = int(flags) >> 4 & 0xF;"),n.push("if (silhouetteFlag != renderPass) {"),n.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),n.push("} else {"),n.push(" vec4 worldPosition = worldMatrix * (positionsDecodeMatrix * vec4(position, 1.0)); "),e.entityOffsetsEnabled&&n.push(" worldPosition.xyz = worldPosition.xyz + offset;"),n.push("vec4 viewPosition = viewMatrix * worldPosition; "),t&&(n.push("vWorldPosition = worldPosition;"),n.push("vFlags = flags;")),n.push("vec4 clipPos = projMatrix * viewPosition;"),e.logarithmicDepthBufferEnabled&&n.push("vFragDepth = 1.0 + clipPos.w;"),n.push("gl_Position = clipPos;"),s.perspectivePoints?(n.push("gl_PointSize = (nearPlaneHeight * pointSize) / clipPos.w;"),n.push("gl_PointSize = max(gl_PointSize, "+Math.floor(s.minPerspectivePointSize)+".0);"),n.push("gl_PointSize = min(gl_PointSize, "+Math.floor(s.maxPerspectivePointSize)+".0);")):n.push("gl_PointSize = pointSize;"),n.push("}"),n.push("}"),n}_buildFragmentShader(){const e=this._scene,t=e._sectionPlanesState;let s,n;const i=t.getNumAllocatedSectionPlanes()>0,a=[];if(a.push("#version 300 es"),a.push("// Points batching silhouette vertex shader"),a.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),a.push("precision highp float;"),a.push("precision highp int;"),a.push("#else"),a.push("precision mediump float;"),a.push("precision mediump int;"),a.push("#endif"),e.logarithmicDepthBufferEnabled&&(a.push("uniform float logDepthBufFC;"),a.push("in float vFragDepth;")),i)for(a.push("in vec4 vWorldPosition;"),a.push("in float vFlags;"),s=0,n=t.getNumAllocatedSectionPlanes();s 1.0) {"),a.push(" discard;"),a.push(" }")),i){for(a.push(" bool clippable = (int(vFlags) >> 16 & 0xF) == 1;"),a.push(" if (clippable) {"),a.push(" float dist = 0.0;"),s=0,n=t.getNumAllocatedSectionPlanes();s 0.0) { discard; }"),a.push("}")}return e.logarithmicDepthBufferEnabled&&a.push("gl_FragDepth = log2( vFragDepth ) * logDepthBufFC * 0.5;"),a.push("outColor = color;"),a.push("}"),a}}class Ro extends vr{_getHash(){return this._scene._sectionPlanesState.getHash()+this._scene.pointsMaterial.hash}_buildVertexShader(){const e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,s=e.pointsMaterial._state,n=[];return n.push("#version 300 es"),n.push("// Points batching pick mesh vertex shader"),n.push("uniform int renderPass;"),n.push("in vec3 position;"),e.entityOffsetsEnabled&&n.push("in vec3 offset;"),n.push("in float flags;"),n.push("in vec4 pickColor;"),n.push("uniform bool pickInvisible;"),this._addMatricesUniformBlockLines(n),this._addRemapClipPosLines(n),n.push("uniform float pointSize;"),s.perspectivePoints&&n.push("uniform float nearPlaneHeight;"),e.logarithmicDepthBufferEnabled&&(n.push("uniform float logDepthBufFC;"),n.push("out float vFragDepth;")),t&&(n.push("out vec4 vWorldPosition;"),n.push("out float vFlags;")),n.push("out vec4 vPickColor;"),n.push("void main(void) {"),n.push("int pickFlag = int(flags) >> 12 & 0xF;"),n.push("if (pickFlag != renderPass) {"),n.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),n.push(" } else {"),n.push(" vec4 worldPosition = worldMatrix * (positionsDecodeMatrix * vec4(position, 1.0)); "),e.entityOffsetsEnabled&&n.push(" worldPosition.xyz = worldPosition.xyz + offset;"),n.push(" vec4 viewPosition = viewMatrix * worldPosition; "),n.push(" vPickColor = vec4(float(pickColor.r) / 255.0, float(pickColor.g) / 255.0, float(pickColor.b) / 255.0, float(pickColor.a) / 255.0);"),t&&(n.push(" vWorldPosition = worldPosition;"),n.push(" vFlags = flags;")),n.push("vec4 clipPos = projMatrix * viewPosition;"),e.logarithmicDepthBufferEnabled&&n.push("vFragDepth = 1.0 + clipPos.w;"),n.push("gl_Position = remapClipPos(clipPos);"),s.perspectivePoints?(n.push("gl_PointSize = (nearPlaneHeight * pointSize) / clipPos.w;"),n.push("gl_PointSize = max(gl_PointSize, "+Math.floor(s.minPerspectivePointSize)+".0);"),n.push("gl_PointSize = min(gl_PointSize, "+Math.floor(s.maxPerspectivePointSize)+".0);")):n.push("gl_PointSize = pointSize;"),n.push("gl_PointSize += 10.0;"),n.push(" }"),n.push("}"),n}_buildFragmentShader(){const e=this._scene,t=e._sectionPlanesState,s=t.getNumAllocatedSectionPlanes()>0,n=[];if(n.push("#version 300 es"),n.push("// Points batching pick mesh vertex shader"),n.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),n.push("precision highp float;"),n.push("precision highp int;"),n.push("#else"),n.push("precision mediump float;"),n.push("precision mediump int;"),n.push("#endif"),e.logarithmicDepthBufferEnabled&&(n.push("uniform float logDepthBufFC;"),n.push("in float vFragDepth;")),s){n.push("in vec4 vWorldPosition;"),n.push("in float vFlags;");for(var i=0;i 1.0) {"),n.push(" discard;"),n.push(" }")),s){n.push(" bool clippable = (int(vFlags) >> 16 & 0xF) == 1;"),n.push(" if (clippable) {"),n.push(" float dist = 0.0;");for(let e=0;e 0.0) { discard; }"),n.push(" }")}return e.logarithmicDepthBufferEnabled&&n.push("gl_FragDepth = log2( vFragDepth ) * logDepthBufFC * 0.5;"),n.push(" outColor = vPickColor; "),n.push("}"),n}}class Co extends vr{_getHash(){return this._scene._sectionPlanesState.getHash()+this._scene.pointsMaterial.hash}_buildVertexShader(){const e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,s=e.pointsMaterial._state,n=[];return n.push("#version 300 es"),n.push("// Points batched pick depth vertex shader"),n.push("uniform int renderPass;"),n.push("in vec3 position;"),e.entityOffsetsEnabled&&n.push("in vec3 offset;"),n.push("in float flags;"),n.push("uniform bool pickInvisible;"),this._addMatricesUniformBlockLines(n),this._addRemapClipPosLines(n),n.push("uniform float pointSize;"),s.perspectivePoints&&n.push("uniform float nearPlaneHeight;"),e.logarithmicDepthBufferEnabled&&(n.push("uniform float logDepthBufFC;"),n.push("out float vFragDepth;")),t&&(n.push("out vec4 vWorldPosition;"),n.push("out float vFlags;")),n.push("out vec4 vViewPosition;"),n.push("void main(void) {"),n.push("int pickFlag = int(flags) >> 12 & 0xF;"),n.push("if (pickFlag != renderPass) {"),n.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),n.push(" } else {"),n.push(" vec4 worldPosition = worldMatrix * (positionsDecodeMatrix * vec4(position, 1.0)); "),e.entityOffsetsEnabled&&n.push(" worldPosition.xyz = worldPosition.xyz + offset;"),n.push(" vec4 viewPosition = viewMatrix * worldPosition; "),t&&(n.push(" vWorldPosition = worldPosition;"),n.push(" vFlags = flags;")),n.push("vViewPosition = viewPosition;"),n.push("vec4 clipPos = projMatrix * viewPosition;"),e.logarithmicDepthBufferEnabled&&n.push("vFragDepth = 1.0 + clipPos.w;"),n.push("gl_Position = remapClipPos(clipPos);"),s.perspectivePoints?(n.push("gl_PointSize = (nearPlaneHeight * pointSize) / clipPos.w;"),n.push("gl_PointSize = max(gl_PointSize, "+Math.floor(s.minPerspectivePointSize)+".0);"),n.push("gl_PointSize = min(gl_PointSize, "+Math.floor(s.maxPerspectivePointSize)+".0);")):n.push("gl_PointSize = pointSize;"),n.push("gl_PointSize += 10.0;"),n.push(" }"),n.push("}"),n}_buildFragmentShader(){const e=this._scene,t=e._sectionPlanesState,s=t.getNumAllocatedSectionPlanes()>0,n=[];if(n.push("#version 300 es"),n.push("// Points batched pick depth fragment shader"),n.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),n.push("precision highp float;"),n.push("precision highp int;"),n.push("#else"),n.push("precision mediump float;"),n.push("precision mediump int;"),n.push("#endif"),e.logarithmicDepthBufferEnabled&&(n.push("uniform float logDepthBufFC;"),n.push("in float vFragDepth;")),n.push("uniform float pickZNear;"),n.push("uniform float pickZFar;"),s){n.push("in vec4 vWorldPosition;"),n.push("in float vFlags;");for(let e=0;e 1.0) {"),n.push(" discard;"),n.push(" }")),s){n.push(" bool clippable = (int(vFlags) >> 16 & 0xF) == 1;"),n.push(" if (clippable) {"),n.push(" float dist = 0.0;");for(var i=0;i 0.0) { discard; }"),n.push(" }")}return e.logarithmicDepthBufferEnabled&&n.push("gl_FragDepth = log2( vFragDepth ) * logDepthBufFC * 0.5;"),n.push(" float zNormalizedDepth = abs((pickZNear + vViewPosition.z) / (pickZFar - pickZNear));"),n.push(" outColor = packDepth(zNormalizedDepth); "),n.push("}"),n}}class _o extends vr{_getHash(){return this._scene._sectionPlanesState.getHash()+this._scene.pointsMaterial.hash}_buildVertexShader(){const e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,s=e.pointsMaterial._state,n=[];return n.push("#version 300 es"),n.push("// Points batching occlusion vertex shader"),n.push("uniform int renderPass;"),n.push("in vec3 position;"),e.entityOffsetsEnabled&&n.push("in vec3 offset;"),n.push("in float flags;"),this._addMatricesUniformBlockLines(n),n.push("uniform float pointSize;"),s.perspectivePoints&&n.push("uniform float nearPlaneHeight;"),e.logarithmicDepthBufferEnabled&&(n.push("uniform float logDepthBufFC;"),n.push("out float vFragDepth;")),t&&(n.push("out vec4 vWorldPosition;"),n.push("out float vFlags;")),n.push("void main(void) {"),n.push("int colorFlag = int(flags) & 0xF;"),n.push("if (colorFlag != renderPass) {"),n.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),n.push(" } else {"),n.push(" vec4 worldPosition = worldMatrix * (positionsDecodeMatrix * vec4(position, 1.0)); "),e.entityOffsetsEnabled&&n.push(" worldPosition.xyz = worldPosition.xyz + offset;"),n.push(" vec4 viewPosition = viewMatrix * worldPosition; "),t&&(n.push(" vWorldPosition = worldPosition;"),n.push(" vFlags = flags;")),n.push("vec4 clipPos = projMatrix * viewPosition;"),e.logarithmicDepthBufferEnabled&&n.push("vFragDepth = 1.0 + clipPos.w;"),n.push(" gl_Position = clipPos;"),s.perspectivePoints?(n.push("gl_PointSize = (nearPlaneHeight * pointSize) / clipPos.w;"),n.push("gl_PointSize = max(gl_PointSize, "+Math.floor(s.minPerspectivePointSize)+".0);"),n.push("gl_PointSize = min(gl_PointSize, "+Math.floor(s.maxPerspectivePointSize)+".0);")):n.push("gl_PointSize = pointSize;"),n.push(" }"),n.push("}"),n}_buildFragmentShader(){const e=this._scene,t=e._sectionPlanesState,s=t.getNumAllocatedSectionPlanes()>0,n=[];if(n.push("#version 300 es"),n.push("// Points batching occlusion fragment shader"),n.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),n.push("precision highp float;"),n.push("precision highp int;"),n.push("#else"),n.push("precision mediump float;"),n.push("precision mediump int;"),n.push("#endif"),e.logarithmicDepthBufferEnabled&&(n.push("uniform float logDepthBufFC;"),n.push("in float vFragDepth;")),s){n.push("in vec4 vWorldPosition;"),n.push("in float vFlags;");for(let e=0;e 1.0) {"),n.push(" discard;"),n.push(" }")),s){n.push(" bool clippable = (int(vFlags) >> 16 & 0xF) == 1;"),n.push(" if (clippable) {"),n.push(" float dist = 0.0;");for(let e=0;e 0.0) { discard; }"),n.push(" }")}return e.logarithmicDepthBufferEnabled&&n.push("gl_FragDepth = log2( vFragDepth ) * logDepthBufFC * 0.5;"),n.push(" outColor = vec4(0.0, 0.0, 1.0, 1.0); "),n.push("}"),n}}class Bo{constructor(e){this._scene=e}_compile(){this._colorRenderer&&!this._colorRenderer.getValid()&&(this._colorRenderer.destroy(),this._colorRenderer=null),this._silhouetteRenderer&&!this._silhouetteRenderer.getValid()&&(this._silhouetteRenderer.destroy(),this._silhouetteRenderer=null),this._pickMeshRenderer&&!this._pickMeshRenderer.getValid()&&(this._pickMeshRenderer.destroy(),this._pickMeshRenderer=null),this._pickDepthRenderer&&!this._pickDepthRenderer.getValid()&&(this._pickDepthRenderer.destroy(),this._pickDepthRenderer=null),this._occlusionRenderer&&!1===this._occlusionRenderer.getValid()&&(this._occlusionRenderer.destroy(),this._occlusionRenderer=null)}get colorRenderer(){return this._colorRenderer||(this._colorRenderer=new Do(this._scene)),this._colorRenderer}get silhouetteRenderer(){return this._silhouetteRenderer||(this._silhouetteRenderer=new Po(this._scene)),this._silhouetteRenderer}get pickMeshRenderer(){return this._pickMeshRenderer||(this._pickMeshRenderer=new Ro(this._scene)),this._pickMeshRenderer}get pickDepthRenderer(){return this._pickDepthRenderer||(this._pickDepthRenderer=new Co(this._scene)),this._pickDepthRenderer}get occlusionRenderer(){return this._occlusionRenderer||(this._occlusionRenderer=new _o(this._scene)),this._occlusionRenderer}_destroy(){this._colorRenderer&&this._colorRenderer.destroy(),this._silhouetteRenderer&&this._silhouetteRenderer.destroy(),this._pickMeshRenderer&&this._pickMeshRenderer.destroy(),this._pickDepthRenderer&&this._pickDepthRenderer.destroy(),this._occlusionRenderer&&this._occlusionRenderer.destroy()}}const Oo={};class So{constructor(e=5e6){e>5e6&&(e=5e6),this.maxVerts=e,this.maxIndices=3*e,this.positions=[],this.colors=[],this.intensities=[],this.pickColors=[],this.offsets=[]}}A.vec4(),A.vec4(),A.vec4([0,0,0,1]),A.vec4([0,0,0,1]),A.vec4([0,0,0,1]),A.OBB3();class No{constructor(e){this.model=e.model,this.sortId="PointsBatchingLayer",this.layerIndex=e.layerIndex,this._pointsBatchingRenderers=function(e){const t=e.id;let s=Oo[t];return s||(s=new Bo(e),Oo[t]=s,s._compile(),e.on("compile",(()=>{s._compile()})),e.on("destroyed",(()=>{delete Oo[t],s._destroy()}))),s}(e.model.scene),this._buffer=new So(e.maxGeometryBatchSize),this._scratchMemory=e.scratchMemory,this._state=new it({positionsBuf:null,offsetsBuf:null,colorsBuf:null,flagsBuf:null,positionsDecodeMatrix:A.mat4(),origin:null}),this._numPortions=0,this._numVisibleLayerPortions=0,this._numTransparentLayerPortions=0,this._numXRayedLayerPortions=0,this._numSelectedLayerPortions=0,this._numHighlightedLayerPortions=0,this._numClippableLayerPortions=0,this._numPickableLayerPortions=0,this._numCulledLayerPortions=0,this._modelAABB=A.collapseAABB3(),this._portions=[],this._meshes=[],this._aabb=A.collapseAABB3(),this.aabbDirty=!0,this._finalized=!1,e.positionsDecodeMatrix?(this._state.positionsDecodeMatrix.set(e.positionsDecodeMatrix),this._preCompressedPositionsExpected=!0):this._preCompressedPositionsExpected=!1,e.origin&&(this._state.origin=A.vec3(e.origin)),this.aabb=A.collapseAABB3()}get aabb(){if(this.aabbDirty){A.collapseAABB3(this._aabb);for(let e=0,t=this._meshes.length;e0)if(this._preCompressedPositionsExpected){const n=new Uint16Array(s.positions);e.positionsBuf=new He(t,t.ARRAY_BUFFER,n,s.positions.length,3,t.STATIC_DRAW)}else{const n=kr(new Float32Array(s.positions),this._modelAABB,e.positionsDecodeMatrix);e.positionsBuf=new He(t,t.ARRAY_BUFFER,n,s.positions.length,3,t.STATIC_DRAW)}if(s.colors.length>0){const n=new Uint8Array(s.colors);let i=!1;e.colorsBuf=new He(t,t.ARRAY_BUFFER,n,s.colors.length,4,t.STATIC_DRAW,i)}if(s.positions.length>0){const n=s.positions.length/3,i=new Float32Array(n);let a=!1;e.flagsBuf=new He(t,t.ARRAY_BUFFER,i,i.length,1,t.DYNAMIC_DRAW,a)}if(s.pickColors.length>0){const n=new Uint8Array(s.pickColors);let i=!1;e.pickColorsBuf=new He(t,t.ARRAY_BUFFER,n,s.pickColors.length,4,t.STATIC_DRAW,i)}if(this.model.scene.entityOffsetsEnabled&&s.offsets.length>0){const n=new Float32Array(s.offsets);e.offsetsBuf=new He(t,t.ARRAY_BUFFER,n,s.offsets.length,3,t.DYNAMIC_DRAW)}this._buffer=null,this._finalized=!0}initFlags(e,t,s){t&X&&(this._numVisibleLayerPortions++,this.model.numVisibleLayerPortions++),t&te&&(this._numHighlightedLayerPortions++,this.model.numHighlightedLayerPortions++),t&ee&&(this._numXRayedLayerPortions++,this.model.numXRayedLayerPortions++),t&se&&(this._numSelectedLayerPortions++,this.model.numSelectedLayerPortions++),t&Z&&(this._numClippableLayerPortions++,this.model.numClippableLayerPortions++),t&J&&(this._numPickableLayerPortions++,this.model.numPickableLayerPortions++),t&q&&(this._numCulledLayerPortions++,this.model.numCulledLayerPortions++),s&&(this._numTransparentLayerPortions++,this.model.numTransparentLayerPortions++),this._setFlags(e,t,s)}setVisible(e,t,s){if(!this._finalized)throw"Not finalized";t&X?(this._numVisibleLayerPortions++,this.model.numVisibleLayerPortions++):(this._numVisibleLayerPortions--,this.model.numVisibleLayerPortions--),this._setFlags(e,t,s)}setHighlighted(e,t,s){if(!this._finalized)throw"Not finalized";t&te?(this._numHighlightedLayerPortions++,this.model.numHighlightedLayerPortions++):(this._numHighlightedLayerPortions--,this.model.numHighlightedLayerPortions--),this._setFlags(e,t,s)}setXRayed(e,t,s){if(!this._finalized)throw"Not finalized";t&ee?(this._numXRayedLayerPortions++,this.model.numXRayedLayerPortions++):(this._numXRayedLayerPortions--,this.model.numXRayedLayerPortions--),this._setFlags(e,t,s)}setSelected(e,t,s){if(!this._finalized)throw"Not finalized";t&se?(this._numSelectedLayerPortions++,this.model.numSelectedLayerPortions++):(this._numSelectedLayerPortions--,this.model.numSelectedLayerPortions--),this._setFlags(e,t,s)}setEdges(e,t,s){if(!this._finalized)throw"Not finalized"}setClippable(e,t){if(!this._finalized)throw"Not finalized";t&Z?(this._numClippableLayerPortions++,this.model.numClippableLayerPortions++):(this._numClippableLayerPortions--,this.model.numClippableLayerPortions--),this._setFlags(e,t)}setCulled(e,t,s){if(!this._finalized)throw"Not finalized";t&q?(this._numCulledLayerPortions++,this.model.numCulledLayerPortions++):(this._numCulledLayerPortions--,this.model.numCulledLayerPortions--),this._setFlags(e,t,s)}setCollidable(e,t){if(!this._finalized)throw"Not finalized"}setPickable(e,t,s){if(!this._finalized)throw"Not finalized";t&J?(this._numPickableLayerPortions++,this.model.numPickableLayerPortions++):(this._numPickableLayerPortions--,this.model.numPickableLayerPortions--),this._setFlags(e,t,s)}setColor(e,t){if(!this._finalized)throw"Not finalized";const s=2*e,n=4*this._portions[s],i=4*this._portions[s+1],a=this._scratchMemory.getUInt8Array(i),r=t[0],l=t[1],o=t[2];for(let e=0;e0,s=e.pointsMaterial._state,n=[];return n.push("#version 300 es"),n.push("// Points instancing color vertex shader"),n.push("uniform int renderPass;"),n.push("in vec3 position;"),n.push("in vec4 color;"),n.push("in float flags;"),e.entityOffsetsEnabled&&n.push("in vec3 offset;"),n.push("in vec4 modelMatrixCol0;"),n.push("in vec4 modelMatrixCol1;"),n.push("in vec4 modelMatrixCol2;"),this._addMatricesUniformBlockLines(n),n.push("uniform float pointSize;"),s.perspectivePoints&&n.push("uniform float nearPlaneHeight;"),s.filterIntensity&&n.push("uniform vec2 intensityRange;"),e.logarithmicDepthBufferEnabled&&(n.push("uniform float logDepthBufFC;"),n.push("out float vFragDepth;")),t&&(n.push("out vec4 vWorldPosition;"),n.push("out float vFlags;")),n.push("out vec4 vColor;"),n.push("void main(void) {"),n.push("int colorFlag = int(flags) & 0xF;"),n.push("if (colorFlag != renderPass) {"),n.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),n.push("} else {"),s.filterIntensity&&(n.push("float intensity = float(color.a) / 255.0;"),n.push("if (intensity < intensityRange[0] || intensity > intensityRange[1]) {"),n.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),n.push("} else {")),n.push("vec4 worldPosition = positionsDecodeMatrix * vec4(position, 1.0); "),n.push("worldPosition = worldMatrix * vec4(dot(worldPosition, modelMatrixCol0), dot(worldPosition, modelMatrixCol1), dot(worldPosition, modelMatrixCol2), 1.0);"),e.entityOffsetsEnabled&&n.push(" worldPosition.xyz = worldPosition.xyz + offset;"),n.push("vec4 viewPosition = viewMatrix * worldPosition; "),n.push("vColor = vec4(float(color.r) / 255.0, float(color.g) / 255.0, float(color.b) / 255.0, 1.0);"),t&&(n.push("vWorldPosition = worldPosition;"),n.push("vFlags = flags;")),n.push("vec4 clipPos = projMatrix * viewPosition;"),e.logarithmicDepthBufferEnabled&&n.push("vFragDepth = 1.0 + clipPos.w;"),n.push("gl_Position = clipPos;"),s.perspectivePoints?(n.push("gl_PointSize = (nearPlaneHeight * pointSize) / clipPos.w;"),n.push("gl_PointSize = max(gl_PointSize, "+Math.floor(s.minPerspectivePointSize)+".0);"),n.push("gl_PointSize = min(gl_PointSize, "+Math.floor(s.maxPerspectivePointSize)+".0);")):n.push("gl_PointSize = pointSize;"),n.push("}"),s.filterIntensity&&n.push("}"),n.push("}"),n}_buildFragmentShader(){const e=this._scene,t=e._sectionPlanesState,s=t.getNumAllocatedSectionPlanes()>0,n=[];if(n.push("#version 300 es"),n.push("// Points instancing color fragment shader"),n.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),n.push("precision highp float;"),n.push("precision highp int;"),n.push("#else"),n.push("precision mediump float;"),n.push("precision mediump int;"),n.push("#endif"),e.logarithmicDepthBufferEnabled&&(n.push("uniform float logDepthBufFC;"),n.push("in float vFragDepth;")),s){n.push("in vec4 vWorldPosition;"),n.push("in float vFlags;");for(let e=0,s=t.getNumAllocatedSectionPlanes();e 1.0) {"),n.push(" discard;"),n.push(" }")),s){n.push(" bool clippable = (int(vFlags) >> 16 & 0xF) == 1;"),n.push(" if (clippable) {"),n.push(" float dist = 0.0;");for(let e=0,s=t.getNumAllocatedSectionPlanes();e 0.0) { discard; }"),n.push("}")}return n.push(" outColor = vColor;"),e.logarithmicDepthBufferEnabled&&n.push("gl_FragDepth = log2( vFragDepth ) * logDepthBufFC * 0.5;"),n.push("}"),n}}class Lo extends wr{_getHash(){return this._scene._sectionPlanesState.getHash()+this._scene.pointsMaterial.hash}drawLayer(e,t,s){super.drawLayer(e,t,s,{colorUniform:!0})}_buildVertexShader(){const e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,s=e.pointsMaterial._state,n=[];return n.push("#version 300 es"),n.push("// Points instancing silhouette vertex shader"),n.push("uniform int renderPass;"),n.push("in vec3 position;"),e.entityOffsetsEnabled&&n.push("in vec3 offset;"),n.push("in float flags;"),n.push("in vec4 color;"),n.push("in vec4 modelMatrixCol0;"),n.push("in vec4 modelMatrixCol1;"),n.push("in vec4 modelMatrixCol2;"),this._addMatricesUniformBlockLines(n),n.push("uniform float pointSize;"),s.perspectivePoints&&n.push("uniform float nearPlaneHeight;"),e.logarithmicDepthBufferEnabled&&(n.push("uniform float logDepthBufFC;"),n.push("out float vFragDepth;")),n.push("uniform vec4 silhouetteColor;"),t&&(n.push("out vec4 vWorldPosition;"),n.push("out float vFlags;")),n.push("out vec4 vColor;"),n.push("void main(void) {"),n.push("int silhouetteFlag = int(flags) >> 4 & 0xF;"),n.push("if (silhouetteFlag != renderPass) {"),n.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),n.push("} else {"),n.push("vec4 worldPosition = positionsDecodeMatrix * vec4(position, 1.0); "),n.push("worldPosition = worldMatrix * vec4(dot(worldPosition, modelMatrixCol0), dot(worldPosition, modelMatrixCol1), dot(worldPosition, modelMatrixCol2), 1.0);"),e.entityOffsetsEnabled&&n.push(" worldPosition.xyz = worldPosition.xyz + offset;"),n.push("vec4 viewPosition = viewMatrix * worldPosition; "),t&&(n.push("vWorldPosition = worldPosition;"),n.push("vFlags = flags;")),n.push("vec4 clipPos = projMatrix * viewPosition;"),e.logarithmicDepthBufferEnabled&&n.push("vFragDepth = 1.0 + clipPos.w;"),n.push("vColor = vec4(float(silhouetteColor.r) / 255.0, float(silhouetteColor.g) / 255.0, float(silhouetteColor.b) / 255.0, float(color.a) / 255.0);"),n.push("gl_Position = clipPos;"),s.perspectivePoints?(n.push("gl_PointSize = (nearPlaneHeight * pointSize) / clipPos.w;"),n.push("gl_PointSize = max(gl_PointSize, "+Math.floor(s.minPerspectivePointSize)+".0);"),n.push("gl_PointSize = min(gl_PointSize, "+Math.floor(s.maxPerspectivePointSize)+".0);")):n.push("gl_PointSize = pointSize;"),n.push("}"),n.push("}"),n}_buildFragmentShader(){const e=this._scene,t=e._sectionPlanesState,s=t.getNumAllocatedSectionPlanes()>0,n=[];if(n.push("#version 300 es"),n.push("// Points instancing silhouette fragment shader"),n.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),n.push("precision highp float;"),n.push("precision highp int;"),n.push("#else"),n.push("precision mediump float;"),n.push("precision mediump int;"),n.push("#endif"),e.logarithmicDepthBufferEnabled&&(n.push("uniform float logDepthBufFC;"),n.push("in float vFragDepth;")),s){n.push("in vec4 vWorldPosition;"),n.push("in float vFlags;");for(let e=0,s=t.getNumAllocatedSectionPlanes();e 1.0) {"),n.push(" discard;"),n.push(" }")),s){n.push(" bool clippable = (int(vFlags) >> 16 & 0xF) == 1;"),n.push(" if (clippable) {"),n.push(" float dist = 0.0;");for(let e=0,s=t.getNumAllocatedSectionPlanes();e 0.0) { discard; }"),n.push("}")}return e.logarithmicDepthBufferEnabled&&n.push("gl_FragDepth = log2( vFragDepth ) * logDepthBufFC * 0.5;"),n.push("outColor = vColor;"),n.push("}"),n}}class Mo extends wr{_getHash(){return this._scene._sectionPlanesState.getHash()+this._scene.pointsMaterial.hash}_buildVertexShader(){const e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,s=e.pointsMaterial._state,n=[];return n.push("#version 300 es"),n.push("// Points instancing pick mesh vertex shader"),n.push("uniform int renderPass;"),n.push("in vec3 position;"),e.entityOffsetsEnabled&&n.push("in vec3 offset;"),n.push("in float flags;"),n.push("in vec4 pickColor;"),n.push("in vec4 modelMatrixCol0;"),n.push("in vec4 modelMatrixCol1;"),n.push("in vec4 modelMatrixCol2;"),n.push("uniform bool pickInvisible;"),this._addMatricesUniformBlockLines(n),this._addRemapClipPosLines(n),n.push("uniform float pointSize;"),s.perspectivePoints&&n.push("uniform float nearPlaneHeight;"),e.logarithmicDepthBufferEnabled&&(n.push("uniform float logDepthBufFC;"),n.push("out float vFragDepth;")),t&&(n.push("out vec4 vWorldPosition;"),n.push("out float vFlags;")),n.push("out vec4 vPickColor;"),n.push("void main(void) {"),n.push("int pickFlag = int(flags) >> 12 & 0xF;"),n.push("if (pickFlag != renderPass) {"),n.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),n.push("} else {"),n.push(" vec4 worldPosition = positionsDecodeMatrix * vec4(position, 1.0); "),n.push(" worldPosition = worldMatrix * vec4(dot(worldPosition, modelMatrixCol0), dot(worldPosition, modelMatrixCol1), dot(worldPosition, modelMatrixCol2), 1.0);"),e.entityOffsetsEnabled&&n.push(" worldPosition.xyz = worldPosition.xyz + offset;"),n.push(" vec4 viewPosition = viewMatrix * worldPosition; "),n.push(" vPickColor = vec4(float(pickColor.r) / 255.0, float(pickColor.g) / 255.0, float(pickColor.b) / 255.0, float(pickColor.a) / 255.0);"),t&&(n.push(" vWorldPosition = worldPosition;"),n.push(" vFlags = flags;")),n.push("vec4 clipPos = projMatrix * viewPosition;"),n.push("gl_Position = remapClipPos(clipPos);"),e.logarithmicDepthBufferEnabled&&n.push("vFragDepth = 1.0 + clipPos.w;"),s.perspectivePoints?(n.push("gl_PointSize = (nearPlaneHeight * pointSize) / clipPos.w;"),n.push("gl_PointSize = max(gl_PointSize, "+Math.floor(s.minPerspectivePointSize)+".0);"),n.push("gl_PointSize = min(gl_PointSize, "+Math.floor(s.maxPerspectivePointSize)+".0);")):n.push("gl_PointSize = pointSize;"),n.push("}"),n.push("}"),n}_buildFragmentShader(){const e=this._scene,t=e._sectionPlanesState,s=t.getNumAllocatedSectionPlanes()>0,n=[];if(n.push("#version 300 es"),n.push("// Points instancing pick mesh fragment shader"),n.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),n.push("precision highp float;"),n.push("precision highp int;"),n.push("#else"),n.push("precision mediump float;"),n.push("precision mediump int;"),n.push("#endif"),e.logarithmicDepthBufferEnabled&&(n.push("uniform float logDepthBufFC;"),n.push("in float vFragDepth;")),s){n.push("in vec4 vWorldPosition;"),n.push("in float vFlags;");for(let e=0;e 1.0) {"),n.push(" discard;"),n.push(" }")),s){n.push(" bool clippable = (int(vFlags) >> 16 & 0xF) == 1;"),n.push(" if (clippable) {"),n.push(" float dist = 0.0;");for(let e=0;e 0.0) { discard; }"),n.push("}")}return e.logarithmicDepthBufferEnabled&&n.push("gl_FragDepth = log2( vFragDepth ) * logDepthBufFC * 0.5;"),n.push("outColor = vPickColor; "),n.push("}"),n}}class Fo extends wr{_getHash(){return this._scene._sectionPlanesState.getHash()+this._scene.pointsMaterial.hash}_buildVertexShader(){const e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,s=e.pointsMaterial._state,n=[];return n.push("#version 300 es"),n.push("// Points instancing pick depth vertex shader"),n.push("uniform int renderPass;"),n.push("in vec3 position;"),e.entityOffsetsEnabled&&n.push("in vec3 offset;"),n.push("in float flags;"),n.push("in vec4 modelMatrixCol0;"),n.push("in vec4 modelMatrixCol1;"),n.push("in vec4 modelMatrixCol2;"),n.push("uniform bool pickInvisible;"),this._addMatricesUniformBlockLines(n),this._addRemapClipPosLines(n),n.push("uniform float pointSize;"),s.perspectivePoints&&n.push("uniform float nearPlaneHeight;"),e.logarithmicDepthBufferEnabled&&(n.push("uniform float logDepthBufFC;"),n.push("out float vFragDepth;")),t&&(n.push("out vec4 vWorldPosition;"),n.push("out float vFlags;")),n.push("out vec4 vViewPosition;"),n.push("void main(void) {"),n.push("int pickFlag = int(flags) >> 12 & 0xF;"),n.push("if (pickFlag != renderPass) {"),n.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),n.push("} else {"),n.push(" vec4 worldPosition = positionsDecodeMatrix * vec4(position, 1.0); "),n.push(" worldPosition = worldMatrix * vec4(dot(worldPosition, modelMatrixCol0), dot(worldPosition, modelMatrixCol1), dot(worldPosition, modelMatrixCol2), 1.0);"),e.entityOffsetsEnabled&&n.push(" worldPosition.xyz = worldPosition.xyz + offset;"),n.push(" vec4 viewPosition = viewMatrix * worldPosition; "),t&&(n.push(" vWorldPosition = worldPosition;"),n.push(" vFlags = flags;")),n.push(" vViewPosition = viewPosition;"),n.push("vec4 clipPos = projMatrix * viewPosition;"),n.push("gl_Position = remapClipPos(clipPos);"),e.logarithmicDepthBufferEnabled&&n.push("vFragDepth = 1.0 + clipPos.w;"),n.push("gl_Position = remapClipPos(clipPos);"),s.perspectivePoints?(n.push("gl_PointSize = (nearPlaneHeight * pointSize) / clipPos.w;"),n.push("gl_PointSize = max(gl_PointSize, "+Math.floor(s.minPerspectivePointSize)+".0);"),n.push("gl_PointSize = min(gl_PointSize, "+Math.floor(s.maxPerspectivePointSize)+".0);")):n.push("gl_PointSize = pointSize;"),n.push("}"),n.push("}"),n}_buildFragmentShader(){const e=this._scene,t=e._sectionPlanesState,s=t.getNumAllocatedSectionPlanes()>0,n=[];if(n.push("#version 300 es"),n.push("// Points instancing pick depth fragment shader"),n.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),n.push("precision highp float;"),n.push("precision highp int;"),n.push("#else"),n.push("precision mediump float;"),n.push("precision mediump int;"),n.push("#endif"),e.logarithmicDepthBufferEnabled&&(n.push("uniform float logDepthBufFC;"),n.push("in float vFragDepth;")),n.push("uniform float pickZNear;"),n.push("uniform float pickZFar;"),s){n.push("in vec4 vWorldPosition;"),n.push("in float vFlags;");for(let e=0;e 1.0) {"),n.push(" discard;"),n.push(" }")),s){n.push(" bool clippable = (int(vFlags) >> 16 & 0xF) == 1;"),n.push(" if (clippable) {"),n.push(" float dist = 0.0;");for(let e=0;e 0.0) { discard; }"),n.push("}")}return e.logarithmicDepthBufferEnabled&&n.push("gl_FragDepth = log2( vFragDepth ) * logDepthBufFC * 0.5;"),n.push(" float zNormalizedDepth = abs((pickZNear + vViewPosition.z) / (pickZFar - pickZNear));"),n.push(" outColor = packDepth(zNormalizedDepth); "),n.push("}"),n}}class Ho extends wr{_getHash(){return this._scene._sectionPlanesState.getHash()+this._scene.pointsMaterial.hash}_buildVertexShader(){const e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,s=e.pointsMaterial._state,n=[];return n.push("#version 300 es"),n.push("// Points instancing occlusion vertex shader"),n.push("uniform int renderPass;"),n.push("in vec3 position;"),e.entityOffsetsEnabled&&n.push("in vec3 offset;"),n.push("in vec4 color;"),n.push("in float flags;"),n.push("in vec4 modelMatrixCol0;"),n.push("in vec4 modelMatrixCol1;"),n.push("in vec4 modelMatrixCol2;"),this._addMatricesUniformBlockLines(n),n.push("uniform float pointSize;"),s.perspectivePoints&&n.push("uniform float nearPlaneHeight;"),e.logarithmicDepthBufferEnabled&&(n.push("uniform float logDepthBufFC;"),n.push("out float vFragDepth;")),t&&(n.push("out vec4 vWorldPosition;"),n.push("out float vFlags;")),n.push("void main(void) {"),n.push("int colorFlag = int(flags) & 0xF;"),n.push("if (colorFlag != renderPass) {"),n.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),n.push("} else {"),n.push(" vec4 worldPosition = positionsDecodeMatrix * vec4(position, 1.0); "),n.push(" worldPosition = worldMatrix * vec4(dot(worldPosition, modelMatrixCol0), dot(worldPosition, modelMatrixCol1), dot(worldPosition, modelMatrixCol2), 1.0);"),e.entityOffsetsEnabled&&n.push(" worldPosition.xyz = worldPosition.xyz + offset;"),n.push(" vec4 viewPosition = viewMatrix * worldPosition; "),t&&(n.push(" vWorldPosition = worldPosition;"),n.push("vFlags = flags;")),n.push("vec4 clipPos = projMatrix * viewPosition;"),e.logarithmicDepthBufferEnabled&&n.push("vFragDepth = 1.0 + clipPos.w;"),n.push("gl_Position = clipPos;"),s.perspectivePoints?(n.push("gl_PointSize = (nearPlaneHeight * pointSize) / clipPos.w;"),n.push("gl_PointSize = max(gl_PointSize, "+Math.floor(s.minPerspectivePointSize)+".0);"),n.push("gl_PointSize = min(gl_PointSize, "+Math.floor(s.maxPerspectivePointSize)+".0);")):n.push("gl_PointSize = pointSize;"),n.push("}"),n.push("}"),n}_buildFragmentShader(){const e=this._scene,t=e._sectionPlanesState,s=t.getNumAllocatedSectionPlanes()>0,n=[];if(n.push("#version 300 es"),n.push("// Points instancing occlusion vertex shader"),n.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),n.push("precision highp float;"),n.push("precision highp int;"),n.push("#else"),n.push("precision mediump float;"),n.push("precision mediump int;"),n.push("#endif"),e.logarithmicDepthBufferEnabled&&(n.push("uniform float logDepthBufFC;"),n.push("in float vFragDepth;")),s){n.push("in vec4 vWorldPosition;"),n.push("in float vFlags;");for(let e=0;e 1.0) {"),n.push(" discard;"),n.push(" }")),s){n.push(" bool clippable = (int(vFlags) >> 16 & 0xF) == 1;"),n.push(" if (clippable) {"),n.push(" float dist = 0.0;");for(let e=0;e 0.0) { discard; }"),n.push("}")}return n.push(" outColor = vec4(0.0, 0.0, 1.0, 1.0); "),e.logarithmicDepthBufferEnabled&&n.push("gl_FragDepth = log2( vFragDepth ) * logDepthBufFC * 0.5;"),n.push("}"),n}}class Uo extends wr{_getHash(){return this._scene._sectionPlanesState.getHash()+this._scene.pointsMaterial.hash}_buildVertexShader(){const e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,s=e.pointsMaterial._state,n=[];return n.push("#version 300 es"),n.push("// Points instancing depth vertex shader"),n.push("uniform int renderPass;"),n.push("in vec3 position;"),e.entityOffsetsEnabled&&n.push("in vec3 offset;"),n.push("in float flags;"),n.push("in vec4 modelMatrixCol0;"),n.push("in vec4 modelMatrixCol1;"),n.push("in vec4 modelMatrixCol2;"),this._addMatricesUniformBlockLines(n),n.push("uniform float pointSize;"),s.perspectivePoints&&n.push("uniform float nearPlaneHeight;"),e.logarithmicDepthBufferEnabled&&(n.push("uniform float logDepthBufFC;"),n.push("out float vFragDepth;")),t&&(n.push("out vec4 vWorldPosition;"),n.push("out float vFlags;")),n.push("void main(void) {"),n.push("int colorFlag = int(flags) & 0xF;"),n.push("if (colorFlag != renderPass) {"),n.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),n.push("} else {"),n.push(" vec4 worldPosition = positionsDecodeMatrix * vec4(position, 1.0); "),n.push(" worldPosition = worldMatrix * vec4(dot(worldPosition, modelMatrixCol0), dot(worldPosition, modelMatrixCol1), dot(worldPosition, modelMatrixCol2), 1.0);"),e.entityOffsetsEnabled&&n.push(" worldPosition.xyz = worldPosition.xyz + offset;"),n.push(" vec4 viewPosition = viewMatrix * worldPosition; "),t&&(n.push("vWorldPosition = worldPosition;"),n.push("vFlags = flags;")),n.push("vec4 clipPos = projMatrix * viewPosition;"),e.logarithmicDepthBufferEnabled&&n.push("vFragDepth = 1.0 + clipPos.w;"),n.push("gl_Position = clipPos;"),s.perspectivePoints?(n.push("gl_PointSize = (nearPlaneHeight * pointSize) / clipPos.w;"),n.push("gl_PointSize = max(gl_PointSize, "+Math.floor(s.minPerspectivePointSize)+".0);"),n.push("gl_PointSize = min(gl_PointSize, "+Math.floor(s.maxPerspectivePointSize)+".0);")):n.push("gl_PointSize = pointSize;"),n.push("}"),n.push("}"),n}_buildFragmentShader(){const e=this._scene,t=e._sectionPlanesState;let s,n;const i=t.getNumAllocatedSectionPlanes()>0,a=[];if(a.push("#version 300 es"),a.push("// Points instancing depth vertex shader"),a.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),a.push("precision highp float;"),a.push("precision highp int;"),a.push("#else"),a.push("precision mediump float;"),a.push("precision mediump int;"),a.push("#endif"),e.logarithmicDepthBufferEnabled&&(a.push("uniform float logDepthBufFC;"),a.push("in float vFragDepth;")),i)for(a.push("in vec4 vWorldPosition;"),a.push("in float vFlags;"),s=0,n=t.getNumAllocatedSectionPlanes();s 1.0) {"),a.push(" discard;"),a.push(" }")),i){for(a.push(" bool clippable = (int(vFlags) >> 16 & 0xF) == 1;"),a.push(" if (clippable) {"),a.push(" float dist = 0.0;"),s=0,n=t.getNumAllocatedSectionPlanes();s 0.0) { discard; }"),a.push("}")}return a.push(" outColor = packDepthToRGBA( gl_FragCoord.z); "),e.logarithmicDepthBufferEnabled&&a.push("gl_FragDepth = log2( vFragDepth ) * logDepthBufFC * 0.5;"),a.push("}"),a}}class Go extends wr{_buildVertexShader(){const e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,s=[];return s.push("#version 300 es"),s.push("// Instancing geometry shadow drawing vertex shader"),s.push("in vec3 position;"),e.entityOffsetsEnabled&&s.push("in vec3 offset;"),s.push("in vec4 color;"),s.push("in float flags;"),s.push("in vec4 modelMatrixCol0;"),s.push("in vec4 modelMatrixCol1;"),s.push("in vec4 modelMatrixCol2;"),s.push("uniform mat4 shadowViewMatrix;"),s.push("uniform mat4 shadowProjMatrix;"),this._addMatricesUniformBlockLines(s),s.push("uniform float pointSize;"),t&&(s.push("out vec4 vWorldPosition;"),s.push("out float vFlags;")),s.push("void main(void) {"),s.push("int colorFlag = int(flags) & 0xF;"),s.push("bool visible = (colorFlag > 0);"),s.push("bool transparent = ((float(color.a) / 255.0) < 1.0);"),s.push("if (!visible || transparent) {"),s.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),s.push("} else {"),s.push(" vec4 worldPosition = positionsDecodeMatrix * vec4(position, 1.0); "),s.push(" worldPosition = vec4(dot(worldPosition, modelMatrixCol0), dot(worldPosition, modelMatrixCol1), dot(worldPosition, modelMatrixCol2), 1.0);"),e.entityOffsetsEnabled&&s.push(" worldPosition.xyz = worldPosition.xyz + offset;"),s.push(" vec4 viewPosition = shadowViewMatrix * worldPosition; "),t&&(s.push("vWorldPosition = worldPosition;"),s.push("vFlags = flags;")),s.push(" gl_Position = shadowProjMatrix * viewPosition;"),s.push("}"),s.push("gl_PointSize = pointSize;"),s.push("}"),s}_buildFragmentShader(){const e=this._scene,t=e._sectionPlanesState,s=t.getNumAllocatedSectionPlanes()>0,n=[];if(n.push("#version 300 es"),n.push("// Instancing geometry depth drawing fragment shader"),n.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),n.push("precision highp float;"),n.push("precision highp int;"),n.push("#else"),n.push("precision mediump float;"),n.push("precision mediump int;"),n.push("#endif"),e.logarithmicDepthBufferEnabled&&(n.push("uniform float logDepthBufFC;"),n.push("in float vFragDepth;")),s){n.push("in vec4 vWorldPosition;"),n.push("in float vFlags;");for(let e=0,s=t.getNumAllocatedSectionPlanes();e 1.0) {"),n.push(" discard;"),n.push(" }"),s){n.push(" bool clippable = (int(vFlags) >> 16 & 0xF) == 1;"),n.push(" if (clippable) {"),n.push(" float dist = 0.0;");for(let e=0,s=t.getNumAllocatedSectionPlanes();e 0.0) { discard; }"),n.push("}")}return e.logarithmicDepthBufferEnabled&&n.push("gl_FragDepth = log2( vFragDepth ) * logDepthBufFC * 0.5;"),n.push(" outColor = vec4(packNormalToRGB(vViewNormal), 1.0); "),n.push("}"),n}}class jo{constructor(e){this._scene=e}_compile(){this._colorRenderer&&!this._colorRenderer.getValid()&&(this._colorRenderer.destroy(),this._colorRenderer=null),this._depthRenderer&&!this._depthRenderer.getValid()&&(this._depthRenderer.destroy(),this._depthRenderer=null),this._silhouetteRenderer&&!this._silhouetteRenderer.getValid()&&(this._silhouetteRenderer.destroy(),this._silhouetteRenderer=null),this._pickMeshRenderer&&!this._pickMeshRenderer.getValid()&&(this._pickMeshRenderer.destroy(),this._pickMeshRenderer=null),this._pickDepthRenderer&&!this._pickDepthRenderer.getValid()&&(this._pickDepthRenderer.destroy(),this._pickDepthRenderer=null),this._occlusionRenderer&&!1===this._occlusionRenderer.getValid()&&(this._occlusionRenderer.destroy(),this._occlusionRenderer=null),this._shadowRenderer&&!this._shadowRenderer.getValid()&&(this._shadowRenderer.destroy(),this._shadowRenderer=null)}get colorRenderer(){return this._colorRenderer||(this._colorRenderer=new xo(this._scene,!1)),this._colorRenderer}get silhouetteRenderer(){return this._silhouetteRenderer||(this._silhouetteRenderer=new Lo(this._scene)),this._silhouetteRenderer}get depthRenderer(){return this._depthRenderer||(this._depthRenderer=new Uo(this._scene)),this._depthRenderer}get pickMeshRenderer(){return this._pickMeshRenderer||(this._pickMeshRenderer=new Mo(this._scene)),this._pickMeshRenderer}get pickDepthRenderer(){return this._pickDepthRenderer||(this._pickDepthRenderer=new Fo(this._scene)),this._pickDepthRenderer}get occlusionRenderer(){return this._occlusionRenderer||(this._occlusionRenderer=new Ho(this._scene)),this._occlusionRenderer}get shadowRenderer(){return this._shadowRenderer||(this._shadowRenderer=new Go(this._scene)),this._shadowRenderer}_destroy(){this._colorRenderer&&this._colorRenderer.destroy(),this._depthRenderer&&this._depthRenderer.destroy(),this._silhouetteRenderer&&this._silhouetteRenderer.destroy(),this._pickMeshRenderer&&this._pickMeshRenderer.destroy(),this._pickDepthRenderer&&this._pickDepthRenderer.destroy(),this._occlusionRenderer&&this._occlusionRenderer.destroy(),this._shadowRenderer&&this._shadowRenderer.destroy()}}const Vo={};const ko=new Uint8Array(4),Qo=new Float32Array(1);A.vec4([0,0,0,1]),A.vec4([0,0,0,1]),A.vec4([0,0,0,1]);const Wo=new Float32Array(3),zo=new Float32Array(4);class Ko{constructor(e){this.model=e.model,this.material=e.material,this.sortId="PointsInstancingLayer",this.layerIndex=e.layerIndex,this._pointsInstancingRenderers=function(e){const t=e.id;let s=Vo[t];return s||(s=new jo(e),Vo[t]=s,s._compile(),e.on("compile",(()=>{s._compile()})),e.on("destroyed",(()=>{delete Vo[t],s._destroy()}))),s}(e.model.scene),this._aabb=A.collapseAABB3(),this._state=new it({obb:A.OBB3(),numInstances:0,origin:e.origin?A.vec3(e.origin):null,geometry:e.geometry,positionsDecodeMatrix:e.geometry.positionsDecodeMatrix,colorsBuf:null,flagsBuf:null,offsetsBuf:null,modelMatrixCol0Buf:null,modelMatrixCol1Buf:null,modelMatrixCol2Buf:null,pickColorsBuf:null}),this._numPortions=0,this._numVisibleLayerPortions=0,this._numTransparentLayerPortions=0,this._numXRayedLayerPortions=0,this._numHighlightedLayerPortions=0,this._numSelectedLayerPortions=0,this._numClippableLayerPortions=0,this._numEdgesLayerPortions=0,this._numPickableLayerPortions=0,this._numCulledLayerPortions=0,this.numIndices=e.geometry.numIndices,this._pickColors=[],this._offsets=[],this._modelMatrixCol0=[],this._modelMatrixCol1=[],this._modelMatrixCol2=[],this._portions=[],this._meshes=[],this._aabb=A.collapseAABB3(),this.aabbDirty=!0,this._finalized=!1}get aabb(){if(this.aabbDirty){A.collapseAABB3(this._aabb);for(let e=0,t=this._meshes.length;e0){let n=!1;s.flagsBuf=new He(e,e.ARRAY_BUFFER,new Float32Array(t),t,1,e.DYNAMIC_DRAW,n)}if(this.model.scene.entityOffsetsEnabled&&this._offsets.length>0){const t=!1;s.offsetsBuf=new He(e,e.ARRAY_BUFFER,new Float32Array(this._offsets),this._offsets.length,3,e.DYNAMIC_DRAW,t),this._offsets=[]}if(n.positionsCompressed&&n.positionsCompressed.length>0){const t=!1;s.positionsBuf=new He(e,e.ARRAY_BUFFER,n.positionsCompressed,n.positionsCompressed.length,3,e.STATIC_DRAW,t),s.positionsDecodeMatrix=A.mat4(n.positionsDecodeMatrix)}if(n.colorsCompressed&&n.colorsCompressed.length>0){const t=new Uint8Array(n.colorsCompressed),i=!1;s.colorsBuf=new He(e,e.ARRAY_BUFFER,t,t.length,4,e.STATIC_DRAW,i)}if(this._modelMatrixCol0.length>0){const t=!1;s.modelMatrixCol0Buf=new He(e,e.ARRAY_BUFFER,new Float32Array(this._modelMatrixCol0),this._modelMatrixCol0.length,4,e.STATIC_DRAW,t),s.modelMatrixCol1Buf=new He(e,e.ARRAY_BUFFER,new Float32Array(this._modelMatrixCol1),this._modelMatrixCol1.length,4,e.STATIC_DRAW,t),s.modelMatrixCol2Buf=new He(e,e.ARRAY_BUFFER,new Float32Array(this._modelMatrixCol2),this._modelMatrixCol2.length,4,e.STATIC_DRAW,t),this._modelMatrixCol0=[],this._modelMatrixCol1=[],this._modelMatrixCol2=[]}if(this._pickColors.length>0){const t=!1;s.pickColorsBuf=new He(e,e.ARRAY_BUFFER,new Uint8Array(this._pickColors),this._pickColors.length,4,e.STATIC_DRAW,t),this._pickColors=[]}s.geometry=null,this._finalized=!0}initFlags(e,t,s){t&X&&(this._numVisibleLayerPortions++,this.model.numVisibleLayerPortions++),t&te&&(this._numHighlightedLayerPortions++,this.model.numHighlightedLayerPortions++),t&ee&&(this._numXRayedLayerPortions++,this.model.numXRayedLayerPortions++),t&se&&(this._numSelectedLayerPortions++,this.model.numSelectedLayerPortions++),t&Z&&(this._numClippableLayerPortions++,this.model.numClippableLayerPortions++),t&ne&&(this._numEdgesLayerPortions++,this.model.numEdgesLayerPortions++),t&J&&(this._numPickableLayerPortions++,this.model.numPickableLayerPortions++),t&q&&(this._numCulledLayerPortions++,this.model.numCulledLayerPortions++),s&&(this._numTransparentLayerPortions++,this.model.numTransparentLayerPortions++),this._setFlags(e,t,s)}setVisible(e,t,s){if(!this._finalized)throw"Not finalized";t&X?(this._numVisibleLayerPortions++,this.model.numVisibleLayerPortions++):(this._numVisibleLayerPortions--,this.model.numVisibleLayerPortions--),this._setFlags(e,t,s)}setHighlighted(e,t,s){if(!this._finalized)throw"Not finalized";t&te?(this._numHighlightedLayerPortions++,this.model.numHighlightedLayerPortions++):(this._numHighlightedLayerPortions--,this.model.numHighlightedLayerPortions--),this._setFlags(e,t,s)}setXRayed(e,t,s){if(!this._finalized)throw"Not finalized";t&ee?(this._numXRayedLayerPortions++,this.model.numXRayedLayerPortions++):(this._numXRayedLayerPortions--,this.model.numXRayedLayerPortions--),this._setFlags(e,t,s)}setSelected(e,t,s){if(!this._finalized)throw"Not finalized";t&se?(this._numSelectedLayerPortions++,this.model.numSelectedLayerPortions++):(this._numSelectedLayerPortions--,this.model.numSelectedLayerPortions--),this._setFlags(e,t,s)}setEdges(e,t,s){if(!this._finalized)throw"Not finalized";t&ne?(this._numEdgesLayerPortions++,this.model.numEdgesLayerPortions++):(this._numEdgesLayerPortions--,this.model.numEdgesLayerPortions--),this._setFlags(e,t,s)}setClippable(e,t){if(!this._finalized)throw"Not finalized";t&Z?(this._numClippableLayerPortions++,this.model.numClippableLayerPortions++):(this._numClippableLayerPortions--,this.model.numClippableLayerPortions--),this._setFlags(e,t)}setCollidable(e,t){if(!this._finalized)throw"Not finalized"}setPickable(e,t,s){if(!this._finalized)throw"Not finalized";t&J?(this._numPickableLayerPortions++,this.model.numPickableLayerPortions++):(this._numPickableLayerPortions--,this.model.numPickableLayerPortions--),this._setFlags(e,t,s)}setCulled(e,t,s){if(!this._finalized)throw"Not finalized";t&q?(this._numCulledLayerPortions++,this.model.numCulledLayerPortions++):(this._numCulledLayerPortions--,this.model.numCulledLayerPortions--),this._setFlags(e,t,s)}setColor(e,t){if(!this._finalized)throw"Not finalized";ko[0]=t[0],ko[1]=t[1],ko[2]=t[2],this._state.colorsBuf.setData(ko,3*e)}setTransparent(e,t,s){s?(this._numTransparentLayerPortions++,this.model.numTransparentLayerPortions++):(this._numTransparentLayerPortions--,this.model.numTransparentLayerPortions--),this._setFlags(e,t,s)}_setFlags(e,t,s){if(!this._finalized)throw"Not finalized";const n=!!(t&X),i=!!(t&ee),a=!!(t&te),r=!!(t&se),l=!!(t&ne),o=!!(t&J),c=!!(t&q);let u,h;u=!n||c||i||a&&!this.model.scene.highlightMaterial.glowThrough||r&&!this.model.scene.selectedMaterial.glowThrough?lr.NOT_RENDERED:s?lr.COLOR_TRANSPARENT:lr.COLOR_OPAQUE,h=!n||c?lr.NOT_RENDERED:r?lr.SILHOUETTE_SELECTED:a?lr.SILHOUETTE_HIGHLIGHTED:i?lr.SILHOUETTE_XRAYED:lr.NOT_RENDERED;let p=0;p=!n||c?lr.NOT_RENDERED:r?lr.EDGES_SELECTED:a?lr.EDGES_HIGHLIGHTED:i?lr.EDGES_XRAYED:l?s?lr.EDGES_COLOR_TRANSPARENT:lr.EDGES_COLOR_OPAQUE:lr.NOT_RENDERED;let A=0;A|=u,A|=h<<4,A|=p<<8,A|=(n&&!c&&o?lr.PICK:lr.NOT_RENDERED)<<12,A|=(t&Z?255:0)<<16,Qo[0]=A,this._state.flagsBuf.setData(Qo,e)}setOffset(e,t){if(!this._finalized)throw"Not finalized";this.model.scene.entityOffsetsEnabled?(Wo[0]=t[0],Wo[1]=t[1],Wo[2]=t[2],this._state.offsetsBuf.setData(Wo,3*e)):this.model.error("Entity#offset not enabled for this Viewer")}setMatrix(e,t){if(!this._finalized)throw"Not finalized";const s=4*e;zo[0]=t[0],zo[1]=t[4],zo[2]=t[8],zo[3]=t[12],this._state.modelMatrixCol0Buf.setData(zo,s),zo[0]=t[1],zo[1]=t[5],zo[2]=t[9],zo[3]=t[13],this._state.modelMatrixCol1Buf.setData(zo,s),zo[0]=t[2],zo[1]=t[6],zo[2]=t[10],zo[3]=t[14],this._state.modelMatrixCol2Buf.setData(zo,s)}drawColorOpaque(e,t){this._numCulledLayerPortions!==this._numPortions&&0!==this._numVisibleLayerPortions&&this._numTransparentLayerPortions!==this._numPortions&&this._numXRayedLayerPortions!==this._numPortions&&this._pointsInstancingRenderers.colorRenderer&&this._pointsInstancingRenderers.colorRenderer.drawLayer(t,this,lr.COLOR_OPAQUE)}drawColorTransparent(e,t){this._numCulledLayerPortions!==this._numPortions&&0!==this._numVisibleLayerPortions&&0!==this._numTransparentLayerPortions&&this._numXRayedLayerPortions!==this._numPortions&&this._pointsInstancingRenderers.colorRenderer&&this._pointsInstancingRenderers.colorRenderer.drawLayer(t,this,lr.COLOR_TRANSPARENT)}drawDepth(e,t){}drawNormals(e,t){}drawSilhouetteXRayed(e,t){this._numCulledLayerPortions!==this._numPortions&&0!==this._numVisibleLayerPortions&&0!==this._numXRayedLayerPortions&&this._pointsInstancingRenderers.silhouetteRenderer&&this._pointsInstancingRenderers.silhouetteRenderer.drawLayer(t,this,lr.SILHOUETTE_XRAYED)}drawSilhouetteHighlighted(e,t){this._numCulledLayerPortions!==this._numPortions&&0!==this._numVisibleLayerPortions&&0!==this._numHighlightedLayerPortions&&this._pointsInstancingRenderers.silhouetteRenderer&&this._pointsInstancingRenderers.silhouetteRenderer.drawLayer(t,this,lr.SILHOUETTE_HIGHLIGHTED)}drawSilhouetteSelected(e,t){this._numCulledLayerPortions!==this._numPortions&&0!==this._numVisibleLayerPortions&&0!==this._numSelectedLayerPortions&&this._pointsInstancingRenderers.silhouetteRenderer&&this._pointsInstancingRenderers.silhouetteRenderer.drawLayer(t,this,lr.SILHOUETTE_SELECTED)}drawEdgesColorOpaque(e,t){}drawEdgesColorTransparent(e,t){}drawEdgesHighlighted(e,t){}drawEdgesSelected(e,t){}drawEdgesXRayed(e,t){}drawOcclusion(e,t){this._numCulledLayerPortions!==this._numPortions&&0!==this._numVisibleLayerPortions&&this._pointsInstancingRenderers.occlusionRenderer&&this._pointsInstancingRenderers.occlusionRenderer.drawLayer(t,this,lr.COLOR_OPAQUE)}drawShadow(e,t){}drawPickMesh(e,t){this._numCulledLayerPortions!==this._numPortions&&0!==this._numVisibleLayerPortions&&this._pointsInstancingRenderers.pickMeshRenderer&&this._pointsInstancingRenderers.pickMeshRenderer.drawLayer(t,this,lr.PICK)}drawPickDepths(e,t){this._numCulledLayerPortions!==this._numPortions&&0!==this._numVisibleLayerPortions&&this._pointsInstancingRenderers.pickDepthRenderer&&this._pointsInstancingRenderers.pickDepthRenderer.drawLayer(t,this,lr.PICK)}drawPickNormals(e,t){}destroy(){const e=this._state;e.colorsBuf&&(e.colorsBuf.destroy(),e.colorsBuf=null),e.flagsBuf&&(e.flagsBuf.destroy(),e.flagsBuf=null),e.offsetsBuf&&(e.offsetsBuf.destroy(),e.offsetsBuf=null),e.modelMatrixCol0Buf&&(e.modelMatrixCol0Buf.destroy(),e.modelMatrixCol0Buf=null),e.modelMatrixCol1Buf&&(e.modelMatrixCol1Buf.destroy(),e.modelMatrixCol1Buf=null),e.modelMatrixCol2Buf&&(e.modelMatrixCol2Buf.destroy(),e.modelMatrixCol2Buf=null),e.pickColorsBuf&&(e.pickColorsBuf.destroy(),e.pickColorsBuf=null),e.destroy()}}class Yo{constructor(e){this.id=e.id,this.colorTexture=e.colorTexture,this.metallicRoughnessTexture=e.metallicRoughnessTexture,this.normalsTexture=e.normalsTexture,this.emissiveTexture=e.emissiveTexture,this.occlusionTexture=e.occlusionTexture}destroy(){}}class Xo{constructor(e){this.id=e.id,this.texture=e.texture}destroy(){this.texture&&(this.texture.destroy(),this.texture=null)}}const qo={enabled:!1,files:{},add:function(e,t){!1!==this.enabled&&(this.files[e]=t)},get:function(e){if(!1!==this.enabled)return this.files[e]},remove:function(e){delete this.files[e]},clear:function(){this.files={}}};class Jo{constructor(e,t,s){this.isLoading=!1,this.itemsLoaded=0,this.itemsTotal=0,this.urlModifier=void 0,this.handlers=[],this.onStart=void 0,this.onLoad=e,this.onProgress=t,this.onError=s}itemStart(e){this.itemsTotal++,!1===this.isLoading&&void 0!==this.onStart&&this.onStart(e,this.itemsLoaded,this.itemsTotal),this.isLoading=!0}itemEnd(e){this.itemsLoaded++,void 0!==this.onProgress&&this.onProgress(e,this.itemsLoaded,this.itemsTotal),this.itemsLoaded===this.itemsTotal&&(this.isLoading=!1,void 0!==this.onLoad&&this.onLoad())}itemError(e){void 0!==this.onError&&this.onError(e)}resolveURL(e){return this.urlModifier?this.urlModifier(e):e}setURLModifier(e){return this.urlModifier=e,this}addHandler(e,t){return this.handlers.push(e,t),this}removeHandler(e){const t=this.handlers.indexOf(e);return-1!==t&&this.handlers.splice(t,2),this}getHandler(e){for(let t=0,s=this.handlers.length;t{t&&t(i),this.manager.itemEnd(e)}),0),i;if(void 0!==ec[e])return void ec[e].push({onLoad:t,onProgress:s,onError:n});ec[e]=[],ec[e].push({onLoad:t,onProgress:s,onError:n});const a=new Request(e,{headers:new Headers(this.requestHeader),credentials:this.withCredentials?"include":"same-origin"}),r=this.mimeType,l=this.responseType;fetch(a).then((t=>{if(200===t.status||0===t.status){if(0===t.status&&console.warn("FileLoader: HTTP Status 0 received."),"undefined"==typeof ReadableStream||void 0===t.body.getReader)return t;const s=ec[e],n=t.body.getReader(),i=t.headers.get("Content-Length"),a=i?parseInt(i):0,r=0!==a;let l=0;const o=new ReadableStream({start(e){!function t(){n.read().then((({done:n,value:i})=>{if(n)e.close();else{l+=i.byteLength;const n=new ProgressEvent("progress",{lengthComputable:r,loaded:l,total:a});for(let e=0,t=s.length;e{switch(l){case"arraybuffer":return e.arrayBuffer();case"blob":return e.blob();case"document":return e.text().then((e=>(new DOMParser).parseFromString(e,r)));case"json":return e.json();default:if(void 0===r)return e.text();{const t=/charset="?([^;"\s]*)"?/i.exec(r),s=t&&t[1]?t[1].toLowerCase():void 0,n=new TextDecoder(s);return e.arrayBuffer().then((e=>n.decode(e)))}}})).then((t=>{qo.add(e,t);const s=ec[e];delete ec[e];for(let e=0,n=s.length;e{const s=ec[e];if(void 0===s)throw this.manager.itemError(e),t;delete ec[e];for(let e=0,n=s.length;e{this.manager.itemEnd(e)})),this.manager.itemStart(e)}setResponseType(e){return this.responseType=e,this}setMimeType(e){return this.mimeType=e,this}}class sc{constructor(e=4){this.pool=e,this.queue=[],this.workers=[],this.workersResolve=[],this.workerStatus=0}_initWorker(e){if(!this.workers[e]){const t=this.workerCreator();t.addEventListener("message",this._onMessage.bind(this,e)),this.workers[e]=t}}_getIdleWorker(){for(let e=0;e{const n=this._getIdleWorker();-1!==n?(this._initWorker(n),this.workerStatus|=1<e.terminate())),this.workersResolve.length=0,this.workers.length=0,this.queue.length=0,this.workerStatus=0}}let nc=0;class ic{constructor({viewer:e,transcoderPath:t,workerLimit:s}){this._transcoderPath=t||"https://cdn.jsdelivr.net/npm/@xeokit/xeokit-sdk/dist/basis/",this._transcoderBinary=null,this._transcoderPending=null,this._workerPool=new sc,this._workerSourceURL="",s&&this._workerPool.setWorkerLimit(s);const n=e.capabilities;this._workerConfig={astcSupported:n.astcSupported,etc1Supported:n.etc1Supported,etc2Supported:n.etc2Supported,dxtSupported:n.dxtSupported,bptcSupported:n.bptcSupported,pvrtcSupported:n.pvrtcSupported},this._supportedFileTypes=["xkt2"]}_init(){if(!this._transcoderPending){const e=new tc;e.setPath(this._transcoderPath),e.setWithCredentials(this.withCredentials);const t=e.loadAsync("basis_transcoder.js"),s=new tc;s.setPath(this._transcoderPath),s.setResponseType("arraybuffer"),s.setWithCredentials(this.withCredentials);const n=s.loadAsync("basis_transcoder.wasm");this._transcoderPending=Promise.all([t,n]).then((([e,t])=>{const s=ic.BasisWorker.toString(),n=["/* constants */","let _EngineFormat = "+JSON.stringify(ic.EngineFormat),"let _TranscoderFormat = "+JSON.stringify(ic.TranscoderFormat),"let _BasisFormat = "+JSON.stringify(ic.BasisFormat),"/* basis_transcoder.js */",e,"/* worker */",s.substring(s.indexOf("{")+1,s.lastIndexOf("}"))].join("\n");this._workerSourceURL=URL.createObjectURL(new Blob([n])),this._transcoderBinary=t,this._workerPool.setWorkerCreator((()=>{const e=new Worker(this._workerSourceURL),t=this._transcoderBinary.slice(0);return e.postMessage({type:"init",config:this._workerConfig,transcoderBinary:t},[t]),e}))})),nc>0&&console.warn("KTX2TextureTranscoder: Multiple active KTX2TextureTranscoder may cause performance issues. Use a single KTX2TextureTranscoder instance, or call .dispose() on old instances."),nc++}return this._transcoderPending}transcode(e,t,s={}){return new Promise(((n,i)=>{const a=s;this._init().then((()=>this._workerPool.postMessage({type:"transcode",buffers:e,taskConfig:a},e))).then((e=>{const s=e.data,{mipmaps:a,width:r,height:l,format:o,type:c,error:u,dfdTransferFn:h,dfdFlags:p}=s;if("error"===c)return i(u);t.setCompressedData({mipmaps:a,props:{format:o,minFilter:1===a.length?1006:1008,magFilter:1===a.length?1006:1008,encoding:2===h?3001:3e3,premultiplyAlpha:!!(1&p)}}),n()}))}))}destroy(){URL.revokeObjectURL(this._workerSourceURL),this._workerPool.destroy(),nc--}}ic.BasisFormat={ETC1S:0,UASTC_4x4:1},ic.TranscoderFormat={ETC1:0,ETC2:1,BC1:2,BC3:3,BC4:4,BC5:5,BC7_M6_OPAQUE_ONLY:6,BC7_M5:7,PVRTC1_4_RGB:8,PVRTC1_4_RGBA:9,ASTC_4x4:10,ATC_RGB:11,ATC_RGBA_INTERPOLATED_ALPHA:12,RGBA32:13,RGB565:14,BGR565:15,RGBA4444:16},ic.EngineFormat={RGBAFormat:1023,RGBA_ASTC_4x4_Format:37808,RGBA_BPTC_Format:36492,RGBA_ETC2_EAC_Format:37496,RGBA_PVRTC_4BPPV1_Format:35842,RGBA_S3TC_DXT5_Format:33779,RGB_ETC1_Format:36196,RGB_ETC2_Format:37492,RGB_PVRTC_4BPPV1_Format:35840,RGB_S3TC_DXT1_Format:33776},ic.BasisWorker=function(){let e,t,s;const n=_EngineFormat,i=_TranscoderFormat,a=_BasisFormat;self.addEventListener("message",(function(r){const u=r.data;switch(u.type){case"init":e=u.config,h=u.transcoderBinary,t=new Promise((e=>{s={wasmBinary:h,onRuntimeInitialized:e},BASIS(s)})).then((()=>{s.initializeBasis(),void 0===s.KTX2File&&console.warn("KTX2TextureTranscoder: Please update Basis Universal transcoder.")}));break;case"transcode":t.then((()=>{try{const{width:t,height:r,hasAlpha:h,mipmaps:p,format:A,dfdTransferFn:d,dfdFlags:f}=function(t){const r=new s.KTX2File(new Uint8Array(t));function u(){r.close(),r.delete()}if(!r.isValid())throw u(),new Error("KTX2TextureTranscoder: Invalid or unsupported .ktx2 file");const h=r.isUASTC()?a.UASTC_4x4:a.ETC1S,p=r.getWidth(),A=r.getHeight(),d=r.getLevels(),f=r.getHasAlpha(),I=r.getDFDTransferFunc(),y=r.getDFDFlags(),{transcoderFormat:m,engineFormat:v}=function(t,s,r,u){let h,p;const A=t===a.ETC1S?l:o;for(let n=0;n{delete ac[t],s.destroy()}))),s} /** * @author https://github.com/tmarti, with support from https://tribia.com/ * @license MIT @@ -14,7 +14,7 @@ class e{constructor(e,t){this.items=e||[],this._lastUniqueId=(t||0)+1}addItem(){ /** * @author https://github.com/tmarti, with support from https://tribia.com/ * @license MIT - **/let hc=null;function pc(e,t){const s=3*e,n=3*t;let i,a,r,l,o,c;const u=Math.min(i=hc[s],a=hc[s+1],r=hc[s+2]),h=Math.min(l=hc[n],o=hc[n+1],c=hc[n+2]);if(u!==h)return u-h;const p=Math.max(i,a,r),A=Math.max(l,o,c);return p!==A?p-A:0}let Ac=null;function dc(e,t){let s=Ac[2*e]-Ac[2*t];return 0!==s?s:Ac[2*e+1]-Ac[2*t+1]}function fc(e,t,s=!1){const n=e.positionsCompressed||[],i=function(e,t){const s=new Int32Array(e.length/3);for(let e=0,t=s.length;e>t;s.sort(pc);const n=new Int32Array(e.length);for(let t=0,i=s.length;te[t+1]){let s=e[t];e[t]=e[t+1],e[t+1]=s}Ac=new Int32Array(e),t.sort(dc);const s=new Int32Array(e.length);for(let n=0,i=t.length;nt){let s=e;e=t,t=s}function s(s,n){return s!==e?e-s:n!==t?t-n:0}let n=0,i=(a.length>>1)-1;for(;n<=i;){const e=i+n>>1,t=s(a[2*e],a[2*e+1]);if(t>0)n=e+1;else{if(!(t<0))return e;i=e-1}}return-n-1}const l=new Int32Array(a.length/2);l.fill(0);const o=n.length/3;if(o>8*(1<p.maxNumPositions&&(p=h()),p.bucketNumber>8)return[e];let d;-1===c[o]&&(c[o]=p.numPositions++,p.positionsCompressed.push(n[3*o]),p.positionsCompressed.push(n[3*o+1]),p.positionsCompressed.push(n[3*o+2])),-1===c[u]&&(c[u]=p.numPositions++,p.positionsCompressed.push(n[3*u]),p.positionsCompressed.push(n[3*u+1]),p.positionsCompressed.push(n[3*u+2])),-1===c[A]&&(c[A]=p.numPositions++,p.positionsCompressed.push(n[3*A]),p.positionsCompressed.push(n[3*A+1]),p.positionsCompressed.push(n[3*A+2])),p.indices.push(c[o]),p.indices.push(c[u]),p.indices.push(c[A]),(d=r(o,u))>=0&&0===l[d]&&(l[d]=1,p.edgeIndices.push(c[a[2*d]]),p.edgeIndices.push(c[a[2*d+1]])),(d=r(o,A))>=0&&0===l[d]&&(l[d]=1,p.edgeIndices.push(c[a[2*d]]),p.edgeIndices.push(c[a[2*d+1]])),(d=r(u,A))>=0&&0===l[d]&&(l[d]=1,p.edgeIndices.push(c[a[2*d]]),p.edgeIndices.push(c[a[2*d+1]]))}const A=t/8*2,d=t/8,f=2*n.length+(i.length+a.length)*A;let I=0,y=-n.length/3;return u.forEach((e=>{I+=2*e.positionsCompressed.length+(e.indices.length+e.edgeIndices.length)*d,y+=e.positionsCompressed.length/3})),I>f?[e]:(s&&function(e,t){const s={},n={};let i=0;e.forEach((e=>{const t=e.indices,a=e.edgeIndices,r=e.positionsCompressed;for(let e=0,n=t.length;e0){const e=n._sectionPlanesState.sectionPlanes,s=t.layerIndex*v,i=a.renderFlags;for(let t=0;t0&&(o.bindTriangleIndicesTextures(this._program,this._uTexturePerPolygonIdPortionIds,this._uTexturePerPolygonIdIndices,8),r.drawArrays(r.TRIANGLES,0,l.numIndices8Bits)),l.numIndices16Bits>0&&(o.bindTriangleIndicesTextures(this._program,this._uTexturePerPolygonIdPortionIds,this._uTexturePerPolygonIdIndices,16),r.drawArrays(r.TRIANGLES,0,l.numIndices16Bits)),l.numIndices32Bits>0&&(o.bindTriangleIndicesTextures(this._program,this._uTexturePerPolygonIdPortionIds,this._uTexturePerPolygonIdIndices,32),r.drawArrays(r.TRIANGLES,0,l.numIndices32Bits)),e.drawElements++}_allocate(){const e=this._scene,t=e.canvas.gl,s=e._lightsState;if(this._program=new Fe(t,this._buildShader()),this._program.errors)return this.errors=this._program.errors,void console.error(this.errors);const n=this._program;this._uRenderPass=n.getLocation("renderPass"),this._uLightAmbient=n.getLocation("lightAmbient"),this._uLightColor=[],this._uLightDir=[],this._uLightPos=[],this._uLightAttenuation=[];const i=s.lights;let a;for(let e=0,t=i.length;e0;let i;const a=[];a.push("#version 300 es"),a.push("// TrianglesDataTextureColorRenderer vertex shader"),a.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),a.push("precision highp float;"),a.push("precision highp int;"),a.push("precision highp usampler2D;"),a.push("precision highp isampler2D;"),a.push("precision highp sampler2D;"),a.push("#else"),a.push("precision mediump float;"),a.push("precision mediump int;"),a.push("precision mediump usampler2D;"),a.push("precision mediump isampler2D;"),a.push("precision mediump sampler2D;"),a.push("#endif"),a.push("uniform int renderPass;"),a.push("uniform mat4 sceneModelMatrix;"),a.push("uniform mat4 viewMatrix;"),a.push("uniform mat4 projMatrix;"),a.push("uniform highp sampler2D uObjectPerObjectPositionsDecodeMatrix;"),a.push("uniform highp sampler2D uTexturePerObjectMatrix;"),a.push("uniform lowp usampler2D uObjectPerObjectColorsAndFlags;"),a.push("uniform mediump usampler2D uTexturePerVertexIdCoordinates;"),a.push("uniform highp usampler2D uTexturePerPolygonIdIndices;"),a.push("uniform mediump usampler2D uTexturePerPolygonIdPortionIds;"),a.push("uniform vec3 uCameraEyeRtc;"),a.push("vec3 positions[3];"),e.logarithmicDepthBufferEnabled&&(a.push("uniform float logDepthBufFC;"),a.push("out float vFragDepth;"),a.push("out float isPerspective;")),a.push("bool isPerspectiveMatrix(mat4 m) {"),a.push(" return (m[2][3] == - 1.0);"),a.push("}"),a.push("uniform vec4 lightAmbient;");for(let e=0,t=s.lights.length;e> 3) & 4095;"),a.push("int v_packed_object_id_index = (polygonIndex >> 3) >> 12;"),a.push("int objectIndex = int(texelFetch(uTexturePerPolygonIdPortionIds, ivec2(h_packed_object_id_index, v_packed_object_id_index), 0).r);"),a.push("ivec2 objectIndexCoords = ivec2(objectIndex % 512, objectIndex / 512);"),a.push("uvec4 flags = texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+2, objectIndexCoords.y), 0);"),a.push("uvec4 flags2 = texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+3, objectIndexCoords.y), 0);"),a.push("if (int(flags.x) != renderPass) {"),a.push(" gl_Position = vec4(3.0, 3.0, 3.0, 1.0);"),a.push(" return;"),a.push("} else {"),a.push("ivec4 packedVertexBase = ivec4(texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+4, objectIndexCoords.y), 0));"),a.push("ivec4 packedIndexBaseOffset = ivec4(texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+5, objectIndexCoords.y), 0));"),a.push("int indexBaseOffset = (packedIndexBaseOffset.r << 24) + (packedIndexBaseOffset.g << 16) + (packedIndexBaseOffset.b << 8) + packedIndexBaseOffset.a;"),a.push("int h_index = (polygonIndex - indexBaseOffset) & 4095;"),a.push("int v_index = (polygonIndex - indexBaseOffset) >> 12;"),a.push("ivec3 vertexIndices = ivec3(texelFetch(uTexturePerPolygonIdIndices, ivec2(h_index, v_index), 0));"),a.push("ivec3 uniqueVertexIndexes = vertexIndices + (packedVertexBase.r << 24) + (packedVertexBase.g << 16) + (packedVertexBase.b << 8) + packedVertexBase.a;"),a.push("ivec3 indexPositionH = uniqueVertexIndexes & 4095;"),a.push("ivec3 indexPositionV = uniqueVertexIndexes >> 12;"),a.push("mat4 objectInstanceMatrix = mat4 (texelFetch (uTexturePerObjectMatrix, ivec2(objectIndexCoords.x*4+0, objectIndexCoords.y), 0), texelFetch (uTexturePerObjectMatrix, ivec2(objectIndexCoords.x*4+1, objectIndexCoords.y), 0), texelFetch (uTexturePerObjectMatrix, ivec2(objectIndexCoords.x*4+2, objectIndexCoords.y), 0), texelFetch (uTexturePerObjectMatrix, ivec2(objectIndexCoords.x*4+3, objectIndexCoords.y), 0));"),a.push("mat4 objectDecodeAndInstanceMatrix = objectInstanceMatrix * mat4 (texelFetch (uObjectPerObjectPositionsDecodeMatrix, ivec2(objectIndexCoords.x*4+0, objectIndexCoords.y), 0), texelFetch (uObjectPerObjectPositionsDecodeMatrix, ivec2(objectIndexCoords.x*4+1, objectIndexCoords.y), 0), texelFetch (uObjectPerObjectPositionsDecodeMatrix, ivec2(objectIndexCoords.x*4+2, objectIndexCoords.y), 0), texelFetch (uObjectPerObjectPositionsDecodeMatrix, ivec2(objectIndexCoords.x*4+3, objectIndexCoords.y), 0));"),a.push("uint solid = texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+7, objectIndexCoords.y), 0).r;"),a.push("positions[0] = vec3(texelFetch(uTexturePerVertexIdCoordinates, ivec2(indexPositionH.r, indexPositionV.r), 0));"),a.push("positions[1] = vec3(texelFetch(uTexturePerVertexIdCoordinates, ivec2(indexPositionH.g, indexPositionV.g), 0));"),a.push("positions[2] = vec3(texelFetch(uTexturePerVertexIdCoordinates, ivec2(indexPositionH.b, indexPositionV.b), 0));"),a.push("uvec4 color = texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+0, objectIndexCoords.y), 0);"),a.push("if (color.a == 0u) {"),a.push(" gl_Position = vec4(3.0, 3.0, 3.0, 1.0);"),a.push(" return;"),a.push("};"),a.push("vec3 normal = normalize(cross(positions[2] - positions[0], positions[1] - positions[0]));"),a.push("vec3 position;"),a.push("position = positions[gl_VertexID % 3];"),a.push("vec3 viewNormal = -normalize((transpose(inverse(viewMatrix*objectDecodeAndInstanceMatrix)) * vec4(normal,1)).xyz);"),a.push("if (solid != 1u) {"),a.push("if (isPerspectiveMatrix(projMatrix)) {"),a.push("vec3 uCameraEyeRtcInQuantizedSpace = (inverse(sceneModelMatrix * objectDecodeAndInstanceMatrix) * vec4(uCameraEyeRtc, 1)).xyz;"),a.push("if (dot(position.xyz - uCameraEyeRtcInQuantizedSpace, normal) < 0.0) {"),a.push("position = positions[2 - (gl_VertexID % 3)];"),a.push("viewNormal = -viewNormal;"),a.push("}"),a.push("} else {"),a.push("if (viewNormal.z < 0.0) {"),a.push("position = positions[2 - (gl_VertexID % 3)];"),a.push("viewNormal = -viewNormal;"),a.push("}"),a.push("}"),a.push("}"),a.push("vec4 worldPosition = sceneModelMatrix * ((objectDecodeAndInstanceMatrix * vec4(position, 1.0))); "),a.push("vec4 viewPosition = viewMatrix * worldPosition; "),a.push("vec3 reflectedColor = vec3(0.0, 0.0, 0.0);"),a.push("vec3 viewLightDir = vec3(0.0, 0.0, -1.0);"),a.push("float lambertian = 1.0;");for(let e=0,t=s.lights.length;e0,n=[];if(n.push("#version 300 es"),n.push("// TrianglesDataTextureColorRenderer fragment shader"),n.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),n.push("precision highp float;"),n.push("precision highp int;"),n.push("#else"),n.push("precision mediump float;"),n.push("precision mediump int;"),n.push("#endif"),e.logarithmicDepthBufferEnabled&&(n.push("in float isPerspective;"),n.push("uniform float logDepthBufFC;"),n.push("in float vFragDepth;")),this._withSAO&&(n.push("uniform sampler2D uOcclusionTexture;"),n.push("uniform vec4 uSAOParams;"),n.push("const float packUpscale = 256. / 255.;"),n.push("const float unpackDownScale = 255. / 256.;"),n.push("const vec3 packFactors = vec3( 256. * 256. * 256., 256. * 256., 256. );"),n.push("const vec4 unPackFactors = unpackDownScale / vec4( packFactors, 1. );"),n.push("float unpackRGBToFloat( const in vec4 v ) {"),n.push(" return dot( v, unPackFactors );"),n.push("}")),s){n.push("in vec4 vWorldPosition;"),n.push("flat in uint vFlags2;");for(let e=0,s=t.getNumAllocatedSectionPlanes();e 0u;"),n.push(" if (clippable) {"),n.push(" float dist = 0.0;");for(let e=0,s=t.getNumAllocatedSectionPlanes();e 0.0) { "),n.push(" discard;"),n.push(" }"),n.push("}")}return e.logarithmicDepthBufferEnabled&&n.push(" gl_FragDepth = isPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5;"),this._withSAO?(n.push(" float viewportWidth = uSAOParams[0];"),n.push(" float viewportHeight = uSAOParams[1];"),n.push(" float blendCutoff = uSAOParams[2];"),n.push(" float blendFactor = uSAOParams[3];"),n.push(" vec2 uv = vec2(gl_FragCoord.x / viewportWidth, gl_FragCoord.y / viewportHeight);"),n.push(" float ambient = smoothstep(blendCutoff, 1.0, unpackRGBToFloat(texture(uOcclusionTexture, uv))) * blendFactor;"),n.push(" outColor = vec4(vColor.rgb * ambient, 1.0);")):n.push(" outColor = vColor;"),n.push("}"),n}webglContextRestored(){this._program=null}destroy(){this._program&&this._program.destroy(),this._program=null}}const Ec=new Float32Array([1,1,1]),Tc=A.vec3(),bc=A.vec3(),Dc=A.vec3();A.vec3();const Pc=A.mat4();class Rc{constructor(e,t){this._scene=e,this._hash=this._getHash(),this._allocate()}getValid(){return this._hash===this._getHash()}_getHash(){return this._scene._sectionPlanesState.getHash()}drawLayer(e,t,s){const n=this._scene,i=n.camera,a=t.model,r=n.canvas.gl,l=t._state,o=l.textureState,c=t._state.origin,{position:u,rotationMatrix:h,rotationMatrixConjugate:p}=a,d=i.viewMatrix;if(!this._program&&(this._allocate(),this.errors))return;let f,I;if(e.lastProgramId!==this._program.id&&(e.lastProgramId=this._program.id,this._bindProgram(e,l)),o.bindCommonTextures(this._program,this.uTexturePerObjectPositionsDecodeMatrix,this._uTexturePerVertexIdCoordinates,this.uTexturePerObjectColorsAndFlags,this._uTexturePerObjectMatrix),c||0!==u[0]||0!==u[1]||0!==u[2]){const e=Tc;if(c){const t=bc;A.transformPoint3(h,c,t),e[0]=t[0],e[1]=t[1],e[2]=t[2]}else e[0]=0,e[1]=0,e[2]=0;e[0]+=u[0],e[1]+=u[1],e[2]+=u[2],f=Q(d,e,Pc),I=Dc,I[0]=i.eye[0]-e[0],I[1]=i.eye[1]-e[1],I[2]=i.eye[2]-e[2]}else f=d,I=i.eye;if(r.uniform3fv(this._uCameraEyeRtc,I),r.uniform1i(this._uRenderPass,s),r.uniformMatrix4fv(this._uWorldMatrix,!1,p),r.uniformMatrix4fv(this._uViewMatrix,!1,f),r.uniformMatrix4fv(this._uProjMatrix,!1,i.projMatrix),s===lr.SILHOUETTE_XRAYED){const e=n.xrayMaterial._state,t=e.fillColor,s=e.fillAlpha;r.uniform4f(this._uColor,t[0],t[1],t[2],s)}else if(s===lr.SILHOUETTE_HIGHLIGHTED){const e=n.highlightMaterial._state,t=e.fillColor,s=e.fillAlpha;r.uniform4f(this._uColor,t[0],t[1],t[2],s)}else if(s===lr.SILHOUETTE_SELECTED){const e=n.selectedMaterial._state,t=e.fillColor,s=e.fillAlpha;r.uniform4f(this._uColor,t[0],t[1],t[2],s)}else r.uniform4fv(this._uColor,Ec);if(n.logarithmicDepthBufferEnabled){const t=2/(Math.log(e.pickZFar+1)/Math.LN2);r.uniform1f(this._uLogDepthBufFC,t)}const y=n._sectionPlanesState.getNumAllocatedSectionPlanes(),m=n._sectionPlanesState.sectionPlanes.length;if(y>0){const e=n._sectionPlanesState.sectionPlanes,s=t.layerIndex*m,i=a.renderFlags;for(let t=0;t0&&(o.bindTriangleIndicesTextures(this._program,this._uTexturePerPolygonIdPortionIds,this._uTexturePerPolygonIdIndices,8),r.drawArrays(r.TRIANGLES,0,l.numIndices8Bits)),l.numIndices16Bits>0&&(o.bindTriangleIndicesTextures(this._program,this._uTexturePerPolygonIdPortionIds,this._uTexturePerPolygonIdIndices,16),r.drawArrays(r.TRIANGLES,0,l.numIndices16Bits)),l.numIndices32Bits>0&&(o.bindTriangleIndicesTextures(this._program,this._uTexturePerPolygonIdPortionIds,this._uTexturePerPolygonIdIndices,32),r.drawArrays(r.TRIANGLES,0,l.numIndices32Bits)),e.drawElements++}_allocate(){const e=this._scene,t=e.canvas.gl;if(this._program=new Fe(t,this._buildShader()),this._program.errors)return void(this.errors=this._program.errors);const s=this._program;this._uRenderPass=s.getLocation("renderPass"),this._uColor=s.getLocation("color"),this._uWorldMatrix=s.getLocation("sceneModelMatrix"),this._uViewMatrix=s.getLocation("viewMatrix"),this._uProjMatrix=s.getLocation("projMatrix"),this._uSectionPlanes=[];for(let t=0,n=e._sectionPlanesState.getNumAllocatedSectionPlanes();t0,s=[];return s.push("#version 300 es"),s.push("// Triangles dataTexture silhouette vertex shader"),s.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),s.push("precision highp float;"),s.push("precision highp int;"),s.push("precision highp usampler2D;"),s.push("precision highp isampler2D;"),s.push("precision highp sampler2D;"),s.push("#else"),s.push("precision mediump float;"),s.push("precision mediump int;"),s.push("precision mediump usampler2D;"),s.push("precision mediump isampler2D;"),s.push("precision mediump sampler2D;"),s.push("#endif"),s.push("uniform int renderPass;"),e.entityOffsetsEnabled&&s.push("in vec3 offset;"),s.push("uniform mat4 sceneModelMatrix;"),s.push("uniform mat4 viewMatrix;"),s.push("uniform mat4 projMatrix;"),s.push("uniform highp sampler2D uObjectPerObjectPositionsDecodeMatrix;"),s.push("uniform highp sampler2D uTexturePerObjectMatrix;"),s.push("uniform lowp usampler2D uObjectPerObjectColorsAndFlags;"),s.push("uniform mediump usampler2D uTexturePerVertexIdCoordinates;"),s.push("uniform highp usampler2D uTexturePerPolygonIdIndices;"),s.push("uniform mediump usampler2D uTexturePerPolygonIdPortionIds;"),s.push("uniform vec3 uCameraEyeRtc;"),s.push("vec3 positions[3];"),e.logarithmicDepthBufferEnabled&&(s.push("uniform float logDepthBufFC;"),s.push("out float vFragDepth;"),s.push("out float isPerspective;")),s.push("bool isPerspectiveMatrix(mat4 m) {"),s.push(" return (m[2][3] == - 1.0);"),s.push("}"),t&&(s.push("out vec4 vWorldPosition;"),s.push("flat out uint vFlags2;")),s.push("void main(void) {"),s.push("int polygonIndex = gl_VertexID / 3;"),s.push("int h_packed_object_id_index = (polygonIndex >> 3) & 4095;"),s.push("int v_packed_object_id_index = (polygonIndex >> 3) >> 12;"),s.push("int objectIndex = int(texelFetch(uTexturePerPolygonIdPortionIds, ivec2(h_packed_object_id_index, v_packed_object_id_index), 0).r);"),s.push("ivec2 objectIndexCoords = ivec2(objectIndex % 512, objectIndex / 512);"),s.push("uvec4 flags = texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+2, objectIndexCoords.y), 0);"),s.push("uvec4 flags2 = texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+3, objectIndexCoords.y), 0);"),s.push("if (int(flags.y) != renderPass) {"),s.push(" gl_Position = vec4(3.0, 3.0, 3.0, 1.0);"),s.push(" return;"),s.push("} else {"),s.push("ivec4 packedVertexBase = ivec4(texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+4, objectIndexCoords.y), 0));"),s.push("ivec4 packedIndexBaseOffset = ivec4(texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+5, objectIndexCoords.y), 0));"),s.push("int indexBaseOffset = (packedIndexBaseOffset.r << 24) + (packedIndexBaseOffset.g << 16) + (packedIndexBaseOffset.b << 8) + packedIndexBaseOffset.a;"),s.push("int h_index = (polygonIndex - indexBaseOffset) & 4095;"),s.push("int v_index = (polygonIndex - indexBaseOffset) >> 12;"),s.push("ivec3 vertexIndices = ivec3(texelFetch(uTexturePerPolygonIdIndices, ivec2(h_index, v_index), 0));"),s.push("ivec3 uniqueVertexIndexes = vertexIndices + (packedVertexBase.r << 24) + (packedVertexBase.g << 16) + (packedVertexBase.b << 8) + packedVertexBase.a;"),s.push("ivec3 indexPositionH = uniqueVertexIndexes & 4095;"),s.push("ivec3 indexPositionV = uniqueVertexIndexes >> 12;"),s.push("mat4 objectInstanceMatrix = mat4 (texelFetch (uTexturePerObjectMatrix, ivec2(objectIndexCoords.x*4+0, objectIndexCoords.y), 0), texelFetch (uTexturePerObjectMatrix, ivec2(objectIndexCoords.x*4+1, objectIndexCoords.y), 0), texelFetch (uTexturePerObjectMatrix, ivec2(objectIndexCoords.x*4+2, objectIndexCoords.y), 0), texelFetch (uTexturePerObjectMatrix, ivec2(objectIndexCoords.x*4+3, objectIndexCoords.y), 0));"),s.push("mat4 objectDecodeAndInstanceMatrix = objectInstanceMatrix * mat4 (texelFetch (uObjectPerObjectPositionsDecodeMatrix, ivec2(objectIndexCoords.x*4+0, objectIndexCoords.y), 0), texelFetch (uObjectPerObjectPositionsDecodeMatrix, ivec2(objectIndexCoords.x*4+1, objectIndexCoords.y), 0), texelFetch (uObjectPerObjectPositionsDecodeMatrix, ivec2(objectIndexCoords.x*4+2, objectIndexCoords.y), 0), texelFetch (uObjectPerObjectPositionsDecodeMatrix, ivec2(objectIndexCoords.x*4+3, objectIndexCoords.y), 0));"),s.push("uint solid = texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+7, objectIndexCoords.y), 0).r;"),s.push("positions[0] = vec3(texelFetch(uTexturePerVertexIdCoordinates, ivec2(indexPositionH.r, indexPositionV.r), 0));"),s.push("positions[1] = vec3(texelFetch(uTexturePerVertexIdCoordinates, ivec2(indexPositionH.g, indexPositionV.g), 0));"),s.push("positions[2] = vec3(texelFetch(uTexturePerVertexIdCoordinates, ivec2(indexPositionH.b, indexPositionV.b), 0));"),s.push("vec3 normal = normalize(cross(positions[2] - positions[0], positions[1] - positions[0]));"),s.push("vec3 position;"),s.push("position = positions[gl_VertexID % 3];"),s.push("vec3 viewNormal = -normalize((transpose(inverse(viewMatrix*objectDecodeAndInstanceMatrix)) * vec4(normal,1)).xyz);"),s.push("if (solid != 1u) {"),s.push("if (isPerspectiveMatrix(projMatrix)) {"),s.push("vec3 uCameraEyeRtcInQuantizedSpace = (inverse(sceneModelMatrix * objectDecodeAndInstanceMatrix) * vec4(uCameraEyeRtc, 1)).xyz;"),s.push("if (dot(position.xyz - uCameraEyeRtcInQuantizedSpace, normal) < 0.0) {"),s.push("position = positions[2 - (gl_VertexID % 3)];"),s.push("viewNormal = -viewNormal;"),s.push("}"),s.push("} else {"),s.push("if (viewNormal.z < 0.0) {"),s.push("position = positions[2 - (gl_VertexID % 3)];"),s.push("viewNormal = -viewNormal;"),s.push("}"),s.push("}"),s.push("}"),s.push("vec4 worldPosition = sceneModelMatrix * (objectDecodeAndInstanceMatrix * vec4(position, 1.0)); "),s.push("vec4 viewPosition = viewMatrix * worldPosition; "),s.push("vec4 clipPos = projMatrix * viewPosition;"),e.logarithmicDepthBufferEnabled&&(s.push("vFragDepth = 1.0 + clipPos.w;"),s.push("isPerspective = float (isPerspectiveMatrix(projMatrix));")),t&&(s.push("vWorldPosition = worldPosition;"),s.push("vFlags2 = flags2.r;")),s.push("gl_Position = clipPos;"),s.push("}"),s.push("}"),s}_buildFragmentShader(){const e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,s=[];if(s.push("#version 300 es"),s.push("// Triangles dataTexture draw fragment shader"),s.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),s.push("precision highp float;"),s.push("precision highp int;"),s.push("#else"),s.push("precision mediump float;"),s.push("precision mediump int;"),s.push("#endif"),e.logarithmicDepthBufferEnabled&&(s.push("in float isPerspective;"),s.push("uniform float logDepthBufFC;"),s.push("in float vFragDepth;")),t){s.push("in vec4 vWorldPosition;"),s.push("flat in uint vFlags2;");for(let t=0,n=e._sectionPlanesState.getNumAllocatedSectionPlanes();t 0u;"),s.push(" if (clippable) {"),s.push(" float dist = 0.0;");for(let t=0,n=e._sectionPlanesState.getNumAllocatedSectionPlanes();t 0.0) { "),s.push(" discard;"),s.push(" }"),s.push("}")}return e.logarithmicDepthBufferEnabled&&s.push(" gl_FragDepth = isPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5;"),s.push(" outColor = color;"),s.push("}"),s}webglContextRestored(){this._program=null}destroy(){this._program&&this._program.destroy(),this._program=null}}const Cc=new Float32Array([0,0,0,1]),_c=A.vec3(),Bc=A.vec3();A.vec3();const Oc=A.mat4();class Sc{constructor(e){this._scene=e,this._hash=this._getHash(),this._allocate()}getValid(){return this._hash===this._getHash()}_getHash(){return this._scene._sectionPlanesState.getHash()}drawLayer(e,t,s){const n=t.model,i=n.scene,a=i.camera,r=i.canvas.gl,l=t._state,o=l.textureState,c=t._state.origin,{position:u,rotationMatrix:h,rotationMatrixConjugate:p}=n,d=a.viewMatrix;if(!this._program&&(this._allocate(t),this.errors))return;let f;e.lastProgramId!==this._program.id&&(e.lastProgramId=this._program.id,this._bindProgram()),o.bindCommonTextures(this._program,this.uTexturePerObjectPositionsDecodeMatrix,this._uTexturePerVertexIdCoordinates,this.uTexturePerObjectColorsAndFlags,this._uTexturePerObjectMatrix);const I=0!==c[0]||0!==c[1]||0!==c[2],y=0!==u[0]||0!==u[1]||0!==u[2];if(I||y){const e=_c;if(I){const t=A.transformPoint3(h,c,Bc);e[0]=t[0],e[1]=t[1],e[2]=t[2]}else e[0]=0,e[1]=0,e[2]=0;e[0]+=u[0],e[1]+=u[1],e[2]+=u[2],f=Q(d,e,Oc)}else f=d;if(r.uniform1i(this._uRenderPass,s),r.uniformMatrix4fv(this._uSceneModelMatrix,!1,p),r.uniformMatrix4fv(this._uViewMatrix,!1,f),r.uniformMatrix4fv(this._uProjMatrix,!1,a.projMatrix),s===lr.EDGES_XRAYED){const e=i.xrayMaterial._state,t=e.edgeColor,s=e.edgeAlpha;r.uniform4f(this._uColor,t[0],t[1],t[2],s)}else if(s===lr.EDGES_HIGHLIGHTED){const e=i.highlightMaterial._state,t=e.edgeColor,s=e.edgeAlpha;r.uniform4f(this._uColor,t[0],t[1],t[2],s)}else if(s===lr.EDGES_SELECTED){const e=i.selectedMaterial._state,t=e.edgeColor,s=e.edgeAlpha;r.uniform4f(this._uColor,t[0],t[1],t[2],s)}else r.uniform4fv(this._uColor,Cc);const m=i._sectionPlanesState.getNumAllocatedSectionPlanes(),v=i._sectionPlanesState.sectionPlanes.length;if(m>0){const e=i._sectionPlanesState.sectionPlanes,s=t.layerIndex*v,a=n.renderFlags;for(let t=0;t0&&(o.bindEdgeIndicesTextures(this._program,this._uTexturePerEdgeIdPortionIds,this._uTexturePerPolygonIdEdgeIndices,8),r.drawArrays(r.LINES,0,l.numEdgeIndices8Bits)),l.numEdgeIndices16Bits>0&&(o.bindEdgeIndicesTextures(this._program,this._uTexturePerEdgeIdPortionIds,this._uTexturePerPolygonIdEdgeIndices,16),r.drawArrays(r.LINES,0,l.numEdgeIndices16Bits)),l.numEdgeIndices32Bits>0&&(o.bindEdgeIndicesTextures(this._program,this._uTexturePerEdgeIdPortionIds,this._uTexturePerPolygonIdEdgeIndices,32),r.drawArrays(r.LINES,0,l.numEdgeIndices32Bits)),e.drawElements++}_allocate(){const e=this._scene,t=e.canvas.gl;if(this._program=new Fe(t,this._buildShader()),this._program.errors)return void(this.errors=this._program.errors);const s=this._program;this._uRenderPass=s.getLocation("renderPass"),this._uColor=s.getLocation("color"),this._uSceneModelMatrix=s.getLocation("sceneModelMatrix"),this._uWorldMatrix=s.getLocation("worldMatrix"),this._uViewMatrix=s.getLocation("viewMatrix"),this._uProjMatrix=s.getLocation("projMatrix"),this._uSectionPlanes=[];for(let t=0,n=e._sectionPlanesState.getNumAllocatedSectionPlanes();t0,s=[];return s.push("#version 300 es"),s.push("// Batched geometry edges drawing vertex shader"),s.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),s.push("precision highp float;"),s.push("precision highp int;"),s.push("precision highp usampler2D;"),s.push("precision highp isampler2D;"),s.push("precision highp sampler2D;"),s.push("#else"),s.push("precision mediump float;"),s.push("precision mediump int;"),s.push("precision mediump usampler2D;"),s.push("precision mediump isampler2D;"),s.push("precision mediump sampler2D;"),s.push("#endif"),s.push("uniform int renderPass;"),s.push("uniform mat4 sceneModelMatrix;"),s.push("uniform mat4 viewMatrix;"),s.push("uniform mat4 projMatrix;"),s.push("uniform highp sampler2D uObjectPerObjectPositionsDecodeMatrix;"),s.push("uniform highp sampler2D uTexturePerObjectMatrix;"),s.push("uniform lowp usampler2D uObjectPerObjectColorsAndFlags;"),s.push("uniform mediump usampler2D uTexturePerVertexIdCoordinates;"),s.push("uniform highp usampler2D uTexturePerPolygonIdEdgeIndices;"),s.push("uniform mediump usampler2D uTexturePerEdgeIdPortionIds;"),s.push("uniform vec4 color;"),e.logarithmicDepthBufferEnabled&&(s.push("uniform float logDepthBufFC;"),s.push("out float vFragDepth;"),s.push("bool isPerspectiveMatrix(mat4 m) {"),s.push(" return (m[2][3] == - 1.0);"),s.push("}"),s.push("out float isPerspective;")),t&&(s.push("out vec4 vWorldPosition;"),s.push("flat out uint vFlags2;")),s.push("out vec4 vColor;"),s.push("void main(void) {"),s.push("int edgeIndex = gl_VertexID / 2;"),s.push("int h_packed_object_id_index = (edgeIndex >> 3) & 4095;"),s.push("int v_packed_object_id_index = (edgeIndex >> 3) >> 12;"),s.push("int objectIndex = int(texelFetch(uTexturePerEdgeIdPortionIds, ivec2(h_packed_object_id_index, v_packed_object_id_index), 0).r);"),s.push("ivec2 objectIndexCoords = ivec2(objectIndex % 512, objectIndex / 512);"),s.push("uvec4 flags = texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+2, objectIndexCoords.y), 0);"),s.push("uvec4 flags2 = texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+3, objectIndexCoords.y), 0);"),s.push("if (int(flags.z) != renderPass) {"),s.push(" gl_Position = vec4(3.0, 3.0, 3.0, 1.0);"),s.push(" return;"),s.push("} else {"),s.push("ivec4 packedVertexBase = ivec4(texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+4, objectIndexCoords.y), 0));"),s.push("ivec4 packedEdgeIndexBaseOffset = ivec4(texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+6, objectIndexCoords.y), 0));"),s.push("int edgeIndexBaseOffset = (packedEdgeIndexBaseOffset.r << 24) + (packedEdgeIndexBaseOffset.g << 16) + (packedEdgeIndexBaseOffset.b << 8) + packedEdgeIndexBaseOffset.a;"),s.push("int h_index = (edgeIndex - edgeIndexBaseOffset) & 4095;"),s.push("int v_index = (edgeIndex - edgeIndexBaseOffset) >> 12;"),s.push("ivec3 vertexIndices = ivec3(texelFetch(uTexturePerPolygonIdEdgeIndices, ivec2(h_index, v_index), 0));"),s.push("ivec3 uniqueVertexIndexes = vertexIndices + (packedVertexBase.r << 24) + (packedVertexBase.g << 16) + (packedVertexBase.b << 8) + packedVertexBase.a;"),s.push("int indexPositionH = uniqueVertexIndexes[gl_VertexID % 2] & 4095;"),s.push("int indexPositionV = uniqueVertexIndexes[gl_VertexID % 2] >> 12;"),s.push("mat4 objectInstanceMatrix = mat4 (texelFetch (uTexturePerObjectMatrix, ivec2(objectIndexCoords.x*4+0, objectIndexCoords.y), 0), texelFetch (uTexturePerObjectMatrix, ivec2(objectIndexCoords.x*4+1, objectIndexCoords.y), 0), texelFetch (uTexturePerObjectMatrix, ivec2(objectIndexCoords.x*4+2, objectIndexCoords.y), 0), texelFetch (uTexturePerObjectMatrix, ivec2(objectIndexCoords.x*4+3, objectIndexCoords.y), 0));"),s.push("mat4 objectDecodeAndInstanceMatrix = objectInstanceMatrix * mat4 (texelFetch (uObjectPerObjectPositionsDecodeMatrix, ivec2(objectIndexCoords.x*4+0, objectIndexCoords.y), 0), texelFetch (uObjectPerObjectPositionsDecodeMatrix, ivec2(objectIndexCoords.x*4+1, objectIndexCoords.y), 0), texelFetch (uObjectPerObjectPositionsDecodeMatrix, ivec2(objectIndexCoords.x*4+2, objectIndexCoords.y), 0), texelFetch (uObjectPerObjectPositionsDecodeMatrix, ivec2(objectIndexCoords.x*4+3, objectIndexCoords.y), 0));"),s.push("uvec4 flags = texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+2, objectIndexCoords.y), 0);"),s.push("uvec4 flags2 = texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+3, objectIndexCoords.y), 0);"),s.push("vec3 position = vec3(texelFetch(uTexturePerVertexIdCoordinates, ivec2(indexPositionH, indexPositionV), 0));"),s.push("mat4 matrix = mat4 (texelFetch (uTexturePerObjectMatrix, ivec2(objectIndexCoords.x*4+0, objectIndexCoords.y), 0), texelFetch (uTexturePerObjectMatrix, ivec2(objectIndexCoords.x*4+1, objectIndexCoords.y), 0), texelFetch (uTexturePerObjectMatrix, ivec2(objectIndexCoords.x*4+2, objectIndexCoords.y), 0), texelFetch (uTexturePerObjectMatrix, ivec2(objectIndexCoords.x*4+3, objectIndexCoords.y), 0));"),s.push("vec4 worldPosition = sceneModelMatrix * (objectDecodeAndInstanceMatrix * vec4(position, 1.0)); "),s.push("vec4 viewPosition = viewMatrix * worldPosition; "),t&&(s.push(" vWorldPosition = worldPosition;"),s.push(" vFlags2 = flags2.r;")),s.push("vec4 clipPos = projMatrix * viewPosition;"),e.logarithmicDepthBufferEnabled&&(s.push("vFragDepth = 1.0 + clipPos.w;"),s.push("isPerspective = float (isPerspectiveMatrix(projMatrix));")),s.push("gl_Position = clipPos;"),s.push("vColor = vec4(color.r, color.g, color.b, color.a);"),s.push("}"),s.push("}"),s}_buildFragmentShader(){const e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,s=[];if(s.push("#version 300 es"),s.push("// Batched geometry edges drawing fragment shader"),e.logarithmicDepthBufferEnabled&&s.push("#extension GL_EXT_frag_depth : enable"),s.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),s.push("precision highp float;"),s.push("precision highp int;"),s.push("#else"),s.push("precision mediump float;"),s.push("precision mediump int;"),s.push("#endif"),e.logarithmicDepthBufferEnabled&&(s.push("in float isPerspective;"),s.push("uniform float logDepthBufFC;"),s.push("in float vFragDepth;")),t){s.push("in vec4 vWorldPosition;"),s.push("flat in uint vFlags2;");for(let t=0,n=e._sectionPlanesState.getNumAllocatedSectionPlanes();t 0u;"),s.push(" if (clippable) {"),s.push(" float dist = 0.0;");for(let t=0,n=e._sectionPlanesState.getNumAllocatedSectionPlanes();t 0.0) { discard; }"),s.push("}")}return e.logarithmicDepthBufferEnabled&&s.push(" gl_FragDepth = isPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5;"),s.push(" outColor = vColor;"),s.push("}"),s}webglContextRestored(){this._program=null}destroy(){this._program&&this._program.destroy(),this._program=null}}const Nc=A.vec3(),xc=A.vec3();A.vec3();const Lc=A.mat4();class Mc{constructor(e){this._scene=e,this._hash=this._getHash(),this._allocate()}getValid(){return this._hash===this._getHash()}_getHash(){return this._scene._sectionPlanesState.getHash()}drawLayer(e,t,s){const n=t.model,i=n.scene,a=i.camera,r=i.canvas.gl,l=t._state,o=l.textureState,c=t._state.origin,{position:u,rotationMatrix:h,rotationMatrixConjugate:p}=n,d=a.viewMatrix;if(!this._program&&(this._allocate(),this.errors))return;let f;e.lastProgramId!==this._program.id&&(e.lastProgramId=this._program.id,this._bindProgram()),o.bindCommonTextures(this._program,this.uTexturePerObjectPositionsDecodeMatrix,this._uTexturePerVertexIdCoordinates,this.uTexturePerObjectColorsAndFlags,this._uTexturePerObjectMatrix);const I=0!==c[0]||0!==c[1]||0!==c[2],y=0!==u[0]||0!==u[1]||0!==u[2];if(I||y){const e=Nc;if(I){const t=A.transformPoint3(h,c,xc);e[0]=t[0],e[1]=t[1],e[2]=t[2]}else e[0]=0,e[1]=0,e[2]=0;e[0]+=u[0],e[1]+=u[1],e[2]+=u[2],f=Q(d,e,Lc)}else f=d;r.uniform1i(this._uRenderPass,s),r.uniformMatrix4fv(this._uSceneModelMatrix,!1,p),r.uniformMatrix4fv(this._uViewMatrix,!1,f),r.uniformMatrix4fv(this._uProjMatrix,!1,a.projMatrix);const m=i._sectionPlanesState.getNumAllocatedSectionPlanes(),v=i._sectionPlanesState.sectionPlanes.length;if(m>0){const e=i._sectionPlanesState.sectionPlanes,s=t.layerIndex*v,a=n.renderFlags;for(let t=0;t0&&(o.bindEdgeIndicesTextures(this._program,this._uTexturePerEdgeIdPortionIds,this._uTexturePerPolygonIdEdgeIndices,8),r.drawArrays(r.LINES,0,l.numEdgeIndices8Bits)),l.numEdgeIndices16Bits>0&&(o.bindEdgeIndicesTextures(this._program,this._uTexturePerEdgeIdPortionIds,this._uTexturePerPolygonIdEdgeIndices,16),r.drawArrays(r.LINES,0,l.numEdgeIndices16Bits)),l.numEdgeIndices32Bits>0&&(o.bindEdgeIndicesTextures(this._program,this._uTexturePerEdgeIdPortionIds,this._uTexturePerPolygonIdEdgeIndices,32),r.drawArrays(r.LINES,0,l.numEdgeIndices32Bits)),e.drawElements++}_allocate(){const e=this._scene,t=e.canvas.gl;if(this._program=new Fe(t,this._buildShader()),this._program.errors)return void(this.errors=this._program.errors);const s=this._program;this._uRenderPass=s.getLocation("renderPass"),this._uSceneModelMatrix=s.getLocation("sceneModelMatrix"),this._uViewMatrix=s.getLocation("viewMatrix"),this._uProjMatrix=s.getLocation("projMatrix"),this._uSectionPlanes=[];for(let t=0,n=e._sectionPlanesState.getNumAllocatedSectionPlanes();t0,s=[];return s.push("#version 300 es"),s.push("// TrianglesDataTextureEdgesColorRenderer"),s.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),s.push("precision highp float;"),s.push("precision highp int;"),s.push("precision highp usampler2D;"),s.push("precision highp isampler2D;"),s.push("precision highp sampler2D;"),s.push("#else"),s.push("precision mediump float;"),s.push("precision mediump int;"),s.push("precision mediump usampler2D;"),s.push("precision mediump isampler2D;"),s.push("precision mediump sampler2D;"),s.push("#endif"),s.push("uniform int renderPass;"),e.entityOffsetsEnabled,s.push("uniform mat4 sceneModelMatrix;"),s.push("uniform mat4 viewMatrix;"),s.push("uniform mat4 projMatrix;"),s.push("uniform highp sampler2D uObjectPerObjectPositionsDecodeMatrix;"),s.push("uniform highp sampler2D uTexturePerObjectMatrix;"),s.push("uniform lowp usampler2D uObjectPerObjectColorsAndFlags;"),s.push("uniform highp sampler2D uObjectPerObjectOffsets;"),s.push("uniform mediump usampler2D uTexturePerVertexIdCoordinates;"),s.push("uniform highp usampler2D uTexturePerPolygonIdEdgeIndices;"),s.push("uniform mediump usampler2D uTexturePerEdgeIdPortionIds;"),e.logarithmicDepthBufferEnabled&&(s.push("uniform float logDepthBufFC;"),s.push("out float vFragDepth;"),s.push("bool isPerspectiveMatrix(mat4 m) {"),s.push(" return (m[2][3] == - 1.0);"),s.push("}"),s.push("out float isPerspective;")),t&&(s.push("out vec4 vWorldPosition;"),s.push("flat out uint vFlags2;")),s.push("out vec4 vColor;"),s.push("void main(void) {"),s.push("int edgeIndex = gl_VertexID / 2;"),s.push("int h_packed_object_id_index = (edgeIndex >> 3) & 4095;"),s.push("int v_packed_object_id_index = (edgeIndex >> 3) >> 12;"),s.push("int objectIndex = int(texelFetch(uTexturePerEdgeIdPortionIds, ivec2(h_packed_object_id_index, v_packed_object_id_index), 0).r);"),s.push("ivec2 objectIndexCoords = ivec2(objectIndex % 512, objectIndex / 512);"),s.push("uvec4 flags = texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+2, objectIndexCoords.y), 0);"),s.push("uvec4 flags2 = texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+3, objectIndexCoords.y), 0);"),s.push("if (int(flags.z) != renderPass) {"),s.push(" gl_Position = vec4(3.0, 3.0, 3.0, 1.0);"),s.push(" return;"),s.push("} else {"),s.push("ivec4 packedVertexBase = ivec4(texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+4, objectIndexCoords.y), 0));"),s.push("ivec4 packedEdgeIndexBaseOffset = ivec4(texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+6, objectIndexCoords.y), 0));"),s.push("int edgeIndexBaseOffset = (packedEdgeIndexBaseOffset.r << 24) + (packedEdgeIndexBaseOffset.g << 16) + (packedEdgeIndexBaseOffset.b << 8) + packedEdgeIndexBaseOffset.a;"),s.push("int h_index = (edgeIndex - edgeIndexBaseOffset) & 4095;"),s.push("int v_index = (edgeIndex - edgeIndexBaseOffset) >> 12;"),s.push("ivec3 vertexIndices = ivec3(texelFetch(uTexturePerPolygonIdEdgeIndices, ivec2(h_index, v_index), 0));"),s.push("ivec3 uniqueVertexIndexes = vertexIndices + (packedVertexBase.r << 24) + (packedVertexBase.g << 16) + (packedVertexBase.b << 8) + packedVertexBase.a;"),s.push("int indexPositionH = uniqueVertexIndexes[gl_VertexID % 2] & 4095;"),s.push("int indexPositionV = uniqueVertexIndexes[gl_VertexID % 2] >> 12;"),s.push("mat4 objectInstanceMatrix = mat4 (texelFetch (uTexturePerObjectMatrix, ivec2(objectIndexCoords.x*4+0, objectIndexCoords.y), 0), texelFetch (uTexturePerObjectMatrix, ivec2(objectIndexCoords.x*4+1, objectIndexCoords.y), 0), texelFetch (uTexturePerObjectMatrix, ivec2(objectIndexCoords.x*4+2, objectIndexCoords.y), 0), texelFetch (uTexturePerObjectMatrix, ivec2(objectIndexCoords.x*4+3, objectIndexCoords.y), 0));"),s.push("mat4 objectDecodeAndInstanceMatrix = objectInstanceMatrix * mat4 (texelFetch (uObjectPerObjectPositionsDecodeMatrix, ivec2(objectIndexCoords.x*4+0, objectIndexCoords.y), 0), texelFetch (uObjectPerObjectPositionsDecodeMatrix, ivec2(objectIndexCoords.x*4+1, objectIndexCoords.y), 0), texelFetch (uObjectPerObjectPositionsDecodeMatrix, ivec2(objectIndexCoords.x*4+2, objectIndexCoords.y), 0), texelFetch (uObjectPerObjectPositionsDecodeMatrix, ivec2(objectIndexCoords.x*4+3, objectIndexCoords.y), 0));"),s.push("uvec4 flags = texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+2, objectIndexCoords.y), 0);"),s.push("uvec4 flags2 = texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+3, objectIndexCoords.y), 0);"),s.push("vec3 position = vec3(texelFetch(uTexturePerVertexIdCoordinates, ivec2(indexPositionH, indexPositionV), 0));"),s.push("uvec4 color = texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+0, objectIndexCoords.y), 0);"),s.push("if (color.a == 0u) {"),s.push(" gl_Position = vec4(3.0, 3.0, 3.0, 1.0);"),s.push(" return;"),s.push("};"),s.push("vec4 worldPosition = sceneModelMatrix * (objectDecodeAndInstanceMatrix * vec4(position, 1.0)); "),s.push("vec4 viewPosition = viewMatrix * worldPosition; "),t&&(s.push(" vWorldPosition = worldPosition;"),s.push(" vFlags2 = flags2.r;")),s.push("vec4 clipPos = projMatrix * viewPosition;"),e.logarithmicDepthBufferEnabled&&(s.push("vFragDepth = 1.0 + clipPos.w;"),s.push("isPerspective = float (isPerspectiveMatrix(projMatrix));")),s.push("gl_Position = clipPos;"),s.push("vec4 rgb = vec4(color.rgba);"),s.push("vColor = vec4(float(rgb.r*0.5) / 255.0, float(rgb.g*0.5) / 255.0, float(rgb.b*0.5) / 255.0, float(rgb.a) / 255.0);"),s.push("}"),s.push("}"),s}_buildFragmentShader(){const e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,s=[];if(s.push("#version 300 es"),s.push("// TrianglesDataTextureEdgesColorRenderer"),s.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),s.push("precision highp float;"),s.push("precision highp int;"),s.push("#else"),s.push("precision mediump float;"),s.push("precision mediump int;"),s.push("#endif"),e.logarithmicDepthBufferEnabled&&(s.push("in float isPerspective;"),s.push("uniform float logDepthBufFC;"),s.push("in float vFragDepth;")),t){s.push("in vec4 vWorldPosition;"),s.push("flat in uint vFlags2;");for(let t=0,n=e._sectionPlanesState.getNumAllocatedSectionPlanes();t 0u;"),s.push(" if (clippable) {"),s.push(" float dist = 0.0;");for(let t=0,n=e._sectionPlanesState.getNumAllocatedSectionPlanes();t 0.0) { discard; }"),s.push("}")}return e.logarithmicDepthBufferEnabled&&s.push(" gl_FragDepth = isPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5;"),s.push(" outColor = vColor;"),s.push("}"),s}webglContextRestored(){this._program=null}destroy(){this._program&&this._program.destroy(),this._program=null}}const Fc=A.vec3(),Hc=A.vec3(),Uc=A.vec3(),Gc=A.mat4();class jc{constructor(e){this._scene=e,this._hash=this._getHash(),this._allocate()}getValid(){return this._hash===this._getHash()}_getHash(){return this._scene._sectionPlanesState.getHash()}drawLayer(e,t,s){if(!this._program&&(this._allocate(t),this.errors))return;e.lastProgramId!==this._program.id&&(e.lastProgramId=this._program.id,this._bindProgram(e));const n=t.model,i=n.scene,a=i.camera,r=i.canvas.gl,l=t._state,o=l.textureState,c=t._state.origin,{position:u,rotationMatrix:h,rotationMatrixConjugate:p}=n;let d,f;o.bindCommonTextures(this._program,this.uTexturePerObjectPositionsDecodeMatrix,this._uTexturePerVertexIdCoordinates,this.uTexturePerObjectColorsAndFlags,this._uTexturePerObjectMatrix);const I=0!==c[0]||0!==c[1]||0!==c[2],y=0!==u[0]||0!==u[1]||0!==u[2];if(I||y){const e=Fc;if(I){const t=A.transformPoint3(h,c,Hc);e[0]=t[0],e[1]=t[1],e[2]=t[2]}else e[0]=0,e[1]=0,e[2]=0;e[0]+=u[0],e[1]+=u[1],e[2]+=u[2],d=Q(a.viewMatrix,e,Gc),f=Uc,f[0]=a.eye[0]-e[0],f[1]=a.eye[1]-e[1],f[2]=a.eye[2]-e[2]}else d=a.viewMatrix,f=a.eye;if(r.uniform2fv(this._uPickClipPos,e.pickClipPos),r.uniform2f(this._uDrawingBufferSize,r.drawingBufferWidth,r.drawingBufferHeight),r.uniformMatrix4fv(this._uSceneModelMatrix,!1,p),r.uniformMatrix4fv(this._uViewMatrix,!1,d),r.uniformMatrix4fv(this._uProjMatrix,!1,a.projMatrix),r.uniform3fv(this._uCameraEyeRtc,f),r.uniform1i(this._uRenderPass,s),i.logarithmicDepthBufferEnabled){const e=2/(Math.log(a.project.far+1)/Math.LN2);r.uniform1f(this._uLogDepthBufFC,e)}const m=i._sectionPlanesState.getNumAllocatedSectionPlanes(),v=i._sectionPlanesState.sectionPlanes.length;if(m>0){const e=i._sectionPlanesState.sectionPlanes,s=t.layerIndex*v,a=n.renderFlags;for(let t=0;t0&&(o.bindTriangleIndicesTextures(this._program,this._uTexturePerPolygonIdPortionIds,this._uTexturePerPolygonIdIndices,8),r.drawArrays(r.TRIANGLES,0,l.numIndices8Bits)),l.numIndices16Bits>0&&(o.bindTriangleIndicesTextures(this._program,this._uTexturePerPolygonIdPortionIds,this._uTexturePerPolygonIdIndices,16),r.drawArrays(r.TRIANGLES,0,l.numIndices16Bits)),l.numIndices32Bits>0&&(o.bindTriangleIndicesTextures(this._program,this._uTexturePerPolygonIdPortionIds,this._uTexturePerPolygonIdIndices,32),r.drawArrays(r.TRIANGLES,0,l.numIndices32Bits)),e.drawElements++}_allocate(){const e=this._scene,t=e.canvas.gl;if(this._program=new Fe(t,this._buildShader()),this._program.errors)return void(this.errors=this._program.errors);const s=this._program;this._uRenderPass=s.getLocation("renderPass"),this._uPickInvisible=s.getLocation("pickInvisible"),this._uPickClipPos=s.getLocation("pickClipPos"),this._uDrawingBufferSize=s.getLocation("drawingBufferSize"),this._uSceneModelMatrix=s.getLocation("sceneModelMatrix"),this._uViewMatrix=s.getLocation("viewMatrix"),this._uProjMatrix=s.getLocation("projMatrix"),this._uSectionPlanes=[];for(let t=0,n=e._sectionPlanesState.getNumAllocatedSectionPlanes();t0,s=[];return s.push("#version 300 es"),s.push("// Batched geometry picking vertex shader"),s.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),s.push("precision highp float;"),s.push("precision highp int;"),s.push("precision highp usampler2D;"),s.push("precision highp isampler2D;"),s.push("precision highp sampler2D;"),s.push("#else"),s.push("precision mediump float;"),s.push("precision mediump int;"),s.push("precision mediump usampler2D;"),s.push("precision mediump isampler2D;"),s.push("precision mediump sampler2D;"),s.push("#endif"),s.push("uniform int renderPass;"),e.entityOffsetsEnabled&&s.push("in vec3 offset;"),s.push("uniform mat4 sceneModelMatrix;"),s.push("uniform mat4 viewMatrix;"),s.push("uniform mat4 projMatrix;"),s.push("uniform bool pickInvisible;"),s.push("uniform highp sampler2D uObjectPerObjectPositionsDecodeMatrix;"),s.push("uniform highp sampler2D uTexturePerObjectMatrix;"),s.push("uniform lowp usampler2D uObjectPerObjectColorsAndFlags;"),s.push("uniform mediump usampler2D uTexturePerVertexIdCoordinates;"),s.push("uniform highp usampler2D uTexturePerPolygonIdIndices;"),s.push("uniform mediump usampler2D uTexturePerPolygonIdPortionIds;"),s.push("uniform vec3 uCameraEyeRtc;"),s.push("vec3 positions[3];"),e.logarithmicDepthBufferEnabled&&(s.push("uniform float logDepthBufFC;"),s.push("out float vFragDepth;"),s.push("out float isPerspective;")),s.push("uniform vec2 pickClipPos;"),s.push("uniform vec2 drawingBufferSize;"),s.push("vec4 remapClipPos(vec4 clipPos) {"),s.push(" clipPos.xy /= clipPos.w;"),s.push(" clipPos.xy = (clipPos.xy - pickClipPos) * drawingBufferSize;"),s.push(" clipPos.xy *= clipPos.w;"),s.push(" return clipPos;"),s.push("}"),s.push("bool isPerspectiveMatrix(mat4 m) {"),s.push(" return (m[2][3] == - 1.0);"),s.push("}"),t&&(s.push("smooth out vec4 vWorldPosition;"),s.push("flat out uvec4 vFlags2;")),s.push("out vec4 vPickColor;"),s.push("void main(void) {"),s.push("int polygonIndex = gl_VertexID / 3;"),s.push("int h_packed_object_id_index = (polygonIndex >> 3) & 4095;"),s.push("int v_packed_object_id_index = (polygonIndex >> 3) >> 12;"),s.push("int objectIndex = int(texelFetch(uTexturePerPolygonIdPortionIds, ivec2(h_packed_object_id_index, v_packed_object_id_index), 0).r);"),s.push("ivec2 objectIndexCoords = ivec2(objectIndex % 512, objectIndex / 512);"),s.push("uvec4 flags = texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+2, objectIndexCoords.y), 0);"),s.push("uvec4 flags2 = texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+3, objectIndexCoords.y), 0);"),s.push("if (int(flags.w) != renderPass) {"),s.push(" gl_Position = vec4(3.0, 3.0, 3.0, 1.0);"),s.push(" return;"),s.push("} else {"),s.push("ivec4 packedVertexBase = ivec4(texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+4, objectIndexCoords.y), 0));"),s.push("ivec4 packedIndexBaseOffset = ivec4(texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+5, objectIndexCoords.y), 0));"),s.push("int indexBaseOffset = (packedIndexBaseOffset.r << 24) + (packedIndexBaseOffset.g << 16) + (packedIndexBaseOffset.b << 8) + packedIndexBaseOffset.a;"),s.push("int h_index = (polygonIndex - indexBaseOffset) & 4095;"),s.push("int v_index = (polygonIndex - indexBaseOffset) >> 12;"),s.push("ivec3 vertexIndices = ivec3(texelFetch(uTexturePerPolygonIdIndices, ivec2(h_index, v_index), 0));"),s.push("ivec3 uniqueVertexIndexes = vertexIndices + (packedVertexBase.r << 24) + (packedVertexBase.g << 16) + (packedVertexBase.b << 8) + packedVertexBase.a;"),s.push("ivec3 indexPositionH = uniqueVertexIndexes & 4095;"),s.push("ivec3 indexPositionV = uniqueVertexIndexes >> 12;"),s.push("mat4 objectInstanceMatrix = mat4 (texelFetch (uTexturePerObjectMatrix, ivec2(objectIndexCoords.x*4+0, objectIndexCoords.y), 0), texelFetch (uTexturePerObjectMatrix, ivec2(objectIndexCoords.x*4+1, objectIndexCoords.y), 0), texelFetch (uTexturePerObjectMatrix, ivec2(objectIndexCoords.x*4+2, objectIndexCoords.y), 0), texelFetch (uTexturePerObjectMatrix, ivec2(objectIndexCoords.x*4+3, objectIndexCoords.y), 0));"),s.push("mat4 objectDecodeAndInstanceMatrix = objectInstanceMatrix * mat4 (texelFetch (uObjectPerObjectPositionsDecodeMatrix, ivec2(objectIndexCoords.x*4+0, objectIndexCoords.y), 0), texelFetch (uObjectPerObjectPositionsDecodeMatrix, ivec2(objectIndexCoords.x*4+1, objectIndexCoords.y), 0), texelFetch (uObjectPerObjectPositionsDecodeMatrix, ivec2(objectIndexCoords.x*4+2, objectIndexCoords.y), 0), texelFetch (uObjectPerObjectPositionsDecodeMatrix, ivec2(objectIndexCoords.x*4+3, objectIndexCoords.y), 0));"),s.push("uint solid = texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+7, objectIndexCoords.y), 0).r;"),s.push("positions[0] = vec3(texelFetch(uTexturePerVertexIdCoordinates, ivec2(indexPositionH.r, indexPositionV.r), 0));"),s.push("positions[1] = vec3(texelFetch(uTexturePerVertexIdCoordinates, ivec2(indexPositionH.g, indexPositionV.g), 0));"),s.push("positions[2] = vec3(texelFetch(uTexturePerVertexIdCoordinates, ivec2(indexPositionH.b, indexPositionV.b), 0));"),s.push("uvec4 color = texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+0, objectIndexCoords.y), 0);"),s.push("if (color.a == 0u) {"),s.push(" gl_Position = vec4(3.0, 3.0, 3.0, 1.0);"),s.push(" return;"),s.push("};"),s.push("vPickColor = vec4(texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+1, objectIndexCoords.y), 0)) / 255.0;"),s.push("vec3 normal = normalize(cross(positions[2] - positions[0], positions[1] - positions[0]));"),s.push("vec3 position;"),s.push("position = positions[gl_VertexID % 3];"),s.push("if (solid != 1u) {"),s.push("if (isPerspectiveMatrix(projMatrix)) {"),s.push("vec3 uCameraEyeRtcInQuantizedSpace = (inverse(sceneModelMatrix * objectDecodeAndInstanceMatrix) * vec4(uCameraEyeRtc, 1)).xyz;"),s.push("if (dot(position.xyz - uCameraEyeRtcInQuantizedSpace, normal) < 0.0) {"),s.push("position = positions[2 - (gl_VertexID % 3)];"),s.push("}"),s.push("} else {"),s.push("vec3 viewNormal = -normalize((transpose(inverse(viewMatrix*objectDecodeAndInstanceMatrix)) * vec4(normal,1)).xyz);"),s.push("if (viewNormal.z < 0.0) {"),s.push("position = positions[2 - (gl_VertexID % 3)];"),s.push("}"),s.push("}"),s.push("}"),s.push("vec4 worldPosition = sceneModelMatrix * (objectDecodeAndInstanceMatrix * vec4(position, 1.0)); "),s.push("vec4 viewPosition = viewMatrix * worldPosition; "),t&&(s.push(" vWorldPosition = worldPosition;"),s.push(" vFlags2 = flags2;")),s.push("vec4 clipPos = projMatrix * viewPosition;"),e.logarithmicDepthBufferEnabled&&(s.push("vFragDepth = 1.0 + clipPos.w;"),s.push("isPerspective = float (isPerspectiveMatrix(projMatrix));")),s.push("gl_Position = remapClipPos(clipPos);"),s.push(" }"),s.push("}"),s}_buildFragmentShader(){const e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,s=[];if(s.push("#version 300 es"),s.push("// Batched geometry picking fragment shader"),s.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),s.push("precision highp float;"),s.push("precision highp int;"),s.push("#else"),s.push("precision mediump float;"),s.push("precision mediump int;"),s.push("#endif"),e.logarithmicDepthBufferEnabled&&(s.push("in float isPerspective;"),s.push("uniform float logDepthBufFC;"),s.push("in float vFragDepth;")),t){s.push("in vec4 vWorldPosition;"),s.push("flat in uvec4 vFlags2;");for(var n=0;n 0.0);"),s.push(" if (clippable) {"),s.push(" float dist = 0.0;");for(n=0;n 0.0) { discard; }"),s.push(" }")}return e.logarithmicDepthBufferEnabled&&s.push(" gl_FragDepth = isPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5;"),s.push(" outPickColor = vPickColor; "),s.push("}"),s}webglContextRestored(){this._program=null}destroy(){this._program&&this._program.destroy(),this._program=null}}const Vc=A.vec3(),kc=A.vec3(),Qc=A.vec3();A.vec3();const Wc=A.mat4();class zc{constructor(e){this._scene=e,this._hash=this._getHash(),this._allocate()}getValid(){return this._hash===this._getHash()}_getHash(){return this._scene._sectionPlanesState.getHash()}drawLayer(e,t,s){const n=t.model,i=n.scene,a=i.camera,r=i.canvas.gl,l=t._state,o=l.textureState,c=t._state.origin,{position:u,rotationMatrix:h,rotationMatrixConjugate:p}=n,d=e.pickViewMatrix||a.viewMatrix;let f,I;if(this._program||this._allocate(),e.lastProgramId!==this._program.id&&(e.lastProgramId=this._program.id,this._bindProgram()),o.bindCommonTextures(this._program,this.uTexturePerObjectPositionsDecodeMatrix,this._uTexturePerVertexIdCoordinates,this.uTexturePerObjectColorsAndFlags,this._uTexturePerObjectMatrix),c||0!==u[0]||0!==u[1]||0!==u[2]){const t=Vc;if(c){const e=kc;A.transformPoint3(h,c,e),t[0]=e[0],t[1]=e[1],t[2]=e[2]}else t[0]=0,t[1]=0,t[2]=0;t[0]+=u[0],t[1]+=u[1],t[2]+=u[2],f=Q(d,t,Wc),I=Qc,I[0]=a.eye[0]-t[0],I[1]=a.eye[1]-t[1],I[2]=a.eye[2]-t[2],e.snapPickOrigin[0]=t[0],e.snapPickOrigin[1]=t[1],e.snapPickOrigin[2]=t[2]}else f=d,I=a.eye,e.snapPickOrigin[0]=0,e.snapPickOrigin[1]=0,e.snapPickOrigin[2]=0;if(r.uniform3fv(this._uCameraEyeRtc,I),r.uniform1i(this._uRenderPass,s),r.uniform1i(this._uPickInvisible,e.pickInvisible),r.uniform2fv(this._uPickClipPos,e.pickClipPos),r.uniform2f(this._uDrawingBufferSize,r.drawingBufferWidth,r.drawingBufferHeight),r.uniform1f(this._uPickZNear,e.pickZNear),r.uniform1f(this._uPickZFar,e.pickZFar),r.uniformMatrix4fv(this._uSceneModelMatrix,!1,p),r.uniformMatrix4fv(this._uViewMatrix,!1,f),r.uniformMatrix4fv(this._uProjMatrix,!1,a.projMatrix),i.logarithmicDepthBufferEnabled){const t=2/(Math.log(e.pickZFar+1)/Math.LN2);r.uniform1f(this._uLogDepthBufFC,t)}const y=i._sectionPlanesState.getNumAllocatedSectionPlanes(),m=i._sectionPlanesState.sectionPlanes.length;if(y>0){const e=i._sectionPlanesState.sectionPlanes,s=t.layerIndex*m,a=n.renderFlags;for(let t=0;t0&&(o.bindTriangleIndicesTextures(this._program,this._uTexturePerPolygonIdPortionIds,this._uTexturePerPolygonIdIndices,8),r.drawArrays(r.TRIANGLES,0,l.numIndices8Bits)),l.numIndices16Bits>0&&(o.bindTriangleIndicesTextures(this._program,this._uTexturePerPolygonIdPortionIds,this._uTexturePerPolygonIdIndices,16),r.drawArrays(r.TRIANGLES,0,l.numIndices16Bits)),l.numIndices32Bits>0&&(o.bindTriangleIndicesTextures(this._program,this._uTexturePerPolygonIdPortionIds,this._uTexturePerPolygonIdIndices,32),r.drawArrays(r.TRIANGLES,0,l.numIndices32Bits)),e.drawElements++}_allocate(){const e=this._scene,t=e.canvas.gl;if(this._program=new Fe(t,this._buildShader()),this._program.errors)return void(this.errors=this._program.errors);const s=this._program;this._uRenderPass=s.getLocation("renderPass"),this._uPickInvisible=s.getLocation("pickInvisible"),this._uPickClipPos=s.getLocation("pickClipPos"),this._uDrawingBufferSize=s.getLocation("drawingBufferSize"),this._uSceneModelMatrix=s.getLocation("sceneModelMatrix"),this._uViewMatrix=s.getLocation("viewMatrix"),this._uProjMatrix=s.getLocation("projMatrix"),this._uSectionPlanes=[];for(let t=0,n=e._sectionPlanesState.getNumAllocatedSectionPlanes();t0,s=[];return s.push("#version 300 es"),s.push("// Triangles dataTexture pick depth vertex shader"),s.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),s.push("precision highp float;"),s.push("precision highp int;"),s.push("precision highp usampler2D;"),s.push("precision highp isampler2D;"),s.push("precision highp sampler2D;"),s.push("#else"),s.push("precision mediump float;"),s.push("precision mediump int;"),s.push("precision mediump usampler2D;"),s.push("precision mediump isampler2D;"),s.push("precision mediump sampler2D;"),s.push("#endif"),s.push("uniform int renderPass;"),e.entityOffsetsEnabled&&s.push("in vec3 offset;"),s.push("uniform mat4 sceneModelMatrix;"),s.push("uniform mat4 viewMatrix;"),s.push("uniform mat4 projMatrix;"),s.push("uniform bool pickInvisible;"),s.push("uniform highp sampler2D uObjectPerObjectPositionsDecodeMatrix;"),s.push("uniform highp sampler2D uTexturePerObjectMatrix;"),s.push("uniform lowp usampler2D uObjectPerObjectColorsAndFlags;"),s.push("uniform mediump usampler2D uTexturePerVertexIdCoordinates;"),s.push("uniform highp usampler2D uTexturePerPolygonIdIndices;"),s.push("uniform mediump usampler2D uTexturePerPolygonIdPortionIds;"),s.push("uniform vec3 uCameraEyeRtc;"),s.push("vec3 positions[3];"),e.logarithmicDepthBufferEnabled&&(s.push("uniform float logDepthBufFC;"),s.push("out float vFragDepth;"),s.push("out float isPerspective;")),s.push("uniform vec2 pickClipPos;"),s.push("uniform vec2 drawingBufferSize;"),s.push("vec4 remapClipPos(vec4 clipPos) {"),s.push(" clipPos.xy /= clipPos.w;"),s.push(" clipPos.xy = (clipPos.xy - pickClipPos) * drawingBufferSize;"),s.push(" clipPos.xy *= clipPos.w;"),s.push(" return clipPos;"),s.push("}"),s.push("bool isPerspectiveMatrix(mat4 m) {"),s.push(" return (m[2][3] == - 1.0);"),s.push("}"),t&&(s.push("out vec4 vWorldPosition;"),s.push("flat out uint vFlags2;")),s.push("out vec4 vViewPosition;"),s.push("void main(void) {"),s.push("int polygonIndex = gl_VertexID / 3;"),s.push("int h_packed_object_id_index = (polygonIndex >> 3) & 4095;"),s.push("int v_packed_object_id_index = (polygonIndex >> 3) >> 12;"),s.push("int objectIndex = int(texelFetch(uTexturePerPolygonIdPortionIds, ivec2(h_packed_object_id_index, v_packed_object_id_index), 0).r);"),s.push("ivec2 objectIndexCoords = ivec2(objectIndex % 512, objectIndex / 512);"),s.push("uvec4 flags = texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+2, objectIndexCoords.y), 0);"),s.push("uvec4 flags2 = texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+3, objectIndexCoords.y), 0);"),s.push("if (int(flags.w) != renderPass) {"),s.push(" gl_Position = vec4(3.0, 3.0, 3.0, 1.0);"),s.push(" return;"),s.push("} else {"),s.push("ivec4 packedVertexBase = ivec4(texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+4, objectIndexCoords.y), 0));"),s.push("ivec4 packedIndexBaseOffset = ivec4(texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+5, objectIndexCoords.y), 0));"),s.push("int indexBaseOffset = (packedIndexBaseOffset.r << 24) + (packedIndexBaseOffset.g << 16) + (packedIndexBaseOffset.b << 8) + packedIndexBaseOffset.a;"),s.push("int h_index = (polygonIndex - indexBaseOffset) & 4095;"),s.push("int v_index = (polygonIndex - indexBaseOffset) >> 12;"),s.push("ivec3 vertexIndices = ivec3(texelFetch(uTexturePerPolygonIdIndices, ivec2(h_index, v_index), 0));"),s.push("ivec3 uniqueVertexIndexes = vertexIndices + (packedVertexBase.r << 24) + (packedVertexBase.g << 16) + (packedVertexBase.b << 8) + packedVertexBase.a;"),s.push("ivec3 indexPositionH = uniqueVertexIndexes & 4095;"),s.push("ivec3 indexPositionV = uniqueVertexIndexes >> 12;"),s.push("mat4 objectInstanceMatrix = mat4 (texelFetch (uTexturePerObjectMatrix, ivec2(objectIndexCoords.x*4+0, objectIndexCoords.y), 0), texelFetch (uTexturePerObjectMatrix, ivec2(objectIndexCoords.x*4+1, objectIndexCoords.y), 0), texelFetch (uTexturePerObjectMatrix, ivec2(objectIndexCoords.x*4+2, objectIndexCoords.y), 0), texelFetch (uTexturePerObjectMatrix, ivec2(objectIndexCoords.x*4+3, objectIndexCoords.y), 0));"),s.push("mat4 objectDecodeAndInstanceMatrix = objectInstanceMatrix * mat4 (texelFetch (uObjectPerObjectPositionsDecodeMatrix, ivec2(objectIndexCoords.x*4+0, objectIndexCoords.y), 0), texelFetch (uObjectPerObjectPositionsDecodeMatrix, ivec2(objectIndexCoords.x*4+1, objectIndexCoords.y), 0), texelFetch (uObjectPerObjectPositionsDecodeMatrix, ivec2(objectIndexCoords.x*4+2, objectIndexCoords.y), 0), texelFetch (uObjectPerObjectPositionsDecodeMatrix, ivec2(objectIndexCoords.x*4+3, objectIndexCoords.y), 0));"),s.push("uint solid = texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+7, objectIndexCoords.y), 0).r;"),s.push("positions[0] = vec3(texelFetch(uTexturePerVertexIdCoordinates, ivec2(indexPositionH.r, indexPositionV.r), 0));"),s.push("positions[1] = vec3(texelFetch(uTexturePerVertexIdCoordinates, ivec2(indexPositionH.g, indexPositionV.g), 0));"),s.push("positions[2] = vec3(texelFetch(uTexturePerVertexIdCoordinates, ivec2(indexPositionH.b, indexPositionV.b), 0));"),s.push("uvec4 color = texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+0, objectIndexCoords.y), 0);"),s.push("if (color.a == 0u) {"),s.push(" gl_Position = vec4(3.0, 3.0, 3.0, 1.0);"),s.push(" return;"),s.push("};"),s.push("vec3 normal = normalize(cross(positions[2] - positions[0], positions[1] - positions[0]));"),s.push("vec3 position;"),s.push("position = positions[gl_VertexID % 3];"),s.push("if (solid != 1u) {"),s.push("if (isPerspectiveMatrix(projMatrix)) {"),s.push("vec3 uCameraEyeRtcInQuantizedSpace = (inverse(sceneModelMatrix * objectDecodeAndInstanceMatrix) * vec4(uCameraEyeRtc, 1)).xyz;"),s.push("if (dot(position.xyz - uCameraEyeRtcInQuantizedSpace, normal) < 0.0) {"),s.push("position = positions[2 - (gl_VertexID % 3)];"),s.push("}"),s.push("} else {"),s.push("vec3 viewNormal = -normalize((transpose(inverse(viewMatrix*objectDecodeAndInstanceMatrix)) * vec4(normal,1)).xyz);"),s.push("if (viewNormal.z < 0.0) {"),s.push("position = positions[2 - (gl_VertexID % 3)];"),s.push("}"),s.push("}"),s.push("}"),s.push("vec4 worldPosition = sceneModelMatrix * (objectDecodeAndInstanceMatrix * vec4(position, 1.0)); "),s.push("vec4 viewPosition = viewMatrix * worldPosition; "),t&&(s.push(" vWorldPosition = worldPosition;"),s.push(" vFlags2 = flags2.r;")),s.push("vViewPosition = viewPosition;"),s.push("vec4 clipPos = projMatrix * viewPosition;"),e.logarithmicDepthBufferEnabled&&(s.push("vFragDepth = 1.0 + clipPos.w;"),s.push("isPerspective = float (isPerspectiveMatrix(projMatrix));")),s.push("gl_Position = remapClipPos(clipPos);"),s.push(" }"),s.push("}"),s}_buildFragmentShader(){const e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,s=[];if(s.push("#version 300 es"),s.push("// Triangles dataTexture pick depth fragment shader"),s.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),s.push("precision highp float;"),s.push("precision highp int;"),s.push("#else"),s.push("precision mediump float;"),s.push("precision mediump int;"),s.push("#endif"),e.logarithmicDepthBufferEnabled&&(s.push("in float isPerspective;"),s.push("uniform float logDepthBufFC;"),s.push("in float vFragDepth;")),s.push("uniform float pickZNear;"),s.push("uniform float pickZFar;"),t){s.push("in vec4 vWorldPosition;"),s.push("flat in uint vFlags2;");for(var n=0;n 0u;"),s.push(" if (clippable) {"),s.push(" float dist = 0.0;");for(n=0;n 0.0) { discard; }"),s.push(" }")}return e.logarithmicDepthBufferEnabled&&s.push(" gl_FragDepth = isPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5;"),s.push(" float zNormalizedDepth = abs((pickZNear + vViewPosition.z) / (pickZFar - pickZNear));"),s.push(" outPackedDepth = packDepth(zNormalizedDepth); "),s.push("}"),s}webglContextRestored(){this._program=null}destroy(){this._program&&this._program.destroy(),this._program=null}}const Kc=A.vec3(),Yc=A.vec3(),Xc=A.vec3(),qc=A.vec3();A.vec3();const Jc=A.mat4();class Zc{constructor(e){this._scene=e,this._hash=this._getHash(),this._allocate()}getValid(){return this._hash===this._getHash()}_getHash(){return this._scene._sectionPlanesState.getHash()}drawLayer(e,t,s){if(!this._program&&(this._allocate(),this.errors))return;e.lastProgramId!==this._program.id&&(e.lastProgramId=this._program.id,this._bindProgram());const n=t.model,i=n.scene,a=i.camera,r=i.canvas.gl,l=t._state,o=l.textureState,c=t._state.origin,{position:u,rotationMatrix:h,rotationMatrixConjugate:p}=n,d=n.aabb,f=e.pickViewMatrix||a.viewMatrix,I=Kc;let y,m;I[0]=A.safeInv(d[3]-d[0])*A.MAX_INT,I[1]=A.safeInv(d[4]-d[1])*A.MAX_INT,I[2]=A.safeInv(d[5]-d[2])*A.MAX_INT,e.snapPickCoordinateScale[0]=A.safeInv(I[0]),e.snapPickCoordinateScale[1]=A.safeInv(I[1]),e.snapPickCoordinateScale[2]=A.safeInv(I[2]),o.bindCommonTextures(this._program,this.uTexturePerObjectPositionsDecodeMatrix,this._uTexturePerVertexIdCoordinates,this.uTexturePerObjectColorsAndFlags,this._uTexturePerObjectMatrix);const v=0!==c[0]||0!==c[1]||0!==c[2],w=0!==u[0]||0!==u[1]||0!==u[2];if(v||w){const t=Yc;if(v){const e=A.transformPoint3(h,c,Xc);t[0]=e[0],t[1]=e[1],t[2]=e[2]}else t[0]=0,t[1]=0,t[2]=0;t[0]+=u[0],t[1]+=u[1],t[2]+=u[2],y=Q(f,t,Jc),m=qc,m[0]=a.eye[0]-t[0],m[1]=a.eye[1]-t[1],m[2]=a.eye[2]-t[2],e.snapPickOrigin[0]=t[0],e.snapPickOrigin[1]=t[1],e.snapPickOrigin[2]=t[2]}else y=f,m=a.eye,e.snapPickOrigin[0]=0,e.snapPickOrigin[1]=0,e.snapPickOrigin[2]=0;r.uniform3fv(this._uCameraEyeRtc,m),r.uniform2fv(this.uVectorA,e.snapVectorA),r.uniform2fv(this.uInverseVectorAB,e.snapInvVectorAB),r.uniform1i(this._uLayerNumber,e.snapPickLayerNumber),r.uniform3fv(this._uCoordinateScaler,I),r.uniform1i(this._uRenderPass,s),r.uniform1i(this._uPickInvisible,e.pickInvisible),r.uniformMatrix4fv(this._uSceneModelMatrix,!1,p),r.uniformMatrix4fv(this._uViewMatrix,!1,y),r.uniformMatrix4fv(this._uProjMatrix,!1,a.projMatrix);{const t=2/(Math.log(e.pickZFar+1)/Math.LN2);r.uniform1f(this._uLogDepthBufFC,t)}const g=i._sectionPlanesState.getNumAllocatedSectionPlanes(),E=i._sectionPlanesState.sectionPlanes.length;if(g>0){const e=i._sectionPlanesState.sectionPlanes,s=t.layerIndex*E,a=n.renderFlags;for(let t=0;t0&&(o.bindEdgeIndicesTextures(this._program,this._uTexturePerEdgeIdPortionIds,this._uTexturePerPolygonIdEdgeIndices,8),r.drawArrays(T,0,l.numEdgeIndices8Bits)),l.numEdgeIndices16Bits>0&&(o.bindEdgeIndicesTextures(this._program,this._uTexturePerEdgeIdPortionIds,this._uTexturePerPolygonIdEdgeIndices,16),r.drawArrays(T,0,l.numEdgeIndices16Bits)),l.numEdgeIndices32Bits>0&&(o.bindEdgeIndicesTextures(this._program,this._uTexturePerEdgeIdPortionIds,this._uTexturePerPolygonIdEdgeIndices,32),r.drawArrays(T,0,l.numEdgeIndices32Bits)),e.drawElements++}_allocate(){const e=this._scene,t=e.canvas.gl;if(this._program=new Fe(t,this._buildShader()),this._program.errors)return void(this.errors=this._program.errors);const s=this._program;this._uRenderPass=s.getLocation("renderPass"),this._uPickInvisible=s.getLocation("pickInvisible"),this._uSceneModelMatrix=s.getLocation("sceneModelMatrix"),this._uViewMatrix=s.getLocation("viewMatrix"),this._uProjMatrix=s.getLocation("projMatrix"),this._uSectionPlanes=[];for(let t=0,n=e._sectionPlanesState.getNumAllocatedSectionPlanes();t0,s=[];return s.push("#version 300 es"),s.push("// Batched geometry edges drawing vertex shader"),s.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),s.push("precision highp float;"),s.push("precision highp int;"),s.push("precision highp usampler2D;"),s.push("precision highp isampler2D;"),s.push("precision highp sampler2D;"),s.push("#else"),s.push("precision mediump float;"),s.push("precision mediump int;"),s.push("precision mediump usampler2D;"),s.push("precision mediump isampler2D;"),s.push("precision mediump sampler2D;"),s.push("#endif"),s.push("uniform int renderPass;"),e.entityOffsetsEnabled&&s.push("in vec3 offset;"),s.push("uniform mat4 sceneModelMatrix;"),s.push("uniform mat4 viewMatrix;"),s.push("uniform mat4 projMatrix;"),s.push("uniform highp sampler2D uObjectPerObjectPositionsDecodeMatrix;"),s.push("uniform lowp usampler2D uObjectPerObjectColorsAndFlags;"),s.push("uniform highp sampler2D uTexturePerObjectMatrix;"),s.push("uniform mediump usampler2D uTexturePerVertexIdCoordinates;"),s.push("uniform highp usampler2D uTexturePerPolygonIdEdgeIndices;"),s.push("uniform mediump usampler2D uTexturePerEdgeIdPortionIds;"),s.push("uniform vec3 uCameraEyeRtc;"),s.push("uniform vec2 uSnapVectorA;"),s.push("uniform vec2 uSnapInvVectorAB;"),s.push("vec3 positions[3];"),s.push("uniform float logDepthBufFC;"),s.push("out float vFragDepth;"),s.push("bool isPerspectiveMatrix(mat4 m) {"),s.push(" return (m[2][3] == - 1.0);"),s.push("}"),s.push("out float isPerspective;"),s.push("vec2 remapClipPos(vec2 clipPos) {"),s.push(" float x = (clipPos.x - uSnapVectorA.x) * uSnapInvVectorAB.x;"),s.push(" float y = (clipPos.y - uSnapVectorA.y) * uSnapInvVectorAB.y;"),s.push(" return vec2(x, y);"),s.push("}"),t&&(s.push("out vec4 vWorldPosition;"),s.push("flat out uint vFlags2;")),s.push("out vec4 vViewPosition;"),s.push("out highp vec3 relativeToOriginPosition;"),s.push("void main(void) {"),s.push("int edgeIndex = gl_VertexID / 2;"),s.push("int h_packed_object_id_index = (edgeIndex >> 3) & 4095;"),s.push("int v_packed_object_id_index = (edgeIndex >> 3) >> 12;"),s.push("int objectIndex = int(texelFetch(uTexturePerEdgeIdPortionIds, ivec2(h_packed_object_id_index, v_packed_object_id_index), 0).r);"),s.push("ivec2 objectIndexCoords = ivec2(objectIndex % 512, objectIndex / 512);"),s.push("uvec4 flags = texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+2, objectIndexCoords.y), 0);"),s.push("uvec4 flags2 = texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+3, objectIndexCoords.y), 0);"),s.push("{"),s.push("ivec4 packedVertexBase = ivec4(texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+4, objectIndexCoords.y), 0));"),s.push("ivec4 packedEdgeIndexBaseOffset = ivec4(texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+6, objectIndexCoords.y), 0));"),s.push("int edgeIndexBaseOffset = (packedEdgeIndexBaseOffset.r << 24) + (packedEdgeIndexBaseOffset.g << 16) + (packedEdgeIndexBaseOffset.b << 8) + packedEdgeIndexBaseOffset.a;"),s.push("int h_index = (edgeIndex - edgeIndexBaseOffset) & 4095;"),s.push("int v_index = (edgeIndex - edgeIndexBaseOffset) >> 12;"),s.push("ivec3 vertexIndices = ivec3(texelFetch(uTexturePerPolygonIdEdgeIndices, ivec2(h_index, v_index), 0));"),s.push("ivec3 uniqueVertexIndexes = vertexIndices + (packedVertexBase.r << 24) + (packedVertexBase.g << 16) + (packedVertexBase.b << 8) + packedVertexBase.a;"),s.push("int indexPositionH = uniqueVertexIndexes[gl_VertexID % 2] & 4095;"),s.push("int indexPositionV = uniqueVertexIndexes[gl_VertexID % 2] >> 12;"),s.push("mat4 objectInstanceMatrix = mat4 (texelFetch (uTexturePerObjectMatrix, ivec2(objectIndexCoords.x*4+0, objectIndexCoords.y), 0), texelFetch (uTexturePerObjectMatrix, ivec2(objectIndexCoords.x*4+1, objectIndexCoords.y), 0), texelFetch (uTexturePerObjectMatrix, ivec2(objectIndexCoords.x*4+2, objectIndexCoords.y), 0), texelFetch (uTexturePerObjectMatrix, ivec2(objectIndexCoords.x*4+3, objectIndexCoords.y), 0));"),s.push("mat4 objectDecodeAndInstanceMatrix = objectInstanceMatrix * mat4 (texelFetch (uObjectPerObjectPositionsDecodeMatrix, ivec2(objectIndexCoords.x*4+0, objectIndexCoords.y), 0), texelFetch (uObjectPerObjectPositionsDecodeMatrix, ivec2(objectIndexCoords.x*4+1, objectIndexCoords.y), 0), texelFetch (uObjectPerObjectPositionsDecodeMatrix, ivec2(objectIndexCoords.x*4+2, objectIndexCoords.y), 0), texelFetch (uObjectPerObjectPositionsDecodeMatrix, ivec2(objectIndexCoords.x*4+3, objectIndexCoords.y), 0));"),s.push("uvec4 flags = texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+2, objectIndexCoords.y), 0);"),s.push("uvec4 flags2 = texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+3, objectIndexCoords.y), 0);"),s.push("vec3 position = vec3(texelFetch(uTexturePerVertexIdCoordinates, ivec2(indexPositionH, indexPositionV), 0));"),s.push("vec4 worldPosition = sceneModelMatrix * (objectDecodeAndInstanceMatrix * vec4(position, 1.0)); "),s.push("relativeToOriginPosition = worldPosition.xyz;"),s.push(" vec4 viewPosition = viewMatrix * worldPosition; "),t&&(s.push(" vWorldPosition = worldPosition;"),s.push(" vFlags2 = flags2.r;")),s.push("vViewPosition = viewPosition;"),s.push("vec4 clipPos = projMatrix * viewPosition;"),s.push("float tmp = clipPos.w;"),s.push("clipPos.xyzw /= tmp;"),s.push("clipPos.xy = remapClipPos(clipPos.xy);"),s.push("clipPos.xyzw *= tmp;"),s.push("vViewPosition = clipPos;"),s.push("vFragDepth = 1.0 + clipPos.w;"),s.push("isPerspective = float (isPerspectiveMatrix(projMatrix));"),s.push("gl_Position = clipPos;"),s.push("gl_PointSize = 1.0;"),s.push(" }"),s.push("}"),s}_buildFragmentShader(){const e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,s=[];if(s.push("#version 300 es"),s.push("// Triangles dataTexture pick depth fragment shader"),s.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),s.push("precision highp float;"),s.push("precision highp int;"),s.push("#else"),s.push("precision mediump float;"),s.push("precision mediump int;"),s.push("#endif"),s.push("in float isPerspective;"),s.push("uniform float logDepthBufFC;"),s.push("in float vFragDepth;"),s.push("uniform int uLayerNumber;"),s.push("uniform vec3 uCoordinateScaler;"),t){s.push("in vec4 vWorldPosition;"),s.push("flat in uint vFlags2;");for(let t=0,n=e._sectionPlanesState.getNumAllocatedSectionPlanes();t 0u;"),s.push(" if (clippable) {"),s.push(" float dist = 0.0;");for(var n=0;n 0.0) { discard; }"),s.push(" }")}return s.push(" gl_FragDepth = isPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5;"),s.push("outCoords = ivec4(relativeToOriginPosition.xyz * uCoordinateScaler.xyz, uLayerNumber);"),s.push("}"),s}webglContextRestored(){this._program=null}destroy(){this._program&&this._program.destroy(),this._program=null}}const $c=A.vec3(),eu=A.vec3(),tu=A.vec3(),su=A.vec3();A.vec3();const nu=A.mat4();class iu{constructor(e){this._scene=e,this._hash=this._getHash(),this._allocate()}getValid(){return this._hash===this._getHash()}_getHash(){return this._scene._sectionPlanesState.getHash()}drawLayer(e,t,s){this._program||this._allocate(),e.lastProgramId!==this._program.id&&(e.lastProgramId=this._program.id,this._bindProgram());const n=t.model,i=n.scene,a=i.camera,r=i.canvas.gl,l=t._state,o=l.textureState,c=t._state.origin,{position:u,rotationMatrix:h,rotationMatrixConjugate:p}=n,d=n.aabb,f=e.pickViewMatrix||a.viewMatrix,I=$c;let y,m;I[0]=A.safeInv(d[3]-d[0])*A.MAX_INT,I[1]=A.safeInv(d[4]-d[1])*A.MAX_INT,I[2]=A.safeInv(d[5]-d[2])*A.MAX_INT,e.snapPickCoordinateScale[0]=A.safeInv(I[0]),e.snapPickCoordinateScale[1]=A.safeInv(I[1]),e.snapPickCoordinateScale[2]=A.safeInv(I[2]),o.bindCommonTextures(this._program,this.uTexturePerObjectPositionsDecodeMatrix,this._uTexturePerVertexIdCoordinates,this.uTexturePerObjectColorsAndFlags,this._uTexturePerObjectMatrix);const v=0!==c[0]||0!==c[1]||0!==c[2],w=0!==u[0]||0!==u[1]||0!==u[2];if(v||w){const t=eu;if(v){const e=tu;A.transformPoint3(h,c,e),t[0]=e[0],t[1]=e[1],t[2]=e[2]}else t[0]=0,t[1]=0,t[2]=0;t[0]+=u[0],t[1]+=u[1],t[2]+=u[2],y=Q(f,t,nu),m=su,m[0]=a.eye[0]-t[0],m[1]=a.eye[1]-t[1],m[2]=a.eye[2]-t[2],e.snapPickOrigin[0]=t[0],e.snapPickOrigin[1]=t[1],e.snapPickOrigin[2]=t[2]}else y=f,m=a.eye,e.snapPickOrigin[0]=0,e.snapPickOrigin[1]=0,e.snapPickOrigin[2]=0;r.uniform3fv(this._uCameraEyeRtc,m),r.uniform2fv(this._uVectorA,e.snapVectorA),r.uniform2fv(this._uInverseVectorAB,e.snapInvVectorAB),r.uniform1i(this._uLayerNumber,e.snapPickLayerNumber),r.uniform3fv(this._uCoordinateScaler,I),r.uniform1i(this._uRenderPass,s),r.uniform1i(this._uPickInvisible,e.pickInvisible),r.uniformMatrix4fv(this._uSceneWorldModelMatrix,!1,p),r.uniformMatrix4fv(this._uViewMatrix,!1,y),r.uniformMatrix4fv(this._uProjMatrix,!1,a.projMatrix);{const t=2/(Math.log(e.pickZFar+1)/Math.LN2);r.uniform1f(this._uLogDepthBufFC,t)}const g=i._sectionPlanesState.getNumAllocatedSectionPlanes(),E=i._sectionPlanesState.sectionPlanes.length;if(g>0){const e=i._sectionPlanesState.sectionPlanes,s=t.layerIndex*E,a=n.renderFlags;for(let t=0;t0&&(o.bindTriangleIndicesTextures(this._program,this._uTexturePerPolygonIdPortionIds,this._uTexturePerPolygonIdIndices,8),r.drawArrays(r.TRIANGLES,0,l.numIndices8Bits)),l.numIndices16Bits>0&&(o.bindTriangleIndicesTextures(this._program,this._uTexturePerPolygonIdPortionIds,this._uTexturePerPolygonIdIndices,16),r.drawArrays(r.TRIANGLES,0,l.numIndices16Bits)),l.numIndices32Bits>0&&(o.bindTriangleIndicesTextures(this._program,this._uTexturePerPolygonIdPortionIds,this._uTexturePerPolygonIdIndices,32),r.drawArrays(r.TRIANGLES,0,l.numIndices32Bits)),e.drawElements++}_allocate(){const e=this._scene,t=e.canvas.gl;if(this._program=new Fe(t,this._buildShader()),this._program.errors)return void(this.errors=this._program.errors);const s=this._program;this._uRenderPass=s.getLocation("renderPass"),this._uPickInvisible=s.getLocation("pickInvisible"),this._uSceneWorldModelMatrix=s.getLocation("sceneModelMatrix"),this._uViewMatrix=s.getLocation("viewMatrix"),this._uProjMatrix=s.getLocation("projMatrix"),this._uSectionPlanes=[];for(let t=0,n=e._sectionPlanesState.getNumAllocatedSectionPlanes();t0,s=[];return s.push("#version 300 es"),s.push("// TrianglesDataTextureSnapDepthBufInitRenderer vertex shader"),s.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),s.push("precision highp float;"),s.push("precision highp int;"),s.push("precision highp usampler2D;"),s.push("precision highp isampler2D;"),s.push("precision highp sampler2D;"),s.push("#else"),s.push("precision mediump float;"),s.push("precision mediump int;"),s.push("precision mediump usampler2D;"),s.push("precision mediump isampler2D;"),s.push("precision mediump sampler2D;"),s.push("#endif"),s.push("uniform int renderPass;"),e.entityOffsetsEnabled&&s.push("in vec3 offset;"),s.push("uniform mat4 sceneModelMatrix;"),s.push("uniform mat4 viewMatrix;"),s.push("uniform mat4 projMatrix;"),s.push("uniform highp sampler2D uObjectPerObjectPositionsDecodeMatrix;"),s.push("uniform highp sampler2D uTexturePerObjectMatrix;"),s.push("uniform lowp usampler2D uObjectPerObjectColorsAndFlags;"),s.push("uniform mediump usampler2D uTexturePerVertexIdCoordinates;"),s.push("uniform highp usampler2D uTexturePerPolygonIdIndices;"),s.push("uniform mediump usampler2D uTexturePerPolygonIdPortionIds;"),s.push("uniform vec3 uCameraEyeRtc;"),s.push("uniform vec2 uVectorAB;"),s.push("uniform vec2 uInverseVectorAB;"),s.push("vec3 positions[3];"),s.push("uniform float logDepthBufFC;"),s.push("out float vFragDepth;"),s.push("out float isPerspective;"),s.push("bool isPerspectiveMatrix(mat4 m) {"),s.push(" return (m[2][3] == - 1.0);"),s.push("}"),s.push("vec2 remapClipPos(vec2 clipPos) {"),s.push(" float x = (clipPos.x - uVectorAB.x) * uInverseVectorAB.x;"),s.push(" float y = (clipPos.y - uVectorAB.y) * uInverseVectorAB.y;"),s.push(" return vec2(x, y);"),s.push("}"),s.push("flat out vec4 vPickColor;"),s.push("out vec4 vWorldPosition;"),t&&s.push("flat out uint vFlags2;"),s.push("out highp vec3 relativeToOriginPosition;"),s.push("void main(void) {"),s.push("int polygonIndex = gl_VertexID / 3;"),s.push("int h_packed_object_id_index = (polygonIndex >> 3) & 4095;"),s.push("int v_packed_object_id_index = (polygonIndex >> 3) >> 12;"),s.push("int objectIndex = int(texelFetch(uTexturePerPolygonIdPortionIds, ivec2(h_packed_object_id_index, v_packed_object_id_index), 0).r);"),s.push("ivec2 objectIndexCoords = ivec2(objectIndex % 512, objectIndex / 512);"),s.push("uvec4 flags = texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+2, objectIndexCoords.y), 0);"),s.push("uvec4 flags2 = texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+3, objectIndexCoords.y), 0);"),s.push("{"),s.push("uvec4 color = texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+0, objectIndexCoords.y), 0);"),s.push("if (color.a == 0u) {"),s.push(" gl_Position = vec4(3.0, 3.0, 3.0, 1.0);"),s.push(" return;"),s.push("};"),s.push("ivec4 packedVertexBase = ivec4(texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+4, objectIndexCoords.y), 0));"),s.push("ivec4 packedIndexBaseOffset = ivec4(texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+5, objectIndexCoords.y), 0));"),s.push("int indexBaseOffset = (packedIndexBaseOffset.r << 24) + (packedIndexBaseOffset.g << 16) + (packedIndexBaseOffset.b << 8) + packedIndexBaseOffset.a;"),s.push("int h_index = (polygonIndex - indexBaseOffset) & 4095;"),s.push("int v_index = (polygonIndex - indexBaseOffset) >> 12;"),s.push("ivec3 vertexIndices = ivec3(texelFetch(uTexturePerPolygonIdIndices, ivec2(h_index, v_index), 0));"),s.push("ivec3 uniqueVertexIndexes = vertexIndices + (packedVertexBase.r << 24) + (packedVertexBase.g << 16) + (packedVertexBase.b << 8) + packedVertexBase.a;"),s.push("ivec3 indexPositionH = uniqueVertexIndexes & 4095;"),s.push("ivec3 indexPositionV = uniqueVertexIndexes >> 12;"),s.push("mat4 objectInstanceMatrix = mat4 (texelFetch (uTexturePerObjectMatrix, ivec2(objectIndexCoords.x*4+0, objectIndexCoords.y), 0), texelFetch (uTexturePerObjectMatrix, ivec2(objectIndexCoords.x*4+1, objectIndexCoords.y), 0), texelFetch (uTexturePerObjectMatrix, ivec2(objectIndexCoords.x*4+2, objectIndexCoords.y), 0), texelFetch (uTexturePerObjectMatrix, ivec2(objectIndexCoords.x*4+3, objectIndexCoords.y), 0));"),s.push("mat4 objectDecodeAndInstanceMatrix = objectInstanceMatrix * mat4 (texelFetch (uObjectPerObjectPositionsDecodeMatrix, ivec2(objectIndexCoords.x*4+0, objectIndexCoords.y), 0), texelFetch (uObjectPerObjectPositionsDecodeMatrix, ivec2(objectIndexCoords.x*4+1, objectIndexCoords.y), 0), texelFetch (uObjectPerObjectPositionsDecodeMatrix, ivec2(objectIndexCoords.x*4+2, objectIndexCoords.y), 0), texelFetch (uObjectPerObjectPositionsDecodeMatrix, ivec2(objectIndexCoords.x*4+3, objectIndexCoords.y), 0));"),s.push("uint solid = texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+7, objectIndexCoords.y), 0).r;"),s.push("positions[0] = vec3(texelFetch(uTexturePerVertexIdCoordinates, ivec2(indexPositionH.r, indexPositionV.r), 0));"),s.push("positions[1] = vec3(texelFetch(uTexturePerVertexIdCoordinates, ivec2(indexPositionH.g, indexPositionV.g), 0));"),s.push("positions[2] = vec3(texelFetch(uTexturePerVertexIdCoordinates, ivec2(indexPositionH.b, indexPositionV.b), 0));"),s.push("vec3 normal = normalize(cross(positions[2] - positions[0], positions[1] - positions[0]));"),s.push("vec3 position;"),s.push("position = positions[gl_VertexID % 3];"),s.push("vec3 viewNormal = -normalize((transpose(inverse(viewMatrix*objectDecodeAndInstanceMatrix)) * vec4(normal,1)).xyz);"),s.push("if (solid != 1u) {"),s.push(" if (isPerspectiveMatrix(projMatrix)) {"),s.push(" vec3 uCameraEyeRtcInQuantizedSpace = (inverse(sceneModelMatrix * objectDecodeAndInstanceMatrix) * vec4(uCameraEyeRtc, 1)).xyz;"),s.push(" if (dot(position.xyz - uCameraEyeRtcInQuantizedSpace, normal) < 0.0) {"),s.push(" position = positions[2 - (gl_VertexID % 3)];"),s.push(" viewNormal = -viewNormal;"),s.push(" }"),s.push(" } else {"),s.push(" if (viewNormal.z < 0.0) {"),s.push(" position = positions[2 - (gl_VertexID % 3)];"),s.push(" viewNormal = -viewNormal;"),s.push(" }"),s.push(" }"),s.push("}"),s.push("vec4 worldPosition = sceneModelMatrix * (objectDecodeAndInstanceMatrix * vec4(position, 1.0)); "),s.push("relativeToOriginPosition = worldPosition.xyz;"),s.push("vec4 viewPosition = viewMatrix * worldPosition; "),s.push("vWorldPosition = worldPosition;"),t&&s.push("vFlags2 = flags2.r;"),s.push("vPickColor = vec4(texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+1, objectIndexCoords.y), 0));"),s.push("vec4 clipPos = projMatrix * viewPosition;"),s.push("float tmp = clipPos.w;"),s.push("clipPos.xyzw /= tmp;"),s.push("clipPos.xy = remapClipPos(clipPos.xy);"),s.push("clipPos.xyzw *= tmp;"),s.push("vFragDepth = 1.0 + clipPos.w;"),s.push("isPerspective = float (isPerspectiveMatrix(projMatrix));"),s.push("gl_Position = clipPos;"),s.push(" }"),s.push("}"),s}_buildFragmentShader(){const e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,s=[];if(s.push("#version 300 es"),s.push("// TrianglesDataTextureSnapDepthBufInitRenderer fragment shader"),s.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),s.push("precision highp float;"),s.push("precision highp int;"),s.push("#else"),s.push("precision mediump float;"),s.push("precision mediump int;"),s.push("#endif"),s.push("in float isPerspective;"),s.push("uniform float logDepthBufFC;"),s.push("in float vFragDepth;"),s.push("uniform int uLayerNumber;"),s.push("uniform vec3 uCoordinateScaler;"),s.push("in vec4 vWorldPosition;"),s.push("flat in vec4 vPickColor;"),t){s.push("flat in uint vFlags2;");for(let t=0,n=e._sectionPlanesState.getNumAllocatedSectionPlanes();t 0u;"),s.push(" if (clippable) {"),s.push(" float dist = 0.0;");for(var n=0;n 0.0) { discard; }"),s.push(" }")}return s.push(" float dx = dFdx(vFragDepth);"),s.push(" float dy = dFdy(vFragDepth);"),s.push(" float diff = sqrt(dx*dx+dy*dy);"),s.push(" gl_FragDepth = isPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth + diff ) * logDepthBufFC * 0.5;"),s.push("outCoords = ivec4(relativeToOriginPosition.xyz * uCoordinateScaler.xyz, - uLayerNumber);"),s.push("vec3 xTangent = dFdx( vWorldPosition.xyz );"),s.push("vec3 yTangent = dFdy( vWorldPosition.xyz );"),s.push("vec3 worldNormal = normalize( cross( xTangent, yTangent ) );"),s.push(`outNormal = ivec4(worldNormal * float(${A.MAX_INT}), 1.0);`),s.push("outPickColor = uvec4(vPickColor);"),s.push("}"),s}webglContextRestored(){this._program=null}destroy(){this._program&&this._program.destroy(),this._program=null}}const au=A.vec3(),ru=A.vec3(),lu=A.vec3();A.vec3();const ou=A.mat4();class cu{constructor(e){this._scene=e,this._hash=this._getHash(),this._allocate()}getValid(){return this._hash===this._getHash()}_getHash(){return this._scene._sectionPlanesState.getHash()}drawLayer(e,t,s){const n=t.model,i=n.scene,a=i.camera,r=i.canvas.gl,l=t._state,o=l.textureState,c=t._state.origin,{position:u,rotationMatrix:h,rotationMatrixConjugate:p}=n,d=e.pickViewMatrix||a.viewMatrix;if(!this._program&&(this._allocate(t),this.errors))return;let f,I;if(e.lastProgramId!==this._program.id&&(e.lastProgramId=this._program.id,this._bindProgram()),o.bindCommonTextures(this._program,this.uTexturePerObjectPositionsDecodeMatrix,this._uTexturePerVertexIdCoordinates,this.uTexturePerObjectColorsAndFlags,this._uTexturePerObjectMatrix),c||0!==u[0]||0!==u[1]||0!==u[2]){const e=au;if(c){const t=ru;A.transformPoint3(h,c,t),e[0]=t[0],e[1]=t[1],e[2]=t[2]}else e[0]=0,e[1]=0,e[2]=0;e[0]+=u[0],e[1]+=u[1],e[2]+=u[2],f=Q(d,e,ou),I=lu,I[0]=a.eye[0]-e[0],I[1]=a.eye[1]-e[1],I[2]=a.eye[2]-e[2]}else f=d,I=a.eye;r.uniform3fv(this._uCameraEyeRtc,I),r.uniform1i(this._uRenderPass,s),r.uniformMatrix4fv(this._uWorldMatrix,!1,p),r.uniformMatrix4fv(this._uViewMatrix,!1,f),r.uniformMatrix4fv(this._uProjMatrix,!1,a.projMatrix);const y=i._sectionPlanesState.getNumAllocatedSectionPlanes(),m=i._sectionPlanesState.sectionPlanes.length;if(y>0){const e=i._sectionPlanesState.sectionPlanes,s=t.layerIndex*m,a=n.renderFlags;for(let t=0;t0&&(o.bindTriangleIndicesTextures(this._program,this._uTexturePerPolygonIdPortionIds,this._uTexturePerPolygonIdIndices,8),r.drawArrays(r.TRIANGLES,0,l.numIndices8Bits)),l.numIndices16Bits>0&&(o.bindTriangleIndicesTextures(this._program,this._uTexturePerPolygonIdPortionIds,this._uTexturePerPolygonIdIndices,16),r.drawArrays(r.TRIANGLES,0,l.numIndices16Bits)),l.numIndices32Bits>0&&(o.bindTriangleIndicesTextures(this._program,this._uTexturePerPolygonIdPortionIds,this._uTexturePerPolygonIdIndices,32),r.drawArrays(r.TRIANGLES,0,l.numIndices32Bits)),e.drawElements++}_allocate(){const e=this._scene,t=e.canvas.gl;if(this._program=new Fe(t,this._buildShader()),this._program.errors)return void(this.errors=this._program.errors);const s=this._program;this._uRenderPass=s.getLocation("renderPass"),this._uPickInvisible=s.getLocation("pickInvisible"),this._uWorldMatrix=s.getLocation("sceneModelMatrix"),this._uViewMatrix=s.getLocation("viewMatrix"),this._uProjMatrix=s.getLocation("projMatrix"),this._uSectionPlanes=[];for(let t=0,n=e._sectionPlanesState.getNumAllocatedSectionPlanes();t0,s=[];return s.push("#version 300 es"),s.push("// TrianglesDataTextureOcclusionRenderer vertex shader"),s.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),s.push("precision highp float;"),s.push("precision highp int;"),s.push("precision highp usampler2D;"),s.push("precision highp isampler2D;"),s.push("precision highp sampler2D;"),s.push("#else"),s.push("precision mediump float;"),s.push("precision mediump int;"),s.push("precision mediump usampler2D;"),s.push("precision mediump isampler2D;"),s.push("precision mediump sampler2D;"),s.push("#endif"),s.push("uniform int renderPass;"),e.entityOffsetsEnabled&&s.push("in vec3 offset;"),s.push("uniform mat4 sceneModelMatrix;"),s.push("uniform mat4 viewMatrix;"),s.push("uniform mat4 projMatrix;"),s.push("uniform highp sampler2D uObjectPerObjectPositionsDecodeMatrix;"),s.push("uniform highp sampler2D uTexturePerObjectMatrix;"),s.push("uniform lowp usampler2D uObjectPerObjectColorsAndFlags;"),s.push("uniform mediump usampler2D uTexturePerVertexIdCoordinates;"),s.push("uniform highp usampler2D uTexturePerPolygonIdIndices;"),s.push("uniform mediump usampler2D uTexturePerPolygonIdPortionIds;"),s.push("uniform vec3 uCameraEyeRtc;"),s.push("vec3 positions[3];"),s.push("bool isPerspectiveMatrix(mat4 m) {"),s.push(" return (m[2][3] == - 1.0);"),s.push("}"),t&&(s.push("out vec4 vWorldPosition;"),s.push("flat out uint vFlags2;")),s.push("void main(void) {"),s.push("int polygonIndex = gl_VertexID / 3;"),s.push("int h_packed_object_id_index = (polygonIndex >> 3) & 4095;"),s.push("int v_packed_object_id_index = (polygonIndex >> 3) >> 12;"),s.push("int objectIndex = int(texelFetch(uTexturePerPolygonIdPortionIds, ivec2(h_packed_object_id_index, v_packed_object_id_index), 0).r);"),s.push("ivec2 objectIndexCoords = ivec2(objectIndex % 512, objectIndex / 512);"),s.push("uvec4 flags = texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+2, objectIndexCoords.y), 0);"),s.push("uvec4 flags2 = texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+3, objectIndexCoords.y), 0);"),s.push("if (int(flags.x) != renderPass) {"),s.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),s.push(" } else {"),s.push("ivec4 packedVertexBase = ivec4(texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+4, objectIndexCoords.y), 0));"),s.push("ivec4 packedIndexBaseOffset = ivec4(texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+5, objectIndexCoords.y), 0));"),s.push("int indexBaseOffset = (packedIndexBaseOffset.r << 24) + (packedIndexBaseOffset.g << 16) + (packedIndexBaseOffset.b << 8) + packedIndexBaseOffset.a;"),s.push("int h_index = (polygonIndex - indexBaseOffset) & 4095;"),s.push("int v_index = (polygonIndex - indexBaseOffset) >> 12;"),s.push("ivec3 vertexIndices = ivec3(texelFetch(uTexturePerPolygonIdIndices, ivec2(h_index, v_index), 0));"),s.push("ivec3 uniqueVertexIndexes = vertexIndices + (packedVertexBase.r << 24) + (packedVertexBase.g << 16) + (packedVertexBase.b << 8) + packedVertexBase.a;"),s.push("ivec3 indexPositionH = uniqueVertexIndexes & 4095;"),s.push("ivec3 indexPositionV = uniqueVertexIndexes >> 12;"),s.push("mat4 objectInstanceMatrix = mat4 (texelFetch (uTexturePerObjectMatrix, ivec2(objectIndexCoords.x*4+0, objectIndexCoords.y), 0), texelFetch (uTexturePerObjectMatrix, ivec2(objectIndexCoords.x*4+1, objectIndexCoords.y), 0), texelFetch (uTexturePerObjectMatrix, ivec2(objectIndexCoords.x*4+2, objectIndexCoords.y), 0), texelFetch (uTexturePerObjectMatrix, ivec2(objectIndexCoords.x*4+3, objectIndexCoords.y), 0));"),s.push("mat4 objectDecodeAndInstanceMatrix = objectInstanceMatrix * mat4 (texelFetch (uObjectPerObjectPositionsDecodeMatrix, ivec2(objectIndexCoords.x*4+0, objectIndexCoords.y), 0), texelFetch (uObjectPerObjectPositionsDecodeMatrix, ivec2(objectIndexCoords.x*4+1, objectIndexCoords.y), 0), texelFetch (uObjectPerObjectPositionsDecodeMatrix, ivec2(objectIndexCoords.x*4+2, objectIndexCoords.y), 0), texelFetch (uObjectPerObjectPositionsDecodeMatrix, ivec2(objectIndexCoords.x*4+3, objectIndexCoords.y), 0));"),s.push("uint solid = texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+7, objectIndexCoords.y), 0).r;"),s.push("positions[0] = vec3(texelFetch(uTexturePerVertexIdCoordinates, ivec2(indexPositionH.r, indexPositionV.r), 0));"),s.push("positions[1] = vec3(texelFetch(uTexturePerVertexIdCoordinates, ivec2(indexPositionH.g, indexPositionV.g), 0));"),s.push("positions[2] = vec3(texelFetch(uTexturePerVertexIdCoordinates, ivec2(indexPositionH.b, indexPositionV.b), 0));"),s.push("uvec4 color = texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+0, objectIndexCoords.y), 0);"),s.push("if (color.a == 0u) {"),s.push(" gl_Position = vec4(3.0, 3.0, 3.0, 1.0);"),s.push(" return;"),s.push("};"),s.push("vec3 normal = normalize(cross(positions[2] - positions[0], positions[1] - positions[0]));"),s.push("vec3 position;"),s.push("position = positions[gl_VertexID % 3];"),s.push("if (solid != 1u) {"),s.push(" if (isPerspectiveMatrix(projMatrix)) {"),s.push(" vec3 uCameraEyeRtcInQuantizedSpace = (inverse(sceneModelMatrix * objectDecodeAndInstanceMatrix) * vec4(uCameraEyeRtc, 1)).xyz;"),s.push(" if (dot(position.xyz - uCameraEyeRtcInQuantizedSpace, normal) < 0.0) {"),s.push(" position = positions[2 - (gl_VertexID % 3)];"),s.push(" }"),s.push(" } else {"),s.push(" vec3 viewNormal = -normalize((transpose(inverse(viewMatrix*objectDecodeAndInstanceMatrix)) * vec4(normal,1)).xyz);"),s.push(" if (viewNormal.z < 0.0) {"),s.push(" position = positions[2 - (gl_VertexID % 3)];"),s.push(" }"),s.push(" }"),s.push("}"),s.push("vec4 worldPosition = sceneModelMatrix * (objectDecodeAndInstanceMatrix * vec4(position, 1.0)); "),s.push("vec4 viewPosition = viewMatrix * worldPosition; "),s.push("vec4 clipPos = projMatrix * viewPosition;"),t&&(s.push("vWorldPosition = worldPosition;"),s.push("vFlags2 = flags2.r;")),s.push("gl_Position = clipPos;"),s.push(" }"),s.push("}"),s}_buildFragmentShader(){const e=this._scene._sectionPlanesState,t=e.getNumAllocatedSectionPlanes()>0,s=[];if(s.push("#version 300 es"),s.push("// TrianglesDataTextureColorRenderer fragment shader"),s.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),s.push("precision highp float;"),s.push("precision highp int;"),s.push("#else"),s.push("precision mediump float;"),s.push("precision mediump int;"),s.push("#endif"),t){s.push("in vec4 vWorldPosition;"),s.push("flat in uint vFlags2;");for(let t=0;t 0.0);"),s.push(" if (clippable) {"),s.push(" float dist = 0.0;");for(let t=0;t 0.0) { discard; }"),s.push(" }")}return s.push(" outColor = vec4(0.0, 0.0, 1.0, 1.0); "),s.push("}"),s}webglContextRestored(){this._program=null}destroy(){this._program&&this._program.destroy(),this._program=null}}const uu=A.vec3(),hu=A.vec3(),pu=A.vec3();A.vec3();const Au=A.mat4();class du{constructor(e){this._scene=e,this._allocate(),this._hash=this._getHash()}getValid(){return this._hash===this._getHash()}_getHash(){return this._scene._sectionPlanesState.getHash()}drawLayer(e,t,s){const n=this._scene,i=n.camera,a=t.model,r=n.canvas.gl,l=t._state,o=l.textureState,c=t._state.origin,{position:u,rotationMatrix:h,rotationMatrixConjugate:p}=a;if(!this._program&&(this._allocate(),this.errors))return;let d,f;e.lastProgramId!==this._program.id&&(e.lastProgramId=this._program.id,this._bindProgram(e,l)),o.bindCommonTextures(this._program,this.uTexturePerObjectPositionsDecodeMatrix,this._uTexturePerVertexIdCoordinates,this.uTexturePerObjectColorsAndFlags,this._uTexturePerObjectMatrix);const I=0!==c[0]||0!==c[1]||0!==c[2],y=0!==u[0]||0!==u[1]||0!==u[2];if(I||y){const e=uu;if(I){const t=A.transformPoint3(h,c,hu);e[0]=t[0],e[1]=t[1],e[2]=t[2]}else e[0]=0,e[1]=0,e[2]=0;e[0]+=u[0],e[1]+=u[1],e[2]+=u[2],d=Q(i.viewMatrix,e,Au),f=pu,f[0]=i.eye[0]-e[0],f[1]=i.eye[1]-e[1],f[2]=i.eye[2]-e[2]}else d=i.viewMatrix,f=i.eye;if(r.uniformMatrix4fv(this._uSceneModelMatrix,!1,p),r.uniformMatrix4fv(this._uViewMatrix,!1,d),r.uniformMatrix4fv(this._uProjMatrix,!1,i.projMatrix),r.uniform3fv(this._uCameraEyeRtc,f),r.uniform1i(this._uRenderPass,s),n.logarithmicDepthBufferEnabled){const t=2/(Math.log(e.pickZFar+1)/Math.LN2);r.uniform1f(this._uLogDepthBufFC,t)}const m=n._sectionPlanesState.getNumAllocatedSectionPlanes(),v=n._sectionPlanesState.sectionPlanes.length;if(m>0){const e=n._sectionPlanesState.sectionPlanes,s=t.layerIndex*v,i=a.renderFlags;for(let t=0;t0&&(o.bindTriangleIndicesTextures(this._program,this._uTexturePerPolygonIdPortionIds,this._uTexturePerPolygonIdIndices,8),r.drawArrays(r.TRIANGLES,0,l.numIndices8Bits)),l.numIndices16Bits>0&&(o.bindTriangleIndicesTextures(this._program,this._uTexturePerPolygonIdPortionIds,this._uTexturePerPolygonIdIndices,16),r.drawArrays(r.TRIANGLES,0,l.numIndices16Bits)),l.numIndices32Bits>0&&(o.bindTriangleIndicesTextures(this._program,this._uTexturePerPolygonIdPortionIds,this._uTexturePerPolygonIdIndices,32),r.drawArrays(r.TRIANGLES,0,l.numIndices32Bits)),e.drawElements++}_allocate(){const e=this._scene,t=e.canvas.gl;if(this._program=new Fe(t,this._buildShader()),this._program.errors)return void(this.errors=this._program.errors);const s=this._program;this._uRenderPass=s.getLocation("renderPass"),this._uPositionsDecodeMatrix=s.getLocation("objectDecodeAndInstanceMatrix"),this._uSceneModelMatrix=s.getLocation("sceneModelMatrix"),this._uViewMatrix=s.getLocation("viewMatrix"),this._uProjMatrix=s.getLocation("projMatrix"),this._uSectionPlanes=[];for(let t=0,n=e._sectionPlanesState.getNumAllocatedSectionPlanes();t0,s=[];return s.push("#version 300 es"),s.push("// Triangles dataTexture draw vertex shader"),s.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),s.push("precision highp float;"),s.push("precision highp int;"),s.push("precision highp usampler2D;"),s.push("precision highp isampler2D;"),s.push("precision highp sampler2D;"),s.push("#else"),s.push("precision mediump float;"),s.push("precision mediump int;"),s.push("precision mediump usampler2D;"),s.push("precision mediump isampler2D;"),s.push("precision mediump sampler2D;"),s.push("#endif"),s.push("uniform int renderPass;"),e.entityOffsetsEnabled&&s.push("in vec3 offset;"),s.push("uniform mat4 sceneModelMatrix;"),s.push("uniform mat4 viewMatrix;"),s.push("uniform mat4 projMatrix;"),s.push("uniform highp sampler2D uObjectPerObjectPositionsDecodeMatrix;"),s.push("uniform highp sampler2D uTexturePerObjectMatrix;"),s.push("uniform lowp usampler2D uObjectPerObjectColorsAndFlags;"),s.push("uniform mediump usampler2D uTexturePerVertexIdCoordinates;"),s.push("uniform highp usampler2D uTexturePerPolygonIdIndices;"),s.push("uniform mediump usampler2D uTexturePerPolygonIdPortionIds;"),s.push("uniform vec3 uCameraEyeRtc;"),s.push("vec3 positions[3];"),e.logarithmicDepthBufferEnabled&&(s.push("uniform float logDepthBufFC;"),s.push("out float vFragDepth;"),s.push("out float isPerspective;")),s.push("bool isPerspectiveMatrix(mat4 m) {"),s.push(" return (m[2][3] == - 1.0);"),s.push("}"),s.push("out highp vec2 vHighPrecisionZW;"),t&&(s.push("out vec4 vWorldPosition;"),s.push("flat out uint vFlags2;")),s.push("void main(void) {"),s.push("int polygonIndex = gl_VertexID / 3;"),s.push("int h_packed_object_id_index = (polygonIndex >> 3) & 4095;"),s.push("int v_packed_object_id_index = (polygonIndex >> 3) >> 12;"),s.push("int objectIndex = int(texelFetch(uTexturePerPolygonIdPortionIds, ivec2(h_packed_object_id_index, v_packed_object_id_index), 0).r);"),s.push("ivec2 objectIndexCoords = ivec2(objectIndex % 512, objectIndex / 512);"),s.push("uvec4 flags = texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+2, objectIndexCoords.y), 0);"),s.push("uvec4 flags2 = texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+3, objectIndexCoords.y), 0);"),s.push("if (int(flags.x) != renderPass) {"),s.push(" gl_Position = vec4(3.0, 3.0, 3.0, 1.0);"),s.push(" return;"),s.push("} else {"),s.push("ivec4 packedVertexBase = ivec4(texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+4, objectIndexCoords.y), 0));"),s.push("ivec4 packedIndexBaseOffset = ivec4(texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+5, objectIndexCoords.y), 0));"),s.push("int indexBaseOffset = (packedIndexBaseOffset.r << 24) + (packedIndexBaseOffset.g << 16) + (packedIndexBaseOffset.b << 8) + packedIndexBaseOffset.a;"),s.push("int h_index = (polygonIndex - indexBaseOffset) & 4095;"),s.push("int v_index = (polygonIndex - indexBaseOffset) >> 12;"),s.push("ivec3 vertexIndices = ivec3(texelFetch(uTexturePerPolygonIdIndices, ivec2(h_index, v_index), 0));"),s.push("ivec3 uniqueVertexIndexes = vertexIndices + (packedVertexBase.r << 24) + (packedVertexBase.g << 16) + (packedVertexBase.b << 8) + packedVertexBase.a;"),s.push("ivec3 indexPositionH = uniqueVertexIndexes & 4095;"),s.push("ivec3 indexPositionV = uniqueVertexIndexes >> 12;"),s.push("mat4 objectInstanceMatrix = mat4 (texelFetch (uTexturePerObjectMatrix, ivec2(objectIndexCoords.x*4+0, objectIndexCoords.y), 0), texelFetch (uTexturePerObjectMatrix, ivec2(objectIndexCoords.x*4+1, objectIndexCoords.y), 0), texelFetch (uTexturePerObjectMatrix, ivec2(objectIndexCoords.x*4+2, objectIndexCoords.y), 0), texelFetch (uTexturePerObjectMatrix, ivec2(objectIndexCoords.x*4+3, objectIndexCoords.y), 0));"),s.push("mat4 objectDecodeAndInstanceMatrix = objectInstanceMatrix * mat4 (texelFetch (uObjectPerObjectPositionsDecodeMatrix, ivec2(objectIndexCoords.x*4+0, objectIndexCoords.y), 0), texelFetch (uObjectPerObjectPositionsDecodeMatrix, ivec2(objectIndexCoords.x*4+1, objectIndexCoords.y), 0), texelFetch (uObjectPerObjectPositionsDecodeMatrix, ivec2(objectIndexCoords.x*4+2, objectIndexCoords.y), 0), texelFetch (uObjectPerObjectPositionsDecodeMatrix, ivec2(objectIndexCoords.x*4+3, objectIndexCoords.y), 0));"),s.push("uint solid = texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+7, objectIndexCoords.y), 0).r;"),s.push("positions[0] = vec3(texelFetch(uTexturePerVertexIdCoordinates, ivec2(indexPositionH.r, indexPositionV.r), 0));"),s.push("positions[1] = vec3(texelFetch(uTexturePerVertexIdCoordinates, ivec2(indexPositionH.g, indexPositionV.g), 0));"),s.push("positions[2] = vec3(texelFetch(uTexturePerVertexIdCoordinates, ivec2(indexPositionH.b, indexPositionV.b), 0));"),s.push("uvec4 color = texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+0, objectIndexCoords.y), 0);"),s.push("if (color.a == 0u) {"),s.push(" gl_Position = vec4(3.0, 3.0, 3.0, 1.0);"),s.push(" return;"),s.push("};"),s.push("vec3 normal = normalize(cross(positions[2] - positions[0], positions[1] - positions[0]));"),s.push("vec3 position;"),s.push("position = positions[gl_VertexID % 3];"),s.push("vec3 viewNormal = -normalize((transpose(inverse(viewMatrix*objectDecodeAndInstanceMatrix)) * vec4(normal,1)).xyz);"),s.push("if (solid != 1u) {"),s.push("if (isPerspectiveMatrix(projMatrix)) {"),s.push("vec3 uCameraEyeRtcInQuantizedSpace = (inverse(sceneModelMatrix * objectDecodeAndInstanceMatrix) * vec4(uCameraEyeRtc, 1)).xyz;"),s.push("if (dot(position.xyz - uCameraEyeRtcInQuantizedSpace, normal) < 0.0) {"),s.push("position = positions[2 - (gl_VertexID % 3)];"),s.push("viewNormal = -viewNormal;"),s.push("}"),s.push("} else {"),s.push("if (viewNormal.z < 0.0) {"),s.push("position = positions[2 - (gl_VertexID % 3)];"),s.push("viewNormal = -viewNormal;"),s.push("}"),s.push("}"),s.push("}"),s.push("vec4 worldPosition = sceneModelMatrix * (objectDecodeAndInstanceMatrix * vec4(position, 1.0)); "),s.push("vec4 viewPosition = viewMatrix * worldPosition; "),s.push("vec4 clipPos = projMatrix * viewPosition;"),e.logarithmicDepthBufferEnabled&&(s.push("vFragDepth = 1.0 + clipPos.w;"),s.push("isPerspective = float (isPerspectiveMatrix(projMatrix));")),t&&(s.push("vWorldPosition = worldPosition;"),s.push("vFlags2 = flags2.r;")),s.push("gl_Position = clipPos;"),s.push("vHighPrecisionZW = gl_Position.zw;"),s.push("}"),s.push("}"),s}_buildFragmentShader(){const e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,s=[];if(s.push("#version 300 es"),s.push("// Triangles dataTexture draw fragment shader"),s.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),s.push("precision highp float;"),s.push("precision highp int;"),s.push("#else"),s.push("precision mediump float;"),s.push("precision mediump int;"),s.push("#endif"),s.push("in highp vec2 vHighPrecisionZW;"),s.push("out vec4 outColor;"),e.logarithmicDepthBufferEnabled&&(s.push("in float isPerspective;"),s.push("uniform float logDepthBufFC;"),s.push("in float vFragDepth;")),t){s.push("in vec4 vWorldPosition;"),s.push("flat in uint vFlags2;");for(let t=0,n=e._sectionPlanesState.getNumAllocatedSectionPlanes();t 0u;"),s.push(" if (clippable) {"),s.push(" float dist = 0.0;");for(let t=0,n=e._sectionPlanesState.getNumAllocatedSectionPlanes();t 0.0) { "),s.push(" discard;"),s.push(" }"),s.push("}")}return e.logarithmicDepthBufferEnabled&&s.push(" gl_FragDepth = isPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5;"),s.push("float fragCoordZ = 0.5 * vHighPrecisionZW[0] / vHighPrecisionZW[1] + 0.5;"),s.push(" outColor = vec4(vec3(1.0 - fragCoordZ), 1.0); "),s.push("}"),s}webglContextRestored(){this._program=null}destroy(){this._program&&this._program.destroy(),this._program=null}}const fu=A.vec3(),Iu=A.vec3(),yu=A.vec3();A.vec3();const mu=A.mat4();class vu{constructor(e){this._scene=e,this._hash=this._getHash(),this._allocate()}getValid(){return this._hash===this._getHash()}_getHash(){return this._scene._sectionPlanesState.getHash()}drawLayer(e,t,s){const n=t.model,i=n.scene,a=i.camera,r=i.canvas.gl,l=t._state,o=t._state.origin,{position:c,rotationMatrix:u,rotationMatrixConjugate:h}=n,p=a.viewMatrix;if(!this._program&&(this._allocate(t),this.errors))return;let d,f;e.lastProgramId!==this._program.id&&(e.lastProgramId=this._program.id,this._bindProgram(t));const I=0!==o[0]||0!==o[1]||0!==o[2],y=0!==c[0]||0!==c[1]||0!==c[2];if(I||y){const e=fu;if(I){const t=Iu;A.transformPoint3(u,o,t),e[0]=t[0],e[1]=t[1],e[2]=t[2]}else e[0]=0,e[1]=0,e[2]=0;e[0]+=c[0],e[1]+=c[1],e[2]+=c[2],d=Q(p,e,mu),f=yu,f[0]=a.eye[0]-e[0],f[1]=a.eye[1]-e[1],f[2]=a.eye[2]-e[2]}else d=p,f=a.eye;r.uniform1i(this._uRenderPass,s),r.uniformMatrix4fv(this._uWorldMatrix,!1,h),r.uniformMatrix4fv(this._uViewMatrix,!1,d),r.uniformMatrix4fv(this._uProjMatrix,!1,a.projMatrix),r.uniformMatrix4fv(this._uViewNormalMatrix,!1,a.viewNormalMatrix),r.uniformMatrix4fv(this._uWorldNormalMatrix,!1,n.worldNormalMatrix);const m=i._sectionPlanesState.getNumAllocatedSectionPlanes(),v=i._sectionPlanesState.sectionPlanes.length;if(m>0){const e=i._sectionPlanesState.sectionPlanes,s=t.layerIndex*v,a=n.renderFlags;for(let t=0;t0,s=[];return s.push("// Batched geometry normals vertex shader"),e.logarithmicDepthBufferEnabled&&Ce.SUPPORTED_EXTENSIONS.EXT_frag_depth&&s.push("#extension GL_EXT_frag_depth : enable"),s.push("uniform int renderPass;"),s.push("attribute vec3 position;"),e.entityOffsetsEnabled&&s.push("attribute vec3 offset;"),s.push("attribute vec3 normal;"),s.push("attribute vec4 color;"),s.push("attribute vec4 flags;"),s.push("attribute vec4 flags2;"),s.push("uniform mat4 worldMatrix;"),s.push("uniform mat4 worldNormalMatrix;"),s.push("uniform mat4 viewMatrix;"),s.push("uniform mat4 projMatrix;"),s.push("uniform mat4 viewNormalMatrix;"),s.push("uniform mat4 objectDecodeAndInstanceMatrix;"),e.logarithmicDepthBufferEnabled&&(s.push("uniform float logDepthBufFC;"),Ce.SUPPORTED_EXTENSIONS.EXT_frag_depth&&s.push("out float vFragDepth;"),s.push("bool isPerspectiveMatrix(mat4 m) {"),s.push(" return (m[2][3] == - 1.0);"),s.push("}"),s.push("varying float isPerspective;")),s.push("vec3 octDecode(vec2 oct) {"),s.push(" vec3 v = vec3(oct.xy, 1.0 - abs(oct.x) - abs(oct.y));"),s.push(" if (v.z < 0.0) {"),s.push(" v.xy = (1.0 - abs(v.yx)) * vec2(v.x >= 0.0 ? 1.0 : -1.0, v.y >= 0.0 ? 1.0 : -1.0);"),s.push(" }"),s.push(" return normalize(v);"),s.push("}"),t&&(s.push("out vec4 vWorldPosition;"),s.push("out vec4 vFlags2;")),s.push("out vec3 vViewNormal;"),s.push("void main(void) {"),s.push("if (int(flags.x) != renderPass) {"),s.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),s.push(" } else {"),s.push(" vec4 worldPosition = worldMatrix * (objectDecodeAndInstanceMatrix * vec4(position, 1.0)); "),e.entityOffsetsEnabled&&s.push(" worldPosition.xyz = worldPosition.xyz + offset;"),s.push(" vec4 viewPosition = viewMatrix * worldPosition; "),s.push(" vec4 worldNormal = worldNormalMatrix * vec4(octDecode(normal.xy), 0.0); "),s.push(" vec3 viewNormal = normalize((viewNormalMatrix * worldNormal).xyz);"),t&&(s.push(" vWorldPosition = worldPosition;"),s.push(" vFlags2 = flags2;")),s.push(" vViewNormal = viewNormal;"),s.push("vec4 clipPos = projMatrix * viewPosition;"),e.logarithmicDepthBufferEnabled&&(Ce.SUPPORTED_EXTENSIONS.EXT_frag_depth?s.push("vFragDepth = 1.0 + clipPos.w;"):(s.push("clipPos.z = log2( max( 1e-6, clipPos.w + 1.0 ) ) * logDepthBufFC - 1.0;"),s.push("clipPos.z *= clipPos.w;")),s.push("isPerspective = float (isPerspectiveMatrix(projMatrix));")),s.push("gl_Position = clipPos;"),s.push(" }"),s.push("}"),s}_buildFragmentShader(){const e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,s=[];if(s.push("#version 300 es"),s.push("// Batched geometry normals fragment shader"),e.logarithmicDepthBufferEnabled&&Ce.SUPPORTED_EXTENSIONS.EXT_frag_depth&&s.push("#extension GL_EXT_frag_depth : enable"),s.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),s.push("precision highp float;"),s.push("precision highp int;"),s.push("#else"),s.push("precision mediump float;"),s.push("precision mediump int;"),s.push("#endif"),e.logarithmicDepthBufferEnabled&&Ce.SUPPORTED_EXTENSIONS.EXT_frag_depth&&(s.push("in float isPerspective;"),s.push("uniform float logDepthBufFC;"),s.push("in float vFragDepth;")),t){s.push("in vec4 vWorldPosition;"),s.push("in vec4 vFlags2;");for(let t=0;t 0.0);"),s.push(" if (clippable) {"),s.push(" float dist = 0.0;");for(var n=0;n 0.0) { discard; }"),s.push(" }")}return e.logarithmicDepthBufferEnabled&&Ce.SUPPORTED_EXTENSIONS.EXT_frag_depth&&s.push(" gl_FragDepthEXT = isPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5;"),s.push(" gl_FragColor = vec4(packNormalToRGB(vViewNormal), 1.0); "),s.push("}"),s}webglContextRestored(){this._program=null}destroy(){this._program&&this._program.destroy(),this._program=null}}const wu=A.vec3(),gu=A.vec3(),Eu=A.vec3();A.vec3(),A.vec4();const Tu=A.mat4();class bu{constructor(e,t){this._scene=e,this._withSAO=t,this._hash=this._getHash(),this._allocate()}getValid(){return this._hash===this._getHash()}_getHash(){const e=this._scene;return[e._lightsState.getHash(),e._sectionPlanesState.getHash(),this._withSAO?"sao":"nosao"].join(";")}drawLayer(e,t,s){const n=this._scene,i=n.camera,a=t.model,r=n.canvas.gl,l=t._state,o=l.textureState,c=t._state.origin,{position:u,rotationMatrix:h,rotationMatrixConjugate:p}=a;if(!this._program&&(this._allocate(),this.errors))return;let d,f;e.lastProgramId!==this._program.id&&(e.lastProgramId=this._program.id,this._bindProgram(e,l)),o.bindCommonTextures(this._program,this.uTexturePerObjectPositionsDecodeMatrix,this._uTexturePerVertexIdCoordinates,this.uTexturePerObjectColorsAndFlags,this._uTexturePerObjectMatrix);const I=0!==c[0]||0!==c[1]||0!==c[2],y=0!==u[0]||0!==u[1]||0!==u[2];if(I||y){const e=wu;if(I){const t=A.transformPoint3(h,c,gu);e[0]=t[0],e[1]=t[1],e[2]=t[2]}else e[0]=0,e[1]=0,e[2]=0;e[0]+=u[0],e[1]+=u[1],e[2]+=u[2],d=Q(i.viewMatrix,e,Tu),f=Eu,f[0]=i.eye[0]-e[0],f[1]=i.eye[1]-e[1],f[2]=i.eye[2]-e[2]}else d=i.viewMatrix,f=i.eye;if(r.uniform2fv(this._uPickClipPos,e.pickClipPos),r.uniform2f(this._uDrawingBufferSize,r.drawingBufferWidth,r.drawingBufferHeight),r.uniformMatrix4fv(this._uSceneModelMatrix,!1,p),r.uniformMatrix4fv(this._uViewMatrix,!1,d),r.uniformMatrix4fv(this._uProjMatrix,!1,i.projMatrix),r.uniform3fv(this._uCameraEyeRtc,f),r.uniform1i(this._uRenderPass,s),n.logarithmicDepthBufferEnabled){const t=2/(Math.log(e.pickZFar+1)/Math.LN2);r.uniform1f(this._uLogDepthBufFC,t)}const m=n._sectionPlanesState.getNumAllocatedSectionPlanes(),v=n._sectionPlanesState.sectionPlanes.length;if(m>0){const e=n._sectionPlanesState.sectionPlanes,s=t.layerIndex*v,i=a.renderFlags;for(let t=0;t0&&(o.bindTriangleIndicesTextures(this._program,this._uTexturePerPolygonIdPortionIds,this._uTexturePerPolygonIdIndices,8),r.drawArrays(r.TRIANGLES,0,l.numIndices8Bits)),l.numIndices16Bits>0&&(o.bindTriangleIndicesTextures(this._program,this._uTexturePerPolygonIdPortionIds,this._uTexturePerPolygonIdIndices,16),r.drawArrays(r.TRIANGLES,0,l.numIndices16Bits)),l.numIndices32Bits>0&&(o.bindTriangleIndicesTextures(this._program,this._uTexturePerPolygonIdPortionIds,this._uTexturePerPolygonIdIndices,32),r.drawArrays(r.TRIANGLES,0,l.numIndices32Bits)),e.drawElements++}_allocate(){const e=this._scene,t=e.canvas.gl;if(this._program=new Fe(t,this._buildShader()),this._program.errors)return void(this.errors=this._program.errors);const s=this._program;this._uRenderPass=s.getLocation("renderPass"),this._uPickInvisible=s.getLocation("pickInvisible"),this._uPickClipPos=s.getLocation("pickClipPos"),this._uDrawingBufferSize=s.getLocation("drawingBufferSize"),this._uSceneModelMatrix=s.getLocation("sceneModelMatrix"),this._uViewMatrix=s.getLocation("viewMatrix"),this._uProjMatrix=s.getLocation("projMatrix"),this._uSectionPlanes=[];for(let t=0,n=e._sectionPlanesState.getNumAllocatedSectionPlanes();t0,s=[];return s.push("#version 300 es"),s.push("// trianglesDatatextureNormalsRenderer vertex shader"),s.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),s.push("precision highp float;"),s.push("precision highp int;"),s.push("precision highp usampler2D;"),s.push("precision highp isampler2D;"),s.push("precision highp sampler2D;"),s.push("#else"),s.push("precision mediump float;"),s.push("precision mediump int;"),s.push("precision mediump usampler2D;"),s.push("precision mediump isampler2D;"),s.push("precision mediump sampler2D;"),s.push("#endif"),s.push("uniform int renderPass;"),e.entityOffsetsEnabled&&s.push("in vec3 offset;"),s.push("uniform mat4 sceneModelMatrix;"),s.push("uniform mat4 viewMatrix;"),s.push("uniform mat4 projMatrix;"),s.push("uniform highp sampler2D uObjectPerObjectPositionsDecodeMatrix;"),s.push("uniform lowp usampler2D uObjectPerObjectColorsAndFlags;"),s.push("uniform highp sampler2D uTexturePerObjectMatrix;"),s.push("uniform mediump usampler2D uTexturePerVertexIdCoordinates;"),s.push("uniform highp usampler2D uTexturePerPolygonIdIndices;"),s.push("uniform mediump usampler2D uTexturePerPolygonIdPortionIds;"),s.push("uniform vec3 uCameraEyeRtc;"),s.push("vec3 positions[3];"),e.logarithmicDepthBufferEnabled&&(s.push("uniform float logDepthBufFC;"),s.push("out float vFragDepth;"),s.push("out float isPerspective;")),s.push("uniform vec2 pickClipPos;"),s.push("uniform vec2 drawingBufferSize;"),s.push("vec4 remapClipPos(vec4 clipPos) {"),s.push(" clipPos.xy /= clipPos.w;"),s.push(" clipPos.xy = (clipPos.xy - pickClipPos) * drawingBufferSize;"),s.push(" clipPos.xy *= clipPos.w;"),s.push(" return clipPos;"),s.push("}"),s.push("bool isPerspectiveMatrix(mat4 m) {"),s.push(" return (m[2][3] == - 1.0);"),s.push("}"),s.push("out vec4 vWorldPosition;"),t&&s.push("flat out uint vFlags2;"),s.push("void main(void) {"),s.push("int polygonIndex = gl_VertexID / 3;"),s.push("int h_packed_object_id_index = (polygonIndex >> 3) & 4095;"),s.push("int v_packed_object_id_index = (polygonIndex >> 3) >> 12;"),s.push("int objectIndex = int(texelFetch(uTexturePerPolygonIdPortionIds, ivec2(h_packed_object_id_index, v_packed_object_id_index), 0).r);"),s.push("ivec2 objectIndexCoords = ivec2(objectIndex % 512, objectIndex / 512);"),s.push("uvec4 flags = texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+2, objectIndexCoords.y), 0);"),s.push("uvec4 flags2 = texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+3, objectIndexCoords.y), 0);"),s.push("if (int(flags.w) != renderPass) {"),s.push(" gl_Position = vec4(3.0, 3.0, 3.0, 1.0);"),s.push(" return;"),s.push("} else {"),s.push("ivec4 packedVertexBase = ivec4(texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+4, objectIndexCoords.y), 0));"),s.push("ivec4 packedIndexBaseOffset = ivec4(texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+5, objectIndexCoords.y), 0));"),s.push("int indexBaseOffset = (packedIndexBaseOffset.r << 24) + (packedIndexBaseOffset.g << 16) + (packedIndexBaseOffset.b << 8) + packedIndexBaseOffset.a;"),s.push("int h_index = (polygonIndex - indexBaseOffset) & 4095;"),s.push("int v_index = (polygonIndex - indexBaseOffset) >> 12;"),s.push("ivec3 vertexIndices = ivec3(texelFetch(uTexturePerPolygonIdIndices, ivec2(h_index, v_index), 0));"),s.push("ivec3 uniqueVertexIndexes = vertexIndices + (packedVertexBase.r << 24) + (packedVertexBase.g << 16) + (packedVertexBase.b << 8) + packedVertexBase.a;"),s.push("ivec3 indexPositionH = uniqueVertexIndexes & 4095;"),s.push("ivec3 indexPositionV = uniqueVertexIndexes >> 12;"),s.push("mat4 objectInstanceMatrix = mat4 (texelFetch (uTexturePerObjectMatrix, ivec2(objectIndexCoords.x*4+0, objectIndexCoords.y), 0), texelFetch (uTexturePerObjectMatrix, ivec2(objectIndexCoords.x*4+1, objectIndexCoords.y), 0), texelFetch (uTexturePerObjectMatrix, ivec2(objectIndexCoords.x*4+2, objectIndexCoords.y), 0), texelFetch (uTexturePerObjectMatrix, ivec2(objectIndexCoords.x*4+3, objectIndexCoords.y), 0));"),s.push("mat4 objectDecodeAndInstanceMatrix = objectInstanceMatrix * mat4 (texelFetch (uObjectPerObjectPositionsDecodeMatrix, ivec2(objectIndexCoords.x*4+0, objectIndexCoords.y), 0), texelFetch (uObjectPerObjectPositionsDecodeMatrix, ivec2(objectIndexCoords.x*4+1, objectIndexCoords.y), 0), texelFetch (uObjectPerObjectPositionsDecodeMatrix, ivec2(objectIndexCoords.x*4+2, objectIndexCoords.y), 0), texelFetch (uObjectPerObjectPositionsDecodeMatrix, ivec2(objectIndexCoords.x*4+3, objectIndexCoords.y), 0));"),s.push("uint solid = texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+7, objectIndexCoords.y), 0).r;"),s.push("positions[0] = vec3(texelFetch(uTexturePerVertexIdCoordinates, ivec2(indexPositionH.r, indexPositionV.r), 0));"),s.push("positions[1] = vec3(texelFetch(uTexturePerVertexIdCoordinates, ivec2(indexPositionH.g, indexPositionV.g), 0));"),s.push("positions[2] = vec3(texelFetch(uTexturePerVertexIdCoordinates, ivec2(indexPositionH.b, indexPositionV.b), 0));"),s.push("uvec4 color = texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+0, objectIndexCoords.y), 0);"),s.push("if (color.a == 0u) {"),s.push(" gl_Position = vec4(3.0, 3.0, 3.0, 1.0);"),s.push(" return;"),s.push("};"),s.push("vec3 normal = normalize(cross(positions[2] - positions[0], positions[1] - positions[0]));"),s.push("vec3 position;"),s.push("position = positions[gl_VertexID % 3];"),s.push("vec3 viewNormal = -normalize((transpose(inverse(viewMatrix*objectDecodeAndInstanceMatrix)) * vec4(normal,1)).xyz);"),s.push("if (solid != 1u) {"),s.push("if (isPerspectiveMatrix(projMatrix)) {"),s.push("vec3 uCameraEyeRtcInQuantizedSpace = (inverse(sceneModelMatrix * objectDecodeAndInstanceMatrix) * vec4(uCameraEyeRtc, 1)).xyz;"),s.push("if (dot(position.xyz - uCameraEyeRtcInQuantizedSpace, normal) < 0.0) {"),s.push("position = positions[2 - (gl_VertexID % 3)];"),s.push("viewNormal = -viewNormal;"),s.push("}"),s.push("} else {"),s.push("vec3 viewNormal = -normalize((transpose(inverse(viewMatrix*objectDecodeAndInstanceMatrix)) * vec4(normal,1)).xyz);"),s.push("if (viewNormal.z < 0.0) {"),s.push("position = positions[2 - (gl_VertexID % 3)];"),s.push("}"),s.push("}"),s.push("}"),s.push("vec4 worldPosition = sceneModelMatrix * (objectDecodeAndInstanceMatrix * vec4(position, 1.0)); "),s.push("vec4 viewPosition = viewMatrix * worldPosition; "),s.push("vec4 clipPos = projMatrix * viewPosition;"),e.logarithmicDepthBufferEnabled&&(s.push("vFragDepth = 1.0 + clipPos.w;"),s.push("isPerspective = float (isPerspectiveMatrix(projMatrix));")),s.push("vWorldPosition = worldPosition;"),t&&s.push("vFlags2 = flags2.r;"),s.push("gl_Position = remapClipPos(clipPos);"),s.push("}"),s.push("}"),s}_buildFragmentShader(){const e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,s=[];if(s.push("#version 300 es"),s.push("// TrianglesDataTexturePickNormalsRenderer fragment shader"),s.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),s.push("precision highp float;"),s.push("precision highp int;"),s.push("#else"),s.push("precision mediump float;"),s.push("precision mediump int;"),s.push("#endif"),e.logarithmicDepthBufferEnabled&&(s.push("in float isPerspective;"),s.push("uniform float logDepthBufFC;"),s.push("in float vFragDepth;")),s.push("in vec4 vWorldPosition;"),t){s.push("flat in uint vFlags2;");for(let t=0,n=e._sectionPlanesState.getNumAllocatedSectionPlanes();t 0u;"),s.push(" if (clippable) {"),s.push(" float dist = 0.0;");for(let t=0,n=e._sectionPlanesState.getNumAllocatedSectionPlanes();t 0.0) { "),s.push(" discard;"),s.push(" }"),s.push("}")}return e.logarithmicDepthBufferEnabled&&s.push(" gl_FragDepth = isPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5;"),s.push(" vec3 xTangent = dFdx( vWorldPosition.xyz );"),s.push(" vec3 yTangent = dFdy( vWorldPosition.xyz );"),s.push(" vec3 worldNormal = normalize( cross( xTangent, yTangent ) );"),s.push(` outNormal = ivec4(worldNormal * float(${A.MAX_INT}), 1.0);`),s.push("}"),s}webglContextRestored(){this._program=null}destroy(){this._program&&this._program.destroy(),this._program=null}}class Du{constructor(e){this._scene=e}_compile(){this._colorRenderer&&!this._colorRenderer.getValid()&&(this._colorRenderer.destroy(),this._colorRenderer=null),this._colorRendererWithSAO&&!this._colorRendererWithSAO.getValid()&&(this._colorRendererWithSAO.destroy(),this._colorRendererWithSAO=null),this._flatColorRenderer&&!this._flatColorRenderer.getValid()&&(this._flatColorRenderer.destroy(),this._flatColorRenderer=null),this._flatColorRendererWithSAO&&!this._flatColorRendererWithSAO.getValid()&&(this._flatColorRendererWithSAO.destroy(),this._flatColorRendererWithSAO=null),this._colorQualityRendererWithSAO&&!this._colorQualityRendererWithSAO.getValid()&&(this._colorQualityRendererWithSAO.destroy(),this._colorQualityRendererWithSAO=null),this._depthRenderer&&!this._depthRenderer.getValid()&&(this._depthRenderer.destroy(),this._depthRenderer=null),this._normalsRenderer&&!this._normalsRenderer.getValid()&&(this._normalsRenderer.destroy(),this._normalsRenderer=null),this._silhouetteRenderer&&!this._silhouetteRenderer.getValid()&&(this._silhouetteRenderer.destroy(),this._silhouetteRenderer=null),this._edgesRenderer&&!this._edgesRenderer.getValid()&&(this._edgesRenderer.destroy(),this._edgesRenderer=null),this._edgesColorRenderer&&!this._edgesColorRenderer.getValid()&&(this._edgesColorRenderer.destroy(),this._edgesColorRenderer=null),this._pickMeshRenderer&&!this._pickMeshRenderer.getValid()&&(this._pickMeshRenderer.destroy(),this._pickMeshRenderer=null),this._pickDepthRenderer&&!this._pickDepthRenderer.getValid()&&(this._pickDepthRenderer.destroy(),this._pickDepthRenderer=null),this._vertexDepthRenderer&&!this._vertexDepthRenderer.getValid()&&(this._vertexDepthRenderer.destroy(),this._vertexDepthRenderer=null),this._snapDepthBufInitRenderer&&!this._snapDepthBufInitRenderer.getValid()&&(this._snapDepthBufInitRenderer.destroy(),this._snapDepthBufInitRenderer=null),this._pickNormalsRenderer&&!1===this._pickNormalsRenderer.getValid()&&(this._pickNormalsRenderer.destroy(),this._pickNormalsRenderer=null),this._pickNormalsFlatRenderer&&!1===this._pickNormalsFlatRenderer.getValid()&&(this._pickNormalsFlatRenderer.destroy(),this._pickNormalsFlatRenderer=null),this._occlusionRenderer&&!1===this._occlusionRenderer.getValid()&&(this._occlusionRenderer.destroy(),this._occlusionRenderer=null)}eagerCreateRenders(){this._silhouetteRenderer||(this._silhouetteRenderer=new Rc(this._scene)),this._pickMeshRenderer||(this._pickMeshRenderer=new jc(this._scene)),this._pickDepthRenderer||(this._pickDepthRenderer=new zc(this._scene)),this._pickNormalsRenderer||(this._pickNormalsRenderer=new bu(this._scene)),this._vertexDepthRenderer||(this._vertexDepthRenderer=new Zc(this._scene)),this._snapDepthBufInitRenderer||(this._snapDepthBufInitRenderer=new iu(this._scene))}get colorRenderer(){return this._colorRenderer||(this._colorRenderer=new gc(this._scene,!1)),this._colorRenderer}get colorRendererWithSAO(){return this._colorRendererWithSAO||(this._colorRendererWithSAO=new gc(this._scene,!0)),this._colorRendererWithSAO}get colorQualityRendererWithSAO(){return this._colorQualityRendererWithSAO}get silhouetteRenderer(){return this._silhouetteRenderer||(this._silhouetteRenderer=new Rc(this._scene)),this._silhouetteRenderer}get depthRenderer(){return this._depthRenderer||(this._depthRenderer=new du(this._scene)),this._depthRenderer}get normalsRenderer(){return this._normalsRenderer||(this._normalsRenderer=new vu(this._scene)),this._normalsRenderer}get edgesRenderer(){return this._edgesRenderer||(this._edgesRenderer=new Sc(this._scene)),this._edgesRenderer}get edgesColorRenderer(){return this._edgesColorRenderer||(this._edgesColorRenderer=new Mc(this._scene)),this._edgesColorRenderer}get pickMeshRenderer(){return this._pickMeshRenderer||(this._pickMeshRenderer=new jc(this._scene)),this._pickMeshRenderer}get pickNormalsRenderer(){return this._pickNormalsRenderer||(this._pickNormalsRenderer=new bu(this._scene)),this._pickNormalsRenderer}get pickNormalsFlatRenderer(){return this._pickNormalsFlatRenderer||(this._pickNormalsFlatRenderer=new bu(this._scene)),this._pickNormalsFlatRenderer}get pickDepthRenderer(){return this._pickDepthRenderer||(this._pickDepthRenderer=new zc(this._scene)),this._pickDepthRenderer}get vertexDepthRenderer(){return this._vertexDepthRenderer||(this._vertexDepthRenderer=new Zc(this._scene)),this._vertexDepthRenderer}get snapDepthBufInitRenderer(){return this._snapDepthBufInitRenderer||(this._snapDepthBufInitRenderer=new iu(this._scene)),this._snapDepthBufInitRenderer}get occlusionRenderer(){return this._occlusionRenderer||(this._occlusionRenderer=new cu(this._scene)),this._occlusionRenderer}_destroy(){this._colorRenderer&&this._colorRenderer.destroy(),this._colorRendererWithSAO&&this._colorRendererWithSAO.destroy(),this._flatColorRenderer&&this._flatColorRenderer.destroy(),this._flatColorRendererWithSAO&&this._flatColorRendererWithSAO.destroy(),this._colorQualityRendererWithSAO&&this._colorQualityRendererWithSAO.destroy(),this._depthRenderer&&this._depthRenderer.destroy(),this._normalsRenderer&&this._normalsRenderer.destroy(),this._silhouetteRenderer&&this._silhouetteRenderer.destroy(),this._edgesRenderer&&this._edgesRenderer.destroy(),this._edgesColorRenderer&&this._edgesColorRenderer.destroy(),this._pickMeshRenderer&&this._pickMeshRenderer.destroy(),this._pickDepthRenderer&&this._pickDepthRenderer.destroy(),this._vertexDepthRenderer&&this._vertexDepthRenderer.destroy(),this._snapDepthBufInitRenderer&&this._snapDepthBufInitRenderer.destroy(),this._pickNormalsRenderer&&this._pickNormalsRenderer.destroy(),this._pickNormalsFlatRenderer&&this._pickNormalsFlatRenderer.destroy(),this._occlusionRenderer&&this._occlusionRenderer.destroy()}}const Pu={};class Ru{constructor(){this.positionsCompressed=[],this.lenPositionsCompressed=0,this.metallicRoughness=[],this.indices8Bits=[],this.lenIndices8Bits=0,this.indices16Bits=[],this.lenIndices16Bits=0,this.indices32Bits=[],this.lenIndices32Bits=0,this.edgeIndices8Bits=[],this.lenEdgeIndices8Bits=0,this.edgeIndices16Bits=[],this.lenEdgeIndices16Bits=0,this.edgeIndices32Bits=[],this.lenEdgeIndices32Bits=0,this.perObjectColors=[],this.perObjectPickColors=[],this.perObjectSolid=[],this.perObjectOffsets=[],this.perObjectPositionsDecodeMatrices=[],this.perObjectInstancePositioningMatrices=[],this.perObjectVertexBases=[],this.perObjectIndexBaseOffsets=[],this.perObjectEdgeIndexBaseOffsets=[],this.perTriangleNumberPortionId8Bits=[],this.perTriangleNumberPortionId16Bits=[],this.perTriangleNumberPortionId32Bits=[],this.perEdgeNumberPortionId8Bits=[],this.perEdgeNumberPortionId16Bits=[],this.perEdgeNumberPortionId32Bits=[]}}class Cu{constructor(){this.texturePerObjectColorsAndFlags=null,this.texturePerObjectOffsets=null,this.texturePerObjectInstanceMatrices=null,this.texturePerObjectPositionsDecodeMatrix=null,this.texturePerVertexIdCoordinates=null,this.texturePerPolygonIdPortionIds8Bits=null,this.texturePerPolygonIdPortionIds16Bits=null,this.texturePerPolygonIdPortionIds32Bits=null,this.texturePerEdgeIdPortionIds8Bits=null,this.texturePerEdgeIdPortionIds16Bits=null,this.texturePerEdgeIdPortionIds32Bits=null,this.texturePerPolygonIdIndices8Bits=null,this.texturePerPolygonIdIndices16Bits=null,this.texturePerPolygonIdIndices32Bits=null,this.texturePerPolygonIdEdgeIndices8Bits=null,this.texturePerPolygonIdEdgeIndices16Bits=null,this.texturePerPolygonIdEdgeIndices32Bits=null,this.textureModelMatrices=null}finalize(){this.indicesPerBitnessTextures={8:this.texturePerPolygonIdIndices8Bits,16:this.texturePerPolygonIdIndices16Bits,32:this.texturePerPolygonIdIndices32Bits},this.indicesPortionIdsPerBitnessTextures={8:this.texturePerPolygonIdPortionIds8Bits,16:this.texturePerPolygonIdPortionIds16Bits,32:this.texturePerPolygonIdPortionIds32Bits},this.edgeIndicesPerBitnessTextures={8:this.texturePerPolygonIdEdgeIndices8Bits,16:this.texturePerPolygonIdEdgeIndices16Bits,32:this.texturePerPolygonIdEdgeIndices32Bits},this.edgeIndicesPortionIdsPerBitnessTextures={8:this.texturePerEdgeIdPortionIds8Bits,16:this.texturePerEdgeIdPortionIds16Bits,32:this.texturePerEdgeIdPortionIds32Bits}}bindCommonTextures(e,t,s,n,i){this.texturePerObjectPositionsDecodeMatrix.bindTexture(e,t,1),this.texturePerVertexIdCoordinates.bindTexture(e,s,2),this.texturePerObjectColorsAndFlags.bindTexture(e,n,3),this.texturePerObjectInstanceMatrices.bindTexture(e,i,4)}bindTriangleIndicesTextures(e,t,s,n){this.indicesPortionIdsPerBitnessTextures[n].bindTexture(e,t,5),this.indicesPerBitnessTextures[n].bindTexture(e,s,6)}bindEdgeIndicesTextures(e,t,s,n){this.edgeIndicesPortionIdsPerBitnessTextures[n].bindTexture(e,t,5),this.edgeIndicesPerBitnessTextures[n].bindTexture(e,s,6)}}class _u{constructor(e,t,s,n,i=null){this._gl=e,this._texture=t,this._textureWidth=s,this._textureHeight=n,this._textureData=i}bindTexture(e,t,s){return e.bindTexture(t,this,s)}bind(e){return this._gl.activeTexture(this._gl["TEXTURE"+e]),this._gl.bindTexture(this._gl.TEXTURE_2D,this._texture),!0}unbind(e){}}const Bu={sizeDataColorsAndFlags:0,sizeDataPositionDecodeMatrices:0,sizeDataTextureOffsets:0,sizeDataTexturePositions:0,sizeDataTextureIndices:0,sizeDataTextureEdgeIndices:0,sizeDataTexturePortionIds:0,numberOfGeometries:0,numberOfPortions:0,numberOfLayers:0,numberOfTextures:0,totalPolygons:0,totalPolygons8Bits:0,totalPolygons16Bits:0,totalPolygons32Bits:0,totalEdges:0,totalEdges8Bits:0,totalEdges16Bits:0,totalEdges32Bits:0,cannotCreatePortion:{because10BitsObjectId:0,becauseTextureSize:0},overheadSizeAlignementIndices:0,overheadSizeAlignementEdgeIndices:0};window.printDataTextureRamStats=function(){console.log(JSON.stringify(Bu,null,4));let e=0;Object.keys(Bu).forEach((t=>{t.startsWith("size")&&(e+=Bu[t])})),console.log(`Total size ${e} bytes (${(e/1e3/1e3).toFixed(2)} MB)`),console.log(`Avg bytes / triangle: ${(e/Bu.totalPolygons).toFixed(2)}`);let t={};Object.keys(Bu).forEach((s=>{s.startsWith("size")&&(t[s]=`${(Bu[s]/e*100).toFixed(2)} % of total`)})),console.log(JSON.stringify({percentualRamUsage:t},null,4))};class Ou{disableBindedTextureFiltering(e){e.texParameteri(e.TEXTURE_2D,e.TEXTURE_MAG_FILTER,e.NEAREST),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_MIN_FILTER,e.NEAREST),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_WRAP_S,e.CLAMP_TO_EDGE),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_WRAP_T,e.CLAMP_TO_EDGE)}generateTextureForColorsAndFlags(e,t,s,n,i,a,r){const l=t.length;this.numPortions=l;const o=4096,c=Math.ceil(l/512);if(0===c)throw"texture height===0";const u=new Uint8Array(16384*c);Bu.sizeDataColorsAndFlags+=u.byteLength,Bu.numberOfTextures++;for(let e=0;e>24&255,n[e]>>16&255,n[e]>>8&255,255&n[e]],32*e+16),u.set([i[e]>>24&255,i[e]>>16&255,i[e]>>8&255,255&i[e]],32*e+20),u.set([a[e]>>24&255,a[e]>>16&255,a[e]>>8&255,255&a[e]],32*e+24),u.set([r[e]?1:0,0,0,0],32*e+28);const h=e.createTexture();return e.bindTexture(e.TEXTURE_2D,h),e.texStorage2D(e.TEXTURE_2D,1,e.RGBA8UI,o,c),e.texSubImage2D(e.TEXTURE_2D,0,0,0,o,c,e.RGBA_INTEGER,e.UNSIGNED_BYTE,u,0),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_MAG_FILTER,e.NEAREST),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_MIN_FILTER,e.NEAREST),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_WRAP_S,e.CLAMP_TO_EDGE),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_WRAP_T,e.CLAMP_TO_EDGE),e.bindTexture(e.TEXTURE_2D,null),new _u(e,h,o,c,u)}generateTextureForObjectOffsets(e,t){const s=512,n=Math.ceil(t/s);if(0===n)throw"texture height===0";const i=new Float32Array(1536*n).fill(0);Bu.sizeDataTextureOffsets+=i.byteLength,Bu.numberOfTextures++;const a=e.createTexture();return e.bindTexture(e.TEXTURE_2D,a),e.texStorage2D(e.TEXTURE_2D,1,e.RGB32F,s,n),e.texSubImage2D(e.TEXTURE_2D,0,0,0,s,n,e.RGB,e.FLOAT,i,0),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_MAG_FILTER,e.NEAREST),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_MIN_FILTER,e.NEAREST),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_WRAP_S,e.CLAMP_TO_EDGE),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_WRAP_T,e.CLAMP_TO_EDGE),e.bindTexture(e.TEXTURE_2D,null),new _u(e,a,s,n,i)}generateTextureForInstancingMatrices(e,t){const s=t.length;if(0===s)throw"num instance matrices===0";const n=2048,i=Math.ceil(s/512),a=new Float32Array(8192*i);Bu.numberOfTextures++;for(let e=0;e{s._compile(),s.eagerCreateRenders()})),e.on("destroyed",(()=>{delete Pu[t],s._destroy()}))),s}(e.scene),this.model=e,this._buffer=new Ru,this._dataTextureState=new Cu,this._dataTextureGenerator=new Ou,this._state=new it({origin:A.vec3(t.origin),metallicRoughnessBuf:null,textureState:this._dataTextureState,numIndices8Bits:0,numIndices16Bits:0,numIndices32Bits:0,numEdgeIndices8Bits:0,numEdgeIndices16Bits:0,numEdgeIndices32Bits:0,numVertices:0}),this._numPortions=0,this._numVisibleLayerPortions=0,this._numTransparentLayerPortions=0,this._numXRayedLayerPortions=0,this._numSelectedLayerPortions=0,this._numHighlightedLayerPortions=0,this._numClippableLayerPortions=0,this._numEdgesLayerPortions=0,this._numPickableLayerPortions=0,this._numCulledLayerPortions=0,this._subPortions=[],this._portionToSubPortionsMap=[],this._bucketGeometries={},this.aabb=A.collapseAABB3(),this._numUpdatesInFrame=0,this._finalized=!1}canCreatePortion(e){if(this._finalized)throw"Already finalized";const t=e.buckets.length;this._numPortions+t>65536&&Bu.cannotCreatePortion.because10BitsObjectId++;let s=this._numPortions+t<=65536;const n=void 0!==e.geometryId&&null!==e.geometryId?`${e.geometryId}#0`:`${e.id}#0`;if(!this._bucketGeometries[n]){const t=Math.max(this._state.numIndices8Bits,this._state.numIndices16Bits,this._state.numIndices32Bits);let n=0,i=0;e.buckets.forEach((e=>{n+=e.positionsCompressed.length/3,i+=e.indices.length/3})),(this._state.numVertices+n>16777216||t+i>16777216)&&Bu.cannotCreatePortion.becauseTextureSize++,s&&=this._state.numVertices+n<=16777216&&t+i<=16777216}return s}createPortion(e){if(this._finalized)throw"Already finalized";const t=[];e.buckets.forEach(((s,n)=>{const i=void 0!==e.geometryId&&null!==e.geometryId?`${e.geometryId}#${n}`:`${e.id}#${n}`;let a=this._bucketGeometries[i];a||(a=this._createBucketGeometry(e,s),this._bucketGeometries[i]=a);const r=this._createSubPortion(e,a,s);t.push(r)}));const s=this._portionToSubPortionsMap.length;return this._portionToSubPortionsMap.push(t),this.model.numPortions++,s}_createBucketGeometry(e,t){if(t.indices){const e=8*Math.ceil(t.indices.length/3/8)*3;Bu.overheadSizeAlignementIndices+=2*(e-t.indices.length);const s=new Uint32Array(e);s.fill(0),s.set(t.indices),t.indices=s}if(t.edgeIndices){const e=8*Math.ceil(t.edgeIndices.length/2/8)*2;Bu.overheadSizeAlignementEdgeIndices+=2*(e-t.edgeIndices.length);const s=new Uint32Array(e);s.fill(0),s.set(t.edgeIndices),t.edgeIndices=s}const s=t.positionsCompressed,n=t.indices,i=t.edgeIndices,a=this._buffer;a.positionsCompressed.push(s);const r=a.lenPositionsCompressed/3,l=s.length/3;let o;a.lenPositionsCompressed+=s.length;let c,u=0;if(n){let e;u=n.length/3,l<=256?(e=a.indices8Bits,o=a.lenIndices8Bits/3,a.lenIndices8Bits+=n.length):l<=65536?(e=a.indices16Bits,o=a.lenIndices16Bits/3,a.lenIndices16Bits+=n.length):(e=a.indices32Bits,o=a.lenIndices32Bits/3,a.lenIndices32Bits+=n.length),e.push(n)}let h=0;if(i){let e;h=i.length/2,l<=256?(e=a.edgeIndices8Bits,c=a.lenEdgeIndices8Bits/2,a.lenEdgeIndices8Bits+=i.length):l<=65536?(e=a.edgeIndices16Bits,c=a.lenEdgeIndices16Bits/2,a.lenEdgeIndices16Bits+=i.length):(e=a.edgeIndices32Bits,c=a.lenEdgeIndices32Bits/2,a.lenEdgeIndices32Bits+=i.length),e.push(i)}this._state.numVertices+=l,Bu.numberOfGeometries++;return{vertexBase:r,numVertices:l,numTriangles:u,numEdges:h,indicesBase:o,edgeIndicesBase:c,obb:null}}_createSubPortion(e,t,s,n){const i=e.color;e.metallic,e.roughness;const a=e.colors,r=e.opacity,l=e.meshMatrix,o=e.pickColor,c=this._buffer,u=this._state;c.perObjectPositionsDecodeMatrices.push(e.positionsDecodeMatrix),c.perObjectInstancePositioningMatrices.push(l||Mu),c.perObjectSolid.push(!!e.solid),a?c.perObjectColors.push([255*a[0],255*a[1],255*a[2],255]):i&&c.perObjectColors.push([i[0],i[1],i[2],r]),c.perObjectPickColors.push(o),c.perObjectVertexBases.push(t.vertexBase);{let e;e=t.numVertices<=256?u.numIndices8Bits:t.numVertices<=65536?u.numIndices16Bits:u.numIndices32Bits,c.perObjectIndexBaseOffsets.push(e/3-t.indicesBase)}{let e;e=t.numVertices<=256?u.numEdgeIndices8Bits:t.numVertices<=65536?u.numEdgeIndices16Bits:u.numEdgeIndices32Bits,c.perObjectEdgeIndexBaseOffsets.push(e/2-t.edgeIndicesBase)}const h=this._subPortions.length;if(t.numTriangles>0){let e,s=3*t.numTriangles;t.numVertices<=256?(e=c.perTriangleNumberPortionId8Bits,u.numIndices8Bits+=s,Bu.totalPolygons8Bits+=t.numTriangles):t.numVertices<=65536?(e=c.perTriangleNumberPortionId16Bits,u.numIndices16Bits+=s,Bu.totalPolygons16Bits+=t.numTriangles):(e=c.perTriangleNumberPortionId32Bits,u.numIndices32Bits+=s,Bu.totalPolygons32Bits+=t.numTriangles),Bu.totalPolygons+=t.numTriangles;for(let s=0;s0){let e,s=2*t.numEdges;t.numVertices<=256?(e=c.perEdgeNumberPortionId8Bits,u.numEdgeIndices8Bits+=s,Bu.totalEdges8Bits+=t.numEdges):t.numVertices<=65536?(e=c.perEdgeNumberPortionId16Bits,u.numEdgeIndices16Bits+=s,Bu.totalEdges16Bits+=t.numEdges):(e=c.perEdgeNumberPortionId32Bits,u.numEdgeIndices32Bits+=s,Bu.totalEdges32Bits+=t.numEdges),Bu.totalEdges+=t.numEdges;for(let s=0;s0&&(t.texturePerEdgeIdPortionIds8Bits=this._dataTextureGenerator.generateTextureForPackedPortionIds(s,n.perEdgeNumberPortionId8Bits)),n.perEdgeNumberPortionId16Bits.length>0&&(t.texturePerEdgeIdPortionIds16Bits=this._dataTextureGenerator.generateTextureForPackedPortionIds(s,n.perEdgeNumberPortionId16Bits)),n.perEdgeNumberPortionId32Bits.length>0&&(t.texturePerEdgeIdPortionIds32Bits=this._dataTextureGenerator.generateTextureForPackedPortionIds(s,n.perEdgeNumberPortionId32Bits)),n.lenIndices8Bits>0&&(t.texturePerPolygonIdIndices8Bits=this._dataTextureGenerator.generateTextureFor8BitIndices(s,n.indices8Bits,n.lenIndices8Bits)),n.lenIndices16Bits>0&&(t.texturePerPolygonIdIndices16Bits=this._dataTextureGenerator.generateTextureFor16BitIndices(s,n.indices16Bits,n.lenIndices16Bits)),n.lenIndices32Bits>0&&(t.texturePerPolygonIdIndices32Bits=this._dataTextureGenerator.generateTextureFor32BitIndices(s,n.indices32Bits,n.lenIndices32Bits)),n.lenEdgeIndices8Bits>0&&(t.texturePerPolygonIdEdgeIndices8Bits=this._dataTextureGenerator.generateTextureFor8BitsEdgeIndices(s,n.edgeIndices8Bits,n.lenEdgeIndices8Bits)),n.lenEdgeIndices16Bits>0&&(t.texturePerPolygonIdEdgeIndices16Bits=this._dataTextureGenerator.generateTextureFor16BitsEdgeIndices(s,n.edgeIndices16Bits,n.lenEdgeIndices16Bits)),n.lenEdgeIndices32Bits>0&&(t.texturePerPolygonIdEdgeIndices32Bits=this._dataTextureGenerator.generateTextureFor32BitsEdgeIndices(s,n.edgeIndices32Bits,n.lenEdgeIndices32Bits)),t.finalize(),this._buffer=null,this._bucketGeometries={},this._finalized=!0,this._deferredSetFlagsDirty=!1,this._onSceneRendering=this.model.scene.on("rendering",(()=>{this._deferredSetFlagsDirty&&this._uploadDeferredFlags(),this._numUpdatesInFrame=0}))}isEmpty(){return 0===this._numPortions}initFlags(e,t,s){t&X&&(this._numVisibleLayerPortions++,this.model.numVisibleLayerPortions++),t&te&&(this._numHighlightedLayerPortions++,this.model.numHighlightedLayerPortions++),t&ee&&(this._numXRayedLayerPortions++,this.model.numXRayedLayerPortions++),t&se&&(this._numSelectedLayerPortions++,this.model.numSelectedLayerPortions++),t&Z&&(this._numClippableLayerPortions++,this.model.numClippableLayerPortions++),t&ne&&(this._numEdgesLayerPortions++,this.model.numEdgesLayerPortions++),t&J&&(this._numPickableLayerPortions++,this.model.numPickableLayerPortions++),t&q&&(this._numCulledLayerPortions++,this.model.numCulledLayerPortions++),s&&(this._numTransparentLayerPortions++,this.model.numTransparentLayerPortions++);this._setFlags(e,t,s,true),this._setFlags2(e,t,true)}flushInitFlags(){this._setDeferredFlags(),this._setDeferredFlags2()}setVisible(e,t,s){if(!this._finalized)throw"Not finalized";t&X?(this._numVisibleLayerPortions++,this.model.numVisibleLayerPortions++):(this._numVisibleLayerPortions--,this.model.numVisibleLayerPortions--),this._setFlags(e,t,s)}setHighlighted(e,t,s){if(!this._finalized)throw"Not finalized";t&te?(this._numHighlightedLayerPortions++,this.model.numHighlightedLayerPortions++):(this._numHighlightedLayerPortions--,this.model.numHighlightedLayerPortions--),this._setFlags(e,t,s)}setXRayed(e,t,s){if(!this._finalized)throw"Not finalized";t&ee?(this._numXRayedLayerPortions++,this.model.numXRayedLayerPortions++):(this._numXRayedLayerPortions--,this.model.numXRayedLayerPortions--),this._setFlags(e,t,s)}setSelected(e,t,s){if(!this._finalized)throw"Not finalized";t&se?(this._numSelectedLayerPortions++,this.model.numSelectedLayerPortions++):(this._numSelectedLayerPortions--,this.model.numSelectedLayerPortions--),this._setFlags(e,t,s)}setEdges(e,t,s){if(!this._finalized)throw"Not finalized";t&ne?(this._numEdgesLayerPortions++,this.model.numEdgesLayerPortions++):(this._numEdgesLayerPortions--,this.model.numEdgesLayerPortions--),this._setFlags(e,t,s)}setClippable(e,t){if(!this._finalized)throw"Not finalized";t&Z?(this._numClippableLayerPortions++,this.model.numClippableLayerPortions++):(this._numClippableLayerPortions--,this.model.numClippableLayerPortions--),this._setFlags2(e,t)}_beginDeferredFlags(){this._deferredSetFlagsActive=!0}_uploadDeferredFlags(){if(console.info("_uploadDeferredFlags"),this._deferredSetFlagsActive=!1,!this._deferredSetFlagsDirty)return;this._deferredSetFlagsDirty=!1;const e=this.model.scene.canvas.gl,t=this._dataTextureState;e.bindTexture(e.TEXTURE_2D,t.texturePerObjectColorsAndFlags._texture),e.texSubImage2D(e.TEXTURE_2D,0,0,0,t.texturePerObjectColorsAndFlags._textureWidth,t.texturePerObjectColorsAndFlags._textureHeight,e.RGBA_INTEGER,e.UNSIGNED_BYTE,t.texturePerObjectColorsAndFlags._textureData)}setCulled(e,t,s){if(!this._finalized)throw"Not finalized";t&q?(this._numCulledLayerPortions+=this._portionToSubPortionsMap[e].length,this.model.numCulledLayerPortions++):(this._numCulledLayerPortions-=this._portionToSubPortionsMap[e].length,this.model.numCulledLayerPortions--),this._setFlags(e,t,s)}setCollidable(e,t){if(!this._finalized)throw"Not finalized"}setPickable(e,t,s){if(!this._finalized)throw"Not finalized";t&J?(this._numPickableLayerPortions++,this.model.numPickableLayerPortions++):(this._numPickableLayerPortions--,this.model.numPickableLayerPortions--),this._setFlags(e,t,s)}setColor(e,t){const s=this._portionToSubPortionsMap[e];for(let e=0,n=s.length;e=10&&this._beginDeferredFlags(),console.info("_subPortionSetColor write through"),n.bindTexture(n.TEXTURE_2D,s.texturePerObjectColorsAndFlags._texture),n.texSubImage2D(n.TEXTURE_2D,0,e%512*8,Math.floor(e/512),1,1,n.RGBA_INTEGER,n.UNSIGNED_BYTE,Nu)}setTransparent(e,t,s){s?(this._numTransparentLayerPortions++,this.model.numTransparentLayerPortions++):(this._numTransparentLayerPortions--,this.model.numTransparentLayerPortions--),this._setFlags(e,t,s)}_setFlags(e,t,s,n=!1){const i=this._portionToSubPortionsMap[e];for(let e=0,a=i.length;e=10&&this._beginDeferredFlags(),d.bindTexture(d.TEXTURE_2D,A.texturePerObjectColorsAndFlags._texture),d.texSubImage2D(d.TEXTURE_2D,0,e%512*8+2,Math.floor(e/512),1,1,d.RGBA_INTEGER,d.UNSIGNED_BYTE,Nu))}_setDeferredFlags(){}_setFlags2(e,t,s=!1){const n=this._portionToSubPortionsMap[e];for(let e=0,i=n.length;e=10&&this._beginDeferredFlags(),a.bindTexture(a.TEXTURE_2D,i.texturePerObjectColorsAndFlags._texture),a.texSubImage2D(a.TEXTURE_2D,0,e%512*8+3,Math.floor(e/512),1,1,a.RGBA_INTEGER,a.UNSIGNED_BYTE,Nu))}_setDeferredFlags2(){}setOffset(e,t){const s=this._portionToSubPortionsMap[e];for(let e=0,n=s.length;e=10&&this._beginDeferredFlags(),n.bindTexture(n.TEXTURE_2D,s.texturePerObjectOffsets._texture),n.texSubImage2D(n.TEXTURE_2D,0,0,e,1,1,n.RGB,n.FLOAT,xu))}setMatrix(e,t){const s=this._portionToSubPortionsMap[e];for(let e=0,n=s.length;e=10&&this._beginDeferredFlags(),n.bindTexture(n.TEXTURE_2D,s.texturePerObjectInstanceMatrices._texture),n.texSubImage2D(n.TEXTURE_2D,0,e%512*4,Math.floor(e/512),4,1,n.RGBA,n.FLOAT,Su))}drawColorOpaque(e,t){this._numCulledLayerPortions!==this._numPortions&&0!==this._numVisibleLayerPortions&&this._numTransparentLayerPortions!==this._numPortions&&this._numXRayedLayerPortions!==this._numPortions&&(this._updateBackfaceCull(e,t),t.withSAO&&this.model.saoEnabled?this._dataTextureRenderers.colorRendererWithSAO&&this._dataTextureRenderers.colorRendererWithSAO.drawLayer(t,this,lr.COLOR_OPAQUE):this._dataTextureRenderers.colorRenderer&&this._dataTextureRenderers.colorRenderer.drawLayer(t,this,lr.COLOR_OPAQUE))}_updateBackfaceCull(e,t){const s=this.model.backfaces||e.sectioned;if(t.backfaces!==s){const e=t.gl;s?e.disable(e.CULL_FACE):e.enable(e.CULL_FACE),t.backfaces=s}}drawColorTransparent(e,t){this._numCulledLayerPortions!==this._numPortions&&0!==this._numVisibleLayerPortions&&0!==this._numTransparentLayerPortions&&this._numXRayedLayerPortions!==this._numPortions&&(this._updateBackfaceCull(e,t),this._dataTextureRenderers.colorRenderer&&this._dataTextureRenderers.colorRenderer.drawLayer(t,this,lr.COLOR_TRANSPARENT))}drawDepth(e,t){this._numCulledLayerPortions!==this._numPortions&&0!==this._numVisibleLayerPortions&&this._numTransparentLayerPortions!==this._numPortions&&this._numXRayedLayerPortions!==this._numPortions&&(this._updateBackfaceCull(e,t),this._dataTextureRenderers.depthRenderer&&this._dataTextureRenderers.depthRenderer.drawLayer(t,this,lr.COLOR_OPAQUE))}drawNormals(e,t){this._numCulledLayerPortions!==this._numPortions&&0!==this._numVisibleLayerPortions&&this._numTransparentLayerPortions!==this._numPortions&&this._numXRayedLayerPortions!==this._numPortions&&(this._updateBackfaceCull(e,t),this._dataTextureRenderers.normalsRenderer&&this._dataTextureRenderers.normalsRenderer.drawLayer(t,this,lr.COLOR_OPAQUE))}drawSilhouetteXRayed(e,t){this._numCulledLayerPortions!==this._numPortions&&0!==this._numVisibleLayerPortions&&0!==this._numXRayedLayerPortions&&(this._updateBackfaceCull(e,t),this._dataTextureRenderers.silhouetteRenderer&&this._dataTextureRenderers.silhouetteRenderer.drawLayer(t,this,lr.SILHOUETTE_XRAYED))}drawSilhouetteHighlighted(e,t){this._numCulledLayerPortions!==this._numPortions&&0!==this._numVisibleLayerPortions&&0!==this._numHighlightedLayerPortions&&(this._updateBackfaceCull(e,t),this._dataTextureRenderers.silhouetteRenderer&&this._dataTextureRenderers.silhouetteRenderer.drawLayer(t,this,lr.SILHOUETTE_HIGHLIGHTED))}drawSilhouetteSelected(e,t){this._numCulledLayerPortions!==this._numPortions&&0!==this._numVisibleLayerPortions&&0!==this._numSelectedLayerPortions&&(this._updateBackfaceCull(e,t),this._dataTextureRenderers.silhouetteRenderer&&this._dataTextureRenderers.silhouetteRenderer.drawLayer(t,this,lr.SILHOUETTE_SELECTED))}drawEdgesColorOpaque(e,t){this.model.scene.logarithmicDepthBufferEnabled?this.model.scene._loggedWarning||(console.log("Edge enhancement for SceneModel data texture layers currently disabled with logarithmic depth buffer"),this.model.scene._loggedWarning=!0):this._numCulledLayerPortions!==this._numPortions&&0!==this._numVisibleLayerPortions&&0!==this._numEdgesLayerPortions&&this._dataTextureRenderers.edgesColorRenderer&&this._dataTextureRenderers.edgesColorRenderer.drawLayer(t,this,lr.EDGES_COLOR_OPAQUE)}drawEdgesColorTransparent(e,t){this._numCulledLayerPortions!==this._numPortions&&0!==this._numVisibleLayerPortions&&0!==this._numEdgesLayerPortions&&0!==this._numTransparentLayerPortions&&this._dataTextureRenderers.edgesColorRenderer&&this._dataTextureRenderers.edgesColorRenderer.drawLayer(t,this,lr.EDGES_COLOR_TRANSPARENT)}drawEdgesHighlighted(e,t){this._numCulledLayerPortions!==this._numPortions&&0!==this._numVisibleLayerPortions&&0!==this._numHighlightedLayerPortions&&this._dataTextureRenderers.edgesRenderer&&this._dataTextureRenderers.edgesRenderer.drawLayer(t,this,lr.EDGES_HIGHLIGHTED)}drawEdgesSelected(e,t){this._numCulledLayerPortions!==this._numPortions&&0!==this._numVisibleLayerPortions&&0!==this._numSelectedLayerPortions&&this._dataTextureRenderers.edgesRenderer&&this._dataTextureRenderers.edgesRenderer.drawLayer(t,this,lr.EDGES_SELECTED)}drawEdgesXRayed(e,t){this._numCulledLayerPortions!==this._numPortions&&0!==this._numVisibleLayerPortions&&0!==this._numXRayedLayerPortions&&this._dataTextureRenderers.edgesRenderer&&this._dataTextureRenderers.edgesRenderer.drawLayer(t,this,lr.EDGES_XRAYED)}drawOcclusion(e,t){this._numCulledLayerPortions!==this._numPortions&&0!==this._numVisibleLayerPortions&&(this._updateBackfaceCull(e,t),this._dataTextureRenderers.occlusionRenderer&&this._dataTextureRenderers.occlusionRenderer.drawLayer(t,this,lr.COLOR_OPAQUE))}drawShadow(e,t){this._numCulledLayerPortions!==this._numPortions&&0!==this._numVisibleLayerPortions&&(this._updateBackfaceCull(e,t),this._dataTextureRenderers.shadowRenderer&&this._dataTextureRenderers.shadowRenderer.drawLayer(t,this,lr.COLOR_OPAQUE))}setPickMatrices(e,t){}drawPickMesh(e,t){0!==this._numVisibleLayerPortions&&(this._updateBackfaceCull(e,t),this._dataTextureRenderers.pickMeshRenderer&&this._dataTextureRenderers.pickMeshRenderer.drawLayer(t,this,lr.PICK))}drawPickDepths(e,t){0!==this._numVisibleLayerPortions&&(this._updateBackfaceCull(e,t),this._dataTextureRenderers.pickDepthRenderer&&this._dataTextureRenderers.pickDepthRenderer.drawLayer(t,this,lr.PICK))}drawSnapInitDepthBuf(e,t){this._numCulledLayerPortions!==this._numPortions&&0!==this._numVisibleLayerPortions&&(this._updateBackfaceCull(e,t),this._dataTextureRenderers.snapDepthBufInitRenderer&&this._dataTextureRenderers.snapDepthBufInitRenderer.drawLayer(t,this,lr.PICK))}drawSnapDepths(e,t){this._numCulledLayerPortions!==this._numPortions&&0!==this._numVisibleLayerPortions&&(this._updateBackfaceCull(e,t),this._dataTextureRenderers.vertexDepthRenderer&&this._dataTextureRenderers.vertexDepthRenderer.drawLayer(t,this,lr.PICK))}drawPickNormals(e,t){this._numCulledLayerPortions!==this._numPortions&&0!==this._numVisibleLayerPortions&&(this._updateBackfaceCull(e,t),this._dataTextureRenderers.pickNormalsRenderer&&this._dataTextureRenderers.pickNormalsRenderer.drawLayer(t,this,lr.PICK))}destroy(){if(this._destroyed)return;const e=this._state;e.metallicRoughnessBuf&&(e.metallicRoughnessBuf.destroy(),e.metallicRoughnessBuf=null),this.model.scene.off(this._onSceneRendering),e.destroy(),this._destroyed=!0}}const Hu=A.vec4(4),Uu=A.vec4(),Gu=A.vec4(),ju=A.vec3([1,0,0]),Vu=A.vec3([0,1,0]),ku=A.vec3([0,0,1]);A.vec3(3),A.vec3(3);const Qu=A.identityMat4();class Wu{constructor(e){this._model=e.model,this.id=e.id,this._parentTransform=e.parent,this._childTransforms=[],this._meshes=[],this._scale=new Float32Array([1,1,1]),this._quaternion=A.identityQuaternion(new Float32Array(4)),this._rotation=new Float32Array(3),this._position=new Float32Array(3),this._localMatrix=A.identityMat4(new Float32Array(16)),this._worldMatrix=A.identityMat4(new Float32Array(16)),this._localMatrixDirty=!0,this._worldMatrixDirty=!0,e.matrix?this.matrix=e.matrix:(this.scale=e.scale,this.position=e.position,e.quaternion||(this.rotation=e.rotation)),e.parent&&e.parent._addChildTransform(this)}_addChildTransform(e){this._childTransforms.push(e),e._parentTransform=this,e._setWorldMatrixDirty(),e._setAABBDirty()}_addMesh(e){this._meshes.push(e),e.transform=this}get parentTransform(){return this._parentTransform}get meshes(){return this._meshes}set position(e){this._position.set(e||[0,0,0]),this._setLocalMatrixDirty(),this._model.glRedraw()}get position(){return this._position}set rotation(e){this._rotation.set(e||[0,0,0]),A.eulerToQuaternion(this._rotation,"XYZ",this._quaternion),this._setLocalMatrixDirty(),this._model.glRedraw()}get rotation(){return this._rotation}set quaternion(e){this._quaternion.set(e||[0,0,0,1]),A.quaternionToEuler(this._quaternion,"XYZ",this._rotation),this._setLocalMatrixDirty(),this._model.glRedraw()}get quaternion(){return this._quaternion}set scale(e){this._scale.set(e||[1,1,1]),this._setLocalMatrixDirty(),this._model.glRedraw()}get scale(){return this._scale}set matrix(e){this._localMatrix||(this._localMatrix=A.identityMat4()),this._localMatrix.set(e||Qu),A.decomposeMat4(this._localMatrix,this._position,this._quaternion,this._scale),this._localMatrixDirty=!1,this._transformDirty(),this._model.glRedraw()}get matrix(){return this._localMatrixDirty&&(this._localMatrix||(this._localMatrix=A.identityMat4()),A.composeMat4(this._position,this._quaternion,this._scale,this._localMatrix),this._localMatrixDirty=!1),this._localMatrix}get worldMatrix(){return this._worldMatrixDirty&&this._buildWorldMatrix(),this._worldMatrix}rotate(e,t){return Hu[0]=e[0],Hu[1]=e[1],Hu[2]=e[2],Hu[3]=t*A.DEGTORAD,A.angleAxisToQuaternion(Hu,Uu),A.mulQuaternions(this.quaternion,Uu,Gu),this.quaternion=Gu,this._setLocalMatrixDirty(),this._model.glRedraw(),this}rotateOnWorldAxis(e,t){return Hu[0]=e[0],Hu[1]=e[1],Hu[2]=e[2],Hu[3]=t*A.DEGTORAD,A.angleAxisToQuaternion(Hu,Uu),A.mulQuaternions(Uu,this.quaternion,Uu),this}rotateX(e){return this.rotate(ju,e)}rotateY(e){return this.rotate(Vu,e)}rotateZ(e){return this.rotate(ku,e)}translate(e){return this._position[0]+=e[0],this._position[1]+=e[1],this._position[2]+=e[2],this._setLocalMatrixDirty(),this._model.glRedraw(),this}translateX(e){return this._position[0]+=e,this._setLocalMatrixDirty(),this._model.glRedraw(),this}translateY(e){return this._position[1]+=e,this._setLocalMatrixDirty(),this._model.glRedraw(),this}translateZ(e){return this._position[2]+=e,this._setLocalMatrixDirty(),this._model.glRedraw(),this}_setLocalMatrixDirty(){this._localMatrixDirty=!0,this._transformDirty()}_transformDirty(){this._worldMatrixDirty=!0;for(let e=0,t=this._childTransforms.length;e0){const e=t._meshes;for(let t=0,s=e.length;t0){const e=this._meshes;for(let t=0,s=e.length;t{this._viewMatrixDirty=!0})),this._meshesWithDirtyMatrices=[],this._numMeshesWithDirtyMatrices=0,this._onTick=this.scene.on("tick",(()=>{for(;this._numMeshesWithDirtyMatrices>0;)this._meshesWithDirtyMatrices[--this._numMeshesWithDirtyMatrices]._updateMatrix()})),this._createDefaultTextureSet(),this.visible=t.visible,this.culled=t.culled,this.pickable=t.pickable,this.clippable=t.clippable,this.collidable=t.collidable,this.castsShadow=t.castsShadow,this.receivesShadow=t.receivesShadow,this.xrayed=t.xrayed,this.highlighted=t.highlighted,this.selected=t.selected,this.edges=t.edges,this.colorize=t.colorize,this.opacity=t.opacity,this.backfaces=t.backfaces}_meshMatrixDirty(e){this._meshesWithDirtyMatrices[this._numMeshesWithDirtyMatrices++]=e}_createDefaultTextureSet(){const e=new Xo({id:"defaultColorTexture",texture:new Fi({gl:this.scene.canvas.gl,preloadColor:[1,1,1,1]})}),t=new Xo({id:"defaultMetalRoughTexture",texture:new Fi({gl:this.scene.canvas.gl,preloadColor:[0,1,1,1]})}),s=new Xo({id:"defaultNormalsTexture",texture:new Fi({gl:this.scene.canvas.gl,preloadColor:[0,0,0,0]})}),n=new Xo({id:"defaultEmissiveTexture",texture:new Fi({gl:this.scene.canvas.gl,preloadColor:[0,0,0,1]})}),i=new Xo({id:"defaultOcclusionTexture",texture:new Fi({gl:this.scene.canvas.gl,preloadColor:[1,1,1,1]})});this._textures.defaultColorTexture=e,this._textures.defaultMetalRoughTexture=t,this._textures.defaultNormalsTexture=s,this._textures.defaultEmissiveTexture=n,this._textures.defaultOcclusionTexture=i,this._textureSets.defaultTextureSet=new Yo({id:"defaultTextureSet",model:this,colorTexture:e,metallicRoughnessTexture:t,normalsTexture:s,emissiveTexture:n,occlusionTexture:i})}get isPerformanceModel(){return!0}get transforms(){return this._transforms}get textures(){return this._textures}get textureSets(){return this._textureSets}get meshes(){return this._meshes}get objects(){return this._entities}get origin(){return this._origin}set position(e){this._position.set(e||[0,0,0]),this._setWorldMatrixDirty(),this._sceneModelDirty(),this.glRedraw()}get position(){return this._position}set rotation(e){this._rotation.set(e||[0,0,0]),A.eulerToQuaternion(this._rotation,"XYZ",this._quaternion),this._setWorldMatrixDirty(),this._sceneModelDirty(),this.glRedraw()}get rotation(){return this._rotation}set quaternion(e){this._quaternion.set(e||[0,0,0,1]),A.quaternionToEuler(this._quaternion,"XYZ",this._rotation),this._setWorldMatrixDirty(),this._sceneModelDirty(),this.glRedraw()}get quaternion(){return this._quaternion}set scale(e){}get scale(){return this._scale}set matrix(e){this._matrix.set(e||Zu),A.quaternionToRotationMat4(this._quaternion,this._worldRotationMatrix),A.conjugateQuaternion(this._quaternion,this._conjugateQuaternion),A.quaternionToRotationMat4(this._quaternion,this._worldRotationMatrixConjugate),this._matrix.set(this._worldRotationMatrix),A.translateMat4v(this._position,this._matrix),this._matrixDirty=!1,this._setWorldMatrixDirty(),this._sceneModelDirty(),this.glRedraw()}get matrix(){return this._matrixDirty&&this._rebuildMatrices(),this._matrix}get rotationMatrix(){return this._matrixDirty&&this._rebuildMatrices(),this._worldRotationMatrix}_rebuildMatrices(){this._matrixDirty&&(A.quaternionToRotationMat4(this._quaternion,this._worldRotationMatrix),A.conjugateQuaternion(this._quaternion,this._conjugateQuaternion),A.quaternionToRotationMat4(this._quaternion,this._worldRotationMatrixConjugate),this._matrix.set(this._worldRotationMatrix),A.translateMat4v(this._position,this._matrix),this._matrixDirty=!1)}get rotationMatrixConjugate(){return this._matrixDirty&&this._rebuildMatrices(),this._worldRotationMatrixConjugate}_setWorldMatrixDirty(){this._matrixDirty=!0,this._aabbDirty=!0}_transformDirty(){this._matrixDirty=!0,this._aabbDirty=!0,this.scene._aabbDirty=!0}_sceneModelDirty(){this.scene._aabbDirty=!0,this._aabbDirty=!0,this.scene._aabbDirty=!0,this._matrixDirty=!0;for(let e=0,t=this._entityList.length;e0}set visible(e){e=!1!==e,this._visible=e;for(let t=0,s=this._entityList.length;t0}set xrayed(e){e=!!e,this._xrayed=e;for(let t=0,s=this._entityList.length;t0}set highlighted(e){e=!!e,this._highlighted=e;for(let t=0,s=this._entityList.length;t0}set selected(e){e=!!e,this._selected=e;for(let t=0,s=this._entityList.length;t0}set edges(e){e=!!e,this._edges=e;for(let t=0,s=this._entityList.length;t0}set pickable(e){e=!1!==e,this._pickable=e;for(let t=0,s=this._entityList.length;t0)e.colorsCompressed=new Uint8Array(e.colorsCompressed);else if(e.colors&&e.colors.length>0){const t=e.colors,s=new Uint8Array(t.length);for(let e=0,n=t.length;e{o.setImage(c,{minFilter:s,magFilter:n,wrapS:i,wrapT:a,wrapR:r,flipY:e.flipY,encoding:l}),this.glRedraw()},c.src=e.src;break;default:this._textureTranscoder?g.loadArraybuffer(e.src,(e=>{e.byteLength?this._textureTranscoder.transcode([e],o).then((()=>{this.glRedraw()})):this.error("[createTexture] Can't create texture from 'src': file data is zero length")}),(function(e){this.error(`[createTexture] Can't create texture from 'src': ${e}`)})):this.error(`[createTexture] Can't create texture from 'src' - SceneModel needs to be configured with a TextureTranscoder for this file type ('${t}')`)}}else e.buffers&&(this._textureTranscoder?this._textureTranscoder.transcode(e.buffers,o).then((()=>{this.glRedraw()})):this.error("[createTexture] Can't create texture from 'buffers' - SceneModel needs to be configured with a TextureTranscoder for this option"));this._textures[t]=new Xo({id:t,texture:o})}createTextureSet(e){const t=e.id;if(null==t)return void this.error("[createTextureSet] Config missing: id");if(this._textureSets[t])return void this.error(`[createTextureSet] Texture set already created: ${t}`);let s,n,i,a,r;if(void 0!==e.colorTextureId&&null!==e.colorTextureId){if(s=this._textures[e.colorTextureId],!s)return void this.error(`[createTextureSet] Texture not found: ${e.colorTextureId} - ensure that you create it first with createTexture()`)}else s=this._textures.defaultColorTexture;if(void 0!==e.metallicRoughnessTextureId&&null!==e.metallicRoughnessTextureId){if(n=this._textures[e.metallicRoughnessTextureId],!n)return void this.error(`[createTextureSet] Texture not found: ${e.metallicRoughnessTextureId} - ensure that you create it first with createTexture()`)}else n=this._textures.defaultMetalRoughTexture;if(void 0!==e.normalsTextureId&&null!==e.normalsTextureId){if(i=this._textures[e.normalsTextureId],!i)return void this.error(`[createTextureSet] Texture not found: ${e.normalsTextureId} - ensure that you create it first with createTexture()`)}else i=this._textures.defaultNormalsTexture;if(void 0!==e.emissiveTextureId&&null!==e.emissiveTextureId){if(a=this._textures[e.emissiveTextureId],!a)return void this.error(`[createTextureSet] Texture not found: ${e.emissiveTextureId} - ensure that you create it first with createTexture()`)}else a=this._textures.defaultEmissiveTexture;if(void 0!==e.occlusionTextureId&&null!==e.occlusionTextureId){if(r=this._textures[e.occlusionTextureId],!r)return void this.error(`[createTextureSet] Texture not found: ${e.occlusionTextureId} - ensure that you create it first with createTexture()`)}else r=this._textures.defaultOcclusionTexture;const l=new Yo({id:t,model:this,colorTexture:s,metallicRoughnessTexture:n,normalsTexture:i,emissiveTexture:a,occlusionTexture:r});return this._textureSets[t]=l,l}createTransform(e){if(void 0===e.id||null===e.id)return void this.error("[createTransform] SceneModel.createTransform() config missing: id");if(this._transforms[e.id])return void this.error(`[createTransform] SceneModel already has a transform with this ID: ${e.id}`);let t;if(this.parentTransformId&&(t=this._transforms[e.parentTransformId],!t))return void this.error("[createTransform] SceneModel.createTransform() config missing: id");const s=new Wu({id:e.id,model:this,parentTransform:t,matrix:e.matrix,position:e.position,scale:e.scale,rotation:e.rotation,quaternion:e.quaternion});return this._transforms[s.id]=s,s}createMesh(e){if(void 0===e.id||null===e.id)return void this.error("[createMesh] SceneModel.createMesh() config missing: id");if(this._scheduledMeshes[e.id])return void this.error(`[createMesh] SceneModel already has a mesh with this ID: ${e.id}`);if(!(void 0!==e.geometryId)){if(void 0!==e.primitive&&null!==e.primitive||(e.primitive="triangles"),"points"!==e.primitive&&"lines"!==e.primitive&&"triangles"!==e.primitive&&"solid"!==e.primitive&&"surface"!==e.primitive)return void this.error(`Unsupported value for 'primitive': '${primitive}' ('geometryId' is absent) - supported values are 'points', 'lines', 'triangles', 'solid' and 'surface'.`);if(!e.positions&&!e.positionsCompressed&&!e.buckets)return this.error("Param expected: 'positions', 'positionsCompressed' or `buckets` ('geometryId' is absent)"),null;if(e.positions&&(e.positionsDecodeMatrix||e.positionsDecodeBoundary))return this.error("Illegal params: 'positions' not expected with 'positionsDecodeMatrix'/'positionsDecodeBoundary' ('geometryId' is absent)"),null;if(e.positionsCompressed&&!e.positionsDecodeMatrix&&!e.positionsDecodeBoundary)return this.error("Param expected: 'positionsCompressed' should be accompanied by 'positionsDecodeMatrix'/'positionsDecodeBoundary' ('geometryId' is absent)"),null;if(e.uvCompressed&&!e.uvDecodeMatrix)return this.error("Param expected: 'uvCompressed' should be accompanied by `uvDecodeMatrix` ('geometryId' is absent)"),null;if(!e.buckets&&!e.indices&&"points"!==e.primitive)return this.error(`Param expected: indices (required for '${e.primitive}' primitive type)`),null;if((e.matrix||e.position||e.rotation||e.scale)&&(e.positionsCompressed||e.positionsDecodeBoundary))return this.error("Unexpected params: 'matrix', 'rotation', 'scale', 'position' not allowed with 'positionsCompressed'"),null;const t=!!this._dtxEnabled&&("triangles"===e.primitive||"solid"===e.primitive||"surface"===e.primitive);if(e.origin=e.origin?A.addVec3(this._origin,e.origin,A.vec3()):this._origin,e.matrix)e.meshMatrix=e.matrix;else if(e.scale||e.rotation||e.position){const t=e.scale||Yu,s=e.position||Xu,n=e.rotation||qu;A.eulerToQuaternion(n,"XYZ",Ju),e.meshMatrix=A.composeMat4(s,Ju,t,A.mat4())}if(e.positionsDecodeBoundary&&(e.positionsDecodeMatrix=Qr(e.positionsDecodeBoundary,A.mat4())),t){if(e.type=2,e.color=e.color?new Uint8Array([Math.floor(255*e.color[0]),Math.floor(255*e.color[1]),Math.floor(255*e.color[2])]):$u,e.opacity=void 0!==e.opacity&&null!==e.opacity?Math.floor(255*e.opacity):255,e.positions){const t=A.vec3(),s=[];z(e.positions,s,t)&&(e.positions=s,e.origin=A.addVec3(e.origin,t,t))}if(e.positions){const t=A.collapseAABB3();e.positionsDecodeMatrix=A.mat4(),A.expandAABB3Points3(t,e.positions),e.positionsCompressed=kr(e.positions,t,e.positionsDecodeMatrix),e.aabb=t}else if(e.positionsCompressed){const t=A.collapseAABB3();A.expandAABB3Points3(t,e.positionsCompressed),Ft.decompressAABB(t,e.positionsDecodeMatrix),e.aabb=t}if(e.buckets){const t=A.collapseAABB3();for(let s=0,n=e.buckets.length;s>24&255,i=s>>16&255,a=s>>8&255,r=255&s;switch(e.pickColor=new Uint8Array([r,a,i,n]),e.solid="solid"===e.primitive,t.origin=A.vec3(e.origin),e.type){case 2:t.layer=this._getDTXLayer(e),t.aabb=e.aabb;break;case 1:t.layer=this._getVBOBatchingLayer(e),t.aabb=e.aabb;break;case 0:t.layer=this._getVBOInstancingLayer(e),t.aabb=e.aabb}return e.transform&&(e.meshMatrix=e.transform.worldMatrix),t.portionId=t.layer.createPortion(e),this._meshes[e.id]=t,this._meshList.push(t),t}_getNumPrimitives(e){let t=0;switch(e.geometry?e.geometry.primitive:e.primitive){case"triangles":case"solid":case"surface":switch(e.type){case 2:for(let s=0,n=e.buckets.length;s>>0).toString(16)}_getVBOInstancingLayer(e){const t=this,s=e.origin,n=e.textureSetId||"-",i=e.geometryId,a=`${Math.round(s[0])}.${Math.round(s[1])}.${Math.round(s[2])}.${n}.${i}`;let r=this._vboInstancingLayers[a];if(r)return r;let l=e.textureSet;const o=e.geometry;for(;!r;)switch(o.primitive){case"triangles":case"surface":r=new oo({model:t,textureSet:l,geometry:o,origin:s,layerIndex:0,solid:!1});break;case"solid":r=new oo({model:t,textureSet:l,geometry:o,origin:s,layerIndex:0,solid:!0});break;case"lines":r=new bo({model:t,textureSet:l,geometry:o,origin:s,layerIndex:0});break;case"points":r=new Ko({model:t,textureSet:l,geometry:o,origin:s,layerIndex:0})}return this._vboInstancingLayers[a]=r,this.layerList.push(r),r}createEntity(e){if(void 0===e.id?e.id=A.createUUID():this.scene.components[e.id]&&(this.error(`Scene already has a Component with this ID: ${e.id} - will assign random ID`),e.id=A.createUUID()),void 0===e.meshIds)return void this.error("Config missing: meshIds");let t=0;this._visible&&!1!==e.visible&&(t|=X),this._pickable&&!1!==e.pickable&&(t|=J),this._culled&&!1!==e.culled&&(t|=q),this._clippable&&!1!==e.clippable&&(t|=Z),this._collidable&&!1!==e.collidable&&(t|=$),this._edges&&!1!==e.edges&&(t|=ne),this._xrayed&&!1!==e.xrayed&&(t|=ee),this._highlighted&&!1!==e.highlighted&&(t|=te),this._selected&&!1!==e.selected&&(t|=se),e.flags=t,this._createEntity(e)}_createEntity(e){let t=[];for(let s=0,n=e.meshIds.length;se.sortIdt.sortId?1:0));for(let e=0,t=this.layerList.length;e0&&0===this.renderFlags.numVisibleLayers?this.renderFlags.culled=!0:this._updateRenderFlags()}_updateRenderFlagsVisibleLayers(){const e=this.renderFlags;e.numLayers=this.layerList.length,e.numVisibleLayers=0;for(let t=0,s=this.layerList.length;t0)for(let e=0;e0&&(e.colorTransparent=!0),this.numXRayedLayerPortions>0){const t=this.scene.xrayMaterial._state;t.fill&&(t.fillAlpha<1?e.xrayedSilhouetteTransparent=!0:e.xrayedSilhouetteOpaque=!0),t.edges&&(t.edgeAlpha<1?e.xrayedEdgesTransparent=!0:e.xrayedEdgesOpaque=!0)}if(this.numEdgesLayerPortions>0){this.scene.edgeMaterial._state.edges&&(e.edgesOpaque=this.numTransparentLayerPortions0&&(e.edgesTransparent=!0))}if(this.numSelectedLayerPortions>0){const t=this.scene.selectedMaterial._state;t.fill&&(t.fillAlpha<1?e.selectedSilhouetteTransparent=!0:e.selectedSilhouetteOpaque=!0),t.edges&&(t.edgeAlpha<1?e.selectedEdgesTransparent=!0:e.selectedEdgesOpaque=!0)}if(this.numHighlightedLayerPortions>0){const t=this.scene.highlightMaterial._state;t.fill&&(t.fillAlpha<1?e.highlightedSilhouetteTransparent=!0:e.highlightedSilhouetteOpaque=!0),t.edges&&(t.edgeAlpha<1?e.highlightedEdgesTransparent=!0:e.highlightedEdgesOpaque=!0)}}drawColorOpaque(e){const t=this.renderFlags;for(let s=0,n=t.visibleLayers.length;s65536?16:8)}else r=[{positionsCompressed:n,indices:i,edgeIndices:a}];return r}class sh extends eh{constructor(e,t={}){super(e,t)}}class nh extends S{constructor(e,t={}){super(e,t),this._skyboxMesh=new ui(this,{geometry:new Gt(this,{primitive:"triangles",positions:[1,1,1,-1,1,1,-1,-1,1,1,-1,1,1,1,1,1,-1,1,1,-1,-1,1,1,-1,1,1,1,1,1,-1,-1,1,-1,-1,1,1,-1,1,1,-1,1,-1,-1,-1,-1,-1,-1,1,-1,-1,-1,1,-1,-1,1,-1,1,-1,-1,1,1,-1,-1,-1,-1,-1,-1,1,-1,1,1,-1],uv:[.5,.6666,.25,.6666,.25,.3333,.5,.3333,.5,.6666,.5,.3333,.75,.3333,.75,.6666,.5,.6666,.5,1,.25,1,.25,.6666,.25,.6666,0,.6666,0,.3333,.25,.3333,.25,0,.5,0,.5,.3333,.25,.3333,.75,.3333,1,.3333,1,.6666,.75,.6666],indices:[0,1,2,0,2,3,4,5,6,4,6,7,8,9,10,8,10,11,12,13,14,12,14,15,16,17,18,16,18,19,20,21,22,20,22,23]}),background:!0,scale:[2e3,2e3,2e3],rotation:[0,-90,0],material:new Wt(this,{ambient:[0,0,0],diffuse:[0,0,0],specular:[0,0,0],emissive:[1,1,1],emissiveMap:new ki(this,{src:t.src,flipY:!0,wrapS:"clampToEdge",wrapT:"clampToEdge",encoding:t.encoding||"sRGB"}),backfaces:!0}),visible:!1,pickable:!1,clippable:!1,collidable:!1}),this.size=t.size,this.active=t.active}set size(e){this._size=e||1e3,this._skyboxMesh.scale=[this._size,this._size,this._size]}get size(){return this._size}set active(e){this._skyboxMesh.visible=e}get active(){return this._skyboxMesh.visible}}class ih{transcode(e,t,s={}){}destroy(){}}const ah=A.vec4(),rh=A.vec4(),lh=A.vec3(),oh=A.vec3(),ch=A.vec3(),uh=A.vec4(),hh=A.vec4(),ph=A.vec4();class Ah{constructor(e){this._scene=e}dollyToCanvasPos(e,t,s){let n=!1;const i=this._scene.camera;if(e){const t=A.subVec3(e,i.eye,lh);n=A.lenVec3(t){this._cameraDirty=!0})),this._onProjMatrix=this._scene.camera.on("projMatrix",(()=>{this._cameraDirty=!0})),this._onTick=this._scene.on("tick",(()=>{this.updatePivotElement(),this.updatePivotSphere()}))}createPivotSphere(){const e=this.getPivotPos(),t=A.vec3();A.decomposeMat4(A.inverseMat4(this._scene.viewer.camera.viewMatrix,A.mat4()),t,A.vec4(),A.vec3());const s=A.distVec3(t,e);let n=Math.tan(Math.PI/500)*s*this._pivotSphereSize;"ortho"==this._scene.camera.projection&&(n/=this._scene.camera.ortho.scale/2),W(e,this._rtcCenter,this._rtcPos),this._pivotSphereGeometry=new Ki(this._scene,Ai({radius:n})),this._pivotSphere=new ui(this._scene,{geometry:this._pivotSphereGeometry,material:this._pivotSphereMaterial,pickable:!1,position:this._rtcPos,rtcCenter:this._rtcCenter})}destroyPivotSphere(){this._pivotSphere&&(this._pivotSphere.destroy(),this._pivotSphere=null),this._pivotSphereGeometry&&(this._pivotSphereGeometry.destroy(),this._pivotSphereGeometry=null)}updatePivotElement(){const e=this._scene.camera,t=this._scene.canvas;if(this._pivoting&&this._cameraDirty){A.transformPoint3(e.viewMatrix,this.getPivotPos(),this._pivotViewPos),this._pivotViewPos[3]=1,A.transformPoint4(e.projMatrix,this._pivotViewPos,this._pivotProjPos);const s=t.boundary,n=s[2],i=s[3];this._pivotCanvasPos[0]=Math.floor((1+this._pivotProjPos[0]/this._pivotProjPos[3])*n/2),this._pivotCanvasPos[1]=Math.floor((1-this._pivotProjPos[1]/this._pivotProjPos[3])*i/2);let a=t._lastBoundingClientRect;if(!a||t._canvasSizeChanged){const e=t.canvas;a=t._lastBoundingClientRect=e.getBoundingClientRect()}this._pivotElement&&(this._pivotElement.style.left=Math.floor(a.left+this._pivotCanvasPos[0])-this._pivotElement.clientWidth/2+window.scrollX+"px",this._pivotElement.style.top=Math.floor(a.top+this._pivotCanvasPos[1])-this._pivotElement.clientHeight/2+window.scrollY+"px"),this._cameraDirty=!1}}updatePivotSphere(){this._pivoting&&this._pivotSphere&&(W(this.getPivotPos(),this._rtcCenter,this._rtcPos),A.compareVec3(this._rtcPos,this._pivotSphere.position)||(this.destroyPivotSphere(),this.createPivotSphere()))}setPivotElement(e){this._pivotElement=e}enablePivotSphere(e={}){this.destroyPivotSphere(),this._pivotSphereEnabled=!0,e.size&&(this._pivotSphereSize=e.size);const t=e.color||[1,0,0];this._pivotSphereMaterial=new Wt(this._scene,{emissive:t,ambient:t,specular:[0,0,0],diffuse:[0,0,0]})}disablePivotSphere(){this.destroyPivotSphere(),this._pivotSphereEnabled=!1}startPivot(){if(this._cameraLookingDownwards())return this._pivoting=!1,!1;const e=this._scene.camera;let t=A.lookAtMat4v(e.eye,e.look,e.worldUp);A.transformPoint3(t,this.getPivotPos(),this._cameraOffset);const s=this.getPivotPos();this._cameraOffset[2]+=A.distVec3(e.eye,s),t=A.inverseMat4(t);const n=A.transformVec3(t,this._cameraOffset),i=A.vec3();if(A.subVec3(e.eye,s,i),A.addVec3(i,n),e.zUp){const e=i[1];i[1]=i[2],i[2]=e}this._radius=A.lenVec3(i),this._polar=Math.acos(i[1]/this._radius),this._azimuth=Math.atan2(i[0],i[2]),this._pivoting=!0}_cameraLookingDownwards(){const e=this._scene.camera,t=A.normalizeVec3(A.subVec3(e.look,e.eye,dh)),s=A.cross3Vec3(t,e.worldUp,fh);return A.sqLenVec3(s)<=1e-4}getPivoting(){return this._pivoting}setPivotPos(e){this._pivotWorldPos.set(e),this._pivotPosSet=!0}setCanvasPivotPos(e){const t=this._scene.camera,s=Math.abs(A.distVec3(this._scene.center,t.eye)),n=t.project.transposedMatrix,i=n.subarray(8,12),a=n.subarray(12),r=[0,0,-1,1],l=A.dotVec4(r,i)/A.dotVec4(r,a),o=yh;t.project.unproject(e,l,mh,vh,o);const c=A.normalizeVec3(A.subVec3(o,t.eye,dh)),u=A.addVec3(t.eye,A.mulVec3Scalar(c,s,fh),Ih);this.setPivotPos(u)}getPivotPos(){return this._pivotPosSet?this._pivotWorldPos:this._scene.camera.look}continuePivot(e,t){if(!this._pivoting)return;if(0===e&&0===t)return;const s=this._scene.camera;var n=-e;const i=-t;1===s.worldUp[2]&&(n=-n),this._azimuth+=.01*-n,this._polar+=.01*i,this._polar=A.clamp(this._polar,.001,Math.PI-.001);const a=[this._radius*Math.sin(this._polar)*Math.sin(this._azimuth),this._radius*Math.cos(this._polar),this._radius*Math.sin(this._polar)*Math.cos(this._azimuth)];if(1===s.worldUp[2]){const e=a[1];a[1]=a[2],a[2]=e}const r=A.lenVec3(A.subVec3(s.look,s.eye,A.vec3())),l=this.getPivotPos();A.addVec3(a,l);let o=A.lookAtMat4v(a,l,s.worldUp);o=A.inverseMat4(o);const c=A.transformVec3(o,this._cameraOffset);o[12]-=c[0],o[13]-=c[1],o[14]-=c[2];const u=[o[8],o[9],o[10]];s.eye=[o[12],o[13],o[14]],A.subVec3(s.eye,A.mulVec3Scalar(u,r),s.look),s.up=[o[4],o[5],o[6]],this.showPivot()}showPivot(){this._shown||(this._pivotElement&&(this.updatePivotElement(),this._pivotElement.style.visibility="visible"),this._pivotSphereEnabled&&(this.destroyPivotSphere(),this.createPivotSphere()),this._shown=!0)}hidePivot(){this._shown&&(this._pivotElement&&(this._pivotElement.style.visibility="hidden"),this._pivotSphereEnabled&&this.destroyPivotSphere(),this._shown=!1)}endPivot(){this._pivoting=!1}destroy(){this.destroyPivotSphere(),this._scene.camera.off(this._onViewMatrix),this._scene.camera.off(this._onProjMatrix),this._scene.off(this._onTick)}}class gh{constructor(e,t){this._scene=e.scene,this._cameraControl=e,this._scene.canvas.canvas.oncontextmenu=function(e){e.preventDefault()},this._configs=t,this.schedulePickEntity=!1,this.schedulePickSurface=!1,this.scheduleSnapOrPick=!1,this.pickCursorPos=A.vec2(),this.picked=!1,this.pickedSurface=!1,this.pickResult=null,this._lastPickedEntityId=null,this._lastHash=null,this._needFireEvents=0}update(){if(!this._configs.pointerEnabled)return;if(!this.schedulePickEntity&&!this.schedulePickSurface)return;const e=`${~~this.pickCursorPos[0]}-${~~this.pickCursorPos[1]}-${this.scheduleSnapOrPick}-${this.schedulePickSurface}-${this.schedulePickEntity}`;if(this._lastHash===e)return;this.picked=!1,this.pickedSurface=!1,this.snappedOrPicked=!1,this.hoveredSnappedOrSurfaceOff=!1;const t=this._cameraControl.hasSubs("hoverSurface");if(this.scheduleSnapOrPick){const e=this._scene.pick({canvasPos:this.pickCursorPos,snapRadius:this._configs.snapRadius,snapToVertex:this._configs.snapToVertex,snapToEdge:this._configs.snapToEdge});e&&(e.snappedToEdge||e.snappedToVertex)?(this.snapPickResult=e,this.snappedOrPicked=!0,this._needFireEvents++):(this.schedulePickSurface=!0,this.snapPickResult=null)}if(this.schedulePickSurface&&this.pickResult&&this.pickResult.worldPos){const e=this.pickResult.canvasPos;if(e[0]===this.pickCursorPos[0]&&e[1]===this.pickCursorPos[1])return this.picked=!0,this.pickedSurface=!0,this._needFireEvents+=t?1:0,this.schedulePickEntity=!1,this.schedulePickSurface=!1,this.scheduleSnapOrPick?this.snappedOrPicked=!0:this.hoveredSnappedOrSurfaceOff=!0,void(this.scheduleSnapOrPick=!1)}if(this.schedulePickEntity&&this.pickResult&&(this.pickResult.canvasPos||this.pickResult.snappedCanvasPos)){const e=this.pickResult.canvasPos||this.pickResult.snappedCanvasPos;if(e[0]===this.pickCursorPos[0]&&e[1]===this.pickCursorPos[1])return this.picked=!0,this.pickedSurface=!1,this.schedulePickEntity=!1,void(this.schedulePickSurface=!1)}this.schedulePickSurface||this.scheduleSnapOrPick&&!this.snapPickResult?(this.pickResult=this._scene.pick({pickSurface:!0,pickSurfaceNormal:!1,canvasPos:this.pickCursorPos}),this.pickResult?(this.picked=!0,this.scheduleSnapOrPick?this.snappedOrPicked=!0:this.pickedSurface=!0,this._needFireEvents++):this.scheduleSnapOrPick&&(this.hoveredSnappedOrSurfaceOff=!0,this._needFireEvents++)):(this.pickResult=this._scene.pick({canvasPos:this.pickCursorPos}),this.pickResult&&(this.picked=!0,this.pickedSurface=!1,this._needFireEvents++)),this.scheduleSnapOrPick=!1,this.schedulePickEntity=!1,this.schedulePickSurface=!1}fireEvents(){if(0!==this._needFireEvents){if(this.hoveredSnappedOrSurfaceOff&&this._cameraControl.fire("hoverSnapOrSurfaceOff",{canvasPos:this.pickCursorPos,pointerPos:this.pickCursorPos},!0),this.snappedOrPicked)if(this.snapPickResult){const e=new Be;e.snappedToVertex=this.snapPickResult.snappedToVertex,e.snappedToEdge=this.snapPickResult.snappedToEdge,e.worldPos=this.snapPickResult.worldPos,e.canvasPos=this.pickCursorPos,e.snappedCanvasPos=this.snapPickResult.snappedCanvasPos,this._cameraControl.fire("hoverSnapOrSurface",e,!0),this.snapPickResult=null}else this._cameraControl.fire("hoverSnapOrSurface",this.pickResult,!0);if(this.picked&&this.pickResult&&(this.pickResult.entity||this.pickResult.worldPos)){if(this.pickResult.entity){const e=this.pickResult.entity.id;this._lastPickedEntityId!==e&&(void 0!==this._lastPickedEntityId&&this._cameraControl.fire("hoverOut",{entity:this._scene.objects[this._lastPickedEntityId]},!0),this._cameraControl.fire("hoverEnter",this.pickResult,!0),this._lastPickedEntityId=e)}this._cameraControl.fire("hover",this.pickResult,!0),this.pickResult.worldPos&&(this.pickedSurface=!0,this._cameraControl.fire("hoverSurface",this.pickResult,!0))}else void 0!==this._lastPickedEntityId&&(this._cameraControl.fire("hoverOut",{entity:this._scene.objects[this._lastPickedEntityId]},!0),this._lastPickedEntityId=void 0),this._cameraControl.fire("hoverOff",{canvasPos:this.pickCursorPos},!0);this.pickResult=null,this._needFireEvents=0}}}const Eh=A.vec2();class Th{constructor(e,t,s,n,i){this._scene=e;const a=t.pickController;let r,l,o,c=0,u=0,h=0,p=0,d=!1;const f=A.vec3();let I=!0;const y=this._scene.canvas.canvas,m=[];function v(e=!0){y.style.cursor="move",c=n.pointerCanvasPos[0],u=n.pointerCanvasPos[1],h=n.pointerCanvasPos[0],p=n.pointerCanvasPos[1],e&&(a.pickCursorPos=n.pointerCanvasPos,a.schedulePickSurface=!0,a.update(),a.picked&&a.pickedSurface&&a.pickResult&&a.pickResult.worldPos?(d=!0,f.set(a.pickResult.worldPos)):d=!1)}document.addEventListener("keydown",this._documentKeyDownHandler=t=>{if(!s.active||!s.pointerEnabled||!e.input.keyboardEnabled)return;const n=t.keyCode;m[n]=!0}),document.addEventListener("keyup",this._documentKeyUpHandler=t=>{if(!s.active||!s.pointerEnabled||!e.input.keyboardEnabled)return;const n=t.keyCode;m[n]=!1}),y.addEventListener("mousedown",this._mouseDownHandler=t=>{if(s.active&&s.pointerEnabled)switch(t.which){case 1:m[e.input.KEY_SHIFT]||s.planView?(r=!0,v()):(r=!0,v(!1));break;case 2:l=!0,v();break;case 3:o=!0,s.panRightClick&&v()}}),document.addEventListener("mousemove",this._documentMouseMoveHandler=()=>{if(!s.active||!s.pointerEnabled)return;if(!r&&!l&&!o)return;const t=e.canvas.boundary,a=t[2],h=t[3],p=n.pointerCanvasPos[0],I=n.pointerCanvasPos[1];if(m[e.input.KEY_SHIFT]||s.planView||!s.panRightClick&&l||s.panRightClick&&o){const t=p-c,s=I-u,n=e.camera;if("perspective"===n.projection){const a=Math.abs(d?A.lenVec3(A.subVec3(f,e.camera.eye,[])):e.camera.eyeLookDist)*Math.tan(n.perspective.fov/2*Math.PI/180);i.panDeltaX+=1.5*t*a/h,i.panDeltaY+=1.5*s*a/h}else i.panDeltaX+=.5*n.ortho.scale*(t/h),i.panDeltaY+=.5*n.ortho.scale*(s/h)}else!r||l||o||s.planView||(s.firstPerson?(i.rotateDeltaY-=(p-c)/a*s.dragRotationRate/2,i.rotateDeltaX+=(I-u)/h*(s.dragRotationRate/4)):(i.rotateDeltaY-=(p-c)/a*(1.5*s.dragRotationRate),i.rotateDeltaX+=(I-u)/h*(1.5*s.dragRotationRate)));c=p,u=I}),y.addEventListener("mousemove",this._canvasMouseMoveHandler=e=>{s.active&&s.pointerEnabled&&n.mouseover&&(I=!0)}),document.addEventListener("mouseup",this._documentMouseUpHandler=e=>{if(s.active&&s.pointerEnabled)switch(e.which){case 1:case 2:case 3:r=!1,l=!1,o=!1}}),y.addEventListener("mouseup",this._mouseUpHandler=e=>{if(s.active&&s.pointerEnabled){if(3===e.which){!function(e,t){if(e){let s=e.target,n=0,i=0,a=0,r=0;for(;s.offsetParent;)n+=s.offsetLeft,i+=s.offsetTop,a+=s.scrollLeft,r+=s.scrollTop,s=s.offsetParent;t[0]=e.pageX+a-n,t[1]=e.pageY+r-i}else e=window.event,t[0]=e.x,t[1]=e.y}(e,Eh);const s=Eh[0],n=Eh[1];Math.abs(s-h)<3&&Math.abs(n-p)<3&&t.cameraControl.fire("rightClick",{pagePos:[Math.round(e.pageX),Math.round(e.pageY)],canvasPos:Eh,event:e},!0)}y.style.removeProperty("cursor")}}),y.addEventListener("mouseenter",this._mouseEnterHandler=()=>{s.active&&s.pointerEnabled});const w=1/60;let g=null;y.addEventListener("wheel",this._mouseWheelHandler=e=>{if(!s.active||!s.pointerEnabled)return;const t=performance.now()/1e3;var a=null!==g?t-g:0;g=t,a>.05&&(a=.05),a{if(!s.active||!s.pointerEnabled||!e.input.keyboardEnabled)return;if(!n.mouseover)return;const r=i._isKeyDownForAction(i.AXIS_VIEW_RIGHT),l=i._isKeyDownForAction(i.AXIS_VIEW_BACK),o=i._isKeyDownForAction(i.AXIS_VIEW_LEFT),c=i._isKeyDownForAction(i.AXIS_VIEW_FRONT),u=i._isKeyDownForAction(i.AXIS_VIEW_TOP),h=i._isKeyDownForAction(i.AXIS_VIEW_BOTTOM);if(!(r||l||o||c||u||h))return;const p=e.aabb,d=A.getAABB3Diag(p);A.getAABB3Center(p,bh);const f=Math.abs(d/Math.tan(t.cameraFlight.fitFOV*A.DEGTORAD)),I=1.1*d;_h.orthoScale=I,r?(_h.eye.set(A.addVec3(bh,A.mulVec3Scalar(a.worldRight,f,Dh),Ch)),_h.look.set(bh),_h.up.set(a.worldUp)):l?(_h.eye.set(A.addVec3(bh,A.mulVec3Scalar(a.worldForward,f,Dh),Ch)),_h.look.set(bh),_h.up.set(a.worldUp)):o?(_h.eye.set(A.addVec3(bh,A.mulVec3Scalar(a.worldRight,-f,Dh),Ch)),_h.look.set(bh),_h.up.set(a.worldUp)):c?(_h.eye.set(A.addVec3(bh,A.mulVec3Scalar(a.worldForward,-f,Dh),Ch)),_h.look.set(bh),_h.up.set(a.worldUp)):u?(_h.eye.set(A.addVec3(bh,A.mulVec3Scalar(a.worldUp,f,Dh),Ch)),_h.look.set(bh),_h.up.set(A.normalizeVec3(A.mulVec3Scalar(a.worldForward,1,Ph),Rh))):h&&(_h.eye.set(A.addVec3(bh,A.mulVec3Scalar(a.worldUp,-f,Dh),Ch)),_h.look.set(bh),_h.up.set(A.normalizeVec3(A.mulVec3Scalar(a.worldForward,-1,Ph)))),!s.firstPerson&&s.followPointer&&t.pivotController.setPivotPos(bh),t.cameraFlight.duration>0?t.cameraFlight.flyTo(_h,(()=>{t.pivotController.getPivoting()&&s.followPointer&&t.pivotController.showPivot()})):(t.cameraFlight.jumpTo(_h),t.pivotController.getPivoting()&&s.followPointer&&t.pivotController.showPivot())}))}reset(){}destroy(){this._scene.input.off(this._onSceneKeyDown)}}class Oh{constructor(e,t,s,n,i){this._scene=e;const a=t.pickController,r=t.pivotController,l=t.cameraControl;this._clicks=0,this._timeout=null,this._lastPickedEntityId=null;let o=!1,c=!1;const u=this._scene.canvas.canvas,h=s=>{let n;s&&s.worldPos&&(n=s.worldPos);const i=s&&s.entity?s.entity.aabb:e.aabb;if(n){const s=e.camera;A.subVec3(s.eye,s.look,[]),t.cameraFlight.flyTo({aabb:i})}else t.cameraFlight.flyTo({aabb:i})},p=e.tickify(this._canvasMouseMoveHandler=t=>{if(!s.active||!s.pointerEnabled)return;if(o||c)return;const i=l.hasSubs("hover"),r=l.hasSubs("hoverEnter"),u=l.hasSubs("hoverOut"),h=l.hasSubs("hoverOff"),p=l.hasSubs("hoverSurface"),A=l.hasSubs("hoverSnapOrSurface");if(i||r||u||h||p||A)if(a.pickCursorPos=n.pointerCanvasPos,a.schedulePickEntity=!0,a.schedulePickSurface=p,a.scheduleSnapOrPick=A,a.update(),a.pickResult){if(a.pickResult.entity){const t=a.pickResult.entity.id;this._lastPickedEntityId!==t&&(void 0!==this._lastPickedEntityId&&l.fire("hoverOut",{entity:e.objects[this._lastPickedEntityId]},!0),l.fire("hoverEnter",a.pickResult,!0),this._lastPickedEntityId=t)}l.fire("hover",a.pickResult,!0),(a.pickResult.worldPos||a.pickResult.snappedWorldPos)&&l.fire("hoverSurface",a.pickResult,!0)}else void 0!==this._lastPickedEntityId&&(l.fire("hoverOut",{entity:e.objects[this._lastPickedEntityId]},!0),this._lastPickedEntityId=void 0),l.fire("hoverOff",{canvasPos:a.pickCursorPos},!0)});u.addEventListener("mousemove",p),u.addEventListener("mousedown",this._canvasMouseDownHandler=t=>{1===t.which&&(o=!0),3===t.which&&(c=!0);if(1===t.which&&s.active&&s.pointerEnabled&&(n.mouseDownClientX=t.clientX,n.mouseDownClientY=t.clientY,n.mouseDownCursorX=n.pointerCanvasPos[0],n.mouseDownCursorY=n.pointerCanvasPos[1],!s.firstPerson&&s.followPointer&&(a.pickCursorPos=n.pointerCanvasPos,a.schedulePickSurface=!0,a.update(),1===t.which))){const t=a.pickResult;t&&t.worldPos?(r.setPivotPos(t.worldPos),r.startPivot()):(s.smartPivot?r.setCanvasPivotPos(n.pointerCanvasPos):r.setPivotPos(e.camera.look),r.startPivot())}}),document.addEventListener("mouseup",this._documentMouseUpHandler=e=>{1===e.which&&(o=!1),3===e.which&&(c=!1),r.getPivoting()&&r.endPivot()}),u.addEventListener("mouseup",this._canvasMouseUpHandler=i=>{if(!s.active||!s.pointerEnabled)return;if(!(1===i.which))return;if(r.hidePivot(),Math.abs(i.clientX-n.mouseDownClientX)>3||Math.abs(i.clientY-n.mouseDownClientY)>3)return;const o=l.hasSubs("picked"),c=l.hasSubs("pickedNothing"),u=l.hasSubs("pickedSurface"),p=l.hasSubs("doublePicked"),d=l.hasSubs("doublePickedSurface"),f=l.hasSubs("doublePickedNothing");if(!(s.doublePickFlyTo||p||d||f))return(o||c||u)&&(a.pickCursorPos=n.pointerCanvasPos,a.schedulePickEntity=!0,a.schedulePickSurface=u,a.update(),a.pickResult?(l.fire("picked",a.pickResult,!0),a.pickedSurface&&l.fire("pickedSurface",a.pickResult,!0)):l.fire("pickedNothing",{canvasPos:n.pointerCanvasPos},!0)),void(this._clicks=0);if(this._clicks++,1===this._clicks){a.pickCursorPos=n.pointerCanvasPos,a.schedulePickEntity=s.doublePickFlyTo,a.schedulePickSurface=u,a.update();const e=a.pickResult,i=a.pickedSurface;this._timeout=setTimeout((()=>{e?(l.fire("picked",e,!0),i&&(l.fire("pickedSurface",e,!0),!s.firstPerson&&s.followPointer&&(t.pivotController.setPivotPos(e.worldPos),t.pivotController.startPivot()&&t.pivotController.showPivot()))):l.fire("pickedNothing",{canvasPos:n.pointerCanvasPos},!0),this._clicks=0}),s.doubleClickTimeFrame)}else{if(null!==this._timeout&&(window.clearTimeout(this._timeout),this._timeout=null),a.pickCursorPos=n.pointerCanvasPos,a.schedulePickEntity=s.doublePickFlyTo||p||d,a.schedulePickSurface=a.schedulePickEntity&&d,a.update(),a.pickResult){if(l.fire("doublePicked",a.pickResult,!0),a.pickedSurface&&l.fire("doublePickedSurface",a.pickResult,!0),s.doublePickFlyTo&&(h(a.pickResult),!s.firstPerson&&s.followPointer)){const e=a.pickResult.entity.aabb,s=A.getAABB3Center(e);t.pivotController.setPivotPos(s),t.pivotController.startPivot()&&t.pivotController.showPivot()}}else if(l.fire("doublePickedNothing",{canvasPos:n.pointerCanvasPos},!0),s.doublePickFlyTo&&(h(),!s.firstPerson&&s.followPointer)){const s=e.aabb,n=A.getAABB3Center(s);t.pivotController.setPivotPos(n),t.pivotController.startPivot()&&t.pivotController.showPivot()}this._clicks=0}},!1)}reset(){this._clicks=0,this._lastPickedEntityId=null,this._timeout&&(window.clearTimeout(this._timeout),this._timeout=null)}destroy(){const e=this._scene.canvas.canvas;e.removeEventListener("mousemove",this._canvasMouseMoveHandler),e.removeEventListener("mousedown",this._canvasMouseDownHandler),document.removeEventListener("mouseup",this._documentMouseUpHandler),e.removeEventListener("mouseup",this._canvasMouseUpHandler),this._timeout&&(window.clearTimeout(this._timeout),this._timeout=null)}}class Sh{constructor(e,t,s,n,i){this._scene=e;const a=e.input,r=[],l=e.canvas.canvas;let o=!0;this._onSceneMouseMove=a.on("mousemove",(()=>{o=!0})),this._onSceneKeyDown=a.on("keydown",(t=>{s.active&&s.pointerEnabled&&e.input.keyboardEnabled&&n.mouseover&&(r[t]=!0,t===a.KEY_SHIFT&&(l.style.cursor="move"))})),this._onSceneKeyUp=a.on("keyup",(n=>{s.active&&s.pointerEnabled&&e.input.keyboardEnabled&&(r[n]=!1,n===a.KEY_SHIFT&&(l.style.cursor=null),t.pivotController.getPivoting()&&t.pivotController.endPivot())})),this._onTick=e.on("tick",(l=>{if(!s.active||!s.pointerEnabled||!e.input.keyboardEnabled)return;if(!n.mouseover)return;const c=t.cameraControl,u=l.deltaTime/1e3;if(!s.planView){const e=c._isKeyDownForAction(c.ROTATE_Y_POS,r),n=c._isKeyDownForAction(c.ROTATE_Y_NEG,r),a=c._isKeyDownForAction(c.ROTATE_X_POS,r),l=c._isKeyDownForAction(c.ROTATE_X_NEG,r),o=u*s.keyboardRotationRate;(e||n||a||l)&&(!s.firstPerson&&s.followPointer&&t.pivotController.startPivot(),e?i.rotateDeltaY+=o:n&&(i.rotateDeltaY-=o),a?i.rotateDeltaX+=o:l&&(i.rotateDeltaX-=o),!s.firstPerson&&s.followPointer&&t.pivotController.startPivot())}if(!r[a.KEY_CTRL]&&!r[a.KEY_ALT]){const e=c._isKeyDownForAction(c.DOLLY_BACKWARDS,r),a=c._isKeyDownForAction(c.DOLLY_FORWARDS,r);if(e||a){const r=u*s.keyboardDollyRate;!s.firstPerson&&s.followPointer&&t.pivotController.startPivot(),a?i.dollyDelta-=r:e&&(i.dollyDelta+=r),o&&(n.followPointerDirty=!0,o=!1)}}const h=c._isKeyDownForAction(c.PAN_FORWARDS,r),p=c._isKeyDownForAction(c.PAN_BACKWARDS,r),A=c._isKeyDownForAction(c.PAN_LEFT,r),d=c._isKeyDownForAction(c.PAN_RIGHT,r),f=c._isKeyDownForAction(c.PAN_UP,r),I=c._isKeyDownForAction(c.PAN_DOWN,r),y=(r[a.KEY_ALT]?.3:1)*u*s.keyboardPanRate;(h||p||A||d||f||I)&&(!s.firstPerson&&s.followPointer&&t.pivotController.startPivot(),I?i.panDeltaY+=y:f&&(i.panDeltaY+=-y),d?i.panDeltaX+=-y:A&&(i.panDeltaX+=y),p?i.panDeltaZ+=y:h&&(i.panDeltaZ+=-y))}))}reset(){}destroy(){this._scene.off(this._onTick),this._scene.input.off(this._onSceneMouseMove),this._scene.input.off(this._onSceneKeyDown),this._scene.input.off(this._onSceneKeyUp)}}const Nh=A.vec3();class xh{constructor(e,t,s,n,i){this._scene=e;const a=e.camera,r=t.pickController,l=t.pivotController,o=t.panController;let c=1,u=1,h=null;this._onTick=e.on("tick",(()=>{if(!s.active||!s.pointerEnabled)return;let t="default";if(Math.abs(i.dollyDelta)<.001&&(i.dollyDelta=0),Math.abs(i.rotateDeltaX)<.001&&(i.rotateDeltaX=0),Math.abs(i.rotateDeltaY)<.001&&(i.rotateDeltaY=0),0===i.rotateDeltaX&&0===i.rotateDeltaY||(i.dollyDelta=0),s.followPointer&&--c<=0&&(c=1,0!==i.dollyDelta)){if(0===i.rotateDeltaY&&0===i.rotateDeltaX&&s.followPointer&&n.followPointerDirty&&(r.pickCursorPos=n.pointerCanvasPos,r.schedulePickSurface=!0,r.update(),r.pickResult&&r.pickResult.worldPos?h=r.pickResult.worldPos:(u=1,h=null),n.followPointerDirty=!1),h){const t=Math.abs(A.lenVec3(A.subVec3(h,e.camera.eye,Nh)));u=t/s.dollyProximityThreshold}u{n.mouseover=!0}),a.addEventListener("mouseleave",this._mouseLeaveHandler=()=>{n.mouseover=!1,a.style.cursor=null}),document.addEventListener("mousemove",this._mouseMoveHandler=e=>{Mh(e,a,n.pointerCanvasPos)}),a.addEventListener("mousedown",this._mouseDownHandler=e=>{s.active&&s.pointerEnabled&&(Mh(e,a,n.pointerCanvasPos),n.mouseover=!0)}),a.addEventListener("mouseup",this._mouseUpHandler=e=>{s.active&&s.pointerEnabled})}reset(){}destroy(){const e=this._scene.canvas.canvas;document.removeEventListener("mousemove",this._mouseMoveHandler),e.removeEventListener("mouseenter",this._mouseEnterHandler),e.removeEventListener("mouseleave",this._mouseLeaveHandler),e.removeEventListener("mousedown",this._mouseDownHandler),e.removeEventListener("mouseup",this._mouseUpHandler)}}function Mh(e,t,s){if(e){const{x:n,y:i}=t.getBoundingClientRect();s[0]=e.clientX-n,s[1]=e.clientY-i}else e=window.event,s[0]=e.x,s[1]=e.y;return s}const Fh=function(e,t){if(e){let s=e.target,n=0,i=0;for(;s.offsetParent;)n+=s.offsetLeft,i+=s.offsetTop,s=s.offsetParent;t[0]=e.pageX-n,t[1]=e.pageY-i}else e=window.event,t[0]=e.x,t[1]=e.y;return t};class Hh{constructor(e,t,s,n,i){this._scene=e;const a=t.pickController,r=t.pivotController,l=A.vec2(),o=A.vec2(),c=A.vec2(),u=A.vec2(),h=[],p=this._scene.canvas.canvas;let d=0,f=!1;this._onTick=e.on("tick",(()=>{f=!1})),p.addEventListener("touchstart",this._canvasTouchStartHandler=t=>{if(!s.active||!s.pointerEnabled)return;t.preventDefault();const i=t.touches,o=t.changedTouches;for(n.touchStartTime=Date.now(),1===i.length&&1===o.length&&(Fh(i[0],l),s.followPointer&&(a.pickCursorPos=l,a.schedulePickSurface=!0,a.update(),s.planView||(a.picked&&a.pickedSurface&&a.pickResult&&a.pickResult.worldPos?(r.setPivotPos(a.pickResult.worldPos),!s.firstPerson&&r.startPivot()&&r.showPivot()):(s.smartPivot?r.setCanvasPivotPos(n.pointerCanvasPos):r.setPivotPos(e.camera.look),!s.firstPerson&&r.startPivot()&&r.showPivot()))));h.length{r.getPivoting()&&r.endPivot()}),p.addEventListener("touchmove",this._canvasTouchMoveHandler=t=>{if(!s.active||!s.pointerEnabled)return;if(t.stopPropagation(),t.preventDefault(),f)return;f=!0;const r=e.canvas.boundary,l=r[2],p=r[3],I=t.touches;if(t.touches.length===d){if(1===d){Fh(I[0],o),A.subVec2(o,h[0],u);const t=u[0],a=u[1];if(null!==n.longTouchTimeout&&(Math.abs(t)>s.longTapRadius||Math.abs(a)>s.longTapRadius)&&(clearTimeout(n.longTouchTimeout),n.longTouchTimeout=null),s.planView){const n=e.camera;if("perspective"===n.projection){const r=Math.abs(e.camera.eyeLookDist)*Math.tan(n.perspective.fov/2*Math.PI/180);i.panDeltaX+=t*r/p*s.touchPanRate,i.panDeltaY+=a*r/p*s.touchPanRate}else i.panDeltaX+=.5*n.ortho.scale*(t/p)*s.touchPanRate,i.panDeltaY+=.5*n.ortho.scale*(a/p)*s.touchPanRate}else i.rotateDeltaY-=t/l*(1*s.dragRotationRate),i.rotateDeltaX+=a/p*(1.5*s.dragRotationRate)}else if(2===d){const t=I[0],r=I[1];Fh(t,o),Fh(r,c);const l=A.geometricMeanVec2(h[0],h[1]),u=A.geometricMeanVec2(o,c),d=A.vec2();A.subVec2(l,u,d);const f=d[0],y=d[1],m=e.camera,v=A.distVec2([t.pageX,t.pageY],[r.pageX,r.pageY]),w=(A.distVec2(h[0],h[1])-v)*s.touchDollyRate;if(i.dollyDelta=w,Math.abs(w)<1)if("perspective"===m.projection){const t=a.pickResult?a.pickResult.worldPos:e.center,n=Math.abs(A.lenVec3(A.subVec3(t,e.camera.eye,[])))*Math.tan(m.perspective.fov/2*Math.PI/180);i.panDeltaX-=f*n/p*s.touchPanRate,i.panDeltaY-=y*n/p*s.touchPanRate}else i.panDeltaX-=.5*m.ortho.scale*(f/p)*s.touchPanRate,i.panDeltaY-=.5*m.ortho.scale*(y/p)*s.touchPanRate;n.pointerCanvasPos=u}for(let e=0;e{let n;s&&s.worldPos&&(n=s.worldPos);const i=s?s.entity.aabb:e.aabb;if(n){const s=e.camera;A.subVec3(s.eye,s.look,[]),t.cameraFlight.flyTo({aabb:i})}else t.cameraFlight.flyTo({aabb:i})};p.addEventListener("touchstart",this._canvasTouchStartHandler=e=>{if(!s.active||!s.pointerEnabled)return;null!==n.longTouchTimeout&&(clearTimeout(n.longTouchTimeout),n.longTouchTimeout=null);const i=e.touches,a=e.changedTouches;if(l=Date.now(),1===i.length&&1===a.length){u=l,Uh(i[0],c);const a=c[0],r=c[1],o=i[0].pageX,h=i[0].pageY;n.longTouchTimeout=setTimeout((()=>{t.cameraControl.fire("rightClick",{pagePos:[Math.round(o),Math.round(h)],canvasPos:[Math.round(a),Math.round(r)],event:e},!0),n.longTouchTimeout=null}),s.longTapTimeout)}else u=-1;for(;o.length{if(!s.active||!s.pointerEnabled)return;const t=Date.now(),i=e.touches,l=e.changedTouches,p=r.hasSubs("pickedSurface");null!==n.longTouchTimeout&&(clearTimeout(n.longTouchTimeout),n.longTouchTimeout=null),0===i.length&&1===l.length&&u>-1&&t-u<150&&(h>-1&&u-h<325?(Uh(l[0],a.pickCursorPos),a.schedulePickEntity=!0,a.schedulePickSurface=p,a.update(),a.pickResult?(a.pickResult.touchInput=!0,r.fire("doublePicked",a.pickResult),a.pickedSurface&&r.fire("doublePickedSurface",a.pickResult),s.doublePickFlyTo&&d(a.pickResult)):(r.fire("doublePickedNothing"),s.doublePickFlyTo&&d()),h=-1):A.distVec2(o[0],c)<4&&(Uh(l[0],a.pickCursorPos),a.schedulePickEntity=!0,a.schedulePickSurface=p,a.update(),a.pickResult?(a.pickResult.touchInput=!0,r.fire("picked",a.pickResult),a.pickedSurface&&r.fire("pickedSurface",a.pickResult)):r.fire("pickedNothing"),h=t),u=-1),o.length=i.length;for(let e=0,t=i.length;e{e.preventDefault()},this._configs={longTapTimeout:600,longTapRadius:5,active:!0,keyboardLayout:"qwerty",navMode:"orbit",planView:!1,firstPerson:!1,followPointer:!0,doublePickFlyTo:!0,panRightClick:!0,showPivot:!1,pointerEnabled:!0,constrainVertical:!1,smartPivot:!1,doubleClickTimeFrame:250,snapToVertex:true,snapToEdge:true,snapRadius:30,dragRotationRate:360,keyboardRotationRate:90,rotationInertia:0,keyboardPanRate:1,touchPanRate:1,panInertia:.5,keyboardDollyRate:10,mouseWheelDollyRate:100,touchDollyRate:.2,dollyInertia:0,dollyProximityThreshold:30,dollyMinSpeed:.04},this._states={pointerCanvasPos:A.vec2(),mouseover:!1,followPointerDirty:!0,mouseDownClientX:0,mouseDownClientY:0,mouseDownCursorX:0,mouseDownCursorY:0,touchStartTime:null,activeTouches:[],tapStartPos:A.vec2(),tapStartTime:-1,lastTapTime:-1,longTouchTimeout:null},this._updates={rotateDeltaX:0,rotateDeltaY:0,panDeltaX:0,panDeltaY:0,panDeltaZ:0,dollyDelta:0};const s=this.scene;this._controllers={cameraControl:this,pickController:new gh(this,this._configs),pivotController:new wh(s,this._configs),panController:new Ah(s),cameraFlight:new Sa(this,{duration:.5})},this._handlers=[new Lh(this.scene,this._controllers,this._configs,this._states,this._updates),new Hh(this.scene,this._controllers,this._configs,this._states,this._updates),new Th(this.scene,this._controllers,this._configs,this._states,this._updates),new Bh(this.scene,this._controllers,this._configs,this._states,this._updates),new Oh(this.scene,this._controllers,this._configs,this._states,this._updates),new Gh(this.scene,this._controllers,this._configs,this._states,this._updates),new Sh(this.scene,this._controllers,this._configs,this._states,this._updates)],this._cameraUpdater=new xh(this.scene,this._controllers,this._configs,this._states,this._updates),this.navMode=t.navMode,t.planView&&(this.planView=t.planView),this.constrainVertical=t.constrainVertical,t.keyboardLayout?this.keyboardLayout=t.keyboardLayout:this.keyMap=t.keyMap,this.doublePickFlyTo=t.doublePickFlyTo,this.panRightClick=t.panRightClick,this.active=t.active,this.followPointer=t.followPointer,this.rotationInertia=t.rotationInertia,this.keyboardPanRate=t.keyboardPanRate,this.touchPanRate=t.touchPanRate,this.keyboardRotationRate=t.keyboardRotationRate,this.dragRotationRate=t.dragRotationRate,this.touchDollyRate=t.touchDollyRate,this.dollyInertia=t.dollyInertia,this.dollyProximityThreshold=t.dollyProximityThreshold,this.dollyMinSpeed=t.dollyMinSpeed,this.panInertia=t.panInertia,this.pointerEnabled=!0,this.keyboardDollyRate=t.keyboardDollyRate,this.mouseWheelDollyRate=t.mouseWheelDollyRate}set keyMap(e){if(e=e||"qwerty",g.isString(e)){const t=this.scene.input,s={};switch(e){default:this.error("Unsupported value for 'keyMap': "+e+" defaulting to 'qwerty'");case"qwerty":s[this.PAN_LEFT]=[t.KEY_A],s[this.PAN_RIGHT]=[t.KEY_D],s[this.PAN_UP]=[t.KEY_Z],s[this.PAN_DOWN]=[t.KEY_X],s[this.PAN_BACKWARDS]=[],s[this.PAN_FORWARDS]=[],s[this.DOLLY_FORWARDS]=[t.KEY_W,t.KEY_ADD],s[this.DOLLY_BACKWARDS]=[t.KEY_S,t.KEY_SUBTRACT],s[this.ROTATE_X_POS]=[t.KEY_DOWN_ARROW],s[this.ROTATE_X_NEG]=[t.KEY_UP_ARROW],s[this.ROTATE_Y_POS]=[t.KEY_Q,t.KEY_LEFT_ARROW],s[this.ROTATE_Y_NEG]=[t.KEY_E,t.KEY_RIGHT_ARROW],s[this.AXIS_VIEW_RIGHT]=[t.KEY_NUM_1],s[this.AXIS_VIEW_BACK]=[t.KEY_NUM_2],s[this.AXIS_VIEW_LEFT]=[t.KEY_NUM_3],s[this.AXIS_VIEW_FRONT]=[t.KEY_NUM_4],s[this.AXIS_VIEW_TOP]=[t.KEY_NUM_5],s[this.AXIS_VIEW_BOTTOM]=[t.KEY_NUM_6];break;case"azerty":s[this.PAN_LEFT]=[t.KEY_Q],s[this.PAN_RIGHT]=[t.KEY_D],s[this.PAN_UP]=[t.KEY_W],s[this.PAN_DOWN]=[t.KEY_X],s[this.PAN_BACKWARDS]=[],s[this.PAN_FORWARDS]=[],s[this.DOLLY_FORWARDS]=[t.KEY_Z,t.KEY_ADD],s[this.DOLLY_BACKWARDS]=[t.KEY_S,t.KEY_SUBTRACT],s[this.ROTATE_X_POS]=[t.KEY_DOWN_ARROW],s[this.ROTATE_X_NEG]=[t.KEY_UP_ARROW],s[this.ROTATE_Y_POS]=[t.KEY_A,t.KEY_LEFT_ARROW],s[this.ROTATE_Y_NEG]=[t.KEY_E,t.KEY_RIGHT_ARROW],s[this.AXIS_VIEW_RIGHT]=[t.KEY_NUM_1],s[this.AXIS_VIEW_BACK]=[t.KEY_NUM_2],s[this.AXIS_VIEW_LEFT]=[t.KEY_NUM_3],s[this.AXIS_VIEW_FRONT]=[t.KEY_NUM_4],s[this.AXIS_VIEW_TOP]=[t.KEY_NUM_5],s[this.AXIS_VIEW_BOTTOM]=[t.KEY_NUM_6]}this._keyMap=s}else{const t=e;this._keyMap=t}}get keyMap(){return this._keyMap}_isKeyDownForAction(e,t){const s=this._keyMap[e];if(!s)return!1;t||(t=this.scene.input.keyDown);for(let e=0,n=s.length;e0?Kh(t):null,r=s&&s.length>0?Kh(s):null,l=e=>{if(!e)return;var t=!0;(r&&r[e.type]||a&&!a[e.type])&&(t=!1),t&&n.push(e.id);const s=e.children;if(s)for(var i=0,o=s.length;i>t;s.sort(pc);const n=new Int32Array(e.length);for(let t=0,i=s.length;te[t+1]){let s=e[t];e[t]=e[t+1],e[t+1]=s}Ac=new Int32Array(e),t.sort(dc);const s=new Int32Array(e.length);for(let n=0,i=t.length;nt){let s=e;e=t,t=s}function s(s,n){return s!==e?e-s:n!==t?t-n:0}let n=0,i=(a.length>>1)-1;for(;n<=i;){const e=i+n>>1,t=s(a[2*e],a[2*e+1]);if(t>0)n=e+1;else{if(!(t<0))return e;i=e-1}}return-n-1}const l=new Int32Array(a.length/2);l.fill(0);const o=n.length/3;if(o>8*(1<p.maxNumPositions&&(p=h()),p.bucketNumber>8)return[e];let d;-1===c[o]&&(c[o]=p.numPositions++,p.positionsCompressed.push(n[3*o]),p.positionsCompressed.push(n[3*o+1]),p.positionsCompressed.push(n[3*o+2])),-1===c[u]&&(c[u]=p.numPositions++,p.positionsCompressed.push(n[3*u]),p.positionsCompressed.push(n[3*u+1]),p.positionsCompressed.push(n[3*u+2])),-1===c[A]&&(c[A]=p.numPositions++,p.positionsCompressed.push(n[3*A]),p.positionsCompressed.push(n[3*A+1]),p.positionsCompressed.push(n[3*A+2])),p.indices.push(c[o]),p.indices.push(c[u]),p.indices.push(c[A]),(d=r(o,u))>=0&&0===l[d]&&(l[d]=1,p.edgeIndices.push(c[a[2*d]]),p.edgeIndices.push(c[a[2*d+1]])),(d=r(o,A))>=0&&0===l[d]&&(l[d]=1,p.edgeIndices.push(c[a[2*d]]),p.edgeIndices.push(c[a[2*d+1]])),(d=r(u,A))>=0&&0===l[d]&&(l[d]=1,p.edgeIndices.push(c[a[2*d]]),p.edgeIndices.push(c[a[2*d+1]]))}const A=t/8*2,d=t/8,f=2*n.length+(i.length+a.length)*A;let I=0,y=-n.length/3;return u.forEach((e=>{I+=2*e.positionsCompressed.length+(e.indices.length+e.edgeIndices.length)*d,y+=e.positionsCompressed.length/3})),I>f?[e]:(s&&function(e,t){const s={},n={};let i=0;e.forEach((e=>{const t=e.indices,a=e.edgeIndices,r=e.positionsCompressed;for(let e=0,n=t.length;e0){const e=n._sectionPlanesState.sectionPlanes,s=t.layerIndex*v,i=a.renderFlags;for(let t=0;t0&&(o.bindTriangleIndicesTextures(this._program,this._uTexturePerPolygonIdPortionIds,this._uTexturePerPolygonIdIndices,8),r.drawArrays(r.TRIANGLES,0,l.numIndices8Bits)),l.numIndices16Bits>0&&(o.bindTriangleIndicesTextures(this._program,this._uTexturePerPolygonIdPortionIds,this._uTexturePerPolygonIdIndices,16),r.drawArrays(r.TRIANGLES,0,l.numIndices16Bits)),l.numIndices32Bits>0&&(o.bindTriangleIndicesTextures(this._program,this._uTexturePerPolygonIdPortionIds,this._uTexturePerPolygonIdIndices,32),r.drawArrays(r.TRIANGLES,0,l.numIndices32Bits)),e.drawElements++}_allocate(){const e=this._scene,t=e.canvas.gl,s=e._lightsState;if(this._program=new Fe(t,this._buildShader()),this._program.errors)return this.errors=this._program.errors,void console.error(this.errors);const n=this._program;this._uRenderPass=n.getLocation("renderPass"),this._uLightAmbient=n.getLocation("lightAmbient"),this._uLightColor=[],this._uLightDir=[],this._uLightPos=[],this._uLightAttenuation=[];const i=s.lights;let a;for(let e=0,t=i.length;e0;let i;const a=[];a.push("#version 300 es"),a.push("// TrianglesDataTextureColorRenderer vertex shader"),a.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),a.push("precision highp float;"),a.push("precision highp int;"),a.push("precision highp usampler2D;"),a.push("precision highp isampler2D;"),a.push("precision highp sampler2D;"),a.push("#else"),a.push("precision mediump float;"),a.push("precision mediump int;"),a.push("precision mediump usampler2D;"),a.push("precision mediump isampler2D;"),a.push("precision mediump sampler2D;"),a.push("#endif"),a.push("uniform int renderPass;"),a.push("uniform mat4 sceneModelMatrix;"),a.push("uniform mat4 viewMatrix;"),a.push("uniform mat4 projMatrix;"),a.push("uniform highp sampler2D uObjectPerObjectPositionsDecodeMatrix;"),a.push("uniform highp sampler2D uTexturePerObjectMatrix;"),a.push("uniform lowp usampler2D uObjectPerObjectColorsAndFlags;"),a.push("uniform mediump usampler2D uTexturePerVertexIdCoordinates;"),a.push("uniform highp usampler2D uTexturePerPolygonIdIndices;"),a.push("uniform mediump usampler2D uTexturePerPolygonIdPortionIds;"),a.push("uniform vec3 uCameraEyeRtc;"),a.push("vec3 positions[3];"),e.logarithmicDepthBufferEnabled&&(a.push("uniform float logDepthBufFC;"),a.push("out float vFragDepth;"),a.push("out float isPerspective;")),a.push("bool isPerspectiveMatrix(mat4 m) {"),a.push(" return (m[2][3] == - 1.0);"),a.push("}"),a.push("uniform vec4 lightAmbient;");for(let e=0,t=s.lights.length;e> 3) & 4095;"),a.push("int v_packed_object_id_index = (polygonIndex >> 3) >> 12;"),a.push("int objectIndex = int(texelFetch(uTexturePerPolygonIdPortionIds, ivec2(h_packed_object_id_index, v_packed_object_id_index), 0).r);"),a.push("ivec2 objectIndexCoords = ivec2(objectIndex % 512, objectIndex / 512);"),a.push("uvec4 flags = texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+2, objectIndexCoords.y), 0);"),a.push("uvec4 flags2 = texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+3, objectIndexCoords.y), 0);"),a.push("if (int(flags.x) != renderPass) {"),a.push(" gl_Position = vec4(3.0, 3.0, 3.0, 1.0);"),a.push(" return;"),a.push("} else {"),a.push("ivec4 packedVertexBase = ivec4(texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+4, objectIndexCoords.y), 0));"),a.push("ivec4 packedIndexBaseOffset = ivec4(texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+5, objectIndexCoords.y), 0));"),a.push("int indexBaseOffset = (packedIndexBaseOffset.r << 24) + (packedIndexBaseOffset.g << 16) + (packedIndexBaseOffset.b << 8) + packedIndexBaseOffset.a;"),a.push("int h_index = (polygonIndex - indexBaseOffset) & 4095;"),a.push("int v_index = (polygonIndex - indexBaseOffset) >> 12;"),a.push("ivec3 vertexIndices = ivec3(texelFetch(uTexturePerPolygonIdIndices, ivec2(h_index, v_index), 0));"),a.push("ivec3 uniqueVertexIndexes = vertexIndices + (packedVertexBase.r << 24) + (packedVertexBase.g << 16) + (packedVertexBase.b << 8) + packedVertexBase.a;"),a.push("ivec3 indexPositionH = uniqueVertexIndexes & 4095;"),a.push("ivec3 indexPositionV = uniqueVertexIndexes >> 12;"),a.push("mat4 objectInstanceMatrix = mat4 (texelFetch (uTexturePerObjectMatrix, ivec2(objectIndexCoords.x*4+0, objectIndexCoords.y), 0), texelFetch (uTexturePerObjectMatrix, ivec2(objectIndexCoords.x*4+1, objectIndexCoords.y), 0), texelFetch (uTexturePerObjectMatrix, ivec2(objectIndexCoords.x*4+2, objectIndexCoords.y), 0), texelFetch (uTexturePerObjectMatrix, ivec2(objectIndexCoords.x*4+3, objectIndexCoords.y), 0));"),a.push("mat4 objectDecodeAndInstanceMatrix = objectInstanceMatrix * mat4 (texelFetch (uObjectPerObjectPositionsDecodeMatrix, ivec2(objectIndexCoords.x*4+0, objectIndexCoords.y), 0), texelFetch (uObjectPerObjectPositionsDecodeMatrix, ivec2(objectIndexCoords.x*4+1, objectIndexCoords.y), 0), texelFetch (uObjectPerObjectPositionsDecodeMatrix, ivec2(objectIndexCoords.x*4+2, objectIndexCoords.y), 0), texelFetch (uObjectPerObjectPositionsDecodeMatrix, ivec2(objectIndexCoords.x*4+3, objectIndexCoords.y), 0));"),a.push("uint solid = texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+7, objectIndexCoords.y), 0).r;"),a.push("positions[0] = vec3(texelFetch(uTexturePerVertexIdCoordinates, ivec2(indexPositionH.r, indexPositionV.r), 0));"),a.push("positions[1] = vec3(texelFetch(uTexturePerVertexIdCoordinates, ivec2(indexPositionH.g, indexPositionV.g), 0));"),a.push("positions[2] = vec3(texelFetch(uTexturePerVertexIdCoordinates, ivec2(indexPositionH.b, indexPositionV.b), 0));"),a.push("uvec4 color = texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+0, objectIndexCoords.y), 0);"),a.push("if (color.a == 0u) {"),a.push(" gl_Position = vec4(3.0, 3.0, 3.0, 1.0);"),a.push(" return;"),a.push("};"),a.push("vec3 normal = normalize(cross(positions[2] - positions[0], positions[1] - positions[0]));"),a.push("vec3 position;"),a.push("position = positions[gl_VertexID % 3];"),a.push("vec3 viewNormal = -normalize((transpose(inverse(viewMatrix*objectDecodeAndInstanceMatrix)) * vec4(normal,1)).xyz);"),a.push("if (solid != 1u) {"),a.push("if (isPerspectiveMatrix(projMatrix)) {"),a.push("vec3 uCameraEyeRtcInQuantizedSpace = (inverse(sceneModelMatrix * objectDecodeAndInstanceMatrix) * vec4(uCameraEyeRtc, 1)).xyz;"),a.push("if (dot(position.xyz - uCameraEyeRtcInQuantizedSpace, normal) < 0.0) {"),a.push("position = positions[2 - (gl_VertexID % 3)];"),a.push("viewNormal = -viewNormal;"),a.push("}"),a.push("} else {"),a.push("if (viewNormal.z < 0.0) {"),a.push("position = positions[2 - (gl_VertexID % 3)];"),a.push("viewNormal = -viewNormal;"),a.push("}"),a.push("}"),a.push("}"),a.push("vec4 worldPosition = sceneModelMatrix * ((objectDecodeAndInstanceMatrix * vec4(position, 1.0))); "),a.push("vec4 viewPosition = viewMatrix * worldPosition; "),a.push("vec3 reflectedColor = vec3(0.0, 0.0, 0.0);"),a.push("vec3 viewLightDir = vec3(0.0, 0.0, -1.0);"),a.push("float lambertian = 1.0;");for(let e=0,t=s.lights.length;e0,n=[];if(n.push("#version 300 es"),n.push("// TrianglesDataTextureColorRenderer fragment shader"),n.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),n.push("precision highp float;"),n.push("precision highp int;"),n.push("#else"),n.push("precision mediump float;"),n.push("precision mediump int;"),n.push("#endif"),e.logarithmicDepthBufferEnabled&&(n.push("in float isPerspective;"),n.push("uniform float logDepthBufFC;"),n.push("in float vFragDepth;")),this._withSAO&&(n.push("uniform sampler2D uOcclusionTexture;"),n.push("uniform vec4 uSAOParams;"),n.push("const float packUpscale = 256. / 255.;"),n.push("const float unpackDownScale = 255. / 256.;"),n.push("const vec3 packFactors = vec3( 256. * 256. * 256., 256. * 256., 256. );"),n.push("const vec4 unPackFactors = unpackDownScale / vec4( packFactors, 1. );"),n.push("float unpackRGBToFloat( const in vec4 v ) {"),n.push(" return dot( v, unPackFactors );"),n.push("}")),s){n.push("in vec4 vWorldPosition;"),n.push("flat in uint vFlags2;");for(let e=0,s=t.getNumAllocatedSectionPlanes();e 0u;"),n.push(" if (clippable) {"),n.push(" float dist = 0.0;");for(let e=0,s=t.getNumAllocatedSectionPlanes();e 0.0) { "),n.push(" discard;"),n.push(" }"),n.push("}")}return e.logarithmicDepthBufferEnabled&&n.push(" gl_FragDepth = isPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5;"),this._withSAO?(n.push(" float viewportWidth = uSAOParams[0];"),n.push(" float viewportHeight = uSAOParams[1];"),n.push(" float blendCutoff = uSAOParams[2];"),n.push(" float blendFactor = uSAOParams[3];"),n.push(" vec2 uv = vec2(gl_FragCoord.x / viewportWidth, gl_FragCoord.y / viewportHeight);"),n.push(" float ambient = smoothstep(blendCutoff, 1.0, unpackRGBToFloat(texture(uOcclusionTexture, uv))) * blendFactor;"),n.push(" outColor = vec4(vColor.rgb * ambient, 1.0);")):n.push(" outColor = vColor;"),n.push("}"),n}webglContextRestored(){this._program=null}destroy(){this._program&&this._program.destroy(),this._program=null}}const Ec=new Float32Array([1,1,1]),Tc=A.vec3(),bc=A.vec3(),Dc=A.vec3();A.vec3();const Pc=A.mat4();class Rc{constructor(e,t){this._scene=e,this._hash=this._getHash(),this._allocate()}getValid(){return this._hash===this._getHash()}_getHash(){return this._scene._sectionPlanesState.getHash()}drawLayer(e,t,s){const n=this._scene,i=n.camera,a=t.model,r=n.canvas.gl,l=t._state,o=l.textureState,c=t._state.origin,{position:u,rotationMatrix:h,rotationMatrixConjugate:p}=a,d=i.viewMatrix;if(!this._program&&(this._allocate(),this.errors))return;let f,I;if(e.lastProgramId!==this._program.id&&(e.lastProgramId=this._program.id,this._bindProgram(e,l)),o.bindCommonTextures(this._program,this.uTexturePerObjectPositionsDecodeMatrix,this._uTexturePerVertexIdCoordinates,this.uTexturePerObjectColorsAndFlags,this._uTexturePerObjectMatrix),c||0!==u[0]||0!==u[1]||0!==u[2]){const e=Tc;if(c){const t=bc;A.transformPoint3(h,c,t),e[0]=t[0],e[1]=t[1],e[2]=t[2]}else e[0]=0,e[1]=0,e[2]=0;e[0]+=u[0],e[1]+=u[1],e[2]+=u[2],f=Q(d,e,Pc),I=Dc,I[0]=i.eye[0]-e[0],I[1]=i.eye[1]-e[1],I[2]=i.eye[2]-e[2]}else f=d,I=i.eye;if(r.uniform3fv(this._uCameraEyeRtc,I),r.uniform1i(this._uRenderPass,s),r.uniformMatrix4fv(this._uWorldMatrix,!1,p),r.uniformMatrix4fv(this._uViewMatrix,!1,f),r.uniformMatrix4fv(this._uProjMatrix,!1,i.projMatrix),s===lr.SILHOUETTE_XRAYED){const e=n.xrayMaterial._state,t=e.fillColor,s=e.fillAlpha;r.uniform4f(this._uColor,t[0],t[1],t[2],s)}else if(s===lr.SILHOUETTE_HIGHLIGHTED){const e=n.highlightMaterial._state,t=e.fillColor,s=e.fillAlpha;r.uniform4f(this._uColor,t[0],t[1],t[2],s)}else if(s===lr.SILHOUETTE_SELECTED){const e=n.selectedMaterial._state,t=e.fillColor,s=e.fillAlpha;r.uniform4f(this._uColor,t[0],t[1],t[2],s)}else r.uniform4fv(this._uColor,Ec);if(n.logarithmicDepthBufferEnabled){const t=2/(Math.log(e.pickZFar+1)/Math.LN2);r.uniform1f(this._uLogDepthBufFC,t)}const y=n._sectionPlanesState.getNumAllocatedSectionPlanes(),m=n._sectionPlanesState.sectionPlanes.length;if(y>0){const e=n._sectionPlanesState.sectionPlanes,s=t.layerIndex*m,i=a.renderFlags;for(let t=0;t0&&(o.bindTriangleIndicesTextures(this._program,this._uTexturePerPolygonIdPortionIds,this._uTexturePerPolygonIdIndices,8),r.drawArrays(r.TRIANGLES,0,l.numIndices8Bits)),l.numIndices16Bits>0&&(o.bindTriangleIndicesTextures(this._program,this._uTexturePerPolygonIdPortionIds,this._uTexturePerPolygonIdIndices,16),r.drawArrays(r.TRIANGLES,0,l.numIndices16Bits)),l.numIndices32Bits>0&&(o.bindTriangleIndicesTextures(this._program,this._uTexturePerPolygonIdPortionIds,this._uTexturePerPolygonIdIndices,32),r.drawArrays(r.TRIANGLES,0,l.numIndices32Bits)),e.drawElements++}_allocate(){const e=this._scene,t=e.canvas.gl;if(this._program=new Fe(t,this._buildShader()),this._program.errors)return void(this.errors=this._program.errors);const s=this._program;this._uRenderPass=s.getLocation("renderPass"),this._uColor=s.getLocation("color"),this._uWorldMatrix=s.getLocation("sceneModelMatrix"),this._uViewMatrix=s.getLocation("viewMatrix"),this._uProjMatrix=s.getLocation("projMatrix"),this._uSectionPlanes=[];for(let t=0,n=e._sectionPlanesState.getNumAllocatedSectionPlanes();t0,s=[];return s.push("#version 300 es"),s.push("// Triangles dataTexture silhouette vertex shader"),s.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),s.push("precision highp float;"),s.push("precision highp int;"),s.push("precision highp usampler2D;"),s.push("precision highp isampler2D;"),s.push("precision highp sampler2D;"),s.push("#else"),s.push("precision mediump float;"),s.push("precision mediump int;"),s.push("precision mediump usampler2D;"),s.push("precision mediump isampler2D;"),s.push("precision mediump sampler2D;"),s.push("#endif"),s.push("uniform int renderPass;"),e.entityOffsetsEnabled&&s.push("in vec3 offset;"),s.push("uniform mat4 sceneModelMatrix;"),s.push("uniform mat4 viewMatrix;"),s.push("uniform mat4 projMatrix;"),s.push("uniform highp sampler2D uObjectPerObjectPositionsDecodeMatrix;"),s.push("uniform highp sampler2D uTexturePerObjectMatrix;"),s.push("uniform lowp usampler2D uObjectPerObjectColorsAndFlags;"),s.push("uniform mediump usampler2D uTexturePerVertexIdCoordinates;"),s.push("uniform highp usampler2D uTexturePerPolygonIdIndices;"),s.push("uniform mediump usampler2D uTexturePerPolygonIdPortionIds;"),s.push("uniform vec3 uCameraEyeRtc;"),s.push("vec3 positions[3];"),e.logarithmicDepthBufferEnabled&&(s.push("uniform float logDepthBufFC;"),s.push("out float vFragDepth;"),s.push("out float isPerspective;")),s.push("bool isPerspectiveMatrix(mat4 m) {"),s.push(" return (m[2][3] == - 1.0);"),s.push("}"),t&&(s.push("out vec4 vWorldPosition;"),s.push("flat out uint vFlags2;")),s.push("void main(void) {"),s.push("int polygonIndex = gl_VertexID / 3;"),s.push("int h_packed_object_id_index = (polygonIndex >> 3) & 4095;"),s.push("int v_packed_object_id_index = (polygonIndex >> 3) >> 12;"),s.push("int objectIndex = int(texelFetch(uTexturePerPolygonIdPortionIds, ivec2(h_packed_object_id_index, v_packed_object_id_index), 0).r);"),s.push("ivec2 objectIndexCoords = ivec2(objectIndex % 512, objectIndex / 512);"),s.push("uvec4 flags = texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+2, objectIndexCoords.y), 0);"),s.push("uvec4 flags2 = texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+3, objectIndexCoords.y), 0);"),s.push("if (int(flags.y) != renderPass) {"),s.push(" gl_Position = vec4(3.0, 3.0, 3.0, 1.0);"),s.push(" return;"),s.push("} else {"),s.push("ivec4 packedVertexBase = ivec4(texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+4, objectIndexCoords.y), 0));"),s.push("ivec4 packedIndexBaseOffset = ivec4(texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+5, objectIndexCoords.y), 0));"),s.push("int indexBaseOffset = (packedIndexBaseOffset.r << 24) + (packedIndexBaseOffset.g << 16) + (packedIndexBaseOffset.b << 8) + packedIndexBaseOffset.a;"),s.push("int h_index = (polygonIndex - indexBaseOffset) & 4095;"),s.push("int v_index = (polygonIndex - indexBaseOffset) >> 12;"),s.push("ivec3 vertexIndices = ivec3(texelFetch(uTexturePerPolygonIdIndices, ivec2(h_index, v_index), 0));"),s.push("ivec3 uniqueVertexIndexes = vertexIndices + (packedVertexBase.r << 24) + (packedVertexBase.g << 16) + (packedVertexBase.b << 8) + packedVertexBase.a;"),s.push("ivec3 indexPositionH = uniqueVertexIndexes & 4095;"),s.push("ivec3 indexPositionV = uniqueVertexIndexes >> 12;"),s.push("mat4 objectInstanceMatrix = mat4 (texelFetch (uTexturePerObjectMatrix, ivec2(objectIndexCoords.x*4+0, objectIndexCoords.y), 0), texelFetch (uTexturePerObjectMatrix, ivec2(objectIndexCoords.x*4+1, objectIndexCoords.y), 0), texelFetch (uTexturePerObjectMatrix, ivec2(objectIndexCoords.x*4+2, objectIndexCoords.y), 0), texelFetch (uTexturePerObjectMatrix, ivec2(objectIndexCoords.x*4+3, objectIndexCoords.y), 0));"),s.push("mat4 objectDecodeAndInstanceMatrix = objectInstanceMatrix * mat4 (texelFetch (uObjectPerObjectPositionsDecodeMatrix, ivec2(objectIndexCoords.x*4+0, objectIndexCoords.y), 0), texelFetch (uObjectPerObjectPositionsDecodeMatrix, ivec2(objectIndexCoords.x*4+1, objectIndexCoords.y), 0), texelFetch (uObjectPerObjectPositionsDecodeMatrix, ivec2(objectIndexCoords.x*4+2, objectIndexCoords.y), 0), texelFetch (uObjectPerObjectPositionsDecodeMatrix, ivec2(objectIndexCoords.x*4+3, objectIndexCoords.y), 0));"),s.push("uint solid = texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+7, objectIndexCoords.y), 0).r;"),s.push("positions[0] = vec3(texelFetch(uTexturePerVertexIdCoordinates, ivec2(indexPositionH.r, indexPositionV.r), 0));"),s.push("positions[1] = vec3(texelFetch(uTexturePerVertexIdCoordinates, ivec2(indexPositionH.g, indexPositionV.g), 0));"),s.push("positions[2] = vec3(texelFetch(uTexturePerVertexIdCoordinates, ivec2(indexPositionH.b, indexPositionV.b), 0));"),s.push("vec3 normal = normalize(cross(positions[2] - positions[0], positions[1] - positions[0]));"),s.push("vec3 position;"),s.push("position = positions[gl_VertexID % 3];"),s.push("vec3 viewNormal = -normalize((transpose(inverse(viewMatrix*objectDecodeAndInstanceMatrix)) * vec4(normal,1)).xyz);"),s.push("if (solid != 1u) {"),s.push("if (isPerspectiveMatrix(projMatrix)) {"),s.push("vec3 uCameraEyeRtcInQuantizedSpace = (inverse(sceneModelMatrix * objectDecodeAndInstanceMatrix) * vec4(uCameraEyeRtc, 1)).xyz;"),s.push("if (dot(position.xyz - uCameraEyeRtcInQuantizedSpace, normal) < 0.0) {"),s.push("position = positions[2 - (gl_VertexID % 3)];"),s.push("viewNormal = -viewNormal;"),s.push("}"),s.push("} else {"),s.push("if (viewNormal.z < 0.0) {"),s.push("position = positions[2 - (gl_VertexID % 3)];"),s.push("viewNormal = -viewNormal;"),s.push("}"),s.push("}"),s.push("}"),s.push("vec4 worldPosition = sceneModelMatrix * (objectDecodeAndInstanceMatrix * vec4(position, 1.0)); "),s.push("vec4 viewPosition = viewMatrix * worldPosition; "),s.push("vec4 clipPos = projMatrix * viewPosition;"),e.logarithmicDepthBufferEnabled&&(s.push("vFragDepth = 1.0 + clipPos.w;"),s.push("isPerspective = float (isPerspectiveMatrix(projMatrix));")),t&&(s.push("vWorldPosition = worldPosition;"),s.push("vFlags2 = flags2.r;")),s.push("gl_Position = clipPos;"),s.push("}"),s.push("}"),s}_buildFragmentShader(){const e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,s=[];if(s.push("#version 300 es"),s.push("// Triangles dataTexture draw fragment shader"),s.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),s.push("precision highp float;"),s.push("precision highp int;"),s.push("#else"),s.push("precision mediump float;"),s.push("precision mediump int;"),s.push("#endif"),e.logarithmicDepthBufferEnabled&&(s.push("in float isPerspective;"),s.push("uniform float logDepthBufFC;"),s.push("in float vFragDepth;")),t){s.push("in vec4 vWorldPosition;"),s.push("flat in uint vFlags2;");for(let t=0,n=e._sectionPlanesState.getNumAllocatedSectionPlanes();t 0u;"),s.push(" if (clippable) {"),s.push(" float dist = 0.0;");for(let t=0,n=e._sectionPlanesState.getNumAllocatedSectionPlanes();t 0.0) { "),s.push(" discard;"),s.push(" }"),s.push("}")}return e.logarithmicDepthBufferEnabled&&s.push(" gl_FragDepth = isPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5;"),s.push(" outColor = color;"),s.push("}"),s}webglContextRestored(){this._program=null}destroy(){this._program&&this._program.destroy(),this._program=null}}const Cc=new Float32Array([0,0,0,1]),_c=A.vec3(),Bc=A.vec3();A.vec3();const Oc=A.mat4();class Sc{constructor(e){this._scene=e,this._hash=this._getHash(),this._allocate()}getValid(){return this._hash===this._getHash()}_getHash(){return this._scene._sectionPlanesState.getHash()}drawLayer(e,t,s){const n=t.model,i=n.scene,a=i.camera,r=i.canvas.gl,l=t._state,o=l.textureState,c=t._state.origin,{position:u,rotationMatrix:h,rotationMatrixConjugate:p}=n,d=a.viewMatrix;if(!this._program&&(this._allocate(t),this.errors))return;let f;e.lastProgramId!==this._program.id&&(e.lastProgramId=this._program.id,this._bindProgram()),o.bindCommonTextures(this._program,this.uTexturePerObjectPositionsDecodeMatrix,this._uTexturePerVertexIdCoordinates,this.uTexturePerObjectColorsAndFlags,this._uTexturePerObjectMatrix);const I=0!==c[0]||0!==c[1]||0!==c[2],y=0!==u[0]||0!==u[1]||0!==u[2];if(I||y){const e=_c;if(I){const t=A.transformPoint3(h,c,Bc);e[0]=t[0],e[1]=t[1],e[2]=t[2]}else e[0]=0,e[1]=0,e[2]=0;e[0]+=u[0],e[1]+=u[1],e[2]+=u[2],f=Q(d,e,Oc)}else f=d;if(r.uniform1i(this._uRenderPass,s),r.uniformMatrix4fv(this._uSceneModelMatrix,!1,p),r.uniformMatrix4fv(this._uViewMatrix,!1,f),r.uniformMatrix4fv(this._uProjMatrix,!1,a.projMatrix),s===lr.EDGES_XRAYED){const e=i.xrayMaterial._state,t=e.edgeColor,s=e.edgeAlpha;r.uniform4f(this._uColor,t[0],t[1],t[2],s)}else if(s===lr.EDGES_HIGHLIGHTED){const e=i.highlightMaterial._state,t=e.edgeColor,s=e.edgeAlpha;r.uniform4f(this._uColor,t[0],t[1],t[2],s)}else if(s===lr.EDGES_SELECTED){const e=i.selectedMaterial._state,t=e.edgeColor,s=e.edgeAlpha;r.uniform4f(this._uColor,t[0],t[1],t[2],s)}else r.uniform4fv(this._uColor,Cc);const m=i._sectionPlanesState.getNumAllocatedSectionPlanes(),v=i._sectionPlanesState.sectionPlanes.length;if(m>0){const e=i._sectionPlanesState.sectionPlanes,s=t.layerIndex*v,a=n.renderFlags;for(let t=0;t0&&(o.bindEdgeIndicesTextures(this._program,this._uTexturePerEdgeIdPortionIds,this._uTexturePerPolygonIdEdgeIndices,8),r.drawArrays(r.LINES,0,l.numEdgeIndices8Bits)),l.numEdgeIndices16Bits>0&&(o.bindEdgeIndicesTextures(this._program,this._uTexturePerEdgeIdPortionIds,this._uTexturePerPolygonIdEdgeIndices,16),r.drawArrays(r.LINES,0,l.numEdgeIndices16Bits)),l.numEdgeIndices32Bits>0&&(o.bindEdgeIndicesTextures(this._program,this._uTexturePerEdgeIdPortionIds,this._uTexturePerPolygonIdEdgeIndices,32),r.drawArrays(r.LINES,0,l.numEdgeIndices32Bits)),e.drawElements++}_allocate(){const e=this._scene,t=e.canvas.gl;if(this._program=new Fe(t,this._buildShader()),this._program.errors)return void(this.errors=this._program.errors);const s=this._program;this._uRenderPass=s.getLocation("renderPass"),this._uColor=s.getLocation("color"),this._uSceneModelMatrix=s.getLocation("sceneModelMatrix"),this._uWorldMatrix=s.getLocation("worldMatrix"),this._uViewMatrix=s.getLocation("viewMatrix"),this._uProjMatrix=s.getLocation("projMatrix"),this._uSectionPlanes=[];for(let t=0,n=e._sectionPlanesState.getNumAllocatedSectionPlanes();t0,s=[];return s.push("#version 300 es"),s.push("// Batched geometry edges drawing vertex shader"),s.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),s.push("precision highp float;"),s.push("precision highp int;"),s.push("precision highp usampler2D;"),s.push("precision highp isampler2D;"),s.push("precision highp sampler2D;"),s.push("#else"),s.push("precision mediump float;"),s.push("precision mediump int;"),s.push("precision mediump usampler2D;"),s.push("precision mediump isampler2D;"),s.push("precision mediump sampler2D;"),s.push("#endif"),s.push("uniform int renderPass;"),s.push("uniform mat4 sceneModelMatrix;"),s.push("uniform mat4 viewMatrix;"),s.push("uniform mat4 projMatrix;"),s.push("uniform highp sampler2D uObjectPerObjectPositionsDecodeMatrix;"),s.push("uniform highp sampler2D uTexturePerObjectMatrix;"),s.push("uniform lowp usampler2D uObjectPerObjectColorsAndFlags;"),s.push("uniform mediump usampler2D uTexturePerVertexIdCoordinates;"),s.push("uniform highp usampler2D uTexturePerPolygonIdEdgeIndices;"),s.push("uniform mediump usampler2D uTexturePerEdgeIdPortionIds;"),s.push("uniform vec4 color;"),e.logarithmicDepthBufferEnabled&&(s.push("uniform float logDepthBufFC;"),s.push("out float vFragDepth;"),s.push("bool isPerspectiveMatrix(mat4 m) {"),s.push(" return (m[2][3] == - 1.0);"),s.push("}"),s.push("out float isPerspective;")),t&&(s.push("out vec4 vWorldPosition;"),s.push("flat out uint vFlags2;")),s.push("out vec4 vColor;"),s.push("void main(void) {"),s.push("int edgeIndex = gl_VertexID / 2;"),s.push("int h_packed_object_id_index = (edgeIndex >> 3) & 4095;"),s.push("int v_packed_object_id_index = (edgeIndex >> 3) >> 12;"),s.push("int objectIndex = int(texelFetch(uTexturePerEdgeIdPortionIds, ivec2(h_packed_object_id_index, v_packed_object_id_index), 0).r);"),s.push("ivec2 objectIndexCoords = ivec2(objectIndex % 512, objectIndex / 512);"),s.push("uvec4 flags = texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+2, objectIndexCoords.y), 0);"),s.push("uvec4 flags2 = texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+3, objectIndexCoords.y), 0);"),s.push("if (int(flags.z) != renderPass) {"),s.push(" gl_Position = vec4(3.0, 3.0, 3.0, 1.0);"),s.push(" return;"),s.push("} else {"),s.push("ivec4 packedVertexBase = ivec4(texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+4, objectIndexCoords.y), 0));"),s.push("ivec4 packedEdgeIndexBaseOffset = ivec4(texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+6, objectIndexCoords.y), 0));"),s.push("int edgeIndexBaseOffset = (packedEdgeIndexBaseOffset.r << 24) + (packedEdgeIndexBaseOffset.g << 16) + (packedEdgeIndexBaseOffset.b << 8) + packedEdgeIndexBaseOffset.a;"),s.push("int h_index = (edgeIndex - edgeIndexBaseOffset) & 4095;"),s.push("int v_index = (edgeIndex - edgeIndexBaseOffset) >> 12;"),s.push("ivec3 vertexIndices = ivec3(texelFetch(uTexturePerPolygonIdEdgeIndices, ivec2(h_index, v_index), 0));"),s.push("ivec3 uniqueVertexIndexes = vertexIndices + (packedVertexBase.r << 24) + (packedVertexBase.g << 16) + (packedVertexBase.b << 8) + packedVertexBase.a;"),s.push("int indexPositionH = uniqueVertexIndexes[gl_VertexID % 2] & 4095;"),s.push("int indexPositionV = uniqueVertexIndexes[gl_VertexID % 2] >> 12;"),s.push("mat4 objectInstanceMatrix = mat4 (texelFetch (uTexturePerObjectMatrix, ivec2(objectIndexCoords.x*4+0, objectIndexCoords.y), 0), texelFetch (uTexturePerObjectMatrix, ivec2(objectIndexCoords.x*4+1, objectIndexCoords.y), 0), texelFetch (uTexturePerObjectMatrix, ivec2(objectIndexCoords.x*4+2, objectIndexCoords.y), 0), texelFetch (uTexturePerObjectMatrix, ivec2(objectIndexCoords.x*4+3, objectIndexCoords.y), 0));"),s.push("mat4 objectDecodeAndInstanceMatrix = objectInstanceMatrix * mat4 (texelFetch (uObjectPerObjectPositionsDecodeMatrix, ivec2(objectIndexCoords.x*4+0, objectIndexCoords.y), 0), texelFetch (uObjectPerObjectPositionsDecodeMatrix, ivec2(objectIndexCoords.x*4+1, objectIndexCoords.y), 0), texelFetch (uObjectPerObjectPositionsDecodeMatrix, ivec2(objectIndexCoords.x*4+2, objectIndexCoords.y), 0), texelFetch (uObjectPerObjectPositionsDecodeMatrix, ivec2(objectIndexCoords.x*4+3, objectIndexCoords.y), 0));"),s.push("uvec4 flags = texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+2, objectIndexCoords.y), 0);"),s.push("uvec4 flags2 = texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+3, objectIndexCoords.y), 0);"),s.push("vec3 position = vec3(texelFetch(uTexturePerVertexIdCoordinates, ivec2(indexPositionH, indexPositionV), 0));"),s.push("mat4 matrix = mat4 (texelFetch (uTexturePerObjectMatrix, ivec2(objectIndexCoords.x*4+0, objectIndexCoords.y), 0), texelFetch (uTexturePerObjectMatrix, ivec2(objectIndexCoords.x*4+1, objectIndexCoords.y), 0), texelFetch (uTexturePerObjectMatrix, ivec2(objectIndexCoords.x*4+2, objectIndexCoords.y), 0), texelFetch (uTexturePerObjectMatrix, ivec2(objectIndexCoords.x*4+3, objectIndexCoords.y), 0));"),s.push("vec4 worldPosition = sceneModelMatrix * (objectDecodeAndInstanceMatrix * vec4(position, 1.0)); "),s.push("vec4 viewPosition = viewMatrix * worldPosition; "),t&&(s.push(" vWorldPosition = worldPosition;"),s.push(" vFlags2 = flags2.r;")),s.push("vec4 clipPos = projMatrix * viewPosition;"),e.logarithmicDepthBufferEnabled&&(s.push("vFragDepth = 1.0 + clipPos.w;"),s.push("isPerspective = float (isPerspectiveMatrix(projMatrix));")),s.push("gl_Position = clipPos;"),s.push("vColor = vec4(color.r, color.g, color.b, color.a);"),s.push("}"),s.push("}"),s}_buildFragmentShader(){const e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,s=[];if(s.push("#version 300 es"),s.push("// Batched geometry edges drawing fragment shader"),e.logarithmicDepthBufferEnabled&&s.push("#extension GL_EXT_frag_depth : enable"),s.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),s.push("precision highp float;"),s.push("precision highp int;"),s.push("#else"),s.push("precision mediump float;"),s.push("precision mediump int;"),s.push("#endif"),e.logarithmicDepthBufferEnabled&&(s.push("in float isPerspective;"),s.push("uniform float logDepthBufFC;"),s.push("in float vFragDepth;")),t){s.push("in vec4 vWorldPosition;"),s.push("flat in uint vFlags2;");for(let t=0,n=e._sectionPlanesState.getNumAllocatedSectionPlanes();t 0u;"),s.push(" if (clippable) {"),s.push(" float dist = 0.0;");for(let t=0,n=e._sectionPlanesState.getNumAllocatedSectionPlanes();t 0.0) { discard; }"),s.push("}")}return e.logarithmicDepthBufferEnabled&&s.push(" gl_FragDepth = isPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5;"),s.push(" outColor = vColor;"),s.push("}"),s}webglContextRestored(){this._program=null}destroy(){this._program&&this._program.destroy(),this._program=null}}const Nc=A.vec3(),xc=A.vec3();A.vec3();const Lc=A.mat4();class Mc{constructor(e){this._scene=e,this._hash=this._getHash(),this._allocate()}getValid(){return this._hash===this._getHash()}_getHash(){return this._scene._sectionPlanesState.getHash()}drawLayer(e,t,s){const n=t.model,i=n.scene,a=i.camera,r=i.canvas.gl,l=t._state,o=l.textureState,c=t._state.origin,{position:u,rotationMatrix:h,rotationMatrixConjugate:p}=n,d=a.viewMatrix;if(!this._program&&(this._allocate(),this.errors))return;let f;e.lastProgramId!==this._program.id&&(e.lastProgramId=this._program.id,this._bindProgram()),o.bindCommonTextures(this._program,this.uTexturePerObjectPositionsDecodeMatrix,this._uTexturePerVertexIdCoordinates,this.uTexturePerObjectColorsAndFlags,this._uTexturePerObjectMatrix);const I=0!==c[0]||0!==c[1]||0!==c[2],y=0!==u[0]||0!==u[1]||0!==u[2];if(I||y){const e=Nc;if(I){const t=A.transformPoint3(h,c,xc);e[0]=t[0],e[1]=t[1],e[2]=t[2]}else e[0]=0,e[1]=0,e[2]=0;e[0]+=u[0],e[1]+=u[1],e[2]+=u[2],f=Q(d,e,Lc)}else f=d;r.uniform1i(this._uRenderPass,s),r.uniformMatrix4fv(this._uSceneModelMatrix,!1,p),r.uniformMatrix4fv(this._uViewMatrix,!1,f),r.uniformMatrix4fv(this._uProjMatrix,!1,a.projMatrix);const m=i._sectionPlanesState.getNumAllocatedSectionPlanes(),v=i._sectionPlanesState.sectionPlanes.length;if(m>0){const e=i._sectionPlanesState.sectionPlanes,s=t.layerIndex*v,a=n.renderFlags;for(let t=0;t0&&(o.bindEdgeIndicesTextures(this._program,this._uTexturePerEdgeIdPortionIds,this._uTexturePerPolygonIdEdgeIndices,8),r.drawArrays(r.LINES,0,l.numEdgeIndices8Bits)),l.numEdgeIndices16Bits>0&&(o.bindEdgeIndicesTextures(this._program,this._uTexturePerEdgeIdPortionIds,this._uTexturePerPolygonIdEdgeIndices,16),r.drawArrays(r.LINES,0,l.numEdgeIndices16Bits)),l.numEdgeIndices32Bits>0&&(o.bindEdgeIndicesTextures(this._program,this._uTexturePerEdgeIdPortionIds,this._uTexturePerPolygonIdEdgeIndices,32),r.drawArrays(r.LINES,0,l.numEdgeIndices32Bits)),e.drawElements++}_allocate(){const e=this._scene,t=e.canvas.gl;if(this._program=new Fe(t,this._buildShader()),this._program.errors)return void(this.errors=this._program.errors);const s=this._program;this._uRenderPass=s.getLocation("renderPass"),this._uSceneModelMatrix=s.getLocation("sceneModelMatrix"),this._uViewMatrix=s.getLocation("viewMatrix"),this._uProjMatrix=s.getLocation("projMatrix"),this._uSectionPlanes=[];for(let t=0,n=e._sectionPlanesState.getNumAllocatedSectionPlanes();t0,s=[];return s.push("#version 300 es"),s.push("// TrianglesDataTextureEdgesColorRenderer"),s.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),s.push("precision highp float;"),s.push("precision highp int;"),s.push("precision highp usampler2D;"),s.push("precision highp isampler2D;"),s.push("precision highp sampler2D;"),s.push("#else"),s.push("precision mediump float;"),s.push("precision mediump int;"),s.push("precision mediump usampler2D;"),s.push("precision mediump isampler2D;"),s.push("precision mediump sampler2D;"),s.push("#endif"),s.push("uniform int renderPass;"),e.entityOffsetsEnabled,s.push("uniform mat4 sceneModelMatrix;"),s.push("uniform mat4 viewMatrix;"),s.push("uniform mat4 projMatrix;"),s.push("uniform highp sampler2D uObjectPerObjectPositionsDecodeMatrix;"),s.push("uniform highp sampler2D uTexturePerObjectMatrix;"),s.push("uniform lowp usampler2D uObjectPerObjectColorsAndFlags;"),s.push("uniform highp sampler2D uObjectPerObjectOffsets;"),s.push("uniform mediump usampler2D uTexturePerVertexIdCoordinates;"),s.push("uniform highp usampler2D uTexturePerPolygonIdEdgeIndices;"),s.push("uniform mediump usampler2D uTexturePerEdgeIdPortionIds;"),e.logarithmicDepthBufferEnabled&&(s.push("uniform float logDepthBufFC;"),s.push("out float vFragDepth;"),s.push("bool isPerspectiveMatrix(mat4 m) {"),s.push(" return (m[2][3] == - 1.0);"),s.push("}"),s.push("out float isPerspective;")),t&&(s.push("out vec4 vWorldPosition;"),s.push("flat out uint vFlags2;")),s.push("out vec4 vColor;"),s.push("void main(void) {"),s.push("int edgeIndex = gl_VertexID / 2;"),s.push("int h_packed_object_id_index = (edgeIndex >> 3) & 4095;"),s.push("int v_packed_object_id_index = (edgeIndex >> 3) >> 12;"),s.push("int objectIndex = int(texelFetch(uTexturePerEdgeIdPortionIds, ivec2(h_packed_object_id_index, v_packed_object_id_index), 0).r);"),s.push("ivec2 objectIndexCoords = ivec2(objectIndex % 512, objectIndex / 512);"),s.push("uvec4 flags = texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+2, objectIndexCoords.y), 0);"),s.push("uvec4 flags2 = texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+3, objectIndexCoords.y), 0);"),s.push("if (int(flags.z) != renderPass) {"),s.push(" gl_Position = vec4(3.0, 3.0, 3.0, 1.0);"),s.push(" return;"),s.push("} else {"),s.push("ivec4 packedVertexBase = ivec4(texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+4, objectIndexCoords.y), 0));"),s.push("ivec4 packedEdgeIndexBaseOffset = ivec4(texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+6, objectIndexCoords.y), 0));"),s.push("int edgeIndexBaseOffset = (packedEdgeIndexBaseOffset.r << 24) + (packedEdgeIndexBaseOffset.g << 16) + (packedEdgeIndexBaseOffset.b << 8) + packedEdgeIndexBaseOffset.a;"),s.push("int h_index = (edgeIndex - edgeIndexBaseOffset) & 4095;"),s.push("int v_index = (edgeIndex - edgeIndexBaseOffset) >> 12;"),s.push("ivec3 vertexIndices = ivec3(texelFetch(uTexturePerPolygonIdEdgeIndices, ivec2(h_index, v_index), 0));"),s.push("ivec3 uniqueVertexIndexes = vertexIndices + (packedVertexBase.r << 24) + (packedVertexBase.g << 16) + (packedVertexBase.b << 8) + packedVertexBase.a;"),s.push("int indexPositionH = uniqueVertexIndexes[gl_VertexID % 2] & 4095;"),s.push("int indexPositionV = uniqueVertexIndexes[gl_VertexID % 2] >> 12;"),s.push("mat4 objectInstanceMatrix = mat4 (texelFetch (uTexturePerObjectMatrix, ivec2(objectIndexCoords.x*4+0, objectIndexCoords.y), 0), texelFetch (uTexturePerObjectMatrix, ivec2(objectIndexCoords.x*4+1, objectIndexCoords.y), 0), texelFetch (uTexturePerObjectMatrix, ivec2(objectIndexCoords.x*4+2, objectIndexCoords.y), 0), texelFetch (uTexturePerObjectMatrix, ivec2(objectIndexCoords.x*4+3, objectIndexCoords.y), 0));"),s.push("mat4 objectDecodeAndInstanceMatrix = objectInstanceMatrix * mat4 (texelFetch (uObjectPerObjectPositionsDecodeMatrix, ivec2(objectIndexCoords.x*4+0, objectIndexCoords.y), 0), texelFetch (uObjectPerObjectPositionsDecodeMatrix, ivec2(objectIndexCoords.x*4+1, objectIndexCoords.y), 0), texelFetch (uObjectPerObjectPositionsDecodeMatrix, ivec2(objectIndexCoords.x*4+2, objectIndexCoords.y), 0), texelFetch (uObjectPerObjectPositionsDecodeMatrix, ivec2(objectIndexCoords.x*4+3, objectIndexCoords.y), 0));"),s.push("uvec4 flags = texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+2, objectIndexCoords.y), 0);"),s.push("uvec4 flags2 = texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+3, objectIndexCoords.y), 0);"),s.push("vec3 position = vec3(texelFetch(uTexturePerVertexIdCoordinates, ivec2(indexPositionH, indexPositionV), 0));"),s.push("uvec4 color = texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+0, objectIndexCoords.y), 0);"),s.push("if (color.a == 0u) {"),s.push(" gl_Position = vec4(3.0, 3.0, 3.0, 1.0);"),s.push(" return;"),s.push("};"),s.push("vec4 worldPosition = sceneModelMatrix * (objectDecodeAndInstanceMatrix * vec4(position, 1.0)); "),s.push("vec4 viewPosition = viewMatrix * worldPosition; "),t&&(s.push(" vWorldPosition = worldPosition;"),s.push(" vFlags2 = flags2.r;")),s.push("vec4 clipPos = projMatrix * viewPosition;"),e.logarithmicDepthBufferEnabled&&(s.push("vFragDepth = 1.0 + clipPos.w;"),s.push("isPerspective = float (isPerspectiveMatrix(projMatrix));")),s.push("gl_Position = clipPos;"),s.push("vec4 rgb = vec4(color.rgba);"),s.push("vColor = vec4(float(rgb.r*0.5) / 255.0, float(rgb.g*0.5) / 255.0, float(rgb.b*0.5) / 255.0, float(rgb.a) / 255.0);"),s.push("}"),s.push("}"),s}_buildFragmentShader(){const e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,s=[];if(s.push("#version 300 es"),s.push("// TrianglesDataTextureEdgesColorRenderer"),s.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),s.push("precision highp float;"),s.push("precision highp int;"),s.push("#else"),s.push("precision mediump float;"),s.push("precision mediump int;"),s.push("#endif"),e.logarithmicDepthBufferEnabled&&(s.push("in float isPerspective;"),s.push("uniform float logDepthBufFC;"),s.push("in float vFragDepth;")),t){s.push("in vec4 vWorldPosition;"),s.push("flat in uint vFlags2;");for(let t=0,n=e._sectionPlanesState.getNumAllocatedSectionPlanes();t 0u;"),s.push(" if (clippable) {"),s.push(" float dist = 0.0;");for(let t=0,n=e._sectionPlanesState.getNumAllocatedSectionPlanes();t 0.0) { discard; }"),s.push("}")}return e.logarithmicDepthBufferEnabled&&s.push(" gl_FragDepth = isPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5;"),s.push(" outColor = vColor;"),s.push("}"),s}webglContextRestored(){this._program=null}destroy(){this._program&&this._program.destroy(),this._program=null}}const Fc=A.vec3(),Hc=A.vec3(),Uc=A.vec3(),Gc=A.mat4();class jc{constructor(e){this._scene=e,this._hash=this._getHash(),this._allocate()}getValid(){return this._hash===this._getHash()}_getHash(){return this._scene._sectionPlanesState.getHash()}drawLayer(e,t,s){if(!this._program&&(this._allocate(t),this.errors))return;e.lastProgramId!==this._program.id&&(e.lastProgramId=this._program.id,this._bindProgram(e));const n=t.model,i=n.scene,a=i.camera,r=i.canvas.gl,l=t._state,o=l.textureState,c=t._state.origin,{position:u,rotationMatrix:h,rotationMatrixConjugate:p}=n;let d,f;o.bindCommonTextures(this._program,this.uTexturePerObjectPositionsDecodeMatrix,this._uTexturePerVertexIdCoordinates,this.uTexturePerObjectColorsAndFlags,this._uTexturePerObjectMatrix);const I=0!==c[0]||0!==c[1]||0!==c[2],y=0!==u[0]||0!==u[1]||0!==u[2];if(I||y){const e=Fc;if(I){const t=A.transformPoint3(h,c,Hc);e[0]=t[0],e[1]=t[1],e[2]=t[2]}else e[0]=0,e[1]=0,e[2]=0;e[0]+=u[0],e[1]+=u[1],e[2]+=u[2],d=Q(a.viewMatrix,e,Gc),f=Uc,f[0]=a.eye[0]-e[0],f[1]=a.eye[1]-e[1],f[2]=a.eye[2]-e[2]}else d=a.viewMatrix,f=a.eye;if(r.uniform2fv(this._uPickClipPos,e.pickClipPos),r.uniform2f(this._uDrawingBufferSize,r.drawingBufferWidth,r.drawingBufferHeight),r.uniformMatrix4fv(this._uSceneModelMatrix,!1,p),r.uniformMatrix4fv(this._uViewMatrix,!1,d),r.uniformMatrix4fv(this._uProjMatrix,!1,a.projMatrix),r.uniform3fv(this._uCameraEyeRtc,f),r.uniform1i(this._uRenderPass,s),i.logarithmicDepthBufferEnabled){const e=2/(Math.log(a.project.far+1)/Math.LN2);r.uniform1f(this._uLogDepthBufFC,e)}const m=i._sectionPlanesState.getNumAllocatedSectionPlanes(),v=i._sectionPlanesState.sectionPlanes.length;if(m>0){const e=i._sectionPlanesState.sectionPlanes,s=t.layerIndex*v,a=n.renderFlags;for(let t=0;t0&&(o.bindTriangleIndicesTextures(this._program,this._uTexturePerPolygonIdPortionIds,this._uTexturePerPolygonIdIndices,8),r.drawArrays(r.TRIANGLES,0,l.numIndices8Bits)),l.numIndices16Bits>0&&(o.bindTriangleIndicesTextures(this._program,this._uTexturePerPolygonIdPortionIds,this._uTexturePerPolygonIdIndices,16),r.drawArrays(r.TRIANGLES,0,l.numIndices16Bits)),l.numIndices32Bits>0&&(o.bindTriangleIndicesTextures(this._program,this._uTexturePerPolygonIdPortionIds,this._uTexturePerPolygonIdIndices,32),r.drawArrays(r.TRIANGLES,0,l.numIndices32Bits)),e.drawElements++}_allocate(){const e=this._scene,t=e.canvas.gl;if(this._program=new Fe(t,this._buildShader()),this._program.errors)return void(this.errors=this._program.errors);const s=this._program;this._uRenderPass=s.getLocation("renderPass"),this._uPickInvisible=s.getLocation("pickInvisible"),this._uPickClipPos=s.getLocation("pickClipPos"),this._uDrawingBufferSize=s.getLocation("drawingBufferSize"),this._uSceneModelMatrix=s.getLocation("sceneModelMatrix"),this._uViewMatrix=s.getLocation("viewMatrix"),this._uProjMatrix=s.getLocation("projMatrix"),this._uSectionPlanes=[];for(let t=0,n=e._sectionPlanesState.getNumAllocatedSectionPlanes();t0,s=[];return s.push("#version 300 es"),s.push("// Batched geometry picking vertex shader"),s.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),s.push("precision highp float;"),s.push("precision highp int;"),s.push("precision highp usampler2D;"),s.push("precision highp isampler2D;"),s.push("precision highp sampler2D;"),s.push("#else"),s.push("precision mediump float;"),s.push("precision mediump int;"),s.push("precision mediump usampler2D;"),s.push("precision mediump isampler2D;"),s.push("precision mediump sampler2D;"),s.push("#endif"),s.push("uniform int renderPass;"),e.entityOffsetsEnabled&&s.push("in vec3 offset;"),s.push("uniform mat4 sceneModelMatrix;"),s.push("uniform mat4 viewMatrix;"),s.push("uniform mat4 projMatrix;"),s.push("uniform bool pickInvisible;"),s.push("uniform highp sampler2D uObjectPerObjectPositionsDecodeMatrix;"),s.push("uniform highp sampler2D uTexturePerObjectMatrix;"),s.push("uniform lowp usampler2D uObjectPerObjectColorsAndFlags;"),s.push("uniform mediump usampler2D uTexturePerVertexIdCoordinates;"),s.push("uniform highp usampler2D uTexturePerPolygonIdIndices;"),s.push("uniform mediump usampler2D uTexturePerPolygonIdPortionIds;"),s.push("uniform vec3 uCameraEyeRtc;"),s.push("vec3 positions[3];"),e.logarithmicDepthBufferEnabled&&(s.push("uniform float logDepthBufFC;"),s.push("out float vFragDepth;"),s.push("out float isPerspective;")),s.push("uniform vec2 pickClipPos;"),s.push("uniform vec2 drawingBufferSize;"),s.push("vec4 remapClipPos(vec4 clipPos) {"),s.push(" clipPos.xy /= clipPos.w;"),s.push(" clipPos.xy = (clipPos.xy - pickClipPos) * drawingBufferSize;"),s.push(" clipPos.xy *= clipPos.w;"),s.push(" return clipPos;"),s.push("}"),s.push("bool isPerspectiveMatrix(mat4 m) {"),s.push(" return (m[2][3] == - 1.0);"),s.push("}"),t&&(s.push("smooth out vec4 vWorldPosition;"),s.push("flat out uvec4 vFlags2;")),s.push("out vec4 vPickColor;"),s.push("void main(void) {"),s.push("int polygonIndex = gl_VertexID / 3;"),s.push("int h_packed_object_id_index = (polygonIndex >> 3) & 4095;"),s.push("int v_packed_object_id_index = (polygonIndex >> 3) >> 12;"),s.push("int objectIndex = int(texelFetch(uTexturePerPolygonIdPortionIds, ivec2(h_packed_object_id_index, v_packed_object_id_index), 0).r);"),s.push("ivec2 objectIndexCoords = ivec2(objectIndex % 512, objectIndex / 512);"),s.push("uvec4 flags = texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+2, objectIndexCoords.y), 0);"),s.push("uvec4 flags2 = texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+3, objectIndexCoords.y), 0);"),s.push("if (int(flags.w) != renderPass) {"),s.push(" gl_Position = vec4(3.0, 3.0, 3.0, 1.0);"),s.push(" return;"),s.push("} else {"),s.push("ivec4 packedVertexBase = ivec4(texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+4, objectIndexCoords.y), 0));"),s.push("ivec4 packedIndexBaseOffset = ivec4(texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+5, objectIndexCoords.y), 0));"),s.push("int indexBaseOffset = (packedIndexBaseOffset.r << 24) + (packedIndexBaseOffset.g << 16) + (packedIndexBaseOffset.b << 8) + packedIndexBaseOffset.a;"),s.push("int h_index = (polygonIndex - indexBaseOffset) & 4095;"),s.push("int v_index = (polygonIndex - indexBaseOffset) >> 12;"),s.push("ivec3 vertexIndices = ivec3(texelFetch(uTexturePerPolygonIdIndices, ivec2(h_index, v_index), 0));"),s.push("ivec3 uniqueVertexIndexes = vertexIndices + (packedVertexBase.r << 24) + (packedVertexBase.g << 16) + (packedVertexBase.b << 8) + packedVertexBase.a;"),s.push("ivec3 indexPositionH = uniqueVertexIndexes & 4095;"),s.push("ivec3 indexPositionV = uniqueVertexIndexes >> 12;"),s.push("mat4 objectInstanceMatrix = mat4 (texelFetch (uTexturePerObjectMatrix, ivec2(objectIndexCoords.x*4+0, objectIndexCoords.y), 0), texelFetch (uTexturePerObjectMatrix, ivec2(objectIndexCoords.x*4+1, objectIndexCoords.y), 0), texelFetch (uTexturePerObjectMatrix, ivec2(objectIndexCoords.x*4+2, objectIndexCoords.y), 0), texelFetch (uTexturePerObjectMatrix, ivec2(objectIndexCoords.x*4+3, objectIndexCoords.y), 0));"),s.push("mat4 objectDecodeAndInstanceMatrix = objectInstanceMatrix * mat4 (texelFetch (uObjectPerObjectPositionsDecodeMatrix, ivec2(objectIndexCoords.x*4+0, objectIndexCoords.y), 0), texelFetch (uObjectPerObjectPositionsDecodeMatrix, ivec2(objectIndexCoords.x*4+1, objectIndexCoords.y), 0), texelFetch (uObjectPerObjectPositionsDecodeMatrix, ivec2(objectIndexCoords.x*4+2, objectIndexCoords.y), 0), texelFetch (uObjectPerObjectPositionsDecodeMatrix, ivec2(objectIndexCoords.x*4+3, objectIndexCoords.y), 0));"),s.push("uint solid = texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+7, objectIndexCoords.y), 0).r;"),s.push("positions[0] = vec3(texelFetch(uTexturePerVertexIdCoordinates, ivec2(indexPositionH.r, indexPositionV.r), 0));"),s.push("positions[1] = vec3(texelFetch(uTexturePerVertexIdCoordinates, ivec2(indexPositionH.g, indexPositionV.g), 0));"),s.push("positions[2] = vec3(texelFetch(uTexturePerVertexIdCoordinates, ivec2(indexPositionH.b, indexPositionV.b), 0));"),s.push("uvec4 color = texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+0, objectIndexCoords.y), 0);"),s.push("if (color.a == 0u) {"),s.push(" gl_Position = vec4(3.0, 3.0, 3.0, 1.0);"),s.push(" return;"),s.push("};"),s.push("vPickColor = vec4(texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+1, objectIndexCoords.y), 0)) / 255.0;"),s.push("vec3 normal = normalize(cross(positions[2] - positions[0], positions[1] - positions[0]));"),s.push("vec3 position;"),s.push("position = positions[gl_VertexID % 3];"),s.push("if (solid != 1u) {"),s.push("if (isPerspectiveMatrix(projMatrix)) {"),s.push("vec3 uCameraEyeRtcInQuantizedSpace = (inverse(sceneModelMatrix * objectDecodeAndInstanceMatrix) * vec4(uCameraEyeRtc, 1)).xyz;"),s.push("if (dot(position.xyz - uCameraEyeRtcInQuantizedSpace, normal) < 0.0) {"),s.push("position = positions[2 - (gl_VertexID % 3)];"),s.push("}"),s.push("} else {"),s.push("vec3 viewNormal = -normalize((transpose(inverse(viewMatrix*objectDecodeAndInstanceMatrix)) * vec4(normal,1)).xyz);"),s.push("if (viewNormal.z < 0.0) {"),s.push("position = positions[2 - (gl_VertexID % 3)];"),s.push("}"),s.push("}"),s.push("}"),s.push("vec4 worldPosition = sceneModelMatrix * (objectDecodeAndInstanceMatrix * vec4(position, 1.0)); "),s.push("vec4 viewPosition = viewMatrix * worldPosition; "),t&&(s.push(" vWorldPosition = worldPosition;"),s.push(" vFlags2 = flags2;")),s.push("vec4 clipPos = projMatrix * viewPosition;"),e.logarithmicDepthBufferEnabled&&(s.push("vFragDepth = 1.0 + clipPos.w;"),s.push("isPerspective = float (isPerspectiveMatrix(projMatrix));")),s.push("gl_Position = remapClipPos(clipPos);"),s.push(" }"),s.push("}"),s}_buildFragmentShader(){const e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,s=[];if(s.push("#version 300 es"),s.push("// Batched geometry picking fragment shader"),s.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),s.push("precision highp float;"),s.push("precision highp int;"),s.push("#else"),s.push("precision mediump float;"),s.push("precision mediump int;"),s.push("#endif"),e.logarithmicDepthBufferEnabled&&(s.push("in float isPerspective;"),s.push("uniform float logDepthBufFC;"),s.push("in float vFragDepth;")),t){s.push("in vec4 vWorldPosition;"),s.push("flat in uvec4 vFlags2;");for(var n=0;n 0.0);"),s.push(" if (clippable) {"),s.push(" float dist = 0.0;");for(n=0;n 0.0) { discard; }"),s.push(" }")}return e.logarithmicDepthBufferEnabled&&s.push(" gl_FragDepth = isPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5;"),s.push(" outPickColor = vPickColor; "),s.push("}"),s}webglContextRestored(){this._program=null}destroy(){this._program&&this._program.destroy(),this._program=null}}const Vc=A.vec3(),kc=A.vec3(),Qc=A.vec3();A.vec3();const Wc=A.mat4();class zc{constructor(e){this._scene=e,this._hash=this._getHash(),this._allocate()}getValid(){return this._hash===this._getHash()}_getHash(){return this._scene._sectionPlanesState.getHash()}drawLayer(e,t,s){const n=t.model,i=n.scene,a=i.camera,r=i.canvas.gl,l=t._state,o=l.textureState,c=t._state.origin,{position:u,rotationMatrix:h,rotationMatrixConjugate:p}=n,d=e.pickViewMatrix||a.viewMatrix;let f,I;if(this._program||this._allocate(),e.lastProgramId!==this._program.id&&(e.lastProgramId=this._program.id,this._bindProgram()),o.bindCommonTextures(this._program,this.uTexturePerObjectPositionsDecodeMatrix,this._uTexturePerVertexIdCoordinates,this.uTexturePerObjectColorsAndFlags,this._uTexturePerObjectMatrix),c||0!==u[0]||0!==u[1]||0!==u[2]){const t=Vc;if(c){const e=kc;A.transformPoint3(h,c,e),t[0]=e[0],t[1]=e[1],t[2]=e[2]}else t[0]=0,t[1]=0,t[2]=0;t[0]+=u[0],t[1]+=u[1],t[2]+=u[2],f=Q(d,t,Wc),I=Qc,I[0]=a.eye[0]-t[0],I[1]=a.eye[1]-t[1],I[2]=a.eye[2]-t[2],e.snapPickOrigin[0]=t[0],e.snapPickOrigin[1]=t[1],e.snapPickOrigin[2]=t[2]}else f=d,I=a.eye,e.snapPickOrigin[0]=0,e.snapPickOrigin[1]=0,e.snapPickOrigin[2]=0;if(r.uniform3fv(this._uCameraEyeRtc,I),r.uniform1i(this._uRenderPass,s),r.uniform1i(this._uPickInvisible,e.pickInvisible),r.uniform2fv(this._uPickClipPos,e.pickClipPos),r.uniform2f(this._uDrawingBufferSize,r.drawingBufferWidth,r.drawingBufferHeight),r.uniform1f(this._uPickZNear,e.pickZNear),r.uniform1f(this._uPickZFar,e.pickZFar),r.uniformMatrix4fv(this._uSceneModelMatrix,!1,p),r.uniformMatrix4fv(this._uViewMatrix,!1,f),r.uniformMatrix4fv(this._uProjMatrix,!1,a.projMatrix),i.logarithmicDepthBufferEnabled){const t=2/(Math.log(e.pickZFar+1)/Math.LN2);r.uniform1f(this._uLogDepthBufFC,t)}const y=i._sectionPlanesState.getNumAllocatedSectionPlanes(),m=i._sectionPlanesState.sectionPlanes.length;if(y>0){const e=i._sectionPlanesState.sectionPlanes,s=t.layerIndex*m,a=n.renderFlags;for(let t=0;t0&&(o.bindTriangleIndicesTextures(this._program,this._uTexturePerPolygonIdPortionIds,this._uTexturePerPolygonIdIndices,8),r.drawArrays(r.TRIANGLES,0,l.numIndices8Bits)),l.numIndices16Bits>0&&(o.bindTriangleIndicesTextures(this._program,this._uTexturePerPolygonIdPortionIds,this._uTexturePerPolygonIdIndices,16),r.drawArrays(r.TRIANGLES,0,l.numIndices16Bits)),l.numIndices32Bits>0&&(o.bindTriangleIndicesTextures(this._program,this._uTexturePerPolygonIdPortionIds,this._uTexturePerPolygonIdIndices,32),r.drawArrays(r.TRIANGLES,0,l.numIndices32Bits)),e.drawElements++}_allocate(){const e=this._scene,t=e.canvas.gl;if(this._program=new Fe(t,this._buildShader()),this._program.errors)return void(this.errors=this._program.errors);const s=this._program;this._uRenderPass=s.getLocation("renderPass"),this._uPickInvisible=s.getLocation("pickInvisible"),this._uPickClipPos=s.getLocation("pickClipPos"),this._uDrawingBufferSize=s.getLocation("drawingBufferSize"),this._uSceneModelMatrix=s.getLocation("sceneModelMatrix"),this._uViewMatrix=s.getLocation("viewMatrix"),this._uProjMatrix=s.getLocation("projMatrix"),this._uSectionPlanes=[];for(let t=0,n=e._sectionPlanesState.getNumAllocatedSectionPlanes();t0,s=[];return s.push("#version 300 es"),s.push("// Triangles dataTexture pick depth vertex shader"),s.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),s.push("precision highp float;"),s.push("precision highp int;"),s.push("precision highp usampler2D;"),s.push("precision highp isampler2D;"),s.push("precision highp sampler2D;"),s.push("#else"),s.push("precision mediump float;"),s.push("precision mediump int;"),s.push("precision mediump usampler2D;"),s.push("precision mediump isampler2D;"),s.push("precision mediump sampler2D;"),s.push("#endif"),s.push("uniform int renderPass;"),e.entityOffsetsEnabled&&s.push("in vec3 offset;"),s.push("uniform mat4 sceneModelMatrix;"),s.push("uniform mat4 viewMatrix;"),s.push("uniform mat4 projMatrix;"),s.push("uniform bool pickInvisible;"),s.push("uniform highp sampler2D uObjectPerObjectPositionsDecodeMatrix;"),s.push("uniform highp sampler2D uTexturePerObjectMatrix;"),s.push("uniform lowp usampler2D uObjectPerObjectColorsAndFlags;"),s.push("uniform mediump usampler2D uTexturePerVertexIdCoordinates;"),s.push("uniform highp usampler2D uTexturePerPolygonIdIndices;"),s.push("uniform mediump usampler2D uTexturePerPolygonIdPortionIds;"),s.push("uniform vec3 uCameraEyeRtc;"),s.push("vec3 positions[3];"),e.logarithmicDepthBufferEnabled&&(s.push("uniform float logDepthBufFC;"),s.push("out float vFragDepth;"),s.push("out float isPerspective;")),s.push("uniform vec2 pickClipPos;"),s.push("uniform vec2 drawingBufferSize;"),s.push("vec4 remapClipPos(vec4 clipPos) {"),s.push(" clipPos.xy /= clipPos.w;"),s.push(" clipPos.xy = (clipPos.xy - pickClipPos) * drawingBufferSize;"),s.push(" clipPos.xy *= clipPos.w;"),s.push(" return clipPos;"),s.push("}"),s.push("bool isPerspectiveMatrix(mat4 m) {"),s.push(" return (m[2][3] == - 1.0);"),s.push("}"),t&&(s.push("out vec4 vWorldPosition;"),s.push("flat out uint vFlags2;")),s.push("out vec4 vViewPosition;"),s.push("void main(void) {"),s.push("int polygonIndex = gl_VertexID / 3;"),s.push("int h_packed_object_id_index = (polygonIndex >> 3) & 4095;"),s.push("int v_packed_object_id_index = (polygonIndex >> 3) >> 12;"),s.push("int objectIndex = int(texelFetch(uTexturePerPolygonIdPortionIds, ivec2(h_packed_object_id_index, v_packed_object_id_index), 0).r);"),s.push("ivec2 objectIndexCoords = ivec2(objectIndex % 512, objectIndex / 512);"),s.push("uvec4 flags = texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+2, objectIndexCoords.y), 0);"),s.push("uvec4 flags2 = texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+3, objectIndexCoords.y), 0);"),s.push("if (int(flags.w) != renderPass) {"),s.push(" gl_Position = vec4(3.0, 3.0, 3.0, 1.0);"),s.push(" return;"),s.push("} else {"),s.push("ivec4 packedVertexBase = ivec4(texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+4, objectIndexCoords.y), 0));"),s.push("ivec4 packedIndexBaseOffset = ivec4(texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+5, objectIndexCoords.y), 0));"),s.push("int indexBaseOffset = (packedIndexBaseOffset.r << 24) + (packedIndexBaseOffset.g << 16) + (packedIndexBaseOffset.b << 8) + packedIndexBaseOffset.a;"),s.push("int h_index = (polygonIndex - indexBaseOffset) & 4095;"),s.push("int v_index = (polygonIndex - indexBaseOffset) >> 12;"),s.push("ivec3 vertexIndices = ivec3(texelFetch(uTexturePerPolygonIdIndices, ivec2(h_index, v_index), 0));"),s.push("ivec3 uniqueVertexIndexes = vertexIndices + (packedVertexBase.r << 24) + (packedVertexBase.g << 16) + (packedVertexBase.b << 8) + packedVertexBase.a;"),s.push("ivec3 indexPositionH = uniqueVertexIndexes & 4095;"),s.push("ivec3 indexPositionV = uniqueVertexIndexes >> 12;"),s.push("mat4 objectInstanceMatrix = mat4 (texelFetch (uTexturePerObjectMatrix, ivec2(objectIndexCoords.x*4+0, objectIndexCoords.y), 0), texelFetch (uTexturePerObjectMatrix, ivec2(objectIndexCoords.x*4+1, objectIndexCoords.y), 0), texelFetch (uTexturePerObjectMatrix, ivec2(objectIndexCoords.x*4+2, objectIndexCoords.y), 0), texelFetch (uTexturePerObjectMatrix, ivec2(objectIndexCoords.x*4+3, objectIndexCoords.y), 0));"),s.push("mat4 objectDecodeAndInstanceMatrix = objectInstanceMatrix * mat4 (texelFetch (uObjectPerObjectPositionsDecodeMatrix, ivec2(objectIndexCoords.x*4+0, objectIndexCoords.y), 0), texelFetch (uObjectPerObjectPositionsDecodeMatrix, ivec2(objectIndexCoords.x*4+1, objectIndexCoords.y), 0), texelFetch (uObjectPerObjectPositionsDecodeMatrix, ivec2(objectIndexCoords.x*4+2, objectIndexCoords.y), 0), texelFetch (uObjectPerObjectPositionsDecodeMatrix, ivec2(objectIndexCoords.x*4+3, objectIndexCoords.y), 0));"),s.push("uint solid = texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+7, objectIndexCoords.y), 0).r;"),s.push("positions[0] = vec3(texelFetch(uTexturePerVertexIdCoordinates, ivec2(indexPositionH.r, indexPositionV.r), 0));"),s.push("positions[1] = vec3(texelFetch(uTexturePerVertexIdCoordinates, ivec2(indexPositionH.g, indexPositionV.g), 0));"),s.push("positions[2] = vec3(texelFetch(uTexturePerVertexIdCoordinates, ivec2(indexPositionH.b, indexPositionV.b), 0));"),s.push("uvec4 color = texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+0, objectIndexCoords.y), 0);"),s.push("if (color.a == 0u) {"),s.push(" gl_Position = vec4(3.0, 3.0, 3.0, 1.0);"),s.push(" return;"),s.push("};"),s.push("vec3 normal = normalize(cross(positions[2] - positions[0], positions[1] - positions[0]));"),s.push("vec3 position;"),s.push("position = positions[gl_VertexID % 3];"),s.push("if (solid != 1u) {"),s.push("if (isPerspectiveMatrix(projMatrix)) {"),s.push("vec3 uCameraEyeRtcInQuantizedSpace = (inverse(sceneModelMatrix * objectDecodeAndInstanceMatrix) * vec4(uCameraEyeRtc, 1)).xyz;"),s.push("if (dot(position.xyz - uCameraEyeRtcInQuantizedSpace, normal) < 0.0) {"),s.push("position = positions[2 - (gl_VertexID % 3)];"),s.push("}"),s.push("} else {"),s.push("vec3 viewNormal = -normalize((transpose(inverse(viewMatrix*objectDecodeAndInstanceMatrix)) * vec4(normal,1)).xyz);"),s.push("if (viewNormal.z < 0.0) {"),s.push("position = positions[2 - (gl_VertexID % 3)];"),s.push("}"),s.push("}"),s.push("}"),s.push("vec4 worldPosition = sceneModelMatrix * (objectDecodeAndInstanceMatrix * vec4(position, 1.0)); "),s.push("vec4 viewPosition = viewMatrix * worldPosition; "),t&&(s.push(" vWorldPosition = worldPosition;"),s.push(" vFlags2 = flags2.r;")),s.push("vViewPosition = viewPosition;"),s.push("vec4 clipPos = projMatrix * viewPosition;"),e.logarithmicDepthBufferEnabled&&(s.push("vFragDepth = 1.0 + clipPos.w;"),s.push("isPerspective = float (isPerspectiveMatrix(projMatrix));")),s.push("gl_Position = remapClipPos(clipPos);"),s.push(" }"),s.push("}"),s}_buildFragmentShader(){const e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,s=[];if(s.push("#version 300 es"),s.push("// Triangles dataTexture pick depth fragment shader"),s.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),s.push("precision highp float;"),s.push("precision highp int;"),s.push("#else"),s.push("precision mediump float;"),s.push("precision mediump int;"),s.push("#endif"),e.logarithmicDepthBufferEnabled&&(s.push("in float isPerspective;"),s.push("uniform float logDepthBufFC;"),s.push("in float vFragDepth;")),s.push("uniform float pickZNear;"),s.push("uniform float pickZFar;"),t){s.push("in vec4 vWorldPosition;"),s.push("flat in uint vFlags2;");for(var n=0;n 0u;"),s.push(" if (clippable) {"),s.push(" float dist = 0.0;");for(n=0;n 0.0) { discard; }"),s.push(" }")}return e.logarithmicDepthBufferEnabled&&s.push(" gl_FragDepth = isPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5;"),s.push(" float zNormalizedDepth = abs((pickZNear + vViewPosition.z) / (pickZFar - pickZNear));"),s.push(" outPackedDepth = packDepth(zNormalizedDepth); "),s.push("}"),s}webglContextRestored(){this._program=null}destroy(){this._program&&this._program.destroy(),this._program=null}}const Kc=A.vec3(),Yc=A.vec3(),Xc=A.vec3(),qc=A.vec3();A.vec3();const Jc=A.mat4();class Zc{constructor(e){this._scene=e,this._hash=this._getHash(),this._allocate()}getValid(){return this._hash===this._getHash()}_getHash(){return this._scene._sectionPlanesState.getHash()}drawLayer(e,t,s){if(!this._program&&(this._allocate(),this.errors))return;e.lastProgramId!==this._program.id&&(e.lastProgramId=this._program.id,this._bindProgram());const n=t.model,i=n.scene,a=i.camera,r=i.canvas.gl,l=t._state,o=l.textureState,c=t._state.origin,{position:u,rotationMatrix:h,rotationMatrixConjugate:p}=n,d=t.aabb,f=e.pickViewMatrix||a.viewMatrix,I=Kc;let y,m;I[0]=A.safeInv(d[3]-d[0])*A.MAX_INT,I[1]=A.safeInv(d[4]-d[1])*A.MAX_INT,I[2]=A.safeInv(d[5]-d[2])*A.MAX_INT,e.snapPickCoordinateScale[0]=A.safeInv(I[0]),e.snapPickCoordinateScale[1]=A.safeInv(I[1]),e.snapPickCoordinateScale[2]=A.safeInv(I[2]),o.bindCommonTextures(this._program,this.uTexturePerObjectPositionsDecodeMatrix,this._uTexturePerVertexIdCoordinates,this.uTexturePerObjectColorsAndFlags,this._uTexturePerObjectMatrix);const v=0!==c[0]||0!==c[1]||0!==c[2],w=0!==u[0]||0!==u[1]||0!==u[2];if(v||w){const t=Yc;if(v){const e=A.transformPoint3(h,c,Xc);t[0]=e[0],t[1]=e[1],t[2]=e[2]}else t[0]=0,t[1]=0,t[2]=0;t[0]+=u[0],t[1]+=u[1],t[2]+=u[2],y=Q(f,t,Jc),m=qc,m[0]=a.eye[0]-t[0],m[1]=a.eye[1]-t[1],m[2]=a.eye[2]-t[2],e.snapPickOrigin[0]=t[0],e.snapPickOrigin[1]=t[1],e.snapPickOrigin[2]=t[2]}else y=f,m=a.eye,e.snapPickOrigin[0]=0,e.snapPickOrigin[1]=0,e.snapPickOrigin[2]=0;r.uniform3fv(this._uCameraEyeRtc,m),r.uniform2fv(this.uVectorA,e.snapVectorA),r.uniform2fv(this.uInverseVectorAB,e.snapInvVectorAB),r.uniform1i(this._uLayerNumber,e.snapPickLayerNumber),r.uniform3fv(this._uCoordinateScaler,I),r.uniform1i(this._uRenderPass,s),r.uniform1i(this._uPickInvisible,e.pickInvisible),r.uniformMatrix4fv(this._uSceneModelMatrix,!1,p),r.uniformMatrix4fv(this._uViewMatrix,!1,y),r.uniformMatrix4fv(this._uProjMatrix,!1,a.projMatrix);{const t=2/(Math.log(e.pickZFar+1)/Math.LN2);r.uniform1f(this._uLogDepthBufFC,t)}const g=i._sectionPlanesState.getNumAllocatedSectionPlanes(),E=i._sectionPlanesState.sectionPlanes.length;if(g>0){const e=i._sectionPlanesState.sectionPlanes,s=t.layerIndex*E,a=n.renderFlags;for(let t=0;t0&&(o.bindEdgeIndicesTextures(this._program,this._uTexturePerEdgeIdPortionIds,this._uTexturePerPolygonIdEdgeIndices,8),r.drawArrays(T,0,l.numEdgeIndices8Bits)),l.numEdgeIndices16Bits>0&&(o.bindEdgeIndicesTextures(this._program,this._uTexturePerEdgeIdPortionIds,this._uTexturePerPolygonIdEdgeIndices,16),r.drawArrays(T,0,l.numEdgeIndices16Bits)),l.numEdgeIndices32Bits>0&&(o.bindEdgeIndicesTextures(this._program,this._uTexturePerEdgeIdPortionIds,this._uTexturePerPolygonIdEdgeIndices,32),r.drawArrays(T,0,l.numEdgeIndices32Bits)),e.drawElements++}_allocate(){const e=this._scene,t=e.canvas.gl;if(this._program=new Fe(t,this._buildShader()),this._program.errors)return void(this.errors=this._program.errors);const s=this._program;this._uRenderPass=s.getLocation("renderPass"),this._uPickInvisible=s.getLocation("pickInvisible"),this._uSceneModelMatrix=s.getLocation("sceneModelMatrix"),this._uViewMatrix=s.getLocation("viewMatrix"),this._uProjMatrix=s.getLocation("projMatrix"),this._uSectionPlanes=[];for(let t=0,n=e._sectionPlanesState.getNumAllocatedSectionPlanes();t0,s=[];return s.push("#version 300 es"),s.push("// Batched geometry edges drawing vertex shader"),s.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),s.push("precision highp float;"),s.push("precision highp int;"),s.push("precision highp usampler2D;"),s.push("precision highp isampler2D;"),s.push("precision highp sampler2D;"),s.push("#else"),s.push("precision mediump float;"),s.push("precision mediump int;"),s.push("precision mediump usampler2D;"),s.push("precision mediump isampler2D;"),s.push("precision mediump sampler2D;"),s.push("#endif"),s.push("uniform int renderPass;"),e.entityOffsetsEnabled&&s.push("in vec3 offset;"),s.push("uniform mat4 sceneModelMatrix;"),s.push("uniform mat4 viewMatrix;"),s.push("uniform mat4 projMatrix;"),s.push("uniform highp sampler2D uObjectPerObjectPositionsDecodeMatrix;"),s.push("uniform lowp usampler2D uObjectPerObjectColorsAndFlags;"),s.push("uniform highp sampler2D uTexturePerObjectMatrix;"),s.push("uniform mediump usampler2D uTexturePerVertexIdCoordinates;"),s.push("uniform highp usampler2D uTexturePerPolygonIdEdgeIndices;"),s.push("uniform mediump usampler2D uTexturePerEdgeIdPortionIds;"),s.push("uniform vec3 uCameraEyeRtc;"),s.push("uniform vec2 uSnapVectorA;"),s.push("uniform vec2 uSnapInvVectorAB;"),s.push("vec3 positions[3];"),s.push("uniform float logDepthBufFC;"),s.push("out float vFragDepth;"),s.push("bool isPerspectiveMatrix(mat4 m) {"),s.push(" return (m[2][3] == - 1.0);"),s.push("}"),s.push("out float isPerspective;"),s.push("vec2 remapClipPos(vec2 clipPos) {"),s.push(" float x = (clipPos.x - uSnapVectorA.x) * uSnapInvVectorAB.x;"),s.push(" float y = (clipPos.y - uSnapVectorA.y) * uSnapInvVectorAB.y;"),s.push(" return vec2(x, y);"),s.push("}"),t&&(s.push("out vec4 vWorldPosition;"),s.push("flat out uint vFlags2;")),s.push("out vec4 vViewPosition;"),s.push("out highp vec3 relativeToOriginPosition;"),s.push("void main(void) {"),s.push("int edgeIndex = gl_VertexID / 2;"),s.push("int h_packed_object_id_index = (edgeIndex >> 3) & 4095;"),s.push("int v_packed_object_id_index = (edgeIndex >> 3) >> 12;"),s.push("int objectIndex = int(texelFetch(uTexturePerEdgeIdPortionIds, ivec2(h_packed_object_id_index, v_packed_object_id_index), 0).r);"),s.push("ivec2 objectIndexCoords = ivec2(objectIndex % 512, objectIndex / 512);"),s.push("uvec4 flags = texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+2, objectIndexCoords.y), 0);"),s.push("uvec4 flags2 = texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+3, objectIndexCoords.y), 0);"),s.push("{"),s.push("ivec4 packedVertexBase = ivec4(texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+4, objectIndexCoords.y), 0));"),s.push("ivec4 packedEdgeIndexBaseOffset = ivec4(texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+6, objectIndexCoords.y), 0));"),s.push("int edgeIndexBaseOffset = (packedEdgeIndexBaseOffset.r << 24) + (packedEdgeIndexBaseOffset.g << 16) + (packedEdgeIndexBaseOffset.b << 8) + packedEdgeIndexBaseOffset.a;"),s.push("int h_index = (edgeIndex - edgeIndexBaseOffset) & 4095;"),s.push("int v_index = (edgeIndex - edgeIndexBaseOffset) >> 12;"),s.push("ivec3 vertexIndices = ivec3(texelFetch(uTexturePerPolygonIdEdgeIndices, ivec2(h_index, v_index), 0));"),s.push("ivec3 uniqueVertexIndexes = vertexIndices + (packedVertexBase.r << 24) + (packedVertexBase.g << 16) + (packedVertexBase.b << 8) + packedVertexBase.a;"),s.push("int indexPositionH = uniqueVertexIndexes[gl_VertexID % 2] & 4095;"),s.push("int indexPositionV = uniqueVertexIndexes[gl_VertexID % 2] >> 12;"),s.push("mat4 objectInstanceMatrix = mat4 (texelFetch (uTexturePerObjectMatrix, ivec2(objectIndexCoords.x*4+0, objectIndexCoords.y), 0), texelFetch (uTexturePerObjectMatrix, ivec2(objectIndexCoords.x*4+1, objectIndexCoords.y), 0), texelFetch (uTexturePerObjectMatrix, ivec2(objectIndexCoords.x*4+2, objectIndexCoords.y), 0), texelFetch (uTexturePerObjectMatrix, ivec2(objectIndexCoords.x*4+3, objectIndexCoords.y), 0));"),s.push("mat4 objectDecodeAndInstanceMatrix = objectInstanceMatrix * mat4 (texelFetch (uObjectPerObjectPositionsDecodeMatrix, ivec2(objectIndexCoords.x*4+0, objectIndexCoords.y), 0), texelFetch (uObjectPerObjectPositionsDecodeMatrix, ivec2(objectIndexCoords.x*4+1, objectIndexCoords.y), 0), texelFetch (uObjectPerObjectPositionsDecodeMatrix, ivec2(objectIndexCoords.x*4+2, objectIndexCoords.y), 0), texelFetch (uObjectPerObjectPositionsDecodeMatrix, ivec2(objectIndexCoords.x*4+3, objectIndexCoords.y), 0));"),s.push("uvec4 flags = texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+2, objectIndexCoords.y), 0);"),s.push("uvec4 flags2 = texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+3, objectIndexCoords.y), 0);"),s.push("vec3 position = vec3(texelFetch(uTexturePerVertexIdCoordinates, ivec2(indexPositionH, indexPositionV), 0));"),s.push("vec4 worldPosition = sceneModelMatrix * (objectDecodeAndInstanceMatrix * vec4(position, 1.0)); "),s.push("relativeToOriginPosition = worldPosition.xyz;"),s.push(" vec4 viewPosition = viewMatrix * worldPosition; "),t&&(s.push(" vWorldPosition = worldPosition;"),s.push(" vFlags2 = flags2.r;")),s.push("vViewPosition = viewPosition;"),s.push("vec4 clipPos = projMatrix * viewPosition;"),s.push("float tmp = clipPos.w;"),s.push("clipPos.xyzw /= tmp;"),s.push("clipPos.xy = remapClipPos(clipPos.xy);"),s.push("clipPos.xyzw *= tmp;"),s.push("vViewPosition = clipPos;"),s.push("vFragDepth = 1.0 + clipPos.w;"),s.push("isPerspective = float (isPerspectiveMatrix(projMatrix));"),s.push("gl_Position = clipPos;"),s.push("gl_PointSize = 1.0;"),s.push(" }"),s.push("}"),s}_buildFragmentShader(){const e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,s=[];if(s.push("#version 300 es"),s.push("// Triangles dataTexture pick depth fragment shader"),s.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),s.push("precision highp float;"),s.push("precision highp int;"),s.push("#else"),s.push("precision mediump float;"),s.push("precision mediump int;"),s.push("#endif"),s.push("in float isPerspective;"),s.push("uniform float logDepthBufFC;"),s.push("in float vFragDepth;"),s.push("uniform int uLayerNumber;"),s.push("uniform vec3 uCoordinateScaler;"),t){s.push("in vec4 vWorldPosition;"),s.push("flat in uint vFlags2;");for(let t=0,n=e._sectionPlanesState.getNumAllocatedSectionPlanes();t 0u;"),s.push(" if (clippable) {"),s.push(" float dist = 0.0;");for(var n=0;n 0.0) { discard; }"),s.push(" }")}return s.push(" gl_FragDepth = isPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5;"),s.push("outCoords = ivec4(relativeToOriginPosition.xyz * uCoordinateScaler.xyz, uLayerNumber);"),s.push("}"),s}webglContextRestored(){this._program=null}destroy(){this._program&&this._program.destroy(),this._program=null}}const $c=A.vec3(),eu=A.vec3(),tu=A.vec3(),su=A.vec3();A.vec3();const nu=A.mat4();class iu{constructor(e){this._scene=e,this._hash=this._getHash(),this._allocate()}getValid(){return this._hash===this._getHash()}_getHash(){return this._scene._sectionPlanesState.getHash()}drawLayer(e,t,s){this._program||this._allocate(),e.lastProgramId!==this._program.id&&(e.lastProgramId=this._program.id,this._bindProgram());const n=t.model,i=n.scene,a=i.camera,r=i.canvas.gl,l=t._state,o=l.textureState,c=t._state.origin,{position:u,rotationMatrix:h,rotationMatrixConjugate:p}=n,d=t.aabb,f=e.pickViewMatrix||a.viewMatrix,I=$c;let y,m;I[0]=A.safeInv(d[3]-d[0])*A.MAX_INT,I[1]=A.safeInv(d[4]-d[1])*A.MAX_INT,I[2]=A.safeInv(d[5]-d[2])*A.MAX_INT,e.snapPickCoordinateScale[0]=A.safeInv(I[0]),e.snapPickCoordinateScale[1]=A.safeInv(I[1]),e.snapPickCoordinateScale[2]=A.safeInv(I[2]),o.bindCommonTextures(this._program,this.uTexturePerObjectPositionsDecodeMatrix,this._uTexturePerVertexIdCoordinates,this.uTexturePerObjectColorsAndFlags,this._uTexturePerObjectMatrix);const v=0!==c[0]||0!==c[1]||0!==c[2],w=0!==u[0]||0!==u[1]||0!==u[2];if(v||w){const t=eu;if(v){const e=tu;A.transformPoint3(h,c,e),t[0]=e[0],t[1]=e[1],t[2]=e[2]}else t[0]=0,t[1]=0,t[2]=0;t[0]+=u[0],t[1]+=u[1],t[2]+=u[2],y=Q(f,t,nu),m=su,m[0]=a.eye[0]-t[0],m[1]=a.eye[1]-t[1],m[2]=a.eye[2]-t[2],e.snapPickOrigin[0]=t[0],e.snapPickOrigin[1]=t[1],e.snapPickOrigin[2]=t[2]}else y=f,m=a.eye,e.snapPickOrigin[0]=0,e.snapPickOrigin[1]=0,e.snapPickOrigin[2]=0;r.uniform3fv(this._uCameraEyeRtc,m),r.uniform2fv(this._uVectorA,e.snapVectorA),r.uniform2fv(this._uInverseVectorAB,e.snapInvVectorAB),r.uniform1i(this._uLayerNumber,e.snapPickLayerNumber),r.uniform3fv(this._uCoordinateScaler,I),r.uniform1i(this._uRenderPass,s),r.uniform1i(this._uPickInvisible,e.pickInvisible),r.uniformMatrix4fv(this._uSceneWorldModelMatrix,!1,p),r.uniformMatrix4fv(this._uViewMatrix,!1,y),r.uniformMatrix4fv(this._uProjMatrix,!1,a.projMatrix);{const t=2/(Math.log(e.pickZFar+1)/Math.LN2);r.uniform1f(this._uLogDepthBufFC,t)}const g=i._sectionPlanesState.getNumAllocatedSectionPlanes(),E=i._sectionPlanesState.sectionPlanes.length;if(g>0){const e=i._sectionPlanesState.sectionPlanes,s=t.layerIndex*E,a=n.renderFlags;for(let t=0;t0&&(o.bindTriangleIndicesTextures(this._program,this._uTexturePerPolygonIdPortionIds,this._uTexturePerPolygonIdIndices,8),r.drawArrays(r.TRIANGLES,0,l.numIndices8Bits)),l.numIndices16Bits>0&&(o.bindTriangleIndicesTextures(this._program,this._uTexturePerPolygonIdPortionIds,this._uTexturePerPolygonIdIndices,16),r.drawArrays(r.TRIANGLES,0,l.numIndices16Bits)),l.numIndices32Bits>0&&(o.bindTriangleIndicesTextures(this._program,this._uTexturePerPolygonIdPortionIds,this._uTexturePerPolygonIdIndices,32),r.drawArrays(r.TRIANGLES,0,l.numIndices32Bits)),e.drawElements++}_allocate(){const e=this._scene,t=e.canvas.gl;if(this._program=new Fe(t,this._buildShader()),this._program.errors)return void(this.errors=this._program.errors);const s=this._program;this._uRenderPass=s.getLocation("renderPass"),this._uPickInvisible=s.getLocation("pickInvisible"),this._uSceneWorldModelMatrix=s.getLocation("sceneModelMatrix"),this._uViewMatrix=s.getLocation("viewMatrix"),this._uProjMatrix=s.getLocation("projMatrix"),this._uSectionPlanes=[];for(let t=0,n=e._sectionPlanesState.getNumAllocatedSectionPlanes();t0,s=[];return s.push("#version 300 es"),s.push("// TrianglesDataTextureSnapDepthBufInitRenderer vertex shader"),s.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),s.push("precision highp float;"),s.push("precision highp int;"),s.push("precision highp usampler2D;"),s.push("precision highp isampler2D;"),s.push("precision highp sampler2D;"),s.push("#else"),s.push("precision mediump float;"),s.push("precision mediump int;"),s.push("precision mediump usampler2D;"),s.push("precision mediump isampler2D;"),s.push("precision mediump sampler2D;"),s.push("#endif"),s.push("uniform int renderPass;"),e.entityOffsetsEnabled&&s.push("in vec3 offset;"),s.push("uniform mat4 sceneModelMatrix;"),s.push("uniform mat4 viewMatrix;"),s.push("uniform mat4 projMatrix;"),s.push("uniform highp sampler2D uObjectPerObjectPositionsDecodeMatrix;"),s.push("uniform highp sampler2D uTexturePerObjectMatrix;"),s.push("uniform lowp usampler2D uObjectPerObjectColorsAndFlags;"),s.push("uniform mediump usampler2D uTexturePerVertexIdCoordinates;"),s.push("uniform highp usampler2D uTexturePerPolygonIdIndices;"),s.push("uniform mediump usampler2D uTexturePerPolygonIdPortionIds;"),s.push("uniform vec3 uCameraEyeRtc;"),s.push("uniform vec2 uVectorAB;"),s.push("uniform vec2 uInverseVectorAB;"),s.push("vec3 positions[3];"),s.push("uniform float logDepthBufFC;"),s.push("out float vFragDepth;"),s.push("out float isPerspective;"),s.push("bool isPerspectiveMatrix(mat4 m) {"),s.push(" return (m[2][3] == - 1.0);"),s.push("}"),s.push("vec2 remapClipPos(vec2 clipPos) {"),s.push(" float x = (clipPos.x - uVectorAB.x) * uInverseVectorAB.x;"),s.push(" float y = (clipPos.y - uVectorAB.y) * uInverseVectorAB.y;"),s.push(" return vec2(x, y);"),s.push("}"),s.push("flat out vec4 vPickColor;"),s.push("out vec4 vWorldPosition;"),t&&s.push("flat out uint vFlags2;"),s.push("out highp vec3 relativeToOriginPosition;"),s.push("void main(void) {"),s.push("int polygonIndex = gl_VertexID / 3;"),s.push("int h_packed_object_id_index = (polygonIndex >> 3) & 4095;"),s.push("int v_packed_object_id_index = (polygonIndex >> 3) >> 12;"),s.push("int objectIndex = int(texelFetch(uTexturePerPolygonIdPortionIds, ivec2(h_packed_object_id_index, v_packed_object_id_index), 0).r);"),s.push("ivec2 objectIndexCoords = ivec2(objectIndex % 512, objectIndex / 512);"),s.push("uvec4 flags = texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+2, objectIndexCoords.y), 0);"),s.push("uvec4 flags2 = texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+3, objectIndexCoords.y), 0);"),s.push("{"),s.push("uvec4 color = texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+0, objectIndexCoords.y), 0);"),s.push("if (color.a == 0u) {"),s.push(" gl_Position = vec4(3.0, 3.0, 3.0, 1.0);"),s.push(" return;"),s.push("};"),s.push("ivec4 packedVertexBase = ivec4(texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+4, objectIndexCoords.y), 0));"),s.push("ivec4 packedIndexBaseOffset = ivec4(texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+5, objectIndexCoords.y), 0));"),s.push("int indexBaseOffset = (packedIndexBaseOffset.r << 24) + (packedIndexBaseOffset.g << 16) + (packedIndexBaseOffset.b << 8) + packedIndexBaseOffset.a;"),s.push("int h_index = (polygonIndex - indexBaseOffset) & 4095;"),s.push("int v_index = (polygonIndex - indexBaseOffset) >> 12;"),s.push("ivec3 vertexIndices = ivec3(texelFetch(uTexturePerPolygonIdIndices, ivec2(h_index, v_index), 0));"),s.push("ivec3 uniqueVertexIndexes = vertexIndices + (packedVertexBase.r << 24) + (packedVertexBase.g << 16) + (packedVertexBase.b << 8) + packedVertexBase.a;"),s.push("ivec3 indexPositionH = uniqueVertexIndexes & 4095;"),s.push("ivec3 indexPositionV = uniqueVertexIndexes >> 12;"),s.push("mat4 objectInstanceMatrix = mat4 (texelFetch (uTexturePerObjectMatrix, ivec2(objectIndexCoords.x*4+0, objectIndexCoords.y), 0), texelFetch (uTexturePerObjectMatrix, ivec2(objectIndexCoords.x*4+1, objectIndexCoords.y), 0), texelFetch (uTexturePerObjectMatrix, ivec2(objectIndexCoords.x*4+2, objectIndexCoords.y), 0), texelFetch (uTexturePerObjectMatrix, ivec2(objectIndexCoords.x*4+3, objectIndexCoords.y), 0));"),s.push("mat4 objectDecodeAndInstanceMatrix = objectInstanceMatrix * mat4 (texelFetch (uObjectPerObjectPositionsDecodeMatrix, ivec2(objectIndexCoords.x*4+0, objectIndexCoords.y), 0), texelFetch (uObjectPerObjectPositionsDecodeMatrix, ivec2(objectIndexCoords.x*4+1, objectIndexCoords.y), 0), texelFetch (uObjectPerObjectPositionsDecodeMatrix, ivec2(objectIndexCoords.x*4+2, objectIndexCoords.y), 0), texelFetch (uObjectPerObjectPositionsDecodeMatrix, ivec2(objectIndexCoords.x*4+3, objectIndexCoords.y), 0));"),s.push("uint solid = texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+7, objectIndexCoords.y), 0).r;"),s.push("positions[0] = vec3(texelFetch(uTexturePerVertexIdCoordinates, ivec2(indexPositionH.r, indexPositionV.r), 0));"),s.push("positions[1] = vec3(texelFetch(uTexturePerVertexIdCoordinates, ivec2(indexPositionH.g, indexPositionV.g), 0));"),s.push("positions[2] = vec3(texelFetch(uTexturePerVertexIdCoordinates, ivec2(indexPositionH.b, indexPositionV.b), 0));"),s.push("vec3 normal = normalize(cross(positions[2] - positions[0], positions[1] - positions[0]));"),s.push("vec3 position;"),s.push("position = positions[gl_VertexID % 3];"),s.push("vec3 viewNormal = -normalize((transpose(inverse(viewMatrix*objectDecodeAndInstanceMatrix)) * vec4(normal,1)).xyz);"),s.push("if (solid != 1u) {"),s.push(" if (isPerspectiveMatrix(projMatrix)) {"),s.push(" vec3 uCameraEyeRtcInQuantizedSpace = (inverse(sceneModelMatrix * objectDecodeAndInstanceMatrix) * vec4(uCameraEyeRtc, 1)).xyz;"),s.push(" if (dot(position.xyz - uCameraEyeRtcInQuantizedSpace, normal) < 0.0) {"),s.push(" position = positions[2 - (gl_VertexID % 3)];"),s.push(" viewNormal = -viewNormal;"),s.push(" }"),s.push(" } else {"),s.push(" if (viewNormal.z < 0.0) {"),s.push(" position = positions[2 - (gl_VertexID % 3)];"),s.push(" viewNormal = -viewNormal;"),s.push(" }"),s.push(" }"),s.push("}"),s.push("vec4 worldPosition = sceneModelMatrix * (objectDecodeAndInstanceMatrix * vec4(position, 1.0)); "),s.push("relativeToOriginPosition = worldPosition.xyz;"),s.push("vec4 viewPosition = viewMatrix * worldPosition; "),s.push("vWorldPosition = worldPosition;"),t&&s.push("vFlags2 = flags2.r;"),s.push("vPickColor = vec4(texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+1, objectIndexCoords.y), 0));"),s.push("vec4 clipPos = projMatrix * viewPosition;"),s.push("float tmp = clipPos.w;"),s.push("clipPos.xyzw /= tmp;"),s.push("clipPos.xy = remapClipPos(clipPos.xy);"),s.push("clipPos.xyzw *= tmp;"),s.push("vFragDepth = 1.0 + clipPos.w;"),s.push("isPerspective = float (isPerspectiveMatrix(projMatrix));"),s.push("gl_Position = clipPos;"),s.push(" }"),s.push("}"),s}_buildFragmentShader(){const e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,s=[];if(s.push("#version 300 es"),s.push("// TrianglesDataTextureSnapDepthBufInitRenderer fragment shader"),s.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),s.push("precision highp float;"),s.push("precision highp int;"),s.push("#else"),s.push("precision mediump float;"),s.push("precision mediump int;"),s.push("#endif"),s.push("in float isPerspective;"),s.push("uniform float logDepthBufFC;"),s.push("in float vFragDepth;"),s.push("uniform int uLayerNumber;"),s.push("uniform vec3 uCoordinateScaler;"),s.push("in vec4 vWorldPosition;"),s.push("flat in vec4 vPickColor;"),t){s.push("flat in uint vFlags2;");for(let t=0,n=e._sectionPlanesState.getNumAllocatedSectionPlanes();t 0u;"),s.push(" if (clippable) {"),s.push(" float dist = 0.0;");for(var n=0;n 0.0) { discard; }"),s.push(" }")}return s.push(" float dx = dFdx(vFragDepth);"),s.push(" float dy = dFdy(vFragDepth);"),s.push(" float diff = sqrt(dx*dx+dy*dy);"),s.push(" gl_FragDepth = isPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth + diff ) * logDepthBufFC * 0.5;"),s.push("outCoords = ivec4(relativeToOriginPosition.xyz * uCoordinateScaler.xyz, - uLayerNumber);"),s.push("vec3 xTangent = dFdx( vWorldPosition.xyz );"),s.push("vec3 yTangent = dFdy( vWorldPosition.xyz );"),s.push("vec3 worldNormal = normalize( cross( xTangent, yTangent ) );"),s.push(`outNormal = ivec4(worldNormal * float(${A.MAX_INT}), 1.0);`),s.push("outPickColor = uvec4(vPickColor);"),s.push("}"),s}webglContextRestored(){this._program=null}destroy(){this._program&&this._program.destroy(),this._program=null}}const au=A.vec3(),ru=A.vec3(),lu=A.vec3();A.vec3();const ou=A.mat4();class cu{constructor(e){this._scene=e,this._hash=this._getHash(),this._allocate()}getValid(){return this._hash===this._getHash()}_getHash(){return this._scene._sectionPlanesState.getHash()}drawLayer(e,t,s){const n=t.model,i=n.scene,a=i.camera,r=i.canvas.gl,l=t._state,o=l.textureState,c=t._state.origin,{position:u,rotationMatrix:h,rotationMatrixConjugate:p}=n,d=e.pickViewMatrix||a.viewMatrix;if(!this._program&&(this._allocate(t),this.errors))return;let f,I;if(e.lastProgramId!==this._program.id&&(e.lastProgramId=this._program.id,this._bindProgram()),o.bindCommonTextures(this._program,this.uTexturePerObjectPositionsDecodeMatrix,this._uTexturePerVertexIdCoordinates,this.uTexturePerObjectColorsAndFlags,this._uTexturePerObjectMatrix),c||0!==u[0]||0!==u[1]||0!==u[2]){const e=au;if(c){const t=ru;A.transformPoint3(h,c,t),e[0]=t[0],e[1]=t[1],e[2]=t[2]}else e[0]=0,e[1]=0,e[2]=0;e[0]+=u[0],e[1]+=u[1],e[2]+=u[2],f=Q(d,e,ou),I=lu,I[0]=a.eye[0]-e[0],I[1]=a.eye[1]-e[1],I[2]=a.eye[2]-e[2]}else f=d,I=a.eye;r.uniform3fv(this._uCameraEyeRtc,I),r.uniform1i(this._uRenderPass,s),r.uniformMatrix4fv(this._uWorldMatrix,!1,p),r.uniformMatrix4fv(this._uViewMatrix,!1,f),r.uniformMatrix4fv(this._uProjMatrix,!1,a.projMatrix);const y=i._sectionPlanesState.getNumAllocatedSectionPlanes(),m=i._sectionPlanesState.sectionPlanes.length;if(y>0){const e=i._sectionPlanesState.sectionPlanes,s=t.layerIndex*m,a=n.renderFlags;for(let t=0;t0&&(o.bindTriangleIndicesTextures(this._program,this._uTexturePerPolygonIdPortionIds,this._uTexturePerPolygonIdIndices,8),r.drawArrays(r.TRIANGLES,0,l.numIndices8Bits)),l.numIndices16Bits>0&&(o.bindTriangleIndicesTextures(this._program,this._uTexturePerPolygonIdPortionIds,this._uTexturePerPolygonIdIndices,16),r.drawArrays(r.TRIANGLES,0,l.numIndices16Bits)),l.numIndices32Bits>0&&(o.bindTriangleIndicesTextures(this._program,this._uTexturePerPolygonIdPortionIds,this._uTexturePerPolygonIdIndices,32),r.drawArrays(r.TRIANGLES,0,l.numIndices32Bits)),e.drawElements++}_allocate(){const e=this._scene,t=e.canvas.gl;if(this._program=new Fe(t,this._buildShader()),this._program.errors)return void(this.errors=this._program.errors);const s=this._program;this._uRenderPass=s.getLocation("renderPass"),this._uPickInvisible=s.getLocation("pickInvisible"),this._uWorldMatrix=s.getLocation("sceneModelMatrix"),this._uViewMatrix=s.getLocation("viewMatrix"),this._uProjMatrix=s.getLocation("projMatrix"),this._uSectionPlanes=[];for(let t=0,n=e._sectionPlanesState.getNumAllocatedSectionPlanes();t0,s=[];return s.push("#version 300 es"),s.push("// TrianglesDataTextureOcclusionRenderer vertex shader"),s.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),s.push("precision highp float;"),s.push("precision highp int;"),s.push("precision highp usampler2D;"),s.push("precision highp isampler2D;"),s.push("precision highp sampler2D;"),s.push("#else"),s.push("precision mediump float;"),s.push("precision mediump int;"),s.push("precision mediump usampler2D;"),s.push("precision mediump isampler2D;"),s.push("precision mediump sampler2D;"),s.push("#endif"),s.push("uniform int renderPass;"),e.entityOffsetsEnabled&&s.push("in vec3 offset;"),s.push("uniform mat4 sceneModelMatrix;"),s.push("uniform mat4 viewMatrix;"),s.push("uniform mat4 projMatrix;"),s.push("uniform highp sampler2D uObjectPerObjectPositionsDecodeMatrix;"),s.push("uniform highp sampler2D uTexturePerObjectMatrix;"),s.push("uniform lowp usampler2D uObjectPerObjectColorsAndFlags;"),s.push("uniform mediump usampler2D uTexturePerVertexIdCoordinates;"),s.push("uniform highp usampler2D uTexturePerPolygonIdIndices;"),s.push("uniform mediump usampler2D uTexturePerPolygonIdPortionIds;"),s.push("uniform vec3 uCameraEyeRtc;"),s.push("vec3 positions[3];"),s.push("bool isPerspectiveMatrix(mat4 m) {"),s.push(" return (m[2][3] == - 1.0);"),s.push("}"),t&&(s.push("out vec4 vWorldPosition;"),s.push("flat out uint vFlags2;")),s.push("void main(void) {"),s.push("int polygonIndex = gl_VertexID / 3;"),s.push("int h_packed_object_id_index = (polygonIndex >> 3) & 4095;"),s.push("int v_packed_object_id_index = (polygonIndex >> 3) >> 12;"),s.push("int objectIndex = int(texelFetch(uTexturePerPolygonIdPortionIds, ivec2(h_packed_object_id_index, v_packed_object_id_index), 0).r);"),s.push("ivec2 objectIndexCoords = ivec2(objectIndex % 512, objectIndex / 512);"),s.push("uvec4 flags = texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+2, objectIndexCoords.y), 0);"),s.push("uvec4 flags2 = texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+3, objectIndexCoords.y), 0);"),s.push("if (int(flags.x) != renderPass) {"),s.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),s.push(" } else {"),s.push("ivec4 packedVertexBase = ivec4(texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+4, objectIndexCoords.y), 0));"),s.push("ivec4 packedIndexBaseOffset = ivec4(texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+5, objectIndexCoords.y), 0));"),s.push("int indexBaseOffset = (packedIndexBaseOffset.r << 24) + (packedIndexBaseOffset.g << 16) + (packedIndexBaseOffset.b << 8) + packedIndexBaseOffset.a;"),s.push("int h_index = (polygonIndex - indexBaseOffset) & 4095;"),s.push("int v_index = (polygonIndex - indexBaseOffset) >> 12;"),s.push("ivec3 vertexIndices = ivec3(texelFetch(uTexturePerPolygonIdIndices, ivec2(h_index, v_index), 0));"),s.push("ivec3 uniqueVertexIndexes = vertexIndices + (packedVertexBase.r << 24) + (packedVertexBase.g << 16) + (packedVertexBase.b << 8) + packedVertexBase.a;"),s.push("ivec3 indexPositionH = uniqueVertexIndexes & 4095;"),s.push("ivec3 indexPositionV = uniqueVertexIndexes >> 12;"),s.push("mat4 objectInstanceMatrix = mat4 (texelFetch (uTexturePerObjectMatrix, ivec2(objectIndexCoords.x*4+0, objectIndexCoords.y), 0), texelFetch (uTexturePerObjectMatrix, ivec2(objectIndexCoords.x*4+1, objectIndexCoords.y), 0), texelFetch (uTexturePerObjectMatrix, ivec2(objectIndexCoords.x*4+2, objectIndexCoords.y), 0), texelFetch (uTexturePerObjectMatrix, ivec2(objectIndexCoords.x*4+3, objectIndexCoords.y), 0));"),s.push("mat4 objectDecodeAndInstanceMatrix = objectInstanceMatrix * mat4 (texelFetch (uObjectPerObjectPositionsDecodeMatrix, ivec2(objectIndexCoords.x*4+0, objectIndexCoords.y), 0), texelFetch (uObjectPerObjectPositionsDecodeMatrix, ivec2(objectIndexCoords.x*4+1, objectIndexCoords.y), 0), texelFetch (uObjectPerObjectPositionsDecodeMatrix, ivec2(objectIndexCoords.x*4+2, objectIndexCoords.y), 0), texelFetch (uObjectPerObjectPositionsDecodeMatrix, ivec2(objectIndexCoords.x*4+3, objectIndexCoords.y), 0));"),s.push("uint solid = texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+7, objectIndexCoords.y), 0).r;"),s.push("positions[0] = vec3(texelFetch(uTexturePerVertexIdCoordinates, ivec2(indexPositionH.r, indexPositionV.r), 0));"),s.push("positions[1] = vec3(texelFetch(uTexturePerVertexIdCoordinates, ivec2(indexPositionH.g, indexPositionV.g), 0));"),s.push("positions[2] = vec3(texelFetch(uTexturePerVertexIdCoordinates, ivec2(indexPositionH.b, indexPositionV.b), 0));"),s.push("uvec4 color = texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+0, objectIndexCoords.y), 0);"),s.push("if (color.a == 0u) {"),s.push(" gl_Position = vec4(3.0, 3.0, 3.0, 1.0);"),s.push(" return;"),s.push("};"),s.push("vec3 normal = normalize(cross(positions[2] - positions[0], positions[1] - positions[0]));"),s.push("vec3 position;"),s.push("position = positions[gl_VertexID % 3];"),s.push("if (solid != 1u) {"),s.push(" if (isPerspectiveMatrix(projMatrix)) {"),s.push(" vec3 uCameraEyeRtcInQuantizedSpace = (inverse(sceneModelMatrix * objectDecodeAndInstanceMatrix) * vec4(uCameraEyeRtc, 1)).xyz;"),s.push(" if (dot(position.xyz - uCameraEyeRtcInQuantizedSpace, normal) < 0.0) {"),s.push(" position = positions[2 - (gl_VertexID % 3)];"),s.push(" }"),s.push(" } else {"),s.push(" vec3 viewNormal = -normalize((transpose(inverse(viewMatrix*objectDecodeAndInstanceMatrix)) * vec4(normal,1)).xyz);"),s.push(" if (viewNormal.z < 0.0) {"),s.push(" position = positions[2 - (gl_VertexID % 3)];"),s.push(" }"),s.push(" }"),s.push("}"),s.push("vec4 worldPosition = sceneModelMatrix * (objectDecodeAndInstanceMatrix * vec4(position, 1.0)); "),s.push("vec4 viewPosition = viewMatrix * worldPosition; "),s.push("vec4 clipPos = projMatrix * viewPosition;"),t&&(s.push("vWorldPosition = worldPosition;"),s.push("vFlags2 = flags2.r;")),s.push("gl_Position = clipPos;"),s.push(" }"),s.push("}"),s}_buildFragmentShader(){const e=this._scene._sectionPlanesState,t=e.getNumAllocatedSectionPlanes()>0,s=[];if(s.push("#version 300 es"),s.push("// TrianglesDataTextureColorRenderer fragment shader"),s.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),s.push("precision highp float;"),s.push("precision highp int;"),s.push("#else"),s.push("precision mediump float;"),s.push("precision mediump int;"),s.push("#endif"),t){s.push("in vec4 vWorldPosition;"),s.push("flat in uint vFlags2;");for(let t=0;t 0.0);"),s.push(" if (clippable) {"),s.push(" float dist = 0.0;");for(let t=0;t 0.0) { discard; }"),s.push(" }")}return s.push(" outColor = vec4(0.0, 0.0, 1.0, 1.0); "),s.push("}"),s}webglContextRestored(){this._program=null}destroy(){this._program&&this._program.destroy(),this._program=null}}const uu=A.vec3(),hu=A.vec3(),pu=A.vec3();A.vec3();const Au=A.mat4();class du{constructor(e){this._scene=e,this._allocate(),this._hash=this._getHash()}getValid(){return this._hash===this._getHash()}_getHash(){return this._scene._sectionPlanesState.getHash()}drawLayer(e,t,s){const n=this._scene,i=n.camera,a=t.model,r=n.canvas.gl,l=t._state,o=l.textureState,c=t._state.origin,{position:u,rotationMatrix:h,rotationMatrixConjugate:p}=a;if(!this._program&&(this._allocate(),this.errors))return;let d,f;e.lastProgramId!==this._program.id&&(e.lastProgramId=this._program.id,this._bindProgram(e,l)),o.bindCommonTextures(this._program,this.uTexturePerObjectPositionsDecodeMatrix,this._uTexturePerVertexIdCoordinates,this.uTexturePerObjectColorsAndFlags,this._uTexturePerObjectMatrix);const I=0!==c[0]||0!==c[1]||0!==c[2],y=0!==u[0]||0!==u[1]||0!==u[2];if(I||y){const e=uu;if(I){const t=A.transformPoint3(h,c,hu);e[0]=t[0],e[1]=t[1],e[2]=t[2]}else e[0]=0,e[1]=0,e[2]=0;e[0]+=u[0],e[1]+=u[1],e[2]+=u[2],d=Q(i.viewMatrix,e,Au),f=pu,f[0]=i.eye[0]-e[0],f[1]=i.eye[1]-e[1],f[2]=i.eye[2]-e[2]}else d=i.viewMatrix,f=i.eye;if(r.uniformMatrix4fv(this._uSceneModelMatrix,!1,p),r.uniformMatrix4fv(this._uViewMatrix,!1,d),r.uniformMatrix4fv(this._uProjMatrix,!1,i.projMatrix),r.uniform3fv(this._uCameraEyeRtc,f),r.uniform1i(this._uRenderPass,s),n.logarithmicDepthBufferEnabled){const t=2/(Math.log(e.pickZFar+1)/Math.LN2);r.uniform1f(this._uLogDepthBufFC,t)}const m=n._sectionPlanesState.getNumAllocatedSectionPlanes(),v=n._sectionPlanesState.sectionPlanes.length;if(m>0){const e=n._sectionPlanesState.sectionPlanes,s=t.layerIndex*v,i=a.renderFlags;for(let t=0;t0&&(o.bindTriangleIndicesTextures(this._program,this._uTexturePerPolygonIdPortionIds,this._uTexturePerPolygonIdIndices,8),r.drawArrays(r.TRIANGLES,0,l.numIndices8Bits)),l.numIndices16Bits>0&&(o.bindTriangleIndicesTextures(this._program,this._uTexturePerPolygonIdPortionIds,this._uTexturePerPolygonIdIndices,16),r.drawArrays(r.TRIANGLES,0,l.numIndices16Bits)),l.numIndices32Bits>0&&(o.bindTriangleIndicesTextures(this._program,this._uTexturePerPolygonIdPortionIds,this._uTexturePerPolygonIdIndices,32),r.drawArrays(r.TRIANGLES,0,l.numIndices32Bits)),e.drawElements++}_allocate(){const e=this._scene,t=e.canvas.gl;if(this._program=new Fe(t,this._buildShader()),this._program.errors)return void(this.errors=this._program.errors);const s=this._program;this._uRenderPass=s.getLocation("renderPass"),this._uPositionsDecodeMatrix=s.getLocation("objectDecodeAndInstanceMatrix"),this._uSceneModelMatrix=s.getLocation("sceneModelMatrix"),this._uViewMatrix=s.getLocation("viewMatrix"),this._uProjMatrix=s.getLocation("projMatrix"),this._uSectionPlanes=[];for(let t=0,n=e._sectionPlanesState.getNumAllocatedSectionPlanes();t0,s=[];return s.push("#version 300 es"),s.push("// Triangles dataTexture draw vertex shader"),s.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),s.push("precision highp float;"),s.push("precision highp int;"),s.push("precision highp usampler2D;"),s.push("precision highp isampler2D;"),s.push("precision highp sampler2D;"),s.push("#else"),s.push("precision mediump float;"),s.push("precision mediump int;"),s.push("precision mediump usampler2D;"),s.push("precision mediump isampler2D;"),s.push("precision mediump sampler2D;"),s.push("#endif"),s.push("uniform int renderPass;"),e.entityOffsetsEnabled&&s.push("in vec3 offset;"),s.push("uniform mat4 sceneModelMatrix;"),s.push("uniform mat4 viewMatrix;"),s.push("uniform mat4 projMatrix;"),s.push("uniform highp sampler2D uObjectPerObjectPositionsDecodeMatrix;"),s.push("uniform highp sampler2D uTexturePerObjectMatrix;"),s.push("uniform lowp usampler2D uObjectPerObjectColorsAndFlags;"),s.push("uniform mediump usampler2D uTexturePerVertexIdCoordinates;"),s.push("uniform highp usampler2D uTexturePerPolygonIdIndices;"),s.push("uniform mediump usampler2D uTexturePerPolygonIdPortionIds;"),s.push("uniform vec3 uCameraEyeRtc;"),s.push("vec3 positions[3];"),e.logarithmicDepthBufferEnabled&&(s.push("uniform float logDepthBufFC;"),s.push("out float vFragDepth;"),s.push("out float isPerspective;")),s.push("bool isPerspectiveMatrix(mat4 m) {"),s.push(" return (m[2][3] == - 1.0);"),s.push("}"),s.push("out highp vec2 vHighPrecisionZW;"),t&&(s.push("out vec4 vWorldPosition;"),s.push("flat out uint vFlags2;")),s.push("void main(void) {"),s.push("int polygonIndex = gl_VertexID / 3;"),s.push("int h_packed_object_id_index = (polygonIndex >> 3) & 4095;"),s.push("int v_packed_object_id_index = (polygonIndex >> 3) >> 12;"),s.push("int objectIndex = int(texelFetch(uTexturePerPolygonIdPortionIds, ivec2(h_packed_object_id_index, v_packed_object_id_index), 0).r);"),s.push("ivec2 objectIndexCoords = ivec2(objectIndex % 512, objectIndex / 512);"),s.push("uvec4 flags = texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+2, objectIndexCoords.y), 0);"),s.push("uvec4 flags2 = texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+3, objectIndexCoords.y), 0);"),s.push("if (int(flags.x) != renderPass) {"),s.push(" gl_Position = vec4(3.0, 3.0, 3.0, 1.0);"),s.push(" return;"),s.push("} else {"),s.push("ivec4 packedVertexBase = ivec4(texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+4, objectIndexCoords.y), 0));"),s.push("ivec4 packedIndexBaseOffset = ivec4(texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+5, objectIndexCoords.y), 0));"),s.push("int indexBaseOffset = (packedIndexBaseOffset.r << 24) + (packedIndexBaseOffset.g << 16) + (packedIndexBaseOffset.b << 8) + packedIndexBaseOffset.a;"),s.push("int h_index = (polygonIndex - indexBaseOffset) & 4095;"),s.push("int v_index = (polygonIndex - indexBaseOffset) >> 12;"),s.push("ivec3 vertexIndices = ivec3(texelFetch(uTexturePerPolygonIdIndices, ivec2(h_index, v_index), 0));"),s.push("ivec3 uniqueVertexIndexes = vertexIndices + (packedVertexBase.r << 24) + (packedVertexBase.g << 16) + (packedVertexBase.b << 8) + packedVertexBase.a;"),s.push("ivec3 indexPositionH = uniqueVertexIndexes & 4095;"),s.push("ivec3 indexPositionV = uniqueVertexIndexes >> 12;"),s.push("mat4 objectInstanceMatrix = mat4 (texelFetch (uTexturePerObjectMatrix, ivec2(objectIndexCoords.x*4+0, objectIndexCoords.y), 0), texelFetch (uTexturePerObjectMatrix, ivec2(objectIndexCoords.x*4+1, objectIndexCoords.y), 0), texelFetch (uTexturePerObjectMatrix, ivec2(objectIndexCoords.x*4+2, objectIndexCoords.y), 0), texelFetch (uTexturePerObjectMatrix, ivec2(objectIndexCoords.x*4+3, objectIndexCoords.y), 0));"),s.push("mat4 objectDecodeAndInstanceMatrix = objectInstanceMatrix * mat4 (texelFetch (uObjectPerObjectPositionsDecodeMatrix, ivec2(objectIndexCoords.x*4+0, objectIndexCoords.y), 0), texelFetch (uObjectPerObjectPositionsDecodeMatrix, ivec2(objectIndexCoords.x*4+1, objectIndexCoords.y), 0), texelFetch (uObjectPerObjectPositionsDecodeMatrix, ivec2(objectIndexCoords.x*4+2, objectIndexCoords.y), 0), texelFetch (uObjectPerObjectPositionsDecodeMatrix, ivec2(objectIndexCoords.x*4+3, objectIndexCoords.y), 0));"),s.push("uint solid = texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+7, objectIndexCoords.y), 0).r;"),s.push("positions[0] = vec3(texelFetch(uTexturePerVertexIdCoordinates, ivec2(indexPositionH.r, indexPositionV.r), 0));"),s.push("positions[1] = vec3(texelFetch(uTexturePerVertexIdCoordinates, ivec2(indexPositionH.g, indexPositionV.g), 0));"),s.push("positions[2] = vec3(texelFetch(uTexturePerVertexIdCoordinates, ivec2(indexPositionH.b, indexPositionV.b), 0));"),s.push("uvec4 color = texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+0, objectIndexCoords.y), 0);"),s.push("if (color.a == 0u) {"),s.push(" gl_Position = vec4(3.0, 3.0, 3.0, 1.0);"),s.push(" return;"),s.push("};"),s.push("vec3 normal = normalize(cross(positions[2] - positions[0], positions[1] - positions[0]));"),s.push("vec3 position;"),s.push("position = positions[gl_VertexID % 3];"),s.push("vec3 viewNormal = -normalize((transpose(inverse(viewMatrix*objectDecodeAndInstanceMatrix)) * vec4(normal,1)).xyz);"),s.push("if (solid != 1u) {"),s.push("if (isPerspectiveMatrix(projMatrix)) {"),s.push("vec3 uCameraEyeRtcInQuantizedSpace = (inverse(sceneModelMatrix * objectDecodeAndInstanceMatrix) * vec4(uCameraEyeRtc, 1)).xyz;"),s.push("if (dot(position.xyz - uCameraEyeRtcInQuantizedSpace, normal) < 0.0) {"),s.push("position = positions[2 - (gl_VertexID % 3)];"),s.push("viewNormal = -viewNormal;"),s.push("}"),s.push("} else {"),s.push("if (viewNormal.z < 0.0) {"),s.push("position = positions[2 - (gl_VertexID % 3)];"),s.push("viewNormal = -viewNormal;"),s.push("}"),s.push("}"),s.push("}"),s.push("vec4 worldPosition = sceneModelMatrix * (objectDecodeAndInstanceMatrix * vec4(position, 1.0)); "),s.push("vec4 viewPosition = viewMatrix * worldPosition; "),s.push("vec4 clipPos = projMatrix * viewPosition;"),e.logarithmicDepthBufferEnabled&&(s.push("vFragDepth = 1.0 + clipPos.w;"),s.push("isPerspective = float (isPerspectiveMatrix(projMatrix));")),t&&(s.push("vWorldPosition = worldPosition;"),s.push("vFlags2 = flags2.r;")),s.push("gl_Position = clipPos;"),s.push("vHighPrecisionZW = gl_Position.zw;"),s.push("}"),s.push("}"),s}_buildFragmentShader(){const e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,s=[];if(s.push("#version 300 es"),s.push("// Triangles dataTexture draw fragment shader"),s.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),s.push("precision highp float;"),s.push("precision highp int;"),s.push("#else"),s.push("precision mediump float;"),s.push("precision mediump int;"),s.push("#endif"),s.push("in highp vec2 vHighPrecisionZW;"),s.push("out vec4 outColor;"),e.logarithmicDepthBufferEnabled&&(s.push("in float isPerspective;"),s.push("uniform float logDepthBufFC;"),s.push("in float vFragDepth;")),t){s.push("in vec4 vWorldPosition;"),s.push("flat in uint vFlags2;");for(let t=0,n=e._sectionPlanesState.getNumAllocatedSectionPlanes();t 0u;"),s.push(" if (clippable) {"),s.push(" float dist = 0.0;");for(let t=0,n=e._sectionPlanesState.getNumAllocatedSectionPlanes();t 0.0) { "),s.push(" discard;"),s.push(" }"),s.push("}")}return e.logarithmicDepthBufferEnabled&&s.push(" gl_FragDepth = isPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5;"),s.push("float fragCoordZ = 0.5 * vHighPrecisionZW[0] / vHighPrecisionZW[1] + 0.5;"),s.push(" outColor = vec4(vec3(1.0 - fragCoordZ), 1.0); "),s.push("}"),s}webglContextRestored(){this._program=null}destroy(){this._program&&this._program.destroy(),this._program=null}}const fu=A.vec3(),Iu=A.vec3(),yu=A.vec3();A.vec3();const mu=A.mat4();class vu{constructor(e){this._scene=e,this._hash=this._getHash(),this._allocate()}getValid(){return this._hash===this._getHash()}_getHash(){return this._scene._sectionPlanesState.getHash()}drawLayer(e,t,s){const n=t.model,i=n.scene,a=i.camera,r=i.canvas.gl,l=t._state,o=t._state.origin,{position:c,rotationMatrix:u,rotationMatrixConjugate:h}=n,p=a.viewMatrix;if(!this._program&&(this._allocate(t),this.errors))return;let d,f;e.lastProgramId!==this._program.id&&(e.lastProgramId=this._program.id,this._bindProgram(t));const I=0!==o[0]||0!==o[1]||0!==o[2],y=0!==c[0]||0!==c[1]||0!==c[2];if(I||y){const e=fu;if(I){const t=Iu;A.transformPoint3(u,o,t),e[0]=t[0],e[1]=t[1],e[2]=t[2]}else e[0]=0,e[1]=0,e[2]=0;e[0]+=c[0],e[1]+=c[1],e[2]+=c[2],d=Q(p,e,mu),f=yu,f[0]=a.eye[0]-e[0],f[1]=a.eye[1]-e[1],f[2]=a.eye[2]-e[2]}else d=p,f=a.eye;r.uniform1i(this._uRenderPass,s),r.uniformMatrix4fv(this._uWorldMatrix,!1,h),r.uniformMatrix4fv(this._uViewMatrix,!1,d),r.uniformMatrix4fv(this._uProjMatrix,!1,a.projMatrix),r.uniformMatrix4fv(this._uViewNormalMatrix,!1,a.viewNormalMatrix),r.uniformMatrix4fv(this._uWorldNormalMatrix,!1,n.worldNormalMatrix);const m=i._sectionPlanesState.getNumAllocatedSectionPlanes(),v=i._sectionPlanesState.sectionPlanes.length;if(m>0){const e=i._sectionPlanesState.sectionPlanes,s=t.layerIndex*v,a=n.renderFlags;for(let t=0;t0,s=[];return s.push("// Batched geometry normals vertex shader"),e.logarithmicDepthBufferEnabled&&Ce.SUPPORTED_EXTENSIONS.EXT_frag_depth&&s.push("#extension GL_EXT_frag_depth : enable"),s.push("uniform int renderPass;"),s.push("attribute vec3 position;"),e.entityOffsetsEnabled&&s.push("attribute vec3 offset;"),s.push("attribute vec3 normal;"),s.push("attribute vec4 color;"),s.push("attribute vec4 flags;"),s.push("attribute vec4 flags2;"),s.push("uniform mat4 worldMatrix;"),s.push("uniform mat4 worldNormalMatrix;"),s.push("uniform mat4 viewMatrix;"),s.push("uniform mat4 projMatrix;"),s.push("uniform mat4 viewNormalMatrix;"),s.push("uniform mat4 objectDecodeAndInstanceMatrix;"),e.logarithmicDepthBufferEnabled&&(s.push("uniform float logDepthBufFC;"),Ce.SUPPORTED_EXTENSIONS.EXT_frag_depth&&s.push("out float vFragDepth;"),s.push("bool isPerspectiveMatrix(mat4 m) {"),s.push(" return (m[2][3] == - 1.0);"),s.push("}"),s.push("varying float isPerspective;")),s.push("vec3 octDecode(vec2 oct) {"),s.push(" vec3 v = vec3(oct.xy, 1.0 - abs(oct.x) - abs(oct.y));"),s.push(" if (v.z < 0.0) {"),s.push(" v.xy = (1.0 - abs(v.yx)) * vec2(v.x >= 0.0 ? 1.0 : -1.0, v.y >= 0.0 ? 1.0 : -1.0);"),s.push(" }"),s.push(" return normalize(v);"),s.push("}"),t&&(s.push("out vec4 vWorldPosition;"),s.push("out vec4 vFlags2;")),s.push("out vec3 vViewNormal;"),s.push("void main(void) {"),s.push("if (int(flags.x) != renderPass) {"),s.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),s.push(" } else {"),s.push(" vec4 worldPosition = worldMatrix * (objectDecodeAndInstanceMatrix * vec4(position, 1.0)); "),e.entityOffsetsEnabled&&s.push(" worldPosition.xyz = worldPosition.xyz + offset;"),s.push(" vec4 viewPosition = viewMatrix * worldPosition; "),s.push(" vec4 worldNormal = worldNormalMatrix * vec4(octDecode(normal.xy), 0.0); "),s.push(" vec3 viewNormal = normalize((viewNormalMatrix * worldNormal).xyz);"),t&&(s.push(" vWorldPosition = worldPosition;"),s.push(" vFlags2 = flags2;")),s.push(" vViewNormal = viewNormal;"),s.push("vec4 clipPos = projMatrix * viewPosition;"),e.logarithmicDepthBufferEnabled&&(Ce.SUPPORTED_EXTENSIONS.EXT_frag_depth?s.push("vFragDepth = 1.0 + clipPos.w;"):(s.push("clipPos.z = log2( max( 1e-6, clipPos.w + 1.0 ) ) * logDepthBufFC - 1.0;"),s.push("clipPos.z *= clipPos.w;")),s.push("isPerspective = float (isPerspectiveMatrix(projMatrix));")),s.push("gl_Position = clipPos;"),s.push(" }"),s.push("}"),s}_buildFragmentShader(){const e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,s=[];if(s.push("#version 300 es"),s.push("// Batched geometry normals fragment shader"),e.logarithmicDepthBufferEnabled&&Ce.SUPPORTED_EXTENSIONS.EXT_frag_depth&&s.push("#extension GL_EXT_frag_depth : enable"),s.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),s.push("precision highp float;"),s.push("precision highp int;"),s.push("#else"),s.push("precision mediump float;"),s.push("precision mediump int;"),s.push("#endif"),e.logarithmicDepthBufferEnabled&&Ce.SUPPORTED_EXTENSIONS.EXT_frag_depth&&(s.push("in float isPerspective;"),s.push("uniform float logDepthBufFC;"),s.push("in float vFragDepth;")),t){s.push("in vec4 vWorldPosition;"),s.push("in vec4 vFlags2;");for(let t=0;t 0.0);"),s.push(" if (clippable) {"),s.push(" float dist = 0.0;");for(var n=0;n 0.0) { discard; }"),s.push(" }")}return e.logarithmicDepthBufferEnabled&&Ce.SUPPORTED_EXTENSIONS.EXT_frag_depth&&s.push(" gl_FragDepthEXT = isPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5;"),s.push(" gl_FragColor = vec4(packNormalToRGB(vViewNormal), 1.0); "),s.push("}"),s}webglContextRestored(){this._program=null}destroy(){this._program&&this._program.destroy(),this._program=null}}const wu=A.vec3(),gu=A.vec3(),Eu=A.vec3();A.vec3(),A.vec4();const Tu=A.mat4();class bu{constructor(e,t){this._scene=e,this._withSAO=t,this._hash=this._getHash(),this._allocate()}getValid(){return this._hash===this._getHash()}_getHash(){const e=this._scene;return[e._lightsState.getHash(),e._sectionPlanesState.getHash(),this._withSAO?"sao":"nosao"].join(";")}drawLayer(e,t,s){const n=this._scene,i=n.camera,a=t.model,r=n.canvas.gl,l=t._state,o=l.textureState,c=t._state.origin,{position:u,rotationMatrix:h,rotationMatrixConjugate:p}=a;if(!this._program&&(this._allocate(),this.errors))return;let d,f;e.lastProgramId!==this._program.id&&(e.lastProgramId=this._program.id,this._bindProgram(e,l)),o.bindCommonTextures(this._program,this.uTexturePerObjectPositionsDecodeMatrix,this._uTexturePerVertexIdCoordinates,this.uTexturePerObjectColorsAndFlags,this._uTexturePerObjectMatrix);const I=0!==c[0]||0!==c[1]||0!==c[2],y=0!==u[0]||0!==u[1]||0!==u[2];if(I||y){const e=wu;if(I){const t=A.transformPoint3(h,c,gu);e[0]=t[0],e[1]=t[1],e[2]=t[2]}else e[0]=0,e[1]=0,e[2]=0;e[0]+=u[0],e[1]+=u[1],e[2]+=u[2],d=Q(i.viewMatrix,e,Tu),f=Eu,f[0]=i.eye[0]-e[0],f[1]=i.eye[1]-e[1],f[2]=i.eye[2]-e[2]}else d=i.viewMatrix,f=i.eye;if(r.uniform2fv(this._uPickClipPos,e.pickClipPos),r.uniform2f(this._uDrawingBufferSize,r.drawingBufferWidth,r.drawingBufferHeight),r.uniformMatrix4fv(this._uSceneModelMatrix,!1,p),r.uniformMatrix4fv(this._uViewMatrix,!1,d),r.uniformMatrix4fv(this._uProjMatrix,!1,i.projMatrix),r.uniform3fv(this._uCameraEyeRtc,f),r.uniform1i(this._uRenderPass,s),n.logarithmicDepthBufferEnabled){const t=2/(Math.log(e.pickZFar+1)/Math.LN2);r.uniform1f(this._uLogDepthBufFC,t)}const m=n._sectionPlanesState.getNumAllocatedSectionPlanes(),v=n._sectionPlanesState.sectionPlanes.length;if(m>0){const e=n._sectionPlanesState.sectionPlanes,s=t.layerIndex*v,i=a.renderFlags;for(let t=0;t0&&(o.bindTriangleIndicesTextures(this._program,this._uTexturePerPolygonIdPortionIds,this._uTexturePerPolygonIdIndices,8),r.drawArrays(r.TRIANGLES,0,l.numIndices8Bits)),l.numIndices16Bits>0&&(o.bindTriangleIndicesTextures(this._program,this._uTexturePerPolygonIdPortionIds,this._uTexturePerPolygonIdIndices,16),r.drawArrays(r.TRIANGLES,0,l.numIndices16Bits)),l.numIndices32Bits>0&&(o.bindTriangleIndicesTextures(this._program,this._uTexturePerPolygonIdPortionIds,this._uTexturePerPolygonIdIndices,32),r.drawArrays(r.TRIANGLES,0,l.numIndices32Bits)),e.drawElements++}_allocate(){const e=this._scene,t=e.canvas.gl;if(this._program=new Fe(t,this._buildShader()),this._program.errors)return void(this.errors=this._program.errors);const s=this._program;this._uRenderPass=s.getLocation("renderPass"),this._uPickInvisible=s.getLocation("pickInvisible"),this._uPickClipPos=s.getLocation("pickClipPos"),this._uDrawingBufferSize=s.getLocation("drawingBufferSize"),this._uSceneModelMatrix=s.getLocation("sceneModelMatrix"),this._uViewMatrix=s.getLocation("viewMatrix"),this._uProjMatrix=s.getLocation("projMatrix"),this._uSectionPlanes=[];for(let t=0,n=e._sectionPlanesState.getNumAllocatedSectionPlanes();t0,s=[];return s.push("#version 300 es"),s.push("// trianglesDatatextureNormalsRenderer vertex shader"),s.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),s.push("precision highp float;"),s.push("precision highp int;"),s.push("precision highp usampler2D;"),s.push("precision highp isampler2D;"),s.push("precision highp sampler2D;"),s.push("#else"),s.push("precision mediump float;"),s.push("precision mediump int;"),s.push("precision mediump usampler2D;"),s.push("precision mediump isampler2D;"),s.push("precision mediump sampler2D;"),s.push("#endif"),s.push("uniform int renderPass;"),e.entityOffsetsEnabled&&s.push("in vec3 offset;"),s.push("uniform mat4 sceneModelMatrix;"),s.push("uniform mat4 viewMatrix;"),s.push("uniform mat4 projMatrix;"),s.push("uniform highp sampler2D uObjectPerObjectPositionsDecodeMatrix;"),s.push("uniform lowp usampler2D uObjectPerObjectColorsAndFlags;"),s.push("uniform highp sampler2D uTexturePerObjectMatrix;"),s.push("uniform mediump usampler2D uTexturePerVertexIdCoordinates;"),s.push("uniform highp usampler2D uTexturePerPolygonIdIndices;"),s.push("uniform mediump usampler2D uTexturePerPolygonIdPortionIds;"),s.push("uniform vec3 uCameraEyeRtc;"),s.push("vec3 positions[3];"),e.logarithmicDepthBufferEnabled&&(s.push("uniform float logDepthBufFC;"),s.push("out float vFragDepth;"),s.push("out float isPerspective;")),s.push("uniform vec2 pickClipPos;"),s.push("uniform vec2 drawingBufferSize;"),s.push("vec4 remapClipPos(vec4 clipPos) {"),s.push(" clipPos.xy /= clipPos.w;"),s.push(" clipPos.xy = (clipPos.xy - pickClipPos) * drawingBufferSize;"),s.push(" clipPos.xy *= clipPos.w;"),s.push(" return clipPos;"),s.push("}"),s.push("bool isPerspectiveMatrix(mat4 m) {"),s.push(" return (m[2][3] == - 1.0);"),s.push("}"),s.push("out vec4 vWorldPosition;"),t&&s.push("flat out uint vFlags2;"),s.push("void main(void) {"),s.push("int polygonIndex = gl_VertexID / 3;"),s.push("int h_packed_object_id_index = (polygonIndex >> 3) & 4095;"),s.push("int v_packed_object_id_index = (polygonIndex >> 3) >> 12;"),s.push("int objectIndex = int(texelFetch(uTexturePerPolygonIdPortionIds, ivec2(h_packed_object_id_index, v_packed_object_id_index), 0).r);"),s.push("ivec2 objectIndexCoords = ivec2(objectIndex % 512, objectIndex / 512);"),s.push("uvec4 flags = texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+2, objectIndexCoords.y), 0);"),s.push("uvec4 flags2 = texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+3, objectIndexCoords.y), 0);"),s.push("if (int(flags.w) != renderPass) {"),s.push(" gl_Position = vec4(3.0, 3.0, 3.0, 1.0);"),s.push(" return;"),s.push("} else {"),s.push("ivec4 packedVertexBase = ivec4(texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+4, objectIndexCoords.y), 0));"),s.push("ivec4 packedIndexBaseOffset = ivec4(texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+5, objectIndexCoords.y), 0));"),s.push("int indexBaseOffset = (packedIndexBaseOffset.r << 24) + (packedIndexBaseOffset.g << 16) + (packedIndexBaseOffset.b << 8) + packedIndexBaseOffset.a;"),s.push("int h_index = (polygonIndex - indexBaseOffset) & 4095;"),s.push("int v_index = (polygonIndex - indexBaseOffset) >> 12;"),s.push("ivec3 vertexIndices = ivec3(texelFetch(uTexturePerPolygonIdIndices, ivec2(h_index, v_index), 0));"),s.push("ivec3 uniqueVertexIndexes = vertexIndices + (packedVertexBase.r << 24) + (packedVertexBase.g << 16) + (packedVertexBase.b << 8) + packedVertexBase.a;"),s.push("ivec3 indexPositionH = uniqueVertexIndexes & 4095;"),s.push("ivec3 indexPositionV = uniqueVertexIndexes >> 12;"),s.push("mat4 objectInstanceMatrix = mat4 (texelFetch (uTexturePerObjectMatrix, ivec2(objectIndexCoords.x*4+0, objectIndexCoords.y), 0), texelFetch (uTexturePerObjectMatrix, ivec2(objectIndexCoords.x*4+1, objectIndexCoords.y), 0), texelFetch (uTexturePerObjectMatrix, ivec2(objectIndexCoords.x*4+2, objectIndexCoords.y), 0), texelFetch (uTexturePerObjectMatrix, ivec2(objectIndexCoords.x*4+3, objectIndexCoords.y), 0));"),s.push("mat4 objectDecodeAndInstanceMatrix = objectInstanceMatrix * mat4 (texelFetch (uObjectPerObjectPositionsDecodeMatrix, ivec2(objectIndexCoords.x*4+0, objectIndexCoords.y), 0), texelFetch (uObjectPerObjectPositionsDecodeMatrix, ivec2(objectIndexCoords.x*4+1, objectIndexCoords.y), 0), texelFetch (uObjectPerObjectPositionsDecodeMatrix, ivec2(objectIndexCoords.x*4+2, objectIndexCoords.y), 0), texelFetch (uObjectPerObjectPositionsDecodeMatrix, ivec2(objectIndexCoords.x*4+3, objectIndexCoords.y), 0));"),s.push("uint solid = texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+7, objectIndexCoords.y), 0).r;"),s.push("positions[0] = vec3(texelFetch(uTexturePerVertexIdCoordinates, ivec2(indexPositionH.r, indexPositionV.r), 0));"),s.push("positions[1] = vec3(texelFetch(uTexturePerVertexIdCoordinates, ivec2(indexPositionH.g, indexPositionV.g), 0));"),s.push("positions[2] = vec3(texelFetch(uTexturePerVertexIdCoordinates, ivec2(indexPositionH.b, indexPositionV.b), 0));"),s.push("uvec4 color = texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+0, objectIndexCoords.y), 0);"),s.push("if (color.a == 0u) {"),s.push(" gl_Position = vec4(3.0, 3.0, 3.0, 1.0);"),s.push(" return;"),s.push("};"),s.push("vec3 normal = normalize(cross(positions[2] - positions[0], positions[1] - positions[0]));"),s.push("vec3 position;"),s.push("position = positions[gl_VertexID % 3];"),s.push("vec3 viewNormal = -normalize((transpose(inverse(viewMatrix*objectDecodeAndInstanceMatrix)) * vec4(normal,1)).xyz);"),s.push("if (solid != 1u) {"),s.push("if (isPerspectiveMatrix(projMatrix)) {"),s.push("vec3 uCameraEyeRtcInQuantizedSpace = (inverse(sceneModelMatrix * objectDecodeAndInstanceMatrix) * vec4(uCameraEyeRtc, 1)).xyz;"),s.push("if (dot(position.xyz - uCameraEyeRtcInQuantizedSpace, normal) < 0.0) {"),s.push("position = positions[2 - (gl_VertexID % 3)];"),s.push("viewNormal = -viewNormal;"),s.push("}"),s.push("} else {"),s.push("vec3 viewNormal = -normalize((transpose(inverse(viewMatrix*objectDecodeAndInstanceMatrix)) * vec4(normal,1)).xyz);"),s.push("if (viewNormal.z < 0.0) {"),s.push("position = positions[2 - (gl_VertexID % 3)];"),s.push("}"),s.push("}"),s.push("}"),s.push("vec4 worldPosition = sceneModelMatrix * (objectDecodeAndInstanceMatrix * vec4(position, 1.0)); "),s.push("vec4 viewPosition = viewMatrix * worldPosition; "),s.push("vec4 clipPos = projMatrix * viewPosition;"),e.logarithmicDepthBufferEnabled&&(s.push("vFragDepth = 1.0 + clipPos.w;"),s.push("isPerspective = float (isPerspectiveMatrix(projMatrix));")),s.push("vWorldPosition = worldPosition;"),t&&s.push("vFlags2 = flags2.r;"),s.push("gl_Position = remapClipPos(clipPos);"),s.push("}"),s.push("}"),s}_buildFragmentShader(){const e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,s=[];if(s.push("#version 300 es"),s.push("// TrianglesDataTexturePickNormalsRenderer fragment shader"),s.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),s.push("precision highp float;"),s.push("precision highp int;"),s.push("#else"),s.push("precision mediump float;"),s.push("precision mediump int;"),s.push("#endif"),e.logarithmicDepthBufferEnabled&&(s.push("in float isPerspective;"),s.push("uniform float logDepthBufFC;"),s.push("in float vFragDepth;")),s.push("in vec4 vWorldPosition;"),t){s.push("flat in uint vFlags2;");for(let t=0,n=e._sectionPlanesState.getNumAllocatedSectionPlanes();t 0u;"),s.push(" if (clippable) {"),s.push(" float dist = 0.0;");for(let t=0,n=e._sectionPlanesState.getNumAllocatedSectionPlanes();t 0.0) { "),s.push(" discard;"),s.push(" }"),s.push("}")}return e.logarithmicDepthBufferEnabled&&s.push(" gl_FragDepth = isPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5;"),s.push(" vec3 xTangent = dFdx( vWorldPosition.xyz );"),s.push(" vec3 yTangent = dFdy( vWorldPosition.xyz );"),s.push(" vec3 worldNormal = normalize( cross( xTangent, yTangent ) );"),s.push(` outNormal = ivec4(worldNormal * float(${A.MAX_INT}), 1.0);`),s.push("}"),s}webglContextRestored(){this._program=null}destroy(){this._program&&this._program.destroy(),this._program=null}}class Du{constructor(e){this._scene=e}_compile(){this._colorRenderer&&!this._colorRenderer.getValid()&&(this._colorRenderer.destroy(),this._colorRenderer=null),this._colorRendererWithSAO&&!this._colorRendererWithSAO.getValid()&&(this._colorRendererWithSAO.destroy(),this._colorRendererWithSAO=null),this._flatColorRenderer&&!this._flatColorRenderer.getValid()&&(this._flatColorRenderer.destroy(),this._flatColorRenderer=null),this._flatColorRendererWithSAO&&!this._flatColorRendererWithSAO.getValid()&&(this._flatColorRendererWithSAO.destroy(),this._flatColorRendererWithSAO=null),this._colorQualityRendererWithSAO&&!this._colorQualityRendererWithSAO.getValid()&&(this._colorQualityRendererWithSAO.destroy(),this._colorQualityRendererWithSAO=null),this._depthRenderer&&!this._depthRenderer.getValid()&&(this._depthRenderer.destroy(),this._depthRenderer=null),this._normalsRenderer&&!this._normalsRenderer.getValid()&&(this._normalsRenderer.destroy(),this._normalsRenderer=null),this._silhouetteRenderer&&!this._silhouetteRenderer.getValid()&&(this._silhouetteRenderer.destroy(),this._silhouetteRenderer=null),this._edgesRenderer&&!this._edgesRenderer.getValid()&&(this._edgesRenderer.destroy(),this._edgesRenderer=null),this._edgesColorRenderer&&!this._edgesColorRenderer.getValid()&&(this._edgesColorRenderer.destroy(),this._edgesColorRenderer=null),this._pickMeshRenderer&&!this._pickMeshRenderer.getValid()&&(this._pickMeshRenderer.destroy(),this._pickMeshRenderer=null),this._pickDepthRenderer&&!this._pickDepthRenderer.getValid()&&(this._pickDepthRenderer.destroy(),this._pickDepthRenderer=null),this._vertexDepthRenderer&&!this._vertexDepthRenderer.getValid()&&(this._vertexDepthRenderer.destroy(),this._vertexDepthRenderer=null),this._snapDepthBufInitRenderer&&!this._snapDepthBufInitRenderer.getValid()&&(this._snapDepthBufInitRenderer.destroy(),this._snapDepthBufInitRenderer=null),this._pickNormalsRenderer&&!1===this._pickNormalsRenderer.getValid()&&(this._pickNormalsRenderer.destroy(),this._pickNormalsRenderer=null),this._pickNormalsFlatRenderer&&!1===this._pickNormalsFlatRenderer.getValid()&&(this._pickNormalsFlatRenderer.destroy(),this._pickNormalsFlatRenderer=null),this._occlusionRenderer&&!1===this._occlusionRenderer.getValid()&&(this._occlusionRenderer.destroy(),this._occlusionRenderer=null)}eagerCreateRenders(){this._silhouetteRenderer||(this._silhouetteRenderer=new Rc(this._scene)),this._pickMeshRenderer||(this._pickMeshRenderer=new jc(this._scene)),this._pickDepthRenderer||(this._pickDepthRenderer=new zc(this._scene)),this._pickNormalsRenderer||(this._pickNormalsRenderer=new bu(this._scene)),this._vertexDepthRenderer||(this._vertexDepthRenderer=new Zc(this._scene)),this._snapDepthBufInitRenderer||(this._snapDepthBufInitRenderer=new iu(this._scene))}get colorRenderer(){return this._colorRenderer||(this._colorRenderer=new gc(this._scene,!1)),this._colorRenderer}get colorRendererWithSAO(){return this._colorRendererWithSAO||(this._colorRendererWithSAO=new gc(this._scene,!0)),this._colorRendererWithSAO}get colorQualityRendererWithSAO(){return this._colorQualityRendererWithSAO}get silhouetteRenderer(){return this._silhouetteRenderer||(this._silhouetteRenderer=new Rc(this._scene)),this._silhouetteRenderer}get depthRenderer(){return this._depthRenderer||(this._depthRenderer=new du(this._scene)),this._depthRenderer}get normalsRenderer(){return this._normalsRenderer||(this._normalsRenderer=new vu(this._scene)),this._normalsRenderer}get edgesRenderer(){return this._edgesRenderer||(this._edgesRenderer=new Sc(this._scene)),this._edgesRenderer}get edgesColorRenderer(){return this._edgesColorRenderer||(this._edgesColorRenderer=new Mc(this._scene)),this._edgesColorRenderer}get pickMeshRenderer(){return this._pickMeshRenderer||(this._pickMeshRenderer=new jc(this._scene)),this._pickMeshRenderer}get pickNormalsRenderer(){return this._pickNormalsRenderer||(this._pickNormalsRenderer=new bu(this._scene)),this._pickNormalsRenderer}get pickNormalsFlatRenderer(){return this._pickNormalsFlatRenderer||(this._pickNormalsFlatRenderer=new bu(this._scene)),this._pickNormalsFlatRenderer}get pickDepthRenderer(){return this._pickDepthRenderer||(this._pickDepthRenderer=new zc(this._scene)),this._pickDepthRenderer}get vertexDepthRenderer(){return this._vertexDepthRenderer||(this._vertexDepthRenderer=new Zc(this._scene)),this._vertexDepthRenderer}get snapDepthBufInitRenderer(){return this._snapDepthBufInitRenderer||(this._snapDepthBufInitRenderer=new iu(this._scene)),this._snapDepthBufInitRenderer}get occlusionRenderer(){return this._occlusionRenderer||(this._occlusionRenderer=new cu(this._scene)),this._occlusionRenderer}_destroy(){this._colorRenderer&&this._colorRenderer.destroy(),this._colorRendererWithSAO&&this._colorRendererWithSAO.destroy(),this._flatColorRenderer&&this._flatColorRenderer.destroy(),this._flatColorRendererWithSAO&&this._flatColorRendererWithSAO.destroy(),this._colorQualityRendererWithSAO&&this._colorQualityRendererWithSAO.destroy(),this._depthRenderer&&this._depthRenderer.destroy(),this._normalsRenderer&&this._normalsRenderer.destroy(),this._silhouetteRenderer&&this._silhouetteRenderer.destroy(),this._edgesRenderer&&this._edgesRenderer.destroy(),this._edgesColorRenderer&&this._edgesColorRenderer.destroy(),this._pickMeshRenderer&&this._pickMeshRenderer.destroy(),this._pickDepthRenderer&&this._pickDepthRenderer.destroy(),this._vertexDepthRenderer&&this._vertexDepthRenderer.destroy(),this._snapDepthBufInitRenderer&&this._snapDepthBufInitRenderer.destroy(),this._pickNormalsRenderer&&this._pickNormalsRenderer.destroy(),this._pickNormalsFlatRenderer&&this._pickNormalsFlatRenderer.destroy(),this._occlusionRenderer&&this._occlusionRenderer.destroy()}}const Pu={};class Ru{constructor(){this.positionsCompressed=[],this.lenPositionsCompressed=0,this.metallicRoughness=[],this.indices8Bits=[],this.lenIndices8Bits=0,this.indices16Bits=[],this.lenIndices16Bits=0,this.indices32Bits=[],this.lenIndices32Bits=0,this.edgeIndices8Bits=[],this.lenEdgeIndices8Bits=0,this.edgeIndices16Bits=[],this.lenEdgeIndices16Bits=0,this.edgeIndices32Bits=[],this.lenEdgeIndices32Bits=0,this.perObjectColors=[],this.perObjectPickColors=[],this.perObjectSolid=[],this.perObjectOffsets=[],this.perObjectPositionsDecodeMatrices=[],this.perObjectInstancePositioningMatrices=[],this.perObjectVertexBases=[],this.perObjectIndexBaseOffsets=[],this.perObjectEdgeIndexBaseOffsets=[],this.perTriangleNumberPortionId8Bits=[],this.perTriangleNumberPortionId16Bits=[],this.perTriangleNumberPortionId32Bits=[],this.perEdgeNumberPortionId8Bits=[],this.perEdgeNumberPortionId16Bits=[],this.perEdgeNumberPortionId32Bits=[]}}class Cu{constructor(){this.texturePerObjectColorsAndFlags=null,this.texturePerObjectOffsets=null,this.texturePerObjectInstanceMatrices=null,this.texturePerObjectPositionsDecodeMatrix=null,this.texturePerVertexIdCoordinates=null,this.texturePerPolygonIdPortionIds8Bits=null,this.texturePerPolygonIdPortionIds16Bits=null,this.texturePerPolygonIdPortionIds32Bits=null,this.texturePerEdgeIdPortionIds8Bits=null,this.texturePerEdgeIdPortionIds16Bits=null,this.texturePerEdgeIdPortionIds32Bits=null,this.texturePerPolygonIdIndices8Bits=null,this.texturePerPolygonIdIndices16Bits=null,this.texturePerPolygonIdIndices32Bits=null,this.texturePerPolygonIdEdgeIndices8Bits=null,this.texturePerPolygonIdEdgeIndices16Bits=null,this.texturePerPolygonIdEdgeIndices32Bits=null,this.textureModelMatrices=null}finalize(){this.indicesPerBitnessTextures={8:this.texturePerPolygonIdIndices8Bits,16:this.texturePerPolygonIdIndices16Bits,32:this.texturePerPolygonIdIndices32Bits},this.indicesPortionIdsPerBitnessTextures={8:this.texturePerPolygonIdPortionIds8Bits,16:this.texturePerPolygonIdPortionIds16Bits,32:this.texturePerPolygonIdPortionIds32Bits},this.edgeIndicesPerBitnessTextures={8:this.texturePerPolygonIdEdgeIndices8Bits,16:this.texturePerPolygonIdEdgeIndices16Bits,32:this.texturePerPolygonIdEdgeIndices32Bits},this.edgeIndicesPortionIdsPerBitnessTextures={8:this.texturePerEdgeIdPortionIds8Bits,16:this.texturePerEdgeIdPortionIds16Bits,32:this.texturePerEdgeIdPortionIds32Bits}}bindCommonTextures(e,t,s,n,i){this.texturePerObjectPositionsDecodeMatrix.bindTexture(e,t,1),this.texturePerVertexIdCoordinates.bindTexture(e,s,2),this.texturePerObjectColorsAndFlags.bindTexture(e,n,3),this.texturePerObjectInstanceMatrices.bindTexture(e,i,4)}bindTriangleIndicesTextures(e,t,s,n){this.indicesPortionIdsPerBitnessTextures[n].bindTexture(e,t,5),this.indicesPerBitnessTextures[n].bindTexture(e,s,6)}bindEdgeIndicesTextures(e,t,s,n){this.edgeIndicesPortionIdsPerBitnessTextures[n].bindTexture(e,t,5),this.edgeIndicesPerBitnessTextures[n].bindTexture(e,s,6)}}class _u{constructor(e,t,s,n,i=null){this._gl=e,this._texture=t,this._textureWidth=s,this._textureHeight=n,this._textureData=i}bindTexture(e,t,s){return e.bindTexture(t,this,s)}bind(e){return this._gl.activeTexture(this._gl["TEXTURE"+e]),this._gl.bindTexture(this._gl.TEXTURE_2D,this._texture),!0}unbind(e){}}const Bu={sizeDataColorsAndFlags:0,sizeDataPositionDecodeMatrices:0,sizeDataTextureOffsets:0,sizeDataTexturePositions:0,sizeDataTextureIndices:0,sizeDataTextureEdgeIndices:0,sizeDataTexturePortionIds:0,numberOfGeometries:0,numberOfPortions:0,numberOfLayers:0,numberOfTextures:0,totalPolygons:0,totalPolygons8Bits:0,totalPolygons16Bits:0,totalPolygons32Bits:0,totalEdges:0,totalEdges8Bits:0,totalEdges16Bits:0,totalEdges32Bits:0,cannotCreatePortion:{because10BitsObjectId:0,becauseTextureSize:0},overheadSizeAlignementIndices:0,overheadSizeAlignementEdgeIndices:0};window.printDataTextureRamStats=function(){console.log(JSON.stringify(Bu,null,4));let e=0;Object.keys(Bu).forEach((t=>{t.startsWith("size")&&(e+=Bu[t])})),console.log(`Total size ${e} bytes (${(e/1e3/1e3).toFixed(2)} MB)`),console.log(`Avg bytes / triangle: ${(e/Bu.totalPolygons).toFixed(2)}`);let t={};Object.keys(Bu).forEach((s=>{s.startsWith("size")&&(t[s]=`${(Bu[s]/e*100).toFixed(2)} % of total`)})),console.log(JSON.stringify({percentualRamUsage:t},null,4))};class Ou{disableBindedTextureFiltering(e){e.texParameteri(e.TEXTURE_2D,e.TEXTURE_MAG_FILTER,e.NEAREST),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_MIN_FILTER,e.NEAREST),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_WRAP_S,e.CLAMP_TO_EDGE),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_WRAP_T,e.CLAMP_TO_EDGE)}generateTextureForColorsAndFlags(e,t,s,n,i,a,r){const l=t.length;this.numPortions=l;const o=4096,c=Math.ceil(l/512);if(0===c)throw"texture height===0";const u=new Uint8Array(16384*c);Bu.sizeDataColorsAndFlags+=u.byteLength,Bu.numberOfTextures++;for(let e=0;e>24&255,n[e]>>16&255,n[e]>>8&255,255&n[e]],32*e+16),u.set([i[e]>>24&255,i[e]>>16&255,i[e]>>8&255,255&i[e]],32*e+20),u.set([a[e]>>24&255,a[e]>>16&255,a[e]>>8&255,255&a[e]],32*e+24),u.set([r[e]?1:0,0,0,0],32*e+28);const h=e.createTexture();return e.bindTexture(e.TEXTURE_2D,h),e.texStorage2D(e.TEXTURE_2D,1,e.RGBA8UI,o,c),e.texSubImage2D(e.TEXTURE_2D,0,0,0,o,c,e.RGBA_INTEGER,e.UNSIGNED_BYTE,u,0),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_MAG_FILTER,e.NEAREST),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_MIN_FILTER,e.NEAREST),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_WRAP_S,e.CLAMP_TO_EDGE),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_WRAP_T,e.CLAMP_TO_EDGE),e.bindTexture(e.TEXTURE_2D,null),new _u(e,h,o,c,u)}generateTextureForObjectOffsets(e,t){const s=512,n=Math.ceil(t/s);if(0===n)throw"texture height===0";const i=new Float32Array(1536*n).fill(0);Bu.sizeDataTextureOffsets+=i.byteLength,Bu.numberOfTextures++;const a=e.createTexture();return e.bindTexture(e.TEXTURE_2D,a),e.texStorage2D(e.TEXTURE_2D,1,e.RGB32F,s,n),e.texSubImage2D(e.TEXTURE_2D,0,0,0,s,n,e.RGB,e.FLOAT,i,0),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_MAG_FILTER,e.NEAREST),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_MIN_FILTER,e.NEAREST),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_WRAP_S,e.CLAMP_TO_EDGE),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_WRAP_T,e.CLAMP_TO_EDGE),e.bindTexture(e.TEXTURE_2D,null),new _u(e,a,s,n,i)}generateTextureForInstancingMatrices(e,t){const s=t.length;if(0===s)throw"num instance matrices===0";const n=2048,i=Math.ceil(s/512),a=new Float32Array(8192*i);Bu.numberOfTextures++;for(let e=0;e{s._compile(),s.eagerCreateRenders()})),e.on("destroyed",(()=>{delete Pu[t],s._destroy()}))),s}(e.scene),this.model=e,this._buffer=new Ru,this._dataTextureState=new Cu,this._dataTextureGenerator=new Ou,this._state=new it({origin:A.vec3(t.origin),metallicRoughnessBuf:null,textureState:this._dataTextureState,numIndices8Bits:0,numIndices16Bits:0,numIndices32Bits:0,numEdgeIndices8Bits:0,numEdgeIndices16Bits:0,numEdgeIndices32Bits:0,numVertices:0}),this._numPortions=0,this._numVisibleLayerPortions=0,this._numTransparentLayerPortions=0,this._numXRayedLayerPortions=0,this._numSelectedLayerPortions=0,this._numHighlightedLayerPortions=0,this._numClippableLayerPortions=0,this._numEdgesLayerPortions=0,this._numPickableLayerPortions=0,this._numCulledLayerPortions=0,this._subPortions=[],this._portionToSubPortionsMap=[],this._bucketGeometries={},this._meshes=[],this._aabb=A.collapseAABB3(),this.aabbDirty=!0,this._numUpdatesInFrame=0,this._finalized=!1}get aabb(){if(this.aabbDirty){A.collapseAABB3(this._aabb);for(let e=0,t=this._meshes.length;e65536&&Bu.cannotCreatePortion.because10BitsObjectId++;let s=this._numPortions+t<=65536;const n=void 0!==e.geometryId&&null!==e.geometryId?`${e.geometryId}#0`:`${e.id}#0`;if(!this._bucketGeometries[n]){const t=Math.max(this._state.numIndices8Bits,this._state.numIndices16Bits,this._state.numIndices32Bits);let n=0,i=0;e.buckets.forEach((e=>{n+=e.positionsCompressed.length/3,i+=e.indices.length/3})),(this._state.numVertices+n>16777216||t+i>16777216)&&Bu.cannotCreatePortion.becauseTextureSize++,s&&=this._state.numVertices+n<=16777216&&t+i<=16777216}return s}createPortion(e,t){if(this._finalized)throw"Already finalized";const s=[];t.buckets.forEach(((e,n)=>{const i=void 0!==t.geometryId&&null!==t.geometryId?`${t.geometryId}#${n}`:`${t.id}#${n}`;let a=this._bucketGeometries[i];a||(a=this._createBucketGeometry(t,e),this._bucketGeometries[i]=a);const r=this._createSubPortion(t,a,e);s.push(r)}));const n=this._portionToSubPortionsMap.length;return this._portionToSubPortionsMap.push(s),this.model.numPortions++,this._meshes.push(e),n}_createBucketGeometry(e,t){if(t.indices){const e=8*Math.ceil(t.indices.length/3/8)*3;Bu.overheadSizeAlignementIndices+=2*(e-t.indices.length);const s=new Uint32Array(e);s.fill(0),s.set(t.indices),t.indices=s}if(t.edgeIndices){const e=8*Math.ceil(t.edgeIndices.length/2/8)*2;Bu.overheadSizeAlignementEdgeIndices+=2*(e-t.edgeIndices.length);const s=new Uint32Array(e);s.fill(0),s.set(t.edgeIndices),t.edgeIndices=s}const s=t.positionsCompressed,n=t.indices,i=t.edgeIndices,a=this._buffer;a.positionsCompressed.push(s);const r=a.lenPositionsCompressed/3,l=s.length/3;let o;a.lenPositionsCompressed+=s.length;let c,u=0;if(n){let e;u=n.length/3,l<=256?(e=a.indices8Bits,o=a.lenIndices8Bits/3,a.lenIndices8Bits+=n.length):l<=65536?(e=a.indices16Bits,o=a.lenIndices16Bits/3,a.lenIndices16Bits+=n.length):(e=a.indices32Bits,o=a.lenIndices32Bits/3,a.lenIndices32Bits+=n.length),e.push(n)}let h=0;if(i){let e;h=i.length/2,l<=256?(e=a.edgeIndices8Bits,c=a.lenEdgeIndices8Bits/2,a.lenEdgeIndices8Bits+=i.length):l<=65536?(e=a.edgeIndices16Bits,c=a.lenEdgeIndices16Bits/2,a.lenEdgeIndices16Bits+=i.length):(e=a.edgeIndices32Bits,c=a.lenEdgeIndices32Bits/2,a.lenEdgeIndices32Bits+=i.length),e.push(i)}this._state.numVertices+=l,Bu.numberOfGeometries++;return{vertexBase:r,numVertices:l,numTriangles:u,numEdges:h,indicesBase:o,edgeIndicesBase:c,obb:null}}_createSubPortion(e,t,s,n){const i=e.color;e.metallic,e.roughness;const a=e.colors,r=e.opacity,l=e.meshMatrix,o=e.pickColor,c=this._buffer,u=this._state;c.perObjectPositionsDecodeMatrices.push(e.positionsDecodeMatrix),c.perObjectInstancePositioningMatrices.push(l||Mu),c.perObjectSolid.push(!!e.solid),a?c.perObjectColors.push([255*a[0],255*a[1],255*a[2],255]):i&&c.perObjectColors.push([i[0],i[1],i[2],r]),c.perObjectPickColors.push(o),c.perObjectVertexBases.push(t.vertexBase);{let e;e=t.numVertices<=256?u.numIndices8Bits:t.numVertices<=65536?u.numIndices16Bits:u.numIndices32Bits,c.perObjectIndexBaseOffsets.push(e/3-t.indicesBase)}{let e;e=t.numVertices<=256?u.numEdgeIndices8Bits:t.numVertices<=65536?u.numEdgeIndices16Bits:u.numEdgeIndices32Bits,c.perObjectEdgeIndexBaseOffsets.push(e/2-t.edgeIndicesBase)}const h=this._subPortions.length;if(t.numTriangles>0){let e,s=3*t.numTriangles;t.numVertices<=256?(e=c.perTriangleNumberPortionId8Bits,u.numIndices8Bits+=s,Bu.totalPolygons8Bits+=t.numTriangles):t.numVertices<=65536?(e=c.perTriangleNumberPortionId16Bits,u.numIndices16Bits+=s,Bu.totalPolygons16Bits+=t.numTriangles):(e=c.perTriangleNumberPortionId32Bits,u.numIndices32Bits+=s,Bu.totalPolygons32Bits+=t.numTriangles),Bu.totalPolygons+=t.numTriangles;for(let s=0;s0){let e,s=2*t.numEdges;t.numVertices<=256?(e=c.perEdgeNumberPortionId8Bits,u.numEdgeIndices8Bits+=s,Bu.totalEdges8Bits+=t.numEdges):t.numVertices<=65536?(e=c.perEdgeNumberPortionId16Bits,u.numEdgeIndices16Bits+=s,Bu.totalEdges16Bits+=t.numEdges):(e=c.perEdgeNumberPortionId32Bits,u.numEdgeIndices32Bits+=s,Bu.totalEdges32Bits+=t.numEdges),Bu.totalEdges+=t.numEdges;for(let s=0;s0&&(t.texturePerEdgeIdPortionIds8Bits=this._dataTextureGenerator.generateTextureForPackedPortionIds(s,n.perEdgeNumberPortionId8Bits)),n.perEdgeNumberPortionId16Bits.length>0&&(t.texturePerEdgeIdPortionIds16Bits=this._dataTextureGenerator.generateTextureForPackedPortionIds(s,n.perEdgeNumberPortionId16Bits)),n.perEdgeNumberPortionId32Bits.length>0&&(t.texturePerEdgeIdPortionIds32Bits=this._dataTextureGenerator.generateTextureForPackedPortionIds(s,n.perEdgeNumberPortionId32Bits)),n.lenIndices8Bits>0&&(t.texturePerPolygonIdIndices8Bits=this._dataTextureGenerator.generateTextureFor8BitIndices(s,n.indices8Bits,n.lenIndices8Bits)),n.lenIndices16Bits>0&&(t.texturePerPolygonIdIndices16Bits=this._dataTextureGenerator.generateTextureFor16BitIndices(s,n.indices16Bits,n.lenIndices16Bits)),n.lenIndices32Bits>0&&(t.texturePerPolygonIdIndices32Bits=this._dataTextureGenerator.generateTextureFor32BitIndices(s,n.indices32Bits,n.lenIndices32Bits)),n.lenEdgeIndices8Bits>0&&(t.texturePerPolygonIdEdgeIndices8Bits=this._dataTextureGenerator.generateTextureFor8BitsEdgeIndices(s,n.edgeIndices8Bits,n.lenEdgeIndices8Bits)),n.lenEdgeIndices16Bits>0&&(t.texturePerPolygonIdEdgeIndices16Bits=this._dataTextureGenerator.generateTextureFor16BitsEdgeIndices(s,n.edgeIndices16Bits,n.lenEdgeIndices16Bits)),n.lenEdgeIndices32Bits>0&&(t.texturePerPolygonIdEdgeIndices32Bits=this._dataTextureGenerator.generateTextureFor32BitsEdgeIndices(s,n.edgeIndices32Bits,n.lenEdgeIndices32Bits)),t.finalize(),this._buffer=null,this._bucketGeometries={},this._finalized=!0,this._deferredSetFlagsDirty=!1,this._onSceneRendering=this.model.scene.on("rendering",(()=>{this._deferredSetFlagsDirty&&this._uploadDeferredFlags(),this._numUpdatesInFrame=0}))}isEmpty(){return 0===this._numPortions}initFlags(e,t,s){t&X&&(this._numVisibleLayerPortions++,this.model.numVisibleLayerPortions++),t&te&&(this._numHighlightedLayerPortions++,this.model.numHighlightedLayerPortions++),t&ee&&(this._numXRayedLayerPortions++,this.model.numXRayedLayerPortions++),t&se&&(this._numSelectedLayerPortions++,this.model.numSelectedLayerPortions++),t&Z&&(this._numClippableLayerPortions++,this.model.numClippableLayerPortions++),t&ne&&(this._numEdgesLayerPortions++,this.model.numEdgesLayerPortions++),t&J&&(this._numPickableLayerPortions++,this.model.numPickableLayerPortions++),t&q&&(this._numCulledLayerPortions++,this.model.numCulledLayerPortions++),s&&(this._numTransparentLayerPortions++,this.model.numTransparentLayerPortions++);this._setFlags(e,t,s,true),this._setFlags2(e,t,true)}flushInitFlags(){this._setDeferredFlags(),this._setDeferredFlags2()}setVisible(e,t,s){if(!this._finalized)throw"Not finalized";t&X?(this._numVisibleLayerPortions++,this.model.numVisibleLayerPortions++):(this._numVisibleLayerPortions--,this.model.numVisibleLayerPortions--),this._setFlags(e,t,s)}setHighlighted(e,t,s){if(!this._finalized)throw"Not finalized";t&te?(this._numHighlightedLayerPortions++,this.model.numHighlightedLayerPortions++):(this._numHighlightedLayerPortions--,this.model.numHighlightedLayerPortions--),this._setFlags(e,t,s)}setXRayed(e,t,s){if(!this._finalized)throw"Not finalized";t&ee?(this._numXRayedLayerPortions++,this.model.numXRayedLayerPortions++):(this._numXRayedLayerPortions--,this.model.numXRayedLayerPortions--),this._setFlags(e,t,s)}setSelected(e,t,s){if(!this._finalized)throw"Not finalized";t&se?(this._numSelectedLayerPortions++,this.model.numSelectedLayerPortions++):(this._numSelectedLayerPortions--,this.model.numSelectedLayerPortions--),this._setFlags(e,t,s)}setEdges(e,t,s){if(!this._finalized)throw"Not finalized";t&ne?(this._numEdgesLayerPortions++,this.model.numEdgesLayerPortions++):(this._numEdgesLayerPortions--,this.model.numEdgesLayerPortions--),this._setFlags(e,t,s)}setClippable(e,t){if(!this._finalized)throw"Not finalized";t&Z?(this._numClippableLayerPortions++,this.model.numClippableLayerPortions++):(this._numClippableLayerPortions--,this.model.numClippableLayerPortions--),this._setFlags2(e,t)}_beginDeferredFlags(){this._deferredSetFlagsActive=!0}_uploadDeferredFlags(){if(console.info("_uploadDeferredFlags"),this._deferredSetFlagsActive=!1,!this._deferredSetFlagsDirty)return;this._deferredSetFlagsDirty=!1;const e=this.model.scene.canvas.gl,t=this._dataTextureState;e.bindTexture(e.TEXTURE_2D,t.texturePerObjectColorsAndFlags._texture),e.texSubImage2D(e.TEXTURE_2D,0,0,0,t.texturePerObjectColorsAndFlags._textureWidth,t.texturePerObjectColorsAndFlags._textureHeight,e.RGBA_INTEGER,e.UNSIGNED_BYTE,t.texturePerObjectColorsAndFlags._textureData)}setCulled(e,t,s){if(!this._finalized)throw"Not finalized";t&q?(this._numCulledLayerPortions+=this._portionToSubPortionsMap[e].length,this.model.numCulledLayerPortions++):(this._numCulledLayerPortions-=this._portionToSubPortionsMap[e].length,this.model.numCulledLayerPortions--),this._setFlags(e,t,s)}setCollidable(e,t){if(!this._finalized)throw"Not finalized"}setPickable(e,t,s){if(!this._finalized)throw"Not finalized";t&J?(this._numPickableLayerPortions++,this.model.numPickableLayerPortions++):(this._numPickableLayerPortions--,this.model.numPickableLayerPortions--),this._setFlags(e,t,s)}setColor(e,t){const s=this._portionToSubPortionsMap[e];for(let e=0,n=s.length;e=10&&this._beginDeferredFlags(),console.info("_subPortionSetColor write through"),n.bindTexture(n.TEXTURE_2D,s.texturePerObjectColorsAndFlags._texture),n.texSubImage2D(n.TEXTURE_2D,0,e%512*8,Math.floor(e/512),1,1,n.RGBA_INTEGER,n.UNSIGNED_BYTE,Nu)}setTransparent(e,t,s){s?(this._numTransparentLayerPortions++,this.model.numTransparentLayerPortions++):(this._numTransparentLayerPortions--,this.model.numTransparentLayerPortions--),this._setFlags(e,t,s)}_setFlags(e,t,s,n=!1){const i=this._portionToSubPortionsMap[e];for(let e=0,a=i.length;e=10&&this._beginDeferredFlags(),d.bindTexture(d.TEXTURE_2D,A.texturePerObjectColorsAndFlags._texture),d.texSubImage2D(d.TEXTURE_2D,0,e%512*8+2,Math.floor(e/512),1,1,d.RGBA_INTEGER,d.UNSIGNED_BYTE,Nu))}_setDeferredFlags(){}_setFlags2(e,t,s=!1){const n=this._portionToSubPortionsMap[e];for(let e=0,i=n.length;e=10&&this._beginDeferredFlags(),a.bindTexture(a.TEXTURE_2D,i.texturePerObjectColorsAndFlags._texture),a.texSubImage2D(a.TEXTURE_2D,0,e%512*8+3,Math.floor(e/512),1,1,a.RGBA_INTEGER,a.UNSIGNED_BYTE,Nu))}_setDeferredFlags2(){}setOffset(e,t){const s=this._portionToSubPortionsMap[e];for(let e=0,n=s.length;e=10&&this._beginDeferredFlags(),n.bindTexture(n.TEXTURE_2D,s.texturePerObjectOffsets._texture),n.texSubImage2D(n.TEXTURE_2D,0,0,e,1,1,n.RGB,n.FLOAT,xu))}setMatrix(e,t){const s=this._portionToSubPortionsMap[e];for(let e=0,n=s.length;e=10&&this._beginDeferredFlags(),n.bindTexture(n.TEXTURE_2D,s.texturePerObjectInstanceMatrices._texture),n.texSubImage2D(n.TEXTURE_2D,0,e%512*4,Math.floor(e/512),4,1,n.RGBA,n.FLOAT,Su))}drawColorOpaque(e,t){this._numCulledLayerPortions!==this._numPortions&&0!==this._numVisibleLayerPortions&&this._numTransparentLayerPortions!==this._numPortions&&this._numXRayedLayerPortions!==this._numPortions&&(this._updateBackfaceCull(e,t),t.withSAO&&this.model.saoEnabled?this._dataTextureRenderers.colorRendererWithSAO&&this._dataTextureRenderers.colorRendererWithSAO.drawLayer(t,this,lr.COLOR_OPAQUE):this._dataTextureRenderers.colorRenderer&&this._dataTextureRenderers.colorRenderer.drawLayer(t,this,lr.COLOR_OPAQUE))}_updateBackfaceCull(e,t){const s=this.model.backfaces||e.sectioned;if(t.backfaces!==s){const e=t.gl;s?e.disable(e.CULL_FACE):e.enable(e.CULL_FACE),t.backfaces=s}}drawColorTransparent(e,t){this._numCulledLayerPortions!==this._numPortions&&0!==this._numVisibleLayerPortions&&0!==this._numTransparentLayerPortions&&this._numXRayedLayerPortions!==this._numPortions&&(this._updateBackfaceCull(e,t),this._dataTextureRenderers.colorRenderer&&this._dataTextureRenderers.colorRenderer.drawLayer(t,this,lr.COLOR_TRANSPARENT))}drawDepth(e,t){this._numCulledLayerPortions!==this._numPortions&&0!==this._numVisibleLayerPortions&&this._numTransparentLayerPortions!==this._numPortions&&this._numXRayedLayerPortions!==this._numPortions&&(this._updateBackfaceCull(e,t),this._dataTextureRenderers.depthRenderer&&this._dataTextureRenderers.depthRenderer.drawLayer(t,this,lr.COLOR_OPAQUE))}drawNormals(e,t){this._numCulledLayerPortions!==this._numPortions&&0!==this._numVisibleLayerPortions&&this._numTransparentLayerPortions!==this._numPortions&&this._numXRayedLayerPortions!==this._numPortions&&(this._updateBackfaceCull(e,t),this._dataTextureRenderers.normalsRenderer&&this._dataTextureRenderers.normalsRenderer.drawLayer(t,this,lr.COLOR_OPAQUE))}drawSilhouetteXRayed(e,t){this._numCulledLayerPortions!==this._numPortions&&0!==this._numVisibleLayerPortions&&0!==this._numXRayedLayerPortions&&(this._updateBackfaceCull(e,t),this._dataTextureRenderers.silhouetteRenderer&&this._dataTextureRenderers.silhouetteRenderer.drawLayer(t,this,lr.SILHOUETTE_XRAYED))}drawSilhouetteHighlighted(e,t){this._numCulledLayerPortions!==this._numPortions&&0!==this._numVisibleLayerPortions&&0!==this._numHighlightedLayerPortions&&(this._updateBackfaceCull(e,t),this._dataTextureRenderers.silhouetteRenderer&&this._dataTextureRenderers.silhouetteRenderer.drawLayer(t,this,lr.SILHOUETTE_HIGHLIGHTED))}drawSilhouetteSelected(e,t){this._numCulledLayerPortions!==this._numPortions&&0!==this._numVisibleLayerPortions&&0!==this._numSelectedLayerPortions&&(this._updateBackfaceCull(e,t),this._dataTextureRenderers.silhouetteRenderer&&this._dataTextureRenderers.silhouetteRenderer.drawLayer(t,this,lr.SILHOUETTE_SELECTED))}drawEdgesColorOpaque(e,t){this.model.scene.logarithmicDepthBufferEnabled?this.model.scene._loggedWarning||(console.log("Edge enhancement for SceneModel data texture layers currently disabled with logarithmic depth buffer"),this.model.scene._loggedWarning=!0):this._numCulledLayerPortions!==this._numPortions&&0!==this._numVisibleLayerPortions&&0!==this._numEdgesLayerPortions&&this._dataTextureRenderers.edgesColorRenderer&&this._dataTextureRenderers.edgesColorRenderer.drawLayer(t,this,lr.EDGES_COLOR_OPAQUE)}drawEdgesColorTransparent(e,t){this._numCulledLayerPortions!==this._numPortions&&0!==this._numVisibleLayerPortions&&0!==this._numEdgesLayerPortions&&0!==this._numTransparentLayerPortions&&this._dataTextureRenderers.edgesColorRenderer&&this._dataTextureRenderers.edgesColorRenderer.drawLayer(t,this,lr.EDGES_COLOR_TRANSPARENT)}drawEdgesHighlighted(e,t){this._numCulledLayerPortions!==this._numPortions&&0!==this._numVisibleLayerPortions&&0!==this._numHighlightedLayerPortions&&this._dataTextureRenderers.edgesRenderer&&this._dataTextureRenderers.edgesRenderer.drawLayer(t,this,lr.EDGES_HIGHLIGHTED)}drawEdgesSelected(e,t){this._numCulledLayerPortions!==this._numPortions&&0!==this._numVisibleLayerPortions&&0!==this._numSelectedLayerPortions&&this._dataTextureRenderers.edgesRenderer&&this._dataTextureRenderers.edgesRenderer.drawLayer(t,this,lr.EDGES_SELECTED)}drawEdgesXRayed(e,t){this._numCulledLayerPortions!==this._numPortions&&0!==this._numVisibleLayerPortions&&0!==this._numXRayedLayerPortions&&this._dataTextureRenderers.edgesRenderer&&this._dataTextureRenderers.edgesRenderer.drawLayer(t,this,lr.EDGES_XRAYED)}drawOcclusion(e,t){this._numCulledLayerPortions!==this._numPortions&&0!==this._numVisibleLayerPortions&&(this._updateBackfaceCull(e,t),this._dataTextureRenderers.occlusionRenderer&&this._dataTextureRenderers.occlusionRenderer.drawLayer(t,this,lr.COLOR_OPAQUE))}drawShadow(e,t){this._numCulledLayerPortions!==this._numPortions&&0!==this._numVisibleLayerPortions&&(this._updateBackfaceCull(e,t),this._dataTextureRenderers.shadowRenderer&&this._dataTextureRenderers.shadowRenderer.drawLayer(t,this,lr.COLOR_OPAQUE))}setPickMatrices(e,t){}drawPickMesh(e,t){0!==this._numVisibleLayerPortions&&(this._updateBackfaceCull(e,t),this._dataTextureRenderers.pickMeshRenderer&&this._dataTextureRenderers.pickMeshRenderer.drawLayer(t,this,lr.PICK))}drawPickDepths(e,t){0!==this._numVisibleLayerPortions&&(this._updateBackfaceCull(e,t),this._dataTextureRenderers.pickDepthRenderer&&this._dataTextureRenderers.pickDepthRenderer.drawLayer(t,this,lr.PICK))}drawSnapInitDepthBuf(e,t){this._numCulledLayerPortions!==this._numPortions&&0!==this._numVisibleLayerPortions&&(this._updateBackfaceCull(e,t),this._dataTextureRenderers.snapDepthBufInitRenderer&&this._dataTextureRenderers.snapDepthBufInitRenderer.drawLayer(t,this,lr.PICK))}drawSnapDepths(e,t){this._numCulledLayerPortions!==this._numPortions&&0!==this._numVisibleLayerPortions&&(this._updateBackfaceCull(e,t),this._dataTextureRenderers.vertexDepthRenderer&&this._dataTextureRenderers.vertexDepthRenderer.drawLayer(t,this,lr.PICK))}drawPickNormals(e,t){this._numCulledLayerPortions!==this._numPortions&&0!==this._numVisibleLayerPortions&&(this._updateBackfaceCull(e,t),this._dataTextureRenderers.pickNormalsRenderer&&this._dataTextureRenderers.pickNormalsRenderer.drawLayer(t,this,lr.PICK))}destroy(){if(this._destroyed)return;const e=this._state;e.metallicRoughnessBuf&&(e.metallicRoughnessBuf.destroy(),e.metallicRoughnessBuf=null),this.model.scene.off(this._onSceneRendering),e.destroy(),this._destroyed=!0}}const Hu=A.vec4(4),Uu=A.vec4(),Gu=A.vec4(),ju=A.vec3([1,0,0]),Vu=A.vec3([0,1,0]),ku=A.vec3([0,0,1]);A.vec3(3),A.vec3(3);const Qu=A.identityMat4();class Wu{constructor(e){this._model=e.model,this.id=e.id,this._parentTransform=e.parent,this._childTransforms=[],this._meshes=[],this._scale=new Float32Array([1,1,1]),this._quaternion=A.identityQuaternion(new Float32Array(4)),this._rotation=new Float32Array(3),this._position=new Float32Array(3),this._localMatrix=A.identityMat4(new Float32Array(16)),this._worldMatrix=A.identityMat4(new Float32Array(16)),this._localMatrixDirty=!0,this._worldMatrixDirty=!0,e.matrix?this.matrix=e.matrix:(this.scale=e.scale,this.position=e.position,e.quaternion||(this.rotation=e.rotation)),e.parent&&e.parent._addChildTransform(this)}_addChildTransform(e){this._childTransforms.push(e),e._parentTransform=this,e._setWorldMatrixDirty(),e._setAABBDirty()}_addMesh(e){this._meshes.push(e),e.transform=this}get parentTransform(){return this._parentTransform}get meshes(){return this._meshes}set position(e){this._position.set(e||[0,0,0]),this._setLocalMatrixDirty(),this._model.glRedraw()}get position(){return this._position}set rotation(e){this._rotation.set(e||[0,0,0]),A.eulerToQuaternion(this._rotation,"XYZ",this._quaternion),this._setLocalMatrixDirty(),this._model.glRedraw()}get rotation(){return this._rotation}set quaternion(e){this._quaternion.set(e||[0,0,0,1]),A.quaternionToEuler(this._quaternion,"XYZ",this._rotation),this._setLocalMatrixDirty(),this._model.glRedraw()}get quaternion(){return this._quaternion}set scale(e){this._scale.set(e||[1,1,1]),this._setLocalMatrixDirty(),this._model.glRedraw()}get scale(){return this._scale}set matrix(e){this._localMatrix||(this._localMatrix=A.identityMat4()),this._localMatrix.set(e||Qu),A.decomposeMat4(this._localMatrix,this._position,this._quaternion,this._scale),this._localMatrixDirty=!1,this._transformDirty(),this._model.glRedraw()}get matrix(){return this._localMatrixDirty&&(this._localMatrix||(this._localMatrix=A.identityMat4()),A.composeMat4(this._position,this._quaternion,this._scale,this._localMatrix),this._localMatrixDirty=!1),this._localMatrix}get worldMatrix(){return this._worldMatrixDirty&&this._buildWorldMatrix(),this._worldMatrix}rotate(e,t){return Hu[0]=e[0],Hu[1]=e[1],Hu[2]=e[2],Hu[3]=t*A.DEGTORAD,A.angleAxisToQuaternion(Hu,Uu),A.mulQuaternions(this.quaternion,Uu,Gu),this.quaternion=Gu,this._setLocalMatrixDirty(),this._model.glRedraw(),this}rotateOnWorldAxis(e,t){return Hu[0]=e[0],Hu[1]=e[1],Hu[2]=e[2],Hu[3]=t*A.DEGTORAD,A.angleAxisToQuaternion(Hu,Uu),A.mulQuaternions(Uu,this.quaternion,Uu),this}rotateX(e){return this.rotate(ju,e)}rotateY(e){return this.rotate(Vu,e)}rotateZ(e){return this.rotate(ku,e)}translate(e){return this._position[0]+=e[0],this._position[1]+=e[1],this._position[2]+=e[2],this._setLocalMatrixDirty(),this._model.glRedraw(),this}translateX(e){return this._position[0]+=e,this._setLocalMatrixDirty(),this._model.glRedraw(),this}translateY(e){return this._position[1]+=e,this._setLocalMatrixDirty(),this._model.glRedraw(),this}translateZ(e){return this._position[2]+=e,this._setLocalMatrixDirty(),this._model.glRedraw(),this}_setLocalMatrixDirty(){this._localMatrixDirty=!0,this._transformDirty()}_transformDirty(){this._worldMatrixDirty=!0;for(let e=0,t=this._childTransforms.length;e0){const e=t._meshes;for(let t=0,s=e.length;t0){const e=this._meshes;for(let t=0,s=e.length;t{this._viewMatrixDirty=!0})),this._meshesWithDirtyMatrices=[],this._numMeshesWithDirtyMatrices=0,this._onTick=this.scene.on("tick",(()=>{for(;this._numMeshesWithDirtyMatrices>0;)this._meshesWithDirtyMatrices[--this._numMeshesWithDirtyMatrices]._updateMatrix()})),this._createDefaultTextureSet(),this.visible=t.visible,this.culled=t.culled,this.pickable=t.pickable,this.clippable=t.clippable,this.collidable=t.collidable,this.castsShadow=t.castsShadow,this.receivesShadow=t.receivesShadow,this.xrayed=t.xrayed,this.highlighted=t.highlighted,this.selected=t.selected,this.edges=t.edges,this.colorize=t.colorize,this.opacity=t.opacity,this.backfaces=t.backfaces}_meshMatrixDirty(e){this._meshesWithDirtyMatrices[this._numMeshesWithDirtyMatrices++]=e}_createDefaultTextureSet(){const e=new Xo({id:"defaultColorTexture",texture:new Fi({gl:this.scene.canvas.gl,preloadColor:[1,1,1,1]})}),t=new Xo({id:"defaultMetalRoughTexture",texture:new Fi({gl:this.scene.canvas.gl,preloadColor:[0,1,1,1]})}),s=new Xo({id:"defaultNormalsTexture",texture:new Fi({gl:this.scene.canvas.gl,preloadColor:[0,0,0,0]})}),n=new Xo({id:"defaultEmissiveTexture",texture:new Fi({gl:this.scene.canvas.gl,preloadColor:[0,0,0,1]})}),i=new Xo({id:"defaultOcclusionTexture",texture:new Fi({gl:this.scene.canvas.gl,preloadColor:[1,1,1,1]})});this._textures.defaultColorTexture=e,this._textures.defaultMetalRoughTexture=t,this._textures.defaultNormalsTexture=s,this._textures.defaultEmissiveTexture=n,this._textures.defaultOcclusionTexture=i,this._textureSets.defaultTextureSet=new Yo({id:"defaultTextureSet",model:this,colorTexture:e,metallicRoughnessTexture:t,normalsTexture:s,emissiveTexture:n,occlusionTexture:i})}get isPerformanceModel(){return!0}get transforms(){return this._transforms}get textures(){return this._textures}get textureSets(){return this._textureSets}get meshes(){return this._meshes}get objects(){return this._entities}get origin(){return this._origin}set position(e){this._position.set(e||[0,0,0]),this._setWorldMatrixDirty(),this._sceneModelDirty(),this.glRedraw()}get position(){return this._position}set rotation(e){this._rotation.set(e||[0,0,0]),A.eulerToQuaternion(this._rotation,"XYZ",this._quaternion),this._setWorldMatrixDirty(),this._sceneModelDirty(),this.glRedraw()}get rotation(){return this._rotation}set quaternion(e){this._quaternion.set(e||[0,0,0,1]),A.quaternionToEuler(this._quaternion,"XYZ",this._rotation),this._setWorldMatrixDirty(),this._sceneModelDirty(),this.glRedraw()}get quaternion(){return this._quaternion}set scale(e){}get scale(){return this._scale}set matrix(e){this._matrix.set(e||Zu),A.quaternionToRotationMat4(this._quaternion,this._worldRotationMatrix),A.conjugateQuaternion(this._quaternion,this._conjugateQuaternion),A.quaternionToRotationMat4(this._quaternion,this._worldRotationMatrixConjugate),this._matrix.set(this._worldRotationMatrix),A.translateMat4v(this._position,this._matrix),this._matrixDirty=!1,this._setWorldMatrixDirty(),this._sceneModelDirty(),this.glRedraw()}get matrix(){return this._matrixDirty&&this._rebuildMatrices(),this._matrix}get rotationMatrix(){return this._matrixDirty&&this._rebuildMatrices(),this._worldRotationMatrix}_rebuildMatrices(){this._matrixDirty&&(A.quaternionToRotationMat4(this._quaternion,this._worldRotationMatrix),A.conjugateQuaternion(this._quaternion,this._conjugateQuaternion),A.quaternionToRotationMat4(this._quaternion,this._worldRotationMatrixConjugate),this._matrix.set(this._worldRotationMatrix),A.translateMat4v(this._position,this._matrix),this._matrixDirty=!1)}get rotationMatrixConjugate(){return this._matrixDirty&&this._rebuildMatrices(),this._worldRotationMatrixConjugate}_setWorldMatrixDirty(){this._matrixDirty=!0,this._aabbDirty=!0}_transformDirty(){this._matrixDirty=!0,this._aabbDirty=!0,this.scene._aabbDirty=!0}_sceneModelDirty(){this.scene._aabbDirty=!0,this._aabbDirty=!0,this.scene._aabbDirty=!0,this._matrixDirty=!0;for(let e=0,t=this._entityList.length;e0}set visible(e){e=!1!==e,this._visible=e;for(let t=0,s=this._entityList.length;t0}set xrayed(e){e=!!e,this._xrayed=e;for(let t=0,s=this._entityList.length;t0}set highlighted(e){e=!!e,this._highlighted=e;for(let t=0,s=this._entityList.length;t0}set selected(e){e=!!e,this._selected=e;for(let t=0,s=this._entityList.length;t0}set edges(e){e=!!e,this._edges=e;for(let t=0,s=this._entityList.length;t0}set pickable(e){e=!1!==e,this._pickable=e;for(let t=0,s=this._entityList.length;t0)e.colorsCompressed=new Uint8Array(e.colorsCompressed);else if(e.colors&&e.colors.length>0){const t=e.colors,s=new Uint8Array(t.length);for(let e=0,n=t.length;e{o.setImage(c,{minFilter:s,magFilter:n,wrapS:i,wrapT:a,wrapR:r,flipY:e.flipY,encoding:l}),this.glRedraw()},c.src=e.src;break;default:this._textureTranscoder?g.loadArraybuffer(e.src,(e=>{e.byteLength?this._textureTranscoder.transcode([e],o).then((()=>{this.glRedraw()})):this.error("[createTexture] Can't create texture from 'src': file data is zero length")}),(function(e){this.error(`[createTexture] Can't create texture from 'src': ${e}`)})):this.error(`[createTexture] Can't create texture from 'src' - SceneModel needs to be configured with a TextureTranscoder for this file type ('${t}')`)}}else e.buffers&&(this._textureTranscoder?this._textureTranscoder.transcode(e.buffers,o).then((()=>{this.glRedraw()})):this.error("[createTexture] Can't create texture from 'buffers' - SceneModel needs to be configured with a TextureTranscoder for this option"));this._textures[t]=new Xo({id:t,texture:o})}createTextureSet(e){const t=e.id;if(null==t)return void this.error("[createTextureSet] Config missing: id");if(this._textureSets[t])return void this.error(`[createTextureSet] Texture set already created: ${t}`);let s,n,i,a,r;if(void 0!==e.colorTextureId&&null!==e.colorTextureId){if(s=this._textures[e.colorTextureId],!s)return void this.error(`[createTextureSet] Texture not found: ${e.colorTextureId} - ensure that you create it first with createTexture()`)}else s=this._textures.defaultColorTexture;if(void 0!==e.metallicRoughnessTextureId&&null!==e.metallicRoughnessTextureId){if(n=this._textures[e.metallicRoughnessTextureId],!n)return void this.error(`[createTextureSet] Texture not found: ${e.metallicRoughnessTextureId} - ensure that you create it first with createTexture()`)}else n=this._textures.defaultMetalRoughTexture;if(void 0!==e.normalsTextureId&&null!==e.normalsTextureId){if(i=this._textures[e.normalsTextureId],!i)return void this.error(`[createTextureSet] Texture not found: ${e.normalsTextureId} - ensure that you create it first with createTexture()`)}else i=this._textures.defaultNormalsTexture;if(void 0!==e.emissiveTextureId&&null!==e.emissiveTextureId){if(a=this._textures[e.emissiveTextureId],!a)return void this.error(`[createTextureSet] Texture not found: ${e.emissiveTextureId} - ensure that you create it first with createTexture()`)}else a=this._textures.defaultEmissiveTexture;if(void 0!==e.occlusionTextureId&&null!==e.occlusionTextureId){if(r=this._textures[e.occlusionTextureId],!r)return void this.error(`[createTextureSet] Texture not found: ${e.occlusionTextureId} - ensure that you create it first with createTexture()`)}else r=this._textures.defaultOcclusionTexture;const l=new Yo({id:t,model:this,colorTexture:s,metallicRoughnessTexture:n,normalsTexture:i,emissiveTexture:a,occlusionTexture:r});return this._textureSets[t]=l,l}createTransform(e){if(void 0===e.id||null===e.id)return void this.error("[createTransform] SceneModel.createTransform() config missing: id");if(this._transforms[e.id])return void this.error(`[createTransform] SceneModel already has a transform with this ID: ${e.id}`);let t;if(this.parentTransformId&&(t=this._transforms[e.parentTransformId],!t))return void this.error("[createTransform] SceneModel.createTransform() config missing: id");const s=new Wu({id:e.id,model:this,parentTransform:t,matrix:e.matrix,position:e.position,scale:e.scale,rotation:e.rotation,quaternion:e.quaternion});return this._transforms[s.id]=s,s}createMesh(e){if(void 0===e.id||null===e.id)return void this.error("[createMesh] SceneModel.createMesh() config missing: id");if(this._scheduledMeshes[e.id])return void this.error(`[createMesh] SceneModel already has a mesh with this ID: ${e.id}`);if(!(void 0!==e.geometryId)){if(void 0!==e.primitive&&null!==e.primitive||(e.primitive="triangles"),"points"!==e.primitive&&"lines"!==e.primitive&&"triangles"!==e.primitive&&"solid"!==e.primitive&&"surface"!==e.primitive)return void this.error(`Unsupported value for 'primitive': '${primitive}' ('geometryId' is absent) - supported values are 'points', 'lines', 'triangles', 'solid' and 'surface'.`);if(!e.positions&&!e.positionsCompressed&&!e.buckets)return this.error("Param expected: 'positions', 'positionsCompressed' or `buckets` ('geometryId' is absent)"),null;if(e.positions&&(e.positionsDecodeMatrix||e.positionsDecodeBoundary))return this.error("Illegal params: 'positions' not expected with 'positionsDecodeMatrix'/'positionsDecodeBoundary' ('geometryId' is absent)"),null;if(e.positionsCompressed&&!e.positionsDecodeMatrix&&!e.positionsDecodeBoundary)return this.error("Param expected: 'positionsCompressed' should be accompanied by 'positionsDecodeMatrix'/'positionsDecodeBoundary' ('geometryId' is absent)"),null;if(e.uvCompressed&&!e.uvDecodeMatrix)return this.error("Param expected: 'uvCompressed' should be accompanied by `uvDecodeMatrix` ('geometryId' is absent)"),null;if(!e.buckets&&!e.indices&&"points"!==e.primitive)return this.error(`Param expected: indices (required for '${e.primitive}' primitive type)`),null;if((e.matrix||e.position||e.rotation||e.scale)&&(e.positionsCompressed||e.positionsDecodeBoundary))return this.error("Unexpected params: 'matrix', 'rotation', 'scale', 'position' not allowed with 'positionsCompressed'"),null;const t=!!this._dtxEnabled&&("triangles"===e.primitive||"solid"===e.primitive||"surface"===e.primitive);if(e.origin=e.origin?A.addVec3(this._origin,e.origin,A.vec3()):this._origin,e.matrix)e.meshMatrix=e.matrix;else if(e.scale||e.rotation||e.position){const t=e.scale||Yu,s=e.position||Xu,n=e.rotation||qu;A.eulerToQuaternion(n,"XYZ",Ju),e.meshMatrix=A.composeMat4(s,Ju,t,A.mat4())}if(e.positionsDecodeBoundary&&(e.positionsDecodeMatrix=Qr(e.positionsDecodeBoundary,A.mat4())),t){if(e.type=2,e.color=e.color?new Uint8Array([Math.floor(255*e.color[0]),Math.floor(255*e.color[1]),Math.floor(255*e.color[2])]):$u,e.opacity=void 0!==e.opacity&&null!==e.opacity?Math.floor(255*e.opacity):255,e.positions){const t=A.vec3(),s=[];z(e.positions,s,t)&&(e.positions=s,e.origin=A.addVec3(e.origin,t,t))}if(e.positions){const t=A.collapseAABB3();e.positionsDecodeMatrix=A.mat4(),A.expandAABB3Points3(t,e.positions),e.positionsCompressed=kr(e.positions,t,e.positionsDecodeMatrix),e.aabb=t}else if(e.positionsCompressed){const t=A.collapseAABB3();A.expandAABB3Points3(t,e.positionsCompressed),Ft.decompressAABB(t,e.positionsDecodeMatrix),e.aabb=t}if(e.buckets){const t=A.collapseAABB3();for(let s=0,n=e.buckets.length;s>24&255,i=s>>16&255,a=s>>8&255,r=255&s;switch(e.pickColor=new Uint8Array([r,a,i,n]),e.solid="solid"===e.primitive,t.origin=A.vec3(e.origin),e.type){case 2:t.layer=this._getDTXLayer(e),t.aabb=e.aabb;break;case 1:t.layer=this._getVBOBatchingLayer(e),t.aabb=e.aabb;break;case 0:t.layer=this._getVBOInstancingLayer(e),t.aabb=e.aabb}return e.transform&&(e.meshMatrix=e.transform.worldMatrix),t.portionId=t.layer.createPortion(t,e),this._meshes[e.id]=t,this._meshList.push(t),t}_getNumPrimitives(e){let t=0;switch(e.geometry?e.geometry.primitive:e.primitive){case"triangles":case"solid":case"surface":switch(e.type){case 2:for(let s=0,n=e.buckets.length;s>>0).toString(16)}_getVBOInstancingLayer(e){const t=this,s=e.origin,n=e.textureSetId||"-",i=e.geometryId,a=`${Math.round(s[0])}.${Math.round(s[1])}.${Math.round(s[2])}.${n}.${i}`;let r=this._vboInstancingLayers[a];if(r)return r;let l=e.textureSet;const o=e.geometry;for(;!r;)switch(o.primitive){case"triangles":case"surface":r=new oo({model:t,textureSet:l,geometry:o,origin:s,layerIndex:0,solid:!1});break;case"solid":r=new oo({model:t,textureSet:l,geometry:o,origin:s,layerIndex:0,solid:!0});break;case"lines":r=new bo({model:t,textureSet:l,geometry:o,origin:s,layerIndex:0});break;case"points":r=new Ko({model:t,textureSet:l,geometry:o,origin:s,layerIndex:0})}return this._vboInstancingLayers[a]=r,this.layerList.push(r),r}createEntity(e){if(void 0===e.id?e.id=A.createUUID():this.scene.components[e.id]&&(this.error(`Scene already has a Component with this ID: ${e.id} - will assign random ID`),e.id=A.createUUID()),void 0===e.meshIds)return void this.error("Config missing: meshIds");let t=0;this._visible&&!1!==e.visible&&(t|=X),this._pickable&&!1!==e.pickable&&(t|=J),this._culled&&!1!==e.culled&&(t|=q),this._clippable&&!1!==e.clippable&&(t|=Z),this._collidable&&!1!==e.collidable&&(t|=$),this._edges&&!1!==e.edges&&(t|=ne),this._xrayed&&!1!==e.xrayed&&(t|=ee),this._highlighted&&!1!==e.highlighted&&(t|=te),this._selected&&!1!==e.selected&&(t|=se),e.flags=t,this._createEntity(e)}_createEntity(e){let t=[];for(let s=0,n=e.meshIds.length;se.sortIdt.sortId?1:0));for(let e=0,t=this.layerList.length;e0&&0===this.renderFlags.numVisibleLayers?this.renderFlags.culled=!0:this._updateRenderFlags()}_updateRenderFlagsVisibleLayers(){const e=this.renderFlags;e.numLayers=this.layerList.length,e.numVisibleLayers=0;for(let t=0,s=this.layerList.length;t0)for(let e=0;e0&&(e.colorTransparent=!0),this.numXRayedLayerPortions>0){const t=this.scene.xrayMaterial._state;t.fill&&(t.fillAlpha<1?e.xrayedSilhouetteTransparent=!0:e.xrayedSilhouetteOpaque=!0),t.edges&&(t.edgeAlpha<1?e.xrayedEdgesTransparent=!0:e.xrayedEdgesOpaque=!0)}if(this.numEdgesLayerPortions>0){this.scene.edgeMaterial._state.edges&&(e.edgesOpaque=this.numTransparentLayerPortions0&&(e.edgesTransparent=!0))}if(this.numSelectedLayerPortions>0){const t=this.scene.selectedMaterial._state;t.fill&&(t.fillAlpha<1?e.selectedSilhouetteTransparent=!0:e.selectedSilhouetteOpaque=!0),t.edges&&(t.edgeAlpha<1?e.selectedEdgesTransparent=!0:e.selectedEdgesOpaque=!0)}if(this.numHighlightedLayerPortions>0){const t=this.scene.highlightMaterial._state;t.fill&&(t.fillAlpha<1?e.highlightedSilhouetteTransparent=!0:e.highlightedSilhouetteOpaque=!0),t.edges&&(t.edgeAlpha<1?e.highlightedEdgesTransparent=!0:e.highlightedEdgesOpaque=!0)}}drawColorOpaque(e){const t=this.renderFlags;for(let s=0,n=t.visibleLayers.length;s65536?16:8)}else r=[{positionsCompressed:n,indices:i,edgeIndices:a}];return r}class sh extends eh{constructor(e,t={}){super(e,t)}}class nh extends S{constructor(e,t={}){super(e,t),this._skyboxMesh=new ui(this,{geometry:new Gt(this,{primitive:"triangles",positions:[1,1,1,-1,1,1,-1,-1,1,1,-1,1,1,1,1,1,-1,1,1,-1,-1,1,1,-1,1,1,1,1,1,-1,-1,1,-1,-1,1,1,-1,1,1,-1,1,-1,-1,-1,-1,-1,-1,1,-1,-1,-1,1,-1,-1,1,-1,1,-1,-1,1,1,-1,-1,-1,-1,-1,-1,1,-1,1,1,-1],uv:[.5,.6666,.25,.6666,.25,.3333,.5,.3333,.5,.6666,.5,.3333,.75,.3333,.75,.6666,.5,.6666,.5,1,.25,1,.25,.6666,.25,.6666,0,.6666,0,.3333,.25,.3333,.25,0,.5,0,.5,.3333,.25,.3333,.75,.3333,1,.3333,1,.6666,.75,.6666],indices:[0,1,2,0,2,3,4,5,6,4,6,7,8,9,10,8,10,11,12,13,14,12,14,15,16,17,18,16,18,19,20,21,22,20,22,23]}),background:!0,scale:[2e3,2e3,2e3],rotation:[0,-90,0],material:new Wt(this,{ambient:[0,0,0],diffuse:[0,0,0],specular:[0,0,0],emissive:[1,1,1],emissiveMap:new ki(this,{src:t.src,flipY:!0,wrapS:"clampToEdge",wrapT:"clampToEdge",encoding:t.encoding||"sRGB"}),backfaces:!0}),visible:!1,pickable:!1,clippable:!1,collidable:!1}),this.size=t.size,this.active=t.active}set size(e){this._size=e||1e3,this._skyboxMesh.scale=[this._size,this._size,this._size]}get size(){return this._size}set active(e){this._skyboxMesh.visible=e}get active(){return this._skyboxMesh.visible}}class ih{transcode(e,t,s={}){}destroy(){}}const ah=A.vec4(),rh=A.vec4(),lh=A.vec3(),oh=A.vec3(),ch=A.vec3(),uh=A.vec4(),hh=A.vec4(),ph=A.vec4();class Ah{constructor(e){this._scene=e}dollyToCanvasPos(e,t,s){let n=!1;const i=this._scene.camera;if(e){const t=A.subVec3(e,i.eye,lh);n=A.lenVec3(t){this._cameraDirty=!0})),this._onProjMatrix=this._scene.camera.on("projMatrix",(()=>{this._cameraDirty=!0})),this._onTick=this._scene.on("tick",(()=>{this.updatePivotElement(),this.updatePivotSphere()}))}createPivotSphere(){const e=this.getPivotPos(),t=A.vec3();A.decomposeMat4(A.inverseMat4(this._scene.viewer.camera.viewMatrix,A.mat4()),t,A.vec4(),A.vec3());const s=A.distVec3(t,e);let n=Math.tan(Math.PI/500)*s*this._pivotSphereSize;"ortho"==this._scene.camera.projection&&(n/=this._scene.camera.ortho.scale/2),W(e,this._rtcCenter,this._rtcPos),this._pivotSphereGeometry=new Ki(this._scene,Ai({radius:n})),this._pivotSphere=new ui(this._scene,{geometry:this._pivotSphereGeometry,material:this._pivotSphereMaterial,pickable:!1,position:this._rtcPos,rtcCenter:this._rtcCenter})}destroyPivotSphere(){this._pivotSphere&&(this._pivotSphere.destroy(),this._pivotSphere=null),this._pivotSphereGeometry&&(this._pivotSphereGeometry.destroy(),this._pivotSphereGeometry=null)}updatePivotElement(){const e=this._scene.camera,t=this._scene.canvas;if(this._pivoting&&this._cameraDirty){A.transformPoint3(e.viewMatrix,this.getPivotPos(),this._pivotViewPos),this._pivotViewPos[3]=1,A.transformPoint4(e.projMatrix,this._pivotViewPos,this._pivotProjPos);const s=t.boundary,n=s[2],i=s[3];this._pivotCanvasPos[0]=Math.floor((1+this._pivotProjPos[0]/this._pivotProjPos[3])*n/2),this._pivotCanvasPos[1]=Math.floor((1-this._pivotProjPos[1]/this._pivotProjPos[3])*i/2);let a=t._lastBoundingClientRect;if(!a||t._canvasSizeChanged){const e=t.canvas;a=t._lastBoundingClientRect=e.getBoundingClientRect()}this._pivotElement&&(this._pivotElement.style.left=Math.floor(a.left+this._pivotCanvasPos[0])-this._pivotElement.clientWidth/2+window.scrollX+"px",this._pivotElement.style.top=Math.floor(a.top+this._pivotCanvasPos[1])-this._pivotElement.clientHeight/2+window.scrollY+"px"),this._cameraDirty=!1}}updatePivotSphere(){this._pivoting&&this._pivotSphere&&(W(this.getPivotPos(),this._rtcCenter,this._rtcPos),A.compareVec3(this._rtcPos,this._pivotSphere.position)||(this.destroyPivotSphere(),this.createPivotSphere()))}setPivotElement(e){this._pivotElement=e}enablePivotSphere(e={}){this.destroyPivotSphere(),this._pivotSphereEnabled=!0,e.size&&(this._pivotSphereSize=e.size);const t=e.color||[1,0,0];this._pivotSphereMaterial=new Wt(this._scene,{emissive:t,ambient:t,specular:[0,0,0],diffuse:[0,0,0]})}disablePivotSphere(){this.destroyPivotSphere(),this._pivotSphereEnabled=!1}startPivot(){if(this._cameraLookingDownwards())return this._pivoting=!1,!1;const e=this._scene.camera;let t=A.lookAtMat4v(e.eye,e.look,e.worldUp);A.transformPoint3(t,this.getPivotPos(),this._cameraOffset);const s=this.getPivotPos();this._cameraOffset[2]+=A.distVec3(e.eye,s),t=A.inverseMat4(t);const n=A.transformVec3(t,this._cameraOffset),i=A.vec3();if(A.subVec3(e.eye,s,i),A.addVec3(i,n),e.zUp){const e=i[1];i[1]=i[2],i[2]=e}this._radius=A.lenVec3(i),this._polar=Math.acos(i[1]/this._radius),this._azimuth=Math.atan2(i[0],i[2]),this._pivoting=!0}_cameraLookingDownwards(){const e=this._scene.camera,t=A.normalizeVec3(A.subVec3(e.look,e.eye,dh)),s=A.cross3Vec3(t,e.worldUp,fh);return A.sqLenVec3(s)<=1e-4}getPivoting(){return this._pivoting}setPivotPos(e){this._pivotWorldPos.set(e),this._pivotPosSet=!0}setCanvasPivotPos(e){const t=this._scene.camera,s=Math.abs(A.distVec3(this._scene.center,t.eye)),n=t.project.transposedMatrix,i=n.subarray(8,12),a=n.subarray(12),r=[0,0,-1,1],l=A.dotVec4(r,i)/A.dotVec4(r,a),o=yh;t.project.unproject(e,l,mh,vh,o);const c=A.normalizeVec3(A.subVec3(o,t.eye,dh)),u=A.addVec3(t.eye,A.mulVec3Scalar(c,s,fh),Ih);this.setPivotPos(u)}getPivotPos(){return this._pivotPosSet?this._pivotWorldPos:this._scene.camera.look}continuePivot(e,t){if(!this._pivoting)return;if(0===e&&0===t)return;const s=this._scene.camera;var n=-e;const i=-t;1===s.worldUp[2]&&(n=-n),this._azimuth+=.01*-n,this._polar+=.01*i,this._polar=A.clamp(this._polar,.001,Math.PI-.001);const a=[this._radius*Math.sin(this._polar)*Math.sin(this._azimuth),this._radius*Math.cos(this._polar),this._radius*Math.sin(this._polar)*Math.cos(this._azimuth)];if(1===s.worldUp[2]){const e=a[1];a[1]=a[2],a[2]=e}const r=A.lenVec3(A.subVec3(s.look,s.eye,A.vec3())),l=this.getPivotPos();A.addVec3(a,l);let o=A.lookAtMat4v(a,l,s.worldUp);o=A.inverseMat4(o);const c=A.transformVec3(o,this._cameraOffset);o[12]-=c[0],o[13]-=c[1],o[14]-=c[2];const u=[o[8],o[9],o[10]];s.eye=[o[12],o[13],o[14]],A.subVec3(s.eye,A.mulVec3Scalar(u,r),s.look),s.up=[o[4],o[5],o[6]],this.showPivot()}showPivot(){this._shown||(this._pivotElement&&(this.updatePivotElement(),this._pivotElement.style.visibility="visible"),this._pivotSphereEnabled&&(this.destroyPivotSphere(),this.createPivotSphere()),this._shown=!0)}hidePivot(){this._shown&&(this._pivotElement&&(this._pivotElement.style.visibility="hidden"),this._pivotSphereEnabled&&this.destroyPivotSphere(),this._shown=!1)}endPivot(){this._pivoting=!1}destroy(){this.destroyPivotSphere(),this._scene.camera.off(this._onViewMatrix),this._scene.camera.off(this._onProjMatrix),this._scene.off(this._onTick)}}class gh{constructor(e,t){this._scene=e.scene,this._cameraControl=e,this._scene.canvas.canvas.oncontextmenu=function(e){e.preventDefault()},this._configs=t,this.schedulePickEntity=!1,this.schedulePickSurface=!1,this.scheduleSnapOrPick=!1,this.pickCursorPos=A.vec2(),this.picked=!1,this.pickedSurface=!1,this.pickResult=null,this._lastPickedEntityId=null,this._lastHash=null,this._needFireEvents=0}update(){if(!this._configs.pointerEnabled)return;if(!this.schedulePickEntity&&!this.schedulePickSurface)return;const e=`${~~this.pickCursorPos[0]}-${~~this.pickCursorPos[1]}-${this.scheduleSnapOrPick}-${this.schedulePickSurface}-${this.schedulePickEntity}`;if(this._lastHash===e)return;this.picked=!1,this.pickedSurface=!1,this.snappedOrPicked=!1,this.hoveredSnappedOrSurfaceOff=!1;const t=this._cameraControl.hasSubs("hoverSurface");if(this.scheduleSnapOrPick){const e=this._scene.pick({canvasPos:this.pickCursorPos,snapRadius:this._configs.snapRadius,snapToVertex:this._configs.snapToVertex,snapToEdge:this._configs.snapToEdge});e&&(e.snappedToEdge||e.snappedToVertex)?(this.snapPickResult=e,this.snappedOrPicked=!0,this._needFireEvents++):(this.schedulePickSurface=!0,this.snapPickResult=null)}if(this.schedulePickSurface&&this.pickResult&&this.pickResult.worldPos){const e=this.pickResult.canvasPos;if(e[0]===this.pickCursorPos[0]&&e[1]===this.pickCursorPos[1])return this.picked=!0,this.pickedSurface=!0,this._needFireEvents+=t?1:0,this.schedulePickEntity=!1,this.schedulePickSurface=!1,this.scheduleSnapOrPick?this.snappedOrPicked=!0:this.hoveredSnappedOrSurfaceOff=!0,void(this.scheduleSnapOrPick=!1)}if(this.schedulePickEntity&&this.pickResult&&(this.pickResult.canvasPos||this.pickResult.snappedCanvasPos)){const e=this.pickResult.canvasPos||this.pickResult.snappedCanvasPos;if(e[0]===this.pickCursorPos[0]&&e[1]===this.pickCursorPos[1])return this.picked=!0,this.pickedSurface=!1,this.schedulePickEntity=!1,void(this.schedulePickSurface=!1)}this.schedulePickSurface||this.scheduleSnapOrPick&&!this.snapPickResult?(this.pickResult=this._scene.pick({pickSurface:!0,pickSurfaceNormal:!1,canvasPos:this.pickCursorPos}),this.pickResult?(this.picked=!0,this.scheduleSnapOrPick?this.snappedOrPicked=!0:this.pickedSurface=!0,this._needFireEvents++):this.scheduleSnapOrPick&&(this.hoveredSnappedOrSurfaceOff=!0,this._needFireEvents++)):(this.pickResult=this._scene.pick({canvasPos:this.pickCursorPos}),this.pickResult&&(this.picked=!0,this.pickedSurface=!1,this._needFireEvents++)),this.scheduleSnapOrPick=!1,this.schedulePickEntity=!1,this.schedulePickSurface=!1}fireEvents(){if(0!==this._needFireEvents){if(this.hoveredSnappedOrSurfaceOff&&this._cameraControl.fire("hoverSnapOrSurfaceOff",{canvasPos:this.pickCursorPos,pointerPos:this.pickCursorPos},!0),this.snappedOrPicked)if(this.snapPickResult){const e=new Be;e.snappedToVertex=this.snapPickResult.snappedToVertex,e.snappedToEdge=this.snapPickResult.snappedToEdge,e.worldPos=this.snapPickResult.worldPos,e.canvasPos=this.pickCursorPos,e.snappedCanvasPos=this.snapPickResult.snappedCanvasPos,this._cameraControl.fire("hoverSnapOrSurface",e,!0),this.snapPickResult=null}else this._cameraControl.fire("hoverSnapOrSurface",this.pickResult,!0);if(this.picked&&this.pickResult&&(this.pickResult.entity||this.pickResult.worldPos)){if(this.pickResult.entity){const e=this.pickResult.entity.id;this._lastPickedEntityId!==e&&(void 0!==this._lastPickedEntityId&&this._cameraControl.fire("hoverOut",{entity:this._scene.objects[this._lastPickedEntityId]},!0),this._cameraControl.fire("hoverEnter",this.pickResult,!0),this._lastPickedEntityId=e)}this._cameraControl.fire("hover",this.pickResult,!0),this.pickResult.worldPos&&(this.pickedSurface=!0,this._cameraControl.fire("hoverSurface",this.pickResult,!0))}else void 0!==this._lastPickedEntityId&&(this._cameraControl.fire("hoverOut",{entity:this._scene.objects[this._lastPickedEntityId]},!0),this._lastPickedEntityId=void 0),this._cameraControl.fire("hoverOff",{canvasPos:this.pickCursorPos},!0);this.pickResult=null,this._needFireEvents=0}}}const Eh=A.vec2();class Th{constructor(e,t,s,n,i){this._scene=e;const a=t.pickController;let r,l,o,c=0,u=0,h=0,p=0,d=!1;const f=A.vec3();let I=!0;const y=this._scene.canvas.canvas,m=[];function v(e=!0){y.style.cursor="move",c=n.pointerCanvasPos[0],u=n.pointerCanvasPos[1],h=n.pointerCanvasPos[0],p=n.pointerCanvasPos[1],e&&(a.pickCursorPos=n.pointerCanvasPos,a.schedulePickSurface=!0,a.update(),a.picked&&a.pickedSurface&&a.pickResult&&a.pickResult.worldPos?(d=!0,f.set(a.pickResult.worldPos)):d=!1)}document.addEventListener("keydown",this._documentKeyDownHandler=t=>{if(!s.active||!s.pointerEnabled||!e.input.keyboardEnabled)return;const n=t.keyCode;m[n]=!0}),document.addEventListener("keyup",this._documentKeyUpHandler=t=>{if(!s.active||!s.pointerEnabled||!e.input.keyboardEnabled)return;const n=t.keyCode;m[n]=!1}),y.addEventListener("mousedown",this._mouseDownHandler=t=>{if(s.active&&s.pointerEnabled)switch(t.which){case 1:m[e.input.KEY_SHIFT]||s.planView?(r=!0,v()):(r=!0,v(!1));break;case 2:l=!0,v();break;case 3:o=!0,s.panRightClick&&v()}}),document.addEventListener("mousemove",this._documentMouseMoveHandler=()=>{if(!s.active||!s.pointerEnabled)return;if(!r&&!l&&!o)return;const t=e.canvas.boundary,a=t[2],h=t[3],p=n.pointerCanvasPos[0],I=n.pointerCanvasPos[1];if(m[e.input.KEY_SHIFT]||s.planView||!s.panRightClick&&l||s.panRightClick&&o){const t=p-c,s=I-u,n=e.camera;if("perspective"===n.projection){const a=Math.abs(d?A.lenVec3(A.subVec3(f,e.camera.eye,[])):e.camera.eyeLookDist)*Math.tan(n.perspective.fov/2*Math.PI/180);i.panDeltaX+=1.5*t*a/h,i.panDeltaY+=1.5*s*a/h}else i.panDeltaX+=.5*n.ortho.scale*(t/h),i.panDeltaY+=.5*n.ortho.scale*(s/h)}else!r||l||o||s.planView||(s.firstPerson?(i.rotateDeltaY-=(p-c)/a*s.dragRotationRate/2,i.rotateDeltaX+=(I-u)/h*(s.dragRotationRate/4)):(i.rotateDeltaY-=(p-c)/a*(1.5*s.dragRotationRate),i.rotateDeltaX+=(I-u)/h*(1.5*s.dragRotationRate)));c=p,u=I}),y.addEventListener("mousemove",this._canvasMouseMoveHandler=e=>{s.active&&s.pointerEnabled&&n.mouseover&&(I=!0)}),document.addEventListener("mouseup",this._documentMouseUpHandler=e=>{if(s.active&&s.pointerEnabled)switch(e.which){case 1:case 2:case 3:r=!1,l=!1,o=!1}}),y.addEventListener("mouseup",this._mouseUpHandler=e=>{if(s.active&&s.pointerEnabled){if(3===e.which){!function(e,t){if(e){let s=e.target,n=0,i=0,a=0,r=0;for(;s.offsetParent;)n+=s.offsetLeft,i+=s.offsetTop,a+=s.scrollLeft,r+=s.scrollTop,s=s.offsetParent;t[0]=e.pageX+a-n,t[1]=e.pageY+r-i}else e=window.event,t[0]=e.x,t[1]=e.y}(e,Eh);const s=Eh[0],n=Eh[1];Math.abs(s-h)<3&&Math.abs(n-p)<3&&t.cameraControl.fire("rightClick",{pagePos:[Math.round(e.pageX),Math.round(e.pageY)],canvasPos:Eh,event:e},!0)}y.style.removeProperty("cursor")}}),y.addEventListener("mouseenter",this._mouseEnterHandler=()=>{s.active&&s.pointerEnabled});const w=1/60;let g=null;y.addEventListener("wheel",this._mouseWheelHandler=e=>{if(!s.active||!s.pointerEnabled)return;const t=performance.now()/1e3;var a=null!==g?t-g:0;g=t,a>.05&&(a=.05),a{if(!s.active||!s.pointerEnabled||!e.input.keyboardEnabled)return;if(!n.mouseover)return;const r=i._isKeyDownForAction(i.AXIS_VIEW_RIGHT),l=i._isKeyDownForAction(i.AXIS_VIEW_BACK),o=i._isKeyDownForAction(i.AXIS_VIEW_LEFT),c=i._isKeyDownForAction(i.AXIS_VIEW_FRONT),u=i._isKeyDownForAction(i.AXIS_VIEW_TOP),h=i._isKeyDownForAction(i.AXIS_VIEW_BOTTOM);if(!(r||l||o||c||u||h))return;const p=e.aabb,d=A.getAABB3Diag(p);A.getAABB3Center(p,bh);const f=Math.abs(d/Math.tan(t.cameraFlight.fitFOV*A.DEGTORAD)),I=1.1*d;_h.orthoScale=I,r?(_h.eye.set(A.addVec3(bh,A.mulVec3Scalar(a.worldRight,f,Dh),Ch)),_h.look.set(bh),_h.up.set(a.worldUp)):l?(_h.eye.set(A.addVec3(bh,A.mulVec3Scalar(a.worldForward,f,Dh),Ch)),_h.look.set(bh),_h.up.set(a.worldUp)):o?(_h.eye.set(A.addVec3(bh,A.mulVec3Scalar(a.worldRight,-f,Dh),Ch)),_h.look.set(bh),_h.up.set(a.worldUp)):c?(_h.eye.set(A.addVec3(bh,A.mulVec3Scalar(a.worldForward,-f,Dh),Ch)),_h.look.set(bh),_h.up.set(a.worldUp)):u?(_h.eye.set(A.addVec3(bh,A.mulVec3Scalar(a.worldUp,f,Dh),Ch)),_h.look.set(bh),_h.up.set(A.normalizeVec3(A.mulVec3Scalar(a.worldForward,1,Ph),Rh))):h&&(_h.eye.set(A.addVec3(bh,A.mulVec3Scalar(a.worldUp,-f,Dh),Ch)),_h.look.set(bh),_h.up.set(A.normalizeVec3(A.mulVec3Scalar(a.worldForward,-1,Ph)))),!s.firstPerson&&s.followPointer&&t.pivotController.setPivotPos(bh),t.cameraFlight.duration>0?t.cameraFlight.flyTo(_h,(()=>{t.pivotController.getPivoting()&&s.followPointer&&t.pivotController.showPivot()})):(t.cameraFlight.jumpTo(_h),t.pivotController.getPivoting()&&s.followPointer&&t.pivotController.showPivot())}))}reset(){}destroy(){this._scene.input.off(this._onSceneKeyDown)}}class Oh{constructor(e,t,s,n,i){this._scene=e;const a=t.pickController,r=t.pivotController,l=t.cameraControl;this._clicks=0,this._timeout=null,this._lastPickedEntityId=null;let o=!1,c=!1;const u=this._scene.canvas.canvas,h=s=>{let n;s&&s.worldPos&&(n=s.worldPos);const i=s&&s.entity?s.entity.aabb:e.aabb;if(n){const s=e.camera;A.subVec3(s.eye,s.look,[]),t.cameraFlight.flyTo({aabb:i})}else t.cameraFlight.flyTo({aabb:i})},p=e.tickify(this._canvasMouseMoveHandler=t=>{if(!s.active||!s.pointerEnabled)return;if(o||c)return;const i=l.hasSubs("hover"),r=l.hasSubs("hoverEnter"),u=l.hasSubs("hoverOut"),h=l.hasSubs("hoverOff"),p=l.hasSubs("hoverSurface"),A=l.hasSubs("hoverSnapOrSurface");if(i||r||u||h||p||A)if(a.pickCursorPos=n.pointerCanvasPos,a.schedulePickEntity=!0,a.schedulePickSurface=p,a.scheduleSnapOrPick=A,a.update(),a.pickResult){if(a.pickResult.entity){const t=a.pickResult.entity.id;this._lastPickedEntityId!==t&&(void 0!==this._lastPickedEntityId&&l.fire("hoverOut",{entity:e.objects[this._lastPickedEntityId]},!0),l.fire("hoverEnter",a.pickResult,!0),this._lastPickedEntityId=t)}l.fire("hover",a.pickResult,!0),(a.pickResult.worldPos||a.pickResult.snappedWorldPos)&&l.fire("hoverSurface",a.pickResult,!0)}else void 0!==this._lastPickedEntityId&&(l.fire("hoverOut",{entity:e.objects[this._lastPickedEntityId]},!0),this._lastPickedEntityId=void 0),l.fire("hoverOff",{canvasPos:a.pickCursorPos},!0)});u.addEventListener("mousemove",p),u.addEventListener("mousedown",this._canvasMouseDownHandler=t=>{1===t.which&&(o=!0),3===t.which&&(c=!0);if(1===t.which&&s.active&&s.pointerEnabled&&(n.mouseDownClientX=t.clientX,n.mouseDownClientY=t.clientY,n.mouseDownCursorX=n.pointerCanvasPos[0],n.mouseDownCursorY=n.pointerCanvasPos[1],!s.firstPerson&&s.followPointer&&(a.pickCursorPos=n.pointerCanvasPos,a.schedulePickSurface=!0,a.update(),1===t.which))){const t=a.pickResult;t&&t.worldPos?(r.setPivotPos(t.worldPos),r.startPivot()):(s.smartPivot?r.setCanvasPivotPos(n.pointerCanvasPos):r.setPivotPos(e.camera.look),r.startPivot())}}),document.addEventListener("mouseup",this._documentMouseUpHandler=e=>{1===e.which&&(o=!1),3===e.which&&(c=!1),r.getPivoting()&&r.endPivot()}),u.addEventListener("mouseup",this._canvasMouseUpHandler=i=>{if(!s.active||!s.pointerEnabled)return;if(!(1===i.which))return;if(r.hidePivot(),Math.abs(i.clientX-n.mouseDownClientX)>3||Math.abs(i.clientY-n.mouseDownClientY)>3)return;const o=l.hasSubs("picked"),c=l.hasSubs("pickedNothing"),u=l.hasSubs("pickedSurface"),p=l.hasSubs("doublePicked"),d=l.hasSubs("doublePickedSurface"),f=l.hasSubs("doublePickedNothing");if(!(s.doublePickFlyTo||p||d||f))return(o||c||u)&&(a.pickCursorPos=n.pointerCanvasPos,a.schedulePickEntity=!0,a.schedulePickSurface=u,a.update(),a.pickResult?(l.fire("picked",a.pickResult,!0),a.pickedSurface&&l.fire("pickedSurface",a.pickResult,!0)):l.fire("pickedNothing",{canvasPos:n.pointerCanvasPos},!0)),void(this._clicks=0);if(this._clicks++,1===this._clicks){a.pickCursorPos=n.pointerCanvasPos,a.schedulePickEntity=s.doublePickFlyTo,a.schedulePickSurface=u,a.update();const e=a.pickResult,i=a.pickedSurface;this._timeout=setTimeout((()=>{e?(l.fire("picked",e,!0),i&&(l.fire("pickedSurface",e,!0),!s.firstPerson&&s.followPointer&&(t.pivotController.setPivotPos(e.worldPos),t.pivotController.startPivot()&&t.pivotController.showPivot()))):l.fire("pickedNothing",{canvasPos:n.pointerCanvasPos},!0),this._clicks=0}),s.doubleClickTimeFrame)}else{if(null!==this._timeout&&(window.clearTimeout(this._timeout),this._timeout=null),a.pickCursorPos=n.pointerCanvasPos,a.schedulePickEntity=s.doublePickFlyTo||p||d,a.schedulePickSurface=a.schedulePickEntity&&d,a.update(),a.pickResult){if(l.fire("doublePicked",a.pickResult,!0),a.pickedSurface&&l.fire("doublePickedSurface",a.pickResult,!0),s.doublePickFlyTo&&(h(a.pickResult),!s.firstPerson&&s.followPointer)){const e=a.pickResult.entity.aabb,s=A.getAABB3Center(e);t.pivotController.setPivotPos(s),t.pivotController.startPivot()&&t.pivotController.showPivot()}}else if(l.fire("doublePickedNothing",{canvasPos:n.pointerCanvasPos},!0),s.doublePickFlyTo&&(h(),!s.firstPerson&&s.followPointer)){const s=e.aabb,n=A.getAABB3Center(s);t.pivotController.setPivotPos(n),t.pivotController.startPivot()&&t.pivotController.showPivot()}this._clicks=0}},!1)}reset(){this._clicks=0,this._lastPickedEntityId=null,this._timeout&&(window.clearTimeout(this._timeout),this._timeout=null)}destroy(){const e=this._scene.canvas.canvas;e.removeEventListener("mousemove",this._canvasMouseMoveHandler),e.removeEventListener("mousedown",this._canvasMouseDownHandler),document.removeEventListener("mouseup",this._documentMouseUpHandler),e.removeEventListener("mouseup",this._canvasMouseUpHandler),this._timeout&&(window.clearTimeout(this._timeout),this._timeout=null)}}class Sh{constructor(e,t,s,n,i){this._scene=e;const a=e.input,r=[],l=e.canvas.canvas;let o=!0;this._onSceneMouseMove=a.on("mousemove",(()=>{o=!0})),this._onSceneKeyDown=a.on("keydown",(t=>{s.active&&s.pointerEnabled&&e.input.keyboardEnabled&&n.mouseover&&(r[t]=!0,t===a.KEY_SHIFT&&(l.style.cursor="move"))})),this._onSceneKeyUp=a.on("keyup",(n=>{s.active&&s.pointerEnabled&&e.input.keyboardEnabled&&(r[n]=!1,n===a.KEY_SHIFT&&(l.style.cursor=null),t.pivotController.getPivoting()&&t.pivotController.endPivot())})),this._onTick=e.on("tick",(l=>{if(!s.active||!s.pointerEnabled||!e.input.keyboardEnabled)return;if(!n.mouseover)return;const c=t.cameraControl,u=l.deltaTime/1e3;if(!s.planView){const e=c._isKeyDownForAction(c.ROTATE_Y_POS,r),n=c._isKeyDownForAction(c.ROTATE_Y_NEG,r),a=c._isKeyDownForAction(c.ROTATE_X_POS,r),l=c._isKeyDownForAction(c.ROTATE_X_NEG,r),o=u*s.keyboardRotationRate;(e||n||a||l)&&(!s.firstPerson&&s.followPointer&&t.pivotController.startPivot(),e?i.rotateDeltaY+=o:n&&(i.rotateDeltaY-=o),a?i.rotateDeltaX+=o:l&&(i.rotateDeltaX-=o),!s.firstPerson&&s.followPointer&&t.pivotController.startPivot())}if(!r[a.KEY_CTRL]&&!r[a.KEY_ALT]){const e=c._isKeyDownForAction(c.DOLLY_BACKWARDS,r),a=c._isKeyDownForAction(c.DOLLY_FORWARDS,r);if(e||a){const r=u*s.keyboardDollyRate;!s.firstPerson&&s.followPointer&&t.pivotController.startPivot(),a?i.dollyDelta-=r:e&&(i.dollyDelta+=r),o&&(n.followPointerDirty=!0,o=!1)}}const h=c._isKeyDownForAction(c.PAN_FORWARDS,r),p=c._isKeyDownForAction(c.PAN_BACKWARDS,r),A=c._isKeyDownForAction(c.PAN_LEFT,r),d=c._isKeyDownForAction(c.PAN_RIGHT,r),f=c._isKeyDownForAction(c.PAN_UP,r),I=c._isKeyDownForAction(c.PAN_DOWN,r),y=(r[a.KEY_ALT]?.3:1)*u*s.keyboardPanRate;(h||p||A||d||f||I)&&(!s.firstPerson&&s.followPointer&&t.pivotController.startPivot(),I?i.panDeltaY+=y:f&&(i.panDeltaY+=-y),d?i.panDeltaX+=-y:A&&(i.panDeltaX+=y),p?i.panDeltaZ+=y:h&&(i.panDeltaZ+=-y))}))}reset(){}destroy(){this._scene.off(this._onTick),this._scene.input.off(this._onSceneMouseMove),this._scene.input.off(this._onSceneKeyDown),this._scene.input.off(this._onSceneKeyUp)}}const Nh=A.vec3();class xh{constructor(e,t,s,n,i){this._scene=e;const a=e.camera,r=t.pickController,l=t.pivotController,o=t.panController;let c=1,u=1,h=null;this._onTick=e.on("tick",(()=>{if(!s.active||!s.pointerEnabled)return;let t="default";if(Math.abs(i.dollyDelta)<.001&&(i.dollyDelta=0),Math.abs(i.rotateDeltaX)<.001&&(i.rotateDeltaX=0),Math.abs(i.rotateDeltaY)<.001&&(i.rotateDeltaY=0),0===i.rotateDeltaX&&0===i.rotateDeltaY||(i.dollyDelta=0),s.followPointer&&--c<=0&&(c=1,0!==i.dollyDelta)){if(0===i.rotateDeltaY&&0===i.rotateDeltaX&&s.followPointer&&n.followPointerDirty&&(r.pickCursorPos=n.pointerCanvasPos,r.schedulePickSurface=!0,r.update(),r.pickResult&&r.pickResult.worldPos?h=r.pickResult.worldPos:(u=1,h=null),n.followPointerDirty=!1),h){const t=Math.abs(A.lenVec3(A.subVec3(h,e.camera.eye,Nh)));u=t/s.dollyProximityThreshold}u{n.mouseover=!0}),a.addEventListener("mouseleave",this._mouseLeaveHandler=()=>{n.mouseover=!1,a.style.cursor=null}),document.addEventListener("mousemove",this._mouseMoveHandler=e=>{Mh(e,a,n.pointerCanvasPos)}),a.addEventListener("mousedown",this._mouseDownHandler=e=>{s.active&&s.pointerEnabled&&(Mh(e,a,n.pointerCanvasPos),n.mouseover=!0)}),a.addEventListener("mouseup",this._mouseUpHandler=e=>{s.active&&s.pointerEnabled})}reset(){}destroy(){const e=this._scene.canvas.canvas;document.removeEventListener("mousemove",this._mouseMoveHandler),e.removeEventListener("mouseenter",this._mouseEnterHandler),e.removeEventListener("mouseleave",this._mouseLeaveHandler),e.removeEventListener("mousedown",this._mouseDownHandler),e.removeEventListener("mouseup",this._mouseUpHandler)}}function Mh(e,t,s){if(e){const{x:n,y:i}=t.getBoundingClientRect();s[0]=e.clientX-n,s[1]=e.clientY-i}else e=window.event,s[0]=e.x,s[1]=e.y;return s}const Fh=function(e,t){if(e){let s=e.target,n=0,i=0;for(;s.offsetParent;)n+=s.offsetLeft,i+=s.offsetTop,s=s.offsetParent;t[0]=e.pageX-n,t[1]=e.pageY-i}else e=window.event,t[0]=e.x,t[1]=e.y;return t};class Hh{constructor(e,t,s,n,i){this._scene=e;const a=t.pickController,r=t.pivotController,l=A.vec2(),o=A.vec2(),c=A.vec2(),u=A.vec2(),h=[],p=this._scene.canvas.canvas;let d=0,f=!1;this._onTick=e.on("tick",(()=>{f=!1})),p.addEventListener("touchstart",this._canvasTouchStartHandler=t=>{if(!s.active||!s.pointerEnabled)return;t.preventDefault();const i=t.touches,o=t.changedTouches;for(n.touchStartTime=Date.now(),1===i.length&&1===o.length&&(Fh(i[0],l),s.followPointer&&(a.pickCursorPos=l,a.schedulePickSurface=!0,a.update(),s.planView||(a.picked&&a.pickedSurface&&a.pickResult&&a.pickResult.worldPos?(r.setPivotPos(a.pickResult.worldPos),!s.firstPerson&&r.startPivot()&&r.showPivot()):(s.smartPivot?r.setCanvasPivotPos(n.pointerCanvasPos):r.setPivotPos(e.camera.look),!s.firstPerson&&r.startPivot()&&r.showPivot()))));h.length{r.getPivoting()&&r.endPivot()}),p.addEventListener("touchmove",this._canvasTouchMoveHandler=t=>{if(!s.active||!s.pointerEnabled)return;if(t.stopPropagation(),t.preventDefault(),f)return;f=!0;const r=e.canvas.boundary,l=r[2],p=r[3],I=t.touches;if(t.touches.length===d){if(1===d){Fh(I[0],o),A.subVec2(o,h[0],u);const t=u[0],a=u[1];if(null!==n.longTouchTimeout&&(Math.abs(t)>s.longTapRadius||Math.abs(a)>s.longTapRadius)&&(clearTimeout(n.longTouchTimeout),n.longTouchTimeout=null),s.planView){const n=e.camera;if("perspective"===n.projection){const r=Math.abs(e.camera.eyeLookDist)*Math.tan(n.perspective.fov/2*Math.PI/180);i.panDeltaX+=t*r/p*s.touchPanRate,i.panDeltaY+=a*r/p*s.touchPanRate}else i.panDeltaX+=.5*n.ortho.scale*(t/p)*s.touchPanRate,i.panDeltaY+=.5*n.ortho.scale*(a/p)*s.touchPanRate}else i.rotateDeltaY-=t/l*(1*s.dragRotationRate),i.rotateDeltaX+=a/p*(1.5*s.dragRotationRate)}else if(2===d){const t=I[0],r=I[1];Fh(t,o),Fh(r,c);const l=A.geometricMeanVec2(h[0],h[1]),u=A.geometricMeanVec2(o,c),d=A.vec2();A.subVec2(l,u,d);const f=d[0],y=d[1],m=e.camera,v=A.distVec2([t.pageX,t.pageY],[r.pageX,r.pageY]),w=(A.distVec2(h[0],h[1])-v)*s.touchDollyRate;if(i.dollyDelta=w,Math.abs(w)<1)if("perspective"===m.projection){const t=a.pickResult?a.pickResult.worldPos:e.center,n=Math.abs(A.lenVec3(A.subVec3(t,e.camera.eye,[])))*Math.tan(m.perspective.fov/2*Math.PI/180);i.panDeltaX-=f*n/p*s.touchPanRate,i.panDeltaY-=y*n/p*s.touchPanRate}else i.panDeltaX-=.5*m.ortho.scale*(f/p)*s.touchPanRate,i.panDeltaY-=.5*m.ortho.scale*(y/p)*s.touchPanRate;n.pointerCanvasPos=u}for(let e=0;e{let n;s&&s.worldPos&&(n=s.worldPos);const i=s?s.entity.aabb:e.aabb;if(n){const s=e.camera;A.subVec3(s.eye,s.look,[]),t.cameraFlight.flyTo({aabb:i})}else t.cameraFlight.flyTo({aabb:i})};p.addEventListener("touchstart",this._canvasTouchStartHandler=e=>{if(!s.active||!s.pointerEnabled)return;null!==n.longTouchTimeout&&(clearTimeout(n.longTouchTimeout),n.longTouchTimeout=null);const i=e.touches,a=e.changedTouches;if(l=Date.now(),1===i.length&&1===a.length){u=l,Uh(i[0],c);const a=c[0],r=c[1],o=i[0].pageX,h=i[0].pageY;n.longTouchTimeout=setTimeout((()=>{t.cameraControl.fire("rightClick",{pagePos:[Math.round(o),Math.round(h)],canvasPos:[Math.round(a),Math.round(r)],event:e},!0),n.longTouchTimeout=null}),s.longTapTimeout)}else u=-1;for(;o.length{if(!s.active||!s.pointerEnabled)return;const t=Date.now(),i=e.touches,l=e.changedTouches,p=r.hasSubs("pickedSurface");null!==n.longTouchTimeout&&(clearTimeout(n.longTouchTimeout),n.longTouchTimeout=null),0===i.length&&1===l.length&&u>-1&&t-u<150&&(h>-1&&u-h<325?(Uh(l[0],a.pickCursorPos),a.schedulePickEntity=!0,a.schedulePickSurface=p,a.update(),a.pickResult?(a.pickResult.touchInput=!0,r.fire("doublePicked",a.pickResult),a.pickedSurface&&r.fire("doublePickedSurface",a.pickResult),s.doublePickFlyTo&&d(a.pickResult)):(r.fire("doublePickedNothing"),s.doublePickFlyTo&&d()),h=-1):A.distVec2(o[0],c)<4&&(Uh(l[0],a.pickCursorPos),a.schedulePickEntity=!0,a.schedulePickSurface=p,a.update(),a.pickResult?(a.pickResult.touchInput=!0,r.fire("picked",a.pickResult),a.pickedSurface&&r.fire("pickedSurface",a.pickResult)):r.fire("pickedNothing"),h=t),u=-1),o.length=i.length;for(let e=0,t=i.length;e{e.preventDefault()},this._configs={longTapTimeout:600,longTapRadius:5,active:!0,keyboardLayout:"qwerty",navMode:"orbit",planView:!1,firstPerson:!1,followPointer:!0,doublePickFlyTo:!0,panRightClick:!0,showPivot:!1,pointerEnabled:!0,constrainVertical:!1,smartPivot:!1,doubleClickTimeFrame:250,snapToVertex:true,snapToEdge:true,snapRadius:30,dragRotationRate:360,keyboardRotationRate:90,rotationInertia:0,keyboardPanRate:1,touchPanRate:1,panInertia:.5,keyboardDollyRate:10,mouseWheelDollyRate:100,touchDollyRate:.2,dollyInertia:0,dollyProximityThreshold:30,dollyMinSpeed:.04},this._states={pointerCanvasPos:A.vec2(),mouseover:!1,followPointerDirty:!0,mouseDownClientX:0,mouseDownClientY:0,mouseDownCursorX:0,mouseDownCursorY:0,touchStartTime:null,activeTouches:[],tapStartPos:A.vec2(),tapStartTime:-1,lastTapTime:-1,longTouchTimeout:null},this._updates={rotateDeltaX:0,rotateDeltaY:0,panDeltaX:0,panDeltaY:0,panDeltaZ:0,dollyDelta:0};const s=this.scene;this._controllers={cameraControl:this,pickController:new gh(this,this._configs),pivotController:new wh(s,this._configs),panController:new Ah(s),cameraFlight:new Sa(this,{duration:.5})},this._handlers=[new Lh(this.scene,this._controllers,this._configs,this._states,this._updates),new Hh(this.scene,this._controllers,this._configs,this._states,this._updates),new Th(this.scene,this._controllers,this._configs,this._states,this._updates),new Bh(this.scene,this._controllers,this._configs,this._states,this._updates),new Oh(this.scene,this._controllers,this._configs,this._states,this._updates),new Gh(this.scene,this._controllers,this._configs,this._states,this._updates),new Sh(this.scene,this._controllers,this._configs,this._states,this._updates)],this._cameraUpdater=new xh(this.scene,this._controllers,this._configs,this._states,this._updates),this.navMode=t.navMode,t.planView&&(this.planView=t.planView),this.constrainVertical=t.constrainVertical,t.keyboardLayout?this.keyboardLayout=t.keyboardLayout:this.keyMap=t.keyMap,this.doublePickFlyTo=t.doublePickFlyTo,this.panRightClick=t.panRightClick,this.active=t.active,this.followPointer=t.followPointer,this.rotationInertia=t.rotationInertia,this.keyboardPanRate=t.keyboardPanRate,this.touchPanRate=t.touchPanRate,this.keyboardRotationRate=t.keyboardRotationRate,this.dragRotationRate=t.dragRotationRate,this.touchDollyRate=t.touchDollyRate,this.dollyInertia=t.dollyInertia,this.dollyProximityThreshold=t.dollyProximityThreshold,this.dollyMinSpeed=t.dollyMinSpeed,this.panInertia=t.panInertia,this.pointerEnabled=!0,this.keyboardDollyRate=t.keyboardDollyRate,this.mouseWheelDollyRate=t.mouseWheelDollyRate}set keyMap(e){if(e=e||"qwerty",g.isString(e)){const t=this.scene.input,s={};switch(e){default:this.error("Unsupported value for 'keyMap': "+e+" defaulting to 'qwerty'");case"qwerty":s[this.PAN_LEFT]=[t.KEY_A],s[this.PAN_RIGHT]=[t.KEY_D],s[this.PAN_UP]=[t.KEY_Z],s[this.PAN_DOWN]=[t.KEY_X],s[this.PAN_BACKWARDS]=[],s[this.PAN_FORWARDS]=[],s[this.DOLLY_FORWARDS]=[t.KEY_W,t.KEY_ADD],s[this.DOLLY_BACKWARDS]=[t.KEY_S,t.KEY_SUBTRACT],s[this.ROTATE_X_POS]=[t.KEY_DOWN_ARROW],s[this.ROTATE_X_NEG]=[t.KEY_UP_ARROW],s[this.ROTATE_Y_POS]=[t.KEY_Q,t.KEY_LEFT_ARROW],s[this.ROTATE_Y_NEG]=[t.KEY_E,t.KEY_RIGHT_ARROW],s[this.AXIS_VIEW_RIGHT]=[t.KEY_NUM_1],s[this.AXIS_VIEW_BACK]=[t.KEY_NUM_2],s[this.AXIS_VIEW_LEFT]=[t.KEY_NUM_3],s[this.AXIS_VIEW_FRONT]=[t.KEY_NUM_4],s[this.AXIS_VIEW_TOP]=[t.KEY_NUM_5],s[this.AXIS_VIEW_BOTTOM]=[t.KEY_NUM_6];break;case"azerty":s[this.PAN_LEFT]=[t.KEY_Q],s[this.PAN_RIGHT]=[t.KEY_D],s[this.PAN_UP]=[t.KEY_W],s[this.PAN_DOWN]=[t.KEY_X],s[this.PAN_BACKWARDS]=[],s[this.PAN_FORWARDS]=[],s[this.DOLLY_FORWARDS]=[t.KEY_Z,t.KEY_ADD],s[this.DOLLY_BACKWARDS]=[t.KEY_S,t.KEY_SUBTRACT],s[this.ROTATE_X_POS]=[t.KEY_DOWN_ARROW],s[this.ROTATE_X_NEG]=[t.KEY_UP_ARROW],s[this.ROTATE_Y_POS]=[t.KEY_A,t.KEY_LEFT_ARROW],s[this.ROTATE_Y_NEG]=[t.KEY_E,t.KEY_RIGHT_ARROW],s[this.AXIS_VIEW_RIGHT]=[t.KEY_NUM_1],s[this.AXIS_VIEW_BACK]=[t.KEY_NUM_2],s[this.AXIS_VIEW_LEFT]=[t.KEY_NUM_3],s[this.AXIS_VIEW_FRONT]=[t.KEY_NUM_4],s[this.AXIS_VIEW_TOP]=[t.KEY_NUM_5],s[this.AXIS_VIEW_BOTTOM]=[t.KEY_NUM_6]}this._keyMap=s}else{const t=e;this._keyMap=t}}get keyMap(){return this._keyMap}_isKeyDownForAction(e,t){const s=this._keyMap[e];if(!s)return!1;t||(t=this.scene.input.keyDown);for(let e=0,n=s.length;e0?Kh(t):null,r=s&&s.length>0?Kh(s):null,l=e=>{if(!e)return;var t=!0;(r&&r[e.type]||a&&!a[e.type])&&(t=!1),t&&n.push(e.id);const s=e.children;if(s)for(var i=0,o=s.length;i * Copyright (c) 2022 Niklas von Hertzen diff --git a/dist/xeokit-sdk.min.es5.js b/dist/xeokit-sdk.min.es5.js index 9eb00185f3..18f91a5ee1 100644 --- a/dist/xeokit-sdk.min.es5.js +++ b/dist/xeokit-sdk.min.es5.js @@ -1,4 +1,4 @@ -var e,t=o().mark(RE),n=o().mark(CE),r=o().mark(UD);function i(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function a(e){for(var t=1;t=0;--i){var a=this.tryEntries[i],s=a.completion;if("root"===a.tryLoc)return r("end");if(a.tryLoc<=this.prev){var o=n.call(a,"catchLoc"),l=n.call(a,"finallyLoc");if(o&&l){if(this.prev=0;--r){var i=this.tryEntries[r];if(i.tryLoc<=this.prev&&n.call(i,"finallyLoc")&&this.prev=0;--t){var n=this.tryEntries[t];if(n.finallyLoc===e)return this.complete(n.completion,n.afterLoc),b(n),f}},catch:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var n=this.tryEntries[t];if(n.tryLoc===e){var r=n.completion;if("throw"===r.type){var i=r.arg;b(n)}return i}}throw new Error("illegal catch attempt")},delegateYield:function(e,t,n){return this.delegate={iterator:P(e),resultName:t,nextLoc:n},"next"===this.method&&(this.arg=void 0),f}},e}function l(e,t,n,r,i,a,s){try{var o=e[a](s),l=o.value}catch(e){return void n(e)}o.done?t(l):Promise.resolve(l).then(r,i)}function u(e){return function(){var t=this,n=arguments;return new Promise((function(r,i){var a=e.apply(t,n);function s(e){l(a,r,i,s,o,"next",e)}function o(e){l(a,r,i,s,o,"throw",e)}s(void 0)}))}}function c(e){return function(e){if(Array.isArray(e))return d(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||A(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function f(e,t){var n="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!n){if(Array.isArray(e)||(n=A(e))||t&&e&&"number"==typeof e.length){n&&(e=n);var r=0,i=function(){};return{s:i,n:function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:i}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var a,s=!0,o=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return s=e.done,e},e:function(e){o=!0,a=e},f:function(){try{s||null==n.return||n.return()}finally{if(o)throw a}}}}function p(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null==n)return;var r,i,a=[],s=!0,o=!1;try{for(n=n.call(e);!(s=(r=n.next()).done)&&(a.push(r.value),!t||a.length!==t);s=!0);}catch(e){o=!0,i=e}finally{try{s||null==n.return||n.return()}finally{if(o)throw i}}return a}(e,t)||A(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function A(e,t){if(e){if("string"==typeof e)return d(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?d(e,t):void 0}}function d(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n0&&void 0!==arguments[0]?arguments[0]:{};b(this,e),this._id=k.addItem(),this._context=null,this._enabled=!1,this._itemsCfg=[],this._rootMenu=null,this._menuList=[],this._menuMap={},this._itemList=[],this._itemMap={},this._shown=!1,this._nextId=0,this._eventSubs={},!1!==n.hideOnMouseDown&&(document.addEventListener("mousedown",(function(e){e.target.classList.contains("xeokit-context-menu-item")||t.hide()})),document.addEventListener("touchstart",this._canvasTouchStartHandler=function(e){e.target.classList.contains("xeokit-context-menu-item")||t.hide()})),n.items&&(this.items=n.items),this._hideOnAction=!1!==n.hideOnAction,this.context=n.context,this.enabled=!1!==n.enabled,this.hide()}return P(e,[{key:"on",value:function(e,t){var n=this._eventSubs[e];n||(n=[],this._eventSubs[e]=n),n.push(t)}},{key:"fire",value:function(e,t){var n=this._eventSubs[e];if(n)for(var r=0,i=n.length;r0,c=t._getNextId(),f=a.getTitle||function(){return a.title||""},p=a.doAction||a.callback||function(){},A=a.getEnabled||function(){return!0},d=a.getShown||function(){return!0},v=new Q(c,f,p,A,d);if(v.parentMenu=i,l.items.push(v),u){var h=e(s);v.subMenu=h,h.parentItem=v}t._itemList.push(v),t._itemMap[v.id]=v},c=0,f=o.length;c'),r.push("
    "),n)for(var i=0,a=n.length;i'+A+" [MORE]"):r.push('
  • '+A+"
  • ")}}r.push("
"),r.push("");var d=r.join("");document.body.insertAdjacentHTML("beforeend",d);var v=document.querySelector("."+e.id);e.menuElement=v,v.style["border-radius"]="4px",v.style.display="none",v.style["z-index"]=3e5,v.style.background="white",v.style.border="1px solid black",v.style["box-shadow"]="0 4px 5px 0 gray",v.oncontextmenu=function(e){e.preventDefault()};var h=this,I=null;if(n)for(var y=0,m=n.length;ywindow.innerWidth?h._showMenu(t.id,a.left-200,a.top-1):h._showMenu(t.id,a.right-5,a.top-1),I=t}}else I&&(h._hideMenu(I.id),I=null)})),i||(r.itemElement.addEventListener("click",(function(e){e.preventDefault(),h._context&&!1!==r.enabled&&(r.doAction&&r.doAction(h._context),t._hideOnAction?h.hide():(h._updateItemsTitles(),h._updateItemsEnabledStatus()))})),r.itemElement.addEventListener("mouseenter",(function(e){e.preventDefault(),!1!==r.enabled&&r.doHover&&r.doHover(h._context)})))},E=0,T=w.length;Ewindow.innerHeight&&(n=window.innerHeight-r),t+i>window.innerWidth&&(t=window.innerWidth-i),e.style.left=t+"px",e.style.top=n+"px"}},{key:"_hideMenuElement",value:function(e){e.style.display="none"}}]),e}(),z=function(){function e(t){var n=this,r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};b(this,e),this.viewer=t,this.scene=this.viewer.scene,this._lensCursorDiv=document.createElement("div"),this.viewer.scene.canvas.canvas.parentNode.insertBefore(this._lensCursorDiv,this.viewer.scene.canvas.canvas),this._lensCursorDiv.style.background="pink",this._lensCursorDiv.style.border="2px solid red",this._lensCursorDiv.style.borderRadius="20px",this._lensCursorDiv.style.width="10px",this._lensCursorDiv.style.height="10px",this._lensCursorDiv.style.margin="-200px -200px",this._lensCursorDiv.style.zIndex="100000",this._lensCursorDiv.style.position="absolute",this._lensCursorDiv.style.pointerEvents="none",this._lensContainer=document.createElement("div"),this._lensContainer.style.border="1px solid black",this._lensContainer.style.background="white",this._lensContainer.style.borderRadius="50%",this._lensContainer.style.width="300px",this._lensContainer.style.height="300px",this._lensContainer.style.marginTop="85px",this._lensContainer.style.marginLeft="25px",this._lensContainer.style.zIndex="15000",this._lensContainer.style.position="absolute",this._lensContainer.style.pointerEvents="none",this._lensContainer.style.visibility="hidden",this._lensCanvas=document.createElement("canvas"),this._lensCanvas.style.borderRadius="50%",this._lensCanvas.style.width="300px",this._lensCanvas.style.height="300px",this._lensCanvas.style.zIndex="15000",this._lensCanvas.style.pointerEvents="none",document.body.appendChild(this._lensContainer),this._lensContainer.appendChild(this._lensCanvas),this._lensCanvasContext=this._lensCanvas.getContext("2d"),this._canvasElement=this.viewer.scene.canvas.canvas,this._canvasPos=null,this._snappedCanvasPos=null,this._lensPosToggle=!0,this._zoomLevel=r.zoomLevel||2,this._active=!1!==r.active,this._visible=!1,this._snapped=!1,this._onViewerRendering=this.viewer.scene.on("rendering",(function(){n._active&&n._visible&&n.update()}))}return P(e,[{key:"update",value:function(){if(this._active&&this._visible&&this._canvasPos){var e=this._lensContainer.getBoundingClientRect(),t=this._canvasElement.getBoundingClientRect(),n=this._canvasPos[0]e.left&&this._canvasPos[1]e.top;this._lensContainer.style.marginLeft="25px",n&&(this._lensPosToggle?this._lensContainer.style.marginTop="".concat(t.bottom-t.top-this._lensCanvas.height-85,"px"):this._lensContainer.style.marginTop="85px",this._lensPosToggle=!this._lensPosToggle),this._lensCanvasContext.clearRect(0,0,this._lensCanvas.width,this._lensCanvas.height);var r=Math.max(this._lensCanvas.width,this._lensCanvas.height)/this._zoomLevel;this._lensCanvasContext.drawImage(this._canvasElement,this._canvasPos[0]-r/2,this._canvasPos[1]-r/2,r,r,0,0,this._lensCanvas.width,this._lensCanvas.height);var i=[(e.left+e.right)/2,(e.top+e.bottom)/2];if(this._snappedCanvasPos){var a=this._snappedCanvasPos[0]-this._canvasPos[0],s=this._snappedCanvasPos[1]-this._canvasPos[1];this._lensCursorDiv.style.marginLeft="".concat(i[0]+a*this._zoomLevel-10,"px"),this._lensCursorDiv.style.marginTop="".concat(i[1]+s*this._zoomLevel-10,"px")}else this._lensCursorDiv.style.marginLeft="".concat(i[0]-10,"px"),this._lensCursorDiv.style.marginTop="".concat(i[1]-10,"px")}}},{key:"zoomFactor",get:function(){return this._zoomFactor},set:function(e){this._zoomFactor=e,this.update()}},{key:"canvasPos",get:function(){return this._canvasPos},set:function(e){this._canvasPos=e,this.update()}},{key:"snappedCanvasPos",get:function(){return this._snappedCanvasPos},set:function(e){this._snappedCanvasPos=e,this.update()}},{key:"snapped",get:function(){return this._snapped},set:function(e){this._snapped=e,e?(this._lensCursorDiv.style.background="greenyellow",this._lensCursorDiv.style.border="2px solid green"):(this._lensCursorDiv.style.background="pink",this._lensCursorDiv.style.border="2px solid red")}},{key:"active",get:function(){return this._active},set:function(e){this._active=e,this._lensContainer.style.visibility=e&&this._visible?"visible":"hidden",e&&this._visible||(this._lensCursorDiv.style.marginLeft="-100px",this._lensCursorDiv.style.marginTop="-100px"),this.update()}},{key:"visible",get:function(){return this._visible},set:function(e){this._visible=e,this._lensContainer.style.visibility=e&&this._active?"visible":"hidden",e&&this._active||(this._lensCursorDiv.style.marginLeft="-100px",this._lensCursorDiv.style.marginTop="-100px"),this.update()}},{key:"destroy",value:function(){this._destroyed||(this.viewer.scene.off(this._onViewerRendering),this._lensContainer.removeChild(this._lensCanvas),document.body.removeChild(this._lensContainer),this._destroyed=!0)}}]),e}(),K=!0,Y=K?Float64Array:Float32Array,X=new Y(3),q=new Y(16),J=new Y(16),Z=new Y(4),$={setDoublePrecisionEnabled:function(e){Y=(K=e)?Float64Array:Float32Array},getDoublePrecisionEnabled:function(){return K},MIN_DOUBLE:-Number.MAX_SAFE_INTEGER,MAX_DOUBLE:Number.MAX_SAFE_INTEGER,MAX_INT:1e7,DEGTORAD:.0174532925,RADTODEG:57.295779513,unglobalizeObjectId:function(e,t){var n=t.indexOf("#");return n===e.length&&t.startsWith(e)?t.substring(n+1):t},globalizeObjectId:function(e,t){return e+"#"+t},safeInv:function(e){var t=1/e;return isNaN(t)||!isFinite(t)?1:t},vec2:function(e){return new Y(e||2)},vec3:function(e){return new Y(e||3)},vec4:function(e){return new Y(e||4)},mat3:function(e){return new Y(e||9)},mat3ToMat4:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:new Y(16);return t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=0,t[4]=e[3],t[5]=e[4],t[6]=e[5],t[7]=0,t[8]=e[6],t[9]=e[7],t[10]=e[8],t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t},mat4:function(e){return new Y(e||16)},mat4ToMat3:function(e,t){},doublesToFloats:function(e,t,n){for(var r=new Y(2),i=0,a=e.length;i>8&255]+e[t>>16&255]+e[t>>24&255],"-").concat(e[255&n]).concat(e[n>>8&255],"-").concat(e[n>>16&15|64]).concat(e[n>>24&255],"-").concat(e[63&r|128]).concat(e[r>>8&255],"-").concat(e[r>>16&255]).concat(e[r>>24&255]).concat(e[255&i]).concat(e[i>>8&255]).concat(e[i>>16&255]).concat(e[i>>24&255])}}(),clamp:function(e,t,n){return Math.max(t,Math.min(n,e))},fmod:function(e,t){if(e1?1:n,Math.acos(n)},vec3FromMat4Scale:function(){var e=new Y(3);return function(t,n){return e[0]=t[0],e[1]=t[1],e[2]=t[2],n[0]=$.lenVec3(e),e[0]=t[4],e[1]=t[5],e[2]=t[6],n[1]=$.lenVec3(e),e[0]=t[8],e[1]=t[9],e[2]=t[10],n[2]=$.lenVec3(e),n}}(),vecToArray:function(){function e(e){return Math.round(1e5*e)/1e5}return function(t){for(var n=0,r=(t=Array.prototype.slice.call(t)).length;n0&&void 0!==arguments[0]?arguments[0]:new Y(16);return e[0]=1,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=1,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[10]=1,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e},identityMat3:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:new Y(9);return e[0]=1,e[1]=0,e[2]=0,e[3]=0,e[4]=1,e[5]=0,e[6]=0,e[7]=0,e[8]=1,e},isIdentityMat4:function(e){return 1===e[0]&&0===e[1]&&0===e[2]&&0===e[3]&&0===e[4]&&1===e[5]&&0===e[6]&&0===e[7]&&0===e[8]&&0===e[9]&&1===e[10]&&0===e[11]&&0===e[12]&&0===e[13]&&0===e[14]&&1===e[15]},negateMat4:function(e,t){return t||(t=e),t[0]=-e[0],t[1]=-e[1],t[2]=-e[2],t[3]=-e[3],t[4]=-e[4],t[5]=-e[5],t[6]=-e[6],t[7]=-e[7],t[8]=-e[8],t[9]=-e[9],t[10]=-e[10],t[11]=-e[11],t[12]=-e[12],t[13]=-e[13],t[14]=-e[14],t[15]=-e[15],t},addMat4:function(e,t,n){return n||(n=e),n[0]=e[0]+t[0],n[1]=e[1]+t[1],n[2]=e[2]+t[2],n[3]=e[3]+t[3],n[4]=e[4]+t[4],n[5]=e[5]+t[5],n[6]=e[6]+t[6],n[7]=e[7]+t[7],n[8]=e[8]+t[8],n[9]=e[9]+t[9],n[10]=e[10]+t[10],n[11]=e[11]+t[11],n[12]=e[12]+t[12],n[13]=e[13]+t[13],n[14]=e[14]+t[14],n[15]=e[15]+t[15],n},addMat4Scalar:function(e,t,n){return n||(n=e),n[0]=e[0]+t,n[1]=e[1]+t,n[2]=e[2]+t,n[3]=e[3]+t,n[4]=e[4]+t,n[5]=e[5]+t,n[6]=e[6]+t,n[7]=e[7]+t,n[8]=e[8]+t,n[9]=e[9]+t,n[10]=e[10]+t,n[11]=e[11]+t,n[12]=e[12]+t,n[13]=e[13]+t,n[14]=e[14]+t,n[15]=e[15]+t,n},addScalarMat4:function(e,t,n){return $.addMat4Scalar(t,e,n)},subMat4:function(e,t,n){return n||(n=e),n[0]=e[0]-t[0],n[1]=e[1]-t[1],n[2]=e[2]-t[2],n[3]=e[3]-t[3],n[4]=e[4]-t[4],n[5]=e[5]-t[5],n[6]=e[6]-t[6],n[7]=e[7]-t[7],n[8]=e[8]-t[8],n[9]=e[9]-t[9],n[10]=e[10]-t[10],n[11]=e[11]-t[11],n[12]=e[12]-t[12],n[13]=e[13]-t[13],n[14]=e[14]-t[14],n[15]=e[15]-t[15],n},subMat4Scalar:function(e,t,n){return n||(n=e),n[0]=e[0]-t,n[1]=e[1]-t,n[2]=e[2]-t,n[3]=e[3]-t,n[4]=e[4]-t,n[5]=e[5]-t,n[6]=e[6]-t,n[7]=e[7]-t,n[8]=e[8]-t,n[9]=e[9]-t,n[10]=e[10]-t,n[11]=e[11]-t,n[12]=e[12]-t,n[13]=e[13]-t,n[14]=e[14]-t,n[15]=e[15]-t,n},subScalarMat4:function(e,t,n){return n||(n=t),n[0]=e-t[0],n[1]=e-t[1],n[2]=e-t[2],n[3]=e-t[3],n[4]=e-t[4],n[5]=e-t[5],n[6]=e-t[6],n[7]=e-t[7],n[8]=e-t[8],n[9]=e-t[9],n[10]=e-t[10],n[11]=e-t[11],n[12]=e-t[12],n[13]=e-t[13],n[14]=e-t[14],n[15]=e-t[15],n},mulMat4:function(e,t,n){n||(n=e);var r=e[0],i=e[1],a=e[2],s=e[3],o=e[4],l=e[5],u=e[6],c=e[7],f=e[8],p=e[9],A=e[10],d=e[11],v=e[12],h=e[13],I=e[14],y=e[15],m=t[0],w=t[1],g=t[2],E=t[3],T=t[4],b=t[5],D=t[6],P=t[7],R=t[8],C=t[9],_=t[10],B=t[11],O=t[12],S=t[13],N=t[14],L=t[15];return n[0]=m*r+w*o+g*f+E*v,n[1]=m*i+w*l+g*p+E*h,n[2]=m*a+w*u+g*A+E*I,n[3]=m*s+w*c+g*d+E*y,n[4]=T*r+b*o+D*f+P*v,n[5]=T*i+b*l+D*p+P*h,n[6]=T*a+b*u+D*A+P*I,n[7]=T*s+b*c+D*d+P*y,n[8]=R*r+C*o+_*f+B*v,n[9]=R*i+C*l+_*p+B*h,n[10]=R*a+C*u+_*A+B*I,n[11]=R*s+C*c+_*d+B*y,n[12]=O*r+S*o+N*f+L*v,n[13]=O*i+S*l+N*p+L*h,n[14]=O*a+S*u+N*A+L*I,n[15]=O*s+S*c+N*d+L*y,n},mulMat3:function(e,t,n){n||(n=new Y(9));var r=e[0],i=e[3],a=e[6],s=e[1],o=e[4],l=e[7],u=e[2],c=e[5],f=e[8],p=t[0],A=t[3],d=t[6],v=t[1],h=t[4],I=t[7],y=t[2],m=t[5],w=t[8];return n[0]=r*p+i*v+a*y,n[3]=r*A+i*h+a*m,n[6]=r*d+i*I+a*w,n[1]=s*p+o*v+l*y,n[4]=s*A+o*h+l*m,n[7]=s*d+o*I+l*w,n[2]=u*p+c*v+f*y,n[5]=u*A+c*h+f*m,n[8]=u*d+c*I+f*w,n},mulMat4Scalar:function(e,t,n){return n||(n=e),n[0]=e[0]*t,n[1]=e[1]*t,n[2]=e[2]*t,n[3]=e[3]*t,n[4]=e[4]*t,n[5]=e[5]*t,n[6]=e[6]*t,n[7]=e[7]*t,n[8]=e[8]*t,n[9]=e[9]*t,n[10]=e[10]*t,n[11]=e[11]*t,n[12]=e[12]*t,n[13]=e[13]*t,n[14]=e[14]*t,n[15]=e[15]*t,n},mulMat4v4:function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:$.vec4(),r=t[0],i=t[1],a=t[2],s=t[3];return n[0]=e[0]*r+e[4]*i+e[8]*a+e[12]*s,n[1]=e[1]*r+e[5]*i+e[9]*a+e[13]*s,n[2]=e[2]*r+e[6]*i+e[10]*a+e[14]*s,n[3]=e[3]*r+e[7]*i+e[11]*a+e[15]*s,n},transposeMat4:function(e,t){var n=e[4],r=e[14],i=e[8],a=e[13],s=e[12],o=e[9];if(!t||e===t){var l=e[1],u=e[2],c=e[3],f=e[6],p=e[7],A=e[11];return e[1]=n,e[2]=i,e[3]=s,e[4]=l,e[6]=o,e[7]=a,e[8]=u,e[9]=f,e[11]=r,e[12]=c,e[13]=p,e[14]=A,e}return t[0]=e[0],t[1]=n,t[2]=i,t[3]=s,t[4]=e[1],t[5]=e[5],t[6]=o,t[7]=a,t[8]=e[2],t[9]=e[6],t[10]=e[10],t[11]=r,t[12]=e[3],t[13]=e[7],t[14]=e[11],t[15]=e[15],t},transposeMat3:function(e,t){if(t===e){var n=e[1],r=e[2],i=e[5];t[1]=e[3],t[2]=e[6],t[3]=n,t[5]=e[7],t[6]=r,t[7]=i}else t[0]=e[0],t[1]=e[3],t[2]=e[6],t[3]=e[1],t[4]=e[4],t[5]=e[7],t[6]=e[2],t[7]=e[5],t[8]=e[8];return t},determinantMat4:function(e){var t=e[0],n=e[1],r=e[2],i=e[3],a=e[4],s=e[5],o=e[6],l=e[7],u=e[8],c=e[9],f=e[10],p=e[11],A=e[12],d=e[13],v=e[14],h=e[15];return A*c*o*i-u*d*o*i-A*s*f*i+a*d*f*i+u*s*v*i-a*c*v*i-A*c*r*l+u*d*r*l+A*n*f*l-t*d*f*l-u*n*v*l+t*c*v*l+A*s*r*p-a*d*r*p-A*n*o*p+t*d*o*p+a*n*v*p-t*s*v*p-u*s*r*h+a*c*r*h+u*n*o*h-t*c*o*h-a*n*f*h+t*s*f*h},inverseMat4:function(e,t){t||(t=e);var n=e[0],r=e[1],i=e[2],a=e[3],s=e[4],o=e[5],l=e[6],u=e[7],c=e[8],f=e[9],p=e[10],A=e[11],d=e[12],v=e[13],h=e[14],I=e[15],y=n*o-r*s,m=n*l-i*s,w=n*u-a*s,g=r*l-i*o,E=r*u-a*o,T=i*u-a*l,b=c*v-f*d,D=c*h-p*d,P=c*I-A*d,R=f*h-p*v,C=f*I-A*v,_=p*I-A*h,B=1/(y*_-m*C+w*R+g*P-E*D+T*b);return t[0]=(o*_-l*C+u*R)*B,t[1]=(-r*_+i*C-a*R)*B,t[2]=(v*T-h*E+I*g)*B,t[3]=(-f*T+p*E-A*g)*B,t[4]=(-s*_+l*P-u*D)*B,t[5]=(n*_-i*P+a*D)*B,t[6]=(-d*T+h*w-I*m)*B,t[7]=(c*T-p*w+A*m)*B,t[8]=(s*C-o*P+u*b)*B,t[9]=(-n*C+r*P-a*b)*B,t[10]=(d*E-v*w+I*y)*B,t[11]=(-c*E+f*w-A*y)*B,t[12]=(-s*R+o*D-l*b)*B,t[13]=(n*R-r*D+i*b)*B,t[14]=(-d*g+v*m-h*y)*B,t[15]=(c*g-f*m+p*y)*B,t},traceMat4:function(e){return e[0]+e[5]+e[10]+e[15]},translationMat4v:function(e,t){var n=t||$.identityMat4();return n[12]=e[0],n[13]=e[1],n[14]=e[2],n},translationMat3v:function(e,t){var n=t||$.identityMat3();return n[6]=e[0],n[7]=e[1],n},translationMat4c:(H=new Y(3),function(e,t,n,r){return H[0]=e,H[1]=t,H[2]=n,$.translationMat4v(H,r)}),translationMat4s:function(e,t){return $.translationMat4c(e,e,e,t)},translateMat4v:function(e,t){return $.translateMat4c(e[0],e[1],e[2],t)},translateMat4c:function(e,t,n,r){var i=r[3];r[0]+=i*e,r[1]+=i*t,r[2]+=i*n;var a=r[7];r[4]+=a*e,r[5]+=a*t,r[6]+=a*n;var s=r[11];r[8]+=s*e,r[9]+=s*t,r[10]+=s*n;var o=r[15];return r[12]+=o*e,r[13]+=o*t,r[14]+=o*n,r},setMat4Translation:function(e,t,n){return n[0]=e[0],n[1]=e[1],n[2]=e[2],n[3]=e[3],n[4]=e[4],n[5]=e[5],n[6]=e[6],n[7]=e[7],n[8]=e[8],n[9]=e[9],n[10]=e[10],n[11]=e[11],n[12]=t[0],n[13]=t[1],n[14]=t[2],n[15]=e[15],n},rotationMat4v:function(e,t,n){var r,i,a,s,o,l,u=$.normalizeVec4([t[0],t[1],t[2],0],[]),c=Math.sin(e),f=Math.cos(e),p=1-f,A=u[0],d=u[1],v=u[2];return r=A*d,i=d*v,a=v*A,s=A*c,o=d*c,l=v*c,(n=n||$.mat4())[0]=p*A*A+f,n[1]=p*r+l,n[2]=p*a-o,n[3]=0,n[4]=p*r-l,n[5]=p*d*d+f,n[6]=p*i+s,n[7]=0,n[8]=p*a+o,n[9]=p*i-s,n[10]=p*v*v+f,n[11]=0,n[12]=0,n[13]=0,n[14]=0,n[15]=1,n},rotationMat4c:function(e,t,n,r,i){return $.rotationMat4v(e,[t,n,r],i)},scalingMat4v:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:$.identityMat4();return t[0]=e[0],t[5]=e[1],t[10]=e[2],t},scalingMat3v:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:$.identityMat3();return t[0]=e[0],t[4]=e[1],t},scalingMat4c:function(){var e=new Y(3);return function(t,n,r,i){return e[0]=t,e[1]=n,e[2]=r,$.scalingMat4v(e,i)}}(),scaleMat4c:function(e,t,n,r){return r[0]*=e,r[4]*=t,r[8]*=n,r[1]*=e,r[5]*=t,r[9]*=n,r[2]*=e,r[6]*=t,r[10]*=n,r[3]*=e,r[7]*=t,r[11]*=n,r},scaleMat4v:function(e,t){var n=e[0],r=e[1],i=e[2];return t[0]*=n,t[4]*=r,t[8]*=i,t[1]*=n,t[5]*=r,t[9]*=i,t[2]*=n,t[6]*=r,t[10]*=i,t[3]*=n,t[7]*=r,t[11]*=i,t},scalingMat4s:function(e){return $.scalingMat4c(e,e,e)},rotationTranslationMat4:function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:$.mat4(),r=e[0],i=e[1],a=e[2],s=e[3],o=r+r,l=i+i,u=a+a,c=r*o,f=r*l,p=r*u,A=i*l,d=i*u,v=a*u,h=s*o,I=s*l,y=s*u;return n[0]=1-(A+v),n[1]=f+y,n[2]=p-I,n[3]=0,n[4]=f-y,n[5]=1-(c+v),n[6]=d+h,n[7]=0,n[8]=p+I,n[9]=d-h,n[10]=1-(c+A),n[11]=0,n[12]=t[0],n[13]=t[1],n[14]=t[2],n[15]=1,n},mat4ToEuler:function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:$.vec4(),r=$.clamp,i=e[0],a=e[4],s=e[8],o=e[1],l=e[5],u=e[9],c=e[2],f=e[6],p=e[10];return"XYZ"===t?(n[1]=Math.asin(r(s,-1,1)),Math.abs(s)<.99999?(n[0]=Math.atan2(-u,p),n[2]=Math.atan2(-a,i)):(n[0]=Math.atan2(f,l),n[2]=0)):"YXZ"===t?(n[0]=Math.asin(-r(u,-1,1)),Math.abs(u)<.99999?(n[1]=Math.atan2(s,p),n[2]=Math.atan2(o,l)):(n[1]=Math.atan2(-c,i),n[2]=0)):"ZXY"===t?(n[0]=Math.asin(r(f,-1,1)),Math.abs(f)<.99999?(n[1]=Math.atan2(-c,p),n[2]=Math.atan2(-a,l)):(n[1]=0,n[2]=Math.atan2(o,i))):"ZYX"===t?(n[1]=Math.asin(-r(c,-1,1)),Math.abs(c)<.99999?(n[0]=Math.atan2(f,p),n[2]=Math.atan2(o,i)):(n[0]=0,n[2]=Math.atan2(-a,l))):"YZX"===t?(n[2]=Math.asin(r(o,-1,1)),Math.abs(o)<.99999?(n[0]=Math.atan2(-u,l),n[1]=Math.atan2(-c,i)):(n[0]=0,n[1]=Math.atan2(s,p))):"XZY"===t&&(n[2]=Math.asin(-r(a,-1,1)),Math.abs(a)<.99999?(n[0]=Math.atan2(f,l),n[1]=Math.atan2(s,i)):(n[0]=Math.atan2(-u,p),n[1]=0)),n},composeMat4:function(e,t,n){var r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:$.mat4();return $.quaternionToRotationMat4(t,r),$.scaleMat4v(n,r),$.translateMat4v(e,r),r},decomposeMat4:function(){var e=new Y(3),t=new Y(16);return function(n,r,i,a){e[0]=n[0],e[1]=n[1],e[2]=n[2];var s=$.lenVec3(e);e[0]=n[4],e[1]=n[5],e[2]=n[6];var o=$.lenVec3(e);e[8]=n[8],e[9]=n[9],e[10]=n[10];var l=$.lenVec3(e);$.determinantMat4(n)<0&&(s=-s),r[0]=n[12],r[1]=n[13],r[2]=n[14],t.set(n);var u=1/s,c=1/o,f=1/l;return t[0]*=u,t[1]*=u,t[2]*=u,t[4]*=c,t[5]*=c,t[6]*=c,t[8]*=f,t[9]*=f,t[10]*=f,$.mat4ToQuaternion(t,i),a[0]=s,a[1]=o,a[2]=l,this}}(),getColMat4:function(e,t){var n=4*t;return[e[n],e[n+1],e[n+2],e[n+3]]},setRowMat4:function(e,t,n){e[t]=n[0],e[t+4]=n[1],e[t+8]=n[2],e[t+12]=n[3]},lookAtMat4v:function(e,t,n,r){r||(r=$.mat4());var i,a,s,o,l,u,c,f,p,A,d=e[0],v=e[1],h=e[2],I=n[0],y=n[1],m=n[2],w=t[0],g=t[1],E=t[2];return d===w&&v===g&&h===E?$.identityMat4():(i=d-w,a=v-g,s=h-E,o=y*(s*=A=1/Math.sqrt(i*i+a*a+s*s))-m*(a*=A),l=m*(i*=A)-I*s,u=I*a-y*i,(A=Math.sqrt(o*o+l*l+u*u))?(o*=A=1/A,l*=A,u*=A):(o=0,l=0,u=0),c=a*u-s*l,f=s*o-i*u,p=i*l-a*o,(A=Math.sqrt(c*c+f*f+p*p))?(c*=A=1/A,f*=A,p*=A):(c=0,f=0,p=0),r[0]=o,r[1]=c,r[2]=i,r[3]=0,r[4]=l,r[5]=f,r[6]=a,r[7]=0,r[8]=u,r[9]=p,r[10]=s,r[11]=0,r[12]=-(o*d+l*v+u*h),r[13]=-(c*d+f*v+p*h),r[14]=-(i*d+a*v+s*h),r[15]=1,r)},lookAtMat4c:function(e,t,n,r,i,a,s,o,l){return $.lookAtMat4v([e,t,n],[r,i,a],[s,o,l],[])},orthoMat4c:function(e,t,n,r,i,a,s){s||(s=$.mat4());var o=t-e,l=r-n,u=a-i;return s[0]=2/o,s[1]=0,s[2]=0,s[3]=0,s[4]=0,s[5]=2/l,s[6]=0,s[7]=0,s[8]=0,s[9]=0,s[10]=-2/u,s[11]=0,s[12]=-(e+t)/o,s[13]=-(r+n)/l,s[14]=-(a+i)/u,s[15]=1,s},frustumMat4v:function(e,t,n){n||(n=$.mat4());var r=[e[0],e[1],e[2],0],i=[t[0],t[1],t[2],0];$.addVec4(i,r,q),$.subVec4(i,r,J);var a=2*r[2],s=J[0],o=J[1],l=J[2];return n[0]=a/s,n[1]=0,n[2]=0,n[3]=0,n[4]=0,n[5]=a/o,n[6]=0,n[7]=0,n[8]=q[0]/s,n[9]=q[1]/o,n[10]=-q[2]/l,n[11]=-1,n[12]=0,n[13]=0,n[14]=-a*i[2]/l,n[15]=0,n},frustumMat4:function(e,t,n,r,i,a,s){s||(s=$.mat4());var o=t-e,l=r-n,u=a-i;return s[0]=2*i/o,s[1]=0,s[2]=0,s[3]=0,s[4]=0,s[5]=2*i/l,s[6]=0,s[7]=0,s[8]=(t+e)/o,s[9]=(r+n)/l,s[10]=-(a+i)/u,s[11]=-1,s[12]=0,s[13]=0,s[14]=-a*i*2/u,s[15]=0,s},perspectiveMat4:function(e,t,n,r,i){var a=[],s=[];return a[2]=n,s[2]=r,s[1]=a[2]*Math.tan(e/2),a[1]=-s[1],s[0]=s[1]*t,a[0]=-s[0],$.frustumMat4v(a,s,i)},compareMat4:function(e,t){return e[0]===t[0]&&e[1]===t[1]&&e[2]===t[2]&&e[3]===t[3]&&e[4]===t[4]&&e[5]===t[5]&&e[6]===t[6]&&e[7]===t[7]&&e[8]===t[8]&&e[9]===t[9]&&e[10]===t[10]&&e[11]===t[11]&&e[12]===t[12]&&e[13]===t[13]&&e[14]===t[14]&&e[15]===t[15]},transformPoint3:function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:$.vec3(),r=t[0],i=t[1],a=t[2];return n[0]=e[0]*r+e[4]*i+e[8]*a+e[12],n[1]=e[1]*r+e[5]*i+e[9]*a+e[13],n[2]=e[2]*r+e[6]*i+e[10]*a+e[14],n},transformPoint4:function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:$.vec4();return n[0]=e[0]*t[0]+e[4]*t[1]+e[8]*t[2]+e[12]*t[3],n[1]=e[1]*t[0]+e[5]*t[1]+e[9]*t[2]+e[13]*t[3],n[2]=e[2]*t[0]+e[6]*t[1]+e[10]*t[2]+e[14]*t[3],n[3]=e[3]*t[0]+e[7]*t[1]+e[11]*t[2]+e[15]*t[3],n},transformPoints3:function(e,t,n){for(var r,i,a,s,o,l=n||[],u=t.length,c=e[0],f=e[1],p=e[2],A=e[3],d=e[4],v=e[5],h=e[6],I=e[7],y=e[8],m=e[9],w=e[10],g=e[11],E=e[12],T=e[13],b=e[14],D=e[15],P=0;P2&&void 0!==arguments[2]?arguments[2]:t,o=t.length,l=e[0],u=e[1],c=e[2];e[3];var f=e[4],p=e[5],A=e[6];e[7];var d=e[8],v=e[9],h=e[10];e[11];var I=e[12],y=e[13],m=e[14];for(e[15],n=0;n2&&void 0!==arguments[2]?arguments[2]:t,o=t.length,l=e[0],u=e[1],c=e[2],f=e[3],p=e[4],A=e[5],d=e[6],v=e[7],h=e[8],I=e[9],y=e[10],m=e[11],w=e[12],g=e[13],E=e[14],T=e[15];for(n=0;n3&&void 0!==arguments[3]?arguments[3]:e,i=Math.cos(n),a=Math.sin(n),s=e[0]-t[0],o=e[1]-t[1];return r[0]=s*i-o*a+t[0],r[1]=s*a+o*i+t[1],e},rotateVec3X:function(e,t,n,r){var i=[],a=[];return i[0]=e[0]-t[0],i[1]=e[1]-t[1],i[2]=e[2]-t[2],a[0]=i[0],a[1]=i[1]*Math.cos(n)-i[2]*Math.sin(n),a[2]=i[1]*Math.sin(n)+i[2]*Math.cos(n),r[0]=a[0]+t[0],r[1]=a[1]+t[1],r[2]=a[2]+t[2],r},rotateVec3Y:function(e,t,n,r){var i=[],a=[];return i[0]=e[0]-t[0],i[1]=e[1]-t[1],i[2]=e[2]-t[2],a[0]=i[2]*Math.sin(n)+i[0]*Math.cos(n),a[1]=i[1],a[2]=i[2]*Math.cos(n)-i[0]*Math.sin(n),r[0]=a[0]+t[0],r[1]=a[1]+t[1],r[2]=a[2]+t[2],r},rotateVec3Z:function(e,t,n,r){var i=[],a=[];return i[0]=e[0]-t[0],i[1]=e[1]-t[1],i[2]=e[2]-t[2],a[0]=i[0]*Math.cos(n)-i[1]*Math.sin(n),a[1]=i[0]*Math.sin(n)+i[1]*Math.cos(n),a[2]=i[2],r[0]=a[0]+t[0],r[1]=a[1]+t[1],r[2]=a[2]+t[2],r},projectVec4:function(e,t){var n=1/e[3];return(t=t||$.vec2())[0]=e[0]*n,t[1]=e[1]*n,t},unprojectVec3:(M=new Y(16),x=new Y(16),F=new Y(16),function(e,t,n,r){return this.transformVec3(this.mulMat4(this.inverseMat4(t,M),this.inverseMat4(n,x),F),e,r)}),lerpVec3:function(e,t,n,r,i,a){var s=a||$.vec3(),o=(e-t)/(n-t);return s[0]=r[0]+o*(i[0]-r[0]),s[1]=r[1]+o*(i[1]-r[1]),s[2]=r[2]+o*(i[2]-r[2]),s},lerpMat4:function(e,t,n,r,i,a){var s=a||$.mat4(),o=(e-t)/(n-t);return s[0]=r[0]+o*(i[0]-r[0]),s[1]=r[1]+o*(i[1]-r[1]),s[2]=r[2]+o*(i[2]-r[2]),s[3]=r[3]+o*(i[3]-r[3]),s[4]=r[4]+o*(i[4]-r[4]),s[5]=r[5]+o*(i[5]-r[5]),s[6]=r[6]+o*(i[6]-r[6]),s[7]=r[7]+o*(i[7]-r[7]),s[8]=r[8]+o*(i[8]-r[8]),s[9]=r[9]+o*(i[9]-r[9]),s[10]=r[10]+o*(i[10]-r[10]),s[11]=r[11]+o*(i[11]-r[11]),s[12]=r[12]+o*(i[12]-r[12]),s[13]=r[13]+o*(i[13]-r[13]),s[14]=r[14]+o*(i[14]-r[14]),s[15]=r[15]+o*(i[15]-r[15]),s},flatten:function(e){var t,n,r,i,a,s=[];for(t=0,n=e.length;t0&&void 0!==arguments[0]?arguments[0]:$.vec4();return e[0]=0,e[1]=0,e[2]=0,e[3]=1,e},eulerToQuaternion:function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:$.vec4(),r=e[0]*$.DEGTORAD/2,i=e[1]*$.DEGTORAD/2,a=e[2]*$.DEGTORAD/2,s=Math.cos(r),o=Math.cos(i),l=Math.cos(a),u=Math.sin(r),c=Math.sin(i),f=Math.sin(a);return"XYZ"===t?(n[0]=u*o*l+s*c*f,n[1]=s*c*l-u*o*f,n[2]=s*o*f+u*c*l,n[3]=s*o*l-u*c*f):"YXZ"===t?(n[0]=u*o*l+s*c*f,n[1]=s*c*l-u*o*f,n[2]=s*o*f-u*c*l,n[3]=s*o*l+u*c*f):"ZXY"===t?(n[0]=u*o*l-s*c*f,n[1]=s*c*l+u*o*f,n[2]=s*o*f+u*c*l,n[3]=s*o*l-u*c*f):"ZYX"===t?(n[0]=u*o*l-s*c*f,n[1]=s*c*l+u*o*f,n[2]=s*o*f-u*c*l,n[3]=s*o*l+u*c*f):"YZX"===t?(n[0]=u*o*l+s*c*f,n[1]=s*c*l+u*o*f,n[2]=s*o*f-u*c*l,n[3]=s*o*l-u*c*f):"XZY"===t&&(n[0]=u*o*l-s*c*f,n[1]=s*c*l-u*o*f,n[2]=s*o*f+u*c*l,n[3]=s*o*l+u*c*f),n},mat4ToQuaternion:function(e){var t,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:$.vec4(),r=e[0],i=e[4],a=e[8],s=e[1],o=e[5],l=e[9],u=e[2],c=e[6],f=e[10],p=r+o+f;return p>0?(t=.5/Math.sqrt(p+1),n[3]=.25/t,n[0]=(c-l)*t,n[1]=(a-u)*t,n[2]=(s-i)*t):r>o&&r>f?(t=2*Math.sqrt(1+r-o-f),n[3]=(c-l)/t,n[0]=.25*t,n[1]=(i+s)/t,n[2]=(a+u)/t):o>f?(t=2*Math.sqrt(1+o-r-f),n[3]=(a-u)/t,n[0]=(i+s)/t,n[1]=.25*t,n[2]=(l+c)/t):(t=2*Math.sqrt(1+f-r-o),n[3]=(s-i)/t,n[0]=(a+u)/t,n[1]=(l+c)/t,n[2]=.25*t),n},vec3PairToQuaternion:function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:$.vec4(),r=Math.sqrt($.dotVec3(e,e)*$.dotVec3(t,t)),i=r+$.dotVec3(e,t);return i<1e-8*r?(i=0,Math.abs(e[0])>Math.abs(e[2])?(n[0]=-e[1],n[1]=e[0],n[2]=0):(n[0]=0,n[1]=-e[2],n[2]=e[1])):$.cross3Vec3(e,t,n),n[3]=i,$.normalizeQuaternion(n)},angleAxisToQuaternion:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:$.vec4(),n=e[3]/2,r=Math.sin(n);return t[0]=r*e[0],t[1]=r*e[1],t[2]=r*e[2],t[3]=Math.cos(n),t},quaternionToEuler:function(){var e=new Y(16);return function(t,n,r){return r=r||$.vec3(),$.quaternionToRotationMat4(t,e),$.mat4ToEuler(e,n,r),r}}(),mulQuaternions:function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:$.vec4(),r=e[0],i=e[1],a=e[2],s=e[3],o=t[0],l=t[1],u=t[2],c=t[3];return n[0]=s*o+r*c+i*u-a*l,n[1]=s*l+i*c+a*o-r*u,n[2]=s*u+a*c+r*l-i*o,n[3]=s*c-r*o-i*l-a*u,n},vec3ApplyQuaternion:function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:$.vec3(),r=t[0],i=t[1],a=t[2],s=e[0],o=e[1],l=e[2],u=e[3],c=u*r+o*a-l*i,f=u*i+l*r-s*a,p=u*a+s*i-o*r,A=-s*r-o*i-l*a;return n[0]=c*u+A*-s+f*-l-p*-o,n[1]=f*u+A*-o+p*-s-c*-l,n[2]=p*u+A*-l+c*-o-f*-s,n},quaternionToMat4:function(e,t){t=$.identityMat4(t);var n=e[0],r=e[1],i=e[2],a=e[3],s=2*n,o=2*r,l=2*i,u=s*a,c=o*a,f=l*a,p=s*n,A=o*n,d=l*n,v=o*r,h=l*r,I=l*i;return t[0]=1-(v+I),t[1]=A+f,t[2]=d-c,t[4]=A-f,t[5]=1-(p+I),t[6]=h+u,t[8]=d+c,t[9]=h-u,t[10]=1-(p+v),t},quaternionToRotationMat4:function(e,t){var n=e[0],r=e[1],i=e[2],a=e[3],s=n+n,o=r+r,l=i+i,u=n*s,c=n*o,f=n*l,p=r*o,A=r*l,d=i*l,v=a*s,h=a*o,I=a*l;return t[0]=1-(p+d),t[4]=c-I,t[8]=f+h,t[1]=c+I,t[5]=1-(u+d),t[9]=A-v,t[2]=f-h,t[6]=A+v,t[10]=1-(u+p),t[3]=0,t[7]=0,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t},normalizeQuaternion:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:e,n=$.lenVec4([e[0],e[1],e[2],e[3]]);return t[0]=e[0]/n,t[1]=e[1]/n,t[2]=e[2]/n,t[3]=e[3]/n,t},conjugateQuaternion:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:e;return t[0]=-e[0],t[1]=-e[1],t[2]=-e[2],t[3]=e[3],t},inverseQuaternion:function(e,t){return $.normalizeQuaternion($.conjugateQuaternion(e,t))},quaternionToAngleAxis:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:$.vec4(),n=(e=$.normalizeQuaternion(e,Z))[3],r=2*Math.acos(n),i=Math.sqrt(1-n*n);return i<.001?(t[0]=e[0],t[1]=e[1],t[2]=e[2]):(t[0]=e[0]/i,t[1]=e[1]/i,t[2]=e[2]/i),t[3]=r,t},AABB3:function(e){return new Y(e||6)},AABB2:function(e){return new Y(e||4)},OBB3:function(e){return new Y(e||32)},OBB2:function(e){return new Y(e||16)},Sphere3:function(e,t,n,r){return new Y([e,t,n,r])},transformOBB3:function(e,t){var n,r,i,a,s=arguments.length>2&&void 0!==arguments[2]?arguments[2]:t,o=t.length,l=e[0],u=e[1],c=e[2],f=e[3],p=e[4],A=e[5],d=e[6],v=e[7],h=e[8],I=e[9],y=e[10],m=e[11],w=e[12],g=e[13],E=e[14],T=e[15];for(n=0;no?s:o,a[1]+=l>u?l:u,a[2]+=c>f?c:f,Math.abs($.lenVec3(a))}}(),getAABB3Area:function(e){return(e[3]-e[0])*(e[4]-e[1])*(e[5]-e[2])},getAABB3Center:function(e,t){var n=t||$.vec3();return n[0]=(e[0]+e[3])/2,n[1]=(e[1]+e[4])/2,n[2]=(e[2]+e[5])/2,n},getAABB2Center:function(e,t){var n=t||$.vec2();return n[0]=(e[2]+e[0])/2,n[1]=(e[3]+e[1])/2,n},collapseAABB3:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:$.AABB3();return e[0]=$.MAX_DOUBLE,e[1]=$.MAX_DOUBLE,e[2]=$.MAX_DOUBLE,e[3]=$.MIN_DOUBLE,e[4]=$.MIN_DOUBLE,e[5]=$.MIN_DOUBLE,e},AABB3ToOBB3:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:$.OBB3();return t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=1,t[4]=e[3],t[5]=e[1],t[6]=e[2],t[7]=1,t[8]=e[3],t[9]=e[4],t[10]=e[2],t[11]=1,t[12]=e[0],t[13]=e[4],t[14]=e[2],t[15]=1,t[16]=e[0],t[17]=e[1],t[18]=e[5],t[19]=1,t[20]=e[3],t[21]=e[1],t[22]=e[5],t[23]=1,t[24]=e[3],t[25]=e[4],t[26]=e[5],t[27]=1,t[28]=e[0],t[29]=e[4],t[30]=e[5],t[31]=1,t},positions3ToAABB3:function(){var e=new Y(3);return function(t,n,r){n=n||$.AABB3();for(var i,a,s,o=$.MAX_DOUBLE,l=$.MAX_DOUBLE,u=$.MAX_DOUBLE,c=$.MIN_DOUBLE,f=$.MIN_DOUBLE,p=$.MIN_DOUBLE,A=0,d=t.length;Ac&&(c=i),a>f&&(f=a),s>p&&(p=s);return n[0]=o,n[1]=l,n[2]=u,n[3]=c,n[4]=f,n[5]=p,n}}(),OBB3ToAABB3:function(e){for(var t,n,r,i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:$.AABB3(),a=$.MAX_DOUBLE,s=$.MAX_DOUBLE,o=$.MAX_DOUBLE,l=$.MIN_DOUBLE,u=$.MIN_DOUBLE,c=$.MIN_DOUBLE,f=0,p=e.length;fl&&(l=t),n>u&&(u=n),r>c&&(c=r);return i[0]=a,i[1]=s,i[2]=o,i[3]=l,i[4]=u,i[5]=c,i},points3ToAABB3:function(e){for(var t,n,r,i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:$.AABB3(),a=$.MAX_DOUBLE,s=$.MAX_DOUBLE,o=$.MAX_DOUBLE,l=$.MIN_DOUBLE,u=$.MIN_DOUBLE,c=$.MIN_DOUBLE,f=0,p=e.length;fl&&(l=t),n>u&&(u=n),r>c&&(c=r);return i[0]=a,i[1]=s,i[2]=o,i[3]=l,i[4]=u,i[5]=c,i},points3ToSphere3:function(){var e=new Y(3);return function(t,n){n=n||$.vec4();var r,i=0,a=0,s=0,o=t.length;for(r=0;ru&&(u=l);return n[3]=u,n}}(),positions3ToSphere3:function(){var e=new Y(3),t=new Y(3);return function(n,r){r=r||$.vec4();var i,a=0,s=0,o=0,l=n.length,u=0;for(i=0;iu&&(u=c);return r[3]=u,r}}(),OBB3ToSphere3:function(){var e=new Y(3),t=new Y(3);return function(n,r){r=r||$.vec4();var i,a=0,s=0,o=0,l=n.length,u=l/4;for(i=0;if&&(f=c);return r[3]=f,r}}(),getSphere3Center:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:$.vec3();return t[0]=e[0],t[1]=e[1],t[2]=e[2],t},getPositionsCenter:function(e){for(var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:$.vec3(),n=0,r=0,i=0,a=0,s=e.length;at[0]&&(e[0]=t[0]),e[1]>t[1]&&(e[1]=t[1]),e[2]>t[2]&&(e[2]=t[2]),e[3]t[0]&&(e[0]=t[0]),e[1]>t[1]&&(e[1]=t[1]),e[2]>t[2]&&(e[2]=t[2]),e[3]n&&(e[0]=n),e[1]>r&&(e[1]=r),e[2]>i&&(e[2]=i),e[3]0&&void 0!==arguments[0]?arguments[0]:$.AABB2();return e[0]=$.MAX_DOUBLE,e[1]=$.MAX_DOUBLE,e[2]=$.MIN_DOUBLE,e[3]=$.MIN_DOUBLE,e},point3AABB3Intersect:function(e,t){return e[0]>t[0]||e[3]t[1]||e[4]t[2]||e[5]0?(r=e[0]*n[0],i=e[0]*n[3]):(r=e[0]*n[3],i=e[0]*n[0]),e[1]>0?(r+=e[1]*n[1],i+=e[1]*n[4]):(r+=e[1]*n[4],i+=e[1]*n[1]),e[2]>0?(r+=e[2]*n[2],i+=e[2]*n[5]):(r+=e[2]*n[5],i+=e[2]*n[2]),r<=-t&&i<=-t?-1:r>=-t&&i>=-t?1:0},OBB3ToAABB2:function(e){for(var t,n,r,i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:$.AABB2(),a=$.MAX_DOUBLE,s=$.MAX_DOUBLE,o=$.MIN_DOUBLE,l=$.MIN_DOUBLE,u=0,c=e.length;uo&&(o=t),n>l&&(l=n);return i[0]=a,i[1]=s,i[2]=o,i[3]=l,i},expandAABB2:function(e,t){return e[0]>t[0]&&(e[0]=t[0]),e[1]>t[1]&&(e[1]=t[1]),e[2]t[0]&&(e[0]=t[0]),e[1]>t[1]&&(e[1]=t[1]),e[2]3&&void 0!==arguments[3]?arguments[3]:e,i=.5*(e[0]+1),a=.5*(e[1]+1),s=.5*(e[2]+1),o=.5*(e[3]+1);return r[0]=Math.floor(i*t),r[1]=n-Math.floor(o*n),r[2]=Math.floor(s*t),r[3]=n-Math.floor(a*n),r},tangentQuadraticBezier:function(e,t,n,r){return 2*(1-e)*(n-t)+2*e*(r-n)},tangentQuadraticBezier3:function(e,t,n,r,i){return-3*t*(1-e)*(1-e)+3*n*(1-e)*(1-e)-6*e*n*(1-e)+6*e*r*(1-e)-3*e*e*r+3*e*e*i},tangentSpline:function(e){return 6*e*e-6*e+(3*e*e-4*e+1)+(-6*e*e+6*e)+(3*e*e-2*e)},catmullRomInterpolate:function(e,t,n,r,i){var a=.5*(n-e),s=.5*(r-t),o=i*i;return(2*t-2*n+a+s)*(i*o)+(-3*t+3*n-2*a-s)*o+a*i+t},b2p0:function(e,t){var n=1-e;return n*n*t},b2p1:function(e,t){return 2*(1-e)*e*t},b2p2:function(e,t){return e*e*t},b2:function(e,t,n,r){return this.b2p0(e,t)+this.b2p1(e,n)+this.b2p2(e,r)},b3p0:function(e,t){var n=1-e;return n*n*n*t},b3p1:function(e,t){var n=1-e;return 3*n*n*e*t},b3p2:function(e,t){return 3*(1-e)*e*e*t},b3p3:function(e,t){return e*e*e*t},b3:function(e,t,n,r,i){return this.b3p0(e,t)+this.b3p1(e,n)+this.b3p2(e,r)+this.b3p3(e,i)},triangleNormal:function(e,t,n){var r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:$.vec3(),i=t[0]-e[0],a=t[1]-e[1],s=t[2]-e[2],o=n[0]-e[0],l=n[1]-e[1],u=n[2]-e[2],c=a*u-s*l,f=s*o-i*u,p=i*l-a*o,A=Math.sqrt(c*c+f*f+p*p);return 0===A?(r[0]=0,r[1]=0,r[2]=0):(r[0]=c/A,r[1]=f/A,r[2]=p/A),r},rayTriangleIntersect:function(){var e=new Y(3),t=new Y(3),n=new Y(3),r=new Y(3),i=new Y(3);return function(a,s,o,l,u,c){c=c||$.vec3();var f=$.subVec3(l,o,e),p=$.subVec3(u,o,t),A=$.cross3Vec3(s,p,n),d=$.dotVec3(f,A);if(d<1e-6)return null;var v=$.subVec3(a,o,r),h=$.dotVec3(v,A);if(h<0||h>d)return null;var I=$.cross3Vec3(v,f,i),y=$.dotVec3(s,I);if(y<0||h+y>d)return null;var m=$.dotVec3(p,I)/d;return c[0]=a[0]+m*s[0],c[1]=a[1]+m*s[1],c[2]=a[2]+m*s[2],c}}(),rayPlaneIntersect:function(){var e=new Y(3),t=new Y(3),n=new Y(3),r=new Y(3);return function(i,a,s,o,l,u){u=u||$.vec3(),a=$.normalizeVec3(a,e);var c=$.subVec3(o,s,t),f=$.subVec3(l,s,n),p=$.cross3Vec3(c,f,r);$.normalizeVec3(p,p);var A=-$.dotVec3(s,p),d=-($.dotVec3(i,p)+A)/$.dotVec3(a,p);return u[0]=i[0]+d*a[0],u[1]=i[1]+d*a[1],u[2]=i[2]+d*a[2],u}}(),cartesianToBarycentric:function(){var e=new Y(3),t=new Y(3),n=new Y(3);return function(r,i,a,s,o){var l=$.subVec3(s,i,e),u=$.subVec3(a,i,t),c=$.subVec3(r,i,n),f=$.dotVec3(l,l),p=$.dotVec3(l,u),A=$.dotVec3(l,c),d=$.dotVec3(u,u),v=$.dotVec3(u,c),h=f*d-p*p;if(0===h)return null;var I=1/h,y=(d*A-p*v)*I,m=(f*v-p*A)*I;return o[0]=1-y-m,o[1]=m,o[2]=y,o}}(),barycentricInsideTriangle:function(e){var t=e[1],n=e[2];return n>=0&&t>=0&&n+t<1},barycentricToCartesian:function(e,t,n,r){var i=arguments.length>4&&void 0!==arguments[4]?arguments[4]:$.vec3(),a=e[0],s=e[1],o=e[2];return i[0]=t[0]*a+n[0]*s+r[0]*o,i[1]=t[1]*a+n[1]*s+r[1]*o,i[2]=t[2]*a+n[2]*s+r[2]*o,i},mergeVertices:function(e,t,n,r){var i,a,s,o,l,u,c={},f=[],p=[],A=t?[]:null,d=n?[]:null,v=[],h=Math.pow(10,4),I=0;for(l=0,u=e.length;l>24&255,s=f>>16&255,a=f>>8&255,i=255&f,r=3*t[d],u[p++]=e[r],u[p++]=e[r+1],u[p++]=e[r+2],c[A++]=i,c[A++]=a,c[A++]=s,c[A++]=o,r=3*t[d+1],u[p++]=e[r],u[p++]=e[r+1],u[p++]=e[r+2],c[A++]=i,c[A++]=a,c[A++]=s,c[A++]=o,r=3*t[d+2],u[p++]=e[r],u[p++]=e[r+1],u[p++]=e[r+2],c[A++]=i,c[A++]=a,c[A++]=s,c[A++]=o,f++;return{positions:u,colors:c}},faceToVertexNormals:function(e,t){var n,r,i,a,s,o,l,u,c,f,p,A=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},d=A.smoothNormalsAngleThreshold||20,v={},h=[],I={},y=4,m=Math.pow(10,y);for(l=0,c=e.length;ll[3]&&(l[3]=i[p]),i[p+1]l[4]&&(l[4]=i[p+1]),i[p+2]l[5]&&(l[5]=i[p+2])}if(n.length<20||a>10)return u.triangles=n,u.leaf=!0,u;e[0]=l[3]-l[0],e[1]=l[4]-l[1],e[2]=l[5]-l[2];var A=0;e[1]>e[A]&&(A=1),e[2]>e[A]&&(A=2),u.splitDim=A;var d=(l[A]+l[A+3])/2,v=new Array(n.length),h=0,I=new Array(n.length),y=0;for(s=0,o=n.length;s2&&void 0!==arguments[2]?arguments[2]:new Float32Array(e.length),r=0,i=e.length;r2&&void 0!==arguments[2]?arguments[2]:new Float32Array(e.length),r=0,i=e.length;r=0?1:-1),r=(1-Math.abs(n))*(r>=0?1:-1));var a=Math.sqrt(n*n+r*r+i*i);return t[0]=n/a,t[1]=r/a,t[2]=i/a,t},octDecodeVec2s:function(e,t){for(var n=0,r=0,i=e.length;n=0?1:-1),s=(1-Math.abs(a))*(s>=0?1:-1));var l=Math.sqrt(a*a+s*s+o*o);t[r+0]=a/l,t[r+1]=s/l,t[r+2]=o/l,r+=3}return t}};$.buildEdgeIndices=function(){var e=[],t=[],n=[],r=[],i=[],a=0,s=new Uint16Array(3),o=new Uint16Array(3),l=new Uint16Array(3),u=$.vec3(),c=$.vec3(),f=$.vec3(),p=$.vec3(),A=$.vec3(),d=$.vec3(),v=$.vec3();return function(h,I,y,m){!function(i,a){var s,o,l,u,c,f,p={},A=Math.pow(10,4),d=0;for(c=0,f=i.length;cO)||(C=n[D.index1],_=n[D.index2],(!N&&C>65535||_>65535)&&(N=!0),B.push(C),B.push(_));return N?new Uint32Array(B):new Uint16Array(B)}}(),$.planeClipsPositions3=function(e,t,n){for(var r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:3,i=0,a=n.length;i=this._maxTreeDepth)return e.entities=e.entities||[],void e.entities.push(t);if(e.left&&$.containsAABB3(e.left.aabb,r))this._insertEntity(e.left,t,n+1);else if(e.right&&$.containsAABB3(e.right.aabb,r))this._insertEntity(e.right,t,n+1);else{var i=e.aabb;ee[0]=i[3]-i[0],ee[1]=i[4]-i[1],ee[2]=i[5]-i[2];var a=0;if(ee[1]>ee[a]&&(a=1),ee[2]>ee[a]&&(a=2),!e.left){var s=i.slice();if(s[a+3]=(i[a]+i[a+3])/2,e.left={aabb:s},$.containsAABB3(s,r))return void this._insertEntity(e.left,t,n+1)}if(!e.right){var o=i.slice();if(o[a]=(i[a]+i[a+3])/2,e.right={aabb:o},$.containsAABB3(o,r))return void this._insertEntity(e.right,t,n+1)}e.entities=e.entities||[],e.entities.push(t)}}},{key:"destroy",value:function(){var e=this.viewer.scene;e.off(this._onModelLoaded),e.off(this._onModelUnloaded),this._root=null,this._needsRebuild=!0}}]),e}(),ne=function(){function e(){b(this,e),this._head=[],this._headLength=0,this._tail=[],this._index=0,this._length=0}return P(e,[{key:"length",get:function(){return this._length}},{key:"shift",value:function(){if(this._index>=this._headLength){var e=this._head;if(e.length=0,this._head=this._tail,this._tail=e,this._index=0,this._headLength=this._head.length,!this._headLength)return}var t=this._head[this._index];return this._index<0?delete this._head[this._index++]:this._head[this._index++]=void 0,this._length--,t}},{key:"push",value:function(e){return this._length++,this._tail.push(e),this}},{key:"unshift",value:function(e){return this._head[--this._index]=e,this._length++,this}}]),e}(),re={build:{version:"0.8"},client:{browser:navigator&&navigator.userAgent?navigator.userAgent:"n/a"},components:{scenes:0,models:0,meshes:0,objects:0},memory:{meshes:0,positions:0,colors:0,normals:0,uvs:0,indices:0,textures:0,transforms:0,materials:0,programs:0},frame:{frameCount:0,fps:0,useProgram:0,bindTexture:0,bindArray:0,drawElements:0,drawArrays:0,tasksRun:0,tasksScheduled:0}};var ie=[["0",10],["A",26],["a",26],["_",1],["$",1]].map((function(e){for(var t=[],n=e[0].charCodeAt(0),r=n+e[1],i=n;i0&&void 0!==arguments[0]?arguments[0]:-1,r=(new Date).getTime(),i=0;fe.length>0&&(n<0||r0&&oe>0){var n=1e3/oe;ve+=n,Ae.push(n),Ae.length>=30&&(ve-=Ae.shift()),re.frame.fps=Math.round(ve/Ae.length)}!function(e){var t=he.runTasks(e+10),n=he.getNumTasks();re.frame.tasksRun=t,re.frame.tasksScheduled=n,re.frame.tasksBudget=10}(t),function(e){for(var t in pe.time=e,he.scenes)if(he.scenes.hasOwnProperty(t)){var n=he.scenes[t];pe.sceneId=t,pe.startTime=n.startTime,pe.deltaTime=null!=pe.prevTime?pe.time-pe.prevTime:0,n.fire("tick",pe,!0)}pe.prevTime=e}(t),function(){var e,t,n,r,i,a=he.scenes,s=!1;for(i in a)a.hasOwnProperty(i)&&(e=a[i],(t=ue[i])||(t=ue[i]={}),n=e.ticksPerOcclusionTest,t.ticksPerOcclusionTest!==n&&(t.ticksPerOcclusionTest=n,t.renderCountdown=n),--e.occlusionTestCountdown<=0&&(e.doOcclusionTest(),e.occlusionTestCountdown=n),r=e.ticksPerRender,t.ticksPerRender!==r&&(t.ticksPerRender=r,t.renderCountdown=r),0==--t.renderCountdown&&(e.render(s),t.renderCountdown=r))}(),de=t,void 0!==window.requestPostAnimationFrame?window.requestPostAnimationFrame(e):requestAnimationFrame(e)};void 0!==window.requestPostAnimationFrame?window.requestPostAnimationFrame(Ie):requestAnimationFrame(Ie);var ye=function(){function e(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(b(this,e),this.scene=null,"Scene"===this.type)this.scene=this,this.viewer=n.viewer;else{if("Scene"===t.type)this.scene=t;else{if(!(t instanceof e))throw"Invalid param: owner must be a Component";this.scene=t.scene}this._owner=t}this._dontClear=!!n.dontClear,this._renderer=this.scene._renderer,this.meta=n.meta||{},this.id=n.id,this.destroyed=!1,this._attached={},this._attachments=null,this._subIdMap=null,this._subIdEvents=null,this._eventSubs=null,this._eventSubsNum=null,this._events=null,this._eventCallDepth=0,this._ownedComponents=null,this!==this.scene&&this.scene._addComponent(this),this._updateScheduled=!1,t&&t._own(this)}return P(e,[{key:"type",get:function(){return"Component"}},{key:"isComponent",get:function(){return!0}},{key:"glRedraw",value:function(){this._renderer&&(this._renderer.imageDirty(),this.castsShadow&&this._renderer.shadowsDirty())}},{key:"glResort",value:function(){this._renderer&&this._renderer.needStateSort()}},{key:"owner",get:function(){return this._owner}},{key:"isType",value:function(e){return this.type===e}},{key:"fire",value:function(e,t,n){this._events||(this._events={}),this._eventSubs||(this._eventSubs={},this._eventSubsNum={}),!0!==n&&(this._events[e]=t||!0);var r,i=this._eventSubs[e];if(i)for(var a in i)i.hasOwnProperty(a)&&(r=i[a],this._eventCallDepth++,this._eventCallDepth<300?r.callback.call(r.scope,t):this.error("fire: potential stack overflow from recursive event '"+e+"' - dropping this event"),this._eventCallDepth--)}},{key:"on",value:function(e,t,n){this._events||(this._events={}),this._subIdMap||(this._subIdMap=new G),this._subIdEvents||(this._subIdEvents={}),this._eventSubs||(this._eventSubs={}),this._eventSubsNum||(this._eventSubsNum={});var r=this._eventSubs[e];r?this._eventSubsNum[e]++:(r={},this._eventSubs[e]=r,this._eventSubsNum[e]=1);var i=this._subIdMap.addItem();r[i]={callback:t,scope:n||this},this._subIdEvents[i]=e;var a=this._events[e];return void 0!==a&&t.call(n||this,a),i}},{key:"off",value:function(e){if(null!=e&&this._subIdEvents){var t=this._subIdEvents[e];if(t){delete this._subIdEvents[e];var n=this._eventSubs[t];n&&(delete n[e],this._eventSubsNum[t]--),this._subIdMap.removeItem(e)}}}},{key:"once",value:function(e,t,n){var r=this,i=this.on(e,(function(e){r.off(i),t.call(n||this,e)}),n)}},{key:"hasSubs",value:function(e){return this._eventSubsNum&&this._eventSubsNum[e]>0}},{key:"log",value:function(e){e="[LOG]"+this._message(e),window.console.log(e),this.scene.fire("log",e)}},{key:"_message",value:function(e){return" ["+this.type+" "+le.inQuotes(this.id)+"]: "+e}},{key:"warn",value:function(e){e="[WARN]"+this._message(e),window.console.warn(e),this.scene.fire("warn",e)}},{key:"error",value:function(e){e="[ERROR]"+this._message(e),window.console.error(e),this.scene.fire("error",e)}},{key:"_attach",value:function(e){var t=e.name;if(t){var n=e.component,r=e.sceneDefault,i=e.sceneSingleton,a=e.type,s=e.on,o=!1!==e.recompiles;if(n&&(le.isNumeric(n)||le.isString(n))){var l=n;if(!(n=this.scene.components[l]))return void this.error("Component not found: "+le.inQuotes(l))}if(!n)if(!0===i){var u=this.scene.types[a];for(var c in u)if(u.hasOwnProperty){n=u[c];break}if(!n)return this.error("Scene has no default component for '"+t+"'"),null}else if(!0===r&&!(n=this.scene[t]))return this.error("Scene has no default component for '"+t+"'"),null;if(n){if(n.scene.id!==this.scene.id)return void this.error("Not in same scene: "+n.type+" "+le.inQuotes(n.id));if(a&&!n.isType(a))return void this.error("Expected a "+a+" type or subtype: "+n.type+" "+le.inQuotes(n.id))}this._attachments||(this._attachments={});var f,p,A,d=this._attached[t];if(d){if(n&&d.id===n.id)return;var v=this._attachments[d.id];for(p=0,A=(f=v.subs).length;p=0?1:0,this.testVertex[1]=this.normal[1]>=0?1:0,this.testVertex[2]=this.normal[2]>=0?1:0}}]),e}(),Te=P((function e(){b(this,e),this.planes=[new Ee,new Ee,new Ee,new Ee,new Ee,new Ee]}));function be(e,t,n){var r=$.mulMat4(n,t,ge),i=r[0],a=r[1],s=r[2],o=r[3],l=r[4],u=r[5],c=r[6],f=r[7],p=r[8],A=r[9],d=r[10],v=r[11],h=r[12],I=r[13],y=r[14],m=r[15];e.planes[0].set(o-i,f-l,v-p,m-h),e.planes[1].set(o+i,f+l,v+p,m+h),e.planes[2].set(o-a,f-u,v-A,m-I),e.planes[3].set(o+a,f+u,v+A,m+I),e.planes[4].set(o-s,f-c,v-d,m-y),e.planes[5].set(o+s,f+c,v+d,m+y)}function De(e,t){var n=Te.INSIDE,r=me,i=we;r[0]=t[0],r[1]=t[1],r[2]=t[2],i[0]=t[3],i[1]=t[4],i[2]=t[5];for(var a=[r,i],s=0;s<6;++s){var o=e.planes[s];if(o.normal[0]*a[o.testVertex[0]][0]+o.normal[1]*a[o.testVertex[1]][1]+o.normal[2]*a[o.testVertex[2]][2]+o.offset<0)return Te.OUTSIDE;o.normal[0]*a[1-o.testVertex[0]][0]+o.normal[1]*a[1-o.testVertex[1]][1]+o.normal[2]*a[1-o.testVertex[2]][2]+o.offset<0&&(n=Te.INTERSECT)}return n}Te.INSIDE=0,Te.INTERSECT=1,Te.OUTSIDE=2;var Pe=function(e){I(n,ye);var t=m(n);function n(){var e,r=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};if(b(this,n),!r.viewer)throw"[MarqueePicker] Missing config: viewer";if(!r.objectsKdTree3)throw"[MarqueePicker] Missing config: objectsKdTree3";return(e=t.call(this,r.viewer.scene,r)).viewer=r.viewer,e._objectsKdTree3=r.objectsKdTree3,e._canvasMarqueeCorner1=$.vec2(),e._canvasMarqueeCorner2=$.vec2(),e._canvasMarquee=$.AABB2(),e._marqueeFrustum=new Te,e._marqueeFrustumProjMat=$.mat4(),e._pickMode=!1,e._marqueeElement=document.createElement("div"),document.body.appendChild(e._marqueeElement),e._marqueeElement.style.position="absolute",e._marqueeElement.style["z-index"]="40000005",e._marqueeElement.style.width="8px",e._marqueeElement.style.height="8px",e._marqueeElement.style.visibility="hidden",e._marqueeElement.style.top="0px",e._marqueeElement.style.left="0px",e._marqueeElement.style["box-shadow"]="0 2px 5px 0 #182A3D;",e._marqueeElement.style.opacity=1,e._marqueeElement.style["pointer-events"]="none",e}return P(n,[{key:"setMarqueeCorner1",value:function(e){this._canvasMarqueeCorner1.set(e),this._canvasMarqueeCorner2.set(e),this._updateMarquee()}},{key:"setMarqueeCorner2",value:function(e){this._canvasMarqueeCorner2.set(e),this._updateMarquee()}},{key:"setMarquee",value:function(e,t){this._canvasMarqueeCorner1.set(e),this._canvasMarqueeCorner2.set(t),this._updateMarquee()}},{key:"setMarqueeVisible",value:function(e){this._marqueVisible=e,this._marqueeElement.style.visibility=e?"visible":"hidden"}},{key:"getMarqueeVisible",value:function(){return this._marqueVisible}},{key:"setPickMode",value:function(e){if(e!==n.PICK_MODE_INSIDE&&e!==n.PICK_MODE_INTERSECTS)throw"Illegal MarqueePicker pickMode: must be MarqueePicker.PICK_MODE_INSIDE or MarqueePicker.PICK_MODE_INTERSECTS";e!==this._pickMode&&(this._marqueeElement.style["background-image"]=e===n.PICK_MODE_INSIDE?"url(\"data:image/svg+xml,%3csvg width='100%25' height='100%25' xmlns='http://www.w3.org/2000/svg'%3e%3crect width='100%25' height='100%25' fill='none' rx='6' ry='6' stroke='%23333' stroke-width='4'/%3e%3c/svg%3e\")":"url(\"data:image/svg+xml,%3csvg width='100%25' height='100%25' xmlns='http://www.w3.org/2000/svg'%3e%3crect width='100%25' height='100%25' fill='none' rx='6' ry='6' stroke='%23333' stroke-width='4' stroke-dasharray='6%2c 14' stroke-dashoffset='0' stroke-linecap='square'/%3e%3c/svg%3e\")",this._pickMode=e)}},{key:"getPickMode",value:function(){return this._pickMode}},{key:"clear",value:function(){this.fire("clear",{})}},{key:"pick",value:function(){var e=this;this._updateMarquee(),this._buildMarqueeFrustum();var t=[];return(this._canvasMarquee[2]-this._canvasMarquee[0]>3||this._canvasMarquee[3]-this._canvasMarquee[1]>3)&&function r(i){var a=arguments.length>1&&void 0!==arguments[1]?arguments[1]:Te.INTERSECT;if(a===Te.INTERSECT&&(a=De(e._marqueeFrustum,i.aabb)),a!==Te.OUTSIDE){if(i.entities)for(var s=i.entities,o=0,l=s.length;o3||n>3)&&f.pick()}})),document.addEventListener("mouseup",(function(e){r.getActive()&&0===e.button&&(clearTimeout(c),A&&(f.setMarqueeVisible(!1),A=!1,d=!1,v=!0,f.viewer.cameraControl.pointerEnabled=!0))}),!0),p.addEventListener("mousemove",(function(e){r.getActive()&&0===e.button&&d&&(clearTimeout(c),A&&(s=e.pageX,o=e.pageY,u=e.offsetX,f.setMarqueeVisible(!0),f.setMarqueeCorner2([s,o]),f.setPickMode(l0}},{key:"log",value:function(e){console.log("[xeokit plugin ".concat(this.id,"]: ").concat(e))}},{key:"warn",value:function(e){console.warn("[xeokit plugin ".concat(this.id,"]: ").concat(e))}},{key:"error",value:function(e){console.error("[xeokit plugin ".concat(this.id,"]: ").concat(e))}},{key:"send",value:function(e,t){}},{key:"destroy",value:function(){this.viewer.removePlugin(this)}}]),e}(),_e=$.vec3(),Be=function(){var e=new Float64Array(16),t=new Float64Array(4),n=new Float64Array(4);return function(r,i,a){return a=a||e,t[0]=i[0],t[1]=i[1],t[2]=i[2],t[3]=1,$.transformVec4(r,t,n),$.setMat4Translation(r,n,a),a.slice()}}();function Oe(e,t,n){var r=Float32Array.from([e[0]])[0],i=e[0]-r,a=Float32Array.from([e[1]])[0],s=e[1]-a,o=Float32Array.from([e[2]])[0],l=e[2]-o;t[0]=r,t[1]=a,t[2]=o,n[0]=i,n[1]=s,n[2]=l}function Se(e,t,n){var r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:1e3,i=$.getPositionsCenter(e,_e),a=Math.round(i[0]/r)*r,s=Math.round(i[1]/r)*r,o=Math.round(i[2]/r)*r;n[0]=a,n[1]=s,n[2]=o;var l=0!==n[0]||0!==n[1]||0!==n[2];if(l)for(var u=0,c=e.length;u0?this.meshes[0]._colorize[3]/255:1},set:function(e){if(0!==this.meshes.length){var t=null!=e,n=this.meshes[0]._colorize[3],r=255;if(t){if(e<0?e=0:e>1&&(e=1),n===(r=Math.floor(255*e)))return}else if(n===(r=255))return;for(var i=0,a=this.meshes.length;i1&&void 0!==arguments[1]?arguments[1]:{};b(this,e),this._color=r.color||"black",this._highlightClass="viewer-ruler-wire-highlighted",this._wire=document.createElement("div"),this._wire.className+=this._wire.className?" viewer-ruler-wire":"viewer-ruler-wire",this._wireClickable=document.createElement("div"),this._wireClickable.className+=this._wireClickable.className?" viewer-ruler-wire-clickable":"viewer-ruler-wire-clickable",this._thickness=r.thickness||1,this._thicknessClickable=r.thicknessClickable||6,this._visible=!0,this._culled=!1;var i=this._wire,a=i.style;a.border="solid "+this._thickness+"px "+this._color,a.position="absolute",a["z-index"]=void 0===r.zIndex?"2000001":r.zIndex,a.width="0px",a.height="0px",a.visibility="visible",a.top="0px",a.left="0px",a["-webkit-transform-origin"]="0 0",a["-moz-transform-origin"]="0 0",a["-ms-transform-origin"]="0 0",a["-o-transform-origin"]="0 0",a["transform-origin"]="0 0",a["-webkit-transform"]="rotate(0deg)",a["-moz-transform"]="rotate(0deg)",a["-ms-transform"]="rotate(0deg)",a["-o-transform"]="rotate(0deg)",a.transform="rotate(0deg)",a.opacity=1,a["pointer-events"]="none",r.onContextMenu,t.appendChild(i);var s=this._wireClickable,o=s.style;o.border="solid "+this._thicknessClickable+"px "+this._color,o.position="absolute",o["z-index"]=void 0===r.zIndex?"2000002":r.zIndex+1,o.width="0px",o.height="0px",o.visibility="visible",o.top="0px",o.left="0px",o["-webkit-transform-origin"]="0 0",o["-moz-transform-origin"]="0 0",o["-ms-transform-origin"]="0 0",o["-o-transform-origin"]="0 0",o["transform-origin"]="0 0",o["-webkit-transform"]="rotate(0deg)",o["-moz-transform"]="rotate(0deg)",o["-ms-transform"]="rotate(0deg)",o["-o-transform"]="rotate(0deg)",o.transform="rotate(0deg)",o.opacity=0,o["pointer-events"]="none",r.onContextMenu,t.appendChild(s),r.onMouseOver&&s.addEventListener("mouseover",(function(e){r.onMouseOver(e,n)})),r.onMouseLeave&&s.addEventListener("mouseleave",(function(e){r.onMouseLeave(e,n)})),r.onMouseWheel&&s.addEventListener("wheel",(function(e){r.onMouseWheel(e,n)})),r.onContextMenu&&s.addEventListener("contextmenu",(function(e){r.onContextMenu(e,n),e.preventDefault()})),this._x1=0,this._y1=0,this._x2=0,this._y2=0,this._update()}return P(e,[{key:"visible",get:function(){return"visible"===this._wire.style.visibility}},{key:"_update",value:function(){var e=Math.abs(Math.sqrt((this._x1-this._x2)*(this._x1-this._x2)+(this._y1-this._y2)*(this._y1-this._y2))),t=180*Math.atan2(this._y2-this._y1,this._x2-this._x1)/Math.PI,n=this._wire.style;n.width=Math.round(e)+"px",n.left=Math.round(this._x1)+"px",n.top=Math.round(this._y1)+"px",n["-webkit-transform"]="rotate("+t+"deg)",n["-moz-transform"]="rotate("+t+"deg)",n["-ms-transform"]="rotate("+t+"deg)",n["-o-transform"]="rotate("+t+"deg)",n.transform="rotate("+t+"deg)";var r=this._wireClickable.style;r.width=Math.round(e)+"px",r.left=Math.round(this._x1)+"px",r.top=Math.round(this._y1)+"px",r["-webkit-transform"]="rotate("+t+"deg)",r["-moz-transform"]="rotate("+t+"deg)",r["-ms-transform"]="rotate("+t+"deg)",r["-o-transform"]="rotate("+t+"deg)",r.transform="rotate("+t+"deg)"}},{key:"setStartAndEnd",value:function(e,t,n,r){this._x1=e,this._y1=t,this._x2=n,this._y2=r,this._update()}},{key:"setColor",value:function(e){this._color=e||"black",this._wire.style.border="solid "+this._thickness+"px "+this._color}},{key:"setOpacity",value:function(e){this._wire.style.opacity=e}},{key:"setVisible",value:function(e){this._visible!==e&&(this._visible=!!e,this._wire.style.visibility=this._visible&&!this._culled?"visible":"hidden")}},{key:"setCulled",value:function(e){this._culled!==e&&(this._culled=!!e,this._wire.style.visibility=this._visible&&!this._culled?"visible":"hidden")}},{key:"setClickable",value:function(e){this._wireClickable.style["pointer-events"]=e?"all":"none"}},{key:"setHighlighted",value:function(e){this._highlighted!==e&&(this._highlighted=!!e,this._highlighted?this._wire.classList.add(this._highlightClass):this._wire.classList.remove(this._highlightClass))}},{key:"destroy",value:function(e){this._wire.parentElement&&this._wire.parentElement.removeChild(this._wire),this._wireClickable.parentElement&&this._wireClickable.parentElement.removeChild(this._wireClickable)}}]),e}(),Je=function(){function e(t){var n=this,r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};b(this,e),this._highlightClass="viewer-ruler-dot-highlighted",this._x=0,this._y=0,this._visible=!0,this._dot=document.createElement("div"),this._dot.className+=this._dot.className?" viewer-ruler-dot":"viewer-ruler-dot",this._dotClickable=document.createElement("div"),this._dotClickable.className+=this._dotClickable.className?" viewer-ruler-dot-clickable":"viewer-ruler-dot-clickable",this._visible=!0,this._culled=!1;var i=this._dot,a=i.style;a["border-radius"]="25px",a.border="solid 2px white",a.background="lightgreen",a.position="absolute",a["z-index"]=void 0===r.zIndex?"40000005":r.zIndex,a.width="8px",a.height="8px",a.visibility=!1!==r.visible?"visible":"hidden",a.top="0px",a.left="0px",a["box-shadow"]="0 2px 5px 0 #182A3D;",a.opacity=1,a["pointer-events"]="none",r.onContextMenu,t.appendChild(i);var s=this._dotClickable,o=s.style;o["border-radius"]="35px",o.border="solid 10px white",o.position="absolute",o["z-index"]=void 0===r.zIndex?"40000007":r.zIndex+1,o.width="8px",o.height="8px",o.visibility="visible",o.top="0px",o.left="0px",o.opacity=0,o["pointer-events"]="none",r.onContextMenu,t.appendChild(s),r.onMouseOver&&s.addEventListener("mouseover",(function(e){r.onMouseOver(e,n)})),r.onMouseLeave&&s.addEventListener("mouseleave",(function(e){r.onMouseLeave(e,n)})),r.onMouseWheel&&s.addEventListener("wheel",(function(e){r.onMouseWheel(e,n)})),r.onContextMenu&&s.addEventListener("contextmenu",(function(e){r.onContextMenu(e,n),e.preventDefault()})),this.setPos(r.x||0,r.y||0),this.setFillColor(r.fillColor),this.setBorderColor(r.borderColor)}return P(e,[{key:"setPos",value:function(e,t){this._x=e,this._y=t;var n=this._dot.style;n.left=Math.round(e)-4+"px",n.top=Math.round(t)-4+"px";var r=this._dotClickable.style;r.left=Math.round(e)-9+"px",r.top=Math.round(t)-9+"px"}},{key:"setFillColor",value:function(e){this._dot.style.background=e||"lightgreen"}},{key:"setBorderColor",value:function(e){this._dot.style.border="solid 2px"+(e||"black")}},{key:"setOpacity",value:function(e){this._dot.style.opacity=e}},{key:"setVisible",value:function(e){this._visible!==e&&(this._visible=!!e,this._dot.style.visibility=this._visible&&!this._culled?"visible":"hidden")}},{key:"setCulled",value:function(e){this._culled!==e&&(this._culled=!!e,this._dot.style.visibility=this._visible&&!this._culled?"visible":"hidden")}},{key:"setClickable",value:function(e){this._dotClickable.style["pointer-events"]=e?"all":"none"}},{key:"setHighlighted",value:function(e){this._highlighted!==e&&(this._highlighted=!!e,this._highlighted?this._dot.classList.add(this._highlightClass):this._dot.classList.remove(this._highlightClass))}},{key:"destroy",value:function(){this.setVisible(!1),this._dot.parentElement&&this._dot.parentElement.removeChild(this._dot),this._dotClickable.parentElement&&this._dotClickable.parentElement.removeChild(this._dotClickable)}}]),e}(),Ze=function(){function e(t){var n=this,r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};b(this,e),this._highlightClass="viewer-ruler-label-highlighted",this._prefix=r.prefix||"",this._x=0,this._y=0,this._visible=!0,this._culled=!1,this._label=document.createElement("div"),this._label.className+=this._label.className?" viewer-ruler-label":"viewer-ruler-label";var i=this._label,a=i.style;a["border-radius"]="5px",a.color="white",a.padding="4px",a.border="solid 1px",a.background="lightgreen",a.position="absolute",a["z-index"]=void 0===r.zIndex?"5000005":r.zIndex,a.width="auto",a.height="auto",a.visibility="visible",a.top="0px",a.left="0px",a["pointer-events"]="all",a.opacity=1,r.onContextMenu,i.innerText="",t.appendChild(i),this.setPos(r.x||0,r.y||0),this.setFillColor(r.fillColor),this.setBorderColor(r.fillColor),this.setText(r.text),r.onMouseOver&&i.addEventListener("mouseover",(function(e){r.onMouseOver(e,n),e.preventDefault()})),r.onMouseLeave&&i.addEventListener("mouseleave",(function(e){r.onMouseLeave(e,n),e.preventDefault()})),r.onMouseWheel&&i.addEventListener("wheel",(function(e){r.onMouseWheel(e,n)})),r.onContextMenu&&i.addEventListener("contextmenu",(function(e){r.onContextMenu(e,n),e.preventDefault()}))}return P(e,[{key:"setPos",value:function(e,t){this._x=e,this._y=t;var n=this._label.style;n.left=Math.round(e)-20+"px",n.top=Math.round(t)-12+"px"}},{key:"setPosOnWire",value:function(e,t,n,r){var i=e+.5*(n-e),a=t+.5*(r-t),s=this._label.style;s.left=Math.round(i)-20+"px",s.top=Math.round(a)-12+"px"}},{key:"setPosBetweenWires",value:function(e,t,n,r,i,a){var s=(e+n+i)/3,o=(t+r+a)/3,l=this._label.style;l.left=Math.round(s)-20+"px",l.top=Math.round(o)-12+"px"}},{key:"setText",value:function(e){this._label.innerHTML=this._prefix+(e||"")}},{key:"setFillColor",value:function(e){this._fillColor=e||"lightgreen",this._label.style.background=this._fillColor}},{key:"setBorderColor",value:function(e){this._borderColor=e||"black",this._label.style.border="solid 1px "+this._borderColor}},{key:"setOpacity",value:function(e){this._label.style.opacity=e}},{key:"setVisible",value:function(e){this._visible!==e&&(this._visible=!!e,this._label.style.visibility=this._visible&&!this._culled?"visible":"hidden")}},{key:"setCulled",value:function(e){this._culled!==e&&(this._culled=!!e,this._label.style.visibility=this._visible&&!this._culled?"visible":"hidden")}},{key:"setHighlighted",value:function(e){this._highlighted!==e&&(this._highlighted=!!e,this._highlighted?this._label.classList.add(this._highlightClass):this._label.classList.remove(this._highlightClass))}},{key:"setClickable",value:function(e){this._label.style["pointer-events"]=e?"all":"none"}},{key:"destroy",value:function(){this._label.parentElement&&this._label.parentElement.removeChild(this._label)}}]),e}(),$e=$.vec3(),et=$.vec3(),tt=function(e){I(n,ye);var t=m(n);function n(e){var r,i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(b(this,n),(r=t.call(this,e.viewer.scene,i)).plugin=e,r._container=i.container,!r._container)throw"config missing: container";r._color=i.color||e.defaultColor;var a=r.plugin.viewer.scene;r._originMarker=new Xe(a,i.origin),r._cornerMarker=new Xe(a,i.corner),r._targetMarker=new Xe(a,i.target),r._originWorld=$.vec3(),r._cornerWorld=$.vec3(),r._targetWorld=$.vec3(),r._wp=new Float64Array(12),r._vp=new Float64Array(12),r._pp=new Float64Array(12),r._cp=new Int16Array(6);var s=i.onMouseOver?function(e){i.onMouseOver(e,g(r))}:null,o=i.onMouseLeave?function(e){i.onMouseLeave(e,g(r))}:null,l=i.onContextMenu?function(e){i.onContextMenu(e,g(r))}:null,u=function(e){r.plugin.viewer.scene.canvas.canvas.dispatchEvent(new WheelEvent("wheel",e))};return r._originDot=new Je(r._container,{fillColor:r._color,zIndex:void 0!==e.zIndex?e.zIndex+2:void 0,onMouseOver:s,onMouseLeave:o,onMouseWheel:u,onContextMenu:l}),r._cornerDot=new Je(r._container,{fillColor:r._color,zIndex:void 0!==e.zIndex?e.zIndex+2:void 0,onMouseOver:s,onMouseLeave:o,onMouseWheel:u,onContextMenu:l}),r._targetDot=new Je(r._container,{fillColor:r._color,zIndex:void 0!==e.zIndex?e.zIndex+2:void 0,onMouseOver:s,onMouseLeave:o,onMouseWheel:u,onContextMenu:l}),r._originWire=new qe(r._container,{color:r._color||"blue",thickness:1,zIndex:e.zIndex,onMouseOver:s,onMouseLeave:o,onMouseWheel:u,onContextMenu:l}),r._targetWire=new qe(r._container,{color:r._color||"red",thickness:1,zIndex:void 0!==e.zIndex?e.zIndex+1:void 0,onMouseOver:s,onMouseLeave:o,onMouseWheel:u,onContextMenu:l}),r._angleLabel=new Ze(r._container,{fillColor:r._color||"#00BBFF",prefix:"",text:"",zIndex:e.zIndex+2,onMouseOver:s,onMouseLeave:o,onMouseWheel:u,onContextMenu:l}),r._wpDirty=!1,r._vpDirty=!1,r._cpDirty=!1,r._visible=!1,r._originVisible=!1,r._cornerVisible=!1,r._targetVisible=!1,r._originWireVisible=!1,r._targetWireVisible=!1,r._angleVisible=!1,r._labelsVisible=!1,r._clickable=!1,r._originMarker.on("worldPos",(function(e){r._originWorld.set(e||[0,0,0]),r._wpDirty=!0,r._needUpdate(0)})),r._cornerMarker.on("worldPos",(function(e){r._cornerWorld.set(e||[0,0,0]),r._wpDirty=!0,r._needUpdate(0)})),r._targetMarker.on("worldPos",(function(e){r._targetWorld.set(e||[0,0,0]),r._wpDirty=!0,r._needUpdate(0)})),r._onViewMatrix=a.camera.on("viewMatrix",(function(){r._vpDirty=!0,r._needUpdate(0)})),r._onProjMatrix=a.camera.on("projMatrix",(function(){r._cpDirty=!0,r._needUpdate()})),r._onCanvasBoundary=a.canvas.on("boundary",(function(){r._cpDirty=!0,r._needUpdate(0)})),r._onSectionPlaneUpdated=a.on("sectionPlaneUpdated",(function(){r._sectionPlanesDirty=!0,r._needUpdate()})),r.approximate=i.approximate,r.visible=i.visible,r.originVisible=i.originVisible,r.cornerVisible=i.cornerVisible,r.targetVisible=i.targetVisible,r.originWireVisible=i.originWireVisible,r.targetWireVisible=i.targetWireVisible,r.angleVisible=i.angleVisible,r.labelsVisible=i.labelsVisible,r}return P(n,[{key:"_update",value:function(){if(this._visible){var e=this.plugin.viewer.scene;if(this._wpDirty&&(this._wp[0]=this._originWorld[0],this._wp[1]=this._originWorld[1],this._wp[2]=this._originWorld[2],this._wp[3]=1,this._wp[4]=this._cornerWorld[0],this._wp[5]=this._cornerWorld[1],this._wp[6]=this._cornerWorld[2],this._wp[7]=1,this._wp[8]=this._targetWorld[0],this._wp[9]=this._targetWorld[1],this._wp[10]=this._targetWorld[2],this._wp[11]=1,this._wpDirty=!1,this._vpDirty=!0),this._vpDirty&&($.transformPositions4(e.camera.viewMatrix,this._wp,this._vp),this._vp[3]=1,this._vp[7]=1,this._vp[11]=1,this._vpDirty=!1,this._cpDirty=!0),this._sectionPlanesDirty){if(this._isSliced(this._wp))return this._angleLabel.setCulled(!0),this._originWire.setCulled(!0),this._targetWire.setCulled(!0),this._originDot.setCulled(!0),this._cornerDot.setCulled(!0),void this._targetDot.setCulled(!0);this._angleLabel.setCulled(!1),this._originWire.setCulled(!1),this._targetWire.setCulled(!1),this._originDot.setCulled(!1),this._cornerDot.setCulled(!1),this._targetDot.setCulled(!1),this._sectionPlanesDirty=!0}if(this._cpDirty){var t=-.3,n=this._originMarker.viewPos[2],r=this._cornerMarker.viewPos[2],i=this._targetMarker.viewPos[2];if(n>t||r>t||i>t)return this._originDot.setVisible(!1),this._cornerDot.setVisible(!1),this._targetDot.setVisible(!1),this._originWire.setVisible(!1),this._targetWire.setVisible(!1),void this._angleLabel.setCulled(!0);$.transformPositions4(e.camera.project.matrix,this._vp,this._pp);for(var a=this._pp,s=this._cp,o=e.canvas.canvas.getBoundingClientRect(),l=this._container.getBoundingClientRect(),u=o.top-l.top,c=o.left-l.left,f=e.canvas.boundary,p=f[2],A=f[3],d=0,v=0,h=a.length;v1&&void 0!==arguments[1]?arguments[1]:{};return b(this,n),(r=t.call(this,e.viewer.scene)).pointerLens=i.pointerLens,r._active=!1,r._mouseState=0,r._currentAngleMeasurement=null,r._initMarkerDiv(),r._onMouseHoverSurface=null,r._onHoverNothing=null,r._onPickedNothing=null,r._onPickedSurface=null,r._onInputMouseDown=null,r._onInputMouseUp=null,r._snapping=!1!==i.snapping,r._attachPlugin(e,i),r}return P(n,[{key:"_initMarkerDiv",value:function(){var e=document.createElement("div");e.setAttribute("id","myMarkerDiv");var t=this.scene.canvas.canvas;t.parentNode.insertBefore(e,t),e.style.background="black",e.style.border="2px solid blue",e.style.borderRadius="10px",e.style.width="5px",e.style.height="5px",e.style.margin="-200px -200px",e.style.zIndex="100",e.style.position="absolute",e.style.pointerEvents="none",this.markerDiv=e}},{key:"_destroyMarkerDiv",value:function(){if(this._markerDiv){var e=document.getElementById("myMarkerDiv");e.parentNode.removeChild(e),this._markerDiv=null}}},{key:"_attachPlugin",value:function(e){this.angleMeasurementsPlugin=e,this.plugin=e}},{key:"active",get:function(){return this._active}},{key:"snapping",get:function(){return this._snapping},set:function(e){e!==this._snapping?(this._snapping=e,this.deactivate(),this.activate()):this._snapping=e}},{key:"activate",value:function(){var e=this;if(!this._active){this.markerDiv||this._initMarkerDiv(),this.angleMeasurementsPlugin;var t=this.scene;t.input;var n=t.canvas.canvas,r=this.angleMeasurementsPlugin.viewer.cameraControl,i=this.pointerLens,a=!1,s=!1,o=0,l=0,u=$.vec3(),c=$.vec2();this._currentAngleMeasurement=null,this._onMouseHoverSurface=r.on(this._snapping?"hoverSnapOrSurface":"hoverSurface",(function(t){t.snappedToVertex||t.snappedToEdge?(i&&(i.visible=!0,i.canvasPos=t.canvasPos,i.snappedCanvasPos=t.snappedCanvasPos||t.canvasPos,i.snapped=!0),e.markerDiv.style.background="greenyellow",e.markerDiv.style.border="2px solid green"):(i&&(i.visible=!0,i.canvasPos=t.canvasPos,i.snappedCanvasPos=t.canvasPos,i.snapped=!1),e.markerDiv.style.background="pink",e.markerDiv.style.border="2px solid red");var r=t.snappedCanvasPos||t.canvasPos;switch(a=!0,s=t.entity,u.set(t.worldPos),c.set(r),e._mouseState){case 0:e.markerDiv.style.marginLeft="".concat(r[0]-5,"px"),e.markerDiv.style.marginTop="".concat(r[1]-5,"px");break;case 1:e._currentAngleMeasurement&&(e._currentAngleMeasurement.originWireVisible=!0,e._currentAngleMeasurement.targetWireVisible=!1,e._currentAngleMeasurement.cornerVisible=!0,e._currentAngleMeasurement.angleVisible=!1,e._currentAngleMeasurement.corner.worldPos=t.worldPos),e.markerDiv.style.marginLeft="-10000px",e.markerDiv.style.marginTop="-10000px",n.style.cursor="pointer";break;case 2:e._currentAngleMeasurement&&(e._currentAngleMeasurement.targetWireVisible=!0,e._currentAngleMeasurement.targetVisible=!0,e._currentAngleMeasurement.angleVisible=!0,e._currentAngleMeasurement.target.worldPos=t.worldPos),e.markerDiv.style.marginLeft="-10000px",e.markerDiv.style.marginTop="-10000px",n.style.cursor="pointer"}})),n.addEventListener("mousedown",this._onMouseDown=function(e){1===e.which&&(o=e.clientX,l=e.clientY)}),n.addEventListener("mouseup",this._onMouseUp=function(t){if(1===t.which&&!(t.clientX>o+20||t.clientXl+20||t.clientY1&&void 0!==arguments[1]?arguments[1]:{};return b(this,n),(r=t.call(this,"AngleMeasurements",e))._container=i.container||document.body,r._defaultControl=null,r._measurements={},r.defaultColor=void 0!==i.defaultColor?i.defaultColor:"#00BBFF",r.defaultLabelsVisible=!1!==i.defaultLabelsVisible,r.zIndex=i.zIndex||1e4,r._onMouseOver=function(e,t){r.fire("mouseOver",{plugin:g(r),angleMeasurement:t,measurement:t,event:e})},r._onMouseLeave=function(e,t){r.fire("mouseLeave",{plugin:g(r),angleMeasurement:t,measurement:t,event:e})},r._onContextMenu=function(e,t){r.fire("contextMenu",{plugin:g(r),angleMeasurement:t,measurement:t,event:e})},r}return P(n,[{key:"getContainerElement",value:function(){return this._container}},{key:"send",value:function(e,t){}},{key:"control",get:function(){return this._defaultControl||(this._defaultControl=new rt(this,{})),this._defaultControl}},{key:"measurements",get:function(){return this._measurements}},{key:"createMeasurement",value:function(){var e=this,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};this.viewer.scene.components[t.id]&&(this.error("Viewer scene component with this ID already exists: "+t.id),delete t.id);var n=t.origin,r=t.corner,i=t.target,a=new tt(this,{id:t.id,plugin:this,container:this._container,origin:{entity:n.entity,worldPos:n.worldPos},corner:{entity:r.entity,worldPos:r.worldPos},target:{entity:i.entity,worldPos:i.worldPos},visible:t.visible,originVisible:!0,originWireVisible:!0,cornerVisible:!0,targetWireVisible:!0,targetVisible:!0,onMouseOver:this._onMouseOver,onMouseLeave:this._onMouseLeave,onContextMenu:this._onContextMenu});return this._measurements[a.id]=a,a.on("destroyed",(function(){delete e._measurements[a.id]})),this.fire("measurementCreated",a),a}},{key:"destroyMeasurement",value:function(e){var t=this._measurements[e];t?(t.destroy(),this.fire("measurementDestroyed",t)):this.log("AngleMeasurement not found: "+e)}},{key:"setLabelsShown",value:function(e){for(var t=0,n=Object.entries(this.measurements);t

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

";le.isArray(r)&&(r=r.join("")),r=this._renderTemplate(r);var i=document.createRange().createContextualFragment(r);this._label=i.firstChild,this._container.appendChild(this._label),this._label.style.visibility=this._markerShown&&this._labelShown?"visible":"hidden",this._label.addEventListener("wheel",(function(t){e.plugin.viewer.scene.canvas.canvas.dispatchEvent(new WheelEvent("wheel",t))}))}}},{key:"_updatePosition",value:function(){var e=this.scene.canvas.boundary,t=e[0],n=e[1],r=this.canvasPos;this._marker.style.left=Math.floor(t+r[0])-12+"px",this._marker.style.top=Math.floor(n+r[1])-12+"px",this._marker.style["z-index"]=90005+Math.floor(this._viewPos[2])+1;this._label.style.left=20+Math.floor(t+r[0]+20)+"px",this._label.style.top=Math.floor(n+r[1]+-17)+"px",this._label.style["z-index"]=90005+Math.floor(this._viewPos[2])+1}},{key:"_renderTemplate",value:function(e){for(var t in this._values)if(this._values.hasOwnProperty(t)){var n=this._values[t];e=e.replace(new RegExp("{{"+t+"}}","g"),n)}return e}},{key:"setMarkerShown",value:function(e){e=!!e,this._markerShown!==e&&(this._markerShown=e,this._visibilityDirty=!0)}},{key:"getMarkerShown",value:function(){return this._markerShown}},{key:"setLabelShown",value:function(e){e=!!e,this._labelShown!==e&&(this._labelShown=e,this._visibilityDirty=!0)}},{key:"getLabelShown",value:function(){return this._labelShown}},{key:"setField",value:function(e,t){this._values[e]=t||"",this._htmlDirty=!0}},{key:"getField",value:function(e){return this._values[e]}},{key:"setValues",value:function(e){for(var t in e)if(e.hasOwnProperty(t)){var n=e[t];this.setField(t,n)}}},{key:"getValues",value:function(){return this._values}},{key:"destroy",value:function(){this._marker&&(this._markerExternal?(this._marker.removeEventListener("click",this._onMouseClickedExternalMarker),this._marker.removeEventListener("mouseenter",this._onMouseEnterExternalMarker),this._marker.removeEventListener("mouseleave",this._onMouseLeaveExternalMarker),this._marker=null):this._marker.parentNode.removeChild(this._marker)),this._label&&(this._labelExternal||this._label.parentNode.removeChild(this._label),this._label=null),this.scene.off(this._onTick),v(E(n.prototype),"destroy",this).call(this)}}]),n}(),st=$.vec3(),ot=$.vec3(),lt=$.vec3(),ut=function(e){I(n,Ce);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,"Annotations",e))._labelHTML=r.labelHTML||"
",i._markerHTML=r.markerHTML||"
",i._container=r.container||document.body,i._values=r.values||{},i.annotations={},i.surfaceOffset=r.surfaceOffset,i}return P(n,[{key:"getContainerElement",value:function(){return this._container}},{key:"send",value:function(e,t){if("clearAnnotations"===e)this.clear()}},{key:"surfaceOffset",get:function(){return this._surfaceOffset},set:function(e){null==e&&(e=.3),this._surfaceOffset=e}},{key:"createAnnotation",value:function(e){var t,n,r=this;if(this.viewer.scene.components[e.id]&&(this.error("Viewer component with this ID already exists: "+e.id),delete e.id),e.pickResult=e.pickResult||e.pickRecord,e.pickResult){var i=e.pickResult;if(i.worldPos&&i.worldNormal){var a=$.normalizeVec3(i.worldNormal,st),s=$.mulVec3Scalar(a,this._surfaceOffset,ot);t=$.addVec3(i.worldPos,s,lt),n=i.entity}else this.error("Param 'pickResult' does not have both worldPos and worldNormal")}else t=e.worldPos,n=e.entity;var o=null;e.markerElementId&&((o=document.getElementById(e.markerElementId))||this.error("Can't find DOM element for 'markerElementId' value '"+e.markerElementId+"' - defaulting to internally-generated empty DIV"));var l=null;e.labelElementId&&((l=document.getElementById(e.labelElementId))||this.error("Can't find DOM element for 'labelElementId' value '"+e.labelElementId+"' - defaulting to internally-generated empty DIV"));var u=new at(this.viewer.scene,{id:e.id,plugin:this,entity:n,worldPos:t,container:this._container,markerElement:o,labelElement:l,markerHTML:e.markerHTML||this._markerHTML,labelHTML:e.labelHTML||this._labelHTML,occludable:e.occludable,values:le.apply(e.values,le.apply(this._values,{})),markerShown:e.markerShown,labelShown:e.labelShown,eye:e.eye,look:e.look,up:e.up,projection:e.projection,visible:!1!==e.visible});return this.annotations[u.id]=u,u.on("destroyed",(function(){delete r.annotations[u.id],r.fire("annotationDestroyed",u.id)})),this.fire("annotationCreated",u.id),u}},{key:"destroyAnnotation",value:function(e){var t=this.annotations[e];t?t.destroy():this.log("Annotation not found: "+e)}},{key:"clear",value:function(){for(var e=Object.keys(this.annotations),t=0,n=e.length;t1&&void 0!==arguments[1]?arguments[1]:{};return b(this,n),(r=t.call(this,e,i))._canvas=i.canvas,r._element=null,r._isCustom=!1,i.elementId&&(r._element=document.getElementById(i.elementId),r._element?r._adjustPosition():r.error("Can't find given Spinner HTML element: '"+i.elementId+"' - will automatically create default element")),r._element||r._createDefaultSpinner(),r.processes=0,r}return P(n,[{key:"type",get:function(){return"Spinner"}},{key:"_createDefaultSpinner",value:function(){this._injectDefaultCSS();var e=document.createElement("div"),t=e.style;t["z-index"]="9000",t.position="absolute",e.innerHTML='
',this._canvas.parentElement.appendChild(e),this._element=e,this._isCustom=!1,this._adjustPosition()}},{key:"_injectDefaultCSS",value:function(){var e="xeokit-spinner-css";if(!document.getElementById(e)){var t=document.createElement("style");t.innerHTML=".sk-fading-circle { background: transparent; margin: 20px auto; width: 50px; height:50px; position: relative; } .sk-fading-circle .sk-circle { width: 120%; height: 120%; position: absolute; left: 0; top: 0; } .sk-fading-circle .sk-circle:before { content: ''; display: block; margin: 0 auto; width: 15%; height: 15%; background-color: #ff8800; border-radius: 100%; -webkit-animation: sk-circleFadeDelay 1.2s infinite ease-in-out both; animation: sk-circleFadeDelay 1.2s infinite ease-in-out both; } .sk-fading-circle .sk-circle2 { -webkit-transform: rotate(30deg); -ms-transform: rotate(30deg); transform: rotate(30deg); } .sk-fading-circle .sk-circle3 { -webkit-transform: rotate(60deg); -ms-transform: rotate(60deg); transform: rotate(60deg); } .sk-fading-circle .sk-circle4 { -webkit-transform: rotate(90deg); -ms-transform: rotate(90deg); transform: rotate(90deg); } .sk-fading-circle .sk-circle5 { -webkit-transform: rotate(120deg); -ms-transform: rotate(120deg); transform: rotate(120deg); } .sk-fading-circle .sk-circle6 { -webkit-transform: rotate(150deg); -ms-transform: rotate(150deg); transform: rotate(150deg); } .sk-fading-circle .sk-circle7 { -webkit-transform: rotate(180deg); -ms-transform: rotate(180deg); transform: rotate(180deg); } .sk-fading-circle .sk-circle8 { -webkit-transform: rotate(210deg); -ms-transform: rotate(210deg); transform: rotate(210deg); } .sk-fading-circle .sk-circle9 { -webkit-transform: rotate(240deg); -ms-transform: rotate(240deg); transform: rotate(240deg); } .sk-fading-circle .sk-circle10 { -webkit-transform: rotate(270deg); -ms-transform: rotate(270deg); transform: rotate(270deg); } .sk-fading-circle .sk-circle11 { -webkit-transform: rotate(300deg); -ms-transform: rotate(300deg); transform: rotate(300deg); } .sk-fading-circle .sk-circle12 { -webkit-transform: rotate(330deg); -ms-transform: rotate(330deg); transform: rotate(330deg); } .sk-fading-circle .sk-circle2:before { -webkit-animation-delay: -1.1s; animation-delay: -1.1s; } .sk-fading-circle .sk-circle3:before { -webkit-animation-delay: -1s; animation-delay: -1s; } .sk-fading-circle .sk-circle4:before { -webkit-animation-delay: -0.9s; animation-delay: -0.9s; } .sk-fading-circle .sk-circle5:before { -webkit-animation-delay: -0.8s; animation-delay: -0.8s; } .sk-fading-circle .sk-circle6:before { -webkit-animation-delay: -0.7s; animation-delay: -0.7s; } .sk-fading-circle .sk-circle7:before { -webkit-animation-delay: -0.6s; animation-delay: -0.6s; } .sk-fading-circle .sk-circle8:before { -webkit-animation-delay: -0.5s; animation-delay: -0.5s; } .sk-fading-circle .sk-circle9:before { -webkit-animation-delay: -0.4s; animation-delay: -0.4s; } .sk-fading-circle .sk-circle10:before { -webkit-animation-delay: -0.3s; animation-delay: -0.3s; } .sk-fading-circle .sk-circle11:before { -webkit-animation-delay: -0.2s; animation-delay: -0.2s; } .sk-fading-circle .sk-circle12:before { -webkit-animation-delay: -0.1s; animation-delay: -0.1s; } @-webkit-keyframes sk-circleFadeDelay { 0%, 39%, 100% { opacity: 0; } 40% { opacity: 1; } } @keyframes sk-circleFadeDelay { 0%, 39%, 100% { opacity: 0; } 40% { opacity: 1; } }",t.id=e,document.body.appendChild(t)}}},{key:"_adjustPosition",value:function(){if(!this._isCustom){var e=this._canvas,t=this._element,n=t.style;n.left=e.offsetLeft+.5*e.clientWidth-.5*t.clientWidth+"px",n.top=e.offsetTop+.5*e.clientHeight-.5*t.clientHeight+"px"}}},{key:"processes",get:function(){return this._processes},set:function(e){if(e=e||0,this._processes!==e&&!(e<0)){var t=this._processes;this._processes=e;var n=this._element;n&&(n.style.visibility=this._processes>0?"visible":"hidden"),this.fire("processes",this._processes),0===this._processes&&this._processes!==t&&this.fire("zeroProcesses",this._processes)}}},{key:"_destroy",value:function(){this._element&&!this._isCustom&&(this._element.parentNode.removeChild(this._element),this._element=null);var e=document.getElementById("xeokit-spinner-css");e&&e.parentNode.removeChild(e)}}]),n}(),ft=["webgl2","experimental-webgl","webkit-3d","moz-webgl","moz-glweb20"],pt=function(e){I(n,ye);var t=m(n);function n(e){var r,i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};b(this,n),(r=t.call(this,e,i))._backgroundColor=$.vec3([i.backgroundColor?i.backgroundColor[0]:1,i.backgroundColor?i.backgroundColor[1]:1,i.backgroundColor?i.backgroundColor[2]:1]),r._backgroundColorFromAmbientLight=!!i.backgroundColorFromAmbientLight,r.canvas=i.canvas,r.gl=null,r.webgl2=!1,r.transparent=!!i.transparent,r.contextAttr=i.contextAttr||{},r.contextAttr.alpha=r.transparent,r.contextAttr.preserveDrawingBuffer=!!r.contextAttr.preserveDrawingBuffer,r.contextAttr.stencil=!1,r.contextAttr.premultipliedAlpha=!!r.contextAttr.premultipliedAlpha,r.contextAttr.antialias=!1!==r.contextAttr.antialias,r.resolutionScale=i.resolutionScale,r.canvas.width=Math.round(r.canvas.clientWidth*r._resolutionScale),r.canvas.height=Math.round(r.canvas.clientHeight*r._resolutionScale),r.boundary=[r.canvas.offsetLeft,r.canvas.offsetTop,r.canvas.clientWidth,r.canvas.clientHeight],r._initWebGL(i);var a=g(r);r.canvas.addEventListener("webglcontextlost",r._webglcontextlostListener=function(e){console.time("webglcontextrestored"),a.scene._webglContextLost(),a.fire("webglcontextlost"),e.preventDefault()},!1),r.canvas.addEventListener("webglcontextrestored",r._webglcontextrestoredListener=function(e){a._initWebGL(),a.gl&&(a.scene._webglContextRestored(a.gl),a.fire("webglcontextrestored",a.gl),e.preventDefault()),console.timeEnd("webglcontextrestored")},!1);var s=!0,o=new ResizeObserver((function(e){var t,n=f(e);try{for(n.s();!(t=n.n()).done;){t.value.contentBoxSize&&(s=!0)}}catch(e){n.e(e)}finally{n.f()}}));return o.observe(r.canvas),r._tick=r.scene.on("tick",(function(){s&&(s=!1,a.canvas.width=Math.round(a.canvas.clientWidth*a._resolutionScale),a.canvas.height=Math.round(a.canvas.clientHeight*a._resolutionScale),a.boundary[0]=a.canvas.offsetLeft,a.boundary[1]=a.canvas.offsetTop,a.boundary[2]=a.canvas.clientWidth,a.boundary[3]=a.canvas.clientHeight,a.fire("boundary",a.boundary))})),r._spinner=new ct(r.scene,{canvas:r.canvas,elementId:i.spinnerElementId}),r}return P(n,[{key:"type",get:function(){return"Canvas"}},{key:"backgroundColorFromAmbientLight",get:function(){return this._backgroundColorFromAmbientLight},set:function(e){this._backgroundColorFromAmbientLight=!1!==e,this.glRedraw()}},{key:"backgroundColor",get:function(){return this._backgroundColor},set:function(e){e?(this._backgroundColor[0]=e[0],this._backgroundColor[1]=e[1],this._backgroundColor[2]=e[2]):(this._backgroundColor[0]=1,this._backgroundColor[1]=1,this._backgroundColor[2]=1),this.glRedraw()}},{key:"resolutionScale",get:function(){return this._resolutionScale},set:function(e){if((e=e||1)!==this._resolutionScale){this._resolutionScale=e;var t=this.canvas;t.width=Math.round(t.clientWidth*this._resolutionScale),t.height=Math.round(t.clientHeight*this._resolutionScale),this.glRedraw()}}},{key:"spinner",get:function(){return this._spinner}},{key:"_createCanvas",value:function(){var e="xeokit-canvas-"+$.createUUID(),t=document.getElementsByTagName("body")[0],n=document.createElement("div"),r=n.style;r.height="100%",r.width="100%",r.padding="0",r.margin="0",r.background="rgba(0,0,0,0);",r.float="left",r.left="0",r.top="0",r.position="absolute",r.opacity="1.0",r["z-index"]="-10000",n.innerHTML+='',t.appendChild(n),this.canvas=document.getElementById(e)}},{key:"_getElementXY",value:function(e){for(var t=0,n=0;e;)t+=e.offsetLeft-e.scrollLeft,n+=e.offsetTop-e.scrollTop,e=e.offsetParent;return{x:t,y:n}}},{key:"_initWebGL",value:function(){if(!this.gl)for(var e=0;!this.gl&&e0?dt.FS_MAX_FLOAT_PRECISION="highp":ht.getShaderPrecisionFormat(ht.FRAGMENT_SHADER,ht.MEDIUM_FLOAT).precision>0?dt.FS_MAX_FLOAT_PRECISION="mediump":dt.FS_MAX_FLOAT_PRECISION="lowp":dt.FS_MAX_FLOAT_PRECISION="mediump",dt.DEPTH_BUFFER_BITS=ht.getParameter(ht.DEPTH_BITS),dt.MAX_TEXTURE_SIZE=ht.getParameter(ht.MAX_TEXTURE_SIZE),dt.MAX_CUBE_MAP_SIZE=ht.getParameter(ht.MAX_CUBE_MAP_TEXTURE_SIZE),dt.MAX_RENDERBUFFER_SIZE=ht.getParameter(ht.MAX_RENDERBUFFER_SIZE),dt.MAX_TEXTURE_UNITS=ht.getParameter(ht.MAX_COMBINED_TEXTURE_IMAGE_UNITS),dt.MAX_TEXTURE_IMAGE_UNITS=ht.getParameter(ht.MAX_TEXTURE_IMAGE_UNITS),dt.MAX_VERTEX_ATTRIBS=ht.getParameter(ht.MAX_VERTEX_ATTRIBS),dt.MAX_VERTEX_UNIFORM_VECTORS=ht.getParameter(ht.MAX_VERTEX_UNIFORM_VECTORS),dt.MAX_FRAGMENT_UNIFORM_VECTORS=ht.getParameter(ht.MAX_FRAGMENT_UNIFORM_VECTORS),dt.MAX_VARYING_VECTORS=ht.getParameter(ht.MAX_VARYING_VECTORS),ht.getSupportedExtensions().forEach((function(e){dt.SUPPORTED_EXTENSIONS[e]=!0})))}var It=function(){function e(){b(this,e),this.entity=null,this.primitive=null,this.primIndex=-1,this.pickSurfacePrecision=!1,this.touchInput=!1,this.snappedToEdge=!1,this.snappedToVertex=!1,this._origin=new Float64Array([0,0,0]),this._direction=new Float64Array([0,0,0]),this._indices=new Int32Array(3),this._localPos=new Float64Array([0,0,0]),this._worldPos=new Float64Array([0,0,0]),this._viewPos=new Float64Array([0,0,0]),this._canvasPos=new Int16Array([0,0]),this._snappedCanvasPos=new Int16Array([0,0]),this._bary=new Float64Array([0,0,0]),this._worldNormal=new Float64Array([0,0,0]),this._uv=new Float64Array([0,0]),this.reset()}return P(e,[{key:"canvasPos",get:function(){return this._gotCanvasPos?this._canvasPos:null},set:function(e){e?(this._canvasPos[0]=e[0],this._canvasPos[1]=e[1],this._gotCanvasPos=!0):this._gotCanvasPos=!1}},{key:"origin",get:function(){return this._gotOrigin?this._origin:null},set:function(e){e?(this._origin[0]=e[0],this._origin[1]=e[1],this._origin[2]=e[2],this._gotOrigin=!0):this._gotOrigin=!1}},{key:"direction",get:function(){return this._gotDirection?this._direction:null},set:function(e){e?(this._direction[0]=e[0],this._direction[1]=e[1],this._direction[2]=e[2],this._gotDirection=!0):this._gotDirection=!1}},{key:"indices",get:function(){return this.entity&&this._gotIndices?this._indices:null},set:function(e){e?(this._indices[0]=e[0],this._indices[1]=e[1],this._indices[2]=e[2],this._gotIndices=!0):this._gotIndices=!1}},{key:"localPos",get:function(){return this.entity&&this._gotLocalPos?this._localPos:null},set:function(e){e?(this._localPos[0]=e[0],this._localPos[1]=e[1],this._localPos[2]=e[2],this._gotLocalPos=!0):this._gotLocalPos=!1}},{key:"snappedCanvasPos",get:function(){return this._gotSnappedCanvasPos?this._snappedCanvasPos:null},set:function(e){e?(this._snappedCanvasPos[0]=e[0],this._snappedCanvasPos[1]=e[1],this._gotSnappedCanvasPos=!0):this._gotSnappedCanvasPos=!1}},{key:"worldPos",get:function(){return this._gotWorldPos?this._worldPos:null},set:function(e){e?(this._worldPos[0]=e[0],this._worldPos[1]=e[1],this._worldPos[2]=e[2],this._gotWorldPos=!0):this._gotWorldPos=!1}},{key:"viewPos",get:function(){return this.entity&&this._gotViewPos?this._viewPos:null},set:function(e){e?(this._viewPos[0]=e[0],this._viewPos[1]=e[1],this._viewPos[2]=e[2],this._gotViewPos=!0):this._gotViewPos=!1}},{key:"bary",get:function(){return this.entity&&this._gotBary?this._bary:null},set:function(e){e?(this._bary[0]=e[0],this._bary[1]=e[1],this._bary[2]=e[2],this._gotBary=!0):this._gotBary=!1}},{key:"worldNormal",get:function(){return this.entity&&this._gotWorldNormal?this._worldNormal:null},set:function(e){e?(this._worldNormal[0]=e[0],this._worldNormal[1]=e[1],this._worldNormal[2]=e[2],this._gotWorldNormal=!0):this._gotWorldNormal=!1}},{key:"uv",get:function(){return this.entity&&this._gotUV?this._uv:null},set:function(e){e?(this._uv[0]=e[0],this._uv[1]=e[1],this._gotUV=!0):this._gotUV=!1}},{key:"reset",value:function(){this.entity=null,this.primIndex=-1,this.primitive=null,this.pickSurfacePrecision=!1,this._gotCanvasPos=!1,this._gotSnappedCanvasPos=!1,this._gotOrigin=!1,this._gotDirection=!1,this._gotIndices=!1,this._gotLocalPos=!1,this._gotWorldPos=!1,this._gotViewPos=!1,this._gotBary=!1,this._gotWorldNormal=!1,this._gotUV=!1,this.touchInput=!1,this.snappedToEdge=!1,this.snappedToVertex=!1}}]),e}(),yt=function(){function e(t,n,r){if(b(this,e),this.allocated=!1,this.compiled=!1,this.handle=t.createShader(n),this.handle){if(this.allocated=!0,t.shaderSource(this.handle,r),t.compileShader(this.handle),this.compiled=t.getShaderParameter(this.handle,t.COMPILE_STATUS),!this.compiled&&!t.isContextLost()){for(var i=r.split("\n"),a=[],s=0;s0&&"/"===t.charAt(n+1)&&(t=t.substring(0,n)),r.push(t);return r.join("\n")}function Tt(e){console.error(e.join("\n"))}var bt=function(){function e(t,n){b(this,e),this.id=gt.addItem({}),this.source=n,this.init(t)}return P(e,[{key:"init",value:function(e){if(this.gl=e,this.allocated=!1,this.compiled=!1,this.linked=!1,this.validated=!1,this.errors=null,this.uniforms={},this.samplers={},this.attributes={},this._vertexShader=new yt(e,e.VERTEX_SHADER,Et(this.source.vertex)),this._fragmentShader=new yt(e,e.FRAGMENT_SHADER,Et(this.source.fragment)),!this._vertexShader.allocated)return this.errors=["Vertex shader failed to allocate"].concat(this._vertexShader.errors),void Tt(this.errors);if(!this._fragmentShader.allocated)return this.errors=["Fragment shader failed to allocate"].concat(this._fragmentShader.errors),void Tt(this.errors);if(this.allocated=!0,!this._vertexShader.compiled)return this.errors=["Vertex shader failed to compile"].concat(this._vertexShader.errors),void Tt(this.errors);if(!this._fragmentShader.compiled)return this.errors=["Fragment shader failed to compile"].concat(this._fragmentShader.errors),void Tt(this.errors);var t,n,r,i,a;if(this.compiled=!0,this.handle=e.createProgram(),this.handle){if(e.attachShader(this.handle,this._vertexShader.handle),e.attachShader(this.handle,this._fragmentShader.handle),e.linkProgram(this.handle),this.linked=e.getProgramParameter(this.handle,e.LINK_STATUS),this.validated=!0,!this.linked||!this.validated)return this.errors=[],this.errors.push(""),this.errors.push(e.getProgramInfoLog(this.handle)),this.errors.push("\nVertex shader:\n"),this.errors=this.errors.concat(this.source.vertex),this.errors.push("\nFragment shader:\n"),this.errors=this.errors.concat(this.source.fragment),void Tt(this.errors);var s=e.getProgramParameter(this.handle,e.ACTIVE_UNIFORMS);for(n=0;nthis.dataLength?e.slice(0,this.dataLength):e,this.usage),this._gl.bindBuffer(this.type,null),this.length=e.length,this.numItems=this.length/this.itemSize,this.allocated=!0)}},{key:"setData",value:function(e,t){this.allocated&&(e.length+(t||0)>this.length?(this.destroy(),this._allocate(e)):(this._gl.bindBuffer(this.type,this._handle),t||0===t?this._gl.bufferSubData(this.type,t*this.itemByteSize,e):this._gl.bufferData(this.type,e,this.usage),this._gl.bindBuffer(this.type,null)))}},{key:"bind",value:function(){this.allocated&&this._gl.bindBuffer(this.type,this._handle)}},{key:"unbind",value:function(){this.allocated&&this._gl.bindBuffer(this.type,null)}},{key:"destroy",value:function(){this.allocated&&(this._gl.deleteBuffer(this._handle),this._handle=null,this.allocated=!1)}}]),e}(),Pt=function(){function e(t,n){b(this,e),this.scene=t,this.aabb=$.AABB3(),this.origin=$.vec3(n),this.originHash=this.origin.join(),this.numMarkers=0,this.markers={},this.markerList=[],this.markerIndices={},this.positions=[],this.indices=[],this.positionsBuf=null,this.lenPositionsBuf=0,this.indicesBuf=null,this.sectionPlanesActive=[],this.culledBySectionPlanes=!1,this.occlusionTestList=[],this.lenOcclusionTestList=0,this.pixels=[],this.aabbDirty=!1,this.markerListDirty=!1,this.positionsDirty=!0,this.occlusionTestListDirty=!1}return P(e,[{key:"addMarker",value:function(e){this.markers[e.id]=e,this.markerListDirty=!0,this.numMarkers++}},{key:"markerWorldPosUpdated",value:function(e){if(this.markers[e.id]){var t=this.markerIndices[e.id];this.positions[3*t+0]=e.worldPos[0],this.positions[3*t+1]=e.worldPos[1],this.positions[3*t+2]=e.worldPos[2],this.positionsDirty=!0}}},{key:"removeMarker",value:function(e){delete this.markers[e.id],this.markerListDirty=!0,this.numMarkers--}},{key:"update",value:function(){this.markerListDirty&&(this._buildMarkerList(),this.markerListDirty=!1,this.positionsDirty=!0,this.occlusionTestListDirty=!0),this.positionsDirty&&(this._buildPositions(),this.positionsDirty=!1,this.aabbDirty=!0,this.vbosDirty=!0),this.aabbDirty&&(this._buildAABB(),this.aabbDirty=!1),this.vbosDirty&&(this._buildVBOs(),this.vbosDirty=!1),this.occlusionTestListDirty&&this._buildOcclusionTestList(),this._updateActiveSectionPlanes()}},{key:"_buildMarkerList",value:function(){for(var e in this.numMarkers=0,this.markers)this.markers.hasOwnProperty(e)&&(this.markerList[this.numMarkers]=this.markers[e],this.markerIndices[e]=this.numMarkers,this.numMarkers++);this.markerList.length=this.numMarkers}},{key:"_buildPositions",value:function(){for(var e=0,t=0;t-t)o._setVisible(!1);else{var l=o.canvasPos,u=l[0],c=l[1];u+10<0||c+10<0||u-10>r||c-10>i?o._setVisible(!1):!o.entity||o.entity.visible?o.occludable?(this.occlusionTestList[this.lenOcclusionTestList++]=o,this.pixels[a++]=u,this.pixels[a++]=c):o._setVisible(!0):o._setVisible(!1)}}}},{key:"_updateActiveSectionPlanes",value:function(){var e=this.scene._sectionPlanesState.sectionPlanes,t=e.length;if(t>0)for(var n=0;n0,n=[];return n.push("#version 300 es"),n.push("// OcclusionTester vertex shader"),n.push("in vec3 position;"),n.push("uniform mat4 modelMatrix;"),n.push("uniform mat4 viewMatrix;"),n.push("uniform mat4 projMatrix;"),e.logarithmicDepthBufferEnabled&&(n.push("uniform float logDepthBufFC;"),n.push("out float vFragDepth;")),t&&n.push("out vec4 vWorldPosition;"),n.push("void main(void) {"),n.push("vec4 worldPosition = vec4(position, 1.0); "),n.push(" vec4 viewPosition = viewMatrix * worldPosition;"),t&&n.push(" vWorldPosition = worldPosition;"),n.push(" vec4 clipPos = projMatrix * viewPosition;"),n.push(" gl_PointSize = 20.0;"),e.logarithmicDepthBufferEnabled?n.push("vFragDepth = 1.0 + clipPos.w;"):n.push("clipPos.z += -0.001;"),n.push(" gl_Position = clipPos;"),n.push("}"),n}},{key:"_buildFragmentShaderSource",value:function(){var e=this._scene,t=e._sectionPlanesState,n=t.sectionPlanes.length>0,r=[];if(r.push("#version 300 es"),r.push("// OcclusionTester fragment shader"),r.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),r.push("precision highp float;"),r.push("precision highp int;"),r.push("#else"),r.push("precision mediump float;"),r.push("precision mediump int;"),r.push("#endif"),e.logarithmicDepthBufferEnabled&&(r.push("uniform float logDepthBufFC;"),r.push("in float vFragDepth;")),n){r.push("in vec4 vWorldPosition;");for(var i=0;i 0.0) { discard; }")}return e.logarithmicDepthBufferEnabled&&r.push("gl_FragDepth = log2( vFragDepth ) * logDepthBufFC * 0.5;"),r.push(" outColor = vec4(1.0, 0.0, 0.0, 1.0); "),r.push("}"),r}},{key:"_buildProgram",value:function(){this._program&&this._program.destroy();var e=this._scene,t=e.canvas.gl,n=e._sectionPlanesState;if(this._program=new bt(t,this._shaderSource),this._program.errors)this.errors=this._program.errors;else{var r=this._program;this._uViewMatrix=r.getLocation("viewMatrix"),this._uProjMatrix=r.getLocation("projMatrix"),this._uSectionPlanes=[];for(var i=0,a=n.sectionPlanes.length;i0)for(var p=r.sectionPlanes,A=0;A= ( 1.0 - EPSILON ) ) {\n \t\t\tcontinue;\n \t\t}\n\n \t\tfloat sampleViewZ = getViewZ( sampleDepth );\n \t\tvec3 sampleViewPosition = getViewPos( sampleUv, sampleDepth, sampleViewZ );\n \t\tocclusionSum += getOcclusion( centerViewPosition, centerViewNormal, sampleViewPosition );\n \t\tweightSum += 1.0;\n \t}\n\n \tif( weightSum == 0.0 ) discard;\n\n \treturn occlusionSum * ( uIntensity / weightSum );\n }\n\n out vec4 outColor;\n \n void main() {\n \n \tfloat centerDepth = getDepth( vUV );\n \t\n \tif( centerDepth >= ( 1.0 - EPSILON ) ) {\n \t\tdiscard;\n \t}\n\n \tfloat centerViewZ = getViewZ( centerDepth );\n \tvec3 viewPosition = getViewPos( vUV, centerDepth, centerViewZ );\n\n \tfloat ambientOcclusion = getAmbientOcclusion( viewPosition );\n \n \toutColor = packFloatToRGBA( 1.0- ambientOcclusion );\n }")]}),this._program.errors)return console.error(this._program.errors.join("\n")),void(this._programError=!0);var r=new Float32Array([1,1,0,1,0,0,1,0]),i=new Float32Array([1,1,0,-1,1,0,-1,-1,0,1,-1,0]),a=new Uint32Array([0,1,2,0,2,3]);this._positionsBuf=new Dt(n,n.ARRAY_BUFFER,i,i.length,3,n.STATIC_DRAW),this._uvBuf=new Dt(n,n.ARRAY_BUFFER,r,r.length,2,n.STATIC_DRAW),this._indicesBuf=new Dt(n,n.ELEMENT_ARRAY_BUFFER,a,a.length,1,n.STATIC_DRAW),this._program.bind(),this._uCameraNear=this._program.getLocation("uCameraNear"),this._uCameraFar=this._program.getLocation("uCameraFar"),this._uCameraProjectionMatrix=this._program.getLocation("uProjectMatrix"),this._uCameraInverseProjectionMatrix=this._program.getLocation("uInverseProjectMatrix"),this._uPerspective=this._program.getLocation("uPerspective"),this._uScale=this._program.getLocation("uScale"),this._uIntensity=this._program.getLocation("uIntensity"),this._uBias=this._program.getLocation("uBias"),this._uKernelRadius=this._program.getLocation("uKernelRadius"),this._uMinResolution=this._program.getLocation("uMinResolution"),this._uViewport=this._program.getLocation("uViewport"),this._uRandomSeed=this._program.getLocation("uRandomSeed"),this._aPosition=this._program.getAttribute("aPosition"),this._aUV=this._program.getAttribute("aUV"),this._dirty=!1}}},{key:"destroy",value:function(){this._program&&(this._program.destroy(),this._program=null)}}]),e}(),St=new Float32Array(Ht(17,[0,1])),Nt=new Float32Array(Ht(17,[1,0])),Lt=new Float32Array(function(e,t){for(var n=[],r=0;r<=e;r++)n.push(Ft(r,t));return n}(17,4)),Mt=new Float32Array(2),xt=function(){function e(t){b(this,e),this._scene=t,this._program=null,this._programError=!1,this._aPosition=null,this._aUV=null,this._uDepthTexture="uDepthTexture",this._uOcclusionTexture="uOcclusionTexture",this._uViewport=null,this._uCameraNear=null,this._uCameraFar=null,this._uCameraProjectionMatrix=null,this._uCameraInverseProjectionMatrix=null,this._uvBuf=null,this._positionsBuf=null,this._indicesBuf=null,this.init()}return P(e,[{key:"init",value:function(){var e=this._scene.canvas.gl;if(this._program=new bt(e,{vertex:["#version 300 es\n precision highp float;\n precision highp int;\n \n in vec3 aPosition;\n in vec2 aUV;\n uniform vec2 uViewport;\n out vec2 vUV;\n out vec2 vInvSize;\n void main () {\n vUV = aUV;\n vInvSize = 1.0 / uViewport;\n gl_Position = vec4(aPosition, 1.0);\n }"],fragment:["#version 300 es\n precision highp float;\n precision highp int;\n \n #define PI 3.14159265359\n #define PI2 6.28318530718\n #define EPSILON 1e-6\n\n #define KERNEL_RADIUS ".concat(16,"\n\n in vec2 vUV;\n in vec2 vInvSize;\n \n uniform sampler2D uDepthTexture;\n uniform sampler2D uOcclusionTexture; \n \n uniform float uCameraNear;\n uniform float uCameraFar; \n uniform float uDepthCutoff;\n\n uniform vec2 uSampleOffsets[ KERNEL_RADIUS + 1 ];\n uniform float uSampleWeights[ KERNEL_RADIUS + 1 ];\n\n const float unpackDownscale = 255. / 256.; \n\n const vec3 packFactors = vec3( 256. * 256. * 256., 256. * 256., 256. );\n const vec4 unpackFactors = unpackDownscale / vec4( packFactors, 1. ); \n\n const float packUpscale = 256. / 255.;\n \n const float shiftRights = 1. / 256.;\n \n float unpackRGBAToFloat( const in vec4 v ) {\n return dot( floor( v * 255.0 + 0.5 ) / 255.0, unpackFactors );\n } \n\n vec4 packFloatToRGBA( const in float v ) {\n vec4 r = vec4( fract( v * packFactors ), v );\n r.yzw -= r.xyz * shiftRights; \n return r * packUpscale;\n }\n\n float viewZToOrthographicDepth( const in float viewZ) {\n return ( viewZ + uCameraNear ) / ( uCameraNear - uCameraFar );\n }\n \n float orthographicDepthToViewZ( const in float linearClipZ) {\n return linearClipZ * ( uCameraNear - uCameraFar ) - uCameraNear;\n }\n\n float viewZToPerspectiveDepth( const in float viewZ) {\n return (( uCameraNear + viewZ ) * uCameraFar ) / (( uCameraFar - uCameraNear ) * viewZ );\n }\n \n float perspectiveDepthToViewZ( const in float invClipZ) {\n return ( uCameraNear * uCameraFar ) / ( ( uCameraFar - uCameraNear ) * invClipZ - uCameraFar );\n }\n\n float getDepth( const in vec2 screenPosition ) {\n return vec4(texture(uDepthTexture, screenPosition)).r;\n }\n\n float getViewZ( const in float depth ) {\n return perspectiveDepthToViewZ( depth );\n }\n\n out vec4 outColor;\n \n void main() {\n \n float depth = getDepth( vUV );\n if( depth >= ( 1.0 - EPSILON ) ) {\n discard;\n }\n\n float centerViewZ = -getViewZ( depth );\n bool rBreak = false;\n bool lBreak = false;\n\n float weightSum = uSampleWeights[0];\n float occlusionSum = unpackRGBAToFloat(texture( uOcclusionTexture, vUV )) * weightSum;\n\n for( int i = 1; i <= KERNEL_RADIUS; i ++ ) {\n\n float sampleWeight = uSampleWeights[i];\n vec2 sampleUVOffset = uSampleOffsets[i] * vInvSize;\n\n vec2 sampleUV = vUV + sampleUVOffset;\n float viewZ = -getViewZ( getDepth( sampleUV ) );\n\n if( abs( viewZ - centerViewZ ) > uDepthCutoff ) {\n rBreak = true;\n }\n\n if( ! rBreak ) {\n occlusionSum += unpackRGBAToFloat(texture( uOcclusionTexture, sampleUV )) * sampleWeight;\n weightSum += sampleWeight;\n }\n\n sampleUV = vUV - sampleUVOffset;\n viewZ = -getViewZ( getDepth( sampleUV ) );\n\n if( abs( viewZ - centerViewZ ) > uDepthCutoff ) {\n lBreak = true;\n }\n\n if( ! lBreak ) {\n occlusionSum += unpackRGBAToFloat(texture( uOcclusionTexture, sampleUV )) * sampleWeight;\n weightSum += sampleWeight;\n }\n }\n\n outColor = packFloatToRGBA(occlusionSum / weightSum);\n }")]}),this._program.errors)return console.error(this._program.errors.join("\n")),void(this._programError=!0);var t=new Float32Array([1,1,0,1,0,0,1,0]),n=new Float32Array([1,1,0,-1,1,0,-1,-1,0,1,-1,0]),r=new Uint32Array([0,1,2,0,2,3]);this._positionsBuf=new Dt(e,e.ARRAY_BUFFER,n,n.length,3,e.STATIC_DRAW),this._uvBuf=new Dt(e,e.ARRAY_BUFFER,t,t.length,2,e.STATIC_DRAW),this._indicesBuf=new Dt(e,e.ELEMENT_ARRAY_BUFFER,r,r.length,1,e.STATIC_DRAW),this._program.bind(),this._uViewport=this._program.getLocation("uViewport"),this._uCameraNear=this._program.getLocation("uCameraNear"),this._uCameraFar=this._program.getLocation("uCameraFar"),this._uDepthCutoff=this._program.getLocation("uDepthCutoff"),this._uSampleOffsets=e.getUniformLocation(this._program.handle,"uSampleOffsets"),this._uSampleWeights=e.getUniformLocation(this._program.handle,"uSampleWeights"),this._aPosition=this._program.getAttribute("aPosition"),this._aUV=this._program.getAttribute("aUV")}},{key:"render",value:function(e,t,n){var r=this;if(!this._programError){this._getInverseProjectMat||(this._getInverseProjectMat=function(){var e=!0;r._scene.camera.on("projMatrix",(function(){e=!0}));var t=$.mat4();return function(){return e&&$.inverseMat4(s.camera.projMatrix,t),t}}());var i=this._scene.canvas.gl,a=this._program,s=this._scene,o=i.drawingBufferWidth,l=i.drawingBufferHeight,u=s.camera.project._state,c=u.near,f=u.far;i.viewport(0,0,o,l),i.clearColor(0,0,0,1),i.enable(i.DEPTH_TEST),i.disable(i.BLEND),i.frontFace(i.CCW),i.clear(i.COLOR_BUFFER_BIT|i.DEPTH_BUFFER_BIT),a.bind(),Mt[0]=o,Mt[1]=l,i.uniform2fv(this._uViewport,Mt),i.uniform1f(this._uCameraNear,c),i.uniform1f(this._uCameraFar,f),i.uniform1f(this._uDepthCutoff,.01),0===n?i.uniform2fv(this._uSampleOffsets,Nt):i.uniform2fv(this._uSampleOffsets,St),i.uniform1fv(this._uSampleWeights,Lt);var p=e.getDepthTexture(),A=t.getTexture();a.bindTexture(this._uDepthTexture,p,0),a.bindTexture(this._uOcclusionTexture,A,1),this._aUV.bindArrayBuffer(this._uvBuf),this._aPosition.bindArrayBuffer(this._positionsBuf),this._indicesBuf.bind(),i.drawElements(i.TRIANGLES,this._indicesBuf.numItems,this._indicesBuf.itemType,0)}}},{key:"destroy",value:function(){this._program.destroy()}}]),e}();function Ft(e,t){return Math.exp(-e*e/(t*t*2))/(Math.sqrt(2*Math.PI)*t)}function Ht(e,t){for(var n=[],r=0;r<=e;r++)n.push(t[0]*r),n.push(t[1]*r);return n}var Ut=function(){function e(t,n,r){b(this,e),r=r||{},this.gl=n,this.allocated=!1,this.canvas=t,this.buffer=null,this.bound=!1,this.size=r.size,this._hasDepthTexture=!!r.depthTexture}return P(e,[{key:"setSize",value:function(e){this.size=e}},{key:"webglContextRestored",value:function(e){this.gl=e,this.buffer=null,this.allocated=!1,this.bound=!1}},{key:"bind",value:function(){if(this._touch.apply(this,arguments),!this.bound){var e=this.gl;e.bindFramebuffer(e.FRAMEBUFFER,this.buffer.framebuf),this.bound=!0}}},{key:"createTexture",value:function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null,r=this.gl,i=r.createTexture();return r.bindTexture(r.TEXTURE_2D,i),r.texParameteri(r.TEXTURE_2D,r.TEXTURE_MIN_FILTER,r.NEAREST),r.texParameteri(r.TEXTURE_2D,r.TEXTURE_MAG_FILTER,r.NEAREST),r.texParameteri(r.TEXTURE_2D,r.TEXTURE_WRAP_S,r.CLAMP_TO_EDGE),r.texParameteri(r.TEXTURE_2D,r.TEXTURE_WRAP_T,r.CLAMP_TO_EDGE),n?r.texStorage2D(r.TEXTURE_2D,1,n,e,t):r.texImage2D(r.TEXTURE_2D,0,r.RGBA,e,t,0,r.RGBA,r.UNSIGNED_BYTE,null),i}},{key:"_touch",value:function(){var e,t,n=this,r=this.gl;if(this.size?(e=this.size[0],t=this.size[1]):(e=r.drawingBufferWidth,t=r.drawingBufferHeight),this.buffer){if(this.buffer.width===e&&this.buffer.height===t)return;this.buffer.textures.forEach((function(e){return r.deleteTexture(e)})),r.deleteFramebuffer(this.buffer.framebuf),r.deleteRenderbuffer(this.buffer.renderbuf)}for(var i,a=[],s=arguments.length,o=new Array(s),l=0;l0?a.push.apply(a,c(o.map((function(r){return n.createTexture(e,t,r)})))):a.push(this.createTexture(e,t)),this._hasDepthTexture&&(i=r.createTexture(),r.bindTexture(r.TEXTURE_2D,i),r.texParameteri(r.TEXTURE_2D,r.TEXTURE_MAG_FILTER,r.NEAREST),r.texParameteri(r.TEXTURE_2D,r.TEXTURE_MIN_FILTER,r.NEAREST),r.texParameteri(r.TEXTURE_2D,r.TEXTURE_WRAP_S,r.CLAMP_TO_EDGE),r.texParameteri(r.TEXTURE_2D,r.TEXTURE_WRAP_T,r.CLAMP_TO_EDGE),r.texImage2D(r.TEXTURE_2D,0,r.DEPTH_COMPONENT32F,e,t,0,r.DEPTH_COMPONENT,r.FLOAT,null));var u=r.createRenderbuffer();r.bindRenderbuffer(r.RENDERBUFFER,u),r.renderbufferStorage(r.RENDERBUFFER,r.DEPTH_COMPONENT32F,e,t);var f=r.createFramebuffer();r.bindFramebuffer(r.FRAMEBUFFER,f);for(var p=0;p0&&r.drawBuffers(a.map((function(e,t){return r.COLOR_ATTACHMENT0+t}))),this._hasDepthTexture?r.framebufferTexture2D(r.FRAMEBUFFER,r.DEPTH_ATTACHMENT,r.TEXTURE_2D,i,0):r.framebufferRenderbuffer(r.FRAMEBUFFER,r.DEPTH_ATTACHMENT,r.RENDERBUFFER,u),r.bindTexture(r.TEXTURE_2D,null),r.bindRenderbuffer(r.RENDERBUFFER,null),r.bindFramebuffer(r.FRAMEBUFFER,null),r.bindFramebuffer(r.FRAMEBUFFER,f),!r.isFramebuffer(f))throw"Invalid framebuffer";r.bindFramebuffer(r.FRAMEBUFFER,null);var A=r.checkFramebufferStatus(r.FRAMEBUFFER);switch(A){case r.FRAMEBUFFER_COMPLETE:break;case r.FRAMEBUFFER_INCOMPLETE_ATTACHMENT:throw"Incomplete framebuffer: FRAMEBUFFER_INCOMPLETE_ATTACHMENT";case r.FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT:throw"Incomplete framebuffer: FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT";case r.FRAMEBUFFER_INCOMPLETE_DIMENSIONS:throw"Incomplete framebuffer: FRAMEBUFFER_INCOMPLETE_DIMENSIONS";case r.FRAMEBUFFER_UNSUPPORTED:throw"Incomplete framebuffer: FRAMEBUFFER_UNSUPPORTED";default:throw"Incomplete framebuffer: "+A}this.buffer={framebuf:f,renderbuf:u,texture:a[0],textures:a,depthTexture:i,width:e,height:t},this.bound=!1}},{key:"clear",value:function(){if(!this.bound)throw"Render buffer not bound";var e=this.gl;e.clear(e.COLOR_BUFFER_BIT|e.DEPTH_BUFFER_BIT)}},{key:"read",value:function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null,r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:null,i=arguments.length>4&&void 0!==arguments[4]?arguments[4]:Uint8Array,a=arguments.length>5&&void 0!==arguments[5]?arguments[5]:4,s=arguments.length>6&&void 0!==arguments[6]?arguments[6]:0,o=e,l=this.buffer.height?this.buffer.height-t-1:this.gl.drawingBufferHeight-t,u=new i(a),c=this.gl;return c.readBuffer(c.COLOR_ATTACHMENT0+s),c.readPixels(o,l,1,1,n||c.RGBA,r||c.UNSIGNED_BYTE,u,0),u}},{key:"readArray",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:Uint8Array,r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:4,i=arguments.length>4&&void 0!==arguments[4]?arguments[4]:0,a=new n(this.buffer.width*this.buffer.height*r),s=this.gl;return s.readBuffer(s.COLOR_ATTACHMENT0+i),s.readPixels(0,0,this.buffer.width,this.buffer.height,e||s.RGBA,t||s.UNSIGNED_BYTE,a,0),a}},{key:"readImageAsCanvas",value:function(){var e=this.gl,t=this._getImageDataCache(),n=t.pixelData,r=t.canvas,i=t.imageData,a=t.context;e.readPixels(0,0,this.buffer.width,this.buffer.height,e.RGBA,e.UNSIGNED_BYTE,n);for(var s=this.buffer.width,o=this.buffer.height,l=o/2|0,u=4*s,c=new Uint8Array(4*s),f=0;f0&&void 0!==arguments[0]?arguments[0]:Uint8Array,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:4,n=this.buffer.width,r=this.buffer.height,i=this._imageDataCache;if(i&&(i.width===n&&i.height===r||(this._imageDataCache=null,i=null)),!i){var a=document.createElement("canvas"),s=a.getContext("2d");a.width=n,a.height=r,i={pixelData:new e(n*r*t),canvas:a,context:s,imageData:s.createImageData(n,r),width:n,height:r},this._imageDataCache=i}return i.context.resetTransform(),i}},{key:"unbind",value:function(){var e=this.gl;e.bindFramebuffer(e.FRAMEBUFFER,null),this.bound=!1}},{key:"getTexture",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,t=this;return this._texture||(this._texture={renderBuffer:this,bind:function(n){return!(!t.buffer||!t.buffer.textures[e])&&(t.gl.activeTexture(t.gl["TEXTURE"+n]),t.gl.bindTexture(t.gl.TEXTURE_2D,t.buffer.textures[e]),!0)},unbind:function(n){t.buffer&&t.buffer.textures[e]&&(t.gl.activeTexture(t.gl["TEXTURE"+n]),t.gl.bindTexture(t.gl.TEXTURE_2D,null))}})}},{key:"hasDepthTexture",value:function(){return this._hasDepthTexture}},{key:"getDepthTexture",value:function(){if(!this._hasDepthTexture)return null;var e=this;return this._depthTexture||(this._dethTexture={renderBuffer:this,bind:function(t){return!(!e.buffer||!e.buffer.depthTexture)&&(e.gl.activeTexture(e.gl["TEXTURE"+t]),e.gl.bindTexture(e.gl.TEXTURE_2D,e.buffer.depthTexture),!0)},unbind:function(t){e.buffer&&e.buffer.depthTexture&&(e.gl.activeTexture(e.gl["TEXTURE"+t]),e.gl.bindTexture(e.gl.TEXTURE_2D,null))}})}},{key:"destroy",value:function(){if(this.allocated){var e=this.gl;this.buffer.textures.forEach((function(t){return e.deleteTexture(t)})),e.deleteTexture(this.buffer.depthTexture),e.deleteFramebuffer(this.buffer.framebuf),e.deleteRenderbuffer(this.buffer.renderbuf),this.allocated=!1,this.buffer=null,this.bound=!1}this._imageDataCache=null,this._texture=null,this._depthTexture=null}}]),e}(),Gt=function(){function e(t){b(this,e),this.scene=t,this._renderBuffersBasic={},this._renderBuffersScaled={}}return P(e,[{key:"getRenderBuffer",value:function(e,t){var n=1===this.scene.canvas.resolutionScale?this._renderBuffersBasic:this._renderBuffersScaled,r=n[e];return r||(r=new Ut(this.scene.canvas.canvas,this.scene.canvas.gl,t),n[e]=r),r}},{key:"destroy",value:function(){for(var e in this._renderBuffersBasic)this._renderBuffersBasic[e].destroy();for(var t in this._renderBuffersScaled)this._renderBuffersScaled[t].destroy()}}]),e}();function kt(e,t){if(void 0===e._cachedExtensions&&(e._cachedExtensions={}),void 0!==e._cachedExtensions[t])return e._cachedExtensions[t];var n;switch(t){case"WEBGL_depth_texture":n=e.getExtension("WEBGL_depth_texture")||e.getExtension("MOZ_WEBGL_depth_texture")||e.getExtension("WEBKIT_WEBGL_depth_texture");break;case"EXT_texture_filter_anisotropic":n=e.getExtension("EXT_texture_filter_anisotropic")||e.getExtension("MOZ_EXT_texture_filter_anisotropic")||e.getExtension("WEBKIT_EXT_texture_filter_anisotropic");break;case"WEBGL_compressed_texture_s3tc":n=e.getExtension("WEBGL_compressed_texture_s3tc")||e.getExtension("MOZ_WEBGL_compressed_texture_s3tc")||e.getExtension("WEBKIT_WEBGL_compressed_texture_s3tc");break;case"WEBGL_compressed_texture_pvrtc":n=e.getExtension("WEBGL_compressed_texture_pvrtc")||e.getExtension("WEBKIT_WEBGL_compressed_texture_pvrtc");break;default:n=e.getExtension(t)}return e._cachedExtensions[t]=n,n}var jt=function(e,t){t=t||{};var n=new At(e),r=e.canvas.canvas,i=e.canvas.gl,a=!!t.transparent,s=t.alphaDepthMask,o=new G({}),l={},u={},c=!0,f=!0,p=!0,A=!0,d=!0,v=!0,h=!0,I=!0,y=new Gt(e),m=!1,w=new Ot(e),g=new xt(e);function E(){c&&(!function(){for(var e in l)if(l.hasOwnProperty(e)){var t=l[e],n=t.drawableMap,r=t.drawableListPreCull,i=0;for(var a in n)n.hasOwnProperty(a)&&(r[i++]=n[a]);r.length=i}}(),c=!1,f=!0),f&&(!function(){for(var e in l)if(l.hasOwnProperty(e)){var t=l[e];t.isStateSortable&&t.drawableListPreCull.sort(t.stateSortCompare)}}(),f=!1,p=!0),p&&function(){for(var e in l)if(l.hasOwnProperty(e)){for(var t=l[e],n=t.drawableListPreCull,r=t.drawableList,i=0,a=0,s=n.length;a0)for(n.withSAO=!0,O=0;O0)for(O=0;O0)for(O=0;O0)for(O=0;O0||Q>0||U>0||G>0){if(i.enable(i.CULL_FACE),i.enable(i.BLEND),a?(i.blendEquation(i.FUNC_ADD),i.blendFuncSeparate(i.SRC_ALPHA,i.ONE_MINUS_SRC_ALPHA,i.ONE,i.ONE_MINUS_SRC_ALPHA)):(i.blendEquation(i.FUNC_ADD),i.blendFunc(i.SRC_ALPHA,i.ONE_MINUS_SRC_ALPHA)),n.backfaces=!1,s||i.depthMask(!1),(U>0||G>0)&&i.blendFunc(i.SRC_ALPHA,i.ONE_MINUS_SRC_ALPHA),G>0)for(O=0;O0)for(O=0;O0)for(O=0;O0)for(O=0;O0||z>0){if(n.lastProgramId=null,e.highlightMaterial.glowThrough&&i.clear(i.DEPTH_BUFFER_BIT),z>0)for(O=0;O0)for(O=0;O0||Y>0||W>0){if(n.lastProgramId=null,e.selectedMaterial.glowThrough&&i.clear(i.DEPTH_BUFFER_BIT),i.enable(i.BLEND),a?(i.blendEquation(i.FUNC_ADD),i.blendFuncSeparate(i.SRC_ALPHA,i.ONE_MINUS_SRC_ALPHA,i.ONE,i.ONE_MINUS_SRC_ALPHA)):i.blendFunc(i.SRC_ALPHA,i.ONE_MINUS_SRC_ALPHA),i.enable(i.CULL_FACE),Y>0)for(O=0;O0)for(O=0;O0||q>0){if(n.lastProgramId=null,e.selectedMaterial.glowThrough&&i.clear(i.DEPTH_BUFFER_BIT),q>0)for(O=0;O0)for(O=0;O0||Z>0){if(n.lastProgramId=null,e.selectedMaterial.glowThrough&&i.clear(i.DEPTH_BUFFER_BIT),i.enable(i.CULL_FACE),i.enable(i.BLEND),a?(i.blendEquation(i.FUNC_ADD),i.blendFuncSeparate(i.SRC_ALPHA,i.ONE_MINUS_SRC_ALPHA,i.ONE,i.ONE_MINUS_SRC_ALPHA)):i.blendFunc(i.SRC_ALPHA,i.ONE_MINUS_SRC_ALPHA),Z>0)for(O=0;O0)for(O=0;O1&&void 0!==arguments[1]?arguments[1]:s;d.reset(),E();var v=null,h=null;for(var I in d.pickSurface=p.pickSurface,p.canvasPos?(u[0]=p.canvasPos[0],u[1]=p.canvasPos[1],v=e.camera.viewMatrix,h=e.camera.projMatrix,d.canvasPos=p.canvasPos):(p.matrix?(v=p.matrix,h=e.camera.projMatrix):(c.set(p.origin||[0,0,0]),f.set(p.direction||[0,0,1]),A=$.addVec3(c,f,t),i[0]=Math.random(),i[1]=Math.random(),i[2]=Math.random(),$.normalizeVec3(i),$.cross3Vec3(f,i,a),v=$.lookAtMat4v(c,A,a,n),h=e.camera.ortho.matrix,d.origin=c,d.direction=f),u[0]=.5*r.clientWidth,u[1]=.5*r.clientHeight),l)if(l.hasOwnProperty(I))for(var m=l[I].drawableList,w=0,g=m.length;w4&&void 0!==arguments[4]?arguments[4]:P;if(!a&&!s)return this.pick({canvasPos:t,pickSurface:!0});var c=e.canvas.resolutionScale;n.reset(),n.backfaces=!0,n.frontface=!0,n.pickZNear=e.camera.project.near,n.pickZFar=e.camera.project.far,r=r||30;var f=y.getRenderBuffer("uniquePickColors-aabs",{depthTexture:!0,size:[2*r+1,2*r+1]});n.snapVectorA=[B(t[0]*c,i.drawingBufferWidth),O(t[1]*c,i.drawingBufferHeight)],n.snapInvVectorAB=[i.drawingBufferWidth/(2*r),i.drawingBufferHeight/(2*r)],f.bind(i.RGBA32I,i.RGBA32I,i.RGBA8UI),i.viewport(0,0,f.size[0],f.size[1]),i.enable(i.DEPTH_TEST),i.frontFace(i.CCW),i.disable(i.CULL_FACE),i.depthMask(!0),i.disable(i.BLEND),i.depthFunc(i.LEQUAL),i.clear(i.DEPTH_BUFFER_BIT),i.clearBufferiv(i.COLOR,0,new Int32Array([0,0,0,0])),i.clearBufferiv(i.COLOR,1,new Int32Array([0,0,0,0])),i.clearBufferuiv(i.COLOR,2,new Uint32Array([0,0,0,0]));var p=e.camera.viewMatrix,A=e.camera.projMatrix;for(var d in l)if(l.hasOwnProperty(d))for(var v=l[d].drawableList,h=0,I=v.length;h0){var V=Math.floor(j/4),Q=f.size[0],W=V%Q-Math.floor(Q/2),z=Math.floor(V/Q)-Math.floor(Q/2),K=Math.sqrt(Math.pow(W,2)+Math.pow(z,2));k.push({x:W,y:z,dist:K,isVertex:a&&s?E[j+3]>g.length/2:a,result:[E[j+0],E[j+1],E[j+2],E[j+3]],normal:[T[j+0],T[j+1],T[j+2],T[j+3]],id:[b[j+0],b[j+1],b[j+2],b[j+3]]})}var Y=null,X=null,q=null,J=null;if(k.length>0){k.sort((function(e,t){return e.isVertex!==t.isVertex?e.isVertex?-1:1:e.dist-t.dist})),J=k[0].isVertex?"vertex":"edge";var Z=k[0].result,ee=k[0].normal,te=k[0].id,ne=g[Z[3]],re=ne.origin,ie=ne.coordinateScale;X=$.normalizeVec3([ee[0]/$.MAX_INT,ee[1]/$.MAX_INT,ee[2]/$.MAX_INT]),Y=[Z[0]*ie[0]+re[0],Z[1]*ie[1]+re[1],Z[2]*ie[2]+re[2]],q=o.items[te[0]+(te[1]<<8)+(te[2]<<16)+(te[3]<<24)]}if(null===D&&null==Y)return null;var ae=null;null!==Y&&(ae=e.camera.projectWorldPos(Y));var se=q&&q.delegatePickedEntity?q.delegatePickedEntity():q;return u.reset(),u.snappedToEdge="edge"===J,u.snappedToVertex="vertex"===J,u.worldPos=Y,u.worldNormal=X,u.entity=se,u.canvasPos=t,u.snappedCanvasPos=ae||t,u}),this.addMarker=function(t){this._occlusionTester=this._occlusionTester||new _t(e,y),this._occlusionTester.addMarker(t),e.occlusionTestCountdown=0},this.markerWorldPosUpdated=function(e){this._occlusionTester.markerWorldPosUpdated(e)},this.removeMarker=function(e){this._occlusionTester.removeMarker(e)},this.doOcclusionTest=function(){if(this._occlusionTester&&this._occlusionTester.needOcclusionTest){for(var e in E(),this._occlusionTester.bindRenderBuf(),n.reset(),n.backfaces=!0,n.frontface=!0,i.viewport(0,0,i.drawingBufferWidth,i.drawingBufferHeight),i.clearColor(0,0,0,0),i.enable(i.DEPTH_TEST),i.disable(i.CULL_FACE),i.disable(i.BLEND),i.clear(i.COLOR_BUFFER_BIT|i.DEPTH_BUFFER_BIT),l)if(l.hasOwnProperty(e))for(var t=l[e].drawableList,r=0,a=t.length;r0&&void 0!==arguments[0]?arguments[0]:{},t=y.getRenderBuffer("snapshot");e.width&&e.height&&t.setSize([e.width,e.height]),t.bind(),t.clear(),m=!0},this.renderSnapshot=function(){m&&(y.getRenderBuffer("snapshot").clear(),this.render({force:!0,opaqueOnly:!1}),p=!0)},this.readSnapshot=function(e){return y.getRenderBuffer("snapshot").readImage(e)},this.readSnapshotAsCanvas=function(){return y.getRenderBuffer("snapshot").readImageAsCanvas()},this.endSnapshot=function(){m&&(y.getRenderBuffer("snapshot").unbind(),m=!1)},this.destroy=function(){l={},u={},y.destroy(),w.destroy(),g.destroy(),this._occlusionTester&&this._occlusionTester.destroy()}},Vt=function(e){I(n,ye);var t=m(n);function n(e){var r,i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return b(this,n),(r=t.call(this,e,i)).KEY_BACKSPACE=8,r.KEY_TAB=9,r.KEY_ENTER=13,r.KEY_SHIFT=16,r.KEY_CTRL=17,r.KEY_ALT=18,r.KEY_PAUSE_BREAK=19,r.KEY_CAPS_LOCK=20,r.KEY_ESCAPE=27,r.KEY_PAGE_UP=33,r.KEY_PAGE_DOWN=34,r.KEY_END=35,r.KEY_HOME=36,r.KEY_LEFT_ARROW=37,r.KEY_UP_ARROW=38,r.KEY_RIGHT_ARROW=39,r.KEY_DOWN_ARROW=40,r.KEY_INSERT=45,r.KEY_DELETE=46,r.KEY_NUM_0=48,r.KEY_NUM_1=49,r.KEY_NUM_2=50,r.KEY_NUM_3=51,r.KEY_NUM_4=52,r.KEY_NUM_5=53,r.KEY_NUM_6=54,r.KEY_NUM_7=55,r.KEY_NUM_8=56,r.KEY_NUM_9=57,r.KEY_A=65,r.KEY_B=66,r.KEY_C=67,r.KEY_D=68,r.KEY_E=69,r.KEY_F=70,r.KEY_G=71,r.KEY_H=72,r.KEY_I=73,r.KEY_J=74,r.KEY_K=75,r.KEY_L=76,r.KEY_M=77,r.KEY_N=78,r.KEY_O=79,r.KEY_P=80,r.KEY_Q=81,r.KEY_R=82,r.KEY_S=83,r.KEY_T=84,r.KEY_U=85,r.KEY_V=86,r.KEY_W=87,r.KEY_X=88,r.KEY_Y=89,r.KEY_Z=90,r.KEY_LEFT_WINDOW=91,r.KEY_RIGHT_WINDOW=92,r.KEY_SELECT_KEY=93,r.KEY_NUMPAD_0=96,r.KEY_NUMPAD_1=97,r.KEY_NUMPAD_2=98,r.KEY_NUMPAD_3=99,r.KEY_NUMPAD_4=100,r.KEY_NUMPAD_5=101,r.KEY_NUMPAD_6=102,r.KEY_NUMPAD_7=103,r.KEY_NUMPAD_8=104,r.KEY_NUMPAD_9=105,r.KEY_MULTIPLY=106,r.KEY_ADD=107,r.KEY_SUBTRACT=109,r.KEY_DECIMAL_POINT=110,r.KEY_DIVIDE=111,r.KEY_F1=112,r.KEY_F2=113,r.KEY_F3=114,r.KEY_F4=115,r.KEY_F5=116,r.KEY_F6=117,r.KEY_F7=118,r.KEY_F8=119,r.KEY_F9=120,r.KEY_F10=121,r.KEY_F11=122,r.KEY_F12=123,r.KEY_NUM_LOCK=144,r.KEY_SCROLL_LOCK=145,r.KEY_SEMI_COLON=186,r.KEY_EQUAL_SIGN=187,r.KEY_COMMA=188,r.KEY_DASH=189,r.KEY_PERIOD=190,r.KEY_FORWARD_SLASH=191,r.KEY_GRAVE_ACCENT=192,r.KEY_OPEN_BRACKET=219,r.KEY_BACK_SLASH=220,r.KEY_CLOSE_BRACKET=221,r.KEY_SINGLE_QUOTE=222,r.KEY_SPACE=32,r.element=i.element,r.altDown=!1,r.ctrlDown=!1,r.mouseDownLeft=!1,r.mouseDownMiddle=!1,r.mouseDownRight=!1,r.keyDown=[],r.enabled=!0,r.keyboardEnabled=!0,r.mouseover=!1,r.mouseCanvasPos=$.vec2(),r._keyboardEventsElement=i.keyboardEventsElement||document,r._bindEvents(),r}return P(n,[{key:"_bindEvents",value:function(){var e=this;if(!this._eventsBound){this._keyboardEventsElement.addEventListener("keydown",this._keyDownListener=function(t){e.enabled&&e.keyboardEnabled&&"INPUT"!==t.target.tagName&&"TEXTAREA"!==t.target.tagName&&(t.keyCode===e.KEY_CTRL?e.ctrlDown=!0:t.keyCode===e.KEY_ALT?e.altDown=!0:t.keyCode===e.KEY_SHIFT&&(e.shiftDown=!0),e.keyDown[t.keyCode]=!0,e.fire("keydown",t.keyCode,!0))},!1),this._keyboardEventsElement.addEventListener("keyup",this._keyUpListener=function(t){e.enabled&&e.keyboardEnabled&&"INPUT"!==t.target.tagName&&"TEXTAREA"!==t.target.tagName&&(t.keyCode===e.KEY_CTRL?e.ctrlDown=!1:t.keyCode===e.KEY_ALT?e.altDown=!1:t.keyCode===e.KEY_SHIFT&&(e.shiftDown=!1),e.keyDown[t.keyCode]=!1,e.fire("keyup",t.keyCode,!0))}),this.element.addEventListener("mouseenter",this._mouseEnterListener=function(t){e.enabled&&(e.mouseover=!0,e._getMouseCanvasPos(t),e.fire("mouseenter",e.mouseCanvasPos,!0))}),this.element.addEventListener("mouseleave",this._mouseLeaveListener=function(t){e.enabled&&(e.mouseover=!1,e._getMouseCanvasPos(t),e.fire("mouseleave",e.mouseCanvasPos,!0))}),this.element.addEventListener("mousedown",this._mouseDownListener=function(t){if(e.enabled){switch(t.which){case 1:e.mouseDownLeft=!0;break;case 2:e.mouseDownMiddle=!0;break;case 3:e.mouseDownRight=!0}e._getMouseCanvasPos(t),e.element.focus(),e.fire("mousedown",e.mouseCanvasPos,!0),e.mouseover&&t.preventDefault()}}),document.addEventListener("mouseup",this._mouseUpListener=function(t){if(e.enabled){switch(t.which){case 1:e.mouseDownLeft=!1;break;case 2:e.mouseDownMiddle=!1;break;case 3:e.mouseDownRight=!1}e.fire("mouseup",e.mouseCanvasPos,!0)}},!0),document.addEventListener("click",this._clickListener=function(t){if(e.enabled){switch(t.which){case 1:case 3:e.mouseDownLeft=!1,e.mouseDownRight=!1;break;case 2:e.mouseDownMiddle=!1}e._getMouseCanvasPos(t),e.fire("click",e.mouseCanvasPos,!0),e.mouseover&&t.preventDefault()}}),document.addEventListener("dblclick",this._dblClickListener=function(t){if(e.enabled){switch(t.which){case 1:case 3:e.mouseDownLeft=!1,e.mouseDownRight=!1;break;case 2:e.mouseDownMiddle=!1}e._getMouseCanvasPos(t),e.fire("dblclick",e.mouseCanvasPos,!0),e.mouseover&&t.preventDefault()}});var t=this.scene.tickify((function(){return e.fire("mousemove",e.mouseCanvasPos,!0)}));this.element.addEventListener("mousemove",this._mouseMoveListener=function(n){e.enabled&&(e._getMouseCanvasPos(n),t(),e.mouseover&&n.preventDefault())});var n=this.scene.tickify((function(t){e.fire("mousewheel",t,!0)}));this.element.addEventListener("wheel",this._mouseWheelListener=function(t,r){if(e.enabled){var i=Math.max(-1,Math.min(1,40*-t.deltaY));n(i)}},{passive:!0});var r,i;this.on("mousedown",(function(e){r=e[0],i=e[1]})),this.on("mouseup",(function(t){r>=t[0]-2&&r<=t[0]+2&&i>=t[1]-2&&i<=t[1]+2&&e.fire("mouseclicked",t,!0)})),this._eventsBound=!0}}},{key:"_unbindEvents",value:function(){this._eventsBound&&(this._keyboardEventsElement.removeEventListener("keydown",this._keyDownListener),this._keyboardEventsElement.removeEventListener("keyup",this._keyUpListener),this.element.removeEventListener("mouseenter",this._mouseEnterListener),this.element.removeEventListener("mouseleave",this._mouseLeaveListener),this.element.removeEventListener("mousedown",this._mouseDownListener),document.removeEventListener("mouseup",this._mouseDownListener),document.removeEventListener("click",this._clickListener),document.removeEventListener("dblclick",this._dblClickListener),this.element.removeEventListener("mousemove",this._mouseMoveListener),this.element.removeEventListener("wheel",this._mouseWheelListener),window.OrientationChangeEvent&&window.removeEventListener("orientationchange",this._orientationchangedListener),window.DeviceMotionEvent&&window.removeEventListener("devicemotion",this._deviceMotionListener),window.DeviceOrientationEvent&&window.removeEventListener("deviceorientation",this._deviceOrientListener),this._eventsBound=!1)}},{key:"_getMouseCanvasPos",value:function(e){if(e){for(var t=e.target,n=0,r=0;t.offsetParent;)n+=t.offsetLeft,r+=t.offsetTop,t=t.offsetParent;this.mouseCanvasPos[0]=e.pageX-n,this.mouseCanvasPos[1]=e.pageY-r}else e=window.event,this.mouseCanvasPos[0]=e.x,this.mouseCanvasPos[1]=e.y}},{key:"setEnabled",value:function(e){this.enabled!==e&&this.fire("enabled",this.enabled=e)}},{key:"getEnabled",value:function(){return this.enabled}},{key:"setKeyboardEnabled",value:function(e){this.keyboardEnabled=e}},{key:"getKeyboardEnabled",value:function(){return this.keyboardEnabled}},{key:"destroy",value:function(){v(E(n.prototype),"destroy",this).call(this),this._unbindEvents()}}]),n}(),Qt=new G({}),Wt=function(){function e(t){for(var n in b(this,e),this.id=Qt.addItem({}),t)t.hasOwnProperty(n)&&(this[n]=t[n])}return P(e,[{key:"destroy",value:function(){Qt.removeItem(this.id)}}]),e}(),zt=function(e){I(n,ye);var t=m(n);function n(e){var r,i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return b(this,n),(r=t.call(this,e,i))._state=new Wt({boundary:[0,0,100,100]}),r.boundary=i.boundary,r.autoBoundary=i.autoBoundary,r}return P(n,[{key:"type",get:function(){return"Viewport"}},{key:"boundary",get:function(){return this._state.boundary},set:function(e){if(!this._autoBoundary){if(!e){var t=this.scene.canvas.boundary;e=[0,0,t[2],t[3]]}this._state.boundary=e,this.glRedraw(),this.fire("boundary",this._state.boundary)}}},{key:"autoBoundary",get:function(){return this._autoBoundary},set:function(e){(e=!!e)!==this._autoBoundary&&(this._autoBoundary=e,this._autoBoundary?this._onCanvasSize=this.scene.canvas.on("boundary",(function(e){var t=e[2],n=e[3];this._state.boundary=[0,0,t,n],this.glRedraw(),this.fire("boundary",this._state.boundary)}),this):this._onCanvasSize&&(this.scene.canvas.off(this._onCanvasSize),this._onCanvasSize=null),this.fire("autoBoundary",this._autoBoundary))}},{key:"_getState",value:function(){return this._state}},{key:"destroy",value:function(){v(E(n.prototype),"destroy",this).call(this),this._state.destroy()}}]),n}(),Kt=function(e){I(n,ye);var t=m(n);function n(e){var r,i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return b(this,n),(r=t.call(this,e,i)).camera=e,r._state=new Wt({matrix:$.mat4(),inverseMatrix:$.mat4(),transposedMatrix:$.mat4(),near:.1,far:2e3}),r._inverseMatrixDirty=!0,r._transposedMatrixDirty=!0,r._fov=60,r._canvasResized=r.scene.canvas.on("boundary",r._needUpdate,g(r)),r.fov=i.fov,r.fovAxis=i.fovAxis,r.near=i.near,r.far=i.far,r}return P(n,[{key:"type",get:function(){return"Perspective"}},{key:"_update",value:function(){var e=this.scene.canvas.boundary,t=e[2]/e[3],n=this._fovAxis,r=this._fov;("x"===n||"min"===n&&t<1||"max"===n&&t>1)&&(r/=t),r=Math.min(r,120),$.perspectiveMat4(r*(Math.PI/180),t,this._state.near,this._state.far,this._state.matrix),this._inverseMatrixDirty=!0,this._transposedMatrixDirty=!0,this.glRedraw(),this.camera._updateScheduled=!0,this.fire("matrix",this._state.matrix)}},{key:"fov",get:function(){return this._fov},set:function(e){(e=null!=e?e:60)!==this._fov&&(this._fov=e,this._needUpdate(0),this.fire("fov",this._fov))}},{key:"fovAxis",get:function(){return this._fovAxis},set:function(e){e=e||"min",this._fovAxis!==e&&("x"!==e&&"y"!==e&&"min"!==e&&(this.error("Unsupported value for 'fovAxis': "+e+" - defaulting to 'min'"),e="min"),this._fovAxis=e,this._needUpdate(0),this.fire("fovAxis",this._fovAxis))}},{key:"near",get:function(){return this._state.near},set:function(e){var t=null!=e?e:.1;this._state.near!==t&&(this._state.near=t,this._needUpdate(0),this.fire("near",this._state.near))}},{key:"far",get:function(){return this._state.far},set:function(e){var t=null!=e?e:2e3;this._state.far!==t&&(this._state.far=t,this._needUpdate(0),this.fire("far",this._state.far))}},{key:"matrix",get:function(){return this._updateScheduled&&this._doUpdate(),this._state.matrix}},{key:"inverseMatrix",get:function(){return this._updateScheduled&&this._doUpdate(),this._inverseMatrixDirty&&($.inverseMat4(this._state.matrix,this._state.inverseMatrix),this._inverseMatrixDirty=!1),this._state.inverseMatrix}},{key:"transposedMatrix",get:function(){return this._updateScheduled&&this._doUpdate(),this._transposedMatrixDirty&&($.transposeMat4(this._state.matrix,this._state.transposedMatrix),this._transposedMatrixDirty=!1),this._state.transposedMatrix}},{key:"unproject",value:function(e,t,n,r,i){var a=this.scene.canvas.canvas,s=a.offsetWidth/2,o=a.offsetHeight/2;return n[0]=(e[0]-s)/s,n[1]=(e[1]-o)/o,n[2]=t,n[3]=1,$.mulMat4v4(this.inverseMatrix,n,r),$.mulVec3Scalar(r,1/r[3]),r[3]=1,r[1]*=-1,$.mulMat4v4(this.camera.inverseViewMatrix,r,i),i}},{key:"destroy",value:function(){v(E(n.prototype),"destroy",this).call(this),this._state.destroy(),this.scene.canvas.off(this._canvasResized)}}]),n}(),Yt=function(e){I(n,ye);var t=m(n);function n(e){var r,i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return b(this,n),(r=t.call(this,e,i)).camera=e,r._state=new Wt({matrix:$.mat4(),inverseMatrix:$.mat4(),transposedMatrix:$.mat4(),near:.1,far:2e3}),r._inverseMatrixDirty=!0,r._transposedMatrixDirty=!0,r.scale=i.scale,r.near=i.near,r.far=i.far,r._onCanvasBoundary=r.scene.canvas.on("boundary",r._needUpdate,g(r)),r}return P(n,[{key:"type",get:function(){return"Ortho"}},{key:"_update",value:function(){var e,t,n,r,i=this.scene,a=.5*this._scale,s=i.canvas.boundary,o=s[2],l=s[3],u=o/l;o>l?(e=-a,t=a,n=a/u,r=-a/u):(e=-a*u,t=a*u,n=a,r=-a),$.orthoMat4c(e,t,r,n,this._state.near,this._state.far,this._state.matrix),this._inverseMatrixDirty=!0,this._transposedMatrixDirty=!0,this.glRedraw(),this.fire("matrix",this._state.matrix)}},{key:"scale",get:function(){return this._scale},set:function(e){null==e&&(e=1),e<=0&&(e=.01),this._scale=e,this._needUpdate(0),this.fire("scale",this._scale)}},{key:"near",get:function(){return this._state.near},set:function(e){var t=null!=e?e:.1;this._state.near!==t&&(this._state.near=t,this._needUpdate(0),this.fire("near",this._state.near))}},{key:"far",get:function(){return this._state.far},set:function(e){var t=null!=e?e:2e3;this._state.far!==t&&(this._state.far=t,this._needUpdate(0),this.fire("far",this._state.far))}},{key:"matrix",get:function(){return this._updateScheduled&&this._doUpdate(),this._state.matrix}},{key:"inverseMatrix",get:function(){return this._updateScheduled&&this._doUpdate(),this._inverseMatrixDirty&&($.inverseMat4(this._state.matrix,this._state.inverseMatrix),this._inverseMatrixDirty=!1),this._state.inverseMatrix}},{key:"transposedMatrix",get:function(){return this._updateScheduled&&this._doUpdate(),this._transposedMatrixDirty&&($.transposeMat4(this._state.matrix,this._state.transposedMatrix),this._transposedMatrixDirty=!1),this._state.transposedMatrix}},{key:"unproject",value:function(e,t,n,r,i){var a=this.scene.canvas.canvas,s=a.offsetWidth/2,o=a.offsetHeight/2;return n[0]=(e[0]-s)/s,n[1]=(e[1]-o)/o,n[2]=t,n[3]=1,$.mulMat4v4(this.inverseMatrix,n,r),$.mulVec3Scalar(r,1/r[3]),r[3]=1,r[1]*=-1,$.mulMat4v4(this.camera.inverseViewMatrix,r,i),i}},{key:"destroy",value:function(){v(E(n.prototype),"destroy",this).call(this),this._state.destroy(),this.scene.canvas.off(this._onCanvasBoundary)}}]),n}(),Xt=function(e){I(n,ye);var t=m(n);function n(e){var r,i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return b(this,n),(r=t.call(this,e,i)).camera=e,r._state=new Wt({matrix:$.mat4(),inverseMatrix:$.mat4(),transposedMatrix:$.mat4(),near:.1,far:1e4}),r._left=-1,r._right=1,r._bottom=-1,r._top=1,r._inverseMatrixDirty=!0,r._transposedMatrixDirty=!0,r.left=i.left,r.right=i.right,r.bottom=i.bottom,r.top=i.top,r.near=i.near,r.far=i.far,r}return P(n,[{key:"type",get:function(){return"Frustum"}},{key:"_update",value:function(){$.frustumMat4(this._left,this._right,this._bottom,this._top,this._state.near,this._state.far,this._state.matrix),this._inverseMatrixDirty=!0,this._transposedMatrixDirty=!0,this.glRedraw(),this.fire("matrix",this._state.matrix)}},{key:"left",get:function(){return this._left},set:function(e){this._left=null!=e?e:-1,this._needUpdate(0),this.fire("left",this._left)}},{key:"right",get:function(){return this._right},set:function(e){this._right=null!=e?e:1,this._needUpdate(0),this.fire("right",this._right)}},{key:"top",get:function(){return this._top},set:function(e){this._top=null!=e?e:1,this._needUpdate(0),this.fire("top",this._top)}},{key:"bottom",get:function(){return this._bottom},set:function(e){this._bottom=null!=e?e:-1,this._needUpdate(0),this.fire("bottom",this._bottom)}},{key:"near",get:function(){return this._state.near},set:function(e){this._state.near=null!=e?e:.1,this._needUpdate(0),this.fire("near",this._state.near)}},{key:"far",get:function(){return this._state.far},set:function(e){this._state.far=null!=e?e:1e4,this._needUpdate(0),this.fire("far",this._state.far)}},{key:"matrix",get:function(){return this._updateScheduled&&this._doUpdate(),this._state.matrix}},{key:"inverseMatrix",get:function(){return this._updateScheduled&&this._doUpdate(),this._inverseMatrixDirty&&($.inverseMat4(this._state.matrix,this._state.inverseMatrix),this._inverseMatrixDirty=!1),this._state.inverseMatrix}},{key:"transposedMatrix",get:function(){return this._updateScheduled&&this._doUpdate(),this._transposedMatrixDirty&&($.transposeMat4(this._state.matrix,this._state.transposedMatrix),this._transposedMatrixDirty=!1),this._state.transposedMatrix}},{key:"unproject",value:function(e,t,n,r,i){var a=this.scene.canvas.canvas,s=a.offsetWidth/2,o=a.offsetHeight/2;return n[0]=(e[0]-s)/s,n[1]=(e[1]-o)/o,n[2]=t,n[3]=1,$.mulMat4v4(this.inverseMatrix,n,r),$.mulVec3Scalar(r,1/r[3]),r[3]=1,r[1]*=-1,$.mulMat4v4(this.camera.inverseViewMatrix,r,i),i}},{key:"destroy",value:function(){v(E(n.prototype),"destroy",this).call(this),this._state.destroy(),v(E(n.prototype),"destroy",this).call(this)}}]),n}(),qt=function(e){I(n,ye);var t=m(n);function n(e){var r,i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return b(this,n),(r=t.call(this,e,i)).camera=e,r._state=new Wt({matrix:$.mat4(),inverseMatrix:$.mat4(),transposedMatrix:$.mat4()}),r._inverseMatrixDirty=!0,r._transposedMatrixDirty=!1,r.matrix=i.matrix,r}return P(n,[{key:"type",get:function(){return"CustomProjection"}},{key:"matrix",get:function(){return this._state.matrix},set:function(e){this._state.matrix.set(e||[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]),this._inverseMatrixDirty=!0,this._transposedMatrixDirty=!0,this.glRedraw(),this.fire("matrix",this._state.matrix)}},{key:"inverseMatrix",get:function(){return this._updateScheduled&&this._doUpdate(),this._inverseMatrixDirty&&($.inverseMat4(this._state.matrix,this._state.inverseMatrix),this._inverseMatrixDirty=!1),this._state.inverseMatrix}},{key:"transposedMatrix",get:function(){return this._updateScheduled&&this._doUpdate(),this._transposedMatrixDirty&&($.transposeMat4(this._state.matrix,this._state.transposedMatrix),this._transposedMatrixDirty=!1),this._state.transposedMatrix}},{key:"unproject",value:function(e,t,n,r,i){var a=this.scene.canvas.canvas,s=a.offsetWidth/2,o=a.offsetHeight/2;return n[0]=(e[0]-s)/s,n[1]=(e[1]-o)/o,n[2]=t,n[3]=1,$.mulMat4v4(this.inverseMatrix,n,r),$.mulVec3Scalar(r,1/r[3]),r[3]=1,r[1]*=-1,$.mulMat4v4(this.camera.inverseViewMatrix,r,i),i}},{key:"destroy",value:function(){v(E(n.prototype),"destroy",this).call(this),this._state.destroy()}}]),n}(),Jt=$.vec3(),Zt=$.vec3(),$t=$.vec3(),en=$.vec3(),tn=$.vec3(),nn=$.vec3(),rn=$.vec4(),an=$.vec4(),sn=$.vec4(),on=$.mat4(),ln=$.mat4(),un=$.vec3(),cn=$.vec3(),fn=$.vec3(),pn=$.vec3(),An=function(e){I(n,ye);var t=m(n);function n(e){var r,i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return b(this,n),(r=t.call(this,e,i))._state=new Wt({deviceMatrix:$.mat4(),hasDeviceMatrix:!1,matrix:$.mat4(),normalMatrix:$.mat4(),inverseMatrix:$.mat4()}),r._perspective=new Kt(g(r)),r._ortho=new Yt(g(r)),r._frustum=new Xt(g(r)),r._customProjection=new qt(g(r)),r._project=r._perspective,r._eye=$.vec3([0,0,10]),r._look=$.vec3([0,0,0]),r._up=$.vec3([0,1,0]),r._worldUp=$.vec3([0,1,0]),r._worldRight=$.vec3([1,0,0]),r._worldForward=$.vec3([0,0,-1]),r.deviceMatrix=i.deviceMatrix,r.eye=i.eye,r.look=i.look,r.up=i.up,r.worldAxis=i.worldAxis,r.gimbalLock=i.gimbalLock,r.constrainPitch=i.constrainPitch,r.projection=i.projection,r._perspective.on("matrix",(function(){"perspective"===r._projectionType&&r.fire("projMatrix",r._perspective.matrix)})),r._ortho.on("matrix",(function(){"ortho"===r._projectionType&&r.fire("projMatrix",r._ortho.matrix)})),r._frustum.on("matrix",(function(){"frustum"===r._projectionType&&r.fire("projMatrix",r._frustum.matrix)})),r._customProjection.on("matrix",(function(){"customProjection"===r._projectionType&&r.fire("projMatrix",r._customProjection.matrix)})),r}return P(n,[{key:"type",get:function(){return"Camera"}},{key:"_update",value:function(){var e,t=this._state;"ortho"===this.projection?($.subVec3(this._eye,this._look,un),$.normalizeVec3(un,cn),$.mulVec3Scalar(cn,1e3,fn),$.addVec3(this._look,fn,pn),e=pn):e=this._eye,t.hasDeviceMatrix?($.lookAtMat4v(e,this._look,this._up,ln),$.mulMat4(t.deviceMatrix,ln,t.matrix)):$.lookAtMat4v(e,this._look,this._up,t.matrix),$.inverseMat4(this._state.matrix,this._state.inverseMatrix),$.transposeMat4(this._state.inverseMatrix,this._state.normalMatrix),this.glRedraw(),this.fire("matrix",this._state.matrix),this.fire("viewMatrix",this._state.matrix)}},{key:"orbitYaw",value:function(e){var t=$.subVec3(this._eye,this._look,Jt);$.rotationMat4v(.0174532925*e,this._gimbalLock?this._worldUp:this._up,on),t=$.transformPoint3(on,t,Zt),this.eye=$.addVec3(this._look,t,$t),this.up=$.transformPoint3(on,this._up,en)}},{key:"orbitPitch",value:function(e){if(!(this._constrainPitch&&(e=$.dotVec3(this._up,this._worldUp)/$.DEGTORAD)<1)){var t=$.subVec3(this._eye,this._look,Jt),n=$.cross3Vec3($.normalizeVec3(t,Zt),$.normalizeVec3(this._up,$t));$.rotationMat4v(.0174532925*e,n,on),t=$.transformPoint3(on,t,en),this.up=$.transformPoint3(on,this._up,tn),this.eye=$.addVec3(t,this._look,nn)}}},{key:"yaw",value:function(e){var t=$.subVec3(this._look,this._eye,Jt);$.rotationMat4v(.0174532925*e,this._gimbalLock?this._worldUp:this._up,on),t=$.transformPoint3(on,t,Zt),this.look=$.addVec3(t,this._eye,$t),this._gimbalLock&&(this.up=$.transformPoint3(on,this._up,en))}},{key:"pitch",value:function(e){if(!(this._constrainPitch&&(e=$.dotVec3(this._up,this._worldUp)/$.DEGTORAD)<1)){var t=$.subVec3(this._look,this._eye,Jt),n=$.cross3Vec3($.normalizeVec3(t,Zt),$.normalizeVec3(this._up,$t));$.rotationMat4v(.0174532925*e,n,on),this.up=$.transformPoint3(on,this._up,nn),t=$.transformPoint3(on,t,en),this.look=$.addVec3(t,this._eye,tn)}}},{key:"pan",value:function(e){var t,n=$.subVec3(this._eye,this._look,Jt),r=[0,0,0];if(0!==e[0]){var i=$.cross3Vec3($.normalizeVec3(n,[]),$.normalizeVec3(this._up,Zt));t=$.mulVec3Scalar(i,e[0]),r[0]+=t[0],r[1]+=t[1],r[2]+=t[2]}0!==e[1]&&(t=$.mulVec3Scalar($.normalizeVec3(this._up,$t),e[1]),r[0]+=t[0],r[1]+=t[1],r[2]+=t[2]),0!==e[2]&&(t=$.mulVec3Scalar($.normalizeVec3(n,en),e[2]),r[0]+=t[0],r[1]+=t[1],r[2]+=t[2]),this.eye=$.addVec3(this._eye,r,tn),this.look=$.addVec3(this._look,r,nn)}},{key:"zoom",value:function(e){var t=$.subVec3(this._eye,this._look,Jt),n=Math.abs($.lenVec3(t,Zt)),r=Math.abs(n+e);if(!(r<.5)){var i=$.normalizeVec3(t,$t);this.eye=$.addVec3(this._look,$.mulVec3Scalar(i,r),en)}}},{key:"eye",get:function(){return this._eye},set:function(e){this._eye.set(e||[0,0,10]),this._needUpdate(0),this.fire("eye",this._eye)}},{key:"look",get:function(){return this._look},set:function(e){this._look.set(e||[0,0,0]),this._needUpdate(0),this.fire("look",this._look)}},{key:"up",get:function(){return this._up},set:function(e){this._up.set(e||[0,1,0]),this._needUpdate(0),this.fire("up",this._up)}},{key:"deviceMatrix",get:function(){return this._state.deviceMatrix},set:function(e){this._state.deviceMatrix.set(e||[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]),this._state.hasDeviceMatrix=!!e,this._needUpdate(0),this.fire("deviceMatrix",this._state.deviceMatrix)}},{key:"worldAxis",get:function(){return this._worldAxis},set:function(e){e=e||[1,0,0,0,1,0,0,0,1],this._worldAxis?this._worldAxis.set(e):this._worldAxis=$.vec3(e),this._worldRight[0]=this._worldAxis[0],this._worldRight[1]=this._worldAxis[1],this._worldRight[2]=this._worldAxis[2],this._worldUp[0]=this._worldAxis[3],this._worldUp[1]=this._worldAxis[4],this._worldUp[2]=this._worldAxis[5],this._worldForward[0]=this._worldAxis[6],this._worldForward[1]=this._worldAxis[7],this._worldForward[2]=this._worldAxis[8],this.fire("worldAxis",this._worldAxis)}},{key:"worldUp",get:function(){return this._worldUp}},{key:"xUp",get:function(){return this._worldUp[0]>this._worldUp[1]&&this._worldUp[0]>this._worldUp[2]}},{key:"yUp",get:function(){return this._worldUp[1]>this._worldUp[0]&&this._worldUp[1]>this._worldUp[2]}},{key:"zUp",get:function(){return this._worldUp[2]>this._worldUp[0]&&this._worldUp[2]>this._worldUp[1]}},{key:"worldRight",get:function(){return this._worldRight}},{key:"worldForward",get:function(){return this._worldForward}},{key:"gimbalLock",get:function(){return this._gimbalLock},set:function(e){this._gimbalLock=!1!==e,this.fire("gimbalLock",this._gimbalLock)}},{key:"constrainPitch",set:function(e){this._constrainPitch=!!e,this.fire("constrainPitch",this._constrainPitch)}},{key:"eyeLookDist",get:function(){return $.lenVec3($.subVec3(this._look,this._eye,Jt))}},{key:"matrix",get:function(){return this._updateScheduled&&this._doUpdate(),this._state.matrix}},{key:"viewMatrix",get:function(){return this._updateScheduled&&this._doUpdate(),this._state.matrix}},{key:"normalMatrix",get:function(){return this._updateScheduled&&this._doUpdate(),this._state.normalMatrix}},{key:"viewNormalMatrix",get:function(){return this._updateScheduled&&this._doUpdate(),this._state.normalMatrix}},{key:"inverseViewMatrix",get:function(){return this._updateScheduled&&this._doUpdate(),this._state.inverseMatrix}},{key:"projMatrix",get:function(){return this[this.projection].matrix}},{key:"perspective",get:function(){return this._perspective}},{key:"ortho",get:function(){return this._ortho}},{key:"frustum",get:function(){return this._frustum}},{key:"customProjection",get:function(){return this._customProjection}},{key:"projection",get:function(){return this._projectionType},set:function(e){e=e||"perspective",this._projectionType!==e&&("perspective"===e?this._project=this._perspective:"ortho"===e?this._project=this._ortho:"frustum"===e?this._project=this._frustum:"customProjection"===e?this._project=this._customProjection:(this.error("Unsupported value for 'projection': "+e+" defaulting to 'perspective'"),this._project=this._perspective,e="perspective"),this._project._update(),this._projectionType=e,this.glRedraw(),this._update(),this.fire("dirty"),this.fire("projection",this._projectionType),this.fire("projMatrix",this._project.matrix))}},{key:"project",get:function(){return this._project}},{key:"projectWorldPos",value:function(e){var t=rn,n=an,r=sn;t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=1,$.mulMat4v4(this.viewMatrix,t,n),$.mulMat4v4(this.projMatrix,n,r),$.mulVec3Scalar(r,1/r[3]),r[3]=1,r[1]*=-1;var i=this.scene.canvas.canvas,a=i.offsetWidth/2,s=i.offsetHeight/2;return[r[0]*a+a,r[1]*s+s]}},{key:"destroy",value:function(){v(E(n.prototype),"destroy",this).call(this),this._state.destroy()}}]),n}(),dn=function(e){I(n,ye);var t=m(n);function n(e){var r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return b(this,n),t.call(this,e,r)}return P(n,[{key:"type",get:function(){return"Light"}},{key:"isLight",get:function(){return!0}}]),n}(),vn=function(e){I(n,dn);var t=m(n);function n(e){var r,i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};b(this,n),(r=t.call(this,e,i))._shadowRenderBuf=null,r._shadowViewMatrix=null,r._shadowProjMatrix=null,r._shadowViewMatrixDirty=!0,r._shadowProjMatrixDirty=!0;var a=r.scene.camera,s=r.scene.canvas;return r._onCameraViewMatrix=a.on("viewMatrix",(function(){r._shadowViewMatrixDirty=!0})),r._onCameraProjMatrix=a.on("projMatrix",(function(){r._shadowProjMatrixDirty=!0})),r._onCanvasBoundary=s.on("boundary",(function(){r._shadowProjMatrixDirty=!0})),r._state=new Wt({type:"dir",dir:$.vec3([1,1,1]),color:$.vec3([.7,.7,.8]),intensity:1,space:i.space||"view",castsShadow:!1,getShadowViewMatrix:function(){if(r._shadowViewMatrixDirty){r._shadowViewMatrix||(r._shadowViewMatrix=$.identityMat4());var e=r.scene.camera,t=r._state.dir,n=e.look,i=[n[0]-t[0],n[1]-t[1],n[2]-t[2]];$.lookAtMat4v(i,n,[0,1,0],r._shadowViewMatrix),r._shadowViewMatrixDirty=!1}return r._shadowViewMatrix},getShadowProjMatrix:function(){return r._shadowProjMatrixDirty&&(r._shadowProjMatrix||(r._shadowProjMatrix=$.identityMat4()),$.orthoMat4c(-40,40,-40,40,-40,80,r._shadowProjMatrix),r._shadowProjMatrixDirty=!1),r._shadowProjMatrix},getShadowRenderBuf:function(){return r._shadowRenderBuf||(r._shadowRenderBuf=new Ut(r.scene.canvas.canvas,r.scene.canvas.gl,{size:[1024,1024]})),r._shadowRenderBuf}}),r.dir=i.dir,r.color=i.color,r.intensity=i.intensity,r.castsShadow=i.castsShadow,r.scene._lightCreated(g(r)),r}return P(n,[{key:"type",get:function(){return"DirLight"}},{key:"dir",get:function(){return this._state.dir},set:function(e){this._state.dir.set(e||[1,1,1]),this._shadowViewMatrixDirty=!0,this.glRedraw()}},{key:"color",get:function(){return this._state.color},set:function(e){this._state.color.set(e||[.7,.7,.8]),this.glRedraw()}},{key:"intensity",get:function(){return this._state.intensity},set:function(e){e=void 0!==e?e:1,this._state.intensity=e,this.glRedraw()}},{key:"castsShadow",get:function(){return this._state.castsShadow},set:function(e){e=!!e,this._state.castsShadow!==e&&(this._state.castsShadow=e,this._shadowViewMatrixDirty=!0,this.glRedraw())}},{key:"destroy",value:function(){var e=this.scene.camera,t=this.scene.canvas;e.off(this._onCameraViewMatrix),e.off(this._onCameraProjMatrix),t.off(this._onCanvasBoundary),v(E(n.prototype),"destroy",this).call(this),this._state.destroy(),this._shadowRenderBuf&&this._shadowRenderBuf.destroy(),this.scene._lightDestroyed(this),this.glRedraw()}}]),n}(),hn=function(e){I(n,dn);var t=m(n);function n(e){var r,i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return b(this,n),(r=t.call(this,e,i))._state={type:"ambient",color:$.vec3([.7,.7,.7]),intensity:1},r.color=i.color,r.intensity=i.intensity,r.scene._lightCreated(g(r)),r}return P(n,[{key:"type",get:function(){return"AmbientLight"}},{key:"color",get:function(){return this._state.color},set:function(e){this._state.color.set(e||[.7,.7,.8]),this.glRedraw()}},{key:"intensity",get:function(){return this._state.intensity},set:function(e){this._state.intensity=void 0!==e?e:1,this.glRedraw()}},{key:"destroy",value:function(){v(E(n.prototype),"destroy",this).call(this),this.scene._lightDestroyed(this)}}]),n}(),In=function(e){I(n,ye);var t=m(n);function n(e){var r,i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return b(this,n),r=t.call(this,e,i),re.memory.meshes++,r}return P(n,[{key:"type",get:function(){return"Geometry"}},{key:"isGeometry",get:function(){return!0}},{key:"destroy",value:function(){v(E(n.prototype),"destroy",this).call(this),re.memory.meshes--}}]),n}(),yn=function(){var e=[],t=[],n=[],r=[],i=[],a=0,s=new Uint16Array(3),o=new Uint16Array(3),l=new Uint16Array(3),u=$.vec3(),c=$.vec3(),f=$.vec3(),p=$.vec3(),A=$.vec3(),d=$.vec3(),v=$.vec3();return function(h,I,y,m){!function(i,a){var s,o,l,u,c,f,p={},A=Math.pow(10,4),d=0;for(c=0,f=i.length;cO)||(C=n[D.index1],_=n[D.index2],(!N&&C>65535||_>65535)&&(N=!0),B.push(C),B.push(_));return N?new Uint32Array(B):new Uint16Array(B)}}();var mn=function(){var e=$.mat4(),t=$.mat4();return function(n,r){r=r||$.mat4();var i=n[0],a=n[1],s=n[2],o=n[3]-i,l=n[4]-a,u=n[5]-s,c=65535;return $.identityMat4(e),$.translationMat4v(n,e),$.identityMat4(t),$.scalingMat4v([o/c,l/c,u/c],t),$.mulMat4(e,t,r),r}}(),wn=function(){var e=$.mat4(),t=$.mat4();return function(n,r,i){var a,s=new Uint16Array(n.length),o=new Float32Array([i[0]!==r[0]?65535/(i[0]-r[0]):0,i[1]!==r[1]?65535/(i[1]-r[1]):0,i[2]!==r[2]?65535/(i[2]-r[2]):0]);for(a=0;a=0?1:-1),o=(1-Math.abs(i))*(a>=0?1:-1);i=s,a=o}return new Int8Array([Math[n](127.5*i+(i<0?-1:0)),Math[r](127.5*a+(a<0?-1:0))])}function Tn(e){var t=e[0],n=e[1];t/=t<0?127:128,n/=n<0?127:128;var r=1-Math.abs(t)-Math.abs(n);r<0&&(t=(1-Math.abs(n))*(t>=0?1:-1),n=(1-Math.abs(t))*(n>=0?1:-1));var i=Math.sqrt(t*t+n*n+r*r);return[t/i,n/i,r/i]}function bn(e,t,n){return e[t]*n[0]+e[t+1]*n[1]+e[t+2]*n[2]}var Dn={getPositionsBounds:function(e){var t,n,r=new Float32Array(3),i=new Float32Array(3);for(t=0;t<3;t++)r[t]=Number.MAX_VALUE,i[t]=-Number.MAX_VALUE;for(t=0;t2&&void 0!==arguments[2]?arguments[2]:new Float32Array(e.length),r=0,i=e.length;r2&&void 0!==arguments[2]?arguments[2]:e;return n[0]=e[0]*t[0]+t[12],n[1]=e[1]*t[5]+t[13],n[2]=e[2]*t[10]+t[14],n[3]=e[3]*t[0]+t[12],n[4]=e[4]*t[5]+t[13],n[5]=e[5]*t[10]+t[14],n},getUVBounds:function(e){var t,n,r=new Float32Array(2),i=new Float32Array(2);for(t=0;t<2;t++)r[t]=Number.MAX_VALUE,i[t]=-Number.MAX_VALUE;for(t=0;t2&&void 0!==arguments[2]?arguments[2]:new Float32Array(e.length),r=0,i=e.length;ri&&(n=t,i=r),(r=bn(e,s,Tn(t=En(e,s,"floor","ceil"))))>i&&(n=t,i=r),(r=bn(e,s,Tn(t=En(e,s,"ceil","ceil"))))>i&&(n=t,i=r),a[s]=n[0],a[s+1]=n[1];return a},decompressNormals:function(e,t){for(var n=0,r=0,i=e.length;n=0?1:-1),s=(1-Math.abs(a))*(s>=0?1:-1));var l=Math.sqrt(a*a+s*s+o*o);t[r+0]=a/l,t[r+1]=s/l,t[r+2]=o/l,r+=3}return t},decompressNormal:function(e,t){var n=e[0],r=e[1];n=(2*n+1)/255,r=(2*r+1)/255;var i=1-Math.abs(n)-Math.abs(r);i<0&&(n=(1-Math.abs(r))*(n>=0?1:-1),r=(1-Math.abs(n))*(r>=0?1:-1));var a=Math.sqrt(n*n+r*r+i*i);return t[0]=n/a,t[1]=r/a,t[2]=i/a,t}},Pn=re.memory,Rn=$.AABB3(),Cn=function(e){I(n,In);var t=m(n);function n(e){var r,i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};b(this,n),(r=t.call(this,e,i))._state=new Wt({compressGeometry:!!i.compressGeometry,primitive:null,primitiveName:null,positions:null,normals:null,colors:null,uv:null,indices:null,positionsDecodeMatrix:null,uvDecodeMatrix:null,positionsBuf:null,normalsBuf:null,colorsbuf:null,uvBuf:null,indicesBuf:null,hash:""}),r._numTriangles=0,r._edgeThreshold=i.edgeThreshold||10,r._edgeIndicesBuf=null,r._pickTrianglePositionsBuf=null,r._pickTriangleColorsBuf=null,r._aabbDirty=!0,r._boundingSphere=!0,r._aabb=null,r._aabbDirty=!0,r._obb=null,r._obbDirty=!0;var a=r._state,s=r.scene.canvas.gl;switch(i.primitive=i.primitive||"triangles",i.primitive){case"points":a.primitive=s.POINTS,a.primitiveName=i.primitive;break;case"lines":a.primitive=s.LINES,a.primitiveName=i.primitive;break;case"line-loop":a.primitive=s.LINE_LOOP,a.primitiveName=i.primitive;break;case"line-strip":a.primitive=s.LINE_STRIP,a.primitiveName=i.primitive;break;case"triangles":a.primitive=s.TRIANGLES,a.primitiveName=i.primitive;break;case"triangle-strip":a.primitive=s.TRIANGLE_STRIP,a.primitiveName=i.primitive;break;case"triangle-fan":a.primitive=s.TRIANGLE_FAN,a.primitiveName=i.primitive;break;default:r.error("Unsupported value for 'primitive': '"+i.primitive+"' - supported values are 'points', 'lines', 'line-loop', 'line-strip', 'triangles', 'triangle-strip' and 'triangle-fan'. Defaulting to 'triangles'."),a.primitive=s.TRIANGLES,a.primitiveName=i.primitive}if(i.positions)if(r._state.compressGeometry){var o=Dn.getPositionsBounds(i.positions),l=Dn.compressPositions(i.positions,o.min,o.max);a.positions=l.quantized,a.positionsDecodeMatrix=l.decodeMatrix}else a.positions=i.positions.constructor===Float32Array?i.positions:new Float32Array(i.positions);if(i.colors&&(a.colors=i.colors.constructor===Float32Array?i.colors:new Float32Array(i.colors)),i.uv)if(r._state.compressGeometry){var u=Dn.getUVBounds(i.uv),c=Dn.compressUVs(i.uv,u.min,u.max);a.uv=c.quantized,a.uvDecodeMatrix=c.decodeMatrix}else a.uv=i.uv.constructor===Float32Array?i.uv:new Float32Array(i.uv);return i.normals&&(r._state.compressGeometry?a.normals=Dn.compressNormals(i.normals):a.normals=i.normals.constructor===Float32Array?i.normals:new Float32Array(i.normals)),i.indices&&(a.indices=i.indices.constructor===Uint32Array||i.indices.constructor===Uint16Array?i.indices:new Uint32Array(i.indices),"triangles"===r._state.primitiveName&&(r._numTriangles=i.indices.length/3)),r._buildHash(),Pn.meshes++,r._buildVBOs(),r}return P(n,[{key:"type",get:function(){return"ReadableGeometry"}},{key:"isReadableGeometry",get:function(){return!0}},{key:"_buildVBOs",value:function(){var e=this._state,t=this.scene.canvas.gl;if(e.indices&&(e.indicesBuf=new Dt(t,t.ELEMENT_ARRAY_BUFFER,e.indices,e.indices.length,1,t.STATIC_DRAW),Pn.indices+=e.indicesBuf.numItems),e.positions&&(e.positionsBuf=new Dt(t,t.ARRAY_BUFFER,e.positions,e.positions.length,3,t.STATIC_DRAW),Pn.positions+=e.positionsBuf.numItems),e.normals){var n=e.compressGeometry;e.normalsBuf=new Dt(t,t.ARRAY_BUFFER,e.normals,e.normals.length,3,t.STATIC_DRAW,n),Pn.normals+=e.normalsBuf.numItems}e.colors&&(e.colorsBuf=new Dt(t,t.ARRAY_BUFFER,e.colors,e.colors.length,4,t.STATIC_DRAW),Pn.colors+=e.colorsBuf.numItems),e.uv&&(e.uvBuf=new Dt(t,t.ARRAY_BUFFER,e.uv,e.uv.length,2,t.STATIC_DRAW),Pn.uvs+=e.uvBuf.numItems)}},{key:"_buildHash",value:function(){var e=this._state,t=["/g"];t.push("/"+e.primitive+";"),e.positions&&t.push("p"),e.colors&&t.push("c"),(e.normals||e.autoVertexNormals)&&t.push("n"),e.uv&&t.push("u"),e.compressGeometry&&t.push("cp"),t.push(";"),e.hash=t.join("")}},{key:"_getEdgeIndices",value:function(){return this._edgeIndicesBuf||this._buildEdgeIndices(),this._edgeIndicesBuf}},{key:"_getPickTrianglePositions",value:function(){return this._pickTrianglePositionsBuf||this._buildPickTriangleVBOs(),this._pickTrianglePositionsBuf}},{key:"_getPickTriangleColors",value:function(){return this._pickTriangleColorsBuf||this._buildPickTriangleVBOs(),this._pickTriangleColorsBuf}},{key:"_buildEdgeIndices",value:function(){var e=this._state;if(e.positions&&e.indices){var t=this.scene.canvas.gl,n=yn(e.positions,e.indices,e.positionsDecodeMatrix,this._edgeThreshold);this._edgeIndicesBuf=new Dt(t,t.ELEMENT_ARRAY_BUFFER,n,n.length,1,t.STATIC_DRAW),Pn.indices+=this._edgeIndicesBuf.numItems}}},{key:"_buildPickTriangleVBOs",value:function(){var e=this._state;if(e.positions&&e.indices){var t=this.scene.canvas.gl,n=$.buildPickTriangles(e.positions,e.indices,e.compressGeometry),r=n.positions,i=n.colors;this._pickTrianglePositionsBuf=new Dt(t,t.ARRAY_BUFFER,r,r.length,3,t.STATIC_DRAW),this._pickTriangleColorsBuf=new Dt(t,t.ARRAY_BUFFER,i,i.length,4,t.STATIC_DRAW,!0),Pn.positions+=this._pickTrianglePositionsBuf.numItems,Pn.colors+=this._pickTriangleColorsBuf.numItems}}},{key:"_buildPickVertexVBOs",value:function(){}},{key:"_webglContextLost",value:function(){this._sceneVertexBufs&&this._sceneVertexBufs.webglContextLost()}},{key:"_webglContextRestored",value:function(){this._sceneVertexBufs&&this._sceneVertexBufs.webglContextRestored(),this._buildVBOs(),this._edgeIndicesBuf=null,this._pickVertexPositionsBuf=null,this._pickTrianglePositionsBuf=null,this._pickTriangleColorsBuf=null,this._pickVertexPositionsBuf=null,this._pickVertexColorsBuf=null}},{key:"primitive",get:function(){return this._state.primitiveName}},{key:"compressGeometry",get:function(){return this._state.compressGeometry}},{key:"positions",get:function(){return this._state.positions?this._state.compressGeometry?(this._decompressedPositions||(this._decompressedPositions=new Float32Array(this._state.positions.length),Dn.decompressPositions(this._state.positions,this._state.positionsDecodeMatrix,this._decompressedPositions)),this._decompressedPositions):this._state.positions:null},set:function(e){var t=this._state,n=t.positions;if(n)if(n.length===e.length){if(this._state.compressGeometry){var r=Dn.getPositionsBounds(e),i=Dn.compressPositions(e,r.min,r.max);e=i.quantized,t.positionsDecodeMatrix=i.decodeMatrix}n.set(e),t.positionsBuf&&t.positionsBuf.setData(n),this._setAABBDirty(),this.glRedraw()}else this.error("can't update geometry positions - new positions are wrong length");else this.error("can't update geometry positions - geometry has no positions")}},{key:"normals",get:function(){if(this._state.normals){if(!this._state.compressGeometry)return this._state.normals;if(!this._decompressedNormals){var e=this._state.normals.length,t=e+e/2;this._decompressedNormals=new Float32Array(t),Dn.decompressNormals(this._state.normals,this._decompressedNormals)}return this._decompressedNormals}},set:function(e){if(this._state.compressGeometry)this.error("can't update geometry normals - quantized geometry is immutable");else{var t=this._state,n=t.normals;n?n.length===e.length?(n.set(e),t.normalsBuf&&t.normalsBuf.setData(n),this.glRedraw()):this.error("can't update geometry normals - new normals are wrong length"):this.error("can't update geometry normals - geometry has no normals")}}},{key:"uv",get:function(){return this._state.uv?this._state.compressGeometry?(this._decompressedUV||(this._decompressedUV=new Float32Array(this._state.uv.length),Dn.decompressUVs(this._state.uv,this._state.uvDecodeMatrix,this._decompressedUV)),this._decompressedUV):this._state.uv:null},set:function(e){if(this._state.compressGeometry)this.error("can't update geometry UVs - quantized geometry is immutable");else{var t=this._state,n=t.uv;n?n.length===e.length?(n.set(e),t.uvBuf&&t.uvBuf.setData(n),this.glRedraw()):this.error("can't update geometry UVs - new UVs are wrong length"):this.error("can't update geometry UVs - geometry has no UVs")}}},{key:"colors",get:function(){return this._state.colors},set:function(e){if(this._state.compressGeometry)this.error("can't update geometry colors - quantized geometry is immutable");else{var t=this._state,n=t.colors;n?n.length===e.length?(n.set(e),t.colorsBuf&&t.colorsBuf.setData(n),this.glRedraw()):this.error("can't update geometry colors - new colors are wrong length"):this.error("can't update geometry colors - geometry has no colors")}}},{key:"indices",get:function(){return this._state.indices}},{key:"aabb",get:function(){return this._aabbDirty&&(this._aabb||(this._aabb=$.AABB3()),$.positions3ToAABB3(this._state.positions,this._aabb,this._state.positionsDecodeMatrix),this._aabbDirty=!1),this._aabb}},{key:"obb",get:function(){return this._obbDirty&&(this._obb||(this._obb=$.OBB3()),$.positions3ToAABB3(this._state.positions,Rn,this._state.positionsDecodeMatrix),$.AABB3ToOBB3(Rn,this._obb),this._obbDirty=!1),this._obb}},{key:"numTriangles",get:function(){return this._numTriangles}},{key:"_setAABBDirty",value:function(){this._aabbDirty||(this._aabbDirty=!0,this._aabbDirty=!0,this._obbDirty=!0)}},{key:"_getState",value:function(){return this._state}},{key:"destroy",value:function(){v(E(n.prototype),"destroy",this).call(this);var e=this._state;e.indicesBuf&&e.indicesBuf.destroy(),e.positionsBuf&&e.positionsBuf.destroy(),e.normalsBuf&&e.normalsBuf.destroy(),e.uvBuf&&e.uvBuf.destroy(),e.colorsBuf&&e.colorsBuf.destroy(),this._edgeIndicesBuf&&this._edgeIndicesBuf.destroy(),this._pickTrianglePositionsBuf&&this._pickTrianglePositionsBuf.destroy(),this._pickTriangleColorsBuf&&this._pickTriangleColorsBuf.destroy(),this._pickVertexPositionsBuf&&this._pickVertexPositionsBuf.destroy(),this._pickVertexColorsBuf&&this._pickVertexColorsBuf.destroy(),e.destroy(),Pn.meshes--}}]),n}();function _n(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.xSize||1;t<0&&(console.error("negative xSize not allowed - will invert"),t*=-1);var n=e.ySize||1;n<0&&(console.error("negative ySize not allowed - will invert"),n*=-1);var r=e.zSize||1;r<0&&(console.error("negative zSize not allowed - will invert"),r*=-1);var i=e.center,a=i?i[0]:0,s=i?i[1]:0,o=i?i[2]:0,l=-t+a,u=-n+s,c=-r+o,f=t+a,p=n+s,A=r+o;return le.apply(e,{positions:[f,p,A,l,p,A,l,u,A,f,u,A,f,p,A,f,u,A,f,u,c,f,p,c,f,p,A,f,p,c,l,p,c,l,p,A,l,p,A,l,p,c,l,u,c,l,u,A,l,u,c,f,u,c,f,u,A,l,u,A,f,u,c,l,u,c,l,p,c,f,p,c],normals:[0,0,1,0,0,1,0,0,1,0,0,1,1,0,0,1,0,0,1,0,0,1,0,0,0,1,0,0,1,0,0,1,0,0,1,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,0,-1,0,0,-1,0,0,-1,0,0,-1],uv:[1,0,0,0,0,1,1,1,0,0,0,1,1,1,1,0,1,1,1,0,0,0,0,1,1,0,0,0,0,1,1,1,0,1,1,1,1,0,0,0,0,1,1,1,1,0,0,0],indices:[0,1,2,0,2,3,4,5,6,4,6,7,8,9,10,8,10,11,12,13,14,12,14,15,16,17,18,16,18,19,20,21,22,20,22,23]})}var Bn=function(e){I(n,ye);var t=m(n);function n(e){var r,i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return b(this,n),r=t.call(this,e,i),re.memory.materials++,r}return P(n,[{key:"type",get:function(){return"Material"}},{key:"destroy",value:function(){v(E(n.prototype),"destroy",this).call(this),re.memory.materials--}}]),n}(),On={opaque:0,mask:1,blend:2},Sn=["opaque","mask","blend"],Nn=function(e){I(n,Bn);var t=m(n);function n(e){var r,i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return b(this,n),(r=t.call(this,e,i))._state=new Wt({type:"PhongMaterial",ambient:$.vec3([1,1,1]),diffuse:$.vec3([1,1,1]),specular:$.vec3([1,1,1]),emissive:$.vec3([0,0,0]),alpha:null,shininess:null,reflectivity:null,alphaMode:null,alphaCutoff:null,lineWidth:null,pointSize:null,backfaces:null,frontface:null,hash:null}),r.ambient=i.ambient,r.diffuse=i.diffuse,r.specular=i.specular,r.emissive=i.emissive,r.alpha=i.alpha,r.shininess=i.shininess,r.reflectivity=i.reflectivity,r.lineWidth=i.lineWidth,r.pointSize=i.pointSize,i.ambientMap&&(r._ambientMap=r._checkComponent("Texture",i.ambientMap)),i.diffuseMap&&(r._diffuseMap=r._checkComponent("Texture",i.diffuseMap)),i.specularMap&&(r._specularMap=r._checkComponent("Texture",i.specularMap)),i.emissiveMap&&(r._emissiveMap=r._checkComponent("Texture",i.emissiveMap)),i.alphaMap&&(r._alphaMap=r._checkComponent("Texture",i.alphaMap)),i.reflectivityMap&&(r._reflectivityMap=r._checkComponent("Texture",i.reflectivityMap)),i.normalMap&&(r._normalMap=r._checkComponent("Texture",i.normalMap)),i.occlusionMap&&(r._occlusionMap=r._checkComponent("Texture",i.occlusionMap)),i.diffuseFresnel&&(r._diffuseFresnel=r._checkComponent("Fresnel",i.diffuseFresnel)),i.specularFresnel&&(r._specularFresnel=r._checkComponent("Fresnel",i.specularFresnel)),i.emissiveFresnel&&(r._emissiveFresnel=r._checkComponent("Fresnel",i.emissiveFresnel)),i.alphaFresnel&&(r._alphaFresnel=r._checkComponent("Fresnel",i.alphaFresnel)),i.reflectivityFresnel&&(r._reflectivityFresnel=r._checkComponent("Fresnel",i.reflectivityFresnel)),r.alphaMode=i.alphaMode,r.alphaCutoff=i.alphaCutoff,r.backfaces=i.backfaces,r.frontface=i.frontface,r._makeHash(),r}return P(n,[{key:"type",get:function(){return"PhongMaterial"}},{key:"_makeHash",value:function(){var e=this._state,t=["/p"];this._normalMap&&(t.push("/nm"),this._normalMap.hasMatrix&&t.push("/mat")),this._ambientMap&&(t.push("/am"),this._ambientMap.hasMatrix&&t.push("/mat"),t.push("/"+this._ambientMap.encoding)),this._diffuseMap&&(t.push("/dm"),this._diffuseMap.hasMatrix&&t.push("/mat"),t.push("/"+this._diffuseMap.encoding)),this._specularMap&&(t.push("/sm"),this._specularMap.hasMatrix&&t.push("/mat")),this._emissiveMap&&(t.push("/em"),this._emissiveMap.hasMatrix&&t.push("/mat"),t.push("/"+this._emissiveMap.encoding)),this._alphaMap&&(t.push("/opm"),this._alphaMap.hasMatrix&&t.push("/mat")),this._reflectivityMap&&(t.push("/rm"),this._reflectivityMap.hasMatrix&&t.push("/mat")),this._occlusionMap&&(t.push("/ocm"),this._occlusionMap.hasMatrix&&t.push("/mat")),this._diffuseFresnel&&t.push("/df"),this._specularFresnel&&t.push("/sf"),this._emissiveFresnel&&t.push("/ef"),this._alphaFresnel&&t.push("/of"),this._reflectivityFresnel&&t.push("/rf"),t.push(";"),e.hash=t.join("")}},{key:"ambient",get:function(){return this._state.ambient},set:function(e){var t=this._state.ambient;if(t){if(e&&t[0]===e[0]&&t[1]===e[1]&&t[2]===e[2])return}else t=this._state.ambient=new Float32Array(3);e?(t[0]=e[0],t[1]=e[1],t[2]=e[2]):(t[0]=.2,t[1]=.2,t[2]=.2),this.glRedraw()}},{key:"diffuse",get:function(){return this._state.diffuse},set:function(e){var t=this._state.diffuse;if(t){if(e&&t[0]===e[0]&&t[1]===e[1]&&t[2]===e[2])return}else t=this._state.diffuse=new Float32Array(3);e?(t[0]=e[0],t[1]=e[1],t[2]=e[2]):(t[0]=1,t[1]=1,t[2]=1),this.glRedraw()}},{key:"specular",get:function(){return this._state.specular},set:function(e){var t=this._state.specular;if(t){if(e&&t[0]===e[0]&&t[1]===e[1]&&t[2]===e[2])return}else t=this._state.specular=new Float32Array(3);e?(t[0]=e[0],t[1]=e[1],t[2]=e[2]):(t[0]=1,t[1]=1,t[2]=1),this.glRedraw()}},{key:"emissive",get:function(){return this._state.emissive},set:function(e){var t=this._state.emissive;if(t){if(e&&t[0]===e[0]&&t[1]===e[1]&&t[2]===e[2])return}else t=this._state.emissive=new Float32Array(3);e?(t[0]=e[0],t[1]=e[1],t[2]=e[2]):(t[0]=0,t[1]=0,t[2]=0),this.glRedraw()}},{key:"alpha",get:function(){return this._state.alpha},set:function(e){e=null!=e?e:1,this._state.alpha!==e&&(this._state.alpha=e,this.glRedraw())}},{key:"shininess",get:function(){return this._state.shininess},set:function(e){this._state.shininess=void 0!==e?e:80,this.glRedraw()}},{key:"lineWidth",get:function(){return this._state.lineWidth},set:function(e){this._state.lineWidth=e||1,this.glRedraw()}},{key:"pointSize",get:function(){return this._state.pointSize},set:function(e){this._state.pointSize=e||1,this.glRedraw()}},{key:"reflectivity",get:function(){return this._state.reflectivity},set:function(e){this._state.reflectivity=void 0!==e?e:1,this.glRedraw()}},{key:"normalMap",get:function(){return this._normalMap}},{key:"ambientMap",get:function(){return this._ambientMap}},{key:"diffuseMap",get:function(){return this._diffuseMap}},{key:"specularMap",get:function(){return this._specularMap}},{key:"emissiveMap",get:function(){return this._emissiveMap}},{key:"alphaMap",get:function(){return this._alphaMap}},{key:"reflectivityMap",get:function(){return this._reflectivityMap}},{key:"occlusionMap",get:function(){return this._occlusionMap}},{key:"diffuseFresnel",get:function(){return this._diffuseFresnel}},{key:"specularFresnel",get:function(){return this._specularFresnel}},{key:"emissiveFresnel",get:function(){return this._emissiveFresnel}},{key:"alphaFresnel",get:function(){return this._alphaFresnel}},{key:"reflectivityFresnel",get:function(){return this._reflectivityFresnel}},{key:"alphaMode",get:function(){return Sn[this._state.alphaMode]},set:function(e){var t=On[e=e||"opaque"];void 0===t&&(this.error("Unsupported value for 'alphaMode': "+e+" - defaulting to 'opaque'"),t="opaque"),this._state.alphaMode!==t&&(this._state.alphaMode=t,this.glRedraw())}},{key:"alphaCutoff",get:function(){return this._state.alphaCutoff},set:function(e){null==e&&(e=.5),this._state.alphaCutoff!==e&&(this._state.alphaCutoff=e)}},{key:"backfaces",get:function(){return this._state.backfaces},set:function(e){e=!!e,this._state.backfaces!==e&&(this._state.backfaces=e,this.glRedraw())}},{key:"frontface",get:function(){return this._state.frontface?"ccw":"cw"},set:function(e){e="cw"!==e,this._state.frontface!==e&&(this._state.frontface=e,this.glRedraw())}},{key:"destroy",value:function(){v(E(n.prototype),"destroy",this).call(this),this._state.destroy()}}]),n}(),Ln={default:{fill:!0,fillColor:[.4,.4,.4],fillAlpha:.2,edges:!0,edgeColor:[.2,.2,.2],edgeAlpha:.5,edgeWidth:1},defaultWhiteBG:{fill:!0,fillColor:[1,1,1],fillAlpha:.6,edgeColor:[.2,.2,.2],edgeAlpha:1,edgeWidth:1},defaultLightBG:{fill:!0,fillColor:[.4,.4,.4],fillAlpha:.2,edges:!0,edgeColor:[.2,.2,.2],edgeAlpha:.5,edgeWidth:1},defaultDarkBG:{fill:!0,fillColor:[.4,.4,.4],fillAlpha:.2,edges:!0,edgeColor:[.5,.5,.5],edgeAlpha:.5,edgeWidth:1},phosphorous:{fill:!0,fillColor:[0,0,0],fillAlpha:.4,edges:!0,edgeColor:[.9,.9,.9],edgeAlpha:.5,edgeWidth:2},sunset:{fill:!0,fillColor:[.9,.9,.6],fillAlpha:.2,edges:!0,edgeColor:[.9,.9,.9],edgeAlpha:.5,edgeWidth:1},vectorscope:{fill:!0,fillColor:[0,0,0],fillAlpha:.7,edges:!0,edgeColor:[.2,1,.2],edgeAlpha:1,edgeWidth:2},battlezone:{fill:!0,fillColor:[0,0,0],fillAlpha:1,edges:!0,edgeColor:[.2,1,.2],edgeAlpha:1,edgeWidth:3},sepia:{fill:!0,fillColor:[.970588207244873,.7965892553329468,.6660899519920349],fillAlpha:.4,edges:!0,edgeColor:[.529411792755127,.4577854573726654,.4100345969200134],edgeAlpha:1,edgeWidth:1},yellowHighlight:{fill:!0,fillColor:[1,1,0],fillAlpha:.5,edges:!0,edgeColor:[1,1,1],edgeAlpha:1,edgeWidth:1},greenSelected:{fill:!0,fillColor:[0,1,0],fillAlpha:.5,edges:!0,edgeColor:[1,1,1],edgeAlpha:1,edgeWidth:1},gamegrid:{fill:!0,fillColor:[.2,.2,.7],fillAlpha:.9,edges:!0,edgeColor:[.4,.4,1.6],edgeAlpha:.8,edgeWidth:3}},Mn=function(e){I(n,Bn);var t=m(n);function n(e){var r,i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return b(this,n),(r=t.call(this,e,i))._state=new Wt({type:"EmphasisMaterial",fill:null,fillColor:null,fillAlpha:null,edges:null,edgeColor:null,edgeAlpha:null,edgeWidth:null,backfaces:!0,glowThrough:!0}),r._preset="default",i.preset?(r.preset=i.preset,void 0!==i.fill&&(r.fill=i.fill),i.fillColor&&(r.fillColor=i.fillColor),void 0!==i.fillAlpha&&(r.fillAlpha=i.fillAlpha),void 0!==i.edges&&(r.edges=i.edges),i.edgeColor&&(r.edgeColor=i.edgeColor),void 0!==i.edgeAlpha&&(r.edgeAlpha=i.edgeAlpha),void 0!==i.edgeWidth&&(r.edgeWidth=i.edgeWidth),void 0!==i.backfaces&&(r.backfaces=i.backfaces),void 0!==i.glowThrough&&(r.glowThrough=i.glowThrough)):(r.fill=i.fill,r.fillColor=i.fillColor,r.fillAlpha=i.fillAlpha,r.edges=i.edges,r.edgeColor=i.edgeColor,r.edgeAlpha=i.edgeAlpha,r.edgeWidth=i.edgeWidth,r.backfaces=i.backfaces,r.glowThrough=i.glowThrough),r}return P(n,[{key:"type",get:function(){return"EmphasisMaterial"}},{key:"presets",get:function(){return Ln}},{key:"fill",get:function(){return this._state.fill},set:function(e){e=!1!==e,this._state.fill!==e&&(this._state.fill=e,this.glRedraw())}},{key:"fillColor",get:function(){return this._state.fillColor},set:function(e){var t=this._state.fillColor;if(t){if(e&&t[0]===e[0]&&t[1]===e[1]&&t[2]===e[2])return}else t=this._state.fillColor=new Float32Array(3);e?(t[0]=e[0],t[1]=e[1],t[2]=e[2]):(t[0]=.4,t[1]=.4,t[2]=.4),this.glRedraw()}},{key:"fillAlpha",get:function(){return this._state.fillAlpha},set:function(e){e=null!=e?e:.2,this._state.fillAlpha!==e&&(this._state.fillAlpha=e,this.glRedraw())}},{key:"edges",get:function(){return this._state.edges},set:function(e){e=!1!==e,this._state.edges!==e&&(this._state.edges=e,this.glRedraw())}},{key:"edgeColor",get:function(){return this._state.edgeColor},set:function(e){var t=this._state.edgeColor;if(t){if(e&&t[0]===e[0]&&t[1]===e[1]&&t[2]===e[2])return}else t=this._state.edgeColor=new Float32Array(3);e?(t[0]=e[0],t[1]=e[1],t[2]=e[2]):(t[0]=.2,t[1]=.2,t[2]=.2),this.glRedraw()}},{key:"edgeAlpha",get:function(){return this._state.edgeAlpha},set:function(e){e=null!=e?e:.5,this._state.edgeAlpha!==e&&(this._state.edgeAlpha=e,this.glRedraw())}},{key:"edgeWidth",get:function(){return this._state.edgeWidth},set:function(e){this._state.edgeWidth=e||1,this.glRedraw()}},{key:"backfaces",get:function(){return this._state.backfaces},set:function(e){e=!!e,this._state.backfaces!==e&&(this._state.backfaces=e,this.glRedraw())}},{key:"glowThrough",get:function(){return this._state.glowThrough},set:function(e){e=!1!==e,this._state.glowThrough!==e&&(this._state.glowThrough=e,this.glRedraw())}},{key:"preset",get:function(){return this._preset},set:function(e){if(e=e||"default",this._preset!==e){var t=Ln[e];t?(this.fill=t.fill,this.fillColor=t.fillColor,this.fillAlpha=t.fillAlpha,this.edges=t.edges,this.edgeColor=t.edgeColor,this.edgeAlpha=t.edgeAlpha,this.edgeWidth=t.edgeWidth,this.glowThrough=t.glowThrough,this._preset=e):this.error("unsupported preset: '"+e+"' - supported values are "+Object.keys(Ln).join(", "))}}},{key:"destroy",value:function(){v(E(n.prototype),"destroy",this).call(this),this._state.destroy()}}]),n}(),xn={default:{edgeColor:[0,0,0],edgeAlpha:1,edgeWidth:1},defaultWhiteBG:{edgeColor:[.2,.2,.2],edgeAlpha:1,edgeWidth:1},defaultLightBG:{edgeColor:[.2,.2,.2],edgeAlpha:1,edgeWidth:1},defaultDarkBG:{edgeColor:[.5,.5,.5],edgeAlpha:1,edgeWidth:1}},Fn=function(e){I(n,Bn);var t=m(n);function n(e){var r,i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return b(this,n),(r=t.call(this,e,i))._state=new Wt({type:"EdgeMaterial",edges:null,edgeColor:null,edgeAlpha:null,edgeWidth:null}),r._preset="default",i.preset?(r.preset=i.preset,i.edgeColor&&(r.edgeColor=i.edgeColor),void 0!==i.edgeAlpha&&(r.edgeAlpha=i.edgeAlpha),void 0!==i.edgeWidth&&(r.edgeWidth=i.edgeWidth)):(r.edgeColor=i.edgeColor,r.edgeAlpha=i.edgeAlpha,r.edgeWidth=i.edgeWidth),r.edges=!1!==i.edges,r}return P(n,[{key:"type",get:function(){return"EdgeMaterial"}},{key:"presets",get:function(){return xn}},{key:"edges",get:function(){return this._state.edges},set:function(e){e=!1!==e,this._state.edges!==e&&(this._state.edges=e,this.glRedraw())}},{key:"edgeColor",get:function(){return this._state.edgeColor},set:function(e){var t=this._state.edgeColor;if(t){if(e&&t[0]===e[0]&&t[1]===e[1]&&t[2]===e[2])return}else t=this._state.edgeColor=new Float32Array(3);e?(t[0]=e[0],t[1]=e[1],t[2]=e[2]):(t[0]=.2,t[1]=.2,t[2]=.2),this.glRedraw()}},{key:"edgeAlpha",get:function(){return this._state.edgeAlpha},set:function(e){e=null!=e?e:1,this._state.edgeAlpha!==e&&(this._state.edgeAlpha=e,this.glRedraw())}},{key:"edgeWidth",get:function(){return this._state.edgeWidth},set:function(e){this._state.edgeWidth=e||1,this.glRedraw()}},{key:"preset",get:function(){return this._preset},set:function(e){if(e=e||"default",this._preset!==e){var t=xn[e];t?(this.edgeColor=t.edgeColor,this.edgeAlpha=t.edgeAlpha,this.edgeWidth=t.edgeWidth,this._preset=e):this.error("unsupported preset: '"+e+"' - supported values are "+Object.keys(xn).join(", "))}}},{key:"destroy",value:function(){v(E(n.prototype),"destroy",this).call(this),this._state.destroy()}}]),n}(),Hn={meters:{abbrev:"m"},metres:{abbrev:"m"},centimeters:{abbrev:"cm"},centimetres:{abbrev:"cm"},millimeters:{abbrev:"mm"},millimetres:{abbrev:"mm"},yards:{abbrev:"yd"},feet:{abbrev:"ft"},inches:{abbrev:"in"}},Un=function(e){I(n,ye);var t=m(n);function n(e){var r,i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return b(this,n),(r=t.call(this,e,i))._units="meters",r._scale=1,r._origin=$.vec3([0,0,0]),r.units=i.units,r.scale=i.scale,r.origin=i.origin,r}return P(n,[{key:"unitsInfo",get:function(){return Hn}},{key:"units",get:function(){return this._units},set:function(e){e||(e="meters"),Hn[e]||(this.error("Unsupported value for 'units': "+e+" defaulting to 'meters'"),e="meters"),this._units=e,this.fire("units",this._units)}},{key:"scale",get:function(){return this._scale},set:function(e){(e=e||1)<=0?this.error("scale value should be larger than zero"):(this._scale=e,this.fire("scale",this._scale))}},{key:"origin",get:function(){return this._origin},set:function(e){if(!e)return this._origin[0]=0,this._origin[1]=0,void(this._origin[2]=0);this._origin[0]=e[0],this._origin[1]=e[1],this._origin[2]=e[2],this.fire("origin",this._origin)}},{key:"worldToRealPos",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:$.vec3(3);t[0]=this._origin[0]+this._scale*e[0],t[1]=this._origin[1]+this._scale*e[1],t[2]=this._origin[2]+this._scale*e[2]}},{key:"realToWorldPos",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:$.vec3(3);return t[0]=(e[0]-this._origin[0])/this._scale,t[1]=(e[1]-this._origin[1])/this._scale,t[2]=(e[2]-this._origin[2])/this._scale,t}}]),n}(),Gn=function(e){I(n,ye);var t=m(n);function n(e){var r,i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return b(this,n),(r=t.call(this,e,i))._supported=dt.SUPPORTED_EXTENSIONS.OES_standard_derivatives,r.enabled=i.enabled,r.kernelRadius=i.kernelRadius,r.intensity=i.intensity,r.bias=i.bias,r.scale=i.scale,r.minResolution=i.minResolution,r.numSamples=i.numSamples,r.blur=i.blur,r.blendCutoff=i.blendCutoff,r.blendFactor=i.blendFactor,r}return P(n,[{key:"supported",get:function(){return this._supported}},{key:"enabled",get:function(){return this._enabled},set:function(e){e=!!e,this._enabled!==e&&(this._enabled=e,this.glRedraw())}},{key:"possible",get:function(){if(!this._supported)return!1;if(!this._enabled)return!1;var e=this.scene.camera.projection;return"customProjection"!==e&&"frustum"!==e}},{key:"active",get:function(){return this._active}},{key:"kernelRadius",get:function(){return this._kernelRadius},set:function(e){null==e&&(e=100),this._kernelRadius!==e&&(this._kernelRadius=e,this.glRedraw())}},{key:"intensity",get:function(){return this._intensity},set:function(e){null==e&&(e=.15),this._intensity!==e&&(this._intensity=e,this.glRedraw())}},{key:"bias",get:function(){return this._bias},set:function(e){null==e&&(e=.5),this._bias!==e&&(this._bias=e,this.glRedraw())}},{key:"scale",get:function(){return this._scale},set:function(e){null==e&&(e=1),this._scale!==e&&(this._scale=e,this.glRedraw())}},{key:"minResolution",get:function(){return this._minResolution},set:function(e){null==e&&(e=0),this._minResolution!==e&&(this._minResolution=e,this.glRedraw())}},{key:"numSamples",get:function(){return this._numSamples},set:function(e){null==e&&(e=10),this._numSamples!==e&&(this._numSamples=e,this.glRedraw())}},{key:"blur",get:function(){return this._blur},set:function(e){e=!1!==e,this._blur!==e&&(this._blur=e,this.glRedraw())}},{key:"blendCutoff",get:function(){return this._blendCutoff},set:function(e){null==e&&(e=.3),this._blendCutoff!==e&&(this._blendCutoff=e,this.glRedraw())}},{key:"blendFactor",get:function(){return this._blendFactor},set:function(e){null==e&&(e=1),this._blendFactor!==e&&(this._blendFactor=e,this.glRedraw())}},{key:"destroy",value:function(){v(E(n.prototype),"destroy",this).call(this)}}]),n}(),kn={default:{pointSize:4,roundPoints:!0,perspectivePoints:!0},square:{pointSize:4,roundPoints:!1,perspectivePoints:!0},round:{pointSize:4,roundPoints:!0,perspectivePoints:!0}},jn=function(e){I(n,Bn);var t=m(n);function n(e){var r,i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return b(this,n),(r=t.call(this,e,i))._state=new Wt({type:"PointsMaterial",pointSize:null,roundPoints:null,perspectivePoints:null,minPerspectivePointSize:null,maxPerspectivePointSize:null,filterIntensity:null,minIntensity:null,maxIntensity:null}),i.preset?(r.preset=i.preset,void 0!==i.pointSize&&(r.pointSize=i.pointSize),void 0!==i.roundPoints&&(r.roundPoints=i.roundPoints),void 0!==i.perspectivePoints&&(r.perspectivePoints=i.perspectivePoints),void 0!==i.minPerspectivePointSize&&(r.minPerspectivePointSize=i.minPerspectivePointSize),void 0!==i.maxPerspectivePointSize&&(r.maxPerspectivePointSize=i.minPerspectivePointSize)):(r._preset="default",r.pointSize=i.pointSize,r.roundPoints=i.roundPoints,r.perspectivePoints=i.perspectivePoints,r.minPerspectivePointSize=i.minPerspectivePointSize,r.maxPerspectivePointSize=i.maxPerspectivePointSize),r.filterIntensity=i.filterIntensity,r.minIntensity=i.minIntensity,r.maxIntensity=i.maxIntensity,r}return P(n,[{key:"type",get:function(){return"PointsMaterial"}},{key:"presets",get:function(){return kn}},{key:"pointSize",get:function(){return this._state.pointSize},set:function(e){this._state.pointSize=e||2,this.glRedraw()}},{key:"roundPoints",get:function(){return this._state.roundPoints},set:function(e){e=!1!==e,this._state.roundPoints!==e&&(this._state.roundPoints=e,this.scene._needRecompile=!0,this.glRedraw())}},{key:"perspectivePoints",get:function(){return this._state.perspectivePoints},set:function(e){e=!1!==e,this._state.perspectivePoints!==e&&(this._state.perspectivePoints=e,this.scene._needRecompile=!0,this.glRedraw())}},{key:"minPerspectivePointSize",get:function(){return this._state.minPerspectivePointSize},set:function(e){this._state.minPerspectivePointSize=e||1,this.scene._needRecompile=!0,this.glRedraw()}},{key:"maxPerspectivePointSize",get:function(){return this._state.maxPerspectivePointSize},set:function(e){this._state.maxPerspectivePointSize=e||6,this.scene._needRecompile=!0,this.glRedraw()}},{key:"filterIntensity",get:function(){return this._state.filterIntensity},set:function(e){e=!1!==e,this._state.filterIntensity!==e&&(this._state.filterIntensity=e,this.scene._needRecompile=!0,this.glRedraw())}},{key:"minIntensity",get:function(){return this._state.minIntensity},set:function(e){this._state.minIntensity=null!=e?e:0,this.glRedraw()}},{key:"maxIntensity",get:function(){return this._state.maxIntensity},set:function(e){this._state.maxIntensity=null!=e?e:1,this.glRedraw()}},{key:"preset",get:function(){return this._preset},set:function(e){if(e=e||"default",this._preset!==e){var t=kn[e];t?(this.pointSize=t.pointSize,this.roundPoints=t.roundPoints,this.perspectivePoints=t.perspectivePoints,this.minPerspectivePointSize=t.minPerspectivePointSize,this.maxPerspectivePointSize=t.maxPerspectivePointSize,this._preset=e):this.error("unsupported preset: '"+e+"' - supported values are "+Object.keys(kn).join(", "))}}},{key:"hash",get:function(){return[this.pointSize,this.roundPoints,this.perspectivePoints,this.minPerspectivePointSize,this.maxPerspectivePointSize,this.filterIntensity].join(";")}},{key:"destroy",value:function(){v(E(n.prototype),"destroy",this).call(this),this._state.destroy()}}]),n}(),Vn={default:{lineWidth:1},thick:{lineWidth:2},thicker:{lineWidth:4}},Qn=function(e){I(n,Bn);var t=m(n);function n(e){var r,i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return b(this,n),(r=t.call(this,e,i))._state=new Wt({type:"LinesMaterial",lineWidth:null}),i.preset?(r.preset=i.preset,void 0!==i.lineWidth&&(r.lineWidth=i.lineWidth)):(r._preset="default",r.lineWidth=i.lineWidth),r}return P(n,[{key:"type",get:function(){return"LinesMaterial"}},{key:"presets",get:function(){return Vn}},{key:"lineWidth",get:function(){return this._state.lineWidth},set:function(e){this._state.lineWidth=e||1,this.glRedraw()}},{key:"preset",get:function(){return this._preset},set:function(e){if(e=e||"default",this._preset!==e){var t=Vn[e];t?(this.lineWidth=t.lineWidth,this._preset=e):this.error("unsupported preset: '"+e+"' - supported values are "+Object.keys(Vn).join(", "))}}},{key:"hash",get:function(){return[""+this.lineWidth].join(";")}},{key:"destroy",value:function(){v(E(n.prototype),"destroy",this).call(this),this._state.destroy()}}]),n}();function Wn(e,t){for(var n,r,i={},a=0,s=t.length;a1&&void 0!==arguments[1]?arguments[1]:{};b(this,n),r=t.call(this,null,i);var a=i.canvasElement||document.getElementById(i.canvasId);if(!(a instanceof HTMLCanvasElement))throw"Mandatory config expected: valid canvasId or canvasElement";r._tickifiedFunctions={};var s=!!i.transparent,o=!!i.alphaDepthMask;return r._aabbDirty=!0,r.viewer=e,r.occlusionTestCountdown=0,r.loading=0,r.startTime=(new Date).getTime(),r.models={},r.objects={},r._numObjects=0,r.visibleObjects={},r._numVisibleObjects=0,r.xrayedObjects={},r._numXRayedObjects=0,r.highlightedObjects={},r._numHighlightedObjects=0,r.selectedObjects={},r._numSelectedObjects=0,r.colorizedObjects={},r._numColorizedObjects=0,r.opacityObjects={},r._numOpacityObjects=0,r.offsetObjects={},r._numOffsetObjects=0,r._modelIds=null,r._objectIds=null,r._visibleObjectIds=null,r._xrayedObjectIds=null,r._highlightedObjectIds=null,r._selectedObjectIds=null,r._colorizedObjectIds=null,r._opacityObjectIds=null,r._offsetObjectIds=null,r._collidables={},r._compilables={},r._needRecompile=!1,r.types={},r.components={},r.sectionPlanes={},r.lights={},r.lightMaps={},r.reflectionMaps={},r.bitmaps={},r.lineSets={},r.realWorldOffset=i.realWorldOffset||new Float64Array([0,0,0]),r.canvas=new pt(g(r),{dontClear:!0,canvas:a,spinnerElementId:i.spinnerElementId,transparent:s,webgl2:!1!==i.webgl2,contextAttr:i.contextAttr||{},backgroundColor:i.backgroundColor,backgroundColorFromAmbientLight:i.backgroundColorFromAmbientLight,premultipliedAlpha:i.premultipliedAlpha}),r.canvas.on("boundary",(function(){r.glRedraw()})),r.canvas.on("webglContextFailed",(function(){alert("xeokit failed to find WebGL!")})),r._renderer=new jt(g(r),{transparent:s,alphaDepthMask:o}),r._sectionPlanesState=new function(){this.sectionPlanes=[],this.clippingCaps=!1,this._numCachedSectionPlanes=0;var e=null;this.getHash=function(){if(e)return e;var t=this.getNumAllocatedSectionPlanes();if(this.sectionPlanes,0===t)return this.hash=";";for(var n=[],r=0,i=t;rthis._numCachedSectionPlanes?e:this._numCachedSectionPlanes}},r._sectionPlanesState.setNumCachedSectionPlanes(i.numCachedSectionPlanes||0),r._lightsState=new function(){var e=$.vec4([0,0,0,0]),t=$.vec4();this.lights=[],this.reflectionMaps=[],this.lightMaps=[];var n=null,r=null;this.getHash=function(){if(n)return n;for(var e,t=[],r=this.lights,i=0,a=r.length;i0&&t.push("/lm"),this.reflectionMaps.length>0&&t.push("/rm"),t.push(";"),n=t.join("")},this.addLight=function(e){this.lights.push(e),r=null,n=null},this.removeLight=function(e){for(var t=0,i=this.lights.length;t1&&void 0!==arguments[1])||arguments[1];e.visible?(this.visibleObjects[e.id]=e,this._numVisibleObjects++):(delete this.visibleObjects[e.id],this._numVisibleObjects--),this._visibleObjectIds=null,t&&this.fire("objectVisibility",e,!0)}},{key:"_objectXRayedUpdated",value:function(e){var t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];e.xrayed?(this.xrayedObjects[e.id]=e,this._numXRayedObjects++):(delete this.xrayedObjects[e.id],this._numXRayedObjects--),this._xrayedObjectIds=null,t&&this.fire("objectXRayed",e,!0)}},{key:"_objectHighlightedUpdated",value:function(e){var t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];e.highlighted?(this.highlightedObjects[e.id]=e,this._numHighlightedObjects++):(delete this.highlightedObjects[e.id],this._numHighlightedObjects--),this._highlightedObjectIds=null,t&&this.fire("objectHighlighted",e,!0)}},{key:"_objectSelectedUpdated",value:function(e){var t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];e.selected?(this.selectedObjects[e.id]=e,this._numSelectedObjects++):(delete this.selectedObjects[e.id],this._numSelectedObjects--),this._selectedObjectIds=null,t&&this.fire("objectSelected",e,!0)}},{key:"_objectColorizeUpdated",value:function(e,t){t?(this.colorizedObjects[e.id]=e,this._numColorizedObjects++):(delete this.colorizedObjects[e.id],this._numColorizedObjects--),this._colorizedObjectIds=null}},{key:"_objectOpacityUpdated",value:function(e,t){t?(this.opacityObjects[e.id]=e,this._numOpacityObjects++):(delete this.opacityObjects[e.id],this._numOpacityObjects--),this._opacityObjectIds=null}},{key:"_objectOffsetUpdated",value:function(e,t){!t||0===t[0]&&0===t[1]&&0===t[2]?(this.offsetObjects[e.id]=e,this._numOffsetObjects++):(delete this.offsetObjects[e.id],this._numOffsetObjects--),this._offsetObjectIds=null}},{key:"_webglContextLost",value:function(){for(var e in this.canvas.spinner.processes++,this.components)if(this.components.hasOwnProperty(e)){var t=this.components[e];t._webglContextLost&&t._webglContextLost()}this._renderer.webglContextLost()}},{key:"_webglContextRestored",value:function(){var e=this.canvas.gl;for(var t in this.components)if(this.components.hasOwnProperty(t)){var n=this.components[t];n._webglContextRestored&&n._webglContextRestored(e)}this._renderer.webglContextRestored(e),this.canvas.spinner.processes--}},{key:"capabilities",get:function(){return this._renderer.capabilities}},{key:"entityOffsetsEnabled",get:function(){return this._entityOffsetsEnabled}},{key:"pickSurfacePrecisionEnabled",get:function(){return!1}},{key:"logarithmicDepthBufferEnabled",get:function(){return this._logarithmicDepthBufferEnabled}},{key:"numCachedSectionPlanes",get:function(){return this._sectionPlanesState.getNumCachedSectionPlanes()},set:function(e){e=e||0,this._sectionPlanesState.getNumCachedSectionPlanes()!==e&&(this._sectionPlanesState.setNumCachedSectionPlanes(e),this._needRecompile=!0,this.glRedraw())}},{key:"pbrEnabled",get:function(){return this._pbrEnabled},set:function(e){this._pbrEnabled=!!e,this.glRedraw()}},{key:"dtxEnabled",get:function(){return this._dtxEnabled},set:function(e){e=!!e,this._dtxEnabled!==e&&(this._dtxEnabled=e)}},{key:"colorTextureEnabled",get:function(){return this._colorTextureEnabled},set:function(e){this._colorTextureEnabled=!!e,this.glRedraw()}},{key:"doOcclusionTest",value:function(){this._needRecompile&&(this._recompile(),this._needRecompile=!1),this._renderer.doOcclusionTest()}},{key:"render",value:function(e){e&&he.runTasks();var t={sceneId:null,pass:0};if(this._needRecompile&&(this._recompile(),this._renderer.imageDirty(),this._needRecompile=!1),e||this._renderer.needsRender()){t.sceneId=this.id;var n,r,i=this._passes,a=this._clearEachPass;for(n=0;na&&(a=e[3]),e[4]>s&&(s=e[4]),e[5]>o&&(o=e[5]),u=!0}u||(n=-100,r=-100,i=-100,a=100,s=100,o=100),this._aabb[0]=n,this._aabb[1]=r,this._aabb[2]=i,this._aabb[3]=a,this._aabb[4]=s,this._aabb[5]=o,this._aabbDirty=!1}return this._aabb}},{key:"_setAABBDirty",value:function(){this._aabbDirty=!0,this.fire("boundary")}},{key:"pick",value:function(e,t){if(0===this.canvas.boundary[2]||0===this.canvas.boundary[3])return this.error("Picking not allowed while canvas has zero width or height"),null;(e=e||{}).pickSurface=e.pickSurface||e.rayPick,e.canvasPos||e.matrix||e.origin&&e.direction||this.warn("picking without canvasPos, matrix, or ray origin and direction");var n=e.includeEntities||e.include;n&&(e.includeEntityIds=Wn(this,n));var r=e.excludeEntities||e.exclude;return r&&(e.excludeEntityIds=Wn(this,r)),this._needRecompile&&(this._recompile(),this._renderer.imageDirty(),this._needRecompile=!1),(t=e.snapToEdge||e.snapToVertex?this._renderer.snapPick(e.canvasPos,e.snapRadius||30,e.snapToVertex,e.snapToEdge,t):this._renderer.pick(e,t))&&t.entity&&t.entity.fire&&t.entity.fire("picked",t),t}},{key:"snapPick",value:function(e){return void 0===this._warnSnapPickDeprecated&&(this._warnSnapPickDeprecated=!0,this.warn("Scene.snapPick() is deprecated since v2.4.2 - use Scene.pick() instead")),this._renderer.snapPick(e.canvasPos,e.snapRadius||30,e.snapToVertex,e.snapToEdge)}},{key:"clear",value:function(){var e;for(var t in this.components)this.components.hasOwnProperty(t)&&((e=this.components[t])._dontClear||e.destroy())}},{key:"clearLights",value:function(){for(var e=Object.keys(this.lights),t=0,n=e.length;ts&&(s=t[3]),t[4]>o&&(o=t[4]),t[5]>l&&(l=t[5]),n=!0}})),n){var u=$.AABB3();return u[0]=r,u[1]=i,u[2]=a,u[3]=s,u[4]=o,u[5]=l,u}return this.aabb}},{key:"setObjectsVisible",value:function(e,t){return this.withObjects(e,(function(e){var n=e.visible!==t;return e.visible=t,n}))}},{key:"setObjectsCollidable",value:function(e,t){return this.withObjects(e,(function(e){var n=e.collidable!==t;return e.collidable=t,n}))}},{key:"setObjectsCulled",value:function(e,t){return this.withObjects(e,(function(e){var n=e.culled!==t;return e.culled=t,n}))}},{key:"setObjectsSelected",value:function(e,t){return this.withObjects(e,(function(e){var n=e.selected!==t;return e.selected=t,n}))}},{key:"setObjectsHighlighted",value:function(e,t){return this.withObjects(e,(function(e){var n=e.highlighted!==t;return e.highlighted=t,n}))}},{key:"setObjectsXRayed",value:function(e,t){return this.withObjects(e,(function(e){var n=e.xrayed!==t;return e.xrayed=t,n}))}},{key:"setObjectsEdges",value:function(e,t){return this.withObjects(e,(function(e){var n=e.edges!==t;return e.edges=t,n}))}},{key:"setObjectsColorized",value:function(e,t){return this.withObjects(e,(function(e){e.colorize=t}))}},{key:"setObjectsOpacity",value:function(e,t){return this.withObjects(e,(function(e){var n=e.opacity!==t;return e.opacity=t,n}))}},{key:"setObjectsPickable",value:function(e,t){return this.withObjects(e,(function(e){var n=e.pickable!==t;return e.pickable=t,n}))}},{key:"setObjectsOffset",value:function(e,t){this.withObjects(e,(function(e){e.offset=t}))}},{key:"withObjects",value:function(e,t){le.isString(e)&&(e=[e]);for(var n=!1,r=0,i=e.length;rr&&(r=i,e.apply(void 0,c(n)))}));return this._tickifiedFunctions[t]={tickSubId:s,wrapperFunc:a},a}},{key:"destroy",value:function(){for(var e in v(E(n.prototype),"destroy",this).call(this),this.components)this.components.hasOwnProperty(e)&&this.components[e].destroy();this.canvas.gl=null,this.components=null,this.models=null,this.objects=null,this.visibleObjects=null,this.xrayedObjects=null,this.highlightedObjects=null,this.selectedObjects=null,this.colorizedObjects=null,this.opacityObjects=null,this.sectionPlanes=null,this.lights=null,this.lightMaps=null,this.reflectionMaps=null,this._objectIds=null,this._visibleObjectIds=null,this._xrayedObjectIds=null,this._highlightedObjectIds=null,this._selectedObjectIds=null,this._colorizedObjectIds=null,this.types=null,this.components=null,this.canvas=null,this._renderer=null,this.input=null,this._viewport=null,this._camera=null}}]),n}(),Kn=1e3,Yn=1001,Xn=1002,qn=1003,Jn=1004,Zn=1004,$n=1005,er=1005,tr=1006,nr=1007,rr=1007,ir=1008,ar=1008,sr=1009,or=1010,lr=1011,ur=1012,cr=1013,fr=1014,pr=1015,Ar=1016,dr=1017,vr=1018,hr=1020,Ir=1021,yr=1022,mr=1023,wr=1024,gr=1025,Er=1026,Tr=1027,br=1028,Dr=1029,Pr=1030,Rr=1031,Cr=1033,_r=33776,Br=33777,Or=33778,Sr=33779,Nr=35840,Lr=35841,Mr=35842,xr=35843,Fr=36196,Hr=37492,Ur=37496,Gr=37808,kr=37809,jr=37810,Vr=37811,Qr=37812,Wr=37813,zr=37814,Kr=37815,Yr=37816,Xr=37817,qr=37818,Jr=37819,Zr=37820,$r=37821,ei=36492,ti=3e3,ni=3001,ri=1e4,ii=10001,ai=10002,si=10003,oi=function(e){"LambertMaterial"===e._material._state.type?(this.vertex=function(e){var t=e.scene,n=e.scene._sectionPlanesState,r=e.scene._lightsState,i=e._geometry._state,a=e._state.billboard,s=e._state.stationary,o=n.getNumAllocatedSectionPlanes()>0,l=!!i.compressGeometry,u=[];u.push("#version 300 es"),u.push("// Lambertian drawing vertex shader"),u.push("in vec3 position;"),u.push("uniform mat4 modelMatrix;"),u.push("uniform mat4 viewMatrix;"),u.push("uniform mat4 projMatrix;"),u.push("uniform vec4 colorize;"),u.push("uniform vec3 offset;"),l&&u.push("uniform mat4 positionsDecodeMatrix;");t.logarithmicDepthBufferEnabled&&(u.push("uniform float logDepthBufFC;"),u.push("out float vFragDepth;"),u.push("bool isPerspectiveMatrix(mat4 m) {"),u.push(" return (m[2][3] == - 1.0);"),u.push("}"),u.push("out float isPerspective;"));o&&u.push("out vec4 vWorldPosition;");if(u.push("uniform vec4 lightAmbient;"),u.push("uniform vec4 materialColor;"),u.push("uniform vec3 materialEmissive;"),i.normalsBuf){u.push("in vec3 normal;"),u.push("uniform mat4 modelNormalMatrix;"),u.push("uniform mat4 viewNormalMatrix;");for(var c=0,f=r.lights.length;c= 0.0 ? 1.0 : -1.0, v.y >= 0.0 ? 1.0 : -1.0);"),u.push(" }"),u.push(" return normalize(v);"),u.push("}"))}u.push("out vec4 vColor;"),"points"===i.primitiveName&&u.push("uniform float pointSize;");"spherical"!==a&&"cylindrical"!==a||(u.push("void billboard(inout mat4 mat) {"),u.push(" mat[0][0] = 1.0;"),u.push(" mat[0][1] = 0.0;"),u.push(" mat[0][2] = 0.0;"),"spherical"===a&&(u.push(" mat[1][0] = 0.0;"),u.push(" mat[1][1] = 1.0;"),u.push(" mat[1][2] = 0.0;")),u.push(" mat[2][0] = 0.0;"),u.push(" mat[2][1] = 0.0;"),u.push(" mat[2][2] =1.0;"),u.push("}"));u.push("void main(void) {"),u.push("vec4 localPosition = vec4(position, 1.0); "),u.push("vec4 worldPosition;"),l&&u.push("localPosition = positionsDecodeMatrix * localPosition;");i.normalsBuf&&(l?u.push("vec4 localNormal = vec4(octDecode(normal.xy), 0.0); "):u.push("vec4 localNormal = vec4(normal, 0.0); "),u.push("mat4 modelNormalMatrix2 = modelNormalMatrix;"),u.push("mat4 viewNormalMatrix2 = viewNormalMatrix;"));u.push("mat4 viewMatrix2 = viewMatrix;"),u.push("mat4 modelMatrix2 = modelMatrix;"),s&&u.push("viewMatrix2[3][0] = viewMatrix2[3][1] = viewMatrix2[3][2] = 0.0;");"spherical"===a||"cylindrical"===a?(u.push("mat4 modelViewMatrix = viewMatrix2 * modelMatrix2;"),u.push("billboard(modelMatrix2);"),u.push("billboard(viewMatrix2);"),u.push("billboard(modelViewMatrix);"),i.normalsBuf&&(u.push("mat4 modelViewNormalMatrix = viewNormalMatrix2 * modelNormalMatrix2;"),u.push("billboard(modelNormalMatrix2);"),u.push("billboard(viewNormalMatrix2);"),u.push("billboard(modelViewNormalMatrix);")),u.push("worldPosition = modelMatrix2 * localPosition;"),u.push("worldPosition.xyz = worldPosition.xyz + offset;"),u.push("vec4 viewPosition = modelViewMatrix * localPosition;")):(u.push("worldPosition = modelMatrix2 * localPosition;"),u.push("worldPosition.xyz = worldPosition.xyz + offset;"),u.push("vec4 viewPosition = viewMatrix2 * worldPosition; "));i.normalsBuf&&u.push("vec3 viewNormal = normalize((viewNormalMatrix2 * modelNormalMatrix2 * localNormal).xyz);");if(u.push("vec3 reflectedColor = vec3(0.0, 0.0, 0.0);"),u.push("vec3 viewLightDir = vec3(0.0, 0.0, -1.0);"),u.push("float lambertian = 1.0;"),i.normalsBuf)for(var A=0,d=r.lights.length;A0,a=t.gammaOutput,s=[];s.push("#version 300 es"),s.push("// Lambertian drawing fragment shader"),s.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),s.push("precision highp float;"),s.push("precision highp int;"),s.push("#else"),s.push("precision mediump float;"),s.push("precision mediump int;"),s.push("#endif"),t.logarithmicDepthBufferEnabled&&(s.push("in float isPerspective;"),s.push("uniform float logDepthBufFC;"),s.push("in float vFragDepth;"));if(i){s.push("in vec4 vWorldPosition;"),s.push("uniform bool clippable;");for(var o=0,l=n.getNumAllocatedSectionPlanes();o 0.0) { discard; }"),s.push("}")}"points"===r.primitiveName&&(s.push("vec2 cxy = 2.0 * gl_PointCoord - 1.0;"),s.push("float r = dot(cxy, cxy);"),s.push("if (r > 1.0) {"),s.push(" discard;"),s.push("}"));t.logarithmicDepthBufferEnabled&&s.push("gl_FragDepth = isPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5;");a?s.push("outColor = linearToGamma(vColor, gammaFactor);"):s.push("outColor = vColor;");return s.push("}"),s}(e)):(this.vertex=function(e){var t=e.scene;e._material;var n,r=e._state,i=t._sectionPlanesState,a=e._geometry._state,s=t._lightsState,o=r.billboard,l=r.background,u=r.stationary,c=function(e){if(!e._geometry._state.uvBuf)return!1;var t=e._material;return!!(t._ambientMap||t._occlusionMap||t._baseColorMap||t._diffuseMap||t._alphaMap||t._specularMap||t._glossinessMap||t._specularGlossinessMap||t._emissiveMap||t._metallicMap||t._roughnessMap||t._metallicRoughnessMap||t._reflectivityMap||t._normalMap)}(e),f=ci(e),p=i.getNumAllocatedSectionPlanes()>0,A=ui(e),d=!!a.compressGeometry,v=[];v.push("#version 300 es"),v.push("// Drawing vertex shader"),v.push("in vec3 position;"),d&&v.push("uniform mat4 positionsDecodeMatrix;");v.push("uniform mat4 modelMatrix;"),v.push("uniform mat4 viewMatrix;"),v.push("uniform mat4 projMatrix;"),v.push("out vec3 vViewPosition;"),v.push("uniform vec3 offset;"),p&&v.push("out vec4 vWorldPosition;");t.logarithmicDepthBufferEnabled&&(v.push("uniform float logDepthBufFC;"),v.push("out float vFragDepth;"),v.push("bool isPerspectiveMatrix(mat4 m) {"),v.push(" return (m[2][3] == - 1.0);"),v.push("}"),v.push("out float isPerspective;"));s.lightMaps.length>0&&v.push("out vec3 vWorldNormal;");if(f){v.push("in vec3 normal;"),v.push("uniform mat4 modelNormalMatrix;"),v.push("uniform mat4 viewNormalMatrix;"),v.push("out vec3 vViewNormal;");for(var h=0,I=s.lights.length;h= 0.0 ? 1.0 : -1.0, v.y >= 0.0 ? 1.0 : -1.0);"),v.push(" }"),v.push(" return normalize(v);"),v.push("}"))}c&&(v.push("in vec2 uv;"),v.push("out vec2 vUV;"),d&&v.push("uniform mat3 uvDecodeMatrix;"));a.colors&&(v.push("in vec4 color;"),v.push("out vec4 vColor;"));"points"===a.primitiveName&&v.push("uniform float pointSize;");"spherical"!==o&&"cylindrical"!==o||(v.push("void billboard(inout mat4 mat) {"),v.push(" mat[0][0] = 1.0;"),v.push(" mat[0][1] = 0.0;"),v.push(" mat[0][2] = 0.0;"),"spherical"===o&&(v.push(" mat[1][0] = 0.0;"),v.push(" mat[1][1] = 1.0;"),v.push(" mat[1][2] = 0.0;")),v.push(" mat[2][0] = 0.0;"),v.push(" mat[2][1] = 0.0;"),v.push(" mat[2][2] =1.0;"),v.push("}"));if(A){v.push("const mat4 texUnitConverter = mat4(0.5, 0.0, 0.0, 0.0, 0.0, 0.5, 0.0, 0.0, 0.0, 0.0, 0.5, 0.0, 0.5, 0.5, 0.5, 1.0);");for(var y=0,m=s.lights.length;y0&&v.push("vWorldNormal = worldNormal;"),v.push("vViewNormal = normalize((viewNormalMatrix2 * vec4(worldNormal, 1.0)).xyz);"),v.push("vec3 tmpVec3;"),v.push("float lightDist;");for(var w=0,g=s.lights.length;w0,l=ci(e),u=r.uvBuf,c="PhongMaterial"===s.type,f="MetallicMaterial"===s.type,p="SpecularMaterial"===s.type,A=ui(e);t.gammaInput;var d=t.gammaOutput,v=[];v.push("#version 300 es"),v.push("// Drawing fragment shader"),v.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),v.push("precision highp float;"),v.push("precision highp int;"),v.push("#else"),v.push("precision mediump float;"),v.push("precision mediump int;"),v.push("#endif"),t.logarithmicDepthBufferEnabled&&(v.push("in float isPerspective;"),v.push("uniform float logDepthBufFC;"),v.push("in float vFragDepth;"));A&&(v.push("float unpackDepth (vec4 color) {"),v.push(" const vec4 bitShift = vec4(1.0, 1.0/256.0, 1.0/(256.0 * 256.0), 1.0/(256.0*256.0*256.0));"),v.push(" return dot(color, bitShift);"),v.push("}"));v.push("uniform float gammaFactor;"),v.push("vec4 linearToLinear( in vec4 value ) {"),v.push(" return value;"),v.push("}"),v.push("vec4 sRGBToLinear( in vec4 value ) {"),v.push(" return vec4( mix( pow( value.rgb * 0.9478672986 + vec3( 0.0521327014 ), vec3( 2.4 ) ), value.rgb * 0.0773993808, vec3( lessThanEqual( value.rgb, vec3( 0.04045 ) ) ) ), value.w );"),v.push("}"),v.push("vec4 gammaToLinear( in vec4 value) {"),v.push(" return vec4( pow( value.xyz, vec3( gammaFactor ) ), value.w );"),v.push("}"),d&&(v.push("vec4 linearToGamma( in vec4 value, in float gammaFactor ) {"),v.push(" return vec4( pow( value.xyz, vec3( 1.0 / gammaFactor ) ), value.w );"),v.push("}"));if(o){v.push("in vec4 vWorldPosition;"),v.push("uniform bool clippable;");for(var h=0;h0&&(v.push("uniform samplerCube lightMap;"),v.push("uniform mat4 viewNormalMatrix;")),a.reflectionMaps.length>0&&v.push("uniform samplerCube reflectionMap;"),(a.lightMaps.length>0||a.reflectionMaps.length>0)&&v.push("uniform mat4 viewMatrix;"),v.push("#define PI 3.14159265359"),v.push("#define RECIPROCAL_PI 0.31830988618"),v.push("#define RECIPROCAL_PI2 0.15915494"),v.push("#define EPSILON 1e-6"),v.push("#define saturate(a) clamp( a, 0.0, 1.0 )"),v.push("vec3 inverseTransformDirection(in vec3 dir, in mat4 matrix) {"),v.push(" return normalize( ( vec4( dir, 0.0 ) * matrix ).xyz );"),v.push("}"),v.push("struct IncidentLight {"),v.push(" vec3 color;"),v.push(" vec3 direction;"),v.push("};"),v.push("struct ReflectedLight {"),v.push(" vec3 diffuse;"),v.push(" vec3 specular;"),v.push("};"),v.push("struct Geometry {"),v.push(" vec3 position;"),v.push(" vec3 viewNormal;"),v.push(" vec3 worldNormal;"),v.push(" vec3 viewEyeDir;"),v.push("};"),v.push("struct Material {"),v.push(" vec3 diffuseColor;"),v.push(" float specularRoughness;"),v.push(" vec3 specularColor;"),v.push(" float shine;"),v.push("};"),c&&((a.lightMaps.length>0||a.reflectionMaps.length>0)&&(v.push("void computePhongLightMapping(const in Geometry geometry, const in Material material, inout ReflectedLight reflectedLight) {"),a.lightMaps.length>0&&(v.push(" vec3 irradiance = "+li[a.lightMaps[0].encoding]+"(texture(lightMap, geometry.worldNormal)).rgb;"),v.push(" irradiance *= PI;"),v.push(" vec3 diffuseBRDFContrib = (RECIPROCAL_PI * material.diffuseColor);"),v.push(" reflectedLight.diffuse += irradiance * diffuseBRDFContrib;")),a.reflectionMaps.length>0&&(v.push(" vec3 reflectVec = reflect(-geometry.viewEyeDir, geometry.viewNormal);"),v.push(" vec3 radiance = texture(reflectionMap, reflectVec).rgb * 0.2;"),v.push(" radiance *= PI;"),v.push(" reflectedLight.specular += radiance;")),v.push("}")),v.push("void computePhongLighting(const in IncidentLight directLight, const in Geometry geometry, const in Material material, inout ReflectedLight reflectedLight) {"),v.push(" float dotNL = saturate(dot(geometry.viewNormal, directLight.direction));"),v.push(" vec3 irradiance = dotNL * directLight.color * PI;"),v.push(" reflectedLight.diffuse += irradiance * (RECIPROCAL_PI * material.diffuseColor);"),v.push(" reflectedLight.specular += directLight.color * material.specularColor * pow(max(dot(reflect(-directLight.direction, -geometry.viewNormal), geometry.viewEyeDir), 0.0), material.shine);"),v.push("}")),(f||p)&&(v.push("float GGXRoughnessToBlinnExponent(const in float ggxRoughness) {"),v.push(" float r = ggxRoughness + 0.0001;"),v.push(" return (2.0 / (r * r) - 2.0);"),v.push("}"),v.push("float getSpecularMIPLevel(const in float blinnShininessExponent, const in int maxMIPLevel) {"),v.push(" float maxMIPLevelScalar = float( maxMIPLevel );"),v.push(" float desiredMIPLevel = maxMIPLevelScalar - 0.79248 - 0.5 * log2( ( blinnShininessExponent * blinnShininessExponent ) + 1.0 );"),v.push(" return clamp( desiredMIPLevel, 0.0, maxMIPLevelScalar );"),v.push("}"),a.reflectionMaps.length>0&&(v.push("vec3 getLightProbeIndirectRadiance(const in vec3 reflectVec, const in float blinnShininessExponent, const in int maxMIPLevel) {"),v.push(" float mipLevel = 0.5 * getSpecularMIPLevel(blinnShininessExponent, maxMIPLevel);"),v.push(" vec3 envMapColor = "+li[a.reflectionMaps[0].encoding]+"(texture(reflectionMap, reflectVec, mipLevel)).rgb;"),v.push(" return envMapColor;"),v.push("}")),v.push("vec3 F_Schlick(const in vec3 specularColor, const in float dotLH) {"),v.push(" float fresnel = exp2( ( -5.55473 * dotLH - 6.98316 ) * dotLH );"),v.push(" return ( 1.0 - specularColor ) * fresnel + specularColor;"),v.push("}"),v.push("float G_GGX_Smith(const in float alpha, const in float dotNL, const in float dotNV) {"),v.push(" float a2 = ( alpha * alpha );"),v.push(" float gl = dotNL + sqrt( a2 + ( 1.0 - a2 ) * ( dotNL * dotNL ) );"),v.push(" float gv = dotNV + sqrt( a2 + ( 1.0 - a2 ) * ( dotNV * dotNV ) );"),v.push(" return 1.0 / ( gl * gv );"),v.push("}"),v.push("float G_GGX_SmithCorrelated(const in float alpha, const in float dotNL, const in float dotNV) {"),v.push(" float a2 = ( alpha * alpha );"),v.push(" float gv = dotNL * sqrt( a2 + ( 1.0 - a2 ) * ( dotNV * dotNV ) );"),v.push(" float gl = dotNV * sqrt( a2 + ( 1.0 - a2 ) * ( dotNL * dotNL ) );"),v.push(" return 0.5 / max( gv + gl, EPSILON );"),v.push("}"),v.push("float D_GGX(const in float alpha, const in float dotNH) {"),v.push(" float a2 = ( alpha * alpha );"),v.push(" float denom = ( dotNH * dotNH) * ( a2 - 1.0 ) + 1.0;"),v.push(" return RECIPROCAL_PI * a2 / ( denom * denom);"),v.push("}"),v.push("vec3 BRDF_Specular_GGX(const in IncidentLight incidentLight, const in Geometry geometry, const in vec3 specularColor, const in float roughness) {"),v.push(" float alpha = ( roughness * roughness );"),v.push(" vec3 halfDir = normalize( incidentLight.direction + geometry.viewEyeDir );"),v.push(" float dotNL = saturate( dot( geometry.viewNormal, incidentLight.direction ) );"),v.push(" float dotNV = saturate( dot( geometry.viewNormal, geometry.viewEyeDir ) );"),v.push(" float dotNH = saturate( dot( geometry.viewNormal, halfDir ) );"),v.push(" float dotLH = saturate( dot( incidentLight.direction, halfDir ) );"),v.push(" vec3 F = F_Schlick( specularColor, dotLH );"),v.push(" float G = G_GGX_SmithCorrelated( alpha, dotNL, dotNV );"),v.push(" float D = D_GGX( alpha, dotNH );"),v.push(" return F * (G * D);"),v.push("}"),v.push("vec3 BRDF_Specular_GGX_Environment(const in Geometry geometry, const in vec3 specularColor, const in float roughness) {"),v.push(" float dotNV = saturate(dot(geometry.viewNormal, geometry.viewEyeDir));"),v.push(" const vec4 c0 = vec4( -1, -0.0275, -0.572, 0.022);"),v.push(" const vec4 c1 = vec4( 1, 0.0425, 1.04, -0.04);"),v.push(" vec4 r = roughness * c0 + c1;"),v.push(" float a004 = min(r.x * r.x, exp2(-9.28 * dotNV)) * r.x + r.y;"),v.push(" vec2 AB = vec2(-1.04, 1.04) * a004 + r.zw;"),v.push(" return specularColor * AB.x + AB.y;"),v.push("}"),(a.lightMaps.length>0||a.reflectionMaps.length>0)&&(v.push("void computePBRLightMapping(const in Geometry geometry, const in Material material, inout ReflectedLight reflectedLight) {"),a.lightMaps.length>0&&(v.push(" vec3 irradiance = sRGBToLinear(texture(lightMap, geometry.worldNormal)).rgb;"),v.push(" irradiance *= PI;"),v.push(" vec3 diffuseBRDFContrib = (RECIPROCAL_PI * material.diffuseColor);"),v.push(" reflectedLight.diffuse += irradiance * diffuseBRDFContrib;")),a.reflectionMaps.length>0&&(v.push(" vec3 reflectVec = reflect(-geometry.viewEyeDir, geometry.viewNormal);"),v.push(" reflectVec = inverseTransformDirection(reflectVec, viewMatrix);"),v.push(" float blinnExpFromRoughness = GGXRoughnessToBlinnExponent(material.specularRoughness);"),v.push(" vec3 radiance = getLightProbeIndirectRadiance(reflectVec, blinnExpFromRoughness, 8);"),v.push(" vec3 specularBRDFContrib = BRDF_Specular_GGX_Environment(geometry, material.specularColor, material.specularRoughness);"),v.push(" reflectedLight.specular += radiance * specularBRDFContrib;")),v.push("}")),v.push("void computePBRLighting(const in IncidentLight incidentLight, const in Geometry geometry, const in Material material, inout ReflectedLight reflectedLight) {"),v.push(" float dotNL = saturate(dot(geometry.viewNormal, incidentLight.direction));"),v.push(" vec3 irradiance = dotNL * incidentLight.color * PI;"),v.push(" reflectedLight.diffuse += irradiance * (RECIPROCAL_PI * material.diffuseColor);"),v.push(" reflectedLight.specular += irradiance * BRDF_Specular_GGX(incidentLight, geometry, material.specularColor, material.specularRoughness);"),v.push("}")));v.push("in vec3 vViewPosition;"),r.colors&&v.push("in vec4 vColor;");u&&(l&&n._normalMap||n._ambientMap||n._baseColorMap||n._diffuseMap||n._emissiveMap||n._metallicMap||n._roughnessMap||n._metallicRoughnessMap||n._specularMap||n._glossinessMap||n._specularGlossinessMap||n._occlusionMap||n._alphaMap)&&v.push("in vec2 vUV;");l&&(a.lightMaps.length>0&&v.push("in vec3 vWorldNormal;"),v.push("in vec3 vViewNormal;"));s.ambient&&v.push("uniform vec3 materialAmbient;");s.baseColor&&v.push("uniform vec3 materialBaseColor;");void 0!==s.alpha&&null!==s.alpha&&v.push("uniform vec4 materialAlphaModeCutoff;");s.emissive&&v.push("uniform vec3 materialEmissive;");s.diffuse&&v.push("uniform vec3 materialDiffuse;");void 0!==s.glossiness&&null!==s.glossiness&&v.push("uniform float materialGlossiness;");void 0!==s.shininess&&null!==s.shininess&&v.push("uniform float materialShininess;");s.specular&&v.push("uniform vec3 materialSpecular;");void 0!==s.metallic&&null!==s.metallic&&v.push("uniform float materialMetallic;");void 0!==s.roughness&&null!==s.roughness&&v.push("uniform float materialRoughness;");void 0!==s.specularF0&&null!==s.specularF0&&v.push("uniform float materialSpecularF0;");u&&n._ambientMap&&(v.push("uniform sampler2D ambientMap;"),n._ambientMap._state.matrix&&v.push("uniform mat4 ambientMapMatrix;"));u&&n._baseColorMap&&(v.push("uniform sampler2D baseColorMap;"),n._baseColorMap._state.matrix&&v.push("uniform mat4 baseColorMapMatrix;"));u&&n._diffuseMap&&(v.push("uniform sampler2D diffuseMap;"),n._diffuseMap._state.matrix&&v.push("uniform mat4 diffuseMapMatrix;"));u&&n._emissiveMap&&(v.push("uniform sampler2D emissiveMap;"),n._emissiveMap._state.matrix&&v.push("uniform mat4 emissiveMapMatrix;"));l&&u&&n._metallicMap&&(v.push("uniform sampler2D metallicMap;"),n._metallicMap._state.matrix&&v.push("uniform mat4 metallicMapMatrix;"));l&&u&&n._roughnessMap&&(v.push("uniform sampler2D roughnessMap;"),n._roughnessMap._state.matrix&&v.push("uniform mat4 roughnessMapMatrix;"));l&&u&&n._metallicRoughnessMap&&(v.push("uniform sampler2D metallicRoughnessMap;"),n._metallicRoughnessMap._state.matrix&&v.push("uniform mat4 metallicRoughnessMapMatrix;"));l&&n._normalMap&&(v.push("uniform sampler2D normalMap;"),n._normalMap._state.matrix&&v.push("uniform mat4 normalMapMatrix;"),v.push("vec3 perturbNormal2Arb( vec3 eye_pos, vec3 surf_norm, vec2 uv ) {"),v.push(" vec3 q0 = vec3( dFdx( eye_pos.x ), dFdx( eye_pos.y ), dFdx( eye_pos.z ) );"),v.push(" vec3 q1 = vec3( dFdy( eye_pos.x ), dFdy( eye_pos.y ), dFdy( eye_pos.z ) );"),v.push(" vec2 st0 = dFdx( uv.st );"),v.push(" vec2 st1 = dFdy( uv.st );"),v.push(" vec3 S = normalize( q0 * st1.t - q1 * st0.t );"),v.push(" vec3 T = normalize( -q0 * st1.s + q1 * st0.s );"),v.push(" vec3 N = normalize( surf_norm );"),v.push(" vec3 mapN = texture( normalMap, uv ).xyz * 2.0 - 1.0;"),v.push(" mat3 tsn = mat3( S, T, N );"),v.push(" return normalize( tsn * mapN );"),v.push("}"));u&&n._occlusionMap&&(v.push("uniform sampler2D occlusionMap;"),n._occlusionMap._state.matrix&&v.push("uniform mat4 occlusionMapMatrix;"));u&&n._alphaMap&&(v.push("uniform sampler2D alphaMap;"),n._alphaMap._state.matrix&&v.push("uniform mat4 alphaMapMatrix;"));l&&u&&n._specularMap&&(v.push("uniform sampler2D specularMap;"),n._specularMap._state.matrix&&v.push("uniform mat4 specularMapMatrix;"));l&&u&&n._glossinessMap&&(v.push("uniform sampler2D glossinessMap;"),n._glossinessMap._state.matrix&&v.push("uniform mat4 glossinessMapMatrix;"));l&&u&&n._specularGlossinessMap&&(v.push("uniform sampler2D materialSpecularGlossinessMap;"),n._specularGlossinessMap._state.matrix&&v.push("uniform mat4 materialSpecularGlossinessMapMatrix;"));l&&(n._diffuseFresnel||n._specularFresnel||n._alphaFresnel||n._emissiveFresnel||n._reflectivityFresnel)&&(v.push("float fresnel(vec3 eyeDir, vec3 normal, float edgeBias, float centerBias, float power) {"),v.push(" float fr = abs(dot(eyeDir, normal));"),v.push(" float finalFr = clamp((fr - edgeBias) / (centerBias - edgeBias), 0.0, 1.0);"),v.push(" return pow(finalFr, power);"),v.push("}"),n._diffuseFresnel&&(v.push("uniform float diffuseFresnelCenterBias;"),v.push("uniform float diffuseFresnelEdgeBias;"),v.push("uniform float diffuseFresnelPower;"),v.push("uniform vec3 diffuseFresnelCenterColor;"),v.push("uniform vec3 diffuseFresnelEdgeColor;")),n._specularFresnel&&(v.push("uniform float specularFresnelCenterBias;"),v.push("uniform float specularFresnelEdgeBias;"),v.push("uniform float specularFresnelPower;"),v.push("uniform vec3 specularFresnelCenterColor;"),v.push("uniform vec3 specularFresnelEdgeColor;")),n._alphaFresnel&&(v.push("uniform float alphaFresnelCenterBias;"),v.push("uniform float alphaFresnelEdgeBias;"),v.push("uniform float alphaFresnelPower;"),v.push("uniform vec3 alphaFresnelCenterColor;"),v.push("uniform vec3 alphaFresnelEdgeColor;")),n._reflectivityFresnel&&(v.push("uniform float materialSpecularF0FresnelCenterBias;"),v.push("uniform float materialSpecularF0FresnelEdgeBias;"),v.push("uniform float materialSpecularF0FresnelPower;"),v.push("uniform vec3 materialSpecularF0FresnelCenterColor;"),v.push("uniform vec3 materialSpecularF0FresnelEdgeColor;")),n._emissiveFresnel&&(v.push("uniform float emissiveFresnelCenterBias;"),v.push("uniform float emissiveFresnelEdgeBias;"),v.push("uniform float emissiveFresnelPower;"),v.push("uniform vec3 emissiveFresnelCenterColor;"),v.push("uniform vec3 emissiveFresnelEdgeColor;")));if(v.push("uniform vec4 lightAmbient;"),l)for(var I=0,y=a.lights.length;I 0.0) { discard; }"),v.push("}")}"points"===r.primitiveName&&(v.push("vec2 cxy = 2.0 * gl_PointCoord - 1.0;"),v.push("float r = dot(cxy, cxy);"),v.push("if (r > 1.0) {"),v.push(" discard;"),v.push("}"));v.push("float occlusion = 1.0;"),s.ambient?v.push("vec3 ambientColor = materialAmbient;"):v.push("vec3 ambientColor = vec3(1.0, 1.0, 1.0);");s.diffuse?v.push("vec3 diffuseColor = materialDiffuse;"):s.baseColor?v.push("vec3 diffuseColor = materialBaseColor;"):v.push("vec3 diffuseColor = vec3(1.0, 1.0, 1.0);");r.colors&&v.push("diffuseColor *= vColor.rgb;");s.emissive?v.push("vec3 emissiveColor = materialEmissive;"):v.push("vec3 emissiveColor = vec3(0.0, 0.0, 0.0);");s.specular?v.push("vec3 specular = materialSpecular;"):v.push("vec3 specular = vec3(1.0, 1.0, 1.0);");void 0!==s.alpha?v.push("float alpha = materialAlphaModeCutoff[0];"):v.push("float alpha = 1.0;");r.colors&&v.push("alpha *= vColor.a;");void 0!==s.glossiness?v.push("float glossiness = materialGlossiness;"):v.push("float glossiness = 1.0;");void 0!==s.metallic?v.push("float metallic = materialMetallic;"):v.push("float metallic = 1.0;");void 0!==s.roughness?v.push("float roughness = materialRoughness;"):v.push("float roughness = 1.0;");void 0!==s.specularF0?v.push("float specularF0 = materialSpecularF0;"):v.push("float specularF0 = 1.0;");u&&(l&&n._normalMap||n._ambientMap||n._baseColorMap||n._diffuseMap||n._occlusionMap||n._emissiveMap||n._metallicMap||n._roughnessMap||n._metallicRoughnessMap||n._specularMap||n._glossinessMap||n._specularGlossinessMap||n._alphaMap)&&(v.push("vec4 texturePos = vec4(vUV.s, vUV.t, 1.0, 1.0);"),v.push("vec2 textureCoord;"));u&&n._ambientMap&&(n._ambientMap._state.matrix?v.push("textureCoord = (ambientMapMatrix * texturePos).xy;"):v.push("textureCoord = texturePos.xy;"),v.push("vec4 ambientTexel = texture(ambientMap, textureCoord).rgb;"),v.push("ambientTexel = "+li[n._ambientMap._state.encoding]+"(ambientTexel);"),v.push("ambientColor *= ambientTexel.rgb;"));u&&n._diffuseMap&&(n._diffuseMap._state.matrix?v.push("textureCoord = (diffuseMapMatrix * texturePos).xy;"):v.push("textureCoord = texturePos.xy;"),v.push("vec4 diffuseTexel = texture(diffuseMap, textureCoord);"),v.push("diffuseTexel = "+li[n._diffuseMap._state.encoding]+"(diffuseTexel);"),v.push("diffuseColor *= diffuseTexel.rgb;"),v.push("alpha *= diffuseTexel.a;"));u&&n._baseColorMap&&(n._baseColorMap._state.matrix?v.push("textureCoord = (baseColorMapMatrix * texturePos).xy;"):v.push("textureCoord = texturePos.xy;"),v.push("vec4 baseColorTexel = texture(baseColorMap, textureCoord);"),v.push("baseColorTexel = "+li[n._baseColorMap._state.encoding]+"(baseColorTexel);"),v.push("diffuseColor *= baseColorTexel.rgb;"),v.push("alpha *= baseColorTexel.a;"));u&&n._emissiveMap&&(n._emissiveMap._state.matrix?v.push("textureCoord = (emissiveMapMatrix * texturePos).xy;"):v.push("textureCoord = texturePos.xy;"),v.push("vec4 emissiveTexel = texture(emissiveMap, textureCoord);"),v.push("emissiveTexel = "+li[n._emissiveMap._state.encoding]+"(emissiveTexel);"),v.push("emissiveColor = emissiveTexel.rgb;"));u&&n._alphaMap&&(n._alphaMap._state.matrix?v.push("textureCoord = (alphaMapMatrix * texturePos).xy;"):v.push("textureCoord = texturePos.xy;"),v.push("alpha *= texture(alphaMap, textureCoord).r;"));u&&n._occlusionMap&&(n._occlusionMap._state.matrix?v.push("textureCoord = (occlusionMapMatrix * texturePos).xy;"):v.push("textureCoord = texturePos.xy;"),v.push("occlusion *= texture(occlusionMap, textureCoord).r;"));if(l&&(a.lights.length>0||a.lightMaps.length>0||a.reflectionMaps.length>0)){u&&n._normalMap?(n._normalMap._state.matrix?v.push("textureCoord = (normalMapMatrix * texturePos).xy;"):v.push("textureCoord = texturePos.xy;"),v.push("vec3 viewNormal = perturbNormal2Arb( vViewPosition, normalize(vViewNormal), textureCoord );")):v.push("vec3 viewNormal = normalize(vViewNormal);"),u&&n._specularMap&&(n._specularMap._state.matrix?v.push("textureCoord = (specularMapMatrix * texturePos).xy;"):v.push("textureCoord = texturePos.xy;"),v.push("specular *= texture(specularMap, textureCoord).rgb;")),u&&n._glossinessMap&&(n._glossinessMap._state.matrix?v.push("textureCoord = (glossinessMapMatrix * texturePos).xy;"):v.push("textureCoord = texturePos.xy;"),v.push("glossiness *= texture(glossinessMap, textureCoord).r;")),u&&n._specularGlossinessMap&&(n._specularGlossinessMap._state.matrix?v.push("textureCoord = (materialSpecularGlossinessMapMatrix * texturePos).xy;"):v.push("textureCoord = texturePos.xy;"),v.push("vec4 specGlossRGB = texture(materialSpecularGlossinessMap, textureCoord).rgba;"),v.push("specular *= specGlossRGB.rgb;"),v.push("glossiness *= specGlossRGB.a;")),u&&n._metallicMap&&(n._metallicMap._state.matrix?v.push("textureCoord = (metallicMapMatrix * texturePos).xy;"):v.push("textureCoord = texturePos.xy;"),v.push("metallic *= texture(metallicMap, textureCoord).r;")),u&&n._roughnessMap&&(n._roughnessMap._state.matrix?v.push("textureCoord = (roughnessMapMatrix * texturePos).xy;"):v.push("textureCoord = texturePos.xy;"),v.push("roughness *= texture(roughnessMap, textureCoord).r;")),u&&n._metallicRoughnessMap&&(n._metallicRoughnessMap._state.matrix?v.push("textureCoord = (metallicRoughnessMapMatrix * texturePos).xy;"):v.push("textureCoord = texturePos.xy;"),v.push("vec3 metalRoughRGB = texture(metallicRoughnessMap, textureCoord).rgb;"),v.push("metallic *= metalRoughRGB.b;"),v.push("roughness *= metalRoughRGB.g;")),v.push("vec3 viewEyeDir = normalize(-vViewPosition);"),n._diffuseFresnel&&(v.push("float diffuseFresnel = fresnel(viewEyeDir, viewNormal, diffuseFresnelEdgeBias, diffuseFresnelCenterBias, diffuseFresnelPower);"),v.push("diffuseColor *= mix(diffuseFresnelEdgeColor, diffuseFresnelCenterColor, diffuseFresnel);")),n._specularFresnel&&(v.push("float specularFresnel = fresnel(viewEyeDir, viewNormal, specularFresnelEdgeBias, specularFresnelCenterBias, specularFresnelPower);"),v.push("specular *= mix(specularFresnelEdgeColor, specularFresnelCenterColor, specularFresnel);")),n._alphaFresnel&&(v.push("float alphaFresnel = fresnel(viewEyeDir, viewNormal, alphaFresnelEdgeBias, alphaFresnelCenterBias, alphaFresnelPower);"),v.push("alpha *= mix(alphaFresnelEdgeColor.r, alphaFresnelCenterColor.r, alphaFresnel);")),n._emissiveFresnel&&(v.push("float emissiveFresnel = fresnel(viewEyeDir, viewNormal, emissiveFresnelEdgeBias, emissiveFresnelCenterBias, emissiveFresnelPower);"),v.push("emissiveColor *= mix(emissiveFresnelEdgeColor, emissiveFresnelCenterColor, emissiveFresnel);")),v.push("if (materialAlphaModeCutoff[1] == 1.0 && alpha < materialAlphaModeCutoff[2]) {"),v.push(" discard;"),v.push("}"),v.push("IncidentLight light;"),v.push("Material material;"),v.push("Geometry geometry;"),v.push("ReflectedLight reflectedLight = ReflectedLight(vec3(0.0,0.0,0.0), vec3(0.0,0.0,0.0));"),v.push("vec3 viewLightDir;"),c&&(v.push("material.diffuseColor = diffuseColor;"),v.push("material.specularColor = specular;"),v.push("material.shine = materialShininess;")),p&&(v.push("float oneMinusSpecularStrength = 1.0 - max(max(specular.r, specular.g ),specular.b);"),v.push("material.diffuseColor = diffuseColor * oneMinusSpecularStrength;"),v.push("material.specularRoughness = clamp( 1.0 - glossiness, 0.04, 1.0 );"),v.push("material.specularColor = specular;")),f&&(v.push("float dielectricSpecular = 0.16 * specularF0 * specularF0;"),v.push("material.diffuseColor = diffuseColor * (1.0 - dielectricSpecular) * (1.0 - metallic);"),v.push("material.specularRoughness = clamp(roughness, 0.04, 1.0);"),v.push("material.specularColor = mix(vec3(dielectricSpecular), diffuseColor, metallic);")),v.push("geometry.position = vViewPosition;"),a.lightMaps.length>0&&v.push("geometry.worldNormal = normalize(vWorldNormal);"),v.push("geometry.viewNormal = viewNormal;"),v.push("geometry.viewEyeDir = viewEyeDir;"),c&&(a.lightMaps.length>0||a.reflectionMaps.length>0)&&v.push("computePhongLightMapping(geometry, material, reflectedLight);"),(p||f)&&(a.lightMaps.length>0||a.reflectionMaps.length>0)&&v.push("computePBRLightMapping(geometry, material, reflectedLight);"),v.push("float shadow = 1.0;"),v.push("float shadowAcneRemover = 0.007;"),v.push("vec3 fragmentDepth;"),v.push("float texelSize = 1.0 / 1024.0;"),v.push("float amountInLight = 0.0;"),v.push("vec3 shadowCoord;"),v.push("vec4 rgbaDepth;"),v.push("float depth;");for(var E=0,T=a.lights.length;E0)for(var v=r._sectionPlanesState.sectionPlanes,h=t.renderFlags,I=0;I0&&(this._uLightMap="lightMap"),i.reflectionMaps.length>0&&(this._uReflectionMap="reflectionMap"),this._uSectionPlanes=[];for(c=0,f=a.sectionPlanes.length;c0&&a.lightMaps[0].texture&&this._uLightMap&&(o.bindTexture(this._uLightMap,a.lightMaps[0].texture,e.textureUnit),e.textureUnit=(e.textureUnit+1)%n,e.bindTexture++),a.reflectionMaps.length>0&&a.reflectionMaps[0].texture&&this._uReflectionMap&&(o.bindTexture(this._uReflectionMap,a.reflectionMaps[0].texture,e.textureUnit),e.textureUnit=(e.textureUnit+1)%n,e.bindTexture++),this._uGammaFactor&&i.uniform1f(this._uGammaFactor,r.gammaFactor),this._baseTextureUnit=e.textureUnit};var vi=P((function e(t){b(this,e),this.vertex=function(e){var t=e.scene,n=t._lightsState,r=function(e){var t=e._geometry._state.primitiveName;if((e._geometry._state.autoVertexNormals||e._geometry._state.normalsBuf)&&("triangles"===t||"triangle-strip"===t||"triangle-fan"===t))return!0;return!1}(e),i=t._sectionPlanesState.sectionPlanes.length>0,a=!!e._geometry._state.compressGeometry,s=e._state.billboard,o=e._state.stationary,l=[];l.push("#version 300 es"),l.push("// EmphasisFillShaderSource vertex shader"),l.push("in vec3 position;"),l.push("uniform mat4 modelMatrix;"),l.push("uniform mat4 viewMatrix;"),l.push("uniform mat4 projMatrix;"),l.push("uniform vec4 colorize;"),l.push("uniform vec3 offset;"),a&&l.push("uniform mat4 positionsDecodeMatrix;");t.logarithmicDepthBufferEnabled&&(l.push("uniform float logDepthBufFC;"),l.push("out float vFragDepth;"),l.push("bool isPerspectiveMatrix(mat4 m) {"),l.push(" return (m[2][3] == - 1.0);"),l.push("}"),l.push("out float isPerspective;"));i&&l.push("out vec4 vWorldPosition;");if(l.push("uniform vec4 lightAmbient;"),l.push("uniform vec4 fillColor;"),r){l.push("in vec3 normal;"),l.push("uniform mat4 modelNormalMatrix;"),l.push("uniform mat4 viewNormalMatrix;");for(var u=0,c=n.lights.length;u= 0.0 ? 1.0 : -1.0, v.y >= 0.0 ? 1.0 : -1.0);"),l.push(" }"),l.push(" return normalize(v);"),l.push("}"))}l.push("out vec4 vColor;"),("spherical"===s||"cylindrical"===s)&&(l.push("void billboard(inout mat4 mat) {"),l.push(" mat[0][0] = 1.0;"),l.push(" mat[0][1] = 0.0;"),l.push(" mat[0][2] = 0.0;"),"spherical"===s&&(l.push(" mat[1][0] = 0.0;"),l.push(" mat[1][1] = 1.0;"),l.push(" mat[1][2] = 0.0;")),l.push(" mat[2][0] = 0.0;"),l.push(" mat[2][1] = 0.0;"),l.push(" mat[2][2] =1.0;"),l.push("}"));l.push("void main(void) {"),l.push("vec4 localPosition = vec4(position, 1.0); "),l.push("vec4 worldPosition;"),a&&l.push("localPosition = positionsDecodeMatrix * localPosition;");r&&(a?l.push("vec4 localNormal = vec4(octDecode(normal.xy), 0.0); "):l.push("vec4 localNormal = vec4(normal, 0.0); "),l.push("mat4 modelNormalMatrix2 = modelNormalMatrix;"),l.push("mat4 viewNormalMatrix2 = viewNormalMatrix;"));l.push("mat4 viewMatrix2 = viewMatrix;"),l.push("mat4 modelMatrix2 = modelMatrix;"),o&&l.push("viewMatrix2[3][0] = viewMatrix2[3][1] = viewMatrix2[3][2] = 0.0;");"spherical"===s||"cylindrical"===s?(l.push("mat4 modelViewMatrix = viewMatrix2 * modelMatrix2;"),l.push("billboard(modelMatrix2);"),l.push("billboard(viewMatrix2);"),l.push("billboard(modelViewMatrix);"),r&&(l.push("mat4 modelViewNormalMatrix = viewNormalMatrix2 * modelNormalMatrix2;"),l.push("billboard(modelNormalMatrix2);"),l.push("billboard(viewNormalMatrix2);"),l.push("billboard(modelViewNormalMatrix);")),l.push("worldPosition = modelMatrix2 * localPosition;"),l.push("vec4 viewPosition = modelViewMatrix * localPosition;")):(l.push("worldPosition = modelMatrix2 * localPosition;"),l.push("worldPosition.xyz = worldPosition.xyz + offset;"),l.push("vec4 viewPosition = viewMatrix2 * worldPosition; "));r&&l.push("vec3 viewNormal = normalize((viewNormalMatrix2 * modelNormalMatrix2 * localNormal).xyz);");if(l.push("vec3 reflectedColor = vec3(0.0, 0.0, 0.0);"),l.push("vec3 viewLightDir = vec3(0.0, 0.0, -1.0);"),l.push("float lambertian = 1.0;"),r)for(var p=0,A=n.lights.length;p0,a=[];a.push("#version 300 es"),a.push("// Lambertian drawing fragment shader"),a.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),a.push("precision highp float;"),a.push("precision highp int;"),a.push("#else"),a.push("precision mediump float;"),a.push("precision mediump int;"),a.push("#endif"),t.logarithmicDepthBufferEnabled&&(a.push("in float isPerspective;"),a.push("uniform float logDepthBufFC;"),a.push("in float vFragDepth;"));r&&(a.push("uniform float gammaFactor;"),a.push("vec4 linearToGamma( in vec4 value, in float gammaFactor ) {"),a.push(" return vec4( pow( value.xyz, vec3( 1.0 / gammaFactor ) ), value.w );"),a.push("}"));if(i){a.push("in vec4 vWorldPosition;"),a.push("uniform bool clippable;");for(var s=0,o=n.getNumAllocatedSectionPlanes();s 0.0) { discard; }"),a.push("}")}"points"===e._geometry._state.primitiveName&&(a.push("vec2 cxy = 2.0 * gl_PointCoord - 1.0;"),a.push("float r = dot(cxy, cxy);"),a.push("if (r > 1.0) {"),a.push(" discard;"),a.push("}"));t.logarithmicDepthBufferEnabled&&a.push("gl_FragDepth = isPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5;");r?a.push("outColor = linearToGamma(vColor, gammaFactor);"):a.push("outColor = vColor;");return a.push("}"),a}(t)}));var hi=new G({}),Ii=$.vec3(),yi=function(e,t){this.id=hi.addItem({}),this._hash=e,this._scene=t.scene,this._useCount=0,this._shaderSource=new vi(t),this._allocate(t)},mi={};yi.get=function(e){var t=[e.scene.id,e.scene.gammaOutput?"go":"",e.scene._sectionPlanesState.getHash(),e._geometry._state.normalsBuf?"n":"",e._geometry._state.compressGeometry?"cp":"",e._state.hash].join(";"),n=mi[t];return n||(n=new yi(t,e),mi[t]=n,re.memory.programs++),n._useCount++,n},yi.prototype.put=function(){0==--this._useCount&&(hi.removeItem(this.id),this._program&&this._program.destroy(),delete mi[this._hash],re.memory.programs--)},yi.prototype.webglContextRestored=function(){this._program=null},yi.prototype.drawMesh=function(e,t,n){this._program||this._allocate(t);var r=this._scene,i=r.camera,a=r.canvas.gl,s=0===n?t._xrayMaterial._state:1===n?t._highlightMaterial._state:t._selectedMaterial._state,o=t._state,l=t._geometry._state,u=t.origin;if(e.lastProgramId!==this._program.id&&(e.lastProgramId=this._program.id,this._bindProgram(e)),a.uniformMatrix4fv(this._uViewMatrix,!1,u?e.getRTCViewMatrix(o.originHash,u):i.viewMatrix),a.uniformMatrix4fv(this._uViewNormalMatrix,!1,i.viewNormalMatrix),o.clippable){var c=r._sectionPlanesState.getNumAllocatedSectionPlanes(),f=r._sectionPlanesState.sectionPlanes.length;if(c>0)for(var p=r._sectionPlanesState.sectionPlanes,A=t.renderFlags,d=0;d0,r=!!e._geometry._state.compressGeometry,i=e._state.billboard,a=e._state.stationary,s=[];s.push("#version 300 es"),s.push("// Edges drawing vertex shader"),s.push("in vec3 position;"),s.push("uniform mat4 modelMatrix;"),s.push("uniform mat4 viewMatrix;"),s.push("uniform mat4 projMatrix;"),s.push("uniform vec4 edgeColor;"),s.push("uniform vec3 offset;"),r&&s.push("uniform mat4 positionsDecodeMatrix;");t.logarithmicDepthBufferEnabled&&(s.push("uniform float logDepthBufFC;"),s.push("out float vFragDepth;"),s.push("bool isPerspectiveMatrix(mat4 m) {"),s.push(" return (m[2][3] == - 1.0);"),s.push("}"),s.push("out float isPerspective;"));n&&s.push("out vec4 vWorldPosition;");s.push("out vec4 vColor;"),("spherical"===i||"cylindrical"===i)&&(s.push("void billboard(inout mat4 mat) {"),s.push(" mat[0][0] = 1.0;"),s.push(" mat[0][1] = 0.0;"),s.push(" mat[0][2] = 0.0;"),"spherical"===i&&(s.push(" mat[1][0] = 0.0;"),s.push(" mat[1][1] = 1.0;"),s.push(" mat[1][2] = 0.0;")),s.push(" mat[2][0] = 0.0;"),s.push(" mat[2][1] = 0.0;"),s.push(" mat[2][2] =1.0;"),s.push("}"));s.push("void main(void) {"),s.push("vec4 localPosition = vec4(position, 1.0); "),s.push("vec4 worldPosition;"),r&&s.push("localPosition = positionsDecodeMatrix * localPosition;");s.push("mat4 viewMatrix2 = viewMatrix;"),s.push("mat4 modelMatrix2 = modelMatrix;"),a&&s.push("viewMatrix2[3][0] = viewMatrix2[3][1] = viewMatrix2[3][2] = 0.0;");"spherical"===i||"cylindrical"===i?(s.push("mat4 modelViewMatrix = viewMatrix2 * modelMatrix2;"),s.push("billboard(modelMatrix2);"),s.push("billboard(viewMatrix2);"),s.push("billboard(modelViewMatrix);"),s.push("worldPosition = modelMatrix2 * localPosition;"),s.push("worldPosition.xyz = worldPosition.xyz + offset;"),s.push("vec4 viewPosition = modelViewMatrix * localPosition;")):(s.push("worldPosition = modelMatrix2 * localPosition;"),s.push("worldPosition.xyz = worldPosition.xyz + offset;"),s.push("vec4 viewPosition = viewMatrix2 * worldPosition; "));s.push("vColor = edgeColor;"),n&&s.push("vWorldPosition = worldPosition;");s.push("vec4 clipPos = projMatrix * viewPosition;"),t.logarithmicDepthBufferEnabled&&(s.push("vFragDepth = 1.0 + clipPos.w;"),s.push("isPerspective = float (isPerspectiveMatrix(projMatrix));"));return s.push("gl_Position = clipPos;"),s.push("}"),s}(t),this.fragment=function(e){var t=e.scene,n=e.scene._sectionPlanesState,r=e.scene.gammaOutput,i=n.getNumAllocatedSectionPlanes()>0,a=[];a.push("#version 300 es"),a.push("// Edges drawing fragment shader"),a.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),a.push("precision highp float;"),a.push("precision highp int;"),a.push("#else"),a.push("precision mediump float;"),a.push("precision mediump int;"),a.push("#endif"),t.logarithmicDepthBufferEnabled&&(a.push("in float isPerspective;"),a.push("uniform float logDepthBufFC;"),a.push("in float vFragDepth;"));r&&(a.push("uniform float gammaFactor;"),a.push("vec4 linearToGamma( in vec4 value, in float gammaFactor ) {"),a.push(" return vec4( pow( value.xyz, vec3( 1.0 / gammaFactor ) ), value.w );"),a.push("}"));if(i){a.push("in vec4 vWorldPosition;"),a.push("uniform bool clippable;");for(var s=0,o=n.getNumAllocatedSectionPlanes();s 0.0) { discard; }"),a.push("}")}t.logarithmicDepthBufferEnabled&&a.push("gl_FragDepth = isPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5;");r?a.push("outColor = linearToGamma(vColor, gammaFactor);"):a.push("outColor = vColor;");return a.push("}"),a}(t)}));var gi=new G({}),Ei=$.vec3(),Ti=function(e,t){this.id=gi.addItem({}),this._hash=e,this._scene=t.scene,this._useCount=0,this._shaderSource=new wi(t),this._allocate(t)},bi={};Ti.get=function(e){var t=[e.scene.id,e.scene.gammaOutput?"go":"",e.scene._sectionPlanesState.getHash(),e._geometry._state.compressGeometry?"cp":"",e._state.hash].join(";"),n=bi[t];return n||(n=new Ti(t,e),bi[t]=n,re.memory.programs++),n._useCount++,n},Ti.prototype.put=function(){0==--this._useCount&&(gi.removeItem(this.id),this._program&&this._program.destroy(),delete bi[this._hash],re.memory.programs--)},Ti.prototype.webglContextRestored=function(){this._program=null},Ti.prototype.drawMesh=function(e,t,n){this._program||this._allocate(t);var r,i,a=this._scene,s=a.camera,o=a.canvas.gl,l=t._state,u=t._geometry,c=u._state,f=t.origin;if(e.lastProgramId!==this._program.id&&(e.lastProgramId=this._program.id,this._bindProgram(e)),o.uniformMatrix4fv(this._uViewMatrix,!1,f?e.getRTCViewMatrix(l.originHash,f):s.viewMatrix),l.clippable){var p=a._sectionPlanesState.getNumAllocatedSectionPlanes(),A=a._sectionPlanesState.sectionPlanes.length;if(p>0)for(var d=a._sectionPlanesState.sectionPlanes,v=t.renderFlags,h=0;h0,r=!!e._geometry._state.compressGeometry,i=e._state.billboard,a=e._state.stationary,s=[];s.push("#version 300 es"),s.push("// Mesh picking vertex shader"),s.push("in vec3 position;"),s.push("uniform mat4 modelMatrix;"),s.push("uniform mat4 viewMatrix;"),s.push("uniform mat4 projMatrix;"),s.push("out vec4 vViewPosition;"),s.push("uniform vec3 offset;"),r&&s.push("uniform mat4 positionsDecodeMatrix;");n&&s.push("out vec4 vWorldPosition;");t.logarithmicDepthBufferEnabled&&(s.push("uniform float logDepthBufFC;"),s.push("out float vFragDepth;"),s.push("bool isPerspectiveMatrix(mat4 m) {"),s.push(" return (m[2][3] == - 1.0);"),s.push("}"),s.push("out float isPerspective;"));"spherical"!==i&&"cylindrical"!==i||(s.push("void billboard(inout mat4 mat) {"),s.push(" mat[0][0] = 1.0;"),s.push(" mat[0][1] = 0.0;"),s.push(" mat[0][2] = 0.0;"),"spherical"===i&&(s.push(" mat[1][0] = 0.0;"),s.push(" mat[1][1] = 1.0;"),s.push(" mat[1][2] = 0.0;")),s.push(" mat[2][0] = 0.0;"),s.push(" mat[2][1] = 0.0;"),s.push(" mat[2][2] =1.0;"),s.push("}"));s.push("uniform vec2 pickClipPos;"),s.push("vec4 remapClipPos(vec4 clipPos) {"),s.push(" clipPos.xy /= clipPos.w;"),s.push(" clipPos.xy -= pickClipPos;"),s.push(" clipPos.xy *= clipPos.w;"),s.push(" return clipPos;"),s.push("}"),s.push("void main(void) {"),s.push("vec4 localPosition = vec4(position, 1.0); "),r&&s.push("localPosition = positionsDecodeMatrix * localPosition;");s.push("mat4 viewMatrix2 = viewMatrix;"),s.push("mat4 modelMatrix2 = modelMatrix;"),a&&s.push("viewMatrix2[3][0] = viewMatrix2[3][1] = viewMatrix2[3][2] = 0.0;");"spherical"!==i&&"cylindrical"!==i||(s.push("mat4 modelViewMatrix = viewMatrix2 * modelMatrix2;"),s.push("billboard(modelMatrix2);"),s.push("billboard(viewMatrix2);"));s.push(" vec4 worldPosition = modelMatrix2 * localPosition;"),s.push(" worldPosition.xyz = worldPosition.xyz + offset;"),s.push(" vec4 viewPosition = viewMatrix2 * worldPosition;"),n&&s.push(" vWorldPosition = worldPosition;");s.push("vec4 clipPos = projMatrix * viewPosition;"),t.logarithmicDepthBufferEnabled&&(s.push("vFragDepth = 1.0 + clipPos.w;"),s.push("isPerspective = float (isPerspectiveMatrix(projMatrix));"));return s.push("gl_Position = remapClipPos(clipPos);"),s.push("}"),s}(t),this.fragment=function(e){var t=e.scene,n=t._sectionPlanesState,r=n.getNumAllocatedSectionPlanes()>0,i=[];i.push("#version 300 es"),i.push("// Mesh picking fragment shader"),i.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),i.push("precision highp float;"),i.push("precision highp int;"),i.push("#else"),i.push("precision mediump float;"),i.push("precision mediump int;"),i.push("#endif"),t.logarithmicDepthBufferEnabled&&(i.push("in float isPerspective;"),i.push("uniform float logDepthBufFC;"),i.push("in float vFragDepth;"));if(i.push("uniform vec4 pickColor;"),r){i.push("uniform bool clippable;"),i.push("in vec4 vWorldPosition;");for(var a=0;a 0.0) { discard; }"),i.push("}")}t.logarithmicDepthBufferEnabled&&i.push("gl_FragDepth = isPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5;");return i.push(" outColor = pickColor; "),i.push("}"),i}(t)}));var Pi=$.vec3(),Ri=function(e,t){this._hash=e,this._shaderSource=new Di(t),this._scene=t.scene,this._useCount=0,this._allocate(t)},Ci={};Ri.get=function(e){var t=[e.scene.canvas.canvas.id,e.scene._sectionPlanesState.getHash(),e._geometry._state.hash,e._state.hash].join(";"),n=Ci[t];if(!n){if((n=new Ri(t,e)).errors)return console.log(n.errors.join("\n")),null;Ci[t]=n,re.memory.programs++}return n._useCount++,n},Ri.prototype.put=function(){0==--this._useCount&&(this._program&&this._program.destroy(),delete Ci[this._hash],re.memory.programs--)},Ri.prototype.webglContextRestored=function(){this._program=null},Ri.prototype.drawMesh=function(e,t){this._program||this._allocate(t);var n=this._scene,r=n.canvas.gl,i=t._state,a=t._material._state,s=t._geometry._state,o=t.origin;if(e.lastProgramId!==this._program.id&&(e.lastProgramId=this._program.id,this._bindProgram(e)),r.uniformMatrix4fv(this._uViewMatrix,!1,o?e.getRTCPickViewMatrix(i.originHash,o):e.pickViewMatrix),i.clippable){var l=n._sectionPlanesState.getNumAllocatedSectionPlanes(),u=n._sectionPlanesState.sectionPlanes.length;if(l>0)for(var c=n._sectionPlanesState.sectionPlanes,f=t.renderFlags,p=0;p>24&255,g=m>>16&255,E=m>>8&255,T=255&m;r.uniform4f(this._uPickColor,T/255,E/255,g/255,w/255),r.uniform2fv(this._uPickClipPos,e.pickClipPos),s.indicesBuf?(r.drawElements(s.primitive,s.indicesBuf.numItems,s.indicesBuf.itemType,0),e.drawElements++):s.positions&&r.drawArrays(r.TRIANGLES,0,s.positions.numItems)},Ri.prototype._allocate=function(e){var t=e.scene,n=t.canvas.gl;if(this._program=new bt(n,this._shaderSource),this._program.errors)this.errors=this._program.errors;else{var r=this._program;this._uPositionsDecodeMatrix=r.getLocation("positionsDecodeMatrix"),this._uModelMatrix=r.getLocation("modelMatrix"),this._uViewMatrix=r.getLocation("viewMatrix"),this._uProjMatrix=r.getLocation("projMatrix"),this._uSectionPlanes=[];for(var i=0,a=t._sectionPlanesState.sectionPlanes.length;i0,r=!!e._geometry._state.compressGeometry,i=[];i.push("#version 300 es"),i.push("// Surface picking vertex shader"),i.push("in vec3 position;"),i.push("in vec4 color;"),i.push("uniform mat4 modelMatrix;"),i.push("uniform mat4 viewMatrix;"),i.push("uniform mat4 projMatrix;"),i.push("uniform vec3 offset;"),n&&(i.push("uniform bool clippable;"),i.push("out vec4 vWorldPosition;"));t.logarithmicDepthBufferEnabled&&(i.push("uniform float logDepthBufFC;"),i.push("out float vFragDepth;"),i.push("bool isPerspectiveMatrix(mat4 m) {"),i.push(" return (m[2][3] == - 1.0);"),i.push("}"),i.push("out float isPerspective;"));i.push("uniform vec2 pickClipPos;"),i.push("vec4 remapClipPos(vec4 clipPos) {"),i.push(" clipPos.xy /= clipPos.w;"),i.push(" clipPos.xy -= pickClipPos;"),i.push(" clipPos.xy *= clipPos.w;"),i.push(" return clipPos;"),i.push("}"),i.push("out vec4 vColor;"),r&&i.push("uniform mat4 positionsDecodeMatrix;");i.push("void main(void) {"),i.push("vec4 localPosition = vec4(position, 1.0); "),r&&i.push("localPosition = positionsDecodeMatrix * localPosition;");i.push(" vec4 worldPosition = modelMatrix * localPosition; "),i.push(" worldPosition.xyz = worldPosition.xyz + offset;"),i.push(" vec4 viewPosition = viewMatrix * worldPosition;"),n&&i.push(" vWorldPosition = worldPosition;");i.push(" vColor = color;"),i.push("vec4 clipPos = projMatrix * viewPosition;"),t.logarithmicDepthBufferEnabled&&(i.push("vFragDepth = 1.0 + clipPos.w;"),i.push("isPerspective = float (isPerspectiveMatrix(projMatrix));"));return i.push("gl_Position = remapClipPos(clipPos);"),i.push("}"),i}(t),this.fragment=function(e){var t=e.scene,n=t._sectionPlanesState,r=n.getNumAllocatedSectionPlanes()>0,i=[];i.push("#version 300 es"),i.push("// Surface picking fragment shader"),i.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),i.push("precision highp float;"),i.push("precision highp int;"),i.push("#else"),i.push("precision mediump float;"),i.push("precision mediump int;"),i.push("#endif"),i.push("in vec4 vColor;"),t.logarithmicDepthBufferEnabled&&(i.push("in float isPerspective;"),i.push("uniform float logDepthBufFC;"),i.push("in float vFragDepth;"));if(r){i.push("uniform bool clippable;"),i.push("in vec4 vWorldPosition;");for(var a=0;a 0.0) { discard; }"),i.push("}")}t.logarithmicDepthBufferEnabled&&i.push("gl_FragDepth = isPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5;");return i.push(" outColor = vColor;"),i.push("}"),i}(t)}));var Bi=$.vec3(),Oi=function(e,t){this._hash=e,this._scene=t.scene,this._useCount=0,this._shaderSource=new _i(t),this._allocate(t)},Si={};Oi.get=function(e){var t=[e.scene.canvas.canvas.id,e.scene._sectionPlanesState.getHash(),e._geometry._state.compressGeometry?"cp":"",e._state.hash].join(";"),n=Si[t];if(!n){if((n=new Oi(t,e)).errors)return console.log(n.errors.join("\n")),null;Si[t]=n,re.memory.programs++}return n._useCount++,n},Oi.prototype.put=function(){0==--this._useCount&&(this._program&&this._program.destroy(),delete Si[this._hash],re.memory.programs--)},Oi.prototype.webglContextRestored=function(){this._program=null},Oi.prototype.drawMesh=function(e,t){this._program||this._allocate(t);var n=this._scene,r=n.canvas.gl,i=t._state,a=t._material._state,s=t._geometry,o=t._geometry._state,l=t.origin,u=a.backfaces,c=a.frontface,f=n.camera.project,p=s._getPickTrianglePositions(),A=s._getPickTriangleColors();if(this._program.bind(),e.useProgram++,n.logarithmicDepthBufferEnabled){var d=2/(Math.log(f.far+1)/Math.LN2);r.uniform1f(this._uLogDepthBufFC,d)}if(r.uniformMatrix4fv(this._uViewMatrix,!1,l?e.getRTCPickViewMatrix(i.originHash,l):e.pickViewMatrix),i.clippable){var v=n._sectionPlanesState.getNumAllocatedSectionPlanes(),h=n._sectionPlanesState.sectionPlanes.length;if(v>0)for(var I=n._sectionPlanesState.sectionPlanes,y=t.renderFlags,m=0;m0,r=!!e._geometry._state.compressGeometry,i=e._state.billboard,a=e._state.stationary,s=[];s.push("#version 300 es"),s.push("// Mesh occlusion vertex shader"),s.push("in vec3 position;"),s.push("uniform mat4 modelMatrix;"),s.push("uniform mat4 viewMatrix;"),s.push("uniform mat4 projMatrix;"),s.push("uniform vec3 offset;"),r&&s.push("uniform mat4 positionsDecodeMatrix;");n&&s.push("out vec4 vWorldPosition;");t.logarithmicDepthBufferEnabled&&(s.push("uniform float logDepthBufFC;"),s.push("out float vFragDepth;"),s.push("bool isPerspectiveMatrix(mat4 m) {"),s.push(" return (m[2][3] == - 1.0);"),s.push("}"),s.push("out float isPerspective;"));"spherical"!==i&&"cylindrical"!==i||(s.push("void billboard(inout mat4 mat) {"),s.push(" mat[0][0] = 1.0;"),s.push(" mat[0][1] = 0.0;"),s.push(" mat[0][2] = 0.0;"),"spherical"===i&&(s.push(" mat[1][0] = 0.0;"),s.push(" mat[1][1] = 1.0;"),s.push(" mat[1][2] = 0.0;")),s.push(" mat[2][0] = 0.0;"),s.push(" mat[2][1] = 0.0;"),s.push(" mat[2][2] =1.0;"),s.push("}"));s.push("void main(void) {"),s.push("vec4 localPosition = vec4(position, 1.0); "),s.push("vec4 worldPosition;"),r&&s.push("localPosition = positionsDecodeMatrix * localPosition;");s.push("mat4 viewMatrix2 = viewMatrix;"),s.push("mat4 modelMatrix2 = modelMatrix;"),a&&s.push("viewMatrix2[3][0] = viewMatrix2[3][1] = viewMatrix2[3][2] = 0.0;");"spherical"===i||"cylindrical"===i?(s.push("mat4 modelViewMatrix = viewMatrix2 * modelMatrix2;"),s.push("billboard(modelMatrix2);"),s.push("billboard(viewMatrix2);"),s.push("billboard(modelViewMatrix);"),s.push("worldPosition = modelMatrix2 * localPosition;"),s.push("worldPosition.xyz = worldPosition.xyz + offset;"),s.push("vec4 viewPosition = modelViewMatrix * localPosition;")):(s.push("worldPosition = modelMatrix2 * localPosition;"),s.push("worldPosition.xyz = worldPosition.xyz + offset;"),s.push("vec4 viewPosition = viewMatrix2 * worldPosition; "));n&&s.push(" vWorldPosition = worldPosition;");s.push("vec4 clipPos = projMatrix * viewPosition;"),t.logarithmicDepthBufferEnabled&&(s.push("vFragDepth = 1.0 + clipPos.w;"),s.push("isPerspective = float (isPerspectiveMatrix(projMatrix));"));return s.push("gl_Position = clipPos;"),s.push("}"),s}(t),this.fragment=function(e){var t=e.scene,n=t._sectionPlanesState,r=n.getNumAllocatedSectionPlanes()>0,i=[];i.push("#version 300 es"),i.push("// Mesh occlusion fragment shader"),i.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),i.push("precision highp float;"),i.push("precision highp int;"),i.push("#else"),i.push("precision mediump float;"),i.push("precision mediump int;"),i.push("#endif"),t.logarithmicDepthBufferEnabled&&(i.push("in float isPerspective;"),i.push("uniform float logDepthBufFC;"),i.push("in float vFragDepth;"));if(r){i.push("uniform bool clippable;"),i.push("in vec4 vWorldPosition;");for(var a=0;a 0.0) { discard; }"),i.push("}")}i.push(" outColor = vec4(0.0, 0.0, 1.0, 1.0); "),t.logarithmicDepthBufferEnabled&&i.push("gl_FragDepth = isPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5;");return i.push("}"),i}(t)}));var Li=$.vec3(),Mi=function(e,t){this._hash=e,this._shaderSource=new Ni(t),this._scene=t.scene,this._useCount=0,this._allocate(t)},xi={};Mi.get=function(e){var t=[e.scene.canvas.canvas.id,e.scene._sectionPlanesState.getHash(),e._geometry._state.hash,e._state.occlusionHash].join(";"),n=xi[t];if(!n){if((n=new Mi(t,e)).errors)return console.log(n.errors.join("\n")),null;xi[t]=n,re.memory.programs++}return n._useCount++,n},Mi.prototype.put=function(){0==--this._useCount&&(this._program&&this._program.destroy(),delete xi[this._hash],re.memory.programs--)},Mi.prototype.webglContextRestored=function(){this._program=null},Mi.prototype.drawMesh=function(e,t){this._program||this._allocate(t);var n=this._scene,r=n.canvas.gl,i=t._material._state,a=t._state,s=t._geometry._state,o=t.origin;if(e.lastProgramId!==this._program.id&&(e.lastProgramId=this._program.id,this._bindProgram(e)),i.id!==this._lastMaterialId){var l=i.backfaces;e.backfaces!==l&&(l?r.disable(r.CULL_FACE):r.enable(r.CULL_FACE),e.backfaces=l);var u=i.frontface;e.frontface!==u&&(u?r.frontFace(r.CCW):r.frontFace(r.CW),e.frontface=u),this._lastMaterialId=i.id}var c=n.camera;if(r.uniformMatrix4fv(this._uViewMatrix,!1,o?e.getRTCViewMatrix(a.originHash,o):c.viewMatrix),a.clippable){var f=n._sectionPlanesState.getNumAllocatedSectionPlanes(),p=n._sectionPlanesState.sectionPlanes.length;if(f>0)for(var A=n._sectionPlanesState.sectionPlanes,d=t.renderFlags,v=0;v0,n=!!e._geometry._state.compressGeometry,r=[];r.push("// Mesh shadow vertex shader"),r.push("in vec3 position;"),r.push("uniform mat4 modelMatrix;"),r.push("uniform mat4 shadowViewMatrix;"),r.push("uniform mat4 shadowProjMatrix;"),r.push("uniform vec3 offset;"),n&&r.push("uniform mat4 positionsDecodeMatrix;");t&&r.push("out vec4 vWorldPosition;");r.push("void main(void) {"),r.push("vec4 localPosition = vec4(position, 1.0); "),r.push("vec4 worldPosition;"),n&&r.push("localPosition = positionsDecodeMatrix * localPosition;");r.push("worldPosition = modelMatrix * localPosition;"),r.push("worldPosition.xyz = worldPosition.xyz + offset;"),r.push("vec4 viewPosition = shadowViewMatrix * worldPosition; "),t&&r.push("vWorldPosition = worldPosition;");return r.push(" gl_Position = shadowProjMatrix * viewPosition;"),r.push("}"),r}(t),this.fragment=function(e){var t=e.scene;t.canvas.gl;var n=t._sectionPlanesState,r=n.getNumAllocatedSectionPlanes()>0,i=[];if(i.push("// Mesh shadow fragment shader"),i.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),i.push("precision highp float;"),i.push("precision highp int;"),i.push("#else"),i.push("precision mediump float;"),i.push("precision mediump int;"),i.push("#endif"),r){i.push("uniform bool clippable;"),i.push("in vec4 vWorldPosition;");for(var a=0;a 0.0) { discard; }"),i.push("}")}return i.push("outColor = encodeFloat(gl_FragCoord.z);"),i.push("}"),i}(t)}));var Hi=function(e,t){this._hash=e,this._shaderSource=new Fi(t),this._scene=t.scene,this._useCount=0,this._allocate(t)},Ui={};Hi.get=function(e){var t=e.scene,n=[t.canvas.canvas.id,t._sectionPlanesState.getHash(),e._geometry._state.hash,e._state.hash].join(";"),r=Ui[n];if(!r){if((r=new Hi(n,e)).errors)return console.log(r.errors.join("\n")),null;Ui[n]=r,re.memory.programs++}return r._useCount++,r},Hi.prototype.put=function(){0==--this._useCount&&(this._program&&this._program.destroy(),delete Ui[this._hash],re.memory.programs--)},Hi.prototype.webglContextRestored=function(){this._program=null},Hi.prototype.drawMesh=function(e,t){this._program||this._allocate(t);var n=this._scene.canvas.gl,r=t._material._state,i=t._geometry._state;if(e.lastProgramId!==this._program.id&&(e.lastProgramId=this._program.id,this._bindProgram(e)),r.id!==this._lastMaterialId){var a=r.backfaces;e.backfaces!==a&&(a?n.disable(n.CULL_FACE):n.enable(n.CULL_FACE),e.backfaces=a);var s=r.frontface;e.frontface!==s&&(s?n.frontFace(n.CCW):n.frontFace(n.CW),e.frontface=s),e.lineWidth!==r.lineWidth&&(n.lineWidth(r.lineWidth),e.lineWidth=r.lineWidth),this._uPointSize&&n.uniform1i(this._uPointSize,r.pointSize),this._lastMaterialId=r.id}if(n.uniformMatrix4fv(this._uModelMatrix,n.FALSE,t.worldMatrix),i.combineGeometry){var o=t.vertexBufs;o.id!==this._lastVertexBufsId&&(o.positionsBuf&&this._aPosition&&(this._aPosition.bindArrayBuffer(o.positionsBuf,o.compressGeometry?n.UNSIGNED_SHORT:n.FLOAT),e.bindArray++),this._lastVertexBufsId=o.id)}this._uClippable&&n.uniform1i(this._uClippable,t._state.clippable),n.uniform3fv(this._uOffset,t._state.offset),i.id!==this._lastGeometryId&&(this._uPositionsDecodeMatrix&&n.uniformMatrix4fv(this._uPositionsDecodeMatrix,!1,i.positionsDecodeMatrix),i.combineGeometry?i.indicesBufCombined&&(i.indicesBufCombined.bind(),e.bindArray++):(this._aPosition&&(this._aPosition.bindArrayBuffer(i.positionsBuf,i.compressGeometry?n.UNSIGNED_SHORT:n.FLOAT),e.bindArray++),i.indicesBuf&&(i.indicesBuf.bind(),e.bindArray++)),this._lastGeometryId=i.id),i.combineGeometry?i.indicesBufCombined&&(n.drawElements(i.primitive,i.indicesBufCombined.numItems,i.indicesBufCombined.itemType,0),e.drawElements++):i.indicesBuf?(n.drawElements(i.primitive,i.indicesBuf.numItems,i.indicesBuf.itemType,0),e.drawElements++):i.positions&&(n.drawArrays(n.TRIANGLES,0,i.positions.numItems),e.drawArrays++)},Hi.prototype._allocate=function(e){var t=e.scene,n=t.canvas.gl;if(this._program=new bt(n,this._shaderSource),this._scene=t,this._useCount=0,this._program.errors)this.errors=this._program.errors;else{var r=this._program;this._uPositionsDecodeMatrix=r.getLocation("positionsDecodeMatrix"),this._uModelMatrix=r.getLocation("modelMatrix"),this._uShadowViewMatrix=r.getLocation("shadowViewMatrix"),this._uShadowProjMatrix=r.getLocation("shadowProjMatrix"),this._uSectionPlanes={};for(var i=0,a=t._sectionPlanesState.sectionPlanes.length;i0)for(var i,a,s,o=0,l=this._uSectionPlanes.length;o1&&void 0!==arguments[1]?arguments[1]:{};b(this,n),(r=t.call(this,e,i)).originalSystemId=i.originalSystemId||r.id,r.renderFlags=new Gi,r._state=new Wt({visible:!0,culled:!1,pickable:null,clippable:null,collidable:null,occluder:!1!==i.occluder,castsShadow:null,receivesShadow:null,xrayed:!1,highlighted:!1,selected:!1,edges:!1,stationary:!!i.stationary,background:!!i.background,billboard:r._checkBillboard(i.billboard),layer:null,colorize:null,pickID:r.scene._renderer.getPickID(g(r)),drawHash:"",pickHash:"",offset:$.vec3(),origin:null,originHash:null}),r._drawRenderer=null,r._shadowRenderer=null,r._emphasisFillRenderer=null,r._emphasisEdgesRenderer=null,r._pickMeshRenderer=null,r._pickTriangleRenderer=null,r._occlusionRenderer=null,r._geometry=i.geometry?r._checkComponent2(["ReadableGeometry","VBOGeometry"],i.geometry):r.scene.geometry,r._material=i.material?r._checkComponent2(["PhongMaterial","MetallicMaterial","SpecularMaterial","LambertMaterial"],i.material):r.scene.material,r._xrayMaterial=i.xrayMaterial?r._checkComponent("EmphasisMaterial",i.xrayMaterial):r.scene.xrayMaterial,r._highlightMaterial=i.highlightMaterial?r._checkComponent("EmphasisMaterial",i.highlightMaterial):r.scene.highlightMaterial,r._selectedMaterial=i.selectedMaterial?r._checkComponent("EmphasisMaterial",i.selectedMaterial):r.scene.selectedMaterial,r._edgeMaterial=i.edgeMaterial?r._checkComponent("EdgeMaterial",i.edgeMaterial):r.scene.edgeMaterial,r._parentNode=null,r._aabb=null,r._aabbDirty=!0,r._numTriangles=r._geometry?r._geometry.numTriangles:0,r.scene._aabbDirty=!0,r._scale=$.vec3(),r._quaternion=$.identityQuaternion(),r._rotation=$.vec3(),r._position=$.vec3(),r._worldMatrix=$.identityMat4(),r._worldNormalMatrix=$.identityMat4(),r._localMatrixDirty=!0,r._worldMatrixDirty=!0,r._worldNormalMatrixDirty=!0;var a=i.origin||i.rtcCenter;if(a&&(r._state.origin=$.vec3(a),r._state.originHash=a.join()),i.matrix?r.matrix=i.matrix:(r.scale=i.scale,r.position=i.position,i.quaternion||(r.rotation=i.rotation)),r._isObject=i.isObject,r._isObject&&r.scene._registerObject(g(r)),r._isModel=i.isModel,r._isModel&&r.scene._registerModel(g(r)),r.visible=i.visible,r.culled=i.culled,r.pickable=i.pickable,r.clippable=i.clippable,r.collidable=i.collidable,r.castsShadow=i.castsShadow,r.receivesShadow=i.receivesShadow,r.xrayed=i.xrayed,r.highlighted=i.highlighted,r.selected=i.selected,r.edges=i.edges,r.layer=i.layer,r.colorize=i.colorize,r.opacity=i.opacity,r.offset=i.offset,i.parentId){var s=r.scene.components[i.parentId];s?s.isNode?s.addChild(g(r)):r.error("Parent is not a Node: '"+i.parentId+"'"):r.error("Parent not found: '"+i.parentId+"'"),r._parentNode=s}else i.parent&&(i.parent.isNode||r.error("Parent is not a Node"),i.parent.addChild(g(r)),r._parentNode=i.parent);return r.compile(),r}return P(n,[{key:"type",get:function(){return"Mesh"}},{key:"isMesh",get:function(){return!0}},{key:"parent",get:function(){return this._parentNode}},{key:"geometry",get:function(){return this._geometry}},{key:"material",get:function(){return this._material}},{key:"position",get:function(){return this._position},set:function(e){this._position.set(e||[0,0,0]),this._setLocalMatrixDirty(),this._setAABBDirty(),this.glRedraw()}},{key:"rotation",get:function(){return this._rotation},set:function(e){this._rotation.set(e||[0,0,0]),$.eulerToQuaternion(this._rotation,"XYZ",this._quaternion),this._setLocalMatrixDirty(),this._setAABBDirty(),this.glRedraw()}},{key:"quaternion",get:function(){return this._quaternion},set:function(e){this._quaternion.set(e||[0,0,0,1]),$.quaternionToEuler(this._quaternion,"XYZ",this._rotation),this._setLocalMatrixDirty(),this._setAABBDirty(),this.glRedraw()}},{key:"scale",get:function(){return this._scale},set:function(e){this._scale.set(e||[1,1,1]),this._setLocalMatrixDirty(),this._setAABBDirty(),this.glRedraw()}},{key:"matrix",get:function(){return this._localMatrixDirty&&(this.__localMatrix||(this.__localMatrix=$.identityMat4()),$.composeMat4(this._position,this._quaternion,this._scale,this.__localMatrix),this._localMatrixDirty=!1),this.__localMatrix},set:function(e){this.__localMatrix||(this.__localMatrix=$.identityMat4()),this.__localMatrix.set(e||qi),$.decomposeMat4(this.__localMatrix,this._position,this._quaternion,this._scale),this._localMatrixDirty=!1,this._setWorldMatrixDirty(),this._setAABBDirty(),this.glRedraw()}},{key:"worldMatrix",get:function(){return this._worldMatrixDirty&&this._buildWorldMatrix(),this._worldMatrix}},{key:"worldNormalMatrix",get:function(){return this._worldNormalMatrixDirty&&this._buildWorldNormalMatrix(),this._worldNormalMatrix}},{key:"isEntity",get:function(){return!0}},{key:"isModel",get:function(){return this._isModel}},{key:"isObject",get:function(){return this._isObject}},{key:"aabb",get:function(){return this._aabbDirty&&this._updateAABB(),this._aabb}},{key:"origin",get:function(){return this._state.origin},set:function(e){e?(this._state.origin||(this._state.origin=$.vec3()),this._state.origin.set(e),this._state.originHash=e.join(),this._setAABBDirty(),this.scene._aabbDirty=!0):this._state.origin&&(this._state.origin=null,this._state.originHash=null,this._setAABBDirty(),this.scene._aabbDirty=!0)}},{key:"rtcCenter",get:function(){return this.origin},set:function(e){this.origin=e}},{key:"numTriangles",get:function(){return this._numTriangles}},{key:"visible",get:function(){return this._state.visible},set:function(e){e=!1!==e,this._state.visible=e,this._isObject&&this.scene._objectVisibilityUpdated(this,e),this.glRedraw()}},{key:"xrayed",get:function(){return this._state.xrayed},set:function(e){e=!!e,this._state.xrayed!==e&&(this._state.xrayed=e,this._isObject&&this.scene._objectXRayedUpdated(this,e),this.glRedraw())}},{key:"highlighted",get:function(){return this._state.highlighted},set:function(e){(e=!!e)!==this._state.highlighted&&(this._state.highlighted=e,this._isObject&&this.scene._objectHighlightedUpdated(this,e),this.glRedraw())}},{key:"selected",get:function(){return this._state.selected},set:function(e){(e=!!e)!==this._state.selected&&(this._state.selected=e,this._isObject&&this.scene._objectSelectedUpdated(this,e),this.glRedraw())}},{key:"edges",get:function(){return this._state.edges},set:function(e){(e=!!e)!==this._state.edges&&(this._state.edges=e,this.glRedraw())}},{key:"culled",get:function(){return this._state.culled},set:function(e){this._state.culled=!!e,this.glRedraw()}},{key:"clippable",get:function(){return this._state.clippable},set:function(e){e=!1!==e,this._state.clippable!==e&&(this._state.clippable=e,this.glRedraw())}},{key:"collidable",get:function(){return this._state.collidable},set:function(e){(e=!1!==e)!==this._state.collidable&&(this._state.collidable=e,this._setAABBDirty(),this.scene._aabbDirty=!0)}},{key:"pickable",get:function(){return this._state.pickable},set:function(e){e=!1!==e,this._state.pickable!==e&&(this._state.pickable=e)}},{key:"castsShadow",get:function(){return this._state.castsShadow},set:function(e){(e=!1!==e)!==this._state.castsShadow&&(this._state.castsShadow=e,this.glRedraw())}},{key:"receivesShadow",get:function(){return this._state.receivesShadow},set:function(e){(e=!1!==e)!==this._state.receivesShadow&&(this._state.receivesShadow=e,this._state.hash=e?"/mod/rs;":"/mod;",this.fire("dirty",this))}},{key:"saoEnabled",get:function(){return!1}},{key:"colorize",get:function(){return this._state.colorize},set:function(e){var t=this._state.colorize;t||((t=this._state.colorize=new Float32Array(4))[3]=1),e?(t[0]=e[0],t[1]=e[1],t[2]=e[2]):(t[0]=1,t[1]=1,t[2]=1);var n=!!e;this.scene._objectColorizeUpdated(this,n),this.glRedraw()}},{key:"opacity",get:function(){return this._state.colorize[3]},set:function(e){var t=this._state.colorize;t||((t=this._state.colorize=new Float32Array(4))[0]=1,t[1]=1,t[2]=1);var n=null!=e;t[3]=n?e:1,this.scene._objectOpacityUpdated(this,n),this.glRedraw()}},{key:"transparent",get:function(){return 2===this._material.alphaMode||this._state.colorize[3]<1}},{key:"layer",get:function(){return this._state.layer},set:function(e){e=e||0,(e=Math.round(e))!==this._state.layer&&(this._state.layer=e,this._renderer.needStateSort())}},{key:"stationary",get:function(){return this._state.stationary}},{key:"billboard",get:function(){return this._state.billboard}},{key:"offset",get:function(){return this._state.offset},set:function(e){this._state.offset.set(e||[0,0,0]),this._setAABBDirty(),this.glRedraw()}},{key:"isDrawable",get:function(){return!0}},{key:"isStateSortable",get:function(){return!0}},{key:"xrayMaterial",get:function(){return this._xrayMaterial}},{key:"highlightMaterial",get:function(){return this._highlightMaterial}},{key:"selectedMaterial",get:function(){return this._selectedMaterial}},{key:"edgeMaterial",get:function(){return this._edgeMaterial}},{key:"_checkBillboard",value:function(e){return"spherical"!==(e=e||"none")&&"cylindrical"!==e&&"none"!==e&&(this.error("Unsupported value for 'billboard': "+e+" - accepted values are 'spherical', 'cylindrical' and 'none' - defaulting to 'none'."),e="none"),e}},{key:"compile",value:function(){var e=this._makeDrawHash();this._state.drawHash!==e&&(this._state.drawHash=e,this._putDrawRenderers(),this._drawRenderer=Ai.get(this),this._emphasisFillRenderer=yi.get(this),this._emphasisEdgesRenderer=Ti.get(this));var t=this._makePickHash();if(this._state.pickHash!==t&&(this._state.pickHash=t,this._putPickRenderers(),this._pickMeshRenderer=Ri.get(this)),this._state.occluder){var n=this._makeOcclusionHash();this._state.occlusionHash!==n&&(this._state.occlusionHash=n,this._putOcclusionRenderer(),this._occlusionRenderer=Mi.get(this))}}},{key:"_setLocalMatrixDirty",value:function(){this._localMatrixDirty=!0,this._setWorldMatrixDirty()}},{key:"_setWorldMatrixDirty",value:function(){this._worldMatrixDirty=!0,this._worldNormalMatrixDirty=!0}},{key:"_buildWorldMatrix",value:function(){var e=this.matrix;if(this._parentNode)$.mulMat4(this._parentNode.worldMatrix,e,this._worldMatrix);else for(var t=0,n=e.length;t0)for(var n=0;n-1){var M=B.geometry._state,x=B.scene,F=x.camera,H=x.canvas;if("triangles"===M.primitiveName){N.primitive="triangle";var U,G,k,j=L,V=M.indices,Q=M.positions;if(V){var W=V[j+0],z=V[j+1],K=V[j+2];a[0]=W,a[1]=z,a[2]=K,N.indices=a,U=3*W,G=3*z,k=3*K}else k=(G=(U=3*j)+3)+3;if(n[0]=Q[U+0],n[1]=Q[U+1],n[2]=Q[U+2],r[0]=Q[G+0],r[1]=Q[G+1],r[2]=Q[G+2],i[0]=Q[k+0],i[1]=Q[k+1],i[2]=Q[k+2],M.compressGeometry){var Y=M.positionsDecodeMatrix;Y&&(Dn.decompressPosition(n,Y,n),Dn.decompressPosition(r,Y,r),Dn.decompressPosition(i,Y,i))}N.canvasPos?$.canvasPosToLocalRay(H.canvas,B.origin?Be(O,B.origin):O,S,B.worldMatrix,N.canvasPos,e,t):N.origin&&N.direction&&$.worldRayToLocalRay(B.worldMatrix,N.origin,N.direction,e,t),$.normalizeVec3(t),$.rayPlaneIntersect(e,t,n,r,i,s),N.localPos=s,N.position=s,h[0]=s[0],h[1]=s[1],h[2]=s[2],h[3]=1,$.transformVec4(B.worldMatrix,h,I),o[0]=I[0],o[1]=I[1],o[2]=I[2],N.canvasPos&&B.origin&&(o[0]+=B.origin[0],o[1]+=B.origin[1],o[2]+=B.origin[2]),N.worldPos=o,$.transformVec4(F.matrix,I,y),l[0]=y[0],l[1]=y[1],l[2]=y[2],N.viewPos=l,$.cartesianToBarycentric(s,n,r,i,u),N.bary=u;var X=M.normals;if(X){if(M.compressGeometry){var q=3*W,J=3*z,Z=3*K;Dn.decompressNormal(X.subarray(q,q+2),c),Dn.decompressNormal(X.subarray(J,J+2),f),Dn.decompressNormal(X.subarray(Z,Z+2),p)}else c[0]=X[U],c[1]=X[U+1],c[2]=X[U+2],f[0]=X[G],f[1]=X[G+1],f[2]=X[G+2],p[0]=X[k],p[1]=X[k+1],p[2]=X[k+2];var ee=$.addVec3($.addVec3($.mulVec3Scalar(c,u[0],m),$.mulVec3Scalar(f,u[1],w),g),$.mulVec3Scalar(p,u[2],E),T);N.worldNormal=$.normalizeVec3($.transformVec3(B.worldNormalMatrix,ee,b))}var te=M.uv;if(te){if(A[0]=te[2*W],A[1]=te[2*W+1],d[0]=te[2*z],d[1]=te[2*z+1],v[0]=te[2*K],v[1]=te[2*K+1],M.compressGeometry){var ne=M.uvDecodeMatrix;ne&&(Dn.decompressUV(A,ne,A),Dn.decompressUV(d,ne,d),Dn.decompressUV(v,ne,v))}N.uv=$.addVec3($.addVec3($.mulVec2Scalar(A,u[0],D),$.mulVec2Scalar(d,u[1],P),R),$.mulVec2Scalar(v,u[2],C),_)}}}}}();function $i(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.radiusTop||1;t<0&&(console.error("negative radiusTop not allowed - will invert"),t*=-1);var n=e.radiusBottom||1;n<0&&(console.error("negative radiusBottom not allowed - will invert"),n*=-1);var r=e.height||1;r<0&&(console.error("negative height not allowed - will invert"),r*=-1);var i=e.radialSegments||32;i<0&&(console.error("negative radialSegments not allowed - will invert"),i*=-1),i<3&&(i=3);var a=e.heightSegments||1;a<0&&(console.error("negative heightSegments not allowed - will invert"),a*=-1),a<1&&(a=1);var s,o,l,u,c,f,p,A,d,v,h,I=!!e.openEnded,y=e.center,m=y?y[0]:0,w=y?y[1]:0,g=y?y[2]:0,E=r/2,T=r/a,b=2*Math.PI/i,D=1/i,P=(t-n)/a,R=[],C=[],_=[],B=[],O=(90-180*Math.atan(r/(n-t))/Math.PI)/90;for(s=0;s<=a;s++)for(c=t-s*P,f=E-s*T,o=0;o<=i;o++)l=Math.sin(o*b),u=Math.cos(o*b),C.push(c*l),C.push(O),C.push(c*u),_.push(o*D),_.push(1*s/a),R.push(c*l+m),R.push(f+w),R.push(c*u+g);for(s=0;s0){for(d=R.length/3,C.push(0),C.push(1),C.push(0),_.push(.5),_.push(.5),R.push(0+m),R.push(E+w),R.push(0+g),o=0;o<=i;o++)l=Math.sin(o*b),u=Math.cos(o*b),v=.5*Math.sin(o*b)+.5,h=.5*Math.cos(o*b)+.5,C.push(t*l),C.push(1),C.push(t*u),_.push(v),_.push(h),R.push(t*l+m),R.push(E+w),R.push(t*u+g);for(o=0;o0){for(d=R.length/3,C.push(0),C.push(-1),C.push(0),_.push(.5),_.push(.5),R.push(0+m),R.push(0-E+w),R.push(0+g),o=0;o<=i;o++)l=Math.sin(o*b),u=Math.cos(o*b),v=.5*Math.sin(o*b)+.5,h=.5*Math.cos(o*b)+.5,C.push(n*l),C.push(-1),C.push(n*u),_.push(v),_.push(h),R.push(n*l+m),R.push(0-E+w),R.push(n*u+g);for(o=0;o0&&void 0!==arguments[0]?arguments[0]:{},t=e.lod||1,n=e.center?e.center[0]:0,r=e.center?e.center[1]:0,i=e.center?e.center[2]:0,a=e.radius||1;a<0&&(console.error("negative radius not allowed - will invert"),a*=-1);var s=e.heightSegments||18;s<0&&(console.error("negative heightSegments not allowed - will invert"),s*=-1),(s=Math.floor(t*s))<18&&(s=18);var o=e.widthSegments||18;o<0&&(console.error("negative widthSegments not allowed - will invert"),o*=-1),(o=Math.floor(t*o))<18&&(o=18);var l,u,c,f,p,A,d,v,h,I,y,m,w,g,E=[],T=[],b=[],D=[];for(l=0;l<=s;l++)for(c=l*Math.PI/s,f=Math.sin(c),p=Math.cos(c),u=0;u<=o;u++)A=2*u*Math.PI/o,d=Math.sin(A),v=Math.cos(A)*f,h=p,I=d*f,y=1-u/o,m=l/s,T.push(v),T.push(h),T.push(I),b.push(y),b.push(m),E.push(n+a*v),E.push(r+a*h),E.push(i+a*I);for(l=0;l":{width:24,points:[[4,18],[20,9],[4,0]]},"?":{width:18,points:[[3,16],[3,17],[4,19],[5,20],[7,21],[11,21],[13,20],[14,19],[15,17],[15,15],[14,13],[13,12],[9,10],[9,7],[-1,-1],[9,2],[8,1],[9,0],[10,1],[9,2]]},"@":{width:27,points:[[18,13],[17,15],[15,16],[12,16],[10,15],[9,14],[8,11],[8,8],[9,6],[11,5],[14,5],[16,6],[17,8],[-1,-1],[12,16],[10,14],[9,11],[9,8],[10,6],[11,5],[-1,-1],[18,16],[17,8],[17,6],[19,5],[21,5],[23,7],[24,10],[24,12],[23,15],[22,17],[20,19],[18,20],[15,21],[12,21],[9,20],[7,19],[5,17],[4,15],[3,12],[3,9],[4,6],[5,4],[7,2],[9,1],[12,0],[15,0],[18,1],[20,2],[21,3],[-1,-1],[19,16],[18,8],[18,6],[19,5]]},A:{width:18,points:[[9,21],[1,0],[-1,-1],[9,21],[17,0],[-1,-1],[4,7],[14,7]]},B:{width:21,points:[[4,21],[4,0],[-1,-1],[4,21],[13,21],[16,20],[17,19],[18,17],[18,15],[17,13],[16,12],[13,11],[-1,-1],[4,11],[13,11],[16,10],[17,9],[18,7],[18,4],[17,2],[16,1],[13,0],[4,0]]},C:{width:21,points:[[18,16],[17,18],[15,20],[13,21],[9,21],[7,20],[5,18],[4,16],[3,13],[3,8],[4,5],[5,3],[7,1],[9,0],[13,0],[15,1],[17,3],[18,5]]},D:{width:21,points:[[4,21],[4,0],[-1,-1],[4,21],[11,21],[14,20],[16,18],[17,16],[18,13],[18,8],[17,5],[16,3],[14,1],[11,0],[4,0]]},E:{width:19,points:[[4,21],[4,0],[-1,-1],[4,21],[17,21],[-1,-1],[4,11],[12,11],[-1,-1],[4,0],[17,0]]},F:{width:18,points:[[4,21],[4,0],[-1,-1],[4,21],[17,21],[-1,-1],[4,11],[12,11]]},G:{width:21,points:[[18,16],[17,18],[15,20],[13,21],[9,21],[7,20],[5,18],[4,16],[3,13],[3,8],[4,5],[5,3],[7,1],[9,0],[13,0],[15,1],[17,3],[18,5],[18,8],[-1,-1],[13,8],[18,8]]},H:{width:22,points:[[4,21],[4,0],[-1,-1],[18,21],[18,0],[-1,-1],[4,11],[18,11]]},I:{width:8,points:[[4,21],[4,0]]},J:{width:16,points:[[12,21],[12,5],[11,2],[10,1],[8,0],[6,0],[4,1],[3,2],[2,5],[2,7]]},K:{width:21,points:[[4,21],[4,0],[-1,-1],[18,21],[4,7],[-1,-1],[9,12],[18,0]]},L:{width:17,points:[[4,21],[4,0],[-1,-1],[4,0],[16,0]]},M:{width:24,points:[[4,21],[4,0],[-1,-1],[4,21],[12,0],[-1,-1],[20,21],[12,0],[-1,-1],[20,21],[20,0]]},N:{width:22,points:[[4,21],[4,0],[-1,-1],[4,21],[18,0],[-1,-1],[18,21],[18,0]]},O:{width:22,points:[[9,21],[7,20],[5,18],[4,16],[3,13],[3,8],[4,5],[5,3],[7,1],[9,0],[13,0],[15,1],[17,3],[18,5],[19,8],[19,13],[18,16],[17,18],[15,20],[13,21],[9,21]]},P:{width:21,points:[[4,21],[4,0],[-1,-1],[4,21],[13,21],[16,20],[17,19],[18,17],[18,14],[17,12],[16,11],[13,10],[4,10]]},Q:{width:22,points:[[9,21],[7,20],[5,18],[4,16],[3,13],[3,8],[4,5],[5,3],[7,1],[9,0],[13,0],[15,1],[17,3],[18,5],[19,8],[19,13],[18,16],[17,18],[15,20],[13,21],[9,21],[-1,-1],[12,4],[18,-2]]},R:{width:21,points:[[4,21],[4,0],[-1,-1],[4,21],[13,21],[16,20],[17,19],[18,17],[18,15],[17,13],[16,12],[13,11],[4,11],[-1,-1],[11,11],[18,0]]},S:{width:20,points:[[17,18],[15,20],[12,21],[8,21],[5,20],[3,18],[3,16],[4,14],[5,13],[7,12],[13,10],[15,9],[16,8],[17,6],[17,3],[15,1],[12,0],[8,0],[5,1],[3,3]]},T:{width:16,points:[[8,21],[8,0],[-1,-1],[1,21],[15,21]]},U:{width:22,points:[[4,21],[4,6],[5,3],[7,1],[10,0],[12,0],[15,1],[17,3],[18,6],[18,21]]},V:{width:18,points:[[1,21],[9,0],[-1,-1],[17,21],[9,0]]},W:{width:24,points:[[2,21],[7,0],[-1,-1],[12,21],[7,0],[-1,-1],[12,21],[17,0],[-1,-1],[22,21],[17,0]]},X:{width:20,points:[[3,21],[17,0],[-1,-1],[17,21],[3,0]]},Y:{width:18,points:[[1,21],[9,11],[9,0],[-1,-1],[17,21],[9,11]]},Z:{width:20,points:[[17,21],[3,0],[-1,-1],[3,21],[17,21],[-1,-1],[3,0],[17,0]]},"[":{width:14,points:[[4,25],[4,-7],[-1,-1],[5,25],[5,-7],[-1,-1],[4,25],[11,25],[-1,-1],[4,-7],[11,-7]]},"\\":{width:14,points:[[0,21],[14,-3]]},"]":{width:14,points:[[9,25],[9,-7],[-1,-1],[10,25],[10,-7],[-1,-1],[3,25],[10,25],[-1,-1],[3,-7],[10,-7]]},"^":{width:16,points:[[6,15],[8,18],[10,15],[-1,-1],[3,12],[8,17],[13,12],[-1,-1],[8,17],[8,0]]},_:{width:16,points:[[0,-2],[16,-2]]},"`":{width:10,points:[[6,21],[5,20],[4,18],[4,16],[5,15],[6,16],[5,17]]},a:{width:19,points:[[15,14],[15,0],[-1,-1],[15,11],[13,13],[11,14],[8,14],[6,13],[4,11],[3,8],[3,6],[4,3],[6,1],[8,0],[11,0],[13,1],[15,3]]},b:{width:19,points:[[4,21],[4,0],[-1,-1],[4,11],[6,13],[8,14],[11,14],[13,13],[15,11],[16,8],[16,6],[15,3],[13,1],[11,0],[8,0],[6,1],[4,3]]},c:{width:18,points:[[15,11],[13,13],[11,14],[8,14],[6,13],[4,11],[3,8],[3,6],[4,3],[6,1],[8,0],[11,0],[13,1],[15,3]]},d:{width:19,points:[[15,21],[15,0],[-1,-1],[15,11],[13,13],[11,14],[8,14],[6,13],[4,11],[3,8],[3,6],[4,3],[6,1],[8,0],[11,0],[13,1],[15,3]]},e:{width:18,points:[[3,8],[15,8],[15,10],[14,12],[13,13],[11,14],[8,14],[6,13],[4,11],[3,8],[3,6],[4,3],[6,1],[8,0],[11,0],[13,1],[15,3]]},f:{width:12,points:[[10,21],[8,21],[6,20],[5,17],[5,0],[-1,-1],[2,14],[9,14]]},g:{width:19,points:[[15,14],[15,-2],[14,-5],[13,-6],[11,-7],[8,-7],[6,-6],[-1,-1],[15,11],[13,13],[11,14],[8,14],[6,13],[4,11],[3,8],[3,6],[4,3],[6,1],[8,0],[11,0],[13,1],[15,3]]},h:{width:19,points:[[4,21],[4,0],[-1,-1],[4,10],[7,13],[9,14],[12,14],[14,13],[15,10],[15,0]]},i:{width:8,points:[[3,21],[4,20],[5,21],[4,22],[3,21],[-1,-1],[4,14],[4,0]]},j:{width:10,points:[[5,21],[6,20],[7,21],[6,22],[5,21],[-1,-1],[6,14],[6,-3],[5,-6],[3,-7],[1,-7]]},k:{width:17,points:[[4,21],[4,0],[-1,-1],[14,14],[4,4],[-1,-1],[8,8],[15,0]]},l:{width:8,points:[[4,21],[4,0]]},m:{width:30,points:[[4,14],[4,0],[-1,-1],[4,10],[7,13],[9,14],[12,14],[14,13],[15,10],[15,0],[-1,-1],[15,10],[18,13],[20,14],[23,14],[25,13],[26,10],[26,0]]},n:{width:19,points:[[4,14],[4,0],[-1,-1],[4,10],[7,13],[9,14],[12,14],[14,13],[15,10],[15,0]]},o:{width:19,points:[[8,14],[6,13],[4,11],[3,8],[3,6],[4,3],[6,1],[8,0],[11,0],[13,1],[15,3],[16,6],[16,8],[15,11],[13,13],[11,14],[8,14]]},p:{width:19,points:[[4,14],[4,-7],[-1,-1],[4,11],[6,13],[8,14],[11,14],[13,13],[15,11],[16,8],[16,6],[15,3],[13,1],[11,0],[8,0],[6,1],[4,3]]},q:{width:19,points:[[15,14],[15,-7],[-1,-1],[15,11],[13,13],[11,14],[8,14],[6,13],[4,11],[3,8],[3,6],[4,3],[6,1],[8,0],[11,0],[13,1],[15,3]]},r:{width:13,points:[[4,14],[4,0],[-1,-1],[4,8],[5,11],[7,13],[9,14],[12,14]]},s:{width:17,points:[[14,11],[13,13],[10,14],[7,14],[4,13],[3,11],[4,9],[6,8],[11,7],[13,6],[14,4],[14,3],[13,1],[10,0],[7,0],[4,1],[3,3]]},t:{width:12,points:[[5,21],[5,4],[6,1],[8,0],[10,0],[-1,-1],[2,14],[9,14]]},u:{width:19,points:[[4,14],[4,4],[5,1],[7,0],[10,0],[12,1],[15,4],[-1,-1],[15,14],[15,0]]},v:{width:16,points:[[2,14],[8,0],[-1,-1],[14,14],[8,0]]},w:{width:22,points:[[3,14],[7,0],[-1,-1],[11,14],[7,0],[-1,-1],[11,14],[15,0],[-1,-1],[19,14],[15,0]]},x:{width:17,points:[[3,14],[14,0],[-1,-1],[14,14],[3,0]]},y:{width:16,points:[[2,14],[8,0],[-1,-1],[14,14],[8,0],[6,-4],[4,-6],[2,-7],[1,-7]]},z:{width:17,points:[[14,14],[3,0],[-1,-1],[3,14],[14,14],[-1,-1],[3,0],[14,0]]},"{":{width:14,points:[[9,25],[7,24],[6,23],[5,21],[5,19],[6,17],[7,16],[8,14],[8,12],[6,10],[-1,-1],[7,24],[6,22],[6,20],[7,18],[8,17],[9,15],[9,13],[8,11],[4,9],[8,7],[9,5],[9,3],[8,1],[7,0],[6,-2],[6,-4],[7,-6],[-1,-1],[6,8],[8,6],[8,4],[7,2],[6,1],[5,-1],[5,-3],[6,-5],[7,-6],[9,-7]]},"|":{width:8,points:[[4,25],[4,-7]]},"}":{width:14,points:[[5,25],[7,24],[8,23],[9,21],[9,19],[8,17],[7,16],[6,14],[6,12],[8,10],[-1,-1],[7,24],[8,22],[8,20],[7,18],[6,17],[5,15],[5,13],[6,11],[10,9],[6,7],[5,5],[5,3],[6,1],[7,0],[8,-2],[8,-4],[7,-6],[-1,-1],[8,8],[6,6],[6,4],[7,2],[8,1],[9,-1],[9,-3],[8,-5],[7,-6],[5,-7]]},"~":{width:24,points:[[3,6],[3,8],[4,11],[6,12],[8,12],[10,11],[14,8],[16,7],[18,7],[20,8],[21,10],[-1,-1],[3,8],[4,10],[6,11],[8,11],[10,10],[14,7],[16,6],[18,6],[20,7],[21,10],[21,12]]}};function na(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.origin||[0,0,0],n=t[0],r=t[1],i=t[2],a=e.size||1,s=[],o=[],l=e.text;le.isNumeric(l)&&(l=""+l);for(var u,c,f,p,A,d,v,h,I,y=(l||"").split("\n"),m=0,w=0,g=.04,E=0;E1&&void 0!==arguments[1]?arguments[1]:{};return b(this,n),(r=t.call(this,e,i))._state=new Wt({active:!0,pos:$.vec3(),dir:$.vec3(),dist:0}),r.active=i.active,r.pos=i.pos,r.dir=i.dir,r.scene._sectionPlaneCreated(g(r)),r}return P(n,[{key:"type",get:function(){return"SectionPlane"}},{key:"active",get:function(){return this._state.active},set:function(e){this._state.active=!1!==e,this.glRedraw(),this.fire("active",this._state.active)}},{key:"pos",get:function(){return this._state.pos},set:function(e){this._state.pos.set(e||[0,0,0]),this._state.dist=-$.dotVec3(this._state.pos,this._state.dir),this.fire("pos",this._state.pos),this.scene.fire("sectionPlaneUpdated",this)}},{key:"dir",get:function(){return this._state.dir},set:function(e){this._state.dir.set(e||[0,0,-1]),this._state.dist=-$.dotVec3(this._state.pos,this._state.dir),this.glRedraw(),this.fire("dir",this._state.dir),this.scene.fire("sectionPlaneUpdated",this)}},{key:"dist",get:function(){return this._state.dist}},{key:"flipDir",value:function(){var e=this._state.dir;e[0]*=-1,e[1]*=-1,e[2]*=-1,this._state.dist=-$.dotVec3(this._state.pos,this._state.dir),this.fire("dir",this._state.dir),this.glRedraw()}},{key:"destroy",value:function(){this._state.destroy(),this.scene._sectionPlaneDestroyed(this),v(E(n.prototype),"destroy",this).call(this)}}]),n}(),aa=$.vec4(4),sa=$.vec4(),oa=$.vec4(),la=$.vec3([1,0,0]),ua=$.vec3([0,1,0]),ca=$.vec3([0,0,1]),fa=$.vec3(3),pa=$.vec3(3),Aa=$.identityMat4(),da=function(e){I(n,ye);var t=m(n);function n(e){var r,i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(b(this,n),(r=t.call(this,e,i))._parentNode=null,r._children=[],r._aabb=null,r._aabbDirty=!0,r.scene._aabbDirty=!0,r._numTriangles=0,r._scale=$.vec3(),r._quaternion=$.identityQuaternion(),r._rotation=$.vec3(),r._position=$.vec3(),r._offset=$.vec3(),r._localMatrix=$.identityMat4(),r._worldMatrix=$.identityMat4(),r._localMatrixDirty=!0,r._worldMatrixDirty=!0,i.matrix?r.matrix=i.matrix:(r.scale=i.scale,r.position=i.position,i.quaternion||(r.rotation=i.rotation)),r._isModel=i.isModel,r._isModel&&r.scene._registerModel(g(r)),r._isObject=i.isObject,r._isObject&&r.scene._registerObject(g(r)),r.origin=i.origin,r.visible=i.visible,r.culled=i.culled,r.pickable=i.pickable,r.clippable=i.clippable,r.collidable=i.collidable,r.castsShadow=i.castsShadow,r.receivesShadow=i.receivesShadow,r.xrayed=i.xrayed,r.highlighted=i.highlighted,r.selected=i.selected,r.edges=i.edges,r.colorize=i.colorize,r.opacity=i.opacity,r.offset=i.offset,i.children)for(var a=i.children,s=0,o=a.length;s1&&void 0!==arguments[1]?arguments[1]:{};return b(this,n),(r=t.call(this,e,i))._state=new Wt({type:"LambertMaterial",ambient:$.vec3([1,1,1]),color:$.vec3([1,1,1]),emissive:$.vec3([0,0,0]),alpha:null,alphaMode:0,lineWidth:null,pointSize:null,backfaces:null,frontface:null,hash:"/lam;"}),r.ambient=i.ambient,r.color=i.color,r.emissive=i.emissive,r.alpha=i.alpha,r.lineWidth=i.lineWidth,r.pointSize=i.pointSize,r.backfaces=i.backfaces,r.frontface=i.frontface,r}return P(n,[{key:"type",get:function(){return"LambertMaterial"}},{key:"ambient",get:function(){return this._state.ambient},set:function(e){var t=this._state.ambient;if(t){if(e&&t[0]===e[0]&&t[1]===e[1]&&t[2]===e[2])return}else t=this._state.ambient=new Float32Array(3);e?(t[0]=e[0],t[1]=e[1],t[2]=e[2]):(t[0]=.2,t[1]=.2,t[2]=.2),this.glRedraw()}},{key:"color",get:function(){return this._state.color},set:function(e){var t=this._state.color;if(t){if(e&&t[0]===e[0]&&t[1]===e[1]&&t[2]===e[2])return}else t=this._state.color=new Float32Array(3);e?(t[0]=e[0],t[1]=e[1],t[2]=e[2]):(t[0]=1,t[1]=1,t[2]=1),this.glRedraw()}},{key:"emissive",get:function(){return this._state.emissive},set:function(e){var t=this._state.emissive;if(t){if(e&&t[0]===e[0]&&t[1]===e[1]&&t[2]===e[2])return}else t=this._state.emissive=new Float32Array(3);e?(t[0]=e[0],t[1]=e[1],t[2]=e[2]):(t[0]=0,t[1]=0,t[2]=0),this.glRedraw()}},{key:"alpha",get:function(){return this._state.alpha},set:function(e){e=null!=e?e:1,this._state.alpha!==e&&(this._state.alpha=e,this._state.alphaMode=e<1?2:0,this.glRedraw())}},{key:"lineWidth",get:function(){return this._state.lineWidth},set:function(e){this._state.lineWidth=e||1,this.glRedraw()}},{key:"pointSize",get:function(){return this._state.pointSize},set:function(e){this._state.pointSize=e||1,this.glRedraw()}},{key:"backfaces",get:function(){return this._state.backfaces},set:function(e){e=!!e,this._state.backfaces!==e&&(this._state.backfaces=e,this.glRedraw())}},{key:"frontface",get:function(){return this._state.frontface?"ccw":"cw"},set:function(e){e="cw"!==e,this._state.frontface!==e&&(this._state.frontface=e,this.glRedraw())}},{key:"_getState",value:function(){return this._state}},{key:"destroy",value:function(){v(E(n.prototype),"destroy",this).call(this),this._state.destroy()}}]),n}(),ha={opaque:0,mask:1,blend:2},Ia=["opaque","mask","blend"],ya=function(e){I(n,Bn);var t=m(n);function n(e){var r,i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return b(this,n),(r=t.call(this,e,i))._state=new Wt({type:"MetallicMaterial",baseColor:$.vec4([1,1,1]),emissive:$.vec4([0,0,0]),metallic:null,roughness:null,specularF0:null,alpha:null,alphaMode:null,alphaCutoff:null,lineWidth:null,pointSize:null,backfaces:null,frontface:null,hash:null}),r.baseColor=i.baseColor,r.metallic=i.metallic,r.roughness=i.roughness,r.specularF0=i.specularF0,r.emissive=i.emissive,r.alpha=i.alpha,i.baseColorMap&&(r._baseColorMap=r._checkComponent("Texture",i.baseColorMap)),i.metallicMap&&(r._metallicMap=r._checkComponent("Texture",i.metallicMap)),i.roughnessMap&&(r._roughnessMap=r._checkComponent("Texture",i.roughnessMap)),i.metallicRoughnessMap&&(r._metallicRoughnessMap=r._checkComponent("Texture",i.metallicRoughnessMap)),i.emissiveMap&&(r._emissiveMap=r._checkComponent("Texture",i.emissiveMap)),i.occlusionMap&&(r._occlusionMap=r._checkComponent("Texture",i.occlusionMap)),i.alphaMap&&(r._alphaMap=r._checkComponent("Texture",i.alphaMap)),i.normalMap&&(r._normalMap=r._checkComponent("Texture",i.normalMap)),r.alphaMode=i.alphaMode,r.alphaCutoff=i.alphaCutoff,r.backfaces=i.backfaces,r.frontface=i.frontface,r.lineWidth=i.lineWidth,r.pointSize=i.pointSize,r._makeHash(),r}return P(n,[{key:"type",get:function(){return"MetallicMaterial"}},{key:"_makeHash",value:function(){var e=this._state,t=["/met"];this._baseColorMap&&(t.push("/bm"),this._baseColorMap._state.hasMatrix&&t.push("/mat"),t.push("/"+this._baseColorMap._state.encoding)),this._metallicMap&&(t.push("/mm"),this._metallicMap._state.hasMatrix&&t.push("/mat")),this._roughnessMap&&(t.push("/rm"),this._roughnessMap._state.hasMatrix&&t.push("/mat")),this._metallicRoughnessMap&&(t.push("/mrm"),this._metallicRoughnessMap._state.hasMatrix&&t.push("/mat")),this._emissiveMap&&(t.push("/em"),this._emissiveMap._state.hasMatrix&&t.push("/mat")),this._occlusionMap&&(t.push("/ocm"),this._occlusionMap._state.hasMatrix&&t.push("/mat")),this._alphaMap&&(t.push("/am"),this._alphaMap._state.hasMatrix&&t.push("/mat")),this._normalMap&&(t.push("/nm"),this._normalMap._state.hasMatrix&&t.push("/mat")),t.push(";"),e.hash=t.join("")}},{key:"baseColor",get:function(){return this._state.baseColor},set:function(e){var t=this._state.baseColor;if(t){if(e&&t[0]===e[0]&&t[1]===e[1]&&t[2]===e[2])return}else t=this._state.baseColor=new Float32Array(3);e?(t[0]=e[0],t[1]=e[1],t[2]=e[2]):(t[0]=1,t[1]=1,t[2]=1),this.glRedraw()}},{key:"baseColorMap",get:function(){return this._baseColorMap}},{key:"metallic",get:function(){return this._state.metallic},set:function(e){e=null!=e?e:1,this._state.metallic!==e&&(this._state.metallic=e,this.glRedraw())}},{key:"metallicMap",get:function(){return this._attached.metallicMap}},{key:"roughness",get:function(){return this._state.roughness},set:function(e){e=null!=e?e:1,this._state.roughness!==e&&(this._state.roughness=e,this.glRedraw())}},{key:"roughnessMap",get:function(){return this._attached.roughnessMap}},{key:"metallicRoughnessMap",get:function(){return this._attached.metallicRoughnessMap}},{key:"specularF0",get:function(){return this._state.specularF0},set:function(e){e=null!=e?e:0,this._state.specularF0!==e&&(this._state.specularF0=e,this.glRedraw())}},{key:"emissive",get:function(){return this._state.emissive},set:function(e){var t=this._state.emissive;if(t){if(e&&t[0]===e[0]&&t[1]===e[1]&&t[2]===e[2])return}else t=this._state.emissive=new Float32Array(3);e?(t[0]=e[0],t[1]=e[1],t[2]=e[2]):(t[0]=0,t[1]=0,t[2]=0),this.glRedraw()}},{key:"emissiveMap",get:function(){return this._attached.emissiveMap}},{key:"occlusionMap",get:function(){return this._attached.occlusionMap}},{key:"alpha",get:function(){return this._state.alpha},set:function(e){e=null!=e?e:1,this._state.alpha!==e&&(this._state.alpha=e,this.glRedraw())}},{key:"alphaMap",get:function(){return this._attached.alphaMap}},{key:"normalMap",get:function(){return this._attached.normalMap}},{key:"alphaMode",get:function(){return Ia[this._state.alphaMode]},set:function(e){var t=ha[e=e||"opaque"];void 0===t&&(this.error("Unsupported value for 'alphaMode': "+e+" defaulting to 'opaque'"),t="opaque"),this._state.alphaMode!==t&&(this._state.alphaMode=t,this.glRedraw())}},{key:"alphaCutoff",get:function(){return this._state.alphaCutoff},set:function(e){null==e&&(e=.5),this._state.alphaCutoff!==e&&(this._state.alphaCutoff=e)}},{key:"backfaces",get:function(){return this._state.backfaces},set:function(e){e=!!e,this._state.backfaces!==e&&(this._state.backfaces=e,this.glRedraw())}},{key:"frontface",get:function(){return this._state.frontface?"ccw":"cw"},set:function(e){e="cw"!==e,this._state.frontface!==e&&(this._state.frontface=e,this.glRedraw())}},{key:"lineWidth",get:function(){return this._state.lineWidth},set:function(e){this._state.lineWidth=e||1,this.glRedraw()}},{key:"pointSize",get:function(){return this._state.pointSize},set:function(e){this._state.pointSize=e||1,this.glRedraw()}},{key:"destroy",value:function(){v(E(n.prototype),"destroy",this).call(this),this._state.destroy()}}]),n}(),ma={opaque:0,mask:1,blend:2},wa=["opaque","mask","blend"],ga=function(e){I(n,Bn);var t=m(n);function n(e){var r,i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return b(this,n),(r=t.call(this,e,i))._state=new Wt({type:"SpecularMaterial",diffuse:$.vec3([1,1,1]),emissive:$.vec3([0,0,0]),specular:$.vec3([1,1,1]),glossiness:null,specularF0:null,alpha:null,alphaMode:null,alphaCutoff:null,lineWidth:null,pointSize:null,backfaces:null,frontface:null,hash:null}),r.diffuse=i.diffuse,r.specular=i.specular,r.glossiness=i.glossiness,r.specularF0=i.specularF0,r.emissive=i.emissive,r.alpha=i.alpha,i.diffuseMap&&(r._diffuseMap=r._checkComponent("Texture",i.diffuseMap)),i.emissiveMap&&(r._emissiveMap=r._checkComponent("Texture",i.emissiveMap)),i.specularMap&&(r._specularMap=r._checkComponent("Texture",i.specularMap)),i.glossinessMap&&(r._glossinessMap=r._checkComponent("Texture",i.glossinessMap)),i.specularGlossinessMap&&(r._specularGlossinessMap=r._checkComponent("Texture",i.specularGlossinessMap)),i.occlusionMap&&(r._occlusionMap=r._checkComponent("Texture",i.occlusionMap)),i.alphaMap&&(r._alphaMap=r._checkComponent("Texture",i.alphaMap)),i.normalMap&&(r._normalMap=r._checkComponent("Texture",i.normalMap)),r.alphaMode=i.alphaMode,r.alphaCutoff=i.alphaCutoff,r.backfaces=i.backfaces,r.frontface=i.frontface,r.lineWidth=i.lineWidth,r.pointSize=i.pointSize,r._makeHash(),r}return P(n,[{key:"type",get:function(){return"SpecularMaterial"}},{key:"_makeHash",value:function(){var e=this._state,t=["/spe"];this._diffuseMap&&(t.push("/dm"),this._diffuseMap.hasMatrix&&t.push("/mat"),t.push("/"+this._diffuseMap.encoding)),this._emissiveMap&&(t.push("/em"),this._emissiveMap.hasMatrix&&t.push("/mat")),this._glossinessMap&&(t.push("/gm"),this._glossinessMap.hasMatrix&&t.push("/mat")),this._specularMap&&(t.push("/sm"),this._specularMap.hasMatrix&&t.push("/mat")),this._specularGlossinessMap&&(t.push("/sgm"),this._specularGlossinessMap.hasMatrix&&t.push("/mat")),this._occlusionMap&&(t.push("/ocm"),this._occlusionMap.hasMatrix&&t.push("/mat")),this._normalMap&&(t.push("/nm"),this._normalMap.hasMatrix&&t.push("/mat")),this._alphaMap&&(t.push("/opm"),this._alphaMap.hasMatrix&&t.push("/mat")),t.push(";"),e.hash=t.join("")}},{key:"diffuse",get:function(){return this._state.diffuse},set:function(e){var t=this._state.diffuse;if(t){if(e&&t[0]===e[0]&&t[1]===e[1]&&t[2]===e[2])return}else t=this._state.diffuse=new Float32Array(3);e?(t[0]=e[0],t[1]=e[1],t[2]=e[2]):(t[0]=1,t[1]=1,t[2]=1),this.glRedraw()}},{key:"diffuseMap",get:function(){return this._diffuseMap}},{key:"specular",get:function(){return this._state.specular},set:function(e){var t=this._state.specular;if(t){if(e&&t[0]===e[0]&&t[1]===e[1]&&t[2]===e[2])return}else t=this._state.specular=new Float32Array(3);e?(t[0]=e[0],t[1]=e[1],t[2]=e[2]):(t[0]=1,t[1]=1,t[2]=1),this.glRedraw()}},{key:"specularMap",get:function(){return this._specularMap}},{key:"specularGlossinessMap",get:function(){return this._specularGlossinessMap}},{key:"glossiness",get:function(){return this._state.glossiness},set:function(e){e=null!=e?e:1,this._state.glossiness!==e&&(this._state.glossiness=e,this.glRedraw())}},{key:"glossinessMap",get:function(){return this._glossinessMap}},{key:"specularF0",get:function(){return this._state.specularF0},set:function(e){e=null!=e?e:0,this._state.specularF0!==e&&(this._state.specularF0=e,this.glRedraw())}},{key:"emissive",get:function(){return this._state.emissive},set:function(e){var t=this._state.emissive;if(t){if(e&&t[0]===e[0]&&t[1]===e[1]&&t[2]===e[2])return}else t=this._state.emissive=new Float32Array(3);e?(t[0]=e[0],t[1]=e[1],t[2]=e[2]):(t[0]=0,t[1]=0,t[2]=0),this.glRedraw()}},{key:"emissiveMap",get:function(){return this._emissiveMap}},{key:"alpha",get:function(){return this._state.alpha},set:function(e){e=null!=e?e:1,this._state.alpha!==e&&(this._state.alpha=e,this.glRedraw())}},{key:"alphaMap",get:function(){return this._alphaMap}},{key:"normalMap",get:function(){return this._normalMap}},{key:"occlusionMap",get:function(){return this._occlusionMap}},{key:"alphaMode",get:function(){return wa[this._state.alphaMode]},set:function(e){var t=ma[e=e||"opaque"];void 0===t&&(this.error("Unsupported value for 'alphaMode': "+e+" defaulting to 'opaque'"),t="opaque"),this._state.alphaMode!==t&&(this._state.alphaMode=t,this.glRedraw())}},{key:"alphaCutoff",get:function(){return this._state.alphaCutoff},set:function(e){null==e&&(e=.5),this._state.alphaCutoff!==e&&(this._state.alphaCutoff=e)}},{key:"backfaces",get:function(){return this._state.backfaces},set:function(e){e=!!e,this._state.backfaces!==e&&(this._state.backfaces=e,this.glRedraw())}},{key:"frontface",get:function(){return this._state.frontface?"ccw":"cw"},set:function(e){e="cw"!==e,this._state.frontface!==e&&(this._state.frontface=e,this.glRedraw())}},{key:"lineWidth",get:function(){return this._state.lineWidth},set:function(e){this._state.lineWidth=e||1,this.glRedraw()}},{key:"pointSize",get:function(){return this._state.pointSize},set:function(e){this._state.pointSize=e||1,this.glRedraw()}},{key:"destroy",value:function(){v(E(n.prototype),"destroy",this).call(this),this._state.destroy()}}]),n}();function Ea(e,t){var n,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null,i=t;if(1009===i)return e.UNSIGNED_BYTE;if(1017===i)return e.UNSIGNED_SHORT_4_4_4_4;if(1018===i)return e.UNSIGNED_SHORT_5_5_5_1;if(1010===i)return e.BYTE;if(1011===i)return e.SHORT;if(1012===i)return e.UNSIGNED_SHORT;if(1013===i)return e.INT;if(1014===i)return e.UNSIGNED_INT;if(1015===i)return e.FLOAT;if(1016===i)return e.HALF_FLOAT;if(1021===i)return e.ALPHA;if(1023===i)return e.RGBA;if(1024===i)return e.LUMINANCE;if(1025===i)return e.LUMINANCE_ALPHA;if(1026===i)return e.DEPTH_COMPONENT;if(1027===i)return e.DEPTH_STENCIL;if(1028===i)return e.RED;if(1022===i)return e.RGBA;if(1029===i)return e.RED_INTEGER;if(1030===i)return e.RG;if(1031===i)return e.RG_INTEGER;if(1033===i)return e.RGBA_INTEGER;if(33776===i||33777===i||33778===i||33779===i)if(3001===r){var a=kt(e,"WEBGL_compressed_texture_s3tc_srgb");if(null===a)return null;if(33776===i)return a.COMPRESSED_SRGB_S3TC_DXT1_EXT;if(33777===i)return a.COMPRESSED_SRGB_ALPHA_S3TC_DXT1_EXT;if(33778===i)return a.COMPRESSED_SRGB_ALPHA_S3TC_DXT3_EXT;if(33779===i)return a.COMPRESSED_SRGB_ALPHA_S3TC_DXT5_EXT}else{if(null===(n=kt(e,"WEBGL_compressed_texture_s3tc")))return null;if(33776===i)return n.COMPRESSED_RGB_S3TC_DXT1_EXT;if(33777===i)return n.COMPRESSED_RGBA_S3TC_DXT1_EXT;if(33778===i)return n.COMPRESSED_RGBA_S3TC_DXT3_EXT;if(33779===i)return n.COMPRESSED_RGBA_S3TC_DXT5_EXT}if(35840===i||35841===i||35842===i||35843===i){var s=kt(e,"WEBGL_compressed_texture_pvrtc");if(null===s)return null;if(35840===i)return s.COMPRESSED_RGB_PVRTC_4BPPV1_IMG;if(35841===i)return s.COMPRESSED_RGB_PVRTC_2BPPV1_IMG;if(35842===i)return s.COMPRESSED_RGBA_PVRTC_4BPPV1_IMG;if(35843===i)return s.COMPRESSED_RGBA_PVRTC_2BPPV1_IMG}if(36196===i){var o=kt(e,"WEBGL_compressed_texture_etc1");return null!==o?o.COMPRESSED_RGB_ETC1_WEBGL:null}if(37492===i||37496===i){var l=kt(e,"WEBGL_compressed_texture_etc");if(null===l)return null;if(37492===i)return 3001===r?l.COMPRESSED_SRGB8_ETC2:l.COMPRESSED_RGB8_ETC2;if(37496===i)return 3001===r?l.COMPRESSED_SRGB8_ALPHA8_ETC2_EAC:l.COMPRESSED_RGBA8_ETC2_EAC}if(37808===i||37809===i||37810===i||37811===i||37812===i||37813===i||37814===i||37815===i||37816===i||37817===i||37818===i||37819===i||37820===i||37821===i){var u=kt(e,"WEBGL_compressed_texture_astc");if(null===u)return null;if(37808===i)return 3001===r?u.COMPRESSED_SRGB8_ALPHA8_ASTC_4x4_KHR:u.COMPRESSED_RGBA_ASTC_4x4_KHR;if(37809===i)return 3001===r?u.COMPRESSED_SRGB8_ALPHA8_ASTC_5x4_KHR:u.COMPRESSED_RGBA_ASTC_5x4_KHR;if(37810===i)return 3001===r?u.COMPRESSED_SRGB8_ALPHA8_ASTC_5x5_KHR:u.COMPRESSED_RGBA_ASTC_5x5_KHR;if(37811===i)return 3001===r?u.COMPRESSED_SRGB8_ALPHA8_ASTC_6x5_KHR:u.COMPRESSED_RGBA_ASTC_6x5_KHR;if(37812===i)return 3001===r?u.COMPRESSED_SRGB8_ALPHA8_ASTC_6x6_KHR:u.COMPRESSED_RGBA_ASTC_6x6_KHR;if(37813===i)return 3001===r?u.COMPRESSED_SRGB8_ALPHA8_ASTC_8x5_KHR:u.COMPRESSED_RGBA_ASTC_8x5_KHR;if(37814===i)return 3001===r?u.COMPRESSED_SRGB8_ALPHA8_ASTC_8x6_KHR:u.COMPRESSED_RGBA_ASTC_8x6_KHR;if(37815===i)return 3001===r?u.COMPRESSED_SRGB8_ALPHA8_ASTC_8x8_KHR:u.COMPRESSED_RGBA_ASTC_8x8_KHR;if(37816===i)return 3001===r?u.COMPRESSED_SRGB8_ALPHA8_ASTC_10x5_KHR:u.COMPRESSED_RGBA_ASTC_10x5_KHR;if(37817===i)return 3001===r?u.COMPRESSED_SRGB8_ALPHA8_ASTC_10x6_KHR:u.COMPRESSED_RGBA_ASTC_10x6_KHR;if(37818===i)return 3001===r?u.COMPRESSED_SRGB8_ALPHA8_ASTC_10x8_KHR:u.COMPRESSED_RGBA_ASTC_10x8_KHR;if(37819===i)return 3001===r?u.COMPRESSED_SRGB8_ALPHA8_ASTC_10x10_KHR:u.COMPRESSED_RGBA_ASTC_10x10_KHR;if(37820===i)return 3001===r?u.COMPRESSED_SRGB8_ALPHA8_ASTC_12x10_KHR:u.COMPRESSED_RGBA_ASTC_12x10_KHR;if(37821===i)return 3001===r?u.COMPRESSED_SRGB8_ALPHA8_ASTC_12x12_KHR:u.COMPRESSED_RGBA_ASTC_12x12_KHR}if(36492===i){var c=kt(e,"EXT_texture_compression_bptc");if(null===c)return null;if(36492===i)return 3001===r?c.COMPRESSED_SRGB_ALPHA_BPTC_UNORM_EXT:c.COMPRESSED_RGBA_BPTC_UNORM_EXT}return 1020===i?e.UNSIGNED_INT_24_8:1e3===i?e.REPEAT:1001===i?e.CLAMP_TO_EDGE:1004===i||1005===i?e.NEAREST_MIPMAP_LINEAR:1007===i?e.LINEAR_MIPMAP_NEAREST:1008===i?e.LINEAR_MIPMAP_LINEAR:1003===i?e.NEAREST:1006===i?e.LINEAR:null}var Ta=new Uint8Array([0,0,0,1]),ba=function(){function e(t){var n=t.gl,r=t.target,i=t.format,a=t.type,s=t.wrapS,o=t.wrapT,l=t.wrapR,u=t.encoding,c=t.preloadColor,f=t.premultiplyAlpha,p=t.flipY;b(this,e),this.gl=n,this.target=r||n.TEXTURE_2D,this.format=i||1023,this.type=a||1009,this.internalFormat=null,this.premultiplyAlpha=!!f,this.flipY=!!p,this.unpackAlignment=4,this.wrapS=s||1e3,this.wrapT=o||1e3,this.wrapR=l||1e3,this.encoding=u||3001,this.texture=n.createTexture(),c&&this.setPreloadColor(c),this.allocated=!0}return P(e,[{key:"setPreloadColor",value:function(e){e?(Ta[0]=Math.floor(255*e[0]),Ta[1]=Math.floor(255*e[1]),Ta[2]=Math.floor(255*e[2]),Ta[3]=Math.floor(255*(void 0!==e[3]?e[3]:1))):(Ta[0]=0,Ta[1]=0,Ta[2]=0,Ta[3]=255);var t=this.gl;if(t.bindTexture(this.target,this.texture),this.target===t.TEXTURE_CUBE_MAP)for(var n=[t.TEXTURE_CUBE_MAP_POSITIVE_X,t.TEXTURE_CUBE_MAP_NEGATIVE_X,t.TEXTURE_CUBE_MAP_POSITIVE_Y,t.TEXTURE_CUBE_MAP_NEGATIVE_Y,t.TEXTURE_CUBE_MAP_POSITIVE_Z,t.TEXTURE_CUBE_MAP_NEGATIVE_Z],r=0,i=n.length;r1&&void 0!==arguments[1]?arguments[1]:{},n=this.gl;void 0!==t.format&&(this.format=t.format),void 0!==t.internalFormat&&(this.internalFormat=t.internalFormat),void 0!==t.encoding&&(this.encoding=t.encoding),void 0!==t.type&&(this.type=t.type),void 0!==t.flipY&&(this.flipY=t.flipY),void 0!==t.premultiplyAlpha&&(this.premultiplyAlpha=t.premultiplyAlpha),void 0!==t.unpackAlignment&&(this.unpackAlignment=t.unpackAlignment),void 0!==t.minFilter&&(this.minFilter=t.minFilter),void 0!==t.magFilter&&(this.magFilter=t.magFilter),void 0!==t.wrapS&&(this.wrapS=t.wrapS),void 0!==t.wrapT&&(this.wrapT=t.wrapT),void 0!==t.wrapR&&(this.wrapR=t.wrapR);var r=!1;n.bindTexture(this.target,this.texture);var i=n.getParameter(n.UNPACK_FLIP_Y_WEBGL);n.pixelStorei(n.UNPACK_FLIP_Y_WEBGL,this.flipY);var a=n.getParameter(n.UNPACK_PREMULTIPLY_ALPHA_WEBGL);n.pixelStorei(n.UNPACK_PREMULTIPLY_ALPHA_WEBGL,this.premultiplyAlpha);var s=n.getParameter(n.UNPACK_ALIGNMENT);n.pixelStorei(n.UNPACK_ALIGNMENT,this.unpackAlignment);var o=n.getParameter(n.UNPACK_COLORSPACE_CONVERSION_WEBGL);n.pixelStorei(n.UNPACK_COLORSPACE_CONVERSION_WEBGL,n.NONE);var l=Ea(n,this.minFilter);n.texParameteri(this.target,n.TEXTURE_MIN_FILTER,l),l!==n.NEAREST_MIPMAP_NEAREST&&l!==n.LINEAR_MIPMAP_NEAREST&&l!==n.NEAREST_MIPMAP_LINEAR&&l!==n.LINEAR_MIPMAP_LINEAR||(r=!0);var u=Ea(n,this.magFilter);u&&n.texParameteri(this.target,n.TEXTURE_MAG_FILTER,u);var c=Ea(n,this.wrapS);c&&n.texParameteri(this.target,n.TEXTURE_WRAP_S,c);var f=Ea(n,this.wrapT);f&&n.texParameteri(this.target,n.TEXTURE_WRAP_T,f);var p=Ea(n,this.format,this.encoding),A=Ea(n,this.type),d=Da(n,this.internalFormat,p,A,this.encoding,!1);if(this.target===n.TEXTURE_CUBE_MAP){if(le.isArray(e))for(var v=e,h=[n.TEXTURE_CUBE_MAP_POSITIVE_X,n.TEXTURE_CUBE_MAP_NEGATIVE_X,n.TEXTURE_CUBE_MAP_POSITIVE_Y,n.TEXTURE_CUBE_MAP_NEGATIVE_Y,n.TEXTURE_CUBE_MAP_POSITIVE_Z,n.TEXTURE_CUBE_MAP_NEGATIVE_Z],I=0,y=h.length;I1;i.pixelStorei(i.UNPACK_FLIP_Y_WEBGL,this.flipY),i.pixelStorei(i.UNPACK_PREMULTIPLY_ALPHA_WEBGL,this.premultiplyAlpha),i.pixelStorei(i.UNPACK_ALIGNMENT,this.unpackAlignment),i.pixelStorei(i.UNPACK_COLORSPACE_CONVERSION_WEBGL,i.NONE);var o=Ea(i,this.wrapS);o&&i.texParameteri(this.target,i.TEXTURE_WRAP_S,o);var l=Ea(i,this.wrapT);if(l&&i.texParameteri(this.target,i.TEXTURE_WRAP_T,l),this.type===i.TEXTURE_3D||this.type===i.TEXTURE_2D_ARRAY){var u=Ea(i,this.wrapR);u&&i.texParameteri(this.target,i.TEXTURE_WRAP_R,u),i.texParameteri(this.type,i.TEXTURE_WRAP_R,u)}s?(i.texParameteri(this.target,i.TEXTURE_MIN_FILTER,Pa(i,this.minFilter)),i.texParameteri(this.target,i.TEXTURE_MAG_FILTER,Pa(i,this.magFilter))):(i.texParameteri(this.target,i.TEXTURE_MIN_FILTER,Ea(i,this.minFilter)),i.texParameteri(this.target,i.TEXTURE_MAG_FILTER,Ea(i,this.magFilter)));var c=Ea(i,this.format,this.encoding),f=Ea(i,this.type),p=Da(i,this.internalFormat,c,f,this.encoding,!1);i.texStorage2D(i.TEXTURE_2D,a,p,t[0].width,t[0].height);for(var A=0,d=t.length;A5&&void 0!==arguments[5]&&arguments[5];if(null!==t){if(void 0!==e[t])return e[t];console.warn("Attempt to use non-existing WebGL internal format '"+t+"'")}var s=n;return n===e.RED&&(r===e.FLOAT&&(s=e.R32F),r===e.HALF_FLOAT&&(s=e.R16F),r===e.UNSIGNED_BYTE&&(s=e.R8)),n===e.RG&&(r===e.FLOAT&&(s=e.RG32F),r===e.HALF_FLOAT&&(s=e.RG16F),r===e.UNSIGNED_BYTE&&(s=e.RG8)),n===e.RGBA&&(r===e.FLOAT&&(s=e.RGBA32F),r===e.HALF_FLOAT&&(s=e.RGBA16F),r===e.UNSIGNED_BYTE&&(s=3001===i&&!1===a?e.SRGB8_ALPHA8:e.RGBA8),r===e.UNSIGNED_SHORT_4_4_4_4&&(s=e.RGBA4),r===e.UNSIGNED_SHORT_5_5_5_1&&(s=e.RGB5_A1)),s!==e.R16F&&s!==e.R32F&&s!==e.RG16F&&s!==e.RG32F&&s!==e.RGBA16F&&s!==e.RGBA32F||kt(e,"EXT_color_buffer_float"),s}function Pa(e,t){return 1003===t||1004===t||1005===t?e.NEAREST:e.LINEAR}function Ra(e){if(!Ca(e.width)||!Ca(e.height)){var t=document.createElement("canvas");t.width=_a(e.width),t.height=_a(e.height),t.getContext("2d").drawImage(e,0,0,e.width,e.height,0,0,t.width,t.height),e=t}return e}function Ca(e){return 0==(e&e-1)}function _a(e){--e;for(var t=1;t<32;t<<=1)e|=e>>t;return e+1}var Ba=function(e){I(n,ye);var t=m(n);function n(e){var r,i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return b(this,n),(r=t.call(this,e,i))._state=new Wt({texture:new ba({gl:r.scene.canvas.gl}),matrix:$.identityMat4(),hasMatrix:i.translate&&(0!==i.translate[0]||0!==i.translate[1])||!!i.rotate||i.scale&&(0!==i.scale[0]||0!==i.scale[1]),minFilter:r._checkMinFilter(i.minFilter),magFilter:r._checkMagFilter(i.magFilter),wrapS:r._checkWrapS(i.wrapS),wrapT:r._checkWrapT(i.wrapT),flipY:r._checkFlipY(i.flipY),encoding:r._checkEncoding(i.encoding)}),r._src=null,r._image=null,r._translate=$.vec2([0,0]),r._scale=$.vec2([1,1]),r._rotate=$.vec2([0,0]),r._matrixDirty=!1,r.translate=i.translate,r.scale=i.scale,r.rotate=i.rotate,i.src?r.src=i.src:i.image&&(r.image=i.image),re.memory.textures++,r}return P(n,[{key:"type",get:function(){return"Texture"}},{key:"_checkMinFilter",value:function(e){return 1006!==(e=e||1008)&&1007!==e&&1008!==e&&1005!==e&&1004!==e&&(this.error("Unsupported value for 'minFilter' - supported values are LinearFilter, LinearMipMapNearestFilter, NearestMipMapNearestFilter, NearestMipMapLinearFilter and LinearMipMapLinearFilter. Defaulting to LinearMipMapLinearFilter."),e=1008),e}},{key:"_checkMagFilter",value:function(e){return 1006!==(e=e||1006)&&1003!==e&&(this.error("Unsupported value for 'magFilter' - supported values are LinearFilter and NearestFilter. Defaulting to LinearFilter."),e=1006),e}},{key:"_checkWrapS",value:function(e){return 1001!==(e=e||1e3)&&1002!==e&&1e3!==e&&(this.error("Unsupported value for 'wrapS' - supported values are ClampToEdgeWrapping, MirroredRepeatWrapping and RepeatWrapping. Defaulting to RepeatWrapping."),e=1e3),e}},{key:"_checkWrapT",value:function(e){return 1001!==(e=e||1e3)&&1002!==e&&1e3!==e&&(this.error("Unsupported value for 'wrapT' - supported values are ClampToEdgeWrapping, MirroredRepeatWrapping and RepeatWrapping. Defaulting to RepeatWrapping."),e=1e3),e}},{key:"_checkFlipY",value:function(e){return!!e}},{key:"_checkEncoding",value:function(e){return 3e3!==(e=e||3e3)&&3001!==e&&(this.error("Unsupported value for 'encoding' - supported values are LinearEncoding and sRGBEncoding. Defaulting to LinearEncoding."),e=3e3),e}},{key:"_webglContextRestored",value:function(){this._state.texture=new ba({gl:this.scene.canvas.gl}),this._image?this.image=this._image:this._src&&(this.src=this._src)}},{key:"_update",value:function(){var e,t,n=this._state;this._matrixDirty&&(0===this._translate[0]&&0===this._translate[1]||(e=$.translationMat4v([this._translate[0],this._translate[1],0],this._state.matrix)),1===this._scale[0]&&1===this._scale[1]||(t=$.scalingMat4v([this._scale[0],this._scale[1],1]),e=e?$.mulMat4(e,t):t),0!==this._rotate&&(t=$.rotationMat4v(.0174532925*this._rotate,[0,0,1]),e=e?$.mulMat4(e,t):t),e&&(n.matrix=e),this._matrixDirty=!1);this.glRedraw()}},{key:"image",get:function(){return this._image},set:function(e){this._image=Ra(e),this._image.crossOrigin="Anonymous",this._state.texture.setImage(this._image,this._state),this._src=null,this.glRedraw()}},{key:"src",get:function(){return this._src},set:function(e){this.scene.loading++,this.scene.canvas.spinner.processes++;var t=this,n=new Image;n.onload=function(){n=Ra(n),t._state.texture.setImage(n,t._state),t.scene.loading--,t.glRedraw(),t.scene.canvas.spinner.processes--},n.src=e,this._src=e,this._image=null}},{key:"translate",get:function(){return this._translate},set:function(e){this._translate.set(e||[0,0]),this._matrixDirty=!0,this._needUpdate()}},{key:"scale",get:function(){return this._scale},set:function(e){this._scale.set(e||[1,1]),this._matrixDirty=!0,this._needUpdate()}},{key:"rotate",get:function(){return this._rotate},set:function(e){e=e||0,this._rotate!==e&&(this._rotate=e,this._matrixDirty=!0,this._needUpdate())}},{key:"minFilter",get:function(){return this._state.minFilter}},{key:"magFilter",get:function(){return this._state.magFilter}},{key:"wrapS",get:function(){return this._state.wrapS}},{key:"wrapT",get:function(){return this._state.wrapT}},{key:"flipY",get:function(){return this._state.flipY}},{key:"encoding",get:function(){return this._state.encoding}},{key:"destroy",value:function(){v(E(n.prototype),"destroy",this).call(this),this._state.texture&&this._state.texture.destroy(),this._state.destroy(),re.memory.textures--}}]),n}(),Oa=function(e){I(n,ye);var t=m(n);function n(e){var r,i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return b(this,n),(r=t.call(this,e,i))._state=new Wt({edgeColor:$.vec3([0,0,0]),centerColor:$.vec3([1,1,1]),edgeBias:0,centerBias:1,power:1}),r.edgeColor=i.edgeColor,r.centerColor=i.centerColor,r.edgeBias=i.edgeBias,r.centerBias=i.centerBias,r.power=i.power,r}return P(n,[{key:"type",get:function(){return"Fresnel"}},{key:"edgeColor",get:function(){return this._state.edgeColor},set:function(e){this._state.edgeColor.set(e||[0,0,0]),this.glRedraw()}},{key:"centerColor",get:function(){return this._state.centerColor},set:function(e){this._state.centerColor.set(e||[1,1,1]),this.glRedraw()}},{key:"edgeBias",get:function(){return this._state.edgeBias},set:function(e){this._state.edgeBias=e||0,this.glRedraw()}},{key:"centerBias",get:function(){return this._state.centerBias},set:function(e){this._state.centerBias=null!=e?e:1,this.glRedraw()}},{key:"power",get:function(){return this._state.power},set:function(e){this._state.power=null!=e?e:1,this.glRedraw()}},{key:"destroy",value:function(){v(E(n.prototype),"destroy",this).call(this),this._state.destroy()}}]),n}(),Sa=re.memory,Na=$.AABB3(),La=function(e){I(n,In);var t=m(n);function n(e){var r,i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};b(this,n),(r=t.call(this,e,i))._state=new Wt({compressGeometry:!0,primitive:null,primitiveName:null,positionsDecodeMatrix:null,uvDecodeMatrix:null,positionsBuf:null,normalsBuf:null,colorsbuf:null,uvBuf:null,indicesBuf:null,hash:""}),r._numTriangles=0,r._edgeThreshold=i.edgeThreshold||10,r._aabb=null,r._obb=$.OBB3();var a,s=r._state,o=r.scene.canvas.gl;switch(i.primitive=i.primitive||"triangles",i.primitive){case"points":s.primitive=o.POINTS,s.primitiveName=i.primitive;break;case"lines":s.primitive=o.LINES,s.primitiveName=i.primitive;break;case"line-loop":s.primitive=o.LINE_LOOP,s.primitiveName=i.primitive;break;case"line-strip":s.primitive=o.LINE_STRIP,s.primitiveName=i.primitive;break;case"triangles":s.primitive=o.TRIANGLES,s.primitiveName=i.primitive;break;case"triangle-strip":s.primitive=o.TRIANGLE_STRIP,s.primitiveName=i.primitive;break;case"triangle-fan":s.primitive=o.TRIANGLE_FAN,s.primitiveName=i.primitive;break;default:r.error("Unsupported value for 'primitive': '"+i.primitive+"' - supported values are 'points', 'lines', 'line-loop', 'line-strip', 'triangles', 'triangle-strip' and 'triangle-fan'. Defaulting to 'triangles'."),s.primitive=o.TRIANGLES,s.primitiveName=i.primitive}if(!i.positions)return r.error("Config expected: positions"),w(r);if(!i.indices)return r.error("Config expected: indices"),w(r);var l=i.positionsDecodeMatrix;if(l);else{var u=Dn.getPositionsBounds(i.positions),c=Dn.compressPositions(i.positions,u.min,u.max);a=c.quantized,s.positionsDecodeMatrix=c.decodeMatrix,s.positionsBuf=new Dt(o,o.ARRAY_BUFFER,a,a.length,3,o.STATIC_DRAW),Sa.positions+=s.positionsBuf.numItems,$.positions3ToAABB3(i.positions,r._aabb),$.positions3ToAABB3(a,Na,s.positionsDecodeMatrix),$.AABB3ToOBB3(Na,r._obb)}if(i.colors){var f=i.colors.constructor===Float32Array?i.colors:new Float32Array(i.colors);s.colorsBuf=new Dt(o,o.ARRAY_BUFFER,f,f.length,4,o.STATIC_DRAW),Sa.colors+=s.colorsBuf.numItems}if(i.uv){var p=Dn.getUVBounds(i.uv),A=Dn.compressUVs(i.uv,p.min,p.max),d=A.quantized;s.uvDecodeMatrix=A.decodeMatrix,s.uvBuf=new Dt(o,o.ARRAY_BUFFER,d,d.length,2,o.STATIC_DRAW),Sa.uvs+=s.uvBuf.numItems}if(i.normals){var v=Dn.compressNormals(i.normals),h=s.compressGeometry;s.normalsBuf=new Dt(o,o.ARRAY_BUFFER,v,v.length,3,o.STATIC_DRAW,h),Sa.normals+=s.normalsBuf.numItems}var I=i.indices.constructor===Uint32Array||i.indices.constructor===Uint16Array?i.indices:new Uint32Array(i.indices);s.indicesBuf=new Dt(o,o.ELEMENT_ARRAY_BUFFER,I,I.length,1,o.STATIC_DRAW),Sa.indices+=s.indicesBuf.numItems;var y=yn(a,I,s.positionsDecodeMatrix,r._edgeThreshold);return r._edgeIndicesBuf=new Dt(o,o.ELEMENT_ARRAY_BUFFER,y,y.length,1,o.STATIC_DRAW),"triangles"===r._state.primitiveName&&(r._numTriangles=i.indices.length/3),r._buildHash(),Sa.meshes++,r}return P(n,[{key:"type",get:function(){return"VBOGeometry"}},{key:"isVBOGeometry",get:function(){return!0}},{key:"_buildHash",value:function(){var e=this._state,t=["/g"];t.push("/"+e.primitive+";"),e.positionsBuf&&t.push("p"),e.colorsBuf&&t.push("c"),(e.normalsBuf||e.autoVertexNormals)&&t.push("n"),e.uvBuf&&t.push("u"),t.push("cp"),t.push(";"),e.hash=t.join("")}},{key:"_getEdgeIndices",value:function(){return this._edgeIndicesBuf}},{key:"primitive",get:function(){return this._state.primitiveName}},{key:"aabb",get:function(){return this._aabb}},{key:"obb",get:function(){return this._obb}},{key:"numTriangles",get:function(){return this._numTriangles}},{key:"_getState",value:function(){return this._state}},{key:"destroy",value:function(){v(E(n.prototype),"destroy",this).call(this);var e=this._state;e.indicesBuf&&e.indicesBuf.destroy(),e.positionsBuf&&e.positionsBuf.destroy(),e.normalsBuf&&e.normalsBuf.destroy(),e.uvBuf&&e.uvBuf.destroy(),e.colorsBuf&&e.colorsBuf.destroy(),this._edgeIndicesBuf&&this._edgeIndicesBuf.destroy(),e.destroy(),Sa.meshes--}}]),n}(),Ma={};function xa(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return new Promise((function(n,r){t.src||(console.error("load3DSGeometry: Parameter expected: src"),r());var i=e.canvas.spinner;i.processes++,le.loadArraybuffer(t.src,(function(e){e.byteLength||(console.error("load3DSGeometry: no data loaded"),i.processes--,r());var a=Ma.parse.from3DS(e).edit.objects[0].mesh,s=a.vertices,o=a.uvt,l=a.indices;i.processes--,n(le.apply(t,{primitive:"triangles",positions:s,normals:null,uv:o,indices:l}))}),(function(e){console.error("load3DSGeometry: "+e),i.processes--,r()}))}))}function Fa(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return new Promise((function(n,r){t.src||(console.error("loadOBJGeometry: Parameter expected: src"),r());var i=e.canvas.spinner;i.processes++,le.loadArraybuffer(t.src,(function(e){e.byteLength||(console.error("loadOBJGeometry: no data loaded"),i.processes--,r());for(var a=Ma.parse.fromOBJ(e),s=Ma.edit.unwrap(a.i_verts,a.c_verts,3),o=Ma.edit.unwrap(a.i_norms,a.c_norms,3),l=Ma.edit.unwrap(a.i_uvt,a.c_uvt,2),u=new Int32Array(a.i_verts.length),c=0;c0?o:null,autoNormals:0===o.length,uv:l,indices:u}))}),(function(e){console.error("loadOBJGeometry: "+e),i.processes--,r()}))}))}function Ha(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.xSize||1;t<0&&(console.error("negative xSize not allowed - will invert"),t*=-1);var n=e.ySize||1;n<0&&(console.error("negative ySize not allowed - will invert"),n*=-1);var r=e.zSize||1;r<0&&(console.error("negative zSize not allowed - will invert"),r*=-1);var i=e.center,a=i?i[0]:0,s=i?i[1]:0,o=i?i[2]:0,l=-t+a,u=-n+s,c=-r+o,f=t+a,p=n+s,A=r+o;return le.apply(e,{primitive:"lines",positions:[l,u,c,l,u,A,l,p,c,l,p,A,f,u,c,f,u,A,f,p,c,f,p,A],indices:[0,1,1,3,3,2,2,0,4,5,5,7,7,6,6,4,0,4,1,5,2,6,3,7]})}function Ua(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.size||1;t<0&&(console.error("negative size not allowed - will invert"),t*=-1);var n=e.divisions||1;n<0&&(console.error("negative divisions not allowed - will invert"),n*=-1),n<1&&(n=1);for(var r=(t=t||10)/(n=n||10),i=t/2,a=[],s=[],o=0,l=0,u=-i;l<=n;l++,u+=r)a.push(-i),a.push(0),a.push(u),a.push(i),a.push(0),a.push(u),a.push(u),a.push(0),a.push(-i),a.push(u),a.push(0),a.push(i),s.push(o++),s.push(o++),s.push(o++),s.push(o++);return le.apply(e,{primitive:"lines",positions:a,indices:s})}function Ga(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.xSize||1;t<0&&(console.error("negative xSize not allowed - will invert"),t*=-1);var n=e.zSize||1;n<0&&(console.error("negative zSize not allowed - will invert"),n*=-1);var r=e.xSegments||1;r<0&&(console.error("negative xSegments not allowed - will invert"),r*=-1),r<1&&(r=1);var i=e.xSegments||1;i<0&&(console.error("negative zSegments not allowed - will invert"),i*=-1),i<1&&(i=1);var a,s,o,l,u,c,f,p=e.center,A=p?p[0]:0,d=p?p[1]:0,v=p?p[2]:0,h=t/2,I=n/2,y=Math.floor(r)||1,m=Math.floor(i)||1,w=y+1,g=m+1,E=t/y,T=n/m,b=new Float32Array(w*g*3),D=new Float32Array(w*g*3),P=new Float32Array(w*g*2),R=0,C=0;for(a=0;a65535?Uint32Array:Uint16Array)(y*m*6);for(a=0;a0&&void 0!==arguments[0]?arguments[0]:{},t=e.radius||1;t<0&&(console.error("negative radius not allowed - will invert"),t*=-1),t*=.5;var n=e.tube||.3;n<0&&(console.error("negative tube not allowed - will invert"),n*=-1);var r=e.radialSegments||32;r<0&&(console.error("negative radialSegments not allowed - will invert"),r*=-1),r<4&&(r=4);var i=e.tubeSegments||24;i<0&&(console.error("negative tubeSegments not allowed - will invert"),i*=-1),i<4&&(i=4);var a=e.arc||2*Math.PI;a<0&&(console.warn("negative arc not allowed - will invert"),a*=-1),a>360&&(a=360);var s,o,l,u,c,f,p,A,d,v,h,I,y=e.center,m=y?y[0]:0,w=y?y[1]:0,g=y?y[2]:0,E=[],T=[],b=[],D=[];for(A=0;A<=i;A++)for(p=0;p<=r;p++)s=p/r*a,o=.785398+A/i*Math.PI*2,m=t*Math.cos(s),w=t*Math.sin(s),l=(t+n*Math.cos(o))*Math.cos(s),u=(t+n*Math.cos(o))*Math.sin(s),c=n*Math.sin(o),E.push(l+m),E.push(u+w),E.push(c+g),b.push(1-p/r),b.push(A/i),f=$.normalizeVec3($.subVec3([l,u,c],[m,w,g],[]),[]),T.push(f[0]),T.push(f[1]),T.push(f[2]);for(A=1;A<=i;A++)for(p=1;p<=r;p++)d=(r+1)*A+p-1,v=(r+1)*(A-1)+p-1,h=(r+1)*(A-1)+p,I=(r+1)*A+p,D.push(d),D.push(v),D.push(h),D.push(h),D.push(I),D.push(d);return le.apply(e,{positions:E,normals:T,uv:b,indices:D})}Ma.load=function(e,t){var n=new XMLHttpRequest;n.open("GET",e,!0),n.responseType="arraybuffer",n.onload=function(e){t(e.target.response)},n.send()},Ma.save=function(e,t){var n="data:application/octet-stream;base64,"+btoa(Ma.parse._buffToStr(e));window.location.href=n},Ma.clone=function(e){return JSON.parse(JSON.stringify(e))},Ma.bin={},Ma.bin.f=new Float32Array(1),Ma.bin.fb=new Uint8Array(Ma.bin.f.buffer),Ma.bin.rf=function(e,t){for(var n=Ma.bin.f,r=Ma.bin.fb,i=0;i<4;i++)r[i]=e[t+i];return n[0]},Ma.bin.rsl=function(e,t){return e[t]|e[t+1]<<8},Ma.bin.ril=function(e,t){return e[t]|e[t+1]<<8|e[t+2]<<16|e[t+3]<<24},Ma.bin.rASCII0=function(e,t){for(var n="";0!=e[t];)n+=String.fromCharCode(e[t++]);return n},Ma.bin.wf=function(e,t,n){new Float32Array(e.buffer,t,1)[0]=n},Ma.bin.wsl=function(e,t,n){e[t]=n,e[t+1]=n>>8},Ma.bin.wil=function(e,t,n){e[t]=n,e[t+1]=n>>8,e[t+2]=n>>16,e[t+3]},Ma.parse={},Ma.parse._buffToStr=function(e){for(var t=new Uint8Array(e),n="",r=0;ri&&(i=l),ua&&(a=u),cs&&(s=c)}return{min:{x:t,y:n,z:r},max:{x:i,y:a,z:s}}};var ja=function(e){I(n,ye);var t=m(n);function n(e){var r,i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return b(this,n),(r=t.call(this,e,i))._type=i.type||(i.src?i.src.split(".").pop():null)||"jpg",r._pos=$.vec3(i.pos||[0,0,0]),r._up=$.vec3(i.up||[0,1,0]),r._normal=$.vec3(i.normal||[0,0,1]),r._height=i.height||1,r._origin=$.vec3(),r._rtcPos=$.vec3(),r._imageSize=$.vec2(),r._texture=new Ba(g(r),{flipY:!0}),r._image=new Image,"jpg"!==r._type&&"png"!==r._type&&(r.error('Unsupported type - defaulting to "jpg"'),r._type="jpg"),r._node=new da(g(r),{matrix:$.inverseMat4($.lookAtMat4v(r._pos,$.subVec3(r._pos,r._normal,$.mat4()),r._up,$.mat4())),children:[r._bitmapMesh=new Ji(g(r),{scale:[1,1,1],rotation:[-90,0,0],collidable:i.collidable,pickable:i.pickable,opacity:i.opacity,clippable:i.clippable,geometry:new Cn(g(r),Ga({center:[0,0,0],xSize:1,zSize:1,xSegments:2,zSegments:2})),material:new Nn(g(r),{diffuse:[0,0,0],ambient:[0,0,0],specular:[0,0,0],diffuseMap:r._texture,emissiveMap:r._texture,backfaces:!0})})]}),i.image?r.image=i.image:i.src?r.src=i.src:i.imageData&&(r.imageData=i.imageData),r.scene._bitmapCreated(g(r)),r}return P(n,[{key:"visible",get:function(){return this._bitmapMesh.visible},set:function(e){this._bitmapMesh.visible=e}},{key:"image",get:function(){return this._image},set:function(e){this._image=e,this._image&&(this._texture.image=this._image,this._imageSize[0]=this._image.width,this._imageSize[1]=this._image.height,this._updateBitmapMeshScale())}},{key:"src",get:function(){return this._image.src},set:function(e){var t=this;if(e)switch(this._image.onload=function(){t._texture.image=t._image,t._imageSize[0]=t._image.width,t._imageSize[1]=t._image.height,t._updateBitmapMeshScale()},this._image.src=e,e.split(".").pop()){case"jpeg":case"jpg":this._type="jpg";break;case"png":this._type="png"}}},{key:"imageData",get:function(){var e=document.createElement("canvas"),t=e.getContext("2d");return e.width=this._image.width,e.height=this._image.height,t.drawImage(this._image,0,0),e.toDataURL("jpg"===this._type?"image/jpeg":"image/png")},set:function(e){var t=this;this._image.onload=function(){t._texture.image=image,t._imageSize[0]=image.width,t._imageSize[1]=image.height,t._updateBitmapMeshScale()},this._image.src=e}},{key:"type",get:function(){return this._type},set:function(e){"png"===(e=e||"jpg")&&"jpg"===e||(this.error("Unsupported value for `type` - supported types are `jpg` and `png` - defaulting to `jpg`"),e="jpg"),this._type=e}},{key:"pos",get:function(){return this._pos}},{key:"normal",get:function(){return this._normal}},{key:"up",get:function(){return this._up}},{key:"height",get:function(){return this._height},set:function(e){this._height=null==e?1:e,this._image&&this._updateBitmapMeshScale()}},{key:"collidable",get:function(){return this._bitmapMesh.collidable},set:function(e){this._bitmapMesh.collidable=!1!==e}},{key:"clippable",get:function(){return this._bitmapMesh.clippable},set:function(e){this._bitmapMesh.clippable=!1!==e}},{key:"pickable",get:function(){return this._bitmapMesh.pickable},set:function(e){this._bitmapMesh.pickable=!1!==e}},{key:"opacity",get:function(){return this._bitmapMesh.opacity},set:function(e){this._bitmapMesh.opacity=e}},{key:"destroy",value:function(){v(E(n.prototype),"destroy",this).call(this),this.scene._bitmapDestroyed(this)}},{key:"_updateBitmapMeshScale",value:function(){var e=this._imageSize[1]/this._imageSize[0];this._bitmapMesh.scale=[this._height*e,1,this._height]}}]),n}(),Va=function(e){I(n,ye);var t=m(n);function n(e){var r,i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};b(this,n),(r=t.call(this,e,i))._positions=i.positions||[];var a=new Float32Array(r._positions.length),s=$.vec3(),o=100,l=Se(r._positions,new Float32Array(r._positions.length),s,o);if(i.indices)r._indices=i.indices;else{r._indices=[];for(var u=0,c=r._positions.length/3-1;u1&&void 0!==arguments[1]?arguments[1]:{};return b(this,n),(r=t.call(this,"BCFViewpoints",e,i)).originatingSystem=i.originatingSystem||"xeokit.io",r.authoringTool=i.authoringTool||"xeokit.io",r}return P(n,[{key:"getViewpoint",value:function(){var e=this,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=this.viewer.scene,r=n.camera,i=n.realWorldOffset,a=!0===t.reverseClippingPlanes,s={},o=$.normalizeVec3($.subVec3(r.look,r.eye,$.vec3())),l=r.eye,u=r.up;r.yUp&&(o=Ja(o),l=Ja(l),u=Ja(u));var c=Xa($.addVec3(l,i));"ortho"===r.projection?s.orthogonal_camera={camera_view_point:c,camera_direction:Xa(o),camera_up_vector:Xa(u),view_to_world_scale:r.ortho.scale}:s.perspective_camera={camera_view_point:c,camera_direction:Xa(o),camera_up_vector:Xa(u),field_of_view:r.perspective.fov};var f=n.sectionPlanes;for(var A in f)if(f.hasOwnProperty(A)){var d=f[A];if(!d.active)continue;var v=d.pos,h=void 0;h=a?$.negateVec3(d.dir,$.vec3()):d.dir,r.yUp&&(v=Ja(v),h=Ja(h)),$.addVec3(v,i),v=Xa(v),h=Xa(h),s.clipping_planes||(s.clipping_planes=[]),s.clipping_planes.push({location:v,direction:h})}var I=n.lineSets;for(var y in I)if(I.hasOwnProperty(y)){var m=I[y];s.lines||(s.lines=[]);for(var w=m.positions,g=m.indices,E=0,T=g.length/2;E1&&void 0!==arguments[1]?arguments[1]:{};if(e){var r=this.viewer,i=r.scene,a=i.camera,s=!1!==n.rayCast,o=!1!==n.immediate,l=!1!==n.reset,u=i.realWorldOffset,c=!0===n.reverseClippingPlanes;if(i.clearSectionPlanes(),e.clipping_planes&&e.clipping_planes.length>0&&e.clipping_planes.forEach((function(e){var t=qa(e.location,Qa),n=qa(e.direction,Qa);c&&$.negateVec3(n),$.subVec3(t,u),a.yUp&&(t=Za(t),n=Za(n)),new ia(i,{pos:t,dir:n})})),i.clearLines(),e.lines&&e.lines.length>0){var f=[],p=[],A=0;e.lines.forEach((function(e){e.start_point&&e.end_point&&(f.push(e.start_point.x),f.push(e.start_point.y),f.push(e.start_point.z),f.push(e.end_point.x),f.push(e.end_point.y),f.push(e.end_point.z),p.push(A++),p.push(A++))})),new Va(i,{positions:f,indices:p,clippable:!1,collidable:!0})}if(i.clearBitmaps(),e.bitmaps&&e.bitmaps.length>0&&e.bitmaps.forEach((function(e){var t=e.bitmap_type||"jpg",n=e.bitmap_data,r=qa(e.location,Wa),s=qa(e.normal,za),o=qa(e.up,Ka),l=e.height||1;t&&n&&r&&s&&o&&(a.yUp&&(r=Za(r),s=Za(s),o=Za(o)),new ja(i,{src:n,type:t,pos:r,normal:s,up:o,clippable:!1,collidable:!0,height:l}))})),l&&(i.setObjectsXRayed(i.xrayedObjectIds,!1),i.setObjectsHighlighted(i.highlightedObjectIds,!1),i.setObjectsSelected(i.selectedObjectIds,!1)),e.components){if(e.components.visibility){e.components.visibility.default_visibility?(i.setObjectsVisible(i.objectIds,!0),e.components.visibility.exceptions&&e.components.visibility.exceptions.forEach((function(e){return t._withBCFComponent(n,e,(function(e){return e.visible=!1}))}))):(i.setObjectsVisible(i.objectIds,!1),e.components.visibility.exceptions&&e.components.visibility.exceptions.forEach((function(e){return t._withBCFComponent(n,e,(function(e){return e.visible=!0}))})));var d=e.components.visibility.view_setup_hints;d&&(!1===d.spaces_visible&&i.setObjectsVisible(r.metaScene.getObjectIDsByType("IfcSpace"),!0),void 0!==d.spaces_translucent&&i.setObjectsXRayed(r.metaScene.getObjectIDsByType("IfcSpace"),!0),d.space_boundaries_visible,!1===d.openings_visible&&i.setObjectsVisible(r.metaScene.getObjectIDsByType("IfcOpening"),!0),d.space_boundaries_translucent,void 0!==d.openings_translucent&&i.setObjectsXRayed(r.metaScene.getObjectIDsByType("IfcOpening"),!0))}e.components.selection&&(i.setObjectsSelected(i.selectedObjectIds,!1),e.components.selection.forEach((function(e){return t._withBCFComponent(n,e,(function(e){return e.selected=!0}))}))),e.components.translucency&&(i.setObjectsXRayed(i.xrayedObjectIds,!1),e.components.translucency.forEach((function(e){return t._withBCFComponent(n,e,(function(e){return e.xrayed=!0}))}))),e.components.coloring&&e.components.coloring.forEach((function(e){var r=e.color,i=0,a=!1;8===r.length&&((i=parseInt(r.substring(0,2),16)/256)<=1&&i>=.95&&(i=1),r=r.substring(2),a=!0);var s=[parseInt(r.substring(0,2),16)/256,parseInt(r.substring(2,4),16)/256,parseInt(r.substring(4,6),16)/256];e.components.map((function(e){return t._withBCFComponent(n,e,(function(e){e.colorize=s,a&&(e.opacity=i)}))}))}))}if(e.perspective_camera||e.orthogonal_camera){var v,h,I,y;if(e.perspective_camera?(v=qa(e.perspective_camera.camera_view_point,Qa),h=qa(e.perspective_camera.camera_direction,Qa),I=qa(e.perspective_camera.camera_up_vector,Qa),a.perspective.fov=e.perspective_camera.field_of_view,y="perspective"):(v=qa(e.orthogonal_camera.camera_view_point,Qa),h=qa(e.orthogonal_camera.camera_direction,Qa),I=qa(e.orthogonal_camera.camera_up_vector,Qa),a.ortho.scale=e.orthogonal_camera.view_to_world_scale,y="ortho"),$.subVec3(v,u),a.yUp&&(v=Za(v),h=Za(h),I=Za(I)),s){var m=i.pick({pickSurface:!0,origin:v,direction:h});h=m?m.worldPos:$.addVec3(v,h,Qa)}else h=$.addVec3(v,h,Qa);o?(a.eye=v,a.look=h,a.up=I,a.projection=y):r.cameraFlight.flyTo({eye:v,look:h,up:I,duration:n.duration,projection:y})}}}},{key:"_withBCFComponent",value:function(e,t,n){var r=this.viewer,i=r.scene;if(t.authoring_tool_id&&t.originating_system===this.originatingSystem){var a=t.authoring_tool_id,s=i.objects[a];if(s)return void n(s);if(e.updateCompositeObjects)if(r.metaScene.metaObjects[a])return void i.withObjects(r.metaScene.getObjectIDsInSubtree(a),n)}if(t.ifc_guid){var o=t.ifc_guid,l=i.objects[o];if(l)return void n(l);if(e.updateCompositeObjects)if(r.metaScene.metaObjects[o])return void i.withObjects(r.metaScene.getObjectIDsInSubtree(o),n);Object.keys(i.models).forEach((function(t){var a=$.globalizeObjectId(t,o),s=i.objects[a];s?n(s):e.updateCompositeObjects&&r.metaScene.metaObjects[a]&&i.withObjects(r.metaScene.getObjectIDsInSubtree(a),n)}))}}},{key:"destroy",value:function(){v(E(n.prototype),"destroy",this).call(this)}}]),n}();function Xa(e){return{x:e[0],y:e[1],z:e[2]}}function qa(e,t){return(t=new Float64Array(3))[0]=e.x,t[1]=e.y,t[2]=e.z,t}function Ja(e){return new Float64Array([e[0],-e[2],e[1]])}function Za(e){return new Float64Array([e[0],e[2],-e[1]])}function $a(e){var t="";return t+=Math.round(255*e[0]).toString(16).padStart(2,"0"),t+=Math.round(255*e[1]).toString(16).padStart(2,"0"),t+=Math.round(255*e[2]).toString(16).padStart(2,"0")}var es=$.vec3(),ts=function(e,t,n,r){var i=e-n,a=t-r;return Math.sqrt(i*i+a*a)},ns=function(e){I(n,ye);var t=m(n);function n(e){var r,i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(b(this,n),(r=t.call(this,e.viewer.scene,i)).plugin=e,r._container=i.container,!r._container)throw"config missing: container";r._eventSubs={};var a=r.plugin.viewer.scene;r._originMarker=new Xe(a,i.origin),r._targetMarker=new Xe(a,i.target),r._originWorld=$.vec3(),r._targetWorld=$.vec3(),r._wp=new Float64Array(24),r._vp=new Float64Array(24),r._pp=new Float64Array(24),r._cp=new Float64Array(8),r._xAxisLabelCulled=!1,r._yAxisLabelCulled=!1,r._zAxisLabelCulled=!1,r._color=i.color||r.plugin.defaultColor;var s=i.onMouseOver?function(e){i.onMouseOver(e,g(r))}:null,o=i.onMouseLeave?function(e){i.onMouseLeave(e,g(r))}:null,l=i.onContextMenu?function(e){i.onContextMenu(e,g(r))}:null,u=function(e){r.plugin.viewer.scene.canvas.canvas.dispatchEvent(new WheelEvent("wheel",e))};return r._originDot=new Je(r._container,{fillColor:r._color,zIndex:void 0!==e.zIndex?e.zIndex+2:void 0,onMouseOver:s,onMouseLeave:o,onMouseWheel:u,onContextMenu:l}),r._targetDot=new Je(r._container,{fillColor:r._color,zIndex:void 0!==e.zIndex?e.zIndex+2:void 0,onMouseOver:s,onMouseLeave:o,onMouseWheel:u,onContextMenu:l}),r._lengthWire=new qe(r._container,{color:r._color,thickness:2,thicknessClickable:6,zIndex:void 0!==e.zIndex?e.zIndex+1:void 0,onMouseOver:s,onMouseLeave:o,onMouseWheel:u,onContextMenu:l}),r._xAxisWire=new qe(r._container,{color:"#FF0000",thickness:1,thicknessClickable:6,zIndex:void 0!==e.zIndex?e.zIndex+1:void 0,onMouseOver:s,onMouseLeave:o,onMouseWheel:u,onContextMenu:l}),r._yAxisWire=new qe(r._container,{color:"green",thickness:1,thicknessClickable:6,zIndex:void 0!==e.zIndex?e.zIndex+1:void 0,onMouseOver:s,onMouseLeave:o,onMouseWheel:u,onContextMenu:l}),r._zAxisWire=new qe(r._container,{color:"blue",thickness:1,thicknessClickable:6,zIndex:void 0!==e.zIndex?e.zIndex+1:void 0,onMouseOver:s,onMouseLeave:o,onMouseWheel:u,onContextMenu:l}),r._lengthLabel=new Ze(r._container,{fillColor:r._color,prefix:"",text:"",zIndex:void 0!==e.zIndex?e.zIndex+4:void 0,onMouseOver:s,onMouseLeave:o,onMouseWheel:u,onContextMenu:l}),r._xAxisLabel=new Ze(r._container,{fillColor:"red",prefix:"X",text:"",zIndex:void 0!==e.zIndex?e.zIndex+3:void 0,onMouseOver:s,onMouseLeave:o,onMouseWheel:u,onContextMenu:l}),r._yAxisLabel=new Ze(r._container,{fillColor:"green",prefix:"Y",text:"",zIndex:void 0!==e.zIndex?e.zIndex+3:void 0,onMouseOver:s,onMouseLeave:o,onMouseWheel:u,onContextMenu:l}),r._zAxisLabel=new Ze(r._container,{fillColor:"blue",prefix:"Z",text:"",zIndex:void 0!==e.zIndex?e.zIndex+3:void 0,onMouseOver:s,onMouseLeave:o,onMouseWheel:u,onContextMenu:l}),r._wpDirty=!1,r._vpDirty=!1,r._cpDirty=!1,r._sectionPlanesDirty=!0,r._visible=!1,r._originVisible=!1,r._targetVisible=!1,r._wireVisible=!1,r._axisVisible=!1,r._xAxisVisible=!1,r._yAxisVisible=!1,r._zAxisVisible=!1,r._axisEnabled=!0,r._labelsVisible=!1,r._clickable=!1,r._originMarker.on("worldPos",(function(e){r._originWorld.set(e||[0,0,0]),r._wpDirty=!0,r._needUpdate(0)})),r._targetMarker.on("worldPos",(function(e){r._targetWorld.set(e||[0,0,0]),r._wpDirty=!0,r._needUpdate(0)})),r._onViewMatrix=a.camera.on("viewMatrix",(function(){r._vpDirty=!0,r._needUpdate(0)})),r._onProjMatrix=a.camera.on("projMatrix",(function(){r._cpDirty=!0,r._needUpdate()})),r._onCanvasBoundary=a.canvas.on("boundary",(function(){r._cpDirty=!0,r._needUpdate(0)})),r._onMetricsUnits=a.metrics.on("units",(function(){r._cpDirty=!0,r._needUpdate()})),r._onMetricsScale=a.metrics.on("scale",(function(){r._cpDirty=!0,r._needUpdate()})),r._onMetricsOrigin=a.metrics.on("origin",(function(){r._cpDirty=!0,r._needUpdate()})),r._onSectionPlaneUpdated=a.on("sectionPlaneUpdated",(function(){r._sectionPlanesDirty=!0,r._needUpdate()})),r.approximate=i.approximate,r.visible=i.visible,r.originVisible=i.originVisible,r.targetVisible=i.targetVisible,r.wireVisible=i.wireVisible,r.axisVisible=i.axisVisible,r.xAxisVisible=i.xAxisVisible,r.yAxisVisible=i.yAxisVisible,r.zAxisVisible=i.zAxisVisible,r.labelsVisible=i.labelsVisible,r}return P(n,[{key:"_update",value:function(){if(this._visible){var e=this.plugin.viewer.scene;if(this._wpDirty&&(this._wp[0]=this._originWorld[0],this._wp[1]=this._originWorld[1],this._wp[2]=this._originWorld[2],this._wp[3]=1,this._wp[4]=this._targetWorld[0],this._wp[5]=this._originWorld[1],this._wp[6]=this._originWorld[2],this._wp[7]=1,this._wp[8]=this._targetWorld[0],this._wp[9]=this._targetWorld[1],this._wp[10]=this._originWorld[2],this._wp[11]=1,this._wp[12]=this._targetWorld[0],this._wp[13]=this._targetWorld[1],this._wp[14]=this._targetWorld[2],this._wp[15]=1,this._wpDirty=!1,this._vpDirty=!0),this._vpDirty&&($.transformPositions4(e.camera.viewMatrix,this._wp,this._vp),this._vp[3]=1,this._vp[7]=1,this._vp[11]=1,this._vp[15]=1,this._vpDirty=!1,this._cpDirty=!0),this._sectionPlanesDirty){if(this._isSliced(this._wp))return this._xAxisLabel.setCulled(!0),this._yAxisLabel.setCulled(!0),this._zAxisLabel.setCulled(!0),this._lengthLabel.setCulled(!0),this._xAxisWire.setCulled(!0),this._yAxisWire.setCulled(!0),this._zAxisWire.setCulled(!0),this._lengthWire.setCulled(!0),this._originDot.setCulled(!0),void this._targetDot.setCulled(!0);this._xAxisLabel.setCulled(!1),this._yAxisLabel.setCulled(!1),this._zAxisLabel.setCulled(!1),this._lengthLabel.setCulled(!1),this._xAxisWire.setCulled(!1),this._yAxisWire.setCulled(!1),this._zAxisWire.setCulled(!1),this._lengthWire.setCulled(!1),this._originDot.setCulled(!1),this._targetDot.setCulled(!1),this._sectionPlanesDirty=!0}var t=this._originMarker.viewPos[2],n=this._targetMarker.viewPos[2];if(t>-.3||n>-.3)return this._xAxisLabel.setCulled(!0),this._yAxisLabel.setCulled(!0),this._zAxisLabel.setCulled(!0),this._lengthLabel.setCulled(!0),this._xAxisWire.setVisible(!1),this._yAxisWire.setVisible(!1),this._zAxisWire.setVisible(!1),this._lengthWire.setVisible(!1),this._originDot.setVisible(!1),void this._targetDot.setVisible(!1);if(this._cpDirty){$.transformPositions4(e.camera.project.matrix,this._vp,this._pp);for(var r=this._pp,i=this._cp,a=e.canvas.canvas.getBoundingClientRect(),s=this._container.getBoundingClientRect(),o=a.top-s.top,l=a.left-s.left,u=e.canvas.boundary,c=u[2],f=u[3],p=0,A=this.plugin.viewer.scene.metrics,d=A.scale,v=A.units,h=A.unitsInfo[v].abbrev,I=0,y=r.length;I1&&void 0!==arguments[1]?arguments[1]:{};return b(this,n),(r=t.call(this,e.viewer.scene)).pointerLens=i.pointerLens,r._active=!1,r._currentDistanceMeasurement=null,r._currentDistanceMeasurementInitState={wireVisible:null,axisVisible:null,xAxisVisible:null,yaxisVisible:null,zAxisVisible:null,targetVisible:null},r._initMarkerDiv(),r._onCameraControlHoverSnapOrSurface=null,r._onCameraControlHoverSnapOrSurfaceOff=null,r._onMouseDown=null,r._onMouseUp=null,r._onCanvasTouchStart=null,r._onCanvasTouchEnd=null,r._snapping=!1!==i.snapping,r._mouseState=0,r._attachPlugin(e,i),r}return P(n,[{key:"_initMarkerDiv",value:function(){var e=document.createElement("div");e.setAttribute("id","myMarkerDiv");var t=this.scene.canvas.canvas;t.parentNode.insertBefore(e,t),e.style.background="black",e.style.border="2px solid blue",e.style.borderRadius="10px",e.style.width="5px",e.style.height="5px",e.style.margin="-200px -200px",e.style.zIndex="100",e.style.position="absolute",e.style.pointerEvents="none",this._markerDiv=e}},{key:"_destroyMarkerDiv",value:function(){if(this._markerDiv){var e=document.getElementById("myMarkerDiv");e.parentNode.removeChild(e),this._markerDiv=null}}},{key:"_attachPlugin",value:function(e){this.distanceMeasurementsPlugin=e,this.plugin=e}},{key:"active",get:function(){return this._active}},{key:"snapping",get:function(){return this._snapping},set:function(e){e!==this._snapping?(this._snapping=e,this.deactivate(),this.activate()):this._snapping=e}},{key:"activate",value:function(){var e=this;if(!this._active){this._markerDiv||this._initMarkerDiv(),this.fire("activated",!0);var t=this.distanceMeasurementsPlugin,n=this.scene,r=t.viewer.cameraControl,i=n.canvas.canvas;n.input;var a,s,o=!1,l=$.vec3(),u=$.vec2();this._mouseState=0,this._onCameraControlHoverSnapOrSurface=r.on(this._snapping?"hoverSnapOrSurface":"hoverSurface",(function(t){var n=t.snappedCanvasPos||t.canvasPos;o=!0,l.set(t.worldPos),u.set(t.canvasPos),0===e._mouseState?(e._markerDiv.style.marginLeft="".concat(n[0]-5,"px"),e._markerDiv.style.marginTop="".concat(n[1]-5,"px"),e._markerDiv.style.background="pink",t.snappedToVertex||t.snappedToEdge?(e.pointerLens&&(e.pointerLens.visible=!0,e.pointerLens.canvasPos=t.canvasPos,e.pointerLens.snappedCanvasPos=t.snappedCanvasPos||t.canvasPos,e.pointerLens.snapped=!0),e._markerDiv.style.background="greenyellow",e._markerDiv.style.border="2px solid green"):(e.pointerLens&&(e.pointerLens.visible=!0,e.pointerLens.canvasPos=t.canvasPos,e.pointerLens.snappedCanvasPos=t.canvasPos,e.pointerLens.snapped=!1),e._markerDiv.style.background="pink",e._markerDiv.style.border="2px solid red")):(e._markerDiv.style.marginLeft="-10000px",e._markerDiv.style.marginTop="-10000px"),i.style.cursor="pointer",e._currentDistanceMeasurement&&(e._currentDistanceMeasurement.wireVisible=e._currentDistanceMeasurementInitState.wireVisible,e._currentDistanceMeasurement.axisVisible=e._currentDistanceMeasurementInitState.axisVisible&&e.distanceMeasurementsPlugin.defaultAxisVisible,e._currentDistanceMeasurement.xAxisVisible=e._currentDistanceMeasurementInitState.xAxisVisible&&e.distanceMeasurementsPlugin.defaultXAxisVisible,e._currentDistanceMeasurement.yAxisVisible=e._currentDistanceMeasurementInitState.yAxisVisible&&e.distanceMeasurementsPlugin.defaultYAxisVisible,e._currentDistanceMeasurement.zAxisVisible=e._currentDistanceMeasurementInitState.zAxisVisible&&e.distanceMeasurementsPlugin.defaultZAxisVisible,e._currentDistanceMeasurement.targetVisible=e._currentDistanceMeasurementInitState.targetVisible,e._currentDistanceMeasurement.target.worldPos=l.slice(),e._markerDiv.style.marginLeft="-10000px",e._markerDiv.style.marginTop="-10000px")})),i.addEventListener("mousedown",this._onMouseDown=function(e){1===e.which&&(a=e.clientX,s=e.clientY)}),i.addEventListener("mouseup",this._onMouseUp=function(n){1===n.which&&(n.clientX>a+20||n.clientXs+20||n.clientY1&&void 0!==arguments[1]?arguments[1]:{};return b(this,n),(r=t.call(this,"DistanceMeasurements",e))._pointerLens=i.pointerLens,r._container=i.container||document.body,r._defaultControl=null,r._measurements={},r.labelMinAxisLength=i.labelMinAxisLength,r.defaultVisible=!1!==i.defaultVisible,r.defaultOriginVisible=!1!==i.defaultOriginVisible,r.defaultTargetVisible=!1!==i.defaultTargetVisible,r.defaultWireVisible=!1!==i.defaultWireVisible,r.defaultLabelsVisible=!1!==i.defaultLabelsVisible,r.defaultAxisVisible=!1!==i.defaultAxisVisible,r.defaultXAxisVisible=!1!==i.defaultXAxisVisible,r.defaultYAxisVisible=!1!==i.defaultYAxisVisible,r.defaultZAxisVisible=!1!==i.defaultZAxisVisible,r.defaultColor=void 0!==i.defaultColor?i.defaultColor:"#00BBFF",r.zIndex=i.zIndex||1e4,r._onMouseOver=function(e,t){r.fire("mouseOver",{plugin:g(r),distanceMeasurement:t,measurement:t,event:e})},r._onMouseLeave=function(e,t){r.fire("mouseLeave",{plugin:g(r),distanceMeasurement:t,measurement:t,event:e})},r._onContextMenu=function(e,t){r.fire("contextMenu",{plugin:g(r),distanceMeasurement:t,measurement:t,event:e})},r}return P(n,[{key:"getContainerElement",value:function(){return this._container}},{key:"send",value:function(e,t){}},{key:"pointerLens",get:function(){return this._pointerLens}},{key:"control",get:function(){return this._defaultControl||(this._defaultControl=new is(this,{})),this._defaultControl}},{key:"measurements",get:function(){return this._measurements}},{key:"labelMinAxisLength",get:function(){return this._labelMinAxisLength},set:function(e){e<1&&(this.error("labelMinAxisLength must be >= 1; defaulting to 25"),e=25),this._labelMinAxisLength=e||25}},{key:"createMeasurement",value:function(){var e=this,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};this.viewer.scene.components[t.id]&&(this.error("Viewer scene component with this ID already exists: "+t.id),delete t.id);var n=t.origin,r=t.target,i=new ns(this,{id:t.id,plugin:this,container:this._container,origin:{entity:n.entity,worldPos:n.worldPos},target:{entity:r.entity,worldPos:r.worldPos},visible:t.visible,wireVisible:t.wireVisible,axisVisible:!1!==t.axisVisible&&!1!==this.defaultAxisVisible,xAxisVisible:!1!==t.xAxisVisible&&!1!==this.defaultXAxisVisible,yAxisVisible:!1!==t.yAxisVisible&&!1!==this.defaultYAxisVisible,zAxisVisible:!1!==t.zAxisVisible&&!1!==this.defaultZAxisVisible,labelsVisible:!1!==t.labelsVisible&&!1!==this.defaultLabelsVisible,originVisible:t.originVisible,targetVisible:t.targetVisible,color:t.color,onMouseOver:this._onMouseOver,onMouseLeave:this._onMouseLeave,onContextMenu:this._onContextMenu});return this._measurements[i.id]=i,i.on("destroyed",(function(){delete e._measurements[i.id]})),this.fire("measurementCreated",i),i}},{key:"destroyMeasurement",value:function(e){var t=this._measurements[e];t?(t.destroy(),this.fire("measurementDestroyed",t)):this.log("DistanceMeasurement not found: "+e)}},{key:"setLabelsShown",value:function(e){for(var t=0,n=Object.entries(this.measurements);t1&&void 0!==arguments[1]?arguments[1]:{};b(this,n),(r=t.call(this,"FastNav",e))._hideColorTexture=!1!==i.hideColorTexture,r._hidePBR=!1!==i.hidePBR,r._hideSAO=!1!==i.hideSAO,r._hideEdges=!1!==i.hideEdges,r._hideTransparentObjects=!!i.hideTransparentObjects,r._scaleCanvasResolution=!!i.scaleCanvasResolution,r._scaleCanvasResolutionFactor=i.scaleCanvasResolutionFactor||.6,r._delayBeforeRestore=!1!==i.delayBeforeRestore,r._delayBeforeRestoreSeconds=i.delayBeforeRestoreSeconds||.5;var a=1e3*r._delayBeforeRestoreSeconds,s=!1,o=function(){a=1e3*r._delayBeforeRestoreSeconds,s||(e.scene._renderer.setColorTextureEnabled(!r._hideColorTexture),e.scene._renderer.setPBREnabled(!r._hidePBR),e.scene._renderer.setSAOEnabled(!r._hideSAO),e.scene._renderer.setTransparentEnabled(!r._hideTransparentObjects),e.scene._renderer.setEdgesEnabled(!r._hideEdges),r._scaleCanvasResolution?e.scene.canvas.resolutionScale=r._scaleCanvasResolutionFactor:e.scene.canvas.resolutionScale=1,s=!0)},l=function(){e.scene.canvas.resolutionScale=1,e.scene._renderer.setEdgesEnabled(!0),e.scene._renderer.setColorTextureEnabled(!0),e.scene._renderer.setPBREnabled(!0),e.scene._renderer.setSAOEnabled(!0),e.scene._renderer.setTransparentEnabled(!0),s=!1};r._onCanvasBoundary=e.scene.canvas.on("boundary",o),r._onCameraMatrix=e.scene.camera.on("matrix",o),r._onSceneTick=e.scene.on("tick",(function(e){s&&(a-=e.deltaTime,(!r._delayBeforeRestore||a<=0)&&l())}));var u=!1;return r._onSceneMouseDown=e.scene.input.on("mousedown",(function(){u=!0})),r._onSceneMouseUp=e.scene.input.on("mouseup",(function(){u=!1})),r._onSceneMouseMove=e.scene.input.on("mousemove",(function(){u&&o()})),r}return P(n,[{key:"hideColorTexture",get:function(){return this._hideColorTexture},set:function(e){this._hideColorTexture=e}},{key:"hidePBR",get:function(){return this._hidePBR},set:function(e){this._hidePBR=e}},{key:"hideSAO",get:function(){return this._hideSAO},set:function(e){this._hideSAO=e}},{key:"hideEdges",get:function(){return this._hideEdges},set:function(e){this._hideEdges=e}},{key:"hideTransparentObjects",get:function(){return this._hideTransparentObjects},set:function(e){this._hideTransparentObjects=!1!==e}},{key:"scaleCanvasResolution",get:function(){return this._scaleCanvasResolution},set:function(e){this._scaleCanvasResolution=e}},{key:"scaleCanvasResolutionFactor",get:function(){return this._scaleCanvasResolutionFactor},set:function(e){this._scaleCanvasResolutionFactor=e||.6}},{key:"delayBeforeRestore",get:function(){return this._delayBeforeRestore},set:function(e){this._delayBeforeRestore=e}},{key:"delayBeforeRestoreSeconds",get:function(){return this._delayBeforeRestoreSeconds},set:function(e){this._delayBeforeRestoreSeconds=null!=e?e:.5}},{key:"send",value:function(e,t){}},{key:"destroy",value:function(){this.viewer.scene.camera.off(this._onCameraMatrix),this.viewer.scene.canvas.off(this._onCanvasBoundary),this.viewer.scene.input.off(this._onSceneMouseDown),this.viewer.scene.input.off(this._onSceneMouseUp),this.viewer.scene.input.off(this._onSceneMouseMove),this.viewer.scene.off(this._onSceneTick),v(E(n.prototype),"destroy",this).call(this)}}]),n}(),os=function(){function e(){b(this,e)}return P(e,[{key:"getMetaModel",value:function(e,t,n){le.loadJSON(e,(function(e){t(e)}),(function(e){n(e)}))}},{key:"getGLTF",value:function(e,t,n){le.loadArraybuffer(e,(function(e){t(e)}),(function(e){n(e)}))}},{key:"getGLB",value:function(e,t,n){le.loadArraybuffer(e,(function(e){t(e)}),(function(e){n(e)}))}},{key:"getArrayBuffer",value:function(e,t,n,r){!function(e,t,n,r){var i=function(){};n=n||i,r=r||i;var a=/^data:(.*?)(;base64)?,(.*)$/,s=t.match(a);if(s){var o=!!s[2],l=s[3];l=window.decodeURIComponent(l),o&&(l=window.atob(l));try{for(var u=new ArrayBuffer(l.length),c=new Uint8Array(u),f=0;f0&&void 0!==arguments[0]?arguments[0]:{};b(this,e),this._eventSubIDMap=null,this._eventSubEvents=null,this._eventSubs=null,this._events=null,this._locale="en",this._messages={},this._locales=[],this._locale="en",this.messages=t.messages,this.locale=t.locale}return P(e,[{key:"messages",set:function(e){this._messages=e||{},this._locales=Object.keys(this._messages),this.fire("updated",this)}},{key:"loadMessages",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};for(var t in e)this._messages[t]=e[t];this.messages=this._messages}},{key:"clearMessages",value:function(){this.messages={}}},{key:"locales",get:function(){return this._locales}},{key:"locale",get:function(){return this._locale},set:function(e){e=e||"de",this._locale!==e&&(this._locale=e,this.fire("updated",e))}},{key:"translate",value:function(e,t){var n=this._messages[this._locale];if(!n)return null;var r=us(e,n);return r?t?cs(r,t):r:null}},{key:"translatePlurals",value:function(e,t,n){var r=this._messages[this._locale];if(!r)return null;var i=us(e,r);return(i=0===(t=parseInt(""+t,10))?i.zero:t>1?i.other:i.one)?(i=cs(i,[t]),n&&(i=cs(i,n)),i):null}},{key:"fire",value:function(e,t,n){this._events||(this._events={}),this._eventSubs||(this._eventSubs={}),!0!==n&&(this._events[e]=t||!0);var r=this._eventSubs[e];if(r)for(var i in r){if(r.hasOwnProperty(i))r[i].callback(t)}}},{key:"on",value:function(e,t){this._events||(this._events={}),this._eventSubIDMap||(this._eventSubIDMap=new G),this._eventSubEvents||(this._eventSubEvents={}),this._eventSubs||(this._eventSubs={});var n=this._eventSubs[e];n||(n={},this._eventSubs[e]=n);var r=this._eventSubIDMap.addItem();n[r]={callback:t},this._eventSubEvents[r]=e;var i=this._events[e];return void 0!==i&&t(i),r}},{key:"off",value:function(e){if(null!=e&&this._eventSubEvents){var t=this._eventSubEvents[e];if(t){delete this._eventSubEvents[e];var n=this._eventSubs[t];n&&delete n[e],this._eventSubIDMap.removeItem(e)}}}}]),e}();function us(e,t){if(t[e])return t[e];for(var n=e.split("."),r=t,i=0,a=n.length;r&&i1&&void 0!==arguments[1]?arguments[1]:[];return e.replace(/\{\{|\}\}|\{(\d+)\}/g,(function(e,n){return"{{"===e?"{":"}}"===e?"}":t[n]}))}var fs=function(e){I(n,ye);var t=m(n);function n(e){var r,i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return b(this,n),(r=t.call(this,e,i)).t=i.t,r}return P(n,[{key:"t",get:function(){return this._t},set:function(e){e=e||0,this._t=e<0?0:e>1?1:e}},{key:"tangent",get:function(){return this.getTangent(this._t)}},{key:"length",get:function(){var e=this._getLengths();return e[e.length-1]}},{key:"getTangent",value:function(e){var t=1e-4;void 0===e&&(e=this._t);var n=e-t,r=e+t;n<0&&(n=0),r>1&&(r=1);var i=this.getPoint(n),a=this.getPoint(r),s=$.subVec3(a,i,[]);return $.normalizeVec3(s,[])}},{key:"getPointAt",value:function(e){var t=this.getUToTMapping(e);return this.getPoint(t)}},{key:"getPoints",value:function(e){e||(e=5);var t,n=[];for(t=0;t<=e;t++)n.push(this.getPoint(t/e));return n}},{key:"_getLengths",value:function(e){if(e||(e=this.__arcLengthDivisions?this.__arcLengthDivisions:200),this.cacheArcLengths&&this.cacheArcLengths.length===e+1&&!this.needsUpdate)return this.cacheArcLengths;this.needsUpdate=!1;var t,n,r=[],i=this.getPoint(0),a=0;for(r.push(0),n=1;n<=e;n++)t=this.getPoint(n/e),a+=$.lenVec3($.subVec3(t,i,[])),r.push(a),i=t;return this.cacheArcLengths=r,r}},{key:"_updateArcLengths",value:function(){this.needsUpdate=!0,this._getLengths()}},{key:"getUToTMapping",value:function(e,t){var n,r=this._getLengths(),i=0,a=r.length;n=t||e*r[a-1];for(var s,o=0,l=a-1;o<=l;)if((s=r[i=Math.floor(o+(l-o)/2)]-n)<0)o=i+1;else{if(!(s>0)){l=i;break}l=i-1}if(r[i=l]===n)return i/(a-1);var u=r[i];return(i+(n-u)/(r[i+1]-u))/(a-1)}}]),n}(),ps=function(e){I(n,fs);var t=m(n);function n(e){var r,i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return b(this,n),(r=t.call(this,e,i)).points=i.points,r.t=i.t,r}return P(n,[{key:"points",get:function(){return this._points},set:function(e){this._points=e||[]}},{key:"t",get:function(){return this._t},set:function(e){e=e||0,this._t=e<0?0:e>1?1:e}},{key:"point",get:function(){return this.getPoint(this._t)}},{key:"getPoint",value:function(e){var t=this.points;if(!(t.length<3)){var n=(t.length-1)*e,r=Math.floor(n),i=n-r,a=t[0===r?r:r-1],s=t[r],o=t[r>t.length-2?t.length-1:r+1],l=t[r>t.length-3?t.length-1:r+2],u=$.vec3();return u[0]=$.catmullRomInterpolate(a[0],s[0],o[0],l[0],i),u[1]=$.catmullRomInterpolate(a[1],s[1],o[1],l[1],i),u[2]=$.catmullRomInterpolate(a[2],s[2],o[2],l[2],i),u}this.error("Can't sample point from SplineCurve - not enough points on curve - returning [0,0,0].")}},{key:"getJSON",value:function(){return{points:points,t:this._t}}}]),n}(),As=$.vec3(),ds=function(e){I(n,ye);var t=m(n);function n(e){var r,i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return b(this,n),(r=t.call(this,e,i))._frames=[],r._eyeCurve=new ps(g(r)),r._lookCurve=new ps(g(r)),r._upCurve=new ps(g(r)),i.frames&&(r.addFrames(i.frames),r.smoothFrameTimes(1)),r}return P(n,[{key:"type",get:function(){return"CameraPath"}},{key:"frames",get:function(){return this._frames}},{key:"eyeCurve",get:function(){return this._eyeCurve}},{key:"lookCurve",get:function(){return this._lookCurve}},{key:"upCurve",get:function(){return this._upCurve}},{key:"saveFrame",value:function(e){var t=this.scene.camera;this.addFrame(e,t.eye,t.look,t.up)}},{key:"addFrame",value:function(e,t,n,r){var i={t:e,eye:t.slice(0),look:n.slice(0),up:r.slice(0)};this._frames.push(i),this._eyeCurve.points.push(i.eye),this._lookCurve.points.push(i.look),this._upCurve.points.push(i.up)}},{key:"addFrames",value:function(e){for(var t,n=0,r=e.length;n1?1:e,t.eye=this._eyeCurve.getPoint(e,As),t.look=this._lookCurve.getPoint(e,As),t.up=this._upCurve.getPoint(e,As)}},{key:"sampleFrame",value:function(e,t,n,r){e=e<0?0:e>1?1:e,this._eyeCurve.getPoint(e,t),this._lookCurve.getPoint(e,n),this._upCurve.getPoint(e,r)}},{key:"smoothFrameTimes",value:function(e){if(0!==this._frames.length){var t=$.vec3(),n=0;this._frames[0].t=0;for(var r=[],i=1,a=this._frames.length;i1&&void 0!==arguments[1]?arguments[1]:{};return b(this,n),(r=t.call(this,e,i))._look1=$.vec3(),r._eye1=$.vec3(),r._up1=$.vec3(),r._look2=$.vec3(),r._eye2=$.vec3(),r._up2=$.vec3(),r._orthoScale1=1,r._orthoScale2=1,r._flying=!1,r._flyEyeLookUp=!1,r._flyingEye=!1,r._flyingLook=!1,r._callback=null,r._callbackScope=null,r._time1=null,r._time2=null,r.easing=!1!==i.easing,r.duration=i.duration,r.fit=i.fit,r.fitFOV=i.fitFOV,r.trail=i.trail,r}return P(n,[{key:"type",get:function(){return"CameraFlightAnimation"}},{key:"flyTo",value:function(e,t,n){e=e||this.scene,this._flying&&this.stop(),this._flying=!1,this._flyingEye=!1,this._flyingLook=!1,this._flyingEyeLookUp=!1,this._callback=t,this._callbackScope=n;var r,i,a,s,o,l=this.scene.camera,u=!!e.projection&&e.projection!==l.projection;if(this._eye1[0]=l.eye[0],this._eye1[1]=l.eye[1],this._eye1[2]=l.eye[2],this._look1[0]=l.look[0],this._look1[1]=l.look[1],this._look1[2]=l.look[2],this._up1[0]=l.up[0],this._up1[1]=l.up[1],this._up1[2]=l.up[2],this._orthoScale1=l.ortho.scale,this._orthoScale2=e.orthoScale||this._orthoScale1,e.aabb)r=e.aabb;else if(6===e.length)r=e;else if(e.eye&&e.look||e.up)i=e.eye,a=e.look,s=e.up;else if(e.eye)i=e.eye;else if(e.look)a=e.look;else{var c=e;if((le.isNumeric(c)||le.isString(c))&&(o=c,!(c=this.scene.components[o])))return this.error("Component not found: "+le.inQuotes(o)),void(t&&(n?t.call(n):t()));u||(r=c.aabb||this.scene.aabb)}var f=e.poi;if(r){if(r[3]=1;e>1&&(e=1);var r=this.easing?n._ease(e,0,1,1):e,i=this.scene.camera;if(this._flyingEye||this._flyingLook?this._flyingEye?($.subVec3(i.eye,i.look,ms),i.eye=$.lerpVec3(r,0,1,this._eye1,this._eye2,Is),i.look=$.subVec3(Is,ms,hs)):this._flyingLook&&(i.look=$.lerpVec3(r,0,1,this._look1,this._look2,hs),i.up=$.lerpVec3(r,0,1,this._up1,this._up2,ys)):this._flyingEyeLookUp&&(i.eye=$.lerpVec3(r,0,1,this._eye1,this._eye2,Is),i.look=$.lerpVec3(r,0,1,this._look1,this._look2,hs),i.up=$.lerpVec3(r,0,1,this._up1,this._up2,ys)),this._projection2){var a="ortho"===this._projection2?n._easeOutExpo(e,0,1,1):n._easeInCubic(e,0,1,1);i.customProjection.matrix=$.lerpMat4(a,0,1,this._projMatrix1,this._projMatrix2)}else i.ortho.scale=this._orthoScale1+e*(this._orthoScale2-this._orthoScale1);if(t)return i.ortho.scale=this._orthoScale2,void this.stop();he.scheduleTask(this._update,this)}}},{key:"stop",value:function(){if(this._flying){this._flying=!1,this._time1=null,this._time2=null,this._projection2&&(this.scene.camera.projection=this._projection2);var e=this._callback;e&&(this._callback=null,this._callbackScope?e.call(this._callbackScope):e()),this.fire("stopped",!0,!0)}}},{key:"cancel",value:function(){this._flying&&(this._flying=!1,this._time1=null,this._time2=null,this._callback&&(this._callback=null),this.fire("canceled",!0,!0))}},{key:"duration",get:function(){return this._duration/1e3},set:function(e){this._duration=e?1e3*e:500,this.stop()}},{key:"fit",get:function(){return this._fit},set:function(e){this._fit=!1!==e}},{key:"fitFOV",get:function(){return this._fitFOV},set:function(e){this._fitFOV=e||45}},{key:"trail",get:function(){return this._trail},set:function(e){this._trail=!!e}},{key:"destroy",value:function(){this.stop(),v(E(n.prototype),"destroy",this).call(this)}}],[{key:"_ease",value:function(e,t,n,r){return-n*(e/=r)*(e-2)+t}},{key:"_easeInCubic",value:function(e,t,n,r){return n*(e/=r)*e*e+t}},{key:"_easeOutExpo",value:function(e,t,n,r){return n*(1-Math.pow(2,-10*e/r))+t}}]),n}(),gs=function(e){I(n,ye);var t=m(n);function n(e){var r,i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return b(this,n),(r=t.call(this,e,i))._cameraFlightAnimation=new ws(g(r)),r._t=0,r.state=n.SCRUBBING,r._playingFromT=0,r._playingToT=0,r._playingRate=i.playingRate||1,r._playingDir=1,r._lastTime=null,r.cameraPath=i.cameraPath,r._tick=r.scene.on("tick",r._updateT,g(r)),r}return P(n,[{key:"type",get:function(){return"CameraPathAnimation"}},{key:"_updateT",value:function(){var e=this._cameraPath;if(e){var t,r,i=performance.now(),a=this._lastTime?.001*(i-this._lastTime):0;if(this._lastTime=i,0!==a)switch(this.state){case n.SCRUBBING:return;case n.PLAYING:if(this._t+=this._playingRate*a,0===(t=this._cameraPath.frames.length)||this._playingDir<0&&this._t<=0||this._playingDir>0&&this._t>=this._cameraPath.frames[t-1].t)return this.state=n.SCRUBBING,this._t=this._cameraPath.frames[t-1].t,void this.fire("stopped");e.loadFrame(this._t);break;case n.PLAYING_TO:r=this._t+this._playingRate*a*this._playingDir,(this._playingDir<0&&r<=this._playingToT||this._playingDir>0&&r>=this._playingToT)&&(r=this._playingToT,this.state=n.SCRUBBING,this.fire("stopped")),this._t=r,e.loadFrame(this._t)}}}},{key:"_ease",value:function(e,t,n,r){return-n*(e/=r)*(e-2)+t}},{key:"cameraPath",get:function(){return this._cameraPath},set:function(e){this._cameraPath=e}},{key:"rate",get:function(){return this._playingRate},set:function(e){this._playingRate=e}},{key:"play",value:function(){this._cameraPath&&(this._lastTime=null,this.state=n.PLAYING)}},{key:"playToT",value:function(e){this._cameraPath&&(this._playingFromT=this._t,this._playingToT=e,this._playingDir=this._playingToT-this._playingFromT<0?-1:1,this._lastTime=null,this.state=n.PLAYING_TO)}},{key:"playToFrame",value:function(e){var t=this._cameraPath;if(t){var n=t.frames[e];n?this.playToT(n.t):this.error("playToFrame - frame index out of range: "+e)}}},{key:"flyToFrame",value:function(e,t){var r=this._cameraPath;if(r){var i=r.frames[e];i?(this.state=n.SCRUBBING,this._cameraFlightAnimation.flyTo(i,t)):this.error("flyToFrame - frame index out of range: "+e)}}},{key:"scrubToT",value:function(e){var t=this._cameraPath;t&&(this.scene.camera&&(this._t=e,t.loadFrame(this._t),this.state=n.SCRUBBING))}},{key:"scrubToFrame",value:function(e){var t=this._cameraPath;t&&(this.scene.camera&&(t.frames[e]?(t.loadFrame(this._t),this.state=n.SCRUBBING):this.error("playToFrame - frame index out of range: "+e)))}},{key:"stop",value:function(){this.state=n.SCRUBBING,this.fire("stopped")}},{key:"destroy",value:function(){v(E(n.prototype),"destroy",this).call(this),this.scene.off(this._tick)}}]),n}();gs.STOPPED=0,gs.SCRUBBING=1,gs.PLAYING=2,gs.PLAYING_TO=3;var Es=$.vec3(),Ts=$.vec3();$.vec3();var bs=$.vec3([0,-1,0]),Ds=$.vec4([0,0,0,1]),Ps=function(e){I(n,ye);var t=m(n);function n(e){var r,i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return b(this,n),(r=t.call(this,e,i))._src=null,r._image=null,r._pos=$.vec3(),r._origin=$.vec3(),r._rtcPos=$.vec3(),r._dir=$.vec3(),r._size=1,r._imageSize=$.vec2(),r._texture=new Ba(g(r)),r._plane=new Ji(g(r),{geometry:new Cn(g(r),Ga({center:[0,0,0],xSize:1,zSize:1,xSegments:10,zSegments:10})),material:new Nn(g(r),{diffuse:[0,0,0],ambient:[0,0,0],specular:[0,0,0],diffuseMap:r._texture,emissiveMap:r._texture,backfaces:!0}),clippable:i.clippable}),r._grid=new Ji(g(r),{geometry:new Cn(g(r),Ua({size:1,divisions:10})),material:new Nn(g(r),{diffuse:[0,0,0],ambient:[0,0,0],emissive:[.2,.8,.2]}),position:[0,.001,0],clippable:i.clippable}),r._node=new da(g(r),{rotation:[0,0,0],position:[0,0,0],scale:[1,1,1],clippable:!1,children:[r._plane,r._grid]}),r._gridVisible=!1,r.visible=!0,r.gridVisible=i.gridVisible,r.position=i.position,r.rotation=i.rotation,r.dir=i.dir,r.size=i.size,r.collidable=i.collidable,r.clippable=i.clippable,r.pickable=i.pickable,r.opacity=i.opacity,i.image?r.image=i.image:r.src=i.src,r}return P(n,[{key:"visible",get:function(){return this._plane.visible},set:function(e){this._plane.visible=e,this._grid.visible=this._gridVisible&&e}},{key:"gridVisible",get:function(){return this._gridVisible},set:function(e){e=!1!==e,this._gridVisible=e,this._grid.visible=this._gridVisible&&this.visible}},{key:"image",get:function(){return this._image},set:function(e){this._image=e,this._image&&(this._imageSize[0]=e.width,this._imageSize[1]=e.height,this._updatePlaneSizeFromImage(),this._src=null,this._texture.image=this._image)}},{key:"src",get:function(){return this._src},set:function(e){var t=this;if(this._src=e,this._src){this._image=null;var n=new Image;n.onload=function(){t._texture.image=n,t._imageSize[0]=n.width,t._imageSize[1]=n.height,t._updatePlaneSizeFromImage()},n.src=this._src}}},{key:"position",get:function(){return this._pos},set:function(e){this._pos.set(e||[0,0,0]),Oe(this._pos,this._origin,this._rtcPos),this._node.origin=this._origin,this._node.position=this._rtcPos}},{key:"rotation",get:function(){return this._node.rotation},set:function(e){this._node.rotation=e}},{key:"size",get:function(){return this._size},set:function(e){this._size=null==e?1:e,this._image&&this._updatePlaneSizeFromImage()}},{key:"dir",get:function(){return this._dir},set:function(e){if(this._dir.set(e||[0,0,-1]),e){var t=this.scene.center,n=[-this._dir[0],-this._dir[1],-this._dir[2]];$.subVec3(t,this.position,Es);var r=-$.dotVec3(n,Es);$.normalizeVec3(n),$.mulVec3Scalar(n,r,Ts),$.vec3PairToQuaternion(bs,e,Ds),this._node.quaternion=Ds}}},{key:"collidable",get:function(){return this._node.collidable},set:function(e){this._node.collidable=!1!==e}},{key:"clippable",get:function(){return this._node.clippable},set:function(e){this._node.clippable=!1!==e}},{key:"pickable",get:function(){return this._node.pickable},set:function(e){this._node.pickable=!1!==e}},{key:"opacity",get:function(){return this._node.opacity},set:function(e){this._node.opacity=e}},{key:"destroy",value:function(){v(E(n.prototype),"destroy",this).call(this)}},{key:"_updatePlaneSizeFromImage",value:function(){var e=this._size,t=this._imageSize[0],n=this._imageSize[1];if(t>n){var r=n/t;this._node.scale=[e,1,e*r]}else{var i=t/n;this._node.scale=[e*i,1,e]}}}]),n}(),Rs=function(e){I(n,dn);var t=m(n);function n(e){var r,i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};b(this,n);var a=g(r=t.call(this,e,i));r._shadowRenderBuf=null,r._shadowViewMatrix=null,r._shadowProjMatrix=null,r._shadowViewMatrixDirty=!0,r._shadowProjMatrixDirty=!0;var s=r.scene.camera,o=r.scene.canvas;return r._onCameraViewMatrix=s.on("viewMatrix",(function(){r._shadowViewMatrixDirty=!0})),r._onCameraProjMatrix=s.on("projMatrix",(function(){r._shadowProjMatrixDirty=!0})),r._onCanvasBoundary=o.on("boundary",(function(){r._shadowProjMatrixDirty=!0})),r._state=new Wt({type:"point",pos:$.vec3([1,1,1]),color:$.vec3([.7,.7,.8]),intensity:1,attenuation:[0,0,0],space:i.space||"view",castsShadow:!1,getShadowViewMatrix:function(){if(a._shadowViewMatrixDirty){a._shadowViewMatrix||(a._shadowViewMatrix=$.identityMat4());var e=a._state.pos,t=s.look,n=s.up;$.lookAtMat4v(e,t,n,a._shadowViewMatrix),a._shadowViewMatrixDirty=!1}return a._shadowViewMatrix},getShadowProjMatrix:function(){if(a._shadowProjMatrixDirty){a._shadowProjMatrix||(a._shadowProjMatrix=$.identityMat4());var e=a.scene.canvas.canvas;$.perspectiveMat4(Math.PI/180*70,e.clientWidth/e.clientHeight,.1,500,a._shadowProjMatrix),a._shadowProjMatrixDirty=!1}return a._shadowProjMatrix},getShadowRenderBuf:function(){return a._shadowRenderBuf||(a._shadowRenderBuf=new Ut(a.scene.canvas.canvas,a.scene.canvas.gl,{size:[1024,1024]})),a._shadowRenderBuf}}),r.pos=i.pos,r.color=i.color,r.intensity=i.intensity,r.constantAttenuation=i.constantAttenuation,r.linearAttenuation=i.linearAttenuation,r.quadraticAttenuation=i.quadraticAttenuation,r.castsShadow=i.castsShadow,r.scene._lightCreated(g(r)),r}return P(n,[{key:"type",get:function(){return"PointLight"}},{key:"pos",get:function(){return this._state.pos},set:function(e){this._state.pos.set(e||[1,1,1]),this._shadowViewMatrixDirty=!0,this.glRedraw()}},{key:"color",get:function(){return this._state.color},set:function(e){this._state.color.set(e||[.7,.7,.8]),this.glRedraw()}},{key:"intensity",get:function(){return this._state.intensity},set:function(e){e=void 0!==e?e:1,this._state.intensity=e,this.glRedraw()}},{key:"constantAttenuation",get:function(){return this._state.attenuation[0]},set:function(e){this._state.attenuation[0]=e||0,this.glRedraw()}},{key:"linearAttenuation",get:function(){return this._state.attenuation[1]},set:function(e){this._state.attenuation[1]=e||0,this.glRedraw()}},{key:"quadraticAttenuation",get:function(){return this._state.attenuation[2]},set:function(e){this._state.attenuation[2]=e||0,this.glRedraw()}},{key:"castsShadow",get:function(){return this._state.castsShadow},set:function(e){e=!!e,this._state.castsShadow!==e&&(this._state.castsShadow=e,this._shadowViewMatrixDirty=!0,this.glRedraw())}},{key:"destroy",value:function(){var e=this.scene.camera,t=this.scene.canvas;e.off(this._onCameraViewMatrix),e.off(this._onCameraProjMatrix),t.off(this._onCanvasBoundary),v(E(n.prototype),"destroy",this).call(this),this._state.destroy(),this._shadowRenderBuf&&this._shadowRenderBuf.destroy(),this.scene._lightDestroyed(this),this.glRedraw()}}]),n}();function Cs(e){return 0==(e&e-1)}function _s(e){--e;for(var t=1;t<32;t<<=1)e|=e>>t;return e+1}var Bs=function(e){I(n,ye);var t=m(n);function n(e){var r,i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};b(this,n);var a=(r=t.call(this,e,i)).scene.canvas.gl;return r._state=new Wt({texture:new ba({gl:a,target:a.TEXTURE_CUBE_MAP}),flipY:r._checkFlipY(i.minFilter),encoding:r._checkEncoding(i.encoding),minFilter:1008,magFilter:1006,wrapS:1001,wrapT:1001,mipmaps:!0}),r._src=i.src,r._images=[],r._loadSrc(i.src),re.memory.textures++,r}return P(n,[{key:"type",get:function(){return"CubeTexture"}},{key:"_checkFlipY",value:function(e){return!!e}},{key:"_checkEncoding",value:function(e){return 3e3!==(e=e||3e3)&&3001!==e&&(this.error("Unsupported value for 'encoding' - supported values are LinearEncoding and sRGBEncoding. Defaulting to LinearEncoding."),e=3e3),e}},{key:"_webglContextRestored",value:function(){this.scene.canvas.gl,this._state.texture=null,this._src&&this._loadSrc(this._src)}},{key:"_loadSrc",value:function(e){var t=this,n=this.scene.canvas.gl;this._images=[];for(var r=!1,i=0,a=function(a){var s,o,l=new Image;l.onload=(s=l,o=a,function(){if(!r&&(s=function(e){if(!Cs(e.width)||!Cs(e.height)){var t=document.createElement("canvas");t.width=_s(e.width),t.height=_s(e.height),t.getContext("2d").drawImage(e,0,0,e.width,e.height,0,0,t.width,t.height),e=t}return e}(s),t._images[o]=s,6==++i)){var e=t._state.texture;e||(e=new ba({gl:n,target:n.TEXTURE_CUBE_MAP}),t._state.texture=e),e.setImage(t._images,t._state),t.fire("loaded",t._src,!1),t.glRedraw()}}),l.onerror=function(){r=!0},l.src=e[a]},s=0;s1&&void 0!==arguments[1]?arguments[1]:{};return b(this,n),(r=t.call(this,e,i)).scene._lightsState.addReflectionMap(r._state),r.scene._reflectionMapCreated(g(r)),r}return P(n,[{key:"type",get:function(){return"ReflectionMap"}},{key:"destroy",value:function(){v(E(n.prototype),"destroy",this).call(this),this.scene._reflectionMapDestroyed(this)}}]),n}(),Ss=function(e){I(n,Bs);var t=m(n);function n(e){var r,i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return b(this,n),(r=t.call(this,e,i)).scene._lightMapCreated(g(r)),r}return P(n,[{key:"type",get:function(){return"LightMap"}},{key:"destroy",value:function(){v(E(n.prototype),"destroy",this).call(this),this.scene._lightMapDestroyed(this)}}]),n}(),Ns=function(e){I(n,Xe);var t=m(n);function n(e){var r,i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return b(this,n),(r=t.call(this,e,{entity:i.entity,occludable:i.occludable,worldPos:i.worldPos}))._occluded=!1,r._visible=!0,r._src=null,r._image=null,r._pos=$.vec3(),r._origin=$.vec3(),r._rtcPos=$.vec3(),r._dir=$.vec3(),r._size=1,r._imageSize=$.vec2(),r._texture=new Ba(g(r),{src:i.src}),r._geometry=new Cn(g(r),{primitive:"triangles",positions:[3,3,0,-3,3,0,-3,-3,0,3,-3,0],normals:[-1,0,0,-1,0,0,-1,0,0,-1,0,0],uv:[1,-1,0,-1,0,0,1,0],indices:[0,1,2,0,2,3]}),r._mesh=new Ji(g(r),{geometry:r._geometry,material:new Nn(g(r),{ambient:[.9,.3,.9],shininess:30,diffuseMap:r._texture,backfaces:!0}),scale:[1,1,1],position:i.worldPos,rotation:[90,0,0],billboard:"spherical",occluder:!1}),r.visible=!0,r.collidable=i.collidable,r.clippable=i.clippable,r.pickable=i.pickable,r.opacity=i.opacity,r.size=i.size,i.image?r.image=i.image:r.src=i.src,r}return P(n,[{key:"_setVisible",value:function(e){this._occluded=!e,this._mesh.visible=this._visible&&!this._occluded,v(E(n.prototype),"_setVisible",this).call(this,e)}},{key:"visible",get:function(){return this._visible},set:function(e){this._visible=null==e||e,this._mesh.visible=this._visible&&!this._occluded}},{key:"image",get:function(){return this._image},set:function(e){this._image=e,this._image&&(this._imageSize[0]=this._image.width,this._imageSize[1]=this._image.height,this._updatePlaneSizeFromImage(),this._src=null,this._texture.image=this._image)}},{key:"src",get:function(){return this._src},set:function(e){var t=this;if(this._src=e,this._src){this._image=null;var n=new Image;n.onload=function(){t._texture.image=n,t._imageSize[0]=n.width,t._imageSize[1]=n.height,t._updatePlaneSizeFromImage()},n.src=this._src}}},{key:"size",get:function(){return this._size},set:function(e){this._size=null==e?1:e,this._image&&this._updatePlaneSizeFromImage()}},{key:"collidable",get:function(){return this._mesh.collidable},set:function(e){this._mesh.collidable=!1!==e}},{key:"clippable",get:function(){return this._mesh.clippable},set:function(e){this._mesh.clippable=!1!==e}},{key:"pickable",get:function(){return this._mesh.pickable},set:function(e){this._mesh.pickable=!1!==e}},{key:"opacity",get:function(){return this._mesh.opacity},set:function(e){this._mesh.opacity=e}},{key:"_updatePlaneSizeFromImage",value:function(){var e=.5*this._size,t=this._imageSize[0],n=this._imageSize[1],r=n/t;this._geometry.positions=t>n?[e,e*r,0,-e,e*r,0,-e,-e*r,0,e,-e*r,0]:[e/r,e,0,-e/r,e,0,-e/r,-e,0,e/r,-e,0]}}]),n}(),Ls=function(){function e(t){b(this,e),this._eye=$.vec3(),this._look=$.vec3(),this._up=$.vec3(),this._projection={},t&&this.saveCamera(t)}return P(e,[{key:"saveCamera",value:function(e){var t=e.camera,n=t.project;switch(this._eye.set(t.eye),this._look.set(t.look),this._up.set(t.up),t.projection){case"perspective":this._projection={projection:"perspective",fov:n.fov,fovAxis:n.fovAxis,near:n.near,far:n.far};break;case"ortho":this._projection={projection:"ortho",scale:n.scale,near:n.near,far:n.far};break;case"frustum":this._projection={projection:"frustum",left:n.left,right:n.right,top:n.top,bottom:n.bottom,near:n.near,far:n.far};break;case"custom":this._projection={projection:"custom",matrix:n.matrix.slice()}}}},{key:"restoreCamera",value:function(e,t){var n=e.camera,r=this._projection;function i(){switch(r.type){case"perspective":n.perspective.fov=r.fov,n.perspective.fovAxis=r.fovAxis,n.perspective.near=r.near,n.perspective.far=r.far;break;case"ortho":n.ortho.scale=r.scale,n.ortho.near=r.near,n.ortho.far=r.far;break;case"frustum":n.frustum.left=r.left,n.frustum.right=r.right,n.frustum.top=r.top,n.frustum.bottom=r.bottom,n.frustum.near=r.near,n.frustum.far=r.far;break;case"custom":n.customProjection.matrix=r.matrix}}t?e.viewer.cameraFlight.flyTo({eye:this._eye,look:this._look,up:this._up,orthoScale:r.scale,projection:r.projection},(function(){i(),t()})):(n.eye=this._eye,n.look=this._look,n.up=this._up,i(),n.projection=r.projection)}}]),e}(),Ms=$.vec3(),xs=function(){function e(t){if(b(this,e),this.objectsVisible=[],this.objectsEdges=[],this.objectsXrayed=[],this.objectsHighlighted=[],this.objectsSelected=[],this.objectsClippable=[],this.objectsPickable=[],this.objectsColorize=[],this.objectsOpacity=[],this.numObjects=0,t){var n=t.metaScene.scene;this.saveObjects(n,t)}}return P(e,[{key:"saveObjects",value:function(e,t,n){this.numObjects=0,this._mask=n?le.apply(n,{}):null;for(var r=!n||n.visible,i=!n||n.edges,a=!n||n.xrayed,s=!n||n.highlighted,o=!n||n.selected,l=!n||n.clippable,u=!n||n.pickable,c=!n||n.colorize,f=!n||n.opacity,p=t.metaObjects,A=e.objects,d=0,v=p.length;d1&&void 0!==arguments[1]?arguments[1]:{};return b(this,n),(r=t.call(this,e,i)).v0=i.v0,r.v1=i.v1,r.v2=i.v2,r.v3=i.v3,r.t=i.t,r}return P(n,[{key:"v0",get:function(){return this._v0},set:function(e){this._v0=e||$.vec3([0,0,0])}},{key:"v1",get:function(){return this._v1},set:function(e){this._v1=e||$.vec3([0,0,0])}},{key:"v2",get:function(){return this._v2},set:function(e){this._v2=e||$.vec3([0,0,0])}},{key:"v3",get:function(){return this._v3},set:function(e){this.fire("v3",this._v3=e||$.vec3([0,0,0]))}},{key:"t",get:function(){return this._t},set:function(e){e=e||0,this._t=e<0?0:e>1?1:e}},{key:"point",get:function(){return this.getPoint(this._t)}},{key:"getPoint",value:function(e){var t=$.vec3();return t[0]=$.b3(e,this._v0[0],this._v1[0],this._v2[0],this._v3[0]),t[1]=$.b3(e,this._v0[1],this._v1[1],this._v2[1],this._v3[1]),t[2]=$.b3(e,this._v0[2],this._v1[2],this._v2[2],this._v3[2]),t}},{key:"getJSON",value:function(){return{v0:this._v0,v1:this._v1,v2:this._v2,v3:this._v3,t:this._t}}}]),n}(),Gs=function(e){I(n,fs);var t=m(n);function n(e){var r,i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return b(this,n),(r=t.call(this,e,i))._cachedLengths=[],r._dirty=!0,r._curves=[],r._t=0,r._dirtySubs=[],r._destroyedSubs=[],r.curves=i.curves||[],r.t=i.t,r}return P(n,[{key:"addCurve",value:function(e){this._curves.push(e),this._dirty=!0}},{key:"curves",get:function(){return this._curves},set:function(e){var t,n,r;for(e=e||[],n=0,r=this._curves.length;n1?1:e}},{key:"point",get:function(){return this.getPoint(this._t)}},{key:"length",get:function(){var e=this._getCurveLengths();return e[e.length-1]}},{key:"getPoint",value:function(e){for(var t,n=e*this.length,r=this._getCurveLengths(),i=0;i=n){var a=1-(r[i]-n)/(t=this._curves[i]).length;return t.getPointAt(a)}i++}return null}},{key:"_getCurveLengths",value:function(){if(!this._dirty)return this._cachedLengths;var e,t=[],n=0,r=this._curves.length;for(e=0;e1&&void 0!==arguments[1]?arguments[1]:{};return b(this,n),(r=t.call(this,e,i)).v0=i.v0,r.v1=i.v1,r.v2=i.v2,r.t=i.t,r}return P(n,[{key:"v0",get:function(){return this._v0},set:function(e){this._v0=e||$.vec3([0,0,0])}},{key:"v1",get:function(){return this._v1},set:function(e){this._v1=e||$.vec3([0,0,0])}},{key:"v2",get:function(){return this._v2},set:function(e){this._v2=e||$.vec3([0,0,0])}},{key:"t",get:function(){return this._t},set:function(e){e=e||0,this._t=e<0?0:e>1?1:e}},{key:"point",get:function(){return this.getPoint(this._t)}},{key:"getPoint",value:function(e){var t=$.vec3();return t[0]=$.b2(e,this._v0[0],this._v1[0],this._v2[0]),t[1]=$.b2(e,this._v0[1],this._v1[1],this._v2[1]),t[2]=$.b2(e,this._v0[2],this._v1[2],this._v2[2]),t}},{key:"getJSON",value:function(){return{v0:this._v0,v1:this._v1,v2:this._v2,t:this._t}}}]),n}(),js=$.OBB3(),Vs=$.OBB3(),Qs=$.OBB3(),Ws=function(){function e(t,n,r,i,a,s){var o=arguments.length>6&&void 0!==arguments[6]?arguments[6]:null,l=arguments.length>7&&void 0!==arguments[7]?arguments[7]:0;b(this,e),this.model=t,this.object=null,this.parent=null,this.transform=a,this.textureSet=s,this._matrixDirty=!1,this._matrixUpdateScheduled=!1,this.id=n,this.obb=null,this._aabbLocal=null,this._aabbWorld=$.AABB3(),this._aabbWorldDirty=!1,this.layer=o,this.portionId=l,this._color=new Uint8Array([r[0],r[1],r[2],i]),this._colorize=new Uint8Array([r[0],r[1],r[2],i]),this._colorizing=!1,this._transparent=i<255,this.numTriangles=0,this.origin=null,this.entity=null,a&&a._addMesh(this)}return P(e,[{key:"_sceneModelDirty",value:function(){this._aabbWorldDirty=!0}},{key:"_transformDirty",value:function(){this._matrixDirty||this._matrixUpdateScheduled||(this.model._meshMatrixDirty(this),this._matrixDirty=!0,this._matrixUpdateScheduled=!0),this._aabbWorldDirty=!0,this.entity&&this.entity._transformDirty()}},{key:"_updateMatrix",value:function(){this.transform&&this._matrixDirty&&this.layer.setMatrix(this.portionId,this.transform.worldMatrix),this._matrixDirty=!1,this._matrixUpdateScheduled=!1}},{key:"_finalize",value:function(e){this.layer.initFlags(this.portionId,e,this._transparent)}},{key:"_finalize2",value:function(){this.layer.flushInitFlags&&this.layer.flushInitFlags()}},{key:"_setVisible",value:function(e){this.layer.setVisible(this.portionId,e,this._transparent)}},{key:"_setColor",value:function(e){this._color[0]=e[0],this._color[1]=e[1],this._color[2]=e[2],this._colorizing||this.layer.setColor(this.portionId,this._color,!1)}},{key:"_setColorize",value:function(e){e?(this._colorize[0]=e[0],this._colorize[1]=e[1],this._colorize[2]=e[2],this.layer.setColor(this.portionId,this._colorize,false),this._colorizing=!0):(this.layer.setColor(this.portionId,this._color,false),this._colorizing=!1)}},{key:"_setOpacity",value:function(e,t){var n=e<255,r=this._transparent!==n;this._color[3]=e,this._colorize[3]=e,this._transparent=n,this._colorizing?this.layer.setColor(this.portionId,this._colorize):this.layer.setColor(this.portionId,this._color),r&&this.layer.setTransparent(this.portionId,t,n)}},{key:"_setOffset",value:function(e){this.layer.setOffset(this.portionId,e)}},{key:"_setHighlighted",value:function(e){this.layer.setHighlighted(this.portionId,e,this._transparent)}},{key:"_setXRayed",value:function(e){this.layer.setXRayed(this.portionId,e,this._transparent)}},{key:"_setSelected",value:function(e){this.layer.setSelected(this.portionId,e,this._transparent)}},{key:"_setEdges",value:function(e){this.layer.setEdges(this.portionId,e,this._transparent)}},{key:"_setClippable",value:function(e){this.layer.setClippable(this.portionId,e,this._transparent)}},{key:"_setCollidable",value:function(e){this.layer.setCollidable(this.portionId,e)}},{key:"_setPickable",value:function(e){this.layer.setPickable(this.portionId,e,this._transparent)}},{key:"_setCulled",value:function(e){this.layer.setCulled(this.portionId,e,this._transparent)}},{key:"canPickTriangle",value:function(){return!1}},{key:"drawPickTriangles",value:function(e,t){}},{key:"pickTriangleSurface",value:function(e){}},{key:"precisionRayPickSurface",value:function(e,t,n,r){return!!this.layer.precisionRayPickSurface&&this.layer.precisionRayPickSurface(this.portionId,e,t,n,r)}},{key:"canPickWorldPos",value:function(){return!0}},{key:"drawPickDepths",value:function(e){this.model.drawPickDepths(e)}},{key:"drawPickNormals",value:function(e){this.model.drawPickNormals(e)}},{key:"delegatePickedEntity",value:function(){return this.parent}},{key:"getEachVertex",value:function(e){this.layer.getEachVertex(this.portionId,e)}},{key:"aabb",get:function(){if(this._aabbWorldDirty){if($.AABB3ToOBB3(this._aabbLocal,js),this.transform?($.transformOBB3(this.transform.worldMatrix,js,Vs),$.transformOBB3(this.model.worldMatrix,Vs,Qs),$.OBB3ToAABB3(Qs,this._aabbWorld)):($.transformOBB3(this.model.worldMatrix,js,Vs),$.OBB3ToAABB3(Vs,this._aabbWorld)),this.origin){var e=this.origin;this._aabbWorld[0]+=e[0],this._aabbWorld[1]+=e[1],this._aabbWorld[2]+=e[2],this._aabbWorld[3]+=e[0],this._aabbWorld[4]+=e[1],this._aabbWorld[5]+=e[2]}this._aabbWorldDirty=!1}return this._aabbWorld},set:function(e){this._aabbLocal=e}},{key:"_destroy",value:function(){this.model.scene._renderer.putPickID(this.pickId)}}]),e}(),zs=new(function(){function e(){b(this,e),this._uint8Arrays={},this._float32Arrays={}}return P(e,[{key:"_clear",value:function(){this._uint8Arrays={},this._float32Arrays={}}},{key:"getUInt8Array",value:function(e){var t=this._uint8Arrays[e];return t||(t=new Uint8Array(e),this._uint8Arrays[e]=t),t}},{key:"getFloat32Array",value:function(e){var t=this._float32Arrays[e];return t||(t=new Float32Array(e),this._float32Arrays[e]=t),t}}]),e}()),Ks=0;function Ys(){return Ks++,zs}var Xs={NOT_RENDERED:0,COLOR_OPAQUE:1,COLOR_TRANSPARENT:2,SILHOUETTE_HIGHLIGHTED:3,SILHOUETTE_SELECTED:4,SILHOUETTE_XRAYED:5,EDGES_COLOR_OPAQUE:6,EDGES_COLOR_TRANSPARENT:7,EDGES_HIGHLIGHTED:8,EDGES_SELECTED:9,EDGES_XRAYED:10,PICK:11},qs=new Float32Array([1,1,1,1]),Js=new Float32Array([0,0,0,1]),Zs=$.vec4(),$s=$.vec3(),eo=$.vec3(),to=$.mat4(),no=function(){function e(t){var n=arguments.length>1&&void 0!==arguments[1]&&arguments[1],r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},i=r.instancing,a=void 0!==i&&i,s=r.edges,o=void 0!==s&&s;b(this,e),this._scene=t,this._withSAO=n,this._instancing=a,this._edges=o,this._hash=this._getHash(),this._matricesUniformBlockBufferBindingPoint=0,this._matricesUniformBlockBuffer=this._scene.canvas.gl.createBuffer(),this._matricesUniformBlockBufferData=new Float32Array(96),this._vaoCache=new WeakMap,this._allocate()}return P(e,[{key:"_getHash",value:function(){return this._scene._sectionPlanesState.getHash()}},{key:"_buildShader",value:function(){return{vertex:this._buildVertexShader(),fragment:this._buildFragmentShader()}}},{key:"_buildVertexShader",value:function(){return[""]}},{key:"_buildFragmentShader",value:function(){return[""]}},{key:"_addMatricesUniformBlockLines",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];return e.push("uniform Matrices {"),e.push(" mat4 worldMatrix;"),e.push(" mat4 viewMatrix;"),e.push(" mat4 projMatrix;"),e.push(" mat4 positionsDecodeMatrix;"),t&&(e.push(" mat4 worldNormalMatrix;"),e.push(" mat4 viewNormalMatrix;")),e.push("};"),e}},{key:"_addRemapClipPosLines",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1;return e.push("uniform vec2 drawingBufferSize;"),e.push("uniform vec2 pickClipPos;"),e.push("vec4 remapClipPos(vec4 clipPos) {"),e.push(" clipPos.xy /= clipPos.w;"),1===t?e.push(" clipPos.xy = (clipPos.xy - pickClipPos) * drawingBufferSize;"):e.push(" clipPos.xy = (clipPos.xy - pickClipPos) * (drawingBufferSize / float(".concat(t,"));")),e.push(" clipPos.xy *= clipPos.w;"),e.push(" return clipPos;"),e.push("}"),e}},{key:"getValid",value:function(){return this._hash===this._getHash()}},{key:"setSectionPlanesStateUniforms",value:function(e){var t=this._scene,n=t.canvas.gl,r=e.model,i=e.layerIndex,a=t._sectionPlanesState.getNumAllocatedSectionPlanes(),s=t._sectionPlanesState.sectionPlanes.length;if(a>0)for(var o=t._sectionPlanesState.sectionPlanes,l=i*s,u=r.renderFlags,c=0;c0&&(this._uReflectionMap="reflectionMap"),n.lightMaps.length>0&&(this._uLightMap="lightMap"),this._uSectionPlanes=[];for(var o=0,l=e._sectionPlanesState.getNumAllocatedSectionPlanes();o3&&void 0!==arguments[3]?arguments[3]:{},i=r.colorUniform,a=void 0!==i&&i,s=r.incrementDrawState,o=void 0!==s&&s,l=dt.MAX_TEXTURE_IMAGE_UNITS,u=this._scene,c=u.canvas.gl,f=t._state,p=t.model,A=f.textureSet,d=f.origin,v=f.positionsDecodeMatrix,h=u._lightsState,I=u.pointsMaterial,y=p.scene.camera,m=y.viewNormalMatrix,w=y.project,g=e.pickViewMatrix||y.viewMatrix,E=p.position,T=p.rotationMatrix,b=p.rotationMatrixConjugate,D=p.worldNormalMatrix;if(this._program||(this._allocate(),!this.errors)){e.lastProgramId!==this._program.id&&(e.lastProgramId=this._program.id,this._bindProgram(e)),this._vaoCache.has(t)?c.bindVertexArray(this._vaoCache.get(t)):this._vaoCache.set(t,this._makeVAO(f));var P=0,R=16;this._matricesUniformBlockBufferData.set(b,0);var C=0!==d[0]||0!==d[1]||0!==d[2],_=0!==E[0]||0!==E[1]||0!==E[2];if(C||_){var B=$s;if(C){var O=$.transformPoint3(T,d,eo);B[0]=O[0],B[1]=O[1],B[2]=O[2]}else B[0]=0,B[1]=0,B[2]=0;B[0]+=E[0],B[1]+=E[1],B[2]+=E[2],this._matricesUniformBlockBufferData.set(Be(g,B,to),P+=R)}else this._matricesUniformBlockBufferData.set(g,P+=R);if(this._matricesUniformBlockBufferData.set(e.pickProjMatrix||w.matrix,P+=R),this._matricesUniformBlockBufferData.set(v,P+=R),this._matricesUniformBlockBufferData.set(D,P+=R),this._matricesUniformBlockBufferData.set(m,P+=R),c.bindBuffer(c.UNIFORM_BUFFER,this._matricesUniformBlockBuffer),c.bufferData(c.UNIFORM_BUFFER,this._matricesUniformBlockBufferData,c.DYNAMIC_DRAW),c.bindBufferBase(c.UNIFORM_BUFFER,this._matricesUniformBlockBufferBindingPoint,this._matricesUniformBlockBuffer),c.uniform1i(this._uRenderPass,n),this.setSectionPlanesStateUniforms(t),u.logarithmicDepthBufferEnabled){if(this._uLogDepthBufFC){var S=2/(Math.log(e.pickZFar+1)/Math.LN2);c.uniform1f(this._uLogDepthBufFC,S)}this._uZFar&&c.uniform1f(this._uZFar,u.camera.project.far)}if(this._uPickInvisible&&c.uniform1i(this._uPickInvisible,e.pickInvisible),this._uPickZNear&&c.uniform1f(this._uPickZNear,e.pickZNear),this._uPickZFar&&c.uniform1f(this._uPickZFar,e.pickZFar),this._uPickClipPos&&c.uniform2fv(this._uPickClipPos,e.pickClipPos),this._uDrawingBufferSize&&c.uniform2f(this._uDrawingBufferSize,c.drawingBufferWidth,c.drawingBufferHeight),this._uUVDecodeMatrix&&c.uniformMatrix3fv(this._uUVDecodeMatrix,!1,f.uvDecodeMatrix),this._uIntensityRange&&I.filterIntensity&&c.uniform2f(this._uIntensityRange,I.minIntensity,I.maxIntensity),this._uPointSize&&c.uniform1f(this._uPointSize,I.pointSize),this._uNearPlaneHeight){var N="ortho"===u.camera.projection?1:c.drawingBufferHeight/(2*Math.tan(.5*u.camera.perspective.fov*Math.PI/180));c.uniform1f(this._uNearPlaneHeight,N)}if(A){var L=A.colorTexture,M=A.metallicRoughnessTexture,x=A.emissiveTexture,F=A.normalsTexture,H=A.occlusionTexture;this._uColorMap&&L&&(this._program.bindTexture(this._uColorMap,L.texture,e.textureUnit),e.textureUnit=(e.textureUnit+1)%l),this._uMetallicRoughMap&&M&&(this._program.bindTexture(this._uMetallicRoughMap,M.texture,e.textureUnit),e.textureUnit=(e.textureUnit+1)%l),this._uEmissiveMap&&x&&(this._program.bindTexture(this._uEmissiveMap,x.texture,e.textureUnit),e.textureUnit=(e.textureUnit+1)%l),this._uNormalMap&&F&&(this._program.bindTexture(this._uNormalMap,F.texture,e.textureUnit),e.textureUnit=(e.textureUnit+1)%l),this._uAOMap&&H&&(this._program.bindTexture(this._uAOMap,H.texture,e.textureUnit),e.textureUnit=(e.textureUnit+1)%l)}if(h.reflectionMaps.length>0&&h.reflectionMaps[0].texture&&this._uReflectionMap&&(this._program.bindTexture(this._uReflectionMap,h.reflectionMaps[0].texture,e.textureUnit),e.textureUnit=(e.textureUnit+1)%l,e.bindTexture++),h.lightMaps.length>0&&h.lightMaps[0].texture&&this._uLightMap&&(this._program.bindTexture(this._uLightMap,h.lightMaps[0].texture,e.textureUnit),e.textureUnit=(e.textureUnit+1)%l,e.bindTexture++),this._withSAO){var U=u.sao,G=U.possible;if(G){var k=c.drawingBufferWidth,j=c.drawingBufferHeight;Zs[0]=k,Zs[1]=j,Zs[2]=U.blendCutoff,Zs[3]=U.blendFactor,c.uniform4fv(this._uSAOParams,Zs),this._program.bindTexture(this._uOcclusionTexture,e.occlusionTexture,e.textureUnit),e.textureUnit=(e.textureUnit+1)%l,e.bindTexture++}}if(a){var V=this._edges?"edgeColor":"fillColor",Q=this._edges?"edgeAlpha":"fillAlpha";if(n===Xs["".concat(this._edges?"EDGES":"SILHOUETTE","_XRAYED")]){var W=u.xrayMaterial._state,z=W[V],K=W[Q];c.uniform4f(this._uColor,z[0],z[1],z[2],K)}else if(n===Xs["".concat(this._edges?"EDGES":"SILHOUETTE","_HIGHLIGHTED")]){var Y=u.highlightMaterial._state,X=Y[V],q=Y[Q];c.uniform4f(this._uColor,X[0],X[1],X[2],q)}else if(n===Xs["".concat(this._edges?"EDGES":"SILHOUETTE","_SELECTED")]){var J=u.selectedMaterial._state,Z=J[V],ee=J[Q];c.uniform4f(this._uColor,Z[0],Z[1],Z[2],ee)}else c.uniform4fv(this._uColor,this._edges?Js:qs)}this._draw({state:f,frameCtx:e,incrementDrawState:o}),c.bindVertexArray(null)}}},{key:"webglContextRestored",value:function(){this._program=null}},{key:"destroy",value:function(){this._program&&this._program.destroy(),this._program=null,re.memory.programs--}}]),e}(),ro=function(e){I(n,no);var t=m(n);function n(e,r){var i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},a=i.instancing,s=void 0!==a&&a,o=i.edges,l=void 0!==o&&o;return b(this,n),t.call(this,e,r,{instancing:s,edges:l})}return P(n,[{key:"_draw",value:function(e){var t=this._scene.canvas.gl,n=e.state,r=e.frameCtx,i=e.incrementDrawState;if(this._edges)t.drawElements(t.LINES,n.edgeIndicesBuf.numItems,n.edgeIndicesBuf.itemType,0);else{var a=r.pickElementsCount||n.indicesBuf.numItems,s=r.pickElementsOffset?r.pickElementsOffset*n.indicesBuf.itemByteSize:0;t.drawElements(t.TRIANGLES,a,n.indicesBuf.itemType,s),i&&r.drawElements++}}}]),n}(),io=function(e){I(n,ro);var t=m(n);function n(e,r){return b(this,n),t.call(this,e,r,{instancing:!1,edges:!0})}return P(n)}(),ao=function(e){I(n,no);var t=m(n);function n(e,r){var i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},a=i.edges,s=void 0!==a&&a;return b(this,n),t.call(this,e,r,{instancing:!0,edges:s})}return P(n,[{key:"_draw",value:function(e){var t=this._scene.canvas.gl,n=e.state,r=e.frameCtx,i=e.incrementDrawState;this._edges?t.drawElementsInstanced(t.LINES,n.edgeIndicesBuf.numItems,n.edgeIndicesBuf.itemType,0,n.numInstances):(t.drawElementsInstanced(t.TRIANGLES,n.indicesBuf.numItems,n.indicesBuf.itemType,0,n.numInstances),i&&r.drawElements++)}}]),n}(),so=function(e){I(n,ao);var t=m(n);function n(e,r){return b(this,n),t.call(this,e,r,{instancing:!0,edges:!0})}return P(n)}(),oo=function(e){I(n,no);var t=m(n);function n(){return b(this,n),t.apply(this,arguments)}return P(n,[{key:"_draw",value:function(e){var t=this._scene.canvas.gl,n=e.state,r=e.frameCtx,i=e.incrementDrawState;t.drawArrays(t.POINTS,0,n.positionsBuf.numItems),i&&r.drawArrays++}}]),n}(),lo=function(e){I(n,no);var t=m(n);function n(e,r){return b(this,n),t.call(this,e,r,{instancing:!0})}return P(n,[{key:"_draw",value:function(e){var t=this._scene.canvas.gl,n=e.state,r=e.frameCtx,i=e.incrementDrawState;t.drawArraysInstanced(t.POINTS,0,n.positionsBuf.numItems,n.numInstances),i&&r.drawArrays++}}]),n}(),uo=function(e){I(n,no);var t=m(n);function n(){return b(this,n),t.apply(this,arguments)}return P(n,[{key:"_draw",value:function(e){var t=this._scene.canvas.gl,n=e.state,r=e.frameCtx,i=e.incrementDrawState;t.drawElements(t.LINES,n.indicesBuf.numItems,n.indicesBuf.itemType,0),i&&r.drawElements++}}]),n}(),co=function(e){I(n,no);var t=m(n);function n(e,r){return b(this,n),t.call(this,e,r,{instancing:!0})}return P(n,[{key:"_draw",value:function(e){var t=this._scene.canvas.gl,n=e.state,r=e.frameCtx,i=e.incrementDrawState;t.drawElementsInstanced(t.LINES,n.indicesBuf.numItems,n.indicesBuf.itemType,0,n.numInstances),i&&r.drawElements++}}]),n}(),fo=function(e){I(n,ro);var t=m(n);function n(){return b(this,n),t.apply(this,arguments)}return P(n,[{key:"_getHash",value:function(){var e=this._scene;return[e._lightsState.getHash(),e._sectionPlanesState.getHash(),this._withSAO?"sao":"nosao"].join(";")}},{key:"drawLayer",value:function(e,t,r){v(E(n.prototype),"drawLayer",this).call(this,e,t,r,{incrementDrawState:!0})}},{key:"_buildVertexShader",value:function(){var e,t=this._scene,n=t._sectionPlanesState,r=t._lightsState,i=n.getNumAllocatedSectionPlanes()>0,a=[];a.push("#version 300 es"),a.push("// Triangles batching draw vertex shader"),a.push("uniform int renderPass;"),a.push("in vec3 position;"),a.push("in vec3 normal;"),a.push("in vec4 color;"),a.push("in float flags;"),t.entityOffsetsEnabled&&a.push("in vec3 offset;"),this._addMatricesUniformBlockLines(a,!0),t.logarithmicDepthBufferEnabled&&(a.push("uniform float logDepthBufFC;"),a.push("out float vFragDepth;"),a.push("bool isPerspectiveMatrix(mat4 m) {"),a.push(" return (m[2][3] == - 1.0);"),a.push("}"),a.push("out float isPerspective;")),a.push("uniform vec4 lightAmbient;");for(var s=0,o=r.lights.length;s= 0.0 ? 1.0 : -1.0, v.y >= 0.0 ? 1.0 : -1.0);"),a.push(" }"),a.push(" return normalize(v);"),a.push("}"),i&&(a.push("out vec4 vWorldPosition;"),a.push("out float vFlags;")),a.push("out vec4 vColor;"),a.push("void main(void) {"),a.push("int colorFlag = int(flags) & 0xF;"),a.push("if (colorFlag != renderPass) {"),a.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),a.push("} else {"),a.push("vec4 worldPosition = worldMatrix * (positionsDecodeMatrix * vec4(position, 1.0)); "),t.entityOffsetsEnabled&&a.push("worldPosition.xyz = worldPosition.xyz + offset;"),a.push("vec4 viewPosition = viewMatrix * worldPosition; "),a.push("vec4 worldNormal = worldNormalMatrix * vec4(octDecode(normal.xy), 0.0); "),a.push("vec3 viewNormal = normalize((viewNormalMatrix * worldNormal).xyz);"),a.push("vec3 reflectedColor = vec3(0.0, 0.0, 0.0);"),a.push("vec3 viewLightDir = vec3(0.0, 0.0, -1.0);"),a.push("float lambertian = 1.0;");for(var l=0,u=r.lights.length;l0,r=[];if(r.push("#version 300 es"),r.push("// Triangles batching draw fragment shader"),r.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),r.push("precision highp float;"),r.push("precision highp int;"),r.push("#else"),r.push("precision mediump float;"),r.push("precision mediump int;"),r.push("#endif"),e.logarithmicDepthBufferEnabled&&(r.push("in float isPerspective;"),r.push("uniform float logDepthBufFC;"),r.push("in float vFragDepth;")),this._withSAO&&(r.push("uniform sampler2D uOcclusionTexture;"),r.push("uniform vec4 uSAOParams;"),r.push("const float packUpscale = 256. / 255.;"),r.push("const float unpackDownScale = 255. / 256.;"),r.push("const vec3 packFactors = vec3( 256. * 256. * 256., 256. * 256., 256. );"),r.push("const vec4 unPackFactors = unpackDownScale / vec4( packFactors, 1. );"),r.push("float unpackRGBToFloat( const in vec4 v ) {"),r.push(" return dot( v, unPackFactors );"),r.push("}")),n){r.push("in vec4 vWorldPosition;"),r.push("in float vFlags;");for(var i=0,a=t.getNumAllocatedSectionPlanes();i> 16 & 0xF) == 1;"),r.push(" if (clippable) {"),r.push(" float dist = 0.0;");for(var s=0,o=t.getNumAllocatedSectionPlanes();s 0.0) { "),r.push(" discard;"),r.push(" }"),r.push("}")}return e.logarithmicDepthBufferEnabled&&r.push(" gl_FragDepth = isPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5;"),this._withSAO?(r.push(" float viewportWidth = uSAOParams[0];"),r.push(" float viewportHeight = uSAOParams[1];"),r.push(" float blendCutoff = uSAOParams[2];"),r.push(" float blendFactor = uSAOParams[3];"),r.push(" vec2 uv = vec2(gl_FragCoord.x / viewportWidth, gl_FragCoord.y / viewportHeight);"),r.push(" float ambient = smoothstep(blendCutoff, 1.0, unpackRGBToFloat(texture(uOcclusionTexture, uv))) * blendFactor;"),r.push(" outColor = vec4(vColor.rgb * ambient, 1.0);")):r.push(" outColor = vColor;"),r.push("}"),r}}]),n}(),po=function(e){I(n,ro);var t=m(n);function n(){return b(this,n),t.apply(this,arguments)}return P(n,[{key:"_getHash",value:function(){var e=this._scene;return[e._lightsState.getHash(),e._sectionPlanesState.getHash(),this._withSAO?"sao":"nosao"].join(";")}},{key:"_buildVertexShader",value:function(){var e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,n=[];return n.push("#version 300 es"),n.push("// Triangles batching flat-shading draw vertex shader"),n.push("uniform int renderPass;"),n.push("in vec3 position;"),n.push("in vec4 color;"),n.push("in float flags;"),e.entityOffsetsEnabled&&n.push("in vec3 offset;"),this._addMatricesUniformBlockLines(n),e.logarithmicDepthBufferEnabled&&(n.push("uniform float logDepthBufFC;"),n.push("out float vFragDepth;"),n.push("bool isPerspectiveMatrix(mat4 m) {"),n.push(" return (m[2][3] == - 1.0);"),n.push("}"),n.push("out float isPerspective;")),t&&(n.push("out vec4 vWorldPosition;"),n.push("out float vFlags;")),n.push("out vec4 vViewPosition;"),n.push("out vec4 vColor;"),n.push("void main(void) {"),n.push("int colorFlag = int(flags) & 0xF;"),n.push("if (colorFlag != renderPass) {"),n.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),n.push("} else {"),n.push("vec4 worldPosition = worldMatrix * (positionsDecodeMatrix * vec4(position, 1.0)); "),e.entityOffsetsEnabled&&n.push("worldPosition.xyz = worldPosition.xyz + offset;"),n.push("vec4 viewPosition = viewMatrix * worldPosition; "),n.push("vViewPosition = viewPosition;"),n.push("vColor = vec4(float(color.r) / 255.0, float(color.g) / 255.0, float(color.b) / 255.0, float(color.a) / 255.0);"),n.push("vec4 clipPos = projMatrix * viewPosition;"),e.logarithmicDepthBufferEnabled&&(n.push("vFragDepth = 1.0 + clipPos.w;"),n.push("isPerspective = float (isPerspectiveMatrix(projMatrix));")),t&&(n.push("vWorldPosition = worldPosition;"),n.push("vFlags = flags;")),n.push("gl_Position = clipPos;"),n.push("}"),n.push("}"),n}},{key:"_buildFragmentShader",value:function(){var e=this._scene,t=e._lightsState,n=e._sectionPlanesState,r=n.getNumAllocatedSectionPlanes()>0,i=[];if(i.push("#version 300 es"),i.push("// Triangles batching flat-shading draw fragment shader"),i.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),i.push("precision highp float;"),i.push("precision highp int;"),i.push("#else"),i.push("precision mediump float;"),i.push("precision mediump int;"),i.push("#endif"),e.logarithmicDepthBufferEnabled&&(i.push("in float isPerspective;"),i.push("uniform float logDepthBufFC;"),i.push("in float vFragDepth;")),this._withSAO&&(i.push("uniform sampler2D uOcclusionTexture;"),i.push("uniform vec4 uSAOParams;"),i.push("const float packUpscale = 256. / 255.;"),i.push("const float unpackDownScale = 255. / 256.;"),i.push("const vec3 packFactors = vec3( 256. * 256. * 256., 256. * 256., 256. );"),i.push("const vec4 unPackFactors = unpackDownScale / vec4( packFactors, 1. );"),i.push("float unpackRGBToFloat( const in vec4 v ) {"),i.push(" return dot( v, unPackFactors );"),i.push("}")),r){i.push("in vec4 vWorldPosition;"),i.push("in float vFlags;");for(var a=0,s=n.getNumAllocatedSectionPlanes();a> 16 & 0xF) == 1;"),i.push(" if (clippable) {"),i.push(" float dist = 0.0;");for(var c=0,f=n.getNumAllocatedSectionPlanes();c 0.0) { "),i.push(" discard;"),i.push(" }"),i.push("}")}i.push("vec3 reflectedColor = vec3(0.0, 0.0, 0.0);"),i.push("vec3 viewLightDir = vec3(0.0, 0.0, -1.0);"),i.push("float lambertian = 1.0;"),i.push("vec3 xTangent = dFdx( vViewPosition.xyz );"),i.push("vec3 yTangent = dFdy( vViewPosition.xyz );"),i.push("vec3 viewNormal = normalize( cross( xTangent, yTangent ) );");for(var p=0,A=t.lights.length;p0,n=[];return n.push("#version 300 es"),n.push("// Triangles batching silhouette vertex shader"),n.push("uniform int renderPass;"),n.push("in vec3 position;"),e.entityOffsetsEnabled&&n.push("in vec3 offset;"),n.push("in float flags;"),n.push("in vec4 color;"),this._addMatricesUniformBlockLines(n),n.push("uniform vec4 silhouetteColor;"),e.logarithmicDepthBufferEnabled&&(n.push("uniform float logDepthBufFC;"),n.push("out float vFragDepth;"),n.push("bool isPerspectiveMatrix(mat4 m) {"),n.push(" return (m[2][3] == - 1.0);"),n.push("}"),n.push("out float isPerspective;")),t&&(n.push("out vec4 vWorldPosition;"),n.push("out float vFlags;")),n.push("out vec4 vColor;"),n.push("void main(void) {"),n.push("int silhouetteFlag = int(flags) >> 4 & 0xF;"),n.push("if (silhouetteFlag != renderPass) {"),n.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),n.push("} else {"),n.push(" vec4 worldPosition = worldMatrix * (positionsDecodeMatrix * vec4(position, 1.0)); "),e.entityOffsetsEnabled&&n.push(" worldPosition.xyz = worldPosition.xyz + offset;"),n.push("vec4 viewPosition = viewMatrix * worldPosition; "),t&&(n.push("vWorldPosition = worldPosition;"),n.push("vFlags = flags;")),n.push("vColor = vec4(silhouetteColor.r, silhouetteColor.g, silhouetteColor.b, min(silhouetteColor.a, float(color.a) / 255.0));"),n.push("vec4 clipPos = projMatrix * viewPosition;"),e.logarithmicDepthBufferEnabled&&(n.push("vFragDepth = 1.0 + clipPos.w;"),n.push("isPerspective = float (isPerspectiveMatrix(projMatrix));")),n.push("gl_Position = clipPos;"),n.push("}"),n.push("}"),n}},{key:"_buildFragmentShader",value:function(){var e,t,n=this._scene,r=n._sectionPlanesState,i=r.getNumAllocatedSectionPlanes()>0,a=[];if(a.push("#version 300 es"),a.push("// Triangles batching silhouette fragment shader"),a.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),a.push("precision highp float;"),a.push("precision highp int;"),a.push("#else"),a.push("precision mediump float;"),a.push("precision mediump int;"),a.push("#endif"),n.logarithmicDepthBufferEnabled&&(a.push("in float isPerspective;"),a.push("uniform float logDepthBufFC;"),a.push("in float vFragDepth;")),i)for(a.push("in vec4 vWorldPosition;"),a.push("in float vFlags;"),e=0,t=r.getNumAllocatedSectionPlanes();e> 16 & 0xF) == 1;"),a.push(" if (clippable) {"),a.push(" float dist = 0.0;"),e=0,t=r.getNumAllocatedSectionPlanes();e 0.0) { discard; }"),a.push("}")}return n.logarithmicDepthBufferEnabled&&a.push(" gl_FragDepth = isPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5;"),a.push("outColor = vColor;"),a.push("}"),a}}]),n}(),vo=function(e){I(n,io);var t=m(n);function n(){return b(this,n),t.apply(this,arguments)}return P(n,[{key:"drawLayer",value:function(e,t,r){v(E(n.prototype),"drawLayer",this).call(this,e,t,r,{colorUniform:!0})}},{key:"_buildVertexShader",value:function(){var e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,n=[];return n.push("#version 300 es"),n.push("// Batched geometry edges drawing vertex shader"),n.push("uniform int renderPass;"),n.push("uniform vec4 color;"),n.push("in vec3 position;"),e.entityOffsetsEnabled&&n.push("in vec3 offset;"),n.push("in float flags;"),this._addMatricesUniformBlockLines(n),e.logarithmicDepthBufferEnabled&&(n.push("uniform float logDepthBufFC;"),n.push("out float vFragDepth;"),n.push("bool isPerspectiveMatrix(mat4 m) {"),n.push(" return (m[2][3] == - 1.0);"),n.push("}"),n.push("out float isPerspective;")),t&&(n.push("out vec4 vWorldPosition;"),n.push("out float vFlags;")),n.push("out vec4 vColor;"),n.push("void main(void) {"),n.push("int edgeFlag = int(flags) >> 8 & 0xF;"),n.push("if (edgeFlag != renderPass) {"),n.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),n.push("} else {"),n.push(" vec4 worldPosition = worldMatrix * (positionsDecodeMatrix * vec4(position, 1.0)); "),e.entityOffsetsEnabled&&n.push(" worldPosition.xyz = worldPosition.xyz + offset;"),n.push(" vec4 viewPosition = viewMatrix * worldPosition; "),t&&(n.push(" vWorldPosition = worldPosition;"),n.push(" vFlags = flags;")),n.push("vec4 clipPos = projMatrix * viewPosition;"),e.logarithmicDepthBufferEnabled&&(n.push("vFragDepth = 1.0 + clipPos.w;"),n.push("isPerspective = float (isPerspectiveMatrix(projMatrix));")),n.push("gl_Position = clipPos;"),n.push("vColor = vec4(color.r, color.g, color.b, color.a);"),n.push("}"),n.push("}"),n}},{key:"_buildFragmentShader",value:function(){var e=this._scene,t=e._sectionPlanesState,n=t.getNumAllocatedSectionPlanes()>0,r=[];if(r.push("#version 300 es"),r.push("// Batched geometry edges drawing fragment shader"),r.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),r.push("precision highp float;"),r.push("precision highp int;"),r.push("#else"),r.push("precision mediump float;"),r.push("precision mediump int;"),r.push("#endif"),e.logarithmicDepthBufferEnabled&&(r.push("in float isPerspective;"),r.push("uniform float logDepthBufFC;"),r.push("in float vFragDepth;")),n){r.push("in vec4 vWorldPosition;"),r.push("in float vFlags;");for(var i=0,a=t.getNumAllocatedSectionPlanes();i> 16 & 0xF) == 1;"),r.push(" if (clippable) {"),r.push(" float dist = 0.0;");for(var s=0,o=t.getNumAllocatedSectionPlanes();s 0.0) { discard; }"),r.push("}")}return e.logarithmicDepthBufferEnabled&&r.push(" gl_FragDepth = isPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5;"),r.push("outColor = vColor;"),r.push("}"),r}}]),n}(),ho=function(e){I(n,io);var t=m(n);function n(){return b(this,n),t.apply(this,arguments)}return P(n,[{key:"_buildVertexShader",value:function(){var e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,n=[];return n.push("#version 300 es"),n.push("// Batched geometry edges drawing vertex shader"),n.push("uniform int renderPass;"),n.push("in vec3 position;"),n.push("in vec4 color;"),e.entityOffsetsEnabled&&n.push("in vec3 offset;"),n.push("in float flags;"),this._addMatricesUniformBlockLines(n),e.logarithmicDepthBufferEnabled&&(n.push("uniform float logDepthBufFC;"),n.push("out float vFragDepth;"),n.push("bool isPerspectiveMatrix(mat4 m) {"),n.push(" return (m[2][3] == - 1.0);"),n.push("}"),n.push("out float isPerspective;")),t&&(n.push("out vec4 vWorldPosition;"),n.push("out float vFlags;")),n.push("out vec4 vColor;"),n.push("void main(void) {"),n.push("int edgeFlag = int(flags) >> 8 & 0xF;"),n.push("if (edgeFlag != renderPass) {"),n.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),n.push("} else {"),n.push(" vec4 worldPosition = worldMatrix * (positionsDecodeMatrix * vec4(position, 1.0)); "),e.entityOffsetsEnabled&&n.push(" worldPosition.xyz = worldPosition.xyz + offset;"),n.push(" vec4 viewPosition = viewMatrix * worldPosition; "),t&&(n.push(" vWorldPosition = worldPosition;"),n.push(" vFlags = flags;")),n.push("vec4 clipPos = projMatrix * viewPosition;"),e.logarithmicDepthBufferEnabled&&(n.push("vFragDepth = 1.0 + clipPos.w;"),n.push("isPerspective = float (isPerspectiveMatrix(projMatrix));")),n.push("gl_Position = clipPos;"),n.push("vColor = vec4(float(color.r*0.5) / 255.0, float(color.g*0.5) / 255.0, float(color.b*0.5) / 255.0, float(color.a) / 255.0);"),n.push("}"),n.push("}"),n}},{key:"_buildFragmentShader",value:function(){var e=this._scene,t=e._sectionPlanesState,n=t.getNumAllocatedSectionPlanes()>0,r=[];if(r.push("#version 300 es"),r.push("// Batched geometry edges drawing fragment shader"),r.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),r.push("precision highp float;"),r.push("precision highp int;"),r.push("#else"),r.push("precision mediump float;"),r.push("precision mediump int;"),r.push("#endif"),e.logarithmicDepthBufferEnabled&&(r.push("in float isPerspective;"),r.push("uniform float logDepthBufFC;"),r.push("in float vFragDepth;")),n){r.push("in vec4 vWorldPosition;"),r.push("in float vFlags;");for(var i=0,a=t.getNumAllocatedSectionPlanes();i> 16 & 0xF) == 1;"),r.push(" if (clippable) {"),r.push(" float dist = 0.0;");for(var s=0,o=t.getNumAllocatedSectionPlanes();s 0.0) { discard; }"),r.push("}")}return e.logarithmicDepthBufferEnabled&&r.push(" gl_FragDepth = isPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5;"),r.push("outColor = vColor;"),r.push("}"),r}}]),n}(),Io=function(e){I(n,ro);var t=m(n);function n(){return b(this,n),t.apply(this,arguments)}return P(n,[{key:"_buildVertexShader",value:function(){var e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,n=[];return n.push("#version 300 es"),n.push("// Batched geometry picking vertex shader"),n.push("uniform int renderPass;"),n.push("in vec3 position;"),e.entityOffsetsEnabled&&n.push("in vec3 offset;"),n.push("in float flags;"),n.push("in vec4 pickColor;"),n.push("uniform bool pickInvisible;"),this._addMatricesUniformBlockLines(n),e.logarithmicDepthBufferEnabled&&(n.push("uniform float logDepthBufFC;"),n.push("out float vFragDepth;"),n.push("bool isPerspectiveMatrix(mat4 m) {"),n.push(" return (m[2][3] == - 1.0);"),n.push("}"),n.push("out float isPerspective;")),t&&(n.push("out vec4 vWorldPosition;"),n.push("out float vFlags;")),this._addRemapClipPosLines(n),n.push("out vec4 vPickColor;"),n.push("void main(void) {"),n.push("int pickFlag = int(flags) >> 12 & 0xF;"),n.push("if (pickFlag != renderPass) {"),n.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),n.push(" } else {"),n.push(" vec4 worldPosition = worldMatrix * (positionsDecodeMatrix * vec4(position, 1.0)); "),e.entityOffsetsEnabled&&n.push(" worldPosition.xyz = worldPosition.xyz + offset;"),n.push(" vec4 viewPosition = viewMatrix * worldPosition; "),n.push(" vPickColor = vec4(float(pickColor.r) / 255.0, float(pickColor.g) / 255.0, float(pickColor.b) / 255.0, float(pickColor.a) / 255.0);"),t&&(n.push(" vWorldPosition = worldPosition;"),n.push(" vFlags = flags;")),n.push("vec4 clipPos = projMatrix * viewPosition;"),e.logarithmicDepthBufferEnabled&&(n.push("vFragDepth = 1.0 + clipPos.w;"),n.push("isPerspective = float (isPerspectiveMatrix(projMatrix));")),n.push("gl_Position = remapClipPos(clipPos);"),n.push(" }"),n.push("}"),n}},{key:"_buildFragmentShader",value:function(){var e=this._scene,t=e._sectionPlanesState,n=t.getNumAllocatedSectionPlanes()>0,r=[];if(r.push("#version 300 es"),r.push("// Batched geometry picking fragment shader"),r.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),r.push("precision highp float;"),r.push("precision highp int;"),r.push("#else"),r.push("precision mediump float;"),r.push("precision mediump int;"),r.push("#endif"),e.logarithmicDepthBufferEnabled&&(r.push("in float isPerspective;"),r.push("uniform float logDepthBufFC;"),r.push("in float vFragDepth;")),n){r.push("in vec4 vWorldPosition;"),r.push("in float vFlags;");for(var i=0;i> 16 & 0xF) == 1;"),r.push(" if (clippable) {"),r.push(" float dist = 0.0;");for(var a=0;a 0.0) { discard; }"),r.push(" }")}return e.logarithmicDepthBufferEnabled&&r.push(" gl_FragDepth = isPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5;"),r.push(" outColor = vPickColor; "),r.push("}"),r}}]),n}(),yo=function(e){I(n,ro);var t=m(n);function n(){return b(this,n),t.apply(this,arguments)}return P(n,[{key:"_buildVertexShader",value:function(){var e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,n=[];return n.push("#version 300 es"),n.push("// Triangles batching pick depth vertex shader"),n.push("uniform int renderPass;"),n.push("in vec3 position;"),e.entityOffsetsEnabled&&n.push("in vec3 offset;"),n.push("in float flags;"),n.push("uniform bool pickInvisible;"),this._addMatricesUniformBlockLines(n),e.logarithmicDepthBufferEnabled&&(n.push("uniform float logDepthBufFC;"),n.push("out float vFragDepth;"),n.push("bool isPerspectiveMatrix(mat4 m) {"),n.push(" return (m[2][3] == - 1.0);"),n.push("}"),n.push("out float isPerspective;")),t&&(n.push("out vec4 vWorldPosition;"),n.push("out float vFlags;")),this._addRemapClipPosLines(n),n.push("out vec4 vViewPosition;"),n.push("void main(void) {"),n.push("int pickFlag = int(flags) >> 12 & 0xF;"),n.push("if (pickFlag != renderPass) {"),n.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),n.push(" } else {"),n.push(" vec4 worldPosition = worldMatrix * (positionsDecodeMatrix * vec4(position, 1.0)); "),e.entityOffsetsEnabled&&n.push(" worldPosition.xyz = worldPosition.xyz + offset;"),n.push(" vec4 viewPosition = viewMatrix * worldPosition; "),t&&(n.push(" vWorldPosition = worldPosition;"),n.push(" vFlags = flags;")),n.push("vViewPosition = viewPosition;"),n.push("vec4 clipPos = projMatrix * viewPosition;"),e.logarithmicDepthBufferEnabled&&(n.push("vFragDepth = 1.0 + clipPos.w;"),n.push("isPerspective = float (isPerspectiveMatrix(projMatrix));")),n.push("gl_Position = remapClipPos(clipPos);"),n.push(" }"),n.push("}"),n}},{key:"_buildFragmentShader",value:function(){var e=this._scene,t=e._sectionPlanesState,n=t.getNumAllocatedSectionPlanes()>0,r=[];if(r.push("#version 300 es"),r.push("// Triangles batching pick depth fragment shader"),r.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),r.push("precision highp float;"),r.push("precision highp int;"),r.push("#else"),r.push("precision mediump float;"),r.push("precision mediump int;"),r.push("#endif"),e.logarithmicDepthBufferEnabled&&(r.push("in float isPerspective;"),r.push("uniform float logDepthBufFC;"),r.push("in float vFragDepth;")),r.push("uniform float pickZNear;"),r.push("uniform float pickZFar;"),n){r.push("in vec4 vWorldPosition;"),r.push("in float vFlags;");for(var i=0;i> 16 & 0xF) == 1;"),r.push(" if (clippable) {"),r.push(" float dist = 0.0;");for(var a=0;a 0.0) { discard; }"),r.push(" }")}return e.logarithmicDepthBufferEnabled&&r.push(" gl_FragDepth = isPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5;"),r.push(" float zNormalizedDepth = abs((pickZNear + vViewPosition.z) / (pickZFar - pickZNear));"),r.push(" outColor = packDepth(zNormalizedDepth); "),r.push("}"),r}}]),n}(),mo=function(e){I(n,ro);var t=m(n);function n(){return b(this,n),t.apply(this,arguments)}return P(n,[{key:"_buildVertexShader",value:function(){var e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,n=[];return n.push("#version 300 es"),n.push("// Triangles batching pick normals vertex shader"),n.push("uniform int renderPass;"),n.push("in vec3 position;"),e.entityOffsetsEnabled&&n.push("in vec3 offset;"),n.push("in vec3 normal;"),n.push("in float flags;"),n.push("uniform bool pickInvisible;"),this._addMatricesUniformBlockLines(n),this._addRemapClipPosLines(n,3),e.logarithmicDepthBufferEnabled&&(n.push("uniform float logDepthBufFC;"),n.push("out float vFragDepth;"),n.push("bool isPerspectiveMatrix(mat4 m) {"),n.push(" return (m[2][3] == - 1.0);"),n.push("}"),n.push("out float isPerspective;")),n.push("vec3 octDecode(vec2 oct) {"),n.push(" vec3 v = vec3(oct.xy, 1.0 - abs(oct.x) - abs(oct.y));"),n.push(" if (v.z < 0.0) {"),n.push(" v.xy = (1.0 - abs(v.yx)) * vec2(v.x >= 0.0 ? 1.0 : -1.0, v.y >= 0.0 ? 1.0 : -1.0);"),n.push(" }"),n.push(" return normalize(v);"),n.push("}"),t&&(n.push("out vec4 vWorldPosition;"),n.push("out float vFlags;")),n.push("out vec3 vWorldNormal;"),n.push("out vec4 outColor;"),n.push("void main(void) {"),n.push("int pickFlag = int(flags) >> 12 & 0xF;"),n.push("if (pickFlag != renderPass) {"),n.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),n.push(" } else {"),n.push(" vec4 worldPosition = worldMatrix * (positionsDecodeMatrix * vec4(position, 1.0)); "),e.entityOffsetsEnabled&&n.push(" worldPosition.xyz = worldPosition.xyz + offset;"),n.push(" vec4 viewPosition = viewMatrix * worldPosition; "),n.push(" vec3 worldNormal = octDecode(normal.xy); "),n.push(" vWorldNormal = worldNormal;"),t&&(n.push(" vWorldPosition = worldPosition;"),n.push(" vFlags = flags;")),n.push("vec4 clipPos = projMatrix * viewPosition;"),e.logarithmicDepthBufferEnabled&&(n.push("vFragDepth = 1.0 + clipPos.w;"),n.push("isPerspective = float (isPerspectiveMatrix(projMatrix));")),n.push("gl_Position = remapClipPos(clipPos);"),n.push(" }"),n.push("}"),n}},{key:"_buildFragmentShader",value:function(){var e=this._scene,t=e._sectionPlanesState,n=t.getNumAllocatedSectionPlanes()>0,r=[];if(r.push("#version 300 es"),r.push("// Triangles batching pick normals fragment shader"),r.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),r.push("precision highp float;"),r.push("precision highp int;"),r.push("#else"),r.push("precision mediump float;"),r.push("precision mediump int;"),r.push("#endif"),e.logarithmicDepthBufferEnabled&&(r.push("in float isPerspective;"),r.push("uniform float logDepthBufFC;"),r.push("in float vFragDepth;")),n){r.push("in vec4 vWorldPosition;"),r.push("in float vFlags;");for(var i=0;i> 16 & 0xF) == 1;"),r.push(" if (clippable) {"),r.push(" float dist = 0.0;");for(var a=0;a 0.0) { discard; }"),r.push(" }")}return e.logarithmicDepthBufferEnabled&&r.push(" gl_FragDepth = isPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5;"),r.push(" outNormal = ivec4(vWorldNormal * float(".concat($.MAX_INT,"), 1.0);")),r.push("}"),r}}]),n}(),wo=function(e){I(n,ro);var t=m(n);function n(){return b(this,n),t.apply(this,arguments)}return P(n,[{key:"_buildVertexShader",value:function(){var e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,n=[];return n.push("#version 300 es"),n.push("// Triangles batching occlusion vertex shader"),n.push("uniform int renderPass;"),n.push("in vec3 position;"),e.entityOffsetsEnabled&&n.push("in vec3 offset;"),n.push("in vec4 color;"),n.push("in float flags;"),this._addMatricesUniformBlockLines(n),t&&(n.push("out vec4 vWorldPosition;"),n.push("out float vFlags;")),n.push("void main(void) {"),n.push("int colorFlag = int(flags) & 0xF;"),n.push("if (colorFlag != renderPass) {"),n.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),n.push(" } else {"),n.push(" vec4 worldPosition = worldMatrix * (positionsDecodeMatrix * vec4(position, 1.0)); "),e.entityOffsetsEnabled&&n.push(" worldPosition.xyz = worldPosition.xyz + offset;"),n.push(" vec4 viewPosition = viewMatrix * worldPosition; "),t&&(n.push(" vWorldPosition = worldPosition;"),n.push(" vFlags = flags;")),n.push("vec4 clipPos = projMatrix * viewPosition;"),n.push("gl_Position = clipPos;"),n.push(" }"),n.push("}"),n}},{key:"_buildFragmentShader",value:function(){var e=this._scene._sectionPlanesState,t=e.getNumAllocatedSectionPlanes()>0,n=[];if(n.push("#version 300 es"),n.push("// Triangles batching occlusion fragment shader"),n.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),n.push("precision highp float;"),n.push("precision highp int;"),n.push("#else"),n.push("precision mediump float;"),n.push("precision mediump int;"),n.push("#endif"),t){n.push("in vec4 vWorldPosition;"),n.push("in float vFlags;");for(var r=0;r> 16 & 0xF) == 1;"),n.push(" if (clippable) {"),n.push(" float dist = 0.0;");for(var i=0;i 0.0) { discard; }"),n.push(" }")}return n.push(" outColor = vec4(0.0, 0.0, 1.0, 1.0); "),n.push("}"),n}}]),n}(),go=function(e){I(n,ro);var t=m(n);function n(){return b(this,n),t.apply(this,arguments)}return P(n,[{key:"_buildVertexShader",value:function(){var e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,n=[];return n.push("#version 300 es"),n.push("// Triangles batching depth vertex shader"),n.push("uniform int renderPass;"),n.push("in vec3 position;"),e.entityOffsetsEnabled&&n.push("in vec3 offset;"),n.push("in float flags;"),this._addMatricesUniformBlockLines(n),e.logarithmicDepthBufferEnabled&&(n.push("uniform float logDepthBufFC;"),n.push("out float vFragDepth;"),n.push("bool isPerspectiveMatrix(mat4 m) {"),n.push(" return (m[2][3] == - 1.0);"),n.push("}"),n.push("out float isPerspective;")),t&&(n.push("out vec4 vWorldPosition;"),n.push("out float vFlags;")),n.push("out vec2 vHighPrecisionZW;"),n.push("void main(void) {"),n.push("int colorFlag = int(flags) & 0xF;"),n.push("if (colorFlag != renderPass) {"),n.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),n.push(" } else {"),n.push(" vec4 worldPosition = worldMatrix * (positionsDecodeMatrix * vec4(position, 1.0)); "),e.entityOffsetsEnabled&&n.push(" worldPosition.xyz = worldPosition.xyz + offset;"),n.push(" vec4 viewPosition = viewMatrix * worldPosition; "),t&&(n.push(" vWorldPosition = worldPosition;"),n.push(" vFlags = flags;")),n.push("vec4 clipPos = projMatrix * viewPosition;"),e.logarithmicDepthBufferEnabled&&(n.push("vFragDepth = 1.0 + clipPos.w;"),n.push("isPerspective = float (isPerspectiveMatrix(projMatrix));")),n.push("gl_Position = clipPos;"),n.push("vHighPrecisionZW = gl_Position.zw;"),n.push(" }"),n.push("}"),n}},{key:"_buildFragmentShader",value:function(){var e=this._scene,t=e._sectionPlanesState,n=t.getNumAllocatedSectionPlanes()>0,r=[];if(r.push("#version 300 es"),r.push("// Triangles batching depth fragment shader"),r.push("precision highp float;"),r.push("precision highp int;"),e.logarithmicDepthBufferEnabled&&(r.push("in float isPerspective;"),r.push("uniform float logDepthBufFC;"),r.push("in float vFragDepth;")),n){r.push("in vec4 vWorldPosition;"),r.push("in float vFlags;");for(var i=0;i> 16 & 0xF) == 1;"),r.push(" if (clippable) {"),r.push(" float dist = 0.0;");for(var a=0;a 0.0) { discard; }"),r.push(" }")}return e.logarithmicDepthBufferEnabled&&r.push(" gl_FragDepth = isPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5;"),r.push("float fragCoordZ = 0.5 * vHighPrecisionZW[0] / vHighPrecisionZW[1] + 0.5;"),r.push(" outColor = vec4(vec3(1.0 - fragCoordZ), 1.0); "),r.push("}"),r}}]),n}(),Eo=function(e){I(n,ro);var t=m(n);function n(){return b(this,n),t.apply(this,arguments)}return P(n,[{key:"_buildVertexShader",value:function(){var e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,n=[];return n.push("#version 300 es"),n.push("// Batched geometry normals vertex shader"),n.push("uniform int renderPass;"),n.push("in vec3 position;"),e.entityOffsetsEnabled&&n.push("in vec3 offset;"),n.push("in vec3 normal;"),n.push("in vec4 color;"),n.push("in float flags;"),this._addMatricesUniformBlockLines(n,!0),e.logarithmicDepthBufferEnabled&&(n.push("uniform float logDepthBufFC;"),n.push("out float vFragDepth;"),n.push("bool isPerspectiveMatrix(mat4 m) {"),n.push(" return (m[2][3] == - 1.0);"),n.push("}"),n.push("out float isPerspective;")),n.push("vec3 octDecode(vec2 oct) {"),n.push(" vec3 v = vec3(oct.xy, 1.0 - abs(oct.x) - abs(oct.y));"),n.push(" if (v.z < 0.0) {"),n.push(" v.xy = (1.0 - abs(v.yx)) * vec2(v.x >= 0.0 ? 1.0 : -1.0, v.y >= 0.0 ? 1.0 : -1.0);"),n.push(" }"),n.push(" return normalize(v);"),n.push("}"),t&&(n.push("out vec4 vWorldPosition;"),n.push("out float vFlags;")),n.push("out vec3 vViewNormal;"),n.push("void main(void) {"),n.push("int colorFlag = int(flags) & 0xF;"),n.push("if (colorFlag != renderPass) {"),n.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),n.push(" } else {"),n.push(" vec4 worldPosition = worldMatrix * (positionsDecodeMatrix * vec4(position, 1.0)); "),e.entityOffsetsEnabled&&n.push(" worldPosition.xyz = worldPosition.xyz + offset;"),n.push(" vec4 viewPosition = viewMatrix * worldPosition; "),n.push(" vec4 worldNormal = worldNormalMatrix * vec4(octDecode(normal.xy), 0.0); "),n.push(" vec3 viewNormal = normalize((viewNormalMatrix * worldNormal).xyz);"),t&&(n.push(" vWorldPosition = worldPosition;"),n.push(" vFlags = flags;")),n.push(" vViewNormal = viewNormal;"),n.push("vec4 clipPos = projMatrix * viewPosition;"),e.logarithmicDepthBufferEnabled&&(n.push("vFragDepth = 1.0 + clipPos.w;"),n.push("isPerspective = float (isPerspectiveMatrix(projMatrix));")),n.push("gl_Position = clipPos;"),n.push(" }"),n.push("}"),n}},{key:"_buildFragmentShader",value:function(){var e=this._scene,t=e._sectionPlanesState,n=t.getNumAllocatedSectionPlanes()>0,r=[];if(r.push("#version 300 es"),r.push("// Batched geometry normals fragment shader"),r.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),r.push("precision highp float;"),r.push("precision highp int;"),r.push("#else"),r.push("precision mediump float;"),r.push("precision mediump int;"),r.push("#endif"),e.logarithmicDepthBufferEnabled&&(r.push("in float isPerspective;"),r.push("uniform float logDepthBufFC;"),r.push("in float vFragDepth;")),n){r.push("in vec4 vWorldPosition;"),r.push("in float vFlags;");for(var i=0;i> 16 & 0xF) == 1;"),r.push(" if (clippable) {"),r.push(" float dist = 0.0;");for(var a=0;a 0.0) { discard; }"),r.push(" }")}return e.logarithmicDepthBufferEnabled&&r.push(" gl_FragDepth = isPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5;"),r.push(" outColor = vec4(packNormalToRGB(vViewNormal), 1.0); "),r.push("}"),r}}]),n}(),To=function(e){I(n,ro);var t=m(n);function n(){return b(this,n),t.apply(this,arguments)}return P(n,[{key:"_buildVertexShader",value:function(){var e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,n=[];return n.push("#version 300 es"),n.push("// Batched geometry shadow vertex shader"),n.push("in vec3 position;"),e.entityOffsetsEnabled&&n.push("in vec3 offset;"),n.push("in vec4 color;"),n.push("in float flags;"),n.push("uniform mat4 shadowViewMatrix;"),n.push("uniform mat4 shadowProjMatrix;"),this._addMatricesUniformBlockLines(n),t&&(n.push("out vec4 vWorldPosition;"),n.push("out float vFlags;")),n.push("out vec4 vViewPosition;"),n.push("out vec4 outColor;"),n.push("void main(void) {"),n.push(" int colorFlag = int(flags) & 0xF;"),n.push(" bool visible = (colorFlag > 0);"),n.push(" bool transparent = ((float(color.a) / 255.0) < 1.0);"),n.push(" if (!visible || transparent) {"),n.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),n.push(" } else {"),n.push(" vec4 worldPosition = positionsDecodeMatrix * vec4(position, 1.0); "),e.entityOffsetsEnabled&&n.push(" worldPosition.xyz = worldPosition.xyz + offset;"),n.push(" vec4 viewPosition = shadowViewMatrix * worldPosition; "),t&&(n.push(" vWorldPosition = worldPosition;"),n.push(" vFlags = flags;")),n.push(" vViewPosition = viewPosition;"),n.push(" gl_Position = shadowProjMatrix * viewPosition;"),n.push(" }"),n.push("}"),n}},{key:"_buildFragmentShader",value:function(){var e=this._scene._sectionPlanesState,t=e.getNumAllocatedSectionPlanes()>0,n=[];if(n.push("#version 300 es"),n.push("// Batched geometry shadow fragment shader"),n.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),n.push("precision highp float;"),n.push("precision highp int;"),n.push("#else"),n.push("precision mediump float;"),n.push("precision mediump int;"),n.push("#endif"),t){n.push("in vec4 vWorldPosition;"),n.push("in float vFlags;");for(var r=0;r> 16 & 0xF) == 1;"),n.push(" if (clippable) {"),n.push(" float dist = 0.0;");for(var i=0;i 0.0) { discard; }"),n.push(" }")}return n.push(" outColor = encodeFloat( gl_FragCoord.z); "),n.push("}"),n}}]),n}(),bo=function(e){I(n,ro);var t=m(n);function n(){return b(this,n),t.apply(this,arguments)}return P(n,[{key:"_getHash",value:function(){var e=this._scene;return[e.gammaOutput,e._lightsState.getHash(),e._sectionPlanesState.getHash(),this._withSAO?"sao":"nosao"].join(";")}},{key:"drawLayer",value:function(e,t,r){v(E(n.prototype),"drawLayer",this).call(this,e,t,r,{incrementDrawState:!0})}},{key:"_buildVertexShader",value:function(){var e=this._scene,t=e._sectionPlanesState,n=e._lightsState,r=t.getNumAllocatedSectionPlanes()>0,i=t.clippingCaps,a=[];return a.push("#version 300 es"),a.push("// Triangles batching quality draw vertex shader"),a.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),a.push("precision highp float;"),a.push("precision highp int;"),a.push("precision highp usampler2D;"),a.push("precision highp isampler2D;"),a.push("precision highp sampler2D;"),a.push("#else"),a.push("precision mediump float;"),a.push("precision mediump int;"),a.push("precision mediump usampler2D;"),a.push("precision mediump isampler2D;"),a.push("precision mediump sampler2D;"),a.push("#endif"),a.push("uniform int renderPass;"),a.push("in vec3 position;"),a.push("in vec3 normal;"),a.push("in vec4 color;"),a.push("in vec2 uv;"),a.push("in vec2 metallicRoughness;"),a.push("in float flags;"),e.entityOffsetsEnabled&&a.push("in vec3 offset;"),this._addMatricesUniformBlockLines(a,!0),a.push("uniform mat3 uvDecodeMatrix;"),e.logarithmicDepthBufferEnabled&&(a.push("uniform float logDepthBufFC;"),a.push("out float vFragDepth;"),a.push("bool isPerspectiveMatrix(mat4 m) {"),a.push(" return (m[2][3] == - 1.0);"),a.push("}"),a.push("out float isPerspective;")),a.push("vec3 octDecode(vec2 oct) {"),a.push(" vec3 v = vec3(oct.xy, 1.0 - abs(oct.x) - abs(oct.y));"),a.push(" if (v.z < 0.0) {"),a.push(" v.xy = (1.0 - abs(v.yx)) * vec2(v.x >= 0.0 ? 1.0 : -1.0, v.y >= 0.0 ? 1.0 : -1.0);"),a.push(" }"),a.push(" return normalize(v);"),a.push("}"),a.push("out vec4 vViewPosition;"),a.push("out vec3 vViewNormal;"),a.push("out vec4 vColor;"),a.push("out vec2 vUV;"),a.push("out vec2 vMetallicRoughness;"),n.lightMaps.length>0&&a.push("out vec3 vWorldNormal;"),r&&(a.push("out vec4 vWorldPosition;"),a.push("out float vFlags;"),i&&a.push("out vec4 vClipPosition;")),a.push("void main(void) {"),a.push("int colorFlag = int(flags) & 0xF;"),a.push("if (colorFlag != renderPass) {"),a.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),a.push("} else {"),a.push("vec4 worldPosition = worldMatrix * (positionsDecodeMatrix * vec4(position, 1.0)); "),e.entityOffsetsEnabled&&a.push("worldPosition.xyz = worldPosition.xyz + offset;"),a.push("vec4 viewPosition = viewMatrix * worldPosition; "),a.push("vec4 worldNormal = worldNormalMatrix * vec4(octDecode(normal.xy), 0.0); "),a.push("vec3 viewNormal = normalize((viewNormalMatrix * worldNormal).xyz);"),a.push("vec4 clipPos = projMatrix * viewPosition;"),e.logarithmicDepthBufferEnabled&&(a.push("isPerspective = float (isPerspectiveMatrix(projMatrix));"),a.push("vFragDepth = 1.0 + clipPos.w;")),r&&(a.push("vWorldPosition = worldPosition;"),a.push("vFlags = flags;"),i&&a.push("vClipPosition = clipPos;")),a.push("vViewPosition = viewPosition;"),a.push("vViewNormal = viewNormal;"),a.push("vColor = color;"),a.push("vUV = (uvDecodeMatrix * vec3(uv, 1.0)).xy;"),a.push("vMetallicRoughness = metallicRoughness;"),n.lightMaps.length>0&&a.push("vWorldNormal = worldNormal.xyz;"),a.push("gl_Position = clipPos;"),a.push("}"),a.push("}"),a}},{key:"_buildFragmentShader",value:function(){var e=this._scene,t=e.gammaOutput,n=e._sectionPlanesState,r=e._lightsState,i=n.getNumAllocatedSectionPlanes()>0,a=n.clippingCaps,s=[];s.push("#version 300 es"),s.push("// Triangles batching quality draw fragment shader"),s.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),s.push("precision highp float;"),s.push("precision highp int;"),s.push("#else"),s.push("precision mediump float;"),s.push("precision mediump int;"),s.push("#endif"),e.logarithmicDepthBufferEnabled&&(s.push("in float isPerspective;"),s.push("uniform float logDepthBufFC;"),s.push("in float vFragDepth;")),s.push("uniform sampler2D uColorMap;"),s.push("uniform sampler2D uMetallicRoughMap;"),s.push("uniform sampler2D uEmissiveMap;"),s.push("uniform sampler2D uNormalMap;"),s.push("uniform sampler2D uAOMap;"),s.push("in vec4 vViewPosition;"),s.push("in vec3 vViewNormal;"),s.push("in vec4 vColor;"),s.push("in vec2 vUV;"),s.push("in vec2 vMetallicRoughness;"),r.lightMaps.length>0&&s.push("in vec3 vWorldNormal;"),this._addMatricesUniformBlockLines(s,!0),r.reflectionMaps.length>0&&s.push("uniform samplerCube reflectionMap;"),r.lightMaps.length>0&&s.push("uniform samplerCube lightMap;"),s.push("uniform vec4 lightAmbient;");for(var o=0,l=r.lights.length;o0&&(s.push("vec3 getLightProbeIndirectRadiance(const in vec3 reflectVec, const in float blinnShininessExponent, const in int maxMIPLevel) {"),s.push(" float mipLevel = 0.5 * getSpecularMIPLevel(blinnShininessExponent, maxMIPLevel);"),s.push(" vec3 envMapColor = sRGBToLinear(texture(reflectionMap, reflectVec, mipLevel)).rgb;"),s.push(" return envMapColor;"),s.push("}")),s.push("vec3 F_Schlick(const in vec3 specularColor, const in float dotLH) {"),s.push(" float fresnel = exp2( ( -5.55473 * dotLH - 6.98316 ) * dotLH );"),s.push(" return ( 1.0 - specularColor ) * fresnel + specularColor;"),s.push("}"),s.push("float G_GGX_Smith(const in float alpha, const in float dotNL, const in float dotNV) {"),s.push(" float a2 = ( alpha * alpha );"),s.push(" float gl = dotNL + sqrt( a2 + ( 1.0 - a2 ) * ( dotNL * dotNL ) );"),s.push(" float gv = dotNV + sqrt( a2 + ( 1.0 - a2 ) * ( dotNV * dotNV ) );"),s.push(" return 1.0 / ( gl * gv );"),s.push("}"),s.push("float G_GGX_SmithCorrelated(const in float alpha, const in float dotNL, const in float dotNV) {"),s.push(" float a2 = ( alpha * alpha );"),s.push(" float gv = dotNL * sqrt( a2 + ( 1.0 - a2 ) * ( dotNV * dotNV ) );"),s.push(" float gl = dotNV * sqrt( a2 + ( 1.0 - a2 ) * ( dotNL * dotNL ) );"),s.push(" return 0.5 / max( gv + gl, EPSILON );"),s.push("}"),s.push("float D_GGX(const in float alpha, const in float dotNH) {"),s.push(" float a2 = ( alpha * alpha );"),s.push(" float denom = ( dotNH * dotNH) * ( a2 - 1.0 ) + 1.0;"),s.push(" return RECIPROCAL_PI * a2 / ( denom * denom);"),s.push("}"),s.push("vec3 BRDF_Specular_GGX(const in IncidentLight incidentLight, const in Geometry geometry, const in vec3 specularColor, const in float roughness) {"),s.push(" float alpha = ( roughness * roughness );"),s.push(" vec3 halfDir = normalize( incidentLight.direction + geometry.viewEyeDir );"),s.push(" float dotNL = saturate( dot( geometry.viewNormal, incidentLight.direction ) );"),s.push(" float dotNV = saturate( dot( geometry.viewNormal, geometry.viewEyeDir ) );"),s.push(" float dotNH = saturate( dot( geometry.viewNormal, halfDir ) );"),s.push(" float dotLH = saturate( dot( incidentLight.direction, halfDir ) );"),s.push(" vec3 F = F_Schlick( specularColor, dotLH );"),s.push(" float G = G_GGX_SmithCorrelated( alpha, dotNL, dotNV );"),s.push(" float D = D_GGX( alpha, dotNH );"),s.push(" return F * (G * D);"),s.push("}"),s.push("vec3 BRDF_Specular_GGX_Environment(const in Geometry geometry, const in vec3 specularColor, const in float roughness) {"),s.push(" float dotNV = saturate(dot(geometry.viewNormal, geometry.viewEyeDir));"),s.push(" const vec4 c0 = vec4( -1, -0.0275, -0.572, 0.022);"),s.push(" const vec4 c1 = vec4( 1, 0.0425, 1.04, -0.04);"),s.push(" vec4 r = roughness * c0 + c1;"),s.push(" float a004 = min(r.x * r.x, exp2(-9.28 * dotNV)) * r.x + r.y;"),s.push(" vec2 AB = vec2(-1.04, 1.04) * a004 + r.zw;"),s.push(" return specularColor * AB.x + AB.y;"),s.push("}"),(r.lightMaps.length>0||r.reflectionMaps.length>0)&&(s.push("void computePBRLightMapping(const in Geometry geometry, const in Material material, inout ReflectedLight reflectedLight) {"),r.lightMaps.length>0&&(s.push(" vec3 irradiance = sRGBToLinear(texture(lightMap, geometry.worldNormal)).rgb;"),s.push(" irradiance *= PI;"),s.push(" vec3 diffuseBRDFContrib = (RECIPROCAL_PI * material.diffuseColor);"),s.push(" reflectedLight.diffuse += irradiance * diffuseBRDFContrib;")),r.reflectionMaps.length>0&&(s.push(" vec3 reflectVec = reflect(geometry.viewEyeDir, geometry.viewNormal);"),s.push(" reflectVec = inverseTransformDirection(reflectVec, viewMatrix);"),s.push(" float blinnExpFromRoughness = GGXRoughnessToBlinnExponent(material.specularRoughness);"),s.push(" vec3 radiance = getLightProbeIndirectRadiance(reflectVec, blinnExpFromRoughness, 8);"),s.push(" vec3 specularBRDFContrib = BRDF_Specular_GGX_Environment(geometry, material.specularColor, material.specularRoughness);"),s.push(" reflectedLight.specular += radiance * specularBRDFContrib;")),s.push("}")),s.push("void computePBRLighting(const in IncidentLight incidentLight, const in Geometry geometry, const in Material material, inout ReflectedLight reflectedLight) {"),s.push(" float dotNL = saturate(dot(geometry.viewNormal, incidentLight.direction));"),s.push(" vec3 irradiance = dotNL * incidentLight.color * PI;"),s.push(" reflectedLight.diffuse += irradiance * (RECIPROCAL_PI * material.diffuseColor);"),s.push(" reflectedLight.specular += irradiance * BRDF_Specular_GGX(incidentLight, geometry, material.specularColor, material.specularRoughness);"),s.push("}"),s.push("out vec4 outColor;"),s.push("void main(void) {"),i){s.push(" bool clippable = (int(vFlags) >> 16 & 0xF) == 1;"),s.push(" if (clippable) {"),s.push(" float dist = 0.0;");for(var p=0,A=n.getNumAllocatedSectionPlanes();p (0.002 * vClipPosition.w)) {"),s.push(" discard;"),s.push(" }"),s.push(" if (dist > 0.0) { "),s.push(" outColor=vec4(1.0, 0.0, 0.0, 1.0);"),e.logarithmicDepthBufferEnabled&&s.push(" gl_FragDepth = log2( vFragDepth ) * logDepthBufFC * 0.5;"),s.push(" return;"),s.push("}")):(s.push(" if (dist > 0.0) { "),s.push(" discard;"),s.push(" }")),s.push("}")}s.push("IncidentLight light;"),s.push("Material material;"),s.push("Geometry geometry;"),s.push("ReflectedLight reflectedLight = ReflectedLight(vec3(0.0,0.0,0.0), vec3(0.0,0.0,0.0));"),s.push("vec3 rgb = (vec3(float(vColor.r) / 255.0, float(vColor.g) / 255.0, float(vColor.b) / 255.0));"),s.push("float opacity = float(vColor.a) / 255.0;"),s.push("vec3 baseColor = rgb;"),s.push("float specularF0 = 1.0;"),s.push("float metallic = float(vMetallicRoughness.r) / 255.0;"),s.push("float roughness = float(vMetallicRoughness.g) / 255.0;"),s.push("float dielectricSpecular = 0.16 * specularF0 * specularF0;"),s.push("vec4 colorTexel = sRGBToLinear(texture(uColorMap, vUV));"),s.push("baseColor *= colorTexel.rgb;"),s.push("vec3 metalRoughTexel = texture(uMetallicRoughMap, vUV).rgb;"),s.push("metallic *= metalRoughTexel.b;"),s.push("roughness *= metalRoughTexel.g;"),s.push("vec3 viewNormal = perturbNormal2Arb(vViewPosition.xyz, normalize(vViewNormal), vUV );"),s.push("material.diffuseColor = baseColor * (1.0 - dielectricSpecular) * (1.0 - metallic);"),s.push("material.specularRoughness = clamp(roughness, 0.04, 1.0);"),s.push("material.specularColor = mix(vec3(dielectricSpecular), baseColor, metallic);"),s.push("geometry.position = vViewPosition.xyz;"),s.push("geometry.viewNormal = -normalize(viewNormal);"),s.push("geometry.viewEyeDir = normalize(vViewPosition.xyz);"),r.lightMaps.length>0&&s.push("geometry.worldNormal = normalize(vWorldNormal);"),(r.lightMaps.length>0||r.reflectionMaps.length>0)&&s.push("computePBRLightMapping(geometry, material, reflectedLight);");for(var d=0,v=r.lights.length;d0,n=[];return n.push("#version 300 es"),n.push("// Triangles batching pick flat normals vertex shader"),n.push("uniform int renderPass;"),n.push("in vec3 position;"),e.entityOffsetsEnabled&&n.push("in vec3 offset;"),n.push("in float flags;"),n.push("uniform bool pickInvisible;"),this._addMatricesUniformBlockLines(n),this._addRemapClipPosLines(n,3),e.logarithmicDepthBufferEnabled&&(n.push("uniform float logDepthBufFC;"),n.push("out float vFragDepth;"),n.push("bool isPerspectiveMatrix(mat4 m) {"),n.push(" return (m[2][3] == - 1.0);"),n.push("}"),n.push("out float isPerspective;")),n.push("out vec4 vWorldPosition;"),t&&n.push("out float vFlags;"),n.push("void main(void) {"),n.push("int pickFlag = int(flags) >> 12 & 0xF;"),n.push("if (pickFlag != renderPass) {"),n.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),n.push(" } else {"),n.push(" vec4 worldPosition = worldMatrix * (positionsDecodeMatrix * vec4(position, 1.0)); "),e.entityOffsetsEnabled&&n.push(" worldPosition.xyz = worldPosition.xyz + offset;"),n.push(" vec4 viewPosition = viewMatrix * worldPosition; "),n.push(" vWorldPosition = worldPosition;"),t&&n.push(" vFlags = flags;"),n.push("vec4 clipPos = projMatrix * viewPosition;"),e.logarithmicDepthBufferEnabled&&(n.push("vFragDepth = 1.0 + clipPos.w;"),n.push("isPerspective = float (isPerspectiveMatrix(projMatrix));")),n.push("gl_Position = remapClipPos(clipPos);"),n.push(" }"),n.push("}"),n}},{key:"_buildFragmentShader",value:function(){var e=this._scene,t=e._sectionPlanesState,n=t.getNumAllocatedSectionPlanes()>0,r=[];if(r.push("#version 300 es"),r.push("// Triangles batching pick flat normals fragment shader"),r.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),r.push("precision highp float;"),r.push("precision highp int;"),r.push("#else"),r.push("precision mediump float;"),r.push("precision mediump int;"),r.push("#endif"),e.logarithmicDepthBufferEnabled&&(r.push("in float isPerspective;"),r.push("uniform float logDepthBufFC;"),r.push("in float vFragDepth;")),r.push("in vec4 vWorldPosition;"),n){r.push("in float vFlags;");for(var i=0;i> 16 & 0xF) == 1;"),r.push(" if (clippable) {"),r.push(" float dist = 0.0;");for(var a=0;a 0.0) { discard; }"),r.push(" }")}return e.logarithmicDepthBufferEnabled&&r.push(" gl_FragDepth = isPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5;"),r.push(" vec3 xTangent = dFdx( vWorldPosition.xyz );"),r.push(" vec3 yTangent = dFdy( vWorldPosition.xyz );"),r.push(" vec3 worldNormal = normalize( cross( xTangent, yTangent ) );"),r.push(" outNormal = ivec4(worldNormal * float(".concat($.MAX_INT,"), 1.0);")),r.push("}"),r}}]),n}(),Po=function(e){I(n,ro);var t=m(n);function n(){return b(this,n),t.apply(this,arguments)}return P(n,[{key:"_getHash",value:function(){var e=this._scene;return[e.gammaOutput,e._lightsState.getHash(),e._sectionPlanesState.getHash(),this._withSAO?"sao":"nosao"].join(";")}},{key:"drawLayer",value:function(e,t,r){v(E(n.prototype),"drawLayer",this).call(this,e,t,r,{incrementDrawState:!0})}},{key:"_buildVertexShader",value:function(){var e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,n=[];return n.push("#version 300 es"),n.push("// Triangles batching color texture vertex shader"),n.push("uniform int renderPass;"),n.push("in vec3 position;"),n.push("in vec4 color;"),n.push("in vec2 uv;"),n.push("in float flags;"),e.entityOffsetsEnabled&&n.push("in vec3 offset;"),this._addMatricesUniformBlockLines(n),n.push("uniform mat3 uvDecodeMatrix;"),e.logarithmicDepthBufferEnabled&&(n.push("uniform float logDepthBufFC;"),n.push("out float vFragDepth;"),n.push("bool isPerspectiveMatrix(mat4 m) {"),n.push(" return (m[2][3] == - 1.0);"),n.push("}"),n.push("out float isPerspective;")),t&&(n.push("out vec4 vWorldPosition;"),n.push("out float vFlags;")),n.push("out vec4 vViewPosition;"),n.push("out vec4 vColor;"),n.push("out vec2 vUV;"),n.push("void main(void) {"),n.push("int colorFlag = int(flags) & 0xF;"),n.push("if (colorFlag != renderPass) {"),n.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),n.push("} else {"),n.push("vec4 worldPosition = worldMatrix * (positionsDecodeMatrix * vec4(position, 1.0)); "),e.entityOffsetsEnabled&&n.push("worldPosition.xyz = worldPosition.xyz + offset;"),n.push("vec4 viewPosition = viewMatrix * worldPosition; "),n.push("vViewPosition = viewPosition;"),n.push("vColor = vec4(float(color.r) / 255.0, float(color.g) / 255.0, float(color.b) / 255.0, float(color.a) / 255.0);"),n.push("vUV = (uvDecodeMatrix * vec3(uv, 1.0)).xy;"),n.push("vec4 clipPos = projMatrix * viewPosition;"),e.logarithmicDepthBufferEnabled&&(n.push("vFragDepth = 1.0 + clipPos.w;"),n.push("isPerspective = float (isPerspectiveMatrix(projMatrix));")),t&&(n.push("vWorldPosition = worldPosition;"),n.push("vFlags = flags;")),n.push("gl_Position = clipPos;"),n.push("}"),n.push("}"),n}},{key:"_buildFragmentShader",value:function(){var e=this._scene,t=e.gammaOutput,n=e._lightsState,r=e._sectionPlanesState,i=r.getNumAllocatedSectionPlanes()>0,a=[];if(a.push("#version 300 es"),a.push("// Triangles batching color texture fragment shader"),a.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),a.push("precision highp float;"),a.push("precision highp int;"),a.push("#else"),a.push("precision mediump float;"),a.push("precision mediump int;"),a.push("#endif"),e.logarithmicDepthBufferEnabled&&(a.push("in float isPerspective;"),a.push("uniform float logDepthBufFC;"),a.push("in float vFragDepth;")),a.push("uniform sampler2D uColorMap;"),this._withSAO&&(a.push("uniform sampler2D uOcclusionTexture;"),a.push("uniform vec4 uSAOParams;"),a.push("const float packUpscale = 256. / 255.;"),a.push("const float unpackDownScale = 255. / 256.;"),a.push("const vec3 packFactors = vec3( 256. * 256. * 256., 256. * 256., 256. );"),a.push("const vec4 unPackFactors = unpackDownScale / vec4( packFactors, 1. );"),a.push("float unpackRGBToFloat( const in vec4 v ) {"),a.push(" return dot( v, unPackFactors );"),a.push("}")),a.push("uniform float gammaFactor;"),a.push("vec4 linearToLinear( in vec4 value ) {"),a.push(" return value;"),a.push("}"),a.push("vec4 sRGBToLinear( in vec4 value ) {"),a.push(" return vec4( mix( pow( value.rgb * 0.9478672986 + vec3( 0.0521327014 ), vec3( 2.4 ) ), value.rgb * 0.0773993808, vec3( lessThanEqual( value.rgb, vec3( 0.04045 ) ) ) ), value.w );"),a.push("}"),a.push("vec4 gammaToLinear( in vec4 value) {"),a.push(" return vec4( pow( value.xyz, vec3( gammaFactor ) ), value.w );"),a.push("}"),t&&(a.push("vec4 linearToGamma( in vec4 value, in float gammaFactor ) {"),a.push(" return vec4( pow( value.xyz, vec3( 1.0 / gammaFactor ) ), value.w );"),a.push("}")),i){a.push("in vec4 vWorldPosition;"),a.push("in float vFlags;");for(var s=0,o=r.getNumAllocatedSectionPlanes();s> 16 & 0xF) == 1;"),a.push(" if (clippable) {"),a.push(" float dist = 0.0;");for(var f=0,p=r.getNumAllocatedSectionPlanes();f 0.0) { "),a.push(" discard;"),a.push(" }"),a.push("}")}a.push("vec3 reflectedColor = vec3(0.0, 0.0, 0.0);"),a.push("vec3 viewLightDir = vec3(0.0, 0.0, -1.0);"),a.push("float lambertian = 1.0;"),a.push("vec3 xTangent = dFdx( vViewPosition.xyz );"),a.push("vec3 yTangent = dFdy( vViewPosition.xyz );"),a.push("vec3 viewNormal = normalize( cross( xTangent, yTangent ) );");for(var A=0,d=n.lights.length;A0&&void 0!==arguments[0]?arguments[0]:5e6;b(this,e),t>5e6&&(t=5e6),this.maxVerts=t,this.maxIndices=3*t,this.positions=[],this.colors=[],this.uv=[],this.metallicRoughness=[],this.normals=[],this.pickColors=[],this.offsets=[],this.indices=[],this.edgeIndices=[]})),Bo=$.mat4(),Oo=$.mat4();function So(e,t,n){for(var r=e.length,i=new Uint16Array(r),a=t[0],s=t[1],o=t[2],l=t[3]-a,u=t[4]-s,c=t[5]-o,f=65525,p=f/l,A=f/u,d=f/c,v=function(e){return e>=0?e:0},h=0;h=0?1:-1),s=(1-Math.abs(r))*(i>=0?1:-1),r=a,i=s}return new Int8Array([Math[t](127.5*r+(r<0?-1:0)),Math[n](127.5*i+(i<0?-1:0))])}function Mo(e){var t=e[0],n=e[1];t/=t<0?127:128,n/=n<0?127:128;var r=1-Math.abs(t)-Math.abs(n);r<0&&(t=(1-Math.abs(n))*(t>=0?1:-1),n=(1-Math.abs(t))*(n>=0?1:-1));var i=Math.sqrt(t*t+n*n+r*r);return[t/i,n/i,r/i]}var xo=$.vec3(),Fo=$.vec3(),Ho=$.vec3(),Uo=$.vec3(),Go=$.mat4(),ko=function(e){I(n,no);var t=m(n);function n(){return b(this,n),t.apply(this,arguments)}return P(n,[{key:"drawLayer",value:function(e,t,n){if(this._program||(this._allocate(),!this.errors)){e.lastProgramId!==this._program.id&&(e.lastProgramId=this._program.id,this._bindProgram());var r=t.model,i=r.scene,a=i.camera,s=i.canvas.gl,o=t._state,l=t._state.origin,u=r.position,c=r.rotationMatrix,f=r.rotationMatrixConjugate,p=r.aabb,A=e.pickViewMatrix||a.viewMatrix;this._vaoCache.has(t)?s.bindVertexArray(this._vaoCache.get(t)):this._vaoCache.set(t,this._makeVAO(o));var d,v,h=xo;if(h[0]=$.safeInv(p[3]-p[0])*$.MAX_INT,h[1]=$.safeInv(p[4]-p[1])*$.MAX_INT,h[2]=$.safeInv(p[5]-p[2])*$.MAX_INT,e.snapPickCoordinateScale[0]=$.safeInv(h[0]),e.snapPickCoordinateScale[1]=$.safeInv(h[1]),e.snapPickCoordinateScale[2]=$.safeInv(h[2]),l||0!==u[0]||0!==u[1]||0!==u[2]){var I=Fo;if(l){var y=Ho;$.transformPoint3(c,l,y),I[0]=y[0],I[1]=y[1],I[2]=y[2]}else I[0]=0,I[1]=0,I[2]=0;I[0]+=u[0],I[1]+=u[1],I[2]+=u[2],d=Be(A,I,Go),(v=Uo)[0]=a.eye[0]-I[0],v[1]=a.eye[1]-I[1],v[2]=a.eye[2]-I[2],e.snapPickOrigin[0]=I[0],e.snapPickOrigin[1]=I[1],e.snapPickOrigin[2]=I[2]}else d=A,v=a.eye,e.snapPickOrigin[0]=0,e.snapPickOrigin[1]=0,e.snapPickOrigin[2]=0;s.uniform3fv(this._uCameraEyeRtc,v),s.uniform2fv(this.uVectorA,e.snapVectorA),s.uniform2fv(this.uInverseVectorAB,e.snapInvVectorAB),s.uniform1i(this._uLayerNumber,e.snapPickLayerNumber),s.uniform3fv(this._uCoordinateScaler,h),s.uniform1i(this._uRenderPass,n),s.uniform1i(this._uPickInvisible,e.pickInvisible);var m=0;this._matricesUniformBlockBufferData.set(f,0),this._matricesUniformBlockBufferData.set(d,m+=16),this._matricesUniformBlockBufferData.set(a.projMatrix,m+=16),this._matricesUniformBlockBufferData.set(o.positionsDecodeMatrix,m+=16),s.bindBuffer(s.UNIFORM_BUFFER,this._matricesUniformBlockBuffer),s.bufferData(s.UNIFORM_BUFFER,this._matricesUniformBlockBufferData,s.DYNAMIC_DRAW),s.bindBufferBase(s.UNIFORM_BUFFER,this._matricesUniformBlockBufferBindingPoint,this._matricesUniformBlockBuffer);var w=2/(Math.log(e.pickZFar+1)/Math.LN2);s.uniform1f(this._uLogDepthBufFC,w),this.setSectionPlanesStateUniforms(t),o.indicesBuf.bind(),s.drawElements(s.TRIANGLES,o.indicesBuf.numItems,o.indicesBuf.itemType,0),o.indicesBuf.unbind()}}},{key:"_allocate",value:function(){v(E(n.prototype),"_allocate",this).call(this);var e=this._program;this._uLogDepthBufFC=e.getLocation("logDepthBufFC"),this._uCameraEyeRtc=e.getLocation("uCameraEyeRtc"),this.uVectorA=e.getLocation("snapVectorA"),this.uInverseVectorAB=e.getLocation("snapInvVectorAB"),this._uLayerNumber=e.getLocation("layerNumber"),this._uCoordinateScaler=e.getLocation("coordinateScaler")}},{key:"_bindProgram",value:function(){this._program.bind()}},{key:"_buildVertexShader",value:function(){var e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,n=[];return n.push("#version 300 es"),n.push("// VBO SnapBatchingDepthBufInitRenderer vertex shader"),n.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),n.push("precision highp float;"),n.push("precision highp int;"),n.push("precision highp usampler2D;"),n.push("precision highp isampler2D;"),n.push("precision highp sampler2D;"),n.push("#else"),n.push("precision mediump float;"),n.push("precision mediump int;"),n.push("precision mediump usampler2D;"),n.push("precision mediump isampler2D;"),n.push("precision mediump sampler2D;"),n.push("#endif"),n.push("uniform int renderPass;"),n.push("in vec4 pickColor;"),n.push("in vec3 position;"),e.entityOffsetsEnabled&&n.push("in vec3 offset;"),n.push("in float flags;"),n.push("uniform bool pickInvisible;"),this._addMatricesUniformBlockLines(n),n.push("uniform vec3 uCameraEyeRtc;"),n.push("uniform vec2 snapVectorA;"),n.push("uniform vec2 snapInvVectorAB;"),n.push("uniform float logDepthBufFC;"),n.push("out float vFragDepth;"),n.push("out float isPerspective;"),n.push("bool isPerspectiveMatrix(mat4 m) {"),n.push(" return (m[2][3] == - 1.0);"),n.push("}"),n.push("vec2 remapClipPos(vec2 clipPos) {"),n.push(" float x = (clipPos.x - snapVectorA.x) * snapInvVectorAB.x;"),n.push(" float y = (clipPos.y - snapVectorA.y) * snapInvVectorAB.y;"),n.push(" return vec2(x, y);"),n.push("}"),n.push("flat out vec4 vPickColor;"),n.push("out vec4 vWorldPosition;"),t&&n.push("out float vFlags;"),n.push("out highp vec3 relativeToOriginPosition;"),n.push("void main(void) {"),n.push("int pickFlag = int(flags) >> 12 & 0xF;"),n.push("if (pickFlag != renderPass) {"),n.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),n.push(" } else {"),n.push(" vec4 worldPosition = worldMatrix * (positionsDecodeMatrix * vec4(position, 1.0)); "),e.entityOffsetsEnabled&&n.push(" worldPosition.xyz = worldPosition.xyz + offset;"),n.push(" relativeToOriginPosition = worldPosition.xyz;"),n.push(" vec4 viewPosition = viewMatrix * worldPosition; "),n.push(" vWorldPosition = worldPosition;"),t&&n.push(" vFlags = flags;"),n.push("vPickColor = pickColor;"),n.push("vec4 clipPos = projMatrix * viewPosition;"),n.push("float tmp = clipPos.w;"),n.push("clipPos.xyzw /= tmp;"),n.push("clipPos.xy = remapClipPos(clipPos.xy);"),n.push("clipPos.xyzw *= tmp;"),n.push("vFragDepth = 1.0 + clipPos.w;"),n.push("isPerspective = float (isPerspectiveMatrix(projMatrix));"),n.push("gl_Position = clipPos;"),n.push(" }"),n.push("}"),n}},{key:"_buildFragmentShader",value:function(){var e=this._scene._sectionPlanesState,t=e.getNumAllocatedSectionPlanes()>0,n=[];if(n.push("#version 300 es"),n.push("// VBO SnapBatchingDepthBufInitRenderer fragment shader"),n.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),n.push("precision highp float;"),n.push("precision highp int;"),n.push("#else"),n.push("precision mediump float;"),n.push("precision mediump int;"),n.push("#endif"),n.push("in float isPerspective;"),n.push("uniform float logDepthBufFC;"),n.push("in float vFragDepth;"),n.push("uniform int layerNumber;"),n.push("uniform vec3 coordinateScaler;"),n.push("in vec4 vWorldPosition;"),n.push("flat in vec4 vPickColor;"),t){n.push("in float vFlags;");for(var r=0;r> 16 & 0xF) == 1;"),n.push(" if (clippable) {"),n.push(" float dist = 0.0;");for(var i=0;i 0.0) { discard; }"),n.push(" }")}return n.push(" float dx = dFdx(vFragDepth);"),n.push(" float dy = dFdy(vFragDepth);"),n.push(" float diff = sqrt(dx*dx+dy*dy);"),n.push(" gl_FragDepth = isPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth + diff ) * logDepthBufFC * 0.5;"),n.push("outCoords = ivec4(relativeToOriginPosition.xyz*coordinateScaler.xyz, -layerNumber);"),n.push("vec3 xTangent = dFdx( vWorldPosition.xyz );"),n.push("vec3 yTangent = dFdy( vWorldPosition.xyz );"),n.push("vec3 worldNormal = normalize( cross( xTangent, yTangent ) );"),n.push("outNormal = ivec4(worldNormal * float(".concat($.MAX_INT,"), 1.0);")),n.push("outPickColor = uvec4(vPickColor);"),n.push("}"),n}},{key:"webglContextRestored",value:function(){this._program=null}},{key:"destroy",value:function(){this._program&&this._program.destroy(),this._program=null}}]),n}(),jo=$.vec3(),Vo=$.vec3(),Qo=$.vec3(),Wo=$.vec3(),zo=$.mat4(),Ko=function(e){I(n,no);var t=m(n);function n(){return b(this,n),t.apply(this,arguments)}return P(n,[{key:"_getHash",value:function(){return this._scene._sectionPlanesState.getHash()+this._scene.pointsMaterial.hash}},{key:"drawLayer",value:function(e,t,n){if(this._program||(this._allocate(),!this.errors)){e.lastProgramId!==this._program.id&&(e.lastProgramId=this._program.id,this._bindProgram());var r=t.model,i=r.scene,a=i.camera,s=i.canvas.gl,o=t._state,l=t._state.origin,u=r.position,c=r.rotationMatrix,f=r.rotationMatrixConjugate,p=r.aabb,A=e.pickViewMatrix||a.viewMatrix;this._vaoCache.has(t)?s.bindVertexArray(this._vaoCache.get(t)):this._vaoCache.set(t,this._makeVAO(o));var d,v,h=jo;if(h[0]=$.safeInv(p[3]-p[0])*$.MAX_INT,h[1]=$.safeInv(p[4]-p[1])*$.MAX_INT,h[2]=$.safeInv(p[5]-p[2])*$.MAX_INT,e.snapPickCoordinateScale[0]=$.safeInv(h[0]),e.snapPickCoordinateScale[1]=$.safeInv(h[1]),e.snapPickCoordinateScale[2]=$.safeInv(h[2]),l||0!==u[0]||0!==u[1]||0!==u[2]){var I=Vo;if(l){var y=Qo;$.transformPoint3(c,l,y),I[0]=y[0],I[1]=y[1],I[2]=y[2]}else I[0]=0,I[1]=0,I[2]=0;I[0]+=u[0],I[1]+=u[1],I[2]+=u[2],d=Be(A,I,zo),(v=Wo)[0]=a.eye[0]-I[0],v[1]=a.eye[1]-I[1],v[2]=a.eye[2]-I[2],e.snapPickOrigin[0]=I[0],e.snapPickOrigin[1]=I[1],e.snapPickOrigin[2]=I[2]}else d=A,v=a.eye,e.snapPickOrigin[0]=0,e.snapPickOrigin[1]=0,e.snapPickOrigin[2]=0;s.uniform3fv(this._uCameraEyeRtc,v),s.uniform2fv(this.uVectorA,e.snapVectorA),s.uniform2fv(this.uInverseVectorAB,e.snapInvVectorAB),s.uniform1i(this._uLayerNumber,e.snapPickLayerNumber),s.uniform3fv(this._uCoordinateScaler,h),s.uniform1i(this._uRenderPass,n),s.uniform1i(this._uPickInvisible,e.pickInvisible);var m=0;this._matricesUniformBlockBufferData.set(f,0),this._matricesUniformBlockBufferData.set(d,m+=16),this._matricesUniformBlockBufferData.set(a.projMatrix,m+=16),this._matricesUniformBlockBufferData.set(o.positionsDecodeMatrix,m+=16),s.bindBuffer(s.UNIFORM_BUFFER,this._matricesUniformBlockBuffer),s.bufferData(s.UNIFORM_BUFFER,this._matricesUniformBlockBufferData,s.DYNAMIC_DRAW),s.bindBufferBase(s.UNIFORM_BUFFER,this._matricesUniformBlockBufferBindingPoint,this._matricesUniformBlockBuffer);var w=2/(Math.log(e.pickZFar+1)/Math.LN2);s.uniform1f(this._uLogDepthBufFC,w),this.setSectionPlanesStateUniforms(t),"edge"===e.snapMode?(o.edgeIndicesBuf.bind(),s.drawElements(s.LINES,o.edgeIndicesBuf.numItems,o.edgeIndicesBuf.itemType,0),o.edgeIndicesBuf.unbind()):s.drawArrays(s.POINTS,0,o.positionsBuf.numItems)}}},{key:"_allocate",value:function(){v(E(n.prototype),"_allocate",this).call(this);var e=this._program;this._uLogDepthBufFC=e.getLocation("logDepthBufFC"),this._uCameraEyeRtc=e.getLocation("uCameraEyeRtc"),this.uVectorA=e.getLocation("snapVectorA"),this.uInverseVectorAB=e.getLocation("snapInvVectorAB"),this._uLayerNumber=e.getLocation("layerNumber"),this._uCoordinateScaler=e.getLocation("coordinateScaler")}},{key:"_bindProgram",value:function(){this._program.bind()}},{key:"_buildVertexShader",value:function(){var e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0;e.pointsMaterial._state;var n=[];return n.push("#version 300 es"),n.push("// SnapBatchingDepthRenderer vertex shader"),n.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),n.push("precision highp float;"),n.push("precision highp int;"),n.push("precision highp usampler2D;"),n.push("precision highp isampler2D;"),n.push("precision highp sampler2D;"),n.push("#else"),n.push("precision mediump float;"),n.push("precision mediump int;"),n.push("precision mediump usampler2D;"),n.push("precision mediump isampler2D;"),n.push("precision mediump sampler2D;"),n.push("#endif"),n.push("uniform int renderPass;"),n.push("in vec3 position;"),e.entityOffsetsEnabled&&n.push("in vec3 offset;"),n.push("in float flags;"),n.push("uniform bool pickInvisible;"),this._addMatricesUniformBlockLines(n),n.push("uniform vec3 uCameraEyeRtc;"),n.push("uniform vec2 snapVectorA;"),n.push("uniform vec2 snapInvVectorAB;"),n.push("uniform float logDepthBufFC;"),n.push("out float vFragDepth;"),n.push("bool isPerspectiveMatrix(mat4 m) {"),n.push(" return (m[2][3] == - 1.0);"),n.push("}"),n.push("out float isPerspective;"),n.push("vec2 remapClipPos(vec2 clipPos) {"),n.push(" float x = (clipPos.x - snapVectorA.x) * snapInvVectorAB.x;"),n.push(" float y = (clipPos.y - snapVectorA.y) * snapInvVectorAB.y;"),n.push(" return vec2(x, y);"),n.push("}"),t&&(n.push("out vec4 vWorldPosition;"),n.push("out float vFlags;")),n.push("out highp vec3 relativeToOriginPosition;"),n.push("void main(void) {"),n.push("int pickFlag = int(flags) >> 12 & 0xF;"),n.push("if (pickFlag != renderPass) {"),n.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),n.push(" } else {"),n.push(" vec4 worldPosition = worldMatrix * (positionsDecodeMatrix * vec4(position, 1.0)); "),e.entityOffsetsEnabled&&n.push(" worldPosition.xyz = worldPosition.xyz + offset;"),n.push("relativeToOriginPosition = worldPosition.xyz;"),n.push(" vec4 viewPosition = viewMatrix * worldPosition; "),t&&(n.push(" vWorldPosition = worldPosition;"),n.push(" vFlags = flags;")),n.push("vec4 clipPos = projMatrix * viewPosition;"),n.push("float tmp = clipPos.w;"),n.push("clipPos.xyzw /= tmp;"),n.push("clipPos.xy = remapClipPos(clipPos.xy);"),n.push("clipPos.xyzw *= tmp;"),n.push("vFragDepth = 1.0 + clipPos.w;"),n.push("isPerspective = float (isPerspectiveMatrix(projMatrix));"),n.push("gl_Position = clipPos;"),n.push("gl_PointSize = 1.0;"),n.push(" }"),n.push("}"),n}},{key:"_buildFragmentShader",value:function(){var e=this._scene._sectionPlanesState,t=e.getNumAllocatedSectionPlanes()>0,n=[];if(n.push("#version 300 es"),n.push("// SnapBatchingDepthRenderer fragment shader"),n.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),n.push("precision highp float;"),n.push("precision highp int;"),n.push("#else"),n.push("precision mediump float;"),n.push("precision mediump int;"),n.push("#endif"),n.push("in float isPerspective;"),n.push("uniform float logDepthBufFC;"),n.push("in float vFragDepth;"),n.push("uniform int layerNumber;"),n.push("uniform vec3 coordinateScaler;"),t){n.push("in vec4 vWorldPosition;"),n.push("in float vFlags;");for(var r=0;r> 16 & 0xF) == 1;"),n.push(" if (clippable) {"),n.push(" float dist = 0.0;");for(var i=0;i 0.0) { discard; }"),n.push(" }")}return n.push(" gl_FragDepth = isPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5;"),n.push("outCoords = ivec4(relativeToOriginPosition.xyz*coordinateScaler.xyz, layerNumber);"),n.push("}"),n}},{key:"webglContextRestored",value:function(){this._program=null}},{key:"destroy",value:function(){this._program&&this._program.destroy(),this._program=null}}]),n}(),Yo=function(){function e(t){b(this,e),this._scene=t}return P(e,[{key:"_compile",value:function(){this._snapDepthBufInitRenderer&&!this._snapDepthBufInitRenderer.getValid()&&(this._snapDepthBufInitRenderer.destroy(),this._snapDepthBufInitRenderer=null),this._snapDepthRenderer&&!this._snapDepthRenderer.getValid()&&(this._snapDepthRenderer.destroy(),this._snapDepthRenderer=null)}},{key:"eagerCreateRenders",value:function(){this._snapDepthBufInitRenderer||(this._snapDepthBufInitRenderer=new ko(this._scene,!1)),this._snapDepthRenderer||(this._snapDepthRenderer=new Ko(this._scene))}},{key:"snapDepthBufInitRenderer",get:function(){return this._snapDepthBufInitRenderer||(this._snapDepthBufInitRenderer=new ko(this._scene,!1)),this._snapDepthBufInitRenderer}},{key:"snapDepthRenderer",get:function(){return this._snapDepthRenderer||(this._snapDepthRenderer=new Ko(this._scene)),this._snapDepthRenderer}},{key:"_destroy",value:function(){this._snapDepthBufInitRenderer&&this._snapDepthBufInitRenderer.destroy(),this._snapDepthRenderer&&this._snapDepthRenderer.destroy()}}]),e}(),Xo={};var qo=$.mat4(),Jo=$.mat4(),Zo=$.vec4([0,0,0,1]);$.vec4([0,0,0,1]),$.vec4([0,0,0,1]),$.OBB3();var $o=$.vec3(),el=$.vec3(),tl=$.vec3(),nl=$.vec3(),rl=$.vec3(),il=$.vec3(),al=$.vec3(),sl=function(){function e(t){var n,r,i;b(this,e),this.model=t.model,this.sortId="TrianglesBatchingLayer"+(t.solid?"-solid":"-surface")+(t.autoNormals?"-autonormals":"-normals")+(t.textureSet&&t.textureSet.colorTexture?"-colorTexture":"")+(t.textureSet&&t.textureSet.metallicRoughnessTexture?"-metallicRoughnessTexture":""),this.layerIndex=t.layerIndex,this._batchingRenderers=(n=t.model.scene,r=n.id,(i=Co[r])||(i=new Ro(n),Co[r]=i,i._compile(),i.eagerCreateRenders(),n.on("compile",(function(){i._compile(),i.eagerCreateRenders()})),n.on("destroyed",(function(){delete Co[r],i._destroy()}))),i),this._snapBatchingRenderers=function(e){var t=e.id,n=Xo[t];return n||(n=new Yo(e),Xo[t]=n,n._compile(),n.eagerCreateRenders(),e.on("compile",(function(){n._compile(),n.eagerCreateRenders()})),e.on("destroyed",(function(){delete Xo[t],n._destroy()}))),n}(t.model.scene),this._buffer=new _o(t.maxGeometryBatchSize),this._scratchMemory=t.scratchMemory,this._state=new Wt({origin:$.vec3(),positionsBuf:null,offsetsBuf:null,normalsBuf:null,colorsBuf:null,uvBuf:null,metallicRoughnessBuf:null,flagsBuf:null,indicesBuf:null,edgeIndicesBuf:null,positionsDecodeMatrix:null,uvDecodeMatrix:null,textureSet:t.textureSet,pbrSupported:!1}),this._numPortions=0,this._numVisibleLayerPortions=0,this._numTransparentLayerPortions=0,this._numXRayedLayerPortions=0,this._numSelectedLayerPortions=0,this._numHighlightedLayerPortions=0,this._numClippableLayerPortions=0,this._numEdgesLayerPortions=0,this._numPickableLayerPortions=0,this._numCulledLayerPortions=0,this._modelAABB=$.collapseAABB3(),this._portions=[],this._numVerts=0,this._finalized=!1,t.positionsDecodeMatrix&&(this._state.positionsDecodeMatrix=$.mat4(t.positionsDecodeMatrix)),t.uvDecodeMatrix?(this._state.uvDecodeMatrix=$.mat3(t.uvDecodeMatrix),this._preCompressedUVsExpected=!0):this._preCompressedUVsExpected=!1,t.origin&&this._state.origin.set(t.origin),this.aabb=$.collapseAABB3(),this.solid=!!t.solid}return P(e,[{key:"canCreatePortion",value:function(e,t){if(this._finalized)throw"Already finalized";return this._buffer.positions.length+e<3*this._buffer.maxVerts&&this._buffer.indices.length+t0)for(var D=0,P=a.length;D0){var R=qo;h?$.inverseMat4($.transposeMat4(h,Jo),R):$.identityMat4(R,R),function(e,t,n,r,i){function a(e,t){return e[0]*t[0]+e[1]*t[1]+e[2]*t[2]}var s,o,l,u,c,f=new Float32Array([0,0,0,0]),p=new Float32Array([0,0,0,0]);for(c=0;cu&&(o=s,u=l),(l=a(p,Mo(s=Lo(p,"floor","ceil"))))>u&&(o=s,u=l),(l=a(p,Mo(s=Lo(p,"ceil","ceil"))))>u&&(o=s,u=l),r[i+c+0]=o[0],r[i+c+1]=o[1],r[i+c+2]=0}(R,i,i.length,m.normals,m.normals.length)}if(l)for(var C=0,_=l.length;C<_;C+=3)m.colors.push(255*l[C]),m.colors.push(255*l[C+1]),m.colors.push(255*l[C+2]),m.colors.push(255);else if(u)for(var B=0,O=l.length;B0)for(var G=0,k=s.length;G0)for(var j=0,V=o.length;j0){var r=this._state.positionsDecodeMatrix?new Uint16Array(n.positions):So(n.positions,this._modelAABB,this._state.positionsDecodeMatrix=$.mat4());if(e.positionsBuf=new Dt(t,t.ARRAY_BUFFER,r,r.length,3,t.STATIC_DRAW),this.model.scene.pickSurfacePrecisionEnabled)for(var i=0,a=this._portions.length;i0){var u=new Int8Array(n.normals);e.normalsBuf=new Dt(t,t.ARRAY_BUFFER,u,n.normals.length,3,t.STATIC_DRAW,!0)}if(n.colors.length>0){var c=new Uint8Array(n.colors);e.colorsBuf=new Dt(t,t.ARRAY_BUFFER,c,n.colors.length,4,t.DYNAMIC_DRAW,!1)}if(n.uv.length>0)if(e.uvDecodeMatrix){e.uvBuf=new Dt(t,t.ARRAY_BUFFER,n.uv,n.uv.length,2,t.STATIC_DRAW,!1)}else{var f=Dn.getUVBounds(n.uv),p=Dn.compressUVs(n.uv,f.min,f.max),A=p.quantized;e.uvDecodeMatrix=$.mat3(p.decodeMatrix),e.uvBuf=new Dt(t,t.ARRAY_BUFFER,A,A.length,2,t.STATIC_DRAW,!1)}if(n.metallicRoughness.length>0){var d=new Uint8Array(n.metallicRoughness);e.metallicRoughnessBuf=new Dt(t,t.ARRAY_BUFFER,d,n.metallicRoughness.length,2,t.STATIC_DRAW,!1)}if(n.positions.length>0){var v=n.positions.length/3,h=new Float32Array(v);e.flagsBuf=new Dt(t,t.ARRAY_BUFFER,h,h.length,1,t.DYNAMIC_DRAW,!1)}if(n.pickColors.length>0){var I=new Uint8Array(n.pickColors);e.pickColorsBuf=new Dt(t,t.ARRAY_BUFFER,I,n.pickColors.length,4,t.STATIC_DRAW,!1)}if(this.model.scene.entityOffsetsEnabled&&n.offsets.length>0){var y=new Float32Array(n.offsets);e.offsetsBuf=new Dt(t,t.ARRAY_BUFFER,y,n.offsets.length,3,t.DYNAMIC_DRAW)}if(n.indices.length>0){var m=new Uint32Array(n.indices);e.indicesBuf=new Dt(t,t.ELEMENT_ARRAY_BUFFER,m,n.indices.length,1,t.STATIC_DRAW)}if(n.edgeIndices.length>0){var w=new Uint32Array(n.edgeIndices);e.edgeIndicesBuf=new Dt(t,t.ELEMENT_ARRAY_BUFFER,w,n.edgeIndices.length,1,t.STATIC_DRAW)}this._state.pbrSupported=!!(e.metallicRoughnessBuf&&e.uvBuf&&e.normalsBuf&&e.textureSet&&e.textureSet.colorTexture&&e.textureSet.metallicRoughnessTexture),this._state.colorTextureSupported=!!e.uvBuf&&!!e.textureSet&&!!e.textureSet.colorTexture,this._buffer=null,this._finalized=!0}}},{key:"isEmpty",value:function(){return!this._state.indicesBuf}},{key:"initFlags",value:function(e,t,n){t&Me&&(this._numVisibleLayerPortions++,this.model.numVisibleLayerPortions++),t&ke&&(this._numHighlightedLayerPortions++,this.model.numHighlightedLayerPortions++),t&Ge&&(this._numXRayedLayerPortions++,this.model.numXRayedLayerPortions++),t&je&&(this._numSelectedLayerPortions++,this.model.numSelectedLayerPortions++),t&He&&(this._numClippableLayerPortions++,this.model.numClippableLayerPortions++),t&Ve&&(this._numEdgesLayerPortions++,this.model.numEdgesLayerPortions++),t&Fe&&(this._numPickableLayerPortions++,this.model.numPickableLayerPortions++),t&xe&&(this._numCulledLayerPortions++,this.model.numCulledLayerPortions++),n&&(this._numTransparentLayerPortions++,this.model.numTransparentLayerPortions++);this._setFlags(e,t,n,!0)}},{key:"flushInitFlags",value:function(){this._setDeferredFlags()}},{key:"setVisible",value:function(e,t,n){if(!this._finalized)throw"Not finalized";t&Me?(this._numVisibleLayerPortions++,this.model.numVisibleLayerPortions++):(this._numVisibleLayerPortions--,this.model.numVisibleLayerPortions--),this._setFlags(e,t,n)}},{key:"setHighlighted",value:function(e,t,n){if(!this._finalized)throw"Not finalized";t&ke?(this._numHighlightedLayerPortions++,this.model.numHighlightedLayerPortions++):(this._numHighlightedLayerPortions--,this.model.numHighlightedLayerPortions--),this._setFlags(e,t,n)}},{key:"setXRayed",value:function(e,t,n){if(!this._finalized)throw"Not finalized";t&Ge?(this._numXRayedLayerPortions++,this.model.numXRayedLayerPortions++):(this._numXRayedLayerPortions--,this.model.numXRayedLayerPortions--),this._setFlags(e,t,n)}},{key:"setSelected",value:function(e,t,n){if(!this._finalized)throw"Not finalized";t&je?(this._numSelectedLayerPortions++,this.model.numSelectedLayerPortions++):(this._numSelectedLayerPortions--,this.model.numSelectedLayerPortions--),this._setFlags(e,t,n)}},{key:"setEdges",value:function(e,t,n){if(!this._finalized)throw"Not finalized";t&Ve?(this._numEdgesLayerPortions++,this.model.numEdgesLayerPortions++):(this._numEdgesLayerPortions--,this.model.numEdgesLayerPortions--),this._setFlags(e,t,n)}},{key:"setClippable",value:function(e,t){if(!this._finalized)throw"Not finalized";t&He?(this._numClippableLayerPortions++,this.model.numClippableLayerPortions++):(this._numClippableLayerPortions--,this.model.numClippableLayerPortions--),this._setFlags(e,t)}},{key:"setCulled",value:function(e,t,n){if(!this._finalized)throw"Not finalized";t&xe?(this._numCulledLayerPortions++,this.model.numCulledLayerPortions++):(this._numCulledLayerPortions--,this.model.numCulledLayerPortions--),this._setFlags(e,t,n)}},{key:"setCollidable",value:function(e,t){if(!this._finalized)throw"Not finalized"}},{key:"setPickable",value:function(e,t,n){if(!this._finalized)throw"Not finalized";t&Fe?(this._numPickableLayerPortions++,this.model.numPickableLayerPortions++):(this._numPickableLayerPortions--,this.model.numPickableLayerPortions--),this._setFlags(e,t,n)}},{key:"setColor",value:function(e,t){if(!this._finalized)throw"Not finalized";for(var n=e,r=this._portions[n],i=4*r.vertsBaseIndex,a=4*r.numVerts,s=this._scratchMemory.getUInt8Array(a),o=t[0],l=t[1],u=t[2],c=t[3],f=0;f3&&void 0!==arguments[3]&&arguments[3];if(!this._finalized)throw"Not finalized";var i,a,s=e,o=this._portions[s],l=o.vertsBaseIndex,u=o.numVerts,c=l,f=u,p=!!(t&Me),A=!!(t&Ge),d=!!(t&ke),v=!!(t&je),h=!!(t&Ve),I=!!(t&Fe),y=!!(t&xe);i=!p||y||A||d&&!this.model.scene.highlightMaterial.glowThrough||v&&!this.model.scene.selectedMaterial.glowThrough?Xs.NOT_RENDERED:n?Xs.COLOR_TRANSPARENT:Xs.COLOR_OPAQUE,a=!p||y?Xs.NOT_RENDERED:v?Xs.SILHOUETTE_SELECTED:d?Xs.SILHOUETTE_HIGHLIGHTED:A?Xs.SILHOUETTE_XRAYED:Xs.NOT_RENDERED;var m=0;m=!p||y?Xs.NOT_RENDERED:v?Xs.EDGES_SELECTED:d?Xs.EDGES_HIGHLIGHTED:A?Xs.EDGES_XRAYED:h?n?Xs.EDGES_COLOR_TRANSPARENT:Xs.EDGES_COLOR_OPAQUE:Xs.NOT_RENDERED;var w=p&&!y&&I?Xs.PICK:Xs.NOT_RENDERED,g=t&He?1:0;if(r){this._deferredFlagValues||(this._deferredFlagValues=new Float32Array(this._numVerts));for(var E=c,T=c+f;EI)&&(I=b,r.set(y),i&&$.triangleNormal(A,d,v,i),h=!0)}}return h&&i&&($.transformVec3(this.model.worldNormalMatrix,i,i),$.normalizeVec3(i)),h}},{key:"destroy",value:function(){var e=this._state;e.positionsBuf&&(e.positionsBuf.destroy(),e.positionsBuf=null),e.offsetsBuf&&(e.offsetsBuf.destroy(),e.offsetsBuf=null),e.normalsBuf&&(e.normalsBuf.destroy(),e.normalsBuf=null),e.colorsBuf&&(e.colorsBuf.destroy(),e.colorsBuf=null),e.metallicRoughnessBuf&&(e.metallicRoughnessBuf.destroy(),e.metallicRoughnessBuf=null),e.flagsBuf&&(e.flagsBuf.destroy(),e.flagsBuf=null),e.pickColorsBuf&&(e.pickColorsBuf.destroy(),e.pickColorsBuf=null),e.indicesBuf&&(e.indicesBuf.destroy(),e.indicessBuf=null),e.edgeIndicesBuf&&(e.edgeIndicesBuf.destroy(),e.edgeIndicessBuf=null),e.destroy()}}]),e}(),ol=function(e){I(n,ao);var t=m(n);function n(){return b(this,n),t.apply(this,arguments)}return P(n,[{key:"_getHash",value:function(){var e=this._scene;return[e._lightsState.getHash(),e._sectionPlanesState.getHash(),this._withSAO?"sao":"nosao"].join(";")}},{key:"drawLayer",value:function(e,t,r){v(E(n.prototype),"drawLayer",this).call(this,e,t,r,{incrementDrawState:!0})}},{key:"_buildVertexShader",value:function(){var e,t,n,r=this._scene,i=r._sectionPlanesState,a=r._lightsState,s=i.getNumAllocatedSectionPlanes()>0,o=[];for(o.push("#version 300 es"),o.push("// Instancing geometry drawing vertex shader"),o.push("uniform int renderPass;"),o.push("in vec3 position;"),o.push("in vec2 normal;"),o.push("in vec4 color;"),o.push("in float flags;"),r.entityOffsetsEnabled&&o.push("in vec3 offset;"),o.push("in vec4 modelMatrixCol0;"),o.push("in vec4 modelMatrixCol1;"),o.push("in vec4 modelMatrixCol2;"),o.push("in vec4 modelNormalMatrixCol0;"),o.push("in vec4 modelNormalMatrixCol1;"),o.push("in vec4 modelNormalMatrixCol2;"),this._addMatricesUniformBlockLines(o,!0),r.logarithmicDepthBufferEnabled&&(o.push("uniform float logDepthBufFC;"),o.push("out float vFragDepth;"),o.push("bool isPerspectiveMatrix(mat4 m) {"),o.push(" return (m[2][3] == - 1.0);"),o.push("}"),o.push("out float isPerspective;")),o.push("uniform vec4 lightAmbient;"),e=0,t=a.lights.length;e= 0.0 ? 1.0 : -1.0, v.y >= 0.0 ? 1.0 : -1.0);"),o.push(" }"),o.push(" return normalize(v);"),o.push("}"),s&&(o.push("out vec4 vWorldPosition;"),o.push("out float vFlags;")),o.push("out vec4 vColor;"),o.push("void main(void) {"),o.push("int colorFlag = int(flags) & 0xF;"),o.push("if (colorFlag != renderPass) {"),o.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),o.push("} else {"),o.push("vec4 worldPosition = positionsDecodeMatrix * vec4(position, 1.0); "),o.push("worldPosition = worldMatrix * vec4(dot(worldPosition, modelMatrixCol0), dot(worldPosition, modelMatrixCol1), dot(worldPosition, modelMatrixCol2), 1.0);"),r.entityOffsetsEnabled&&o.push("worldPosition.xyz = worldPosition.xyz + offset;"),o.push("vec4 viewPosition = viewMatrix * worldPosition; "),o.push("vec4 modelNormal = vec4(octDecode(normal.xy), 0.0); "),o.push("vec4 worldNormal = worldNormalMatrix * vec4(dot(modelNormal, modelNormalMatrixCol0), dot(modelNormal, modelNormalMatrixCol1), dot(modelNormal, modelNormalMatrixCol2), 0.0);"),o.push("vec3 viewNormal = normalize(vec4(viewNormalMatrix * worldNormal).xyz);"),o.push("vec3 reflectedColor = vec3(0.0, 0.0, 0.0);"),o.push("vec3 viewLightDir = vec3(0.0, 0.0, -1.0);"),o.push("float lambertian = 1.0;"),e=0,t=a.lights.length;e0,r=[];if(r.push("#version 300 es"),r.push("// Instancing geometry drawing fragment shader"),r.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),r.push("precision highp float;"),r.push("precision highp int;"),r.push("#else"),r.push("precision mediump float;"),r.push("precision mediump int;"),r.push("#endif"),e.logarithmicDepthBufferEnabled&&(r.push("in float isPerspective;"),r.push("uniform float logDepthBufFC;"),r.push("in float vFragDepth;")),this._withSAO&&(r.push("uniform sampler2D uOcclusionTexture;"),r.push("uniform vec4 uSAOParams;"),r.push("const float packUpscale = 256. / 255.;"),r.push("const float unpackDownScale = 255. / 256.;"),r.push("const vec3 packFactors = vec3( 256. * 256. * 256., 256. * 256., 256. );"),r.push("const vec4 unPackFactors = unpackDownScale / vec4( packFactors, 1. );"),r.push("float unpackRGBToFloat( const in vec4 v ) {"),r.push(" return dot( v, unPackFactors );"),r.push("}")),n){r.push("in vec4 vWorldPosition;"),r.push("in float vFlags;");for(var i=0,a=t.getNumAllocatedSectionPlanes();i> 16 & 0xF) == 1;"),r.push(" if (clippable) {"),r.push(" float dist = 0.0;");for(var s=0,o=t.getNumAllocatedSectionPlanes();s 0.0) { "),r.push(" discard;"),r.push(" }"),r.push("}")}return e.logarithmicDepthBufferEnabled&&r.push(" gl_FragDepth = isPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5;"),this._withSAO?(r.push(" float viewportWidth = uSAOParams[0];"),r.push(" float viewportHeight = uSAOParams[1];"),r.push(" float blendCutoff = uSAOParams[2];"),r.push(" float blendFactor = uSAOParams[3];"),r.push(" vec2 uv = vec2(gl_FragCoord.x / viewportWidth, gl_FragCoord.y / viewportHeight);"),r.push(" float ambient = smoothstep(blendCutoff, 1.0, unpackRGBToFloat(texture(uOcclusionTexture, uv))) * blendFactor;"),r.push(" outColor = vec4(vColor.rgb * ambient, 1.0);")):r.push(" outColor = vColor;"),r.push("}"),r}}]),n}(),ll=function(e){I(n,ao);var t=m(n);function n(){return b(this,n),t.apply(this,arguments)}return P(n,[{key:"_getHash",value:function(){var e=this._scene;return[e._lightsState.getHash(),e._sectionPlanesState.getHash(),this._withSAO?"sao":"nosao"].join(";")}},{key:"_buildVertexShader",value:function(){var e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,n=[];return n.push("#version 300 es"),n.push("// Instancing geometry flat-shading drawing vertex shader"),n.push("uniform int renderPass;"),n.push("in vec3 position;"),n.push("in vec4 color;"),n.push("in float flags;"),e.entityOffsetsEnabled&&n.push("in vec3 offset;"),n.push("in vec4 modelMatrixCol0;"),n.push("in vec4 modelMatrixCol1;"),n.push("in vec4 modelMatrixCol2;"),this._addMatricesUniformBlockLines(n),e.logarithmicDepthBufferEnabled&&(n.push("uniform float logDepthBufFC;"),n.push("out float vFragDepth;"),n.push("bool isPerspectiveMatrix(mat4 m) {"),n.push(" return (m[2][3] == - 1.0);"),n.push("}"),n.push("out float isPerspective;")),t&&(n.push("out vec4 vWorldPosition;"),n.push("out float vFlags;")),n.push("out vec4 vViewPosition;"),n.push("out vec4 vColor;"),n.push("void main(void) {"),n.push("int colorFlag = int(flags) & 0xF;"),n.push("if (colorFlag != renderPass) {"),n.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),n.push("} else {"),n.push("vec4 worldPosition = positionsDecodeMatrix * vec4(position, 1.0); "),n.push("worldPosition = worldMatrix * vec4(dot(worldPosition, modelMatrixCol0), dot(worldPosition, modelMatrixCol1), dot(worldPosition, modelMatrixCol2), 1.0);"),e.entityOffsetsEnabled&&n.push(" worldPosition.xyz = worldPosition.xyz + offset;"),n.push("vec4 viewPosition = viewMatrix * worldPosition; "),n.push("vViewPosition = viewPosition;"),n.push("vColor = vec4(float(color.r) / 255.0, float(color.g) / 255.0, float(color.b) / 255.0, float(color.a) / 255.0);"),n.push("vec4 clipPos = projMatrix * viewPosition;"),e.logarithmicDepthBufferEnabled&&(n.push("vFragDepth = 1.0 + clipPos.w;"),n.push("isPerspective = float (isPerspectiveMatrix(projMatrix));")),t&&(n.push("vWorldPosition = worldPosition;"),n.push("vFlags = flags;")),n.push("gl_Position = clipPos;"),n.push("}"),n.push("}"),n}},{key:"_buildFragmentShader",value:function(){var e,t,n=this._scene,r=n._sectionPlanesState,i=n._lightsState,a=r.getNumAllocatedSectionPlanes()>0,s=[];if(s.push("#version 300 es"),s.push("// Instancing geometry flat-shading drawing fragment shader"),s.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),s.push("precision highp float;"),s.push("precision highp int;"),s.push("#else"),s.push("precision mediump float;"),s.push("precision mediump int;"),s.push("#endif"),n.logarithmicDepthBufferEnabled&&(s.push("in float isPerspective;"),s.push("uniform float logDepthBufFC;"),s.push("in float vFragDepth;")),this._withSAO&&(s.push("uniform sampler2D uOcclusionTexture;"),s.push("uniform vec4 uSAOParams;"),s.push("const float packUpscale = 256. / 255.;"),s.push("const float unpackDownScale = 255. / 256.;"),s.push("const vec3 packFactors = vec3( 256. * 256. * 256., 256. * 256., 256. );"),s.push("const vec4 unPackFactors = unpackDownScale / vec4( packFactors, 1. );"),s.push("float unpackRGBToFloat( const in vec4 v ) {"),s.push(" return dot( v, unPackFactors );"),s.push("}")),a){s.push("in vec4 vWorldPosition;"),s.push("in float vFlags;");for(var o=0,l=r.getNumAllocatedSectionPlanes();o> 16 & 0xF) == 1;"),s.push(" if (clippable) {"),s.push(" float dist = 0.0;");for(var c=0,f=r.getNumAllocatedSectionPlanes();c 0.0) { "),s.push(" discard;"),s.push(" }"),s.push("}")}for(s.push("vec3 reflectedColor = vec3(0.0, 0.0, 0.0);"),s.push("vec3 viewLightDir = vec3(0.0, 0.0, -1.0);"),s.push("float lambertian = 1.0;"),s.push("vec3 xTangent = dFdx( vViewPosition.xyz );"),s.push("vec3 yTangent = dFdy( vViewPosition.xyz );"),s.push("vec3 viewNormal = normalize( cross( xTangent, yTangent ) );"),e=0,t=i.lights.length;e0,n=[];return n.push("#version 300 es"),n.push("// Instancing silhouette vertex shader"),n.push("uniform int renderPass;"),n.push("in vec3 position;"),e.entityOffsetsEnabled&&n.push("in vec3 offset;"),n.push("in float flags;"),n.push("in vec4 color;"),n.push("in vec4 modelMatrixCol0;"),n.push("in vec4 modelMatrixCol1;"),n.push("in vec4 modelMatrixCol2;"),this._addMatricesUniformBlockLines(n),n.push("uniform vec4 silhouetteColor;"),e.logarithmicDepthBufferEnabled&&(n.push("uniform float logDepthBufFC;"),n.push("out float vFragDepth;"),n.push("bool isPerspectiveMatrix(mat4 m) {"),n.push(" return (m[2][3] == - 1.0);"),n.push("}"),n.push("out float isPerspective;")),t&&(n.push("out vec4 vWorldPosition;"),n.push("out float vFlags;")),n.push("out vec4 vColor;"),n.push("void main(void) {"),n.push("int silhouetteFlag = int(flags) >> 4 & 0xF;"),n.push("if (silhouetteFlag != renderPass) {"),n.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),n.push("} else {"),n.push("vec4 worldPosition = positionsDecodeMatrix * vec4(position, 1.0); "),n.push("worldPosition = worldMatrix * vec4(dot(worldPosition, modelMatrixCol0), dot(worldPosition, modelMatrixCol1), dot(worldPosition, modelMatrixCol2), 1.0);"),e.entityOffsetsEnabled&&n.push(" worldPosition.xyz = worldPosition.xyz + offset;"),n.push("vec4 viewPosition = viewMatrix * worldPosition; "),t&&(n.push("vWorldPosition = worldPosition;"),n.push("vFlags = flags;")),n.push("vColor = vec4(silhouetteColor.r, silhouetteColor.g, silhouetteColor.b, min(silhouetteColor.a, float(color.a) / 255.0));"),n.push("vec4 clipPos = projMatrix * viewPosition;"),e.logarithmicDepthBufferEnabled&&(n.push("vFragDepth = 1.0 + clipPos.w;"),n.push("isPerspective = float (isPerspectiveMatrix(projMatrix));")),n.push("gl_Position = clipPos;"),n.push("}"),n.push("}"),n}},{key:"_buildFragmentShader",value:function(){var e=this._scene,t=e._sectionPlanesState,n=t.getNumAllocatedSectionPlanes()>0,r=[];if(r.push("#version 300 es"),r.push("// Instancing fill fragment shader"),r.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),r.push("precision highp float;"),r.push("precision highp int;"),r.push("#else"),r.push("precision mediump float;"),r.push("precision mediump int;"),r.push("#endif"),e.logarithmicDepthBufferEnabled&&(r.push("in float isPerspective;"),r.push("uniform float logDepthBufFC;"),r.push("in float vFragDepth;")),n){r.push("in vec4 vWorldPosition;"),r.push("in float vFlags;");for(var i=0,a=t.getNumAllocatedSectionPlanes();i> 16 & 0xF) == 1;"),r.push(" if (clippable) {"),r.push(" float dist = 0.0;");for(var s=0,o=t.getNumAllocatedSectionPlanes();s 0.0) { discard; }"),r.push("}")}return e.logarithmicDepthBufferEnabled&&r.push(" gl_FragDepth = isPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5;"),r.push("outColor = vColor;"),r.push("}"),r}}]),n}(),cl=function(e){I(n,so);var t=m(n);function n(){return b(this,n),t.apply(this,arguments)}return P(n,[{key:"drawLayer",value:function(e,t,r){v(E(n.prototype),"drawLayer",this).call(this,e,t,r,{colorUniform:!0})}},{key:"_buildVertexShader",value:function(){var e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,n=[];return n.push("#version 300 es"),n.push("// Triangles instancing edges vertex shader"),n.push("uniform int renderPass;"),n.push("uniform vec4 color;"),n.push("in vec3 position;"),e.entityOffsetsEnabled&&n.push("in vec3 offset;"),n.push("in float flags;"),n.push("in vec4 modelMatrixCol0;"),n.push("in vec4 modelMatrixCol1;"),n.push("in vec4 modelMatrixCol2;"),this._addMatricesUniformBlockLines(n),e.logarithmicDepthBufferEnabled&&(n.push("uniform float logDepthBufFC;"),n.push("out float vFragDepth;"),n.push("bool isPerspectiveMatrix(mat4 m) {"),n.push(" return (m[2][3] == - 1.0);"),n.push("}"),n.push("out float isPerspective;")),t&&(n.push("out vec4 vWorldPosition;"),n.push("out float vFlags;")),n.push("out vec4 vColor;"),n.push("void main(void) {"),n.push("int edgeFlag = int(flags) >> 8 & 0xF;"),n.push("if (edgeFlag != renderPass) {"),n.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),n.push("} else {"),n.push("vec4 worldPosition = positionsDecodeMatrix * vec4(position, 1.0); "),n.push("worldPosition = worldMatrix * vec4(dot(worldPosition, modelMatrixCol0), dot(worldPosition, modelMatrixCol1), dot(worldPosition, modelMatrixCol2), 1.0);"),e.entityOffsetsEnabled&&n.push(" worldPosition.xyz = worldPosition.xyz + offset;"),n.push("vec4 viewPosition = viewMatrix * worldPosition; "),t&&(n.push("vWorldPosition = worldPosition;"),n.push("vFlags = flags;")),n.push("vec4 clipPos = projMatrix * viewPosition;"),e.logarithmicDepthBufferEnabled&&(n.push("vFragDepth = 1.0 + clipPos.w;"),n.push("isPerspective = float (isPerspectiveMatrix(projMatrix));")),n.push("gl_Position = clipPos;"),n.push("vColor = vec4(color.r, color.g, color.b, color.a);"),n.push("}"),n.push("}"),n}},{key:"_buildFragmentShader",value:function(){var e=this._scene,t=e._sectionPlanesState,n=t.getNumAllocatedSectionPlanes()>0,r=[];if(r.push("#version 300 es"),r.push("// Batched geometry edges drawing fragment shader"),r.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),r.push("precision highp float;"),r.push("precision highp int;"),r.push("#else"),r.push("precision mediump float;"),r.push("precision mediump int;"),r.push("#endif"),e.logarithmicDepthBufferEnabled&&(r.push("in float isPerspective;"),r.push("uniform float logDepthBufFC;"),r.push("in float vFragDepth;")),n){r.push("in vec4 vWorldPosition;"),r.push("in float vFlags;");for(var i=0,a=t.getNumAllocatedSectionPlanes();i> 16 & 0xF) == 1;"),r.push(" if (clippable) {"),r.push(" float dist = 0.0;");for(var s=0,o=t.getNumAllocatedSectionPlanes();s 0.0) { discard; }"),r.push("}")}return e.logarithmicDepthBufferEnabled&&r.push(" gl_FragDepth = isPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5;"),r.push("outColor = vColor;"),r.push("}"),r}}]),n}(),fl=function(e){I(n,so);var t=m(n);function n(){return b(this,n),t.apply(this,arguments)}return P(n,[{key:"_buildVertexShader",value:function(){var e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,n=[];return n.push("#version 300 es"),n.push("// Triangles instancing edges vertex shader"),n.push("uniform int renderPass;"),n.push("in vec3 position;"),n.push("in vec4 color;"),e.entityOffsetsEnabled&&n.push("in vec3 offset;"),n.push("in float flags;"),n.push("in vec4 modelMatrixCol0;"),n.push("in vec4 modelMatrixCol1;"),n.push("in vec4 modelMatrixCol2;"),this._addMatricesUniformBlockLines(n),e.logarithmicDepthBufferEnabled&&(n.push("uniform float logDepthBufFC;"),n.push("out float vFragDepth;"),n.push("bool isPerspectiveMatrix(mat4 m) {"),n.push(" return (m[2][3] == - 1.0);"),n.push("}"),n.push("out float isPerspective;")),t&&(n.push("out vec4 vWorldPosition;"),n.push("out float vFlags;")),n.push("out vec4 vColor;"),n.push("void main(void) {"),n.push("int edgeFlag = int(flags) >> 8 & 0xF;"),n.push("if (edgeFlag != renderPass) {"),n.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),n.push("} else {"),n.push("vec4 worldPosition = positionsDecodeMatrix * vec4(position, 1.0); "),n.push("worldPosition = worldMatrix * vec4(dot(worldPosition, modelMatrixCol0), dot(worldPosition, modelMatrixCol1), dot(worldPosition, modelMatrixCol2), 1.0);"),e.entityOffsetsEnabled&&n.push(" worldPosition.xyz = worldPosition.xyz + offset;"),n.push("vec4 viewPosition = viewMatrix * worldPosition; "),t&&(n.push("vWorldPosition = worldPosition;"),n.push("vFlags = flags;")),n.push("vec4 clipPos = projMatrix * viewPosition;"),e.logarithmicDepthBufferEnabled&&(n.push("vFragDepth = 1.0 + clipPos.w;"),n.push("isPerspective = float (isPerspectiveMatrix(projMatrix));")),n.push("gl_Position = clipPos;"),n.push("vColor = vec4(float(color.r*0.5) / 255.0, float(color.g*0.5) / 255.0, float(color.b*0.5) / 255.0, float(color.a) / 255.0);"),n.push("}"),n.push("}"),n}},{key:"_buildFragmentShader",value:function(){var e=this._scene,t=e._sectionPlanesState,n=t.getNumAllocatedSectionPlanes()>0,r=[];if(r.push("#version 300 es"),r.push("// Batched geometry edges drawing fragment shader"),r.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),r.push("precision highp float;"),r.push("precision highp int;"),r.push("#else"),r.push("precision mediump float;"),r.push("precision mediump int;"),r.push("#endif"),e.logarithmicDepthBufferEnabled&&(r.push("in float isPerspective;"),r.push("uniform float logDepthBufFC;"),r.push("in float vFragDepth;")),n){r.push("in vec4 vWorldPosition;"),r.push("in float vFlags;");for(var i=0,a=t.getNumAllocatedSectionPlanes();i> 16 & 0xF) == 1;"),r.push(" if (clippable) {"),r.push(" float dist = 0.0;");for(var s=0,o=t.getNumAllocatedSectionPlanes();s 0.0) { discard; }"),r.push("}")}return e.logarithmicDepthBufferEnabled&&r.push(" gl_FragDepth = isPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5;"),r.push("outColor = vColor;"),r.push("}"),r}}]),n}(),pl=function(e){I(n,ao);var t=m(n);function n(){return b(this,n),t.apply(this,arguments)}return P(n,[{key:"_buildVertexShader",value:function(){var e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,n=[];return n.push("#version 300 es"),n.push("// Instancing geometry picking vertex shader"),n.push("uniform int renderPass;"),n.push("in vec3 position;"),e.entityOffsetsEnabled&&n.push("in vec3 offset;"),n.push("in float flags;"),n.push("in vec4 pickColor;"),n.push("in vec4 modelMatrixCol0;"),n.push("in vec4 modelMatrixCol1;"),n.push("in vec4 modelMatrixCol2;"),n.push("uniform bool pickInvisible;"),this._addMatricesUniformBlockLines(n),this._addRemapClipPosLines(n),e.logarithmicDepthBufferEnabled&&(n.push("uniform float logDepthBufFC;"),n.push("out float vFragDepth;"),n.push("bool isPerspectiveMatrix(mat4 m) {"),n.push(" return (m[2][3] == - 1.0);"),n.push("}"),n.push("out float isPerspective;")),t&&(n.push("out vec4 vWorldPosition;"),n.push("out float vFlags;")),n.push("out vec4 vPickColor;"),n.push("void main(void) {"),n.push("int pickFlag = int(flags) >> 12 & 0xF;"),n.push("if (pickFlag != renderPass) {"),n.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),n.push("} else {"),n.push(" vec4 worldPosition = positionsDecodeMatrix * vec4(position, 1.0); "),n.push(" worldPosition = worldMatrix * vec4(dot(worldPosition, modelMatrixCol0), dot(worldPosition, modelMatrixCol1), dot(worldPosition, modelMatrixCol2), 1.0);"),e.entityOffsetsEnabled&&n.push(" worldPosition.xyz = worldPosition.xyz + offset;"),n.push(" vec4 viewPosition = viewMatrix * worldPosition; "),n.push(" vPickColor = vec4(float(pickColor.r) / 255.0, float(pickColor.g) / 255.0, float(pickColor.b) / 255.0, float(pickColor.a) / 255.0);"),t&&(n.push(" vWorldPosition = worldPosition;"),n.push(" vFlags = flags;")),n.push("vec4 clipPos = projMatrix * viewPosition;"),e.logarithmicDepthBufferEnabled&&(n.push("vFragDepth = 1.0 + clipPos.w;"),n.push("isPerspective = float (isPerspectiveMatrix(projMatrix));")),n.push("gl_Position = remapClipPos(clipPos);"),n.push("}"),n.push("}"),n}},{key:"_buildFragmentShader",value:function(){var e=this._scene,t=e._sectionPlanesState,n=t.getNumAllocatedSectionPlanes()>0,r=[];if(r.push("#version 300 es"),r.push("// Batched geometry picking fragment shader"),r.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),r.push("precision highp float;"),r.push("precision highp int;"),r.push("#else"),r.push("precision mediump float;"),r.push("precision mediump int;"),r.push("#endif"),e.logarithmicDepthBufferEnabled&&(r.push("in float isPerspective;"),r.push("uniform float logDepthBufFC;"),r.push("in float vFragDepth;")),n){r.push("in vec4 vWorldPosition;"),r.push("in float vFlags;");for(var i=0;i> 16 & 0xF) == 1;"),r.push(" if (clippable) {"),r.push(" float dist = 0.0;");for(var a=0;a 0.0) { discard; }"),r.push("}")}return e.logarithmicDepthBufferEnabled&&r.push(" gl_FragDepth = isPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5;"),r.push("outColor = vPickColor; "),r.push("}"),r}}]),n}(),Al=function(e){I(n,ao);var t=m(n);function n(){return b(this,n),t.apply(this,arguments)}return P(n,[{key:"_buildVertexShader",value:function(){var e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,n=[];return n.push("#version 300 es"),n.push("// Instancing geometry depth vertex shader"),n.push("uniform int renderPass;"),n.push("in vec3 position;"),e.entityOffsetsEnabled&&n.push("in vec3 offset;"),n.push("in float flags;"),n.push("in vec4 modelMatrixCol0;"),n.push("in vec4 modelMatrixCol1;"),n.push("in vec4 modelMatrixCol2;"),n.push("uniform bool pickInvisible;"),this._addMatricesUniformBlockLines(n),this._addRemapClipPosLines(n),e.logarithmicDepthBufferEnabled&&(n.push("uniform float logDepthBufFC;"),n.push("out float vFragDepth;"),n.push("bool isPerspectiveMatrix(mat4 m) {"),n.push(" return (m[2][3] == - 1.0);"),n.push("}"),n.push("out float isPerspective;")),t&&(n.push("out vec4 vWorldPosition;"),n.push("out float vFlags;")),n.push("out vec4 vViewPosition;"),n.push("void main(void) {"),n.push("int pickFlag = int(flags) >> 12 & 0xF;"),n.push("if (pickFlag != renderPass) {"),n.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),n.push("} else {"),n.push(" vec4 worldPosition = positionsDecodeMatrix * vec4(position, 1.0); "),n.push(" worldPosition = worldMatrix * vec4(dot(worldPosition, modelMatrixCol0), dot(worldPosition, modelMatrixCol1), dot(worldPosition, modelMatrixCol2), 1.0);"),e.entityOffsetsEnabled&&n.push(" worldPosition.xyz = worldPosition.xyz + offset;"),n.push(" vec4 viewPosition = viewMatrix * worldPosition; "),t&&(n.push(" vWorldPosition = worldPosition;"),n.push(" vFlags = flags;")),n.push(" vViewPosition = viewPosition;"),n.push("vec4 clipPos = projMatrix * viewPosition;"),e.logarithmicDepthBufferEnabled&&(n.push("vFragDepth = 1.0 + clipPos.w;"),n.push("isPerspective = float (isPerspectiveMatrix(projMatrix));")),n.push("gl_Position = remapClipPos(clipPos);"),n.push("}"),n.push("}"),n}},{key:"_buildFragmentShader",value:function(){var e=this._scene,t=e._sectionPlanesState,n=t.getNumAllocatedSectionPlanes()>0,r=[];if(r.push("#version 300 es"),r.push("// Batched geometry depth fragment shader"),r.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),r.push("precision highp float;"),r.push("precision highp int;"),r.push("#else"),r.push("precision mediump float;"),r.push("precision mediump int;"),r.push("#endif"),e.logarithmicDepthBufferEnabled&&(r.push("in float isPerspective;"),r.push("uniform float logDepthBufFC;"),r.push("in float vFragDepth;")),r.push("uniform float pickZNear;"),r.push("uniform float pickZFar;"),n){r.push("in vec4 vWorldPosition;"),r.push("in float vFlags;");for(var i=0;i> 16 & 0xF) == 1;"),r.push(" if (clippable) {"),r.push(" float dist = 0.0;");for(var a=0;a 0.0) { discard; }"),r.push("}")}return e.logarithmicDepthBufferEnabled&&r.push(" gl_FragDepth = isPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5;"),r.push(" float zNormalizedDepth = abs((pickZNear + vViewPosition.z) / (pickZFar - pickZNear));"),r.push(" outColor = packDepth(zNormalizedDepth); "),r.push("}"),r}}]),n}(),dl=function(e){I(n,ao);var t=m(n);function n(){return b(this,n),t.apply(this,arguments)}return P(n,[{key:"_buildVertexShader",value:function(){var e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,n=[];return n.push("#version 300 es"),n.push("// Instancing geometry normals vertex shader"),n.push("uniform int renderPass;"),n.push("in vec3 position;"),e.entityOffsetsEnabled&&n.push("in vec3 offset;"),n.push("in vec2 normal;"),n.push("in float flags;"),n.push("in vec4 modelMatrixCol0;"),n.push("in vec4 modelMatrixCol1;"),n.push("in vec4 modelMatrixCol2;"),n.push("in vec4 modelNormalMatrixCol0;"),n.push("in vec4 modelNormalMatrixCol1;"),n.push("in vec4 modelNormalMatrixCol2;"),n.push("uniform bool pickInvisible;"),this._addMatricesUniformBlockLines(n),this._addRemapClipPosLines(n,3),e.logarithmicDepthBufferEnabled&&(n.push("uniform float logDepthBufFC;"),n.push("out float vFragDepth;"),n.push("bool isPerspectiveMatrix(mat4 m) {"),n.push(" return (m[2][3] == - 1.0);"),n.push("}"),n.push("out float isPerspective;")),n.push("vec3 octDecode(vec2 oct) {"),n.push(" vec3 v = vec3(oct.xy, 1.0 - abs(oct.x) - abs(oct.y));"),n.push(" if (v.z < 0.0) {"),n.push(" v.xy = (1.0 - abs(v.yx)) * vec2(v.x >= 0.0 ? 1.0 : -1.0, v.y >= 0.0 ? 1.0 : -1.0);"),n.push(" }"),n.push(" return normalize(v);"),n.push("}"),t&&(n.push("out vec4 vWorldPosition;"),n.push("out float vFlags;")),n.push("out vec3 vWorldNormal;"),n.push("void main(void) {"),n.push("int pickFlag = int(flags) >> 12 & 0xF;"),n.push("if (pickFlag != renderPass) {"),n.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),n.push("} else {"),n.push(" vec4 worldPosition = positionsDecodeMatrix * vec4(position, 1.0); "),n.push(" worldPosition = worldMatrix * vec4(dot(worldPosition, modelMatrixCol0), dot(worldPosition, modelMatrixCol1), dot(worldPosition, modelMatrixCol2), 1.0);"),e.entityOffsetsEnabled&&n.push(" worldPosition.xyz = worldPosition.xyz + offset;"),n.push(" vec4 viewPosition = viewMatrix * worldPosition; "),n.push(" vec4 modelNormal = vec4(octDecode(normal.xy), 0.0); "),n.push(" vec3 worldNormal = vec3(dot(modelNormal, modelNormalMatrixCol0), dot(modelNormal, modelNormalMatrixCol1), dot(modelNormal, modelNormalMatrixCol2));"),n.push(" vWorldNormal = worldNormal;"),t&&(n.push(" vWorldPosition = worldPosition;"),n.push("vFlags = flags;")),n.push("vec4 clipPos = projMatrix * viewPosition;"),e.logarithmicDepthBufferEnabled&&(n.push("vFragDepth = 1.0 + clipPos.w;"),n.push("isPerspective = float (isPerspectiveMatrix(projMatrix));")),n.push("gl_Position = remapClipPos(clipPos);"),n.push("}"),n.push("}"),n}},{key:"_buildFragmentShader",value:function(){var e=this._scene,t=e._sectionPlanesState,n=t.getNumAllocatedSectionPlanes()>0,r=[];if(r.push("#version 300 es"),r.push("// Batched geometry normals fragment shader"),r.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),r.push("precision highp float;"),r.push("precision highp int;"),r.push("#else"),r.push("precision mediump float;"),r.push("precision mediump int;"),r.push("#endif"),e.logarithmicDepthBufferEnabled&&(r.push("in float isPerspective;"),r.push("uniform float logDepthBufFC;"),r.push("in float vFragDepth;")),n){r.push("in vec4 vWorldPosition;"),r.push("in float vFlags;");for(var i=0;i> 16 & 0xF) == 1;"),r.push(" if (clippable) {"),r.push(" float dist = 0.0;");for(var a=0;a 0.0) { discard; }"),r.push("}")}return e.logarithmicDepthBufferEnabled&&r.push(" gl_FragDepth = isPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5;"),r.push(" outNormal = ivec4(vWorldNormal * float(".concat($.MAX_INT,"), 1.0);")),r.push("}"),r}}]),n}(),vl=function(e){I(n,ao);var t=m(n);function n(){return b(this,n),t.apply(this,arguments)}return P(n,[{key:"_buildVertexShader",value:function(){var e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,n=[];return n.push("#version 300 es"),n.push("// TrianglesInstancingOcclusionRenderer vertex shader"),n.push("uniform int renderPass;"),n.push("in vec3 position;"),e.entityOffsetsEnabled&&n.push("in vec3 offset;"),n.push("in vec4 color;"),n.push("in float flags;"),n.push("in vec4 modelMatrixCol0;"),n.push("in vec4 modelMatrixCol1;"),n.push("in vec4 modelMatrixCol2;"),this._addMatricesUniformBlockLines(n),t&&(n.push("out vec4 vWorldPosition;"),n.push("out float vFlags;")),n.push("void main(void) {"),n.push("int colorFlag = int(flags) & 0xF;"),n.push("if (colorFlag != renderPass) {"),n.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),n.push("} else {"),n.push(" vec4 worldPosition = positionsDecodeMatrix * vec4(position, 1.0); "),n.push(" worldPosition = worldMatrix * vec4(dot(worldPosition, modelMatrixCol0), dot(worldPosition, modelMatrixCol1), dot(worldPosition, modelMatrixCol2), 1.0);"),e.entityOffsetsEnabled&&n.push(" worldPosition.xyz = worldPosition.xyz + offset;"),n.push(" vec4 viewPosition = viewMatrix * worldPosition; "),t&&(n.push(" vWorldPosition = worldPosition;"),n.push("vFlags = flags;")),n.push("vec4 clipPos = projMatrix * viewPosition;"),n.push("gl_Position = clipPos;"),n.push("}"),n.push("}"),n}},{key:"_buildFragmentShader",value:function(){var e=this._scene._sectionPlanesState,t=e.getNumAllocatedSectionPlanes()>0,n=[];if(n.push("#version 300 es"),n.push("// TrianglesInstancingOcclusionRenderer fragment shader"),n.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),n.push("precision highp float;"),n.push("precision highp int;"),n.push("#else"),n.push("precision mediump float;"),n.push("precision mediump int;"),n.push("#endif"),t){n.push("in vec4 vWorldPosition;"),n.push("in float vFlags;");for(var r=0;r> 16 & 0xF) == 1;"),n.push(" if (clippable) {"),n.push(" float dist = 0.0;");for(var i=0;i 0.0) { discard; }"),n.push("}")}return n.push(" outColor = vec4(0.0, 0.0, 1.0, 1.0); "),n.push("}"),n}}]),n}(),hl=function(e){I(n,ao);var t=m(n);function n(){return b(this,n),t.apply(this,arguments)}return P(n,[{key:"_buildVertexShader",value:function(){var e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,n=[];return n.push("#version 300 es"),n.push("// Instancing geometry depth drawing vertex shader"),n.push("uniform int renderPass;"),n.push("in vec3 position;"),e.entityOffsetsEnabled&&n.push("in vec3 offset;"),n.push("in float flags;"),n.push("in vec4 modelMatrixCol0;"),n.push("in vec4 modelMatrixCol1;"),n.push("in vec4 modelMatrixCol2;"),this._addMatricesUniformBlockLines(n),e.logarithmicDepthBufferEnabled&&(n.push("uniform float logDepthBufFC;"),n.push("out float vFragDepth;"),n.push("bool isPerspectiveMatrix(mat4 m) {"),n.push(" return (m[2][3] == - 1.0);"),n.push("}"),n.push("out float isPerspective;")),t&&(n.push("out vec4 vWorldPosition;"),n.push("out float vFlags;")),n.push("out vec2 vHighPrecisionZW;"),n.push("void main(void) {"),n.push("int colorFlag = int(flags) & 0xF;"),n.push("if (colorFlag != renderPass) {"),n.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),n.push("} else {"),n.push(" vec4 worldPosition = positionsDecodeMatrix * vec4(position, 1.0); "),n.push(" worldPosition = worldMatrix * vec4(dot(worldPosition, modelMatrixCol0), dot(worldPosition, modelMatrixCol1), dot(worldPosition, modelMatrixCol2), 1.0);"),e.entityOffsetsEnabled&&n.push(" worldPosition.xyz = worldPosition.xyz + offset;"),n.push(" vec4 viewPosition = viewMatrix * worldPosition; "),t&&(n.push("vWorldPosition = worldPosition;"),n.push("vFlags = flags;")),n.push("vec4 clipPos = projMatrix * viewPosition;"),e.logarithmicDepthBufferEnabled&&(n.push("vFragDepth = 1.0 + clipPos.w;"),n.push("isPerspective = float (isPerspectiveMatrix(projMatrix));")),n.push("gl_Position = clipPos;"),n.push("vHighPrecisionZW = gl_Position.zw;"),n.push("}"),n.push("}"),n}},{key:"_buildFragmentShader",value:function(){var e,t,n=this._scene,r=n._sectionPlanesState,i=r.getNumAllocatedSectionPlanes()>0,a=[];if(a.push("#version 300 es"),a.push("// Instancing geometry depth drawing fragment shader"),a.push("precision highp float;"),a.push("precision highp int;"),n.logarithmicDepthBufferEnabled&&(a.push("in float isPerspective;"),a.push("uniform float logDepthBufFC;"),a.push("in float vFragDepth;")),i)for(a.push("in vec4 vWorldPosition;"),a.push("in float vFlags;"),e=0,t=r.getNumAllocatedSectionPlanes();e> 16 & 0xF) == 1;"),a.push(" if (clippable) {"),a.push(" float dist = 0.0;"),e=0,t=r.getNumAllocatedSectionPlanes();e 0.0) { discard; }"),a.push("}")}return n.logarithmicDepthBufferEnabled&&a.push(" gl_FragDepth = isPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5;"),a.push("float fragCoordZ = 0.5 * vHighPrecisionZW[0] / vHighPrecisionZW[1] + 0.5;"),a.push(" outColor = vec4(vec3(1.0 - fragCoordZ), 1.0); "),a.push("}"),a}}]),n}(),Il=function(e){I(n,ao);var t=m(n);function n(){return b(this,n),t.apply(this,arguments)}return P(n,[{key:"_buildVertexShader",value:function(){var e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,n=[];return n.push("#version 300 es"),n.push("// Instancing geometry normals drawing vertex shader"),n.push("uniform int renderPass;"),n.push("in vec3 position;"),e.entityOffsetsEnabled&&n.push("in vec3 offset;"),n.push("in vec3 normal;"),n.push("in vec4 color;"),n.push("in float flags;"),n.push("in vec4 modelMatrixCol0;"),n.push("in vec4 modelMatrixCol1;"),n.push("in vec4 modelMatrixCol2;"),this._addMatricesUniformBlockLines(n,!0),e.logarithmicDepthBufferEnabled&&(n.push("uniform float logDepthBufFC;"),n.push("out float vFragDepth;"),n.push("bool isPerspectiveMatrix(mat4 m) {"),n.push(" return (m[2][3] == - 1.0);"),n.push("}"),n.push("out float isPerspective;")),n.push("vec3 octDecode(vec2 oct) {"),n.push(" vec3 v = vec3(oct.xy, 1.0 - abs(oct.x) - abs(oct.y));"),n.push(" if (v.z < 0.0) {"),n.push(" v.xy = (1.0 - abs(v.yx)) * vec2(v.x >= 0.0 ? 1.0 : -1.0, v.y >= 0.0 ? 1.0 : -1.0);"),n.push(" }"),n.push(" return normalize(v);"),n.push("}"),t&&(n.push("out vec4 vWorldPosition;"),n.push("out float vFlags;")),n.push("out vec3 vViewNormal;"),n.push("void main(void) {"),n.push("int colorFlag = int(flags) & 0xF;"),n.push("if (colorFlag != renderPass) {"),n.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),n.push("} else {"),n.push(" vec4 worldPosition = positionsDecodeMatrix * vec4(position, 1.0); "),n.push(" worldPosition = worldMatrix * vec4(dot(worldPosition, modelMatrixCol0), dot(worldPosition, modelMatrixCol1), dot(worldPosition, modelMatrixCol2), 1.0);"),e.entityOffsetsEnabled&&n.push(" worldPosition.xyz = worldPosition.xyz + offset;"),n.push(" vec4 viewPosition = viewMatrix * worldPosition; "),n.push(" vec4 worldNormal = worldNormalMatrix * vec4(octDecode(normal.xy), 0.0); "),n.push(" vec3 viewNormal = normalize((viewNormalMatrix * worldNormal).xyz);"),t&&(n.push("vWorldPosition = worldPosition;"),n.push("vFlags = flags;")),n.push(" vViewNormal = viewNormal;"),n.push("vec4 clipPos = projMatrix * viewPosition;"),e.logarithmicDepthBufferEnabled&&(n.push("vFragDepth = 1.0 + clipPos.w;"),n.push("isPerspective = float (isPerspectiveMatrix(projMatrix));")),n.push("gl_Position = clipPos;"),n.push("}"),n.push("}"),n}},{key:"_buildFragmentShader",value:function(){var e=this._scene,t=e._sectionPlanesState,n=t.getNumAllocatedSectionPlanes()>0,r=[];if(r.push("#version 300 es"),r.push("// Instancing geometry depth drawing fragment shader"),r.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),r.push("precision highp float;"),r.push("precision highp int;"),r.push("#else"),r.push("precision mediump float;"),r.push("precision mediump int;"),r.push("#endif"),e.logarithmicDepthBufferEnabled&&(r.push("in float isPerspective;"),r.push("uniform float logDepthBufFC;"),r.push("in float vFragDepth;")),n){r.push("in vec4 vWorldPosition;"),r.push("in float vFlags;");for(var i=0,a=t.getNumAllocatedSectionPlanes();i> 16 & 0xF) == 1;"),r.push(" if (clippable) {"),r.push(" float dist = 0.0;");for(var s=0,o=t.getNumAllocatedSectionPlanes();s 0.0) { discard; }"),r.push("}")}return e.logarithmicDepthBufferEnabled&&r.push(" gl_FragDepth = isPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5;"),r.push(" outColor = vec4(packNormalToRGB(vViewNormal), 1.0); "),r.push("}"),r}}]),n}(),yl=function(e){I(n,ao);var t=m(n);function n(){return b(this,n),t.apply(this,arguments)}return P(n,[{key:"_buildVertexShader",value:function(){var e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,n=[];return n.push("#version 300 es"),n.push("// Instancing geometry shadow drawing vertex shader"),n.push("in vec3 position;"),e.entityOffsetsEnabled&&n.push("in vec3 offset;"),n.push("in vec4 color;"),n.push("in float flags;"),n.push("in vec4 modelMatrixCol0;"),n.push("in vec4 modelMatrixCol1;"),n.push("in vec4 modelMatrixCol2;"),n.push("uniform mat4 shadowViewMatrix;"),n.push("uniform mat4 shadowProjMatrix;"),this._addMatricesUniformBlockLines(n),t&&(n.push("out vec4 vWorldPosition;"),n.push("out float vFlags;")),n.push("void main(void) {"),n.push("int colorFlag = int(flags) & 0xF;"),n.push("bool visible = (colorFlag > 0);"),n.push("bool transparent = ((float(color.a) / 255.0) < 1.0);"),n.push("if (!visible || transparent) {"),n.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),n.push("} else {"),n.push(" vec4 worldPosition = positionsDecodeMatrix * vec4(position, 1.0); "),n.push(" worldPosition = vec4(dot(worldPosition, modelMatrixCol0), dot(worldPosition, modelMatrixCol1), dot(worldPosition, modelMatrixCol2), 1.0);"),e.entityOffsetsEnabled&&n.push(" worldPosition.xyz = worldPosition.xyz + offset;"),n.push(" vec4 viewPosition = shadowViewMatrix * worldPosition; "),t&&(n.push("vWorldPosition = worldPosition;"),n.push("vFlags = flags;")),n.push(" gl_Position = shadowProjMatrix * viewPosition;"),n.push("}"),n.push("}"),n}},{key:"_buildFragmentShader",value:function(){var e=this._scene,t=e._sectionPlanesState,n=t.getNumAllocatedSectionPlanes()>0,r=[];if(r.push("#version 300 es"),r.push("// Instancing geometry depth drawing fragment shader"),r.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),r.push("precision highp float;"),r.push("precision highp int;"),r.push("#else"),r.push("precision mediump float;"),r.push("precision mediump int;"),r.push("#endif"),e.logarithmicDepthBufferEnabled&&(r.push("uniform float logDepthBufFC;"),r.push("in float vFragDepth;")),n){r.push("in vec4 vWorldPosition;"),r.push("in float vFlags;");for(var i=0,a=t.getNumAllocatedSectionPlanes();i> 16 & 0xF) == 1;"),r.push(" if (clippable) {"),r.push(" float dist = 0.0;");for(var s=0,o=t.getNumAllocatedSectionPlanes();s 0.0) { discard; }"),r.push("}")}return e.logarithmicDepthBufferEnabled&&r.push("gl_FragDepth = log2( vFragDepth ) * logDepthBufFC * 0.5;"),r.push(" outColor = vec4(packNormalToRGB(vViewNormal), 1.0); "),r.push("}"),r}}]),n}(),ml={3e3:"linearToLinear",3001:"sRGBToLinear"},wl=function(e){I(n,ao);var t=m(n);function n(){return b(this,n),t.apply(this,arguments)}return P(n,[{key:"_getHash",value:function(){var e=this._scene;return[e.gammaOutput,e._lightsState.getHash(),e._sectionPlanesState.getHash(),this._withSAO?"sao":"nosao"].join(";")}},{key:"drawLayer",value:function(e,t,r){v(E(n.prototype),"drawLayer",this).call(this,e,t,r,{incrementDrawState:!0})}},{key:"_buildVertexShader",value:function(){var e=this._scene,t=e._sectionPlanesState,n=e._lightsState,r=t.getNumAllocatedSectionPlanes()>0,i=t.clippingCaps,a=[];return a.push("#version 300 es"),a.push("// Instancing geometry quality drawing vertex shader"),a.push("uniform int renderPass;"),a.push("in vec3 position;"),a.push("in vec3 normal;"),a.push("in vec4 color;"),a.push("in vec2 uv;"),a.push("in vec2 metallicRoughness;"),a.push("in float flags;"),e.entityOffsetsEnabled&&a.push("in vec3 offset;"),a.push("in vec4 modelMatrixCol0;"),a.push("in vec4 modelMatrixCol1;"),a.push("in vec4 modelMatrixCol2;"),a.push("in vec4 modelNormalMatrixCol0;"),a.push("in vec4 modelNormalMatrixCol1;"),a.push("in vec4 modelNormalMatrixCol2;"),this._addMatricesUniformBlockLines(a,!0),a.push("uniform mat3 uvDecodeMatrix;"),e.logarithmicDepthBufferEnabled&&(a.push("uniform float logDepthBufFC;"),a.push("out float vFragDepth;"),a.push("bool isPerspectiveMatrix(mat4 m) {"),a.push(" return (m[2][3] == - 1.0);"),a.push("}"),a.push("out float isPerspective;")),a.push("vec3 octDecode(vec2 oct) {"),a.push(" vec3 v = vec3(oct.xy, 1.0 - abs(oct.x) - abs(oct.y));"),a.push(" if (v.z < 0.0) {"),a.push(" v.xy = (1.0 - abs(v.yx)) * vec2(v.x >= 0.0 ? 1.0 : -1.0, v.y >= 0.0 ? 1.0 : -1.0);"),a.push(" }"),a.push(" return normalize(v);"),a.push("}"),a.push("out vec4 vViewPosition;"),a.push("out vec3 vViewNormal;"),a.push("out vec4 vColor;"),a.push("out vec2 vUV;"),a.push("out vec2 vMetallicRoughness;"),n.lightMaps.length>0&&a.push("out vec3 vWorldNormal;"),r&&(a.push("out vec4 vWorldPosition;"),a.push("out float vFlags;"),i&&a.push("out vec4 vClipPosition;")),a.push("void main(void) {"),a.push("int colorFlag = int(flags) & 0xF;"),a.push("if (colorFlag != renderPass) {"),a.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),a.push("} else {"),a.push("vec4 worldPosition = positionsDecodeMatrix * vec4(position, 1.0); "),a.push("worldPosition = worldMatrix * vec4(dot(worldPosition, modelMatrixCol0), dot(worldPosition, modelMatrixCol1), dot(worldPosition, modelMatrixCol2), 1.0);"),e.entityOffsetsEnabled&&a.push(" worldPosition.xyz = worldPosition.xyz + offset;"),a.push("vec4 viewPosition = viewMatrix * worldPosition; "),a.push("vec4 modelNormal = vec4(octDecode(normal.xy), 0.0); "),a.push("vec4 worldNormal = worldNormalMatrix * vec4(dot(modelNormal, modelNormalMatrixCol0), dot(modelNormal, modelNormalMatrixCol1), dot(modelNormal, modelNormalMatrixCol2), 1.0);"),a.push("vec3 viewNormal = vec4(viewNormalMatrix * worldNormal).xyz;"),a.push("vec4 clipPos = projMatrix * viewPosition;"),e.logarithmicDepthBufferEnabled&&(a.push("vFragDepth = 1.0 + clipPos.w;"),a.push("isPerspective = float (isPerspectiveMatrix(projMatrix));")),r&&(a.push("vWorldPosition = worldPosition;"),a.push("vFlags = flags;"),i&&a.push("vClipPosition = clipPos;")),a.push("vViewPosition = viewPosition;"),a.push("vViewNormal = viewNormal;"),a.push("vColor = color;"),a.push("vUV = (uvDecodeMatrix * vec3(uv, 1.0)).xy;"),a.push("vMetallicRoughness = metallicRoughness;"),n.lightMaps.length>0&&a.push("vWorldNormal = worldNormal.xyz;"),a.push("gl_Position = clipPos;"),a.push("}"),a.push("}"),a}},{key:"_buildFragmentShader",value:function(){var e=this._scene,t=e.gammaOutput,n=e._sectionPlanesState,r=e._lightsState,i=n.getNumAllocatedSectionPlanes()>0,a=n.clippingCaps,s=[];s.push("#version 300 es"),s.push("// Instancing geometry quality drawing fragment shader"),s.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),s.push("precision highp float;"),s.push("precision highp int;"),s.push("#else"),s.push("precision mediump float;"),s.push("precision mediump int;"),s.push("#endif"),e.logarithmicDepthBufferEnabled&&(s.push("in float isPerspective;"),s.push("uniform float logDepthBufFC;"),s.push("in float vFragDepth;")),s.push("uniform sampler2D uColorMap;"),s.push("uniform sampler2D uMetallicRoughMap;"),s.push("uniform sampler2D uEmissiveMap;"),s.push("uniform sampler2D uNormalMap;"),this._withSAO&&(s.push("uniform sampler2D uOcclusionTexture;"),s.push("uniform vec4 uSAOParams;"),s.push("const float packUpscale = 256. / 255.;"),s.push("const float unpackDownScale = 255. / 256.;"),s.push("const vec3 packFactors = vec3( 256. * 256. * 256., 256. * 256., 256. );"),s.push("const vec4 unPackFactors = unpackDownScale / vec4( packFactors, 1. );"),s.push("float unpackRGBToFloat( const in vec4 v ) {"),s.push(" return dot( v, unPackFactors );"),s.push("}")),r.reflectionMaps.length>0&&s.push("uniform samplerCube reflectionMap;"),r.lightMaps.length>0&&s.push("uniform samplerCube lightMap;"),s.push("uniform vec4 lightAmbient;");for(var o=0,l=r.lights.length;o0&&s.push("in vec3 vWorldNormal;"),this._addMatricesUniformBlockLines(s,!0),s.push("#define PI 3.14159265359"),s.push("#define RECIPROCAL_PI 0.31830988618"),s.push("#define RECIPROCAL_PI2 0.15915494"),s.push("#define EPSILON 1e-6"),s.push("#define saturate(a) clamp( a, 0.0, 1.0 )"),s.push("vec3 perturbNormal2Arb( vec3 eye_pos, vec3 surf_norm, vec2 uv ) {"),s.push(" vec3 texel = texture( uNormalMap, uv ).xyz;"),s.push(" if (texel.r == 0.0 && texel.g == 0.0 && texel.b == 0.0) {"),s.push(" return normalize(surf_norm );"),s.push(" }"),s.push(" vec3 q0 = vec3( dFdx( eye_pos.x ), dFdx( eye_pos.y ), dFdx( eye_pos.z ) );"),s.push(" vec3 q1 = vec3( dFdy( eye_pos.x ), dFdy( eye_pos.y ), dFdy( eye_pos.z ) );"),s.push(" vec2 st0 = dFdx( uv.st );"),s.push(" vec2 st1 = dFdy( uv.st );"),s.push(" vec3 S = normalize( q0 * st1.t - q1 * st0.t );"),s.push(" vec3 T = normalize( -q0 * st1.s + q1 * st0.s );"),s.push(" vec3 N = normalize( surf_norm );"),s.push(" vec3 mapN = texel.xyz * 2.0 - 1.0;"),s.push(" mat3 tsn = mat3( S, T, N );"),s.push(" return normalize( tsn * mapN );"),s.push("}"),s.push("vec3 inverseTransformDirection(in vec3 dir, in mat4 matrix) {"),s.push(" return normalize( ( vec4( dir, 0.0 ) * matrix ).xyz );"),s.push("}"),s.push("struct IncidentLight {"),s.push(" vec3 color;"),s.push(" vec3 direction;"),s.push("};"),s.push("struct ReflectedLight {"),s.push(" vec3 diffuse;"),s.push(" vec3 specular;"),s.push("};"),s.push("struct Geometry {"),s.push(" vec3 position;"),s.push(" vec3 viewNormal;"),s.push(" vec3 worldNormal;"),s.push(" vec3 viewEyeDir;"),s.push("};"),s.push("struct Material {"),s.push(" vec3 diffuseColor;"),s.push(" float specularRoughness;"),s.push(" vec3 specularColor;"),s.push(" float shine;"),s.push("};"),s.push("float GGXRoughnessToBlinnExponent(const in float ggxRoughness) {"),s.push(" float r = ggxRoughness + 0.0001;"),s.push(" return (2.0 / (r * r) - 2.0);"),s.push("}"),s.push("float getSpecularMIPLevel(const in float blinnShininessExponent, const in int maxMIPLevel) {"),s.push(" float maxMIPLevelScalar = float( maxMIPLevel );"),s.push(" float desiredMIPLevel = maxMIPLevelScalar - 0.79248 - 0.5 * log2( ( blinnShininessExponent * blinnShininessExponent ) + 1.0 );"),s.push(" return clamp( desiredMIPLevel, 0.0, maxMIPLevelScalar );"),s.push("}"),r.reflectionMaps.length>0&&(s.push("vec3 getLightProbeIndirectRadiance(const in vec3 reflectVec, const in float blinnShininessExponent, const in int maxMIPLevel) {"),s.push(" float mipLevel = 0.5 * getSpecularMIPLevel(blinnShininessExponent, maxMIPLevel);"),s.push(" vec3 envMapColor = "+ml[r.reflectionMaps[0].encoding]+"(texture(reflectionMap, reflectVec, mipLevel)).rgb;"),s.push(" return envMapColor;"),s.push("}")),s.push("vec3 F_Schlick(const in vec3 specularColor, const in float dotLH) {"),s.push(" float fresnel = exp2( ( -5.55473 * dotLH - 6.98316 ) * dotLH );"),s.push(" return ( 1.0 - specularColor ) * fresnel + specularColor;"),s.push("}"),s.push("float G_GGX_Smith(const in float alpha, const in float dotNL, const in float dotNV) {"),s.push(" float a2 = ( alpha * alpha );"),s.push(" float gl = dotNL + sqrt( a2 + ( 1.0 - a2 ) * ( dotNL * dotNL ) );"),s.push(" float gv = dotNV + sqrt( a2 + ( 1.0 - a2 ) * ( dotNV * dotNV ) );"),s.push(" return 1.0 / ( gl * gv );"),s.push("}"),s.push("float G_GGX_SmithCorrelated(const in float alpha, const in float dotNL, const in float dotNV) {"),s.push(" float a2 = ( alpha * alpha );"),s.push(" float gv = dotNL * sqrt( a2 + ( 1.0 - a2 ) * ( dotNV * dotNV ) );"),s.push(" float gl = dotNV * sqrt( a2 + ( 1.0 - a2 ) * ( dotNL * dotNL ) );"),s.push(" return 0.5 / max( gv + gl, EPSILON );"),s.push("}"),s.push("float D_GGX(const in float alpha, const in float dotNH) {"),s.push(" float a2 = ( alpha * alpha );"),s.push(" float denom = ( dotNH * dotNH) * ( a2 - 1.0 ) + 1.0;"),s.push(" return RECIPROCAL_PI * a2 / ( denom * denom);"),s.push("}"),s.push("vec3 BRDF_Specular_GGX(const in IncidentLight incidentLight, const in Geometry geometry, const in vec3 specularColor, const in float roughness) {"),s.push(" float alpha = ( roughness * roughness );"),s.push(" vec3 halfDir = normalize( incidentLight.direction + geometry.viewEyeDir );"),s.push(" float dotNL = saturate( dot( geometry.viewNormal, incidentLight.direction ) );"),s.push(" float dotNV = saturate( dot( geometry.viewNormal, geometry.viewEyeDir ) );"),s.push(" float dotNH = saturate( dot( geometry.viewNormal, halfDir ) );"),s.push(" float dotLH = saturate( dot( incidentLight.direction, halfDir ) );"),s.push(" vec3 F = F_Schlick( specularColor, dotLH );"),s.push(" float G = G_GGX_SmithCorrelated( alpha, dotNL, dotNV );"),s.push(" float D = D_GGX( alpha, dotNH );"),s.push(" return F * (G * D);"),s.push("}"),s.push("vec3 BRDF_Specular_GGX_Environment(const in Geometry geometry, const in vec3 specularColor, const in float roughness) {"),s.push(" float dotNV = saturate(dot(geometry.viewNormal, geometry.viewEyeDir));"),s.push(" const vec4 c0 = vec4( -1, -0.0275, -0.572, 0.022);"),s.push(" const vec4 c1 = vec4( 1, 0.0425, 1.04, -0.04);"),s.push(" vec4 r = roughness * c0 + c1;"),s.push(" float a004 = min(r.x * r.x, exp2(-9.28 * dotNV)) * r.x + r.y;"),s.push(" vec2 AB = vec2(-1.04, 1.04) * a004 + r.zw;"),s.push(" return specularColor * AB.x + AB.y;"),s.push("}"),(r.lightMaps.length>0||r.reflectionMaps.length>0)&&(s.push("void computePBRLightMapping(const in Geometry geometry, const in Material material, inout ReflectedLight reflectedLight) {"),r.lightMaps.length>0&&(s.push(" vec3 irradiance = "+ml[r.lightMaps[0].encoding]+"(texture(lightMap, geometry.worldNormal)).rgb;"),s.push(" irradiance *= PI;"),s.push(" vec3 diffuseBRDFContrib = (RECIPROCAL_PI * material.diffuseColor);"),s.push(" reflectedLight.diffuse += irradiance * diffuseBRDFContrib;")),r.reflectionMaps.length>0&&(s.push(" vec3 reflectVec = reflect(geometry.viewEyeDir, geometry.viewNormal);"),s.push(" reflectVec = inverseTransformDirection(reflectVec, viewMatrix);"),s.push(" float blinnExpFromRoughness = GGXRoughnessToBlinnExponent(material.specularRoughness);"),s.push(" vec3 radiance = getLightProbeIndirectRadiance(reflectVec, blinnExpFromRoughness, 8);"),s.push(" vec3 specularBRDFContrib = BRDF_Specular_GGX_Environment(geometry, material.specularColor, material.specularRoughness);"),s.push(" reflectedLight.specular += radiance * specularBRDFContrib;")),s.push("}")),s.push("void computePBRLighting(const in IncidentLight incidentLight, const in Geometry geometry, const in Material material, inout ReflectedLight reflectedLight) {"),s.push(" float dotNL = saturate(dot(geometry.viewNormal, incidentLight.direction));"),s.push(" vec3 irradiance = dotNL * incidentLight.color * PI;"),s.push(" reflectedLight.diffuse += irradiance * (RECIPROCAL_PI * material.diffuseColor);"),s.push(" reflectedLight.specular += irradiance * BRDF_Specular_GGX(incidentLight, geometry, material.specularColor, material.specularRoughness);"),s.push("}"),s.push("out vec4 outColor;"),s.push("void main(void) {"),i){s.push(" bool clippable = (int(vFlags) >> 16 & 0xF) == 1;"),s.push(" if (clippable) {"),s.push(" float dist = 0.0;");for(var p=0,A=n.getNumAllocatedSectionPlanes();p (0.002 * vClipPosition.w)) {"),s.push(" discard;"),s.push(" }"),s.push(" if (dist > 0.0) { "),s.push(" outColor=vec4(1.0, 0.0, 0.0, 1.0);"),e.logarithmicDepthBufferEnabled&&s.push(" gl_FragDepth = log2( vFragDepth ) * logDepthBufFC * 0.5;"),s.push(" return;"),s.push("}")):(s.push(" if (dist > 0.0) { "),s.push(" discard;"),s.push(" }")),s.push("}")}s.push("IncidentLight light;"),s.push("Material material;"),s.push("Geometry geometry;"),s.push("ReflectedLight reflectedLight = ReflectedLight(vec3(0.0,0.0,0.0), vec3(0.0,0.0,0.0));"),s.push("vec3 rgb = (vec3(float(vColor.r) / 255.0, float(vColor.g) / 255.0, float(vColor.b) / 255.0));"),s.push("float opacity = float(vColor.a) / 255.0;"),s.push("vec3 baseColor = rgb;"),s.push("float specularF0 = 1.0;"),s.push("float metallic = float(vMetallicRoughness.r) / 255.0;"),s.push("float roughness = float(vMetallicRoughness.g) / 255.0;"),s.push("float dielectricSpecular = 0.16 * specularF0 * specularF0;"),s.push("vec4 colorTexel = sRGBToLinear(texture(uColorMap, vUV));"),s.push("baseColor *= colorTexel.rgb;"),s.push("vec3 metalRoughTexel = texture(uMetallicRoughMap, vUV).rgb;"),s.push("metallic *= metalRoughTexel.b;"),s.push("roughness *= metalRoughTexel.g;"),s.push("vec3 viewNormal = perturbNormal2Arb( vViewPosition.xyz, normalize(vViewNormal), vUV );"),s.push("material.diffuseColor = baseColor * (1.0 - dielectricSpecular) * (1.0 - metallic);"),s.push("material.specularRoughness = clamp(roughness, 0.04, 1.0);"),s.push("material.specularColor = mix(vec3(dielectricSpecular), baseColor, metallic);"),s.push("geometry.position = vViewPosition.xyz;"),s.push("geometry.viewNormal = -normalize(viewNormal);"),s.push("geometry.viewEyeDir = normalize(vViewPosition.xyz);"),r.lightMaps.length>0&&s.push("geometry.worldNormal = normalize(vWorldNormal);"),(r.lightMaps.length>0||r.reflectionMaps.length>0)&&s.push("computePBRLightMapping(geometry, material, reflectedLight);");for(var d=0,v=r.lights.length;d0,n=[];return n.push("#version 300 es"),n.push("// Instancing geometry normals vertex shader"),n.push("uniform int renderPass;"),n.push("in vec3 position;"),e.entityOffsetsEnabled&&n.push("in vec3 offset;"),n.push("in float flags;"),n.push("in vec4 modelMatrixCol0;"),n.push("in vec4 modelMatrixCol1;"),n.push("in vec4 modelMatrixCol2;"),n.push("uniform bool pickInvisible;"),this._addMatricesUniformBlockLines(n),this._addRemapClipPosLines(n,3),e.logarithmicDepthBufferEnabled&&(n.push("uniform float logDepthBufFC;"),n.push("out float vFragDepth;"),n.push("bool isPerspectiveMatrix(mat4 m) {"),n.push(" return (m[2][3] == - 1.0);"),n.push("}"),n.push("out float isPerspective;")),t&&n.push("out float vFlags;"),n.push("out vec4 vWorldPosition;"),n.push("void main(void) {"),n.push("int pickFlag = int(flags) >> 12 & 0xF;"),n.push("if (pickFlag != renderPass) {"),n.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),n.push("} else {"),n.push(" vec4 worldPosition = positionsDecodeMatrix * vec4(position, 1.0); "),n.push(" worldPosition = worldMatrix * vec4(dot(worldPosition, modelMatrixCol0), dot(worldPosition, modelMatrixCol1), dot(worldPosition, modelMatrixCol2), 1.0);"),e.entityOffsetsEnabled&&n.push(" worldPosition.xyz = worldPosition.xyz + offset;"),n.push(" vec4 viewPosition = viewMatrix * worldPosition; "),n.push(" vWorldPosition = worldPosition;"),n.push("vec4 clipPos = projMatrix * viewPosition;"),e.logarithmicDepthBufferEnabled&&(n.push("vFragDepth = 1.0 + clipPos.w;"),n.push("isPerspective = float (isPerspectiveMatrix(projMatrix));")),t&&n.push("vFlags = flags;"),n.push("gl_Position = remapClipPos(clipPos);"),n.push("}"),n.push("}"),n}},{key:"_buildFragmentShader",value:function(){var e=this._scene,t=e._sectionPlanesState,n=t.getNumAllocatedSectionPlanes()>0,r=[];if(r.push("#version 300 es"),r.push("// Batched geometry normals fragment shader"),r.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),r.push("precision highp float;"),r.push("precision highp int;"),r.push("#else"),r.push("precision mediump float;"),r.push("precision mediump int;"),r.push("#endif"),e.logarithmicDepthBufferEnabled&&(r.push("in float isPerspective;"),r.push("uniform float logDepthBufFC;"),r.push("in float vFragDepth;")),r.push("in vec4 vWorldPosition;"),n){r.push("in float vFlags;");for(var i=0;i> 16 & 0xF) == 1;"),r.push(" if (clippable) {"),r.push(" float dist = 0.0;");for(var a=0;a 0.0) { discard; }"),r.push("}")}return e.logarithmicDepthBufferEnabled&&r.push(" gl_FragDepth = isPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5;"),r.push(" vec3 xTangent = dFdx( vWorldPosition.xyz );"),r.push(" vec3 yTangent = dFdy( vWorldPosition.xyz );"),r.push(" vec3 worldNormal = normalize( cross( xTangent, yTangent ) );"),r.push(" outNormal = ivec4(worldNormal * float(".concat($.MAX_INT,"), 1.0);")),r.push("}"),r}}]),n}(),El=function(e){I(n,ao);var t=m(n);function n(){return b(this,n),t.apply(this,arguments)}return P(n,[{key:"_getHash",value:function(){var e=this._scene;return[e.gammaOutput,e._lightsState.getHash(),e._sectionPlanesState.getHash(),this._withSAO?"sao":"nosao"].join(";")}},{key:"drawLayer",value:function(e,t,r){v(E(n.prototype),"drawLayer",this).call(this,e,t,r,{incrementDrawState:!0})}},{key:"_buildVertexShader",value:function(){var e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,n=[];return n.push("#version 300 es"),n.push("// Instancing geometry drawing vertex shader"),n.push("uniform int renderPass;"),n.push("in vec3 position;"),n.push("in vec4 color;"),n.push("in vec2 uv;"),n.push("in float flags;"),e.entityOffsetsEnabled&&n.push("in vec3 offset;"),n.push("in vec4 modelMatrixCol0;"),n.push("in vec4 modelMatrixCol1;"),n.push("in vec4 modelMatrixCol2;"),this._addMatricesUniformBlockLines(n),n.push("uniform mat3 uvDecodeMatrix;"),e.logarithmicDepthBufferEnabled&&(n.push("uniform float logDepthBufFC;"),n.push("out float vFragDepth;"),n.push("bool isPerspectiveMatrix(mat4 m) {"),n.push(" return (m[2][3] == - 1.0);"),n.push("}"),n.push("out float isPerspective;")),t&&(n.push("out vec4 vWorldPosition;"),n.push("out float vFlags;")),n.push("out vec4 vViewPosition;"),n.push("out vec4 vColor;"),n.push("out vec2 vUV;"),n.push("void main(void) {"),n.push("int colorFlag = int(flags) & 0xF;"),n.push("if (colorFlag != renderPass) {"),n.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),n.push("} else {"),n.push("vec4 worldPosition = positionsDecodeMatrix * vec4(position, 1.0); "),n.push("worldPosition = worldMatrix * vec4(dot(worldPosition, modelMatrixCol0), dot(worldPosition, modelMatrixCol1), dot(worldPosition, modelMatrixCol2), 1.0);"),e.entityOffsetsEnabled&&n.push(" worldPosition.xyz = worldPosition.xyz + offset;"),n.push("vec4 viewPosition = viewMatrix * worldPosition; "),n.push("vViewPosition = viewPosition;"),n.push("vColor = vec4(float(color.r) / 255.0, float(color.g) / 255.0, float(color.b) / 255.0, float(color.a) / 255.0);"),n.push("vUV = (uvDecodeMatrix * vec3(uv, 1.0)).xy;"),n.push("vec4 clipPos = projMatrix * viewPosition;"),e.logarithmicDepthBufferEnabled&&(n.push("vFragDepth = 1.0 + clipPos.w;"),n.push("isPerspective = float (isPerspectiveMatrix(projMatrix));")),t&&(n.push("vWorldPosition = worldPosition;"),n.push("vFlags = flags;")),n.push("gl_Position = clipPos;"),n.push("}"),n.push("}"),n}},{key:"_buildFragmentShader",value:function(){var e,t,n=this._scene,r=n.gammaOutput,i=n._sectionPlanesState,a=n._lightsState,s=i.getNumAllocatedSectionPlanes()>0,o=[];if(o.push("#version 300 es"),o.push("// Instancing geometry drawing fragment shader"),o.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),o.push("precision highp float;"),o.push("precision highp int;"),o.push("#else"),o.push("precision mediump float;"),o.push("precision mediump int;"),o.push("#endif"),n.logarithmicDepthBufferEnabled&&(o.push("in float isPerspective;"),o.push("uniform float logDepthBufFC;"),o.push("in float vFragDepth;")),o.push("uniform sampler2D uColorMap;"),this._withSAO&&(o.push("uniform sampler2D uOcclusionTexture;"),o.push("uniform vec4 uSAOParams;"),o.push("const float packUpscale = 256. / 255.;"),o.push("const float unpackDownScale = 255. / 256.;"),o.push("const vec3 packFactors = vec3( 256. * 256. * 256., 256. * 256., 256. );"),o.push("const vec4 unPackFactors = unpackDownScale / vec4( packFactors, 1. );"),o.push("float unpackRGBToFloat( const in vec4 v ) {"),o.push(" return dot( v, unPackFactors );"),o.push("}")),o.push("uniform float gammaFactor;"),o.push("vec4 linearToLinear( in vec4 value ) {"),o.push(" return value;"),o.push("}"),o.push("vec4 sRGBToLinear( in vec4 value ) {"),o.push(" return vec4( mix( pow( value.rgb * 0.9478672986 + vec3( 0.0521327014 ), vec3( 2.4 ) ), value.rgb * 0.0773993808, vec3( lessThanEqual( value.rgb, vec3( 0.04045 ) ) ) ), value.w );"),o.push("}"),o.push("vec4 gammaToLinear( in vec4 value) {"),o.push(" return vec4( pow( value.xyz, vec3( gammaFactor ) ), value.w );"),o.push("}"),r&&(o.push("vec4 linearToGamma( in vec4 value, in float gammaFactor ) {"),o.push(" return vec4( pow( value.xyz, vec3( 1.0 / gammaFactor ) ), value.w );"),o.push("}")),s){o.push("in vec4 vWorldPosition;"),o.push("in float vFlags;");for(var l=0,u=i.getNumAllocatedSectionPlanes();l> 16 & 0xF) == 1;"),o.push(" if (clippable) {"),o.push(" float dist = 0.0;");for(var f=0,p=i.getNumAllocatedSectionPlanes();f 0.0) { "),o.push(" discard;"),o.push(" }"),o.push("}")}for(o.push("vec3 reflectedColor = vec3(0.0, 0.0, 0.0);"),o.push("vec3 viewLightDir = vec3(0.0, 0.0, -1.0);"),o.push("float lambertian = 1.0;"),o.push("vec3 xTangent = dFdx( vViewPosition.xyz );"),o.push("vec3 yTangent = dFdy( vViewPosition.xyz );"),o.push("vec3 viewNormal = normalize( cross( xTangent, yTangent ) );"),e=0,t=a.lights.length;e0,n=[];return n.push("#version 300 es"),n.push("// SnapInstancingDepthBufInitRenderer vertex shader"),n.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),n.push("precision highp float;"),n.push("precision highp int;"),n.push("precision highp usampler2D;"),n.push("precision highp isampler2D;"),n.push("precision highp sampler2D;"),n.push("#else"),n.push("precision mediump float;"),n.push("precision mediump int;"),n.push("precision mediump usampler2D;"),n.push("precision mediump isampler2D;"),n.push("precision mediump sampler2D;"),n.push("#endif"),n.push("uniform int renderPass;"),n.push("in vec4 pickColor;"),n.push("in vec3 position;"),e.entityOffsetsEnabled&&n.push("in vec3 offset;"),n.push("in float flags;"),n.push("in vec4 modelMatrixCol0;"),n.push("in vec4 modelMatrixCol1;"),n.push("in vec4 modelMatrixCol2;"),n.push("uniform bool pickInvisible;"),this._addMatricesUniformBlockLines(n),n.push("uniform vec3 uCameraEyeRtc;"),n.push("uniform vec2 snapVectorA;"),n.push("uniform vec2 snapInvVectorAB;"),n.push("uniform float logDepthBufFC;"),n.push("out float vFragDepth;"),n.push("bool isPerspectiveMatrix(mat4 m) {"),n.push(" return (m[2][3] == - 1.0);"),n.push("}"),n.push("out float isPerspective;"),n.push("vec2 remapClipPos(vec2 clipPos) {"),n.push(" float x = (clipPos.x - snapVectorA.x) * snapInvVectorAB.x;"),n.push(" float y = (clipPos.y - snapVectorA.y) * snapInvVectorAB.y;"),n.push(" return vec2(x, y);"),n.push("}"),n.push("flat out vec4 vPickColor;"),n.push("out vec4 vWorldPosition;"),t&&n.push("out float vFlags;"),n.push("out highp vec3 relativeToOriginPosition;"),n.push("void main(void) {"),n.push("int pickFlag = int(flags) >> 12 & 0xF;"),n.push("if (pickFlag != renderPass) {"),n.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),n.push("} else {"),n.push(" vec4 worldPosition = positionsDecodeMatrix * vec4(position, 1.0); "),n.push(" worldPosition = worldMatrix * vec4(dot(worldPosition, modelMatrixCol0), dot(worldPosition, modelMatrixCol1), dot(worldPosition, modelMatrixCol2), 1.0);"),e.entityOffsetsEnabled&&n.push(" worldPosition.xyz = worldPosition.xyz + offset;"),n.push("relativeToOriginPosition = worldPosition.xyz;"),n.push(" vec4 viewPosition = viewMatrix * worldPosition; "),n.push(" vWorldPosition = worldPosition;"),t&&n.push(" vFlags = flags;"),n.push("vPickColor = pickColor;"),n.push("vec4 clipPos = projMatrix * viewPosition;"),n.push("float tmp = clipPos.w;"),n.push("clipPos.xyzw /= tmp;"),n.push("clipPos.xy = remapClipPos(clipPos.xy);"),n.push("clipPos.xyzw *= tmp;"),n.push("vFragDepth = 1.0 + clipPos.w;"),n.push("isPerspective = float (isPerspectiveMatrix(projMatrix));"),n.push("gl_Position = clipPos;"),n.push("}"),n.push("}"),n}},{key:"_buildFragmentShader",value:function(){var e=this._scene._sectionPlanesState,t=e.getNumAllocatedSectionPlanes()>0,n=[];if(n.push("#version 300 es"),n.push("// Points instancing pick depth fragment shader"),n.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),n.push("precision highp float;"),n.push("precision highp int;"),n.push("#else"),n.push("precision mediump float;"),n.push("precision mediump int;"),n.push("#endif"),n.push("in float isPerspective;"),n.push("uniform float logDepthBufFC;"),n.push("in float vFragDepth;"),n.push("uniform int layerNumber;"),n.push("uniform vec3 coordinateScaler;"),n.push("in vec4 vWorldPosition;"),n.push("flat in vec4 vPickColor;"),t){n.push("in float vFlags;");for(var r=0;r> 16 & 0xF) == 1;"),n.push(" if (clippable) {"),n.push(" float dist = 0.0;");for(var i=0;i 0.0) { discard; }"),n.push("}")}return n.push(" float dx = dFdx(vFragDepth);"),n.push(" float dy = dFdy(vFragDepth);"),n.push(" float diff = sqrt(dx*dx+dy*dy);"),n.push(" gl_FragDepth = isPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth + diff ) * logDepthBufFC * 0.5;"),n.push("outCoords = ivec4(relativeToOriginPosition.xyz*coordinateScaler.xyz, -layerNumber);"),n.push("vec3 xTangent = dFdx( vWorldPosition.xyz );"),n.push("vec3 yTangent = dFdy( vWorldPosition.xyz );"),n.push("vec3 worldNormal = normalize( cross( xTangent, yTangent ) );"),n.push("outNormal = ivec4(worldNormal * float(".concat($.MAX_INT,"), 1.0);")),n.push("outPickColor = uvec4(vPickColor);"),n.push("}"),n}},{key:"webglContextRestored",value:function(){this._program=null}},{key:"destroy",value:function(){this._program&&this._program.destroy(),this._program=null}}]),n}(),Ol=$.vec3(),Sl=$.vec3(),Nl=$.vec3(),Ll=$.vec3(),Ml=$.mat4(),xl=function(e){I(n,no);var t=m(n);function n(e){return b(this,n),t.call(this,e,!1,{instancing:!0})}return P(n,[{key:"drawLayer",value:function(e,t,n){if(this._program||(this._allocate(t),!this.errors)){e.lastProgramId!==this._program.id&&(e.lastProgramId=this._program.id,this._bindProgram());var r=t.model,i=r.scene,a=i.camera,s=i.canvas.gl,o=t._state,l=t._state.origin,u=r.position,c=r.rotationMatrix,f=r.rotationMatrixConjugate,p=r.aabb,A=e.pickViewMatrix||a.viewMatrix;this._vaoCache.has(t)?s.bindVertexArray(this._vaoCache.get(t)):this._vaoCache.set(t,this._makeVAO(o));var d,v,h=Ol;if(h[0]=$.safeInv(p[3]-p[0])*$.MAX_INT,h[1]=$.safeInv(p[4]-p[1])*$.MAX_INT,h[2]=$.safeInv(p[5]-p[2])*$.MAX_INT,e.snapPickCoordinateScale[0]=$.safeInv(h[0]),e.snapPickCoordinateScale[1]=$.safeInv(h[1]),e.snapPickCoordinateScale[2]=$.safeInv(h[2]),l||0!==u[0]||0!==u[1]||0!==u[2]){var I=Sl;if(l){var y=$.transformPoint3(c,l,Nl);I[0]=y[0],I[1]=y[1],I[2]=y[2]}else I[0]=0,I[1]=0,I[2]=0;I[0]+=u[0],I[1]+=u[1],I[2]+=u[2],d=Be(A,I,Ml),(v=Ll)[0]=a.eye[0]-I[0],v[1]=a.eye[1]-I[1],v[2]=a.eye[2]-I[2],e.snapPickOrigin[0]=I[0],e.snapPickOrigin[1]=I[1],e.snapPickOrigin[2]=I[2]}else d=A,v=a.eye,e.snapPickOrigin[0]=0,e.snapPickOrigin[1]=0,e.snapPickOrigin[2]=0;s.uniform3fv(this._uCameraEyeRtc,v),s.uniform2fv(this.uVectorA,e.snapVectorA),s.uniform2fv(this.uInverseVectorAB,e.snapInvVectorAB),s.uniform1i(this._uLayerNumber,e.snapPickLayerNumber),s.uniform3fv(this._uCoordinateScaler,h),s.uniform1i(this._uRenderPass,n),s.uniform1i(this._uPickInvisible,e.pickInvisible);var m=0;this._matricesUniformBlockBufferData.set(f,0),this._matricesUniformBlockBufferData.set(d,m+=16),this._matricesUniformBlockBufferData.set(a.projMatrix,m+=16),this._matricesUniformBlockBufferData.set(o.positionsDecodeMatrix,m+=16),s.bindBuffer(s.UNIFORM_BUFFER,this._matricesUniformBlockBuffer),s.bufferData(s.UNIFORM_BUFFER,this._matricesUniformBlockBufferData,s.DYNAMIC_DRAW),s.bindBufferBase(s.UNIFORM_BUFFER,this._matricesUniformBlockBufferBindingPoint,this._matricesUniformBlockBuffer);var w=2/(Math.log(e.pickZFar+1)/Math.LN2);s.uniform1f(this._uLogDepthBufFC,w),this.setSectionPlanesStateUniforms(t),this._aModelMatrixCol0.bindArrayBuffer(o.modelMatrixCol0Buf),this._aModelMatrixCol1.bindArrayBuffer(o.modelMatrixCol1Buf),this._aModelMatrixCol2.bindArrayBuffer(o.modelMatrixCol2Buf),s.vertexAttribDivisor(this._aModelMatrixCol0.location,1),s.vertexAttribDivisor(this._aModelMatrixCol1.location,1),s.vertexAttribDivisor(this._aModelMatrixCol2.location,1),this._aFlags.bindArrayBuffer(o.flagsBuf),s.vertexAttribDivisor(this._aFlags.location,1),"edge"===e.snapMode?(o.edgeIndicesBuf.bind(),s.drawElementsInstanced(s.LINES,o.edgeIndicesBuf.numItems,o.edgeIndicesBuf.itemType,0,o.numInstances),o.edgeIndicesBuf.unbind()):s.drawArraysInstanced(s.POINTS,0,o.positionsBuf.numItems,o.numInstances),s.vertexAttribDivisor(this._aModelMatrixCol0.location,0),s.vertexAttribDivisor(this._aModelMatrixCol1.location,0),s.vertexAttribDivisor(this._aModelMatrixCol2.location,0),s.vertexAttribDivisor(this._aFlags.location,0),this._aOffset&&s.vertexAttribDivisor(this._aOffset.location,0)}}},{key:"_allocate",value:function(){v(E(n.prototype),"_allocate",this).call(this);var e=this._program;this._uLogDepthBufFC=e.getLocation("logDepthBufFC"),this._uCameraEyeRtc=e.getLocation("uCameraEyeRtc"),this.uVectorA=e.getLocation("snapVectorA"),this.uInverseVectorAB=e.getLocation("snapInvVectorAB"),this._uLayerNumber=e.getLocation("layerNumber"),this._uCoordinateScaler=e.getLocation("coordinateScaler")}},{key:"_bindProgram",value:function(){this._program.bind()}},{key:"_buildVertexShader",value:function(){var e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,n=[];return n.push("#version 300 es"),n.push("// SnapInstancingDepthRenderer vertex shader"),n.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),n.push("precision highp float;"),n.push("precision highp int;"),n.push("precision highp usampler2D;"),n.push("precision highp isampler2D;"),n.push("precision highp sampler2D;"),n.push("#else"),n.push("precision mediump float;"),n.push("precision mediump int;"),n.push("precision mediump usampler2D;"),n.push("precision mediump isampler2D;"),n.push("precision mediump sampler2D;"),n.push("#endif"),n.push("uniform int renderPass;"),n.push("in vec3 position;"),e.entityOffsetsEnabled&&n.push("in vec3 offset;"),n.push("in float flags;"),n.push("in vec4 modelMatrixCol0;"),n.push("in vec4 modelMatrixCol1;"),n.push("in vec4 modelMatrixCol2;"),n.push("uniform bool pickInvisible;"),this._addMatricesUniformBlockLines(n),n.push("uniform vec3 uCameraEyeRtc;"),n.push("uniform vec2 snapVectorA;"),n.push("uniform vec2 snapInvVectorAB;"),n.push("uniform float logDepthBufFC;"),n.push("out float vFragDepth;"),n.push("bool isPerspectiveMatrix(mat4 m) {"),n.push(" return (m[2][3] == - 1.0);"),n.push("}"),n.push("out float isPerspective;"),n.push("vec2 remapClipPos(vec2 clipPos) {"),n.push(" float x = (clipPos.x - snapVectorA.x) * snapInvVectorAB.x;"),n.push(" float y = (clipPos.y - snapVectorA.y) * snapInvVectorAB.y;"),n.push(" return vec2(x, y);"),n.push("}"),t&&(n.push("out vec4 vWorldPosition;"),n.push("out float vFlags;")),n.push("out highp vec3 relativeToOriginPosition;"),n.push("void main(void) {"),n.push("int pickFlag = int(flags) >> 12 & 0xF;"),n.push("if (pickFlag != renderPass) {"),n.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),n.push("} else {"),n.push(" vec4 worldPosition = positionsDecodeMatrix * vec4(position, 1.0); "),n.push(" worldPosition = worldMatrix * vec4(dot(worldPosition, modelMatrixCol0), dot(worldPosition, modelMatrixCol1), dot(worldPosition, modelMatrixCol2), 1.0);"),e.entityOffsetsEnabled&&n.push(" worldPosition.xyz = worldPosition.xyz + offset;"),n.push("relativeToOriginPosition = worldPosition.xyz;"),n.push(" vec4 viewPosition = viewMatrix * worldPosition; "),t&&(n.push(" vWorldPosition = worldPosition;"),n.push(" vFlags = flags;")),n.push("vec4 clipPos = projMatrix * viewPosition;"),n.push("float tmp = clipPos.w;"),n.push("clipPos.xyzw /= tmp;"),n.push("clipPos.xy = remapClipPos(clipPos.xy);"),n.push("clipPos.xyzw *= tmp;"),n.push("vFragDepth = 1.0 + clipPos.w;"),n.push("isPerspective = float (isPerspectiveMatrix(projMatrix));"),n.push("gl_Position = clipPos;"),n.push("gl_PointSize = 1.0;"),n.push("}"),n.push("}"),n}},{key:"_buildFragmentShader",value:function(){var e=this._scene._sectionPlanesState,t=e.getNumAllocatedSectionPlanes()>0,n=[];if(n.push("#version 300 es"),n.push("// SnapInstancingDepthRenderer fragment shader"),n.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),n.push("precision highp float;"),n.push("precision highp int;"),n.push("#else"),n.push("precision mediump float;"),n.push("precision mediump int;"),n.push("#endif"),n.push("in float isPerspective;"),n.push("uniform float logDepthBufFC;"),n.push("in float vFragDepth;"),n.push("uniform int layerNumber;"),n.push("uniform vec3 coordinateScaler;"),t){n.push("in vec4 vWorldPosition;"),n.push("in float vFlags;");for(var r=0;r> 16 & 0xF) == 1;"),n.push(" if (clippable) {"),n.push(" float dist = 0.0;");for(var i=0;i 0.0) { discard; }"),n.push("}")}return n.push(" gl_FragDepth = isPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5;"),n.push("outCoords = ivec4(relativeToOriginPosition.xyz*coordinateScaler.xyz, layerNumber);"),n.push("}"),n}},{key:"webglContextRestored",value:function(){this._program=null}},{key:"destroy",value:function(){this._program&&this._program.destroy(),this._program=null}}]),n}(),Fl=function(){function e(t){b(this,e),this._scene=t}return P(e,[{key:"_compile",value:function(){this._snapDepthBufInitRenderer&&!this._snapDepthBufInitRenderer.getValid()&&(this._snapDepthBufInitRenderer.destroy(),this._snapDepthBufInitRenderer=null),this._snapDepthRenderer&&!this._snapDepthRenderer.getValid()&&(this._snapDepthRenderer.destroy(),this._snapDepthRenderer=null)}},{key:"eagerCreateRenders",value:function(){this._snapDepthBufInitRenderer||(this._snapDepthBufInitRenderer=new Bl(this._scene,!1)),this._snapDepthRenderer||(this._snapDepthRenderer=new xl(this._scene))}},{key:"snapDepthBufInitRenderer",get:function(){return this._snapDepthBufInitRenderer||(this._snapDepthBufInitRenderer=new Bl(this._scene,!1)),this._snapDepthBufInitRenderer}},{key:"snapDepthRenderer",get:function(){return this._snapDepthRenderer||(this._snapDepthRenderer=new xl(this._scene)),this._snapDepthRenderer}},{key:"_destroy",value:function(){this._snapDepthBufInitRenderer&&this._snapDepthBufInitRenderer.destroy(),this._snapDepthRenderer&&this._snapDepthRenderer.destroy()}}]),e}(),Hl={};var Ul=new Uint8Array(4),Gl=new Float32Array(1),kl=$.vec4([0,0,0,1]);$.vec4([0,0,0,1]),$.vec4([0,0,0,1]);var jl=new Float32Array(3),Vl=$.vec3(),Ql=$.vec3(),Wl=$.vec3(),zl=$.vec3(),Kl=$.vec3(),Yl=$.vec3(),Xl=$.vec3(),ql=new Float32Array(4),Jl=function(){function e(t){var n,r,i;b(this,e),this.model=t.model,this.sortId="TrianglesInstancingLayer"+(t.solid?"-solid":"-surface")+(t.normals?"-normals":"-autoNormals"),this.layerIndex=t.layerIndex,this._instancingRenderers=(n=t.model.scene,r=n.id,(i=bl[r])||(i=new Tl(n),bl[r]=i,i._compile(),i.eagerCreateRenders(),n.on("compile",(function(){i._compile(),i.eagerCreateRenders()})),n.on("destroyed",(function(){delete bl[r],i._destroy()}))),i),this._snapInstancingRenderers=function(e){var t=e.id,n=Hl[t];return n||(n=new Fl(e),Hl[t]=n,n._compile(),n.eagerCreateRenders(),e.on("compile",(function(){n._compile(),n.eagerCreateRenders()})),e.on("destroyed",(function(){delete Hl[t],n._destroy()}))),n}(t.model.scene),this._aabb=$.collapseAABB3(),this._state=new Wt({numInstances:0,obb:$.OBB3(),origin:$.vec3(),geometry:t.geometry,textureSet:t.textureSet,pbrSupported:!1,positionsDecodeMatrix:t.geometry.positionsDecodeMatrix,colorsBuf:null,metallicRoughnessBuf:null,flagsBuf:null,offsetsBuf:null,modelMatrixBuf:null,modelMatrixCol0Buf:null,modelMatrixCol1Buf:null,modelMatrixCol2Buf:null,modelNormalMatrixCol0Buf:null,modelNormalMatrixCol1Buf:null,modelNormalMatrixCol2Buf:null,pickColorsBuf:null}),this._numPortions=0,this._numVisibleLayerPortions=0,this._numTransparentLayerPortions=0,this._numXRayedLayerPortions=0,this._numHighlightedLayerPortions=0,this._numSelectedLayerPortions=0,this._numClippableLayerPortions=0,this._numEdgesLayerPortions=0,this._numPickableLayerPortions=0,this._numCulledLayerPortions=0,this.numIndices=t.geometry.numIndices,this._colors=[],this._metallicRoughness=[],this._pickColors=[],this._offsets=[],this._modelMatrix=[],this._modelMatrixCol0=[],this._modelMatrixCol1=[],this._modelMatrixCol2=[],this._modelNormalMatrixCol0=[],this._modelNormalMatrixCol1=[],this._modelNormalMatrixCol2=[],this._portions=[],t.origin&&this._state.origin.set(t.origin),this._finalized=!1,this.solid=!!t.solid,this.numIndices=t.geometry.numIndices}return P(e,[{key:"createPortion",value:function(e){var t=e.color,n=e.metallic,r=e.roughness,i=null!==e.opacity&&void 0!==e.opacity?e.opacity:255,a=e.meshMatrix,s=e.pickColor;if(this._finalized)throw"Already finalized";var o=t[0],l=t[1],u=t[2];if(this._colors.push(o),this._colors.push(l),this._colors.push(u),this._colors.push(i),this._metallicRoughness.push(null!=n?n:0),this._metallicRoughness.push(null!=r?r:255),this.model.scene.entityOffsetsEnabled&&(this._offsets.push(0),this._offsets.push(0),this._offsets.push(0)),this._modelMatrixCol0.push(a[0]),this._modelMatrixCol0.push(a[4]),this._modelMatrixCol0.push(a[8]),this._modelMatrixCol0.push(a[12]),this._modelMatrixCol1.push(a[1]),this._modelMatrixCol1.push(a[5]),this._modelMatrixCol1.push(a[9]),this._modelMatrixCol1.push(a[13]),this._modelMatrixCol2.push(a[2]),this._modelMatrixCol2.push(a[6]),this._modelMatrixCol2.push(a[10]),this._modelMatrixCol2.push(a[14]),this._state.geometry.normals){var c=$.transposeMat4(a,$.mat4()),f=$.inverseMat4(c);this._modelNormalMatrixCol0.push(f[0]),this._modelNormalMatrixCol0.push(f[4]),this._modelNormalMatrixCol0.push(f[8]),this._modelNormalMatrixCol0.push(f[12]),this._modelNormalMatrixCol1.push(f[1]),this._modelNormalMatrixCol1.push(f[5]),this._modelNormalMatrixCol1.push(f[9]),this._modelNormalMatrixCol1.push(f[13]),this._modelNormalMatrixCol2.push(f[2]),this._modelNormalMatrixCol2.push(f[6]),this._modelNormalMatrixCol2.push(f[10]),this._modelNormalMatrixCol2.push(f[14])}this._pickColors.push(s[0]),this._pickColors.push(s[1]),this._pickColors.push(s[2]),this._pickColors.push(s[3]),this._state.numInstances++;var p=this._portions.length,A={};return this.model.scene.pickSurfacePrecisionEnabled&&(A.matrix=a.slice(),A.inverseMatrix=null,A.normalMatrix=null),this._portions.push(A),this._numPortions++,this.model.numPortions++,p}},{key:"finalize",value:function(){if(!this._finalized){var e=this._state,t=e.geometry,n=e.textureSet,r=this.model.scene.canvas.gl,i=this._colors.length,a=i/4;if(i>0){e.colorsBuf=new Dt(r,r.ARRAY_BUFFER,new Uint8Array(this._colors),this._colors.length,4,r.DYNAMIC_DRAW,!1),this._colors=[]}if(this._metallicRoughness.length>0){var s=new Uint8Array(this._metallicRoughness);e.metallicRoughnessBuf=new Dt(r,r.ARRAY_BUFFER,s,this._metallicRoughness.length,2,r.STATIC_DRAW,!1)}if(a>0){e.flagsBuf=new Dt(r,r.ARRAY_BUFFER,new Float32Array(a),a,1,r.DYNAMIC_DRAW,!1)}if(this.model.scene.entityOffsetsEnabled&&this._offsets.length>0){e.offsetsBuf=new Dt(r,r.ARRAY_BUFFER,new Float32Array(this._offsets),this._offsets.length,3,r.DYNAMIC_DRAW,!1),this._offsets=[]}if(t.positionsCompressed&&t.positionsCompressed.length>0){e.positionsBuf=new Dt(r,r.ARRAY_BUFFER,t.positionsCompressed,t.positionsCompressed.length,3,r.STATIC_DRAW,!1),e.positionsDecodeMatrix=$.mat4(t.positionsDecodeMatrix)}if(t.colorsCompressed&&t.colorsCompressed.length>0){var o=new Uint8Array(t.colorsCompressed);e.colorsBuf=new Dt(r,r.ARRAY_BUFFER,o,o.length,4,r.STATIC_DRAW,!1)}if(t.uvCompressed&&t.uvCompressed.length>0){var l=t.uvCompressed;e.uvDecodeMatrix=t.uvDecodeMatrix,e.uvBuf=new Dt(r,r.ARRAY_BUFFER,l,l.length,2,r.STATIC_DRAW,!1)}if(t.indices&&t.indices.length>0&&(e.indicesBuf=new Dt(r,r.ELEMENT_ARRAY_BUFFER,new Uint32Array(t.indices),t.indices.length,1,r.STATIC_DRAW),e.numIndices=t.indices.length),"triangles"!==t.primitive&&"solid"!==t.primitive&&"surface"!==t.primitive||(e.edgeIndicesBuf=new Dt(r,r.ELEMENT_ARRAY_BUFFER,new Uint32Array(t.edgeIndices),t.edgeIndices.length,1,r.STATIC_DRAW)),this._modelMatrixCol0.length>0){var u=!1;e.modelMatrixCol0Buf=new Dt(r,r.ARRAY_BUFFER,new Float32Array(this._modelMatrixCol0),this._modelMatrixCol0.length,4,r.STATIC_DRAW,u),e.modelMatrixCol1Buf=new Dt(r,r.ARRAY_BUFFER,new Float32Array(this._modelMatrixCol1),this._modelMatrixCol1.length,4,r.STATIC_DRAW,u),e.modelMatrixCol2Buf=new Dt(r,r.ARRAY_BUFFER,new Float32Array(this._modelMatrixCol2),this._modelMatrixCol2.length,4,r.STATIC_DRAW,u),this._modelMatrixCol0=[],this._modelMatrixCol1=[],this._modelMatrixCol2=[],e.normalsBuf&&(e.modelNormalMatrixCol0Buf=new Dt(r,r.ARRAY_BUFFER,new Float32Array(this._modelNormalMatrixCol0),this._modelNormalMatrixCol0.length,4,r.STATIC_DRAW,u),e.modelNormalMatrixCol1Buf=new Dt(r,r.ARRAY_BUFFER,new Float32Array(this._modelNormalMatrixCol1),this._modelNormalMatrixCol1.length,4,r.STATIC_DRAW,u),e.modelNormalMatrixCol2Buf=new Dt(r,r.ARRAY_BUFFER,new Float32Array(this._modelNormalMatrixCol2),this._modelNormalMatrixCol2.length,4,r.STATIC_DRAW,u),this._modelNormalMatrixCol0=[],this._modelNormalMatrixCol1=[],this._modelNormalMatrixCol2=[])}if(this._pickColors.length>0){e.pickColorsBuf=new Dt(r,r.ARRAY_BUFFER,new Uint8Array(this._pickColors),this._pickColors.length,4,r.STATIC_DRAW,!1),this._pickColors=[]}e.pbrSupported=!!(e.metallicRoughnessBuf&&e.uvBuf&&e.normalsBuf&&n&&n.colorTexture&&n.metallicRoughnessTexture),e.colorTextureSupported=!!e.uvBuf&&!!n&&!!n.colorTexture,this._state.geometry=null,this._finalized=!0}}},{key:"initFlags",value:function(e,t,n){t&Me&&(this._numVisibleLayerPortions++,this.model.numVisibleLayerPortions++),t&ke&&(this._numHighlightedLayerPortions++,this.model.numHighlightedLayerPortions++),t&Ge&&(this._numXRayedLayerPortions++,this.model.numXRayedLayerPortions++),t&je&&(this._numSelectedLayerPortions++,this.model.numSelectedLayerPortions++),t&He&&(this._numClippableLayerPortions++,this.model.numClippableLayerPortions++),t&Ve&&(this._numEdgesLayerPortions++,this.model.numEdgesLayerPortions++),t&Fe&&(this._numPickableLayerPortions++,this.model.numPickableLayerPortions++),t&xe&&(this._numCulledLayerPortions++,this.model.numCulledLayerPortions++),n&&(this._numTransparentLayerPortions++,this.model.numTransparentLayerPortions++),this._setFlags(e,t,n)}},{key:"setVisible",value:function(e,t,n){if(!this._finalized)throw"Not finalized";t&Me?(this._numVisibleLayerPortions++,this.model.numVisibleLayerPortions++):(this._numVisibleLayerPortions--,this.model.numVisibleLayerPortions--),this._setFlags(e,t,n)}},{key:"setHighlighted",value:function(e,t,n){if(!this._finalized)throw"Not finalized";t&ke?(this._numHighlightedLayerPortions++,this.model.numHighlightedLayerPortions++):(this._numHighlightedLayerPortions--,this.model.numHighlightedLayerPortions--),this._setFlags(e,t,n)}},{key:"setXRayed",value:function(e,t,n){if(!this._finalized)throw"Not finalized";t&Ge?(this._numXRayedLayerPortions++,this.model.numXRayedLayerPortions++):(this._numXRayedLayerPortions--,this.model.numXRayedLayerPortions--),this._setFlags(e,t,n)}},{key:"setSelected",value:function(e,t,n){if(!this._finalized)throw"Not finalized";t&je?(this._numSelectedLayerPortions++,this.model.numSelectedLayerPortions++):(this._numSelectedLayerPortions--,this.model.numSelectedLayerPortions--),this._setFlags(e,t,n)}},{key:"setEdges",value:function(e,t,n){if(!this._finalized)throw"Not finalized";t&Ve?(this._numEdgesLayerPortions++,this.model.numEdgesLayerPortions++):(this._numEdgesLayerPortions--,this.model.numEdgesLayerPortions--),this._setFlags(e,t,n)}},{key:"setClippable",value:function(e,t){if(!this._finalized)throw"Not finalized";t&He?(this._numClippableLayerPortions++,this.model.numClippableLayerPortions++):(this._numClippableLayerPortions--,this.model.numClippableLayerPortions--),this._setFlags(e,t)}},{key:"setCollidable",value:function(e,t){if(!this._finalized)throw"Not finalized"}},{key:"setPickable",value:function(e,t,n){if(!this._finalized)throw"Not finalized";t&Fe?(this._numPickableLayerPortions++,this.model.numPickableLayerPortions++):(this._numPickableLayerPortions--,this.model.numPickableLayerPortions--),this._setFlags(e,t,n)}},{key:"setCulled",value:function(e,t,n){if(!this._finalized)throw"Not finalized";t&xe?(this._numCulledLayerPortions++,this.model.numCulledLayerPortions++):(this._numCulledLayerPortions--,this.model.numCulledLayerPortions--),this._setFlags(e,t,n)}},{key:"setColor",value:function(e,t){if(!this._finalized)throw"Not finalized";Ul[0]=t[0],Ul[1]=t[1],Ul[2]=t[2],Ul[3]=t[3],this._state.colorsBuf&&this._state.colorsBuf.setData(Ul,4*e)}},{key:"setTransparent",value:function(e,t,n){n?(this._numTransparentLayerPortions++,this.model.numTransparentLayerPortions++):(this._numTransparentLayerPortions--,this.model.numTransparentLayerPortions--),this._setFlags(e,t,n)}},{key:"_setFlags",value:function(e,t,n){if(!this._finalized)throw"Not finalized";var r=!!(t&Me),i=!!(t&Ge),a=!!(t&ke),s=!!(t&je),o=!!(t&Ve),l=!!(t&Fe),u=!!(t&xe),c=0;c|=!r||u||i||a&&!this.model.scene.highlightMaterial.glowThrough||s&&!this.model.scene.selectedMaterial.glowThrough?Xs.NOT_RENDERED:n?Xs.COLOR_TRANSPARENT:Xs.COLOR_OPAQUE,c|=(!r||u?Xs.NOT_RENDERED:s?Xs.SILHOUETTE_SELECTED:a?Xs.SILHOUETTE_HIGHLIGHTED:i?Xs.SILHOUETTE_XRAYED:Xs.NOT_RENDERED)<<4,c|=(!r||u?Xs.NOT_RENDERED:s?Xs.EDGES_SELECTED:a?Xs.EDGES_HIGHLIGHTED:i?Xs.EDGES_XRAYED:o?n?Xs.EDGES_COLOR_TRANSPARENT:Xs.EDGES_COLOR_OPAQUE:Xs.NOT_RENDERED)<<8,c|=(r&&!u&&l?Xs.PICK:Xs.NOT_RENDERED)<<12,c|=(t&He?1:0)<<16,Gl[0]=c,this._state.flagsBuf&&this._state.flagsBuf.setData(Gl,e)}},{key:"setOffset",value:function(e,t){if(!this._finalized)throw"Not finalized";this.model.scene.entityOffsetsEnabled?(jl[0]=t[0],jl[1]=t[1],jl[2]=t[2],this._state.offsetsBuf&&this._state.offsetsBuf.setData(jl,3*e)):this.model.error("Entity#offset not enabled for this Viewer")}},{key:"getEachVertex",value:function(e,t){if(!this.model.scene.pickSurfacePrecisionEnabled)return!1;var n=this._state,r=n.geometry,i=this._portions[e];if(i)for(var a=r.quantizedPositions,s=n.origin,o=i.offset,l=s[0]+o[0],u=s[1]+o[1],c=s[2]+o[2],f=kl,p=i.matrix,A=this.model.sceneModelMatrix,d=n.positionsDecodeMatrix,v=0,h=a.length;vy)&&(y=P,r.set(m),i&&$.triangleNormal(d,v,h,i),I=!0)}}return I&&i&&($.transformVec3(o.normalMatrix,i,i),$.transformVec3(this.model.worldNormalMatrix,i,i),$.normalizeVec3(i)),I}},{key:"destroy",value:function(){var e=this._state;e.colorsBuf&&(e.colorsBuf.destroy(),e.colorsBuf=null),e.metallicRoughnessBuf&&(e.metallicRoughnessBuf.destroy(),e.metallicRoughnessBuf=null),e.flagsBuf&&(e.flagsBuf.destroy(),e.flagsBuf=null),e.offsetsBuf&&(e.offsetsBuf.destroy(),e.offsetsBuf=null),e.modelMatrixCol0Buf&&(e.modelMatrixCol0Buf.destroy(),e.modelMatrixCol0Buf=null),e.modelMatrixCol1Buf&&(e.modelMatrixCol1Buf.destroy(),e.modelMatrixCol1Buf=null),e.modelMatrixCol2Buf&&(e.modelMatrixCol2Buf.destroy(),e.modelMatrixCol2Buf=null),e.modelNormalMatrixCol0Buf&&(e.modelNormalMatrixCol0Buf.destroy(),e.modelNormalMatrixCol0Buf=null),e.modelNormalMatrixCol1Buf&&(e.modelNormalMatrixCol1Buf.destroy(),e.modelNormalMatrixCol1Buf=null),e.modelNormalMatrixCol2Buf&&(e.modelNormalMatrixCol2Buf.destroy(),e.modelNormalMatrixCol2Buf=null),e.pickColorsBuf&&(e.pickColorsBuf.destroy(),e.pickColorsBuf=null),e.destroy(),this._state=null}}]),e}(),Zl=function(e){I(n,uo);var t=m(n);function n(){return b(this,n),t.apply(this,arguments)}return P(n,[{key:"drawLayer",value:function(e,t,r){v(E(n.prototype),"drawLayer",this).call(this,e,t,r,{incrementDrawState:!0})}},{key:"_buildVertexShader",value:function(){var e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,n=[];return n.push("#version 300 es"),n.push("// Lines batching color vertex shader"),n.push("uniform int renderPass;"),n.push("in vec3 position;"),n.push("in vec4 color;"),n.push("in float flags;"),e.entityOffsetsEnabled&&n.push("in vec3 offset;"),this._addMatricesUniformBlockLines(n),e.logarithmicDepthBufferEnabled&&(n.push("uniform float logDepthBufFC;"),n.push("out float vFragDepth;")),t&&(n.push("out vec4 vWorldPosition;"),n.push("out float vFlags;")),n.push("out vec4 vColor;"),n.push("void main(void) {"),n.push("int colorFlag = int(flags) & 0xF;"),n.push("if (colorFlag != renderPass) {"),n.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),n.push("} else {"),n.push("vec4 worldPosition = worldMatrix * (positionsDecodeMatrix * vec4(position, 1.0)); "),e.entityOffsetsEnabled&&n.push("worldPosition.xyz = worldPosition.xyz + offset;"),n.push("vec4 viewPosition = viewMatrix * worldPosition; "),n.push("vColor = vec4(float(color.r) / 255.0, float(color.g) / 255.0, float(color.b) / 255.0, float(color.a) / 255.0);"),t&&(n.push("vWorldPosition = worldPosition;"),n.push("vFlags = flags;")),n.push("vec4 clipPos = projMatrix * viewPosition;"),e.logarithmicDepthBufferEnabled&&n.push("vFragDepth = 1.0 + clipPos.w;"),n.push("gl_Position = clipPos;"),n.push("}"),n.push("}"),n}},{key:"_buildFragmentShader",value:function(){var e=this._scene,t=e._sectionPlanesState,n=t.getNumAllocatedSectionPlanes()>0,r=[];if(r.push("#version 300 es"),r.push("// Lines batching color fragment shader"),r.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),r.push("precision highp float;"),r.push("precision highp int;"),r.push("#else"),r.push("precision mediump float;"),r.push("precision mediump int;"),r.push("#endif"),e.logarithmicDepthBufferEnabled&&(r.push("uniform float logDepthBufFC;"),r.push("in float vFragDepth;")),n){r.push("in vec4 vWorldPosition;"),r.push("in float vFlags;");for(var i=0,a=t.getNumAllocatedSectionPlanes();i> 16 & 0xF) == 1;"),r.push(" if (clippable) {"),r.push(" float dist = 0.0;");for(var s=0,o=t.getNumAllocatedSectionPlanes();s 0.0) { discard; }"),r.push("}")}return r.push(" outColor = vColor;"),e.logarithmicDepthBufferEnabled&&r.push("gl_FragDepth = log2( vFragDepth ) * logDepthBufFC * 0.5;"),r.push("}"),r}}]),n}(),$l=function(e){I(n,uo);var t=m(n);function n(){return b(this,n),t.apply(this,arguments)}return P(n,[{key:"drawLayer",value:function(e,t,r){v(E(n.prototype),"drawLayer",this).call(this,e,t,r,{colorUniform:!0})}},{key:"_buildVertexShader",value:function(){var e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,n=[];return n.push("#version 300 es"),n.push("// Lines batching silhouette vertex shader"),n.push("uniform int renderPass;"),n.push("in vec3 position;"),e.entityOffsetsEnabled&&n.push("in vec3 offset;"),n.push("in float flags;"),this._addMatricesUniformBlockLines(n),n.push("uniform vec4 color;"),e.logarithmicDepthBufferEnabled&&(n.push("uniform float logDepthBufFC;"),n.push("out float vFragDepth;")),t&&(n.push("out vec4 vWorldPosition;"),n.push("out float vFlags;")),n.push("void main(void) {"),n.push("int silhouetteFlag = int(flags) >> 4 & 0xF;"),n.push("if (silhouetteFlag != renderPass) {"),n.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),n.push("} else {"),n.push(" vec4 worldPosition = worldMatrix * (positionsDecodeMatrix * vec4(position, 1.0)); "),e.entityOffsetsEnabled&&n.push(" worldPosition.xyz = worldPosition.xyz + offset;"),n.push("vec4 viewPosition = viewMatrix * worldPosition; "),t&&(n.push("vWorldPosition = worldPosition;"),n.push("vFlags = flags;")),n.push("vec4 clipPos = projMatrix * viewPosition;"),e.logarithmicDepthBufferEnabled&&n.push("vFragDepth = 1.0 + clipPos.w;"),n.push("gl_Position = clipPos;"),n.push("}"),n.push("}"),n}},{key:"_buildFragmentShader",value:function(){var e=this._scene,t=e._sectionPlanesState,n=t.getNumAllocatedSectionPlanes()>0,r=[];if(r.push("#version 300 es"),r.push("// Lines batching silhouette fragment shader"),r.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),r.push("precision highp float;"),r.push("precision highp int;"),r.push("#else"),r.push("precision mediump float;"),r.push("precision mediump int;"),r.push("#endif"),e.logarithmicDepthBufferEnabled&&(r.push("uniform float logDepthBufFC;"),r.push("in float vFragDepth;")),n){r.push("in vec4 vWorldPosition;"),r.push("in float vFlags;");for(var i=0,a=t.getNumAllocatedSectionPlanes();i> 16 & 0xF) == 1;"),r.push(" if (clippable) {"),r.push(" float dist = 0.0;");for(var s=0,o=t.getNumAllocatedSectionPlanes();s 0.0) { discard; }"),r.push("}")}return e.logarithmicDepthBufferEnabled&&r.push("gl_FragDepth = log2( vFragDepth ) * logDepthBufFC * 0.5;"),r.push("outColor = color;"),r.push("}"),r}}]),n}(),eu=function(){function e(t){b(this,e),this._scene=t}return P(e,[{key:"_compile",value:function(){this._colorRenderer&&!this._colorRenderer.getValid()&&(this._colorRenderer.destroy(),this._colorRenderer=null),this._silhouetteRenderer&&!this._silhouetteRenderer.getValid()&&(this._silhouetteRenderer.destroy(),this._silhouetteRenderer=null)}},{key:"colorRenderer",get:function(){return this._colorRenderer||(this._colorRenderer=new Zl(this._scene,!1)),this._colorRenderer}},{key:"silhouetteRenderer",get:function(){return this._silhouetteRenderer||(this._silhouetteRenderer=new $l(this._scene)),this._silhouetteRenderer}},{key:"_destroy",value:function(){this._colorRenderer&&this._colorRenderer.destroy(),this._silhouetteRenderer&&this._silhouetteRenderer.destroy()}}]),e}(),tu={};var nu=P((function e(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:5e6;b(this,e),t>5e6&&(t=5e6),this.maxVerts=t,this.maxIndices=3*t,this.positions=[],this.colors=[],this.offsets=[],this.indices=[]}));$.vec4([0,0,0,1]),$.vec4([0,0,0,1]),$.vec4([0,0,0,1]),$.OBB3();var ru=function(){function e(t){var n,r,i;b(this,e),this.layerIndex=t.layerIndex,this._batchingRenderers=(n=t.model.scene,r=n.id,(i=tu[r])||(i=new eu(n),tu[r]=i,i._compile(),n.on("compile",(function(){i._compile()})),n.on("destroyed",(function(){delete tu[r],i._destroy()}))),i),this.model=t.model,this._buffer=new nu(t.maxGeometryBatchSize),this._scratchMemory=t.scratchMemory,this._state=new Wt({positionsBuf:null,offsetsBuf:null,colorsBuf:null,flagsBuf:null,indicesBuf:null,positionsDecodeMatrix:$.mat4(),origin:null}),this._numPortions=0,this._numVisibleLayerPortions=0,this._numTransparentLayerPortions=0,this._numXRayedLayerPortions=0,this._numSelectedLayerPortions=0,this._numHighlightedLayerPortions=0,this._numClippableLayerPortions=0,this._numEdgesLayerPortions=0,this._numPickableLayerPortions=0,this._numCulledLayerPortions=0,this._modelAABB=$.collapseAABB3(),this._portions=[],this._numVerts=0,this._finalized=!1,t.positionsDecodeMatrix?(this._state.positionsDecodeMatrix.set(t.positionsDecodeMatrix),this._preCompressedPositionsExpected=!0):this._preCompressedPositionsExpected=!1,t.origin&&(this._state.origin=$.vec3(t.origin)),this.aabb=$.collapseAABB3()}return P(e,[{key:"canCreatePortion",value:function(e,t){if(this._finalized)throw"Already finalized";return this._buffer.positions.length+e<3*this._buffer.maxVerts&&this._buffer.indices.length+t0)if(this._preCompressedPositionsExpected){var r=new Uint16Array(n.positions);e.positionsBuf=new Dt(t,t.ARRAY_BUFFER,r,n.positions.length,3,t.STATIC_DRAW)}else{var i=So(new Float32Array(n.positions),this._modelAABB,e.positionsDecodeMatrix);e.positionsBuf=new Dt(t,t.ARRAY_BUFFER,i,n.positions.length,3,t.STATIC_DRAW)}if(n.colors.length>0){var a=new Uint8Array(n.colors);e.colorsBuf=new Dt(t,t.ARRAY_BUFFER,a,n.colors.length,4,t.DYNAMIC_DRAW,!1)}if(n.colors.length>0){var s=n.colors.length/4,o=new Float32Array(s);e.flagsBuf=new Dt(t,t.ARRAY_BUFFER,o,o.length,1,t.DYNAMIC_DRAW,!1)}if(this.model.scene.entityOffsetsEnabled&&n.offsets.length>0){var l=new Float32Array(n.offsets);e.offsetsBuf=new Dt(t,t.ARRAY_BUFFER,l,n.offsets.length,3,t.DYNAMIC_DRAW)}if(n.indices.length>0){var u=new Uint32Array(n.indices);e.indicesBuf=new Dt(t,t.ELEMENT_ARRAY_BUFFER,u,n.indices.length,1,t.STATIC_DRAW)}this._buffer=null,this._finalized=!0}}},{key:"initFlags",value:function(e,t,n){t&Me&&(this._numVisibleLayerPortions++,this.model.numVisibleLayerPortions++),t&ke&&(this._numHighlightedLayerPortions++,this.model.numHighlightedLayerPortions++),t&Ge&&(this._numXRayedLayerPortions++,this.model.numXRayedLayerPortions++),t&je&&(this._numSelectedLayerPortions++,this.model.numSelectedLayerPortions++),t&He&&(this._numClippableLayerPortions++,this.model.numClippableLayerPortions++),t&Ve&&(this._numEdgesLayerPortions++,this.model.numEdgesLayerPortions++),t&Fe&&(this._numPickableLayerPortions++,this.model.numPickableLayerPortions++),t&xe&&(this._numCulledLayerPortions++,this.model.numCulledLayerPortions++),n&&(this._numTransparentLayerPortions++,this.model.numTransparentLayerPortions++);this._setFlags(e,t,n,!0)}},{key:"flushInitFlags",value:function(){this._setDeferredFlags()}},{key:"setVisible",value:function(e,t,n){if(!this._finalized)throw"Not finalized";t&Me?(this._numVisibleLayerPortions++,this.model.numVisibleLayerPortions++):(this._numVisibleLayerPortions--,this.model.numVisibleLayerPortions--),this._setFlags(e,t,n)}},{key:"setHighlighted",value:function(e,t,n){if(!this._finalized)throw"Not finalized";t&ke?(this._numHighlightedLayerPortions++,this.model.numHighlightedLayerPortions++):(this._numHighlightedLayerPortions--,this.model.numHighlightedLayerPortions--),this._setFlags(e,t,n)}},{key:"setXRayed",value:function(e,t,n){if(!this._finalized)throw"Not finalized";t&Ge?(this._numXRayedLayerPortions++,this.model.numXRayedLayerPortions++):(this._numXRayedLayerPortions--,this.model.numXRayedLayerPortions--),this._setFlags(e,t,n)}},{key:"setSelected",value:function(e,t,n){if(!this._finalized)throw"Not finalized";t&je?(this._numSelectedLayerPortions++,this.model.numSelectedLayerPortions++):(this._numSelectedLayerPortions--,this.model.numSelectedLayerPortions--),this._setFlags(e,t,n)}},{key:"setEdges",value:function(e,t,n){if(!this._finalized)throw"Not finalized";t&Ve?(this._numEdgesLayerPortions++,this.model.numEdgesLayerPortions++):(this._numEdgesLayerPortions--,this.model.numEdgesLayerPortions--),this._setFlags(e,t,n)}},{key:"setClippable",value:function(e,t){if(!this._finalized)throw"Not finalized";t&He?(this._numClippableLayerPortions++,this.model.numClippableLayerPortions++):(this._numClippableLayerPortions--,this.model.numClippableLayerPortions--),this._setFlags(e,t)}},{key:"setCulled",value:function(e,t,n){if(!this._finalized)throw"Not finalized";t&xe?(this._numCulledLayerPortions++,this.model.numCulledLayerPortions++):(this._numCulledLayerPortions--,this.model.numCulledLayerPortions--),this._setFlags(e,t,n)}},{key:"setCollidable",value:function(e,t){if(!this._finalized)throw"Not finalized"}},{key:"setPickable",value:function(e,t,n){if(!this._finalized)throw"Not finalized";t&Fe?(this._numPickableLayerPortions++,this.model.numPickableLayerPortions++):(this._numPickableLayerPortions--,this.model.numPickableLayerPortions--),this._setFlags(e,t,n)}},{key:"setColor",value:function(e,t){if(!this._finalized)throw"Not finalized";for(var n=2*e,r=4*this._portions[n],i=4*this._portions[n+1],a=this._scratchMemory.getUInt8Array(i),s=t[0],o=t[1],l=t[2],u=t[3],c=0;c3&&void 0!==arguments[3]&&arguments[3];if(!this._finalized)throw"Not finalized";var i,a,s=2*e,o=this._portions[s],l=this._portions[s+1],u=o,c=l,f=!!(t&Me),p=!!(t&Ge),A=!!(t&ke),d=!!(t&je),v=!!(t&Fe),h=!!(t&xe);i=!f||h||p||A&&!this.model.scene.highlightMaterial.glowThrough||d&&!this.model.scene.selectedMaterial.glowThrough?Xs.NOT_RENDERED:n?Xs.COLOR_TRANSPARENT:Xs.COLOR_OPAQUE,a=!f||h?Xs.NOT_RENDERED:d?Xs.SILHOUETTE_SELECTED:A?Xs.SILHOUETTE_HIGHLIGHTED:p?Xs.SILHOUETTE_XRAYED:Xs.NOT_RENDERED;var I=f&&!h&&v?Xs.PICK:Xs.NOT_RENDERED,y=t&He?1:0;if(r){this._deferredFlagValues||(this._deferredFlagValues=new Float32Array(this._numVerts));for(var m=u,w=u+c;m0,n=[];return n.push("#version 300 es"),n.push("// Lines instancing color vertex shader"),n.push("uniform int renderPass;"),n.push("in vec3 position;"),n.push("in vec4 color;"),n.push("in float flags;"),e.entityOffsetsEnabled&&n.push("in vec3 offset;"),n.push("in vec4 modelMatrixCol0;"),n.push("in vec4 modelMatrixCol1;"),n.push("in vec4 modelMatrixCol2;"),this._addMatricesUniformBlockLines(n),e.logarithmicDepthBufferEnabled&&(n.push("uniform float logDepthBufFC;"),n.push("out float vFragDepth;")),n.push("uniform vec4 lightAmbient;"),t&&(n.push("out vec4 vWorldPosition;"),n.push("out float vFlags;")),n.push("out vec4 vColor;"),n.push("void main(void) {"),n.push("int colorFlag = int(flags) & 0xF;"),n.push("if (colorFlag != renderPass) {"),n.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),n.push("} else {"),n.push("vec4 worldPosition = positionsDecodeMatrix * vec4(position, 1.0); "),n.push("worldPosition = worldMatrix * vec4(dot(worldPosition, modelMatrixCol0), dot(worldPosition, modelMatrixCol1), dot(worldPosition, modelMatrixCol2), 1.0);"),e.entityOffsetsEnabled&&n.push(" worldPosition.xyz = worldPosition.xyz + offset;"),n.push("vec4 viewPosition = viewMatrix * worldPosition; "),n.push("vColor = vec4(float(color.r) / 255.0, float(color.g) / 255.0, float(color.b) / 255.0, float(color.a) / 255.0);"),t&&(n.push("vWorldPosition = worldPosition;"),n.push("vFlags = flags;")),n.push("vec4 clipPos = projMatrix * viewPosition;"),e.logarithmicDepthBufferEnabled&&n.push("vFragDepth = 1.0 + clipPos.w;"),n.push("gl_Position = clipPos;"),n.push("}"),n.push("}"),n}},{key:"_buildFragmentShader",value:function(){var e,t,n=this._scene,r=n._sectionPlanesState,i=r.getNumAllocatedSectionPlanes()>0,a=[];if(a.push("#version 300 es"),a.push("// Lines instancing color fragment shader"),a.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),a.push("precision highp float;"),a.push("precision highp int;"),a.push("#else"),a.push("precision mediump float;"),a.push("precision mediump int;"),a.push("#endif"),n.logarithmicDepthBufferEnabled&&(a.push("uniform float logDepthBufFC;"),a.push("in float vFragDepth;")),i)for(a.push("in vec4 vWorldPosition;"),a.push("in float vFlags;"),e=0,t=r.getNumAllocatedSectionPlanes();e> 16 & 0xF) == 1;"),a.push(" if (clippable) {"),a.push(" float dist = 0.0;"),e=0,t=r.getNumAllocatedSectionPlanes();e 0.0) { discard; }"),a.push("}")}return this._withSAO?(a.push(" float viewportWidth = uSAOParams[0];"),a.push(" float viewportHeight = uSAOParams[1];"),a.push(" float blendCutoff = uSAOParams[2];"),a.push(" float blendFactor = uSAOParams[3];"),a.push(" vec2 uv = vec2(gl_FragCoord.x / viewportWidth, gl_FragCoord.y / viewportHeight);"),a.push(" float ambient = smoothstep(blendCutoff, 1.0, unpackRGBAToDepth(texture(uOcclusionTexture, uv))) * blendFactor;"),a.push(" outColor = vec4(vColor.rgb * ambient, vColor.a);")):a.push(" outColor = vColor;"),n.logarithmicDepthBufferEnabled&&a.push("gl_FragDepth = log2( vFragDepth ) * logDepthBufFC * 0.5;"),a.push("}"),a}}]),n}(),au=function(e){I(n,co);var t=m(n);function n(){return b(this,n),t.apply(this,arguments)}return P(n,[{key:"drawLayer",value:function(e,t,r){v(E(n.prototype),"drawLayer",this).call(this,e,t,r,{colorUniform:!0})}},{key:"_buildVertexShader",value:function(){var e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,n=[];return n.push("#version 300 es"),n.push("// Lines instancing silhouette vertex shader"),n.push("uniform int renderPass;"),n.push("in vec3 position;"),e.entityOffsetsEnabled&&n.push("in vec3 offset;"),n.push("in float flags;"),n.push("in vec4 modelMatrixCol0;"),n.push("in vec4 modelMatrixCol1;"),n.push("in vec4 modelMatrixCol2;"),this._addMatricesUniformBlockLines(n),e.logarithmicDepthBufferEnabled&&(n.push("uniform float logDepthBufFC;"),n.push("out float vFragDepth;")),n.push("uniform vec4 color;"),t&&(n.push("out vec4 vWorldPosition;"),n.push("out float vFlags;")),n.push("void main(void) {"),n.push("int silhouetteFlag = int(flags) >> 4 & 0xF;"),n.push("if (silhouetteFlag != renderPass) {"),n.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),n.push("} else {"),n.push("vec4 worldPosition = positionsDecodeMatrix * vec4(position, 1.0); "),n.push("worldPosition = worldMatrix * vec4(dot(worldPosition, modelMatrixCol0), dot(worldPosition, modelMatrixCol1), dot(worldPosition, modelMatrixCol2), 1.0);"),e.entityOffsetsEnabled&&n.push(" worldPosition.xyz = worldPosition.xyz + offset;"),n.push("vec4 viewPosition = viewMatrix * worldPosition; "),t&&(n.push("vWorldPosition = worldPosition;"),n.push("vFlags = flags;")),n.push("vec4 clipPos = projMatrix * viewPosition;"),e.logarithmicDepthBufferEnabled&&n.push("vFragDepth = 1.0 + clipPos.w;"),n.push("gl_Position = clipPos;"),n.push("}"),n.push("}"),n}},{key:"_buildFragmentShader",value:function(){var e=this._scene,t=e._sectionPlanesState,n=t.getNumAllocatedSectionPlanes()>0,r=[];if(r.push("#version 300 es"),r.push("// Lines instancing silhouette fragment shader"),r.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),r.push("precision highp float;"),r.push("precision highp int;"),r.push("#else"),r.push("precision mediump float;"),r.push("precision mediump int;"),r.push("#endif"),e.logarithmicDepthBufferEnabled&&(r.push("uniform float logDepthBufFC;"),r.push("in float vFragDepth;")),n){r.push("in vec4 vWorldPosition;"),r.push("in float vFlags;");for(var i=0,a=t.getNumAllocatedSectionPlanes();i> 16 & 0xF) == 1;"),r.push(" if (clippable) {"),r.push(" float dist = 0.0;");for(var s=0,o=t.getNumAllocatedSectionPlanes();s 0.0) { discard; }"),r.push("}")}return e.logarithmicDepthBufferEnabled&&r.push("gl_FragDepth = log2( vFragDepth ) * logDepthBufFC * 0.5;"),r.push("outColor = color;"),r.push("}"),r}}]),n}(),su=function(){function e(t){b(this,e),this._scene=t}return P(e,[{key:"_compile",value:function(){this._colorRenderer&&!this._colorRenderer.getValid()&&(this._colorRenderer.destroy(),this._colorRenderer=null),this._silhouetteRenderer&&!this._silhouetteRenderer.getValid()&&(this._silhouetteRenderer.destroy(),this._silhouetteRenderer=null)}},{key:"colorRenderer",get:function(){return this._colorRenderer||(this._colorRenderer=new iu(this._scene)),this._colorRenderer}},{key:"silhouetteRenderer",get:function(){return this._silhouetteRenderer||(this._silhouetteRenderer=new au(this._scene)),this._silhouetteRenderer}},{key:"_destroy",value:function(){this._colorRenderer&&this._colorRenderer.destroy(),this._silhouetteRenderer&&this._silhouetteRenderer.destroy()}}]),e}(),ou={};var lu=new Uint8Array(4),uu=new Float32Array(1);$.vec4([0,0,0,1]),$.vec4([0,0,0,1]),$.vec4([0,0,0,1]);var cu=new Float32Array(3),fu=new Float32Array(4),pu=function(){function e(t){var n,r,i;b(this,e),this.model=t.model,this.material=t.material,this.sortId="LinesInstancingLayer",this.layerIndex=t.layerIndex,this._linesInstancingRenderers=(n=t.model.scene,r=n.id,(i=ou[r])||(i=new su(n),ou[r]=i,i._compile(),n.on("compile",(function(){i._compile()})),n.on("destroyed",(function(){delete ou[r],i._destroy()}))),i),this._aabb=$.collapseAABB3(),this._state=new Wt({obb:$.OBB3(),numInstances:0,origin:null,geometry:t.geometry,positionsDecodeMatrix:t.geometry.positionsDecodeMatrix,positionsBuf:null,colorsBuf:null,flagsBuf:null,offsetsBuf:null,modelMatrixCol0Buf:null,modelMatrixCol1Buf:null,modelMatrixCol2Buf:null}),this._numPortions=0,this._numVisibleLayerPortions=0,this._numTransparentLayerPortions=0,this._numXRayedLayerPortions=0,this._numHighlightedLayerPortions=0,this._numSelectedLayerPortions=0,this._numClippableLayerPortions=0,this._numEdgesLayerPortions=0,this._numPickableLayerPortions=0,this._numCulledLayerPortions=0,this.numIndices=t.geometry.numIndices,this._colors=[],this._offsets=[],this._modelMatrixCol0=[],this._modelMatrixCol1=[],this._modelMatrixCol2=[],this._portions=[],t.origin&&(this._state.origin=$.vec3(t.origin)),this._finalized=!1}return P(e,[{key:"createPortion",value:function(e){var t=e.color,n=e.opacity,r=e.meshMatrix;if(this._finalized)throw"Already finalized";var i=t[0],a=t[1],s=t[2];t[3],this._colors.push(i),this._colors.push(a),this._colors.push(s),this._colors.push(n),this.model.scene.entityOffsetsEnabled&&(this._offsets.push(0),this._offsets.push(0),this._offsets.push(0)),this._modelMatrixCol0.push(r[0]),this._modelMatrixCol0.push(r[4]),this._modelMatrixCol0.push(r[8]),this._modelMatrixCol0.push(r[12]),this._modelMatrixCol1.push(r[1]),this._modelMatrixCol1.push(r[5]),this._modelMatrixCol1.push(r[9]),this._modelMatrixCol1.push(r[13]),this._modelMatrixCol2.push(r[2]),this._modelMatrixCol2.push(r[6]),this._modelMatrixCol2.push(r[10]),this._modelMatrixCol2.push(r[14]),this._state.numInstances++;var o=this._portions.length;return this._portions.push({}),this._numPortions++,this.model.numPortions++,o}},{key:"finalize",value:function(){if(this._finalized)throw"Already finalized";var e=this.model.scene.canvas.gl,t=this._colors.length,n=t/4;if(t>0){this._state.colorsBuf=new Dt(e,e.ARRAY_BUFFER,new Uint8Array(this._colors),this._colors.length,4,e.DYNAMIC_DRAW,!1),this._colors=[]}if(n>0){this._state.flagsBuf=new Dt(e,e.ARRAY_BUFFER,new Float32Array(n),n,1,e.DYNAMIC_DRAW,!1)}if(this.model.scene.entityOffsetsEnabled&&this._offsets.length>0){this._state.offsetsBuf=new Dt(e,e.ARRAY_BUFFER,new Float32Array(this._offsets),this._offsets.length,3,e.DYNAMIC_DRAW,!1),this._offsets=[]}if(this._modelMatrixCol0.length>0){var r=!1;this._state.modelMatrixCol0Buf=new Dt(e,e.ARRAY_BUFFER,new Float32Array(this._modelMatrixCol0),this._modelMatrixCol0.length,4,e.STATIC_DRAW,r),this._state.modelMatrixCol1Buf=new Dt(e,e.ARRAY_BUFFER,new Float32Array(this._modelMatrixCol1),this._modelMatrixCol1.length,4,e.STATIC_DRAW,r),this._state.modelMatrixCol2Buf=new Dt(e,e.ARRAY_BUFFER,new Float32Array(this._modelMatrixCol2),this._modelMatrixCol2.length,4,e.STATIC_DRAW,r),this._modelMatrixCol0=[],this._modelMatrixCol1=[],this._modelMatrixCol2=[]}this._state.geometry=null,this._finalized=!0}},{key:"initFlags",value:function(e,t,n){t&Me&&(this._numVisibleLayerPortions++,this.model.numVisibleLayerPortions++),t&ke&&(this._numHighlightedLayerPortions++,this.model.numHighlightedLayerPortions++),t&Ge&&(this._numXRayedLayerPortions++,this.model.numXRayedLayerPortions++),t&je&&(this._numSelectedLayerPortions++,this.model.numSelectedLayerPortions++),t&He&&(this._numClippableLayerPortions++,this.model.numClippableLayerPortions++),t&Ve&&(this._numEdgesLayerPortions++,this.model.numEdgesLayerPortions++),t&Fe&&(this._numPickableLayerPortions++,this.model.numPickableLayerPortions++),t&xe&&(this._numCulledLayerPortions++,this.model.numCulledLayerPortions++),n&&(this._numTransparentLayerPortions++,this.model.numTransparentLayerPortions++),this._setFlags(e,t,n)}},{key:"setVisible",value:function(e,t,n){if(!this._finalized)throw"Not finalized";t&Me?(this._numVisibleLayerPortions++,this.model.numVisibleLayerPortions++):(this._numVisibleLayerPortions--,this.model.numVisibleLayerPortions--),this._setFlags(e,t,n)}},{key:"setHighlighted",value:function(e,t,n){if(!this._finalized)throw"Not finalized";t&ke?(this._numHighlightedLayerPortions++,this.model.numHighlightedLayerPortions++):(this._numHighlightedLayerPortions--,this.model.numHighlightedLayerPortions--),this._setFlags(e,t,n)}},{key:"setXRayed",value:function(e,t,n){if(!this._finalized)throw"Not finalized";t&Ge?(this._numXRayedLayerPortions++,this.model.numXRayedLayerPortions++):(this._numXRayedLayerPortions--,this.model.numXRayedLayerPortions--),this._setFlags(e,t,n)}},{key:"setSelected",value:function(e,t,n){if(!this._finalized)throw"Not finalized";t&je?(this._numSelectedLayerPortions++,this.model.numSelectedLayerPortions++):(this._numSelectedLayerPortions--,this.model.numSelectedLayerPortions--),this._setFlags(e,t,n)}},{key:"setEdges",value:function(e,t,n){if(!this._finalized)throw"Not finalized";t&Ve?(this._numEdgesLayerPortions++,this.model.numEdgesLayerPortions++):(this._numEdgesLayerPortions--,this.model.numEdgesLayerPortions--),this._setFlags(e,t,n)}},{key:"setClippable",value:function(e,t){if(!this._finalized)throw"Not finalized";t&He?(this._numClippableLayerPortions++,this.model.numClippableLayerPortions++):(this._numClippableLayerPortions--,this.model.numClippableLayerPortions--),this._setFlags(e,t)}},{key:"setCollidable",value:function(e,t){if(!this._finalized)throw"Not finalized"}},{key:"setPickable",value:function(e,t,n){if(!this._finalized)throw"Not finalized";t&Fe?(this._numPickableLayerPortions++,this.model.numPickableLayerPortions++):(this._numPickableLayerPortions--,this.model.numPickableLayerPortions--),this._setFlags(e,t,n)}},{key:"setCulled",value:function(e,t,n){if(!this._finalized)throw"Not finalized";t&xe?(this._numCulledLayerPortions++,this.model.numCulledLayerPortions++):(this._numCulledLayerPortions--,this.model.numCulledLayerPortions--),this._setFlags(e,t,n)}},{key:"setColor",value:function(e,t){if(!this._finalized)throw"Not finalized";lu[0]=t[0],lu[1]=t[1],lu[2]=t[2],lu[3]=t[3],this._state.colorsBuf.setData(lu,4*e,4)}},{key:"setTransparent",value:function(e,t,n){n?(this._numTransparentLayerPortions++,this.model.numTransparentLayerPortions++):(this._numTransparentLayerPortions--,this.model.numTransparentLayerPortions--),this._setFlags(e,t,n)}},{key:"_setFlags",value:function(e,t,n){if(!this._finalized)throw"Not finalized";var r=!!(t&Me),i=!!(t&Ge),a=!!(t&ke),s=!!(t&je),o=!!(t&Ve),l=!!(t&Fe),u=!!(t&xe),c=0;c|=!r||u||i||a&&!this.model.scene.highlightMaterial.glowThrough||s&&!this.model.scene.selectedMaterial.glowThrough?Xs.NOT_RENDERED:n?Xs.COLOR_TRANSPARENT:Xs.COLOR_OPAQUE,c|=(!r||u?Xs.NOT_RENDERED:s?Xs.SILHOUETTE_SELECTED:a?Xs.SILHOUETTE_HIGHLIGHTED:i?Xs.SILHOUETTE_XRAYED:Xs.NOT_RENDERED)<<4,c|=(!r||u?Xs.NOT_RENDERED:s?Xs.EDGES_SELECTED:a?Xs.EDGES_HIGHLIGHTED:i?Xs.EDGES_XRAYED:o?n?Xs.EDGES_COLOR_TRANSPARENT:Xs.EDGES_COLOR_OPAQUE:Xs.NOT_RENDERED)<<8,c|=(r&&!u&&l?Xs.PICK:Xs.NOT_RENDERED)<<12,c|=(t&He?255:0)<<16,uu[0]=c,this._state.flagsBuf.setData(uu,e)}},{key:"setOffset",value:function(e,t){if(!this._finalized)throw"Not finalized";this.model.scene.entityOffsetsEnabled?(cu[0]=t[0],cu[1]=t[1],cu[2]=t[2],this._state.offsetsBuf.setData(cu,3*e,3)):this.model.error("Entity#offset not enabled for this Viewer")}},{key:"setMatrix",value:function(e,t){if(!this._finalized)throw"Not finalized";var n=4*e;fu[0]=t[0],fu[1]=t[4],fu[2]=t[8],fu[3]=t[12],this._state.modelMatrixCol0Buf.setData(fu,n),fu[0]=t[1],fu[1]=t[5],fu[2]=t[9],fu[3]=t[13],this._state.modelMatrixCol1Buf.setData(fu,n),fu[0]=t[2],fu[1]=t[6],fu[2]=t[10],fu[3]=t[14],this._state.modelMatrixCol2Buf.setData(fu,n)}},{key:"drawColorOpaque",value:function(e,t){this._numCulledLayerPortions!==this._numPortions&&0!==this._numVisibleLayerPortions&&this._numTransparentLayerPortions!==this._numPortions&&this._numXRayedLayerPortions!==this._numPortions&&this._linesInstancingRenderers.colorRenderer&&this._linesInstancingRenderers.colorRenderer.drawLayer(t,this,Xs.COLOR_OPAQUE)}},{key:"drawColorTransparent",value:function(e,t){this._numCulledLayerPortions!==this._numPortions&&0!==this._numVisibleLayerPortions&&0!==this._numTransparentLayerPortions&&this._numXRayedLayerPortions!==this._numPortions&&this._linesInstancingRenderers.colorRenderer&&this._linesInstancingRenderers.colorRenderer.drawLayer(t,this,Xs.COLOR_TRANSPARENT)}},{key:"drawDepth",value:function(e,t){}},{key:"drawNormals",value:function(e,t){}},{key:"drawSilhouetteXRayed",value:function(e,t){this._numCulledLayerPortions!==this._numPortions&&0!==this._numVisibleLayerPortions&&0!==this._numXRayedLayerPortions&&this._linesInstancingRenderers.silhouetteRenderer&&this._linesInstancingRenderers.silhouetteRenderer.drawLayer(t,this,Xs.SILHOUETTE_XRAYED)}},{key:"drawSilhouetteHighlighted",value:function(e,t){this._numCulledLayerPortions!==this._numPortions&&0!==this._numVisibleLayerPortions&&0!==this._numHighlightedLayerPortions&&this._linesInstancingRenderers.silhouetteRenderer&&this._linesInstancingRenderers.silhouetteRenderer.drawLayer(t,this,Xs.SILHOUETTE_HIGHLIGHTED)}},{key:"drawSilhouetteSelected",value:function(e,t){this._numCulledLayerPortions!==this._numPortions&&0!==this._numVisibleLayerPortions&&0!==this._numSelectedLayerPortions&&this._linesInstancingRenderers.silhouetteRenderer&&this._linesInstancingRenderers.silhouetteRenderer.drawLayer(t,this,Xs.SILHOUETTE_SELECTED)}},{key:"drawEdgesColorOpaque",value:function(e,t){}},{key:"drawEdgesColorTransparent",value:function(e,t){}},{key:"drawEdgesXRayed",value:function(e,t){}},{key:"drawEdgesHighlighted",value:function(e,t){}},{key:"drawEdgesSelected",value:function(e,t){}},{key:"drawOcclusion",value:function(e,t){}},{key:"drawShadow",value:function(e,t){}},{key:"drawPickMesh",value:function(e,t){}},{key:"drawPickDepths",value:function(e,t){}},{key:"drawPickNormals",value:function(e,t){}},{key:"destroy",value:function(){var e=this._state;e.positionsBuf&&(e.positionsBuf.destroy(),e.positionsBuf=null),e.colorsBuf&&(e.colorsBuf.destroy(),e.colorsBuf=null),e.flagsBuf&&(e.flagsBuf.destroy(),e.flagsBuf=null),e.offsetsBuf&&(e.offsetsBuf.destroy(),e.offsetsBuf=null),e.modelMatrixCol0Buf&&(e.modelMatrixCol0Buf.destroy(),e.modelMatrixCol0Buf=null),e.modelMatrixCol1Buf&&(e.modelMatrixCol1Buf.destroy(),e.modelMatrixCol1Buf=null),e.modelMatrixCol2Buf&&(e.modelMatrixCol2Buf.destroy(),e.modelMatrixCol2Buf=null),e.destroy()}}]),e}(),Au=function(e){I(n,oo);var t=m(n);function n(){return b(this,n),t.apply(this,arguments)}return P(n,[{key:"_getHash",value:function(){return this._scene._sectionPlanesState.getHash()+this._scene.pointsMaterial.hash}},{key:"drawLayer",value:function(e,t,r){v(E(n.prototype),"drawLayer",this).call(this,e,t,r,{incrementDrawState:!0})}},{key:"_buildVertexShader",value:function(){var e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,n=e.pointsMaterial,r=[];return r.push("#version 300 es"),r.push("// Points batching color vertex shader"),r.push("uniform int renderPass;"),r.push("in vec3 position;"),r.push("in vec4 color;"),r.push("in float flags;"),e.entityOffsetsEnabled&&r.push("in vec3 offset;"),this._addMatricesUniformBlockLines(r),r.push("uniform float pointSize;"),n.perspectivePoints&&r.push("uniform float nearPlaneHeight;"),n.filterIntensity&&r.push("uniform vec2 intensityRange;"),e.logarithmicDepthBufferEnabled&&(r.push("uniform float logDepthBufFC;"),r.push("out float vFragDepth;")),t&&(r.push("out vec4 vWorldPosition;"),r.push("out float vFlags;")),r.push("out vec4 vColor;"),r.push("void main(void) {"),r.push("int colorFlag = int(flags) & 0xF;"),r.push("if (colorFlag != renderPass) {"),r.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),r.push("} else {"),n.filterIntensity&&(r.push("float intensity = float(color.a) / 255.0;"),r.push("if (intensity < intensityRange[0] || intensity > intensityRange[1]) {"),r.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),r.push("} else {")),r.push("vec4 worldPosition = worldMatrix * (positionsDecodeMatrix * vec4(position, 1.0)); "),e.entityOffsetsEnabled&&r.push("worldPosition.xyz = worldPosition.xyz + offset;"),r.push("vec4 viewPosition = viewMatrix * worldPosition; "),r.push("vColor = vec4(float(color.r) / 255.0, float(color.g) / 255.0, float(color.b) / 255.0, 1.0);"),t&&(r.push("vWorldPosition = worldPosition;"),r.push("vFlags = flags;")),r.push("vec4 clipPos = projMatrix * viewPosition;"),e.logarithmicDepthBufferEnabled&&r.push("vFragDepth = 1.0 + clipPos.w;"),r.push("gl_Position = clipPos;"),n.perspectivePoints?(r.push("gl_PointSize = (nearPlaneHeight * pointSize) / clipPos.w;"),r.push("gl_PointSize = max(gl_PointSize, "+Math.floor(n.minPerspectivePointSize)+".0);"),r.push("gl_PointSize = min(gl_PointSize, "+Math.floor(n.maxPerspectivePointSize)+".0);")):r.push("gl_PointSize = pointSize;"),r.push("}"),n.filterIntensity&&r.push("}"),r.push("}"),r}},{key:"_buildFragmentShader",value:function(){var e=this._scene,t=e._sectionPlanesState,n=t.getNumAllocatedSectionPlanes()>0,r=[];if(r.push("#version 300 es"),r.push("// Points batching color fragment shader"),r.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),r.push("precision highp float;"),r.push("precision highp int;"),r.push("#else"),r.push("precision mediump float;"),r.push("precision mediump int;"),r.push("#endif"),e.logarithmicDepthBufferEnabled&&(r.push("uniform float logDepthBufFC;"),r.push("in float vFragDepth;")),n){r.push("in vec4 vWorldPosition;"),r.push("in float vFlags;");for(var i=0,a=t.getNumAllocatedSectionPlanes();i 1.0) {"),r.push(" discard;"),r.push(" }")),n){r.push(" bool clippable = (int(vFlags) >> 16 & 0xF) == 1;"),r.push(" if (clippable) {"),r.push(" float dist = 0.0;");for(var s=0,o=t.getNumAllocatedSectionPlanes();s 0.0) { discard; }"),r.push("}")}return r.push(" outColor = vColor;"),e.logarithmicDepthBufferEnabled&&r.push("gl_FragDepth = log2( vFragDepth ) * logDepthBufFC * 0.5;"),r.push("}"),r}}]),n}(),du=function(e){I(n,oo);var t=m(n);function n(){return b(this,n),t.apply(this,arguments)}return P(n,[{key:"_getHash",value:function(){return this._scene._sectionPlanesState.getHash()+this._scene.pointsMaterial.hash}},{key:"drawLayer",value:function(e,t,r){v(E(n.prototype),"drawLayer",this).call(this,e,t,r,{colorUniform:!0})}},{key:"_buildVertexShader",value:function(){var e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,n=e.pointsMaterial._state,r=[];return r.push("#version 300 es"),r.push("// Points batching silhouette vertex shader"),r.push("uniform int renderPass;"),r.push("in vec3 position;"),e.entityOffsetsEnabled&&r.push("in vec3 offset;"),r.push("in float flags;"),this._addMatricesUniformBlockLines(r),r.push("uniform vec4 color;"),r.push("uniform float pointSize;"),n.perspectivePoints&&r.push("uniform float nearPlaneHeight;"),e.logarithmicDepthBufferEnabled&&(r.push("uniform float logDepthBufFC;"),r.push("out float vFragDepth;")),t&&(r.push("out vec4 vWorldPosition;"),r.push("out float vFlags;")),r.push("void main(void) {"),r.push("int silhouetteFlag = int(flags) >> 4 & 0xF;"),r.push("if (silhouetteFlag != renderPass) {"),r.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),r.push("} else {"),r.push(" vec4 worldPosition = worldMatrix * (positionsDecodeMatrix * vec4(position, 1.0)); "),e.entityOffsetsEnabled&&r.push(" worldPosition.xyz = worldPosition.xyz + offset;"),r.push("vec4 viewPosition = viewMatrix * worldPosition; "),t&&(r.push("vWorldPosition = worldPosition;"),r.push("vFlags = flags;")),r.push("vec4 clipPos = projMatrix * viewPosition;"),e.logarithmicDepthBufferEnabled&&r.push("vFragDepth = 1.0 + clipPos.w;"),r.push("gl_Position = clipPos;"),n.perspectivePoints?(r.push("gl_PointSize = (nearPlaneHeight * pointSize) / clipPos.w;"),r.push("gl_PointSize = max(gl_PointSize, "+Math.floor(n.minPerspectivePointSize)+".0);"),r.push("gl_PointSize = min(gl_PointSize, "+Math.floor(n.maxPerspectivePointSize)+".0);")):r.push("gl_PointSize = pointSize;"),r.push("}"),r.push("}"),r}},{key:"_buildFragmentShader",value:function(){var e,t,n=this._scene,r=n._sectionPlanesState,i=r.getNumAllocatedSectionPlanes()>0,a=[];if(a.push("#version 300 es"),a.push("// Points batching silhouette vertex shader"),a.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),a.push("precision highp float;"),a.push("precision highp int;"),a.push("#else"),a.push("precision mediump float;"),a.push("precision mediump int;"),a.push("#endif"),n.logarithmicDepthBufferEnabled&&(a.push("uniform float logDepthBufFC;"),a.push("in float vFragDepth;")),i)for(a.push("in vec4 vWorldPosition;"),a.push("in float vFlags;"),e=0,t=r.getNumAllocatedSectionPlanes();e 1.0) {"),a.push(" discard;"),a.push(" }")),i){for(a.push(" bool clippable = (int(vFlags) >> 16 & 0xF) == 1;"),a.push(" if (clippable) {"),a.push(" float dist = 0.0;"),e=0,t=r.getNumAllocatedSectionPlanes();e 0.0) { discard; }"),a.push("}")}return n.logarithmicDepthBufferEnabled&&a.push("gl_FragDepth = log2( vFragDepth ) * logDepthBufFC * 0.5;"),a.push("outColor = color;"),a.push("}"),a}}]),n}(),vu=function(e){I(n,oo);var t=m(n);function n(){return b(this,n),t.apply(this,arguments)}return P(n,[{key:"_getHash",value:function(){return this._scene._sectionPlanesState.getHash()+this._scene.pointsMaterial.hash}},{key:"_buildVertexShader",value:function(){var e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,n=e.pointsMaterial._state,r=[];return r.push("#version 300 es"),r.push("// Points batching pick mesh vertex shader"),r.push("uniform int renderPass;"),r.push("in vec3 position;"),e.entityOffsetsEnabled&&r.push("in vec3 offset;"),r.push("in float flags;"),r.push("in vec4 pickColor;"),r.push("uniform bool pickInvisible;"),this._addMatricesUniformBlockLines(r),this._addRemapClipPosLines(r),r.push("uniform float pointSize;"),n.perspectivePoints&&r.push("uniform float nearPlaneHeight;"),e.logarithmicDepthBufferEnabled&&(r.push("uniform float logDepthBufFC;"),r.push("out float vFragDepth;")),t&&(r.push("out vec4 vWorldPosition;"),r.push("out float vFlags;")),r.push("out vec4 vPickColor;"),r.push("void main(void) {"),r.push("int pickFlag = int(flags) >> 12 & 0xF;"),r.push("if (pickFlag != renderPass) {"),r.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),r.push(" } else {"),r.push(" vec4 worldPosition = worldMatrix * (positionsDecodeMatrix * vec4(position, 1.0)); "),e.entityOffsetsEnabled&&r.push(" worldPosition.xyz = worldPosition.xyz + offset;"),r.push(" vec4 viewPosition = viewMatrix * worldPosition; "),r.push(" vPickColor = vec4(float(pickColor.r) / 255.0, float(pickColor.g) / 255.0, float(pickColor.b) / 255.0, float(pickColor.a) / 255.0);"),t&&(r.push(" vWorldPosition = worldPosition;"),r.push(" vFlags = flags;")),r.push("vec4 clipPos = projMatrix * viewPosition;"),e.logarithmicDepthBufferEnabled&&r.push("vFragDepth = 1.0 + clipPos.w;"),r.push("gl_Position = remapClipPos(clipPos);"),n.perspectivePoints?(r.push("gl_PointSize = (nearPlaneHeight * pointSize) / clipPos.w;"),r.push("gl_PointSize = max(gl_PointSize, "+Math.floor(n.minPerspectivePointSize)+".0);"),r.push("gl_PointSize = min(gl_PointSize, "+Math.floor(n.maxPerspectivePointSize)+".0);")):r.push("gl_PointSize = pointSize;"),r.push("gl_PointSize += 10.0;"),r.push(" }"),r.push("}"),r}},{key:"_buildFragmentShader",value:function(){var e=this._scene,t=e._sectionPlanesState,n=t.getNumAllocatedSectionPlanes()>0,r=[];if(r.push("#version 300 es"),r.push("// Points batching pick mesh vertex shader"),r.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),r.push("precision highp float;"),r.push("precision highp int;"),r.push("#else"),r.push("precision mediump float;"),r.push("precision mediump int;"),r.push("#endif"),e.logarithmicDepthBufferEnabled&&(r.push("uniform float logDepthBufFC;"),r.push("in float vFragDepth;")),n){r.push("in vec4 vWorldPosition;"),r.push("in float vFlags;");for(var i=0;i 1.0) {"),r.push(" discard;"),r.push(" }")),n){r.push(" bool clippable = (int(vFlags) >> 16 & 0xF) == 1;"),r.push(" if (clippable) {"),r.push(" float dist = 0.0;");for(var a=0;a 0.0) { discard; }"),r.push(" }")}return e.logarithmicDepthBufferEnabled&&r.push("gl_FragDepth = log2( vFragDepth ) * logDepthBufFC * 0.5;"),r.push(" outColor = vPickColor; "),r.push("}"),r}}]),n}(),hu=function(e){I(n,oo);var t=m(n);function n(){return b(this,n),t.apply(this,arguments)}return P(n,[{key:"_getHash",value:function(){return this._scene._sectionPlanesState.getHash()+this._scene.pointsMaterial.hash}},{key:"_buildVertexShader",value:function(){var e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,n=e.pointsMaterial._state,r=[];return r.push("#version 300 es"),r.push("// Points batched pick depth vertex shader"),r.push("uniform int renderPass;"),r.push("in vec3 position;"),e.entityOffsetsEnabled&&r.push("in vec3 offset;"),r.push("in float flags;"),r.push("uniform bool pickInvisible;"),this._addMatricesUniformBlockLines(r),this._addRemapClipPosLines(r),r.push("uniform float pointSize;"),n.perspectivePoints&&r.push("uniform float nearPlaneHeight;"),e.logarithmicDepthBufferEnabled&&(r.push("uniform float logDepthBufFC;"),r.push("out float vFragDepth;")),t&&(r.push("out vec4 vWorldPosition;"),r.push("out float vFlags;")),r.push("out vec4 vViewPosition;"),r.push("void main(void) {"),r.push("int pickFlag = int(flags) >> 12 & 0xF;"),r.push("if (pickFlag != renderPass) {"),r.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),r.push(" } else {"),r.push(" vec4 worldPosition = worldMatrix * (positionsDecodeMatrix * vec4(position, 1.0)); "),e.entityOffsetsEnabled&&r.push(" worldPosition.xyz = worldPosition.xyz + offset;"),r.push(" vec4 viewPosition = viewMatrix * worldPosition; "),t&&(r.push(" vWorldPosition = worldPosition;"),r.push(" vFlags = flags;")),r.push("vViewPosition = viewPosition;"),r.push("vec4 clipPos = projMatrix * viewPosition;"),e.logarithmicDepthBufferEnabled&&r.push("vFragDepth = 1.0 + clipPos.w;"),r.push("gl_Position = remapClipPos(clipPos);"),n.perspectivePoints?(r.push("gl_PointSize = (nearPlaneHeight * pointSize) / clipPos.w;"),r.push("gl_PointSize = max(gl_PointSize, "+Math.floor(n.minPerspectivePointSize)+".0);"),r.push("gl_PointSize = min(gl_PointSize, "+Math.floor(n.maxPerspectivePointSize)+".0);")):r.push("gl_PointSize = pointSize;"),r.push("gl_PointSize += 10.0;"),r.push(" }"),r.push("}"),r}},{key:"_buildFragmentShader",value:function(){var e=this._scene,t=e._sectionPlanesState,n=t.getNumAllocatedSectionPlanes()>0,r=[];if(r.push("#version 300 es"),r.push("// Points batched pick depth fragment shader"),r.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),r.push("precision highp float;"),r.push("precision highp int;"),r.push("#else"),r.push("precision mediump float;"),r.push("precision mediump int;"),r.push("#endif"),e.logarithmicDepthBufferEnabled&&(r.push("uniform float logDepthBufFC;"),r.push("in float vFragDepth;")),r.push("uniform float pickZNear;"),r.push("uniform float pickZFar;"),n){r.push("in vec4 vWorldPosition;"),r.push("in float vFlags;");for(var i=0;i 1.0) {"),r.push(" discard;"),r.push(" }")),n){r.push(" bool clippable = (int(vFlags) >> 16 & 0xF) == 1;"),r.push(" if (clippable) {"),r.push(" float dist = 0.0;");for(var a=0;a 0.0) { discard; }"),r.push(" }")}return e.logarithmicDepthBufferEnabled&&r.push("gl_FragDepth = log2( vFragDepth ) * logDepthBufFC * 0.5;"),r.push(" float zNormalizedDepth = abs((pickZNear + vViewPosition.z) / (pickZFar - pickZNear));"),r.push(" outColor = packDepth(zNormalizedDepth); "),r.push("}"),r}}]),n}(),Iu=function(e){I(n,oo);var t=m(n);function n(){return b(this,n),t.apply(this,arguments)}return P(n,[{key:"_getHash",value:function(){return this._scene._sectionPlanesState.getHash()+this._scene.pointsMaterial.hash}},{key:"_buildVertexShader",value:function(){var e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,n=e.pointsMaterial._state,r=[];return r.push("#version 300 es"),r.push("// Points batching occlusion vertex shader"),r.push("uniform int renderPass;"),r.push("in vec3 position;"),e.entityOffsetsEnabled&&r.push("in vec3 offset;"),r.push("in float flags;"),this._addMatricesUniformBlockLines(r),r.push("uniform float pointSize;"),n.perspectivePoints&&r.push("uniform float nearPlaneHeight;"),e.logarithmicDepthBufferEnabled&&(r.push("uniform float logDepthBufFC;"),r.push("out float vFragDepth;")),t&&(r.push("out vec4 vWorldPosition;"),r.push("out float vFlags;")),r.push("void main(void) {"),r.push("int colorFlag = int(flags) & 0xF;"),r.push("if (colorFlag != renderPass) {"),r.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),r.push(" } else {"),r.push(" vec4 worldPosition = worldMatrix * (positionsDecodeMatrix * vec4(position, 1.0)); "),e.entityOffsetsEnabled&&r.push(" worldPosition.xyz = worldPosition.xyz + offset;"),r.push(" vec4 viewPosition = viewMatrix * worldPosition; "),t&&(r.push(" vWorldPosition = worldPosition;"),r.push(" vFlags = flags;")),r.push("vec4 clipPos = projMatrix * viewPosition;"),e.logarithmicDepthBufferEnabled&&r.push("vFragDepth = 1.0 + clipPos.w;"),r.push(" gl_Position = clipPos;"),n.perspectivePoints?(r.push("gl_PointSize = (nearPlaneHeight * pointSize) / clipPos.w;"),r.push("gl_PointSize = max(gl_PointSize, "+Math.floor(n.minPerspectivePointSize)+".0);"),r.push("gl_PointSize = min(gl_PointSize, "+Math.floor(n.maxPerspectivePointSize)+".0);")):r.push("gl_PointSize = pointSize;"),r.push(" }"),r.push("}"),r}},{key:"_buildFragmentShader",value:function(){var e=this._scene,t=e._sectionPlanesState,n=t.getNumAllocatedSectionPlanes()>0,r=[];if(r.push("#version 300 es"),r.push("// Points batching occlusion fragment shader"),r.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),r.push("precision highp float;"),r.push("precision highp int;"),r.push("#else"),r.push("precision mediump float;"),r.push("precision mediump int;"),r.push("#endif"),e.logarithmicDepthBufferEnabled&&(r.push("uniform float logDepthBufFC;"),r.push("in float vFragDepth;")),n){r.push("in vec4 vWorldPosition;"),r.push("in float vFlags;");for(var i=0;i 1.0) {"),r.push(" discard;"),r.push(" }")),n){r.push(" bool clippable = (int(vFlags) >> 16 & 0xF) == 1;"),r.push(" if (clippable) {"),r.push(" float dist = 0.0;");for(var a=0;a 0.0) { discard; }"),r.push(" }")}return e.logarithmicDepthBufferEnabled&&r.push("gl_FragDepth = log2( vFragDepth ) * logDepthBufFC * 0.5;"),r.push(" outColor = vec4(0.0, 0.0, 1.0, 1.0); "),r.push("}"),r}}]),n}(),yu=function(){function e(t){b(this,e),this._scene=t}return P(e,[{key:"_compile",value:function(){this._colorRenderer&&!this._colorRenderer.getValid()&&(this._colorRenderer.destroy(),this._colorRenderer=null),this._silhouetteRenderer&&!this._silhouetteRenderer.getValid()&&(this._silhouetteRenderer.destroy(),this._silhouetteRenderer=null),this._pickMeshRenderer&&!this._pickMeshRenderer.getValid()&&(this._pickMeshRenderer.destroy(),this._pickMeshRenderer=null),this._pickDepthRenderer&&!this._pickDepthRenderer.getValid()&&(this._pickDepthRenderer.destroy(),this._pickDepthRenderer=null),this._occlusionRenderer&&!1===this._occlusionRenderer.getValid()&&(this._occlusionRenderer.destroy(),this._occlusionRenderer=null)}},{key:"colorRenderer",get:function(){return this._colorRenderer||(this._colorRenderer=new Au(this._scene)),this._colorRenderer}},{key:"silhouetteRenderer",get:function(){return this._silhouetteRenderer||(this._silhouetteRenderer=new du(this._scene)),this._silhouetteRenderer}},{key:"pickMeshRenderer",get:function(){return this._pickMeshRenderer||(this._pickMeshRenderer=new vu(this._scene)),this._pickMeshRenderer}},{key:"pickDepthRenderer",get:function(){return this._pickDepthRenderer||(this._pickDepthRenderer=new hu(this._scene)),this._pickDepthRenderer}},{key:"occlusionRenderer",get:function(){return this._occlusionRenderer||(this._occlusionRenderer=new Iu(this._scene)),this._occlusionRenderer}},{key:"_destroy",value:function(){this._colorRenderer&&this._colorRenderer.destroy(),this._silhouetteRenderer&&this._silhouetteRenderer.destroy(),this._pickMeshRenderer&&this._pickMeshRenderer.destroy(),this._pickDepthRenderer&&this._pickDepthRenderer.destroy(),this._occlusionRenderer&&this._occlusionRenderer.destroy()}}]),e}(),mu={};var wu=P((function e(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:5e6;b(this,e),t>5e6&&(t=5e6),this.maxVerts=t,this.maxIndices=3*t,this.positions=[],this.colors=[],this.intensities=[],this.pickColors=[],this.offsets=[]}));$.vec4(),$.vec4(),$.vec4([0,0,0,1]),$.vec4([0,0,0,1]),$.vec4([0,0,0,1]),$.OBB3();var gu=function(){function e(t){b(this,e),this.model=t.model,this.sortId="PointsBatchingLayer",this.layerIndex=t.layerIndex,this._pointsBatchingRenderers=function(e){var t=e.id,n=mu[t];return n||(n=new yu(e),mu[t]=n,n._compile(),e.on("compile",(function(){n._compile()})),e.on("destroyed",(function(){delete mu[t],n._destroy()}))),n}(t.model.scene),this._buffer=new wu(t.maxGeometryBatchSize),this._scratchMemory=t.scratchMemory,this._state=new Wt({positionsBuf:null,offsetsBuf:null,colorsBuf:null,flagsBuf:null,positionsDecodeMatrix:$.mat4(),origin:null}),this._numPortions=0,this._numVisibleLayerPortions=0,this._numTransparentLayerPortions=0,this._numXRayedLayerPortions=0,this._numSelectedLayerPortions=0,this._numHighlightedLayerPortions=0,this._numClippableLayerPortions=0,this._numPickableLayerPortions=0,this._numCulledLayerPortions=0,this._modelAABB=$.collapseAABB3(),this._portions=[],this._finalized=!1,t.positionsDecodeMatrix?(this._state.positionsDecodeMatrix.set(t.positionsDecodeMatrix),this._preCompressedPositionsExpected=!0):this._preCompressedPositionsExpected=!1,t.origin&&(this._state.origin=$.vec3(t.origin)),this.aabb=$.collapseAABB3()}return P(e,[{key:"canCreatePortion",value:function(e){if(this._finalized)throw"Already finalized";return this._buffer.positions.length+e<3*this._buffer.maxVerts}},{key:"createPortion",value:function(e){if(this._finalized)throw"Already finalized";var t,n=e.positions,r=e.positionsCompressed,i=e.color,a=e.colorsCompressed,s=e.colors,o=e.pickColor,l=this._buffer,u=l.positions.length/3;if($.expandAABB3(this._modelAABB,e.aabb),this._preCompressedPositionsExpected){if(!r)throw"positionsCompressed expected";for(var c=0,f=r.length;c0)if(this._preCompressedPositionsExpected){var r=new Uint16Array(n.positions);e.positionsBuf=new Dt(t,t.ARRAY_BUFFER,r,n.positions.length,3,t.STATIC_DRAW)}else{var i=So(new Float32Array(n.positions),this._modelAABB,e.positionsDecodeMatrix);e.positionsBuf=new Dt(t,t.ARRAY_BUFFER,i,n.positions.length,3,t.STATIC_DRAW)}if(n.colors.length>0){var a=new Uint8Array(n.colors);e.colorsBuf=new Dt(t,t.ARRAY_BUFFER,a,n.colors.length,4,t.STATIC_DRAW,!1)}if(n.positions.length>0){var s=n.positions.length/3,o=new Float32Array(s);e.flagsBuf=new Dt(t,t.ARRAY_BUFFER,o,o.length,1,t.DYNAMIC_DRAW,!1)}if(n.pickColors.length>0){var l=new Uint8Array(n.pickColors);e.pickColorsBuf=new Dt(t,t.ARRAY_BUFFER,l,n.pickColors.length,4,t.STATIC_DRAW,!1)}if(this.model.scene.entityOffsetsEnabled&&n.offsets.length>0){var u=new Float32Array(n.offsets);e.offsetsBuf=new Dt(t,t.ARRAY_BUFFER,u,n.offsets.length,3,t.DYNAMIC_DRAW)}this._buffer=null,this._finalized=!0}}},{key:"initFlags",value:function(e,t,n){t&Me&&(this._numVisibleLayerPortions++,this.model.numVisibleLayerPortions++),t&ke&&(this._numHighlightedLayerPortions++,this.model.numHighlightedLayerPortions++),t&Ge&&(this._numXRayedLayerPortions++,this.model.numXRayedLayerPortions++),t&je&&(this._numSelectedLayerPortions++,this.model.numSelectedLayerPortions++),t&He&&(this._numClippableLayerPortions++,this.model.numClippableLayerPortions++),t&Fe&&(this._numPickableLayerPortions++,this.model.numPickableLayerPortions++),t&xe&&(this._numCulledLayerPortions++,this.model.numCulledLayerPortions++),n&&(this._numTransparentLayerPortions++,this.model.numTransparentLayerPortions++),this._setFlags(e,t,n)}},{key:"setVisible",value:function(e,t,n){if(!this._finalized)throw"Not finalized";t&Me?(this._numVisibleLayerPortions++,this.model.numVisibleLayerPortions++):(this._numVisibleLayerPortions--,this.model.numVisibleLayerPortions--),this._setFlags(e,t,n)}},{key:"setHighlighted",value:function(e,t,n){if(!this._finalized)throw"Not finalized";t&ke?(this._numHighlightedLayerPortions++,this.model.numHighlightedLayerPortions++):(this._numHighlightedLayerPortions--,this.model.numHighlightedLayerPortions--),this._setFlags(e,t,n)}},{key:"setXRayed",value:function(e,t,n){if(!this._finalized)throw"Not finalized";t&Ge?(this._numXRayedLayerPortions++,this.model.numXRayedLayerPortions++):(this._numXRayedLayerPortions--,this.model.numXRayedLayerPortions--),this._setFlags(e,t,n)}},{key:"setSelected",value:function(e,t,n){if(!this._finalized)throw"Not finalized";t&je?(this._numSelectedLayerPortions++,this.model.numSelectedLayerPortions++):(this._numSelectedLayerPortions--,this.model.numSelectedLayerPortions--),this._setFlags(e,t,n)}},{key:"setEdges",value:function(e,t,n){if(!this._finalized)throw"Not finalized"}},{key:"setClippable",value:function(e,t){if(!this._finalized)throw"Not finalized";t&He?(this._numClippableLayerPortions++,this.model.numClippableLayerPortions++):(this._numClippableLayerPortions--,this.model.numClippableLayerPortions--),this._setFlags(e,t)}},{key:"setCulled",value:function(e,t,n){if(!this._finalized)throw"Not finalized";t&xe?(this._numCulledLayerPortions++,this.model.numCulledLayerPortions++):(this._numCulledLayerPortions--,this.model.numCulledLayerPortions--),this._setFlags(e,t,n)}},{key:"setCollidable",value:function(e,t){if(!this._finalized)throw"Not finalized"}},{key:"setPickable",value:function(e,t,n){if(!this._finalized)throw"Not finalized";t&Fe?(this._numPickableLayerPortions++,this.model.numPickableLayerPortions++):(this._numPickableLayerPortions--,this.model.numPickableLayerPortions--),this._setFlags(e,t,n)}},{key:"setColor",value:function(e,t){if(!this._finalized)throw"Not finalized";for(var n=2*e,r=4*this._portions[n],i=4*this._portions[n+1],a=this._scratchMemory.getUInt8Array(i),s=t[0],o=t[1],l=t[2],u=0;u0,n=e.pointsMaterial._state,r=[];return r.push("#version 300 es"),r.push("// Points instancing color vertex shader"),r.push("uniform int renderPass;"),r.push("in vec3 position;"),r.push("in vec4 color;"),r.push("in float flags;"),e.entityOffsetsEnabled&&r.push("in vec3 offset;"),r.push("in vec4 modelMatrixCol0;"),r.push("in vec4 modelMatrixCol1;"),r.push("in vec4 modelMatrixCol2;"),this._addMatricesUniformBlockLines(r),r.push("uniform float pointSize;"),n.perspectivePoints&&r.push("uniform float nearPlaneHeight;"),n.filterIntensity&&r.push("uniform vec2 intensityRange;"),e.logarithmicDepthBufferEnabled&&(r.push("uniform float logDepthBufFC;"),r.push("out float vFragDepth;")),t&&(r.push("out vec4 vWorldPosition;"),r.push("out float vFlags;")),r.push("out vec4 vColor;"),r.push("void main(void) {"),r.push("int colorFlag = int(flags) & 0xF;"),r.push("if (colorFlag != renderPass) {"),r.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),r.push("} else {"),n.filterIntensity&&(r.push("float intensity = float(color.a) / 255.0;"),r.push("if (intensity < intensityRange[0] || intensity > intensityRange[1]) {"),r.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),r.push("} else {")),r.push("vec4 worldPosition = positionsDecodeMatrix * vec4(position, 1.0); "),r.push("worldPosition = worldMatrix * vec4(dot(worldPosition, modelMatrixCol0), dot(worldPosition, modelMatrixCol1), dot(worldPosition, modelMatrixCol2), 1.0);"),e.entityOffsetsEnabled&&r.push(" worldPosition.xyz = worldPosition.xyz + offset;"),r.push("vec4 viewPosition = viewMatrix * worldPosition; "),r.push("vColor = vec4(float(color.r) / 255.0, float(color.g) / 255.0, float(color.b) / 255.0, 1.0);"),t&&(r.push("vWorldPosition = worldPosition;"),r.push("vFlags = flags;")),r.push("vec4 clipPos = projMatrix * viewPosition;"),e.logarithmicDepthBufferEnabled&&r.push("vFragDepth = 1.0 + clipPos.w;"),r.push("gl_Position = clipPos;"),n.perspectivePoints?(r.push("gl_PointSize = (nearPlaneHeight * pointSize) / clipPos.w;"),r.push("gl_PointSize = max(gl_PointSize, "+Math.floor(n.minPerspectivePointSize)+".0);"),r.push("gl_PointSize = min(gl_PointSize, "+Math.floor(n.maxPerspectivePointSize)+".0);")):r.push("gl_PointSize = pointSize;"),r.push("}"),n.filterIntensity&&r.push("}"),r.push("}"),r}},{key:"_buildFragmentShader",value:function(){var e=this._scene,t=e._sectionPlanesState,n=t.getNumAllocatedSectionPlanes()>0,r=[];if(r.push("#version 300 es"),r.push("// Points instancing color fragment shader"),r.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),r.push("precision highp float;"),r.push("precision highp int;"),r.push("#else"),r.push("precision mediump float;"),r.push("precision mediump int;"),r.push("#endif"),e.logarithmicDepthBufferEnabled&&(r.push("uniform float logDepthBufFC;"),r.push("in float vFragDepth;")),n){r.push("in vec4 vWorldPosition;"),r.push("in float vFlags;");for(var i=0,a=t.getNumAllocatedSectionPlanes();i 1.0) {"),r.push(" discard;"),r.push(" }")),n){r.push(" bool clippable = (int(vFlags) >> 16 & 0xF) == 1;"),r.push(" if (clippable) {"),r.push(" float dist = 0.0;");for(var s=0,o=t.getNumAllocatedSectionPlanes();s 0.0) { discard; }"),r.push("}")}return r.push(" outColor = vColor;"),e.logarithmicDepthBufferEnabled&&r.push("gl_FragDepth = log2( vFragDepth ) * logDepthBufFC * 0.5;"),r.push("}"),r}}]),n}(),Tu=function(e){I(n,lo);var t=m(n);function n(){return b(this,n),t.apply(this,arguments)}return P(n,[{key:"_getHash",value:function(){return this._scene._sectionPlanesState.getHash()+this._scene.pointsMaterial.hash}},{key:"drawLayer",value:function(e,t,r){v(E(n.prototype),"drawLayer",this).call(this,e,t,r,{colorUniform:!0})}},{key:"_buildVertexShader",value:function(){var e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,n=e.pointsMaterial._state,r=[];return r.push("#version 300 es"),r.push("// Points instancing silhouette vertex shader"),r.push("uniform int renderPass;"),r.push("in vec3 position;"),e.entityOffsetsEnabled&&r.push("in vec3 offset;"),r.push("in float flags;"),r.push("in vec4 color;"),r.push("in vec4 modelMatrixCol0;"),r.push("in vec4 modelMatrixCol1;"),r.push("in vec4 modelMatrixCol2;"),this._addMatricesUniformBlockLines(r),r.push("uniform float pointSize;"),n.perspectivePoints&&r.push("uniform float nearPlaneHeight;"),e.logarithmicDepthBufferEnabled&&(r.push("uniform float logDepthBufFC;"),r.push("out float vFragDepth;")),r.push("uniform vec4 silhouetteColor;"),t&&(r.push("out vec4 vWorldPosition;"),r.push("out float vFlags;")),r.push("out vec4 vColor;"),r.push("void main(void) {"),r.push("int silhouetteFlag = int(flags) >> 4 & 0xF;"),r.push("if (silhouetteFlag != renderPass) {"),r.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),r.push("} else {"),r.push("vec4 worldPosition = positionsDecodeMatrix * vec4(position, 1.0); "),r.push("worldPosition = worldMatrix * vec4(dot(worldPosition, modelMatrixCol0), dot(worldPosition, modelMatrixCol1), dot(worldPosition, modelMatrixCol2), 1.0);"),e.entityOffsetsEnabled&&r.push(" worldPosition.xyz = worldPosition.xyz + offset;"),r.push("vec4 viewPosition = viewMatrix * worldPosition; "),t&&(r.push("vWorldPosition = worldPosition;"),r.push("vFlags = flags;")),r.push("vec4 clipPos = projMatrix * viewPosition;"),e.logarithmicDepthBufferEnabled&&r.push("vFragDepth = 1.0 + clipPos.w;"),r.push("vColor = vec4(float(silhouetteColor.r) / 255.0, float(silhouetteColor.g) / 255.0, float(silhouetteColor.b) / 255.0, float(color.a) / 255.0);"),r.push("gl_Position = clipPos;"),n.perspectivePoints?(r.push("gl_PointSize = (nearPlaneHeight * pointSize) / clipPos.w;"),r.push("gl_PointSize = max(gl_PointSize, "+Math.floor(n.minPerspectivePointSize)+".0);"),r.push("gl_PointSize = min(gl_PointSize, "+Math.floor(n.maxPerspectivePointSize)+".0);")):r.push("gl_PointSize = pointSize;"),r.push("}"),r.push("}"),r}},{key:"_buildFragmentShader",value:function(){var e=this._scene,t=e._sectionPlanesState,n=t.getNumAllocatedSectionPlanes()>0,r=[];if(r.push("#version 300 es"),r.push("// Points instancing silhouette fragment shader"),r.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),r.push("precision highp float;"),r.push("precision highp int;"),r.push("#else"),r.push("precision mediump float;"),r.push("precision mediump int;"),r.push("#endif"),e.logarithmicDepthBufferEnabled&&(r.push("uniform float logDepthBufFC;"),r.push("in float vFragDepth;")),n){r.push("in vec4 vWorldPosition;"),r.push("in float vFlags;");for(var i=0,a=t.getNumAllocatedSectionPlanes();i 1.0) {"),r.push(" discard;"),r.push(" }")),n){r.push(" bool clippable = (int(vFlags) >> 16 & 0xF) == 1;"),r.push(" if (clippable) {"),r.push(" float dist = 0.0;");for(var s=0,o=t.getNumAllocatedSectionPlanes();s 0.0) { discard; }"),r.push("}")}return e.logarithmicDepthBufferEnabled&&r.push("gl_FragDepth = log2( vFragDepth ) * logDepthBufFC * 0.5;"),r.push("outColor = vColor;"),r.push("}"),r}}]),n}(),bu=function(e){I(n,lo);var t=m(n);function n(){return b(this,n),t.apply(this,arguments)}return P(n,[{key:"_getHash",value:function(){return this._scene._sectionPlanesState.getHash()+this._scene.pointsMaterial.hash}},{key:"_buildVertexShader",value:function(){var e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,n=e.pointsMaterial._state,r=[];return r.push("#version 300 es"),r.push("// Points instancing pick mesh vertex shader"),r.push("uniform int renderPass;"),r.push("in vec3 position;"),e.entityOffsetsEnabled&&r.push("in vec3 offset;"),r.push("in float flags;"),r.push("in vec4 pickColor;"),r.push("in vec4 modelMatrixCol0;"),r.push("in vec4 modelMatrixCol1;"),r.push("in vec4 modelMatrixCol2;"),r.push("uniform bool pickInvisible;"),this._addMatricesUniformBlockLines(r),this._addRemapClipPosLines(r),r.push("uniform float pointSize;"),n.perspectivePoints&&r.push("uniform float nearPlaneHeight;"),e.logarithmicDepthBufferEnabled&&(r.push("uniform float logDepthBufFC;"),r.push("out float vFragDepth;")),t&&(r.push("out vec4 vWorldPosition;"),r.push("out float vFlags;")),r.push("out vec4 vPickColor;"),r.push("void main(void) {"),r.push("int pickFlag = int(flags) >> 12 & 0xF;"),r.push("if (pickFlag != renderPass) {"),r.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),r.push("} else {"),r.push(" vec4 worldPosition = positionsDecodeMatrix * vec4(position, 1.0); "),r.push(" worldPosition = worldMatrix * vec4(dot(worldPosition, modelMatrixCol0), dot(worldPosition, modelMatrixCol1), dot(worldPosition, modelMatrixCol2), 1.0);"),e.entityOffsetsEnabled&&r.push(" worldPosition.xyz = worldPosition.xyz + offset;"),r.push(" vec4 viewPosition = viewMatrix * worldPosition; "),r.push(" vPickColor = vec4(float(pickColor.r) / 255.0, float(pickColor.g) / 255.0, float(pickColor.b) / 255.0, float(pickColor.a) / 255.0);"),t&&(r.push(" vWorldPosition = worldPosition;"),r.push(" vFlags = flags;")),r.push("vec4 clipPos = projMatrix * viewPosition;"),r.push("gl_Position = remapClipPos(clipPos);"),e.logarithmicDepthBufferEnabled&&r.push("vFragDepth = 1.0 + clipPos.w;"),n.perspectivePoints?(r.push("gl_PointSize = (nearPlaneHeight * pointSize) / clipPos.w;"),r.push("gl_PointSize = max(gl_PointSize, "+Math.floor(n.minPerspectivePointSize)+".0);"),r.push("gl_PointSize = min(gl_PointSize, "+Math.floor(n.maxPerspectivePointSize)+".0);")):r.push("gl_PointSize = pointSize;"),r.push("}"),r.push("}"),r}},{key:"_buildFragmentShader",value:function(){var e=this._scene,t=e._sectionPlanesState,n=t.getNumAllocatedSectionPlanes()>0,r=[];if(r.push("#version 300 es"),r.push("// Points instancing pick mesh fragment shader"),r.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),r.push("precision highp float;"),r.push("precision highp int;"),r.push("#else"),r.push("precision mediump float;"),r.push("precision mediump int;"),r.push("#endif"),e.logarithmicDepthBufferEnabled&&(r.push("uniform float logDepthBufFC;"),r.push("in float vFragDepth;")),n){r.push("in vec4 vWorldPosition;"),r.push("in float vFlags;");for(var i=0;i 1.0) {"),r.push(" discard;"),r.push(" }")),n){r.push(" bool clippable = (int(vFlags) >> 16 & 0xF) == 1;"),r.push(" if (clippable) {"),r.push(" float dist = 0.0;");for(var a=0;a 0.0) { discard; }"),r.push("}")}return e.logarithmicDepthBufferEnabled&&r.push("gl_FragDepth = log2( vFragDepth ) * logDepthBufFC * 0.5;"),r.push("outColor = vPickColor; "),r.push("}"),r}}]),n}(),Du=function(e){I(n,lo);var t=m(n);function n(){return b(this,n),t.apply(this,arguments)}return P(n,[{key:"_getHash",value:function(){return this._scene._sectionPlanesState.getHash()+this._scene.pointsMaterial.hash}},{key:"_buildVertexShader",value:function(){var e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,n=e.pointsMaterial._state,r=[];return r.push("#version 300 es"),r.push("// Points instancing pick depth vertex shader"),r.push("uniform int renderPass;"),r.push("in vec3 position;"),e.entityOffsetsEnabled&&r.push("in vec3 offset;"),r.push("in float flags;"),r.push("in vec4 modelMatrixCol0;"),r.push("in vec4 modelMatrixCol1;"),r.push("in vec4 modelMatrixCol2;"),r.push("uniform bool pickInvisible;"),this._addMatricesUniformBlockLines(r),this._addRemapClipPosLines(r),r.push("uniform float pointSize;"),n.perspectivePoints&&r.push("uniform float nearPlaneHeight;"),e.logarithmicDepthBufferEnabled&&(r.push("uniform float logDepthBufFC;"),r.push("out float vFragDepth;")),t&&(r.push("out vec4 vWorldPosition;"),r.push("out float vFlags;")),r.push("out vec4 vViewPosition;"),r.push("void main(void) {"),r.push("int pickFlag = int(flags) >> 12 & 0xF;"),r.push("if (pickFlag != renderPass) {"),r.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),r.push("} else {"),r.push(" vec4 worldPosition = positionsDecodeMatrix * vec4(position, 1.0); "),r.push(" worldPosition = worldMatrix * vec4(dot(worldPosition, modelMatrixCol0), dot(worldPosition, modelMatrixCol1), dot(worldPosition, modelMatrixCol2), 1.0);"),e.entityOffsetsEnabled&&r.push(" worldPosition.xyz = worldPosition.xyz + offset;"),r.push(" vec4 viewPosition = viewMatrix * worldPosition; "),t&&(r.push(" vWorldPosition = worldPosition;"),r.push(" vFlags = flags;")),r.push(" vViewPosition = viewPosition;"),r.push("vec4 clipPos = projMatrix * viewPosition;"),r.push("gl_Position = remapClipPos(clipPos);"),e.logarithmicDepthBufferEnabled&&r.push("vFragDepth = 1.0 + clipPos.w;"),r.push("gl_Position = remapClipPos(clipPos);"),n.perspectivePoints?(r.push("gl_PointSize = (nearPlaneHeight * pointSize) / clipPos.w;"),r.push("gl_PointSize = max(gl_PointSize, "+Math.floor(n.minPerspectivePointSize)+".0);"),r.push("gl_PointSize = min(gl_PointSize, "+Math.floor(n.maxPerspectivePointSize)+".0);")):r.push("gl_PointSize = pointSize;"),r.push("}"),r.push("}"),r}},{key:"_buildFragmentShader",value:function(){var e=this._scene,t=e._sectionPlanesState,n=t.getNumAllocatedSectionPlanes()>0,r=[];if(r.push("#version 300 es"),r.push("// Points instancing pick depth fragment shader"),r.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),r.push("precision highp float;"),r.push("precision highp int;"),r.push("#else"),r.push("precision mediump float;"),r.push("precision mediump int;"),r.push("#endif"),e.logarithmicDepthBufferEnabled&&(r.push("uniform float logDepthBufFC;"),r.push("in float vFragDepth;")),r.push("uniform float pickZNear;"),r.push("uniform float pickZFar;"),n){r.push("in vec4 vWorldPosition;"),r.push("in float vFlags;");for(var i=0;i 1.0) {"),r.push(" discard;"),r.push(" }")),n){r.push(" bool clippable = (int(vFlags) >> 16 & 0xF) == 1;"),r.push(" if (clippable) {"),r.push(" float dist = 0.0;");for(var a=0;a 0.0) { discard; }"),r.push("}")}return e.logarithmicDepthBufferEnabled&&r.push("gl_FragDepth = log2( vFragDepth ) * logDepthBufFC * 0.5;"),r.push(" float zNormalizedDepth = abs((pickZNear + vViewPosition.z) / (pickZFar - pickZNear));"),r.push(" outColor = packDepth(zNormalizedDepth); "),r.push("}"),r}}]),n}(),Pu=function(e){I(n,lo);var t=m(n);function n(){return b(this,n),t.apply(this,arguments)}return P(n,[{key:"_getHash",value:function(){return this._scene._sectionPlanesState.getHash()+this._scene.pointsMaterial.hash}},{key:"_buildVertexShader",value:function(){var e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,n=e.pointsMaterial._state,r=[];return r.push("#version 300 es"),r.push("// Points instancing occlusion vertex shader"),r.push("uniform int renderPass;"),r.push("in vec3 position;"),e.entityOffsetsEnabled&&r.push("in vec3 offset;"),r.push("in vec4 color;"),r.push("in float flags;"),r.push("in vec4 modelMatrixCol0;"),r.push("in vec4 modelMatrixCol1;"),r.push("in vec4 modelMatrixCol2;"),this._addMatricesUniformBlockLines(r),r.push("uniform float pointSize;"),n.perspectivePoints&&r.push("uniform float nearPlaneHeight;"),e.logarithmicDepthBufferEnabled&&(r.push("uniform float logDepthBufFC;"),r.push("out float vFragDepth;")),t&&(r.push("out vec4 vWorldPosition;"),r.push("out float vFlags;")),r.push("void main(void) {"),r.push("int colorFlag = int(flags) & 0xF;"),r.push("if (colorFlag != renderPass) {"),r.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),r.push("} else {"),r.push(" vec4 worldPosition = positionsDecodeMatrix * vec4(position, 1.0); "),r.push(" worldPosition = worldMatrix * vec4(dot(worldPosition, modelMatrixCol0), dot(worldPosition, modelMatrixCol1), dot(worldPosition, modelMatrixCol2), 1.0);"),e.entityOffsetsEnabled&&r.push(" worldPosition.xyz = worldPosition.xyz + offset;"),r.push(" vec4 viewPosition = viewMatrix * worldPosition; "),t&&(r.push(" vWorldPosition = worldPosition;"),r.push("vFlags = flags;")),r.push("vec4 clipPos = projMatrix * viewPosition;"),e.logarithmicDepthBufferEnabled&&r.push("vFragDepth = 1.0 + clipPos.w;"),r.push("gl_Position = clipPos;"),n.perspectivePoints?(r.push("gl_PointSize = (nearPlaneHeight * pointSize) / clipPos.w;"),r.push("gl_PointSize = max(gl_PointSize, "+Math.floor(n.minPerspectivePointSize)+".0);"),r.push("gl_PointSize = min(gl_PointSize, "+Math.floor(n.maxPerspectivePointSize)+".0);")):r.push("gl_PointSize = pointSize;"),r.push("}"),r.push("}"),r}},{key:"_buildFragmentShader",value:function(){var e=this._scene,t=e._sectionPlanesState,n=t.getNumAllocatedSectionPlanes()>0,r=[];if(r.push("#version 300 es"),r.push("// Points instancing occlusion vertex shader"),r.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),r.push("precision highp float;"),r.push("precision highp int;"),r.push("#else"),r.push("precision mediump float;"),r.push("precision mediump int;"),r.push("#endif"),e.logarithmicDepthBufferEnabled&&(r.push("uniform float logDepthBufFC;"),r.push("in float vFragDepth;")),n){r.push("in vec4 vWorldPosition;"),r.push("in float vFlags;");for(var i=0;i 1.0) {"),r.push(" discard;"),r.push(" }")),n){r.push(" bool clippable = (int(vFlags) >> 16 & 0xF) == 1;"),r.push(" if (clippable) {"),r.push(" float dist = 0.0;");for(var a=0;a 0.0) { discard; }"),r.push("}")}return r.push(" outColor = vec4(0.0, 0.0, 1.0, 1.0); "),e.logarithmicDepthBufferEnabled&&r.push("gl_FragDepth = log2( vFragDepth ) * logDepthBufFC * 0.5;"),r.push("}"),r}}]),n}(),Ru=function(e){I(n,lo);var t=m(n);function n(){return b(this,n),t.apply(this,arguments)}return P(n,[{key:"_getHash",value:function(){return this._scene._sectionPlanesState.getHash()+this._scene.pointsMaterial.hash}},{key:"_buildVertexShader",value:function(){var e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,n=e.pointsMaterial._state,r=[];return r.push("#version 300 es"),r.push("// Points instancing depth vertex shader"),r.push("uniform int renderPass;"),r.push("in vec3 position;"),e.entityOffsetsEnabled&&r.push("in vec3 offset;"),r.push("in float flags;"),r.push("in vec4 modelMatrixCol0;"),r.push("in vec4 modelMatrixCol1;"),r.push("in vec4 modelMatrixCol2;"),this._addMatricesUniformBlockLines(r),r.push("uniform float pointSize;"),n.perspectivePoints&&r.push("uniform float nearPlaneHeight;"),e.logarithmicDepthBufferEnabled&&(r.push("uniform float logDepthBufFC;"),r.push("out float vFragDepth;")),t&&(r.push("out vec4 vWorldPosition;"),r.push("out float vFlags;")),r.push("void main(void) {"),r.push("int colorFlag = int(flags) & 0xF;"),r.push("if (colorFlag != renderPass) {"),r.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),r.push("} else {"),r.push(" vec4 worldPosition = positionsDecodeMatrix * vec4(position, 1.0); "),r.push(" worldPosition = worldMatrix * vec4(dot(worldPosition, modelMatrixCol0), dot(worldPosition, modelMatrixCol1), dot(worldPosition, modelMatrixCol2), 1.0);"),e.entityOffsetsEnabled&&r.push(" worldPosition.xyz = worldPosition.xyz + offset;"),r.push(" vec4 viewPosition = viewMatrix * worldPosition; "),t&&(r.push("vWorldPosition = worldPosition;"),r.push("vFlags = flags;")),r.push("vec4 clipPos = projMatrix * viewPosition;"),e.logarithmicDepthBufferEnabled&&r.push("vFragDepth = 1.0 + clipPos.w;"),r.push("gl_Position = clipPos;"),n.perspectivePoints?(r.push("gl_PointSize = (nearPlaneHeight * pointSize) / clipPos.w;"),r.push("gl_PointSize = max(gl_PointSize, "+Math.floor(n.minPerspectivePointSize)+".0);"),r.push("gl_PointSize = min(gl_PointSize, "+Math.floor(n.maxPerspectivePointSize)+".0);")):r.push("gl_PointSize = pointSize;"),r.push("}"),r.push("}"),r}},{key:"_buildFragmentShader",value:function(){var e,t,n=this._scene,r=n._sectionPlanesState,i=r.getNumAllocatedSectionPlanes()>0,a=[];if(a.push("#version 300 es"),a.push("// Points instancing depth vertex shader"),a.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),a.push("precision highp float;"),a.push("precision highp int;"),a.push("#else"),a.push("precision mediump float;"),a.push("precision mediump int;"),a.push("#endif"),n.logarithmicDepthBufferEnabled&&(a.push("uniform float logDepthBufFC;"),a.push("in float vFragDepth;")),i)for(a.push("in vec4 vWorldPosition;"),a.push("in float vFlags;"),e=0,t=r.getNumAllocatedSectionPlanes();e 1.0) {"),a.push(" discard;"),a.push(" }")),i){for(a.push(" bool clippable = (int(vFlags) >> 16 & 0xF) == 1;"),a.push(" if (clippable) {"),a.push(" float dist = 0.0;"),e=0,t=r.getNumAllocatedSectionPlanes();e 0.0) { discard; }"),a.push("}")}return a.push(" outColor = packDepthToRGBA( gl_FragCoord.z); "),n.logarithmicDepthBufferEnabled&&a.push("gl_FragDepth = log2( vFragDepth ) * logDepthBufFC * 0.5;"),a.push("}"),a}}]),n}(),Cu=function(e){I(n,lo);var t=m(n);function n(){return b(this,n),t.apply(this,arguments)}return P(n,[{key:"_buildVertexShader",value:function(){var e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,n=[];return n.push("#version 300 es"),n.push("// Instancing geometry shadow drawing vertex shader"),n.push("in vec3 position;"),e.entityOffsetsEnabled&&n.push("in vec3 offset;"),n.push("in vec4 color;"),n.push("in float flags;"),n.push("in vec4 modelMatrixCol0;"),n.push("in vec4 modelMatrixCol1;"),n.push("in vec4 modelMatrixCol2;"),n.push("uniform mat4 shadowViewMatrix;"),n.push("uniform mat4 shadowProjMatrix;"),this._addMatricesUniformBlockLines(n),n.push("uniform float pointSize;"),t&&(n.push("out vec4 vWorldPosition;"),n.push("out float vFlags;")),n.push("void main(void) {"),n.push("int colorFlag = int(flags) & 0xF;"),n.push("bool visible = (colorFlag > 0);"),n.push("bool transparent = ((float(color.a) / 255.0) < 1.0);"),n.push("if (!visible || transparent) {"),n.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),n.push("} else {"),n.push(" vec4 worldPosition = positionsDecodeMatrix * vec4(position, 1.0); "),n.push(" worldPosition = vec4(dot(worldPosition, modelMatrixCol0), dot(worldPosition, modelMatrixCol1), dot(worldPosition, modelMatrixCol2), 1.0);"),e.entityOffsetsEnabled&&n.push(" worldPosition.xyz = worldPosition.xyz + offset;"),n.push(" vec4 viewPosition = shadowViewMatrix * worldPosition; "),t&&(n.push("vWorldPosition = worldPosition;"),n.push("vFlags = flags;")),n.push(" gl_Position = shadowProjMatrix * viewPosition;"),n.push("}"),n.push("gl_PointSize = pointSize;"),n.push("}"),n}},{key:"_buildFragmentShader",value:function(){var e=this._scene,t=e._sectionPlanesState,n=t.getNumAllocatedSectionPlanes()>0,r=[];if(r.push("#version 300 es"),r.push("// Instancing geometry depth drawing fragment shader"),r.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),r.push("precision highp float;"),r.push("precision highp int;"),r.push("#else"),r.push("precision mediump float;"),r.push("precision mediump int;"),r.push("#endif"),e.logarithmicDepthBufferEnabled&&(r.push("uniform float logDepthBufFC;"),r.push("in float vFragDepth;")),n){r.push("in vec4 vWorldPosition;"),r.push("in float vFlags;");for(var i=0,a=t.getNumAllocatedSectionPlanes();i 1.0) {"),r.push(" discard;"),r.push(" }"),n){r.push(" bool clippable = (int(vFlags) >> 16 & 0xF) == 1;"),r.push(" if (clippable) {"),r.push(" float dist = 0.0;");for(var s=0,o=t.getNumAllocatedSectionPlanes();s 0.0) { discard; }"),r.push("}")}return e.logarithmicDepthBufferEnabled&&r.push("gl_FragDepth = log2( vFragDepth ) * logDepthBufFC * 0.5;"),r.push(" outColor = vec4(packNormalToRGB(vViewNormal), 1.0); "),r.push("}"),r}}]),n}(),_u=function(){function e(t){b(this,e),this._scene=t}return P(e,[{key:"_compile",value:function(){this._colorRenderer&&!this._colorRenderer.getValid()&&(this._colorRenderer.destroy(),this._colorRenderer=null),this._depthRenderer&&!this._depthRenderer.getValid()&&(this._depthRenderer.destroy(),this._depthRenderer=null),this._silhouetteRenderer&&!this._silhouetteRenderer.getValid()&&(this._silhouetteRenderer.destroy(),this._silhouetteRenderer=null),this._pickMeshRenderer&&!this._pickMeshRenderer.getValid()&&(this._pickMeshRenderer.destroy(),this._pickMeshRenderer=null),this._pickDepthRenderer&&!this._pickDepthRenderer.getValid()&&(this._pickDepthRenderer.destroy(),this._pickDepthRenderer=null),this._occlusionRenderer&&!1===this._occlusionRenderer.getValid()&&(this._occlusionRenderer.destroy(),this._occlusionRenderer=null),this._shadowRenderer&&!this._shadowRenderer.getValid()&&(this._shadowRenderer.destroy(),this._shadowRenderer=null)}},{key:"colorRenderer",get:function(){return this._colorRenderer||(this._colorRenderer=new Eu(this._scene,!1)),this._colorRenderer}},{key:"silhouetteRenderer",get:function(){return this._silhouetteRenderer||(this._silhouetteRenderer=new Tu(this._scene)),this._silhouetteRenderer}},{key:"depthRenderer",get:function(){return this._depthRenderer||(this._depthRenderer=new Ru(this._scene)),this._depthRenderer}},{key:"pickMeshRenderer",get:function(){return this._pickMeshRenderer||(this._pickMeshRenderer=new bu(this._scene)),this._pickMeshRenderer}},{key:"pickDepthRenderer",get:function(){return this._pickDepthRenderer||(this._pickDepthRenderer=new Du(this._scene)),this._pickDepthRenderer}},{key:"occlusionRenderer",get:function(){return this._occlusionRenderer||(this._occlusionRenderer=new Pu(this._scene)),this._occlusionRenderer}},{key:"shadowRenderer",get:function(){return this._shadowRenderer||(this._shadowRenderer=new Cu(this._scene)),this._shadowRenderer}},{key:"_destroy",value:function(){this._colorRenderer&&this._colorRenderer.destroy(),this._depthRenderer&&this._depthRenderer.destroy(),this._silhouetteRenderer&&this._silhouetteRenderer.destroy(),this._pickMeshRenderer&&this._pickMeshRenderer.destroy(),this._pickDepthRenderer&&this._pickDepthRenderer.destroy(),this._occlusionRenderer&&this._occlusionRenderer.destroy(),this._shadowRenderer&&this._shadowRenderer.destroy()}}]),e}(),Bu={};var Ou=new Uint8Array(4),Su=new Float32Array(1);$.vec4([0,0,0,1]),$.vec4([0,0,0,1]),$.vec4([0,0,0,1]);var Nu=new Float32Array(3),Lu=new Float32Array(4),Mu=function(){function e(t){var n,r,i;b(this,e),this.model=t.model,this.material=t.material,this.sortId="PointsInstancingLayer",this.layerIndex=t.layerIndex,this._pointsInstancingRenderers=(n=t.model.scene,r=n.id,(i=Bu[r])||(i=new _u(n),Bu[r]=i,i._compile(),n.on("compile",(function(){i._compile()})),n.on("destroyed",(function(){delete Bu[r],i._destroy()}))),i),this._aabb=$.collapseAABB3(),this._state=new Wt({obb:$.OBB3(),numInstances:0,origin:t.origin?$.vec3(t.origin):null,geometry:t.geometry,positionsDecodeMatrix:t.geometry.positionsDecodeMatrix,colorsBuf:null,flagsBuf:null,offsetsBuf:null,modelMatrixCol0Buf:null,modelMatrixCol1Buf:null,modelMatrixCol2Buf:null,pickColorsBuf:null}),this._numPortions=0,this._numVisibleLayerPortions=0,this._numTransparentLayerPortions=0,this._numXRayedLayerPortions=0,this._numHighlightedLayerPortions=0,this._numSelectedLayerPortions=0,this._numClippableLayerPortions=0,this._numEdgesLayerPortions=0,this._numPickableLayerPortions=0,this._numCulledLayerPortions=0,this.numIndices=t.geometry.numIndices,this._pickColors=[],this._offsets=[],this._modelMatrixCol0=[],this._modelMatrixCol1=[],this._modelMatrixCol2=[],this._portions=[],this._finalized=!1}return P(e,[{key:"createPortion",value:function(e){var t=e.meshMatrix,n=e.pickColor;if(this._finalized)throw"Already finalized";this.model.scene.entityOffsetsEnabled&&(this._offsets.push(0),this._offsets.push(0),this._offsets.push(0)),this._modelMatrixCol0.push(t[0]),this._modelMatrixCol0.push(t[4]),this._modelMatrixCol0.push(t[8]),this._modelMatrixCol0.push(t[12]),this._modelMatrixCol1.push(t[1]),this._modelMatrixCol1.push(t[5]),this._modelMatrixCol1.push(t[9]),this._modelMatrixCol1.push(t[13]),this._modelMatrixCol2.push(t[2]),this._modelMatrixCol2.push(t[6]),this._modelMatrixCol2.push(t[10]),this._modelMatrixCol2.push(t[14]),this._pickColors.push(n[0]),this._pickColors.push(n[1]),this._pickColors.push(n[2]),this._pickColors.push(n[3]),this._state.numInstances++;var r=this._portions.length;return this._portions.push({}),this._numPortions++,this.model.numPortions++,r}},{key:"finalize",value:function(){if(this._finalized)throw"Already finalized";var e=this.model.scene.canvas.gl,t=this._pickColors.length/4,n=this._state,r=n.geometry;if(t>0){n.flagsBuf=new Dt(e,e.ARRAY_BUFFER,new Float32Array(t),t,1,e.DYNAMIC_DRAW,!1)}if(this.model.scene.entityOffsetsEnabled&&this._offsets.length>0){n.offsetsBuf=new Dt(e,e.ARRAY_BUFFER,new Float32Array(this._offsets),this._offsets.length,3,e.DYNAMIC_DRAW,!1),this._offsets=[]}if(r.positionsCompressed&&r.positionsCompressed.length>0){n.positionsBuf=new Dt(e,e.ARRAY_BUFFER,r.positionsCompressed,r.positionsCompressed.length,3,e.STATIC_DRAW,!1),n.positionsDecodeMatrix=$.mat4(r.positionsDecodeMatrix)}if(r.colorsCompressed&&r.colorsCompressed.length>0){var i=new Uint8Array(r.colorsCompressed);n.colorsBuf=new Dt(e,e.ARRAY_BUFFER,i,i.length,4,e.STATIC_DRAW,!1)}if(this._modelMatrixCol0.length>0){var a=!1;n.modelMatrixCol0Buf=new Dt(e,e.ARRAY_BUFFER,new Float32Array(this._modelMatrixCol0),this._modelMatrixCol0.length,4,e.STATIC_DRAW,a),n.modelMatrixCol1Buf=new Dt(e,e.ARRAY_BUFFER,new Float32Array(this._modelMatrixCol1),this._modelMatrixCol1.length,4,e.STATIC_DRAW,a),n.modelMatrixCol2Buf=new Dt(e,e.ARRAY_BUFFER,new Float32Array(this._modelMatrixCol2),this._modelMatrixCol2.length,4,e.STATIC_DRAW,a),this._modelMatrixCol0=[],this._modelMatrixCol1=[],this._modelMatrixCol2=[]}if(this._pickColors.length>0){n.pickColorsBuf=new Dt(e,e.ARRAY_BUFFER,new Uint8Array(this._pickColors),this._pickColors.length,4,e.STATIC_DRAW,!1),this._pickColors=[]}n.geometry=null,this._finalized=!0}},{key:"initFlags",value:function(e,t,n){t&Me&&(this._numVisibleLayerPortions++,this.model.numVisibleLayerPortions++),t&ke&&(this._numHighlightedLayerPortions++,this.model.numHighlightedLayerPortions++),t&Ge&&(this._numXRayedLayerPortions++,this.model.numXRayedLayerPortions++),t&je&&(this._numSelectedLayerPortions++,this.model.numSelectedLayerPortions++),t&He&&(this._numClippableLayerPortions++,this.model.numClippableLayerPortions++),t&Ve&&(this._numEdgesLayerPortions++,this.model.numEdgesLayerPortions++),t&Fe&&(this._numPickableLayerPortions++,this.model.numPickableLayerPortions++),t&xe&&(this._numCulledLayerPortions++,this.model.numCulledLayerPortions++),n&&(this._numTransparentLayerPortions++,this.model.numTransparentLayerPortions++),this._setFlags(e,t,n)}},{key:"setVisible",value:function(e,t,n){if(!this._finalized)throw"Not finalized";t&Me?(this._numVisibleLayerPortions++,this.model.numVisibleLayerPortions++):(this._numVisibleLayerPortions--,this.model.numVisibleLayerPortions--),this._setFlags(e,t,n)}},{key:"setHighlighted",value:function(e,t,n){if(!this._finalized)throw"Not finalized";t&ke?(this._numHighlightedLayerPortions++,this.model.numHighlightedLayerPortions++):(this._numHighlightedLayerPortions--,this.model.numHighlightedLayerPortions--),this._setFlags(e,t,n)}},{key:"setXRayed",value:function(e,t,n){if(!this._finalized)throw"Not finalized";t&Ge?(this._numXRayedLayerPortions++,this.model.numXRayedLayerPortions++):(this._numXRayedLayerPortions--,this.model.numXRayedLayerPortions--),this._setFlags(e,t,n)}},{key:"setSelected",value:function(e,t,n){if(!this._finalized)throw"Not finalized";t&je?(this._numSelectedLayerPortions++,this.model.numSelectedLayerPortions++):(this._numSelectedLayerPortions--,this.model.numSelectedLayerPortions--),this._setFlags(e,t,n)}},{key:"setEdges",value:function(e,t,n){if(!this._finalized)throw"Not finalized";t&Ve?(this._numEdgesLayerPortions++,this.model.numEdgesLayerPortions++):(this._numEdgesLayerPortions--,this.model.numEdgesLayerPortions--),this._setFlags(e,t,n)}},{key:"setClippable",value:function(e,t){if(!this._finalized)throw"Not finalized";t&He?(this._numClippableLayerPortions++,this.model.numClippableLayerPortions++):(this._numClippableLayerPortions--,this.model.numClippableLayerPortions--),this._setFlags(e,t)}},{key:"setCollidable",value:function(e,t){if(!this._finalized)throw"Not finalized"}},{key:"setPickable",value:function(e,t,n){if(!this._finalized)throw"Not finalized";t&Fe?(this._numPickableLayerPortions++,this.model.numPickableLayerPortions++):(this._numPickableLayerPortions--,this.model.numPickableLayerPortions--),this._setFlags(e,t,n)}},{key:"setCulled",value:function(e,t,n){if(!this._finalized)throw"Not finalized";t&xe?(this._numCulledLayerPortions++,this.model.numCulledLayerPortions++):(this._numCulledLayerPortions--,this.model.numCulledLayerPortions--),this._setFlags(e,t,n)}},{key:"setColor",value:function(e,t){if(!this._finalized)throw"Not finalized";Ou[0]=t[0],Ou[1]=t[1],Ou[2]=t[2],this._state.colorsBuf.setData(Ou,3*e)}},{key:"setTransparent",value:function(e,t,n){n?(this._numTransparentLayerPortions++,this.model.numTransparentLayerPortions++):(this._numTransparentLayerPortions--,this.model.numTransparentLayerPortions--),this._setFlags(e,t,n)}},{key:"_setFlags",value:function(e,t,n){if(!this._finalized)throw"Not finalized";var r=!!(t&Me),i=!!(t&Ge),a=!!(t&ke),s=!!(t&je),o=!!(t&Ve),l=!!(t&Fe),u=!!(t&xe),c=0;c|=!r||u||i||a&&!this.model.scene.highlightMaterial.glowThrough||s&&!this.model.scene.selectedMaterial.glowThrough?Xs.NOT_RENDERED:n?Xs.COLOR_TRANSPARENT:Xs.COLOR_OPAQUE,c|=(!r||u?Xs.NOT_RENDERED:s?Xs.SILHOUETTE_SELECTED:a?Xs.SILHOUETTE_HIGHLIGHTED:i?Xs.SILHOUETTE_XRAYED:Xs.NOT_RENDERED)<<4,c|=(!r||u?Xs.NOT_RENDERED:s?Xs.EDGES_SELECTED:a?Xs.EDGES_HIGHLIGHTED:i?Xs.EDGES_XRAYED:o?n?Xs.EDGES_COLOR_TRANSPARENT:Xs.EDGES_COLOR_OPAQUE:Xs.NOT_RENDERED)<<8,c|=(r&&!u&&l?Xs.PICK:Xs.NOT_RENDERED)<<12,c|=(t&He?255:0)<<16,Su[0]=c,this._state.flagsBuf.setData(Su,e)}},{key:"setOffset",value:function(e,t){if(!this._finalized)throw"Not finalized";this.model.scene.entityOffsetsEnabled?(Nu[0]=t[0],Nu[1]=t[1],Nu[2]=t[2],this._state.offsetsBuf.setData(Nu,3*e)):this.model.error("Entity#offset not enabled for this Viewer")}},{key:"setMatrix",value:function(e,t){if(!this._finalized)throw"Not finalized";var n=4*e;Lu[0]=t[0],Lu[1]=t[4],Lu[2]=t[8],Lu[3]=t[12],this._state.modelMatrixCol0Buf.setData(Lu,n),Lu[0]=t[1],Lu[1]=t[5],Lu[2]=t[9],Lu[3]=t[13],this._state.modelMatrixCol1Buf.setData(Lu,n),Lu[0]=t[2],Lu[1]=t[6],Lu[2]=t[10],Lu[3]=t[14],this._state.modelMatrixCol2Buf.setData(Lu,n)}},{key:"drawColorOpaque",value:function(e,t){this._numCulledLayerPortions!==this._numPortions&&0!==this._numVisibleLayerPortions&&this._numTransparentLayerPortions!==this._numPortions&&this._numXRayedLayerPortions!==this._numPortions&&this._pointsInstancingRenderers.colorRenderer&&this._pointsInstancingRenderers.colorRenderer.drawLayer(t,this,Xs.COLOR_OPAQUE)}},{key:"drawColorTransparent",value:function(e,t){this._numCulledLayerPortions!==this._numPortions&&0!==this._numVisibleLayerPortions&&0!==this._numTransparentLayerPortions&&this._numXRayedLayerPortions!==this._numPortions&&this._pointsInstancingRenderers.colorRenderer&&this._pointsInstancingRenderers.colorRenderer.drawLayer(t,this,Xs.COLOR_TRANSPARENT)}},{key:"drawDepth",value:function(e,t){}},{key:"drawNormals",value:function(e,t){}},{key:"drawSilhouetteXRayed",value:function(e,t){this._numCulledLayerPortions!==this._numPortions&&0!==this._numVisibleLayerPortions&&0!==this._numXRayedLayerPortions&&this._pointsInstancingRenderers.silhouetteRenderer&&this._pointsInstancingRenderers.silhouetteRenderer.drawLayer(t,this,Xs.SILHOUETTE_XRAYED)}},{key:"drawSilhouetteHighlighted",value:function(e,t){this._numCulledLayerPortions!==this._numPortions&&0!==this._numVisibleLayerPortions&&0!==this._numHighlightedLayerPortions&&this._pointsInstancingRenderers.silhouetteRenderer&&this._pointsInstancingRenderers.silhouetteRenderer.drawLayer(t,this,Xs.SILHOUETTE_HIGHLIGHTED)}},{key:"drawSilhouetteSelected",value:function(e,t){this._numCulledLayerPortions!==this._numPortions&&0!==this._numVisibleLayerPortions&&0!==this._numSelectedLayerPortions&&this._pointsInstancingRenderers.silhouetteRenderer&&this._pointsInstancingRenderers.silhouetteRenderer.drawLayer(t,this,Xs.SILHOUETTE_SELECTED)}},{key:"drawEdgesColorOpaque",value:function(e,t){}},{key:"drawEdgesColorTransparent",value:function(e,t){}},{key:"drawEdgesHighlighted",value:function(e,t){}},{key:"drawEdgesSelected",value:function(e,t){}},{key:"drawEdgesXRayed",value:function(e,t){}},{key:"drawOcclusion",value:function(e,t){this._numCulledLayerPortions!==this._numPortions&&0!==this._numVisibleLayerPortions&&this._pointsInstancingRenderers.occlusionRenderer&&this._pointsInstancingRenderers.occlusionRenderer.drawLayer(t,this,Xs.COLOR_OPAQUE)}},{key:"drawShadow",value:function(e,t){}},{key:"drawPickMesh",value:function(e,t){this._numCulledLayerPortions!==this._numPortions&&0!==this._numVisibleLayerPortions&&this._pointsInstancingRenderers.pickMeshRenderer&&this._pointsInstancingRenderers.pickMeshRenderer.drawLayer(t,this,Xs.PICK)}},{key:"drawPickDepths",value:function(e,t){this._numCulledLayerPortions!==this._numPortions&&0!==this._numVisibleLayerPortions&&this._pointsInstancingRenderers.pickDepthRenderer&&this._pointsInstancingRenderers.pickDepthRenderer.drawLayer(t,this,Xs.PICK)}},{key:"drawPickNormals",value:function(e,t){}},{key:"destroy",value:function(){var e=this._state;e.colorsBuf&&(e.colorsBuf.destroy(),e.colorsBuf=null),e.flagsBuf&&(e.flagsBuf.destroy(),e.flagsBuf=null),e.offsetsBuf&&(e.offsetsBuf.destroy(),e.offsetsBuf=null),e.modelMatrixCol0Buf&&(e.modelMatrixCol0Buf.destroy(),e.modelMatrixCol0Buf=null),e.modelMatrixCol1Buf&&(e.modelMatrixCol1Buf.destroy(),e.modelMatrixCol1Buf=null),e.modelMatrixCol2Buf&&(e.modelMatrixCol2Buf.destroy(),e.modelMatrixCol2Buf=null),e.pickColorsBuf&&(e.pickColorsBuf.destroy(),e.pickColorsBuf=null),e.destroy()}}]),e}(),xu=function(){function e(t){b(this,e),this.id=t.id,this.colorTexture=t.colorTexture,this.metallicRoughnessTexture=t.metallicRoughnessTexture,this.normalsTexture=t.normalsTexture,this.emissiveTexture=t.emissiveTexture,this.occlusionTexture=t.occlusionTexture}return P(e,[{key:"destroy",value:function(){}}]),e}(),Fu=function(){function e(t){b(this,e),this.id=t.id,this.texture=t.texture}return P(e,[{key:"destroy",value:function(){this.texture&&(this.texture.destroy(),this.texture=null)}}]),e}(),Hu={enabled:!1,files:{},add:function(e,t){!1!==this.enabled&&(this.files[e]=t)},get:function(e){if(!1!==this.enabled)return this.files[e]},remove:function(e){delete this.files[e]},clear:function(){this.files={}}},Uu=function(){function e(t,n,r){b(this,e),this.isLoading=!1,this.itemsLoaded=0,this.itemsTotal=0,this.urlModifier=void 0,this.handlers=[],this.onStart=void 0,this.onLoad=t,this.onProgress=n,this.onError=r}return P(e,[{key:"itemStart",value:function(e){this.itemsTotal++,!1===this.isLoading&&void 0!==this.onStart&&this.onStart(e,this.itemsLoaded,this.itemsTotal),this.isLoading=!0}},{key:"itemEnd",value:function(e){this.itemsLoaded++,void 0!==this.onProgress&&this.onProgress(e,this.itemsLoaded,this.itemsTotal),this.itemsLoaded===this.itemsTotal&&(this.isLoading=!1,void 0!==this.onLoad&&this.onLoad())}},{key:"itemError",value:function(e){void 0!==this.onError&&this.onError(e)}},{key:"resolveURL",value:function(e){return this.urlModifier?this.urlModifier(e):e}},{key:"setURLModifier",value:function(e){return this.urlModifier=e,this}},{key:"addHandler",value:function(e,t){return this.handlers.push(e,t),this}},{key:"removeHandler",value:function(e){var t=this.handlers.indexOf(e);return-1!==t&&this.handlers.splice(t,2),this}},{key:"getHandler",value:function(e){for(var t=0,n=this.handlers.length;t0&&void 0!==arguments[0]?arguments[0]:4;b(this,e),this.pool=t,this.queue=[],this.workers=[],this.workersResolve=[],this.workerStatus=0}return P(e,[{key:"_initWorker",value:function(e){if(!this.workers[e]){var t=this.workerCreator();t.addEventListener("message",this._onMessage.bind(this,e)),this.workers[e]=t}}},{key:"_getIdleWorker",value:function(){for(var e=0;e0&&console.warn("KTX2TextureTranscoder: Multiple active KTX2TextureTranscoder may cause performance issues. Use a single KTX2TextureTranscoder instance, or call .dispose() on old instances."),Wu++}return this._transcoderPending}},{key:"transcode",value:function(e,t){var n=this,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return new Promise((function(i,a){var s=r;n._init().then((function(){return n._workerPool.postMessage({type:"transcode",buffers:e,taskConfig:s},e)})).then((function(e){var n=e.data,r=n.mipmaps,s=(n.width,n.height,n.format),o=n.type,l=n.error,u=n.dfdTransferFn,c=n.dfdFlags;if("error"===o)return a(l);t.setCompressedData({mipmaps:r,props:{format:s,minFilter:1===r.length?1006:1008,magFilter:1===r.length?1006:1008,encoding:2===u?3001:3e3,premultiplyAlpha:!!(1&c)}}),i()}))}))}},{key:"destroy",value:function(){URL.revokeObjectURL(this._workerSourceURL),this._workerPool.destroy(),Wu--}}]),e}();zu.BasisFormat={ETC1S:0,UASTC_4x4:1},zu.TranscoderFormat={ETC1:0,ETC2:1,BC1:2,BC3:3,BC4:4,BC5:5,BC7_M6_OPAQUE_ONLY:6,BC7_M5:7,PVRTC1_4_RGB:8,PVRTC1_4_RGBA:9,ASTC_4x4:10,ATC_RGB:11,ATC_RGBA_INTERPOLATED_ALPHA:12,RGBA32:13,RGB565:14,BGR565:15,RGBA4444:16},zu.EngineFormat={RGBAFormat:1023,RGBA_ASTC_4x4_Format:37808,RGBA_BPTC_Format:36492,RGBA_ETC2_EAC_Format:37496,RGBA_PVRTC_4BPPV1_Format:35842,RGBA_S3TC_DXT5_Format:33779,RGB_ETC1_Format:36196,RGB_ETC2_Format:37492,RGB_PVRTC_4BPPV1_Format:35840,RGB_S3TC_DXT1_Format:33776},zu.BasisWorker=function(){var e,t,n,r=_EngineFormat,i=_TranscoderFormat,a=_BasisFormat;self.addEventListener("message",(function(s){var c,f=s.data;switch(f.type){case"init":e=f.config,c=f.transcoderBinary,t=new Promise((function(e){n={wasmBinary:c,onRuntimeInitialized:e},BASIS(n)})).then((function(){n.initializeBasis(),void 0===n.KTX2File&&console.warn("KTX2TextureTranscoder: Please update Basis Universal transcoder.")}));break;case"transcode":t.then((function(){try{for(var t=function(t){var s=new n.KTX2File(new Uint8Array(t));function c(){s.close(),s.delete()}if(!s.isValid())throw c(),new Error("KTX2TextureTranscoder: Invalid or unsupported .ktx2 file");var f=s.isUASTC()?a.UASTC_4x4:a.ETC1S,p=s.getWidth(),A=s.getHeight(),d=s.getLevels(),v=s.getHasAlpha(),h=s.getDFDTransferFunc(),I=s.getDFDFlags(),y=function(t,n,s,c){for(var f,p,A=t===a.ETC1S?o:l,d=0;d=0;--i){var a=this.tryEntries[i],s=a.completion;if("root"===a.tryLoc)return r("end");if(a.tryLoc<=this.prev){var o=n.call(a,"catchLoc"),l=n.call(a,"finallyLoc");if(o&&l){if(this.prev=0;--r){var i=this.tryEntries[r];if(i.tryLoc<=this.prev&&n.call(i,"finallyLoc")&&this.prev=0;--t){var n=this.tryEntries[t];if(n.finallyLoc===e)return this.complete(n.completion,n.afterLoc),b(n),f}},catch:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var n=this.tryEntries[t];if(n.tryLoc===e){var r=n.completion;if("throw"===r.type){var i=r.arg;b(n)}return i}}throw new Error("illegal catch attempt")},delegateYield:function(e,t,n){return this.delegate={iterator:P(e),resultName:t,nextLoc:n},"next"===this.method&&(this.arg=void 0),f}},e}function l(e,t,n,r,i,a,s){try{var o=e[a](s),l=o.value}catch(e){return void n(e)}o.done?t(l):Promise.resolve(l).then(r,i)}function u(e){return function(){var t=this,n=arguments;return new Promise((function(r,i){var a=e.apply(t,n);function s(e){l(a,r,i,s,o,"next",e)}function o(e){l(a,r,i,s,o,"throw",e)}s(void 0)}))}}function c(e){return function(e){if(Array.isArray(e))return d(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||A(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function f(e,t){var n="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!n){if(Array.isArray(e)||(n=A(e))||t&&e&&"number"==typeof e.length){n&&(e=n);var r=0,i=function(){};return{s:i,n:function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:i}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var a,s=!0,o=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return s=e.done,e},e:function(e){o=!0,a=e},f:function(){try{s||null==n.return||n.return()}finally{if(o)throw a}}}}function p(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null==n)return;var r,i,a=[],s=!0,o=!1;try{for(n=n.call(e);!(s=(r=n.next()).done)&&(a.push(r.value),!t||a.length!==t);s=!0);}catch(e){o=!0,i=e}finally{try{s||null==n.return||n.return()}finally{if(o)throw i}}return a}(e,t)||A(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function A(e,t){if(e){if("string"==typeof e)return d(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?d(e,t):void 0}}function d(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n0&&void 0!==arguments[0]?arguments[0]:{};b(this,e),this._id=k.addItem(),this._context=null,this._enabled=!1,this._itemsCfg=[],this._rootMenu=null,this._menuList=[],this._menuMap={},this._itemList=[],this._itemMap={},this._shown=!1,this._nextId=0,this._eventSubs={},!1!==n.hideOnMouseDown&&(document.addEventListener("mousedown",(function(e){e.target.classList.contains("xeokit-context-menu-item")||t.hide()})),document.addEventListener("touchstart",this._canvasTouchStartHandler=function(e){e.target.classList.contains("xeokit-context-menu-item")||t.hide()})),n.items&&(this.items=n.items),this._hideOnAction=!1!==n.hideOnAction,this.context=n.context,this.enabled=!1!==n.enabled,this.hide()}return P(e,[{key:"on",value:function(e,t){var n=this._eventSubs[e];n||(n=[],this._eventSubs[e]=n),n.push(t)}},{key:"fire",value:function(e,t){var n=this._eventSubs[e];if(n)for(var r=0,i=n.length;r0,c=t._getNextId(),f=a.getTitle||function(){return a.title||""},p=a.doAction||a.callback||function(){},A=a.getEnabled||function(){return!0},d=a.getShown||function(){return!0},v=new Q(c,f,p,A,d);if(v.parentMenu=i,l.items.push(v),u){var h=e(s);v.subMenu=h,h.parentItem=v}t._itemList.push(v),t._itemMap[v.id]=v},c=0,f=o.length;c'),r.push("
    "),n)for(var i=0,a=n.length;i'+A+" [MORE]"):r.push('
  • '+A+"
  • ")}}r.push("
"),r.push("");var d=r.join("");document.body.insertAdjacentHTML("beforeend",d);var v=document.querySelector("."+e.id);e.menuElement=v,v.style["border-radius"]="4px",v.style.display="none",v.style["z-index"]=3e5,v.style.background="white",v.style.border="1px solid black",v.style["box-shadow"]="0 4px 5px 0 gray",v.oncontextmenu=function(e){e.preventDefault()};var h=this,I=null;if(n)for(var y=0,m=n.length;ywindow.innerWidth?h._showMenu(t.id,a.left-200,a.top-1):h._showMenu(t.id,a.right-5,a.top-1),I=t}}else I&&(h._hideMenu(I.id),I=null)})),i||(r.itemElement.addEventListener("click",(function(e){e.preventDefault(),h._context&&!1!==r.enabled&&(r.doAction&&r.doAction(h._context),t._hideOnAction?h.hide():(h._updateItemsTitles(),h._updateItemsEnabledStatus()))})),r.itemElement.addEventListener("mouseenter",(function(e){e.preventDefault(),!1!==r.enabled&&r.doHover&&r.doHover(h._context)})))},E=0,T=w.length;Ewindow.innerHeight&&(n=window.innerHeight-r),t+i>window.innerWidth&&(t=window.innerWidth-i),e.style.left=t+"px",e.style.top=n+"px"}},{key:"_hideMenuElement",value:function(e){e.style.display="none"}}]),e}(),z=function(){function e(t){var n=this,r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};b(this,e),this.viewer=t,this.scene=this.viewer.scene,this._lensCursorDiv=document.createElement("div"),this.viewer.scene.canvas.canvas.parentNode.insertBefore(this._lensCursorDiv,this.viewer.scene.canvas.canvas),this._lensCursorDiv.style.background="pink",this._lensCursorDiv.style.border="2px solid red",this._lensCursorDiv.style.borderRadius="20px",this._lensCursorDiv.style.width="10px",this._lensCursorDiv.style.height="10px",this._lensCursorDiv.style.margin="-200px -200px",this._lensCursorDiv.style.zIndex="100000",this._lensCursorDiv.style.position="absolute",this._lensCursorDiv.style.pointerEvents="none",this._lensContainer=document.createElement("div"),this._lensContainer.style.border="1px solid black",this._lensContainer.style.background="white",this._lensContainer.style.borderRadius="50%",this._lensContainer.style.width="300px",this._lensContainer.style.height="300px",this._lensContainer.style.marginTop="85px",this._lensContainer.style.marginLeft="25px",this._lensContainer.style.zIndex="15000",this._lensContainer.style.position="absolute",this._lensContainer.style.pointerEvents="none",this._lensContainer.style.visibility="hidden",this._lensCanvas=document.createElement("canvas"),this._lensCanvas.style.borderRadius="50%",this._lensCanvas.style.width="300px",this._lensCanvas.style.height="300px",this._lensCanvas.style.zIndex="15000",this._lensCanvas.style.pointerEvents="none",document.body.appendChild(this._lensContainer),this._lensContainer.appendChild(this._lensCanvas),this._lensCanvasContext=this._lensCanvas.getContext("2d"),this._canvasElement=this.viewer.scene.canvas.canvas,this._canvasPos=null,this._snappedCanvasPos=null,this._lensPosToggle=!0,this._zoomLevel=r.zoomLevel||2,this._active=!1!==r.active,this._visible=!1,this._snapped=!1,this._onViewerRendering=this.viewer.scene.on("rendering",(function(){n._active&&n._visible&&n.update()}))}return P(e,[{key:"update",value:function(){if(this._active&&this._visible&&this._canvasPos){var e=this._lensContainer.getBoundingClientRect(),t=this._canvasElement.getBoundingClientRect(),n=this._canvasPos[0]e.left&&this._canvasPos[1]e.top;this._lensContainer.style.marginLeft="25px",n&&(this._lensPosToggle?this._lensContainer.style.marginTop="".concat(t.bottom-t.top-this._lensCanvas.height-85,"px"):this._lensContainer.style.marginTop="85px",this._lensPosToggle=!this._lensPosToggle),this._lensCanvasContext.clearRect(0,0,this._lensCanvas.width,this._lensCanvas.height);var r=Math.max(this._lensCanvas.width,this._lensCanvas.height)/this._zoomLevel;this._lensCanvasContext.drawImage(this._canvasElement,this._canvasPos[0]-r/2,this._canvasPos[1]-r/2,r,r,0,0,this._lensCanvas.width,this._lensCanvas.height);var i=[(e.left+e.right)/2,(e.top+e.bottom)/2];if(this._snappedCanvasPos){var a=this._snappedCanvasPos[0]-this._canvasPos[0],s=this._snappedCanvasPos[1]-this._canvasPos[1];this._lensCursorDiv.style.marginLeft="".concat(i[0]+a*this._zoomLevel-10,"px"),this._lensCursorDiv.style.marginTop="".concat(i[1]+s*this._zoomLevel-10,"px")}else this._lensCursorDiv.style.marginLeft="".concat(i[0]-10,"px"),this._lensCursorDiv.style.marginTop="".concat(i[1]-10,"px")}}},{key:"zoomFactor",get:function(){return this._zoomFactor},set:function(e){this._zoomFactor=e,this.update()}},{key:"canvasPos",get:function(){return this._canvasPos},set:function(e){this._canvasPos=e,this.update()}},{key:"snappedCanvasPos",get:function(){return this._snappedCanvasPos},set:function(e){this._snappedCanvasPos=e,this.update()}},{key:"snapped",get:function(){return this._snapped},set:function(e){this._snapped=e,e?(this._lensCursorDiv.style.background="greenyellow",this._lensCursorDiv.style.border="2px solid green"):(this._lensCursorDiv.style.background="pink",this._lensCursorDiv.style.border="2px solid red")}},{key:"active",get:function(){return this._active},set:function(e){this._active=e,this._lensContainer.style.visibility=e&&this._visible?"visible":"hidden",e&&this._visible||(this._lensCursorDiv.style.marginLeft="-100px",this._lensCursorDiv.style.marginTop="-100px"),this.update()}},{key:"visible",get:function(){return this._visible},set:function(e){this._visible=e,this._lensContainer.style.visibility=e&&this._active?"visible":"hidden",e&&this._active||(this._lensCursorDiv.style.marginLeft="-100px",this._lensCursorDiv.style.marginTop="-100px"),this.update()}},{key:"destroy",value:function(){this._destroyed||(this.viewer.scene.off(this._onViewerRendering),this._lensContainer.removeChild(this._lensCanvas),document.body.removeChild(this._lensContainer),this._destroyed=!0)}}]),e}(),K=!0,Y=K?Float64Array:Float32Array,X=new Y(3),q=new Y(16),J=new Y(16),Z=new Y(4),$={setDoublePrecisionEnabled:function(e){Y=(K=e)?Float64Array:Float32Array},getDoublePrecisionEnabled:function(){return K},MIN_DOUBLE:-Number.MAX_SAFE_INTEGER,MAX_DOUBLE:Number.MAX_SAFE_INTEGER,MAX_INT:1e7,DEGTORAD:.0174532925,RADTODEG:57.295779513,unglobalizeObjectId:function(e,t){var n=t.indexOf("#");return n===e.length&&t.startsWith(e)?t.substring(n+1):t},globalizeObjectId:function(e,t){return e+"#"+t},safeInv:function(e){var t=1/e;return isNaN(t)||!isFinite(t)?1:t},vec2:function(e){return new Y(e||2)},vec3:function(e){return new Y(e||3)},vec4:function(e){return new Y(e||4)},mat3:function(e){return new Y(e||9)},mat3ToMat4:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:new Y(16);return t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=0,t[4]=e[3],t[5]=e[4],t[6]=e[5],t[7]=0,t[8]=e[6],t[9]=e[7],t[10]=e[8],t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t},mat4:function(e){return new Y(e||16)},mat4ToMat3:function(e,t){},doublesToFloats:function(e,t,n){for(var r=new Y(2),i=0,a=e.length;i>8&255]+e[t>>16&255]+e[t>>24&255],"-").concat(e[255&n]).concat(e[n>>8&255],"-").concat(e[n>>16&15|64]).concat(e[n>>24&255],"-").concat(e[63&r|128]).concat(e[r>>8&255],"-").concat(e[r>>16&255]).concat(e[r>>24&255]).concat(e[255&i]).concat(e[i>>8&255]).concat(e[i>>16&255]).concat(e[i>>24&255])}}(),clamp:function(e,t,n){return Math.max(t,Math.min(n,e))},fmod:function(e,t){if(e1?1:n,Math.acos(n)},vec3FromMat4Scale:function(){var e=new Y(3);return function(t,n){return e[0]=t[0],e[1]=t[1],e[2]=t[2],n[0]=$.lenVec3(e),e[0]=t[4],e[1]=t[5],e[2]=t[6],n[1]=$.lenVec3(e),e[0]=t[8],e[1]=t[9],e[2]=t[10],n[2]=$.lenVec3(e),n}}(),vecToArray:function(){function e(e){return Math.round(1e5*e)/1e5}return function(t){for(var n=0,r=(t=Array.prototype.slice.call(t)).length;n0&&void 0!==arguments[0]?arguments[0]:new Y(16);return e[0]=1,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=1,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[10]=1,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e},identityMat3:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:new Y(9);return e[0]=1,e[1]=0,e[2]=0,e[3]=0,e[4]=1,e[5]=0,e[6]=0,e[7]=0,e[8]=1,e},isIdentityMat4:function(e){return 1===e[0]&&0===e[1]&&0===e[2]&&0===e[3]&&0===e[4]&&1===e[5]&&0===e[6]&&0===e[7]&&0===e[8]&&0===e[9]&&1===e[10]&&0===e[11]&&0===e[12]&&0===e[13]&&0===e[14]&&1===e[15]},negateMat4:function(e,t){return t||(t=e),t[0]=-e[0],t[1]=-e[1],t[2]=-e[2],t[3]=-e[3],t[4]=-e[4],t[5]=-e[5],t[6]=-e[6],t[7]=-e[7],t[8]=-e[8],t[9]=-e[9],t[10]=-e[10],t[11]=-e[11],t[12]=-e[12],t[13]=-e[13],t[14]=-e[14],t[15]=-e[15],t},addMat4:function(e,t,n){return n||(n=e),n[0]=e[0]+t[0],n[1]=e[1]+t[1],n[2]=e[2]+t[2],n[3]=e[3]+t[3],n[4]=e[4]+t[4],n[5]=e[5]+t[5],n[6]=e[6]+t[6],n[7]=e[7]+t[7],n[8]=e[8]+t[8],n[9]=e[9]+t[9],n[10]=e[10]+t[10],n[11]=e[11]+t[11],n[12]=e[12]+t[12],n[13]=e[13]+t[13],n[14]=e[14]+t[14],n[15]=e[15]+t[15],n},addMat4Scalar:function(e,t,n){return n||(n=e),n[0]=e[0]+t,n[1]=e[1]+t,n[2]=e[2]+t,n[3]=e[3]+t,n[4]=e[4]+t,n[5]=e[5]+t,n[6]=e[6]+t,n[7]=e[7]+t,n[8]=e[8]+t,n[9]=e[9]+t,n[10]=e[10]+t,n[11]=e[11]+t,n[12]=e[12]+t,n[13]=e[13]+t,n[14]=e[14]+t,n[15]=e[15]+t,n},addScalarMat4:function(e,t,n){return $.addMat4Scalar(t,e,n)},subMat4:function(e,t,n){return n||(n=e),n[0]=e[0]-t[0],n[1]=e[1]-t[1],n[2]=e[2]-t[2],n[3]=e[3]-t[3],n[4]=e[4]-t[4],n[5]=e[5]-t[5],n[6]=e[6]-t[6],n[7]=e[7]-t[7],n[8]=e[8]-t[8],n[9]=e[9]-t[9],n[10]=e[10]-t[10],n[11]=e[11]-t[11],n[12]=e[12]-t[12],n[13]=e[13]-t[13],n[14]=e[14]-t[14],n[15]=e[15]-t[15],n},subMat4Scalar:function(e,t,n){return n||(n=e),n[0]=e[0]-t,n[1]=e[1]-t,n[2]=e[2]-t,n[3]=e[3]-t,n[4]=e[4]-t,n[5]=e[5]-t,n[6]=e[6]-t,n[7]=e[7]-t,n[8]=e[8]-t,n[9]=e[9]-t,n[10]=e[10]-t,n[11]=e[11]-t,n[12]=e[12]-t,n[13]=e[13]-t,n[14]=e[14]-t,n[15]=e[15]-t,n},subScalarMat4:function(e,t,n){return n||(n=t),n[0]=e-t[0],n[1]=e-t[1],n[2]=e-t[2],n[3]=e-t[3],n[4]=e-t[4],n[5]=e-t[5],n[6]=e-t[6],n[7]=e-t[7],n[8]=e-t[8],n[9]=e-t[9],n[10]=e-t[10],n[11]=e-t[11],n[12]=e-t[12],n[13]=e-t[13],n[14]=e-t[14],n[15]=e-t[15],n},mulMat4:function(e,t,n){n||(n=e);var r=e[0],i=e[1],a=e[2],s=e[3],o=e[4],l=e[5],u=e[6],c=e[7],f=e[8],p=e[9],A=e[10],d=e[11],v=e[12],h=e[13],I=e[14],y=e[15],m=t[0],w=t[1],g=t[2],E=t[3],T=t[4],b=t[5],D=t[6],P=t[7],R=t[8],C=t[9],_=t[10],B=t[11],O=t[12],S=t[13],N=t[14],L=t[15];return n[0]=m*r+w*o+g*f+E*v,n[1]=m*i+w*l+g*p+E*h,n[2]=m*a+w*u+g*A+E*I,n[3]=m*s+w*c+g*d+E*y,n[4]=T*r+b*o+D*f+P*v,n[5]=T*i+b*l+D*p+P*h,n[6]=T*a+b*u+D*A+P*I,n[7]=T*s+b*c+D*d+P*y,n[8]=R*r+C*o+_*f+B*v,n[9]=R*i+C*l+_*p+B*h,n[10]=R*a+C*u+_*A+B*I,n[11]=R*s+C*c+_*d+B*y,n[12]=O*r+S*o+N*f+L*v,n[13]=O*i+S*l+N*p+L*h,n[14]=O*a+S*u+N*A+L*I,n[15]=O*s+S*c+N*d+L*y,n},mulMat3:function(e,t,n){n||(n=new Y(9));var r=e[0],i=e[3],a=e[6],s=e[1],o=e[4],l=e[7],u=e[2],c=e[5],f=e[8],p=t[0],A=t[3],d=t[6],v=t[1],h=t[4],I=t[7],y=t[2],m=t[5],w=t[8];return n[0]=r*p+i*v+a*y,n[3]=r*A+i*h+a*m,n[6]=r*d+i*I+a*w,n[1]=s*p+o*v+l*y,n[4]=s*A+o*h+l*m,n[7]=s*d+o*I+l*w,n[2]=u*p+c*v+f*y,n[5]=u*A+c*h+f*m,n[8]=u*d+c*I+f*w,n},mulMat4Scalar:function(e,t,n){return n||(n=e),n[0]=e[0]*t,n[1]=e[1]*t,n[2]=e[2]*t,n[3]=e[3]*t,n[4]=e[4]*t,n[5]=e[5]*t,n[6]=e[6]*t,n[7]=e[7]*t,n[8]=e[8]*t,n[9]=e[9]*t,n[10]=e[10]*t,n[11]=e[11]*t,n[12]=e[12]*t,n[13]=e[13]*t,n[14]=e[14]*t,n[15]=e[15]*t,n},mulMat4v4:function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:$.vec4(),r=t[0],i=t[1],a=t[2],s=t[3];return n[0]=e[0]*r+e[4]*i+e[8]*a+e[12]*s,n[1]=e[1]*r+e[5]*i+e[9]*a+e[13]*s,n[2]=e[2]*r+e[6]*i+e[10]*a+e[14]*s,n[3]=e[3]*r+e[7]*i+e[11]*a+e[15]*s,n},transposeMat4:function(e,t){var n=e[4],r=e[14],i=e[8],a=e[13],s=e[12],o=e[9];if(!t||e===t){var l=e[1],u=e[2],c=e[3],f=e[6],p=e[7],A=e[11];return e[1]=n,e[2]=i,e[3]=s,e[4]=l,e[6]=o,e[7]=a,e[8]=u,e[9]=f,e[11]=r,e[12]=c,e[13]=p,e[14]=A,e}return t[0]=e[0],t[1]=n,t[2]=i,t[3]=s,t[4]=e[1],t[5]=e[5],t[6]=o,t[7]=a,t[8]=e[2],t[9]=e[6],t[10]=e[10],t[11]=r,t[12]=e[3],t[13]=e[7],t[14]=e[11],t[15]=e[15],t},transposeMat3:function(e,t){if(t===e){var n=e[1],r=e[2],i=e[5];t[1]=e[3],t[2]=e[6],t[3]=n,t[5]=e[7],t[6]=r,t[7]=i}else t[0]=e[0],t[1]=e[3],t[2]=e[6],t[3]=e[1],t[4]=e[4],t[5]=e[7],t[6]=e[2],t[7]=e[5],t[8]=e[8];return t},determinantMat4:function(e){var t=e[0],n=e[1],r=e[2],i=e[3],a=e[4],s=e[5],o=e[6],l=e[7],u=e[8],c=e[9],f=e[10],p=e[11],A=e[12],d=e[13],v=e[14],h=e[15];return A*c*o*i-u*d*o*i-A*s*f*i+a*d*f*i+u*s*v*i-a*c*v*i-A*c*r*l+u*d*r*l+A*n*f*l-t*d*f*l-u*n*v*l+t*c*v*l+A*s*r*p-a*d*r*p-A*n*o*p+t*d*o*p+a*n*v*p-t*s*v*p-u*s*r*h+a*c*r*h+u*n*o*h-t*c*o*h-a*n*f*h+t*s*f*h},inverseMat4:function(e,t){t||(t=e);var n=e[0],r=e[1],i=e[2],a=e[3],s=e[4],o=e[5],l=e[6],u=e[7],c=e[8],f=e[9],p=e[10],A=e[11],d=e[12],v=e[13],h=e[14],I=e[15],y=n*o-r*s,m=n*l-i*s,w=n*u-a*s,g=r*l-i*o,E=r*u-a*o,T=i*u-a*l,b=c*v-f*d,D=c*h-p*d,P=c*I-A*d,R=f*h-p*v,C=f*I-A*v,_=p*I-A*h,B=1/(y*_-m*C+w*R+g*P-E*D+T*b);return t[0]=(o*_-l*C+u*R)*B,t[1]=(-r*_+i*C-a*R)*B,t[2]=(v*T-h*E+I*g)*B,t[3]=(-f*T+p*E-A*g)*B,t[4]=(-s*_+l*P-u*D)*B,t[5]=(n*_-i*P+a*D)*B,t[6]=(-d*T+h*w-I*m)*B,t[7]=(c*T-p*w+A*m)*B,t[8]=(s*C-o*P+u*b)*B,t[9]=(-n*C+r*P-a*b)*B,t[10]=(d*E-v*w+I*y)*B,t[11]=(-c*E+f*w-A*y)*B,t[12]=(-s*R+o*D-l*b)*B,t[13]=(n*R-r*D+i*b)*B,t[14]=(-d*g+v*m-h*y)*B,t[15]=(c*g-f*m+p*y)*B,t},traceMat4:function(e){return e[0]+e[5]+e[10]+e[15]},translationMat4v:function(e,t){var n=t||$.identityMat4();return n[12]=e[0],n[13]=e[1],n[14]=e[2],n},translationMat3v:function(e,t){var n=t||$.identityMat3();return n[6]=e[0],n[7]=e[1],n},translationMat4c:(H=new Y(3),function(e,t,n,r){return H[0]=e,H[1]=t,H[2]=n,$.translationMat4v(H,r)}),translationMat4s:function(e,t){return $.translationMat4c(e,e,e,t)},translateMat4v:function(e,t){return $.translateMat4c(e[0],e[1],e[2],t)},translateMat4c:function(e,t,n,r){var i=r[3];r[0]+=i*e,r[1]+=i*t,r[2]+=i*n;var a=r[7];r[4]+=a*e,r[5]+=a*t,r[6]+=a*n;var s=r[11];r[8]+=s*e,r[9]+=s*t,r[10]+=s*n;var o=r[15];return r[12]+=o*e,r[13]+=o*t,r[14]+=o*n,r},setMat4Translation:function(e,t,n){return n[0]=e[0],n[1]=e[1],n[2]=e[2],n[3]=e[3],n[4]=e[4],n[5]=e[5],n[6]=e[6],n[7]=e[7],n[8]=e[8],n[9]=e[9],n[10]=e[10],n[11]=e[11],n[12]=t[0],n[13]=t[1],n[14]=t[2],n[15]=e[15],n},rotationMat4v:function(e,t,n){var r,i,a,s,o,l,u=$.normalizeVec4([t[0],t[1],t[2],0],[]),c=Math.sin(e),f=Math.cos(e),p=1-f,A=u[0],d=u[1],v=u[2];return r=A*d,i=d*v,a=v*A,s=A*c,o=d*c,l=v*c,(n=n||$.mat4())[0]=p*A*A+f,n[1]=p*r+l,n[2]=p*a-o,n[3]=0,n[4]=p*r-l,n[5]=p*d*d+f,n[6]=p*i+s,n[7]=0,n[8]=p*a+o,n[9]=p*i-s,n[10]=p*v*v+f,n[11]=0,n[12]=0,n[13]=0,n[14]=0,n[15]=1,n},rotationMat4c:function(e,t,n,r,i){return $.rotationMat4v(e,[t,n,r],i)},scalingMat4v:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:$.identityMat4();return t[0]=e[0],t[5]=e[1],t[10]=e[2],t},scalingMat3v:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:$.identityMat3();return t[0]=e[0],t[4]=e[1],t},scalingMat4c:function(){var e=new Y(3);return function(t,n,r,i){return e[0]=t,e[1]=n,e[2]=r,$.scalingMat4v(e,i)}}(),scaleMat4c:function(e,t,n,r){return r[0]*=e,r[4]*=t,r[8]*=n,r[1]*=e,r[5]*=t,r[9]*=n,r[2]*=e,r[6]*=t,r[10]*=n,r[3]*=e,r[7]*=t,r[11]*=n,r},scaleMat4v:function(e,t){var n=e[0],r=e[1],i=e[2];return t[0]*=n,t[4]*=r,t[8]*=i,t[1]*=n,t[5]*=r,t[9]*=i,t[2]*=n,t[6]*=r,t[10]*=i,t[3]*=n,t[7]*=r,t[11]*=i,t},scalingMat4s:function(e){return $.scalingMat4c(e,e,e)},rotationTranslationMat4:function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:$.mat4(),r=e[0],i=e[1],a=e[2],s=e[3],o=r+r,l=i+i,u=a+a,c=r*o,f=r*l,p=r*u,A=i*l,d=i*u,v=a*u,h=s*o,I=s*l,y=s*u;return n[0]=1-(A+v),n[1]=f+y,n[2]=p-I,n[3]=0,n[4]=f-y,n[5]=1-(c+v),n[6]=d+h,n[7]=0,n[8]=p+I,n[9]=d-h,n[10]=1-(c+A),n[11]=0,n[12]=t[0],n[13]=t[1],n[14]=t[2],n[15]=1,n},mat4ToEuler:function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:$.vec4(),r=$.clamp,i=e[0],a=e[4],s=e[8],o=e[1],l=e[5],u=e[9],c=e[2],f=e[6],p=e[10];return"XYZ"===t?(n[1]=Math.asin(r(s,-1,1)),Math.abs(s)<.99999?(n[0]=Math.atan2(-u,p),n[2]=Math.atan2(-a,i)):(n[0]=Math.atan2(f,l),n[2]=0)):"YXZ"===t?(n[0]=Math.asin(-r(u,-1,1)),Math.abs(u)<.99999?(n[1]=Math.atan2(s,p),n[2]=Math.atan2(o,l)):(n[1]=Math.atan2(-c,i),n[2]=0)):"ZXY"===t?(n[0]=Math.asin(r(f,-1,1)),Math.abs(f)<.99999?(n[1]=Math.atan2(-c,p),n[2]=Math.atan2(-a,l)):(n[1]=0,n[2]=Math.atan2(o,i))):"ZYX"===t?(n[1]=Math.asin(-r(c,-1,1)),Math.abs(c)<.99999?(n[0]=Math.atan2(f,p),n[2]=Math.atan2(o,i)):(n[0]=0,n[2]=Math.atan2(-a,l))):"YZX"===t?(n[2]=Math.asin(r(o,-1,1)),Math.abs(o)<.99999?(n[0]=Math.atan2(-u,l),n[1]=Math.atan2(-c,i)):(n[0]=0,n[1]=Math.atan2(s,p))):"XZY"===t&&(n[2]=Math.asin(-r(a,-1,1)),Math.abs(a)<.99999?(n[0]=Math.atan2(f,l),n[1]=Math.atan2(s,i)):(n[0]=Math.atan2(-u,p),n[1]=0)),n},composeMat4:function(e,t,n){var r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:$.mat4();return $.quaternionToRotationMat4(t,r),$.scaleMat4v(n,r),$.translateMat4v(e,r),r},decomposeMat4:function(){var e=new Y(3),t=new Y(16);return function(n,r,i,a){e[0]=n[0],e[1]=n[1],e[2]=n[2];var s=$.lenVec3(e);e[0]=n[4],e[1]=n[5],e[2]=n[6];var o=$.lenVec3(e);e[8]=n[8],e[9]=n[9],e[10]=n[10];var l=$.lenVec3(e);$.determinantMat4(n)<0&&(s=-s),r[0]=n[12],r[1]=n[13],r[2]=n[14],t.set(n);var u=1/s,c=1/o,f=1/l;return t[0]*=u,t[1]*=u,t[2]*=u,t[4]*=c,t[5]*=c,t[6]*=c,t[8]*=f,t[9]*=f,t[10]*=f,$.mat4ToQuaternion(t,i),a[0]=s,a[1]=o,a[2]=l,this}}(),getColMat4:function(e,t){var n=4*t;return[e[n],e[n+1],e[n+2],e[n+3]]},setRowMat4:function(e,t,n){e[t]=n[0],e[t+4]=n[1],e[t+8]=n[2],e[t+12]=n[3]},lookAtMat4v:function(e,t,n,r){r||(r=$.mat4());var i,a,s,o,l,u,c,f,p,A,d=e[0],v=e[1],h=e[2],I=n[0],y=n[1],m=n[2],w=t[0],g=t[1],E=t[2];return d===w&&v===g&&h===E?$.identityMat4():(i=d-w,a=v-g,s=h-E,o=y*(s*=A=1/Math.sqrt(i*i+a*a+s*s))-m*(a*=A),l=m*(i*=A)-I*s,u=I*a-y*i,(A=Math.sqrt(o*o+l*l+u*u))?(o*=A=1/A,l*=A,u*=A):(o=0,l=0,u=0),c=a*u-s*l,f=s*o-i*u,p=i*l-a*o,(A=Math.sqrt(c*c+f*f+p*p))?(c*=A=1/A,f*=A,p*=A):(c=0,f=0,p=0),r[0]=o,r[1]=c,r[2]=i,r[3]=0,r[4]=l,r[5]=f,r[6]=a,r[7]=0,r[8]=u,r[9]=p,r[10]=s,r[11]=0,r[12]=-(o*d+l*v+u*h),r[13]=-(c*d+f*v+p*h),r[14]=-(i*d+a*v+s*h),r[15]=1,r)},lookAtMat4c:function(e,t,n,r,i,a,s,o,l){return $.lookAtMat4v([e,t,n],[r,i,a],[s,o,l],[])},orthoMat4c:function(e,t,n,r,i,a,s){s||(s=$.mat4());var o=t-e,l=r-n,u=a-i;return s[0]=2/o,s[1]=0,s[2]=0,s[3]=0,s[4]=0,s[5]=2/l,s[6]=0,s[7]=0,s[8]=0,s[9]=0,s[10]=-2/u,s[11]=0,s[12]=-(e+t)/o,s[13]=-(r+n)/l,s[14]=-(a+i)/u,s[15]=1,s},frustumMat4v:function(e,t,n){n||(n=$.mat4());var r=[e[0],e[1],e[2],0],i=[t[0],t[1],t[2],0];$.addVec4(i,r,q),$.subVec4(i,r,J);var a=2*r[2],s=J[0],o=J[1],l=J[2];return n[0]=a/s,n[1]=0,n[2]=0,n[3]=0,n[4]=0,n[5]=a/o,n[6]=0,n[7]=0,n[8]=q[0]/s,n[9]=q[1]/o,n[10]=-q[2]/l,n[11]=-1,n[12]=0,n[13]=0,n[14]=-a*i[2]/l,n[15]=0,n},frustumMat4:function(e,t,n,r,i,a,s){s||(s=$.mat4());var o=t-e,l=r-n,u=a-i;return s[0]=2*i/o,s[1]=0,s[2]=0,s[3]=0,s[4]=0,s[5]=2*i/l,s[6]=0,s[7]=0,s[8]=(t+e)/o,s[9]=(r+n)/l,s[10]=-(a+i)/u,s[11]=-1,s[12]=0,s[13]=0,s[14]=-a*i*2/u,s[15]=0,s},perspectiveMat4:function(e,t,n,r,i){var a=[],s=[];return a[2]=n,s[2]=r,s[1]=a[2]*Math.tan(e/2),a[1]=-s[1],s[0]=s[1]*t,a[0]=-s[0],$.frustumMat4v(a,s,i)},compareMat4:function(e,t){return e[0]===t[0]&&e[1]===t[1]&&e[2]===t[2]&&e[3]===t[3]&&e[4]===t[4]&&e[5]===t[5]&&e[6]===t[6]&&e[7]===t[7]&&e[8]===t[8]&&e[9]===t[9]&&e[10]===t[10]&&e[11]===t[11]&&e[12]===t[12]&&e[13]===t[13]&&e[14]===t[14]&&e[15]===t[15]},transformPoint3:function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:$.vec3(),r=t[0],i=t[1],a=t[2];return n[0]=e[0]*r+e[4]*i+e[8]*a+e[12],n[1]=e[1]*r+e[5]*i+e[9]*a+e[13],n[2]=e[2]*r+e[6]*i+e[10]*a+e[14],n},transformPoint4:function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:$.vec4();return n[0]=e[0]*t[0]+e[4]*t[1]+e[8]*t[2]+e[12]*t[3],n[1]=e[1]*t[0]+e[5]*t[1]+e[9]*t[2]+e[13]*t[3],n[2]=e[2]*t[0]+e[6]*t[1]+e[10]*t[2]+e[14]*t[3],n[3]=e[3]*t[0]+e[7]*t[1]+e[11]*t[2]+e[15]*t[3],n},transformPoints3:function(e,t,n){for(var r,i,a,s,o,l=n||[],u=t.length,c=e[0],f=e[1],p=e[2],A=e[3],d=e[4],v=e[5],h=e[6],I=e[7],y=e[8],m=e[9],w=e[10],g=e[11],E=e[12],T=e[13],b=e[14],D=e[15],P=0;P2&&void 0!==arguments[2]?arguments[2]:t,o=t.length,l=e[0],u=e[1],c=e[2];e[3];var f=e[4],p=e[5],A=e[6];e[7];var d=e[8],v=e[9],h=e[10];e[11];var I=e[12],y=e[13],m=e[14];for(e[15],n=0;n2&&void 0!==arguments[2]?arguments[2]:t,o=t.length,l=e[0],u=e[1],c=e[2],f=e[3],p=e[4],A=e[5],d=e[6],v=e[7],h=e[8],I=e[9],y=e[10],m=e[11],w=e[12],g=e[13],E=e[14],T=e[15];for(n=0;n3&&void 0!==arguments[3]?arguments[3]:e,i=Math.cos(n),a=Math.sin(n),s=e[0]-t[0],o=e[1]-t[1];return r[0]=s*i-o*a+t[0],r[1]=s*a+o*i+t[1],e},rotateVec3X:function(e,t,n,r){var i=[],a=[];return i[0]=e[0]-t[0],i[1]=e[1]-t[1],i[2]=e[2]-t[2],a[0]=i[0],a[1]=i[1]*Math.cos(n)-i[2]*Math.sin(n),a[2]=i[1]*Math.sin(n)+i[2]*Math.cos(n),r[0]=a[0]+t[0],r[1]=a[1]+t[1],r[2]=a[2]+t[2],r},rotateVec3Y:function(e,t,n,r){var i=[],a=[];return i[0]=e[0]-t[0],i[1]=e[1]-t[1],i[2]=e[2]-t[2],a[0]=i[2]*Math.sin(n)+i[0]*Math.cos(n),a[1]=i[1],a[2]=i[2]*Math.cos(n)-i[0]*Math.sin(n),r[0]=a[0]+t[0],r[1]=a[1]+t[1],r[2]=a[2]+t[2],r},rotateVec3Z:function(e,t,n,r){var i=[],a=[];return i[0]=e[0]-t[0],i[1]=e[1]-t[1],i[2]=e[2]-t[2],a[0]=i[0]*Math.cos(n)-i[1]*Math.sin(n),a[1]=i[0]*Math.sin(n)+i[1]*Math.cos(n),a[2]=i[2],r[0]=a[0]+t[0],r[1]=a[1]+t[1],r[2]=a[2]+t[2],r},projectVec4:function(e,t){var n=1/e[3];return(t=t||$.vec2())[0]=e[0]*n,t[1]=e[1]*n,t},unprojectVec3:(x=new Y(16),M=new Y(16),F=new Y(16),function(e,t,n,r){return this.transformVec3(this.mulMat4(this.inverseMat4(t,x),this.inverseMat4(n,M),F),e,r)}),lerpVec3:function(e,t,n,r,i,a){var s=a||$.vec3(),o=(e-t)/(n-t);return s[0]=r[0]+o*(i[0]-r[0]),s[1]=r[1]+o*(i[1]-r[1]),s[2]=r[2]+o*(i[2]-r[2]),s},lerpMat4:function(e,t,n,r,i,a){var s=a||$.mat4(),o=(e-t)/(n-t);return s[0]=r[0]+o*(i[0]-r[0]),s[1]=r[1]+o*(i[1]-r[1]),s[2]=r[2]+o*(i[2]-r[2]),s[3]=r[3]+o*(i[3]-r[3]),s[4]=r[4]+o*(i[4]-r[4]),s[5]=r[5]+o*(i[5]-r[5]),s[6]=r[6]+o*(i[6]-r[6]),s[7]=r[7]+o*(i[7]-r[7]),s[8]=r[8]+o*(i[8]-r[8]),s[9]=r[9]+o*(i[9]-r[9]),s[10]=r[10]+o*(i[10]-r[10]),s[11]=r[11]+o*(i[11]-r[11]),s[12]=r[12]+o*(i[12]-r[12]),s[13]=r[13]+o*(i[13]-r[13]),s[14]=r[14]+o*(i[14]-r[14]),s[15]=r[15]+o*(i[15]-r[15]),s},flatten:function(e){var t,n,r,i,a,s=[];for(t=0,n=e.length;t0&&void 0!==arguments[0]?arguments[0]:$.vec4();return e[0]=0,e[1]=0,e[2]=0,e[3]=1,e},eulerToQuaternion:function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:$.vec4(),r=e[0]*$.DEGTORAD/2,i=e[1]*$.DEGTORAD/2,a=e[2]*$.DEGTORAD/2,s=Math.cos(r),o=Math.cos(i),l=Math.cos(a),u=Math.sin(r),c=Math.sin(i),f=Math.sin(a);return"XYZ"===t?(n[0]=u*o*l+s*c*f,n[1]=s*c*l-u*o*f,n[2]=s*o*f+u*c*l,n[3]=s*o*l-u*c*f):"YXZ"===t?(n[0]=u*o*l+s*c*f,n[1]=s*c*l-u*o*f,n[2]=s*o*f-u*c*l,n[3]=s*o*l+u*c*f):"ZXY"===t?(n[0]=u*o*l-s*c*f,n[1]=s*c*l+u*o*f,n[2]=s*o*f+u*c*l,n[3]=s*o*l-u*c*f):"ZYX"===t?(n[0]=u*o*l-s*c*f,n[1]=s*c*l+u*o*f,n[2]=s*o*f-u*c*l,n[3]=s*o*l+u*c*f):"YZX"===t?(n[0]=u*o*l+s*c*f,n[1]=s*c*l+u*o*f,n[2]=s*o*f-u*c*l,n[3]=s*o*l-u*c*f):"XZY"===t&&(n[0]=u*o*l-s*c*f,n[1]=s*c*l-u*o*f,n[2]=s*o*f+u*c*l,n[3]=s*o*l+u*c*f),n},mat4ToQuaternion:function(e){var t,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:$.vec4(),r=e[0],i=e[4],a=e[8],s=e[1],o=e[5],l=e[9],u=e[2],c=e[6],f=e[10],p=r+o+f;return p>0?(t=.5/Math.sqrt(p+1),n[3]=.25/t,n[0]=(c-l)*t,n[1]=(a-u)*t,n[2]=(s-i)*t):r>o&&r>f?(t=2*Math.sqrt(1+r-o-f),n[3]=(c-l)/t,n[0]=.25*t,n[1]=(i+s)/t,n[2]=(a+u)/t):o>f?(t=2*Math.sqrt(1+o-r-f),n[3]=(a-u)/t,n[0]=(i+s)/t,n[1]=.25*t,n[2]=(l+c)/t):(t=2*Math.sqrt(1+f-r-o),n[3]=(s-i)/t,n[0]=(a+u)/t,n[1]=(l+c)/t,n[2]=.25*t),n},vec3PairToQuaternion:function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:$.vec4(),r=Math.sqrt($.dotVec3(e,e)*$.dotVec3(t,t)),i=r+$.dotVec3(e,t);return i<1e-8*r?(i=0,Math.abs(e[0])>Math.abs(e[2])?(n[0]=-e[1],n[1]=e[0],n[2]=0):(n[0]=0,n[1]=-e[2],n[2]=e[1])):$.cross3Vec3(e,t,n),n[3]=i,$.normalizeQuaternion(n)},angleAxisToQuaternion:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:$.vec4(),n=e[3]/2,r=Math.sin(n);return t[0]=r*e[0],t[1]=r*e[1],t[2]=r*e[2],t[3]=Math.cos(n),t},quaternionToEuler:function(){var e=new Y(16);return function(t,n,r){return r=r||$.vec3(),$.quaternionToRotationMat4(t,e),$.mat4ToEuler(e,n,r),r}}(),mulQuaternions:function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:$.vec4(),r=e[0],i=e[1],a=e[2],s=e[3],o=t[0],l=t[1],u=t[2],c=t[3];return n[0]=s*o+r*c+i*u-a*l,n[1]=s*l+i*c+a*o-r*u,n[2]=s*u+a*c+r*l-i*o,n[3]=s*c-r*o-i*l-a*u,n},vec3ApplyQuaternion:function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:$.vec3(),r=t[0],i=t[1],a=t[2],s=e[0],o=e[1],l=e[2],u=e[3],c=u*r+o*a-l*i,f=u*i+l*r-s*a,p=u*a+s*i-o*r,A=-s*r-o*i-l*a;return n[0]=c*u+A*-s+f*-l-p*-o,n[1]=f*u+A*-o+p*-s-c*-l,n[2]=p*u+A*-l+c*-o-f*-s,n},quaternionToMat4:function(e,t){t=$.identityMat4(t);var n=e[0],r=e[1],i=e[2],a=e[3],s=2*n,o=2*r,l=2*i,u=s*a,c=o*a,f=l*a,p=s*n,A=o*n,d=l*n,v=o*r,h=l*r,I=l*i;return t[0]=1-(v+I),t[1]=A+f,t[2]=d-c,t[4]=A-f,t[5]=1-(p+I),t[6]=h+u,t[8]=d+c,t[9]=h-u,t[10]=1-(p+v),t},quaternionToRotationMat4:function(e,t){var n=e[0],r=e[1],i=e[2],a=e[3],s=n+n,o=r+r,l=i+i,u=n*s,c=n*o,f=n*l,p=r*o,A=r*l,d=i*l,v=a*s,h=a*o,I=a*l;return t[0]=1-(p+d),t[4]=c-I,t[8]=f+h,t[1]=c+I,t[5]=1-(u+d),t[9]=A-v,t[2]=f-h,t[6]=A+v,t[10]=1-(u+p),t[3]=0,t[7]=0,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t},normalizeQuaternion:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:e,n=$.lenVec4([e[0],e[1],e[2],e[3]]);return t[0]=e[0]/n,t[1]=e[1]/n,t[2]=e[2]/n,t[3]=e[3]/n,t},conjugateQuaternion:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:e;return t[0]=-e[0],t[1]=-e[1],t[2]=-e[2],t[3]=e[3],t},inverseQuaternion:function(e,t){return $.normalizeQuaternion($.conjugateQuaternion(e,t))},quaternionToAngleAxis:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:$.vec4(),n=(e=$.normalizeQuaternion(e,Z))[3],r=2*Math.acos(n),i=Math.sqrt(1-n*n);return i<.001?(t[0]=e[0],t[1]=e[1],t[2]=e[2]):(t[0]=e[0]/i,t[1]=e[1]/i,t[2]=e[2]/i),t[3]=r,t},AABB3:function(e){return new Y(e||6)},AABB2:function(e){return new Y(e||4)},OBB3:function(e){return new Y(e||32)},OBB2:function(e){return new Y(e||16)},Sphere3:function(e,t,n,r){return new Y([e,t,n,r])},transformOBB3:function(e,t){var n,r,i,a,s=arguments.length>2&&void 0!==arguments[2]?arguments[2]:t,o=t.length,l=e[0],u=e[1],c=e[2],f=e[3],p=e[4],A=e[5],d=e[6],v=e[7],h=e[8],I=e[9],y=e[10],m=e[11],w=e[12],g=e[13],E=e[14],T=e[15];for(n=0;no?s:o,a[1]+=l>u?l:u,a[2]+=c>f?c:f,Math.abs($.lenVec3(a))}}(),getAABB3Area:function(e){return(e[3]-e[0])*(e[4]-e[1])*(e[5]-e[2])},getAABB3Center:function(e,t){var n=t||$.vec3();return n[0]=(e[0]+e[3])/2,n[1]=(e[1]+e[4])/2,n[2]=(e[2]+e[5])/2,n},getAABB2Center:function(e,t){var n=t||$.vec2();return n[0]=(e[2]+e[0])/2,n[1]=(e[3]+e[1])/2,n},collapseAABB3:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:$.AABB3();return e[0]=$.MAX_DOUBLE,e[1]=$.MAX_DOUBLE,e[2]=$.MAX_DOUBLE,e[3]=$.MIN_DOUBLE,e[4]=$.MIN_DOUBLE,e[5]=$.MIN_DOUBLE,e},AABB3ToOBB3:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:$.OBB3();return t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=1,t[4]=e[3],t[5]=e[1],t[6]=e[2],t[7]=1,t[8]=e[3],t[9]=e[4],t[10]=e[2],t[11]=1,t[12]=e[0],t[13]=e[4],t[14]=e[2],t[15]=1,t[16]=e[0],t[17]=e[1],t[18]=e[5],t[19]=1,t[20]=e[3],t[21]=e[1],t[22]=e[5],t[23]=1,t[24]=e[3],t[25]=e[4],t[26]=e[5],t[27]=1,t[28]=e[0],t[29]=e[4],t[30]=e[5],t[31]=1,t},positions3ToAABB3:function(){var e=new Y(3);return function(t,n,r){n=n||$.AABB3();for(var i,a,s,o=$.MAX_DOUBLE,l=$.MAX_DOUBLE,u=$.MAX_DOUBLE,c=$.MIN_DOUBLE,f=$.MIN_DOUBLE,p=$.MIN_DOUBLE,A=0,d=t.length;Ac&&(c=i),a>f&&(f=a),s>p&&(p=s);return n[0]=o,n[1]=l,n[2]=u,n[3]=c,n[4]=f,n[5]=p,n}}(),OBB3ToAABB3:function(e){for(var t,n,r,i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:$.AABB3(),a=$.MAX_DOUBLE,s=$.MAX_DOUBLE,o=$.MAX_DOUBLE,l=$.MIN_DOUBLE,u=$.MIN_DOUBLE,c=$.MIN_DOUBLE,f=0,p=e.length;fl&&(l=t),n>u&&(u=n),r>c&&(c=r);return i[0]=a,i[1]=s,i[2]=o,i[3]=l,i[4]=u,i[5]=c,i},points3ToAABB3:function(e){for(var t,n,r,i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:$.AABB3(),a=$.MAX_DOUBLE,s=$.MAX_DOUBLE,o=$.MAX_DOUBLE,l=$.MIN_DOUBLE,u=$.MIN_DOUBLE,c=$.MIN_DOUBLE,f=0,p=e.length;fl&&(l=t),n>u&&(u=n),r>c&&(c=r);return i[0]=a,i[1]=s,i[2]=o,i[3]=l,i[4]=u,i[5]=c,i},points3ToSphere3:function(){var e=new Y(3);return function(t,n){n=n||$.vec4();var r,i=0,a=0,s=0,o=t.length;for(r=0;ru&&(u=l);return n[3]=u,n}}(),positions3ToSphere3:function(){var e=new Y(3),t=new Y(3);return function(n,r){r=r||$.vec4();var i,a=0,s=0,o=0,l=n.length,u=0;for(i=0;iu&&(u=c);return r[3]=u,r}}(),OBB3ToSphere3:function(){var e=new Y(3),t=new Y(3);return function(n,r){r=r||$.vec4();var i,a=0,s=0,o=0,l=n.length,u=l/4;for(i=0;if&&(f=c);return r[3]=f,r}}(),getSphere3Center:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:$.vec3();return t[0]=e[0],t[1]=e[1],t[2]=e[2],t},getPositionsCenter:function(e){for(var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:$.vec3(),n=0,r=0,i=0,a=0,s=e.length;at[0]&&(e[0]=t[0]),e[1]>t[1]&&(e[1]=t[1]),e[2]>t[2]&&(e[2]=t[2]),e[3]t[0]&&(e[0]=t[0]),e[1]>t[1]&&(e[1]=t[1]),e[2]>t[2]&&(e[2]=t[2]),e[3]n&&(e[0]=n),e[1]>r&&(e[1]=r),e[2]>i&&(e[2]=i),e[3]0&&void 0!==arguments[0]?arguments[0]:$.AABB2();return e[0]=$.MAX_DOUBLE,e[1]=$.MAX_DOUBLE,e[2]=$.MIN_DOUBLE,e[3]=$.MIN_DOUBLE,e},point3AABB3Intersect:function(e,t){return e[0]>t[0]||e[3]t[1]||e[4]t[2]||e[5]0?(r=e[0]*n[0],i=e[0]*n[3]):(r=e[0]*n[3],i=e[0]*n[0]),e[1]>0?(r+=e[1]*n[1],i+=e[1]*n[4]):(r+=e[1]*n[4],i+=e[1]*n[1]),e[2]>0?(r+=e[2]*n[2],i+=e[2]*n[5]):(r+=e[2]*n[5],i+=e[2]*n[2]),r<=-t&&i<=-t?-1:r>=-t&&i>=-t?1:0},OBB3ToAABB2:function(e){for(var t,n,r,i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:$.AABB2(),a=$.MAX_DOUBLE,s=$.MAX_DOUBLE,o=$.MIN_DOUBLE,l=$.MIN_DOUBLE,u=0,c=e.length;uo&&(o=t),n>l&&(l=n);return i[0]=a,i[1]=s,i[2]=o,i[3]=l,i},expandAABB2:function(e,t){return e[0]>t[0]&&(e[0]=t[0]),e[1]>t[1]&&(e[1]=t[1]),e[2]t[0]&&(e[0]=t[0]),e[1]>t[1]&&(e[1]=t[1]),e[2]3&&void 0!==arguments[3]?arguments[3]:e,i=.5*(e[0]+1),a=.5*(e[1]+1),s=.5*(e[2]+1),o=.5*(e[3]+1);return r[0]=Math.floor(i*t),r[1]=n-Math.floor(o*n),r[2]=Math.floor(s*t),r[3]=n-Math.floor(a*n),r},tangentQuadraticBezier:function(e,t,n,r){return 2*(1-e)*(n-t)+2*e*(r-n)},tangentQuadraticBezier3:function(e,t,n,r,i){return-3*t*(1-e)*(1-e)+3*n*(1-e)*(1-e)-6*e*n*(1-e)+6*e*r*(1-e)-3*e*e*r+3*e*e*i},tangentSpline:function(e){return 6*e*e-6*e+(3*e*e-4*e+1)+(-6*e*e+6*e)+(3*e*e-2*e)},catmullRomInterpolate:function(e,t,n,r,i){var a=.5*(n-e),s=.5*(r-t),o=i*i;return(2*t-2*n+a+s)*(i*o)+(-3*t+3*n-2*a-s)*o+a*i+t},b2p0:function(e,t){var n=1-e;return n*n*t},b2p1:function(e,t){return 2*(1-e)*e*t},b2p2:function(e,t){return e*e*t},b2:function(e,t,n,r){return this.b2p0(e,t)+this.b2p1(e,n)+this.b2p2(e,r)},b3p0:function(e,t){var n=1-e;return n*n*n*t},b3p1:function(e,t){var n=1-e;return 3*n*n*e*t},b3p2:function(e,t){return 3*(1-e)*e*e*t},b3p3:function(e,t){return e*e*e*t},b3:function(e,t,n,r,i){return this.b3p0(e,t)+this.b3p1(e,n)+this.b3p2(e,r)+this.b3p3(e,i)},triangleNormal:function(e,t,n){var r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:$.vec3(),i=t[0]-e[0],a=t[1]-e[1],s=t[2]-e[2],o=n[0]-e[0],l=n[1]-e[1],u=n[2]-e[2],c=a*u-s*l,f=s*o-i*u,p=i*l-a*o,A=Math.sqrt(c*c+f*f+p*p);return 0===A?(r[0]=0,r[1]=0,r[2]=0):(r[0]=c/A,r[1]=f/A,r[2]=p/A),r},rayTriangleIntersect:function(){var e=new Y(3),t=new Y(3),n=new Y(3),r=new Y(3),i=new Y(3);return function(a,s,o,l,u,c){c=c||$.vec3();var f=$.subVec3(l,o,e),p=$.subVec3(u,o,t),A=$.cross3Vec3(s,p,n),d=$.dotVec3(f,A);if(d<1e-6)return null;var v=$.subVec3(a,o,r),h=$.dotVec3(v,A);if(h<0||h>d)return null;var I=$.cross3Vec3(v,f,i),y=$.dotVec3(s,I);if(y<0||h+y>d)return null;var m=$.dotVec3(p,I)/d;return c[0]=a[0]+m*s[0],c[1]=a[1]+m*s[1],c[2]=a[2]+m*s[2],c}}(),rayPlaneIntersect:function(){var e=new Y(3),t=new Y(3),n=new Y(3),r=new Y(3);return function(i,a,s,o,l,u){u=u||$.vec3(),a=$.normalizeVec3(a,e);var c=$.subVec3(o,s,t),f=$.subVec3(l,s,n),p=$.cross3Vec3(c,f,r);$.normalizeVec3(p,p);var A=-$.dotVec3(s,p),d=-($.dotVec3(i,p)+A)/$.dotVec3(a,p);return u[0]=i[0]+d*a[0],u[1]=i[1]+d*a[1],u[2]=i[2]+d*a[2],u}}(),cartesianToBarycentric:function(){var e=new Y(3),t=new Y(3),n=new Y(3);return function(r,i,a,s,o){var l=$.subVec3(s,i,e),u=$.subVec3(a,i,t),c=$.subVec3(r,i,n),f=$.dotVec3(l,l),p=$.dotVec3(l,u),A=$.dotVec3(l,c),d=$.dotVec3(u,u),v=$.dotVec3(u,c),h=f*d-p*p;if(0===h)return null;var I=1/h,y=(d*A-p*v)*I,m=(f*v-p*A)*I;return o[0]=1-y-m,o[1]=m,o[2]=y,o}}(),barycentricInsideTriangle:function(e){var t=e[1],n=e[2];return n>=0&&t>=0&&n+t<1},barycentricToCartesian:function(e,t,n,r){var i=arguments.length>4&&void 0!==arguments[4]?arguments[4]:$.vec3(),a=e[0],s=e[1],o=e[2];return i[0]=t[0]*a+n[0]*s+r[0]*o,i[1]=t[1]*a+n[1]*s+r[1]*o,i[2]=t[2]*a+n[2]*s+r[2]*o,i},mergeVertices:function(e,t,n,r){var i,a,s,o,l,u,c={},f=[],p=[],A=t?[]:null,d=n?[]:null,v=[],h=Math.pow(10,4),I=0;for(l=0,u=e.length;l>24&255,s=f>>16&255,a=f>>8&255,i=255&f,r=3*t[d],u[p++]=e[r],u[p++]=e[r+1],u[p++]=e[r+2],c[A++]=i,c[A++]=a,c[A++]=s,c[A++]=o,r=3*t[d+1],u[p++]=e[r],u[p++]=e[r+1],u[p++]=e[r+2],c[A++]=i,c[A++]=a,c[A++]=s,c[A++]=o,r=3*t[d+2],u[p++]=e[r],u[p++]=e[r+1],u[p++]=e[r+2],c[A++]=i,c[A++]=a,c[A++]=s,c[A++]=o,f++;return{positions:u,colors:c}},faceToVertexNormals:function(e,t){var n,r,i,a,s,o,l,u,c,f,p,A=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},d=A.smoothNormalsAngleThreshold||20,v={},h=[],I={},y=4,m=Math.pow(10,y);for(l=0,c=e.length;ll[3]&&(l[3]=i[p]),i[p+1]l[4]&&(l[4]=i[p+1]),i[p+2]l[5]&&(l[5]=i[p+2])}if(n.length<20||a>10)return u.triangles=n,u.leaf=!0,u;e[0]=l[3]-l[0],e[1]=l[4]-l[1],e[2]=l[5]-l[2];var A=0;e[1]>e[A]&&(A=1),e[2]>e[A]&&(A=2),u.splitDim=A;var d=(l[A]+l[A+3])/2,v=new Array(n.length),h=0,I=new Array(n.length),y=0;for(s=0,o=n.length;s2&&void 0!==arguments[2]?arguments[2]:new Float32Array(e.length),r=0,i=e.length;r2&&void 0!==arguments[2]?arguments[2]:new Float32Array(e.length),r=0,i=e.length;r=0?1:-1),r=(1-Math.abs(n))*(r>=0?1:-1));var a=Math.sqrt(n*n+r*r+i*i);return t[0]=n/a,t[1]=r/a,t[2]=i/a,t},octDecodeVec2s:function(e,t){for(var n=0,r=0,i=e.length;n=0?1:-1),s=(1-Math.abs(a))*(s>=0?1:-1));var l=Math.sqrt(a*a+s*s+o*o);t[r+0]=a/l,t[r+1]=s/l,t[r+2]=o/l,r+=3}return t}};$.buildEdgeIndices=function(){var e=[],t=[],n=[],r=[],i=[],a=0,s=new Uint16Array(3),o=new Uint16Array(3),l=new Uint16Array(3),u=$.vec3(),c=$.vec3(),f=$.vec3(),p=$.vec3(),A=$.vec3(),d=$.vec3(),v=$.vec3();return function(h,I,y,m){!function(i,a){var s,o,l,u,c,f,p={},A=Math.pow(10,4),d=0;for(c=0,f=i.length;cO)||(C=n[D.index1],_=n[D.index2],(!N&&C>65535||_>65535)&&(N=!0),B.push(C),B.push(_));return N?new Uint32Array(B):new Uint16Array(B)}}(),$.planeClipsPositions3=function(e,t,n){for(var r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:3,i=0,a=n.length;i=this._maxTreeDepth)return e.entities=e.entities||[],void e.entities.push(t);if(e.left&&$.containsAABB3(e.left.aabb,r))this._insertEntity(e.left,t,n+1);else if(e.right&&$.containsAABB3(e.right.aabb,r))this._insertEntity(e.right,t,n+1);else{var i=e.aabb;ee[0]=i[3]-i[0],ee[1]=i[4]-i[1],ee[2]=i[5]-i[2];var a=0;if(ee[1]>ee[a]&&(a=1),ee[2]>ee[a]&&(a=2),!e.left){var s=i.slice();if(s[a+3]=(i[a]+i[a+3])/2,e.left={aabb:s},$.containsAABB3(s,r))return void this._insertEntity(e.left,t,n+1)}if(!e.right){var o=i.slice();if(o[a]=(i[a]+i[a+3])/2,e.right={aabb:o},$.containsAABB3(o,r))return void this._insertEntity(e.right,t,n+1)}e.entities=e.entities||[],e.entities.push(t)}}},{key:"destroy",value:function(){var e=this.viewer.scene;e.off(this._onModelLoaded),e.off(this._onModelUnloaded),this._root=null,this._needsRebuild=!0}}]),e}(),ne=function(){function e(){b(this,e),this._head=[],this._headLength=0,this._tail=[],this._index=0,this._length=0}return P(e,[{key:"length",get:function(){return this._length}},{key:"shift",value:function(){if(this._index>=this._headLength){var e=this._head;if(e.length=0,this._head=this._tail,this._tail=e,this._index=0,this._headLength=this._head.length,!this._headLength)return}var t=this._head[this._index];return this._index<0?delete this._head[this._index++]:this._head[this._index++]=void 0,this._length--,t}},{key:"push",value:function(e){return this._length++,this._tail.push(e),this}},{key:"unshift",value:function(e){return this._head[--this._index]=e,this._length++,this}}]),e}(),re={build:{version:"0.8"},client:{browser:navigator&&navigator.userAgent?navigator.userAgent:"n/a"},components:{scenes:0,models:0,meshes:0,objects:0},memory:{meshes:0,positions:0,colors:0,normals:0,uvs:0,indices:0,textures:0,transforms:0,materials:0,programs:0},frame:{frameCount:0,fps:0,useProgram:0,bindTexture:0,bindArray:0,drawElements:0,drawArrays:0,tasksRun:0,tasksScheduled:0}};var ie=[["0",10],["A",26],["a",26],["_",1],["$",1]].map((function(e){for(var t=[],n=e[0].charCodeAt(0),r=n+e[1],i=n;i0&&void 0!==arguments[0]?arguments[0]:-1,r=(new Date).getTime(),i=0;fe.length>0&&(n<0||r0&&oe>0){var n=1e3/oe;ve+=n,Ae.push(n),Ae.length>=30&&(ve-=Ae.shift()),re.frame.fps=Math.round(ve/Ae.length)}!function(e){var t=he.runTasks(e+10),n=he.getNumTasks();re.frame.tasksRun=t,re.frame.tasksScheduled=n,re.frame.tasksBudget=10}(t),function(e){for(var t in pe.time=e,he.scenes)if(he.scenes.hasOwnProperty(t)){var n=he.scenes[t];pe.sceneId=t,pe.startTime=n.startTime,pe.deltaTime=null!=pe.prevTime?pe.time-pe.prevTime:0,n.fire("tick",pe,!0)}pe.prevTime=e}(t),function(){var e,t,n,r,i,a=he.scenes,s=!1;for(i in a)a.hasOwnProperty(i)&&(e=a[i],(t=ue[i])||(t=ue[i]={}),n=e.ticksPerOcclusionTest,t.ticksPerOcclusionTest!==n&&(t.ticksPerOcclusionTest=n,t.renderCountdown=n),--e.occlusionTestCountdown<=0&&(e.doOcclusionTest(),e.occlusionTestCountdown=n),r=e.ticksPerRender,t.ticksPerRender!==r&&(t.ticksPerRender=r,t.renderCountdown=r),0==--t.renderCountdown&&(e.render(s),t.renderCountdown=r))}(),de=t,void 0!==window.requestPostAnimationFrame?window.requestPostAnimationFrame(e):requestAnimationFrame(e)};void 0!==window.requestPostAnimationFrame?window.requestPostAnimationFrame(Ie):requestAnimationFrame(Ie);var ye=function(){function e(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(b(this,e),this.scene=null,"Scene"===this.type)this.scene=this,this.viewer=n.viewer;else{if("Scene"===t.type)this.scene=t;else{if(!(t instanceof e))throw"Invalid param: owner must be a Component";this.scene=t.scene}this._owner=t}this._dontClear=!!n.dontClear,this._renderer=this.scene._renderer,this.meta=n.meta||{},this.id=n.id,this.destroyed=!1,this._attached={},this._attachments=null,this._subIdMap=null,this._subIdEvents=null,this._eventSubs=null,this._eventSubsNum=null,this._events=null,this._eventCallDepth=0,this._ownedComponents=null,this!==this.scene&&this.scene._addComponent(this),this._updateScheduled=!1,t&&t._own(this)}return P(e,[{key:"type",get:function(){return"Component"}},{key:"isComponent",get:function(){return!0}},{key:"glRedraw",value:function(){this._renderer&&(this._renderer.imageDirty(),this.castsShadow&&this._renderer.shadowsDirty())}},{key:"glResort",value:function(){this._renderer&&this._renderer.needStateSort()}},{key:"owner",get:function(){return this._owner}},{key:"isType",value:function(e){return this.type===e}},{key:"fire",value:function(e,t,n){this._events||(this._events={}),this._eventSubs||(this._eventSubs={},this._eventSubsNum={}),!0!==n&&(this._events[e]=t||!0);var r,i=this._eventSubs[e];if(i)for(var a in i)i.hasOwnProperty(a)&&(r=i[a],this._eventCallDepth++,this._eventCallDepth<300?r.callback.call(r.scope,t):this.error("fire: potential stack overflow from recursive event '"+e+"' - dropping this event"),this._eventCallDepth--)}},{key:"on",value:function(e,t,n){this._events||(this._events={}),this._subIdMap||(this._subIdMap=new G),this._subIdEvents||(this._subIdEvents={}),this._eventSubs||(this._eventSubs={}),this._eventSubsNum||(this._eventSubsNum={});var r=this._eventSubs[e];r?this._eventSubsNum[e]++:(r={},this._eventSubs[e]=r,this._eventSubsNum[e]=1);var i=this._subIdMap.addItem();r[i]={callback:t,scope:n||this},this._subIdEvents[i]=e;var a=this._events[e];return void 0!==a&&t.call(n||this,a),i}},{key:"off",value:function(e){if(null!=e&&this._subIdEvents){var t=this._subIdEvents[e];if(t){delete this._subIdEvents[e];var n=this._eventSubs[t];n&&(delete n[e],this._eventSubsNum[t]--),this._subIdMap.removeItem(e)}}}},{key:"once",value:function(e,t,n){var r=this,i=this.on(e,(function(e){r.off(i),t.call(n||this,e)}),n)}},{key:"hasSubs",value:function(e){return this._eventSubsNum&&this._eventSubsNum[e]>0}},{key:"log",value:function(e){e="[LOG]"+this._message(e),window.console.log(e),this.scene.fire("log",e)}},{key:"_message",value:function(e){return" ["+this.type+" "+le.inQuotes(this.id)+"]: "+e}},{key:"warn",value:function(e){e="[WARN]"+this._message(e),window.console.warn(e),this.scene.fire("warn",e)}},{key:"error",value:function(e){e="[ERROR]"+this._message(e),window.console.error(e),this.scene.fire("error",e)}},{key:"_attach",value:function(e){var t=e.name;if(t){var n=e.component,r=e.sceneDefault,i=e.sceneSingleton,a=e.type,s=e.on,o=!1!==e.recompiles;if(n&&(le.isNumeric(n)||le.isString(n))){var l=n;if(!(n=this.scene.components[l]))return void this.error("Component not found: "+le.inQuotes(l))}if(!n)if(!0===i){var u=this.scene.types[a];for(var c in u)if(u.hasOwnProperty){n=u[c];break}if(!n)return this.error("Scene has no default component for '"+t+"'"),null}else if(!0===r&&!(n=this.scene[t]))return this.error("Scene has no default component for '"+t+"'"),null;if(n){if(n.scene.id!==this.scene.id)return void this.error("Not in same scene: "+n.type+" "+le.inQuotes(n.id));if(a&&!n.isType(a))return void this.error("Expected a "+a+" type or subtype: "+n.type+" "+le.inQuotes(n.id))}this._attachments||(this._attachments={});var f,p,A,d=this._attached[t];if(d){if(n&&d.id===n.id)return;var v=this._attachments[d.id];for(p=0,A=(f=v.subs).length;p=0?1:0,this.testVertex[1]=this.normal[1]>=0?1:0,this.testVertex[2]=this.normal[2]>=0?1:0}}]),e}(),Te=P((function e(){b(this,e),this.planes=[new Ee,new Ee,new Ee,new Ee,new Ee,new Ee]}));function be(e,t,n){var r=$.mulMat4(n,t,ge),i=r[0],a=r[1],s=r[2],o=r[3],l=r[4],u=r[5],c=r[6],f=r[7],p=r[8],A=r[9],d=r[10],v=r[11],h=r[12],I=r[13],y=r[14],m=r[15];e.planes[0].set(o-i,f-l,v-p,m-h),e.planes[1].set(o+i,f+l,v+p,m+h),e.planes[2].set(o-a,f-u,v-A,m-I),e.planes[3].set(o+a,f+u,v+A,m+I),e.planes[4].set(o-s,f-c,v-d,m-y),e.planes[5].set(o+s,f+c,v+d,m+y)}function De(e,t){var n=Te.INSIDE,r=me,i=we;r[0]=t[0],r[1]=t[1],r[2]=t[2],i[0]=t[3],i[1]=t[4],i[2]=t[5];for(var a=[r,i],s=0;s<6;++s){var o=e.planes[s];if(o.normal[0]*a[o.testVertex[0]][0]+o.normal[1]*a[o.testVertex[1]][1]+o.normal[2]*a[o.testVertex[2]][2]+o.offset<0)return Te.OUTSIDE;o.normal[0]*a[1-o.testVertex[0]][0]+o.normal[1]*a[1-o.testVertex[1]][1]+o.normal[2]*a[1-o.testVertex[2]][2]+o.offset<0&&(n=Te.INTERSECT)}return n}Te.INSIDE=0,Te.INTERSECT=1,Te.OUTSIDE=2;var Pe=function(e){I(n,ye);var t=m(n);function n(){var e,r=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};if(b(this,n),!r.viewer)throw"[MarqueePicker] Missing config: viewer";if(!r.objectsKdTree3)throw"[MarqueePicker] Missing config: objectsKdTree3";return(e=t.call(this,r.viewer.scene,r)).viewer=r.viewer,e._objectsKdTree3=r.objectsKdTree3,e._canvasMarqueeCorner1=$.vec2(),e._canvasMarqueeCorner2=$.vec2(),e._canvasMarquee=$.AABB2(),e._marqueeFrustum=new Te,e._marqueeFrustumProjMat=$.mat4(),e._pickMode=!1,e._marqueeElement=document.createElement("div"),document.body.appendChild(e._marqueeElement),e._marqueeElement.style.position="absolute",e._marqueeElement.style["z-index"]="40000005",e._marqueeElement.style.width="8px",e._marqueeElement.style.height="8px",e._marqueeElement.style.visibility="hidden",e._marqueeElement.style.top="0px",e._marqueeElement.style.left="0px",e._marqueeElement.style["box-shadow"]="0 2px 5px 0 #182A3D;",e._marqueeElement.style.opacity=1,e._marqueeElement.style["pointer-events"]="none",e}return P(n,[{key:"setMarqueeCorner1",value:function(e){this._canvasMarqueeCorner1.set(e),this._canvasMarqueeCorner2.set(e),this._updateMarquee()}},{key:"setMarqueeCorner2",value:function(e){this._canvasMarqueeCorner2.set(e),this._updateMarquee()}},{key:"setMarquee",value:function(e,t){this._canvasMarqueeCorner1.set(e),this._canvasMarqueeCorner2.set(t),this._updateMarquee()}},{key:"setMarqueeVisible",value:function(e){this._marqueVisible=e,this._marqueeElement.style.visibility=e?"visible":"hidden"}},{key:"getMarqueeVisible",value:function(){return this._marqueVisible}},{key:"setPickMode",value:function(e){if(e!==n.PICK_MODE_INSIDE&&e!==n.PICK_MODE_INTERSECTS)throw"Illegal MarqueePicker pickMode: must be MarqueePicker.PICK_MODE_INSIDE or MarqueePicker.PICK_MODE_INTERSECTS";e!==this._pickMode&&(this._marqueeElement.style["background-image"]=e===n.PICK_MODE_INSIDE?"url(\"data:image/svg+xml,%3csvg width='100%25' height='100%25' xmlns='http://www.w3.org/2000/svg'%3e%3crect width='100%25' height='100%25' fill='none' rx='6' ry='6' stroke='%23333' stroke-width='4'/%3e%3c/svg%3e\")":"url(\"data:image/svg+xml,%3csvg width='100%25' height='100%25' xmlns='http://www.w3.org/2000/svg'%3e%3crect width='100%25' height='100%25' fill='none' rx='6' ry='6' stroke='%23333' stroke-width='4' stroke-dasharray='6%2c 14' stroke-dashoffset='0' stroke-linecap='square'/%3e%3c/svg%3e\")",this._pickMode=e)}},{key:"getPickMode",value:function(){return this._pickMode}},{key:"clear",value:function(){this.fire("clear",{})}},{key:"pick",value:function(){var e=this;this._updateMarquee(),this._buildMarqueeFrustum();var t=[];return(this._canvasMarquee[2]-this._canvasMarquee[0]>3||this._canvasMarquee[3]-this._canvasMarquee[1]>3)&&function r(i){var a=arguments.length>1&&void 0!==arguments[1]?arguments[1]:Te.INTERSECT;if(a===Te.INTERSECT&&(a=De(e._marqueeFrustum,i.aabb)),a!==Te.OUTSIDE){if(i.entities)for(var s=i.entities,o=0,l=s.length;o3||n>3)&&f.pick()}})),document.addEventListener("mouseup",(function(e){r.getActive()&&0===e.button&&(clearTimeout(c),A&&(f.setMarqueeVisible(!1),A=!1,d=!1,v=!0,f.viewer.cameraControl.pointerEnabled=!0))}),!0),p.addEventListener("mousemove",(function(e){r.getActive()&&0===e.button&&d&&(clearTimeout(c),A&&(s=e.pageX,o=e.pageY,u=e.offsetX,f.setMarqueeVisible(!0),f.setMarqueeCorner2([s,o]),f.setPickMode(l0}},{key:"log",value:function(e){console.log("[xeokit plugin ".concat(this.id,"]: ").concat(e))}},{key:"warn",value:function(e){console.warn("[xeokit plugin ".concat(this.id,"]: ").concat(e))}},{key:"error",value:function(e){console.error("[xeokit plugin ".concat(this.id,"]: ").concat(e))}},{key:"send",value:function(e,t){}},{key:"destroy",value:function(){this.viewer.removePlugin(this)}}]),e}(),_e=$.vec3(),Be=function(){var e=new Float64Array(16),t=new Float64Array(4),n=new Float64Array(4);return function(r,i,a){return a=a||e,t[0]=i[0],t[1]=i[1],t[2]=i[2],t[3]=1,$.transformVec4(r,t,n),$.setMat4Translation(r,n,a),a.slice()}}();function Oe(e,t,n){var r=Float32Array.from([e[0]])[0],i=e[0]-r,a=Float32Array.from([e[1]])[0],s=e[1]-a,o=Float32Array.from([e[2]])[0],l=e[2]-o;t[0]=r,t[1]=a,t[2]=o,n[0]=i,n[1]=s,n[2]=l}function Se(e,t,n){var r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:1e3,i=$.getPositionsCenter(e,_e),a=Math.round(i[0]/r)*r,s=Math.round(i[1]/r)*r,o=Math.round(i[2]/r)*r;n[0]=a,n[1]=s,n[2]=o;var l=0!==n[0]||0!==n[1]||0!==n[2];if(l)for(var u=0,c=e.length;u0?this.meshes[0]._colorize[3]/255:1},set:function(e){if(0!==this.meshes.length){var t=null!=e,n=this.meshes[0]._colorize[3],r=255;if(t){if(e<0?e=0:e>1&&(e=1),n===(r=Math.floor(255*e)))return}else if(n===(r=255))return;for(var i=0,a=this.meshes.length;i1&&void 0!==arguments[1]?arguments[1]:{};b(this,e),this._color=r.color||"black",this._highlightClass="viewer-ruler-wire-highlighted",this._wire=document.createElement("div"),this._wire.className+=this._wire.className?" viewer-ruler-wire":"viewer-ruler-wire",this._wireClickable=document.createElement("div"),this._wireClickable.className+=this._wireClickable.className?" viewer-ruler-wire-clickable":"viewer-ruler-wire-clickable",this._thickness=r.thickness||1,this._thicknessClickable=r.thicknessClickable||6,this._visible=!0,this._culled=!1;var i=this._wire,a=i.style;a.border="solid "+this._thickness+"px "+this._color,a.position="absolute",a["z-index"]=void 0===r.zIndex?"2000001":r.zIndex,a.width="0px",a.height="0px",a.visibility="visible",a.top="0px",a.left="0px",a["-webkit-transform-origin"]="0 0",a["-moz-transform-origin"]="0 0",a["-ms-transform-origin"]="0 0",a["-o-transform-origin"]="0 0",a["transform-origin"]="0 0",a["-webkit-transform"]="rotate(0deg)",a["-moz-transform"]="rotate(0deg)",a["-ms-transform"]="rotate(0deg)",a["-o-transform"]="rotate(0deg)",a.transform="rotate(0deg)",a.opacity=1,a["pointer-events"]="none",r.onContextMenu,t.appendChild(i);var s=this._wireClickable,o=s.style;o.border="solid "+this._thicknessClickable+"px "+this._color,o.position="absolute",o["z-index"]=void 0===r.zIndex?"2000002":r.zIndex+1,o.width="0px",o.height="0px",o.visibility="visible",o.top="0px",o.left="0px",o["-webkit-transform-origin"]="0 0",o["-moz-transform-origin"]="0 0",o["-ms-transform-origin"]="0 0",o["-o-transform-origin"]="0 0",o["transform-origin"]="0 0",o["-webkit-transform"]="rotate(0deg)",o["-moz-transform"]="rotate(0deg)",o["-ms-transform"]="rotate(0deg)",o["-o-transform"]="rotate(0deg)",o.transform="rotate(0deg)",o.opacity=0,o["pointer-events"]="none",r.onContextMenu,t.appendChild(s),r.onMouseOver&&s.addEventListener("mouseover",(function(e){r.onMouseOver(e,n)})),r.onMouseLeave&&s.addEventListener("mouseleave",(function(e){r.onMouseLeave(e,n)})),r.onMouseWheel&&s.addEventListener("wheel",(function(e){r.onMouseWheel(e,n)})),r.onContextMenu&&s.addEventListener("contextmenu",(function(e){r.onContextMenu(e,n),e.preventDefault()})),this._x1=0,this._y1=0,this._x2=0,this._y2=0,this._update()}return P(e,[{key:"visible",get:function(){return"visible"===this._wire.style.visibility}},{key:"_update",value:function(){var e=Math.abs(Math.sqrt((this._x1-this._x2)*(this._x1-this._x2)+(this._y1-this._y2)*(this._y1-this._y2))),t=180*Math.atan2(this._y2-this._y1,this._x2-this._x1)/Math.PI,n=this._wire.style;n.width=Math.round(e)+"px",n.left=Math.round(this._x1)+"px",n.top=Math.round(this._y1)+"px",n["-webkit-transform"]="rotate("+t+"deg)",n["-moz-transform"]="rotate("+t+"deg)",n["-ms-transform"]="rotate("+t+"deg)",n["-o-transform"]="rotate("+t+"deg)",n.transform="rotate("+t+"deg)";var r=this._wireClickable.style;r.width=Math.round(e)+"px",r.left=Math.round(this._x1)+"px",r.top=Math.round(this._y1)+"px",r["-webkit-transform"]="rotate("+t+"deg)",r["-moz-transform"]="rotate("+t+"deg)",r["-ms-transform"]="rotate("+t+"deg)",r["-o-transform"]="rotate("+t+"deg)",r.transform="rotate("+t+"deg)"}},{key:"setStartAndEnd",value:function(e,t,n,r){this._x1=e,this._y1=t,this._x2=n,this._y2=r,this._update()}},{key:"setColor",value:function(e){this._color=e||"black",this._wire.style.border="solid "+this._thickness+"px "+this._color}},{key:"setOpacity",value:function(e){this._wire.style.opacity=e}},{key:"setVisible",value:function(e){this._visible!==e&&(this._visible=!!e,this._wire.style.visibility=this._visible&&!this._culled?"visible":"hidden")}},{key:"setCulled",value:function(e){this._culled!==e&&(this._culled=!!e,this._wire.style.visibility=this._visible&&!this._culled?"visible":"hidden")}},{key:"setClickable",value:function(e){this._wireClickable.style["pointer-events"]=e?"all":"none"}},{key:"setHighlighted",value:function(e){this._highlighted!==e&&(this._highlighted=!!e,this._highlighted?this._wire.classList.add(this._highlightClass):this._wire.classList.remove(this._highlightClass))}},{key:"destroy",value:function(e){this._wire.parentElement&&this._wire.parentElement.removeChild(this._wire),this._wireClickable.parentElement&&this._wireClickable.parentElement.removeChild(this._wireClickable)}}]),e}(),Je=function(){function e(t){var n=this,r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};b(this,e),this._highlightClass="viewer-ruler-dot-highlighted",this._x=0,this._y=0,this._visible=!0,this._dot=document.createElement("div"),this._dot.className+=this._dot.className?" viewer-ruler-dot":"viewer-ruler-dot",this._dotClickable=document.createElement("div"),this._dotClickable.className+=this._dotClickable.className?" viewer-ruler-dot-clickable":"viewer-ruler-dot-clickable",this._visible=!0,this._culled=!1;var i=this._dot,a=i.style;a["border-radius"]="25px",a.border="solid 2px white",a.background="lightgreen",a.position="absolute",a["z-index"]=void 0===r.zIndex?"40000005":r.zIndex,a.width="8px",a.height="8px",a.visibility=!1!==r.visible?"visible":"hidden",a.top="0px",a.left="0px",a["box-shadow"]="0 2px 5px 0 #182A3D;",a.opacity=1,a["pointer-events"]="none",r.onContextMenu,t.appendChild(i);var s=this._dotClickable,o=s.style;o["border-radius"]="35px",o.border="solid 10px white",o.position="absolute",o["z-index"]=void 0===r.zIndex?"40000007":r.zIndex+1,o.width="8px",o.height="8px",o.visibility="visible",o.top="0px",o.left="0px",o.opacity=0,o["pointer-events"]="none",r.onContextMenu,t.appendChild(s),r.onMouseOver&&s.addEventListener("mouseover",(function(e){r.onMouseOver(e,n)})),r.onMouseLeave&&s.addEventListener("mouseleave",(function(e){r.onMouseLeave(e,n)})),r.onMouseWheel&&s.addEventListener("wheel",(function(e){r.onMouseWheel(e,n)})),r.onContextMenu&&s.addEventListener("contextmenu",(function(e){r.onContextMenu(e,n),e.preventDefault()})),this.setPos(r.x||0,r.y||0),this.setFillColor(r.fillColor),this.setBorderColor(r.borderColor)}return P(e,[{key:"setPos",value:function(e,t){this._x=e,this._y=t;var n=this._dot.style;n.left=Math.round(e)-4+"px",n.top=Math.round(t)-4+"px";var r=this._dotClickable.style;r.left=Math.round(e)-9+"px",r.top=Math.round(t)-9+"px"}},{key:"setFillColor",value:function(e){this._dot.style.background=e||"lightgreen"}},{key:"setBorderColor",value:function(e){this._dot.style.border="solid 2px"+(e||"black")}},{key:"setOpacity",value:function(e){this._dot.style.opacity=e}},{key:"setVisible",value:function(e){this._visible!==e&&(this._visible=!!e,this._dot.style.visibility=this._visible&&!this._culled?"visible":"hidden")}},{key:"setCulled",value:function(e){this._culled!==e&&(this._culled=!!e,this._dot.style.visibility=this._visible&&!this._culled?"visible":"hidden")}},{key:"setClickable",value:function(e){this._dotClickable.style["pointer-events"]=e?"all":"none"}},{key:"setHighlighted",value:function(e){this._highlighted!==e&&(this._highlighted=!!e,this._highlighted?this._dot.classList.add(this._highlightClass):this._dot.classList.remove(this._highlightClass))}},{key:"destroy",value:function(){this.setVisible(!1),this._dot.parentElement&&this._dot.parentElement.removeChild(this._dot),this._dotClickable.parentElement&&this._dotClickable.parentElement.removeChild(this._dotClickable)}}]),e}(),Ze=function(){function e(t){var n=this,r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};b(this,e),this._highlightClass="viewer-ruler-label-highlighted",this._prefix=r.prefix||"",this._x=0,this._y=0,this._visible=!0,this._culled=!1,this._label=document.createElement("div"),this._label.className+=this._label.className?" viewer-ruler-label":"viewer-ruler-label";var i=this._label,a=i.style;a["border-radius"]="5px",a.color="white",a.padding="4px",a.border="solid 1px",a.background="lightgreen",a.position="absolute",a["z-index"]=void 0===r.zIndex?"5000005":r.zIndex,a.width="auto",a.height="auto",a.visibility="visible",a.top="0px",a.left="0px",a["pointer-events"]="all",a.opacity=1,r.onContextMenu,i.innerText="",t.appendChild(i),this.setPos(r.x||0,r.y||0),this.setFillColor(r.fillColor),this.setBorderColor(r.fillColor),this.setText(r.text),r.onMouseOver&&i.addEventListener("mouseover",(function(e){r.onMouseOver(e,n),e.preventDefault()})),r.onMouseLeave&&i.addEventListener("mouseleave",(function(e){r.onMouseLeave(e,n),e.preventDefault()})),r.onMouseWheel&&i.addEventListener("wheel",(function(e){r.onMouseWheel(e,n)})),r.onContextMenu&&i.addEventListener("contextmenu",(function(e){r.onContextMenu(e,n),e.preventDefault()}))}return P(e,[{key:"setPos",value:function(e,t){this._x=e,this._y=t;var n=this._label.style;n.left=Math.round(e)-20+"px",n.top=Math.round(t)-12+"px"}},{key:"setPosOnWire",value:function(e,t,n,r){var i=e+.5*(n-e),a=t+.5*(r-t),s=this._label.style;s.left=Math.round(i)-20+"px",s.top=Math.round(a)-12+"px"}},{key:"setPosBetweenWires",value:function(e,t,n,r,i,a){var s=(e+n+i)/3,o=(t+r+a)/3,l=this._label.style;l.left=Math.round(s)-20+"px",l.top=Math.round(o)-12+"px"}},{key:"setText",value:function(e){this._label.innerHTML=this._prefix+(e||"")}},{key:"setFillColor",value:function(e){this._fillColor=e||"lightgreen",this._label.style.background=this._fillColor}},{key:"setBorderColor",value:function(e){this._borderColor=e||"black",this._label.style.border="solid 1px "+this._borderColor}},{key:"setOpacity",value:function(e){this._label.style.opacity=e}},{key:"setVisible",value:function(e){this._visible!==e&&(this._visible=!!e,this._label.style.visibility=this._visible&&!this._culled?"visible":"hidden")}},{key:"setCulled",value:function(e){this._culled!==e&&(this._culled=!!e,this._label.style.visibility=this._visible&&!this._culled?"visible":"hidden")}},{key:"setHighlighted",value:function(e){this._highlighted!==e&&(this._highlighted=!!e,this._highlighted?this._label.classList.add(this._highlightClass):this._label.classList.remove(this._highlightClass))}},{key:"setClickable",value:function(e){this._label.style["pointer-events"]=e?"all":"none"}},{key:"destroy",value:function(){this._label.parentElement&&this._label.parentElement.removeChild(this._label)}}]),e}(),$e=$.vec3(),et=$.vec3(),tt=function(e){I(n,ye);var t=m(n);function n(e){var r,i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(b(this,n),(r=t.call(this,e.viewer.scene,i)).plugin=e,r._container=i.container,!r._container)throw"config missing: container";r._color=i.color||e.defaultColor;var a=r.plugin.viewer.scene;r._originMarker=new Xe(a,i.origin),r._cornerMarker=new Xe(a,i.corner),r._targetMarker=new Xe(a,i.target),r._originWorld=$.vec3(),r._cornerWorld=$.vec3(),r._targetWorld=$.vec3(),r._wp=new Float64Array(12),r._vp=new Float64Array(12),r._pp=new Float64Array(12),r._cp=new Int16Array(6);var s=i.onMouseOver?function(e){i.onMouseOver(e,g(r))}:null,o=i.onMouseLeave?function(e){i.onMouseLeave(e,g(r))}:null,l=i.onContextMenu?function(e){i.onContextMenu(e,g(r))}:null,u=function(e){r.plugin.viewer.scene.canvas.canvas.dispatchEvent(new WheelEvent("wheel",e))};return r._originDot=new Je(r._container,{fillColor:r._color,zIndex:void 0!==e.zIndex?e.zIndex+2:void 0,onMouseOver:s,onMouseLeave:o,onMouseWheel:u,onContextMenu:l}),r._cornerDot=new Je(r._container,{fillColor:r._color,zIndex:void 0!==e.zIndex?e.zIndex+2:void 0,onMouseOver:s,onMouseLeave:o,onMouseWheel:u,onContextMenu:l}),r._targetDot=new Je(r._container,{fillColor:r._color,zIndex:void 0!==e.zIndex?e.zIndex+2:void 0,onMouseOver:s,onMouseLeave:o,onMouseWheel:u,onContextMenu:l}),r._originWire=new qe(r._container,{color:r._color||"blue",thickness:1,zIndex:e.zIndex,onMouseOver:s,onMouseLeave:o,onMouseWheel:u,onContextMenu:l}),r._targetWire=new qe(r._container,{color:r._color||"red",thickness:1,zIndex:void 0!==e.zIndex?e.zIndex+1:void 0,onMouseOver:s,onMouseLeave:o,onMouseWheel:u,onContextMenu:l}),r._angleLabel=new Ze(r._container,{fillColor:r._color||"#00BBFF",prefix:"",text:"",zIndex:e.zIndex+2,onMouseOver:s,onMouseLeave:o,onMouseWheel:u,onContextMenu:l}),r._wpDirty=!1,r._vpDirty=!1,r._cpDirty=!1,r._visible=!1,r._originVisible=!1,r._cornerVisible=!1,r._targetVisible=!1,r._originWireVisible=!1,r._targetWireVisible=!1,r._angleVisible=!1,r._labelsVisible=!1,r._clickable=!1,r._originMarker.on("worldPos",(function(e){r._originWorld.set(e||[0,0,0]),r._wpDirty=!0,r._needUpdate(0)})),r._cornerMarker.on("worldPos",(function(e){r._cornerWorld.set(e||[0,0,0]),r._wpDirty=!0,r._needUpdate(0)})),r._targetMarker.on("worldPos",(function(e){r._targetWorld.set(e||[0,0,0]),r._wpDirty=!0,r._needUpdate(0)})),r._onViewMatrix=a.camera.on("viewMatrix",(function(){r._vpDirty=!0,r._needUpdate(0)})),r._onProjMatrix=a.camera.on("projMatrix",(function(){r._cpDirty=!0,r._needUpdate()})),r._onCanvasBoundary=a.canvas.on("boundary",(function(){r._cpDirty=!0,r._needUpdate(0)})),r._onSectionPlaneUpdated=a.on("sectionPlaneUpdated",(function(){r._sectionPlanesDirty=!0,r._needUpdate()})),r.approximate=i.approximate,r.visible=i.visible,r.originVisible=i.originVisible,r.cornerVisible=i.cornerVisible,r.targetVisible=i.targetVisible,r.originWireVisible=i.originWireVisible,r.targetWireVisible=i.targetWireVisible,r.angleVisible=i.angleVisible,r.labelsVisible=i.labelsVisible,r}return P(n,[{key:"_update",value:function(){if(this._visible){var e=this.plugin.viewer.scene;if(this._wpDirty&&(this._wp[0]=this._originWorld[0],this._wp[1]=this._originWorld[1],this._wp[2]=this._originWorld[2],this._wp[3]=1,this._wp[4]=this._cornerWorld[0],this._wp[5]=this._cornerWorld[1],this._wp[6]=this._cornerWorld[2],this._wp[7]=1,this._wp[8]=this._targetWorld[0],this._wp[9]=this._targetWorld[1],this._wp[10]=this._targetWorld[2],this._wp[11]=1,this._wpDirty=!1,this._vpDirty=!0),this._vpDirty&&($.transformPositions4(e.camera.viewMatrix,this._wp,this._vp),this._vp[3]=1,this._vp[7]=1,this._vp[11]=1,this._vpDirty=!1,this._cpDirty=!0),this._sectionPlanesDirty){if(this._isSliced(this._wp))return this._angleLabel.setCulled(!0),this._originWire.setCulled(!0),this._targetWire.setCulled(!0),this._originDot.setCulled(!0),this._cornerDot.setCulled(!0),void this._targetDot.setCulled(!0);this._angleLabel.setCulled(!1),this._originWire.setCulled(!1),this._targetWire.setCulled(!1),this._originDot.setCulled(!1),this._cornerDot.setCulled(!1),this._targetDot.setCulled(!1),this._sectionPlanesDirty=!0}if(this._cpDirty){var t=-.3,n=this._originMarker.viewPos[2],r=this._cornerMarker.viewPos[2],i=this._targetMarker.viewPos[2];if(n>t||r>t||i>t)return this._originDot.setVisible(!1),this._cornerDot.setVisible(!1),this._targetDot.setVisible(!1),this._originWire.setVisible(!1),this._targetWire.setVisible(!1),void this._angleLabel.setCulled(!0);$.transformPositions4(e.camera.project.matrix,this._vp,this._pp);for(var a=this._pp,s=this._cp,o=e.canvas.canvas.getBoundingClientRect(),l=this._container.getBoundingClientRect(),u=o.top-l.top,c=o.left-l.left,f=e.canvas.boundary,p=f[2],A=f[3],d=0,v=0,h=a.length;v1&&void 0!==arguments[1]?arguments[1]:{};return b(this,n),(r=t.call(this,e.viewer.scene)).pointerLens=i.pointerLens,r._active=!1,r._mouseState=0,r._currentAngleMeasurement=null,r._initMarkerDiv(),r._onMouseHoverSurface=null,r._onHoverNothing=null,r._onPickedNothing=null,r._onPickedSurface=null,r._onInputMouseDown=null,r._onInputMouseUp=null,r._snapping=!1!==i.snapping,r._attachPlugin(e,i),r}return P(n,[{key:"_initMarkerDiv",value:function(){var e=document.createElement("div");e.setAttribute("id","myMarkerDiv");var t=this.scene.canvas.canvas;t.parentNode.insertBefore(e,t),e.style.background="black",e.style.border="2px solid blue",e.style.borderRadius="10px",e.style.width="5px",e.style.height="5px",e.style.margin="-200px -200px",e.style.zIndex="100",e.style.position="absolute",e.style.pointerEvents="none",this.markerDiv=e}},{key:"_destroyMarkerDiv",value:function(){if(this._markerDiv){var e=document.getElementById("myMarkerDiv");e.parentNode.removeChild(e),this._markerDiv=null}}},{key:"_attachPlugin",value:function(e){this.angleMeasurementsPlugin=e,this.plugin=e}},{key:"active",get:function(){return this._active}},{key:"snapping",get:function(){return this._snapping},set:function(e){e!==this._snapping?(this._snapping=e,this.deactivate(),this.activate()):this._snapping=e}},{key:"activate",value:function(){var e=this;if(!this._active){this.markerDiv||this._initMarkerDiv(),this.angleMeasurementsPlugin;var t=this.scene;t.input;var n=t.canvas.canvas,r=this.angleMeasurementsPlugin.viewer.cameraControl,i=this.pointerLens,a=!1,s=!1,o=0,l=0,u=$.vec3(),c=$.vec2();this._currentAngleMeasurement=null,this._onMouseHoverSurface=r.on(this._snapping?"hoverSnapOrSurface":"hoverSurface",(function(t){t.snappedToVertex||t.snappedToEdge?(i&&(i.visible=!0,i.canvasPos=t.canvasPos,i.snappedCanvasPos=t.snappedCanvasPos||t.canvasPos,i.snapped=!0),e.markerDiv.style.background="greenyellow",e.markerDiv.style.border="2px solid green"):(i&&(i.visible=!0,i.canvasPos=t.canvasPos,i.snappedCanvasPos=t.canvasPos,i.snapped=!1),e.markerDiv.style.background="pink",e.markerDiv.style.border="2px solid red");var r=t.snappedCanvasPos||t.canvasPos;switch(a=!0,s=t.entity,u.set(t.worldPos),c.set(r),e._mouseState){case 0:e.markerDiv.style.marginLeft="".concat(r[0]-5,"px"),e.markerDiv.style.marginTop="".concat(r[1]-5,"px");break;case 1:e._currentAngleMeasurement&&(e._currentAngleMeasurement.originWireVisible=!0,e._currentAngleMeasurement.targetWireVisible=!1,e._currentAngleMeasurement.cornerVisible=!0,e._currentAngleMeasurement.angleVisible=!1,e._currentAngleMeasurement.corner.worldPos=t.worldPos),e.markerDiv.style.marginLeft="-10000px",e.markerDiv.style.marginTop="-10000px",n.style.cursor="pointer";break;case 2:e._currentAngleMeasurement&&(e._currentAngleMeasurement.targetWireVisible=!0,e._currentAngleMeasurement.targetVisible=!0,e._currentAngleMeasurement.angleVisible=!0,e._currentAngleMeasurement.target.worldPos=t.worldPos),e.markerDiv.style.marginLeft="-10000px",e.markerDiv.style.marginTop="-10000px",n.style.cursor="pointer"}})),n.addEventListener("mousedown",this._onMouseDown=function(e){1===e.which&&(o=e.clientX,l=e.clientY)}),n.addEventListener("mouseup",this._onMouseUp=function(t){if(1===t.which&&!(t.clientX>o+20||t.clientXl+20||t.clientY1&&void 0!==arguments[1]?arguments[1]:{};return b(this,n),(r=t.call(this,"AngleMeasurements",e))._container=i.container||document.body,r._defaultControl=null,r._measurements={},r.defaultColor=void 0!==i.defaultColor?i.defaultColor:"#00BBFF",r.defaultLabelsVisible=!1!==i.defaultLabelsVisible,r.zIndex=i.zIndex||1e4,r._onMouseOver=function(e,t){r.fire("mouseOver",{plugin:g(r),angleMeasurement:t,measurement:t,event:e})},r._onMouseLeave=function(e,t){r.fire("mouseLeave",{plugin:g(r),angleMeasurement:t,measurement:t,event:e})},r._onContextMenu=function(e,t){r.fire("contextMenu",{plugin:g(r),angleMeasurement:t,measurement:t,event:e})},r}return P(n,[{key:"getContainerElement",value:function(){return this._container}},{key:"send",value:function(e,t){}},{key:"control",get:function(){return this._defaultControl||(this._defaultControl=new rt(this,{})),this._defaultControl}},{key:"measurements",get:function(){return this._measurements}},{key:"createMeasurement",value:function(){var e=this,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};this.viewer.scene.components[t.id]&&(this.error("Viewer scene component with this ID already exists: "+t.id),delete t.id);var n=t.origin,r=t.corner,i=t.target,a=new tt(this,{id:t.id,plugin:this,container:this._container,origin:{entity:n.entity,worldPos:n.worldPos},corner:{entity:r.entity,worldPos:r.worldPos},target:{entity:i.entity,worldPos:i.worldPos},visible:t.visible,originVisible:!0,originWireVisible:!0,cornerVisible:!0,targetWireVisible:!0,targetVisible:!0,onMouseOver:this._onMouseOver,onMouseLeave:this._onMouseLeave,onContextMenu:this._onContextMenu});return this._measurements[a.id]=a,a.on("destroyed",(function(){delete e._measurements[a.id]})),this.fire("measurementCreated",a),a}},{key:"destroyMeasurement",value:function(e){var t=this._measurements[e];t?(t.destroy(),this.fire("measurementDestroyed",t)):this.log("AngleMeasurement not found: "+e)}},{key:"setLabelsShown",value:function(e){for(var t=0,n=Object.entries(this.measurements);t

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

";le.isArray(r)&&(r=r.join("")),r=this._renderTemplate(r);var i=document.createRange().createContextualFragment(r);this._label=i.firstChild,this._container.appendChild(this._label),this._label.style.visibility=this._markerShown&&this._labelShown?"visible":"hidden",this._label.addEventListener("wheel",(function(t){e.plugin.viewer.scene.canvas.canvas.dispatchEvent(new WheelEvent("wheel",t))}))}}},{key:"_updatePosition",value:function(){var e=this.scene.canvas.boundary,t=e[0],n=e[1],r=this.canvasPos;this._marker.style.left=Math.floor(t+r[0])-12+"px",this._marker.style.top=Math.floor(n+r[1])-12+"px",this._marker.style["z-index"]=90005+Math.floor(this._viewPos[2])+1;this._label.style.left=20+Math.floor(t+r[0]+20)+"px",this._label.style.top=Math.floor(n+r[1]+-17)+"px",this._label.style["z-index"]=90005+Math.floor(this._viewPos[2])+1}},{key:"_renderTemplate",value:function(e){for(var t in this._values)if(this._values.hasOwnProperty(t)){var n=this._values[t];e=e.replace(new RegExp("{{"+t+"}}","g"),n)}return e}},{key:"setMarkerShown",value:function(e){e=!!e,this._markerShown!==e&&(this._markerShown=e,this._visibilityDirty=!0)}},{key:"getMarkerShown",value:function(){return this._markerShown}},{key:"setLabelShown",value:function(e){e=!!e,this._labelShown!==e&&(this._labelShown=e,this._visibilityDirty=!0)}},{key:"getLabelShown",value:function(){return this._labelShown}},{key:"setField",value:function(e,t){this._values[e]=t||"",this._htmlDirty=!0}},{key:"getField",value:function(e){return this._values[e]}},{key:"setValues",value:function(e){for(var t in e)if(e.hasOwnProperty(t)){var n=e[t];this.setField(t,n)}}},{key:"getValues",value:function(){return this._values}},{key:"destroy",value:function(){this._marker&&(this._markerExternal?(this._marker.removeEventListener("click",this._onMouseClickedExternalMarker),this._marker.removeEventListener("mouseenter",this._onMouseEnterExternalMarker),this._marker.removeEventListener("mouseleave",this._onMouseLeaveExternalMarker),this._marker=null):this._marker.parentNode.removeChild(this._marker)),this._label&&(this._labelExternal||this._label.parentNode.removeChild(this._label),this._label=null),this.scene.off(this._onTick),v(E(n.prototype),"destroy",this).call(this)}}]),n}(),st=$.vec3(),ot=$.vec3(),lt=$.vec3(),ut=function(e){I(n,Ce);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,"Annotations",e))._labelHTML=r.labelHTML||"
",i._markerHTML=r.markerHTML||"
",i._container=r.container||document.body,i._values=r.values||{},i.annotations={},i.surfaceOffset=r.surfaceOffset,i}return P(n,[{key:"getContainerElement",value:function(){return this._container}},{key:"send",value:function(e,t){if("clearAnnotations"===e)this.clear()}},{key:"surfaceOffset",get:function(){return this._surfaceOffset},set:function(e){null==e&&(e=.3),this._surfaceOffset=e}},{key:"createAnnotation",value:function(e){var t,n,r=this;if(this.viewer.scene.components[e.id]&&(this.error("Viewer component with this ID already exists: "+e.id),delete e.id),e.pickResult=e.pickResult||e.pickRecord,e.pickResult){var i=e.pickResult;if(i.worldPos&&i.worldNormal){var a=$.normalizeVec3(i.worldNormal,st),s=$.mulVec3Scalar(a,this._surfaceOffset,ot);t=$.addVec3(i.worldPos,s,lt),n=i.entity}else this.error("Param 'pickResult' does not have both worldPos and worldNormal")}else t=e.worldPos,n=e.entity;var o=null;e.markerElementId&&((o=document.getElementById(e.markerElementId))||this.error("Can't find DOM element for 'markerElementId' value '"+e.markerElementId+"' - defaulting to internally-generated empty DIV"));var l=null;e.labelElementId&&((l=document.getElementById(e.labelElementId))||this.error("Can't find DOM element for 'labelElementId' value '"+e.labelElementId+"' - defaulting to internally-generated empty DIV"));var u=new at(this.viewer.scene,{id:e.id,plugin:this,entity:n,worldPos:t,container:this._container,markerElement:o,labelElement:l,markerHTML:e.markerHTML||this._markerHTML,labelHTML:e.labelHTML||this._labelHTML,occludable:e.occludable,values:le.apply(e.values,le.apply(this._values,{})),markerShown:e.markerShown,labelShown:e.labelShown,eye:e.eye,look:e.look,up:e.up,projection:e.projection,visible:!1!==e.visible});return this.annotations[u.id]=u,u.on("destroyed",(function(){delete r.annotations[u.id],r.fire("annotationDestroyed",u.id)})),this.fire("annotationCreated",u.id),u}},{key:"destroyAnnotation",value:function(e){var t=this.annotations[e];t?t.destroy():this.log("Annotation not found: "+e)}},{key:"clear",value:function(){for(var e=Object.keys(this.annotations),t=0,n=e.length;t1&&void 0!==arguments[1]?arguments[1]:{};return b(this,n),(r=t.call(this,e,i))._canvas=i.canvas,r._element=null,r._isCustom=!1,i.elementId&&(r._element=document.getElementById(i.elementId),r._element?r._adjustPosition():r.error("Can't find given Spinner HTML element: '"+i.elementId+"' - will automatically create default element")),r._element||r._createDefaultSpinner(),r.processes=0,r}return P(n,[{key:"type",get:function(){return"Spinner"}},{key:"_createDefaultSpinner",value:function(){this._injectDefaultCSS();var e=document.createElement("div"),t=e.style;t["z-index"]="9000",t.position="absolute",e.innerHTML='
',this._canvas.parentElement.appendChild(e),this._element=e,this._isCustom=!1,this._adjustPosition()}},{key:"_injectDefaultCSS",value:function(){var e="xeokit-spinner-css";if(!document.getElementById(e)){var t=document.createElement("style");t.innerHTML=".sk-fading-circle { background: transparent; margin: 20px auto; width: 50px; height:50px; position: relative; } .sk-fading-circle .sk-circle { width: 120%; height: 120%; position: absolute; left: 0; top: 0; } .sk-fading-circle .sk-circle:before { content: ''; display: block; margin: 0 auto; width: 15%; height: 15%; background-color: #ff8800; border-radius: 100%; -webkit-animation: sk-circleFadeDelay 1.2s infinite ease-in-out both; animation: sk-circleFadeDelay 1.2s infinite ease-in-out both; } .sk-fading-circle .sk-circle2 { -webkit-transform: rotate(30deg); -ms-transform: rotate(30deg); transform: rotate(30deg); } .sk-fading-circle .sk-circle3 { -webkit-transform: rotate(60deg); -ms-transform: rotate(60deg); transform: rotate(60deg); } .sk-fading-circle .sk-circle4 { -webkit-transform: rotate(90deg); -ms-transform: rotate(90deg); transform: rotate(90deg); } .sk-fading-circle .sk-circle5 { -webkit-transform: rotate(120deg); -ms-transform: rotate(120deg); transform: rotate(120deg); } .sk-fading-circle .sk-circle6 { -webkit-transform: rotate(150deg); -ms-transform: rotate(150deg); transform: rotate(150deg); } .sk-fading-circle .sk-circle7 { -webkit-transform: rotate(180deg); -ms-transform: rotate(180deg); transform: rotate(180deg); } .sk-fading-circle .sk-circle8 { -webkit-transform: rotate(210deg); -ms-transform: rotate(210deg); transform: rotate(210deg); } .sk-fading-circle .sk-circle9 { -webkit-transform: rotate(240deg); -ms-transform: rotate(240deg); transform: rotate(240deg); } .sk-fading-circle .sk-circle10 { -webkit-transform: rotate(270deg); -ms-transform: rotate(270deg); transform: rotate(270deg); } .sk-fading-circle .sk-circle11 { -webkit-transform: rotate(300deg); -ms-transform: rotate(300deg); transform: rotate(300deg); } .sk-fading-circle .sk-circle12 { -webkit-transform: rotate(330deg); -ms-transform: rotate(330deg); transform: rotate(330deg); } .sk-fading-circle .sk-circle2:before { -webkit-animation-delay: -1.1s; animation-delay: -1.1s; } .sk-fading-circle .sk-circle3:before { -webkit-animation-delay: -1s; animation-delay: -1s; } .sk-fading-circle .sk-circle4:before { -webkit-animation-delay: -0.9s; animation-delay: -0.9s; } .sk-fading-circle .sk-circle5:before { -webkit-animation-delay: -0.8s; animation-delay: -0.8s; } .sk-fading-circle .sk-circle6:before { -webkit-animation-delay: -0.7s; animation-delay: -0.7s; } .sk-fading-circle .sk-circle7:before { -webkit-animation-delay: -0.6s; animation-delay: -0.6s; } .sk-fading-circle .sk-circle8:before { -webkit-animation-delay: -0.5s; animation-delay: -0.5s; } .sk-fading-circle .sk-circle9:before { -webkit-animation-delay: -0.4s; animation-delay: -0.4s; } .sk-fading-circle .sk-circle10:before { -webkit-animation-delay: -0.3s; animation-delay: -0.3s; } .sk-fading-circle .sk-circle11:before { -webkit-animation-delay: -0.2s; animation-delay: -0.2s; } .sk-fading-circle .sk-circle12:before { -webkit-animation-delay: -0.1s; animation-delay: -0.1s; } @-webkit-keyframes sk-circleFadeDelay { 0%, 39%, 100% { opacity: 0; } 40% { opacity: 1; } } @keyframes sk-circleFadeDelay { 0%, 39%, 100% { opacity: 0; } 40% { opacity: 1; } }",t.id=e,document.body.appendChild(t)}}},{key:"_adjustPosition",value:function(){if(!this._isCustom){var e=this._canvas,t=this._element,n=t.style;n.left=e.offsetLeft+.5*e.clientWidth-.5*t.clientWidth+"px",n.top=e.offsetTop+.5*e.clientHeight-.5*t.clientHeight+"px"}}},{key:"processes",get:function(){return this._processes},set:function(e){if(e=e||0,this._processes!==e&&!(e<0)){var t=this._processes;this._processes=e;var n=this._element;n&&(n.style.visibility=this._processes>0?"visible":"hidden"),this.fire("processes",this._processes),0===this._processes&&this._processes!==t&&this.fire("zeroProcesses",this._processes)}}},{key:"_destroy",value:function(){this._element&&!this._isCustom&&(this._element.parentNode.removeChild(this._element),this._element=null);var e=document.getElementById("xeokit-spinner-css");e&&e.parentNode.removeChild(e)}}]),n}(),ft=["webgl2","experimental-webgl","webkit-3d","moz-webgl","moz-glweb20"],pt=function(e){I(n,ye);var t=m(n);function n(e){var r,i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};b(this,n),(r=t.call(this,e,i))._backgroundColor=$.vec3([i.backgroundColor?i.backgroundColor[0]:1,i.backgroundColor?i.backgroundColor[1]:1,i.backgroundColor?i.backgroundColor[2]:1]),r._backgroundColorFromAmbientLight=!!i.backgroundColorFromAmbientLight,r.canvas=i.canvas,r.gl=null,r.webgl2=!1,r.transparent=!!i.transparent,r.contextAttr=i.contextAttr||{},r.contextAttr.alpha=r.transparent,r.contextAttr.preserveDrawingBuffer=!!r.contextAttr.preserveDrawingBuffer,r.contextAttr.stencil=!1,r.contextAttr.premultipliedAlpha=!!r.contextAttr.premultipliedAlpha,r.contextAttr.antialias=!1!==r.contextAttr.antialias,r.resolutionScale=i.resolutionScale,r.canvas.width=Math.round(r.canvas.clientWidth*r._resolutionScale),r.canvas.height=Math.round(r.canvas.clientHeight*r._resolutionScale),r.boundary=[r.canvas.offsetLeft,r.canvas.offsetTop,r.canvas.clientWidth,r.canvas.clientHeight],r._initWebGL(i);var a=g(r);r.canvas.addEventListener("webglcontextlost",r._webglcontextlostListener=function(e){console.time("webglcontextrestored"),a.scene._webglContextLost(),a.fire("webglcontextlost"),e.preventDefault()},!1),r.canvas.addEventListener("webglcontextrestored",r._webglcontextrestoredListener=function(e){a._initWebGL(),a.gl&&(a.scene._webglContextRestored(a.gl),a.fire("webglcontextrestored",a.gl),e.preventDefault()),console.timeEnd("webglcontextrestored")},!1);var s=!0,o=new ResizeObserver((function(e){var t,n=f(e);try{for(n.s();!(t=n.n()).done;){t.value.contentBoxSize&&(s=!0)}}catch(e){n.e(e)}finally{n.f()}}));return o.observe(r.canvas),r._tick=r.scene.on("tick",(function(){s&&(s=!1,a.canvas.width=Math.round(a.canvas.clientWidth*a._resolutionScale),a.canvas.height=Math.round(a.canvas.clientHeight*a._resolutionScale),a.boundary[0]=a.canvas.offsetLeft,a.boundary[1]=a.canvas.offsetTop,a.boundary[2]=a.canvas.clientWidth,a.boundary[3]=a.canvas.clientHeight,a.fire("boundary",a.boundary))})),r._spinner=new ct(r.scene,{canvas:r.canvas,elementId:i.spinnerElementId}),r}return P(n,[{key:"type",get:function(){return"Canvas"}},{key:"backgroundColorFromAmbientLight",get:function(){return this._backgroundColorFromAmbientLight},set:function(e){this._backgroundColorFromAmbientLight=!1!==e,this.glRedraw()}},{key:"backgroundColor",get:function(){return this._backgroundColor},set:function(e){e?(this._backgroundColor[0]=e[0],this._backgroundColor[1]=e[1],this._backgroundColor[2]=e[2]):(this._backgroundColor[0]=1,this._backgroundColor[1]=1,this._backgroundColor[2]=1),this.glRedraw()}},{key:"resolutionScale",get:function(){return this._resolutionScale},set:function(e){if((e=e||1)!==this._resolutionScale){this._resolutionScale=e;var t=this.canvas;t.width=Math.round(t.clientWidth*this._resolutionScale),t.height=Math.round(t.clientHeight*this._resolutionScale),this.glRedraw()}}},{key:"spinner",get:function(){return this._spinner}},{key:"_createCanvas",value:function(){var e="xeokit-canvas-"+$.createUUID(),t=document.getElementsByTagName("body")[0],n=document.createElement("div"),r=n.style;r.height="100%",r.width="100%",r.padding="0",r.margin="0",r.background="rgba(0,0,0,0);",r.float="left",r.left="0",r.top="0",r.position="absolute",r.opacity="1.0",r["z-index"]="-10000",n.innerHTML+='',t.appendChild(n),this.canvas=document.getElementById(e)}},{key:"_getElementXY",value:function(e){for(var t=0,n=0;e;)t+=e.offsetLeft-e.scrollLeft,n+=e.offsetTop-e.scrollTop,e=e.offsetParent;return{x:t,y:n}}},{key:"_initWebGL",value:function(){if(!this.gl)for(var e=0;!this.gl&&e0?dt.FS_MAX_FLOAT_PRECISION="highp":ht.getShaderPrecisionFormat(ht.FRAGMENT_SHADER,ht.MEDIUM_FLOAT).precision>0?dt.FS_MAX_FLOAT_PRECISION="mediump":dt.FS_MAX_FLOAT_PRECISION="lowp":dt.FS_MAX_FLOAT_PRECISION="mediump",dt.DEPTH_BUFFER_BITS=ht.getParameter(ht.DEPTH_BITS),dt.MAX_TEXTURE_SIZE=ht.getParameter(ht.MAX_TEXTURE_SIZE),dt.MAX_CUBE_MAP_SIZE=ht.getParameter(ht.MAX_CUBE_MAP_TEXTURE_SIZE),dt.MAX_RENDERBUFFER_SIZE=ht.getParameter(ht.MAX_RENDERBUFFER_SIZE),dt.MAX_TEXTURE_UNITS=ht.getParameter(ht.MAX_COMBINED_TEXTURE_IMAGE_UNITS),dt.MAX_TEXTURE_IMAGE_UNITS=ht.getParameter(ht.MAX_TEXTURE_IMAGE_UNITS),dt.MAX_VERTEX_ATTRIBS=ht.getParameter(ht.MAX_VERTEX_ATTRIBS),dt.MAX_VERTEX_UNIFORM_VECTORS=ht.getParameter(ht.MAX_VERTEX_UNIFORM_VECTORS),dt.MAX_FRAGMENT_UNIFORM_VECTORS=ht.getParameter(ht.MAX_FRAGMENT_UNIFORM_VECTORS),dt.MAX_VARYING_VECTORS=ht.getParameter(ht.MAX_VARYING_VECTORS),ht.getSupportedExtensions().forEach((function(e){dt.SUPPORTED_EXTENSIONS[e]=!0})))}var It=function(){function e(){b(this,e),this.entity=null,this.primitive=null,this.primIndex=-1,this.pickSurfacePrecision=!1,this.touchInput=!1,this.snappedToEdge=!1,this.snappedToVertex=!1,this._origin=new Float64Array([0,0,0]),this._direction=new Float64Array([0,0,0]),this._indices=new Int32Array(3),this._localPos=new Float64Array([0,0,0]),this._worldPos=new Float64Array([0,0,0]),this._viewPos=new Float64Array([0,0,0]),this._canvasPos=new Int16Array([0,0]),this._snappedCanvasPos=new Int16Array([0,0]),this._bary=new Float64Array([0,0,0]),this._worldNormal=new Float64Array([0,0,0]),this._uv=new Float64Array([0,0]),this.reset()}return P(e,[{key:"canvasPos",get:function(){return this._gotCanvasPos?this._canvasPos:null},set:function(e){e?(this._canvasPos[0]=e[0],this._canvasPos[1]=e[1],this._gotCanvasPos=!0):this._gotCanvasPos=!1}},{key:"origin",get:function(){return this._gotOrigin?this._origin:null},set:function(e){e?(this._origin[0]=e[0],this._origin[1]=e[1],this._origin[2]=e[2],this._gotOrigin=!0):this._gotOrigin=!1}},{key:"direction",get:function(){return this._gotDirection?this._direction:null},set:function(e){e?(this._direction[0]=e[0],this._direction[1]=e[1],this._direction[2]=e[2],this._gotDirection=!0):this._gotDirection=!1}},{key:"indices",get:function(){return this.entity&&this._gotIndices?this._indices:null},set:function(e){e?(this._indices[0]=e[0],this._indices[1]=e[1],this._indices[2]=e[2],this._gotIndices=!0):this._gotIndices=!1}},{key:"localPos",get:function(){return this.entity&&this._gotLocalPos?this._localPos:null},set:function(e){e?(this._localPos[0]=e[0],this._localPos[1]=e[1],this._localPos[2]=e[2],this._gotLocalPos=!0):this._gotLocalPos=!1}},{key:"snappedCanvasPos",get:function(){return this._gotSnappedCanvasPos?this._snappedCanvasPos:null},set:function(e){e?(this._snappedCanvasPos[0]=e[0],this._snappedCanvasPos[1]=e[1],this._gotSnappedCanvasPos=!0):this._gotSnappedCanvasPos=!1}},{key:"worldPos",get:function(){return this._gotWorldPos?this._worldPos:null},set:function(e){e?(this._worldPos[0]=e[0],this._worldPos[1]=e[1],this._worldPos[2]=e[2],this._gotWorldPos=!0):this._gotWorldPos=!1}},{key:"viewPos",get:function(){return this.entity&&this._gotViewPos?this._viewPos:null},set:function(e){e?(this._viewPos[0]=e[0],this._viewPos[1]=e[1],this._viewPos[2]=e[2],this._gotViewPos=!0):this._gotViewPos=!1}},{key:"bary",get:function(){return this.entity&&this._gotBary?this._bary:null},set:function(e){e?(this._bary[0]=e[0],this._bary[1]=e[1],this._bary[2]=e[2],this._gotBary=!0):this._gotBary=!1}},{key:"worldNormal",get:function(){return this.entity&&this._gotWorldNormal?this._worldNormal:null},set:function(e){e?(this._worldNormal[0]=e[0],this._worldNormal[1]=e[1],this._worldNormal[2]=e[2],this._gotWorldNormal=!0):this._gotWorldNormal=!1}},{key:"uv",get:function(){return this.entity&&this._gotUV?this._uv:null},set:function(e){e?(this._uv[0]=e[0],this._uv[1]=e[1],this._gotUV=!0):this._gotUV=!1}},{key:"reset",value:function(){this.entity=null,this.primIndex=-1,this.primitive=null,this.pickSurfacePrecision=!1,this._gotCanvasPos=!1,this._gotSnappedCanvasPos=!1,this._gotOrigin=!1,this._gotDirection=!1,this._gotIndices=!1,this._gotLocalPos=!1,this._gotWorldPos=!1,this._gotViewPos=!1,this._gotBary=!1,this._gotWorldNormal=!1,this._gotUV=!1,this.touchInput=!1,this.snappedToEdge=!1,this.snappedToVertex=!1}}]),e}(),yt=function(){function e(t,n,r){if(b(this,e),this.allocated=!1,this.compiled=!1,this.handle=t.createShader(n),this.handle){if(this.allocated=!0,t.shaderSource(this.handle,r),t.compileShader(this.handle),this.compiled=t.getShaderParameter(this.handle,t.COMPILE_STATUS),!this.compiled&&!t.isContextLost()){for(var i=r.split("\n"),a=[],s=0;s0&&"/"===t.charAt(n+1)&&(t=t.substring(0,n)),r.push(t);return r.join("\n")}function Tt(e){console.error(e.join("\n"))}var bt=function(){function e(t,n){b(this,e),this.id=gt.addItem({}),this.source=n,this.init(t)}return P(e,[{key:"init",value:function(e){if(this.gl=e,this.allocated=!1,this.compiled=!1,this.linked=!1,this.validated=!1,this.errors=null,this.uniforms={},this.samplers={},this.attributes={},this._vertexShader=new yt(e,e.VERTEX_SHADER,Et(this.source.vertex)),this._fragmentShader=new yt(e,e.FRAGMENT_SHADER,Et(this.source.fragment)),!this._vertexShader.allocated)return this.errors=["Vertex shader failed to allocate"].concat(this._vertexShader.errors),void Tt(this.errors);if(!this._fragmentShader.allocated)return this.errors=["Fragment shader failed to allocate"].concat(this._fragmentShader.errors),void Tt(this.errors);if(this.allocated=!0,!this._vertexShader.compiled)return this.errors=["Vertex shader failed to compile"].concat(this._vertexShader.errors),void Tt(this.errors);if(!this._fragmentShader.compiled)return this.errors=["Fragment shader failed to compile"].concat(this._fragmentShader.errors),void Tt(this.errors);var t,n,r,i,a;if(this.compiled=!0,this.handle=e.createProgram(),this.handle){if(e.attachShader(this.handle,this._vertexShader.handle),e.attachShader(this.handle,this._fragmentShader.handle),e.linkProgram(this.handle),this.linked=e.getProgramParameter(this.handle,e.LINK_STATUS),this.validated=!0,!this.linked||!this.validated)return this.errors=[],this.errors.push(""),this.errors.push(e.getProgramInfoLog(this.handle)),this.errors.push("\nVertex shader:\n"),this.errors=this.errors.concat(this.source.vertex),this.errors.push("\nFragment shader:\n"),this.errors=this.errors.concat(this.source.fragment),void Tt(this.errors);var s=e.getProgramParameter(this.handle,e.ACTIVE_UNIFORMS);for(n=0;nthis.dataLength?e.slice(0,this.dataLength):e,this.usage),this._gl.bindBuffer(this.type,null),this.length=e.length,this.numItems=this.length/this.itemSize,this.allocated=!0)}},{key:"setData",value:function(e,t){this.allocated&&(e.length+(t||0)>this.length?(this.destroy(),this._allocate(e)):(this._gl.bindBuffer(this.type,this._handle),t||0===t?this._gl.bufferSubData(this.type,t*this.itemByteSize,e):this._gl.bufferData(this.type,e,this.usage),this._gl.bindBuffer(this.type,null)))}},{key:"bind",value:function(){this.allocated&&this._gl.bindBuffer(this.type,this._handle)}},{key:"unbind",value:function(){this.allocated&&this._gl.bindBuffer(this.type,null)}},{key:"destroy",value:function(){this.allocated&&(this._gl.deleteBuffer(this._handle),this._handle=null,this.allocated=!1)}}]),e}(),Pt=function(){function e(t,n){b(this,e),this.scene=t,this.aabb=$.AABB3(),this.origin=$.vec3(n),this.originHash=this.origin.join(),this.numMarkers=0,this.markers={},this.markerList=[],this.markerIndices={},this.positions=[],this.indices=[],this.positionsBuf=null,this.lenPositionsBuf=0,this.indicesBuf=null,this.sectionPlanesActive=[],this.culledBySectionPlanes=!1,this.occlusionTestList=[],this.lenOcclusionTestList=0,this.pixels=[],this.aabbDirty=!1,this.markerListDirty=!1,this.positionsDirty=!0,this.occlusionTestListDirty=!1}return P(e,[{key:"addMarker",value:function(e){this.markers[e.id]=e,this.markerListDirty=!0,this.numMarkers++}},{key:"markerWorldPosUpdated",value:function(e){if(this.markers[e.id]){var t=this.markerIndices[e.id];this.positions[3*t+0]=e.worldPos[0],this.positions[3*t+1]=e.worldPos[1],this.positions[3*t+2]=e.worldPos[2],this.positionsDirty=!0}}},{key:"removeMarker",value:function(e){delete this.markers[e.id],this.markerListDirty=!0,this.numMarkers--}},{key:"update",value:function(){this.markerListDirty&&(this._buildMarkerList(),this.markerListDirty=!1,this.positionsDirty=!0,this.occlusionTestListDirty=!0),this.positionsDirty&&(this._buildPositions(),this.positionsDirty=!1,this.aabbDirty=!0,this.vbosDirty=!0),this.aabbDirty&&(this._buildAABB(),this.aabbDirty=!1),this.vbosDirty&&(this._buildVBOs(),this.vbosDirty=!1),this.occlusionTestListDirty&&this._buildOcclusionTestList(),this._updateActiveSectionPlanes()}},{key:"_buildMarkerList",value:function(){for(var e in this.numMarkers=0,this.markers)this.markers.hasOwnProperty(e)&&(this.markerList[this.numMarkers]=this.markers[e],this.markerIndices[e]=this.numMarkers,this.numMarkers++);this.markerList.length=this.numMarkers}},{key:"_buildPositions",value:function(){for(var e=0,t=0;t-t)o._setVisible(!1);else{var l=o.canvasPos,u=l[0],c=l[1];u+10<0||c+10<0||u-10>r||c-10>i?o._setVisible(!1):!o.entity||o.entity.visible?o.occludable?(this.occlusionTestList[this.lenOcclusionTestList++]=o,this.pixels[a++]=u,this.pixels[a++]=c):o._setVisible(!0):o._setVisible(!1)}}}},{key:"_updateActiveSectionPlanes",value:function(){var e=this.scene._sectionPlanesState.sectionPlanes,t=e.length;if(t>0)for(var n=0;n0,n=[];return n.push("#version 300 es"),n.push("// OcclusionTester vertex shader"),n.push("in vec3 position;"),n.push("uniform mat4 modelMatrix;"),n.push("uniform mat4 viewMatrix;"),n.push("uniform mat4 projMatrix;"),e.logarithmicDepthBufferEnabled&&(n.push("uniform float logDepthBufFC;"),n.push("out float vFragDepth;")),t&&n.push("out vec4 vWorldPosition;"),n.push("void main(void) {"),n.push("vec4 worldPosition = vec4(position, 1.0); "),n.push(" vec4 viewPosition = viewMatrix * worldPosition;"),t&&n.push(" vWorldPosition = worldPosition;"),n.push(" vec4 clipPos = projMatrix * viewPosition;"),n.push(" gl_PointSize = 20.0;"),e.logarithmicDepthBufferEnabled?n.push("vFragDepth = 1.0 + clipPos.w;"):n.push("clipPos.z += -0.001;"),n.push(" gl_Position = clipPos;"),n.push("}"),n}},{key:"_buildFragmentShaderSource",value:function(){var e=this._scene,t=e._sectionPlanesState,n=t.sectionPlanes.length>0,r=[];if(r.push("#version 300 es"),r.push("// OcclusionTester fragment shader"),r.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),r.push("precision highp float;"),r.push("precision highp int;"),r.push("#else"),r.push("precision mediump float;"),r.push("precision mediump int;"),r.push("#endif"),e.logarithmicDepthBufferEnabled&&(r.push("uniform float logDepthBufFC;"),r.push("in float vFragDepth;")),n){r.push("in vec4 vWorldPosition;");for(var i=0;i 0.0) { discard; }")}return e.logarithmicDepthBufferEnabled&&r.push("gl_FragDepth = log2( vFragDepth ) * logDepthBufFC * 0.5;"),r.push(" outColor = vec4(1.0, 0.0, 0.0, 1.0); "),r.push("}"),r}},{key:"_buildProgram",value:function(){this._program&&this._program.destroy();var e=this._scene,t=e.canvas.gl,n=e._sectionPlanesState;if(this._program=new bt(t,this._shaderSource),this._program.errors)this.errors=this._program.errors;else{var r=this._program;this._uViewMatrix=r.getLocation("viewMatrix"),this._uProjMatrix=r.getLocation("projMatrix"),this._uSectionPlanes=[];for(var i=0,a=n.sectionPlanes.length;i0)for(var p=r.sectionPlanes,A=0;A= ( 1.0 - EPSILON ) ) {\n \t\t\tcontinue;\n \t\t}\n\n \t\tfloat sampleViewZ = getViewZ( sampleDepth );\n \t\tvec3 sampleViewPosition = getViewPos( sampleUv, sampleDepth, sampleViewZ );\n \t\tocclusionSum += getOcclusion( centerViewPosition, centerViewNormal, sampleViewPosition );\n \t\tweightSum += 1.0;\n \t}\n\n \tif( weightSum == 0.0 ) discard;\n\n \treturn occlusionSum * ( uIntensity / weightSum );\n }\n\n out vec4 outColor;\n \n void main() {\n \n \tfloat centerDepth = getDepth( vUV );\n \t\n \tif( centerDepth >= ( 1.0 - EPSILON ) ) {\n \t\tdiscard;\n \t}\n\n \tfloat centerViewZ = getViewZ( centerDepth );\n \tvec3 viewPosition = getViewPos( vUV, centerDepth, centerViewZ );\n\n \tfloat ambientOcclusion = getAmbientOcclusion( viewPosition );\n \n \toutColor = packFloatToRGBA( 1.0- ambientOcclusion );\n }")]}),this._program.errors)return console.error(this._program.errors.join("\n")),void(this._programError=!0);var r=new Float32Array([1,1,0,1,0,0,1,0]),i=new Float32Array([1,1,0,-1,1,0,-1,-1,0,1,-1,0]),a=new Uint32Array([0,1,2,0,2,3]);this._positionsBuf=new Dt(n,n.ARRAY_BUFFER,i,i.length,3,n.STATIC_DRAW),this._uvBuf=new Dt(n,n.ARRAY_BUFFER,r,r.length,2,n.STATIC_DRAW),this._indicesBuf=new Dt(n,n.ELEMENT_ARRAY_BUFFER,a,a.length,1,n.STATIC_DRAW),this._program.bind(),this._uCameraNear=this._program.getLocation("uCameraNear"),this._uCameraFar=this._program.getLocation("uCameraFar"),this._uCameraProjectionMatrix=this._program.getLocation("uProjectMatrix"),this._uCameraInverseProjectionMatrix=this._program.getLocation("uInverseProjectMatrix"),this._uPerspective=this._program.getLocation("uPerspective"),this._uScale=this._program.getLocation("uScale"),this._uIntensity=this._program.getLocation("uIntensity"),this._uBias=this._program.getLocation("uBias"),this._uKernelRadius=this._program.getLocation("uKernelRadius"),this._uMinResolution=this._program.getLocation("uMinResolution"),this._uViewport=this._program.getLocation("uViewport"),this._uRandomSeed=this._program.getLocation("uRandomSeed"),this._aPosition=this._program.getAttribute("aPosition"),this._aUV=this._program.getAttribute("aUV"),this._dirty=!1}}},{key:"destroy",value:function(){this._program&&(this._program.destroy(),this._program=null)}}]),e}(),St=new Float32Array(Ht(17,[0,1])),Nt=new Float32Array(Ht(17,[1,0])),Lt=new Float32Array(function(e,t){for(var n=[],r=0;r<=e;r++)n.push(Ft(r,t));return n}(17,4)),xt=new Float32Array(2),Mt=function(){function e(t){b(this,e),this._scene=t,this._program=null,this._programError=!1,this._aPosition=null,this._aUV=null,this._uDepthTexture="uDepthTexture",this._uOcclusionTexture="uOcclusionTexture",this._uViewport=null,this._uCameraNear=null,this._uCameraFar=null,this._uCameraProjectionMatrix=null,this._uCameraInverseProjectionMatrix=null,this._uvBuf=null,this._positionsBuf=null,this._indicesBuf=null,this.init()}return P(e,[{key:"init",value:function(){var e=this._scene.canvas.gl;if(this._program=new bt(e,{vertex:["#version 300 es\n precision highp float;\n precision highp int;\n \n in vec3 aPosition;\n in vec2 aUV;\n uniform vec2 uViewport;\n out vec2 vUV;\n out vec2 vInvSize;\n void main () {\n vUV = aUV;\n vInvSize = 1.0 / uViewport;\n gl_Position = vec4(aPosition, 1.0);\n }"],fragment:["#version 300 es\n precision highp float;\n precision highp int;\n \n #define PI 3.14159265359\n #define PI2 6.28318530718\n #define EPSILON 1e-6\n\n #define KERNEL_RADIUS ".concat(16,"\n\n in vec2 vUV;\n in vec2 vInvSize;\n \n uniform sampler2D uDepthTexture;\n uniform sampler2D uOcclusionTexture; \n \n uniform float uCameraNear;\n uniform float uCameraFar; \n uniform float uDepthCutoff;\n\n uniform vec2 uSampleOffsets[ KERNEL_RADIUS + 1 ];\n uniform float uSampleWeights[ KERNEL_RADIUS + 1 ];\n\n const float unpackDownscale = 255. / 256.; \n\n const vec3 packFactors = vec3( 256. * 256. * 256., 256. * 256., 256. );\n const vec4 unpackFactors = unpackDownscale / vec4( packFactors, 1. ); \n\n const float packUpscale = 256. / 255.;\n \n const float shiftRights = 1. / 256.;\n \n float unpackRGBAToFloat( const in vec4 v ) {\n return dot( floor( v * 255.0 + 0.5 ) / 255.0, unpackFactors );\n } \n\n vec4 packFloatToRGBA( const in float v ) {\n vec4 r = vec4( fract( v * packFactors ), v );\n r.yzw -= r.xyz * shiftRights; \n return r * packUpscale;\n }\n\n float viewZToOrthographicDepth( const in float viewZ) {\n return ( viewZ + uCameraNear ) / ( uCameraNear - uCameraFar );\n }\n \n float orthographicDepthToViewZ( const in float linearClipZ) {\n return linearClipZ * ( uCameraNear - uCameraFar ) - uCameraNear;\n }\n\n float viewZToPerspectiveDepth( const in float viewZ) {\n return (( uCameraNear + viewZ ) * uCameraFar ) / (( uCameraFar - uCameraNear ) * viewZ );\n }\n \n float perspectiveDepthToViewZ( const in float invClipZ) {\n return ( uCameraNear * uCameraFar ) / ( ( uCameraFar - uCameraNear ) * invClipZ - uCameraFar );\n }\n\n float getDepth( const in vec2 screenPosition ) {\n return vec4(texture(uDepthTexture, screenPosition)).r;\n }\n\n float getViewZ( const in float depth ) {\n return perspectiveDepthToViewZ( depth );\n }\n\n out vec4 outColor;\n \n void main() {\n \n float depth = getDepth( vUV );\n if( depth >= ( 1.0 - EPSILON ) ) {\n discard;\n }\n\n float centerViewZ = -getViewZ( depth );\n bool rBreak = false;\n bool lBreak = false;\n\n float weightSum = uSampleWeights[0];\n float occlusionSum = unpackRGBAToFloat(texture( uOcclusionTexture, vUV )) * weightSum;\n\n for( int i = 1; i <= KERNEL_RADIUS; i ++ ) {\n\n float sampleWeight = uSampleWeights[i];\n vec2 sampleUVOffset = uSampleOffsets[i] * vInvSize;\n\n vec2 sampleUV = vUV + sampleUVOffset;\n float viewZ = -getViewZ( getDepth( sampleUV ) );\n\n if( abs( viewZ - centerViewZ ) > uDepthCutoff ) {\n rBreak = true;\n }\n\n if( ! rBreak ) {\n occlusionSum += unpackRGBAToFloat(texture( uOcclusionTexture, sampleUV )) * sampleWeight;\n weightSum += sampleWeight;\n }\n\n sampleUV = vUV - sampleUVOffset;\n viewZ = -getViewZ( getDepth( sampleUV ) );\n\n if( abs( viewZ - centerViewZ ) > uDepthCutoff ) {\n lBreak = true;\n }\n\n if( ! lBreak ) {\n occlusionSum += unpackRGBAToFloat(texture( uOcclusionTexture, sampleUV )) * sampleWeight;\n weightSum += sampleWeight;\n }\n }\n\n outColor = packFloatToRGBA(occlusionSum / weightSum);\n }")]}),this._program.errors)return console.error(this._program.errors.join("\n")),void(this._programError=!0);var t=new Float32Array([1,1,0,1,0,0,1,0]),n=new Float32Array([1,1,0,-1,1,0,-1,-1,0,1,-1,0]),r=new Uint32Array([0,1,2,0,2,3]);this._positionsBuf=new Dt(e,e.ARRAY_BUFFER,n,n.length,3,e.STATIC_DRAW),this._uvBuf=new Dt(e,e.ARRAY_BUFFER,t,t.length,2,e.STATIC_DRAW),this._indicesBuf=new Dt(e,e.ELEMENT_ARRAY_BUFFER,r,r.length,1,e.STATIC_DRAW),this._program.bind(),this._uViewport=this._program.getLocation("uViewport"),this._uCameraNear=this._program.getLocation("uCameraNear"),this._uCameraFar=this._program.getLocation("uCameraFar"),this._uDepthCutoff=this._program.getLocation("uDepthCutoff"),this._uSampleOffsets=e.getUniformLocation(this._program.handle,"uSampleOffsets"),this._uSampleWeights=e.getUniformLocation(this._program.handle,"uSampleWeights"),this._aPosition=this._program.getAttribute("aPosition"),this._aUV=this._program.getAttribute("aUV")}},{key:"render",value:function(e,t,n){var r=this;if(!this._programError){this._getInverseProjectMat||(this._getInverseProjectMat=function(){var e=!0;r._scene.camera.on("projMatrix",(function(){e=!0}));var t=$.mat4();return function(){return e&&$.inverseMat4(s.camera.projMatrix,t),t}}());var i=this._scene.canvas.gl,a=this._program,s=this._scene,o=i.drawingBufferWidth,l=i.drawingBufferHeight,u=s.camera.project._state,c=u.near,f=u.far;i.viewport(0,0,o,l),i.clearColor(0,0,0,1),i.enable(i.DEPTH_TEST),i.disable(i.BLEND),i.frontFace(i.CCW),i.clear(i.COLOR_BUFFER_BIT|i.DEPTH_BUFFER_BIT),a.bind(),xt[0]=o,xt[1]=l,i.uniform2fv(this._uViewport,xt),i.uniform1f(this._uCameraNear,c),i.uniform1f(this._uCameraFar,f),i.uniform1f(this._uDepthCutoff,.01),0===n?i.uniform2fv(this._uSampleOffsets,Nt):i.uniform2fv(this._uSampleOffsets,St),i.uniform1fv(this._uSampleWeights,Lt);var p=e.getDepthTexture(),A=t.getTexture();a.bindTexture(this._uDepthTexture,p,0),a.bindTexture(this._uOcclusionTexture,A,1),this._aUV.bindArrayBuffer(this._uvBuf),this._aPosition.bindArrayBuffer(this._positionsBuf),this._indicesBuf.bind(),i.drawElements(i.TRIANGLES,this._indicesBuf.numItems,this._indicesBuf.itemType,0)}}},{key:"destroy",value:function(){this._program.destroy()}}]),e}();function Ft(e,t){return Math.exp(-e*e/(t*t*2))/(Math.sqrt(2*Math.PI)*t)}function Ht(e,t){for(var n=[],r=0;r<=e;r++)n.push(t[0]*r),n.push(t[1]*r);return n}var Ut=function(){function e(t,n,r){b(this,e),r=r||{},this.gl=n,this.allocated=!1,this.canvas=t,this.buffer=null,this.bound=!1,this.size=r.size,this._hasDepthTexture=!!r.depthTexture}return P(e,[{key:"setSize",value:function(e){this.size=e}},{key:"webglContextRestored",value:function(e){this.gl=e,this.buffer=null,this.allocated=!1,this.bound=!1}},{key:"bind",value:function(){if(this._touch.apply(this,arguments),!this.bound){var e=this.gl;e.bindFramebuffer(e.FRAMEBUFFER,this.buffer.framebuf),this.bound=!0}}},{key:"createTexture",value:function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null,r=this.gl,i=r.createTexture();return r.bindTexture(r.TEXTURE_2D,i),r.texParameteri(r.TEXTURE_2D,r.TEXTURE_MIN_FILTER,r.NEAREST),r.texParameteri(r.TEXTURE_2D,r.TEXTURE_MAG_FILTER,r.NEAREST),r.texParameteri(r.TEXTURE_2D,r.TEXTURE_WRAP_S,r.CLAMP_TO_EDGE),r.texParameteri(r.TEXTURE_2D,r.TEXTURE_WRAP_T,r.CLAMP_TO_EDGE),n?r.texStorage2D(r.TEXTURE_2D,1,n,e,t):r.texImage2D(r.TEXTURE_2D,0,r.RGBA,e,t,0,r.RGBA,r.UNSIGNED_BYTE,null),i}},{key:"_touch",value:function(){var e,t,n=this,r=this.gl;if(this.size?(e=this.size[0],t=this.size[1]):(e=r.drawingBufferWidth,t=r.drawingBufferHeight),this.buffer){if(this.buffer.width===e&&this.buffer.height===t)return;this.buffer.textures.forEach((function(e){return r.deleteTexture(e)})),r.deleteFramebuffer(this.buffer.framebuf),r.deleteRenderbuffer(this.buffer.renderbuf)}for(var i,a=[],s=arguments.length,o=new Array(s),l=0;l0?a.push.apply(a,c(o.map((function(r){return n.createTexture(e,t,r)})))):a.push(this.createTexture(e,t)),this._hasDepthTexture&&(i=r.createTexture(),r.bindTexture(r.TEXTURE_2D,i),r.texParameteri(r.TEXTURE_2D,r.TEXTURE_MAG_FILTER,r.NEAREST),r.texParameteri(r.TEXTURE_2D,r.TEXTURE_MIN_FILTER,r.NEAREST),r.texParameteri(r.TEXTURE_2D,r.TEXTURE_WRAP_S,r.CLAMP_TO_EDGE),r.texParameteri(r.TEXTURE_2D,r.TEXTURE_WRAP_T,r.CLAMP_TO_EDGE),r.texImage2D(r.TEXTURE_2D,0,r.DEPTH_COMPONENT32F,e,t,0,r.DEPTH_COMPONENT,r.FLOAT,null));var u=r.createRenderbuffer();r.bindRenderbuffer(r.RENDERBUFFER,u),r.renderbufferStorage(r.RENDERBUFFER,r.DEPTH_COMPONENT32F,e,t);var f=r.createFramebuffer();r.bindFramebuffer(r.FRAMEBUFFER,f);for(var p=0;p0&&r.drawBuffers(a.map((function(e,t){return r.COLOR_ATTACHMENT0+t}))),this._hasDepthTexture?r.framebufferTexture2D(r.FRAMEBUFFER,r.DEPTH_ATTACHMENT,r.TEXTURE_2D,i,0):r.framebufferRenderbuffer(r.FRAMEBUFFER,r.DEPTH_ATTACHMENT,r.RENDERBUFFER,u),r.bindTexture(r.TEXTURE_2D,null),r.bindRenderbuffer(r.RENDERBUFFER,null),r.bindFramebuffer(r.FRAMEBUFFER,null),r.bindFramebuffer(r.FRAMEBUFFER,f),!r.isFramebuffer(f))throw"Invalid framebuffer";r.bindFramebuffer(r.FRAMEBUFFER,null);var A=r.checkFramebufferStatus(r.FRAMEBUFFER);switch(A){case r.FRAMEBUFFER_COMPLETE:break;case r.FRAMEBUFFER_INCOMPLETE_ATTACHMENT:throw"Incomplete framebuffer: FRAMEBUFFER_INCOMPLETE_ATTACHMENT";case r.FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT:throw"Incomplete framebuffer: FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT";case r.FRAMEBUFFER_INCOMPLETE_DIMENSIONS:throw"Incomplete framebuffer: FRAMEBUFFER_INCOMPLETE_DIMENSIONS";case r.FRAMEBUFFER_UNSUPPORTED:throw"Incomplete framebuffer: FRAMEBUFFER_UNSUPPORTED";default:throw"Incomplete framebuffer: "+A}this.buffer={framebuf:f,renderbuf:u,texture:a[0],textures:a,depthTexture:i,width:e,height:t},this.bound=!1}},{key:"clear",value:function(){if(!this.bound)throw"Render buffer not bound";var e=this.gl;e.clear(e.COLOR_BUFFER_BIT|e.DEPTH_BUFFER_BIT)}},{key:"read",value:function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null,r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:null,i=arguments.length>4&&void 0!==arguments[4]?arguments[4]:Uint8Array,a=arguments.length>5&&void 0!==arguments[5]?arguments[5]:4,s=arguments.length>6&&void 0!==arguments[6]?arguments[6]:0,o=e,l=this.buffer.height?this.buffer.height-t-1:this.gl.drawingBufferHeight-t,u=new i(a),c=this.gl;return c.readBuffer(c.COLOR_ATTACHMENT0+s),c.readPixels(o,l,1,1,n||c.RGBA,r||c.UNSIGNED_BYTE,u,0),u}},{key:"readArray",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:Uint8Array,r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:4,i=arguments.length>4&&void 0!==arguments[4]?arguments[4]:0,a=new n(this.buffer.width*this.buffer.height*r),s=this.gl;return s.readBuffer(s.COLOR_ATTACHMENT0+i),s.readPixels(0,0,this.buffer.width,this.buffer.height,e||s.RGBA,t||s.UNSIGNED_BYTE,a,0),a}},{key:"readImageAsCanvas",value:function(){var e=this.gl,t=this._getImageDataCache(),n=t.pixelData,r=t.canvas,i=t.imageData,a=t.context;e.readPixels(0,0,this.buffer.width,this.buffer.height,e.RGBA,e.UNSIGNED_BYTE,n);for(var s=this.buffer.width,o=this.buffer.height,l=o/2|0,u=4*s,c=new Uint8Array(4*s),f=0;f0&&void 0!==arguments[0]?arguments[0]:Uint8Array,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:4,n=this.buffer.width,r=this.buffer.height,i=this._imageDataCache;if(i&&(i.width===n&&i.height===r||(this._imageDataCache=null,i=null)),!i){var a=document.createElement("canvas"),s=a.getContext("2d");a.width=n,a.height=r,i={pixelData:new e(n*r*t),canvas:a,context:s,imageData:s.createImageData(n,r),width:n,height:r},this._imageDataCache=i}return i.context.resetTransform(),i}},{key:"unbind",value:function(){var e=this.gl;e.bindFramebuffer(e.FRAMEBUFFER,null),this.bound=!1}},{key:"getTexture",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,t=this;return this._texture||(this._texture={renderBuffer:this,bind:function(n){return!(!t.buffer||!t.buffer.textures[e])&&(t.gl.activeTexture(t.gl["TEXTURE"+n]),t.gl.bindTexture(t.gl.TEXTURE_2D,t.buffer.textures[e]),!0)},unbind:function(n){t.buffer&&t.buffer.textures[e]&&(t.gl.activeTexture(t.gl["TEXTURE"+n]),t.gl.bindTexture(t.gl.TEXTURE_2D,null))}})}},{key:"hasDepthTexture",value:function(){return this._hasDepthTexture}},{key:"getDepthTexture",value:function(){if(!this._hasDepthTexture)return null;var e=this;return this._depthTexture||(this._dethTexture={renderBuffer:this,bind:function(t){return!(!e.buffer||!e.buffer.depthTexture)&&(e.gl.activeTexture(e.gl["TEXTURE"+t]),e.gl.bindTexture(e.gl.TEXTURE_2D,e.buffer.depthTexture),!0)},unbind:function(t){e.buffer&&e.buffer.depthTexture&&(e.gl.activeTexture(e.gl["TEXTURE"+t]),e.gl.bindTexture(e.gl.TEXTURE_2D,null))}})}},{key:"destroy",value:function(){if(this.allocated){var e=this.gl;this.buffer.textures.forEach((function(t){return e.deleteTexture(t)})),e.deleteTexture(this.buffer.depthTexture),e.deleteFramebuffer(this.buffer.framebuf),e.deleteRenderbuffer(this.buffer.renderbuf),this.allocated=!1,this.buffer=null,this.bound=!1}this._imageDataCache=null,this._texture=null,this._depthTexture=null}}]),e}(),Gt=function(){function e(t){b(this,e),this.scene=t,this._renderBuffersBasic={},this._renderBuffersScaled={}}return P(e,[{key:"getRenderBuffer",value:function(e,t){var n=1===this.scene.canvas.resolutionScale?this._renderBuffersBasic:this._renderBuffersScaled,r=n[e];return r||(r=new Ut(this.scene.canvas.canvas,this.scene.canvas.gl,t),n[e]=r),r}},{key:"destroy",value:function(){for(var e in this._renderBuffersBasic)this._renderBuffersBasic[e].destroy();for(var t in this._renderBuffersScaled)this._renderBuffersScaled[t].destroy()}}]),e}();function kt(e,t){if(void 0===e._cachedExtensions&&(e._cachedExtensions={}),void 0!==e._cachedExtensions[t])return e._cachedExtensions[t];var n;switch(t){case"WEBGL_depth_texture":n=e.getExtension("WEBGL_depth_texture")||e.getExtension("MOZ_WEBGL_depth_texture")||e.getExtension("WEBKIT_WEBGL_depth_texture");break;case"EXT_texture_filter_anisotropic":n=e.getExtension("EXT_texture_filter_anisotropic")||e.getExtension("MOZ_EXT_texture_filter_anisotropic")||e.getExtension("WEBKIT_EXT_texture_filter_anisotropic");break;case"WEBGL_compressed_texture_s3tc":n=e.getExtension("WEBGL_compressed_texture_s3tc")||e.getExtension("MOZ_WEBGL_compressed_texture_s3tc")||e.getExtension("WEBKIT_WEBGL_compressed_texture_s3tc");break;case"WEBGL_compressed_texture_pvrtc":n=e.getExtension("WEBGL_compressed_texture_pvrtc")||e.getExtension("WEBKIT_WEBGL_compressed_texture_pvrtc");break;default:n=e.getExtension(t)}return e._cachedExtensions[t]=n,n}var jt=function(e,t){t=t||{};var n=new At(e),r=e.canvas.canvas,i=e.canvas.gl,a=!!t.transparent,s=t.alphaDepthMask,o=new G({}),l={},u={},c=!0,f=!0,p=!0,A=!0,d=!0,v=!0,h=!0,I=!0,y=new Gt(e),m=!1,w=new Ot(e),g=new Mt(e);function E(){c&&(!function(){for(var e in l)if(l.hasOwnProperty(e)){var t=l[e],n=t.drawableMap,r=t.drawableListPreCull,i=0;for(var a in n)n.hasOwnProperty(a)&&(r[i++]=n[a]);r.length=i}}(),c=!1,f=!0),f&&(!function(){for(var e in l)if(l.hasOwnProperty(e)){var t=l[e];t.isStateSortable&&t.drawableListPreCull.sort(t.stateSortCompare)}}(),f=!1,p=!0),p&&function(){for(var e in l)if(l.hasOwnProperty(e)){for(var t=l[e],n=t.drawableListPreCull,r=t.drawableList,i=0,a=0,s=n.length;a0)for(n.withSAO=!0,O=0;O0)for(O=0;O0)for(O=0;O0)for(O=0;O0||Q>0||U>0||G>0){if(i.enable(i.CULL_FACE),i.enable(i.BLEND),a?(i.blendEquation(i.FUNC_ADD),i.blendFuncSeparate(i.SRC_ALPHA,i.ONE_MINUS_SRC_ALPHA,i.ONE,i.ONE_MINUS_SRC_ALPHA)):(i.blendEquation(i.FUNC_ADD),i.blendFunc(i.SRC_ALPHA,i.ONE_MINUS_SRC_ALPHA)),n.backfaces=!1,s||i.depthMask(!1),(U>0||G>0)&&i.blendFunc(i.SRC_ALPHA,i.ONE_MINUS_SRC_ALPHA),G>0)for(O=0;O0)for(O=0;O0)for(O=0;O0)for(O=0;O0||z>0){if(n.lastProgramId=null,e.highlightMaterial.glowThrough&&i.clear(i.DEPTH_BUFFER_BIT),z>0)for(O=0;O0)for(O=0;O0||Y>0||W>0){if(n.lastProgramId=null,e.selectedMaterial.glowThrough&&i.clear(i.DEPTH_BUFFER_BIT),i.enable(i.BLEND),a?(i.blendEquation(i.FUNC_ADD),i.blendFuncSeparate(i.SRC_ALPHA,i.ONE_MINUS_SRC_ALPHA,i.ONE,i.ONE_MINUS_SRC_ALPHA)):i.blendFunc(i.SRC_ALPHA,i.ONE_MINUS_SRC_ALPHA),i.enable(i.CULL_FACE),Y>0)for(O=0;O0)for(O=0;O0||q>0){if(n.lastProgramId=null,e.selectedMaterial.glowThrough&&i.clear(i.DEPTH_BUFFER_BIT),q>0)for(O=0;O0)for(O=0;O0||Z>0){if(n.lastProgramId=null,e.selectedMaterial.glowThrough&&i.clear(i.DEPTH_BUFFER_BIT),i.enable(i.CULL_FACE),i.enable(i.BLEND),a?(i.blendEquation(i.FUNC_ADD),i.blendFuncSeparate(i.SRC_ALPHA,i.ONE_MINUS_SRC_ALPHA,i.ONE,i.ONE_MINUS_SRC_ALPHA)):i.blendFunc(i.SRC_ALPHA,i.ONE_MINUS_SRC_ALPHA),Z>0)for(O=0;O0)for(O=0;O1&&void 0!==arguments[1]?arguments[1]:s;d.reset(),E();var v=null,h=null;for(var I in d.pickSurface=p.pickSurface,p.canvasPos?(u[0]=p.canvasPos[0],u[1]=p.canvasPos[1],v=e.camera.viewMatrix,h=e.camera.projMatrix,d.canvasPos=p.canvasPos):(p.matrix?(v=p.matrix,h=e.camera.projMatrix):(c.set(p.origin||[0,0,0]),f.set(p.direction||[0,0,1]),A=$.addVec3(c,f,t),i[0]=Math.random(),i[1]=Math.random(),i[2]=Math.random(),$.normalizeVec3(i),$.cross3Vec3(f,i,a),v=$.lookAtMat4v(c,A,a,n),h=e.camera.ortho.matrix,d.origin=c,d.direction=f),u[0]=.5*r.clientWidth,u[1]=.5*r.clientHeight),l)if(l.hasOwnProperty(I))for(var m=l[I].drawableList,w=0,g=m.length;w4&&void 0!==arguments[4]?arguments[4]:P;if(!a&&!s)return this.pick({canvasPos:t,pickSurface:!0});var c=e.canvas.resolutionScale;n.reset(),n.backfaces=!0,n.frontface=!0,n.pickZNear=e.camera.project.near,n.pickZFar=e.camera.project.far,r=r||30;var f=y.getRenderBuffer("uniquePickColors-aabs",{depthTexture:!0,size:[2*r+1,2*r+1]});n.snapVectorA=[B(t[0]*c,i.drawingBufferWidth),O(t[1]*c,i.drawingBufferHeight)],n.snapInvVectorAB=[i.drawingBufferWidth/(2*r),i.drawingBufferHeight/(2*r)],f.bind(i.RGBA32I,i.RGBA32I,i.RGBA8UI),i.viewport(0,0,f.size[0],f.size[1]),i.enable(i.DEPTH_TEST),i.frontFace(i.CCW),i.disable(i.CULL_FACE),i.depthMask(!0),i.disable(i.BLEND),i.depthFunc(i.LEQUAL),i.clear(i.DEPTH_BUFFER_BIT),i.clearBufferiv(i.COLOR,0,new Int32Array([0,0,0,0])),i.clearBufferiv(i.COLOR,1,new Int32Array([0,0,0,0])),i.clearBufferuiv(i.COLOR,2,new Uint32Array([0,0,0,0]));var p=e.camera.viewMatrix,A=e.camera.projMatrix;for(var d in l)if(l.hasOwnProperty(d))for(var v=l[d].drawableList,h=0,I=v.length;h0){var V=Math.floor(j/4),Q=f.size[0],W=V%Q-Math.floor(Q/2),z=Math.floor(V/Q)-Math.floor(Q/2),K=Math.sqrt(Math.pow(W,2)+Math.pow(z,2));k.push({x:W,y:z,dist:K,isVertex:a&&s?E[j+3]>g.length/2:a,result:[E[j+0],E[j+1],E[j+2],E[j+3]],normal:[T[j+0],T[j+1],T[j+2],T[j+3]],id:[b[j+0],b[j+1],b[j+2],b[j+3]]})}var Y=null,X=null,q=null,J=null;if(k.length>0){k.sort((function(e,t){return e.isVertex!==t.isVertex?e.isVertex?-1:1:e.dist-t.dist})),J=k[0].isVertex?"vertex":"edge";var Z=k[0].result,ee=k[0].normal,te=k[0].id,ne=g[Z[3]],re=ne.origin,ie=ne.coordinateScale;X=$.normalizeVec3([ee[0]/$.MAX_INT,ee[1]/$.MAX_INT,ee[2]/$.MAX_INT]),Y=[Z[0]*ie[0]+re[0],Z[1]*ie[1]+re[1],Z[2]*ie[2]+re[2]],q=o.items[te[0]+(te[1]<<8)+(te[2]<<16)+(te[3]<<24)]}if(null===D&&null==Y)return null;var ae=null;null!==Y&&(ae=e.camera.projectWorldPos(Y));var se=q&&q.delegatePickedEntity?q.delegatePickedEntity():q;return u.reset(),u.snappedToEdge="edge"===J,u.snappedToVertex="vertex"===J,u.worldPos=Y,u.worldNormal=X,u.entity=se,u.canvasPos=t,u.snappedCanvasPos=ae||t,u}),this.addMarker=function(t){this._occlusionTester=this._occlusionTester||new _t(e,y),this._occlusionTester.addMarker(t),e.occlusionTestCountdown=0},this.markerWorldPosUpdated=function(e){this._occlusionTester.markerWorldPosUpdated(e)},this.removeMarker=function(e){this._occlusionTester.removeMarker(e)},this.doOcclusionTest=function(){if(this._occlusionTester&&this._occlusionTester.needOcclusionTest){for(var e in E(),this._occlusionTester.bindRenderBuf(),n.reset(),n.backfaces=!0,n.frontface=!0,i.viewport(0,0,i.drawingBufferWidth,i.drawingBufferHeight),i.clearColor(0,0,0,0),i.enable(i.DEPTH_TEST),i.disable(i.CULL_FACE),i.disable(i.BLEND),i.clear(i.COLOR_BUFFER_BIT|i.DEPTH_BUFFER_BIT),l)if(l.hasOwnProperty(e))for(var t=l[e].drawableList,r=0,a=t.length;r0&&void 0!==arguments[0]?arguments[0]:{},t=y.getRenderBuffer("snapshot");e.width&&e.height&&t.setSize([e.width,e.height]),t.bind(),t.clear(),m=!0},this.renderSnapshot=function(){m&&(y.getRenderBuffer("snapshot").clear(),this.render({force:!0,opaqueOnly:!1}),p=!0)},this.readSnapshot=function(e){return y.getRenderBuffer("snapshot").readImage(e)},this.readSnapshotAsCanvas=function(){return y.getRenderBuffer("snapshot").readImageAsCanvas()},this.endSnapshot=function(){m&&(y.getRenderBuffer("snapshot").unbind(),m=!1)},this.destroy=function(){l={},u={},y.destroy(),w.destroy(),g.destroy(),this._occlusionTester&&this._occlusionTester.destroy()}},Vt=function(e){I(n,ye);var t=m(n);function n(e){var r,i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return b(this,n),(r=t.call(this,e,i)).KEY_BACKSPACE=8,r.KEY_TAB=9,r.KEY_ENTER=13,r.KEY_SHIFT=16,r.KEY_CTRL=17,r.KEY_ALT=18,r.KEY_PAUSE_BREAK=19,r.KEY_CAPS_LOCK=20,r.KEY_ESCAPE=27,r.KEY_PAGE_UP=33,r.KEY_PAGE_DOWN=34,r.KEY_END=35,r.KEY_HOME=36,r.KEY_LEFT_ARROW=37,r.KEY_UP_ARROW=38,r.KEY_RIGHT_ARROW=39,r.KEY_DOWN_ARROW=40,r.KEY_INSERT=45,r.KEY_DELETE=46,r.KEY_NUM_0=48,r.KEY_NUM_1=49,r.KEY_NUM_2=50,r.KEY_NUM_3=51,r.KEY_NUM_4=52,r.KEY_NUM_5=53,r.KEY_NUM_6=54,r.KEY_NUM_7=55,r.KEY_NUM_8=56,r.KEY_NUM_9=57,r.KEY_A=65,r.KEY_B=66,r.KEY_C=67,r.KEY_D=68,r.KEY_E=69,r.KEY_F=70,r.KEY_G=71,r.KEY_H=72,r.KEY_I=73,r.KEY_J=74,r.KEY_K=75,r.KEY_L=76,r.KEY_M=77,r.KEY_N=78,r.KEY_O=79,r.KEY_P=80,r.KEY_Q=81,r.KEY_R=82,r.KEY_S=83,r.KEY_T=84,r.KEY_U=85,r.KEY_V=86,r.KEY_W=87,r.KEY_X=88,r.KEY_Y=89,r.KEY_Z=90,r.KEY_LEFT_WINDOW=91,r.KEY_RIGHT_WINDOW=92,r.KEY_SELECT_KEY=93,r.KEY_NUMPAD_0=96,r.KEY_NUMPAD_1=97,r.KEY_NUMPAD_2=98,r.KEY_NUMPAD_3=99,r.KEY_NUMPAD_4=100,r.KEY_NUMPAD_5=101,r.KEY_NUMPAD_6=102,r.KEY_NUMPAD_7=103,r.KEY_NUMPAD_8=104,r.KEY_NUMPAD_9=105,r.KEY_MULTIPLY=106,r.KEY_ADD=107,r.KEY_SUBTRACT=109,r.KEY_DECIMAL_POINT=110,r.KEY_DIVIDE=111,r.KEY_F1=112,r.KEY_F2=113,r.KEY_F3=114,r.KEY_F4=115,r.KEY_F5=116,r.KEY_F6=117,r.KEY_F7=118,r.KEY_F8=119,r.KEY_F9=120,r.KEY_F10=121,r.KEY_F11=122,r.KEY_F12=123,r.KEY_NUM_LOCK=144,r.KEY_SCROLL_LOCK=145,r.KEY_SEMI_COLON=186,r.KEY_EQUAL_SIGN=187,r.KEY_COMMA=188,r.KEY_DASH=189,r.KEY_PERIOD=190,r.KEY_FORWARD_SLASH=191,r.KEY_GRAVE_ACCENT=192,r.KEY_OPEN_BRACKET=219,r.KEY_BACK_SLASH=220,r.KEY_CLOSE_BRACKET=221,r.KEY_SINGLE_QUOTE=222,r.KEY_SPACE=32,r.element=i.element,r.altDown=!1,r.ctrlDown=!1,r.mouseDownLeft=!1,r.mouseDownMiddle=!1,r.mouseDownRight=!1,r.keyDown=[],r.enabled=!0,r.keyboardEnabled=!0,r.mouseover=!1,r.mouseCanvasPos=$.vec2(),r._keyboardEventsElement=i.keyboardEventsElement||document,r._bindEvents(),r}return P(n,[{key:"_bindEvents",value:function(){var e=this;if(!this._eventsBound){this._keyboardEventsElement.addEventListener("keydown",this._keyDownListener=function(t){e.enabled&&e.keyboardEnabled&&"INPUT"!==t.target.tagName&&"TEXTAREA"!==t.target.tagName&&(t.keyCode===e.KEY_CTRL?e.ctrlDown=!0:t.keyCode===e.KEY_ALT?e.altDown=!0:t.keyCode===e.KEY_SHIFT&&(e.shiftDown=!0),e.keyDown[t.keyCode]=!0,e.fire("keydown",t.keyCode,!0))},!1),this._keyboardEventsElement.addEventListener("keyup",this._keyUpListener=function(t){e.enabled&&e.keyboardEnabled&&"INPUT"!==t.target.tagName&&"TEXTAREA"!==t.target.tagName&&(t.keyCode===e.KEY_CTRL?e.ctrlDown=!1:t.keyCode===e.KEY_ALT?e.altDown=!1:t.keyCode===e.KEY_SHIFT&&(e.shiftDown=!1),e.keyDown[t.keyCode]=!1,e.fire("keyup",t.keyCode,!0))}),this.element.addEventListener("mouseenter",this._mouseEnterListener=function(t){e.enabled&&(e.mouseover=!0,e._getMouseCanvasPos(t),e.fire("mouseenter",e.mouseCanvasPos,!0))}),this.element.addEventListener("mouseleave",this._mouseLeaveListener=function(t){e.enabled&&(e.mouseover=!1,e._getMouseCanvasPos(t),e.fire("mouseleave",e.mouseCanvasPos,!0))}),this.element.addEventListener("mousedown",this._mouseDownListener=function(t){if(e.enabled){switch(t.which){case 1:e.mouseDownLeft=!0;break;case 2:e.mouseDownMiddle=!0;break;case 3:e.mouseDownRight=!0}e._getMouseCanvasPos(t),e.element.focus(),e.fire("mousedown",e.mouseCanvasPos,!0),e.mouseover&&t.preventDefault()}}),document.addEventListener("mouseup",this._mouseUpListener=function(t){if(e.enabled){switch(t.which){case 1:e.mouseDownLeft=!1;break;case 2:e.mouseDownMiddle=!1;break;case 3:e.mouseDownRight=!1}e.fire("mouseup",e.mouseCanvasPos,!0)}},!0),document.addEventListener("click",this._clickListener=function(t){if(e.enabled){switch(t.which){case 1:case 3:e.mouseDownLeft=!1,e.mouseDownRight=!1;break;case 2:e.mouseDownMiddle=!1}e._getMouseCanvasPos(t),e.fire("click",e.mouseCanvasPos,!0),e.mouseover&&t.preventDefault()}}),document.addEventListener("dblclick",this._dblClickListener=function(t){if(e.enabled){switch(t.which){case 1:case 3:e.mouseDownLeft=!1,e.mouseDownRight=!1;break;case 2:e.mouseDownMiddle=!1}e._getMouseCanvasPos(t),e.fire("dblclick",e.mouseCanvasPos,!0),e.mouseover&&t.preventDefault()}});var t=this.scene.tickify((function(){return e.fire("mousemove",e.mouseCanvasPos,!0)}));this.element.addEventListener("mousemove",this._mouseMoveListener=function(n){e.enabled&&(e._getMouseCanvasPos(n),t(),e.mouseover&&n.preventDefault())});var n=this.scene.tickify((function(t){e.fire("mousewheel",t,!0)}));this.element.addEventListener("wheel",this._mouseWheelListener=function(t,r){if(e.enabled){var i=Math.max(-1,Math.min(1,40*-t.deltaY));n(i)}},{passive:!0});var r,i;this.on("mousedown",(function(e){r=e[0],i=e[1]})),this.on("mouseup",(function(t){r>=t[0]-2&&r<=t[0]+2&&i>=t[1]-2&&i<=t[1]+2&&e.fire("mouseclicked",t,!0)})),this._eventsBound=!0}}},{key:"_unbindEvents",value:function(){this._eventsBound&&(this._keyboardEventsElement.removeEventListener("keydown",this._keyDownListener),this._keyboardEventsElement.removeEventListener("keyup",this._keyUpListener),this.element.removeEventListener("mouseenter",this._mouseEnterListener),this.element.removeEventListener("mouseleave",this._mouseLeaveListener),this.element.removeEventListener("mousedown",this._mouseDownListener),document.removeEventListener("mouseup",this._mouseDownListener),document.removeEventListener("click",this._clickListener),document.removeEventListener("dblclick",this._dblClickListener),this.element.removeEventListener("mousemove",this._mouseMoveListener),this.element.removeEventListener("wheel",this._mouseWheelListener),window.OrientationChangeEvent&&window.removeEventListener("orientationchange",this._orientationchangedListener),window.DeviceMotionEvent&&window.removeEventListener("devicemotion",this._deviceMotionListener),window.DeviceOrientationEvent&&window.removeEventListener("deviceorientation",this._deviceOrientListener),this._eventsBound=!1)}},{key:"_getMouseCanvasPos",value:function(e){if(e){for(var t=e.target,n=0,r=0;t.offsetParent;)n+=t.offsetLeft,r+=t.offsetTop,t=t.offsetParent;this.mouseCanvasPos[0]=e.pageX-n,this.mouseCanvasPos[1]=e.pageY-r}else e=window.event,this.mouseCanvasPos[0]=e.x,this.mouseCanvasPos[1]=e.y}},{key:"setEnabled",value:function(e){this.enabled!==e&&this.fire("enabled",this.enabled=e)}},{key:"getEnabled",value:function(){return this.enabled}},{key:"setKeyboardEnabled",value:function(e){this.keyboardEnabled=e}},{key:"getKeyboardEnabled",value:function(){return this.keyboardEnabled}},{key:"destroy",value:function(){v(E(n.prototype),"destroy",this).call(this),this._unbindEvents()}}]),n}(),Qt=new G({}),Wt=function(){function e(t){for(var n in b(this,e),this.id=Qt.addItem({}),t)t.hasOwnProperty(n)&&(this[n]=t[n])}return P(e,[{key:"destroy",value:function(){Qt.removeItem(this.id)}}]),e}(),zt=function(e){I(n,ye);var t=m(n);function n(e){var r,i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return b(this,n),(r=t.call(this,e,i))._state=new Wt({boundary:[0,0,100,100]}),r.boundary=i.boundary,r.autoBoundary=i.autoBoundary,r}return P(n,[{key:"type",get:function(){return"Viewport"}},{key:"boundary",get:function(){return this._state.boundary},set:function(e){if(!this._autoBoundary){if(!e){var t=this.scene.canvas.boundary;e=[0,0,t[2],t[3]]}this._state.boundary=e,this.glRedraw(),this.fire("boundary",this._state.boundary)}}},{key:"autoBoundary",get:function(){return this._autoBoundary},set:function(e){(e=!!e)!==this._autoBoundary&&(this._autoBoundary=e,this._autoBoundary?this._onCanvasSize=this.scene.canvas.on("boundary",(function(e){var t=e[2],n=e[3];this._state.boundary=[0,0,t,n],this.glRedraw(),this.fire("boundary",this._state.boundary)}),this):this._onCanvasSize&&(this.scene.canvas.off(this._onCanvasSize),this._onCanvasSize=null),this.fire("autoBoundary",this._autoBoundary))}},{key:"_getState",value:function(){return this._state}},{key:"destroy",value:function(){v(E(n.prototype),"destroy",this).call(this),this._state.destroy()}}]),n}(),Kt=function(e){I(n,ye);var t=m(n);function n(e){var r,i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return b(this,n),(r=t.call(this,e,i)).camera=e,r._state=new Wt({matrix:$.mat4(),inverseMatrix:$.mat4(),transposedMatrix:$.mat4(),near:.1,far:2e3}),r._inverseMatrixDirty=!0,r._transposedMatrixDirty=!0,r._fov=60,r._canvasResized=r.scene.canvas.on("boundary",r._needUpdate,g(r)),r.fov=i.fov,r.fovAxis=i.fovAxis,r.near=i.near,r.far=i.far,r}return P(n,[{key:"type",get:function(){return"Perspective"}},{key:"_update",value:function(){var e=this.scene.canvas.boundary,t=e[2]/e[3],n=this._fovAxis,r=this._fov;("x"===n||"min"===n&&t<1||"max"===n&&t>1)&&(r/=t),r=Math.min(r,120),$.perspectiveMat4(r*(Math.PI/180),t,this._state.near,this._state.far,this._state.matrix),this._inverseMatrixDirty=!0,this._transposedMatrixDirty=!0,this.glRedraw(),this.camera._updateScheduled=!0,this.fire("matrix",this._state.matrix)}},{key:"fov",get:function(){return this._fov},set:function(e){(e=null!=e?e:60)!==this._fov&&(this._fov=e,this._needUpdate(0),this.fire("fov",this._fov))}},{key:"fovAxis",get:function(){return this._fovAxis},set:function(e){e=e||"min",this._fovAxis!==e&&("x"!==e&&"y"!==e&&"min"!==e&&(this.error("Unsupported value for 'fovAxis': "+e+" - defaulting to 'min'"),e="min"),this._fovAxis=e,this._needUpdate(0),this.fire("fovAxis",this._fovAxis))}},{key:"near",get:function(){return this._state.near},set:function(e){var t=null!=e?e:.1;this._state.near!==t&&(this._state.near=t,this._needUpdate(0),this.fire("near",this._state.near))}},{key:"far",get:function(){return this._state.far},set:function(e){var t=null!=e?e:2e3;this._state.far!==t&&(this._state.far=t,this._needUpdate(0),this.fire("far",this._state.far))}},{key:"matrix",get:function(){return this._updateScheduled&&this._doUpdate(),this._state.matrix}},{key:"inverseMatrix",get:function(){return this._updateScheduled&&this._doUpdate(),this._inverseMatrixDirty&&($.inverseMat4(this._state.matrix,this._state.inverseMatrix),this._inverseMatrixDirty=!1),this._state.inverseMatrix}},{key:"transposedMatrix",get:function(){return this._updateScheduled&&this._doUpdate(),this._transposedMatrixDirty&&($.transposeMat4(this._state.matrix,this._state.transposedMatrix),this._transposedMatrixDirty=!1),this._state.transposedMatrix}},{key:"unproject",value:function(e,t,n,r,i){var a=this.scene.canvas.canvas,s=a.offsetWidth/2,o=a.offsetHeight/2;return n[0]=(e[0]-s)/s,n[1]=(e[1]-o)/o,n[2]=t,n[3]=1,$.mulMat4v4(this.inverseMatrix,n,r),$.mulVec3Scalar(r,1/r[3]),r[3]=1,r[1]*=-1,$.mulMat4v4(this.camera.inverseViewMatrix,r,i),i}},{key:"destroy",value:function(){v(E(n.prototype),"destroy",this).call(this),this._state.destroy(),this.scene.canvas.off(this._canvasResized)}}]),n}(),Yt=function(e){I(n,ye);var t=m(n);function n(e){var r,i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return b(this,n),(r=t.call(this,e,i)).camera=e,r._state=new Wt({matrix:$.mat4(),inverseMatrix:$.mat4(),transposedMatrix:$.mat4(),near:.1,far:2e3}),r._inverseMatrixDirty=!0,r._transposedMatrixDirty=!0,r.scale=i.scale,r.near=i.near,r.far=i.far,r._onCanvasBoundary=r.scene.canvas.on("boundary",r._needUpdate,g(r)),r}return P(n,[{key:"type",get:function(){return"Ortho"}},{key:"_update",value:function(){var e,t,n,r,i=this.scene,a=.5*this._scale,s=i.canvas.boundary,o=s[2],l=s[3],u=o/l;o>l?(e=-a,t=a,n=a/u,r=-a/u):(e=-a*u,t=a*u,n=a,r=-a),$.orthoMat4c(e,t,r,n,this._state.near,this._state.far,this._state.matrix),this._inverseMatrixDirty=!0,this._transposedMatrixDirty=!0,this.glRedraw(),this.fire("matrix",this._state.matrix)}},{key:"scale",get:function(){return this._scale},set:function(e){null==e&&(e=1),e<=0&&(e=.01),this._scale=e,this._needUpdate(0),this.fire("scale",this._scale)}},{key:"near",get:function(){return this._state.near},set:function(e){var t=null!=e?e:.1;this._state.near!==t&&(this._state.near=t,this._needUpdate(0),this.fire("near",this._state.near))}},{key:"far",get:function(){return this._state.far},set:function(e){var t=null!=e?e:2e3;this._state.far!==t&&(this._state.far=t,this._needUpdate(0),this.fire("far",this._state.far))}},{key:"matrix",get:function(){return this._updateScheduled&&this._doUpdate(),this._state.matrix}},{key:"inverseMatrix",get:function(){return this._updateScheduled&&this._doUpdate(),this._inverseMatrixDirty&&($.inverseMat4(this._state.matrix,this._state.inverseMatrix),this._inverseMatrixDirty=!1),this._state.inverseMatrix}},{key:"transposedMatrix",get:function(){return this._updateScheduled&&this._doUpdate(),this._transposedMatrixDirty&&($.transposeMat4(this._state.matrix,this._state.transposedMatrix),this._transposedMatrixDirty=!1),this._state.transposedMatrix}},{key:"unproject",value:function(e,t,n,r,i){var a=this.scene.canvas.canvas,s=a.offsetWidth/2,o=a.offsetHeight/2;return n[0]=(e[0]-s)/s,n[1]=(e[1]-o)/o,n[2]=t,n[3]=1,$.mulMat4v4(this.inverseMatrix,n,r),$.mulVec3Scalar(r,1/r[3]),r[3]=1,r[1]*=-1,$.mulMat4v4(this.camera.inverseViewMatrix,r,i),i}},{key:"destroy",value:function(){v(E(n.prototype),"destroy",this).call(this),this._state.destroy(),this.scene.canvas.off(this._onCanvasBoundary)}}]),n}(),Xt=function(e){I(n,ye);var t=m(n);function n(e){var r,i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return b(this,n),(r=t.call(this,e,i)).camera=e,r._state=new Wt({matrix:$.mat4(),inverseMatrix:$.mat4(),transposedMatrix:$.mat4(),near:.1,far:1e4}),r._left=-1,r._right=1,r._bottom=-1,r._top=1,r._inverseMatrixDirty=!0,r._transposedMatrixDirty=!0,r.left=i.left,r.right=i.right,r.bottom=i.bottom,r.top=i.top,r.near=i.near,r.far=i.far,r}return P(n,[{key:"type",get:function(){return"Frustum"}},{key:"_update",value:function(){$.frustumMat4(this._left,this._right,this._bottom,this._top,this._state.near,this._state.far,this._state.matrix),this._inverseMatrixDirty=!0,this._transposedMatrixDirty=!0,this.glRedraw(),this.fire("matrix",this._state.matrix)}},{key:"left",get:function(){return this._left},set:function(e){this._left=null!=e?e:-1,this._needUpdate(0),this.fire("left",this._left)}},{key:"right",get:function(){return this._right},set:function(e){this._right=null!=e?e:1,this._needUpdate(0),this.fire("right",this._right)}},{key:"top",get:function(){return this._top},set:function(e){this._top=null!=e?e:1,this._needUpdate(0),this.fire("top",this._top)}},{key:"bottom",get:function(){return this._bottom},set:function(e){this._bottom=null!=e?e:-1,this._needUpdate(0),this.fire("bottom",this._bottom)}},{key:"near",get:function(){return this._state.near},set:function(e){this._state.near=null!=e?e:.1,this._needUpdate(0),this.fire("near",this._state.near)}},{key:"far",get:function(){return this._state.far},set:function(e){this._state.far=null!=e?e:1e4,this._needUpdate(0),this.fire("far",this._state.far)}},{key:"matrix",get:function(){return this._updateScheduled&&this._doUpdate(),this._state.matrix}},{key:"inverseMatrix",get:function(){return this._updateScheduled&&this._doUpdate(),this._inverseMatrixDirty&&($.inverseMat4(this._state.matrix,this._state.inverseMatrix),this._inverseMatrixDirty=!1),this._state.inverseMatrix}},{key:"transposedMatrix",get:function(){return this._updateScheduled&&this._doUpdate(),this._transposedMatrixDirty&&($.transposeMat4(this._state.matrix,this._state.transposedMatrix),this._transposedMatrixDirty=!1),this._state.transposedMatrix}},{key:"unproject",value:function(e,t,n,r,i){var a=this.scene.canvas.canvas,s=a.offsetWidth/2,o=a.offsetHeight/2;return n[0]=(e[0]-s)/s,n[1]=(e[1]-o)/o,n[2]=t,n[3]=1,$.mulMat4v4(this.inverseMatrix,n,r),$.mulVec3Scalar(r,1/r[3]),r[3]=1,r[1]*=-1,$.mulMat4v4(this.camera.inverseViewMatrix,r,i),i}},{key:"destroy",value:function(){v(E(n.prototype),"destroy",this).call(this),this._state.destroy(),v(E(n.prototype),"destroy",this).call(this)}}]),n}(),qt=function(e){I(n,ye);var t=m(n);function n(e){var r,i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return b(this,n),(r=t.call(this,e,i)).camera=e,r._state=new Wt({matrix:$.mat4(),inverseMatrix:$.mat4(),transposedMatrix:$.mat4()}),r._inverseMatrixDirty=!0,r._transposedMatrixDirty=!1,r.matrix=i.matrix,r}return P(n,[{key:"type",get:function(){return"CustomProjection"}},{key:"matrix",get:function(){return this._state.matrix},set:function(e){this._state.matrix.set(e||[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]),this._inverseMatrixDirty=!0,this._transposedMatrixDirty=!0,this.glRedraw(),this.fire("matrix",this._state.matrix)}},{key:"inverseMatrix",get:function(){return this._updateScheduled&&this._doUpdate(),this._inverseMatrixDirty&&($.inverseMat4(this._state.matrix,this._state.inverseMatrix),this._inverseMatrixDirty=!1),this._state.inverseMatrix}},{key:"transposedMatrix",get:function(){return this._updateScheduled&&this._doUpdate(),this._transposedMatrixDirty&&($.transposeMat4(this._state.matrix,this._state.transposedMatrix),this._transposedMatrixDirty=!1),this._state.transposedMatrix}},{key:"unproject",value:function(e,t,n,r,i){var a=this.scene.canvas.canvas,s=a.offsetWidth/2,o=a.offsetHeight/2;return n[0]=(e[0]-s)/s,n[1]=(e[1]-o)/o,n[2]=t,n[3]=1,$.mulMat4v4(this.inverseMatrix,n,r),$.mulVec3Scalar(r,1/r[3]),r[3]=1,r[1]*=-1,$.mulMat4v4(this.camera.inverseViewMatrix,r,i),i}},{key:"destroy",value:function(){v(E(n.prototype),"destroy",this).call(this),this._state.destroy()}}]),n}(),Jt=$.vec3(),Zt=$.vec3(),$t=$.vec3(),en=$.vec3(),tn=$.vec3(),nn=$.vec3(),rn=$.vec4(),an=$.vec4(),sn=$.vec4(),on=$.mat4(),ln=$.mat4(),un=$.vec3(),cn=$.vec3(),fn=$.vec3(),pn=$.vec3(),An=function(e){I(n,ye);var t=m(n);function n(e){var r,i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return b(this,n),(r=t.call(this,e,i))._state=new Wt({deviceMatrix:$.mat4(),hasDeviceMatrix:!1,matrix:$.mat4(),normalMatrix:$.mat4(),inverseMatrix:$.mat4()}),r._perspective=new Kt(g(r)),r._ortho=new Yt(g(r)),r._frustum=new Xt(g(r)),r._customProjection=new qt(g(r)),r._project=r._perspective,r._eye=$.vec3([0,0,10]),r._look=$.vec3([0,0,0]),r._up=$.vec3([0,1,0]),r._worldUp=$.vec3([0,1,0]),r._worldRight=$.vec3([1,0,0]),r._worldForward=$.vec3([0,0,-1]),r.deviceMatrix=i.deviceMatrix,r.eye=i.eye,r.look=i.look,r.up=i.up,r.worldAxis=i.worldAxis,r.gimbalLock=i.gimbalLock,r.constrainPitch=i.constrainPitch,r.projection=i.projection,r._perspective.on("matrix",(function(){"perspective"===r._projectionType&&r.fire("projMatrix",r._perspective.matrix)})),r._ortho.on("matrix",(function(){"ortho"===r._projectionType&&r.fire("projMatrix",r._ortho.matrix)})),r._frustum.on("matrix",(function(){"frustum"===r._projectionType&&r.fire("projMatrix",r._frustum.matrix)})),r._customProjection.on("matrix",(function(){"customProjection"===r._projectionType&&r.fire("projMatrix",r._customProjection.matrix)})),r}return P(n,[{key:"type",get:function(){return"Camera"}},{key:"_update",value:function(){var e,t=this._state;"ortho"===this.projection?($.subVec3(this._eye,this._look,un),$.normalizeVec3(un,cn),$.mulVec3Scalar(cn,1e3,fn),$.addVec3(this._look,fn,pn),e=pn):e=this._eye,t.hasDeviceMatrix?($.lookAtMat4v(e,this._look,this._up,ln),$.mulMat4(t.deviceMatrix,ln,t.matrix)):$.lookAtMat4v(e,this._look,this._up,t.matrix),$.inverseMat4(this._state.matrix,this._state.inverseMatrix),$.transposeMat4(this._state.inverseMatrix,this._state.normalMatrix),this.glRedraw(),this.fire("matrix",this._state.matrix),this.fire("viewMatrix",this._state.matrix)}},{key:"orbitYaw",value:function(e){var t=$.subVec3(this._eye,this._look,Jt);$.rotationMat4v(.0174532925*e,this._gimbalLock?this._worldUp:this._up,on),t=$.transformPoint3(on,t,Zt),this.eye=$.addVec3(this._look,t,$t),this.up=$.transformPoint3(on,this._up,en)}},{key:"orbitPitch",value:function(e){if(!(this._constrainPitch&&(e=$.dotVec3(this._up,this._worldUp)/$.DEGTORAD)<1)){var t=$.subVec3(this._eye,this._look,Jt),n=$.cross3Vec3($.normalizeVec3(t,Zt),$.normalizeVec3(this._up,$t));$.rotationMat4v(.0174532925*e,n,on),t=$.transformPoint3(on,t,en),this.up=$.transformPoint3(on,this._up,tn),this.eye=$.addVec3(t,this._look,nn)}}},{key:"yaw",value:function(e){var t=$.subVec3(this._look,this._eye,Jt);$.rotationMat4v(.0174532925*e,this._gimbalLock?this._worldUp:this._up,on),t=$.transformPoint3(on,t,Zt),this.look=$.addVec3(t,this._eye,$t),this._gimbalLock&&(this.up=$.transformPoint3(on,this._up,en))}},{key:"pitch",value:function(e){if(!(this._constrainPitch&&(e=$.dotVec3(this._up,this._worldUp)/$.DEGTORAD)<1)){var t=$.subVec3(this._look,this._eye,Jt),n=$.cross3Vec3($.normalizeVec3(t,Zt),$.normalizeVec3(this._up,$t));$.rotationMat4v(.0174532925*e,n,on),this.up=$.transformPoint3(on,this._up,nn),t=$.transformPoint3(on,t,en),this.look=$.addVec3(t,this._eye,tn)}}},{key:"pan",value:function(e){var t,n=$.subVec3(this._eye,this._look,Jt),r=[0,0,0];if(0!==e[0]){var i=$.cross3Vec3($.normalizeVec3(n,[]),$.normalizeVec3(this._up,Zt));t=$.mulVec3Scalar(i,e[0]),r[0]+=t[0],r[1]+=t[1],r[2]+=t[2]}0!==e[1]&&(t=$.mulVec3Scalar($.normalizeVec3(this._up,$t),e[1]),r[0]+=t[0],r[1]+=t[1],r[2]+=t[2]),0!==e[2]&&(t=$.mulVec3Scalar($.normalizeVec3(n,en),e[2]),r[0]+=t[0],r[1]+=t[1],r[2]+=t[2]),this.eye=$.addVec3(this._eye,r,tn),this.look=$.addVec3(this._look,r,nn)}},{key:"zoom",value:function(e){var t=$.subVec3(this._eye,this._look,Jt),n=Math.abs($.lenVec3(t,Zt)),r=Math.abs(n+e);if(!(r<.5)){var i=$.normalizeVec3(t,$t);this.eye=$.addVec3(this._look,$.mulVec3Scalar(i,r),en)}}},{key:"eye",get:function(){return this._eye},set:function(e){this._eye.set(e||[0,0,10]),this._needUpdate(0),this.fire("eye",this._eye)}},{key:"look",get:function(){return this._look},set:function(e){this._look.set(e||[0,0,0]),this._needUpdate(0),this.fire("look",this._look)}},{key:"up",get:function(){return this._up},set:function(e){this._up.set(e||[0,1,0]),this._needUpdate(0),this.fire("up",this._up)}},{key:"deviceMatrix",get:function(){return this._state.deviceMatrix},set:function(e){this._state.deviceMatrix.set(e||[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]),this._state.hasDeviceMatrix=!!e,this._needUpdate(0),this.fire("deviceMatrix",this._state.deviceMatrix)}},{key:"worldAxis",get:function(){return this._worldAxis},set:function(e){e=e||[1,0,0,0,1,0,0,0,1],this._worldAxis?this._worldAxis.set(e):this._worldAxis=$.vec3(e),this._worldRight[0]=this._worldAxis[0],this._worldRight[1]=this._worldAxis[1],this._worldRight[2]=this._worldAxis[2],this._worldUp[0]=this._worldAxis[3],this._worldUp[1]=this._worldAxis[4],this._worldUp[2]=this._worldAxis[5],this._worldForward[0]=this._worldAxis[6],this._worldForward[1]=this._worldAxis[7],this._worldForward[2]=this._worldAxis[8],this.fire("worldAxis",this._worldAxis)}},{key:"worldUp",get:function(){return this._worldUp}},{key:"xUp",get:function(){return this._worldUp[0]>this._worldUp[1]&&this._worldUp[0]>this._worldUp[2]}},{key:"yUp",get:function(){return this._worldUp[1]>this._worldUp[0]&&this._worldUp[1]>this._worldUp[2]}},{key:"zUp",get:function(){return this._worldUp[2]>this._worldUp[0]&&this._worldUp[2]>this._worldUp[1]}},{key:"worldRight",get:function(){return this._worldRight}},{key:"worldForward",get:function(){return this._worldForward}},{key:"gimbalLock",get:function(){return this._gimbalLock},set:function(e){this._gimbalLock=!1!==e,this.fire("gimbalLock",this._gimbalLock)}},{key:"constrainPitch",set:function(e){this._constrainPitch=!!e,this.fire("constrainPitch",this._constrainPitch)}},{key:"eyeLookDist",get:function(){return $.lenVec3($.subVec3(this._look,this._eye,Jt))}},{key:"matrix",get:function(){return this._updateScheduled&&this._doUpdate(),this._state.matrix}},{key:"viewMatrix",get:function(){return this._updateScheduled&&this._doUpdate(),this._state.matrix}},{key:"normalMatrix",get:function(){return this._updateScheduled&&this._doUpdate(),this._state.normalMatrix}},{key:"viewNormalMatrix",get:function(){return this._updateScheduled&&this._doUpdate(),this._state.normalMatrix}},{key:"inverseViewMatrix",get:function(){return this._updateScheduled&&this._doUpdate(),this._state.inverseMatrix}},{key:"projMatrix",get:function(){return this[this.projection].matrix}},{key:"perspective",get:function(){return this._perspective}},{key:"ortho",get:function(){return this._ortho}},{key:"frustum",get:function(){return this._frustum}},{key:"customProjection",get:function(){return this._customProjection}},{key:"projection",get:function(){return this._projectionType},set:function(e){e=e||"perspective",this._projectionType!==e&&("perspective"===e?this._project=this._perspective:"ortho"===e?this._project=this._ortho:"frustum"===e?this._project=this._frustum:"customProjection"===e?this._project=this._customProjection:(this.error("Unsupported value for 'projection': "+e+" defaulting to 'perspective'"),this._project=this._perspective,e="perspective"),this._project._update(),this._projectionType=e,this.glRedraw(),this._update(),this.fire("dirty"),this.fire("projection",this._projectionType),this.fire("projMatrix",this._project.matrix))}},{key:"project",get:function(){return this._project}},{key:"projectWorldPos",value:function(e){var t=rn,n=an,r=sn;t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=1,$.mulMat4v4(this.viewMatrix,t,n),$.mulMat4v4(this.projMatrix,n,r),$.mulVec3Scalar(r,1/r[3]),r[3]=1,r[1]*=-1;var i=this.scene.canvas.canvas,a=i.offsetWidth/2,s=i.offsetHeight/2;return[r[0]*a+a,r[1]*s+s]}},{key:"destroy",value:function(){v(E(n.prototype),"destroy",this).call(this),this._state.destroy()}}]),n}(),dn=function(e){I(n,ye);var t=m(n);function n(e){var r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return b(this,n),t.call(this,e,r)}return P(n,[{key:"type",get:function(){return"Light"}},{key:"isLight",get:function(){return!0}}]),n}(),vn=function(e){I(n,dn);var t=m(n);function n(e){var r,i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};b(this,n),(r=t.call(this,e,i))._shadowRenderBuf=null,r._shadowViewMatrix=null,r._shadowProjMatrix=null,r._shadowViewMatrixDirty=!0,r._shadowProjMatrixDirty=!0;var a=r.scene.camera,s=r.scene.canvas;return r._onCameraViewMatrix=a.on("viewMatrix",(function(){r._shadowViewMatrixDirty=!0})),r._onCameraProjMatrix=a.on("projMatrix",(function(){r._shadowProjMatrixDirty=!0})),r._onCanvasBoundary=s.on("boundary",(function(){r._shadowProjMatrixDirty=!0})),r._state=new Wt({type:"dir",dir:$.vec3([1,1,1]),color:$.vec3([.7,.7,.8]),intensity:1,space:i.space||"view",castsShadow:!1,getShadowViewMatrix:function(){if(r._shadowViewMatrixDirty){r._shadowViewMatrix||(r._shadowViewMatrix=$.identityMat4());var e=r.scene.camera,t=r._state.dir,n=e.look,i=[n[0]-t[0],n[1]-t[1],n[2]-t[2]];$.lookAtMat4v(i,n,[0,1,0],r._shadowViewMatrix),r._shadowViewMatrixDirty=!1}return r._shadowViewMatrix},getShadowProjMatrix:function(){return r._shadowProjMatrixDirty&&(r._shadowProjMatrix||(r._shadowProjMatrix=$.identityMat4()),$.orthoMat4c(-40,40,-40,40,-40,80,r._shadowProjMatrix),r._shadowProjMatrixDirty=!1),r._shadowProjMatrix},getShadowRenderBuf:function(){return r._shadowRenderBuf||(r._shadowRenderBuf=new Ut(r.scene.canvas.canvas,r.scene.canvas.gl,{size:[1024,1024]})),r._shadowRenderBuf}}),r.dir=i.dir,r.color=i.color,r.intensity=i.intensity,r.castsShadow=i.castsShadow,r.scene._lightCreated(g(r)),r}return P(n,[{key:"type",get:function(){return"DirLight"}},{key:"dir",get:function(){return this._state.dir},set:function(e){this._state.dir.set(e||[1,1,1]),this._shadowViewMatrixDirty=!0,this.glRedraw()}},{key:"color",get:function(){return this._state.color},set:function(e){this._state.color.set(e||[.7,.7,.8]),this.glRedraw()}},{key:"intensity",get:function(){return this._state.intensity},set:function(e){e=void 0!==e?e:1,this._state.intensity=e,this.glRedraw()}},{key:"castsShadow",get:function(){return this._state.castsShadow},set:function(e){e=!!e,this._state.castsShadow!==e&&(this._state.castsShadow=e,this._shadowViewMatrixDirty=!0,this.glRedraw())}},{key:"destroy",value:function(){var e=this.scene.camera,t=this.scene.canvas;e.off(this._onCameraViewMatrix),e.off(this._onCameraProjMatrix),t.off(this._onCanvasBoundary),v(E(n.prototype),"destroy",this).call(this),this._state.destroy(),this._shadowRenderBuf&&this._shadowRenderBuf.destroy(),this.scene._lightDestroyed(this),this.glRedraw()}}]),n}(),hn=function(e){I(n,dn);var t=m(n);function n(e){var r,i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return b(this,n),(r=t.call(this,e,i))._state={type:"ambient",color:$.vec3([.7,.7,.7]),intensity:1},r.color=i.color,r.intensity=i.intensity,r.scene._lightCreated(g(r)),r}return P(n,[{key:"type",get:function(){return"AmbientLight"}},{key:"color",get:function(){return this._state.color},set:function(e){this._state.color.set(e||[.7,.7,.8]),this.glRedraw()}},{key:"intensity",get:function(){return this._state.intensity},set:function(e){this._state.intensity=void 0!==e?e:1,this.glRedraw()}},{key:"destroy",value:function(){v(E(n.prototype),"destroy",this).call(this),this.scene._lightDestroyed(this)}}]),n}(),In=function(e){I(n,ye);var t=m(n);function n(e){var r,i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return b(this,n),r=t.call(this,e,i),re.memory.meshes++,r}return P(n,[{key:"type",get:function(){return"Geometry"}},{key:"isGeometry",get:function(){return!0}},{key:"destroy",value:function(){v(E(n.prototype),"destroy",this).call(this),re.memory.meshes--}}]),n}(),yn=function(){var e=[],t=[],n=[],r=[],i=[],a=0,s=new Uint16Array(3),o=new Uint16Array(3),l=new Uint16Array(3),u=$.vec3(),c=$.vec3(),f=$.vec3(),p=$.vec3(),A=$.vec3(),d=$.vec3(),v=$.vec3();return function(h,I,y,m){!function(i,a){var s,o,l,u,c,f,p={},A=Math.pow(10,4),d=0;for(c=0,f=i.length;cO)||(C=n[D.index1],_=n[D.index2],(!N&&C>65535||_>65535)&&(N=!0),B.push(C),B.push(_));return N?new Uint32Array(B):new Uint16Array(B)}}();var mn=function(){var e=$.mat4(),t=$.mat4();return function(n,r){r=r||$.mat4();var i=n[0],a=n[1],s=n[2],o=n[3]-i,l=n[4]-a,u=n[5]-s,c=65535;return $.identityMat4(e),$.translationMat4v(n,e),$.identityMat4(t),$.scalingMat4v([o/c,l/c,u/c],t),$.mulMat4(e,t,r),r}}(),wn=function(){var e=$.mat4(),t=$.mat4();return function(n,r,i){var a,s=new Uint16Array(n.length),o=new Float32Array([i[0]!==r[0]?65535/(i[0]-r[0]):0,i[1]!==r[1]?65535/(i[1]-r[1]):0,i[2]!==r[2]?65535/(i[2]-r[2]):0]);for(a=0;a=0?1:-1),o=(1-Math.abs(i))*(a>=0?1:-1);i=s,a=o}return new Int8Array([Math[n](127.5*i+(i<0?-1:0)),Math[r](127.5*a+(a<0?-1:0))])}function Tn(e){var t=e[0],n=e[1];t/=t<0?127:128,n/=n<0?127:128;var r=1-Math.abs(t)-Math.abs(n);r<0&&(t=(1-Math.abs(n))*(t>=0?1:-1),n=(1-Math.abs(t))*(n>=0?1:-1));var i=Math.sqrt(t*t+n*n+r*r);return[t/i,n/i,r/i]}function bn(e,t,n){return e[t]*n[0]+e[t+1]*n[1]+e[t+2]*n[2]}var Dn={getPositionsBounds:function(e){var t,n,r=new Float32Array(3),i=new Float32Array(3);for(t=0;t<3;t++)r[t]=Number.MAX_VALUE,i[t]=-Number.MAX_VALUE;for(t=0;t2&&void 0!==arguments[2]?arguments[2]:new Float32Array(e.length),r=0,i=e.length;r2&&void 0!==arguments[2]?arguments[2]:e;return n[0]=e[0]*t[0]+t[12],n[1]=e[1]*t[5]+t[13],n[2]=e[2]*t[10]+t[14],n[3]=e[3]*t[0]+t[12],n[4]=e[4]*t[5]+t[13],n[5]=e[5]*t[10]+t[14],n},getUVBounds:function(e){var t,n,r=new Float32Array(2),i=new Float32Array(2);for(t=0;t<2;t++)r[t]=Number.MAX_VALUE,i[t]=-Number.MAX_VALUE;for(t=0;t2&&void 0!==arguments[2]?arguments[2]:new Float32Array(e.length),r=0,i=e.length;ri&&(n=t,i=r),(r=bn(e,s,Tn(t=En(e,s,"floor","ceil"))))>i&&(n=t,i=r),(r=bn(e,s,Tn(t=En(e,s,"ceil","ceil"))))>i&&(n=t,i=r),a[s]=n[0],a[s+1]=n[1];return a},decompressNormals:function(e,t){for(var n=0,r=0,i=e.length;n=0?1:-1),s=(1-Math.abs(a))*(s>=0?1:-1));var l=Math.sqrt(a*a+s*s+o*o);t[r+0]=a/l,t[r+1]=s/l,t[r+2]=o/l,r+=3}return t},decompressNormal:function(e,t){var n=e[0],r=e[1];n=(2*n+1)/255,r=(2*r+1)/255;var i=1-Math.abs(n)-Math.abs(r);i<0&&(n=(1-Math.abs(r))*(n>=0?1:-1),r=(1-Math.abs(n))*(r>=0?1:-1));var a=Math.sqrt(n*n+r*r+i*i);return t[0]=n/a,t[1]=r/a,t[2]=i/a,t}},Pn=re.memory,Rn=$.AABB3(),Cn=function(e){I(n,In);var t=m(n);function n(e){var r,i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};b(this,n),(r=t.call(this,e,i))._state=new Wt({compressGeometry:!!i.compressGeometry,primitive:null,primitiveName:null,positions:null,normals:null,colors:null,uv:null,indices:null,positionsDecodeMatrix:null,uvDecodeMatrix:null,positionsBuf:null,normalsBuf:null,colorsbuf:null,uvBuf:null,indicesBuf:null,hash:""}),r._numTriangles=0,r._edgeThreshold=i.edgeThreshold||10,r._edgeIndicesBuf=null,r._pickTrianglePositionsBuf=null,r._pickTriangleColorsBuf=null,r._aabbDirty=!0,r._boundingSphere=!0,r._aabb=null,r._aabbDirty=!0,r._obb=null,r._obbDirty=!0;var a=r._state,s=r.scene.canvas.gl;switch(i.primitive=i.primitive||"triangles",i.primitive){case"points":a.primitive=s.POINTS,a.primitiveName=i.primitive;break;case"lines":a.primitive=s.LINES,a.primitiveName=i.primitive;break;case"line-loop":a.primitive=s.LINE_LOOP,a.primitiveName=i.primitive;break;case"line-strip":a.primitive=s.LINE_STRIP,a.primitiveName=i.primitive;break;case"triangles":a.primitive=s.TRIANGLES,a.primitiveName=i.primitive;break;case"triangle-strip":a.primitive=s.TRIANGLE_STRIP,a.primitiveName=i.primitive;break;case"triangle-fan":a.primitive=s.TRIANGLE_FAN,a.primitiveName=i.primitive;break;default:r.error("Unsupported value for 'primitive': '"+i.primitive+"' - supported values are 'points', 'lines', 'line-loop', 'line-strip', 'triangles', 'triangle-strip' and 'triangle-fan'. Defaulting to 'triangles'."),a.primitive=s.TRIANGLES,a.primitiveName=i.primitive}if(i.positions)if(r._state.compressGeometry){var o=Dn.getPositionsBounds(i.positions),l=Dn.compressPositions(i.positions,o.min,o.max);a.positions=l.quantized,a.positionsDecodeMatrix=l.decodeMatrix}else a.positions=i.positions.constructor===Float32Array?i.positions:new Float32Array(i.positions);if(i.colors&&(a.colors=i.colors.constructor===Float32Array?i.colors:new Float32Array(i.colors)),i.uv)if(r._state.compressGeometry){var u=Dn.getUVBounds(i.uv),c=Dn.compressUVs(i.uv,u.min,u.max);a.uv=c.quantized,a.uvDecodeMatrix=c.decodeMatrix}else a.uv=i.uv.constructor===Float32Array?i.uv:new Float32Array(i.uv);return i.normals&&(r._state.compressGeometry?a.normals=Dn.compressNormals(i.normals):a.normals=i.normals.constructor===Float32Array?i.normals:new Float32Array(i.normals)),i.indices&&(a.indices=i.indices.constructor===Uint32Array||i.indices.constructor===Uint16Array?i.indices:new Uint32Array(i.indices),"triangles"===r._state.primitiveName&&(r._numTriangles=i.indices.length/3)),r._buildHash(),Pn.meshes++,r._buildVBOs(),r}return P(n,[{key:"type",get:function(){return"ReadableGeometry"}},{key:"isReadableGeometry",get:function(){return!0}},{key:"_buildVBOs",value:function(){var e=this._state,t=this.scene.canvas.gl;if(e.indices&&(e.indicesBuf=new Dt(t,t.ELEMENT_ARRAY_BUFFER,e.indices,e.indices.length,1,t.STATIC_DRAW),Pn.indices+=e.indicesBuf.numItems),e.positions&&(e.positionsBuf=new Dt(t,t.ARRAY_BUFFER,e.positions,e.positions.length,3,t.STATIC_DRAW),Pn.positions+=e.positionsBuf.numItems),e.normals){var n=e.compressGeometry;e.normalsBuf=new Dt(t,t.ARRAY_BUFFER,e.normals,e.normals.length,3,t.STATIC_DRAW,n),Pn.normals+=e.normalsBuf.numItems}e.colors&&(e.colorsBuf=new Dt(t,t.ARRAY_BUFFER,e.colors,e.colors.length,4,t.STATIC_DRAW),Pn.colors+=e.colorsBuf.numItems),e.uv&&(e.uvBuf=new Dt(t,t.ARRAY_BUFFER,e.uv,e.uv.length,2,t.STATIC_DRAW),Pn.uvs+=e.uvBuf.numItems)}},{key:"_buildHash",value:function(){var e=this._state,t=["/g"];t.push("/"+e.primitive+";"),e.positions&&t.push("p"),e.colors&&t.push("c"),(e.normals||e.autoVertexNormals)&&t.push("n"),e.uv&&t.push("u"),e.compressGeometry&&t.push("cp"),t.push(";"),e.hash=t.join("")}},{key:"_getEdgeIndices",value:function(){return this._edgeIndicesBuf||this._buildEdgeIndices(),this._edgeIndicesBuf}},{key:"_getPickTrianglePositions",value:function(){return this._pickTrianglePositionsBuf||this._buildPickTriangleVBOs(),this._pickTrianglePositionsBuf}},{key:"_getPickTriangleColors",value:function(){return this._pickTriangleColorsBuf||this._buildPickTriangleVBOs(),this._pickTriangleColorsBuf}},{key:"_buildEdgeIndices",value:function(){var e=this._state;if(e.positions&&e.indices){var t=this.scene.canvas.gl,n=yn(e.positions,e.indices,e.positionsDecodeMatrix,this._edgeThreshold);this._edgeIndicesBuf=new Dt(t,t.ELEMENT_ARRAY_BUFFER,n,n.length,1,t.STATIC_DRAW),Pn.indices+=this._edgeIndicesBuf.numItems}}},{key:"_buildPickTriangleVBOs",value:function(){var e=this._state;if(e.positions&&e.indices){var t=this.scene.canvas.gl,n=$.buildPickTriangles(e.positions,e.indices,e.compressGeometry),r=n.positions,i=n.colors;this._pickTrianglePositionsBuf=new Dt(t,t.ARRAY_BUFFER,r,r.length,3,t.STATIC_DRAW),this._pickTriangleColorsBuf=new Dt(t,t.ARRAY_BUFFER,i,i.length,4,t.STATIC_DRAW,!0),Pn.positions+=this._pickTrianglePositionsBuf.numItems,Pn.colors+=this._pickTriangleColorsBuf.numItems}}},{key:"_buildPickVertexVBOs",value:function(){}},{key:"_webglContextLost",value:function(){this._sceneVertexBufs&&this._sceneVertexBufs.webglContextLost()}},{key:"_webglContextRestored",value:function(){this._sceneVertexBufs&&this._sceneVertexBufs.webglContextRestored(),this._buildVBOs(),this._edgeIndicesBuf=null,this._pickVertexPositionsBuf=null,this._pickTrianglePositionsBuf=null,this._pickTriangleColorsBuf=null,this._pickVertexPositionsBuf=null,this._pickVertexColorsBuf=null}},{key:"primitive",get:function(){return this._state.primitiveName}},{key:"compressGeometry",get:function(){return this._state.compressGeometry}},{key:"positions",get:function(){return this._state.positions?this._state.compressGeometry?(this._decompressedPositions||(this._decompressedPositions=new Float32Array(this._state.positions.length),Dn.decompressPositions(this._state.positions,this._state.positionsDecodeMatrix,this._decompressedPositions)),this._decompressedPositions):this._state.positions:null},set:function(e){var t=this._state,n=t.positions;if(n)if(n.length===e.length){if(this._state.compressGeometry){var r=Dn.getPositionsBounds(e),i=Dn.compressPositions(e,r.min,r.max);e=i.quantized,t.positionsDecodeMatrix=i.decodeMatrix}n.set(e),t.positionsBuf&&t.positionsBuf.setData(n),this._setAABBDirty(),this.glRedraw()}else this.error("can't update geometry positions - new positions are wrong length");else this.error("can't update geometry positions - geometry has no positions")}},{key:"normals",get:function(){if(this._state.normals){if(!this._state.compressGeometry)return this._state.normals;if(!this._decompressedNormals){var e=this._state.normals.length,t=e+e/2;this._decompressedNormals=new Float32Array(t),Dn.decompressNormals(this._state.normals,this._decompressedNormals)}return this._decompressedNormals}},set:function(e){if(this._state.compressGeometry)this.error("can't update geometry normals - quantized geometry is immutable");else{var t=this._state,n=t.normals;n?n.length===e.length?(n.set(e),t.normalsBuf&&t.normalsBuf.setData(n),this.glRedraw()):this.error("can't update geometry normals - new normals are wrong length"):this.error("can't update geometry normals - geometry has no normals")}}},{key:"uv",get:function(){return this._state.uv?this._state.compressGeometry?(this._decompressedUV||(this._decompressedUV=new Float32Array(this._state.uv.length),Dn.decompressUVs(this._state.uv,this._state.uvDecodeMatrix,this._decompressedUV)),this._decompressedUV):this._state.uv:null},set:function(e){if(this._state.compressGeometry)this.error("can't update geometry UVs - quantized geometry is immutable");else{var t=this._state,n=t.uv;n?n.length===e.length?(n.set(e),t.uvBuf&&t.uvBuf.setData(n),this.glRedraw()):this.error("can't update geometry UVs - new UVs are wrong length"):this.error("can't update geometry UVs - geometry has no UVs")}}},{key:"colors",get:function(){return this._state.colors},set:function(e){if(this._state.compressGeometry)this.error("can't update geometry colors - quantized geometry is immutable");else{var t=this._state,n=t.colors;n?n.length===e.length?(n.set(e),t.colorsBuf&&t.colorsBuf.setData(n),this.glRedraw()):this.error("can't update geometry colors - new colors are wrong length"):this.error("can't update geometry colors - geometry has no colors")}}},{key:"indices",get:function(){return this._state.indices}},{key:"aabb",get:function(){return this._aabbDirty&&(this._aabb||(this._aabb=$.AABB3()),$.positions3ToAABB3(this._state.positions,this._aabb,this._state.positionsDecodeMatrix),this._aabbDirty=!1),this._aabb}},{key:"obb",get:function(){return this._obbDirty&&(this._obb||(this._obb=$.OBB3()),$.positions3ToAABB3(this._state.positions,Rn,this._state.positionsDecodeMatrix),$.AABB3ToOBB3(Rn,this._obb),this._obbDirty=!1),this._obb}},{key:"numTriangles",get:function(){return this._numTriangles}},{key:"_setAABBDirty",value:function(){this._aabbDirty||(this._aabbDirty=!0,this._aabbDirty=!0,this._obbDirty=!0)}},{key:"_getState",value:function(){return this._state}},{key:"destroy",value:function(){v(E(n.prototype),"destroy",this).call(this);var e=this._state;e.indicesBuf&&e.indicesBuf.destroy(),e.positionsBuf&&e.positionsBuf.destroy(),e.normalsBuf&&e.normalsBuf.destroy(),e.uvBuf&&e.uvBuf.destroy(),e.colorsBuf&&e.colorsBuf.destroy(),this._edgeIndicesBuf&&this._edgeIndicesBuf.destroy(),this._pickTrianglePositionsBuf&&this._pickTrianglePositionsBuf.destroy(),this._pickTriangleColorsBuf&&this._pickTriangleColorsBuf.destroy(),this._pickVertexPositionsBuf&&this._pickVertexPositionsBuf.destroy(),this._pickVertexColorsBuf&&this._pickVertexColorsBuf.destroy(),e.destroy(),Pn.meshes--}}]),n}();function _n(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.xSize||1;t<0&&(console.error("negative xSize not allowed - will invert"),t*=-1);var n=e.ySize||1;n<0&&(console.error("negative ySize not allowed - will invert"),n*=-1);var r=e.zSize||1;r<0&&(console.error("negative zSize not allowed - will invert"),r*=-1);var i=e.center,a=i?i[0]:0,s=i?i[1]:0,o=i?i[2]:0,l=-t+a,u=-n+s,c=-r+o,f=t+a,p=n+s,A=r+o;return le.apply(e,{positions:[f,p,A,l,p,A,l,u,A,f,u,A,f,p,A,f,u,A,f,u,c,f,p,c,f,p,A,f,p,c,l,p,c,l,p,A,l,p,A,l,p,c,l,u,c,l,u,A,l,u,c,f,u,c,f,u,A,l,u,A,f,u,c,l,u,c,l,p,c,f,p,c],normals:[0,0,1,0,0,1,0,0,1,0,0,1,1,0,0,1,0,0,1,0,0,1,0,0,0,1,0,0,1,0,0,1,0,0,1,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,0,-1,0,0,-1,0,0,-1,0,0,-1],uv:[1,0,0,0,0,1,1,1,0,0,0,1,1,1,1,0,1,1,1,0,0,0,0,1,1,0,0,0,0,1,1,1,0,1,1,1,1,0,0,0,0,1,1,1,1,0,0,0],indices:[0,1,2,0,2,3,4,5,6,4,6,7,8,9,10,8,10,11,12,13,14,12,14,15,16,17,18,16,18,19,20,21,22,20,22,23]})}var Bn=function(e){I(n,ye);var t=m(n);function n(e){var r,i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return b(this,n),r=t.call(this,e,i),re.memory.materials++,r}return P(n,[{key:"type",get:function(){return"Material"}},{key:"destroy",value:function(){v(E(n.prototype),"destroy",this).call(this),re.memory.materials--}}]),n}(),On={opaque:0,mask:1,blend:2},Sn=["opaque","mask","blend"],Nn=function(e){I(n,Bn);var t=m(n);function n(e){var r,i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return b(this,n),(r=t.call(this,e,i))._state=new Wt({type:"PhongMaterial",ambient:$.vec3([1,1,1]),diffuse:$.vec3([1,1,1]),specular:$.vec3([1,1,1]),emissive:$.vec3([0,0,0]),alpha:null,shininess:null,reflectivity:null,alphaMode:null,alphaCutoff:null,lineWidth:null,pointSize:null,backfaces:null,frontface:null,hash:null}),r.ambient=i.ambient,r.diffuse=i.diffuse,r.specular=i.specular,r.emissive=i.emissive,r.alpha=i.alpha,r.shininess=i.shininess,r.reflectivity=i.reflectivity,r.lineWidth=i.lineWidth,r.pointSize=i.pointSize,i.ambientMap&&(r._ambientMap=r._checkComponent("Texture",i.ambientMap)),i.diffuseMap&&(r._diffuseMap=r._checkComponent("Texture",i.diffuseMap)),i.specularMap&&(r._specularMap=r._checkComponent("Texture",i.specularMap)),i.emissiveMap&&(r._emissiveMap=r._checkComponent("Texture",i.emissiveMap)),i.alphaMap&&(r._alphaMap=r._checkComponent("Texture",i.alphaMap)),i.reflectivityMap&&(r._reflectivityMap=r._checkComponent("Texture",i.reflectivityMap)),i.normalMap&&(r._normalMap=r._checkComponent("Texture",i.normalMap)),i.occlusionMap&&(r._occlusionMap=r._checkComponent("Texture",i.occlusionMap)),i.diffuseFresnel&&(r._diffuseFresnel=r._checkComponent("Fresnel",i.diffuseFresnel)),i.specularFresnel&&(r._specularFresnel=r._checkComponent("Fresnel",i.specularFresnel)),i.emissiveFresnel&&(r._emissiveFresnel=r._checkComponent("Fresnel",i.emissiveFresnel)),i.alphaFresnel&&(r._alphaFresnel=r._checkComponent("Fresnel",i.alphaFresnel)),i.reflectivityFresnel&&(r._reflectivityFresnel=r._checkComponent("Fresnel",i.reflectivityFresnel)),r.alphaMode=i.alphaMode,r.alphaCutoff=i.alphaCutoff,r.backfaces=i.backfaces,r.frontface=i.frontface,r._makeHash(),r}return P(n,[{key:"type",get:function(){return"PhongMaterial"}},{key:"_makeHash",value:function(){var e=this._state,t=["/p"];this._normalMap&&(t.push("/nm"),this._normalMap.hasMatrix&&t.push("/mat")),this._ambientMap&&(t.push("/am"),this._ambientMap.hasMatrix&&t.push("/mat"),t.push("/"+this._ambientMap.encoding)),this._diffuseMap&&(t.push("/dm"),this._diffuseMap.hasMatrix&&t.push("/mat"),t.push("/"+this._diffuseMap.encoding)),this._specularMap&&(t.push("/sm"),this._specularMap.hasMatrix&&t.push("/mat")),this._emissiveMap&&(t.push("/em"),this._emissiveMap.hasMatrix&&t.push("/mat"),t.push("/"+this._emissiveMap.encoding)),this._alphaMap&&(t.push("/opm"),this._alphaMap.hasMatrix&&t.push("/mat")),this._reflectivityMap&&(t.push("/rm"),this._reflectivityMap.hasMatrix&&t.push("/mat")),this._occlusionMap&&(t.push("/ocm"),this._occlusionMap.hasMatrix&&t.push("/mat")),this._diffuseFresnel&&t.push("/df"),this._specularFresnel&&t.push("/sf"),this._emissiveFresnel&&t.push("/ef"),this._alphaFresnel&&t.push("/of"),this._reflectivityFresnel&&t.push("/rf"),t.push(";"),e.hash=t.join("")}},{key:"ambient",get:function(){return this._state.ambient},set:function(e){var t=this._state.ambient;if(t){if(e&&t[0]===e[0]&&t[1]===e[1]&&t[2]===e[2])return}else t=this._state.ambient=new Float32Array(3);e?(t[0]=e[0],t[1]=e[1],t[2]=e[2]):(t[0]=.2,t[1]=.2,t[2]=.2),this.glRedraw()}},{key:"diffuse",get:function(){return this._state.diffuse},set:function(e){var t=this._state.diffuse;if(t){if(e&&t[0]===e[0]&&t[1]===e[1]&&t[2]===e[2])return}else t=this._state.diffuse=new Float32Array(3);e?(t[0]=e[0],t[1]=e[1],t[2]=e[2]):(t[0]=1,t[1]=1,t[2]=1),this.glRedraw()}},{key:"specular",get:function(){return this._state.specular},set:function(e){var t=this._state.specular;if(t){if(e&&t[0]===e[0]&&t[1]===e[1]&&t[2]===e[2])return}else t=this._state.specular=new Float32Array(3);e?(t[0]=e[0],t[1]=e[1],t[2]=e[2]):(t[0]=1,t[1]=1,t[2]=1),this.glRedraw()}},{key:"emissive",get:function(){return this._state.emissive},set:function(e){var t=this._state.emissive;if(t){if(e&&t[0]===e[0]&&t[1]===e[1]&&t[2]===e[2])return}else t=this._state.emissive=new Float32Array(3);e?(t[0]=e[0],t[1]=e[1],t[2]=e[2]):(t[0]=0,t[1]=0,t[2]=0),this.glRedraw()}},{key:"alpha",get:function(){return this._state.alpha},set:function(e){e=null!=e?e:1,this._state.alpha!==e&&(this._state.alpha=e,this.glRedraw())}},{key:"shininess",get:function(){return this._state.shininess},set:function(e){this._state.shininess=void 0!==e?e:80,this.glRedraw()}},{key:"lineWidth",get:function(){return this._state.lineWidth},set:function(e){this._state.lineWidth=e||1,this.glRedraw()}},{key:"pointSize",get:function(){return this._state.pointSize},set:function(e){this._state.pointSize=e||1,this.glRedraw()}},{key:"reflectivity",get:function(){return this._state.reflectivity},set:function(e){this._state.reflectivity=void 0!==e?e:1,this.glRedraw()}},{key:"normalMap",get:function(){return this._normalMap}},{key:"ambientMap",get:function(){return this._ambientMap}},{key:"diffuseMap",get:function(){return this._diffuseMap}},{key:"specularMap",get:function(){return this._specularMap}},{key:"emissiveMap",get:function(){return this._emissiveMap}},{key:"alphaMap",get:function(){return this._alphaMap}},{key:"reflectivityMap",get:function(){return this._reflectivityMap}},{key:"occlusionMap",get:function(){return this._occlusionMap}},{key:"diffuseFresnel",get:function(){return this._diffuseFresnel}},{key:"specularFresnel",get:function(){return this._specularFresnel}},{key:"emissiveFresnel",get:function(){return this._emissiveFresnel}},{key:"alphaFresnel",get:function(){return this._alphaFresnel}},{key:"reflectivityFresnel",get:function(){return this._reflectivityFresnel}},{key:"alphaMode",get:function(){return Sn[this._state.alphaMode]},set:function(e){var t=On[e=e||"opaque"];void 0===t&&(this.error("Unsupported value for 'alphaMode': "+e+" - defaulting to 'opaque'"),t="opaque"),this._state.alphaMode!==t&&(this._state.alphaMode=t,this.glRedraw())}},{key:"alphaCutoff",get:function(){return this._state.alphaCutoff},set:function(e){null==e&&(e=.5),this._state.alphaCutoff!==e&&(this._state.alphaCutoff=e)}},{key:"backfaces",get:function(){return this._state.backfaces},set:function(e){e=!!e,this._state.backfaces!==e&&(this._state.backfaces=e,this.glRedraw())}},{key:"frontface",get:function(){return this._state.frontface?"ccw":"cw"},set:function(e){e="cw"!==e,this._state.frontface!==e&&(this._state.frontface=e,this.glRedraw())}},{key:"destroy",value:function(){v(E(n.prototype),"destroy",this).call(this),this._state.destroy()}}]),n}(),Ln={default:{fill:!0,fillColor:[.4,.4,.4],fillAlpha:.2,edges:!0,edgeColor:[.2,.2,.2],edgeAlpha:.5,edgeWidth:1},defaultWhiteBG:{fill:!0,fillColor:[1,1,1],fillAlpha:.6,edgeColor:[.2,.2,.2],edgeAlpha:1,edgeWidth:1},defaultLightBG:{fill:!0,fillColor:[.4,.4,.4],fillAlpha:.2,edges:!0,edgeColor:[.2,.2,.2],edgeAlpha:.5,edgeWidth:1},defaultDarkBG:{fill:!0,fillColor:[.4,.4,.4],fillAlpha:.2,edges:!0,edgeColor:[.5,.5,.5],edgeAlpha:.5,edgeWidth:1},phosphorous:{fill:!0,fillColor:[0,0,0],fillAlpha:.4,edges:!0,edgeColor:[.9,.9,.9],edgeAlpha:.5,edgeWidth:2},sunset:{fill:!0,fillColor:[.9,.9,.6],fillAlpha:.2,edges:!0,edgeColor:[.9,.9,.9],edgeAlpha:.5,edgeWidth:1},vectorscope:{fill:!0,fillColor:[0,0,0],fillAlpha:.7,edges:!0,edgeColor:[.2,1,.2],edgeAlpha:1,edgeWidth:2},battlezone:{fill:!0,fillColor:[0,0,0],fillAlpha:1,edges:!0,edgeColor:[.2,1,.2],edgeAlpha:1,edgeWidth:3},sepia:{fill:!0,fillColor:[.970588207244873,.7965892553329468,.6660899519920349],fillAlpha:.4,edges:!0,edgeColor:[.529411792755127,.4577854573726654,.4100345969200134],edgeAlpha:1,edgeWidth:1},yellowHighlight:{fill:!0,fillColor:[1,1,0],fillAlpha:.5,edges:!0,edgeColor:[1,1,1],edgeAlpha:1,edgeWidth:1},greenSelected:{fill:!0,fillColor:[0,1,0],fillAlpha:.5,edges:!0,edgeColor:[1,1,1],edgeAlpha:1,edgeWidth:1},gamegrid:{fill:!0,fillColor:[.2,.2,.7],fillAlpha:.9,edges:!0,edgeColor:[.4,.4,1.6],edgeAlpha:.8,edgeWidth:3}},xn=function(e){I(n,Bn);var t=m(n);function n(e){var r,i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return b(this,n),(r=t.call(this,e,i))._state=new Wt({type:"EmphasisMaterial",fill:null,fillColor:null,fillAlpha:null,edges:null,edgeColor:null,edgeAlpha:null,edgeWidth:null,backfaces:!0,glowThrough:!0}),r._preset="default",i.preset?(r.preset=i.preset,void 0!==i.fill&&(r.fill=i.fill),i.fillColor&&(r.fillColor=i.fillColor),void 0!==i.fillAlpha&&(r.fillAlpha=i.fillAlpha),void 0!==i.edges&&(r.edges=i.edges),i.edgeColor&&(r.edgeColor=i.edgeColor),void 0!==i.edgeAlpha&&(r.edgeAlpha=i.edgeAlpha),void 0!==i.edgeWidth&&(r.edgeWidth=i.edgeWidth),void 0!==i.backfaces&&(r.backfaces=i.backfaces),void 0!==i.glowThrough&&(r.glowThrough=i.glowThrough)):(r.fill=i.fill,r.fillColor=i.fillColor,r.fillAlpha=i.fillAlpha,r.edges=i.edges,r.edgeColor=i.edgeColor,r.edgeAlpha=i.edgeAlpha,r.edgeWidth=i.edgeWidth,r.backfaces=i.backfaces,r.glowThrough=i.glowThrough),r}return P(n,[{key:"type",get:function(){return"EmphasisMaterial"}},{key:"presets",get:function(){return Ln}},{key:"fill",get:function(){return this._state.fill},set:function(e){e=!1!==e,this._state.fill!==e&&(this._state.fill=e,this.glRedraw())}},{key:"fillColor",get:function(){return this._state.fillColor},set:function(e){var t=this._state.fillColor;if(t){if(e&&t[0]===e[0]&&t[1]===e[1]&&t[2]===e[2])return}else t=this._state.fillColor=new Float32Array(3);e?(t[0]=e[0],t[1]=e[1],t[2]=e[2]):(t[0]=.4,t[1]=.4,t[2]=.4),this.glRedraw()}},{key:"fillAlpha",get:function(){return this._state.fillAlpha},set:function(e){e=null!=e?e:.2,this._state.fillAlpha!==e&&(this._state.fillAlpha=e,this.glRedraw())}},{key:"edges",get:function(){return this._state.edges},set:function(e){e=!1!==e,this._state.edges!==e&&(this._state.edges=e,this.glRedraw())}},{key:"edgeColor",get:function(){return this._state.edgeColor},set:function(e){var t=this._state.edgeColor;if(t){if(e&&t[0]===e[0]&&t[1]===e[1]&&t[2]===e[2])return}else t=this._state.edgeColor=new Float32Array(3);e?(t[0]=e[0],t[1]=e[1],t[2]=e[2]):(t[0]=.2,t[1]=.2,t[2]=.2),this.glRedraw()}},{key:"edgeAlpha",get:function(){return this._state.edgeAlpha},set:function(e){e=null!=e?e:.5,this._state.edgeAlpha!==e&&(this._state.edgeAlpha=e,this.glRedraw())}},{key:"edgeWidth",get:function(){return this._state.edgeWidth},set:function(e){this._state.edgeWidth=e||1,this.glRedraw()}},{key:"backfaces",get:function(){return this._state.backfaces},set:function(e){e=!!e,this._state.backfaces!==e&&(this._state.backfaces=e,this.glRedraw())}},{key:"glowThrough",get:function(){return this._state.glowThrough},set:function(e){e=!1!==e,this._state.glowThrough!==e&&(this._state.glowThrough=e,this.glRedraw())}},{key:"preset",get:function(){return this._preset},set:function(e){if(e=e||"default",this._preset!==e){var t=Ln[e];t?(this.fill=t.fill,this.fillColor=t.fillColor,this.fillAlpha=t.fillAlpha,this.edges=t.edges,this.edgeColor=t.edgeColor,this.edgeAlpha=t.edgeAlpha,this.edgeWidth=t.edgeWidth,this.glowThrough=t.glowThrough,this._preset=e):this.error("unsupported preset: '"+e+"' - supported values are "+Object.keys(Ln).join(", "))}}},{key:"destroy",value:function(){v(E(n.prototype),"destroy",this).call(this),this._state.destroy()}}]),n}(),Mn={default:{edgeColor:[0,0,0],edgeAlpha:1,edgeWidth:1},defaultWhiteBG:{edgeColor:[.2,.2,.2],edgeAlpha:1,edgeWidth:1},defaultLightBG:{edgeColor:[.2,.2,.2],edgeAlpha:1,edgeWidth:1},defaultDarkBG:{edgeColor:[.5,.5,.5],edgeAlpha:1,edgeWidth:1}},Fn=function(e){I(n,Bn);var t=m(n);function n(e){var r,i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return b(this,n),(r=t.call(this,e,i))._state=new Wt({type:"EdgeMaterial",edges:null,edgeColor:null,edgeAlpha:null,edgeWidth:null}),r._preset="default",i.preset?(r.preset=i.preset,i.edgeColor&&(r.edgeColor=i.edgeColor),void 0!==i.edgeAlpha&&(r.edgeAlpha=i.edgeAlpha),void 0!==i.edgeWidth&&(r.edgeWidth=i.edgeWidth)):(r.edgeColor=i.edgeColor,r.edgeAlpha=i.edgeAlpha,r.edgeWidth=i.edgeWidth),r.edges=!1!==i.edges,r}return P(n,[{key:"type",get:function(){return"EdgeMaterial"}},{key:"presets",get:function(){return Mn}},{key:"edges",get:function(){return this._state.edges},set:function(e){e=!1!==e,this._state.edges!==e&&(this._state.edges=e,this.glRedraw())}},{key:"edgeColor",get:function(){return this._state.edgeColor},set:function(e){var t=this._state.edgeColor;if(t){if(e&&t[0]===e[0]&&t[1]===e[1]&&t[2]===e[2])return}else t=this._state.edgeColor=new Float32Array(3);e?(t[0]=e[0],t[1]=e[1],t[2]=e[2]):(t[0]=.2,t[1]=.2,t[2]=.2),this.glRedraw()}},{key:"edgeAlpha",get:function(){return this._state.edgeAlpha},set:function(e){e=null!=e?e:1,this._state.edgeAlpha!==e&&(this._state.edgeAlpha=e,this.glRedraw())}},{key:"edgeWidth",get:function(){return this._state.edgeWidth},set:function(e){this._state.edgeWidth=e||1,this.glRedraw()}},{key:"preset",get:function(){return this._preset},set:function(e){if(e=e||"default",this._preset!==e){var t=Mn[e];t?(this.edgeColor=t.edgeColor,this.edgeAlpha=t.edgeAlpha,this.edgeWidth=t.edgeWidth,this._preset=e):this.error("unsupported preset: '"+e+"' - supported values are "+Object.keys(Mn).join(", "))}}},{key:"destroy",value:function(){v(E(n.prototype),"destroy",this).call(this),this._state.destroy()}}]),n}(),Hn={meters:{abbrev:"m"},metres:{abbrev:"m"},centimeters:{abbrev:"cm"},centimetres:{abbrev:"cm"},millimeters:{abbrev:"mm"},millimetres:{abbrev:"mm"},yards:{abbrev:"yd"},feet:{abbrev:"ft"},inches:{abbrev:"in"}},Un=function(e){I(n,ye);var t=m(n);function n(e){var r,i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return b(this,n),(r=t.call(this,e,i))._units="meters",r._scale=1,r._origin=$.vec3([0,0,0]),r.units=i.units,r.scale=i.scale,r.origin=i.origin,r}return P(n,[{key:"unitsInfo",get:function(){return Hn}},{key:"units",get:function(){return this._units},set:function(e){e||(e="meters"),Hn[e]||(this.error("Unsupported value for 'units': "+e+" defaulting to 'meters'"),e="meters"),this._units=e,this.fire("units",this._units)}},{key:"scale",get:function(){return this._scale},set:function(e){(e=e||1)<=0?this.error("scale value should be larger than zero"):(this._scale=e,this.fire("scale",this._scale))}},{key:"origin",get:function(){return this._origin},set:function(e){if(!e)return this._origin[0]=0,this._origin[1]=0,void(this._origin[2]=0);this._origin[0]=e[0],this._origin[1]=e[1],this._origin[2]=e[2],this.fire("origin",this._origin)}},{key:"worldToRealPos",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:$.vec3(3);t[0]=this._origin[0]+this._scale*e[0],t[1]=this._origin[1]+this._scale*e[1],t[2]=this._origin[2]+this._scale*e[2]}},{key:"realToWorldPos",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:$.vec3(3);return t[0]=(e[0]-this._origin[0])/this._scale,t[1]=(e[1]-this._origin[1])/this._scale,t[2]=(e[2]-this._origin[2])/this._scale,t}}]),n}(),Gn=function(e){I(n,ye);var t=m(n);function n(e){var r,i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return b(this,n),(r=t.call(this,e,i))._supported=dt.SUPPORTED_EXTENSIONS.OES_standard_derivatives,r.enabled=i.enabled,r.kernelRadius=i.kernelRadius,r.intensity=i.intensity,r.bias=i.bias,r.scale=i.scale,r.minResolution=i.minResolution,r.numSamples=i.numSamples,r.blur=i.blur,r.blendCutoff=i.blendCutoff,r.blendFactor=i.blendFactor,r}return P(n,[{key:"supported",get:function(){return this._supported}},{key:"enabled",get:function(){return this._enabled},set:function(e){e=!!e,this._enabled!==e&&(this._enabled=e,this.glRedraw())}},{key:"possible",get:function(){if(!this._supported)return!1;if(!this._enabled)return!1;var e=this.scene.camera.projection;return"customProjection"!==e&&"frustum"!==e}},{key:"active",get:function(){return this._active}},{key:"kernelRadius",get:function(){return this._kernelRadius},set:function(e){null==e&&(e=100),this._kernelRadius!==e&&(this._kernelRadius=e,this.glRedraw())}},{key:"intensity",get:function(){return this._intensity},set:function(e){null==e&&(e=.15),this._intensity!==e&&(this._intensity=e,this.glRedraw())}},{key:"bias",get:function(){return this._bias},set:function(e){null==e&&(e=.5),this._bias!==e&&(this._bias=e,this.glRedraw())}},{key:"scale",get:function(){return this._scale},set:function(e){null==e&&(e=1),this._scale!==e&&(this._scale=e,this.glRedraw())}},{key:"minResolution",get:function(){return this._minResolution},set:function(e){null==e&&(e=0),this._minResolution!==e&&(this._minResolution=e,this.glRedraw())}},{key:"numSamples",get:function(){return this._numSamples},set:function(e){null==e&&(e=10),this._numSamples!==e&&(this._numSamples=e,this.glRedraw())}},{key:"blur",get:function(){return this._blur},set:function(e){e=!1!==e,this._blur!==e&&(this._blur=e,this.glRedraw())}},{key:"blendCutoff",get:function(){return this._blendCutoff},set:function(e){null==e&&(e=.3),this._blendCutoff!==e&&(this._blendCutoff=e,this.glRedraw())}},{key:"blendFactor",get:function(){return this._blendFactor},set:function(e){null==e&&(e=1),this._blendFactor!==e&&(this._blendFactor=e,this.glRedraw())}},{key:"destroy",value:function(){v(E(n.prototype),"destroy",this).call(this)}}]),n}(),kn={default:{pointSize:4,roundPoints:!0,perspectivePoints:!0},square:{pointSize:4,roundPoints:!1,perspectivePoints:!0},round:{pointSize:4,roundPoints:!0,perspectivePoints:!0}},jn=function(e){I(n,Bn);var t=m(n);function n(e){var r,i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return b(this,n),(r=t.call(this,e,i))._state=new Wt({type:"PointsMaterial",pointSize:null,roundPoints:null,perspectivePoints:null,minPerspectivePointSize:null,maxPerspectivePointSize:null,filterIntensity:null,minIntensity:null,maxIntensity:null}),i.preset?(r.preset=i.preset,void 0!==i.pointSize&&(r.pointSize=i.pointSize),void 0!==i.roundPoints&&(r.roundPoints=i.roundPoints),void 0!==i.perspectivePoints&&(r.perspectivePoints=i.perspectivePoints),void 0!==i.minPerspectivePointSize&&(r.minPerspectivePointSize=i.minPerspectivePointSize),void 0!==i.maxPerspectivePointSize&&(r.maxPerspectivePointSize=i.minPerspectivePointSize)):(r._preset="default",r.pointSize=i.pointSize,r.roundPoints=i.roundPoints,r.perspectivePoints=i.perspectivePoints,r.minPerspectivePointSize=i.minPerspectivePointSize,r.maxPerspectivePointSize=i.maxPerspectivePointSize),r.filterIntensity=i.filterIntensity,r.minIntensity=i.minIntensity,r.maxIntensity=i.maxIntensity,r}return P(n,[{key:"type",get:function(){return"PointsMaterial"}},{key:"presets",get:function(){return kn}},{key:"pointSize",get:function(){return this._state.pointSize},set:function(e){this._state.pointSize=e||2,this.glRedraw()}},{key:"roundPoints",get:function(){return this._state.roundPoints},set:function(e){e=!1!==e,this._state.roundPoints!==e&&(this._state.roundPoints=e,this.scene._needRecompile=!0,this.glRedraw())}},{key:"perspectivePoints",get:function(){return this._state.perspectivePoints},set:function(e){e=!1!==e,this._state.perspectivePoints!==e&&(this._state.perspectivePoints=e,this.scene._needRecompile=!0,this.glRedraw())}},{key:"minPerspectivePointSize",get:function(){return this._state.minPerspectivePointSize},set:function(e){this._state.minPerspectivePointSize=e||1,this.scene._needRecompile=!0,this.glRedraw()}},{key:"maxPerspectivePointSize",get:function(){return this._state.maxPerspectivePointSize},set:function(e){this._state.maxPerspectivePointSize=e||6,this.scene._needRecompile=!0,this.glRedraw()}},{key:"filterIntensity",get:function(){return this._state.filterIntensity},set:function(e){e=!1!==e,this._state.filterIntensity!==e&&(this._state.filterIntensity=e,this.scene._needRecompile=!0,this.glRedraw())}},{key:"minIntensity",get:function(){return this._state.minIntensity},set:function(e){this._state.minIntensity=null!=e?e:0,this.glRedraw()}},{key:"maxIntensity",get:function(){return this._state.maxIntensity},set:function(e){this._state.maxIntensity=null!=e?e:1,this.glRedraw()}},{key:"preset",get:function(){return this._preset},set:function(e){if(e=e||"default",this._preset!==e){var t=kn[e];t?(this.pointSize=t.pointSize,this.roundPoints=t.roundPoints,this.perspectivePoints=t.perspectivePoints,this.minPerspectivePointSize=t.minPerspectivePointSize,this.maxPerspectivePointSize=t.maxPerspectivePointSize,this._preset=e):this.error("unsupported preset: '"+e+"' - supported values are "+Object.keys(kn).join(", "))}}},{key:"hash",get:function(){return[this.pointSize,this.roundPoints,this.perspectivePoints,this.minPerspectivePointSize,this.maxPerspectivePointSize,this.filterIntensity].join(";")}},{key:"destroy",value:function(){v(E(n.prototype),"destroy",this).call(this),this._state.destroy()}}]),n}(),Vn={default:{lineWidth:1},thick:{lineWidth:2},thicker:{lineWidth:4}},Qn=function(e){I(n,Bn);var t=m(n);function n(e){var r,i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return b(this,n),(r=t.call(this,e,i))._state=new Wt({type:"LinesMaterial",lineWidth:null}),i.preset?(r.preset=i.preset,void 0!==i.lineWidth&&(r.lineWidth=i.lineWidth)):(r._preset="default",r.lineWidth=i.lineWidth),r}return P(n,[{key:"type",get:function(){return"LinesMaterial"}},{key:"presets",get:function(){return Vn}},{key:"lineWidth",get:function(){return this._state.lineWidth},set:function(e){this._state.lineWidth=e||1,this.glRedraw()}},{key:"preset",get:function(){return this._preset},set:function(e){if(e=e||"default",this._preset!==e){var t=Vn[e];t?(this.lineWidth=t.lineWidth,this._preset=e):this.error("unsupported preset: '"+e+"' - supported values are "+Object.keys(Vn).join(", "))}}},{key:"hash",get:function(){return[""+this.lineWidth].join(";")}},{key:"destroy",value:function(){v(E(n.prototype),"destroy",this).call(this),this._state.destroy()}}]),n}();function Wn(e,t){for(var n,r,i={},a=0,s=t.length;a1&&void 0!==arguments[1]?arguments[1]:{};b(this,n),r=t.call(this,null,i);var a=i.canvasElement||document.getElementById(i.canvasId);if(!(a instanceof HTMLCanvasElement))throw"Mandatory config expected: valid canvasId or canvasElement";r._tickifiedFunctions={};var s=!!i.transparent,o=!!i.alphaDepthMask;return r._aabbDirty=!0,r.viewer=e,r.occlusionTestCountdown=0,r.loading=0,r.startTime=(new Date).getTime(),r.models={},r.objects={},r._numObjects=0,r.visibleObjects={},r._numVisibleObjects=0,r.xrayedObjects={},r._numXRayedObjects=0,r.highlightedObjects={},r._numHighlightedObjects=0,r.selectedObjects={},r._numSelectedObjects=0,r.colorizedObjects={},r._numColorizedObjects=0,r.opacityObjects={},r._numOpacityObjects=0,r.offsetObjects={},r._numOffsetObjects=0,r._modelIds=null,r._objectIds=null,r._visibleObjectIds=null,r._xrayedObjectIds=null,r._highlightedObjectIds=null,r._selectedObjectIds=null,r._colorizedObjectIds=null,r._opacityObjectIds=null,r._offsetObjectIds=null,r._collidables={},r._compilables={},r._needRecompile=!1,r.types={},r.components={},r.sectionPlanes={},r.lights={},r.lightMaps={},r.reflectionMaps={},r.bitmaps={},r.lineSets={},r.realWorldOffset=i.realWorldOffset||new Float64Array([0,0,0]),r.canvas=new pt(g(r),{dontClear:!0,canvas:a,spinnerElementId:i.spinnerElementId,transparent:s,webgl2:!1!==i.webgl2,contextAttr:i.contextAttr||{},backgroundColor:i.backgroundColor,backgroundColorFromAmbientLight:i.backgroundColorFromAmbientLight,premultipliedAlpha:i.premultipliedAlpha}),r.canvas.on("boundary",(function(){r.glRedraw()})),r.canvas.on("webglContextFailed",(function(){alert("xeokit failed to find WebGL!")})),r._renderer=new jt(g(r),{transparent:s,alphaDepthMask:o}),r._sectionPlanesState=new function(){this.sectionPlanes=[],this.clippingCaps=!1,this._numCachedSectionPlanes=0;var e=null;this.getHash=function(){if(e)return e;var t=this.getNumAllocatedSectionPlanes();if(this.sectionPlanes,0===t)return this.hash=";";for(var n=[],r=0,i=t;rthis._numCachedSectionPlanes?e:this._numCachedSectionPlanes}},r._sectionPlanesState.setNumCachedSectionPlanes(i.numCachedSectionPlanes||0),r._lightsState=new function(){var e=$.vec4([0,0,0,0]),t=$.vec4();this.lights=[],this.reflectionMaps=[],this.lightMaps=[];var n=null,r=null;this.getHash=function(){if(n)return n;for(var e,t=[],r=this.lights,i=0,a=r.length;i0&&t.push("/lm"),this.reflectionMaps.length>0&&t.push("/rm"),t.push(";"),n=t.join("")},this.addLight=function(e){this.lights.push(e),r=null,n=null},this.removeLight=function(e){for(var t=0,i=this.lights.length;t1&&void 0!==arguments[1])||arguments[1];e.visible?(this.visibleObjects[e.id]=e,this._numVisibleObjects++):(delete this.visibleObjects[e.id],this._numVisibleObjects--),this._visibleObjectIds=null,t&&this.fire("objectVisibility",e,!0)}},{key:"_objectXRayedUpdated",value:function(e){var t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];e.xrayed?(this.xrayedObjects[e.id]=e,this._numXRayedObjects++):(delete this.xrayedObjects[e.id],this._numXRayedObjects--),this._xrayedObjectIds=null,t&&this.fire("objectXRayed",e,!0)}},{key:"_objectHighlightedUpdated",value:function(e){var t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];e.highlighted?(this.highlightedObjects[e.id]=e,this._numHighlightedObjects++):(delete this.highlightedObjects[e.id],this._numHighlightedObjects--),this._highlightedObjectIds=null,t&&this.fire("objectHighlighted",e,!0)}},{key:"_objectSelectedUpdated",value:function(e){var t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];e.selected?(this.selectedObjects[e.id]=e,this._numSelectedObjects++):(delete this.selectedObjects[e.id],this._numSelectedObjects--),this._selectedObjectIds=null,t&&this.fire("objectSelected",e,!0)}},{key:"_objectColorizeUpdated",value:function(e,t){t?(this.colorizedObjects[e.id]=e,this._numColorizedObjects++):(delete this.colorizedObjects[e.id],this._numColorizedObjects--),this._colorizedObjectIds=null}},{key:"_objectOpacityUpdated",value:function(e,t){t?(this.opacityObjects[e.id]=e,this._numOpacityObjects++):(delete this.opacityObjects[e.id],this._numOpacityObjects--),this._opacityObjectIds=null}},{key:"_objectOffsetUpdated",value:function(e,t){!t||0===t[0]&&0===t[1]&&0===t[2]?(this.offsetObjects[e.id]=e,this._numOffsetObjects++):(delete this.offsetObjects[e.id],this._numOffsetObjects--),this._offsetObjectIds=null}},{key:"_webglContextLost",value:function(){for(var e in this.canvas.spinner.processes++,this.components)if(this.components.hasOwnProperty(e)){var t=this.components[e];t._webglContextLost&&t._webglContextLost()}this._renderer.webglContextLost()}},{key:"_webglContextRestored",value:function(){var e=this.canvas.gl;for(var t in this.components)if(this.components.hasOwnProperty(t)){var n=this.components[t];n._webglContextRestored&&n._webglContextRestored(e)}this._renderer.webglContextRestored(e),this.canvas.spinner.processes--}},{key:"capabilities",get:function(){return this._renderer.capabilities}},{key:"entityOffsetsEnabled",get:function(){return this._entityOffsetsEnabled}},{key:"pickSurfacePrecisionEnabled",get:function(){return!1}},{key:"logarithmicDepthBufferEnabled",get:function(){return this._logarithmicDepthBufferEnabled}},{key:"numCachedSectionPlanes",get:function(){return this._sectionPlanesState.getNumCachedSectionPlanes()},set:function(e){e=e||0,this._sectionPlanesState.getNumCachedSectionPlanes()!==e&&(this._sectionPlanesState.setNumCachedSectionPlanes(e),this._needRecompile=!0,this.glRedraw())}},{key:"pbrEnabled",get:function(){return this._pbrEnabled},set:function(e){this._pbrEnabled=!!e,this.glRedraw()}},{key:"dtxEnabled",get:function(){return this._dtxEnabled},set:function(e){e=!!e,this._dtxEnabled!==e&&(this._dtxEnabled=e)}},{key:"colorTextureEnabled",get:function(){return this._colorTextureEnabled},set:function(e){this._colorTextureEnabled=!!e,this.glRedraw()}},{key:"doOcclusionTest",value:function(){this._needRecompile&&(this._recompile(),this._needRecompile=!1),this._renderer.doOcclusionTest()}},{key:"render",value:function(e){e&&he.runTasks();var t={sceneId:null,pass:0};if(this._needRecompile&&(this._recompile(),this._renderer.imageDirty(),this._needRecompile=!1),e||this._renderer.needsRender()){t.sceneId=this.id;var n,r,i=this._passes,a=this._clearEachPass;for(n=0;na&&(a=e[3]),e[4]>s&&(s=e[4]),e[5]>o&&(o=e[5]),u=!0}u||(n=-100,r=-100,i=-100,a=100,s=100,o=100),this._aabb[0]=n,this._aabb[1]=r,this._aabb[2]=i,this._aabb[3]=a,this._aabb[4]=s,this._aabb[5]=o,this._aabbDirty=!1}return this._aabb}},{key:"_setAABBDirty",value:function(){this._aabbDirty=!0,this.fire("boundary")}},{key:"pick",value:function(e,t){if(0===this.canvas.boundary[2]||0===this.canvas.boundary[3])return this.error("Picking not allowed while canvas has zero width or height"),null;(e=e||{}).pickSurface=e.pickSurface||e.rayPick,e.canvasPos||e.matrix||e.origin&&e.direction||this.warn("picking without canvasPos, matrix, or ray origin and direction");var n=e.includeEntities||e.include;n&&(e.includeEntityIds=Wn(this,n));var r=e.excludeEntities||e.exclude;return r&&(e.excludeEntityIds=Wn(this,r)),this._needRecompile&&(this._recompile(),this._renderer.imageDirty(),this._needRecompile=!1),(t=e.snapToEdge||e.snapToVertex?this._renderer.snapPick(e.canvasPos,e.snapRadius||30,e.snapToVertex,e.snapToEdge,t):this._renderer.pick(e,t))&&t.entity&&t.entity.fire&&t.entity.fire("picked",t),t}},{key:"snapPick",value:function(e){return void 0===this._warnSnapPickDeprecated&&(this._warnSnapPickDeprecated=!0,this.warn("Scene.snapPick() is deprecated since v2.4.2 - use Scene.pick() instead")),this._renderer.snapPick(e.canvasPos,e.snapRadius||30,e.snapToVertex,e.snapToEdge)}},{key:"clear",value:function(){var e;for(var t in this.components)this.components.hasOwnProperty(t)&&((e=this.components[t])._dontClear||e.destroy())}},{key:"clearLights",value:function(){for(var e=Object.keys(this.lights),t=0,n=e.length;ts&&(s=t[3]),t[4]>o&&(o=t[4]),t[5]>l&&(l=t[5]),n=!0}})),n){var u=$.AABB3();return u[0]=r,u[1]=i,u[2]=a,u[3]=s,u[4]=o,u[5]=l,u}return this.aabb}},{key:"setObjectsVisible",value:function(e,t){return this.withObjects(e,(function(e){var n=e.visible!==t;return e.visible=t,n}))}},{key:"setObjectsCollidable",value:function(e,t){return this.withObjects(e,(function(e){var n=e.collidable!==t;return e.collidable=t,n}))}},{key:"setObjectsCulled",value:function(e,t){return this.withObjects(e,(function(e){var n=e.culled!==t;return e.culled=t,n}))}},{key:"setObjectsSelected",value:function(e,t){return this.withObjects(e,(function(e){var n=e.selected!==t;return e.selected=t,n}))}},{key:"setObjectsHighlighted",value:function(e,t){return this.withObjects(e,(function(e){var n=e.highlighted!==t;return e.highlighted=t,n}))}},{key:"setObjectsXRayed",value:function(e,t){return this.withObjects(e,(function(e){var n=e.xrayed!==t;return e.xrayed=t,n}))}},{key:"setObjectsEdges",value:function(e,t){return this.withObjects(e,(function(e){var n=e.edges!==t;return e.edges=t,n}))}},{key:"setObjectsColorized",value:function(e,t){return this.withObjects(e,(function(e){e.colorize=t}))}},{key:"setObjectsOpacity",value:function(e,t){return this.withObjects(e,(function(e){var n=e.opacity!==t;return e.opacity=t,n}))}},{key:"setObjectsPickable",value:function(e,t){return this.withObjects(e,(function(e){var n=e.pickable!==t;return e.pickable=t,n}))}},{key:"setObjectsOffset",value:function(e,t){this.withObjects(e,(function(e){e.offset=t}))}},{key:"withObjects",value:function(e,t){le.isString(e)&&(e=[e]);for(var n=!1,r=0,i=e.length;rr&&(r=i,e.apply(void 0,c(n)))}));return this._tickifiedFunctions[t]={tickSubId:s,wrapperFunc:a},a}},{key:"destroy",value:function(){for(var e in v(E(n.prototype),"destroy",this).call(this),this.components)this.components.hasOwnProperty(e)&&this.components[e].destroy();this.canvas.gl=null,this.components=null,this.models=null,this.objects=null,this.visibleObjects=null,this.xrayedObjects=null,this.highlightedObjects=null,this.selectedObjects=null,this.colorizedObjects=null,this.opacityObjects=null,this.sectionPlanes=null,this.lights=null,this.lightMaps=null,this.reflectionMaps=null,this._objectIds=null,this._visibleObjectIds=null,this._xrayedObjectIds=null,this._highlightedObjectIds=null,this._selectedObjectIds=null,this._colorizedObjectIds=null,this.types=null,this.components=null,this.canvas=null,this._renderer=null,this.input=null,this._viewport=null,this._camera=null}}]),n}(),Kn=1e3,Yn=1001,Xn=1002,qn=1003,Jn=1004,Zn=1004,$n=1005,er=1005,tr=1006,nr=1007,rr=1007,ir=1008,ar=1008,sr=1009,or=1010,lr=1011,ur=1012,cr=1013,fr=1014,pr=1015,Ar=1016,dr=1017,vr=1018,hr=1020,Ir=1021,yr=1022,mr=1023,wr=1024,gr=1025,Er=1026,Tr=1027,br=1028,Dr=1029,Pr=1030,Rr=1031,Cr=1033,_r=33776,Br=33777,Or=33778,Sr=33779,Nr=35840,Lr=35841,xr=35842,Mr=35843,Fr=36196,Hr=37492,Ur=37496,Gr=37808,kr=37809,jr=37810,Vr=37811,Qr=37812,Wr=37813,zr=37814,Kr=37815,Yr=37816,Xr=37817,qr=37818,Jr=37819,Zr=37820,$r=37821,ei=36492,ti=3e3,ni=3001,ri=1e4,ii=10001,ai=10002,si=10003,oi=function(e){"LambertMaterial"===e._material._state.type?(this.vertex=function(e){var t=e.scene,n=e.scene._sectionPlanesState,r=e.scene._lightsState,i=e._geometry._state,a=e._state.billboard,s=e._state.stationary,o=n.getNumAllocatedSectionPlanes()>0,l=!!i.compressGeometry,u=[];u.push("#version 300 es"),u.push("// Lambertian drawing vertex shader"),u.push("in vec3 position;"),u.push("uniform mat4 modelMatrix;"),u.push("uniform mat4 viewMatrix;"),u.push("uniform mat4 projMatrix;"),u.push("uniform vec4 colorize;"),u.push("uniform vec3 offset;"),l&&u.push("uniform mat4 positionsDecodeMatrix;");t.logarithmicDepthBufferEnabled&&(u.push("uniform float logDepthBufFC;"),u.push("out float vFragDepth;"),u.push("bool isPerspectiveMatrix(mat4 m) {"),u.push(" return (m[2][3] == - 1.0);"),u.push("}"),u.push("out float isPerspective;"));o&&u.push("out vec4 vWorldPosition;");if(u.push("uniform vec4 lightAmbient;"),u.push("uniform vec4 materialColor;"),u.push("uniform vec3 materialEmissive;"),i.normalsBuf){u.push("in vec3 normal;"),u.push("uniform mat4 modelNormalMatrix;"),u.push("uniform mat4 viewNormalMatrix;");for(var c=0,f=r.lights.length;c= 0.0 ? 1.0 : -1.0, v.y >= 0.0 ? 1.0 : -1.0);"),u.push(" }"),u.push(" return normalize(v);"),u.push("}"))}u.push("out vec4 vColor;"),"points"===i.primitiveName&&u.push("uniform float pointSize;");"spherical"!==a&&"cylindrical"!==a||(u.push("void billboard(inout mat4 mat) {"),u.push(" mat[0][0] = 1.0;"),u.push(" mat[0][1] = 0.0;"),u.push(" mat[0][2] = 0.0;"),"spherical"===a&&(u.push(" mat[1][0] = 0.0;"),u.push(" mat[1][1] = 1.0;"),u.push(" mat[1][2] = 0.0;")),u.push(" mat[2][0] = 0.0;"),u.push(" mat[2][1] = 0.0;"),u.push(" mat[2][2] =1.0;"),u.push("}"));u.push("void main(void) {"),u.push("vec4 localPosition = vec4(position, 1.0); "),u.push("vec4 worldPosition;"),l&&u.push("localPosition = positionsDecodeMatrix * localPosition;");i.normalsBuf&&(l?u.push("vec4 localNormal = vec4(octDecode(normal.xy), 0.0); "):u.push("vec4 localNormal = vec4(normal, 0.0); "),u.push("mat4 modelNormalMatrix2 = modelNormalMatrix;"),u.push("mat4 viewNormalMatrix2 = viewNormalMatrix;"));u.push("mat4 viewMatrix2 = viewMatrix;"),u.push("mat4 modelMatrix2 = modelMatrix;"),s&&u.push("viewMatrix2[3][0] = viewMatrix2[3][1] = viewMatrix2[3][2] = 0.0;");"spherical"===a||"cylindrical"===a?(u.push("mat4 modelViewMatrix = viewMatrix2 * modelMatrix2;"),u.push("billboard(modelMatrix2);"),u.push("billboard(viewMatrix2);"),u.push("billboard(modelViewMatrix);"),i.normalsBuf&&(u.push("mat4 modelViewNormalMatrix = viewNormalMatrix2 * modelNormalMatrix2;"),u.push("billboard(modelNormalMatrix2);"),u.push("billboard(viewNormalMatrix2);"),u.push("billboard(modelViewNormalMatrix);")),u.push("worldPosition = modelMatrix2 * localPosition;"),u.push("worldPosition.xyz = worldPosition.xyz + offset;"),u.push("vec4 viewPosition = modelViewMatrix * localPosition;")):(u.push("worldPosition = modelMatrix2 * localPosition;"),u.push("worldPosition.xyz = worldPosition.xyz + offset;"),u.push("vec4 viewPosition = viewMatrix2 * worldPosition; "));i.normalsBuf&&u.push("vec3 viewNormal = normalize((viewNormalMatrix2 * modelNormalMatrix2 * localNormal).xyz);");if(u.push("vec3 reflectedColor = vec3(0.0, 0.0, 0.0);"),u.push("vec3 viewLightDir = vec3(0.0, 0.0, -1.0);"),u.push("float lambertian = 1.0;"),i.normalsBuf)for(var A=0,d=r.lights.length;A0,a=t.gammaOutput,s=[];s.push("#version 300 es"),s.push("// Lambertian drawing fragment shader"),s.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),s.push("precision highp float;"),s.push("precision highp int;"),s.push("#else"),s.push("precision mediump float;"),s.push("precision mediump int;"),s.push("#endif"),t.logarithmicDepthBufferEnabled&&(s.push("in float isPerspective;"),s.push("uniform float logDepthBufFC;"),s.push("in float vFragDepth;"));if(i){s.push("in vec4 vWorldPosition;"),s.push("uniform bool clippable;");for(var o=0,l=n.getNumAllocatedSectionPlanes();o 0.0) { discard; }"),s.push("}")}"points"===r.primitiveName&&(s.push("vec2 cxy = 2.0 * gl_PointCoord - 1.0;"),s.push("float r = dot(cxy, cxy);"),s.push("if (r > 1.0) {"),s.push(" discard;"),s.push("}"));t.logarithmicDepthBufferEnabled&&s.push("gl_FragDepth = isPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5;");a?s.push("outColor = linearToGamma(vColor, gammaFactor);"):s.push("outColor = vColor;");return s.push("}"),s}(e)):(this.vertex=function(e){var t=e.scene;e._material;var n,r=e._state,i=t._sectionPlanesState,a=e._geometry._state,s=t._lightsState,o=r.billboard,l=r.background,u=r.stationary,c=function(e){if(!e._geometry._state.uvBuf)return!1;var t=e._material;return!!(t._ambientMap||t._occlusionMap||t._baseColorMap||t._diffuseMap||t._alphaMap||t._specularMap||t._glossinessMap||t._specularGlossinessMap||t._emissiveMap||t._metallicMap||t._roughnessMap||t._metallicRoughnessMap||t._reflectivityMap||t._normalMap)}(e),f=ci(e),p=i.getNumAllocatedSectionPlanes()>0,A=ui(e),d=!!a.compressGeometry,v=[];v.push("#version 300 es"),v.push("// Drawing vertex shader"),v.push("in vec3 position;"),d&&v.push("uniform mat4 positionsDecodeMatrix;");v.push("uniform mat4 modelMatrix;"),v.push("uniform mat4 viewMatrix;"),v.push("uniform mat4 projMatrix;"),v.push("out vec3 vViewPosition;"),v.push("uniform vec3 offset;"),p&&v.push("out vec4 vWorldPosition;");t.logarithmicDepthBufferEnabled&&(v.push("uniform float logDepthBufFC;"),v.push("out float vFragDepth;"),v.push("bool isPerspectiveMatrix(mat4 m) {"),v.push(" return (m[2][3] == - 1.0);"),v.push("}"),v.push("out float isPerspective;"));s.lightMaps.length>0&&v.push("out vec3 vWorldNormal;");if(f){v.push("in vec3 normal;"),v.push("uniform mat4 modelNormalMatrix;"),v.push("uniform mat4 viewNormalMatrix;"),v.push("out vec3 vViewNormal;");for(var h=0,I=s.lights.length;h= 0.0 ? 1.0 : -1.0, v.y >= 0.0 ? 1.0 : -1.0);"),v.push(" }"),v.push(" return normalize(v);"),v.push("}"))}c&&(v.push("in vec2 uv;"),v.push("out vec2 vUV;"),d&&v.push("uniform mat3 uvDecodeMatrix;"));a.colors&&(v.push("in vec4 color;"),v.push("out vec4 vColor;"));"points"===a.primitiveName&&v.push("uniform float pointSize;");"spherical"!==o&&"cylindrical"!==o||(v.push("void billboard(inout mat4 mat) {"),v.push(" mat[0][0] = 1.0;"),v.push(" mat[0][1] = 0.0;"),v.push(" mat[0][2] = 0.0;"),"spherical"===o&&(v.push(" mat[1][0] = 0.0;"),v.push(" mat[1][1] = 1.0;"),v.push(" mat[1][2] = 0.0;")),v.push(" mat[2][0] = 0.0;"),v.push(" mat[2][1] = 0.0;"),v.push(" mat[2][2] =1.0;"),v.push("}"));if(A){v.push("const mat4 texUnitConverter = mat4(0.5, 0.0, 0.0, 0.0, 0.0, 0.5, 0.0, 0.0, 0.0, 0.0, 0.5, 0.0, 0.5, 0.5, 0.5, 1.0);");for(var y=0,m=s.lights.length;y0&&v.push("vWorldNormal = worldNormal;"),v.push("vViewNormal = normalize((viewNormalMatrix2 * vec4(worldNormal, 1.0)).xyz);"),v.push("vec3 tmpVec3;"),v.push("float lightDist;");for(var w=0,g=s.lights.length;w0,l=ci(e),u=r.uvBuf,c="PhongMaterial"===s.type,f="MetallicMaterial"===s.type,p="SpecularMaterial"===s.type,A=ui(e);t.gammaInput;var d=t.gammaOutput,v=[];v.push("#version 300 es"),v.push("// Drawing fragment shader"),v.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),v.push("precision highp float;"),v.push("precision highp int;"),v.push("#else"),v.push("precision mediump float;"),v.push("precision mediump int;"),v.push("#endif"),t.logarithmicDepthBufferEnabled&&(v.push("in float isPerspective;"),v.push("uniform float logDepthBufFC;"),v.push("in float vFragDepth;"));A&&(v.push("float unpackDepth (vec4 color) {"),v.push(" const vec4 bitShift = vec4(1.0, 1.0/256.0, 1.0/(256.0 * 256.0), 1.0/(256.0*256.0*256.0));"),v.push(" return dot(color, bitShift);"),v.push("}"));v.push("uniform float gammaFactor;"),v.push("vec4 linearToLinear( in vec4 value ) {"),v.push(" return value;"),v.push("}"),v.push("vec4 sRGBToLinear( in vec4 value ) {"),v.push(" return vec4( mix( pow( value.rgb * 0.9478672986 + vec3( 0.0521327014 ), vec3( 2.4 ) ), value.rgb * 0.0773993808, vec3( lessThanEqual( value.rgb, vec3( 0.04045 ) ) ) ), value.w );"),v.push("}"),v.push("vec4 gammaToLinear( in vec4 value) {"),v.push(" return vec4( pow( value.xyz, vec3( gammaFactor ) ), value.w );"),v.push("}"),d&&(v.push("vec4 linearToGamma( in vec4 value, in float gammaFactor ) {"),v.push(" return vec4( pow( value.xyz, vec3( 1.0 / gammaFactor ) ), value.w );"),v.push("}"));if(o){v.push("in vec4 vWorldPosition;"),v.push("uniform bool clippable;");for(var h=0;h0&&(v.push("uniform samplerCube lightMap;"),v.push("uniform mat4 viewNormalMatrix;")),a.reflectionMaps.length>0&&v.push("uniform samplerCube reflectionMap;"),(a.lightMaps.length>0||a.reflectionMaps.length>0)&&v.push("uniform mat4 viewMatrix;"),v.push("#define PI 3.14159265359"),v.push("#define RECIPROCAL_PI 0.31830988618"),v.push("#define RECIPROCAL_PI2 0.15915494"),v.push("#define EPSILON 1e-6"),v.push("#define saturate(a) clamp( a, 0.0, 1.0 )"),v.push("vec3 inverseTransformDirection(in vec3 dir, in mat4 matrix) {"),v.push(" return normalize( ( vec4( dir, 0.0 ) * matrix ).xyz );"),v.push("}"),v.push("struct IncidentLight {"),v.push(" vec3 color;"),v.push(" vec3 direction;"),v.push("};"),v.push("struct ReflectedLight {"),v.push(" vec3 diffuse;"),v.push(" vec3 specular;"),v.push("};"),v.push("struct Geometry {"),v.push(" vec3 position;"),v.push(" vec3 viewNormal;"),v.push(" vec3 worldNormal;"),v.push(" vec3 viewEyeDir;"),v.push("};"),v.push("struct Material {"),v.push(" vec3 diffuseColor;"),v.push(" float specularRoughness;"),v.push(" vec3 specularColor;"),v.push(" float shine;"),v.push("};"),c&&((a.lightMaps.length>0||a.reflectionMaps.length>0)&&(v.push("void computePhongLightMapping(const in Geometry geometry, const in Material material, inout ReflectedLight reflectedLight) {"),a.lightMaps.length>0&&(v.push(" vec3 irradiance = "+li[a.lightMaps[0].encoding]+"(texture(lightMap, geometry.worldNormal)).rgb;"),v.push(" irradiance *= PI;"),v.push(" vec3 diffuseBRDFContrib = (RECIPROCAL_PI * material.diffuseColor);"),v.push(" reflectedLight.diffuse += irradiance * diffuseBRDFContrib;")),a.reflectionMaps.length>0&&(v.push(" vec3 reflectVec = reflect(-geometry.viewEyeDir, geometry.viewNormal);"),v.push(" vec3 radiance = texture(reflectionMap, reflectVec).rgb * 0.2;"),v.push(" radiance *= PI;"),v.push(" reflectedLight.specular += radiance;")),v.push("}")),v.push("void computePhongLighting(const in IncidentLight directLight, const in Geometry geometry, const in Material material, inout ReflectedLight reflectedLight) {"),v.push(" float dotNL = saturate(dot(geometry.viewNormal, directLight.direction));"),v.push(" vec3 irradiance = dotNL * directLight.color * PI;"),v.push(" reflectedLight.diffuse += irradiance * (RECIPROCAL_PI * material.diffuseColor);"),v.push(" reflectedLight.specular += directLight.color * material.specularColor * pow(max(dot(reflect(-directLight.direction, -geometry.viewNormal), geometry.viewEyeDir), 0.0), material.shine);"),v.push("}")),(f||p)&&(v.push("float GGXRoughnessToBlinnExponent(const in float ggxRoughness) {"),v.push(" float r = ggxRoughness + 0.0001;"),v.push(" return (2.0 / (r * r) - 2.0);"),v.push("}"),v.push("float getSpecularMIPLevel(const in float blinnShininessExponent, const in int maxMIPLevel) {"),v.push(" float maxMIPLevelScalar = float( maxMIPLevel );"),v.push(" float desiredMIPLevel = maxMIPLevelScalar - 0.79248 - 0.5 * log2( ( blinnShininessExponent * blinnShininessExponent ) + 1.0 );"),v.push(" return clamp( desiredMIPLevel, 0.0, maxMIPLevelScalar );"),v.push("}"),a.reflectionMaps.length>0&&(v.push("vec3 getLightProbeIndirectRadiance(const in vec3 reflectVec, const in float blinnShininessExponent, const in int maxMIPLevel) {"),v.push(" float mipLevel = 0.5 * getSpecularMIPLevel(blinnShininessExponent, maxMIPLevel);"),v.push(" vec3 envMapColor = "+li[a.reflectionMaps[0].encoding]+"(texture(reflectionMap, reflectVec, mipLevel)).rgb;"),v.push(" return envMapColor;"),v.push("}")),v.push("vec3 F_Schlick(const in vec3 specularColor, const in float dotLH) {"),v.push(" float fresnel = exp2( ( -5.55473 * dotLH - 6.98316 ) * dotLH );"),v.push(" return ( 1.0 - specularColor ) * fresnel + specularColor;"),v.push("}"),v.push("float G_GGX_Smith(const in float alpha, const in float dotNL, const in float dotNV) {"),v.push(" float a2 = ( alpha * alpha );"),v.push(" float gl = dotNL + sqrt( a2 + ( 1.0 - a2 ) * ( dotNL * dotNL ) );"),v.push(" float gv = dotNV + sqrt( a2 + ( 1.0 - a2 ) * ( dotNV * dotNV ) );"),v.push(" return 1.0 / ( gl * gv );"),v.push("}"),v.push("float G_GGX_SmithCorrelated(const in float alpha, const in float dotNL, const in float dotNV) {"),v.push(" float a2 = ( alpha * alpha );"),v.push(" float gv = dotNL * sqrt( a2 + ( 1.0 - a2 ) * ( dotNV * dotNV ) );"),v.push(" float gl = dotNV * sqrt( a2 + ( 1.0 - a2 ) * ( dotNL * dotNL ) );"),v.push(" return 0.5 / max( gv + gl, EPSILON );"),v.push("}"),v.push("float D_GGX(const in float alpha, const in float dotNH) {"),v.push(" float a2 = ( alpha * alpha );"),v.push(" float denom = ( dotNH * dotNH) * ( a2 - 1.0 ) + 1.0;"),v.push(" return RECIPROCAL_PI * a2 / ( denom * denom);"),v.push("}"),v.push("vec3 BRDF_Specular_GGX(const in IncidentLight incidentLight, const in Geometry geometry, const in vec3 specularColor, const in float roughness) {"),v.push(" float alpha = ( roughness * roughness );"),v.push(" vec3 halfDir = normalize( incidentLight.direction + geometry.viewEyeDir );"),v.push(" float dotNL = saturate( dot( geometry.viewNormal, incidentLight.direction ) );"),v.push(" float dotNV = saturate( dot( geometry.viewNormal, geometry.viewEyeDir ) );"),v.push(" float dotNH = saturate( dot( geometry.viewNormal, halfDir ) );"),v.push(" float dotLH = saturate( dot( incidentLight.direction, halfDir ) );"),v.push(" vec3 F = F_Schlick( specularColor, dotLH );"),v.push(" float G = G_GGX_SmithCorrelated( alpha, dotNL, dotNV );"),v.push(" float D = D_GGX( alpha, dotNH );"),v.push(" return F * (G * D);"),v.push("}"),v.push("vec3 BRDF_Specular_GGX_Environment(const in Geometry geometry, const in vec3 specularColor, const in float roughness) {"),v.push(" float dotNV = saturate(dot(geometry.viewNormal, geometry.viewEyeDir));"),v.push(" const vec4 c0 = vec4( -1, -0.0275, -0.572, 0.022);"),v.push(" const vec4 c1 = vec4( 1, 0.0425, 1.04, -0.04);"),v.push(" vec4 r = roughness * c0 + c1;"),v.push(" float a004 = min(r.x * r.x, exp2(-9.28 * dotNV)) * r.x + r.y;"),v.push(" vec2 AB = vec2(-1.04, 1.04) * a004 + r.zw;"),v.push(" return specularColor * AB.x + AB.y;"),v.push("}"),(a.lightMaps.length>0||a.reflectionMaps.length>0)&&(v.push("void computePBRLightMapping(const in Geometry geometry, const in Material material, inout ReflectedLight reflectedLight) {"),a.lightMaps.length>0&&(v.push(" vec3 irradiance = sRGBToLinear(texture(lightMap, geometry.worldNormal)).rgb;"),v.push(" irradiance *= PI;"),v.push(" vec3 diffuseBRDFContrib = (RECIPROCAL_PI * material.diffuseColor);"),v.push(" reflectedLight.diffuse += irradiance * diffuseBRDFContrib;")),a.reflectionMaps.length>0&&(v.push(" vec3 reflectVec = reflect(-geometry.viewEyeDir, geometry.viewNormal);"),v.push(" reflectVec = inverseTransformDirection(reflectVec, viewMatrix);"),v.push(" float blinnExpFromRoughness = GGXRoughnessToBlinnExponent(material.specularRoughness);"),v.push(" vec3 radiance = getLightProbeIndirectRadiance(reflectVec, blinnExpFromRoughness, 8);"),v.push(" vec3 specularBRDFContrib = BRDF_Specular_GGX_Environment(geometry, material.specularColor, material.specularRoughness);"),v.push(" reflectedLight.specular += radiance * specularBRDFContrib;")),v.push("}")),v.push("void computePBRLighting(const in IncidentLight incidentLight, const in Geometry geometry, const in Material material, inout ReflectedLight reflectedLight) {"),v.push(" float dotNL = saturate(dot(geometry.viewNormal, incidentLight.direction));"),v.push(" vec3 irradiance = dotNL * incidentLight.color * PI;"),v.push(" reflectedLight.diffuse += irradiance * (RECIPROCAL_PI * material.diffuseColor);"),v.push(" reflectedLight.specular += irradiance * BRDF_Specular_GGX(incidentLight, geometry, material.specularColor, material.specularRoughness);"),v.push("}")));v.push("in vec3 vViewPosition;"),r.colors&&v.push("in vec4 vColor;");u&&(l&&n._normalMap||n._ambientMap||n._baseColorMap||n._diffuseMap||n._emissiveMap||n._metallicMap||n._roughnessMap||n._metallicRoughnessMap||n._specularMap||n._glossinessMap||n._specularGlossinessMap||n._occlusionMap||n._alphaMap)&&v.push("in vec2 vUV;");l&&(a.lightMaps.length>0&&v.push("in vec3 vWorldNormal;"),v.push("in vec3 vViewNormal;"));s.ambient&&v.push("uniform vec3 materialAmbient;");s.baseColor&&v.push("uniform vec3 materialBaseColor;");void 0!==s.alpha&&null!==s.alpha&&v.push("uniform vec4 materialAlphaModeCutoff;");s.emissive&&v.push("uniform vec3 materialEmissive;");s.diffuse&&v.push("uniform vec3 materialDiffuse;");void 0!==s.glossiness&&null!==s.glossiness&&v.push("uniform float materialGlossiness;");void 0!==s.shininess&&null!==s.shininess&&v.push("uniform float materialShininess;");s.specular&&v.push("uniform vec3 materialSpecular;");void 0!==s.metallic&&null!==s.metallic&&v.push("uniform float materialMetallic;");void 0!==s.roughness&&null!==s.roughness&&v.push("uniform float materialRoughness;");void 0!==s.specularF0&&null!==s.specularF0&&v.push("uniform float materialSpecularF0;");u&&n._ambientMap&&(v.push("uniform sampler2D ambientMap;"),n._ambientMap._state.matrix&&v.push("uniform mat4 ambientMapMatrix;"));u&&n._baseColorMap&&(v.push("uniform sampler2D baseColorMap;"),n._baseColorMap._state.matrix&&v.push("uniform mat4 baseColorMapMatrix;"));u&&n._diffuseMap&&(v.push("uniform sampler2D diffuseMap;"),n._diffuseMap._state.matrix&&v.push("uniform mat4 diffuseMapMatrix;"));u&&n._emissiveMap&&(v.push("uniform sampler2D emissiveMap;"),n._emissiveMap._state.matrix&&v.push("uniform mat4 emissiveMapMatrix;"));l&&u&&n._metallicMap&&(v.push("uniform sampler2D metallicMap;"),n._metallicMap._state.matrix&&v.push("uniform mat4 metallicMapMatrix;"));l&&u&&n._roughnessMap&&(v.push("uniform sampler2D roughnessMap;"),n._roughnessMap._state.matrix&&v.push("uniform mat4 roughnessMapMatrix;"));l&&u&&n._metallicRoughnessMap&&(v.push("uniform sampler2D metallicRoughnessMap;"),n._metallicRoughnessMap._state.matrix&&v.push("uniform mat4 metallicRoughnessMapMatrix;"));l&&n._normalMap&&(v.push("uniform sampler2D normalMap;"),n._normalMap._state.matrix&&v.push("uniform mat4 normalMapMatrix;"),v.push("vec3 perturbNormal2Arb( vec3 eye_pos, vec3 surf_norm, vec2 uv ) {"),v.push(" vec3 q0 = vec3( dFdx( eye_pos.x ), dFdx( eye_pos.y ), dFdx( eye_pos.z ) );"),v.push(" vec3 q1 = vec3( dFdy( eye_pos.x ), dFdy( eye_pos.y ), dFdy( eye_pos.z ) );"),v.push(" vec2 st0 = dFdx( uv.st );"),v.push(" vec2 st1 = dFdy( uv.st );"),v.push(" vec3 S = normalize( q0 * st1.t - q1 * st0.t );"),v.push(" vec3 T = normalize( -q0 * st1.s + q1 * st0.s );"),v.push(" vec3 N = normalize( surf_norm );"),v.push(" vec3 mapN = texture( normalMap, uv ).xyz * 2.0 - 1.0;"),v.push(" mat3 tsn = mat3( S, T, N );"),v.push(" return normalize( tsn * mapN );"),v.push("}"));u&&n._occlusionMap&&(v.push("uniform sampler2D occlusionMap;"),n._occlusionMap._state.matrix&&v.push("uniform mat4 occlusionMapMatrix;"));u&&n._alphaMap&&(v.push("uniform sampler2D alphaMap;"),n._alphaMap._state.matrix&&v.push("uniform mat4 alphaMapMatrix;"));l&&u&&n._specularMap&&(v.push("uniform sampler2D specularMap;"),n._specularMap._state.matrix&&v.push("uniform mat4 specularMapMatrix;"));l&&u&&n._glossinessMap&&(v.push("uniform sampler2D glossinessMap;"),n._glossinessMap._state.matrix&&v.push("uniform mat4 glossinessMapMatrix;"));l&&u&&n._specularGlossinessMap&&(v.push("uniform sampler2D materialSpecularGlossinessMap;"),n._specularGlossinessMap._state.matrix&&v.push("uniform mat4 materialSpecularGlossinessMapMatrix;"));l&&(n._diffuseFresnel||n._specularFresnel||n._alphaFresnel||n._emissiveFresnel||n._reflectivityFresnel)&&(v.push("float fresnel(vec3 eyeDir, vec3 normal, float edgeBias, float centerBias, float power) {"),v.push(" float fr = abs(dot(eyeDir, normal));"),v.push(" float finalFr = clamp((fr - edgeBias) / (centerBias - edgeBias), 0.0, 1.0);"),v.push(" return pow(finalFr, power);"),v.push("}"),n._diffuseFresnel&&(v.push("uniform float diffuseFresnelCenterBias;"),v.push("uniform float diffuseFresnelEdgeBias;"),v.push("uniform float diffuseFresnelPower;"),v.push("uniform vec3 diffuseFresnelCenterColor;"),v.push("uniform vec3 diffuseFresnelEdgeColor;")),n._specularFresnel&&(v.push("uniform float specularFresnelCenterBias;"),v.push("uniform float specularFresnelEdgeBias;"),v.push("uniform float specularFresnelPower;"),v.push("uniform vec3 specularFresnelCenterColor;"),v.push("uniform vec3 specularFresnelEdgeColor;")),n._alphaFresnel&&(v.push("uniform float alphaFresnelCenterBias;"),v.push("uniform float alphaFresnelEdgeBias;"),v.push("uniform float alphaFresnelPower;"),v.push("uniform vec3 alphaFresnelCenterColor;"),v.push("uniform vec3 alphaFresnelEdgeColor;")),n._reflectivityFresnel&&(v.push("uniform float materialSpecularF0FresnelCenterBias;"),v.push("uniform float materialSpecularF0FresnelEdgeBias;"),v.push("uniform float materialSpecularF0FresnelPower;"),v.push("uniform vec3 materialSpecularF0FresnelCenterColor;"),v.push("uniform vec3 materialSpecularF0FresnelEdgeColor;")),n._emissiveFresnel&&(v.push("uniform float emissiveFresnelCenterBias;"),v.push("uniform float emissiveFresnelEdgeBias;"),v.push("uniform float emissiveFresnelPower;"),v.push("uniform vec3 emissiveFresnelCenterColor;"),v.push("uniform vec3 emissiveFresnelEdgeColor;")));if(v.push("uniform vec4 lightAmbient;"),l)for(var I=0,y=a.lights.length;I 0.0) { discard; }"),v.push("}")}"points"===r.primitiveName&&(v.push("vec2 cxy = 2.0 * gl_PointCoord - 1.0;"),v.push("float r = dot(cxy, cxy);"),v.push("if (r > 1.0) {"),v.push(" discard;"),v.push("}"));v.push("float occlusion = 1.0;"),s.ambient?v.push("vec3 ambientColor = materialAmbient;"):v.push("vec3 ambientColor = vec3(1.0, 1.0, 1.0);");s.diffuse?v.push("vec3 diffuseColor = materialDiffuse;"):s.baseColor?v.push("vec3 diffuseColor = materialBaseColor;"):v.push("vec3 diffuseColor = vec3(1.0, 1.0, 1.0);");r.colors&&v.push("diffuseColor *= vColor.rgb;");s.emissive?v.push("vec3 emissiveColor = materialEmissive;"):v.push("vec3 emissiveColor = vec3(0.0, 0.0, 0.0);");s.specular?v.push("vec3 specular = materialSpecular;"):v.push("vec3 specular = vec3(1.0, 1.0, 1.0);");void 0!==s.alpha?v.push("float alpha = materialAlphaModeCutoff[0];"):v.push("float alpha = 1.0;");r.colors&&v.push("alpha *= vColor.a;");void 0!==s.glossiness?v.push("float glossiness = materialGlossiness;"):v.push("float glossiness = 1.0;");void 0!==s.metallic?v.push("float metallic = materialMetallic;"):v.push("float metallic = 1.0;");void 0!==s.roughness?v.push("float roughness = materialRoughness;"):v.push("float roughness = 1.0;");void 0!==s.specularF0?v.push("float specularF0 = materialSpecularF0;"):v.push("float specularF0 = 1.0;");u&&(l&&n._normalMap||n._ambientMap||n._baseColorMap||n._diffuseMap||n._occlusionMap||n._emissiveMap||n._metallicMap||n._roughnessMap||n._metallicRoughnessMap||n._specularMap||n._glossinessMap||n._specularGlossinessMap||n._alphaMap)&&(v.push("vec4 texturePos = vec4(vUV.s, vUV.t, 1.0, 1.0);"),v.push("vec2 textureCoord;"));u&&n._ambientMap&&(n._ambientMap._state.matrix?v.push("textureCoord = (ambientMapMatrix * texturePos).xy;"):v.push("textureCoord = texturePos.xy;"),v.push("vec4 ambientTexel = texture(ambientMap, textureCoord).rgb;"),v.push("ambientTexel = "+li[n._ambientMap._state.encoding]+"(ambientTexel);"),v.push("ambientColor *= ambientTexel.rgb;"));u&&n._diffuseMap&&(n._diffuseMap._state.matrix?v.push("textureCoord = (diffuseMapMatrix * texturePos).xy;"):v.push("textureCoord = texturePos.xy;"),v.push("vec4 diffuseTexel = texture(diffuseMap, textureCoord);"),v.push("diffuseTexel = "+li[n._diffuseMap._state.encoding]+"(diffuseTexel);"),v.push("diffuseColor *= diffuseTexel.rgb;"),v.push("alpha *= diffuseTexel.a;"));u&&n._baseColorMap&&(n._baseColorMap._state.matrix?v.push("textureCoord = (baseColorMapMatrix * texturePos).xy;"):v.push("textureCoord = texturePos.xy;"),v.push("vec4 baseColorTexel = texture(baseColorMap, textureCoord);"),v.push("baseColorTexel = "+li[n._baseColorMap._state.encoding]+"(baseColorTexel);"),v.push("diffuseColor *= baseColorTexel.rgb;"),v.push("alpha *= baseColorTexel.a;"));u&&n._emissiveMap&&(n._emissiveMap._state.matrix?v.push("textureCoord = (emissiveMapMatrix * texturePos).xy;"):v.push("textureCoord = texturePos.xy;"),v.push("vec4 emissiveTexel = texture(emissiveMap, textureCoord);"),v.push("emissiveTexel = "+li[n._emissiveMap._state.encoding]+"(emissiveTexel);"),v.push("emissiveColor = emissiveTexel.rgb;"));u&&n._alphaMap&&(n._alphaMap._state.matrix?v.push("textureCoord = (alphaMapMatrix * texturePos).xy;"):v.push("textureCoord = texturePos.xy;"),v.push("alpha *= texture(alphaMap, textureCoord).r;"));u&&n._occlusionMap&&(n._occlusionMap._state.matrix?v.push("textureCoord = (occlusionMapMatrix * texturePos).xy;"):v.push("textureCoord = texturePos.xy;"),v.push("occlusion *= texture(occlusionMap, textureCoord).r;"));if(l&&(a.lights.length>0||a.lightMaps.length>0||a.reflectionMaps.length>0)){u&&n._normalMap?(n._normalMap._state.matrix?v.push("textureCoord = (normalMapMatrix * texturePos).xy;"):v.push("textureCoord = texturePos.xy;"),v.push("vec3 viewNormal = perturbNormal2Arb( vViewPosition, normalize(vViewNormal), textureCoord );")):v.push("vec3 viewNormal = normalize(vViewNormal);"),u&&n._specularMap&&(n._specularMap._state.matrix?v.push("textureCoord = (specularMapMatrix * texturePos).xy;"):v.push("textureCoord = texturePos.xy;"),v.push("specular *= texture(specularMap, textureCoord).rgb;")),u&&n._glossinessMap&&(n._glossinessMap._state.matrix?v.push("textureCoord = (glossinessMapMatrix * texturePos).xy;"):v.push("textureCoord = texturePos.xy;"),v.push("glossiness *= texture(glossinessMap, textureCoord).r;")),u&&n._specularGlossinessMap&&(n._specularGlossinessMap._state.matrix?v.push("textureCoord = (materialSpecularGlossinessMapMatrix * texturePos).xy;"):v.push("textureCoord = texturePos.xy;"),v.push("vec4 specGlossRGB = texture(materialSpecularGlossinessMap, textureCoord).rgba;"),v.push("specular *= specGlossRGB.rgb;"),v.push("glossiness *= specGlossRGB.a;")),u&&n._metallicMap&&(n._metallicMap._state.matrix?v.push("textureCoord = (metallicMapMatrix * texturePos).xy;"):v.push("textureCoord = texturePos.xy;"),v.push("metallic *= texture(metallicMap, textureCoord).r;")),u&&n._roughnessMap&&(n._roughnessMap._state.matrix?v.push("textureCoord = (roughnessMapMatrix * texturePos).xy;"):v.push("textureCoord = texturePos.xy;"),v.push("roughness *= texture(roughnessMap, textureCoord).r;")),u&&n._metallicRoughnessMap&&(n._metallicRoughnessMap._state.matrix?v.push("textureCoord = (metallicRoughnessMapMatrix * texturePos).xy;"):v.push("textureCoord = texturePos.xy;"),v.push("vec3 metalRoughRGB = texture(metallicRoughnessMap, textureCoord).rgb;"),v.push("metallic *= metalRoughRGB.b;"),v.push("roughness *= metalRoughRGB.g;")),v.push("vec3 viewEyeDir = normalize(-vViewPosition);"),n._diffuseFresnel&&(v.push("float diffuseFresnel = fresnel(viewEyeDir, viewNormal, diffuseFresnelEdgeBias, diffuseFresnelCenterBias, diffuseFresnelPower);"),v.push("diffuseColor *= mix(diffuseFresnelEdgeColor, diffuseFresnelCenterColor, diffuseFresnel);")),n._specularFresnel&&(v.push("float specularFresnel = fresnel(viewEyeDir, viewNormal, specularFresnelEdgeBias, specularFresnelCenterBias, specularFresnelPower);"),v.push("specular *= mix(specularFresnelEdgeColor, specularFresnelCenterColor, specularFresnel);")),n._alphaFresnel&&(v.push("float alphaFresnel = fresnel(viewEyeDir, viewNormal, alphaFresnelEdgeBias, alphaFresnelCenterBias, alphaFresnelPower);"),v.push("alpha *= mix(alphaFresnelEdgeColor.r, alphaFresnelCenterColor.r, alphaFresnel);")),n._emissiveFresnel&&(v.push("float emissiveFresnel = fresnel(viewEyeDir, viewNormal, emissiveFresnelEdgeBias, emissiveFresnelCenterBias, emissiveFresnelPower);"),v.push("emissiveColor *= mix(emissiveFresnelEdgeColor, emissiveFresnelCenterColor, emissiveFresnel);")),v.push("if (materialAlphaModeCutoff[1] == 1.0 && alpha < materialAlphaModeCutoff[2]) {"),v.push(" discard;"),v.push("}"),v.push("IncidentLight light;"),v.push("Material material;"),v.push("Geometry geometry;"),v.push("ReflectedLight reflectedLight = ReflectedLight(vec3(0.0,0.0,0.0), vec3(0.0,0.0,0.0));"),v.push("vec3 viewLightDir;"),c&&(v.push("material.diffuseColor = diffuseColor;"),v.push("material.specularColor = specular;"),v.push("material.shine = materialShininess;")),p&&(v.push("float oneMinusSpecularStrength = 1.0 - max(max(specular.r, specular.g ),specular.b);"),v.push("material.diffuseColor = diffuseColor * oneMinusSpecularStrength;"),v.push("material.specularRoughness = clamp( 1.0 - glossiness, 0.04, 1.0 );"),v.push("material.specularColor = specular;")),f&&(v.push("float dielectricSpecular = 0.16 * specularF0 * specularF0;"),v.push("material.diffuseColor = diffuseColor * (1.0 - dielectricSpecular) * (1.0 - metallic);"),v.push("material.specularRoughness = clamp(roughness, 0.04, 1.0);"),v.push("material.specularColor = mix(vec3(dielectricSpecular), diffuseColor, metallic);")),v.push("geometry.position = vViewPosition;"),a.lightMaps.length>0&&v.push("geometry.worldNormal = normalize(vWorldNormal);"),v.push("geometry.viewNormal = viewNormal;"),v.push("geometry.viewEyeDir = viewEyeDir;"),c&&(a.lightMaps.length>0||a.reflectionMaps.length>0)&&v.push("computePhongLightMapping(geometry, material, reflectedLight);"),(p||f)&&(a.lightMaps.length>0||a.reflectionMaps.length>0)&&v.push("computePBRLightMapping(geometry, material, reflectedLight);"),v.push("float shadow = 1.0;"),v.push("float shadowAcneRemover = 0.007;"),v.push("vec3 fragmentDepth;"),v.push("float texelSize = 1.0 / 1024.0;"),v.push("float amountInLight = 0.0;"),v.push("vec3 shadowCoord;"),v.push("vec4 rgbaDepth;"),v.push("float depth;");for(var E=0,T=a.lights.length;E0)for(var v=r._sectionPlanesState.sectionPlanes,h=t.renderFlags,I=0;I0&&(this._uLightMap="lightMap"),i.reflectionMaps.length>0&&(this._uReflectionMap="reflectionMap"),this._uSectionPlanes=[];for(c=0,f=a.sectionPlanes.length;c0&&a.lightMaps[0].texture&&this._uLightMap&&(o.bindTexture(this._uLightMap,a.lightMaps[0].texture,e.textureUnit),e.textureUnit=(e.textureUnit+1)%n,e.bindTexture++),a.reflectionMaps.length>0&&a.reflectionMaps[0].texture&&this._uReflectionMap&&(o.bindTexture(this._uReflectionMap,a.reflectionMaps[0].texture,e.textureUnit),e.textureUnit=(e.textureUnit+1)%n,e.bindTexture++),this._uGammaFactor&&i.uniform1f(this._uGammaFactor,r.gammaFactor),this._baseTextureUnit=e.textureUnit};var vi=P((function e(t){b(this,e),this.vertex=function(e){var t=e.scene,n=t._lightsState,r=function(e){var t=e._geometry._state.primitiveName;if((e._geometry._state.autoVertexNormals||e._geometry._state.normalsBuf)&&("triangles"===t||"triangle-strip"===t||"triangle-fan"===t))return!0;return!1}(e),i=t._sectionPlanesState.sectionPlanes.length>0,a=!!e._geometry._state.compressGeometry,s=e._state.billboard,o=e._state.stationary,l=[];l.push("#version 300 es"),l.push("// EmphasisFillShaderSource vertex shader"),l.push("in vec3 position;"),l.push("uniform mat4 modelMatrix;"),l.push("uniform mat4 viewMatrix;"),l.push("uniform mat4 projMatrix;"),l.push("uniform vec4 colorize;"),l.push("uniform vec3 offset;"),a&&l.push("uniform mat4 positionsDecodeMatrix;");t.logarithmicDepthBufferEnabled&&(l.push("uniform float logDepthBufFC;"),l.push("out float vFragDepth;"),l.push("bool isPerspectiveMatrix(mat4 m) {"),l.push(" return (m[2][3] == - 1.0);"),l.push("}"),l.push("out float isPerspective;"));i&&l.push("out vec4 vWorldPosition;");if(l.push("uniform vec4 lightAmbient;"),l.push("uniform vec4 fillColor;"),r){l.push("in vec3 normal;"),l.push("uniform mat4 modelNormalMatrix;"),l.push("uniform mat4 viewNormalMatrix;");for(var u=0,c=n.lights.length;u= 0.0 ? 1.0 : -1.0, v.y >= 0.0 ? 1.0 : -1.0);"),l.push(" }"),l.push(" return normalize(v);"),l.push("}"))}l.push("out vec4 vColor;"),("spherical"===s||"cylindrical"===s)&&(l.push("void billboard(inout mat4 mat) {"),l.push(" mat[0][0] = 1.0;"),l.push(" mat[0][1] = 0.0;"),l.push(" mat[0][2] = 0.0;"),"spherical"===s&&(l.push(" mat[1][0] = 0.0;"),l.push(" mat[1][1] = 1.0;"),l.push(" mat[1][2] = 0.0;")),l.push(" mat[2][0] = 0.0;"),l.push(" mat[2][1] = 0.0;"),l.push(" mat[2][2] =1.0;"),l.push("}"));l.push("void main(void) {"),l.push("vec4 localPosition = vec4(position, 1.0); "),l.push("vec4 worldPosition;"),a&&l.push("localPosition = positionsDecodeMatrix * localPosition;");r&&(a?l.push("vec4 localNormal = vec4(octDecode(normal.xy), 0.0); "):l.push("vec4 localNormal = vec4(normal, 0.0); "),l.push("mat4 modelNormalMatrix2 = modelNormalMatrix;"),l.push("mat4 viewNormalMatrix2 = viewNormalMatrix;"));l.push("mat4 viewMatrix2 = viewMatrix;"),l.push("mat4 modelMatrix2 = modelMatrix;"),o&&l.push("viewMatrix2[3][0] = viewMatrix2[3][1] = viewMatrix2[3][2] = 0.0;");"spherical"===s||"cylindrical"===s?(l.push("mat4 modelViewMatrix = viewMatrix2 * modelMatrix2;"),l.push("billboard(modelMatrix2);"),l.push("billboard(viewMatrix2);"),l.push("billboard(modelViewMatrix);"),r&&(l.push("mat4 modelViewNormalMatrix = viewNormalMatrix2 * modelNormalMatrix2;"),l.push("billboard(modelNormalMatrix2);"),l.push("billboard(viewNormalMatrix2);"),l.push("billboard(modelViewNormalMatrix);")),l.push("worldPosition = modelMatrix2 * localPosition;"),l.push("vec4 viewPosition = modelViewMatrix * localPosition;")):(l.push("worldPosition = modelMatrix2 * localPosition;"),l.push("worldPosition.xyz = worldPosition.xyz + offset;"),l.push("vec4 viewPosition = viewMatrix2 * worldPosition; "));r&&l.push("vec3 viewNormal = normalize((viewNormalMatrix2 * modelNormalMatrix2 * localNormal).xyz);");if(l.push("vec3 reflectedColor = vec3(0.0, 0.0, 0.0);"),l.push("vec3 viewLightDir = vec3(0.0, 0.0, -1.0);"),l.push("float lambertian = 1.0;"),r)for(var p=0,A=n.lights.length;p0,a=[];a.push("#version 300 es"),a.push("// Lambertian drawing fragment shader"),a.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),a.push("precision highp float;"),a.push("precision highp int;"),a.push("#else"),a.push("precision mediump float;"),a.push("precision mediump int;"),a.push("#endif"),t.logarithmicDepthBufferEnabled&&(a.push("in float isPerspective;"),a.push("uniform float logDepthBufFC;"),a.push("in float vFragDepth;"));r&&(a.push("uniform float gammaFactor;"),a.push("vec4 linearToGamma( in vec4 value, in float gammaFactor ) {"),a.push(" return vec4( pow( value.xyz, vec3( 1.0 / gammaFactor ) ), value.w );"),a.push("}"));if(i){a.push("in vec4 vWorldPosition;"),a.push("uniform bool clippable;");for(var s=0,o=n.getNumAllocatedSectionPlanes();s 0.0) { discard; }"),a.push("}")}"points"===e._geometry._state.primitiveName&&(a.push("vec2 cxy = 2.0 * gl_PointCoord - 1.0;"),a.push("float r = dot(cxy, cxy);"),a.push("if (r > 1.0) {"),a.push(" discard;"),a.push("}"));t.logarithmicDepthBufferEnabled&&a.push("gl_FragDepth = isPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5;");r?a.push("outColor = linearToGamma(vColor, gammaFactor);"):a.push("outColor = vColor;");return a.push("}"),a}(t)}));var hi=new G({}),Ii=$.vec3(),yi=function(e,t){this.id=hi.addItem({}),this._hash=e,this._scene=t.scene,this._useCount=0,this._shaderSource=new vi(t),this._allocate(t)},mi={};yi.get=function(e){var t=[e.scene.id,e.scene.gammaOutput?"go":"",e.scene._sectionPlanesState.getHash(),e._geometry._state.normalsBuf?"n":"",e._geometry._state.compressGeometry?"cp":"",e._state.hash].join(";"),n=mi[t];return n||(n=new yi(t,e),mi[t]=n,re.memory.programs++),n._useCount++,n},yi.prototype.put=function(){0==--this._useCount&&(hi.removeItem(this.id),this._program&&this._program.destroy(),delete mi[this._hash],re.memory.programs--)},yi.prototype.webglContextRestored=function(){this._program=null},yi.prototype.drawMesh=function(e,t,n){this._program||this._allocate(t);var r=this._scene,i=r.camera,a=r.canvas.gl,s=0===n?t._xrayMaterial._state:1===n?t._highlightMaterial._state:t._selectedMaterial._state,o=t._state,l=t._geometry._state,u=t.origin;if(e.lastProgramId!==this._program.id&&(e.lastProgramId=this._program.id,this._bindProgram(e)),a.uniformMatrix4fv(this._uViewMatrix,!1,u?e.getRTCViewMatrix(o.originHash,u):i.viewMatrix),a.uniformMatrix4fv(this._uViewNormalMatrix,!1,i.viewNormalMatrix),o.clippable){var c=r._sectionPlanesState.getNumAllocatedSectionPlanes(),f=r._sectionPlanesState.sectionPlanes.length;if(c>0)for(var p=r._sectionPlanesState.sectionPlanes,A=t.renderFlags,d=0;d0,r=!!e._geometry._state.compressGeometry,i=e._state.billboard,a=e._state.stationary,s=[];s.push("#version 300 es"),s.push("// Edges drawing vertex shader"),s.push("in vec3 position;"),s.push("uniform mat4 modelMatrix;"),s.push("uniform mat4 viewMatrix;"),s.push("uniform mat4 projMatrix;"),s.push("uniform vec4 edgeColor;"),s.push("uniform vec3 offset;"),r&&s.push("uniform mat4 positionsDecodeMatrix;");t.logarithmicDepthBufferEnabled&&(s.push("uniform float logDepthBufFC;"),s.push("out float vFragDepth;"),s.push("bool isPerspectiveMatrix(mat4 m) {"),s.push(" return (m[2][3] == - 1.0);"),s.push("}"),s.push("out float isPerspective;"));n&&s.push("out vec4 vWorldPosition;");s.push("out vec4 vColor;"),("spherical"===i||"cylindrical"===i)&&(s.push("void billboard(inout mat4 mat) {"),s.push(" mat[0][0] = 1.0;"),s.push(" mat[0][1] = 0.0;"),s.push(" mat[0][2] = 0.0;"),"spherical"===i&&(s.push(" mat[1][0] = 0.0;"),s.push(" mat[1][1] = 1.0;"),s.push(" mat[1][2] = 0.0;")),s.push(" mat[2][0] = 0.0;"),s.push(" mat[2][1] = 0.0;"),s.push(" mat[2][2] =1.0;"),s.push("}"));s.push("void main(void) {"),s.push("vec4 localPosition = vec4(position, 1.0); "),s.push("vec4 worldPosition;"),r&&s.push("localPosition = positionsDecodeMatrix * localPosition;");s.push("mat4 viewMatrix2 = viewMatrix;"),s.push("mat4 modelMatrix2 = modelMatrix;"),a&&s.push("viewMatrix2[3][0] = viewMatrix2[3][1] = viewMatrix2[3][2] = 0.0;");"spherical"===i||"cylindrical"===i?(s.push("mat4 modelViewMatrix = viewMatrix2 * modelMatrix2;"),s.push("billboard(modelMatrix2);"),s.push("billboard(viewMatrix2);"),s.push("billboard(modelViewMatrix);"),s.push("worldPosition = modelMatrix2 * localPosition;"),s.push("worldPosition.xyz = worldPosition.xyz + offset;"),s.push("vec4 viewPosition = modelViewMatrix * localPosition;")):(s.push("worldPosition = modelMatrix2 * localPosition;"),s.push("worldPosition.xyz = worldPosition.xyz + offset;"),s.push("vec4 viewPosition = viewMatrix2 * worldPosition; "));s.push("vColor = edgeColor;"),n&&s.push("vWorldPosition = worldPosition;");s.push("vec4 clipPos = projMatrix * viewPosition;"),t.logarithmicDepthBufferEnabled&&(s.push("vFragDepth = 1.0 + clipPos.w;"),s.push("isPerspective = float (isPerspectiveMatrix(projMatrix));"));return s.push("gl_Position = clipPos;"),s.push("}"),s}(t),this.fragment=function(e){var t=e.scene,n=e.scene._sectionPlanesState,r=e.scene.gammaOutput,i=n.getNumAllocatedSectionPlanes()>0,a=[];a.push("#version 300 es"),a.push("// Edges drawing fragment shader"),a.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),a.push("precision highp float;"),a.push("precision highp int;"),a.push("#else"),a.push("precision mediump float;"),a.push("precision mediump int;"),a.push("#endif"),t.logarithmicDepthBufferEnabled&&(a.push("in float isPerspective;"),a.push("uniform float logDepthBufFC;"),a.push("in float vFragDepth;"));r&&(a.push("uniform float gammaFactor;"),a.push("vec4 linearToGamma( in vec4 value, in float gammaFactor ) {"),a.push(" return vec4( pow( value.xyz, vec3( 1.0 / gammaFactor ) ), value.w );"),a.push("}"));if(i){a.push("in vec4 vWorldPosition;"),a.push("uniform bool clippable;");for(var s=0,o=n.getNumAllocatedSectionPlanes();s 0.0) { discard; }"),a.push("}")}t.logarithmicDepthBufferEnabled&&a.push("gl_FragDepth = isPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5;");r?a.push("outColor = linearToGamma(vColor, gammaFactor);"):a.push("outColor = vColor;");return a.push("}"),a}(t)}));var gi=new G({}),Ei=$.vec3(),Ti=function(e,t){this.id=gi.addItem({}),this._hash=e,this._scene=t.scene,this._useCount=0,this._shaderSource=new wi(t),this._allocate(t)},bi={};Ti.get=function(e){var t=[e.scene.id,e.scene.gammaOutput?"go":"",e.scene._sectionPlanesState.getHash(),e._geometry._state.compressGeometry?"cp":"",e._state.hash].join(";"),n=bi[t];return n||(n=new Ti(t,e),bi[t]=n,re.memory.programs++),n._useCount++,n},Ti.prototype.put=function(){0==--this._useCount&&(gi.removeItem(this.id),this._program&&this._program.destroy(),delete bi[this._hash],re.memory.programs--)},Ti.prototype.webglContextRestored=function(){this._program=null},Ti.prototype.drawMesh=function(e,t,n){this._program||this._allocate(t);var r,i,a=this._scene,s=a.camera,o=a.canvas.gl,l=t._state,u=t._geometry,c=u._state,f=t.origin;if(e.lastProgramId!==this._program.id&&(e.lastProgramId=this._program.id,this._bindProgram(e)),o.uniformMatrix4fv(this._uViewMatrix,!1,f?e.getRTCViewMatrix(l.originHash,f):s.viewMatrix),l.clippable){var p=a._sectionPlanesState.getNumAllocatedSectionPlanes(),A=a._sectionPlanesState.sectionPlanes.length;if(p>0)for(var d=a._sectionPlanesState.sectionPlanes,v=t.renderFlags,h=0;h0,r=!!e._geometry._state.compressGeometry,i=e._state.billboard,a=e._state.stationary,s=[];s.push("#version 300 es"),s.push("// Mesh picking vertex shader"),s.push("in vec3 position;"),s.push("uniform mat4 modelMatrix;"),s.push("uniform mat4 viewMatrix;"),s.push("uniform mat4 projMatrix;"),s.push("out vec4 vViewPosition;"),s.push("uniform vec3 offset;"),r&&s.push("uniform mat4 positionsDecodeMatrix;");n&&s.push("out vec4 vWorldPosition;");t.logarithmicDepthBufferEnabled&&(s.push("uniform float logDepthBufFC;"),s.push("out float vFragDepth;"),s.push("bool isPerspectiveMatrix(mat4 m) {"),s.push(" return (m[2][3] == - 1.0);"),s.push("}"),s.push("out float isPerspective;"));"spherical"!==i&&"cylindrical"!==i||(s.push("void billboard(inout mat4 mat) {"),s.push(" mat[0][0] = 1.0;"),s.push(" mat[0][1] = 0.0;"),s.push(" mat[0][2] = 0.0;"),"spherical"===i&&(s.push(" mat[1][0] = 0.0;"),s.push(" mat[1][1] = 1.0;"),s.push(" mat[1][2] = 0.0;")),s.push(" mat[2][0] = 0.0;"),s.push(" mat[2][1] = 0.0;"),s.push(" mat[2][2] =1.0;"),s.push("}"));s.push("uniform vec2 pickClipPos;"),s.push("vec4 remapClipPos(vec4 clipPos) {"),s.push(" clipPos.xy /= clipPos.w;"),s.push(" clipPos.xy -= pickClipPos;"),s.push(" clipPos.xy *= clipPos.w;"),s.push(" return clipPos;"),s.push("}"),s.push("void main(void) {"),s.push("vec4 localPosition = vec4(position, 1.0); "),r&&s.push("localPosition = positionsDecodeMatrix * localPosition;");s.push("mat4 viewMatrix2 = viewMatrix;"),s.push("mat4 modelMatrix2 = modelMatrix;"),a&&s.push("viewMatrix2[3][0] = viewMatrix2[3][1] = viewMatrix2[3][2] = 0.0;");"spherical"!==i&&"cylindrical"!==i||(s.push("mat4 modelViewMatrix = viewMatrix2 * modelMatrix2;"),s.push("billboard(modelMatrix2);"),s.push("billboard(viewMatrix2);"));s.push(" vec4 worldPosition = modelMatrix2 * localPosition;"),s.push(" worldPosition.xyz = worldPosition.xyz + offset;"),s.push(" vec4 viewPosition = viewMatrix2 * worldPosition;"),n&&s.push(" vWorldPosition = worldPosition;");s.push("vec4 clipPos = projMatrix * viewPosition;"),t.logarithmicDepthBufferEnabled&&(s.push("vFragDepth = 1.0 + clipPos.w;"),s.push("isPerspective = float (isPerspectiveMatrix(projMatrix));"));return s.push("gl_Position = remapClipPos(clipPos);"),s.push("}"),s}(t),this.fragment=function(e){var t=e.scene,n=t._sectionPlanesState,r=n.getNumAllocatedSectionPlanes()>0,i=[];i.push("#version 300 es"),i.push("// Mesh picking fragment shader"),i.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),i.push("precision highp float;"),i.push("precision highp int;"),i.push("#else"),i.push("precision mediump float;"),i.push("precision mediump int;"),i.push("#endif"),t.logarithmicDepthBufferEnabled&&(i.push("in float isPerspective;"),i.push("uniform float logDepthBufFC;"),i.push("in float vFragDepth;"));if(i.push("uniform vec4 pickColor;"),r){i.push("uniform bool clippable;"),i.push("in vec4 vWorldPosition;");for(var a=0;a 0.0) { discard; }"),i.push("}")}t.logarithmicDepthBufferEnabled&&i.push("gl_FragDepth = isPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5;");return i.push(" outColor = pickColor; "),i.push("}"),i}(t)}));var Pi=$.vec3(),Ri=function(e,t){this._hash=e,this._shaderSource=new Di(t),this._scene=t.scene,this._useCount=0,this._allocate(t)},Ci={};Ri.get=function(e){var t=[e.scene.canvas.canvas.id,e.scene._sectionPlanesState.getHash(),e._geometry._state.hash,e._state.hash].join(";"),n=Ci[t];if(!n){if((n=new Ri(t,e)).errors)return console.log(n.errors.join("\n")),null;Ci[t]=n,re.memory.programs++}return n._useCount++,n},Ri.prototype.put=function(){0==--this._useCount&&(this._program&&this._program.destroy(),delete Ci[this._hash],re.memory.programs--)},Ri.prototype.webglContextRestored=function(){this._program=null},Ri.prototype.drawMesh=function(e,t){this._program||this._allocate(t);var n=this._scene,r=n.canvas.gl,i=t._state,a=t._material._state,s=t._geometry._state,o=t.origin;if(e.lastProgramId!==this._program.id&&(e.lastProgramId=this._program.id,this._bindProgram(e)),r.uniformMatrix4fv(this._uViewMatrix,!1,o?e.getRTCPickViewMatrix(i.originHash,o):e.pickViewMatrix),i.clippable){var l=n._sectionPlanesState.getNumAllocatedSectionPlanes(),u=n._sectionPlanesState.sectionPlanes.length;if(l>0)for(var c=n._sectionPlanesState.sectionPlanes,f=t.renderFlags,p=0;p>24&255,g=m>>16&255,E=m>>8&255,T=255&m;r.uniform4f(this._uPickColor,T/255,E/255,g/255,w/255),r.uniform2fv(this._uPickClipPos,e.pickClipPos),s.indicesBuf?(r.drawElements(s.primitive,s.indicesBuf.numItems,s.indicesBuf.itemType,0),e.drawElements++):s.positions&&r.drawArrays(r.TRIANGLES,0,s.positions.numItems)},Ri.prototype._allocate=function(e){var t=e.scene,n=t.canvas.gl;if(this._program=new bt(n,this._shaderSource),this._program.errors)this.errors=this._program.errors;else{var r=this._program;this._uPositionsDecodeMatrix=r.getLocation("positionsDecodeMatrix"),this._uModelMatrix=r.getLocation("modelMatrix"),this._uViewMatrix=r.getLocation("viewMatrix"),this._uProjMatrix=r.getLocation("projMatrix"),this._uSectionPlanes=[];for(var i=0,a=t._sectionPlanesState.sectionPlanes.length;i0,r=!!e._geometry._state.compressGeometry,i=[];i.push("#version 300 es"),i.push("// Surface picking vertex shader"),i.push("in vec3 position;"),i.push("in vec4 color;"),i.push("uniform mat4 modelMatrix;"),i.push("uniform mat4 viewMatrix;"),i.push("uniform mat4 projMatrix;"),i.push("uniform vec3 offset;"),n&&(i.push("uniform bool clippable;"),i.push("out vec4 vWorldPosition;"));t.logarithmicDepthBufferEnabled&&(i.push("uniform float logDepthBufFC;"),i.push("out float vFragDepth;"),i.push("bool isPerspectiveMatrix(mat4 m) {"),i.push(" return (m[2][3] == - 1.0);"),i.push("}"),i.push("out float isPerspective;"));i.push("uniform vec2 pickClipPos;"),i.push("vec4 remapClipPos(vec4 clipPos) {"),i.push(" clipPos.xy /= clipPos.w;"),i.push(" clipPos.xy -= pickClipPos;"),i.push(" clipPos.xy *= clipPos.w;"),i.push(" return clipPos;"),i.push("}"),i.push("out vec4 vColor;"),r&&i.push("uniform mat4 positionsDecodeMatrix;");i.push("void main(void) {"),i.push("vec4 localPosition = vec4(position, 1.0); "),r&&i.push("localPosition = positionsDecodeMatrix * localPosition;");i.push(" vec4 worldPosition = modelMatrix * localPosition; "),i.push(" worldPosition.xyz = worldPosition.xyz + offset;"),i.push(" vec4 viewPosition = viewMatrix * worldPosition;"),n&&i.push(" vWorldPosition = worldPosition;");i.push(" vColor = color;"),i.push("vec4 clipPos = projMatrix * viewPosition;"),t.logarithmicDepthBufferEnabled&&(i.push("vFragDepth = 1.0 + clipPos.w;"),i.push("isPerspective = float (isPerspectiveMatrix(projMatrix));"));return i.push("gl_Position = remapClipPos(clipPos);"),i.push("}"),i}(t),this.fragment=function(e){var t=e.scene,n=t._sectionPlanesState,r=n.getNumAllocatedSectionPlanes()>0,i=[];i.push("#version 300 es"),i.push("// Surface picking fragment shader"),i.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),i.push("precision highp float;"),i.push("precision highp int;"),i.push("#else"),i.push("precision mediump float;"),i.push("precision mediump int;"),i.push("#endif"),i.push("in vec4 vColor;"),t.logarithmicDepthBufferEnabled&&(i.push("in float isPerspective;"),i.push("uniform float logDepthBufFC;"),i.push("in float vFragDepth;"));if(r){i.push("uniform bool clippable;"),i.push("in vec4 vWorldPosition;");for(var a=0;a 0.0) { discard; }"),i.push("}")}t.logarithmicDepthBufferEnabled&&i.push("gl_FragDepth = isPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5;");return i.push(" outColor = vColor;"),i.push("}"),i}(t)}));var Bi=$.vec3(),Oi=function(e,t){this._hash=e,this._scene=t.scene,this._useCount=0,this._shaderSource=new _i(t),this._allocate(t)},Si={};Oi.get=function(e){var t=[e.scene.canvas.canvas.id,e.scene._sectionPlanesState.getHash(),e._geometry._state.compressGeometry?"cp":"",e._state.hash].join(";"),n=Si[t];if(!n){if((n=new Oi(t,e)).errors)return console.log(n.errors.join("\n")),null;Si[t]=n,re.memory.programs++}return n._useCount++,n},Oi.prototype.put=function(){0==--this._useCount&&(this._program&&this._program.destroy(),delete Si[this._hash],re.memory.programs--)},Oi.prototype.webglContextRestored=function(){this._program=null},Oi.prototype.drawMesh=function(e,t){this._program||this._allocate(t);var n=this._scene,r=n.canvas.gl,i=t._state,a=t._material._state,s=t._geometry,o=t._geometry._state,l=t.origin,u=a.backfaces,c=a.frontface,f=n.camera.project,p=s._getPickTrianglePositions(),A=s._getPickTriangleColors();if(this._program.bind(),e.useProgram++,n.logarithmicDepthBufferEnabled){var d=2/(Math.log(f.far+1)/Math.LN2);r.uniform1f(this._uLogDepthBufFC,d)}if(r.uniformMatrix4fv(this._uViewMatrix,!1,l?e.getRTCPickViewMatrix(i.originHash,l):e.pickViewMatrix),i.clippable){var v=n._sectionPlanesState.getNumAllocatedSectionPlanes(),h=n._sectionPlanesState.sectionPlanes.length;if(v>0)for(var I=n._sectionPlanesState.sectionPlanes,y=t.renderFlags,m=0;m0,r=!!e._geometry._state.compressGeometry,i=e._state.billboard,a=e._state.stationary,s=[];s.push("#version 300 es"),s.push("// Mesh occlusion vertex shader"),s.push("in vec3 position;"),s.push("uniform mat4 modelMatrix;"),s.push("uniform mat4 viewMatrix;"),s.push("uniform mat4 projMatrix;"),s.push("uniform vec3 offset;"),r&&s.push("uniform mat4 positionsDecodeMatrix;");n&&s.push("out vec4 vWorldPosition;");t.logarithmicDepthBufferEnabled&&(s.push("uniform float logDepthBufFC;"),s.push("out float vFragDepth;"),s.push("bool isPerspectiveMatrix(mat4 m) {"),s.push(" return (m[2][3] == - 1.0);"),s.push("}"),s.push("out float isPerspective;"));"spherical"!==i&&"cylindrical"!==i||(s.push("void billboard(inout mat4 mat) {"),s.push(" mat[0][0] = 1.0;"),s.push(" mat[0][1] = 0.0;"),s.push(" mat[0][2] = 0.0;"),"spherical"===i&&(s.push(" mat[1][0] = 0.0;"),s.push(" mat[1][1] = 1.0;"),s.push(" mat[1][2] = 0.0;")),s.push(" mat[2][0] = 0.0;"),s.push(" mat[2][1] = 0.0;"),s.push(" mat[2][2] =1.0;"),s.push("}"));s.push("void main(void) {"),s.push("vec4 localPosition = vec4(position, 1.0); "),s.push("vec4 worldPosition;"),r&&s.push("localPosition = positionsDecodeMatrix * localPosition;");s.push("mat4 viewMatrix2 = viewMatrix;"),s.push("mat4 modelMatrix2 = modelMatrix;"),a&&s.push("viewMatrix2[3][0] = viewMatrix2[3][1] = viewMatrix2[3][2] = 0.0;");"spherical"===i||"cylindrical"===i?(s.push("mat4 modelViewMatrix = viewMatrix2 * modelMatrix2;"),s.push("billboard(modelMatrix2);"),s.push("billboard(viewMatrix2);"),s.push("billboard(modelViewMatrix);"),s.push("worldPosition = modelMatrix2 * localPosition;"),s.push("worldPosition.xyz = worldPosition.xyz + offset;"),s.push("vec4 viewPosition = modelViewMatrix * localPosition;")):(s.push("worldPosition = modelMatrix2 * localPosition;"),s.push("worldPosition.xyz = worldPosition.xyz + offset;"),s.push("vec4 viewPosition = viewMatrix2 * worldPosition; "));n&&s.push(" vWorldPosition = worldPosition;");s.push("vec4 clipPos = projMatrix * viewPosition;"),t.logarithmicDepthBufferEnabled&&(s.push("vFragDepth = 1.0 + clipPos.w;"),s.push("isPerspective = float (isPerspectiveMatrix(projMatrix));"));return s.push("gl_Position = clipPos;"),s.push("}"),s}(t),this.fragment=function(e){var t=e.scene,n=t._sectionPlanesState,r=n.getNumAllocatedSectionPlanes()>0,i=[];i.push("#version 300 es"),i.push("// Mesh occlusion fragment shader"),i.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),i.push("precision highp float;"),i.push("precision highp int;"),i.push("#else"),i.push("precision mediump float;"),i.push("precision mediump int;"),i.push("#endif"),t.logarithmicDepthBufferEnabled&&(i.push("in float isPerspective;"),i.push("uniform float logDepthBufFC;"),i.push("in float vFragDepth;"));if(r){i.push("uniform bool clippable;"),i.push("in vec4 vWorldPosition;");for(var a=0;a 0.0) { discard; }"),i.push("}")}i.push(" outColor = vec4(0.0, 0.0, 1.0, 1.0); "),t.logarithmicDepthBufferEnabled&&i.push("gl_FragDepth = isPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5;");return i.push("}"),i}(t)}));var Li=$.vec3(),xi=function(e,t){this._hash=e,this._shaderSource=new Ni(t),this._scene=t.scene,this._useCount=0,this._allocate(t)},Mi={};xi.get=function(e){var t=[e.scene.canvas.canvas.id,e.scene._sectionPlanesState.getHash(),e._geometry._state.hash,e._state.occlusionHash].join(";"),n=Mi[t];if(!n){if((n=new xi(t,e)).errors)return console.log(n.errors.join("\n")),null;Mi[t]=n,re.memory.programs++}return n._useCount++,n},xi.prototype.put=function(){0==--this._useCount&&(this._program&&this._program.destroy(),delete Mi[this._hash],re.memory.programs--)},xi.prototype.webglContextRestored=function(){this._program=null},xi.prototype.drawMesh=function(e,t){this._program||this._allocate(t);var n=this._scene,r=n.canvas.gl,i=t._material._state,a=t._state,s=t._geometry._state,o=t.origin;if(e.lastProgramId!==this._program.id&&(e.lastProgramId=this._program.id,this._bindProgram(e)),i.id!==this._lastMaterialId){var l=i.backfaces;e.backfaces!==l&&(l?r.disable(r.CULL_FACE):r.enable(r.CULL_FACE),e.backfaces=l);var u=i.frontface;e.frontface!==u&&(u?r.frontFace(r.CCW):r.frontFace(r.CW),e.frontface=u),this._lastMaterialId=i.id}var c=n.camera;if(r.uniformMatrix4fv(this._uViewMatrix,!1,o?e.getRTCViewMatrix(a.originHash,o):c.viewMatrix),a.clippable){var f=n._sectionPlanesState.getNumAllocatedSectionPlanes(),p=n._sectionPlanesState.sectionPlanes.length;if(f>0)for(var A=n._sectionPlanesState.sectionPlanes,d=t.renderFlags,v=0;v0,n=!!e._geometry._state.compressGeometry,r=[];r.push("// Mesh shadow vertex shader"),r.push("in vec3 position;"),r.push("uniform mat4 modelMatrix;"),r.push("uniform mat4 shadowViewMatrix;"),r.push("uniform mat4 shadowProjMatrix;"),r.push("uniform vec3 offset;"),n&&r.push("uniform mat4 positionsDecodeMatrix;");t&&r.push("out vec4 vWorldPosition;");r.push("void main(void) {"),r.push("vec4 localPosition = vec4(position, 1.0); "),r.push("vec4 worldPosition;"),n&&r.push("localPosition = positionsDecodeMatrix * localPosition;");r.push("worldPosition = modelMatrix * localPosition;"),r.push("worldPosition.xyz = worldPosition.xyz + offset;"),r.push("vec4 viewPosition = shadowViewMatrix * worldPosition; "),t&&r.push("vWorldPosition = worldPosition;");return r.push(" gl_Position = shadowProjMatrix * viewPosition;"),r.push("}"),r}(t),this.fragment=function(e){var t=e.scene;t.canvas.gl;var n=t._sectionPlanesState,r=n.getNumAllocatedSectionPlanes()>0,i=[];if(i.push("// Mesh shadow fragment shader"),i.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),i.push("precision highp float;"),i.push("precision highp int;"),i.push("#else"),i.push("precision mediump float;"),i.push("precision mediump int;"),i.push("#endif"),r){i.push("uniform bool clippable;"),i.push("in vec4 vWorldPosition;");for(var a=0;a 0.0) { discard; }"),i.push("}")}return i.push("outColor = encodeFloat(gl_FragCoord.z);"),i.push("}"),i}(t)}));var Hi=function(e,t){this._hash=e,this._shaderSource=new Fi(t),this._scene=t.scene,this._useCount=0,this._allocate(t)},Ui={};Hi.get=function(e){var t=e.scene,n=[t.canvas.canvas.id,t._sectionPlanesState.getHash(),e._geometry._state.hash,e._state.hash].join(";"),r=Ui[n];if(!r){if((r=new Hi(n,e)).errors)return console.log(r.errors.join("\n")),null;Ui[n]=r,re.memory.programs++}return r._useCount++,r},Hi.prototype.put=function(){0==--this._useCount&&(this._program&&this._program.destroy(),delete Ui[this._hash],re.memory.programs--)},Hi.prototype.webglContextRestored=function(){this._program=null},Hi.prototype.drawMesh=function(e,t){this._program||this._allocate(t);var n=this._scene.canvas.gl,r=t._material._state,i=t._geometry._state;if(e.lastProgramId!==this._program.id&&(e.lastProgramId=this._program.id,this._bindProgram(e)),r.id!==this._lastMaterialId){var a=r.backfaces;e.backfaces!==a&&(a?n.disable(n.CULL_FACE):n.enable(n.CULL_FACE),e.backfaces=a);var s=r.frontface;e.frontface!==s&&(s?n.frontFace(n.CCW):n.frontFace(n.CW),e.frontface=s),e.lineWidth!==r.lineWidth&&(n.lineWidth(r.lineWidth),e.lineWidth=r.lineWidth),this._uPointSize&&n.uniform1i(this._uPointSize,r.pointSize),this._lastMaterialId=r.id}if(n.uniformMatrix4fv(this._uModelMatrix,n.FALSE,t.worldMatrix),i.combineGeometry){var o=t.vertexBufs;o.id!==this._lastVertexBufsId&&(o.positionsBuf&&this._aPosition&&(this._aPosition.bindArrayBuffer(o.positionsBuf,o.compressGeometry?n.UNSIGNED_SHORT:n.FLOAT),e.bindArray++),this._lastVertexBufsId=o.id)}this._uClippable&&n.uniform1i(this._uClippable,t._state.clippable),n.uniform3fv(this._uOffset,t._state.offset),i.id!==this._lastGeometryId&&(this._uPositionsDecodeMatrix&&n.uniformMatrix4fv(this._uPositionsDecodeMatrix,!1,i.positionsDecodeMatrix),i.combineGeometry?i.indicesBufCombined&&(i.indicesBufCombined.bind(),e.bindArray++):(this._aPosition&&(this._aPosition.bindArrayBuffer(i.positionsBuf,i.compressGeometry?n.UNSIGNED_SHORT:n.FLOAT),e.bindArray++),i.indicesBuf&&(i.indicesBuf.bind(),e.bindArray++)),this._lastGeometryId=i.id),i.combineGeometry?i.indicesBufCombined&&(n.drawElements(i.primitive,i.indicesBufCombined.numItems,i.indicesBufCombined.itemType,0),e.drawElements++):i.indicesBuf?(n.drawElements(i.primitive,i.indicesBuf.numItems,i.indicesBuf.itemType,0),e.drawElements++):i.positions&&(n.drawArrays(n.TRIANGLES,0,i.positions.numItems),e.drawArrays++)},Hi.prototype._allocate=function(e){var t=e.scene,n=t.canvas.gl;if(this._program=new bt(n,this._shaderSource),this._scene=t,this._useCount=0,this._program.errors)this.errors=this._program.errors;else{var r=this._program;this._uPositionsDecodeMatrix=r.getLocation("positionsDecodeMatrix"),this._uModelMatrix=r.getLocation("modelMatrix"),this._uShadowViewMatrix=r.getLocation("shadowViewMatrix"),this._uShadowProjMatrix=r.getLocation("shadowProjMatrix"),this._uSectionPlanes={};for(var i=0,a=t._sectionPlanesState.sectionPlanes.length;i0)for(var i,a,s,o=0,l=this._uSectionPlanes.length;o1&&void 0!==arguments[1]?arguments[1]:{};b(this,n),(r=t.call(this,e,i)).originalSystemId=i.originalSystemId||r.id,r.renderFlags=new Gi,r._state=new Wt({visible:!0,culled:!1,pickable:null,clippable:null,collidable:null,occluder:!1!==i.occluder,castsShadow:null,receivesShadow:null,xrayed:!1,highlighted:!1,selected:!1,edges:!1,stationary:!!i.stationary,background:!!i.background,billboard:r._checkBillboard(i.billboard),layer:null,colorize:null,pickID:r.scene._renderer.getPickID(g(r)),drawHash:"",pickHash:"",offset:$.vec3(),origin:null,originHash:null}),r._drawRenderer=null,r._shadowRenderer=null,r._emphasisFillRenderer=null,r._emphasisEdgesRenderer=null,r._pickMeshRenderer=null,r._pickTriangleRenderer=null,r._occlusionRenderer=null,r._geometry=i.geometry?r._checkComponent2(["ReadableGeometry","VBOGeometry"],i.geometry):r.scene.geometry,r._material=i.material?r._checkComponent2(["PhongMaterial","MetallicMaterial","SpecularMaterial","LambertMaterial"],i.material):r.scene.material,r._xrayMaterial=i.xrayMaterial?r._checkComponent("EmphasisMaterial",i.xrayMaterial):r.scene.xrayMaterial,r._highlightMaterial=i.highlightMaterial?r._checkComponent("EmphasisMaterial",i.highlightMaterial):r.scene.highlightMaterial,r._selectedMaterial=i.selectedMaterial?r._checkComponent("EmphasisMaterial",i.selectedMaterial):r.scene.selectedMaterial,r._edgeMaterial=i.edgeMaterial?r._checkComponent("EdgeMaterial",i.edgeMaterial):r.scene.edgeMaterial,r._parentNode=null,r._aabb=null,r._aabbDirty=!0,r._numTriangles=r._geometry?r._geometry.numTriangles:0,r.scene._aabbDirty=!0,r._scale=$.vec3(),r._quaternion=$.identityQuaternion(),r._rotation=$.vec3(),r._position=$.vec3(),r._worldMatrix=$.identityMat4(),r._worldNormalMatrix=$.identityMat4(),r._localMatrixDirty=!0,r._worldMatrixDirty=!0,r._worldNormalMatrixDirty=!0;var a=i.origin||i.rtcCenter;if(a&&(r._state.origin=$.vec3(a),r._state.originHash=a.join()),i.matrix?r.matrix=i.matrix:(r.scale=i.scale,r.position=i.position,i.quaternion||(r.rotation=i.rotation)),r._isObject=i.isObject,r._isObject&&r.scene._registerObject(g(r)),r._isModel=i.isModel,r._isModel&&r.scene._registerModel(g(r)),r.visible=i.visible,r.culled=i.culled,r.pickable=i.pickable,r.clippable=i.clippable,r.collidable=i.collidable,r.castsShadow=i.castsShadow,r.receivesShadow=i.receivesShadow,r.xrayed=i.xrayed,r.highlighted=i.highlighted,r.selected=i.selected,r.edges=i.edges,r.layer=i.layer,r.colorize=i.colorize,r.opacity=i.opacity,r.offset=i.offset,i.parentId){var s=r.scene.components[i.parentId];s?s.isNode?s.addChild(g(r)):r.error("Parent is not a Node: '"+i.parentId+"'"):r.error("Parent not found: '"+i.parentId+"'"),r._parentNode=s}else i.parent&&(i.parent.isNode||r.error("Parent is not a Node"),i.parent.addChild(g(r)),r._parentNode=i.parent);return r.compile(),r}return P(n,[{key:"type",get:function(){return"Mesh"}},{key:"isMesh",get:function(){return!0}},{key:"parent",get:function(){return this._parentNode}},{key:"geometry",get:function(){return this._geometry}},{key:"material",get:function(){return this._material}},{key:"position",get:function(){return this._position},set:function(e){this._position.set(e||[0,0,0]),this._setLocalMatrixDirty(),this._setAABBDirty(),this.glRedraw()}},{key:"rotation",get:function(){return this._rotation},set:function(e){this._rotation.set(e||[0,0,0]),$.eulerToQuaternion(this._rotation,"XYZ",this._quaternion),this._setLocalMatrixDirty(),this._setAABBDirty(),this.glRedraw()}},{key:"quaternion",get:function(){return this._quaternion},set:function(e){this._quaternion.set(e||[0,0,0,1]),$.quaternionToEuler(this._quaternion,"XYZ",this._rotation),this._setLocalMatrixDirty(),this._setAABBDirty(),this.glRedraw()}},{key:"scale",get:function(){return this._scale},set:function(e){this._scale.set(e||[1,1,1]),this._setLocalMatrixDirty(),this._setAABBDirty(),this.glRedraw()}},{key:"matrix",get:function(){return this._localMatrixDirty&&(this.__localMatrix||(this.__localMatrix=$.identityMat4()),$.composeMat4(this._position,this._quaternion,this._scale,this.__localMatrix),this._localMatrixDirty=!1),this.__localMatrix},set:function(e){this.__localMatrix||(this.__localMatrix=$.identityMat4()),this.__localMatrix.set(e||qi),$.decomposeMat4(this.__localMatrix,this._position,this._quaternion,this._scale),this._localMatrixDirty=!1,this._setWorldMatrixDirty(),this._setAABBDirty(),this.glRedraw()}},{key:"worldMatrix",get:function(){return this._worldMatrixDirty&&this._buildWorldMatrix(),this._worldMatrix}},{key:"worldNormalMatrix",get:function(){return this._worldNormalMatrixDirty&&this._buildWorldNormalMatrix(),this._worldNormalMatrix}},{key:"isEntity",get:function(){return!0}},{key:"isModel",get:function(){return this._isModel}},{key:"isObject",get:function(){return this._isObject}},{key:"aabb",get:function(){return this._aabbDirty&&this._updateAABB(),this._aabb}},{key:"origin",get:function(){return this._state.origin},set:function(e){e?(this._state.origin||(this._state.origin=$.vec3()),this._state.origin.set(e),this._state.originHash=e.join(),this._setAABBDirty(),this.scene._aabbDirty=!0):this._state.origin&&(this._state.origin=null,this._state.originHash=null,this._setAABBDirty(),this.scene._aabbDirty=!0)}},{key:"rtcCenter",get:function(){return this.origin},set:function(e){this.origin=e}},{key:"numTriangles",get:function(){return this._numTriangles}},{key:"visible",get:function(){return this._state.visible},set:function(e){e=!1!==e,this._state.visible=e,this._isObject&&this.scene._objectVisibilityUpdated(this,e),this.glRedraw()}},{key:"xrayed",get:function(){return this._state.xrayed},set:function(e){e=!!e,this._state.xrayed!==e&&(this._state.xrayed=e,this._isObject&&this.scene._objectXRayedUpdated(this,e),this.glRedraw())}},{key:"highlighted",get:function(){return this._state.highlighted},set:function(e){(e=!!e)!==this._state.highlighted&&(this._state.highlighted=e,this._isObject&&this.scene._objectHighlightedUpdated(this,e),this.glRedraw())}},{key:"selected",get:function(){return this._state.selected},set:function(e){(e=!!e)!==this._state.selected&&(this._state.selected=e,this._isObject&&this.scene._objectSelectedUpdated(this,e),this.glRedraw())}},{key:"edges",get:function(){return this._state.edges},set:function(e){(e=!!e)!==this._state.edges&&(this._state.edges=e,this.glRedraw())}},{key:"culled",get:function(){return this._state.culled},set:function(e){this._state.culled=!!e,this.glRedraw()}},{key:"clippable",get:function(){return this._state.clippable},set:function(e){e=!1!==e,this._state.clippable!==e&&(this._state.clippable=e,this.glRedraw())}},{key:"collidable",get:function(){return this._state.collidable},set:function(e){(e=!1!==e)!==this._state.collidable&&(this._state.collidable=e,this._setAABBDirty(),this.scene._aabbDirty=!0)}},{key:"pickable",get:function(){return this._state.pickable},set:function(e){e=!1!==e,this._state.pickable!==e&&(this._state.pickable=e)}},{key:"castsShadow",get:function(){return this._state.castsShadow},set:function(e){(e=!1!==e)!==this._state.castsShadow&&(this._state.castsShadow=e,this.glRedraw())}},{key:"receivesShadow",get:function(){return this._state.receivesShadow},set:function(e){(e=!1!==e)!==this._state.receivesShadow&&(this._state.receivesShadow=e,this._state.hash=e?"/mod/rs;":"/mod;",this.fire("dirty",this))}},{key:"saoEnabled",get:function(){return!1}},{key:"colorize",get:function(){return this._state.colorize},set:function(e){var t=this._state.colorize;t||((t=this._state.colorize=new Float32Array(4))[3]=1),e?(t[0]=e[0],t[1]=e[1],t[2]=e[2]):(t[0]=1,t[1]=1,t[2]=1);var n=!!e;this.scene._objectColorizeUpdated(this,n),this.glRedraw()}},{key:"opacity",get:function(){return this._state.colorize[3]},set:function(e){var t=this._state.colorize;t||((t=this._state.colorize=new Float32Array(4))[0]=1,t[1]=1,t[2]=1);var n=null!=e;t[3]=n?e:1,this.scene._objectOpacityUpdated(this,n),this.glRedraw()}},{key:"transparent",get:function(){return 2===this._material.alphaMode||this._state.colorize[3]<1}},{key:"layer",get:function(){return this._state.layer},set:function(e){e=e||0,(e=Math.round(e))!==this._state.layer&&(this._state.layer=e,this._renderer.needStateSort())}},{key:"stationary",get:function(){return this._state.stationary}},{key:"billboard",get:function(){return this._state.billboard}},{key:"offset",get:function(){return this._state.offset},set:function(e){this._state.offset.set(e||[0,0,0]),this._setAABBDirty(),this.glRedraw()}},{key:"isDrawable",get:function(){return!0}},{key:"isStateSortable",get:function(){return!0}},{key:"xrayMaterial",get:function(){return this._xrayMaterial}},{key:"highlightMaterial",get:function(){return this._highlightMaterial}},{key:"selectedMaterial",get:function(){return this._selectedMaterial}},{key:"edgeMaterial",get:function(){return this._edgeMaterial}},{key:"_checkBillboard",value:function(e){return"spherical"!==(e=e||"none")&&"cylindrical"!==e&&"none"!==e&&(this.error("Unsupported value for 'billboard': "+e+" - accepted values are 'spherical', 'cylindrical' and 'none' - defaulting to 'none'."),e="none"),e}},{key:"compile",value:function(){var e=this._makeDrawHash();this._state.drawHash!==e&&(this._state.drawHash=e,this._putDrawRenderers(),this._drawRenderer=Ai.get(this),this._emphasisFillRenderer=yi.get(this),this._emphasisEdgesRenderer=Ti.get(this));var t=this._makePickHash();if(this._state.pickHash!==t&&(this._state.pickHash=t,this._putPickRenderers(),this._pickMeshRenderer=Ri.get(this)),this._state.occluder){var n=this._makeOcclusionHash();this._state.occlusionHash!==n&&(this._state.occlusionHash=n,this._putOcclusionRenderer(),this._occlusionRenderer=xi.get(this))}}},{key:"_setLocalMatrixDirty",value:function(){this._localMatrixDirty=!0,this._setWorldMatrixDirty()}},{key:"_setWorldMatrixDirty",value:function(){this._worldMatrixDirty=!0,this._worldNormalMatrixDirty=!0}},{key:"_buildWorldMatrix",value:function(){var e=this.matrix;if(this._parentNode)$.mulMat4(this._parentNode.worldMatrix,e,this._worldMatrix);else for(var t=0,n=e.length;t0)for(var n=0;n-1){var x=B.geometry._state,M=B.scene,F=M.camera,H=M.canvas;if("triangles"===x.primitiveName){N.primitive="triangle";var U,G,k,j=L,V=x.indices,Q=x.positions;if(V){var W=V[j+0],z=V[j+1],K=V[j+2];a[0]=W,a[1]=z,a[2]=K,N.indices=a,U=3*W,G=3*z,k=3*K}else k=(G=(U=3*j)+3)+3;if(n[0]=Q[U+0],n[1]=Q[U+1],n[2]=Q[U+2],r[0]=Q[G+0],r[1]=Q[G+1],r[2]=Q[G+2],i[0]=Q[k+0],i[1]=Q[k+1],i[2]=Q[k+2],x.compressGeometry){var Y=x.positionsDecodeMatrix;Y&&(Dn.decompressPosition(n,Y,n),Dn.decompressPosition(r,Y,r),Dn.decompressPosition(i,Y,i))}N.canvasPos?$.canvasPosToLocalRay(H.canvas,B.origin?Be(O,B.origin):O,S,B.worldMatrix,N.canvasPos,e,t):N.origin&&N.direction&&$.worldRayToLocalRay(B.worldMatrix,N.origin,N.direction,e,t),$.normalizeVec3(t),$.rayPlaneIntersect(e,t,n,r,i,s),N.localPos=s,N.position=s,h[0]=s[0],h[1]=s[1],h[2]=s[2],h[3]=1,$.transformVec4(B.worldMatrix,h,I),o[0]=I[0],o[1]=I[1],o[2]=I[2],N.canvasPos&&B.origin&&(o[0]+=B.origin[0],o[1]+=B.origin[1],o[2]+=B.origin[2]),N.worldPos=o,$.transformVec4(F.matrix,I,y),l[0]=y[0],l[1]=y[1],l[2]=y[2],N.viewPos=l,$.cartesianToBarycentric(s,n,r,i,u),N.bary=u;var X=x.normals;if(X){if(x.compressGeometry){var q=3*W,J=3*z,Z=3*K;Dn.decompressNormal(X.subarray(q,q+2),c),Dn.decompressNormal(X.subarray(J,J+2),f),Dn.decompressNormal(X.subarray(Z,Z+2),p)}else c[0]=X[U],c[1]=X[U+1],c[2]=X[U+2],f[0]=X[G],f[1]=X[G+1],f[2]=X[G+2],p[0]=X[k],p[1]=X[k+1],p[2]=X[k+2];var ee=$.addVec3($.addVec3($.mulVec3Scalar(c,u[0],m),$.mulVec3Scalar(f,u[1],w),g),$.mulVec3Scalar(p,u[2],E),T);N.worldNormal=$.normalizeVec3($.transformVec3(B.worldNormalMatrix,ee,b))}var te=x.uv;if(te){if(A[0]=te[2*W],A[1]=te[2*W+1],d[0]=te[2*z],d[1]=te[2*z+1],v[0]=te[2*K],v[1]=te[2*K+1],x.compressGeometry){var ne=x.uvDecodeMatrix;ne&&(Dn.decompressUV(A,ne,A),Dn.decompressUV(d,ne,d),Dn.decompressUV(v,ne,v))}N.uv=$.addVec3($.addVec3($.mulVec2Scalar(A,u[0],D),$.mulVec2Scalar(d,u[1],P),R),$.mulVec2Scalar(v,u[2],C),_)}}}}}();function $i(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.radiusTop||1;t<0&&(console.error("negative radiusTop not allowed - will invert"),t*=-1);var n=e.radiusBottom||1;n<0&&(console.error("negative radiusBottom not allowed - will invert"),n*=-1);var r=e.height||1;r<0&&(console.error("negative height not allowed - will invert"),r*=-1);var i=e.radialSegments||32;i<0&&(console.error("negative radialSegments not allowed - will invert"),i*=-1),i<3&&(i=3);var a=e.heightSegments||1;a<0&&(console.error("negative heightSegments not allowed - will invert"),a*=-1),a<1&&(a=1);var s,o,l,u,c,f,p,A,d,v,h,I=!!e.openEnded,y=e.center,m=y?y[0]:0,w=y?y[1]:0,g=y?y[2]:0,E=r/2,T=r/a,b=2*Math.PI/i,D=1/i,P=(t-n)/a,R=[],C=[],_=[],B=[],O=(90-180*Math.atan(r/(n-t))/Math.PI)/90;for(s=0;s<=a;s++)for(c=t-s*P,f=E-s*T,o=0;o<=i;o++)l=Math.sin(o*b),u=Math.cos(o*b),C.push(c*l),C.push(O),C.push(c*u),_.push(o*D),_.push(1*s/a),R.push(c*l+m),R.push(f+w),R.push(c*u+g);for(s=0;s0){for(d=R.length/3,C.push(0),C.push(1),C.push(0),_.push(.5),_.push(.5),R.push(0+m),R.push(E+w),R.push(0+g),o=0;o<=i;o++)l=Math.sin(o*b),u=Math.cos(o*b),v=.5*Math.sin(o*b)+.5,h=.5*Math.cos(o*b)+.5,C.push(t*l),C.push(1),C.push(t*u),_.push(v),_.push(h),R.push(t*l+m),R.push(E+w),R.push(t*u+g);for(o=0;o0){for(d=R.length/3,C.push(0),C.push(-1),C.push(0),_.push(.5),_.push(.5),R.push(0+m),R.push(0-E+w),R.push(0+g),o=0;o<=i;o++)l=Math.sin(o*b),u=Math.cos(o*b),v=.5*Math.sin(o*b)+.5,h=.5*Math.cos(o*b)+.5,C.push(n*l),C.push(-1),C.push(n*u),_.push(v),_.push(h),R.push(n*l+m),R.push(0-E+w),R.push(n*u+g);for(o=0;o0&&void 0!==arguments[0]?arguments[0]:{},t=e.lod||1,n=e.center?e.center[0]:0,r=e.center?e.center[1]:0,i=e.center?e.center[2]:0,a=e.radius||1;a<0&&(console.error("negative radius not allowed - will invert"),a*=-1);var s=e.heightSegments||18;s<0&&(console.error("negative heightSegments not allowed - will invert"),s*=-1),(s=Math.floor(t*s))<18&&(s=18);var o=e.widthSegments||18;o<0&&(console.error("negative widthSegments not allowed - will invert"),o*=-1),(o=Math.floor(t*o))<18&&(o=18);var l,u,c,f,p,A,d,v,h,I,y,m,w,g,E=[],T=[],b=[],D=[];for(l=0;l<=s;l++)for(c=l*Math.PI/s,f=Math.sin(c),p=Math.cos(c),u=0;u<=o;u++)A=2*u*Math.PI/o,d=Math.sin(A),v=Math.cos(A)*f,h=p,I=d*f,y=1-u/o,m=l/s,T.push(v),T.push(h),T.push(I),b.push(y),b.push(m),E.push(n+a*v),E.push(r+a*h),E.push(i+a*I);for(l=0;l":{width:24,points:[[4,18],[20,9],[4,0]]},"?":{width:18,points:[[3,16],[3,17],[4,19],[5,20],[7,21],[11,21],[13,20],[14,19],[15,17],[15,15],[14,13],[13,12],[9,10],[9,7],[-1,-1],[9,2],[8,1],[9,0],[10,1],[9,2]]},"@":{width:27,points:[[18,13],[17,15],[15,16],[12,16],[10,15],[9,14],[8,11],[8,8],[9,6],[11,5],[14,5],[16,6],[17,8],[-1,-1],[12,16],[10,14],[9,11],[9,8],[10,6],[11,5],[-1,-1],[18,16],[17,8],[17,6],[19,5],[21,5],[23,7],[24,10],[24,12],[23,15],[22,17],[20,19],[18,20],[15,21],[12,21],[9,20],[7,19],[5,17],[4,15],[3,12],[3,9],[4,6],[5,4],[7,2],[9,1],[12,0],[15,0],[18,1],[20,2],[21,3],[-1,-1],[19,16],[18,8],[18,6],[19,5]]},A:{width:18,points:[[9,21],[1,0],[-1,-1],[9,21],[17,0],[-1,-1],[4,7],[14,7]]},B:{width:21,points:[[4,21],[4,0],[-1,-1],[4,21],[13,21],[16,20],[17,19],[18,17],[18,15],[17,13],[16,12],[13,11],[-1,-1],[4,11],[13,11],[16,10],[17,9],[18,7],[18,4],[17,2],[16,1],[13,0],[4,0]]},C:{width:21,points:[[18,16],[17,18],[15,20],[13,21],[9,21],[7,20],[5,18],[4,16],[3,13],[3,8],[4,5],[5,3],[7,1],[9,0],[13,0],[15,1],[17,3],[18,5]]},D:{width:21,points:[[4,21],[4,0],[-1,-1],[4,21],[11,21],[14,20],[16,18],[17,16],[18,13],[18,8],[17,5],[16,3],[14,1],[11,0],[4,0]]},E:{width:19,points:[[4,21],[4,0],[-1,-1],[4,21],[17,21],[-1,-1],[4,11],[12,11],[-1,-1],[4,0],[17,0]]},F:{width:18,points:[[4,21],[4,0],[-1,-1],[4,21],[17,21],[-1,-1],[4,11],[12,11]]},G:{width:21,points:[[18,16],[17,18],[15,20],[13,21],[9,21],[7,20],[5,18],[4,16],[3,13],[3,8],[4,5],[5,3],[7,1],[9,0],[13,0],[15,1],[17,3],[18,5],[18,8],[-1,-1],[13,8],[18,8]]},H:{width:22,points:[[4,21],[4,0],[-1,-1],[18,21],[18,0],[-1,-1],[4,11],[18,11]]},I:{width:8,points:[[4,21],[4,0]]},J:{width:16,points:[[12,21],[12,5],[11,2],[10,1],[8,0],[6,0],[4,1],[3,2],[2,5],[2,7]]},K:{width:21,points:[[4,21],[4,0],[-1,-1],[18,21],[4,7],[-1,-1],[9,12],[18,0]]},L:{width:17,points:[[4,21],[4,0],[-1,-1],[4,0],[16,0]]},M:{width:24,points:[[4,21],[4,0],[-1,-1],[4,21],[12,0],[-1,-1],[20,21],[12,0],[-1,-1],[20,21],[20,0]]},N:{width:22,points:[[4,21],[4,0],[-1,-1],[4,21],[18,0],[-1,-1],[18,21],[18,0]]},O:{width:22,points:[[9,21],[7,20],[5,18],[4,16],[3,13],[3,8],[4,5],[5,3],[7,1],[9,0],[13,0],[15,1],[17,3],[18,5],[19,8],[19,13],[18,16],[17,18],[15,20],[13,21],[9,21]]},P:{width:21,points:[[4,21],[4,0],[-1,-1],[4,21],[13,21],[16,20],[17,19],[18,17],[18,14],[17,12],[16,11],[13,10],[4,10]]},Q:{width:22,points:[[9,21],[7,20],[5,18],[4,16],[3,13],[3,8],[4,5],[5,3],[7,1],[9,0],[13,0],[15,1],[17,3],[18,5],[19,8],[19,13],[18,16],[17,18],[15,20],[13,21],[9,21],[-1,-1],[12,4],[18,-2]]},R:{width:21,points:[[4,21],[4,0],[-1,-1],[4,21],[13,21],[16,20],[17,19],[18,17],[18,15],[17,13],[16,12],[13,11],[4,11],[-1,-1],[11,11],[18,0]]},S:{width:20,points:[[17,18],[15,20],[12,21],[8,21],[5,20],[3,18],[3,16],[4,14],[5,13],[7,12],[13,10],[15,9],[16,8],[17,6],[17,3],[15,1],[12,0],[8,0],[5,1],[3,3]]},T:{width:16,points:[[8,21],[8,0],[-1,-1],[1,21],[15,21]]},U:{width:22,points:[[4,21],[4,6],[5,3],[7,1],[10,0],[12,0],[15,1],[17,3],[18,6],[18,21]]},V:{width:18,points:[[1,21],[9,0],[-1,-1],[17,21],[9,0]]},W:{width:24,points:[[2,21],[7,0],[-1,-1],[12,21],[7,0],[-1,-1],[12,21],[17,0],[-1,-1],[22,21],[17,0]]},X:{width:20,points:[[3,21],[17,0],[-1,-1],[17,21],[3,0]]},Y:{width:18,points:[[1,21],[9,11],[9,0],[-1,-1],[17,21],[9,11]]},Z:{width:20,points:[[17,21],[3,0],[-1,-1],[3,21],[17,21],[-1,-1],[3,0],[17,0]]},"[":{width:14,points:[[4,25],[4,-7],[-1,-1],[5,25],[5,-7],[-1,-1],[4,25],[11,25],[-1,-1],[4,-7],[11,-7]]},"\\":{width:14,points:[[0,21],[14,-3]]},"]":{width:14,points:[[9,25],[9,-7],[-1,-1],[10,25],[10,-7],[-1,-1],[3,25],[10,25],[-1,-1],[3,-7],[10,-7]]},"^":{width:16,points:[[6,15],[8,18],[10,15],[-1,-1],[3,12],[8,17],[13,12],[-1,-1],[8,17],[8,0]]},_:{width:16,points:[[0,-2],[16,-2]]},"`":{width:10,points:[[6,21],[5,20],[4,18],[4,16],[5,15],[6,16],[5,17]]},a:{width:19,points:[[15,14],[15,0],[-1,-1],[15,11],[13,13],[11,14],[8,14],[6,13],[4,11],[3,8],[3,6],[4,3],[6,1],[8,0],[11,0],[13,1],[15,3]]},b:{width:19,points:[[4,21],[4,0],[-1,-1],[4,11],[6,13],[8,14],[11,14],[13,13],[15,11],[16,8],[16,6],[15,3],[13,1],[11,0],[8,0],[6,1],[4,3]]},c:{width:18,points:[[15,11],[13,13],[11,14],[8,14],[6,13],[4,11],[3,8],[3,6],[4,3],[6,1],[8,0],[11,0],[13,1],[15,3]]},d:{width:19,points:[[15,21],[15,0],[-1,-1],[15,11],[13,13],[11,14],[8,14],[6,13],[4,11],[3,8],[3,6],[4,3],[6,1],[8,0],[11,0],[13,1],[15,3]]},e:{width:18,points:[[3,8],[15,8],[15,10],[14,12],[13,13],[11,14],[8,14],[6,13],[4,11],[3,8],[3,6],[4,3],[6,1],[8,0],[11,0],[13,1],[15,3]]},f:{width:12,points:[[10,21],[8,21],[6,20],[5,17],[5,0],[-1,-1],[2,14],[9,14]]},g:{width:19,points:[[15,14],[15,-2],[14,-5],[13,-6],[11,-7],[8,-7],[6,-6],[-1,-1],[15,11],[13,13],[11,14],[8,14],[6,13],[4,11],[3,8],[3,6],[4,3],[6,1],[8,0],[11,0],[13,1],[15,3]]},h:{width:19,points:[[4,21],[4,0],[-1,-1],[4,10],[7,13],[9,14],[12,14],[14,13],[15,10],[15,0]]},i:{width:8,points:[[3,21],[4,20],[5,21],[4,22],[3,21],[-1,-1],[4,14],[4,0]]},j:{width:10,points:[[5,21],[6,20],[7,21],[6,22],[5,21],[-1,-1],[6,14],[6,-3],[5,-6],[3,-7],[1,-7]]},k:{width:17,points:[[4,21],[4,0],[-1,-1],[14,14],[4,4],[-1,-1],[8,8],[15,0]]},l:{width:8,points:[[4,21],[4,0]]},m:{width:30,points:[[4,14],[4,0],[-1,-1],[4,10],[7,13],[9,14],[12,14],[14,13],[15,10],[15,0],[-1,-1],[15,10],[18,13],[20,14],[23,14],[25,13],[26,10],[26,0]]},n:{width:19,points:[[4,14],[4,0],[-1,-1],[4,10],[7,13],[9,14],[12,14],[14,13],[15,10],[15,0]]},o:{width:19,points:[[8,14],[6,13],[4,11],[3,8],[3,6],[4,3],[6,1],[8,0],[11,0],[13,1],[15,3],[16,6],[16,8],[15,11],[13,13],[11,14],[8,14]]},p:{width:19,points:[[4,14],[4,-7],[-1,-1],[4,11],[6,13],[8,14],[11,14],[13,13],[15,11],[16,8],[16,6],[15,3],[13,1],[11,0],[8,0],[6,1],[4,3]]},q:{width:19,points:[[15,14],[15,-7],[-1,-1],[15,11],[13,13],[11,14],[8,14],[6,13],[4,11],[3,8],[3,6],[4,3],[6,1],[8,0],[11,0],[13,1],[15,3]]},r:{width:13,points:[[4,14],[4,0],[-1,-1],[4,8],[5,11],[7,13],[9,14],[12,14]]},s:{width:17,points:[[14,11],[13,13],[10,14],[7,14],[4,13],[3,11],[4,9],[6,8],[11,7],[13,6],[14,4],[14,3],[13,1],[10,0],[7,0],[4,1],[3,3]]},t:{width:12,points:[[5,21],[5,4],[6,1],[8,0],[10,0],[-1,-1],[2,14],[9,14]]},u:{width:19,points:[[4,14],[4,4],[5,1],[7,0],[10,0],[12,1],[15,4],[-1,-1],[15,14],[15,0]]},v:{width:16,points:[[2,14],[8,0],[-1,-1],[14,14],[8,0]]},w:{width:22,points:[[3,14],[7,0],[-1,-1],[11,14],[7,0],[-1,-1],[11,14],[15,0],[-1,-1],[19,14],[15,0]]},x:{width:17,points:[[3,14],[14,0],[-1,-1],[14,14],[3,0]]},y:{width:16,points:[[2,14],[8,0],[-1,-1],[14,14],[8,0],[6,-4],[4,-6],[2,-7],[1,-7]]},z:{width:17,points:[[14,14],[3,0],[-1,-1],[3,14],[14,14],[-1,-1],[3,0],[14,0]]},"{":{width:14,points:[[9,25],[7,24],[6,23],[5,21],[5,19],[6,17],[7,16],[8,14],[8,12],[6,10],[-1,-1],[7,24],[6,22],[6,20],[7,18],[8,17],[9,15],[9,13],[8,11],[4,9],[8,7],[9,5],[9,3],[8,1],[7,0],[6,-2],[6,-4],[7,-6],[-1,-1],[6,8],[8,6],[8,4],[7,2],[6,1],[5,-1],[5,-3],[6,-5],[7,-6],[9,-7]]},"|":{width:8,points:[[4,25],[4,-7]]},"}":{width:14,points:[[5,25],[7,24],[8,23],[9,21],[9,19],[8,17],[7,16],[6,14],[6,12],[8,10],[-1,-1],[7,24],[8,22],[8,20],[7,18],[6,17],[5,15],[5,13],[6,11],[10,9],[6,7],[5,5],[5,3],[6,1],[7,0],[8,-2],[8,-4],[7,-6],[-1,-1],[8,8],[6,6],[6,4],[7,2],[8,1],[9,-1],[9,-3],[8,-5],[7,-6],[5,-7]]},"~":{width:24,points:[[3,6],[3,8],[4,11],[6,12],[8,12],[10,11],[14,8],[16,7],[18,7],[20,8],[21,10],[-1,-1],[3,8],[4,10],[6,11],[8,11],[10,10],[14,7],[16,6],[18,6],[20,7],[21,10],[21,12]]}};function na(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.origin||[0,0,0],n=t[0],r=t[1],i=t[2],a=e.size||1,s=[],o=[],l=e.text;le.isNumeric(l)&&(l=""+l);for(var u,c,f,p,A,d,v,h,I,y=(l||"").split("\n"),m=0,w=0,g=.04,E=0;E1&&void 0!==arguments[1]?arguments[1]:{};return b(this,n),(r=t.call(this,e,i))._state=new Wt({active:!0,pos:$.vec3(),dir:$.vec3(),dist:0}),r.active=i.active,r.pos=i.pos,r.dir=i.dir,r.scene._sectionPlaneCreated(g(r)),r}return P(n,[{key:"type",get:function(){return"SectionPlane"}},{key:"active",get:function(){return this._state.active},set:function(e){this._state.active=!1!==e,this.glRedraw(),this.fire("active",this._state.active)}},{key:"pos",get:function(){return this._state.pos},set:function(e){this._state.pos.set(e||[0,0,0]),this._state.dist=-$.dotVec3(this._state.pos,this._state.dir),this.fire("pos",this._state.pos),this.scene.fire("sectionPlaneUpdated",this)}},{key:"dir",get:function(){return this._state.dir},set:function(e){this._state.dir.set(e||[0,0,-1]),this._state.dist=-$.dotVec3(this._state.pos,this._state.dir),this.glRedraw(),this.fire("dir",this._state.dir),this.scene.fire("sectionPlaneUpdated",this)}},{key:"dist",get:function(){return this._state.dist}},{key:"flipDir",value:function(){var e=this._state.dir;e[0]*=-1,e[1]*=-1,e[2]*=-1,this._state.dist=-$.dotVec3(this._state.pos,this._state.dir),this.fire("dir",this._state.dir),this.glRedraw()}},{key:"destroy",value:function(){this._state.destroy(),this.scene._sectionPlaneDestroyed(this),v(E(n.prototype),"destroy",this).call(this)}}]),n}(),aa=$.vec4(4),sa=$.vec4(),oa=$.vec4(),la=$.vec3([1,0,0]),ua=$.vec3([0,1,0]),ca=$.vec3([0,0,1]),fa=$.vec3(3),pa=$.vec3(3),Aa=$.identityMat4(),da=function(e){I(n,ye);var t=m(n);function n(e){var r,i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(b(this,n),(r=t.call(this,e,i))._parentNode=null,r._children=[],r._aabb=null,r._aabbDirty=!0,r.scene._aabbDirty=!0,r._numTriangles=0,r._scale=$.vec3(),r._quaternion=$.identityQuaternion(),r._rotation=$.vec3(),r._position=$.vec3(),r._offset=$.vec3(),r._localMatrix=$.identityMat4(),r._worldMatrix=$.identityMat4(),r._localMatrixDirty=!0,r._worldMatrixDirty=!0,i.matrix?r.matrix=i.matrix:(r.scale=i.scale,r.position=i.position,i.quaternion||(r.rotation=i.rotation)),r._isModel=i.isModel,r._isModel&&r.scene._registerModel(g(r)),r._isObject=i.isObject,r._isObject&&r.scene._registerObject(g(r)),r.origin=i.origin,r.visible=i.visible,r.culled=i.culled,r.pickable=i.pickable,r.clippable=i.clippable,r.collidable=i.collidable,r.castsShadow=i.castsShadow,r.receivesShadow=i.receivesShadow,r.xrayed=i.xrayed,r.highlighted=i.highlighted,r.selected=i.selected,r.edges=i.edges,r.colorize=i.colorize,r.opacity=i.opacity,r.offset=i.offset,i.children)for(var a=i.children,s=0,o=a.length;s1&&void 0!==arguments[1]?arguments[1]:{};return b(this,n),(r=t.call(this,e,i))._state=new Wt({type:"LambertMaterial",ambient:$.vec3([1,1,1]),color:$.vec3([1,1,1]),emissive:$.vec3([0,0,0]),alpha:null,alphaMode:0,lineWidth:null,pointSize:null,backfaces:null,frontface:null,hash:"/lam;"}),r.ambient=i.ambient,r.color=i.color,r.emissive=i.emissive,r.alpha=i.alpha,r.lineWidth=i.lineWidth,r.pointSize=i.pointSize,r.backfaces=i.backfaces,r.frontface=i.frontface,r}return P(n,[{key:"type",get:function(){return"LambertMaterial"}},{key:"ambient",get:function(){return this._state.ambient},set:function(e){var t=this._state.ambient;if(t){if(e&&t[0]===e[0]&&t[1]===e[1]&&t[2]===e[2])return}else t=this._state.ambient=new Float32Array(3);e?(t[0]=e[0],t[1]=e[1],t[2]=e[2]):(t[0]=.2,t[1]=.2,t[2]=.2),this.glRedraw()}},{key:"color",get:function(){return this._state.color},set:function(e){var t=this._state.color;if(t){if(e&&t[0]===e[0]&&t[1]===e[1]&&t[2]===e[2])return}else t=this._state.color=new Float32Array(3);e?(t[0]=e[0],t[1]=e[1],t[2]=e[2]):(t[0]=1,t[1]=1,t[2]=1),this.glRedraw()}},{key:"emissive",get:function(){return this._state.emissive},set:function(e){var t=this._state.emissive;if(t){if(e&&t[0]===e[0]&&t[1]===e[1]&&t[2]===e[2])return}else t=this._state.emissive=new Float32Array(3);e?(t[0]=e[0],t[1]=e[1],t[2]=e[2]):(t[0]=0,t[1]=0,t[2]=0),this.glRedraw()}},{key:"alpha",get:function(){return this._state.alpha},set:function(e){e=null!=e?e:1,this._state.alpha!==e&&(this._state.alpha=e,this._state.alphaMode=e<1?2:0,this.glRedraw())}},{key:"lineWidth",get:function(){return this._state.lineWidth},set:function(e){this._state.lineWidth=e||1,this.glRedraw()}},{key:"pointSize",get:function(){return this._state.pointSize},set:function(e){this._state.pointSize=e||1,this.glRedraw()}},{key:"backfaces",get:function(){return this._state.backfaces},set:function(e){e=!!e,this._state.backfaces!==e&&(this._state.backfaces=e,this.glRedraw())}},{key:"frontface",get:function(){return this._state.frontface?"ccw":"cw"},set:function(e){e="cw"!==e,this._state.frontface!==e&&(this._state.frontface=e,this.glRedraw())}},{key:"_getState",value:function(){return this._state}},{key:"destroy",value:function(){v(E(n.prototype),"destroy",this).call(this),this._state.destroy()}}]),n}(),ha={opaque:0,mask:1,blend:2},Ia=["opaque","mask","blend"],ya=function(e){I(n,Bn);var t=m(n);function n(e){var r,i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return b(this,n),(r=t.call(this,e,i))._state=new Wt({type:"MetallicMaterial",baseColor:$.vec4([1,1,1]),emissive:$.vec4([0,0,0]),metallic:null,roughness:null,specularF0:null,alpha:null,alphaMode:null,alphaCutoff:null,lineWidth:null,pointSize:null,backfaces:null,frontface:null,hash:null}),r.baseColor=i.baseColor,r.metallic=i.metallic,r.roughness=i.roughness,r.specularF0=i.specularF0,r.emissive=i.emissive,r.alpha=i.alpha,i.baseColorMap&&(r._baseColorMap=r._checkComponent("Texture",i.baseColorMap)),i.metallicMap&&(r._metallicMap=r._checkComponent("Texture",i.metallicMap)),i.roughnessMap&&(r._roughnessMap=r._checkComponent("Texture",i.roughnessMap)),i.metallicRoughnessMap&&(r._metallicRoughnessMap=r._checkComponent("Texture",i.metallicRoughnessMap)),i.emissiveMap&&(r._emissiveMap=r._checkComponent("Texture",i.emissiveMap)),i.occlusionMap&&(r._occlusionMap=r._checkComponent("Texture",i.occlusionMap)),i.alphaMap&&(r._alphaMap=r._checkComponent("Texture",i.alphaMap)),i.normalMap&&(r._normalMap=r._checkComponent("Texture",i.normalMap)),r.alphaMode=i.alphaMode,r.alphaCutoff=i.alphaCutoff,r.backfaces=i.backfaces,r.frontface=i.frontface,r.lineWidth=i.lineWidth,r.pointSize=i.pointSize,r._makeHash(),r}return P(n,[{key:"type",get:function(){return"MetallicMaterial"}},{key:"_makeHash",value:function(){var e=this._state,t=["/met"];this._baseColorMap&&(t.push("/bm"),this._baseColorMap._state.hasMatrix&&t.push("/mat"),t.push("/"+this._baseColorMap._state.encoding)),this._metallicMap&&(t.push("/mm"),this._metallicMap._state.hasMatrix&&t.push("/mat")),this._roughnessMap&&(t.push("/rm"),this._roughnessMap._state.hasMatrix&&t.push("/mat")),this._metallicRoughnessMap&&(t.push("/mrm"),this._metallicRoughnessMap._state.hasMatrix&&t.push("/mat")),this._emissiveMap&&(t.push("/em"),this._emissiveMap._state.hasMatrix&&t.push("/mat")),this._occlusionMap&&(t.push("/ocm"),this._occlusionMap._state.hasMatrix&&t.push("/mat")),this._alphaMap&&(t.push("/am"),this._alphaMap._state.hasMatrix&&t.push("/mat")),this._normalMap&&(t.push("/nm"),this._normalMap._state.hasMatrix&&t.push("/mat")),t.push(";"),e.hash=t.join("")}},{key:"baseColor",get:function(){return this._state.baseColor},set:function(e){var t=this._state.baseColor;if(t){if(e&&t[0]===e[0]&&t[1]===e[1]&&t[2]===e[2])return}else t=this._state.baseColor=new Float32Array(3);e?(t[0]=e[0],t[1]=e[1],t[2]=e[2]):(t[0]=1,t[1]=1,t[2]=1),this.glRedraw()}},{key:"baseColorMap",get:function(){return this._baseColorMap}},{key:"metallic",get:function(){return this._state.metallic},set:function(e){e=null!=e?e:1,this._state.metallic!==e&&(this._state.metallic=e,this.glRedraw())}},{key:"metallicMap",get:function(){return this._attached.metallicMap}},{key:"roughness",get:function(){return this._state.roughness},set:function(e){e=null!=e?e:1,this._state.roughness!==e&&(this._state.roughness=e,this.glRedraw())}},{key:"roughnessMap",get:function(){return this._attached.roughnessMap}},{key:"metallicRoughnessMap",get:function(){return this._attached.metallicRoughnessMap}},{key:"specularF0",get:function(){return this._state.specularF0},set:function(e){e=null!=e?e:0,this._state.specularF0!==e&&(this._state.specularF0=e,this.glRedraw())}},{key:"emissive",get:function(){return this._state.emissive},set:function(e){var t=this._state.emissive;if(t){if(e&&t[0]===e[0]&&t[1]===e[1]&&t[2]===e[2])return}else t=this._state.emissive=new Float32Array(3);e?(t[0]=e[0],t[1]=e[1],t[2]=e[2]):(t[0]=0,t[1]=0,t[2]=0),this.glRedraw()}},{key:"emissiveMap",get:function(){return this._attached.emissiveMap}},{key:"occlusionMap",get:function(){return this._attached.occlusionMap}},{key:"alpha",get:function(){return this._state.alpha},set:function(e){e=null!=e?e:1,this._state.alpha!==e&&(this._state.alpha=e,this.glRedraw())}},{key:"alphaMap",get:function(){return this._attached.alphaMap}},{key:"normalMap",get:function(){return this._attached.normalMap}},{key:"alphaMode",get:function(){return Ia[this._state.alphaMode]},set:function(e){var t=ha[e=e||"opaque"];void 0===t&&(this.error("Unsupported value for 'alphaMode': "+e+" defaulting to 'opaque'"),t="opaque"),this._state.alphaMode!==t&&(this._state.alphaMode=t,this.glRedraw())}},{key:"alphaCutoff",get:function(){return this._state.alphaCutoff},set:function(e){null==e&&(e=.5),this._state.alphaCutoff!==e&&(this._state.alphaCutoff=e)}},{key:"backfaces",get:function(){return this._state.backfaces},set:function(e){e=!!e,this._state.backfaces!==e&&(this._state.backfaces=e,this.glRedraw())}},{key:"frontface",get:function(){return this._state.frontface?"ccw":"cw"},set:function(e){e="cw"!==e,this._state.frontface!==e&&(this._state.frontface=e,this.glRedraw())}},{key:"lineWidth",get:function(){return this._state.lineWidth},set:function(e){this._state.lineWidth=e||1,this.glRedraw()}},{key:"pointSize",get:function(){return this._state.pointSize},set:function(e){this._state.pointSize=e||1,this.glRedraw()}},{key:"destroy",value:function(){v(E(n.prototype),"destroy",this).call(this),this._state.destroy()}}]),n}(),ma={opaque:0,mask:1,blend:2},wa=["opaque","mask","blend"],ga=function(e){I(n,Bn);var t=m(n);function n(e){var r,i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return b(this,n),(r=t.call(this,e,i))._state=new Wt({type:"SpecularMaterial",diffuse:$.vec3([1,1,1]),emissive:$.vec3([0,0,0]),specular:$.vec3([1,1,1]),glossiness:null,specularF0:null,alpha:null,alphaMode:null,alphaCutoff:null,lineWidth:null,pointSize:null,backfaces:null,frontface:null,hash:null}),r.diffuse=i.diffuse,r.specular=i.specular,r.glossiness=i.glossiness,r.specularF0=i.specularF0,r.emissive=i.emissive,r.alpha=i.alpha,i.diffuseMap&&(r._diffuseMap=r._checkComponent("Texture",i.diffuseMap)),i.emissiveMap&&(r._emissiveMap=r._checkComponent("Texture",i.emissiveMap)),i.specularMap&&(r._specularMap=r._checkComponent("Texture",i.specularMap)),i.glossinessMap&&(r._glossinessMap=r._checkComponent("Texture",i.glossinessMap)),i.specularGlossinessMap&&(r._specularGlossinessMap=r._checkComponent("Texture",i.specularGlossinessMap)),i.occlusionMap&&(r._occlusionMap=r._checkComponent("Texture",i.occlusionMap)),i.alphaMap&&(r._alphaMap=r._checkComponent("Texture",i.alphaMap)),i.normalMap&&(r._normalMap=r._checkComponent("Texture",i.normalMap)),r.alphaMode=i.alphaMode,r.alphaCutoff=i.alphaCutoff,r.backfaces=i.backfaces,r.frontface=i.frontface,r.lineWidth=i.lineWidth,r.pointSize=i.pointSize,r._makeHash(),r}return P(n,[{key:"type",get:function(){return"SpecularMaterial"}},{key:"_makeHash",value:function(){var e=this._state,t=["/spe"];this._diffuseMap&&(t.push("/dm"),this._diffuseMap.hasMatrix&&t.push("/mat"),t.push("/"+this._diffuseMap.encoding)),this._emissiveMap&&(t.push("/em"),this._emissiveMap.hasMatrix&&t.push("/mat")),this._glossinessMap&&(t.push("/gm"),this._glossinessMap.hasMatrix&&t.push("/mat")),this._specularMap&&(t.push("/sm"),this._specularMap.hasMatrix&&t.push("/mat")),this._specularGlossinessMap&&(t.push("/sgm"),this._specularGlossinessMap.hasMatrix&&t.push("/mat")),this._occlusionMap&&(t.push("/ocm"),this._occlusionMap.hasMatrix&&t.push("/mat")),this._normalMap&&(t.push("/nm"),this._normalMap.hasMatrix&&t.push("/mat")),this._alphaMap&&(t.push("/opm"),this._alphaMap.hasMatrix&&t.push("/mat")),t.push(";"),e.hash=t.join("")}},{key:"diffuse",get:function(){return this._state.diffuse},set:function(e){var t=this._state.diffuse;if(t){if(e&&t[0]===e[0]&&t[1]===e[1]&&t[2]===e[2])return}else t=this._state.diffuse=new Float32Array(3);e?(t[0]=e[0],t[1]=e[1],t[2]=e[2]):(t[0]=1,t[1]=1,t[2]=1),this.glRedraw()}},{key:"diffuseMap",get:function(){return this._diffuseMap}},{key:"specular",get:function(){return this._state.specular},set:function(e){var t=this._state.specular;if(t){if(e&&t[0]===e[0]&&t[1]===e[1]&&t[2]===e[2])return}else t=this._state.specular=new Float32Array(3);e?(t[0]=e[0],t[1]=e[1],t[2]=e[2]):(t[0]=1,t[1]=1,t[2]=1),this.glRedraw()}},{key:"specularMap",get:function(){return this._specularMap}},{key:"specularGlossinessMap",get:function(){return this._specularGlossinessMap}},{key:"glossiness",get:function(){return this._state.glossiness},set:function(e){e=null!=e?e:1,this._state.glossiness!==e&&(this._state.glossiness=e,this.glRedraw())}},{key:"glossinessMap",get:function(){return this._glossinessMap}},{key:"specularF0",get:function(){return this._state.specularF0},set:function(e){e=null!=e?e:0,this._state.specularF0!==e&&(this._state.specularF0=e,this.glRedraw())}},{key:"emissive",get:function(){return this._state.emissive},set:function(e){var t=this._state.emissive;if(t){if(e&&t[0]===e[0]&&t[1]===e[1]&&t[2]===e[2])return}else t=this._state.emissive=new Float32Array(3);e?(t[0]=e[0],t[1]=e[1],t[2]=e[2]):(t[0]=0,t[1]=0,t[2]=0),this.glRedraw()}},{key:"emissiveMap",get:function(){return this._emissiveMap}},{key:"alpha",get:function(){return this._state.alpha},set:function(e){e=null!=e?e:1,this._state.alpha!==e&&(this._state.alpha=e,this.glRedraw())}},{key:"alphaMap",get:function(){return this._alphaMap}},{key:"normalMap",get:function(){return this._normalMap}},{key:"occlusionMap",get:function(){return this._occlusionMap}},{key:"alphaMode",get:function(){return wa[this._state.alphaMode]},set:function(e){var t=ma[e=e||"opaque"];void 0===t&&(this.error("Unsupported value for 'alphaMode': "+e+" defaulting to 'opaque'"),t="opaque"),this._state.alphaMode!==t&&(this._state.alphaMode=t,this.glRedraw())}},{key:"alphaCutoff",get:function(){return this._state.alphaCutoff},set:function(e){null==e&&(e=.5),this._state.alphaCutoff!==e&&(this._state.alphaCutoff=e)}},{key:"backfaces",get:function(){return this._state.backfaces},set:function(e){e=!!e,this._state.backfaces!==e&&(this._state.backfaces=e,this.glRedraw())}},{key:"frontface",get:function(){return this._state.frontface?"ccw":"cw"},set:function(e){e="cw"!==e,this._state.frontface!==e&&(this._state.frontface=e,this.glRedraw())}},{key:"lineWidth",get:function(){return this._state.lineWidth},set:function(e){this._state.lineWidth=e||1,this.glRedraw()}},{key:"pointSize",get:function(){return this._state.pointSize},set:function(e){this._state.pointSize=e||1,this.glRedraw()}},{key:"destroy",value:function(){v(E(n.prototype),"destroy",this).call(this),this._state.destroy()}}]),n}();function Ea(e,t){var n,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null,i=t;if(1009===i)return e.UNSIGNED_BYTE;if(1017===i)return e.UNSIGNED_SHORT_4_4_4_4;if(1018===i)return e.UNSIGNED_SHORT_5_5_5_1;if(1010===i)return e.BYTE;if(1011===i)return e.SHORT;if(1012===i)return e.UNSIGNED_SHORT;if(1013===i)return e.INT;if(1014===i)return e.UNSIGNED_INT;if(1015===i)return e.FLOAT;if(1016===i)return e.HALF_FLOAT;if(1021===i)return e.ALPHA;if(1023===i)return e.RGBA;if(1024===i)return e.LUMINANCE;if(1025===i)return e.LUMINANCE_ALPHA;if(1026===i)return e.DEPTH_COMPONENT;if(1027===i)return e.DEPTH_STENCIL;if(1028===i)return e.RED;if(1022===i)return e.RGBA;if(1029===i)return e.RED_INTEGER;if(1030===i)return e.RG;if(1031===i)return e.RG_INTEGER;if(1033===i)return e.RGBA_INTEGER;if(33776===i||33777===i||33778===i||33779===i)if(3001===r){var a=kt(e,"WEBGL_compressed_texture_s3tc_srgb");if(null===a)return null;if(33776===i)return a.COMPRESSED_SRGB_S3TC_DXT1_EXT;if(33777===i)return a.COMPRESSED_SRGB_ALPHA_S3TC_DXT1_EXT;if(33778===i)return a.COMPRESSED_SRGB_ALPHA_S3TC_DXT3_EXT;if(33779===i)return a.COMPRESSED_SRGB_ALPHA_S3TC_DXT5_EXT}else{if(null===(n=kt(e,"WEBGL_compressed_texture_s3tc")))return null;if(33776===i)return n.COMPRESSED_RGB_S3TC_DXT1_EXT;if(33777===i)return n.COMPRESSED_RGBA_S3TC_DXT1_EXT;if(33778===i)return n.COMPRESSED_RGBA_S3TC_DXT3_EXT;if(33779===i)return n.COMPRESSED_RGBA_S3TC_DXT5_EXT}if(35840===i||35841===i||35842===i||35843===i){var s=kt(e,"WEBGL_compressed_texture_pvrtc");if(null===s)return null;if(35840===i)return s.COMPRESSED_RGB_PVRTC_4BPPV1_IMG;if(35841===i)return s.COMPRESSED_RGB_PVRTC_2BPPV1_IMG;if(35842===i)return s.COMPRESSED_RGBA_PVRTC_4BPPV1_IMG;if(35843===i)return s.COMPRESSED_RGBA_PVRTC_2BPPV1_IMG}if(36196===i){var o=kt(e,"WEBGL_compressed_texture_etc1");return null!==o?o.COMPRESSED_RGB_ETC1_WEBGL:null}if(37492===i||37496===i){var l=kt(e,"WEBGL_compressed_texture_etc");if(null===l)return null;if(37492===i)return 3001===r?l.COMPRESSED_SRGB8_ETC2:l.COMPRESSED_RGB8_ETC2;if(37496===i)return 3001===r?l.COMPRESSED_SRGB8_ALPHA8_ETC2_EAC:l.COMPRESSED_RGBA8_ETC2_EAC}if(37808===i||37809===i||37810===i||37811===i||37812===i||37813===i||37814===i||37815===i||37816===i||37817===i||37818===i||37819===i||37820===i||37821===i){var u=kt(e,"WEBGL_compressed_texture_astc");if(null===u)return null;if(37808===i)return 3001===r?u.COMPRESSED_SRGB8_ALPHA8_ASTC_4x4_KHR:u.COMPRESSED_RGBA_ASTC_4x4_KHR;if(37809===i)return 3001===r?u.COMPRESSED_SRGB8_ALPHA8_ASTC_5x4_KHR:u.COMPRESSED_RGBA_ASTC_5x4_KHR;if(37810===i)return 3001===r?u.COMPRESSED_SRGB8_ALPHA8_ASTC_5x5_KHR:u.COMPRESSED_RGBA_ASTC_5x5_KHR;if(37811===i)return 3001===r?u.COMPRESSED_SRGB8_ALPHA8_ASTC_6x5_KHR:u.COMPRESSED_RGBA_ASTC_6x5_KHR;if(37812===i)return 3001===r?u.COMPRESSED_SRGB8_ALPHA8_ASTC_6x6_KHR:u.COMPRESSED_RGBA_ASTC_6x6_KHR;if(37813===i)return 3001===r?u.COMPRESSED_SRGB8_ALPHA8_ASTC_8x5_KHR:u.COMPRESSED_RGBA_ASTC_8x5_KHR;if(37814===i)return 3001===r?u.COMPRESSED_SRGB8_ALPHA8_ASTC_8x6_KHR:u.COMPRESSED_RGBA_ASTC_8x6_KHR;if(37815===i)return 3001===r?u.COMPRESSED_SRGB8_ALPHA8_ASTC_8x8_KHR:u.COMPRESSED_RGBA_ASTC_8x8_KHR;if(37816===i)return 3001===r?u.COMPRESSED_SRGB8_ALPHA8_ASTC_10x5_KHR:u.COMPRESSED_RGBA_ASTC_10x5_KHR;if(37817===i)return 3001===r?u.COMPRESSED_SRGB8_ALPHA8_ASTC_10x6_KHR:u.COMPRESSED_RGBA_ASTC_10x6_KHR;if(37818===i)return 3001===r?u.COMPRESSED_SRGB8_ALPHA8_ASTC_10x8_KHR:u.COMPRESSED_RGBA_ASTC_10x8_KHR;if(37819===i)return 3001===r?u.COMPRESSED_SRGB8_ALPHA8_ASTC_10x10_KHR:u.COMPRESSED_RGBA_ASTC_10x10_KHR;if(37820===i)return 3001===r?u.COMPRESSED_SRGB8_ALPHA8_ASTC_12x10_KHR:u.COMPRESSED_RGBA_ASTC_12x10_KHR;if(37821===i)return 3001===r?u.COMPRESSED_SRGB8_ALPHA8_ASTC_12x12_KHR:u.COMPRESSED_RGBA_ASTC_12x12_KHR}if(36492===i){var c=kt(e,"EXT_texture_compression_bptc");if(null===c)return null;if(36492===i)return 3001===r?c.COMPRESSED_SRGB_ALPHA_BPTC_UNORM_EXT:c.COMPRESSED_RGBA_BPTC_UNORM_EXT}return 1020===i?e.UNSIGNED_INT_24_8:1e3===i?e.REPEAT:1001===i?e.CLAMP_TO_EDGE:1004===i||1005===i?e.NEAREST_MIPMAP_LINEAR:1007===i?e.LINEAR_MIPMAP_NEAREST:1008===i?e.LINEAR_MIPMAP_LINEAR:1003===i?e.NEAREST:1006===i?e.LINEAR:null}var Ta=new Uint8Array([0,0,0,1]),ba=function(){function e(t){var n=t.gl,r=t.target,i=t.format,a=t.type,s=t.wrapS,o=t.wrapT,l=t.wrapR,u=t.encoding,c=t.preloadColor,f=t.premultiplyAlpha,p=t.flipY;b(this,e),this.gl=n,this.target=r||n.TEXTURE_2D,this.format=i||1023,this.type=a||1009,this.internalFormat=null,this.premultiplyAlpha=!!f,this.flipY=!!p,this.unpackAlignment=4,this.wrapS=s||1e3,this.wrapT=o||1e3,this.wrapR=l||1e3,this.encoding=u||3001,this.texture=n.createTexture(),c&&this.setPreloadColor(c),this.allocated=!0}return P(e,[{key:"setPreloadColor",value:function(e){e?(Ta[0]=Math.floor(255*e[0]),Ta[1]=Math.floor(255*e[1]),Ta[2]=Math.floor(255*e[2]),Ta[3]=Math.floor(255*(void 0!==e[3]?e[3]:1))):(Ta[0]=0,Ta[1]=0,Ta[2]=0,Ta[3]=255);var t=this.gl;if(t.bindTexture(this.target,this.texture),this.target===t.TEXTURE_CUBE_MAP)for(var n=[t.TEXTURE_CUBE_MAP_POSITIVE_X,t.TEXTURE_CUBE_MAP_NEGATIVE_X,t.TEXTURE_CUBE_MAP_POSITIVE_Y,t.TEXTURE_CUBE_MAP_NEGATIVE_Y,t.TEXTURE_CUBE_MAP_POSITIVE_Z,t.TEXTURE_CUBE_MAP_NEGATIVE_Z],r=0,i=n.length;r1&&void 0!==arguments[1]?arguments[1]:{},n=this.gl;void 0!==t.format&&(this.format=t.format),void 0!==t.internalFormat&&(this.internalFormat=t.internalFormat),void 0!==t.encoding&&(this.encoding=t.encoding),void 0!==t.type&&(this.type=t.type),void 0!==t.flipY&&(this.flipY=t.flipY),void 0!==t.premultiplyAlpha&&(this.premultiplyAlpha=t.premultiplyAlpha),void 0!==t.unpackAlignment&&(this.unpackAlignment=t.unpackAlignment),void 0!==t.minFilter&&(this.minFilter=t.minFilter),void 0!==t.magFilter&&(this.magFilter=t.magFilter),void 0!==t.wrapS&&(this.wrapS=t.wrapS),void 0!==t.wrapT&&(this.wrapT=t.wrapT),void 0!==t.wrapR&&(this.wrapR=t.wrapR);var r=!1;n.bindTexture(this.target,this.texture);var i=n.getParameter(n.UNPACK_FLIP_Y_WEBGL);n.pixelStorei(n.UNPACK_FLIP_Y_WEBGL,this.flipY);var a=n.getParameter(n.UNPACK_PREMULTIPLY_ALPHA_WEBGL);n.pixelStorei(n.UNPACK_PREMULTIPLY_ALPHA_WEBGL,this.premultiplyAlpha);var s=n.getParameter(n.UNPACK_ALIGNMENT);n.pixelStorei(n.UNPACK_ALIGNMENT,this.unpackAlignment);var o=n.getParameter(n.UNPACK_COLORSPACE_CONVERSION_WEBGL);n.pixelStorei(n.UNPACK_COLORSPACE_CONVERSION_WEBGL,n.NONE);var l=Ea(n,this.minFilter);n.texParameteri(this.target,n.TEXTURE_MIN_FILTER,l),l!==n.NEAREST_MIPMAP_NEAREST&&l!==n.LINEAR_MIPMAP_NEAREST&&l!==n.NEAREST_MIPMAP_LINEAR&&l!==n.LINEAR_MIPMAP_LINEAR||(r=!0);var u=Ea(n,this.magFilter);u&&n.texParameteri(this.target,n.TEXTURE_MAG_FILTER,u);var c=Ea(n,this.wrapS);c&&n.texParameteri(this.target,n.TEXTURE_WRAP_S,c);var f=Ea(n,this.wrapT);f&&n.texParameteri(this.target,n.TEXTURE_WRAP_T,f);var p=Ea(n,this.format,this.encoding),A=Ea(n,this.type),d=Da(n,this.internalFormat,p,A,this.encoding,!1);if(this.target===n.TEXTURE_CUBE_MAP){if(le.isArray(e))for(var v=e,h=[n.TEXTURE_CUBE_MAP_POSITIVE_X,n.TEXTURE_CUBE_MAP_NEGATIVE_X,n.TEXTURE_CUBE_MAP_POSITIVE_Y,n.TEXTURE_CUBE_MAP_NEGATIVE_Y,n.TEXTURE_CUBE_MAP_POSITIVE_Z,n.TEXTURE_CUBE_MAP_NEGATIVE_Z],I=0,y=h.length;I1;i.pixelStorei(i.UNPACK_FLIP_Y_WEBGL,this.flipY),i.pixelStorei(i.UNPACK_PREMULTIPLY_ALPHA_WEBGL,this.premultiplyAlpha),i.pixelStorei(i.UNPACK_ALIGNMENT,this.unpackAlignment),i.pixelStorei(i.UNPACK_COLORSPACE_CONVERSION_WEBGL,i.NONE);var o=Ea(i,this.wrapS);o&&i.texParameteri(this.target,i.TEXTURE_WRAP_S,o);var l=Ea(i,this.wrapT);if(l&&i.texParameteri(this.target,i.TEXTURE_WRAP_T,l),this.type===i.TEXTURE_3D||this.type===i.TEXTURE_2D_ARRAY){var u=Ea(i,this.wrapR);u&&i.texParameteri(this.target,i.TEXTURE_WRAP_R,u),i.texParameteri(this.type,i.TEXTURE_WRAP_R,u)}s?(i.texParameteri(this.target,i.TEXTURE_MIN_FILTER,Pa(i,this.minFilter)),i.texParameteri(this.target,i.TEXTURE_MAG_FILTER,Pa(i,this.magFilter))):(i.texParameteri(this.target,i.TEXTURE_MIN_FILTER,Ea(i,this.minFilter)),i.texParameteri(this.target,i.TEXTURE_MAG_FILTER,Ea(i,this.magFilter)));var c=Ea(i,this.format,this.encoding),f=Ea(i,this.type),p=Da(i,this.internalFormat,c,f,this.encoding,!1);i.texStorage2D(i.TEXTURE_2D,a,p,t[0].width,t[0].height);for(var A=0,d=t.length;A5&&void 0!==arguments[5]&&arguments[5];if(null!==t){if(void 0!==e[t])return e[t];console.warn("Attempt to use non-existing WebGL internal format '"+t+"'")}var s=n;return n===e.RED&&(r===e.FLOAT&&(s=e.R32F),r===e.HALF_FLOAT&&(s=e.R16F),r===e.UNSIGNED_BYTE&&(s=e.R8)),n===e.RG&&(r===e.FLOAT&&(s=e.RG32F),r===e.HALF_FLOAT&&(s=e.RG16F),r===e.UNSIGNED_BYTE&&(s=e.RG8)),n===e.RGBA&&(r===e.FLOAT&&(s=e.RGBA32F),r===e.HALF_FLOAT&&(s=e.RGBA16F),r===e.UNSIGNED_BYTE&&(s=3001===i&&!1===a?e.SRGB8_ALPHA8:e.RGBA8),r===e.UNSIGNED_SHORT_4_4_4_4&&(s=e.RGBA4),r===e.UNSIGNED_SHORT_5_5_5_1&&(s=e.RGB5_A1)),s!==e.R16F&&s!==e.R32F&&s!==e.RG16F&&s!==e.RG32F&&s!==e.RGBA16F&&s!==e.RGBA32F||kt(e,"EXT_color_buffer_float"),s}function Pa(e,t){return 1003===t||1004===t||1005===t?e.NEAREST:e.LINEAR}function Ra(e){if(!Ca(e.width)||!Ca(e.height)){var t=document.createElement("canvas");t.width=_a(e.width),t.height=_a(e.height),t.getContext("2d").drawImage(e,0,0,e.width,e.height,0,0,t.width,t.height),e=t}return e}function Ca(e){return 0==(e&e-1)}function _a(e){--e;for(var t=1;t<32;t<<=1)e|=e>>t;return e+1}var Ba=function(e){I(n,ye);var t=m(n);function n(e){var r,i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return b(this,n),(r=t.call(this,e,i))._state=new Wt({texture:new ba({gl:r.scene.canvas.gl}),matrix:$.identityMat4(),hasMatrix:i.translate&&(0!==i.translate[0]||0!==i.translate[1])||!!i.rotate||i.scale&&(0!==i.scale[0]||0!==i.scale[1]),minFilter:r._checkMinFilter(i.minFilter),magFilter:r._checkMagFilter(i.magFilter),wrapS:r._checkWrapS(i.wrapS),wrapT:r._checkWrapT(i.wrapT),flipY:r._checkFlipY(i.flipY),encoding:r._checkEncoding(i.encoding)}),r._src=null,r._image=null,r._translate=$.vec2([0,0]),r._scale=$.vec2([1,1]),r._rotate=$.vec2([0,0]),r._matrixDirty=!1,r.translate=i.translate,r.scale=i.scale,r.rotate=i.rotate,i.src?r.src=i.src:i.image&&(r.image=i.image),re.memory.textures++,r}return P(n,[{key:"type",get:function(){return"Texture"}},{key:"_checkMinFilter",value:function(e){return 1006!==(e=e||1008)&&1007!==e&&1008!==e&&1005!==e&&1004!==e&&(this.error("Unsupported value for 'minFilter' - supported values are LinearFilter, LinearMipMapNearestFilter, NearestMipMapNearestFilter, NearestMipMapLinearFilter and LinearMipMapLinearFilter. Defaulting to LinearMipMapLinearFilter."),e=1008),e}},{key:"_checkMagFilter",value:function(e){return 1006!==(e=e||1006)&&1003!==e&&(this.error("Unsupported value for 'magFilter' - supported values are LinearFilter and NearestFilter. Defaulting to LinearFilter."),e=1006),e}},{key:"_checkWrapS",value:function(e){return 1001!==(e=e||1e3)&&1002!==e&&1e3!==e&&(this.error("Unsupported value for 'wrapS' - supported values are ClampToEdgeWrapping, MirroredRepeatWrapping and RepeatWrapping. Defaulting to RepeatWrapping."),e=1e3),e}},{key:"_checkWrapT",value:function(e){return 1001!==(e=e||1e3)&&1002!==e&&1e3!==e&&(this.error("Unsupported value for 'wrapT' - supported values are ClampToEdgeWrapping, MirroredRepeatWrapping and RepeatWrapping. Defaulting to RepeatWrapping."),e=1e3),e}},{key:"_checkFlipY",value:function(e){return!!e}},{key:"_checkEncoding",value:function(e){return 3e3!==(e=e||3e3)&&3001!==e&&(this.error("Unsupported value for 'encoding' - supported values are LinearEncoding and sRGBEncoding. Defaulting to LinearEncoding."),e=3e3),e}},{key:"_webglContextRestored",value:function(){this._state.texture=new ba({gl:this.scene.canvas.gl}),this._image?this.image=this._image:this._src&&(this.src=this._src)}},{key:"_update",value:function(){var e,t,n=this._state;this._matrixDirty&&(0===this._translate[0]&&0===this._translate[1]||(e=$.translationMat4v([this._translate[0],this._translate[1],0],this._state.matrix)),1===this._scale[0]&&1===this._scale[1]||(t=$.scalingMat4v([this._scale[0],this._scale[1],1]),e=e?$.mulMat4(e,t):t),0!==this._rotate&&(t=$.rotationMat4v(.0174532925*this._rotate,[0,0,1]),e=e?$.mulMat4(e,t):t),e&&(n.matrix=e),this._matrixDirty=!1);this.glRedraw()}},{key:"image",get:function(){return this._image},set:function(e){this._image=Ra(e),this._image.crossOrigin="Anonymous",this._state.texture.setImage(this._image,this._state),this._src=null,this.glRedraw()}},{key:"src",get:function(){return this._src},set:function(e){this.scene.loading++,this.scene.canvas.spinner.processes++;var t=this,n=new Image;n.onload=function(){n=Ra(n),t._state.texture.setImage(n,t._state),t.scene.loading--,t.glRedraw(),t.scene.canvas.spinner.processes--},n.src=e,this._src=e,this._image=null}},{key:"translate",get:function(){return this._translate},set:function(e){this._translate.set(e||[0,0]),this._matrixDirty=!0,this._needUpdate()}},{key:"scale",get:function(){return this._scale},set:function(e){this._scale.set(e||[1,1]),this._matrixDirty=!0,this._needUpdate()}},{key:"rotate",get:function(){return this._rotate},set:function(e){e=e||0,this._rotate!==e&&(this._rotate=e,this._matrixDirty=!0,this._needUpdate())}},{key:"minFilter",get:function(){return this._state.minFilter}},{key:"magFilter",get:function(){return this._state.magFilter}},{key:"wrapS",get:function(){return this._state.wrapS}},{key:"wrapT",get:function(){return this._state.wrapT}},{key:"flipY",get:function(){return this._state.flipY}},{key:"encoding",get:function(){return this._state.encoding}},{key:"destroy",value:function(){v(E(n.prototype),"destroy",this).call(this),this._state.texture&&this._state.texture.destroy(),this._state.destroy(),re.memory.textures--}}]),n}(),Oa=function(e){I(n,ye);var t=m(n);function n(e){var r,i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return b(this,n),(r=t.call(this,e,i))._state=new Wt({edgeColor:$.vec3([0,0,0]),centerColor:$.vec3([1,1,1]),edgeBias:0,centerBias:1,power:1}),r.edgeColor=i.edgeColor,r.centerColor=i.centerColor,r.edgeBias=i.edgeBias,r.centerBias=i.centerBias,r.power=i.power,r}return P(n,[{key:"type",get:function(){return"Fresnel"}},{key:"edgeColor",get:function(){return this._state.edgeColor},set:function(e){this._state.edgeColor.set(e||[0,0,0]),this.glRedraw()}},{key:"centerColor",get:function(){return this._state.centerColor},set:function(e){this._state.centerColor.set(e||[1,1,1]),this.glRedraw()}},{key:"edgeBias",get:function(){return this._state.edgeBias},set:function(e){this._state.edgeBias=e||0,this.glRedraw()}},{key:"centerBias",get:function(){return this._state.centerBias},set:function(e){this._state.centerBias=null!=e?e:1,this.glRedraw()}},{key:"power",get:function(){return this._state.power},set:function(e){this._state.power=null!=e?e:1,this.glRedraw()}},{key:"destroy",value:function(){v(E(n.prototype),"destroy",this).call(this),this._state.destroy()}}]),n}(),Sa=re.memory,Na=$.AABB3(),La=function(e){I(n,In);var t=m(n);function n(e){var r,i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};b(this,n),(r=t.call(this,e,i))._state=new Wt({compressGeometry:!0,primitive:null,primitiveName:null,positionsDecodeMatrix:null,uvDecodeMatrix:null,positionsBuf:null,normalsBuf:null,colorsbuf:null,uvBuf:null,indicesBuf:null,hash:""}),r._numTriangles=0,r._edgeThreshold=i.edgeThreshold||10,r._aabb=null,r._obb=$.OBB3();var a,s=r._state,o=r.scene.canvas.gl;switch(i.primitive=i.primitive||"triangles",i.primitive){case"points":s.primitive=o.POINTS,s.primitiveName=i.primitive;break;case"lines":s.primitive=o.LINES,s.primitiveName=i.primitive;break;case"line-loop":s.primitive=o.LINE_LOOP,s.primitiveName=i.primitive;break;case"line-strip":s.primitive=o.LINE_STRIP,s.primitiveName=i.primitive;break;case"triangles":s.primitive=o.TRIANGLES,s.primitiveName=i.primitive;break;case"triangle-strip":s.primitive=o.TRIANGLE_STRIP,s.primitiveName=i.primitive;break;case"triangle-fan":s.primitive=o.TRIANGLE_FAN,s.primitiveName=i.primitive;break;default:r.error("Unsupported value for 'primitive': '"+i.primitive+"' - supported values are 'points', 'lines', 'line-loop', 'line-strip', 'triangles', 'triangle-strip' and 'triangle-fan'. Defaulting to 'triangles'."),s.primitive=o.TRIANGLES,s.primitiveName=i.primitive}if(!i.positions)return r.error("Config expected: positions"),w(r);if(!i.indices)return r.error("Config expected: indices"),w(r);var l=i.positionsDecodeMatrix;if(l);else{var u=Dn.getPositionsBounds(i.positions),c=Dn.compressPositions(i.positions,u.min,u.max);a=c.quantized,s.positionsDecodeMatrix=c.decodeMatrix,s.positionsBuf=new Dt(o,o.ARRAY_BUFFER,a,a.length,3,o.STATIC_DRAW),Sa.positions+=s.positionsBuf.numItems,$.positions3ToAABB3(i.positions,r._aabb),$.positions3ToAABB3(a,Na,s.positionsDecodeMatrix),$.AABB3ToOBB3(Na,r._obb)}if(i.colors){var f=i.colors.constructor===Float32Array?i.colors:new Float32Array(i.colors);s.colorsBuf=new Dt(o,o.ARRAY_BUFFER,f,f.length,4,o.STATIC_DRAW),Sa.colors+=s.colorsBuf.numItems}if(i.uv){var p=Dn.getUVBounds(i.uv),A=Dn.compressUVs(i.uv,p.min,p.max),d=A.quantized;s.uvDecodeMatrix=A.decodeMatrix,s.uvBuf=new Dt(o,o.ARRAY_BUFFER,d,d.length,2,o.STATIC_DRAW),Sa.uvs+=s.uvBuf.numItems}if(i.normals){var v=Dn.compressNormals(i.normals),h=s.compressGeometry;s.normalsBuf=new Dt(o,o.ARRAY_BUFFER,v,v.length,3,o.STATIC_DRAW,h),Sa.normals+=s.normalsBuf.numItems}var I=i.indices.constructor===Uint32Array||i.indices.constructor===Uint16Array?i.indices:new Uint32Array(i.indices);s.indicesBuf=new Dt(o,o.ELEMENT_ARRAY_BUFFER,I,I.length,1,o.STATIC_DRAW),Sa.indices+=s.indicesBuf.numItems;var y=yn(a,I,s.positionsDecodeMatrix,r._edgeThreshold);return r._edgeIndicesBuf=new Dt(o,o.ELEMENT_ARRAY_BUFFER,y,y.length,1,o.STATIC_DRAW),"triangles"===r._state.primitiveName&&(r._numTriangles=i.indices.length/3),r._buildHash(),Sa.meshes++,r}return P(n,[{key:"type",get:function(){return"VBOGeometry"}},{key:"isVBOGeometry",get:function(){return!0}},{key:"_buildHash",value:function(){var e=this._state,t=["/g"];t.push("/"+e.primitive+";"),e.positionsBuf&&t.push("p"),e.colorsBuf&&t.push("c"),(e.normalsBuf||e.autoVertexNormals)&&t.push("n"),e.uvBuf&&t.push("u"),t.push("cp"),t.push(";"),e.hash=t.join("")}},{key:"_getEdgeIndices",value:function(){return this._edgeIndicesBuf}},{key:"primitive",get:function(){return this._state.primitiveName}},{key:"aabb",get:function(){return this._aabb}},{key:"obb",get:function(){return this._obb}},{key:"numTriangles",get:function(){return this._numTriangles}},{key:"_getState",value:function(){return this._state}},{key:"destroy",value:function(){v(E(n.prototype),"destroy",this).call(this);var e=this._state;e.indicesBuf&&e.indicesBuf.destroy(),e.positionsBuf&&e.positionsBuf.destroy(),e.normalsBuf&&e.normalsBuf.destroy(),e.uvBuf&&e.uvBuf.destroy(),e.colorsBuf&&e.colorsBuf.destroy(),this._edgeIndicesBuf&&this._edgeIndicesBuf.destroy(),e.destroy(),Sa.meshes--}}]),n}(),xa={};function Ma(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return new Promise((function(n,r){t.src||(console.error("load3DSGeometry: Parameter expected: src"),r());var i=e.canvas.spinner;i.processes++,le.loadArraybuffer(t.src,(function(e){e.byteLength||(console.error("load3DSGeometry: no data loaded"),i.processes--,r());var a=xa.parse.from3DS(e).edit.objects[0].mesh,s=a.vertices,o=a.uvt,l=a.indices;i.processes--,n(le.apply(t,{primitive:"triangles",positions:s,normals:null,uv:o,indices:l}))}),(function(e){console.error("load3DSGeometry: "+e),i.processes--,r()}))}))}function Fa(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return new Promise((function(n,r){t.src||(console.error("loadOBJGeometry: Parameter expected: src"),r());var i=e.canvas.spinner;i.processes++,le.loadArraybuffer(t.src,(function(e){e.byteLength||(console.error("loadOBJGeometry: no data loaded"),i.processes--,r());for(var a=xa.parse.fromOBJ(e),s=xa.edit.unwrap(a.i_verts,a.c_verts,3),o=xa.edit.unwrap(a.i_norms,a.c_norms,3),l=xa.edit.unwrap(a.i_uvt,a.c_uvt,2),u=new Int32Array(a.i_verts.length),c=0;c0?o:null,autoNormals:0===o.length,uv:l,indices:u}))}),(function(e){console.error("loadOBJGeometry: "+e),i.processes--,r()}))}))}function Ha(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.xSize||1;t<0&&(console.error("negative xSize not allowed - will invert"),t*=-1);var n=e.ySize||1;n<0&&(console.error("negative ySize not allowed - will invert"),n*=-1);var r=e.zSize||1;r<0&&(console.error("negative zSize not allowed - will invert"),r*=-1);var i=e.center,a=i?i[0]:0,s=i?i[1]:0,o=i?i[2]:0,l=-t+a,u=-n+s,c=-r+o,f=t+a,p=n+s,A=r+o;return le.apply(e,{primitive:"lines",positions:[l,u,c,l,u,A,l,p,c,l,p,A,f,u,c,f,u,A,f,p,c,f,p,A],indices:[0,1,1,3,3,2,2,0,4,5,5,7,7,6,6,4,0,4,1,5,2,6,3,7]})}function Ua(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.size||1;t<0&&(console.error("negative size not allowed - will invert"),t*=-1);var n=e.divisions||1;n<0&&(console.error("negative divisions not allowed - will invert"),n*=-1),n<1&&(n=1);for(var r=(t=t||10)/(n=n||10),i=t/2,a=[],s=[],o=0,l=0,u=-i;l<=n;l++,u+=r)a.push(-i),a.push(0),a.push(u),a.push(i),a.push(0),a.push(u),a.push(u),a.push(0),a.push(-i),a.push(u),a.push(0),a.push(i),s.push(o++),s.push(o++),s.push(o++),s.push(o++);return le.apply(e,{primitive:"lines",positions:a,indices:s})}function Ga(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.xSize||1;t<0&&(console.error("negative xSize not allowed - will invert"),t*=-1);var n=e.zSize||1;n<0&&(console.error("negative zSize not allowed - will invert"),n*=-1);var r=e.xSegments||1;r<0&&(console.error("negative xSegments not allowed - will invert"),r*=-1),r<1&&(r=1);var i=e.xSegments||1;i<0&&(console.error("negative zSegments not allowed - will invert"),i*=-1),i<1&&(i=1);var a,s,o,l,u,c,f,p=e.center,A=p?p[0]:0,d=p?p[1]:0,v=p?p[2]:0,h=t/2,I=n/2,y=Math.floor(r)||1,m=Math.floor(i)||1,w=y+1,g=m+1,E=t/y,T=n/m,b=new Float32Array(w*g*3),D=new Float32Array(w*g*3),P=new Float32Array(w*g*2),R=0,C=0;for(a=0;a65535?Uint32Array:Uint16Array)(y*m*6);for(a=0;a0&&void 0!==arguments[0]?arguments[0]:{},t=e.radius||1;t<0&&(console.error("negative radius not allowed - will invert"),t*=-1),t*=.5;var n=e.tube||.3;n<0&&(console.error("negative tube not allowed - will invert"),n*=-1);var r=e.radialSegments||32;r<0&&(console.error("negative radialSegments not allowed - will invert"),r*=-1),r<4&&(r=4);var i=e.tubeSegments||24;i<0&&(console.error("negative tubeSegments not allowed - will invert"),i*=-1),i<4&&(i=4);var a=e.arc||2*Math.PI;a<0&&(console.warn("negative arc not allowed - will invert"),a*=-1),a>360&&(a=360);var s,o,l,u,c,f,p,A,d,v,h,I,y=e.center,m=y?y[0]:0,w=y?y[1]:0,g=y?y[2]:0,E=[],T=[],b=[],D=[];for(A=0;A<=i;A++)for(p=0;p<=r;p++)s=p/r*a,o=.785398+A/i*Math.PI*2,m=t*Math.cos(s),w=t*Math.sin(s),l=(t+n*Math.cos(o))*Math.cos(s),u=(t+n*Math.cos(o))*Math.sin(s),c=n*Math.sin(o),E.push(l+m),E.push(u+w),E.push(c+g),b.push(1-p/r),b.push(A/i),f=$.normalizeVec3($.subVec3([l,u,c],[m,w,g],[]),[]),T.push(f[0]),T.push(f[1]),T.push(f[2]);for(A=1;A<=i;A++)for(p=1;p<=r;p++)d=(r+1)*A+p-1,v=(r+1)*(A-1)+p-1,h=(r+1)*(A-1)+p,I=(r+1)*A+p,D.push(d),D.push(v),D.push(h),D.push(h),D.push(I),D.push(d);return le.apply(e,{positions:E,normals:T,uv:b,indices:D})}xa.load=function(e,t){var n=new XMLHttpRequest;n.open("GET",e,!0),n.responseType="arraybuffer",n.onload=function(e){t(e.target.response)},n.send()},xa.save=function(e,t){var n="data:application/octet-stream;base64,"+btoa(xa.parse._buffToStr(e));window.location.href=n},xa.clone=function(e){return JSON.parse(JSON.stringify(e))},xa.bin={},xa.bin.f=new Float32Array(1),xa.bin.fb=new Uint8Array(xa.bin.f.buffer),xa.bin.rf=function(e,t){for(var n=xa.bin.f,r=xa.bin.fb,i=0;i<4;i++)r[i]=e[t+i];return n[0]},xa.bin.rsl=function(e,t){return e[t]|e[t+1]<<8},xa.bin.ril=function(e,t){return e[t]|e[t+1]<<8|e[t+2]<<16|e[t+3]<<24},xa.bin.rASCII0=function(e,t){for(var n="";0!=e[t];)n+=String.fromCharCode(e[t++]);return n},xa.bin.wf=function(e,t,n){new Float32Array(e.buffer,t,1)[0]=n},xa.bin.wsl=function(e,t,n){e[t]=n,e[t+1]=n>>8},xa.bin.wil=function(e,t,n){e[t]=n,e[t+1]=n>>8,e[t+2]=n>>16,e[t+3]},xa.parse={},xa.parse._buffToStr=function(e){for(var t=new Uint8Array(e),n="",r=0;ri&&(i=l),ua&&(a=u),cs&&(s=c)}return{min:{x:t,y:n,z:r},max:{x:i,y:a,z:s}}};var ja=function(e){I(n,ye);var t=m(n);function n(e){var r,i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return b(this,n),(r=t.call(this,e,i))._type=i.type||(i.src?i.src.split(".").pop():null)||"jpg",r._pos=$.vec3(i.pos||[0,0,0]),r._up=$.vec3(i.up||[0,1,0]),r._normal=$.vec3(i.normal||[0,0,1]),r._height=i.height||1,r._origin=$.vec3(),r._rtcPos=$.vec3(),r._imageSize=$.vec2(),r._texture=new Ba(g(r),{flipY:!0}),r._image=new Image,"jpg"!==r._type&&"png"!==r._type&&(r.error('Unsupported type - defaulting to "jpg"'),r._type="jpg"),r._node=new da(g(r),{matrix:$.inverseMat4($.lookAtMat4v(r._pos,$.subVec3(r._pos,r._normal,$.mat4()),r._up,$.mat4())),children:[r._bitmapMesh=new Ji(g(r),{scale:[1,1,1],rotation:[-90,0,0],collidable:i.collidable,pickable:i.pickable,opacity:i.opacity,clippable:i.clippable,geometry:new Cn(g(r),Ga({center:[0,0,0],xSize:1,zSize:1,xSegments:2,zSegments:2})),material:new Nn(g(r),{diffuse:[0,0,0],ambient:[0,0,0],specular:[0,0,0],diffuseMap:r._texture,emissiveMap:r._texture,backfaces:!0})})]}),i.image?r.image=i.image:i.src?r.src=i.src:i.imageData&&(r.imageData=i.imageData),r.scene._bitmapCreated(g(r)),r}return P(n,[{key:"visible",get:function(){return this._bitmapMesh.visible},set:function(e){this._bitmapMesh.visible=e}},{key:"image",get:function(){return this._image},set:function(e){this._image=e,this._image&&(this._texture.image=this._image,this._imageSize[0]=this._image.width,this._imageSize[1]=this._image.height,this._updateBitmapMeshScale())}},{key:"src",get:function(){return this._image.src},set:function(e){var t=this;if(e)switch(this._image.onload=function(){t._texture.image=t._image,t._imageSize[0]=t._image.width,t._imageSize[1]=t._image.height,t._updateBitmapMeshScale()},this._image.src=e,e.split(".").pop()){case"jpeg":case"jpg":this._type="jpg";break;case"png":this._type="png"}}},{key:"imageData",get:function(){var e=document.createElement("canvas"),t=e.getContext("2d");return e.width=this._image.width,e.height=this._image.height,t.drawImage(this._image,0,0),e.toDataURL("jpg"===this._type?"image/jpeg":"image/png")},set:function(e){var t=this;this._image.onload=function(){t._texture.image=image,t._imageSize[0]=image.width,t._imageSize[1]=image.height,t._updateBitmapMeshScale()},this._image.src=e}},{key:"type",get:function(){return this._type},set:function(e){"png"===(e=e||"jpg")&&"jpg"===e||(this.error("Unsupported value for `type` - supported types are `jpg` and `png` - defaulting to `jpg`"),e="jpg"),this._type=e}},{key:"pos",get:function(){return this._pos}},{key:"normal",get:function(){return this._normal}},{key:"up",get:function(){return this._up}},{key:"height",get:function(){return this._height},set:function(e){this._height=null==e?1:e,this._image&&this._updateBitmapMeshScale()}},{key:"collidable",get:function(){return this._bitmapMesh.collidable},set:function(e){this._bitmapMesh.collidable=!1!==e}},{key:"clippable",get:function(){return this._bitmapMesh.clippable},set:function(e){this._bitmapMesh.clippable=!1!==e}},{key:"pickable",get:function(){return this._bitmapMesh.pickable},set:function(e){this._bitmapMesh.pickable=!1!==e}},{key:"opacity",get:function(){return this._bitmapMesh.opacity},set:function(e){this._bitmapMesh.opacity=e}},{key:"destroy",value:function(){v(E(n.prototype),"destroy",this).call(this),this.scene._bitmapDestroyed(this)}},{key:"_updateBitmapMeshScale",value:function(){var e=this._imageSize[1]/this._imageSize[0];this._bitmapMesh.scale=[this._height*e,1,this._height]}}]),n}(),Va=function(e){I(n,ye);var t=m(n);function n(e){var r,i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};b(this,n),(r=t.call(this,e,i))._positions=i.positions||[];var a=new Float32Array(r._positions.length),s=$.vec3(),o=100,l=Se(r._positions,new Float32Array(r._positions.length),s,o);if(i.indices)r._indices=i.indices;else{r._indices=[];for(var u=0,c=r._positions.length/3-1;u1&&void 0!==arguments[1]?arguments[1]:{};return b(this,n),(r=t.call(this,"BCFViewpoints",e,i)).originatingSystem=i.originatingSystem||"xeokit.io",r.authoringTool=i.authoringTool||"xeokit.io",r}return P(n,[{key:"getViewpoint",value:function(){var e=this,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=this.viewer.scene,r=n.camera,i=n.realWorldOffset,a=!0===t.reverseClippingPlanes,s={},o=$.normalizeVec3($.subVec3(r.look,r.eye,$.vec3())),l=r.eye,u=r.up;r.yUp&&(o=Ja(o),l=Ja(l),u=Ja(u));var c=Xa($.addVec3(l,i));"ortho"===r.projection?s.orthogonal_camera={camera_view_point:c,camera_direction:Xa(o),camera_up_vector:Xa(u),view_to_world_scale:r.ortho.scale}:s.perspective_camera={camera_view_point:c,camera_direction:Xa(o),camera_up_vector:Xa(u),field_of_view:r.perspective.fov};var f=n.sectionPlanes;for(var A in f)if(f.hasOwnProperty(A)){var d=f[A];if(!d.active)continue;var v=d.pos,h=void 0;h=a?$.negateVec3(d.dir,$.vec3()):d.dir,r.yUp&&(v=Ja(v),h=Ja(h)),$.addVec3(v,i),v=Xa(v),h=Xa(h),s.clipping_planes||(s.clipping_planes=[]),s.clipping_planes.push({location:v,direction:h})}var I=n.lineSets;for(var y in I)if(I.hasOwnProperty(y)){var m=I[y];s.lines||(s.lines=[]);for(var w=m.positions,g=m.indices,E=0,T=g.length/2;E1&&void 0!==arguments[1]?arguments[1]:{};if(e){var r=this.viewer,i=r.scene,a=i.camera,s=!1!==n.rayCast,o=!1!==n.immediate,l=!1!==n.reset,u=i.realWorldOffset,c=!0===n.reverseClippingPlanes;if(i.clearSectionPlanes(),e.clipping_planes&&e.clipping_planes.length>0&&e.clipping_planes.forEach((function(e){var t=qa(e.location,Qa),n=qa(e.direction,Qa);c&&$.negateVec3(n),$.subVec3(t,u),a.yUp&&(t=Za(t),n=Za(n)),new ia(i,{pos:t,dir:n})})),i.clearLines(),e.lines&&e.lines.length>0){var f=[],p=[],A=0;e.lines.forEach((function(e){e.start_point&&e.end_point&&(f.push(e.start_point.x),f.push(e.start_point.y),f.push(e.start_point.z),f.push(e.end_point.x),f.push(e.end_point.y),f.push(e.end_point.z),p.push(A++),p.push(A++))})),new Va(i,{positions:f,indices:p,clippable:!1,collidable:!0})}if(i.clearBitmaps(),e.bitmaps&&e.bitmaps.length>0&&e.bitmaps.forEach((function(e){var t=e.bitmap_type||"jpg",n=e.bitmap_data,r=qa(e.location,Wa),s=qa(e.normal,za),o=qa(e.up,Ka),l=e.height||1;t&&n&&r&&s&&o&&(a.yUp&&(r=Za(r),s=Za(s),o=Za(o)),new ja(i,{src:n,type:t,pos:r,normal:s,up:o,clippable:!1,collidable:!0,height:l}))})),l&&(i.setObjectsXRayed(i.xrayedObjectIds,!1),i.setObjectsHighlighted(i.highlightedObjectIds,!1),i.setObjectsSelected(i.selectedObjectIds,!1)),e.components){if(e.components.visibility){e.components.visibility.default_visibility?(i.setObjectsVisible(i.objectIds,!0),e.components.visibility.exceptions&&e.components.visibility.exceptions.forEach((function(e){return t._withBCFComponent(n,e,(function(e){return e.visible=!1}))}))):(i.setObjectsVisible(i.objectIds,!1),e.components.visibility.exceptions&&e.components.visibility.exceptions.forEach((function(e){return t._withBCFComponent(n,e,(function(e){return e.visible=!0}))})));var d=e.components.visibility.view_setup_hints;d&&(!1===d.spaces_visible&&i.setObjectsVisible(r.metaScene.getObjectIDsByType("IfcSpace"),!0),void 0!==d.spaces_translucent&&i.setObjectsXRayed(r.metaScene.getObjectIDsByType("IfcSpace"),!0),d.space_boundaries_visible,!1===d.openings_visible&&i.setObjectsVisible(r.metaScene.getObjectIDsByType("IfcOpening"),!0),d.space_boundaries_translucent,void 0!==d.openings_translucent&&i.setObjectsXRayed(r.metaScene.getObjectIDsByType("IfcOpening"),!0))}e.components.selection&&(i.setObjectsSelected(i.selectedObjectIds,!1),e.components.selection.forEach((function(e){return t._withBCFComponent(n,e,(function(e){return e.selected=!0}))}))),e.components.translucency&&(i.setObjectsXRayed(i.xrayedObjectIds,!1),e.components.translucency.forEach((function(e){return t._withBCFComponent(n,e,(function(e){return e.xrayed=!0}))}))),e.components.coloring&&e.components.coloring.forEach((function(e){var r=e.color,i=0,a=!1;8===r.length&&((i=parseInt(r.substring(0,2),16)/256)<=1&&i>=.95&&(i=1),r=r.substring(2),a=!0);var s=[parseInt(r.substring(0,2),16)/256,parseInt(r.substring(2,4),16)/256,parseInt(r.substring(4,6),16)/256];e.components.map((function(e){return t._withBCFComponent(n,e,(function(e){e.colorize=s,a&&(e.opacity=i)}))}))}))}if(e.perspective_camera||e.orthogonal_camera){var v,h,I,y;if(e.perspective_camera?(v=qa(e.perspective_camera.camera_view_point,Qa),h=qa(e.perspective_camera.camera_direction,Qa),I=qa(e.perspective_camera.camera_up_vector,Qa),a.perspective.fov=e.perspective_camera.field_of_view,y="perspective"):(v=qa(e.orthogonal_camera.camera_view_point,Qa),h=qa(e.orthogonal_camera.camera_direction,Qa),I=qa(e.orthogonal_camera.camera_up_vector,Qa),a.ortho.scale=e.orthogonal_camera.view_to_world_scale,y="ortho"),$.subVec3(v,u),a.yUp&&(v=Za(v),h=Za(h),I=Za(I)),s){var m=i.pick({pickSurface:!0,origin:v,direction:h});h=m?m.worldPos:$.addVec3(v,h,Qa)}else h=$.addVec3(v,h,Qa);o?(a.eye=v,a.look=h,a.up=I,a.projection=y):r.cameraFlight.flyTo({eye:v,look:h,up:I,duration:n.duration,projection:y})}}}},{key:"_withBCFComponent",value:function(e,t,n){var r=this.viewer,i=r.scene;if(t.authoring_tool_id&&t.originating_system===this.originatingSystem){var a=t.authoring_tool_id,s=i.objects[a];if(s)return void n(s);if(e.updateCompositeObjects)if(r.metaScene.metaObjects[a])return void i.withObjects(r.metaScene.getObjectIDsInSubtree(a),n)}if(t.ifc_guid){var o=t.ifc_guid,l=i.objects[o];if(l)return void n(l);if(e.updateCompositeObjects)if(r.metaScene.metaObjects[o])return void i.withObjects(r.metaScene.getObjectIDsInSubtree(o),n);Object.keys(i.models).forEach((function(t){var a=$.globalizeObjectId(t,o),s=i.objects[a];s?n(s):e.updateCompositeObjects&&r.metaScene.metaObjects[a]&&i.withObjects(r.metaScene.getObjectIDsInSubtree(a),n)}))}}},{key:"destroy",value:function(){v(E(n.prototype),"destroy",this).call(this)}}]),n}();function Xa(e){return{x:e[0],y:e[1],z:e[2]}}function qa(e,t){return(t=new Float64Array(3))[0]=e.x,t[1]=e.y,t[2]=e.z,t}function Ja(e){return new Float64Array([e[0],-e[2],e[1]])}function Za(e){return new Float64Array([e[0],e[2],-e[1]])}function $a(e){var t="";return t+=Math.round(255*e[0]).toString(16).padStart(2,"0"),t+=Math.round(255*e[1]).toString(16).padStart(2,"0"),t+=Math.round(255*e[2]).toString(16).padStart(2,"0")}var es=$.vec3(),ts=function(e,t,n,r){var i=e-n,a=t-r;return Math.sqrt(i*i+a*a)},ns=function(e){I(n,ye);var t=m(n);function n(e){var r,i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(b(this,n),(r=t.call(this,e.viewer.scene,i)).plugin=e,r._container=i.container,!r._container)throw"config missing: container";r._eventSubs={};var a=r.plugin.viewer.scene;r._originMarker=new Xe(a,i.origin),r._targetMarker=new Xe(a,i.target),r._originWorld=$.vec3(),r._targetWorld=$.vec3(),r._wp=new Float64Array(24),r._vp=new Float64Array(24),r._pp=new Float64Array(24),r._cp=new Float64Array(8),r._xAxisLabelCulled=!1,r._yAxisLabelCulled=!1,r._zAxisLabelCulled=!1,r._color=i.color||r.plugin.defaultColor;var s=i.onMouseOver?function(e){i.onMouseOver(e,g(r))}:null,o=i.onMouseLeave?function(e){i.onMouseLeave(e,g(r))}:null,l=i.onContextMenu?function(e){i.onContextMenu(e,g(r))}:null,u=function(e){r.plugin.viewer.scene.canvas.canvas.dispatchEvent(new WheelEvent("wheel",e))};return r._originDot=new Je(r._container,{fillColor:r._color,zIndex:void 0!==e.zIndex?e.zIndex+2:void 0,onMouseOver:s,onMouseLeave:o,onMouseWheel:u,onContextMenu:l}),r._targetDot=new Je(r._container,{fillColor:r._color,zIndex:void 0!==e.zIndex?e.zIndex+2:void 0,onMouseOver:s,onMouseLeave:o,onMouseWheel:u,onContextMenu:l}),r._lengthWire=new qe(r._container,{color:r._color,thickness:2,thicknessClickable:6,zIndex:void 0!==e.zIndex?e.zIndex+1:void 0,onMouseOver:s,onMouseLeave:o,onMouseWheel:u,onContextMenu:l}),r._xAxisWire=new qe(r._container,{color:"#FF0000",thickness:1,thicknessClickable:6,zIndex:void 0!==e.zIndex?e.zIndex+1:void 0,onMouseOver:s,onMouseLeave:o,onMouseWheel:u,onContextMenu:l}),r._yAxisWire=new qe(r._container,{color:"green",thickness:1,thicknessClickable:6,zIndex:void 0!==e.zIndex?e.zIndex+1:void 0,onMouseOver:s,onMouseLeave:o,onMouseWheel:u,onContextMenu:l}),r._zAxisWire=new qe(r._container,{color:"blue",thickness:1,thicknessClickable:6,zIndex:void 0!==e.zIndex?e.zIndex+1:void 0,onMouseOver:s,onMouseLeave:o,onMouseWheel:u,onContextMenu:l}),r._lengthLabel=new Ze(r._container,{fillColor:r._color,prefix:"",text:"",zIndex:void 0!==e.zIndex?e.zIndex+4:void 0,onMouseOver:s,onMouseLeave:o,onMouseWheel:u,onContextMenu:l}),r._xAxisLabel=new Ze(r._container,{fillColor:"red",prefix:"X",text:"",zIndex:void 0!==e.zIndex?e.zIndex+3:void 0,onMouseOver:s,onMouseLeave:o,onMouseWheel:u,onContextMenu:l}),r._yAxisLabel=new Ze(r._container,{fillColor:"green",prefix:"Y",text:"",zIndex:void 0!==e.zIndex?e.zIndex+3:void 0,onMouseOver:s,onMouseLeave:o,onMouseWheel:u,onContextMenu:l}),r._zAxisLabel=new Ze(r._container,{fillColor:"blue",prefix:"Z",text:"",zIndex:void 0!==e.zIndex?e.zIndex+3:void 0,onMouseOver:s,onMouseLeave:o,onMouseWheel:u,onContextMenu:l}),r._wpDirty=!1,r._vpDirty=!1,r._cpDirty=!1,r._sectionPlanesDirty=!0,r._visible=!1,r._originVisible=!1,r._targetVisible=!1,r._wireVisible=!1,r._axisVisible=!1,r._xAxisVisible=!1,r._yAxisVisible=!1,r._zAxisVisible=!1,r._axisEnabled=!0,r._labelsVisible=!1,r._clickable=!1,r._originMarker.on("worldPos",(function(e){r._originWorld.set(e||[0,0,0]),r._wpDirty=!0,r._needUpdate(0)})),r._targetMarker.on("worldPos",(function(e){r._targetWorld.set(e||[0,0,0]),r._wpDirty=!0,r._needUpdate(0)})),r._onViewMatrix=a.camera.on("viewMatrix",(function(){r._vpDirty=!0,r._needUpdate(0)})),r._onProjMatrix=a.camera.on("projMatrix",(function(){r._cpDirty=!0,r._needUpdate()})),r._onCanvasBoundary=a.canvas.on("boundary",(function(){r._cpDirty=!0,r._needUpdate(0)})),r._onMetricsUnits=a.metrics.on("units",(function(){r._cpDirty=!0,r._needUpdate()})),r._onMetricsScale=a.metrics.on("scale",(function(){r._cpDirty=!0,r._needUpdate()})),r._onMetricsOrigin=a.metrics.on("origin",(function(){r._cpDirty=!0,r._needUpdate()})),r._onSectionPlaneUpdated=a.on("sectionPlaneUpdated",(function(){r._sectionPlanesDirty=!0,r._needUpdate()})),r.approximate=i.approximate,r.visible=i.visible,r.originVisible=i.originVisible,r.targetVisible=i.targetVisible,r.wireVisible=i.wireVisible,r.axisVisible=i.axisVisible,r.xAxisVisible=i.xAxisVisible,r.yAxisVisible=i.yAxisVisible,r.zAxisVisible=i.zAxisVisible,r.labelsVisible=i.labelsVisible,r}return P(n,[{key:"_update",value:function(){if(this._visible){var e=this.plugin.viewer.scene;if(this._wpDirty&&(this._wp[0]=this._originWorld[0],this._wp[1]=this._originWorld[1],this._wp[2]=this._originWorld[2],this._wp[3]=1,this._wp[4]=this._targetWorld[0],this._wp[5]=this._originWorld[1],this._wp[6]=this._originWorld[2],this._wp[7]=1,this._wp[8]=this._targetWorld[0],this._wp[9]=this._targetWorld[1],this._wp[10]=this._originWorld[2],this._wp[11]=1,this._wp[12]=this._targetWorld[0],this._wp[13]=this._targetWorld[1],this._wp[14]=this._targetWorld[2],this._wp[15]=1,this._wpDirty=!1,this._vpDirty=!0),this._vpDirty&&($.transformPositions4(e.camera.viewMatrix,this._wp,this._vp),this._vp[3]=1,this._vp[7]=1,this._vp[11]=1,this._vp[15]=1,this._vpDirty=!1,this._cpDirty=!0),this._sectionPlanesDirty){if(this._isSliced(this._wp))return this._xAxisLabel.setCulled(!0),this._yAxisLabel.setCulled(!0),this._zAxisLabel.setCulled(!0),this._lengthLabel.setCulled(!0),this._xAxisWire.setCulled(!0),this._yAxisWire.setCulled(!0),this._zAxisWire.setCulled(!0),this._lengthWire.setCulled(!0),this._originDot.setCulled(!0),void this._targetDot.setCulled(!0);this._xAxisLabel.setCulled(!1),this._yAxisLabel.setCulled(!1),this._zAxisLabel.setCulled(!1),this._lengthLabel.setCulled(!1),this._xAxisWire.setCulled(!1),this._yAxisWire.setCulled(!1),this._zAxisWire.setCulled(!1),this._lengthWire.setCulled(!1),this._originDot.setCulled(!1),this._targetDot.setCulled(!1),this._sectionPlanesDirty=!0}var t=this._originMarker.viewPos[2],n=this._targetMarker.viewPos[2];if(t>-.3||n>-.3)return this._xAxisLabel.setCulled(!0),this._yAxisLabel.setCulled(!0),this._zAxisLabel.setCulled(!0),this._lengthLabel.setCulled(!0),this._xAxisWire.setVisible(!1),this._yAxisWire.setVisible(!1),this._zAxisWire.setVisible(!1),this._lengthWire.setVisible(!1),this._originDot.setVisible(!1),void this._targetDot.setVisible(!1);if(this._cpDirty){$.transformPositions4(e.camera.project.matrix,this._vp,this._pp);for(var r=this._pp,i=this._cp,a=e.canvas.canvas.getBoundingClientRect(),s=this._container.getBoundingClientRect(),o=a.top-s.top,l=a.left-s.left,u=e.canvas.boundary,c=u[2],f=u[3],p=0,A=this.plugin.viewer.scene.metrics,d=A.scale,v=A.units,h=A.unitsInfo[v].abbrev,I=0,y=r.length;I1&&void 0!==arguments[1]?arguments[1]:{};return b(this,n),(r=t.call(this,e.viewer.scene)).pointerLens=i.pointerLens,r._active=!1,r._currentDistanceMeasurement=null,r._currentDistanceMeasurementInitState={wireVisible:null,axisVisible:null,xAxisVisible:null,yaxisVisible:null,zAxisVisible:null,targetVisible:null},r._initMarkerDiv(),r._onCameraControlHoverSnapOrSurface=null,r._onCameraControlHoverSnapOrSurfaceOff=null,r._onMouseDown=null,r._onMouseUp=null,r._onCanvasTouchStart=null,r._onCanvasTouchEnd=null,r._snapping=!1!==i.snapping,r._mouseState=0,r._attachPlugin(e,i),r}return P(n,[{key:"_initMarkerDiv",value:function(){var e=document.createElement("div");e.setAttribute("id","myMarkerDiv");var t=this.scene.canvas.canvas;t.parentNode.insertBefore(e,t),e.style.background="black",e.style.border="2px solid blue",e.style.borderRadius="10px",e.style.width="5px",e.style.height="5px",e.style.margin="-200px -200px",e.style.zIndex="100",e.style.position="absolute",e.style.pointerEvents="none",this._markerDiv=e}},{key:"_destroyMarkerDiv",value:function(){if(this._markerDiv){var e=document.getElementById("myMarkerDiv");e.parentNode.removeChild(e),this._markerDiv=null}}},{key:"_attachPlugin",value:function(e){this.distanceMeasurementsPlugin=e,this.plugin=e}},{key:"active",get:function(){return this._active}},{key:"snapping",get:function(){return this._snapping},set:function(e){e!==this._snapping?(this._snapping=e,this.deactivate(),this.activate()):this._snapping=e}},{key:"activate",value:function(){var e=this;if(!this._active){this._markerDiv||this._initMarkerDiv(),this.fire("activated",!0);var t=this.distanceMeasurementsPlugin,n=this.scene,r=t.viewer.cameraControl,i=n.canvas.canvas;n.input;var a,s,o=!1,l=$.vec3(),u=$.vec2();this._mouseState=0,this._onCameraControlHoverSnapOrSurface=r.on(this._snapping?"hoverSnapOrSurface":"hoverSurface",(function(t){var n=t.snappedCanvasPos||t.canvasPos;o=!0,l.set(t.worldPos),u.set(t.canvasPos),0===e._mouseState?(e._markerDiv.style.marginLeft="".concat(n[0]-5,"px"),e._markerDiv.style.marginTop="".concat(n[1]-5,"px"),e._markerDiv.style.background="pink",t.snappedToVertex||t.snappedToEdge?(e.pointerLens&&(e.pointerLens.visible=!0,e.pointerLens.canvasPos=t.canvasPos,e.pointerLens.snappedCanvasPos=t.snappedCanvasPos||t.canvasPos,e.pointerLens.snapped=!0),e._markerDiv.style.background="greenyellow",e._markerDiv.style.border="2px solid green"):(e.pointerLens&&(e.pointerLens.visible=!0,e.pointerLens.canvasPos=t.canvasPos,e.pointerLens.snappedCanvasPos=t.canvasPos,e.pointerLens.snapped=!1),e._markerDiv.style.background="pink",e._markerDiv.style.border="2px solid red")):(e._markerDiv.style.marginLeft="-10000px",e._markerDiv.style.marginTop="-10000px"),i.style.cursor="pointer",e._currentDistanceMeasurement&&(e._currentDistanceMeasurement.wireVisible=e._currentDistanceMeasurementInitState.wireVisible,e._currentDistanceMeasurement.axisVisible=e._currentDistanceMeasurementInitState.axisVisible&&e.distanceMeasurementsPlugin.defaultAxisVisible,e._currentDistanceMeasurement.xAxisVisible=e._currentDistanceMeasurementInitState.xAxisVisible&&e.distanceMeasurementsPlugin.defaultXAxisVisible,e._currentDistanceMeasurement.yAxisVisible=e._currentDistanceMeasurementInitState.yAxisVisible&&e.distanceMeasurementsPlugin.defaultYAxisVisible,e._currentDistanceMeasurement.zAxisVisible=e._currentDistanceMeasurementInitState.zAxisVisible&&e.distanceMeasurementsPlugin.defaultZAxisVisible,e._currentDistanceMeasurement.targetVisible=e._currentDistanceMeasurementInitState.targetVisible,e._currentDistanceMeasurement.target.worldPos=l.slice(),e._markerDiv.style.marginLeft="-10000px",e._markerDiv.style.marginTop="-10000px")})),i.addEventListener("mousedown",this._onMouseDown=function(e){1===e.which&&(a=e.clientX,s=e.clientY)}),i.addEventListener("mouseup",this._onMouseUp=function(n){1===n.which&&(n.clientX>a+20||n.clientXs+20||n.clientY1&&void 0!==arguments[1]?arguments[1]:{};return b(this,n),(r=t.call(this,"DistanceMeasurements",e))._pointerLens=i.pointerLens,r._container=i.container||document.body,r._defaultControl=null,r._measurements={},r.labelMinAxisLength=i.labelMinAxisLength,r.defaultVisible=!1!==i.defaultVisible,r.defaultOriginVisible=!1!==i.defaultOriginVisible,r.defaultTargetVisible=!1!==i.defaultTargetVisible,r.defaultWireVisible=!1!==i.defaultWireVisible,r.defaultLabelsVisible=!1!==i.defaultLabelsVisible,r.defaultAxisVisible=!1!==i.defaultAxisVisible,r.defaultXAxisVisible=!1!==i.defaultXAxisVisible,r.defaultYAxisVisible=!1!==i.defaultYAxisVisible,r.defaultZAxisVisible=!1!==i.defaultZAxisVisible,r.defaultColor=void 0!==i.defaultColor?i.defaultColor:"#00BBFF",r.zIndex=i.zIndex||1e4,r._onMouseOver=function(e,t){r.fire("mouseOver",{plugin:g(r),distanceMeasurement:t,measurement:t,event:e})},r._onMouseLeave=function(e,t){r.fire("mouseLeave",{plugin:g(r),distanceMeasurement:t,measurement:t,event:e})},r._onContextMenu=function(e,t){r.fire("contextMenu",{plugin:g(r),distanceMeasurement:t,measurement:t,event:e})},r}return P(n,[{key:"getContainerElement",value:function(){return this._container}},{key:"send",value:function(e,t){}},{key:"pointerLens",get:function(){return this._pointerLens}},{key:"control",get:function(){return this._defaultControl||(this._defaultControl=new is(this,{})),this._defaultControl}},{key:"measurements",get:function(){return this._measurements}},{key:"labelMinAxisLength",get:function(){return this._labelMinAxisLength},set:function(e){e<1&&(this.error("labelMinAxisLength must be >= 1; defaulting to 25"),e=25),this._labelMinAxisLength=e||25}},{key:"createMeasurement",value:function(){var e=this,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};this.viewer.scene.components[t.id]&&(this.error("Viewer scene component with this ID already exists: "+t.id),delete t.id);var n=t.origin,r=t.target,i=new ns(this,{id:t.id,plugin:this,container:this._container,origin:{entity:n.entity,worldPos:n.worldPos},target:{entity:r.entity,worldPos:r.worldPos},visible:t.visible,wireVisible:t.wireVisible,axisVisible:!1!==t.axisVisible&&!1!==this.defaultAxisVisible,xAxisVisible:!1!==t.xAxisVisible&&!1!==this.defaultXAxisVisible,yAxisVisible:!1!==t.yAxisVisible&&!1!==this.defaultYAxisVisible,zAxisVisible:!1!==t.zAxisVisible&&!1!==this.defaultZAxisVisible,labelsVisible:!1!==t.labelsVisible&&!1!==this.defaultLabelsVisible,originVisible:t.originVisible,targetVisible:t.targetVisible,color:t.color,onMouseOver:this._onMouseOver,onMouseLeave:this._onMouseLeave,onContextMenu:this._onContextMenu});return this._measurements[i.id]=i,i.on("destroyed",(function(){delete e._measurements[i.id]})),this.fire("measurementCreated",i),i}},{key:"destroyMeasurement",value:function(e){var t=this._measurements[e];t?(t.destroy(),this.fire("measurementDestroyed",t)):this.log("DistanceMeasurement not found: "+e)}},{key:"setLabelsShown",value:function(e){for(var t=0,n=Object.entries(this.measurements);t1&&void 0!==arguments[1]?arguments[1]:{};b(this,n),(r=t.call(this,"FastNav",e))._hideColorTexture=!1!==i.hideColorTexture,r._hidePBR=!1!==i.hidePBR,r._hideSAO=!1!==i.hideSAO,r._hideEdges=!1!==i.hideEdges,r._hideTransparentObjects=!!i.hideTransparentObjects,r._scaleCanvasResolution=!!i.scaleCanvasResolution,r._scaleCanvasResolutionFactor=i.scaleCanvasResolutionFactor||.6,r._delayBeforeRestore=!1!==i.delayBeforeRestore,r._delayBeforeRestoreSeconds=i.delayBeforeRestoreSeconds||.5;var a=1e3*r._delayBeforeRestoreSeconds,s=!1,o=function(){a=1e3*r._delayBeforeRestoreSeconds,s||(e.scene._renderer.setColorTextureEnabled(!r._hideColorTexture),e.scene._renderer.setPBREnabled(!r._hidePBR),e.scene._renderer.setSAOEnabled(!r._hideSAO),e.scene._renderer.setTransparentEnabled(!r._hideTransparentObjects),e.scene._renderer.setEdgesEnabled(!r._hideEdges),r._scaleCanvasResolution?e.scene.canvas.resolutionScale=r._scaleCanvasResolutionFactor:e.scene.canvas.resolutionScale=1,s=!0)},l=function(){e.scene.canvas.resolutionScale=1,e.scene._renderer.setEdgesEnabled(!0),e.scene._renderer.setColorTextureEnabled(!0),e.scene._renderer.setPBREnabled(!0),e.scene._renderer.setSAOEnabled(!0),e.scene._renderer.setTransparentEnabled(!0),s=!1};r._onCanvasBoundary=e.scene.canvas.on("boundary",o),r._onCameraMatrix=e.scene.camera.on("matrix",o),r._onSceneTick=e.scene.on("tick",(function(e){s&&(a-=e.deltaTime,(!r._delayBeforeRestore||a<=0)&&l())}));var u=!1;return r._onSceneMouseDown=e.scene.input.on("mousedown",(function(){u=!0})),r._onSceneMouseUp=e.scene.input.on("mouseup",(function(){u=!1})),r._onSceneMouseMove=e.scene.input.on("mousemove",(function(){u&&o()})),r}return P(n,[{key:"hideColorTexture",get:function(){return this._hideColorTexture},set:function(e){this._hideColorTexture=e}},{key:"hidePBR",get:function(){return this._hidePBR},set:function(e){this._hidePBR=e}},{key:"hideSAO",get:function(){return this._hideSAO},set:function(e){this._hideSAO=e}},{key:"hideEdges",get:function(){return this._hideEdges},set:function(e){this._hideEdges=e}},{key:"hideTransparentObjects",get:function(){return this._hideTransparentObjects},set:function(e){this._hideTransparentObjects=!1!==e}},{key:"scaleCanvasResolution",get:function(){return this._scaleCanvasResolution},set:function(e){this._scaleCanvasResolution=e}},{key:"scaleCanvasResolutionFactor",get:function(){return this._scaleCanvasResolutionFactor},set:function(e){this._scaleCanvasResolutionFactor=e||.6}},{key:"delayBeforeRestore",get:function(){return this._delayBeforeRestore},set:function(e){this._delayBeforeRestore=e}},{key:"delayBeforeRestoreSeconds",get:function(){return this._delayBeforeRestoreSeconds},set:function(e){this._delayBeforeRestoreSeconds=null!=e?e:.5}},{key:"send",value:function(e,t){}},{key:"destroy",value:function(){this.viewer.scene.camera.off(this._onCameraMatrix),this.viewer.scene.canvas.off(this._onCanvasBoundary),this.viewer.scene.input.off(this._onSceneMouseDown),this.viewer.scene.input.off(this._onSceneMouseUp),this.viewer.scene.input.off(this._onSceneMouseMove),this.viewer.scene.off(this._onSceneTick),v(E(n.prototype),"destroy",this).call(this)}}]),n}(),os=function(){function e(){b(this,e)}return P(e,[{key:"getMetaModel",value:function(e,t,n){le.loadJSON(e,(function(e){t(e)}),(function(e){n(e)}))}},{key:"getGLTF",value:function(e,t,n){le.loadArraybuffer(e,(function(e){t(e)}),(function(e){n(e)}))}},{key:"getGLB",value:function(e,t,n){le.loadArraybuffer(e,(function(e){t(e)}),(function(e){n(e)}))}},{key:"getArrayBuffer",value:function(e,t,n,r){!function(e,t,n,r){var i=function(){};n=n||i,r=r||i;var a=/^data:(.*?)(;base64)?,(.*)$/,s=t.match(a);if(s){var o=!!s[2],l=s[3];l=window.decodeURIComponent(l),o&&(l=window.atob(l));try{for(var u=new ArrayBuffer(l.length),c=new Uint8Array(u),f=0;f0&&void 0!==arguments[0]?arguments[0]:{};b(this,e),this._eventSubIDMap=null,this._eventSubEvents=null,this._eventSubs=null,this._events=null,this._locale="en",this._messages={},this._locales=[],this._locale="en",this.messages=t.messages,this.locale=t.locale}return P(e,[{key:"messages",set:function(e){this._messages=e||{},this._locales=Object.keys(this._messages),this.fire("updated",this)}},{key:"loadMessages",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};for(var t in e)this._messages[t]=e[t];this.messages=this._messages}},{key:"clearMessages",value:function(){this.messages={}}},{key:"locales",get:function(){return this._locales}},{key:"locale",get:function(){return this._locale},set:function(e){e=e||"de",this._locale!==e&&(this._locale=e,this.fire("updated",e))}},{key:"translate",value:function(e,t){var n=this._messages[this._locale];if(!n)return null;var r=us(e,n);return r?t?cs(r,t):r:null}},{key:"translatePlurals",value:function(e,t,n){var r=this._messages[this._locale];if(!r)return null;var i=us(e,r);return(i=0===(t=parseInt(""+t,10))?i.zero:t>1?i.other:i.one)?(i=cs(i,[t]),n&&(i=cs(i,n)),i):null}},{key:"fire",value:function(e,t,n){this._events||(this._events={}),this._eventSubs||(this._eventSubs={}),!0!==n&&(this._events[e]=t||!0);var r=this._eventSubs[e];if(r)for(var i in r){if(r.hasOwnProperty(i))r[i].callback(t)}}},{key:"on",value:function(e,t){this._events||(this._events={}),this._eventSubIDMap||(this._eventSubIDMap=new G),this._eventSubEvents||(this._eventSubEvents={}),this._eventSubs||(this._eventSubs={});var n=this._eventSubs[e];n||(n={},this._eventSubs[e]=n);var r=this._eventSubIDMap.addItem();n[r]={callback:t},this._eventSubEvents[r]=e;var i=this._events[e];return void 0!==i&&t(i),r}},{key:"off",value:function(e){if(null!=e&&this._eventSubEvents){var t=this._eventSubEvents[e];if(t){delete this._eventSubEvents[e];var n=this._eventSubs[t];n&&delete n[e],this._eventSubIDMap.removeItem(e)}}}}]),e}();function us(e,t){if(t[e])return t[e];for(var n=e.split("."),r=t,i=0,a=n.length;r&&i1&&void 0!==arguments[1]?arguments[1]:[];return e.replace(/\{\{|\}\}|\{(\d+)\}/g,(function(e,n){return"{{"===e?"{":"}}"===e?"}":t[n]}))}var fs=function(e){I(n,ye);var t=m(n);function n(e){var r,i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return b(this,n),(r=t.call(this,e,i)).t=i.t,r}return P(n,[{key:"t",get:function(){return this._t},set:function(e){e=e||0,this._t=e<0?0:e>1?1:e}},{key:"tangent",get:function(){return this.getTangent(this._t)}},{key:"length",get:function(){var e=this._getLengths();return e[e.length-1]}},{key:"getTangent",value:function(e){var t=1e-4;void 0===e&&(e=this._t);var n=e-t,r=e+t;n<0&&(n=0),r>1&&(r=1);var i=this.getPoint(n),a=this.getPoint(r),s=$.subVec3(a,i,[]);return $.normalizeVec3(s,[])}},{key:"getPointAt",value:function(e){var t=this.getUToTMapping(e);return this.getPoint(t)}},{key:"getPoints",value:function(e){e||(e=5);var t,n=[];for(t=0;t<=e;t++)n.push(this.getPoint(t/e));return n}},{key:"_getLengths",value:function(e){if(e||(e=this.__arcLengthDivisions?this.__arcLengthDivisions:200),this.cacheArcLengths&&this.cacheArcLengths.length===e+1&&!this.needsUpdate)return this.cacheArcLengths;this.needsUpdate=!1;var t,n,r=[],i=this.getPoint(0),a=0;for(r.push(0),n=1;n<=e;n++)t=this.getPoint(n/e),a+=$.lenVec3($.subVec3(t,i,[])),r.push(a),i=t;return this.cacheArcLengths=r,r}},{key:"_updateArcLengths",value:function(){this.needsUpdate=!0,this._getLengths()}},{key:"getUToTMapping",value:function(e,t){var n,r=this._getLengths(),i=0,a=r.length;n=t||e*r[a-1];for(var s,o=0,l=a-1;o<=l;)if((s=r[i=Math.floor(o+(l-o)/2)]-n)<0)o=i+1;else{if(!(s>0)){l=i;break}l=i-1}if(r[i=l]===n)return i/(a-1);var u=r[i];return(i+(n-u)/(r[i+1]-u))/(a-1)}}]),n}(),ps=function(e){I(n,fs);var t=m(n);function n(e){var r,i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return b(this,n),(r=t.call(this,e,i)).points=i.points,r.t=i.t,r}return P(n,[{key:"points",get:function(){return this._points},set:function(e){this._points=e||[]}},{key:"t",get:function(){return this._t},set:function(e){e=e||0,this._t=e<0?0:e>1?1:e}},{key:"point",get:function(){return this.getPoint(this._t)}},{key:"getPoint",value:function(e){var t=this.points;if(!(t.length<3)){var n=(t.length-1)*e,r=Math.floor(n),i=n-r,a=t[0===r?r:r-1],s=t[r],o=t[r>t.length-2?t.length-1:r+1],l=t[r>t.length-3?t.length-1:r+2],u=$.vec3();return u[0]=$.catmullRomInterpolate(a[0],s[0],o[0],l[0],i),u[1]=$.catmullRomInterpolate(a[1],s[1],o[1],l[1],i),u[2]=$.catmullRomInterpolate(a[2],s[2],o[2],l[2],i),u}this.error("Can't sample point from SplineCurve - not enough points on curve - returning [0,0,0].")}},{key:"getJSON",value:function(){return{points:points,t:this._t}}}]),n}(),As=$.vec3(),ds=function(e){I(n,ye);var t=m(n);function n(e){var r,i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return b(this,n),(r=t.call(this,e,i))._frames=[],r._eyeCurve=new ps(g(r)),r._lookCurve=new ps(g(r)),r._upCurve=new ps(g(r)),i.frames&&(r.addFrames(i.frames),r.smoothFrameTimes(1)),r}return P(n,[{key:"type",get:function(){return"CameraPath"}},{key:"frames",get:function(){return this._frames}},{key:"eyeCurve",get:function(){return this._eyeCurve}},{key:"lookCurve",get:function(){return this._lookCurve}},{key:"upCurve",get:function(){return this._upCurve}},{key:"saveFrame",value:function(e){var t=this.scene.camera;this.addFrame(e,t.eye,t.look,t.up)}},{key:"addFrame",value:function(e,t,n,r){var i={t:e,eye:t.slice(0),look:n.slice(0),up:r.slice(0)};this._frames.push(i),this._eyeCurve.points.push(i.eye),this._lookCurve.points.push(i.look),this._upCurve.points.push(i.up)}},{key:"addFrames",value:function(e){for(var t,n=0,r=e.length;n1?1:e,t.eye=this._eyeCurve.getPoint(e,As),t.look=this._lookCurve.getPoint(e,As),t.up=this._upCurve.getPoint(e,As)}},{key:"sampleFrame",value:function(e,t,n,r){e=e<0?0:e>1?1:e,this._eyeCurve.getPoint(e,t),this._lookCurve.getPoint(e,n),this._upCurve.getPoint(e,r)}},{key:"smoothFrameTimes",value:function(e){if(0!==this._frames.length){var t=$.vec3(),n=0;this._frames[0].t=0;for(var r=[],i=1,a=this._frames.length;i1&&void 0!==arguments[1]?arguments[1]:{};return b(this,n),(r=t.call(this,e,i))._look1=$.vec3(),r._eye1=$.vec3(),r._up1=$.vec3(),r._look2=$.vec3(),r._eye2=$.vec3(),r._up2=$.vec3(),r._orthoScale1=1,r._orthoScale2=1,r._flying=!1,r._flyEyeLookUp=!1,r._flyingEye=!1,r._flyingLook=!1,r._callback=null,r._callbackScope=null,r._time1=null,r._time2=null,r.easing=!1!==i.easing,r.duration=i.duration,r.fit=i.fit,r.fitFOV=i.fitFOV,r.trail=i.trail,r}return P(n,[{key:"type",get:function(){return"CameraFlightAnimation"}},{key:"flyTo",value:function(e,t,n){e=e||this.scene,this._flying&&this.stop(),this._flying=!1,this._flyingEye=!1,this._flyingLook=!1,this._flyingEyeLookUp=!1,this._callback=t,this._callbackScope=n;var r,i,a,s,o,l=this.scene.camera,u=!!e.projection&&e.projection!==l.projection;if(this._eye1[0]=l.eye[0],this._eye1[1]=l.eye[1],this._eye1[2]=l.eye[2],this._look1[0]=l.look[0],this._look1[1]=l.look[1],this._look1[2]=l.look[2],this._up1[0]=l.up[0],this._up1[1]=l.up[1],this._up1[2]=l.up[2],this._orthoScale1=l.ortho.scale,this._orthoScale2=e.orthoScale||this._orthoScale1,e.aabb)r=e.aabb;else if(6===e.length)r=e;else if(e.eye&&e.look||e.up)i=e.eye,a=e.look,s=e.up;else if(e.eye)i=e.eye;else if(e.look)a=e.look;else{var c=e;if((le.isNumeric(c)||le.isString(c))&&(o=c,!(c=this.scene.components[o])))return this.error("Component not found: "+le.inQuotes(o)),void(t&&(n?t.call(n):t()));u||(r=c.aabb||this.scene.aabb)}var f=e.poi;if(r){if(r[3]=1;e>1&&(e=1);var r=this.easing?n._ease(e,0,1,1):e,i=this.scene.camera;if(this._flyingEye||this._flyingLook?this._flyingEye?($.subVec3(i.eye,i.look,ms),i.eye=$.lerpVec3(r,0,1,this._eye1,this._eye2,Is),i.look=$.subVec3(Is,ms,hs)):this._flyingLook&&(i.look=$.lerpVec3(r,0,1,this._look1,this._look2,hs),i.up=$.lerpVec3(r,0,1,this._up1,this._up2,ys)):this._flyingEyeLookUp&&(i.eye=$.lerpVec3(r,0,1,this._eye1,this._eye2,Is),i.look=$.lerpVec3(r,0,1,this._look1,this._look2,hs),i.up=$.lerpVec3(r,0,1,this._up1,this._up2,ys)),this._projection2){var a="ortho"===this._projection2?n._easeOutExpo(e,0,1,1):n._easeInCubic(e,0,1,1);i.customProjection.matrix=$.lerpMat4(a,0,1,this._projMatrix1,this._projMatrix2)}else i.ortho.scale=this._orthoScale1+e*(this._orthoScale2-this._orthoScale1);if(t)return i.ortho.scale=this._orthoScale2,void this.stop();he.scheduleTask(this._update,this)}}},{key:"stop",value:function(){if(this._flying){this._flying=!1,this._time1=null,this._time2=null,this._projection2&&(this.scene.camera.projection=this._projection2);var e=this._callback;e&&(this._callback=null,this._callbackScope?e.call(this._callbackScope):e()),this.fire("stopped",!0,!0)}}},{key:"cancel",value:function(){this._flying&&(this._flying=!1,this._time1=null,this._time2=null,this._callback&&(this._callback=null),this.fire("canceled",!0,!0))}},{key:"duration",get:function(){return this._duration/1e3},set:function(e){this._duration=e?1e3*e:500,this.stop()}},{key:"fit",get:function(){return this._fit},set:function(e){this._fit=!1!==e}},{key:"fitFOV",get:function(){return this._fitFOV},set:function(e){this._fitFOV=e||45}},{key:"trail",get:function(){return this._trail},set:function(e){this._trail=!!e}},{key:"destroy",value:function(){this.stop(),v(E(n.prototype),"destroy",this).call(this)}}],[{key:"_ease",value:function(e,t,n,r){return-n*(e/=r)*(e-2)+t}},{key:"_easeInCubic",value:function(e,t,n,r){return n*(e/=r)*e*e+t}},{key:"_easeOutExpo",value:function(e,t,n,r){return n*(1-Math.pow(2,-10*e/r))+t}}]),n}(),gs=function(e){I(n,ye);var t=m(n);function n(e){var r,i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return b(this,n),(r=t.call(this,e,i))._cameraFlightAnimation=new ws(g(r)),r._t=0,r.state=n.SCRUBBING,r._playingFromT=0,r._playingToT=0,r._playingRate=i.playingRate||1,r._playingDir=1,r._lastTime=null,r.cameraPath=i.cameraPath,r._tick=r.scene.on("tick",r._updateT,g(r)),r}return P(n,[{key:"type",get:function(){return"CameraPathAnimation"}},{key:"_updateT",value:function(){var e=this._cameraPath;if(e){var t,r,i=performance.now(),a=this._lastTime?.001*(i-this._lastTime):0;if(this._lastTime=i,0!==a)switch(this.state){case n.SCRUBBING:return;case n.PLAYING:if(this._t+=this._playingRate*a,0===(t=this._cameraPath.frames.length)||this._playingDir<0&&this._t<=0||this._playingDir>0&&this._t>=this._cameraPath.frames[t-1].t)return this.state=n.SCRUBBING,this._t=this._cameraPath.frames[t-1].t,void this.fire("stopped");e.loadFrame(this._t);break;case n.PLAYING_TO:r=this._t+this._playingRate*a*this._playingDir,(this._playingDir<0&&r<=this._playingToT||this._playingDir>0&&r>=this._playingToT)&&(r=this._playingToT,this.state=n.SCRUBBING,this.fire("stopped")),this._t=r,e.loadFrame(this._t)}}}},{key:"_ease",value:function(e,t,n,r){return-n*(e/=r)*(e-2)+t}},{key:"cameraPath",get:function(){return this._cameraPath},set:function(e){this._cameraPath=e}},{key:"rate",get:function(){return this._playingRate},set:function(e){this._playingRate=e}},{key:"play",value:function(){this._cameraPath&&(this._lastTime=null,this.state=n.PLAYING)}},{key:"playToT",value:function(e){this._cameraPath&&(this._playingFromT=this._t,this._playingToT=e,this._playingDir=this._playingToT-this._playingFromT<0?-1:1,this._lastTime=null,this.state=n.PLAYING_TO)}},{key:"playToFrame",value:function(e){var t=this._cameraPath;if(t){var n=t.frames[e];n?this.playToT(n.t):this.error("playToFrame - frame index out of range: "+e)}}},{key:"flyToFrame",value:function(e,t){var r=this._cameraPath;if(r){var i=r.frames[e];i?(this.state=n.SCRUBBING,this._cameraFlightAnimation.flyTo(i,t)):this.error("flyToFrame - frame index out of range: "+e)}}},{key:"scrubToT",value:function(e){var t=this._cameraPath;t&&(this.scene.camera&&(this._t=e,t.loadFrame(this._t),this.state=n.SCRUBBING))}},{key:"scrubToFrame",value:function(e){var t=this._cameraPath;t&&(this.scene.camera&&(t.frames[e]?(t.loadFrame(this._t),this.state=n.SCRUBBING):this.error("playToFrame - frame index out of range: "+e)))}},{key:"stop",value:function(){this.state=n.SCRUBBING,this.fire("stopped")}},{key:"destroy",value:function(){v(E(n.prototype),"destroy",this).call(this),this.scene.off(this._tick)}}]),n}();gs.STOPPED=0,gs.SCRUBBING=1,gs.PLAYING=2,gs.PLAYING_TO=3;var Es=$.vec3(),Ts=$.vec3();$.vec3();var bs=$.vec3([0,-1,0]),Ds=$.vec4([0,0,0,1]),Ps=function(e){I(n,ye);var t=m(n);function n(e){var r,i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return b(this,n),(r=t.call(this,e,i))._src=null,r._image=null,r._pos=$.vec3(),r._origin=$.vec3(),r._rtcPos=$.vec3(),r._dir=$.vec3(),r._size=1,r._imageSize=$.vec2(),r._texture=new Ba(g(r)),r._plane=new Ji(g(r),{geometry:new Cn(g(r),Ga({center:[0,0,0],xSize:1,zSize:1,xSegments:10,zSegments:10})),material:new Nn(g(r),{diffuse:[0,0,0],ambient:[0,0,0],specular:[0,0,0],diffuseMap:r._texture,emissiveMap:r._texture,backfaces:!0}),clippable:i.clippable}),r._grid=new Ji(g(r),{geometry:new Cn(g(r),Ua({size:1,divisions:10})),material:new Nn(g(r),{diffuse:[0,0,0],ambient:[0,0,0],emissive:[.2,.8,.2]}),position:[0,.001,0],clippable:i.clippable}),r._node=new da(g(r),{rotation:[0,0,0],position:[0,0,0],scale:[1,1,1],clippable:!1,children:[r._plane,r._grid]}),r._gridVisible=!1,r.visible=!0,r.gridVisible=i.gridVisible,r.position=i.position,r.rotation=i.rotation,r.dir=i.dir,r.size=i.size,r.collidable=i.collidable,r.clippable=i.clippable,r.pickable=i.pickable,r.opacity=i.opacity,i.image?r.image=i.image:r.src=i.src,r}return P(n,[{key:"visible",get:function(){return this._plane.visible},set:function(e){this._plane.visible=e,this._grid.visible=this._gridVisible&&e}},{key:"gridVisible",get:function(){return this._gridVisible},set:function(e){e=!1!==e,this._gridVisible=e,this._grid.visible=this._gridVisible&&this.visible}},{key:"image",get:function(){return this._image},set:function(e){this._image=e,this._image&&(this._imageSize[0]=e.width,this._imageSize[1]=e.height,this._updatePlaneSizeFromImage(),this._src=null,this._texture.image=this._image)}},{key:"src",get:function(){return this._src},set:function(e){var t=this;if(this._src=e,this._src){this._image=null;var n=new Image;n.onload=function(){t._texture.image=n,t._imageSize[0]=n.width,t._imageSize[1]=n.height,t._updatePlaneSizeFromImage()},n.src=this._src}}},{key:"position",get:function(){return this._pos},set:function(e){this._pos.set(e||[0,0,0]),Oe(this._pos,this._origin,this._rtcPos),this._node.origin=this._origin,this._node.position=this._rtcPos}},{key:"rotation",get:function(){return this._node.rotation},set:function(e){this._node.rotation=e}},{key:"size",get:function(){return this._size},set:function(e){this._size=null==e?1:e,this._image&&this._updatePlaneSizeFromImage()}},{key:"dir",get:function(){return this._dir},set:function(e){if(this._dir.set(e||[0,0,-1]),e){var t=this.scene.center,n=[-this._dir[0],-this._dir[1],-this._dir[2]];$.subVec3(t,this.position,Es);var r=-$.dotVec3(n,Es);$.normalizeVec3(n),$.mulVec3Scalar(n,r,Ts),$.vec3PairToQuaternion(bs,e,Ds),this._node.quaternion=Ds}}},{key:"collidable",get:function(){return this._node.collidable},set:function(e){this._node.collidable=!1!==e}},{key:"clippable",get:function(){return this._node.clippable},set:function(e){this._node.clippable=!1!==e}},{key:"pickable",get:function(){return this._node.pickable},set:function(e){this._node.pickable=!1!==e}},{key:"opacity",get:function(){return this._node.opacity},set:function(e){this._node.opacity=e}},{key:"destroy",value:function(){v(E(n.prototype),"destroy",this).call(this)}},{key:"_updatePlaneSizeFromImage",value:function(){var e=this._size,t=this._imageSize[0],n=this._imageSize[1];if(t>n){var r=n/t;this._node.scale=[e,1,e*r]}else{var i=t/n;this._node.scale=[e*i,1,e]}}}]),n}(),Rs=function(e){I(n,dn);var t=m(n);function n(e){var r,i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};b(this,n);var a=g(r=t.call(this,e,i));r._shadowRenderBuf=null,r._shadowViewMatrix=null,r._shadowProjMatrix=null,r._shadowViewMatrixDirty=!0,r._shadowProjMatrixDirty=!0;var s=r.scene.camera,o=r.scene.canvas;return r._onCameraViewMatrix=s.on("viewMatrix",(function(){r._shadowViewMatrixDirty=!0})),r._onCameraProjMatrix=s.on("projMatrix",(function(){r._shadowProjMatrixDirty=!0})),r._onCanvasBoundary=o.on("boundary",(function(){r._shadowProjMatrixDirty=!0})),r._state=new Wt({type:"point",pos:$.vec3([1,1,1]),color:$.vec3([.7,.7,.8]),intensity:1,attenuation:[0,0,0],space:i.space||"view",castsShadow:!1,getShadowViewMatrix:function(){if(a._shadowViewMatrixDirty){a._shadowViewMatrix||(a._shadowViewMatrix=$.identityMat4());var e=a._state.pos,t=s.look,n=s.up;$.lookAtMat4v(e,t,n,a._shadowViewMatrix),a._shadowViewMatrixDirty=!1}return a._shadowViewMatrix},getShadowProjMatrix:function(){if(a._shadowProjMatrixDirty){a._shadowProjMatrix||(a._shadowProjMatrix=$.identityMat4());var e=a.scene.canvas.canvas;$.perspectiveMat4(Math.PI/180*70,e.clientWidth/e.clientHeight,.1,500,a._shadowProjMatrix),a._shadowProjMatrixDirty=!1}return a._shadowProjMatrix},getShadowRenderBuf:function(){return a._shadowRenderBuf||(a._shadowRenderBuf=new Ut(a.scene.canvas.canvas,a.scene.canvas.gl,{size:[1024,1024]})),a._shadowRenderBuf}}),r.pos=i.pos,r.color=i.color,r.intensity=i.intensity,r.constantAttenuation=i.constantAttenuation,r.linearAttenuation=i.linearAttenuation,r.quadraticAttenuation=i.quadraticAttenuation,r.castsShadow=i.castsShadow,r.scene._lightCreated(g(r)),r}return P(n,[{key:"type",get:function(){return"PointLight"}},{key:"pos",get:function(){return this._state.pos},set:function(e){this._state.pos.set(e||[1,1,1]),this._shadowViewMatrixDirty=!0,this.glRedraw()}},{key:"color",get:function(){return this._state.color},set:function(e){this._state.color.set(e||[.7,.7,.8]),this.glRedraw()}},{key:"intensity",get:function(){return this._state.intensity},set:function(e){e=void 0!==e?e:1,this._state.intensity=e,this.glRedraw()}},{key:"constantAttenuation",get:function(){return this._state.attenuation[0]},set:function(e){this._state.attenuation[0]=e||0,this.glRedraw()}},{key:"linearAttenuation",get:function(){return this._state.attenuation[1]},set:function(e){this._state.attenuation[1]=e||0,this.glRedraw()}},{key:"quadraticAttenuation",get:function(){return this._state.attenuation[2]},set:function(e){this._state.attenuation[2]=e||0,this.glRedraw()}},{key:"castsShadow",get:function(){return this._state.castsShadow},set:function(e){e=!!e,this._state.castsShadow!==e&&(this._state.castsShadow=e,this._shadowViewMatrixDirty=!0,this.glRedraw())}},{key:"destroy",value:function(){var e=this.scene.camera,t=this.scene.canvas;e.off(this._onCameraViewMatrix),e.off(this._onCameraProjMatrix),t.off(this._onCanvasBoundary),v(E(n.prototype),"destroy",this).call(this),this._state.destroy(),this._shadowRenderBuf&&this._shadowRenderBuf.destroy(),this.scene._lightDestroyed(this),this.glRedraw()}}]),n}();function Cs(e){return 0==(e&e-1)}function _s(e){--e;for(var t=1;t<32;t<<=1)e|=e>>t;return e+1}var Bs=function(e){I(n,ye);var t=m(n);function n(e){var r,i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};b(this,n);var a=(r=t.call(this,e,i)).scene.canvas.gl;return r._state=new Wt({texture:new ba({gl:a,target:a.TEXTURE_CUBE_MAP}),flipY:r._checkFlipY(i.minFilter),encoding:r._checkEncoding(i.encoding),minFilter:1008,magFilter:1006,wrapS:1001,wrapT:1001,mipmaps:!0}),r._src=i.src,r._images=[],r._loadSrc(i.src),re.memory.textures++,r}return P(n,[{key:"type",get:function(){return"CubeTexture"}},{key:"_checkFlipY",value:function(e){return!!e}},{key:"_checkEncoding",value:function(e){return 3e3!==(e=e||3e3)&&3001!==e&&(this.error("Unsupported value for 'encoding' - supported values are LinearEncoding and sRGBEncoding. Defaulting to LinearEncoding."),e=3e3),e}},{key:"_webglContextRestored",value:function(){this.scene.canvas.gl,this._state.texture=null,this._src&&this._loadSrc(this._src)}},{key:"_loadSrc",value:function(e){var t=this,n=this.scene.canvas.gl;this._images=[];for(var r=!1,i=0,a=function(a){var s,o,l=new Image;l.onload=(s=l,o=a,function(){if(!r&&(s=function(e){if(!Cs(e.width)||!Cs(e.height)){var t=document.createElement("canvas");t.width=_s(e.width),t.height=_s(e.height),t.getContext("2d").drawImage(e,0,0,e.width,e.height,0,0,t.width,t.height),e=t}return e}(s),t._images[o]=s,6==++i)){var e=t._state.texture;e||(e=new ba({gl:n,target:n.TEXTURE_CUBE_MAP}),t._state.texture=e),e.setImage(t._images,t._state),t.fire("loaded",t._src,!1),t.glRedraw()}}),l.onerror=function(){r=!0},l.src=e[a]},s=0;s1&&void 0!==arguments[1]?arguments[1]:{};return b(this,n),(r=t.call(this,e,i)).scene._lightsState.addReflectionMap(r._state),r.scene._reflectionMapCreated(g(r)),r}return P(n,[{key:"type",get:function(){return"ReflectionMap"}},{key:"destroy",value:function(){v(E(n.prototype),"destroy",this).call(this),this.scene._reflectionMapDestroyed(this)}}]),n}(),Ss=function(e){I(n,Bs);var t=m(n);function n(e){var r,i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return b(this,n),(r=t.call(this,e,i)).scene._lightMapCreated(g(r)),r}return P(n,[{key:"type",get:function(){return"LightMap"}},{key:"destroy",value:function(){v(E(n.prototype),"destroy",this).call(this),this.scene._lightMapDestroyed(this)}}]),n}(),Ns=function(e){I(n,Xe);var t=m(n);function n(e){var r,i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return b(this,n),(r=t.call(this,e,{entity:i.entity,occludable:i.occludable,worldPos:i.worldPos}))._occluded=!1,r._visible=!0,r._src=null,r._image=null,r._pos=$.vec3(),r._origin=$.vec3(),r._rtcPos=$.vec3(),r._dir=$.vec3(),r._size=1,r._imageSize=$.vec2(),r._texture=new Ba(g(r),{src:i.src}),r._geometry=new Cn(g(r),{primitive:"triangles",positions:[3,3,0,-3,3,0,-3,-3,0,3,-3,0],normals:[-1,0,0,-1,0,0,-1,0,0,-1,0,0],uv:[1,-1,0,-1,0,0,1,0],indices:[0,1,2,0,2,3]}),r._mesh=new Ji(g(r),{geometry:r._geometry,material:new Nn(g(r),{ambient:[.9,.3,.9],shininess:30,diffuseMap:r._texture,backfaces:!0}),scale:[1,1,1],position:i.worldPos,rotation:[90,0,0],billboard:"spherical",occluder:!1}),r.visible=!0,r.collidable=i.collidable,r.clippable=i.clippable,r.pickable=i.pickable,r.opacity=i.opacity,r.size=i.size,i.image?r.image=i.image:r.src=i.src,r}return P(n,[{key:"_setVisible",value:function(e){this._occluded=!e,this._mesh.visible=this._visible&&!this._occluded,v(E(n.prototype),"_setVisible",this).call(this,e)}},{key:"visible",get:function(){return this._visible},set:function(e){this._visible=null==e||e,this._mesh.visible=this._visible&&!this._occluded}},{key:"image",get:function(){return this._image},set:function(e){this._image=e,this._image&&(this._imageSize[0]=this._image.width,this._imageSize[1]=this._image.height,this._updatePlaneSizeFromImage(),this._src=null,this._texture.image=this._image)}},{key:"src",get:function(){return this._src},set:function(e){var t=this;if(this._src=e,this._src){this._image=null;var n=new Image;n.onload=function(){t._texture.image=n,t._imageSize[0]=n.width,t._imageSize[1]=n.height,t._updatePlaneSizeFromImage()},n.src=this._src}}},{key:"size",get:function(){return this._size},set:function(e){this._size=null==e?1:e,this._image&&this._updatePlaneSizeFromImage()}},{key:"collidable",get:function(){return this._mesh.collidable},set:function(e){this._mesh.collidable=!1!==e}},{key:"clippable",get:function(){return this._mesh.clippable},set:function(e){this._mesh.clippable=!1!==e}},{key:"pickable",get:function(){return this._mesh.pickable},set:function(e){this._mesh.pickable=!1!==e}},{key:"opacity",get:function(){return this._mesh.opacity},set:function(e){this._mesh.opacity=e}},{key:"_updatePlaneSizeFromImage",value:function(){var e=.5*this._size,t=this._imageSize[0],n=this._imageSize[1],r=n/t;this._geometry.positions=t>n?[e,e*r,0,-e,e*r,0,-e,-e*r,0,e,-e*r,0]:[e/r,e,0,-e/r,e,0,-e/r,-e,0,e/r,-e,0]}}]),n}(),Ls=function(){function e(t){b(this,e),this._eye=$.vec3(),this._look=$.vec3(),this._up=$.vec3(),this._projection={},t&&this.saveCamera(t)}return P(e,[{key:"saveCamera",value:function(e){var t=e.camera,n=t.project;switch(this._eye.set(t.eye),this._look.set(t.look),this._up.set(t.up),t.projection){case"perspective":this._projection={projection:"perspective",fov:n.fov,fovAxis:n.fovAxis,near:n.near,far:n.far};break;case"ortho":this._projection={projection:"ortho",scale:n.scale,near:n.near,far:n.far};break;case"frustum":this._projection={projection:"frustum",left:n.left,right:n.right,top:n.top,bottom:n.bottom,near:n.near,far:n.far};break;case"custom":this._projection={projection:"custom",matrix:n.matrix.slice()}}}},{key:"restoreCamera",value:function(e,t){var n=e.camera,r=this._projection;function i(){switch(r.type){case"perspective":n.perspective.fov=r.fov,n.perspective.fovAxis=r.fovAxis,n.perspective.near=r.near,n.perspective.far=r.far;break;case"ortho":n.ortho.scale=r.scale,n.ortho.near=r.near,n.ortho.far=r.far;break;case"frustum":n.frustum.left=r.left,n.frustum.right=r.right,n.frustum.top=r.top,n.frustum.bottom=r.bottom,n.frustum.near=r.near,n.frustum.far=r.far;break;case"custom":n.customProjection.matrix=r.matrix}}t?e.viewer.cameraFlight.flyTo({eye:this._eye,look:this._look,up:this._up,orthoScale:r.scale,projection:r.projection},(function(){i(),t()})):(n.eye=this._eye,n.look=this._look,n.up=this._up,i(),n.projection=r.projection)}}]),e}(),xs=$.vec3(),Ms=function(){function e(t){if(b(this,e),this.objectsVisible=[],this.objectsEdges=[],this.objectsXrayed=[],this.objectsHighlighted=[],this.objectsSelected=[],this.objectsClippable=[],this.objectsPickable=[],this.objectsColorize=[],this.objectsOpacity=[],this.numObjects=0,t){var n=t.metaScene.scene;this.saveObjects(n,t)}}return P(e,[{key:"saveObjects",value:function(e,t,n){this.numObjects=0,this._mask=n?le.apply(n,{}):null;for(var r=!n||n.visible,i=!n||n.edges,a=!n||n.xrayed,s=!n||n.highlighted,o=!n||n.selected,l=!n||n.clippable,u=!n||n.pickable,c=!n||n.colorize,f=!n||n.opacity,p=t.metaObjects,A=e.objects,d=0,v=p.length;d1&&void 0!==arguments[1]?arguments[1]:{};return b(this,n),(r=t.call(this,e,i)).v0=i.v0,r.v1=i.v1,r.v2=i.v2,r.v3=i.v3,r.t=i.t,r}return P(n,[{key:"v0",get:function(){return this._v0},set:function(e){this._v0=e||$.vec3([0,0,0])}},{key:"v1",get:function(){return this._v1},set:function(e){this._v1=e||$.vec3([0,0,0])}},{key:"v2",get:function(){return this._v2},set:function(e){this._v2=e||$.vec3([0,0,0])}},{key:"v3",get:function(){return this._v3},set:function(e){this.fire("v3",this._v3=e||$.vec3([0,0,0]))}},{key:"t",get:function(){return this._t},set:function(e){e=e||0,this._t=e<0?0:e>1?1:e}},{key:"point",get:function(){return this.getPoint(this._t)}},{key:"getPoint",value:function(e){var t=$.vec3();return t[0]=$.b3(e,this._v0[0],this._v1[0],this._v2[0],this._v3[0]),t[1]=$.b3(e,this._v0[1],this._v1[1],this._v2[1],this._v3[1]),t[2]=$.b3(e,this._v0[2],this._v1[2],this._v2[2],this._v3[2]),t}},{key:"getJSON",value:function(){return{v0:this._v0,v1:this._v1,v2:this._v2,v3:this._v3,t:this._t}}}]),n}(),Gs=function(e){I(n,fs);var t=m(n);function n(e){var r,i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return b(this,n),(r=t.call(this,e,i))._cachedLengths=[],r._dirty=!0,r._curves=[],r._t=0,r._dirtySubs=[],r._destroyedSubs=[],r.curves=i.curves||[],r.t=i.t,r}return P(n,[{key:"addCurve",value:function(e){this._curves.push(e),this._dirty=!0}},{key:"curves",get:function(){return this._curves},set:function(e){var t,n,r;for(e=e||[],n=0,r=this._curves.length;n1?1:e}},{key:"point",get:function(){return this.getPoint(this._t)}},{key:"length",get:function(){var e=this._getCurveLengths();return e[e.length-1]}},{key:"getPoint",value:function(e){for(var t,n=e*this.length,r=this._getCurveLengths(),i=0;i=n){var a=1-(r[i]-n)/(t=this._curves[i]).length;return t.getPointAt(a)}i++}return null}},{key:"_getCurveLengths",value:function(){if(!this._dirty)return this._cachedLengths;var e,t=[],n=0,r=this._curves.length;for(e=0;e1&&void 0!==arguments[1]?arguments[1]:{};return b(this,n),(r=t.call(this,e,i)).v0=i.v0,r.v1=i.v1,r.v2=i.v2,r.t=i.t,r}return P(n,[{key:"v0",get:function(){return this._v0},set:function(e){this._v0=e||$.vec3([0,0,0])}},{key:"v1",get:function(){return this._v1},set:function(e){this._v1=e||$.vec3([0,0,0])}},{key:"v2",get:function(){return this._v2},set:function(e){this._v2=e||$.vec3([0,0,0])}},{key:"t",get:function(){return this._t},set:function(e){e=e||0,this._t=e<0?0:e>1?1:e}},{key:"point",get:function(){return this.getPoint(this._t)}},{key:"getPoint",value:function(e){var t=$.vec3();return t[0]=$.b2(e,this._v0[0],this._v1[0],this._v2[0]),t[1]=$.b2(e,this._v0[1],this._v1[1],this._v2[1]),t[2]=$.b2(e,this._v0[2],this._v1[2],this._v2[2]),t}},{key:"getJSON",value:function(){return{v0:this._v0,v1:this._v1,v2:this._v2,t:this._t}}}]),n}(),js=$.OBB3(),Vs=$.OBB3(),Qs=$.OBB3(),Ws=function(){function e(t,n,r,i,a,s){var o=arguments.length>6&&void 0!==arguments[6]?arguments[6]:null,l=arguments.length>7&&void 0!==arguments[7]?arguments[7]:0;b(this,e),this.model=t,this.object=null,this.parent=null,this.transform=a,this.textureSet=s,this._matrixDirty=!1,this._matrixUpdateScheduled=!1,this.id=n,this.obb=null,this._aabbLocal=null,this._aabbWorld=$.AABB3(),this._aabbWorldDirty=!1,this.layer=o,this.portionId=l,this._color=new Uint8Array([r[0],r[1],r[2],i]),this._colorize=new Uint8Array([r[0],r[1],r[2],i]),this._colorizing=!1,this._transparent=i<255,this.numTriangles=0,this.origin=null,this.entity=null,a&&a._addMesh(this)}return P(e,[{key:"_sceneModelDirty",value:function(){this._aabbWorldDirty=!0,this.layer.aabbDirty=!0}},{key:"_transformDirty",value:function(){this._matrixDirty||this._matrixUpdateScheduled||(this.model._meshMatrixDirty(this),this._matrixDirty=!0,this._matrixUpdateScheduled=!0),this._aabbWorldDirty=!0,this.layer.aabbDirty=!0,this.entity&&this.entity._transformDirty()}},{key:"_updateMatrix",value:function(){this.transform&&this._matrixDirty&&this.layer.setMatrix(this.portionId,this.transform.worldMatrix),this._matrixDirty=!1,this._matrixUpdateScheduled=!1}},{key:"_finalize",value:function(e){this.layer.initFlags(this.portionId,e,this._transparent)}},{key:"_finalize2",value:function(){this.layer.flushInitFlags&&this.layer.flushInitFlags()}},{key:"_setVisible",value:function(e){this.layer.setVisible(this.portionId,e,this._transparent)}},{key:"_setColor",value:function(e){this._color[0]=e[0],this._color[1]=e[1],this._color[2]=e[2],this._colorizing||this.layer.setColor(this.portionId,this._color,!1)}},{key:"_setColorize",value:function(e){e?(this._colorize[0]=e[0],this._colorize[1]=e[1],this._colorize[2]=e[2],this.layer.setColor(this.portionId,this._colorize,false),this._colorizing=!0):(this.layer.setColor(this.portionId,this._color,false),this._colorizing=!1)}},{key:"_setOpacity",value:function(e,t){var n=e<255,r=this._transparent!==n;this._color[3]=e,this._colorize[3]=e,this._transparent=n,this._colorizing?this.layer.setColor(this.portionId,this._colorize):this.layer.setColor(this.portionId,this._color),r&&this.layer.setTransparent(this.portionId,t,n)}},{key:"_setOffset",value:function(e){this.layer.setOffset(this.portionId,e)}},{key:"_setHighlighted",value:function(e){this.layer.setHighlighted(this.portionId,e,this._transparent)}},{key:"_setXRayed",value:function(e){this.layer.setXRayed(this.portionId,e,this._transparent)}},{key:"_setSelected",value:function(e){this.layer.setSelected(this.portionId,e,this._transparent)}},{key:"_setEdges",value:function(e){this.layer.setEdges(this.portionId,e,this._transparent)}},{key:"_setClippable",value:function(e){this.layer.setClippable(this.portionId,e,this._transparent)}},{key:"_setCollidable",value:function(e){this.layer.setCollidable(this.portionId,e)}},{key:"_setPickable",value:function(e){this.layer.setPickable(this.portionId,e,this._transparent)}},{key:"_setCulled",value:function(e){this.layer.setCulled(this.portionId,e,this._transparent)}},{key:"canPickTriangle",value:function(){return!1}},{key:"drawPickTriangles",value:function(e,t){}},{key:"pickTriangleSurface",value:function(e){}},{key:"precisionRayPickSurface",value:function(e,t,n,r){return!!this.layer.precisionRayPickSurface&&this.layer.precisionRayPickSurface(this.portionId,e,t,n,r)}},{key:"canPickWorldPos",value:function(){return!0}},{key:"drawPickDepths",value:function(e){this.model.drawPickDepths(e)}},{key:"drawPickNormals",value:function(e){this.model.drawPickNormals(e)}},{key:"delegatePickedEntity",value:function(){return this.parent}},{key:"getEachVertex",value:function(e){this.layer.getEachVertex(this.portionId,e)}},{key:"aabb",get:function(){if(this._aabbWorldDirty){if($.AABB3ToOBB3(this._aabbLocal,js),this.transform?($.transformOBB3(this.transform.worldMatrix,js,Vs),$.transformOBB3(this.model.worldMatrix,Vs,Qs),$.OBB3ToAABB3(Qs,this._aabbWorld)):($.transformOBB3(this.model.worldMatrix,js,Vs),$.OBB3ToAABB3(Vs,this._aabbWorld)),this.origin){var e=this.origin;this._aabbWorld[0]+=e[0],this._aabbWorld[1]+=e[1],this._aabbWorld[2]+=e[2],this._aabbWorld[3]+=e[0],this._aabbWorld[4]+=e[1],this._aabbWorld[5]+=e[2]}this._aabbWorldDirty=!1}return this._aabbWorld},set:function(e){this._aabbLocal=e}},{key:"_destroy",value:function(){this.model.scene._renderer.putPickID(this.pickId)}}]),e}(),zs=new(function(){function e(){b(this,e),this._uint8Arrays={},this._float32Arrays={}}return P(e,[{key:"_clear",value:function(){this._uint8Arrays={},this._float32Arrays={}}},{key:"getUInt8Array",value:function(e){var t=this._uint8Arrays[e];return t||(t=new Uint8Array(e),this._uint8Arrays[e]=t),t}},{key:"getFloat32Array",value:function(e){var t=this._float32Arrays[e];return t||(t=new Float32Array(e),this._float32Arrays[e]=t),t}}]),e}()),Ks=0;function Ys(){return Ks++,zs}var Xs={NOT_RENDERED:0,COLOR_OPAQUE:1,COLOR_TRANSPARENT:2,SILHOUETTE_HIGHLIGHTED:3,SILHOUETTE_SELECTED:4,SILHOUETTE_XRAYED:5,EDGES_COLOR_OPAQUE:6,EDGES_COLOR_TRANSPARENT:7,EDGES_HIGHLIGHTED:8,EDGES_SELECTED:9,EDGES_XRAYED:10,PICK:11},qs=new Float32Array([1,1,1,1]),Js=new Float32Array([0,0,0,1]),Zs=$.vec4(),$s=$.vec3(),eo=$.vec3(),to=$.mat4(),no=function(){function e(t){var n=arguments.length>1&&void 0!==arguments[1]&&arguments[1],r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},i=r.instancing,a=void 0!==i&&i,s=r.edges,o=void 0!==s&&s;b(this,e),this._scene=t,this._withSAO=n,this._instancing=a,this._edges=o,this._hash=this._getHash(),this._matricesUniformBlockBufferBindingPoint=0,this._matricesUniformBlockBuffer=this._scene.canvas.gl.createBuffer(),this._matricesUniformBlockBufferData=new Float32Array(96),this._vaoCache=new WeakMap,this._allocate()}return P(e,[{key:"_getHash",value:function(){return this._scene._sectionPlanesState.getHash()}},{key:"_buildShader",value:function(){return{vertex:this._buildVertexShader(),fragment:this._buildFragmentShader()}}},{key:"_buildVertexShader",value:function(){return[""]}},{key:"_buildFragmentShader",value:function(){return[""]}},{key:"_addMatricesUniformBlockLines",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];return e.push("uniform Matrices {"),e.push(" mat4 worldMatrix;"),e.push(" mat4 viewMatrix;"),e.push(" mat4 projMatrix;"),e.push(" mat4 positionsDecodeMatrix;"),t&&(e.push(" mat4 worldNormalMatrix;"),e.push(" mat4 viewNormalMatrix;")),e.push("};"),e}},{key:"_addRemapClipPosLines",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1;return e.push("uniform vec2 drawingBufferSize;"),e.push("uniform vec2 pickClipPos;"),e.push("vec4 remapClipPos(vec4 clipPos) {"),e.push(" clipPos.xy /= clipPos.w;"),1===t?e.push(" clipPos.xy = (clipPos.xy - pickClipPos) * drawingBufferSize;"):e.push(" clipPos.xy = (clipPos.xy - pickClipPos) * (drawingBufferSize / float(".concat(t,"));")),e.push(" clipPos.xy *= clipPos.w;"),e.push(" return clipPos;"),e.push("}"),e}},{key:"getValid",value:function(){return this._hash===this._getHash()}},{key:"setSectionPlanesStateUniforms",value:function(e){var t=this._scene,n=t.canvas.gl,r=e.model,i=e.layerIndex,a=t._sectionPlanesState.getNumAllocatedSectionPlanes(),s=t._sectionPlanesState.sectionPlanes.length;if(a>0)for(var o=t._sectionPlanesState.sectionPlanes,l=i*s,u=r.renderFlags,c=0;c0&&(this._uReflectionMap="reflectionMap"),n.lightMaps.length>0&&(this._uLightMap="lightMap"),this._uSectionPlanes=[];for(var o=0,l=e._sectionPlanesState.getNumAllocatedSectionPlanes();o3&&void 0!==arguments[3]?arguments[3]:{},i=r.colorUniform,a=void 0!==i&&i,s=r.incrementDrawState,o=void 0!==s&&s,l=dt.MAX_TEXTURE_IMAGE_UNITS,u=this._scene,c=u.canvas.gl,f=t._state,p=t.model,A=f.textureSet,d=f.origin,v=f.positionsDecodeMatrix,h=u._lightsState,I=u.pointsMaterial,y=p.scene.camera,m=y.viewNormalMatrix,w=y.project,g=e.pickViewMatrix||y.viewMatrix,E=p.position,T=p.rotationMatrix,b=p.rotationMatrixConjugate,D=p.worldNormalMatrix;if(this._program||(this._allocate(),!this.errors)){e.lastProgramId!==this._program.id&&(e.lastProgramId=this._program.id,this._bindProgram(e)),this._vaoCache.has(t)?c.bindVertexArray(this._vaoCache.get(t)):this._vaoCache.set(t,this._makeVAO(f));var P=0,R=16;this._matricesUniformBlockBufferData.set(b,0);var C=0!==d[0]||0!==d[1]||0!==d[2],_=0!==E[0]||0!==E[1]||0!==E[2];if(C||_){var B=$s;if(C){var O=$.transformPoint3(T,d,eo);B[0]=O[0],B[1]=O[1],B[2]=O[2]}else B[0]=0,B[1]=0,B[2]=0;B[0]+=E[0],B[1]+=E[1],B[2]+=E[2],this._matricesUniformBlockBufferData.set(Be(g,B,to),P+=R)}else this._matricesUniformBlockBufferData.set(g,P+=R);if(this._matricesUniformBlockBufferData.set(e.pickProjMatrix||w.matrix,P+=R),this._matricesUniformBlockBufferData.set(v,P+=R),this._matricesUniformBlockBufferData.set(D,P+=R),this._matricesUniformBlockBufferData.set(m,P+=R),c.bindBuffer(c.UNIFORM_BUFFER,this._matricesUniformBlockBuffer),c.bufferData(c.UNIFORM_BUFFER,this._matricesUniformBlockBufferData,c.DYNAMIC_DRAW),c.bindBufferBase(c.UNIFORM_BUFFER,this._matricesUniformBlockBufferBindingPoint,this._matricesUniformBlockBuffer),c.uniform1i(this._uRenderPass,n),this.setSectionPlanesStateUniforms(t),u.logarithmicDepthBufferEnabled){if(this._uLogDepthBufFC){var S=2/(Math.log(e.pickZFar+1)/Math.LN2);c.uniform1f(this._uLogDepthBufFC,S)}this._uZFar&&c.uniform1f(this._uZFar,u.camera.project.far)}if(this._uPickInvisible&&c.uniform1i(this._uPickInvisible,e.pickInvisible),this._uPickZNear&&c.uniform1f(this._uPickZNear,e.pickZNear),this._uPickZFar&&c.uniform1f(this._uPickZFar,e.pickZFar),this._uPickClipPos&&c.uniform2fv(this._uPickClipPos,e.pickClipPos),this._uDrawingBufferSize&&c.uniform2f(this._uDrawingBufferSize,c.drawingBufferWidth,c.drawingBufferHeight),this._uUVDecodeMatrix&&c.uniformMatrix3fv(this._uUVDecodeMatrix,!1,f.uvDecodeMatrix),this._uIntensityRange&&I.filterIntensity&&c.uniform2f(this._uIntensityRange,I.minIntensity,I.maxIntensity),this._uPointSize&&c.uniform1f(this._uPointSize,I.pointSize),this._uNearPlaneHeight){var N="ortho"===u.camera.projection?1:c.drawingBufferHeight/(2*Math.tan(.5*u.camera.perspective.fov*Math.PI/180));c.uniform1f(this._uNearPlaneHeight,N)}if(A){var L=A.colorTexture,x=A.metallicRoughnessTexture,M=A.emissiveTexture,F=A.normalsTexture,H=A.occlusionTexture;this._uColorMap&&L&&(this._program.bindTexture(this._uColorMap,L.texture,e.textureUnit),e.textureUnit=(e.textureUnit+1)%l),this._uMetallicRoughMap&&x&&(this._program.bindTexture(this._uMetallicRoughMap,x.texture,e.textureUnit),e.textureUnit=(e.textureUnit+1)%l),this._uEmissiveMap&&M&&(this._program.bindTexture(this._uEmissiveMap,M.texture,e.textureUnit),e.textureUnit=(e.textureUnit+1)%l),this._uNormalMap&&F&&(this._program.bindTexture(this._uNormalMap,F.texture,e.textureUnit),e.textureUnit=(e.textureUnit+1)%l),this._uAOMap&&H&&(this._program.bindTexture(this._uAOMap,H.texture,e.textureUnit),e.textureUnit=(e.textureUnit+1)%l)}if(h.reflectionMaps.length>0&&h.reflectionMaps[0].texture&&this._uReflectionMap&&(this._program.bindTexture(this._uReflectionMap,h.reflectionMaps[0].texture,e.textureUnit),e.textureUnit=(e.textureUnit+1)%l,e.bindTexture++),h.lightMaps.length>0&&h.lightMaps[0].texture&&this._uLightMap&&(this._program.bindTexture(this._uLightMap,h.lightMaps[0].texture,e.textureUnit),e.textureUnit=(e.textureUnit+1)%l,e.bindTexture++),this._withSAO){var U=u.sao,G=U.possible;if(G){var k=c.drawingBufferWidth,j=c.drawingBufferHeight;Zs[0]=k,Zs[1]=j,Zs[2]=U.blendCutoff,Zs[3]=U.blendFactor,c.uniform4fv(this._uSAOParams,Zs),this._program.bindTexture(this._uOcclusionTexture,e.occlusionTexture,e.textureUnit),e.textureUnit=(e.textureUnit+1)%l,e.bindTexture++}}if(a){var V=this._edges?"edgeColor":"fillColor",Q=this._edges?"edgeAlpha":"fillAlpha";if(n===Xs["".concat(this._edges?"EDGES":"SILHOUETTE","_XRAYED")]){var W=u.xrayMaterial._state,z=W[V],K=W[Q];c.uniform4f(this._uColor,z[0],z[1],z[2],K)}else if(n===Xs["".concat(this._edges?"EDGES":"SILHOUETTE","_HIGHLIGHTED")]){var Y=u.highlightMaterial._state,X=Y[V],q=Y[Q];c.uniform4f(this._uColor,X[0],X[1],X[2],q)}else if(n===Xs["".concat(this._edges?"EDGES":"SILHOUETTE","_SELECTED")]){var J=u.selectedMaterial._state,Z=J[V],ee=J[Q];c.uniform4f(this._uColor,Z[0],Z[1],Z[2],ee)}else c.uniform4fv(this._uColor,this._edges?Js:qs)}this._draw({state:f,frameCtx:e,incrementDrawState:o}),c.bindVertexArray(null)}}},{key:"webglContextRestored",value:function(){this._program=null}},{key:"destroy",value:function(){this._program&&this._program.destroy(),this._program=null,re.memory.programs--}}]),e}(),ro=function(e){I(n,no);var t=m(n);function n(e,r){var i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},a=i.instancing,s=void 0!==a&&a,o=i.edges,l=void 0!==o&&o;return b(this,n),t.call(this,e,r,{instancing:s,edges:l})}return P(n,[{key:"_draw",value:function(e){var t=this._scene.canvas.gl,n=e.state,r=e.frameCtx,i=e.incrementDrawState;if(this._edges)t.drawElements(t.LINES,n.edgeIndicesBuf.numItems,n.edgeIndicesBuf.itemType,0);else{var a=r.pickElementsCount||n.indicesBuf.numItems,s=r.pickElementsOffset?r.pickElementsOffset*n.indicesBuf.itemByteSize:0;t.drawElements(t.TRIANGLES,a,n.indicesBuf.itemType,s),i&&r.drawElements++}}}]),n}(),io=function(e){I(n,ro);var t=m(n);function n(e,r){return b(this,n),t.call(this,e,r,{instancing:!1,edges:!0})}return P(n)}(),ao=function(e){I(n,no);var t=m(n);function n(e,r){var i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},a=i.edges,s=void 0!==a&&a;return b(this,n),t.call(this,e,r,{instancing:!0,edges:s})}return P(n,[{key:"_draw",value:function(e){var t=this._scene.canvas.gl,n=e.state,r=e.frameCtx,i=e.incrementDrawState;this._edges?t.drawElementsInstanced(t.LINES,n.edgeIndicesBuf.numItems,n.edgeIndicesBuf.itemType,0,n.numInstances):(t.drawElementsInstanced(t.TRIANGLES,n.indicesBuf.numItems,n.indicesBuf.itemType,0,n.numInstances),i&&r.drawElements++)}}]),n}(),so=function(e){I(n,ao);var t=m(n);function n(e,r){return b(this,n),t.call(this,e,r,{instancing:!0,edges:!0})}return P(n)}(),oo=function(e){I(n,no);var t=m(n);function n(){return b(this,n),t.apply(this,arguments)}return P(n,[{key:"_draw",value:function(e){var t=this._scene.canvas.gl,n=e.state,r=e.frameCtx,i=e.incrementDrawState;t.drawArrays(t.POINTS,0,n.positionsBuf.numItems),i&&r.drawArrays++}}]),n}(),lo=function(e){I(n,no);var t=m(n);function n(e,r){return b(this,n),t.call(this,e,r,{instancing:!0})}return P(n,[{key:"_draw",value:function(e){var t=this._scene.canvas.gl,n=e.state,r=e.frameCtx,i=e.incrementDrawState;t.drawArraysInstanced(t.POINTS,0,n.positionsBuf.numItems,n.numInstances),i&&r.drawArrays++}}]),n}(),uo=function(e){I(n,no);var t=m(n);function n(){return b(this,n),t.apply(this,arguments)}return P(n,[{key:"_draw",value:function(e){var t=this._scene.canvas.gl,n=e.state,r=e.frameCtx,i=e.incrementDrawState;t.drawElements(t.LINES,n.indicesBuf.numItems,n.indicesBuf.itemType,0),i&&r.drawElements++}}]),n}(),co=function(e){I(n,no);var t=m(n);function n(e,r){return b(this,n),t.call(this,e,r,{instancing:!0})}return P(n,[{key:"_draw",value:function(e){var t=this._scene.canvas.gl,n=e.state,r=e.frameCtx,i=e.incrementDrawState;t.drawElementsInstanced(t.LINES,n.indicesBuf.numItems,n.indicesBuf.itemType,0,n.numInstances),i&&r.drawElements++}}]),n}(),fo=function(e){I(n,ro);var t=m(n);function n(){return b(this,n),t.apply(this,arguments)}return P(n,[{key:"_getHash",value:function(){var e=this._scene;return[e._lightsState.getHash(),e._sectionPlanesState.getHash(),this._withSAO?"sao":"nosao"].join(";")}},{key:"drawLayer",value:function(e,t,r){v(E(n.prototype),"drawLayer",this).call(this,e,t,r,{incrementDrawState:!0})}},{key:"_buildVertexShader",value:function(){var e,t=this._scene,n=t._sectionPlanesState,r=t._lightsState,i=n.getNumAllocatedSectionPlanes()>0,a=[];a.push("#version 300 es"),a.push("// Triangles batching draw vertex shader"),a.push("uniform int renderPass;"),a.push("in vec3 position;"),a.push("in vec3 normal;"),a.push("in vec4 color;"),a.push("in float flags;"),t.entityOffsetsEnabled&&a.push("in vec3 offset;"),this._addMatricesUniformBlockLines(a,!0),t.logarithmicDepthBufferEnabled&&(a.push("uniform float logDepthBufFC;"),a.push("out float vFragDepth;"),a.push("bool isPerspectiveMatrix(mat4 m) {"),a.push(" return (m[2][3] == - 1.0);"),a.push("}"),a.push("out float isPerspective;")),a.push("uniform vec4 lightAmbient;");for(var s=0,o=r.lights.length;s= 0.0 ? 1.0 : -1.0, v.y >= 0.0 ? 1.0 : -1.0);"),a.push(" }"),a.push(" return normalize(v);"),a.push("}"),i&&(a.push("out vec4 vWorldPosition;"),a.push("out float vFlags;")),a.push("out vec4 vColor;"),a.push("void main(void) {"),a.push("int colorFlag = int(flags) & 0xF;"),a.push("if (colorFlag != renderPass) {"),a.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),a.push("} else {"),a.push("vec4 worldPosition = worldMatrix * (positionsDecodeMatrix * vec4(position, 1.0)); "),t.entityOffsetsEnabled&&a.push("worldPosition.xyz = worldPosition.xyz + offset;"),a.push("vec4 viewPosition = viewMatrix * worldPosition; "),a.push("vec4 worldNormal = worldNormalMatrix * vec4(octDecode(normal.xy), 0.0); "),a.push("vec3 viewNormal = normalize((viewNormalMatrix * worldNormal).xyz);"),a.push("vec3 reflectedColor = vec3(0.0, 0.0, 0.0);"),a.push("vec3 viewLightDir = vec3(0.0, 0.0, -1.0);"),a.push("float lambertian = 1.0;");for(var l=0,u=r.lights.length;l0,r=[];if(r.push("#version 300 es"),r.push("// Triangles batching draw fragment shader"),r.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),r.push("precision highp float;"),r.push("precision highp int;"),r.push("#else"),r.push("precision mediump float;"),r.push("precision mediump int;"),r.push("#endif"),e.logarithmicDepthBufferEnabled&&(r.push("in float isPerspective;"),r.push("uniform float logDepthBufFC;"),r.push("in float vFragDepth;")),this._withSAO&&(r.push("uniform sampler2D uOcclusionTexture;"),r.push("uniform vec4 uSAOParams;"),r.push("const float packUpscale = 256. / 255.;"),r.push("const float unpackDownScale = 255. / 256.;"),r.push("const vec3 packFactors = vec3( 256. * 256. * 256., 256. * 256., 256. );"),r.push("const vec4 unPackFactors = unpackDownScale / vec4( packFactors, 1. );"),r.push("float unpackRGBToFloat( const in vec4 v ) {"),r.push(" return dot( v, unPackFactors );"),r.push("}")),n){r.push("in vec4 vWorldPosition;"),r.push("in float vFlags;");for(var i=0,a=t.getNumAllocatedSectionPlanes();i> 16 & 0xF) == 1;"),r.push(" if (clippable) {"),r.push(" float dist = 0.0;");for(var s=0,o=t.getNumAllocatedSectionPlanes();s 0.0) { "),r.push(" discard;"),r.push(" }"),r.push("}")}return e.logarithmicDepthBufferEnabled&&r.push(" gl_FragDepth = isPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5;"),this._withSAO?(r.push(" float viewportWidth = uSAOParams[0];"),r.push(" float viewportHeight = uSAOParams[1];"),r.push(" float blendCutoff = uSAOParams[2];"),r.push(" float blendFactor = uSAOParams[3];"),r.push(" vec2 uv = vec2(gl_FragCoord.x / viewportWidth, gl_FragCoord.y / viewportHeight);"),r.push(" float ambient = smoothstep(blendCutoff, 1.0, unpackRGBToFloat(texture(uOcclusionTexture, uv))) * blendFactor;"),r.push(" outColor = vec4(vColor.rgb * ambient, 1.0);")):r.push(" outColor = vColor;"),r.push("}"),r}}]),n}(),po=function(e){I(n,ro);var t=m(n);function n(){return b(this,n),t.apply(this,arguments)}return P(n,[{key:"_getHash",value:function(){var e=this._scene;return[e._lightsState.getHash(),e._sectionPlanesState.getHash(),this._withSAO?"sao":"nosao"].join(";")}},{key:"_buildVertexShader",value:function(){var e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,n=[];return n.push("#version 300 es"),n.push("// Triangles batching flat-shading draw vertex shader"),n.push("uniform int renderPass;"),n.push("in vec3 position;"),n.push("in vec4 color;"),n.push("in float flags;"),e.entityOffsetsEnabled&&n.push("in vec3 offset;"),this._addMatricesUniformBlockLines(n),e.logarithmicDepthBufferEnabled&&(n.push("uniform float logDepthBufFC;"),n.push("out float vFragDepth;"),n.push("bool isPerspectiveMatrix(mat4 m) {"),n.push(" return (m[2][3] == - 1.0);"),n.push("}"),n.push("out float isPerspective;")),t&&(n.push("out vec4 vWorldPosition;"),n.push("out float vFlags;")),n.push("out vec4 vViewPosition;"),n.push("out vec4 vColor;"),n.push("void main(void) {"),n.push("int colorFlag = int(flags) & 0xF;"),n.push("if (colorFlag != renderPass) {"),n.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),n.push("} else {"),n.push("vec4 worldPosition = worldMatrix * (positionsDecodeMatrix * vec4(position, 1.0)); "),e.entityOffsetsEnabled&&n.push("worldPosition.xyz = worldPosition.xyz + offset;"),n.push("vec4 viewPosition = viewMatrix * worldPosition; "),n.push("vViewPosition = viewPosition;"),n.push("vColor = vec4(float(color.r) / 255.0, float(color.g) / 255.0, float(color.b) / 255.0, float(color.a) / 255.0);"),n.push("vec4 clipPos = projMatrix * viewPosition;"),e.logarithmicDepthBufferEnabled&&(n.push("vFragDepth = 1.0 + clipPos.w;"),n.push("isPerspective = float (isPerspectiveMatrix(projMatrix));")),t&&(n.push("vWorldPosition = worldPosition;"),n.push("vFlags = flags;")),n.push("gl_Position = clipPos;"),n.push("}"),n.push("}"),n}},{key:"_buildFragmentShader",value:function(){var e=this._scene,t=e._lightsState,n=e._sectionPlanesState,r=n.getNumAllocatedSectionPlanes()>0,i=[];if(i.push("#version 300 es"),i.push("// Triangles batching flat-shading draw fragment shader"),i.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),i.push("precision highp float;"),i.push("precision highp int;"),i.push("#else"),i.push("precision mediump float;"),i.push("precision mediump int;"),i.push("#endif"),e.logarithmicDepthBufferEnabled&&(i.push("in float isPerspective;"),i.push("uniform float logDepthBufFC;"),i.push("in float vFragDepth;")),this._withSAO&&(i.push("uniform sampler2D uOcclusionTexture;"),i.push("uniform vec4 uSAOParams;"),i.push("const float packUpscale = 256. / 255.;"),i.push("const float unpackDownScale = 255. / 256.;"),i.push("const vec3 packFactors = vec3( 256. * 256. * 256., 256. * 256., 256. );"),i.push("const vec4 unPackFactors = unpackDownScale / vec4( packFactors, 1. );"),i.push("float unpackRGBToFloat( const in vec4 v ) {"),i.push(" return dot( v, unPackFactors );"),i.push("}")),r){i.push("in vec4 vWorldPosition;"),i.push("in float vFlags;");for(var a=0,s=n.getNumAllocatedSectionPlanes();a> 16 & 0xF) == 1;"),i.push(" if (clippable) {"),i.push(" float dist = 0.0;");for(var c=0,f=n.getNumAllocatedSectionPlanes();c 0.0) { "),i.push(" discard;"),i.push(" }"),i.push("}")}i.push("vec3 reflectedColor = vec3(0.0, 0.0, 0.0);"),i.push("vec3 viewLightDir = vec3(0.0, 0.0, -1.0);"),i.push("float lambertian = 1.0;"),i.push("vec3 xTangent = dFdx( vViewPosition.xyz );"),i.push("vec3 yTangent = dFdy( vViewPosition.xyz );"),i.push("vec3 viewNormal = normalize( cross( xTangent, yTangent ) );");for(var p=0,A=t.lights.length;p0,n=[];return n.push("#version 300 es"),n.push("// Triangles batching silhouette vertex shader"),n.push("uniform int renderPass;"),n.push("in vec3 position;"),e.entityOffsetsEnabled&&n.push("in vec3 offset;"),n.push("in float flags;"),n.push("in vec4 color;"),this._addMatricesUniformBlockLines(n),n.push("uniform vec4 silhouetteColor;"),e.logarithmicDepthBufferEnabled&&(n.push("uniform float logDepthBufFC;"),n.push("out float vFragDepth;"),n.push("bool isPerspectiveMatrix(mat4 m) {"),n.push(" return (m[2][3] == - 1.0);"),n.push("}"),n.push("out float isPerspective;")),t&&(n.push("out vec4 vWorldPosition;"),n.push("out float vFlags;")),n.push("out vec4 vColor;"),n.push("void main(void) {"),n.push("int silhouetteFlag = int(flags) >> 4 & 0xF;"),n.push("if (silhouetteFlag != renderPass) {"),n.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),n.push("} else {"),n.push(" vec4 worldPosition = worldMatrix * (positionsDecodeMatrix * vec4(position, 1.0)); "),e.entityOffsetsEnabled&&n.push(" worldPosition.xyz = worldPosition.xyz + offset;"),n.push("vec4 viewPosition = viewMatrix * worldPosition; "),t&&(n.push("vWorldPosition = worldPosition;"),n.push("vFlags = flags;")),n.push("vColor = vec4(silhouetteColor.r, silhouetteColor.g, silhouetteColor.b, min(silhouetteColor.a, float(color.a) / 255.0));"),n.push("vec4 clipPos = projMatrix * viewPosition;"),e.logarithmicDepthBufferEnabled&&(n.push("vFragDepth = 1.0 + clipPos.w;"),n.push("isPerspective = float (isPerspectiveMatrix(projMatrix));")),n.push("gl_Position = clipPos;"),n.push("}"),n.push("}"),n}},{key:"_buildFragmentShader",value:function(){var e,t,n=this._scene,r=n._sectionPlanesState,i=r.getNumAllocatedSectionPlanes()>0,a=[];if(a.push("#version 300 es"),a.push("// Triangles batching silhouette fragment shader"),a.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),a.push("precision highp float;"),a.push("precision highp int;"),a.push("#else"),a.push("precision mediump float;"),a.push("precision mediump int;"),a.push("#endif"),n.logarithmicDepthBufferEnabled&&(a.push("in float isPerspective;"),a.push("uniform float logDepthBufFC;"),a.push("in float vFragDepth;")),i)for(a.push("in vec4 vWorldPosition;"),a.push("in float vFlags;"),e=0,t=r.getNumAllocatedSectionPlanes();e> 16 & 0xF) == 1;"),a.push(" if (clippable) {"),a.push(" float dist = 0.0;"),e=0,t=r.getNumAllocatedSectionPlanes();e 0.0) { discard; }"),a.push("}")}return n.logarithmicDepthBufferEnabled&&a.push(" gl_FragDepth = isPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5;"),a.push("outColor = vColor;"),a.push("}"),a}}]),n}(),vo=function(e){I(n,io);var t=m(n);function n(){return b(this,n),t.apply(this,arguments)}return P(n,[{key:"drawLayer",value:function(e,t,r){v(E(n.prototype),"drawLayer",this).call(this,e,t,r,{colorUniform:!0})}},{key:"_buildVertexShader",value:function(){var e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,n=[];return n.push("#version 300 es"),n.push("// Batched geometry edges drawing vertex shader"),n.push("uniform int renderPass;"),n.push("uniform vec4 color;"),n.push("in vec3 position;"),e.entityOffsetsEnabled&&n.push("in vec3 offset;"),n.push("in float flags;"),this._addMatricesUniformBlockLines(n),e.logarithmicDepthBufferEnabled&&(n.push("uniform float logDepthBufFC;"),n.push("out float vFragDepth;"),n.push("bool isPerspectiveMatrix(mat4 m) {"),n.push(" return (m[2][3] == - 1.0);"),n.push("}"),n.push("out float isPerspective;")),t&&(n.push("out vec4 vWorldPosition;"),n.push("out float vFlags;")),n.push("out vec4 vColor;"),n.push("void main(void) {"),n.push("int edgeFlag = int(flags) >> 8 & 0xF;"),n.push("if (edgeFlag != renderPass) {"),n.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),n.push("} else {"),n.push(" vec4 worldPosition = worldMatrix * (positionsDecodeMatrix * vec4(position, 1.0)); "),e.entityOffsetsEnabled&&n.push(" worldPosition.xyz = worldPosition.xyz + offset;"),n.push(" vec4 viewPosition = viewMatrix * worldPosition; "),t&&(n.push(" vWorldPosition = worldPosition;"),n.push(" vFlags = flags;")),n.push("vec4 clipPos = projMatrix * viewPosition;"),e.logarithmicDepthBufferEnabled&&(n.push("vFragDepth = 1.0 + clipPos.w;"),n.push("isPerspective = float (isPerspectiveMatrix(projMatrix));")),n.push("gl_Position = clipPos;"),n.push("vColor = vec4(color.r, color.g, color.b, color.a);"),n.push("}"),n.push("}"),n}},{key:"_buildFragmentShader",value:function(){var e=this._scene,t=e._sectionPlanesState,n=t.getNumAllocatedSectionPlanes()>0,r=[];if(r.push("#version 300 es"),r.push("// Batched geometry edges drawing fragment shader"),r.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),r.push("precision highp float;"),r.push("precision highp int;"),r.push("#else"),r.push("precision mediump float;"),r.push("precision mediump int;"),r.push("#endif"),e.logarithmicDepthBufferEnabled&&(r.push("in float isPerspective;"),r.push("uniform float logDepthBufFC;"),r.push("in float vFragDepth;")),n){r.push("in vec4 vWorldPosition;"),r.push("in float vFlags;");for(var i=0,a=t.getNumAllocatedSectionPlanes();i> 16 & 0xF) == 1;"),r.push(" if (clippable) {"),r.push(" float dist = 0.0;");for(var s=0,o=t.getNumAllocatedSectionPlanes();s 0.0) { discard; }"),r.push("}")}return e.logarithmicDepthBufferEnabled&&r.push(" gl_FragDepth = isPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5;"),r.push("outColor = vColor;"),r.push("}"),r}}]),n}(),ho=function(e){I(n,io);var t=m(n);function n(){return b(this,n),t.apply(this,arguments)}return P(n,[{key:"_buildVertexShader",value:function(){var e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,n=[];return n.push("#version 300 es"),n.push("// Batched geometry edges drawing vertex shader"),n.push("uniform int renderPass;"),n.push("in vec3 position;"),n.push("in vec4 color;"),e.entityOffsetsEnabled&&n.push("in vec3 offset;"),n.push("in float flags;"),this._addMatricesUniformBlockLines(n),e.logarithmicDepthBufferEnabled&&(n.push("uniform float logDepthBufFC;"),n.push("out float vFragDepth;"),n.push("bool isPerspectiveMatrix(mat4 m) {"),n.push(" return (m[2][3] == - 1.0);"),n.push("}"),n.push("out float isPerspective;")),t&&(n.push("out vec4 vWorldPosition;"),n.push("out float vFlags;")),n.push("out vec4 vColor;"),n.push("void main(void) {"),n.push("int edgeFlag = int(flags) >> 8 & 0xF;"),n.push("if (edgeFlag != renderPass) {"),n.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),n.push("} else {"),n.push(" vec4 worldPosition = worldMatrix * (positionsDecodeMatrix * vec4(position, 1.0)); "),e.entityOffsetsEnabled&&n.push(" worldPosition.xyz = worldPosition.xyz + offset;"),n.push(" vec4 viewPosition = viewMatrix * worldPosition; "),t&&(n.push(" vWorldPosition = worldPosition;"),n.push(" vFlags = flags;")),n.push("vec4 clipPos = projMatrix * viewPosition;"),e.logarithmicDepthBufferEnabled&&(n.push("vFragDepth = 1.0 + clipPos.w;"),n.push("isPerspective = float (isPerspectiveMatrix(projMatrix));")),n.push("gl_Position = clipPos;"),n.push("vColor = vec4(float(color.r*0.5) / 255.0, float(color.g*0.5) / 255.0, float(color.b*0.5) / 255.0, float(color.a) / 255.0);"),n.push("}"),n.push("}"),n}},{key:"_buildFragmentShader",value:function(){var e=this._scene,t=e._sectionPlanesState,n=t.getNumAllocatedSectionPlanes()>0,r=[];if(r.push("#version 300 es"),r.push("// Batched geometry edges drawing fragment shader"),r.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),r.push("precision highp float;"),r.push("precision highp int;"),r.push("#else"),r.push("precision mediump float;"),r.push("precision mediump int;"),r.push("#endif"),e.logarithmicDepthBufferEnabled&&(r.push("in float isPerspective;"),r.push("uniform float logDepthBufFC;"),r.push("in float vFragDepth;")),n){r.push("in vec4 vWorldPosition;"),r.push("in float vFlags;");for(var i=0,a=t.getNumAllocatedSectionPlanes();i> 16 & 0xF) == 1;"),r.push(" if (clippable) {"),r.push(" float dist = 0.0;");for(var s=0,o=t.getNumAllocatedSectionPlanes();s 0.0) { discard; }"),r.push("}")}return e.logarithmicDepthBufferEnabled&&r.push(" gl_FragDepth = isPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5;"),r.push("outColor = vColor;"),r.push("}"),r}}]),n}(),Io=function(e){I(n,ro);var t=m(n);function n(){return b(this,n),t.apply(this,arguments)}return P(n,[{key:"_buildVertexShader",value:function(){var e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,n=[];return n.push("#version 300 es"),n.push("// Batched geometry picking vertex shader"),n.push("uniform int renderPass;"),n.push("in vec3 position;"),e.entityOffsetsEnabled&&n.push("in vec3 offset;"),n.push("in float flags;"),n.push("in vec4 pickColor;"),n.push("uniform bool pickInvisible;"),this._addMatricesUniformBlockLines(n),e.logarithmicDepthBufferEnabled&&(n.push("uniform float logDepthBufFC;"),n.push("out float vFragDepth;"),n.push("bool isPerspectiveMatrix(mat4 m) {"),n.push(" return (m[2][3] == - 1.0);"),n.push("}"),n.push("out float isPerspective;")),t&&(n.push("out vec4 vWorldPosition;"),n.push("out float vFlags;")),this._addRemapClipPosLines(n),n.push("out vec4 vPickColor;"),n.push("void main(void) {"),n.push("int pickFlag = int(flags) >> 12 & 0xF;"),n.push("if (pickFlag != renderPass) {"),n.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),n.push(" } else {"),n.push(" vec4 worldPosition = worldMatrix * (positionsDecodeMatrix * vec4(position, 1.0)); "),e.entityOffsetsEnabled&&n.push(" worldPosition.xyz = worldPosition.xyz + offset;"),n.push(" vec4 viewPosition = viewMatrix * worldPosition; "),n.push(" vPickColor = vec4(float(pickColor.r) / 255.0, float(pickColor.g) / 255.0, float(pickColor.b) / 255.0, float(pickColor.a) / 255.0);"),t&&(n.push(" vWorldPosition = worldPosition;"),n.push(" vFlags = flags;")),n.push("vec4 clipPos = projMatrix * viewPosition;"),e.logarithmicDepthBufferEnabled&&(n.push("vFragDepth = 1.0 + clipPos.w;"),n.push("isPerspective = float (isPerspectiveMatrix(projMatrix));")),n.push("gl_Position = remapClipPos(clipPos);"),n.push(" }"),n.push("}"),n}},{key:"_buildFragmentShader",value:function(){var e=this._scene,t=e._sectionPlanesState,n=t.getNumAllocatedSectionPlanes()>0,r=[];if(r.push("#version 300 es"),r.push("// Batched geometry picking fragment shader"),r.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),r.push("precision highp float;"),r.push("precision highp int;"),r.push("#else"),r.push("precision mediump float;"),r.push("precision mediump int;"),r.push("#endif"),e.logarithmicDepthBufferEnabled&&(r.push("in float isPerspective;"),r.push("uniform float logDepthBufFC;"),r.push("in float vFragDepth;")),n){r.push("in vec4 vWorldPosition;"),r.push("in float vFlags;");for(var i=0;i> 16 & 0xF) == 1;"),r.push(" if (clippable) {"),r.push(" float dist = 0.0;");for(var a=0;a 0.0) { discard; }"),r.push(" }")}return e.logarithmicDepthBufferEnabled&&r.push(" gl_FragDepth = isPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5;"),r.push(" outColor = vPickColor; "),r.push("}"),r}}]),n}(),yo=function(e){I(n,ro);var t=m(n);function n(){return b(this,n),t.apply(this,arguments)}return P(n,[{key:"_buildVertexShader",value:function(){var e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,n=[];return n.push("#version 300 es"),n.push("// Triangles batching pick depth vertex shader"),n.push("uniform int renderPass;"),n.push("in vec3 position;"),e.entityOffsetsEnabled&&n.push("in vec3 offset;"),n.push("in float flags;"),n.push("uniform bool pickInvisible;"),this._addMatricesUniformBlockLines(n),e.logarithmicDepthBufferEnabled&&(n.push("uniform float logDepthBufFC;"),n.push("out float vFragDepth;"),n.push("bool isPerspectiveMatrix(mat4 m) {"),n.push(" return (m[2][3] == - 1.0);"),n.push("}"),n.push("out float isPerspective;")),t&&(n.push("out vec4 vWorldPosition;"),n.push("out float vFlags;")),this._addRemapClipPosLines(n),n.push("out vec4 vViewPosition;"),n.push("void main(void) {"),n.push("int pickFlag = int(flags) >> 12 & 0xF;"),n.push("if (pickFlag != renderPass) {"),n.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),n.push(" } else {"),n.push(" vec4 worldPosition = worldMatrix * (positionsDecodeMatrix * vec4(position, 1.0)); "),e.entityOffsetsEnabled&&n.push(" worldPosition.xyz = worldPosition.xyz + offset;"),n.push(" vec4 viewPosition = viewMatrix * worldPosition; "),t&&(n.push(" vWorldPosition = worldPosition;"),n.push(" vFlags = flags;")),n.push("vViewPosition = viewPosition;"),n.push("vec4 clipPos = projMatrix * viewPosition;"),e.logarithmicDepthBufferEnabled&&(n.push("vFragDepth = 1.0 + clipPos.w;"),n.push("isPerspective = float (isPerspectiveMatrix(projMatrix));")),n.push("gl_Position = remapClipPos(clipPos);"),n.push(" }"),n.push("}"),n}},{key:"_buildFragmentShader",value:function(){var e=this._scene,t=e._sectionPlanesState,n=t.getNumAllocatedSectionPlanes()>0,r=[];if(r.push("#version 300 es"),r.push("// Triangles batching pick depth fragment shader"),r.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),r.push("precision highp float;"),r.push("precision highp int;"),r.push("#else"),r.push("precision mediump float;"),r.push("precision mediump int;"),r.push("#endif"),e.logarithmicDepthBufferEnabled&&(r.push("in float isPerspective;"),r.push("uniform float logDepthBufFC;"),r.push("in float vFragDepth;")),r.push("uniform float pickZNear;"),r.push("uniform float pickZFar;"),n){r.push("in vec4 vWorldPosition;"),r.push("in float vFlags;");for(var i=0;i> 16 & 0xF) == 1;"),r.push(" if (clippable) {"),r.push(" float dist = 0.0;");for(var a=0;a 0.0) { discard; }"),r.push(" }")}return e.logarithmicDepthBufferEnabled&&r.push(" gl_FragDepth = isPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5;"),r.push(" float zNormalizedDepth = abs((pickZNear + vViewPosition.z) / (pickZFar - pickZNear));"),r.push(" outColor = packDepth(zNormalizedDepth); "),r.push("}"),r}}]),n}(),mo=function(e){I(n,ro);var t=m(n);function n(){return b(this,n),t.apply(this,arguments)}return P(n,[{key:"_buildVertexShader",value:function(){var e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,n=[];return n.push("#version 300 es"),n.push("// Triangles batching pick normals vertex shader"),n.push("uniform int renderPass;"),n.push("in vec3 position;"),e.entityOffsetsEnabled&&n.push("in vec3 offset;"),n.push("in vec3 normal;"),n.push("in float flags;"),n.push("uniform bool pickInvisible;"),this._addMatricesUniformBlockLines(n),this._addRemapClipPosLines(n,3),e.logarithmicDepthBufferEnabled&&(n.push("uniform float logDepthBufFC;"),n.push("out float vFragDepth;"),n.push("bool isPerspectiveMatrix(mat4 m) {"),n.push(" return (m[2][3] == - 1.0);"),n.push("}"),n.push("out float isPerspective;")),n.push("vec3 octDecode(vec2 oct) {"),n.push(" vec3 v = vec3(oct.xy, 1.0 - abs(oct.x) - abs(oct.y));"),n.push(" if (v.z < 0.0) {"),n.push(" v.xy = (1.0 - abs(v.yx)) * vec2(v.x >= 0.0 ? 1.0 : -1.0, v.y >= 0.0 ? 1.0 : -1.0);"),n.push(" }"),n.push(" return normalize(v);"),n.push("}"),t&&(n.push("out vec4 vWorldPosition;"),n.push("out float vFlags;")),n.push("out vec3 vWorldNormal;"),n.push("out vec4 outColor;"),n.push("void main(void) {"),n.push("int pickFlag = int(flags) >> 12 & 0xF;"),n.push("if (pickFlag != renderPass) {"),n.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),n.push(" } else {"),n.push(" vec4 worldPosition = worldMatrix * (positionsDecodeMatrix * vec4(position, 1.0)); "),e.entityOffsetsEnabled&&n.push(" worldPosition.xyz = worldPosition.xyz + offset;"),n.push(" vec4 viewPosition = viewMatrix * worldPosition; "),n.push(" vec3 worldNormal = octDecode(normal.xy); "),n.push(" vWorldNormal = worldNormal;"),t&&(n.push(" vWorldPosition = worldPosition;"),n.push(" vFlags = flags;")),n.push("vec4 clipPos = projMatrix * viewPosition;"),e.logarithmicDepthBufferEnabled&&(n.push("vFragDepth = 1.0 + clipPos.w;"),n.push("isPerspective = float (isPerspectiveMatrix(projMatrix));")),n.push("gl_Position = remapClipPos(clipPos);"),n.push(" }"),n.push("}"),n}},{key:"_buildFragmentShader",value:function(){var e=this._scene,t=e._sectionPlanesState,n=t.getNumAllocatedSectionPlanes()>0,r=[];if(r.push("#version 300 es"),r.push("// Triangles batching pick normals fragment shader"),r.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),r.push("precision highp float;"),r.push("precision highp int;"),r.push("#else"),r.push("precision mediump float;"),r.push("precision mediump int;"),r.push("#endif"),e.logarithmicDepthBufferEnabled&&(r.push("in float isPerspective;"),r.push("uniform float logDepthBufFC;"),r.push("in float vFragDepth;")),n){r.push("in vec4 vWorldPosition;"),r.push("in float vFlags;");for(var i=0;i> 16 & 0xF) == 1;"),r.push(" if (clippable) {"),r.push(" float dist = 0.0;");for(var a=0;a 0.0) { discard; }"),r.push(" }")}return e.logarithmicDepthBufferEnabled&&r.push(" gl_FragDepth = isPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5;"),r.push(" outNormal = ivec4(vWorldNormal * float(".concat($.MAX_INT,"), 1.0);")),r.push("}"),r}}]),n}(),wo=function(e){I(n,ro);var t=m(n);function n(){return b(this,n),t.apply(this,arguments)}return P(n,[{key:"_buildVertexShader",value:function(){var e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,n=[];return n.push("#version 300 es"),n.push("// Triangles batching occlusion vertex shader"),n.push("uniform int renderPass;"),n.push("in vec3 position;"),e.entityOffsetsEnabled&&n.push("in vec3 offset;"),n.push("in vec4 color;"),n.push("in float flags;"),this._addMatricesUniformBlockLines(n),t&&(n.push("out vec4 vWorldPosition;"),n.push("out float vFlags;")),n.push("void main(void) {"),n.push("int colorFlag = int(flags) & 0xF;"),n.push("if (colorFlag != renderPass) {"),n.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),n.push(" } else {"),n.push(" vec4 worldPosition = worldMatrix * (positionsDecodeMatrix * vec4(position, 1.0)); "),e.entityOffsetsEnabled&&n.push(" worldPosition.xyz = worldPosition.xyz + offset;"),n.push(" vec4 viewPosition = viewMatrix * worldPosition; "),t&&(n.push(" vWorldPosition = worldPosition;"),n.push(" vFlags = flags;")),n.push("vec4 clipPos = projMatrix * viewPosition;"),n.push("gl_Position = clipPos;"),n.push(" }"),n.push("}"),n}},{key:"_buildFragmentShader",value:function(){var e=this._scene._sectionPlanesState,t=e.getNumAllocatedSectionPlanes()>0,n=[];if(n.push("#version 300 es"),n.push("// Triangles batching occlusion fragment shader"),n.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),n.push("precision highp float;"),n.push("precision highp int;"),n.push("#else"),n.push("precision mediump float;"),n.push("precision mediump int;"),n.push("#endif"),t){n.push("in vec4 vWorldPosition;"),n.push("in float vFlags;");for(var r=0;r> 16 & 0xF) == 1;"),n.push(" if (clippable) {"),n.push(" float dist = 0.0;");for(var i=0;i 0.0) { discard; }"),n.push(" }")}return n.push(" outColor = vec4(0.0, 0.0, 1.0, 1.0); "),n.push("}"),n}}]),n}(),go=function(e){I(n,ro);var t=m(n);function n(){return b(this,n),t.apply(this,arguments)}return P(n,[{key:"_buildVertexShader",value:function(){var e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,n=[];return n.push("#version 300 es"),n.push("// Triangles batching depth vertex shader"),n.push("uniform int renderPass;"),n.push("in vec3 position;"),e.entityOffsetsEnabled&&n.push("in vec3 offset;"),n.push("in float flags;"),this._addMatricesUniformBlockLines(n),e.logarithmicDepthBufferEnabled&&(n.push("uniform float logDepthBufFC;"),n.push("out float vFragDepth;"),n.push("bool isPerspectiveMatrix(mat4 m) {"),n.push(" return (m[2][3] == - 1.0);"),n.push("}"),n.push("out float isPerspective;")),t&&(n.push("out vec4 vWorldPosition;"),n.push("out float vFlags;")),n.push("out vec2 vHighPrecisionZW;"),n.push("void main(void) {"),n.push("int colorFlag = int(flags) & 0xF;"),n.push("if (colorFlag != renderPass) {"),n.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),n.push(" } else {"),n.push(" vec4 worldPosition = worldMatrix * (positionsDecodeMatrix * vec4(position, 1.0)); "),e.entityOffsetsEnabled&&n.push(" worldPosition.xyz = worldPosition.xyz + offset;"),n.push(" vec4 viewPosition = viewMatrix * worldPosition; "),t&&(n.push(" vWorldPosition = worldPosition;"),n.push(" vFlags = flags;")),n.push("vec4 clipPos = projMatrix * viewPosition;"),e.logarithmicDepthBufferEnabled&&(n.push("vFragDepth = 1.0 + clipPos.w;"),n.push("isPerspective = float (isPerspectiveMatrix(projMatrix));")),n.push("gl_Position = clipPos;"),n.push("vHighPrecisionZW = gl_Position.zw;"),n.push(" }"),n.push("}"),n}},{key:"_buildFragmentShader",value:function(){var e=this._scene,t=e._sectionPlanesState,n=t.getNumAllocatedSectionPlanes()>0,r=[];if(r.push("#version 300 es"),r.push("// Triangles batching depth fragment shader"),r.push("precision highp float;"),r.push("precision highp int;"),e.logarithmicDepthBufferEnabled&&(r.push("in float isPerspective;"),r.push("uniform float logDepthBufFC;"),r.push("in float vFragDepth;")),n){r.push("in vec4 vWorldPosition;"),r.push("in float vFlags;");for(var i=0;i> 16 & 0xF) == 1;"),r.push(" if (clippable) {"),r.push(" float dist = 0.0;");for(var a=0;a 0.0) { discard; }"),r.push(" }")}return e.logarithmicDepthBufferEnabled&&r.push(" gl_FragDepth = isPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5;"),r.push("float fragCoordZ = 0.5 * vHighPrecisionZW[0] / vHighPrecisionZW[1] + 0.5;"),r.push(" outColor = vec4(vec3(1.0 - fragCoordZ), 1.0); "),r.push("}"),r}}]),n}(),Eo=function(e){I(n,ro);var t=m(n);function n(){return b(this,n),t.apply(this,arguments)}return P(n,[{key:"_buildVertexShader",value:function(){var e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,n=[];return n.push("#version 300 es"),n.push("// Batched geometry normals vertex shader"),n.push("uniform int renderPass;"),n.push("in vec3 position;"),e.entityOffsetsEnabled&&n.push("in vec3 offset;"),n.push("in vec3 normal;"),n.push("in vec4 color;"),n.push("in float flags;"),this._addMatricesUniformBlockLines(n,!0),e.logarithmicDepthBufferEnabled&&(n.push("uniform float logDepthBufFC;"),n.push("out float vFragDepth;"),n.push("bool isPerspectiveMatrix(mat4 m) {"),n.push(" return (m[2][3] == - 1.0);"),n.push("}"),n.push("out float isPerspective;")),n.push("vec3 octDecode(vec2 oct) {"),n.push(" vec3 v = vec3(oct.xy, 1.0 - abs(oct.x) - abs(oct.y));"),n.push(" if (v.z < 0.0) {"),n.push(" v.xy = (1.0 - abs(v.yx)) * vec2(v.x >= 0.0 ? 1.0 : -1.0, v.y >= 0.0 ? 1.0 : -1.0);"),n.push(" }"),n.push(" return normalize(v);"),n.push("}"),t&&(n.push("out vec4 vWorldPosition;"),n.push("out float vFlags;")),n.push("out vec3 vViewNormal;"),n.push("void main(void) {"),n.push("int colorFlag = int(flags) & 0xF;"),n.push("if (colorFlag != renderPass) {"),n.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),n.push(" } else {"),n.push(" vec4 worldPosition = worldMatrix * (positionsDecodeMatrix * vec4(position, 1.0)); "),e.entityOffsetsEnabled&&n.push(" worldPosition.xyz = worldPosition.xyz + offset;"),n.push(" vec4 viewPosition = viewMatrix * worldPosition; "),n.push(" vec4 worldNormal = worldNormalMatrix * vec4(octDecode(normal.xy), 0.0); "),n.push(" vec3 viewNormal = normalize((viewNormalMatrix * worldNormal).xyz);"),t&&(n.push(" vWorldPosition = worldPosition;"),n.push(" vFlags = flags;")),n.push(" vViewNormal = viewNormal;"),n.push("vec4 clipPos = projMatrix * viewPosition;"),e.logarithmicDepthBufferEnabled&&(n.push("vFragDepth = 1.0 + clipPos.w;"),n.push("isPerspective = float (isPerspectiveMatrix(projMatrix));")),n.push("gl_Position = clipPos;"),n.push(" }"),n.push("}"),n}},{key:"_buildFragmentShader",value:function(){var e=this._scene,t=e._sectionPlanesState,n=t.getNumAllocatedSectionPlanes()>0,r=[];if(r.push("#version 300 es"),r.push("// Batched geometry normals fragment shader"),r.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),r.push("precision highp float;"),r.push("precision highp int;"),r.push("#else"),r.push("precision mediump float;"),r.push("precision mediump int;"),r.push("#endif"),e.logarithmicDepthBufferEnabled&&(r.push("in float isPerspective;"),r.push("uniform float logDepthBufFC;"),r.push("in float vFragDepth;")),n){r.push("in vec4 vWorldPosition;"),r.push("in float vFlags;");for(var i=0;i> 16 & 0xF) == 1;"),r.push(" if (clippable) {"),r.push(" float dist = 0.0;");for(var a=0;a 0.0) { discard; }"),r.push(" }")}return e.logarithmicDepthBufferEnabled&&r.push(" gl_FragDepth = isPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5;"),r.push(" outColor = vec4(packNormalToRGB(vViewNormal), 1.0); "),r.push("}"),r}}]),n}(),To=function(e){I(n,ro);var t=m(n);function n(){return b(this,n),t.apply(this,arguments)}return P(n,[{key:"_buildVertexShader",value:function(){var e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,n=[];return n.push("#version 300 es"),n.push("// Batched geometry shadow vertex shader"),n.push("in vec3 position;"),e.entityOffsetsEnabled&&n.push("in vec3 offset;"),n.push("in vec4 color;"),n.push("in float flags;"),n.push("uniform mat4 shadowViewMatrix;"),n.push("uniform mat4 shadowProjMatrix;"),this._addMatricesUniformBlockLines(n),t&&(n.push("out vec4 vWorldPosition;"),n.push("out float vFlags;")),n.push("out vec4 vViewPosition;"),n.push("out vec4 outColor;"),n.push("void main(void) {"),n.push(" int colorFlag = int(flags) & 0xF;"),n.push(" bool visible = (colorFlag > 0);"),n.push(" bool transparent = ((float(color.a) / 255.0) < 1.0);"),n.push(" if (!visible || transparent) {"),n.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),n.push(" } else {"),n.push(" vec4 worldPosition = positionsDecodeMatrix * vec4(position, 1.0); "),e.entityOffsetsEnabled&&n.push(" worldPosition.xyz = worldPosition.xyz + offset;"),n.push(" vec4 viewPosition = shadowViewMatrix * worldPosition; "),t&&(n.push(" vWorldPosition = worldPosition;"),n.push(" vFlags = flags;")),n.push(" vViewPosition = viewPosition;"),n.push(" gl_Position = shadowProjMatrix * viewPosition;"),n.push(" }"),n.push("}"),n}},{key:"_buildFragmentShader",value:function(){var e=this._scene._sectionPlanesState,t=e.getNumAllocatedSectionPlanes()>0,n=[];if(n.push("#version 300 es"),n.push("// Batched geometry shadow fragment shader"),n.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),n.push("precision highp float;"),n.push("precision highp int;"),n.push("#else"),n.push("precision mediump float;"),n.push("precision mediump int;"),n.push("#endif"),t){n.push("in vec4 vWorldPosition;"),n.push("in float vFlags;");for(var r=0;r> 16 & 0xF) == 1;"),n.push(" if (clippable) {"),n.push(" float dist = 0.0;");for(var i=0;i 0.0) { discard; }"),n.push(" }")}return n.push(" outColor = encodeFloat( gl_FragCoord.z); "),n.push("}"),n}}]),n}(),bo=function(e){I(n,ro);var t=m(n);function n(){return b(this,n),t.apply(this,arguments)}return P(n,[{key:"_getHash",value:function(){var e=this._scene;return[e.gammaOutput,e._lightsState.getHash(),e._sectionPlanesState.getHash(),this._withSAO?"sao":"nosao"].join(";")}},{key:"drawLayer",value:function(e,t,r){v(E(n.prototype),"drawLayer",this).call(this,e,t,r,{incrementDrawState:!0})}},{key:"_buildVertexShader",value:function(){var e=this._scene,t=e._sectionPlanesState,n=e._lightsState,r=t.getNumAllocatedSectionPlanes()>0,i=t.clippingCaps,a=[];return a.push("#version 300 es"),a.push("// Triangles batching quality draw vertex shader"),a.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),a.push("precision highp float;"),a.push("precision highp int;"),a.push("precision highp usampler2D;"),a.push("precision highp isampler2D;"),a.push("precision highp sampler2D;"),a.push("#else"),a.push("precision mediump float;"),a.push("precision mediump int;"),a.push("precision mediump usampler2D;"),a.push("precision mediump isampler2D;"),a.push("precision mediump sampler2D;"),a.push("#endif"),a.push("uniform int renderPass;"),a.push("in vec3 position;"),a.push("in vec3 normal;"),a.push("in vec4 color;"),a.push("in vec2 uv;"),a.push("in vec2 metallicRoughness;"),a.push("in float flags;"),e.entityOffsetsEnabled&&a.push("in vec3 offset;"),this._addMatricesUniformBlockLines(a,!0),a.push("uniform mat3 uvDecodeMatrix;"),e.logarithmicDepthBufferEnabled&&(a.push("uniform float logDepthBufFC;"),a.push("out float vFragDepth;"),a.push("bool isPerspectiveMatrix(mat4 m) {"),a.push(" return (m[2][3] == - 1.0);"),a.push("}"),a.push("out float isPerspective;")),a.push("vec3 octDecode(vec2 oct) {"),a.push(" vec3 v = vec3(oct.xy, 1.0 - abs(oct.x) - abs(oct.y));"),a.push(" if (v.z < 0.0) {"),a.push(" v.xy = (1.0 - abs(v.yx)) * vec2(v.x >= 0.0 ? 1.0 : -1.0, v.y >= 0.0 ? 1.0 : -1.0);"),a.push(" }"),a.push(" return normalize(v);"),a.push("}"),a.push("out vec4 vViewPosition;"),a.push("out vec3 vViewNormal;"),a.push("out vec4 vColor;"),a.push("out vec2 vUV;"),a.push("out vec2 vMetallicRoughness;"),n.lightMaps.length>0&&a.push("out vec3 vWorldNormal;"),r&&(a.push("out vec4 vWorldPosition;"),a.push("out float vFlags;"),i&&a.push("out vec4 vClipPosition;")),a.push("void main(void) {"),a.push("int colorFlag = int(flags) & 0xF;"),a.push("if (colorFlag != renderPass) {"),a.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),a.push("} else {"),a.push("vec4 worldPosition = worldMatrix * (positionsDecodeMatrix * vec4(position, 1.0)); "),e.entityOffsetsEnabled&&a.push("worldPosition.xyz = worldPosition.xyz + offset;"),a.push("vec4 viewPosition = viewMatrix * worldPosition; "),a.push("vec4 worldNormal = worldNormalMatrix * vec4(octDecode(normal.xy), 0.0); "),a.push("vec3 viewNormal = normalize((viewNormalMatrix * worldNormal).xyz);"),a.push("vec4 clipPos = projMatrix * viewPosition;"),e.logarithmicDepthBufferEnabled&&(a.push("isPerspective = float (isPerspectiveMatrix(projMatrix));"),a.push("vFragDepth = 1.0 + clipPos.w;")),r&&(a.push("vWorldPosition = worldPosition;"),a.push("vFlags = flags;"),i&&a.push("vClipPosition = clipPos;")),a.push("vViewPosition = viewPosition;"),a.push("vViewNormal = viewNormal;"),a.push("vColor = color;"),a.push("vUV = (uvDecodeMatrix * vec3(uv, 1.0)).xy;"),a.push("vMetallicRoughness = metallicRoughness;"),n.lightMaps.length>0&&a.push("vWorldNormal = worldNormal.xyz;"),a.push("gl_Position = clipPos;"),a.push("}"),a.push("}"),a}},{key:"_buildFragmentShader",value:function(){var e=this._scene,t=e.gammaOutput,n=e._sectionPlanesState,r=e._lightsState,i=n.getNumAllocatedSectionPlanes()>0,a=n.clippingCaps,s=[];s.push("#version 300 es"),s.push("// Triangles batching quality draw fragment shader"),s.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),s.push("precision highp float;"),s.push("precision highp int;"),s.push("#else"),s.push("precision mediump float;"),s.push("precision mediump int;"),s.push("#endif"),e.logarithmicDepthBufferEnabled&&(s.push("in float isPerspective;"),s.push("uniform float logDepthBufFC;"),s.push("in float vFragDepth;")),s.push("uniform sampler2D uColorMap;"),s.push("uniform sampler2D uMetallicRoughMap;"),s.push("uniform sampler2D uEmissiveMap;"),s.push("uniform sampler2D uNormalMap;"),s.push("uniform sampler2D uAOMap;"),s.push("in vec4 vViewPosition;"),s.push("in vec3 vViewNormal;"),s.push("in vec4 vColor;"),s.push("in vec2 vUV;"),s.push("in vec2 vMetallicRoughness;"),r.lightMaps.length>0&&s.push("in vec3 vWorldNormal;"),this._addMatricesUniformBlockLines(s,!0),r.reflectionMaps.length>0&&s.push("uniform samplerCube reflectionMap;"),r.lightMaps.length>0&&s.push("uniform samplerCube lightMap;"),s.push("uniform vec4 lightAmbient;");for(var o=0,l=r.lights.length;o0&&(s.push("vec3 getLightProbeIndirectRadiance(const in vec3 reflectVec, const in float blinnShininessExponent, const in int maxMIPLevel) {"),s.push(" float mipLevel = 0.5 * getSpecularMIPLevel(blinnShininessExponent, maxMIPLevel);"),s.push(" vec3 envMapColor = sRGBToLinear(texture(reflectionMap, reflectVec, mipLevel)).rgb;"),s.push(" return envMapColor;"),s.push("}")),s.push("vec3 F_Schlick(const in vec3 specularColor, const in float dotLH) {"),s.push(" float fresnel = exp2( ( -5.55473 * dotLH - 6.98316 ) * dotLH );"),s.push(" return ( 1.0 - specularColor ) * fresnel + specularColor;"),s.push("}"),s.push("float G_GGX_Smith(const in float alpha, const in float dotNL, const in float dotNV) {"),s.push(" float a2 = ( alpha * alpha );"),s.push(" float gl = dotNL + sqrt( a2 + ( 1.0 - a2 ) * ( dotNL * dotNL ) );"),s.push(" float gv = dotNV + sqrt( a2 + ( 1.0 - a2 ) * ( dotNV * dotNV ) );"),s.push(" return 1.0 / ( gl * gv );"),s.push("}"),s.push("float G_GGX_SmithCorrelated(const in float alpha, const in float dotNL, const in float dotNV) {"),s.push(" float a2 = ( alpha * alpha );"),s.push(" float gv = dotNL * sqrt( a2 + ( 1.0 - a2 ) * ( dotNV * dotNV ) );"),s.push(" float gl = dotNV * sqrt( a2 + ( 1.0 - a2 ) * ( dotNL * dotNL ) );"),s.push(" return 0.5 / max( gv + gl, EPSILON );"),s.push("}"),s.push("float D_GGX(const in float alpha, const in float dotNH) {"),s.push(" float a2 = ( alpha * alpha );"),s.push(" float denom = ( dotNH * dotNH) * ( a2 - 1.0 ) + 1.0;"),s.push(" return RECIPROCAL_PI * a2 / ( denom * denom);"),s.push("}"),s.push("vec3 BRDF_Specular_GGX(const in IncidentLight incidentLight, const in Geometry geometry, const in vec3 specularColor, const in float roughness) {"),s.push(" float alpha = ( roughness * roughness );"),s.push(" vec3 halfDir = normalize( incidentLight.direction + geometry.viewEyeDir );"),s.push(" float dotNL = saturate( dot( geometry.viewNormal, incidentLight.direction ) );"),s.push(" float dotNV = saturate( dot( geometry.viewNormal, geometry.viewEyeDir ) );"),s.push(" float dotNH = saturate( dot( geometry.viewNormal, halfDir ) );"),s.push(" float dotLH = saturate( dot( incidentLight.direction, halfDir ) );"),s.push(" vec3 F = F_Schlick( specularColor, dotLH );"),s.push(" float G = G_GGX_SmithCorrelated( alpha, dotNL, dotNV );"),s.push(" float D = D_GGX( alpha, dotNH );"),s.push(" return F * (G * D);"),s.push("}"),s.push("vec3 BRDF_Specular_GGX_Environment(const in Geometry geometry, const in vec3 specularColor, const in float roughness) {"),s.push(" float dotNV = saturate(dot(geometry.viewNormal, geometry.viewEyeDir));"),s.push(" const vec4 c0 = vec4( -1, -0.0275, -0.572, 0.022);"),s.push(" const vec4 c1 = vec4( 1, 0.0425, 1.04, -0.04);"),s.push(" vec4 r = roughness * c0 + c1;"),s.push(" float a004 = min(r.x * r.x, exp2(-9.28 * dotNV)) * r.x + r.y;"),s.push(" vec2 AB = vec2(-1.04, 1.04) * a004 + r.zw;"),s.push(" return specularColor * AB.x + AB.y;"),s.push("}"),(r.lightMaps.length>0||r.reflectionMaps.length>0)&&(s.push("void computePBRLightMapping(const in Geometry geometry, const in Material material, inout ReflectedLight reflectedLight) {"),r.lightMaps.length>0&&(s.push(" vec3 irradiance = sRGBToLinear(texture(lightMap, geometry.worldNormal)).rgb;"),s.push(" irradiance *= PI;"),s.push(" vec3 diffuseBRDFContrib = (RECIPROCAL_PI * material.diffuseColor);"),s.push(" reflectedLight.diffuse += irradiance * diffuseBRDFContrib;")),r.reflectionMaps.length>0&&(s.push(" vec3 reflectVec = reflect(geometry.viewEyeDir, geometry.viewNormal);"),s.push(" reflectVec = inverseTransformDirection(reflectVec, viewMatrix);"),s.push(" float blinnExpFromRoughness = GGXRoughnessToBlinnExponent(material.specularRoughness);"),s.push(" vec3 radiance = getLightProbeIndirectRadiance(reflectVec, blinnExpFromRoughness, 8);"),s.push(" vec3 specularBRDFContrib = BRDF_Specular_GGX_Environment(geometry, material.specularColor, material.specularRoughness);"),s.push(" reflectedLight.specular += radiance * specularBRDFContrib;")),s.push("}")),s.push("void computePBRLighting(const in IncidentLight incidentLight, const in Geometry geometry, const in Material material, inout ReflectedLight reflectedLight) {"),s.push(" float dotNL = saturate(dot(geometry.viewNormal, incidentLight.direction));"),s.push(" vec3 irradiance = dotNL * incidentLight.color * PI;"),s.push(" reflectedLight.diffuse += irradiance * (RECIPROCAL_PI * material.diffuseColor);"),s.push(" reflectedLight.specular += irradiance * BRDF_Specular_GGX(incidentLight, geometry, material.specularColor, material.specularRoughness);"),s.push("}"),s.push("out vec4 outColor;"),s.push("void main(void) {"),i){s.push(" bool clippable = (int(vFlags) >> 16 & 0xF) == 1;"),s.push(" if (clippable) {"),s.push(" float dist = 0.0;");for(var p=0,A=n.getNumAllocatedSectionPlanes();p (0.002 * vClipPosition.w)) {"),s.push(" discard;"),s.push(" }"),s.push(" if (dist > 0.0) { "),s.push(" outColor=vec4(1.0, 0.0, 0.0, 1.0);"),e.logarithmicDepthBufferEnabled&&s.push(" gl_FragDepth = log2( vFragDepth ) * logDepthBufFC * 0.5;"),s.push(" return;"),s.push("}")):(s.push(" if (dist > 0.0) { "),s.push(" discard;"),s.push(" }")),s.push("}")}s.push("IncidentLight light;"),s.push("Material material;"),s.push("Geometry geometry;"),s.push("ReflectedLight reflectedLight = ReflectedLight(vec3(0.0,0.0,0.0), vec3(0.0,0.0,0.0));"),s.push("vec3 rgb = (vec3(float(vColor.r) / 255.0, float(vColor.g) / 255.0, float(vColor.b) / 255.0));"),s.push("float opacity = float(vColor.a) / 255.0;"),s.push("vec3 baseColor = rgb;"),s.push("float specularF0 = 1.0;"),s.push("float metallic = float(vMetallicRoughness.r) / 255.0;"),s.push("float roughness = float(vMetallicRoughness.g) / 255.0;"),s.push("float dielectricSpecular = 0.16 * specularF0 * specularF0;"),s.push("vec4 colorTexel = sRGBToLinear(texture(uColorMap, vUV));"),s.push("baseColor *= colorTexel.rgb;"),s.push("vec3 metalRoughTexel = texture(uMetallicRoughMap, vUV).rgb;"),s.push("metallic *= metalRoughTexel.b;"),s.push("roughness *= metalRoughTexel.g;"),s.push("vec3 viewNormal = perturbNormal2Arb(vViewPosition.xyz, normalize(vViewNormal), vUV );"),s.push("material.diffuseColor = baseColor * (1.0 - dielectricSpecular) * (1.0 - metallic);"),s.push("material.specularRoughness = clamp(roughness, 0.04, 1.0);"),s.push("material.specularColor = mix(vec3(dielectricSpecular), baseColor, metallic);"),s.push("geometry.position = vViewPosition.xyz;"),s.push("geometry.viewNormal = -normalize(viewNormal);"),s.push("geometry.viewEyeDir = normalize(vViewPosition.xyz);"),r.lightMaps.length>0&&s.push("geometry.worldNormal = normalize(vWorldNormal);"),(r.lightMaps.length>0||r.reflectionMaps.length>0)&&s.push("computePBRLightMapping(geometry, material, reflectedLight);");for(var d=0,v=r.lights.length;d0,n=[];return n.push("#version 300 es"),n.push("// Triangles batching pick flat normals vertex shader"),n.push("uniform int renderPass;"),n.push("in vec3 position;"),e.entityOffsetsEnabled&&n.push("in vec3 offset;"),n.push("in float flags;"),n.push("uniform bool pickInvisible;"),this._addMatricesUniformBlockLines(n),this._addRemapClipPosLines(n,3),e.logarithmicDepthBufferEnabled&&(n.push("uniform float logDepthBufFC;"),n.push("out float vFragDepth;"),n.push("bool isPerspectiveMatrix(mat4 m) {"),n.push(" return (m[2][3] == - 1.0);"),n.push("}"),n.push("out float isPerspective;")),n.push("out vec4 vWorldPosition;"),t&&n.push("out float vFlags;"),n.push("void main(void) {"),n.push("int pickFlag = int(flags) >> 12 & 0xF;"),n.push("if (pickFlag != renderPass) {"),n.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),n.push(" } else {"),n.push(" vec4 worldPosition = worldMatrix * (positionsDecodeMatrix * vec4(position, 1.0)); "),e.entityOffsetsEnabled&&n.push(" worldPosition.xyz = worldPosition.xyz + offset;"),n.push(" vec4 viewPosition = viewMatrix * worldPosition; "),n.push(" vWorldPosition = worldPosition;"),t&&n.push(" vFlags = flags;"),n.push("vec4 clipPos = projMatrix * viewPosition;"),e.logarithmicDepthBufferEnabled&&(n.push("vFragDepth = 1.0 + clipPos.w;"),n.push("isPerspective = float (isPerspectiveMatrix(projMatrix));")),n.push("gl_Position = remapClipPos(clipPos);"),n.push(" }"),n.push("}"),n}},{key:"_buildFragmentShader",value:function(){var e=this._scene,t=e._sectionPlanesState,n=t.getNumAllocatedSectionPlanes()>0,r=[];if(r.push("#version 300 es"),r.push("// Triangles batching pick flat normals fragment shader"),r.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),r.push("precision highp float;"),r.push("precision highp int;"),r.push("#else"),r.push("precision mediump float;"),r.push("precision mediump int;"),r.push("#endif"),e.logarithmicDepthBufferEnabled&&(r.push("in float isPerspective;"),r.push("uniform float logDepthBufFC;"),r.push("in float vFragDepth;")),r.push("in vec4 vWorldPosition;"),n){r.push("in float vFlags;");for(var i=0;i> 16 & 0xF) == 1;"),r.push(" if (clippable) {"),r.push(" float dist = 0.0;");for(var a=0;a 0.0) { discard; }"),r.push(" }")}return e.logarithmicDepthBufferEnabled&&r.push(" gl_FragDepth = isPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5;"),r.push(" vec3 xTangent = dFdx( vWorldPosition.xyz );"),r.push(" vec3 yTangent = dFdy( vWorldPosition.xyz );"),r.push(" vec3 worldNormal = normalize( cross( xTangent, yTangent ) );"),r.push(" outNormal = ivec4(worldNormal * float(".concat($.MAX_INT,"), 1.0);")),r.push("}"),r}}]),n}(),Po=function(e){I(n,ro);var t=m(n);function n(){return b(this,n),t.apply(this,arguments)}return P(n,[{key:"_getHash",value:function(){var e=this._scene;return[e.gammaOutput,e._lightsState.getHash(),e._sectionPlanesState.getHash(),this._withSAO?"sao":"nosao"].join(";")}},{key:"drawLayer",value:function(e,t,r){v(E(n.prototype),"drawLayer",this).call(this,e,t,r,{incrementDrawState:!0})}},{key:"_buildVertexShader",value:function(){var e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,n=[];return n.push("#version 300 es"),n.push("// Triangles batching color texture vertex shader"),n.push("uniform int renderPass;"),n.push("in vec3 position;"),n.push("in vec4 color;"),n.push("in vec2 uv;"),n.push("in float flags;"),e.entityOffsetsEnabled&&n.push("in vec3 offset;"),this._addMatricesUniformBlockLines(n),n.push("uniform mat3 uvDecodeMatrix;"),e.logarithmicDepthBufferEnabled&&(n.push("uniform float logDepthBufFC;"),n.push("out float vFragDepth;"),n.push("bool isPerspectiveMatrix(mat4 m) {"),n.push(" return (m[2][3] == - 1.0);"),n.push("}"),n.push("out float isPerspective;")),t&&(n.push("out vec4 vWorldPosition;"),n.push("out float vFlags;")),n.push("out vec4 vViewPosition;"),n.push("out vec4 vColor;"),n.push("out vec2 vUV;"),n.push("void main(void) {"),n.push("int colorFlag = int(flags) & 0xF;"),n.push("if (colorFlag != renderPass) {"),n.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),n.push("} else {"),n.push("vec4 worldPosition = worldMatrix * (positionsDecodeMatrix * vec4(position, 1.0)); "),e.entityOffsetsEnabled&&n.push("worldPosition.xyz = worldPosition.xyz + offset;"),n.push("vec4 viewPosition = viewMatrix * worldPosition; "),n.push("vViewPosition = viewPosition;"),n.push("vColor = vec4(float(color.r) / 255.0, float(color.g) / 255.0, float(color.b) / 255.0, float(color.a) / 255.0);"),n.push("vUV = (uvDecodeMatrix * vec3(uv, 1.0)).xy;"),n.push("vec4 clipPos = projMatrix * viewPosition;"),e.logarithmicDepthBufferEnabled&&(n.push("vFragDepth = 1.0 + clipPos.w;"),n.push("isPerspective = float (isPerspectiveMatrix(projMatrix));")),t&&(n.push("vWorldPosition = worldPosition;"),n.push("vFlags = flags;")),n.push("gl_Position = clipPos;"),n.push("}"),n.push("}"),n}},{key:"_buildFragmentShader",value:function(){var e=this._scene,t=e.gammaOutput,n=e._lightsState,r=e._sectionPlanesState,i=r.getNumAllocatedSectionPlanes()>0,a=[];if(a.push("#version 300 es"),a.push("// Triangles batching color texture fragment shader"),a.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),a.push("precision highp float;"),a.push("precision highp int;"),a.push("#else"),a.push("precision mediump float;"),a.push("precision mediump int;"),a.push("#endif"),e.logarithmicDepthBufferEnabled&&(a.push("in float isPerspective;"),a.push("uniform float logDepthBufFC;"),a.push("in float vFragDepth;")),a.push("uniform sampler2D uColorMap;"),this._withSAO&&(a.push("uniform sampler2D uOcclusionTexture;"),a.push("uniform vec4 uSAOParams;"),a.push("const float packUpscale = 256. / 255.;"),a.push("const float unpackDownScale = 255. / 256.;"),a.push("const vec3 packFactors = vec3( 256. * 256. * 256., 256. * 256., 256. );"),a.push("const vec4 unPackFactors = unpackDownScale / vec4( packFactors, 1. );"),a.push("float unpackRGBToFloat( const in vec4 v ) {"),a.push(" return dot( v, unPackFactors );"),a.push("}")),a.push("uniform float gammaFactor;"),a.push("vec4 linearToLinear( in vec4 value ) {"),a.push(" return value;"),a.push("}"),a.push("vec4 sRGBToLinear( in vec4 value ) {"),a.push(" return vec4( mix( pow( value.rgb * 0.9478672986 + vec3( 0.0521327014 ), vec3( 2.4 ) ), value.rgb * 0.0773993808, vec3( lessThanEqual( value.rgb, vec3( 0.04045 ) ) ) ), value.w );"),a.push("}"),a.push("vec4 gammaToLinear( in vec4 value) {"),a.push(" return vec4( pow( value.xyz, vec3( gammaFactor ) ), value.w );"),a.push("}"),t&&(a.push("vec4 linearToGamma( in vec4 value, in float gammaFactor ) {"),a.push(" return vec4( pow( value.xyz, vec3( 1.0 / gammaFactor ) ), value.w );"),a.push("}")),i){a.push("in vec4 vWorldPosition;"),a.push("in float vFlags;");for(var s=0,o=r.getNumAllocatedSectionPlanes();s> 16 & 0xF) == 1;"),a.push(" if (clippable) {"),a.push(" float dist = 0.0;");for(var f=0,p=r.getNumAllocatedSectionPlanes();f 0.0) { "),a.push(" discard;"),a.push(" }"),a.push("}")}a.push("vec3 reflectedColor = vec3(0.0, 0.0, 0.0);"),a.push("vec3 viewLightDir = vec3(0.0, 0.0, -1.0);"),a.push("float lambertian = 1.0;"),a.push("vec3 xTangent = dFdx( vViewPosition.xyz );"),a.push("vec3 yTangent = dFdy( vViewPosition.xyz );"),a.push("vec3 viewNormal = normalize( cross( xTangent, yTangent ) );");for(var A=0,d=n.lights.length;A0&&void 0!==arguments[0]?arguments[0]:5e6;b(this,e),t>5e6&&(t=5e6),this.maxVerts=t,this.maxIndices=3*t,this.positions=[],this.colors=[],this.uv=[],this.metallicRoughness=[],this.normals=[],this.pickColors=[],this.offsets=[],this.indices=[],this.edgeIndices=[]})),Bo=$.mat4(),Oo=$.mat4();function So(e,t,n){for(var r=e.length,i=new Uint16Array(r),a=t[0],s=t[1],o=t[2],l=t[3]-a,u=t[4]-s,c=t[5]-o,f=65525,p=f/l,A=f/u,d=f/c,v=function(e){return e>=0?e:0},h=0;h=0?1:-1),s=(1-Math.abs(r))*(i>=0?1:-1),r=a,i=s}return new Int8Array([Math[t](127.5*r+(r<0?-1:0)),Math[n](127.5*i+(i<0?-1:0))])}function xo(e){var t=e[0],n=e[1];t/=t<0?127:128,n/=n<0?127:128;var r=1-Math.abs(t)-Math.abs(n);r<0&&(t=(1-Math.abs(n))*(t>=0?1:-1),n=(1-Math.abs(t))*(n>=0?1:-1));var i=Math.sqrt(t*t+n*n+r*r);return[t/i,n/i,r/i]}var Mo=$.vec3(),Fo=$.vec3(),Ho=$.vec3(),Uo=$.vec3(),Go=$.mat4(),ko=function(e){I(n,no);var t=m(n);function n(){return b(this,n),t.apply(this,arguments)}return P(n,[{key:"drawLayer",value:function(e,t,n){if(this._program||(this._allocate(),!this.errors)){e.lastProgramId!==this._program.id&&(e.lastProgramId=this._program.id,this._bindProgram());var r=t.model,i=r.scene,a=i.camera,s=i.canvas.gl,o=t._state,l=t._state.origin,u=r.position,c=r.rotationMatrix,f=r.rotationMatrixConjugate,p=t.aabb,A=e.pickViewMatrix||a.viewMatrix;this._vaoCache.has(t)?s.bindVertexArray(this._vaoCache.get(t)):this._vaoCache.set(t,this._makeVAO(o));var d,v,h=Mo;if(h[0]=$.safeInv(p[3]-p[0])*$.MAX_INT,h[1]=$.safeInv(p[4]-p[1])*$.MAX_INT,h[2]=$.safeInv(p[5]-p[2])*$.MAX_INT,e.snapPickCoordinateScale[0]=$.safeInv(h[0]),e.snapPickCoordinateScale[1]=$.safeInv(h[1]),e.snapPickCoordinateScale[2]=$.safeInv(h[2]),l||0!==u[0]||0!==u[1]||0!==u[2]){var I=Fo;if(l){var y=Ho;$.transformPoint3(c,l,y),I[0]=y[0],I[1]=y[1],I[2]=y[2]}else I[0]=0,I[1]=0,I[2]=0;I[0]+=u[0],I[1]+=u[1],I[2]+=u[2],d=Be(A,I,Go),(v=Uo)[0]=a.eye[0]-I[0],v[1]=a.eye[1]-I[1],v[2]=a.eye[2]-I[2],e.snapPickOrigin[0]=I[0],e.snapPickOrigin[1]=I[1],e.snapPickOrigin[2]=I[2]}else d=A,v=a.eye,e.snapPickOrigin[0]=0,e.snapPickOrigin[1]=0,e.snapPickOrigin[2]=0;s.uniform3fv(this._uCameraEyeRtc,v),s.uniform2fv(this.uVectorA,e.snapVectorA),s.uniform2fv(this.uInverseVectorAB,e.snapInvVectorAB),s.uniform1i(this._uLayerNumber,e.snapPickLayerNumber),s.uniform3fv(this._uCoordinateScaler,h),s.uniform1i(this._uRenderPass,n),s.uniform1i(this._uPickInvisible,e.pickInvisible);var m=0;this._matricesUniformBlockBufferData.set(f,0),this._matricesUniformBlockBufferData.set(d,m+=16),this._matricesUniformBlockBufferData.set(a.projMatrix,m+=16),this._matricesUniformBlockBufferData.set(o.positionsDecodeMatrix,m+=16),s.bindBuffer(s.UNIFORM_BUFFER,this._matricesUniformBlockBuffer),s.bufferData(s.UNIFORM_BUFFER,this._matricesUniformBlockBufferData,s.DYNAMIC_DRAW),s.bindBufferBase(s.UNIFORM_BUFFER,this._matricesUniformBlockBufferBindingPoint,this._matricesUniformBlockBuffer);var w=2/(Math.log(e.pickZFar+1)/Math.LN2);s.uniform1f(this._uLogDepthBufFC,w),this.setSectionPlanesStateUniforms(t),o.indicesBuf.bind(),s.drawElements(s.TRIANGLES,o.indicesBuf.numItems,o.indicesBuf.itemType,0),o.indicesBuf.unbind()}}},{key:"_allocate",value:function(){v(E(n.prototype),"_allocate",this).call(this);var e=this._program;this._uLogDepthBufFC=e.getLocation("logDepthBufFC"),this._uCameraEyeRtc=e.getLocation("uCameraEyeRtc"),this.uVectorA=e.getLocation("snapVectorA"),this.uInverseVectorAB=e.getLocation("snapInvVectorAB"),this._uLayerNumber=e.getLocation("layerNumber"),this._uCoordinateScaler=e.getLocation("coordinateScaler")}},{key:"_bindProgram",value:function(){this._program.bind()}},{key:"_buildVertexShader",value:function(){var e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,n=[];return n.push("#version 300 es"),n.push("// VBO SnapBatchingDepthBufInitRenderer vertex shader"),n.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),n.push("precision highp float;"),n.push("precision highp int;"),n.push("precision highp usampler2D;"),n.push("precision highp isampler2D;"),n.push("precision highp sampler2D;"),n.push("#else"),n.push("precision mediump float;"),n.push("precision mediump int;"),n.push("precision mediump usampler2D;"),n.push("precision mediump isampler2D;"),n.push("precision mediump sampler2D;"),n.push("#endif"),n.push("uniform int renderPass;"),n.push("in vec4 pickColor;"),n.push("in vec3 position;"),e.entityOffsetsEnabled&&n.push("in vec3 offset;"),n.push("in float flags;"),n.push("uniform bool pickInvisible;"),this._addMatricesUniformBlockLines(n),n.push("uniform vec3 uCameraEyeRtc;"),n.push("uniform vec2 snapVectorA;"),n.push("uniform vec2 snapInvVectorAB;"),n.push("uniform float logDepthBufFC;"),n.push("out float vFragDepth;"),n.push("out float isPerspective;"),n.push("bool isPerspectiveMatrix(mat4 m) {"),n.push(" return (m[2][3] == - 1.0);"),n.push("}"),n.push("vec2 remapClipPos(vec2 clipPos) {"),n.push(" float x = (clipPos.x - snapVectorA.x) * snapInvVectorAB.x;"),n.push(" float y = (clipPos.y - snapVectorA.y) * snapInvVectorAB.y;"),n.push(" return vec2(x, y);"),n.push("}"),n.push("flat out vec4 vPickColor;"),n.push("out vec4 vWorldPosition;"),t&&n.push("out float vFlags;"),n.push("out highp vec3 relativeToOriginPosition;"),n.push("void main(void) {"),n.push("int pickFlag = int(flags) >> 12 & 0xF;"),n.push("if (pickFlag != renderPass) {"),n.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),n.push(" } else {"),n.push(" vec4 worldPosition = worldMatrix * (positionsDecodeMatrix * vec4(position, 1.0)); "),e.entityOffsetsEnabled&&n.push(" worldPosition.xyz = worldPosition.xyz + offset;"),n.push(" relativeToOriginPosition = worldPosition.xyz;"),n.push(" vec4 viewPosition = viewMatrix * worldPosition; "),n.push(" vWorldPosition = worldPosition;"),t&&n.push(" vFlags = flags;"),n.push("vPickColor = pickColor;"),n.push("vec4 clipPos = projMatrix * viewPosition;"),n.push("float tmp = clipPos.w;"),n.push("clipPos.xyzw /= tmp;"),n.push("clipPos.xy = remapClipPos(clipPos.xy);"),n.push("clipPos.xyzw *= tmp;"),n.push("vFragDepth = 1.0 + clipPos.w;"),n.push("isPerspective = float (isPerspectiveMatrix(projMatrix));"),n.push("gl_Position = clipPos;"),n.push(" }"),n.push("}"),n}},{key:"_buildFragmentShader",value:function(){var e=this._scene._sectionPlanesState,t=e.getNumAllocatedSectionPlanes()>0,n=[];if(n.push("#version 300 es"),n.push("// VBO SnapBatchingDepthBufInitRenderer fragment shader"),n.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),n.push("precision highp float;"),n.push("precision highp int;"),n.push("#else"),n.push("precision mediump float;"),n.push("precision mediump int;"),n.push("#endif"),n.push("in float isPerspective;"),n.push("uniform float logDepthBufFC;"),n.push("in float vFragDepth;"),n.push("uniform int layerNumber;"),n.push("uniform vec3 coordinateScaler;"),n.push("in vec4 vWorldPosition;"),n.push("flat in vec4 vPickColor;"),t){n.push("in float vFlags;");for(var r=0;r> 16 & 0xF) == 1;"),n.push(" if (clippable) {"),n.push(" float dist = 0.0;");for(var i=0;i 0.0) { discard; }"),n.push(" }")}return n.push(" float dx = dFdx(vFragDepth);"),n.push(" float dy = dFdy(vFragDepth);"),n.push(" float diff = sqrt(dx*dx+dy*dy);"),n.push(" gl_FragDepth = isPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth + diff ) * logDepthBufFC * 0.5;"),n.push("outCoords = ivec4(relativeToOriginPosition.xyz*coordinateScaler.xyz, -layerNumber);"),n.push("vec3 xTangent = dFdx( vWorldPosition.xyz );"),n.push("vec3 yTangent = dFdy( vWorldPosition.xyz );"),n.push("vec3 worldNormal = normalize( cross( xTangent, yTangent ) );"),n.push("outNormal = ivec4(worldNormal * float(".concat($.MAX_INT,"), 1.0);")),n.push("outPickColor = uvec4(vPickColor);"),n.push("}"),n}},{key:"webglContextRestored",value:function(){this._program=null}},{key:"destroy",value:function(){this._program&&this._program.destroy(),this._program=null}}]),n}(),jo=$.vec3(),Vo=$.vec3(),Qo=$.vec3(),Wo=$.vec3(),zo=$.mat4(),Ko=function(e){I(n,no);var t=m(n);function n(){return b(this,n),t.apply(this,arguments)}return P(n,[{key:"_getHash",value:function(){return this._scene._sectionPlanesState.getHash()+this._scene.pointsMaterial.hash}},{key:"drawLayer",value:function(e,t,n){if(this._program||(this._allocate(),!this.errors)){e.lastProgramId!==this._program.id&&(e.lastProgramId=this._program.id,this._bindProgram());var r=t.model,i=r.scene,a=i.camera,s=i.canvas.gl,o=t._state,l=t._state.origin,u=r.position,c=r.rotationMatrix,f=r.rotationMatrixConjugate,p=t.aabb,A=e.pickViewMatrix||a.viewMatrix;this._vaoCache.has(t)?s.bindVertexArray(this._vaoCache.get(t)):this._vaoCache.set(t,this._makeVAO(o));var d,v,h=jo;if(h[0]=$.safeInv(p[3]-p[0])*$.MAX_INT,h[1]=$.safeInv(p[4]-p[1])*$.MAX_INT,h[2]=$.safeInv(p[5]-p[2])*$.MAX_INT,e.snapPickCoordinateScale[0]=$.safeInv(h[0]),e.snapPickCoordinateScale[1]=$.safeInv(h[1]),e.snapPickCoordinateScale[2]=$.safeInv(h[2]),l||0!==u[0]||0!==u[1]||0!==u[2]){var I=Vo;if(l){var y=Qo;$.transformPoint3(c,l,y),I[0]=y[0],I[1]=y[1],I[2]=y[2]}else I[0]=0,I[1]=0,I[2]=0;I[0]+=u[0],I[1]+=u[1],I[2]+=u[2],d=Be(A,I,zo),(v=Wo)[0]=a.eye[0]-I[0],v[1]=a.eye[1]-I[1],v[2]=a.eye[2]-I[2],e.snapPickOrigin[0]=I[0],e.snapPickOrigin[1]=I[1],e.snapPickOrigin[2]=I[2]}else d=A,v=a.eye,e.snapPickOrigin[0]=0,e.snapPickOrigin[1]=0,e.snapPickOrigin[2]=0;s.uniform3fv(this._uCameraEyeRtc,v),s.uniform2fv(this.uVectorA,e.snapVectorA),s.uniform2fv(this.uInverseVectorAB,e.snapInvVectorAB),s.uniform1i(this._uLayerNumber,e.snapPickLayerNumber),s.uniform3fv(this._uCoordinateScaler,h),s.uniform1i(this._uRenderPass,n),s.uniform1i(this._uPickInvisible,e.pickInvisible);var m=0;this._matricesUniformBlockBufferData.set(f,0),this._matricesUniformBlockBufferData.set(d,m+=16),this._matricesUniformBlockBufferData.set(a.projMatrix,m+=16),this._matricesUniformBlockBufferData.set(o.positionsDecodeMatrix,m+=16),s.bindBuffer(s.UNIFORM_BUFFER,this._matricesUniformBlockBuffer),s.bufferData(s.UNIFORM_BUFFER,this._matricesUniformBlockBufferData,s.DYNAMIC_DRAW),s.bindBufferBase(s.UNIFORM_BUFFER,this._matricesUniformBlockBufferBindingPoint,this._matricesUniformBlockBuffer);var w=2/(Math.log(e.pickZFar+1)/Math.LN2);s.uniform1f(this._uLogDepthBufFC,w),this.setSectionPlanesStateUniforms(t),"edge"===e.snapMode?(o.edgeIndicesBuf.bind(),s.drawElements(s.LINES,o.edgeIndicesBuf.numItems,o.edgeIndicesBuf.itemType,0),o.edgeIndicesBuf.unbind()):s.drawArrays(s.POINTS,0,o.positionsBuf.numItems)}}},{key:"_allocate",value:function(){v(E(n.prototype),"_allocate",this).call(this);var e=this._program;this._uLogDepthBufFC=e.getLocation("logDepthBufFC"),this._uCameraEyeRtc=e.getLocation("uCameraEyeRtc"),this.uVectorA=e.getLocation("snapVectorA"),this.uInverseVectorAB=e.getLocation("snapInvVectorAB"),this._uLayerNumber=e.getLocation("layerNumber"),this._uCoordinateScaler=e.getLocation("coordinateScaler")}},{key:"_bindProgram",value:function(){this._program.bind()}},{key:"_buildVertexShader",value:function(){var e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0;e.pointsMaterial._state;var n=[];return n.push("#version 300 es"),n.push("// SnapBatchingDepthRenderer vertex shader"),n.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),n.push("precision highp float;"),n.push("precision highp int;"),n.push("precision highp usampler2D;"),n.push("precision highp isampler2D;"),n.push("precision highp sampler2D;"),n.push("#else"),n.push("precision mediump float;"),n.push("precision mediump int;"),n.push("precision mediump usampler2D;"),n.push("precision mediump isampler2D;"),n.push("precision mediump sampler2D;"),n.push("#endif"),n.push("uniform int renderPass;"),n.push("in vec3 position;"),e.entityOffsetsEnabled&&n.push("in vec3 offset;"),n.push("in float flags;"),n.push("uniform bool pickInvisible;"),this._addMatricesUniformBlockLines(n),n.push("uniform vec3 uCameraEyeRtc;"),n.push("uniform vec2 snapVectorA;"),n.push("uniform vec2 snapInvVectorAB;"),n.push("uniform float logDepthBufFC;"),n.push("out float vFragDepth;"),n.push("bool isPerspectiveMatrix(mat4 m) {"),n.push(" return (m[2][3] == - 1.0);"),n.push("}"),n.push("out float isPerspective;"),n.push("vec2 remapClipPos(vec2 clipPos) {"),n.push(" float x = (clipPos.x - snapVectorA.x) * snapInvVectorAB.x;"),n.push(" float y = (clipPos.y - snapVectorA.y) * snapInvVectorAB.y;"),n.push(" return vec2(x, y);"),n.push("}"),t&&(n.push("out vec4 vWorldPosition;"),n.push("out float vFlags;")),n.push("out highp vec3 relativeToOriginPosition;"),n.push("void main(void) {"),n.push("int pickFlag = int(flags) >> 12 & 0xF;"),n.push("if (pickFlag != renderPass) {"),n.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),n.push(" } else {"),n.push(" vec4 worldPosition = worldMatrix * (positionsDecodeMatrix * vec4(position, 1.0)); "),e.entityOffsetsEnabled&&n.push(" worldPosition.xyz = worldPosition.xyz + offset;"),n.push("relativeToOriginPosition = worldPosition.xyz;"),n.push(" vec4 viewPosition = viewMatrix * worldPosition; "),t&&(n.push(" vWorldPosition = worldPosition;"),n.push(" vFlags = flags;")),n.push("vec4 clipPos = projMatrix * viewPosition;"),n.push("float tmp = clipPos.w;"),n.push("clipPos.xyzw /= tmp;"),n.push("clipPos.xy = remapClipPos(clipPos.xy);"),n.push("clipPos.xyzw *= tmp;"),n.push("vFragDepth = 1.0 + clipPos.w;"),n.push("isPerspective = float (isPerspectiveMatrix(projMatrix));"),n.push("gl_Position = clipPos;"),n.push("gl_PointSize = 1.0;"),n.push(" }"),n.push("}"),n}},{key:"_buildFragmentShader",value:function(){var e=this._scene._sectionPlanesState,t=e.getNumAllocatedSectionPlanes()>0,n=[];if(n.push("#version 300 es"),n.push("// SnapBatchingDepthRenderer fragment shader"),n.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),n.push("precision highp float;"),n.push("precision highp int;"),n.push("#else"),n.push("precision mediump float;"),n.push("precision mediump int;"),n.push("#endif"),n.push("in float isPerspective;"),n.push("uniform float logDepthBufFC;"),n.push("in float vFragDepth;"),n.push("uniform int layerNumber;"),n.push("uniform vec3 coordinateScaler;"),t){n.push("in vec4 vWorldPosition;"),n.push("in float vFlags;");for(var r=0;r> 16 & 0xF) == 1;"),n.push(" if (clippable) {"),n.push(" float dist = 0.0;");for(var i=0;i 0.0) { discard; }"),n.push(" }")}return n.push(" gl_FragDepth = isPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5;"),n.push("outCoords = ivec4(relativeToOriginPosition.xyz*coordinateScaler.xyz, layerNumber);"),n.push("}"),n}},{key:"webglContextRestored",value:function(){this._program=null}},{key:"destroy",value:function(){this._program&&this._program.destroy(),this._program=null}}]),n}(),Yo=function(){function e(t){b(this,e),this._scene=t}return P(e,[{key:"_compile",value:function(){this._snapDepthBufInitRenderer&&!this._snapDepthBufInitRenderer.getValid()&&(this._snapDepthBufInitRenderer.destroy(),this._snapDepthBufInitRenderer=null),this._snapDepthRenderer&&!this._snapDepthRenderer.getValid()&&(this._snapDepthRenderer.destroy(),this._snapDepthRenderer=null)}},{key:"eagerCreateRenders",value:function(){this._snapDepthBufInitRenderer||(this._snapDepthBufInitRenderer=new ko(this._scene,!1)),this._snapDepthRenderer||(this._snapDepthRenderer=new Ko(this._scene))}},{key:"snapDepthBufInitRenderer",get:function(){return this._snapDepthBufInitRenderer||(this._snapDepthBufInitRenderer=new ko(this._scene,!1)),this._snapDepthBufInitRenderer}},{key:"snapDepthRenderer",get:function(){return this._snapDepthRenderer||(this._snapDepthRenderer=new Ko(this._scene)),this._snapDepthRenderer}},{key:"_destroy",value:function(){this._snapDepthBufInitRenderer&&this._snapDepthBufInitRenderer.destroy(),this._snapDepthRenderer&&this._snapDepthRenderer.destroy()}}]),e}(),Xo={};var qo=$.mat4(),Jo=$.mat4(),Zo=$.vec4([0,0,0,1]);$.vec4([0,0,0,1]),$.vec4([0,0,0,1]),$.OBB3();var $o=$.vec3(),el=$.vec3(),tl=$.vec3(),nl=$.vec3(),rl=$.vec3(),il=$.vec3(),al=$.vec3(),sl=function(){function e(t){var n,r,i;b(this,e),this.model=t.model,this.sortId="TrianglesBatchingLayer"+(t.solid?"-solid":"-surface")+(t.autoNormals?"-autonormals":"-normals")+(t.textureSet&&t.textureSet.colorTexture?"-colorTexture":"")+(t.textureSet&&t.textureSet.metallicRoughnessTexture?"-metallicRoughnessTexture":""),this.layerIndex=t.layerIndex,this._batchingRenderers=(n=t.model.scene,r=n.id,(i=Co[r])||(i=new Ro(n),Co[r]=i,i._compile(),i.eagerCreateRenders(),n.on("compile",(function(){i._compile(),i.eagerCreateRenders()})),n.on("destroyed",(function(){delete Co[r],i._destroy()}))),i),this._snapBatchingRenderers=function(e){var t=e.id,n=Xo[t];return n||(n=new Yo(e),Xo[t]=n,n._compile(),n.eagerCreateRenders(),e.on("compile",(function(){n._compile(),n.eagerCreateRenders()})),e.on("destroyed",(function(){delete Xo[t],n._destroy()}))),n}(t.model.scene),this._buffer=new _o(t.maxGeometryBatchSize),this._scratchMemory=t.scratchMemory,this._state=new Wt({origin:$.vec3(),positionsBuf:null,offsetsBuf:null,normalsBuf:null,colorsBuf:null,uvBuf:null,metallicRoughnessBuf:null,flagsBuf:null,indicesBuf:null,edgeIndicesBuf:null,positionsDecodeMatrix:null,uvDecodeMatrix:null,textureSet:t.textureSet,pbrSupported:!1}),this._numPortions=0,this._numVisibleLayerPortions=0,this._numTransparentLayerPortions=0,this._numXRayedLayerPortions=0,this._numSelectedLayerPortions=0,this._numHighlightedLayerPortions=0,this._numClippableLayerPortions=0,this._numEdgesLayerPortions=0,this._numPickableLayerPortions=0,this._numCulledLayerPortions=0,this._modelAABB=$.collapseAABB3(),this._portions=[],this._meshes=[],this._numVerts=0,this._aabb=$.collapseAABB3(),this.aabbDirty=!0,this._finalized=!1,t.positionsDecodeMatrix&&(this._state.positionsDecodeMatrix=$.mat4(t.positionsDecodeMatrix)),t.uvDecodeMatrix?(this._state.uvDecodeMatrix=$.mat3(t.uvDecodeMatrix),this._preCompressedUVsExpected=!0):this._preCompressedUVsExpected=!1,t.origin&&this._state.origin.set(t.origin),this.aabb=$.collapseAABB3(),this.solid=!!t.solid}return P(e,[{key:"aabb",get:function(){if(this.aabbDirty){$.collapseAABB3(this._aabb);for(var e=0,t=this._meshes.length;e0)for(var P=0,R=s.length;P0){var C=qo;I?$.inverseMat4($.transposeMat4(I,Jo),C):$.identityMat4(C,C),function(e,t,n,r,i){function a(e,t){return e[0]*t[0]+e[1]*t[1]+e[2]*t[2]}var s,o,l,u,c,f=new Float32Array([0,0,0,0]),p=new Float32Array([0,0,0,0]);for(c=0;cu&&(o=s,u=l),(l=a(p,xo(s=Lo(p,"floor","ceil"))))>u&&(o=s,u=l),(l=a(p,xo(s=Lo(p,"ceil","ceil"))))>u&&(o=s,u=l),r[i+c+0]=o[0],r[i+c+1]=o[1],r[i+c+2]=0}(C,a,a.length,w.normals,w.normals.length)}if(u)for(var _=0,B=u.length;_0)for(var k=0,j=o.length;k0)for(var V=0,Q=l.length;V0){var r=this._state.positionsDecodeMatrix?new Uint16Array(n.positions):So(n.positions,this._modelAABB,this._state.positionsDecodeMatrix=$.mat4());if(e.positionsBuf=new Dt(t,t.ARRAY_BUFFER,r,r.length,3,t.STATIC_DRAW),this.model.scene.pickSurfacePrecisionEnabled)for(var i=0,a=this._portions.length;i0){var u=new Int8Array(n.normals);e.normalsBuf=new Dt(t,t.ARRAY_BUFFER,u,n.normals.length,3,t.STATIC_DRAW,!0)}if(n.colors.length>0){var c=new Uint8Array(n.colors);e.colorsBuf=new Dt(t,t.ARRAY_BUFFER,c,n.colors.length,4,t.DYNAMIC_DRAW,!1)}if(n.uv.length>0)if(e.uvDecodeMatrix){e.uvBuf=new Dt(t,t.ARRAY_BUFFER,n.uv,n.uv.length,2,t.STATIC_DRAW,!1)}else{var f=Dn.getUVBounds(n.uv),p=Dn.compressUVs(n.uv,f.min,f.max),A=p.quantized;e.uvDecodeMatrix=$.mat3(p.decodeMatrix),e.uvBuf=new Dt(t,t.ARRAY_BUFFER,A,A.length,2,t.STATIC_DRAW,!1)}if(n.metallicRoughness.length>0){var d=new Uint8Array(n.metallicRoughness);e.metallicRoughnessBuf=new Dt(t,t.ARRAY_BUFFER,d,n.metallicRoughness.length,2,t.STATIC_DRAW,!1)}if(n.positions.length>0){var v=n.positions.length/3,h=new Float32Array(v);e.flagsBuf=new Dt(t,t.ARRAY_BUFFER,h,h.length,1,t.DYNAMIC_DRAW,!1)}if(n.pickColors.length>0){var I=new Uint8Array(n.pickColors);e.pickColorsBuf=new Dt(t,t.ARRAY_BUFFER,I,n.pickColors.length,4,t.STATIC_DRAW,!1)}if(this.model.scene.entityOffsetsEnabled&&n.offsets.length>0){var y=new Float32Array(n.offsets);e.offsetsBuf=new Dt(t,t.ARRAY_BUFFER,y,n.offsets.length,3,t.DYNAMIC_DRAW)}if(n.indices.length>0){var m=new Uint32Array(n.indices);e.indicesBuf=new Dt(t,t.ELEMENT_ARRAY_BUFFER,m,n.indices.length,1,t.STATIC_DRAW)}if(n.edgeIndices.length>0){var w=new Uint32Array(n.edgeIndices);e.edgeIndicesBuf=new Dt(t,t.ELEMENT_ARRAY_BUFFER,w,n.edgeIndices.length,1,t.STATIC_DRAW)}this._state.pbrSupported=!!(e.metallicRoughnessBuf&&e.uvBuf&&e.normalsBuf&&e.textureSet&&e.textureSet.colorTexture&&e.textureSet.metallicRoughnessTexture),this._state.colorTextureSupported=!!e.uvBuf&&!!e.textureSet&&!!e.textureSet.colorTexture,this._buffer=null,this._finalized=!0}}},{key:"isEmpty",value:function(){return!this._state.indicesBuf}},{key:"initFlags",value:function(e,t,n){t&xe&&(this._numVisibleLayerPortions++,this.model.numVisibleLayerPortions++),t&ke&&(this._numHighlightedLayerPortions++,this.model.numHighlightedLayerPortions++),t&Ge&&(this._numXRayedLayerPortions++,this.model.numXRayedLayerPortions++),t&je&&(this._numSelectedLayerPortions++,this.model.numSelectedLayerPortions++),t&He&&(this._numClippableLayerPortions++,this.model.numClippableLayerPortions++),t&Ve&&(this._numEdgesLayerPortions++,this.model.numEdgesLayerPortions++),t&Fe&&(this._numPickableLayerPortions++,this.model.numPickableLayerPortions++),t&Me&&(this._numCulledLayerPortions++,this.model.numCulledLayerPortions++),n&&(this._numTransparentLayerPortions++,this.model.numTransparentLayerPortions++);this._setFlags(e,t,n,!0)}},{key:"flushInitFlags",value:function(){this._setDeferredFlags()}},{key:"setVisible",value:function(e,t,n){if(!this._finalized)throw"Not finalized";t&xe?(this._numVisibleLayerPortions++,this.model.numVisibleLayerPortions++):(this._numVisibleLayerPortions--,this.model.numVisibleLayerPortions--),this._setFlags(e,t,n)}},{key:"setHighlighted",value:function(e,t,n){if(!this._finalized)throw"Not finalized";t&ke?(this._numHighlightedLayerPortions++,this.model.numHighlightedLayerPortions++):(this._numHighlightedLayerPortions--,this.model.numHighlightedLayerPortions--),this._setFlags(e,t,n)}},{key:"setXRayed",value:function(e,t,n){if(!this._finalized)throw"Not finalized";t&Ge?(this._numXRayedLayerPortions++,this.model.numXRayedLayerPortions++):(this._numXRayedLayerPortions--,this.model.numXRayedLayerPortions--),this._setFlags(e,t,n)}},{key:"setSelected",value:function(e,t,n){if(!this._finalized)throw"Not finalized";t&je?(this._numSelectedLayerPortions++,this.model.numSelectedLayerPortions++):(this._numSelectedLayerPortions--,this.model.numSelectedLayerPortions--),this._setFlags(e,t,n)}},{key:"setEdges",value:function(e,t,n){if(!this._finalized)throw"Not finalized";t&Ve?(this._numEdgesLayerPortions++,this.model.numEdgesLayerPortions++):(this._numEdgesLayerPortions--,this.model.numEdgesLayerPortions--),this._setFlags(e,t,n)}},{key:"setClippable",value:function(e,t){if(!this._finalized)throw"Not finalized";t&He?(this._numClippableLayerPortions++,this.model.numClippableLayerPortions++):(this._numClippableLayerPortions--,this.model.numClippableLayerPortions--),this._setFlags(e,t)}},{key:"setCulled",value:function(e,t,n){if(!this._finalized)throw"Not finalized";t&Me?(this._numCulledLayerPortions++,this.model.numCulledLayerPortions++):(this._numCulledLayerPortions--,this.model.numCulledLayerPortions--),this._setFlags(e,t,n)}},{key:"setCollidable",value:function(e,t){if(!this._finalized)throw"Not finalized"}},{key:"setPickable",value:function(e,t,n){if(!this._finalized)throw"Not finalized";t&Fe?(this._numPickableLayerPortions++,this.model.numPickableLayerPortions++):(this._numPickableLayerPortions--,this.model.numPickableLayerPortions--),this._setFlags(e,t,n)}},{key:"setColor",value:function(e,t){if(!this._finalized)throw"Not finalized";for(var n=e,r=this._portions[n],i=4*r.vertsBaseIndex,a=4*r.numVerts,s=this._scratchMemory.getUInt8Array(a),o=t[0],l=t[1],u=t[2],c=t[3],f=0;f3&&void 0!==arguments[3]&&arguments[3];if(!this._finalized)throw"Not finalized";var i,a,s=e,o=this._portions[s],l=o.vertsBaseIndex,u=o.numVerts,c=l,f=u,p=!!(t&xe),A=!!(t&Ge),d=!!(t&ke),v=!!(t&je),h=!!(t&Ve),I=!!(t&Fe),y=!!(t&Me);i=!p||y||A||d&&!this.model.scene.highlightMaterial.glowThrough||v&&!this.model.scene.selectedMaterial.glowThrough?Xs.NOT_RENDERED:n?Xs.COLOR_TRANSPARENT:Xs.COLOR_OPAQUE,a=!p||y?Xs.NOT_RENDERED:v?Xs.SILHOUETTE_SELECTED:d?Xs.SILHOUETTE_HIGHLIGHTED:A?Xs.SILHOUETTE_XRAYED:Xs.NOT_RENDERED;var m=0;m=!p||y?Xs.NOT_RENDERED:v?Xs.EDGES_SELECTED:d?Xs.EDGES_HIGHLIGHTED:A?Xs.EDGES_XRAYED:h?n?Xs.EDGES_COLOR_TRANSPARENT:Xs.EDGES_COLOR_OPAQUE:Xs.NOT_RENDERED;var w=p&&!y&&I?Xs.PICK:Xs.NOT_RENDERED,g=t&He?1:0;if(r){this._deferredFlagValues||(this._deferredFlagValues=new Float32Array(this._numVerts));for(var E=c,T=c+f;EI)&&(I=b,r.set(y),i&&$.triangleNormal(A,d,v,i),h=!0)}}return h&&i&&($.transformVec3(this.model.worldNormalMatrix,i,i),$.normalizeVec3(i)),h}},{key:"destroy",value:function(){var e=this._state;e.positionsBuf&&(e.positionsBuf.destroy(),e.positionsBuf=null),e.offsetsBuf&&(e.offsetsBuf.destroy(),e.offsetsBuf=null),e.normalsBuf&&(e.normalsBuf.destroy(),e.normalsBuf=null),e.colorsBuf&&(e.colorsBuf.destroy(),e.colorsBuf=null),e.metallicRoughnessBuf&&(e.metallicRoughnessBuf.destroy(),e.metallicRoughnessBuf=null),e.flagsBuf&&(e.flagsBuf.destroy(),e.flagsBuf=null),e.pickColorsBuf&&(e.pickColorsBuf.destroy(),e.pickColorsBuf=null),e.indicesBuf&&(e.indicesBuf.destroy(),e.indicessBuf=null),e.edgeIndicesBuf&&(e.edgeIndicesBuf.destroy(),e.edgeIndicessBuf=null),e.destroy()}}]),e}(),ol=function(e){I(n,ao);var t=m(n);function n(){return b(this,n),t.apply(this,arguments)}return P(n,[{key:"_getHash",value:function(){var e=this._scene;return[e._lightsState.getHash(),e._sectionPlanesState.getHash(),this._withSAO?"sao":"nosao"].join(";")}},{key:"drawLayer",value:function(e,t,r){v(E(n.prototype),"drawLayer",this).call(this,e,t,r,{incrementDrawState:!0})}},{key:"_buildVertexShader",value:function(){var e,t,n,r=this._scene,i=r._sectionPlanesState,a=r._lightsState,s=i.getNumAllocatedSectionPlanes()>0,o=[];for(o.push("#version 300 es"),o.push("// Instancing geometry drawing vertex shader"),o.push("uniform int renderPass;"),o.push("in vec3 position;"),o.push("in vec2 normal;"),o.push("in vec4 color;"),o.push("in float flags;"),r.entityOffsetsEnabled&&o.push("in vec3 offset;"),o.push("in vec4 modelMatrixCol0;"),o.push("in vec4 modelMatrixCol1;"),o.push("in vec4 modelMatrixCol2;"),o.push("in vec4 modelNormalMatrixCol0;"),o.push("in vec4 modelNormalMatrixCol1;"),o.push("in vec4 modelNormalMatrixCol2;"),this._addMatricesUniformBlockLines(o,!0),r.logarithmicDepthBufferEnabled&&(o.push("uniform float logDepthBufFC;"),o.push("out float vFragDepth;"),o.push("bool isPerspectiveMatrix(mat4 m) {"),o.push(" return (m[2][3] == - 1.0);"),o.push("}"),o.push("out float isPerspective;")),o.push("uniform vec4 lightAmbient;"),e=0,t=a.lights.length;e= 0.0 ? 1.0 : -1.0, v.y >= 0.0 ? 1.0 : -1.0);"),o.push(" }"),o.push(" return normalize(v);"),o.push("}"),s&&(o.push("out vec4 vWorldPosition;"),o.push("out float vFlags;")),o.push("out vec4 vColor;"),o.push("void main(void) {"),o.push("int colorFlag = int(flags) & 0xF;"),o.push("if (colorFlag != renderPass) {"),o.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),o.push("} else {"),o.push("vec4 worldPosition = positionsDecodeMatrix * vec4(position, 1.0); "),o.push("worldPosition = worldMatrix * vec4(dot(worldPosition, modelMatrixCol0), dot(worldPosition, modelMatrixCol1), dot(worldPosition, modelMatrixCol2), 1.0);"),r.entityOffsetsEnabled&&o.push("worldPosition.xyz = worldPosition.xyz + offset;"),o.push("vec4 viewPosition = viewMatrix * worldPosition; "),o.push("vec4 modelNormal = vec4(octDecode(normal.xy), 0.0); "),o.push("vec4 worldNormal = worldNormalMatrix * vec4(dot(modelNormal, modelNormalMatrixCol0), dot(modelNormal, modelNormalMatrixCol1), dot(modelNormal, modelNormalMatrixCol2), 0.0);"),o.push("vec3 viewNormal = normalize(vec4(viewNormalMatrix * worldNormal).xyz);"),o.push("vec3 reflectedColor = vec3(0.0, 0.0, 0.0);"),o.push("vec3 viewLightDir = vec3(0.0, 0.0, -1.0);"),o.push("float lambertian = 1.0;"),e=0,t=a.lights.length;e0,r=[];if(r.push("#version 300 es"),r.push("// Instancing geometry drawing fragment shader"),r.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),r.push("precision highp float;"),r.push("precision highp int;"),r.push("#else"),r.push("precision mediump float;"),r.push("precision mediump int;"),r.push("#endif"),e.logarithmicDepthBufferEnabled&&(r.push("in float isPerspective;"),r.push("uniform float logDepthBufFC;"),r.push("in float vFragDepth;")),this._withSAO&&(r.push("uniform sampler2D uOcclusionTexture;"),r.push("uniform vec4 uSAOParams;"),r.push("const float packUpscale = 256. / 255.;"),r.push("const float unpackDownScale = 255. / 256.;"),r.push("const vec3 packFactors = vec3( 256. * 256. * 256., 256. * 256., 256. );"),r.push("const vec4 unPackFactors = unpackDownScale / vec4( packFactors, 1. );"),r.push("float unpackRGBToFloat( const in vec4 v ) {"),r.push(" return dot( v, unPackFactors );"),r.push("}")),n){r.push("in vec4 vWorldPosition;"),r.push("in float vFlags;");for(var i=0,a=t.getNumAllocatedSectionPlanes();i> 16 & 0xF) == 1;"),r.push(" if (clippable) {"),r.push(" float dist = 0.0;");for(var s=0,o=t.getNumAllocatedSectionPlanes();s 0.0) { "),r.push(" discard;"),r.push(" }"),r.push("}")}return e.logarithmicDepthBufferEnabled&&r.push(" gl_FragDepth = isPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5;"),this._withSAO?(r.push(" float viewportWidth = uSAOParams[0];"),r.push(" float viewportHeight = uSAOParams[1];"),r.push(" float blendCutoff = uSAOParams[2];"),r.push(" float blendFactor = uSAOParams[3];"),r.push(" vec2 uv = vec2(gl_FragCoord.x / viewportWidth, gl_FragCoord.y / viewportHeight);"),r.push(" float ambient = smoothstep(blendCutoff, 1.0, unpackRGBToFloat(texture(uOcclusionTexture, uv))) * blendFactor;"),r.push(" outColor = vec4(vColor.rgb * ambient, 1.0);")):r.push(" outColor = vColor;"),r.push("}"),r}}]),n}(),ll=function(e){I(n,ao);var t=m(n);function n(){return b(this,n),t.apply(this,arguments)}return P(n,[{key:"_getHash",value:function(){var e=this._scene;return[e._lightsState.getHash(),e._sectionPlanesState.getHash(),this._withSAO?"sao":"nosao"].join(";")}},{key:"_buildVertexShader",value:function(){var e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,n=[];return n.push("#version 300 es"),n.push("// Instancing geometry flat-shading drawing vertex shader"),n.push("uniform int renderPass;"),n.push("in vec3 position;"),n.push("in vec4 color;"),n.push("in float flags;"),e.entityOffsetsEnabled&&n.push("in vec3 offset;"),n.push("in vec4 modelMatrixCol0;"),n.push("in vec4 modelMatrixCol1;"),n.push("in vec4 modelMatrixCol2;"),this._addMatricesUniformBlockLines(n),e.logarithmicDepthBufferEnabled&&(n.push("uniform float logDepthBufFC;"),n.push("out float vFragDepth;"),n.push("bool isPerspectiveMatrix(mat4 m) {"),n.push(" return (m[2][3] == - 1.0);"),n.push("}"),n.push("out float isPerspective;")),t&&(n.push("out vec4 vWorldPosition;"),n.push("out float vFlags;")),n.push("out vec4 vViewPosition;"),n.push("out vec4 vColor;"),n.push("void main(void) {"),n.push("int colorFlag = int(flags) & 0xF;"),n.push("if (colorFlag != renderPass) {"),n.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),n.push("} else {"),n.push("vec4 worldPosition = positionsDecodeMatrix * vec4(position, 1.0); "),n.push("worldPosition = worldMatrix * vec4(dot(worldPosition, modelMatrixCol0), dot(worldPosition, modelMatrixCol1), dot(worldPosition, modelMatrixCol2), 1.0);"),e.entityOffsetsEnabled&&n.push(" worldPosition.xyz = worldPosition.xyz + offset;"),n.push("vec4 viewPosition = viewMatrix * worldPosition; "),n.push("vViewPosition = viewPosition;"),n.push("vColor = vec4(float(color.r) / 255.0, float(color.g) / 255.0, float(color.b) / 255.0, float(color.a) / 255.0);"),n.push("vec4 clipPos = projMatrix * viewPosition;"),e.logarithmicDepthBufferEnabled&&(n.push("vFragDepth = 1.0 + clipPos.w;"),n.push("isPerspective = float (isPerspectiveMatrix(projMatrix));")),t&&(n.push("vWorldPosition = worldPosition;"),n.push("vFlags = flags;")),n.push("gl_Position = clipPos;"),n.push("}"),n.push("}"),n}},{key:"_buildFragmentShader",value:function(){var e,t,n=this._scene,r=n._sectionPlanesState,i=n._lightsState,a=r.getNumAllocatedSectionPlanes()>0,s=[];if(s.push("#version 300 es"),s.push("// Instancing geometry flat-shading drawing fragment shader"),s.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),s.push("precision highp float;"),s.push("precision highp int;"),s.push("#else"),s.push("precision mediump float;"),s.push("precision mediump int;"),s.push("#endif"),n.logarithmicDepthBufferEnabled&&(s.push("in float isPerspective;"),s.push("uniform float logDepthBufFC;"),s.push("in float vFragDepth;")),this._withSAO&&(s.push("uniform sampler2D uOcclusionTexture;"),s.push("uniform vec4 uSAOParams;"),s.push("const float packUpscale = 256. / 255.;"),s.push("const float unpackDownScale = 255. / 256.;"),s.push("const vec3 packFactors = vec3( 256. * 256. * 256., 256. * 256., 256. );"),s.push("const vec4 unPackFactors = unpackDownScale / vec4( packFactors, 1. );"),s.push("float unpackRGBToFloat( const in vec4 v ) {"),s.push(" return dot( v, unPackFactors );"),s.push("}")),a){s.push("in vec4 vWorldPosition;"),s.push("in float vFlags;");for(var o=0,l=r.getNumAllocatedSectionPlanes();o> 16 & 0xF) == 1;"),s.push(" if (clippable) {"),s.push(" float dist = 0.0;");for(var c=0,f=r.getNumAllocatedSectionPlanes();c 0.0) { "),s.push(" discard;"),s.push(" }"),s.push("}")}for(s.push("vec3 reflectedColor = vec3(0.0, 0.0, 0.0);"),s.push("vec3 viewLightDir = vec3(0.0, 0.0, -1.0);"),s.push("float lambertian = 1.0;"),s.push("vec3 xTangent = dFdx( vViewPosition.xyz );"),s.push("vec3 yTangent = dFdy( vViewPosition.xyz );"),s.push("vec3 viewNormal = normalize( cross( xTangent, yTangent ) );"),e=0,t=i.lights.length;e0,n=[];return n.push("#version 300 es"),n.push("// Instancing silhouette vertex shader"),n.push("uniform int renderPass;"),n.push("in vec3 position;"),e.entityOffsetsEnabled&&n.push("in vec3 offset;"),n.push("in float flags;"),n.push("in vec4 color;"),n.push("in vec4 modelMatrixCol0;"),n.push("in vec4 modelMatrixCol1;"),n.push("in vec4 modelMatrixCol2;"),this._addMatricesUniformBlockLines(n),n.push("uniform vec4 silhouetteColor;"),e.logarithmicDepthBufferEnabled&&(n.push("uniform float logDepthBufFC;"),n.push("out float vFragDepth;"),n.push("bool isPerspectiveMatrix(mat4 m) {"),n.push(" return (m[2][3] == - 1.0);"),n.push("}"),n.push("out float isPerspective;")),t&&(n.push("out vec4 vWorldPosition;"),n.push("out float vFlags;")),n.push("out vec4 vColor;"),n.push("void main(void) {"),n.push("int silhouetteFlag = int(flags) >> 4 & 0xF;"),n.push("if (silhouetteFlag != renderPass) {"),n.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),n.push("} else {"),n.push("vec4 worldPosition = positionsDecodeMatrix * vec4(position, 1.0); "),n.push("worldPosition = worldMatrix * vec4(dot(worldPosition, modelMatrixCol0), dot(worldPosition, modelMatrixCol1), dot(worldPosition, modelMatrixCol2), 1.0);"),e.entityOffsetsEnabled&&n.push(" worldPosition.xyz = worldPosition.xyz + offset;"),n.push("vec4 viewPosition = viewMatrix * worldPosition; "),t&&(n.push("vWorldPosition = worldPosition;"),n.push("vFlags = flags;")),n.push("vColor = vec4(silhouetteColor.r, silhouetteColor.g, silhouetteColor.b, min(silhouetteColor.a, float(color.a) / 255.0));"),n.push("vec4 clipPos = projMatrix * viewPosition;"),e.logarithmicDepthBufferEnabled&&(n.push("vFragDepth = 1.0 + clipPos.w;"),n.push("isPerspective = float (isPerspectiveMatrix(projMatrix));")),n.push("gl_Position = clipPos;"),n.push("}"),n.push("}"),n}},{key:"_buildFragmentShader",value:function(){var e=this._scene,t=e._sectionPlanesState,n=t.getNumAllocatedSectionPlanes()>0,r=[];if(r.push("#version 300 es"),r.push("// Instancing fill fragment shader"),r.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),r.push("precision highp float;"),r.push("precision highp int;"),r.push("#else"),r.push("precision mediump float;"),r.push("precision mediump int;"),r.push("#endif"),e.logarithmicDepthBufferEnabled&&(r.push("in float isPerspective;"),r.push("uniform float logDepthBufFC;"),r.push("in float vFragDepth;")),n){r.push("in vec4 vWorldPosition;"),r.push("in float vFlags;");for(var i=0,a=t.getNumAllocatedSectionPlanes();i> 16 & 0xF) == 1;"),r.push(" if (clippable) {"),r.push(" float dist = 0.0;");for(var s=0,o=t.getNumAllocatedSectionPlanes();s 0.0) { discard; }"),r.push("}")}return e.logarithmicDepthBufferEnabled&&r.push(" gl_FragDepth = isPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5;"),r.push("outColor = vColor;"),r.push("}"),r}}]),n}(),cl=function(e){I(n,so);var t=m(n);function n(){return b(this,n),t.apply(this,arguments)}return P(n,[{key:"drawLayer",value:function(e,t,r){v(E(n.prototype),"drawLayer",this).call(this,e,t,r,{colorUniform:!0})}},{key:"_buildVertexShader",value:function(){var e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,n=[];return n.push("#version 300 es"),n.push("// Triangles instancing edges vertex shader"),n.push("uniform int renderPass;"),n.push("uniform vec4 color;"),n.push("in vec3 position;"),e.entityOffsetsEnabled&&n.push("in vec3 offset;"),n.push("in float flags;"),n.push("in vec4 modelMatrixCol0;"),n.push("in vec4 modelMatrixCol1;"),n.push("in vec4 modelMatrixCol2;"),this._addMatricesUniformBlockLines(n),e.logarithmicDepthBufferEnabled&&(n.push("uniform float logDepthBufFC;"),n.push("out float vFragDepth;"),n.push("bool isPerspectiveMatrix(mat4 m) {"),n.push(" return (m[2][3] == - 1.0);"),n.push("}"),n.push("out float isPerspective;")),t&&(n.push("out vec4 vWorldPosition;"),n.push("out float vFlags;")),n.push("out vec4 vColor;"),n.push("void main(void) {"),n.push("int edgeFlag = int(flags) >> 8 & 0xF;"),n.push("if (edgeFlag != renderPass) {"),n.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),n.push("} else {"),n.push("vec4 worldPosition = positionsDecodeMatrix * vec4(position, 1.0); "),n.push("worldPosition = worldMatrix * vec4(dot(worldPosition, modelMatrixCol0), dot(worldPosition, modelMatrixCol1), dot(worldPosition, modelMatrixCol2), 1.0);"),e.entityOffsetsEnabled&&n.push(" worldPosition.xyz = worldPosition.xyz + offset;"),n.push("vec4 viewPosition = viewMatrix * worldPosition; "),t&&(n.push("vWorldPosition = worldPosition;"),n.push("vFlags = flags;")),n.push("vec4 clipPos = projMatrix * viewPosition;"),e.logarithmicDepthBufferEnabled&&(n.push("vFragDepth = 1.0 + clipPos.w;"),n.push("isPerspective = float (isPerspectiveMatrix(projMatrix));")),n.push("gl_Position = clipPos;"),n.push("vColor = vec4(color.r, color.g, color.b, color.a);"),n.push("}"),n.push("}"),n}},{key:"_buildFragmentShader",value:function(){var e=this._scene,t=e._sectionPlanesState,n=t.getNumAllocatedSectionPlanes()>0,r=[];if(r.push("#version 300 es"),r.push("// Batched geometry edges drawing fragment shader"),r.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),r.push("precision highp float;"),r.push("precision highp int;"),r.push("#else"),r.push("precision mediump float;"),r.push("precision mediump int;"),r.push("#endif"),e.logarithmicDepthBufferEnabled&&(r.push("in float isPerspective;"),r.push("uniform float logDepthBufFC;"),r.push("in float vFragDepth;")),n){r.push("in vec4 vWorldPosition;"),r.push("in float vFlags;");for(var i=0,a=t.getNumAllocatedSectionPlanes();i> 16 & 0xF) == 1;"),r.push(" if (clippable) {"),r.push(" float dist = 0.0;");for(var s=0,o=t.getNumAllocatedSectionPlanes();s 0.0) { discard; }"),r.push("}")}return e.logarithmicDepthBufferEnabled&&r.push(" gl_FragDepth = isPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5;"),r.push("outColor = vColor;"),r.push("}"),r}}]),n}(),fl=function(e){I(n,so);var t=m(n);function n(){return b(this,n),t.apply(this,arguments)}return P(n,[{key:"_buildVertexShader",value:function(){var e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,n=[];return n.push("#version 300 es"),n.push("// Triangles instancing edges vertex shader"),n.push("uniform int renderPass;"),n.push("in vec3 position;"),n.push("in vec4 color;"),e.entityOffsetsEnabled&&n.push("in vec3 offset;"),n.push("in float flags;"),n.push("in vec4 modelMatrixCol0;"),n.push("in vec4 modelMatrixCol1;"),n.push("in vec4 modelMatrixCol2;"),this._addMatricesUniformBlockLines(n),e.logarithmicDepthBufferEnabled&&(n.push("uniform float logDepthBufFC;"),n.push("out float vFragDepth;"),n.push("bool isPerspectiveMatrix(mat4 m) {"),n.push(" return (m[2][3] == - 1.0);"),n.push("}"),n.push("out float isPerspective;")),t&&(n.push("out vec4 vWorldPosition;"),n.push("out float vFlags;")),n.push("out vec4 vColor;"),n.push("void main(void) {"),n.push("int edgeFlag = int(flags) >> 8 & 0xF;"),n.push("if (edgeFlag != renderPass) {"),n.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),n.push("} else {"),n.push("vec4 worldPosition = positionsDecodeMatrix * vec4(position, 1.0); "),n.push("worldPosition = worldMatrix * vec4(dot(worldPosition, modelMatrixCol0), dot(worldPosition, modelMatrixCol1), dot(worldPosition, modelMatrixCol2), 1.0);"),e.entityOffsetsEnabled&&n.push(" worldPosition.xyz = worldPosition.xyz + offset;"),n.push("vec4 viewPosition = viewMatrix * worldPosition; "),t&&(n.push("vWorldPosition = worldPosition;"),n.push("vFlags = flags;")),n.push("vec4 clipPos = projMatrix * viewPosition;"),e.logarithmicDepthBufferEnabled&&(n.push("vFragDepth = 1.0 + clipPos.w;"),n.push("isPerspective = float (isPerspectiveMatrix(projMatrix));")),n.push("gl_Position = clipPos;"),n.push("vColor = vec4(float(color.r*0.5) / 255.0, float(color.g*0.5) / 255.0, float(color.b*0.5) / 255.0, float(color.a) / 255.0);"),n.push("}"),n.push("}"),n}},{key:"_buildFragmentShader",value:function(){var e=this._scene,t=e._sectionPlanesState,n=t.getNumAllocatedSectionPlanes()>0,r=[];if(r.push("#version 300 es"),r.push("// Batched geometry edges drawing fragment shader"),r.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),r.push("precision highp float;"),r.push("precision highp int;"),r.push("#else"),r.push("precision mediump float;"),r.push("precision mediump int;"),r.push("#endif"),e.logarithmicDepthBufferEnabled&&(r.push("in float isPerspective;"),r.push("uniform float logDepthBufFC;"),r.push("in float vFragDepth;")),n){r.push("in vec4 vWorldPosition;"),r.push("in float vFlags;");for(var i=0,a=t.getNumAllocatedSectionPlanes();i> 16 & 0xF) == 1;"),r.push(" if (clippable) {"),r.push(" float dist = 0.0;");for(var s=0,o=t.getNumAllocatedSectionPlanes();s 0.0) { discard; }"),r.push("}")}return e.logarithmicDepthBufferEnabled&&r.push(" gl_FragDepth = isPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5;"),r.push("outColor = vColor;"),r.push("}"),r}}]),n}(),pl=function(e){I(n,ao);var t=m(n);function n(){return b(this,n),t.apply(this,arguments)}return P(n,[{key:"_buildVertexShader",value:function(){var e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,n=[];return n.push("#version 300 es"),n.push("// Instancing geometry picking vertex shader"),n.push("uniform int renderPass;"),n.push("in vec3 position;"),e.entityOffsetsEnabled&&n.push("in vec3 offset;"),n.push("in float flags;"),n.push("in vec4 pickColor;"),n.push("in vec4 modelMatrixCol0;"),n.push("in vec4 modelMatrixCol1;"),n.push("in vec4 modelMatrixCol2;"),n.push("uniform bool pickInvisible;"),this._addMatricesUniformBlockLines(n),this._addRemapClipPosLines(n),e.logarithmicDepthBufferEnabled&&(n.push("uniform float logDepthBufFC;"),n.push("out float vFragDepth;"),n.push("bool isPerspectiveMatrix(mat4 m) {"),n.push(" return (m[2][3] == - 1.0);"),n.push("}"),n.push("out float isPerspective;")),t&&(n.push("out vec4 vWorldPosition;"),n.push("out float vFlags;")),n.push("out vec4 vPickColor;"),n.push("void main(void) {"),n.push("int pickFlag = int(flags) >> 12 & 0xF;"),n.push("if (pickFlag != renderPass) {"),n.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),n.push("} else {"),n.push(" vec4 worldPosition = positionsDecodeMatrix * vec4(position, 1.0); "),n.push(" worldPosition = worldMatrix * vec4(dot(worldPosition, modelMatrixCol0), dot(worldPosition, modelMatrixCol1), dot(worldPosition, modelMatrixCol2), 1.0);"),e.entityOffsetsEnabled&&n.push(" worldPosition.xyz = worldPosition.xyz + offset;"),n.push(" vec4 viewPosition = viewMatrix * worldPosition; "),n.push(" vPickColor = vec4(float(pickColor.r) / 255.0, float(pickColor.g) / 255.0, float(pickColor.b) / 255.0, float(pickColor.a) / 255.0);"),t&&(n.push(" vWorldPosition = worldPosition;"),n.push(" vFlags = flags;")),n.push("vec4 clipPos = projMatrix * viewPosition;"),e.logarithmicDepthBufferEnabled&&(n.push("vFragDepth = 1.0 + clipPos.w;"),n.push("isPerspective = float (isPerspectiveMatrix(projMatrix));")),n.push("gl_Position = remapClipPos(clipPos);"),n.push("}"),n.push("}"),n}},{key:"_buildFragmentShader",value:function(){var e=this._scene,t=e._sectionPlanesState,n=t.getNumAllocatedSectionPlanes()>0,r=[];if(r.push("#version 300 es"),r.push("// Batched geometry picking fragment shader"),r.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),r.push("precision highp float;"),r.push("precision highp int;"),r.push("#else"),r.push("precision mediump float;"),r.push("precision mediump int;"),r.push("#endif"),e.logarithmicDepthBufferEnabled&&(r.push("in float isPerspective;"),r.push("uniform float logDepthBufFC;"),r.push("in float vFragDepth;")),n){r.push("in vec4 vWorldPosition;"),r.push("in float vFlags;");for(var i=0;i> 16 & 0xF) == 1;"),r.push(" if (clippable) {"),r.push(" float dist = 0.0;");for(var a=0;a 0.0) { discard; }"),r.push("}")}return e.logarithmicDepthBufferEnabled&&r.push(" gl_FragDepth = isPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5;"),r.push("outColor = vPickColor; "),r.push("}"),r}}]),n}(),Al=function(e){I(n,ao);var t=m(n);function n(){return b(this,n),t.apply(this,arguments)}return P(n,[{key:"_buildVertexShader",value:function(){var e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,n=[];return n.push("#version 300 es"),n.push("// Instancing geometry depth vertex shader"),n.push("uniform int renderPass;"),n.push("in vec3 position;"),e.entityOffsetsEnabled&&n.push("in vec3 offset;"),n.push("in float flags;"),n.push("in vec4 modelMatrixCol0;"),n.push("in vec4 modelMatrixCol1;"),n.push("in vec4 modelMatrixCol2;"),n.push("uniform bool pickInvisible;"),this._addMatricesUniformBlockLines(n),this._addRemapClipPosLines(n),e.logarithmicDepthBufferEnabled&&(n.push("uniform float logDepthBufFC;"),n.push("out float vFragDepth;"),n.push("bool isPerspectiveMatrix(mat4 m) {"),n.push(" return (m[2][3] == - 1.0);"),n.push("}"),n.push("out float isPerspective;")),t&&(n.push("out vec4 vWorldPosition;"),n.push("out float vFlags;")),n.push("out vec4 vViewPosition;"),n.push("void main(void) {"),n.push("int pickFlag = int(flags) >> 12 & 0xF;"),n.push("if (pickFlag != renderPass) {"),n.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),n.push("} else {"),n.push(" vec4 worldPosition = positionsDecodeMatrix * vec4(position, 1.0); "),n.push(" worldPosition = worldMatrix * vec4(dot(worldPosition, modelMatrixCol0), dot(worldPosition, modelMatrixCol1), dot(worldPosition, modelMatrixCol2), 1.0);"),e.entityOffsetsEnabled&&n.push(" worldPosition.xyz = worldPosition.xyz + offset;"),n.push(" vec4 viewPosition = viewMatrix * worldPosition; "),t&&(n.push(" vWorldPosition = worldPosition;"),n.push(" vFlags = flags;")),n.push(" vViewPosition = viewPosition;"),n.push("vec4 clipPos = projMatrix * viewPosition;"),e.logarithmicDepthBufferEnabled&&(n.push("vFragDepth = 1.0 + clipPos.w;"),n.push("isPerspective = float (isPerspectiveMatrix(projMatrix));")),n.push("gl_Position = remapClipPos(clipPos);"),n.push("}"),n.push("}"),n}},{key:"_buildFragmentShader",value:function(){var e=this._scene,t=e._sectionPlanesState,n=t.getNumAllocatedSectionPlanes()>0,r=[];if(r.push("#version 300 es"),r.push("// Batched geometry depth fragment shader"),r.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),r.push("precision highp float;"),r.push("precision highp int;"),r.push("#else"),r.push("precision mediump float;"),r.push("precision mediump int;"),r.push("#endif"),e.logarithmicDepthBufferEnabled&&(r.push("in float isPerspective;"),r.push("uniform float logDepthBufFC;"),r.push("in float vFragDepth;")),r.push("uniform float pickZNear;"),r.push("uniform float pickZFar;"),n){r.push("in vec4 vWorldPosition;"),r.push("in float vFlags;");for(var i=0;i> 16 & 0xF) == 1;"),r.push(" if (clippable) {"),r.push(" float dist = 0.0;");for(var a=0;a 0.0) { discard; }"),r.push("}")}return e.logarithmicDepthBufferEnabled&&r.push(" gl_FragDepth = isPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5;"),r.push(" float zNormalizedDepth = abs((pickZNear + vViewPosition.z) / (pickZFar - pickZNear));"),r.push(" outColor = packDepth(zNormalizedDepth); "),r.push("}"),r}}]),n}(),dl=function(e){I(n,ao);var t=m(n);function n(){return b(this,n),t.apply(this,arguments)}return P(n,[{key:"_buildVertexShader",value:function(){var e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,n=[];return n.push("#version 300 es"),n.push("// Instancing geometry normals vertex shader"),n.push("uniform int renderPass;"),n.push("in vec3 position;"),e.entityOffsetsEnabled&&n.push("in vec3 offset;"),n.push("in vec2 normal;"),n.push("in float flags;"),n.push("in vec4 modelMatrixCol0;"),n.push("in vec4 modelMatrixCol1;"),n.push("in vec4 modelMatrixCol2;"),n.push("in vec4 modelNormalMatrixCol0;"),n.push("in vec4 modelNormalMatrixCol1;"),n.push("in vec4 modelNormalMatrixCol2;"),n.push("uniform bool pickInvisible;"),this._addMatricesUniformBlockLines(n),this._addRemapClipPosLines(n,3),e.logarithmicDepthBufferEnabled&&(n.push("uniform float logDepthBufFC;"),n.push("out float vFragDepth;"),n.push("bool isPerspectiveMatrix(mat4 m) {"),n.push(" return (m[2][3] == - 1.0);"),n.push("}"),n.push("out float isPerspective;")),n.push("vec3 octDecode(vec2 oct) {"),n.push(" vec3 v = vec3(oct.xy, 1.0 - abs(oct.x) - abs(oct.y));"),n.push(" if (v.z < 0.0) {"),n.push(" v.xy = (1.0 - abs(v.yx)) * vec2(v.x >= 0.0 ? 1.0 : -1.0, v.y >= 0.0 ? 1.0 : -1.0);"),n.push(" }"),n.push(" return normalize(v);"),n.push("}"),t&&(n.push("out vec4 vWorldPosition;"),n.push("out float vFlags;")),n.push("out vec3 vWorldNormal;"),n.push("void main(void) {"),n.push("int pickFlag = int(flags) >> 12 & 0xF;"),n.push("if (pickFlag != renderPass) {"),n.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),n.push("} else {"),n.push(" vec4 worldPosition = positionsDecodeMatrix * vec4(position, 1.0); "),n.push(" worldPosition = worldMatrix * vec4(dot(worldPosition, modelMatrixCol0), dot(worldPosition, modelMatrixCol1), dot(worldPosition, modelMatrixCol2), 1.0);"),e.entityOffsetsEnabled&&n.push(" worldPosition.xyz = worldPosition.xyz + offset;"),n.push(" vec4 viewPosition = viewMatrix * worldPosition; "),n.push(" vec4 modelNormal = vec4(octDecode(normal.xy), 0.0); "),n.push(" vec3 worldNormal = vec3(dot(modelNormal, modelNormalMatrixCol0), dot(modelNormal, modelNormalMatrixCol1), dot(modelNormal, modelNormalMatrixCol2));"),n.push(" vWorldNormal = worldNormal;"),t&&(n.push(" vWorldPosition = worldPosition;"),n.push("vFlags = flags;")),n.push("vec4 clipPos = projMatrix * viewPosition;"),e.logarithmicDepthBufferEnabled&&(n.push("vFragDepth = 1.0 + clipPos.w;"),n.push("isPerspective = float (isPerspectiveMatrix(projMatrix));")),n.push("gl_Position = remapClipPos(clipPos);"),n.push("}"),n.push("}"),n}},{key:"_buildFragmentShader",value:function(){var e=this._scene,t=e._sectionPlanesState,n=t.getNumAllocatedSectionPlanes()>0,r=[];if(r.push("#version 300 es"),r.push("// Batched geometry normals fragment shader"),r.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),r.push("precision highp float;"),r.push("precision highp int;"),r.push("#else"),r.push("precision mediump float;"),r.push("precision mediump int;"),r.push("#endif"),e.logarithmicDepthBufferEnabled&&(r.push("in float isPerspective;"),r.push("uniform float logDepthBufFC;"),r.push("in float vFragDepth;")),n){r.push("in vec4 vWorldPosition;"),r.push("in float vFlags;");for(var i=0;i> 16 & 0xF) == 1;"),r.push(" if (clippable) {"),r.push(" float dist = 0.0;");for(var a=0;a 0.0) { discard; }"),r.push("}")}return e.logarithmicDepthBufferEnabled&&r.push(" gl_FragDepth = isPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5;"),r.push(" outNormal = ivec4(vWorldNormal * float(".concat($.MAX_INT,"), 1.0);")),r.push("}"),r}}]),n}(),vl=function(e){I(n,ao);var t=m(n);function n(){return b(this,n),t.apply(this,arguments)}return P(n,[{key:"_buildVertexShader",value:function(){var e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,n=[];return n.push("#version 300 es"),n.push("// TrianglesInstancingOcclusionRenderer vertex shader"),n.push("uniform int renderPass;"),n.push("in vec3 position;"),e.entityOffsetsEnabled&&n.push("in vec3 offset;"),n.push("in vec4 color;"),n.push("in float flags;"),n.push("in vec4 modelMatrixCol0;"),n.push("in vec4 modelMatrixCol1;"),n.push("in vec4 modelMatrixCol2;"),this._addMatricesUniformBlockLines(n),t&&(n.push("out vec4 vWorldPosition;"),n.push("out float vFlags;")),n.push("void main(void) {"),n.push("int colorFlag = int(flags) & 0xF;"),n.push("if (colorFlag != renderPass) {"),n.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),n.push("} else {"),n.push(" vec4 worldPosition = positionsDecodeMatrix * vec4(position, 1.0); "),n.push(" worldPosition = worldMatrix * vec4(dot(worldPosition, modelMatrixCol0), dot(worldPosition, modelMatrixCol1), dot(worldPosition, modelMatrixCol2), 1.0);"),e.entityOffsetsEnabled&&n.push(" worldPosition.xyz = worldPosition.xyz + offset;"),n.push(" vec4 viewPosition = viewMatrix * worldPosition; "),t&&(n.push(" vWorldPosition = worldPosition;"),n.push("vFlags = flags;")),n.push("vec4 clipPos = projMatrix * viewPosition;"),n.push("gl_Position = clipPos;"),n.push("}"),n.push("}"),n}},{key:"_buildFragmentShader",value:function(){var e=this._scene._sectionPlanesState,t=e.getNumAllocatedSectionPlanes()>0,n=[];if(n.push("#version 300 es"),n.push("// TrianglesInstancingOcclusionRenderer fragment shader"),n.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),n.push("precision highp float;"),n.push("precision highp int;"),n.push("#else"),n.push("precision mediump float;"),n.push("precision mediump int;"),n.push("#endif"),t){n.push("in vec4 vWorldPosition;"),n.push("in float vFlags;");for(var r=0;r> 16 & 0xF) == 1;"),n.push(" if (clippable) {"),n.push(" float dist = 0.0;");for(var i=0;i 0.0) { discard; }"),n.push("}")}return n.push(" outColor = vec4(0.0, 0.0, 1.0, 1.0); "),n.push("}"),n}}]),n}(),hl=function(e){I(n,ao);var t=m(n);function n(){return b(this,n),t.apply(this,arguments)}return P(n,[{key:"_buildVertexShader",value:function(){var e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,n=[];return n.push("#version 300 es"),n.push("// Instancing geometry depth drawing vertex shader"),n.push("uniform int renderPass;"),n.push("in vec3 position;"),e.entityOffsetsEnabled&&n.push("in vec3 offset;"),n.push("in float flags;"),n.push("in vec4 modelMatrixCol0;"),n.push("in vec4 modelMatrixCol1;"),n.push("in vec4 modelMatrixCol2;"),this._addMatricesUniformBlockLines(n),e.logarithmicDepthBufferEnabled&&(n.push("uniform float logDepthBufFC;"),n.push("out float vFragDepth;"),n.push("bool isPerspectiveMatrix(mat4 m) {"),n.push(" return (m[2][3] == - 1.0);"),n.push("}"),n.push("out float isPerspective;")),t&&(n.push("out vec4 vWorldPosition;"),n.push("out float vFlags;")),n.push("out vec2 vHighPrecisionZW;"),n.push("void main(void) {"),n.push("int colorFlag = int(flags) & 0xF;"),n.push("if (colorFlag != renderPass) {"),n.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),n.push("} else {"),n.push(" vec4 worldPosition = positionsDecodeMatrix * vec4(position, 1.0); "),n.push(" worldPosition = worldMatrix * vec4(dot(worldPosition, modelMatrixCol0), dot(worldPosition, modelMatrixCol1), dot(worldPosition, modelMatrixCol2), 1.0);"),e.entityOffsetsEnabled&&n.push(" worldPosition.xyz = worldPosition.xyz + offset;"),n.push(" vec4 viewPosition = viewMatrix * worldPosition; "),t&&(n.push("vWorldPosition = worldPosition;"),n.push("vFlags = flags;")),n.push("vec4 clipPos = projMatrix * viewPosition;"),e.logarithmicDepthBufferEnabled&&(n.push("vFragDepth = 1.0 + clipPos.w;"),n.push("isPerspective = float (isPerspectiveMatrix(projMatrix));")),n.push("gl_Position = clipPos;"),n.push("vHighPrecisionZW = gl_Position.zw;"),n.push("}"),n.push("}"),n}},{key:"_buildFragmentShader",value:function(){var e,t,n=this._scene,r=n._sectionPlanesState,i=r.getNumAllocatedSectionPlanes()>0,a=[];if(a.push("#version 300 es"),a.push("// Instancing geometry depth drawing fragment shader"),a.push("precision highp float;"),a.push("precision highp int;"),n.logarithmicDepthBufferEnabled&&(a.push("in float isPerspective;"),a.push("uniform float logDepthBufFC;"),a.push("in float vFragDepth;")),i)for(a.push("in vec4 vWorldPosition;"),a.push("in float vFlags;"),e=0,t=r.getNumAllocatedSectionPlanes();e> 16 & 0xF) == 1;"),a.push(" if (clippable) {"),a.push(" float dist = 0.0;"),e=0,t=r.getNumAllocatedSectionPlanes();e 0.0) { discard; }"),a.push("}")}return n.logarithmicDepthBufferEnabled&&a.push(" gl_FragDepth = isPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5;"),a.push("float fragCoordZ = 0.5 * vHighPrecisionZW[0] / vHighPrecisionZW[1] + 0.5;"),a.push(" outColor = vec4(vec3(1.0 - fragCoordZ), 1.0); "),a.push("}"),a}}]),n}(),Il=function(e){I(n,ao);var t=m(n);function n(){return b(this,n),t.apply(this,arguments)}return P(n,[{key:"_buildVertexShader",value:function(){var e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,n=[];return n.push("#version 300 es"),n.push("// Instancing geometry normals drawing vertex shader"),n.push("uniform int renderPass;"),n.push("in vec3 position;"),e.entityOffsetsEnabled&&n.push("in vec3 offset;"),n.push("in vec3 normal;"),n.push("in vec4 color;"),n.push("in float flags;"),n.push("in vec4 modelMatrixCol0;"),n.push("in vec4 modelMatrixCol1;"),n.push("in vec4 modelMatrixCol2;"),this._addMatricesUniformBlockLines(n,!0),e.logarithmicDepthBufferEnabled&&(n.push("uniform float logDepthBufFC;"),n.push("out float vFragDepth;"),n.push("bool isPerspectiveMatrix(mat4 m) {"),n.push(" return (m[2][3] == - 1.0);"),n.push("}"),n.push("out float isPerspective;")),n.push("vec3 octDecode(vec2 oct) {"),n.push(" vec3 v = vec3(oct.xy, 1.0 - abs(oct.x) - abs(oct.y));"),n.push(" if (v.z < 0.0) {"),n.push(" v.xy = (1.0 - abs(v.yx)) * vec2(v.x >= 0.0 ? 1.0 : -1.0, v.y >= 0.0 ? 1.0 : -1.0);"),n.push(" }"),n.push(" return normalize(v);"),n.push("}"),t&&(n.push("out vec4 vWorldPosition;"),n.push("out float vFlags;")),n.push("out vec3 vViewNormal;"),n.push("void main(void) {"),n.push("int colorFlag = int(flags) & 0xF;"),n.push("if (colorFlag != renderPass) {"),n.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),n.push("} else {"),n.push(" vec4 worldPosition = positionsDecodeMatrix * vec4(position, 1.0); "),n.push(" worldPosition = worldMatrix * vec4(dot(worldPosition, modelMatrixCol0), dot(worldPosition, modelMatrixCol1), dot(worldPosition, modelMatrixCol2), 1.0);"),e.entityOffsetsEnabled&&n.push(" worldPosition.xyz = worldPosition.xyz + offset;"),n.push(" vec4 viewPosition = viewMatrix * worldPosition; "),n.push(" vec4 worldNormal = worldNormalMatrix * vec4(octDecode(normal.xy), 0.0); "),n.push(" vec3 viewNormal = normalize((viewNormalMatrix * worldNormal).xyz);"),t&&(n.push("vWorldPosition = worldPosition;"),n.push("vFlags = flags;")),n.push(" vViewNormal = viewNormal;"),n.push("vec4 clipPos = projMatrix * viewPosition;"),e.logarithmicDepthBufferEnabled&&(n.push("vFragDepth = 1.0 + clipPos.w;"),n.push("isPerspective = float (isPerspectiveMatrix(projMatrix));")),n.push("gl_Position = clipPos;"),n.push("}"),n.push("}"),n}},{key:"_buildFragmentShader",value:function(){var e=this._scene,t=e._sectionPlanesState,n=t.getNumAllocatedSectionPlanes()>0,r=[];if(r.push("#version 300 es"),r.push("// Instancing geometry depth drawing fragment shader"),r.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),r.push("precision highp float;"),r.push("precision highp int;"),r.push("#else"),r.push("precision mediump float;"),r.push("precision mediump int;"),r.push("#endif"),e.logarithmicDepthBufferEnabled&&(r.push("in float isPerspective;"),r.push("uniform float logDepthBufFC;"),r.push("in float vFragDepth;")),n){r.push("in vec4 vWorldPosition;"),r.push("in float vFlags;");for(var i=0,a=t.getNumAllocatedSectionPlanes();i> 16 & 0xF) == 1;"),r.push(" if (clippable) {"),r.push(" float dist = 0.0;");for(var s=0,o=t.getNumAllocatedSectionPlanes();s 0.0) { discard; }"),r.push("}")}return e.logarithmicDepthBufferEnabled&&r.push(" gl_FragDepth = isPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5;"),r.push(" outColor = vec4(packNormalToRGB(vViewNormal), 1.0); "),r.push("}"),r}}]),n}(),yl=function(e){I(n,ao);var t=m(n);function n(){return b(this,n),t.apply(this,arguments)}return P(n,[{key:"_buildVertexShader",value:function(){var e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,n=[];return n.push("#version 300 es"),n.push("// Instancing geometry shadow drawing vertex shader"),n.push("in vec3 position;"),e.entityOffsetsEnabled&&n.push("in vec3 offset;"),n.push("in vec4 color;"),n.push("in float flags;"),n.push("in vec4 modelMatrixCol0;"),n.push("in vec4 modelMatrixCol1;"),n.push("in vec4 modelMatrixCol2;"),n.push("uniform mat4 shadowViewMatrix;"),n.push("uniform mat4 shadowProjMatrix;"),this._addMatricesUniformBlockLines(n),t&&(n.push("out vec4 vWorldPosition;"),n.push("out float vFlags;")),n.push("void main(void) {"),n.push("int colorFlag = int(flags) & 0xF;"),n.push("bool visible = (colorFlag > 0);"),n.push("bool transparent = ((float(color.a) / 255.0) < 1.0);"),n.push("if (!visible || transparent) {"),n.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),n.push("} else {"),n.push(" vec4 worldPosition = positionsDecodeMatrix * vec4(position, 1.0); "),n.push(" worldPosition = vec4(dot(worldPosition, modelMatrixCol0), dot(worldPosition, modelMatrixCol1), dot(worldPosition, modelMatrixCol2), 1.0);"),e.entityOffsetsEnabled&&n.push(" worldPosition.xyz = worldPosition.xyz + offset;"),n.push(" vec4 viewPosition = shadowViewMatrix * worldPosition; "),t&&(n.push("vWorldPosition = worldPosition;"),n.push("vFlags = flags;")),n.push(" gl_Position = shadowProjMatrix * viewPosition;"),n.push("}"),n.push("}"),n}},{key:"_buildFragmentShader",value:function(){var e=this._scene,t=e._sectionPlanesState,n=t.getNumAllocatedSectionPlanes()>0,r=[];if(r.push("#version 300 es"),r.push("// Instancing geometry depth drawing fragment shader"),r.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),r.push("precision highp float;"),r.push("precision highp int;"),r.push("#else"),r.push("precision mediump float;"),r.push("precision mediump int;"),r.push("#endif"),e.logarithmicDepthBufferEnabled&&(r.push("uniform float logDepthBufFC;"),r.push("in float vFragDepth;")),n){r.push("in vec4 vWorldPosition;"),r.push("in float vFlags;");for(var i=0,a=t.getNumAllocatedSectionPlanes();i> 16 & 0xF) == 1;"),r.push(" if (clippable) {"),r.push(" float dist = 0.0;");for(var s=0,o=t.getNumAllocatedSectionPlanes();s 0.0) { discard; }"),r.push("}")}return e.logarithmicDepthBufferEnabled&&r.push("gl_FragDepth = log2( vFragDepth ) * logDepthBufFC * 0.5;"),r.push(" outColor = vec4(packNormalToRGB(vViewNormal), 1.0); "),r.push("}"),r}}]),n}(),ml={3e3:"linearToLinear",3001:"sRGBToLinear"},wl=function(e){I(n,ao);var t=m(n);function n(){return b(this,n),t.apply(this,arguments)}return P(n,[{key:"_getHash",value:function(){var e=this._scene;return[e.gammaOutput,e._lightsState.getHash(),e._sectionPlanesState.getHash(),this._withSAO?"sao":"nosao"].join(";")}},{key:"drawLayer",value:function(e,t,r){v(E(n.prototype),"drawLayer",this).call(this,e,t,r,{incrementDrawState:!0})}},{key:"_buildVertexShader",value:function(){var e=this._scene,t=e._sectionPlanesState,n=e._lightsState,r=t.getNumAllocatedSectionPlanes()>0,i=t.clippingCaps,a=[];return a.push("#version 300 es"),a.push("// Instancing geometry quality drawing vertex shader"),a.push("uniform int renderPass;"),a.push("in vec3 position;"),a.push("in vec3 normal;"),a.push("in vec4 color;"),a.push("in vec2 uv;"),a.push("in vec2 metallicRoughness;"),a.push("in float flags;"),e.entityOffsetsEnabled&&a.push("in vec3 offset;"),a.push("in vec4 modelMatrixCol0;"),a.push("in vec4 modelMatrixCol1;"),a.push("in vec4 modelMatrixCol2;"),a.push("in vec4 modelNormalMatrixCol0;"),a.push("in vec4 modelNormalMatrixCol1;"),a.push("in vec4 modelNormalMatrixCol2;"),this._addMatricesUniformBlockLines(a,!0),a.push("uniform mat3 uvDecodeMatrix;"),e.logarithmicDepthBufferEnabled&&(a.push("uniform float logDepthBufFC;"),a.push("out float vFragDepth;"),a.push("bool isPerspectiveMatrix(mat4 m) {"),a.push(" return (m[2][3] == - 1.0);"),a.push("}"),a.push("out float isPerspective;")),a.push("vec3 octDecode(vec2 oct) {"),a.push(" vec3 v = vec3(oct.xy, 1.0 - abs(oct.x) - abs(oct.y));"),a.push(" if (v.z < 0.0) {"),a.push(" v.xy = (1.0 - abs(v.yx)) * vec2(v.x >= 0.0 ? 1.0 : -1.0, v.y >= 0.0 ? 1.0 : -1.0);"),a.push(" }"),a.push(" return normalize(v);"),a.push("}"),a.push("out vec4 vViewPosition;"),a.push("out vec3 vViewNormal;"),a.push("out vec4 vColor;"),a.push("out vec2 vUV;"),a.push("out vec2 vMetallicRoughness;"),n.lightMaps.length>0&&a.push("out vec3 vWorldNormal;"),r&&(a.push("out vec4 vWorldPosition;"),a.push("out float vFlags;"),i&&a.push("out vec4 vClipPosition;")),a.push("void main(void) {"),a.push("int colorFlag = int(flags) & 0xF;"),a.push("if (colorFlag != renderPass) {"),a.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),a.push("} else {"),a.push("vec4 worldPosition = positionsDecodeMatrix * vec4(position, 1.0); "),a.push("worldPosition = worldMatrix * vec4(dot(worldPosition, modelMatrixCol0), dot(worldPosition, modelMatrixCol1), dot(worldPosition, modelMatrixCol2), 1.0);"),e.entityOffsetsEnabled&&a.push(" worldPosition.xyz = worldPosition.xyz + offset;"),a.push("vec4 viewPosition = viewMatrix * worldPosition; "),a.push("vec4 modelNormal = vec4(octDecode(normal.xy), 0.0); "),a.push("vec4 worldNormal = worldNormalMatrix * vec4(dot(modelNormal, modelNormalMatrixCol0), dot(modelNormal, modelNormalMatrixCol1), dot(modelNormal, modelNormalMatrixCol2), 1.0);"),a.push("vec3 viewNormal = vec4(viewNormalMatrix * worldNormal).xyz;"),a.push("vec4 clipPos = projMatrix * viewPosition;"),e.logarithmicDepthBufferEnabled&&(a.push("vFragDepth = 1.0 + clipPos.w;"),a.push("isPerspective = float (isPerspectiveMatrix(projMatrix));")),r&&(a.push("vWorldPosition = worldPosition;"),a.push("vFlags = flags;"),i&&a.push("vClipPosition = clipPos;")),a.push("vViewPosition = viewPosition;"),a.push("vViewNormal = viewNormal;"),a.push("vColor = color;"),a.push("vUV = (uvDecodeMatrix * vec3(uv, 1.0)).xy;"),a.push("vMetallicRoughness = metallicRoughness;"),n.lightMaps.length>0&&a.push("vWorldNormal = worldNormal.xyz;"),a.push("gl_Position = clipPos;"),a.push("}"),a.push("}"),a}},{key:"_buildFragmentShader",value:function(){var e=this._scene,t=e.gammaOutput,n=e._sectionPlanesState,r=e._lightsState,i=n.getNumAllocatedSectionPlanes()>0,a=n.clippingCaps,s=[];s.push("#version 300 es"),s.push("// Instancing geometry quality drawing fragment shader"),s.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),s.push("precision highp float;"),s.push("precision highp int;"),s.push("#else"),s.push("precision mediump float;"),s.push("precision mediump int;"),s.push("#endif"),e.logarithmicDepthBufferEnabled&&(s.push("in float isPerspective;"),s.push("uniform float logDepthBufFC;"),s.push("in float vFragDepth;")),s.push("uniform sampler2D uColorMap;"),s.push("uniform sampler2D uMetallicRoughMap;"),s.push("uniform sampler2D uEmissiveMap;"),s.push("uniform sampler2D uNormalMap;"),this._withSAO&&(s.push("uniform sampler2D uOcclusionTexture;"),s.push("uniform vec4 uSAOParams;"),s.push("const float packUpscale = 256. / 255.;"),s.push("const float unpackDownScale = 255. / 256.;"),s.push("const vec3 packFactors = vec3( 256. * 256. * 256., 256. * 256., 256. );"),s.push("const vec4 unPackFactors = unpackDownScale / vec4( packFactors, 1. );"),s.push("float unpackRGBToFloat( const in vec4 v ) {"),s.push(" return dot( v, unPackFactors );"),s.push("}")),r.reflectionMaps.length>0&&s.push("uniform samplerCube reflectionMap;"),r.lightMaps.length>0&&s.push("uniform samplerCube lightMap;"),s.push("uniform vec4 lightAmbient;");for(var o=0,l=r.lights.length;o0&&s.push("in vec3 vWorldNormal;"),this._addMatricesUniformBlockLines(s,!0),s.push("#define PI 3.14159265359"),s.push("#define RECIPROCAL_PI 0.31830988618"),s.push("#define RECIPROCAL_PI2 0.15915494"),s.push("#define EPSILON 1e-6"),s.push("#define saturate(a) clamp( a, 0.0, 1.0 )"),s.push("vec3 perturbNormal2Arb( vec3 eye_pos, vec3 surf_norm, vec2 uv ) {"),s.push(" vec3 texel = texture( uNormalMap, uv ).xyz;"),s.push(" if (texel.r == 0.0 && texel.g == 0.0 && texel.b == 0.0) {"),s.push(" return normalize(surf_norm );"),s.push(" }"),s.push(" vec3 q0 = vec3( dFdx( eye_pos.x ), dFdx( eye_pos.y ), dFdx( eye_pos.z ) );"),s.push(" vec3 q1 = vec3( dFdy( eye_pos.x ), dFdy( eye_pos.y ), dFdy( eye_pos.z ) );"),s.push(" vec2 st0 = dFdx( uv.st );"),s.push(" vec2 st1 = dFdy( uv.st );"),s.push(" vec3 S = normalize( q0 * st1.t - q1 * st0.t );"),s.push(" vec3 T = normalize( -q0 * st1.s + q1 * st0.s );"),s.push(" vec3 N = normalize( surf_norm );"),s.push(" vec3 mapN = texel.xyz * 2.0 - 1.0;"),s.push(" mat3 tsn = mat3( S, T, N );"),s.push(" return normalize( tsn * mapN );"),s.push("}"),s.push("vec3 inverseTransformDirection(in vec3 dir, in mat4 matrix) {"),s.push(" return normalize( ( vec4( dir, 0.0 ) * matrix ).xyz );"),s.push("}"),s.push("struct IncidentLight {"),s.push(" vec3 color;"),s.push(" vec3 direction;"),s.push("};"),s.push("struct ReflectedLight {"),s.push(" vec3 diffuse;"),s.push(" vec3 specular;"),s.push("};"),s.push("struct Geometry {"),s.push(" vec3 position;"),s.push(" vec3 viewNormal;"),s.push(" vec3 worldNormal;"),s.push(" vec3 viewEyeDir;"),s.push("};"),s.push("struct Material {"),s.push(" vec3 diffuseColor;"),s.push(" float specularRoughness;"),s.push(" vec3 specularColor;"),s.push(" float shine;"),s.push("};"),s.push("float GGXRoughnessToBlinnExponent(const in float ggxRoughness) {"),s.push(" float r = ggxRoughness + 0.0001;"),s.push(" return (2.0 / (r * r) - 2.0);"),s.push("}"),s.push("float getSpecularMIPLevel(const in float blinnShininessExponent, const in int maxMIPLevel) {"),s.push(" float maxMIPLevelScalar = float( maxMIPLevel );"),s.push(" float desiredMIPLevel = maxMIPLevelScalar - 0.79248 - 0.5 * log2( ( blinnShininessExponent * blinnShininessExponent ) + 1.0 );"),s.push(" return clamp( desiredMIPLevel, 0.0, maxMIPLevelScalar );"),s.push("}"),r.reflectionMaps.length>0&&(s.push("vec3 getLightProbeIndirectRadiance(const in vec3 reflectVec, const in float blinnShininessExponent, const in int maxMIPLevel) {"),s.push(" float mipLevel = 0.5 * getSpecularMIPLevel(blinnShininessExponent, maxMIPLevel);"),s.push(" vec3 envMapColor = "+ml[r.reflectionMaps[0].encoding]+"(texture(reflectionMap, reflectVec, mipLevel)).rgb;"),s.push(" return envMapColor;"),s.push("}")),s.push("vec3 F_Schlick(const in vec3 specularColor, const in float dotLH) {"),s.push(" float fresnel = exp2( ( -5.55473 * dotLH - 6.98316 ) * dotLH );"),s.push(" return ( 1.0 - specularColor ) * fresnel + specularColor;"),s.push("}"),s.push("float G_GGX_Smith(const in float alpha, const in float dotNL, const in float dotNV) {"),s.push(" float a2 = ( alpha * alpha );"),s.push(" float gl = dotNL + sqrt( a2 + ( 1.0 - a2 ) * ( dotNL * dotNL ) );"),s.push(" float gv = dotNV + sqrt( a2 + ( 1.0 - a2 ) * ( dotNV * dotNV ) );"),s.push(" return 1.0 / ( gl * gv );"),s.push("}"),s.push("float G_GGX_SmithCorrelated(const in float alpha, const in float dotNL, const in float dotNV) {"),s.push(" float a2 = ( alpha * alpha );"),s.push(" float gv = dotNL * sqrt( a2 + ( 1.0 - a2 ) * ( dotNV * dotNV ) );"),s.push(" float gl = dotNV * sqrt( a2 + ( 1.0 - a2 ) * ( dotNL * dotNL ) );"),s.push(" return 0.5 / max( gv + gl, EPSILON );"),s.push("}"),s.push("float D_GGX(const in float alpha, const in float dotNH) {"),s.push(" float a2 = ( alpha * alpha );"),s.push(" float denom = ( dotNH * dotNH) * ( a2 - 1.0 ) + 1.0;"),s.push(" return RECIPROCAL_PI * a2 / ( denom * denom);"),s.push("}"),s.push("vec3 BRDF_Specular_GGX(const in IncidentLight incidentLight, const in Geometry geometry, const in vec3 specularColor, const in float roughness) {"),s.push(" float alpha = ( roughness * roughness );"),s.push(" vec3 halfDir = normalize( incidentLight.direction + geometry.viewEyeDir );"),s.push(" float dotNL = saturate( dot( geometry.viewNormal, incidentLight.direction ) );"),s.push(" float dotNV = saturate( dot( geometry.viewNormal, geometry.viewEyeDir ) );"),s.push(" float dotNH = saturate( dot( geometry.viewNormal, halfDir ) );"),s.push(" float dotLH = saturate( dot( incidentLight.direction, halfDir ) );"),s.push(" vec3 F = F_Schlick( specularColor, dotLH );"),s.push(" float G = G_GGX_SmithCorrelated( alpha, dotNL, dotNV );"),s.push(" float D = D_GGX( alpha, dotNH );"),s.push(" return F * (G * D);"),s.push("}"),s.push("vec3 BRDF_Specular_GGX_Environment(const in Geometry geometry, const in vec3 specularColor, const in float roughness) {"),s.push(" float dotNV = saturate(dot(geometry.viewNormal, geometry.viewEyeDir));"),s.push(" const vec4 c0 = vec4( -1, -0.0275, -0.572, 0.022);"),s.push(" const vec4 c1 = vec4( 1, 0.0425, 1.04, -0.04);"),s.push(" vec4 r = roughness * c0 + c1;"),s.push(" float a004 = min(r.x * r.x, exp2(-9.28 * dotNV)) * r.x + r.y;"),s.push(" vec2 AB = vec2(-1.04, 1.04) * a004 + r.zw;"),s.push(" return specularColor * AB.x + AB.y;"),s.push("}"),(r.lightMaps.length>0||r.reflectionMaps.length>0)&&(s.push("void computePBRLightMapping(const in Geometry geometry, const in Material material, inout ReflectedLight reflectedLight) {"),r.lightMaps.length>0&&(s.push(" vec3 irradiance = "+ml[r.lightMaps[0].encoding]+"(texture(lightMap, geometry.worldNormal)).rgb;"),s.push(" irradiance *= PI;"),s.push(" vec3 diffuseBRDFContrib = (RECIPROCAL_PI * material.diffuseColor);"),s.push(" reflectedLight.diffuse += irradiance * diffuseBRDFContrib;")),r.reflectionMaps.length>0&&(s.push(" vec3 reflectVec = reflect(geometry.viewEyeDir, geometry.viewNormal);"),s.push(" reflectVec = inverseTransformDirection(reflectVec, viewMatrix);"),s.push(" float blinnExpFromRoughness = GGXRoughnessToBlinnExponent(material.specularRoughness);"),s.push(" vec3 radiance = getLightProbeIndirectRadiance(reflectVec, blinnExpFromRoughness, 8);"),s.push(" vec3 specularBRDFContrib = BRDF_Specular_GGX_Environment(geometry, material.specularColor, material.specularRoughness);"),s.push(" reflectedLight.specular += radiance * specularBRDFContrib;")),s.push("}")),s.push("void computePBRLighting(const in IncidentLight incidentLight, const in Geometry geometry, const in Material material, inout ReflectedLight reflectedLight) {"),s.push(" float dotNL = saturate(dot(geometry.viewNormal, incidentLight.direction));"),s.push(" vec3 irradiance = dotNL * incidentLight.color * PI;"),s.push(" reflectedLight.diffuse += irradiance * (RECIPROCAL_PI * material.diffuseColor);"),s.push(" reflectedLight.specular += irradiance * BRDF_Specular_GGX(incidentLight, geometry, material.specularColor, material.specularRoughness);"),s.push("}"),s.push("out vec4 outColor;"),s.push("void main(void) {"),i){s.push(" bool clippable = (int(vFlags) >> 16 & 0xF) == 1;"),s.push(" if (clippable) {"),s.push(" float dist = 0.0;");for(var p=0,A=n.getNumAllocatedSectionPlanes();p (0.002 * vClipPosition.w)) {"),s.push(" discard;"),s.push(" }"),s.push(" if (dist > 0.0) { "),s.push(" outColor=vec4(1.0, 0.0, 0.0, 1.0);"),e.logarithmicDepthBufferEnabled&&s.push(" gl_FragDepth = log2( vFragDepth ) * logDepthBufFC * 0.5;"),s.push(" return;"),s.push("}")):(s.push(" if (dist > 0.0) { "),s.push(" discard;"),s.push(" }")),s.push("}")}s.push("IncidentLight light;"),s.push("Material material;"),s.push("Geometry geometry;"),s.push("ReflectedLight reflectedLight = ReflectedLight(vec3(0.0,0.0,0.0), vec3(0.0,0.0,0.0));"),s.push("vec3 rgb = (vec3(float(vColor.r) / 255.0, float(vColor.g) / 255.0, float(vColor.b) / 255.0));"),s.push("float opacity = float(vColor.a) / 255.0;"),s.push("vec3 baseColor = rgb;"),s.push("float specularF0 = 1.0;"),s.push("float metallic = float(vMetallicRoughness.r) / 255.0;"),s.push("float roughness = float(vMetallicRoughness.g) / 255.0;"),s.push("float dielectricSpecular = 0.16 * specularF0 * specularF0;"),s.push("vec4 colorTexel = sRGBToLinear(texture(uColorMap, vUV));"),s.push("baseColor *= colorTexel.rgb;"),s.push("vec3 metalRoughTexel = texture(uMetallicRoughMap, vUV).rgb;"),s.push("metallic *= metalRoughTexel.b;"),s.push("roughness *= metalRoughTexel.g;"),s.push("vec3 viewNormal = perturbNormal2Arb( vViewPosition.xyz, normalize(vViewNormal), vUV );"),s.push("material.diffuseColor = baseColor * (1.0 - dielectricSpecular) * (1.0 - metallic);"),s.push("material.specularRoughness = clamp(roughness, 0.04, 1.0);"),s.push("material.specularColor = mix(vec3(dielectricSpecular), baseColor, metallic);"),s.push("geometry.position = vViewPosition.xyz;"),s.push("geometry.viewNormal = -normalize(viewNormal);"),s.push("geometry.viewEyeDir = normalize(vViewPosition.xyz);"),r.lightMaps.length>0&&s.push("geometry.worldNormal = normalize(vWorldNormal);"),(r.lightMaps.length>0||r.reflectionMaps.length>0)&&s.push("computePBRLightMapping(geometry, material, reflectedLight);");for(var d=0,v=r.lights.length;d0,n=[];return n.push("#version 300 es"),n.push("// Instancing geometry normals vertex shader"),n.push("uniform int renderPass;"),n.push("in vec3 position;"),e.entityOffsetsEnabled&&n.push("in vec3 offset;"),n.push("in float flags;"),n.push("in vec4 modelMatrixCol0;"),n.push("in vec4 modelMatrixCol1;"),n.push("in vec4 modelMatrixCol2;"),n.push("uniform bool pickInvisible;"),this._addMatricesUniformBlockLines(n),this._addRemapClipPosLines(n,3),e.logarithmicDepthBufferEnabled&&(n.push("uniform float logDepthBufFC;"),n.push("out float vFragDepth;"),n.push("bool isPerspectiveMatrix(mat4 m) {"),n.push(" return (m[2][3] == - 1.0);"),n.push("}"),n.push("out float isPerspective;")),t&&n.push("out float vFlags;"),n.push("out vec4 vWorldPosition;"),n.push("void main(void) {"),n.push("int pickFlag = int(flags) >> 12 & 0xF;"),n.push("if (pickFlag != renderPass) {"),n.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),n.push("} else {"),n.push(" vec4 worldPosition = positionsDecodeMatrix * vec4(position, 1.0); "),n.push(" worldPosition = worldMatrix * vec4(dot(worldPosition, modelMatrixCol0), dot(worldPosition, modelMatrixCol1), dot(worldPosition, modelMatrixCol2), 1.0);"),e.entityOffsetsEnabled&&n.push(" worldPosition.xyz = worldPosition.xyz + offset;"),n.push(" vec4 viewPosition = viewMatrix * worldPosition; "),n.push(" vWorldPosition = worldPosition;"),n.push("vec4 clipPos = projMatrix * viewPosition;"),e.logarithmicDepthBufferEnabled&&(n.push("vFragDepth = 1.0 + clipPos.w;"),n.push("isPerspective = float (isPerspectiveMatrix(projMatrix));")),t&&n.push("vFlags = flags;"),n.push("gl_Position = remapClipPos(clipPos);"),n.push("}"),n.push("}"),n}},{key:"_buildFragmentShader",value:function(){var e=this._scene,t=e._sectionPlanesState,n=t.getNumAllocatedSectionPlanes()>0,r=[];if(r.push("#version 300 es"),r.push("// Batched geometry normals fragment shader"),r.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),r.push("precision highp float;"),r.push("precision highp int;"),r.push("#else"),r.push("precision mediump float;"),r.push("precision mediump int;"),r.push("#endif"),e.logarithmicDepthBufferEnabled&&(r.push("in float isPerspective;"),r.push("uniform float logDepthBufFC;"),r.push("in float vFragDepth;")),r.push("in vec4 vWorldPosition;"),n){r.push("in float vFlags;");for(var i=0;i> 16 & 0xF) == 1;"),r.push(" if (clippable) {"),r.push(" float dist = 0.0;");for(var a=0;a 0.0) { discard; }"),r.push("}")}return e.logarithmicDepthBufferEnabled&&r.push(" gl_FragDepth = isPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5;"),r.push(" vec3 xTangent = dFdx( vWorldPosition.xyz );"),r.push(" vec3 yTangent = dFdy( vWorldPosition.xyz );"),r.push(" vec3 worldNormal = normalize( cross( xTangent, yTangent ) );"),r.push(" outNormal = ivec4(worldNormal * float(".concat($.MAX_INT,"), 1.0);")),r.push("}"),r}}]),n}(),El=function(e){I(n,ao);var t=m(n);function n(){return b(this,n),t.apply(this,arguments)}return P(n,[{key:"_getHash",value:function(){var e=this._scene;return[e.gammaOutput,e._lightsState.getHash(),e._sectionPlanesState.getHash(),this._withSAO?"sao":"nosao"].join(";")}},{key:"drawLayer",value:function(e,t,r){v(E(n.prototype),"drawLayer",this).call(this,e,t,r,{incrementDrawState:!0})}},{key:"_buildVertexShader",value:function(){var e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,n=[];return n.push("#version 300 es"),n.push("// Instancing geometry drawing vertex shader"),n.push("uniform int renderPass;"),n.push("in vec3 position;"),n.push("in vec4 color;"),n.push("in vec2 uv;"),n.push("in float flags;"),e.entityOffsetsEnabled&&n.push("in vec3 offset;"),n.push("in vec4 modelMatrixCol0;"),n.push("in vec4 modelMatrixCol1;"),n.push("in vec4 modelMatrixCol2;"),this._addMatricesUniformBlockLines(n),n.push("uniform mat3 uvDecodeMatrix;"),e.logarithmicDepthBufferEnabled&&(n.push("uniform float logDepthBufFC;"),n.push("out float vFragDepth;"),n.push("bool isPerspectiveMatrix(mat4 m) {"),n.push(" return (m[2][3] == - 1.0);"),n.push("}"),n.push("out float isPerspective;")),t&&(n.push("out vec4 vWorldPosition;"),n.push("out float vFlags;")),n.push("out vec4 vViewPosition;"),n.push("out vec4 vColor;"),n.push("out vec2 vUV;"),n.push("void main(void) {"),n.push("int colorFlag = int(flags) & 0xF;"),n.push("if (colorFlag != renderPass) {"),n.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),n.push("} else {"),n.push("vec4 worldPosition = positionsDecodeMatrix * vec4(position, 1.0); "),n.push("worldPosition = worldMatrix * vec4(dot(worldPosition, modelMatrixCol0), dot(worldPosition, modelMatrixCol1), dot(worldPosition, modelMatrixCol2), 1.0);"),e.entityOffsetsEnabled&&n.push(" worldPosition.xyz = worldPosition.xyz + offset;"),n.push("vec4 viewPosition = viewMatrix * worldPosition; "),n.push("vViewPosition = viewPosition;"),n.push("vColor = vec4(float(color.r) / 255.0, float(color.g) / 255.0, float(color.b) / 255.0, float(color.a) / 255.0);"),n.push("vUV = (uvDecodeMatrix * vec3(uv, 1.0)).xy;"),n.push("vec4 clipPos = projMatrix * viewPosition;"),e.logarithmicDepthBufferEnabled&&(n.push("vFragDepth = 1.0 + clipPos.w;"),n.push("isPerspective = float (isPerspectiveMatrix(projMatrix));")),t&&(n.push("vWorldPosition = worldPosition;"),n.push("vFlags = flags;")),n.push("gl_Position = clipPos;"),n.push("}"),n.push("}"),n}},{key:"_buildFragmentShader",value:function(){var e,t,n=this._scene,r=n.gammaOutput,i=n._sectionPlanesState,a=n._lightsState,s=i.getNumAllocatedSectionPlanes()>0,o=[];if(o.push("#version 300 es"),o.push("// Instancing geometry drawing fragment shader"),o.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),o.push("precision highp float;"),o.push("precision highp int;"),o.push("#else"),o.push("precision mediump float;"),o.push("precision mediump int;"),o.push("#endif"),n.logarithmicDepthBufferEnabled&&(o.push("in float isPerspective;"),o.push("uniform float logDepthBufFC;"),o.push("in float vFragDepth;")),o.push("uniform sampler2D uColorMap;"),this._withSAO&&(o.push("uniform sampler2D uOcclusionTexture;"),o.push("uniform vec4 uSAOParams;"),o.push("const float packUpscale = 256. / 255.;"),o.push("const float unpackDownScale = 255. / 256.;"),o.push("const vec3 packFactors = vec3( 256. * 256. * 256., 256. * 256., 256. );"),o.push("const vec4 unPackFactors = unpackDownScale / vec4( packFactors, 1. );"),o.push("float unpackRGBToFloat( const in vec4 v ) {"),o.push(" return dot( v, unPackFactors );"),o.push("}")),o.push("uniform float gammaFactor;"),o.push("vec4 linearToLinear( in vec4 value ) {"),o.push(" return value;"),o.push("}"),o.push("vec4 sRGBToLinear( in vec4 value ) {"),o.push(" return vec4( mix( pow( value.rgb * 0.9478672986 + vec3( 0.0521327014 ), vec3( 2.4 ) ), value.rgb * 0.0773993808, vec3( lessThanEqual( value.rgb, vec3( 0.04045 ) ) ) ), value.w );"),o.push("}"),o.push("vec4 gammaToLinear( in vec4 value) {"),o.push(" return vec4( pow( value.xyz, vec3( gammaFactor ) ), value.w );"),o.push("}"),r&&(o.push("vec4 linearToGamma( in vec4 value, in float gammaFactor ) {"),o.push(" return vec4( pow( value.xyz, vec3( 1.0 / gammaFactor ) ), value.w );"),o.push("}")),s){o.push("in vec4 vWorldPosition;"),o.push("in float vFlags;");for(var l=0,u=i.getNumAllocatedSectionPlanes();l> 16 & 0xF) == 1;"),o.push(" if (clippable) {"),o.push(" float dist = 0.0;");for(var f=0,p=i.getNumAllocatedSectionPlanes();f 0.0) { "),o.push(" discard;"),o.push(" }"),o.push("}")}for(o.push("vec3 reflectedColor = vec3(0.0, 0.0, 0.0);"),o.push("vec3 viewLightDir = vec3(0.0, 0.0, -1.0);"),o.push("float lambertian = 1.0;"),o.push("vec3 xTangent = dFdx( vViewPosition.xyz );"),o.push("vec3 yTangent = dFdy( vViewPosition.xyz );"),o.push("vec3 viewNormal = normalize( cross( xTangent, yTangent ) );"),e=0,t=a.lights.length;e0,n=[];return n.push("#version 300 es"),n.push("// SnapInstancingDepthBufInitRenderer vertex shader"),n.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),n.push("precision highp float;"),n.push("precision highp int;"),n.push("precision highp usampler2D;"),n.push("precision highp isampler2D;"),n.push("precision highp sampler2D;"),n.push("#else"),n.push("precision mediump float;"),n.push("precision mediump int;"),n.push("precision mediump usampler2D;"),n.push("precision mediump isampler2D;"),n.push("precision mediump sampler2D;"),n.push("#endif"),n.push("uniform int renderPass;"),n.push("in vec4 pickColor;"),n.push("in vec3 position;"),e.entityOffsetsEnabled&&n.push("in vec3 offset;"),n.push("in float flags;"),n.push("in vec4 modelMatrixCol0;"),n.push("in vec4 modelMatrixCol1;"),n.push("in vec4 modelMatrixCol2;"),n.push("uniform bool pickInvisible;"),this._addMatricesUniformBlockLines(n),n.push("uniform vec3 uCameraEyeRtc;"),n.push("uniform vec2 snapVectorA;"),n.push("uniform vec2 snapInvVectorAB;"),n.push("uniform float logDepthBufFC;"),n.push("out float vFragDepth;"),n.push("bool isPerspectiveMatrix(mat4 m) {"),n.push(" return (m[2][3] == - 1.0);"),n.push("}"),n.push("out float isPerspective;"),n.push("vec2 remapClipPos(vec2 clipPos) {"),n.push(" float x = (clipPos.x - snapVectorA.x) * snapInvVectorAB.x;"),n.push(" float y = (clipPos.y - snapVectorA.y) * snapInvVectorAB.y;"),n.push(" return vec2(x, y);"),n.push("}"),n.push("flat out vec4 vPickColor;"),n.push("out vec4 vWorldPosition;"),t&&n.push("out float vFlags;"),n.push("out highp vec3 relativeToOriginPosition;"),n.push("void main(void) {"),n.push("int pickFlag = int(flags) >> 12 & 0xF;"),n.push("if (pickFlag != renderPass) {"),n.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),n.push("} else {"),n.push(" vec4 worldPosition = positionsDecodeMatrix * vec4(position, 1.0); "),n.push(" worldPosition = worldMatrix * vec4(dot(worldPosition, modelMatrixCol0), dot(worldPosition, modelMatrixCol1), dot(worldPosition, modelMatrixCol2), 1.0);"),e.entityOffsetsEnabled&&n.push(" worldPosition.xyz = worldPosition.xyz + offset;"),n.push("relativeToOriginPosition = worldPosition.xyz;"),n.push(" vec4 viewPosition = viewMatrix * worldPosition; "),n.push(" vWorldPosition = worldPosition;"),t&&n.push(" vFlags = flags;"),n.push("vPickColor = pickColor;"),n.push("vec4 clipPos = projMatrix * viewPosition;"),n.push("float tmp = clipPos.w;"),n.push("clipPos.xyzw /= tmp;"),n.push("clipPos.xy = remapClipPos(clipPos.xy);"),n.push("clipPos.xyzw *= tmp;"),n.push("vFragDepth = 1.0 + clipPos.w;"),n.push("isPerspective = float (isPerspectiveMatrix(projMatrix));"),n.push("gl_Position = clipPos;"),n.push("}"),n.push("}"),n}},{key:"_buildFragmentShader",value:function(){var e=this._scene._sectionPlanesState,t=e.getNumAllocatedSectionPlanes()>0,n=[];if(n.push("#version 300 es"),n.push("// Points instancing pick depth fragment shader"),n.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),n.push("precision highp float;"),n.push("precision highp int;"),n.push("#else"),n.push("precision mediump float;"),n.push("precision mediump int;"),n.push("#endif"),n.push("in float isPerspective;"),n.push("uniform float logDepthBufFC;"),n.push("in float vFragDepth;"),n.push("uniform int layerNumber;"),n.push("uniform vec3 coordinateScaler;"),n.push("in vec4 vWorldPosition;"),n.push("flat in vec4 vPickColor;"),t){n.push("in float vFlags;");for(var r=0;r> 16 & 0xF) == 1;"),n.push(" if (clippable) {"),n.push(" float dist = 0.0;");for(var i=0;i 0.0) { discard; }"),n.push("}")}return n.push(" float dx = dFdx(vFragDepth);"),n.push(" float dy = dFdy(vFragDepth);"),n.push(" float diff = sqrt(dx*dx+dy*dy);"),n.push(" gl_FragDepth = isPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth + diff ) * logDepthBufFC * 0.5;"),n.push("outCoords = ivec4(relativeToOriginPosition.xyz*coordinateScaler.xyz, -layerNumber);"),n.push("vec3 xTangent = dFdx( vWorldPosition.xyz );"),n.push("vec3 yTangent = dFdy( vWorldPosition.xyz );"),n.push("vec3 worldNormal = normalize( cross( xTangent, yTangent ) );"),n.push("outNormal = ivec4(worldNormal * float(".concat($.MAX_INT,"), 1.0);")),n.push("outPickColor = uvec4(vPickColor);"),n.push("}"),n}},{key:"webglContextRestored",value:function(){this._program=null}},{key:"destroy",value:function(){this._program&&this._program.destroy(),this._program=null}}]),n}(),Ol=$.vec3(),Sl=$.vec3(),Nl=$.vec3(),Ll=$.vec3(),xl=$.mat4(),Ml=function(e){I(n,no);var t=m(n);function n(e){return b(this,n),t.call(this,e,!1,{instancing:!0})}return P(n,[{key:"drawLayer",value:function(e,t,n){if(this._program||(this._allocate(t),!this.errors)){e.lastProgramId!==this._program.id&&(e.lastProgramId=this._program.id,this._bindProgram());var r=t.model,i=r.scene,a=i.camera,s=i.canvas.gl,o=t._state,l=t._state.origin,u=r.position,c=r.rotationMatrix,f=r.rotationMatrixConjugate,p=t.aabb,A=e.pickViewMatrix||a.viewMatrix;this._vaoCache.has(t)?s.bindVertexArray(this._vaoCache.get(t)):this._vaoCache.set(t,this._makeVAO(o));var d,v,h=Ol;if(h[0]=$.safeInv(p[3]-p[0])*$.MAX_INT,h[1]=$.safeInv(p[4]-p[1])*$.MAX_INT,h[2]=$.safeInv(p[5]-p[2])*$.MAX_INT,e.snapPickCoordinateScale[0]=$.safeInv(h[0]),e.snapPickCoordinateScale[1]=$.safeInv(h[1]),e.snapPickCoordinateScale[2]=$.safeInv(h[2]),l||0!==u[0]||0!==u[1]||0!==u[2]){var I=Sl;if(l){var y=$.transformPoint3(c,l,Nl);I[0]=y[0],I[1]=y[1],I[2]=y[2]}else I[0]=0,I[1]=0,I[2]=0;I[0]+=u[0],I[1]+=u[1],I[2]+=u[2],d=Be(A,I,xl),(v=Ll)[0]=a.eye[0]-I[0],v[1]=a.eye[1]-I[1],v[2]=a.eye[2]-I[2],e.snapPickOrigin[0]=I[0],e.snapPickOrigin[1]=I[1],e.snapPickOrigin[2]=I[2]}else d=A,v=a.eye,e.snapPickOrigin[0]=0,e.snapPickOrigin[1]=0,e.snapPickOrigin[2]=0;s.uniform3fv(this._uCameraEyeRtc,v),s.uniform2fv(this.uVectorA,e.snapVectorA),s.uniform2fv(this.uInverseVectorAB,e.snapInvVectorAB),s.uniform1i(this._uLayerNumber,e.snapPickLayerNumber),s.uniform3fv(this._uCoordinateScaler,h),s.uniform1i(this._uRenderPass,n),s.uniform1i(this._uPickInvisible,e.pickInvisible);var m=0;this._matricesUniformBlockBufferData.set(f,0),this._matricesUniformBlockBufferData.set(d,m+=16),this._matricesUniformBlockBufferData.set(a.projMatrix,m+=16),this._matricesUniformBlockBufferData.set(o.positionsDecodeMatrix,m+=16),s.bindBuffer(s.UNIFORM_BUFFER,this._matricesUniformBlockBuffer),s.bufferData(s.UNIFORM_BUFFER,this._matricesUniformBlockBufferData,s.DYNAMIC_DRAW),s.bindBufferBase(s.UNIFORM_BUFFER,this._matricesUniformBlockBufferBindingPoint,this._matricesUniformBlockBuffer);var w=2/(Math.log(e.pickZFar+1)/Math.LN2);s.uniform1f(this._uLogDepthBufFC,w),this.setSectionPlanesStateUniforms(t),this._aModelMatrixCol0.bindArrayBuffer(o.modelMatrixCol0Buf),this._aModelMatrixCol1.bindArrayBuffer(o.modelMatrixCol1Buf),this._aModelMatrixCol2.bindArrayBuffer(o.modelMatrixCol2Buf),s.vertexAttribDivisor(this._aModelMatrixCol0.location,1),s.vertexAttribDivisor(this._aModelMatrixCol1.location,1),s.vertexAttribDivisor(this._aModelMatrixCol2.location,1),this._aFlags.bindArrayBuffer(o.flagsBuf),s.vertexAttribDivisor(this._aFlags.location,1),"edge"===e.snapMode?(o.edgeIndicesBuf.bind(),s.drawElementsInstanced(s.LINES,o.edgeIndicesBuf.numItems,o.edgeIndicesBuf.itemType,0,o.numInstances),o.edgeIndicesBuf.unbind()):s.drawArraysInstanced(s.POINTS,0,o.positionsBuf.numItems,o.numInstances),s.vertexAttribDivisor(this._aModelMatrixCol0.location,0),s.vertexAttribDivisor(this._aModelMatrixCol1.location,0),s.vertexAttribDivisor(this._aModelMatrixCol2.location,0),s.vertexAttribDivisor(this._aFlags.location,0),this._aOffset&&s.vertexAttribDivisor(this._aOffset.location,0)}}},{key:"_allocate",value:function(){v(E(n.prototype),"_allocate",this).call(this);var e=this._program;this._uLogDepthBufFC=e.getLocation("logDepthBufFC"),this._uCameraEyeRtc=e.getLocation("uCameraEyeRtc"),this.uVectorA=e.getLocation("snapVectorA"),this.uInverseVectorAB=e.getLocation("snapInvVectorAB"),this._uLayerNumber=e.getLocation("layerNumber"),this._uCoordinateScaler=e.getLocation("coordinateScaler")}},{key:"_bindProgram",value:function(){this._program.bind()}},{key:"_buildVertexShader",value:function(){var e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,n=[];return n.push("#version 300 es"),n.push("// SnapInstancingDepthRenderer vertex shader"),n.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),n.push("precision highp float;"),n.push("precision highp int;"),n.push("precision highp usampler2D;"),n.push("precision highp isampler2D;"),n.push("precision highp sampler2D;"),n.push("#else"),n.push("precision mediump float;"),n.push("precision mediump int;"),n.push("precision mediump usampler2D;"),n.push("precision mediump isampler2D;"),n.push("precision mediump sampler2D;"),n.push("#endif"),n.push("uniform int renderPass;"),n.push("in vec3 position;"),e.entityOffsetsEnabled&&n.push("in vec3 offset;"),n.push("in float flags;"),n.push("in vec4 modelMatrixCol0;"),n.push("in vec4 modelMatrixCol1;"),n.push("in vec4 modelMatrixCol2;"),n.push("uniform bool pickInvisible;"),this._addMatricesUniformBlockLines(n),n.push("uniform vec3 uCameraEyeRtc;"),n.push("uniform vec2 snapVectorA;"),n.push("uniform vec2 snapInvVectorAB;"),n.push("uniform float logDepthBufFC;"),n.push("out float vFragDepth;"),n.push("bool isPerspectiveMatrix(mat4 m) {"),n.push(" return (m[2][3] == - 1.0);"),n.push("}"),n.push("out float isPerspective;"),n.push("vec2 remapClipPos(vec2 clipPos) {"),n.push(" float x = (clipPos.x - snapVectorA.x) * snapInvVectorAB.x;"),n.push(" float y = (clipPos.y - snapVectorA.y) * snapInvVectorAB.y;"),n.push(" return vec2(x, y);"),n.push("}"),t&&(n.push("out vec4 vWorldPosition;"),n.push("out float vFlags;")),n.push("out highp vec3 relativeToOriginPosition;"),n.push("void main(void) {"),n.push("int pickFlag = int(flags) >> 12 & 0xF;"),n.push("if (pickFlag != renderPass) {"),n.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),n.push("} else {"),n.push(" vec4 worldPosition = positionsDecodeMatrix * vec4(position, 1.0); "),n.push(" worldPosition = worldMatrix * vec4(dot(worldPosition, modelMatrixCol0), dot(worldPosition, modelMatrixCol1), dot(worldPosition, modelMatrixCol2), 1.0);"),e.entityOffsetsEnabled&&n.push(" worldPosition.xyz = worldPosition.xyz + offset;"),n.push("relativeToOriginPosition = worldPosition.xyz;"),n.push(" vec4 viewPosition = viewMatrix * worldPosition; "),t&&(n.push(" vWorldPosition = worldPosition;"),n.push(" vFlags = flags;")),n.push("vec4 clipPos = projMatrix * viewPosition;"),n.push("float tmp = clipPos.w;"),n.push("clipPos.xyzw /= tmp;"),n.push("clipPos.xy = remapClipPos(clipPos.xy);"),n.push("clipPos.xyzw *= tmp;"),n.push("vFragDepth = 1.0 + clipPos.w;"),n.push("isPerspective = float (isPerspectiveMatrix(projMatrix));"),n.push("gl_Position = clipPos;"),n.push("gl_PointSize = 1.0;"),n.push("}"),n.push("}"),n}},{key:"_buildFragmentShader",value:function(){var e=this._scene._sectionPlanesState,t=e.getNumAllocatedSectionPlanes()>0,n=[];if(n.push("#version 300 es"),n.push("// SnapInstancingDepthRenderer fragment shader"),n.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),n.push("precision highp float;"),n.push("precision highp int;"),n.push("#else"),n.push("precision mediump float;"),n.push("precision mediump int;"),n.push("#endif"),n.push("in float isPerspective;"),n.push("uniform float logDepthBufFC;"),n.push("in float vFragDepth;"),n.push("uniform int layerNumber;"),n.push("uniform vec3 coordinateScaler;"),t){n.push("in vec4 vWorldPosition;"),n.push("in float vFlags;");for(var r=0;r> 16 & 0xF) == 1;"),n.push(" if (clippable) {"),n.push(" float dist = 0.0;");for(var i=0;i 0.0) { discard; }"),n.push("}")}return n.push(" gl_FragDepth = isPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5;"),n.push("outCoords = ivec4(relativeToOriginPosition.xyz*coordinateScaler.xyz, layerNumber);"),n.push("}"),n}},{key:"webglContextRestored",value:function(){this._program=null}},{key:"destroy",value:function(){this._program&&this._program.destroy(),this._program=null}}]),n}(),Fl=function(){function e(t){b(this,e),this._scene=t}return P(e,[{key:"_compile",value:function(){this._snapDepthBufInitRenderer&&!this._snapDepthBufInitRenderer.getValid()&&(this._snapDepthBufInitRenderer.destroy(),this._snapDepthBufInitRenderer=null),this._snapDepthRenderer&&!this._snapDepthRenderer.getValid()&&(this._snapDepthRenderer.destroy(),this._snapDepthRenderer=null)}},{key:"eagerCreateRenders",value:function(){this._snapDepthBufInitRenderer||(this._snapDepthBufInitRenderer=new Bl(this._scene,!1)),this._snapDepthRenderer||(this._snapDepthRenderer=new Ml(this._scene))}},{key:"snapDepthBufInitRenderer",get:function(){return this._snapDepthBufInitRenderer||(this._snapDepthBufInitRenderer=new Bl(this._scene,!1)),this._snapDepthBufInitRenderer}},{key:"snapDepthRenderer",get:function(){return this._snapDepthRenderer||(this._snapDepthRenderer=new Ml(this._scene)),this._snapDepthRenderer}},{key:"_destroy",value:function(){this._snapDepthBufInitRenderer&&this._snapDepthBufInitRenderer.destroy(),this._snapDepthRenderer&&this._snapDepthRenderer.destroy()}}]),e}(),Hl={};var Ul=new Uint8Array(4),Gl=new Float32Array(1),kl=$.vec4([0,0,0,1]);$.vec4([0,0,0,1]),$.vec4([0,0,0,1]);var jl=new Float32Array(3),Vl=$.vec3(),Ql=$.vec3(),Wl=$.vec3(),zl=$.vec3(),Kl=$.vec3(),Yl=$.vec3(),Xl=$.vec3(),ql=new Float32Array(4),Jl=function(){function e(t){var n,r,i;b(this,e),this.model=t.model,this.sortId="TrianglesInstancingLayer"+(t.solid?"-solid":"-surface")+(t.normals?"-normals":"-autoNormals"),this.layerIndex=t.layerIndex,this._instancingRenderers=(n=t.model.scene,r=n.id,(i=bl[r])||(i=new Tl(n),bl[r]=i,i._compile(),i.eagerCreateRenders(),n.on("compile",(function(){i._compile(),i.eagerCreateRenders()})),n.on("destroyed",(function(){delete bl[r],i._destroy()}))),i),this._snapInstancingRenderers=function(e){var t=e.id,n=Hl[t];return n||(n=new Fl(e),Hl[t]=n,n._compile(),n.eagerCreateRenders(),e.on("compile",(function(){n._compile(),n.eagerCreateRenders()})),e.on("destroyed",(function(){delete Hl[t],n._destroy()}))),n}(t.model.scene),this._aabb=$.collapseAABB3(),this._state=new Wt({numInstances:0,obb:$.OBB3(),origin:$.vec3(),geometry:t.geometry,textureSet:t.textureSet,pbrSupported:!1,positionsDecodeMatrix:t.geometry.positionsDecodeMatrix,colorsBuf:null,metallicRoughnessBuf:null,flagsBuf:null,offsetsBuf:null,modelMatrixBuf:null,modelMatrixCol0Buf:null,modelMatrixCol1Buf:null,modelMatrixCol2Buf:null,modelNormalMatrixCol0Buf:null,modelNormalMatrixCol1Buf:null,modelNormalMatrixCol2Buf:null,pickColorsBuf:null}),this._numPortions=0,this._numVisibleLayerPortions=0,this._numTransparentLayerPortions=0,this._numXRayedLayerPortions=0,this._numHighlightedLayerPortions=0,this._numSelectedLayerPortions=0,this._numClippableLayerPortions=0,this._numEdgesLayerPortions=0,this._numPickableLayerPortions=0,this._numCulledLayerPortions=0,this.numIndices=t.geometry.numIndices,this._colors=[],this._metallicRoughness=[],this._pickColors=[],this._offsets=[],this._modelMatrix=[],this._modelMatrixCol0=[],this._modelMatrixCol1=[],this._modelMatrixCol2=[],this._modelNormalMatrixCol0=[],this._modelNormalMatrixCol1=[],this._modelNormalMatrixCol2=[],this._portions=[],this._meshes=[],this._aabb=$.collapseAABB3(),this.aabbDirty=!0,t.origin&&this._state.origin.set(t.origin),this._finalized=!1,this.solid=!!t.solid,this.numIndices=t.geometry.numIndices}return P(e,[{key:"aabb",get:function(){if(this.aabbDirty){$.collapseAABB3(this._aabb);for(var e=0,t=this._meshes.length;e0){e.colorsBuf=new Dt(r,r.ARRAY_BUFFER,new Uint8Array(this._colors),this._colors.length,4,r.DYNAMIC_DRAW,!1),this._colors=[]}if(this._metallicRoughness.length>0){var s=new Uint8Array(this._metallicRoughness);e.metallicRoughnessBuf=new Dt(r,r.ARRAY_BUFFER,s,this._metallicRoughness.length,2,r.STATIC_DRAW,!1)}if(a>0){e.flagsBuf=new Dt(r,r.ARRAY_BUFFER,new Float32Array(a),a,1,r.DYNAMIC_DRAW,!1)}if(this.model.scene.entityOffsetsEnabled&&this._offsets.length>0){e.offsetsBuf=new Dt(r,r.ARRAY_BUFFER,new Float32Array(this._offsets),this._offsets.length,3,r.DYNAMIC_DRAW,!1),this._offsets=[]}if(t.positionsCompressed&&t.positionsCompressed.length>0){e.positionsBuf=new Dt(r,r.ARRAY_BUFFER,t.positionsCompressed,t.positionsCompressed.length,3,r.STATIC_DRAW,!1),e.positionsDecodeMatrix=$.mat4(t.positionsDecodeMatrix)}if(t.colorsCompressed&&t.colorsCompressed.length>0){var o=new Uint8Array(t.colorsCompressed);e.colorsBuf=new Dt(r,r.ARRAY_BUFFER,o,o.length,4,r.STATIC_DRAW,!1)}if(t.uvCompressed&&t.uvCompressed.length>0){var l=t.uvCompressed;e.uvDecodeMatrix=t.uvDecodeMatrix,e.uvBuf=new Dt(r,r.ARRAY_BUFFER,l,l.length,2,r.STATIC_DRAW,!1)}if(t.indices&&t.indices.length>0&&(e.indicesBuf=new Dt(r,r.ELEMENT_ARRAY_BUFFER,new Uint32Array(t.indices),t.indices.length,1,r.STATIC_DRAW),e.numIndices=t.indices.length),"triangles"!==t.primitive&&"solid"!==t.primitive&&"surface"!==t.primitive||(e.edgeIndicesBuf=new Dt(r,r.ELEMENT_ARRAY_BUFFER,new Uint32Array(t.edgeIndices),t.edgeIndices.length,1,r.STATIC_DRAW)),this._modelMatrixCol0.length>0){var u=!1;e.modelMatrixCol0Buf=new Dt(r,r.ARRAY_BUFFER,new Float32Array(this._modelMatrixCol0),this._modelMatrixCol0.length,4,r.STATIC_DRAW,u),e.modelMatrixCol1Buf=new Dt(r,r.ARRAY_BUFFER,new Float32Array(this._modelMatrixCol1),this._modelMatrixCol1.length,4,r.STATIC_DRAW,u),e.modelMatrixCol2Buf=new Dt(r,r.ARRAY_BUFFER,new Float32Array(this._modelMatrixCol2),this._modelMatrixCol2.length,4,r.STATIC_DRAW,u),this._modelMatrixCol0=[],this._modelMatrixCol1=[],this._modelMatrixCol2=[],e.normalsBuf&&(e.modelNormalMatrixCol0Buf=new Dt(r,r.ARRAY_BUFFER,new Float32Array(this._modelNormalMatrixCol0),this._modelNormalMatrixCol0.length,4,r.STATIC_DRAW,u),e.modelNormalMatrixCol1Buf=new Dt(r,r.ARRAY_BUFFER,new Float32Array(this._modelNormalMatrixCol1),this._modelNormalMatrixCol1.length,4,r.STATIC_DRAW,u),e.modelNormalMatrixCol2Buf=new Dt(r,r.ARRAY_BUFFER,new Float32Array(this._modelNormalMatrixCol2),this._modelNormalMatrixCol2.length,4,r.STATIC_DRAW,u),this._modelNormalMatrixCol0=[],this._modelNormalMatrixCol1=[],this._modelNormalMatrixCol2=[])}if(this._pickColors.length>0){e.pickColorsBuf=new Dt(r,r.ARRAY_BUFFER,new Uint8Array(this._pickColors),this._pickColors.length,4,r.STATIC_DRAW,!1),this._pickColors=[]}e.pbrSupported=!!(e.metallicRoughnessBuf&&e.uvBuf&&e.normalsBuf&&n&&n.colorTexture&&n.metallicRoughnessTexture),e.colorTextureSupported=!!e.uvBuf&&!!n&&!!n.colorTexture,this._state.geometry=null,this._finalized=!0}}},{key:"initFlags",value:function(e,t,n){t&xe&&(this._numVisibleLayerPortions++,this.model.numVisibleLayerPortions++),t&ke&&(this._numHighlightedLayerPortions++,this.model.numHighlightedLayerPortions++),t&Ge&&(this._numXRayedLayerPortions++,this.model.numXRayedLayerPortions++),t&je&&(this._numSelectedLayerPortions++,this.model.numSelectedLayerPortions++),t&He&&(this._numClippableLayerPortions++,this.model.numClippableLayerPortions++),t&Ve&&(this._numEdgesLayerPortions++,this.model.numEdgesLayerPortions++),t&Fe&&(this._numPickableLayerPortions++,this.model.numPickableLayerPortions++),t&Me&&(this._numCulledLayerPortions++,this.model.numCulledLayerPortions++),n&&(this._numTransparentLayerPortions++,this.model.numTransparentLayerPortions++),this._setFlags(e,t,n)}},{key:"setVisible",value:function(e,t,n){if(!this._finalized)throw"Not finalized";t&xe?(this._numVisibleLayerPortions++,this.model.numVisibleLayerPortions++):(this._numVisibleLayerPortions--,this.model.numVisibleLayerPortions--),this._setFlags(e,t,n)}},{key:"setHighlighted",value:function(e,t,n){if(!this._finalized)throw"Not finalized";t&ke?(this._numHighlightedLayerPortions++,this.model.numHighlightedLayerPortions++):(this._numHighlightedLayerPortions--,this.model.numHighlightedLayerPortions--),this._setFlags(e,t,n)}},{key:"setXRayed",value:function(e,t,n){if(!this._finalized)throw"Not finalized";t&Ge?(this._numXRayedLayerPortions++,this.model.numXRayedLayerPortions++):(this._numXRayedLayerPortions--,this.model.numXRayedLayerPortions--),this._setFlags(e,t,n)}},{key:"setSelected",value:function(e,t,n){if(!this._finalized)throw"Not finalized";t&je?(this._numSelectedLayerPortions++,this.model.numSelectedLayerPortions++):(this._numSelectedLayerPortions--,this.model.numSelectedLayerPortions--),this._setFlags(e,t,n)}},{key:"setEdges",value:function(e,t,n){if(!this._finalized)throw"Not finalized";t&Ve?(this._numEdgesLayerPortions++,this.model.numEdgesLayerPortions++):(this._numEdgesLayerPortions--,this.model.numEdgesLayerPortions--),this._setFlags(e,t,n)}},{key:"setClippable",value:function(e,t){if(!this._finalized)throw"Not finalized";t&He?(this._numClippableLayerPortions++,this.model.numClippableLayerPortions++):(this._numClippableLayerPortions--,this.model.numClippableLayerPortions--),this._setFlags(e,t)}},{key:"setCollidable",value:function(e,t){if(!this._finalized)throw"Not finalized"}},{key:"setPickable",value:function(e,t,n){if(!this._finalized)throw"Not finalized";t&Fe?(this._numPickableLayerPortions++,this.model.numPickableLayerPortions++):(this._numPickableLayerPortions--,this.model.numPickableLayerPortions--),this._setFlags(e,t,n)}},{key:"setCulled",value:function(e,t,n){if(!this._finalized)throw"Not finalized";t&Me?(this._numCulledLayerPortions++,this.model.numCulledLayerPortions++):(this._numCulledLayerPortions--,this.model.numCulledLayerPortions--),this._setFlags(e,t,n)}},{key:"setColor",value:function(e,t){if(!this._finalized)throw"Not finalized";Ul[0]=t[0],Ul[1]=t[1],Ul[2]=t[2],Ul[3]=t[3],this._state.colorsBuf&&this._state.colorsBuf.setData(Ul,4*e)}},{key:"setTransparent",value:function(e,t,n){n?(this._numTransparentLayerPortions++,this.model.numTransparentLayerPortions++):(this._numTransparentLayerPortions--,this.model.numTransparentLayerPortions--),this._setFlags(e,t,n)}},{key:"_setFlags",value:function(e,t,n){if(!this._finalized)throw"Not finalized";var r=!!(t&xe),i=!!(t&Ge),a=!!(t&ke),s=!!(t&je),o=!!(t&Ve),l=!!(t&Fe),u=!!(t&Me),c=0;c|=!r||u||i||a&&!this.model.scene.highlightMaterial.glowThrough||s&&!this.model.scene.selectedMaterial.glowThrough?Xs.NOT_RENDERED:n?Xs.COLOR_TRANSPARENT:Xs.COLOR_OPAQUE,c|=(!r||u?Xs.NOT_RENDERED:s?Xs.SILHOUETTE_SELECTED:a?Xs.SILHOUETTE_HIGHLIGHTED:i?Xs.SILHOUETTE_XRAYED:Xs.NOT_RENDERED)<<4,c|=(!r||u?Xs.NOT_RENDERED:s?Xs.EDGES_SELECTED:a?Xs.EDGES_HIGHLIGHTED:i?Xs.EDGES_XRAYED:o?n?Xs.EDGES_COLOR_TRANSPARENT:Xs.EDGES_COLOR_OPAQUE:Xs.NOT_RENDERED)<<8,c|=(r&&!u&&l?Xs.PICK:Xs.NOT_RENDERED)<<12,c|=(t&He?1:0)<<16,Gl[0]=c,this._state.flagsBuf&&this._state.flagsBuf.setData(Gl,e)}},{key:"setOffset",value:function(e,t){if(!this._finalized)throw"Not finalized";this.model.scene.entityOffsetsEnabled?(jl[0]=t[0],jl[1]=t[1],jl[2]=t[2],this._state.offsetsBuf&&this._state.offsetsBuf.setData(jl,3*e)):this.model.error("Entity#offset not enabled for this Viewer")}},{key:"getEachVertex",value:function(e,t){if(!this.model.scene.pickSurfacePrecisionEnabled)return!1;var n=this._state,r=n.geometry,i=this._portions[e];if(i)for(var a=r.quantizedPositions,s=n.origin,o=i.offset,l=s[0]+o[0],u=s[1]+o[1],c=s[2]+o[2],f=kl,p=i.matrix,A=this.model.sceneModelMatrix,d=n.positionsDecodeMatrix,v=0,h=a.length;vy)&&(y=P,r.set(m),i&&$.triangleNormal(d,v,h,i),I=!0)}}return I&&i&&($.transformVec3(o.normalMatrix,i,i),$.transformVec3(this.model.worldNormalMatrix,i,i),$.normalizeVec3(i)),I}},{key:"destroy",value:function(){var e=this._state;e.colorsBuf&&(e.colorsBuf.destroy(),e.colorsBuf=null),e.metallicRoughnessBuf&&(e.metallicRoughnessBuf.destroy(),e.metallicRoughnessBuf=null),e.flagsBuf&&(e.flagsBuf.destroy(),e.flagsBuf=null),e.offsetsBuf&&(e.offsetsBuf.destroy(),e.offsetsBuf=null),e.modelMatrixCol0Buf&&(e.modelMatrixCol0Buf.destroy(),e.modelMatrixCol0Buf=null),e.modelMatrixCol1Buf&&(e.modelMatrixCol1Buf.destroy(),e.modelMatrixCol1Buf=null),e.modelMatrixCol2Buf&&(e.modelMatrixCol2Buf.destroy(),e.modelMatrixCol2Buf=null),e.modelNormalMatrixCol0Buf&&(e.modelNormalMatrixCol0Buf.destroy(),e.modelNormalMatrixCol0Buf=null),e.modelNormalMatrixCol1Buf&&(e.modelNormalMatrixCol1Buf.destroy(),e.modelNormalMatrixCol1Buf=null),e.modelNormalMatrixCol2Buf&&(e.modelNormalMatrixCol2Buf.destroy(),e.modelNormalMatrixCol2Buf=null),e.pickColorsBuf&&(e.pickColorsBuf.destroy(),e.pickColorsBuf=null),e.destroy(),this._state=null}}]),e}(),Zl=function(e){I(n,uo);var t=m(n);function n(){return b(this,n),t.apply(this,arguments)}return P(n,[{key:"drawLayer",value:function(e,t,r){v(E(n.prototype),"drawLayer",this).call(this,e,t,r,{incrementDrawState:!0})}},{key:"_buildVertexShader",value:function(){var e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,n=[];return n.push("#version 300 es"),n.push("// Lines batching color vertex shader"),n.push("uniform int renderPass;"),n.push("in vec3 position;"),n.push("in vec4 color;"),n.push("in float flags;"),e.entityOffsetsEnabled&&n.push("in vec3 offset;"),this._addMatricesUniformBlockLines(n),e.logarithmicDepthBufferEnabled&&(n.push("uniform float logDepthBufFC;"),n.push("out float vFragDepth;")),t&&(n.push("out vec4 vWorldPosition;"),n.push("out float vFlags;")),n.push("out vec4 vColor;"),n.push("void main(void) {"),n.push("int colorFlag = int(flags) & 0xF;"),n.push("if (colorFlag != renderPass) {"),n.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),n.push("} else {"),n.push("vec4 worldPosition = worldMatrix * (positionsDecodeMatrix * vec4(position, 1.0)); "),e.entityOffsetsEnabled&&n.push("worldPosition.xyz = worldPosition.xyz + offset;"),n.push("vec4 viewPosition = viewMatrix * worldPosition; "),n.push("vColor = vec4(float(color.r) / 255.0, float(color.g) / 255.0, float(color.b) / 255.0, float(color.a) / 255.0);"),t&&(n.push("vWorldPosition = worldPosition;"),n.push("vFlags = flags;")),n.push("vec4 clipPos = projMatrix * viewPosition;"),e.logarithmicDepthBufferEnabled&&n.push("vFragDepth = 1.0 + clipPos.w;"),n.push("gl_Position = clipPos;"),n.push("}"),n.push("}"),n}},{key:"_buildFragmentShader",value:function(){var e=this._scene,t=e._sectionPlanesState,n=t.getNumAllocatedSectionPlanes()>0,r=[];if(r.push("#version 300 es"),r.push("// Lines batching color fragment shader"),r.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),r.push("precision highp float;"),r.push("precision highp int;"),r.push("#else"),r.push("precision mediump float;"),r.push("precision mediump int;"),r.push("#endif"),e.logarithmicDepthBufferEnabled&&(r.push("uniform float logDepthBufFC;"),r.push("in float vFragDepth;")),n){r.push("in vec4 vWorldPosition;"),r.push("in float vFlags;");for(var i=0,a=t.getNumAllocatedSectionPlanes();i> 16 & 0xF) == 1;"),r.push(" if (clippable) {"),r.push(" float dist = 0.0;");for(var s=0,o=t.getNumAllocatedSectionPlanes();s 0.0) { discard; }"),r.push("}")}return r.push(" outColor = vColor;"),e.logarithmicDepthBufferEnabled&&r.push("gl_FragDepth = log2( vFragDepth ) * logDepthBufFC * 0.5;"),r.push("}"),r}}]),n}(),$l=function(e){I(n,uo);var t=m(n);function n(){return b(this,n),t.apply(this,arguments)}return P(n,[{key:"drawLayer",value:function(e,t,r){v(E(n.prototype),"drawLayer",this).call(this,e,t,r,{colorUniform:!0})}},{key:"_buildVertexShader",value:function(){var e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,n=[];return n.push("#version 300 es"),n.push("// Lines batching silhouette vertex shader"),n.push("uniform int renderPass;"),n.push("in vec3 position;"),e.entityOffsetsEnabled&&n.push("in vec3 offset;"),n.push("in float flags;"),this._addMatricesUniformBlockLines(n),n.push("uniform vec4 color;"),e.logarithmicDepthBufferEnabled&&(n.push("uniform float logDepthBufFC;"),n.push("out float vFragDepth;")),t&&(n.push("out vec4 vWorldPosition;"),n.push("out float vFlags;")),n.push("void main(void) {"),n.push("int silhouetteFlag = int(flags) >> 4 & 0xF;"),n.push("if (silhouetteFlag != renderPass) {"),n.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),n.push("} else {"),n.push(" vec4 worldPosition = worldMatrix * (positionsDecodeMatrix * vec4(position, 1.0)); "),e.entityOffsetsEnabled&&n.push(" worldPosition.xyz = worldPosition.xyz + offset;"),n.push("vec4 viewPosition = viewMatrix * worldPosition; "),t&&(n.push("vWorldPosition = worldPosition;"),n.push("vFlags = flags;")),n.push("vec4 clipPos = projMatrix * viewPosition;"),e.logarithmicDepthBufferEnabled&&n.push("vFragDepth = 1.0 + clipPos.w;"),n.push("gl_Position = clipPos;"),n.push("}"),n.push("}"),n}},{key:"_buildFragmentShader",value:function(){var e=this._scene,t=e._sectionPlanesState,n=t.getNumAllocatedSectionPlanes()>0,r=[];if(r.push("#version 300 es"),r.push("// Lines batching silhouette fragment shader"),r.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),r.push("precision highp float;"),r.push("precision highp int;"),r.push("#else"),r.push("precision mediump float;"),r.push("precision mediump int;"),r.push("#endif"),e.logarithmicDepthBufferEnabled&&(r.push("uniform float logDepthBufFC;"),r.push("in float vFragDepth;")),n){r.push("in vec4 vWorldPosition;"),r.push("in float vFlags;");for(var i=0,a=t.getNumAllocatedSectionPlanes();i> 16 & 0xF) == 1;"),r.push(" if (clippable) {"),r.push(" float dist = 0.0;");for(var s=0,o=t.getNumAllocatedSectionPlanes();s 0.0) { discard; }"),r.push("}")}return e.logarithmicDepthBufferEnabled&&r.push("gl_FragDepth = log2( vFragDepth ) * logDepthBufFC * 0.5;"),r.push("outColor = color;"),r.push("}"),r}}]),n}(),eu=function(){function e(t){b(this,e),this._scene=t}return P(e,[{key:"_compile",value:function(){this._colorRenderer&&!this._colorRenderer.getValid()&&(this._colorRenderer.destroy(),this._colorRenderer=null),this._silhouetteRenderer&&!this._silhouetteRenderer.getValid()&&(this._silhouetteRenderer.destroy(),this._silhouetteRenderer=null)}},{key:"colorRenderer",get:function(){return this._colorRenderer||(this._colorRenderer=new Zl(this._scene,!1)),this._colorRenderer}},{key:"silhouetteRenderer",get:function(){return this._silhouetteRenderer||(this._silhouetteRenderer=new $l(this._scene)),this._silhouetteRenderer}},{key:"_destroy",value:function(){this._colorRenderer&&this._colorRenderer.destroy(),this._silhouetteRenderer&&this._silhouetteRenderer.destroy()}}]),e}(),tu={};var nu=P((function e(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:5e6;b(this,e),t>5e6&&(t=5e6),this.maxVerts=t,this.maxIndices=3*t,this.positions=[],this.colors=[],this.offsets=[],this.indices=[]}));$.vec4([0,0,0,1]),$.vec4([0,0,0,1]),$.vec4([0,0,0,1]),$.OBB3();var ru=function(){function e(t){var n,r,i;b(this,e),this.layerIndex=t.layerIndex,this._batchingRenderers=(n=t.model.scene,r=n.id,(i=tu[r])||(i=new eu(n),tu[r]=i,i._compile(),n.on("compile",(function(){i._compile()})),n.on("destroyed",(function(){delete tu[r],i._destroy()}))),i),this.model=t.model,this._buffer=new nu(t.maxGeometryBatchSize),this._scratchMemory=t.scratchMemory,this._state=new Wt({positionsBuf:null,offsetsBuf:null,colorsBuf:null,flagsBuf:null,indicesBuf:null,positionsDecodeMatrix:$.mat4(),origin:null}),this._numPortions=0,this._numVisibleLayerPortions=0,this._numTransparentLayerPortions=0,this._numXRayedLayerPortions=0,this._numSelectedLayerPortions=0,this._numHighlightedLayerPortions=0,this._numClippableLayerPortions=0,this._numEdgesLayerPortions=0,this._numPickableLayerPortions=0,this._numCulledLayerPortions=0,this._modelAABB=$.collapseAABB3(),this._portions=[],this._meshes=[],this._numVerts=0,this._aabb=$.collapseAABB3(),this.aabbDirty=!0,this._finalized=!1,t.positionsDecodeMatrix?(this._state.positionsDecodeMatrix.set(t.positionsDecodeMatrix),this._preCompressedPositionsExpected=!0):this._preCompressedPositionsExpected=!1,t.origin&&(this._state.origin=$.vec3(t.origin)),this.aabb=$.collapseAABB3()}return P(e,[{key:"aabb",get:function(){if(this.aabbDirty){$.collapseAABB3(this._aabb);for(var e=0,t=this._meshes.length;e0)if(this._preCompressedPositionsExpected){var r=new Uint16Array(n.positions);e.positionsBuf=new Dt(t,t.ARRAY_BUFFER,r,n.positions.length,3,t.STATIC_DRAW)}else{var i=So(new Float32Array(n.positions),this._modelAABB,e.positionsDecodeMatrix);e.positionsBuf=new Dt(t,t.ARRAY_BUFFER,i,n.positions.length,3,t.STATIC_DRAW)}if(n.colors.length>0){var a=new Uint8Array(n.colors);e.colorsBuf=new Dt(t,t.ARRAY_BUFFER,a,n.colors.length,4,t.DYNAMIC_DRAW,!1)}if(n.colors.length>0){var s=n.colors.length/4,o=new Float32Array(s);e.flagsBuf=new Dt(t,t.ARRAY_BUFFER,o,o.length,1,t.DYNAMIC_DRAW,!1)}if(this.model.scene.entityOffsetsEnabled&&n.offsets.length>0){var l=new Float32Array(n.offsets);e.offsetsBuf=new Dt(t,t.ARRAY_BUFFER,l,n.offsets.length,3,t.DYNAMIC_DRAW)}if(n.indices.length>0){var u=new Uint32Array(n.indices);e.indicesBuf=new Dt(t,t.ELEMENT_ARRAY_BUFFER,u,n.indices.length,1,t.STATIC_DRAW)}this._buffer=null,this._finalized=!0}}},{key:"initFlags",value:function(e,t,n){t&xe&&(this._numVisibleLayerPortions++,this.model.numVisibleLayerPortions++),t&ke&&(this._numHighlightedLayerPortions++,this.model.numHighlightedLayerPortions++),t&Ge&&(this._numXRayedLayerPortions++,this.model.numXRayedLayerPortions++),t&je&&(this._numSelectedLayerPortions++,this.model.numSelectedLayerPortions++),t&He&&(this._numClippableLayerPortions++,this.model.numClippableLayerPortions++),t&Ve&&(this._numEdgesLayerPortions++,this.model.numEdgesLayerPortions++),t&Fe&&(this._numPickableLayerPortions++,this.model.numPickableLayerPortions++),t&Me&&(this._numCulledLayerPortions++,this.model.numCulledLayerPortions++),n&&(this._numTransparentLayerPortions++,this.model.numTransparentLayerPortions++);this._setFlags(e,t,n,!0)}},{key:"flushInitFlags",value:function(){this._setDeferredFlags()}},{key:"setVisible",value:function(e,t,n){if(!this._finalized)throw"Not finalized";t&xe?(this._numVisibleLayerPortions++,this.model.numVisibleLayerPortions++):(this._numVisibleLayerPortions--,this.model.numVisibleLayerPortions--),this._setFlags(e,t,n)}},{key:"setHighlighted",value:function(e,t,n){if(!this._finalized)throw"Not finalized";t&ke?(this._numHighlightedLayerPortions++,this.model.numHighlightedLayerPortions++):(this._numHighlightedLayerPortions--,this.model.numHighlightedLayerPortions--),this._setFlags(e,t,n)}},{key:"setXRayed",value:function(e,t,n){if(!this._finalized)throw"Not finalized";t&Ge?(this._numXRayedLayerPortions++,this.model.numXRayedLayerPortions++):(this._numXRayedLayerPortions--,this.model.numXRayedLayerPortions--),this._setFlags(e,t,n)}},{key:"setSelected",value:function(e,t,n){if(!this._finalized)throw"Not finalized";t&je?(this._numSelectedLayerPortions++,this.model.numSelectedLayerPortions++):(this._numSelectedLayerPortions--,this.model.numSelectedLayerPortions--),this._setFlags(e,t,n)}},{key:"setEdges",value:function(e,t,n){if(!this._finalized)throw"Not finalized";t&Ve?(this._numEdgesLayerPortions++,this.model.numEdgesLayerPortions++):(this._numEdgesLayerPortions--,this.model.numEdgesLayerPortions--),this._setFlags(e,t,n)}},{key:"setClippable",value:function(e,t){if(!this._finalized)throw"Not finalized";t&He?(this._numClippableLayerPortions++,this.model.numClippableLayerPortions++):(this._numClippableLayerPortions--,this.model.numClippableLayerPortions--),this._setFlags(e,t)}},{key:"setCulled",value:function(e,t,n){if(!this._finalized)throw"Not finalized";t&Me?(this._numCulledLayerPortions++,this.model.numCulledLayerPortions++):(this._numCulledLayerPortions--,this.model.numCulledLayerPortions--),this._setFlags(e,t,n)}},{key:"setCollidable",value:function(e,t){if(!this._finalized)throw"Not finalized"}},{key:"setPickable",value:function(e,t,n){if(!this._finalized)throw"Not finalized";t&Fe?(this._numPickableLayerPortions++,this.model.numPickableLayerPortions++):(this._numPickableLayerPortions--,this.model.numPickableLayerPortions--),this._setFlags(e,t,n)}},{key:"setColor",value:function(e,t){if(!this._finalized)throw"Not finalized";for(var n=2*e,r=4*this._portions[n],i=4*this._portions[n+1],a=this._scratchMemory.getUInt8Array(i),s=t[0],o=t[1],l=t[2],u=t[3],c=0;c3&&void 0!==arguments[3]&&arguments[3];if(!this._finalized)throw"Not finalized";var i,a,s=2*e,o=this._portions[s],l=this._portions[s+1],u=o,c=l,f=!!(t&xe),p=!!(t&Ge),A=!!(t&ke),d=!!(t&je),v=!!(t&Fe),h=!!(t&Me);i=!f||h||p||A&&!this.model.scene.highlightMaterial.glowThrough||d&&!this.model.scene.selectedMaterial.glowThrough?Xs.NOT_RENDERED:n?Xs.COLOR_TRANSPARENT:Xs.COLOR_OPAQUE,a=!f||h?Xs.NOT_RENDERED:d?Xs.SILHOUETTE_SELECTED:A?Xs.SILHOUETTE_HIGHLIGHTED:p?Xs.SILHOUETTE_XRAYED:Xs.NOT_RENDERED;var I=f&&!h&&v?Xs.PICK:Xs.NOT_RENDERED,y=t&He?1:0;if(r){this._deferredFlagValues||(this._deferredFlagValues=new Float32Array(this._numVerts));for(var m=u,w=u+c;m0,n=[];return n.push("#version 300 es"),n.push("// Lines instancing color vertex shader"),n.push("uniform int renderPass;"),n.push("in vec3 position;"),n.push("in vec4 color;"),n.push("in float flags;"),e.entityOffsetsEnabled&&n.push("in vec3 offset;"),n.push("in vec4 modelMatrixCol0;"),n.push("in vec4 modelMatrixCol1;"),n.push("in vec4 modelMatrixCol2;"),this._addMatricesUniformBlockLines(n),e.logarithmicDepthBufferEnabled&&(n.push("uniform float logDepthBufFC;"),n.push("out float vFragDepth;")),n.push("uniform vec4 lightAmbient;"),t&&(n.push("out vec4 vWorldPosition;"),n.push("out float vFlags;")),n.push("out vec4 vColor;"),n.push("void main(void) {"),n.push("int colorFlag = int(flags) & 0xF;"),n.push("if (colorFlag != renderPass) {"),n.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),n.push("} else {"),n.push("vec4 worldPosition = positionsDecodeMatrix * vec4(position, 1.0); "),n.push("worldPosition = worldMatrix * vec4(dot(worldPosition, modelMatrixCol0), dot(worldPosition, modelMatrixCol1), dot(worldPosition, modelMatrixCol2), 1.0);"),e.entityOffsetsEnabled&&n.push(" worldPosition.xyz = worldPosition.xyz + offset;"),n.push("vec4 viewPosition = viewMatrix * worldPosition; "),n.push("vColor = vec4(float(color.r) / 255.0, float(color.g) / 255.0, float(color.b) / 255.0, float(color.a) / 255.0);"),t&&(n.push("vWorldPosition = worldPosition;"),n.push("vFlags = flags;")),n.push("vec4 clipPos = projMatrix * viewPosition;"),e.logarithmicDepthBufferEnabled&&n.push("vFragDepth = 1.0 + clipPos.w;"),n.push("gl_Position = clipPos;"),n.push("}"),n.push("}"),n}},{key:"_buildFragmentShader",value:function(){var e,t,n=this._scene,r=n._sectionPlanesState,i=r.getNumAllocatedSectionPlanes()>0,a=[];if(a.push("#version 300 es"),a.push("// Lines instancing color fragment shader"),a.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),a.push("precision highp float;"),a.push("precision highp int;"),a.push("#else"),a.push("precision mediump float;"),a.push("precision mediump int;"),a.push("#endif"),n.logarithmicDepthBufferEnabled&&(a.push("uniform float logDepthBufFC;"),a.push("in float vFragDepth;")),i)for(a.push("in vec4 vWorldPosition;"),a.push("in float vFlags;"),e=0,t=r.getNumAllocatedSectionPlanes();e> 16 & 0xF) == 1;"),a.push(" if (clippable) {"),a.push(" float dist = 0.0;"),e=0,t=r.getNumAllocatedSectionPlanes();e 0.0) { discard; }"),a.push("}")}return this._withSAO?(a.push(" float viewportWidth = uSAOParams[0];"),a.push(" float viewportHeight = uSAOParams[1];"),a.push(" float blendCutoff = uSAOParams[2];"),a.push(" float blendFactor = uSAOParams[3];"),a.push(" vec2 uv = vec2(gl_FragCoord.x / viewportWidth, gl_FragCoord.y / viewportHeight);"),a.push(" float ambient = smoothstep(blendCutoff, 1.0, unpackRGBAToDepth(texture(uOcclusionTexture, uv))) * blendFactor;"),a.push(" outColor = vec4(vColor.rgb * ambient, vColor.a);")):a.push(" outColor = vColor;"),n.logarithmicDepthBufferEnabled&&a.push("gl_FragDepth = log2( vFragDepth ) * logDepthBufFC * 0.5;"),a.push("}"),a}}]),n}(),au=function(e){I(n,co);var t=m(n);function n(){return b(this,n),t.apply(this,arguments)}return P(n,[{key:"drawLayer",value:function(e,t,r){v(E(n.prototype),"drawLayer",this).call(this,e,t,r,{colorUniform:!0})}},{key:"_buildVertexShader",value:function(){var e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,n=[];return n.push("#version 300 es"),n.push("// Lines instancing silhouette vertex shader"),n.push("uniform int renderPass;"),n.push("in vec3 position;"),e.entityOffsetsEnabled&&n.push("in vec3 offset;"),n.push("in float flags;"),n.push("in vec4 modelMatrixCol0;"),n.push("in vec4 modelMatrixCol1;"),n.push("in vec4 modelMatrixCol2;"),this._addMatricesUniformBlockLines(n),e.logarithmicDepthBufferEnabled&&(n.push("uniform float logDepthBufFC;"),n.push("out float vFragDepth;")),n.push("uniform vec4 color;"),t&&(n.push("out vec4 vWorldPosition;"),n.push("out float vFlags;")),n.push("void main(void) {"),n.push("int silhouetteFlag = int(flags) >> 4 & 0xF;"),n.push("if (silhouetteFlag != renderPass) {"),n.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),n.push("} else {"),n.push("vec4 worldPosition = positionsDecodeMatrix * vec4(position, 1.0); "),n.push("worldPosition = worldMatrix * vec4(dot(worldPosition, modelMatrixCol0), dot(worldPosition, modelMatrixCol1), dot(worldPosition, modelMatrixCol2), 1.0);"),e.entityOffsetsEnabled&&n.push(" worldPosition.xyz = worldPosition.xyz + offset;"),n.push("vec4 viewPosition = viewMatrix * worldPosition; "),t&&(n.push("vWorldPosition = worldPosition;"),n.push("vFlags = flags;")),n.push("vec4 clipPos = projMatrix * viewPosition;"),e.logarithmicDepthBufferEnabled&&n.push("vFragDepth = 1.0 + clipPos.w;"),n.push("gl_Position = clipPos;"),n.push("}"),n.push("}"),n}},{key:"_buildFragmentShader",value:function(){var e=this._scene,t=e._sectionPlanesState,n=t.getNumAllocatedSectionPlanes()>0,r=[];if(r.push("#version 300 es"),r.push("// Lines instancing silhouette fragment shader"),r.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),r.push("precision highp float;"),r.push("precision highp int;"),r.push("#else"),r.push("precision mediump float;"),r.push("precision mediump int;"),r.push("#endif"),e.logarithmicDepthBufferEnabled&&(r.push("uniform float logDepthBufFC;"),r.push("in float vFragDepth;")),n){r.push("in vec4 vWorldPosition;"),r.push("in float vFlags;");for(var i=0,a=t.getNumAllocatedSectionPlanes();i> 16 & 0xF) == 1;"),r.push(" if (clippable) {"),r.push(" float dist = 0.0;");for(var s=0,o=t.getNumAllocatedSectionPlanes();s 0.0) { discard; }"),r.push("}")}return e.logarithmicDepthBufferEnabled&&r.push("gl_FragDepth = log2( vFragDepth ) * logDepthBufFC * 0.5;"),r.push("outColor = color;"),r.push("}"),r}}]),n}(),su=function(){function e(t){b(this,e),this._scene=t}return P(e,[{key:"_compile",value:function(){this._colorRenderer&&!this._colorRenderer.getValid()&&(this._colorRenderer.destroy(),this._colorRenderer=null),this._silhouetteRenderer&&!this._silhouetteRenderer.getValid()&&(this._silhouetteRenderer.destroy(),this._silhouetteRenderer=null)}},{key:"colorRenderer",get:function(){return this._colorRenderer||(this._colorRenderer=new iu(this._scene)),this._colorRenderer}},{key:"silhouetteRenderer",get:function(){return this._silhouetteRenderer||(this._silhouetteRenderer=new au(this._scene)),this._silhouetteRenderer}},{key:"_destroy",value:function(){this._colorRenderer&&this._colorRenderer.destroy(),this._silhouetteRenderer&&this._silhouetteRenderer.destroy()}}]),e}(),ou={};var lu=new Uint8Array(4),uu=new Float32Array(1);$.vec4([0,0,0,1]),$.vec4([0,0,0,1]),$.vec4([0,0,0,1]);var cu=new Float32Array(3),fu=new Float32Array(4),pu=function(){function e(t){var n,r,i;b(this,e),this.model=t.model,this.material=t.material,this.sortId="LinesInstancingLayer",this.layerIndex=t.layerIndex,this._linesInstancingRenderers=(n=t.model.scene,r=n.id,(i=ou[r])||(i=new su(n),ou[r]=i,i._compile(),n.on("compile",(function(){i._compile()})),n.on("destroyed",(function(){delete ou[r],i._destroy()}))),i),this._aabb=$.collapseAABB3(),this._state=new Wt({obb:$.OBB3(),numInstances:0,origin:null,geometry:t.geometry,positionsDecodeMatrix:t.geometry.positionsDecodeMatrix,positionsBuf:null,colorsBuf:null,flagsBuf:null,offsetsBuf:null,modelMatrixCol0Buf:null,modelMatrixCol1Buf:null,modelMatrixCol2Buf:null}),this._numPortions=0,this._numVisibleLayerPortions=0,this._numTransparentLayerPortions=0,this._numXRayedLayerPortions=0,this._numHighlightedLayerPortions=0,this._numSelectedLayerPortions=0,this._numClippableLayerPortions=0,this._numEdgesLayerPortions=0,this._numPickableLayerPortions=0,this._numCulledLayerPortions=0,this.numIndices=t.geometry.numIndices,this._colors=[],this._offsets=[],this._modelMatrixCol0=[],this._modelMatrixCol1=[],this._modelMatrixCol2=[],this._portions=[],this._meshes=[],this._aabb=$.collapseAABB3(),this.aabbDirty=!0,t.origin&&(this._state.origin=$.vec3(t.origin)),this._finalized=!1}return P(e,[{key:"aabb",get:function(){if(this.aabbDirty){$.collapseAABB3(this._aabb);for(var e=0,t=this._meshes.length;e0){this._state.colorsBuf=new Dt(e,e.ARRAY_BUFFER,new Uint8Array(this._colors),this._colors.length,4,e.DYNAMIC_DRAW,!1),this._colors=[]}if(n>0){this._state.flagsBuf=new Dt(e,e.ARRAY_BUFFER,new Float32Array(n),n,1,e.DYNAMIC_DRAW,!1)}if(this.model.scene.entityOffsetsEnabled&&this._offsets.length>0){this._state.offsetsBuf=new Dt(e,e.ARRAY_BUFFER,new Float32Array(this._offsets),this._offsets.length,3,e.DYNAMIC_DRAW,!1),this._offsets=[]}if(this._modelMatrixCol0.length>0){var r=!1;this._state.modelMatrixCol0Buf=new Dt(e,e.ARRAY_BUFFER,new Float32Array(this._modelMatrixCol0),this._modelMatrixCol0.length,4,e.STATIC_DRAW,r),this._state.modelMatrixCol1Buf=new Dt(e,e.ARRAY_BUFFER,new Float32Array(this._modelMatrixCol1),this._modelMatrixCol1.length,4,e.STATIC_DRAW,r),this._state.modelMatrixCol2Buf=new Dt(e,e.ARRAY_BUFFER,new Float32Array(this._modelMatrixCol2),this._modelMatrixCol2.length,4,e.STATIC_DRAW,r),this._modelMatrixCol0=[],this._modelMatrixCol1=[],this._modelMatrixCol2=[]}this._state.geometry=null,this._finalized=!0}},{key:"initFlags",value:function(e,t,n){t&xe&&(this._numVisibleLayerPortions++,this.model.numVisibleLayerPortions++),t&ke&&(this._numHighlightedLayerPortions++,this.model.numHighlightedLayerPortions++),t&Ge&&(this._numXRayedLayerPortions++,this.model.numXRayedLayerPortions++),t&je&&(this._numSelectedLayerPortions++,this.model.numSelectedLayerPortions++),t&He&&(this._numClippableLayerPortions++,this.model.numClippableLayerPortions++),t&Ve&&(this._numEdgesLayerPortions++,this.model.numEdgesLayerPortions++),t&Fe&&(this._numPickableLayerPortions++,this.model.numPickableLayerPortions++),t&Me&&(this._numCulledLayerPortions++,this.model.numCulledLayerPortions++),n&&(this._numTransparentLayerPortions++,this.model.numTransparentLayerPortions++),this._setFlags(e,t,n)}},{key:"setVisible",value:function(e,t,n){if(!this._finalized)throw"Not finalized";t&xe?(this._numVisibleLayerPortions++,this.model.numVisibleLayerPortions++):(this._numVisibleLayerPortions--,this.model.numVisibleLayerPortions--),this._setFlags(e,t,n)}},{key:"setHighlighted",value:function(e,t,n){if(!this._finalized)throw"Not finalized";t&ke?(this._numHighlightedLayerPortions++,this.model.numHighlightedLayerPortions++):(this._numHighlightedLayerPortions--,this.model.numHighlightedLayerPortions--),this._setFlags(e,t,n)}},{key:"setXRayed",value:function(e,t,n){if(!this._finalized)throw"Not finalized";t&Ge?(this._numXRayedLayerPortions++,this.model.numXRayedLayerPortions++):(this._numXRayedLayerPortions--,this.model.numXRayedLayerPortions--),this._setFlags(e,t,n)}},{key:"setSelected",value:function(e,t,n){if(!this._finalized)throw"Not finalized";t&je?(this._numSelectedLayerPortions++,this.model.numSelectedLayerPortions++):(this._numSelectedLayerPortions--,this.model.numSelectedLayerPortions--),this._setFlags(e,t,n)}},{key:"setEdges",value:function(e,t,n){if(!this._finalized)throw"Not finalized";t&Ve?(this._numEdgesLayerPortions++,this.model.numEdgesLayerPortions++):(this._numEdgesLayerPortions--,this.model.numEdgesLayerPortions--),this._setFlags(e,t,n)}},{key:"setClippable",value:function(e,t){if(!this._finalized)throw"Not finalized";t&He?(this._numClippableLayerPortions++,this.model.numClippableLayerPortions++):(this._numClippableLayerPortions--,this.model.numClippableLayerPortions--),this._setFlags(e,t)}},{key:"setCollidable",value:function(e,t){if(!this._finalized)throw"Not finalized"}},{key:"setPickable",value:function(e,t,n){if(!this._finalized)throw"Not finalized";t&Fe?(this._numPickableLayerPortions++,this.model.numPickableLayerPortions++):(this._numPickableLayerPortions--,this.model.numPickableLayerPortions--),this._setFlags(e,t,n)}},{key:"setCulled",value:function(e,t,n){if(!this._finalized)throw"Not finalized";t&Me?(this._numCulledLayerPortions++,this.model.numCulledLayerPortions++):(this._numCulledLayerPortions--,this.model.numCulledLayerPortions--),this._setFlags(e,t,n)}},{key:"setColor",value:function(e,t){if(!this._finalized)throw"Not finalized";lu[0]=t[0],lu[1]=t[1],lu[2]=t[2],lu[3]=t[3],this._state.colorsBuf.setData(lu,4*e,4)}},{key:"setTransparent",value:function(e,t,n){n?(this._numTransparentLayerPortions++,this.model.numTransparentLayerPortions++):(this._numTransparentLayerPortions--,this.model.numTransparentLayerPortions--),this._setFlags(e,t,n)}},{key:"_setFlags",value:function(e,t,n){if(!this._finalized)throw"Not finalized";var r=!!(t&xe),i=!!(t&Ge),a=!!(t&ke),s=!!(t&je),o=!!(t&Ve),l=!!(t&Fe),u=!!(t&Me),c=0;c|=!r||u||i||a&&!this.model.scene.highlightMaterial.glowThrough||s&&!this.model.scene.selectedMaterial.glowThrough?Xs.NOT_RENDERED:n?Xs.COLOR_TRANSPARENT:Xs.COLOR_OPAQUE,c|=(!r||u?Xs.NOT_RENDERED:s?Xs.SILHOUETTE_SELECTED:a?Xs.SILHOUETTE_HIGHLIGHTED:i?Xs.SILHOUETTE_XRAYED:Xs.NOT_RENDERED)<<4,c|=(!r||u?Xs.NOT_RENDERED:s?Xs.EDGES_SELECTED:a?Xs.EDGES_HIGHLIGHTED:i?Xs.EDGES_XRAYED:o?n?Xs.EDGES_COLOR_TRANSPARENT:Xs.EDGES_COLOR_OPAQUE:Xs.NOT_RENDERED)<<8,c|=(r&&!u&&l?Xs.PICK:Xs.NOT_RENDERED)<<12,c|=(t&He?255:0)<<16,uu[0]=c,this._state.flagsBuf.setData(uu,e)}},{key:"setOffset",value:function(e,t){if(!this._finalized)throw"Not finalized";this.model.scene.entityOffsetsEnabled?(cu[0]=t[0],cu[1]=t[1],cu[2]=t[2],this._state.offsetsBuf.setData(cu,3*e,3)):this.model.error("Entity#offset not enabled for this Viewer")}},{key:"setMatrix",value:function(e,t){if(!this._finalized)throw"Not finalized";var n=4*e;fu[0]=t[0],fu[1]=t[4],fu[2]=t[8],fu[3]=t[12],this._state.modelMatrixCol0Buf.setData(fu,n),fu[0]=t[1],fu[1]=t[5],fu[2]=t[9],fu[3]=t[13],this._state.modelMatrixCol1Buf.setData(fu,n),fu[0]=t[2],fu[1]=t[6],fu[2]=t[10],fu[3]=t[14],this._state.modelMatrixCol2Buf.setData(fu,n)}},{key:"drawColorOpaque",value:function(e,t){this._numCulledLayerPortions!==this._numPortions&&0!==this._numVisibleLayerPortions&&this._numTransparentLayerPortions!==this._numPortions&&this._numXRayedLayerPortions!==this._numPortions&&this._linesInstancingRenderers.colorRenderer&&this._linesInstancingRenderers.colorRenderer.drawLayer(t,this,Xs.COLOR_OPAQUE)}},{key:"drawColorTransparent",value:function(e,t){this._numCulledLayerPortions!==this._numPortions&&0!==this._numVisibleLayerPortions&&0!==this._numTransparentLayerPortions&&this._numXRayedLayerPortions!==this._numPortions&&this._linesInstancingRenderers.colorRenderer&&this._linesInstancingRenderers.colorRenderer.drawLayer(t,this,Xs.COLOR_TRANSPARENT)}},{key:"drawDepth",value:function(e,t){}},{key:"drawNormals",value:function(e,t){}},{key:"drawSilhouetteXRayed",value:function(e,t){this._numCulledLayerPortions!==this._numPortions&&0!==this._numVisibleLayerPortions&&0!==this._numXRayedLayerPortions&&this._linesInstancingRenderers.silhouetteRenderer&&this._linesInstancingRenderers.silhouetteRenderer.drawLayer(t,this,Xs.SILHOUETTE_XRAYED)}},{key:"drawSilhouetteHighlighted",value:function(e,t){this._numCulledLayerPortions!==this._numPortions&&0!==this._numVisibleLayerPortions&&0!==this._numHighlightedLayerPortions&&this._linesInstancingRenderers.silhouetteRenderer&&this._linesInstancingRenderers.silhouetteRenderer.drawLayer(t,this,Xs.SILHOUETTE_HIGHLIGHTED)}},{key:"drawSilhouetteSelected",value:function(e,t){this._numCulledLayerPortions!==this._numPortions&&0!==this._numVisibleLayerPortions&&0!==this._numSelectedLayerPortions&&this._linesInstancingRenderers.silhouetteRenderer&&this._linesInstancingRenderers.silhouetteRenderer.drawLayer(t,this,Xs.SILHOUETTE_SELECTED)}},{key:"drawEdgesColorOpaque",value:function(e,t){}},{key:"drawEdgesColorTransparent",value:function(e,t){}},{key:"drawEdgesXRayed",value:function(e,t){}},{key:"drawEdgesHighlighted",value:function(e,t){}},{key:"drawEdgesSelected",value:function(e,t){}},{key:"drawOcclusion",value:function(e,t){}},{key:"drawShadow",value:function(e,t){}},{key:"drawPickMesh",value:function(e,t){}},{key:"drawPickDepths",value:function(e,t){}},{key:"drawPickNormals",value:function(e,t){}},{key:"destroy",value:function(){var e=this._state;e.positionsBuf&&(e.positionsBuf.destroy(),e.positionsBuf=null),e.colorsBuf&&(e.colorsBuf.destroy(),e.colorsBuf=null),e.flagsBuf&&(e.flagsBuf.destroy(),e.flagsBuf=null),e.offsetsBuf&&(e.offsetsBuf.destroy(),e.offsetsBuf=null),e.modelMatrixCol0Buf&&(e.modelMatrixCol0Buf.destroy(),e.modelMatrixCol0Buf=null),e.modelMatrixCol1Buf&&(e.modelMatrixCol1Buf.destroy(),e.modelMatrixCol1Buf=null),e.modelMatrixCol2Buf&&(e.modelMatrixCol2Buf.destroy(),e.modelMatrixCol2Buf=null),e.destroy()}}]),e}(),Au=function(e){I(n,oo);var t=m(n);function n(){return b(this,n),t.apply(this,arguments)}return P(n,[{key:"_getHash",value:function(){return this._scene._sectionPlanesState.getHash()+this._scene.pointsMaterial.hash}},{key:"drawLayer",value:function(e,t,r){v(E(n.prototype),"drawLayer",this).call(this,e,t,r,{incrementDrawState:!0})}},{key:"_buildVertexShader",value:function(){var e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,n=e.pointsMaterial,r=[];return r.push("#version 300 es"),r.push("// Points batching color vertex shader"),r.push("uniform int renderPass;"),r.push("in vec3 position;"),r.push("in vec4 color;"),r.push("in float flags;"),e.entityOffsetsEnabled&&r.push("in vec3 offset;"),this._addMatricesUniformBlockLines(r),r.push("uniform float pointSize;"),n.perspectivePoints&&r.push("uniform float nearPlaneHeight;"),n.filterIntensity&&r.push("uniform vec2 intensityRange;"),e.logarithmicDepthBufferEnabled&&(r.push("uniform float logDepthBufFC;"),r.push("out float vFragDepth;")),t&&(r.push("out vec4 vWorldPosition;"),r.push("out float vFlags;")),r.push("out vec4 vColor;"),r.push("void main(void) {"),r.push("int colorFlag = int(flags) & 0xF;"),r.push("if (colorFlag != renderPass) {"),r.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),r.push("} else {"),n.filterIntensity&&(r.push("float intensity = float(color.a) / 255.0;"),r.push("if (intensity < intensityRange[0] || intensity > intensityRange[1]) {"),r.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),r.push("} else {")),r.push("vec4 worldPosition = worldMatrix * (positionsDecodeMatrix * vec4(position, 1.0)); "),e.entityOffsetsEnabled&&r.push("worldPosition.xyz = worldPosition.xyz + offset;"),r.push("vec4 viewPosition = viewMatrix * worldPosition; "),r.push("vColor = vec4(float(color.r) / 255.0, float(color.g) / 255.0, float(color.b) / 255.0, 1.0);"),t&&(r.push("vWorldPosition = worldPosition;"),r.push("vFlags = flags;")),r.push("vec4 clipPos = projMatrix * viewPosition;"),e.logarithmicDepthBufferEnabled&&r.push("vFragDepth = 1.0 + clipPos.w;"),r.push("gl_Position = clipPos;"),n.perspectivePoints?(r.push("gl_PointSize = (nearPlaneHeight * pointSize) / clipPos.w;"),r.push("gl_PointSize = max(gl_PointSize, "+Math.floor(n.minPerspectivePointSize)+".0);"),r.push("gl_PointSize = min(gl_PointSize, "+Math.floor(n.maxPerspectivePointSize)+".0);")):r.push("gl_PointSize = pointSize;"),r.push("}"),n.filterIntensity&&r.push("}"),r.push("}"),r}},{key:"_buildFragmentShader",value:function(){var e=this._scene,t=e._sectionPlanesState,n=t.getNumAllocatedSectionPlanes()>0,r=[];if(r.push("#version 300 es"),r.push("// Points batching color fragment shader"),r.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),r.push("precision highp float;"),r.push("precision highp int;"),r.push("#else"),r.push("precision mediump float;"),r.push("precision mediump int;"),r.push("#endif"),e.logarithmicDepthBufferEnabled&&(r.push("uniform float logDepthBufFC;"),r.push("in float vFragDepth;")),n){r.push("in vec4 vWorldPosition;"),r.push("in float vFlags;");for(var i=0,a=t.getNumAllocatedSectionPlanes();i 1.0) {"),r.push(" discard;"),r.push(" }")),n){r.push(" bool clippable = (int(vFlags) >> 16 & 0xF) == 1;"),r.push(" if (clippable) {"),r.push(" float dist = 0.0;");for(var s=0,o=t.getNumAllocatedSectionPlanes();s 0.0) { discard; }"),r.push("}")}return r.push(" outColor = vColor;"),e.logarithmicDepthBufferEnabled&&r.push("gl_FragDepth = log2( vFragDepth ) * logDepthBufFC * 0.5;"),r.push("}"),r}}]),n}(),du=function(e){I(n,oo);var t=m(n);function n(){return b(this,n),t.apply(this,arguments)}return P(n,[{key:"_getHash",value:function(){return this._scene._sectionPlanesState.getHash()+this._scene.pointsMaterial.hash}},{key:"drawLayer",value:function(e,t,r){v(E(n.prototype),"drawLayer",this).call(this,e,t,r,{colorUniform:!0})}},{key:"_buildVertexShader",value:function(){var e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,n=e.pointsMaterial._state,r=[];return r.push("#version 300 es"),r.push("// Points batching silhouette vertex shader"),r.push("uniform int renderPass;"),r.push("in vec3 position;"),e.entityOffsetsEnabled&&r.push("in vec3 offset;"),r.push("in float flags;"),this._addMatricesUniformBlockLines(r),r.push("uniform vec4 color;"),r.push("uniform float pointSize;"),n.perspectivePoints&&r.push("uniform float nearPlaneHeight;"),e.logarithmicDepthBufferEnabled&&(r.push("uniform float logDepthBufFC;"),r.push("out float vFragDepth;")),t&&(r.push("out vec4 vWorldPosition;"),r.push("out float vFlags;")),r.push("void main(void) {"),r.push("int silhouetteFlag = int(flags) >> 4 & 0xF;"),r.push("if (silhouetteFlag != renderPass) {"),r.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),r.push("} else {"),r.push(" vec4 worldPosition = worldMatrix * (positionsDecodeMatrix * vec4(position, 1.0)); "),e.entityOffsetsEnabled&&r.push(" worldPosition.xyz = worldPosition.xyz + offset;"),r.push("vec4 viewPosition = viewMatrix * worldPosition; "),t&&(r.push("vWorldPosition = worldPosition;"),r.push("vFlags = flags;")),r.push("vec4 clipPos = projMatrix * viewPosition;"),e.logarithmicDepthBufferEnabled&&r.push("vFragDepth = 1.0 + clipPos.w;"),r.push("gl_Position = clipPos;"),n.perspectivePoints?(r.push("gl_PointSize = (nearPlaneHeight * pointSize) / clipPos.w;"),r.push("gl_PointSize = max(gl_PointSize, "+Math.floor(n.minPerspectivePointSize)+".0);"),r.push("gl_PointSize = min(gl_PointSize, "+Math.floor(n.maxPerspectivePointSize)+".0);")):r.push("gl_PointSize = pointSize;"),r.push("}"),r.push("}"),r}},{key:"_buildFragmentShader",value:function(){var e,t,n=this._scene,r=n._sectionPlanesState,i=r.getNumAllocatedSectionPlanes()>0,a=[];if(a.push("#version 300 es"),a.push("// Points batching silhouette vertex shader"),a.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),a.push("precision highp float;"),a.push("precision highp int;"),a.push("#else"),a.push("precision mediump float;"),a.push("precision mediump int;"),a.push("#endif"),n.logarithmicDepthBufferEnabled&&(a.push("uniform float logDepthBufFC;"),a.push("in float vFragDepth;")),i)for(a.push("in vec4 vWorldPosition;"),a.push("in float vFlags;"),e=0,t=r.getNumAllocatedSectionPlanes();e 1.0) {"),a.push(" discard;"),a.push(" }")),i){for(a.push(" bool clippable = (int(vFlags) >> 16 & 0xF) == 1;"),a.push(" if (clippable) {"),a.push(" float dist = 0.0;"),e=0,t=r.getNumAllocatedSectionPlanes();e 0.0) { discard; }"),a.push("}")}return n.logarithmicDepthBufferEnabled&&a.push("gl_FragDepth = log2( vFragDepth ) * logDepthBufFC * 0.5;"),a.push("outColor = color;"),a.push("}"),a}}]),n}(),vu=function(e){I(n,oo);var t=m(n);function n(){return b(this,n),t.apply(this,arguments)}return P(n,[{key:"_getHash",value:function(){return this._scene._sectionPlanesState.getHash()+this._scene.pointsMaterial.hash}},{key:"_buildVertexShader",value:function(){var e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,n=e.pointsMaterial._state,r=[];return r.push("#version 300 es"),r.push("// Points batching pick mesh vertex shader"),r.push("uniform int renderPass;"),r.push("in vec3 position;"),e.entityOffsetsEnabled&&r.push("in vec3 offset;"),r.push("in float flags;"),r.push("in vec4 pickColor;"),r.push("uniform bool pickInvisible;"),this._addMatricesUniformBlockLines(r),this._addRemapClipPosLines(r),r.push("uniform float pointSize;"),n.perspectivePoints&&r.push("uniform float nearPlaneHeight;"),e.logarithmicDepthBufferEnabled&&(r.push("uniform float logDepthBufFC;"),r.push("out float vFragDepth;")),t&&(r.push("out vec4 vWorldPosition;"),r.push("out float vFlags;")),r.push("out vec4 vPickColor;"),r.push("void main(void) {"),r.push("int pickFlag = int(flags) >> 12 & 0xF;"),r.push("if (pickFlag != renderPass) {"),r.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),r.push(" } else {"),r.push(" vec4 worldPosition = worldMatrix * (positionsDecodeMatrix * vec4(position, 1.0)); "),e.entityOffsetsEnabled&&r.push(" worldPosition.xyz = worldPosition.xyz + offset;"),r.push(" vec4 viewPosition = viewMatrix * worldPosition; "),r.push(" vPickColor = vec4(float(pickColor.r) / 255.0, float(pickColor.g) / 255.0, float(pickColor.b) / 255.0, float(pickColor.a) / 255.0);"),t&&(r.push(" vWorldPosition = worldPosition;"),r.push(" vFlags = flags;")),r.push("vec4 clipPos = projMatrix * viewPosition;"),e.logarithmicDepthBufferEnabled&&r.push("vFragDepth = 1.0 + clipPos.w;"),r.push("gl_Position = remapClipPos(clipPos);"),n.perspectivePoints?(r.push("gl_PointSize = (nearPlaneHeight * pointSize) / clipPos.w;"),r.push("gl_PointSize = max(gl_PointSize, "+Math.floor(n.minPerspectivePointSize)+".0);"),r.push("gl_PointSize = min(gl_PointSize, "+Math.floor(n.maxPerspectivePointSize)+".0);")):r.push("gl_PointSize = pointSize;"),r.push("gl_PointSize += 10.0;"),r.push(" }"),r.push("}"),r}},{key:"_buildFragmentShader",value:function(){var e=this._scene,t=e._sectionPlanesState,n=t.getNumAllocatedSectionPlanes()>0,r=[];if(r.push("#version 300 es"),r.push("// Points batching pick mesh vertex shader"),r.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),r.push("precision highp float;"),r.push("precision highp int;"),r.push("#else"),r.push("precision mediump float;"),r.push("precision mediump int;"),r.push("#endif"),e.logarithmicDepthBufferEnabled&&(r.push("uniform float logDepthBufFC;"),r.push("in float vFragDepth;")),n){r.push("in vec4 vWorldPosition;"),r.push("in float vFlags;");for(var i=0;i 1.0) {"),r.push(" discard;"),r.push(" }")),n){r.push(" bool clippable = (int(vFlags) >> 16 & 0xF) == 1;"),r.push(" if (clippable) {"),r.push(" float dist = 0.0;");for(var a=0;a 0.0) { discard; }"),r.push(" }")}return e.logarithmicDepthBufferEnabled&&r.push("gl_FragDepth = log2( vFragDepth ) * logDepthBufFC * 0.5;"),r.push(" outColor = vPickColor; "),r.push("}"),r}}]),n}(),hu=function(e){I(n,oo);var t=m(n);function n(){return b(this,n),t.apply(this,arguments)}return P(n,[{key:"_getHash",value:function(){return this._scene._sectionPlanesState.getHash()+this._scene.pointsMaterial.hash}},{key:"_buildVertexShader",value:function(){var e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,n=e.pointsMaterial._state,r=[];return r.push("#version 300 es"),r.push("// Points batched pick depth vertex shader"),r.push("uniform int renderPass;"),r.push("in vec3 position;"),e.entityOffsetsEnabled&&r.push("in vec3 offset;"),r.push("in float flags;"),r.push("uniform bool pickInvisible;"),this._addMatricesUniformBlockLines(r),this._addRemapClipPosLines(r),r.push("uniform float pointSize;"),n.perspectivePoints&&r.push("uniform float nearPlaneHeight;"),e.logarithmicDepthBufferEnabled&&(r.push("uniform float logDepthBufFC;"),r.push("out float vFragDepth;")),t&&(r.push("out vec4 vWorldPosition;"),r.push("out float vFlags;")),r.push("out vec4 vViewPosition;"),r.push("void main(void) {"),r.push("int pickFlag = int(flags) >> 12 & 0xF;"),r.push("if (pickFlag != renderPass) {"),r.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),r.push(" } else {"),r.push(" vec4 worldPosition = worldMatrix * (positionsDecodeMatrix * vec4(position, 1.0)); "),e.entityOffsetsEnabled&&r.push(" worldPosition.xyz = worldPosition.xyz + offset;"),r.push(" vec4 viewPosition = viewMatrix * worldPosition; "),t&&(r.push(" vWorldPosition = worldPosition;"),r.push(" vFlags = flags;")),r.push("vViewPosition = viewPosition;"),r.push("vec4 clipPos = projMatrix * viewPosition;"),e.logarithmicDepthBufferEnabled&&r.push("vFragDepth = 1.0 + clipPos.w;"),r.push("gl_Position = remapClipPos(clipPos);"),n.perspectivePoints?(r.push("gl_PointSize = (nearPlaneHeight * pointSize) / clipPos.w;"),r.push("gl_PointSize = max(gl_PointSize, "+Math.floor(n.minPerspectivePointSize)+".0);"),r.push("gl_PointSize = min(gl_PointSize, "+Math.floor(n.maxPerspectivePointSize)+".0);")):r.push("gl_PointSize = pointSize;"),r.push("gl_PointSize += 10.0;"),r.push(" }"),r.push("}"),r}},{key:"_buildFragmentShader",value:function(){var e=this._scene,t=e._sectionPlanesState,n=t.getNumAllocatedSectionPlanes()>0,r=[];if(r.push("#version 300 es"),r.push("// Points batched pick depth fragment shader"),r.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),r.push("precision highp float;"),r.push("precision highp int;"),r.push("#else"),r.push("precision mediump float;"),r.push("precision mediump int;"),r.push("#endif"),e.logarithmicDepthBufferEnabled&&(r.push("uniform float logDepthBufFC;"),r.push("in float vFragDepth;")),r.push("uniform float pickZNear;"),r.push("uniform float pickZFar;"),n){r.push("in vec4 vWorldPosition;"),r.push("in float vFlags;");for(var i=0;i 1.0) {"),r.push(" discard;"),r.push(" }")),n){r.push(" bool clippable = (int(vFlags) >> 16 & 0xF) == 1;"),r.push(" if (clippable) {"),r.push(" float dist = 0.0;");for(var a=0;a 0.0) { discard; }"),r.push(" }")}return e.logarithmicDepthBufferEnabled&&r.push("gl_FragDepth = log2( vFragDepth ) * logDepthBufFC * 0.5;"),r.push(" float zNormalizedDepth = abs((pickZNear + vViewPosition.z) / (pickZFar - pickZNear));"),r.push(" outColor = packDepth(zNormalizedDepth); "),r.push("}"),r}}]),n}(),Iu=function(e){I(n,oo);var t=m(n);function n(){return b(this,n),t.apply(this,arguments)}return P(n,[{key:"_getHash",value:function(){return this._scene._sectionPlanesState.getHash()+this._scene.pointsMaterial.hash}},{key:"_buildVertexShader",value:function(){var e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,n=e.pointsMaterial._state,r=[];return r.push("#version 300 es"),r.push("// Points batching occlusion vertex shader"),r.push("uniform int renderPass;"),r.push("in vec3 position;"),e.entityOffsetsEnabled&&r.push("in vec3 offset;"),r.push("in float flags;"),this._addMatricesUniformBlockLines(r),r.push("uniform float pointSize;"),n.perspectivePoints&&r.push("uniform float nearPlaneHeight;"),e.logarithmicDepthBufferEnabled&&(r.push("uniform float logDepthBufFC;"),r.push("out float vFragDepth;")),t&&(r.push("out vec4 vWorldPosition;"),r.push("out float vFlags;")),r.push("void main(void) {"),r.push("int colorFlag = int(flags) & 0xF;"),r.push("if (colorFlag != renderPass) {"),r.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),r.push(" } else {"),r.push(" vec4 worldPosition = worldMatrix * (positionsDecodeMatrix * vec4(position, 1.0)); "),e.entityOffsetsEnabled&&r.push(" worldPosition.xyz = worldPosition.xyz + offset;"),r.push(" vec4 viewPosition = viewMatrix * worldPosition; "),t&&(r.push(" vWorldPosition = worldPosition;"),r.push(" vFlags = flags;")),r.push("vec4 clipPos = projMatrix * viewPosition;"),e.logarithmicDepthBufferEnabled&&r.push("vFragDepth = 1.0 + clipPos.w;"),r.push(" gl_Position = clipPos;"),n.perspectivePoints?(r.push("gl_PointSize = (nearPlaneHeight * pointSize) / clipPos.w;"),r.push("gl_PointSize = max(gl_PointSize, "+Math.floor(n.minPerspectivePointSize)+".0);"),r.push("gl_PointSize = min(gl_PointSize, "+Math.floor(n.maxPerspectivePointSize)+".0);")):r.push("gl_PointSize = pointSize;"),r.push(" }"),r.push("}"),r}},{key:"_buildFragmentShader",value:function(){var e=this._scene,t=e._sectionPlanesState,n=t.getNumAllocatedSectionPlanes()>0,r=[];if(r.push("#version 300 es"),r.push("// Points batching occlusion fragment shader"),r.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),r.push("precision highp float;"),r.push("precision highp int;"),r.push("#else"),r.push("precision mediump float;"),r.push("precision mediump int;"),r.push("#endif"),e.logarithmicDepthBufferEnabled&&(r.push("uniform float logDepthBufFC;"),r.push("in float vFragDepth;")),n){r.push("in vec4 vWorldPosition;"),r.push("in float vFlags;");for(var i=0;i 1.0) {"),r.push(" discard;"),r.push(" }")),n){r.push(" bool clippable = (int(vFlags) >> 16 & 0xF) == 1;"),r.push(" if (clippable) {"),r.push(" float dist = 0.0;");for(var a=0;a 0.0) { discard; }"),r.push(" }")}return e.logarithmicDepthBufferEnabled&&r.push("gl_FragDepth = log2( vFragDepth ) * logDepthBufFC * 0.5;"),r.push(" outColor = vec4(0.0, 0.0, 1.0, 1.0); "),r.push("}"),r}}]),n}(),yu=function(){function e(t){b(this,e),this._scene=t}return P(e,[{key:"_compile",value:function(){this._colorRenderer&&!this._colorRenderer.getValid()&&(this._colorRenderer.destroy(),this._colorRenderer=null),this._silhouetteRenderer&&!this._silhouetteRenderer.getValid()&&(this._silhouetteRenderer.destroy(),this._silhouetteRenderer=null),this._pickMeshRenderer&&!this._pickMeshRenderer.getValid()&&(this._pickMeshRenderer.destroy(),this._pickMeshRenderer=null),this._pickDepthRenderer&&!this._pickDepthRenderer.getValid()&&(this._pickDepthRenderer.destroy(),this._pickDepthRenderer=null),this._occlusionRenderer&&!1===this._occlusionRenderer.getValid()&&(this._occlusionRenderer.destroy(),this._occlusionRenderer=null)}},{key:"colorRenderer",get:function(){return this._colorRenderer||(this._colorRenderer=new Au(this._scene)),this._colorRenderer}},{key:"silhouetteRenderer",get:function(){return this._silhouetteRenderer||(this._silhouetteRenderer=new du(this._scene)),this._silhouetteRenderer}},{key:"pickMeshRenderer",get:function(){return this._pickMeshRenderer||(this._pickMeshRenderer=new vu(this._scene)),this._pickMeshRenderer}},{key:"pickDepthRenderer",get:function(){return this._pickDepthRenderer||(this._pickDepthRenderer=new hu(this._scene)),this._pickDepthRenderer}},{key:"occlusionRenderer",get:function(){return this._occlusionRenderer||(this._occlusionRenderer=new Iu(this._scene)),this._occlusionRenderer}},{key:"_destroy",value:function(){this._colorRenderer&&this._colorRenderer.destroy(),this._silhouetteRenderer&&this._silhouetteRenderer.destroy(),this._pickMeshRenderer&&this._pickMeshRenderer.destroy(),this._pickDepthRenderer&&this._pickDepthRenderer.destroy(),this._occlusionRenderer&&this._occlusionRenderer.destroy()}}]),e}(),mu={};var wu=P((function e(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:5e6;b(this,e),t>5e6&&(t=5e6),this.maxVerts=t,this.maxIndices=3*t,this.positions=[],this.colors=[],this.intensities=[],this.pickColors=[],this.offsets=[]}));$.vec4(),$.vec4(),$.vec4([0,0,0,1]),$.vec4([0,0,0,1]),$.vec4([0,0,0,1]),$.OBB3();var gu=function(){function e(t){b(this,e),this.model=t.model,this.sortId="PointsBatchingLayer",this.layerIndex=t.layerIndex,this._pointsBatchingRenderers=function(e){var t=e.id,n=mu[t];return n||(n=new yu(e),mu[t]=n,n._compile(),e.on("compile",(function(){n._compile()})),e.on("destroyed",(function(){delete mu[t],n._destroy()}))),n}(t.model.scene),this._buffer=new wu(t.maxGeometryBatchSize),this._scratchMemory=t.scratchMemory,this._state=new Wt({positionsBuf:null,offsetsBuf:null,colorsBuf:null,flagsBuf:null,positionsDecodeMatrix:$.mat4(),origin:null}),this._numPortions=0,this._numVisibleLayerPortions=0,this._numTransparentLayerPortions=0,this._numXRayedLayerPortions=0,this._numSelectedLayerPortions=0,this._numHighlightedLayerPortions=0,this._numClippableLayerPortions=0,this._numPickableLayerPortions=0,this._numCulledLayerPortions=0,this._modelAABB=$.collapseAABB3(),this._portions=[],this._meshes=[],this._aabb=$.collapseAABB3(),this.aabbDirty=!0,this._finalized=!1,t.positionsDecodeMatrix?(this._state.positionsDecodeMatrix.set(t.positionsDecodeMatrix),this._preCompressedPositionsExpected=!0):this._preCompressedPositionsExpected=!1,t.origin&&(this._state.origin=$.vec3(t.origin)),this.aabb=$.collapseAABB3()}return P(e,[{key:"aabb",get:function(){if(this.aabbDirty){$.collapseAABB3(this._aabb);for(var e=0,t=this._meshes.length;e0)if(this._preCompressedPositionsExpected){var r=new Uint16Array(n.positions);e.positionsBuf=new Dt(t,t.ARRAY_BUFFER,r,n.positions.length,3,t.STATIC_DRAW)}else{var i=So(new Float32Array(n.positions),this._modelAABB,e.positionsDecodeMatrix);e.positionsBuf=new Dt(t,t.ARRAY_BUFFER,i,n.positions.length,3,t.STATIC_DRAW)}if(n.colors.length>0){var a=new Uint8Array(n.colors);e.colorsBuf=new Dt(t,t.ARRAY_BUFFER,a,n.colors.length,4,t.STATIC_DRAW,!1)}if(n.positions.length>0){var s=n.positions.length/3,o=new Float32Array(s);e.flagsBuf=new Dt(t,t.ARRAY_BUFFER,o,o.length,1,t.DYNAMIC_DRAW,!1)}if(n.pickColors.length>0){var l=new Uint8Array(n.pickColors);e.pickColorsBuf=new Dt(t,t.ARRAY_BUFFER,l,n.pickColors.length,4,t.STATIC_DRAW,!1)}if(this.model.scene.entityOffsetsEnabled&&n.offsets.length>0){var u=new Float32Array(n.offsets);e.offsetsBuf=new Dt(t,t.ARRAY_BUFFER,u,n.offsets.length,3,t.DYNAMIC_DRAW)}this._buffer=null,this._finalized=!0}}},{key:"initFlags",value:function(e,t,n){t&xe&&(this._numVisibleLayerPortions++,this.model.numVisibleLayerPortions++),t&ke&&(this._numHighlightedLayerPortions++,this.model.numHighlightedLayerPortions++),t&Ge&&(this._numXRayedLayerPortions++,this.model.numXRayedLayerPortions++),t&je&&(this._numSelectedLayerPortions++,this.model.numSelectedLayerPortions++),t&He&&(this._numClippableLayerPortions++,this.model.numClippableLayerPortions++),t&Fe&&(this._numPickableLayerPortions++,this.model.numPickableLayerPortions++),t&Me&&(this._numCulledLayerPortions++,this.model.numCulledLayerPortions++),n&&(this._numTransparentLayerPortions++,this.model.numTransparentLayerPortions++),this._setFlags(e,t,n)}},{key:"setVisible",value:function(e,t,n){if(!this._finalized)throw"Not finalized";t&xe?(this._numVisibleLayerPortions++,this.model.numVisibleLayerPortions++):(this._numVisibleLayerPortions--,this.model.numVisibleLayerPortions--),this._setFlags(e,t,n)}},{key:"setHighlighted",value:function(e,t,n){if(!this._finalized)throw"Not finalized";t&ke?(this._numHighlightedLayerPortions++,this.model.numHighlightedLayerPortions++):(this._numHighlightedLayerPortions--,this.model.numHighlightedLayerPortions--),this._setFlags(e,t,n)}},{key:"setXRayed",value:function(e,t,n){if(!this._finalized)throw"Not finalized";t&Ge?(this._numXRayedLayerPortions++,this.model.numXRayedLayerPortions++):(this._numXRayedLayerPortions--,this.model.numXRayedLayerPortions--),this._setFlags(e,t,n)}},{key:"setSelected",value:function(e,t,n){if(!this._finalized)throw"Not finalized";t&je?(this._numSelectedLayerPortions++,this.model.numSelectedLayerPortions++):(this._numSelectedLayerPortions--,this.model.numSelectedLayerPortions--),this._setFlags(e,t,n)}},{key:"setEdges",value:function(e,t,n){if(!this._finalized)throw"Not finalized"}},{key:"setClippable",value:function(e,t){if(!this._finalized)throw"Not finalized";t&He?(this._numClippableLayerPortions++,this.model.numClippableLayerPortions++):(this._numClippableLayerPortions--,this.model.numClippableLayerPortions--),this._setFlags(e,t)}},{key:"setCulled",value:function(e,t,n){if(!this._finalized)throw"Not finalized";t&Me?(this._numCulledLayerPortions++,this.model.numCulledLayerPortions++):(this._numCulledLayerPortions--,this.model.numCulledLayerPortions--),this._setFlags(e,t,n)}},{key:"setCollidable",value:function(e,t){if(!this._finalized)throw"Not finalized"}},{key:"setPickable",value:function(e,t,n){if(!this._finalized)throw"Not finalized";t&Fe?(this._numPickableLayerPortions++,this.model.numPickableLayerPortions++):(this._numPickableLayerPortions--,this.model.numPickableLayerPortions--),this._setFlags(e,t,n)}},{key:"setColor",value:function(e,t){if(!this._finalized)throw"Not finalized";for(var n=2*e,r=4*this._portions[n],i=4*this._portions[n+1],a=this._scratchMemory.getUInt8Array(i),s=t[0],o=t[1],l=t[2],u=0;u0,n=e.pointsMaterial._state,r=[];return r.push("#version 300 es"),r.push("// Points instancing color vertex shader"),r.push("uniform int renderPass;"),r.push("in vec3 position;"),r.push("in vec4 color;"),r.push("in float flags;"),e.entityOffsetsEnabled&&r.push("in vec3 offset;"),r.push("in vec4 modelMatrixCol0;"),r.push("in vec4 modelMatrixCol1;"),r.push("in vec4 modelMatrixCol2;"),this._addMatricesUniformBlockLines(r),r.push("uniform float pointSize;"),n.perspectivePoints&&r.push("uniform float nearPlaneHeight;"),n.filterIntensity&&r.push("uniform vec2 intensityRange;"),e.logarithmicDepthBufferEnabled&&(r.push("uniform float logDepthBufFC;"),r.push("out float vFragDepth;")),t&&(r.push("out vec4 vWorldPosition;"),r.push("out float vFlags;")),r.push("out vec4 vColor;"),r.push("void main(void) {"),r.push("int colorFlag = int(flags) & 0xF;"),r.push("if (colorFlag != renderPass) {"),r.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),r.push("} else {"),n.filterIntensity&&(r.push("float intensity = float(color.a) / 255.0;"),r.push("if (intensity < intensityRange[0] || intensity > intensityRange[1]) {"),r.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),r.push("} else {")),r.push("vec4 worldPosition = positionsDecodeMatrix * vec4(position, 1.0); "),r.push("worldPosition = worldMatrix * vec4(dot(worldPosition, modelMatrixCol0), dot(worldPosition, modelMatrixCol1), dot(worldPosition, modelMatrixCol2), 1.0);"),e.entityOffsetsEnabled&&r.push(" worldPosition.xyz = worldPosition.xyz + offset;"),r.push("vec4 viewPosition = viewMatrix * worldPosition; "),r.push("vColor = vec4(float(color.r) / 255.0, float(color.g) / 255.0, float(color.b) / 255.0, 1.0);"),t&&(r.push("vWorldPosition = worldPosition;"),r.push("vFlags = flags;")),r.push("vec4 clipPos = projMatrix * viewPosition;"),e.logarithmicDepthBufferEnabled&&r.push("vFragDepth = 1.0 + clipPos.w;"),r.push("gl_Position = clipPos;"),n.perspectivePoints?(r.push("gl_PointSize = (nearPlaneHeight * pointSize) / clipPos.w;"),r.push("gl_PointSize = max(gl_PointSize, "+Math.floor(n.minPerspectivePointSize)+".0);"),r.push("gl_PointSize = min(gl_PointSize, "+Math.floor(n.maxPerspectivePointSize)+".0);")):r.push("gl_PointSize = pointSize;"),r.push("}"),n.filterIntensity&&r.push("}"),r.push("}"),r}},{key:"_buildFragmentShader",value:function(){var e=this._scene,t=e._sectionPlanesState,n=t.getNumAllocatedSectionPlanes()>0,r=[];if(r.push("#version 300 es"),r.push("// Points instancing color fragment shader"),r.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),r.push("precision highp float;"),r.push("precision highp int;"),r.push("#else"),r.push("precision mediump float;"),r.push("precision mediump int;"),r.push("#endif"),e.logarithmicDepthBufferEnabled&&(r.push("uniform float logDepthBufFC;"),r.push("in float vFragDepth;")),n){r.push("in vec4 vWorldPosition;"),r.push("in float vFlags;");for(var i=0,a=t.getNumAllocatedSectionPlanes();i 1.0) {"),r.push(" discard;"),r.push(" }")),n){r.push(" bool clippable = (int(vFlags) >> 16 & 0xF) == 1;"),r.push(" if (clippable) {"),r.push(" float dist = 0.0;");for(var s=0,o=t.getNumAllocatedSectionPlanes();s 0.0) { discard; }"),r.push("}")}return r.push(" outColor = vColor;"),e.logarithmicDepthBufferEnabled&&r.push("gl_FragDepth = log2( vFragDepth ) * logDepthBufFC * 0.5;"),r.push("}"),r}}]),n}(),Tu=function(e){I(n,lo);var t=m(n);function n(){return b(this,n),t.apply(this,arguments)}return P(n,[{key:"_getHash",value:function(){return this._scene._sectionPlanesState.getHash()+this._scene.pointsMaterial.hash}},{key:"drawLayer",value:function(e,t,r){v(E(n.prototype),"drawLayer",this).call(this,e,t,r,{colorUniform:!0})}},{key:"_buildVertexShader",value:function(){var e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,n=e.pointsMaterial._state,r=[];return r.push("#version 300 es"),r.push("// Points instancing silhouette vertex shader"),r.push("uniform int renderPass;"),r.push("in vec3 position;"),e.entityOffsetsEnabled&&r.push("in vec3 offset;"),r.push("in float flags;"),r.push("in vec4 color;"),r.push("in vec4 modelMatrixCol0;"),r.push("in vec4 modelMatrixCol1;"),r.push("in vec4 modelMatrixCol2;"),this._addMatricesUniformBlockLines(r),r.push("uniform float pointSize;"),n.perspectivePoints&&r.push("uniform float nearPlaneHeight;"),e.logarithmicDepthBufferEnabled&&(r.push("uniform float logDepthBufFC;"),r.push("out float vFragDepth;")),r.push("uniform vec4 silhouetteColor;"),t&&(r.push("out vec4 vWorldPosition;"),r.push("out float vFlags;")),r.push("out vec4 vColor;"),r.push("void main(void) {"),r.push("int silhouetteFlag = int(flags) >> 4 & 0xF;"),r.push("if (silhouetteFlag != renderPass) {"),r.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),r.push("} else {"),r.push("vec4 worldPosition = positionsDecodeMatrix * vec4(position, 1.0); "),r.push("worldPosition = worldMatrix * vec4(dot(worldPosition, modelMatrixCol0), dot(worldPosition, modelMatrixCol1), dot(worldPosition, modelMatrixCol2), 1.0);"),e.entityOffsetsEnabled&&r.push(" worldPosition.xyz = worldPosition.xyz + offset;"),r.push("vec4 viewPosition = viewMatrix * worldPosition; "),t&&(r.push("vWorldPosition = worldPosition;"),r.push("vFlags = flags;")),r.push("vec4 clipPos = projMatrix * viewPosition;"),e.logarithmicDepthBufferEnabled&&r.push("vFragDepth = 1.0 + clipPos.w;"),r.push("vColor = vec4(float(silhouetteColor.r) / 255.0, float(silhouetteColor.g) / 255.0, float(silhouetteColor.b) / 255.0, float(color.a) / 255.0);"),r.push("gl_Position = clipPos;"),n.perspectivePoints?(r.push("gl_PointSize = (nearPlaneHeight * pointSize) / clipPos.w;"),r.push("gl_PointSize = max(gl_PointSize, "+Math.floor(n.minPerspectivePointSize)+".0);"),r.push("gl_PointSize = min(gl_PointSize, "+Math.floor(n.maxPerspectivePointSize)+".0);")):r.push("gl_PointSize = pointSize;"),r.push("}"),r.push("}"),r}},{key:"_buildFragmentShader",value:function(){var e=this._scene,t=e._sectionPlanesState,n=t.getNumAllocatedSectionPlanes()>0,r=[];if(r.push("#version 300 es"),r.push("// Points instancing silhouette fragment shader"),r.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),r.push("precision highp float;"),r.push("precision highp int;"),r.push("#else"),r.push("precision mediump float;"),r.push("precision mediump int;"),r.push("#endif"),e.logarithmicDepthBufferEnabled&&(r.push("uniform float logDepthBufFC;"),r.push("in float vFragDepth;")),n){r.push("in vec4 vWorldPosition;"),r.push("in float vFlags;");for(var i=0,a=t.getNumAllocatedSectionPlanes();i 1.0) {"),r.push(" discard;"),r.push(" }")),n){r.push(" bool clippable = (int(vFlags) >> 16 & 0xF) == 1;"),r.push(" if (clippable) {"),r.push(" float dist = 0.0;");for(var s=0,o=t.getNumAllocatedSectionPlanes();s 0.0) { discard; }"),r.push("}")}return e.logarithmicDepthBufferEnabled&&r.push("gl_FragDepth = log2( vFragDepth ) * logDepthBufFC * 0.5;"),r.push("outColor = vColor;"),r.push("}"),r}}]),n}(),bu=function(e){I(n,lo);var t=m(n);function n(){return b(this,n),t.apply(this,arguments)}return P(n,[{key:"_getHash",value:function(){return this._scene._sectionPlanesState.getHash()+this._scene.pointsMaterial.hash}},{key:"_buildVertexShader",value:function(){var e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,n=e.pointsMaterial._state,r=[];return r.push("#version 300 es"),r.push("// Points instancing pick mesh vertex shader"),r.push("uniform int renderPass;"),r.push("in vec3 position;"),e.entityOffsetsEnabled&&r.push("in vec3 offset;"),r.push("in float flags;"),r.push("in vec4 pickColor;"),r.push("in vec4 modelMatrixCol0;"),r.push("in vec4 modelMatrixCol1;"),r.push("in vec4 modelMatrixCol2;"),r.push("uniform bool pickInvisible;"),this._addMatricesUniformBlockLines(r),this._addRemapClipPosLines(r),r.push("uniform float pointSize;"),n.perspectivePoints&&r.push("uniform float nearPlaneHeight;"),e.logarithmicDepthBufferEnabled&&(r.push("uniform float logDepthBufFC;"),r.push("out float vFragDepth;")),t&&(r.push("out vec4 vWorldPosition;"),r.push("out float vFlags;")),r.push("out vec4 vPickColor;"),r.push("void main(void) {"),r.push("int pickFlag = int(flags) >> 12 & 0xF;"),r.push("if (pickFlag != renderPass) {"),r.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),r.push("} else {"),r.push(" vec4 worldPosition = positionsDecodeMatrix * vec4(position, 1.0); "),r.push(" worldPosition = worldMatrix * vec4(dot(worldPosition, modelMatrixCol0), dot(worldPosition, modelMatrixCol1), dot(worldPosition, modelMatrixCol2), 1.0);"),e.entityOffsetsEnabled&&r.push(" worldPosition.xyz = worldPosition.xyz + offset;"),r.push(" vec4 viewPosition = viewMatrix * worldPosition; "),r.push(" vPickColor = vec4(float(pickColor.r) / 255.0, float(pickColor.g) / 255.0, float(pickColor.b) / 255.0, float(pickColor.a) / 255.0);"),t&&(r.push(" vWorldPosition = worldPosition;"),r.push(" vFlags = flags;")),r.push("vec4 clipPos = projMatrix * viewPosition;"),r.push("gl_Position = remapClipPos(clipPos);"),e.logarithmicDepthBufferEnabled&&r.push("vFragDepth = 1.0 + clipPos.w;"),n.perspectivePoints?(r.push("gl_PointSize = (nearPlaneHeight * pointSize) / clipPos.w;"),r.push("gl_PointSize = max(gl_PointSize, "+Math.floor(n.minPerspectivePointSize)+".0);"),r.push("gl_PointSize = min(gl_PointSize, "+Math.floor(n.maxPerspectivePointSize)+".0);")):r.push("gl_PointSize = pointSize;"),r.push("}"),r.push("}"),r}},{key:"_buildFragmentShader",value:function(){var e=this._scene,t=e._sectionPlanesState,n=t.getNumAllocatedSectionPlanes()>0,r=[];if(r.push("#version 300 es"),r.push("// Points instancing pick mesh fragment shader"),r.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),r.push("precision highp float;"),r.push("precision highp int;"),r.push("#else"),r.push("precision mediump float;"),r.push("precision mediump int;"),r.push("#endif"),e.logarithmicDepthBufferEnabled&&(r.push("uniform float logDepthBufFC;"),r.push("in float vFragDepth;")),n){r.push("in vec4 vWorldPosition;"),r.push("in float vFlags;");for(var i=0;i 1.0) {"),r.push(" discard;"),r.push(" }")),n){r.push(" bool clippable = (int(vFlags) >> 16 & 0xF) == 1;"),r.push(" if (clippable) {"),r.push(" float dist = 0.0;");for(var a=0;a 0.0) { discard; }"),r.push("}")}return e.logarithmicDepthBufferEnabled&&r.push("gl_FragDepth = log2( vFragDepth ) * logDepthBufFC * 0.5;"),r.push("outColor = vPickColor; "),r.push("}"),r}}]),n}(),Du=function(e){I(n,lo);var t=m(n);function n(){return b(this,n),t.apply(this,arguments)}return P(n,[{key:"_getHash",value:function(){return this._scene._sectionPlanesState.getHash()+this._scene.pointsMaterial.hash}},{key:"_buildVertexShader",value:function(){var e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,n=e.pointsMaterial._state,r=[];return r.push("#version 300 es"),r.push("// Points instancing pick depth vertex shader"),r.push("uniform int renderPass;"),r.push("in vec3 position;"),e.entityOffsetsEnabled&&r.push("in vec3 offset;"),r.push("in float flags;"),r.push("in vec4 modelMatrixCol0;"),r.push("in vec4 modelMatrixCol1;"),r.push("in vec4 modelMatrixCol2;"),r.push("uniform bool pickInvisible;"),this._addMatricesUniformBlockLines(r),this._addRemapClipPosLines(r),r.push("uniform float pointSize;"),n.perspectivePoints&&r.push("uniform float nearPlaneHeight;"),e.logarithmicDepthBufferEnabled&&(r.push("uniform float logDepthBufFC;"),r.push("out float vFragDepth;")),t&&(r.push("out vec4 vWorldPosition;"),r.push("out float vFlags;")),r.push("out vec4 vViewPosition;"),r.push("void main(void) {"),r.push("int pickFlag = int(flags) >> 12 & 0xF;"),r.push("if (pickFlag != renderPass) {"),r.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),r.push("} else {"),r.push(" vec4 worldPosition = positionsDecodeMatrix * vec4(position, 1.0); "),r.push(" worldPosition = worldMatrix * vec4(dot(worldPosition, modelMatrixCol0), dot(worldPosition, modelMatrixCol1), dot(worldPosition, modelMatrixCol2), 1.0);"),e.entityOffsetsEnabled&&r.push(" worldPosition.xyz = worldPosition.xyz + offset;"),r.push(" vec4 viewPosition = viewMatrix * worldPosition; "),t&&(r.push(" vWorldPosition = worldPosition;"),r.push(" vFlags = flags;")),r.push(" vViewPosition = viewPosition;"),r.push("vec4 clipPos = projMatrix * viewPosition;"),r.push("gl_Position = remapClipPos(clipPos);"),e.logarithmicDepthBufferEnabled&&r.push("vFragDepth = 1.0 + clipPos.w;"),r.push("gl_Position = remapClipPos(clipPos);"),n.perspectivePoints?(r.push("gl_PointSize = (nearPlaneHeight * pointSize) / clipPos.w;"),r.push("gl_PointSize = max(gl_PointSize, "+Math.floor(n.minPerspectivePointSize)+".0);"),r.push("gl_PointSize = min(gl_PointSize, "+Math.floor(n.maxPerspectivePointSize)+".0);")):r.push("gl_PointSize = pointSize;"),r.push("}"),r.push("}"),r}},{key:"_buildFragmentShader",value:function(){var e=this._scene,t=e._sectionPlanesState,n=t.getNumAllocatedSectionPlanes()>0,r=[];if(r.push("#version 300 es"),r.push("// Points instancing pick depth fragment shader"),r.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),r.push("precision highp float;"),r.push("precision highp int;"),r.push("#else"),r.push("precision mediump float;"),r.push("precision mediump int;"),r.push("#endif"),e.logarithmicDepthBufferEnabled&&(r.push("uniform float logDepthBufFC;"),r.push("in float vFragDepth;")),r.push("uniform float pickZNear;"),r.push("uniform float pickZFar;"),n){r.push("in vec4 vWorldPosition;"),r.push("in float vFlags;");for(var i=0;i 1.0) {"),r.push(" discard;"),r.push(" }")),n){r.push(" bool clippable = (int(vFlags) >> 16 & 0xF) == 1;"),r.push(" if (clippable) {"),r.push(" float dist = 0.0;");for(var a=0;a 0.0) { discard; }"),r.push("}")}return e.logarithmicDepthBufferEnabled&&r.push("gl_FragDepth = log2( vFragDepth ) * logDepthBufFC * 0.5;"),r.push(" float zNormalizedDepth = abs((pickZNear + vViewPosition.z) / (pickZFar - pickZNear));"),r.push(" outColor = packDepth(zNormalizedDepth); "),r.push("}"),r}}]),n}(),Pu=function(e){I(n,lo);var t=m(n);function n(){return b(this,n),t.apply(this,arguments)}return P(n,[{key:"_getHash",value:function(){return this._scene._sectionPlanesState.getHash()+this._scene.pointsMaterial.hash}},{key:"_buildVertexShader",value:function(){var e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,n=e.pointsMaterial._state,r=[];return r.push("#version 300 es"),r.push("// Points instancing occlusion vertex shader"),r.push("uniform int renderPass;"),r.push("in vec3 position;"),e.entityOffsetsEnabled&&r.push("in vec3 offset;"),r.push("in vec4 color;"),r.push("in float flags;"),r.push("in vec4 modelMatrixCol0;"),r.push("in vec4 modelMatrixCol1;"),r.push("in vec4 modelMatrixCol2;"),this._addMatricesUniformBlockLines(r),r.push("uniform float pointSize;"),n.perspectivePoints&&r.push("uniform float nearPlaneHeight;"),e.logarithmicDepthBufferEnabled&&(r.push("uniform float logDepthBufFC;"),r.push("out float vFragDepth;")),t&&(r.push("out vec4 vWorldPosition;"),r.push("out float vFlags;")),r.push("void main(void) {"),r.push("int colorFlag = int(flags) & 0xF;"),r.push("if (colorFlag != renderPass) {"),r.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),r.push("} else {"),r.push(" vec4 worldPosition = positionsDecodeMatrix * vec4(position, 1.0); "),r.push(" worldPosition = worldMatrix * vec4(dot(worldPosition, modelMatrixCol0), dot(worldPosition, modelMatrixCol1), dot(worldPosition, modelMatrixCol2), 1.0);"),e.entityOffsetsEnabled&&r.push(" worldPosition.xyz = worldPosition.xyz + offset;"),r.push(" vec4 viewPosition = viewMatrix * worldPosition; "),t&&(r.push(" vWorldPosition = worldPosition;"),r.push("vFlags = flags;")),r.push("vec4 clipPos = projMatrix * viewPosition;"),e.logarithmicDepthBufferEnabled&&r.push("vFragDepth = 1.0 + clipPos.w;"),r.push("gl_Position = clipPos;"),n.perspectivePoints?(r.push("gl_PointSize = (nearPlaneHeight * pointSize) / clipPos.w;"),r.push("gl_PointSize = max(gl_PointSize, "+Math.floor(n.minPerspectivePointSize)+".0);"),r.push("gl_PointSize = min(gl_PointSize, "+Math.floor(n.maxPerspectivePointSize)+".0);")):r.push("gl_PointSize = pointSize;"),r.push("}"),r.push("}"),r}},{key:"_buildFragmentShader",value:function(){var e=this._scene,t=e._sectionPlanesState,n=t.getNumAllocatedSectionPlanes()>0,r=[];if(r.push("#version 300 es"),r.push("// Points instancing occlusion vertex shader"),r.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),r.push("precision highp float;"),r.push("precision highp int;"),r.push("#else"),r.push("precision mediump float;"),r.push("precision mediump int;"),r.push("#endif"),e.logarithmicDepthBufferEnabled&&(r.push("uniform float logDepthBufFC;"),r.push("in float vFragDepth;")),n){r.push("in vec4 vWorldPosition;"),r.push("in float vFlags;");for(var i=0;i 1.0) {"),r.push(" discard;"),r.push(" }")),n){r.push(" bool clippable = (int(vFlags) >> 16 & 0xF) == 1;"),r.push(" if (clippable) {"),r.push(" float dist = 0.0;");for(var a=0;a 0.0) { discard; }"),r.push("}")}return r.push(" outColor = vec4(0.0, 0.0, 1.0, 1.0); "),e.logarithmicDepthBufferEnabled&&r.push("gl_FragDepth = log2( vFragDepth ) * logDepthBufFC * 0.5;"),r.push("}"),r}}]),n}(),Ru=function(e){I(n,lo);var t=m(n);function n(){return b(this,n),t.apply(this,arguments)}return P(n,[{key:"_getHash",value:function(){return this._scene._sectionPlanesState.getHash()+this._scene.pointsMaterial.hash}},{key:"_buildVertexShader",value:function(){var e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,n=e.pointsMaterial._state,r=[];return r.push("#version 300 es"),r.push("// Points instancing depth vertex shader"),r.push("uniform int renderPass;"),r.push("in vec3 position;"),e.entityOffsetsEnabled&&r.push("in vec3 offset;"),r.push("in float flags;"),r.push("in vec4 modelMatrixCol0;"),r.push("in vec4 modelMatrixCol1;"),r.push("in vec4 modelMatrixCol2;"),this._addMatricesUniformBlockLines(r),r.push("uniform float pointSize;"),n.perspectivePoints&&r.push("uniform float nearPlaneHeight;"),e.logarithmicDepthBufferEnabled&&(r.push("uniform float logDepthBufFC;"),r.push("out float vFragDepth;")),t&&(r.push("out vec4 vWorldPosition;"),r.push("out float vFlags;")),r.push("void main(void) {"),r.push("int colorFlag = int(flags) & 0xF;"),r.push("if (colorFlag != renderPass) {"),r.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),r.push("} else {"),r.push(" vec4 worldPosition = positionsDecodeMatrix * vec4(position, 1.0); "),r.push(" worldPosition = worldMatrix * vec4(dot(worldPosition, modelMatrixCol0), dot(worldPosition, modelMatrixCol1), dot(worldPosition, modelMatrixCol2), 1.0);"),e.entityOffsetsEnabled&&r.push(" worldPosition.xyz = worldPosition.xyz + offset;"),r.push(" vec4 viewPosition = viewMatrix * worldPosition; "),t&&(r.push("vWorldPosition = worldPosition;"),r.push("vFlags = flags;")),r.push("vec4 clipPos = projMatrix * viewPosition;"),e.logarithmicDepthBufferEnabled&&r.push("vFragDepth = 1.0 + clipPos.w;"),r.push("gl_Position = clipPos;"),n.perspectivePoints?(r.push("gl_PointSize = (nearPlaneHeight * pointSize) / clipPos.w;"),r.push("gl_PointSize = max(gl_PointSize, "+Math.floor(n.minPerspectivePointSize)+".0);"),r.push("gl_PointSize = min(gl_PointSize, "+Math.floor(n.maxPerspectivePointSize)+".0);")):r.push("gl_PointSize = pointSize;"),r.push("}"),r.push("}"),r}},{key:"_buildFragmentShader",value:function(){var e,t,n=this._scene,r=n._sectionPlanesState,i=r.getNumAllocatedSectionPlanes()>0,a=[];if(a.push("#version 300 es"),a.push("// Points instancing depth vertex shader"),a.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),a.push("precision highp float;"),a.push("precision highp int;"),a.push("#else"),a.push("precision mediump float;"),a.push("precision mediump int;"),a.push("#endif"),n.logarithmicDepthBufferEnabled&&(a.push("uniform float logDepthBufFC;"),a.push("in float vFragDepth;")),i)for(a.push("in vec4 vWorldPosition;"),a.push("in float vFlags;"),e=0,t=r.getNumAllocatedSectionPlanes();e 1.0) {"),a.push(" discard;"),a.push(" }")),i){for(a.push(" bool clippable = (int(vFlags) >> 16 & 0xF) == 1;"),a.push(" if (clippable) {"),a.push(" float dist = 0.0;"),e=0,t=r.getNumAllocatedSectionPlanes();e 0.0) { discard; }"),a.push("}")}return a.push(" outColor = packDepthToRGBA( gl_FragCoord.z); "),n.logarithmicDepthBufferEnabled&&a.push("gl_FragDepth = log2( vFragDepth ) * logDepthBufFC * 0.5;"),a.push("}"),a}}]),n}(),Cu=function(e){I(n,lo);var t=m(n);function n(){return b(this,n),t.apply(this,arguments)}return P(n,[{key:"_buildVertexShader",value:function(){var e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,n=[];return n.push("#version 300 es"),n.push("// Instancing geometry shadow drawing vertex shader"),n.push("in vec3 position;"),e.entityOffsetsEnabled&&n.push("in vec3 offset;"),n.push("in vec4 color;"),n.push("in float flags;"),n.push("in vec4 modelMatrixCol0;"),n.push("in vec4 modelMatrixCol1;"),n.push("in vec4 modelMatrixCol2;"),n.push("uniform mat4 shadowViewMatrix;"),n.push("uniform mat4 shadowProjMatrix;"),this._addMatricesUniformBlockLines(n),n.push("uniform float pointSize;"),t&&(n.push("out vec4 vWorldPosition;"),n.push("out float vFlags;")),n.push("void main(void) {"),n.push("int colorFlag = int(flags) & 0xF;"),n.push("bool visible = (colorFlag > 0);"),n.push("bool transparent = ((float(color.a) / 255.0) < 1.0);"),n.push("if (!visible || transparent) {"),n.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),n.push("} else {"),n.push(" vec4 worldPosition = positionsDecodeMatrix * vec4(position, 1.0); "),n.push(" worldPosition = vec4(dot(worldPosition, modelMatrixCol0), dot(worldPosition, modelMatrixCol1), dot(worldPosition, modelMatrixCol2), 1.0);"),e.entityOffsetsEnabled&&n.push(" worldPosition.xyz = worldPosition.xyz + offset;"),n.push(" vec4 viewPosition = shadowViewMatrix * worldPosition; "),t&&(n.push("vWorldPosition = worldPosition;"),n.push("vFlags = flags;")),n.push(" gl_Position = shadowProjMatrix * viewPosition;"),n.push("}"),n.push("gl_PointSize = pointSize;"),n.push("}"),n}},{key:"_buildFragmentShader",value:function(){var e=this._scene,t=e._sectionPlanesState,n=t.getNumAllocatedSectionPlanes()>0,r=[];if(r.push("#version 300 es"),r.push("// Instancing geometry depth drawing fragment shader"),r.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),r.push("precision highp float;"),r.push("precision highp int;"),r.push("#else"),r.push("precision mediump float;"),r.push("precision mediump int;"),r.push("#endif"),e.logarithmicDepthBufferEnabled&&(r.push("uniform float logDepthBufFC;"),r.push("in float vFragDepth;")),n){r.push("in vec4 vWorldPosition;"),r.push("in float vFlags;");for(var i=0,a=t.getNumAllocatedSectionPlanes();i 1.0) {"),r.push(" discard;"),r.push(" }"),n){r.push(" bool clippable = (int(vFlags) >> 16 & 0xF) == 1;"),r.push(" if (clippable) {"),r.push(" float dist = 0.0;");for(var s=0,o=t.getNumAllocatedSectionPlanes();s 0.0) { discard; }"),r.push("}")}return e.logarithmicDepthBufferEnabled&&r.push("gl_FragDepth = log2( vFragDepth ) * logDepthBufFC * 0.5;"),r.push(" outColor = vec4(packNormalToRGB(vViewNormal), 1.0); "),r.push("}"),r}}]),n}(),_u=function(){function e(t){b(this,e),this._scene=t}return P(e,[{key:"_compile",value:function(){this._colorRenderer&&!this._colorRenderer.getValid()&&(this._colorRenderer.destroy(),this._colorRenderer=null),this._depthRenderer&&!this._depthRenderer.getValid()&&(this._depthRenderer.destroy(),this._depthRenderer=null),this._silhouetteRenderer&&!this._silhouetteRenderer.getValid()&&(this._silhouetteRenderer.destroy(),this._silhouetteRenderer=null),this._pickMeshRenderer&&!this._pickMeshRenderer.getValid()&&(this._pickMeshRenderer.destroy(),this._pickMeshRenderer=null),this._pickDepthRenderer&&!this._pickDepthRenderer.getValid()&&(this._pickDepthRenderer.destroy(),this._pickDepthRenderer=null),this._occlusionRenderer&&!1===this._occlusionRenderer.getValid()&&(this._occlusionRenderer.destroy(),this._occlusionRenderer=null),this._shadowRenderer&&!this._shadowRenderer.getValid()&&(this._shadowRenderer.destroy(),this._shadowRenderer=null)}},{key:"colorRenderer",get:function(){return this._colorRenderer||(this._colorRenderer=new Eu(this._scene,!1)),this._colorRenderer}},{key:"silhouetteRenderer",get:function(){return this._silhouetteRenderer||(this._silhouetteRenderer=new Tu(this._scene)),this._silhouetteRenderer}},{key:"depthRenderer",get:function(){return this._depthRenderer||(this._depthRenderer=new Ru(this._scene)),this._depthRenderer}},{key:"pickMeshRenderer",get:function(){return this._pickMeshRenderer||(this._pickMeshRenderer=new bu(this._scene)),this._pickMeshRenderer}},{key:"pickDepthRenderer",get:function(){return this._pickDepthRenderer||(this._pickDepthRenderer=new Du(this._scene)),this._pickDepthRenderer}},{key:"occlusionRenderer",get:function(){return this._occlusionRenderer||(this._occlusionRenderer=new Pu(this._scene)),this._occlusionRenderer}},{key:"shadowRenderer",get:function(){return this._shadowRenderer||(this._shadowRenderer=new Cu(this._scene)),this._shadowRenderer}},{key:"_destroy",value:function(){this._colorRenderer&&this._colorRenderer.destroy(),this._depthRenderer&&this._depthRenderer.destroy(),this._silhouetteRenderer&&this._silhouetteRenderer.destroy(),this._pickMeshRenderer&&this._pickMeshRenderer.destroy(),this._pickDepthRenderer&&this._pickDepthRenderer.destroy(),this._occlusionRenderer&&this._occlusionRenderer.destroy(),this._shadowRenderer&&this._shadowRenderer.destroy()}}]),e}(),Bu={};var Ou=new Uint8Array(4),Su=new Float32Array(1);$.vec4([0,0,0,1]),$.vec4([0,0,0,1]),$.vec4([0,0,0,1]);var Nu=new Float32Array(3),Lu=new Float32Array(4),xu=function(){function e(t){var n,r,i;b(this,e),this.model=t.model,this.material=t.material,this.sortId="PointsInstancingLayer",this.layerIndex=t.layerIndex,this._pointsInstancingRenderers=(n=t.model.scene,r=n.id,(i=Bu[r])||(i=new _u(n),Bu[r]=i,i._compile(),n.on("compile",(function(){i._compile()})),n.on("destroyed",(function(){delete Bu[r],i._destroy()}))),i),this._aabb=$.collapseAABB3(),this._state=new Wt({obb:$.OBB3(),numInstances:0,origin:t.origin?$.vec3(t.origin):null,geometry:t.geometry,positionsDecodeMatrix:t.geometry.positionsDecodeMatrix,colorsBuf:null,flagsBuf:null,offsetsBuf:null,modelMatrixCol0Buf:null,modelMatrixCol1Buf:null,modelMatrixCol2Buf:null,pickColorsBuf:null}),this._numPortions=0,this._numVisibleLayerPortions=0,this._numTransparentLayerPortions=0,this._numXRayedLayerPortions=0,this._numHighlightedLayerPortions=0,this._numSelectedLayerPortions=0,this._numClippableLayerPortions=0,this._numEdgesLayerPortions=0,this._numPickableLayerPortions=0,this._numCulledLayerPortions=0,this.numIndices=t.geometry.numIndices,this._pickColors=[],this._offsets=[],this._modelMatrixCol0=[],this._modelMatrixCol1=[],this._modelMatrixCol2=[],this._portions=[],this._meshes=[],this._aabb=$.collapseAABB3(),this.aabbDirty=!0,this._finalized=!1}return P(e,[{key:"aabb",get:function(){if(this.aabbDirty){$.collapseAABB3(this._aabb);for(var e=0,t=this._meshes.length;e0){n.flagsBuf=new Dt(e,e.ARRAY_BUFFER,new Float32Array(t),t,1,e.DYNAMIC_DRAW,!1)}if(this.model.scene.entityOffsetsEnabled&&this._offsets.length>0){n.offsetsBuf=new Dt(e,e.ARRAY_BUFFER,new Float32Array(this._offsets),this._offsets.length,3,e.DYNAMIC_DRAW,!1),this._offsets=[]}if(r.positionsCompressed&&r.positionsCompressed.length>0){n.positionsBuf=new Dt(e,e.ARRAY_BUFFER,r.positionsCompressed,r.positionsCompressed.length,3,e.STATIC_DRAW,!1),n.positionsDecodeMatrix=$.mat4(r.positionsDecodeMatrix)}if(r.colorsCompressed&&r.colorsCompressed.length>0){var i=new Uint8Array(r.colorsCompressed);n.colorsBuf=new Dt(e,e.ARRAY_BUFFER,i,i.length,4,e.STATIC_DRAW,!1)}if(this._modelMatrixCol0.length>0){var a=!1;n.modelMatrixCol0Buf=new Dt(e,e.ARRAY_BUFFER,new Float32Array(this._modelMatrixCol0),this._modelMatrixCol0.length,4,e.STATIC_DRAW,a),n.modelMatrixCol1Buf=new Dt(e,e.ARRAY_BUFFER,new Float32Array(this._modelMatrixCol1),this._modelMatrixCol1.length,4,e.STATIC_DRAW,a),n.modelMatrixCol2Buf=new Dt(e,e.ARRAY_BUFFER,new Float32Array(this._modelMatrixCol2),this._modelMatrixCol2.length,4,e.STATIC_DRAW,a),this._modelMatrixCol0=[],this._modelMatrixCol1=[],this._modelMatrixCol2=[]}if(this._pickColors.length>0){n.pickColorsBuf=new Dt(e,e.ARRAY_BUFFER,new Uint8Array(this._pickColors),this._pickColors.length,4,e.STATIC_DRAW,!1),this._pickColors=[]}n.geometry=null,this._finalized=!0}},{key:"initFlags",value:function(e,t,n){t&xe&&(this._numVisibleLayerPortions++,this.model.numVisibleLayerPortions++),t&ke&&(this._numHighlightedLayerPortions++,this.model.numHighlightedLayerPortions++),t&Ge&&(this._numXRayedLayerPortions++,this.model.numXRayedLayerPortions++),t&je&&(this._numSelectedLayerPortions++,this.model.numSelectedLayerPortions++),t&He&&(this._numClippableLayerPortions++,this.model.numClippableLayerPortions++),t&Ve&&(this._numEdgesLayerPortions++,this.model.numEdgesLayerPortions++),t&Fe&&(this._numPickableLayerPortions++,this.model.numPickableLayerPortions++),t&Me&&(this._numCulledLayerPortions++,this.model.numCulledLayerPortions++),n&&(this._numTransparentLayerPortions++,this.model.numTransparentLayerPortions++),this._setFlags(e,t,n)}},{key:"setVisible",value:function(e,t,n){if(!this._finalized)throw"Not finalized";t&xe?(this._numVisibleLayerPortions++,this.model.numVisibleLayerPortions++):(this._numVisibleLayerPortions--,this.model.numVisibleLayerPortions--),this._setFlags(e,t,n)}},{key:"setHighlighted",value:function(e,t,n){if(!this._finalized)throw"Not finalized";t&ke?(this._numHighlightedLayerPortions++,this.model.numHighlightedLayerPortions++):(this._numHighlightedLayerPortions--,this.model.numHighlightedLayerPortions--),this._setFlags(e,t,n)}},{key:"setXRayed",value:function(e,t,n){if(!this._finalized)throw"Not finalized";t&Ge?(this._numXRayedLayerPortions++,this.model.numXRayedLayerPortions++):(this._numXRayedLayerPortions--,this.model.numXRayedLayerPortions--),this._setFlags(e,t,n)}},{key:"setSelected",value:function(e,t,n){if(!this._finalized)throw"Not finalized";t&je?(this._numSelectedLayerPortions++,this.model.numSelectedLayerPortions++):(this._numSelectedLayerPortions--,this.model.numSelectedLayerPortions--),this._setFlags(e,t,n)}},{key:"setEdges",value:function(e,t,n){if(!this._finalized)throw"Not finalized";t&Ve?(this._numEdgesLayerPortions++,this.model.numEdgesLayerPortions++):(this._numEdgesLayerPortions--,this.model.numEdgesLayerPortions--),this._setFlags(e,t,n)}},{key:"setClippable",value:function(e,t){if(!this._finalized)throw"Not finalized";t&He?(this._numClippableLayerPortions++,this.model.numClippableLayerPortions++):(this._numClippableLayerPortions--,this.model.numClippableLayerPortions--),this._setFlags(e,t)}},{key:"setCollidable",value:function(e,t){if(!this._finalized)throw"Not finalized"}},{key:"setPickable",value:function(e,t,n){if(!this._finalized)throw"Not finalized";t&Fe?(this._numPickableLayerPortions++,this.model.numPickableLayerPortions++):(this._numPickableLayerPortions--,this.model.numPickableLayerPortions--),this._setFlags(e,t,n)}},{key:"setCulled",value:function(e,t,n){if(!this._finalized)throw"Not finalized";t&Me?(this._numCulledLayerPortions++,this.model.numCulledLayerPortions++):(this._numCulledLayerPortions--,this.model.numCulledLayerPortions--),this._setFlags(e,t,n)}},{key:"setColor",value:function(e,t){if(!this._finalized)throw"Not finalized";Ou[0]=t[0],Ou[1]=t[1],Ou[2]=t[2],this._state.colorsBuf.setData(Ou,3*e)}},{key:"setTransparent",value:function(e,t,n){n?(this._numTransparentLayerPortions++,this.model.numTransparentLayerPortions++):(this._numTransparentLayerPortions--,this.model.numTransparentLayerPortions--),this._setFlags(e,t,n)}},{key:"_setFlags",value:function(e,t,n){if(!this._finalized)throw"Not finalized";var r=!!(t&xe),i=!!(t&Ge),a=!!(t&ke),s=!!(t&je),o=!!(t&Ve),l=!!(t&Fe),u=!!(t&Me),c=0;c|=!r||u||i||a&&!this.model.scene.highlightMaterial.glowThrough||s&&!this.model.scene.selectedMaterial.glowThrough?Xs.NOT_RENDERED:n?Xs.COLOR_TRANSPARENT:Xs.COLOR_OPAQUE,c|=(!r||u?Xs.NOT_RENDERED:s?Xs.SILHOUETTE_SELECTED:a?Xs.SILHOUETTE_HIGHLIGHTED:i?Xs.SILHOUETTE_XRAYED:Xs.NOT_RENDERED)<<4,c|=(!r||u?Xs.NOT_RENDERED:s?Xs.EDGES_SELECTED:a?Xs.EDGES_HIGHLIGHTED:i?Xs.EDGES_XRAYED:o?n?Xs.EDGES_COLOR_TRANSPARENT:Xs.EDGES_COLOR_OPAQUE:Xs.NOT_RENDERED)<<8,c|=(r&&!u&&l?Xs.PICK:Xs.NOT_RENDERED)<<12,c|=(t&He?255:0)<<16,Su[0]=c,this._state.flagsBuf.setData(Su,e)}},{key:"setOffset",value:function(e,t){if(!this._finalized)throw"Not finalized";this.model.scene.entityOffsetsEnabled?(Nu[0]=t[0],Nu[1]=t[1],Nu[2]=t[2],this._state.offsetsBuf.setData(Nu,3*e)):this.model.error("Entity#offset not enabled for this Viewer")}},{key:"setMatrix",value:function(e,t){if(!this._finalized)throw"Not finalized";var n=4*e;Lu[0]=t[0],Lu[1]=t[4],Lu[2]=t[8],Lu[3]=t[12],this._state.modelMatrixCol0Buf.setData(Lu,n),Lu[0]=t[1],Lu[1]=t[5],Lu[2]=t[9],Lu[3]=t[13],this._state.modelMatrixCol1Buf.setData(Lu,n),Lu[0]=t[2],Lu[1]=t[6],Lu[2]=t[10],Lu[3]=t[14],this._state.modelMatrixCol2Buf.setData(Lu,n)}},{key:"drawColorOpaque",value:function(e,t){this._numCulledLayerPortions!==this._numPortions&&0!==this._numVisibleLayerPortions&&this._numTransparentLayerPortions!==this._numPortions&&this._numXRayedLayerPortions!==this._numPortions&&this._pointsInstancingRenderers.colorRenderer&&this._pointsInstancingRenderers.colorRenderer.drawLayer(t,this,Xs.COLOR_OPAQUE)}},{key:"drawColorTransparent",value:function(e,t){this._numCulledLayerPortions!==this._numPortions&&0!==this._numVisibleLayerPortions&&0!==this._numTransparentLayerPortions&&this._numXRayedLayerPortions!==this._numPortions&&this._pointsInstancingRenderers.colorRenderer&&this._pointsInstancingRenderers.colorRenderer.drawLayer(t,this,Xs.COLOR_TRANSPARENT)}},{key:"drawDepth",value:function(e,t){}},{key:"drawNormals",value:function(e,t){}},{key:"drawSilhouetteXRayed",value:function(e,t){this._numCulledLayerPortions!==this._numPortions&&0!==this._numVisibleLayerPortions&&0!==this._numXRayedLayerPortions&&this._pointsInstancingRenderers.silhouetteRenderer&&this._pointsInstancingRenderers.silhouetteRenderer.drawLayer(t,this,Xs.SILHOUETTE_XRAYED)}},{key:"drawSilhouetteHighlighted",value:function(e,t){this._numCulledLayerPortions!==this._numPortions&&0!==this._numVisibleLayerPortions&&0!==this._numHighlightedLayerPortions&&this._pointsInstancingRenderers.silhouetteRenderer&&this._pointsInstancingRenderers.silhouetteRenderer.drawLayer(t,this,Xs.SILHOUETTE_HIGHLIGHTED)}},{key:"drawSilhouetteSelected",value:function(e,t){this._numCulledLayerPortions!==this._numPortions&&0!==this._numVisibleLayerPortions&&0!==this._numSelectedLayerPortions&&this._pointsInstancingRenderers.silhouetteRenderer&&this._pointsInstancingRenderers.silhouetteRenderer.drawLayer(t,this,Xs.SILHOUETTE_SELECTED)}},{key:"drawEdgesColorOpaque",value:function(e,t){}},{key:"drawEdgesColorTransparent",value:function(e,t){}},{key:"drawEdgesHighlighted",value:function(e,t){}},{key:"drawEdgesSelected",value:function(e,t){}},{key:"drawEdgesXRayed",value:function(e,t){}},{key:"drawOcclusion",value:function(e,t){this._numCulledLayerPortions!==this._numPortions&&0!==this._numVisibleLayerPortions&&this._pointsInstancingRenderers.occlusionRenderer&&this._pointsInstancingRenderers.occlusionRenderer.drawLayer(t,this,Xs.COLOR_OPAQUE)}},{key:"drawShadow",value:function(e,t){}},{key:"drawPickMesh",value:function(e,t){this._numCulledLayerPortions!==this._numPortions&&0!==this._numVisibleLayerPortions&&this._pointsInstancingRenderers.pickMeshRenderer&&this._pointsInstancingRenderers.pickMeshRenderer.drawLayer(t,this,Xs.PICK)}},{key:"drawPickDepths",value:function(e,t){this._numCulledLayerPortions!==this._numPortions&&0!==this._numVisibleLayerPortions&&this._pointsInstancingRenderers.pickDepthRenderer&&this._pointsInstancingRenderers.pickDepthRenderer.drawLayer(t,this,Xs.PICK)}},{key:"drawPickNormals",value:function(e,t){}},{key:"destroy",value:function(){var e=this._state;e.colorsBuf&&(e.colorsBuf.destroy(),e.colorsBuf=null),e.flagsBuf&&(e.flagsBuf.destroy(),e.flagsBuf=null),e.offsetsBuf&&(e.offsetsBuf.destroy(),e.offsetsBuf=null),e.modelMatrixCol0Buf&&(e.modelMatrixCol0Buf.destroy(),e.modelMatrixCol0Buf=null),e.modelMatrixCol1Buf&&(e.modelMatrixCol1Buf.destroy(),e.modelMatrixCol1Buf=null),e.modelMatrixCol2Buf&&(e.modelMatrixCol2Buf.destroy(),e.modelMatrixCol2Buf=null),e.pickColorsBuf&&(e.pickColorsBuf.destroy(),e.pickColorsBuf=null),e.destroy()}}]),e}(),Mu=function(){function e(t){b(this,e),this.id=t.id,this.colorTexture=t.colorTexture,this.metallicRoughnessTexture=t.metallicRoughnessTexture,this.normalsTexture=t.normalsTexture,this.emissiveTexture=t.emissiveTexture,this.occlusionTexture=t.occlusionTexture}return P(e,[{key:"destroy",value:function(){}}]),e}(),Fu=function(){function e(t){b(this,e),this.id=t.id,this.texture=t.texture}return P(e,[{key:"destroy",value:function(){this.texture&&(this.texture.destroy(),this.texture=null)}}]),e}(),Hu={enabled:!1,files:{},add:function(e,t){!1!==this.enabled&&(this.files[e]=t)},get:function(e){if(!1!==this.enabled)return this.files[e]},remove:function(e){delete this.files[e]},clear:function(){this.files={}}},Uu=function(){function e(t,n,r){b(this,e),this.isLoading=!1,this.itemsLoaded=0,this.itemsTotal=0,this.urlModifier=void 0,this.handlers=[],this.onStart=void 0,this.onLoad=t,this.onProgress=n,this.onError=r}return P(e,[{key:"itemStart",value:function(e){this.itemsTotal++,!1===this.isLoading&&void 0!==this.onStart&&this.onStart(e,this.itemsLoaded,this.itemsTotal),this.isLoading=!0}},{key:"itemEnd",value:function(e){this.itemsLoaded++,void 0!==this.onProgress&&this.onProgress(e,this.itemsLoaded,this.itemsTotal),this.itemsLoaded===this.itemsTotal&&(this.isLoading=!1,void 0!==this.onLoad&&this.onLoad())}},{key:"itemError",value:function(e){void 0!==this.onError&&this.onError(e)}},{key:"resolveURL",value:function(e){return this.urlModifier?this.urlModifier(e):e}},{key:"setURLModifier",value:function(e){return this.urlModifier=e,this}},{key:"addHandler",value:function(e,t){return this.handlers.push(e,t),this}},{key:"removeHandler",value:function(e){var t=this.handlers.indexOf(e);return-1!==t&&this.handlers.splice(t,2),this}},{key:"getHandler",value:function(e){for(var t=0,n=this.handlers.length;t0&&void 0!==arguments[0]?arguments[0]:4;b(this,e),this.pool=t,this.queue=[],this.workers=[],this.workersResolve=[],this.workerStatus=0}return P(e,[{key:"_initWorker",value:function(e){if(!this.workers[e]){var t=this.workerCreator();t.addEventListener("message",this._onMessage.bind(this,e)),this.workers[e]=t}}},{key:"_getIdleWorker",value:function(){for(var e=0;e0&&console.warn("KTX2TextureTranscoder: Multiple active KTX2TextureTranscoder may cause performance issues. Use a single KTX2TextureTranscoder instance, or call .dispose() on old instances."),Wu++}return this._transcoderPending}},{key:"transcode",value:function(e,t){var n=this,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return new Promise((function(i,a){var s=r;n._init().then((function(){return n._workerPool.postMessage({type:"transcode",buffers:e,taskConfig:s},e)})).then((function(e){var n=e.data,r=n.mipmaps,s=(n.width,n.height,n.format),o=n.type,l=n.error,u=n.dfdTransferFn,c=n.dfdFlags;if("error"===o)return a(l);t.setCompressedData({mipmaps:r,props:{format:s,minFilter:1===r.length?1006:1008,magFilter:1===r.length?1006:1008,encoding:2===u?3001:3e3,premultiplyAlpha:!!(1&c)}}),i()}))}))}},{key:"destroy",value:function(){URL.revokeObjectURL(this._workerSourceURL),this._workerPool.destroy(),Wu--}}]),e}();zu.BasisFormat={ETC1S:0,UASTC_4x4:1},zu.TranscoderFormat={ETC1:0,ETC2:1,BC1:2,BC3:3,BC4:4,BC5:5,BC7_M6_OPAQUE_ONLY:6,BC7_M5:7,PVRTC1_4_RGB:8,PVRTC1_4_RGBA:9,ASTC_4x4:10,ATC_RGB:11,ATC_RGBA_INTERPOLATED_ALPHA:12,RGBA32:13,RGB565:14,BGR565:15,RGBA4444:16},zu.EngineFormat={RGBAFormat:1023,RGBA_ASTC_4x4_Format:37808,RGBA_BPTC_Format:36492,RGBA_ETC2_EAC_Format:37496,RGBA_PVRTC_4BPPV1_Format:35842,RGBA_S3TC_DXT5_Format:33779,RGB_ETC1_Format:36196,RGB_ETC2_Format:37492,RGB_PVRTC_4BPPV1_Format:35840,RGB_S3TC_DXT1_Format:33776},zu.BasisWorker=function(){var e,t,n,r=_EngineFormat,i=_TranscoderFormat,a=_BasisFormat;self.addEventListener("message",(function(s){var c,f=s.data;switch(f.type){case"init":e=f.config,c=f.transcoderBinary,t=new Promise((function(e){n={wasmBinary:c,onRuntimeInitialized:e},BASIS(n)})).then((function(){n.initializeBasis(),void 0===n.KTX2File&&console.warn("KTX2TextureTranscoder: Please update Basis Universal transcoder.")}));break;case"transcode":t.then((function(){try{for(var t=function(t){var s=new n.KTX2File(new Uint8Array(t));function c(){s.close(),s.delete()}if(!s.isValid())throw c(),new Error("KTX2TextureTranscoder: Invalid or unsupported .ktx2 file");var f=s.isUASTC()?a.UASTC_4x4:a.ETC1S,p=s.getWidth(),A=s.getHeight(),d=s.getLevels(),v=s.getHasAlpha(),h=s.getDFDTransferFunc(),I=s.getDFDFlags(),y=function(t,n,s,c){for(var f,p,A=t===a.ETC1S?o:l,d=0;d>t;n.sort(ec);for(var o=new Int32Array(e.length),l=0,u=n.length;le[i+1]){var s=e[i];e[i]=e[i+1],e[i+1]=s}nc=new Int32Array(e),t.sort(rc);for(var o=new Int32Array(e.length),l=0,u=t.length;l0)for(var E=r._sectionPlanesState.sectionPlanes,T=t.layerIndex*g,b=a.renderFlags,D=0;D0&&(l.bindTriangleIndicesTextures(this._program,this._uTexturePerPolygonIdPortionIds,this._uTexturePerPolygonIdIndices,8),s.drawArrays(s.TRIANGLES,0,o.numIndices8Bits)),o.numIndices16Bits>0&&(l.bindTriangleIndicesTextures(this._program,this._uTexturePerPolygonIdPortionIds,this._uTexturePerPolygonIdIndices,16),s.drawArrays(s.TRIANGLES,0,o.numIndices16Bits)),o.numIndices32Bits>0&&(l.bindTriangleIndicesTextures(this._program,this._uTexturePerPolygonIdPortionIds,this._uTexturePerPolygonIdIndices,32),s.drawArrays(s.TRIANGLES,0,o.numIndices32Bits)),e.drawElements++}}},{key:"_allocate",value:function(){var e=this._scene,t=e.canvas.gl,n=e._lightsState;if(this._program=new bt(t,this._buildShader()),this._program.errors)return this.errors=this._program.errors,void console.error(this.errors);var r=this._program;this._uRenderPass=r.getLocation("renderPass"),this._uLightAmbient=r.getLocation("lightAmbient"),this._uLightColor=[],this._uLightDir=[],this._uLightPos=[],this._uLightAttenuation=[];for(var i=n.lights,a=0,s=i.length;a0,a=[];a.push("#version 300 es"),a.push("// TrianglesDataTextureColorRenderer vertex shader"),a.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),a.push("precision highp float;"),a.push("precision highp int;"),a.push("precision highp usampler2D;"),a.push("precision highp isampler2D;"),a.push("precision highp sampler2D;"),a.push("#else"),a.push("precision mediump float;"),a.push("precision mediump int;"),a.push("precision mediump usampler2D;"),a.push("precision mediump isampler2D;"),a.push("precision mediump sampler2D;"),a.push("#endif"),a.push("uniform int renderPass;"),a.push("uniform mat4 sceneModelMatrix;"),a.push("uniform mat4 viewMatrix;"),a.push("uniform mat4 projMatrix;"),a.push("uniform highp sampler2D uObjectPerObjectPositionsDecodeMatrix;"),a.push("uniform highp sampler2D uTexturePerObjectMatrix;"),a.push("uniform lowp usampler2D uObjectPerObjectColorsAndFlags;"),a.push("uniform mediump usampler2D uTexturePerVertexIdCoordinates;"),a.push("uniform highp usampler2D uTexturePerPolygonIdIndices;"),a.push("uniform mediump usampler2D uTexturePerPolygonIdPortionIds;"),a.push("uniform vec3 uCameraEyeRtc;"),a.push("vec3 positions[3];"),t.logarithmicDepthBufferEnabled&&(a.push("uniform float logDepthBufFC;"),a.push("out float vFragDepth;"),a.push("out float isPerspective;")),a.push("bool isPerspectiveMatrix(mat4 m) {"),a.push(" return (m[2][3] == - 1.0);"),a.push("}"),a.push("uniform vec4 lightAmbient;");for(var s=0,o=r.lights.length;s> 3) & 4095;"),a.push("int v_packed_object_id_index = (polygonIndex >> 3) >> 12;"),a.push("int objectIndex = int(texelFetch(uTexturePerPolygonIdPortionIds, ivec2(h_packed_object_id_index, v_packed_object_id_index), 0).r);"),a.push("ivec2 objectIndexCoords = ivec2(objectIndex % 512, objectIndex / 512);"),a.push("uvec4 flags = texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+2, objectIndexCoords.y), 0);"),a.push("uvec4 flags2 = texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+3, objectIndexCoords.y), 0);"),a.push("if (int(flags.x) != renderPass) {"),a.push(" gl_Position = vec4(3.0, 3.0, 3.0, 1.0);"),a.push(" return;"),a.push("} else {"),a.push("ivec4 packedVertexBase = ivec4(texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+4, objectIndexCoords.y), 0));"),a.push("ivec4 packedIndexBaseOffset = ivec4(texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+5, objectIndexCoords.y), 0));"),a.push("int indexBaseOffset = (packedIndexBaseOffset.r << 24) + (packedIndexBaseOffset.g << 16) + (packedIndexBaseOffset.b << 8) + packedIndexBaseOffset.a;"),a.push("int h_index = (polygonIndex - indexBaseOffset) & 4095;"),a.push("int v_index = (polygonIndex - indexBaseOffset) >> 12;"),a.push("ivec3 vertexIndices = ivec3(texelFetch(uTexturePerPolygonIdIndices, ivec2(h_index, v_index), 0));"),a.push("ivec3 uniqueVertexIndexes = vertexIndices + (packedVertexBase.r << 24) + (packedVertexBase.g << 16) + (packedVertexBase.b << 8) + packedVertexBase.a;"),a.push("ivec3 indexPositionH = uniqueVertexIndexes & 4095;"),a.push("ivec3 indexPositionV = uniqueVertexIndexes >> 12;"),a.push("mat4 objectInstanceMatrix = mat4 (texelFetch (uTexturePerObjectMatrix, ivec2(objectIndexCoords.x*4+0, objectIndexCoords.y), 0), texelFetch (uTexturePerObjectMatrix, ivec2(objectIndexCoords.x*4+1, objectIndexCoords.y), 0), texelFetch (uTexturePerObjectMatrix, ivec2(objectIndexCoords.x*4+2, objectIndexCoords.y), 0), texelFetch (uTexturePerObjectMatrix, ivec2(objectIndexCoords.x*4+3, objectIndexCoords.y), 0));"),a.push("mat4 objectDecodeAndInstanceMatrix = objectInstanceMatrix * mat4 (texelFetch (uObjectPerObjectPositionsDecodeMatrix, ivec2(objectIndexCoords.x*4+0, objectIndexCoords.y), 0), texelFetch (uObjectPerObjectPositionsDecodeMatrix, ivec2(objectIndexCoords.x*4+1, objectIndexCoords.y), 0), texelFetch (uObjectPerObjectPositionsDecodeMatrix, ivec2(objectIndexCoords.x*4+2, objectIndexCoords.y), 0), texelFetch (uObjectPerObjectPositionsDecodeMatrix, ivec2(objectIndexCoords.x*4+3, objectIndexCoords.y), 0));"),a.push("uint solid = texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+7, objectIndexCoords.y), 0).r;"),a.push("positions[0] = vec3(texelFetch(uTexturePerVertexIdCoordinates, ivec2(indexPositionH.r, indexPositionV.r), 0));"),a.push("positions[1] = vec3(texelFetch(uTexturePerVertexIdCoordinates, ivec2(indexPositionH.g, indexPositionV.g), 0));"),a.push("positions[2] = vec3(texelFetch(uTexturePerVertexIdCoordinates, ivec2(indexPositionH.b, indexPositionV.b), 0));"),a.push("uvec4 color = texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+0, objectIndexCoords.y), 0);"),a.push("if (color.a == 0u) {"),a.push(" gl_Position = vec4(3.0, 3.0, 3.0, 1.0);"),a.push(" return;"),a.push("};"),a.push("vec3 normal = normalize(cross(positions[2] - positions[0], positions[1] - positions[0]));"),a.push("vec3 position;"),a.push("position = positions[gl_VertexID % 3];"),a.push("vec3 viewNormal = -normalize((transpose(inverse(viewMatrix*objectDecodeAndInstanceMatrix)) * vec4(normal,1)).xyz);"),a.push("if (solid != 1u) {"),a.push("if (isPerspectiveMatrix(projMatrix)) {"),a.push("vec3 uCameraEyeRtcInQuantizedSpace = (inverse(sceneModelMatrix * objectDecodeAndInstanceMatrix) * vec4(uCameraEyeRtc, 1)).xyz;"),a.push("if (dot(position.xyz - uCameraEyeRtcInQuantizedSpace, normal) < 0.0) {"),a.push("position = positions[2 - (gl_VertexID % 3)];"),a.push("viewNormal = -viewNormal;"),a.push("}"),a.push("} else {"),a.push("if (viewNormal.z < 0.0) {"),a.push("position = positions[2 - (gl_VertexID % 3)];"),a.push("viewNormal = -viewNormal;"),a.push("}"),a.push("}"),a.push("}"),a.push("vec4 worldPosition = sceneModelMatrix * ((objectDecodeAndInstanceMatrix * vec4(position, 1.0))); "),a.push("vec4 viewPosition = viewMatrix * worldPosition; "),a.push("vec3 reflectedColor = vec3(0.0, 0.0, 0.0);"),a.push("vec3 viewLightDir = vec3(0.0, 0.0, -1.0);"),a.push("float lambertian = 1.0;");for(var l=0,u=r.lights.length;l0,r=[];if(r.push("#version 300 es"),r.push("// TrianglesDataTextureColorRenderer fragment shader"),r.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),r.push("precision highp float;"),r.push("precision highp int;"),r.push("#else"),r.push("precision mediump float;"),r.push("precision mediump int;"),r.push("#endif"),e.logarithmicDepthBufferEnabled&&(r.push("in float isPerspective;"),r.push("uniform float logDepthBufFC;"),r.push("in float vFragDepth;")),this._withSAO&&(r.push("uniform sampler2D uOcclusionTexture;"),r.push("uniform vec4 uSAOParams;"),r.push("const float packUpscale = 256. / 255.;"),r.push("const float unpackDownScale = 255. / 256.;"),r.push("const vec3 packFactors = vec3( 256. * 256. * 256., 256. * 256., 256. );"),r.push("const vec4 unPackFactors = unpackDownScale / vec4( packFactors, 1. );"),r.push("float unpackRGBToFloat( const in vec4 v ) {"),r.push(" return dot( v, unPackFactors );"),r.push("}")),n){r.push("in vec4 vWorldPosition;"),r.push("flat in uint vFlags2;");for(var i=0,a=t.getNumAllocatedSectionPlanes();i 0u;"),r.push(" if (clippable) {"),r.push(" float dist = 0.0;");for(var s=0,o=t.getNumAllocatedSectionPlanes();s 0.0) { "),r.push(" discard;"),r.push(" }"),r.push("}")}return e.logarithmicDepthBufferEnabled&&r.push(" gl_FragDepth = isPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5;"),this._withSAO?(r.push(" float viewportWidth = uSAOParams[0];"),r.push(" float viewportHeight = uSAOParams[1];"),r.push(" float blendCutoff = uSAOParams[2];"),r.push(" float blendFactor = uSAOParams[3];"),r.push(" vec2 uv = vec2(gl_FragCoord.x / viewportWidth, gl_FragCoord.y / viewportHeight);"),r.push(" float ambient = smoothstep(blendCutoff, 1.0, unpackRGBToFloat(texture(uOcclusionTexture, uv))) * blendFactor;"),r.push(" outColor = vec4(vColor.rgb * ambient, 1.0);")):r.push(" outColor = vColor;"),r.push("}"),r}},{key:"webglContextRestored",value:function(){this._program=null}},{key:"destroy",value:function(){this._program&&this._program.destroy(),this._program=null}}]),e}(),pc=new Float32Array([1,1,1]),Ac=$.vec3(),dc=$.vec3(),vc=$.vec3();$.vec3();var hc=$.mat4(),Ic=function(){function e(t,n){b(this,e),this._scene=t,this._hash=this._getHash(),this._allocate()}return P(e,[{key:"getValid",value:function(){return this._hash===this._getHash()}},{key:"_getHash",value:function(){return this._scene._sectionPlanesState.getHash()}},{key:"drawLayer",value:function(e,t,n){var r=this._scene,i=r.camera,a=t.model,s=r.canvas.gl,o=t._state,l=o.textureState,u=t._state.origin,c=a.position,f=a.rotationMatrix,p=a.rotationMatrixConjugate,A=i.viewMatrix;if(this._program||(this._allocate(),!this.errors)){var d,v;if(e.lastProgramId!==this._program.id&&(e.lastProgramId=this._program.id,this._bindProgram(e,o)),l.bindCommonTextures(this._program,this.uTexturePerObjectPositionsDecodeMatrix,this._uTexturePerVertexIdCoordinates,this.uTexturePerObjectColorsAndFlags,this._uTexturePerObjectMatrix),u||0!==c[0]||0!==c[1]||0!==c[2]){var h=Ac;if(u){var I=dc;$.transformPoint3(f,u,I),h[0]=I[0],h[1]=I[1],h[2]=I[2]}else h[0]=0,h[1]=0,h[2]=0;h[0]+=c[0],h[1]+=c[1],h[2]+=c[2],d=Be(A,h,hc),(v=vc)[0]=i.eye[0]-h[0],v[1]=i.eye[1]-h[1],v[2]=i.eye[2]-h[2]}else d=A,v=i.eye;if(s.uniform3fv(this._uCameraEyeRtc,v),s.uniform1i(this._uRenderPass,n),s.uniformMatrix4fv(this._uWorldMatrix,!1,p),s.uniformMatrix4fv(this._uViewMatrix,!1,d),s.uniformMatrix4fv(this._uProjMatrix,!1,i.projMatrix),n===Xs.SILHOUETTE_XRAYED){var y=r.xrayMaterial._state,m=y.fillColor,w=y.fillAlpha;s.uniform4f(this._uColor,m[0],m[1],m[2],w)}else if(n===Xs.SILHOUETTE_HIGHLIGHTED){var g=r.highlightMaterial._state,E=g.fillColor,T=g.fillAlpha;s.uniform4f(this._uColor,E[0],E[1],E[2],T)}else if(n===Xs.SILHOUETTE_SELECTED){var b=r.selectedMaterial._state,D=b.fillColor,P=b.fillAlpha;s.uniform4f(this._uColor,D[0],D[1],D[2],P)}else s.uniform4fv(this._uColor,pc);if(r.logarithmicDepthBufferEnabled){var R=2/(Math.log(e.pickZFar+1)/Math.LN2);s.uniform1f(this._uLogDepthBufFC,R)}var C=r._sectionPlanesState.getNumAllocatedSectionPlanes(),_=r._sectionPlanesState.sectionPlanes.length;if(C>0)for(var B=r._sectionPlanesState.sectionPlanes,O=t.layerIndex*_,S=a.renderFlags,N=0;N0&&(l.bindTriangleIndicesTextures(this._program,this._uTexturePerPolygonIdPortionIds,this._uTexturePerPolygonIdIndices,8),s.drawArrays(s.TRIANGLES,0,o.numIndices8Bits)),o.numIndices16Bits>0&&(l.bindTriangleIndicesTextures(this._program,this._uTexturePerPolygonIdPortionIds,this._uTexturePerPolygonIdIndices,16),s.drawArrays(s.TRIANGLES,0,o.numIndices16Bits)),o.numIndices32Bits>0&&(l.bindTriangleIndicesTextures(this._program,this._uTexturePerPolygonIdPortionIds,this._uTexturePerPolygonIdIndices,32),s.drawArrays(s.TRIANGLES,0,o.numIndices32Bits)),e.drawElements++}}},{key:"_allocate",value:function(){var e=this._scene,t=e.canvas.gl;if(this._program=new bt(t,this._buildShader()),this._program.errors)this.errors=this._program.errors;else{var n=this._program;this._uRenderPass=n.getLocation("renderPass"),this._uColor=n.getLocation("color"),this._uWorldMatrix=n.getLocation("sceneModelMatrix"),this._uViewMatrix=n.getLocation("viewMatrix"),this._uProjMatrix=n.getLocation("projMatrix"),this._uSectionPlanes=[];for(var r=0,i=e._sectionPlanesState.getNumAllocatedSectionPlanes();r0,n=[];return n.push("#version 300 es"),n.push("// Triangles dataTexture silhouette vertex shader"),n.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),n.push("precision highp float;"),n.push("precision highp int;"),n.push("precision highp usampler2D;"),n.push("precision highp isampler2D;"),n.push("precision highp sampler2D;"),n.push("#else"),n.push("precision mediump float;"),n.push("precision mediump int;"),n.push("precision mediump usampler2D;"),n.push("precision mediump isampler2D;"),n.push("precision mediump sampler2D;"),n.push("#endif"),n.push("uniform int renderPass;"),e.entityOffsetsEnabled&&n.push("in vec3 offset;"),n.push("uniform mat4 sceneModelMatrix;"),n.push("uniform mat4 viewMatrix;"),n.push("uniform mat4 projMatrix;"),n.push("uniform highp sampler2D uObjectPerObjectPositionsDecodeMatrix;"),n.push("uniform highp sampler2D uTexturePerObjectMatrix;"),n.push("uniform lowp usampler2D uObjectPerObjectColorsAndFlags;"),n.push("uniform mediump usampler2D uTexturePerVertexIdCoordinates;"),n.push("uniform highp usampler2D uTexturePerPolygonIdIndices;"),n.push("uniform mediump usampler2D uTexturePerPolygonIdPortionIds;"),n.push("uniform vec3 uCameraEyeRtc;"),n.push("vec3 positions[3];"),e.logarithmicDepthBufferEnabled&&(n.push("uniform float logDepthBufFC;"),n.push("out float vFragDepth;"),n.push("out float isPerspective;")),n.push("bool isPerspectiveMatrix(mat4 m) {"),n.push(" return (m[2][3] == - 1.0);"),n.push("}"),t&&(n.push("out vec4 vWorldPosition;"),n.push("flat out uint vFlags2;")),n.push("void main(void) {"),n.push("int polygonIndex = gl_VertexID / 3;"),n.push("int h_packed_object_id_index = (polygonIndex >> 3) & 4095;"),n.push("int v_packed_object_id_index = (polygonIndex >> 3) >> 12;"),n.push("int objectIndex = int(texelFetch(uTexturePerPolygonIdPortionIds, ivec2(h_packed_object_id_index, v_packed_object_id_index), 0).r);"),n.push("ivec2 objectIndexCoords = ivec2(objectIndex % 512, objectIndex / 512);"),n.push("uvec4 flags = texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+2, objectIndexCoords.y), 0);"),n.push("uvec4 flags2 = texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+3, objectIndexCoords.y), 0);"),n.push("if (int(flags.y) != renderPass) {"),n.push(" gl_Position = vec4(3.0, 3.0, 3.0, 1.0);"),n.push(" return;"),n.push("} else {"),n.push("ivec4 packedVertexBase = ivec4(texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+4, objectIndexCoords.y), 0));"),n.push("ivec4 packedIndexBaseOffset = ivec4(texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+5, objectIndexCoords.y), 0));"),n.push("int indexBaseOffset = (packedIndexBaseOffset.r << 24) + (packedIndexBaseOffset.g << 16) + (packedIndexBaseOffset.b << 8) + packedIndexBaseOffset.a;"),n.push("int h_index = (polygonIndex - indexBaseOffset) & 4095;"),n.push("int v_index = (polygonIndex - indexBaseOffset) >> 12;"),n.push("ivec3 vertexIndices = ivec3(texelFetch(uTexturePerPolygonIdIndices, ivec2(h_index, v_index), 0));"),n.push("ivec3 uniqueVertexIndexes = vertexIndices + (packedVertexBase.r << 24) + (packedVertexBase.g << 16) + (packedVertexBase.b << 8) + packedVertexBase.a;"),n.push("ivec3 indexPositionH = uniqueVertexIndexes & 4095;"),n.push("ivec3 indexPositionV = uniqueVertexIndexes >> 12;"),n.push("mat4 objectInstanceMatrix = mat4 (texelFetch (uTexturePerObjectMatrix, ivec2(objectIndexCoords.x*4+0, objectIndexCoords.y), 0), texelFetch (uTexturePerObjectMatrix, ivec2(objectIndexCoords.x*4+1, objectIndexCoords.y), 0), texelFetch (uTexturePerObjectMatrix, ivec2(objectIndexCoords.x*4+2, objectIndexCoords.y), 0), texelFetch (uTexturePerObjectMatrix, ivec2(objectIndexCoords.x*4+3, objectIndexCoords.y), 0));"),n.push("mat4 objectDecodeAndInstanceMatrix = objectInstanceMatrix * mat4 (texelFetch (uObjectPerObjectPositionsDecodeMatrix, ivec2(objectIndexCoords.x*4+0, objectIndexCoords.y), 0), texelFetch (uObjectPerObjectPositionsDecodeMatrix, ivec2(objectIndexCoords.x*4+1, objectIndexCoords.y), 0), texelFetch (uObjectPerObjectPositionsDecodeMatrix, ivec2(objectIndexCoords.x*4+2, objectIndexCoords.y), 0), texelFetch (uObjectPerObjectPositionsDecodeMatrix, ivec2(objectIndexCoords.x*4+3, objectIndexCoords.y), 0));"),n.push("uint solid = texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+7, objectIndexCoords.y), 0).r;"),n.push("positions[0] = vec3(texelFetch(uTexturePerVertexIdCoordinates, ivec2(indexPositionH.r, indexPositionV.r), 0));"),n.push("positions[1] = vec3(texelFetch(uTexturePerVertexIdCoordinates, ivec2(indexPositionH.g, indexPositionV.g), 0));"),n.push("positions[2] = vec3(texelFetch(uTexturePerVertexIdCoordinates, ivec2(indexPositionH.b, indexPositionV.b), 0));"),n.push("vec3 normal = normalize(cross(positions[2] - positions[0], positions[1] - positions[0]));"),n.push("vec3 position;"),n.push("position = positions[gl_VertexID % 3];"),n.push("vec3 viewNormal = -normalize((transpose(inverse(viewMatrix*objectDecodeAndInstanceMatrix)) * vec4(normal,1)).xyz);"),n.push("if (solid != 1u) {"),n.push("if (isPerspectiveMatrix(projMatrix)) {"),n.push("vec3 uCameraEyeRtcInQuantizedSpace = (inverse(sceneModelMatrix * objectDecodeAndInstanceMatrix) * vec4(uCameraEyeRtc, 1)).xyz;"),n.push("if (dot(position.xyz - uCameraEyeRtcInQuantizedSpace, normal) < 0.0) {"),n.push("position = positions[2 - (gl_VertexID % 3)];"),n.push("viewNormal = -viewNormal;"),n.push("}"),n.push("} else {"),n.push("if (viewNormal.z < 0.0) {"),n.push("position = positions[2 - (gl_VertexID % 3)];"),n.push("viewNormal = -viewNormal;"),n.push("}"),n.push("}"),n.push("}"),n.push("vec4 worldPosition = sceneModelMatrix * (objectDecodeAndInstanceMatrix * vec4(position, 1.0)); "),n.push("vec4 viewPosition = viewMatrix * worldPosition; "),n.push("vec4 clipPos = projMatrix * viewPosition;"),e.logarithmicDepthBufferEnabled&&(n.push("vFragDepth = 1.0 + clipPos.w;"),n.push("isPerspective = float (isPerspectiveMatrix(projMatrix));")),t&&(n.push("vWorldPosition = worldPosition;"),n.push("vFlags2 = flags2.r;")),n.push("gl_Position = clipPos;"),n.push("}"),n.push("}"),n}},{key:"_buildFragmentShader",value:function(){var e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,n=[];if(n.push("#version 300 es"),n.push("// Triangles dataTexture draw fragment shader"),n.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),n.push("precision highp float;"),n.push("precision highp int;"),n.push("#else"),n.push("precision mediump float;"),n.push("precision mediump int;"),n.push("#endif"),e.logarithmicDepthBufferEnabled&&(n.push("in float isPerspective;"),n.push("uniform float logDepthBufFC;"),n.push("in float vFragDepth;")),t){n.push("in vec4 vWorldPosition;"),n.push("flat in uint vFlags2;");for(var r=0,i=e._sectionPlanesState.getNumAllocatedSectionPlanes();r 0u;"),n.push(" if (clippable) {"),n.push(" float dist = 0.0;");for(var a=0,s=e._sectionPlanesState.getNumAllocatedSectionPlanes();a 0.0) { "),n.push(" discard;"),n.push(" }"),n.push("}")}return e.logarithmicDepthBufferEnabled&&n.push(" gl_FragDepth = isPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5;"),n.push(" outColor = color;"),n.push("}"),n}},{key:"webglContextRestored",value:function(){this._program=null}},{key:"destroy",value:function(){this._program&&this._program.destroy(),this._program=null}}]),e}(),yc=new Float32Array([0,0,0,1]),mc=$.vec3(),wc=$.vec3();$.vec3();var gc=$.mat4(),Ec=function(){function e(t){b(this,e),this._scene=t,this._hash=this._getHash(),this._allocate()}return P(e,[{key:"getValid",value:function(){return this._hash===this._getHash()}},{key:"_getHash",value:function(){return this._scene._sectionPlanesState.getHash()}},{key:"drawLayer",value:function(e,t,n){var r=t.model,i=r.scene,a=i.camera,s=i.canvas.gl,o=t._state,l=o.textureState,u=t._state.origin,c=r.position,f=r.rotationMatrix,p=r.rotationMatrixConjugate,A=a.viewMatrix;if(this._program||(this._allocate(t),!this.errors)){var d;e.lastProgramId!==this._program.id&&(e.lastProgramId=this._program.id,this._bindProgram()),l.bindCommonTextures(this._program,this.uTexturePerObjectPositionsDecodeMatrix,this._uTexturePerVertexIdCoordinates,this.uTexturePerObjectColorsAndFlags,this._uTexturePerObjectMatrix);var v=0!==u[0]||0!==u[1]||0!==u[2],h=0!==c[0]||0!==c[1]||0!==c[2];if(v||h){var I=mc;if(v){var y=$.transformPoint3(f,u,wc);I[0]=y[0],I[1]=y[1],I[2]=y[2]}else I[0]=0,I[1]=0,I[2]=0;I[0]+=c[0],I[1]+=c[1],I[2]+=c[2],d=Be(A,I,gc)}else d=A;if(s.uniform1i(this._uRenderPass,n),s.uniformMatrix4fv(this._uSceneModelMatrix,!1,p),s.uniformMatrix4fv(this._uViewMatrix,!1,d),s.uniformMatrix4fv(this._uProjMatrix,!1,a.projMatrix),n===Xs.EDGES_XRAYED){var m=i.xrayMaterial._state,w=m.edgeColor,g=m.edgeAlpha;s.uniform4f(this._uColor,w[0],w[1],w[2],g)}else if(n===Xs.EDGES_HIGHLIGHTED){var E=i.highlightMaterial._state,T=E.edgeColor,b=E.edgeAlpha;s.uniform4f(this._uColor,T[0],T[1],T[2],b)}else if(n===Xs.EDGES_SELECTED){var D=i.selectedMaterial._state,P=D.edgeColor,R=D.edgeAlpha;s.uniform4f(this._uColor,P[0],P[1],P[2],R)}else s.uniform4fv(this._uColor,yc);var C=i._sectionPlanesState.getNumAllocatedSectionPlanes(),_=i._sectionPlanesState.sectionPlanes.length;if(C>0)for(var B=i._sectionPlanesState.sectionPlanes,O=t.layerIndex*_,S=r.renderFlags,N=0;N0&&(l.bindEdgeIndicesTextures(this._program,this._uTexturePerEdgeIdPortionIds,this._uTexturePerPolygonIdEdgeIndices,8),s.drawArrays(s.LINES,0,o.numEdgeIndices8Bits)),o.numEdgeIndices16Bits>0&&(l.bindEdgeIndicesTextures(this._program,this._uTexturePerEdgeIdPortionIds,this._uTexturePerPolygonIdEdgeIndices,16),s.drawArrays(s.LINES,0,o.numEdgeIndices16Bits)),o.numEdgeIndices32Bits>0&&(l.bindEdgeIndicesTextures(this._program,this._uTexturePerEdgeIdPortionIds,this._uTexturePerPolygonIdEdgeIndices,32),s.drawArrays(s.LINES,0,o.numEdgeIndices32Bits)),e.drawElements++}}},{key:"_allocate",value:function(){var e=this._scene,t=e.canvas.gl;if(this._program=new bt(t,this._buildShader()),this._program.errors)this.errors=this._program.errors;else{var n=this._program;this._uRenderPass=n.getLocation("renderPass"),this._uColor=n.getLocation("color"),this._uSceneModelMatrix=n.getLocation("sceneModelMatrix"),this._uWorldMatrix=n.getLocation("worldMatrix"),this._uViewMatrix=n.getLocation("viewMatrix"),this._uProjMatrix=n.getLocation("projMatrix"),this._uSectionPlanes=[];for(var r=0,i=e._sectionPlanesState.getNumAllocatedSectionPlanes();r0,n=[];return n.push("#version 300 es"),n.push("// Batched geometry edges drawing vertex shader"),n.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),n.push("precision highp float;"),n.push("precision highp int;"),n.push("precision highp usampler2D;"),n.push("precision highp isampler2D;"),n.push("precision highp sampler2D;"),n.push("#else"),n.push("precision mediump float;"),n.push("precision mediump int;"),n.push("precision mediump usampler2D;"),n.push("precision mediump isampler2D;"),n.push("precision mediump sampler2D;"),n.push("#endif"),n.push("uniform int renderPass;"),n.push("uniform mat4 sceneModelMatrix;"),n.push("uniform mat4 viewMatrix;"),n.push("uniform mat4 projMatrix;"),n.push("uniform highp sampler2D uObjectPerObjectPositionsDecodeMatrix;"),n.push("uniform highp sampler2D uTexturePerObjectMatrix;"),n.push("uniform lowp usampler2D uObjectPerObjectColorsAndFlags;"),n.push("uniform mediump usampler2D uTexturePerVertexIdCoordinates;"),n.push("uniform highp usampler2D uTexturePerPolygonIdEdgeIndices;"),n.push("uniform mediump usampler2D uTexturePerEdgeIdPortionIds;"),n.push("uniform vec4 color;"),e.logarithmicDepthBufferEnabled&&(n.push("uniform float logDepthBufFC;"),n.push("out float vFragDepth;"),n.push("bool isPerspectiveMatrix(mat4 m) {"),n.push(" return (m[2][3] == - 1.0);"),n.push("}"),n.push("out float isPerspective;")),t&&(n.push("out vec4 vWorldPosition;"),n.push("flat out uint vFlags2;")),n.push("out vec4 vColor;"),n.push("void main(void) {"),n.push("int edgeIndex = gl_VertexID / 2;"),n.push("int h_packed_object_id_index = (edgeIndex >> 3) & 4095;"),n.push("int v_packed_object_id_index = (edgeIndex >> 3) >> 12;"),n.push("int objectIndex = int(texelFetch(uTexturePerEdgeIdPortionIds, ivec2(h_packed_object_id_index, v_packed_object_id_index), 0).r);"),n.push("ivec2 objectIndexCoords = ivec2(objectIndex % 512, objectIndex / 512);"),n.push("uvec4 flags = texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+2, objectIndexCoords.y), 0);"),n.push("uvec4 flags2 = texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+3, objectIndexCoords.y), 0);"),n.push("if (int(flags.z) != renderPass) {"),n.push(" gl_Position = vec4(3.0, 3.0, 3.0, 1.0);"),n.push(" return;"),n.push("} else {"),n.push("ivec4 packedVertexBase = ivec4(texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+4, objectIndexCoords.y), 0));"),n.push("ivec4 packedEdgeIndexBaseOffset = ivec4(texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+6, objectIndexCoords.y), 0));"),n.push("int edgeIndexBaseOffset = (packedEdgeIndexBaseOffset.r << 24) + (packedEdgeIndexBaseOffset.g << 16) + (packedEdgeIndexBaseOffset.b << 8) + packedEdgeIndexBaseOffset.a;"),n.push("int h_index = (edgeIndex - edgeIndexBaseOffset) & 4095;"),n.push("int v_index = (edgeIndex - edgeIndexBaseOffset) >> 12;"),n.push("ivec3 vertexIndices = ivec3(texelFetch(uTexturePerPolygonIdEdgeIndices, ivec2(h_index, v_index), 0));"),n.push("ivec3 uniqueVertexIndexes = vertexIndices + (packedVertexBase.r << 24) + (packedVertexBase.g << 16) + (packedVertexBase.b << 8) + packedVertexBase.a;"),n.push("int indexPositionH = uniqueVertexIndexes[gl_VertexID % 2] & 4095;"),n.push("int indexPositionV = uniqueVertexIndexes[gl_VertexID % 2] >> 12;"),n.push("mat4 objectInstanceMatrix = mat4 (texelFetch (uTexturePerObjectMatrix, ivec2(objectIndexCoords.x*4+0, objectIndexCoords.y), 0), texelFetch (uTexturePerObjectMatrix, ivec2(objectIndexCoords.x*4+1, objectIndexCoords.y), 0), texelFetch (uTexturePerObjectMatrix, ivec2(objectIndexCoords.x*4+2, objectIndexCoords.y), 0), texelFetch (uTexturePerObjectMatrix, ivec2(objectIndexCoords.x*4+3, objectIndexCoords.y), 0));"),n.push("mat4 objectDecodeAndInstanceMatrix = objectInstanceMatrix * mat4 (texelFetch (uObjectPerObjectPositionsDecodeMatrix, ivec2(objectIndexCoords.x*4+0, objectIndexCoords.y), 0), texelFetch (uObjectPerObjectPositionsDecodeMatrix, ivec2(objectIndexCoords.x*4+1, objectIndexCoords.y), 0), texelFetch (uObjectPerObjectPositionsDecodeMatrix, ivec2(objectIndexCoords.x*4+2, objectIndexCoords.y), 0), texelFetch (uObjectPerObjectPositionsDecodeMatrix, ivec2(objectIndexCoords.x*4+3, objectIndexCoords.y), 0));"),n.push("uvec4 flags = texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+2, objectIndexCoords.y), 0);"),n.push("uvec4 flags2 = texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+3, objectIndexCoords.y), 0);"),n.push("vec3 position = vec3(texelFetch(uTexturePerVertexIdCoordinates, ivec2(indexPositionH, indexPositionV), 0));"),n.push("mat4 matrix = mat4 (texelFetch (uTexturePerObjectMatrix, ivec2(objectIndexCoords.x*4+0, objectIndexCoords.y), 0), texelFetch (uTexturePerObjectMatrix, ivec2(objectIndexCoords.x*4+1, objectIndexCoords.y), 0), texelFetch (uTexturePerObjectMatrix, ivec2(objectIndexCoords.x*4+2, objectIndexCoords.y), 0), texelFetch (uTexturePerObjectMatrix, ivec2(objectIndexCoords.x*4+3, objectIndexCoords.y), 0));"),n.push("vec4 worldPosition = sceneModelMatrix * (objectDecodeAndInstanceMatrix * vec4(position, 1.0)); "),n.push("vec4 viewPosition = viewMatrix * worldPosition; "),t&&(n.push(" vWorldPosition = worldPosition;"),n.push(" vFlags2 = flags2.r;")),n.push("vec4 clipPos = projMatrix * viewPosition;"),e.logarithmicDepthBufferEnabled&&(n.push("vFragDepth = 1.0 + clipPos.w;"),n.push("isPerspective = float (isPerspectiveMatrix(projMatrix));")),n.push("gl_Position = clipPos;"),n.push("vColor = vec4(color.r, color.g, color.b, color.a);"),n.push("}"),n.push("}"),n}},{key:"_buildFragmentShader",value:function(){var e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,n=[];if(n.push("#version 300 es"),n.push("// Batched geometry edges drawing fragment shader"),e.logarithmicDepthBufferEnabled&&n.push("#extension GL_EXT_frag_depth : enable"),n.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),n.push("precision highp float;"),n.push("precision highp int;"),n.push("#else"),n.push("precision mediump float;"),n.push("precision mediump int;"),n.push("#endif"),e.logarithmicDepthBufferEnabled&&(n.push("in float isPerspective;"),n.push("uniform float logDepthBufFC;"),n.push("in float vFragDepth;")),t){n.push("in vec4 vWorldPosition;"),n.push("flat in uint vFlags2;");for(var r=0,i=e._sectionPlanesState.getNumAllocatedSectionPlanes();r 0u;"),n.push(" if (clippable) {"),n.push(" float dist = 0.0;");for(var a=0,s=e._sectionPlanesState.getNumAllocatedSectionPlanes();a 0.0) { discard; }"),n.push("}")}return e.logarithmicDepthBufferEnabled&&n.push(" gl_FragDepth = isPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5;"),n.push(" outColor = vColor;"),n.push("}"),n}},{key:"webglContextRestored",value:function(){this._program=null}},{key:"destroy",value:function(){this._program&&this._program.destroy(),this._program=null}}]),e}(),Tc=$.vec3(),bc=$.vec3();$.vec3();var Dc=$.mat4(),Pc=function(){function e(t){b(this,e),this._scene=t,this._hash=this._getHash(),this._allocate()}return P(e,[{key:"getValid",value:function(){return this._hash===this._getHash()}},{key:"_getHash",value:function(){return this._scene._sectionPlanesState.getHash()}},{key:"drawLayer",value:function(e,t,n){var r=t.model,i=r.scene,a=i.camera,s=i.canvas.gl,o=t._state,l=o.textureState,u=t._state.origin,c=r.position,f=r.rotationMatrix,p=r.rotationMatrixConjugate,A=a.viewMatrix;if(this._program||(this._allocate(),!this.errors)){var d;e.lastProgramId!==this._program.id&&(e.lastProgramId=this._program.id,this._bindProgram()),l.bindCommonTextures(this._program,this.uTexturePerObjectPositionsDecodeMatrix,this._uTexturePerVertexIdCoordinates,this.uTexturePerObjectColorsAndFlags,this._uTexturePerObjectMatrix);var v=0!==u[0]||0!==u[1]||0!==u[2],h=0!==c[0]||0!==c[1]||0!==c[2];if(v||h){var I=Tc;if(v){var y=$.transformPoint3(f,u,bc);I[0]=y[0],I[1]=y[1],I[2]=y[2]}else I[0]=0,I[1]=0,I[2]=0;I[0]+=c[0],I[1]+=c[1],I[2]+=c[2],d=Be(A,I,Dc)}else d=A;s.uniform1i(this._uRenderPass,n),s.uniformMatrix4fv(this._uSceneModelMatrix,!1,p),s.uniformMatrix4fv(this._uViewMatrix,!1,d),s.uniformMatrix4fv(this._uProjMatrix,!1,a.projMatrix);var m=i._sectionPlanesState.getNumAllocatedSectionPlanes(),w=i._sectionPlanesState.sectionPlanes.length;if(m>0)for(var g=i._sectionPlanesState.sectionPlanes,E=t.layerIndex*w,T=r.renderFlags,b=0;b0&&(l.bindEdgeIndicesTextures(this._program,this._uTexturePerEdgeIdPortionIds,this._uTexturePerPolygonIdEdgeIndices,8),s.drawArrays(s.LINES,0,o.numEdgeIndices8Bits)),o.numEdgeIndices16Bits>0&&(l.bindEdgeIndicesTextures(this._program,this._uTexturePerEdgeIdPortionIds,this._uTexturePerPolygonIdEdgeIndices,16),s.drawArrays(s.LINES,0,o.numEdgeIndices16Bits)),o.numEdgeIndices32Bits>0&&(l.bindEdgeIndicesTextures(this._program,this._uTexturePerEdgeIdPortionIds,this._uTexturePerPolygonIdEdgeIndices,32),s.drawArrays(s.LINES,0,o.numEdgeIndices32Bits)),e.drawElements++}}},{key:"_allocate",value:function(){var e=this._scene,t=e.canvas.gl;if(this._program=new bt(t,this._buildShader()),this._program.errors)this.errors=this._program.errors;else{var n=this._program;this._uRenderPass=n.getLocation("renderPass"),this._uSceneModelMatrix=n.getLocation("sceneModelMatrix"),this._uViewMatrix=n.getLocation("viewMatrix"),this._uProjMatrix=n.getLocation("projMatrix"),this._uSectionPlanes=[];for(var r=0,i=e._sectionPlanesState.getNumAllocatedSectionPlanes();r0,n=[];return n.push("#version 300 es"),n.push("// TrianglesDataTextureEdgesColorRenderer"),n.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),n.push("precision highp float;"),n.push("precision highp int;"),n.push("precision highp usampler2D;"),n.push("precision highp isampler2D;"),n.push("precision highp sampler2D;"),n.push("#else"),n.push("precision mediump float;"),n.push("precision mediump int;"),n.push("precision mediump usampler2D;"),n.push("precision mediump isampler2D;"),n.push("precision mediump sampler2D;"),n.push("#endif"),n.push("uniform int renderPass;"),e.entityOffsetsEnabled,n.push("uniform mat4 sceneModelMatrix;"),n.push("uniform mat4 viewMatrix;"),n.push("uniform mat4 projMatrix;"),n.push("uniform highp sampler2D uObjectPerObjectPositionsDecodeMatrix;"),n.push("uniform highp sampler2D uTexturePerObjectMatrix;"),n.push("uniform lowp usampler2D uObjectPerObjectColorsAndFlags;"),n.push("uniform highp sampler2D uObjectPerObjectOffsets;"),n.push("uniform mediump usampler2D uTexturePerVertexIdCoordinates;"),n.push("uniform highp usampler2D uTexturePerPolygonIdEdgeIndices;"),n.push("uniform mediump usampler2D uTexturePerEdgeIdPortionIds;"),e.logarithmicDepthBufferEnabled&&(n.push("uniform float logDepthBufFC;"),n.push("out float vFragDepth;"),n.push("bool isPerspectiveMatrix(mat4 m) {"),n.push(" return (m[2][3] == - 1.0);"),n.push("}"),n.push("out float isPerspective;")),t&&(n.push("out vec4 vWorldPosition;"),n.push("flat out uint vFlags2;")),n.push("out vec4 vColor;"),n.push("void main(void) {"),n.push("int edgeIndex = gl_VertexID / 2;"),n.push("int h_packed_object_id_index = (edgeIndex >> 3) & 4095;"),n.push("int v_packed_object_id_index = (edgeIndex >> 3) >> 12;"),n.push("int objectIndex = int(texelFetch(uTexturePerEdgeIdPortionIds, ivec2(h_packed_object_id_index, v_packed_object_id_index), 0).r);"),n.push("ivec2 objectIndexCoords = ivec2(objectIndex % 512, objectIndex / 512);"),n.push("uvec4 flags = texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+2, objectIndexCoords.y), 0);"),n.push("uvec4 flags2 = texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+3, objectIndexCoords.y), 0);"),n.push("if (int(flags.z) != renderPass) {"),n.push(" gl_Position = vec4(3.0, 3.0, 3.0, 1.0);"),n.push(" return;"),n.push("} else {"),n.push("ivec4 packedVertexBase = ivec4(texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+4, objectIndexCoords.y), 0));"),n.push("ivec4 packedEdgeIndexBaseOffset = ivec4(texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+6, objectIndexCoords.y), 0));"),n.push("int edgeIndexBaseOffset = (packedEdgeIndexBaseOffset.r << 24) + (packedEdgeIndexBaseOffset.g << 16) + (packedEdgeIndexBaseOffset.b << 8) + packedEdgeIndexBaseOffset.a;"),n.push("int h_index = (edgeIndex - edgeIndexBaseOffset) & 4095;"),n.push("int v_index = (edgeIndex - edgeIndexBaseOffset) >> 12;"),n.push("ivec3 vertexIndices = ivec3(texelFetch(uTexturePerPolygonIdEdgeIndices, ivec2(h_index, v_index), 0));"),n.push("ivec3 uniqueVertexIndexes = vertexIndices + (packedVertexBase.r << 24) + (packedVertexBase.g << 16) + (packedVertexBase.b << 8) + packedVertexBase.a;"),n.push("int indexPositionH = uniqueVertexIndexes[gl_VertexID % 2] & 4095;"),n.push("int indexPositionV = uniqueVertexIndexes[gl_VertexID % 2] >> 12;"),n.push("mat4 objectInstanceMatrix = mat4 (texelFetch (uTexturePerObjectMatrix, ivec2(objectIndexCoords.x*4+0, objectIndexCoords.y), 0), texelFetch (uTexturePerObjectMatrix, ivec2(objectIndexCoords.x*4+1, objectIndexCoords.y), 0), texelFetch (uTexturePerObjectMatrix, ivec2(objectIndexCoords.x*4+2, objectIndexCoords.y), 0), texelFetch (uTexturePerObjectMatrix, ivec2(objectIndexCoords.x*4+3, objectIndexCoords.y), 0));"),n.push("mat4 objectDecodeAndInstanceMatrix = objectInstanceMatrix * mat4 (texelFetch (uObjectPerObjectPositionsDecodeMatrix, ivec2(objectIndexCoords.x*4+0, objectIndexCoords.y), 0), texelFetch (uObjectPerObjectPositionsDecodeMatrix, ivec2(objectIndexCoords.x*4+1, objectIndexCoords.y), 0), texelFetch (uObjectPerObjectPositionsDecodeMatrix, ivec2(objectIndexCoords.x*4+2, objectIndexCoords.y), 0), texelFetch (uObjectPerObjectPositionsDecodeMatrix, ivec2(objectIndexCoords.x*4+3, objectIndexCoords.y), 0));"),n.push("uvec4 flags = texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+2, objectIndexCoords.y), 0);"),n.push("uvec4 flags2 = texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+3, objectIndexCoords.y), 0);"),n.push("vec3 position = vec3(texelFetch(uTexturePerVertexIdCoordinates, ivec2(indexPositionH, indexPositionV), 0));"),n.push("uvec4 color = texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+0, objectIndexCoords.y), 0);"),n.push("if (color.a == 0u) {"),n.push(" gl_Position = vec4(3.0, 3.0, 3.0, 1.0);"),n.push(" return;"),n.push("};"),n.push("vec4 worldPosition = sceneModelMatrix * (objectDecodeAndInstanceMatrix * vec4(position, 1.0)); "),n.push("vec4 viewPosition = viewMatrix * worldPosition; "),t&&(n.push(" vWorldPosition = worldPosition;"),n.push(" vFlags2 = flags2.r;")),n.push("vec4 clipPos = projMatrix * viewPosition;"),e.logarithmicDepthBufferEnabled&&(n.push("vFragDepth = 1.0 + clipPos.w;"),n.push("isPerspective = float (isPerspectiveMatrix(projMatrix));")),n.push("gl_Position = clipPos;"),n.push("vec4 rgb = vec4(color.rgba);"),n.push("vColor = vec4(float(rgb.r*0.5) / 255.0, float(rgb.g*0.5) / 255.0, float(rgb.b*0.5) / 255.0, float(rgb.a) / 255.0);"),n.push("}"),n.push("}"),n}},{key:"_buildFragmentShader",value:function(){var e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,n=[];if(n.push("#version 300 es"),n.push("// TrianglesDataTextureEdgesColorRenderer"),n.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),n.push("precision highp float;"),n.push("precision highp int;"),n.push("#else"),n.push("precision mediump float;"),n.push("precision mediump int;"),n.push("#endif"),e.logarithmicDepthBufferEnabled&&(n.push("in float isPerspective;"),n.push("uniform float logDepthBufFC;"),n.push("in float vFragDepth;")),t){n.push("in vec4 vWorldPosition;"),n.push("flat in uint vFlags2;");for(var r=0,i=e._sectionPlanesState.getNumAllocatedSectionPlanes();r 0u;"),n.push(" if (clippable) {"),n.push(" float dist = 0.0;");for(var a=0,s=e._sectionPlanesState.getNumAllocatedSectionPlanes();a 0.0) { discard; }"),n.push("}")}return e.logarithmicDepthBufferEnabled&&n.push(" gl_FragDepth = isPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5;"),n.push(" outColor = vColor;"),n.push("}"),n}},{key:"webglContextRestored",value:function(){this._program=null}},{key:"destroy",value:function(){this._program&&this._program.destroy(),this._program=null}}]),e}(),Rc=$.vec3(),Cc=$.vec3(),_c=$.vec3(),Bc=$.mat4(),Oc=function(){function e(t){b(this,e),this._scene=t,this._hash=this._getHash(),this._allocate()}return P(e,[{key:"getValid",value:function(){return this._hash===this._getHash()}},{key:"_getHash",value:function(){return this._scene._sectionPlanesState.getHash()}},{key:"drawLayer",value:function(e,t,n){if(this._program||(this._allocate(t),!this.errors)){e.lastProgramId!==this._program.id&&(e.lastProgramId=this._program.id,this._bindProgram(e));var r,i,a=t.model,s=a.scene,o=s.camera,l=s.canvas.gl,u=t._state,c=u.textureState,f=t._state.origin,p=a.position,A=a.rotationMatrix,d=a.rotationMatrixConjugate;c.bindCommonTextures(this._program,this.uTexturePerObjectPositionsDecodeMatrix,this._uTexturePerVertexIdCoordinates,this.uTexturePerObjectColorsAndFlags,this._uTexturePerObjectMatrix);var v=0!==f[0]||0!==f[1]||0!==f[2],h=0!==p[0]||0!==p[1]||0!==p[2];if(v||h){var I=Rc;if(v){var y=$.transformPoint3(A,f,Cc);I[0]=y[0],I[1]=y[1],I[2]=y[2]}else I[0]=0,I[1]=0,I[2]=0;I[0]+=p[0],I[1]+=p[1],I[2]+=p[2],r=Be(o.viewMatrix,I,Bc),(i=_c)[0]=o.eye[0]-I[0],i[1]=o.eye[1]-I[1],i[2]=o.eye[2]-I[2]}else r=o.viewMatrix,i=o.eye;if(l.uniform2fv(this._uPickClipPos,e.pickClipPos),l.uniform2f(this._uDrawingBufferSize,l.drawingBufferWidth,l.drawingBufferHeight),l.uniformMatrix4fv(this._uSceneModelMatrix,!1,d),l.uniformMatrix4fv(this._uViewMatrix,!1,r),l.uniformMatrix4fv(this._uProjMatrix,!1,o.projMatrix),l.uniform3fv(this._uCameraEyeRtc,i),l.uniform1i(this._uRenderPass,n),s.logarithmicDepthBufferEnabled){var m=2/(Math.log(o.project.far+1)/Math.LN2);l.uniform1f(this._uLogDepthBufFC,m)}var w=s._sectionPlanesState.getNumAllocatedSectionPlanes(),g=s._sectionPlanesState.sectionPlanes.length;if(w>0)for(var E=s._sectionPlanesState.sectionPlanes,T=t.layerIndex*g,b=a.renderFlags,D=0;D0&&(c.bindTriangleIndicesTextures(this._program,this._uTexturePerPolygonIdPortionIds,this._uTexturePerPolygonIdIndices,8),l.drawArrays(l.TRIANGLES,0,u.numIndices8Bits)),u.numIndices16Bits>0&&(c.bindTriangleIndicesTextures(this._program,this._uTexturePerPolygonIdPortionIds,this._uTexturePerPolygonIdIndices,16),l.drawArrays(l.TRIANGLES,0,u.numIndices16Bits)),u.numIndices32Bits>0&&(c.bindTriangleIndicesTextures(this._program,this._uTexturePerPolygonIdPortionIds,this._uTexturePerPolygonIdIndices,32),l.drawArrays(l.TRIANGLES,0,u.numIndices32Bits)),e.drawElements++}}},{key:"_allocate",value:function(){var e=this._scene,t=e.canvas.gl;if(this._program=new bt(t,this._buildShader()),this._program.errors)this.errors=this._program.errors;else{var n=this._program;this._uRenderPass=n.getLocation("renderPass"),this._uPickInvisible=n.getLocation("pickInvisible"),this._uPickClipPos=n.getLocation("pickClipPos"),this._uDrawingBufferSize=n.getLocation("drawingBufferSize"),this._uSceneModelMatrix=n.getLocation("sceneModelMatrix"),this._uViewMatrix=n.getLocation("viewMatrix"),this._uProjMatrix=n.getLocation("projMatrix"),this._uSectionPlanes=[];for(var r=0,i=e._sectionPlanesState.getNumAllocatedSectionPlanes();r0,n=[];return n.push("#version 300 es"),n.push("// Batched geometry picking vertex shader"),n.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),n.push("precision highp float;"),n.push("precision highp int;"),n.push("precision highp usampler2D;"),n.push("precision highp isampler2D;"),n.push("precision highp sampler2D;"),n.push("#else"),n.push("precision mediump float;"),n.push("precision mediump int;"),n.push("precision mediump usampler2D;"),n.push("precision mediump isampler2D;"),n.push("precision mediump sampler2D;"),n.push("#endif"),n.push("uniform int renderPass;"),e.entityOffsetsEnabled&&n.push("in vec3 offset;"),n.push("uniform mat4 sceneModelMatrix;"),n.push("uniform mat4 viewMatrix;"),n.push("uniform mat4 projMatrix;"),n.push("uniform bool pickInvisible;"),n.push("uniform highp sampler2D uObjectPerObjectPositionsDecodeMatrix;"),n.push("uniform highp sampler2D uTexturePerObjectMatrix;"),n.push("uniform lowp usampler2D uObjectPerObjectColorsAndFlags;"),n.push("uniform mediump usampler2D uTexturePerVertexIdCoordinates;"),n.push("uniform highp usampler2D uTexturePerPolygonIdIndices;"),n.push("uniform mediump usampler2D uTexturePerPolygonIdPortionIds;"),n.push("uniform vec3 uCameraEyeRtc;"),n.push("vec3 positions[3];"),e.logarithmicDepthBufferEnabled&&(n.push("uniform float logDepthBufFC;"),n.push("out float vFragDepth;"),n.push("out float isPerspective;")),n.push("uniform vec2 pickClipPos;"),n.push("uniform vec2 drawingBufferSize;"),n.push("vec4 remapClipPos(vec4 clipPos) {"),n.push(" clipPos.xy /= clipPos.w;"),n.push(" clipPos.xy = (clipPos.xy - pickClipPos) * drawingBufferSize;"),n.push(" clipPos.xy *= clipPos.w;"),n.push(" return clipPos;"),n.push("}"),n.push("bool isPerspectiveMatrix(mat4 m) {"),n.push(" return (m[2][3] == - 1.0);"),n.push("}"),t&&(n.push("smooth out vec4 vWorldPosition;"),n.push("flat out uvec4 vFlags2;")),n.push("out vec4 vPickColor;"),n.push("void main(void) {"),n.push("int polygonIndex = gl_VertexID / 3;"),n.push("int h_packed_object_id_index = (polygonIndex >> 3) & 4095;"),n.push("int v_packed_object_id_index = (polygonIndex >> 3) >> 12;"),n.push("int objectIndex = int(texelFetch(uTexturePerPolygonIdPortionIds, ivec2(h_packed_object_id_index, v_packed_object_id_index), 0).r);"),n.push("ivec2 objectIndexCoords = ivec2(objectIndex % 512, objectIndex / 512);"),n.push("uvec4 flags = texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+2, objectIndexCoords.y), 0);"),n.push("uvec4 flags2 = texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+3, objectIndexCoords.y), 0);"),n.push("if (int(flags.w) != renderPass) {"),n.push(" gl_Position = vec4(3.0, 3.0, 3.0, 1.0);"),n.push(" return;"),n.push("} else {"),n.push("ivec4 packedVertexBase = ivec4(texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+4, objectIndexCoords.y), 0));"),n.push("ivec4 packedIndexBaseOffset = ivec4(texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+5, objectIndexCoords.y), 0));"),n.push("int indexBaseOffset = (packedIndexBaseOffset.r << 24) + (packedIndexBaseOffset.g << 16) + (packedIndexBaseOffset.b << 8) + packedIndexBaseOffset.a;"),n.push("int h_index = (polygonIndex - indexBaseOffset) & 4095;"),n.push("int v_index = (polygonIndex - indexBaseOffset) >> 12;"),n.push("ivec3 vertexIndices = ivec3(texelFetch(uTexturePerPolygonIdIndices, ivec2(h_index, v_index), 0));"),n.push("ivec3 uniqueVertexIndexes = vertexIndices + (packedVertexBase.r << 24) + (packedVertexBase.g << 16) + (packedVertexBase.b << 8) + packedVertexBase.a;"),n.push("ivec3 indexPositionH = uniqueVertexIndexes & 4095;"),n.push("ivec3 indexPositionV = uniqueVertexIndexes >> 12;"),n.push("mat4 objectInstanceMatrix = mat4 (texelFetch (uTexturePerObjectMatrix, ivec2(objectIndexCoords.x*4+0, objectIndexCoords.y), 0), texelFetch (uTexturePerObjectMatrix, ivec2(objectIndexCoords.x*4+1, objectIndexCoords.y), 0), texelFetch (uTexturePerObjectMatrix, ivec2(objectIndexCoords.x*4+2, objectIndexCoords.y), 0), texelFetch (uTexturePerObjectMatrix, ivec2(objectIndexCoords.x*4+3, objectIndexCoords.y), 0));"),n.push("mat4 objectDecodeAndInstanceMatrix = objectInstanceMatrix * mat4 (texelFetch (uObjectPerObjectPositionsDecodeMatrix, ivec2(objectIndexCoords.x*4+0, objectIndexCoords.y), 0), texelFetch (uObjectPerObjectPositionsDecodeMatrix, ivec2(objectIndexCoords.x*4+1, objectIndexCoords.y), 0), texelFetch (uObjectPerObjectPositionsDecodeMatrix, ivec2(objectIndexCoords.x*4+2, objectIndexCoords.y), 0), texelFetch (uObjectPerObjectPositionsDecodeMatrix, ivec2(objectIndexCoords.x*4+3, objectIndexCoords.y), 0));"),n.push("uint solid = texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+7, objectIndexCoords.y), 0).r;"),n.push("positions[0] = vec3(texelFetch(uTexturePerVertexIdCoordinates, ivec2(indexPositionH.r, indexPositionV.r), 0));"),n.push("positions[1] = vec3(texelFetch(uTexturePerVertexIdCoordinates, ivec2(indexPositionH.g, indexPositionV.g), 0));"),n.push("positions[2] = vec3(texelFetch(uTexturePerVertexIdCoordinates, ivec2(indexPositionH.b, indexPositionV.b), 0));"),n.push("uvec4 color = texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+0, objectIndexCoords.y), 0);"),n.push("if (color.a == 0u) {"),n.push(" gl_Position = vec4(3.0, 3.0, 3.0, 1.0);"),n.push(" return;"),n.push("};"),n.push("vPickColor = vec4(texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+1, objectIndexCoords.y), 0)) / 255.0;"),n.push("vec3 normal = normalize(cross(positions[2] - positions[0], positions[1] - positions[0]));"),n.push("vec3 position;"),n.push("position = positions[gl_VertexID % 3];"),n.push("if (solid != 1u) {"),n.push("if (isPerspectiveMatrix(projMatrix)) {"),n.push("vec3 uCameraEyeRtcInQuantizedSpace = (inverse(sceneModelMatrix * objectDecodeAndInstanceMatrix) * vec4(uCameraEyeRtc, 1)).xyz;"),n.push("if (dot(position.xyz - uCameraEyeRtcInQuantizedSpace, normal) < 0.0) {"),n.push("position = positions[2 - (gl_VertexID % 3)];"),n.push("}"),n.push("} else {"),n.push("vec3 viewNormal = -normalize((transpose(inverse(viewMatrix*objectDecodeAndInstanceMatrix)) * vec4(normal,1)).xyz);"),n.push("if (viewNormal.z < 0.0) {"),n.push("position = positions[2 - (gl_VertexID % 3)];"),n.push("}"),n.push("}"),n.push("}"),n.push("vec4 worldPosition = sceneModelMatrix * (objectDecodeAndInstanceMatrix * vec4(position, 1.0)); "),n.push("vec4 viewPosition = viewMatrix * worldPosition; "),t&&(n.push(" vWorldPosition = worldPosition;"),n.push(" vFlags2 = flags2;")),n.push("vec4 clipPos = projMatrix * viewPosition;"),e.logarithmicDepthBufferEnabled&&(n.push("vFragDepth = 1.0 + clipPos.w;"),n.push("isPerspective = float (isPerspectiveMatrix(projMatrix));")),n.push("gl_Position = remapClipPos(clipPos);"),n.push(" }"),n.push("}"),n}},{key:"_buildFragmentShader",value:function(){var e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,n=[];if(n.push("#version 300 es"),n.push("// Batched geometry picking fragment shader"),n.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),n.push("precision highp float;"),n.push("precision highp int;"),n.push("#else"),n.push("precision mediump float;"),n.push("precision mediump int;"),n.push("#endif"),e.logarithmicDepthBufferEnabled&&(n.push("in float isPerspective;"),n.push("uniform float logDepthBufFC;"),n.push("in float vFragDepth;")),t){n.push("in vec4 vWorldPosition;"),n.push("flat in uvec4 vFlags2;");for(var r=0;r 0.0);"),n.push(" if (clippable) {"),n.push(" float dist = 0.0;");for(r=0;r 0.0) { discard; }"),n.push(" }")}return e.logarithmicDepthBufferEnabled&&n.push(" gl_FragDepth = isPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5;"),n.push(" outPickColor = vPickColor; "),n.push("}"),n}},{key:"webglContextRestored",value:function(){this._program=null}},{key:"destroy",value:function(){this._program&&this._program.destroy(),this._program=null}}]),e}(),Sc=$.vec3(),Nc=$.vec3(),Lc=$.vec3();$.vec3();var Mc=$.mat4(),xc=function(){function e(t){b(this,e),this._scene=t,this._hash=this._getHash(),this._allocate()}return P(e,[{key:"getValid",value:function(){return this._hash===this._getHash()}},{key:"_getHash",value:function(){return this._scene._sectionPlanesState.getHash()}},{key:"drawLayer",value:function(e,t,n){var r,i,a=t.model,s=a.scene,o=s.camera,l=s.canvas.gl,u=t._state,c=u.textureState,f=t._state.origin,p=a.position,A=a.rotationMatrix,d=a.rotationMatrixConjugate,v=e.pickViewMatrix||o.viewMatrix;if(this._program||this._allocate(),e.lastProgramId!==this._program.id&&(e.lastProgramId=this._program.id,this._bindProgram()),c.bindCommonTextures(this._program,this.uTexturePerObjectPositionsDecodeMatrix,this._uTexturePerVertexIdCoordinates,this.uTexturePerObjectColorsAndFlags,this._uTexturePerObjectMatrix),f||0!==p[0]||0!==p[1]||0!==p[2]){var h=Sc;if(f){var I=Nc;$.transformPoint3(A,f,I),h[0]=I[0],h[1]=I[1],h[2]=I[2]}else h[0]=0,h[1]=0,h[2]=0;h[0]+=p[0],h[1]+=p[1],h[2]+=p[2],r=Be(v,h,Mc),(i=Lc)[0]=o.eye[0]-h[0],i[1]=o.eye[1]-h[1],i[2]=o.eye[2]-h[2],e.snapPickOrigin[0]=h[0],e.snapPickOrigin[1]=h[1],e.snapPickOrigin[2]=h[2]}else r=v,i=o.eye,e.snapPickOrigin[0]=0,e.snapPickOrigin[1]=0,e.snapPickOrigin[2]=0;if(l.uniform3fv(this._uCameraEyeRtc,i),l.uniform1i(this._uRenderPass,n),l.uniform1i(this._uPickInvisible,e.pickInvisible),l.uniform2fv(this._uPickClipPos,e.pickClipPos),l.uniform2f(this._uDrawingBufferSize,l.drawingBufferWidth,l.drawingBufferHeight),l.uniform1f(this._uPickZNear,e.pickZNear),l.uniform1f(this._uPickZFar,e.pickZFar),l.uniformMatrix4fv(this._uSceneModelMatrix,!1,d),l.uniformMatrix4fv(this._uViewMatrix,!1,r),l.uniformMatrix4fv(this._uProjMatrix,!1,o.projMatrix),s.logarithmicDepthBufferEnabled){var y=2/(Math.log(e.pickZFar+1)/Math.LN2);l.uniform1f(this._uLogDepthBufFC,y)}var m=s._sectionPlanesState.getNumAllocatedSectionPlanes(),w=s._sectionPlanesState.sectionPlanes.length;if(m>0)for(var g=s._sectionPlanesState.sectionPlanes,E=t.layerIndex*w,T=a.renderFlags,b=0;b0&&(c.bindTriangleIndicesTextures(this._program,this._uTexturePerPolygonIdPortionIds,this._uTexturePerPolygonIdIndices,8),l.drawArrays(l.TRIANGLES,0,u.numIndices8Bits)),u.numIndices16Bits>0&&(c.bindTriangleIndicesTextures(this._program,this._uTexturePerPolygonIdPortionIds,this._uTexturePerPolygonIdIndices,16),l.drawArrays(l.TRIANGLES,0,u.numIndices16Bits)),u.numIndices32Bits>0&&(c.bindTriangleIndicesTextures(this._program,this._uTexturePerPolygonIdPortionIds,this._uTexturePerPolygonIdIndices,32),l.drawArrays(l.TRIANGLES,0,u.numIndices32Bits)),e.drawElements++}},{key:"_allocate",value:function(){var e=this._scene,t=e.canvas.gl;if(this._program=new bt(t,this._buildShader()),this._program.errors)this.errors=this._program.errors;else{var n=this._program;this._uRenderPass=n.getLocation("renderPass"),this._uPickInvisible=n.getLocation("pickInvisible"),this._uPickClipPos=n.getLocation("pickClipPos"),this._uDrawingBufferSize=n.getLocation("drawingBufferSize"),this._uSceneModelMatrix=n.getLocation("sceneModelMatrix"),this._uViewMatrix=n.getLocation("viewMatrix"),this._uProjMatrix=n.getLocation("projMatrix"),this._uSectionPlanes=[];for(var r=0,i=e._sectionPlanesState.getNumAllocatedSectionPlanes();r0,n=[];return n.push("#version 300 es"),n.push("// Triangles dataTexture pick depth vertex shader"),n.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),n.push("precision highp float;"),n.push("precision highp int;"),n.push("precision highp usampler2D;"),n.push("precision highp isampler2D;"),n.push("precision highp sampler2D;"),n.push("#else"),n.push("precision mediump float;"),n.push("precision mediump int;"),n.push("precision mediump usampler2D;"),n.push("precision mediump isampler2D;"),n.push("precision mediump sampler2D;"),n.push("#endif"),n.push("uniform int renderPass;"),e.entityOffsetsEnabled&&n.push("in vec3 offset;"),n.push("uniform mat4 sceneModelMatrix;"),n.push("uniform mat4 viewMatrix;"),n.push("uniform mat4 projMatrix;"),n.push("uniform bool pickInvisible;"),n.push("uniform highp sampler2D uObjectPerObjectPositionsDecodeMatrix;"),n.push("uniform highp sampler2D uTexturePerObjectMatrix;"),n.push("uniform lowp usampler2D uObjectPerObjectColorsAndFlags;"),n.push("uniform mediump usampler2D uTexturePerVertexIdCoordinates;"),n.push("uniform highp usampler2D uTexturePerPolygonIdIndices;"),n.push("uniform mediump usampler2D uTexturePerPolygonIdPortionIds;"),n.push("uniform vec3 uCameraEyeRtc;"),n.push("vec3 positions[3];"),e.logarithmicDepthBufferEnabled&&(n.push("uniform float logDepthBufFC;"),n.push("out float vFragDepth;"),n.push("out float isPerspective;")),n.push("uniform vec2 pickClipPos;"),n.push("uniform vec2 drawingBufferSize;"),n.push("vec4 remapClipPos(vec4 clipPos) {"),n.push(" clipPos.xy /= clipPos.w;"),n.push(" clipPos.xy = (clipPos.xy - pickClipPos) * drawingBufferSize;"),n.push(" clipPos.xy *= clipPos.w;"),n.push(" return clipPos;"),n.push("}"),n.push("bool isPerspectiveMatrix(mat4 m) {"),n.push(" return (m[2][3] == - 1.0);"),n.push("}"),t&&(n.push("out vec4 vWorldPosition;"),n.push("flat out uint vFlags2;")),n.push("out vec4 vViewPosition;"),n.push("void main(void) {"),n.push("int polygonIndex = gl_VertexID / 3;"),n.push("int h_packed_object_id_index = (polygonIndex >> 3) & 4095;"),n.push("int v_packed_object_id_index = (polygonIndex >> 3) >> 12;"),n.push("int objectIndex = int(texelFetch(uTexturePerPolygonIdPortionIds, ivec2(h_packed_object_id_index, v_packed_object_id_index), 0).r);"),n.push("ivec2 objectIndexCoords = ivec2(objectIndex % 512, objectIndex / 512);"),n.push("uvec4 flags = texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+2, objectIndexCoords.y), 0);"),n.push("uvec4 flags2 = texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+3, objectIndexCoords.y), 0);"),n.push("if (int(flags.w) != renderPass) {"),n.push(" gl_Position = vec4(3.0, 3.0, 3.0, 1.0);"),n.push(" return;"),n.push("} else {"),n.push("ivec4 packedVertexBase = ivec4(texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+4, objectIndexCoords.y), 0));"),n.push("ivec4 packedIndexBaseOffset = ivec4(texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+5, objectIndexCoords.y), 0));"),n.push("int indexBaseOffset = (packedIndexBaseOffset.r << 24) + (packedIndexBaseOffset.g << 16) + (packedIndexBaseOffset.b << 8) + packedIndexBaseOffset.a;"),n.push("int h_index = (polygonIndex - indexBaseOffset) & 4095;"),n.push("int v_index = (polygonIndex - indexBaseOffset) >> 12;"),n.push("ivec3 vertexIndices = ivec3(texelFetch(uTexturePerPolygonIdIndices, ivec2(h_index, v_index), 0));"),n.push("ivec3 uniqueVertexIndexes = vertexIndices + (packedVertexBase.r << 24) + (packedVertexBase.g << 16) + (packedVertexBase.b << 8) + packedVertexBase.a;"),n.push("ivec3 indexPositionH = uniqueVertexIndexes & 4095;"),n.push("ivec3 indexPositionV = uniqueVertexIndexes >> 12;"),n.push("mat4 objectInstanceMatrix = mat4 (texelFetch (uTexturePerObjectMatrix, ivec2(objectIndexCoords.x*4+0, objectIndexCoords.y), 0), texelFetch (uTexturePerObjectMatrix, ivec2(objectIndexCoords.x*4+1, objectIndexCoords.y), 0), texelFetch (uTexturePerObjectMatrix, ivec2(objectIndexCoords.x*4+2, objectIndexCoords.y), 0), texelFetch (uTexturePerObjectMatrix, ivec2(objectIndexCoords.x*4+3, objectIndexCoords.y), 0));"),n.push("mat4 objectDecodeAndInstanceMatrix = objectInstanceMatrix * mat4 (texelFetch (uObjectPerObjectPositionsDecodeMatrix, ivec2(objectIndexCoords.x*4+0, objectIndexCoords.y), 0), texelFetch (uObjectPerObjectPositionsDecodeMatrix, ivec2(objectIndexCoords.x*4+1, objectIndexCoords.y), 0), texelFetch (uObjectPerObjectPositionsDecodeMatrix, ivec2(objectIndexCoords.x*4+2, objectIndexCoords.y), 0), texelFetch (uObjectPerObjectPositionsDecodeMatrix, ivec2(objectIndexCoords.x*4+3, objectIndexCoords.y), 0));"),n.push("uint solid = texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+7, objectIndexCoords.y), 0).r;"),n.push("positions[0] = vec3(texelFetch(uTexturePerVertexIdCoordinates, ivec2(indexPositionH.r, indexPositionV.r), 0));"),n.push("positions[1] = vec3(texelFetch(uTexturePerVertexIdCoordinates, ivec2(indexPositionH.g, indexPositionV.g), 0));"),n.push("positions[2] = vec3(texelFetch(uTexturePerVertexIdCoordinates, ivec2(indexPositionH.b, indexPositionV.b), 0));"),n.push("uvec4 color = texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+0, objectIndexCoords.y), 0);"),n.push("if (color.a == 0u) {"),n.push(" gl_Position = vec4(3.0, 3.0, 3.0, 1.0);"),n.push(" return;"),n.push("};"),n.push("vec3 normal = normalize(cross(positions[2] - positions[0], positions[1] - positions[0]));"),n.push("vec3 position;"),n.push("position = positions[gl_VertexID % 3];"),n.push("if (solid != 1u) {"),n.push("if (isPerspectiveMatrix(projMatrix)) {"),n.push("vec3 uCameraEyeRtcInQuantizedSpace = (inverse(sceneModelMatrix * objectDecodeAndInstanceMatrix) * vec4(uCameraEyeRtc, 1)).xyz;"),n.push("if (dot(position.xyz - uCameraEyeRtcInQuantizedSpace, normal) < 0.0) {"),n.push("position = positions[2 - (gl_VertexID % 3)];"),n.push("}"),n.push("} else {"),n.push("vec3 viewNormal = -normalize((transpose(inverse(viewMatrix*objectDecodeAndInstanceMatrix)) * vec4(normal,1)).xyz);"),n.push("if (viewNormal.z < 0.0) {"),n.push("position = positions[2 - (gl_VertexID % 3)];"),n.push("}"),n.push("}"),n.push("}"),n.push("vec4 worldPosition = sceneModelMatrix * (objectDecodeAndInstanceMatrix * vec4(position, 1.0)); "),n.push("vec4 viewPosition = viewMatrix * worldPosition; "),t&&(n.push(" vWorldPosition = worldPosition;"),n.push(" vFlags2 = flags2.r;")),n.push("vViewPosition = viewPosition;"),n.push("vec4 clipPos = projMatrix * viewPosition;"),e.logarithmicDepthBufferEnabled&&(n.push("vFragDepth = 1.0 + clipPos.w;"),n.push("isPerspective = float (isPerspectiveMatrix(projMatrix));")),n.push("gl_Position = remapClipPos(clipPos);"),n.push(" }"),n.push("}"),n}},{key:"_buildFragmentShader",value:function(){var e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,n=[];if(n.push("#version 300 es"),n.push("// Triangles dataTexture pick depth fragment shader"),n.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),n.push("precision highp float;"),n.push("precision highp int;"),n.push("#else"),n.push("precision mediump float;"),n.push("precision mediump int;"),n.push("#endif"),e.logarithmicDepthBufferEnabled&&(n.push("in float isPerspective;"),n.push("uniform float logDepthBufFC;"),n.push("in float vFragDepth;")),n.push("uniform float pickZNear;"),n.push("uniform float pickZFar;"),t){n.push("in vec4 vWorldPosition;"),n.push("flat in uint vFlags2;");for(var r=0;r 0u;"),n.push(" if (clippable) {"),n.push(" float dist = 0.0;");for(r=0;r 0.0) { discard; }"),n.push(" }")}return e.logarithmicDepthBufferEnabled&&n.push(" gl_FragDepth = isPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5;"),n.push(" float zNormalizedDepth = abs((pickZNear + vViewPosition.z) / (pickZFar - pickZNear));"),n.push(" outPackedDepth = packDepth(zNormalizedDepth); "),n.push("}"),n}},{key:"webglContextRestored",value:function(){this._program=null}},{key:"destroy",value:function(){this._program&&this._program.destroy(),this._program=null}}]),e}(),Fc=$.vec3(),Hc=$.vec3(),Uc=$.vec3(),Gc=$.vec3();$.vec3();var kc=$.mat4(),jc=function(){function e(t){b(this,e),this._scene=t,this._hash=this._getHash(),this._allocate()}return P(e,[{key:"getValid",value:function(){return this._hash===this._getHash()}},{key:"_getHash",value:function(){return this._scene._sectionPlanesState.getHash()}},{key:"drawLayer",value:function(e,t,n){if(this._program||(this._allocate(),!this.errors)){e.lastProgramId!==this._program.id&&(e.lastProgramId=this._program.id,this._bindProgram());var r,i,a=t.model,s=a.scene,o=s.camera,l=s.canvas.gl,u=t._state,c=u.textureState,f=t._state.origin,p=a.position,A=a.rotationMatrix,d=a.rotationMatrixConjugate,v=a.aabb,h=e.pickViewMatrix||o.viewMatrix,I=Fc;I[0]=$.safeInv(v[3]-v[0])*$.MAX_INT,I[1]=$.safeInv(v[4]-v[1])*$.MAX_INT,I[2]=$.safeInv(v[5]-v[2])*$.MAX_INT,e.snapPickCoordinateScale[0]=$.safeInv(I[0]),e.snapPickCoordinateScale[1]=$.safeInv(I[1]),e.snapPickCoordinateScale[2]=$.safeInv(I[2]),c.bindCommonTextures(this._program,this.uTexturePerObjectPositionsDecodeMatrix,this._uTexturePerVertexIdCoordinates,this.uTexturePerObjectColorsAndFlags,this._uTexturePerObjectMatrix);var y=0!==f[0]||0!==f[1]||0!==f[2],m=0!==p[0]||0!==p[1]||0!==p[2];if(y||m){var w=Hc;if(y){var g=$.transformPoint3(A,f,Uc);w[0]=g[0],w[1]=g[1],w[2]=g[2]}else w[0]=0,w[1]=0,w[2]=0;w[0]+=p[0],w[1]+=p[1],w[2]+=p[2],r=Be(h,w,kc),(i=Gc)[0]=o.eye[0]-w[0],i[1]=o.eye[1]-w[1],i[2]=o.eye[2]-w[2],e.snapPickOrigin[0]=w[0],e.snapPickOrigin[1]=w[1],e.snapPickOrigin[2]=w[2]}else r=h,i=o.eye,e.snapPickOrigin[0]=0,e.snapPickOrigin[1]=0,e.snapPickOrigin[2]=0;l.uniform3fv(this._uCameraEyeRtc,i),l.uniform2fv(this.uVectorA,e.snapVectorA),l.uniform2fv(this.uInverseVectorAB,e.snapInvVectorAB),l.uniform1i(this._uLayerNumber,e.snapPickLayerNumber),l.uniform3fv(this._uCoordinateScaler,I),l.uniform1i(this._uRenderPass,n),l.uniform1i(this._uPickInvisible,e.pickInvisible),l.uniformMatrix4fv(this._uSceneModelMatrix,!1,d),l.uniformMatrix4fv(this._uViewMatrix,!1,r),l.uniformMatrix4fv(this._uProjMatrix,!1,o.projMatrix);var E=2/(Math.log(e.pickZFar+1)/Math.LN2);l.uniform1f(this._uLogDepthBufFC,E);var T=s._sectionPlanesState.getNumAllocatedSectionPlanes(),b=s._sectionPlanesState.sectionPlanes.length;if(T>0)for(var D=s._sectionPlanesState.sectionPlanes,P=t.layerIndex*b,R=a.renderFlags,C=0;C0&&(c.bindEdgeIndicesTextures(this._program,this._uTexturePerEdgeIdPortionIds,this._uTexturePerPolygonIdEdgeIndices,8),l.drawArrays(N,0,u.numEdgeIndices8Bits)),u.numEdgeIndices16Bits>0&&(c.bindEdgeIndicesTextures(this._program,this._uTexturePerEdgeIdPortionIds,this._uTexturePerPolygonIdEdgeIndices,16),l.drawArrays(N,0,u.numEdgeIndices16Bits)),u.numEdgeIndices32Bits>0&&(c.bindEdgeIndicesTextures(this._program,this._uTexturePerEdgeIdPortionIds,this._uTexturePerPolygonIdEdgeIndices,32),l.drawArrays(N,0,u.numEdgeIndices32Bits)),e.drawElements++}}},{key:"_allocate",value:function(){var e=this._scene,t=e.canvas.gl;if(this._program=new bt(t,this._buildShader()),this._program.errors)this.errors=this._program.errors;else{var n=this._program;this._uRenderPass=n.getLocation("renderPass"),this._uPickInvisible=n.getLocation("pickInvisible"),this._uSceneModelMatrix=n.getLocation("sceneModelMatrix"),this._uViewMatrix=n.getLocation("viewMatrix"),this._uProjMatrix=n.getLocation("projMatrix"),this._uSectionPlanes=[];for(var r=0,i=e._sectionPlanesState.getNumAllocatedSectionPlanes();r0,n=[];return n.push("#version 300 es"),n.push("// Batched geometry edges drawing vertex shader"),n.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),n.push("precision highp float;"),n.push("precision highp int;"),n.push("precision highp usampler2D;"),n.push("precision highp isampler2D;"),n.push("precision highp sampler2D;"),n.push("#else"),n.push("precision mediump float;"),n.push("precision mediump int;"),n.push("precision mediump usampler2D;"),n.push("precision mediump isampler2D;"),n.push("precision mediump sampler2D;"),n.push("#endif"),n.push("uniform int renderPass;"),e.entityOffsetsEnabled&&n.push("in vec3 offset;"),n.push("uniform mat4 sceneModelMatrix;"),n.push("uniform mat4 viewMatrix;"),n.push("uniform mat4 projMatrix;"),n.push("uniform highp sampler2D uObjectPerObjectPositionsDecodeMatrix;"),n.push("uniform lowp usampler2D uObjectPerObjectColorsAndFlags;"),n.push("uniform highp sampler2D uTexturePerObjectMatrix;"),n.push("uniform mediump usampler2D uTexturePerVertexIdCoordinates;"),n.push("uniform highp usampler2D uTexturePerPolygonIdEdgeIndices;"),n.push("uniform mediump usampler2D uTexturePerEdgeIdPortionIds;"),n.push("uniform vec3 uCameraEyeRtc;"),n.push("uniform vec2 uSnapVectorA;"),n.push("uniform vec2 uSnapInvVectorAB;"),n.push("vec3 positions[3];"),n.push("uniform float logDepthBufFC;"),n.push("out float vFragDepth;"),n.push("bool isPerspectiveMatrix(mat4 m) {"),n.push(" return (m[2][3] == - 1.0);"),n.push("}"),n.push("out float isPerspective;"),n.push("vec2 remapClipPos(vec2 clipPos) {"),n.push(" float x = (clipPos.x - uSnapVectorA.x) * uSnapInvVectorAB.x;"),n.push(" float y = (clipPos.y - uSnapVectorA.y) * uSnapInvVectorAB.y;"),n.push(" return vec2(x, y);"),n.push("}"),t&&(n.push("out vec4 vWorldPosition;"),n.push("flat out uint vFlags2;")),n.push("out vec4 vViewPosition;"),n.push("out highp vec3 relativeToOriginPosition;"),n.push("void main(void) {"),n.push("int edgeIndex = gl_VertexID / 2;"),n.push("int h_packed_object_id_index = (edgeIndex >> 3) & 4095;"),n.push("int v_packed_object_id_index = (edgeIndex >> 3) >> 12;"),n.push("int objectIndex = int(texelFetch(uTexturePerEdgeIdPortionIds, ivec2(h_packed_object_id_index, v_packed_object_id_index), 0).r);"),n.push("ivec2 objectIndexCoords = ivec2(objectIndex % 512, objectIndex / 512);"),n.push("uvec4 flags = texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+2, objectIndexCoords.y), 0);"),n.push("uvec4 flags2 = texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+3, objectIndexCoords.y), 0);"),n.push("{"),n.push("ivec4 packedVertexBase = ivec4(texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+4, objectIndexCoords.y), 0));"),n.push("ivec4 packedEdgeIndexBaseOffset = ivec4(texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+6, objectIndexCoords.y), 0));"),n.push("int edgeIndexBaseOffset = (packedEdgeIndexBaseOffset.r << 24) + (packedEdgeIndexBaseOffset.g << 16) + (packedEdgeIndexBaseOffset.b << 8) + packedEdgeIndexBaseOffset.a;"),n.push("int h_index = (edgeIndex - edgeIndexBaseOffset) & 4095;"),n.push("int v_index = (edgeIndex - edgeIndexBaseOffset) >> 12;"),n.push("ivec3 vertexIndices = ivec3(texelFetch(uTexturePerPolygonIdEdgeIndices, ivec2(h_index, v_index), 0));"),n.push("ivec3 uniqueVertexIndexes = vertexIndices + (packedVertexBase.r << 24) + (packedVertexBase.g << 16) + (packedVertexBase.b << 8) + packedVertexBase.a;"),n.push("int indexPositionH = uniqueVertexIndexes[gl_VertexID % 2] & 4095;"),n.push("int indexPositionV = uniqueVertexIndexes[gl_VertexID % 2] >> 12;"),n.push("mat4 objectInstanceMatrix = mat4 (texelFetch (uTexturePerObjectMatrix, ivec2(objectIndexCoords.x*4+0, objectIndexCoords.y), 0), texelFetch (uTexturePerObjectMatrix, ivec2(objectIndexCoords.x*4+1, objectIndexCoords.y), 0), texelFetch (uTexturePerObjectMatrix, ivec2(objectIndexCoords.x*4+2, objectIndexCoords.y), 0), texelFetch (uTexturePerObjectMatrix, ivec2(objectIndexCoords.x*4+3, objectIndexCoords.y), 0));"),n.push("mat4 objectDecodeAndInstanceMatrix = objectInstanceMatrix * mat4 (texelFetch (uObjectPerObjectPositionsDecodeMatrix, ivec2(objectIndexCoords.x*4+0, objectIndexCoords.y), 0), texelFetch (uObjectPerObjectPositionsDecodeMatrix, ivec2(objectIndexCoords.x*4+1, objectIndexCoords.y), 0), texelFetch (uObjectPerObjectPositionsDecodeMatrix, ivec2(objectIndexCoords.x*4+2, objectIndexCoords.y), 0), texelFetch (uObjectPerObjectPositionsDecodeMatrix, ivec2(objectIndexCoords.x*4+3, objectIndexCoords.y), 0));"),n.push("uvec4 flags = texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+2, objectIndexCoords.y), 0);"),n.push("uvec4 flags2 = texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+3, objectIndexCoords.y), 0);"),n.push("vec3 position = vec3(texelFetch(uTexturePerVertexIdCoordinates, ivec2(indexPositionH, indexPositionV), 0));"),n.push("vec4 worldPosition = sceneModelMatrix * (objectDecodeAndInstanceMatrix * vec4(position, 1.0)); "),n.push("relativeToOriginPosition = worldPosition.xyz;"),n.push(" vec4 viewPosition = viewMatrix * worldPosition; "),t&&(n.push(" vWorldPosition = worldPosition;"),n.push(" vFlags2 = flags2.r;")),n.push("vViewPosition = viewPosition;"),n.push("vec4 clipPos = projMatrix * viewPosition;"),n.push("float tmp = clipPos.w;"),n.push("clipPos.xyzw /= tmp;"),n.push("clipPos.xy = remapClipPos(clipPos.xy);"),n.push("clipPos.xyzw *= tmp;"),n.push("vViewPosition = clipPos;"),n.push("vFragDepth = 1.0 + clipPos.w;"),n.push("isPerspective = float (isPerspectiveMatrix(projMatrix));"),n.push("gl_Position = clipPos;"),n.push("gl_PointSize = 1.0;"),n.push(" }"),n.push("}"),n}},{key:"_buildFragmentShader",value:function(){var e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,n=[];if(n.push("#version 300 es"),n.push("// Triangles dataTexture pick depth fragment shader"),n.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),n.push("precision highp float;"),n.push("precision highp int;"),n.push("#else"),n.push("precision mediump float;"),n.push("precision mediump int;"),n.push("#endif"),n.push("in float isPerspective;"),n.push("uniform float logDepthBufFC;"),n.push("in float vFragDepth;"),n.push("uniform int uLayerNumber;"),n.push("uniform vec3 uCoordinateScaler;"),t){n.push("in vec4 vWorldPosition;"),n.push("flat in uint vFlags2;");for(var r=0,i=e._sectionPlanesState.getNumAllocatedSectionPlanes();r 0u;"),n.push(" if (clippable) {"),n.push(" float dist = 0.0;");for(var a=0;a 0.0) { discard; }"),n.push(" }")}return n.push(" gl_FragDepth = isPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5;"),n.push("outCoords = ivec4(relativeToOriginPosition.xyz * uCoordinateScaler.xyz, uLayerNumber);"),n.push("}"),n}},{key:"webglContextRestored",value:function(){this._program=null}},{key:"destroy",value:function(){this._program&&this._program.destroy(),this._program=null}}]),e}(),Vc=$.vec3(),Qc=$.vec3(),Wc=$.vec3(),zc=$.vec3();$.vec3();var Kc=$.mat4(),Yc=function(){function e(t){b(this,e),this._scene=t,this._hash=this._getHash(),this._allocate()}return P(e,[{key:"getValid",value:function(){return this._hash===this._getHash()}},{key:"_getHash",value:function(){return this._scene._sectionPlanesState.getHash()}},{key:"drawLayer",value:function(e,t,n){this._program||this._allocate(),e.lastProgramId!==this._program.id&&(e.lastProgramId=this._program.id,this._bindProgram());var r,i,a=t.model,s=a.scene,o=s.camera,l=s.canvas.gl,u=t._state,c=u.textureState,f=t._state.origin,p=a.position,A=a.rotationMatrix,d=a.rotationMatrixConjugate,v=a.aabb,h=e.pickViewMatrix||o.viewMatrix,I=Vc;I[0]=$.safeInv(v[3]-v[0])*$.MAX_INT,I[1]=$.safeInv(v[4]-v[1])*$.MAX_INT,I[2]=$.safeInv(v[5]-v[2])*$.MAX_INT,e.snapPickCoordinateScale[0]=$.safeInv(I[0]),e.snapPickCoordinateScale[1]=$.safeInv(I[1]),e.snapPickCoordinateScale[2]=$.safeInv(I[2]),c.bindCommonTextures(this._program,this.uTexturePerObjectPositionsDecodeMatrix,this._uTexturePerVertexIdCoordinates,this.uTexturePerObjectColorsAndFlags,this._uTexturePerObjectMatrix);var y=0!==f[0]||0!==f[1]||0!==f[2],m=0!==p[0]||0!==p[1]||0!==p[2];if(y||m){var w=Qc;if(y){var g=Wc;$.transformPoint3(A,f,g),w[0]=g[0],w[1]=g[1],w[2]=g[2]}else w[0]=0,w[1]=0,w[2]=0;w[0]+=p[0],w[1]+=p[1],w[2]+=p[2],r=Be(h,w,Kc),(i=zc)[0]=o.eye[0]-w[0],i[1]=o.eye[1]-w[1],i[2]=o.eye[2]-w[2],e.snapPickOrigin[0]=w[0],e.snapPickOrigin[1]=w[1],e.snapPickOrigin[2]=w[2]}else r=h,i=o.eye,e.snapPickOrigin[0]=0,e.snapPickOrigin[1]=0,e.snapPickOrigin[2]=0;l.uniform3fv(this._uCameraEyeRtc,i),l.uniform2fv(this._uVectorA,e.snapVectorA),l.uniform2fv(this._uInverseVectorAB,e.snapInvVectorAB),l.uniform1i(this._uLayerNumber,e.snapPickLayerNumber),l.uniform3fv(this._uCoordinateScaler,I),l.uniform1i(this._uRenderPass,n),l.uniform1i(this._uPickInvisible,e.pickInvisible),l.uniformMatrix4fv(this._uSceneWorldModelMatrix,!1,d),l.uniformMatrix4fv(this._uViewMatrix,!1,r),l.uniformMatrix4fv(this._uProjMatrix,!1,o.projMatrix);var E=2/(Math.log(e.pickZFar+1)/Math.LN2);l.uniform1f(this._uLogDepthBufFC,E);var T=s._sectionPlanesState.getNumAllocatedSectionPlanes(),b=s._sectionPlanesState.sectionPlanes.length;if(T>0)for(var D=s._sectionPlanesState.sectionPlanes,P=t.layerIndex*b,R=a.renderFlags,C=0;C0&&(c.bindTriangleIndicesTextures(this._program,this._uTexturePerPolygonIdPortionIds,this._uTexturePerPolygonIdIndices,8),l.drawArrays(l.TRIANGLES,0,u.numIndices8Bits)),u.numIndices16Bits>0&&(c.bindTriangleIndicesTextures(this._program,this._uTexturePerPolygonIdPortionIds,this._uTexturePerPolygonIdIndices,16),l.drawArrays(l.TRIANGLES,0,u.numIndices16Bits)),u.numIndices32Bits>0&&(c.bindTriangleIndicesTextures(this._program,this._uTexturePerPolygonIdPortionIds,this._uTexturePerPolygonIdIndices,32),l.drawArrays(l.TRIANGLES,0,u.numIndices32Bits)),e.drawElements++}},{key:"_allocate",value:function(){var e=this._scene,t=e.canvas.gl;if(this._program=new bt(t,this._buildShader()),this._program.errors)this.errors=this._program.errors;else{var n=this._program;this._uRenderPass=n.getLocation("renderPass"),this._uPickInvisible=n.getLocation("pickInvisible"),this._uSceneWorldModelMatrix=n.getLocation("sceneModelMatrix"),this._uViewMatrix=n.getLocation("viewMatrix"),this._uProjMatrix=n.getLocation("projMatrix"),this._uSectionPlanes=[];for(var r=0,i=e._sectionPlanesState.getNumAllocatedSectionPlanes();r0,n=[];return n.push("#version 300 es"),n.push("// TrianglesDataTextureSnapDepthBufInitRenderer vertex shader"),n.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),n.push("precision highp float;"),n.push("precision highp int;"),n.push("precision highp usampler2D;"),n.push("precision highp isampler2D;"),n.push("precision highp sampler2D;"),n.push("#else"),n.push("precision mediump float;"),n.push("precision mediump int;"),n.push("precision mediump usampler2D;"),n.push("precision mediump isampler2D;"),n.push("precision mediump sampler2D;"),n.push("#endif"),n.push("uniform int renderPass;"),e.entityOffsetsEnabled&&n.push("in vec3 offset;"),n.push("uniform mat4 sceneModelMatrix;"),n.push("uniform mat4 viewMatrix;"),n.push("uniform mat4 projMatrix;"),n.push("uniform highp sampler2D uObjectPerObjectPositionsDecodeMatrix;"),n.push("uniform highp sampler2D uTexturePerObjectMatrix;"),n.push("uniform lowp usampler2D uObjectPerObjectColorsAndFlags;"),n.push("uniform mediump usampler2D uTexturePerVertexIdCoordinates;"),n.push("uniform highp usampler2D uTexturePerPolygonIdIndices;"),n.push("uniform mediump usampler2D uTexturePerPolygonIdPortionIds;"),n.push("uniform vec3 uCameraEyeRtc;"),n.push("uniform vec2 uVectorAB;"),n.push("uniform vec2 uInverseVectorAB;"),n.push("vec3 positions[3];"),n.push("uniform float logDepthBufFC;"),n.push("out float vFragDepth;"),n.push("out float isPerspective;"),n.push("bool isPerspectiveMatrix(mat4 m) {"),n.push(" return (m[2][3] == - 1.0);"),n.push("}"),n.push("vec2 remapClipPos(vec2 clipPos) {"),n.push(" float x = (clipPos.x - uVectorAB.x) * uInverseVectorAB.x;"),n.push(" float y = (clipPos.y - uVectorAB.y) * uInverseVectorAB.y;"),n.push(" return vec2(x, y);"),n.push("}"),n.push("flat out vec4 vPickColor;"),n.push("out vec4 vWorldPosition;"),t&&n.push("flat out uint vFlags2;"),n.push("out highp vec3 relativeToOriginPosition;"),n.push("void main(void) {"),n.push("int polygonIndex = gl_VertexID / 3;"),n.push("int h_packed_object_id_index = (polygonIndex >> 3) & 4095;"),n.push("int v_packed_object_id_index = (polygonIndex >> 3) >> 12;"),n.push("int objectIndex = int(texelFetch(uTexturePerPolygonIdPortionIds, ivec2(h_packed_object_id_index, v_packed_object_id_index), 0).r);"),n.push("ivec2 objectIndexCoords = ivec2(objectIndex % 512, objectIndex / 512);"),n.push("uvec4 flags = texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+2, objectIndexCoords.y), 0);"),n.push("uvec4 flags2 = texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+3, objectIndexCoords.y), 0);"),n.push("{"),n.push("uvec4 color = texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+0, objectIndexCoords.y), 0);"),n.push("if (color.a == 0u) {"),n.push(" gl_Position = vec4(3.0, 3.0, 3.0, 1.0);"),n.push(" return;"),n.push("};"),n.push("ivec4 packedVertexBase = ivec4(texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+4, objectIndexCoords.y), 0));"),n.push("ivec4 packedIndexBaseOffset = ivec4(texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+5, objectIndexCoords.y), 0));"),n.push("int indexBaseOffset = (packedIndexBaseOffset.r << 24) + (packedIndexBaseOffset.g << 16) + (packedIndexBaseOffset.b << 8) + packedIndexBaseOffset.a;"),n.push("int h_index = (polygonIndex - indexBaseOffset) & 4095;"),n.push("int v_index = (polygonIndex - indexBaseOffset) >> 12;"),n.push("ivec3 vertexIndices = ivec3(texelFetch(uTexturePerPolygonIdIndices, ivec2(h_index, v_index), 0));"),n.push("ivec3 uniqueVertexIndexes = vertexIndices + (packedVertexBase.r << 24) + (packedVertexBase.g << 16) + (packedVertexBase.b << 8) + packedVertexBase.a;"),n.push("ivec3 indexPositionH = uniqueVertexIndexes & 4095;"),n.push("ivec3 indexPositionV = uniqueVertexIndexes >> 12;"),n.push("mat4 objectInstanceMatrix = mat4 (texelFetch (uTexturePerObjectMatrix, ivec2(objectIndexCoords.x*4+0, objectIndexCoords.y), 0), texelFetch (uTexturePerObjectMatrix, ivec2(objectIndexCoords.x*4+1, objectIndexCoords.y), 0), texelFetch (uTexturePerObjectMatrix, ivec2(objectIndexCoords.x*4+2, objectIndexCoords.y), 0), texelFetch (uTexturePerObjectMatrix, ivec2(objectIndexCoords.x*4+3, objectIndexCoords.y), 0));"),n.push("mat4 objectDecodeAndInstanceMatrix = objectInstanceMatrix * mat4 (texelFetch (uObjectPerObjectPositionsDecodeMatrix, ivec2(objectIndexCoords.x*4+0, objectIndexCoords.y), 0), texelFetch (uObjectPerObjectPositionsDecodeMatrix, ivec2(objectIndexCoords.x*4+1, objectIndexCoords.y), 0), texelFetch (uObjectPerObjectPositionsDecodeMatrix, ivec2(objectIndexCoords.x*4+2, objectIndexCoords.y), 0), texelFetch (uObjectPerObjectPositionsDecodeMatrix, ivec2(objectIndexCoords.x*4+3, objectIndexCoords.y), 0));"),n.push("uint solid = texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+7, objectIndexCoords.y), 0).r;"),n.push("positions[0] = vec3(texelFetch(uTexturePerVertexIdCoordinates, ivec2(indexPositionH.r, indexPositionV.r), 0));"),n.push("positions[1] = vec3(texelFetch(uTexturePerVertexIdCoordinates, ivec2(indexPositionH.g, indexPositionV.g), 0));"),n.push("positions[2] = vec3(texelFetch(uTexturePerVertexIdCoordinates, ivec2(indexPositionH.b, indexPositionV.b), 0));"),n.push("vec3 normal = normalize(cross(positions[2] - positions[0], positions[1] - positions[0]));"),n.push("vec3 position;"),n.push("position = positions[gl_VertexID % 3];"),n.push("vec3 viewNormal = -normalize((transpose(inverse(viewMatrix*objectDecodeAndInstanceMatrix)) * vec4(normal,1)).xyz);"),n.push("if (solid != 1u) {"),n.push(" if (isPerspectiveMatrix(projMatrix)) {"),n.push(" vec3 uCameraEyeRtcInQuantizedSpace = (inverse(sceneModelMatrix * objectDecodeAndInstanceMatrix) * vec4(uCameraEyeRtc, 1)).xyz;"),n.push(" if (dot(position.xyz - uCameraEyeRtcInQuantizedSpace, normal) < 0.0) {"),n.push(" position = positions[2 - (gl_VertexID % 3)];"),n.push(" viewNormal = -viewNormal;"),n.push(" }"),n.push(" } else {"),n.push(" if (viewNormal.z < 0.0) {"),n.push(" position = positions[2 - (gl_VertexID % 3)];"),n.push(" viewNormal = -viewNormal;"),n.push(" }"),n.push(" }"),n.push("}"),n.push("vec4 worldPosition = sceneModelMatrix * (objectDecodeAndInstanceMatrix * vec4(position, 1.0)); "),n.push("relativeToOriginPosition = worldPosition.xyz;"),n.push("vec4 viewPosition = viewMatrix * worldPosition; "),n.push("vWorldPosition = worldPosition;"),t&&n.push("vFlags2 = flags2.r;"),n.push("vPickColor = vec4(texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+1, objectIndexCoords.y), 0));"),n.push("vec4 clipPos = projMatrix * viewPosition;"),n.push("float tmp = clipPos.w;"),n.push("clipPos.xyzw /= tmp;"),n.push("clipPos.xy = remapClipPos(clipPos.xy);"),n.push("clipPos.xyzw *= tmp;"),n.push("vFragDepth = 1.0 + clipPos.w;"),n.push("isPerspective = float (isPerspectiveMatrix(projMatrix));"),n.push("gl_Position = clipPos;"),n.push(" }"),n.push("}"),n}},{key:"_buildFragmentShader",value:function(){var e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,n=[];if(n.push("#version 300 es"),n.push("// TrianglesDataTextureSnapDepthBufInitRenderer fragment shader"),n.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),n.push("precision highp float;"),n.push("precision highp int;"),n.push("#else"),n.push("precision mediump float;"),n.push("precision mediump int;"),n.push("#endif"),n.push("in float isPerspective;"),n.push("uniform float logDepthBufFC;"),n.push("in float vFragDepth;"),n.push("uniform int uLayerNumber;"),n.push("uniform vec3 uCoordinateScaler;"),n.push("in vec4 vWorldPosition;"),n.push("flat in vec4 vPickColor;"),t){n.push("flat in uint vFlags2;");for(var r=0,i=e._sectionPlanesState.getNumAllocatedSectionPlanes();r 0u;"),n.push(" if (clippable) {"),n.push(" float dist = 0.0;");for(var a=0;a 0.0) { discard; }"),n.push(" }")}return n.push(" float dx = dFdx(vFragDepth);"),n.push(" float dy = dFdy(vFragDepth);"),n.push(" float diff = sqrt(dx*dx+dy*dy);"),n.push(" gl_FragDepth = isPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth + diff ) * logDepthBufFC * 0.5;"),n.push("outCoords = ivec4(relativeToOriginPosition.xyz * uCoordinateScaler.xyz, - uLayerNumber);"),n.push("vec3 xTangent = dFdx( vWorldPosition.xyz );"),n.push("vec3 yTangent = dFdy( vWorldPosition.xyz );"),n.push("vec3 worldNormal = normalize( cross( xTangent, yTangent ) );"),n.push("outNormal = ivec4(worldNormal * float(".concat($.MAX_INT,"), 1.0);")),n.push("outPickColor = uvec4(vPickColor);"),n.push("}"),n}},{key:"webglContextRestored",value:function(){this._program=null}},{key:"destroy",value:function(){this._program&&this._program.destroy(),this._program=null}}]),e}(),Xc=$.vec3(),qc=$.vec3(),Jc=$.vec3();$.vec3();var Zc=$.mat4(),$c=function(){function e(t){b(this,e),this._scene=t,this._hash=this._getHash(),this._allocate()}return P(e,[{key:"getValid",value:function(){return this._hash===this._getHash()}},{key:"_getHash",value:function(){return this._scene._sectionPlanesState.getHash()}},{key:"drawLayer",value:function(e,t,n){var r=t.model,i=r.scene,a=i.camera,s=i.canvas.gl,o=t._state,l=o.textureState,u=t._state.origin,c=r.position,f=r.rotationMatrix,p=r.rotationMatrixConjugate,A=e.pickViewMatrix||a.viewMatrix;if(this._program||(this._allocate(t),!this.errors)){var d,v;if(e.lastProgramId!==this._program.id&&(e.lastProgramId=this._program.id,this._bindProgram()),l.bindCommonTextures(this._program,this.uTexturePerObjectPositionsDecodeMatrix,this._uTexturePerVertexIdCoordinates,this.uTexturePerObjectColorsAndFlags,this._uTexturePerObjectMatrix),u||0!==c[0]||0!==c[1]||0!==c[2]){var h=Xc;if(u){var I=qc;$.transformPoint3(f,u,I),h[0]=I[0],h[1]=I[1],h[2]=I[2]}else h[0]=0,h[1]=0,h[2]=0;h[0]+=c[0],h[1]+=c[1],h[2]+=c[2],d=Be(A,h,Zc),(v=Jc)[0]=a.eye[0]-h[0],v[1]=a.eye[1]-h[1],v[2]=a.eye[2]-h[2]}else d=A,v=a.eye;s.uniform3fv(this._uCameraEyeRtc,v),s.uniform1i(this._uRenderPass,n),s.uniformMatrix4fv(this._uWorldMatrix,!1,p),s.uniformMatrix4fv(this._uViewMatrix,!1,d),s.uniformMatrix4fv(this._uProjMatrix,!1,a.projMatrix);var y=i._sectionPlanesState.getNumAllocatedSectionPlanes(),m=i._sectionPlanesState.sectionPlanes.length;if(y>0)for(var w=i._sectionPlanesState.sectionPlanes,g=t.layerIndex*m,E=r.renderFlags,T=0;T0&&(l.bindTriangleIndicesTextures(this._program,this._uTexturePerPolygonIdPortionIds,this._uTexturePerPolygonIdIndices,8),s.drawArrays(s.TRIANGLES,0,o.numIndices8Bits)),o.numIndices16Bits>0&&(l.bindTriangleIndicesTextures(this._program,this._uTexturePerPolygonIdPortionIds,this._uTexturePerPolygonIdIndices,16),s.drawArrays(s.TRIANGLES,0,o.numIndices16Bits)),o.numIndices32Bits>0&&(l.bindTriangleIndicesTextures(this._program,this._uTexturePerPolygonIdPortionIds,this._uTexturePerPolygonIdIndices,32),s.drawArrays(s.TRIANGLES,0,o.numIndices32Bits)),e.drawElements++}}},{key:"_allocate",value:function(){var e=this._scene,t=e.canvas.gl;if(this._program=new bt(t,this._buildShader()),this._program.errors)this.errors=this._program.errors;else{var n=this._program;this._uRenderPass=n.getLocation("renderPass"),this._uPickInvisible=n.getLocation("pickInvisible"),this._uWorldMatrix=n.getLocation("sceneModelMatrix"),this._uViewMatrix=n.getLocation("viewMatrix"),this._uProjMatrix=n.getLocation("projMatrix"),this._uSectionPlanes=[];for(var r=0,i=e._sectionPlanesState.getNumAllocatedSectionPlanes();r0,n=[];return n.push("#version 300 es"),n.push("// TrianglesDataTextureOcclusionRenderer vertex shader"),n.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),n.push("precision highp float;"),n.push("precision highp int;"),n.push("precision highp usampler2D;"),n.push("precision highp isampler2D;"),n.push("precision highp sampler2D;"),n.push("#else"),n.push("precision mediump float;"),n.push("precision mediump int;"),n.push("precision mediump usampler2D;"),n.push("precision mediump isampler2D;"),n.push("precision mediump sampler2D;"),n.push("#endif"),n.push("uniform int renderPass;"),e.entityOffsetsEnabled&&n.push("in vec3 offset;"),n.push("uniform mat4 sceneModelMatrix;"),n.push("uniform mat4 viewMatrix;"),n.push("uniform mat4 projMatrix;"),n.push("uniform highp sampler2D uObjectPerObjectPositionsDecodeMatrix;"),n.push("uniform highp sampler2D uTexturePerObjectMatrix;"),n.push("uniform lowp usampler2D uObjectPerObjectColorsAndFlags;"),n.push("uniform mediump usampler2D uTexturePerVertexIdCoordinates;"),n.push("uniform highp usampler2D uTexturePerPolygonIdIndices;"),n.push("uniform mediump usampler2D uTexturePerPolygonIdPortionIds;"),n.push("uniform vec3 uCameraEyeRtc;"),n.push("vec3 positions[3];"),n.push("bool isPerspectiveMatrix(mat4 m) {"),n.push(" return (m[2][3] == - 1.0);"),n.push("}"),t&&(n.push("out vec4 vWorldPosition;"),n.push("flat out uint vFlags2;")),n.push("void main(void) {"),n.push("int polygonIndex = gl_VertexID / 3;"),n.push("int h_packed_object_id_index = (polygonIndex >> 3) & 4095;"),n.push("int v_packed_object_id_index = (polygonIndex >> 3) >> 12;"),n.push("int objectIndex = int(texelFetch(uTexturePerPolygonIdPortionIds, ivec2(h_packed_object_id_index, v_packed_object_id_index), 0).r);"),n.push("ivec2 objectIndexCoords = ivec2(objectIndex % 512, objectIndex / 512);"),n.push("uvec4 flags = texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+2, objectIndexCoords.y), 0);"),n.push("uvec4 flags2 = texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+3, objectIndexCoords.y), 0);"),n.push("if (int(flags.x) != renderPass) {"),n.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),n.push(" } else {"),n.push("ivec4 packedVertexBase = ivec4(texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+4, objectIndexCoords.y), 0));"),n.push("ivec4 packedIndexBaseOffset = ivec4(texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+5, objectIndexCoords.y), 0));"),n.push("int indexBaseOffset = (packedIndexBaseOffset.r << 24) + (packedIndexBaseOffset.g << 16) + (packedIndexBaseOffset.b << 8) + packedIndexBaseOffset.a;"),n.push("int h_index = (polygonIndex - indexBaseOffset) & 4095;"),n.push("int v_index = (polygonIndex - indexBaseOffset) >> 12;"),n.push("ivec3 vertexIndices = ivec3(texelFetch(uTexturePerPolygonIdIndices, ivec2(h_index, v_index), 0));"),n.push("ivec3 uniqueVertexIndexes = vertexIndices + (packedVertexBase.r << 24) + (packedVertexBase.g << 16) + (packedVertexBase.b << 8) + packedVertexBase.a;"),n.push("ivec3 indexPositionH = uniqueVertexIndexes & 4095;"),n.push("ivec3 indexPositionV = uniqueVertexIndexes >> 12;"),n.push("mat4 objectInstanceMatrix = mat4 (texelFetch (uTexturePerObjectMatrix, ivec2(objectIndexCoords.x*4+0, objectIndexCoords.y), 0), texelFetch (uTexturePerObjectMatrix, ivec2(objectIndexCoords.x*4+1, objectIndexCoords.y), 0), texelFetch (uTexturePerObjectMatrix, ivec2(objectIndexCoords.x*4+2, objectIndexCoords.y), 0), texelFetch (uTexturePerObjectMatrix, ivec2(objectIndexCoords.x*4+3, objectIndexCoords.y), 0));"),n.push("mat4 objectDecodeAndInstanceMatrix = objectInstanceMatrix * mat4 (texelFetch (uObjectPerObjectPositionsDecodeMatrix, ivec2(objectIndexCoords.x*4+0, objectIndexCoords.y), 0), texelFetch (uObjectPerObjectPositionsDecodeMatrix, ivec2(objectIndexCoords.x*4+1, objectIndexCoords.y), 0), texelFetch (uObjectPerObjectPositionsDecodeMatrix, ivec2(objectIndexCoords.x*4+2, objectIndexCoords.y), 0), texelFetch (uObjectPerObjectPositionsDecodeMatrix, ivec2(objectIndexCoords.x*4+3, objectIndexCoords.y), 0));"),n.push("uint solid = texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+7, objectIndexCoords.y), 0).r;"),n.push("positions[0] = vec3(texelFetch(uTexturePerVertexIdCoordinates, ivec2(indexPositionH.r, indexPositionV.r), 0));"),n.push("positions[1] = vec3(texelFetch(uTexturePerVertexIdCoordinates, ivec2(indexPositionH.g, indexPositionV.g), 0));"),n.push("positions[2] = vec3(texelFetch(uTexturePerVertexIdCoordinates, ivec2(indexPositionH.b, indexPositionV.b), 0));"),n.push("uvec4 color = texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+0, objectIndexCoords.y), 0);"),n.push("if (color.a == 0u) {"),n.push(" gl_Position = vec4(3.0, 3.0, 3.0, 1.0);"),n.push(" return;"),n.push("};"),n.push("vec3 normal = normalize(cross(positions[2] - positions[0], positions[1] - positions[0]));"),n.push("vec3 position;"),n.push("position = positions[gl_VertexID % 3];"),n.push("if (solid != 1u) {"),n.push(" if (isPerspectiveMatrix(projMatrix)) {"),n.push(" vec3 uCameraEyeRtcInQuantizedSpace = (inverse(sceneModelMatrix * objectDecodeAndInstanceMatrix) * vec4(uCameraEyeRtc, 1)).xyz;"),n.push(" if (dot(position.xyz - uCameraEyeRtcInQuantizedSpace, normal) < 0.0) {"),n.push(" position = positions[2 - (gl_VertexID % 3)];"),n.push(" }"),n.push(" } else {"),n.push(" vec3 viewNormal = -normalize((transpose(inverse(viewMatrix*objectDecodeAndInstanceMatrix)) * vec4(normal,1)).xyz);"),n.push(" if (viewNormal.z < 0.0) {"),n.push(" position = positions[2 - (gl_VertexID % 3)];"),n.push(" }"),n.push(" }"),n.push("}"),n.push("vec4 worldPosition = sceneModelMatrix * (objectDecodeAndInstanceMatrix * vec4(position, 1.0)); "),n.push("vec4 viewPosition = viewMatrix * worldPosition; "),n.push("vec4 clipPos = projMatrix * viewPosition;"),t&&(n.push("vWorldPosition = worldPosition;"),n.push("vFlags2 = flags2.r;")),n.push("gl_Position = clipPos;"),n.push(" }"),n.push("}"),n}},{key:"_buildFragmentShader",value:function(){var e=this._scene._sectionPlanesState,t=e.getNumAllocatedSectionPlanes()>0,n=[];if(n.push("#version 300 es"),n.push("// TrianglesDataTextureColorRenderer fragment shader"),n.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),n.push("precision highp float;"),n.push("precision highp int;"),n.push("#else"),n.push("precision mediump float;"),n.push("precision mediump int;"),n.push("#endif"),t){n.push("in vec4 vWorldPosition;"),n.push("flat in uint vFlags2;");for(var r=0;r 0.0);"),n.push(" if (clippable) {"),n.push(" float dist = 0.0;");for(var i=0;i 0.0) { discard; }"),n.push(" }")}return n.push(" outColor = vec4(0.0, 0.0, 1.0, 1.0); "),n.push("}"),n}},{key:"webglContextRestored",value:function(){this._program=null}},{key:"destroy",value:function(){this._program&&this._program.destroy(),this._program=null}}]),e}(),ef=$.vec3(),tf=$.vec3(),nf=$.vec3();$.vec3();var rf=$.mat4(),af=function(){function e(t){b(this,e),this._scene=t,this._allocate(),this._hash=this._getHash()}return P(e,[{key:"getValid",value:function(){return this._hash===this._getHash()}},{key:"_getHash",value:function(){return this._scene._sectionPlanesState.getHash()}},{key:"drawLayer",value:function(e,t,n){var r=this._scene,i=r.camera,a=t.model,s=r.canvas.gl,o=t._state,l=o.textureState,u=t._state.origin,c=a.position,f=a.rotationMatrix,p=a.rotationMatrixConjugate;if(this._program||(this._allocate(),!this.errors)){var A,d;e.lastProgramId!==this._program.id&&(e.lastProgramId=this._program.id,this._bindProgram(e,o)),l.bindCommonTextures(this._program,this.uTexturePerObjectPositionsDecodeMatrix,this._uTexturePerVertexIdCoordinates,this.uTexturePerObjectColorsAndFlags,this._uTexturePerObjectMatrix);var v=0!==u[0]||0!==u[1]||0!==u[2],h=0!==c[0]||0!==c[1]||0!==c[2];if(v||h){var I=ef;if(v){var y=$.transformPoint3(f,u,tf);I[0]=y[0],I[1]=y[1],I[2]=y[2]}else I[0]=0,I[1]=0,I[2]=0;I[0]+=c[0],I[1]+=c[1],I[2]+=c[2],A=Be(i.viewMatrix,I,rf),(d=nf)[0]=i.eye[0]-I[0],d[1]=i.eye[1]-I[1],d[2]=i.eye[2]-I[2]}else A=i.viewMatrix,d=i.eye;if(s.uniformMatrix4fv(this._uSceneModelMatrix,!1,p),s.uniformMatrix4fv(this._uViewMatrix,!1,A),s.uniformMatrix4fv(this._uProjMatrix,!1,i.projMatrix),s.uniform3fv(this._uCameraEyeRtc,d),s.uniform1i(this._uRenderPass,n),r.logarithmicDepthBufferEnabled){var m=2/(Math.log(e.pickZFar+1)/Math.LN2);s.uniform1f(this._uLogDepthBufFC,m)}var w=r._sectionPlanesState.getNumAllocatedSectionPlanes(),g=r._sectionPlanesState.sectionPlanes.length;if(w>0)for(var E=r._sectionPlanesState.sectionPlanes,T=t.layerIndex*g,b=a.renderFlags,D=0;D0&&(l.bindTriangleIndicesTextures(this._program,this._uTexturePerPolygonIdPortionIds,this._uTexturePerPolygonIdIndices,8),s.drawArrays(s.TRIANGLES,0,o.numIndices8Bits)),o.numIndices16Bits>0&&(l.bindTriangleIndicesTextures(this._program,this._uTexturePerPolygonIdPortionIds,this._uTexturePerPolygonIdIndices,16),s.drawArrays(s.TRIANGLES,0,o.numIndices16Bits)),o.numIndices32Bits>0&&(l.bindTriangleIndicesTextures(this._program,this._uTexturePerPolygonIdPortionIds,this._uTexturePerPolygonIdIndices,32),s.drawArrays(s.TRIANGLES,0,o.numIndices32Bits)),e.drawElements++}}},{key:"_allocate",value:function(){var e=this._scene,t=e.canvas.gl;if(this._program=new bt(t,this._buildShader()),this._program.errors)this.errors=this._program.errors;else{var n=this._program;this._uRenderPass=n.getLocation("renderPass"),this._uPositionsDecodeMatrix=n.getLocation("objectDecodeAndInstanceMatrix"),this._uSceneModelMatrix=n.getLocation("sceneModelMatrix"),this._uViewMatrix=n.getLocation("viewMatrix"),this._uProjMatrix=n.getLocation("projMatrix"),this._uSectionPlanes=[];for(var r=0,i=e._sectionPlanesState.getNumAllocatedSectionPlanes();r0,n=[];return n.push("#version 300 es"),n.push("// Triangles dataTexture draw vertex shader"),n.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),n.push("precision highp float;"),n.push("precision highp int;"),n.push("precision highp usampler2D;"),n.push("precision highp isampler2D;"),n.push("precision highp sampler2D;"),n.push("#else"),n.push("precision mediump float;"),n.push("precision mediump int;"),n.push("precision mediump usampler2D;"),n.push("precision mediump isampler2D;"),n.push("precision mediump sampler2D;"),n.push("#endif"),n.push("uniform int renderPass;"),e.entityOffsetsEnabled&&n.push("in vec3 offset;"),n.push("uniform mat4 sceneModelMatrix;"),n.push("uniform mat4 viewMatrix;"),n.push("uniform mat4 projMatrix;"),n.push("uniform highp sampler2D uObjectPerObjectPositionsDecodeMatrix;"),n.push("uniform highp sampler2D uTexturePerObjectMatrix;"),n.push("uniform lowp usampler2D uObjectPerObjectColorsAndFlags;"),n.push("uniform mediump usampler2D uTexturePerVertexIdCoordinates;"),n.push("uniform highp usampler2D uTexturePerPolygonIdIndices;"),n.push("uniform mediump usampler2D uTexturePerPolygonIdPortionIds;"),n.push("uniform vec3 uCameraEyeRtc;"),n.push("vec3 positions[3];"),e.logarithmicDepthBufferEnabled&&(n.push("uniform float logDepthBufFC;"),n.push("out float vFragDepth;"),n.push("out float isPerspective;")),n.push("bool isPerspectiveMatrix(mat4 m) {"),n.push(" return (m[2][3] == - 1.0);"),n.push("}"),n.push("out highp vec2 vHighPrecisionZW;"),t&&(n.push("out vec4 vWorldPosition;"),n.push("flat out uint vFlags2;")),n.push("void main(void) {"),n.push("int polygonIndex = gl_VertexID / 3;"),n.push("int h_packed_object_id_index = (polygonIndex >> 3) & 4095;"),n.push("int v_packed_object_id_index = (polygonIndex >> 3) >> 12;"),n.push("int objectIndex = int(texelFetch(uTexturePerPolygonIdPortionIds, ivec2(h_packed_object_id_index, v_packed_object_id_index), 0).r);"),n.push("ivec2 objectIndexCoords = ivec2(objectIndex % 512, objectIndex / 512);"),n.push("uvec4 flags = texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+2, objectIndexCoords.y), 0);"),n.push("uvec4 flags2 = texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+3, objectIndexCoords.y), 0);"),n.push("if (int(flags.x) != renderPass) {"),n.push(" gl_Position = vec4(3.0, 3.0, 3.0, 1.0);"),n.push(" return;"),n.push("} else {"),n.push("ivec4 packedVertexBase = ivec4(texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+4, objectIndexCoords.y), 0));"),n.push("ivec4 packedIndexBaseOffset = ivec4(texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+5, objectIndexCoords.y), 0));"),n.push("int indexBaseOffset = (packedIndexBaseOffset.r << 24) + (packedIndexBaseOffset.g << 16) + (packedIndexBaseOffset.b << 8) + packedIndexBaseOffset.a;"),n.push("int h_index = (polygonIndex - indexBaseOffset) & 4095;"),n.push("int v_index = (polygonIndex - indexBaseOffset) >> 12;"),n.push("ivec3 vertexIndices = ivec3(texelFetch(uTexturePerPolygonIdIndices, ivec2(h_index, v_index), 0));"),n.push("ivec3 uniqueVertexIndexes = vertexIndices + (packedVertexBase.r << 24) + (packedVertexBase.g << 16) + (packedVertexBase.b << 8) + packedVertexBase.a;"),n.push("ivec3 indexPositionH = uniqueVertexIndexes & 4095;"),n.push("ivec3 indexPositionV = uniqueVertexIndexes >> 12;"),n.push("mat4 objectInstanceMatrix = mat4 (texelFetch (uTexturePerObjectMatrix, ivec2(objectIndexCoords.x*4+0, objectIndexCoords.y), 0), texelFetch (uTexturePerObjectMatrix, ivec2(objectIndexCoords.x*4+1, objectIndexCoords.y), 0), texelFetch (uTexturePerObjectMatrix, ivec2(objectIndexCoords.x*4+2, objectIndexCoords.y), 0), texelFetch (uTexturePerObjectMatrix, ivec2(objectIndexCoords.x*4+3, objectIndexCoords.y), 0));"),n.push("mat4 objectDecodeAndInstanceMatrix = objectInstanceMatrix * mat4 (texelFetch (uObjectPerObjectPositionsDecodeMatrix, ivec2(objectIndexCoords.x*4+0, objectIndexCoords.y), 0), texelFetch (uObjectPerObjectPositionsDecodeMatrix, ivec2(objectIndexCoords.x*4+1, objectIndexCoords.y), 0), texelFetch (uObjectPerObjectPositionsDecodeMatrix, ivec2(objectIndexCoords.x*4+2, objectIndexCoords.y), 0), texelFetch (uObjectPerObjectPositionsDecodeMatrix, ivec2(objectIndexCoords.x*4+3, objectIndexCoords.y), 0));"),n.push("uint solid = texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+7, objectIndexCoords.y), 0).r;"),n.push("positions[0] = vec3(texelFetch(uTexturePerVertexIdCoordinates, ivec2(indexPositionH.r, indexPositionV.r), 0));"),n.push("positions[1] = vec3(texelFetch(uTexturePerVertexIdCoordinates, ivec2(indexPositionH.g, indexPositionV.g), 0));"),n.push("positions[2] = vec3(texelFetch(uTexturePerVertexIdCoordinates, ivec2(indexPositionH.b, indexPositionV.b), 0));"),n.push("uvec4 color = texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+0, objectIndexCoords.y), 0);"),n.push("if (color.a == 0u) {"),n.push(" gl_Position = vec4(3.0, 3.0, 3.0, 1.0);"),n.push(" return;"),n.push("};"),n.push("vec3 normal = normalize(cross(positions[2] - positions[0], positions[1] - positions[0]));"),n.push("vec3 position;"),n.push("position = positions[gl_VertexID % 3];"),n.push("vec3 viewNormal = -normalize((transpose(inverse(viewMatrix*objectDecodeAndInstanceMatrix)) * vec4(normal,1)).xyz);"),n.push("if (solid != 1u) {"),n.push("if (isPerspectiveMatrix(projMatrix)) {"),n.push("vec3 uCameraEyeRtcInQuantizedSpace = (inverse(sceneModelMatrix * objectDecodeAndInstanceMatrix) * vec4(uCameraEyeRtc, 1)).xyz;"),n.push("if (dot(position.xyz - uCameraEyeRtcInQuantizedSpace, normal) < 0.0) {"),n.push("position = positions[2 - (gl_VertexID % 3)];"),n.push("viewNormal = -viewNormal;"),n.push("}"),n.push("} else {"),n.push("if (viewNormal.z < 0.0) {"),n.push("position = positions[2 - (gl_VertexID % 3)];"),n.push("viewNormal = -viewNormal;"),n.push("}"),n.push("}"),n.push("}"),n.push("vec4 worldPosition = sceneModelMatrix * (objectDecodeAndInstanceMatrix * vec4(position, 1.0)); "),n.push("vec4 viewPosition = viewMatrix * worldPosition; "),n.push("vec4 clipPos = projMatrix * viewPosition;"),e.logarithmicDepthBufferEnabled&&(n.push("vFragDepth = 1.0 + clipPos.w;"),n.push("isPerspective = float (isPerspectiveMatrix(projMatrix));")),t&&(n.push("vWorldPosition = worldPosition;"),n.push("vFlags2 = flags2.r;")),n.push("gl_Position = clipPos;"),n.push("vHighPrecisionZW = gl_Position.zw;"),n.push("}"),n.push("}"),n}},{key:"_buildFragmentShader",value:function(){var e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,n=[];if(n.push("#version 300 es"),n.push("// Triangles dataTexture draw fragment shader"),n.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),n.push("precision highp float;"),n.push("precision highp int;"),n.push("#else"),n.push("precision mediump float;"),n.push("precision mediump int;"),n.push("#endif"),n.push("in highp vec2 vHighPrecisionZW;"),n.push("out vec4 outColor;"),e.logarithmicDepthBufferEnabled&&(n.push("in float isPerspective;"),n.push("uniform float logDepthBufFC;"),n.push("in float vFragDepth;")),t){n.push("in vec4 vWorldPosition;"),n.push("flat in uint vFlags2;");for(var r=0,i=e._sectionPlanesState.getNumAllocatedSectionPlanes();r 0u;"),n.push(" if (clippable) {"),n.push(" float dist = 0.0;");for(var a=0,s=e._sectionPlanesState.getNumAllocatedSectionPlanes();a 0.0) { "),n.push(" discard;"),n.push(" }"),n.push("}")}return e.logarithmicDepthBufferEnabled&&n.push(" gl_FragDepth = isPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5;"),n.push("float fragCoordZ = 0.5 * vHighPrecisionZW[0] / vHighPrecisionZW[1] + 0.5;"),n.push(" outColor = vec4(vec3(1.0 - fragCoordZ), 1.0); "),n.push("}"),n}},{key:"webglContextRestored",value:function(){this._program=null}},{key:"destroy",value:function(){this._program&&this._program.destroy(),this._program=null}}]),e}(),sf=$.vec3(),of=$.vec3(),lf=$.vec3();$.vec3();var uf=$.mat4(),cf=function(){function e(t){b(this,e),this._scene=t,this._hash=this._getHash(),this._allocate()}return P(e,[{key:"getValid",value:function(){return this._hash===this._getHash()}},{key:"_getHash",value:function(){return this._scene._sectionPlanesState.getHash()}},{key:"drawLayer",value:function(e,t,n){var r=t.model,i=r.scene,a=i.camera,s=i.canvas.gl,o=t._state,l=t._state.origin,u=r.position,c=r.rotationMatrix,f=r.rotationMatrixConjugate,p=a.viewMatrix;if(this._program||(this._allocate(t),!this.errors)){var A,d;e.lastProgramId!==this._program.id&&(e.lastProgramId=this._program.id,this._bindProgram(t));var v=0!==l[0]||0!==l[1]||0!==l[2],h=0!==u[0]||0!==u[1]||0!==u[2];if(v||h){var I=sf;if(v){var y=of;$.transformPoint3(c,l,y),I[0]=y[0],I[1]=y[1],I[2]=y[2]}else I[0]=0,I[1]=0,I[2]=0;I[0]+=u[0],I[1]+=u[1],I[2]+=u[2],A=Be(p,I,uf),(d=lf)[0]=a.eye[0]-I[0],d[1]=a.eye[1]-I[1],d[2]=a.eye[2]-I[2]}else A=p,d=a.eye;s.uniform1i(this._uRenderPass,n),s.uniformMatrix4fv(this._uWorldMatrix,!1,f),s.uniformMatrix4fv(this._uViewMatrix,!1,A),s.uniformMatrix4fv(this._uProjMatrix,!1,a.projMatrix),s.uniformMatrix4fv(this._uViewNormalMatrix,!1,a.viewNormalMatrix),s.uniformMatrix4fv(this._uWorldNormalMatrix,!1,r.worldNormalMatrix);var m=i._sectionPlanesState.getNumAllocatedSectionPlanes(),w=i._sectionPlanesState.sectionPlanes.length;if(m>0)for(var g=i._sectionPlanesState.sectionPlanes,E=t.layerIndex*w,T=r.renderFlags,b=0;b0,n=[];return n.push("// Batched geometry normals vertex shader"),e.logarithmicDepthBufferEnabled&&dt.SUPPORTED_EXTENSIONS.EXT_frag_depth&&n.push("#extension GL_EXT_frag_depth : enable"),n.push("uniform int renderPass;"),n.push("attribute vec3 position;"),e.entityOffsetsEnabled&&n.push("attribute vec3 offset;"),n.push("attribute vec3 normal;"),n.push("attribute vec4 color;"),n.push("attribute vec4 flags;"),n.push("attribute vec4 flags2;"),n.push("uniform mat4 worldMatrix;"),n.push("uniform mat4 worldNormalMatrix;"),n.push("uniform mat4 viewMatrix;"),n.push("uniform mat4 projMatrix;"),n.push("uniform mat4 viewNormalMatrix;"),n.push("uniform mat4 objectDecodeAndInstanceMatrix;"),e.logarithmicDepthBufferEnabled&&(n.push("uniform float logDepthBufFC;"),dt.SUPPORTED_EXTENSIONS.EXT_frag_depth&&n.push("out float vFragDepth;"),n.push("bool isPerspectiveMatrix(mat4 m) {"),n.push(" return (m[2][3] == - 1.0);"),n.push("}"),n.push("varying float isPerspective;")),n.push("vec3 octDecode(vec2 oct) {"),n.push(" vec3 v = vec3(oct.xy, 1.0 - abs(oct.x) - abs(oct.y));"),n.push(" if (v.z < 0.0) {"),n.push(" v.xy = (1.0 - abs(v.yx)) * vec2(v.x >= 0.0 ? 1.0 : -1.0, v.y >= 0.0 ? 1.0 : -1.0);"),n.push(" }"),n.push(" return normalize(v);"),n.push("}"),t&&(n.push("out vec4 vWorldPosition;"),n.push("out vec4 vFlags2;")),n.push("out vec3 vViewNormal;"),n.push("void main(void) {"),n.push("if (int(flags.x) != renderPass) {"),n.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),n.push(" } else {"),n.push(" vec4 worldPosition = worldMatrix * (objectDecodeAndInstanceMatrix * vec4(position, 1.0)); "),e.entityOffsetsEnabled&&n.push(" worldPosition.xyz = worldPosition.xyz + offset;"),n.push(" vec4 viewPosition = viewMatrix * worldPosition; "),n.push(" vec4 worldNormal = worldNormalMatrix * vec4(octDecode(normal.xy), 0.0); "),n.push(" vec3 viewNormal = normalize((viewNormalMatrix * worldNormal).xyz);"),t&&(n.push(" vWorldPosition = worldPosition;"),n.push(" vFlags2 = flags2;")),n.push(" vViewNormal = viewNormal;"),n.push("vec4 clipPos = projMatrix * viewPosition;"),e.logarithmicDepthBufferEnabled&&(dt.SUPPORTED_EXTENSIONS.EXT_frag_depth?n.push("vFragDepth = 1.0 + clipPos.w;"):(n.push("clipPos.z = log2( max( 1e-6, clipPos.w + 1.0 ) ) * logDepthBufFC - 1.0;"),n.push("clipPos.z *= clipPos.w;")),n.push("isPerspective = float (isPerspectiveMatrix(projMatrix));")),n.push("gl_Position = clipPos;"),n.push(" }"),n.push("}"),n}},{key:"_buildFragmentShader",value:function(){var e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,n=[];if(n.push("#version 300 es"),n.push("// Batched geometry normals fragment shader"),e.logarithmicDepthBufferEnabled&&dt.SUPPORTED_EXTENSIONS.EXT_frag_depth&&n.push("#extension GL_EXT_frag_depth : enable"),n.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),n.push("precision highp float;"),n.push("precision highp int;"),n.push("#else"),n.push("precision mediump float;"),n.push("precision mediump int;"),n.push("#endif"),e.logarithmicDepthBufferEnabled&&dt.SUPPORTED_EXTENSIONS.EXT_frag_depth&&(n.push("in float isPerspective;"),n.push("uniform float logDepthBufFC;"),n.push("in float vFragDepth;")),t){n.push("in vec4 vWorldPosition;"),n.push("in vec4 vFlags2;");for(var r=0;r 0.0);"),n.push(" if (clippable) {"),n.push(" float dist = 0.0;");for(var i=0;i 0.0) { discard; }"),n.push(" }")}return e.logarithmicDepthBufferEnabled&&dt.SUPPORTED_EXTENSIONS.EXT_frag_depth&&n.push(" gl_FragDepthEXT = isPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5;"),n.push(" gl_FragColor = vec4(packNormalToRGB(vViewNormal), 1.0); "),n.push("}"),n}},{key:"webglContextRestored",value:function(){this._program=null}},{key:"destroy",value:function(){this._program&&this._program.destroy(),this._program=null}}]),e}(),ff=$.vec3(),pf=$.vec3(),Af=$.vec3();$.vec3(),$.vec4();var df=$.mat4(),vf=function(){function e(t,n){b(this,e),this._scene=t,this._withSAO=n,this._hash=this._getHash(),this._allocate()}return P(e,[{key:"getValid",value:function(){return this._hash===this._getHash()}},{key:"_getHash",value:function(){var e=this._scene;return[e._lightsState.getHash(),e._sectionPlanesState.getHash(),this._withSAO?"sao":"nosao"].join(";")}},{key:"drawLayer",value:function(e,t,n){var r=this._scene,i=r.camera,a=t.model,s=r.canvas.gl,o=t._state,l=o.textureState,u=t._state.origin,c=a.position,f=a.rotationMatrix,p=a.rotationMatrixConjugate;if(this._program||(this._allocate(),!this.errors)){var A,d;e.lastProgramId!==this._program.id&&(e.lastProgramId=this._program.id,this._bindProgram(e,o)),l.bindCommonTextures(this._program,this.uTexturePerObjectPositionsDecodeMatrix,this._uTexturePerVertexIdCoordinates,this.uTexturePerObjectColorsAndFlags,this._uTexturePerObjectMatrix);var v=0!==u[0]||0!==u[1]||0!==u[2],h=0!==c[0]||0!==c[1]||0!==c[2];if(v||h){var I=ff;if(v){var y=$.transformPoint3(f,u,pf);I[0]=y[0],I[1]=y[1],I[2]=y[2]}else I[0]=0,I[1]=0,I[2]=0;I[0]+=c[0],I[1]+=c[1],I[2]+=c[2],A=Be(i.viewMatrix,I,df),(d=Af)[0]=i.eye[0]-I[0],d[1]=i.eye[1]-I[1],d[2]=i.eye[2]-I[2]}else A=i.viewMatrix,d=i.eye;if(s.uniform2fv(this._uPickClipPos,e.pickClipPos),s.uniform2f(this._uDrawingBufferSize,s.drawingBufferWidth,s.drawingBufferHeight),s.uniformMatrix4fv(this._uSceneModelMatrix,!1,p),s.uniformMatrix4fv(this._uViewMatrix,!1,A),s.uniformMatrix4fv(this._uProjMatrix,!1,i.projMatrix),s.uniform3fv(this._uCameraEyeRtc,d),s.uniform1i(this._uRenderPass,n),r.logarithmicDepthBufferEnabled){var m=2/(Math.log(e.pickZFar+1)/Math.LN2);s.uniform1f(this._uLogDepthBufFC,m)}var w=r._sectionPlanesState.getNumAllocatedSectionPlanes(),g=r._sectionPlanesState.sectionPlanes.length;if(w>0)for(var E=r._sectionPlanesState.sectionPlanes,T=t.layerIndex*g,b=a.renderFlags,D=0;D0&&(l.bindTriangleIndicesTextures(this._program,this._uTexturePerPolygonIdPortionIds,this._uTexturePerPolygonIdIndices,8),s.drawArrays(s.TRIANGLES,0,o.numIndices8Bits)),o.numIndices16Bits>0&&(l.bindTriangleIndicesTextures(this._program,this._uTexturePerPolygonIdPortionIds,this._uTexturePerPolygonIdIndices,16),s.drawArrays(s.TRIANGLES,0,o.numIndices16Bits)),o.numIndices32Bits>0&&(l.bindTriangleIndicesTextures(this._program,this._uTexturePerPolygonIdPortionIds,this._uTexturePerPolygonIdIndices,32),s.drawArrays(s.TRIANGLES,0,o.numIndices32Bits)),e.drawElements++}}},{key:"_allocate",value:function(){var e=this._scene,t=e.canvas.gl;if(this._program=new bt(t,this._buildShader()),this._program.errors)this.errors=this._program.errors;else{var n=this._program;this._uRenderPass=n.getLocation("renderPass"),this._uPickInvisible=n.getLocation("pickInvisible"),this._uPickClipPos=n.getLocation("pickClipPos"),this._uDrawingBufferSize=n.getLocation("drawingBufferSize"),this._uSceneModelMatrix=n.getLocation("sceneModelMatrix"),this._uViewMatrix=n.getLocation("viewMatrix"),this._uProjMatrix=n.getLocation("projMatrix"),this._uSectionPlanes=[];for(var r=0,i=e._sectionPlanesState.getNumAllocatedSectionPlanes();r0,n=[];return n.push("#version 300 es"),n.push("// trianglesDatatextureNormalsRenderer vertex shader"),n.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),n.push("precision highp float;"),n.push("precision highp int;"),n.push("precision highp usampler2D;"),n.push("precision highp isampler2D;"),n.push("precision highp sampler2D;"),n.push("#else"),n.push("precision mediump float;"),n.push("precision mediump int;"),n.push("precision mediump usampler2D;"),n.push("precision mediump isampler2D;"),n.push("precision mediump sampler2D;"),n.push("#endif"),n.push("uniform int renderPass;"),e.entityOffsetsEnabled&&n.push("in vec3 offset;"),n.push("uniform mat4 sceneModelMatrix;"),n.push("uniform mat4 viewMatrix;"),n.push("uniform mat4 projMatrix;"),n.push("uniform highp sampler2D uObjectPerObjectPositionsDecodeMatrix;"),n.push("uniform lowp usampler2D uObjectPerObjectColorsAndFlags;"),n.push("uniform highp sampler2D uTexturePerObjectMatrix;"),n.push("uniform mediump usampler2D uTexturePerVertexIdCoordinates;"),n.push("uniform highp usampler2D uTexturePerPolygonIdIndices;"),n.push("uniform mediump usampler2D uTexturePerPolygonIdPortionIds;"),n.push("uniform vec3 uCameraEyeRtc;"),n.push("vec3 positions[3];"),e.logarithmicDepthBufferEnabled&&(n.push("uniform float logDepthBufFC;"),n.push("out float vFragDepth;"),n.push("out float isPerspective;")),n.push("uniform vec2 pickClipPos;"),n.push("uniform vec2 drawingBufferSize;"),n.push("vec4 remapClipPos(vec4 clipPos) {"),n.push(" clipPos.xy /= clipPos.w;"),n.push(" clipPos.xy = (clipPos.xy - pickClipPos) * drawingBufferSize;"),n.push(" clipPos.xy *= clipPos.w;"),n.push(" return clipPos;"),n.push("}"),n.push("bool isPerspectiveMatrix(mat4 m) {"),n.push(" return (m[2][3] == - 1.0);"),n.push("}"),n.push("out vec4 vWorldPosition;"),t&&n.push("flat out uint vFlags2;"),n.push("void main(void) {"),n.push("int polygonIndex = gl_VertexID / 3;"),n.push("int h_packed_object_id_index = (polygonIndex >> 3) & 4095;"),n.push("int v_packed_object_id_index = (polygonIndex >> 3) >> 12;"),n.push("int objectIndex = int(texelFetch(uTexturePerPolygonIdPortionIds, ivec2(h_packed_object_id_index, v_packed_object_id_index), 0).r);"),n.push("ivec2 objectIndexCoords = ivec2(objectIndex % 512, objectIndex / 512);"),n.push("uvec4 flags = texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+2, objectIndexCoords.y), 0);"),n.push("uvec4 flags2 = texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+3, objectIndexCoords.y), 0);"),n.push("if (int(flags.w) != renderPass) {"),n.push(" gl_Position = vec4(3.0, 3.0, 3.0, 1.0);"),n.push(" return;"),n.push("} else {"),n.push("ivec4 packedVertexBase = ivec4(texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+4, objectIndexCoords.y), 0));"),n.push("ivec4 packedIndexBaseOffset = ivec4(texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+5, objectIndexCoords.y), 0));"),n.push("int indexBaseOffset = (packedIndexBaseOffset.r << 24) + (packedIndexBaseOffset.g << 16) + (packedIndexBaseOffset.b << 8) + packedIndexBaseOffset.a;"),n.push("int h_index = (polygonIndex - indexBaseOffset) & 4095;"),n.push("int v_index = (polygonIndex - indexBaseOffset) >> 12;"),n.push("ivec3 vertexIndices = ivec3(texelFetch(uTexturePerPolygonIdIndices, ivec2(h_index, v_index), 0));"),n.push("ivec3 uniqueVertexIndexes = vertexIndices + (packedVertexBase.r << 24) + (packedVertexBase.g << 16) + (packedVertexBase.b << 8) + packedVertexBase.a;"),n.push("ivec3 indexPositionH = uniqueVertexIndexes & 4095;"),n.push("ivec3 indexPositionV = uniqueVertexIndexes >> 12;"),n.push("mat4 objectInstanceMatrix = mat4 (texelFetch (uTexturePerObjectMatrix, ivec2(objectIndexCoords.x*4+0, objectIndexCoords.y), 0), texelFetch (uTexturePerObjectMatrix, ivec2(objectIndexCoords.x*4+1, objectIndexCoords.y), 0), texelFetch (uTexturePerObjectMatrix, ivec2(objectIndexCoords.x*4+2, objectIndexCoords.y), 0), texelFetch (uTexturePerObjectMatrix, ivec2(objectIndexCoords.x*4+3, objectIndexCoords.y), 0));"),n.push("mat4 objectDecodeAndInstanceMatrix = objectInstanceMatrix * mat4 (texelFetch (uObjectPerObjectPositionsDecodeMatrix, ivec2(objectIndexCoords.x*4+0, objectIndexCoords.y), 0), texelFetch (uObjectPerObjectPositionsDecodeMatrix, ivec2(objectIndexCoords.x*4+1, objectIndexCoords.y), 0), texelFetch (uObjectPerObjectPositionsDecodeMatrix, ivec2(objectIndexCoords.x*4+2, objectIndexCoords.y), 0), texelFetch (uObjectPerObjectPositionsDecodeMatrix, ivec2(objectIndexCoords.x*4+3, objectIndexCoords.y), 0));"),n.push("uint solid = texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+7, objectIndexCoords.y), 0).r;"),n.push("positions[0] = vec3(texelFetch(uTexturePerVertexIdCoordinates, ivec2(indexPositionH.r, indexPositionV.r), 0));"),n.push("positions[1] = vec3(texelFetch(uTexturePerVertexIdCoordinates, ivec2(indexPositionH.g, indexPositionV.g), 0));"),n.push("positions[2] = vec3(texelFetch(uTexturePerVertexIdCoordinates, ivec2(indexPositionH.b, indexPositionV.b), 0));"),n.push("uvec4 color = texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+0, objectIndexCoords.y), 0);"),n.push("if (color.a == 0u) {"),n.push(" gl_Position = vec4(3.0, 3.0, 3.0, 1.0);"),n.push(" return;"),n.push("};"),n.push("vec3 normal = normalize(cross(positions[2] - positions[0], positions[1] - positions[0]));"),n.push("vec3 position;"),n.push("position = positions[gl_VertexID % 3];"),n.push("vec3 viewNormal = -normalize((transpose(inverse(viewMatrix*objectDecodeAndInstanceMatrix)) * vec4(normal,1)).xyz);"),n.push("if (solid != 1u) {"),n.push("if (isPerspectiveMatrix(projMatrix)) {"),n.push("vec3 uCameraEyeRtcInQuantizedSpace = (inverse(sceneModelMatrix * objectDecodeAndInstanceMatrix) * vec4(uCameraEyeRtc, 1)).xyz;"),n.push("if (dot(position.xyz - uCameraEyeRtcInQuantizedSpace, normal) < 0.0) {"),n.push("position = positions[2 - (gl_VertexID % 3)];"),n.push("viewNormal = -viewNormal;"),n.push("}"),n.push("} else {"),n.push("vec3 viewNormal = -normalize((transpose(inverse(viewMatrix*objectDecodeAndInstanceMatrix)) * vec4(normal,1)).xyz);"),n.push("if (viewNormal.z < 0.0) {"),n.push("position = positions[2 - (gl_VertexID % 3)];"),n.push("}"),n.push("}"),n.push("}"),n.push("vec4 worldPosition = sceneModelMatrix * (objectDecodeAndInstanceMatrix * vec4(position, 1.0)); "),n.push("vec4 viewPosition = viewMatrix * worldPosition; "),n.push("vec4 clipPos = projMatrix * viewPosition;"),e.logarithmicDepthBufferEnabled&&(n.push("vFragDepth = 1.0 + clipPos.w;"),n.push("isPerspective = float (isPerspectiveMatrix(projMatrix));")),n.push("vWorldPosition = worldPosition;"),t&&n.push("vFlags2 = flags2.r;"),n.push("gl_Position = remapClipPos(clipPos);"),n.push("}"),n.push("}"),n}},{key:"_buildFragmentShader",value:function(){var e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,n=[];if(n.push("#version 300 es"),n.push("// TrianglesDataTexturePickNormalsRenderer fragment shader"),n.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),n.push("precision highp float;"),n.push("precision highp int;"),n.push("#else"),n.push("precision mediump float;"),n.push("precision mediump int;"),n.push("#endif"),e.logarithmicDepthBufferEnabled&&(n.push("in float isPerspective;"),n.push("uniform float logDepthBufFC;"),n.push("in float vFragDepth;")),n.push("in vec4 vWorldPosition;"),t){n.push("flat in uint vFlags2;");for(var r=0,i=e._sectionPlanesState.getNumAllocatedSectionPlanes();r 0u;"),n.push(" if (clippable) {"),n.push(" float dist = 0.0;");for(var a=0,s=e._sectionPlanesState.getNumAllocatedSectionPlanes();a 0.0) { "),n.push(" discard;"),n.push(" }"),n.push("}")}return e.logarithmicDepthBufferEnabled&&n.push(" gl_FragDepth = isPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5;"),n.push(" vec3 xTangent = dFdx( vWorldPosition.xyz );"),n.push(" vec3 yTangent = dFdy( vWorldPosition.xyz );"),n.push(" vec3 worldNormal = normalize( cross( xTangent, yTangent ) );"),n.push(" outNormal = ivec4(worldNormal * float(".concat($.MAX_INT,"), 1.0);")),n.push("}"),n}},{key:"webglContextRestored",value:function(){this._program=null}},{key:"destroy",value:function(){this._program&&this._program.destroy(),this._program=null}}]),e}(),hf=function(){function e(t){b(this,e),this._scene=t}return P(e,[{key:"_compile",value:function(){this._colorRenderer&&!this._colorRenderer.getValid()&&(this._colorRenderer.destroy(),this._colorRenderer=null),this._colorRendererWithSAO&&!this._colorRendererWithSAO.getValid()&&(this._colorRendererWithSAO.destroy(),this._colorRendererWithSAO=null),this._flatColorRenderer&&!this._flatColorRenderer.getValid()&&(this._flatColorRenderer.destroy(),this._flatColorRenderer=null),this._flatColorRendererWithSAO&&!this._flatColorRendererWithSAO.getValid()&&(this._flatColorRendererWithSAO.destroy(),this._flatColorRendererWithSAO=null),this._colorQualityRendererWithSAO&&!this._colorQualityRendererWithSAO.getValid()&&(this._colorQualityRendererWithSAO.destroy(),this._colorQualityRendererWithSAO=null),this._depthRenderer&&!this._depthRenderer.getValid()&&(this._depthRenderer.destroy(),this._depthRenderer=null),this._normalsRenderer&&!this._normalsRenderer.getValid()&&(this._normalsRenderer.destroy(),this._normalsRenderer=null),this._silhouetteRenderer&&!this._silhouetteRenderer.getValid()&&(this._silhouetteRenderer.destroy(),this._silhouetteRenderer=null),this._edgesRenderer&&!this._edgesRenderer.getValid()&&(this._edgesRenderer.destroy(),this._edgesRenderer=null),this._edgesColorRenderer&&!this._edgesColorRenderer.getValid()&&(this._edgesColorRenderer.destroy(),this._edgesColorRenderer=null),this._pickMeshRenderer&&!this._pickMeshRenderer.getValid()&&(this._pickMeshRenderer.destroy(),this._pickMeshRenderer=null),this._pickDepthRenderer&&!this._pickDepthRenderer.getValid()&&(this._pickDepthRenderer.destroy(),this._pickDepthRenderer=null),this._vertexDepthRenderer&&!this._vertexDepthRenderer.getValid()&&(this._vertexDepthRenderer.destroy(),this._vertexDepthRenderer=null),this._snapDepthBufInitRenderer&&!this._snapDepthBufInitRenderer.getValid()&&(this._snapDepthBufInitRenderer.destroy(),this._snapDepthBufInitRenderer=null),this._pickNormalsRenderer&&!1===this._pickNormalsRenderer.getValid()&&(this._pickNormalsRenderer.destroy(),this._pickNormalsRenderer=null),this._pickNormalsFlatRenderer&&!1===this._pickNormalsFlatRenderer.getValid()&&(this._pickNormalsFlatRenderer.destroy(),this._pickNormalsFlatRenderer=null),this._occlusionRenderer&&!1===this._occlusionRenderer.getValid()&&(this._occlusionRenderer.destroy(),this._occlusionRenderer=null)}},{key:"eagerCreateRenders",value:function(){this._silhouetteRenderer||(this._silhouetteRenderer=new Ic(this._scene)),this._pickMeshRenderer||(this._pickMeshRenderer=new Oc(this._scene)),this._pickDepthRenderer||(this._pickDepthRenderer=new xc(this._scene)),this._pickNormalsRenderer||(this._pickNormalsRenderer=new vf(this._scene)),this._vertexDepthRenderer||(this._vertexDepthRenderer=new jc(this._scene)),this._snapDepthBufInitRenderer||(this._snapDepthBufInitRenderer=new Yc(this._scene))}},{key:"colorRenderer",get:function(){return this._colorRenderer||(this._colorRenderer=new fc(this._scene,!1)),this._colorRenderer}},{key:"colorRendererWithSAO",get:function(){return this._colorRendererWithSAO||(this._colorRendererWithSAO=new fc(this._scene,!0)),this._colorRendererWithSAO}},{key:"colorQualityRendererWithSAO",get:function(){return this._colorQualityRendererWithSAO}},{key:"silhouetteRenderer",get:function(){return this._silhouetteRenderer||(this._silhouetteRenderer=new Ic(this._scene)),this._silhouetteRenderer}},{key:"depthRenderer",get:function(){return this._depthRenderer||(this._depthRenderer=new af(this._scene)),this._depthRenderer}},{key:"normalsRenderer",get:function(){return this._normalsRenderer||(this._normalsRenderer=new cf(this._scene)),this._normalsRenderer}},{key:"edgesRenderer",get:function(){return this._edgesRenderer||(this._edgesRenderer=new Ec(this._scene)),this._edgesRenderer}},{key:"edgesColorRenderer",get:function(){return this._edgesColorRenderer||(this._edgesColorRenderer=new Pc(this._scene)),this._edgesColorRenderer}},{key:"pickMeshRenderer",get:function(){return this._pickMeshRenderer||(this._pickMeshRenderer=new Oc(this._scene)),this._pickMeshRenderer}},{key:"pickNormalsRenderer",get:function(){return this._pickNormalsRenderer||(this._pickNormalsRenderer=new vf(this._scene)),this._pickNormalsRenderer}},{key:"pickNormalsFlatRenderer",get:function(){return this._pickNormalsFlatRenderer||(this._pickNormalsFlatRenderer=new vf(this._scene)),this._pickNormalsFlatRenderer}},{key:"pickDepthRenderer",get:function(){return this._pickDepthRenderer||(this._pickDepthRenderer=new xc(this._scene)),this._pickDepthRenderer}},{key:"vertexDepthRenderer",get:function(){return this._vertexDepthRenderer||(this._vertexDepthRenderer=new jc(this._scene)),this._vertexDepthRenderer}},{key:"snapDepthBufInitRenderer",get:function(){return this._snapDepthBufInitRenderer||(this._snapDepthBufInitRenderer=new Yc(this._scene)),this._snapDepthBufInitRenderer}},{key:"occlusionRenderer",get:function(){return this._occlusionRenderer||(this._occlusionRenderer=new $c(this._scene)),this._occlusionRenderer}},{key:"_destroy",value:function(){this._colorRenderer&&this._colorRenderer.destroy(),this._colorRendererWithSAO&&this._colorRendererWithSAO.destroy(),this._flatColorRenderer&&this._flatColorRenderer.destroy(),this._flatColorRendererWithSAO&&this._flatColorRendererWithSAO.destroy(),this._colorQualityRendererWithSAO&&this._colorQualityRendererWithSAO.destroy(),this._depthRenderer&&this._depthRenderer.destroy(),this._normalsRenderer&&this._normalsRenderer.destroy(),this._silhouetteRenderer&&this._silhouetteRenderer.destroy(),this._edgesRenderer&&this._edgesRenderer.destroy(),this._edgesColorRenderer&&this._edgesColorRenderer.destroy(),this._pickMeshRenderer&&this._pickMeshRenderer.destroy(),this._pickDepthRenderer&&this._pickDepthRenderer.destroy(),this._vertexDepthRenderer&&this._vertexDepthRenderer.destroy(),this._snapDepthBufInitRenderer&&this._snapDepthBufInitRenderer.destroy(),this._pickNormalsRenderer&&this._pickNormalsRenderer.destroy(),this._pickNormalsFlatRenderer&&this._pickNormalsFlatRenderer.destroy(),this._occlusionRenderer&&this._occlusionRenderer.destroy()}}]),e}(),If={};var yf=P((function e(){b(this,e),this.positionsCompressed=[],this.lenPositionsCompressed=0,this.metallicRoughness=[],this.indices8Bits=[],this.lenIndices8Bits=0,this.indices16Bits=[],this.lenIndices16Bits=0,this.indices32Bits=[],this.lenIndices32Bits=0,this.edgeIndices8Bits=[],this.lenEdgeIndices8Bits=0,this.edgeIndices16Bits=[],this.lenEdgeIndices16Bits=0,this.edgeIndices32Bits=[],this.lenEdgeIndices32Bits=0,this.perObjectColors=[],this.perObjectPickColors=[],this.perObjectSolid=[],this.perObjectOffsets=[],this.perObjectPositionsDecodeMatrices=[],this.perObjectInstancePositioningMatrices=[],this.perObjectVertexBases=[],this.perObjectIndexBaseOffsets=[],this.perObjectEdgeIndexBaseOffsets=[],this.perTriangleNumberPortionId8Bits=[],this.perTriangleNumberPortionId16Bits=[],this.perTriangleNumberPortionId32Bits=[],this.perEdgeNumberPortionId8Bits=[],this.perEdgeNumberPortionId16Bits=[],this.perEdgeNumberPortionId32Bits=[]})),mf=function(){function e(){b(this,e),this.texturePerObjectColorsAndFlags=null,this.texturePerObjectOffsets=null,this.texturePerObjectInstanceMatrices=null,this.texturePerObjectPositionsDecodeMatrix=null,this.texturePerVertexIdCoordinates=null,this.texturePerPolygonIdPortionIds8Bits=null,this.texturePerPolygonIdPortionIds16Bits=null,this.texturePerPolygonIdPortionIds32Bits=null,this.texturePerEdgeIdPortionIds8Bits=null,this.texturePerEdgeIdPortionIds16Bits=null,this.texturePerEdgeIdPortionIds32Bits=null,this.texturePerPolygonIdIndices8Bits=null,this.texturePerPolygonIdIndices16Bits=null,this.texturePerPolygonIdIndices32Bits=null,this.texturePerPolygonIdEdgeIndices8Bits=null,this.texturePerPolygonIdEdgeIndices16Bits=null,this.texturePerPolygonIdEdgeIndices32Bits=null,this.textureModelMatrices=null}return P(e,[{key:"finalize",value:function(){this.indicesPerBitnessTextures={8:this.texturePerPolygonIdIndices8Bits,16:this.texturePerPolygonIdIndices16Bits,32:this.texturePerPolygonIdIndices32Bits},this.indicesPortionIdsPerBitnessTextures={8:this.texturePerPolygonIdPortionIds8Bits,16:this.texturePerPolygonIdPortionIds16Bits,32:this.texturePerPolygonIdPortionIds32Bits},this.edgeIndicesPerBitnessTextures={8:this.texturePerPolygonIdEdgeIndices8Bits,16:this.texturePerPolygonIdEdgeIndices16Bits,32:this.texturePerPolygonIdEdgeIndices32Bits},this.edgeIndicesPortionIdsPerBitnessTextures={8:this.texturePerEdgeIdPortionIds8Bits,16:this.texturePerEdgeIdPortionIds16Bits,32:this.texturePerEdgeIdPortionIds32Bits}}},{key:"bindCommonTextures",value:function(e,t,n,r,i){this.texturePerObjectPositionsDecodeMatrix.bindTexture(e,t,1),this.texturePerVertexIdCoordinates.bindTexture(e,n,2),this.texturePerObjectColorsAndFlags.bindTexture(e,r,3),this.texturePerObjectInstanceMatrices.bindTexture(e,i,4)}},{key:"bindTriangleIndicesTextures",value:function(e,t,n,r){this.indicesPortionIdsPerBitnessTextures[r].bindTexture(e,t,5),this.indicesPerBitnessTextures[r].bindTexture(e,n,6)}},{key:"bindEdgeIndicesTextures",value:function(e,t,n,r){this.edgeIndicesPortionIdsPerBitnessTextures[r].bindTexture(e,t,5),this.edgeIndicesPerBitnessTextures[r].bindTexture(e,n,6)}}]),e}(),wf=function(){function e(t,n,r,i){var a=arguments.length>4&&void 0!==arguments[4]?arguments[4]:null;b(this,e),this._gl=t,this._texture=n,this._textureWidth=r,this._textureHeight=i,this._textureData=a}return P(e,[{key:"bindTexture",value:function(e,t,n){return e.bindTexture(t,this,n)}},{key:"bind",value:function(e){return this._gl.activeTexture(this._gl["TEXTURE"+e]),this._gl.bindTexture(this._gl.TEXTURE_2D,this._texture),!0}},{key:"unbind",value:function(e){}}]),e}(),gf={sizeDataColorsAndFlags:0,sizeDataPositionDecodeMatrices:0,sizeDataTextureOffsets:0,sizeDataTexturePositions:0,sizeDataTextureIndices:0,sizeDataTextureEdgeIndices:0,sizeDataTexturePortionIds:0,numberOfGeometries:0,numberOfPortions:0,numberOfLayers:0,numberOfTextures:0,totalPolygons:0,totalPolygons8Bits:0,totalPolygons16Bits:0,totalPolygons32Bits:0,totalEdges:0,totalEdges8Bits:0,totalEdges16Bits:0,totalEdges32Bits:0,cannotCreatePortion:{because10BitsObjectId:0,becauseTextureSize:0},overheadSizeAlignementIndices:0,overheadSizeAlignementEdgeIndices:0};window.printDataTextureRamStats=function(){console.log(JSON.stringify(gf,null,4));var e=0;Object.keys(gf).forEach((function(t){t.startsWith("size")&&(e+=gf[t])})),console.log("Total size ".concat(e," bytes (").concat((e/1e3/1e3).toFixed(2)," MB)")),console.log("Avg bytes / triangle: ".concat((e/gf.totalPolygons).toFixed(2)));var t={};Object.keys(gf).forEach((function(n){n.startsWith("size")&&(t[n]="".concat((gf[n]/e*100).toFixed(2)," % of total"))})),console.log(JSON.stringify({percentualRamUsage:t},null,4))};var Ef=function(){function e(){b(this,e)}return P(e,[{key:"disableBindedTextureFiltering",value:function(e){e.texParameteri(e.TEXTURE_2D,e.TEXTURE_MAG_FILTER,e.NEAREST),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_MIN_FILTER,e.NEAREST),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_WRAP_S,e.CLAMP_TO_EDGE),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_WRAP_T,e.CLAMP_TO_EDGE)}},{key:"generateTextureForColorsAndFlags",value:function(e,t,n,r,i,a,s){var o=t.length;this.numPortions=o;var l=4096,u=Math.ceil(o/512);if(0===u)throw"texture height===0";var c=new Uint8Array(16384*u);gf.sizeDataColorsAndFlags+=c.byteLength,gf.numberOfTextures++;for(var f=0;f>24&255,r[f]>>16&255,r[f]>>8&255,255&r[f]],32*f+16),c.set([i[f]>>24&255,i[f]>>16&255,i[f]>>8&255,255&i[f]],32*f+20),c.set([a[f]>>24&255,a[f]>>16&255,a[f]>>8&255,255&a[f]],32*f+24),c.set([s[f]?1:0,0,0,0],32*f+28);var p=e.createTexture();return e.bindTexture(e.TEXTURE_2D,p),e.texStorage2D(e.TEXTURE_2D,1,e.RGBA8UI,l,u),e.texSubImage2D(e.TEXTURE_2D,0,0,0,l,u,e.RGBA_INTEGER,e.UNSIGNED_BYTE,c,0),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_MAG_FILTER,e.NEAREST),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_MIN_FILTER,e.NEAREST),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_WRAP_S,e.CLAMP_TO_EDGE),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_WRAP_T,e.CLAMP_TO_EDGE),e.bindTexture(e.TEXTURE_2D,null),new wf(e,p,l,u,c)}},{key:"generateTextureForObjectOffsets",value:function(e,t){var n=512,r=Math.ceil(t/n);if(0===r)throw"texture height===0";var i=new Float32Array(1536*r).fill(0);gf.sizeDataTextureOffsets+=i.byteLength,gf.numberOfTextures++;var a=e.createTexture();return e.bindTexture(e.TEXTURE_2D,a),e.texStorage2D(e.TEXTURE_2D,1,e.RGB32F,n,r),e.texSubImage2D(e.TEXTURE_2D,0,0,0,n,r,e.RGB,e.FLOAT,i,0),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_MAG_FILTER,e.NEAREST),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_MIN_FILTER,e.NEAREST),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_WRAP_S,e.CLAMP_TO_EDGE),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_WRAP_T,e.CLAMP_TO_EDGE),e.bindTexture(e.TEXTURE_2D,null),new wf(e,a,n,r,i)}},{key:"generateTextureForInstancingMatrices",value:function(e,t){var n=t.length;if(0===n)throw"num instance matrices===0";var r=2048,i=Math.ceil(n/512),a=new Float32Array(8192*i);gf.numberOfTextures++;for(var s=0;s65536&&gf.cannotCreatePortion.because10BitsObjectId++;var n=this._numPortions+t<=65536,r=void 0!==e.geometryId&&null!==e.geometryId?"".concat(e.geometryId,"#").concat(0):"".concat(e.id,"#").concat(0);if(!this._bucketGeometries[r]){var i=Math.max(this._state.numIndices8Bits,this._state.numIndices16Bits,this._state.numIndices32Bits),a=0,s=0;e.buckets.forEach((function(e){a+=e.positionsCompressed.length/3,s+=e.indices.length/3})),(this._state.numVertices+a>16777216||i+s>16777216)&&gf.cannotCreatePortion.becauseTextureSize++,n&&(n=this._state.numVertices+a<=16777216&&i+s<=16777216)}return n}},{key:"createPortion",value:function(e){var t=this;if(this._finalized)throw"Already finalized";var n=[];e.buckets.forEach((function(r,i){var a=void 0!==e.geometryId&&null!==e.geometryId?"".concat(e.geometryId,"#").concat(i):"".concat(e.id,"#").concat(i),s=t._bucketGeometries[a];s||(s=t._createBucketGeometry(e,r),t._bucketGeometries[a]=s);var o=t._createSubPortion(e,s,r);n.push(o)}));var r=this._portionToSubPortionsMap.length;return this._portionToSubPortionsMap.push(n),this.model.numPortions++,r}},{key:"_createBucketGeometry",value:function(e,t){if(t.indices){var n=8*Math.ceil(t.indices.length/3/8)*3;gf.overheadSizeAlignementIndices+=2*(n-t.indices.length);var r=new Uint32Array(n);r.fill(0),r.set(t.indices),t.indices=r}if(t.edgeIndices){var i=8*Math.ceil(t.edgeIndices.length/2/8)*2;gf.overheadSizeAlignementEdgeIndices+=2*(i-t.edgeIndices.length);var a=new Uint32Array(i);a.fill(0),a.set(t.edgeIndices),t.edgeIndices=a}var s=t.positionsCompressed,o=t.indices,l=t.edgeIndices,u=this._buffer;u.positionsCompressed.push(s);var c,f=u.lenPositionsCompressed/3,p=s.length/3;u.lenPositionsCompressed+=s.length;var A,d,v=0;o&&(v=o.length/3,p<=256?(A=u.indices8Bits,c=u.lenIndices8Bits/3,u.lenIndices8Bits+=o.length):p<=65536?(A=u.indices16Bits,c=u.lenIndices16Bits/3,u.lenIndices16Bits+=o.length):(A=u.indices32Bits,c=u.lenIndices32Bits/3,u.lenIndices32Bits+=o.length),A.push(o));var h,I=0;l&&(I=l.length/2,p<=256?(h=u.edgeIndices8Bits,d=u.lenEdgeIndices8Bits/2,u.lenEdgeIndices8Bits+=l.length):p<=65536?(h=u.edgeIndices16Bits,d=u.lenEdgeIndices16Bits/2,u.lenEdgeIndices16Bits+=l.length):(h=u.edgeIndices32Bits,d=u.lenEdgeIndices32Bits/2,u.lenEdgeIndices32Bits+=l.length),h.push(l));return this._state.numVertices+=p,gf.numberOfGeometries++,{vertexBase:f,numVertices:p,numTriangles:v,numEdges:I,indicesBase:c,edgeIndicesBase:d,obb:null}}},{key:"_createSubPortion",value:function(e,t,n,r){var i=e.color;e.metallic,e.roughness;var a,s,o=e.colors,l=e.opacity,u=e.meshMatrix,c=e.pickColor,f=this._buffer,p=this._state;f.perObjectPositionsDecodeMatrices.push(e.positionsDecodeMatrix),f.perObjectInstancePositioningMatrices.push(u||Rf),f.perObjectSolid.push(!!e.solid),o?f.perObjectColors.push([255*o[0],255*o[1],255*o[2],255]):i&&f.perObjectColors.push([i[0],i[1],i[2],l]),f.perObjectPickColors.push(c),f.perObjectVertexBases.push(t.vertexBase),a=t.numVertices<=256?p.numIndices8Bits:t.numVertices<=65536?p.numIndices16Bits:p.numIndices32Bits,f.perObjectIndexBaseOffsets.push(a/3-t.indicesBase),s=t.numVertices<=256?p.numEdgeIndices8Bits:t.numVertices<=65536?p.numEdgeIndices16Bits:p.numEdgeIndices32Bits,f.perObjectEdgeIndexBaseOffsets.push(s/2-t.edgeIndicesBase);var A=this._subPortions.length;if(t.numTriangles>0){var d,v=3*t.numTriangles;t.numVertices<=256?(d=f.perTriangleNumberPortionId8Bits,p.numIndices8Bits+=v,gf.totalPolygons8Bits+=t.numTriangles):t.numVertices<=65536?(d=f.perTriangleNumberPortionId16Bits,p.numIndices16Bits+=v,gf.totalPolygons16Bits+=t.numTriangles):(d=f.perTriangleNumberPortionId32Bits,p.numIndices32Bits+=v,gf.totalPolygons32Bits+=t.numTriangles),gf.totalPolygons+=t.numTriangles;for(var h=0;h0){var I,y=2*t.numEdges;t.numVertices<=256?(I=f.perEdgeNumberPortionId8Bits,p.numEdgeIndices8Bits+=y,gf.totalEdges8Bits+=t.numEdges):t.numVertices<=65536?(I=f.perEdgeNumberPortionId16Bits,p.numEdgeIndices16Bits+=y,gf.totalEdges16Bits+=t.numEdges):(I=f.perEdgeNumberPortionId32Bits,p.numEdgeIndices32Bits+=y,gf.totalEdges32Bits+=t.numEdges),gf.totalEdges+=t.numEdges;for(var m=0;m0&&(n.texturePerEdgeIdPortionIds8Bits=this._dataTextureGenerator.generateTextureForPackedPortionIds(r,i.perEdgeNumberPortionId8Bits)),i.perEdgeNumberPortionId16Bits.length>0&&(n.texturePerEdgeIdPortionIds16Bits=this._dataTextureGenerator.generateTextureForPackedPortionIds(r,i.perEdgeNumberPortionId16Bits)),i.perEdgeNumberPortionId32Bits.length>0&&(n.texturePerEdgeIdPortionIds32Bits=this._dataTextureGenerator.generateTextureForPackedPortionIds(r,i.perEdgeNumberPortionId32Bits)),i.lenIndices8Bits>0&&(n.texturePerPolygonIdIndices8Bits=this._dataTextureGenerator.generateTextureFor8BitIndices(r,i.indices8Bits,i.lenIndices8Bits)),i.lenIndices16Bits>0&&(n.texturePerPolygonIdIndices16Bits=this._dataTextureGenerator.generateTextureFor16BitIndices(r,i.indices16Bits,i.lenIndices16Bits)),i.lenIndices32Bits>0&&(n.texturePerPolygonIdIndices32Bits=this._dataTextureGenerator.generateTextureFor32BitIndices(r,i.indices32Bits,i.lenIndices32Bits)),i.lenEdgeIndices8Bits>0&&(n.texturePerPolygonIdEdgeIndices8Bits=this._dataTextureGenerator.generateTextureFor8BitsEdgeIndices(r,i.edgeIndices8Bits,i.lenEdgeIndices8Bits)),i.lenEdgeIndices16Bits>0&&(n.texturePerPolygonIdEdgeIndices16Bits=this._dataTextureGenerator.generateTextureFor16BitsEdgeIndices(r,i.edgeIndices16Bits,i.lenEdgeIndices16Bits)),i.lenEdgeIndices32Bits>0&&(n.texturePerPolygonIdEdgeIndices32Bits=this._dataTextureGenerator.generateTextureFor32BitsEdgeIndices(r,i.edgeIndices32Bits,i.lenEdgeIndices32Bits)),n.finalize(),this._buffer=null,this._bucketGeometries={},this._finalized=!0,this._deferredSetFlagsDirty=!1,this._onSceneRendering=this.model.scene.on("rendering",(function(){e._deferredSetFlagsDirty&&e._uploadDeferredFlags(),e._numUpdatesInFrame=0}))}}},{key:"isEmpty",value:function(){return 0===this._numPortions}},{key:"initFlags",value:function(e,t,n){t&Me&&(this._numVisibleLayerPortions++,this.model.numVisibleLayerPortions++),t&ke&&(this._numHighlightedLayerPortions++,this.model.numHighlightedLayerPortions++),t&Ge&&(this._numXRayedLayerPortions++,this.model.numXRayedLayerPortions++),t&je&&(this._numSelectedLayerPortions++,this.model.numSelectedLayerPortions++),t&He&&(this._numClippableLayerPortions++,this.model.numClippableLayerPortions++),t&Ve&&(this._numEdgesLayerPortions++,this.model.numEdgesLayerPortions++),t&Fe&&(this._numPickableLayerPortions++,this.model.numPickableLayerPortions++),t&xe&&(this._numCulledLayerPortions++,this.model.numCulledLayerPortions++),n&&(this._numTransparentLayerPortions++,this.model.numTransparentLayerPortions++);this._setFlags(e,t,n,true),this._setFlags2(e,t,true)}},{key:"flushInitFlags",value:function(){this._setDeferredFlags(),this._setDeferredFlags2()}},{key:"setVisible",value:function(e,t,n){if(!this._finalized)throw"Not finalized";t&Me?(this._numVisibleLayerPortions++,this.model.numVisibleLayerPortions++):(this._numVisibleLayerPortions--,this.model.numVisibleLayerPortions--),this._setFlags(e,t,n)}},{key:"setHighlighted",value:function(e,t,n){if(!this._finalized)throw"Not finalized";t&ke?(this._numHighlightedLayerPortions++,this.model.numHighlightedLayerPortions++):(this._numHighlightedLayerPortions--,this.model.numHighlightedLayerPortions--),this._setFlags(e,t,n)}},{key:"setXRayed",value:function(e,t,n){if(!this._finalized)throw"Not finalized";t&Ge?(this._numXRayedLayerPortions++,this.model.numXRayedLayerPortions++):(this._numXRayedLayerPortions--,this.model.numXRayedLayerPortions--),this._setFlags(e,t,n)}},{key:"setSelected",value:function(e,t,n){if(!this._finalized)throw"Not finalized";t&je?(this._numSelectedLayerPortions++,this.model.numSelectedLayerPortions++):(this._numSelectedLayerPortions--,this.model.numSelectedLayerPortions--),this._setFlags(e,t,n)}},{key:"setEdges",value:function(e,t,n){if(!this._finalized)throw"Not finalized";t&Ve?(this._numEdgesLayerPortions++,this.model.numEdgesLayerPortions++):(this._numEdgesLayerPortions--,this.model.numEdgesLayerPortions--),this._setFlags(e,t,n)}},{key:"setClippable",value:function(e,t){if(!this._finalized)throw"Not finalized";t&He?(this._numClippableLayerPortions++,this.model.numClippableLayerPortions++):(this._numClippableLayerPortions--,this.model.numClippableLayerPortions--),this._setFlags2(e,t)}},{key:"_beginDeferredFlags",value:function(){this._deferredSetFlagsActive=!0}},{key:"_uploadDeferredFlags",value:function(){if(console.info("_uploadDeferredFlags"),this._deferredSetFlagsActive=!1,this._deferredSetFlagsDirty){this._deferredSetFlagsDirty=!1;var e=this.model.scene.canvas.gl,t=this._dataTextureState;e.bindTexture(e.TEXTURE_2D,t.texturePerObjectColorsAndFlags._texture),e.texSubImage2D(e.TEXTURE_2D,0,0,0,t.texturePerObjectColorsAndFlags._textureWidth,t.texturePerObjectColorsAndFlags._textureHeight,e.RGBA_INTEGER,e.UNSIGNED_BYTE,t.texturePerObjectColorsAndFlags._textureData)}}},{key:"setCulled",value:function(e,t,n){if(!this._finalized)throw"Not finalized";t&xe?(this._numCulledLayerPortions+=this._portionToSubPortionsMap[e].length,this.model.numCulledLayerPortions++):(this._numCulledLayerPortions-=this._portionToSubPortionsMap[e].length,this.model.numCulledLayerPortions--),this._setFlags(e,t,n)}},{key:"setCollidable",value:function(e,t){if(!this._finalized)throw"Not finalized"}},{key:"setPickable",value:function(e,t,n){if(!this._finalized)throw"Not finalized";t&Fe?(this._numPickableLayerPortions++,this.model.numPickableLayerPortions++):(this._numPickableLayerPortions--,this.model.numPickableLayerPortions--),this._setFlags(e,t,n)}},{key:"setColor",value:function(e,t){for(var n=this._portionToSubPortionsMap[e],r=0,i=n.length;r=10&&this._beginDeferredFlags(),console.info("_subPortionSetColor write through"),r.bindTexture(r.TEXTURE_2D,n.texturePerObjectColorsAndFlags._texture),r.texSubImage2D(r.TEXTURE_2D,0,e%512*8,Math.floor(e/512),1,1,r.RGBA_INTEGER,r.UNSIGNED_BYTE,bf)}},{key:"setTransparent",value:function(e,t,n){n?(this._numTransparentLayerPortions++,this.model.numTransparentLayerPortions++):(this._numTransparentLayerPortions--,this.model.numTransparentLayerPortions--),this._setFlags(e,t,n)}},{key:"_setFlags",value:function(e,t,n){for(var r=arguments.length>3&&void 0!==arguments[3]&&arguments[3],i=this._portionToSubPortionsMap[e],a=0,s=i.length;a3&&void 0!==arguments[3]&&arguments[3];if(!this._finalized)throw"Not finalized";var i,a,s=!!(t&Me),o=!!(t&Ge),l=!!(t&ke),u=!!(t&je),c=!!(t&Ve),f=!!(t&Fe),p=!!(t&xe);i=!s||p||o?Xs.NOT_RENDERED:n?Xs.COLOR_TRANSPARENT:Xs.COLOR_OPAQUE,a=!s||p?Xs.NOT_RENDERED:u?Xs.SILHOUETTE_SELECTED:l?Xs.SILHOUETTE_HIGHLIGHTED:o?Xs.SILHOUETTE_XRAYED:Xs.NOT_RENDERED;var A=0;A=!s||p?Xs.NOT_RENDERED:u?Xs.EDGES_SELECTED:l?Xs.EDGES_HIGHLIGHTED:o?Xs.EDGES_XRAYED:c?n?Xs.EDGES_COLOR_TRANSPARENT:Xs.EDGES_COLOR_OPAQUE:Xs.NOT_RENDERED;var d=s&&f?Xs.PICK:Xs.NOT_RENDERED,v=this._dataTextureState,h=this.model.scene.canvas.gl;bf[0]=i,bf[1]=a,bf[2]=A,bf[3]=d,v.texturePerObjectColorsAndFlags._textureData.set(bf,32*e+8),this._deferredSetFlagsActive||r?this._deferredSetFlagsDirty=!0:(++this._numUpdatesInFrame>=10&&this._beginDeferredFlags(),h.bindTexture(h.TEXTURE_2D,v.texturePerObjectColorsAndFlags._texture),h.texSubImage2D(h.TEXTURE_2D,0,e%512*8+2,Math.floor(e/512),1,1,h.RGBA_INTEGER,h.UNSIGNED_BYTE,bf))}},{key:"_setDeferredFlags",value:function(){}},{key:"_setFlags2",value:function(e,t){for(var n=arguments.length>2&&void 0!==arguments[2]&&arguments[2],r=this._portionToSubPortionsMap[e],i=0,a=r.length;i2&&void 0!==arguments[2]&&arguments[2];if(!this._finalized)throw"Not finalized";var r=t&He?255:0,i=this._dataTextureState,a=this.model.scene.canvas.gl;bf[0]=r,bf[1]=0,bf[2]=1,bf[3]=2,i.texturePerObjectColorsAndFlags._textureData.set(bf,32*e+12),this._deferredSetFlagsActive||n?this._deferredSetFlagsDirty=!0:(++this._numUpdatesInFrame>=10&&this._beginDeferredFlags(),a.bindTexture(a.TEXTURE_2D,i.texturePerObjectColorsAndFlags._texture),a.texSubImage2D(a.TEXTURE_2D,0,e%512*8+3,Math.floor(e/512),1,1,a.RGBA_INTEGER,a.UNSIGNED_BYTE,bf))}},{key:"_setDeferredFlags2",value:function(){}},{key:"setOffset",value:function(e,t){for(var n=this._portionToSubPortionsMap[e],r=0,i=n.length;r=10&&this._beginDeferredFlags(),r.bindTexture(r.TEXTURE_2D,n.texturePerObjectOffsets._texture),r.texSubImage2D(r.TEXTURE_2D,0,0,e,1,1,r.RGB,r.FLOAT,Df))}},{key:"setMatrix",value:function(e,t){for(var n=this._portionToSubPortionsMap[e],r=0,i=n.length;r=10&&this._beginDeferredFlags(),r.bindTexture(r.TEXTURE_2D,n.texturePerObjectInstanceMatrices._texture),r.texSubImage2D(r.TEXTURE_2D,0,e%512*4,Math.floor(e/512),4,1,r.RGBA,r.FLOAT,Tf))}},{key:"drawColorOpaque",value:function(e,t){this._numCulledLayerPortions!==this._numPortions&&0!==this._numVisibleLayerPortions&&this._numTransparentLayerPortions!==this._numPortions&&this._numXRayedLayerPortions!==this._numPortions&&(this._updateBackfaceCull(e,t),t.withSAO&&this.model.saoEnabled?this._dataTextureRenderers.colorRendererWithSAO&&this._dataTextureRenderers.colorRendererWithSAO.drawLayer(t,this,Xs.COLOR_OPAQUE):this._dataTextureRenderers.colorRenderer&&this._dataTextureRenderers.colorRenderer.drawLayer(t,this,Xs.COLOR_OPAQUE))}},{key:"_updateBackfaceCull",value:function(e,t){var n=this.model.backfaces||e.sectioned;if(t.backfaces!==n){var r=t.gl;n?r.disable(r.CULL_FACE):r.enable(r.CULL_FACE),t.backfaces=n}}},{key:"drawColorTransparent",value:function(e,t){this._numCulledLayerPortions!==this._numPortions&&0!==this._numVisibleLayerPortions&&0!==this._numTransparentLayerPortions&&this._numXRayedLayerPortions!==this._numPortions&&(this._updateBackfaceCull(e,t),this._dataTextureRenderers.colorRenderer&&this._dataTextureRenderers.colorRenderer.drawLayer(t,this,Xs.COLOR_TRANSPARENT))}},{key:"drawDepth",value:function(e,t){this._numCulledLayerPortions!==this._numPortions&&0!==this._numVisibleLayerPortions&&this._numTransparentLayerPortions!==this._numPortions&&this._numXRayedLayerPortions!==this._numPortions&&(this._updateBackfaceCull(e,t),this._dataTextureRenderers.depthRenderer&&this._dataTextureRenderers.depthRenderer.drawLayer(t,this,Xs.COLOR_OPAQUE))}},{key:"drawNormals",value:function(e,t){this._numCulledLayerPortions!==this._numPortions&&0!==this._numVisibleLayerPortions&&this._numTransparentLayerPortions!==this._numPortions&&this._numXRayedLayerPortions!==this._numPortions&&(this._updateBackfaceCull(e,t),this._dataTextureRenderers.normalsRenderer&&this._dataTextureRenderers.normalsRenderer.drawLayer(t,this,Xs.COLOR_OPAQUE))}},{key:"drawSilhouetteXRayed",value:function(e,t){this._numCulledLayerPortions!==this._numPortions&&0!==this._numVisibleLayerPortions&&0!==this._numXRayedLayerPortions&&(this._updateBackfaceCull(e,t),this._dataTextureRenderers.silhouetteRenderer&&this._dataTextureRenderers.silhouetteRenderer.drawLayer(t,this,Xs.SILHOUETTE_XRAYED))}},{key:"drawSilhouetteHighlighted",value:function(e,t){this._numCulledLayerPortions!==this._numPortions&&0!==this._numVisibleLayerPortions&&0!==this._numHighlightedLayerPortions&&(this._updateBackfaceCull(e,t),this._dataTextureRenderers.silhouetteRenderer&&this._dataTextureRenderers.silhouetteRenderer.drawLayer(t,this,Xs.SILHOUETTE_HIGHLIGHTED))}},{key:"drawSilhouetteSelected",value:function(e,t){this._numCulledLayerPortions!==this._numPortions&&0!==this._numVisibleLayerPortions&&0!==this._numSelectedLayerPortions&&(this._updateBackfaceCull(e,t),this._dataTextureRenderers.silhouetteRenderer&&this._dataTextureRenderers.silhouetteRenderer.drawLayer(t,this,Xs.SILHOUETTE_SELECTED))}},{key:"drawEdgesColorOpaque",value:function(e,t){this.model.scene.logarithmicDepthBufferEnabled?this.model.scene._loggedWarning||(console.log("Edge enhancement for SceneModel data texture layers currently disabled with logarithmic depth buffer"),this.model.scene._loggedWarning=!0):this._numCulledLayerPortions!==this._numPortions&&0!==this._numVisibleLayerPortions&&0!==this._numEdgesLayerPortions&&this._dataTextureRenderers.edgesColorRenderer&&this._dataTextureRenderers.edgesColorRenderer.drawLayer(t,this,Xs.EDGES_COLOR_OPAQUE)}},{key:"drawEdgesColorTransparent",value:function(e,t){this._numCulledLayerPortions!==this._numPortions&&0!==this._numVisibleLayerPortions&&0!==this._numEdgesLayerPortions&&0!==this._numTransparentLayerPortions&&this._dataTextureRenderers.edgesColorRenderer&&this._dataTextureRenderers.edgesColorRenderer.drawLayer(t,this,Xs.EDGES_COLOR_TRANSPARENT)}},{key:"drawEdgesHighlighted",value:function(e,t){this._numCulledLayerPortions!==this._numPortions&&0!==this._numVisibleLayerPortions&&0!==this._numHighlightedLayerPortions&&this._dataTextureRenderers.edgesRenderer&&this._dataTextureRenderers.edgesRenderer.drawLayer(t,this,Xs.EDGES_HIGHLIGHTED)}},{key:"drawEdgesSelected",value:function(e,t){this._numCulledLayerPortions!==this._numPortions&&0!==this._numVisibleLayerPortions&&0!==this._numSelectedLayerPortions&&this._dataTextureRenderers.edgesRenderer&&this._dataTextureRenderers.edgesRenderer.drawLayer(t,this,Xs.EDGES_SELECTED)}},{key:"drawEdgesXRayed",value:function(e,t){this._numCulledLayerPortions!==this._numPortions&&0!==this._numVisibleLayerPortions&&0!==this._numXRayedLayerPortions&&this._dataTextureRenderers.edgesRenderer&&this._dataTextureRenderers.edgesRenderer.drawLayer(t,this,Xs.EDGES_XRAYED)}},{key:"drawOcclusion",value:function(e,t){this._numCulledLayerPortions!==this._numPortions&&0!==this._numVisibleLayerPortions&&(this._updateBackfaceCull(e,t),this._dataTextureRenderers.occlusionRenderer&&this._dataTextureRenderers.occlusionRenderer.drawLayer(t,this,Xs.COLOR_OPAQUE))}},{key:"drawShadow",value:function(e,t){this._numCulledLayerPortions!==this._numPortions&&0!==this._numVisibleLayerPortions&&(this._updateBackfaceCull(e,t),this._dataTextureRenderers.shadowRenderer&&this._dataTextureRenderers.shadowRenderer.drawLayer(t,this,Xs.COLOR_OPAQUE))}},{key:"setPickMatrices",value:function(e,t){}},{key:"drawPickMesh",value:function(e,t){0!==this._numVisibleLayerPortions&&(this._updateBackfaceCull(e,t),this._dataTextureRenderers.pickMeshRenderer&&this._dataTextureRenderers.pickMeshRenderer.drawLayer(t,this,Xs.PICK))}},{key:"drawPickDepths",value:function(e,t){0!==this._numVisibleLayerPortions&&(this._updateBackfaceCull(e,t),this._dataTextureRenderers.pickDepthRenderer&&this._dataTextureRenderers.pickDepthRenderer.drawLayer(t,this,Xs.PICK))}},{key:"drawSnapInitDepthBuf",value:function(e,t){this._numCulledLayerPortions!==this._numPortions&&0!==this._numVisibleLayerPortions&&(this._updateBackfaceCull(e,t),this._dataTextureRenderers.snapDepthBufInitRenderer&&this._dataTextureRenderers.snapDepthBufInitRenderer.drawLayer(t,this,Xs.PICK))}},{key:"drawSnapDepths",value:function(e,t){this._numCulledLayerPortions!==this._numPortions&&0!==this._numVisibleLayerPortions&&(this._updateBackfaceCull(e,t),this._dataTextureRenderers.vertexDepthRenderer&&this._dataTextureRenderers.vertexDepthRenderer.drawLayer(t,this,Xs.PICK))}},{key:"drawPickNormals",value:function(e,t){this._numCulledLayerPortions!==this._numPortions&&0!==this._numVisibleLayerPortions&&(this._updateBackfaceCull(e,t),this._dataTextureRenderers.pickNormalsRenderer&&this._dataTextureRenderers.pickNormalsRenderer.drawLayer(t,this,Xs.PICK))}},{key:"destroy",value:function(){if(!this._destroyed){var e=this._state;e.metallicRoughnessBuf&&(e.metallicRoughnessBuf.destroy(),e.metallicRoughnessBuf=null),this.model.scene.off(this._onSceneRendering),e.destroy(),this._destroyed=!0}}}]),e}(),_f=$.vec4(4),Bf=$.vec4(),Of=$.vec4(),Sf=$.vec3([1,0,0]),Nf=$.vec3([0,1,0]),Lf=$.vec3([0,0,1]);$.vec3(3),$.vec3(3);var Mf=$.identityMat4(),xf=function(){function e(t){b(this,e),this._model=t.model,this.id=t.id,this._parentTransform=t.parent,this._childTransforms=[],this._meshes=[],this._scale=new Float32Array([1,1,1]),this._quaternion=$.identityQuaternion(new Float32Array(4)),this._rotation=new Float32Array(3),this._position=new Float32Array(3),this._localMatrix=$.identityMat4(new Float32Array(16)),this._worldMatrix=$.identityMat4(new Float32Array(16)),this._localMatrixDirty=!0,this._worldMatrixDirty=!0,t.matrix?this.matrix=t.matrix:(this.scale=t.scale,this.position=t.position,t.quaternion||(this.rotation=t.rotation)),t.parent&&t.parent._addChildTransform(this)}return P(e,[{key:"_addChildTransform",value:function(e){this._childTransforms.push(e),e._parentTransform=this,e._setWorldMatrixDirty(),e._setAABBDirty()}},{key:"_addMesh",value:function(e){this._meshes.push(e),e.transform=this}},{key:"parentTransform",get:function(){return this._parentTransform}},{key:"meshes",get:function(){return this._meshes}},{key:"position",get:function(){return this._position},set:function(e){this._position.set(e||[0,0,0]),this._setLocalMatrixDirty(),this._model.glRedraw()}},{key:"rotation",get:function(){return this._rotation},set:function(e){this._rotation.set(e||[0,0,0]),$.eulerToQuaternion(this._rotation,"XYZ",this._quaternion),this._setLocalMatrixDirty(),this._model.glRedraw()}},{key:"quaternion",get:function(){return this._quaternion},set:function(e){this._quaternion.set(e||[0,0,0,1]),$.quaternionToEuler(this._quaternion,"XYZ",this._rotation),this._setLocalMatrixDirty(),this._model.glRedraw()}},{key:"scale",get:function(){return this._scale},set:function(e){this._scale.set(e||[1,1,1]),this._setLocalMatrixDirty(),this._model.glRedraw()}},{key:"matrix",get:function(){return this._localMatrixDirty&&(this._localMatrix||(this._localMatrix=$.identityMat4()),$.composeMat4(this._position,this._quaternion,this._scale,this._localMatrix),this._localMatrixDirty=!1),this._localMatrix},set:function(e){this._localMatrix||(this._localMatrix=$.identityMat4()),this._localMatrix.set(e||Mf),$.decomposeMat4(this._localMatrix,this._position,this._quaternion,this._scale),this._localMatrixDirty=!1,this._transformDirty(),this._model.glRedraw()}},{key:"worldMatrix",get:function(){return this._worldMatrixDirty&&this._buildWorldMatrix(),this._worldMatrix}},{key:"rotate",value:function(e,t){return _f[0]=e[0],_f[1]=e[1],_f[2]=e[2],_f[3]=t*$.DEGTORAD,$.angleAxisToQuaternion(_f,Bf),$.mulQuaternions(this.quaternion,Bf,Of),this.quaternion=Of,this._setLocalMatrixDirty(),this._model.glRedraw(),this}},{key:"rotateOnWorldAxis",value:function(e,t){return _f[0]=e[0],_f[1]=e[1],_f[2]=e[2],_f[3]=t*$.DEGTORAD,$.angleAxisToQuaternion(_f,Bf),$.mulQuaternions(Bf,this.quaternion,Bf),this}},{key:"rotateX",value:function(e){return this.rotate(Sf,e)}},{key:"rotateY",value:function(e){return this.rotate(Nf,e)}},{key:"rotateZ",value:function(e){return this.rotate(Lf,e)}},{key:"translate",value:function(e){return this._position[0]+=e[0],this._position[1]+=e[1],this._position[2]+=e[2],this._setLocalMatrixDirty(),this._model.glRedraw(),this}},{key:"translateX",value:function(e){return this._position[0]+=e,this._setLocalMatrixDirty(),this._model.glRedraw(),this}},{key:"translateY",value:function(e){return this._position[1]+=e,this._setLocalMatrixDirty(),this._model.glRedraw(),this}},{key:"translateZ",value:function(e){return this._position[2]+=e,this._setLocalMatrixDirty(),this._model.glRedraw(),this}},{key:"_setLocalMatrixDirty",value:function(){this._localMatrixDirty=!0,this._transformDirty()}},{key:"_transformDirty",value:function(){this._worldMatrixDirty=!0;for(var e=0,t=this._childTransforms.length;e0)for(var r=n._meshes,i=0,a=r.length;i0)for(var s=this._meshes,o=0,l=s.length;o1&&void 0!==arguments[1]?arguments[1]:{};return b(this,n),(r=t.call(this,e,i))._dtxEnabled=r.scene.dtxEnabled&&!1!==i.dtxEnabled,r._enableVertexWelding=!1,r._enableIndexBucketing=!1,r._vboBatchingLayerScratchMemory=Ys(),r._textureTranscoder=i.textureTranscoder||Yu(r.scene.viewer),r._maxGeometryBatchSize=i.maxGeometryBatchSize,r._aabb=$.collapseAABB3(),r._aabbDirty=!0,r._quantizationRanges={},r._vboInstancingLayers={},r._vboBatchingLayers={},r._dtxLayers={},r._meshList=[],r.layerList=[],r._entityList=[],r._geometries={},r._dtxBuckets={},r._textures={},r._textureSets={},r._transforms={},r._meshes={},r._entities={},r._scheduledMeshes={},r.renderFlags=new Gi,r.numGeometries=0,r.numPortions=0,r.numVisibleLayerPortions=0,r.numTransparentLayerPortions=0,r.numXRayedLayerPortions=0,r.numHighlightedLayerPortions=0,r.numSelectedLayerPortions=0,r.numEdgesLayerPortions=0,r.numPickableLayerPortions=0,r.numClippableLayerPortions=0,r.numCulledLayerPortions=0,r.numEntities=0,r._numTriangles=0,r._numLines=0,r._numPoints=0,r._edgeThreshold=i.edgeThreshold||10,r._origin=$.vec3(i.origin||[0,0,0]),r._position=$.vec3(i.position||[0,0,0]),r._rotation=$.vec3(i.rotation||[0,0,0]),r._quaternion=$.vec4(i.quaternion||[0,0,0,1]),r._conjugateQuaternion=$.vec4(i.quaternion||[0,0,0,1]),i.rotation&&$.eulerToQuaternion(r._rotation,"XYZ",r._quaternion),r._scale=$.vec3(i.scale||[1,1,1]),r._worldRotationMatrix=$.mat4(),r._worldRotationMatrixConjugate=$.mat4(),r._matrix=$.mat4(),r._matrixDirty=!0,r._rebuildMatrices(),r._worldNormalMatrix=$.mat4(),$.inverseMat4(r._matrix,r._worldNormalMatrix),$.transposeMat4(r._worldNormalMatrix),(i.matrix||i.position||i.rotation||i.scale||i.quaternion)&&(r._viewMatrix=$.mat4(),r._viewNormalMatrix=$.mat4(),r._viewMatrixDirty=!0,r._matrixNonIdentity=!0),r._opacity=1,r._colorize=[1,1,1],r._saoEnabled=!1!==i.saoEnabled,r._pbrEnabled=!1!==i.pbrEnabled,r._colorTextureEnabled=!1!==i.colorTextureEnabled,r._isModel=i.isModel,r._isModel&&r.scene._registerModel(g(r)),r._onCameraViewMatrix=r.scene.camera.on("matrix",(function(){r._viewMatrixDirty=!0})),r._meshesWithDirtyMatrices=[],r._numMeshesWithDirtyMatrices=0,r._onTick=r.scene.on("tick",(function(){for(;r._numMeshesWithDirtyMatrices>0;)r._meshesWithDirtyMatrices[--r._numMeshesWithDirtyMatrices]._updateMatrix()})),r._createDefaultTextureSet(),r.visible=i.visible,r.culled=i.culled,r.pickable=i.pickable,r.clippable=i.clippable,r.collidable=i.collidable,r.castsShadow=i.castsShadow,r.receivesShadow=i.receivesShadow,r.xrayed=i.xrayed,r.highlighted=i.highlighted,r.selected=i.selected,r.edges=i.edges,r.colorize=i.colorize,r.opacity=i.opacity,r.backfaces=i.backfaces,r}return P(n,[{key:"_meshMatrixDirty",value:function(e){this._meshesWithDirtyMatrices[this._numMeshesWithDirtyMatrices++]=e}},{key:"_createDefaultTextureSet",value:function(){var e=new Fu({id:"defaultColorTexture",texture:new ba({gl:this.scene.canvas.gl,preloadColor:[1,1,1,1]})}),t=new Fu({id:"defaultMetalRoughTexture",texture:new ba({gl:this.scene.canvas.gl,preloadColor:[0,1,1,1]})}),n=new Fu({id:"defaultNormalsTexture",texture:new ba({gl:this.scene.canvas.gl,preloadColor:[0,0,0,0]})}),r=new Fu({id:"defaultEmissiveTexture",texture:new ba({gl:this.scene.canvas.gl,preloadColor:[0,0,0,1]})}),i=new Fu({id:"defaultOcclusionTexture",texture:new ba({gl:this.scene.canvas.gl,preloadColor:[1,1,1,1]})});this._textures.defaultColorTexture=e,this._textures.defaultMetalRoughTexture=t,this._textures.defaultNormalsTexture=n,this._textures.defaultEmissiveTexture=r,this._textures.defaultOcclusionTexture=i,this._textureSets.defaultTextureSet=new xu({id:"defaultTextureSet",model:this,colorTexture:e,metallicRoughnessTexture:t,normalsTexture:n,emissiveTexture:r,occlusionTexture:i})}},{key:"isPerformanceModel",get:function(){return!0}},{key:"transforms",get:function(){return this._transforms}},{key:"textures",get:function(){return this._textures}},{key:"textureSets",get:function(){return this._textureSets}},{key:"meshes",get:function(){return this._meshes}},{key:"objects",get:function(){return this._entities}},{key:"origin",get:function(){return this._origin}},{key:"position",get:function(){return this._position},set:function(e){this._position.set(e||[0,0,0]),this._setWorldMatrixDirty(),this._sceneModelDirty(),this.glRedraw()}},{key:"rotation",get:function(){return this._rotation},set:function(e){this._rotation.set(e||[0,0,0]),$.eulerToQuaternion(this._rotation,"XYZ",this._quaternion),this._setWorldMatrixDirty(),this._sceneModelDirty(),this.glRedraw()}},{key:"quaternion",get:function(){return this._quaternion},set:function(e){this._quaternion.set(e||[0,0,0,1]),$.quaternionToEuler(this._quaternion,"XYZ",this._rotation),this._setWorldMatrixDirty(),this._sceneModelDirty(),this.glRedraw()}},{key:"scale",get:function(){return this._scale},set:function(e){}},{key:"matrix",get:function(){return this._matrixDirty&&this._rebuildMatrices(),this._matrix},set:function(e){this._matrix.set(e||Vf),$.quaternionToRotationMat4(this._quaternion,this._worldRotationMatrix),$.conjugateQuaternion(this._quaternion,this._conjugateQuaternion),$.quaternionToRotationMat4(this._quaternion,this._worldRotationMatrixConjugate),this._matrix.set(this._worldRotationMatrix),$.translateMat4v(this._position,this._matrix),this._matrixDirty=!1,this._setWorldMatrixDirty(),this._sceneModelDirty(),this.glRedraw()}},{key:"rotationMatrix",get:function(){return this._matrixDirty&&this._rebuildMatrices(),this._worldRotationMatrix}},{key:"_rebuildMatrices",value:function(){this._matrixDirty&&($.quaternionToRotationMat4(this._quaternion,this._worldRotationMatrix),$.conjugateQuaternion(this._quaternion,this._conjugateQuaternion),$.quaternionToRotationMat4(this._quaternion,this._worldRotationMatrixConjugate),this._matrix.set(this._worldRotationMatrix),$.translateMat4v(this._position,this._matrix),this._matrixDirty=!1)}},{key:"rotationMatrixConjugate",get:function(){return this._matrixDirty&&this._rebuildMatrices(),this._worldRotationMatrixConjugate}},{key:"_setWorldMatrixDirty",value:function(){this._matrixDirty=!0,this._aabbDirty=!0}},{key:"_transformDirty",value:function(){this._matrixDirty=!0,this._aabbDirty=!0,this.scene._aabbDirty=!0}},{key:"_sceneModelDirty",value:function(){this.scene._aabbDirty=!0,this._aabbDirty=!0,this.scene._aabbDirty=!0,this._matrixDirty=!0;for(var e=0,t=this._entityList.length;e0},set:function(e){e=!1!==e,this._visible=e;for(var t=0,n=this._entityList.length;t0},set:function(e){e=!!e,this._xrayed=e;for(var t=0,n=this._entityList.length;t0},set:function(e){e=!!e,this._highlighted=e;for(var t=0,n=this._entityList.length;t0},set:function(e){e=!!e,this._selected=e;for(var t=0,n=this._entityList.length;t0},set:function(e){e=!!e,this._edges=e;for(var t=0,n=this._entityList.length;t0},set:function(e){e=!1!==e,this._pickable=e;for(var t=0,n=this._entityList.length;t0)e.colorsCompressed=new Uint8Array(e.colorsCompressed);else if(e.colors&&e.colors.length>0){for(var o=e.colors,l=new Uint8Array(o.length),u=0,c=o.length;u>24&255,i=n>>16&255,a=n>>8&255,s=255&n;switch(e.pickColor=new Uint8Array([s,a,i,r]),e.solid="solid"===e.primitive,t.origin=$.vec3(e.origin),e.type){case 2:t.layer=this._getDTXLayer(e),t.aabb=e.aabb;break;case 1:t.layer=this._getVBOBatchingLayer(e),t.aabb=e.aabb;break;case 0:t.layer=this._getVBOInstancingLayer(e),t.aabb=e.aabb}return e.transform&&(e.meshMatrix=e.transform.worldMatrix),t.portionId=t.layer.createPortion(e),this._meshes[e.id]=t,this._meshList.push(t),t}},{key:"_getNumPrimitives",value:function(e){var t=0;switch(e.geometry?e.geometry.primitive:e.primitive){case"triangles":case"solid":case"surface":switch(e.type){case 2:for(var n=0,r=e.buckets.length;n>>0).toString(16)}},{key:"_getVBOInstancingLayer",value:function(e){var t=this,n=e.origin,r=e.textureSetId||"-",i=e.geometryId,a="".concat(Math.round(n[0]),".").concat(Math.round(n[1]),".").concat(Math.round(n[2]),".").concat(r,".").concat(i),s=this._vboInstancingLayers[a];if(s)return s;for(var o=e.textureSet,l=e.geometry;!s;)switch(l.primitive){case"triangles":case"surface":s=new Jl({model:t,textureSet:o,geometry:l,origin:n,layerIndex:0,solid:!1});break;case"solid":s=new Jl({model:t,textureSet:o,geometry:l,origin:n,layerIndex:0,solid:!0});break;case"lines":s=new pu({model:t,textureSet:o,geometry:l,origin:n,layerIndex:0});break;case"points":s=new Mu({model:t,textureSet:o,geometry:l,origin:n,layerIndex:0})}return this._vboInstancingLayers[a]=s,this.layerList.push(s),s}},{key:"createEntity",value:function(e){if(void 0===e.id?e.id=$.createUUID():this.scene.components[e.id]&&(this.error("Scene already has a Component with this ID: ".concat(e.id," - will assign random ID")),e.id=$.createUUID()),void 0!==e.meshIds){var t=0;this._visible&&!1!==e.visible&&(t|=Me),this._pickable&&!1!==e.pickable&&(t|=Fe),this._culled&&!1!==e.culled&&(t|=xe),this._clippable&&!1!==e.clippable&&(t|=He),this._collidable&&!1!==e.collidable&&(t|=Ue),this._edges&&!1!==e.edges&&(t|=Ve),this._xrayed&&!1!==e.xrayed&&(t|=Ge),this._highlighted&&!1!==e.highlighted&&(t|=ke),this._selected&&!1!==e.selected&&(t|=je),e.flags=t,this._createEntity(e)}else this.error("Config missing: meshIds")}},{key:"_createEntity",value:function(e){for(var t=[],n=0,r=e.meshIds.length;nt.sortId?1:0}));for(var s=0,o=this.layerList.length;s0&&0===this.renderFlags.numVisibleLayers?this.renderFlags.culled=!0:this._updateRenderFlags()}},{key:"_updateRenderFlagsVisibleLayers",value:function(){var e=this.renderFlags;e.numLayers=this.layerList.length,e.numVisibleLayers=0;for(var t=0,n=this.layerList.length;t0)for(var a=0;a0&&(e.colorTransparent=!0),this.numXRayedLayerPortions>0){var t=this.scene.xrayMaterial._state;t.fill&&(t.fillAlpha<1?e.xrayedSilhouetteTransparent=!0:e.xrayedSilhouetteOpaque=!0),t.edges&&(t.edgeAlpha<1?e.xrayedEdgesTransparent=!0:e.xrayedEdgesOpaque=!0)}if(this.numEdgesLayerPortions>0)this.scene.edgeMaterial._state.edges&&(e.edgesOpaque=this.numTransparentLayerPortions0&&(e.edgesTransparent=!0));if(this.numSelectedLayerPortions>0){var n=this.scene.selectedMaterial._state;n.fill&&(n.fillAlpha<1?e.selectedSilhouetteTransparent=!0:e.selectedSilhouetteOpaque=!0),n.edges&&(n.edgeAlpha<1?e.selectedEdgesTransparent=!0:e.selectedEdgesOpaque=!0)}if(this.numHighlightedLayerPortions>0){var r=this.scene.highlightMaterial._state;r.fill&&(r.fillAlpha<1?e.highlightedSilhouetteTransparent=!0:e.highlightedSilhouetteOpaque=!0),r.edges&&(r.edgeAlpha<1?e.highlightedEdgesTransparent=!0:e.highlightedEdgesOpaque=!0)}}}},{key:"drawColorOpaque",value:function(e){for(var t=this.renderFlags,n=0,r=t.visibleLayers.length;n2&&void 0!==arguments[2]&&arguments[2],r=e.positionsCompressed||[],i=tc(e.indices||[],t),a=ic(e.edgeIndices||[]);function s(e,t){if(e>t){var n=e;e=t,t=n}function r(n,r){return n!==e?e-n:r!==t?t-r:0}for(var i=0,s=(a.length>>1)-1;i<=s;){var o=s+i>>1,l=r(a[2*o],a[2*o+1]);if(l>0)i=o+1;else{if(!(l<0))return o;s=o-1}}return-i-1}var o=new Int32Array(a.length/2);o.fill(0);var l=r.length/3;if(l>8*(1<p.maxNumPositions&&(p=f()),p.bucketNumber>8)return[e];-1===u[h]&&(u[h]=p.numPositions++,p.positionsCompressed.push(r[3*h]),p.positionsCompressed.push(r[3*h+1]),p.positionsCompressed.push(r[3*h+2])),-1===u[I]&&(u[I]=p.numPositions++,p.positionsCompressed.push(r[3*I]),p.positionsCompressed.push(r[3*I+1]),p.positionsCompressed.push(r[3*I+2])),-1===u[y]&&(u[y]=p.numPositions++,p.positionsCompressed.push(r[3*y]),p.positionsCompressed.push(r[3*y+1]),p.positionsCompressed.push(r[3*y+2])),p.indices.push(u[h]),p.indices.push(u[I]),p.indices.push(u[y]);var m=void 0;(m=s(h,I))>=0&&0===o[m]&&(o[m]=1,p.edgeIndices.push(u[a[2*m]]),p.edgeIndices.push(u[a[2*m+1]])),(m=s(h,y))>=0&&0===o[m]&&(o[m]=1,p.edgeIndices.push(u[a[2*m]]),p.edgeIndices.push(u[a[2*m+1]])),(m=s(I,y))>=0&&0===o[m]&&(o[m]=1,p.edgeIndices.push(u[a[2*m]]),p.edgeIndices.push(u[a[2*m+1]]))}var w=t/8*2,g=t/8,E=2*r.length+(i.length+a.length)*w,T=0;return r.length,c.forEach((function(e){T+=2*e.positionsCompressed.length+(e.indices.length+e.edgeIndices.length)*g,e.positionsCompressed.length})),T>E?[e]:(n&&ac(c,e),c)}({positionsCompressed:r,indices:i,edgeIndices:a},r.length/3>65536?16:8):s=[{positionsCompressed:r,indices:i,edgeIndices:a}];return s}var Kf=function(e){I(n,Wf);var t=m(n);function n(e){var r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return b(this,n),t.call(this,e,r)}return P(n)}(),Yf=function(e){I(n,ye);var t=m(n);function n(e){var r,i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return b(this,n),(r=t.call(this,e,i))._skyboxMesh=new Ji(g(r),{geometry:new Cn(g(r),{primitive:"triangles",positions:[1,1,1,-1,1,1,-1,-1,1,1,-1,1,1,1,1,1,-1,1,1,-1,-1,1,1,-1,1,1,1,1,1,-1,-1,1,-1,-1,1,1,-1,1,1,-1,1,-1,-1,-1,-1,-1,-1,1,-1,-1,-1,1,-1,-1,1,-1,1,-1,-1,1,1,-1,-1,-1,-1,-1,-1,1,-1,1,1,-1],uv:[.5,.6666,.25,.6666,.25,.3333,.5,.3333,.5,.6666,.5,.3333,.75,.3333,.75,.6666,.5,.6666,.5,1,.25,1,.25,.6666,.25,.6666,0,.6666,0,.3333,.25,.3333,.25,0,.5,0,.5,.3333,.25,.3333,.75,.3333,1,.3333,1,.6666,.75,.6666],indices:[0,1,2,0,2,3,4,5,6,4,6,7,8,9,10,8,10,11,12,13,14,12,14,15,16,17,18,16,18,19,20,21,22,20,22,23]}),background:!0,scale:[2e3,2e3,2e3],rotation:[0,-90,0],material:new Nn(g(r),{ambient:[0,0,0],diffuse:[0,0,0],specular:[0,0,0],emissive:[1,1,1],emissiveMap:new Ba(g(r),{src:i.src,flipY:!0,wrapS:"clampToEdge",wrapT:"clampToEdge",encoding:i.encoding||"sRGB"}),backfaces:!0}),visible:!1,pickable:!1,clippable:!1,collidable:!1}),r.size=i.size,r.active=i.active,r}return P(n,[{key:"size",get:function(){return this._size},set:function(e){this._size=e||1e3,this._skyboxMesh.scale=[this._size,this._size,this._size]}},{key:"active",get:function(){return this._skyboxMesh.visible},set:function(e){this._skyboxMesh.visible=e}}]),n}(),Xf=function(){function e(){b(this,e)}return P(e,[{key:"transcode",value:function(e,t){}},{key:"destroy",value:function(){}}]),e}(),qf=$.vec4(),Jf=$.vec4(),Zf=$.vec3(),$f=$.vec3(),ep=$.vec3(),tp=$.vec4(),np=$.vec4(),rp=$.vec4(),ip=function(){function e(t){b(this,e),this._scene=t}return P(e,[{key:"dollyToCanvasPos",value:function(e,t,n){var r=!1,i=this._scene.camera;if(e){var a=$.subVec3(e,i.eye,Zf);r=$.lenVec3(a)0&&void 0!==arguments[0]?arguments[0]:{};this.destroyPivotSphere(),this._pivotSphereEnabled=!0,e.size&&(this._pivotSphereSize=e.size);var t=e.color||[1,0,0];this._pivotSphereMaterial=new Nn(this._scene,{emissive:t,ambient:t,specular:[0,0,0],diffuse:[0,0,0]})}},{key:"disablePivotSphere",value:function(){this.destroyPivotSphere(),this._pivotSphereEnabled=!1}},{key:"startPivot",value:function(){if(this._cameraLookingDownwards())return this._pivoting=!1,!1;var e=this._scene.camera,t=$.lookAtMat4v(e.eye,e.look,e.worldUp);$.transformPoint3(t,this.getPivotPos(),this._cameraOffset);var n=this.getPivotPos();this._cameraOffset[2]+=$.distVec3(e.eye,n),t=$.inverseMat4(t);var r=$.transformVec3(t,this._cameraOffset),i=$.vec3();if($.subVec3(e.eye,n,i),$.addVec3(i,r),e.zUp){var a=i[1];i[1]=i[2],i[2]=a}this._radius=$.lenVec3(i),this._polar=Math.acos(i[1]/this._radius),this._azimuth=Math.atan2(i[0],i[2]),this._pivoting=!0}},{key:"_cameraLookingDownwards",value:function(){var e=this._scene.camera,t=$.normalizeVec3($.subVec3(e.look,e.eye,ap)),n=$.cross3Vec3(t,e.worldUp,sp);return $.sqLenVec3(n)<=1e-4}},{key:"getPivoting",value:function(){return this._pivoting}},{key:"setPivotPos",value:function(e){this._pivotWorldPos.set(e),this._pivotPosSet=!0}},{key:"setCanvasPivotPos",value:function(e){var t=this._scene.camera,n=Math.abs($.distVec3(this._scene.center,t.eye)),r=t.project.transposedMatrix,i=r.subarray(8,12),a=r.subarray(12),s=[0,0,-1,1],o=$.dotVec4(s,i)/$.dotVec4(s,a),l=lp;t.project.unproject(e,o,up,cp,l);var u=$.normalizeVec3($.subVec3(l,t.eye,ap)),c=$.addVec3(t.eye,$.mulVec3Scalar(u,n,sp),op);this.setPivotPos(c)}},{key:"getPivotPos",value:function(){return this._pivotPosSet?this._pivotWorldPos:this._scene.camera.look}},{key:"continuePivot",value:function(e,t){if(this._pivoting&&(0!==e||0!==t)){var n=this._scene.camera,r=-e,i=-t;1===n.worldUp[2]&&(r=-r),this._azimuth+=.01*-r,this._polar+=.01*i,this._polar=$.clamp(this._polar,.001,Math.PI-.001);var a=[this._radius*Math.sin(this._polar)*Math.sin(this._azimuth),this._radius*Math.cos(this._polar),this._radius*Math.sin(this._polar)*Math.cos(this._azimuth)];if(1===n.worldUp[2]){var s=a[1];a[1]=a[2],a[2]=s}var o=$.lenVec3($.subVec3(n.look,n.eye,$.vec3())),l=this.getPivotPos();$.addVec3(a,l);var u=$.lookAtMat4v(a,l,n.worldUp);u=$.inverseMat4(u);var c=$.transformVec3(u,this._cameraOffset);u[12]-=c[0],u[13]-=c[1],u[14]-=c[2];var f=[u[8],u[9],u[10]];n.eye=[u[12],u[13],u[14]],$.subVec3(n.eye,$.mulVec3Scalar(f,o),n.look),n.up=[u[4],u[5],u[6]],this.showPivot()}}},{key:"showPivot",value:function(){this._shown||(this._pivotElement&&(this.updatePivotElement(),this._pivotElement.style.visibility="visible"),this._pivotSphereEnabled&&(this.destroyPivotSphere(),this.createPivotSphere()),this._shown=!0)}},{key:"hidePivot",value:function(){this._shown&&(this._pivotElement&&(this._pivotElement.style.visibility="hidden"),this._pivotSphereEnabled&&this.destroyPivotSphere(),this._shown=!1)}},{key:"endPivot",value:function(){this._pivoting=!1}},{key:"destroy",value:function(){this.destroyPivotSphere(),this._scene.camera.off(this._onViewMatrix),this._scene.camera.off(this._onProjMatrix),this._scene.off(this._onTick)}}]),e}(),pp=function(){function e(t,n){b(this,e),this._scene=t.scene,this._cameraControl=t,this._scene.canvas.canvas.oncontextmenu=function(e){e.preventDefault()},this._configs=n,this.schedulePickEntity=!1,this.schedulePickSurface=!1,this.scheduleSnapOrPick=!1,this.pickCursorPos=$.vec2(),this.picked=!1,this.pickedSurface=!1,this.pickResult=null,this._lastPickedEntityId=null,this._lastHash=null,this._needFireEvents=0}return P(e,[{key:"update",value:function(){if(this._configs.pointerEnabled&&(this.schedulePickEntity||this.schedulePickSurface)){var e="".concat(~~this.pickCursorPos[0],"-").concat(~~this.pickCursorPos[1],"-").concat(this.scheduleSnapOrPick,"-").concat(this.schedulePickSurface,"-").concat(this.schedulePickEntity);if(this._lastHash!==e){this.picked=!1,this.pickedSurface=!1,this.snappedOrPicked=!1,this.hoveredSnappedOrSurfaceOff=!1;var t=this._cameraControl.hasSubs("hoverSurface");if(this.scheduleSnapOrPick){var n=this._scene.pick({canvasPos:this.pickCursorPos,snapRadius:this._configs.snapRadius,snapToVertex:this._configs.snapToVertex,snapToEdge:this._configs.snapToEdge});n&&(n.snappedToEdge||n.snappedToVertex)?(this.snapPickResult=n,this.snappedOrPicked=!0,this._needFireEvents++):(this.schedulePickSurface=!0,this.snapPickResult=null)}if(this.schedulePickSurface&&this.pickResult&&this.pickResult.worldPos){var r=this.pickResult.canvasPos;if(r[0]===this.pickCursorPos[0]&&r[1]===this.pickCursorPos[1])return this.picked=!0,this.pickedSurface=!0,this._needFireEvents+=t?1:0,this.schedulePickEntity=!1,this.schedulePickSurface=!1,this.scheduleSnapOrPick?this.snappedOrPicked=!0:this.hoveredSnappedOrSurfaceOff=!0,void(this.scheduleSnapOrPick=!1)}if(this.schedulePickEntity&&this.pickResult&&(this.pickResult.canvasPos||this.pickResult.snappedCanvasPos)){var i=this.pickResult.canvasPos||this.pickResult.snappedCanvasPos;if(i[0]===this.pickCursorPos[0]&&i[1]===this.pickCursorPos[1])return this.picked=!0,this.pickedSurface=!1,this.schedulePickEntity=!1,void(this.schedulePickSurface=!1)}this.schedulePickSurface||this.scheduleSnapOrPick&&!this.snapPickResult?(this.pickResult=this._scene.pick({pickSurface:!0,pickSurfaceNormal:!1,canvasPos:this.pickCursorPos}),this.pickResult?(this.picked=!0,this.scheduleSnapOrPick?this.snappedOrPicked=!0:this.pickedSurface=!0,this._needFireEvents++):this.scheduleSnapOrPick&&(this.hoveredSnappedOrSurfaceOff=!0,this._needFireEvents++)):(this.pickResult=this._scene.pick({canvasPos:this.pickCursorPos}),this.pickResult&&(this.picked=!0,this.pickedSurface=!1,this._needFireEvents++)),this.scheduleSnapOrPick=!1,this.schedulePickEntity=!1,this.schedulePickSurface=!1}}}},{key:"fireEvents",value:function(){if(0!==this._needFireEvents){if(this.hoveredSnappedOrSurfaceOff&&this._cameraControl.fire("hoverSnapOrSurfaceOff",{canvasPos:this.pickCursorPos,pointerPos:this.pickCursorPos},!0),this.snappedOrPicked)if(this.snapPickResult){var e=new It;e.snappedToVertex=this.snapPickResult.snappedToVertex,e.snappedToEdge=this.snapPickResult.snappedToEdge,e.worldPos=this.snapPickResult.worldPos,e.canvasPos=this.pickCursorPos,e.snappedCanvasPos=this.snapPickResult.snappedCanvasPos,this._cameraControl.fire("hoverSnapOrSurface",e,!0),this.snapPickResult=null}else this._cameraControl.fire("hoverSnapOrSurface",this.pickResult,!0);if(this.picked&&this.pickResult&&(this.pickResult.entity||this.pickResult.worldPos)){if(this.pickResult.entity){var t=this.pickResult.entity.id;this._lastPickedEntityId!==t&&(void 0!==this._lastPickedEntityId&&this._cameraControl.fire("hoverOut",{entity:this._scene.objects[this._lastPickedEntityId]},!0),this._cameraControl.fire("hoverEnter",this.pickResult,!0),this._lastPickedEntityId=t)}this._cameraControl.fire("hover",this.pickResult,!0),this.pickResult.worldPos&&(this.pickedSurface=!0,this._cameraControl.fire("hoverSurface",this.pickResult,!0))}else void 0!==this._lastPickedEntityId&&(this._cameraControl.fire("hoverOut",{entity:this._scene.objects[this._lastPickedEntityId]},!0),this._lastPickedEntityId=void 0),this._cameraControl.fire("hoverOff",{canvasPos:this.pickCursorPos},!0);this.pickResult=null,this._needFireEvents=0}}}]),e}(),Ap=$.vec2(),dp=function(){function e(t,n,r,i,a){b(this,e),this._scene=t;var s,o,l,u=n.pickController,c=0,f=0,p=0,A=0,d=!1,v=$.vec3(),h=!0,I=this._scene.canvas.canvas,y=[];function m(){var e=!(arguments.length>0&&void 0!==arguments[0])||arguments[0];I.style.cursor="move",w(),e&&g()}function w(){c=i.pointerCanvasPos[0],f=i.pointerCanvasPos[1],p=i.pointerCanvasPos[0],A=i.pointerCanvasPos[1]}function g(){u.pickCursorPos=i.pointerCanvasPos,u.schedulePickSurface=!0,u.update(),u.picked&&u.pickedSurface&&u.pickResult&&u.pickResult.worldPos?(d=!0,v.set(u.pickResult.worldPos)):d=!1}document.addEventListener("keydown",this._documentKeyDownHandler=function(e){if(r.active&&r.pointerEnabled&&t.input.keyboardEnabled){var n=e.keyCode;y[n]=!0}}),document.addEventListener("keyup",this._documentKeyUpHandler=function(e){if(r.active&&r.pointerEnabled&&t.input.keyboardEnabled){var n=e.keyCode;y[n]=!1}}),I.addEventListener("mousedown",this._mouseDownHandler=function(e){if(r.active&&r.pointerEnabled)switch(e.which){case 1:y[t.input.KEY_SHIFT]||r.planView?(s=!0,m()):(s=!0,m(!1));break;case 2:o=!0,m();break;case 3:l=!0,r.panRightClick&&m()}}),document.addEventListener("mousemove",this._documentMouseMoveHandler=function(){if(r.active&&r.pointerEnabled&&(s||o||l)){var e=t.canvas.boundary,n=e[2],u=e[3],p=i.pointerCanvasPos[0],A=i.pointerCanvasPos[1];if(y[t.input.KEY_SHIFT]||r.planView||!r.panRightClick&&o||r.panRightClick&&l){var h=p-c,I=A-f,m=t.camera;if("perspective"===m.projection){var w=Math.abs(d?$.lenVec3($.subVec3(v,t.camera.eye,[])):t.camera.eyeLookDist)*Math.tan(m.perspective.fov/2*Math.PI/180);a.panDeltaX+=1.5*h*w/u,a.panDeltaY+=1.5*I*w/u}else a.panDeltaX+=.5*m.ortho.scale*(h/u),a.panDeltaY+=.5*m.ortho.scale*(I/u)}else!s||o||l||r.planView||(r.firstPerson?(a.rotateDeltaY-=(p-c)/n*r.dragRotationRate/2,a.rotateDeltaX+=(A-f)/u*(r.dragRotationRate/4)):(a.rotateDeltaY-=(p-c)/n*(1.5*r.dragRotationRate),a.rotateDeltaX+=(A-f)/u*(1.5*r.dragRotationRate)));c=p,f=A}}),I.addEventListener("mousemove",this._canvasMouseMoveHandler=function(e){r.active&&r.pointerEnabled&&i.mouseover&&(h=!0)}),document.addEventListener("mouseup",this._documentMouseUpHandler=function(e){if(r.active&&r.pointerEnabled)switch(e.which){case 1:case 2:case 3:s=!1,o=!1,l=!1}}),I.addEventListener("mouseup",this._mouseUpHandler=function(e){if(r.active&&r.pointerEnabled){if(3===e.which){!function(e,t){if(e){for(var n=e.target,r=0,i=0,a=0,s=0;n.offsetParent;)r+=n.offsetLeft,i+=n.offsetTop,a+=n.scrollLeft,s+=n.scrollTop,n=n.offsetParent;t[0]=e.pageX+a-r,t[1]=e.pageY+s-i}else e=window.event,t[0]=e.x,t[1]=e.y}(e,Ap);var t=Ap[0],i=Ap[1];Math.abs(t-p)<3&&Math.abs(i-A)<3&&n.cameraControl.fire("rightClick",{pagePos:[Math.round(e.pageX),Math.round(e.pageY)],canvasPos:Ap,event:e},!0)}I.style.removeProperty("cursor")}}),I.addEventListener("mouseenter",this._mouseEnterHandler=function(){r.active&&r.pointerEnabled});var E=1/60,T=null;I.addEventListener("wheel",this._mouseWheelHandler=function(e){if(r.active&&r.pointerEnabled){var t=performance.now()/1e3,n=null!==T?t-T:0;T=t,n>.05&&(n=.05),n0?n.cameraFlight.flyTo(wp,(function(){n.pivotController.getPivoting()&&r.followPointer&&n.pivotController.showPivot()})):(n.cameraFlight.jumpTo(wp),n.pivotController.getPivoting()&&r.followPointer&&n.pivotController.showPivot())}}}))}return P(e,[{key:"reset",value:function(){}},{key:"destroy",value:function(){this._scene.input.off(this._onSceneKeyDown)}}]),e}(),Ep=function(){function e(t,n,r,i,a){var s=this;b(this,e),this._scene=t;var o=n.pickController,l=n.pivotController,u=n.cameraControl;this._clicks=0,this._timeout=null,this._lastPickedEntityId=null;var c=!1,f=!1,p=this._scene.canvas.canvas,A=function(e){var r;e&&e.worldPos&&(r=e.worldPos);var i=e&&e.entity?e.entity.aabb:t.aabb;if(r){var a=t.camera;$.subVec3(a.eye,a.look,[]),n.cameraFlight.flyTo({aabb:i})}else n.cameraFlight.flyTo({aabb:i})},d=t.tickify(this._canvasMouseMoveHandler=function(e){if(r.active&&r.pointerEnabled&&!c&&!f){var n=u.hasSubs("hover"),a=u.hasSubs("hoverEnter"),l=u.hasSubs("hoverOut"),p=u.hasSubs("hoverOff"),A=u.hasSubs("hoverSurface"),d=u.hasSubs("hoverSnapOrSurface");if(n||a||l||p||A||d)if(o.pickCursorPos=i.pointerCanvasPos,o.schedulePickEntity=!0,o.schedulePickSurface=A,o.scheduleSnapOrPick=d,o.update(),o.pickResult){if(o.pickResult.entity){var v=o.pickResult.entity.id;s._lastPickedEntityId!==v&&(void 0!==s._lastPickedEntityId&&u.fire("hoverOut",{entity:t.objects[s._lastPickedEntityId]},!0),u.fire("hoverEnter",o.pickResult,!0),s._lastPickedEntityId=v)}u.fire("hover",o.pickResult,!0),(o.pickResult.worldPos||o.pickResult.snappedWorldPos)&&u.fire("hoverSurface",o.pickResult,!0)}else void 0!==s._lastPickedEntityId&&(u.fire("hoverOut",{entity:t.objects[s._lastPickedEntityId]},!0),s._lastPickedEntityId=void 0),u.fire("hoverOff",{canvasPos:o.pickCursorPos},!0)}});p.addEventListener("mousemove",d),p.addEventListener("mousedown",this._canvasMouseDownHandler=function(e){if(1===e.which&&(c=!0),3===e.which&&(f=!0),1===e.which&&r.active&&r.pointerEnabled&&(i.mouseDownClientX=e.clientX,i.mouseDownClientY=e.clientY,i.mouseDownCursorX=i.pointerCanvasPos[0],i.mouseDownCursorY=i.pointerCanvasPos[1],!r.firstPerson&&r.followPointer&&(o.pickCursorPos=i.pointerCanvasPos,o.schedulePickSurface=!0,o.update(),1===e.which))){var n=o.pickResult;n&&n.worldPos?(l.setPivotPos(n.worldPos),l.startPivot()):(r.smartPivot?l.setCanvasPivotPos(i.pointerCanvasPos):l.setPivotPos(t.camera.look),l.startPivot())}}),document.addEventListener("mouseup",this._documentMouseUpHandler=function(e){1===e.which&&(c=!1),3===e.which&&(f=!1),l.getPivoting()&&l.endPivot()}),p.addEventListener("mouseup",this._canvasMouseUpHandler=function(e){if(r.active&&r.pointerEnabled&&(1===e.which&&(l.hidePivot(),!(Math.abs(e.clientX-i.mouseDownClientX)>3||Math.abs(e.clientY-i.mouseDownClientY)>3)))){var a=u.hasSubs("picked"),c=u.hasSubs("pickedNothing"),f=u.hasSubs("pickedSurface"),p=u.hasSubs("doublePicked"),d=u.hasSubs("doublePickedSurface"),v=u.hasSubs("doublePickedNothing");if(!(r.doublePickFlyTo||p||d||v))return(a||c||f)&&(o.pickCursorPos=i.pointerCanvasPos,o.schedulePickEntity=!0,o.schedulePickSurface=f,o.update(),o.pickResult?(u.fire("picked",o.pickResult,!0),o.pickedSurface&&u.fire("pickedSurface",o.pickResult,!0)):u.fire("pickedNothing",{canvasPos:i.pointerCanvasPos},!0)),void(s._clicks=0);if(s._clicks++,1===s._clicks){o.pickCursorPos=i.pointerCanvasPos,o.schedulePickEntity=r.doublePickFlyTo,o.schedulePickSurface=f,o.update();var h=o.pickResult,I=o.pickedSurface;s._timeout=setTimeout((function(){h?(u.fire("picked",h,!0),I&&(u.fire("pickedSurface",h,!0),!r.firstPerson&&r.followPointer&&(n.pivotController.setPivotPos(h.worldPos),n.pivotController.startPivot()&&n.pivotController.showPivot()))):u.fire("pickedNothing",{canvasPos:i.pointerCanvasPos},!0),s._clicks=0}),r.doubleClickTimeFrame)}else{if(null!==s._timeout&&(window.clearTimeout(s._timeout),s._timeout=null),o.pickCursorPos=i.pointerCanvasPos,o.schedulePickEntity=r.doublePickFlyTo||p||d,o.schedulePickSurface=o.schedulePickEntity&&d,o.update(),o.pickResult){if(u.fire("doublePicked",o.pickResult,!0),o.pickedSurface&&u.fire("doublePickedSurface",o.pickResult,!0),r.doublePickFlyTo&&(A(o.pickResult),!r.firstPerson&&r.followPointer)){var y=o.pickResult.entity.aabb,m=$.getAABB3Center(y);n.pivotController.setPivotPos(m),n.pivotController.startPivot()&&n.pivotController.showPivot()}}else if(u.fire("doublePickedNothing",{canvasPos:i.pointerCanvasPos},!0),r.doublePickFlyTo&&(A(),!r.firstPerson&&r.followPointer)){var w=t.aabb,g=$.getAABB3Center(w);n.pivotController.setPivotPos(g),n.pivotController.startPivot()&&n.pivotController.showPivot()}s._clicks=0}}},!1)}return P(e,[{key:"reset",value:function(){this._clicks=0,this._lastPickedEntityId=null,this._timeout&&(window.clearTimeout(this._timeout),this._timeout=null)}},{key:"destroy",value:function(){var e=this._scene.canvas.canvas;e.removeEventListener("mousemove",this._canvasMouseMoveHandler),e.removeEventListener("mousedown",this._canvasMouseDownHandler),document.removeEventListener("mouseup",this._documentMouseUpHandler),e.removeEventListener("mouseup",this._canvasMouseUpHandler),this._timeout&&(window.clearTimeout(this._timeout),this._timeout=null)}}]),e}(),Tp=function(){function e(t,n,r,i,a){b(this,e),this._scene=t;var s=t.input,o=[],l=t.canvas.canvas,u=!0;this._onSceneMouseMove=s.on("mousemove",(function(){u=!0})),this._onSceneKeyDown=s.on("keydown",(function(e){r.active&&r.pointerEnabled&&t.input.keyboardEnabled&&i.mouseover&&(o[e]=!0,e===s.KEY_SHIFT&&(l.style.cursor="move"))})),this._onSceneKeyUp=s.on("keyup",(function(e){r.active&&r.pointerEnabled&&t.input.keyboardEnabled&&(o[e]=!1,e===s.KEY_SHIFT&&(l.style.cursor=null),n.pivotController.getPivoting()&&n.pivotController.endPivot())})),this._onTick=t.on("tick",(function(e){if(r.active&&r.pointerEnabled&&t.input.keyboardEnabled&&i.mouseover){var l=n.cameraControl,c=e.deltaTime/1e3;if(!r.planView){var f=l._isKeyDownForAction(l.ROTATE_Y_POS,o),p=l._isKeyDownForAction(l.ROTATE_Y_NEG,o),A=l._isKeyDownForAction(l.ROTATE_X_POS,o),d=l._isKeyDownForAction(l.ROTATE_X_NEG,o),v=c*r.keyboardRotationRate;(f||p||A||d)&&(!r.firstPerson&&r.followPointer&&n.pivotController.startPivot(),f?a.rotateDeltaY+=v:p&&(a.rotateDeltaY-=v),A?a.rotateDeltaX+=v:d&&(a.rotateDeltaX-=v),!r.firstPerson&&r.followPointer&&n.pivotController.startPivot())}if(!o[s.KEY_CTRL]&&!o[s.KEY_ALT]){var h=l._isKeyDownForAction(l.DOLLY_BACKWARDS,o),I=l._isKeyDownForAction(l.DOLLY_FORWARDS,o);if(h||I){var y=c*r.keyboardDollyRate;!r.firstPerson&&r.followPointer&&n.pivotController.startPivot(),I?a.dollyDelta-=y:h&&(a.dollyDelta+=y),u&&(i.followPointerDirty=!0,u=!1)}}var m=l._isKeyDownForAction(l.PAN_FORWARDS,o),w=l._isKeyDownForAction(l.PAN_BACKWARDS,o),g=l._isKeyDownForAction(l.PAN_LEFT,o),E=l._isKeyDownForAction(l.PAN_RIGHT,o),T=l._isKeyDownForAction(l.PAN_UP,o),b=l._isKeyDownForAction(l.PAN_DOWN,o),D=(o[s.KEY_ALT]?.3:1)*c*r.keyboardPanRate;(m||w||g||E||T||b)&&(!r.firstPerson&&r.followPointer&&n.pivotController.startPivot(),b?a.panDeltaY+=D:T&&(a.panDeltaY+=-D),E?a.panDeltaX+=-D:g&&(a.panDeltaX+=D),w?a.panDeltaZ+=D:m&&(a.panDeltaZ+=-D))}}))}return P(e,[{key:"reset",value:function(){}},{key:"destroy",value:function(){this._scene.off(this._onTick),this._scene.input.off(this._onSceneMouseMove),this._scene.input.off(this._onSceneKeyDown),this._scene.input.off(this._onSceneKeyUp)}}]),e}(),bp=$.vec3(),Dp=function(){function e(t,n,r,i,a){b(this,e),this._scene=t;var s=t.camera,o=n.pickController,l=n.pivotController,u=n.panController,c=1,f=1,p=null;this._onTick=t.on("tick",(function(){if(r.active&&r.pointerEnabled){var e="default";if(Math.abs(a.dollyDelta)<.001&&(a.dollyDelta=0),Math.abs(a.rotateDeltaX)<.001&&(a.rotateDeltaX=0),Math.abs(a.rotateDeltaY)<.001&&(a.rotateDeltaY=0),0===a.rotateDeltaX&&0===a.rotateDeltaY||(a.dollyDelta=0),r.followPointer&&--c<=0&&(c=1,0!==a.dollyDelta)){if(0===a.rotateDeltaY&&0===a.rotateDeltaX&&r.followPointer&&i.followPointerDirty&&(o.pickCursorPos=i.pointerCanvasPos,o.schedulePickSurface=!0,o.update(),o.pickResult&&o.pickResult.worldPos?p=o.pickResult.worldPos:(f=1,p=null),i.followPointerDirty=!1),p){var n=Math.abs($.lenVec3($.subVec3(p,t.camera.eye,bp)));f=n/r.dollyProximityThreshold}fr.longTapRadius||Math.abs(I)>r.longTapRadius)&&(clearTimeout(i.longTouchTimeout),i.longTouchTimeout=null),r.planView){var y=t.camera;if("perspective"===y.projection){var m=Math.abs(t.camera.eyeLookDist)*Math.tan(y.perspective.fov/2*Math.PI/180);a.panDeltaX+=h*m/l*r.touchPanRate,a.panDeltaY+=I*m/l*r.touchPanRate}else a.panDeltaX+=.5*y.ortho.scale*(h/l)*r.touchPanRate,a.panDeltaY+=.5*y.ortho.scale*(I/l)*r.touchPanRate}else a.rotateDeltaY-=h/o*(1*r.dragRotationRate),a.rotateDeltaX+=I/l*(1.5*r.dragRotationRate)}else if(2===d){var w=A[0],g=A[1];Cp(w,u),Cp(g,c);var E=$.geometricMeanVec2(p[0],p[1]),T=$.geometricMeanVec2(u,c),b=$.vec2();$.subVec2(E,T,b);var D=b[0],P=b[1],R=t.camera,C=$.distVec2([w.pageX,w.pageY],[g.pageX,g.pageY]),_=($.distVec2(p[0],p[1])-C)*r.touchDollyRate;if(a.dollyDelta=_,Math.abs(_)<1)if("perspective"===R.projection){var B=s.pickResult?s.pickResult.worldPos:t.center,O=Math.abs($.lenVec3($.subVec3(B,t.camera.eye,[])))*Math.tan(R.perspective.fov/2*Math.PI/180);a.panDeltaX-=D*O/l*r.touchPanRate,a.panDeltaY-=P*O/l*r.touchPanRate}else a.panDeltaX-=.5*R.ortho.scale*(D/l)*r.touchPanRate,a.panDeltaY-=.5*R.ortho.scale*(P/l)*r.touchPanRate;i.pointerCanvasPos=T}for(var S=0;S-1&&t-f<150&&(p>-1&&f-p<325?(Bp(a[0],o.pickCursorPos),o.schedulePickEntity=!0,o.schedulePickSurface=s,o.update(),o.pickResult?(o.pickResult.touchInput=!0,l.fire("doublePicked",o.pickResult),o.pickedSurface&&l.fire("doublePickedSurface",o.pickResult),r.doublePickFlyTo&&d(o.pickResult)):(l.fire("doublePickedNothing"),r.doublePickFlyTo&&d()),p=-1):$.distVec2(u[0],c)<4&&(Bp(a[0],o.pickCursorPos),o.schedulePickEntity=!0,o.schedulePickSurface=s,o.update(),o.pickResult?(o.pickResult.touchInput=!0,l.fire("picked",o.pickResult),o.pickedSurface&&l.fire("pickedSurface",o.pickResult)):l.fire("pickedNothing"),p=t),f=-1),u.length=n.length;for(var A=0,v=n.length;A1&&void 0!==arguments[1]?arguments[1]:{};b(this,n),(r=t.call(this,e,i)).PAN_LEFT=0,r.PAN_RIGHT=1,r.PAN_UP=2,r.PAN_DOWN=3,r.PAN_FORWARDS=4,r.PAN_BACKWARDS=5,r.ROTATE_X_POS=6,r.ROTATE_X_NEG=7,r.ROTATE_Y_POS=8,r.ROTATE_Y_NEG=9,r.DOLLY_FORWARDS=10,r.DOLLY_BACKWARDS=11,r.AXIS_VIEW_RIGHT=12,r.AXIS_VIEW_BACK=13,r.AXIS_VIEW_LEFT=14,r.AXIS_VIEW_FRONT=15,r.AXIS_VIEW_TOP=16,r.AXIS_VIEW_BOTTOM=17,r._keyMap={},r.scene.canvas.canvas.oncontextmenu=function(e){e.preventDefault()},r._configs={longTapTimeout:600,longTapRadius:5,active:!0,keyboardLayout:"qwerty",navMode:"orbit",planView:!1,firstPerson:!1,followPointer:!0,doublePickFlyTo:!0,panRightClick:!0,showPivot:!1,pointerEnabled:!0,constrainVertical:!1,smartPivot:!1,doubleClickTimeFrame:250,snapToVertex:true,snapToEdge:true,snapRadius:30,dragRotationRate:360,keyboardRotationRate:90,rotationInertia:0,keyboardPanRate:1,touchPanRate:1,panInertia:.5,keyboardDollyRate:10,mouseWheelDollyRate:100,touchDollyRate:.2,dollyInertia:0,dollyProximityThreshold:30,dollyMinSpeed:.04},r._states={pointerCanvasPos:$.vec2(),mouseover:!1,followPointerDirty:!0,mouseDownClientX:0,mouseDownClientY:0,mouseDownCursorX:0,mouseDownCursorY:0,touchStartTime:null,activeTouches:[],tapStartPos:$.vec2(),tapStartTime:-1,lastTapTime:-1,longTouchTimeout:null},r._updates={rotateDeltaX:0,rotateDeltaY:0,panDeltaX:0,panDeltaY:0,panDeltaZ:0,dollyDelta:0};var a=r.scene;return r._controllers={cameraControl:g(r),pickController:new pp(g(r),r._configs),pivotController:new fp(a,r._configs),panController:new ip(a),cameraFlight:new ws(g(r),{duration:.5})},r._handlers=[new Pp(r.scene,r._controllers,r._configs,r._states,r._updates),new _p(r.scene,r._controllers,r._configs,r._states,r._updates),new dp(r.scene,r._controllers,r._configs,r._states,r._updates),new gp(r.scene,r._controllers,r._configs,r._states,r._updates),new Ep(r.scene,r._controllers,r._configs,r._states,r._updates),new Op(r.scene,r._controllers,r._configs,r._states,r._updates),new Tp(r.scene,r._controllers,r._configs,r._states,r._updates)],r._cameraUpdater=new Dp(r.scene,r._controllers,r._configs,r._states,r._updates),r.navMode=i.navMode,i.planView&&(r.planView=i.planView),r.constrainVertical=i.constrainVertical,i.keyboardLayout?r.keyboardLayout=i.keyboardLayout:r.keyMap=i.keyMap,r.doublePickFlyTo=i.doublePickFlyTo,r.panRightClick=i.panRightClick,r.active=i.active,r.followPointer=i.followPointer,r.rotationInertia=i.rotationInertia,r.keyboardPanRate=i.keyboardPanRate,r.touchPanRate=i.touchPanRate,r.keyboardRotationRate=i.keyboardRotationRate,r.dragRotationRate=i.dragRotationRate,r.touchDollyRate=i.touchDollyRate,r.dollyInertia=i.dollyInertia,r.dollyProximityThreshold=i.dollyProximityThreshold,r.dollyMinSpeed=i.dollyMinSpeed,r.panInertia=i.panInertia,r.pointerEnabled=!0,r.keyboardDollyRate=i.keyboardDollyRate,r.mouseWheelDollyRate=i.mouseWheelDollyRate,r}return P(n,[{key:"keyMap",get:function(){return this._keyMap},set:function(e){if(e=e||"qwerty",le.isString(e)){var t=this.scene.input,n={};switch(e){default:this.error("Unsupported value for 'keyMap': "+e+" defaulting to 'qwerty'");case"qwerty":n[this.PAN_LEFT]=[t.KEY_A],n[this.PAN_RIGHT]=[t.KEY_D],n[this.PAN_UP]=[t.KEY_Z],n[this.PAN_DOWN]=[t.KEY_X],n[this.PAN_BACKWARDS]=[],n[this.PAN_FORWARDS]=[],n[this.DOLLY_FORWARDS]=[t.KEY_W,t.KEY_ADD],n[this.DOLLY_BACKWARDS]=[t.KEY_S,t.KEY_SUBTRACT],n[this.ROTATE_X_POS]=[t.KEY_DOWN_ARROW],n[this.ROTATE_X_NEG]=[t.KEY_UP_ARROW],n[this.ROTATE_Y_POS]=[t.KEY_Q,t.KEY_LEFT_ARROW],n[this.ROTATE_Y_NEG]=[t.KEY_E,t.KEY_RIGHT_ARROW],n[this.AXIS_VIEW_RIGHT]=[t.KEY_NUM_1],n[this.AXIS_VIEW_BACK]=[t.KEY_NUM_2],n[this.AXIS_VIEW_LEFT]=[t.KEY_NUM_3],n[this.AXIS_VIEW_FRONT]=[t.KEY_NUM_4],n[this.AXIS_VIEW_TOP]=[t.KEY_NUM_5],n[this.AXIS_VIEW_BOTTOM]=[t.KEY_NUM_6];break;case"azerty":n[this.PAN_LEFT]=[t.KEY_Q],n[this.PAN_RIGHT]=[t.KEY_D],n[this.PAN_UP]=[t.KEY_W],n[this.PAN_DOWN]=[t.KEY_X],n[this.PAN_BACKWARDS]=[],n[this.PAN_FORWARDS]=[],n[this.DOLLY_FORWARDS]=[t.KEY_Z,t.KEY_ADD],n[this.DOLLY_BACKWARDS]=[t.KEY_S,t.KEY_SUBTRACT],n[this.ROTATE_X_POS]=[t.KEY_DOWN_ARROW],n[this.ROTATE_X_NEG]=[t.KEY_UP_ARROW],n[this.ROTATE_Y_POS]=[t.KEY_A,t.KEY_LEFT_ARROW],n[this.ROTATE_Y_NEG]=[t.KEY_E,t.KEY_RIGHT_ARROW],n[this.AXIS_VIEW_RIGHT]=[t.KEY_NUM_1],n[this.AXIS_VIEW_BACK]=[t.KEY_NUM_2],n[this.AXIS_VIEW_LEFT]=[t.KEY_NUM_3],n[this.AXIS_VIEW_FRONT]=[t.KEY_NUM_4],n[this.AXIS_VIEW_TOP]=[t.KEY_NUM_5],n[this.AXIS_VIEW_BOTTOM]=[t.KEY_NUM_6]}this._keyMap=n}else{var r=e;this._keyMap=r}}},{key:"_isKeyDownForAction",value:function(e,t){var n=this._keyMap[e];if(!n)return!1;t||(t=this.scene.input.keyDown);for(var r=0,i=n.length;r0&&void 0!==arguments[0]?arguments[0]:{};this._controllers.pivotController.enablePivotSphere(e)}},{key:"disablePivotSphere",value:function(){this._controllers.pivotController.disablePivotSphere()}},{key:"smartPivot",get:function(){return this._configs.smartPivot},set:function(e){this._configs.smartPivot=!1!==e}},{key:"doubleClickTimeFrame",get:function(){return this._configs.doubleClickTimeFrame},set:function(e){this._configs.doubleClickTimeFrame=null!=e?e:250}},{key:"destroy",value:function(){this._destroyHandlers(),this._destroyControllers(),this._cameraUpdater.destroy(),v(E(n.prototype),"destroy",this).call(this)}},{key:"_destroyHandlers",value:function(){for(var e=0,t=this._handlers.length;e1&&void 0!==arguments[1]?arguments[1]:{};if(this.finalized)throw"MetaScene already finalized - can't add more data";this._globalizeIDs(e,t);var n=this.metaScene,r=e.properties;if(e.propertySets)for(var i=0,a=e.propertySets.length;i0?Hp(t):null,s=n&&n.length>0?Hp(n):null;return function e(t){if(t){var n=!0;(s&&s[t.type]||a&&!a[t.type])&&(n=!1),n&&r.push(t.id);var i=t.children;if(i)for(var o=0,l=i.length;o>t;n.sort(ec);for(var o=new Int32Array(e.length),l=0,u=n.length;le[i+1]){var s=e[i];e[i]=e[i+1],e[i+1]=s}nc=new Int32Array(e),t.sort(rc);for(var o=new Int32Array(e.length),l=0,u=t.length;l0)for(var E=r._sectionPlanesState.sectionPlanes,T=t.layerIndex*g,b=a.renderFlags,D=0;D0&&(l.bindTriangleIndicesTextures(this._program,this._uTexturePerPolygonIdPortionIds,this._uTexturePerPolygonIdIndices,8),s.drawArrays(s.TRIANGLES,0,o.numIndices8Bits)),o.numIndices16Bits>0&&(l.bindTriangleIndicesTextures(this._program,this._uTexturePerPolygonIdPortionIds,this._uTexturePerPolygonIdIndices,16),s.drawArrays(s.TRIANGLES,0,o.numIndices16Bits)),o.numIndices32Bits>0&&(l.bindTriangleIndicesTextures(this._program,this._uTexturePerPolygonIdPortionIds,this._uTexturePerPolygonIdIndices,32),s.drawArrays(s.TRIANGLES,0,o.numIndices32Bits)),e.drawElements++}}},{key:"_allocate",value:function(){var e=this._scene,t=e.canvas.gl,n=e._lightsState;if(this._program=new bt(t,this._buildShader()),this._program.errors)return this.errors=this._program.errors,void console.error(this.errors);var r=this._program;this._uRenderPass=r.getLocation("renderPass"),this._uLightAmbient=r.getLocation("lightAmbient"),this._uLightColor=[],this._uLightDir=[],this._uLightPos=[],this._uLightAttenuation=[];for(var i=n.lights,a=0,s=i.length;a0,a=[];a.push("#version 300 es"),a.push("// TrianglesDataTextureColorRenderer vertex shader"),a.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),a.push("precision highp float;"),a.push("precision highp int;"),a.push("precision highp usampler2D;"),a.push("precision highp isampler2D;"),a.push("precision highp sampler2D;"),a.push("#else"),a.push("precision mediump float;"),a.push("precision mediump int;"),a.push("precision mediump usampler2D;"),a.push("precision mediump isampler2D;"),a.push("precision mediump sampler2D;"),a.push("#endif"),a.push("uniform int renderPass;"),a.push("uniform mat4 sceneModelMatrix;"),a.push("uniform mat4 viewMatrix;"),a.push("uniform mat4 projMatrix;"),a.push("uniform highp sampler2D uObjectPerObjectPositionsDecodeMatrix;"),a.push("uniform highp sampler2D uTexturePerObjectMatrix;"),a.push("uniform lowp usampler2D uObjectPerObjectColorsAndFlags;"),a.push("uniform mediump usampler2D uTexturePerVertexIdCoordinates;"),a.push("uniform highp usampler2D uTexturePerPolygonIdIndices;"),a.push("uniform mediump usampler2D uTexturePerPolygonIdPortionIds;"),a.push("uniform vec3 uCameraEyeRtc;"),a.push("vec3 positions[3];"),t.logarithmicDepthBufferEnabled&&(a.push("uniform float logDepthBufFC;"),a.push("out float vFragDepth;"),a.push("out float isPerspective;")),a.push("bool isPerspectiveMatrix(mat4 m) {"),a.push(" return (m[2][3] == - 1.0);"),a.push("}"),a.push("uniform vec4 lightAmbient;");for(var s=0,o=r.lights.length;s> 3) & 4095;"),a.push("int v_packed_object_id_index = (polygonIndex >> 3) >> 12;"),a.push("int objectIndex = int(texelFetch(uTexturePerPolygonIdPortionIds, ivec2(h_packed_object_id_index, v_packed_object_id_index), 0).r);"),a.push("ivec2 objectIndexCoords = ivec2(objectIndex % 512, objectIndex / 512);"),a.push("uvec4 flags = texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+2, objectIndexCoords.y), 0);"),a.push("uvec4 flags2 = texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+3, objectIndexCoords.y), 0);"),a.push("if (int(flags.x) != renderPass) {"),a.push(" gl_Position = vec4(3.0, 3.0, 3.0, 1.0);"),a.push(" return;"),a.push("} else {"),a.push("ivec4 packedVertexBase = ivec4(texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+4, objectIndexCoords.y), 0));"),a.push("ivec4 packedIndexBaseOffset = ivec4(texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+5, objectIndexCoords.y), 0));"),a.push("int indexBaseOffset = (packedIndexBaseOffset.r << 24) + (packedIndexBaseOffset.g << 16) + (packedIndexBaseOffset.b << 8) + packedIndexBaseOffset.a;"),a.push("int h_index = (polygonIndex - indexBaseOffset) & 4095;"),a.push("int v_index = (polygonIndex - indexBaseOffset) >> 12;"),a.push("ivec3 vertexIndices = ivec3(texelFetch(uTexturePerPolygonIdIndices, ivec2(h_index, v_index), 0));"),a.push("ivec3 uniqueVertexIndexes = vertexIndices + (packedVertexBase.r << 24) + (packedVertexBase.g << 16) + (packedVertexBase.b << 8) + packedVertexBase.a;"),a.push("ivec3 indexPositionH = uniqueVertexIndexes & 4095;"),a.push("ivec3 indexPositionV = uniqueVertexIndexes >> 12;"),a.push("mat4 objectInstanceMatrix = mat4 (texelFetch (uTexturePerObjectMatrix, ivec2(objectIndexCoords.x*4+0, objectIndexCoords.y), 0), texelFetch (uTexturePerObjectMatrix, ivec2(objectIndexCoords.x*4+1, objectIndexCoords.y), 0), texelFetch (uTexturePerObjectMatrix, ivec2(objectIndexCoords.x*4+2, objectIndexCoords.y), 0), texelFetch (uTexturePerObjectMatrix, ivec2(objectIndexCoords.x*4+3, objectIndexCoords.y), 0));"),a.push("mat4 objectDecodeAndInstanceMatrix = objectInstanceMatrix * mat4 (texelFetch (uObjectPerObjectPositionsDecodeMatrix, ivec2(objectIndexCoords.x*4+0, objectIndexCoords.y), 0), texelFetch (uObjectPerObjectPositionsDecodeMatrix, ivec2(objectIndexCoords.x*4+1, objectIndexCoords.y), 0), texelFetch (uObjectPerObjectPositionsDecodeMatrix, ivec2(objectIndexCoords.x*4+2, objectIndexCoords.y), 0), texelFetch (uObjectPerObjectPositionsDecodeMatrix, ivec2(objectIndexCoords.x*4+3, objectIndexCoords.y), 0));"),a.push("uint solid = texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+7, objectIndexCoords.y), 0).r;"),a.push("positions[0] = vec3(texelFetch(uTexturePerVertexIdCoordinates, ivec2(indexPositionH.r, indexPositionV.r), 0));"),a.push("positions[1] = vec3(texelFetch(uTexturePerVertexIdCoordinates, ivec2(indexPositionH.g, indexPositionV.g), 0));"),a.push("positions[2] = vec3(texelFetch(uTexturePerVertexIdCoordinates, ivec2(indexPositionH.b, indexPositionV.b), 0));"),a.push("uvec4 color = texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+0, objectIndexCoords.y), 0);"),a.push("if (color.a == 0u) {"),a.push(" gl_Position = vec4(3.0, 3.0, 3.0, 1.0);"),a.push(" return;"),a.push("};"),a.push("vec3 normal = normalize(cross(positions[2] - positions[0], positions[1] - positions[0]));"),a.push("vec3 position;"),a.push("position = positions[gl_VertexID % 3];"),a.push("vec3 viewNormal = -normalize((transpose(inverse(viewMatrix*objectDecodeAndInstanceMatrix)) * vec4(normal,1)).xyz);"),a.push("if (solid != 1u) {"),a.push("if (isPerspectiveMatrix(projMatrix)) {"),a.push("vec3 uCameraEyeRtcInQuantizedSpace = (inverse(sceneModelMatrix * objectDecodeAndInstanceMatrix) * vec4(uCameraEyeRtc, 1)).xyz;"),a.push("if (dot(position.xyz - uCameraEyeRtcInQuantizedSpace, normal) < 0.0) {"),a.push("position = positions[2 - (gl_VertexID % 3)];"),a.push("viewNormal = -viewNormal;"),a.push("}"),a.push("} else {"),a.push("if (viewNormal.z < 0.0) {"),a.push("position = positions[2 - (gl_VertexID % 3)];"),a.push("viewNormal = -viewNormal;"),a.push("}"),a.push("}"),a.push("}"),a.push("vec4 worldPosition = sceneModelMatrix * ((objectDecodeAndInstanceMatrix * vec4(position, 1.0))); "),a.push("vec4 viewPosition = viewMatrix * worldPosition; "),a.push("vec3 reflectedColor = vec3(0.0, 0.0, 0.0);"),a.push("vec3 viewLightDir = vec3(0.0, 0.0, -1.0);"),a.push("float lambertian = 1.0;");for(var l=0,u=r.lights.length;l0,r=[];if(r.push("#version 300 es"),r.push("// TrianglesDataTextureColorRenderer fragment shader"),r.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),r.push("precision highp float;"),r.push("precision highp int;"),r.push("#else"),r.push("precision mediump float;"),r.push("precision mediump int;"),r.push("#endif"),e.logarithmicDepthBufferEnabled&&(r.push("in float isPerspective;"),r.push("uniform float logDepthBufFC;"),r.push("in float vFragDepth;")),this._withSAO&&(r.push("uniform sampler2D uOcclusionTexture;"),r.push("uniform vec4 uSAOParams;"),r.push("const float packUpscale = 256. / 255.;"),r.push("const float unpackDownScale = 255. / 256.;"),r.push("const vec3 packFactors = vec3( 256. * 256. * 256., 256. * 256., 256. );"),r.push("const vec4 unPackFactors = unpackDownScale / vec4( packFactors, 1. );"),r.push("float unpackRGBToFloat( const in vec4 v ) {"),r.push(" return dot( v, unPackFactors );"),r.push("}")),n){r.push("in vec4 vWorldPosition;"),r.push("flat in uint vFlags2;");for(var i=0,a=t.getNumAllocatedSectionPlanes();i 0u;"),r.push(" if (clippable) {"),r.push(" float dist = 0.0;");for(var s=0,o=t.getNumAllocatedSectionPlanes();s 0.0) { "),r.push(" discard;"),r.push(" }"),r.push("}")}return e.logarithmicDepthBufferEnabled&&r.push(" gl_FragDepth = isPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5;"),this._withSAO?(r.push(" float viewportWidth = uSAOParams[0];"),r.push(" float viewportHeight = uSAOParams[1];"),r.push(" float blendCutoff = uSAOParams[2];"),r.push(" float blendFactor = uSAOParams[3];"),r.push(" vec2 uv = vec2(gl_FragCoord.x / viewportWidth, gl_FragCoord.y / viewportHeight);"),r.push(" float ambient = smoothstep(blendCutoff, 1.0, unpackRGBToFloat(texture(uOcclusionTexture, uv))) * blendFactor;"),r.push(" outColor = vec4(vColor.rgb * ambient, 1.0);")):r.push(" outColor = vColor;"),r.push("}"),r}},{key:"webglContextRestored",value:function(){this._program=null}},{key:"destroy",value:function(){this._program&&this._program.destroy(),this._program=null}}]),e}(),pc=new Float32Array([1,1,1]),Ac=$.vec3(),dc=$.vec3(),vc=$.vec3();$.vec3();var hc=$.mat4(),Ic=function(){function e(t,n){b(this,e),this._scene=t,this._hash=this._getHash(),this._allocate()}return P(e,[{key:"getValid",value:function(){return this._hash===this._getHash()}},{key:"_getHash",value:function(){return this._scene._sectionPlanesState.getHash()}},{key:"drawLayer",value:function(e,t,n){var r=this._scene,i=r.camera,a=t.model,s=r.canvas.gl,o=t._state,l=o.textureState,u=t._state.origin,c=a.position,f=a.rotationMatrix,p=a.rotationMatrixConjugate,A=i.viewMatrix;if(this._program||(this._allocate(),!this.errors)){var d,v;if(e.lastProgramId!==this._program.id&&(e.lastProgramId=this._program.id,this._bindProgram(e,o)),l.bindCommonTextures(this._program,this.uTexturePerObjectPositionsDecodeMatrix,this._uTexturePerVertexIdCoordinates,this.uTexturePerObjectColorsAndFlags,this._uTexturePerObjectMatrix),u||0!==c[0]||0!==c[1]||0!==c[2]){var h=Ac;if(u){var I=dc;$.transformPoint3(f,u,I),h[0]=I[0],h[1]=I[1],h[2]=I[2]}else h[0]=0,h[1]=0,h[2]=0;h[0]+=c[0],h[1]+=c[1],h[2]+=c[2],d=Be(A,h,hc),(v=vc)[0]=i.eye[0]-h[0],v[1]=i.eye[1]-h[1],v[2]=i.eye[2]-h[2]}else d=A,v=i.eye;if(s.uniform3fv(this._uCameraEyeRtc,v),s.uniform1i(this._uRenderPass,n),s.uniformMatrix4fv(this._uWorldMatrix,!1,p),s.uniformMatrix4fv(this._uViewMatrix,!1,d),s.uniformMatrix4fv(this._uProjMatrix,!1,i.projMatrix),n===Xs.SILHOUETTE_XRAYED){var y=r.xrayMaterial._state,m=y.fillColor,w=y.fillAlpha;s.uniform4f(this._uColor,m[0],m[1],m[2],w)}else if(n===Xs.SILHOUETTE_HIGHLIGHTED){var g=r.highlightMaterial._state,E=g.fillColor,T=g.fillAlpha;s.uniform4f(this._uColor,E[0],E[1],E[2],T)}else if(n===Xs.SILHOUETTE_SELECTED){var b=r.selectedMaterial._state,D=b.fillColor,P=b.fillAlpha;s.uniform4f(this._uColor,D[0],D[1],D[2],P)}else s.uniform4fv(this._uColor,pc);if(r.logarithmicDepthBufferEnabled){var R=2/(Math.log(e.pickZFar+1)/Math.LN2);s.uniform1f(this._uLogDepthBufFC,R)}var C=r._sectionPlanesState.getNumAllocatedSectionPlanes(),_=r._sectionPlanesState.sectionPlanes.length;if(C>0)for(var B=r._sectionPlanesState.sectionPlanes,O=t.layerIndex*_,S=a.renderFlags,N=0;N0&&(l.bindTriangleIndicesTextures(this._program,this._uTexturePerPolygonIdPortionIds,this._uTexturePerPolygonIdIndices,8),s.drawArrays(s.TRIANGLES,0,o.numIndices8Bits)),o.numIndices16Bits>0&&(l.bindTriangleIndicesTextures(this._program,this._uTexturePerPolygonIdPortionIds,this._uTexturePerPolygonIdIndices,16),s.drawArrays(s.TRIANGLES,0,o.numIndices16Bits)),o.numIndices32Bits>0&&(l.bindTriangleIndicesTextures(this._program,this._uTexturePerPolygonIdPortionIds,this._uTexturePerPolygonIdIndices,32),s.drawArrays(s.TRIANGLES,0,o.numIndices32Bits)),e.drawElements++}}},{key:"_allocate",value:function(){var e=this._scene,t=e.canvas.gl;if(this._program=new bt(t,this._buildShader()),this._program.errors)this.errors=this._program.errors;else{var n=this._program;this._uRenderPass=n.getLocation("renderPass"),this._uColor=n.getLocation("color"),this._uWorldMatrix=n.getLocation("sceneModelMatrix"),this._uViewMatrix=n.getLocation("viewMatrix"),this._uProjMatrix=n.getLocation("projMatrix"),this._uSectionPlanes=[];for(var r=0,i=e._sectionPlanesState.getNumAllocatedSectionPlanes();r0,n=[];return n.push("#version 300 es"),n.push("// Triangles dataTexture silhouette vertex shader"),n.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),n.push("precision highp float;"),n.push("precision highp int;"),n.push("precision highp usampler2D;"),n.push("precision highp isampler2D;"),n.push("precision highp sampler2D;"),n.push("#else"),n.push("precision mediump float;"),n.push("precision mediump int;"),n.push("precision mediump usampler2D;"),n.push("precision mediump isampler2D;"),n.push("precision mediump sampler2D;"),n.push("#endif"),n.push("uniform int renderPass;"),e.entityOffsetsEnabled&&n.push("in vec3 offset;"),n.push("uniform mat4 sceneModelMatrix;"),n.push("uniform mat4 viewMatrix;"),n.push("uniform mat4 projMatrix;"),n.push("uniform highp sampler2D uObjectPerObjectPositionsDecodeMatrix;"),n.push("uniform highp sampler2D uTexturePerObjectMatrix;"),n.push("uniform lowp usampler2D uObjectPerObjectColorsAndFlags;"),n.push("uniform mediump usampler2D uTexturePerVertexIdCoordinates;"),n.push("uniform highp usampler2D uTexturePerPolygonIdIndices;"),n.push("uniform mediump usampler2D uTexturePerPolygonIdPortionIds;"),n.push("uniform vec3 uCameraEyeRtc;"),n.push("vec3 positions[3];"),e.logarithmicDepthBufferEnabled&&(n.push("uniform float logDepthBufFC;"),n.push("out float vFragDepth;"),n.push("out float isPerspective;")),n.push("bool isPerspectiveMatrix(mat4 m) {"),n.push(" return (m[2][3] == - 1.0);"),n.push("}"),t&&(n.push("out vec4 vWorldPosition;"),n.push("flat out uint vFlags2;")),n.push("void main(void) {"),n.push("int polygonIndex = gl_VertexID / 3;"),n.push("int h_packed_object_id_index = (polygonIndex >> 3) & 4095;"),n.push("int v_packed_object_id_index = (polygonIndex >> 3) >> 12;"),n.push("int objectIndex = int(texelFetch(uTexturePerPolygonIdPortionIds, ivec2(h_packed_object_id_index, v_packed_object_id_index), 0).r);"),n.push("ivec2 objectIndexCoords = ivec2(objectIndex % 512, objectIndex / 512);"),n.push("uvec4 flags = texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+2, objectIndexCoords.y), 0);"),n.push("uvec4 flags2 = texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+3, objectIndexCoords.y), 0);"),n.push("if (int(flags.y) != renderPass) {"),n.push(" gl_Position = vec4(3.0, 3.0, 3.0, 1.0);"),n.push(" return;"),n.push("} else {"),n.push("ivec4 packedVertexBase = ivec4(texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+4, objectIndexCoords.y), 0));"),n.push("ivec4 packedIndexBaseOffset = ivec4(texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+5, objectIndexCoords.y), 0));"),n.push("int indexBaseOffset = (packedIndexBaseOffset.r << 24) + (packedIndexBaseOffset.g << 16) + (packedIndexBaseOffset.b << 8) + packedIndexBaseOffset.a;"),n.push("int h_index = (polygonIndex - indexBaseOffset) & 4095;"),n.push("int v_index = (polygonIndex - indexBaseOffset) >> 12;"),n.push("ivec3 vertexIndices = ivec3(texelFetch(uTexturePerPolygonIdIndices, ivec2(h_index, v_index), 0));"),n.push("ivec3 uniqueVertexIndexes = vertexIndices + (packedVertexBase.r << 24) + (packedVertexBase.g << 16) + (packedVertexBase.b << 8) + packedVertexBase.a;"),n.push("ivec3 indexPositionH = uniqueVertexIndexes & 4095;"),n.push("ivec3 indexPositionV = uniqueVertexIndexes >> 12;"),n.push("mat4 objectInstanceMatrix = mat4 (texelFetch (uTexturePerObjectMatrix, ivec2(objectIndexCoords.x*4+0, objectIndexCoords.y), 0), texelFetch (uTexturePerObjectMatrix, ivec2(objectIndexCoords.x*4+1, objectIndexCoords.y), 0), texelFetch (uTexturePerObjectMatrix, ivec2(objectIndexCoords.x*4+2, objectIndexCoords.y), 0), texelFetch (uTexturePerObjectMatrix, ivec2(objectIndexCoords.x*4+3, objectIndexCoords.y), 0));"),n.push("mat4 objectDecodeAndInstanceMatrix = objectInstanceMatrix * mat4 (texelFetch (uObjectPerObjectPositionsDecodeMatrix, ivec2(objectIndexCoords.x*4+0, objectIndexCoords.y), 0), texelFetch (uObjectPerObjectPositionsDecodeMatrix, ivec2(objectIndexCoords.x*4+1, objectIndexCoords.y), 0), texelFetch (uObjectPerObjectPositionsDecodeMatrix, ivec2(objectIndexCoords.x*4+2, objectIndexCoords.y), 0), texelFetch (uObjectPerObjectPositionsDecodeMatrix, ivec2(objectIndexCoords.x*4+3, objectIndexCoords.y), 0));"),n.push("uint solid = texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+7, objectIndexCoords.y), 0).r;"),n.push("positions[0] = vec3(texelFetch(uTexturePerVertexIdCoordinates, ivec2(indexPositionH.r, indexPositionV.r), 0));"),n.push("positions[1] = vec3(texelFetch(uTexturePerVertexIdCoordinates, ivec2(indexPositionH.g, indexPositionV.g), 0));"),n.push("positions[2] = vec3(texelFetch(uTexturePerVertexIdCoordinates, ivec2(indexPositionH.b, indexPositionV.b), 0));"),n.push("vec3 normal = normalize(cross(positions[2] - positions[0], positions[1] - positions[0]));"),n.push("vec3 position;"),n.push("position = positions[gl_VertexID % 3];"),n.push("vec3 viewNormal = -normalize((transpose(inverse(viewMatrix*objectDecodeAndInstanceMatrix)) * vec4(normal,1)).xyz);"),n.push("if (solid != 1u) {"),n.push("if (isPerspectiveMatrix(projMatrix)) {"),n.push("vec3 uCameraEyeRtcInQuantizedSpace = (inverse(sceneModelMatrix * objectDecodeAndInstanceMatrix) * vec4(uCameraEyeRtc, 1)).xyz;"),n.push("if (dot(position.xyz - uCameraEyeRtcInQuantizedSpace, normal) < 0.0) {"),n.push("position = positions[2 - (gl_VertexID % 3)];"),n.push("viewNormal = -viewNormal;"),n.push("}"),n.push("} else {"),n.push("if (viewNormal.z < 0.0) {"),n.push("position = positions[2 - (gl_VertexID % 3)];"),n.push("viewNormal = -viewNormal;"),n.push("}"),n.push("}"),n.push("}"),n.push("vec4 worldPosition = sceneModelMatrix * (objectDecodeAndInstanceMatrix * vec4(position, 1.0)); "),n.push("vec4 viewPosition = viewMatrix * worldPosition; "),n.push("vec4 clipPos = projMatrix * viewPosition;"),e.logarithmicDepthBufferEnabled&&(n.push("vFragDepth = 1.0 + clipPos.w;"),n.push("isPerspective = float (isPerspectiveMatrix(projMatrix));")),t&&(n.push("vWorldPosition = worldPosition;"),n.push("vFlags2 = flags2.r;")),n.push("gl_Position = clipPos;"),n.push("}"),n.push("}"),n}},{key:"_buildFragmentShader",value:function(){var e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,n=[];if(n.push("#version 300 es"),n.push("// Triangles dataTexture draw fragment shader"),n.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),n.push("precision highp float;"),n.push("precision highp int;"),n.push("#else"),n.push("precision mediump float;"),n.push("precision mediump int;"),n.push("#endif"),e.logarithmicDepthBufferEnabled&&(n.push("in float isPerspective;"),n.push("uniform float logDepthBufFC;"),n.push("in float vFragDepth;")),t){n.push("in vec4 vWorldPosition;"),n.push("flat in uint vFlags2;");for(var r=0,i=e._sectionPlanesState.getNumAllocatedSectionPlanes();r 0u;"),n.push(" if (clippable) {"),n.push(" float dist = 0.0;");for(var a=0,s=e._sectionPlanesState.getNumAllocatedSectionPlanes();a 0.0) { "),n.push(" discard;"),n.push(" }"),n.push("}")}return e.logarithmicDepthBufferEnabled&&n.push(" gl_FragDepth = isPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5;"),n.push(" outColor = color;"),n.push("}"),n}},{key:"webglContextRestored",value:function(){this._program=null}},{key:"destroy",value:function(){this._program&&this._program.destroy(),this._program=null}}]),e}(),yc=new Float32Array([0,0,0,1]),mc=$.vec3(),wc=$.vec3();$.vec3();var gc=$.mat4(),Ec=function(){function e(t){b(this,e),this._scene=t,this._hash=this._getHash(),this._allocate()}return P(e,[{key:"getValid",value:function(){return this._hash===this._getHash()}},{key:"_getHash",value:function(){return this._scene._sectionPlanesState.getHash()}},{key:"drawLayer",value:function(e,t,n){var r=t.model,i=r.scene,a=i.camera,s=i.canvas.gl,o=t._state,l=o.textureState,u=t._state.origin,c=r.position,f=r.rotationMatrix,p=r.rotationMatrixConjugate,A=a.viewMatrix;if(this._program||(this._allocate(t),!this.errors)){var d;e.lastProgramId!==this._program.id&&(e.lastProgramId=this._program.id,this._bindProgram()),l.bindCommonTextures(this._program,this.uTexturePerObjectPositionsDecodeMatrix,this._uTexturePerVertexIdCoordinates,this.uTexturePerObjectColorsAndFlags,this._uTexturePerObjectMatrix);var v=0!==u[0]||0!==u[1]||0!==u[2],h=0!==c[0]||0!==c[1]||0!==c[2];if(v||h){var I=mc;if(v){var y=$.transformPoint3(f,u,wc);I[0]=y[0],I[1]=y[1],I[2]=y[2]}else I[0]=0,I[1]=0,I[2]=0;I[0]+=c[0],I[1]+=c[1],I[2]+=c[2],d=Be(A,I,gc)}else d=A;if(s.uniform1i(this._uRenderPass,n),s.uniformMatrix4fv(this._uSceneModelMatrix,!1,p),s.uniformMatrix4fv(this._uViewMatrix,!1,d),s.uniformMatrix4fv(this._uProjMatrix,!1,a.projMatrix),n===Xs.EDGES_XRAYED){var m=i.xrayMaterial._state,w=m.edgeColor,g=m.edgeAlpha;s.uniform4f(this._uColor,w[0],w[1],w[2],g)}else if(n===Xs.EDGES_HIGHLIGHTED){var E=i.highlightMaterial._state,T=E.edgeColor,b=E.edgeAlpha;s.uniform4f(this._uColor,T[0],T[1],T[2],b)}else if(n===Xs.EDGES_SELECTED){var D=i.selectedMaterial._state,P=D.edgeColor,R=D.edgeAlpha;s.uniform4f(this._uColor,P[0],P[1],P[2],R)}else s.uniform4fv(this._uColor,yc);var C=i._sectionPlanesState.getNumAllocatedSectionPlanes(),_=i._sectionPlanesState.sectionPlanes.length;if(C>0)for(var B=i._sectionPlanesState.sectionPlanes,O=t.layerIndex*_,S=r.renderFlags,N=0;N0&&(l.bindEdgeIndicesTextures(this._program,this._uTexturePerEdgeIdPortionIds,this._uTexturePerPolygonIdEdgeIndices,8),s.drawArrays(s.LINES,0,o.numEdgeIndices8Bits)),o.numEdgeIndices16Bits>0&&(l.bindEdgeIndicesTextures(this._program,this._uTexturePerEdgeIdPortionIds,this._uTexturePerPolygonIdEdgeIndices,16),s.drawArrays(s.LINES,0,o.numEdgeIndices16Bits)),o.numEdgeIndices32Bits>0&&(l.bindEdgeIndicesTextures(this._program,this._uTexturePerEdgeIdPortionIds,this._uTexturePerPolygonIdEdgeIndices,32),s.drawArrays(s.LINES,0,o.numEdgeIndices32Bits)),e.drawElements++}}},{key:"_allocate",value:function(){var e=this._scene,t=e.canvas.gl;if(this._program=new bt(t,this._buildShader()),this._program.errors)this.errors=this._program.errors;else{var n=this._program;this._uRenderPass=n.getLocation("renderPass"),this._uColor=n.getLocation("color"),this._uSceneModelMatrix=n.getLocation("sceneModelMatrix"),this._uWorldMatrix=n.getLocation("worldMatrix"),this._uViewMatrix=n.getLocation("viewMatrix"),this._uProjMatrix=n.getLocation("projMatrix"),this._uSectionPlanes=[];for(var r=0,i=e._sectionPlanesState.getNumAllocatedSectionPlanes();r0,n=[];return n.push("#version 300 es"),n.push("// Batched geometry edges drawing vertex shader"),n.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),n.push("precision highp float;"),n.push("precision highp int;"),n.push("precision highp usampler2D;"),n.push("precision highp isampler2D;"),n.push("precision highp sampler2D;"),n.push("#else"),n.push("precision mediump float;"),n.push("precision mediump int;"),n.push("precision mediump usampler2D;"),n.push("precision mediump isampler2D;"),n.push("precision mediump sampler2D;"),n.push("#endif"),n.push("uniform int renderPass;"),n.push("uniform mat4 sceneModelMatrix;"),n.push("uniform mat4 viewMatrix;"),n.push("uniform mat4 projMatrix;"),n.push("uniform highp sampler2D uObjectPerObjectPositionsDecodeMatrix;"),n.push("uniform highp sampler2D uTexturePerObjectMatrix;"),n.push("uniform lowp usampler2D uObjectPerObjectColorsAndFlags;"),n.push("uniform mediump usampler2D uTexturePerVertexIdCoordinates;"),n.push("uniform highp usampler2D uTexturePerPolygonIdEdgeIndices;"),n.push("uniform mediump usampler2D uTexturePerEdgeIdPortionIds;"),n.push("uniform vec4 color;"),e.logarithmicDepthBufferEnabled&&(n.push("uniform float logDepthBufFC;"),n.push("out float vFragDepth;"),n.push("bool isPerspectiveMatrix(mat4 m) {"),n.push(" return (m[2][3] == - 1.0);"),n.push("}"),n.push("out float isPerspective;")),t&&(n.push("out vec4 vWorldPosition;"),n.push("flat out uint vFlags2;")),n.push("out vec4 vColor;"),n.push("void main(void) {"),n.push("int edgeIndex = gl_VertexID / 2;"),n.push("int h_packed_object_id_index = (edgeIndex >> 3) & 4095;"),n.push("int v_packed_object_id_index = (edgeIndex >> 3) >> 12;"),n.push("int objectIndex = int(texelFetch(uTexturePerEdgeIdPortionIds, ivec2(h_packed_object_id_index, v_packed_object_id_index), 0).r);"),n.push("ivec2 objectIndexCoords = ivec2(objectIndex % 512, objectIndex / 512);"),n.push("uvec4 flags = texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+2, objectIndexCoords.y), 0);"),n.push("uvec4 flags2 = texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+3, objectIndexCoords.y), 0);"),n.push("if (int(flags.z) != renderPass) {"),n.push(" gl_Position = vec4(3.0, 3.0, 3.0, 1.0);"),n.push(" return;"),n.push("} else {"),n.push("ivec4 packedVertexBase = ivec4(texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+4, objectIndexCoords.y), 0));"),n.push("ivec4 packedEdgeIndexBaseOffset = ivec4(texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+6, objectIndexCoords.y), 0));"),n.push("int edgeIndexBaseOffset = (packedEdgeIndexBaseOffset.r << 24) + (packedEdgeIndexBaseOffset.g << 16) + (packedEdgeIndexBaseOffset.b << 8) + packedEdgeIndexBaseOffset.a;"),n.push("int h_index = (edgeIndex - edgeIndexBaseOffset) & 4095;"),n.push("int v_index = (edgeIndex - edgeIndexBaseOffset) >> 12;"),n.push("ivec3 vertexIndices = ivec3(texelFetch(uTexturePerPolygonIdEdgeIndices, ivec2(h_index, v_index), 0));"),n.push("ivec3 uniqueVertexIndexes = vertexIndices + (packedVertexBase.r << 24) + (packedVertexBase.g << 16) + (packedVertexBase.b << 8) + packedVertexBase.a;"),n.push("int indexPositionH = uniqueVertexIndexes[gl_VertexID % 2] & 4095;"),n.push("int indexPositionV = uniqueVertexIndexes[gl_VertexID % 2] >> 12;"),n.push("mat4 objectInstanceMatrix = mat4 (texelFetch (uTexturePerObjectMatrix, ivec2(objectIndexCoords.x*4+0, objectIndexCoords.y), 0), texelFetch (uTexturePerObjectMatrix, ivec2(objectIndexCoords.x*4+1, objectIndexCoords.y), 0), texelFetch (uTexturePerObjectMatrix, ivec2(objectIndexCoords.x*4+2, objectIndexCoords.y), 0), texelFetch (uTexturePerObjectMatrix, ivec2(objectIndexCoords.x*4+3, objectIndexCoords.y), 0));"),n.push("mat4 objectDecodeAndInstanceMatrix = objectInstanceMatrix * mat4 (texelFetch (uObjectPerObjectPositionsDecodeMatrix, ivec2(objectIndexCoords.x*4+0, objectIndexCoords.y), 0), texelFetch (uObjectPerObjectPositionsDecodeMatrix, ivec2(objectIndexCoords.x*4+1, objectIndexCoords.y), 0), texelFetch (uObjectPerObjectPositionsDecodeMatrix, ivec2(objectIndexCoords.x*4+2, objectIndexCoords.y), 0), texelFetch (uObjectPerObjectPositionsDecodeMatrix, ivec2(objectIndexCoords.x*4+3, objectIndexCoords.y), 0));"),n.push("uvec4 flags = texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+2, objectIndexCoords.y), 0);"),n.push("uvec4 flags2 = texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+3, objectIndexCoords.y), 0);"),n.push("vec3 position = vec3(texelFetch(uTexturePerVertexIdCoordinates, ivec2(indexPositionH, indexPositionV), 0));"),n.push("mat4 matrix = mat4 (texelFetch (uTexturePerObjectMatrix, ivec2(objectIndexCoords.x*4+0, objectIndexCoords.y), 0), texelFetch (uTexturePerObjectMatrix, ivec2(objectIndexCoords.x*4+1, objectIndexCoords.y), 0), texelFetch (uTexturePerObjectMatrix, ivec2(objectIndexCoords.x*4+2, objectIndexCoords.y), 0), texelFetch (uTexturePerObjectMatrix, ivec2(objectIndexCoords.x*4+3, objectIndexCoords.y), 0));"),n.push("vec4 worldPosition = sceneModelMatrix * (objectDecodeAndInstanceMatrix * vec4(position, 1.0)); "),n.push("vec4 viewPosition = viewMatrix * worldPosition; "),t&&(n.push(" vWorldPosition = worldPosition;"),n.push(" vFlags2 = flags2.r;")),n.push("vec4 clipPos = projMatrix * viewPosition;"),e.logarithmicDepthBufferEnabled&&(n.push("vFragDepth = 1.0 + clipPos.w;"),n.push("isPerspective = float (isPerspectiveMatrix(projMatrix));")),n.push("gl_Position = clipPos;"),n.push("vColor = vec4(color.r, color.g, color.b, color.a);"),n.push("}"),n.push("}"),n}},{key:"_buildFragmentShader",value:function(){var e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,n=[];if(n.push("#version 300 es"),n.push("// Batched geometry edges drawing fragment shader"),e.logarithmicDepthBufferEnabled&&n.push("#extension GL_EXT_frag_depth : enable"),n.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),n.push("precision highp float;"),n.push("precision highp int;"),n.push("#else"),n.push("precision mediump float;"),n.push("precision mediump int;"),n.push("#endif"),e.logarithmicDepthBufferEnabled&&(n.push("in float isPerspective;"),n.push("uniform float logDepthBufFC;"),n.push("in float vFragDepth;")),t){n.push("in vec4 vWorldPosition;"),n.push("flat in uint vFlags2;");for(var r=0,i=e._sectionPlanesState.getNumAllocatedSectionPlanes();r 0u;"),n.push(" if (clippable) {"),n.push(" float dist = 0.0;");for(var a=0,s=e._sectionPlanesState.getNumAllocatedSectionPlanes();a 0.0) { discard; }"),n.push("}")}return e.logarithmicDepthBufferEnabled&&n.push(" gl_FragDepth = isPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5;"),n.push(" outColor = vColor;"),n.push("}"),n}},{key:"webglContextRestored",value:function(){this._program=null}},{key:"destroy",value:function(){this._program&&this._program.destroy(),this._program=null}}]),e}(),Tc=$.vec3(),bc=$.vec3();$.vec3();var Dc=$.mat4(),Pc=function(){function e(t){b(this,e),this._scene=t,this._hash=this._getHash(),this._allocate()}return P(e,[{key:"getValid",value:function(){return this._hash===this._getHash()}},{key:"_getHash",value:function(){return this._scene._sectionPlanesState.getHash()}},{key:"drawLayer",value:function(e,t,n){var r=t.model,i=r.scene,a=i.camera,s=i.canvas.gl,o=t._state,l=o.textureState,u=t._state.origin,c=r.position,f=r.rotationMatrix,p=r.rotationMatrixConjugate,A=a.viewMatrix;if(this._program||(this._allocate(),!this.errors)){var d;e.lastProgramId!==this._program.id&&(e.lastProgramId=this._program.id,this._bindProgram()),l.bindCommonTextures(this._program,this.uTexturePerObjectPositionsDecodeMatrix,this._uTexturePerVertexIdCoordinates,this.uTexturePerObjectColorsAndFlags,this._uTexturePerObjectMatrix);var v=0!==u[0]||0!==u[1]||0!==u[2],h=0!==c[0]||0!==c[1]||0!==c[2];if(v||h){var I=Tc;if(v){var y=$.transformPoint3(f,u,bc);I[0]=y[0],I[1]=y[1],I[2]=y[2]}else I[0]=0,I[1]=0,I[2]=0;I[0]+=c[0],I[1]+=c[1],I[2]+=c[2],d=Be(A,I,Dc)}else d=A;s.uniform1i(this._uRenderPass,n),s.uniformMatrix4fv(this._uSceneModelMatrix,!1,p),s.uniformMatrix4fv(this._uViewMatrix,!1,d),s.uniformMatrix4fv(this._uProjMatrix,!1,a.projMatrix);var m=i._sectionPlanesState.getNumAllocatedSectionPlanes(),w=i._sectionPlanesState.sectionPlanes.length;if(m>0)for(var g=i._sectionPlanesState.sectionPlanes,E=t.layerIndex*w,T=r.renderFlags,b=0;b0&&(l.bindEdgeIndicesTextures(this._program,this._uTexturePerEdgeIdPortionIds,this._uTexturePerPolygonIdEdgeIndices,8),s.drawArrays(s.LINES,0,o.numEdgeIndices8Bits)),o.numEdgeIndices16Bits>0&&(l.bindEdgeIndicesTextures(this._program,this._uTexturePerEdgeIdPortionIds,this._uTexturePerPolygonIdEdgeIndices,16),s.drawArrays(s.LINES,0,o.numEdgeIndices16Bits)),o.numEdgeIndices32Bits>0&&(l.bindEdgeIndicesTextures(this._program,this._uTexturePerEdgeIdPortionIds,this._uTexturePerPolygonIdEdgeIndices,32),s.drawArrays(s.LINES,0,o.numEdgeIndices32Bits)),e.drawElements++}}},{key:"_allocate",value:function(){var e=this._scene,t=e.canvas.gl;if(this._program=new bt(t,this._buildShader()),this._program.errors)this.errors=this._program.errors;else{var n=this._program;this._uRenderPass=n.getLocation("renderPass"),this._uSceneModelMatrix=n.getLocation("sceneModelMatrix"),this._uViewMatrix=n.getLocation("viewMatrix"),this._uProjMatrix=n.getLocation("projMatrix"),this._uSectionPlanes=[];for(var r=0,i=e._sectionPlanesState.getNumAllocatedSectionPlanes();r0,n=[];return n.push("#version 300 es"),n.push("// TrianglesDataTextureEdgesColorRenderer"),n.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),n.push("precision highp float;"),n.push("precision highp int;"),n.push("precision highp usampler2D;"),n.push("precision highp isampler2D;"),n.push("precision highp sampler2D;"),n.push("#else"),n.push("precision mediump float;"),n.push("precision mediump int;"),n.push("precision mediump usampler2D;"),n.push("precision mediump isampler2D;"),n.push("precision mediump sampler2D;"),n.push("#endif"),n.push("uniform int renderPass;"),e.entityOffsetsEnabled,n.push("uniform mat4 sceneModelMatrix;"),n.push("uniform mat4 viewMatrix;"),n.push("uniform mat4 projMatrix;"),n.push("uniform highp sampler2D uObjectPerObjectPositionsDecodeMatrix;"),n.push("uniform highp sampler2D uTexturePerObjectMatrix;"),n.push("uniform lowp usampler2D uObjectPerObjectColorsAndFlags;"),n.push("uniform highp sampler2D uObjectPerObjectOffsets;"),n.push("uniform mediump usampler2D uTexturePerVertexIdCoordinates;"),n.push("uniform highp usampler2D uTexturePerPolygonIdEdgeIndices;"),n.push("uniform mediump usampler2D uTexturePerEdgeIdPortionIds;"),e.logarithmicDepthBufferEnabled&&(n.push("uniform float logDepthBufFC;"),n.push("out float vFragDepth;"),n.push("bool isPerspectiveMatrix(mat4 m) {"),n.push(" return (m[2][3] == - 1.0);"),n.push("}"),n.push("out float isPerspective;")),t&&(n.push("out vec4 vWorldPosition;"),n.push("flat out uint vFlags2;")),n.push("out vec4 vColor;"),n.push("void main(void) {"),n.push("int edgeIndex = gl_VertexID / 2;"),n.push("int h_packed_object_id_index = (edgeIndex >> 3) & 4095;"),n.push("int v_packed_object_id_index = (edgeIndex >> 3) >> 12;"),n.push("int objectIndex = int(texelFetch(uTexturePerEdgeIdPortionIds, ivec2(h_packed_object_id_index, v_packed_object_id_index), 0).r);"),n.push("ivec2 objectIndexCoords = ivec2(objectIndex % 512, objectIndex / 512);"),n.push("uvec4 flags = texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+2, objectIndexCoords.y), 0);"),n.push("uvec4 flags2 = texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+3, objectIndexCoords.y), 0);"),n.push("if (int(flags.z) != renderPass) {"),n.push(" gl_Position = vec4(3.0, 3.0, 3.0, 1.0);"),n.push(" return;"),n.push("} else {"),n.push("ivec4 packedVertexBase = ivec4(texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+4, objectIndexCoords.y), 0));"),n.push("ivec4 packedEdgeIndexBaseOffset = ivec4(texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+6, objectIndexCoords.y), 0));"),n.push("int edgeIndexBaseOffset = (packedEdgeIndexBaseOffset.r << 24) + (packedEdgeIndexBaseOffset.g << 16) + (packedEdgeIndexBaseOffset.b << 8) + packedEdgeIndexBaseOffset.a;"),n.push("int h_index = (edgeIndex - edgeIndexBaseOffset) & 4095;"),n.push("int v_index = (edgeIndex - edgeIndexBaseOffset) >> 12;"),n.push("ivec3 vertexIndices = ivec3(texelFetch(uTexturePerPolygonIdEdgeIndices, ivec2(h_index, v_index), 0));"),n.push("ivec3 uniqueVertexIndexes = vertexIndices + (packedVertexBase.r << 24) + (packedVertexBase.g << 16) + (packedVertexBase.b << 8) + packedVertexBase.a;"),n.push("int indexPositionH = uniqueVertexIndexes[gl_VertexID % 2] & 4095;"),n.push("int indexPositionV = uniqueVertexIndexes[gl_VertexID % 2] >> 12;"),n.push("mat4 objectInstanceMatrix = mat4 (texelFetch (uTexturePerObjectMatrix, ivec2(objectIndexCoords.x*4+0, objectIndexCoords.y), 0), texelFetch (uTexturePerObjectMatrix, ivec2(objectIndexCoords.x*4+1, objectIndexCoords.y), 0), texelFetch (uTexturePerObjectMatrix, ivec2(objectIndexCoords.x*4+2, objectIndexCoords.y), 0), texelFetch (uTexturePerObjectMatrix, ivec2(objectIndexCoords.x*4+3, objectIndexCoords.y), 0));"),n.push("mat4 objectDecodeAndInstanceMatrix = objectInstanceMatrix * mat4 (texelFetch (uObjectPerObjectPositionsDecodeMatrix, ivec2(objectIndexCoords.x*4+0, objectIndexCoords.y), 0), texelFetch (uObjectPerObjectPositionsDecodeMatrix, ivec2(objectIndexCoords.x*4+1, objectIndexCoords.y), 0), texelFetch (uObjectPerObjectPositionsDecodeMatrix, ivec2(objectIndexCoords.x*4+2, objectIndexCoords.y), 0), texelFetch (uObjectPerObjectPositionsDecodeMatrix, ivec2(objectIndexCoords.x*4+3, objectIndexCoords.y), 0));"),n.push("uvec4 flags = texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+2, objectIndexCoords.y), 0);"),n.push("uvec4 flags2 = texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+3, objectIndexCoords.y), 0);"),n.push("vec3 position = vec3(texelFetch(uTexturePerVertexIdCoordinates, ivec2(indexPositionH, indexPositionV), 0));"),n.push("uvec4 color = texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+0, objectIndexCoords.y), 0);"),n.push("if (color.a == 0u) {"),n.push(" gl_Position = vec4(3.0, 3.0, 3.0, 1.0);"),n.push(" return;"),n.push("};"),n.push("vec4 worldPosition = sceneModelMatrix * (objectDecodeAndInstanceMatrix * vec4(position, 1.0)); "),n.push("vec4 viewPosition = viewMatrix * worldPosition; "),t&&(n.push(" vWorldPosition = worldPosition;"),n.push(" vFlags2 = flags2.r;")),n.push("vec4 clipPos = projMatrix * viewPosition;"),e.logarithmicDepthBufferEnabled&&(n.push("vFragDepth = 1.0 + clipPos.w;"),n.push("isPerspective = float (isPerspectiveMatrix(projMatrix));")),n.push("gl_Position = clipPos;"),n.push("vec4 rgb = vec4(color.rgba);"),n.push("vColor = vec4(float(rgb.r*0.5) / 255.0, float(rgb.g*0.5) / 255.0, float(rgb.b*0.5) / 255.0, float(rgb.a) / 255.0);"),n.push("}"),n.push("}"),n}},{key:"_buildFragmentShader",value:function(){var e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,n=[];if(n.push("#version 300 es"),n.push("// TrianglesDataTextureEdgesColorRenderer"),n.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),n.push("precision highp float;"),n.push("precision highp int;"),n.push("#else"),n.push("precision mediump float;"),n.push("precision mediump int;"),n.push("#endif"),e.logarithmicDepthBufferEnabled&&(n.push("in float isPerspective;"),n.push("uniform float logDepthBufFC;"),n.push("in float vFragDepth;")),t){n.push("in vec4 vWorldPosition;"),n.push("flat in uint vFlags2;");for(var r=0,i=e._sectionPlanesState.getNumAllocatedSectionPlanes();r 0u;"),n.push(" if (clippable) {"),n.push(" float dist = 0.0;");for(var a=0,s=e._sectionPlanesState.getNumAllocatedSectionPlanes();a 0.0) { discard; }"),n.push("}")}return e.logarithmicDepthBufferEnabled&&n.push(" gl_FragDepth = isPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5;"),n.push(" outColor = vColor;"),n.push("}"),n}},{key:"webglContextRestored",value:function(){this._program=null}},{key:"destroy",value:function(){this._program&&this._program.destroy(),this._program=null}}]),e}(),Rc=$.vec3(),Cc=$.vec3(),_c=$.vec3(),Bc=$.mat4(),Oc=function(){function e(t){b(this,e),this._scene=t,this._hash=this._getHash(),this._allocate()}return P(e,[{key:"getValid",value:function(){return this._hash===this._getHash()}},{key:"_getHash",value:function(){return this._scene._sectionPlanesState.getHash()}},{key:"drawLayer",value:function(e,t,n){if(this._program||(this._allocate(t),!this.errors)){e.lastProgramId!==this._program.id&&(e.lastProgramId=this._program.id,this._bindProgram(e));var r,i,a=t.model,s=a.scene,o=s.camera,l=s.canvas.gl,u=t._state,c=u.textureState,f=t._state.origin,p=a.position,A=a.rotationMatrix,d=a.rotationMatrixConjugate;c.bindCommonTextures(this._program,this.uTexturePerObjectPositionsDecodeMatrix,this._uTexturePerVertexIdCoordinates,this.uTexturePerObjectColorsAndFlags,this._uTexturePerObjectMatrix);var v=0!==f[0]||0!==f[1]||0!==f[2],h=0!==p[0]||0!==p[1]||0!==p[2];if(v||h){var I=Rc;if(v){var y=$.transformPoint3(A,f,Cc);I[0]=y[0],I[1]=y[1],I[2]=y[2]}else I[0]=0,I[1]=0,I[2]=0;I[0]+=p[0],I[1]+=p[1],I[2]+=p[2],r=Be(o.viewMatrix,I,Bc),(i=_c)[0]=o.eye[0]-I[0],i[1]=o.eye[1]-I[1],i[2]=o.eye[2]-I[2]}else r=o.viewMatrix,i=o.eye;if(l.uniform2fv(this._uPickClipPos,e.pickClipPos),l.uniform2f(this._uDrawingBufferSize,l.drawingBufferWidth,l.drawingBufferHeight),l.uniformMatrix4fv(this._uSceneModelMatrix,!1,d),l.uniformMatrix4fv(this._uViewMatrix,!1,r),l.uniformMatrix4fv(this._uProjMatrix,!1,o.projMatrix),l.uniform3fv(this._uCameraEyeRtc,i),l.uniform1i(this._uRenderPass,n),s.logarithmicDepthBufferEnabled){var m=2/(Math.log(o.project.far+1)/Math.LN2);l.uniform1f(this._uLogDepthBufFC,m)}var w=s._sectionPlanesState.getNumAllocatedSectionPlanes(),g=s._sectionPlanesState.sectionPlanes.length;if(w>0)for(var E=s._sectionPlanesState.sectionPlanes,T=t.layerIndex*g,b=a.renderFlags,D=0;D0&&(c.bindTriangleIndicesTextures(this._program,this._uTexturePerPolygonIdPortionIds,this._uTexturePerPolygonIdIndices,8),l.drawArrays(l.TRIANGLES,0,u.numIndices8Bits)),u.numIndices16Bits>0&&(c.bindTriangleIndicesTextures(this._program,this._uTexturePerPolygonIdPortionIds,this._uTexturePerPolygonIdIndices,16),l.drawArrays(l.TRIANGLES,0,u.numIndices16Bits)),u.numIndices32Bits>0&&(c.bindTriangleIndicesTextures(this._program,this._uTexturePerPolygonIdPortionIds,this._uTexturePerPolygonIdIndices,32),l.drawArrays(l.TRIANGLES,0,u.numIndices32Bits)),e.drawElements++}}},{key:"_allocate",value:function(){var e=this._scene,t=e.canvas.gl;if(this._program=new bt(t,this._buildShader()),this._program.errors)this.errors=this._program.errors;else{var n=this._program;this._uRenderPass=n.getLocation("renderPass"),this._uPickInvisible=n.getLocation("pickInvisible"),this._uPickClipPos=n.getLocation("pickClipPos"),this._uDrawingBufferSize=n.getLocation("drawingBufferSize"),this._uSceneModelMatrix=n.getLocation("sceneModelMatrix"),this._uViewMatrix=n.getLocation("viewMatrix"),this._uProjMatrix=n.getLocation("projMatrix"),this._uSectionPlanes=[];for(var r=0,i=e._sectionPlanesState.getNumAllocatedSectionPlanes();r0,n=[];return n.push("#version 300 es"),n.push("// Batched geometry picking vertex shader"),n.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),n.push("precision highp float;"),n.push("precision highp int;"),n.push("precision highp usampler2D;"),n.push("precision highp isampler2D;"),n.push("precision highp sampler2D;"),n.push("#else"),n.push("precision mediump float;"),n.push("precision mediump int;"),n.push("precision mediump usampler2D;"),n.push("precision mediump isampler2D;"),n.push("precision mediump sampler2D;"),n.push("#endif"),n.push("uniform int renderPass;"),e.entityOffsetsEnabled&&n.push("in vec3 offset;"),n.push("uniform mat4 sceneModelMatrix;"),n.push("uniform mat4 viewMatrix;"),n.push("uniform mat4 projMatrix;"),n.push("uniform bool pickInvisible;"),n.push("uniform highp sampler2D uObjectPerObjectPositionsDecodeMatrix;"),n.push("uniform highp sampler2D uTexturePerObjectMatrix;"),n.push("uniform lowp usampler2D uObjectPerObjectColorsAndFlags;"),n.push("uniform mediump usampler2D uTexturePerVertexIdCoordinates;"),n.push("uniform highp usampler2D uTexturePerPolygonIdIndices;"),n.push("uniform mediump usampler2D uTexturePerPolygonIdPortionIds;"),n.push("uniform vec3 uCameraEyeRtc;"),n.push("vec3 positions[3];"),e.logarithmicDepthBufferEnabled&&(n.push("uniform float logDepthBufFC;"),n.push("out float vFragDepth;"),n.push("out float isPerspective;")),n.push("uniform vec2 pickClipPos;"),n.push("uniform vec2 drawingBufferSize;"),n.push("vec4 remapClipPos(vec4 clipPos) {"),n.push(" clipPos.xy /= clipPos.w;"),n.push(" clipPos.xy = (clipPos.xy - pickClipPos) * drawingBufferSize;"),n.push(" clipPos.xy *= clipPos.w;"),n.push(" return clipPos;"),n.push("}"),n.push("bool isPerspectiveMatrix(mat4 m) {"),n.push(" return (m[2][3] == - 1.0);"),n.push("}"),t&&(n.push("smooth out vec4 vWorldPosition;"),n.push("flat out uvec4 vFlags2;")),n.push("out vec4 vPickColor;"),n.push("void main(void) {"),n.push("int polygonIndex = gl_VertexID / 3;"),n.push("int h_packed_object_id_index = (polygonIndex >> 3) & 4095;"),n.push("int v_packed_object_id_index = (polygonIndex >> 3) >> 12;"),n.push("int objectIndex = int(texelFetch(uTexturePerPolygonIdPortionIds, ivec2(h_packed_object_id_index, v_packed_object_id_index), 0).r);"),n.push("ivec2 objectIndexCoords = ivec2(objectIndex % 512, objectIndex / 512);"),n.push("uvec4 flags = texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+2, objectIndexCoords.y), 0);"),n.push("uvec4 flags2 = texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+3, objectIndexCoords.y), 0);"),n.push("if (int(flags.w) != renderPass) {"),n.push(" gl_Position = vec4(3.0, 3.0, 3.0, 1.0);"),n.push(" return;"),n.push("} else {"),n.push("ivec4 packedVertexBase = ivec4(texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+4, objectIndexCoords.y), 0));"),n.push("ivec4 packedIndexBaseOffset = ivec4(texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+5, objectIndexCoords.y), 0));"),n.push("int indexBaseOffset = (packedIndexBaseOffset.r << 24) + (packedIndexBaseOffset.g << 16) + (packedIndexBaseOffset.b << 8) + packedIndexBaseOffset.a;"),n.push("int h_index = (polygonIndex - indexBaseOffset) & 4095;"),n.push("int v_index = (polygonIndex - indexBaseOffset) >> 12;"),n.push("ivec3 vertexIndices = ivec3(texelFetch(uTexturePerPolygonIdIndices, ivec2(h_index, v_index), 0));"),n.push("ivec3 uniqueVertexIndexes = vertexIndices + (packedVertexBase.r << 24) + (packedVertexBase.g << 16) + (packedVertexBase.b << 8) + packedVertexBase.a;"),n.push("ivec3 indexPositionH = uniqueVertexIndexes & 4095;"),n.push("ivec3 indexPositionV = uniqueVertexIndexes >> 12;"),n.push("mat4 objectInstanceMatrix = mat4 (texelFetch (uTexturePerObjectMatrix, ivec2(objectIndexCoords.x*4+0, objectIndexCoords.y), 0), texelFetch (uTexturePerObjectMatrix, ivec2(objectIndexCoords.x*4+1, objectIndexCoords.y), 0), texelFetch (uTexturePerObjectMatrix, ivec2(objectIndexCoords.x*4+2, objectIndexCoords.y), 0), texelFetch (uTexturePerObjectMatrix, ivec2(objectIndexCoords.x*4+3, objectIndexCoords.y), 0));"),n.push("mat4 objectDecodeAndInstanceMatrix = objectInstanceMatrix * mat4 (texelFetch (uObjectPerObjectPositionsDecodeMatrix, ivec2(objectIndexCoords.x*4+0, objectIndexCoords.y), 0), texelFetch (uObjectPerObjectPositionsDecodeMatrix, ivec2(objectIndexCoords.x*4+1, objectIndexCoords.y), 0), texelFetch (uObjectPerObjectPositionsDecodeMatrix, ivec2(objectIndexCoords.x*4+2, objectIndexCoords.y), 0), texelFetch (uObjectPerObjectPositionsDecodeMatrix, ivec2(objectIndexCoords.x*4+3, objectIndexCoords.y), 0));"),n.push("uint solid = texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+7, objectIndexCoords.y), 0).r;"),n.push("positions[0] = vec3(texelFetch(uTexturePerVertexIdCoordinates, ivec2(indexPositionH.r, indexPositionV.r), 0));"),n.push("positions[1] = vec3(texelFetch(uTexturePerVertexIdCoordinates, ivec2(indexPositionH.g, indexPositionV.g), 0));"),n.push("positions[2] = vec3(texelFetch(uTexturePerVertexIdCoordinates, ivec2(indexPositionH.b, indexPositionV.b), 0));"),n.push("uvec4 color = texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+0, objectIndexCoords.y), 0);"),n.push("if (color.a == 0u) {"),n.push(" gl_Position = vec4(3.0, 3.0, 3.0, 1.0);"),n.push(" return;"),n.push("};"),n.push("vPickColor = vec4(texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+1, objectIndexCoords.y), 0)) / 255.0;"),n.push("vec3 normal = normalize(cross(positions[2] - positions[0], positions[1] - positions[0]));"),n.push("vec3 position;"),n.push("position = positions[gl_VertexID % 3];"),n.push("if (solid != 1u) {"),n.push("if (isPerspectiveMatrix(projMatrix)) {"),n.push("vec3 uCameraEyeRtcInQuantizedSpace = (inverse(sceneModelMatrix * objectDecodeAndInstanceMatrix) * vec4(uCameraEyeRtc, 1)).xyz;"),n.push("if (dot(position.xyz - uCameraEyeRtcInQuantizedSpace, normal) < 0.0) {"),n.push("position = positions[2 - (gl_VertexID % 3)];"),n.push("}"),n.push("} else {"),n.push("vec3 viewNormal = -normalize((transpose(inverse(viewMatrix*objectDecodeAndInstanceMatrix)) * vec4(normal,1)).xyz);"),n.push("if (viewNormal.z < 0.0) {"),n.push("position = positions[2 - (gl_VertexID % 3)];"),n.push("}"),n.push("}"),n.push("}"),n.push("vec4 worldPosition = sceneModelMatrix * (objectDecodeAndInstanceMatrix * vec4(position, 1.0)); "),n.push("vec4 viewPosition = viewMatrix * worldPosition; "),t&&(n.push(" vWorldPosition = worldPosition;"),n.push(" vFlags2 = flags2;")),n.push("vec4 clipPos = projMatrix * viewPosition;"),e.logarithmicDepthBufferEnabled&&(n.push("vFragDepth = 1.0 + clipPos.w;"),n.push("isPerspective = float (isPerspectiveMatrix(projMatrix));")),n.push("gl_Position = remapClipPos(clipPos);"),n.push(" }"),n.push("}"),n}},{key:"_buildFragmentShader",value:function(){var e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,n=[];if(n.push("#version 300 es"),n.push("// Batched geometry picking fragment shader"),n.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),n.push("precision highp float;"),n.push("precision highp int;"),n.push("#else"),n.push("precision mediump float;"),n.push("precision mediump int;"),n.push("#endif"),e.logarithmicDepthBufferEnabled&&(n.push("in float isPerspective;"),n.push("uniform float logDepthBufFC;"),n.push("in float vFragDepth;")),t){n.push("in vec4 vWorldPosition;"),n.push("flat in uvec4 vFlags2;");for(var r=0;r 0.0);"),n.push(" if (clippable) {"),n.push(" float dist = 0.0;");for(r=0;r 0.0) { discard; }"),n.push(" }")}return e.logarithmicDepthBufferEnabled&&n.push(" gl_FragDepth = isPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5;"),n.push(" outPickColor = vPickColor; "),n.push("}"),n}},{key:"webglContextRestored",value:function(){this._program=null}},{key:"destroy",value:function(){this._program&&this._program.destroy(),this._program=null}}]),e}(),Sc=$.vec3(),Nc=$.vec3(),Lc=$.vec3();$.vec3();var xc=$.mat4(),Mc=function(){function e(t){b(this,e),this._scene=t,this._hash=this._getHash(),this._allocate()}return P(e,[{key:"getValid",value:function(){return this._hash===this._getHash()}},{key:"_getHash",value:function(){return this._scene._sectionPlanesState.getHash()}},{key:"drawLayer",value:function(e,t,n){var r,i,a=t.model,s=a.scene,o=s.camera,l=s.canvas.gl,u=t._state,c=u.textureState,f=t._state.origin,p=a.position,A=a.rotationMatrix,d=a.rotationMatrixConjugate,v=e.pickViewMatrix||o.viewMatrix;if(this._program||this._allocate(),e.lastProgramId!==this._program.id&&(e.lastProgramId=this._program.id,this._bindProgram()),c.bindCommonTextures(this._program,this.uTexturePerObjectPositionsDecodeMatrix,this._uTexturePerVertexIdCoordinates,this.uTexturePerObjectColorsAndFlags,this._uTexturePerObjectMatrix),f||0!==p[0]||0!==p[1]||0!==p[2]){var h=Sc;if(f){var I=Nc;$.transformPoint3(A,f,I),h[0]=I[0],h[1]=I[1],h[2]=I[2]}else h[0]=0,h[1]=0,h[2]=0;h[0]+=p[0],h[1]+=p[1],h[2]+=p[2],r=Be(v,h,xc),(i=Lc)[0]=o.eye[0]-h[0],i[1]=o.eye[1]-h[1],i[2]=o.eye[2]-h[2],e.snapPickOrigin[0]=h[0],e.snapPickOrigin[1]=h[1],e.snapPickOrigin[2]=h[2]}else r=v,i=o.eye,e.snapPickOrigin[0]=0,e.snapPickOrigin[1]=0,e.snapPickOrigin[2]=0;if(l.uniform3fv(this._uCameraEyeRtc,i),l.uniform1i(this._uRenderPass,n),l.uniform1i(this._uPickInvisible,e.pickInvisible),l.uniform2fv(this._uPickClipPos,e.pickClipPos),l.uniform2f(this._uDrawingBufferSize,l.drawingBufferWidth,l.drawingBufferHeight),l.uniform1f(this._uPickZNear,e.pickZNear),l.uniform1f(this._uPickZFar,e.pickZFar),l.uniformMatrix4fv(this._uSceneModelMatrix,!1,d),l.uniformMatrix4fv(this._uViewMatrix,!1,r),l.uniformMatrix4fv(this._uProjMatrix,!1,o.projMatrix),s.logarithmicDepthBufferEnabled){var y=2/(Math.log(e.pickZFar+1)/Math.LN2);l.uniform1f(this._uLogDepthBufFC,y)}var m=s._sectionPlanesState.getNumAllocatedSectionPlanes(),w=s._sectionPlanesState.sectionPlanes.length;if(m>0)for(var g=s._sectionPlanesState.sectionPlanes,E=t.layerIndex*w,T=a.renderFlags,b=0;b0&&(c.bindTriangleIndicesTextures(this._program,this._uTexturePerPolygonIdPortionIds,this._uTexturePerPolygonIdIndices,8),l.drawArrays(l.TRIANGLES,0,u.numIndices8Bits)),u.numIndices16Bits>0&&(c.bindTriangleIndicesTextures(this._program,this._uTexturePerPolygonIdPortionIds,this._uTexturePerPolygonIdIndices,16),l.drawArrays(l.TRIANGLES,0,u.numIndices16Bits)),u.numIndices32Bits>0&&(c.bindTriangleIndicesTextures(this._program,this._uTexturePerPolygonIdPortionIds,this._uTexturePerPolygonIdIndices,32),l.drawArrays(l.TRIANGLES,0,u.numIndices32Bits)),e.drawElements++}},{key:"_allocate",value:function(){var e=this._scene,t=e.canvas.gl;if(this._program=new bt(t,this._buildShader()),this._program.errors)this.errors=this._program.errors;else{var n=this._program;this._uRenderPass=n.getLocation("renderPass"),this._uPickInvisible=n.getLocation("pickInvisible"),this._uPickClipPos=n.getLocation("pickClipPos"),this._uDrawingBufferSize=n.getLocation("drawingBufferSize"),this._uSceneModelMatrix=n.getLocation("sceneModelMatrix"),this._uViewMatrix=n.getLocation("viewMatrix"),this._uProjMatrix=n.getLocation("projMatrix"),this._uSectionPlanes=[];for(var r=0,i=e._sectionPlanesState.getNumAllocatedSectionPlanes();r0,n=[];return n.push("#version 300 es"),n.push("// Triangles dataTexture pick depth vertex shader"),n.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),n.push("precision highp float;"),n.push("precision highp int;"),n.push("precision highp usampler2D;"),n.push("precision highp isampler2D;"),n.push("precision highp sampler2D;"),n.push("#else"),n.push("precision mediump float;"),n.push("precision mediump int;"),n.push("precision mediump usampler2D;"),n.push("precision mediump isampler2D;"),n.push("precision mediump sampler2D;"),n.push("#endif"),n.push("uniform int renderPass;"),e.entityOffsetsEnabled&&n.push("in vec3 offset;"),n.push("uniform mat4 sceneModelMatrix;"),n.push("uniform mat4 viewMatrix;"),n.push("uniform mat4 projMatrix;"),n.push("uniform bool pickInvisible;"),n.push("uniform highp sampler2D uObjectPerObjectPositionsDecodeMatrix;"),n.push("uniform highp sampler2D uTexturePerObjectMatrix;"),n.push("uniform lowp usampler2D uObjectPerObjectColorsAndFlags;"),n.push("uniform mediump usampler2D uTexturePerVertexIdCoordinates;"),n.push("uniform highp usampler2D uTexturePerPolygonIdIndices;"),n.push("uniform mediump usampler2D uTexturePerPolygonIdPortionIds;"),n.push("uniform vec3 uCameraEyeRtc;"),n.push("vec3 positions[3];"),e.logarithmicDepthBufferEnabled&&(n.push("uniform float logDepthBufFC;"),n.push("out float vFragDepth;"),n.push("out float isPerspective;")),n.push("uniform vec2 pickClipPos;"),n.push("uniform vec2 drawingBufferSize;"),n.push("vec4 remapClipPos(vec4 clipPos) {"),n.push(" clipPos.xy /= clipPos.w;"),n.push(" clipPos.xy = (clipPos.xy - pickClipPos) * drawingBufferSize;"),n.push(" clipPos.xy *= clipPos.w;"),n.push(" return clipPos;"),n.push("}"),n.push("bool isPerspectiveMatrix(mat4 m) {"),n.push(" return (m[2][3] == - 1.0);"),n.push("}"),t&&(n.push("out vec4 vWorldPosition;"),n.push("flat out uint vFlags2;")),n.push("out vec4 vViewPosition;"),n.push("void main(void) {"),n.push("int polygonIndex = gl_VertexID / 3;"),n.push("int h_packed_object_id_index = (polygonIndex >> 3) & 4095;"),n.push("int v_packed_object_id_index = (polygonIndex >> 3) >> 12;"),n.push("int objectIndex = int(texelFetch(uTexturePerPolygonIdPortionIds, ivec2(h_packed_object_id_index, v_packed_object_id_index), 0).r);"),n.push("ivec2 objectIndexCoords = ivec2(objectIndex % 512, objectIndex / 512);"),n.push("uvec4 flags = texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+2, objectIndexCoords.y), 0);"),n.push("uvec4 flags2 = texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+3, objectIndexCoords.y), 0);"),n.push("if (int(flags.w) != renderPass) {"),n.push(" gl_Position = vec4(3.0, 3.0, 3.0, 1.0);"),n.push(" return;"),n.push("} else {"),n.push("ivec4 packedVertexBase = ivec4(texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+4, objectIndexCoords.y), 0));"),n.push("ivec4 packedIndexBaseOffset = ivec4(texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+5, objectIndexCoords.y), 0));"),n.push("int indexBaseOffset = (packedIndexBaseOffset.r << 24) + (packedIndexBaseOffset.g << 16) + (packedIndexBaseOffset.b << 8) + packedIndexBaseOffset.a;"),n.push("int h_index = (polygonIndex - indexBaseOffset) & 4095;"),n.push("int v_index = (polygonIndex - indexBaseOffset) >> 12;"),n.push("ivec3 vertexIndices = ivec3(texelFetch(uTexturePerPolygonIdIndices, ivec2(h_index, v_index), 0));"),n.push("ivec3 uniqueVertexIndexes = vertexIndices + (packedVertexBase.r << 24) + (packedVertexBase.g << 16) + (packedVertexBase.b << 8) + packedVertexBase.a;"),n.push("ivec3 indexPositionH = uniqueVertexIndexes & 4095;"),n.push("ivec3 indexPositionV = uniqueVertexIndexes >> 12;"),n.push("mat4 objectInstanceMatrix = mat4 (texelFetch (uTexturePerObjectMatrix, ivec2(objectIndexCoords.x*4+0, objectIndexCoords.y), 0), texelFetch (uTexturePerObjectMatrix, ivec2(objectIndexCoords.x*4+1, objectIndexCoords.y), 0), texelFetch (uTexturePerObjectMatrix, ivec2(objectIndexCoords.x*4+2, objectIndexCoords.y), 0), texelFetch (uTexturePerObjectMatrix, ivec2(objectIndexCoords.x*4+3, objectIndexCoords.y), 0));"),n.push("mat4 objectDecodeAndInstanceMatrix = objectInstanceMatrix * mat4 (texelFetch (uObjectPerObjectPositionsDecodeMatrix, ivec2(objectIndexCoords.x*4+0, objectIndexCoords.y), 0), texelFetch (uObjectPerObjectPositionsDecodeMatrix, ivec2(objectIndexCoords.x*4+1, objectIndexCoords.y), 0), texelFetch (uObjectPerObjectPositionsDecodeMatrix, ivec2(objectIndexCoords.x*4+2, objectIndexCoords.y), 0), texelFetch (uObjectPerObjectPositionsDecodeMatrix, ivec2(objectIndexCoords.x*4+3, objectIndexCoords.y), 0));"),n.push("uint solid = texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+7, objectIndexCoords.y), 0).r;"),n.push("positions[0] = vec3(texelFetch(uTexturePerVertexIdCoordinates, ivec2(indexPositionH.r, indexPositionV.r), 0));"),n.push("positions[1] = vec3(texelFetch(uTexturePerVertexIdCoordinates, ivec2(indexPositionH.g, indexPositionV.g), 0));"),n.push("positions[2] = vec3(texelFetch(uTexturePerVertexIdCoordinates, ivec2(indexPositionH.b, indexPositionV.b), 0));"),n.push("uvec4 color = texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+0, objectIndexCoords.y), 0);"),n.push("if (color.a == 0u) {"),n.push(" gl_Position = vec4(3.0, 3.0, 3.0, 1.0);"),n.push(" return;"),n.push("};"),n.push("vec3 normal = normalize(cross(positions[2] - positions[0], positions[1] - positions[0]));"),n.push("vec3 position;"),n.push("position = positions[gl_VertexID % 3];"),n.push("if (solid != 1u) {"),n.push("if (isPerspectiveMatrix(projMatrix)) {"),n.push("vec3 uCameraEyeRtcInQuantizedSpace = (inverse(sceneModelMatrix * objectDecodeAndInstanceMatrix) * vec4(uCameraEyeRtc, 1)).xyz;"),n.push("if (dot(position.xyz - uCameraEyeRtcInQuantizedSpace, normal) < 0.0) {"),n.push("position = positions[2 - (gl_VertexID % 3)];"),n.push("}"),n.push("} else {"),n.push("vec3 viewNormal = -normalize((transpose(inverse(viewMatrix*objectDecodeAndInstanceMatrix)) * vec4(normal,1)).xyz);"),n.push("if (viewNormal.z < 0.0) {"),n.push("position = positions[2 - (gl_VertexID % 3)];"),n.push("}"),n.push("}"),n.push("}"),n.push("vec4 worldPosition = sceneModelMatrix * (objectDecodeAndInstanceMatrix * vec4(position, 1.0)); "),n.push("vec4 viewPosition = viewMatrix * worldPosition; "),t&&(n.push(" vWorldPosition = worldPosition;"),n.push(" vFlags2 = flags2.r;")),n.push("vViewPosition = viewPosition;"),n.push("vec4 clipPos = projMatrix * viewPosition;"),e.logarithmicDepthBufferEnabled&&(n.push("vFragDepth = 1.0 + clipPos.w;"),n.push("isPerspective = float (isPerspectiveMatrix(projMatrix));")),n.push("gl_Position = remapClipPos(clipPos);"),n.push(" }"),n.push("}"),n}},{key:"_buildFragmentShader",value:function(){var e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,n=[];if(n.push("#version 300 es"),n.push("// Triangles dataTexture pick depth fragment shader"),n.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),n.push("precision highp float;"),n.push("precision highp int;"),n.push("#else"),n.push("precision mediump float;"),n.push("precision mediump int;"),n.push("#endif"),e.logarithmicDepthBufferEnabled&&(n.push("in float isPerspective;"),n.push("uniform float logDepthBufFC;"),n.push("in float vFragDepth;")),n.push("uniform float pickZNear;"),n.push("uniform float pickZFar;"),t){n.push("in vec4 vWorldPosition;"),n.push("flat in uint vFlags2;");for(var r=0;r 0u;"),n.push(" if (clippable) {"),n.push(" float dist = 0.0;");for(r=0;r 0.0) { discard; }"),n.push(" }")}return e.logarithmicDepthBufferEnabled&&n.push(" gl_FragDepth = isPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5;"),n.push(" float zNormalizedDepth = abs((pickZNear + vViewPosition.z) / (pickZFar - pickZNear));"),n.push(" outPackedDepth = packDepth(zNormalizedDepth); "),n.push("}"),n}},{key:"webglContextRestored",value:function(){this._program=null}},{key:"destroy",value:function(){this._program&&this._program.destroy(),this._program=null}}]),e}(),Fc=$.vec3(),Hc=$.vec3(),Uc=$.vec3(),Gc=$.vec3();$.vec3();var kc=$.mat4(),jc=function(){function e(t){b(this,e),this._scene=t,this._hash=this._getHash(),this._allocate()}return P(e,[{key:"getValid",value:function(){return this._hash===this._getHash()}},{key:"_getHash",value:function(){return this._scene._sectionPlanesState.getHash()}},{key:"drawLayer",value:function(e,t,n){if(this._program||(this._allocate(),!this.errors)){e.lastProgramId!==this._program.id&&(e.lastProgramId=this._program.id,this._bindProgram());var r,i,a=t.model,s=a.scene,o=s.camera,l=s.canvas.gl,u=t._state,c=u.textureState,f=t._state.origin,p=a.position,A=a.rotationMatrix,d=a.rotationMatrixConjugate,v=t.aabb,h=e.pickViewMatrix||o.viewMatrix,I=Fc;I[0]=$.safeInv(v[3]-v[0])*$.MAX_INT,I[1]=$.safeInv(v[4]-v[1])*$.MAX_INT,I[2]=$.safeInv(v[5]-v[2])*$.MAX_INT,e.snapPickCoordinateScale[0]=$.safeInv(I[0]),e.snapPickCoordinateScale[1]=$.safeInv(I[1]),e.snapPickCoordinateScale[2]=$.safeInv(I[2]),c.bindCommonTextures(this._program,this.uTexturePerObjectPositionsDecodeMatrix,this._uTexturePerVertexIdCoordinates,this.uTexturePerObjectColorsAndFlags,this._uTexturePerObjectMatrix);var y=0!==f[0]||0!==f[1]||0!==f[2],m=0!==p[0]||0!==p[1]||0!==p[2];if(y||m){var w=Hc;if(y){var g=$.transformPoint3(A,f,Uc);w[0]=g[0],w[1]=g[1],w[2]=g[2]}else w[0]=0,w[1]=0,w[2]=0;w[0]+=p[0],w[1]+=p[1],w[2]+=p[2],r=Be(h,w,kc),(i=Gc)[0]=o.eye[0]-w[0],i[1]=o.eye[1]-w[1],i[2]=o.eye[2]-w[2],e.snapPickOrigin[0]=w[0],e.snapPickOrigin[1]=w[1],e.snapPickOrigin[2]=w[2]}else r=h,i=o.eye,e.snapPickOrigin[0]=0,e.snapPickOrigin[1]=0,e.snapPickOrigin[2]=0;l.uniform3fv(this._uCameraEyeRtc,i),l.uniform2fv(this.uVectorA,e.snapVectorA),l.uniform2fv(this.uInverseVectorAB,e.snapInvVectorAB),l.uniform1i(this._uLayerNumber,e.snapPickLayerNumber),l.uniform3fv(this._uCoordinateScaler,I),l.uniform1i(this._uRenderPass,n),l.uniform1i(this._uPickInvisible,e.pickInvisible),l.uniformMatrix4fv(this._uSceneModelMatrix,!1,d),l.uniformMatrix4fv(this._uViewMatrix,!1,r),l.uniformMatrix4fv(this._uProjMatrix,!1,o.projMatrix);var E=2/(Math.log(e.pickZFar+1)/Math.LN2);l.uniform1f(this._uLogDepthBufFC,E);var T=s._sectionPlanesState.getNumAllocatedSectionPlanes(),b=s._sectionPlanesState.sectionPlanes.length;if(T>0)for(var D=s._sectionPlanesState.sectionPlanes,P=t.layerIndex*b,R=a.renderFlags,C=0;C0&&(c.bindEdgeIndicesTextures(this._program,this._uTexturePerEdgeIdPortionIds,this._uTexturePerPolygonIdEdgeIndices,8),l.drawArrays(N,0,u.numEdgeIndices8Bits)),u.numEdgeIndices16Bits>0&&(c.bindEdgeIndicesTextures(this._program,this._uTexturePerEdgeIdPortionIds,this._uTexturePerPolygonIdEdgeIndices,16),l.drawArrays(N,0,u.numEdgeIndices16Bits)),u.numEdgeIndices32Bits>0&&(c.bindEdgeIndicesTextures(this._program,this._uTexturePerEdgeIdPortionIds,this._uTexturePerPolygonIdEdgeIndices,32),l.drawArrays(N,0,u.numEdgeIndices32Bits)),e.drawElements++}}},{key:"_allocate",value:function(){var e=this._scene,t=e.canvas.gl;if(this._program=new bt(t,this._buildShader()),this._program.errors)this.errors=this._program.errors;else{var n=this._program;this._uRenderPass=n.getLocation("renderPass"),this._uPickInvisible=n.getLocation("pickInvisible"),this._uSceneModelMatrix=n.getLocation("sceneModelMatrix"),this._uViewMatrix=n.getLocation("viewMatrix"),this._uProjMatrix=n.getLocation("projMatrix"),this._uSectionPlanes=[];for(var r=0,i=e._sectionPlanesState.getNumAllocatedSectionPlanes();r0,n=[];return n.push("#version 300 es"),n.push("// Batched geometry edges drawing vertex shader"),n.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),n.push("precision highp float;"),n.push("precision highp int;"),n.push("precision highp usampler2D;"),n.push("precision highp isampler2D;"),n.push("precision highp sampler2D;"),n.push("#else"),n.push("precision mediump float;"),n.push("precision mediump int;"),n.push("precision mediump usampler2D;"),n.push("precision mediump isampler2D;"),n.push("precision mediump sampler2D;"),n.push("#endif"),n.push("uniform int renderPass;"),e.entityOffsetsEnabled&&n.push("in vec3 offset;"),n.push("uniform mat4 sceneModelMatrix;"),n.push("uniform mat4 viewMatrix;"),n.push("uniform mat4 projMatrix;"),n.push("uniform highp sampler2D uObjectPerObjectPositionsDecodeMatrix;"),n.push("uniform lowp usampler2D uObjectPerObjectColorsAndFlags;"),n.push("uniform highp sampler2D uTexturePerObjectMatrix;"),n.push("uniform mediump usampler2D uTexturePerVertexIdCoordinates;"),n.push("uniform highp usampler2D uTexturePerPolygonIdEdgeIndices;"),n.push("uniform mediump usampler2D uTexturePerEdgeIdPortionIds;"),n.push("uniform vec3 uCameraEyeRtc;"),n.push("uniform vec2 uSnapVectorA;"),n.push("uniform vec2 uSnapInvVectorAB;"),n.push("vec3 positions[3];"),n.push("uniform float logDepthBufFC;"),n.push("out float vFragDepth;"),n.push("bool isPerspectiveMatrix(mat4 m) {"),n.push(" return (m[2][3] == - 1.0);"),n.push("}"),n.push("out float isPerspective;"),n.push("vec2 remapClipPos(vec2 clipPos) {"),n.push(" float x = (clipPos.x - uSnapVectorA.x) * uSnapInvVectorAB.x;"),n.push(" float y = (clipPos.y - uSnapVectorA.y) * uSnapInvVectorAB.y;"),n.push(" return vec2(x, y);"),n.push("}"),t&&(n.push("out vec4 vWorldPosition;"),n.push("flat out uint vFlags2;")),n.push("out vec4 vViewPosition;"),n.push("out highp vec3 relativeToOriginPosition;"),n.push("void main(void) {"),n.push("int edgeIndex = gl_VertexID / 2;"),n.push("int h_packed_object_id_index = (edgeIndex >> 3) & 4095;"),n.push("int v_packed_object_id_index = (edgeIndex >> 3) >> 12;"),n.push("int objectIndex = int(texelFetch(uTexturePerEdgeIdPortionIds, ivec2(h_packed_object_id_index, v_packed_object_id_index), 0).r);"),n.push("ivec2 objectIndexCoords = ivec2(objectIndex % 512, objectIndex / 512);"),n.push("uvec4 flags = texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+2, objectIndexCoords.y), 0);"),n.push("uvec4 flags2 = texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+3, objectIndexCoords.y), 0);"),n.push("{"),n.push("ivec4 packedVertexBase = ivec4(texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+4, objectIndexCoords.y), 0));"),n.push("ivec4 packedEdgeIndexBaseOffset = ivec4(texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+6, objectIndexCoords.y), 0));"),n.push("int edgeIndexBaseOffset = (packedEdgeIndexBaseOffset.r << 24) + (packedEdgeIndexBaseOffset.g << 16) + (packedEdgeIndexBaseOffset.b << 8) + packedEdgeIndexBaseOffset.a;"),n.push("int h_index = (edgeIndex - edgeIndexBaseOffset) & 4095;"),n.push("int v_index = (edgeIndex - edgeIndexBaseOffset) >> 12;"),n.push("ivec3 vertexIndices = ivec3(texelFetch(uTexturePerPolygonIdEdgeIndices, ivec2(h_index, v_index), 0));"),n.push("ivec3 uniqueVertexIndexes = vertexIndices + (packedVertexBase.r << 24) + (packedVertexBase.g << 16) + (packedVertexBase.b << 8) + packedVertexBase.a;"),n.push("int indexPositionH = uniqueVertexIndexes[gl_VertexID % 2] & 4095;"),n.push("int indexPositionV = uniqueVertexIndexes[gl_VertexID % 2] >> 12;"),n.push("mat4 objectInstanceMatrix = mat4 (texelFetch (uTexturePerObjectMatrix, ivec2(objectIndexCoords.x*4+0, objectIndexCoords.y), 0), texelFetch (uTexturePerObjectMatrix, ivec2(objectIndexCoords.x*4+1, objectIndexCoords.y), 0), texelFetch (uTexturePerObjectMatrix, ivec2(objectIndexCoords.x*4+2, objectIndexCoords.y), 0), texelFetch (uTexturePerObjectMatrix, ivec2(objectIndexCoords.x*4+3, objectIndexCoords.y), 0));"),n.push("mat4 objectDecodeAndInstanceMatrix = objectInstanceMatrix * mat4 (texelFetch (uObjectPerObjectPositionsDecodeMatrix, ivec2(objectIndexCoords.x*4+0, objectIndexCoords.y), 0), texelFetch (uObjectPerObjectPositionsDecodeMatrix, ivec2(objectIndexCoords.x*4+1, objectIndexCoords.y), 0), texelFetch (uObjectPerObjectPositionsDecodeMatrix, ivec2(objectIndexCoords.x*4+2, objectIndexCoords.y), 0), texelFetch (uObjectPerObjectPositionsDecodeMatrix, ivec2(objectIndexCoords.x*4+3, objectIndexCoords.y), 0));"),n.push("uvec4 flags = texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+2, objectIndexCoords.y), 0);"),n.push("uvec4 flags2 = texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+3, objectIndexCoords.y), 0);"),n.push("vec3 position = vec3(texelFetch(uTexturePerVertexIdCoordinates, ivec2(indexPositionH, indexPositionV), 0));"),n.push("vec4 worldPosition = sceneModelMatrix * (objectDecodeAndInstanceMatrix * vec4(position, 1.0)); "),n.push("relativeToOriginPosition = worldPosition.xyz;"),n.push(" vec4 viewPosition = viewMatrix * worldPosition; "),t&&(n.push(" vWorldPosition = worldPosition;"),n.push(" vFlags2 = flags2.r;")),n.push("vViewPosition = viewPosition;"),n.push("vec4 clipPos = projMatrix * viewPosition;"),n.push("float tmp = clipPos.w;"),n.push("clipPos.xyzw /= tmp;"),n.push("clipPos.xy = remapClipPos(clipPos.xy);"),n.push("clipPos.xyzw *= tmp;"),n.push("vViewPosition = clipPos;"),n.push("vFragDepth = 1.0 + clipPos.w;"),n.push("isPerspective = float (isPerspectiveMatrix(projMatrix));"),n.push("gl_Position = clipPos;"),n.push("gl_PointSize = 1.0;"),n.push(" }"),n.push("}"),n}},{key:"_buildFragmentShader",value:function(){var e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,n=[];if(n.push("#version 300 es"),n.push("// Triangles dataTexture pick depth fragment shader"),n.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),n.push("precision highp float;"),n.push("precision highp int;"),n.push("#else"),n.push("precision mediump float;"),n.push("precision mediump int;"),n.push("#endif"),n.push("in float isPerspective;"),n.push("uniform float logDepthBufFC;"),n.push("in float vFragDepth;"),n.push("uniform int uLayerNumber;"),n.push("uniform vec3 uCoordinateScaler;"),t){n.push("in vec4 vWorldPosition;"),n.push("flat in uint vFlags2;");for(var r=0,i=e._sectionPlanesState.getNumAllocatedSectionPlanes();r 0u;"),n.push(" if (clippable) {"),n.push(" float dist = 0.0;");for(var a=0;a 0.0) { discard; }"),n.push(" }")}return n.push(" gl_FragDepth = isPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5;"),n.push("outCoords = ivec4(relativeToOriginPosition.xyz * uCoordinateScaler.xyz, uLayerNumber);"),n.push("}"),n}},{key:"webglContextRestored",value:function(){this._program=null}},{key:"destroy",value:function(){this._program&&this._program.destroy(),this._program=null}}]),e}(),Vc=$.vec3(),Qc=$.vec3(),Wc=$.vec3(),zc=$.vec3();$.vec3();var Kc=$.mat4(),Yc=function(){function e(t){b(this,e),this._scene=t,this._hash=this._getHash(),this._allocate()}return P(e,[{key:"getValid",value:function(){return this._hash===this._getHash()}},{key:"_getHash",value:function(){return this._scene._sectionPlanesState.getHash()}},{key:"drawLayer",value:function(e,t,n){this._program||this._allocate(),e.lastProgramId!==this._program.id&&(e.lastProgramId=this._program.id,this._bindProgram());var r,i,a=t.model,s=a.scene,o=s.camera,l=s.canvas.gl,u=t._state,c=u.textureState,f=t._state.origin,p=a.position,A=a.rotationMatrix,d=a.rotationMatrixConjugate,v=t.aabb,h=e.pickViewMatrix||o.viewMatrix,I=Vc;I[0]=$.safeInv(v[3]-v[0])*$.MAX_INT,I[1]=$.safeInv(v[4]-v[1])*$.MAX_INT,I[2]=$.safeInv(v[5]-v[2])*$.MAX_INT,e.snapPickCoordinateScale[0]=$.safeInv(I[0]),e.snapPickCoordinateScale[1]=$.safeInv(I[1]),e.snapPickCoordinateScale[2]=$.safeInv(I[2]),c.bindCommonTextures(this._program,this.uTexturePerObjectPositionsDecodeMatrix,this._uTexturePerVertexIdCoordinates,this.uTexturePerObjectColorsAndFlags,this._uTexturePerObjectMatrix);var y=0!==f[0]||0!==f[1]||0!==f[2],m=0!==p[0]||0!==p[1]||0!==p[2];if(y||m){var w=Qc;if(y){var g=Wc;$.transformPoint3(A,f,g),w[0]=g[0],w[1]=g[1],w[2]=g[2]}else w[0]=0,w[1]=0,w[2]=0;w[0]+=p[0],w[1]+=p[1],w[2]+=p[2],r=Be(h,w,Kc),(i=zc)[0]=o.eye[0]-w[0],i[1]=o.eye[1]-w[1],i[2]=o.eye[2]-w[2],e.snapPickOrigin[0]=w[0],e.snapPickOrigin[1]=w[1],e.snapPickOrigin[2]=w[2]}else r=h,i=o.eye,e.snapPickOrigin[0]=0,e.snapPickOrigin[1]=0,e.snapPickOrigin[2]=0;l.uniform3fv(this._uCameraEyeRtc,i),l.uniform2fv(this._uVectorA,e.snapVectorA),l.uniform2fv(this._uInverseVectorAB,e.snapInvVectorAB),l.uniform1i(this._uLayerNumber,e.snapPickLayerNumber),l.uniform3fv(this._uCoordinateScaler,I),l.uniform1i(this._uRenderPass,n),l.uniform1i(this._uPickInvisible,e.pickInvisible),l.uniformMatrix4fv(this._uSceneWorldModelMatrix,!1,d),l.uniformMatrix4fv(this._uViewMatrix,!1,r),l.uniformMatrix4fv(this._uProjMatrix,!1,o.projMatrix);var E=2/(Math.log(e.pickZFar+1)/Math.LN2);l.uniform1f(this._uLogDepthBufFC,E);var T=s._sectionPlanesState.getNumAllocatedSectionPlanes(),b=s._sectionPlanesState.sectionPlanes.length;if(T>0)for(var D=s._sectionPlanesState.sectionPlanes,P=t.layerIndex*b,R=a.renderFlags,C=0;C0&&(c.bindTriangleIndicesTextures(this._program,this._uTexturePerPolygonIdPortionIds,this._uTexturePerPolygonIdIndices,8),l.drawArrays(l.TRIANGLES,0,u.numIndices8Bits)),u.numIndices16Bits>0&&(c.bindTriangleIndicesTextures(this._program,this._uTexturePerPolygonIdPortionIds,this._uTexturePerPolygonIdIndices,16),l.drawArrays(l.TRIANGLES,0,u.numIndices16Bits)),u.numIndices32Bits>0&&(c.bindTriangleIndicesTextures(this._program,this._uTexturePerPolygonIdPortionIds,this._uTexturePerPolygonIdIndices,32),l.drawArrays(l.TRIANGLES,0,u.numIndices32Bits)),e.drawElements++}},{key:"_allocate",value:function(){var e=this._scene,t=e.canvas.gl;if(this._program=new bt(t,this._buildShader()),this._program.errors)this.errors=this._program.errors;else{var n=this._program;this._uRenderPass=n.getLocation("renderPass"),this._uPickInvisible=n.getLocation("pickInvisible"),this._uSceneWorldModelMatrix=n.getLocation("sceneModelMatrix"),this._uViewMatrix=n.getLocation("viewMatrix"),this._uProjMatrix=n.getLocation("projMatrix"),this._uSectionPlanes=[];for(var r=0,i=e._sectionPlanesState.getNumAllocatedSectionPlanes();r0,n=[];return n.push("#version 300 es"),n.push("// TrianglesDataTextureSnapDepthBufInitRenderer vertex shader"),n.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),n.push("precision highp float;"),n.push("precision highp int;"),n.push("precision highp usampler2D;"),n.push("precision highp isampler2D;"),n.push("precision highp sampler2D;"),n.push("#else"),n.push("precision mediump float;"),n.push("precision mediump int;"),n.push("precision mediump usampler2D;"),n.push("precision mediump isampler2D;"),n.push("precision mediump sampler2D;"),n.push("#endif"),n.push("uniform int renderPass;"),e.entityOffsetsEnabled&&n.push("in vec3 offset;"),n.push("uniform mat4 sceneModelMatrix;"),n.push("uniform mat4 viewMatrix;"),n.push("uniform mat4 projMatrix;"),n.push("uniform highp sampler2D uObjectPerObjectPositionsDecodeMatrix;"),n.push("uniform highp sampler2D uTexturePerObjectMatrix;"),n.push("uniform lowp usampler2D uObjectPerObjectColorsAndFlags;"),n.push("uniform mediump usampler2D uTexturePerVertexIdCoordinates;"),n.push("uniform highp usampler2D uTexturePerPolygonIdIndices;"),n.push("uniform mediump usampler2D uTexturePerPolygonIdPortionIds;"),n.push("uniform vec3 uCameraEyeRtc;"),n.push("uniform vec2 uVectorAB;"),n.push("uniform vec2 uInverseVectorAB;"),n.push("vec3 positions[3];"),n.push("uniform float logDepthBufFC;"),n.push("out float vFragDepth;"),n.push("out float isPerspective;"),n.push("bool isPerspectiveMatrix(mat4 m) {"),n.push(" return (m[2][3] == - 1.0);"),n.push("}"),n.push("vec2 remapClipPos(vec2 clipPos) {"),n.push(" float x = (clipPos.x - uVectorAB.x) * uInverseVectorAB.x;"),n.push(" float y = (clipPos.y - uVectorAB.y) * uInverseVectorAB.y;"),n.push(" return vec2(x, y);"),n.push("}"),n.push("flat out vec4 vPickColor;"),n.push("out vec4 vWorldPosition;"),t&&n.push("flat out uint vFlags2;"),n.push("out highp vec3 relativeToOriginPosition;"),n.push("void main(void) {"),n.push("int polygonIndex = gl_VertexID / 3;"),n.push("int h_packed_object_id_index = (polygonIndex >> 3) & 4095;"),n.push("int v_packed_object_id_index = (polygonIndex >> 3) >> 12;"),n.push("int objectIndex = int(texelFetch(uTexturePerPolygonIdPortionIds, ivec2(h_packed_object_id_index, v_packed_object_id_index), 0).r);"),n.push("ivec2 objectIndexCoords = ivec2(objectIndex % 512, objectIndex / 512);"),n.push("uvec4 flags = texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+2, objectIndexCoords.y), 0);"),n.push("uvec4 flags2 = texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+3, objectIndexCoords.y), 0);"),n.push("{"),n.push("uvec4 color = texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+0, objectIndexCoords.y), 0);"),n.push("if (color.a == 0u) {"),n.push(" gl_Position = vec4(3.0, 3.0, 3.0, 1.0);"),n.push(" return;"),n.push("};"),n.push("ivec4 packedVertexBase = ivec4(texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+4, objectIndexCoords.y), 0));"),n.push("ivec4 packedIndexBaseOffset = ivec4(texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+5, objectIndexCoords.y), 0));"),n.push("int indexBaseOffset = (packedIndexBaseOffset.r << 24) + (packedIndexBaseOffset.g << 16) + (packedIndexBaseOffset.b << 8) + packedIndexBaseOffset.a;"),n.push("int h_index = (polygonIndex - indexBaseOffset) & 4095;"),n.push("int v_index = (polygonIndex - indexBaseOffset) >> 12;"),n.push("ivec3 vertexIndices = ivec3(texelFetch(uTexturePerPolygonIdIndices, ivec2(h_index, v_index), 0));"),n.push("ivec3 uniqueVertexIndexes = vertexIndices + (packedVertexBase.r << 24) + (packedVertexBase.g << 16) + (packedVertexBase.b << 8) + packedVertexBase.a;"),n.push("ivec3 indexPositionH = uniqueVertexIndexes & 4095;"),n.push("ivec3 indexPositionV = uniqueVertexIndexes >> 12;"),n.push("mat4 objectInstanceMatrix = mat4 (texelFetch (uTexturePerObjectMatrix, ivec2(objectIndexCoords.x*4+0, objectIndexCoords.y), 0), texelFetch (uTexturePerObjectMatrix, ivec2(objectIndexCoords.x*4+1, objectIndexCoords.y), 0), texelFetch (uTexturePerObjectMatrix, ivec2(objectIndexCoords.x*4+2, objectIndexCoords.y), 0), texelFetch (uTexturePerObjectMatrix, ivec2(objectIndexCoords.x*4+3, objectIndexCoords.y), 0));"),n.push("mat4 objectDecodeAndInstanceMatrix = objectInstanceMatrix * mat4 (texelFetch (uObjectPerObjectPositionsDecodeMatrix, ivec2(objectIndexCoords.x*4+0, objectIndexCoords.y), 0), texelFetch (uObjectPerObjectPositionsDecodeMatrix, ivec2(objectIndexCoords.x*4+1, objectIndexCoords.y), 0), texelFetch (uObjectPerObjectPositionsDecodeMatrix, ivec2(objectIndexCoords.x*4+2, objectIndexCoords.y), 0), texelFetch (uObjectPerObjectPositionsDecodeMatrix, ivec2(objectIndexCoords.x*4+3, objectIndexCoords.y), 0));"),n.push("uint solid = texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+7, objectIndexCoords.y), 0).r;"),n.push("positions[0] = vec3(texelFetch(uTexturePerVertexIdCoordinates, ivec2(indexPositionH.r, indexPositionV.r), 0));"),n.push("positions[1] = vec3(texelFetch(uTexturePerVertexIdCoordinates, ivec2(indexPositionH.g, indexPositionV.g), 0));"),n.push("positions[2] = vec3(texelFetch(uTexturePerVertexIdCoordinates, ivec2(indexPositionH.b, indexPositionV.b), 0));"),n.push("vec3 normal = normalize(cross(positions[2] - positions[0], positions[1] - positions[0]));"),n.push("vec3 position;"),n.push("position = positions[gl_VertexID % 3];"),n.push("vec3 viewNormal = -normalize((transpose(inverse(viewMatrix*objectDecodeAndInstanceMatrix)) * vec4(normal,1)).xyz);"),n.push("if (solid != 1u) {"),n.push(" if (isPerspectiveMatrix(projMatrix)) {"),n.push(" vec3 uCameraEyeRtcInQuantizedSpace = (inverse(sceneModelMatrix * objectDecodeAndInstanceMatrix) * vec4(uCameraEyeRtc, 1)).xyz;"),n.push(" if (dot(position.xyz - uCameraEyeRtcInQuantizedSpace, normal) < 0.0) {"),n.push(" position = positions[2 - (gl_VertexID % 3)];"),n.push(" viewNormal = -viewNormal;"),n.push(" }"),n.push(" } else {"),n.push(" if (viewNormal.z < 0.0) {"),n.push(" position = positions[2 - (gl_VertexID % 3)];"),n.push(" viewNormal = -viewNormal;"),n.push(" }"),n.push(" }"),n.push("}"),n.push("vec4 worldPosition = sceneModelMatrix * (objectDecodeAndInstanceMatrix * vec4(position, 1.0)); "),n.push("relativeToOriginPosition = worldPosition.xyz;"),n.push("vec4 viewPosition = viewMatrix * worldPosition; "),n.push("vWorldPosition = worldPosition;"),t&&n.push("vFlags2 = flags2.r;"),n.push("vPickColor = vec4(texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+1, objectIndexCoords.y), 0));"),n.push("vec4 clipPos = projMatrix * viewPosition;"),n.push("float tmp = clipPos.w;"),n.push("clipPos.xyzw /= tmp;"),n.push("clipPos.xy = remapClipPos(clipPos.xy);"),n.push("clipPos.xyzw *= tmp;"),n.push("vFragDepth = 1.0 + clipPos.w;"),n.push("isPerspective = float (isPerspectiveMatrix(projMatrix));"),n.push("gl_Position = clipPos;"),n.push(" }"),n.push("}"),n}},{key:"_buildFragmentShader",value:function(){var e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,n=[];if(n.push("#version 300 es"),n.push("// TrianglesDataTextureSnapDepthBufInitRenderer fragment shader"),n.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),n.push("precision highp float;"),n.push("precision highp int;"),n.push("#else"),n.push("precision mediump float;"),n.push("precision mediump int;"),n.push("#endif"),n.push("in float isPerspective;"),n.push("uniform float logDepthBufFC;"),n.push("in float vFragDepth;"),n.push("uniform int uLayerNumber;"),n.push("uniform vec3 uCoordinateScaler;"),n.push("in vec4 vWorldPosition;"),n.push("flat in vec4 vPickColor;"),t){n.push("flat in uint vFlags2;");for(var r=0,i=e._sectionPlanesState.getNumAllocatedSectionPlanes();r 0u;"),n.push(" if (clippable) {"),n.push(" float dist = 0.0;");for(var a=0;a 0.0) { discard; }"),n.push(" }")}return n.push(" float dx = dFdx(vFragDepth);"),n.push(" float dy = dFdy(vFragDepth);"),n.push(" float diff = sqrt(dx*dx+dy*dy);"),n.push(" gl_FragDepth = isPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth + diff ) * logDepthBufFC * 0.5;"),n.push("outCoords = ivec4(relativeToOriginPosition.xyz * uCoordinateScaler.xyz, - uLayerNumber);"),n.push("vec3 xTangent = dFdx( vWorldPosition.xyz );"),n.push("vec3 yTangent = dFdy( vWorldPosition.xyz );"),n.push("vec3 worldNormal = normalize( cross( xTangent, yTangent ) );"),n.push("outNormal = ivec4(worldNormal * float(".concat($.MAX_INT,"), 1.0);")),n.push("outPickColor = uvec4(vPickColor);"),n.push("}"),n}},{key:"webglContextRestored",value:function(){this._program=null}},{key:"destroy",value:function(){this._program&&this._program.destroy(),this._program=null}}]),e}(),Xc=$.vec3(),qc=$.vec3(),Jc=$.vec3();$.vec3();var Zc=$.mat4(),$c=function(){function e(t){b(this,e),this._scene=t,this._hash=this._getHash(),this._allocate()}return P(e,[{key:"getValid",value:function(){return this._hash===this._getHash()}},{key:"_getHash",value:function(){return this._scene._sectionPlanesState.getHash()}},{key:"drawLayer",value:function(e,t,n){var r=t.model,i=r.scene,a=i.camera,s=i.canvas.gl,o=t._state,l=o.textureState,u=t._state.origin,c=r.position,f=r.rotationMatrix,p=r.rotationMatrixConjugate,A=e.pickViewMatrix||a.viewMatrix;if(this._program||(this._allocate(t),!this.errors)){var d,v;if(e.lastProgramId!==this._program.id&&(e.lastProgramId=this._program.id,this._bindProgram()),l.bindCommonTextures(this._program,this.uTexturePerObjectPositionsDecodeMatrix,this._uTexturePerVertexIdCoordinates,this.uTexturePerObjectColorsAndFlags,this._uTexturePerObjectMatrix),u||0!==c[0]||0!==c[1]||0!==c[2]){var h=Xc;if(u){var I=qc;$.transformPoint3(f,u,I),h[0]=I[0],h[1]=I[1],h[2]=I[2]}else h[0]=0,h[1]=0,h[2]=0;h[0]+=c[0],h[1]+=c[1],h[2]+=c[2],d=Be(A,h,Zc),(v=Jc)[0]=a.eye[0]-h[0],v[1]=a.eye[1]-h[1],v[2]=a.eye[2]-h[2]}else d=A,v=a.eye;s.uniform3fv(this._uCameraEyeRtc,v),s.uniform1i(this._uRenderPass,n),s.uniformMatrix4fv(this._uWorldMatrix,!1,p),s.uniformMatrix4fv(this._uViewMatrix,!1,d),s.uniformMatrix4fv(this._uProjMatrix,!1,a.projMatrix);var y=i._sectionPlanesState.getNumAllocatedSectionPlanes(),m=i._sectionPlanesState.sectionPlanes.length;if(y>0)for(var w=i._sectionPlanesState.sectionPlanes,g=t.layerIndex*m,E=r.renderFlags,T=0;T0&&(l.bindTriangleIndicesTextures(this._program,this._uTexturePerPolygonIdPortionIds,this._uTexturePerPolygonIdIndices,8),s.drawArrays(s.TRIANGLES,0,o.numIndices8Bits)),o.numIndices16Bits>0&&(l.bindTriangleIndicesTextures(this._program,this._uTexturePerPolygonIdPortionIds,this._uTexturePerPolygonIdIndices,16),s.drawArrays(s.TRIANGLES,0,o.numIndices16Bits)),o.numIndices32Bits>0&&(l.bindTriangleIndicesTextures(this._program,this._uTexturePerPolygonIdPortionIds,this._uTexturePerPolygonIdIndices,32),s.drawArrays(s.TRIANGLES,0,o.numIndices32Bits)),e.drawElements++}}},{key:"_allocate",value:function(){var e=this._scene,t=e.canvas.gl;if(this._program=new bt(t,this._buildShader()),this._program.errors)this.errors=this._program.errors;else{var n=this._program;this._uRenderPass=n.getLocation("renderPass"),this._uPickInvisible=n.getLocation("pickInvisible"),this._uWorldMatrix=n.getLocation("sceneModelMatrix"),this._uViewMatrix=n.getLocation("viewMatrix"),this._uProjMatrix=n.getLocation("projMatrix"),this._uSectionPlanes=[];for(var r=0,i=e._sectionPlanesState.getNumAllocatedSectionPlanes();r0,n=[];return n.push("#version 300 es"),n.push("// TrianglesDataTextureOcclusionRenderer vertex shader"),n.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),n.push("precision highp float;"),n.push("precision highp int;"),n.push("precision highp usampler2D;"),n.push("precision highp isampler2D;"),n.push("precision highp sampler2D;"),n.push("#else"),n.push("precision mediump float;"),n.push("precision mediump int;"),n.push("precision mediump usampler2D;"),n.push("precision mediump isampler2D;"),n.push("precision mediump sampler2D;"),n.push("#endif"),n.push("uniform int renderPass;"),e.entityOffsetsEnabled&&n.push("in vec3 offset;"),n.push("uniform mat4 sceneModelMatrix;"),n.push("uniform mat4 viewMatrix;"),n.push("uniform mat4 projMatrix;"),n.push("uniform highp sampler2D uObjectPerObjectPositionsDecodeMatrix;"),n.push("uniform highp sampler2D uTexturePerObjectMatrix;"),n.push("uniform lowp usampler2D uObjectPerObjectColorsAndFlags;"),n.push("uniform mediump usampler2D uTexturePerVertexIdCoordinates;"),n.push("uniform highp usampler2D uTexturePerPolygonIdIndices;"),n.push("uniform mediump usampler2D uTexturePerPolygonIdPortionIds;"),n.push("uniform vec3 uCameraEyeRtc;"),n.push("vec3 positions[3];"),n.push("bool isPerspectiveMatrix(mat4 m) {"),n.push(" return (m[2][3] == - 1.0);"),n.push("}"),t&&(n.push("out vec4 vWorldPosition;"),n.push("flat out uint vFlags2;")),n.push("void main(void) {"),n.push("int polygonIndex = gl_VertexID / 3;"),n.push("int h_packed_object_id_index = (polygonIndex >> 3) & 4095;"),n.push("int v_packed_object_id_index = (polygonIndex >> 3) >> 12;"),n.push("int objectIndex = int(texelFetch(uTexturePerPolygonIdPortionIds, ivec2(h_packed_object_id_index, v_packed_object_id_index), 0).r);"),n.push("ivec2 objectIndexCoords = ivec2(objectIndex % 512, objectIndex / 512);"),n.push("uvec4 flags = texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+2, objectIndexCoords.y), 0);"),n.push("uvec4 flags2 = texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+3, objectIndexCoords.y), 0);"),n.push("if (int(flags.x) != renderPass) {"),n.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),n.push(" } else {"),n.push("ivec4 packedVertexBase = ivec4(texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+4, objectIndexCoords.y), 0));"),n.push("ivec4 packedIndexBaseOffset = ivec4(texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+5, objectIndexCoords.y), 0));"),n.push("int indexBaseOffset = (packedIndexBaseOffset.r << 24) + (packedIndexBaseOffset.g << 16) + (packedIndexBaseOffset.b << 8) + packedIndexBaseOffset.a;"),n.push("int h_index = (polygonIndex - indexBaseOffset) & 4095;"),n.push("int v_index = (polygonIndex - indexBaseOffset) >> 12;"),n.push("ivec3 vertexIndices = ivec3(texelFetch(uTexturePerPolygonIdIndices, ivec2(h_index, v_index), 0));"),n.push("ivec3 uniqueVertexIndexes = vertexIndices + (packedVertexBase.r << 24) + (packedVertexBase.g << 16) + (packedVertexBase.b << 8) + packedVertexBase.a;"),n.push("ivec3 indexPositionH = uniqueVertexIndexes & 4095;"),n.push("ivec3 indexPositionV = uniqueVertexIndexes >> 12;"),n.push("mat4 objectInstanceMatrix = mat4 (texelFetch (uTexturePerObjectMatrix, ivec2(objectIndexCoords.x*4+0, objectIndexCoords.y), 0), texelFetch (uTexturePerObjectMatrix, ivec2(objectIndexCoords.x*4+1, objectIndexCoords.y), 0), texelFetch (uTexturePerObjectMatrix, ivec2(objectIndexCoords.x*4+2, objectIndexCoords.y), 0), texelFetch (uTexturePerObjectMatrix, ivec2(objectIndexCoords.x*4+3, objectIndexCoords.y), 0));"),n.push("mat4 objectDecodeAndInstanceMatrix = objectInstanceMatrix * mat4 (texelFetch (uObjectPerObjectPositionsDecodeMatrix, ivec2(objectIndexCoords.x*4+0, objectIndexCoords.y), 0), texelFetch (uObjectPerObjectPositionsDecodeMatrix, ivec2(objectIndexCoords.x*4+1, objectIndexCoords.y), 0), texelFetch (uObjectPerObjectPositionsDecodeMatrix, ivec2(objectIndexCoords.x*4+2, objectIndexCoords.y), 0), texelFetch (uObjectPerObjectPositionsDecodeMatrix, ivec2(objectIndexCoords.x*4+3, objectIndexCoords.y), 0));"),n.push("uint solid = texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+7, objectIndexCoords.y), 0).r;"),n.push("positions[0] = vec3(texelFetch(uTexturePerVertexIdCoordinates, ivec2(indexPositionH.r, indexPositionV.r), 0));"),n.push("positions[1] = vec3(texelFetch(uTexturePerVertexIdCoordinates, ivec2(indexPositionH.g, indexPositionV.g), 0));"),n.push("positions[2] = vec3(texelFetch(uTexturePerVertexIdCoordinates, ivec2(indexPositionH.b, indexPositionV.b), 0));"),n.push("uvec4 color = texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+0, objectIndexCoords.y), 0);"),n.push("if (color.a == 0u) {"),n.push(" gl_Position = vec4(3.0, 3.0, 3.0, 1.0);"),n.push(" return;"),n.push("};"),n.push("vec3 normal = normalize(cross(positions[2] - positions[0], positions[1] - positions[0]));"),n.push("vec3 position;"),n.push("position = positions[gl_VertexID % 3];"),n.push("if (solid != 1u) {"),n.push(" if (isPerspectiveMatrix(projMatrix)) {"),n.push(" vec3 uCameraEyeRtcInQuantizedSpace = (inverse(sceneModelMatrix * objectDecodeAndInstanceMatrix) * vec4(uCameraEyeRtc, 1)).xyz;"),n.push(" if (dot(position.xyz - uCameraEyeRtcInQuantizedSpace, normal) < 0.0) {"),n.push(" position = positions[2 - (gl_VertexID % 3)];"),n.push(" }"),n.push(" } else {"),n.push(" vec3 viewNormal = -normalize((transpose(inverse(viewMatrix*objectDecodeAndInstanceMatrix)) * vec4(normal,1)).xyz);"),n.push(" if (viewNormal.z < 0.0) {"),n.push(" position = positions[2 - (gl_VertexID % 3)];"),n.push(" }"),n.push(" }"),n.push("}"),n.push("vec4 worldPosition = sceneModelMatrix * (objectDecodeAndInstanceMatrix * vec4(position, 1.0)); "),n.push("vec4 viewPosition = viewMatrix * worldPosition; "),n.push("vec4 clipPos = projMatrix * viewPosition;"),t&&(n.push("vWorldPosition = worldPosition;"),n.push("vFlags2 = flags2.r;")),n.push("gl_Position = clipPos;"),n.push(" }"),n.push("}"),n}},{key:"_buildFragmentShader",value:function(){var e=this._scene._sectionPlanesState,t=e.getNumAllocatedSectionPlanes()>0,n=[];if(n.push("#version 300 es"),n.push("// TrianglesDataTextureColorRenderer fragment shader"),n.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),n.push("precision highp float;"),n.push("precision highp int;"),n.push("#else"),n.push("precision mediump float;"),n.push("precision mediump int;"),n.push("#endif"),t){n.push("in vec4 vWorldPosition;"),n.push("flat in uint vFlags2;");for(var r=0;r 0.0);"),n.push(" if (clippable) {"),n.push(" float dist = 0.0;");for(var i=0;i 0.0) { discard; }"),n.push(" }")}return n.push(" outColor = vec4(0.0, 0.0, 1.0, 1.0); "),n.push("}"),n}},{key:"webglContextRestored",value:function(){this._program=null}},{key:"destroy",value:function(){this._program&&this._program.destroy(),this._program=null}}]),e}(),ef=$.vec3(),tf=$.vec3(),nf=$.vec3();$.vec3();var rf=$.mat4(),af=function(){function e(t){b(this,e),this._scene=t,this._allocate(),this._hash=this._getHash()}return P(e,[{key:"getValid",value:function(){return this._hash===this._getHash()}},{key:"_getHash",value:function(){return this._scene._sectionPlanesState.getHash()}},{key:"drawLayer",value:function(e,t,n){var r=this._scene,i=r.camera,a=t.model,s=r.canvas.gl,o=t._state,l=o.textureState,u=t._state.origin,c=a.position,f=a.rotationMatrix,p=a.rotationMatrixConjugate;if(this._program||(this._allocate(),!this.errors)){var A,d;e.lastProgramId!==this._program.id&&(e.lastProgramId=this._program.id,this._bindProgram(e,o)),l.bindCommonTextures(this._program,this.uTexturePerObjectPositionsDecodeMatrix,this._uTexturePerVertexIdCoordinates,this.uTexturePerObjectColorsAndFlags,this._uTexturePerObjectMatrix);var v=0!==u[0]||0!==u[1]||0!==u[2],h=0!==c[0]||0!==c[1]||0!==c[2];if(v||h){var I=ef;if(v){var y=$.transformPoint3(f,u,tf);I[0]=y[0],I[1]=y[1],I[2]=y[2]}else I[0]=0,I[1]=0,I[2]=0;I[0]+=c[0],I[1]+=c[1],I[2]+=c[2],A=Be(i.viewMatrix,I,rf),(d=nf)[0]=i.eye[0]-I[0],d[1]=i.eye[1]-I[1],d[2]=i.eye[2]-I[2]}else A=i.viewMatrix,d=i.eye;if(s.uniformMatrix4fv(this._uSceneModelMatrix,!1,p),s.uniformMatrix4fv(this._uViewMatrix,!1,A),s.uniformMatrix4fv(this._uProjMatrix,!1,i.projMatrix),s.uniform3fv(this._uCameraEyeRtc,d),s.uniform1i(this._uRenderPass,n),r.logarithmicDepthBufferEnabled){var m=2/(Math.log(e.pickZFar+1)/Math.LN2);s.uniform1f(this._uLogDepthBufFC,m)}var w=r._sectionPlanesState.getNumAllocatedSectionPlanes(),g=r._sectionPlanesState.sectionPlanes.length;if(w>0)for(var E=r._sectionPlanesState.sectionPlanes,T=t.layerIndex*g,b=a.renderFlags,D=0;D0&&(l.bindTriangleIndicesTextures(this._program,this._uTexturePerPolygonIdPortionIds,this._uTexturePerPolygonIdIndices,8),s.drawArrays(s.TRIANGLES,0,o.numIndices8Bits)),o.numIndices16Bits>0&&(l.bindTriangleIndicesTextures(this._program,this._uTexturePerPolygonIdPortionIds,this._uTexturePerPolygonIdIndices,16),s.drawArrays(s.TRIANGLES,0,o.numIndices16Bits)),o.numIndices32Bits>0&&(l.bindTriangleIndicesTextures(this._program,this._uTexturePerPolygonIdPortionIds,this._uTexturePerPolygonIdIndices,32),s.drawArrays(s.TRIANGLES,0,o.numIndices32Bits)),e.drawElements++}}},{key:"_allocate",value:function(){var e=this._scene,t=e.canvas.gl;if(this._program=new bt(t,this._buildShader()),this._program.errors)this.errors=this._program.errors;else{var n=this._program;this._uRenderPass=n.getLocation("renderPass"),this._uPositionsDecodeMatrix=n.getLocation("objectDecodeAndInstanceMatrix"),this._uSceneModelMatrix=n.getLocation("sceneModelMatrix"),this._uViewMatrix=n.getLocation("viewMatrix"),this._uProjMatrix=n.getLocation("projMatrix"),this._uSectionPlanes=[];for(var r=0,i=e._sectionPlanesState.getNumAllocatedSectionPlanes();r0,n=[];return n.push("#version 300 es"),n.push("// Triangles dataTexture draw vertex shader"),n.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),n.push("precision highp float;"),n.push("precision highp int;"),n.push("precision highp usampler2D;"),n.push("precision highp isampler2D;"),n.push("precision highp sampler2D;"),n.push("#else"),n.push("precision mediump float;"),n.push("precision mediump int;"),n.push("precision mediump usampler2D;"),n.push("precision mediump isampler2D;"),n.push("precision mediump sampler2D;"),n.push("#endif"),n.push("uniform int renderPass;"),e.entityOffsetsEnabled&&n.push("in vec3 offset;"),n.push("uniform mat4 sceneModelMatrix;"),n.push("uniform mat4 viewMatrix;"),n.push("uniform mat4 projMatrix;"),n.push("uniform highp sampler2D uObjectPerObjectPositionsDecodeMatrix;"),n.push("uniform highp sampler2D uTexturePerObjectMatrix;"),n.push("uniform lowp usampler2D uObjectPerObjectColorsAndFlags;"),n.push("uniform mediump usampler2D uTexturePerVertexIdCoordinates;"),n.push("uniform highp usampler2D uTexturePerPolygonIdIndices;"),n.push("uniform mediump usampler2D uTexturePerPolygonIdPortionIds;"),n.push("uniform vec3 uCameraEyeRtc;"),n.push("vec3 positions[3];"),e.logarithmicDepthBufferEnabled&&(n.push("uniform float logDepthBufFC;"),n.push("out float vFragDepth;"),n.push("out float isPerspective;")),n.push("bool isPerspectiveMatrix(mat4 m) {"),n.push(" return (m[2][3] == - 1.0);"),n.push("}"),n.push("out highp vec2 vHighPrecisionZW;"),t&&(n.push("out vec4 vWorldPosition;"),n.push("flat out uint vFlags2;")),n.push("void main(void) {"),n.push("int polygonIndex = gl_VertexID / 3;"),n.push("int h_packed_object_id_index = (polygonIndex >> 3) & 4095;"),n.push("int v_packed_object_id_index = (polygonIndex >> 3) >> 12;"),n.push("int objectIndex = int(texelFetch(uTexturePerPolygonIdPortionIds, ivec2(h_packed_object_id_index, v_packed_object_id_index), 0).r);"),n.push("ivec2 objectIndexCoords = ivec2(objectIndex % 512, objectIndex / 512);"),n.push("uvec4 flags = texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+2, objectIndexCoords.y), 0);"),n.push("uvec4 flags2 = texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+3, objectIndexCoords.y), 0);"),n.push("if (int(flags.x) != renderPass) {"),n.push(" gl_Position = vec4(3.0, 3.0, 3.0, 1.0);"),n.push(" return;"),n.push("} else {"),n.push("ivec4 packedVertexBase = ivec4(texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+4, objectIndexCoords.y), 0));"),n.push("ivec4 packedIndexBaseOffset = ivec4(texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+5, objectIndexCoords.y), 0));"),n.push("int indexBaseOffset = (packedIndexBaseOffset.r << 24) + (packedIndexBaseOffset.g << 16) + (packedIndexBaseOffset.b << 8) + packedIndexBaseOffset.a;"),n.push("int h_index = (polygonIndex - indexBaseOffset) & 4095;"),n.push("int v_index = (polygonIndex - indexBaseOffset) >> 12;"),n.push("ivec3 vertexIndices = ivec3(texelFetch(uTexturePerPolygonIdIndices, ivec2(h_index, v_index), 0));"),n.push("ivec3 uniqueVertexIndexes = vertexIndices + (packedVertexBase.r << 24) + (packedVertexBase.g << 16) + (packedVertexBase.b << 8) + packedVertexBase.a;"),n.push("ivec3 indexPositionH = uniqueVertexIndexes & 4095;"),n.push("ivec3 indexPositionV = uniqueVertexIndexes >> 12;"),n.push("mat4 objectInstanceMatrix = mat4 (texelFetch (uTexturePerObjectMatrix, ivec2(objectIndexCoords.x*4+0, objectIndexCoords.y), 0), texelFetch (uTexturePerObjectMatrix, ivec2(objectIndexCoords.x*4+1, objectIndexCoords.y), 0), texelFetch (uTexturePerObjectMatrix, ivec2(objectIndexCoords.x*4+2, objectIndexCoords.y), 0), texelFetch (uTexturePerObjectMatrix, ivec2(objectIndexCoords.x*4+3, objectIndexCoords.y), 0));"),n.push("mat4 objectDecodeAndInstanceMatrix = objectInstanceMatrix * mat4 (texelFetch (uObjectPerObjectPositionsDecodeMatrix, ivec2(objectIndexCoords.x*4+0, objectIndexCoords.y), 0), texelFetch (uObjectPerObjectPositionsDecodeMatrix, ivec2(objectIndexCoords.x*4+1, objectIndexCoords.y), 0), texelFetch (uObjectPerObjectPositionsDecodeMatrix, ivec2(objectIndexCoords.x*4+2, objectIndexCoords.y), 0), texelFetch (uObjectPerObjectPositionsDecodeMatrix, ivec2(objectIndexCoords.x*4+3, objectIndexCoords.y), 0));"),n.push("uint solid = texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+7, objectIndexCoords.y), 0).r;"),n.push("positions[0] = vec3(texelFetch(uTexturePerVertexIdCoordinates, ivec2(indexPositionH.r, indexPositionV.r), 0));"),n.push("positions[1] = vec3(texelFetch(uTexturePerVertexIdCoordinates, ivec2(indexPositionH.g, indexPositionV.g), 0));"),n.push("positions[2] = vec3(texelFetch(uTexturePerVertexIdCoordinates, ivec2(indexPositionH.b, indexPositionV.b), 0));"),n.push("uvec4 color = texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+0, objectIndexCoords.y), 0);"),n.push("if (color.a == 0u) {"),n.push(" gl_Position = vec4(3.0, 3.0, 3.0, 1.0);"),n.push(" return;"),n.push("};"),n.push("vec3 normal = normalize(cross(positions[2] - positions[0], positions[1] - positions[0]));"),n.push("vec3 position;"),n.push("position = positions[gl_VertexID % 3];"),n.push("vec3 viewNormal = -normalize((transpose(inverse(viewMatrix*objectDecodeAndInstanceMatrix)) * vec4(normal,1)).xyz);"),n.push("if (solid != 1u) {"),n.push("if (isPerspectiveMatrix(projMatrix)) {"),n.push("vec3 uCameraEyeRtcInQuantizedSpace = (inverse(sceneModelMatrix * objectDecodeAndInstanceMatrix) * vec4(uCameraEyeRtc, 1)).xyz;"),n.push("if (dot(position.xyz - uCameraEyeRtcInQuantizedSpace, normal) < 0.0) {"),n.push("position = positions[2 - (gl_VertexID % 3)];"),n.push("viewNormal = -viewNormal;"),n.push("}"),n.push("} else {"),n.push("if (viewNormal.z < 0.0) {"),n.push("position = positions[2 - (gl_VertexID % 3)];"),n.push("viewNormal = -viewNormal;"),n.push("}"),n.push("}"),n.push("}"),n.push("vec4 worldPosition = sceneModelMatrix * (objectDecodeAndInstanceMatrix * vec4(position, 1.0)); "),n.push("vec4 viewPosition = viewMatrix * worldPosition; "),n.push("vec4 clipPos = projMatrix * viewPosition;"),e.logarithmicDepthBufferEnabled&&(n.push("vFragDepth = 1.0 + clipPos.w;"),n.push("isPerspective = float (isPerspectiveMatrix(projMatrix));")),t&&(n.push("vWorldPosition = worldPosition;"),n.push("vFlags2 = flags2.r;")),n.push("gl_Position = clipPos;"),n.push("vHighPrecisionZW = gl_Position.zw;"),n.push("}"),n.push("}"),n}},{key:"_buildFragmentShader",value:function(){var e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,n=[];if(n.push("#version 300 es"),n.push("// Triangles dataTexture draw fragment shader"),n.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),n.push("precision highp float;"),n.push("precision highp int;"),n.push("#else"),n.push("precision mediump float;"),n.push("precision mediump int;"),n.push("#endif"),n.push("in highp vec2 vHighPrecisionZW;"),n.push("out vec4 outColor;"),e.logarithmicDepthBufferEnabled&&(n.push("in float isPerspective;"),n.push("uniform float logDepthBufFC;"),n.push("in float vFragDepth;")),t){n.push("in vec4 vWorldPosition;"),n.push("flat in uint vFlags2;");for(var r=0,i=e._sectionPlanesState.getNumAllocatedSectionPlanes();r 0u;"),n.push(" if (clippable) {"),n.push(" float dist = 0.0;");for(var a=0,s=e._sectionPlanesState.getNumAllocatedSectionPlanes();a 0.0) { "),n.push(" discard;"),n.push(" }"),n.push("}")}return e.logarithmicDepthBufferEnabled&&n.push(" gl_FragDepth = isPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5;"),n.push("float fragCoordZ = 0.5 * vHighPrecisionZW[0] / vHighPrecisionZW[1] + 0.5;"),n.push(" outColor = vec4(vec3(1.0 - fragCoordZ), 1.0); "),n.push("}"),n}},{key:"webglContextRestored",value:function(){this._program=null}},{key:"destroy",value:function(){this._program&&this._program.destroy(),this._program=null}}]),e}(),sf=$.vec3(),of=$.vec3(),lf=$.vec3();$.vec3();var uf=$.mat4(),cf=function(){function e(t){b(this,e),this._scene=t,this._hash=this._getHash(),this._allocate()}return P(e,[{key:"getValid",value:function(){return this._hash===this._getHash()}},{key:"_getHash",value:function(){return this._scene._sectionPlanesState.getHash()}},{key:"drawLayer",value:function(e,t,n){var r=t.model,i=r.scene,a=i.camera,s=i.canvas.gl,o=t._state,l=t._state.origin,u=r.position,c=r.rotationMatrix,f=r.rotationMatrixConjugate,p=a.viewMatrix;if(this._program||(this._allocate(t),!this.errors)){var A,d;e.lastProgramId!==this._program.id&&(e.lastProgramId=this._program.id,this._bindProgram(t));var v=0!==l[0]||0!==l[1]||0!==l[2],h=0!==u[0]||0!==u[1]||0!==u[2];if(v||h){var I=sf;if(v){var y=of;$.transformPoint3(c,l,y),I[0]=y[0],I[1]=y[1],I[2]=y[2]}else I[0]=0,I[1]=0,I[2]=0;I[0]+=u[0],I[1]+=u[1],I[2]+=u[2],A=Be(p,I,uf),(d=lf)[0]=a.eye[0]-I[0],d[1]=a.eye[1]-I[1],d[2]=a.eye[2]-I[2]}else A=p,d=a.eye;s.uniform1i(this._uRenderPass,n),s.uniformMatrix4fv(this._uWorldMatrix,!1,f),s.uniformMatrix4fv(this._uViewMatrix,!1,A),s.uniformMatrix4fv(this._uProjMatrix,!1,a.projMatrix),s.uniformMatrix4fv(this._uViewNormalMatrix,!1,a.viewNormalMatrix),s.uniformMatrix4fv(this._uWorldNormalMatrix,!1,r.worldNormalMatrix);var m=i._sectionPlanesState.getNumAllocatedSectionPlanes(),w=i._sectionPlanesState.sectionPlanes.length;if(m>0)for(var g=i._sectionPlanesState.sectionPlanes,E=t.layerIndex*w,T=r.renderFlags,b=0;b0,n=[];return n.push("// Batched geometry normals vertex shader"),e.logarithmicDepthBufferEnabled&&dt.SUPPORTED_EXTENSIONS.EXT_frag_depth&&n.push("#extension GL_EXT_frag_depth : enable"),n.push("uniform int renderPass;"),n.push("attribute vec3 position;"),e.entityOffsetsEnabled&&n.push("attribute vec3 offset;"),n.push("attribute vec3 normal;"),n.push("attribute vec4 color;"),n.push("attribute vec4 flags;"),n.push("attribute vec4 flags2;"),n.push("uniform mat4 worldMatrix;"),n.push("uniform mat4 worldNormalMatrix;"),n.push("uniform mat4 viewMatrix;"),n.push("uniform mat4 projMatrix;"),n.push("uniform mat4 viewNormalMatrix;"),n.push("uniform mat4 objectDecodeAndInstanceMatrix;"),e.logarithmicDepthBufferEnabled&&(n.push("uniform float logDepthBufFC;"),dt.SUPPORTED_EXTENSIONS.EXT_frag_depth&&n.push("out float vFragDepth;"),n.push("bool isPerspectiveMatrix(mat4 m) {"),n.push(" return (m[2][3] == - 1.0);"),n.push("}"),n.push("varying float isPerspective;")),n.push("vec3 octDecode(vec2 oct) {"),n.push(" vec3 v = vec3(oct.xy, 1.0 - abs(oct.x) - abs(oct.y));"),n.push(" if (v.z < 0.0) {"),n.push(" v.xy = (1.0 - abs(v.yx)) * vec2(v.x >= 0.0 ? 1.0 : -1.0, v.y >= 0.0 ? 1.0 : -1.0);"),n.push(" }"),n.push(" return normalize(v);"),n.push("}"),t&&(n.push("out vec4 vWorldPosition;"),n.push("out vec4 vFlags2;")),n.push("out vec3 vViewNormal;"),n.push("void main(void) {"),n.push("if (int(flags.x) != renderPass) {"),n.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),n.push(" } else {"),n.push(" vec4 worldPosition = worldMatrix * (objectDecodeAndInstanceMatrix * vec4(position, 1.0)); "),e.entityOffsetsEnabled&&n.push(" worldPosition.xyz = worldPosition.xyz + offset;"),n.push(" vec4 viewPosition = viewMatrix * worldPosition; "),n.push(" vec4 worldNormal = worldNormalMatrix * vec4(octDecode(normal.xy), 0.0); "),n.push(" vec3 viewNormal = normalize((viewNormalMatrix * worldNormal).xyz);"),t&&(n.push(" vWorldPosition = worldPosition;"),n.push(" vFlags2 = flags2;")),n.push(" vViewNormal = viewNormal;"),n.push("vec4 clipPos = projMatrix * viewPosition;"),e.logarithmicDepthBufferEnabled&&(dt.SUPPORTED_EXTENSIONS.EXT_frag_depth?n.push("vFragDepth = 1.0 + clipPos.w;"):(n.push("clipPos.z = log2( max( 1e-6, clipPos.w + 1.0 ) ) * logDepthBufFC - 1.0;"),n.push("clipPos.z *= clipPos.w;")),n.push("isPerspective = float (isPerspectiveMatrix(projMatrix));")),n.push("gl_Position = clipPos;"),n.push(" }"),n.push("}"),n}},{key:"_buildFragmentShader",value:function(){var e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,n=[];if(n.push("#version 300 es"),n.push("// Batched geometry normals fragment shader"),e.logarithmicDepthBufferEnabled&&dt.SUPPORTED_EXTENSIONS.EXT_frag_depth&&n.push("#extension GL_EXT_frag_depth : enable"),n.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),n.push("precision highp float;"),n.push("precision highp int;"),n.push("#else"),n.push("precision mediump float;"),n.push("precision mediump int;"),n.push("#endif"),e.logarithmicDepthBufferEnabled&&dt.SUPPORTED_EXTENSIONS.EXT_frag_depth&&(n.push("in float isPerspective;"),n.push("uniform float logDepthBufFC;"),n.push("in float vFragDepth;")),t){n.push("in vec4 vWorldPosition;"),n.push("in vec4 vFlags2;");for(var r=0;r 0.0);"),n.push(" if (clippable) {"),n.push(" float dist = 0.0;");for(var i=0;i 0.0) { discard; }"),n.push(" }")}return e.logarithmicDepthBufferEnabled&&dt.SUPPORTED_EXTENSIONS.EXT_frag_depth&&n.push(" gl_FragDepthEXT = isPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5;"),n.push(" gl_FragColor = vec4(packNormalToRGB(vViewNormal), 1.0); "),n.push("}"),n}},{key:"webglContextRestored",value:function(){this._program=null}},{key:"destroy",value:function(){this._program&&this._program.destroy(),this._program=null}}]),e}(),ff=$.vec3(),pf=$.vec3(),Af=$.vec3();$.vec3(),$.vec4();var df=$.mat4(),vf=function(){function e(t,n){b(this,e),this._scene=t,this._withSAO=n,this._hash=this._getHash(),this._allocate()}return P(e,[{key:"getValid",value:function(){return this._hash===this._getHash()}},{key:"_getHash",value:function(){var e=this._scene;return[e._lightsState.getHash(),e._sectionPlanesState.getHash(),this._withSAO?"sao":"nosao"].join(";")}},{key:"drawLayer",value:function(e,t,n){var r=this._scene,i=r.camera,a=t.model,s=r.canvas.gl,o=t._state,l=o.textureState,u=t._state.origin,c=a.position,f=a.rotationMatrix,p=a.rotationMatrixConjugate;if(this._program||(this._allocate(),!this.errors)){var A,d;e.lastProgramId!==this._program.id&&(e.lastProgramId=this._program.id,this._bindProgram(e,o)),l.bindCommonTextures(this._program,this.uTexturePerObjectPositionsDecodeMatrix,this._uTexturePerVertexIdCoordinates,this.uTexturePerObjectColorsAndFlags,this._uTexturePerObjectMatrix);var v=0!==u[0]||0!==u[1]||0!==u[2],h=0!==c[0]||0!==c[1]||0!==c[2];if(v||h){var I=ff;if(v){var y=$.transformPoint3(f,u,pf);I[0]=y[0],I[1]=y[1],I[2]=y[2]}else I[0]=0,I[1]=0,I[2]=0;I[0]+=c[0],I[1]+=c[1],I[2]+=c[2],A=Be(i.viewMatrix,I,df),(d=Af)[0]=i.eye[0]-I[0],d[1]=i.eye[1]-I[1],d[2]=i.eye[2]-I[2]}else A=i.viewMatrix,d=i.eye;if(s.uniform2fv(this._uPickClipPos,e.pickClipPos),s.uniform2f(this._uDrawingBufferSize,s.drawingBufferWidth,s.drawingBufferHeight),s.uniformMatrix4fv(this._uSceneModelMatrix,!1,p),s.uniformMatrix4fv(this._uViewMatrix,!1,A),s.uniformMatrix4fv(this._uProjMatrix,!1,i.projMatrix),s.uniform3fv(this._uCameraEyeRtc,d),s.uniform1i(this._uRenderPass,n),r.logarithmicDepthBufferEnabled){var m=2/(Math.log(e.pickZFar+1)/Math.LN2);s.uniform1f(this._uLogDepthBufFC,m)}var w=r._sectionPlanesState.getNumAllocatedSectionPlanes(),g=r._sectionPlanesState.sectionPlanes.length;if(w>0)for(var E=r._sectionPlanesState.sectionPlanes,T=t.layerIndex*g,b=a.renderFlags,D=0;D0&&(l.bindTriangleIndicesTextures(this._program,this._uTexturePerPolygonIdPortionIds,this._uTexturePerPolygonIdIndices,8),s.drawArrays(s.TRIANGLES,0,o.numIndices8Bits)),o.numIndices16Bits>0&&(l.bindTriangleIndicesTextures(this._program,this._uTexturePerPolygonIdPortionIds,this._uTexturePerPolygonIdIndices,16),s.drawArrays(s.TRIANGLES,0,o.numIndices16Bits)),o.numIndices32Bits>0&&(l.bindTriangleIndicesTextures(this._program,this._uTexturePerPolygonIdPortionIds,this._uTexturePerPolygonIdIndices,32),s.drawArrays(s.TRIANGLES,0,o.numIndices32Bits)),e.drawElements++}}},{key:"_allocate",value:function(){var e=this._scene,t=e.canvas.gl;if(this._program=new bt(t,this._buildShader()),this._program.errors)this.errors=this._program.errors;else{var n=this._program;this._uRenderPass=n.getLocation("renderPass"),this._uPickInvisible=n.getLocation("pickInvisible"),this._uPickClipPos=n.getLocation("pickClipPos"),this._uDrawingBufferSize=n.getLocation("drawingBufferSize"),this._uSceneModelMatrix=n.getLocation("sceneModelMatrix"),this._uViewMatrix=n.getLocation("viewMatrix"),this._uProjMatrix=n.getLocation("projMatrix"),this._uSectionPlanes=[];for(var r=0,i=e._sectionPlanesState.getNumAllocatedSectionPlanes();r0,n=[];return n.push("#version 300 es"),n.push("// trianglesDatatextureNormalsRenderer vertex shader"),n.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),n.push("precision highp float;"),n.push("precision highp int;"),n.push("precision highp usampler2D;"),n.push("precision highp isampler2D;"),n.push("precision highp sampler2D;"),n.push("#else"),n.push("precision mediump float;"),n.push("precision mediump int;"),n.push("precision mediump usampler2D;"),n.push("precision mediump isampler2D;"),n.push("precision mediump sampler2D;"),n.push("#endif"),n.push("uniform int renderPass;"),e.entityOffsetsEnabled&&n.push("in vec3 offset;"),n.push("uniform mat4 sceneModelMatrix;"),n.push("uniform mat4 viewMatrix;"),n.push("uniform mat4 projMatrix;"),n.push("uniform highp sampler2D uObjectPerObjectPositionsDecodeMatrix;"),n.push("uniform lowp usampler2D uObjectPerObjectColorsAndFlags;"),n.push("uniform highp sampler2D uTexturePerObjectMatrix;"),n.push("uniform mediump usampler2D uTexturePerVertexIdCoordinates;"),n.push("uniform highp usampler2D uTexturePerPolygonIdIndices;"),n.push("uniform mediump usampler2D uTexturePerPolygonIdPortionIds;"),n.push("uniform vec3 uCameraEyeRtc;"),n.push("vec3 positions[3];"),e.logarithmicDepthBufferEnabled&&(n.push("uniform float logDepthBufFC;"),n.push("out float vFragDepth;"),n.push("out float isPerspective;")),n.push("uniform vec2 pickClipPos;"),n.push("uniform vec2 drawingBufferSize;"),n.push("vec4 remapClipPos(vec4 clipPos) {"),n.push(" clipPos.xy /= clipPos.w;"),n.push(" clipPos.xy = (clipPos.xy - pickClipPos) * drawingBufferSize;"),n.push(" clipPos.xy *= clipPos.w;"),n.push(" return clipPos;"),n.push("}"),n.push("bool isPerspectiveMatrix(mat4 m) {"),n.push(" return (m[2][3] == - 1.0);"),n.push("}"),n.push("out vec4 vWorldPosition;"),t&&n.push("flat out uint vFlags2;"),n.push("void main(void) {"),n.push("int polygonIndex = gl_VertexID / 3;"),n.push("int h_packed_object_id_index = (polygonIndex >> 3) & 4095;"),n.push("int v_packed_object_id_index = (polygonIndex >> 3) >> 12;"),n.push("int objectIndex = int(texelFetch(uTexturePerPolygonIdPortionIds, ivec2(h_packed_object_id_index, v_packed_object_id_index), 0).r);"),n.push("ivec2 objectIndexCoords = ivec2(objectIndex % 512, objectIndex / 512);"),n.push("uvec4 flags = texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+2, objectIndexCoords.y), 0);"),n.push("uvec4 flags2 = texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+3, objectIndexCoords.y), 0);"),n.push("if (int(flags.w) != renderPass) {"),n.push(" gl_Position = vec4(3.0, 3.0, 3.0, 1.0);"),n.push(" return;"),n.push("} else {"),n.push("ivec4 packedVertexBase = ivec4(texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+4, objectIndexCoords.y), 0));"),n.push("ivec4 packedIndexBaseOffset = ivec4(texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+5, objectIndexCoords.y), 0));"),n.push("int indexBaseOffset = (packedIndexBaseOffset.r << 24) + (packedIndexBaseOffset.g << 16) + (packedIndexBaseOffset.b << 8) + packedIndexBaseOffset.a;"),n.push("int h_index = (polygonIndex - indexBaseOffset) & 4095;"),n.push("int v_index = (polygonIndex - indexBaseOffset) >> 12;"),n.push("ivec3 vertexIndices = ivec3(texelFetch(uTexturePerPolygonIdIndices, ivec2(h_index, v_index), 0));"),n.push("ivec3 uniqueVertexIndexes = vertexIndices + (packedVertexBase.r << 24) + (packedVertexBase.g << 16) + (packedVertexBase.b << 8) + packedVertexBase.a;"),n.push("ivec3 indexPositionH = uniqueVertexIndexes & 4095;"),n.push("ivec3 indexPositionV = uniqueVertexIndexes >> 12;"),n.push("mat4 objectInstanceMatrix = mat4 (texelFetch (uTexturePerObjectMatrix, ivec2(objectIndexCoords.x*4+0, objectIndexCoords.y), 0), texelFetch (uTexturePerObjectMatrix, ivec2(objectIndexCoords.x*4+1, objectIndexCoords.y), 0), texelFetch (uTexturePerObjectMatrix, ivec2(objectIndexCoords.x*4+2, objectIndexCoords.y), 0), texelFetch (uTexturePerObjectMatrix, ivec2(objectIndexCoords.x*4+3, objectIndexCoords.y), 0));"),n.push("mat4 objectDecodeAndInstanceMatrix = objectInstanceMatrix * mat4 (texelFetch (uObjectPerObjectPositionsDecodeMatrix, ivec2(objectIndexCoords.x*4+0, objectIndexCoords.y), 0), texelFetch (uObjectPerObjectPositionsDecodeMatrix, ivec2(objectIndexCoords.x*4+1, objectIndexCoords.y), 0), texelFetch (uObjectPerObjectPositionsDecodeMatrix, ivec2(objectIndexCoords.x*4+2, objectIndexCoords.y), 0), texelFetch (uObjectPerObjectPositionsDecodeMatrix, ivec2(objectIndexCoords.x*4+3, objectIndexCoords.y), 0));"),n.push("uint solid = texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+7, objectIndexCoords.y), 0).r;"),n.push("positions[0] = vec3(texelFetch(uTexturePerVertexIdCoordinates, ivec2(indexPositionH.r, indexPositionV.r), 0));"),n.push("positions[1] = vec3(texelFetch(uTexturePerVertexIdCoordinates, ivec2(indexPositionH.g, indexPositionV.g), 0));"),n.push("positions[2] = vec3(texelFetch(uTexturePerVertexIdCoordinates, ivec2(indexPositionH.b, indexPositionV.b), 0));"),n.push("uvec4 color = texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+0, objectIndexCoords.y), 0);"),n.push("if (color.a == 0u) {"),n.push(" gl_Position = vec4(3.0, 3.0, 3.0, 1.0);"),n.push(" return;"),n.push("};"),n.push("vec3 normal = normalize(cross(positions[2] - positions[0], positions[1] - positions[0]));"),n.push("vec3 position;"),n.push("position = positions[gl_VertexID % 3];"),n.push("vec3 viewNormal = -normalize((transpose(inverse(viewMatrix*objectDecodeAndInstanceMatrix)) * vec4(normal,1)).xyz);"),n.push("if (solid != 1u) {"),n.push("if (isPerspectiveMatrix(projMatrix)) {"),n.push("vec3 uCameraEyeRtcInQuantizedSpace = (inverse(sceneModelMatrix * objectDecodeAndInstanceMatrix) * vec4(uCameraEyeRtc, 1)).xyz;"),n.push("if (dot(position.xyz - uCameraEyeRtcInQuantizedSpace, normal) < 0.0) {"),n.push("position = positions[2 - (gl_VertexID % 3)];"),n.push("viewNormal = -viewNormal;"),n.push("}"),n.push("} else {"),n.push("vec3 viewNormal = -normalize((transpose(inverse(viewMatrix*objectDecodeAndInstanceMatrix)) * vec4(normal,1)).xyz);"),n.push("if (viewNormal.z < 0.0) {"),n.push("position = positions[2 - (gl_VertexID % 3)];"),n.push("}"),n.push("}"),n.push("}"),n.push("vec4 worldPosition = sceneModelMatrix * (objectDecodeAndInstanceMatrix * vec4(position, 1.0)); "),n.push("vec4 viewPosition = viewMatrix * worldPosition; "),n.push("vec4 clipPos = projMatrix * viewPosition;"),e.logarithmicDepthBufferEnabled&&(n.push("vFragDepth = 1.0 + clipPos.w;"),n.push("isPerspective = float (isPerspectiveMatrix(projMatrix));")),n.push("vWorldPosition = worldPosition;"),t&&n.push("vFlags2 = flags2.r;"),n.push("gl_Position = remapClipPos(clipPos);"),n.push("}"),n.push("}"),n}},{key:"_buildFragmentShader",value:function(){var e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,n=[];if(n.push("#version 300 es"),n.push("// TrianglesDataTexturePickNormalsRenderer fragment shader"),n.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),n.push("precision highp float;"),n.push("precision highp int;"),n.push("#else"),n.push("precision mediump float;"),n.push("precision mediump int;"),n.push("#endif"),e.logarithmicDepthBufferEnabled&&(n.push("in float isPerspective;"),n.push("uniform float logDepthBufFC;"),n.push("in float vFragDepth;")),n.push("in vec4 vWorldPosition;"),t){n.push("flat in uint vFlags2;");for(var r=0,i=e._sectionPlanesState.getNumAllocatedSectionPlanes();r 0u;"),n.push(" if (clippable) {"),n.push(" float dist = 0.0;");for(var a=0,s=e._sectionPlanesState.getNumAllocatedSectionPlanes();a 0.0) { "),n.push(" discard;"),n.push(" }"),n.push("}")}return e.logarithmicDepthBufferEnabled&&n.push(" gl_FragDepth = isPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5;"),n.push(" vec3 xTangent = dFdx( vWorldPosition.xyz );"),n.push(" vec3 yTangent = dFdy( vWorldPosition.xyz );"),n.push(" vec3 worldNormal = normalize( cross( xTangent, yTangent ) );"),n.push(" outNormal = ivec4(worldNormal * float(".concat($.MAX_INT,"), 1.0);")),n.push("}"),n}},{key:"webglContextRestored",value:function(){this._program=null}},{key:"destroy",value:function(){this._program&&this._program.destroy(),this._program=null}}]),e}(),hf=function(){function e(t){b(this,e),this._scene=t}return P(e,[{key:"_compile",value:function(){this._colorRenderer&&!this._colorRenderer.getValid()&&(this._colorRenderer.destroy(),this._colorRenderer=null),this._colorRendererWithSAO&&!this._colorRendererWithSAO.getValid()&&(this._colorRendererWithSAO.destroy(),this._colorRendererWithSAO=null),this._flatColorRenderer&&!this._flatColorRenderer.getValid()&&(this._flatColorRenderer.destroy(),this._flatColorRenderer=null),this._flatColorRendererWithSAO&&!this._flatColorRendererWithSAO.getValid()&&(this._flatColorRendererWithSAO.destroy(),this._flatColorRendererWithSAO=null),this._colorQualityRendererWithSAO&&!this._colorQualityRendererWithSAO.getValid()&&(this._colorQualityRendererWithSAO.destroy(),this._colorQualityRendererWithSAO=null),this._depthRenderer&&!this._depthRenderer.getValid()&&(this._depthRenderer.destroy(),this._depthRenderer=null),this._normalsRenderer&&!this._normalsRenderer.getValid()&&(this._normalsRenderer.destroy(),this._normalsRenderer=null),this._silhouetteRenderer&&!this._silhouetteRenderer.getValid()&&(this._silhouetteRenderer.destroy(),this._silhouetteRenderer=null),this._edgesRenderer&&!this._edgesRenderer.getValid()&&(this._edgesRenderer.destroy(),this._edgesRenderer=null),this._edgesColorRenderer&&!this._edgesColorRenderer.getValid()&&(this._edgesColorRenderer.destroy(),this._edgesColorRenderer=null),this._pickMeshRenderer&&!this._pickMeshRenderer.getValid()&&(this._pickMeshRenderer.destroy(),this._pickMeshRenderer=null),this._pickDepthRenderer&&!this._pickDepthRenderer.getValid()&&(this._pickDepthRenderer.destroy(),this._pickDepthRenderer=null),this._vertexDepthRenderer&&!this._vertexDepthRenderer.getValid()&&(this._vertexDepthRenderer.destroy(),this._vertexDepthRenderer=null),this._snapDepthBufInitRenderer&&!this._snapDepthBufInitRenderer.getValid()&&(this._snapDepthBufInitRenderer.destroy(),this._snapDepthBufInitRenderer=null),this._pickNormalsRenderer&&!1===this._pickNormalsRenderer.getValid()&&(this._pickNormalsRenderer.destroy(),this._pickNormalsRenderer=null),this._pickNormalsFlatRenderer&&!1===this._pickNormalsFlatRenderer.getValid()&&(this._pickNormalsFlatRenderer.destroy(),this._pickNormalsFlatRenderer=null),this._occlusionRenderer&&!1===this._occlusionRenderer.getValid()&&(this._occlusionRenderer.destroy(),this._occlusionRenderer=null)}},{key:"eagerCreateRenders",value:function(){this._silhouetteRenderer||(this._silhouetteRenderer=new Ic(this._scene)),this._pickMeshRenderer||(this._pickMeshRenderer=new Oc(this._scene)),this._pickDepthRenderer||(this._pickDepthRenderer=new Mc(this._scene)),this._pickNormalsRenderer||(this._pickNormalsRenderer=new vf(this._scene)),this._vertexDepthRenderer||(this._vertexDepthRenderer=new jc(this._scene)),this._snapDepthBufInitRenderer||(this._snapDepthBufInitRenderer=new Yc(this._scene))}},{key:"colorRenderer",get:function(){return this._colorRenderer||(this._colorRenderer=new fc(this._scene,!1)),this._colorRenderer}},{key:"colorRendererWithSAO",get:function(){return this._colorRendererWithSAO||(this._colorRendererWithSAO=new fc(this._scene,!0)),this._colorRendererWithSAO}},{key:"colorQualityRendererWithSAO",get:function(){return this._colorQualityRendererWithSAO}},{key:"silhouetteRenderer",get:function(){return this._silhouetteRenderer||(this._silhouetteRenderer=new Ic(this._scene)),this._silhouetteRenderer}},{key:"depthRenderer",get:function(){return this._depthRenderer||(this._depthRenderer=new af(this._scene)),this._depthRenderer}},{key:"normalsRenderer",get:function(){return this._normalsRenderer||(this._normalsRenderer=new cf(this._scene)),this._normalsRenderer}},{key:"edgesRenderer",get:function(){return this._edgesRenderer||(this._edgesRenderer=new Ec(this._scene)),this._edgesRenderer}},{key:"edgesColorRenderer",get:function(){return this._edgesColorRenderer||(this._edgesColorRenderer=new Pc(this._scene)),this._edgesColorRenderer}},{key:"pickMeshRenderer",get:function(){return this._pickMeshRenderer||(this._pickMeshRenderer=new Oc(this._scene)),this._pickMeshRenderer}},{key:"pickNormalsRenderer",get:function(){return this._pickNormalsRenderer||(this._pickNormalsRenderer=new vf(this._scene)),this._pickNormalsRenderer}},{key:"pickNormalsFlatRenderer",get:function(){return this._pickNormalsFlatRenderer||(this._pickNormalsFlatRenderer=new vf(this._scene)),this._pickNormalsFlatRenderer}},{key:"pickDepthRenderer",get:function(){return this._pickDepthRenderer||(this._pickDepthRenderer=new Mc(this._scene)),this._pickDepthRenderer}},{key:"vertexDepthRenderer",get:function(){return this._vertexDepthRenderer||(this._vertexDepthRenderer=new jc(this._scene)),this._vertexDepthRenderer}},{key:"snapDepthBufInitRenderer",get:function(){return this._snapDepthBufInitRenderer||(this._snapDepthBufInitRenderer=new Yc(this._scene)),this._snapDepthBufInitRenderer}},{key:"occlusionRenderer",get:function(){return this._occlusionRenderer||(this._occlusionRenderer=new $c(this._scene)),this._occlusionRenderer}},{key:"_destroy",value:function(){this._colorRenderer&&this._colorRenderer.destroy(),this._colorRendererWithSAO&&this._colorRendererWithSAO.destroy(),this._flatColorRenderer&&this._flatColorRenderer.destroy(),this._flatColorRendererWithSAO&&this._flatColorRendererWithSAO.destroy(),this._colorQualityRendererWithSAO&&this._colorQualityRendererWithSAO.destroy(),this._depthRenderer&&this._depthRenderer.destroy(),this._normalsRenderer&&this._normalsRenderer.destroy(),this._silhouetteRenderer&&this._silhouetteRenderer.destroy(),this._edgesRenderer&&this._edgesRenderer.destroy(),this._edgesColorRenderer&&this._edgesColorRenderer.destroy(),this._pickMeshRenderer&&this._pickMeshRenderer.destroy(),this._pickDepthRenderer&&this._pickDepthRenderer.destroy(),this._vertexDepthRenderer&&this._vertexDepthRenderer.destroy(),this._snapDepthBufInitRenderer&&this._snapDepthBufInitRenderer.destroy(),this._pickNormalsRenderer&&this._pickNormalsRenderer.destroy(),this._pickNormalsFlatRenderer&&this._pickNormalsFlatRenderer.destroy(),this._occlusionRenderer&&this._occlusionRenderer.destroy()}}]),e}(),If={};var yf=P((function e(){b(this,e),this.positionsCompressed=[],this.lenPositionsCompressed=0,this.metallicRoughness=[],this.indices8Bits=[],this.lenIndices8Bits=0,this.indices16Bits=[],this.lenIndices16Bits=0,this.indices32Bits=[],this.lenIndices32Bits=0,this.edgeIndices8Bits=[],this.lenEdgeIndices8Bits=0,this.edgeIndices16Bits=[],this.lenEdgeIndices16Bits=0,this.edgeIndices32Bits=[],this.lenEdgeIndices32Bits=0,this.perObjectColors=[],this.perObjectPickColors=[],this.perObjectSolid=[],this.perObjectOffsets=[],this.perObjectPositionsDecodeMatrices=[],this.perObjectInstancePositioningMatrices=[],this.perObjectVertexBases=[],this.perObjectIndexBaseOffsets=[],this.perObjectEdgeIndexBaseOffsets=[],this.perTriangleNumberPortionId8Bits=[],this.perTriangleNumberPortionId16Bits=[],this.perTriangleNumberPortionId32Bits=[],this.perEdgeNumberPortionId8Bits=[],this.perEdgeNumberPortionId16Bits=[],this.perEdgeNumberPortionId32Bits=[]})),mf=function(){function e(){b(this,e),this.texturePerObjectColorsAndFlags=null,this.texturePerObjectOffsets=null,this.texturePerObjectInstanceMatrices=null,this.texturePerObjectPositionsDecodeMatrix=null,this.texturePerVertexIdCoordinates=null,this.texturePerPolygonIdPortionIds8Bits=null,this.texturePerPolygonIdPortionIds16Bits=null,this.texturePerPolygonIdPortionIds32Bits=null,this.texturePerEdgeIdPortionIds8Bits=null,this.texturePerEdgeIdPortionIds16Bits=null,this.texturePerEdgeIdPortionIds32Bits=null,this.texturePerPolygonIdIndices8Bits=null,this.texturePerPolygonIdIndices16Bits=null,this.texturePerPolygonIdIndices32Bits=null,this.texturePerPolygonIdEdgeIndices8Bits=null,this.texturePerPolygonIdEdgeIndices16Bits=null,this.texturePerPolygonIdEdgeIndices32Bits=null,this.textureModelMatrices=null}return P(e,[{key:"finalize",value:function(){this.indicesPerBitnessTextures={8:this.texturePerPolygonIdIndices8Bits,16:this.texturePerPolygonIdIndices16Bits,32:this.texturePerPolygonIdIndices32Bits},this.indicesPortionIdsPerBitnessTextures={8:this.texturePerPolygonIdPortionIds8Bits,16:this.texturePerPolygonIdPortionIds16Bits,32:this.texturePerPolygonIdPortionIds32Bits},this.edgeIndicesPerBitnessTextures={8:this.texturePerPolygonIdEdgeIndices8Bits,16:this.texturePerPolygonIdEdgeIndices16Bits,32:this.texturePerPolygonIdEdgeIndices32Bits},this.edgeIndicesPortionIdsPerBitnessTextures={8:this.texturePerEdgeIdPortionIds8Bits,16:this.texturePerEdgeIdPortionIds16Bits,32:this.texturePerEdgeIdPortionIds32Bits}}},{key:"bindCommonTextures",value:function(e,t,n,r,i){this.texturePerObjectPositionsDecodeMatrix.bindTexture(e,t,1),this.texturePerVertexIdCoordinates.bindTexture(e,n,2),this.texturePerObjectColorsAndFlags.bindTexture(e,r,3),this.texturePerObjectInstanceMatrices.bindTexture(e,i,4)}},{key:"bindTriangleIndicesTextures",value:function(e,t,n,r){this.indicesPortionIdsPerBitnessTextures[r].bindTexture(e,t,5),this.indicesPerBitnessTextures[r].bindTexture(e,n,6)}},{key:"bindEdgeIndicesTextures",value:function(e,t,n,r){this.edgeIndicesPortionIdsPerBitnessTextures[r].bindTexture(e,t,5),this.edgeIndicesPerBitnessTextures[r].bindTexture(e,n,6)}}]),e}(),wf=function(){function e(t,n,r,i){var a=arguments.length>4&&void 0!==arguments[4]?arguments[4]:null;b(this,e),this._gl=t,this._texture=n,this._textureWidth=r,this._textureHeight=i,this._textureData=a}return P(e,[{key:"bindTexture",value:function(e,t,n){return e.bindTexture(t,this,n)}},{key:"bind",value:function(e){return this._gl.activeTexture(this._gl["TEXTURE"+e]),this._gl.bindTexture(this._gl.TEXTURE_2D,this._texture),!0}},{key:"unbind",value:function(e){}}]),e}(),gf={sizeDataColorsAndFlags:0,sizeDataPositionDecodeMatrices:0,sizeDataTextureOffsets:0,sizeDataTexturePositions:0,sizeDataTextureIndices:0,sizeDataTextureEdgeIndices:0,sizeDataTexturePortionIds:0,numberOfGeometries:0,numberOfPortions:0,numberOfLayers:0,numberOfTextures:0,totalPolygons:0,totalPolygons8Bits:0,totalPolygons16Bits:0,totalPolygons32Bits:0,totalEdges:0,totalEdges8Bits:0,totalEdges16Bits:0,totalEdges32Bits:0,cannotCreatePortion:{because10BitsObjectId:0,becauseTextureSize:0},overheadSizeAlignementIndices:0,overheadSizeAlignementEdgeIndices:0};window.printDataTextureRamStats=function(){console.log(JSON.stringify(gf,null,4));var e=0;Object.keys(gf).forEach((function(t){t.startsWith("size")&&(e+=gf[t])})),console.log("Total size ".concat(e," bytes (").concat((e/1e3/1e3).toFixed(2)," MB)")),console.log("Avg bytes / triangle: ".concat((e/gf.totalPolygons).toFixed(2)));var t={};Object.keys(gf).forEach((function(n){n.startsWith("size")&&(t[n]="".concat((gf[n]/e*100).toFixed(2)," % of total"))})),console.log(JSON.stringify({percentualRamUsage:t},null,4))};var Ef=function(){function e(){b(this,e)}return P(e,[{key:"disableBindedTextureFiltering",value:function(e){e.texParameteri(e.TEXTURE_2D,e.TEXTURE_MAG_FILTER,e.NEAREST),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_MIN_FILTER,e.NEAREST),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_WRAP_S,e.CLAMP_TO_EDGE),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_WRAP_T,e.CLAMP_TO_EDGE)}},{key:"generateTextureForColorsAndFlags",value:function(e,t,n,r,i,a,s){var o=t.length;this.numPortions=o;var l=4096,u=Math.ceil(o/512);if(0===u)throw"texture height===0";var c=new Uint8Array(16384*u);gf.sizeDataColorsAndFlags+=c.byteLength,gf.numberOfTextures++;for(var f=0;f>24&255,r[f]>>16&255,r[f]>>8&255,255&r[f]],32*f+16),c.set([i[f]>>24&255,i[f]>>16&255,i[f]>>8&255,255&i[f]],32*f+20),c.set([a[f]>>24&255,a[f]>>16&255,a[f]>>8&255,255&a[f]],32*f+24),c.set([s[f]?1:0,0,0,0],32*f+28);var p=e.createTexture();return e.bindTexture(e.TEXTURE_2D,p),e.texStorage2D(e.TEXTURE_2D,1,e.RGBA8UI,l,u),e.texSubImage2D(e.TEXTURE_2D,0,0,0,l,u,e.RGBA_INTEGER,e.UNSIGNED_BYTE,c,0),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_MAG_FILTER,e.NEAREST),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_MIN_FILTER,e.NEAREST),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_WRAP_S,e.CLAMP_TO_EDGE),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_WRAP_T,e.CLAMP_TO_EDGE),e.bindTexture(e.TEXTURE_2D,null),new wf(e,p,l,u,c)}},{key:"generateTextureForObjectOffsets",value:function(e,t){var n=512,r=Math.ceil(t/n);if(0===r)throw"texture height===0";var i=new Float32Array(1536*r).fill(0);gf.sizeDataTextureOffsets+=i.byteLength,gf.numberOfTextures++;var a=e.createTexture();return e.bindTexture(e.TEXTURE_2D,a),e.texStorage2D(e.TEXTURE_2D,1,e.RGB32F,n,r),e.texSubImage2D(e.TEXTURE_2D,0,0,0,n,r,e.RGB,e.FLOAT,i,0),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_MAG_FILTER,e.NEAREST),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_MIN_FILTER,e.NEAREST),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_WRAP_S,e.CLAMP_TO_EDGE),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_WRAP_T,e.CLAMP_TO_EDGE),e.bindTexture(e.TEXTURE_2D,null),new wf(e,a,n,r,i)}},{key:"generateTextureForInstancingMatrices",value:function(e,t){var n=t.length;if(0===n)throw"num instance matrices===0";var r=2048,i=Math.ceil(n/512),a=new Float32Array(8192*i);gf.numberOfTextures++;for(var s=0;s65536&&gf.cannotCreatePortion.because10BitsObjectId++;var n=this._numPortions+t<=65536,r=void 0!==e.geometryId&&null!==e.geometryId?"".concat(e.geometryId,"#").concat(0):"".concat(e.id,"#").concat(0);if(!this._bucketGeometries[r]){var i=Math.max(this._state.numIndices8Bits,this._state.numIndices16Bits,this._state.numIndices32Bits),a=0,s=0;e.buckets.forEach((function(e){a+=e.positionsCompressed.length/3,s+=e.indices.length/3})),(this._state.numVertices+a>16777216||i+s>16777216)&&gf.cannotCreatePortion.becauseTextureSize++,n&&(n=this._state.numVertices+a<=16777216&&i+s<=16777216)}return n}},{key:"createPortion",value:function(e,t){var n=this;if(this._finalized)throw"Already finalized";var r=[];t.buckets.forEach((function(e,i){var a=void 0!==t.geometryId&&null!==t.geometryId?"".concat(t.geometryId,"#").concat(i):"".concat(t.id,"#").concat(i),s=n._bucketGeometries[a];s||(s=n._createBucketGeometry(t,e),n._bucketGeometries[a]=s);var o=n._createSubPortion(t,s,e);r.push(o)}));var i=this._portionToSubPortionsMap.length;return this._portionToSubPortionsMap.push(r),this.model.numPortions++,this._meshes.push(e),i}},{key:"_createBucketGeometry",value:function(e,t){if(t.indices){var n=8*Math.ceil(t.indices.length/3/8)*3;gf.overheadSizeAlignementIndices+=2*(n-t.indices.length);var r=new Uint32Array(n);r.fill(0),r.set(t.indices),t.indices=r}if(t.edgeIndices){var i=8*Math.ceil(t.edgeIndices.length/2/8)*2;gf.overheadSizeAlignementEdgeIndices+=2*(i-t.edgeIndices.length);var a=new Uint32Array(i);a.fill(0),a.set(t.edgeIndices),t.edgeIndices=a}var s=t.positionsCompressed,o=t.indices,l=t.edgeIndices,u=this._buffer;u.positionsCompressed.push(s);var c,f=u.lenPositionsCompressed/3,p=s.length/3;u.lenPositionsCompressed+=s.length;var A,d,v=0;o&&(v=o.length/3,p<=256?(A=u.indices8Bits,c=u.lenIndices8Bits/3,u.lenIndices8Bits+=o.length):p<=65536?(A=u.indices16Bits,c=u.lenIndices16Bits/3,u.lenIndices16Bits+=o.length):(A=u.indices32Bits,c=u.lenIndices32Bits/3,u.lenIndices32Bits+=o.length),A.push(o));var h,I=0;l&&(I=l.length/2,p<=256?(h=u.edgeIndices8Bits,d=u.lenEdgeIndices8Bits/2,u.lenEdgeIndices8Bits+=l.length):p<=65536?(h=u.edgeIndices16Bits,d=u.lenEdgeIndices16Bits/2,u.lenEdgeIndices16Bits+=l.length):(h=u.edgeIndices32Bits,d=u.lenEdgeIndices32Bits/2,u.lenEdgeIndices32Bits+=l.length),h.push(l));return this._state.numVertices+=p,gf.numberOfGeometries++,{vertexBase:f,numVertices:p,numTriangles:v,numEdges:I,indicesBase:c,edgeIndicesBase:d,obb:null}}},{key:"_createSubPortion",value:function(e,t,n,r){var i=e.color;e.metallic,e.roughness;var a,s,o=e.colors,l=e.opacity,u=e.meshMatrix,c=e.pickColor,f=this._buffer,p=this._state;f.perObjectPositionsDecodeMatrices.push(e.positionsDecodeMatrix),f.perObjectInstancePositioningMatrices.push(u||Rf),f.perObjectSolid.push(!!e.solid),o?f.perObjectColors.push([255*o[0],255*o[1],255*o[2],255]):i&&f.perObjectColors.push([i[0],i[1],i[2],l]),f.perObjectPickColors.push(c),f.perObjectVertexBases.push(t.vertexBase),a=t.numVertices<=256?p.numIndices8Bits:t.numVertices<=65536?p.numIndices16Bits:p.numIndices32Bits,f.perObjectIndexBaseOffsets.push(a/3-t.indicesBase),s=t.numVertices<=256?p.numEdgeIndices8Bits:t.numVertices<=65536?p.numEdgeIndices16Bits:p.numEdgeIndices32Bits,f.perObjectEdgeIndexBaseOffsets.push(s/2-t.edgeIndicesBase);var A=this._subPortions.length;if(t.numTriangles>0){var d,v=3*t.numTriangles;t.numVertices<=256?(d=f.perTriangleNumberPortionId8Bits,p.numIndices8Bits+=v,gf.totalPolygons8Bits+=t.numTriangles):t.numVertices<=65536?(d=f.perTriangleNumberPortionId16Bits,p.numIndices16Bits+=v,gf.totalPolygons16Bits+=t.numTriangles):(d=f.perTriangleNumberPortionId32Bits,p.numIndices32Bits+=v,gf.totalPolygons32Bits+=t.numTriangles),gf.totalPolygons+=t.numTriangles;for(var h=0;h0){var I,y=2*t.numEdges;t.numVertices<=256?(I=f.perEdgeNumberPortionId8Bits,p.numEdgeIndices8Bits+=y,gf.totalEdges8Bits+=t.numEdges):t.numVertices<=65536?(I=f.perEdgeNumberPortionId16Bits,p.numEdgeIndices16Bits+=y,gf.totalEdges16Bits+=t.numEdges):(I=f.perEdgeNumberPortionId32Bits,p.numEdgeIndices32Bits+=y,gf.totalEdges32Bits+=t.numEdges),gf.totalEdges+=t.numEdges;for(var m=0;m0&&(n.texturePerEdgeIdPortionIds8Bits=this._dataTextureGenerator.generateTextureForPackedPortionIds(r,i.perEdgeNumberPortionId8Bits)),i.perEdgeNumberPortionId16Bits.length>0&&(n.texturePerEdgeIdPortionIds16Bits=this._dataTextureGenerator.generateTextureForPackedPortionIds(r,i.perEdgeNumberPortionId16Bits)),i.perEdgeNumberPortionId32Bits.length>0&&(n.texturePerEdgeIdPortionIds32Bits=this._dataTextureGenerator.generateTextureForPackedPortionIds(r,i.perEdgeNumberPortionId32Bits)),i.lenIndices8Bits>0&&(n.texturePerPolygonIdIndices8Bits=this._dataTextureGenerator.generateTextureFor8BitIndices(r,i.indices8Bits,i.lenIndices8Bits)),i.lenIndices16Bits>0&&(n.texturePerPolygonIdIndices16Bits=this._dataTextureGenerator.generateTextureFor16BitIndices(r,i.indices16Bits,i.lenIndices16Bits)),i.lenIndices32Bits>0&&(n.texturePerPolygonIdIndices32Bits=this._dataTextureGenerator.generateTextureFor32BitIndices(r,i.indices32Bits,i.lenIndices32Bits)),i.lenEdgeIndices8Bits>0&&(n.texturePerPolygonIdEdgeIndices8Bits=this._dataTextureGenerator.generateTextureFor8BitsEdgeIndices(r,i.edgeIndices8Bits,i.lenEdgeIndices8Bits)),i.lenEdgeIndices16Bits>0&&(n.texturePerPolygonIdEdgeIndices16Bits=this._dataTextureGenerator.generateTextureFor16BitsEdgeIndices(r,i.edgeIndices16Bits,i.lenEdgeIndices16Bits)),i.lenEdgeIndices32Bits>0&&(n.texturePerPolygonIdEdgeIndices32Bits=this._dataTextureGenerator.generateTextureFor32BitsEdgeIndices(r,i.edgeIndices32Bits,i.lenEdgeIndices32Bits)),n.finalize(),this._buffer=null,this._bucketGeometries={},this._finalized=!0,this._deferredSetFlagsDirty=!1,this._onSceneRendering=this.model.scene.on("rendering",(function(){e._deferredSetFlagsDirty&&e._uploadDeferredFlags(),e._numUpdatesInFrame=0}))}}},{key:"isEmpty",value:function(){return 0===this._numPortions}},{key:"initFlags",value:function(e,t,n){t&xe&&(this._numVisibleLayerPortions++,this.model.numVisibleLayerPortions++),t&ke&&(this._numHighlightedLayerPortions++,this.model.numHighlightedLayerPortions++),t&Ge&&(this._numXRayedLayerPortions++,this.model.numXRayedLayerPortions++),t&je&&(this._numSelectedLayerPortions++,this.model.numSelectedLayerPortions++),t&He&&(this._numClippableLayerPortions++,this.model.numClippableLayerPortions++),t&Ve&&(this._numEdgesLayerPortions++,this.model.numEdgesLayerPortions++),t&Fe&&(this._numPickableLayerPortions++,this.model.numPickableLayerPortions++),t&Me&&(this._numCulledLayerPortions++,this.model.numCulledLayerPortions++),n&&(this._numTransparentLayerPortions++,this.model.numTransparentLayerPortions++);this._setFlags(e,t,n,true),this._setFlags2(e,t,true)}},{key:"flushInitFlags",value:function(){this._setDeferredFlags(),this._setDeferredFlags2()}},{key:"setVisible",value:function(e,t,n){if(!this._finalized)throw"Not finalized";t&xe?(this._numVisibleLayerPortions++,this.model.numVisibleLayerPortions++):(this._numVisibleLayerPortions--,this.model.numVisibleLayerPortions--),this._setFlags(e,t,n)}},{key:"setHighlighted",value:function(e,t,n){if(!this._finalized)throw"Not finalized";t&ke?(this._numHighlightedLayerPortions++,this.model.numHighlightedLayerPortions++):(this._numHighlightedLayerPortions--,this.model.numHighlightedLayerPortions--),this._setFlags(e,t,n)}},{key:"setXRayed",value:function(e,t,n){if(!this._finalized)throw"Not finalized";t&Ge?(this._numXRayedLayerPortions++,this.model.numXRayedLayerPortions++):(this._numXRayedLayerPortions--,this.model.numXRayedLayerPortions--),this._setFlags(e,t,n)}},{key:"setSelected",value:function(e,t,n){if(!this._finalized)throw"Not finalized";t&je?(this._numSelectedLayerPortions++,this.model.numSelectedLayerPortions++):(this._numSelectedLayerPortions--,this.model.numSelectedLayerPortions--),this._setFlags(e,t,n)}},{key:"setEdges",value:function(e,t,n){if(!this._finalized)throw"Not finalized";t&Ve?(this._numEdgesLayerPortions++,this.model.numEdgesLayerPortions++):(this._numEdgesLayerPortions--,this.model.numEdgesLayerPortions--),this._setFlags(e,t,n)}},{key:"setClippable",value:function(e,t){if(!this._finalized)throw"Not finalized";t&He?(this._numClippableLayerPortions++,this.model.numClippableLayerPortions++):(this._numClippableLayerPortions--,this.model.numClippableLayerPortions--),this._setFlags2(e,t)}},{key:"_beginDeferredFlags",value:function(){this._deferredSetFlagsActive=!0}},{key:"_uploadDeferredFlags",value:function(){if(console.info("_uploadDeferredFlags"),this._deferredSetFlagsActive=!1,this._deferredSetFlagsDirty){this._deferredSetFlagsDirty=!1;var e=this.model.scene.canvas.gl,t=this._dataTextureState;e.bindTexture(e.TEXTURE_2D,t.texturePerObjectColorsAndFlags._texture),e.texSubImage2D(e.TEXTURE_2D,0,0,0,t.texturePerObjectColorsAndFlags._textureWidth,t.texturePerObjectColorsAndFlags._textureHeight,e.RGBA_INTEGER,e.UNSIGNED_BYTE,t.texturePerObjectColorsAndFlags._textureData)}}},{key:"setCulled",value:function(e,t,n){if(!this._finalized)throw"Not finalized";t&Me?(this._numCulledLayerPortions+=this._portionToSubPortionsMap[e].length,this.model.numCulledLayerPortions++):(this._numCulledLayerPortions-=this._portionToSubPortionsMap[e].length,this.model.numCulledLayerPortions--),this._setFlags(e,t,n)}},{key:"setCollidable",value:function(e,t){if(!this._finalized)throw"Not finalized"}},{key:"setPickable",value:function(e,t,n){if(!this._finalized)throw"Not finalized";t&Fe?(this._numPickableLayerPortions++,this.model.numPickableLayerPortions++):(this._numPickableLayerPortions--,this.model.numPickableLayerPortions--),this._setFlags(e,t,n)}},{key:"setColor",value:function(e,t){for(var n=this._portionToSubPortionsMap[e],r=0,i=n.length;r=10&&this._beginDeferredFlags(),console.info("_subPortionSetColor write through"),r.bindTexture(r.TEXTURE_2D,n.texturePerObjectColorsAndFlags._texture),r.texSubImage2D(r.TEXTURE_2D,0,e%512*8,Math.floor(e/512),1,1,r.RGBA_INTEGER,r.UNSIGNED_BYTE,bf)}},{key:"setTransparent",value:function(e,t,n){n?(this._numTransparentLayerPortions++,this.model.numTransparentLayerPortions++):(this._numTransparentLayerPortions--,this.model.numTransparentLayerPortions--),this._setFlags(e,t,n)}},{key:"_setFlags",value:function(e,t,n){for(var r=arguments.length>3&&void 0!==arguments[3]&&arguments[3],i=this._portionToSubPortionsMap[e],a=0,s=i.length;a3&&void 0!==arguments[3]&&arguments[3];if(!this._finalized)throw"Not finalized";var i,a,s=!!(t&xe),o=!!(t&Ge),l=!!(t&ke),u=!!(t&je),c=!!(t&Ve),f=!!(t&Fe),p=!!(t&Me);i=!s||p||o?Xs.NOT_RENDERED:n?Xs.COLOR_TRANSPARENT:Xs.COLOR_OPAQUE,a=!s||p?Xs.NOT_RENDERED:u?Xs.SILHOUETTE_SELECTED:l?Xs.SILHOUETTE_HIGHLIGHTED:o?Xs.SILHOUETTE_XRAYED:Xs.NOT_RENDERED;var A=0;A=!s||p?Xs.NOT_RENDERED:u?Xs.EDGES_SELECTED:l?Xs.EDGES_HIGHLIGHTED:o?Xs.EDGES_XRAYED:c?n?Xs.EDGES_COLOR_TRANSPARENT:Xs.EDGES_COLOR_OPAQUE:Xs.NOT_RENDERED;var d=s&&f?Xs.PICK:Xs.NOT_RENDERED,v=this._dataTextureState,h=this.model.scene.canvas.gl;bf[0]=i,bf[1]=a,bf[2]=A,bf[3]=d,v.texturePerObjectColorsAndFlags._textureData.set(bf,32*e+8),this._deferredSetFlagsActive||r?this._deferredSetFlagsDirty=!0:(++this._numUpdatesInFrame>=10&&this._beginDeferredFlags(),h.bindTexture(h.TEXTURE_2D,v.texturePerObjectColorsAndFlags._texture),h.texSubImage2D(h.TEXTURE_2D,0,e%512*8+2,Math.floor(e/512),1,1,h.RGBA_INTEGER,h.UNSIGNED_BYTE,bf))}},{key:"_setDeferredFlags",value:function(){}},{key:"_setFlags2",value:function(e,t){for(var n=arguments.length>2&&void 0!==arguments[2]&&arguments[2],r=this._portionToSubPortionsMap[e],i=0,a=r.length;i2&&void 0!==arguments[2]&&arguments[2];if(!this._finalized)throw"Not finalized";var r=t&He?255:0,i=this._dataTextureState,a=this.model.scene.canvas.gl;bf[0]=r,bf[1]=0,bf[2]=1,bf[3]=2,i.texturePerObjectColorsAndFlags._textureData.set(bf,32*e+12),this._deferredSetFlagsActive||n?this._deferredSetFlagsDirty=!0:(++this._numUpdatesInFrame>=10&&this._beginDeferredFlags(),a.bindTexture(a.TEXTURE_2D,i.texturePerObjectColorsAndFlags._texture),a.texSubImage2D(a.TEXTURE_2D,0,e%512*8+3,Math.floor(e/512),1,1,a.RGBA_INTEGER,a.UNSIGNED_BYTE,bf))}},{key:"_setDeferredFlags2",value:function(){}},{key:"setOffset",value:function(e,t){for(var n=this._portionToSubPortionsMap[e],r=0,i=n.length;r=10&&this._beginDeferredFlags(),r.bindTexture(r.TEXTURE_2D,n.texturePerObjectOffsets._texture),r.texSubImage2D(r.TEXTURE_2D,0,0,e,1,1,r.RGB,r.FLOAT,Df))}},{key:"setMatrix",value:function(e,t){for(var n=this._portionToSubPortionsMap[e],r=0,i=n.length;r=10&&this._beginDeferredFlags(),r.bindTexture(r.TEXTURE_2D,n.texturePerObjectInstanceMatrices._texture),r.texSubImage2D(r.TEXTURE_2D,0,e%512*4,Math.floor(e/512),4,1,r.RGBA,r.FLOAT,Tf))}},{key:"drawColorOpaque",value:function(e,t){this._numCulledLayerPortions!==this._numPortions&&0!==this._numVisibleLayerPortions&&this._numTransparentLayerPortions!==this._numPortions&&this._numXRayedLayerPortions!==this._numPortions&&(this._updateBackfaceCull(e,t),t.withSAO&&this.model.saoEnabled?this._dataTextureRenderers.colorRendererWithSAO&&this._dataTextureRenderers.colorRendererWithSAO.drawLayer(t,this,Xs.COLOR_OPAQUE):this._dataTextureRenderers.colorRenderer&&this._dataTextureRenderers.colorRenderer.drawLayer(t,this,Xs.COLOR_OPAQUE))}},{key:"_updateBackfaceCull",value:function(e,t){var n=this.model.backfaces||e.sectioned;if(t.backfaces!==n){var r=t.gl;n?r.disable(r.CULL_FACE):r.enable(r.CULL_FACE),t.backfaces=n}}},{key:"drawColorTransparent",value:function(e,t){this._numCulledLayerPortions!==this._numPortions&&0!==this._numVisibleLayerPortions&&0!==this._numTransparentLayerPortions&&this._numXRayedLayerPortions!==this._numPortions&&(this._updateBackfaceCull(e,t),this._dataTextureRenderers.colorRenderer&&this._dataTextureRenderers.colorRenderer.drawLayer(t,this,Xs.COLOR_TRANSPARENT))}},{key:"drawDepth",value:function(e,t){this._numCulledLayerPortions!==this._numPortions&&0!==this._numVisibleLayerPortions&&this._numTransparentLayerPortions!==this._numPortions&&this._numXRayedLayerPortions!==this._numPortions&&(this._updateBackfaceCull(e,t),this._dataTextureRenderers.depthRenderer&&this._dataTextureRenderers.depthRenderer.drawLayer(t,this,Xs.COLOR_OPAQUE))}},{key:"drawNormals",value:function(e,t){this._numCulledLayerPortions!==this._numPortions&&0!==this._numVisibleLayerPortions&&this._numTransparentLayerPortions!==this._numPortions&&this._numXRayedLayerPortions!==this._numPortions&&(this._updateBackfaceCull(e,t),this._dataTextureRenderers.normalsRenderer&&this._dataTextureRenderers.normalsRenderer.drawLayer(t,this,Xs.COLOR_OPAQUE))}},{key:"drawSilhouetteXRayed",value:function(e,t){this._numCulledLayerPortions!==this._numPortions&&0!==this._numVisibleLayerPortions&&0!==this._numXRayedLayerPortions&&(this._updateBackfaceCull(e,t),this._dataTextureRenderers.silhouetteRenderer&&this._dataTextureRenderers.silhouetteRenderer.drawLayer(t,this,Xs.SILHOUETTE_XRAYED))}},{key:"drawSilhouetteHighlighted",value:function(e,t){this._numCulledLayerPortions!==this._numPortions&&0!==this._numVisibleLayerPortions&&0!==this._numHighlightedLayerPortions&&(this._updateBackfaceCull(e,t),this._dataTextureRenderers.silhouetteRenderer&&this._dataTextureRenderers.silhouetteRenderer.drawLayer(t,this,Xs.SILHOUETTE_HIGHLIGHTED))}},{key:"drawSilhouetteSelected",value:function(e,t){this._numCulledLayerPortions!==this._numPortions&&0!==this._numVisibleLayerPortions&&0!==this._numSelectedLayerPortions&&(this._updateBackfaceCull(e,t),this._dataTextureRenderers.silhouetteRenderer&&this._dataTextureRenderers.silhouetteRenderer.drawLayer(t,this,Xs.SILHOUETTE_SELECTED))}},{key:"drawEdgesColorOpaque",value:function(e,t){this.model.scene.logarithmicDepthBufferEnabled?this.model.scene._loggedWarning||(console.log("Edge enhancement for SceneModel data texture layers currently disabled with logarithmic depth buffer"),this.model.scene._loggedWarning=!0):this._numCulledLayerPortions!==this._numPortions&&0!==this._numVisibleLayerPortions&&0!==this._numEdgesLayerPortions&&this._dataTextureRenderers.edgesColorRenderer&&this._dataTextureRenderers.edgesColorRenderer.drawLayer(t,this,Xs.EDGES_COLOR_OPAQUE)}},{key:"drawEdgesColorTransparent",value:function(e,t){this._numCulledLayerPortions!==this._numPortions&&0!==this._numVisibleLayerPortions&&0!==this._numEdgesLayerPortions&&0!==this._numTransparentLayerPortions&&this._dataTextureRenderers.edgesColorRenderer&&this._dataTextureRenderers.edgesColorRenderer.drawLayer(t,this,Xs.EDGES_COLOR_TRANSPARENT)}},{key:"drawEdgesHighlighted",value:function(e,t){this._numCulledLayerPortions!==this._numPortions&&0!==this._numVisibleLayerPortions&&0!==this._numHighlightedLayerPortions&&this._dataTextureRenderers.edgesRenderer&&this._dataTextureRenderers.edgesRenderer.drawLayer(t,this,Xs.EDGES_HIGHLIGHTED)}},{key:"drawEdgesSelected",value:function(e,t){this._numCulledLayerPortions!==this._numPortions&&0!==this._numVisibleLayerPortions&&0!==this._numSelectedLayerPortions&&this._dataTextureRenderers.edgesRenderer&&this._dataTextureRenderers.edgesRenderer.drawLayer(t,this,Xs.EDGES_SELECTED)}},{key:"drawEdgesXRayed",value:function(e,t){this._numCulledLayerPortions!==this._numPortions&&0!==this._numVisibleLayerPortions&&0!==this._numXRayedLayerPortions&&this._dataTextureRenderers.edgesRenderer&&this._dataTextureRenderers.edgesRenderer.drawLayer(t,this,Xs.EDGES_XRAYED)}},{key:"drawOcclusion",value:function(e,t){this._numCulledLayerPortions!==this._numPortions&&0!==this._numVisibleLayerPortions&&(this._updateBackfaceCull(e,t),this._dataTextureRenderers.occlusionRenderer&&this._dataTextureRenderers.occlusionRenderer.drawLayer(t,this,Xs.COLOR_OPAQUE))}},{key:"drawShadow",value:function(e,t){this._numCulledLayerPortions!==this._numPortions&&0!==this._numVisibleLayerPortions&&(this._updateBackfaceCull(e,t),this._dataTextureRenderers.shadowRenderer&&this._dataTextureRenderers.shadowRenderer.drawLayer(t,this,Xs.COLOR_OPAQUE))}},{key:"setPickMatrices",value:function(e,t){}},{key:"drawPickMesh",value:function(e,t){0!==this._numVisibleLayerPortions&&(this._updateBackfaceCull(e,t),this._dataTextureRenderers.pickMeshRenderer&&this._dataTextureRenderers.pickMeshRenderer.drawLayer(t,this,Xs.PICK))}},{key:"drawPickDepths",value:function(e,t){0!==this._numVisibleLayerPortions&&(this._updateBackfaceCull(e,t),this._dataTextureRenderers.pickDepthRenderer&&this._dataTextureRenderers.pickDepthRenderer.drawLayer(t,this,Xs.PICK))}},{key:"drawSnapInitDepthBuf",value:function(e,t){this._numCulledLayerPortions!==this._numPortions&&0!==this._numVisibleLayerPortions&&(this._updateBackfaceCull(e,t),this._dataTextureRenderers.snapDepthBufInitRenderer&&this._dataTextureRenderers.snapDepthBufInitRenderer.drawLayer(t,this,Xs.PICK))}},{key:"drawSnapDepths",value:function(e,t){this._numCulledLayerPortions!==this._numPortions&&0!==this._numVisibleLayerPortions&&(this._updateBackfaceCull(e,t),this._dataTextureRenderers.vertexDepthRenderer&&this._dataTextureRenderers.vertexDepthRenderer.drawLayer(t,this,Xs.PICK))}},{key:"drawPickNormals",value:function(e,t){this._numCulledLayerPortions!==this._numPortions&&0!==this._numVisibleLayerPortions&&(this._updateBackfaceCull(e,t),this._dataTextureRenderers.pickNormalsRenderer&&this._dataTextureRenderers.pickNormalsRenderer.drawLayer(t,this,Xs.PICK))}},{key:"destroy",value:function(){if(!this._destroyed){var e=this._state;e.metallicRoughnessBuf&&(e.metallicRoughnessBuf.destroy(),e.metallicRoughnessBuf=null),this.model.scene.off(this._onSceneRendering),e.destroy(),this._destroyed=!0}}}]),e}(),_f=$.vec4(4),Bf=$.vec4(),Of=$.vec4(),Sf=$.vec3([1,0,0]),Nf=$.vec3([0,1,0]),Lf=$.vec3([0,0,1]);$.vec3(3),$.vec3(3);var xf=$.identityMat4(),Mf=function(){function e(t){b(this,e),this._model=t.model,this.id=t.id,this._parentTransform=t.parent,this._childTransforms=[],this._meshes=[],this._scale=new Float32Array([1,1,1]),this._quaternion=$.identityQuaternion(new Float32Array(4)),this._rotation=new Float32Array(3),this._position=new Float32Array(3),this._localMatrix=$.identityMat4(new Float32Array(16)),this._worldMatrix=$.identityMat4(new Float32Array(16)),this._localMatrixDirty=!0,this._worldMatrixDirty=!0,t.matrix?this.matrix=t.matrix:(this.scale=t.scale,this.position=t.position,t.quaternion||(this.rotation=t.rotation)),t.parent&&t.parent._addChildTransform(this)}return P(e,[{key:"_addChildTransform",value:function(e){this._childTransforms.push(e),e._parentTransform=this,e._setWorldMatrixDirty(),e._setAABBDirty()}},{key:"_addMesh",value:function(e){this._meshes.push(e),e.transform=this}},{key:"parentTransform",get:function(){return this._parentTransform}},{key:"meshes",get:function(){return this._meshes}},{key:"position",get:function(){return this._position},set:function(e){this._position.set(e||[0,0,0]),this._setLocalMatrixDirty(),this._model.glRedraw()}},{key:"rotation",get:function(){return this._rotation},set:function(e){this._rotation.set(e||[0,0,0]),$.eulerToQuaternion(this._rotation,"XYZ",this._quaternion),this._setLocalMatrixDirty(),this._model.glRedraw()}},{key:"quaternion",get:function(){return this._quaternion},set:function(e){this._quaternion.set(e||[0,0,0,1]),$.quaternionToEuler(this._quaternion,"XYZ",this._rotation),this._setLocalMatrixDirty(),this._model.glRedraw()}},{key:"scale",get:function(){return this._scale},set:function(e){this._scale.set(e||[1,1,1]),this._setLocalMatrixDirty(),this._model.glRedraw()}},{key:"matrix",get:function(){return this._localMatrixDirty&&(this._localMatrix||(this._localMatrix=$.identityMat4()),$.composeMat4(this._position,this._quaternion,this._scale,this._localMatrix),this._localMatrixDirty=!1),this._localMatrix},set:function(e){this._localMatrix||(this._localMatrix=$.identityMat4()),this._localMatrix.set(e||xf),$.decomposeMat4(this._localMatrix,this._position,this._quaternion,this._scale),this._localMatrixDirty=!1,this._transformDirty(),this._model.glRedraw()}},{key:"worldMatrix",get:function(){return this._worldMatrixDirty&&this._buildWorldMatrix(),this._worldMatrix}},{key:"rotate",value:function(e,t){return _f[0]=e[0],_f[1]=e[1],_f[2]=e[2],_f[3]=t*$.DEGTORAD,$.angleAxisToQuaternion(_f,Bf),$.mulQuaternions(this.quaternion,Bf,Of),this.quaternion=Of,this._setLocalMatrixDirty(),this._model.glRedraw(),this}},{key:"rotateOnWorldAxis",value:function(e,t){return _f[0]=e[0],_f[1]=e[1],_f[2]=e[2],_f[3]=t*$.DEGTORAD,$.angleAxisToQuaternion(_f,Bf),$.mulQuaternions(Bf,this.quaternion,Bf),this}},{key:"rotateX",value:function(e){return this.rotate(Sf,e)}},{key:"rotateY",value:function(e){return this.rotate(Nf,e)}},{key:"rotateZ",value:function(e){return this.rotate(Lf,e)}},{key:"translate",value:function(e){return this._position[0]+=e[0],this._position[1]+=e[1],this._position[2]+=e[2],this._setLocalMatrixDirty(),this._model.glRedraw(),this}},{key:"translateX",value:function(e){return this._position[0]+=e,this._setLocalMatrixDirty(),this._model.glRedraw(),this}},{key:"translateY",value:function(e){return this._position[1]+=e,this._setLocalMatrixDirty(),this._model.glRedraw(),this}},{key:"translateZ",value:function(e){return this._position[2]+=e,this._setLocalMatrixDirty(),this._model.glRedraw(),this}},{key:"_setLocalMatrixDirty",value:function(){this._localMatrixDirty=!0,this._transformDirty()}},{key:"_transformDirty",value:function(){this._worldMatrixDirty=!0;for(var e=0,t=this._childTransforms.length;e0)for(var r=n._meshes,i=0,a=r.length;i0)for(var s=this._meshes,o=0,l=s.length;o1&&void 0!==arguments[1]?arguments[1]:{};return b(this,n),(r=t.call(this,e,i))._dtxEnabled=r.scene.dtxEnabled&&!1!==i.dtxEnabled,r._enableVertexWelding=!1,r._enableIndexBucketing=!1,r._vboBatchingLayerScratchMemory=Ys(),r._textureTranscoder=i.textureTranscoder||Yu(r.scene.viewer),r._maxGeometryBatchSize=i.maxGeometryBatchSize,r._aabb=$.collapseAABB3(),r._aabbDirty=!0,r._quantizationRanges={},r._vboInstancingLayers={},r._vboBatchingLayers={},r._dtxLayers={},r._meshList=[],r.layerList=[],r._entityList=[],r._geometries={},r._dtxBuckets={},r._textures={},r._textureSets={},r._transforms={},r._meshes={},r._entities={},r._scheduledMeshes={},r.renderFlags=new Gi,r.numGeometries=0,r.numPortions=0,r.numVisibleLayerPortions=0,r.numTransparentLayerPortions=0,r.numXRayedLayerPortions=0,r.numHighlightedLayerPortions=0,r.numSelectedLayerPortions=0,r.numEdgesLayerPortions=0,r.numPickableLayerPortions=0,r.numClippableLayerPortions=0,r.numCulledLayerPortions=0,r.numEntities=0,r._numTriangles=0,r._numLines=0,r._numPoints=0,r._edgeThreshold=i.edgeThreshold||10,r._origin=$.vec3(i.origin||[0,0,0]),r._position=$.vec3(i.position||[0,0,0]),r._rotation=$.vec3(i.rotation||[0,0,0]),r._quaternion=$.vec4(i.quaternion||[0,0,0,1]),r._conjugateQuaternion=$.vec4(i.quaternion||[0,0,0,1]),i.rotation&&$.eulerToQuaternion(r._rotation,"XYZ",r._quaternion),r._scale=$.vec3(i.scale||[1,1,1]),r._worldRotationMatrix=$.mat4(),r._worldRotationMatrixConjugate=$.mat4(),r._matrix=$.mat4(),r._matrixDirty=!0,r._rebuildMatrices(),r._worldNormalMatrix=$.mat4(),$.inverseMat4(r._matrix,r._worldNormalMatrix),$.transposeMat4(r._worldNormalMatrix),(i.matrix||i.position||i.rotation||i.scale||i.quaternion)&&(r._viewMatrix=$.mat4(),r._viewNormalMatrix=$.mat4(),r._viewMatrixDirty=!0,r._matrixNonIdentity=!0),r._opacity=1,r._colorize=[1,1,1],r._saoEnabled=!1!==i.saoEnabled,r._pbrEnabled=!1!==i.pbrEnabled,r._colorTextureEnabled=!1!==i.colorTextureEnabled,r._isModel=i.isModel,r._isModel&&r.scene._registerModel(g(r)),r._onCameraViewMatrix=r.scene.camera.on("matrix",(function(){r._viewMatrixDirty=!0})),r._meshesWithDirtyMatrices=[],r._numMeshesWithDirtyMatrices=0,r._onTick=r.scene.on("tick",(function(){for(;r._numMeshesWithDirtyMatrices>0;)r._meshesWithDirtyMatrices[--r._numMeshesWithDirtyMatrices]._updateMatrix()})),r._createDefaultTextureSet(),r.visible=i.visible,r.culled=i.culled,r.pickable=i.pickable,r.clippable=i.clippable,r.collidable=i.collidable,r.castsShadow=i.castsShadow,r.receivesShadow=i.receivesShadow,r.xrayed=i.xrayed,r.highlighted=i.highlighted,r.selected=i.selected,r.edges=i.edges,r.colorize=i.colorize,r.opacity=i.opacity,r.backfaces=i.backfaces,r}return P(n,[{key:"_meshMatrixDirty",value:function(e){this._meshesWithDirtyMatrices[this._numMeshesWithDirtyMatrices++]=e}},{key:"_createDefaultTextureSet",value:function(){var e=new Fu({id:"defaultColorTexture",texture:new ba({gl:this.scene.canvas.gl,preloadColor:[1,1,1,1]})}),t=new Fu({id:"defaultMetalRoughTexture",texture:new ba({gl:this.scene.canvas.gl,preloadColor:[0,1,1,1]})}),n=new Fu({id:"defaultNormalsTexture",texture:new ba({gl:this.scene.canvas.gl,preloadColor:[0,0,0,0]})}),r=new Fu({id:"defaultEmissiveTexture",texture:new ba({gl:this.scene.canvas.gl,preloadColor:[0,0,0,1]})}),i=new Fu({id:"defaultOcclusionTexture",texture:new ba({gl:this.scene.canvas.gl,preloadColor:[1,1,1,1]})});this._textures.defaultColorTexture=e,this._textures.defaultMetalRoughTexture=t,this._textures.defaultNormalsTexture=n,this._textures.defaultEmissiveTexture=r,this._textures.defaultOcclusionTexture=i,this._textureSets.defaultTextureSet=new Mu({id:"defaultTextureSet",model:this,colorTexture:e,metallicRoughnessTexture:t,normalsTexture:n,emissiveTexture:r,occlusionTexture:i})}},{key:"isPerformanceModel",get:function(){return!0}},{key:"transforms",get:function(){return this._transforms}},{key:"textures",get:function(){return this._textures}},{key:"textureSets",get:function(){return this._textureSets}},{key:"meshes",get:function(){return this._meshes}},{key:"objects",get:function(){return this._entities}},{key:"origin",get:function(){return this._origin}},{key:"position",get:function(){return this._position},set:function(e){this._position.set(e||[0,0,0]),this._setWorldMatrixDirty(),this._sceneModelDirty(),this.glRedraw()}},{key:"rotation",get:function(){return this._rotation},set:function(e){this._rotation.set(e||[0,0,0]),$.eulerToQuaternion(this._rotation,"XYZ",this._quaternion),this._setWorldMatrixDirty(),this._sceneModelDirty(),this.glRedraw()}},{key:"quaternion",get:function(){return this._quaternion},set:function(e){this._quaternion.set(e||[0,0,0,1]),$.quaternionToEuler(this._quaternion,"XYZ",this._rotation),this._setWorldMatrixDirty(),this._sceneModelDirty(),this.glRedraw()}},{key:"scale",get:function(){return this._scale},set:function(e){}},{key:"matrix",get:function(){return this._matrixDirty&&this._rebuildMatrices(),this._matrix},set:function(e){this._matrix.set(e||Vf),$.quaternionToRotationMat4(this._quaternion,this._worldRotationMatrix),$.conjugateQuaternion(this._quaternion,this._conjugateQuaternion),$.quaternionToRotationMat4(this._quaternion,this._worldRotationMatrixConjugate),this._matrix.set(this._worldRotationMatrix),$.translateMat4v(this._position,this._matrix),this._matrixDirty=!1,this._setWorldMatrixDirty(),this._sceneModelDirty(),this.glRedraw()}},{key:"rotationMatrix",get:function(){return this._matrixDirty&&this._rebuildMatrices(),this._worldRotationMatrix}},{key:"_rebuildMatrices",value:function(){this._matrixDirty&&($.quaternionToRotationMat4(this._quaternion,this._worldRotationMatrix),$.conjugateQuaternion(this._quaternion,this._conjugateQuaternion),$.quaternionToRotationMat4(this._quaternion,this._worldRotationMatrixConjugate),this._matrix.set(this._worldRotationMatrix),$.translateMat4v(this._position,this._matrix),this._matrixDirty=!1)}},{key:"rotationMatrixConjugate",get:function(){return this._matrixDirty&&this._rebuildMatrices(),this._worldRotationMatrixConjugate}},{key:"_setWorldMatrixDirty",value:function(){this._matrixDirty=!0,this._aabbDirty=!0}},{key:"_transformDirty",value:function(){this._matrixDirty=!0,this._aabbDirty=!0,this.scene._aabbDirty=!0}},{key:"_sceneModelDirty",value:function(){this.scene._aabbDirty=!0,this._aabbDirty=!0,this.scene._aabbDirty=!0,this._matrixDirty=!0;for(var e=0,t=this._entityList.length;e0},set:function(e){e=!1!==e,this._visible=e;for(var t=0,n=this._entityList.length;t0},set:function(e){e=!!e,this._xrayed=e;for(var t=0,n=this._entityList.length;t0},set:function(e){e=!!e,this._highlighted=e;for(var t=0,n=this._entityList.length;t0},set:function(e){e=!!e,this._selected=e;for(var t=0,n=this._entityList.length;t0},set:function(e){e=!!e,this._edges=e;for(var t=0,n=this._entityList.length;t0},set:function(e){e=!1!==e,this._pickable=e;for(var t=0,n=this._entityList.length;t0)e.colorsCompressed=new Uint8Array(e.colorsCompressed);else if(e.colors&&e.colors.length>0){for(var o=e.colors,l=new Uint8Array(o.length),u=0,c=o.length;u>24&255,i=n>>16&255,a=n>>8&255,s=255&n;switch(e.pickColor=new Uint8Array([s,a,i,r]),e.solid="solid"===e.primitive,t.origin=$.vec3(e.origin),e.type){case 2:t.layer=this._getDTXLayer(e),t.aabb=e.aabb;break;case 1:t.layer=this._getVBOBatchingLayer(e),t.aabb=e.aabb;break;case 0:t.layer=this._getVBOInstancingLayer(e),t.aabb=e.aabb}return e.transform&&(e.meshMatrix=e.transform.worldMatrix),t.portionId=t.layer.createPortion(t,e),this._meshes[e.id]=t,this._meshList.push(t),t}},{key:"_getNumPrimitives",value:function(e){var t=0;switch(e.geometry?e.geometry.primitive:e.primitive){case"triangles":case"solid":case"surface":switch(e.type){case 2:for(var n=0,r=e.buckets.length;n>>0).toString(16)}},{key:"_getVBOInstancingLayer",value:function(e){var t=this,n=e.origin,r=e.textureSetId||"-",i=e.geometryId,a="".concat(Math.round(n[0]),".").concat(Math.round(n[1]),".").concat(Math.round(n[2]),".").concat(r,".").concat(i),s=this._vboInstancingLayers[a];if(s)return s;for(var o=e.textureSet,l=e.geometry;!s;)switch(l.primitive){case"triangles":case"surface":s=new Jl({model:t,textureSet:o,geometry:l,origin:n,layerIndex:0,solid:!1});break;case"solid":s=new Jl({model:t,textureSet:o,geometry:l,origin:n,layerIndex:0,solid:!0});break;case"lines":s=new pu({model:t,textureSet:o,geometry:l,origin:n,layerIndex:0});break;case"points":s=new xu({model:t,textureSet:o,geometry:l,origin:n,layerIndex:0})}return this._vboInstancingLayers[a]=s,this.layerList.push(s),s}},{key:"createEntity",value:function(e){if(void 0===e.id?e.id=$.createUUID():this.scene.components[e.id]&&(this.error("Scene already has a Component with this ID: ".concat(e.id," - will assign random ID")),e.id=$.createUUID()),void 0!==e.meshIds){var t=0;this._visible&&!1!==e.visible&&(t|=xe),this._pickable&&!1!==e.pickable&&(t|=Fe),this._culled&&!1!==e.culled&&(t|=Me),this._clippable&&!1!==e.clippable&&(t|=He),this._collidable&&!1!==e.collidable&&(t|=Ue),this._edges&&!1!==e.edges&&(t|=Ve),this._xrayed&&!1!==e.xrayed&&(t|=Ge),this._highlighted&&!1!==e.highlighted&&(t|=ke),this._selected&&!1!==e.selected&&(t|=je),e.flags=t,this._createEntity(e)}else this.error("Config missing: meshIds")}},{key:"_createEntity",value:function(e){for(var t=[],n=0,r=e.meshIds.length;nt.sortId?1:0}));for(var s=0,o=this.layerList.length;s0&&0===this.renderFlags.numVisibleLayers?this.renderFlags.culled=!0:this._updateRenderFlags()}},{key:"_updateRenderFlagsVisibleLayers",value:function(){var e=this.renderFlags;e.numLayers=this.layerList.length,e.numVisibleLayers=0;for(var t=0,n=this.layerList.length;t0)for(var a=0;a0&&(e.colorTransparent=!0),this.numXRayedLayerPortions>0){var t=this.scene.xrayMaterial._state;t.fill&&(t.fillAlpha<1?e.xrayedSilhouetteTransparent=!0:e.xrayedSilhouetteOpaque=!0),t.edges&&(t.edgeAlpha<1?e.xrayedEdgesTransparent=!0:e.xrayedEdgesOpaque=!0)}if(this.numEdgesLayerPortions>0)this.scene.edgeMaterial._state.edges&&(e.edgesOpaque=this.numTransparentLayerPortions0&&(e.edgesTransparent=!0));if(this.numSelectedLayerPortions>0){var n=this.scene.selectedMaterial._state;n.fill&&(n.fillAlpha<1?e.selectedSilhouetteTransparent=!0:e.selectedSilhouetteOpaque=!0),n.edges&&(n.edgeAlpha<1?e.selectedEdgesTransparent=!0:e.selectedEdgesOpaque=!0)}if(this.numHighlightedLayerPortions>0){var r=this.scene.highlightMaterial._state;r.fill&&(r.fillAlpha<1?e.highlightedSilhouetteTransparent=!0:e.highlightedSilhouetteOpaque=!0),r.edges&&(r.edgeAlpha<1?e.highlightedEdgesTransparent=!0:e.highlightedEdgesOpaque=!0)}}}},{key:"drawColorOpaque",value:function(e){for(var t=this.renderFlags,n=0,r=t.visibleLayers.length;n2&&void 0!==arguments[2]&&arguments[2],r=e.positionsCompressed||[],i=tc(e.indices||[],t),a=ic(e.edgeIndices||[]);function s(e,t){if(e>t){var n=e;e=t,t=n}function r(n,r){return n!==e?e-n:r!==t?t-r:0}for(var i=0,s=(a.length>>1)-1;i<=s;){var o=s+i>>1,l=r(a[2*o],a[2*o+1]);if(l>0)i=o+1;else{if(!(l<0))return o;s=o-1}}return-i-1}var o=new Int32Array(a.length/2);o.fill(0);var l=r.length/3;if(l>8*(1<p.maxNumPositions&&(p=f()),p.bucketNumber>8)return[e];-1===u[h]&&(u[h]=p.numPositions++,p.positionsCompressed.push(r[3*h]),p.positionsCompressed.push(r[3*h+1]),p.positionsCompressed.push(r[3*h+2])),-1===u[I]&&(u[I]=p.numPositions++,p.positionsCompressed.push(r[3*I]),p.positionsCompressed.push(r[3*I+1]),p.positionsCompressed.push(r[3*I+2])),-1===u[y]&&(u[y]=p.numPositions++,p.positionsCompressed.push(r[3*y]),p.positionsCompressed.push(r[3*y+1]),p.positionsCompressed.push(r[3*y+2])),p.indices.push(u[h]),p.indices.push(u[I]),p.indices.push(u[y]);var m=void 0;(m=s(h,I))>=0&&0===o[m]&&(o[m]=1,p.edgeIndices.push(u[a[2*m]]),p.edgeIndices.push(u[a[2*m+1]])),(m=s(h,y))>=0&&0===o[m]&&(o[m]=1,p.edgeIndices.push(u[a[2*m]]),p.edgeIndices.push(u[a[2*m+1]])),(m=s(I,y))>=0&&0===o[m]&&(o[m]=1,p.edgeIndices.push(u[a[2*m]]),p.edgeIndices.push(u[a[2*m+1]]))}var w=t/8*2,g=t/8,E=2*r.length+(i.length+a.length)*w,T=0;return r.length,c.forEach((function(e){T+=2*e.positionsCompressed.length+(e.indices.length+e.edgeIndices.length)*g,e.positionsCompressed.length})),T>E?[e]:(n&&ac(c,e),c)}({positionsCompressed:r,indices:i,edgeIndices:a},r.length/3>65536?16:8):s=[{positionsCompressed:r,indices:i,edgeIndices:a}];return s}var Kf=function(e){I(n,Wf);var t=m(n);function n(e){var r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return b(this,n),t.call(this,e,r)}return P(n)}(),Yf=function(e){I(n,ye);var t=m(n);function n(e){var r,i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return b(this,n),(r=t.call(this,e,i))._skyboxMesh=new Ji(g(r),{geometry:new Cn(g(r),{primitive:"triangles",positions:[1,1,1,-1,1,1,-1,-1,1,1,-1,1,1,1,1,1,-1,1,1,-1,-1,1,1,-1,1,1,1,1,1,-1,-1,1,-1,-1,1,1,-1,1,1,-1,1,-1,-1,-1,-1,-1,-1,1,-1,-1,-1,1,-1,-1,1,-1,1,-1,-1,1,1,-1,-1,-1,-1,-1,-1,1,-1,1,1,-1],uv:[.5,.6666,.25,.6666,.25,.3333,.5,.3333,.5,.6666,.5,.3333,.75,.3333,.75,.6666,.5,.6666,.5,1,.25,1,.25,.6666,.25,.6666,0,.6666,0,.3333,.25,.3333,.25,0,.5,0,.5,.3333,.25,.3333,.75,.3333,1,.3333,1,.6666,.75,.6666],indices:[0,1,2,0,2,3,4,5,6,4,6,7,8,9,10,8,10,11,12,13,14,12,14,15,16,17,18,16,18,19,20,21,22,20,22,23]}),background:!0,scale:[2e3,2e3,2e3],rotation:[0,-90,0],material:new Nn(g(r),{ambient:[0,0,0],diffuse:[0,0,0],specular:[0,0,0],emissive:[1,1,1],emissiveMap:new Ba(g(r),{src:i.src,flipY:!0,wrapS:"clampToEdge",wrapT:"clampToEdge",encoding:i.encoding||"sRGB"}),backfaces:!0}),visible:!1,pickable:!1,clippable:!1,collidable:!1}),r.size=i.size,r.active=i.active,r}return P(n,[{key:"size",get:function(){return this._size},set:function(e){this._size=e||1e3,this._skyboxMesh.scale=[this._size,this._size,this._size]}},{key:"active",get:function(){return this._skyboxMesh.visible},set:function(e){this._skyboxMesh.visible=e}}]),n}(),Xf=function(){function e(){b(this,e)}return P(e,[{key:"transcode",value:function(e,t){}},{key:"destroy",value:function(){}}]),e}(),qf=$.vec4(),Jf=$.vec4(),Zf=$.vec3(),$f=$.vec3(),ep=$.vec3(),tp=$.vec4(),np=$.vec4(),rp=$.vec4(),ip=function(){function e(t){b(this,e),this._scene=t}return P(e,[{key:"dollyToCanvasPos",value:function(e,t,n){var r=!1,i=this._scene.camera;if(e){var a=$.subVec3(e,i.eye,Zf);r=$.lenVec3(a)0&&void 0!==arguments[0]?arguments[0]:{};this.destroyPivotSphere(),this._pivotSphereEnabled=!0,e.size&&(this._pivotSphereSize=e.size);var t=e.color||[1,0,0];this._pivotSphereMaterial=new Nn(this._scene,{emissive:t,ambient:t,specular:[0,0,0],diffuse:[0,0,0]})}},{key:"disablePivotSphere",value:function(){this.destroyPivotSphere(),this._pivotSphereEnabled=!1}},{key:"startPivot",value:function(){if(this._cameraLookingDownwards())return this._pivoting=!1,!1;var e=this._scene.camera,t=$.lookAtMat4v(e.eye,e.look,e.worldUp);$.transformPoint3(t,this.getPivotPos(),this._cameraOffset);var n=this.getPivotPos();this._cameraOffset[2]+=$.distVec3(e.eye,n),t=$.inverseMat4(t);var r=$.transformVec3(t,this._cameraOffset),i=$.vec3();if($.subVec3(e.eye,n,i),$.addVec3(i,r),e.zUp){var a=i[1];i[1]=i[2],i[2]=a}this._radius=$.lenVec3(i),this._polar=Math.acos(i[1]/this._radius),this._azimuth=Math.atan2(i[0],i[2]),this._pivoting=!0}},{key:"_cameraLookingDownwards",value:function(){var e=this._scene.camera,t=$.normalizeVec3($.subVec3(e.look,e.eye,ap)),n=$.cross3Vec3(t,e.worldUp,sp);return $.sqLenVec3(n)<=1e-4}},{key:"getPivoting",value:function(){return this._pivoting}},{key:"setPivotPos",value:function(e){this._pivotWorldPos.set(e),this._pivotPosSet=!0}},{key:"setCanvasPivotPos",value:function(e){var t=this._scene.camera,n=Math.abs($.distVec3(this._scene.center,t.eye)),r=t.project.transposedMatrix,i=r.subarray(8,12),a=r.subarray(12),s=[0,0,-1,1],o=$.dotVec4(s,i)/$.dotVec4(s,a),l=lp;t.project.unproject(e,o,up,cp,l);var u=$.normalizeVec3($.subVec3(l,t.eye,ap)),c=$.addVec3(t.eye,$.mulVec3Scalar(u,n,sp),op);this.setPivotPos(c)}},{key:"getPivotPos",value:function(){return this._pivotPosSet?this._pivotWorldPos:this._scene.camera.look}},{key:"continuePivot",value:function(e,t){if(this._pivoting&&(0!==e||0!==t)){var n=this._scene.camera,r=-e,i=-t;1===n.worldUp[2]&&(r=-r),this._azimuth+=.01*-r,this._polar+=.01*i,this._polar=$.clamp(this._polar,.001,Math.PI-.001);var a=[this._radius*Math.sin(this._polar)*Math.sin(this._azimuth),this._radius*Math.cos(this._polar),this._radius*Math.sin(this._polar)*Math.cos(this._azimuth)];if(1===n.worldUp[2]){var s=a[1];a[1]=a[2],a[2]=s}var o=$.lenVec3($.subVec3(n.look,n.eye,$.vec3())),l=this.getPivotPos();$.addVec3(a,l);var u=$.lookAtMat4v(a,l,n.worldUp);u=$.inverseMat4(u);var c=$.transformVec3(u,this._cameraOffset);u[12]-=c[0],u[13]-=c[1],u[14]-=c[2];var f=[u[8],u[9],u[10]];n.eye=[u[12],u[13],u[14]],$.subVec3(n.eye,$.mulVec3Scalar(f,o),n.look),n.up=[u[4],u[5],u[6]],this.showPivot()}}},{key:"showPivot",value:function(){this._shown||(this._pivotElement&&(this.updatePivotElement(),this._pivotElement.style.visibility="visible"),this._pivotSphereEnabled&&(this.destroyPivotSphere(),this.createPivotSphere()),this._shown=!0)}},{key:"hidePivot",value:function(){this._shown&&(this._pivotElement&&(this._pivotElement.style.visibility="hidden"),this._pivotSphereEnabled&&this.destroyPivotSphere(),this._shown=!1)}},{key:"endPivot",value:function(){this._pivoting=!1}},{key:"destroy",value:function(){this.destroyPivotSphere(),this._scene.camera.off(this._onViewMatrix),this._scene.camera.off(this._onProjMatrix),this._scene.off(this._onTick)}}]),e}(),pp=function(){function e(t,n){b(this,e),this._scene=t.scene,this._cameraControl=t,this._scene.canvas.canvas.oncontextmenu=function(e){e.preventDefault()},this._configs=n,this.schedulePickEntity=!1,this.schedulePickSurface=!1,this.scheduleSnapOrPick=!1,this.pickCursorPos=$.vec2(),this.picked=!1,this.pickedSurface=!1,this.pickResult=null,this._lastPickedEntityId=null,this._lastHash=null,this._needFireEvents=0}return P(e,[{key:"update",value:function(){if(this._configs.pointerEnabled&&(this.schedulePickEntity||this.schedulePickSurface)){var e="".concat(~~this.pickCursorPos[0],"-").concat(~~this.pickCursorPos[1],"-").concat(this.scheduleSnapOrPick,"-").concat(this.schedulePickSurface,"-").concat(this.schedulePickEntity);if(this._lastHash!==e){this.picked=!1,this.pickedSurface=!1,this.snappedOrPicked=!1,this.hoveredSnappedOrSurfaceOff=!1;var t=this._cameraControl.hasSubs("hoverSurface");if(this.scheduleSnapOrPick){var n=this._scene.pick({canvasPos:this.pickCursorPos,snapRadius:this._configs.snapRadius,snapToVertex:this._configs.snapToVertex,snapToEdge:this._configs.snapToEdge});n&&(n.snappedToEdge||n.snappedToVertex)?(this.snapPickResult=n,this.snappedOrPicked=!0,this._needFireEvents++):(this.schedulePickSurface=!0,this.snapPickResult=null)}if(this.schedulePickSurface&&this.pickResult&&this.pickResult.worldPos){var r=this.pickResult.canvasPos;if(r[0]===this.pickCursorPos[0]&&r[1]===this.pickCursorPos[1])return this.picked=!0,this.pickedSurface=!0,this._needFireEvents+=t?1:0,this.schedulePickEntity=!1,this.schedulePickSurface=!1,this.scheduleSnapOrPick?this.snappedOrPicked=!0:this.hoveredSnappedOrSurfaceOff=!0,void(this.scheduleSnapOrPick=!1)}if(this.schedulePickEntity&&this.pickResult&&(this.pickResult.canvasPos||this.pickResult.snappedCanvasPos)){var i=this.pickResult.canvasPos||this.pickResult.snappedCanvasPos;if(i[0]===this.pickCursorPos[0]&&i[1]===this.pickCursorPos[1])return this.picked=!0,this.pickedSurface=!1,this.schedulePickEntity=!1,void(this.schedulePickSurface=!1)}this.schedulePickSurface||this.scheduleSnapOrPick&&!this.snapPickResult?(this.pickResult=this._scene.pick({pickSurface:!0,pickSurfaceNormal:!1,canvasPos:this.pickCursorPos}),this.pickResult?(this.picked=!0,this.scheduleSnapOrPick?this.snappedOrPicked=!0:this.pickedSurface=!0,this._needFireEvents++):this.scheduleSnapOrPick&&(this.hoveredSnappedOrSurfaceOff=!0,this._needFireEvents++)):(this.pickResult=this._scene.pick({canvasPos:this.pickCursorPos}),this.pickResult&&(this.picked=!0,this.pickedSurface=!1,this._needFireEvents++)),this.scheduleSnapOrPick=!1,this.schedulePickEntity=!1,this.schedulePickSurface=!1}}}},{key:"fireEvents",value:function(){if(0!==this._needFireEvents){if(this.hoveredSnappedOrSurfaceOff&&this._cameraControl.fire("hoverSnapOrSurfaceOff",{canvasPos:this.pickCursorPos,pointerPos:this.pickCursorPos},!0),this.snappedOrPicked)if(this.snapPickResult){var e=new It;e.snappedToVertex=this.snapPickResult.snappedToVertex,e.snappedToEdge=this.snapPickResult.snappedToEdge,e.worldPos=this.snapPickResult.worldPos,e.canvasPos=this.pickCursorPos,e.snappedCanvasPos=this.snapPickResult.snappedCanvasPos,this._cameraControl.fire("hoverSnapOrSurface",e,!0),this.snapPickResult=null}else this._cameraControl.fire("hoverSnapOrSurface",this.pickResult,!0);if(this.picked&&this.pickResult&&(this.pickResult.entity||this.pickResult.worldPos)){if(this.pickResult.entity){var t=this.pickResult.entity.id;this._lastPickedEntityId!==t&&(void 0!==this._lastPickedEntityId&&this._cameraControl.fire("hoverOut",{entity:this._scene.objects[this._lastPickedEntityId]},!0),this._cameraControl.fire("hoverEnter",this.pickResult,!0),this._lastPickedEntityId=t)}this._cameraControl.fire("hover",this.pickResult,!0),this.pickResult.worldPos&&(this.pickedSurface=!0,this._cameraControl.fire("hoverSurface",this.pickResult,!0))}else void 0!==this._lastPickedEntityId&&(this._cameraControl.fire("hoverOut",{entity:this._scene.objects[this._lastPickedEntityId]},!0),this._lastPickedEntityId=void 0),this._cameraControl.fire("hoverOff",{canvasPos:this.pickCursorPos},!0);this.pickResult=null,this._needFireEvents=0}}}]),e}(),Ap=$.vec2(),dp=function(){function e(t,n,r,i,a){b(this,e),this._scene=t;var s,o,l,u=n.pickController,c=0,f=0,p=0,A=0,d=!1,v=$.vec3(),h=!0,I=this._scene.canvas.canvas,y=[];function m(){var e=!(arguments.length>0&&void 0!==arguments[0])||arguments[0];I.style.cursor="move",w(),e&&g()}function w(){c=i.pointerCanvasPos[0],f=i.pointerCanvasPos[1],p=i.pointerCanvasPos[0],A=i.pointerCanvasPos[1]}function g(){u.pickCursorPos=i.pointerCanvasPos,u.schedulePickSurface=!0,u.update(),u.picked&&u.pickedSurface&&u.pickResult&&u.pickResult.worldPos?(d=!0,v.set(u.pickResult.worldPos)):d=!1}document.addEventListener("keydown",this._documentKeyDownHandler=function(e){if(r.active&&r.pointerEnabled&&t.input.keyboardEnabled){var n=e.keyCode;y[n]=!0}}),document.addEventListener("keyup",this._documentKeyUpHandler=function(e){if(r.active&&r.pointerEnabled&&t.input.keyboardEnabled){var n=e.keyCode;y[n]=!1}}),I.addEventListener("mousedown",this._mouseDownHandler=function(e){if(r.active&&r.pointerEnabled)switch(e.which){case 1:y[t.input.KEY_SHIFT]||r.planView?(s=!0,m()):(s=!0,m(!1));break;case 2:o=!0,m();break;case 3:l=!0,r.panRightClick&&m()}}),document.addEventListener("mousemove",this._documentMouseMoveHandler=function(){if(r.active&&r.pointerEnabled&&(s||o||l)){var e=t.canvas.boundary,n=e[2],u=e[3],p=i.pointerCanvasPos[0],A=i.pointerCanvasPos[1];if(y[t.input.KEY_SHIFT]||r.planView||!r.panRightClick&&o||r.panRightClick&&l){var h=p-c,I=A-f,m=t.camera;if("perspective"===m.projection){var w=Math.abs(d?$.lenVec3($.subVec3(v,t.camera.eye,[])):t.camera.eyeLookDist)*Math.tan(m.perspective.fov/2*Math.PI/180);a.panDeltaX+=1.5*h*w/u,a.panDeltaY+=1.5*I*w/u}else a.panDeltaX+=.5*m.ortho.scale*(h/u),a.panDeltaY+=.5*m.ortho.scale*(I/u)}else!s||o||l||r.planView||(r.firstPerson?(a.rotateDeltaY-=(p-c)/n*r.dragRotationRate/2,a.rotateDeltaX+=(A-f)/u*(r.dragRotationRate/4)):(a.rotateDeltaY-=(p-c)/n*(1.5*r.dragRotationRate),a.rotateDeltaX+=(A-f)/u*(1.5*r.dragRotationRate)));c=p,f=A}}),I.addEventListener("mousemove",this._canvasMouseMoveHandler=function(e){r.active&&r.pointerEnabled&&i.mouseover&&(h=!0)}),document.addEventListener("mouseup",this._documentMouseUpHandler=function(e){if(r.active&&r.pointerEnabled)switch(e.which){case 1:case 2:case 3:s=!1,o=!1,l=!1}}),I.addEventListener("mouseup",this._mouseUpHandler=function(e){if(r.active&&r.pointerEnabled){if(3===e.which){!function(e,t){if(e){for(var n=e.target,r=0,i=0,a=0,s=0;n.offsetParent;)r+=n.offsetLeft,i+=n.offsetTop,a+=n.scrollLeft,s+=n.scrollTop,n=n.offsetParent;t[0]=e.pageX+a-r,t[1]=e.pageY+s-i}else e=window.event,t[0]=e.x,t[1]=e.y}(e,Ap);var t=Ap[0],i=Ap[1];Math.abs(t-p)<3&&Math.abs(i-A)<3&&n.cameraControl.fire("rightClick",{pagePos:[Math.round(e.pageX),Math.round(e.pageY)],canvasPos:Ap,event:e},!0)}I.style.removeProperty("cursor")}}),I.addEventListener("mouseenter",this._mouseEnterHandler=function(){r.active&&r.pointerEnabled});var E=1/60,T=null;I.addEventListener("wheel",this._mouseWheelHandler=function(e){if(r.active&&r.pointerEnabled){var t=performance.now()/1e3,n=null!==T?t-T:0;T=t,n>.05&&(n=.05),n0?n.cameraFlight.flyTo(wp,(function(){n.pivotController.getPivoting()&&r.followPointer&&n.pivotController.showPivot()})):(n.cameraFlight.jumpTo(wp),n.pivotController.getPivoting()&&r.followPointer&&n.pivotController.showPivot())}}}))}return P(e,[{key:"reset",value:function(){}},{key:"destroy",value:function(){this._scene.input.off(this._onSceneKeyDown)}}]),e}(),Ep=function(){function e(t,n,r,i,a){var s=this;b(this,e),this._scene=t;var o=n.pickController,l=n.pivotController,u=n.cameraControl;this._clicks=0,this._timeout=null,this._lastPickedEntityId=null;var c=!1,f=!1,p=this._scene.canvas.canvas,A=function(e){var r;e&&e.worldPos&&(r=e.worldPos);var i=e&&e.entity?e.entity.aabb:t.aabb;if(r){var a=t.camera;$.subVec3(a.eye,a.look,[]),n.cameraFlight.flyTo({aabb:i})}else n.cameraFlight.flyTo({aabb:i})},d=t.tickify(this._canvasMouseMoveHandler=function(e){if(r.active&&r.pointerEnabled&&!c&&!f){var n=u.hasSubs("hover"),a=u.hasSubs("hoverEnter"),l=u.hasSubs("hoverOut"),p=u.hasSubs("hoverOff"),A=u.hasSubs("hoverSurface"),d=u.hasSubs("hoverSnapOrSurface");if(n||a||l||p||A||d)if(o.pickCursorPos=i.pointerCanvasPos,o.schedulePickEntity=!0,o.schedulePickSurface=A,o.scheduleSnapOrPick=d,o.update(),o.pickResult){if(o.pickResult.entity){var v=o.pickResult.entity.id;s._lastPickedEntityId!==v&&(void 0!==s._lastPickedEntityId&&u.fire("hoverOut",{entity:t.objects[s._lastPickedEntityId]},!0),u.fire("hoverEnter",o.pickResult,!0),s._lastPickedEntityId=v)}u.fire("hover",o.pickResult,!0),(o.pickResult.worldPos||o.pickResult.snappedWorldPos)&&u.fire("hoverSurface",o.pickResult,!0)}else void 0!==s._lastPickedEntityId&&(u.fire("hoverOut",{entity:t.objects[s._lastPickedEntityId]},!0),s._lastPickedEntityId=void 0),u.fire("hoverOff",{canvasPos:o.pickCursorPos},!0)}});p.addEventListener("mousemove",d),p.addEventListener("mousedown",this._canvasMouseDownHandler=function(e){if(1===e.which&&(c=!0),3===e.which&&(f=!0),1===e.which&&r.active&&r.pointerEnabled&&(i.mouseDownClientX=e.clientX,i.mouseDownClientY=e.clientY,i.mouseDownCursorX=i.pointerCanvasPos[0],i.mouseDownCursorY=i.pointerCanvasPos[1],!r.firstPerson&&r.followPointer&&(o.pickCursorPos=i.pointerCanvasPos,o.schedulePickSurface=!0,o.update(),1===e.which))){var n=o.pickResult;n&&n.worldPos?(l.setPivotPos(n.worldPos),l.startPivot()):(r.smartPivot?l.setCanvasPivotPos(i.pointerCanvasPos):l.setPivotPos(t.camera.look),l.startPivot())}}),document.addEventListener("mouseup",this._documentMouseUpHandler=function(e){1===e.which&&(c=!1),3===e.which&&(f=!1),l.getPivoting()&&l.endPivot()}),p.addEventListener("mouseup",this._canvasMouseUpHandler=function(e){if(r.active&&r.pointerEnabled&&(1===e.which&&(l.hidePivot(),!(Math.abs(e.clientX-i.mouseDownClientX)>3||Math.abs(e.clientY-i.mouseDownClientY)>3)))){var a=u.hasSubs("picked"),c=u.hasSubs("pickedNothing"),f=u.hasSubs("pickedSurface"),p=u.hasSubs("doublePicked"),d=u.hasSubs("doublePickedSurface"),v=u.hasSubs("doublePickedNothing");if(!(r.doublePickFlyTo||p||d||v))return(a||c||f)&&(o.pickCursorPos=i.pointerCanvasPos,o.schedulePickEntity=!0,o.schedulePickSurface=f,o.update(),o.pickResult?(u.fire("picked",o.pickResult,!0),o.pickedSurface&&u.fire("pickedSurface",o.pickResult,!0)):u.fire("pickedNothing",{canvasPos:i.pointerCanvasPos},!0)),void(s._clicks=0);if(s._clicks++,1===s._clicks){o.pickCursorPos=i.pointerCanvasPos,o.schedulePickEntity=r.doublePickFlyTo,o.schedulePickSurface=f,o.update();var h=o.pickResult,I=o.pickedSurface;s._timeout=setTimeout((function(){h?(u.fire("picked",h,!0),I&&(u.fire("pickedSurface",h,!0),!r.firstPerson&&r.followPointer&&(n.pivotController.setPivotPos(h.worldPos),n.pivotController.startPivot()&&n.pivotController.showPivot()))):u.fire("pickedNothing",{canvasPos:i.pointerCanvasPos},!0),s._clicks=0}),r.doubleClickTimeFrame)}else{if(null!==s._timeout&&(window.clearTimeout(s._timeout),s._timeout=null),o.pickCursorPos=i.pointerCanvasPos,o.schedulePickEntity=r.doublePickFlyTo||p||d,o.schedulePickSurface=o.schedulePickEntity&&d,o.update(),o.pickResult){if(u.fire("doublePicked",o.pickResult,!0),o.pickedSurface&&u.fire("doublePickedSurface",o.pickResult,!0),r.doublePickFlyTo&&(A(o.pickResult),!r.firstPerson&&r.followPointer)){var y=o.pickResult.entity.aabb,m=$.getAABB3Center(y);n.pivotController.setPivotPos(m),n.pivotController.startPivot()&&n.pivotController.showPivot()}}else if(u.fire("doublePickedNothing",{canvasPos:i.pointerCanvasPos},!0),r.doublePickFlyTo&&(A(),!r.firstPerson&&r.followPointer)){var w=t.aabb,g=$.getAABB3Center(w);n.pivotController.setPivotPos(g),n.pivotController.startPivot()&&n.pivotController.showPivot()}s._clicks=0}}},!1)}return P(e,[{key:"reset",value:function(){this._clicks=0,this._lastPickedEntityId=null,this._timeout&&(window.clearTimeout(this._timeout),this._timeout=null)}},{key:"destroy",value:function(){var e=this._scene.canvas.canvas;e.removeEventListener("mousemove",this._canvasMouseMoveHandler),e.removeEventListener("mousedown",this._canvasMouseDownHandler),document.removeEventListener("mouseup",this._documentMouseUpHandler),e.removeEventListener("mouseup",this._canvasMouseUpHandler),this._timeout&&(window.clearTimeout(this._timeout),this._timeout=null)}}]),e}(),Tp=function(){function e(t,n,r,i,a){b(this,e),this._scene=t;var s=t.input,o=[],l=t.canvas.canvas,u=!0;this._onSceneMouseMove=s.on("mousemove",(function(){u=!0})),this._onSceneKeyDown=s.on("keydown",(function(e){r.active&&r.pointerEnabled&&t.input.keyboardEnabled&&i.mouseover&&(o[e]=!0,e===s.KEY_SHIFT&&(l.style.cursor="move"))})),this._onSceneKeyUp=s.on("keyup",(function(e){r.active&&r.pointerEnabled&&t.input.keyboardEnabled&&(o[e]=!1,e===s.KEY_SHIFT&&(l.style.cursor=null),n.pivotController.getPivoting()&&n.pivotController.endPivot())})),this._onTick=t.on("tick",(function(e){if(r.active&&r.pointerEnabled&&t.input.keyboardEnabled&&i.mouseover){var l=n.cameraControl,c=e.deltaTime/1e3;if(!r.planView){var f=l._isKeyDownForAction(l.ROTATE_Y_POS,o),p=l._isKeyDownForAction(l.ROTATE_Y_NEG,o),A=l._isKeyDownForAction(l.ROTATE_X_POS,o),d=l._isKeyDownForAction(l.ROTATE_X_NEG,o),v=c*r.keyboardRotationRate;(f||p||A||d)&&(!r.firstPerson&&r.followPointer&&n.pivotController.startPivot(),f?a.rotateDeltaY+=v:p&&(a.rotateDeltaY-=v),A?a.rotateDeltaX+=v:d&&(a.rotateDeltaX-=v),!r.firstPerson&&r.followPointer&&n.pivotController.startPivot())}if(!o[s.KEY_CTRL]&&!o[s.KEY_ALT]){var h=l._isKeyDownForAction(l.DOLLY_BACKWARDS,o),I=l._isKeyDownForAction(l.DOLLY_FORWARDS,o);if(h||I){var y=c*r.keyboardDollyRate;!r.firstPerson&&r.followPointer&&n.pivotController.startPivot(),I?a.dollyDelta-=y:h&&(a.dollyDelta+=y),u&&(i.followPointerDirty=!0,u=!1)}}var m=l._isKeyDownForAction(l.PAN_FORWARDS,o),w=l._isKeyDownForAction(l.PAN_BACKWARDS,o),g=l._isKeyDownForAction(l.PAN_LEFT,o),E=l._isKeyDownForAction(l.PAN_RIGHT,o),T=l._isKeyDownForAction(l.PAN_UP,o),b=l._isKeyDownForAction(l.PAN_DOWN,o),D=(o[s.KEY_ALT]?.3:1)*c*r.keyboardPanRate;(m||w||g||E||T||b)&&(!r.firstPerson&&r.followPointer&&n.pivotController.startPivot(),b?a.panDeltaY+=D:T&&(a.panDeltaY+=-D),E?a.panDeltaX+=-D:g&&(a.panDeltaX+=D),w?a.panDeltaZ+=D:m&&(a.panDeltaZ+=-D))}}))}return P(e,[{key:"reset",value:function(){}},{key:"destroy",value:function(){this._scene.off(this._onTick),this._scene.input.off(this._onSceneMouseMove),this._scene.input.off(this._onSceneKeyDown),this._scene.input.off(this._onSceneKeyUp)}}]),e}(),bp=$.vec3(),Dp=function(){function e(t,n,r,i,a){b(this,e),this._scene=t;var s=t.camera,o=n.pickController,l=n.pivotController,u=n.panController,c=1,f=1,p=null;this._onTick=t.on("tick",(function(){if(r.active&&r.pointerEnabled){var e="default";if(Math.abs(a.dollyDelta)<.001&&(a.dollyDelta=0),Math.abs(a.rotateDeltaX)<.001&&(a.rotateDeltaX=0),Math.abs(a.rotateDeltaY)<.001&&(a.rotateDeltaY=0),0===a.rotateDeltaX&&0===a.rotateDeltaY||(a.dollyDelta=0),r.followPointer&&--c<=0&&(c=1,0!==a.dollyDelta)){if(0===a.rotateDeltaY&&0===a.rotateDeltaX&&r.followPointer&&i.followPointerDirty&&(o.pickCursorPos=i.pointerCanvasPos,o.schedulePickSurface=!0,o.update(),o.pickResult&&o.pickResult.worldPos?p=o.pickResult.worldPos:(f=1,p=null),i.followPointerDirty=!1),p){var n=Math.abs($.lenVec3($.subVec3(p,t.camera.eye,bp)));f=n/r.dollyProximityThreshold}fr.longTapRadius||Math.abs(I)>r.longTapRadius)&&(clearTimeout(i.longTouchTimeout),i.longTouchTimeout=null),r.planView){var y=t.camera;if("perspective"===y.projection){var m=Math.abs(t.camera.eyeLookDist)*Math.tan(y.perspective.fov/2*Math.PI/180);a.panDeltaX+=h*m/l*r.touchPanRate,a.panDeltaY+=I*m/l*r.touchPanRate}else a.panDeltaX+=.5*y.ortho.scale*(h/l)*r.touchPanRate,a.panDeltaY+=.5*y.ortho.scale*(I/l)*r.touchPanRate}else a.rotateDeltaY-=h/o*(1*r.dragRotationRate),a.rotateDeltaX+=I/l*(1.5*r.dragRotationRate)}else if(2===d){var w=A[0],g=A[1];Cp(w,u),Cp(g,c);var E=$.geometricMeanVec2(p[0],p[1]),T=$.geometricMeanVec2(u,c),b=$.vec2();$.subVec2(E,T,b);var D=b[0],P=b[1],R=t.camera,C=$.distVec2([w.pageX,w.pageY],[g.pageX,g.pageY]),_=($.distVec2(p[0],p[1])-C)*r.touchDollyRate;if(a.dollyDelta=_,Math.abs(_)<1)if("perspective"===R.projection){var B=s.pickResult?s.pickResult.worldPos:t.center,O=Math.abs($.lenVec3($.subVec3(B,t.camera.eye,[])))*Math.tan(R.perspective.fov/2*Math.PI/180);a.panDeltaX-=D*O/l*r.touchPanRate,a.panDeltaY-=P*O/l*r.touchPanRate}else a.panDeltaX-=.5*R.ortho.scale*(D/l)*r.touchPanRate,a.panDeltaY-=.5*R.ortho.scale*(P/l)*r.touchPanRate;i.pointerCanvasPos=T}for(var S=0;S-1&&t-f<150&&(p>-1&&f-p<325?(Bp(a[0],o.pickCursorPos),o.schedulePickEntity=!0,o.schedulePickSurface=s,o.update(),o.pickResult?(o.pickResult.touchInput=!0,l.fire("doublePicked",o.pickResult),o.pickedSurface&&l.fire("doublePickedSurface",o.pickResult),r.doublePickFlyTo&&d(o.pickResult)):(l.fire("doublePickedNothing"),r.doublePickFlyTo&&d()),p=-1):$.distVec2(u[0],c)<4&&(Bp(a[0],o.pickCursorPos),o.schedulePickEntity=!0,o.schedulePickSurface=s,o.update(),o.pickResult?(o.pickResult.touchInput=!0,l.fire("picked",o.pickResult),o.pickedSurface&&l.fire("pickedSurface",o.pickResult)):l.fire("pickedNothing"),p=t),f=-1),u.length=n.length;for(var A=0,v=n.length;A1&&void 0!==arguments[1]?arguments[1]:{};b(this,n),(r=t.call(this,e,i)).PAN_LEFT=0,r.PAN_RIGHT=1,r.PAN_UP=2,r.PAN_DOWN=3,r.PAN_FORWARDS=4,r.PAN_BACKWARDS=5,r.ROTATE_X_POS=6,r.ROTATE_X_NEG=7,r.ROTATE_Y_POS=8,r.ROTATE_Y_NEG=9,r.DOLLY_FORWARDS=10,r.DOLLY_BACKWARDS=11,r.AXIS_VIEW_RIGHT=12,r.AXIS_VIEW_BACK=13,r.AXIS_VIEW_LEFT=14,r.AXIS_VIEW_FRONT=15,r.AXIS_VIEW_TOP=16,r.AXIS_VIEW_BOTTOM=17,r._keyMap={},r.scene.canvas.canvas.oncontextmenu=function(e){e.preventDefault()},r._configs={longTapTimeout:600,longTapRadius:5,active:!0,keyboardLayout:"qwerty",navMode:"orbit",planView:!1,firstPerson:!1,followPointer:!0,doublePickFlyTo:!0,panRightClick:!0,showPivot:!1,pointerEnabled:!0,constrainVertical:!1,smartPivot:!1,doubleClickTimeFrame:250,snapToVertex:true,snapToEdge:true,snapRadius:30,dragRotationRate:360,keyboardRotationRate:90,rotationInertia:0,keyboardPanRate:1,touchPanRate:1,panInertia:.5,keyboardDollyRate:10,mouseWheelDollyRate:100,touchDollyRate:.2,dollyInertia:0,dollyProximityThreshold:30,dollyMinSpeed:.04},r._states={pointerCanvasPos:$.vec2(),mouseover:!1,followPointerDirty:!0,mouseDownClientX:0,mouseDownClientY:0,mouseDownCursorX:0,mouseDownCursorY:0,touchStartTime:null,activeTouches:[],tapStartPos:$.vec2(),tapStartTime:-1,lastTapTime:-1,longTouchTimeout:null},r._updates={rotateDeltaX:0,rotateDeltaY:0,panDeltaX:0,panDeltaY:0,panDeltaZ:0,dollyDelta:0};var a=r.scene;return r._controllers={cameraControl:g(r),pickController:new pp(g(r),r._configs),pivotController:new fp(a,r._configs),panController:new ip(a),cameraFlight:new ws(g(r),{duration:.5})},r._handlers=[new Pp(r.scene,r._controllers,r._configs,r._states,r._updates),new _p(r.scene,r._controllers,r._configs,r._states,r._updates),new dp(r.scene,r._controllers,r._configs,r._states,r._updates),new gp(r.scene,r._controllers,r._configs,r._states,r._updates),new Ep(r.scene,r._controllers,r._configs,r._states,r._updates),new Op(r.scene,r._controllers,r._configs,r._states,r._updates),new Tp(r.scene,r._controllers,r._configs,r._states,r._updates)],r._cameraUpdater=new Dp(r.scene,r._controllers,r._configs,r._states,r._updates),r.navMode=i.navMode,i.planView&&(r.planView=i.planView),r.constrainVertical=i.constrainVertical,i.keyboardLayout?r.keyboardLayout=i.keyboardLayout:r.keyMap=i.keyMap,r.doublePickFlyTo=i.doublePickFlyTo,r.panRightClick=i.panRightClick,r.active=i.active,r.followPointer=i.followPointer,r.rotationInertia=i.rotationInertia,r.keyboardPanRate=i.keyboardPanRate,r.touchPanRate=i.touchPanRate,r.keyboardRotationRate=i.keyboardRotationRate,r.dragRotationRate=i.dragRotationRate,r.touchDollyRate=i.touchDollyRate,r.dollyInertia=i.dollyInertia,r.dollyProximityThreshold=i.dollyProximityThreshold,r.dollyMinSpeed=i.dollyMinSpeed,r.panInertia=i.panInertia,r.pointerEnabled=!0,r.keyboardDollyRate=i.keyboardDollyRate,r.mouseWheelDollyRate=i.mouseWheelDollyRate,r}return P(n,[{key:"keyMap",get:function(){return this._keyMap},set:function(e){if(e=e||"qwerty",le.isString(e)){var t=this.scene.input,n={};switch(e){default:this.error("Unsupported value for 'keyMap': "+e+" defaulting to 'qwerty'");case"qwerty":n[this.PAN_LEFT]=[t.KEY_A],n[this.PAN_RIGHT]=[t.KEY_D],n[this.PAN_UP]=[t.KEY_Z],n[this.PAN_DOWN]=[t.KEY_X],n[this.PAN_BACKWARDS]=[],n[this.PAN_FORWARDS]=[],n[this.DOLLY_FORWARDS]=[t.KEY_W,t.KEY_ADD],n[this.DOLLY_BACKWARDS]=[t.KEY_S,t.KEY_SUBTRACT],n[this.ROTATE_X_POS]=[t.KEY_DOWN_ARROW],n[this.ROTATE_X_NEG]=[t.KEY_UP_ARROW],n[this.ROTATE_Y_POS]=[t.KEY_Q,t.KEY_LEFT_ARROW],n[this.ROTATE_Y_NEG]=[t.KEY_E,t.KEY_RIGHT_ARROW],n[this.AXIS_VIEW_RIGHT]=[t.KEY_NUM_1],n[this.AXIS_VIEW_BACK]=[t.KEY_NUM_2],n[this.AXIS_VIEW_LEFT]=[t.KEY_NUM_3],n[this.AXIS_VIEW_FRONT]=[t.KEY_NUM_4],n[this.AXIS_VIEW_TOP]=[t.KEY_NUM_5],n[this.AXIS_VIEW_BOTTOM]=[t.KEY_NUM_6];break;case"azerty":n[this.PAN_LEFT]=[t.KEY_Q],n[this.PAN_RIGHT]=[t.KEY_D],n[this.PAN_UP]=[t.KEY_W],n[this.PAN_DOWN]=[t.KEY_X],n[this.PAN_BACKWARDS]=[],n[this.PAN_FORWARDS]=[],n[this.DOLLY_FORWARDS]=[t.KEY_Z,t.KEY_ADD],n[this.DOLLY_BACKWARDS]=[t.KEY_S,t.KEY_SUBTRACT],n[this.ROTATE_X_POS]=[t.KEY_DOWN_ARROW],n[this.ROTATE_X_NEG]=[t.KEY_UP_ARROW],n[this.ROTATE_Y_POS]=[t.KEY_A,t.KEY_LEFT_ARROW],n[this.ROTATE_Y_NEG]=[t.KEY_E,t.KEY_RIGHT_ARROW],n[this.AXIS_VIEW_RIGHT]=[t.KEY_NUM_1],n[this.AXIS_VIEW_BACK]=[t.KEY_NUM_2],n[this.AXIS_VIEW_LEFT]=[t.KEY_NUM_3],n[this.AXIS_VIEW_FRONT]=[t.KEY_NUM_4],n[this.AXIS_VIEW_TOP]=[t.KEY_NUM_5],n[this.AXIS_VIEW_BOTTOM]=[t.KEY_NUM_6]}this._keyMap=n}else{var r=e;this._keyMap=r}}},{key:"_isKeyDownForAction",value:function(e,t){var n=this._keyMap[e];if(!n)return!1;t||(t=this.scene.input.keyDown);for(var r=0,i=n.length;r0&&void 0!==arguments[0]?arguments[0]:{};this._controllers.pivotController.enablePivotSphere(e)}},{key:"disablePivotSphere",value:function(){this._controllers.pivotController.disablePivotSphere()}},{key:"smartPivot",get:function(){return this._configs.smartPivot},set:function(e){this._configs.smartPivot=!1!==e}},{key:"doubleClickTimeFrame",get:function(){return this._configs.doubleClickTimeFrame},set:function(e){this._configs.doubleClickTimeFrame=null!=e?e:250}},{key:"destroy",value:function(){this._destroyHandlers(),this._destroyControllers(),this._cameraUpdater.destroy(),v(E(n.prototype),"destroy",this).call(this)}},{key:"_destroyHandlers",value:function(){for(var e=0,t=this._handlers.length;e1&&void 0!==arguments[1]?arguments[1]:{};if(this.finalized)throw"MetaScene already finalized - can't add more data";this._globalizeIDs(e,t);var n=this.metaScene,r=e.properties;if(e.propertySets)for(var i=0,a=e.propertySets.length;i0?Hp(t):null,s=n&&n.length>0?Hp(n):null;return function e(t){if(t){var n=!0;(s&&s[t.type]||a&&!a[t.type])&&(n=!1),n&&r.push(t.id);var i=t.children;if(i)for(var o=0,l=i.length;o * Copyright (c) 2022 Niklas von Hertzen @@ -33,4 +33,4 @@ INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. -***************************************************************************** */var Up=function(e,t){return Up=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n])},Up(e,t)};function Gp(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");function n(){this.constructor=e}Up(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}var kp=function(){return kp=Object.assign||function(e){for(var t,n=1,r=arguments.length;n0&&i[i.length-1])||6!==a[0]&&2!==a[0])){s=0;continue}if(3===a[0]&&(!i||a[1]>i[0]&&a[1]=55296&&i<=56319&&n>10),s%1024+56320)),(i+1===n||r.length>16384)&&(a+=String.fromCharCode.apply(String,r),r.length=0)}return a},Xp="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",qp="undefined"==typeof Uint8Array?[]:new Uint8Array(256),Jp=0;Jp=0){if(e<55296||e>56319&&e<=65535)return t=((t=this.index[e>>5])<<2)+(31&e),this.data[t];if(e<=65535)return t=((t=this.index[2048+(e-55296>>5)])<<2)+(31&e),this.data[t];if(e>11),t=this.index[t],t+=e>>5&63,t=((t=this.index[t])<<2)+(31&e),this.data[t];if(e<=1114111)return this.data[this.highValueIndex]}return this.errorValue},e}(),rA="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",iA="undefined"==typeof Uint8Array?[]:new Uint8Array(256),aA=0;aA>4,c[l++]=(15&r)<<4|i>>2,c[l++]=(3&i)<<6|63&a;return u}(e),s=Array.isArray(a)?function(e){for(var t=e.length,n=[],r=0;r0;){var s=r[--a];if(Array.isArray(e)?-1!==e.indexOf(s):e===s)for(var o=n;o<=r.length;){var l;if((l=r[++o])===t)return!0;if(l!==sA)break}if(s!==sA)break}return!1},GA=function(e,t){for(var n=e;n>=0;){var r=t[n];if(r!==sA)return r;n--}return 0},kA=function(e,t,n,r,i){if(0===n[r])return"×";var a=r-1;if(Array.isArray(i)&&!0===i[a])return"×";var s=a-1,o=a+1,l=t[a],u=s>=0?t[s]:0,c=t[o];if(2===l&&3===c)return"×";if(-1!==NA.indexOf(l))return"!";if(-1!==NA.indexOf(c))return"×";if(-1!==LA.indexOf(c))return"×";if(8===GA(a,t))return"÷";if(11===OA.get(e[a]))return"×";if((l===gA||l===EA)&&11===OA.get(e[o]))return"×";if(7===l||7===c)return"×";if(9===l)return"×";if(-1===[sA,oA,lA].indexOf(l)&&9===c)return"×";if(-1!==[uA,cA,fA,vA,mA].indexOf(c))return"×";if(GA(a,t)===dA)return"×";if(UA(23,dA,a,t))return"×";if(UA([uA,cA],AA,a,t))return"×";if(UA(12,12,a,t))return"×";if(l===sA)return"÷";if(23===l||23===c)return"×";if(16===c||16===l)return"÷";if(-1!==[oA,lA,AA].indexOf(c)||14===l)return"×";if(36===u&&-1!==HA.indexOf(l))return"×";if(l===mA&&36===c)return"×";if(c===pA)return"×";if(-1!==SA.indexOf(c)&&l===hA||-1!==SA.indexOf(l)&&c===hA)return"×";if(l===yA&&-1!==[DA,gA,EA].indexOf(c)||-1!==[DA,gA,EA].indexOf(l)&&c===IA)return"×";if(-1!==SA.indexOf(l)&&-1!==MA.indexOf(c)||-1!==MA.indexOf(l)&&-1!==SA.indexOf(c))return"×";if(-1!==[yA,IA].indexOf(l)&&(c===hA||-1!==[dA,lA].indexOf(c)&&t[o+1]===hA)||-1!==[dA,lA].indexOf(l)&&c===hA||l===hA&&-1!==[hA,mA,vA].indexOf(c))return"×";if(-1!==[hA,mA,vA,uA,cA].indexOf(c))for(var f=a;f>=0;){if((p=t[f])===hA)return"×";if(-1===[mA,vA].indexOf(p))break;f--}if(-1!==[yA,IA].indexOf(c))for(f=-1!==[uA,cA].indexOf(l)?s:a;f>=0;){var p;if((p=t[f])===hA)return"×";if(-1===[mA,vA].indexOf(p))break;f--}if(PA===l&&-1!==[PA,RA,TA,bA].indexOf(c)||-1!==[RA,TA].indexOf(l)&&-1!==[RA,CA].indexOf(c)||-1!==[CA,bA].indexOf(l)&&c===CA)return"×";if(-1!==FA.indexOf(l)&&-1!==[pA,IA].indexOf(c)||-1!==FA.indexOf(c)&&l===yA)return"×";if(-1!==SA.indexOf(l)&&-1!==SA.indexOf(c))return"×";if(l===vA&&-1!==SA.indexOf(c))return"×";if(-1!==SA.concat(hA).indexOf(l)&&c===dA&&-1===BA.indexOf(e[o])||-1!==SA.concat(hA).indexOf(c)&&l===cA)return"×";if(41===l&&41===c){for(var A=n[a],d=1;A>0&&41===t[--A];)d++;if(d%2!=0)return"×"}return l===gA&&c===EA?"×":"÷"},jA=function(e,t){t||(t={lineBreak:"normal",wordBreak:"normal"});var n=function(e,t){void 0===t&&(t="strict");var n=[],r=[],i=[];return e.forEach((function(e,a){var s=OA.get(e);if(s>50?(i.push(!0),s-=50):i.push(!1),-1!==["normal","auto","loose"].indexOf(t)&&-1!==[8208,8211,12316,12448].indexOf(e))return r.push(a),n.push(16);if(4===s||11===s){if(0===a)return r.push(a),n.push(wA);var o=n[a-1];return-1===xA.indexOf(o)?(r.push(r[a-1]),n.push(o)):(r.push(a),n.push(wA))}return r.push(a),31===s?n.push("strict"===t?AA:DA):s===_A||29===s?n.push(wA):43===s?e>=131072&&e<=196605||e>=196608&&e<=262141?n.push(DA):n.push(wA):void n.push(s)})),[r,n,i]}(e,t.lineBreak),r=n[0],i=n[1],a=n[2];"break-all"!==t.wordBreak&&"break-word"!==t.wordBreak||(i=i.map((function(e){return-1!==[hA,wA,_A].indexOf(e)?DA:e})));var s="keep-all"===t.wordBreak?a.map((function(t,n){return t&&e[n]>=19968&&e[n]<=40959})):void 0;return[r,i,s]},VA=function(){function e(e,t,n,r){this.codePoints=e,this.required="!"===t,this.start=n,this.end=r}return e.prototype.slice=function(){return Yp.apply(void 0,this.codePoints.slice(this.start,this.end))},e}(),QA=function(e){return e>=48&&e<=57},WA=function(e){return QA(e)||e>=65&&e<=70||e>=97&&e<=102},zA=function(e){return 10===e||9===e||32===e},KA=function(e){return function(e){return function(e){return e>=97&&e<=122}(e)||function(e){return e>=65&&e<=90}(e)}(e)||function(e){return e>=128}(e)||95===e},YA=function(e){return KA(e)||QA(e)||45===e},XA=function(e){return e>=0&&e<=8||11===e||e>=14&&e<=31||127===e},qA=function(e,t){return 92===e&&10!==t},JA=function(e,t,n){return 45===e?KA(t)||qA(t,n):!!KA(e)||!(92!==e||!qA(e,t))},ZA=function(e,t,n){return 43===e||45===e?!!QA(t)||46===t&&QA(n):QA(46===e?t:e)},$A=function(e){var t=0,n=1;43!==e[t]&&45!==e[t]||(45===e[t]&&(n=-1),t++);for(var r=[];QA(e[t]);)r.push(e[t++]);var i=r.length?parseInt(Yp.apply(void 0,r),10):0;46===e[t]&&t++;for(var a=[];QA(e[t]);)a.push(e[t++]);var s=a.length,o=s?parseInt(Yp.apply(void 0,a),10):0;69!==e[t]&&101!==e[t]||t++;var l=1;43!==e[t]&&45!==e[t]||(45===e[t]&&(l=-1),t++);for(var u=[];QA(e[t]);)u.push(e[t++]);var c=u.length?parseInt(Yp.apply(void 0,u),10):0;return n*(i+o*Math.pow(10,-s))*Math.pow(10,l*c)},ed={type:2},td={type:3},nd={type:4},rd={type:13},id={type:8},ad={type:21},sd={type:9},od={type:10},ld={type:11},ud={type:12},cd={type:14},fd={type:23},pd={type:1},Ad={type:25},dd={type:24},vd={type:26},hd={type:27},Id={type:28},yd={type:29},md={type:31},wd={type:32},gd=function(){function e(){this._value=[]}return e.prototype.write=function(e){this._value=this._value.concat(Kp(e))},e.prototype.read=function(){for(var e=[],t=this.consumeToken();t!==wd;)e.push(t),t=this.consumeToken();return e},e.prototype.consumeToken=function(){var e=this.consumeCodePoint();switch(e){case 34:return this.consumeStringToken(34);case 35:var t=this.peekCodePoint(0),n=this.peekCodePoint(1),r=this.peekCodePoint(2);if(YA(t)||qA(n,r)){var i=JA(t,n,r)?2:1;return{type:5,value:this.consumeName(),flags:i}}break;case 36:if(61===this.peekCodePoint(0))return this.consumeCodePoint(),rd;break;case 39:return this.consumeStringToken(39);case 40:return ed;case 41:return td;case 42:if(61===this.peekCodePoint(0))return this.consumeCodePoint(),cd;break;case 43:if(ZA(e,this.peekCodePoint(0),this.peekCodePoint(1)))return this.reconsumeCodePoint(e),this.consumeNumericToken();break;case 44:return nd;case 45:var a=e,s=this.peekCodePoint(0),o=this.peekCodePoint(1);if(ZA(a,s,o))return this.reconsumeCodePoint(e),this.consumeNumericToken();if(JA(a,s,o))return this.reconsumeCodePoint(e),this.consumeIdentLikeToken();if(45===s&&62===o)return this.consumeCodePoint(),this.consumeCodePoint(),dd;break;case 46:if(ZA(e,this.peekCodePoint(0),this.peekCodePoint(1)))return this.reconsumeCodePoint(e),this.consumeNumericToken();break;case 47:if(42===this.peekCodePoint(0))for(this.consumeCodePoint();;){var l=this.consumeCodePoint();if(42===l&&47===(l=this.consumeCodePoint()))return this.consumeToken();if(-1===l)return this.consumeToken()}break;case 58:return vd;case 59:return hd;case 60:if(33===this.peekCodePoint(0)&&45===this.peekCodePoint(1)&&45===this.peekCodePoint(2))return this.consumeCodePoint(),this.consumeCodePoint(),Ad;break;case 64:var u=this.peekCodePoint(0),c=this.peekCodePoint(1),f=this.peekCodePoint(2);if(JA(u,c,f))return{type:7,value:this.consumeName()};break;case 91:return Id;case 92:if(qA(e,this.peekCodePoint(0)))return this.reconsumeCodePoint(e),this.consumeIdentLikeToken();break;case 93:return yd;case 61:if(61===this.peekCodePoint(0))return this.consumeCodePoint(),id;break;case 123:return ld;case 125:return ud;case 117:case 85:var p=this.peekCodePoint(0),A=this.peekCodePoint(1);return 43!==p||!WA(A)&&63!==A||(this.consumeCodePoint(),this.consumeUnicodeRangeToken()),this.reconsumeCodePoint(e),this.consumeIdentLikeToken();case 124:if(61===this.peekCodePoint(0))return this.consumeCodePoint(),sd;if(124===this.peekCodePoint(0))return this.consumeCodePoint(),ad;break;case 126:if(61===this.peekCodePoint(0))return this.consumeCodePoint(),od;break;case-1:return wd}return zA(e)?(this.consumeWhiteSpace(),md):QA(e)?(this.reconsumeCodePoint(e),this.consumeNumericToken()):KA(e)?(this.reconsumeCodePoint(e),this.consumeIdentLikeToken()):{type:6,value:Yp(e)}},e.prototype.consumeCodePoint=function(){var e=this._value.shift();return void 0===e?-1:e},e.prototype.reconsumeCodePoint=function(e){this._value.unshift(e)},e.prototype.peekCodePoint=function(e){return e>=this._value.length?-1:this._value[e]},e.prototype.consumeUnicodeRangeToken=function(){for(var e=[],t=this.consumeCodePoint();WA(t)&&e.length<6;)e.push(t),t=this.consumeCodePoint();for(var n=!1;63===t&&e.length<6;)e.push(t),t=this.consumeCodePoint(),n=!0;if(n)return{type:30,start:parseInt(Yp.apply(void 0,e.map((function(e){return 63===e?48:e}))),16),end:parseInt(Yp.apply(void 0,e.map((function(e){return 63===e?70:e}))),16)};var r=parseInt(Yp.apply(void 0,e),16);if(45===this.peekCodePoint(0)&&WA(this.peekCodePoint(1))){this.consumeCodePoint(),t=this.consumeCodePoint();for(var i=[];WA(t)&&i.length<6;)i.push(t),t=this.consumeCodePoint();return{type:30,start:r,end:parseInt(Yp.apply(void 0,i),16)}}return{type:30,start:r,end:r}},e.prototype.consumeIdentLikeToken=function(){var e=this.consumeName();return"url"===e.toLowerCase()&&40===this.peekCodePoint(0)?(this.consumeCodePoint(),this.consumeUrlToken()):40===this.peekCodePoint(0)?(this.consumeCodePoint(),{type:19,value:e}):{type:20,value:e}},e.prototype.consumeUrlToken=function(){var e=[];if(this.consumeWhiteSpace(),-1===this.peekCodePoint(0))return{type:22,value:""};var t=this.peekCodePoint(0);if(39===t||34===t){var n=this.consumeStringToken(this.consumeCodePoint());return 0===n.type&&(this.consumeWhiteSpace(),-1===this.peekCodePoint(0)||41===this.peekCodePoint(0))?(this.consumeCodePoint(),{type:22,value:n.value}):(this.consumeBadUrlRemnants(),fd)}for(;;){var r=this.consumeCodePoint();if(-1===r||41===r)return{type:22,value:Yp.apply(void 0,e)};if(zA(r))return this.consumeWhiteSpace(),-1===this.peekCodePoint(0)||41===this.peekCodePoint(0)?(this.consumeCodePoint(),{type:22,value:Yp.apply(void 0,e)}):(this.consumeBadUrlRemnants(),fd);if(34===r||39===r||40===r||XA(r))return this.consumeBadUrlRemnants(),fd;if(92===r){if(!qA(r,this.peekCodePoint(0)))return this.consumeBadUrlRemnants(),fd;e.push(this.consumeEscapedCodePoint())}else e.push(r)}},e.prototype.consumeWhiteSpace=function(){for(;zA(this.peekCodePoint(0));)this.consumeCodePoint()},e.prototype.consumeBadUrlRemnants=function(){for(;;){var e=this.consumeCodePoint();if(41===e||-1===e)return;qA(e,this.peekCodePoint(0))&&this.consumeEscapedCodePoint()}},e.prototype.consumeStringSlice=function(e){for(var t="";e>0;){var n=Math.min(5e4,e);t+=Yp.apply(void 0,this._value.splice(0,n)),e-=n}return this._value.shift(),t},e.prototype.consumeStringToken=function(e){for(var t="",n=0;;){var r=this._value[n];if(-1===r||void 0===r||r===e)return{type:0,value:t+=this.consumeStringSlice(n)};if(10===r)return this._value.splice(0,n),pd;if(92===r){var i=this._value[n+1];-1!==i&&void 0!==i&&(10===i?(t+=this.consumeStringSlice(n),n=-1,this._value.shift()):qA(r,i)&&(t+=this.consumeStringSlice(n),t+=Yp(this.consumeEscapedCodePoint()),n=-1))}n++}},e.prototype.consumeNumber=function(){var e=[],t=4,n=this.peekCodePoint(0);for(43!==n&&45!==n||e.push(this.consumeCodePoint());QA(this.peekCodePoint(0));)e.push(this.consumeCodePoint());n=this.peekCodePoint(0);var r=this.peekCodePoint(1);if(46===n&&QA(r))for(e.push(this.consumeCodePoint(),this.consumeCodePoint()),t=8;QA(this.peekCodePoint(0));)e.push(this.consumeCodePoint());n=this.peekCodePoint(0),r=this.peekCodePoint(1);var i=this.peekCodePoint(2);if((69===n||101===n)&&((43===r||45===r)&&QA(i)||QA(r)))for(e.push(this.consumeCodePoint(),this.consumeCodePoint()),t=8;QA(this.peekCodePoint(0));)e.push(this.consumeCodePoint());return[$A(e),t]},e.prototype.consumeNumericToken=function(){var e=this.consumeNumber(),t=e[0],n=e[1],r=this.peekCodePoint(0),i=this.peekCodePoint(1),a=this.peekCodePoint(2);return JA(r,i,a)?{type:15,number:t,flags:n,unit:this.consumeName()}:37===r?(this.consumeCodePoint(),{type:16,number:t,flags:n}):{type:17,number:t,flags:n}},e.prototype.consumeEscapedCodePoint=function(){var e=this.consumeCodePoint();if(WA(e)){for(var t=Yp(e);WA(this.peekCodePoint(0))&&t.length<6;)t+=Yp(this.consumeCodePoint());zA(this.peekCodePoint(0))&&this.consumeCodePoint();var n=parseInt(t,16);return 0===n||function(e){return e>=55296&&e<=57343}(n)||n>1114111?65533:n}return-1===e?65533:e},e.prototype.consumeName=function(){for(var e="";;){var t=this.consumeCodePoint();if(YA(t))e+=Yp(t);else{if(!qA(t,this.peekCodePoint(0)))return this.reconsumeCodePoint(t),e;e+=Yp(this.consumeEscapedCodePoint())}}},e}(),Ed=function(){function e(e){this._tokens=e}return e.create=function(t){var n=new gd;return n.write(t),new e(n.read())},e.parseValue=function(t){return e.create(t).parseComponentValue()},e.parseValues=function(t){return e.create(t).parseComponentValues()},e.prototype.parseComponentValue=function(){for(var e=this.consumeToken();31===e.type;)e=this.consumeToken();if(32===e.type)throw new SyntaxError("Error parsing CSS component value, unexpected EOF");this.reconsumeToken(e);var t=this.consumeComponentValue();do{e=this.consumeToken()}while(31===e.type);if(32===e.type)return t;throw new SyntaxError("Error parsing CSS component value, multiple values found when expecting only one")},e.prototype.parseComponentValues=function(){for(var e=[];;){var t=this.consumeComponentValue();if(32===t.type)return e;e.push(t),e.push()}},e.prototype.consumeComponentValue=function(){var e=this.consumeToken();switch(e.type){case 11:case 28:case 2:return this.consumeSimpleBlock(e.type);case 19:return this.consumeFunction(e)}return e},e.prototype.consumeSimpleBlock=function(e){for(var t={type:e,values:[]},n=this.consumeToken();;){if(32===n.type||Od(n,e))return t;this.reconsumeToken(n),t.values.push(this.consumeComponentValue()),n=this.consumeToken()}},e.prototype.consumeFunction=function(e){for(var t={name:e.value,values:[],type:18};;){var n=this.consumeToken();if(32===n.type||3===n.type)return t;this.reconsumeToken(n),t.values.push(this.consumeComponentValue())}},e.prototype.consumeToken=function(){var e=this._tokens.shift();return void 0===e?wd:e},e.prototype.reconsumeToken=function(e){this._tokens.unshift(e)},e}(),Td=function(e){return 15===e.type},bd=function(e){return 17===e.type},Dd=function(e){return 20===e.type},Pd=function(e){return 0===e.type},Rd=function(e,t){return Dd(e)&&e.value===t},Cd=function(e){return 31!==e.type},_d=function(e){return 31!==e.type&&4!==e.type},Bd=function(e){var t=[],n=[];return e.forEach((function(e){if(4===e.type){if(0===n.length)throw new Error("Error parsing function args, zero tokens for arg");return t.push(n),void(n=[])}31!==e.type&&n.push(e)})),n.length&&t.push(n),t},Od=function(e,t){return 11===t&&12===e.type||(28===t&&29===e.type||2===t&&3===e.type)},Sd=function(e){return 17===e.type||15===e.type},Nd=function(e){return 16===e.type||Sd(e)},Ld=function(e){return e.length>1?[e[0],e[1]]:[e[0]]},Md={type:17,number:0,flags:4},xd={type:16,number:50,flags:4},Fd={type:16,number:100,flags:4},Hd=function(e,t,n){var r=e[0],i=e[1];return[Ud(r,t),Ud(void 0!==i?i:r,n)]},Ud=function(e,t){if(16===e.type)return e.number/100*t;if(Td(e))switch(e.unit){case"rem":case"em":return 16*e.number;default:return e.number}return e.number},Gd=function(e,t){if(15===t.type)switch(t.unit){case"deg":return Math.PI*t.number/180;case"grad":return Math.PI/200*t.number;case"rad":return t.number;case"turn":return 2*Math.PI*t.number}throw new Error("Unsupported angle type")},kd=function(e){return 15===e.type&&("deg"===e.unit||"grad"===e.unit||"rad"===e.unit||"turn"===e.unit)},jd=function(e){switch(e.filter(Dd).map((function(e){return e.value})).join(" ")){case"to bottom right":case"to right bottom":case"left top":case"top left":return[Md,Md];case"to top":case"bottom":return Vd(0);case"to bottom left":case"to left bottom":case"right top":case"top right":return[Md,Fd];case"to right":case"left":return Vd(90);case"to top left":case"to left top":case"right bottom":case"bottom right":return[Fd,Fd];case"to bottom":case"top":return Vd(180);case"to top right":case"to right top":case"left bottom":case"bottom left":return[Fd,Md];case"to left":case"right":return Vd(270)}return 0},Vd=function(e){return Math.PI*e/180},Qd=function(e,t){if(18===t.type){var n=Zd[t.name];if(void 0===n)throw new Error('Attempting to parse an unsupported color function "'+t.name+'"');return n(e,t.values)}if(5===t.type){if(3===t.value.length){var r=t.value.substring(0,1),i=t.value.substring(1,2),a=t.value.substring(2,3);return Kd(parseInt(r+r,16),parseInt(i+i,16),parseInt(a+a,16),1)}if(4===t.value.length){r=t.value.substring(0,1),i=t.value.substring(1,2),a=t.value.substring(2,3);var s=t.value.substring(3,4);return Kd(parseInt(r+r,16),parseInt(i+i,16),parseInt(a+a,16),parseInt(s+s,16)/255)}if(6===t.value.length){r=t.value.substring(0,2),i=t.value.substring(2,4),a=t.value.substring(4,6);return Kd(parseInt(r,16),parseInt(i,16),parseInt(a,16),1)}if(8===t.value.length){r=t.value.substring(0,2),i=t.value.substring(2,4),a=t.value.substring(4,6),s=t.value.substring(6,8);return Kd(parseInt(r,16),parseInt(i,16),parseInt(a,16),parseInt(s,16)/255)}}if(20===t.type){var o=ev[t.value.toUpperCase()];if(void 0!==o)return o}return ev.TRANSPARENT},Wd=function(e){return 0==(255&e)},zd=function(e){var t=255&e,n=255&e>>8,r=255&e>>16,i=255&e>>24;return t<255?"rgba("+i+","+r+","+n+","+t/255+")":"rgb("+i+","+r+","+n+")"},Kd=function(e,t,n,r){return(e<<24|t<<16|n<<8|Math.round(255*r)<<0)>>>0},Yd=function(e,t){if(17===e.type)return e.number;if(16===e.type){var n=3===t?1:255;return 3===t?e.number/100*n:Math.round(e.number/100*n)}return 0},Xd=function(e,t){var n=t.filter(_d);if(3===n.length){var r=n.map(Yd),i=r[0],a=r[1],s=r[2];return Kd(i,a,s,1)}if(4===n.length){var o=n.map(Yd),l=(i=o[0],a=o[1],s=o[2],o[3]);return Kd(i,a,s,l)}return 0};function qd(e,t,n){return n<0&&(n+=1),n>=1&&(n-=1),n<1/6?(t-e)*n*6+e:n<.5?t:n<2/3?6*(t-e)*(2/3-n)+e:e}var Jd=function(e,t){var n=t.filter(_d),r=n[0],i=n[1],a=n[2],s=n[3],o=(17===r.type?Vd(r.number):Gd(e,r))/(2*Math.PI),l=Nd(i)?i.number/100:0,u=Nd(a)?a.number/100:0,c=void 0!==s&&Nd(s)?Ud(s,1):1;if(0===l)return Kd(255*u,255*u,255*u,1);var f=u<=.5?u*(l+1):u+l-u*l,p=2*u-f,A=qd(p,f,o+1/3),d=qd(p,f,o),v=qd(p,f,o-1/3);return Kd(255*A,255*d,255*v,c)},Zd={hsl:Jd,hsla:Jd,rgb:Xd,rgba:Xd},$d=function(e,t){return Qd(e,Ed.create(t).parseComponentValue())},ev={ALICEBLUE:4042850303,ANTIQUEWHITE:4209760255,AQUA:16777215,AQUAMARINE:2147472639,AZURE:4043309055,BEIGE:4126530815,BISQUE:4293182719,BLACK:255,BLANCHEDALMOND:4293643775,BLUE:65535,BLUEVIOLET:2318131967,BROWN:2771004159,BURLYWOOD:3736635391,CADETBLUE:1604231423,CHARTREUSE:2147418367,CHOCOLATE:3530104575,CORAL:4286533887,CORNFLOWERBLUE:1687547391,CORNSILK:4294499583,CRIMSON:3692313855,CYAN:16777215,DARKBLUE:35839,DARKCYAN:9145343,DARKGOLDENROD:3095837695,DARKGRAY:2846468607,DARKGREEN:6553855,DARKGREY:2846468607,DARKKHAKI:3182914559,DARKMAGENTA:2332068863,DARKOLIVEGREEN:1433087999,DARKORANGE:4287365375,DARKORCHID:2570243327,DARKRED:2332033279,DARKSALMON:3918953215,DARKSEAGREEN:2411499519,DARKSLATEBLUE:1211993087,DARKSLATEGRAY:793726975,DARKSLATEGREY:793726975,DARKTURQUOISE:13554175,DARKVIOLET:2483082239,DEEPPINK:4279538687,DEEPSKYBLUE:12582911,DIMGRAY:1768516095,DIMGREY:1768516095,DODGERBLUE:512819199,FIREBRICK:2988581631,FLORALWHITE:4294635775,FORESTGREEN:579543807,FUCHSIA:4278255615,GAINSBORO:3705462015,GHOSTWHITE:4177068031,GOLD:4292280575,GOLDENROD:3668254975,GRAY:2155905279,GREEN:8388863,GREENYELLOW:2919182335,GREY:2155905279,HONEYDEW:4043305215,HOTPINK:4285117695,INDIANRED:3445382399,INDIGO:1258324735,IVORY:4294963455,KHAKI:4041641215,LAVENDER:3873897215,LAVENDERBLUSH:4293981695,LAWNGREEN:2096890111,LEMONCHIFFON:4294626815,LIGHTBLUE:2916673279,LIGHTCORAL:4034953471,LIGHTCYAN:3774873599,LIGHTGOLDENRODYELLOW:4210742015,LIGHTGRAY:3553874943,LIGHTGREEN:2431553791,LIGHTGREY:3553874943,LIGHTPINK:4290167295,LIGHTSALMON:4288707327,LIGHTSEAGREEN:548580095,LIGHTSKYBLUE:2278488831,LIGHTSLATEGRAY:2005441023,LIGHTSLATEGREY:2005441023,LIGHTSTEELBLUE:2965692159,LIGHTYELLOW:4294959359,LIME:16711935,LIMEGREEN:852308735,LINEN:4210091775,MAGENTA:4278255615,MAROON:2147483903,MEDIUMAQUAMARINE:1724754687,MEDIUMBLUE:52735,MEDIUMORCHID:3126187007,MEDIUMPURPLE:2473647103,MEDIUMSEAGREEN:1018393087,MEDIUMSLATEBLUE:2070474495,MEDIUMSPRINGGREEN:16423679,MEDIUMTURQUOISE:1221709055,MEDIUMVIOLETRED:3340076543,MIDNIGHTBLUE:421097727,MINTCREAM:4127193855,MISTYROSE:4293190143,MOCCASIN:4293178879,NAVAJOWHITE:4292783615,NAVY:33023,OLDLACE:4260751103,OLIVE:2155872511,OLIVEDRAB:1804477439,ORANGE:4289003775,ORANGERED:4282712319,ORCHID:3664828159,PALEGOLDENROD:4008225535,PALEGREEN:2566625535,PALETURQUOISE:2951671551,PALEVIOLETRED:3681588223,PAPAYAWHIP:4293907967,PEACHPUFF:4292524543,PERU:3448061951,PINK:4290825215,PLUM:3718307327,POWDERBLUE:2967529215,PURPLE:2147516671,REBECCAPURPLE:1714657791,RED:4278190335,ROSYBROWN:3163525119,ROYALBLUE:1097458175,SADDLEBROWN:2336560127,SALMON:4202722047,SANDYBROWN:4104413439,SEAGREEN:780883967,SEASHELL:4294307583,SIENNA:2689740287,SILVER:3233857791,SKYBLUE:2278484991,SLATEBLUE:1784335871,SLATEGRAY:1887473919,SLATEGREY:1887473919,SNOW:4294638335,SPRINGGREEN:16744447,STEELBLUE:1182971135,TAN:3535047935,TEAL:8421631,THISTLE:3636451583,TOMATO:4284696575,TRANSPARENT:0,TURQUOISE:1088475391,VIOLET:4001558271,WHEAT:4125012991,WHITE:4294967295,WHITESMOKE:4126537215,YELLOW:4294902015,YELLOWGREEN:2597139199},tv={name:"background-clip",initialValue:"border-box",prefix:!1,type:1,parse:function(e,t){return t.map((function(e){if(Dd(e))switch(e.value){case"padding-box":return 1;case"content-box":return 2}return 0}))}},nv={name:"background-color",initialValue:"transparent",prefix:!1,type:3,format:"color"},rv=function(e,t){var n=Qd(e,t[0]),r=t[1];return r&&Nd(r)?{color:n,stop:r}:{color:n,stop:null}},iv=function(e,t){var n=e[0],r=e[e.length-1];null===n.stop&&(n.stop=Md),null===r.stop&&(r.stop=Fd);for(var i=[],a=0,s=0;sa?i.push(l):i.push(a),a=l}else i.push(null)}var u=null;for(s=0;se.optimumDistance)?{optimumCorner:t,optimumDistance:o}:e}),{optimumDistance:i?1/0:-1/0,optimumCorner:null}).optimumCorner},lv=function(e,t){var n=Vd(180),r=[];return Bd(t).forEach((function(t,i){if(0===i){var a=t[0];if(20===a.type&&-1!==["top","left","right","bottom"].indexOf(a.value))return void(n=jd(t));if(kd(a))return void(n=(Gd(e,a)+Vd(270))%Vd(360))}var s=rv(e,t);r.push(s)})),{angle:n,stops:r,type:1}},uv=function(e,t){var n=0,r=3,i=[],a=[];return Bd(t).forEach((function(t,s){var o=!0;if(0===s?o=t.reduce((function(e,t){if(Dd(t))switch(t.value){case"center":return a.push(xd),!1;case"top":case"left":return a.push(Md),!1;case"right":case"bottom":return a.push(Fd),!1}else if(Nd(t)||Sd(t))return a.push(t),!1;return e}),o):1===s&&(o=t.reduce((function(e,t){if(Dd(t))switch(t.value){case"circle":return n=0,!1;case"ellipse":return n=1,!1;case"contain":case"closest-side":return r=0,!1;case"farthest-side":return r=1,!1;case"closest-corner":return r=2,!1;case"cover":case"farthest-corner":return r=3,!1}else if(Sd(t)||Nd(t))return Array.isArray(r)||(r=[]),r.push(t),!1;return e}),o)),o){var l=rv(e,t);i.push(l)}})),{size:r,shape:n,stops:i,position:a,type:2}},cv=function(e,t){if(22===t.type){var n={url:t.value,type:0};return e.cache.addImage(t.value),n}if(18===t.type){var r=pv[t.name];if(void 0===r)throw new Error('Attempting to parse an unsupported image function "'+t.name+'"');return r(e,t.values)}throw new Error("Unsupported image type "+t.type)};var fv,pv={"linear-gradient":function(e,t){var n=Vd(180),r=[];return Bd(t).forEach((function(t,i){if(0===i){var a=t[0];if(20===a.type&&"to"===a.value)return void(n=jd(t));if(kd(a))return void(n=Gd(e,a))}var s=rv(e,t);r.push(s)})),{angle:n,stops:r,type:1}},"-moz-linear-gradient":lv,"-ms-linear-gradient":lv,"-o-linear-gradient":lv,"-webkit-linear-gradient":lv,"radial-gradient":function(e,t){var n=0,r=3,i=[],a=[];return Bd(t).forEach((function(t,s){var o=!0;if(0===s){var l=!1;o=t.reduce((function(e,t){if(l)if(Dd(t))switch(t.value){case"center":return a.push(xd),e;case"top":case"left":return a.push(Md),e;case"right":case"bottom":return a.push(Fd),e}else(Nd(t)||Sd(t))&&a.push(t);else if(Dd(t))switch(t.value){case"circle":return n=0,!1;case"ellipse":return n=1,!1;case"at":return l=!0,!1;case"closest-side":return r=0,!1;case"cover":case"farthest-side":return r=1,!1;case"contain":case"closest-corner":return r=2,!1;case"farthest-corner":return r=3,!1}else if(Sd(t)||Nd(t))return Array.isArray(r)||(r=[]),r.push(t),!1;return e}),o)}if(o){var u=rv(e,t);i.push(u)}})),{size:r,shape:n,stops:i,position:a,type:2}},"-moz-radial-gradient":uv,"-ms-radial-gradient":uv,"-o-radial-gradient":uv,"-webkit-radial-gradient":uv,"-webkit-gradient":function(e,t){var n=Vd(180),r=[],i=1;return Bd(t).forEach((function(t,n){var a=t[0];if(0===n){if(Dd(a)&&"linear"===a.value)return void(i=1);if(Dd(a)&&"radial"===a.value)return void(i=2)}if(18===a.type)if("from"===a.name){var s=Qd(e,a.values[0]);r.push({stop:Md,color:s})}else if("to"===a.name){s=Qd(e,a.values[0]);r.push({stop:Fd,color:s})}else if("color-stop"===a.name){var o=a.values.filter(_d);if(2===o.length){s=Qd(e,o[1]);var l=o[0];bd(l)&&r.push({stop:{type:16,number:100*l.number,flags:l.flags},color:s})}}})),1===i?{angle:(n+Vd(180))%Vd(360),stops:r,type:i}:{size:3,shape:0,stops:r,position:[],type:i}}},Av={name:"background-image",initialValue:"none",type:1,prefix:!1,parse:function(e,t){if(0===t.length)return[];var n=t[0];return 20===n.type&&"none"===n.value?[]:t.filter((function(e){return _d(e)&&function(e){return!(20===e.type&&"none"===e.value||18===e.type&&!pv[e.name])}(e)})).map((function(t){return cv(e,t)}))}},dv={name:"background-origin",initialValue:"border-box",prefix:!1,type:1,parse:function(e,t){return t.map((function(e){if(Dd(e))switch(e.value){case"padding-box":return 1;case"content-box":return 2}return 0}))}},vv={name:"background-position",initialValue:"0% 0%",type:1,prefix:!1,parse:function(e,t){return Bd(t).map((function(e){return e.filter(Nd)})).map(Ld)}},hv={name:"background-repeat",initialValue:"repeat",prefix:!1,type:1,parse:function(e,t){return Bd(t).map((function(e){return e.filter(Dd).map((function(e){return e.value})).join(" ")})).map(Iv)}},Iv=function(e){switch(e){case"no-repeat":return 1;case"repeat-x":case"repeat no-repeat":return 2;case"repeat-y":case"no-repeat repeat":return 3;default:return 0}};!function(e){e.AUTO="auto",e.CONTAIN="contain",e.COVER="cover"}(fv||(fv={}));var yv,mv={name:"background-size",initialValue:"0",prefix:!1,type:1,parse:function(e,t){return Bd(t).map((function(e){return e.filter(wv)}))}},wv=function(e){return Dd(e)||Nd(e)},gv=function(e){return{name:"border-"+e+"-color",initialValue:"transparent",prefix:!1,type:3,format:"color"}},Ev=gv("top"),Tv=gv("right"),bv=gv("bottom"),Dv=gv("left"),Pv=function(e){return{name:"border-radius-"+e,initialValue:"0 0",prefix:!1,type:1,parse:function(e,t){return Ld(t.filter(Nd))}}},Rv=Pv("top-left"),Cv=Pv("top-right"),_v=Pv("bottom-right"),Bv=Pv("bottom-left"),Ov=function(e){return{name:"border-"+e+"-style",initialValue:"solid",prefix:!1,type:2,parse:function(e,t){switch(t){case"none":return 0;case"dashed":return 2;case"dotted":return 3;case"double":return 4}return 1}}},Sv=Ov("top"),Nv=Ov("right"),Lv=Ov("bottom"),Mv=Ov("left"),xv=function(e){return{name:"border-"+e+"-width",initialValue:"0",type:0,prefix:!1,parse:function(e,t){return Td(t)?t.number:0}}},Fv=xv("top"),Hv=xv("right"),Uv=xv("bottom"),Gv=xv("left"),kv={name:"color",initialValue:"transparent",prefix:!1,type:3,format:"color"},jv={name:"direction",initialValue:"ltr",prefix:!1,type:2,parse:function(e,t){return"rtl"===t?1:0}},Vv={name:"display",initialValue:"inline-block",prefix:!1,type:1,parse:function(e,t){return t.filter(Dd).reduce((function(e,t){return e|Qv(t.value)}),0)}},Qv=function(e){switch(e){case"block":case"-webkit-box":return 2;case"inline":return 4;case"run-in":return 8;case"flow":return 16;case"flow-root":return 32;case"table":return 64;case"flex":case"-webkit-flex":return 128;case"grid":case"-ms-grid":return 256;case"ruby":return 512;case"subgrid":return 1024;case"list-item":return 2048;case"table-row-group":return 4096;case"table-header-group":return 8192;case"table-footer-group":return 16384;case"table-row":return 32768;case"table-cell":return 65536;case"table-column-group":return 131072;case"table-column":return 262144;case"table-caption":return 524288;case"ruby-base":return 1048576;case"ruby-text":return 2097152;case"ruby-base-container":return 4194304;case"ruby-text-container":return 8388608;case"contents":return 16777216;case"inline-block":return 33554432;case"inline-list-item":return 67108864;case"inline-table":return 134217728;case"inline-flex":return 268435456;case"inline-grid":return 536870912}return 0},Wv={name:"float",initialValue:"none",prefix:!1,type:2,parse:function(e,t){switch(t){case"left":return 1;case"right":return 2;case"inline-start":return 3;case"inline-end":return 4}return 0}},zv={name:"letter-spacing",initialValue:"0",prefix:!1,type:0,parse:function(e,t){return 20===t.type&&"normal"===t.value?0:17===t.type||15===t.type?t.number:0}};!function(e){e.NORMAL="normal",e.STRICT="strict"}(yv||(yv={}));var Kv,Yv={name:"line-break",initialValue:"normal",prefix:!1,type:2,parse:function(e,t){return"strict"===t?yv.STRICT:yv.NORMAL}},Xv={name:"line-height",initialValue:"normal",prefix:!1,type:4},qv=function(e,t){return Dd(e)&&"normal"===e.value?1.2*t:17===e.type?t*e.number:Nd(e)?Ud(e,t):t},Jv={name:"list-style-image",initialValue:"none",type:0,prefix:!1,parse:function(e,t){return 20===t.type&&"none"===t.value?null:cv(e,t)}},Zv={name:"list-style-position",initialValue:"outside",prefix:!1,type:2,parse:function(e,t){return"inside"===t?0:1}},$v={name:"list-style-type",initialValue:"none",prefix:!1,type:2,parse:function(e,t){switch(t){case"disc":return 0;case"circle":return 1;case"square":return 2;case"decimal":return 3;case"cjk-decimal":return 4;case"decimal-leading-zero":return 5;case"lower-roman":return 6;case"upper-roman":return 7;case"lower-greek":return 8;case"lower-alpha":return 9;case"upper-alpha":return 10;case"arabic-indic":return 11;case"armenian":return 12;case"bengali":return 13;case"cambodian":return 14;case"cjk-earthly-branch":return 15;case"cjk-heavenly-stem":return 16;case"cjk-ideographic":return 17;case"devanagari":return 18;case"ethiopic-numeric":return 19;case"georgian":return 20;case"gujarati":return 21;case"gurmukhi":case"hebrew":return 22;case"hiragana":return 23;case"hiragana-iroha":return 24;case"japanese-formal":return 25;case"japanese-informal":return 26;case"kannada":return 27;case"katakana":return 28;case"katakana-iroha":return 29;case"khmer":return 30;case"korean-hangul-formal":return 31;case"korean-hanja-formal":return 32;case"korean-hanja-informal":return 33;case"lao":return 34;case"lower-armenian":return 35;case"malayalam":return 36;case"mongolian":return 37;case"myanmar":return 38;case"oriya":return 39;case"persian":return 40;case"simp-chinese-formal":return 41;case"simp-chinese-informal":return 42;case"tamil":return 43;case"telugu":return 44;case"thai":return 45;case"tibetan":return 46;case"trad-chinese-formal":return 47;case"trad-chinese-informal":return 48;case"upper-armenian":return 49;case"disclosure-open":return 50;case"disclosure-closed":return 51;default:return-1}}},eh=function(e){return{name:"margin-"+e,initialValue:"0",prefix:!1,type:4}},th=eh("top"),nh=eh("right"),rh=eh("bottom"),ih=eh("left"),ah={name:"overflow",initialValue:"visible",prefix:!1,type:1,parse:function(e,t){return t.filter(Dd).map((function(e){switch(e.value){case"hidden":return 1;case"scroll":return 2;case"clip":return 3;case"auto":return 4;default:return 0}}))}},sh={name:"overflow-wrap",initialValue:"normal",prefix:!1,type:2,parse:function(e,t){return"break-word"===t?"break-word":"normal"}},oh=function(e){return{name:"padding-"+e,initialValue:"0",prefix:!1,type:3,format:"length-percentage"}},lh=oh("top"),uh=oh("right"),ch=oh("bottom"),fh=oh("left"),ph={name:"text-align",initialValue:"left",prefix:!1,type:2,parse:function(e,t){switch(t){case"right":return 2;case"center":case"justify":return 1;default:return 0}}},Ah={name:"position",initialValue:"static",prefix:!1,type:2,parse:function(e,t){switch(t){case"relative":return 1;case"absolute":return 2;case"fixed":return 3;case"sticky":return 4}return 0}},dh={name:"text-shadow",initialValue:"none",type:1,prefix:!1,parse:function(e,t){return 1===t.length&&Rd(t[0],"none")?[]:Bd(t).map((function(t){for(var n={color:ev.TRANSPARENT,offsetX:Md,offsetY:Md,blur:Md},r=0,i=0;i1?1:0],this.overflowWrap=Kh(e,sh,t.overflowWrap),this.paddingTop=Kh(e,lh,t.paddingTop),this.paddingRight=Kh(e,uh,t.paddingRight),this.paddingBottom=Kh(e,ch,t.paddingBottom),this.paddingLeft=Kh(e,fh,t.paddingLeft),this.paintOrder=Kh(e,kh,t.paintOrder),this.position=Kh(e,Ah,t.position),this.textAlign=Kh(e,ph,t.textAlign),this.textDecorationColor=Kh(e,Ph,null!==(n=t.textDecorationColor)&&void 0!==n?n:t.color),this.textDecorationLine=Kh(e,Rh,null!==(r=t.textDecorationLine)&&void 0!==r?r:t.textDecoration),this.textShadow=Kh(e,dh,t.textShadow),this.textTransform=Kh(e,vh,t.textTransform),this.transform=Kh(e,hh,t.transform),this.transformOrigin=Kh(e,wh,t.transformOrigin),this.visibility=Kh(e,gh,t.visibility),this.webkitTextStrokeColor=Kh(e,jh,t.webkitTextStrokeColor),this.webkitTextStrokeWidth=Kh(e,Vh,t.webkitTextStrokeWidth),this.wordBreak=Kh(e,Eh,t.wordBreak),this.zIndex=Kh(e,Th,t.zIndex)}return e.prototype.isVisible=function(){return this.display>0&&this.opacity>0&&0===this.visibility},e.prototype.isTransparent=function(){return Wd(this.backgroundColor)},e.prototype.isTransformed=function(){return null!==this.transform},e.prototype.isPositioned=function(){return 0!==this.position},e.prototype.isPositionedWithZIndex=function(){return this.isPositioned()&&!this.zIndex.auto},e.prototype.isFloating=function(){return 0!==this.float},e.prototype.isInlineLevel=function(){return Nh(this.display,4)||Nh(this.display,33554432)||Nh(this.display,268435456)||Nh(this.display,536870912)||Nh(this.display,67108864)||Nh(this.display,134217728)},e}(),Wh=function(e,t){this.content=Kh(e,Lh,t.content),this.quotes=Kh(e,Hh,t.quotes)},zh=function(e,t){this.counterIncrement=Kh(e,Mh,t.counterIncrement),this.counterReset=Kh(e,xh,t.counterReset)},Kh=function(e,t,n){var r=new gd,i=null!=n?n.toString():t.initialValue;r.write(i);var a=new Ed(r.read());switch(t.type){case 2:var s=a.parseComponentValue();return t.parse(e,Dd(s)?s.value:t.initialValue);case 0:return t.parse(e,a.parseComponentValue());case 1:return t.parse(e,a.parseComponentValues());case 4:return a.parseComponentValue();case 3:switch(t.format){case"angle":return Gd(e,a.parseComponentValue());case"color":return Qd(e,a.parseComponentValue());case"image":return cv(e,a.parseComponentValue());case"length":var o=a.parseComponentValue();return Sd(o)?o:Md;case"length-percentage":var l=a.parseComponentValue();return Nd(l)?l:Md;case"time":return bh(e,a.parseComponentValue())}}},Yh=function(e,t){var n=function(e){switch(e.getAttribute("data-html2canvas-debug")){case"all":return 1;case"clone":return 2;case"parse":return 3;case"render":return 4;default:return 0}}(e);return 1===n||t===n},Xh=function(e,t){this.context=e,this.textNodes=[],this.elements=[],this.flags=0,Yh(t,3),this.styles=new Qh(e,window.getComputedStyle(t,null)),XI(t)&&(this.styles.animationDuration.some((function(e){return e>0}))&&(t.style.animationDuration="0s"),null!==this.styles.transform&&(t.style.transform="none")),this.bounds=zp(this.context,t),Yh(t,4)&&(this.flags|=16)},qh="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",Jh="undefined"==typeof Uint8Array?[]:new Uint8Array(256),Zh=0;Zh=0){if(e<55296||e>56319&&e<=65535)return t=((t=this.index[e>>5])<<2)+(31&e),this.data[t];if(e<=65535)return t=((t=this.index[2048+(e-55296>>5)])<<2)+(31&e),this.data[t];if(e>11),t=this.index[t],t+=e>>5&63,t=((t=this.index[t])<<2)+(31&e),this.data[t];if(e<=1114111)return this.data[this.highValueIndex]}return this.errorValue},e}(),tI="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",nI="undefined"==typeof Uint8Array?[]:new Uint8Array(256),rI=0;rI>10),s%1024+56320)),(i+1===n||r.length>16384)&&(a+=String.fromCharCode.apply(String,r),r.length=0)}return a},cI=function(e,t){var n,r,i,a=function(e){var t,n,r,i,a,s=.75*e.length,o=e.length,l=0;"="===e[e.length-1]&&(s--,"="===e[e.length-2]&&s--);var u="undefined"!=typeof ArrayBuffer&&"undefined"!=typeof Uint8Array&&void 0!==Uint8Array.prototype.slice?new ArrayBuffer(s):new Array(s),c=Array.isArray(u)?u:new Uint8Array(u);for(t=0;t>4,c[l++]=(15&r)<<4|i>>2,c[l++]=(3&i)<<6|63&a;return u}(e),s=Array.isArray(a)?function(e){for(var t=e.length,n=[],r=0;r=55296&&i<=56319&&n=n)return{done:!0,value:null};for(var e="×";rs.x||i.y>s.y;return s=i,0===t||o}));return e.body.removeChild(t),o}(document);return Object.defineProperty(II,"SUPPORT_WORD_BREAKING",{value:e}),e},get SUPPORT_SVG_DRAWING(){var e=function(e){var t=new Image,n=e.createElement("canvas"),r=n.getContext("2d");if(!r)return!1;t.src="data:image/svg+xml,";try{r.drawImage(t,0,0),n.toDataURL()}catch(e){return!1}return!0}(document);return Object.defineProperty(II,"SUPPORT_SVG_DRAWING",{value:e}),e},get SUPPORT_FOREIGNOBJECT_DRAWING(){var e="function"==typeof Array.from&&"function"==typeof window.fetch?function(e){var t=e.createElement("canvas"),n=100;t.width=n,t.height=n;var r=t.getContext("2d");if(!r)return Promise.reject(!1);r.fillStyle="rgb(0, 255, 0)",r.fillRect(0,0,n,n);var i=new Image,a=t.toDataURL();i.src=a;var s=vI(n,n,0,0,i);return r.fillStyle="red",r.fillRect(0,0,n,n),hI(s).then((function(t){r.drawImage(t,0,0);var i=r.getImageData(0,0,n,n).data;r.fillStyle="red",r.fillRect(0,0,n,n);var s=e.createElement("div");return s.style.backgroundImage="url("+a+")",s.style.height="100px",dI(i)?hI(vI(n,n,0,0,s)):Promise.reject(!1)})).then((function(e){return r.drawImage(e,0,0),dI(r.getImageData(0,0,n,n).data)})).catch((function(){return!1}))}(document):Promise.resolve(!1);return Object.defineProperty(II,"SUPPORT_FOREIGNOBJECT_DRAWING",{value:e}),e},get SUPPORT_CORS_IMAGES(){var e=void 0!==(new Image).crossOrigin;return Object.defineProperty(II,"SUPPORT_CORS_IMAGES",{value:e}),e},get SUPPORT_RESPONSE_TYPE(){var e="string"==typeof(new XMLHttpRequest).responseType;return Object.defineProperty(II,"SUPPORT_RESPONSE_TYPE",{value:e}),e},get SUPPORT_CORS_XHR(){var e="withCredentials"in new XMLHttpRequest;return Object.defineProperty(II,"SUPPORT_CORS_XHR",{value:e}),e},get SUPPORT_NATIVE_TEXT_SEGMENTATION(){var e=!("undefined"==typeof Intl||!Intl.Segmenter);return Object.defineProperty(II,"SUPPORT_NATIVE_TEXT_SEGMENTATION",{value:e}),e}},yI=function(e,t){this.text=e,this.bounds=t},mI=function(e,t){var n=t.ownerDocument;if(n){var r=n.createElement("html2canvaswrapper");r.appendChild(t.cloneNode(!0));var i=t.parentNode;if(i){i.replaceChild(r,t);var a=zp(e,r);return r.firstChild&&i.replaceChild(r.firstChild,r),a}}return Wp.EMPTY},wI=function(e,t,n){var r=e.ownerDocument;if(!r)throw new Error("Node has no owner document");var i=r.createRange();return i.setStart(e,t),i.setEnd(e,t+n),i},gI=function(e){if(II.SUPPORT_NATIVE_TEXT_SEGMENTATION){var t=new Intl.Segmenter(void 0,{granularity:"grapheme"});return Array.from(t.segment(e)).map((function(e){return e.segment}))}return function(e){for(var t,n=AI(e),r=[];!(t=n.next()).done;)t.value&&r.push(t.value.slice());return r}(e)},EI=function(e,t){return 0!==t.letterSpacing?gI(e):function(e,t){if(II.SUPPORT_NATIVE_TEXT_SEGMENTATION){var n=new Intl.Segmenter(void 0,{granularity:"word"});return Array.from(n.segment(e)).map((function(e){return e.segment}))}return bI(e,t)}(e,t)},TI=[32,160,4961,65792,65793,4153,4241],bI=function(e,t){for(var n,r=function(e,t){var n=Kp(e),r=jA(n,t),i=r[0],a=r[1],s=r[2],o=n.length,l=0,u=0;return{next:function(){if(u>=o)return{done:!0,value:null};for(var e="×";u0)if(II.SUPPORT_RANGE_BOUNDS){var i=wI(r,s,t.length).getClientRects();if(i.length>1){var o=gI(t),l=0;o.forEach((function(t){a.push(new yI(t,Wp.fromDOMRectList(e,wI(r,l+s,t.length).getClientRects()))),l+=t.length}))}else a.push(new yI(t,Wp.fromDOMRectList(e,i)))}else{var u=r.splitText(t.length);a.push(new yI(t,mI(e,r))),r=u}else II.SUPPORT_RANGE_BOUNDS||(r=r.splitText(t.length));s+=t.length})),a}(e,this.text,n,t)},PI=function(e,t){switch(t){case 1:return e.toLowerCase();case 3:return e.replace(RI,CI);case 2:return e.toUpperCase();default:return e}},RI=/(^|\s|:|-|\(|\))([a-z])/g,CI=function(e,t,n){return e.length>0?t+n.toUpperCase():e},_I=function(e){function t(t,n){var r=e.call(this,t,n)||this;return r.src=n.currentSrc||n.src,r.intrinsicWidth=n.naturalWidth,r.intrinsicHeight=n.naturalHeight,r.context.cache.addImage(r.src),r}return Gp(t,e),t}(Xh),BI=function(e){function t(t,n){var r=e.call(this,t,n)||this;return r.canvas=n,r.intrinsicWidth=n.width,r.intrinsicHeight=n.height,r}return Gp(t,e),t}(Xh),OI=function(e){function t(t,n){var r=e.call(this,t,n)||this,i=new XMLSerializer,a=zp(t,n);return n.setAttribute("width",a.width+"px"),n.setAttribute("height",a.height+"px"),r.svg="data:image/svg+xml,"+encodeURIComponent(i.serializeToString(n)),r.intrinsicWidth=n.width.baseVal.value,r.intrinsicHeight=n.height.baseVal.value,r.context.cache.addImage(r.svg),r}return Gp(t,e),t}(Xh),SI=function(e){function t(t,n){var r=e.call(this,t,n)||this;return r.value=n.value,r}return Gp(t,e),t}(Xh),NI=function(e){function t(t,n){var r=e.call(this,t,n)||this;return r.start=n.start,r.reversed="boolean"==typeof n.reversed&&!0===n.reversed,r}return Gp(t,e),t}(Xh),LI=[{type:15,flags:0,unit:"px",number:3}],MI=[{type:16,flags:0,number:50}],xI="password",FI=function(e){function t(t,n){var r,i=e.call(this,t,n)||this;switch(i.type=n.type.toLowerCase(),i.checked=n.checked,i.value=function(e){var t=e.type===xI?new Array(e.value.length+1).join("•"):e.value;return 0===t.length?e.placeholder||"":t}(n),"checkbox"!==i.type&&"radio"!==i.type||(i.styles.backgroundColor=3739148031,i.styles.borderTopColor=i.styles.borderRightColor=i.styles.borderBottomColor=i.styles.borderLeftColor=2779096575,i.styles.borderTopWidth=i.styles.borderRightWidth=i.styles.borderBottomWidth=i.styles.borderLeftWidth=1,i.styles.borderTopStyle=i.styles.borderRightStyle=i.styles.borderBottomStyle=i.styles.borderLeftStyle=1,i.styles.backgroundClip=[0],i.styles.backgroundOrigin=[0],i.bounds=(r=i.bounds).width>r.height?new Wp(r.left+(r.width-r.height)/2,r.top,r.height,r.height):r.width0)r.textNodes.push(new DI(t,a,r.styles));else if(YI(a))if(uy(a)&&a.assignedNodes)a.assignedNodes().forEach((function(n){return e(t,n,r,i)}));else{var o=VI(t,a);o.styles.isVisible()&&(WI(a,o,i)?o.flags|=4:zI(o.styles)&&(o.flags|=2),-1!==kI.indexOf(a.tagName)&&(o.flags|=8),r.elements.push(o),a.slot,a.shadowRoot?e(t,a.shadowRoot,o,i):oy(a)||ey(a)||ly(a)||e(t,a,o,i))}},VI=function(e,t){return iy(t)?new _I(e,t):ny(t)?new BI(e,t):ey(t)?new OI(e,t):JI(t)?new SI(e,t):ZI(t)?new NI(e,t):$I(t)?new FI(e,t):ly(t)?new HI(e,t):oy(t)?new UI(e,t):ay(t)?new GI(e,t):new Xh(e,t)},QI=function(e,t){var n=VI(e,t);return n.flags|=4,jI(e,t,n,n),n},WI=function(e,t,n){return t.styles.isPositionedWithZIndex()||t.styles.opacity<1||t.styles.isTransformed()||ty(e)&&n.styles.isTransparent()},zI=function(e){return e.isPositioned()||e.isFloating()},KI=function(e){return e.nodeType===Node.TEXT_NODE},YI=function(e){return e.nodeType===Node.ELEMENT_NODE},XI=function(e){return YI(e)&&void 0!==e.style&&!qI(e)},qI=function(e){return"object"===T(e.className)},JI=function(e){return"LI"===e.tagName},ZI=function(e){return"OL"===e.tagName},$I=function(e){return"INPUT"===e.tagName},ey=function(e){return"svg"===e.tagName},ty=function(e){return"BODY"===e.tagName},ny=function(e){return"CANVAS"===e.tagName},ry=function(e){return"VIDEO"===e.tagName},iy=function(e){return"IMG"===e.tagName},ay=function(e){return"IFRAME"===e.tagName},sy=function(e){return"STYLE"===e.tagName},oy=function(e){return"TEXTAREA"===e.tagName},ly=function(e){return"SELECT"===e.tagName},uy=function(e){return"SLOT"===e.tagName},cy=function(e){return e.tagName.indexOf("-")>0},fy=function(){function e(){this.counters={}}return e.prototype.getCounterValue=function(e){var t=this.counters[e];return t&&t.length?t[t.length-1]:1},e.prototype.getCounterValues=function(e){var t=this.counters[e];return t||[]},e.prototype.pop=function(e){var t=this;e.forEach((function(e){return t.counters[e].pop()}))},e.prototype.parse=function(e){var t=this,n=e.counterIncrement,r=e.counterReset,i=!0;null!==n&&n.forEach((function(e){var n=t.counters[e.counter];n&&0!==e.increment&&(i=!1,n.length||n.push(1),n[Math.max(0,n.length-1)]+=e.increment)}));var a=[];return i&&r.forEach((function(e){var n=t.counters[e.counter];a.push(e.counter),n||(n=t.counters[e.counter]=[]),n.push(e.reset)})),a},e}(),py={integers:[1e3,900,500,400,100,90,50,40,10,9,5,4,1],values:["M","CM","D","CD","C","XC","L","XL","X","IX","V","IV","I"]},Ay={integers:[9e3,8e3,7e3,6e3,5e3,4e3,3e3,2e3,1e3,900,800,700,600,500,400,300,200,100,90,80,70,60,50,40,30,20,10,9,8,7,6,5,4,3,2,1],values:["Ք","Փ","Ւ","Ց","Ր","Տ","Վ","Ս","Ռ","Ջ","Պ","Չ","Ո","Շ","Ն","Յ","Մ","Ճ","Ղ","Ձ","Հ","Կ","Ծ","Խ","Լ","Ի","Ժ","Թ","Ը","Է","Զ","Ե","Դ","Գ","Բ","Ա"]},dy={integers:[1e4,9e3,8e3,7e3,6e3,5e3,4e3,3e3,2e3,1e3,400,300,200,100,90,80,70,60,50,40,30,20,19,18,17,16,15,10,9,8,7,6,5,4,3,2,1],values:["י׳","ט׳","ח׳","ז׳","ו׳","ה׳","ד׳","ג׳","ב׳","א׳","ת","ש","ר","ק","צ","פ","ע","ס","נ","מ","ל","כ","יט","יח","יז","טז","טו","י","ט","ח","ז","ו","ה","ד","ג","ב","א"]},vy={integers:[1e4,9e3,8e3,7e3,6e3,5e3,4e3,3e3,2e3,1e3,900,800,700,600,500,400,300,200,100,90,80,70,60,50,40,30,20,10,9,8,7,6,5,4,3,2,1],values:["ჵ","ჰ","ჯ","ჴ","ხ","ჭ","წ","ძ","ც","ჩ","შ","ყ","ღ","ქ","ფ","ჳ","ტ","ს","რ","ჟ","პ","ო","ჲ","ნ","მ","ლ","კ","ი","თ","ჱ","ზ","ვ","ე","დ","გ","ბ","ა"]},hy=function(e,t,n,r,i,a){return en?gy(e,i,a.length>0):r.integers.reduce((function(t,n,i){for(;e>=n;)e-=n,t+=r.values[i];return t}),"")+a},Iy=function(e,t,n,r){var i="";do{n||e--,i=r(e)+i,e/=t}while(e*t>=t);return i},yy=function(e,t,n,r,i){var a=n-t+1;return(e<0?"-":"")+(Iy(Math.abs(e),a,r,(function(e){return Yp(Math.floor(e%a)+t)}))+i)},my=function(e,t,n){void 0===n&&(n=". ");var r=t.length;return Iy(Math.abs(e),r,!1,(function(e){return t[Math.floor(e%r)]}))+n},wy=function(e,t,n,r,i,a){if(e<-9999||e>9999)return gy(e,4,i.length>0);var s=Math.abs(e),o=i;if(0===s)return t[0]+o;for(var l=0;s>0&&l<=4;l++){var u=s%10;0===u&&Nh(a,1)&&""!==o?o=t[u]+o:u>1||1===u&&0===l||1===u&&1===l&&Nh(a,2)||1===u&&1===l&&Nh(a,4)&&e>100||1===u&&l>1&&Nh(a,8)?o=t[u]+(l>0?n[l-1]:"")+o:1===u&&l>0&&(o=n[l-1]+o),s=Math.floor(s/10)}return(e<0?r:"")+o},gy=function(e,t,n){var r=n?". ":"",i=n?"、":"",a=n?", ":"",s=n?" ":"";switch(t){case 0:return"•"+s;case 1:return"◦"+s;case 2:return"◾"+s;case 5:var o=yy(e,48,57,!0,r);return o.length<4?"0"+o:o;case 4:return my(e,"〇一二三四五六七八九",i);case 6:return hy(e,1,3999,py,3,r).toLowerCase();case 7:return hy(e,1,3999,py,3,r);case 8:return yy(e,945,969,!1,r);case 9:return yy(e,97,122,!1,r);case 10:return yy(e,65,90,!1,r);case 11:return yy(e,1632,1641,!0,r);case 12:case 49:return hy(e,1,9999,Ay,3,r);case 35:return hy(e,1,9999,Ay,3,r).toLowerCase();case 13:return yy(e,2534,2543,!0,r);case 14:case 30:return yy(e,6112,6121,!0,r);case 15:return my(e,"子丑寅卯辰巳午未申酉戌亥",i);case 16:return my(e,"甲乙丙丁戊己庚辛壬癸",i);case 17:case 48:return wy(e,"零一二三四五六七八九","十百千萬","負",i,14);case 47:return wy(e,"零壹貳參肆伍陸柒捌玖","拾佰仟萬","負",i,15);case 42:return wy(e,"零一二三四五六七八九","十百千萬","负",i,14);case 41:return wy(e,"零壹贰叁肆伍陆柒捌玖","拾佰仟萬","负",i,15);case 26:return wy(e,"〇一二三四五六七八九","十百千万","マイナス",i,0);case 25:return wy(e,"零壱弐参四伍六七八九","拾百千万","マイナス",i,7);case 31:return wy(e,"영일이삼사오육칠팔구","십백천만","마이너스",a,7);case 33:return wy(e,"零一二三四五六七八九","十百千萬","마이너스",a,0);case 32:return wy(e,"零壹貳參四五六七八九","拾百千","마이너스",a,7);case 18:return yy(e,2406,2415,!0,r);case 20:return hy(e,1,19999,vy,3,r);case 21:return yy(e,2790,2799,!0,r);case 22:return yy(e,2662,2671,!0,r);case 22:return hy(e,1,10999,dy,3,r);case 23:return my(e,"あいうえおかきくけこさしすせそたちつてとなにぬねのはひふへほまみむめもやゆよらりるれろわゐゑをん");case 24:return my(e,"いろはにほへとちりぬるをわかよたれそつねならむうゐのおくやまけふこえてあさきゆめみしゑひもせす");case 27:return yy(e,3302,3311,!0,r);case 28:return my(e,"アイウエオカキクケコサシスセソタチツテトナニヌネノハヒフヘホマミムメモヤユヨラリルレロワヰヱヲン",i);case 29:return my(e,"イロハニホヘトチリヌルヲワカヨタレソツネナラムウヰノオクヤマケフコエテアサキユメミシヱヒモセス",i);case 34:return yy(e,3792,3801,!0,r);case 37:return yy(e,6160,6169,!0,r);case 38:return yy(e,4160,4169,!0,r);case 39:return yy(e,2918,2927,!0,r);case 40:return yy(e,1776,1785,!0,r);case 43:return yy(e,3046,3055,!0,r);case 44:return yy(e,3174,3183,!0,r);case 45:return yy(e,3664,3673,!0,r);case 46:return yy(e,3872,3881,!0,r);default:return yy(e,48,57,!0,r)}},Ey=function(){function e(e,t,n){if(this.context=e,this.options=n,this.scrolledElements=[],this.referenceElement=t,this.counters=new fy,this.quoteDepth=0,!t.ownerDocument)throw new Error("Cloned element does not have an owner document");this.documentElement=this.cloneNode(t.ownerDocument.documentElement,!1)}return e.prototype.toIFrame=function(e,t){var n=this,r=by(e,t);if(!r.contentWindow)return Promise.reject("Unable to find iframe window");var i=e.defaultView.pageXOffset,a=e.defaultView.pageYOffset,s=r.contentWindow,o=s.document,l=Ry(r).then((function(){return jp(n,void 0,void 0,(function(){var e,n;return Vp(this,(function(i){switch(i.label){case 0:return this.scrolledElements.forEach(Sy),s&&(s.scrollTo(t.left,t.top),!/(iPad|iPhone|iPod)/g.test(navigator.userAgent)||s.scrollY===t.top&&s.scrollX===t.left||(this.context.logger.warn("Unable to restore scroll position for cloned document"),this.context.windowBounds=this.context.windowBounds.add(s.scrollX-t.left,s.scrollY-t.top,0,0))),e=this.options.onclone,void 0===(n=this.clonedReferenceElement)?[2,Promise.reject("Error finding the "+this.referenceElement.nodeName+" in the cloned document")]:o.fonts&&o.fonts.ready?[4,o.fonts.ready]:[3,2];case 1:i.sent(),i.label=2;case 2:return/(AppleWebKit)/g.test(navigator.userAgent)?[4,Py(o)]:[3,4];case 3:i.sent(),i.label=4;case 4:return"function"==typeof e?[2,Promise.resolve().then((function(){return e(o,n)})).then((function(){return r}))]:[2,r]}}))}))}));return o.open(),o.write(By(document.doctype)+""),Oy(this.referenceElement.ownerDocument,i,a),o.replaceChild(o.adoptNode(this.documentElement),o.documentElement),o.close(),l},e.prototype.createElementClone=function(e){if(Yh(e,2),ny(e))return this.createCanvasClone(e);if(ry(e))return this.createVideoClone(e);if(sy(e))return this.createStyleClone(e);var t=e.cloneNode(!1);return iy(t)&&(iy(e)&&e.currentSrc&&e.currentSrc!==e.src&&(t.src=e.currentSrc,t.srcset=""),"lazy"===t.loading&&(t.loading="eager")),cy(t)?this.createCustomElementClone(t):t},e.prototype.createCustomElementClone=function(e){var t=document.createElement("html2canvascustomelement");return _y(e.style,t),t},e.prototype.createStyleClone=function(e){try{var t=e.sheet;if(t&&t.cssRules){var n=[].slice.call(t.cssRules,0).reduce((function(e,t){return t&&"string"==typeof t.cssText?e+t.cssText:e}),""),r=e.cloneNode(!1);return r.textContent=n,r}}catch(e){if(this.context.logger.error("Unable to access cssRules property",e),"SecurityError"!==e.name)throw e}return e.cloneNode(!1)},e.prototype.createCanvasClone=function(e){var t;if(this.options.inlineImages&&e.ownerDocument){var n=e.ownerDocument.createElement("img");try{return n.src=e.toDataURL(),n}catch(t){this.context.logger.info("Unable to inline canvas contents, canvas is tainted",e)}}var r=e.cloneNode(!1);try{r.width=e.width,r.height=e.height;var i=e.getContext("2d"),a=r.getContext("2d");if(a)if(!this.options.allowTaint&&i)a.putImageData(i.getImageData(0,0,e.width,e.height),0,0);else{var s=null!==(t=e.getContext("webgl2"))&&void 0!==t?t:e.getContext("webgl");if(s){var o=s.getContextAttributes();!1===(null==o?void 0:o.preserveDrawingBuffer)&&this.context.logger.warn("Unable to clone WebGL context as it has preserveDrawingBuffer=false",e)}a.drawImage(e,0,0)}return r}catch(t){this.context.logger.info("Unable to clone canvas as it is tainted",e)}return r},e.prototype.createVideoClone=function(e){var t=e.ownerDocument.createElement("canvas");t.width=e.offsetWidth,t.height=e.offsetHeight;var n=t.getContext("2d");try{return n&&(n.drawImage(e,0,0,t.width,t.height),this.options.allowTaint||n.getImageData(0,0,t.width,t.height)),t}catch(t){this.context.logger.info("Unable to clone video as it is tainted",e)}var r=e.ownerDocument.createElement("canvas");return r.width=e.offsetWidth,r.height=e.offsetHeight,r},e.prototype.appendChildNode=function(e,t,n){YI(t)&&(function(e){return"SCRIPT"===e.tagName}(t)||t.hasAttribute("data-html2canvas-ignore")||"function"==typeof this.options.ignoreElements&&this.options.ignoreElements(t))||this.options.copyStyles&&YI(t)&&sy(t)||e.appendChild(this.cloneNode(t,n))},e.prototype.cloneChildNodes=function(e,t,n){for(var r=this,i=e.shadowRoot?e.shadowRoot.firstChild:e.firstChild;i;i=i.nextSibling)if(YI(i)&&uy(i)&&"function"==typeof i.assignedNodes){var a=i.assignedNodes();a.length&&a.forEach((function(e){return r.appendChildNode(t,e,n)}))}else this.appendChildNode(t,i,n)},e.prototype.cloneNode=function(e,t){if(KI(e))return document.createTextNode(e.data);if(!e.ownerDocument)return e.cloneNode(!1);var n=e.ownerDocument.defaultView;if(n&&YI(e)&&(XI(e)||qI(e))){var r=this.createElementClone(e);r.style.transitionProperty="none";var i=n.getComputedStyle(e),a=n.getComputedStyle(e,":before"),s=n.getComputedStyle(e,":after");this.referenceElement===e&&XI(r)&&(this.clonedReferenceElement=r),ty(r)&&My(r);var o=this.counters.parse(new zh(this.context,i)),l=this.resolvePseudoContent(e,r,a,iI.BEFORE);cy(e)&&(t=!0),ry(e)||this.cloneChildNodes(e,r,t),l&&r.insertBefore(l,r.firstChild);var u=this.resolvePseudoContent(e,r,s,iI.AFTER);return u&&r.appendChild(u),this.counters.pop(o),(i&&(this.options.copyStyles||qI(e))&&!ay(e)||t)&&_y(i,r),0===e.scrollTop&&0===e.scrollLeft||this.scrolledElements.push([r,e.scrollLeft,e.scrollTop]),(oy(e)||ly(e))&&(oy(r)||ly(r))&&(r.value=e.value),r}return e.cloneNode(!1)},e.prototype.resolvePseudoContent=function(e,t,n,r){var i=this;if(n){var a=n.content,s=t.ownerDocument;if(s&&a&&"none"!==a&&"-moz-alt-content"!==a&&"none"!==n.display){this.counters.parse(new zh(this.context,n));var o=new Wh(this.context,n),l=s.createElement("html2canvaspseudoelement");_y(n,l),o.content.forEach((function(t){if(0===t.type)l.appendChild(s.createTextNode(t.value));else if(22===t.type){var n=s.createElement("img");n.src=t.value,n.style.opacity="1",l.appendChild(n)}else if(18===t.type){if("attr"===t.name){var r=t.values.filter(Dd);r.length&&l.appendChild(s.createTextNode(e.getAttribute(r[0].value)||""))}else if("counter"===t.name){var a=t.values.filter(_d),u=a[0],c=a[1];if(u&&Dd(u)){var f=i.counters.getCounterValue(u.value),p=c&&Dd(c)?$v.parse(i.context,c.value):3;l.appendChild(s.createTextNode(gy(f,p,!1)))}}else if("counters"===t.name){var A=t.values.filter(_d),d=(u=A[0],A[1]);c=A[2];if(u&&Dd(u)){var v=i.counters.getCounterValues(u.value),h=c&&Dd(c)?$v.parse(i.context,c.value):3,I=d&&0===d.type?d.value:"",y=v.map((function(e){return gy(e,h,!1)})).join(I);l.appendChild(s.createTextNode(y))}}}else if(20===t.type)switch(t.value){case"open-quote":l.appendChild(s.createTextNode(Uh(o.quotes,i.quoteDepth++,!0)));break;case"close-quote":l.appendChild(s.createTextNode(Uh(o.quotes,--i.quoteDepth,!1)));break;default:l.appendChild(s.createTextNode(t.value))}})),l.className=Ny+" "+Ly;var u=r===iI.BEFORE?" "+Ny:" "+Ly;return qI(t)?t.className.baseValue+=u:t.className+=u,l}}},e.destroy=function(e){return!!e.parentNode&&(e.parentNode.removeChild(e),!0)},e}();!function(e){e[e.BEFORE=0]="BEFORE",e[e.AFTER=1]="AFTER"}(iI||(iI={}));var Ty,by=function(e,t){var n=e.createElement("iframe");return n.className="html2canvas-container",n.style.visibility="hidden",n.style.position="fixed",n.style.left="-10000px",n.style.top="0px",n.style.border="0",n.width=t.width.toString(),n.height=t.height.toString(),n.scrolling="no",n.setAttribute("data-html2canvas-ignore","true"),e.body.appendChild(n),n},Dy=function(e){return new Promise((function(t){e.complete?t():e.src?(e.onload=t,e.onerror=t):t()}))},Py=function(e){return Promise.all([].slice.call(e.images,0).map(Dy))},Ry=function(e){return new Promise((function(t,n){var r=e.contentWindow;if(!r)return n("No window assigned for iframe");var i=r.document;r.onload=e.onload=function(){r.onload=e.onload=null;var n=setInterval((function(){i.body.childNodes.length>0&&"complete"===i.readyState&&(clearInterval(n),t(e))}),50)}}))},Cy=["all","d","content"],_y=function(e,t){for(var n=e.length-1;n>=0;n--){var r=e.item(n);-1===Cy.indexOf(r)&&t.style.setProperty(r,e.getPropertyValue(r))}return t},By=function(e){var t="";return e&&(t+=""),t},Oy=function(e,t,n){e&&e.defaultView&&(t!==e.defaultView.pageXOffset||n!==e.defaultView.pageYOffset)&&e.defaultView.scrollTo(t,n)},Sy=function(e){var t=e[0],n=e[1],r=e[2];t.scrollLeft=n,t.scrollTop=r},Ny="___html2canvas___pseudoelement_before",Ly="___html2canvas___pseudoelement_after",My=function(e){xy(e,"."+Ny+':before{\n content: "" !important;\n display: none !important;\n}\n .'+Ly+':after{\n content: "" !important;\n display: none !important;\n}')},xy=function(e,t){var n=e.ownerDocument;if(n){var r=n.createElement("style");r.textContent=t,e.appendChild(r)}},Fy=function(){function e(){}return e.getOrigin=function(t){var n=e._link;return n?(n.href=t,n.href=n.href,n.protocol+n.hostname+n.port):"about:blank"},e.isSameOrigin=function(t){return e.getOrigin(t)===e._origin},e.setContext=function(t){e._link=t.document.createElement("a"),e._origin=e.getOrigin(t.location.href)},e._origin="about:blank",e}(),Hy=function(){function e(e,t){this.context=e,this._options=t,this._cache={}}return e.prototype.addImage=function(e){var t=Promise.resolve();return this.has(e)?t:Wy(e)||jy(e)?((this._cache[e]=this.loadImage(e)).catch((function(){})),t):t},e.prototype.match=function(e){return this._cache[e]},e.prototype.loadImage=function(e){return jp(this,void 0,void 0,(function(){var t,n,r,i,a=this;return Vp(this,(function(s){switch(s.label){case 0:return t=Fy.isSameOrigin(e),n=!Vy(e)&&!0===this._options.useCORS&&II.SUPPORT_CORS_IMAGES&&!t,r=!Vy(e)&&!t&&!Wy(e)&&"string"==typeof this._options.proxy&&II.SUPPORT_CORS_XHR&&!n,t||!1!==this._options.allowTaint||Vy(e)||Wy(e)||r||n?(i=e,r?[4,this.proxy(i)]:[3,2]):[2];case 1:i=s.sent(),s.label=2;case 2:return this.context.logger.debug("Added image "+e.substring(0,256)),[4,new Promise((function(e,t){var r=new Image;r.onload=function(){return e(r)},r.onerror=t,(Qy(i)||n)&&(r.crossOrigin="anonymous"),r.src=i,!0===r.complete&&setTimeout((function(){return e(r)}),500),a._options.imageTimeout>0&&setTimeout((function(){return t("Timed out ("+a._options.imageTimeout+"ms) loading image")}),a._options.imageTimeout)}))];case 3:return[2,s.sent()]}}))}))},e.prototype.has=function(e){return void 0!==this._cache[e]},e.prototype.keys=function(){return Promise.resolve(Object.keys(this._cache))},e.prototype.proxy=function(e){var t=this,n=this._options.proxy;if(!n)throw new Error("No proxy defined");var r=e.substring(0,256);return new Promise((function(i,a){var s=II.SUPPORT_RESPONSE_TYPE?"blob":"text",o=new XMLHttpRequest;o.onload=function(){if(200===o.status)if("text"===s)i(o.response);else{var e=new FileReader;e.addEventListener("load",(function(){return i(e.result)}),!1),e.addEventListener("error",(function(e){return a(e)}),!1),e.readAsDataURL(o.response)}else a("Failed to proxy resource "+r+" with status code "+o.status)},o.onerror=a;var l=n.indexOf("?")>-1?"&":"?";if(o.open("GET",""+n+l+"url="+encodeURIComponent(e)+"&responseType="+s),"text"!==s&&o instanceof XMLHttpRequest&&(o.responseType=s),t._options.imageTimeout){var u=t._options.imageTimeout;o.timeout=u,o.ontimeout=function(){return a("Timed out ("+u+"ms) proxying "+r)}}o.send()}))},e}(),Uy=/^data:image\/svg\+xml/i,Gy=/^data:image\/.*;base64,/i,ky=/^data:image\/.*/i,jy=function(e){return II.SUPPORT_SVG_DRAWING||!zy(e)},Vy=function(e){return ky.test(e)},Qy=function(e){return Gy.test(e)},Wy=function(e){return"blob"===e.substr(0,4)},zy=function(e){return"svg"===e.substr(-3).toLowerCase()||Uy.test(e)},Ky=function(){function e(e,t){this.type=0,this.x=e,this.y=t}return e.prototype.add=function(t,n){return new e(this.x+t,this.y+n)},e}(),Yy=function(e,t,n){return new Ky(e.x+(t.x-e.x)*n,e.y+(t.y-e.y)*n)},Xy=function(){function e(e,t,n,r){this.type=1,this.start=e,this.startControl=t,this.endControl=n,this.end=r}return e.prototype.subdivide=function(t,n){var r=Yy(this.start,this.startControl,t),i=Yy(this.startControl,this.endControl,t),a=Yy(this.endControl,this.end,t),s=Yy(r,i,t),o=Yy(i,a,t),l=Yy(s,o,t);return n?new e(this.start,r,s,l):new e(l,o,a,this.end)},e.prototype.add=function(t,n){return new e(this.start.add(t,n),this.startControl.add(t,n),this.endControl.add(t,n),this.end.add(t,n))},e.prototype.reverse=function(){return new e(this.end,this.endControl,this.startControl,this.start)},e}(),qy=function(e){return 1===e.type},Jy=function(e){var t=e.styles,n=e.bounds,r=Hd(t.borderTopLeftRadius,n.width,n.height),i=r[0],a=r[1],s=Hd(t.borderTopRightRadius,n.width,n.height),o=s[0],l=s[1],u=Hd(t.borderBottomRightRadius,n.width,n.height),c=u[0],f=u[1],p=Hd(t.borderBottomLeftRadius,n.width,n.height),A=p[0],d=p[1],v=[];v.push((i+o)/n.width),v.push((A+c)/n.width),v.push((a+d)/n.height),v.push((l+f)/n.height);var h=Math.max.apply(Math,v);h>1&&(i/=h,a/=h,o/=h,l/=h,c/=h,f/=h,A/=h,d/=h);var I=n.width-o,y=n.height-f,m=n.width-c,w=n.height-d,g=t.borderTopWidth,E=t.borderRightWidth,T=t.borderBottomWidth,b=t.borderLeftWidth,D=Ud(t.paddingTop,e.bounds.width),P=Ud(t.paddingRight,e.bounds.width),R=Ud(t.paddingBottom,e.bounds.width),C=Ud(t.paddingLeft,e.bounds.width);this.topLeftBorderDoubleOuterBox=i>0||a>0?Zy(n.left+b/3,n.top+g/3,i-b/3,a-g/3,Ty.TOP_LEFT):new Ky(n.left+b/3,n.top+g/3),this.topRightBorderDoubleOuterBox=i>0||a>0?Zy(n.left+I,n.top+g/3,o-E/3,l-g/3,Ty.TOP_RIGHT):new Ky(n.left+n.width-E/3,n.top+g/3),this.bottomRightBorderDoubleOuterBox=c>0||f>0?Zy(n.left+m,n.top+y,c-E/3,f-T/3,Ty.BOTTOM_RIGHT):new Ky(n.left+n.width-E/3,n.top+n.height-T/3),this.bottomLeftBorderDoubleOuterBox=A>0||d>0?Zy(n.left+b/3,n.top+w,A-b/3,d-T/3,Ty.BOTTOM_LEFT):new Ky(n.left+b/3,n.top+n.height-T/3),this.topLeftBorderDoubleInnerBox=i>0||a>0?Zy(n.left+2*b/3,n.top+2*g/3,i-2*b/3,a-2*g/3,Ty.TOP_LEFT):new Ky(n.left+2*b/3,n.top+2*g/3),this.topRightBorderDoubleInnerBox=i>0||a>0?Zy(n.left+I,n.top+2*g/3,o-2*E/3,l-2*g/3,Ty.TOP_RIGHT):new Ky(n.left+n.width-2*E/3,n.top+2*g/3),this.bottomRightBorderDoubleInnerBox=c>0||f>0?Zy(n.left+m,n.top+y,c-2*E/3,f-2*T/3,Ty.BOTTOM_RIGHT):new Ky(n.left+n.width-2*E/3,n.top+n.height-2*T/3),this.bottomLeftBorderDoubleInnerBox=A>0||d>0?Zy(n.left+2*b/3,n.top+w,A-2*b/3,d-2*T/3,Ty.BOTTOM_LEFT):new Ky(n.left+2*b/3,n.top+n.height-2*T/3),this.topLeftBorderStroke=i>0||a>0?Zy(n.left+b/2,n.top+g/2,i-b/2,a-g/2,Ty.TOP_LEFT):new Ky(n.left+b/2,n.top+g/2),this.topRightBorderStroke=i>0||a>0?Zy(n.left+I,n.top+g/2,o-E/2,l-g/2,Ty.TOP_RIGHT):new Ky(n.left+n.width-E/2,n.top+g/2),this.bottomRightBorderStroke=c>0||f>0?Zy(n.left+m,n.top+y,c-E/2,f-T/2,Ty.BOTTOM_RIGHT):new Ky(n.left+n.width-E/2,n.top+n.height-T/2),this.bottomLeftBorderStroke=A>0||d>0?Zy(n.left+b/2,n.top+w,A-b/2,d-T/2,Ty.BOTTOM_LEFT):new Ky(n.left+b/2,n.top+n.height-T/2),this.topLeftBorderBox=i>0||a>0?Zy(n.left,n.top,i,a,Ty.TOP_LEFT):new Ky(n.left,n.top),this.topRightBorderBox=o>0||l>0?Zy(n.left+I,n.top,o,l,Ty.TOP_RIGHT):new Ky(n.left+n.width,n.top),this.bottomRightBorderBox=c>0||f>0?Zy(n.left+m,n.top+y,c,f,Ty.BOTTOM_RIGHT):new Ky(n.left+n.width,n.top+n.height),this.bottomLeftBorderBox=A>0||d>0?Zy(n.left,n.top+w,A,d,Ty.BOTTOM_LEFT):new Ky(n.left,n.top+n.height),this.topLeftPaddingBox=i>0||a>0?Zy(n.left+b,n.top+g,Math.max(0,i-b),Math.max(0,a-g),Ty.TOP_LEFT):new Ky(n.left+b,n.top+g),this.topRightPaddingBox=o>0||l>0?Zy(n.left+Math.min(I,n.width-E),n.top+g,I>n.width+E?0:Math.max(0,o-E),Math.max(0,l-g),Ty.TOP_RIGHT):new Ky(n.left+n.width-E,n.top+g),this.bottomRightPaddingBox=c>0||f>0?Zy(n.left+Math.min(m,n.width-b),n.top+Math.min(y,n.height-T),Math.max(0,c-E),Math.max(0,f-T),Ty.BOTTOM_RIGHT):new Ky(n.left+n.width-E,n.top+n.height-T),this.bottomLeftPaddingBox=A>0||d>0?Zy(n.left+b,n.top+Math.min(w,n.height-T),Math.max(0,A-b),Math.max(0,d-T),Ty.BOTTOM_LEFT):new Ky(n.left+b,n.top+n.height-T),this.topLeftContentBox=i>0||a>0?Zy(n.left+b+C,n.top+g+D,Math.max(0,i-(b+C)),Math.max(0,a-(g+D)),Ty.TOP_LEFT):new Ky(n.left+b+C,n.top+g+D),this.topRightContentBox=o>0||l>0?Zy(n.left+Math.min(I,n.width+b+C),n.top+g+D,I>n.width+b+C?0:o-b+C,l-(g+D),Ty.TOP_RIGHT):new Ky(n.left+n.width-(E+P),n.top+g+D),this.bottomRightContentBox=c>0||f>0?Zy(n.left+Math.min(m,n.width-(b+C)),n.top+Math.min(y,n.height+g+D),Math.max(0,c-(E+P)),f-(T+R),Ty.BOTTOM_RIGHT):new Ky(n.left+n.width-(E+P),n.top+n.height-(T+R)),this.bottomLeftContentBox=A>0||d>0?Zy(n.left+b+C,n.top+w,Math.max(0,A-(b+C)),d-(T+R),Ty.BOTTOM_LEFT):new Ky(n.left+b+C,n.top+n.height-(T+R))};!function(e){e[e.TOP_LEFT=0]="TOP_LEFT",e[e.TOP_RIGHT=1]="TOP_RIGHT",e[e.BOTTOM_RIGHT=2]="BOTTOM_RIGHT",e[e.BOTTOM_LEFT=3]="BOTTOM_LEFT"}(Ty||(Ty={}));var Zy=function(e,t,n,r,i){var a=(Math.sqrt(2)-1)/3*4,s=n*a,o=r*a,l=e+n,u=t+r;switch(i){case Ty.TOP_LEFT:return new Xy(new Ky(e,u),new Ky(e,u-o),new Ky(l-s,t),new Ky(l,t));case Ty.TOP_RIGHT:return new Xy(new Ky(e,t),new Ky(e+s,t),new Ky(l,u-o),new Ky(l,u));case Ty.BOTTOM_RIGHT:return new Xy(new Ky(l,t),new Ky(l,t+o),new Ky(e+s,u),new Ky(e,u));case Ty.BOTTOM_LEFT:default:return new Xy(new Ky(l,u),new Ky(l-s,u),new Ky(e,t+o),new Ky(e,t))}},$y=function(e){return[e.topLeftBorderBox,e.topRightBorderBox,e.bottomRightBorderBox,e.bottomLeftBorderBox]},em=function(e){return[e.topLeftPaddingBox,e.topRightPaddingBox,e.bottomRightPaddingBox,e.bottomLeftPaddingBox]},tm=function(e,t,n){this.offsetX=e,this.offsetY=t,this.matrix=n,this.type=0,this.target=6},nm=function(e,t){this.path=e,this.target=t,this.type=1},rm=function(e){this.opacity=e,this.type=2,this.target=6},im=function(e){return 1===e.type},am=function(e,t){return e.length===t.length&&e.some((function(e,n){return e===t[n]}))},sm=function(e){this.element=e,this.inlineLevel=[],this.nonInlineLevel=[],this.negativeZIndex=[],this.zeroOrAutoZIndexOrTransformedOrOpacity=[],this.positiveZIndex=[],this.nonPositionedFloats=[],this.nonPositionedInlineLevel=[]},om=function(){function e(e,t){if(this.container=e,this.parent=t,this.effects=[],this.curves=new Jy(this.container),this.container.styles.opacity<1&&this.effects.push(new rm(this.container.styles.opacity)),null!==this.container.styles.transform){var n=this.container.bounds.left+this.container.styles.transformOrigin[0].number,r=this.container.bounds.top+this.container.styles.transformOrigin[1].number,i=this.container.styles.transform;this.effects.push(new tm(n,r,i))}if(0!==this.container.styles.overflowX){var a=$y(this.curves),s=em(this.curves);am(a,s)?this.effects.push(new nm(a,6)):(this.effects.push(new nm(a,2)),this.effects.push(new nm(s,4)))}}return e.prototype.getEffects=function(e){for(var t=-1===[2,3].indexOf(this.container.styles.position),n=this.parent,r=this.effects.slice(0);n;){var i=n.effects.filter((function(e){return!im(e)}));if(t||0!==n.container.styles.position||!n.parent){if(r.unshift.apply(r,i),t=-1===[2,3].indexOf(n.container.styles.position),0!==n.container.styles.overflowX){var a=$y(n.curves),s=em(n.curves);am(a,s)||r.unshift(new nm(s,6))}}else r.unshift.apply(r,i);n=n.parent}return r.filter((function(t){return Nh(t.target,e)}))},e}(),lm=function e(t,n,r,i){t.container.elements.forEach((function(a){var s=Nh(a.flags,4),o=Nh(a.flags,2),l=new om(a,t);Nh(a.styles.display,2048)&&i.push(l);var u=Nh(a.flags,8)?[]:i;if(s||o){var c=s||a.styles.isPositioned()?r:n,f=new sm(l);if(a.styles.isPositioned()||a.styles.opacity<1||a.styles.isTransformed()){var p=a.styles.zIndex.order;if(p<0){var A=0;c.negativeZIndex.some((function(e,t){return p>e.element.container.styles.zIndex.order?(A=t,!1):A>0})),c.negativeZIndex.splice(A,0,f)}else if(p>0){var d=0;c.positiveZIndex.some((function(e,t){return p>=e.element.container.styles.zIndex.order?(d=t+1,!1):d>0})),c.positiveZIndex.splice(d,0,f)}else c.zeroOrAutoZIndexOrTransformedOrOpacity.push(f)}else a.styles.isFloating()?c.nonPositionedFloats.push(f):c.nonPositionedInlineLevel.push(f);e(l,f,s?f:r,u)}else a.styles.isInlineLevel()?n.inlineLevel.push(l):n.nonInlineLevel.push(l),e(l,n,r,u);Nh(a.flags,8)&&um(a,u)}))},um=function(e,t){for(var n=e instanceof NI?e.start:1,r=e instanceof NI&&e.reversed,i=0;i0&&e.intrinsicHeight>0){var r=vm(e),i=em(t);this.path(i),this.ctx.save(),this.ctx.clip(),this.ctx.drawImage(n,0,0,e.intrinsicWidth,e.intrinsicHeight,r.left,r.top,r.width,r.height),this.ctx.restore()}},t.prototype.renderNodeContent=function(e){return jp(this,void 0,void 0,(function(){var n,r,i,a,s,o,l,u,c,f,p,A,d,v,h,I,y,m;return Vp(this,(function(w){switch(w.label){case 0:this.applyEffects(e.getEffects(4)),n=e.container,r=e.curves,i=n.styles,a=0,s=n.textNodes,w.label=1;case 1:return a0&&T>0&&(I=r.ctx.createPattern(d,"repeat"),r.renderRepeat(m,I,D,P))):function(e){return 2===e.type}(n)&&(y=hm(e,t,[null,null,null]),m=y[0],w=y[1],g=y[2],E=y[3],T=y[4],b=0===n.position.length?[xd]:n.position,D=Ud(b[0],E),P=Ud(b[b.length-1],T),R=function(e,t,n,r,i){var a=0,s=0;switch(e.size){case 0:0===e.shape?a=s=Math.min(Math.abs(t),Math.abs(t-r),Math.abs(n),Math.abs(n-i)):1===e.shape&&(a=Math.min(Math.abs(t),Math.abs(t-r)),s=Math.min(Math.abs(n),Math.abs(n-i)));break;case 2:if(0===e.shape)a=s=Math.min(sv(t,n),sv(t,n-i),sv(t-r,n),sv(t-r,n-i));else if(1===e.shape){var o=Math.min(Math.abs(n),Math.abs(n-i))/Math.min(Math.abs(t),Math.abs(t-r)),l=ov(r,i,t,n,!0),u=l[0],c=l[1];s=o*(a=sv(u-t,(c-n)/o))}break;case 1:0===e.shape?a=s=Math.max(Math.abs(t),Math.abs(t-r),Math.abs(n),Math.abs(n-i)):1===e.shape&&(a=Math.max(Math.abs(t),Math.abs(t-r)),s=Math.max(Math.abs(n),Math.abs(n-i)));break;case 3:if(0===e.shape)a=s=Math.max(sv(t,n),sv(t,n-i),sv(t-r,n),sv(t-r,n-i));else if(1===e.shape){o=Math.max(Math.abs(n),Math.abs(n-i))/Math.max(Math.abs(t),Math.abs(t-r));var f=ov(r,i,t,n,!1);u=f[0],c=f[1],s=o*(a=sv(u-t,(c-n)/o))}}return Array.isArray(e.size)&&(a=Ud(e.size[0],r),s=2===e.size.length?Ud(e.size[1],i):a),[a,s]}(n,D,P,E,T),C=R[0],_=R[1],C>0&&_>0&&(B=r.ctx.createRadialGradient(w+D,g+P,0,w+D,g+P,C),iv(n.stops,2*C).forEach((function(e){return B.addColorStop(e.stop,zd(e.color))})),r.path(m),r.ctx.fillStyle=B,C!==_?(O=e.bounds.left+.5*e.bounds.width,S=e.bounds.top+.5*e.bounds.height,L=1/(N=_/C),r.ctx.save(),r.ctx.translate(O,S),r.ctx.transform(1,0,0,N,0,0),r.ctx.translate(-O,-S),r.ctx.fillRect(w,L*(g-S)+S,E,T*L),r.ctx.restore()):r.ctx.fill())),M.label=6;case 6:return t--,[2]}}))},r=this,i=0,a=e.styles.backgroundImage.slice(0).reverse(),o.label=1;case 1:return i0?2!==l.style?[3,5]:[4,this.renderDashedDottedBorder(l.color,l.width,a,e.curves,2)]:[3,11]:[3,13];case 4:return c.sent(),[3,11];case 5:return 3!==l.style?[3,7]:[4,this.renderDashedDottedBorder(l.color,l.width,a,e.curves,3)];case 6:return c.sent(),[3,11];case 7:return 4!==l.style?[3,9]:[4,this.renderDoubleBorder(l.color,l.width,a,e.curves)];case 8:return c.sent(),[3,11];case 9:return[4,this.renderSolidBorder(l.color,a,e.curves)];case 10:c.sent(),c.label=11;case 11:a++,c.label=12;case 12:return s++,[3,3];case 13:return[2]}}))}))},t.prototype.renderDashedDottedBorder=function(e,t,n,r,i){return jp(this,void 0,void 0,(function(){var a,s,o,l,u,c,f,p,A,d,v,h,I,y,m,w;return Vp(this,(function(g){return this.ctx.save(),a=function(e,t){switch(t){case 0:return pm(e.topLeftBorderStroke,e.topRightBorderStroke);case 1:return pm(e.topRightBorderStroke,e.bottomRightBorderStroke);case 2:return pm(e.bottomRightBorderStroke,e.bottomLeftBorderStroke);default:return pm(e.bottomLeftBorderStroke,e.topLeftBorderStroke)}}(r,n),s=fm(r,n),2===i&&(this.path(s),this.ctx.clip()),qy(s[0])?(o=s[0].start.x,l=s[0].start.y):(o=s[0].x,l=s[0].y),qy(s[1])?(u=s[1].end.x,c=s[1].end.y):(u=s[1].x,c=s[1].y),f=0===n||2===n?Math.abs(o-u):Math.abs(l-c),this.ctx.beginPath(),3===i?this.formatPath(a):this.formatPath(s.slice(0,2)),p=t<3?3*t:2*t,A=t<3?2*t:t,3===i&&(p=t,A=t),d=!0,f<=2*p?d=!1:f<=2*p+A?(p*=v=f/(2*p+A),A*=v):(h=Math.floor((f+A)/(p+A)),I=(f-h*p)/(h-1),A=(y=(f-(h+1)*p)/h)<=0||Math.abs(A-I)0&&void 0!==arguments[0]?arguments[0]:{},t=!this._snapshotBegun,n=void 0!==e.width&&void 0!==e.height,r=this.scene.canvas.canvas,i=r.clientWidth,a=r.clientHeight,s=e.width?Math.floor(e.width):r.width,o=e.height?Math.floor(e.height):r.height;n&&(r.width=s,r.height=o),this._snapshotBegun||this.beginSnapshot({width:s,height:o}),e.includeGizmos||this.sendToPlugins("snapshotStarting");for(var l={},u=0,c=this._plugins.length;u0&&void 0!==g[0]?g[0]:{},n=!this._snapshotBegun,r=void 0!==t.width&&void 0!==t.height,i=this.scene.canvas.canvas,a=i.clientWidth,s=i.clientHeight,l=t.width?Math.floor(t.width):i.width,u=t.height?Math.floor(t.height):i.height,r&&(i.width=l,i.height=u),this._snapshotBegun||this.beginSnapshot(),t.includeGizmos||this.sendToPlugins("snapshotStarting"),this.scene._renderer.renderSnapshot(),c=this.scene._renderer.readSnapshotAsCanvas(),r&&(i.width=a,i.height=s,this.scene.glRedraw()),f={},p=[],A=0,d=this._plugins.length;A1&&void 0!==arguments[1])||arguments[1],n=arguments.length>2?arguments[2]:void 0,r=n||new Set;if(e){if(nw(e))r.add(e);else if(nw(e.buffer))r.add(e.buffer);else if(ArrayBuffer.isView(e));else if(t&&"object"===T(e))for(var i in e)tw(e[i],t,r)}else;return void 0===n?Array.from(r):[]}function nw(e){return!!e&&(e instanceof ArrayBuffer||("undefined"!=typeof MessagePort&&e instanceof MessagePort||("undefined"!=typeof ImageBitmap&&e instanceof ImageBitmap||"undefined"!=typeof OffscreenCanvas&&e instanceof OffscreenCanvas)))}var rw=function(){},iw=function(){function e(t){b(this,e),Xm(this,"name",void 0),Xm(this,"source",void 0),Xm(this,"url",void 0),Xm(this,"terminated",!1),Xm(this,"worker",void 0),Xm(this,"onMessage",void 0),Xm(this,"onError",void 0),Xm(this,"_loadableURL","");var n=t.name,r=t.source,i=t.url;jm(r||i),this.name=n,this.source=r,this.url=i,this.onMessage=rw,this.onError=function(e){return console.log(e)},this.worker=Wm?this._createBrowserWorker():this._createNodeWorker()}return P(e,[{key:"destroy",value:function(){this.onMessage=rw,this.onError=rw,this.worker.terminate(),this.terminated=!0}},{key:"isRunning",get:function(){return Boolean(this.onMessage)}},{key:"postMessage",value:function(e,t){t=t||tw(e),this.worker.postMessage(e,t)}},{key:"_getErrorFromErrorEvent",value:function(e){var t="Failed to load ";return t+="worker ".concat(this.name," from ").concat(this.url,". "),e.message&&(t+="".concat(e.message," in ")),e.lineno&&(t+=":".concat(e.lineno,":").concat(e.colno)),new Error(t)}},{key:"_createBrowserWorker",value:function(){var e=this;this._loadableURL=$m({source:this.source,url:this.url});var t=new Worker(this._loadableURL,{name:this.name});return t.onmessage=function(t){t.data?e.onMessage(t.data):e.onError(new Error("No data received"))},t.onerror=function(t){e.onError(e._getErrorFromErrorEvent(t)),e.terminated=!0},t.onmessageerror=function(e){return console.error(e)},t}},{key:"_createNodeWorker",value:function(){var e,t=this;if(this.url){var n=this.url.includes(":/")||this.url.startsWith("/")?this.url:"./".concat(this.url);e=new Jm(n,{eval:!1})}else{if(!this.source)throw new Error("no worker");e=new Jm(this.source,{eval:!0})}return e.on("message",(function(e){t.onMessage(e)})),e.on("error",(function(e){t.onError(e)})),e.on("exit",(function(e){})),e}}],[{key:"isSupported",value:function(){return"undefined"!=typeof Worker&&Wm||void 0!==T(Jm)}}]),e}(),aw=function(){function e(t){b(this,e),Xm(this,"name","unnamed"),Xm(this,"source",void 0),Xm(this,"url",void 0),Xm(this,"maxConcurrency",1),Xm(this,"maxMobileConcurrency",1),Xm(this,"onDebug",(function(){})),Xm(this,"reuseWorkers",!0),Xm(this,"props",{}),Xm(this,"jobQueue",[]),Xm(this,"idleQueue",[]),Xm(this,"count",0),Xm(this,"isDestroyed",!1),this.source=t.source,this.url=t.url,this.setProps(t)}var t,n;return P(e,[{key:"destroy",value:function(){this.idleQueue.forEach((function(e){return e.destroy()})),this.isDestroyed=!0}},{key:"setProps",value:function(e){this.props=a(a({},this.props),e),void 0!==e.name&&(this.name=e.name),void 0!==e.maxConcurrency&&(this.maxConcurrency=e.maxConcurrency),void 0!==e.maxMobileConcurrency&&(this.maxMobileConcurrency=e.maxMobileConcurrency),void 0!==e.reuseWorkers&&(this.reuseWorkers=e.reuseWorkers),void 0!==e.onDebug&&(this.onDebug=e.onDebug)}},{key:"startJob",value:(n=u(o().mark((function e(t){var n,r,i,a=this,s=arguments;return o().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return n=s.length>1&&void 0!==s[1]?s[1]:function(e,t,n){return e.done(n)},r=s.length>2&&void 0!==s[2]?s[2]:function(e,t){return e.error(t)},i=new Promise((function(e){return a.jobQueue.push({name:t,onMessage:n,onError:r,onStart:e}),a})),this._startQueuedJob(),e.next=6,i;case 6:return e.abrupt("return",e.sent);case 7:case"end":return e.stop()}}),e,this)}))),function(e){return n.apply(this,arguments)})},{key:"_startQueuedJob",value:(t=u(o().mark((function e(){var t,n,r;return o().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(this.jobQueue.length){e.next=2;break}return e.abrupt("return");case 2:if(t=this._getAvailableWorker()){e.next=5;break}return e.abrupt("return");case 5:if(!(n=this.jobQueue.shift())){e.next=18;break}return this.onDebug({message:"Starting job",name:n.name,workerThread:t,backlog:this.jobQueue.length}),r=new qm(n.name,t),t.onMessage=function(e){return n.onMessage(r,e.type,e.payload)},t.onError=function(e){return n.onError(r,e)},n.onStart(r),e.prev=12,e.next=15,r.result;case 15:return e.prev=15,this.returnWorkerToQueue(t),e.finish(15);case 18:case"end":return e.stop()}}),e,this,[[12,,15,18]])}))),function(){return t.apply(this,arguments)})},{key:"returnWorkerToQueue",value:function(e){this.isDestroyed||!this.reuseWorkers||this.count>this._getMaxConcurrency()?(e.destroy(),this.count--):this.idleQueue.push(e),this.isDestroyed||this._startQueuedJob()}},{key:"_getAvailableWorker",value:function(){if(this.idleQueue.length>0)return this.idleQueue.shift()||null;if(this.count0&&void 0!==arguments[0]?arguments[0]:{};return e._workerFarm=e._workerFarm||new e({}),e._workerFarm.setProps(t),e._workerFarm}}]),e}();Xm(ow,"_workerFarm",void 0);function lw(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=t[e.id]||{},r="".concat(e.id,"-worker.js"),i=n.workerUrl;if(i||"compression"!==e.id||(i=t.workerUrl),"test"===t._workerType&&(i="modules/".concat(e.module,"/dist/").concat(r)),!i){var a=e.version;"latest"===a&&(a="latest");var s=a?"@".concat(a):"";i="https://unpkg.com/@loaders.gl/".concat(e.module).concat(s,"/dist/").concat(r)}return jm(i),i}function uw(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"3.2.6";jm(e,"no worker provided");var n=e.version;return!(!t||!n)}var cw=Object.freeze({__proto__:null,default:{}}),fw={};function pw(e){return Aw.apply(this,arguments)}function Aw(){return Aw=u(o().mark((function e(t){var n,r,i=arguments;return o().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return n=i.length>1&&void 0!==i[1]?i[1]:null,r=i.length>2&&void 0!==i[2]?i[2]:{},n&&(t=dw(t,n,r)),fw[t]=fw[t]||vw(t),e.next=6,fw[t];case 6:return e.abrupt("return",e.sent);case 7:case"end":return e.stop()}}),e)}))),Aw.apply(this,arguments)}function dw(e,t,n){if(e.startsWith("http"))return e;var r=n.modules||{};return r[e]?r[e]:Wm?n.CDN?(jm(n.CDN.startsWith("http")),"".concat(n.CDN,"/").concat(t,"@").concat("3.2.6","/dist/libs/").concat(e)):zm?"../src/libs/".concat(e):"modules/".concat(t,"/src/libs/").concat(e):"modules/".concat(t,"/dist/libs/").concat(e)}function vw(e){return hw.apply(this,arguments)}function hw(){return(hw=u(o().mark((function e(t){var n,r,i;return o().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(!t.endsWith("wasm")){e.next=7;break}return e.next=3,fetch(t);case 3:return n=e.sent,e.next=6,n.arrayBuffer();case 6:return e.abrupt("return",e.sent);case 7:if(Wm){e.next=20;break}if(e.prev=8,e.t0=cw&&void 0,!e.t0){e.next=14;break}return e.next=13,(void 0)(t);case 13:e.t0=e.sent;case 14:return e.abrupt("return",e.t0);case 17:return e.prev=17,e.t1=e.catch(8),e.abrupt("return",null);case 20:if(!zm){e.next=22;break}return e.abrupt("return",importScripts(t));case 22:return e.next=24,fetch(t);case 24:return r=e.sent,e.next=27,r.text();case 27:return i=e.sent,e.abrupt("return",Iw(i,t));case 29:case"end":return e.stop()}}),e,null,[[8,17]])})))).apply(this,arguments)}function Iw(e,t){if(Wm){if(zm)return eval.call(Qm,e),null;var n=document.createElement("script");n.id=t;try{n.appendChild(document.createTextNode(e))}catch(t){n.text=e}return document.body.appendChild(n),null}}function yw(e,t){return!!ow.isSupported()&&(!!(Wm||null!=t&&t._nodeWorkers)&&(e.worker&&(null==t?void 0:t.worker)))}function mw(e,t,n,r,i){return ww.apply(this,arguments)}function ww(){return ww=u(o().mark((function e(t,n,r,i,a){var s,l,u,c,f,p;return o().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return s=t.id,l=lw(t,r),u=ow.getWorkerFarm(r),c=u.getWorkerPool({name:s,url:l}),r=JSON.parse(JSON.stringify(r)),i=JSON.parse(JSON.stringify(i||{})),e.next=8,c.startJob("process-on-worker",gw.bind(null,a));case 8:return(f=e.sent).postMessage("process",{input:n,options:r,context:i}),e.next=12,f.result;case 12:return p=e.sent,e.next=15,p.result;case 15:return e.abrupt("return",e.sent);case 16:case"end":return e.stop()}}),e)}))),ww.apply(this,arguments)}function gw(e,t,n,r){return Ew.apply(this,arguments)}function Ew(){return(Ew=u(o().mark((function e(t,n,r,i){var a,s,l,u,c;return o().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:e.t0=r,e.next="done"===e.t0?3:"error"===e.t0?5:"process"===e.t0?7:20;break;case 3:return n.done(i),e.abrupt("break",21);case 5:return n.error(new Error(i.error)),e.abrupt("break",21);case 7:return a=i.id,s=i.input,l=i.options,e.prev=8,e.next=11,t(s,l);case 11:u=e.sent,n.postMessage("done",{id:a,result:u}),e.next=19;break;case 15:e.prev=15,e.t1=e.catch(8),c=e.t1 instanceof Error?e.t1.message:"unknown error",n.postMessage("error",{id:a,error:c});case 19:return e.abrupt("break",21);case 20:console.warn("parse-with-worker unknown message ".concat(r));case 21:case"end":return e.stop()}}),e,null,[[8,15]])})))).apply(this,arguments)}function Tw(e,t,n){if(e.byteLength<=t+n)return"";for(var r=new DataView(e),i="",a=0;a1&&void 0!==arguments[1]?arguments[1]:5;if("string"==typeof e)return e.slice(0,t);if(ArrayBuffer.isView(e))return Tw(e.buffer,e.byteOffset,t);if(e instanceof ArrayBuffer){return Tw(e,0,t)}return""}(e),'"'))}}function Dw(e){return e&&"object"===T(e)&&e.isBuffer}function Pw(e){if(Dw(e))return Dw(t=e)?new Uint8Array(t.buffer,t.byteOffset,t.length).slice().buffer:t;var t;if(e instanceof ArrayBuffer)return e;if(ArrayBuffer.isView(e))return 0===e.byteOffset&&e.byteLength===e.buffer.byteLength?e.buffer:e.buffer.slice(e.byteOffset,e.byteOffset+e.byteLength);if("string"==typeof e){var n=e;return(new TextEncoder).encode(n).buffer}if(e&&"object"===T(e)&&e._toArrayBuffer)return e._toArrayBuffer();throw new Error("toArrayBuffer")}function Rw(){for(var e=arguments.length,t=new Array(e),n=0;n=0),Um(t>0),e+(t-1)&~(t-1)}function Bw(e,t,n){var r;if(e instanceof ArrayBuffer)r=new Uint8Array(e);else{var i=e.byteOffset,a=e.byteLength;r=new Uint8Array(e.buffer||e.arrayBuffer,i,a)}return t.set(r,n),n+_w(r.byteLength,4)}function Ow(e){return Sw.apply(this,arguments)}function Sw(){return(Sw=u(o().mark((function e(t){var n,r,i,a,s,l,u;return o().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:n=[],r=!1,i=!1,e.prev=3,s=O(t);case 5:return e.next=7,s.next();case 7:if(!(r=!(l=e.sent).done)){e.next=13;break}u=l.value,n.push(u);case 10:r=!1,e.next=5;break;case 13:e.next=19;break;case 15:e.prev=15,e.t0=e.catch(3),i=!0,a=e.t0;case 19:if(e.prev=19,e.prev=20,!r||null==s.return){e.next=24;break}return e.next=24,s.return();case 24:if(e.prev=24,!i){e.next=27;break}throw a;case 27:return e.finish(24);case 28:return e.finish(19);case 29:return e.abrupt("return",Rw.apply(void 0,n));case 30:case"end":return e.stop()}}),e,null,[[3,15,19,29],[20,,24,28]])})))).apply(this,arguments)}var Nw={};function Lw(e){for(var t in Nw)if(e.startsWith(t)){var n=Nw[t];e=e.replace(t,n)}return e.startsWith("http://")||e.startsWith("https://")||(e="".concat("").concat(e)),e}var Mw=function(e){return"function"==typeof e},xw=function(e){return null!==e&&"object"===T(e)},Fw=function(e){return xw(e)&&e.constructor==={}.constructor},Hw=function(e){return e&&"function"==typeof e[Symbol.iterator]},Uw=function(e){return e&&"function"==typeof e[Symbol.asyncIterator]},Gw=function(e){return"undefined"!=typeof Response&&e instanceof Response||e&&e.arrayBuffer&&e.text&&e.json},kw=function(e){return"undefined"!=typeof Blob&&e instanceof Blob},jw=function(e){return function(e){return"undefined"!=typeof ReadableStream&&e instanceof ReadableStream||xw(e)&&Mw(e.tee)&&Mw(e.cancel)&&Mw(e.getReader)}(e)||function(e){return xw(e)&&Mw(e.read)&&Mw(e.pipe)&&function(e){return"boolean"==typeof e}(e.readable)}(e)},Vw=/^data:([-\w.]+\/[-\w.+]+)(;|,)/,Qw=/^([-\w.]+\/[-\w.+]+)/;function Ww(e){var t=Qw.exec(e);return t?t[1]:e}function zw(e){var t=Vw.exec(e);return t?t[1]:""}var Kw=/\?.*/;function Yw(e){if(Gw(e)){var t=qw(e.url||"");return{url:t,type:Ww(e.headers.get("content-type")||"")||zw(t)}}return kw(e)?{url:qw(e.name||""),type:e.type||""}:"string"==typeof e?{url:qw(e),type:zw(e)}:{url:"",type:""}}function Xw(e){return Gw(e)?e.headers["content-length"]||-1:kw(e)?e.size:"string"==typeof e?e.length:e instanceof ArrayBuffer||ArrayBuffer.isView(e)?e.byteLength:-1}function qw(e){return e.replace(Kw,"")}function Jw(e){return Zw.apply(this,arguments)}function Zw(){return(Zw=u(o().mark((function e(t){var n,r,i,a,s,l,u;return o().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(!Gw(t)){e.next=2;break}return e.abrupt("return",t);case 2:return n={},(r=Xw(t))>=0&&(n["content-length"]=String(r)),i=Yw(t),a=i.url,(s=i.type)&&(n["content-type"]=s),e.next=9,rg(t);case 9:return(l=e.sent)&&(n["x-first-bytes"]=l),"string"==typeof t&&(t=(new TextEncoder).encode(t)),u=new Response(t,{headers:n}),Object.defineProperty(u,"url",{value:a}),e.abrupt("return",u);case 15:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function $w(e){return eg.apply(this,arguments)}function eg(){return(eg=u(o().mark((function e(t){var n;return o().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(t.ok){e.next=5;break}return e.next=3,tg(t);case 3:throw n=e.sent,new Error(n);case 5:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function tg(e){return ng.apply(this,arguments)}function ng(){return(ng=u(o().mark((function e(t){var n,r,i;return o().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(n="Failed to fetch resource ".concat(t.url," (").concat(t.status,"): "),e.prev=1,r=t.headers.get("Content-Type"),i=t.statusText,!r.includes("application/json")){e.next=11;break}return e.t0=i,e.t1=" ",e.next=9,t.text();case 9:e.t2=e.sent,i=e.t0+=e.t1.concat.call(e.t1,e.t2);case 11:n=(n+=i).length>60?"".concat(n.slice(0,60),"..."):n,e.next=17;break;case 15:e.prev=15,e.t3=e.catch(1);case 17:return e.abrupt("return",n);case 18:case"end":return e.stop()}}),e,null,[[1,15]])})))).apply(this,arguments)}function rg(e){return ig.apply(this,arguments)}function ig(){return(ig=u(o().mark((function e(t){var n,r,i,a;return o().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(n=5,"string"!=typeof t){e.next=3;break}return e.abrupt("return","data:,".concat(t.slice(0,n)));case 3:if(!(t instanceof Blob)){e.next=8;break}return r=t.slice(0,5),e.next=7,new Promise((function(e){var t=new FileReader;t.onload=function(t){var n;return e(null==t||null===(n=t.target)||void 0===n?void 0:n.result)},t.readAsDataURL(r)}));case 7:return e.abrupt("return",e.sent);case 8:if(!(t instanceof ArrayBuffer)){e.next=12;break}return i=t.slice(0,n),a=ag(i),e.abrupt("return","data:base64,".concat(a));case 12:return e.abrupt("return",null);case 13:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function ag(e){for(var t="",n=new Uint8Array(e),r=0;r=0)}();function Ag(e){try{var t=window[e],n="__storage_test__";return t.setItem(n,n),t.removeItem(n),t}catch(e){return null}}var dg=function(){function e(t,n){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"sessionStorage";b(this,e),this.storage=Ag(r),this.id=t,this.config={},Object.assign(this.config,n),this._loadConfiguration()}return P(e,[{key:"getConfiguration",value:function(){return this.config}},{key:"setConfiguration",value:function(e){return this.config={},this.updateConfiguration(e)}},{key:"updateConfiguration",value:function(e){if(Object.assign(this.config,e),this.storage){var t=JSON.stringify(this.config);this.storage.setItem(this.id,t)}return this}},{key:"_loadConfiguration",value:function(){var e={};if(this.storage){var t=this.storage.getItem(this.id);e=t?JSON.parse(t):{}}return Object.assign(this.config,e),this}}]),e}();function vg(e,t,n){var r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:600,i=e.src.replace(/\(/g,"%28").replace(/\)/g,"%29");e.width>r&&(n=Math.min(n,r/e.width));var a=e.width*n,s=e.height*n,o=["font-size:1px;","padding:".concat(Math.floor(s/2),"px ").concat(Math.floor(a/2),"px;"),"line-height:".concat(s,"px;"),"background:url(".concat(i,");"),"background-size:".concat(a,"px ").concat(s,"px;"),"color:transparent;"].join("");return["".concat(t," %c+"),o]}var hg={BLACK:30,RED:31,GREEN:32,YELLOW:33,BLUE:34,MAGENTA:35,CYAN:36,WHITE:37,BRIGHT_BLACK:90,BRIGHT_RED:91,BRIGHT_GREEN:92,BRIGHT_YELLOW:93,BRIGHT_BLUE:94,BRIGHT_MAGENTA:95,BRIGHT_CYAN:96,BRIGHT_WHITE:97};function Ig(e){return"string"==typeof e?hg[e.toUpperCase()]||hg.WHITE:e}function yg(e){var t,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:["constructor"],r=Object.getPrototypeOf(e),i=Object.getOwnPropertyNames(r),a=f(i);try{var s=function(){var r=t.value;"function"==typeof e[r]&&(n.find((function(e){return r===e}))||(e[r]=e[r].bind(e)))};for(a.s();!(t=a.n()).done;)s()}catch(e){a.e(e)}finally{a.f()}}function mg(e,t){if(!e)throw new Error(t||"Assertion failed")}function wg(){var e;if(pg&&ug.performance)e=ug.performance.now();else if(cg.hrtime){var t=cg.hrtime();e=1e3*t[0]+t[1]/1e6}else e=Date.now();return e}var gg={debug:pg&&console.debug||console.log,log:console.log,info:console.info,warn:console.warn,error:console.error},Eg={enabled:!0,level:0};function Tg(){}var bg={},Dg={once:!0};function Pg(e){for(var t in e)for(var n in e[t])return n||"untitled";return"empty"}var Rg=function(){function e(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{id:""},n=t.id;b(this,e),this.id=n,this.VERSION=fg,this._startTs=wg(),this._deltaTs=wg(),this.LOG_THROTTLE_TIMEOUT=0,this._storage=new dg("__probe-".concat(this.id,"__"),Eg),this.userData={},this.timeStamp("".concat(this.id," started")),yg(this),Object.seal(this)}return P(e,[{key:"level",get:function(){return this.getLevel()},set:function(e){this.setLevel(e)}},{key:"isEnabled",value:function(){return this._storage.config.enabled}},{key:"getLevel",value:function(){return this._storage.config.level}},{key:"getTotal",value:function(){return Number((wg()-this._startTs).toPrecision(10))}},{key:"getDelta",value:function(){return Number((wg()-this._deltaTs).toPrecision(10))}},{key:"priority",get:function(){return this.level},set:function(e){this.level=e}},{key:"getPriority",value:function(){return this.level}},{key:"enable",value:function(){var e=!(arguments.length>0&&void 0!==arguments[0])||arguments[0];return this._storage.updateConfiguration({enabled:e}),this}},{key:"setLevel",value:function(e){return this._storage.updateConfiguration({level:e}),this}},{key:"assert",value:function(e,t){mg(e,t)}},{key:"warn",value:function(e){return this._getLogFunction(0,e,gg.warn,arguments,Dg)}},{key:"error",value:function(e){return this._getLogFunction(0,e,gg.error,arguments)}},{key:"deprecated",value:function(e,t){return this.warn("`".concat(e,"` is deprecated and will be removed in a later version. Use `").concat(t,"` instead"))}},{key:"removed",value:function(e,t){return this.error("`".concat(e,"` has been removed. Use `").concat(t,"` instead"))}},{key:"probe",value:function(e,t){return this._getLogFunction(e,t,gg.log,arguments,{time:!0,once:!0})}},{key:"log",value:function(e,t){return this._getLogFunction(e,t,gg.debug,arguments)}},{key:"info",value:function(e,t){return this._getLogFunction(e,t,console.info,arguments)}},{key:"once",value:function(e,t){return this._getLogFunction(e,t,gg.debug||gg.info,arguments,Dg)}},{key:"table",value:function(e,t,n){return t?this._getLogFunction(e,t,console.table||Tg,n&&[n],{tag:Pg(t)}):Tg}},{key:"image",value:function(e){function t(t){return e.apply(this,arguments)}return t.toString=function(){return e.toString()},t}((function(e){var t=e.logLevel,n=e.priority,r=e.image,i=e.message,a=void 0===i?"":i,s=e.scale,o=void 0===s?1:s;return this._shouldLog(t||n)?pg?function(e){var t=e.image,n=e.message,r=void 0===n?"":n,i=e.scale,a=void 0===i?1:i;if("string"==typeof t){var s=new Image;return s.onload=function(){var e,t=vg(s,r,a);(e=console).log.apply(e,c(t))},s.src=t,Tg}var o=t.nodeName||"";if("img"===o.toLowerCase()){var l;return(l=console).log.apply(l,c(vg(t,r,a))),Tg}if("canvas"===o.toLowerCase()){var u=new Image;return u.onload=function(){var e;return(e=console).log.apply(e,c(vg(u,r,a)))},u.src=t.toDataURL(),Tg}return Tg}({image:r,message:a,scale:o}):function(e){var t=e.image,n=(e.message,e.scale),r=void 0===n?1:n,i=null;try{i=module.require("asciify-image")}catch(e){}if(i)return function(){return i(t,{fit:"box",width:"".concat(Math.round(80*r),"%")}).then((function(e){return console.log(e)}))};return Tg}({image:r,message:a,scale:o}):Tg}))},{key:"settings",value:function(){console.table?console.table(this._storage.config):console.log(this._storage.config)}},{key:"get",value:function(e){return this._storage.config[e]}},{key:"set",value:function(e,t){this._storage.updateConfiguration(s({},e,t))}},{key:"time",value:function(e,t){return this._getLogFunction(e,t,console.time?console.time:console.info)}},{key:"timeEnd",value:function(e,t){return this._getLogFunction(e,t,console.timeEnd?console.timeEnd:console.info)}},{key:"timeStamp",value:function(e,t){return this._getLogFunction(e,t,console.timeStamp||Tg)}},{key:"group",value:function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{collapsed:!1},r=n=_g({logLevel:e,message:t,opts:n}),i=r.collapsed;return n.method=(i?console.groupCollapsed:console.group)||console.info,this._getLogFunction(n)}},{key:"groupCollapsed",value:function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return this.group(e,t,Object.assign({},n,{collapsed:!0}))}},{key:"groupEnd",value:function(e){return this._getLogFunction(e,"",console.groupEnd||Tg)}},{key:"withGroup",value:function(e,t,n){this.group(e,t)();try{n()}finally{this.groupEnd(e)()}}},{key:"trace",value:function(){console.trace&&console.trace()}},{key:"_shouldLog",value:function(e){return this.isEnabled()&&this.getLevel()>=Cg(e)}},{key:"_getLogFunction",value:function(e,t,n){var r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:[],i=arguments.length>4?arguments[4]:void 0;if(this._shouldLog(e)){var a;i=_g({logLevel:e,message:t,args:r,opts:i}),mg(n=n||i.method),i.total=this.getTotal(),i.delta=this.getDelta(),this._deltaTs=wg();var s=i.tag||i.message;if(i.once){if(bg[s])return Tg;bg[s]=wg()}return t=Bg(this.id,i.message,i),(a=n).bind.apply(a,[console,t].concat(c(i.args)))}return Tg}}]),e}();function Cg(e){if(!e)return 0;var t;switch(T(e)){case"number":t=e;break;case"object":t=e.logLevel||e.priority||0;break;default:return 0}return mg(Number.isFinite(t)&&t>=0),t}function _g(e){var t=e.logLevel,n=e.message;e.logLevel=Cg(t);for(var r=e.args?Array.from(e.args):[];r.length&&r.shift()!==n;);switch(e.args=r,T(t)){case"string":case"function":void 0!==n&&r.unshift(n),e.message=t;break;case"object":Object.assign(e,t)}"function"==typeof e.message&&(e.message=e.message());var i=T(e.message);return mg("string"===i||"object"===i),Object.assign(e,e.opts)}function Bg(e,t,n){if("string"==typeof t){var r=n.time?function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:8,n=Math.max(t-e.length,0);return"".concat(" ".repeat(n)).concat(e)}((i=n.total)<10?"".concat(i.toFixed(2),"ms"):i<100?"".concat(i.toFixed(1),"ms"):i<1e3?"".concat(i.toFixed(0),"ms"):"".concat((i/1e3).toFixed(2),"s")):"";t=function(e,t,n){return pg||"string"!=typeof e||(t&&(t=Ig(t),e="[".concat(t,"m").concat(e,"")),n&&(t=Ig(n),e="[".concat(n+10,"m").concat(e,""))),e}(t=n.time?"".concat(e,": ").concat(r," ").concat(t):"".concat(e,": ").concat(t),n.color,n.background)}var i;return t}Rg.VERSION=fg;var Og=new Rg({id:"loaders.gl"}),Sg=function(){function e(){b(this,e)}return P(e,[{key:"log",value:function(){return function(){}}},{key:"info",value:function(){return function(){}}},{key:"warn",value:function(){return function(){}}},{key:"error",value:function(){return function(){}}}]),e}(),Ng={fetch:null,mimeType:void 0,nothrow:!1,log:new(function(){function e(){b(this,e),Xm(this,"console",void 0),this.console=console}return P(e,[{key:"log",value:function(){for(var e,t=arguments.length,n=new Array(t),r=0;r=0)}()}var zg={self:"undefined"!=typeof self&&self,window:"undefined"!=typeof window&&window,global:"undefined"!=typeof global&&global,document:"undefined"!=typeof document&&document,process:"object"===("undefined"==typeof process?"undefined":T(process))&&process},Kg=zg.window||zg.self||zg.global,Yg=zg.process||{},Xg="undefined"!=typeof __VERSION__?__VERSION__:"untranspiled source";function qg(e){try{var t=window[e],n="__storage_test__";return t.setItem(n,n),t.removeItem(n),t}catch(e){return null}}Wg();var Jg,Zg=function(){function e(t){b(this,e);var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"sessionStorage";Xm(this,"storage",void 0),Xm(this,"id",void 0),Xm(this,"config",{}),this.storage=qg(r),this.id=t,this.config={},Object.assign(this.config,n),this._loadConfiguration()}return P(e,[{key:"getConfiguration",value:function(){return this.config}},{key:"setConfiguration",value:function(e){return this.config={},this.updateConfiguration(e)}},{key:"updateConfiguration",value:function(e){if(Object.assign(this.config,e),this.storage){var t=JSON.stringify(this.config);this.storage.setItem(this.id,t)}return this}},{key:"_loadConfiguration",value:function(){var e={};if(this.storage){var t=this.storage.getItem(this.id);e=t?JSON.parse(t):{}}return Object.assign(this.config,e),this}}]),e}();function $g(e,t,n){var r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:600,i=e.src.replace(/\(/g,"%28").replace(/\)/g,"%29");e.width>r&&(n=Math.min(n,r/e.width));var a=e.width*n,s=e.height*n,o=["font-size:1px;","padding:".concat(Math.floor(s/2),"px ").concat(Math.floor(a/2),"px;"),"line-height:".concat(s,"px;"),"background:url(".concat(i,");"),"background-size:".concat(a,"px ").concat(s,"px;"),"color:transparent;"].join("");return["".concat(t," %c+"),o]}function eE(e){return"string"==typeof e?Jg[e.toUpperCase()]||Jg.WHITE:e}function tE(e){var t,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:["constructor"],r=Object.getPrototypeOf(e),i=Object.getOwnPropertyNames(r),a=f(i);try{var s=function(){var r=t.value;"function"==typeof e[r]&&(n.find((function(e){return r===e}))||(e[r]=e[r].bind(e)))};for(a.s();!(t=a.n()).done;)s()}catch(e){a.e(e)}finally{a.f()}}function nE(e,t){if(!e)throw new Error(t||"Assertion failed")}function rE(){var e,t,n;if(Wg&&"performance"in Kg)e=null==Kg||null===(t=Kg.performance)||void 0===t||null===(n=t.now)||void 0===n?void 0:n.call(t);else if("hrtime"in Yg){var r,i=null==Yg||null===(r=Yg.hrtime)||void 0===r?void 0:r.call(Yg);e=1e3*i[0]+i[1]/1e6}else e=Date.now();return e}!function(e){e[e.BLACK=30]="BLACK",e[e.RED=31]="RED",e[e.GREEN=32]="GREEN",e[e.YELLOW=33]="YELLOW",e[e.BLUE=34]="BLUE",e[e.MAGENTA=35]="MAGENTA",e[e.CYAN=36]="CYAN",e[e.WHITE=37]="WHITE",e[e.BRIGHT_BLACK=90]="BRIGHT_BLACK",e[e.BRIGHT_RED=91]="BRIGHT_RED",e[e.BRIGHT_GREEN=92]="BRIGHT_GREEN",e[e.BRIGHT_YELLOW=93]="BRIGHT_YELLOW",e[e.BRIGHT_BLUE=94]="BRIGHT_BLUE",e[e.BRIGHT_MAGENTA=95]="BRIGHT_MAGENTA",e[e.BRIGHT_CYAN=96]="BRIGHT_CYAN",e[e.BRIGHT_WHITE=97]="BRIGHT_WHITE"}(Jg||(Jg={}));var iE={debug:Wg&&console.debug||console.log,log:console.log,info:console.info,warn:console.warn,error:console.error},aE={enabled:!0,level:0};function sE(){}var oE={},lE={once:!0},uE=function(){function e(){b(this,e);var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{id:""},n=t.id;Xm(this,"id",void 0),Xm(this,"VERSION",Xg),Xm(this,"_startTs",rE()),Xm(this,"_deltaTs",rE()),Xm(this,"_storage",void 0),Xm(this,"userData",{}),Xm(this,"LOG_THROTTLE_TIMEOUT",0),this.id=n,this._storage=new Zg("__probe-".concat(this.id,"__"),aE),this.userData={},this.timeStamp("".concat(this.id," started")),tE(this),Object.seal(this)}return P(e,[{key:"level",get:function(){return this.getLevel()},set:function(e){this.setLevel(e)}},{key:"isEnabled",value:function(){return this._storage.config.enabled}},{key:"getLevel",value:function(){return this._storage.config.level}},{key:"getTotal",value:function(){return Number((rE()-this._startTs).toPrecision(10))}},{key:"getDelta",value:function(){return Number((rE()-this._deltaTs).toPrecision(10))}},{key:"priority",get:function(){return this.level},set:function(e){this.level=e}},{key:"getPriority",value:function(){return this.level}},{key:"enable",value:function(){var e=!(arguments.length>0&&void 0!==arguments[0])||arguments[0];return this._storage.updateConfiguration({enabled:e}),this}},{key:"setLevel",value:function(e){return this._storage.updateConfiguration({level:e}),this}},{key:"get",value:function(e){return this._storage.config[e]}},{key:"set",value:function(e,t){this._storage.updateConfiguration(s({},e,t))}},{key:"settings",value:function(){console.table?console.table(this._storage.config):console.log(this._storage.config)}},{key:"assert",value:function(e,t){nE(e,t)}},{key:"warn",value:function(e){return this._getLogFunction(0,e,iE.warn,arguments,lE)}},{key:"error",value:function(e){return this._getLogFunction(0,e,iE.error,arguments)}},{key:"deprecated",value:function(e,t){return this.warn("`".concat(e,"` is deprecated and will be removed in a later version. Use `").concat(t,"` instead"))}},{key:"removed",value:function(e,t){return this.error("`".concat(e,"` has been removed. Use `").concat(t,"` instead"))}},{key:"probe",value:function(e,t){return this._getLogFunction(e,t,iE.log,arguments,{time:!0,once:!0})}},{key:"log",value:function(e,t){return this._getLogFunction(e,t,iE.debug,arguments)}},{key:"info",value:function(e,t){return this._getLogFunction(e,t,console.info,arguments)}},{key:"once",value:function(e,t){for(var n=arguments.length,r=new Array(n>2?n-2:0),i=2;i2&&void 0!==arguments[2]?arguments[2]:{collapsed:!1},r=fE({logLevel:e,message:t,opts:n}),i=n.collapsed;return r.method=(i?console.groupCollapsed:console.group)||console.info,this._getLogFunction(r)}},{key:"groupCollapsed",value:function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return this.group(e,t,Object.assign({},n,{collapsed:!0}))}},{key:"groupEnd",value:function(e){return this._getLogFunction(e,"",console.groupEnd||sE)}},{key:"withGroup",value:function(e,t,n){this.group(e,t)();try{n()}finally{this.groupEnd(e)()}}},{key:"trace",value:function(){console.trace&&console.trace()}},{key:"_shouldLog",value:function(e){return this.isEnabled()&&this.getLevel()>=cE(e)}},{key:"_getLogFunction",value:function(e,t,n,r,i){if(this._shouldLog(e)){var a;i=fE({logLevel:e,message:t,args:r,opts:i}),nE(n=n||i.method),i.total=this.getTotal(),i.delta=this.getDelta(),this._deltaTs=rE();var s=i.tag||i.message;if(i.once){if(oE[s])return sE;oE[s]=rE()}return t=function(e,t,n){if("string"==typeof t){var r=n.time?function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:8,n=Math.max(t-e.length,0);return"".concat(" ".repeat(n)).concat(e)}((i=n.total)<10?"".concat(i.toFixed(2),"ms"):i<100?"".concat(i.toFixed(1),"ms"):i<1e3?"".concat(i.toFixed(0),"ms"):"".concat((i/1e3).toFixed(2),"s")):"";t=function(e,t,n){return Wg||"string"!=typeof e||(t&&(t=eE(t),e="[".concat(t,"m").concat(e,"")),n&&(t=eE(n),e="[".concat(n+10,"m").concat(e,""))),e}(t=n.time?"".concat(e,": ").concat(r," ").concat(t):"".concat(e,": ").concat(t),n.color,n.background)}var i;return t}(this.id,i.message,i),(a=n).bind.apply(a,[console,t].concat(c(i.args)))}return sE}}]),e}();function cE(e){if(!e)return 0;var t;switch(T(e)){case"number":t=e;break;case"object":t=e.logLevel||e.priority||0;break;default:return 0}return nE(Number.isFinite(t)&&t>=0),t}function fE(e){var t=e.logLevel,n=e.message;e.logLevel=cE(t);for(var r=e.args?Array.from(e.args):[];r.length&&r.shift()!==n;);switch(T(t)){case"string":case"function":void 0!==n&&r.unshift(n),e.message=t;break;case"object":Object.assign(e,t)}"function"==typeof e.message&&(e.message=e.message());var i=T(e.message);return nE("string"===i||"object"===i),Object.assign(e,{args:r},e.opts)}function pE(e){for(var t in e)for(var n in e[t])return n||"untitled";return"empty"}Xm(uE,"VERSION",Xg);var AE=new uE({id:"loaders.gl"}),dE=/\.([^.]+)$/;function vE(e){return hE.apply(this,arguments)}function hE(){return hE=u(o().mark((function e(t){var n,r,i,s,l=arguments;return o().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(n=l.length>1&&void 0!==l[1]?l[1]:[],r=l.length>2?l[2]:void 0,i=l.length>3?l[3]:void 0,mE(t)){e.next=5;break}return e.abrupt("return",null);case 5:if(!(s=IE(t,n,a(a({},r),{},{nothrow:!0}),i))){e.next=8;break}return e.abrupt("return",s);case 8:if(!kw(t)){e.next=13;break}return e.next=11,t.slice(0,10).arrayBuffer();case 11:t=e.sent,s=IE(t,n,r,i);case 13:if(s||null!=r&&r.nothrow){e.next=15;break}throw new Error(wE(t));case 15:return e.abrupt("return",s);case 16:case"end":return e.stop()}}),e)}))),hE.apply(this,arguments)}function IE(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[],n=arguments.length>2?arguments[2]:void 0,r=arguments.length>3?arguments[3]:void 0;if(!mE(e))return null;if(t&&!Array.isArray(t))return Vg(t);var i,a=[];(t&&(a=a.concat(t)),null!=n&&n.ignoreRegisteredLoaders)||(i=a).push.apply(i,c(Qg()));gE(a);var s=yE(e,a,n,r);if(!(s||null!=n&&n.nothrow))throw new Error(wE(e));return s}function yE(e,t,n,r){var i,a=Yw(e),s=a.url,o=a.type,l=s||(null==r?void 0:r.url),u=null,c="";(null!=n&&n.mimeType&&(u=EE(t,null==n?void 0:n.mimeType),c="match forced by supplied MIME type ".concat(null==n?void 0:n.mimeType)),u=u||function(e,t){var n=t&&dE.exec(t),r=n&&n[1];return r?function(e,t){t=t.toLowerCase();var n,r=f(e);try{for(r.s();!(n=r.n()).done;){var i,a=n.value,s=f(a.extensions);try{for(s.s();!(i=s.n()).done;){if(i.value.toLowerCase()===t)return a}}catch(e){s.e(e)}finally{s.f()}}}catch(e){r.e(e)}finally{r.f()}return null}(e,r):null}(t,l),c=c||(u?"matched url ".concat(l):""),u=u||EE(t,o),c=c||(u?"matched MIME type ".concat(o):""),u=u||function(e,t){if(!t)return null;var n,r=f(e);try{for(r.s();!(n=r.n()).done;){var i=n.value;if("string"==typeof t){if(TE(t,i))return i}else if(ArrayBuffer.isView(t)){if(bE(t.buffer,t.byteOffset,i))return i}else if(t instanceof ArrayBuffer){if(bE(t,0,i))return i}}}catch(e){r.e(e)}finally{r.f()}return null}(t,e),c=c||(u?"matched initial data ".concat(DE(e)):""),u=u||EE(t,null==n?void 0:n.fallbackMimeType),c=c||(u?"matched fallback MIME type ".concat(o):""))&&AE.log(1,"selectLoader selected ".concat(null===(i=u)||void 0===i?void 0:i.name,": ").concat(c,"."));return u}function mE(e){return!(e instanceof Response&&204===e.status)}function wE(e){var t=Yw(e),n=t.url,r=t.type,i="No valid loader found (";i+=n?"".concat(function(e){var t=e&&e.lastIndexOf("/");return t>=0?e.substr(t+1):""}(n),", "):"no url provided, ",i+="MIME type: ".concat(r?'"'.concat(r,'"'):"not provided",", ");var a=e?DE(e):"";return i+=a?' first bytes: "'.concat(a,'"'):"first bytes: not available",i+=")"}function gE(e){var t,n=f(e);try{for(n.s();!(t=n.n()).done;){Vg(t.value)}}catch(e){n.e(e)}finally{n.f()}}function EE(e,t){var n,r=f(e);try{for(r.s();!(n=r.n()).done;){var i=n.value;if(i.mimeTypes&&i.mimeTypes.includes(t))return i;if(t==="application/x.".concat(i.id))return i}}catch(e){r.e(e)}finally{r.f()}return null}function TE(e,t){return t.testText?t.testText(e):(Array.isArray(t.tests)?t.tests:[t.tests]).some((function(t){return e.startsWith(t)}))}function bE(e,t,n){return(Array.isArray(n.tests)?n.tests:[n.tests]).some((function(r){return function(e,t,n,r){if(r instanceof ArrayBuffer)return function(e,t,n){if(n=n||e.byteLength,e.byteLength1&&void 0!==arguments[1]?arguments[1]:5;if("string"==typeof e)return e.slice(0,t);if(ArrayBuffer.isView(e))return PE(e.buffer,e.byteOffset,t);if(e instanceof ArrayBuffer){var n=0;return PE(e,n,t)}return""}function PE(e,t,n){if(e.byteLength1&&void 0!==c[1]?c[1]:{},r=t.chunkSize,i=void 0===r?262144:r,a=0;case 3:if(!(a2&&void 0!==arguments[2]?arguments[2]:null;if(n)return n;var r=a({fetch:Hg(t,e)},e);return Array.isArray(r.loaders)||(r.loaders=null),r}function UE(e,t){if(!t&&e&&!Array.isArray(e))return e;var n;if(e&&(n=Array.isArray(e)?e:[e]),t&&t.loaders){var r=Array.isArray(t.loaders)?t.loaders:[t.loaders];n=n?[].concat(c(n),c(r)):r}return n&&n.length?n:null}function GE(e,t,n,r){return kE.apply(this,arguments)}function kE(){return(kE=u(o().mark((function e(t,n,r,i){var a,s,l,u;return o().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return jm(!i||"object"===T(i)),!n||Array.isArray(n)||jg(n)||(i=void 0,r=n,n=void 0),e.next=4,t;case 4:return t=e.sent,r=r||{},a=Yw(t),s=a.url,l=UE(n,i),e.next=11,vE(t,l,r);case 11:if(u=e.sent){e.next=14;break}return e.abrupt("return",null);case 14:return r=Fg(r,u,l,s),i=HE({url:s,parse:GE,loaders:l},r,i),e.next=18,jE(u,t,r,i);case 18:return e.abrupt("return",e.sent);case 19:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function jE(e,t,n,r){return VE.apply(this,arguments)}function VE(){return(VE=u(o().mark((function e(t,n,r,i){var a,s,l,u,c,f,p,A;return o().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return uw(t),Gw(n)&&(s=(a=n).ok,l=a.redirected,u=a.status,c=a.statusText,f=a.type,p=a.url,A=Object.fromEntries(a.headers.entries()),i.response={headers:A,ok:s,redirected:l,status:u,statusText:c,type:f,url:p}),e.next=4,xE(n,t,r);case 4:if(n=e.sent,!t.parseTextSync||"string"!=typeof n){e.next=8;break}return r.dataType="text",e.abrupt("return",t.parseTextSync(n,r,i,t));case 8:if(!yw(t,r)){e.next=12;break}return e.next=11,mw(t,n,r,i,GE);case 11:case 15:case 19:return e.abrupt("return",e.sent);case 12:if(!t.parseText||"string"!=typeof n){e.next=16;break}return e.next=15,t.parseText(n,r,i,t);case 16:if(!t.parse){e.next=20;break}return e.next=19,t.parse(n,r,i,t);case 20:throw jm(!t.parseSync),new Error("".concat(t.id," loader - no parser found and worker is disabled"));case 22:case"end":return e.stop()}}),e)})))).apply(this,arguments)}var QE,WE,zE="https://unpkg.com/@loaders.gl/textures@".concat("3.2.6","/dist/libs/basis_encoder.wasm"),KE="https://unpkg.com/@loaders.gl/textures@".concat("3.2.6","/dist/libs/basis_encoder.js");function YE(e){return XE.apply(this,arguments)}function XE(){return(XE=u(o().mark((function e(t){var n;return o().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(!(n=t.modules||{}).basis){e.next=3;break}return e.abrupt("return",n.basis);case 3:return QE=QE||qE(t),e.next=6,QE;case 6:return e.abrupt("return",e.sent);case 7:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function qE(e){return JE.apply(this,arguments)}function JE(){return(JE=u(o().mark((function e(t){var n,r,i,a;return o().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return n=null,r=null,e.t0=Promise,e.next=5,pw("basis_transcoder.js","textures",t);case 5:return e.t1=e.sent,e.next=8,pw("basis_transcoder.wasm","textures",t);case 8:return e.t2=e.sent,e.t3=[e.t1,e.t2],e.next=12,e.t0.all.call(e.t0,e.t3);case 12:return i=e.sent,a=p(i,2),n=a[0],r=a[1],n=n||globalThis.BASIS,e.next=19,ZE(n,r);case 19:return e.abrupt("return",e.sent);case 20:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function ZE(e,t){var n={};return t&&(n.wasmBinary=t),new Promise((function(t){e(n).then((function(e){var n=e.BasisFile;(0,e.initializeBasis)(),t({BasisFile:n})}))}))}function $E(e){return eT.apply(this,arguments)}function eT(){return(eT=u(o().mark((function e(t){var n;return o().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(!(n=t.modules||{}).basisEncoder){e.next=3;break}return e.abrupt("return",n.basisEncoder);case 3:return WE=WE||tT(t),e.next=6,WE;case 6:return e.abrupt("return",e.sent);case 7:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function tT(e){return nT.apply(this,arguments)}function nT(){return(nT=u(o().mark((function e(t){var n,r,i,a;return o().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return n=null,r=null,e.t0=Promise,e.next=5,pw(KE,"textures",t);case 5:return e.t1=e.sent,e.next=8,pw(zE,"textures",t);case 8:return e.t2=e.sent,e.t3=[e.t1,e.t2],e.next=12,e.t0.all.call(e.t0,e.t3);case 12:return i=e.sent,a=p(i,2),n=a[0],r=a[1],n=n||globalThis.BASIS,e.next=19,rT(n,r);case 19:return e.abrupt("return",e.sent);case 20:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function rT(e,t){var n={};return t&&(n.wasmBinary=t),new Promise((function(t){e(n).then((function(e){var n=e.BasisFile,r=e.KTX2File,i=e.initializeBasis,a=e.BasisEncoder;i(),t({BasisFile:n,KTX2File:r,BasisEncoder:a})}))}))}var iT,aT,sT,oT,lT,uT,cT,fT,pT,AT=33776,dT=33779,vT=35840,hT=35842,IT=36196,yT=37808,mT=["","WEBKIT_","MOZ_"],wT={WEBGL_compressed_texture_s3tc:"dxt",WEBGL_compressed_texture_s3tc_srgb:"dxt-srgb",WEBGL_compressed_texture_etc1:"etc1",WEBGL_compressed_texture_etc:"etc2",WEBGL_compressed_texture_pvrtc:"pvrtc",WEBGL_compressed_texture_atc:"atc",WEBGL_compressed_texture_astc:"astc",EXT_texture_compression_rgtc:"rgtc"},gT=null;function ET(e){if(!gT){e=e||function(){try{return document.createElement("canvas").getContext("webgl")}catch(e){return null}}()||void 0,gT=new Set;var t,n=f(mT);try{for(n.s();!(t=n.n()).done;){var r=t.value;for(var i in wT)if(e&&e.getExtension("".concat(r).concat(i))){var a=wT[i];gT.add(a)}}}catch(e){n.e(e)}finally{n.f()}}return gT}(pT=iT||(iT={}))[pT.NONE=0]="NONE",pT[pT.BASISLZ=1]="BASISLZ",pT[pT.ZSTD=2]="ZSTD",pT[pT.ZLIB=3]="ZLIB",function(e){e[e.BASICFORMAT=0]="BASICFORMAT"}(aT||(aT={})),function(e){e[e.UNSPECIFIED=0]="UNSPECIFIED",e[e.ETC1S=163]="ETC1S",e[e.UASTC=166]="UASTC"}(sT||(sT={})),function(e){e[e.UNSPECIFIED=0]="UNSPECIFIED",e[e.SRGB=1]="SRGB"}(oT||(oT={})),function(e){e[e.UNSPECIFIED=0]="UNSPECIFIED",e[e.LINEAR=1]="LINEAR",e[e.SRGB=2]="SRGB",e[e.ITU=3]="ITU",e[e.NTSC=4]="NTSC",e[e.SLOG=5]="SLOG",e[e.SLOG2=6]="SLOG2"}(lT||(lT={})),function(e){e[e.ALPHA_STRAIGHT=0]="ALPHA_STRAIGHT",e[e.ALPHA_PREMULTIPLIED=1]="ALPHA_PREMULTIPLIED"}(uT||(uT={})),function(e){e[e.RGB=0]="RGB",e[e.RRR=3]="RRR",e[e.GGG=4]="GGG",e[e.AAA=15]="AAA"}(cT||(cT={})),function(e){e[e.RGB=0]="RGB",e[e.RGBA=3]="RGBA",e[e.RRR=4]="RRR",e[e.RRRG=5]="RRRG"}(fT||(fT={}));var TT=[171,75,84,88,32,50,48,187,13,10,26,10];function bT(e){var t=new Uint8Array(e);return!(t.byteLength1&&void 0!==r[1]?r[1]:null)&&JT||(n=null),!n){e.next=13;break}return e.prev=3,e.next=6,createImageBitmap(t,n);case 6:return e.abrupt("return",e.sent);case 9:e.prev=9,e.t0=e.catch(3),console.warn(e.t0),JT=!1;case 13:return e.next=15,createImageBitmap(t);case 15:return e.abrupt("return",e.sent);case 16:case"end":return e.stop()}}),e,null,[[3,9]])}))),tb.apply(this,arguments)}function nb(e){for(var t in e||qT)return!1;return!0}function rb(e){var t=ib(e);return function(e){var t=ib(e);if(!(t.byteLength>=24&&2303741511===t.getUint32(0,false)))return null;return{mimeType:"image/png",width:t.getUint32(16,false),height:t.getUint32(20,false)}}(t)||function(e){var t=ib(e);if(!(t.byteLength>=3&&65496===t.getUint16(0,false)&&255===t.getUint8(2)))return null;var n=function(){for(var e=new Set([65499,65476,65484,65501,65534]),t=65504;t<65520;++t)e.add(t);var n=new Set([65472,65473,65474,65475,65477,65478,65479,65481,65482,65483,65485,65486,65487,65502]);return{tableMarkers:e,sofMarkers:n}}(),r=n.tableMarkers,i=n.sofMarkers,a=2;for(;a+9=10&&1195984440===t.getUint32(0,false)))return null;return{mimeType:"image/gif",width:t.getUint16(6,true),height:t.getUint16(8,true)}}(t)||function(e){var t=ib(e);if(!(t.byteLength>=14&&16973===t.getUint16(0,false)&&t.getUint32(2,true)===t.byteLength))return null;return{mimeType:"image/bmp",width:t.getUint32(18,true),height:t.getUint32(22,true)}}(t)}function ib(e){if(e instanceof DataView)return e;if(ArrayBuffer.isView(e))return new DataView(e.buffer);if(e instanceof ArrayBuffer)return new DataView(e);throw new Error("toDataView")}function ab(e,t){return sb.apply(this,arguments)}function sb(){return sb=u(o().mark((function e(t,n){var r,i,a;return o().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return r=rb(t)||{},i=r.mimeType,Um(a=globalThis._parseImageNode),e.next=5,a(t,i);case 5:return e.abrupt("return",e.sent);case 6:case"end":return e.stop()}}),e)}))),sb.apply(this,arguments)}function ob(){return(ob=u(o().mark((function e(t,n,r){var i,a,s,l,u;return o().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:i=(n=n||{}).image||{},a=i.type||"auto",s=(r||{}).url,l=lb(a),e.t0=l,e.next="imagebitmap"===e.t0?8:"image"===e.t0?12:"data"===e.t0?16:20;break;case 8:return e.next=10,ZT(t,n,s);case 10:return u=e.sent,e.abrupt("break",21);case 12:return e.next=14,zT(t,n,s);case 14:return u=e.sent,e.abrupt("break",21);case 16:return e.next=18,ab(t);case 18:return u=e.sent,e.abrupt("break",21);case 20:Um(!1);case 21:return"data"===a&&(u=GT(u)),e.abrupt("return",u);case 23:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function lb(e){switch(e){case"auto":case"data":return function(){if(xT)return"imagebitmap";if(MT)return"image";if(HT)return"data";throw new Error("Install '@loaders.gl/polyfills' to parse images under Node.js")}();default:return function(e){switch(e){case"auto":return xT||MT||HT;case"imagebitmap":return xT;case"image":return MT;case"data":return HT;default:throw new Error("@loaders.gl/images: image ".concat(e," not supported in this environment"))}}(e),e}}var ub={id:"image",module:"images",name:"Images",version:"3.2.6",mimeTypes:["image/png","image/jpeg","image/gif","image/webp","image/bmp","image/vnd.microsoft.icon","image/svg+xml"],extensions:["png","jpg","jpeg","gif","webp","bmp","ico","svg"],parse:function(e,t,n){return ob.apply(this,arguments)},tests:[function(e){return Boolean(rb(new DataView(e)))}],options:{image:{type:"auto",decode:!0}}},cb=["image/png","image/jpeg","image/gif"],fb={};function pb(e){return void 0===fb[e]&&(fb[e]=function(e){switch(e){case"image/webp":return function(){if(!Gm)return!1;try{return 0===document.createElement("canvas").toDataURL("image/webp").indexOf("data:image/webp")}catch(e){return!1}}();case"image/svg":return Gm;default:if(!Gm){var t=globalThis._parseImageNode;return Boolean(t)&&cb.includes(e)}return!0}}(e)),fb[e]}function Ab(e,t){if(!e)throw new Error(t||"assert failed: gltf")}function db(e,t){if(e.startsWith("data:")||e.startsWith("http:")||e.startsWith("https:"))return e;var n=t.baseUri||t.uri;if(!n)throw new Error("'baseUri' must be provided to resolve relative url ".concat(e));return n.substr(0,n.lastIndexOf("/")+1)+e}function vb(e,t,n){var r=e.bufferViews[n];Ab(r);var i=t[r.buffer];Ab(i);var a=(r.byteOffset||0)+i.byteOffset;return new Uint8Array(i.arrayBuffer,a,r.byteLength)}var hb=["SCALAR","VEC2","VEC3","VEC4"],Ib=[[Int8Array,5120],[Uint8Array,5121],[Int16Array,5122],[Uint16Array,5123],[Uint32Array,5125],[Float32Array,5126],[Float64Array,5130]],yb=new Map(Ib),mb={SCALAR:1,VEC2:2,VEC3:3,VEC4:4,MAT2:4,MAT3:9,MAT4:16},wb={5120:1,5121:1,5122:2,5123:2,5125:4,5126:4},gb={5120:Int8Array,5121:Uint8Array,5122:Int16Array,5123:Uint16Array,5125:Uint32Array,5126:Float32Array};function Eb(e){return hb[e-1]||hb[0]}function Tb(e){var t=yb.get(e.constructor);if(!t)throw new Error("Illegal typed array");return t}function bb(e,t){var n=gb[e.componentType],r=mb[e.type],i=wb[e.componentType],a=e.count*r,s=e.count*r*i;return Ab(s>=0&&s<=t.byteLength),{ArrayType:n,length:a,byteLength:s}}var Db,Pb={asset:{version:"2.0",generator:"loaders.gl"},buffers:[]},Rb=function(){function e(t){b(this,e),Xm(this,"gltf",void 0),Xm(this,"sourceBuffers",void 0),Xm(this,"byteLength",void 0),this.gltf=t||{json:a({},Pb),buffers:[]},this.sourceBuffers=[],this.byteLength=0,this.gltf.buffers&&this.gltf.buffers[0]&&(this.byteLength=this.gltf.buffers[0].byteLength,this.sourceBuffers=[this.gltf.buffers[0]])}return P(e,[{key:"json",get:function(){return this.gltf.json}},{key:"getApplicationData",value:function(e){return this.json[e]}},{key:"getExtraData",value:function(e){return(this.json.extras||{})[e]}},{key:"getExtension",value:function(e){var t=this.getUsedExtensions().find((function(t){return t===e})),n=this.json.extensions||{};return t?n[e]||!0:null}},{key:"getRequiredExtension",value:function(e){var t=this.getRequiredExtensions().find((function(t){return t===e}));return t?this.getExtension(e):null}},{key:"getRequiredExtensions",value:function(){return this.json.extensionsRequired||[]}},{key:"getUsedExtensions",value:function(){return this.json.extensionsUsed||[]}},{key:"getObjectExtension",value:function(e,t){return(e.extensions||{})[t]}},{key:"getScene",value:function(e){return this.getObject("scenes",e)}},{key:"getNode",value:function(e){return this.getObject("nodes",e)}},{key:"getSkin",value:function(e){return this.getObject("skins",e)}},{key:"getMesh",value:function(e){return this.getObject("meshes",e)}},{key:"getMaterial",value:function(e){return this.getObject("materials",e)}},{key:"getAccessor",value:function(e){return this.getObject("accessors",e)}},{key:"getTexture",value:function(e){return this.getObject("textures",e)}},{key:"getSampler",value:function(e){return this.getObject("samplers",e)}},{key:"getImage",value:function(e){return this.getObject("images",e)}},{key:"getBufferView",value:function(e){return this.getObject("bufferViews",e)}},{key:"getBuffer",value:function(e){return this.getObject("buffers",e)}},{key:"getObject",value:function(e,t){if("object"===T(t))return t;var n=this.json[e]&&this.json[e][t];if(!n)throw new Error("glTF file error: Could not find ".concat(e,"[").concat(t,"]"));return n}},{key:"getTypedArrayForBufferView",value:function(e){var t=(e=this.getBufferView(e)).buffer,n=this.gltf.buffers[t];Ab(n);var r=(e.byteOffset||0)+n.byteOffset;return new Uint8Array(n.arrayBuffer,r,e.byteLength)}},{key:"getTypedArrayForAccessor",value:function(e){e=this.getAccessor(e);var t=this.getBufferView(e.bufferView),n=this.getBuffer(t.buffer).data,r=bb(e,t),i=r.ArrayType,a=r.length;return new i(n,t.byteOffset+e.byteOffset,a)}},{key:"getTypedArrayForImageData",value:function(e){e=this.getAccessor(e);var t=this.getBufferView(e.bufferView),n=this.getBuffer(t.buffer).data,r=t.byteOffset||0;return new Uint8Array(n,r,t.byteLength)}},{key:"addApplicationData",value:function(e,t){return this.json[e]=t,this}},{key:"addExtraData",value:function(e,t){return this.json.extras=this.json.extras||{},this.json.extras[e]=t,this}},{key:"addObjectExtension",value:function(e,t,n){return e.extensions=e.extensions||{},e.extensions[t]=n,this.registerUsedExtension(t),this}},{key:"setObjectExtension",value:function(e,t,n){(e.extensions||{})[t]=n}},{key:"removeObjectExtension",value:function(e,t){var n=e.extensions||{},r=n[t];return delete n[t],r}},{key:"addExtension",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return Ab(t),this.json.extensions=this.json.extensions||{},this.json.extensions[e]=t,this.registerUsedExtension(e),t}},{key:"addRequiredExtension",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return Ab(t),this.addExtension(e,t),this.registerRequiredExtension(e),t}},{key:"registerUsedExtension",value:function(e){this.json.extensionsUsed=this.json.extensionsUsed||[],this.json.extensionsUsed.find((function(t){return t===e}))||this.json.extensionsUsed.push(e)}},{key:"registerRequiredExtension",value:function(e){this.registerUsedExtension(e),this.json.extensionsRequired=this.json.extensionsRequired||[],this.json.extensionsRequired.find((function(t){return t===e}))||this.json.extensionsRequired.push(e)}},{key:"removeExtension",value:function(e){this.json.extensionsRequired&&this._removeStringFromArray(this.json.extensionsRequired,e),this.json.extensionsUsed&&this._removeStringFromArray(this.json.extensionsUsed,e),this.json.extensions&&delete this.json.extensions[e]}},{key:"setDefaultScene",value:function(e){this.json.scene=e}},{key:"addScene",value:function(e){var t=e.nodeIndices;return this.json.scenes=this.json.scenes||[],this.json.scenes.push({nodes:t}),this.json.scenes.length-1}},{key:"addNode",value:function(e){var t=e.meshIndex,n=e.matrix;this.json.nodes=this.json.nodes||[];var r={mesh:t};return n&&(r.matrix=n),this.json.nodes.push(r),this.json.nodes.length-1}},{key:"addMesh",value:function(e){var t=e.attributes,n=e.indices,r=e.material,i=e.mode,a=void 0===i?4:i,s={primitives:[{attributes:this._addAttributes(t),mode:a}]};if(n){var o=this._addIndices(n);s.primitives[0].indices=o}return Number.isFinite(r)&&(s.primitives[0].material=r),this.json.meshes=this.json.meshes||[],this.json.meshes.push(s),this.json.meshes.length-1}},{key:"addPointCloud",value:function(e){var t={primitives:[{attributes:this._addAttributes(e),mode:0}]};return this.json.meshes=this.json.meshes||[],this.json.meshes.push(t),this.json.meshes.length-1}},{key:"addImage",value:function(e,t){var n=rb(e),r=t||(null==n?void 0:n.mimeType),i={bufferView:this.addBufferView(e),mimeType:r};return this.json.images=this.json.images||[],this.json.images.push(i),this.json.images.length-1}},{key:"addBufferView",value:function(e){var t=e.byteLength;Ab(Number.isFinite(t)),this.sourceBuffers=this.sourceBuffers||[],this.sourceBuffers.push(e);var n={buffer:0,byteOffset:this.byteLength,byteLength:t};return this.byteLength+=_w(t,4),this.json.bufferViews=this.json.bufferViews||[],this.json.bufferViews.push(n),this.json.bufferViews.length-1}},{key:"addAccessor",value:function(e,t){var n={bufferView:e,type:Eb(t.size),componentType:t.componentType,count:t.count,max:t.max,min:t.min};return this.json.accessors=this.json.accessors||[],this.json.accessors.push(n),this.json.accessors.length-1}},{key:"addBinaryBuffer",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{size:3},n=this.addBufferView(e),r={min:t.min,max:t.max};r.min&&r.max||(r=this._getAccessorMinMax(e,t.size));var i={size:t.size,componentType:Tb(e),count:Math.round(e.length/t.size),min:r.min,max:r.max};return this.addAccessor(n,Object.assign(i,t))}},{key:"addTexture",value:function(e){var t={source:e.imageIndex};return this.json.textures=this.json.textures||[],this.json.textures.push(t),this.json.textures.length-1}},{key:"addMaterial",value:function(e){return this.json.materials=this.json.materials||[],this.json.materials.push(e),this.json.materials.length-1}},{key:"createBinaryChunk",value:function(){var e,t;this.gltf.buffers=[];var n,r=this.byteLength,i=new ArrayBuffer(r),a=new Uint8Array(i),s=0,o=f(this.sourceBuffers||[]);try{for(o.s();!(n=o.n()).done;){s=Bw(n.value,a,s)}}catch(e){o.e(e)}finally{o.f()}null!==(e=this.json)&&void 0!==e&&null!==(t=e.buffers)&&void 0!==t&&t[0]?this.json.buffers[0].byteLength=r:this.json.buffers=[{byteLength:r}],this.gltf.binary=i,this.sourceBuffers=[i]}},{key:"_removeStringFromArray",value:function(e,t){for(var n=!0;n;){var r=e.indexOf(t);r>-1?e.splice(r,1):n=!1}}},{key:"_addAttributes",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t={};for(var n in e){var r=e[n],i=this._getGltfAttributeName(n),a=this.addBinaryBuffer(r.value,r);t[i]=a}return t}},{key:"_addIndices",value:function(e){return this.addBinaryBuffer(e,{size:1})}},{key:"_getGltfAttributeName",value:function(e){switch(e.toLowerCase()){case"position":case"positions":case"vertices":return"POSITION";case"normal":case"normals":return"NORMAL";case"color":case"colors":return"COLOR_0";case"texcoord":case"texcoords":return"TEXCOORD_0";default:return e}}},{key:"_getAccessorMinMax",value:function(e,t){var n={min:null,max:null};if(e.length5&&void 0!==u[5]?u[5]:"NONE",e.next=3,xb();case 3:kb(l=e.sent,l.exports[Nb[a]],t,n,r,i,l.exports[Sb[s||"NONE"]]);case 5:case"end":return e.stop()}}),e)}))),Mb.apply(this,arguments)}function xb(){return Fb.apply(this,arguments)}function Fb(){return(Fb=u(o().mark((function e(){return o().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return Db||(Db=Hb()),e.abrupt("return",Db);case 2:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function Hb(){return Ub.apply(this,arguments)}function Ub(){return(Ub=u(o().mark((function e(){var t,n;return o().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return t=Cb,WebAssembly.validate(Bb)&&(t=_b,console.log("Warning: meshopt_decoder is using experimental SIMD support")),e.next=4,WebAssembly.instantiate(Gb(t),{});case 4:return n=e.sent,e.next=7,n.instance.exports.__wasm_call_ctors();case 7:return e.abrupt("return",n.instance);case 8:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function Gb(e){for(var t=new Uint8Array(e.length),n=0;n96?r-71:r>64?r-65:r>47?r+4:r>46?63:62}for(var i=0,a=0;ai?c:i,a=f>a?f:a,s=p>s?p:s}return[[t,n,r],[i,a,s]]}var qb=function(){function e(t,n){b(this,e),Xm(this,"fields",void 0),Xm(this,"metadata",void 0),function(e,t){if(!e)throw new Error(t||"loader assertion failed.")}(Array.isArray(t)),function(e){var t,n={},r=f(e);try{for(r.s();!(t=r.n()).done;){var i=t.value;n[i.name]&&console.warn("Schema: duplicated field name",i.name,i),n[i.name]=!0}}catch(e){r.e(e)}finally{r.f()}}(t),this.fields=t,this.metadata=n||new Map}return P(e,[{key:"compareTo",value:function(e){if(this.metadata!==e.metadata)return!1;if(this.fields.length!==e.fields.length)return!1;for(var t=0;t2&&void 0!==arguments[2]&&arguments[2],i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:new Map;b(this,e),Xm(this,"name",void 0),Xm(this,"type",void 0),Xm(this,"nullable",void 0),Xm(this,"metadata",void 0),this.name=t,this.type=n,this.nullable=r,this.metadata=i}return P(e,[{key:"typeId",get:function(){return this.type&&this.type.typeId}},{key:"clone",value:function(){return new e(this.name,this.type,this.nullable,this.metadata)}},{key:"compareTo",value:function(e){return this.name===e.name&&this.type===e.type&&this.nullable===e.nullable&&this.metadata===e.metadata}},{key:"toString",value:function(){return"".concat(this.type).concat(this.nullable?", nullable":"").concat(this.metadata?", metadata: ".concat(this.metadata):"")}}]),e}();!function(e){e[e.NONE=0]="NONE",e[e.Null=1]="Null",e[e.Int=2]="Int",e[e.Float=3]="Float",e[e.Binary=4]="Binary",e[e.Utf8=5]="Utf8",e[e.Bool=6]="Bool",e[e.Decimal=7]="Decimal",e[e.Date=8]="Date",e[e.Time=9]="Time",e[e.Timestamp=10]="Timestamp",e[e.Interval=11]="Interval",e[e.List=12]="List",e[e.Struct=13]="Struct",e[e.Union=14]="Union",e[e.FixedSizeBinary=15]="FixedSizeBinary",e[e.FixedSizeList=16]="FixedSizeList",e[e.Map=17]="Map",e[e.Dictionary=-1]="Dictionary",e[e.Int8=-2]="Int8",e[e.Int16=-3]="Int16",e[e.Int32=-4]="Int32",e[e.Int64=-5]="Int64",e[e.Uint8=-6]="Uint8",e[e.Uint16=-7]="Uint16",e[e.Uint32=-8]="Uint32",e[e.Uint64=-9]="Uint64",e[e.Float16=-10]="Float16",e[e.Float32=-11]="Float32",e[e.Float64=-12]="Float64",e[e.DateDay=-13]="DateDay",e[e.DateMillisecond=-14]="DateMillisecond",e[e.TimestampSecond=-15]="TimestampSecond",e[e.TimestampMillisecond=-16]="TimestampMillisecond",e[e.TimestampMicrosecond=-17]="TimestampMicrosecond",e[e.TimestampNanosecond=-18]="TimestampNanosecond",e[e.TimeSecond=-19]="TimeSecond",e[e.TimeMillisecond=-20]="TimeMillisecond",e[e.TimeMicrosecond=-21]="TimeMicrosecond",e[e.TimeNanosecond=-22]="TimeNanosecond",e[e.DenseUnion=-23]="DenseUnion",e[e.SparseUnion=-24]="SparseUnion",e[e.IntervalDayTime=-25]="IntervalDayTime",e[e.IntervalYearMonth=-26]="IntervalYearMonth"}(Zb||(Zb={}));var eD=function(){function e(){b(this,e)}return P(e,[{key:"typeId",get:function(){return Zb.NONE}},{key:"compareTo",value:function(e){return this===e}}],[{key:"isNull",value:function(e){return e&&e.typeId===Zb.Null}},{key:"isInt",value:function(e){return e&&e.typeId===Zb.Int}},{key:"isFloat",value:function(e){return e&&e.typeId===Zb.Float}},{key:"isBinary",value:function(e){return e&&e.typeId===Zb.Binary}},{key:"isUtf8",value:function(e){return e&&e.typeId===Zb.Utf8}},{key:"isBool",value:function(e){return e&&e.typeId===Zb.Bool}},{key:"isDecimal",value:function(e){return e&&e.typeId===Zb.Decimal}},{key:"isDate",value:function(e){return e&&e.typeId===Zb.Date}},{key:"isTime",value:function(e){return e&&e.typeId===Zb.Time}},{key:"isTimestamp",value:function(e){return e&&e.typeId===Zb.Timestamp}},{key:"isInterval",value:function(e){return e&&e.typeId===Zb.Interval}},{key:"isList",value:function(e){return e&&e.typeId===Zb.List}},{key:"isStruct",value:function(e){return e&&e.typeId===Zb.Struct}},{key:"isUnion",value:function(e){return e&&e.typeId===Zb.Union}},{key:"isFixedSizeBinary",value:function(e){return e&&e.typeId===Zb.FixedSizeBinary}},{key:"isFixedSizeList",value:function(e){return e&&e.typeId===Zb.FixedSizeList}},{key:"isMap",value:function(e){return e&&e.typeId===Zb.Map}},{key:"isDictionary",value:function(e){return e&&e.typeId===Zb.Dictionary}}]),e}(),tD=function(e,t){I(r,eD);var n=m(r);function r(e,t){var i;return b(this,r),Xm(g(i=n.call(this)),"isSigned",void 0),Xm(g(i),"bitWidth",void 0),i.isSigned=e,i.bitWidth=t,i}return P(r,[{key:"typeId",get:function(){return Zb.Int}},{key:t,get:function(){return"Int"}},{key:"toString",value:function(){return"".concat(this.isSigned?"I":"Ui","nt").concat(this.bitWidth)}}]),r}(0,Symbol.toStringTag),nD=function(e){I(n,tD);var t=m(n);function n(){return b(this,n),t.call(this,!0,8)}return P(n)}(),rD=function(e){I(n,tD);var t=m(n);function n(){return b(this,n),t.call(this,!0,16)}return P(n)}(),iD=function(e){I(n,tD);var t=m(n);function n(){return b(this,n),t.call(this,!0,32)}return P(n)}(),aD=function(e){I(n,tD);var t=m(n);function n(){return b(this,n),t.call(this,!1,8)}return P(n)}(),sD=function(e){I(n,tD);var t=m(n);function n(){return b(this,n),t.call(this,!1,16)}return P(n)}(),oD=function(e){I(n,tD);var t=m(n);function n(){return b(this,n),t.call(this,!1,32)}return P(n)}(),lD=32,uD=64,cD=function(e,t){I(r,eD);var n=m(r);function r(e){var t;return b(this,r),Xm(g(t=n.call(this)),"precision",void 0),t.precision=e,t}return P(r,[{key:"typeId",get:function(){return Zb.Float}},{key:t,get:function(){return"Float"}},{key:"toString",value:function(){return"Float".concat(this.precision)}}]),r}(0,Symbol.toStringTag),fD=function(e){I(n,cD);var t=m(n);function n(){return b(this,n),t.call(this,lD)}return P(n)}(),pD=function(e){I(n,cD);var t=m(n);function n(){return b(this,n),t.call(this,uD)}return P(n)}(),AD=function(e,t){I(r,eD);var n=m(r);function r(e,t){var i;return b(this,r),Xm(g(i=n.call(this)),"listSize",void 0),Xm(g(i),"children",void 0),i.listSize=e,i.children=[t],i}return P(r,[{key:"typeId",get:function(){return Zb.FixedSizeList}},{key:"valueType",get:function(){return this.children[0].type}},{key:"valueField",get:function(){return this.children[0]}},{key:t,get:function(){return"FixedSizeList"}},{key:"toString",value:function(){return"FixedSizeList[".concat(this.listSize,"]<").concat(this.valueType,">")}}]),r}(0,Symbol.toStringTag);function dD(e,t,n){var r=function(e){switch(e.constructor){case Int8Array:return new nD;case Uint8Array:return new aD;case Int16Array:return new rD;case Uint16Array:return new sD;case Int32Array:return new iD;case Uint32Array:return new oD;case Float32Array:return new fD;case Float64Array:return new pD;default:throw new Error("array type not supported")}}(t.value),i=n||function(e){var t=new Map;"byteOffset"in e&&t.set("byteOffset",e.byteOffset.toString(10));"byteStride"in e&&t.set("byteStride",e.byteStride.toString(10));"normalized"in e&&t.set("normalized",e.normalized.toString());return t}(t);return new $b(e,new AD(t.size,new $b("value",r)),!1,i)}function vD(e,t,n){var r=ID(t.metadata),i=[],a=function(e){var t={};for(var n in e){var r=e[n];t[r.name||"undefined"]=r}return t}(t.attributes);for(var s in e){var o=hD(s,e[s],a[s]);i.push(o)}if(n){var l=hD("indices",n);i.push(l)}return new qb(i,r)}function hD(e,t,n){return dD(e,t,n?ID(n.metadata):void 0)}function ID(e){var t=new Map;for(var n in e)t.set("".concat(n,".string"),JSON.stringify(e[n]));return t}var yD={POSITION:"POSITION",NORMAL:"NORMAL",COLOR:"COLOR_0",TEX_COORD:"TEXCOORD_0"},mD={1:Int8Array,2:Uint8Array,3:Int16Array,4:Uint16Array,5:Int32Array,6:Uint32Array,9:Float32Array},wD=function(){function e(t){b(this,e),Xm(this,"draco",void 0),Xm(this,"decoder",void 0),Xm(this,"metadataQuerier",void 0),this.draco=t,this.decoder=new this.draco.Decoder,this.metadataQuerier=new this.draco.MetadataQuerier}return P(e,[{key:"destroy",value:function(){this.draco.destroy(this.decoder),this.draco.destroy(this.metadataQuerier)}},{key:"parseSync",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=new this.draco.DecoderBuffer;n.Init(new Int8Array(e),e.byteLength),this._disableAttributeTransforms(t);var r=this.decoder.GetEncodedGeometryType(n),i=r===this.draco.TRIANGULAR_MESH?new this.draco.Mesh:new this.draco.PointCloud;try{var s;switch(r){case this.draco.TRIANGULAR_MESH:s=this.decoder.DecodeBufferToMesh(n,i);break;case this.draco.POINT_CLOUD:s=this.decoder.DecodeBufferToPointCloud(n,i);break;default:throw new Error("DRACO: Unknown geometry type.")}if(!s.ok()||!i.ptr){var o="DRACO decompression failed: ".concat(s.error_msg());throw new Error(o)}var l=this._getDracoLoaderData(i,r,t),u=this._getMeshData(i,l,t),c=Xb(u.attributes),f=vD(u.attributes,l,u.indices),p=a(a({loader:"draco",loaderData:l,header:{vertexCount:i.num_points(),boundingBox:c}},u),{},{schema:f});return p}finally{this.draco.destroy(n),i&&this.draco.destroy(i)}}},{key:"_getDracoLoaderData",value:function(e,t,n){var r=this._getTopLevelMetadata(e),i=this._getDracoAttributes(e,n);return{geometry_type:t,num_attributes:e.num_attributes(),num_points:e.num_points(),num_faces:e instanceof this.draco.Mesh?e.num_faces():0,metadata:r,attributes:i}}},{key:"_getDracoAttributes",value:function(e,t){for(var n={},r=0;r2&&void 0!==arguments[2]&&arguments[2];if(!e)return null;if(Array.isArray(e))return new t(e);if(n&&!(e instanceof t))return new t(e);return e}(t,Float32Array)),r=t.length/n);return{buffer:t,size:n,count:r}}(e),n=t.buffer,r=t.size;return{value:n,size:r,byteOffset:0,count:t.count,type:Eb(r),componentType:Tb(n)}}function LD(){return(LD=u(o().mark((function e(t,n,r){var i,a,s,l,u,c;return o().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(null!=n&&null!==(i=n.gltf)&&void 0!==i&&i.decompressMeshes){e.next=2;break}return e.abrupt("return");case 2:a=new Rb(t),s=[],l=f(UD(a));try{for(l.s();!(u=l.n()).done;)c=u.value,a.getObjectExtension(c,"KHR_draco_mesh_compression")&&s.push(MD(a,c,n,r))}catch(e){l.e(e)}finally{l.f()}return e.next=8,Promise.all(s);case 8:a.removeExtension("KHR_draco_mesh_compression");case 9:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function MD(e,t,n,r){return xD.apply(this,arguments)}function xD(){return xD=u(o().mark((function e(t,n,r,i){var s,l,u,c,f,A,d,v,h,I,y,m,w,g;return o().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(s=t.getObjectExtension(n,"KHR_draco_mesh_compression")){e.next=3;break}return e.abrupt("return");case 3:return l=t.getTypedArrayForBufferView(s.bufferView),u=Cw(l.buffer,l.byteOffset),c=i.parse,delete(f=a({},r))["3d-tiles"],e.next=10,c(u,BD,f,i);case 10:for(A=e.sent,d=SD(A.attributes),v=0,h=Object.entries(d);v2&&void 0!==arguments[2]?arguments[2]:4,i=arguments.length>3?arguments[3]:void 0,a=arguments.length>4?arguments[4]:void 0;if(!i.DracoWriter)throw new Error("options.gltf.DracoWriter not provided");var o=i.DracoWriter.encodeSync({attributes:e}),l=null==a||null===(n=a.parseSync)||void 0===n?void 0:n.call(a,{attributes:e}),u=i._addFauxAttributes(l.attributes),c=i.addBufferView(o),f={primitives:[{attributes:u,mode:r,extensions:s({},"KHR_draco_mesh_compression",{bufferView:c,attributes:u})}]};return f}function HD(e){if(!e.attributes&&Object.keys(e.attributes).length>0)throw new Error("glTF: Empty primitive detected: Draco decompression failure?")}function UD(e){var t,n,i,a,s,l;return o().wrap((function(r){for(;;)switch(r.prev=r.next){case 0:t=f(e.json.meshes||[]),r.prev=1,t.s();case 3:if((n=t.n()).done){r.next=24;break}i=n.value,a=f(i.primitives),r.prev=6,a.s();case 8:if((s=a.n()).done){r.next=14;break}return l=s.value,r.next=12,l;case 12:r.next=8;break;case 14:r.next=19;break;case 16:r.prev=16,r.t0=r.catch(6),a.e(r.t0);case 19:return r.prev=19,a.f(),r.finish(19);case 22:r.next=3;break;case 24:r.next=29;break;case 26:r.prev=26,r.t1=r.catch(1),t.e(r.t1);case 29:return r.prev=29,t.f(),r.finish(29);case 32:case"end":return r.stop()}}),r,null,[[1,26,29,32],[6,16,19,22]])}function GD(){return(GD=u(o().mark((function e(t){var n,r,i,a,s,l,u;return o().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:n=new Rb(t),r=n.json,(i=n.getExtension("KHR_lights_punctual"))&&(n.json.lights=i.lights,n.removeExtension("KHR_lights_punctual")),a=f(r.nodes||[]);try{for(a.s();!(s=a.n()).done;)l=s.value,(u=n.getObjectExtension(l,"KHR_lights_punctual"))&&(l.light=u.light),n.removeObjectExtension(l,"KHR_lights_punctual")}catch(e){a.e(e)}finally{a.f()}case 6:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function kD(){return(kD=u(o().mark((function e(t){var n,r,i,a,s,l,u;return o().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(n=new Rb(t),(r=n.json).lights&&(Ab(!(i=n.addExtension("KHR_lights_punctual")).lights),i.lights=r.lights,delete r.lights),n.json.lights){a=f(n.json.lights);try{for(a.s();!(s=a.n()).done;)l=s.value,u=l.node,n.addObjectExtension(u,"KHR_lights_punctual",l)}catch(e){a.e(e)}finally{a.f()}delete n.json.lights}case 4:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function jD(){return(jD=u(o().mark((function e(t){var n,r,i,a,s;return o().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:n=new Rb(t),r=n.json,n.removeExtension("KHR_materials_unlit"),i=f(r.materials||[]);try{for(i.s();!(a=i.n()).done;)s=a.value,s.extensions&&s.extensions.KHR_materials_unlit&&(s.unlit=!0),n.removeObjectExtension(s,"KHR_materials_unlit")}catch(e){i.e(e)}finally{i.f()}case 5:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function VD(){return(VD=u(o().mark((function e(t){var n,r,i,a,s,l,u,c;return o().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(n=new Rb(t),r=n.json,i=n.getExtension("KHR_techniques_webgl")){a=WD(i,n),s=f(r.materials||[]);try{for(s.s();!(l=s.n()).done;)u=l.value,(c=n.getObjectExtension(u,"KHR_techniques_webgl"))&&(u.technique=Object.assign({},c,a[c.technique]),u.technique.values=zD(u.technique,n)),n.removeObjectExtension(u,"KHR_techniques_webgl")}catch(e){s.e(e)}finally{s.f()}n.removeExtension("KHR_techniques_webgl")}case 4:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function QD(){return(QD=u(o().mark((function e(t,n){return o().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function WD(e,t){var n=e.programs,r=void 0===n?[]:n,i=e.shaders,a=void 0===i?[]:i,s=e.techniques,o=void 0===s?[]:s,l=new TextDecoder;return a.forEach((function(e){if(!Number.isFinite(e.bufferView))throw new Error("KHR_techniques_webgl: no shader code");e.code=l.decode(t.getTypedArrayForBufferView(e.bufferView))})),r.forEach((function(e){e.fragmentShader=a[e.fragmentShader],e.vertexShader=a[e.vertexShader]})),o.forEach((function(e){e.program=r[e.program]})),o}function zD(e,t){var n=Object.assign({},e.values);return Object.keys(e.uniforms||{}).forEach((function(t){e.uniforms[t].value&&!(t in n)&&(n[t]=e.uniforms[t].value)})),Object.keys(n).forEach((function(e){"object"===T(n[e])&&void 0!==n[e].index&&(n[e].texture=t.getTexture(n[e].index))})),n}var KD=[Wb,zb,Kb,Object.freeze({__proto__:null,name:"KHR_draco_mesh_compression",preprocess:function(e,t,n){var r,i=new Rb(e),a=f(UD(i));try{for(a.s();!(r=a.n()).done;){var s=r.value;i.getObjectExtension(s,"KHR_draco_mesh_compression")}}catch(e){a.e(e)}finally{a.f()}},decode:function(e,t,n){return LD.apply(this,arguments)},encode:function(e){var t,n=new Rb(e),r=f(n.json.meshes||[]);try{for(r.s();!(t=r.n()).done;){var i=t.value;FD(i),n.addRequiredExtension("KHR_draco_mesh_compression")}}catch(e){r.e(e)}finally{r.f()}}}),Object.freeze({__proto__:null,name:"KHR_lights_punctual",decode:function(e){return GD.apply(this,arguments)},encode:function(e){return kD.apply(this,arguments)}}),Object.freeze({__proto__:null,name:"KHR_materials_unlit",decode:function(e){return jD.apply(this,arguments)},encode:function(e){var t=new Rb(e),n=t.json;if(t.materials){var r,i=f(n.materials||[]);try{for(i.s();!(r=i.n()).done;){var a=r.value;a.unlit&&(delete a.unlit,t.addObjectExtension(a,"KHR_materials_unlit",{}),t.addExtension("KHR_materials_unlit"))}}catch(e){i.e(e)}finally{i.f()}}}}),Object.freeze({__proto__:null,name:"KHR_techniques_webgl",decode:function(e){return VD.apply(this,arguments)},encode:function(e,t){return QD.apply(this,arguments)}})];function YD(e){var t,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=arguments.length>2?arguments[2]:void 0,i=KD.filter((function(e){return JD(e.name,n)})),a=f(i);try{for(a.s();!(t=a.n()).done;){var s,o=t.value;null===(s=o.preprocess)||void 0===s||s.call(o,e,n,r)}}catch(e){a.e(e)}finally{a.f()}}function XD(e){return qD.apply(this,arguments)}function qD(){return qD=u(o().mark((function e(t){var n,r,i,a,s,l,u,c=arguments;return o().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:n=c.length>1&&void 0!==c[1]?c[1]:{},r=c.length>2?c[2]:void 0,i=KD.filter((function(e){return JD(e.name,n)})),a=f(i),e.prev=4,a.s();case 6:if((s=a.n()).done){e.next=12;break}return l=s.value,e.next=10,null===(u=l.decode)||void 0===u?void 0:u.call(l,t,n,r);case 10:e.next=6;break;case 12:e.next=17;break;case 14:e.prev=14,e.t0=e.catch(4),a.e(e.t0);case 17:return e.prev=17,a.f(),e.finish(17);case 20:case"end":return e.stop()}}),e,null,[[4,14,17,20]])}))),qD.apply(this,arguments)}function JD(e,t){var n,r=(null==t||null===(n=t.gltf)||void 0===n?void 0:n.excludeExtensions)||{};return!(e in r&&!r[e])}var ZD={accessors:"accessor",animations:"animation",buffers:"buffer",bufferViews:"bufferView",images:"image",materials:"material",meshes:"mesh",nodes:"node",samplers:"sampler",scenes:"scene",skins:"skin",textures:"texture"},$D={accessor:"accessors",animations:"animation",buffer:"buffers",bufferView:"bufferViews",image:"images",material:"materials",mesh:"meshes",node:"nodes",sampler:"samplers",scene:"scenes",skin:"skins",texture:"textures"},eP=function(){function e(){b(this,e),Xm(this,"idToIndexMap",{animations:{},accessors:{},buffers:{},bufferViews:{},images:{},materials:{},meshes:{},nodes:{},samplers:{},scenes:{},skins:{},textures:{}}),Xm(this,"json",void 0)}return P(e,[{key:"normalize",value:function(e,t){this.json=e.json;var n=e.json;switch(n.asset&&n.asset.version){case"2.0":return;case void 0:case"1.0":break;default:return void console.warn("glTF: Unknown version ".concat(n.asset.version))}if(!t.normalize)throw new Error("glTF v1 is not supported.");console.warn("Converting glTF v1 to glTF v2 format. This is experimental and may fail."),this._addAsset(n),this._convertTopLevelObjectsToArrays(n),function(e){var t,n=new Rb(e),r=n.json,i=f(r.images||[]);try{for(i.s();!(t=i.n()).done;){var a=t.value,s=n.getObjectExtension(a,"KHR_binary_glTF");s&&Object.assign(a,s),n.removeObjectExtension(a,"KHR_binary_glTF")}}catch(e){i.e(e)}finally{i.f()}r.buffers&&r.buffers[0]&&delete r.buffers[0].uri,n.removeExtension("KHR_binary_glTF")}(e),this._convertObjectIdsToArrayIndices(n),this._updateObjects(n),this._updateMaterial(n)}},{key:"_addAsset",value:function(e){e.asset=e.asset||{},e.asset.version="2.0",e.asset.generator=e.asset.generator||"Normalized to glTF 2.0 by loaders.gl"}},{key:"_convertTopLevelObjectsToArrays",value:function(e){for(var t in ZD)this._convertTopLevelObjectToArray(e,t)}},{key:"_convertTopLevelObjectToArray",value:function(e,t){var n=e[t];if(n&&!Array.isArray(n))for(var r in e[t]=[],n){var i=n[r];i.id=i.id||r;var a=e[t].length;e[t].push(i),this.idToIndexMap[t][r]=a}}},{key:"_convertObjectIdsToArrayIndices",value:function(e){for(var t in ZD)this._convertIdsToIndices(e,t);"scene"in e&&(e.scene=this._convertIdToIndex(e.scene,"scene"));var n,r=f(e.textures);try{for(r.s();!(n=r.n()).done;){var i=n.value;this._convertTextureIds(i)}}catch(e){r.e(e)}finally{r.f()}var a,s=f(e.meshes);try{for(s.s();!(a=s.n()).done;){var o=a.value;this._convertMeshIds(o)}}catch(e){s.e(e)}finally{s.f()}var l,u=f(e.nodes);try{for(u.s();!(l=u.n()).done;){var c=l.value;this._convertNodeIds(c)}}catch(e){u.e(e)}finally{u.f()}var p,A=f(e.scenes);try{for(A.s();!(p=A.n()).done;){var d=p.value;this._convertSceneIds(d)}}catch(e){A.e(e)}finally{A.f()}}},{key:"_convertTextureIds",value:function(e){e.source&&(e.source=this._convertIdToIndex(e.source,"image"))}},{key:"_convertMeshIds",value:function(e){var t,n=f(e.primitives);try{for(n.s();!(t=n.n()).done;){var r=t.value,i=r.attributes,a=r.indices,s=r.material;for(var o in i)i[o]=this._convertIdToIndex(i[o],"accessor");a&&(r.indices=this._convertIdToIndex(a,"accessor")),s&&(r.material=this._convertIdToIndex(s,"material"))}}catch(e){n.e(e)}finally{n.f()}}},{key:"_convertNodeIds",value:function(e){var t=this;e.children&&(e.children=e.children.map((function(e){return t._convertIdToIndex(e,"node")}))),e.meshes&&(e.meshes=e.meshes.map((function(e){return t._convertIdToIndex(e,"mesh")})))}},{key:"_convertSceneIds",value:function(e){var t=this;e.nodes&&(e.nodes=e.nodes.map((function(e){return t._convertIdToIndex(e,"node")})))}},{key:"_convertIdsToIndices",value:function(e,t){e[t]||(console.warn("gltf v1: json doesn't contain attribute ".concat(t)),e[t]=[]);var n,r=f(e[t]);try{for(r.s();!(n=r.n()).done;){var i=n.value;for(var a in i){var s=i[a],o=this._convertIdToIndex(s,a);i[a]=o}}}catch(e){r.e(e)}finally{r.f()}}},{key:"_convertIdToIndex",value:function(e,t){var n=$D[t];if(n in this.idToIndexMap){var r=this.idToIndexMap[n][e];if(!Number.isFinite(r))throw new Error("gltf v1: failed to resolve ".concat(t," with id ").concat(e));return r}return e}},{key:"_updateObjects",value:function(e){var t,n=f(this.json.buffers);try{for(n.s();!(t=n.n()).done;){delete t.value.type}}catch(e){n.e(e)}finally{n.f()}}},{key:"_updateMaterial",value:function(e){var t,n=f(e.materials);try{var r=function(){var n=t.value;n.pbrMetallicRoughness={baseColorFactor:[1,1,1,1],metallicFactor:1,roughnessFactor:1};var r=(null===(i=n.values)||void 0===i?void 0:i.tex)||(null===(a=n.values)||void 0===a?void 0:a.texture2d_0),s=e.textures.findIndex((function(e){return e.id===r}));-1!==s&&(n.pbrMetallicRoughness.baseColorTexture={index:s})};for(n.s();!(t=n.n()).done;){var i,a;r()}}catch(e){n.e(e)}finally{n.f()}}}]),e}();function tP(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return(new eP).normalize(e,t)}var nP={SCALAR:1,VEC2:2,VEC3:3,VEC4:4,MAT2:4,MAT3:9,MAT4:16},rP={5120:1,5121:1,5122:2,5123:2,5125:4,5126:4},iP=10240,aP=10241,sP=10242,oP=10243,lP=10497,uP=9986,cP={magFilter:iP,minFilter:aP,wrapS:sP,wrapT:oP},fP=(s(e={},iP,9729),s(e,aP,uP),s(e,sP,lP),s(e,oP,lP),e);var pP=function(){function e(){b(this,e),Xm(this,"baseUri",""),Xm(this,"json",{}),Xm(this,"buffers",[]),Xm(this,"images",[])}return P(e,[{key:"postProcess",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=e.json,r=e.buffers,i=void 0===r?[]:r,a=e.images,s=void 0===a?[]:a,o=e.baseUri,l=void 0===o?"":o;return Ab(n),this.baseUri=l,this.json=n,this.buffers=i,this.images=s,this._resolveTree(this.json,t),this.json}},{key:"_resolveTree",value:function(e){var t=this;e.bufferViews&&(e.bufferViews=e.bufferViews.map((function(e,n){return t._resolveBufferView(e,n)}))),e.images&&(e.images=e.images.map((function(e,n){return t._resolveImage(e,n)}))),e.samplers&&(e.samplers=e.samplers.map((function(e,n){return t._resolveSampler(e,n)}))),e.textures&&(e.textures=e.textures.map((function(e,n){return t._resolveTexture(e,n)}))),e.accessors&&(e.accessors=e.accessors.map((function(e,n){return t._resolveAccessor(e,n)}))),e.materials&&(e.materials=e.materials.map((function(e,n){return t._resolveMaterial(e,n)}))),e.meshes&&(e.meshes=e.meshes.map((function(e,n){return t._resolveMesh(e,n)}))),e.nodes&&(e.nodes=e.nodes.map((function(e,n){return t._resolveNode(e,n)}))),e.skins&&(e.skins=e.skins.map((function(e,n){return t._resolveSkin(e,n)}))),e.scenes&&(e.scenes=e.scenes.map((function(e,n){return t._resolveScene(e,n)}))),void 0!==e.scene&&(e.scene=e.scenes[this.json.scene])}},{key:"getScene",value:function(e){return this._get("scenes",e)}},{key:"getNode",value:function(e){return this._get("nodes",e)}},{key:"getSkin",value:function(e){return this._get("skins",e)}},{key:"getMesh",value:function(e){return this._get("meshes",e)}},{key:"getMaterial",value:function(e){return this._get("materials",e)}},{key:"getAccessor",value:function(e){return this._get("accessors",e)}},{key:"getCamera",value:function(e){return null}},{key:"getTexture",value:function(e){return this._get("textures",e)}},{key:"getSampler",value:function(e){return this._get("samplers",e)}},{key:"getImage",value:function(e){return this._get("images",e)}},{key:"getBufferView",value:function(e){return this._get("bufferViews",e)}},{key:"getBuffer",value:function(e){return this._get("buffers",e)}},{key:"_get",value:function(e,t){if("object"===T(t))return t;var n=this.json[e]&&this.json[e][t];return n||console.warn("glTF file error: Could not find ".concat(e,"[").concat(t,"]")),n}},{key:"_resolveScene",value:function(e,t){var n=this;return e.id=e.id||"scene-".concat(t),e.nodes=(e.nodes||[]).map((function(e){return n.getNode(e)})),e}},{key:"_resolveNode",value:function(e,t){var n=this;return e.id=e.id||"node-".concat(t),e.children&&(e.children=e.children.map((function(e){return n.getNode(e)}))),void 0!==e.mesh?e.mesh=this.getMesh(e.mesh):void 0!==e.meshes&&e.meshes.length&&(e.mesh=e.meshes.reduce((function(e,t){var r=n.getMesh(t);return e.id=r.id,e.primitives=e.primitives.concat(r.primitives),e}),{primitives:[]})),void 0!==e.camera&&(e.camera=this.getCamera(e.camera)),void 0!==e.skin&&(e.skin=this.getSkin(e.skin)),e}},{key:"_resolveSkin",value:function(e,t){return e.id=e.id||"skin-".concat(t),e.inverseBindMatrices=this.getAccessor(e.inverseBindMatrices),e}},{key:"_resolveMesh",value:function(e,t){var n=this;return e.id=e.id||"mesh-".concat(t),e.primitives&&(e.primitives=e.primitives.map((function(e){var t=(e=a({},e)).attributes;for(var r in e.attributes={},t)e.attributes[r]=n.getAccessor(t[r]);return void 0!==e.indices&&(e.indices=n.getAccessor(e.indices)),void 0!==e.material&&(e.material=n.getMaterial(e.material)),e}))),e}},{key:"_resolveMaterial",value:function(e,t){if(e.id=e.id||"material-".concat(t),e.normalTexture&&(e.normalTexture=a({},e.normalTexture),e.normalTexture.texture=this.getTexture(e.normalTexture.index)),e.occlusionTexture&&(e.occlustionTexture=a({},e.occlustionTexture),e.occlusionTexture.texture=this.getTexture(e.occlusionTexture.index)),e.emissiveTexture&&(e.emmisiveTexture=a({},e.emmisiveTexture),e.emissiveTexture.texture=this.getTexture(e.emissiveTexture.index)),e.emissiveFactor||(e.emissiveFactor=e.emmisiveTexture?[1,1,1]:[0,0,0]),e.pbrMetallicRoughness){e.pbrMetallicRoughness=a({},e.pbrMetallicRoughness);var n=e.pbrMetallicRoughness;n.baseColorTexture&&(n.baseColorTexture=a({},n.baseColorTexture),n.baseColorTexture.texture=this.getTexture(n.baseColorTexture.index)),n.metallicRoughnessTexture&&(n.metallicRoughnessTexture=a({},n.metallicRoughnessTexture),n.metallicRoughnessTexture.texture=this.getTexture(n.metallicRoughnessTexture.index))}return e}},{key:"_resolveAccessor",value:function(e,t){var n,r;if(e.id=e.id||"accessor-".concat(t),void 0!==e.bufferView&&(e.bufferView=this.getBufferView(e.bufferView)),e.bytesPerComponent=(n=e.componentType,rP[n]),e.components=(r=e.type,nP[r]),e.bytesPerElement=e.bytesPerComponent*e.components,e.bufferView){var i=e.bufferView.buffer,a=bb(e,e.bufferView),s=a.ArrayType,o=a.byteLength,l=(e.bufferView.byteOffset||0)+(e.byteOffset||0)+i.byteOffset,u=i.arrayBuffer.slice(l,l+o);e.bufferView.byteStride&&(u=this._getValueFromInterleavedBuffer(i,l,e.bufferView.byteStride,e.bytesPerElement,e.count)),e.value=new s(u)}return e}},{key:"_getValueFromInterleavedBuffer",value:function(e,t,n,r,i){for(var a=new Uint8Array(i*r),s=0;s1&&void 0!==arguments[1]?arguments[1]:0;return"".concat(String.fromCharCode(e.getUint8(t+0))).concat(String.fromCharCode(e.getUint8(t+1))).concat(String.fromCharCode(e.getUint8(t+2))).concat(String.fromCharCode(e.getUint8(t+3)))}function hP(e,t,n){Um(e.header.byteLength>20);var r=t.getUint32(n+0,dP),i=t.getUint32(n+4,dP);return n+=8,Um(0===i),yP(e,t,n,r),n+=r,n+=mP(e,t,n,e.header.byteLength)}function IP(e,t,n,r){return Um(e.header.byteLength>20),function(e,t,n,r){for(;n+8<=e.header.byteLength;){var i=t.getUint32(n+0,dP),a=t.getUint32(n+4,dP);switch(n+=8,a){case 1313821514:yP(e,t,n,i);break;case 5130562:mP(e,t,n,i);break;case 0:r.strict||yP(e,t,n,i);break;case 1:r.strict||mP(e,t,n,i)}n+=_w(i,4)}}(e,t,n,r),n+e.header.byteLength}function yP(e,t,n,r){var i=new Uint8Array(t.buffer,n,r),a=new TextDecoder("utf8").decode(i);return e.json=JSON.parse(a),_w(r,4)}function mP(e,t,n,r){return e.header.hasBinChunk=!0,e.binChunks.push({byteOffset:n,byteLength:r,arrayBuffer:t.buffer}),_w(r,4)}function wP(e,t){return gP.apply(this,arguments)}function gP(){return gP=u(o().mark((function e(t,n){var r,i,a,s,l,u,c,f,p,A,d=arguments;return o().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(r=d.length>2&&void 0!==d[2]?d[2]:0,i=d.length>3?d[3]:void 0,a=d.length>4?d[4]:void 0,EP(t,n,r,i),tP(t,{normalize:null==i||null===(s=i.gltf)||void 0===s?void 0:s.normalize}),YD(t,i,a),f=[],null==i||null===(l=i.gltf)||void 0===l||!l.loadBuffers||!t.json.buffers){e.next=10;break}return e.next=10,TP(t,i,a);case 10:return null!=i&&null!==(u=i.gltf)&&void 0!==u&&u.loadImages&&(p=DP(t,i,a),f.push(p)),A=XD(t,i,a),f.push(A),e.next=15,Promise.all(f);case 15:return e.abrupt("return",null!=i&&null!==(c=i.gltf)&&void 0!==c&&c.postProcess?AP(t,i):t);case 16:case"end":return e.stop()}}),e)}))),gP.apply(this,arguments)}function EP(e,t,n,r){(r.uri&&(e.baseUri=r.uri),t instanceof ArrayBuffer&&!function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},r=new DataView(e),i=n.magic,a=void 0===i?1735152710:i,s=r.getUint32(t,!1);return s===a||1735152710===s}(t,n,r))&&(t=(new TextDecoder).decode(t));if("string"==typeof t)e.json=bw(t);else if(t instanceof ArrayBuffer){var i={};n=function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,r=new DataView(t),i=vP(r,n+0),a=r.getUint32(n+4,dP),s=r.getUint32(n+8,dP);switch(Object.assign(e,{header:{byteOffset:n,byteLength:s,hasBinChunk:!1},type:i,version:a,json:{},binChunks:[]}),n+=12,e.version){case 1:return hP(e,r,n);case 2:return IP(e,r,n,{});default:throw new Error("Invalid GLB version ".concat(e.version,". Only supports v1 and v2."))}}(i,t,n,r.glb),Ab("glTF"===i.type,"Invalid GLB magic string ".concat(i.type)),e._glb=i,e.json=i.json}else Ab(!1,"GLTF: must be ArrayBuffer or string");var a=e.json.buffers||[];if(e.buffers=new Array(a.length).fill(null),e._glb&&e._glb.header.hasBinChunk){var s=e._glb.binChunks;e.buffers[0]={arrayBuffer:s[0].arrayBuffer,byteOffset:s[0].byteOffset,byteLength:s[0].byteLength}}var o=e.json.images||[];e.images=new Array(o.length).fill({})}function TP(e,t,n){return bP.apply(this,arguments)}function bP(){return(bP=u(o().mark((function e(t,n,r){var i,a,s,l,u,c,f,p;return o().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:i=t.json.buffers||[],a=0;case 2:if(!(a1&&void 0!==u[1]?u[1]:{},r=u.length>2?u[2]:void 0,(n=a(a({},BP.options),n)).gltf=a(a({},BP.options.gltf),n.gltf),i=n.byteOffset,s=void 0===i?0:i,l={},e.next=8,wP(l,t,s,n,r);case 8:return e.abrupt("return",e.sent);case 9:case"end":return e.stop()}}),e)}))),OP.apply(this,arguments)}var SP=function(){function e(t){b(this,e)}return P(e,[{key:"load",value:function(e,t,n,r,i,a,s){!function(e,t,n,r,i,a,s){var o=e.viewer.scene.canvas.spinner;o.processes++,"glb"===t.split(".").pop()?e.dataSource.getGLB(t,(function(s){r.basePath=LP(t),MP(e,t,s,n,r,i,a),o.processes--}),(function(e){o.processes--,s(e)})):e.dataSource.getGLTF(t,(function(s){r.basePath=LP(t),MP(e,t,s,n,r,i,a),o.processes--}),(function(e){o.processes--,s(e)}))}(e,t,n,r=r||{},i,(function(){he.scheduleTask((function(){i.scene.fire("modelLoaded",i.id),i.fire("loaded",!0,!1)})),a&&a()}),(function(t){e.error(t),s&&s(t),i.fire("error",t)}))}},{key:"parse",value:function(e,t,n,r,i,a,s){MP(e,"",t,n,r=r||{},i,(function(){i.scene.fire("modelLoaded",i.id),i.fire("loaded",!0,!1),a&&a()}))}}]),e}();function NP(e){for(var t={},n={},r=e.metaObjects||[],i={},a=0,s=r.length;a0)for(var c=0;c0){null==m&&e.log("Warning: 'name' properties not found on glTF scene nodes - will randomly-generate object IDs in XKT");var w=m;if(e.metaModelCorrections){var g=e.metaModelCorrections.eachChildRoot[w];if(g){var E=e.metaModelCorrections.eachRootStats[g.id];E.countChildren++,E.countChildren>=E.numChildren&&(a.createEntity({id:g.id,meshIds:GP}),GP.length=0)}else{e.metaModelCorrections.metaObjectsMap[w]&&(a.createEntity({id:w,meshIds:GP}),GP.length=0)}}else a.createEntity({id:w,meshIds:GP}),GP.length=0}}function jP(e,t){e.plugin.error(t)}var VP={DEFAULT:{}},QP=function(e){I(n,Ce);var t=m(n);function n(e){var r,i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return b(this,n),(r=t.call(this,"GLTFLoader",e,i))._sceneModelLoader=new SP(g(r),i),r.dataSource=i.dataSource,r.objectDefaults=i.objectDefaults,r}return P(n,[{key:"dataSource",get:function(){return this._dataSource},set:function(e){this._dataSource=e||new os}},{key:"objectDefaults",get:function(){return this._objectDefaults},set:function(e){this._objectDefaults=e||VP}},{key:"load",value:function(){var e=this,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};t.id&&this.viewer.scene.components[t.id]&&(this.error("Component with this ID already exists in viewer: "+t.id+" - will autogenerate this ID"),delete t.id);var n=new Wf(this.viewer.scene,le.apply(t,{isModel:!0,dtxEnabled:t.dtxEnabled})),r=n.id;if(!t.src&&!t.gltf)return this.error("load() param expected: src or gltf"),n;if(t.metaModelSrc||t.metaModelJSON){var i=t.objectDefaults||this._objectDefaults||VP,a=function(a){var s;if(e.viewer.metaScene.createMetaModel(r,a,{includeTypes:t.includeTypes,excludeTypes:t.excludeTypes}),e.viewer.scene.canvas.spinner.processes--,t.includeTypes){s={};for(var o=0,l=t.includeTypes.length;o2&&void 0!==arguments[2]?arguments[2]:{},r="lightgrey",i=n.hoverColor||"rgba(0,0,0,0.4)",a=500,s=a+a/3,o=s/24,l=[{boundary:[6,6,6,6],color:n.frontColor||n.color||"#55FF55"},{boundary:[18,6,6,6],color:n.backColor||n.color||"#55FF55"},{boundary:[12,6,6,6],color:n.rightColor||n.color||"#FF5555"},{boundary:[0,6,6,6],color:n.leftColor||n.color||"#FF5555"},{boundary:[6,0,6,6],color:n.topColor||n.color||"#7777FF"},{boundary:[6,12,6,6],color:n.bottomColor||n.color||"#7777FF"}],u=[{label:"NavCube.front",boundaries:[[7,7,4,4]],dir:[0,1,0],up:[0,0,1]},{label:"NavCube.back",boundaries:[[19,7,4,4]],dir:[0,-1,0],up:[0,0,1]},{label:"NavCube.right",boundaries:[[13,7,4,4]],dir:[-1,0,0],up:[0,0,1]},{label:"NavCube.left",boundaries:[[1,7,4,4]],dir:[1,0,0],up:[0,0,1]},{label:"NavCube.top",boundaries:[[7,1,4,4]],dir:[0,0,-1],up:[0,1,0]},{label:"NavCube.bottom",boundaries:[[7,13,4,4]],dir:[0,0,1],up:[0,-1,0]},{boundaries:[[7,5,4,2]],dir:[0,1,-1],up:[0,1,1]},{boundaries:[[1,6,4,1],[6,1,1,4]],dir:[1,0,-1],up:[1,0,1]},{boundaries:[[7,0,4,1],[19,6,4,1]],dir:[0,-1,-1],up:[0,-1,1]},{boundaries:[[13,6,4,1],[11,1,1,4]],dir:[-1,0,-1],up:[-1,0,1]},{boundaries:[[7,11,4,2]],dir:[0,1,1],up:[0,-1,1]},{boundaries:[[1,11,4,1],[6,13,1,4]],dir:[1,0,1],up:[-1,0,1]},{boundaries:[[7,17,4,1],[19,11,4,1]],dir:[0,-1,1],up:[0,1,1]},{boundaries:[[13,11,4,1],[11,13,1,4]],dir:[-1,0,1],up:[1,0,1]},{boundaries:[[5,7,2,4]],dir:[1,1,0],up:[0,0,1]},{boundaries:[[11,7,2,4]],dir:[-1,1,0],up:[0,0,1]},{boundaries:[[17,7,2,4]],dir:[-1,-1,0],up:[0,0,1]},{boundaries:[[0,7,1,4],[23,7,1,4]],dir:[1,-1,0],up:[0,0,1]},{boundaries:[[5,11,2,2]],dir:[1,1,1],up:[-1,-1,1]},{boundaries:[[23,11,1,1],[6,17,1,1],[0,11,1,1]],dir:[1,-1,1],up:[-1,1,1]},{boundaries:[[5,5,2,2]],dir:[1,1,-1],up:[1,1,1]},{boundaries:[[11,17,1,1],[17,11,2,1]],dir:[-1,-1,1],up:[1,1,1]},{boundaries:[[17,6,2,1],[11,0,1,1]],dir:[-1,-1,-1],up:[-1,-1,1]},{boundaries:[[11,11,2,2]],dir:[-1,1,1],up:[1,-1,1]},{boundaries:[[0,6,1,1],[6,0,1,1],[23,6,1,1]],dir:[1,-1,-1],up:[1,-1,1]},{boundaries:[[11,5,2,2]],dir:[-1,1,-1],up:[-1,1,1]}];n.frontColor||n.color,n.backColor||n.color,n.rightColor||n.color,n.leftColor||n.color,n.topColor||n.color,n.bottomColor||n.color;for(var c=[{yUp:"",label:"NavCube.front",boundaries:[[7,7,4,4]],dir:[0,0,-1],up:[0,1,0]},{label:"NavCube.back",boundaries:[[19,7,4,4]],dir:[0,0,1],up:[0,1,0]},{label:"NavCube.right",boundaries:[[13,7,4,4]],dir:[-1,0,0],up:[0,1,0]},{label:"NavCube.left",boundaries:[[1,7,4,4]],dir:[1,0,0],up:[0,1,0]},{label:"NavCube.top",boundaries:[[7,1,4,4]],dir:[0,-1,0],up:[0,0,-1]},{label:"NavCube.bottom",boundaries:[[7,13,4,4]],dir:[0,1,0],up:[0,0,1]},{boundaries:[[7,5,4,2]],dir:[0,-.7071,-.7071],up:[0,.7071,-.7071]},{boundaries:[[1,6,4,1],[6,1,1,4]],dir:[1,-1,0],up:[1,1,0]},{boundaries:[[7,0,4,1],[19,6,4,1]],dir:[0,-.7071,.7071],up:[0,.7071,.7071]},{boundaries:[[13,6,4,1],[11,1,1,4]],dir:[-1,-1,0],up:[-1,1,0]},{boundaries:[[7,11,4,2]],dir:[0,1,-1],up:[0,1,1]},{boundaries:[[1,11,4,1],[6,13,1,4]],dir:[1,1,0],up:[-1,1,0]},{boundaries:[[7,17,4,1],[19,11,4,1]],dir:[0,1,1],up:[0,1,-1]},{boundaries:[[13,11,4,1],[11,13,1,4]],dir:[-1,1,0],up:[1,1,0]},{boundaries:[[5,7,2,4]],dir:[1,0,-1],up:[0,1,0]},{boundaries:[[11,7,2,4]],dir:[-1,0,-1],up:[0,1,0]},{boundaries:[[17,7,2,4]],dir:[-1,0,1],up:[0,1,0]},{boundaries:[[0,7,1,4],[23,7,1,4]],dir:[1,0,1],up:[0,1,0]},{boundaries:[[5,11,2,2]],dir:[.5,.7071,-.5],up:[-.5,.7071,.5]},{boundaries:[[23,11,1,1],[6,17,1,1],[0,11,1,1]],dir:[.5,.7071,.5],up:[-.5,.7071,-.5]},{boundaries:[[5,5,2,2]],dir:[.5,-.7071,-.5],up:[.5,.7071,-.5]},{boundaries:[[11,17,1,1],[17,11,2,1]],dir:[-.5,.7071,.5],up:[.5,.7071,-.5]},{boundaries:[[17,6,2,1],[11,0,1,1]],dir:[-.5,-.7071,.5],up:[-.5,.7071,.5]},{boundaries:[[11,11,2,2]],dir:[-.5,.7071,-.5],up:[.5,.7071,.5]},{boundaries:[[0,6,1,1],[6,0,1,1],[23,6,1,1]],dir:[.5,-.7071,.5],up:[.5,.7071,.5]},{boundaries:[[11,5,2,2]],dir:[-.5,-.7071,-.5],up:[-.5,.7071,-.5]}],f=0,p=u.length;f=f[0]*o&&t<=(f[0]+f[2])*o&&n>=f[1]*o&&n<=(f[1]+f[3])*o)return r}return-1},this.setAreaHighlighted=function(e,t){var n=v[e];if(!n)throw"Area not found: "+e;n.highlighted=!!t,m()},this.getAreaDir=function(e){var t=v[e];if(!t)throw"Unknown area: "+e;return t.dir},this.getAreaUp=function(e){var t=v[e];if(!t)throw"Unknown area: "+e;return t.up},this.getImage=function(){return this._textureCanvas},this.destroy=function(){this._textureCanvas&&(this._textureCanvas.parentNode.removeChild(this._textureCanvas),this._textureCanvas=null)}}var zP=$.vec3(),KP=$.vec3();$.mat4();var YP=function(e){I(n,Ce);var t=m(n);function n(e){var r,i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};b(this,n),r=t.call(this,"NavCube",e,i),e.navCube=g(r);var a=!0;try{r._navCubeScene=new zn(e,{canvasId:i.canvasId,canvasElement:i.canvasElement,transparent:!0}),r._navCubeCanvas=r._navCubeScene.canvas.canvas,r._navCubeScene.input.keyboardEnabled=!1}catch(e){return r.error(e),w(r)}var s=r._navCubeScene;s.clearLights(),new vn(s,{dir:[.4,-.4,.8],color:[.8,1,1],intensity:1,space:"view"}),new vn(s,{dir:[-.8,-.3,-.4],color:[.8,.8,.8],intensity:1,space:"view"}),new vn(s,{dir:[.8,-.6,-.8],color:[1,1,1],intensity:1,space:"view"}),r._navCubeCamera=s.camera,r._navCubeCamera.ortho.scale=7,r._navCubeCamera.ortho.near=.1,r._navCubeCamera.ortho.far=2e3,s.edgeMaterial.edgeColor=[.2,.2,.2],s.edgeMaterial.edgeAlpha=.6,r._zUp=Boolean(e.camera.zUp);var o=g(r);r.setIsProjectNorth(i.isProjectNorth),r.setProjectNorthOffsetAngle(i.projectNorthOffsetAngle);var l,u=(l=$.mat4(),function(e,t,n){return $.identityMat4(l),$.rotationMat4v(e*o._projectNorthOffsetAngle*$.DEGTORAD,[0,1,0],l),$.transformVec3(l,t,n)});r._synchCamera=function(){var t=$.rotationMat4c(-90*$.DEGTORAD,1,0,0),n=$.vec3(),r=$.vec3(),i=$.vec3();return function(){var a=e.camera.eye,s=e.camera.look,l=e.camera.up;n=$.mulVec3Scalar($.normalizeVec3($.subVec3(a,s,n)),5),o._isProjectNorth&&o._projectNorthOffsetAngle&&(n=u(-1,n,zP),l=u(-1,l,KP)),o._zUp?($.transformVec3(t,n,r),$.transformVec3(t,l,i),o._navCubeCamera.look=[0,0,0],o._navCubeCamera.eye=$.transformVec3(t,n,r),o._navCubeCamera.up=$.transformPoint3(t,l,i)):(o._navCubeCamera.look=[0,0,0],o._navCubeCamera.eye=n,o._navCubeCamera.up=l)}}(),r._cubeTextureCanvas=new WP(e,s,i),r._cubeSampler=new Ba(s,{image:r._cubeTextureCanvas.getImage(),flipY:!0,wrapS:1001,wrapT:1001}),r._cubeMesh=new Ji(s,{geometry:new Cn(s,{primitive:"triangles",normals:[0,0,1,0,0,1,0,0,1,0,0,1,1,0,0,1,0,0,1,0,0,1,0,0,0,1,0,0,1,0,0,1,0,0,1,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,0,-1,0,0,-1,0,0,-1,0,0,-1],positions:[1,1,1,-1,1,1,-1,-1,1,1,-1,1,1,1,1,1,-1,1,1,-1,-1,1,1,-1,1,1,1,1,1,-1,-1,1,-1,-1,1,1,-1,1,1,-1,1,-1,-1,-1,-1,-1,-1,1,-1,-1,-1,1,-1,-1,1,-1,1,-1,-1,1,1,-1,-1,-1,-1,-1,-1,1,-1,1,1,-1],uv:[.5,.6666,.25,.6666,.25,.3333,.5,.3333,.5,.6666,.5,.3333,.75,.3333,.75,.6666,.5,.6666,.5,1,.25,1,.25,.6666,.25,.6666,0,.6666,0,.3333,.25,.3333,.25,0,.5,0,.5,.3333,.25,.3333,.75,.3333,1,.3333,1,.6666,.75,.6666],indices:[0,1,2,0,2,3,4,5,6,4,6,7,8,9,10,8,10,11,12,13,14,12,14,15,16,17,18,16,18,19,20,21,22,20,22,23]}),material:new Nn(s,{diffuse:[.4,.4,.4],specular:[.4,.4,.4],emissive:[.6,.6,.6],diffuseMap:r._cubeSampler,emissiveMap:r._cubeSampler}),visible:!!a,edges:!0}),r._shadow=!1===i.shadowVisible?null:new Ji(s,{geometry:new Cn(s,$i({center:[0,0,0],radiusTop:.001,radiusBottom:1.4,height:.01,radialSegments:20,heightSegments:1,openEnded:!0})),material:new Nn(s,{diffuse:[0,0,0],specular:[0,0,0],emissive:[0,0,0],alpha:.5}),position:[0,-1.5,0],visible:!!a,pickable:!1,backfaces:!1}),r._onCameraMatrix=e.camera.on("matrix",r._synchCamera),r._onCameraWorldAxis=e.camera.on("worldAxis",(function(){e.camera.zUp?(r._zUp=!0,r._cubeTextureCanvas.setZUp(),r._repaint(),r._synchCamera()):e.camera.yUp&&(r._zUp=!1,r._cubeTextureCanvas.setYUp(),r._repaint(),r._synchCamera())})),r._onCameraFOV=e.camera.perspective.on("fov",(function(e){r._synchProjection&&(r._navCubeCamera.perspective.fov=e)})),r._onCameraProjection=e.camera.on("projection",(function(e){r._synchProjection&&(r._navCubeCamera.projection="ortho"===e||"perspective"===e?e:"perspective")}));var c=-1;function f(t,n){var r=(t-A)*-m,i=(n-d)*-m;e.camera.orbitYaw(r),e.camera.orbitPitch(-i),A=t,d=n}function p(e){var t=[0,0];if(e){for(var n=e.target,r=0,i=0;n.offsetParent;)r+=n.offsetLeft,i+=n.offsetTop,n=n.offsetParent;t[0]=e.pageX-r,t[1]=e.pageY-i}else e=window.event,t[0]=e.x,t[1]=e.y;return t}var A,d,v=null,h=null,I=!1,y=!1,m=.5;o._navCubeCanvas.addEventListener("mouseenter",o._onMouseEnter=function(e){y=!0}),o._navCubeCanvas.addEventListener("mouseleave",o._onMouseLeave=function(e){y=!1}),o._navCubeCanvas.addEventListener("mousedown",o._onMouseDown=function(e){if(1===e.which){v=e.x,h=e.y,A=e.clientX,d=e.clientY;var t=p(e),n=s.pick({canvasPos:t});I=!!n}}),document.addEventListener("mouseup",o._onMouseUp=function(e){if(1===e.which&&(I=!1,null!==v)){var t=p(e),n=s.pick({canvasPos:t,pickSurface:!0});if(n&&n.uv){var r=o._cubeTextureCanvas.getArea(n.uv);if(r>=0&&(document.body.style.cursor="pointer",c>=0&&(o._cubeTextureCanvas.setAreaHighlighted(c,!1),o._repaint(),c=-1),r>=0)){if(o._cubeTextureCanvas.setAreaHighlighted(r,!0),c=r,o._repaint(),e.xv+3||e.yh+3)return;var i=o._cubeTextureCanvas.getAreaDir(r);if(i){var a=o._cubeTextureCanvas.getAreaUp(r);o._isProjectNorth&&o._projectNorthOffsetAngle&&(i=u(1,i,zP),a=u(1,a,KP)),E(i,a,(function(){c>=0&&(o._cubeTextureCanvas.setAreaHighlighted(c,!1),o._repaint(),c=-1),document.body.style.cursor="pointer",c>=0&&(o._cubeTextureCanvas.setAreaHighlighted(c,!1),o._repaint(),c=-1),r>=0&&(o._cubeTextureCanvas.setAreaHighlighted(r,!1),c=-1,o._repaint())}))}}}}}),document.addEventListener("mousemove",o._onMouseMove=function(e){if(c>=0&&(o._cubeTextureCanvas.setAreaHighlighted(c,!1),o._repaint(),c=-1),1!==e.buttons||I){if(I){var t=e.clientX,n=e.clientY;return document.body.style.cursor="move",void f(t,n)}if(y){var r=p(e),i=s.pick({canvasPos:r,pickSurface:!0});if(i){if(i.uv){document.body.style.cursor="pointer";var a=o._cubeTextureCanvas.getArea(i.uv);if(a===c)return;c>=0&&o._cubeTextureCanvas.setAreaHighlighted(c,!1),a>=0&&(o._cubeTextureCanvas.setAreaHighlighted(a,!0),o._repaint(),c=a)}}else document.body.style.cursor="default",c>=0&&(o._cubeTextureCanvas.setAreaHighlighted(c,!1),o._repaint(),c=-1)}}});var E=function(){var t=$.vec3();return function(n,r,i){var a=o._fitVisible?e.scene.getAABB(e.scene.visibleObjectIds):e.scene.aabb,s=$.getAABB3Diag(a);$.getAABB3Center(a,t);var l=Math.abs(s/Math.tan(o._cameraFitFOV*$.DEGTORAD));e.cameraControl.pivotPos=t,o._cameraFly?e.cameraFlight.flyTo({look:t,eye:[t[0]-l*n[0],t[1]-l*n[1],t[2]-l*n[2]],up:r||[0,1,0],orthoScale:1.1*s,fitFOV:o._cameraFitFOV,duration:o._cameraFlyDuration},i):e.cameraFlight.jumpTo({look:t,eye:[t[0]-l*n[0],t[1]-l*n[1],t[2]-l*n[2]],up:r||[0,1,0],orthoScale:1.1*s,fitFOV:o._cameraFitFOV},i)}}();return r._onUpdated=e.localeService.on("updated",(function(){r._cubeTextureCanvas.clear(),r._repaint()})),r.setVisible(i.visible),r.setCameraFitFOV(i.cameraFitFOV),r.setCameraFly(i.cameraFly),r.setCameraFlyDuration(i.cameraFlyDuration),r.setFitVisible(i.fitVisible),r.setSynchProjection(i.synchProjection),r}return P(n,[{key:"send",value:function(e,t){if("language"===e)this._cubeTextureCanvas.clear(),this._repaint()}},{key:"_repaint",value:function(){var e=this._cubeTextureCanvas.getImage();this._cubeMesh.material.diffuseMap.image=e,this._cubeMesh.material.emissiveMap.image=e}},{key:"setVisible",value:function(){var e=!(arguments.length>0&&void 0!==arguments[0])||arguments[0];this._navCubeCanvas&&(this._cubeMesh.visible=e,this._shadow&&(this._shadow.visible=e),this._navCubeCanvas.style.visibility=e?"visible":"hidden")}},{key:"getVisible",value:function(){return!!this._navCubeCanvas&&this._cubeMesh.visible}},{key:"setFitVisible",value:function(){var e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];this._fitVisible=e}},{key:"getFitVisible",value:function(){return this._fitVisible}},{key:"setCameraFly",value:function(){var e=!(arguments.length>0&&void 0!==arguments[0])||arguments[0];this._cameraFly=e}},{key:"getCameraFly",value:function(){return this._cameraFly}},{key:"setCameraFitFOV",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:45;this._cameraFitFOV=e}},{key:"getCameraFitFOV",value:function(){return this._cameraFitFOV}},{key:"setCameraFlyDuration",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:.5;this._cameraFlyDuration=e}},{key:"getCameraFlyDuration",value:function(){return this._cameraFlyDuration}},{key:"setSynchProjection",value:function(){var e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];this._synchProjection=e}},{key:"getSynchProjection",value:function(){return this._synchProjection}},{key:"setIsProjectNorth",value:function(){var e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];this._isProjectNorth=e}},{key:"getIsProjectNorth",value:function(){return this._isProjectNorth}},{key:"setProjectNorthOffsetAngle",value:function(e){this._projectNorthOffsetAngle=e}},{key:"getProjectNorthOffsetAngle",value:function(){return this._projectNorthOffsetAngle}},{key:"destroy",value:function(){this._navCubeCanvas&&(this.viewer.localeService.off(this._onUpdated),this.viewer.camera.off(this._onCameraMatrix),this.viewer.camera.off(this._onCameraWorldAxis),this.viewer.camera.perspective.off(this._onCameraFOV),this.viewer.camera.off(this._onCameraProjection),this._navCubeCanvas.removeEventListener("mouseenter",this._onMouseEnter),this._navCubeCanvas.removeEventListener("mouseleave",this._onMouseLeave),this._navCubeCanvas.removeEventListener("mousedown",this._onMouseDown),document.removeEventListener("mousemove",this._onMouseMove),document.removeEventListener("mouseup",this._onMouseUp),this._navCubeCanvas=null,this._cubeTextureCanvas.destroy(),this._cubeTextureCanvas=null,this._onMouseEnter=null,this._onMouseLeave=null,this._onMouseDown=null,this._onMouseMove=null,this._onMouseUp=null),this._navCubeScene.destroy(),this._navCubeScene=null,this._cubeMesh=null,this._shadow=null,v(E(n.prototype),"destroy",this).call(this)}}]),n}(),XP=$.vec3(),qP=function(){function e(){b(this,e)}return P(e,[{key:"load",value:function(e,t){var n=e.scene.canvas.spinner;n.processes++,JP(e,t,(function(t){$P(e,t,(function(){nR(e,t),n.processes--,he.scheduleTask((function(){e.fire("loaded",!0,!1)}))}))}))}},{key:"parse",value:function(e,t,n,r){if(t){var i=ZP(e,t,null);n&&tR(e,n,r),nR(e,i),e.src=null,e.fire("loaded",!0,!1)}else this.warn("load() param expected: objText")}}]),e}(),JP=function(e,t,n){rR(t,(function(r){var i=ZP(e,r,t);n(i)}),(function(t){e.error(t)}))},ZP=function(){var e={vertex_pattern:/^v\s+([\d|\.|\+|\-|e|E]+)\s+([\d|\.|\+|\-|e|E]+)\s+([\d|\.|\+|\-|e|E]+)/,normal_pattern:/^vn\s+([\d|\.|\+|\-|e|E]+)\s+([\d|\.|\+|\-|e|E]+)\s+([\d|\.|\+|\-|e|E]+)/,uv_pattern:/^vt\s+([\d|\.|\+|\-|e|E]+)\s+([\d|\.|\+|\-|e|E]+)/,face_vertex:/^f\s+(-?\d+)\s+(-?\d+)\s+(-?\d+)(?:\s+(-?\d+))?/,face_vertex_uv:/^f\s+(-?\d+)\/(-?\d+)\s+(-?\d+)\/(-?\d+)\s+(-?\d+)\/(-?\d+)(?:\s+(-?\d+)\/(-?\d+))?/,face_vertex_uv_normal:/^f\s+(-?\d+)\/(-?\d+)\/(-?\d+)\s+(-?\d+)\/(-?\d+)\/(-?\d+)\s+(-?\d+)\/(-?\d+)\/(-?\d+)(?:\s+(-?\d+)\/(-?\d+)\/(-?\d+))?/,face_vertex_normal:/^f\s+(-?\d+)\/\/(-?\d+)\s+(-?\d+)\/\/(-?\d+)\s+(-?\d+)\/\/(-?\d+)(?:\s+(-?\d+)\/\/(-?\d+))?/,object_pattern:/^[og]\s*(.+)?/,smoothing_pattern:/^s\s+(\d+|on|off)/,material_library_pattern:/^mtllib /,material_use_pattern:/^usemtl /};return function(r,i,a){var s={src:a=a||"",basePath:t(a),objects:[],object:{},positions:[],normals:[],uv:[],materialLibraries:{}};n(s,"",!1),-1!==i.indexOf("\r\n")&&(i=i.replace("\r\n","\n"));for(var o=i.split("\n"),l="",u="",c="",A=[],d="function"==typeof"".trimLeft,v=0,h=o.length;v=0?n-1:n+t/3)}function i(e,t){var n=parseInt(e,10);return 3*(n>=0?n-1:n+t/3)}function a(e,t){var n=parseInt(e,10);return 2*(n>=0?n-1:n+t/2)}function s(e,t,n,r){var i=e.positions,a=e.object.geometry.positions;a.push(i[t+0]),a.push(i[t+1]),a.push(i[t+2]),a.push(i[n+0]),a.push(i[n+1]),a.push(i[n+2]),a.push(i[r+0]),a.push(i[r+1]),a.push(i[r+2])}function o(e,t){var n=e.positions,r=e.object.geometry.positions;r.push(n[t+0]),r.push(n[t+1]),r.push(n[t+2])}function l(e,t,n,r){var i=e.normals,a=e.object.geometry.normals;a.push(i[t+0]),a.push(i[t+1]),a.push(i[t+2]),a.push(i[n+0]),a.push(i[n+1]),a.push(i[n+2]),a.push(i[r+0]),a.push(i[r+1]),a.push(i[r+2])}function u(e,t,n,r){var i=e.uv,a=e.object.geometry.uv;a.push(i[t+0]),a.push(i[t+1]),a.push(i[n+0]),a.push(i[n+1]),a.push(i[r+0]),a.push(i[r+1])}function c(e,t){var n=e.uv,r=e.object.geometry.uv;r.push(n[t+0]),r.push(n[t+1])}function f(e,t,n,o,c,f,p,A,d,v,h,I,y){var m,w=e.positions.length,g=r(t,w),E=r(n,w),T=r(o,w);if(void 0===c?s(e,g,E,T):(s(e,g,E,m=r(c,w)),s(e,E,T,m)),void 0!==f){var b=e.uv.length;g=a(f,b),E=a(p,b),T=a(A,b),void 0===c?u(e,g,E,T):(u(e,g,E,m=a(d,b)),u(e,E,T,m))}if(void 0!==v){var D=e.normals.length;g=i(v,D),E=v===h?g:i(h,D),T=v===I?g:i(I,D),void 0===c?l(e,g,E,T):(l(e,g,E,m=i(y,D)),l(e,E,T,m))}}function p(e,t,n){e.object.geometry.type="Line";for(var i=e.positions.length,s=e.uv.length,l=0,u=t.length;l=0?s.substring(0,o):s).toLowerCase(),u=(u=o>=0?s.substring(o+1):"").trim(),l.toLowerCase()){case"newmtl":n(e,p),p={id:u},A=!0;break;case"ka":p.ambient=r(u);break;case"kd":p.diffuse=r(u);break;case"ks":p.specular=r(u);break;case"map_kd":p.diffuseMap||(p.diffuseMap=t(e,a,u,"sRGB"));break;case"map_ks":p.specularMap||(p.specularMap=t(e,a,u,"linear"));break;case"map_bump":case"bump":p.normalMap||(p.normalMap=t(e,a,u));break;case"ns":p.shininess=parseFloat(u);break;case"d":(c=parseFloat(u))<1&&(p.alpha=c,p.alphaMode="blend");break;case"tr":(c=parseFloat(u))>0&&(p.alpha=1-c,p.alphaMode="blend")}A&&n(e,p)};function t(e,t,n,r){var i={},a=n.split(/\s+/),s=a.indexOf("-bm");return s>=0&&a.splice(s,2),(s=a.indexOf("-s"))>=0&&(i.scale=[parseFloat(a[s+1]),parseFloat(a[s+2])],a.splice(s,4)),(s=a.indexOf("-o"))>=0&&(i.translate=[parseFloat(a[s+1]),parseFloat(a[s+2])],a.splice(s,4)),i.src=t+a.join(" ").trim(),i.flipY=!0,i.encoding=r||"linear",new Ba(e,i).id}function n(e,t){new Nn(e,t)}function r(t){var n=t.split(e,3);return[parseFloat(n[0]),parseFloat(n[1]),parseFloat(n[2])]}}();function nR(e,t){for(var n=0,r=t.objects.length;n0&&(s.normals=a.normals),a.uv.length>0&&(s.uv=a.uv);for(var o=new Array(s.positions.length/3),l=0;l0&&void 0!==arguments[0]?arguments[0]:{};t.id&&this.viewer.scene.components[t.id]&&(this.error("Component with this ID already exists in viewer: "+t.id+" - will autogenerate this ID"),delete t.id);var n=new da(this.viewer.scene,le.apply(t,{isModel:!0})),r=n.id,i=t.src;if(!i)return this.error("load() param expected: src"),n;if(t.metaModelSrc){var a=t.metaModelSrc;le.loadJSON(a,(function(a){e.viewer.metaScene.createMetaModel(r,a),e._sceneGraphLoader.load(n,i,t)}),(function(t){e.error("load(): Failed to load model modelMetadata for model '".concat(r," from '").concat(a,"' - ").concat(t))}))}else this._sceneGraphLoader.load(n,i,t);return n.once("destroyed",(function(){e.viewer.metaScene.destroyMetaModel(r)})),n}},{key:"destroy",value:function(){v(E(n.prototype),"destroy",this).call(this)}}]),n}(),aR=new Float64Array([0,0,1]),sR=new Float64Array(4),oR=function(){function e(t){b(this,e),this.id=null,this._viewer=t.viewer,this._visible=!1,this._pos=$.vec3(),this._origin=$.vec3(),this._rtcPos=$.vec3(),this._baseDir=$.vec3(),this._rootNode=null,this._displayMeshes=null,this._affordanceMeshes=null,this._ignoreNextSectionPlaneDirUpdate=!1,this._createNodes(),this._bindEvents()}return P(e,[{key:"_setSectionPlane",value:function(e){var t=this;this._sectionPlane&&(this._sectionPlane.off(this._onSectionPlanePos),this._sectionPlane.off(this._onSectionPlaneDir),this._onSectionPlanePos=null,this._onSectionPlaneDir=null,this._sectionPlane=null),e&&(this.id=e.id,this._setPos(e.pos),this._setDir(e.dir),this._sectionPlane=e,this._onSectionPlanePos=e.on("pos",(function(){t._setPos(t._sectionPlane.pos)})),this._onSectionPlaneDir=e.on("dir",(function(){t._ignoreNextSectionPlaneDirUpdate?t._ignoreNextSectionPlaneDirUpdate=!1:t._setDir(t._sectionPlane.dir)})))}},{key:"sectionPlane",get:function(){return this._sectionPlane}},{key:"_setPos",value:function(e){this._pos.set(e),Oe(this._pos,this._origin,this._rtcPos),this._rootNode.origin=this._origin,this._rootNode.position=this._rtcPos}},{key:"_setDir",value:function(e){this._baseDir.set(e),this._rootNode.quaternion=$.vec3PairToQuaternion(aR,e,sR)}},{key:"_setSectionPlaneDir",value:function(e){this._sectionPlane&&(this._ignoreNextSectionPlaneDirUpdate=!0,this._sectionPlane.dir=e)}},{key:"setVisible",value:function(){var e=!(arguments.length>0&&void 0!==arguments[0])||arguments[0];if(this._visible!==e){var t;for(t in this._visible=e,this._displayMeshes)this._displayMeshes.hasOwnProperty(t)&&(this._displayMeshes[t].visible=e);if(!e)for(t in this._affordanceMeshes)this._affordanceMeshes.hasOwnProperty(t)&&(this._affordanceMeshes[t].visible=e)}}},{key:"getVisible",value:function(){return this._visible}},{key:"setCulled",value:function(e){var t;for(t in this._displayMeshes)this._displayMeshes.hasOwnProperty(t)&&(this._displayMeshes[t].culled=e);if(!e)for(t in this._affordanceMeshes)this._affordanceMeshes.hasOwnProperty(t)&&(this._affordanceMeshes[t].culled=e)}},{key:"_createNodes",value:function(){var e=!1,t=this._viewer.scene,n=.01;this._rootNode=new da(t,{position:[0,0,0],scale:[5,5,5]});var r,i,a=this._rootNode,s={arrowHead:new Cn(a,$i({radiusTop:.001,radiusBottom:.07,radialSegments:32,heightSegments:1,height:.2,openEnded:!1})),arrowHeadBig:new Cn(a,$i({radiusTop:.001,radiusBottom:.09,radialSegments:32,heightSegments:1,height:.25,openEnded:!1})),arrowHeadHandle:new Cn(a,$i({radiusTop:.09,radiusBottom:.09,radialSegments:8,heightSegments:1,height:.37,openEnded:!1})),curve:new Cn(a,ka({radius:.8,tube:n,radialSegments:64,tubeSegments:14,arc:2*Math.PI/4})),curveHandle:new Cn(a,ka({radius:.8,tube:.06,radialSegments:64,tubeSegments:14,arc:2*Math.PI/4})),hoop:new Cn(a,ka({radius:.8,tube:n,radialSegments:64,tubeSegments:8,arc:2*Math.PI})),axis:new Cn(a,$i({radiusTop:n,radiusBottom:n,radialSegments:20,heightSegments:1,height:1,openEnded:!1})),axisHandle:new Cn(a,$i({radiusTop:.08,radiusBottom:.08,radialSegments:20,heightSegments:1,height:1,openEnded:!1}))},o={pickable:new Nn(a,{diffuse:[1,1,0],alpha:0,alphaMode:"blend"}),red:new Nn(a,{diffuse:[1,0,0],emissive:[1,0,0],ambient:[0,0,0],specular:[.6,.6,.3],shininess:80,lineWidth:2}),highlightRed:new Mn(a,{edges:!1,fill:!0,fillColor:[1,0,0],fillAlpha:.6}),green:new Nn(a,{diffuse:[0,1,0],emissive:[0,1,0],ambient:[0,0,0],specular:[.6,.6,.3],shininess:80,lineWidth:2}),highlightGreen:new Mn(a,{edges:!1,fill:!0,fillColor:[0,1,0],fillAlpha:.6}),blue:new Nn(a,{diffuse:[0,0,1],emissive:[0,0,1],ambient:[0,0,0],specular:[.6,.6,.3],shininess:80,lineWidth:2}),highlightBlue:new Mn(a,{edges:!1,fill:!0,fillColor:[0,0,1],fillAlpha:.2}),center:new Nn(a,{diffuse:[0,0,0],emissive:[0,0,0],ambient:[0,0,0],specular:[.6,.6,.3],shininess:80}),highlightBall:new Mn(a,{edges:!1,fill:!0,fillColor:[.5,.5,.5],fillAlpha:.5,vertices:!1}),highlightPlane:new Mn(a,{edges:!0,edgeWidth:3,fill:!1,fillColor:[.5,.5,.5],fillAlpha:.5,vertices:!1})};this._displayMeshes={plane:a.addChild(new Ji(a,{geometry:new Cn(a,{primitive:"triangles",positions:[.5,.5,0,.5,-.5,0,-.5,-.5,0,-.5,.5,0,.5,.5,-0,.5,-.5,-0,-.5,-.5,-0,-.5,.5,-0],indices:[0,1,2,2,3,0]}),material:new Nn(a,{emissive:[0,0,0],diffuse:[0,0,0],backfaces:!0}),opacity:.6,ghosted:!0,ghostMaterial:new Mn(a,{edges:!1,filled:!0,fillColor:[1,1,0],edgeColor:[0,0,0],fillAlpha:.1,backfaces:!0}),pickable:!1,collidable:!0,clippable:!1,visible:!1,scale:[2.4,2.4,1]}),e),planeFrame:a.addChild(new Ji(a,{geometry:new Cn(a,ka({center:[0,0,0],radius:1.7,tube:.02,radialSegments:4,tubeSegments:4,arc:2*Math.PI})),material:new Nn(a,{emissive:[0,0,0],diffuse:[0,0,0],specular:[0,0,0],shininess:0}),highlightMaterial:new Mn(a,{edges:!1,edgeColor:[0,0,0],filled:!0,fillColor:[.8,.8,.8],fillAlpha:1}),pickable:!1,collidable:!1,clippable:!1,visible:!1,scale:[1,1,.1],rotation:[0,0,45]}),e),xCurve:a.addChild(new Ji(a,{geometry:s.curve,material:o.red,matrix:(r=$.rotationMat4v(90*$.DEGTORAD,[0,1,0],$.identityMat4()),i=$.rotationMat4v(270*$.DEGTORAD,[1,0,0],$.identityMat4()),$.mulMat4(i,r,$.identityMat4())),pickable:!1,collidable:!0,clippable:!1,backfaces:!0,visible:!1}),e),xCurveHandle:a.addChild(new Ji(a,{geometry:s.curveHandle,material:o.pickable,matrix:function(){var e=$.rotationMat4v(90*$.DEGTORAD,[0,1,0],$.identityMat4()),t=$.rotationMat4v(270*$.DEGTORAD,[1,0,0],$.identityMat4());return $.mulMat4(t,e,$.identityMat4())}(),pickable:!0,collidable:!0,clippable:!1,backfaces:!0,visible:!1}),e),xCurveArrow1:a.addChild(new Ji(a,{geometry:s.arrowHead,material:o.red,matrix:function(){var e=$.translateMat4c(0,-.07,-.8,$.identityMat4()),t=$.scaleMat4v([.6,.6,.6],$.identityMat4()),n=$.rotationMat4v(0*$.DEGTORAD,[0,0,1],$.identityMat4());return $.mulMat4($.mulMat4(e,t,$.identityMat4()),n,$.identityMat4())}(),pickable:!0,collidable:!0,clippable:!1,visible:!1}),e),xCurveArrow2:a.addChild(new Ji(a,{geometry:s.arrowHead,material:o.red,matrix:function(){var e=$.translateMat4c(0,-.8,-.07,$.identityMat4()),t=$.scaleMat4v([.6,.6,.6],$.identityMat4()),n=$.rotationMat4v(90*$.DEGTORAD,[1,0,0],$.identityMat4());return $.mulMat4($.mulMat4(e,t,$.identityMat4()),n,$.identityMat4())}(),pickable:!0,collidable:!0,clippable:!1,visible:!1}),e),yCurve:a.addChild(new Ji(a,{geometry:s.curve,material:o.green,rotation:[-90,0,0],pickable:!1,collidable:!0,clippable:!1,backfaces:!0,visible:!1}),e),yCurveHandle:a.addChild(new Ji(a,{geometry:s.curveHandle,material:o.pickable,rotation:[-90,0,0],pickable:!0,collidable:!0,clippable:!1,backfaces:!0,visible:!1}),e),yCurveArrow1:a.addChild(new Ji(a,{geometry:s.arrowHead,material:o.green,matrix:function(){var e=$.translateMat4c(.07,0,-.8,$.identityMat4()),t=$.scaleMat4v([.6,.6,.6],$.identityMat4()),n=$.rotationMat4v(90*$.DEGTORAD,[0,0,1],$.identityMat4());return $.mulMat4($.mulMat4(e,t,$.identityMat4()),n,$.identityMat4())}(),pickable:!0,collidable:!0,clippable:!1,visible:!1}),e),yCurveArrow2:a.addChild(new Ji(a,{geometry:s.arrowHead,material:o.green,matrix:function(){var e=$.translateMat4c(.8,0,-.07,$.identityMat4()),t=$.scaleMat4v([.6,.6,.6],$.identityMat4()),n=$.rotationMat4v(90*$.DEGTORAD,[1,0,0],$.identityMat4());return $.mulMat4($.mulMat4(e,t,$.identityMat4()),n,$.identityMat4())}(),pickable:!0,collidable:!0,clippable:!1,visible:!1}),e),zCurve:a.addChild(new Ji(a,{geometry:s.curve,material:o.blue,matrix:$.rotationMat4v(180*$.DEGTORAD,[1,0,0],$.identityMat4()),pickable:!1,collidable:!0,clippable:!1,visible:!1}),e),zCurveHandle:a.addChild(new Ji(a,{geometry:s.curveHandle,material:o.pickable,matrix:$.rotationMat4v(180*$.DEGTORAD,[1,0,0],$.identityMat4()),pickable:!0,collidable:!0,clippable:!1,visible:!1}),e),zCurveCurveArrow1:a.addChild(new Ji(a,{geometry:s.arrowHead,material:o.blue,matrix:function(){var e=$.translateMat4c(.8,-.07,0,$.identityMat4()),t=$.scaleMat4v([.6,.6,.6],$.identityMat4());return $.mulMat4(e,t,$.identityMat4())}(),pickable:!0,collidable:!0,clippable:!1,visible:!1}),e),zCurveArrow2:a.addChild(new Ji(a,{geometry:s.arrowHead,material:o.blue,matrix:function(){var e=$.translateMat4c(.05,-.8,0,$.identityMat4()),t=$.scaleMat4v([.6,.6,.6],$.identityMat4()),n=$.rotationMat4v(90*$.DEGTORAD,[0,0,1],$.identityMat4());return $.mulMat4($.mulMat4(e,t,$.identityMat4()),n,$.identityMat4())}(),pickable:!0,collidable:!0,clippable:!1,visible:!1}),e),center:a.addChild(new Ji(a,{geometry:new Cn(a,ea({radius:.05})),material:o.center,pickable:!1,collidable:!0,clippable:!1,visible:!1}),e),xAxisArrow:a.addChild(new Ji(a,{geometry:s.arrowHead,material:o.red,matrix:function(){var e=$.translateMat4c(0,1.1,0,$.identityMat4()),t=$.rotationMat4v(-90*$.DEGTORAD,[0,0,1],$.identityMat4());return $.mulMat4(t,e,$.identityMat4())}(),pickable:!1,collidable:!0,clippable:!1,visible:!1}),e),xAxisArrowHandle:a.addChild(new Ji(a,{geometry:s.arrowHeadHandle,material:o.pickable,matrix:function(){var e=$.translateMat4c(0,1.1,0,$.identityMat4()),t=$.rotationMat4v(-90*$.DEGTORAD,[0,0,1],$.identityMat4());return $.mulMat4(t,e,$.identityMat4())}(),pickable:!0,collidable:!0,clippable:!1,visible:!1}),e),xAxis:a.addChild(new Ji(a,{geometry:s.axis,material:o.red,matrix:function(){var e=$.translateMat4c(0,.5,0,$.identityMat4()),t=$.rotationMat4v(-90*$.DEGTORAD,[0,0,1],$.identityMat4());return $.mulMat4(t,e,$.identityMat4())}(),pickable:!1,collidable:!0,clippable:!1,visible:!1}),e),xAxisHandle:a.addChild(new Ji(a,{geometry:s.axisHandle,material:o.pickable,matrix:function(){var e=$.translateMat4c(0,.5,0,$.identityMat4()),t=$.rotationMat4v(-90*$.DEGTORAD,[0,0,1],$.identityMat4());return $.mulMat4(t,e,$.identityMat4())}(),pickable:!0,collidable:!0,clippable:!1,visible:!1}),e),yAxisArrow:a.addChild(new Ji(a,{geometry:s.arrowHead,material:o.green,matrix:function(){var e=$.translateMat4c(0,1.1,0,$.identityMat4()),t=$.rotationMat4v(180*$.DEGTORAD,[1,0,0],$.identityMat4());return $.mulMat4(t,e,$.identityMat4())}(),pickable:!1,collidable:!0,clippable:!1,visible:!1}),e),yAxisArrowHandle:a.addChild(new Ji(a,{geometry:s.arrowHeadHandle,material:o.pickable,matrix:function(){var e=$.translateMat4c(0,1.1,0,$.identityMat4()),t=$.rotationMat4v(180*$.DEGTORAD,[1,0,0],$.identityMat4());return $.mulMat4(t,e,$.identityMat4())}(),pickable:!0,collidable:!0,clippable:!1,visible:!1,opacity:.2}),e),yShaft:a.addChild(new Ji(a,{geometry:s.axis,material:o.green,position:[0,-.5,0],pickable:!1,collidable:!0,clippable:!1,visible:!1}),e),yShaftHandle:a.addChild(new Ji(a,{geometry:s.axisHandle,material:o.pickable,position:[0,-.5,0],pickable:!0,collidable:!0,clippable:!1,visible:!1}),e),zAxisArrow:a.addChild(new Ji(a,{geometry:s.arrowHead,material:o.blue,matrix:function(){var e=$.translateMat4c(0,1.1,0,$.identityMat4()),t=$.rotationMat4v(-90*$.DEGTORAD,[.8,0,0],$.identityMat4());return $.mulMat4(t,e,$.identityMat4())}(),pickable:!1,collidable:!0,clippable:!1,visible:!1}),e),zAxisArrowHandle:a.addChild(new Ji(a,{geometry:s.arrowHeadHandle,material:o.pickable,matrix:function(){var e=$.translateMat4c(0,1.1,0,$.identityMat4()),t=$.rotationMat4v(-90*$.DEGTORAD,[.8,0,0],$.identityMat4());return $.mulMat4(t,e,$.identityMat4())}(),pickable:!0,collidable:!0,clippable:!1,visible:!1}),e),zShaft:a.addChild(new Ji(a,{geometry:s.axis,material:o.blue,matrix:function(){var e=$.translateMat4c(0,.5,0,$.identityMat4()),t=$.rotationMat4v(-90*$.DEGTORAD,[1,0,0],$.identityMat4());return $.mulMat4(t,e,$.identityMat4())}(),clippable:!1,pickable:!1,collidable:!0,visible:!1}),e),zAxisHandle:a.addChild(new Ji(a,{geometry:s.axisHandle,material:o.pickable,matrix:function(){var e=$.translateMat4c(0,.5,0,$.identityMat4()),t=$.rotationMat4v(-90*$.DEGTORAD,[1,0,0],$.identityMat4());return $.mulMat4(t,e,$.identityMat4())}(),clippable:!1,pickable:!0,collidable:!0,visible:!1}),e)},this._affordanceMeshes={planeFrame:a.addChild(new Ji(a,{geometry:new Cn(a,ka({center:[0,0,0],radius:2,tube:n,radialSegments:4,tubeSegments:4,arc:2*Math.PI})),material:new Nn(a,{ambient:[1,1,1],diffuse:[0,0,0],emissive:[1,1,0]}),highlighted:!0,highlightMaterial:new Mn(a,{edges:!1,filled:!0,fillColor:[1,1,0],fillAlpha:1}),pickable:!1,collidable:!1,clippable:!1,visible:!1,scale:[1,1,1],rotation:[0,0,45]}),e),xHoop:a.addChild(new Ji(a,{geometry:s.hoop,material:o.red,highlighted:!0,highlightMaterial:o.highlightRed,matrix:function(){var e=$.rotationMat4v(90*$.DEGTORAD,[0,1,0],$.identityMat4()),t=$.rotationMat4v(270*$.DEGTORAD,[1,0,0],$.identityMat4());return $.mulMat4(t,e,$.identityMat4())}(),pickable:!1,collidable:!0,clippable:!1,visible:!1}),e),yHoop:a.addChild(new Ji(a,{geometry:s.hoop,material:o.green,highlighted:!0,highlightMaterial:o.highlightGreen,rotation:[-90,0,0],pickable:!1,collidable:!0,clippable:!1,visible:!1}),e),zHoop:a.addChild(new Ji(a,{geometry:s.hoop,material:o.blue,highlighted:!0,highlightMaterial:o.highlightBlue,matrix:$.rotationMat4v(180*$.DEGTORAD,[1,0,0],$.identityMat4()),pickable:!1,collidable:!0,clippable:!1,backfaces:!0,visible:!1}),e),xAxisArrow:a.addChild(new Ji(a,{geometry:s.arrowHeadBig,material:o.red,matrix:function(){var e=$.translateMat4c(0,1.1,0,$.identityMat4()),t=$.rotationMat4v(-90*$.DEGTORAD,[0,0,1],$.identityMat4());return $.mulMat4(t,e,$.identityMat4())}(),pickable:!1,collidable:!0,clippable:!1,visible:!1}),e),yAxisArrow:a.addChild(new Ji(a,{geometry:s.arrowHeadBig,material:o.green,matrix:function(){var e=$.translateMat4c(0,1.1,0,$.identityMat4()),t=$.rotationMat4v(180*$.DEGTORAD,[1,0,0],$.identityMat4());return $.mulMat4(t,e,$.identityMat4())}(),pickable:!1,collidable:!0,clippable:!1,visible:!1}),e),zAxisArrow:a.addChild(new Ji(a,{geometry:s.arrowHeadBig,material:o.blue,matrix:function(){var e=$.translateMat4c(0,1.1,0,$.identityMat4()),t=$.rotationMat4v(-90*$.DEGTORAD,[.8,0,0],$.identityMat4());return $.mulMat4(t,e,$.identityMat4())}(),pickable:!1,collidable:!0,clippable:!1,visible:!1}),e)}}},{key:"_bindEvents",value:function(){var e=this,t=this,n=!1,r=-1,i=0,a=1,s=2,o=3,l=4,u=5,c=this._rootNode,f=null,p=null,A=$.vec2(),d=$.vec3([1,0,0]),v=$.vec3([0,1,0]),h=$.vec3([0,0,1]),I=this._viewer.scene.canvas.canvas,y=this._viewer.camera,m=this._viewer.scene,w=$.vec3([0,0,0]),g=-1;this._onCameraViewMatrix=m.camera.on("viewMatrix",(function(){})),this._onCameraProjMatrix=m.camera.on("projMatrix",(function(){})),this._onSceneTick=m.on("tick",(function(){var t=Math.abs($.lenVec3($.subVec3(m.camera.eye,e._pos,w)));if(t!==g&&"perspective"===y.projection){var n=.07*(Math.tan(y.perspective.fov*$.DEGTORAD)*t);c.scale=[n,n,n],g=t}if("ortho"===y.projection){var r=y.ortho.scale/10;c.scale=[r,r,r],g=t}}));var E,T,b,D,P,R=function(){var e=new Float64Array(2);return function(t){if(t){for(var n=t.target,r=0,i=0;n.offsetParent;)r+=n.offsetLeft,i+=n.offsetTop,n=n.offsetParent;e[0]=t.pageX-r,e[1]=t.pageY-i}else t=window.event,e[0]=t.x,e[1]=t.y;return e}}(),C=function(){var e=$.mat4();return function(n,r){return $.quaternionToMat4(t._rootNode.quaternion,e),$.transformVec3(e,n,r),$.normalizeVec3(r),r}}(),_=(E=$.vec3(),function(e){var t=Math.abs(e[0]);return t>Math.abs(e[1])&&t>Math.abs(e[2])?$.cross3Vec3(e,[0,1,0],E):$.cross3Vec3(e,[1,0,0],E),$.cross3Vec3(E,e,E),$.normalizeVec3(E),E}),B=(T=$.vec3(),b=$.vec3(),D=$.vec4(),function(e,n,r){C(e,D);var i=_(D,n,r);S(n,i,T),S(r,i,b),$.subVec3(b,T);var a=$.dotVec3(b,D);t._pos[0]+=D[0]*a,t._pos[1]+=D[1]*a,t._pos[2]+=D[2]*a,t._rootNode.position=t._pos,t._sectionPlane&&(t._sectionPlane.pos=t._pos)}),O=function(){var e=$.vec4(),n=$.vec4(),r=$.vec4(),i=$.vec4();return function(a,s,o){if(C(a,i),!(S(s,i,e)&&S(o,i,n))){var l=_(i,s,o);S(s,l,e,1),S(o,l,n,1);var u=$.dotVec3(e,i);e[0]-=u*i[0],e[1]-=u*i[1],e[2]-=u*i[2],u=$.dotVec3(n,i),n[0]-=u*i[0],n[1]-=u*i[1],n[2]-=u*i[2]}$.normalizeVec3(e),$.normalizeVec3(n),u=$.dotVec3(e,n),u=$.clamp(u,-1,1);var c=Math.acos(u)*$.RADTODEG;$.cross3Vec3(e,n,r),$.dotVec3(r,i)<0&&(c=-c),t._rootNode.rotate(a,c),N()}}(),S=function(){var e=$.vec4([0,0,0,1]),n=$.mat4();return function(r,i,a,s){s=s||0,e[0]=r[0]/I.width*2-1,e[1]=-(r[1]/I.height*2-1),e[2]=0,e[3]=1,$.mulMat4(y.projMatrix,y.viewMatrix,n),$.inverseMat4(n),$.transformVec4(n,e,e),$.mulVec4Scalar(e,1/e[3]);var o=y.eye;$.subVec4(e,o,e);var l=t._sectionPlane.pos,u=-$.dotVec3(l,i)-s,c=$.dotVec3(i,e);if(Math.abs(c)>.005){var f=-($.dotVec3(i,o)+u)/c;return $.mulVec3Scalar(e,f,a),$.addVec3(a,o),$.subVec3(a,l,a),!0}return!1}}(),N=function(){var e=$.vec3(),n=$.mat4();return function(){t.sectionPlane&&($.quaternionToMat4(c.quaternion,n),$.transformVec3(n,[0,0,1],e),t._setSectionPlaneDir(e))}}(),L=!1;this._onCameraControlHover=this._viewer.cameraControl.on("hoverEnter",(function(t){if(e._visible&&!L){var c;switch(n=!1,P&&(P.visible=!1),t.entity.id){case e._displayMeshes.xAxisArrowHandle.id:case e._displayMeshes.xAxisHandle.id:c=e._affordanceMeshes.xAxisArrow,f=i;break;case e._displayMeshes.yAxisArrowHandle.id:case e._displayMeshes.yShaftHandle.id:c=e._affordanceMeshes.yAxisArrow,f=a;break;case e._displayMeshes.zAxisArrowHandle.id:case e._displayMeshes.zAxisHandle.id:c=e._affordanceMeshes.zAxisArrow,f=s;break;case e._displayMeshes.xCurveHandle.id:c=e._affordanceMeshes.xHoop,f=o;break;case e._displayMeshes.yCurveHandle.id:c=e._affordanceMeshes.yHoop,f=l;break;case e._displayMeshes.zCurveHandle.id:c=e._affordanceMeshes.zHoop,f=u;break;default:return void(f=r)}c&&(c.visible=!0),P=c,n=!0}})),this._onCameraControlHoverLeave=this._viewer.cameraControl.on("hoverOutEntity",(function(t){e._visible&&(P&&(P.visible=!1),P=null,f=r)})),I.addEventListener("mousedown",this._canvasMouseDownListener=function(t){if(t.preventDefault(),e._visible&&n&&(e._viewer.cameraControl.pointerEnabled=!1,1===t.which)){L=!0;var r=R(t);p=f,A[0]=r[0],A[1]=r[1]}}),I.addEventListener("mousemove",this._canvasMouseMoveListener=function(t){if(e._visible&&L){var n=R(t),r=n[0],c=n[1];switch(p){case i:B(d,A,n);break;case a:B(v,A,n);break;case s:B(h,A,n);break;case o:O(d,A,n);break;case l:O(v,A,n);break;case u:O(h,A,n)}A[0]=r,A[1]=c}}),I.addEventListener("mouseup",this._canvasMouseUpListener=function(t){e._visible&&(e._viewer.cameraControl.pointerEnabled=!0,L&&(t.which,L=!1,n=!1))}),I.addEventListener("wheel",this._canvasWheelListener=function(t){if(e._visible)Math.max(-1,Math.min(1,40*-t.deltaY))})}},{key:"_destroy",value:function(){this._unbindEvents(),this._destroyNodes()}},{key:"_unbindEvents",value:function(){var e=this._viewer,t=e.scene,n=t.canvas.canvas,r=e.camera,i=e.cameraControl;t.off(this._onSceneTick),n.removeEventListener("mousedown",this._canvasMouseDownListener),n.removeEventListener("mousemove",this._canvasMouseMoveListener),n.removeEventListener("mouseup",this._canvasMouseUpListener),n.removeEventListener("wheel",this._canvasWheelListener),r.off(this._onCameraViewMatrix),r.off(this._onCameraProjMatrix),i.off(this._onCameraControlHover),i.off(this._onCameraControlHoverLeave)}},{key:"_destroyNodes",value:function(){this._setSectionPlane(null),this._rootNode.destroy(),this._displayMeshes={},this._affordanceMeshes={}}}]),e}(),lR=function(){function e(t,n,r){var i=this;b(this,e),this.id=r.id,this._sectionPlane=r,this._mesh=new Ji(n,{id:r.id,geometry:new Cn(n,_n({xSize:.5,ySize:.5,zSize:.001})),material:new Nn(n,{emissive:[1,1,1],diffuse:[0,0,0],backfaces:!1}),edgeMaterial:new Fn(n,{edgeColor:[0,0,0],edgeAlpha:1,edgeWidth:1}),highlightMaterial:new Mn(n,{fill:!0,fillColor:[.5,1,.5],fillAlpha:.7,edges:!0,edgeColor:[0,0,0],edgeAlpha:1,edgeWidth:1}),selectedMaterial:new Mn(n,{fill:!0,fillColor:[0,0,1],fillAlpha:.7,edges:!0,edgeColor:[1,0,0],edgeAlpha:1,edgeWidth:1}),highlighted:!0,scale:[3,3,3],position:[0,0,0],rotation:[0,0,0],opacity:.3,edges:!0});var a=$.vec3([0,0,0]),s=$.vec3(),o=$.vec3([0,0,1]),l=$.vec4(4),u=$.vec3(),c=function(){var e=i._sectionPlane.scene.center,t=[-i._sectionPlane.dir[0],-i._sectionPlane.dir[1],-i._sectionPlane.dir[2]];$.subVec3(e,i._sectionPlane.pos,a);var n=-$.dotVec3(t,a);$.normalizeVec3(t),$.mulVec3Scalar(t,n,s);var r=$.vec3PairToQuaternion(o,i._sectionPlane.dir,l);u[0]=.1*s[0],u[1]=.1*s[1],u[2]=.1*s[2],i._mesh.quaternion=r,i._mesh.position=u};this._onSectionPlanePos=this._sectionPlane.on("pos",c),this._onSectionPlaneDir=this._sectionPlane.on("dir",c),this._highlighted=!1,this._selected=!1}return P(e,[{key:"setHighlighted",value:function(e){this._highlighted=!!e,this._mesh.highlighted=this._highlighted,this._mesh.highlightMaterial.fillColor=e?[0,.7,0]:[0,0,0]}},{key:"getHighlighted",value:function(){return this._highlighted}},{key:"setSelected",value:function(e){this._selected=!!e,this._mesh.edgeMaterial.edgeWidth=e?3:1,this._mesh.highlightMaterial.edgeWidth=e?3:1}},{key:"getSelected",value:function(){return this._selected}},{key:"destroy",value:function(){this._sectionPlane.off(this._onSectionPlanePos),this._sectionPlane.off(this._onSectionPlaneDir),this._mesh.destroy()}}]),e}(),uR=function(){function e(t,n){var r=this;if(b(this,e),!(n.onHoverEnterPlane&&n.onHoverLeavePlane&&n.onClickedNothing&&n.onClickedPlane))throw"Missing config(s): onHoverEnterPlane, onHoverLeavePlane, onClickedNothing || onClickedPlane";this.plugin=t,this._viewer=t.viewer,this._onHoverEnterPlane=n.onHoverEnterPlane,this._onHoverLeavePlane=n.onHoverLeavePlane,this._onClickedNothing=n.onClickedNothing,this._onClickedPlane=n.onClickedPlane,this._visible=!0,this._planes={},this._canvas=n.overviewCanvas,this._scene=new zn(this._viewer,{canvasId:this._canvas.id,transparent:!0}),this._scene.clearLights(),new vn(this._scene,{dir:[.4,-.4,.8],color:[.8,1,1],intensity:1,space:"view"}),new vn(this._scene,{dir:[-.8,-.3,-.4],color:[.8,.8,.8],intensity:1,space:"view"}),new vn(this._scene,{dir:[.8,-.6,-.8],color:[1,1,1],intensity:1,space:"view"}),this._scene.camera,this._scene.camera.perspective.fov=70,this._zUp=!1;var i=this._scene.camera,a=$.rotationMat4c(-90*$.DEGTORAD,1,0,0),s=$.vec3(),o=$.vec3(),l=$.vec3();this._synchCamera=function(){var e=r._viewer.camera.eye,t=r._viewer.camera.look,n=r._viewer.camera.up;$.mulVec3Scalar($.normalizeVec3($.subVec3(e,t,s)),7),r._zUp?($.transformVec3(a,s,o),$.transformVec3(a,n,l),i.look=[0,0,0],i.eye=$.transformVec3(a,s,o),i.up=$.transformPoint3(a,n,l)):(i.look=[0,0,0],i.eye=s,i.up=n)},this._onViewerCameraMatrix=this._viewer.camera.on("matrix",this._synchCamera),this._onViewerCameraWorldAxis=this._viewer.camera.on("worldAxis",this._synchCamera),this._onViewerCameraFOV=this._viewer.camera.perspective.on("fov",(function(e){r._scene.camera.perspective.fov=e}));var u=null;this._onInputMouseMove=this._scene.input.on("mousemove",(function(e){var t=r._scene.pick({canvasPos:e});if(t){if(!u||t.entity.id!==u.id){if(u)r._planes[u.id]&&r._onHoverLeavePlane(u.id);u=t.entity,r._planes[u.id]&&r._onHoverEnterPlane(u.id)}}else u&&(r._onHoverLeavePlane(u.id),u=null)})),this._scene.canvas.canvas.addEventListener("mouseup",this._onCanvasMouseUp=function(){u?r._planes[u.id]&&r._onClickedPlane(u.id):r._onClickedNothing()}),this._scene.canvas.canvas.addEventListener("mouseout",this._onCanvasMouseOut=function(){u&&(r._onHoverLeavePlane(u.id),u=null)}),this.setVisible(n.overviewVisible)}return P(e,[{key:"addSectionPlane",value:function(e){this._planes[e.id]=new lR(this,this._scene,e)}},{key:"setPlaneHighlighted",value:function(e,t){var n=this._planes[e];n&&n.setHighlighted(t)}},{key:"setPlaneSelected",value:function(e,t){var n=this._planes[e];n&&n.setSelected(t)}},{key:"removeSectionPlane",value:function(e){var t=this._planes[e.id];t&&(t.destroy(),delete this._planes[e.id])}},{key:"setVisible",value:function(){var e=!(arguments.length>0&&void 0!==arguments[0])||arguments[0];this._visible=e,this._canvas.style.visibility=e?"visible":"hidden"}},{key:"getVisible",value:function(){return this._visible}},{key:"destroy",value:function(){this._viewer.camera.off(this._onViewerCameraMatrix),this._viewer.camera.off(this._onViewerCameraWorldAxis),this._viewer.camera.perspective.off(this._onViewerCameraFOV),this._scene.input.off(this._onInputMouseMove),this._scene.canvas.canvas.removeEventListener("mouseup",this._onCanvasMouseUp),this._scene.canvas.canvas.removeEventListener("mouseout",this._onCanvasMouseOut),this._scene.destroy()}}]),e}(),cR=$.AABB3(),fR=$.vec3(),pR=function(e){I(n,Ce);var t=m(n);function n(e){var r,i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(b(this,n),(r=t.call(this,"SectionPlanes",e))._freeControls=[],r._sectionPlanes=e.scene.sectionPlanes,r._controls={},r._shownControlId=null,null!==i.overviewCanvasId&&void 0!==i.overviewCanvasId){var a=document.getElementById(i.overviewCanvasId);a?r._overview=new uR(g(r),{overviewCanvas:a,visible:i.overviewVisible,onHoverEnterPlane:function(e){r._overview.setPlaneHighlighted(e,!0)},onHoverLeavePlane:function(e){r._overview.setPlaneHighlighted(e,!1)},onClickedPlane:function(e){if(r.getShownControl()!==e){r.showControl(e);var t=r.sectionPlanes[e].pos;cR.set(r.viewer.scene.aabb),$.getAABB3Center(cR,fR),cR[0]+=t[0]-fR[0],cR[1]+=t[1]-fR[1],cR[2]+=t[2]-fR[2],cR[3]+=t[0]-fR[0],cR[4]+=t[1]-fR[1],cR[5]+=t[2]-fR[2],r.viewer.cameraFlight.flyTo({aabb:cR,fitFOV:65})}else r.hideControl()},onClickedNothing:function(){r.hideControl()}}):r.warn("Can't find overview canvas: '"+i.overviewCanvasId+"' - will create plugin without overview")}return r._onSceneSectionPlaneCreated=e.scene.on("sectionPlaneCreated",(function(e){r._sectionPlaneCreated(e)})),r}return P(n,[{key:"setOverviewVisible",value:function(e){this._overview&&this._overview.setVisible(e)}},{key:"getOverviewVisible",value:function(){if(this._overview)return this._overview.getVisible()}},{key:"sectionPlanes",get:function(){return this._sectionPlanes}},{key:"createSectionPlane",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};void 0!==e.id&&null!==e.id&&this.viewer.scene.components[e.id]&&(this.error("Viewer component with this ID already exists: "+e.id),delete e.id);var t=new ia(this.viewer.scene,{id:e.id,pos:e.pos,dir:e.dir,active:!0});return t}},{key:"_sectionPlaneCreated",value:function(e){var t=this,n=this._freeControls.length>0?this._freeControls.pop():new oR(this);n._setSectionPlane(e),n.setVisible(!1),this._controls[e.id]=n,this._overview&&this._overview.addSectionPlane(e),e.once("destroyed",(function(){t._sectionPlaneDestroyed(e)}))}},{key:"flipSectionPlanes",value:function(){var e=this.viewer.scene.sectionPlanes;for(var t in e){e[t].flipDir()}}},{key:"showControl",value:function(e){var t=this._controls[e];t?(this.hideControl(),t.setVisible(!0),this._overview&&this._overview.setPlaneSelected(e,!0),this._shownControlId=e):this.error("Control not found: "+e)}},{key:"getShownControl",value:function(){return this._shownControlId}},{key:"hideControl",value:function(){for(var e in this._controls)this._controls.hasOwnProperty(e)&&(this._controls[e].setVisible(!1),this._overview&&this._overview.setPlaneSelected(e,!1));this._shownControlId=null}},{key:"destroySectionPlane",value:function(e){var t=this.viewer.scene.sectionPlanes[e];t?(this._sectionPlaneDestroyed(t),t.destroy(),e===this._shownControlId&&(this._shownControlId=null)):this.error("SectionPlane not found: "+e)}},{key:"_sectionPlaneDestroyed",value:function(e){this._overview&&this._overview.removeSectionPlane(e);var t=this._controls[e.id];t&&(t.setVisible(!1),t._setSectionPlane(null),delete this._controls[e.id],this._freeControls.push(t))}},{key:"clear",value:function(){for(var e=Object.keys(this._sectionPlanes),t=0,n=e.length;t1&&void 0!==arguments[1]?arguments[1]:{};return b(this,n),(r=t.call(this,"StoreyViews",e))._objectsMemento=new Hs,r._cameraMemento=new Ls,r.storeys={},r.modelStoreys={},r._fitStoreyMaps=!!i.fitStoreyMaps,r._onModelLoaded=r.viewer.scene.on("modelLoaded",(function(e){r._registerModelStoreys(e),r.fire("storeys",r.storeys)})),r}return P(n,[{key:"_registerModelStoreys",value:function(e){var t=this,n=this.viewer,r=n.scene,i=n.metaScene,a=i.metaModels[e],s=r.models[e];if(a&&a.rootMetaObjects)for(var o=a.rootMetaObjects,l=0,u=o.length;l.5?d.length:0,I=new AR(this,s.aabb,v,e,A,h);I._onModelDestroyed=s.once("destroyed",(function(){t._deregisterModelStoreys(e),t.fire("storeys",t.storeys)})),this.storeys[A]=I,this.modelStoreys[e]||(this.modelStoreys[e]={}),this.modelStoreys[e][A]=I}}},{key:"_deregisterModelStoreys",value:function(e){var t=this.modelStoreys[e];if(t){var n=this.viewer.scene;for(var r in t)if(t.hasOwnProperty(r)){var i=t[r],a=n.models[i.modelId];a&&a.off(i._onModelDestroyed),delete this.storeys[r]}delete this.modelStoreys[e]}}},{key:"fitStoreyMaps",get:function(){return this._fitStoreyMaps}},{key:"gotoStoreyCamera",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=this.storeys[e];if(!n)return this.error("IfcBuildingStorey not found with this ID: "+e),void(t.done&&t.done());var r=this.viewer,i=r.scene,a=i.camera,s=n.storeyAABB;if(s[3]1&&void 0!==arguments[1]?arguments[1]:{},n=this.storeys[e];if(n){var r=this.viewer,i=r.scene,a=r.metaScene,s=a.metaObjects[e];s&&(t.hideOthers&&i.setObjectsVisible(r.scene.visibleObjectIds,!1),this.withStoreyObjects(e,(function(e,t){e&&(e.visible=!0)})))}else this.error("IfcBuildingStorey not found with this ID: "+e)}},{key:"withStoreyObjects",value:function(e,t){var n=this.viewer,r=n.scene,i=n.metaScene,a=i.metaObjects[e];if(a)for(var s=a.getObjectIDsInSubtree(),o=0,l=s.length;o1&&void 0!==arguments[1]?arguments[1]:{},n=this.storeys[e];if(!n)return this.error("IfcBuildingStorey not found with this ID: "+e),IR;var r,i,a=this.viewer,s=a.scene,o=t.format||"png",l=this._fitStoreyMaps?n.storeyAABB:n.modelAABB,u=Math.abs((l[5]-l[2])/(l[3]-l[0])),c=t.padding||0;t.width&&t.height?(r=t.width,i=t.height):t.height?(i=t.height,r=Math.round(i/u)):t.width?(r=t.width,i=Math.round(r*u)):(r=300,i=Math.round(r*u)),this._objectsMemento.saveObjects(s),this._cameraMemento.saveCamera(s),this.showStoreyObjects(e,le.apply(t,{hideOthers:!0})),this._arrangeStoreyMapCamera(n);var f=a.getSnapshot({width:r,height:i,format:o});return this._objectsMemento.restoreObjects(s),this._cameraMemento.restoreCamera(s),new dR(e,f,o,r,i,c)}},{key:"_arrangeStoreyMapCamera",value:function(e){var t=this.viewer,n=t.scene.camera,r=this._fitStoreyMaps?e.storeyAABB:e.modelAABB,i=$.getAABB3Center(r),a=vR;a[0]=i[0]+.5*n.worldUp[0],a[1]=i[1]+.5*n.worldUp[1],a[2]=i[2]+.5*n.worldUp[2];var s=n.worldForward;t.cameraFlight.jumpTo({eye:a,look:i,up:s});var o=(r[3]-r[0])/2,l=(r[4]-r[1])/2,u=(r[5]-r[2])/2,c=-o,f=+o,p=-l,A=+l,d=-u,v=+u;t.camera.customProjection.matrix=$.orthoMat4c(c,f,d,v,p,A,hR),t.camera.projection="customProjection"}},{key:"pickStoreyMap",value:function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},r=e.storeyId,i=this.storeys[r];if(!i)return this.error("IfcBuildingStorey not found with this ID: "+r),null;var a=1-t[0]/e.width,s=1-t[1]/e.height,o=this._fitStoreyMaps?i.storeyAABB:i.modelAABB,l=o[0],u=o[1],c=o[2],f=o[3],p=o[4],A=o[5],d=f-l,v=p-u,h=A-c,I=$.vec3([l+d*a,u+.5*v,c+h*s]),y=$.vec3([0,-1,0]),m=$.addVec3(I,y,vR),w=this.viewer.camera.worldForward,g=$.lookAtMat4v(I,m,w,hR),E=this.viewer.scene.pick({pickSurface:n.pickSurface,pickInvisible:!0,matrix:g});return E}},{key:"storeyMapToWorldPos",value:function(e,t){var n=e.storeyId,r=this.storeys[n];if(!r)return this.error("IfcBuildingStorey not found with this ID: "+n),null;var i=1-t[0]/e.width,a=1-t[1]/e.height,s=this._fitStoreyMaps?r.storeyAABB:r.modelAABB,o=s[0],l=s[1],u=s[2],c=s[3],f=s[4],p=s[5],A=c-o,d=f-l,v=p-u,h=$.vec3([o+A*i,l+.5*d,u+v*a]);return h}},{key:"getStoreyContainingWorldPos",value:function(e){for(var t in this.storeys){var n=this.storeys[t];if($.point3AABB3Intersect(n.storeyAABB,e))return t}return null}},{key:"worldPosToStoreyMap",value:function(e,t,n){var r=e.storeyId,i=this.storeys[r];if(!i)return this.error("IfcBuildingStorey not found with this ID: "+r),!1;var a=this._fitStoreyMaps?i.storeyAABB:i.modelAABB,s=a[0],o=a[1],l=a[2],u=a[3]-s,c=a[4]-o,f=a[5]-l,p=this.viewer.camera.worldUp,A=p[0]>p[1]&&p[0]>p[2],d=!A&&p[1]>p[0]&&p[1]>p[2];!A&&!d&&p[2]>p[0]&&(p[2],p[1]);var v=e.width/u,h=d?e.height/f:e.height/c;return n[0]=Math.floor(e.width-(t[0]-s)*v),n[1]=Math.floor(e.height-(t[2]-l)*h),n[0]>=0&&n[0]=0&&n[1]<=e.height}},{key:"worldDirToStoreyMap",value:function(e,t,n){var r=this.viewer.camera,i=r.eye,a=r.look,s=$.subVec3(a,i,vR),o=r.worldUp,l=o[0]>o[1]&&o[0]>o[2],u=!l&&o[1]>o[0]&&o[1]>o[2];!l&&!u&&o[2]>o[0]&&(o[2],o[1]),l?(n[0]=s[1],n[1]=s[2]):u?(n[0]=s[0],n[1]=s[2]):(n[0]=s[0],n[1]=s[1]),$.normalizeVec2(n)}},{key:"destroy",value:function(){this.viewer.scene.off(this._onModelLoaded),v(E(n.prototype),"destroy",this).call(this)}}]),n}(),mR=new Float64Array([0,0,1]),wR=new Float64Array(4),gR=function(){function e(t){b(this,e),this.id=null,this._viewer=t.viewer,this._plugin=t,this._visible=!1,this._pos=$.vec3(),this._origin=$.vec3(),this._rtcPos=$.vec3(),this._baseDir=$.vec3(),this._rootNode=null,this._displayMeshes=null,this._affordanceMeshes=null,this._ignoreNextSectionPlaneDirUpdate=!1,this._createNodes(),this._bindEvents()}return P(e,[{key:"_setSectionPlane",value:function(e){var t=this;this._sectionPlane&&(this._sectionPlane.off(this._onSectionPlanePos),this._sectionPlane.off(this._onSectionPlaneDir),this._onSectionPlanePos=null,this._onSectionPlaneDir=null,this._sectionPlane=null),e&&(this.id=e.id,this._setPos(e.pos),this._setDir(e.dir),this._sectionPlane=e,this._onSectionPlanePos=e.on("pos",(function(){t._setPos(t._sectionPlane.pos)})),this._onSectionPlaneDir=e.on("dir",(function(){t._ignoreNextSectionPlaneDirUpdate?t._ignoreNextSectionPlaneDirUpdate=!1:t._setDir(t._sectionPlane.dir)})))}},{key:"sectionPlane",get:function(){return this._sectionPlane}},{key:"_setPos",value:function(e){this._pos.set(e),Oe(this._pos,this._origin,this._rtcPos),this._rootNode.origin=this._origin,this._rootNode.position=this._rtcPos}},{key:"_setDir",value:function(e){this._baseDir.set(e),this._rootNode.quaternion=$.vec3PairToQuaternion(mR,e,wR)}},{key:"_setSectionPlaneDir",value:function(e){this._sectionPlane&&(this._ignoreNextSectionPlaneDirUpdate=!0,this._sectionPlane.dir=e)}},{key:"setVisible",value:function(){var e=!(arguments.length>0&&void 0!==arguments[0])||arguments[0];if(this._visible!==e){var t;for(t in this._visible=e,this._displayMeshes)this._displayMeshes.hasOwnProperty(t)&&(this._displayMeshes[t].visible=e);if(!e)for(t in this._affordanceMeshes)this._affordanceMeshes.hasOwnProperty(t)&&(this._affordanceMeshes[t].visible=e)}}},{key:"getVisible",value:function(){return this._visible}},{key:"setCulled",value:function(e){var t;for(t in this._displayMeshes)this._displayMeshes.hasOwnProperty(t)&&(this._displayMeshes[t].culled=e);if(!e)for(t in this._affordanceMeshes)this._affordanceMeshes.hasOwnProperty(t)&&(this._affordanceMeshes[t].culled=e)}},{key:"_createNodes",value:function(){var e=!1,t=this._viewer.scene,n=.01;this._rootNode=new da(t,{position:[0,0,0],scale:[5,5,5]});var r=this._rootNode,i={arrowHead:new Cn(r,$i({radiusTop:.001,radiusBottom:.07,radialSegments:32,heightSegments:1,height:.2,openEnded:!1})),arrowHeadBig:new Cn(r,$i({radiusTop:.001,radiusBottom:.09,radialSegments:32,heightSegments:1,height:.25,openEnded:!1})),axis:new Cn(r,$i({radiusTop:n,radiusBottom:n,radialSegments:20,heightSegments:1,height:1,openEnded:!1}))},a={red:new Nn(r,{diffuse:[1,0,0],emissive:[1,0,0],ambient:[0,0,0],specular:[.6,.6,.3],shininess:80,lineWidth:2}),green:new Nn(r,{diffuse:[0,1,0],emissive:[1,0,0],ambient:[0,0,0],specular:[.6,.6,.3],shininess:80,lineWidth:2}),blue:new Nn(r,{diffuse:[0,0,1],emissive:[1,0,0],ambient:[0,0,0],specular:[.6,.6,.3],shininess:80,lineWidth:2}),highlightRed:new Mn(r,{edges:!1,fill:!0,fillColor:[1,0,0],fillAlpha:.6})};this._displayMeshes={plane:r.addChild(new Ji(r,{geometry:new Cn(r,{primitive:"triangles",positions:[.5,.5,0,.5,-.5,0,-.5,-.5,0,-.5,.5,0,.5,.5,-0,.5,-.5,-0,-.5,-.5,-0,-.5,.5,-0],indices:[0,1,2,2,3,0]}),material:new Nn(r,{emissive:[0,0,0],diffuse:[0,0,0],backfaces:!0}),opacity:.6,ghosted:!0,pickable:!1,collidable:!0,clippable:!1,visible:!1,scale:[2.4,2.4,1]}),e),planeFrame:r.addChild(new Ji(r,{geometry:new Cn(r,ka({center:[0,0,0],radius:1.7,tube:.02,radialSegments:4,tubeSegments:4,arc:2*Math.PI})),material:new Nn(r,{emissive:[0,0,0],diffuse:[0,0,0],specular:[0,0,0],shininess:0}),pickable:!1,collidable:!1,clippable:!1,visible:!1,scale:[1,1,.1],rotation:[0,0,45]}),e),center:r.addChild(new Ji(r,{geometry:new Cn(r,ea({radius:.05})),material:a.center,pickable:!1,collidable:!0,clippable:!1,visible:!1}),e),zAxisArrow:r.addChild(new Ji(r,{geometry:i.arrowHead,material:a.blue,matrix:function(){var e=$.translateMat4c(0,1.1,0,$.identityMat4()),t=$.rotationMat4v(-90*$.DEGTORAD,[.8,0,0],$.identityMat4());return $.mulMat4(t,e,$.identityMat4())}(),pickable:!1,collidable:!0,clippable:!1,visible:!1}),e),zShaft:r.addChild(new Ji(r,{geometry:i.axis,material:a.blue,matrix:function(){var e=$.translateMat4c(0,.5,0,$.identityMat4()),t=$.rotationMat4v(-90*$.DEGTORAD,[1,0,0],$.identityMat4());return $.mulMat4(t,e,$.identityMat4())}(),clippable:!1,pickable:!1,collidable:!0,visible:!1}),e)},this._affordanceMeshes={planeFrame:r.addChild(new Ji(r,{geometry:new Cn(r,ka({center:[0,0,0],radius:2,tube:n,radialSegments:4,tubeSegments:4,arc:2*Math.PI})),material:new Nn(r,{ambient:[1,1,1],diffuse:[0,0,0],emissive:[1,1,0]}),highlighted:!0,highlightMaterial:new Mn(r,{edges:!1,filled:!0,fillColor:[1,1,0],fillAlpha:1}),pickable:!1,collidable:!1,clippable:!1,visible:!1,scale:[1,1,1],rotation:[0,0,45]}),e),zAxisArrow:r.addChild(new Ji(r,{geometry:i.arrowHeadBig,material:a.blue,matrix:function(){var e=$.translateMat4c(0,1.1,0,$.identityMat4()),t=$.rotationMat4v(-90*$.DEGTORAD,[.8,0,0],$.identityMat4());return $.mulMat4(t,e,$.identityMat4())}(),pickable:!1,collidable:!0,clippable:!1,visible:!1}),e)}}},{key:"_bindEvents",value:function(){var e=this,t=this._rootNode,n=$.vec2(),r=this._viewer.camera,i=this._viewer.scene,a=0,s=!1,o=$.vec3([0,0,0]),l=-1;this._onCameraViewMatrix=i.camera.on("viewMatrix",(function(){})),this._onCameraProjMatrix=i.camera.on("projMatrix",(function(){})),this._onSceneTick=i.on("tick",(function(){s=!1;var n=Math.abs($.lenVec3($.subVec3(i.camera.eye,e._pos,o)));if(n!==l&&"perspective"===r.projection){var u=.07*(Math.tan(r.perspective.fov*$.DEGTORAD)*n);t.scale=[u,u,u],l=n}if("ortho"===r.projection){var f=r.ortho.scale/10;t.scale=[f,f,f],l=n}0!==a&&(c(a),a=0)}));var u=function(){var e=new Float64Array(2);return function(t){if(t){for(var n=t.target,r=0,i=0;n.offsetParent;)r+=n.offsetLeft,i+=n.offsetTop,n=n.offsetParent;e[0]=t.pageX-r,e[1]=t.pageY-i}else t=window.event,e[0]=t.x,e[1]=t.y;return e}}(),c=function(t){var n=e._sectionPlane.pos,r=e._sectionPlane.dir;$.addVec3(n,$.mulVec3Scalar(r,.1*t*e._plugin.getDragSensitivity(),$.vec3())),e._sectionPlane.pos=n},f=!1;this._plugin._controlElement.addEventListener("mousedown",this._canvasMouseDownListener=function(t){if(t.preventDefault(),e._visible&&(e._viewer.cameraControl.pointerEnabled=!1,1===t.which)){f=!0;var r=u(t);n[0]=r[0],n[1]=r[1]}}),this._plugin._controlElement.addEventListener("mousemove",this._canvasMouseMoveListener=function(t){if(e._visible&&f&&!s){var r=u(t),i=r[0],a=r[1];c(a-n[1]),n[0]=i,n[1]=a}}),this._plugin._controlElement.addEventListener("mouseup",this._canvasMouseUpListener=function(t){e._visible&&(e._viewer.cameraControl.pointerEnabled=!0,f&&(t.which,f=!1))}),this._plugin._controlElement.addEventListener("wheel",this._canvasWheelListener=function(t){e._visible&&(a+=Math.max(-1,Math.min(1,40*-t.deltaY)))});var p,A,d=null;this._plugin._controlElement.addEventListener("touchstart",this._handleTouchStart=function(t){t.stopPropagation(),t.preventDefault(),e._visible&&(p=t.touches[0].clientY,d=p,a=0)}),this._plugin._controlElement.addEventListener("touchmove",this._handleTouchMove=function(t){t.stopPropagation(),t.preventDefault(),e._visible&&(s||(s=!0,A=t.touches[0].clientY,null!==d&&(a+=A-d),d=A))}),this._plugin._controlElement.addEventListener("touchend",this._handleTouchEnd=function(t){t.stopPropagation(),t.preventDefault(),e._visible&&(p=null,A=null,a=0)})}},{key:"_destroy",value:function(){this._unbindEvents(),this._destroyNodes()}},{key:"_unbindEvents",value:function(){var e=this._viewer,t=e.scene,n=t.canvas.canvas,r=e.camera,i=this._plugin._controlElement;t.off(this._onSceneTick),n.removeEventListener("mousedown",this._canvasMouseDownListener),n.removeEventListener("mousemove",this._canvasMouseMoveListener),n.removeEventListener("mouseup",this._canvasMouseUpListener),n.removeEventListener("wheel",this._canvasWheelListener),i.removeEventListener("touchstart",this._handleTouchStart),i.removeEventListener("touchmove",this._handleTouchMove),i.removeEventListener("touchend",this._handleTouchEnd),r.off(this._onCameraViewMatrix),r.off(this._onCameraProjMatrix)}},{key:"_destroyNodes",value:function(){this._setSectionPlane(null),this._rootNode.destroy(),this._displayMeshes={},this._affordanceMeshes={}}}]),e}(),ER=function(){function e(t,n,r){var i=this;b(this,e),this.id=r.id,this._sectionPlane=r,this._mesh=new Ji(n,{id:r.id,geometry:new Cn(n,_n({xSize:.5,ySize:.5,zSize:.001})),material:new Nn(n,{emissive:[1,1,1],diffuse:[0,0,0],backfaces:!1}),edgeMaterial:new Fn(n,{edgeColor:[0,0,0],edgeAlpha:1,edgeWidth:1}),highlightMaterial:new Mn(n,{fill:!0,fillColor:[.5,1,.5],fillAlpha:.7,edges:!0,edgeColor:[0,0,0],edgeAlpha:1,edgeWidth:1}),selectedMaterial:new Mn(n,{fill:!0,fillColor:[0,0,1],fillAlpha:.7,edges:!0,edgeColor:[1,0,0],edgeAlpha:1,edgeWidth:1}),highlighted:!0,scale:[3,3,3],position:[0,0,0],rotation:[0,0,0],opacity:.3,edges:!0});var a=$.vec3([0,0,0]),s=$.vec3(),o=$.vec3([0,0,1]),l=$.vec4(4),u=$.vec3(),c=function(){var e=i._sectionPlane.scene.center,t=[-i._sectionPlane.dir[0],-i._sectionPlane.dir[1],-i._sectionPlane.dir[2]];$.subVec3(e,i._sectionPlane.pos,a);var n=-$.dotVec3(t,a);$.normalizeVec3(t),$.mulVec3Scalar(t,n,s);var r=$.vec3PairToQuaternion(o,i._sectionPlane.dir,l);u[0]=.1*s[0],u[1]=.1*s[1],u[2]=.1*s[2],i._mesh.quaternion=r,i._mesh.position=u};this._onSectionPlanePos=this._sectionPlane.on("pos",c),this._onSectionPlaneDir=this._sectionPlane.on("dir",c),this._highlighted=!1,this._selected=!1}return P(e,[{key:"setHighlighted",value:function(e){this._highlighted=!!e,this._mesh.highlighted=this._highlighted,this._mesh.highlightMaterial.fillColor=e?[0,.7,0]:[0,0,0]}},{key:"getHighlighted",value:function(){return this._highlighted}},{key:"setSelected",value:function(e){this._selected=!!e,this._mesh.edgeMaterial.edgeWidth=e?3:1,this._mesh.highlightMaterial.edgeWidth=e?3:1}},{key:"getSelected",value:function(){return this._selected}},{key:"destroy",value:function(){this._sectionPlane.off(this._onSectionPlanePos),this._sectionPlane.off(this._onSectionPlaneDir),this._mesh.destroy()}}]),e}(),TR=function(){function e(t,n){var r=this;if(b(this,e),!(n.onHoverEnterPlane&&n.onHoverLeavePlane&&n.onClickedNothing&&n.onClickedPlane))throw"Missing config(s): onHoverEnterPlane, onHoverLeavePlane, onClickedNothing || onClickedPlane";this.plugin=t,this._viewer=t.viewer,this._onHoverEnterPlane=n.onHoverEnterPlane,this._onHoverLeavePlane=n.onHoverLeavePlane,this._onClickedNothing=n.onClickedNothing,this._onClickedPlane=n.onClickedPlane,this._visible=!0,this._planes={},this._canvas=n.overviewCanvas,this._scene=new zn(this._viewer,{canvasId:this._canvas.id,transparent:!0}),this._scene.clearLights(),new vn(this._scene,{dir:[.4,-.4,.8],color:[.8,1,1],intensity:1,space:"view"}),new vn(this._scene,{dir:[-.8,-.3,-.4],color:[.8,.8,.8],intensity:1,space:"view"}),new vn(this._scene,{dir:[.8,-.6,-.8],color:[1,1,1],intensity:1,space:"view"}),this._scene.camera,this._scene.camera.perspective.fov=70,this._zUp=!1;var i=this._scene.camera,a=$.rotationMat4c(-90*$.DEGTORAD,1,0,0),s=$.vec3(),o=$.vec3(),l=$.vec3();this._synchCamera=function(){var e=r._viewer.camera.eye,t=r._viewer.camera.look,n=r._viewer.camera.up;$.mulVec3Scalar($.normalizeVec3($.subVec3(e,t,s)),7),r._zUp?($.transformVec3(a,s,o),$.transformVec3(a,n,l),i.look=[0,0,0],i.eye=$.transformVec3(a,s,o),i.up=$.transformPoint3(a,n,l)):(i.look=[0,0,0],i.eye=s,i.up=n)},this._onViewerCameraMatrix=this._viewer.camera.on("matrix",this._synchCamera),this._onViewerCameraWorldAxis=this._viewer.camera.on("worldAxis",this._synchCamera),this._onViewerCameraFOV=this._viewer.camera.perspective.on("fov",(function(e){r._scene.camera.perspective.fov=e}));var u=null;this._onInputMouseMove=this._scene.input.on("mousemove",(function(e){var t=r._scene.pick({canvasPos:e});if(t){if(!u||t.entity.id!==u.id){if(u)r._planes[u.id]&&r._onHoverLeavePlane(u.id);u=t.entity,r._planes[u.id]&&r._onHoverEnterPlane(u.id)}}else u&&(r._onHoverLeavePlane(u.id),u=null)})),this._scene.canvas.canvas.addEventListener("mouseup",this._onCanvasMouseUp=function(){u?r._planes[u.id]&&r._onClickedPlane(u.id):r._onClickedNothing()}),this._scene.canvas.canvas.addEventListener("mouseout",this._onCanvasMouseOut=function(){u&&(r._onHoverLeavePlane(u.id),u=null)}),this.setVisible(n.overviewVisible)}return P(e,[{key:"addSectionPlane",value:function(e){this._planes[e.id]=new ER(this,this._scene,e)}},{key:"setPlaneHighlighted",value:function(e,t){var n=this._planes[e];n&&n.setHighlighted(t)}},{key:"setPlaneSelected",value:function(e,t){var n=this._planes[e];n&&n.setSelected(t)}},{key:"removeSectionPlane",value:function(e){var t=this._planes[e.id];t&&(t.destroy(),delete this._planes[e.id])}},{key:"setVisible",value:function(){var e=!(arguments.length>0&&void 0!==arguments[0])||arguments[0];this._visible=e,this._canvas.style.visibility=e?"visible":"hidden"}},{key:"getVisible",value:function(){return this._visible}},{key:"destroy",value:function(){this._viewer.camera.off(this._onViewerCameraMatrix),this._viewer.camera.off(this._onViewerCameraWorldAxis),this._viewer.camera.perspective.off(this._onViewerCameraFOV),this._scene.input.off(this._onInputMouseMove),this._scene.canvas.canvas.removeEventListener("mouseup",this._onCanvasMouseUp),this._scene.canvas.canvas.removeEventListener("mouseout",this._onCanvasMouseOut),this._scene.destroy()}}]),e}(),bR=$.AABB3(),DR=$.vec3(),PR=function(e){I(n,Ce);var t=m(n);function n(e){var r,i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(b(this,n),(r=t.call(this,"FaceAlignedSectionPlanesPlugin",e))._freeControls=[],r._sectionPlanes=e.scene.sectionPlanes,r._controls={},r._shownControlId=null,r._dragSensitivity=i.dragSensitivity||1,null!==i.overviewCanvasId&&void 0!==i.overviewCanvasId){var a=document.getElementById(i.overviewCanvasId);a?r._overview=new TR(g(r),{overviewCanvas:a,visible:i.overviewVisible,onHoverEnterPlane:function(e){r._overview.setPlaneHighlighted(e,!0)},onHoverLeavePlane:function(e){r._overview.setPlaneHighlighted(e,!1)},onClickedPlane:function(e){if(r.getShownControl()!==e){r.showControl(e);var t=r.sectionPlanes[e].pos;bR.set(r.viewer.scene.aabb),$.getAABB3Center(bR,DR),bR[0]+=t[0]-DR[0],bR[1]+=t[1]-DR[1],bR[2]+=t[2]-DR[2],bR[3]+=t[0]-DR[0],bR[4]+=t[1]-DR[1],bR[5]+=t[2]-DR[2],r.viewer.cameraFlight.flyTo({aabb:bR,fitFOV:65})}else r.hideControl()},onClickedNothing:function(){r.hideControl()}}):r.warn("Can't find overview canvas: '"+i.overviewCanvasId+"' - will create plugin without overview")}return null===i.controlElementId||void 0===i.controlElementId?r.error("Parameter expected: controlElementId"):(r._controlElement=document.getElementById(i.controlElementId),r._controlElement||r.warn("Can't find control element: '"+i.controlElementId+"' - will create plugin without control element")),r._onSceneSectionPlaneCreated=e.scene.on("sectionPlaneCreated",(function(e){r._sectionPlaneCreated(e)})),r}return P(n,[{key:"setDragSensitivity",value:function(e){this._dragSensitivity=e||1}},{key:"getDragSensitivity",value:function(){return this._dragSensitivity}},{key:"setOverviewVisible",value:function(e){this._overview&&this._overview.setVisible(e)}},{key:"getOverviewVisible",value:function(){if(this._overview)return this._overview.getVisible()}},{key:"sectionPlanes",get:function(){return this._sectionPlanes}},{key:"createSectionPlane",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};void 0!==e.id&&null!==e.id&&this.viewer.scene.components[e.id]&&(this.error("Viewer component with this ID already exists: "+e.id),delete e.id);var t=new ia(this.viewer.scene,{id:e.id,pos:e.pos,dir:e.dir,active:!0});return t}},{key:"_sectionPlaneCreated",value:function(e){var t=this,n=this._freeControls.length>0?this._freeControls.pop():new gR(this);n._setSectionPlane(e),n.setVisible(!1),this._controls[e.id]=n,this._overview&&this._overview.addSectionPlane(e),e.once("destroyed",(function(){t._sectionPlaneDestroyed(e)}))}},{key:"flipSectionPlanes",value:function(){var e=this.viewer.scene.sectionPlanes;for(var t in e){e[t].flipDir()}}},{key:"showControl",value:function(e){var t=this._controls[e];t?(this.hideControl(),t.setVisible(!0),this._overview&&this._overview.setPlaneSelected(e,!0),this._shownControlId=e):this.error("Control not found: "+e)}},{key:"getShownControl",value:function(){return this._shownControlId}},{key:"hideControl",value:function(){for(var e in this._controls)this._controls.hasOwnProperty(e)&&(this._controls[e].setVisible(!1),this._overview&&this._overview.setPlaneSelected(e,!1));this._shownControlId=null}},{key:"destroySectionPlane",value:function(e){var t=this.viewer.scene.sectionPlanes[e];t?(this._sectionPlaneDestroyed(t),t.destroy(),e===this._shownControlId&&(this._shownControlId=null)):this.error("SectionPlane not found: "+e)}},{key:"_sectionPlaneDestroyed",value:function(e){this._overview&&this._overview.removeSectionPlane(e);var t=this._controls[e.id];t&&(t.setVisible(!1),t._setSectionPlane(null),delete this._controls[e.id],this._freeControls.push(t))}},{key:"clear",value:function(){for(var e=Object.keys(this._sectionPlanes),t=0,n=e.length;t>5&31)/31,s=(C>>10&31)/31):(i=l,a=u,s=c),(E&&i!==d||a!==v||s!==h)&&(null!==d&&(I=!0),d=i,v=a,h=s)}for(var _=1;_<=3;_++){var B=b+12*_;w.push(f.getFloat32(B,!0)),w.push(f.getFloat32(B+4,!0)),w.push(f.getFloat32(B+8,!0)),g.push(D,P,R),A&&o.push(i,a,s,1)}E&&I&&(LR(n,w,g,o,m,r),w=[],g=[],o=o?[]:null,I=!1)}w.length>0&&LR(n,w,g,o,m,r)}function NR(e,t,n,r){for(var i,a,s,o,l,u,c,f=/facet([\s\S]*?)endfacet/g,p=0,A=/[\s]+([+-]?(?:\d+.\d+|\d+.|\d+|.\d+)(?:[eE][+-]?\d+)?)/.source,d=new RegExp("vertex"+A+A+A,"g"),v=new RegExp("normal"+A+A+A,"g"),h=[],I=[];null!==(o=f.exec(t));){for(l=0,u=0,c=o[0];null!==(o=v.exec(c));)i=parseFloat(o[1]),a=parseFloat(o[2]),s=parseFloat(o[3]),u++;for(;null!==(o=d.exec(c));)h.push(parseFloat(o[1]),parseFloat(o[2]),parseFloat(o[3])),I.push(i,a,s),l++;1!==u&&e.error("Error in normal of face "+p),3!==l&&e.error("Error in positions of face "+p),p++}LR(n,h,I,null,new ya(n,{roughness:.5}),r)}function LR(e,t,n,r,i,a){for(var s=new Int32Array(t.length/3),o=0,l=s.length;o0?n:null,r=r&&r.length>0?r:null,a.smoothNormals&&$.faceToVertexNormals(t,n,a);var u=_R;Se(t,t,u);var c=new Cn(e,{primitive:"triangles",positions:t,normals:n,colors:r,indices:s}),f=new Ji(e,{origin:0!==u[0]||0!==u[1]||0!==u[2]?u:null,geometry:c,material:i,edges:a.edges});e.addChild(f)}function MR(e){return"string"!=typeof e?function(e){if("undefined"!=typeof TextDecoder)return(new TextDecoder).decode(e);for(var t="",n=0,r=e.length;n1&&void 0!==arguments[1]?arguments[1]:{};return b(this,n),(r=t.call(this,"STLLoader",e,i))._sceneGraphLoader=new BR,r.dataSource=i.dataSource,r}return P(n,[{key:"dataSource",get:function(){return this._dataSource},set:function(e){this._dataSource=e||new CR}},{key:"load",value:function(e){e.id&&this.viewer.scene.components[e.id]&&(this.error("Component with this ID already exists in viewer: "+e.id+" - will autogenerate this ID"),delete e.id);var t=new da(this.viewer.scene,le.apply(e,{isModel:!0})),n=e.src,r=e.stl;return n||r?(n?this._sceneGraphLoader.load(this,t,n,e):this._sceneGraphLoader.parse(this,t,r,e),t):(this.error("load() param expected: either 'src' or 'stl'"),t)}}]),n}(),HR=[],UR=function(e){I(n,Ce);var t=m(n);function n(e){var r,i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};b(this,n),(r=t.call(this,"TreeViewPlugin",e)).errors=[],r.valid=!0;var a=i.containerElement||document.getElementById(i.containerElementId);if(!(a instanceof HTMLElement))return r.error("Mandatory config expected: valid containerElementId or containerElement"),w(r);for(var s=0;;s++)if(!HR[s]){HR[s]=g(r),r._index=s,r._id="tree-".concat(s);break}if(r._containerElement=a,r._metaModels={},r._autoAddModels=!1!==i.autoAddModels,r._autoExpandDepth=i.autoExpandDepth||0,r._sortNodes=!1!==i.sortNodes,r._pruneEmptyNodes=!1!==i.pruneEmptyNodes,r._viewer=e,r._rootElement=null,r._muteSceneEvents=!1,r._muteTreeEvents=!1,r._rootNodes=[],r._objectNodes={},r._nodeNodes={},r._rootName=i.rootName,r._sortNodes=i.sortNodes,r._pruneEmptyNodes=i.pruneEmptyNodes,r._showListItemElementId=null,r._containerElement.oncontextmenu=function(e){e.preventDefault()},r._onObjectVisibility=r._viewer.scene.on("objectVisibility",(function(e){if(!r._muteSceneEvents){var t=e.id,n=r._objectNodes[t];if(n){var i=e.visible;if(i!==n.checked){r._muteTreeEvents=!0,n.checked=i,i?n.numVisibleEntities++:n.numVisibleEntities--;var a=document.getElementById("checkbox-".concat(n.nodeId));a&&(a.checked=i);for(var s=n.parent;s;){s.checked=i,i?s.numVisibleEntities++:s.numVisibleEntities--;var o=document.getElementById("checkbox-".concat(s.nodeId));if(o){var l=s.numVisibleEntities>0;l!==o.checked&&(o.checked=l)}s=s.parent}r._muteTreeEvents=!1}}}})),r._onObjectXrayed=r._viewer.scene.on("objectXRayed",(function(e){if(!r._muteSceneEvents){var t=e.id,n=r._objectNodes[t];if(n){r._muteTreeEvents=!0;var i=e.xrayed;if(i!==n.xrayed){n.xrayed=i;var a=n.nodeId,s=document.getElementById(a);null!==s&&(i?s.classList.add("xrayed-node"):s.classList.remove("xrayed-node")),r._muteTreeEvents=!1}}}})),r._switchExpandHandler=function(e){e.preventDefault(),e.stopPropagation();var t=e.target;r._expandSwitchElement(t)},r._switchCollapseHandler=function(e){e.preventDefault(),e.stopPropagation();var t=e.target;r._collapseSwitchElement(t)},r._checkboxChangeHandler=function(e){if(!r._muteTreeEvents){r._muteSceneEvents=!0;var t=e.target,n=t.checked,i=t.id.replace("checkbox-",""),a=r._nodeNodes[i],s=r._viewer.scene.objects,o=0;r._withNodeTree(a,(function(e){var t=e.objectId,r="checkbox-".concat(e.nodeId),i=s[t],a=0===e.children.length;e.numVisibleEntities=n?e.numEntities:0,a&&n!==e.checked&&o++,e.checked=n;var l=document.getElementById(r);l&&(l.checked=n),i&&(i.visible=n)}));for(var l=a.parent;l;){l.checked=n;var u=document.getElementById("checkbox-".concat(l.nodeId));n?l.numVisibleEntities+=o:l.numVisibleEntities-=o;var c=l.numVisibleEntities>0;c!==u.checked&&(u.checked=c),l=l.parent}r._muteSceneEvents=!1}},r._hierarchy=i.hierarchy||"containment",r._autoExpandDepth=i.autoExpandDepth||0,r._autoAddModels){for(var o=Object.keys(r.viewer.metaScene.metaModels),l=0,u=o.length;l0;return this.valid}},{key:"_validateMetaModelForStoreysHierarchy",value:function(){return!0}},{key:"_createEnabledNodes",value:function(){switch(this._pruneEmptyNodes&&this._findEmptyNodes(),this._hierarchy){case"storeys":this._createStoreysNodes(),0===this._rootNodes.length&&this.error("Failed to build storeys hierarchy");break;case"types":this._createTypesNodes();break;default:this._createContainmentNodes()}this._sortNodes&&this._doSortNodes(),this._synchNodesToEntities(),this._createTrees(),this.expandToDepth(this._autoExpandDepth)}},{key:"_createDisabledNodes",value:function(){var e=document.createElement("ul");this._rootElement=e,this._containerElement.appendChild(e);var t=this._viewer.metaScene.rootMetaObjects;for(var n in t){var r=t[n],i=r.type,a=r.name,s=a&&""!==a&&"Undefined"!==a&&"Default"!==a?a:i,o=document.createElement("li");e.appendChild(o);var l=document.createElement("a");l.href="#",l.textContent="!",l.classList.add("warn"),l.classList.add("warning"),o.appendChild(l);var u=document.createElement("span");u.textContent=s,o.appendChild(u)}}},{key:"_findEmptyNodes",value:function(){var e=this._viewer.metaScene.rootMetaObjects;for(var t in e)this._findEmptyNodes2(e[t])}},{key:"_findEmptyNodes2",value:function(e){var t=this.viewer,n=t.scene,r=e.children,i=e.id,a=n.objects[i];if(e._countEntities=0,a&&e._countEntities++,r)for(var s=0,o=r.length;si.aabb[a]?-1:e.aabb[a]r?1:0}},{key:"_synchNodesToEntities",value:function(){for(var e=Object.keys(this.viewer.metaScene.metaObjects),t=this._viewer.metaScene.metaObjects,n=this._viewer.scene.objects,r=0,i=e.length;r0){var i="switch-"+r,a=document.createElement("a");a.href="#",a.id=i,a.textContent="+",a.classList.add("plus"),a.addEventListener("click",this._switchExpandHandler),n.appendChild(a)}var s=document.createElement("input");s.id="checkbox-".concat(r),s.type="checkbox",s.checked=e.checked,s.style["pointer-events"]="all",s.addEventListener("change",this._checkboxChangeHandler),n.appendChild(s);var o=document.createElement("span");return o.textContent=e.title,n.appendChild(o),o.oncontextmenu=function(n){t.fire("contextmenu",{event:n,viewer:t._viewer,treeViewPlugin:t,treeViewNode:e}),n.preventDefault()},o.onclick=function(n){t.fire("nodeTitleClicked",{event:n,viewer:t._viewer,treeViewPlugin:t,treeViewNode:e}),n.preventDefault()},n}},{key:"_expandSwitchElement",value:function(e){var t=this,n=e.parentElement;if(!n.getElementsByTagName("li")[0]){var r=n.id,i=this._nodeNodes[r].children.map((function(e){return t._createNodeElement(e)})),a=document.createElement("ul");i.forEach((function(e){a.appendChild(e)})),n.appendChild(a),e.classList.remove("plus"),e.classList.add("minus"),e.textContent="-",e.removeEventListener("click",this._switchExpandHandler),e.addEventListener("click",this._switchCollapseHandler)}}},{key:"_collapseNode",value:function(e){var t="switch-"+e,n=document.getElementById(t);this._collapseSwitchElement(n)}},{key:"_collapseSwitchElement",value:function(e){if(e){var t=e.parentElement;if(t){var n=t.querySelector("ul");n&&(t.removeChild(n),e.classList.remove("minus"),e.classList.add("plus"),e.textContent="+",e.removeEventListener("click",this._switchCollapseHandler),e.addEventListener("click",this._switchExpandHandler))}}}}]),n}(),GR=function(){function e(t){var n=this;b(this,e),this._scene=t,this._objects=[],this._objectsViewCulled=[],this._objectsDetailCulled=[],this._objectsChanged=[],this._objectsChangedList=[],this._modelInfos={},this._numObjects=0,this._lenObjectsChangedList=0,this._dirty=!0,this._onModelLoaded=t.on("modelLoaded",(function(e){var r=t.models[e];r&&n._addModel(r)})),this._onTick=t.on("tick",(function(){n._dirty&&n._build(),n._applyChanges()}))}return P(e,[{key:"_addModel",value:function(e){var t=this,n={model:e,onDestroyed:e.on("destroyed",(function(){t._removeModel(e)}))};this._modelInfos[e.id]=n,this._dirty=!0}},{key:"_removeModel",value:function(e){var t=this._modelInfos[e.id];t&&(t.model.off(t.onDestroyed),delete this._modelInfos[e.id],this._dirty=!0)}},{key:"_build",value:function(){if(this._dirty){this._applyChanges();for(var e=this._scene.objects,t=0;t0){for(var e=0;e1&&void 0!==arguments[1]?arguments[1]:{};return b(this,n),(r=t.call(this,"ViewCull",e))._objectCullStates=jR(e.scene),r._maxTreeDepth=i.maxTreeDepth||8,r._modelInfos={},r._frustum=new Te,r._kdRoot=null,r._frustumDirty=!1,r._kdTreeDirty=!1,r._onViewMatrix=e.scene.camera.on("viewMatrix",(function(){r._frustumDirty=!0})),r._onProjMatrix=e.scene.camera.on("projMatMatrix",(function(){r._frustumDirty=!0})),r._onModelLoaded=e.scene.on("modelLoaded",(function(e){var t=r.viewer.scene.models[e];t&&r._addModel(t)})),r._onSceneTick=e.scene.on("tick",(function(){r._doCull()})),r}return P(n,[{key:"enabled",get:function(){return this._enabled},set:function(e){this._enabled=e}},{key:"_addModel",value:function(e){var t=this,n={model:e,onDestroyed:e.on("destroyed",(function(){t._removeModel(e)}))};this._modelInfos[e.id]=n,this._kdTreeDirty=!0}},{key:"_removeModel",value:function(e){var t=this._modelInfos[e.id];t&&(t.model.off(t.onDestroyed),delete this._modelInfos[e.id],this._kdTreeDirty=!0)}},{key:"_doCull",value:function(){var e=this._frustumDirty||this._kdTreeDirty;if(this._frustumDirty&&this._buildFrustum(),this._kdTreeDirty&&this._buildKDTree(),e){var t=this._kdRoot;t&&this._visitKDNode(t)}}},{key:"_buildFrustum",value:function(){var e=this.viewer.scene.camera;be(this._frustum,e.viewMatrix,e.projMatrix),this._frustumDirty=!1}},{key:"_buildKDTree",value:function(){var e=this.viewer.scene;this._kdRoot,this._kdRoot={aabb:e.getAABB(),intersection:Te.INTERSECT};for(var t=0,n=this._objectCullStates.numObjects;t=this._maxTreeDepth)return e.objects=e.objects||[],e.objects.push(n),void $.expandAABB3(e.aabb,i);if(e.left&&$.containsAABB3(e.left.aabb,i))this._insertEntityIntoKDTree(e.left,t,n,r+1);else if(e.right&&$.containsAABB3(e.right.aabb,i))this._insertEntityIntoKDTree(e.right,t,n,r+1);else{var a=e.aabb;VR[0]=a[3]-a[0],VR[1]=a[4]-a[1],VR[2]=a[5]-a[2];var s=0;if(VR[1]>VR[s]&&(s=1),VR[2]>VR[s]&&(s=2),!e.left){var o=a.slice();if(o[s+3]=(a[s]+a[s+3])/2,e.left={aabb:o,intersection:Te.INTERSECT},$.containsAABB3(o,i))return void this._insertEntityIntoKDTree(e.left,t,n,r+1)}if(!e.right){var l=a.slice();if(l[s]=(a[s]+a[s+3])/2,e.right={aabb:l,intersection:Te.INTERSECT},$.containsAABB3(l,i))return void this._insertEntityIntoKDTree(e.right,t,n,r+1)}e.objects=e.objects||[],e.objects.push(n),$.expandAABB3(e.aabb,i)}}},{key:"_visitKDNode",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:Te.INTERSECT;if(t===Te.INTERSECT||e.intersects!==t){t===Te.INTERSECT&&(t=De(this._frustum,e.aabb),e.intersects=t);var n=t===Te.OUTSIDE,r=e.objects;if(r&&r.length>0)for(var i=0,a=r.length;i=0;)e[t]=0}var n=new Uint8Array([0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0]),r=new Uint8Array([0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13]),i=new Uint8Array([0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,7]),a=new Uint8Array([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]),s=new Array(576);t(s);var o=new Array(60);t(o);var l=new Array(512);t(l);var u=new Array(256);t(u);var c=new Array(29);t(c);var f,p,A,d=new Array(30);function v(e,t,n,r,i){this.static_tree=e,this.extra_bits=t,this.extra_base=n,this.elems=r,this.max_length=i,this.has_stree=e&&e.length}function h(e,t){this.dyn_tree=e,this.max_code=0,this.stat_desc=t}t(d);var I=function(e){return e<256?l[e]:l[256+(e>>>7)]},y=function(e,t){e.pending_buf[e.pending++]=255&t,e.pending_buf[e.pending++]=t>>>8&255},m=function(e,t,n){e.bi_valid>16-n?(e.bi_buf|=t<>16-e.bi_valid,e.bi_valid+=n-16):(e.bi_buf|=t<>>=1,n<<=1}while(--t>0);return n>>>1},E=function(e,t,n){var r,i,a=new Array(16),s=0;for(r=1;r<=15;r++)s=s+n[r-1]<<1,a[r]=s;for(i=0;i<=t;i++){var o=e[2*i+1];0!==o&&(e[2*i]=g(a[o]++,o))}},b=function(e){var t;for(t=0;t<286;t++)e.dyn_ltree[2*t]=0;for(t=0;t<30;t++)e.dyn_dtree[2*t]=0;for(t=0;t<19;t++)e.bl_tree[2*t]=0;e.dyn_ltree[512]=1,e.opt_len=e.static_len=0,e.sym_next=e.matches=0},D=function(e){e.bi_valid>8?y(e,e.bi_buf):e.bi_valid>0&&(e.pending_buf[e.pending++]=e.bi_buf),e.bi_buf=0,e.bi_valid=0},P=function(e,t,n,r){var i=2*t,a=2*n;return e[i]>1;n>=1;n--)R(e,a,n);i=l;do{n=e.heap[1],e.heap[1]=e.heap[e.heap_len--],R(e,a,1),r=e.heap[1],e.heap[--e.heap_max]=n,e.heap[--e.heap_max]=r,a[2*i]=a[2*n]+a[2*r],e.depth[i]=(e.depth[n]>=e.depth[r]?e.depth[n]:e.depth[r])+1,a[2*n+1]=a[2*r+1]=i,e.heap[1]=i++,R(e,a,1)}while(e.heap_len>=2);e.heap[--e.heap_max]=e.heap[1],function(e,t){var n,r,i,a,s,o,l=t.dyn_tree,u=t.max_code,c=t.stat_desc.static_tree,f=t.stat_desc.has_stree,p=t.stat_desc.extra_bits,A=t.stat_desc.extra_base,d=t.stat_desc.max_length,v=0;for(a=0;a<=15;a++)e.bl_count[a]=0;for(l[2*e.heap[e.heap_max]+1]=0,n=e.heap_max+1;n<573;n++)(a=l[2*l[2*(r=e.heap[n])+1]+1]+1)>d&&(a=d,v++),l[2*r+1]=a,r>u||(e.bl_count[a]++,s=0,r>=A&&(s=p[r-A]),o=l[2*r],e.opt_len+=o*(a+s),f&&(e.static_len+=o*(c[2*r+1]+s)));if(0!==v){do{for(a=d-1;0===e.bl_count[a];)a--;e.bl_count[a]--,e.bl_count[a+1]+=2,e.bl_count[d]--,v-=2}while(v>0);for(a=d;0!==a;a--)for(r=e.bl_count[a];0!==r;)(i=e.heap[--n])>u||(l[2*i+1]!==a&&(e.opt_len+=(a-l[2*i+1])*l[2*i],l[2*i+1]=a),r--)}}(e,t),E(a,u,e.bl_count)},B=function(e,t,n){var r,i,a=-1,s=t[1],o=0,l=7,u=4;for(0===s&&(l=138,u=3),t[2*(n+1)+1]=65535,r=0;r<=n;r++)i=s,s=t[2*(r+1)+1],++o>=7;h<30;h++)for(d[h]=I<<7,e=0;e<1<0?(2===e.strm.data_type&&(e.strm.data_type=function(e){var t,n=4093624447;for(t=0;t<=31;t++,n>>>=1)if(1&n&&0!==e.dyn_ltree[2*t])return 0;if(0!==e.dyn_ltree[18]||0!==e.dyn_ltree[20]||0!==e.dyn_ltree[26])return 1;for(t=32;t<256;t++)if(0!==e.dyn_ltree[2*t])return 1;return 0}(e)),_(e,e.l_desc),_(e,e.d_desc),u=function(e){var t;for(B(e,e.dyn_ltree,e.l_desc.max_code),B(e,e.dyn_dtree,e.d_desc.max_code),_(e,e.bl_desc),t=18;t>=3&&0===e.bl_tree[2*a[t]+1];t--);return e.opt_len+=3*(t+1)+5+5+4,t}(e),i=e.opt_len+3+7>>>3,(l=e.static_len+3+7>>>3)<=i&&(i=l)):i=l=n+5,n+4<=i&&-1!==t?N(e,t,n,r):4===e.strategy||l===i?(m(e,2+(r?1:0),3),C(e,s,o)):(m(e,4+(r?1:0),3),function(e,t,n,r){var i;for(m(e,t-257,5),m(e,n-1,5),m(e,r-4,4),i=0;i>8,e.pending_buf[e.sym_buf+e.sym_next++]=n,0===t?e.dyn_ltree[2*n]++:(e.matches++,t--,e.dyn_ltree[2*(u[n]+256+1)]++,e.dyn_dtree[2*I(t)]++),e.sym_next===e.sym_end},H=function(e){m(e,2,3),w(e,256,s),function(e){16===e.bi_valid?(y(e,e.bi_buf),e.bi_buf=0,e.bi_valid=0):e.bi_valid>=8&&(e.pending_buf[e.pending++]=255&e.bi_buf,e.bi_buf>>=8,e.bi_valid-=8)}(e)},U=function(e,t,n,r){for(var i=65535&e|0,a=e>>>16&65535|0,s=0;0!==n;){n-=s=n>2e3?2e3:n;do{a=a+(i=i+t[r++]|0)|0}while(--s);i%=65521,a%=65521}return i|a<<16|0},G=new Uint32Array(function(){for(var e,t=[],n=0;n<256;n++){e=n;for(var r=0;r<8;r++)e=1&e?3988292384^e>>>1:e>>>1;t[n]=e}return t}()),k=function(e,t,n,r){var i=G,a=r+n;e^=-1;for(var s=r;s>>8^i[255&(e^t[s])];return-1^e},j={2:"need dictionary",1:"stream end",0:"","-1":"file error","-2":"stream error","-3":"data error","-4":"insufficient memory","-5":"buffer error","-6":"incompatible version"},V={Z_NO_FLUSH:0,Z_PARTIAL_FLUSH:1,Z_SYNC_FLUSH:2,Z_FULL_FLUSH:3,Z_FINISH:4,Z_BLOCK:5,Z_TREES:6,Z_OK:0,Z_STREAM_END:1,Z_NEED_DICT:2,Z_ERRNO:-1,Z_STREAM_ERROR:-2,Z_DATA_ERROR:-3,Z_MEM_ERROR:-4,Z_BUF_ERROR:-5,Z_NO_COMPRESSION:0,Z_BEST_SPEED:1,Z_BEST_COMPRESSION:9,Z_DEFAULT_COMPRESSION:-1,Z_FILTERED:1,Z_HUFFMAN_ONLY:2,Z_RLE:3,Z_FIXED:4,Z_DEFAULT_STRATEGY:0,Z_BINARY:0,Z_TEXT:1,Z_UNKNOWN:2,Z_DEFLATED:8},Q=L,W=M,z=x,K=F,Y=H,X=V.Z_NO_FLUSH,q=V.Z_PARTIAL_FLUSH,J=V.Z_FULL_FLUSH,Z=V.Z_FINISH,$=V.Z_BLOCK,ee=V.Z_OK,te=V.Z_STREAM_END,ne=V.Z_STREAM_ERROR,re=V.Z_DATA_ERROR,ie=V.Z_BUF_ERROR,ae=V.Z_DEFAULT_COMPRESSION,se=V.Z_FILTERED,oe=V.Z_HUFFMAN_ONLY,le=V.Z_RLE,ue=V.Z_FIXED,ce=V.Z_UNKNOWN,fe=V.Z_DEFLATED,pe=258,Ae=262,de=42,ve=113,he=666,Ie=function(e,t){return e.msg=j[t],t},ye=function(e){return 2*e-(e>4?9:0)},me=function(e){for(var t=e.length;--t>=0;)e[t]=0},we=function(e){var t,n,r,i=e.w_size;r=t=e.hash_size;do{n=e.head[--r],e.head[r]=n>=i?n-i:0}while(--t);r=t=i;do{n=e.prev[--r],e.prev[r]=n>=i?n-i:0}while(--t)},ge=function(e,t,n){return(t<e.avail_out&&(n=e.avail_out),0!==n&&(e.output.set(t.pending_buf.subarray(t.pending_out,t.pending_out+n),e.next_out),e.next_out+=n,t.pending_out+=n,e.total_out+=n,e.avail_out-=n,t.pending-=n,0===t.pending&&(t.pending_out=0))},Te=function(e,t){z(e,e.block_start>=0?e.block_start:-1,e.strstart-e.block_start,t),e.block_start=e.strstart,Ee(e.strm)},be=function(e,t){e.pending_buf[e.pending++]=t},De=function(e,t){e.pending_buf[e.pending++]=t>>>8&255,e.pending_buf[e.pending++]=255&t},Pe=function(e,t,n,r){var i=e.avail_in;return i>r&&(i=r),0===i?0:(e.avail_in-=i,t.set(e.input.subarray(e.next_in,e.next_in+i),n),1===e.state.wrap?e.adler=U(e.adler,t,i,n):2===e.state.wrap&&(e.adler=k(e.adler,t,i,n)),e.next_in+=i,e.total_in+=i,i)},Re=function(e,t){var n,r,i=e.max_chain_length,a=e.strstart,s=e.prev_length,o=e.nice_match,l=e.strstart>e.w_size-Ae?e.strstart-(e.w_size-Ae):0,u=e.window,c=e.w_mask,f=e.prev,p=e.strstart+pe,A=u[a+s-1],d=u[a+s];e.prev_length>=e.good_match&&(i>>=2),o>e.lookahead&&(o=e.lookahead);do{if(u[(n=t)+s]===d&&u[n+s-1]===A&&u[n]===u[a]&&u[++n]===u[a+1]){a+=2,n++;do{}while(u[++a]===u[++n]&&u[++a]===u[++n]&&u[++a]===u[++n]&&u[++a]===u[++n]&&u[++a]===u[++n]&&u[++a]===u[++n]&&u[++a]===u[++n]&&u[++a]===u[++n]&&as){if(e.match_start=t,s=r,r>=o)break;A=u[a+s-1],d=u[a+s]}}}while((t=f[t&c])>l&&0!=--i);return s<=e.lookahead?s:e.lookahead},Ce=function(e){var t,n,r,i=e.w_size;do{if(n=e.window_size-e.lookahead-e.strstart,e.strstart>=i+(i-Ae)&&(e.window.set(e.window.subarray(i,i+i-n),0),e.match_start-=i,e.strstart-=i,e.block_start-=i,e.insert>e.strstart&&(e.insert=e.strstart),we(e),n+=i),0===e.strm.avail_in)break;if(t=Pe(e.strm,e.window,e.strstart+e.lookahead,n),e.lookahead+=t,e.lookahead+e.insert>=3)for(r=e.strstart-e.insert,e.ins_h=e.window[r],e.ins_h=ge(e,e.ins_h,e.window[r+1]);e.insert&&(e.ins_h=ge(e,e.ins_h,e.window[r+3-1]),e.prev[r&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=r,r++,e.insert--,!(e.lookahead+e.insert<3)););}while(e.lookaheade.w_size?e.w_size:e.pending_buf_size-5,s=0,o=e.strm.avail_in;do{if(n=65535,i=e.bi_valid+42>>3,e.strm.avail_out(r=e.strstart-e.block_start)+e.strm.avail_in&&(n=r+e.strm.avail_in),n>i&&(n=i),n>8,e.pending_buf[e.pending-2]=~n,e.pending_buf[e.pending-1]=~n>>8,Ee(e.strm),r&&(r>n&&(r=n),e.strm.output.set(e.window.subarray(e.block_start,e.block_start+r),e.strm.next_out),e.strm.next_out+=r,e.strm.avail_out-=r,e.strm.total_out+=r,e.block_start+=r,n-=r),n&&(Pe(e.strm,e.strm.output,e.strm.next_out,n),e.strm.next_out+=n,e.strm.avail_out-=n,e.strm.total_out+=n)}while(0===s);return(o-=e.strm.avail_in)&&(o>=e.w_size?(e.matches=2,e.window.set(e.strm.input.subarray(e.strm.next_in-e.w_size,e.strm.next_in),0),e.strstart=e.w_size,e.insert=e.strstart):(e.window_size-e.strstart<=o&&(e.strstart-=e.w_size,e.window.set(e.window.subarray(e.w_size,e.w_size+e.strstart),0),e.matches<2&&e.matches++,e.insert>e.strstart&&(e.insert=e.strstart)),e.window.set(e.strm.input.subarray(e.strm.next_in-o,e.strm.next_in),e.strstart),e.strstart+=o,e.insert+=o>e.w_size-e.insert?e.w_size-e.insert:o),e.block_start=e.strstart),e.high_wateri&&e.block_start>=e.w_size&&(e.block_start-=e.w_size,e.strstart-=e.w_size,e.window.set(e.window.subarray(e.w_size,e.w_size+e.strstart),0),e.matches<2&&e.matches++,i+=e.w_size,e.insert>e.strstart&&(e.insert=e.strstart)),i>e.strm.avail_in&&(i=e.strm.avail_in),i&&(Pe(e.strm,e.window,e.strstart,i),e.strstart+=i,e.insert+=i>e.w_size-e.insert?e.w_size-e.insert:i),e.high_water>3,a=(i=e.pending_buf_size-i>65535?65535:e.pending_buf_size-i)>e.w_size?e.w_size:i,((r=e.strstart-e.block_start)>=a||(r||t===Z)&&t!==X&&0===e.strm.avail_in&&r<=i)&&(n=r>i?i:r,s=t===Z&&0===e.strm.avail_in&&n===r?1:0,W(e,e.block_start,n,s),e.block_start+=n,Ee(e.strm)),s?3:1)},Be=function(e,t){for(var n,r;;){if(e.lookahead=3&&(e.ins_h=ge(e,e.ins_h,e.window[e.strstart+3-1]),n=e.prev[e.strstart&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=e.strstart),0!==n&&e.strstart-n<=e.w_size-Ae&&(e.match_length=Re(e,n)),e.match_length>=3)if(r=K(e,e.strstart-e.match_start,e.match_length-3),e.lookahead-=e.match_length,e.match_length<=e.max_lazy_match&&e.lookahead>=3){e.match_length--;do{e.strstart++,e.ins_h=ge(e,e.ins_h,e.window[e.strstart+3-1]),n=e.prev[e.strstart&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=e.strstart}while(0!=--e.match_length);e.strstart++}else e.strstart+=e.match_length,e.match_length=0,e.ins_h=e.window[e.strstart],e.ins_h=ge(e,e.ins_h,e.window[e.strstart+1]);else r=K(e,0,e.window[e.strstart]),e.lookahead--,e.strstart++;if(r&&(Te(e,!1),0===e.strm.avail_out))return 1}return e.insert=e.strstart<2?e.strstart:2,t===Z?(Te(e,!0),0===e.strm.avail_out?3:4):e.sym_next&&(Te(e,!1),0===e.strm.avail_out)?1:2},Oe=function(e,t){for(var n,r,i;;){if(e.lookahead=3&&(e.ins_h=ge(e,e.ins_h,e.window[e.strstart+3-1]),n=e.prev[e.strstart&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=e.strstart),e.prev_length=e.match_length,e.prev_match=e.match_start,e.match_length=2,0!==n&&e.prev_length4096)&&(e.match_length=2)),e.prev_length>=3&&e.match_length<=e.prev_length){i=e.strstart+e.lookahead-3,r=K(e,e.strstart-1-e.prev_match,e.prev_length-3),e.lookahead-=e.prev_length-1,e.prev_length-=2;do{++e.strstart<=i&&(e.ins_h=ge(e,e.ins_h,e.window[e.strstart+3-1]),n=e.prev[e.strstart&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=e.strstart)}while(0!=--e.prev_length);if(e.match_available=0,e.match_length=2,e.strstart++,r&&(Te(e,!1),0===e.strm.avail_out))return 1}else if(e.match_available){if((r=K(e,0,e.window[e.strstart-1]))&&Te(e,!1),e.strstart++,e.lookahead--,0===e.strm.avail_out)return 1}else e.match_available=1,e.strstart++,e.lookahead--}return e.match_available&&(r=K(e,0,e.window[e.strstart-1]),e.match_available=0),e.insert=e.strstart<2?e.strstart:2,t===Z?(Te(e,!0),0===e.strm.avail_out?3:4):e.sym_next&&(Te(e,!1),0===e.strm.avail_out)?1:2};function Se(e,t,n,r,i){this.good_length=e,this.max_lazy=t,this.nice_length=n,this.max_chain=r,this.func=i}var Ne=[new Se(0,0,0,0,_e),new Se(4,4,8,4,Be),new Se(4,5,16,8,Be),new Se(4,6,32,32,Be),new Se(4,4,16,16,Oe),new Se(8,16,32,32,Oe),new Se(8,16,128,128,Oe),new Se(8,32,128,256,Oe),new Se(32,128,258,1024,Oe),new Se(32,258,258,4096,Oe)];function Le(){this.strm=null,this.status=0,this.pending_buf=null,this.pending_buf_size=0,this.pending_out=0,this.pending=0,this.wrap=0,this.gzhead=null,this.gzindex=0,this.method=fe,this.last_flush=-1,this.w_size=0,this.w_bits=0,this.w_mask=0,this.window=null,this.window_size=0,this.prev=null,this.head=null,this.ins_h=0,this.hash_size=0,this.hash_bits=0,this.hash_mask=0,this.hash_shift=0,this.block_start=0,this.match_length=0,this.prev_match=0,this.match_available=0,this.strstart=0,this.match_start=0,this.lookahead=0,this.prev_length=0,this.max_chain_length=0,this.max_lazy_match=0,this.level=0,this.strategy=0,this.good_match=0,this.nice_match=0,this.dyn_ltree=new Uint16Array(1146),this.dyn_dtree=new Uint16Array(122),this.bl_tree=new Uint16Array(78),me(this.dyn_ltree),me(this.dyn_dtree),me(this.bl_tree),this.l_desc=null,this.d_desc=null,this.bl_desc=null,this.bl_count=new Uint16Array(16),this.heap=new Uint16Array(573),me(this.heap),this.heap_len=0,this.heap_max=0,this.depth=new Uint16Array(573),me(this.depth),this.sym_buf=0,this.lit_bufsize=0,this.sym_next=0,this.sym_end=0,this.opt_len=0,this.static_len=0,this.matches=0,this.insert=0,this.bi_buf=0,this.bi_valid=0}var Me=function(e){if(!e)return 1;var t=e.state;return!t||t.strm!==e||t.status!==de&&57!==t.status&&69!==t.status&&73!==t.status&&91!==t.status&&103!==t.status&&t.status!==ve&&t.status!==he?1:0},xe=function(e){if(Me(e))return Ie(e,ne);e.total_in=e.total_out=0,e.data_type=ce;var t=e.state;return t.pending=0,t.pending_out=0,t.wrap<0&&(t.wrap=-t.wrap),t.status=2===t.wrap?57:t.wrap?de:ve,e.adler=2===t.wrap?0:1,t.last_flush=-2,Q(t),ee},Fe=function(e){var t,n=xe(e);return n===ee&&((t=e.state).window_size=2*t.w_size,me(t.head),t.max_lazy_match=Ne[t.level].max_lazy,t.good_match=Ne[t.level].good_length,t.nice_match=Ne[t.level].nice_length,t.max_chain_length=Ne[t.level].max_chain,t.strstart=0,t.block_start=0,t.lookahead=0,t.insert=0,t.match_length=t.prev_length=2,t.match_available=0,t.ins_h=0),n},He=function(e,t,n,r,i,a){if(!e)return ne;var s=1;if(t===ae&&(t=6),r<0?(s=0,r=-r):r>15&&(s=2,r-=16),i<1||i>9||n!==fe||r<8||r>15||t<0||t>9||a<0||a>ue||8===r&&1!==s)return Ie(e,ne);8===r&&(r=9);var o=new Le;return e.state=o,o.strm=e,o.status=de,o.wrap=s,o.gzhead=null,o.w_bits=r,o.w_size=1<$||t<0)return e?Ie(e,ne):ne;var n=e.state;if(!e.output||0!==e.avail_in&&!e.input||n.status===he&&t!==Z)return Ie(e,0===e.avail_out?ie:ne);var r=n.last_flush;if(n.last_flush=t,0!==n.pending){if(Ee(e),0===e.avail_out)return n.last_flush=-1,ee}else if(0===e.avail_in&&ye(t)<=ye(r)&&t!==Z)return Ie(e,ie);if(n.status===he&&0!==e.avail_in)return Ie(e,ie);if(n.status===de&&0===n.wrap&&(n.status=ve),n.status===de){var i=fe+(n.w_bits-8<<4)<<8;if(i|=(n.strategy>=oe||n.level<2?0:n.level<6?1:6===n.level?2:3)<<6,0!==n.strstart&&(i|=32),De(n,i+=31-i%31),0!==n.strstart&&(De(n,e.adler>>>16),De(n,65535&e.adler)),e.adler=1,n.status=ve,Ee(e),0!==n.pending)return n.last_flush=-1,ee}if(57===n.status)if(e.adler=0,be(n,31),be(n,139),be(n,8),n.gzhead)be(n,(n.gzhead.text?1:0)+(n.gzhead.hcrc?2:0)+(n.gzhead.extra?4:0)+(n.gzhead.name?8:0)+(n.gzhead.comment?16:0)),be(n,255&n.gzhead.time),be(n,n.gzhead.time>>8&255),be(n,n.gzhead.time>>16&255),be(n,n.gzhead.time>>24&255),be(n,9===n.level?2:n.strategy>=oe||n.level<2?4:0),be(n,255&n.gzhead.os),n.gzhead.extra&&n.gzhead.extra.length&&(be(n,255&n.gzhead.extra.length),be(n,n.gzhead.extra.length>>8&255)),n.gzhead.hcrc&&(e.adler=k(e.adler,n.pending_buf,n.pending,0)),n.gzindex=0,n.status=69;else if(be(n,0),be(n,0),be(n,0),be(n,0),be(n,0),be(n,9===n.level?2:n.strategy>=oe||n.level<2?4:0),be(n,3),n.status=ve,Ee(e),0!==n.pending)return n.last_flush=-1,ee;if(69===n.status){if(n.gzhead.extra){for(var a=n.pending,s=(65535&n.gzhead.extra.length)-n.gzindex;n.pending+s>n.pending_buf_size;){var o=n.pending_buf_size-n.pending;if(n.pending_buf.set(n.gzhead.extra.subarray(n.gzindex,n.gzindex+o),n.pending),n.pending=n.pending_buf_size,n.gzhead.hcrc&&n.pending>a&&(e.adler=k(e.adler,n.pending_buf,n.pending-a,a)),n.gzindex+=o,Ee(e),0!==n.pending)return n.last_flush=-1,ee;a=0,s-=o}var l=new Uint8Array(n.gzhead.extra);n.pending_buf.set(l.subarray(n.gzindex,n.gzindex+s),n.pending),n.pending+=s,n.gzhead.hcrc&&n.pending>a&&(e.adler=k(e.adler,n.pending_buf,n.pending-a,a)),n.gzindex=0}n.status=73}if(73===n.status){if(n.gzhead.name){var u,c=n.pending;do{if(n.pending===n.pending_buf_size){if(n.gzhead.hcrc&&n.pending>c&&(e.adler=k(e.adler,n.pending_buf,n.pending-c,c)),Ee(e),0!==n.pending)return n.last_flush=-1,ee;c=0}u=n.gzindexc&&(e.adler=k(e.adler,n.pending_buf,n.pending-c,c)),n.gzindex=0}n.status=91}if(91===n.status){if(n.gzhead.comment){var f,p=n.pending;do{if(n.pending===n.pending_buf_size){if(n.gzhead.hcrc&&n.pending>p&&(e.adler=k(e.adler,n.pending_buf,n.pending-p,p)),Ee(e),0!==n.pending)return n.last_flush=-1,ee;p=0}f=n.gzindexp&&(e.adler=k(e.adler,n.pending_buf,n.pending-p,p))}n.status=103}if(103===n.status){if(n.gzhead.hcrc){if(n.pending+2>n.pending_buf_size&&(Ee(e),0!==n.pending))return n.last_flush=-1,ee;be(n,255&e.adler),be(n,e.adler>>8&255),e.adler=0}if(n.status=ve,Ee(e),0!==n.pending)return n.last_flush=-1,ee}if(0!==e.avail_in||0!==n.lookahead||t!==X&&n.status!==he){var A=0===n.level?_e(n,t):n.strategy===oe?function(e,t){for(var n;;){if(0===e.lookahead&&(Ce(e),0===e.lookahead)){if(t===X)return 1;break}if(e.match_length=0,n=K(e,0,e.window[e.strstart]),e.lookahead--,e.strstart++,n&&(Te(e,!1),0===e.strm.avail_out))return 1}return e.insert=0,t===Z?(Te(e,!0),0===e.strm.avail_out?3:4):e.sym_next&&(Te(e,!1),0===e.strm.avail_out)?1:2}(n,t):n.strategy===le?function(e,t){for(var n,r,i,a,s=e.window;;){if(e.lookahead<=pe){if(Ce(e),e.lookahead<=pe&&t===X)return 1;if(0===e.lookahead)break}if(e.match_length=0,e.lookahead>=3&&e.strstart>0&&((r=s[i=e.strstart-1])===s[++i]&&r===s[++i]&&r===s[++i])){a=e.strstart+pe;do{}while(r===s[++i]&&r===s[++i]&&r===s[++i]&&r===s[++i]&&r===s[++i]&&r===s[++i]&&r===s[++i]&&r===s[++i]&&ie.lookahead&&(e.match_length=e.lookahead)}if(e.match_length>=3?(n=K(e,1,e.match_length-3),e.lookahead-=e.match_length,e.strstart+=e.match_length,e.match_length=0):(n=K(e,0,e.window[e.strstart]),e.lookahead--,e.strstart++),n&&(Te(e,!1),0===e.strm.avail_out))return 1}return e.insert=0,t===Z?(Te(e,!0),0===e.strm.avail_out?3:4):e.sym_next&&(Te(e,!1),0===e.strm.avail_out)?1:2}(n,t):Ne[n.level].func(n,t);if(3!==A&&4!==A||(n.status=he),1===A||3===A)return 0===e.avail_out&&(n.last_flush=-1),ee;if(2===A&&(t===q?Y(n):t!==$&&(W(n,0,0,!1),t===J&&(me(n.head),0===n.lookahead&&(n.strstart=0,n.block_start=0,n.insert=0))),Ee(e),0===e.avail_out))return n.last_flush=-1,ee}return t!==Z?ee:n.wrap<=0?te:(2===n.wrap?(be(n,255&e.adler),be(n,e.adler>>8&255),be(n,e.adler>>16&255),be(n,e.adler>>24&255),be(n,255&e.total_in),be(n,e.total_in>>8&255),be(n,e.total_in>>16&255),be(n,e.total_in>>24&255)):(De(n,e.adler>>>16),De(n,65535&e.adler)),Ee(e),n.wrap>0&&(n.wrap=-n.wrap),0!==n.pending?ee:te)},je=function(e){if(Me(e))return ne;var t=e.state.status;return e.state=null,t===ve?Ie(e,re):ee},Ve=function(e,t){var n=t.length;if(Me(e))return ne;var r=e.state,i=r.wrap;if(2===i||1===i&&r.status!==de||r.lookahead)return ne;if(1===i&&(e.adler=U(e.adler,t,n,0)),r.wrap=0,n>=r.w_size){0===i&&(me(r.head),r.strstart=0,r.block_start=0,r.insert=0);var a=new Uint8Array(r.w_size);a.set(t.subarray(n-r.w_size,n),0),t=a,n=r.w_size}var s=e.avail_in,o=e.next_in,l=e.input;for(e.avail_in=n,e.next_in=0,e.input=t,Ce(r);r.lookahead>=3;){var u=r.strstart,c=r.lookahead-2;do{r.ins_h=ge(r,r.ins_h,r.window[u+3-1]),r.prev[u&r.w_mask]=r.head[r.ins_h],r.head[r.ins_h]=u,u++}while(--c);r.strstart=u,r.lookahead=2,Ce(r)}return r.strstart+=r.lookahead,r.block_start=r.strstart,r.insert=r.lookahead,r.lookahead=0,r.match_length=r.prev_length=2,r.match_available=0,e.next_in=o,e.input=l,e.avail_in=s,r.wrap=i,ee},Qe=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},We=function(e){for(var t=Array.prototype.slice.call(arguments,1);t.length;){var n=t.shift();if(n){if("object"!=T(n))throw new TypeError(n+"must be non-object");for(var r in n)Qe(n,r)&&(e[r]=n[r])}}return e},ze=function(e){for(var t=0,n=0,r=e.length;n=252?6:Xe>=248?5:Xe>=240?4:Xe>=224?3:Xe>=192?2:1;Ye[254]=Ye[254]=1;var qe=function(e){if("function"==typeof TextEncoder&&TextEncoder.prototype.encode)return(new TextEncoder).encode(e);var t,n,r,i,a,s=e.length,o=0;for(i=0;i>>6,t[a++]=128|63&n):n<65536?(t[a++]=224|n>>>12,t[a++]=128|n>>>6&63,t[a++]=128|63&n):(t[a++]=240|n>>>18,t[a++]=128|n>>>12&63,t[a++]=128|n>>>6&63,t[a++]=128|63&n);return t},Je=function(e,t){var n,r,i=t||e.length;if("function"==typeof TextDecoder&&TextDecoder.prototype.decode)return(new TextDecoder).decode(e.subarray(0,t));var a=new Array(2*i);for(r=0,n=0;n4)a[r++]=65533,n+=o-1;else{for(s&=2===o?31:3===o?15:7;o>1&&n1?a[r++]=65533:s<65536?a[r++]=s:(s-=65536,a[r++]=55296|s>>10&1023,a[r++]=56320|1023&s)}}}return function(e,t){if(t<65534&&e.subarray&&Ke)return String.fromCharCode.apply(null,e.length===t?e:e.subarray(0,t));for(var n="",r=0;re.length&&(t=e.length);for(var n=t-1;n>=0&&128==(192&e[n]);)n--;return n<0||0===n?t:n+Ye[e[n]]>t?n:t},$e=function(){this.input=null,this.next_in=0,this.avail_in=0,this.total_in=0,this.output=null,this.next_out=0,this.avail_out=0,this.total_out=0,this.msg="",this.state=null,this.data_type=2,this.adler=0},et=Object.prototype.toString,tt=V.Z_NO_FLUSH,nt=V.Z_SYNC_FLUSH,rt=V.Z_FULL_FLUSH,it=V.Z_FINISH,at=V.Z_OK,st=V.Z_STREAM_END,ot=V.Z_DEFAULT_COMPRESSION,lt=V.Z_DEFAULT_STRATEGY,ut=V.Z_DEFLATED;function ct(e){this.options=We({level:ot,method:ut,chunkSize:16384,windowBits:15,memLevel:8,strategy:lt},e||{});var t=this.options;t.raw&&t.windowBits>0?t.windowBits=-t.windowBits:t.gzip&&t.windowBits>0&&t.windowBits<16&&(t.windowBits+=16),this.err=0,this.msg="",this.ended=!1,this.chunks=[],this.strm=new $e,this.strm.avail_out=0;var n=Ue(this.strm,t.level,t.method,t.windowBits,t.memLevel,t.strategy);if(n!==at)throw new Error(j[n]);if(t.header&&Ge(this.strm,t.header),t.dictionary){var r;if(r="string"==typeof t.dictionary?qe(t.dictionary):"[object ArrayBuffer]"===et.call(t.dictionary)?new Uint8Array(t.dictionary):t.dictionary,(n=Ve(this.strm,r))!==at)throw new Error(j[n]);this._dict_set=!0}}function ft(e,t){var n=new ct(t);if(n.push(e,!0),n.err)throw n.msg||j[n.err];return n.result}ct.prototype.push=function(e,t){var n,r,i=this.strm,a=this.options.chunkSize;if(this.ended)return!1;for(r=t===~~t?t:!0===t?it:tt,"string"==typeof e?i.input=qe(e):"[object ArrayBuffer]"===et.call(e)?i.input=new Uint8Array(e):i.input=e,i.next_in=0,i.avail_in=i.input.length;;)if(0===i.avail_out&&(i.output=new Uint8Array(a),i.next_out=0,i.avail_out=a),(r===nt||r===rt)&&i.avail_out<=6)this.onData(i.output.subarray(0,i.next_out)),i.avail_out=0;else{if((n=ke(i,r))===st)return i.next_out>0&&this.onData(i.output.subarray(0,i.next_out)),n=je(this.strm),this.onEnd(n),this.ended=!0,n===at;if(0!==i.avail_out){if(r>0&&i.next_out>0)this.onData(i.output.subarray(0,i.next_out)),i.avail_out=0;else if(0===i.avail_in)break}else this.onData(i.output)}return!0},ct.prototype.onData=function(e){this.chunks.push(e)},ct.prototype.onEnd=function(e){e===at&&(this.result=ze(this.chunks)),this.chunks=[],this.err=e,this.msg=this.strm.msg};var pt=ct,At=ft,dt=function(e,t){return(t=t||{}).raw=!0,ft(e,t)},vt=function(e,t){return(t=t||{}).gzip=!0,ft(e,t)},ht=16209,It=function(e,t){var n,r,i,a,s,o,l,u,c,f,p,A,d,v,h,I,y,m,w,g,E,T,b,D,P=e.state;n=e.next_in,b=e.input,r=n+(e.avail_in-5),i=e.next_out,D=e.output,a=i-(t-e.avail_out),s=i+(e.avail_out-257),o=P.dmax,l=P.wsize,u=P.whave,c=P.wnext,f=P.window,p=P.hold,A=P.bits,d=P.lencode,v=P.distcode,h=(1<>>=m=y>>>24,A-=m,0===(m=y>>>16&255))D[i++]=65535&y;else{if(!(16&m)){if(0==(64&m)){y=d[(65535&y)+(p&(1<>>=m,A-=m),A<15&&(p+=b[n++]<>>=m=y>>>24,A-=m,!(16&(m=y>>>16&255))){if(0==(64&m)){y=v[(65535&y)+(p&(1<o){e.msg="invalid distance too far back",P.mode=ht;break e}if(p>>>=m,A-=m,g>(m=i-a)){if((m=g-m)>u&&P.sane){e.msg="invalid distance too far back",P.mode=ht;break e}if(E=0,T=f,0===c){if(E+=l-m,m2;)D[i++]=T[E++],D[i++]=T[E++],D[i++]=T[E++],w-=3;w&&(D[i++]=T[E++],w>1&&(D[i++]=T[E++]))}else{E=i-g;do{D[i++]=D[E++],D[i++]=D[E++],D[i++]=D[E++],w-=3}while(w>2);w&&(D[i++]=D[E++],w>1&&(D[i++]=D[E++]))}break}}break}}while(n>3,p&=(1<<(A-=w<<3))-1,e.next_in=n,e.next_out=i,e.avail_in=n=1&&0===_[g];g--);if(E>g&&(E=g),0===g)return i[a++]=20971520,i[a++]=20971520,o.bits=1,0;for(w=1;w0&&(0===e||1!==g))return-1;for(B[1]=0,y=1;y<15;y++)B[y+1]=B[y]+_[y];for(m=0;m852||2===e&&P>592)return 1;for(;;){d=y-b,s[m]+1=A?(v=O[s[m]-A],h=C[s[m]-A]):(v=96,h=0),l=1<>b)+(u-=l)]=d<<24|v<<16|h|0}while(0!==u);for(l=1<>=1;if(0!==l?(R&=l-1,R+=l):R=0,m++,0==--_[y]){if(y===g)break;y=t[n+s[m]]}if(y>E&&(R&f)!==c){for(0===b&&(b=E),p+=w,D=1<<(T=y-b);T+b852||2===e&&P>592)return 1;i[c=R&f]=E<<24|T<<16|p-a|0}}return 0!==R&&(i[p+R]=y-b<<24|64<<16|0),o.bits=E,0},Tt=V.Z_FINISH,bt=V.Z_BLOCK,Dt=V.Z_TREES,Pt=V.Z_OK,Rt=V.Z_STREAM_END,Ct=V.Z_NEED_DICT,_t=V.Z_STREAM_ERROR,Bt=V.Z_DATA_ERROR,Ot=V.Z_MEM_ERROR,St=V.Z_BUF_ERROR,Nt=V.Z_DEFLATED,Lt=16180,Mt=16190,xt=16191,Ft=16192,Ht=16194,Ut=16199,Gt=16200,kt=16206,jt=16209,Vt=function(e){return(e>>>24&255)+(e>>>8&65280)+((65280&e)<<8)+((255&e)<<24)};function Qt(){this.strm=null,this.mode=0,this.last=!1,this.wrap=0,this.havedict=!1,this.flags=0,this.dmax=0,this.check=0,this.total=0,this.head=null,this.wbits=0,this.wsize=0,this.whave=0,this.wnext=0,this.window=null,this.hold=0,this.bits=0,this.length=0,this.offset=0,this.extra=0,this.lencode=null,this.distcode=null,this.lenbits=0,this.distbits=0,this.ncode=0,this.nlen=0,this.ndist=0,this.have=0,this.next=null,this.lens=new Uint16Array(320),this.work=new Uint16Array(288),this.lendyn=null,this.distdyn=null,this.sane=0,this.back=0,this.was=0}var Wt,zt,Kt=function(e){if(!e)return 1;var t=e.state;return!t||t.strm!==e||t.mode16211?1:0},Yt=function(e){if(Kt(e))return _t;var t=e.state;return e.total_in=e.total_out=t.total=0,e.msg="",t.wrap&&(e.adler=1&t.wrap),t.mode=Lt,t.last=0,t.havedict=0,t.flags=-1,t.dmax=32768,t.head=null,t.hold=0,t.bits=0,t.lencode=t.lendyn=new Int32Array(852),t.distcode=t.distdyn=new Int32Array(592),t.sane=1,t.back=-1,Pt},Xt=function(e){if(Kt(e))return _t;var t=e.state;return t.wsize=0,t.whave=0,t.wnext=0,Yt(e)},qt=function(e,t){var n;if(Kt(e))return _t;var r=e.state;return t<0?(n=0,t=-t):(n=5+(t>>4),t<48&&(t&=15)),t&&(t<8||t>15)?_t:(null!==r.window&&r.wbits!==t&&(r.window=null),r.wrap=n,r.wbits=t,Xt(e))},Jt=function(e,t){if(!e)return _t;var n=new Qt;e.state=n,n.strm=e,n.window=null,n.mode=Lt;var r=qt(e,t);return r!==Pt&&(e.state=null),r},Zt=!0,$t=function(e){if(Zt){Wt=new Int32Array(512),zt=new Int32Array(32);for(var t=0;t<144;)e.lens[t++]=8;for(;t<256;)e.lens[t++]=9;for(;t<280;)e.lens[t++]=7;for(;t<288;)e.lens[t++]=8;for(Et(1,e.lens,0,288,Wt,0,e.work,{bits:9}),t=0;t<32;)e.lens[t++]=5;Et(2,e.lens,0,32,zt,0,e.work,{bits:5}),Zt=!1}e.lencode=Wt,e.lenbits=9,e.distcode=zt,e.distbits=5},en=function(e,t,n,r){var i,a=e.state;return null===a.window&&(a.wsize=1<=a.wsize?(a.window.set(t.subarray(n-a.wsize,n),0),a.wnext=0,a.whave=a.wsize):((i=a.wsize-a.wnext)>r&&(i=r),a.window.set(t.subarray(n-r,n-r+i),a.wnext),(r-=i)?(a.window.set(t.subarray(n-r,n),0),a.wnext=r,a.whave=a.wsize):(a.wnext+=i,a.wnext===a.wsize&&(a.wnext=0),a.whave>>8&255,n.check=k(n.check,R,2,0),u=0,c=0,n.mode=16181;break}if(n.head&&(n.head.done=!1),!(1&n.wrap)||(((255&u)<<8)+(u>>8))%31){e.msg="incorrect header check",n.mode=jt;break}if((15&u)!==Nt){e.msg="unknown compression method",n.mode=jt;break}if(c-=4,E=8+(15&(u>>>=4)),0===n.wbits&&(n.wbits=E),E>15||E>n.wbits){e.msg="invalid window size",n.mode=jt;break}n.dmax=1<>8&1),512&n.flags&&4&n.wrap&&(R[0]=255&u,R[1]=u>>>8&255,n.check=k(n.check,R,2,0)),u=0,c=0,n.mode=16182;case 16182:for(;c<32;){if(0===o)break e;o--,u+=r[a++]<>>8&255,R[2]=u>>>16&255,R[3]=u>>>24&255,n.check=k(n.check,R,4,0)),u=0,c=0,n.mode=16183;case 16183:for(;c<16;){if(0===o)break e;o--,u+=r[a++]<>8),512&n.flags&&4&n.wrap&&(R[0]=255&u,R[1]=u>>>8&255,n.check=k(n.check,R,2,0)),u=0,c=0,n.mode=16184;case 16184:if(1024&n.flags){for(;c<16;){if(0===o)break e;o--,u+=r[a++]<>>8&255,n.check=k(n.check,R,2,0)),u=0,c=0}else n.head&&(n.head.extra=null);n.mode=16185;case 16185:if(1024&n.flags&&((A=n.length)>o&&(A=o),A&&(n.head&&(E=n.head.extra_len-n.length,n.head.extra||(n.head.extra=new Uint8Array(n.head.extra_len)),n.head.extra.set(r.subarray(a,a+A),E)),512&n.flags&&4&n.wrap&&(n.check=k(n.check,r,A,a)),o-=A,a+=A,n.length-=A),n.length))break e;n.length=0,n.mode=16186;case 16186:if(2048&n.flags){if(0===o)break e;A=0;do{E=r[a+A++],n.head&&E&&n.length<65536&&(n.head.name+=String.fromCharCode(E))}while(E&&A>9&1,n.head.done=!0),e.adler=n.check=0,n.mode=xt;break;case 16189:for(;c<32;){if(0===o)break e;o--,u+=r[a++]<>>=7&c,c-=7&c,n.mode=kt;break}for(;c<3;){if(0===o)break e;o--,u+=r[a++]<>>=1)){case 0:n.mode=16193;break;case 1:if($t(n),n.mode=Ut,t===Dt){u>>>=2,c-=2;break e}break;case 2:n.mode=16196;break;case 3:e.msg="invalid block type",n.mode=jt}u>>>=2,c-=2;break;case 16193:for(u>>>=7&c,c-=7&c;c<32;){if(0===o)break e;o--,u+=r[a++]<>>16^65535)){e.msg="invalid stored block lengths",n.mode=jt;break}if(n.length=65535&u,u=0,c=0,n.mode=Ht,t===Dt)break e;case Ht:n.mode=16195;case 16195:if(A=n.length){if(A>o&&(A=o),A>l&&(A=l),0===A)break e;i.set(r.subarray(a,a+A),s),o-=A,a+=A,l-=A,s+=A,n.length-=A;break}n.mode=xt;break;case 16196:for(;c<14;){if(0===o)break e;o--,u+=r[a++]<>>=5,c-=5,n.ndist=1+(31&u),u>>>=5,c-=5,n.ncode=4+(15&u),u>>>=4,c-=4,n.nlen>286||n.ndist>30){e.msg="too many length or distance symbols",n.mode=jt;break}n.have=0,n.mode=16197;case 16197:for(;n.have>>=3,c-=3}for(;n.have<19;)n.lens[C[n.have++]]=0;if(n.lencode=n.lendyn,n.lenbits=7,b={bits:n.lenbits},T=Et(0,n.lens,0,19,n.lencode,0,n.work,b),n.lenbits=b.bits,T){e.msg="invalid code lengths set",n.mode=jt;break}n.have=0,n.mode=16198;case 16198:for(;n.have>>16&255,y=65535&P,!((h=P>>>24)<=c);){if(0===o)break e;o--,u+=r[a++]<>>=h,c-=h,n.lens[n.have++]=y;else{if(16===y){for(D=h+2;c>>=h,c-=h,0===n.have){e.msg="invalid bit length repeat",n.mode=jt;break}E=n.lens[n.have-1],A=3+(3&u),u>>>=2,c-=2}else if(17===y){for(D=h+3;c>>=h)),u>>>=3,c-=3}else{for(D=h+7;c>>=h)),u>>>=7,c-=7}if(n.have+A>n.nlen+n.ndist){e.msg="invalid bit length repeat",n.mode=jt;break}for(;A--;)n.lens[n.have++]=E}}if(n.mode===jt)break;if(0===n.lens[256]){e.msg="invalid code -- missing end-of-block",n.mode=jt;break}if(n.lenbits=9,b={bits:n.lenbits},T=Et(1,n.lens,0,n.nlen,n.lencode,0,n.work,b),n.lenbits=b.bits,T){e.msg="invalid literal/lengths set",n.mode=jt;break}if(n.distbits=6,n.distcode=n.distdyn,b={bits:n.distbits},T=Et(2,n.lens,n.nlen,n.ndist,n.distcode,0,n.work,b),n.distbits=b.bits,T){e.msg="invalid distances set",n.mode=jt;break}if(n.mode=Ut,t===Dt)break e;case Ut:n.mode=Gt;case Gt:if(o>=6&&l>=258){e.next_out=s,e.avail_out=l,e.next_in=a,e.avail_in=o,n.hold=u,n.bits=c,It(e,p),s=e.next_out,i=e.output,l=e.avail_out,a=e.next_in,r=e.input,o=e.avail_in,u=n.hold,c=n.bits,n.mode===xt&&(n.back=-1);break}for(n.back=0;I=(P=n.lencode[u&(1<>>16&255,y=65535&P,!((h=P>>>24)<=c);){if(0===o)break e;o--,u+=r[a++]<>m)])>>>16&255,y=65535&P,!(m+(h=P>>>24)<=c);){if(0===o)break e;o--,u+=r[a++]<>>=m,c-=m,n.back+=m}if(u>>>=h,c-=h,n.back+=h,n.length=y,0===I){n.mode=16205;break}if(32&I){n.back=-1,n.mode=xt;break}if(64&I){e.msg="invalid literal/length code",n.mode=jt;break}n.extra=15&I,n.mode=16201;case 16201:if(n.extra){for(D=n.extra;c>>=n.extra,c-=n.extra,n.back+=n.extra}n.was=n.length,n.mode=16202;case 16202:for(;I=(P=n.distcode[u&(1<>>16&255,y=65535&P,!((h=P>>>24)<=c);){if(0===o)break e;o--,u+=r[a++]<>m)])>>>16&255,y=65535&P,!(m+(h=P>>>24)<=c);){if(0===o)break e;o--,u+=r[a++]<>>=m,c-=m,n.back+=m}if(u>>>=h,c-=h,n.back+=h,64&I){e.msg="invalid distance code",n.mode=jt;break}n.offset=y,n.extra=15&I,n.mode=16203;case 16203:if(n.extra){for(D=n.extra;c>>=n.extra,c-=n.extra,n.back+=n.extra}if(n.offset>n.dmax){e.msg="invalid distance too far back",n.mode=jt;break}n.mode=16204;case 16204:if(0===l)break e;if(A=p-l,n.offset>A){if((A=n.offset-A)>n.whave&&n.sane){e.msg="invalid distance too far back",n.mode=jt;break}A>n.wnext?(A-=n.wnext,d=n.wsize-A):d=n.wnext-A,A>n.length&&(A=n.length),v=n.window}else v=i,d=s-n.offset,A=n.length;A>l&&(A=l),l-=A,n.length-=A;do{i[s++]=v[d++]}while(--A);0===n.length&&(n.mode=Gt);break;case 16205:if(0===l)break e;i[s++]=n.length,l--,n.mode=Gt;break;case kt:if(n.wrap){for(;c<32;){if(0===o)break e;o--,u|=r[a++]<=0&&t.windowBits<16&&(t.windowBits=-t.windowBits,0===t.windowBits&&(t.windowBits=-15)),!(t.windowBits>=0&&t.windowBits<16)||e&&e.windowBits||(t.windowBits+=32),t.windowBits>15&&t.windowBits<48&&0==(15&t.windowBits)&&(t.windowBits|=15),this.err=0,this.msg="",this.ended=!1,this.chunks=[],this.strm=new $e,this.strm.avail_out=0;var n=nn(this.strm,t.windowBits);if(n!==pn)throw new Error(j[n]);if(this.header=new ln,sn(this.strm,this.header),t.dictionary&&("string"==typeof t.dictionary?t.dictionary=qe(t.dictionary):"[object ArrayBuffer]"===un.call(t.dictionary)&&(t.dictionary=new Uint8Array(t.dictionary)),t.raw&&(n=on(this.strm,t.dictionary))!==pn))throw new Error(j[n])}function mn(e,t){var n=new yn(t);if(n.push(e),n.err)throw n.msg||j[n.err];return n.result}yn.prototype.push=function(e,t){var n,r,i,a=this.strm,s=this.options.chunkSize,o=this.options.dictionary;if(this.ended)return!1;for(r=t===~~t?t:!0===t?fn:cn,"[object ArrayBuffer]"===un.call(e)?a.input=new Uint8Array(e):a.input=e,a.next_in=0,a.avail_in=a.input.length;;){for(0===a.avail_out&&(a.output=new Uint8Array(s),a.next_out=0,a.avail_out=s),(n=rn(a,r))===dn&&o&&((n=on(a,o))===pn?n=rn(a,r):n===hn&&(n=dn));a.avail_in>0&&n===An&&a.state.wrap>0&&0!==e[a.next_in];)tn(a),n=rn(a,r);switch(n){case vn:case hn:case dn:case In:return this.onEnd(n),this.ended=!0,!1}if(i=a.avail_out,a.next_out&&(0===a.avail_out||n===An))if("string"===this.options.to){var l=Ze(a.output,a.next_out),u=a.next_out-l,c=Je(a.output,l);a.next_out=u,a.avail_out=s-u,u&&a.output.set(a.output.subarray(l,l+u),0),this.onData(c)}else this.onData(a.output.length===a.next_out?a.output:a.output.subarray(0,a.next_out));if(n!==pn||0!==i){if(n===An)return n=an(this.strm),this.onEnd(n),this.ended=!0,!0;if(0===a.avail_in)break}}return!0},yn.prototype.onData=function(e){this.chunks.push(e)},yn.prototype.onEnd=function(e){e===pn&&("string"===this.options.to?this.result=this.chunks.join(""):this.result=ze(this.chunks)),this.chunks=[],this.err=e,this.msg=this.strm.msg};var wn=function(e,t){return(t=t||{}).raw=!0,mn(e,t)},gn=pt,En=At,Tn=dt,bn=vt,Dn=yn,Pn=mn,Rn=wn,Cn=mn,_n=V,Bn={Deflate:gn,deflate:En,deflateRaw:Tn,gzip:bn,Inflate:Dn,inflate:Pn,inflateRaw:Rn,ungzip:Cn,constants:_n};e.Deflate=gn,e.Inflate=Dn,e.constants=_n,e.default=Bn,e.deflate=En,e.deflateRaw=Tn,e.gzip=bn,e.inflate=Pn,e.inflateRaw=Rn,e.ungzip=Cn,Object.defineProperty(e,"__esModule",{value:!0})}));var zR=Object.freeze({__proto__:null}),KR=window.pako||zR;KR.inflate||(KR=KR.default);var YR,XR=(YR=new Float32Array(3),function(e){return YR[0]=e[0]/255,YR[1]=e[1]/255,YR[2]=e[2]/255,YR});var qR={version:1,parse:function(e,t,n,r,i,a){var s=function(e){return{positions:e[0],normals:e[1],indices:e[2],edgeIndices:e[3],meshPositions:e[4],meshIndices:e[5],meshEdgesIndices:e[6],meshColors:e[7],entityIDs:e[8],entityMeshes:e[9],entityIsObjects:e[10],positionsDecodeMatrix:e[11]}}(n),o=function(e){return{positions:new Uint16Array(KR.inflate(e.positions).buffer),normals:new Int8Array(KR.inflate(e.normals).buffer),indices:new Uint32Array(KR.inflate(e.indices).buffer),edgeIndices:new Uint32Array(KR.inflate(e.edgeIndices).buffer),meshPositions:new Uint32Array(KR.inflate(e.meshPositions).buffer),meshIndices:new Uint32Array(KR.inflate(e.meshIndices).buffer),meshEdgesIndices:new Uint32Array(KR.inflate(e.meshEdgesIndices).buffer),meshColors:new Uint8Array(KR.inflate(e.meshColors).buffer),entityIDs:KR.inflate(e.entityIDs,{to:"string"}),entityMeshes:new Uint32Array(KR.inflate(e.entityMeshes).buffer),entityIsObjects:new Uint8Array(KR.inflate(e.entityIsObjects).buffer),positionsDecodeMatrix:new Float32Array(KR.inflate(e.positionsDecodeMatrix).buffer)}}(s);!function(e,t,n,r,i,a){a.getNextId(),r.positionsCompression="precompressed",r.normalsCompression="precompressed";for(var s=n.positions,o=n.normals,l=n.indices,u=n.edgeIndices,c=n.meshPositions,f=n.meshIndices,p=n.meshEdgesIndices,A=n.meshColors,d=JSON.parse(n.entityIDs),v=n.entityMeshes,h=n.entityIsObjects,I=c.length,y=v.length,m=0;mh[t]?1:0}));for(var C=0;C1||(_[x]=B)}for(var F=0;F1,k=iC(I.subarray(4*H,4*H+3)),j=I[4*H+3]/255,V=o.subarray(A[H],U?o.length:A[H+1]),Q=l.subarray(A[H],U?l.length:A[H+1]),W=u.subarray(d[H],U?u.length:d[H+1]),z=c.subarray(v[H],U?c.length:v[H+1]),K=f.subarray(h[H],h[H]+16);if(G){var Y="".concat(s,"-geometry.").concat(H);r.createGeometry({id:Y,primitive:"triangles",positionsCompressed:V,normalsCompressed:Q,indices:W,edgeIndices:z,positionsDecodeMatrix:K})}else{var X="".concat(s,"-").concat(H);m[_[H]],r.createMesh(le.apply({},{id:X,primitive:"triangles",positionsCompressed:V,normalsCompressed:Q,indices:W,edgeIndices:z,positionsDecodeMatrix:K,color:k,opacity:j}))}}for(var q=0,J=0;J1){var se="".concat(s,"-instance.").concat(q++),oe="".concat(s,"-geometry.").concat(ae),ue=16*g[J],ce=p.subarray(ue,ue+16);r.createMesh(le.apply({},{id:se,geometryId:oe,matrix:ce})),re.push(se)}else re.push(ae)}re.length>0&&r.createEntity(le.apply({},{id:ee,isObject:!0,meshIds:re}))}}(0,0,o,r,0,a)}},sC=window.pako||zR;sC.inflate||(sC=sC.default);var oC=function(){var e=new Float32Array(3);return function(t){return e[0]=t[0]/255,e[1]=t[1]/255,e[2]=t[2]/255,e}}();var lC={version:5,parse:function(e,t,n,r,i,a){var s=function(e){return{positions:e[0],normals:e[1],indices:e[2],edgeIndices:e[3],matrices:e[4],eachPrimitivePositionsAndNormalsPortion:e[5],eachPrimitiveIndicesPortion:e[6],eachPrimitiveEdgeIndicesPortion:e[7],eachPrimitiveColor:e[8],primitiveInstances:e[9],eachEntityId:e[10],eachEntityPrimitiveInstancesPortion:e[11],eachEntityMatricesPortion:e[12]}}(n),o=function(e){return{positions:new Float32Array(sC.inflate(e.positions).buffer),normals:new Int8Array(sC.inflate(e.normals).buffer),indices:new Uint32Array(sC.inflate(e.indices).buffer),edgeIndices:new Uint32Array(sC.inflate(e.edgeIndices).buffer),matrices:new Float32Array(sC.inflate(e.matrices).buffer),eachPrimitivePositionsAndNormalsPortion:new Uint32Array(sC.inflate(e.eachPrimitivePositionsAndNormalsPortion).buffer),eachPrimitiveIndicesPortion:new Uint32Array(sC.inflate(e.eachPrimitiveIndicesPortion).buffer),eachPrimitiveEdgeIndicesPortion:new Uint32Array(sC.inflate(e.eachPrimitiveEdgeIndicesPortion).buffer),eachPrimitiveColor:new Uint8Array(sC.inflate(e.eachPrimitiveColor).buffer),primitiveInstances:new Uint32Array(sC.inflate(e.primitiveInstances).buffer),eachEntityId:sC.inflate(e.eachEntityId,{to:"string"}),eachEntityPrimitiveInstancesPortion:new Uint32Array(sC.inflate(e.eachEntityPrimitiveInstancesPortion).buffer),eachEntityMatricesPortion:new Uint32Array(sC.inflate(e.eachEntityMatricesPortion).buffer)}}(s);!function(e,t,n,r,i,a){var s=a.getNextId();r.positionsCompression="disabled",r.normalsCompression="precompressed";for(var o=n.positions,l=n.normals,u=n.indices,c=n.edgeIndices,f=n.matrices,p=n.eachPrimitivePositionsAndNormalsPortion,A=n.eachPrimitiveIndicesPortion,d=n.eachPrimitiveEdgeIndicesPortion,v=n.eachPrimitiveColor,h=n.primitiveInstances,I=JSON.parse(n.eachEntityId),y=n.eachEntityPrimitiveInstancesPortion,m=n.eachEntityMatricesPortion,w=p.length,g=h.length,E=new Uint8Array(w),T=I.length,b=0;b1||(D[S]=P)}for(var N=0;N1,x=oC(v.subarray(4*N,4*N+3)),F=v[4*N+3]/255,H=o.subarray(p[N],L?o.length:p[N+1]),U=l.subarray(p[N],L?l.length:p[N+1]),G=u.subarray(A[N],L?u.length:A[N+1]),k=c.subarray(d[N],L?c.length:d[N+1]);if(M){var j="".concat(s,"-geometry.").concat(N);r.createGeometry({id:j,primitive:"triangles",positionsCompressed:H,normalsCompressed:U,indices:G,edgeIndices:k})}else{var V=N;I[D[N]],r.createMesh(le.apply({},{id:V,primitive:"triangles",positionsCompressed:H,normalsCompressed:U,indices:G,edgeIndices:k,color:x,opacity:F}))}}for(var Q=0,W=0;W1){var ee="instance."+Q++,te="geometry"+$,ne=16*m[W],re=f.subarray(ne,ne+16);r.createMesh(le.apply({},{id:ee,geometryId:te,matrix:re})),J.push(ee)}else J.push($)}J.length>0&&r.createEntity(le.apply({},{id:Y,isObject:!0,meshIds:J}))}}(0,0,o,r,0,a)}},uC=window.pako||zR;uC.inflate||(uC=uC.default);var cC,fC=(cC=new Float32Array(3),function(e){return cC[0]=e[0]/255,cC[1]=e[1]/255,cC[2]=e[2]/255,cC});var pC={version:6,parse:function(e,t,n,r,i,a){var s=function(e){return{positions:e[0],normals:e[1],indices:e[2],edgeIndices:e[3],matrices:e[4],reusedPrimitivesDecodeMatrix:e[5],eachPrimitivePositionsAndNormalsPortion:e[6],eachPrimitiveIndicesPortion:e[7],eachPrimitiveEdgeIndicesPortion:e[8],eachPrimitiveColorAndOpacity:e[9],primitiveInstances:e[10],eachEntityId:e[11],eachEntityPrimitiveInstancesPortion:e[12],eachEntityMatricesPortion:e[13],eachTileAABB:e[14],eachTileEntitiesPortion:e[15]}}(n),o=function(e){function t(e,t){return 0===e.length?[]:uC.inflate(e,t).buffer}return{positions:new Uint16Array(t(e.positions)),normals:new Int8Array(t(e.normals)),indices:new Uint32Array(t(e.indices)),edgeIndices:new Uint32Array(t(e.edgeIndices)),matrices:new Float32Array(t(e.matrices)),reusedPrimitivesDecodeMatrix:new Float32Array(t(e.reusedPrimitivesDecodeMatrix)),eachPrimitivePositionsAndNormalsPortion:new Uint32Array(t(e.eachPrimitivePositionsAndNormalsPortion)),eachPrimitiveIndicesPortion:new Uint32Array(t(e.eachPrimitiveIndicesPortion)),eachPrimitiveEdgeIndicesPortion:new Uint32Array(t(e.eachPrimitiveEdgeIndicesPortion)),eachPrimitiveColorAndOpacity:new Uint8Array(t(e.eachPrimitiveColorAndOpacity)),primitiveInstances:new Uint32Array(t(e.primitiveInstances)),eachEntityId:uC.inflate(e.eachEntityId,{to:"string"}),eachEntityPrimitiveInstancesPortion:new Uint32Array(t(e.eachEntityPrimitiveInstancesPortion)),eachEntityMatricesPortion:new Uint32Array(t(e.eachEntityMatricesPortion)),eachTileAABB:new Float64Array(t(e.eachTileAABB)),eachTileEntitiesPortion:new Uint32Array(t(e.eachTileEntitiesPortion))}}(s);!function(e,t,n,r,i,a){for(var s=a.getNextId(),o=n.positions,l=n.normals,u=n.indices,c=n.edgeIndices,f=n.matrices,p=n.reusedPrimitivesDecodeMatrix,A=n.eachPrimitivePositionsAndNormalsPortion,d=n.eachPrimitiveIndicesPortion,v=n.eachPrimitiveEdgeIndicesPortion,h=n.eachPrimitiveColorAndOpacity,I=n.primitiveInstances,y=JSON.parse(n.eachEntityId),m=n.eachEntityPrimitiveInstancesPortion,w=n.eachEntityMatricesPortion,g=n.eachTileAABB,E=n.eachTileEntitiesPortion,T=A.length,b=I.length,D=y.length,P=E.length,R=new Uint32Array(T),C=0;C1,re=te===T-1,ie=o.subarray(A[te],re?o.length:A[te+1]),ae=l.subarray(A[te],re?l.length:A[te+1]),se=u.subarray(d[te],re?u.length:d[te+1]),oe=c.subarray(v[te],re?c.length:v[te+1]),ue=fC(h.subarray(4*te,4*te+3)),ce=h[4*te+3]/255,fe=a.getNextId();if(ne){var pe="".concat(s,"-geometry.").concat(S,".").concat(te);U[pe]||(r.createGeometry({id:pe,primitive:"triangles",positionsCompressed:ie,indices:se,edgeIndices:oe,positionsDecodeMatrix:p}),U[pe]=!0),r.createMesh(le.apply(J,{id:fe,geometryId:pe,origin:B,matrix:Q,color:ue,opacity:ce})),Y.push(fe)}else r.createMesh(le.apply(J,{id:fe,origin:B,primitive:"triangles",positionsCompressed:ie,normalsCompressed:ae,indices:se,edgeIndices:oe,positionsDecodeMatrix:H,color:ue,opacity:ce})),Y.push(fe)}Y.length>0&&r.createEntity(le.apply(q,{id:j,isObject:!0,meshIds:Y}))}}}(e,t,o,r,0,a)}},AC=window.pako||zR;AC.inflate||(AC=AC.default);var dC=function(){var e=new Float32Array(3);return function(t){return e[0]=t[0]/255,e[1]=t[1]/255,e[2]=t[2]/255,e}}();function vC(e){for(var t=[],n=0,r=e.length;n1,ae=re===R-1,se=dC(E.subarray(6*ne,6*ne+3)),oe=E[6*ne+3]/255,ue=E[6*ne+4]/255,ce=E[6*ne+5]/255,fe=a.getNextId();if(ie){var pe=g[ne],Ae=p.slice(pe,pe+16),de="".concat(s,"-geometry.").concat(x,".").concat(re);if(!V[de]){var ve=void 0,he=void 0,Ie=void 0,ye=void 0,me=void 0,we=void 0;switch(d[re]){case 0:ve="solid",he=o.subarray(v[re],ae?o.length:v[re+1]),Ie=l.subarray(h[re],ae?l.length:h[re+1]),me=c.subarray(y[re],ae?c.length:y[re+1]),we=f.subarray(m[re],ae?f.length:m[re+1]);break;case 1:ve="surface",he=o.subarray(v[re],ae?o.length:v[re+1]),Ie=l.subarray(h[re],ae?l.length:h[re+1]),me=c.subarray(y[re],ae?c.length:y[re+1]),we=f.subarray(m[re],ae?f.length:m[re+1]);break;case 2:ve="points",he=o.subarray(v[re],ae?o.length:v[re+1]),ye=vC(u.subarray(I[re],ae?u.length:I[re+1]));break;case 3:ve="lines",he=o.subarray(v[re],ae?o.length:v[re+1]),me=c.subarray(y[re],ae?c.length:y[re+1]);break;default:continue}r.createGeometry({id:de,primitive:ve,positionsCompressed:he,normalsCompressed:Ie,colors:ye,indices:me,edgeIndices:we,positionsDecodeMatrix:A}),V[de]=!0}r.createMesh(le.apply(ee,{id:fe,geometryId:de,origin:L,matrix:Ae,color:se,metallic:ue,roughness:ce,opacity:oe})),q.push(fe)}else{var ge=void 0,Ee=void 0,Te=void 0,be=void 0,De=void 0,Pe=void 0;switch(d[re]){case 0:ge="solid",Ee=o.subarray(v[re],ae?o.length:v[re+1]),Te=l.subarray(h[re],ae?l.length:h[re+1]),De=c.subarray(y[re],ae?c.length:y[re+1]),Pe=f.subarray(m[re],ae?f.length:m[re+1]);break;case 1:ge="surface",Ee=o.subarray(v[re],ae?o.length:v[re+1]),Te=l.subarray(h[re],ae?l.length:h[re+1]),De=c.subarray(y[re],ae?c.length:y[re+1]),Pe=f.subarray(m[re],ae?f.length:m[re+1]);break;case 2:ge="points",Ee=o.subarray(v[re],ae?o.length:v[re+1]),be=vC(u.subarray(I[re],ae?u.length:I[re+1]));break;case 3:ge="lines",Ee=o.subarray(v[re],ae?o.length:v[re+1]),De=c.subarray(y[re],ae?c.length:y[re+1]);break;default:continue}r.createMesh(le.apply(ee,{id:fe,origin:L,primitive:ge,positionsCompressed:Ee,normalsCompressed:Te,colors:be,indices:De,edgeIndices:Pe,positionsDecodeMatrix:j,color:se,metallic:ue,roughness:ce,opacity:oe})),q.push(fe)}}q.length>0&&r.createEntity(le.apply(Z,{id:z,isObject:!0,meshIds:q}))}}}(e,t,o,r,0,a)}},IC=window.pako||zR;IC.inflate||(IC=IC.default);var yC=$.vec4(),mC=$.vec4();var wC=function(){var e=new Float32Array(3);return function(t){return e[0]=t[0]/255,e[1]=t[1]/255,e[2]=t[2]/255,e}}();function gC(e){for(var t=[],n=0,r=e.length;n1,we=ye===N-1,ge=wC(R.subarray(6*Ie,6*Ie+3)),Ee=R[6*Ie+3]/255,Te=R[6*Ie+4]/255,be=R[6*Ie+5]/255,De=a.getNextId();if(me){var Pe=P[Ie],Re=I.slice(Pe,Pe+16),Ce="".concat(s,"-geometry.").concat(q,".").concat(ye),_e=X[Ce];if(!_e){_e={batchThisMesh:!t.reuseGeometries};var Be=!1;switch(m[ye]){case 0:_e.primitiveName="solid",_e.geometryPositions=p.subarray(w[ye],we?p.length:w[ye+1]),_e.geometryNormals=A.subarray(g[ye],we?A.length:g[ye+1]),_e.geometryIndices=v.subarray(T[ye],we?v.length:T[ye+1]),_e.geometryEdgeIndices=h.subarray(b[ye],we?h.length:b[ye+1]),Be=_e.geometryPositions.length>0&&_e.geometryIndices.length>0;break;case 1:_e.primitiveName="surface",_e.geometryPositions=p.subarray(w[ye],we?p.length:w[ye+1]),_e.geometryNormals=A.subarray(g[ye],we?A.length:g[ye+1]),_e.geometryIndices=v.subarray(T[ye],we?v.length:T[ye+1]),_e.geometryEdgeIndices=h.subarray(b[ye],we?h.length:b[ye+1]),Be=_e.geometryPositions.length>0&&_e.geometryIndices.length>0;break;case 2:_e.primitiveName="points",_e.geometryPositions=p.subarray(w[ye],we?p.length:w[ye+1]),_e.geometryColors=gC(d.subarray(E[ye],we?d.length:E[ye+1])),Be=_e.geometryPositions.length>0;break;case 3:_e.primitiveName="lines",_e.geometryPositions=p.subarray(w[ye],we?p.length:w[ye+1]),_e.geometryIndices=v.subarray(T[ye],we?v.length:T[ye+1]),Be=_e.geometryPositions.length>0&&_e.geometryIndices.length>0;break;default:continue}if(Be||(_e=null),_e&&(_e.geometryPositions.length,_e.batchThisMesh)){_e.decompressedPositions=new Float32Array(_e.geometryPositions.length);for(var Oe=_e.geometryPositions,Se=_e.decompressedPositions,Ne=0,Le=Oe.length;Ne0&&Ve.length>0;break;case 1:Ue="surface",Ge=p.subarray(w[ye],we?p.length:w[ye+1]),ke=A.subarray(g[ye],we?A.length:g[ye+1]),Ve=v.subarray(T[ye],we?v.length:T[ye+1]),Qe=h.subarray(b[ye],we?h.length:b[ye+1]),We=Ge.length>0&&Ve.length>0;break;case 2:Ue="points",Ge=p.subarray(w[ye],we?p.length:w[ye+1]),je=gC(d.subarray(E[ye],we?d.length:E[ye+1])),We=Ge.length>0;break;case 3:Ue="lines",Ge=p.subarray(w[ye],we?p.length:w[ye+1]),Ve=v.subarray(T[ye],we?v.length:T[ye+1]),We=Ge.length>0&&Ve.length>0;break;default:continue}We&&(r.createMesh(le.apply(ve,{id:De,origin:K,primitive:Ue,positionsCompressed:Ge,normalsCompressed:ke,colorsCompressed:je,indices:Ve,edgeIndices:Qe,positionsDecodeMatrix:re,color:ge,metallic:Te,roughness:be,opacity:Ee})),pe.push(De))}}pe.length>0&&r.createEntity(le.apply(de,{id:oe,isObject:!0,meshIds:pe}))}}}(e,t,o,r,i,a)}},TC=window.pako||zR;TC.inflate||(TC=TC.default);var bC=$.vec4(),DC=$.vec4();var PC=function(){var e=new Float32Array(3);return function(t){return e[0]=t[0]/255,e[1]=t[1]/255,e[2]=t[2]/255,e}}();var RC={version:9,parse:function(e,t,n,r,i,a){var s=function(e){return{metadata:e[0],positions:e[1],normals:e[2],colors:e[3],indices:e[4],edgeIndices:e[5],matrices:e[6],reusedGeometriesDecodeMatrix:e[7],eachGeometryPrimitiveType:e[8],eachGeometryPositionsPortion:e[9],eachGeometryNormalsPortion:e[10],eachGeometryColorsPortion:e[11],eachGeometryIndicesPortion:e[12],eachGeometryEdgeIndicesPortion:e[13],eachMeshGeometriesPortion:e[14],eachMeshMatricesPortion:e[15],eachMeshMaterial:e[16],eachEntityId:e[17],eachEntityMeshesPortion:e[18],eachTileAABB:e[19],eachTileEntitiesPortion:e[20]}}(n),o=function(e){function t(e,t){return 0===e.length?[]:TC.inflate(e,t).buffer}return{metadata:JSON.parse(TC.inflate(e.metadata,{to:"string"})),positions:new Uint16Array(t(e.positions)),normals:new Int8Array(t(e.normals)),colors:new Uint8Array(t(e.colors)),indices:new Uint32Array(t(e.indices)),edgeIndices:new Uint32Array(t(e.edgeIndices)),matrices:new Float32Array(t(e.matrices)),reusedGeometriesDecodeMatrix:new Float32Array(t(e.reusedGeometriesDecodeMatrix)),eachGeometryPrimitiveType:new Uint8Array(t(e.eachGeometryPrimitiveType)),eachGeometryPositionsPortion:new Uint32Array(t(e.eachGeometryPositionsPortion)),eachGeometryNormalsPortion:new Uint32Array(t(e.eachGeometryNormalsPortion)),eachGeometryColorsPortion:new Uint32Array(t(e.eachGeometryColorsPortion)),eachGeometryIndicesPortion:new Uint32Array(t(e.eachGeometryIndicesPortion)),eachGeometryEdgeIndicesPortion:new Uint32Array(t(e.eachGeometryEdgeIndicesPortion)),eachMeshGeometriesPortion:new Uint32Array(t(e.eachMeshGeometriesPortion)),eachMeshMatricesPortion:new Uint32Array(t(e.eachMeshMatricesPortion)),eachMeshMaterial:new Uint8Array(t(e.eachMeshMaterial)),eachEntityId:JSON.parse(TC.inflate(e.eachEntityId,{to:"string"})),eachEntityMeshesPortion:new Uint32Array(t(e.eachEntityMeshesPortion)),eachTileAABB:new Float64Array(t(e.eachTileAABB)),eachTileEntitiesPortion:new Uint32Array(t(e.eachTileEntitiesPortion))}}(s);!function(e,t,n,r,i,a){var s=a.getNextId(),o=n.metadata,l=n.positions,u=n.normals,c=n.colors,f=n.indices,p=n.edgeIndices,A=n.matrices,d=n.reusedGeometriesDecodeMatrix,v=n.eachGeometryPrimitiveType,h=n.eachGeometryPositionsPortion,I=n.eachGeometryNormalsPortion,y=n.eachGeometryColorsPortion,m=n.eachGeometryIndicesPortion,w=n.eachGeometryEdgeIndicesPortion,g=n.eachMeshGeometriesPortion,E=n.eachMeshMatricesPortion,T=n.eachMeshMaterial,b=n.eachEntityId,D=n.eachEntityMeshesPortion,P=n.eachTileAABB,R=n.eachTileEntitiesPortion,C=h.length,_=g.length,B=D.length,O=R.length;i&&i.loadData(o,{includeTypes:t.includeTypes,excludeTypes:t.excludeTypes,globalizeObjectIds:t.globalizeObjectIds});for(var S=new Uint32Array(C),N=0;N<_;N++){var L=g[N];void 0!==S[L]?S[L]++:S[L]=1}for(var M=$.vec3(),x=$.AABB3(),F={},H=0;H1,oe=ae===C-1,ue=PC(T.subarray(6*ie,6*ie+3)),ce=T[6*ie+3]/255,fe=T[6*ie+4]/255,pe=T[6*ie+5]/255,Ae=a.getNextId();if(se){var de=E[ie],ve=A.slice(de,de+16),he="".concat(s,"-geometry.").concat(H,".").concat(ae),Ie=F[he];if(!Ie){Ie={batchThisMesh:!t.reuseGeometries};var ye=!1;switch(v[ae]){case 0:Ie.primitiveName="solid",Ie.geometryPositions=l.subarray(h[ae],oe?l.length:h[ae+1]),Ie.geometryNormals=u.subarray(I[ae],oe?u.length:I[ae+1]),Ie.geometryIndices=f.subarray(m[ae],oe?f.length:m[ae+1]),Ie.geometryEdgeIndices=p.subarray(w[ae],oe?p.length:w[ae+1]),ye=Ie.geometryPositions.length>0&&Ie.geometryIndices.length>0;break;case 1:Ie.primitiveName="surface",Ie.geometryPositions=l.subarray(h[ae],oe?l.length:h[ae+1]),Ie.geometryNormals=u.subarray(I[ae],oe?u.length:I[ae+1]),Ie.geometryIndices=f.subarray(m[ae],oe?f.length:m[ae+1]),Ie.geometryEdgeIndices=p.subarray(w[ae],oe?p.length:w[ae+1]),ye=Ie.geometryPositions.length>0&&Ie.geometryIndices.length>0;break;case 2:Ie.primitiveName="points",Ie.geometryPositions=l.subarray(h[ae],oe?l.length:h[ae+1]),Ie.geometryColors=c.subarray(y[ae],oe?c.length:y[ae+1]),ye=Ie.geometryPositions.length>0;break;case 3:Ie.primitiveName="lines",Ie.geometryPositions=l.subarray(h[ae],oe?l.length:h[ae+1]),Ie.geometryIndices=f.subarray(m[ae],oe?f.length:m[ae+1]),ye=Ie.geometryPositions.length>0&&Ie.geometryIndices.length>0;break;default:continue}if(ye||(Ie=null),Ie&&(Ie.geometryPositions.length,Ie.batchThisMesh)){Ie.decompressedPositions=new Float32Array(Ie.geometryPositions.length),Ie.transformedAndRecompressedPositions=new Uint16Array(Ie.geometryPositions.length);for(var me=Ie.geometryPositions,we=Ie.decompressedPositions,ge=0,Ee=me.length;ge0&&Oe.length>0;break;case 1:Re="surface",Ce=l.subarray(h[ae],oe?l.length:h[ae+1]),_e=u.subarray(I[ae],oe?u.length:I[ae+1]),Oe=f.subarray(m[ae],oe?f.length:m[ae+1]),Se=p.subarray(w[ae],oe?p.length:w[ae+1]),Ne=Ce.length>0&&Oe.length>0;break;case 2:Re="points",Ce=l.subarray(h[ae],oe?l.length:h[ae+1]),Be=c.subarray(y[ae],oe?c.length:y[ae+1]),Ne=Ce.length>0;break;case 3:Re="lines",Ce=l.subarray(h[ae],oe?l.length:h[ae+1]),Oe=f.subarray(m[ae],oe?f.length:m[ae+1]),Ne=Ce.length>0&&Oe.length>0;break;default:continue}Ne&&(r.createMesh(le.apply(ne,{id:Ae,origin:M,primitive:Re,positionsCompressed:Ce,normalsCompressed:_e,colorsCompressed:Be,indices:Oe,edgeIndices:Se,positionsDecodeMatrix:Q,color:ue,metallic:fe,roughness:pe,opacity:ce})),Z.push(Ae))}}Z.length>0&&r.createEntity(le.apply(te,{id:Y,isObject:!0,meshIds:Z}))}}}(e,t,o,r,i,a)}},CC=window.pako||zR;CC.inflate||(CC=CC.default);var _C=$.vec4(),BC=$.vec4();var OC=function(){var e=new Float32Array(3);return function(t){return e[0]=t[0]/255,e[1]=t[1]/255,e[2]=t[2]/255,e}}();function SC(e,t){var n=[];if(t.length>1)for(var r=0,i=t.length-1;r1)for(var a=0,s=e.length/3-1;a0,z=9*k,K=1===c[z+0],Y=c[z+1];c[z+2],c[z+3];var X=c[z+4],q=c[z+5],J=c[z+6],Z=c[z+7],ee=c[z+8];if(W){var te=new Uint8Array(l.subarray(V,Q)).buffer,ne="".concat(s,"-texture-").concat(k);if(K)r.createTexture({id:ne,buffers:[te],minFilter:X,magFilter:q,wrapS:J,wrapT:Z,wrapR:ee});else{var re=new Blob([te],{type:10001===Y?"image/jpeg":10002===Y?"image/png":"image/gif"}),ie=(window.URL||window.webkitURL).createObjectURL(re),ae=document.createElement("img");ae.src=ie,r.createTexture({id:ne,image:ae,minFilter:X,magFilter:q,wrapS:J,wrapT:Z,wrapR:ee})}}}for(var se=0;se=0?"".concat(s,"-texture-").concat(ce):null,normalsTextureId:pe>=0?"".concat(s,"-texture-").concat(pe):null,metallicRoughnessTextureId:fe>=0?"".concat(s,"-texture-").concat(fe):null,emissiveTextureId:Ae>=0?"".concat(s,"-texture-").concat(Ae):null,occlusionTextureId:de>=0?"".concat(s,"-texture-").concat(de):null})}for(var ve=new Uint32Array(F),he=0;he1,Ve=ke===F-1,Qe=_[Ge],We=Qe>=0?"".concat(s,"-textureSet-").concat(Qe):null,ze=OC(B.subarray(6*Ge,6*Ge+3)),Ke=B[6*Ge+3]/255,Ye=B[6*Ge+4]/255,Xe=B[6*Ge+5]/255,qe=a.getNextId();if(je){var Je=C[Ge],Ze=y.slice(Je,Je+16),$e="".concat(s,"-geometry.").concat(ge,".").concat(ke),et=we[$e];if(!et){et={batchThisMesh:!t.reuseGeometries};var tt=!1;switch(w[ke]){case 0:et.primitiveName="solid",et.geometryPositions=f.subarray(g[ke],Ve?f.length:g[ke+1]),et.geometryNormals=p.subarray(E[ke],Ve?p.length:E[ke+1]),et.geometryUVs=d.subarray(b[ke],Ve?d.length:b[ke+1]),et.geometryIndices=v.subarray(D[ke],Ve?v.length:D[ke+1]),et.geometryEdgeIndices=h.subarray(P[ke],Ve?h.length:P[ke+1]),tt=et.geometryPositions.length>0&&et.geometryIndices.length>0;break;case 1:et.primitiveName="surface",et.geometryPositions=f.subarray(g[ke],Ve?f.length:g[ke+1]),et.geometryNormals=p.subarray(E[ke],Ve?p.length:E[ke+1]),et.geometryUVs=d.subarray(b[ke],Ve?d.length:b[ke+1]),et.geometryIndices=v.subarray(D[ke],Ve?v.length:D[ke+1]),et.geometryEdgeIndices=h.subarray(P[ke],Ve?h.length:P[ke+1]),tt=et.geometryPositions.length>0&&et.geometryIndices.length>0;break;case 2:et.primitiveName="points",et.geometryPositions=f.subarray(g[ke],Ve?f.length:g[ke+1]),et.geometryColors=A.subarray(T[ke],Ve?A.length:T[ke+1]),tt=et.geometryPositions.length>0;break;case 3:et.primitiveName="lines",et.geometryPositions=f.subarray(g[ke],Ve?f.length:g[ke+1]),et.geometryIndices=v.subarray(D[ke],Ve?v.length:D[ke+1]),tt=et.geometryPositions.length>0&&et.geometryIndices.length>0;break;case 4:et.primitiveName="lines",et.geometryPositions=f.subarray(g[ke],Ve?f.length:g[ke+1]),et.geometryIndices=SC(et.geometryPositions,v.subarray(D[ke],Ve?v.length:D[ke+1])),tt=et.geometryPositions.length>0&&et.geometryIndices.length>0;break;default:continue}if(tt||(et=null),et&&(et.geometryPositions.length,et.batchThisMesh)){et.decompressedPositions=new Float32Array(et.geometryPositions.length),et.transformedAndRecompressedPositions=new Uint16Array(et.geometryPositions.length);for(var nt=et.geometryPositions,rt=et.decompressedPositions,it=0,at=nt.length;it0&&vt.length>0;break;case 1:ct="surface",ft=f.subarray(g[ke],Ve?f.length:g[ke+1]),pt=p.subarray(E[ke],Ve?p.length:E[ke+1]),At=d.subarray(b[ke],Ve?d.length:b[ke+1]),vt=v.subarray(D[ke],Ve?v.length:D[ke+1]),ht=h.subarray(P[ke],Ve?h.length:P[ke+1]),It=ft.length>0&&vt.length>0;break;case 2:ct="points",ft=f.subarray(g[ke],Ve?f.length:g[ke+1]),dt=A.subarray(T[ke],Ve?A.length:T[ke+1]),It=ft.length>0;break;case 3:ct="lines",ft=f.subarray(g[ke],Ve?f.length:g[ke+1]),vt=v.subarray(D[ke],Ve?v.length:D[ke+1]),It=ft.length>0&&vt.length>0;break;case 4:ct="lines",vt=SC(ft=f.subarray(g[ke],Ve?f.length:g[ke+1]),v.subarray(D[ke],Ve?v.length:D[ke+1])),It=ft.length>0&&vt.length>0;break;default:continue}It&&(r.createMesh(le.apply(He,{id:qe,textureSetId:We,origin:ye,primitive:ct,positionsCompressed:ft,normalsCompressed:pt,uv:At&&At.length>0?At:null,colorsCompressed:dt,indices:vt,edgeIndices:ht,positionsDecodeMatrix:Re,color:ze,metallic:Ye,roughness:Xe,opacity:Ke})),Me.push(qe))}}Me.length>0&&r.createEntity(le.apply(Fe,{id:Oe,isObject:!0,meshIds:Me}))}}}(e,t,o,r,i,a)}},LC={};LC[qR.version]=qR,LC[$R.version]=$R,LC[nC.version]=nC,LC[aC.version]=aC,LC[lC.version]=lC,LC[pC.version]=pC,LC[hC.version]=hC,LC[EC.version]=EC,LC[RC.version]=RC,LC[NC.version]=NC;var MC=function(e){I(n,Ce);var t=m(n);function n(e){var r,i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return b(this,n),(r=t.call(this,"XKTLoader",e,i))._maxGeometryBatchSize=i.maxGeometryBatchSize,r.textureTranscoder=i.textureTranscoder,r.dataSource=i.dataSource,r.objectDefaults=i.objectDefaults,r.includeTypes=i.includeTypes,r.excludeTypes=i.excludeTypes,r.excludeUnclassifiedObjects=i.excludeUnclassifiedObjects,r.reuseGeometries=i.reuseGeometries,r}return P(n,[{key:"supportedVersions",get:function(){return Object.keys(LC)}},{key:"textureTranscoder",get:function(){return this._textureTranscoder},set:function(e){this._textureTranscoder=e}},{key:"dataSource",get:function(){return this._dataSource},set:function(e){this._dataSource=e||new WR}},{key:"objectDefaults",get:function(){return this._objectDefaults},set:function(e){this._objectDefaults=e||VP}},{key:"includeTypes",get:function(){return this._includeTypes},set:function(e){this._includeTypes=e}},{key:"excludeTypes",get:function(){return this._excludeTypes},set:function(e){this._excludeTypes=e}},{key:"excludeUnclassifiedObjects",get:function(){return this._excludeUnclassifiedObjects},set:function(e){this._excludeUnclassifiedObjects=!!e}},{key:"globalizeObjectIds",get:function(){return this._globalizeObjectIds},set:function(e){this._globalizeObjectIds=!!e}},{key:"reuseGeometries",get:function(){return this._reuseGeometries},set:function(e){this._reuseGeometries=!1!==e}},{key:"load",value:function(){var e=this,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};if(t.id&&this.viewer.scene.components[t.id]&&(this.error("Component with this ID already exists in viewer: "+t.id+" - will autogenerate this ID"),delete t.id),!(t.src||t.xkt||t.manifestSrc||t.manifest))return this.error("load() param expected: src, xkt, manifestSrc or manifestData"),c;var n={},r=t.includeTypes||this._includeTypes,i=t.excludeTypes||this._excludeTypes,a=t.objectDefaults||this._objectDefaults;if(n.reuseGeometries=null!==t.reuseGeometries&&void 0!==t.reuseGeometries?t.reuseGeometries:!1!==this._reuseGeometries,r){n.includeTypesMap={};for(var s=0,o=r.length;s=t.length?a():e._dataSource.getMetaModel("".concat(y).concat(t[o]),(function(e){p.loadData(e,{includeTypes:r,excludeTypes:i,globalizeObjectIds:n.globalizeObjectIds}),o++,l()}),s)}()},w=function(r,i,a){var s=0;!function o(){s>=r.length?i():e._dataSource.getXKT("".concat(y).concat(r[s]),(function(r){e._parseModel(r,t,n,c,p,h),s++,o()}),a)}()};if(t.manifest){var g=t.manifest,E=g.xktFiles;if(!E||0===E.length)return void d("load(): Failed to load model manifest - manifest not valid");var T=g.metaModelFiles;T?m(T,(function(){w(E,A,d)}),d):w(E,A,d)}else this._dataSource.getManifest(t.manifestSrc,(function(e){if(!c.destroyed){var t=e.xktFiles;if(t&&0!==t.length){var n=e.metaModelFiles;n?m(n,(function(){w(t,A,d)}),d):w(t,A,d)}else d("load(): Failed to load model manifest - manifest not valid")}}),d)}return c}},{key:"_loadModel",value:function(e,t,n,r,i,a,s,o){var l=this;this._dataSource.getXKT(t.src,(function(e){l._parseModel(e,t,n,r,i,a),s()}),o)}},{key:"_parseModel",value:function(e,t,n,r,i,a){if(!r.destroyed){var s=new DataView(e),o=new Uint8Array(e),l=s.getUint32(0,!0),u=LC[l];if(u){this.log("Loading .xkt V"+l);for(var c=s.getUint32(4,!0),f=[],p=4*(c+2),A=0;Ae.size)throw new RangeError("offset:"+t+", length:"+n+", size:"+e.size);return e.slice?e.slice(t,t+n):e.webkitSlice?e.webkitSlice(t,t+n):e.mozSlice?e.mozSlice(t,t+n):e.msSlice?e.msSlice(t,t+n):void 0}(e,t,n))}catch(e){i(e)}}}function d(){}function v(e){var n,r=this;r.init=function(e){n=new Blob([],{type:s}),e()},r.writeUint8Array=function(e,r){n=new Blob([n,t?e:e.buffer],{type:s}),r()},r.getData=function(t,r){var i=new FileReader;i.onload=function(e){t(e.target.result)},i.onerror=r,i.readAsText(n,e)}}function h(t){var n=this,r="",i="";n.init=function(e){r+="data:"+(t||"")+";base64,",e()},n.writeUint8Array=function(t,n){var a,s=i.length,o=i;for(i="",a=0;a<3*Math.floor((s+t.length)/3)-s;a++)o+=String.fromCharCode(t[a]);for(;a2?r+=e.btoa(o):i=o,n()},n.getData=function(t){t(r+e.btoa(i))}}function I(e){var n,r=this;r.init=function(t){n=new Blob([],{type:e}),t()},r.writeUint8Array=function(r,i){n=new Blob([n,t?r:r.buffer],{type:e}),i()},r.getData=function(e){e(n)}}function y(e,t,n,r,i,s,o,l,u,c){var f,p,A,d=0,v=t.sn;function h(){e.removeEventListener("message",I,!1),l(p,A)}function I(t){var n=t.data,i=n.data,a=n.error;if(a)return a.toString=function(){return"Error: "+this.message},void u(a);if(n.sn===v)switch("number"==typeof n.codecTime&&(e.codecTime+=n.codecTime),"number"==typeof n.crcTime&&(e.crcTime+=n.crcTime),n.type){case"append":i?(p+=i.length,r.writeUint8Array(i,(function(){y()}),c)):y();break;case"flush":A=n.crc,i?(p+=i.length,r.writeUint8Array(i,(function(){h()}),c)):h();break;case"progress":o&&o(f+n.loaded,s);break;case"importScripts":case"newTask":case"echo":break;default:console.warn("zip.js:launchWorkerProcess: unknown message: ",n)}}function y(){(f=d*a)<=s?n.readUint8Array(i+f,Math.min(a,s-f),(function(n){o&&o(f,s);var r=0===f?t:{sn:v};r.type="append",r.data=n;try{e.postMessage(r,[n.buffer])}catch(t){e.postMessage(r)}d++}),u):e.postMessage({sn:v,type:"flush"})}p=0,e.addEventListener("message",I,!1),y()}function m(e,t,n,r,i,s,l,u,c,f){var p,A=0,d=0,v="input"===s,h="output"===s,I=new o;!function s(){var o;if((p=A*a)127?i[n-128]:String.fromCharCode(n);return r}function E(e){return decodeURIComponent(escape(e))}function T(e){var t,n="";for(t=0;t>16,n=65535&e;try{return new Date(1980+((65024&t)>>9),((480&t)>>5)-1,31&t,(63488&n)>>11,(2016&n)>>5,2*(31&n),0)}catch(e){}}(e.lastModDateRaw),1!=(1&e.bitFlag)?((r||8!=(8&e.bitFlag))&&(e.crc32=t.view.getUint32(n+10,!0),e.compressedSize=t.view.getUint32(n+14,!0),e.uncompressedSize=t.view.getUint32(n+18,!0)),4294967295!==e.compressedSize&&4294967295!==e.uncompressedSize?(e.filenameLength=t.view.getUint16(n+22,!0),e.extraFieldLength=t.view.getUint16(n+24,!0)):i("File is using Zip64 (4gb+ file size).")):i("File contains encrypted entry.")}function D(t,a,s){var o=0;function l(){}l.prototype.getData=function(r,a,l,c){var f=this;function p(e,t){c&&!function(e){var t=u(4);return t.view.setUint32(0,e),f.crc32==t.view.getUint32(0)}(t)?s("CRC failed."):r.getData((function(e){a(e)}))}function A(e){s(e||i)}function d(e){s(e||"Error while writing file data.")}t.readUint8Array(f.offset,30,(function(i){var a,v=u(i.length,i);1347093252==v.view.getUint32(0)?(b(f,v,4,!1,s),a=f.offset+30+f.filenameLength+f.extraFieldLength,r.init((function(){0===f.compressionMethod?w(f._worker,o++,t,r,a,f.compressedSize,c,p,l,A,d):function(t,n,r,i,a,s,o,l,u,c,f){var p=o?"output":"none";e.zip.useWebWorkers?y(t,{sn:n,codecClass:"Inflater",crcType:p},r,i,a,s,u,l,c,f):m(new e.zip.Inflater,r,i,a,s,p,u,l,c,f)}(f._worker,o++,t,r,a,f.compressedSize,c,p,l,A,d)}),d)):s(n)}),A)};var c={getEntries:function(e){var i=this._worker;!function(e){t.size<22?s(n):i(22,(function(){i(Math.min(65558,t.size),(function(){s(n)}))}));function i(n,i){t.readUint8Array(t.size-n,n,(function(t){for(var n=t.length-22;n>=0;n--)if(80===t[n]&&75===t[n+1]&&5===t[n+2]&&6===t[n+3])return void e(new DataView(t.buffer,n,22));i()}),(function(){s(r)}))}}((function(a){var o,c;o=a.getUint32(16,!0),c=a.getUint16(8,!0),o<0||o>=t.size?s(n):t.readUint8Array(o,t.size-o,(function(t){var r,a,o,f,p=0,A=[],d=u(t.length,t);for(r=0;r>>8^n[255&(t^e[r])];this.crc=t},o.prototype.get=function(){return~this.crc},o.prototype.table=function(){var e,t,n,r=[];for(e=0;e<256;e++){for(n=e,t=0;t<8;t++)1&n?n=n>>>1^3988292384:n>>>=1;r[e]=n}return r}(),l.prototype.append=function(e,t){return e},l.prototype.flush=function(){},f.prototype=new c,f.prototype.constructor=f,p.prototype=new c,p.prototype.constructor=p,A.prototype=new c,A.prototype.constructor=A,d.prototype.getData=function(e){e(this.data)},v.prototype=new d,v.prototype.constructor=v,h.prototype=new d,h.prototype.constructor=h,I.prototype=new d,I.prototype.constructor=I;var _={deflater:["z-worker.js","deflate.js"],inflater:["z-worker.js","inflate.js"]};function B(t,n,r){if(null===e.zip.workerScripts||null===e.zip.workerScriptsPath){var i;if(e.zip.workerScripts){if(i=e.zip.workerScripts[t],!Array.isArray(i))return void r(new Error("zip.workerScripts."+t+" is not an array!"));i=function(e){var t=document.createElement("a");return e.map((function(e){return t.href=e,t.href}))}(i)}else(i=_[t].slice(0))[0]=(e.zip.workerScriptsPath||"")+i[0];var a=new Worker(i[0]);a.codecTime=a.crcTime=0,a.postMessage({type:"importScripts",scripts:i.slice(1)}),a.addEventListener("message",(function e(t){var i=t.data;if(i.error)return a.terminate(),void r(i.error);"importScripts"===i.type&&(a.removeEventListener("message",e),a.removeEventListener("error",s),n(a))})),a.addEventListener("error",s)}else r(new Error("Either zip.workerScripts or zip.workerScriptsPath may be set, not both."));function s(e){a.terminate(),r(e)}}function O(e){console.error(e)}e.zip={Reader:c,Writer:d,BlobReader:A,Data64URIReader:p,TextReader:f,BlobWriter:I,Data64URIWriter:h,TextWriter:v,createReader:function(e,t,n){n=n||O,e.init((function(){D(e,t,n)}),n)},createWriter:function(e,t,n,r){n=n||O,r=!!r,e.init((function(){C(e,t,n,r)}),n)},useWebWorkers:!0,workerScriptsPath:null,workerScripts:null}}(FC);var HC=FC.zip;!function(e){var t,n,r=e.Reader,i=e.Writer;try{n=0===new Blob([new DataView(new ArrayBuffer(0))]).size}catch(e){}function a(e){var t=this;function n(n,r){var i;t.data?n():((i=new XMLHttpRequest).addEventListener("load",(function(){t.size||(t.size=Number(i.getResponseHeader("Content-Length"))||Number(i.response.byteLength)),t.data=new Uint8Array(i.response),n()}),!1),i.addEventListener("error",r,!1),i.open("GET",e),i.responseType="arraybuffer",i.send())}t.size=0,t.init=function(r,i){if(function(e){var t=document.createElement("a");return t.href=e,"http:"===t.protocol||"https:"===t.protocol}(e)){var a=new XMLHttpRequest;a.addEventListener("load",(function(){t.size=Number(a.getResponseHeader("Content-Length")),t.size?r():n(r,i)}),!1),a.addEventListener("error",i,!1),a.open("HEAD",e),a.send()}else n(r,i)},t.readUint8Array=function(e,r,i,a){n((function(){i(new Uint8Array(t.data.subarray(e,e+r)))}),a)}}function s(e){var t=this;t.size=0,t.init=function(n,r){var i=new XMLHttpRequest;i.addEventListener("load",(function(){t.size=Number(i.getResponseHeader("Content-Length")),"bytes"==i.getResponseHeader("Accept-Ranges")?n():r("HTTP Range not supported.")}),!1),i.addEventListener("error",r,!1),i.open("HEAD",e),i.send()},t.readUint8Array=function(t,n,r,i){!function(t,n,r,i){var a=new XMLHttpRequest;a.open("GET",e),a.responseType="arraybuffer",a.setRequestHeader("Range","bytes="+t+"-"+(t+n-1)),a.addEventListener("load",(function(){r(a.response)}),!1),a.addEventListener("error",i,!1),a.send()}(t,n,(function(e){r(new Uint8Array(e))}),i)}}function o(e){var t=this;t.size=0,t.init=function(n,r){t.size=e.byteLength,n()},t.readUint8Array=function(t,n,r,i){r(new Uint8Array(e.slice(t,t+n)))}}function l(){var e,t=this;t.init=function(t,n){e=new Uint8Array,t()},t.writeUint8Array=function(t,n,r){var i=new Uint8Array(e.length+t.length);i.set(e),i.set(t,e.length),e=i,n()},t.getData=function(t){t(e.buffer)}}function u(e,t){var r,i=this;i.init=function(t,n){e.createWriter((function(e){r=e,t()}),n)},i.writeUint8Array=function(e,i,a){var s=new Blob([n?e:e.buffer],{type:t});r.onwrite=function(){r.onwrite=null,i()},r.onerror=a,r.write(s)},i.getData=function(t){e.file(t)}}a.prototype=new r,a.prototype.constructor=a,s.prototype=new r,s.prototype.constructor=s,o.prototype=new r,o.prototype.constructor=o,l.prototype=new i,l.prototype.constructor=l,u.prototype=new i,u.prototype.constructor=u,e.FileWriter=u,e.HttpReader=a,e.HttpRangeReader=s,e.ArrayBufferReader=o,e.ArrayBufferWriter=l,e.fs&&((t=e.fs.ZipDirectoryEntry).prototype.addHttpContent=function(n,r,i){return function(n,r,i,a){if(n.directory)return a?new t(n.fs,r,i,n):new e.fs.ZipFileEntry(n.fs,r,i,n);throw"Parent entry is not a directory."}(this,n,{data:r,Reader:i?s:a})},t.prototype.importHttpContent=function(e,t,n,r){this.importZip(t?new s(e):new a(e),n,r)},e.fs.FS.prototype.importHttpContent=function(e,n,r,i){this.entries=[],this.root=new t(this),this.root.importHttpContent(e,n,r,i)})}(HC);var UC=["4.2"],GC=function(){function e(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};b(this,e),this.supportedSchemas=UC,this._xrayOpacity=.7,this._src=null,this._options=n,this.viewpoint=null,n.workerScriptsPath?(HC.workerScriptsPath=n.workerScriptsPath,this.src=n.src,this.xrayOpacity=.7,this.displayEffect=n.displayEffect,this.createMetaModel=n.createMetaModel):t.error("Config expected: workerScriptsPath")}return P(e,[{key:"load",value:function(e,t,n,r,i,a){switch(r.materialType){case"MetallicMaterial":t._defaultMaterial=new ya(t,{baseColor:[1,1,1],metallic:.6,roughness:.6});break;case"SpecularMaterial":t._defaultMaterial=new ga(t,{diffuse:[1,1,1],specular:$.vec3([1,1,1]),glossiness:.5});break;default:t._defaultMaterial=new Nn(t,{reflectivity:.75,shiness:100,diffuse:[1,1,1]})}t._wireframeMaterial=new va(t,{color:[0,0,0],lineWidth:2});var s=t.scene.canvas.spinner;s.processes++,kC(e,t,n,r,(function(){s.processes--,i&&i(),t.fire("loaded",!0,!1)}),(function(e){s.processes--,t.error(e),a&&a(e),t.fire("error",e)}),(function(e){console.log("Error, Will Robinson: "+e)}))}}]),e}(),kC=function(e,t,n,r,i,a){!function(e,t,n){var r=new XC;r.load(e,(function(){t(r)}),(function(e){n("Error loading ZIP archive: "+e)}))}(n,(function(n){jC(e,n,r,t,i,a)}),a)},jC=function(){return function(t,n,r,i,a){var s={plugin:t,zip:n,edgeThreshold:30,materialType:r.materialType,scene:i.scene,modelNode:i,info:{references:{}},materials:{}};r.createMetaModel&&(s.metaModelData={modelId:i.id,metaObjects:[{name:i.id,type:"Default",id:i.id}]}),i.scene.loading++,function(t,n){t.zip.getFile("Manifest.xml",(function(r,i){for(var a=i.children,s=0,o=a.length;s0){for(var s=a.trim().split(" "),o=new Int16Array(s.length),l=0,u=0,c=s.length;u0){n.primitive="triangles";for(var a=[],s=0,o=i.length;s=t.length)n();else{var o=t[a].id,l=o.lastIndexOf(":");l>0&&(o=o.substring(l+1));var u=o.lastIndexOf("#");u>0&&(o=o.substring(0,u)),r[o]?i(a+1):function(e,t,n){e.zip.getFile(t,(function(t,r){!function(e,t,n){for(var r,i=t.children,a=0,s=i.length;a0)for(var r=0,i=t.length;r1&&void 0!==arguments[1]?arguments[1]:{};return b(this,n),r=t.call(this,"XML3DLoader",e,i),i.workerScriptsPath?(r._workerScriptsPath=i.workerScriptsPath,r._loader=new GC(g(r),i),r.supportedSchemas=r._loader.supportedSchemas,r):(r.error("Config expected: workerScriptsPath"),w(r))}return P(n,[{key:"load",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};e.workerScriptsPath=this._workerScriptsPath,e.id&&this.viewer.scene.components[e.id]&&(this.error("Component with this ID already exists in viewer: "+e.id+" - will autogenerate this ID"),delete e.id);var t=new da(this.viewer.scene,le.apply(e,{isModel:!0})),n=e.src;return n?(this._loader.load(this,t,n,e),t):(this.error("load() param expected: src"),t)}}]),n}(),r_=Object.defineProperty,i_=Object.defineProperties,a_=Object.getOwnPropertyDescriptors,s_=Object.getOwnPropertySymbols,o_=Object.prototype.hasOwnProperty,l_=Object.prototype.propertyIsEnumerable,u_=function(e,t,n){return t in e?r_(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n},c_=function(e,t){for(var n in t||(t={}))o_.call(t,n)&&u_(e,n,t[n]);if(s_){var r,i=f(s_(t));try{for(i.s();!(r=i.n()).done;){n=r.value;l_.call(t,n)&&u_(e,n,t[n])}}catch(e){i.e(e)}finally{i.f()}}return e},f_=function(e,t){return i_(e,a_(t))},p_=function(e,t){return function(){return t||(0,e[Object.keys(e)[0]])((t={exports:{}}).exports,t),t.exports}},A_=function(e,t,n){return new Promise((function(r,i){var a=function(e){try{o(n.next(e))}catch(e){i(e)}},s=function(e){try{o(n.throw(e))}catch(e){i(e)}},o=function(e){return e.done?r(e.value):Promise.resolve(e.value).then(a,s)};o((n=n.apply(e,t)).next())}))},d_=p_({"dist/web-ifc-mt.js":function(e,t){var n,r=(n="undefined"!=typeof document&&document.currentScript?document.currentScript.src:void 0,function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};function t(){return O.buffer!=F.buffer&&J(),F}function r(){return O.buffer!=F.buffer&&J(),H}function i(){return O.buffer!=F.buffer&&J(),U}function a(){return O.buffer!=F.buffer&&J(),G}function s(){return O.buffer!=F.buffer&&J(),k}function o(){return O.buffer!=F.buffer&&J(),j}function l(){return O.buffer!=F.buffer&&J(),V}function u(){return O.buffer!=F.buffer&&J(),Q}var p,A,d=void 0!==e?e:{};d.ready=new Promise((function(e,t){p=e,A=t}));var v,h,I,y=Object.assign({},d),m="./this.program",w=function(e,t){throw t},g="object"==("undefined"==typeof window?"undefined":T(window)),E="function"==typeof importScripts,b="object"==("undefined"==typeof process?"undefined":T(process))&&"object"==T(process.versions)&&"string"==typeof process.versions.node,D=d.ENVIRONMENT_IS_PTHREAD||!1,P="";function R(e){return d.locateFile?d.locateFile(e,P):P+e}(g||E)&&(E?P=self.location.href:"undefined"!=typeof document&&document.currentScript&&(P=document.currentScript.src),n&&(P=n),P=0!==P.indexOf("blob:")?P.substr(0,P.replace(/[?#].*/,"").lastIndexOf("/")+1):"",v=function(e){var t=new XMLHttpRequest;return t.open("GET",e,!1),t.send(null),t.responseText},E&&(I=function(e){var t=new XMLHttpRequest;return t.open("GET",e,!1),t.responseType="arraybuffer",t.send(null),new Uint8Array(t.response)}),h=function(e,t,n){var r=new XMLHttpRequest;r.open("GET",e,!0),r.responseType="arraybuffer",r.onload=function(){200==r.status||0==r.status&&r.response?t(r.response):n()},r.onerror=n,r.send(null)});var C,_=d.print||console.log.bind(console),B=d.printErr||console.warn.bind(console);Object.assign(d,y),y=null,d.arguments,d.thisProgram&&(m=d.thisProgram),d.quit&&(w=d.quit),d.wasmBinary&&(C=d.wasmBinary);var O,S,N=d.noExitRuntime||!0;"object"!=("undefined"==typeof WebAssembly?"undefined":T(WebAssembly))&&de("no native wasm support detected");var L,M=!1;function x(e,t){e||de(t)}var F,H,U,G,k,j,V,Q,W="undefined"!=typeof TextDecoder?new TextDecoder("utf8"):void 0;function z(e,t,n){for(var r=(t>>>=0)+n,i=t;e[i]&&!(i>=r);)++i;if(i-t>16&&e.buffer&&W)return W.decode(e.buffer instanceof SharedArrayBuffer?e.slice(t,i):e.subarray(t,i));for(var a="";t>10,56320|1023&u)}}else a+=String.fromCharCode((31&s)<<6|o)}else a+=String.fromCharCode(s)}return a}function K(e,t){return(e>>>=0)?z(r(),e,t):""}function Y(e,t,n,r){if(!(r>0))return 0;for(var i=n>>>=0,a=n+r-1,s=0;s=55296&&o<=57343&&(o=65536+((1023&o)<<10)|1023&e.charCodeAt(++s)),o<=127){if(n>=a)break;t[n++>>>0]=o}else if(o<=2047){if(n+1>=a)break;t[n++>>>0]=192|o>>6,t[n++>>>0]=128|63&o}else if(o<=65535){if(n+2>=a)break;t[n++>>>0]=224|o>>12,t[n++>>>0]=128|o>>6&63,t[n++>>>0]=128|63&o}else{if(n+3>=a)break;t[n++>>>0]=240|o>>18,t[n++>>>0]=128|o>>12&63,t[n++>>>0]=128|o>>6&63,t[n++>>>0]=128|63&o}}return t[n>>>0]=0,n-i}function X(e,t,n){return Y(e,r(),t,n)}function q(e){for(var t=0,n=0;n=55296&&r<=57343?(t+=4,++n):t+=3}return t}function J(){var e=O.buffer;d.HEAP8=F=new Int8Array(e),d.HEAP16=U=new Int16Array(e),d.HEAP32=k=new Int32Array(e),d.HEAPU8=H=new Uint8Array(e),d.HEAPU16=G=new Uint16Array(e),d.HEAPU32=j=new Uint32Array(e),d.HEAPF32=V=new Float32Array(e),d.HEAPF64=Q=new Float64Array(e)}var Z,$=d.INITIAL_MEMORY||16777216;if(x($>=5242880,"INITIAL_MEMORY should be larger than STACK_SIZE, was "+$+"! (STACK_SIZE=5242880)"),D)O=d.wasmMemory;else if(d.wasmMemory)O=d.wasmMemory;else if(!((O=new WebAssembly.Memory({initial:$/65536,maximum:65536,shared:!0})).buffer instanceof SharedArrayBuffer))throw B("requested a shared WebAssembly.Memory but the returned buffer is not a SharedArrayBuffer, indicating that while the browser has SharedArrayBuffer it does not have WebAssembly threads support - you may need to set a flag"),b&&B("(on node you may need: --experimental-wasm-threads --experimental-wasm-bulk-memory and/or recent version)"),Error("bad memory");J(),$=O.buffer.byteLength;var ee=[],te=[],ne=[];function re(){return N}function ie(){if(d.preRun)for("function"==typeof d.preRun&&(d.preRun=[d.preRun]);d.preRun.length;)oe(d.preRun.shift());Ve(ee)}function ae(){D||(d.noFSInit||xe.init.initialized||xe.init(),xe.ignorePermissions=!1,Ve(te))}function se(){if(!D){if(d.postRun)for("function"==typeof d.postRun&&(d.postRun=[d.postRun]);d.postRun.length;)ue(d.postRun.shift());Ve(ne)}}function oe(e){ee.unshift(e)}function le(e){te.unshift(e)}function ue(e){ne.unshift(e)}var ce=0,fe=null;function pe(e){ce++,d.monitorRunDependencies&&d.monitorRunDependencies(ce)}function Ae(e){if(ce--,d.monitorRunDependencies&&d.monitorRunDependencies(ce),0==ce&&fe){var t=fe;fe=null,t()}}function de(e){d.onAbort&&d.onAbort(e),B(e="Aborted("+e+")"),M=!0,L=1,e+=". Build with -sASSERTIONS for more info.";var t=new WebAssembly.RuntimeError(e);throw A(t),t}var ve,he,Ie,ye="data:application/octet-stream;base64,";function me(e){return e.startsWith(ye)}function we(e){try{if(e==ve&&C)return new Uint8Array(C);if(I)return I(e);throw"both async and sync fetching of the wasm failed"}catch(e){de(e)}}function ge(){return C||!g&&!E||"function"!=typeof fetch?Promise.resolve().then((function(){return we(ve)})):fetch(ve,{credentials:"same-origin"}).then((function(e){if(!e.ok)throw"failed to load wasm binary file at '"+ve+"'";return e.arrayBuffer()})).catch((function(){return we(ve)}))}function Ee(){var e={a:vi};function t(e,t){var n=e.exports;d.asm=n,Xe(d.asm.ka),Z=d.asm.ia,le(d.asm.ha),S=t,je.loadWasmModuleToAllWorkers((function(){return Ae()}))}function n(e){t(e.instance,e.module)}function r(t){return ge().then((function(t){return WebAssembly.instantiate(t,e)})).then((function(e){return e})).then(t,(function(e){B("failed to asynchronously prepare wasm: "+e),de(e)}))}if(pe(),d.instantiateWasm)try{return d.instantiateWasm(e,t)}catch(e){B("Module.instantiateWasm callback failed with error: "+e),A(e)}return(C||"function"!=typeof WebAssembly.instantiateStreaming||me(ve)||"function"!=typeof fetch?r(n):fetch(ve,{credentials:"same-origin"}).then((function(t){return WebAssembly.instantiateStreaming(t,e).then(n,(function(e){return B("wasm streaming compile failed: "+e),B("falling back to ArrayBuffer instantiation"),r(n)}))}))).catch(A),{}}function Te(e){this.name="ExitStatus",this.message="Program terminated with exit("+e+")",this.status=e}function be(e){var t=je.pthreads[e];delete je.pthreads[e],t.terminate(),Ti(e),je.runningWorkers.splice(je.runningWorkers.indexOf(t),1),t.pthread_ptr=0}function De(e){je.pthreads[e].postMessage({cmd:"cancel"})}function Pe(e){var t=je.pthreads[e];x(t),je.returnWorkerToPool(t)}function Re(e){var t=je.getNewWorker();if(!t)return 6;je.runningWorkers.push(t),je.pthreads[e.pthread_ptr]=t,t.pthread_ptr=e.pthread_ptr;var n={cmd:"run",start_routine:e.startRoutine,arg:e.arg,pthread_ptr:e.pthread_ptr};return t.postMessage(n,e.transferList),0}me(ve="web-ifc-mt.wasm")||(ve=R(ve));var Ce={isAbs:function(e){return"/"===e.charAt(0)},splitPath:function(e){return/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/.exec(e).slice(1)},normalizeArray:function(e,t){for(var n=0,r=e.length-1;r>=0;r--){var i=e[r];"."===i?e.splice(r,1):".."===i?(e.splice(r,1),n++):n&&(e.splice(r,1),n--)}if(t)for(;n;n--)e.unshift("..");return e},normalize:function(e){var t=Ce.isAbs(e),n="/"===e.substr(-1);return e=Ce.normalizeArray(e.split("/").filter((function(e){return!!e})),!t).join("/"),e||t||(e="."),e&&n&&(e+="/"),(t?"/":"")+e},dirname:function(e){var t=Ce.splitPath(e),n=t[0],r=t[1];return n||r?(r&&(r=r.substr(0,r.length-1)),n+r):"."},basename:function(e){if("/"===e)return"/";var t=(e=(e=Ce.normalize(e)).replace(/\/$/,"")).lastIndexOf("/");return-1===t?e:e.substr(t+1)},join:function(){var e=Array.prototype.slice.call(arguments);return Ce.normalize(e.join("/"))},join2:function(e,t){return Ce.normalize(e+"/"+t)}};function _e(){if("object"==("undefined"==typeof crypto?"undefined":T(crypto))&&"function"==typeof crypto.getRandomValues){var e=new Uint8Array(1);return function(){return crypto.getRandomValues(e),e[0]}}return function(){return de("randomDevice")}}var Be={resolve:function(){for(var e="",t=!1,n=arguments.length-1;n>=-1&&!t;n--){var r=n>=0?arguments[n]:xe.cwd();if("string"!=typeof r)throw new TypeError("Arguments to path.resolve must be strings");if(!r)return"";e=r+"/"+e,t=Ce.isAbs(r)}return e=Ce.normalizeArray(e.split("/").filter((function(e){return!!e})),!t).join("/"),(t?"/":"")+e||"."},relative:function(e,t){function n(e){for(var t=0;t=0&&""===e[n];n--);return t>n?[]:e.slice(t,n-t+1)}e=Be.resolve(e).substr(1),t=Be.resolve(t).substr(1);for(var r=n(e.split("/")),i=n(t.split("/")),a=Math.min(r.length,i.length),s=a,o=0;o0?n:q(e)+1,i=new Array(r),a=Y(e,i,0,i.length);return t&&(i.length=a),i}var Se={ttys:[],init:function(){},shutdown:function(){},register:function(e,t){Se.ttys[e]={input:[],output:[],ops:t},xe.registerDevice(e,Se.stream_ops)},stream_ops:{open:function(e){var t=Se.ttys[e.node.rdev];if(!t)throw new xe.ErrnoError(43);e.tty=t,e.seekable=!1},close:function(e){e.tty.ops.fsync(e.tty)},fsync:function(e){e.tty.ops.fsync(e.tty)},read:function(e,t,n,r,i){if(!e.tty||!e.tty.ops.get_char)throw new xe.ErrnoError(60);for(var a=0,s=0;s0&&(_(z(e.output,0)),e.output=[])}},default_tty1_ops:{put_char:function(e,t){null===t||10===t?(B(z(e.output,0)),e.output=[]):0!=t&&e.output.push(t)},fsync:function(e){e.output&&e.output.length>0&&(B(z(e.output,0)),e.output=[])}}};function Ne(e){de()}var Le={ops_table:null,mount:function(e){return Le.createNode(null,"/",16895,0)},createNode:function(e,t,n,r){if(xe.isBlkdev(n)||xe.isFIFO(n))throw new xe.ErrnoError(63);Le.ops_table||(Le.ops_table={dir:{node:{getattr:Le.node_ops.getattr,setattr:Le.node_ops.setattr,lookup:Le.node_ops.lookup,mknod:Le.node_ops.mknod,rename:Le.node_ops.rename,unlink:Le.node_ops.unlink,rmdir:Le.node_ops.rmdir,readdir:Le.node_ops.readdir,symlink:Le.node_ops.symlink},stream:{llseek:Le.stream_ops.llseek}},file:{node:{getattr:Le.node_ops.getattr,setattr:Le.node_ops.setattr},stream:{llseek:Le.stream_ops.llseek,read:Le.stream_ops.read,write:Le.stream_ops.write,allocate:Le.stream_ops.allocate,mmap:Le.stream_ops.mmap,msync:Le.stream_ops.msync}},link:{node:{getattr:Le.node_ops.getattr,setattr:Le.node_ops.setattr,readlink:Le.node_ops.readlink},stream:{}},chrdev:{node:{getattr:Le.node_ops.getattr,setattr:Le.node_ops.setattr},stream:xe.chrdev_stream_ops}});var i=xe.createNode(e,t,n,r);return xe.isDir(i.mode)?(i.node_ops=Le.ops_table.dir.node,i.stream_ops=Le.ops_table.dir.stream,i.contents={}):xe.isFile(i.mode)?(i.node_ops=Le.ops_table.file.node,i.stream_ops=Le.ops_table.file.stream,i.usedBytes=0,i.contents=null):xe.isLink(i.mode)?(i.node_ops=Le.ops_table.link.node,i.stream_ops=Le.ops_table.link.stream):xe.isChrdev(i.mode)&&(i.node_ops=Le.ops_table.chrdev.node,i.stream_ops=Le.ops_table.chrdev.stream),i.timestamp=Date.now(),e&&(e.contents[t]=i,e.timestamp=i.timestamp),i},getFileDataAsTypedArray:function(e){return e.contents?e.contents.subarray?e.contents.subarray(0,e.usedBytes):new Uint8Array(e.contents):new Uint8Array(0)},expandFileStorage:function(e,t){t>>>=0;var n=e.contents?e.contents.length:0;if(!(n>=t)){t=Math.max(t,n*(n<1048576?2:1.125)>>>0),0!=n&&(t=Math.max(t,256));var r=e.contents;e.contents=new Uint8Array(t),e.usedBytes>0&&e.contents.set(r.subarray(0,e.usedBytes),0)}},resizeFileStorage:function(e,t){if(t>>>=0,e.usedBytes!=t)if(0==t)e.contents=null,e.usedBytes=0;else{var n=e.contents;e.contents=new Uint8Array(t),n&&e.contents.set(n.subarray(0,Math.min(t,e.usedBytes))),e.usedBytes=t}},node_ops:{getattr:function(e){var t={};return t.dev=xe.isChrdev(e.mode)?e.id:1,t.ino=e.id,t.mode=e.mode,t.nlink=1,t.uid=0,t.gid=0,t.rdev=e.rdev,xe.isDir(e.mode)?t.size=4096:xe.isFile(e.mode)?t.size=e.usedBytes:xe.isLink(e.mode)?t.size=e.link.length:t.size=0,t.atime=new Date(e.timestamp),t.mtime=new Date(e.timestamp),t.ctime=new Date(e.timestamp),t.blksize=4096,t.blocks=Math.ceil(t.size/t.blksize),t},setattr:function(e,t){void 0!==t.mode&&(e.mode=t.mode),void 0!==t.timestamp&&(e.timestamp=t.timestamp),void 0!==t.size&&Le.resizeFileStorage(e,t.size)},lookup:function(e,t){throw xe.genericErrors[44]},mknod:function(e,t,n,r){return Le.createNode(e,t,n,r)},rename:function(e,t,n){if(xe.isDir(e.mode)){var r;try{r=xe.lookupNode(t,n)}catch(e){}if(r)for(var i in r.contents)throw new xe.ErrnoError(55)}delete e.parent.contents[e.name],e.parent.timestamp=Date.now(),e.name=n,t.contents[n]=e,t.timestamp=e.parent.timestamp,e.parent=t},unlink:function(e,t){delete e.contents[t],e.timestamp=Date.now()},rmdir:function(e,t){var n=xe.lookupNode(e,t);for(var r in n.contents)throw new xe.ErrnoError(55);delete e.contents[t],e.timestamp=Date.now()},readdir:function(e){var t=[".",".."];for(var n in e.contents)e.contents.hasOwnProperty(n)&&t.push(n);return t},symlink:function(e,t,n){var r=Le.createNode(e,t,41471,0);return r.link=n,r},readlink:function(e){if(!xe.isLink(e.mode))throw new xe.ErrnoError(28);return e.link}},stream_ops:{read:function(e,t,n,r,i){var a=e.node.contents;if(i>=e.node.usedBytes)return 0;var s=Math.min(e.node.usedBytes-i,r);if(s>8&&a.subarray)t.set(a.subarray(i,i+s),n);else for(var o=0;o0||r+n>>=0,t().set(l,s>>>0)}else o=!1,s=l.byteOffset;return{ptr:s,allocated:o}},msync:function(e,t,n,r,i){return Le.stream_ops.write(e,t,0,r,n,!1),0}}};function Me(e,t,n,r){var i=r?"":"al "+e;h(e,(function(n){x(n,'Loading data file "'+e+'" failed (no arrayBuffer).'),t(new Uint8Array(n)),i&&Ae()}),(function(t){if(!n)throw'Loading data file "'+e+'" failed.';n()})),i&&pe()}var xe={root:null,mounts:[],devices:{},streams:[],nextInode:1,nameTable:null,currentPath:"/",initialized:!1,ignorePermissions:!0,ErrnoError:null,genericErrors:{},filesystems:null,syncFSRequests:0,lookupPath:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(!(e=Be.resolve(e)))return{path:"",node:null};var n={follow_mount:!0,recurse_count:0};if((t=Object.assign(n,t)).recurse_count>8)throw new xe.ErrnoError(32);for(var r=e.split("/").filter((function(e){return!!e})),i=xe.root,a="/",s=0;s40)throw new xe.ErrnoError(32)}}return{path:a,node:i}},getPath:function(e){for(var t;;){if(xe.isRoot(e)){var n=e.mount.mountpoint;return t?"/"!==n[n.length-1]?n+"/"+t:n+t:n}t=t?e.name+"/"+t:e.name,e=e.parent}},hashName:function(e,t){for(var n=0,r=0;r>>0)%xe.nameTable.length},hashAddNode:function(e){var t=xe.hashName(e.parent.id,e.name);e.name_next=xe.nameTable[t],xe.nameTable[t]=e},hashRemoveNode:function(e){var t=xe.hashName(e.parent.id,e.name);if(xe.nameTable[t]===e)xe.nameTable[t]=e.name_next;else for(var n=xe.nameTable[t];n;){if(n.name_next===e){n.name_next=e.name_next;break}n=n.name_next}},lookupNode:function(e,t){var n=xe.mayLookup(e);if(n)throw new xe.ErrnoError(n,e);for(var r=xe.hashName(e.id,t),i=xe.nameTable[r];i;i=i.name_next){var a=i.name;if(i.parent.id===e.id&&a===t)return i}return xe.lookup(e,t)},createNode:function(e,t,n,r){var i=new xe.FSNode(e,t,n,r);return xe.hashAddNode(i),i},destroyNode:function(e){xe.hashRemoveNode(e)},isRoot:function(e){return e===e.parent},isMountpoint:function(e){return!!e.mounted},isFile:function(e){return 32768==(61440&e)},isDir:function(e){return 16384==(61440&e)},isLink:function(e){return 40960==(61440&e)},isChrdev:function(e){return 8192==(61440&e)},isBlkdev:function(e){return 24576==(61440&e)},isFIFO:function(e){return 4096==(61440&e)},isSocket:function(e){return 49152==(49152&e)},flagModes:{r:0,"r+":2,w:577,"w+":578,a:1089,"a+":1090},modeStringToFlags:function(e){var t=xe.flagModes[e];if(void 0===t)throw new Error("Unknown file open mode: "+e);return t},flagsToPermissionString:function(e){var t=["r","w","rw"][3&e];return 512&e&&(t+="w"),t},nodePermissions:function(e,t){return xe.ignorePermissions||(!t.includes("r")||292&e.mode)&&(!t.includes("w")||146&e.mode)&&(!t.includes("x")||73&e.mode)?0:2},mayLookup:function(e){var t=xe.nodePermissions(e,"x");return t||(e.node_ops.lookup?0:2)},mayCreate:function(e,t){try{return xe.lookupNode(e,t),20}catch(e){}return xe.nodePermissions(e,"wx")},mayDelete:function(e,t,n){var r;try{r=xe.lookupNode(e,t)}catch(e){return e.errno}var i=xe.nodePermissions(e,"wx");if(i)return i;if(n){if(!xe.isDir(r.mode))return 54;if(xe.isRoot(r)||xe.getPath(r)===xe.cwd())return 10}else if(xe.isDir(r.mode))return 31;return 0},mayOpen:function(e,t){return e?xe.isLink(e.mode)?32:xe.isDir(e.mode)&&("r"!==xe.flagsToPermissionString(t)||512&t)?31:xe.nodePermissions(e,xe.flagsToPermissionString(t)):44},MAX_OPEN_FDS:4096,nextfd:function(){for(var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:xe.MAX_OPEN_FDS,n=e;n<=t;n++)if(!xe.streams[n])return n;throw new xe.ErrnoError(33)},getStream:function(e){return xe.streams[e]},createStream:function(e,t,n){xe.FSStream||(xe.FSStream=function(){this.shared={}},xe.FSStream.prototype={},Object.defineProperties(xe.FSStream.prototype,{object:{get:function(){return this.node},set:function(e){this.node=e}},isRead:{get:function(){return 1!=(2097155&this.flags)}},isWrite:{get:function(){return 0!=(2097155&this.flags)}},isAppend:{get:function(){return 1024&this.flags}},flags:{get:function(){return this.shared.flags},set:function(e){this.shared.flags=e}},position:{get:function(){return this.shared.position},set:function(e){this.shared.position=e}}})),e=Object.assign(new xe.FSStream,e);var r=xe.nextfd(t,n);return e.fd=r,xe.streams[r]=e,e},closeStream:function(e){xe.streams[e]=null},chrdev_stream_ops:{open:function(e){var t=xe.getDevice(e.node.rdev);e.stream_ops=t.stream_ops,e.stream_ops.open&&e.stream_ops.open(e)},llseek:function(){throw new xe.ErrnoError(70)}},major:function(e){return e>>8},minor:function(e){return 255&e},makedev:function(e,t){return e<<8|t},registerDevice:function(e,t){xe.devices[e]={stream_ops:t}},getDevice:function(e){return xe.devices[e]},getMounts:function(e){for(var t=[],n=[e];n.length;){var r=n.pop();t.push(r),n.push.apply(n,r.mounts)}return t},syncfs:function(e,t){"function"==typeof e&&(t=e,e=!1),xe.syncFSRequests++,xe.syncFSRequests>1&&B("warning: "+xe.syncFSRequests+" FS.syncfs operations in flight at once, probably just doing extra work");var n=xe.getMounts(xe.root.mount),r=0;function i(e){return xe.syncFSRequests--,t(e)}function a(e){if(e)return a.errored?void 0:(a.errored=!0,i(e));++r>=n.length&&i(null)}n.forEach((function(t){if(!t.type.syncfs)return a(null);t.type.syncfs(t,e,a)}))},mount:function(e,t,n){var r,i="/"===n,a=!n;if(i&&xe.root)throw new xe.ErrnoError(10);if(!i&&!a){var s=xe.lookupPath(n,{follow_mount:!1});if(n=s.path,r=s.node,xe.isMountpoint(r))throw new xe.ErrnoError(10);if(!xe.isDir(r.mode))throw new xe.ErrnoError(54)}var o={type:e,opts:t,mountpoint:n,mounts:[]},l=e.mount(o);return l.mount=o,o.root=l,i?xe.root=l:r&&(r.mounted=o,r.mount&&r.mount.mounts.push(o)),l},unmount:function(e){var t=xe.lookupPath(e,{follow_mount:!1});if(!xe.isMountpoint(t.node))throw new xe.ErrnoError(28);var n=t.node,r=n.mounted,i=xe.getMounts(r);Object.keys(xe.nameTable).forEach((function(e){for(var t=xe.nameTable[e];t;){var n=t.name_next;i.includes(t.mount)&&xe.destroyNode(t),t=n}})),n.mounted=null;var a=n.mount.mounts.indexOf(r);n.mount.mounts.splice(a,1)},lookup:function(e,t){return e.node_ops.lookup(e,t)},mknod:function(e,t,n){var r=xe.lookupPath(e,{parent:!0}).node,i=Ce.basename(e);if(!i||"."===i||".."===i)throw new xe.ErrnoError(28);var a=xe.mayCreate(r,i);if(a)throw new xe.ErrnoError(a);if(!r.node_ops.mknod)throw new xe.ErrnoError(63);return r.node_ops.mknod(r,i,t,n)},create:function(e,t){return t=void 0!==t?t:438,t&=4095,t|=32768,xe.mknod(e,t,0)},mkdir:function(e,t){return t=void 0!==t?t:511,t&=1023,t|=16384,xe.mknod(e,t,0)},mkdirTree:function(e,t){for(var n=e.split("/"),r="",i=0;i>>=0,r<0||i<0)throw new xe.ErrnoError(28);if(xe.isClosed(e))throw new xe.ErrnoError(8);if(1==(2097155&e.flags))throw new xe.ErrnoError(8);if(xe.isDir(e.node.mode))throw new xe.ErrnoError(31);if(!e.stream_ops.read)throw new xe.ErrnoError(28);var a=void 0!==i;if(a){if(!e.seekable)throw new xe.ErrnoError(70)}else i=e.position;var s=e.stream_ops.read(e,t,n,r,i);return a||(e.position+=s),s},write:function(e,t,n,r,i,a){if(n>>>=0,r<0||i<0)throw new xe.ErrnoError(28);if(xe.isClosed(e))throw new xe.ErrnoError(8);if(0==(2097155&e.flags))throw new xe.ErrnoError(8);if(xe.isDir(e.node.mode))throw new xe.ErrnoError(31);if(!e.stream_ops.write)throw new xe.ErrnoError(28);e.seekable&&1024&e.flags&&xe.llseek(e,0,2);var s=void 0!==i;if(s){if(!e.seekable)throw new xe.ErrnoError(70)}else i=e.position;var o=e.stream_ops.write(e,t,n,r,i,a);return s||(e.position+=o),o},allocate:function(e,t,n){if(xe.isClosed(e))throw new xe.ErrnoError(8);if(t<0||n<=0)throw new xe.ErrnoError(28);if(0==(2097155&e.flags))throw new xe.ErrnoError(8);if(!xe.isFile(e.node.mode)&&!xe.isDir(e.node.mode))throw new xe.ErrnoError(43);if(!e.stream_ops.allocate)throw new xe.ErrnoError(138);e.stream_ops.allocate(e,t,n)},mmap:function(e,t,n,r,i){if(0!=(2&r)&&0==(2&i)&&2!=(2097155&e.flags))throw new xe.ErrnoError(2);if(1==(2097155&e.flags))throw new xe.ErrnoError(2);if(!e.stream_ops.mmap)throw new xe.ErrnoError(43);return e.stream_ops.mmap(e,t,n,r,i)},msync:function(e,t,n,r,i){return n>>>=0,e.stream_ops.msync?e.stream_ops.msync(e,t,n,r,i):0},munmap:function(e){return 0},ioctl:function(e,t,n){if(!e.stream_ops.ioctl)throw new xe.ErrnoError(59);return e.stream_ops.ioctl(e,t,n)},readFile:function(e){var t,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(n.flags=n.flags||0,n.encoding=n.encoding||"binary","utf8"!==n.encoding&&"binary"!==n.encoding)throw new Error('Invalid encoding type "'+n.encoding+'"');var r=xe.open(e,n.flags),i=xe.stat(e),a=i.size,s=new Uint8Array(a);return xe.read(r,s,0,a,0),"utf8"===n.encoding?t=z(s,0):"binary"===n.encoding&&(t=s),xe.close(r),t},writeFile:function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};n.flags=n.flags||577;var r=xe.open(e,n.flags,n.mode);if("string"==typeof t){var i=new Uint8Array(q(t)+1),a=Y(t,i,0,i.length);xe.write(r,i,0,a,void 0,n.canOwn)}else{if(!ArrayBuffer.isView(t))throw new Error("Unsupported data type");xe.write(r,t,0,t.byteLength,void 0,n.canOwn)}xe.close(r)},cwd:function(){return xe.currentPath},chdir:function(e){var t=xe.lookupPath(e,{follow:!0});if(null===t.node)throw new xe.ErrnoError(44);if(!xe.isDir(t.node.mode))throw new xe.ErrnoError(54);var n=xe.nodePermissions(t.node,"x");if(n)throw new xe.ErrnoError(n);xe.currentPath=t.path},createDefaultDirectories:function(){xe.mkdir("/tmp"),xe.mkdir("/home"),xe.mkdir("/home/web_user")},createDefaultDevices:function(){xe.mkdir("/dev"),xe.registerDevice(xe.makedev(1,3),{read:function(){return 0},write:function(e,t,n,r,i){return r}}),xe.mkdev("/dev/null",xe.makedev(1,3)),Se.register(xe.makedev(5,0),Se.default_tty_ops),Se.register(xe.makedev(6,0),Se.default_tty1_ops),xe.mkdev("/dev/tty",xe.makedev(5,0)),xe.mkdev("/dev/tty1",xe.makedev(6,0));var e=_e();xe.createDevice("/dev","random",e),xe.createDevice("/dev","urandom",e),xe.mkdir("/dev/shm"),xe.mkdir("/dev/shm/tmp")},createSpecialDirectories:function(){xe.mkdir("/proc");var e=xe.mkdir("/proc/self");xe.mkdir("/proc/self/fd"),xe.mount({mount:function(){var t=xe.createNode(e,"fd",16895,73);return t.node_ops={lookup:function(e,t){var n=+t,r=xe.getStream(n);if(!r)throw new xe.ErrnoError(8);var i={parent:null,mount:{mountpoint:"fake"},node_ops:{readlink:function(){return r.path}}};return i.parent=i,i}},t}},{},"/proc/self/fd")},createStandardStreams:function(){d.stdin?xe.createDevice("/dev","stdin",d.stdin):xe.symlink("/dev/tty","/dev/stdin"),d.stdout?xe.createDevice("/dev","stdout",null,d.stdout):xe.symlink("/dev/tty","/dev/stdout"),d.stderr?xe.createDevice("/dev","stderr",null,d.stderr):xe.symlink("/dev/tty1","/dev/stderr"),xe.open("/dev/stdin",0),xe.open("/dev/stdout",1),xe.open("/dev/stderr",1)},ensureErrnoError:function(){xe.ErrnoError||(xe.ErrnoError=function(e,t){this.node=t,this.setErrno=function(e){this.errno=e},this.setErrno(e),this.message="FS error"},xe.ErrnoError.prototype=new Error,xe.ErrnoError.prototype.constructor=xe.ErrnoError,[44].forEach((function(e){xe.genericErrors[e]=new xe.ErrnoError(e),xe.genericErrors[e].stack=""})))},staticInit:function(){xe.ensureErrnoError(),xe.nameTable=new Array(4096),xe.mount(Le,{},"/"),xe.createDefaultDirectories(),xe.createDefaultDevices(),xe.createSpecialDirectories(),xe.filesystems={MEMFS:Le}},init:function(e,t,n){xe.init.initialized=!0,xe.ensureErrnoError(),d.stdin=e||d.stdin,d.stdout=t||d.stdout,d.stderr=n||d.stderr,xe.createStandardStreams()},quit:function(){xe.init.initialized=!1;for(var e=0;ethis.length-1||e<0)){var t=e%this.chunkSize,n=e/this.chunkSize|0;return this.getter(n)[t]}},s.prototype.setDataGetter=function(e){this.getter=e},s.prototype.cacheLength=function(){var e=new XMLHttpRequest;if(e.open("HEAD",r,!1),e.send(null),!(e.status>=200&&e.status<300||304===e.status))throw new Error("Couldn't load "+r+". Status: "+e.status);var t,n=Number(e.getResponseHeader("Content-length")),i=(t=e.getResponseHeader("Accept-Ranges"))&&"bytes"===t,a=(t=e.getResponseHeader("Content-Encoding"))&&"gzip"===t,s=1048576;i||(s=n);var o=this;o.setDataGetter((function(e){var t=e*s,i=(e+1)*s-1;if(i=Math.min(i,n-1),void 0===o.chunks[e]&&(o.chunks[e]=function(e,t){if(e>t)throw new Error("invalid range ("+e+", "+t+") or no bytes requested!");if(t>n-1)throw new Error("only "+n+" bytes available! programmer error!");var i=new XMLHttpRequest;if(i.open("GET",r,!1),n!==s&&i.setRequestHeader("Range","bytes="+e+"-"+t),i.responseType="arraybuffer",i.overrideMimeType&&i.overrideMimeType("text/plain; charset=x-user-defined"),i.send(null),!(i.status>=200&&i.status<300||304===i.status))throw new Error("Couldn't load "+r+". Status: "+i.status);return void 0!==i.response?new Uint8Array(i.response||[]):Oe(i.responseText||"",!0)}(t,i)),void 0===o.chunks[e])throw new Error("doXHR failed!");return o.chunks[e]})),!a&&n||(s=n=1,n=this.getter(0).length,s=n,_("LazyFiles on gzip forces download of the whole file when length is accessed")),this._length=n,this._chunkSize=s,this.lengthKnown=!0},"undefined"!=typeof XMLHttpRequest){if(!E)throw"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc";var o=new s;Object.defineProperties(o,{length:{get:function(){return this.lengthKnown||this.cacheLength(),this._length}},chunkSize:{get:function(){return this.lengthKnown||this.cacheLength(),this._chunkSize}}});var l={isDevice:!1,contents:o}}else l={isDevice:!1,url:r};var u=xe.createFile(e,n,l,i,a);l.contents?u.contents=l.contents:l.url&&(u.contents=null,u.url=l.url),Object.defineProperties(u,{usedBytes:{get:function(){return this.contents.length}}});var c={};function f(e,t,n,r,i){var a=e.node.contents;if(i>=a.length)return 0;var s=Math.min(a.length-i,r);if(a.slice)for(var o=0;o1&&void 0!==arguments[1]?arguments[1]:function(){},n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:function(){},r=xe.indexedDB();try{var i=r.open(xe.DB_NAME(),xe.DB_VERSION)}catch(e){return n(e)}i.onupgradeneeded=function(){_("creating db"),i.result.createObjectStore(xe.DB_STORE_NAME)},i.onsuccess=function(){var r=i.result.transaction([xe.DB_STORE_NAME],"readwrite"),a=r.objectStore(xe.DB_STORE_NAME),s=0,o=0,l=e.length;function u(){0==o?t():n()}e.forEach((function(e){var t=a.put(xe.analyzePath(e).object.contents,e);t.onsuccess=function(){++s+o==l&&u()},t.onerror=function(){o++,s+o==l&&u()}})),r.onerror=n},i.onerror=n},loadFilesFromDB:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:function(){},n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:function(){},r=xe.indexedDB();try{var i=r.open(xe.DB_NAME(),xe.DB_VERSION)}catch(e){return n(e)}i.onupgradeneeded=n,i.onsuccess=function(){var r=i.result;try{var a=r.transaction([xe.DB_STORE_NAME],"readonly")}catch(e){return void n(e)}var s=a.objectStore(xe.DB_STORE_NAME),o=0,l=0,u=e.length;function c(){0==l?t():n()}e.forEach((function(e){var t=s.get(e);t.onsuccess=function(){xe.analyzePath(e).exists&&xe.unlink(e),xe.createDataFile(Ce.dirname(e),Ce.basename(e),t.result,!0,!0,!0),++o+l==u&&c()},t.onerror=function(){l++,o+l==u&&c()}})),a.onerror=n},i.onerror=n}},Fe={DEFAULT_POLLMASK:5,calculateAt:function(e,t,n){if(Ce.isAbs(t))return t;var r;if(r=-100===e?xe.cwd():Fe.getStreamFromFD(e).path,0==t.length){if(!n)throw new xe.ErrnoError(44);return r}return Ce.join2(r,t)},doStat:function(e,t,n){try{var r=e(t)}catch(e){if(e&&e.node&&Ce.normalize(t)!==Ce.normalize(xe.getPath(e.node)))return-54;throw e}s()[n>>>2]=r.dev,s()[n+8>>>2]=r.ino,s()[n+12>>>2]=r.mode,o()[n+16>>>2]=r.nlink,s()[n+20>>>2]=r.uid,s()[n+24>>>2]=r.gid,s()[n+28>>>2]=r.rdev,Ie=[r.size>>>0,(he=r.size,+Math.abs(he)>=1?he>0?(0|Math.min(+Math.floor(he/4294967296),4294967295))>>>0:~~+Math.ceil((he-+(~~he>>>0))/4294967296)>>>0:0)],s()[n+40>>>2]=Ie[0],s()[n+44>>>2]=Ie[1],s()[n+48>>>2]=4096,s()[n+52>>>2]=r.blocks;var i=r.atime.getTime(),a=r.mtime.getTime(),l=r.ctime.getTime();return Ie=[Math.floor(i/1e3)>>>0,(he=Math.floor(i/1e3),+Math.abs(he)>=1?he>0?(0|Math.min(+Math.floor(he/4294967296),4294967295))>>>0:~~+Math.ceil((he-+(~~he>>>0))/4294967296)>>>0:0)],s()[n+56>>>2]=Ie[0],s()[n+60>>>2]=Ie[1],o()[n+64>>>2]=i%1e3*1e3,Ie=[Math.floor(a/1e3)>>>0,(he=Math.floor(a/1e3),+Math.abs(he)>=1?he>0?(0|Math.min(+Math.floor(he/4294967296),4294967295))>>>0:~~+Math.ceil((he-+(~~he>>>0))/4294967296)>>>0:0)],s()[n+72>>>2]=Ie[0],s()[n+76>>>2]=Ie[1],o()[n+80>>>2]=a%1e3*1e3,Ie=[Math.floor(l/1e3)>>>0,(he=Math.floor(l/1e3),+Math.abs(he)>=1?he>0?(0|Math.min(+Math.floor(he/4294967296),4294967295))>>>0:~~+Math.ceil((he-+(~~he>>>0))/4294967296)>>>0:0)],s()[n+88>>>2]=Ie[0],s()[n+92>>>2]=Ie[1],o()[n+96>>>2]=l%1e3*1e3,Ie=[r.ino>>>0,(he=r.ino,+Math.abs(he)>=1?he>0?(0|Math.min(+Math.floor(he/4294967296),4294967295))>>>0:~~+Math.ceil((he-+(~~he>>>0))/4294967296)>>>0:0)],s()[n+104>>>2]=Ie[0],s()[n+108>>>2]=Ie[1],0},doMsync:function(e,t,n,i,a){if(!xe.isFile(t.node.mode))throw new xe.ErrnoError(43);if(2&i)return 0;e>>>=0;var s=r().slice(e,e+n);xe.msync(t,s,a,n,i)},varargs:void 0,get:function(){return Fe.varargs+=4,s()[Fe.varargs-4>>>2]},getStr:function(e){return K(e)},getStreamFromFD:function(e){var t=xe.getStream(e);if(!t)throw new xe.ErrnoError(8);return t}};function He(e){if(D)return Hr(1,1,e);L=e,re()||(je.terminateAllThreads(),d.onExit&&d.onExit(e),M=!0),w(e,new Te(e))}function Ue(e,t){if(L=e,!t&&D)throw We(e),"unwind";He(e)}var Ge=Ue;function ke(e){if(e instanceof Te||"unwind"==e)return L;w(1,e)}var je={unusedWorkers:[],runningWorkers:[],tlsInitFunctions:[],pthreads:{},init:function(){D?je.initWorker():je.initMainThread()},initMainThread:function(){for(var e=navigator.hardwareConcurrency;e--;)je.allocateUnusedWorker()},initWorker:function(){N=!1},setExitStatus:function(e){L=e},terminateAllThreads:function(){for(var e=0,t=Object.values(je.pthreads);e0;)e.shift()(d)}function Qe(){var e=Ii(),t=s()[e+52>>>2],n=s()[e+56>>>2];Pi(t,t-n),Ci(t)}function We(e){if(D)return Hr(2,0,e);try{Ge(e)}catch(e){ke(e)}}d.PThread=je,d.establishStackSpace=Qe;var ze=[];function Ke(e){var t=ze[e];return t||(e>=ze.length&&(ze.length=e+1),ze[e]=t=Z.get(e)),t}function Ye(e,t){var n=Ke(e)(t);re()?je.setExitStatus(n):bi(n)}function Xe(e){je.tlsInitFunctions.push(e)}function qe(e){this.excPtr=e,this.ptr=e-24,this.set_type=function(e){o()[this.ptr+4>>>2]=e},this.get_type=function(){return o()[this.ptr+4>>>2]},this.set_destructor=function(e){o()[this.ptr+8>>>2]=e},this.get_destructor=function(){return o()[this.ptr+8>>>2]},this.set_refcount=function(e){s()[this.ptr>>>2]=e},this.set_caught=function(e){e=e?1:0,t()[this.ptr+12>>>0]=e},this.get_caught=function(){return 0!=t()[this.ptr+12>>>0]},this.set_rethrown=function(e){e=e?1:0,t()[this.ptr+13>>>0]=e},this.get_rethrown=function(){return 0!=t()[this.ptr+13>>>0]},this.init=function(e,t){this.set_adjusted_ptr(0),this.set_type(e),this.set_destructor(t),this.set_refcount(0),this.set_caught(!1),this.set_rethrown(!1)},this.add_ref=function(){Atomics.add(s(),this.ptr+0>>2,1)},this.release_ref=function(){return 1===Atomics.sub(s(),this.ptr+0>>2,1)},this.set_adjusted_ptr=function(e){o()[this.ptr+16>>>2]=e},this.get_adjusted_ptr=function(){return o()[this.ptr+16>>>2]},this.get_exception_ptr=function(){if(Bi(this.get_type()))return o()[this.excPtr>>>2];var e=this.get_adjusted_ptr();return 0!==e?e:this.excPtr}}function Je(e,t,n){throw new qe(e).init(t,n),e}function Ze(e){mi(e,!E,1,!g),je.threadInitTLS()}function $e(e){D?postMessage({cmd:"cleanupThread",thread:e}):Pe(e)}function et(e){}d.invokeEntryPoint=Ye;var tt="To use dlopen, you need enable dynamic linking, see https://github.com/emscripten-core/emscripten/wiki/Linking";function nt(e){de(tt)}function rt(e,t){de(tt)}var it={};function at(e){for(;e.length;){var t=e.pop();e.pop()(t)}}function st(e){return this.fromWireType(s()[e>>>2])}var ot={},lt={},ut={},ct=48,ft=57;function pt(e){if(void 0===e)return"_unknown";var t=(e=e.replace(/[^a-zA-Z0-9_]/g,"$")).charCodeAt(0);return t>=ct&&t<=ft?"_"+e:e}function At(e,t){return e=pt(e),new Function("body","return function "+e+'() {\n "use strict"; return body.apply(this, arguments);\n};\n')(t)}function dt(e,t){var n=At(t,(function(e){this.name=t,this.message=e;var n=new Error(e).stack;void 0!==n&&(this.stack=this.toString()+"\n"+n.replace(/^Error(:[^\n]*)?\n/,""))}));return n.prototype=Object.create(e.prototype),n.prototype.constructor=n,n.prototype.toString=function(){return void 0===this.message?this.name:this.name+": "+this.message},n}var vt=void 0;function ht(e){throw new vt(e)}function It(e,t,n){function r(t){var r=n(t);r.length!==e.length&&ht("Mismatched type converter count");for(var i=0;i>>0];)t+=bt[r()[n++>>>0]];return t}var Pt=void 0;function Rt(e){throw new Pt(e)}function Ct(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};if(!("argPackAdvance"in t))throw new TypeError("registerType registeredInstance requires argPackAdvance");var r=t.name;if(e||Rt('type "'+r+'" must have a positive integer typeid pointer'),lt.hasOwnProperty(e)){if(n.ignoreDuplicateRegistrations)return;Rt("Cannot register type '"+r+"' twice")}if(lt[e]=t,delete ut[e],ot.hasOwnProperty(e)){var i=ot[e];delete ot[e],i.forEach((function(e){return e()}))}}function _t(e,n,r,a,o){var l=Et(r);Ct(e,{name:n=Dt(n),fromWireType:function(e){return!!e},toWireType:function(e,t){return t?a:o},argPackAdvance:8,readValueFromPointer:function(e){var a;if(1===r)a=t();else if(2===r)a=i();else{if(4!==r)throw new TypeError("Unknown boolean type size: "+n);a=s()}return this.fromWireType(a[e>>>l])},destructorFunction:null})}function Bt(e){if(!(this instanceof rn))return!1;if(!(e instanceof rn))return!1;for(var t=this.$$.ptrType.registeredClass,n=this.$$.ptr,r=e.$$.ptrType.registeredClass,i=e.$$.ptr;t.baseClass;)n=t.upcast(n),t=t.baseClass;for(;r.baseClass;)i=r.upcast(i),r=r.baseClass;return t===r&&n===i}function Ot(e){return{count:e.count,deleteScheduled:e.deleteScheduled,preservePointerOnDelete:e.preservePointerOnDelete,ptr:e.ptr,ptrType:e.ptrType,smartPtr:e.smartPtr,smartPtrType:e.smartPtrType}}function St(e){Rt(e.$$.ptrType.registeredClass.name+" instance already deleted")}var Nt=!1;function Lt(e){}function Mt(e){e.smartPtr?e.smartPtrType.rawDestructor(e.smartPtr):e.ptrType.registeredClass.rawDestructor(e.ptr)}function xt(e){e.count.value-=1,0===e.count.value&&Mt(e)}function Ft(e,t,n){if(t===n)return e;if(void 0===n.baseClass)return null;var r=Ft(e,t,n.baseClass);return null===r?null:n.downcast(r)}var Ht={};function Ut(){return Object.keys(zt).length}function Gt(){var e=[];for(var t in zt)zt.hasOwnProperty(t)&&e.push(zt[t]);return e}var kt=[];function jt(){for(;kt.length;){var e=kt.pop();e.$$.deleteScheduled=!1,e.delete()}}var Vt=void 0;function Qt(e){Vt=e,kt.length&&Vt&&Vt(jt)}function Wt(){d.getInheritedInstanceCount=Ut,d.getLiveInheritedInstances=Gt,d.flushPendingDeletes=jt,d.setDelayFunction=Qt}var zt={};function Kt(e,t){for(void 0===t&&Rt("ptr should not be undefined");e.baseClass;)t=e.upcast(t),e=e.baseClass;return t}function Yt(e,t){return t=Kt(e,t),zt[t]}function Xt(e,t){return t.ptrType&&t.ptr||ht("makeClassHandle requires ptr and ptrType"),!!t.smartPtrType!=!!t.smartPtr&&ht("Both smartPtrType and smartPtr must be specified"),t.count={value:1},Jt(Object.create(e,{$$:{value:t}}))}function qt(e){var t=this.getPointee(e);if(!t)return this.destructor(e),null;var n=Yt(this.registeredClass,t);if(void 0!==n){if(0===n.$$.count.value)return n.$$.ptr=t,n.$$.smartPtr=e,n.clone();var r=n.clone();return this.destructor(e),r}function i(){return this.isSmartPointer?Xt(this.registeredClass.instancePrototype,{ptrType:this.pointeeType,ptr:t,smartPtrType:this,smartPtr:e}):Xt(this.registeredClass.instancePrototype,{ptrType:this,ptr:e})}var a,s=this.registeredClass.getActualType(t),o=Ht[s];if(!o)return i.call(this);a=this.isConst?o.constPointerType:o.pointerType;var l=Ft(t,this.registeredClass,a.registeredClass);return null===l?i.call(this):this.isSmartPointer?Xt(a.registeredClass.instancePrototype,{ptrType:a,ptr:l,smartPtrType:this,smartPtr:e}):Xt(a.registeredClass.instancePrototype,{ptrType:a,ptr:l})}function Jt(e){return"undefined"==typeof FinalizationRegistry?(Jt=function(e){return e},e):(Nt=new FinalizationRegistry((function(e){xt(e.$$)})),Lt=function(e){return Nt.unregister(e)},(Jt=function(e){var t=e.$$;if(t.smartPtr){var n={$$:t};Nt.register(e,n,e)}return e})(e))}function Zt(){if(this.$$.ptr||St(this),this.$$.preservePointerOnDelete)return this.$$.count.value+=1,this;var e=Jt(Object.create(Object.getPrototypeOf(this),{$$:{value:Ot(this.$$)}}));return e.$$.count.value+=1,e.$$.deleteScheduled=!1,e}function $t(){this.$$.ptr||St(this),this.$$.deleteScheduled&&!this.$$.preservePointerOnDelete&&Rt("Object already scheduled for deletion"),Lt(this),xt(this.$$),this.$$.preservePointerOnDelete||(this.$$.smartPtr=void 0,this.$$.ptr=void 0)}function en(){return!this.$$.ptr}function tn(){return this.$$.ptr||St(this),this.$$.deleteScheduled&&!this.$$.preservePointerOnDelete&&Rt("Object already scheduled for deletion"),kt.push(this),1===kt.length&&Vt&&Vt(jt),this.$$.deleteScheduled=!0,this}function nn(){rn.prototype.isAliasOf=Bt,rn.prototype.clone=Zt,rn.prototype.delete=$t,rn.prototype.isDeleted=en,rn.prototype.deleteLater=tn}function rn(){}function an(e,t,n){if(void 0===e[t].overloadTable){var r=e[t];e[t]=function(){return e[t].overloadTable.hasOwnProperty(arguments.length)||Rt("Function '"+n+"' called with an invalid number of arguments ("+arguments.length+") - expects one of ("+e[t].overloadTable+")!"),e[t].overloadTable[arguments.length].apply(this,arguments)},e[t].overloadTable=[],e[t].overloadTable[r.argCount]=r}}function sn(e,t,n){d.hasOwnProperty(e)?((void 0===n||void 0!==d[e].overloadTable&&void 0!==d[e].overloadTable[n])&&Rt("Cannot register public name '"+e+"' twice"),an(d,e,e),d.hasOwnProperty(n)&&Rt("Cannot register multiple overloads of a function with the same number of arguments ("+n+")!"),d[e].overloadTable[n]=t):(d[e]=t,void 0!==n&&(d[e].numArguments=n))}function on(e,t,n,r,i,a,s,o){this.name=e,this.constructor=t,this.instancePrototype=n,this.rawDestructor=r,this.baseClass=i,this.getActualType=a,this.upcast=s,this.downcast=o,this.pureVirtualFunctions=[]}function ln(e,t,n){for(;t!==n;)t.upcast||Rt("Expected null or instance of "+n.name+", got an instance of "+t.name),e=t.upcast(e),t=t.baseClass;return e}function un(e,t){if(null===t)return this.isReference&&Rt("null is not a valid "+this.name),0;t.$$||Rt('Cannot pass "'+Vn(t)+'" as a '+this.name),t.$$.ptr||Rt("Cannot pass deleted object as a pointer of type "+this.name);var n=t.$$.ptrType.registeredClass;return ln(t.$$.ptr,n,this.registeredClass)}function cn(e,t){var n;if(null===t)return this.isReference&&Rt("null is not a valid "+this.name),this.isSmartPointer?(n=this.rawConstructor(),null!==e&&e.push(this.rawDestructor,n),n):0;t.$$||Rt('Cannot pass "'+Vn(t)+'" as a '+this.name),t.$$.ptr||Rt("Cannot pass deleted object as a pointer of type "+this.name),!this.isConst&&t.$$.ptrType.isConst&&Rt("Cannot convert argument of type "+(t.$$.smartPtrType?t.$$.smartPtrType.name:t.$$.ptrType.name)+" to parameter type "+this.name);var r=t.$$.ptrType.registeredClass;if(n=ln(t.$$.ptr,r,this.registeredClass),this.isSmartPointer)switch(void 0===t.$$.smartPtr&&Rt("Passing raw pointer to smart pointer is illegal"),this.sharingPolicy){case 0:t.$$.smartPtrType===this?n=t.$$.smartPtr:Rt("Cannot convert argument of type "+(t.$$.smartPtrType?t.$$.smartPtrType.name:t.$$.ptrType.name)+" to parameter type "+this.name);break;case 1:n=t.$$.smartPtr;break;case 2:if(t.$$.smartPtrType===this)n=t.$$.smartPtr;else{var i=t.clone();n=this.rawShare(n,Fn.toHandle((function(){i.delete()}))),null!==e&&e.push(this.rawDestructor,n)}break;default:Rt("Unsupporting sharing policy")}return n}function fn(e,t){if(null===t)return this.isReference&&Rt("null is not a valid "+this.name),0;t.$$||Rt('Cannot pass "'+Vn(t)+'" as a '+this.name),t.$$.ptr||Rt("Cannot pass deleted object as a pointer of type "+this.name),t.$$.ptrType.isConst&&Rt("Cannot convert argument of type "+t.$$.ptrType.name+" to parameter type "+this.name);var n=t.$$.ptrType.registeredClass;return ln(t.$$.ptr,n,this.registeredClass)}function pn(e){return this.rawGetPointee&&(e=this.rawGetPointee(e)),e}function An(e){this.rawDestructor&&this.rawDestructor(e)}function dn(e){null!==e&&e.delete()}function vn(){hn.prototype.getPointee=pn,hn.prototype.destructor=An,hn.prototype.argPackAdvance=8,hn.prototype.readValueFromPointer=st,hn.prototype.deleteObject=dn,hn.prototype.fromWireType=qt}function hn(e,t,n,r,i,a,s,o,l,u,c){this.name=e,this.registeredClass=t,this.isReference=n,this.isConst=r,this.isSmartPointer=i,this.pointeeType=a,this.sharingPolicy=s,this.rawGetPointee=o,this.rawConstructor=l,this.rawShare=u,this.rawDestructor=c,i||void 0!==t.baseClass?this.toWireType=cn:r?(this.toWireType=un,this.destructorFunction=null):(this.toWireType=fn,this.destructorFunction=null)}function In(e,t,n){d.hasOwnProperty(e)||ht("Replacing nonexistant public symbol"),void 0!==d[e].overloadTable&&void 0!==n?d[e].overloadTable[n]=t:(d[e]=t,d[e].argCount=n)}function yn(e,t,n){var r=d["dynCall_"+e];return n&&n.length?r.apply(null,[t].concat(n)):r.call(null,t)}function mn(e,t,n){return e.includes("j")?yn(e,t,n):Ke(t).apply(null,n)}function wn(e,t){var n=[];return function(){return n.length=0,Object.assign(n,arguments),mn(e,t,n)}}function gn(e,t){var n=(e=Dt(e)).includes("j")?wn(e,t):Ke(t);return"function"!=typeof n&&Rt("unknown function pointer with signature "+e+": "+t),n}var En=void 0;function Tn(e){var t=yi(e),n=Dt(t);return Di(t),n}function bn(e,t){var n=[],r={};throw t.forEach((function e(t){r[t]||lt[t]||(ut[t]?ut[t].forEach(e):(n.push(t),r[t]=!0))})),new En(e+": "+n.map(Tn).join([", "]))}function Dn(e,t,n,r,i,a,s,o,l,u,c,f,p){c=Dt(c),a=gn(i,a),o&&(o=gn(s,o)),u&&(u=gn(l,u)),p=gn(f,p);var A=pt(c);sn(A,(function(){bn("Cannot construct "+c+" due to unbound types",[r])})),It([e,t,n],r?[r]:[],(function(t){var n,i;t=t[0],i=r?(n=t.registeredClass).instancePrototype:rn.prototype;var s=At(A,(function(){if(Object.getPrototypeOf(this)!==l)throw new Pt("Use 'new' to construct "+c);if(void 0===f.constructor_body)throw new Pt(c+" has no accessible constructor");var e=f.constructor_body[arguments.length];if(void 0===e)throw new Pt("Tried to invoke ctor of "+c+" with invalid number of parameters ("+arguments.length+") - expected ("+Object.keys(f.constructor_body).toString()+") parameters instead!");return e.apply(this,arguments)})),l=Object.create(i,{constructor:{value:s}});s.prototype=l;var f=new on(c,s,l,p,n,a,o,u),d=new hn(c,f,!0,!1,!1),v=new hn(c+"*",f,!1,!1,!1),h=new hn(c+" const*",f,!1,!0,!1);return Ht[e]={pointerType:v,constPointerType:h},In(A,s),[d,v,h]}))}function Pn(e,t){for(var n=[],r=0;r>>2]);return n}function Rn(e,t){if(!(e instanceof Function))throw new TypeError("new_ called with constructor type "+T(e)+" which is not a function");var n=At(e.name||"unknownFunctionName",(function(){}));n.prototype=e.prototype;var r=new n,i=e.apply(r,t);return i instanceof Object?i:r}function Cn(e,t,n,r,i){var a=t.length;a<2&&Rt("argTypes array size mismatch! Must at least get return value and 'this' types!");for(var s=null!==t[1]&&null!==n,o=!1,l=1;l0?", ":"")+f),p+=(u?"var rv = ":"")+"invoker(fn"+(f.length>0?", ":"")+f+");\n",o)p+="runDestructors(destructors);\n";else for(l=s?1:2;l0);var s=Pn(t,n);i=gn(r,i),It([],[e],(function(e){var n="constructor "+(e=e[0]).name;if(void 0===e.registeredClass.constructor_body&&(e.registeredClass.constructor_body=[]),void 0!==e.registeredClass.constructor_body[t-1])throw new Pt("Cannot register multiple constructors with identical number of parameters ("+(t-1)+") for class '"+e.name+"'! Overload resolution is currently only performed using the parameter count, not actual type info!");return e.registeredClass.constructor_body[t-1]=function(){bn("Cannot construct "+e.name+" due to unbound types",s)},It([],s,(function(r){return r.splice(1,0,null),e.registeredClass.constructor_body[t-1]=Cn(n,r,null,i,a),[]})),[]}))}function Bn(e,t,n,r,i,a,s,o){var l=Pn(n,r);t=Dt(t),a=gn(i,a),It([],[e],(function(e){var r=(e=e[0]).name+"."+t;function i(){bn("Cannot call "+r+" due to unbound types",l)}t.startsWith("@@")&&(t=Symbol[t.substring(2)]),o&&e.registeredClass.pureVirtualFunctions.push(t);var u=e.registeredClass.instancePrototype,c=u[t];return void 0===c||void 0===c.overloadTable&&c.className!==e.name&&c.argCount===n-2?(i.argCount=n-2,i.className=e.name,u[t]=i):(an(u,t,r),u[t].overloadTable[n-2]=i),It([],l,(function(i){var o=Cn(r,i,e,a,s);return void 0===u[t].overloadTable?(o.argCount=n-2,u[t]=o):u[t].overloadTable[n-2]=o,[]})),[]}))}var On=[],Sn=[{},{value:void 0},{value:null},{value:!0},{value:!1}];function Nn(e){e>4&&0==--Sn[e].refcount&&(Sn[e]=void 0,On.push(e))}function Ln(){for(var e=0,t=5;t>>2])};case 3:return function(e){return this.fromWireType(u()[e>>>3])};default:throw new TypeError("Unknown float type: "+e)}}function Wn(e,t,n){var r=Et(n);Ct(e,{name:t=Dt(t),fromWireType:function(e){return e},toWireType:function(e,t){return t},argPackAdvance:8,readValueFromPointer:Qn(t,r),destructorFunction:null})}function zn(e,t,n,r,i,a){var s=Pn(t,n);e=Dt(e),i=gn(r,i),sn(e,(function(){bn("Cannot call "+e+" due to unbound types",s)}),t-1),It([],s,(function(n){var r=[n[0],null].concat(n.slice(1));return In(e,Cn(e,r,null,i,a),t-1),[]}))}function Kn(e,n,l){switch(n){case 0:return l?function(e){return t()[e>>>0]}:function(e){return r()[e>>>0]};case 1:return l?function(e){return i()[e>>>1]}:function(e){return a()[e>>>1]};case 2:return l?function(e){return s()[e>>>2]}:function(e){return o()[e>>>2]};default:throw new TypeError("Unknown integer type: "+e)}}function Yn(e,t,n,r,i){t=Dt(t);var a=Et(n),s=function(e){return e};if(0===r){var o=32-8*n;s=function(e){return e<>>o}}var l=t.includes("unsigned");Ct(e,{name:t,fromWireType:s,toWireType:l?function(e,t){return this.name,t>>>0}:function(e,t){return this.name,t},argPackAdvance:8,readValueFromPointer:Kn(t,a,0!==r),destructorFunction:null})}function Xn(e,t,n){var r=[Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array][t];function i(e){e>>=2;var t=o(),n=t[e>>>0],i=t[e+1>>>0];return new r(t.buffer,i,n)}Ct(e,{name:n=Dt(n),fromWireType:i,argPackAdvance:8,readValueFromPointer:i},{ignoreDuplicateRegistrations:!0})}function qn(e,t){var n="std::string"===(t=Dt(t));Ct(e,{name:t,fromWireType:function(e){var t,i=o()[e>>>2],a=e+4;if(n)for(var s=a,l=0;l<=i;++l){var u=a+l;if(l==i||0==r()[u>>>0]){var c=K(s,u-s);void 0===t?t=c:(t+=String.fromCharCode(0),t+=c),s=u+1}}else{var f=new Array(i);for(l=0;l>>0]);t=f.join("")}return Di(e),t},toWireType:function(e,t){var i;t instanceof ArrayBuffer&&(t=new Uint8Array(t));var a="string"==typeof t;a||t instanceof Uint8Array||t instanceof Uint8ClampedArray||t instanceof Int8Array||Rt("Cannot pass non-string to std::string"),i=n&&a?q(t):t.length;var s=hi(4+i+1),l=s+4;if(l>>>=0,o()[s>>>2]=i,n&&a)X(t,l,i+1);else if(a)for(var u=0;u255&&(Di(l),Rt("String has UTF-16 code units that do not fit in 8 bits")),r()[l+u>>>0]=c}else for(u=0;u>>0]=t[u];return null!==e&&e.push(Di,s),s},argPackAdvance:8,readValueFromPointer:st,destructorFunction:function(e){Di(e)}})}var Jn="undefined"!=typeof TextDecoder?new TextDecoder("utf-16le"):void 0;function Zn(e,t){for(var n=e,s=n>>1,o=s+t/2;!(s>=o)&&a()[s>>>0];)++s;if((n=s<<1)-e>32&&Jn)return Jn.decode(r().slice(e,n));for(var l="",u=0;!(u>=t/2);++u){var c=i()[e+2*u>>>1];if(0==c)break;l+=String.fromCharCode(c)}return l}function $n(e,t,n){if(void 0===n&&(n=2147483647),n<2)return 0;for(var r=t,a=(n-=2)<2*e.length?n/2:e.length,s=0;s>>1]=o,t+=2}return i()[t>>>1]=0,t-r}function er(e){return 2*e.length}function tr(e,t){for(var n=0,r="";!(n>=t/4);){var i=s()[e+4*n>>>2];if(0==i)break;if(++n,i>=65536){var a=i-65536;r+=String.fromCharCode(55296|a>>10,56320|1023&a)}else r+=String.fromCharCode(i)}return r}function nr(e,t,n){if(void 0===n&&(n=2147483647),n<4)return 0;for(var r=t>>>=0,i=r+n-4,a=0;a=55296&&o<=57343&&(o=65536+((1023&o)<<10)|1023&e.charCodeAt(++a)),s()[t>>>2]=o,(t+=4)+4>i)break}return s()[t>>>2]=0,t-r}function rr(e){for(var t=0,n=0;n=55296&&r<=57343&&++n,t+=4}return t}function ir(e,t,n){var r,i,s,l,u;n=Dt(n),2===t?(r=Zn,i=$n,l=er,s=function(){return a()},u=1):4===t&&(r=tr,i=nr,l=rr,s=function(){return o()},u=2),Ct(e,{name:n,fromWireType:function(e){for(var n,i=o()[e>>>2],a=s(),l=e+4,c=0;c<=i;++c){var f=e+4+c*t;if(c==i||0==a[f>>>u]){var p=r(l,f-l);void 0===n?n=p:(n+=String.fromCharCode(0),n+=p),l=f+t}}return Di(e),n},toWireType:function(e,r){"string"!=typeof r&&Rt("Cannot pass non-string to C++ string type "+n);var a=l(r),s=hi(4+a+t);return s>>>=0,o()[s>>>2]=a>>u,i(r,s+4,a+t),null!==e&&e.push(Di,s),s},argPackAdvance:8,readValueFromPointer:st,destructorFunction:function(e){Di(e)}})}function ar(e,t,n,r,i,a){it[e]={name:Dt(t),rawConstructor:gn(n,r),rawDestructor:gn(i,a),elements:[]}}function sr(e,t,n,r,i,a,s,o,l){it[e].elements.push({getterReturnType:t,getter:gn(n,r),getterContext:i,setterArgumentType:a,setter:gn(s,o),setterContext:l})}function or(e,t,n,r,i,a){mt[e]={name:Dt(t),rawConstructor:gn(n,r),rawDestructor:gn(i,a),fields:[]}}function lr(e,t,n,r,i,a,s,o,l,u){mt[e].fields.push({fieldName:Dt(t),getterReturnType:n,getter:gn(r,i),getterContext:a,setterArgumentType:s,setter:gn(o,l),setterContext:u})}function ur(e,t){Ct(e,{isVoid:!0,name:t=Dt(t),argPackAdvance:0,fromWireType:function(){},toWireType:function(e,t){}})}function cr(e){B(K(e))}function fr(e){Atomics.store(s(),e>>2,1),Ii()&&Ei(e),Atomics.compareExchange(s(),e>>2,1,0)}function pr(e,t,n,r){if(e==t)setTimeout((function(){return fr(r)}));else if(D)postMessage({targetThread:e,cmd:"processProxyingQueue",queue:r});else{var i=je.pthreads[e];if(!i)return;i.postMessage({cmd:"processProxyingQueue",queue:r})}return 1}function Ar(e,t,n){return-1}function dr(e,t,n){e=Fn.toValue(e),t=kn(t,"emval::as");var r=[],i=Fn.toHandle(r);return o()[n>>>2]=i,t.toWireType(r,e)}function vr(e,t){for(var n=new Array(e),r=0;r>>2],"parameter "+r);return n}function hr(e,t,n,r){e=Fn.toValue(e);for(var i=vr(t,n),a=new Array(t),s=0;s4&&(Sn[e].refcount+=1)}function br(e,t){return(e=Fn.toValue(e))instanceof(t=Fn.toValue(t))}function Dr(e){return"number"==typeof(e=Fn.toValue(e))}function Pr(e){return"string"==typeof(e=Fn.toValue(e))}function Rr(){return Fn.toHandle([])}function Cr(e){return Fn.toHandle(mr(e))}function _r(){return Fn.toHandle({})}function Br(e){at(Fn.toValue(e)),Nn(e)}function Or(e,t,n){e=Fn.toValue(e),t=Fn.toValue(t),n=Fn.toValue(n),e[t]=n}function Sr(e,t){var n=(e=kn(e,"_emval_take_value")).readValueFromPointer(t);return Fn.toHandle(n)}function Nr(){de("")}function Lr(e){Lr.shown||(Lr.shown={}),Lr.shown[e]||(Lr.shown[e]=1,B(e))}function Mr(){E||Lr("Blocking on the main thread is very dangerous, see https://emscripten.org/docs/porting/pthreads.html#blocking-on-the-main-browser-thread")}function xr(e,t,n){r().copyWithin(e>>>0,t>>>0,t+n>>>0)}function Fr(e){var t=Ri(),n=e();return Ci(t),n}function Hr(e,t){var n=arguments.length-2,r=arguments;return Fr((function(){for(var i=n,a=_i(8*i),s=a>>3,o=0;o>>0]=l}return gi(e,i,a,t)}))}Ir=function(){return performance.timeOrigin+performance.now()};var Ur=[];function Gr(e,t,n){Ur.length=t;for(var r=n>>3,i=0;i>>0];return di[e].apply(null,Ur)}function kr(e){var t=O.buffer;try{return O.grow(e-t.byteLength+65535>>>16),J(),1}catch(e){}}function jr(e){var t=r().length;if((e>>>=0)<=t)return!1;var n=4294901760;if(e>n)return!1;for(var i,a,s=1;s<=4;s*=2){var o=t*(1+.2/s);if(o=Math.min(o,e+100663296),kr(Math.min(n,(i=Math.max(e,o))+((a=65536)-i%a)%a)))return!0}return!1}function Vr(){throw"unwind"}var Qr={};function Wr(){return m||"./this.program"}function zr(){if(!zr.strings){var e={USER:"web_user",LOGNAME:"web_user",PATH:"/",PWD:"/",HOME:"/home/web_user",LANG:("object"==("undefined"==typeof navigator?"undefined":T(navigator))&&navigator.languages&&navigator.languages[0]||"C").replace("-","_")+".UTF-8",_:Wr()};for(var t in Qr)void 0===Qr[t]?delete e[t]:e[t]=Qr[t];var n=[];for(var t in e)n.push(t+"="+e[t]);zr.strings=n}return zr.strings}function Kr(e,n,r){for(var i=0;i>>0]=e.charCodeAt(i);r||(t()[n>>>0]=0)}function Yr(e,t){if(D)return Hr(3,1,e,t);var n=0;return zr().forEach((function(r,i){var a=t+n;o()[e+4*i>>>2]=a,Kr(r,a),n+=r.length+1})),0}function Xr(e,t){if(D)return Hr(4,1,e,t);var n=zr();o()[e>>>2]=n.length;var r=0;return n.forEach((function(e){r+=e.length+1})),o()[t>>>2]=r,0}function qr(e){if(D)return Hr(5,1,e);try{var t=Fe.getStreamFromFD(e);return xe.close(t),0}catch(e){if(void 0===xe||!(e instanceof xe.ErrnoError))throw e;return e.errno}}function Jr(e,n,r,i){for(var a=0,s=0;s>>2],u=o()[n+4>>>2];n+=8;var c=xe.read(e,t(),l,u,i);if(c<0)return-1;if(a+=c,c>>2]=i,0}catch(e){if(void 0===xe||!(e instanceof xe.ErrnoError))throw e;return e.errno}}function $r(e,t){return t+2097152>>>0<4194305-!!e?(e>>>0)+4294967296*t:NaN}function ei(e,t,n,r,i){if(D)return Hr(7,1,e,t,n,r,i);try{var a=$r(t,n);if(isNaN(a))return 61;var o=Fe.getStreamFromFD(e);return xe.llseek(o,a,r),Ie=[o.position>>>0,(he=o.position,+Math.abs(he)>=1?he>0?(0|Math.min(+Math.floor(he/4294967296),4294967295))>>>0:~~+Math.ceil((he-+(~~he>>>0))/4294967296)>>>0:0)],s()[i>>>2]=Ie[0],s()[i+4>>>2]=Ie[1],o.getdents&&0===a&&0===r&&(o.getdents=null),0}catch(e){if(void 0===xe||!(e instanceof xe.ErrnoError))throw e;return e.errno}}function ti(e,n,r,i){for(var a=0,s=0;s>>2],u=o()[n+4>>>2];n+=8;var c=xe.write(e,t(),l,u,i);if(c<0)return-1;a+=c,void 0!==i&&(i+=c)}return a}function ni(e,t,n,r){if(D)return Hr(8,1,e,t,n,r);try{var i=ti(Fe.getStreamFromFD(e),t,n);return o()[r>>>2]=i,0}catch(e){if(void 0===xe||!(e instanceof xe.ErrnoError))throw e;return e.errno}}function ri(e){return e%4==0&&(e%100!=0||e%400==0)}function ii(e,t){for(var n=0,r=0;r<=t;n+=e[r++]);return n}var ai=[31,29,31,30,31,30,31,31,30,31,30,31],si=[31,28,31,30,31,30,31,31,30,31,30,31];function oi(e,t){for(var n=new Date(e.getTime());t>0;){var r=ri(n.getFullYear()),i=n.getMonth(),a=(r?ai:si)[i];if(!(t>a-n.getDate()))return n.setDate(n.getDate()+t),n;t-=a-n.getDate()+1,n.setDate(1),i<11?n.setMonth(i+1):(n.setMonth(0),n.setFullYear(n.getFullYear()+1))}return n}function li(e,n){t().set(e,n>>>0)}function ui(e,t,n,r){var i=s()[r+40>>>2],a={tm_sec:s()[r>>>2],tm_min:s()[r+4>>>2],tm_hour:s()[r+8>>>2],tm_mday:s()[r+12>>>2],tm_mon:s()[r+16>>>2],tm_year:s()[r+20>>>2],tm_wday:s()[r+24>>>2],tm_yday:s()[r+28>>>2],tm_isdst:s()[r+32>>>2],tm_gmtoff:s()[r+36>>>2],tm_zone:i?K(i):""},o=K(n),l={"%c":"%a %b %d %H:%M:%S %Y","%D":"%m/%d/%y","%F":"%Y-%m-%d","%h":"%b","%r":"%I:%M:%S %p","%R":"%H:%M","%T":"%H:%M:%S","%x":"%m/%d/%y","%X":"%H:%M:%S","%Ec":"%c","%EC":"%C","%Ex":"%m/%d/%y","%EX":"%H:%M:%S","%Ey":"%y","%EY":"%Y","%Od":"%d","%Oe":"%e","%OH":"%H","%OI":"%I","%Om":"%m","%OM":"%M","%OS":"%S","%Ou":"%u","%OU":"%U","%OV":"%V","%Ow":"%w","%OW":"%W","%Oy":"%y"};for(var u in l)o=o.replace(new RegExp(u,"g"),l[u]);var c=["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],f=["January","February","March","April","May","June","July","August","September","October","November","December"];function p(e,t,n){for(var r="number"==typeof e?e.toString():e||"";r.length0?1:0}var r;return 0===(r=n(e.getFullYear()-t.getFullYear()))&&0===(r=n(e.getMonth()-t.getMonth()))&&(r=n(e.getDate()-t.getDate())),r}function v(e){switch(e.getDay()){case 0:return new Date(e.getFullYear()-1,11,29);case 1:return e;case 2:return new Date(e.getFullYear(),0,3);case 3:return new Date(e.getFullYear(),0,2);case 4:return new Date(e.getFullYear(),0,1);case 5:return new Date(e.getFullYear()-1,11,31);case 6:return new Date(e.getFullYear()-1,11,30)}}function h(e){var t=oi(new Date(e.tm_year+1900,0,1),e.tm_yday),n=new Date(t.getFullYear(),0,4),r=new Date(t.getFullYear()+1,0,4),i=v(n),a=v(r);return d(i,t)<=0?d(a,t)<=0?t.getFullYear()+1:t.getFullYear():t.getFullYear()-1}var I={"%a":function(e){return c[e.tm_wday].substring(0,3)},"%A":function(e){return c[e.tm_wday]},"%b":function(e){return f[e.tm_mon].substring(0,3)},"%B":function(e){return f[e.tm_mon]},"%C":function(e){return A((e.tm_year+1900)/100|0,2)},"%d":function(e){return A(e.tm_mday,2)},"%e":function(e){return p(e.tm_mday,2," ")},"%g":function(e){return h(e).toString().substring(2)},"%G":function(e){return h(e)},"%H":function(e){return A(e.tm_hour,2)},"%I":function(e){var t=e.tm_hour;return 0==t?t=12:t>12&&(t-=12),A(t,2)},"%j":function(e){return A(e.tm_mday+ii(ri(e.tm_year+1900)?ai:si,e.tm_mon-1),3)},"%m":function(e){return A(e.tm_mon+1,2)},"%M":function(e){return A(e.tm_min,2)},"%n":function(){return"\n"},"%p":function(e){return e.tm_hour>=0&&e.tm_hour<12?"AM":"PM"},"%S":function(e){return A(e.tm_sec,2)},"%t":function(){return"\t"},"%u":function(e){return e.tm_wday||7},"%U":function(e){var t=e.tm_yday+7-e.tm_wday;return A(Math.floor(t/7),2)},"%V":function(e){var t=Math.floor((e.tm_yday+7-(e.tm_wday+6)%7)/7);if((e.tm_wday+371-e.tm_yday-2)%7<=2&&t++,t){if(53==t){var n=(e.tm_wday+371-e.tm_yday)%7;4==n||3==n&&ri(e.tm_year)||(t=1)}}else{t=52;var r=(e.tm_wday+7-e.tm_yday-1)%7;(4==r||5==r&&ri(e.tm_year%400-1))&&t++}return A(t,2)},"%w":function(e){return e.tm_wday},"%W":function(e){var t=e.tm_yday+7-(e.tm_wday+6)%7;return A(Math.floor(t/7),2)},"%y":function(e){return(e.tm_year+1900).toString().substring(2)},"%Y":function(e){return e.tm_year+1900},"%z":function(e){var t=e.tm_gmtoff,n=t>=0;return t=(t=Math.abs(t)/60)/60*100+t%60,(n?"+":"-")+String("0000"+t).slice(-4)},"%Z":function(e){return e.tm_zone},"%%":function(){return"%"}};for(var u in o=o.replace(/%%/g,"\0\0"),I)o.includes(u)&&(o=o.replace(new RegExp(u,"g"),I[u](a)));var y=Oe(o=o.replace(/\0\0/g,"%"),!1);return y.length>t?0:(li(y,e),y.length-1)}function ci(e,t,n,r,i){return ui(e,t,n,r)}je.init();var fi=function(e,t,n,r){e||(e=this),this.parent=e,this.mount=e.mount,this.mounted=null,this.id=xe.nextInode++,this.name=t,this.mode=n,this.node_ops={},this.stream_ops={},this.rdev=r},pi=365,Ai=146;Object.defineProperties(fi.prototype,{read:{get:function(){return(this.mode&pi)===pi},set:function(e){e?this.mode|=pi:this.mode&=~pi}},write:{get:function(){return(this.mode&Ai)===Ai},set:function(e){e?this.mode|=Ai:this.mode&=~Ai}},isFolder:{get:function(){return xe.isDir(this.mode)}},isDevice:{get:function(){return xe.isChrdev(this.mode)}}}),xe.FSNode=fi,xe.staticInit(),vt=d.InternalError=dt(Error,"InternalError"),Tt(),Pt=d.BindingError=dt(Error,"BindingError"),nn(),Wt(),vn(),En=d.UnboundTypeError=dt(Error,"UnboundTypeError"),xn();var di=[null,He,We,Yr,Xr,qr,Zr,ei,ni],vi={g:Je,T:Ze,J:$e,X:et,_:nt,Z:rt,da:yt,q:wt,H:gt,ba:_t,p:Dn,o:_n,c:Bn,aa:Hn,D:Gn,t:jn,B:Wn,d:zn,s:Yn,i:Xn,C:qn,x:ir,ea:ar,j:sr,r:or,f:lr,ca:ur,Y:cr,V:pr,S:Ar,n:dr,z:hr,b:Nn,F:gr,l:Er,u:Tr,ga:br,y:Dr,E:Pr,fa:Rr,h:Cr,w:_r,m:Br,k:Or,e:Sr,A:Nr,U:Mr,v:Ir,W:xr,R:Gr,P:jr,$:Vr,L:Yr,M:Xr,I:Ge,N:qr,O:Zr,G:ei,Q:ni,a:O||d.wasmMemory,K:ci};Ee();var hi=function(){return(hi=d.asm.ja).apply(null,arguments)};d.__emscripten_tls_init=function(){return(d.__emscripten_tls_init=d.asm.ka).apply(null,arguments)};var Ii=d._pthread_self=function(){return(Ii=d._pthread_self=d.asm.la).apply(null,arguments)},yi=d.___getTypeName=function(){return(yi=d.___getTypeName=d.asm.ma).apply(null,arguments)};d.__embind_initialize_bindings=function(){return(d.__embind_initialize_bindings=d.asm.na).apply(null,arguments)};var mi=d.__emscripten_thread_init=function(){return(mi=d.__emscripten_thread_init=d.asm.oa).apply(null,arguments)};d.__emscripten_thread_crashed=function(){return(d.__emscripten_thread_crashed=d.asm.pa).apply(null,arguments)};var wi,gi=function(){return(gi=d.asm.qa).apply(null,arguments)},Ei=d.__emscripten_proxy_execute_task_queue=function(){return(Ei=d.__emscripten_proxy_execute_task_queue=d.asm.ra).apply(null,arguments)},Ti=function(){return(Ti=d.asm.sa).apply(null,arguments)},bi=d.__emscripten_thread_exit=function(){return(bi=d.__emscripten_thread_exit=d.asm.ta).apply(null,arguments)},Di=function(){return(Di=d.asm.ua).apply(null,arguments)},Pi=function(){return(Pi=d.asm.va).apply(null,arguments)},Ri=function(){return(Ri=d.asm.wa).apply(null,arguments)},Ci=function(){return(Ci=d.asm.xa).apply(null,arguments)},_i=function(){return(_i=d.asm.ya).apply(null,arguments)},Bi=function(){return(Bi=d.asm.za).apply(null,arguments)};function Oi(){if(!(ce>0)){if(D)return p(d),ae(),void startWorker(d);ie(),ce>0||(d.setStatus?(d.setStatus("Running..."),setTimeout((function(){setTimeout((function(){d.setStatus("")}),1),e()}),1)):e())}function e(){wi||(wi=!0,d.calledRun=!0,M||(ae(),p(d),d.onRuntimeInitialized&&d.onRuntimeInitialized(),se()))}}if(d.dynCall_jiji=function(){return(d.dynCall_jiji=d.asm.Aa).apply(null,arguments)},d.dynCall_viijii=function(){return(d.dynCall_viijii=d.asm.Ba).apply(null,arguments)},d.dynCall_iiiiij=function(){return(d.dynCall_iiiiij=d.asm.Ca).apply(null,arguments)},d.dynCall_iiiiijj=function(){return(d.dynCall_iiiiijj=d.asm.Da).apply(null,arguments)},d.dynCall_iiiiiijj=function(){return(d.dynCall_iiiiiijj=d.asm.Ea).apply(null,arguments)},d.keepRuntimeAlive=re,d.wasmMemory=O,d.ExitStatus=Te,d.PThread=je,fe=function e(){wi||Oi(),wi||(fe=e)},d.preInit)for("function"==typeof d.preInit&&(d.preInit=[d.preInit]);d.preInit.length>0;)d.preInit.pop()();return Oi(),e.ready});"object"===T(e)&&"object"===T(t)?t.exports=r:"function"==typeof define&&define.amd?define([],(function(){return r})):"object"===T(e)&&(e.WebIFCWasm=r)}}),v_=p_({"dist/web-ifc.js":function(e,t){var n,r=(n="undefined"!=typeof document&&document.currentScript?document.currentScript.src:void 0,function(){var e,t,r=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},i=void 0!==r?r:{};i.ready=new Promise((function(n,r){e=n,t=r}));var a,s,o=Object.assign({},i),l="./this.program",u=!0,c="";function f(e){return i.locateFile?i.locateFile(e,c):c+e}"undefined"!=typeof document&&document.currentScript&&(c=document.currentScript.src),n&&(c=n),c=0!==c.indexOf("blob:")?c.substr(0,c.replace(/[?#].*/,"").lastIndexOf("/")+1):"",a=function(e){var t=new XMLHttpRequest;return t.open("GET",e,!1),t.send(null),t.responseText},s=function(e,t,n){var r=new XMLHttpRequest;r.open("GET",e,!0),r.responseType="arraybuffer",r.onload=function(){200==r.status||0==r.status&&r.response?t(r.response):n()},r.onerror=n,r.send(null)};var p,A,d=i.print||console.log.bind(console),v=i.printErr||console.warn.bind(console);Object.assign(i,o),o=null,i.arguments,i.thisProgram&&(l=i.thisProgram),i.quit,i.wasmBinary&&(p=i.wasmBinary),i.noExitRuntime,"object"!=("undefined"==typeof WebAssembly?"undefined":T(WebAssembly))&&Y("no native wasm support detected");var h=!1;function I(e,t){e||Y(t)}var y,m,w,g,E,b,D,P,R,C="undefined"!=typeof TextDecoder?new TextDecoder("utf8"):void 0;function _(e,t,n){for(var r=(t>>>=0)+n,i=t;e[i]&&!(i>=r);)++i;if(i-t>16&&e.buffer&&C)return C.decode(e.subarray(t,i));for(var a="";t>10,56320|1023&u)}}else a+=String.fromCharCode((31&s)<<6|o)}else a+=String.fromCharCode(s)}return a}function B(e,t){return(e>>>=0)?_(m,e,t):""}function O(e,t,n,r){if(!(r>0))return 0;for(var i=n>>>=0,a=n+r-1,s=0;s=55296&&o<=57343&&(o=65536+((1023&o)<<10)|1023&e.charCodeAt(++s)),o<=127){if(n>=a)break;t[n++>>>0]=o}else if(o<=2047){if(n+1>=a)break;t[n++>>>0]=192|o>>6,t[n++>>>0]=128|63&o}else if(o<=65535){if(n+2>=a)break;t[n++>>>0]=224|o>>12,t[n++>>>0]=128|o>>6&63,t[n++>>>0]=128|63&o}else{if(n+3>=a)break;t[n++>>>0]=240|o>>18,t[n++>>>0]=128|o>>12&63,t[n++>>>0]=128|o>>6&63,t[n++>>>0]=128|63&o}}return t[n>>>0]=0,n-i}function S(e,t,n){return O(e,m,t,n)}function N(e){for(var t=0,n=0;n=55296&&r<=57343?(t+=4,++n):t+=3}return t}function L(){var e=A.buffer;i.HEAP8=y=new Int8Array(e),i.HEAP16=w=new Int16Array(e),i.HEAP32=E=new Int32Array(e),i.HEAPU8=m=new Uint8Array(e),i.HEAPU16=g=new Uint16Array(e),i.HEAPU32=b=new Uint32Array(e),i.HEAPF32=D=new Float32Array(e),i.HEAPF64=P=new Float64Array(e)}var M=[],x=[],F=[];function H(){if(i.preRun)for("function"==typeof i.preRun&&(i.preRun=[i.preRun]);i.preRun.length;)k(i.preRun.shift());re(M)}function U(){i.noFSInit||Yn.init.initialized||Yn.init(),Yn.ignorePermissions=!1,re(x)}function G(){if(i.postRun)for("function"==typeof i.postRun&&(i.postRun=[i.postRun]);i.postRun.length;)V(i.postRun.shift());re(F)}function k(e){M.unshift(e)}function j(e){x.unshift(e)}function V(e){F.unshift(e)}var Q=0,W=null;function z(e){Q++,i.monitorRunDependencies&&i.monitorRunDependencies(Q)}function K(e){if(Q--,i.monitorRunDependencies&&i.monitorRunDependencies(Q),0==Q&&W){var t=W;W=null,t()}}function Y(e){i.onAbort&&i.onAbort(e),v(e="Aborted("+e+")"),h=!0,e+=". Build with -sASSERTIONS for more info.";var n=new WebAssembly.RuntimeError(e);throw t(n),n}var X,q,J,Z="data:application/octet-stream;base64,";function $(e){return e.startsWith(Z)}function ee(e){try{if(e==X&&p)return new Uint8Array(p);throw"both async and sync fetching of the wasm failed"}catch(e){Y(e)}}function te(){return!p&&u&&"function"==typeof fetch?fetch(X,{credentials:"same-origin"}).then((function(e){if(!e.ok)throw"failed to load wasm binary file at '"+X+"'";return e.arrayBuffer()})).catch((function(){return ee(X)})):Promise.resolve().then((function(){return ee(X)}))}function ne(){var e={a:hr};function n(e,t){var n=e.exports;i.asm=n,A=i.asm.V,L(),R=i.asm.X,j(i.asm.W),K()}function r(e){n(e.instance)}function a(t){return te().then((function(t){return WebAssembly.instantiate(t,e)})).then((function(e){return e})).then(t,(function(e){v("failed to asynchronously prepare wasm: "+e),Y(e)}))}if(z(),i.instantiateWasm)try{return i.instantiateWasm(e,n)}catch(e){v("Module.instantiateWasm callback failed with error: "+e),t(e)}return(p||"function"!=typeof WebAssembly.instantiateStreaming||$(X)||"function"!=typeof fetch?a(r):fetch(X,{credentials:"same-origin"}).then((function(t){return WebAssembly.instantiateStreaming(t,e).then(r,(function(e){return v("wasm streaming compile failed: "+e),v("falling back to ArrayBuffer instantiation"),a(r)}))}))).catch(t),{}}function re(e){for(;e.length>0;)e.shift()(i)}function ie(e){this.excPtr=e,this.ptr=e-24,this.set_type=function(e){b[this.ptr+4>>>2]=e},this.get_type=function(){return b[this.ptr+4>>>2]},this.set_destructor=function(e){b[this.ptr+8>>>2]=e},this.get_destructor=function(){return b[this.ptr+8>>>2]},this.set_refcount=function(e){E[this.ptr>>>2]=e},this.set_caught=function(e){e=e?1:0,y[this.ptr+12>>>0]=e},this.get_caught=function(){return 0!=y[this.ptr+12>>>0]},this.set_rethrown=function(e){e=e?1:0,y[this.ptr+13>>>0]=e},this.get_rethrown=function(){return 0!=y[this.ptr+13>>>0]},this.init=function(e,t){this.set_adjusted_ptr(0),this.set_type(e),this.set_destructor(t),this.set_refcount(0),this.set_caught(!1),this.set_rethrown(!1)},this.add_ref=function(){var e=E[this.ptr>>>2];E[this.ptr>>>2]=e+1},this.release_ref=function(){var e=E[this.ptr>>>2];return E[this.ptr>>>2]=e-1,1===e},this.set_adjusted_ptr=function(e){b[this.ptr+16>>>2]=e},this.get_adjusted_ptr=function(){return b[this.ptr+16>>>2]},this.get_exception_ptr=function(){if(gr(this.get_type()))return b[this.excPtr>>>2];var e=this.get_adjusted_ptr();return 0!==e?e:this.excPtr}}function ae(e,t,n){throw new ie(e).init(t,n),e}$(X="web-ifc.wasm")||(X=f(X));var se={};function oe(e){for(;e.length;){var t=e.pop();e.pop()(t)}}function le(e){return this.fromWireType(E[e>>>2])}var ue={},ce={},fe={},pe=48,Ae=57;function de(e){if(void 0===e)return"_unknown";var t=(e=e.replace(/[^a-zA-Z0-9_]/g,"$")).charCodeAt(0);return t>=pe&&t<=Ae?"_"+e:e}function ve(e,t){return e=de(e),new Function("body","return function "+e+'() {\n "use strict"; return body.apply(this, arguments);\n};\n')(t)}function he(e,t){var n=ve(t,(function(e){this.name=t,this.message=e;var n=new Error(e).stack;void 0!==n&&(this.stack=this.toString()+"\n"+n.replace(/^Error(:[^\n]*)?\n/,""))}));return n.prototype=Object.create(e.prototype),n.prototype.constructor=n,n.prototype.toString=function(){return void 0===this.message?this.name:this.name+": "+this.message},n}var Ie=void 0;function ye(e){throw new Ie(e)}function me(e,t,n){function r(t){var r=n(t);r.length!==e.length&&ye("Mismatched type converter count");for(var i=0;i>>0];)t+=Pe[m[n++>>>0]];return t}var Ce=void 0;function _e(e){throw new Ce(e)}function Be(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};if(!("argPackAdvance"in t))throw new TypeError("registerType registeredInstance requires argPackAdvance");var r=t.name;if(e||_e('type "'+r+'" must have a positive integer typeid pointer'),ce.hasOwnProperty(e)){if(n.ignoreDuplicateRegistrations)return;_e("Cannot register type '"+r+"' twice")}if(ce[e]=t,delete fe[e],ue.hasOwnProperty(e)){var i=ue[e];delete ue[e],i.forEach((function(e){return e()}))}}function Oe(e,t,n,r,i){var a=be(n);Be(e,{name:t=Re(t),fromWireType:function(e){return!!e},toWireType:function(e,t){return t?r:i},argPackAdvance:8,readValueFromPointer:function(e){var r;if(1===n)r=y;else if(2===n)r=w;else{if(4!==n)throw new TypeError("Unknown boolean type size: "+t);r=E}return this.fromWireType(r[e>>>a])},destructorFunction:null})}function Se(e){if(!(this instanceof at))return!1;if(!(e instanceof at))return!1;for(var t=this.$$.ptrType.registeredClass,n=this.$$.ptr,r=e.$$.ptrType.registeredClass,i=e.$$.ptr;t.baseClass;)n=t.upcast(n),t=t.baseClass;for(;r.baseClass;)i=r.upcast(i),r=r.baseClass;return t===r&&n===i}function Ne(e){return{count:e.count,deleteScheduled:e.deleteScheduled,preservePointerOnDelete:e.preservePointerOnDelete,ptr:e.ptr,ptrType:e.ptrType,smartPtr:e.smartPtr,smartPtrType:e.smartPtrType}}function Le(e){_e(e.$$.ptrType.registeredClass.name+" instance already deleted")}var Me=!1;function xe(e){}function Fe(e){e.smartPtr?e.smartPtrType.rawDestructor(e.smartPtr):e.ptrType.registeredClass.rawDestructor(e.ptr)}function He(e){e.count.value-=1,0===e.count.value&&Fe(e)}function Ue(e,t,n){if(t===n)return e;if(void 0===n.baseClass)return null;var r=Ue(e,t,n.baseClass);return null===r?null:n.downcast(r)}var Ge={};function ke(){return Object.keys(Ye).length}function je(){var e=[];for(var t in Ye)Ye.hasOwnProperty(t)&&e.push(Ye[t]);return e}var Ve=[];function Qe(){for(;Ve.length;){var e=Ve.pop();e.$$.deleteScheduled=!1,e.delete()}}var We=void 0;function ze(e){We=e,Ve.length&&We&&We(Qe)}function Ke(){i.getInheritedInstanceCount=ke,i.getLiveInheritedInstances=je,i.flushPendingDeletes=Qe,i.setDelayFunction=ze}var Ye={};function Xe(e,t){for(void 0===t&&_e("ptr should not be undefined");e.baseClass;)t=e.upcast(t),e=e.baseClass;return t}function qe(e,t){return t=Xe(e,t),Ye[t]}function Je(e,t){return t.ptrType&&t.ptr||ye("makeClassHandle requires ptr and ptrType"),!!t.smartPtrType!=!!t.smartPtr&&ye("Both smartPtrType and smartPtr must be specified"),t.count={value:1},$e(Object.create(e,{$$:{value:t}}))}function Ze(e){var t=this.getPointee(e);if(!t)return this.destructor(e),null;var n=qe(this.registeredClass,t);if(void 0!==n){if(0===n.$$.count.value)return n.$$.ptr=t,n.$$.smartPtr=e,n.clone();var r=n.clone();return this.destructor(e),r}function i(){return this.isSmartPointer?Je(this.registeredClass.instancePrototype,{ptrType:this.pointeeType,ptr:t,smartPtrType:this,smartPtr:e}):Je(this.registeredClass.instancePrototype,{ptrType:this,ptr:e})}var a,s=this.registeredClass.getActualType(t),o=Ge[s];if(!o)return i.call(this);a=this.isConst?o.constPointerType:o.pointerType;var l=Ue(t,this.registeredClass,a.registeredClass);return null===l?i.call(this):this.isSmartPointer?Je(a.registeredClass.instancePrototype,{ptrType:a,ptr:l,smartPtrType:this,smartPtr:e}):Je(a.registeredClass.instancePrototype,{ptrType:a,ptr:l})}function $e(e){return"undefined"==typeof FinalizationRegistry?($e=function(e){return e},e):(Me=new FinalizationRegistry((function(e){He(e.$$)})),xe=function(e){return Me.unregister(e)},($e=function(e){var t=e.$$;if(t.smartPtr){var n={$$:t};Me.register(e,n,e)}return e})(e))}function et(){if(this.$$.ptr||Le(this),this.$$.preservePointerOnDelete)return this.$$.count.value+=1,this;var e=$e(Object.create(Object.getPrototypeOf(this),{$$:{value:Ne(this.$$)}}));return e.$$.count.value+=1,e.$$.deleteScheduled=!1,e}function tt(){this.$$.ptr||Le(this),this.$$.deleteScheduled&&!this.$$.preservePointerOnDelete&&_e("Object already scheduled for deletion"),xe(this),He(this.$$),this.$$.preservePointerOnDelete||(this.$$.smartPtr=void 0,this.$$.ptr=void 0)}function nt(){return!this.$$.ptr}function rt(){return this.$$.ptr||Le(this),this.$$.deleteScheduled&&!this.$$.preservePointerOnDelete&&_e("Object already scheduled for deletion"),Ve.push(this),1===Ve.length&&We&&We(Qe),this.$$.deleteScheduled=!0,this}function it(){at.prototype.isAliasOf=Se,at.prototype.clone=et,at.prototype.delete=tt,at.prototype.isDeleted=nt,at.prototype.deleteLater=rt}function at(){}function st(e,t,n){if(void 0===e[t].overloadTable){var r=e[t];e[t]=function(){return e[t].overloadTable.hasOwnProperty(arguments.length)||_e("Function '"+n+"' called with an invalid number of arguments ("+arguments.length+") - expects one of ("+e[t].overloadTable+")!"),e[t].overloadTable[arguments.length].apply(this,arguments)},e[t].overloadTable=[],e[t].overloadTable[r.argCount]=r}}function ot(e,t,n){i.hasOwnProperty(e)?((void 0===n||void 0!==i[e].overloadTable&&void 0!==i[e].overloadTable[n])&&_e("Cannot register public name '"+e+"' twice"),st(i,e,e),i.hasOwnProperty(n)&&_e("Cannot register multiple overloads of a function with the same number of arguments ("+n+")!"),i[e].overloadTable[n]=t):(i[e]=t,void 0!==n&&(i[e].numArguments=n))}function lt(e,t,n,r,i,a,s,o){this.name=e,this.constructor=t,this.instancePrototype=n,this.rawDestructor=r,this.baseClass=i,this.getActualType=a,this.upcast=s,this.downcast=o,this.pureVirtualFunctions=[]}function ut(e,t,n){for(;t!==n;)t.upcast||_e("Expected null or instance of "+n.name+", got an instance of "+t.name),e=t.upcast(e),t=t.baseClass;return e}function ct(e,t){if(null===t)return this.isReference&&_e("null is not a valid "+this.name),0;t.$$||_e('Cannot pass "'+zt(t)+'" as a '+this.name),t.$$.ptr||_e("Cannot pass deleted object as a pointer of type "+this.name);var n=t.$$.ptrType.registeredClass;return ut(t.$$.ptr,n,this.registeredClass)}function ft(e,t){var n;if(null===t)return this.isReference&&_e("null is not a valid "+this.name),this.isSmartPointer?(n=this.rawConstructor(),null!==e&&e.push(this.rawDestructor,n),n):0;t.$$||_e('Cannot pass "'+zt(t)+'" as a '+this.name),t.$$.ptr||_e("Cannot pass deleted object as a pointer of type "+this.name),!this.isConst&&t.$$.ptrType.isConst&&_e("Cannot convert argument of type "+(t.$$.smartPtrType?t.$$.smartPtrType.name:t.$$.ptrType.name)+" to parameter type "+this.name);var r=t.$$.ptrType.registeredClass;if(n=ut(t.$$.ptr,r,this.registeredClass),this.isSmartPointer)switch(void 0===t.$$.smartPtr&&_e("Passing raw pointer to smart pointer is illegal"),this.sharingPolicy){case 0:t.$$.smartPtrType===this?n=t.$$.smartPtr:_e("Cannot convert argument of type "+(t.$$.smartPtrType?t.$$.smartPtrType.name:t.$$.ptrType.name)+" to parameter type "+this.name);break;case 1:n=t.$$.smartPtr;break;case 2:if(t.$$.smartPtrType===this)n=t.$$.smartPtr;else{var i=t.clone();n=this.rawShare(n,Gt.toHandle((function(){i.delete()}))),null!==e&&e.push(this.rawDestructor,n)}break;default:_e("Unsupporting sharing policy")}return n}function pt(e,t){if(null===t)return this.isReference&&_e("null is not a valid "+this.name),0;t.$$||_e('Cannot pass "'+zt(t)+'" as a '+this.name),t.$$.ptr||_e("Cannot pass deleted object as a pointer of type "+this.name),t.$$.ptrType.isConst&&_e("Cannot convert argument of type "+t.$$.ptrType.name+" to parameter type "+this.name);var n=t.$$.ptrType.registeredClass;return ut(t.$$.ptr,n,this.registeredClass)}function At(e){return this.rawGetPointee&&(e=this.rawGetPointee(e)),e}function dt(e){this.rawDestructor&&this.rawDestructor(e)}function vt(e){null!==e&&e.delete()}function ht(){It.prototype.getPointee=At,It.prototype.destructor=dt,It.prototype.argPackAdvance=8,It.prototype.readValueFromPointer=le,It.prototype.deleteObject=vt,It.prototype.fromWireType=Ze}function It(e,t,n,r,i,a,s,o,l,u,c){this.name=e,this.registeredClass=t,this.isReference=n,this.isConst=r,this.isSmartPointer=i,this.pointeeType=a,this.sharingPolicy=s,this.rawGetPointee=o,this.rawConstructor=l,this.rawShare=u,this.rawDestructor=c,i||void 0!==t.baseClass?this.toWireType=ft:r?(this.toWireType=ct,this.destructorFunction=null):(this.toWireType=pt,this.destructorFunction=null)}function yt(e,t,n){i.hasOwnProperty(e)||ye("Replacing nonexistant public symbol"),void 0!==i[e].overloadTable&&void 0!==n?i[e].overloadTable[n]=t:(i[e]=t,i[e].argCount=n)}function mt(e,t,n){var r=i["dynCall_"+e];return n&&n.length?r.apply(null,[t].concat(n)):r.call(null,t)}var wt=[];function gt(e){var t=wt[e];return t||(e>=wt.length&&(wt.length=e+1),wt[e]=t=R.get(e)),t}function Et(e,t,n){return e.includes("j")?mt(e,t,n):gt(t).apply(null,n)}function Tt(e,t){var n=[];return function(){return n.length=0,Object.assign(n,arguments),Et(e,t,n)}}function bt(e,t){var n=(e=Re(e)).includes("j")?Tt(e,t):gt(t);return"function"!=typeof n&&_e("unknown function pointer with signature "+e+": "+t),n}var Dt=void 0;function Pt(e){var t=yr(e),n=Re(t);return wr(t),n}function Rt(e,t){var n=[],r={};throw t.forEach((function e(t){r[t]||ce[t]||(fe[t]?fe[t].forEach(e):(n.push(t),r[t]=!0))})),new Dt(e+": "+n.map(Pt).join([", "]))}function Ct(e,t,n,r,i,a,s,o,l,u,c,f,p){c=Re(c),a=bt(i,a),o&&(o=bt(s,o)),u&&(u=bt(l,u)),p=bt(f,p);var A=de(c);ot(A,(function(){Rt("Cannot construct "+c+" due to unbound types",[r])})),me([e,t,n],r?[r]:[],(function(t){var n,i;t=t[0],i=r?(n=t.registeredClass).instancePrototype:at.prototype;var s=ve(A,(function(){if(Object.getPrototypeOf(this)!==l)throw new Ce("Use 'new' to construct "+c);if(void 0===f.constructor_body)throw new Ce(c+" has no accessible constructor");var e=f.constructor_body[arguments.length];if(void 0===e)throw new Ce("Tried to invoke ctor of "+c+" with invalid number of parameters ("+arguments.length+") - expected ("+Object.keys(f.constructor_body).toString()+") parameters instead!");return e.apply(this,arguments)})),l=Object.create(i,{constructor:{value:s}});s.prototype=l;var f=new lt(c,s,l,p,n,a,o,u),d=new It(c,f,!0,!1,!1),v=new It(c+"*",f,!1,!1,!1),h=new It(c+" const*",f,!1,!0,!1);return Ge[e]={pointerType:v,constPointerType:h},yt(A,s),[d,v,h]}))}function _t(e,t){for(var n=[],r=0;r>>2]);return n}function Bt(e,t){if(!(e instanceof Function))throw new TypeError("new_ called with constructor type "+T(e)+" which is not a function");var n=ve(e.name||"unknownFunctionName",(function(){}));n.prototype=e.prototype;var r=new n,i=e.apply(r,t);return i instanceof Object?i:r}function Ot(e,t,n,r,i){var a=t.length;a<2&&_e("argTypes array size mismatch! Must at least get return value and 'this' types!");for(var s=null!==t[1]&&null!==n,o=!1,l=1;l0?", ":"")+f),p+=(u?"var rv = ":"")+"invoker(fn"+(f.length>0?", ":"")+f+");\n",o)p+="runDestructors(destructors);\n";else for(l=s?1:2;l0);var s=_t(t,n);i=bt(r,i),me([],[e],(function(e){var n="constructor "+(e=e[0]).name;if(void 0===e.registeredClass.constructor_body&&(e.registeredClass.constructor_body=[]),void 0!==e.registeredClass.constructor_body[t-1])throw new Ce("Cannot register multiple constructors with identical number of parameters ("+(t-1)+") for class '"+e.name+"'! Overload resolution is currently only performed using the parameter count, not actual type info!");return e.registeredClass.constructor_body[t-1]=function(){Rt("Cannot construct "+e.name+" due to unbound types",s)},me([],s,(function(r){return r.splice(1,0,null),e.registeredClass.constructor_body[t-1]=Ot(n,r,null,i,a),[]})),[]}))}function Nt(e,t,n,r,i,a,s,o){var l=_t(n,r);t=Re(t),a=bt(i,a),me([],[e],(function(e){var r=(e=e[0]).name+"."+t;function i(){Rt("Cannot call "+r+" due to unbound types",l)}t.startsWith("@@")&&(t=Symbol[t.substring(2)]),o&&e.registeredClass.pureVirtualFunctions.push(t);var u=e.registeredClass.instancePrototype,c=u[t];return void 0===c||void 0===c.overloadTable&&c.className!==e.name&&c.argCount===n-2?(i.argCount=n-2,i.className=e.name,u[t]=i):(st(u,t,r),u[t].overloadTable[n-2]=i),me([],l,(function(i){var o=Ot(r,i,e,a,s);return void 0===u[t].overloadTable?(o.argCount=n-2,u[t]=o):u[t].overloadTable[n-2]=o,[]})),[]}))}var Lt=[],Mt=[{},{value:void 0},{value:null},{value:!0},{value:!1}];function xt(e){e>4&&0==--Mt[e].refcount&&(Mt[e]=void 0,Lt.push(e))}function Ft(){for(var e=0,t=5;t>>2])};case 3:return function(e){return this.fromWireType(P[e>>>3])};default:throw new TypeError("Unknown float type: "+e)}}function Yt(e,t,n){var r=be(n);Be(e,{name:t=Re(t),fromWireType:function(e){return e},toWireType:function(e,t){return t},argPackAdvance:8,readValueFromPointer:Kt(t,r),destructorFunction:null})}function Xt(e,t,n,r,i,a){var s=_t(t,n);e=Re(e),i=bt(r,i),ot(e,(function(){Rt("Cannot call "+e+" due to unbound types",s)}),t-1),me([],s,(function(n){var r=[n[0],null].concat(n.slice(1));return yt(e,Ot(e,r,null,i,a),t-1),[]}))}function qt(e,t,n){switch(t){case 0:return n?function(e){return y[e>>>0]}:function(e){return m[e>>>0]};case 1:return n?function(e){return w[e>>>1]}:function(e){return g[e>>>1]};case 2:return n?function(e){return E[e>>>2]}:function(e){return b[e>>>2]};default:throw new TypeError("Unknown integer type: "+e)}}function Jt(e,t,n,r,i){t=Re(t);var a=be(n),s=function(e){return e};if(0===r){var o=32-8*n;s=function(e){return e<>>o}}var l=t.includes("unsigned");Be(e,{name:t,fromWireType:s,toWireType:l?function(e,t){return this.name,t>>>0}:function(e,t){return this.name,t},argPackAdvance:8,readValueFromPointer:qt(t,a,0!==r),destructorFunction:null})}function Zt(e,t,n){var r=[Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array][t];function i(e){var t=b,n=t[(e>>=2)>>>0],i=t[e+1>>>0];return new r(t.buffer,i,n)}Be(e,{name:n=Re(n),fromWireType:i,argPackAdvance:8,readValueFromPointer:i},{ignoreDuplicateRegistrations:!0})}function $t(e,t){var n="std::string"===(t=Re(t));Be(e,{name:t,fromWireType:function(e){var t,r=b[e>>>2],i=e+4;if(n)for(var a=i,s=0;s<=r;++s){var o=i+s;if(s==r||0==m[o>>>0]){var l=B(a,o-a);void 0===t?t=l:(t+=String.fromCharCode(0),t+=l),a=o+1}}else{var u=new Array(r);for(s=0;s>>0]);t=u.join("")}return wr(e),t},toWireType:function(e,t){var r;t instanceof ArrayBuffer&&(t=new Uint8Array(t));var i="string"==typeof t;i||t instanceof Uint8Array||t instanceof Uint8ClampedArray||t instanceof Int8Array||_e("Cannot pass non-string to std::string"),r=n&&i?N(t):t.length;var a=Ir(4+r+1),s=a+4;if(s>>>=0,b[a>>>2]=r,n&&i)S(t,s,r+1);else if(i)for(var o=0;o255&&(wr(s),_e("String has UTF-16 code units that do not fit in 8 bits")),m[s+o>>>0]=l}else for(o=0;o>>0]=t[o];return null!==e&&e.push(wr,a),a},argPackAdvance:8,readValueFromPointer:le,destructorFunction:function(e){wr(e)}})}var en="undefined"!=typeof TextDecoder?new TextDecoder("utf-16le"):void 0;function tn(e,t){for(var n=e,r=n>>1,i=r+t/2;!(r>=i)&&g[r>>>0];)++r;if((n=r<<1)-e>32&&en)return en.decode(m.subarray(e>>>0,n>>>0));for(var a="",s=0;!(s>=t/2);++s){var o=w[e+2*s>>>1];if(0==o)break;a+=String.fromCharCode(o)}return a}function nn(e,t,n){if(void 0===n&&(n=2147483647),n<2)return 0;for(var r=t,i=(n-=2)<2*e.length?n/2:e.length,a=0;a>>1]=s,t+=2}return w[t>>>1]=0,t-r}function rn(e){return 2*e.length}function an(e,t){for(var n=0,r="";!(n>=t/4);){var i=E[e+4*n>>>2];if(0==i)break;if(++n,i>=65536){var a=i-65536;r+=String.fromCharCode(55296|a>>10,56320|1023&a)}else r+=String.fromCharCode(i)}return r}function sn(e,t,n){if(void 0===n&&(n=2147483647),n<4)return 0;for(var r=t>>>=0,i=r+n-4,a=0;a=55296&&s<=57343&&(s=65536+((1023&s)<<10)|1023&e.charCodeAt(++a)),E[t>>>2]=s,(t+=4)+4>i)break}return E[t>>>2]=0,t-r}function on(e){for(var t=0,n=0;n=55296&&r<=57343&&++n,t+=4}return t}function ln(e,t,n){var r,i,a,s,o;n=Re(n),2===t?(r=tn,i=nn,s=rn,a=function(){return g},o=1):4===t&&(r=an,i=sn,s=on,a=function(){return b},o=2),Be(e,{name:n,fromWireType:function(e){for(var n,i=b[e>>>2],s=a(),l=e+4,u=0;u<=i;++u){var c=e+4+u*t;if(u==i||0==s[c>>>o]){var f=r(l,c-l);void 0===n?n=f:(n+=String.fromCharCode(0),n+=f),l=c+t}}return wr(e),n},toWireType:function(e,r){"string"!=typeof r&&_e("Cannot pass non-string to C++ string type "+n);var a=s(r),l=Ir(4+a+t);return b[(l>>>=0)>>>2]=a>>o,i(r,l+4,a+t),null!==e&&e.push(wr,l),l},argPackAdvance:8,readValueFromPointer:le,destructorFunction:function(e){wr(e)}})}function un(e,t,n,r,i,a){se[e]={name:Re(t),rawConstructor:bt(n,r),rawDestructor:bt(i,a),elements:[]}}function cn(e,t,n,r,i,a,s,o,l){se[e].elements.push({getterReturnType:t,getter:bt(n,r),getterContext:i,setterArgumentType:a,setter:bt(s,o),setterContext:l})}function fn(e,t,n,r,i,a){ge[e]={name:Re(t),rawConstructor:bt(n,r),rawDestructor:bt(i,a),fields:[]}}function pn(e,t,n,r,i,a,s,o,l,u){ge[e].fields.push({fieldName:Re(t),getterReturnType:n,getter:bt(r,i),getterContext:a,setterArgumentType:s,setter:bt(o,l),setterContext:u})}function An(e,t){Be(e,{isVoid:!0,name:t=Re(t),argPackAdvance:0,fromWireType:function(){},toWireType:function(e,t){}})}function dn(e,t,n){e=Gt.toValue(e),t=Qt(t,"emval::as");var r=[],i=Gt.toHandle(r);return b[n>>>2]=i,t.toWireType(r,e)}function vn(e,t){for(var n=new Array(e),r=0;r>>2],"parameter "+r);return n}function hn(e,t,n,r){e=Gt.toValue(e);for(var i=vn(t,n),a=new Array(t),s=0;s4&&(Mt[e].refcount+=1)}function Tn(e,t){return(e=Gt.toValue(e))instanceof(t=Gt.toValue(t))}function bn(e){return"number"==typeof(e=Gt.toValue(e))}function Dn(e){return"string"==typeof(e=Gt.toValue(e))}function Pn(){return Gt.toHandle([])}function Rn(e){return Gt.toHandle(yn(e))}function Cn(){return Gt.toHandle({})}function _n(e){oe(Gt.toValue(e)),xt(e)}function Bn(e,t,n){e=Gt.toValue(e),t=Gt.toValue(t),n=Gt.toValue(n),e[t]=n}function On(e,t){var n=(e=Qt(e,"_emval_take_value")).readValueFromPointer(t);return Gt.toHandle(n)}function Sn(){Y("")}function Nn(e,t,n){m.copyWithin(e>>>0,t>>>0,t+n>>>0)}function Ln(e){var t=A.buffer;try{return A.grow(e-t.byteLength+65535>>>16),L(),1}catch(e){}}function Mn(e){var t=m.length,n=4294901760;if((e>>>=0)>n)return!1;for(var r,i,a=1;a<=4;a*=2){var s=t*(1+.2/a);if(s=Math.min(s,e+100663296),Ln(Math.min(n,(r=Math.max(e,s))+((i=65536)-r%i)%i)))return!0}return!1}var xn={};function Fn(){return l||"./this.program"}function Hn(){if(!Hn.strings){var e={USER:"web_user",LOGNAME:"web_user",PATH:"/",PWD:"/",HOME:"/home/web_user",LANG:("object"==("undefined"==typeof navigator?"undefined":T(navigator))&&navigator.languages&&navigator.languages[0]||"C").replace("-","_")+".UTF-8",_:Fn()};for(var t in xn)void 0===xn[t]?delete e[t]:e[t]=xn[t];var n=[];for(var t in e)n.push(t+"="+e[t]);Hn.strings=n}return Hn.strings}function Un(e,t,n){for(var r=0;r>>0]=e.charCodeAt(r);n||(y[t>>>0]=0)}var Gn={isAbs:function(e){return"/"===e.charAt(0)},splitPath:function(e){return/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/.exec(e).slice(1)},normalizeArray:function(e,t){for(var n=0,r=e.length-1;r>=0;r--){var i=e[r];"."===i?e.splice(r,1):".."===i?(e.splice(r,1),n++):n&&(e.splice(r,1),n--)}if(t)for(;n;n--)e.unshift("..");return e},normalize:function(e){var t=Gn.isAbs(e),n="/"===e.substr(-1);return e=Gn.normalizeArray(e.split("/").filter((function(e){return!!e})),!t).join("/"),e||t||(e="."),e&&n&&(e+="/"),(t?"/":"")+e},dirname:function(e){var t=Gn.splitPath(e),n=t[0],r=t[1];return n||r?(r&&(r=r.substr(0,r.length-1)),n+r):"."},basename:function(e){if("/"===e)return"/";var t=(e=(e=Gn.normalize(e)).replace(/\/$/,"")).lastIndexOf("/");return-1===t?e:e.substr(t+1)},join:function(){var e=Array.prototype.slice.call(arguments);return Gn.normalize(e.join("/"))},join2:function(e,t){return Gn.normalize(e+"/"+t)}};function kn(){if("object"==("undefined"==typeof crypto?"undefined":T(crypto))&&"function"==typeof crypto.getRandomValues){var e=new Uint8Array(1);return function(){return crypto.getRandomValues(e),e[0]}}return function(){return Y("randomDevice")}}var jn={resolve:function(){for(var e="",t=!1,n=arguments.length-1;n>=-1&&!t;n--){var r=n>=0?arguments[n]:Yn.cwd();if("string"!=typeof r)throw new TypeError("Arguments to path.resolve must be strings");if(!r)return"";e=r+"/"+e,t=Gn.isAbs(r)}return e=Gn.normalizeArray(e.split("/").filter((function(e){return!!e})),!t).join("/"),(t?"/":"")+e||"."},relative:function(e,t){function n(e){for(var t=0;t=0&&""===e[n];n--);return t>n?[]:e.slice(t,n-t+1)}e=jn.resolve(e).substr(1),t=jn.resolve(t).substr(1);for(var r=n(e.split("/")),i=n(t.split("/")),a=Math.min(r.length,i.length),s=a,o=0;o0?n:N(e)+1,i=new Array(r),a=O(e,i,0,i.length);return t&&(i.length=a),i}var Qn={ttys:[],init:function(){},shutdown:function(){},register:function(e,t){Qn.ttys[e]={input:[],output:[],ops:t},Yn.registerDevice(e,Qn.stream_ops)},stream_ops:{open:function(e){var t=Qn.ttys[e.node.rdev];if(!t)throw new Yn.ErrnoError(43);e.tty=t,e.seekable=!1},close:function(e){e.tty.ops.fsync(e.tty)},fsync:function(e){e.tty.ops.fsync(e.tty)},read:function(e,t,n,r,i){if(!e.tty||!e.tty.ops.get_char)throw new Yn.ErrnoError(60);for(var a=0,s=0;s0&&(d(_(e.output,0)),e.output=[])}},default_tty1_ops:{put_char:function(e,t){null===t||10===t?(v(_(e.output,0)),e.output=[]):0!=t&&e.output.push(t)},fsync:function(e){e.output&&e.output.length>0&&(v(_(e.output,0)),e.output=[])}}};function Wn(e){Y()}var zn={ops_table:null,mount:function(e){return zn.createNode(null,"/",16895,0)},createNode:function(e,t,n,r){if(Yn.isBlkdev(n)||Yn.isFIFO(n))throw new Yn.ErrnoError(63);zn.ops_table||(zn.ops_table={dir:{node:{getattr:zn.node_ops.getattr,setattr:zn.node_ops.setattr,lookup:zn.node_ops.lookup,mknod:zn.node_ops.mknod,rename:zn.node_ops.rename,unlink:zn.node_ops.unlink,rmdir:zn.node_ops.rmdir,readdir:zn.node_ops.readdir,symlink:zn.node_ops.symlink},stream:{llseek:zn.stream_ops.llseek}},file:{node:{getattr:zn.node_ops.getattr,setattr:zn.node_ops.setattr},stream:{llseek:zn.stream_ops.llseek,read:zn.stream_ops.read,write:zn.stream_ops.write,allocate:zn.stream_ops.allocate,mmap:zn.stream_ops.mmap,msync:zn.stream_ops.msync}},link:{node:{getattr:zn.node_ops.getattr,setattr:zn.node_ops.setattr,readlink:zn.node_ops.readlink},stream:{}},chrdev:{node:{getattr:zn.node_ops.getattr,setattr:zn.node_ops.setattr},stream:Yn.chrdev_stream_ops}});var i=Yn.createNode(e,t,n,r);return Yn.isDir(i.mode)?(i.node_ops=zn.ops_table.dir.node,i.stream_ops=zn.ops_table.dir.stream,i.contents={}):Yn.isFile(i.mode)?(i.node_ops=zn.ops_table.file.node,i.stream_ops=zn.ops_table.file.stream,i.usedBytes=0,i.contents=null):Yn.isLink(i.mode)?(i.node_ops=zn.ops_table.link.node,i.stream_ops=zn.ops_table.link.stream):Yn.isChrdev(i.mode)&&(i.node_ops=zn.ops_table.chrdev.node,i.stream_ops=zn.ops_table.chrdev.stream),i.timestamp=Date.now(),e&&(e.contents[t]=i,e.timestamp=i.timestamp),i},getFileDataAsTypedArray:function(e){return e.contents?e.contents.subarray?e.contents.subarray(0,e.usedBytes):new Uint8Array(e.contents):new Uint8Array(0)},expandFileStorage:function(e,t){t>>>=0;var n=e.contents?e.contents.length:0;if(!(n>=t)){t=Math.max(t,n*(n<1048576?2:1.125)>>>0),0!=n&&(t=Math.max(t,256));var r=e.contents;e.contents=new Uint8Array(t),e.usedBytes>0&&e.contents.set(r.subarray(0,e.usedBytes),0)}},resizeFileStorage:function(e,t){if(t>>>=0,e.usedBytes!=t)if(0==t)e.contents=null,e.usedBytes=0;else{var n=e.contents;e.contents=new Uint8Array(t),n&&e.contents.set(n.subarray(0,Math.min(t,e.usedBytes))),e.usedBytes=t}},node_ops:{getattr:function(e){var t={};return t.dev=Yn.isChrdev(e.mode)?e.id:1,t.ino=e.id,t.mode=e.mode,t.nlink=1,t.uid=0,t.gid=0,t.rdev=e.rdev,Yn.isDir(e.mode)?t.size=4096:Yn.isFile(e.mode)?t.size=e.usedBytes:Yn.isLink(e.mode)?t.size=e.link.length:t.size=0,t.atime=new Date(e.timestamp),t.mtime=new Date(e.timestamp),t.ctime=new Date(e.timestamp),t.blksize=4096,t.blocks=Math.ceil(t.size/t.blksize),t},setattr:function(e,t){void 0!==t.mode&&(e.mode=t.mode),void 0!==t.timestamp&&(e.timestamp=t.timestamp),void 0!==t.size&&zn.resizeFileStorage(e,t.size)},lookup:function(e,t){throw Yn.genericErrors[44]},mknod:function(e,t,n,r){return zn.createNode(e,t,n,r)},rename:function(e,t,n){if(Yn.isDir(e.mode)){var r;try{r=Yn.lookupNode(t,n)}catch(e){}if(r)for(var i in r.contents)throw new Yn.ErrnoError(55)}delete e.parent.contents[e.name],e.parent.timestamp=Date.now(),e.name=n,t.contents[n]=e,t.timestamp=e.parent.timestamp,e.parent=t},unlink:function(e,t){delete e.contents[t],e.timestamp=Date.now()},rmdir:function(e,t){var n=Yn.lookupNode(e,t);for(var r in n.contents)throw new Yn.ErrnoError(55);delete e.contents[t],e.timestamp=Date.now()},readdir:function(e){var t=[".",".."];for(var n in e.contents)e.contents.hasOwnProperty(n)&&t.push(n);return t},symlink:function(e,t,n){var r=zn.createNode(e,t,41471,0);return r.link=n,r},readlink:function(e){if(!Yn.isLink(e.mode))throw new Yn.ErrnoError(28);return e.link}},stream_ops:{read:function(e,t,n,r,i){var a=e.node.contents;if(i>=e.node.usedBytes)return 0;var s=Math.min(e.node.usedBytes-i,r);if(s>8&&a.subarray)t.set(a.subarray(i,i+s),n);else for(var o=0;o0||n+t>>=0,y.set(o,a>>>0)}else s=!1,a=o.byteOffset;return{ptr:a,allocated:s}},msync:function(e,t,n,r,i){return zn.stream_ops.write(e,t,0,r,n,!1),0}}};function Kn(e,t,n,r){var i=r?"":"al "+e;s(e,(function(n){I(n,'Loading data file "'+e+'" failed (no arrayBuffer).'),t(new Uint8Array(n)),i&&K()}),(function(t){if(!n)throw'Loading data file "'+e+'" failed.';n()})),i&&z()}var Yn={root:null,mounts:[],devices:{},streams:[],nextInode:1,nameTable:null,currentPath:"/",initialized:!1,ignorePermissions:!0,ErrnoError:null,genericErrors:{},filesystems:null,syncFSRequests:0,lookupPath:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(!(e=jn.resolve(e)))return{path:"",node:null};var n={follow_mount:!0,recurse_count:0};if((t=Object.assign(n,t)).recurse_count>8)throw new Yn.ErrnoError(32);for(var r=e.split("/").filter((function(e){return!!e})),i=Yn.root,a="/",s=0;s40)throw new Yn.ErrnoError(32)}}return{path:a,node:i}},getPath:function(e){for(var t;;){if(Yn.isRoot(e)){var n=e.mount.mountpoint;return t?"/"!==n[n.length-1]?n+"/"+t:n+t:n}t=t?e.name+"/"+t:e.name,e=e.parent}},hashName:function(e,t){for(var n=0,r=0;r>>0)%Yn.nameTable.length},hashAddNode:function(e){var t=Yn.hashName(e.parent.id,e.name);e.name_next=Yn.nameTable[t],Yn.nameTable[t]=e},hashRemoveNode:function(e){var t=Yn.hashName(e.parent.id,e.name);if(Yn.nameTable[t]===e)Yn.nameTable[t]=e.name_next;else for(var n=Yn.nameTable[t];n;){if(n.name_next===e){n.name_next=e.name_next;break}n=n.name_next}},lookupNode:function(e,t){var n=Yn.mayLookup(e);if(n)throw new Yn.ErrnoError(n,e);for(var r=Yn.hashName(e.id,t),i=Yn.nameTable[r];i;i=i.name_next){var a=i.name;if(i.parent.id===e.id&&a===t)return i}return Yn.lookup(e,t)},createNode:function(e,t,n,r){var i=new Yn.FSNode(e,t,n,r);return Yn.hashAddNode(i),i},destroyNode:function(e){Yn.hashRemoveNode(e)},isRoot:function(e){return e===e.parent},isMountpoint:function(e){return!!e.mounted},isFile:function(e){return 32768==(61440&e)},isDir:function(e){return 16384==(61440&e)},isLink:function(e){return 40960==(61440&e)},isChrdev:function(e){return 8192==(61440&e)},isBlkdev:function(e){return 24576==(61440&e)},isFIFO:function(e){return 4096==(61440&e)},isSocket:function(e){return 49152==(49152&e)},flagModes:{r:0,"r+":2,w:577,"w+":578,a:1089,"a+":1090},modeStringToFlags:function(e){var t=Yn.flagModes[e];if(void 0===t)throw new Error("Unknown file open mode: "+e);return t},flagsToPermissionString:function(e){var t=["r","w","rw"][3&e];return 512&e&&(t+="w"),t},nodePermissions:function(e,t){return Yn.ignorePermissions||(!t.includes("r")||292&e.mode)&&(!t.includes("w")||146&e.mode)&&(!t.includes("x")||73&e.mode)?0:2},mayLookup:function(e){var t=Yn.nodePermissions(e,"x");return t||(e.node_ops.lookup?0:2)},mayCreate:function(e,t){try{return Yn.lookupNode(e,t),20}catch(e){}return Yn.nodePermissions(e,"wx")},mayDelete:function(e,t,n){var r;try{r=Yn.lookupNode(e,t)}catch(e){return e.errno}var i=Yn.nodePermissions(e,"wx");if(i)return i;if(n){if(!Yn.isDir(r.mode))return 54;if(Yn.isRoot(r)||Yn.getPath(r)===Yn.cwd())return 10}else if(Yn.isDir(r.mode))return 31;return 0},mayOpen:function(e,t){return e?Yn.isLink(e.mode)?32:Yn.isDir(e.mode)&&("r"!==Yn.flagsToPermissionString(t)||512&t)?31:Yn.nodePermissions(e,Yn.flagsToPermissionString(t)):44},MAX_OPEN_FDS:4096,nextfd:function(){for(var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:Yn.MAX_OPEN_FDS,n=e;n<=t;n++)if(!Yn.streams[n])return n;throw new Yn.ErrnoError(33)},getStream:function(e){return Yn.streams[e]},createStream:function(e,t,n){Yn.FSStream||(Yn.FSStream=function(){this.shared={}},Yn.FSStream.prototype={},Object.defineProperties(Yn.FSStream.prototype,{object:{get:function(){return this.node},set:function(e){this.node=e}},isRead:{get:function(){return 1!=(2097155&this.flags)}},isWrite:{get:function(){return 0!=(2097155&this.flags)}},isAppend:{get:function(){return 1024&this.flags}},flags:{get:function(){return this.shared.flags},set:function(e){this.shared.flags=e}},position:{get:function(){return this.shared.position},set:function(e){this.shared.position=e}}})),e=Object.assign(new Yn.FSStream,e);var r=Yn.nextfd(t,n);return e.fd=r,Yn.streams[r]=e,e},closeStream:function(e){Yn.streams[e]=null},chrdev_stream_ops:{open:function(e){var t=Yn.getDevice(e.node.rdev);e.stream_ops=t.stream_ops,e.stream_ops.open&&e.stream_ops.open(e)},llseek:function(){throw new Yn.ErrnoError(70)}},major:function(e){return e>>8},minor:function(e){return 255&e},makedev:function(e,t){return e<<8|t},registerDevice:function(e,t){Yn.devices[e]={stream_ops:t}},getDevice:function(e){return Yn.devices[e]},getMounts:function(e){for(var t=[],n=[e];n.length;){var r=n.pop();t.push(r),n.push.apply(n,r.mounts)}return t},syncfs:function(e,t){"function"==typeof e&&(t=e,e=!1),Yn.syncFSRequests++,Yn.syncFSRequests>1&&v("warning: "+Yn.syncFSRequests+" FS.syncfs operations in flight at once, probably just doing extra work");var n=Yn.getMounts(Yn.root.mount),r=0;function i(e){return Yn.syncFSRequests--,t(e)}function a(e){if(e)return a.errored?void 0:(a.errored=!0,i(e));++r>=n.length&&i(null)}n.forEach((function(t){if(!t.type.syncfs)return a(null);t.type.syncfs(t,e,a)}))},mount:function(e,t,n){var r,i="/"===n,a=!n;if(i&&Yn.root)throw new Yn.ErrnoError(10);if(!i&&!a){var s=Yn.lookupPath(n,{follow_mount:!1});if(n=s.path,r=s.node,Yn.isMountpoint(r))throw new Yn.ErrnoError(10);if(!Yn.isDir(r.mode))throw new Yn.ErrnoError(54)}var o={type:e,opts:t,mountpoint:n,mounts:[]},l=e.mount(o);return l.mount=o,o.root=l,i?Yn.root=l:r&&(r.mounted=o,r.mount&&r.mount.mounts.push(o)),l},unmount:function(e){var t=Yn.lookupPath(e,{follow_mount:!1});if(!Yn.isMountpoint(t.node))throw new Yn.ErrnoError(28);var n=t.node,r=n.mounted,i=Yn.getMounts(r);Object.keys(Yn.nameTable).forEach((function(e){for(var t=Yn.nameTable[e];t;){var n=t.name_next;i.includes(t.mount)&&Yn.destroyNode(t),t=n}})),n.mounted=null;var a=n.mount.mounts.indexOf(r);n.mount.mounts.splice(a,1)},lookup:function(e,t){return e.node_ops.lookup(e,t)},mknod:function(e,t,n){var r=Yn.lookupPath(e,{parent:!0}).node,i=Gn.basename(e);if(!i||"."===i||".."===i)throw new Yn.ErrnoError(28);var a=Yn.mayCreate(r,i);if(a)throw new Yn.ErrnoError(a);if(!r.node_ops.mknod)throw new Yn.ErrnoError(63);return r.node_ops.mknod(r,i,t,n)},create:function(e,t){return t=void 0!==t?t:438,t&=4095,t|=32768,Yn.mknod(e,t,0)},mkdir:function(e,t){return t=void 0!==t?t:511,t&=1023,t|=16384,Yn.mknod(e,t,0)},mkdirTree:function(e,t){for(var n=e.split("/"),r="",i=0;i>>=0,r<0||i<0)throw new Yn.ErrnoError(28);if(Yn.isClosed(e))throw new Yn.ErrnoError(8);if(1==(2097155&e.flags))throw new Yn.ErrnoError(8);if(Yn.isDir(e.node.mode))throw new Yn.ErrnoError(31);if(!e.stream_ops.read)throw new Yn.ErrnoError(28);var a=void 0!==i;if(a){if(!e.seekable)throw new Yn.ErrnoError(70)}else i=e.position;var s=e.stream_ops.read(e,t,n,r,i);return a||(e.position+=s),s},write:function(e,t,n,r,i,a){if(n>>>=0,r<0||i<0)throw new Yn.ErrnoError(28);if(Yn.isClosed(e))throw new Yn.ErrnoError(8);if(0==(2097155&e.flags))throw new Yn.ErrnoError(8);if(Yn.isDir(e.node.mode))throw new Yn.ErrnoError(31);if(!e.stream_ops.write)throw new Yn.ErrnoError(28);e.seekable&&1024&e.flags&&Yn.llseek(e,0,2);var s=void 0!==i;if(s){if(!e.seekable)throw new Yn.ErrnoError(70)}else i=e.position;var o=e.stream_ops.write(e,t,n,r,i,a);return s||(e.position+=o),o},allocate:function(e,t,n){if(Yn.isClosed(e))throw new Yn.ErrnoError(8);if(t<0||n<=0)throw new Yn.ErrnoError(28);if(0==(2097155&e.flags))throw new Yn.ErrnoError(8);if(!Yn.isFile(e.node.mode)&&!Yn.isDir(e.node.mode))throw new Yn.ErrnoError(43);if(!e.stream_ops.allocate)throw new Yn.ErrnoError(138);e.stream_ops.allocate(e,t,n)},mmap:function(e,t,n,r,i){if(0!=(2&r)&&0==(2&i)&&2!=(2097155&e.flags))throw new Yn.ErrnoError(2);if(1==(2097155&e.flags))throw new Yn.ErrnoError(2);if(!e.stream_ops.mmap)throw new Yn.ErrnoError(43);return e.stream_ops.mmap(e,t,n,r,i)},msync:function(e,t,n,r,i){return n>>>=0,e.stream_ops.msync?e.stream_ops.msync(e,t,n,r,i):0},munmap:function(e){return 0},ioctl:function(e,t,n){if(!e.stream_ops.ioctl)throw new Yn.ErrnoError(59);return e.stream_ops.ioctl(e,t,n)},readFile:function(e){var t,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(n.flags=n.flags||0,n.encoding=n.encoding||"binary","utf8"!==n.encoding&&"binary"!==n.encoding)throw new Error('Invalid encoding type "'+n.encoding+'"');var r=Yn.open(e,n.flags),i=Yn.stat(e),a=i.size,s=new Uint8Array(a);return Yn.read(r,s,0,a,0),"utf8"===n.encoding?t=_(s,0):"binary"===n.encoding&&(t=s),Yn.close(r),t},writeFile:function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};n.flags=n.flags||577;var r=Yn.open(e,n.flags,n.mode);if("string"==typeof t){var i=new Uint8Array(N(t)+1),a=O(t,i,0,i.length);Yn.write(r,i,0,a,void 0,n.canOwn)}else{if(!ArrayBuffer.isView(t))throw new Error("Unsupported data type");Yn.write(r,t,0,t.byteLength,void 0,n.canOwn)}Yn.close(r)},cwd:function(){return Yn.currentPath},chdir:function(e){var t=Yn.lookupPath(e,{follow:!0});if(null===t.node)throw new Yn.ErrnoError(44);if(!Yn.isDir(t.node.mode))throw new Yn.ErrnoError(54);var n=Yn.nodePermissions(t.node,"x");if(n)throw new Yn.ErrnoError(n);Yn.currentPath=t.path},createDefaultDirectories:function(){Yn.mkdir("/tmp"),Yn.mkdir("/home"),Yn.mkdir("/home/web_user")},createDefaultDevices:function(){Yn.mkdir("/dev"),Yn.registerDevice(Yn.makedev(1,3),{read:function(){return 0},write:function(e,t,n,r,i){return r}}),Yn.mkdev("/dev/null",Yn.makedev(1,3)),Qn.register(Yn.makedev(5,0),Qn.default_tty_ops),Qn.register(Yn.makedev(6,0),Qn.default_tty1_ops),Yn.mkdev("/dev/tty",Yn.makedev(5,0)),Yn.mkdev("/dev/tty1",Yn.makedev(6,0));var e=kn();Yn.createDevice("/dev","random",e),Yn.createDevice("/dev","urandom",e),Yn.mkdir("/dev/shm"),Yn.mkdir("/dev/shm/tmp")},createSpecialDirectories:function(){Yn.mkdir("/proc");var e=Yn.mkdir("/proc/self");Yn.mkdir("/proc/self/fd"),Yn.mount({mount:function(){var t=Yn.createNode(e,"fd",16895,73);return t.node_ops={lookup:function(e,t){var n=+t,r=Yn.getStream(n);if(!r)throw new Yn.ErrnoError(8);var i={parent:null,mount:{mountpoint:"fake"},node_ops:{readlink:function(){return r.path}}};return i.parent=i,i}},t}},{},"/proc/self/fd")},createStandardStreams:function(){i.stdin?Yn.createDevice("/dev","stdin",i.stdin):Yn.symlink("/dev/tty","/dev/stdin"),i.stdout?Yn.createDevice("/dev","stdout",null,i.stdout):Yn.symlink("/dev/tty","/dev/stdout"),i.stderr?Yn.createDevice("/dev","stderr",null,i.stderr):Yn.symlink("/dev/tty1","/dev/stderr"),Yn.open("/dev/stdin",0),Yn.open("/dev/stdout",1),Yn.open("/dev/stderr",1)},ensureErrnoError:function(){Yn.ErrnoError||(Yn.ErrnoError=function(e,t){this.node=t,this.setErrno=function(e){this.errno=e},this.setErrno(e),this.message="FS error"},Yn.ErrnoError.prototype=new Error,Yn.ErrnoError.prototype.constructor=Yn.ErrnoError,[44].forEach((function(e){Yn.genericErrors[e]=new Yn.ErrnoError(e),Yn.genericErrors[e].stack=""})))},staticInit:function(){Yn.ensureErrnoError(),Yn.nameTable=new Array(4096),Yn.mount(zn,{},"/"),Yn.createDefaultDirectories(),Yn.createDefaultDevices(),Yn.createSpecialDirectories(),Yn.filesystems={MEMFS:zn}},init:function(e,t,n){Yn.init.initialized=!0,Yn.ensureErrnoError(),i.stdin=e||i.stdin,i.stdout=t||i.stdout,i.stderr=n||i.stderr,Yn.createStandardStreams()},quit:function(){Yn.init.initialized=!1;for(var e=0;ethis.length-1||e<0)){var t=e%this.chunkSize,n=e/this.chunkSize|0;return this.getter(n)[t]}},a.prototype.setDataGetter=function(e){this.getter=e},a.prototype.cacheLength=function(){var e=new XMLHttpRequest;if(e.open("HEAD",n,!1),e.send(null),!(e.status>=200&&e.status<300||304===e.status))throw new Error("Couldn't load "+n+". Status: "+e.status);var t,r=Number(e.getResponseHeader("Content-length")),i=(t=e.getResponseHeader("Accept-Ranges"))&&"bytes"===t,a=(t=e.getResponseHeader("Content-Encoding"))&&"gzip"===t,s=1048576;i||(s=r);var o=this;o.setDataGetter((function(e){var t=e*s,i=(e+1)*s-1;if(i=Math.min(i,r-1),void 0===o.chunks[e]&&(o.chunks[e]=function(e,t){if(e>t)throw new Error("invalid range ("+e+", "+t+") or no bytes requested!");if(t>r-1)throw new Error("only "+r+" bytes available! programmer error!");var i=new XMLHttpRequest;if(i.open("GET",n,!1),r!==s&&i.setRequestHeader("Range","bytes="+e+"-"+t),i.responseType="arraybuffer",i.overrideMimeType&&i.overrideMimeType("text/plain; charset=x-user-defined"),i.send(null),!(i.status>=200&&i.status<300||304===i.status))throw new Error("Couldn't load "+n+". Status: "+i.status);return void 0!==i.response?new Uint8Array(i.response||[]):Vn(i.responseText||"",!0)}(t,i)),void 0===o.chunks[e])throw new Error("doXHR failed!");return o.chunks[e]})),!a&&r||(s=r=1,r=this.getter(0).length,s=r,d("LazyFiles on gzip forces download of the whole file when length is accessed")),this._length=r,this._chunkSize=s,this.lengthKnown=!0},"undefined"!=typeof XMLHttpRequest)throw"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc";var s={isDevice:!1,url:n},o=Yn.createFile(e,t,s,r,i);s.contents?o.contents=s.contents:s.url&&(o.contents=null,o.url=s.url),Object.defineProperties(o,{usedBytes:{get:function(){return this.contents.length}}});var l={};function u(e,t,n,r,i){var a=e.node.contents;if(i>=a.length)return 0;var s=Math.min(a.length-i,r);if(a.slice)for(var o=0;o1&&void 0!==arguments[1]?arguments[1]:function(){},n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:function(){},r=Yn.indexedDB();try{var i=r.open(Yn.DB_NAME(),Yn.DB_VERSION)}catch(e){return n(e)}i.onupgradeneeded=function(){d("creating db"),i.result.createObjectStore(Yn.DB_STORE_NAME)},i.onsuccess=function(){var r=i.result.transaction([Yn.DB_STORE_NAME],"readwrite"),a=r.objectStore(Yn.DB_STORE_NAME),s=0,o=0,l=e.length;function u(){0==o?t():n()}e.forEach((function(e){var t=a.put(Yn.analyzePath(e).object.contents,e);t.onsuccess=function(){++s+o==l&&u()},t.onerror=function(){o++,s+o==l&&u()}})),r.onerror=n},i.onerror=n},loadFilesFromDB:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:function(){},n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:function(){},r=Yn.indexedDB();try{var i=r.open(Yn.DB_NAME(),Yn.DB_VERSION)}catch(e){return n(e)}i.onupgradeneeded=n,i.onsuccess=function(){var r=i.result;try{var a=r.transaction([Yn.DB_STORE_NAME],"readonly")}catch(e){return void n(e)}var s=a.objectStore(Yn.DB_STORE_NAME),o=0,l=0,u=e.length;function c(){0==l?t():n()}e.forEach((function(e){var t=s.get(e);t.onsuccess=function(){Yn.analyzePath(e).exists&&Yn.unlink(e),Yn.createDataFile(Gn.dirname(e),Gn.basename(e),t.result,!0,!0,!0),++o+l==u&&c()},t.onerror=function(){l++,o+l==u&&c()}})),a.onerror=n},i.onerror=n}},Xn={DEFAULT_POLLMASK:5,calculateAt:function(e,t,n){if(Gn.isAbs(t))return t;var r;if(r=-100===e?Yn.cwd():Xn.getStreamFromFD(e).path,0==t.length){if(!n)throw new Yn.ErrnoError(44);return r}return Gn.join2(r,t)},doStat:function(e,t,n){try{var r=e(t)}catch(e){if(e&&e.node&&Gn.normalize(t)!==Gn.normalize(Yn.getPath(e.node)))return-54;throw e}E[n>>>2]=r.dev,E[n+8>>>2]=r.ino,E[n+12>>>2]=r.mode,b[n+16>>>2]=r.nlink,E[n+20>>>2]=r.uid,E[n+24>>>2]=r.gid,E[n+28>>>2]=r.rdev,J=[r.size>>>0,(q=r.size,+Math.abs(q)>=1?q>0?(0|Math.min(+Math.floor(q/4294967296),4294967295))>>>0:~~+Math.ceil((q-+(~~q>>>0))/4294967296)>>>0:0)],E[n+40>>>2]=J[0],E[n+44>>>2]=J[1],E[n+48>>>2]=4096,E[n+52>>>2]=r.blocks;var i=r.atime.getTime(),a=r.mtime.getTime(),s=r.ctime.getTime();return J=[Math.floor(i/1e3)>>>0,(q=Math.floor(i/1e3),+Math.abs(q)>=1?q>0?(0|Math.min(+Math.floor(q/4294967296),4294967295))>>>0:~~+Math.ceil((q-+(~~q>>>0))/4294967296)>>>0:0)],E[n+56>>>2]=J[0],E[n+60>>>2]=J[1],b[n+64>>>2]=i%1e3*1e3,J=[Math.floor(a/1e3)>>>0,(q=Math.floor(a/1e3),+Math.abs(q)>=1?q>0?(0|Math.min(+Math.floor(q/4294967296),4294967295))>>>0:~~+Math.ceil((q-+(~~q>>>0))/4294967296)>>>0:0)],E[n+72>>>2]=J[0],E[n+76>>>2]=J[1],b[n+80>>>2]=a%1e3*1e3,J=[Math.floor(s/1e3)>>>0,(q=Math.floor(s/1e3),+Math.abs(q)>=1?q>0?(0|Math.min(+Math.floor(q/4294967296),4294967295))>>>0:~~+Math.ceil((q-+(~~q>>>0))/4294967296)>>>0:0)],E[n+88>>>2]=J[0],E[n+92>>>2]=J[1],b[n+96>>>2]=s%1e3*1e3,J=[r.ino>>>0,(q=r.ino,+Math.abs(q)>=1?q>0?(0|Math.min(+Math.floor(q/4294967296),4294967295))>>>0:~~+Math.ceil((q-+(~~q>>>0))/4294967296)>>>0:0)],E[n+104>>>2]=J[0],E[n+108>>>2]=J[1],0},doMsync:function(e,t,n,r,i){if(!Yn.isFile(t.node.mode))throw new Yn.ErrnoError(43);if(2&r)return 0;e>>>=0;var a=m.slice(e,e+n);Yn.msync(t,a,i,n,r)},varargs:void 0,get:function(){return Xn.varargs+=4,E[Xn.varargs-4>>>2]},getStr:function(e){return B(e)},getStreamFromFD:function(e){var t=Yn.getStream(e);if(!t)throw new Yn.ErrnoError(8);return t}};function qn(e,t){var n=0;return Hn().forEach((function(r,i){var a=t+n;b[e+4*i>>>2]=a,Un(r,a),n+=r.length+1})),0}function Jn(e,t){var n=Hn();b[e>>>2]=n.length;var r=0;return n.forEach((function(e){r+=e.length+1})),b[t>>>2]=r,0}function Zn(e){try{var t=Xn.getStreamFromFD(e);return Yn.close(t),0}catch(e){if(void 0===Yn||!(e instanceof Yn.ErrnoError))throw e;return e.errno}}function $n(e,t,n,r){for(var i=0,a=0;a>>2],o=b[t+4>>>2];t+=8;var l=Yn.read(e,y,s,o,r);if(l<0)return-1;if(i+=l,l>>2]=i,0}catch(e){if(void 0===Yn||!(e instanceof Yn.ErrnoError))throw e;return e.errno}}function tr(e,t){return t+2097152>>>0<4194305-!!e?(e>>>0)+4294967296*t:NaN}function nr(e,t,n,r,i){try{var a=tr(t,n);if(isNaN(a))return 61;var s=Xn.getStreamFromFD(e);return Yn.llseek(s,a,r),J=[s.position>>>0,(q=s.position,+Math.abs(q)>=1?q>0?(0|Math.min(+Math.floor(q/4294967296),4294967295))>>>0:~~+Math.ceil((q-+(~~q>>>0))/4294967296)>>>0:0)],E[i>>>2]=J[0],E[i+4>>>2]=J[1],s.getdents&&0===a&&0===r&&(s.getdents=null),0}catch(e){if(void 0===Yn||!(e instanceof Yn.ErrnoError))throw e;return e.errno}}function rr(e,t,n,r){for(var i=0,a=0;a>>2],o=b[t+4>>>2];t+=8;var l=Yn.write(e,y,s,o,r);if(l<0)return-1;i+=l,void 0!==r&&(r+=l)}return i}function ir(e,t,n,r){try{var i=rr(Xn.getStreamFromFD(e),t,n);return b[r>>>2]=i,0}catch(e){if(void 0===Yn||!(e instanceof Yn.ErrnoError))throw e;return e.errno}}function ar(e){return e%4==0&&(e%100!=0||e%400==0)}function sr(e,t){for(var n=0,r=0;r<=t;n+=e[r++]);return n}var or=[31,29,31,30,31,30,31,31,30,31,30,31],lr=[31,28,31,30,31,30,31,31,30,31,30,31];function ur(e,t){for(var n=new Date(e.getTime());t>0;){var r=ar(n.getFullYear()),i=n.getMonth(),a=(r?or:lr)[i];if(!(t>a-n.getDate()))return n.setDate(n.getDate()+t),n;t-=a-n.getDate()+1,n.setDate(1),i<11?n.setMonth(i+1):(n.setMonth(0),n.setFullYear(n.getFullYear()+1))}return n}function cr(e,t){y.set(e,t>>>0)}function fr(e,t,n,r){var i=E[r+40>>>2],a={tm_sec:E[r>>>2],tm_min:E[r+4>>>2],tm_hour:E[r+8>>>2],tm_mday:E[r+12>>>2],tm_mon:E[r+16>>>2],tm_year:E[r+20>>>2],tm_wday:E[r+24>>>2],tm_yday:E[r+28>>>2],tm_isdst:E[r+32>>>2],tm_gmtoff:E[r+36>>>2],tm_zone:i?B(i):""},s=B(n),o={"%c":"%a %b %d %H:%M:%S %Y","%D":"%m/%d/%y","%F":"%Y-%m-%d","%h":"%b","%r":"%I:%M:%S %p","%R":"%H:%M","%T":"%H:%M:%S","%x":"%m/%d/%y","%X":"%H:%M:%S","%Ec":"%c","%EC":"%C","%Ex":"%m/%d/%y","%EX":"%H:%M:%S","%Ey":"%y","%EY":"%Y","%Od":"%d","%Oe":"%e","%OH":"%H","%OI":"%I","%Om":"%m","%OM":"%M","%OS":"%S","%Ou":"%u","%OU":"%U","%OV":"%V","%Ow":"%w","%OW":"%W","%Oy":"%y"};for(var l in o)s=s.replace(new RegExp(l,"g"),o[l]);var u=["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],c=["January","February","March","April","May","June","July","August","September","October","November","December"];function f(e,t,n){for(var r="number"==typeof e?e.toString():e||"";r.length0?1:0}var r;return 0===(r=n(e.getFullYear()-t.getFullYear()))&&0===(r=n(e.getMonth()-t.getMonth()))&&(r=n(e.getDate()-t.getDate())),r}function d(e){switch(e.getDay()){case 0:return new Date(e.getFullYear()-1,11,29);case 1:return e;case 2:return new Date(e.getFullYear(),0,3);case 3:return new Date(e.getFullYear(),0,2);case 4:return new Date(e.getFullYear(),0,1);case 5:return new Date(e.getFullYear()-1,11,31);case 6:return new Date(e.getFullYear()-1,11,30)}}function v(e){var t=ur(new Date(e.tm_year+1900,0,1),e.tm_yday),n=new Date(t.getFullYear(),0,4),r=new Date(t.getFullYear()+1,0,4),i=d(n),a=d(r);return A(i,t)<=0?A(a,t)<=0?t.getFullYear()+1:t.getFullYear():t.getFullYear()-1}var h={"%a":function(e){return u[e.tm_wday].substring(0,3)},"%A":function(e){return u[e.tm_wday]},"%b":function(e){return c[e.tm_mon].substring(0,3)},"%B":function(e){return c[e.tm_mon]},"%C":function(e){return p((e.tm_year+1900)/100|0,2)},"%d":function(e){return p(e.tm_mday,2)},"%e":function(e){return f(e.tm_mday,2," ")},"%g":function(e){return v(e).toString().substring(2)},"%G":function(e){return v(e)},"%H":function(e){return p(e.tm_hour,2)},"%I":function(e){var t=e.tm_hour;return 0==t?t=12:t>12&&(t-=12),p(t,2)},"%j":function(e){return p(e.tm_mday+sr(ar(e.tm_year+1900)?or:lr,e.tm_mon-1),3)},"%m":function(e){return p(e.tm_mon+1,2)},"%M":function(e){return p(e.tm_min,2)},"%n":function(){return"\n"},"%p":function(e){return e.tm_hour>=0&&e.tm_hour<12?"AM":"PM"},"%S":function(e){return p(e.tm_sec,2)},"%t":function(){return"\t"},"%u":function(e){return e.tm_wday||7},"%U":function(e){var t=e.tm_yday+7-e.tm_wday;return p(Math.floor(t/7),2)},"%V":function(e){var t=Math.floor((e.tm_yday+7-(e.tm_wday+6)%7)/7);if((e.tm_wday+371-e.tm_yday-2)%7<=2&&t++,t){if(53==t){var n=(e.tm_wday+371-e.tm_yday)%7;4==n||3==n&&ar(e.tm_year)||(t=1)}}else{t=52;var r=(e.tm_wday+7-e.tm_yday-1)%7;(4==r||5==r&&ar(e.tm_year%400-1))&&t++}return p(t,2)},"%w":function(e){return e.tm_wday},"%W":function(e){var t=e.tm_yday+7-(e.tm_wday+6)%7;return p(Math.floor(t/7),2)},"%y":function(e){return(e.tm_year+1900).toString().substring(2)},"%Y":function(e){return e.tm_year+1900},"%z":function(e){var t=e.tm_gmtoff,n=t>=0;return t=(t=Math.abs(t)/60)/60*100+t%60,(n?"+":"-")+String("0000"+t).slice(-4)},"%Z":function(e){return e.tm_zone},"%%":function(){return"%"}};for(var l in s=s.replace(/%%/g,"\0\0"),h)s.includes(l)&&(s=s.replace(new RegExp(l,"g"),h[l](a)));var I=Vn(s=s.replace(/\0\0/g,"%"),!1);return I.length>t?0:(cr(I,e),I.length-1)}function pr(e,t,n,r,i){return fr(e,t,n,r)}Ie=i.InternalError=he(Error,"InternalError"),De(),Ce=i.BindingError=he(Error,"BindingError"),it(),Ke(),ht(),Dt=i.UnboundTypeError=he(Error,"UnboundTypeError"),Ut();var Ar=function(e,t,n,r){e||(e=this),this.parent=e,this.mount=e.mount,this.mounted=null,this.id=Yn.nextInode++,this.name=t,this.mode=n,this.node_ops={},this.stream_ops={},this.rdev=r},dr=365,vr=146;Object.defineProperties(Ar.prototype,{read:{get:function(){return(this.mode&dr)===dr},set:function(e){e?this.mode|=dr:this.mode&=~dr}},write:{get:function(){return(this.mode&vr)===vr},set:function(e){e?this.mode|=vr:this.mode&=~vr}},isFolder:{get:function(){return Yn.isDir(this.mode)}},isDevice:{get:function(){return Yn.isChrdev(this.mode)}}}),Yn.FSNode=Ar,Yn.staticInit();var hr={f:ae,R:we,p:Ee,F:Te,P:Oe,o:Ct,n:St,b:Nt,O:kt,B:Vt,s:Wt,z:Yt,c:Xt,r:Jt,h:Zt,A:$t,v:ln,S:un,i:cn,q:fn,e:pn,Q:An,m:dn,x:hn,a:xt,D:wn,k:gn,t:En,U:Tn,w:bn,C:Dn,T:Pn,g:Rn,u:Cn,l:_n,j:Bn,d:On,y:Sn,N:Nn,L:Mn,H:qn,I:Jn,J:Zn,K:er,E:nr,M:ir,G:pr};ne();var Ir=function(){return(Ir=i.asm.Y).apply(null,arguments)},yr=i.___getTypeName=function(){return(yr=i.___getTypeName=i.asm.Z).apply(null,arguments)};i.__embind_initialize_bindings=function(){return(i.__embind_initialize_bindings=i.asm._).apply(null,arguments)};var mr,wr=function(){return(wr=i.asm.$).apply(null,arguments)},gr=function(){return(gr=i.asm.aa).apply(null,arguments)};function Er(){function t(){mr||(mr=!0,i.calledRun=!0,h||(U(),e(i),i.onRuntimeInitialized&&i.onRuntimeInitialized(),G()))}Q>0||(H(),Q>0||(i.setStatus?(i.setStatus("Running..."),setTimeout((function(){setTimeout((function(){i.setStatus("")}),1),t()}),1)):t()))}if(i.dynCall_jiji=function(){return(i.dynCall_jiji=i.asm.ba).apply(null,arguments)},i.dynCall_viijii=function(){return(i.dynCall_viijii=i.asm.ca).apply(null,arguments)},i.dynCall_iiiiij=function(){return(i.dynCall_iiiiij=i.asm.da).apply(null,arguments)},i.dynCall_iiiiijj=function(){return(i.dynCall_iiiiijj=i.asm.ea).apply(null,arguments)},i.dynCall_iiiiiijj=function(){return(i.dynCall_iiiiiijj=i.asm.fa).apply(null,arguments)},W=function e(){mr||Er(),mr||(W=e)},i.preInit)for("function"==typeof i.preInit&&(i.preInit=[i.preInit]);i.preInit.length>0;)i.preInit.pop()();return Er(),r.ready});"object"===T(e)&&"object"===T(t)?t.exports=r:"function"==typeof define&&define.amd?define([],(function(){return r})):"object"===T(e)&&(e.WebIFCWasm=r)}}),h_=3087945054,I_=3415622556,y_=639361253,m_=4207607924,w_=812556717,g_=753842376,E_=2391406946,T_=3824725483,b_=1529196076,D_=2016517767,P_=3024970846,R_=3171933400,C_=1687234759,__=395920057,B_=3460190687,O_=1033361043,S_=3856911033,N_=4097777520,L_=3740093272,M_=3009204131,x_=3473067441,F_=1281925730,H_=P((function e(t){b(this,e),this.value=t,this.type=5})),U_=P((function e(t){b(this,e),this.expressID=t,this.type=0})),G_=[],k_={},j_={},V_={},Q_={},W_={},z_=[];function K_(e,t){return Array.isArray(t)&&t.map((function(t){return K_(e,t)})),t.typecode?W_[e][t.typecode](t.value):t.value}function Y_(e){return e.value=e.value.toString(),e.valueType=e.type,e.type=2,e.label=e.constructor.name.toUpperCase(),e}(ZC=JC||(JC={})).IFC2X3="IFC2X3",ZC.IFC4="IFC4",ZC.IFC4X3="IFC4X3",z_[1]="IFC2X3",G_[1]={3630933823:function(e,t){return new $C.IfcActorRole(e,t[0],t[1]?new $C.IfcLabel(t[1].value):null,t[2]?new $C.IfcText(t[2].value):null)},618182010:function(e,t){return new $C.IfcAddress(e,t[0],t[1]?new $C.IfcText(t[1].value):null,t[2]?new $C.IfcLabel(t[2].value):null)},639542469:function(e,t){return new $C.IfcApplication(e,new H_(t[0].value),new $C.IfcLabel(t[1].value),new $C.IfcLabel(t[2].value),new $C.IfcIdentifier(t[3].value))},411424972:function(e,t){return new $C.IfcAppliedValue(e,t[0]?new $C.IfcLabel(t[0].value):null,t[1]?new $C.IfcText(t[1].value):null,t[2]?new H_(t[2].value):null,t[3]?new H_(t[3].value):null,t[4]?new H_(t[4].value):null,t[5]?new H_(t[5].value):null)},1110488051:function(e,t){return new $C.IfcAppliedValueRelationship(e,new H_(t[0].value),t[1].map((function(e){return new H_(e.value)})),t[2],t[3]?new $C.IfcLabel(t[3].value):null,t[4]?new $C.IfcText(t[4].value):null)},130549933:function(e,t){return new $C.IfcApproval(e,t[0]?new $C.IfcText(t[0].value):null,new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcLabel(t[3].value):null,t[4]?new $C.IfcText(t[4].value):null,new $C.IfcLabel(t[5].value),new $C.IfcIdentifier(t[6].value))},2080292479:function(e,t){return new $C.IfcApprovalActorRelationship(e,new H_(t[0].value),new H_(t[1].value),new H_(t[2].value))},390851274:function(e,t){return new $C.IfcApprovalPropertyRelationship(e,t[0].map((function(e){return new H_(e.value)})),new H_(t[1].value))},3869604511:function(e,t){return new $C.IfcApprovalRelationship(e,new H_(t[0].value),new H_(t[1].value),t[2]?new $C.IfcText(t[2].value):null,new $C.IfcLabel(t[3].value))},4037036970:function(e,t){return new $C.IfcBoundaryCondition(e,t[0]?new $C.IfcLabel(t[0].value):null)},1560379544:function(e,t){return new $C.IfcBoundaryEdgeCondition(e,t[0]?new $C.IfcLabel(t[0].value):null,t[1]?new $C.IfcModulusOfLinearSubgradeReactionMeasure(t[1].value):null,t[2]?new $C.IfcModulusOfLinearSubgradeReactionMeasure(t[2].value):null,t[3]?new $C.IfcModulusOfLinearSubgradeReactionMeasure(t[3].value):null,t[4]?new $C.IfcModulusOfRotationalSubgradeReactionMeasure(t[4].value):null,t[5]?new $C.IfcModulusOfRotationalSubgradeReactionMeasure(t[5].value):null,t[6]?new $C.IfcModulusOfRotationalSubgradeReactionMeasure(t[6].value):null)},3367102660:function(e,t){return new $C.IfcBoundaryFaceCondition(e,t[0]?new $C.IfcLabel(t[0].value):null,t[1]?new $C.IfcModulusOfSubgradeReactionMeasure(t[1].value):null,t[2]?new $C.IfcModulusOfSubgradeReactionMeasure(t[2].value):null,t[3]?new $C.IfcModulusOfSubgradeReactionMeasure(t[3].value):null)},1387855156:function(e,t){return new $C.IfcBoundaryNodeCondition(e,t[0]?new $C.IfcLabel(t[0].value):null,t[1]?new $C.IfcLinearStiffnessMeasure(t[1].value):null,t[2]?new $C.IfcLinearStiffnessMeasure(t[2].value):null,t[3]?new $C.IfcLinearStiffnessMeasure(t[3].value):null,t[4]?new $C.IfcRotationalStiffnessMeasure(t[4].value):null,t[5]?new $C.IfcRotationalStiffnessMeasure(t[5].value):null,t[6]?new $C.IfcRotationalStiffnessMeasure(t[6].value):null)},2069777674:function(e,t){return new $C.IfcBoundaryNodeConditionWarping(e,t[0]?new $C.IfcLabel(t[0].value):null,t[1]?new $C.IfcLinearStiffnessMeasure(t[1].value):null,t[2]?new $C.IfcLinearStiffnessMeasure(t[2].value):null,t[3]?new $C.IfcLinearStiffnessMeasure(t[3].value):null,t[4]?new $C.IfcRotationalStiffnessMeasure(t[4].value):null,t[5]?new $C.IfcRotationalStiffnessMeasure(t[5].value):null,t[6]?new $C.IfcRotationalStiffnessMeasure(t[6].value):null,t[7]?new $C.IfcWarpingMomentMeasure(t[7].value):null)},622194075:function(e,t){return new $C.IfcCalendarDate(e,new $C.IfcDayInMonthNumber(t[0].value),new $C.IfcMonthInYearNumber(t[1].value),new $C.IfcYearNumber(t[2].value))},747523909:function(e,t){return new $C.IfcClassification(e,new $C.IfcLabel(t[0].value),new $C.IfcLabel(t[1].value),t[2]?new H_(t[2].value):null,new $C.IfcLabel(t[3].value))},1767535486:function(e,t){return new $C.IfcClassificationItem(e,new H_(t[0].value),t[1]?new H_(t[1].value):null,new $C.IfcLabel(t[2].value))},1098599126:function(e,t){return new $C.IfcClassificationItemRelationship(e,new H_(t[0].value),t[1].map((function(e){return new H_(e.value)})))},938368621:function(e,t){return new $C.IfcClassificationNotation(e,t[0].map((function(e){return new H_(e.value)})))},3639012971:function(e,t){return new $C.IfcClassificationNotationFacet(e,new $C.IfcLabel(t[0].value))},3264961684:function(e,t){return new $C.IfcColourSpecification(e,t[0]?new $C.IfcLabel(t[0].value):null)},2859738748:function(e,t){return new $C.IfcConnectionGeometry(e)},2614616156:function(e,t){return new $C.IfcConnectionPointGeometry(e,new H_(t[0].value),t[1]?new H_(t[1].value):null)},4257277454:function(e,t){return new $C.IfcConnectionPortGeometry(e,new H_(t[0].value),t[1]?new H_(t[1].value):null,new H_(t[2].value))},2732653382:function(e,t){return new $C.IfcConnectionSurfaceGeometry(e,new H_(t[0].value),t[1]?new H_(t[1].value):null)},1959218052:function(e,t){return new $C.IfcConstraint(e,new $C.IfcLabel(t[0].value),t[1]?new $C.IfcText(t[1].value):null,t[2],t[3]?new $C.IfcLabel(t[3].value):null,t[4]?new H_(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new $C.IfcLabel(t[6].value):null)},1658513725:function(e,t){return new $C.IfcConstraintAggregationRelationship(e,t[0]?new $C.IfcLabel(t[0].value):null,t[1]?new $C.IfcText(t[1].value):null,new H_(t[2].value),t[3].map((function(e){return new H_(e.value)})),t[4])},613356794:function(e,t){return new $C.IfcConstraintClassificationRelationship(e,new H_(t[0].value),t[1].map((function(e){return new H_(e.value)})))},347226245:function(e,t){return new $C.IfcConstraintRelationship(e,t[0]?new $C.IfcLabel(t[0].value):null,t[1]?new $C.IfcText(t[1].value):null,new H_(t[2].value),t[3].map((function(e){return new H_(e.value)})))},1065062679:function(e,t){return new $C.IfcCoordinatedUniversalTimeOffset(e,new $C.IfcHourInDay(t[0].value),t[1]?new $C.IfcMinuteInHour(t[1].value):null,t[2])},602808272:function(e,t){return new $C.IfcCostValue(e,t[0]?new $C.IfcLabel(t[0].value):null,t[1]?new $C.IfcText(t[1].value):null,t[2]?new H_(t[2].value):null,t[3]?new H_(t[3].value):null,t[4]?new H_(t[4].value):null,t[5]?new H_(t[5].value):null,new $C.IfcLabel(t[6].value),t[7]?new $C.IfcText(t[7].value):null)},539742890:function(e,t){return new $C.IfcCurrencyRelationship(e,new H_(t[0].value),new H_(t[1].value),new $C.IfcPositiveRatioMeasure(t[2].value),new H_(t[3].value),t[4]?new H_(t[4].value):null)},1105321065:function(e,t){return new $C.IfcCurveStyleFont(e,t[0]?new $C.IfcLabel(t[0].value):null,t[1].map((function(e){return new H_(e.value)})))},2367409068:function(e,t){return new $C.IfcCurveStyleFontAndScaling(e,t[0]?new $C.IfcLabel(t[0].value):null,new H_(t[1].value),new $C.IfcPositiveRatioMeasure(t[2].value))},3510044353:function(e,t){return new $C.IfcCurveStyleFontPattern(e,new $C.IfcLengthMeasure(t[0].value),new $C.IfcPositiveLengthMeasure(t[1].value))},1072939445:function(e,t){return new $C.IfcDateAndTime(e,new H_(t[0].value),new H_(t[1].value))},1765591967:function(e,t){return new $C.IfcDerivedUnit(e,t[0].map((function(e){return new H_(e.value)})),t[1],t[2]?new $C.IfcLabel(t[2].value):null)},1045800335:function(e,t){return new $C.IfcDerivedUnitElement(e,new H_(t[0].value),t[1].value)},2949456006:function(e,t){return new $C.IfcDimensionalExponents(e,t[0].value,t[1].value,t[2].value,t[3].value,t[4].value,t[5].value,t[6].value)},1376555844:function(e,t){return new $C.IfcDocumentElectronicFormat(e,t[0]?new $C.IfcLabel(t[0].value):null,t[1]?new $C.IfcLabel(t[1].value):null,t[2]?new $C.IfcLabel(t[2].value):null)},1154170062:function(e,t){return new $C.IfcDocumentInformation(e,new $C.IfcIdentifier(t[0].value),new $C.IfcLabel(t[1].value),t[2]?new $C.IfcText(t[2].value):null,t[3]?t[3].map((function(e){return new H_(e.value)})):null,t[4]?new $C.IfcText(t[4].value):null,t[5]?new $C.IfcText(t[5].value):null,t[6]?new $C.IfcText(t[6].value):null,t[7]?new $C.IfcLabel(t[7].value):null,t[8]?new H_(t[8].value):null,t[9]?t[9].map((function(e){return new H_(e.value)})):null,t[10]?new H_(t[10].value):null,t[11]?new H_(t[11].value):null,t[12]?new H_(t[12].value):null,t[13]?new H_(t[13].value):null,t[14]?new H_(t[14].value):null,t[15],t[16])},770865208:function(e,t){return new $C.IfcDocumentInformationRelationship(e,new H_(t[0].value),t[1].map((function(e){return new H_(e.value)})),t[2]?new $C.IfcLabel(t[2].value):null)},3796139169:function(e,t){return new $C.IfcDraughtingCalloutRelationship(e,t[0]?new $C.IfcLabel(t[0].value):null,t[1]?new $C.IfcText(t[1].value):null,new H_(t[2].value),new H_(t[3].value))},1648886627:function(e,t){return new $C.IfcEnvironmentalImpactValue(e,t[0]?new $C.IfcLabel(t[0].value):null,t[1]?new $C.IfcText(t[1].value):null,t[2]?new H_(t[2].value):null,t[3]?new H_(t[3].value):null,t[4]?new H_(t[4].value):null,t[5]?new H_(t[5].value):null,new $C.IfcLabel(t[6].value),t[7],t[8]?new $C.IfcLabel(t[8].value):null)},3200245327:function(e,t){return new $C.IfcExternalReference(e,t[0]?new $C.IfcLabel(t[0].value):null,t[1]?new $C.IfcIdentifier(t[1].value):null,t[2]?new $C.IfcLabel(t[2].value):null)},2242383968:function(e,t){return new $C.IfcExternallyDefinedHatchStyle(e,t[0]?new $C.IfcLabel(t[0].value):null,t[1]?new $C.IfcIdentifier(t[1].value):null,t[2]?new $C.IfcLabel(t[2].value):null)},1040185647:function(e,t){return new $C.IfcExternallyDefinedSurfaceStyle(e,t[0]?new $C.IfcLabel(t[0].value):null,t[1]?new $C.IfcIdentifier(t[1].value):null,t[2]?new $C.IfcLabel(t[2].value):null)},3207319532:function(e,t){return new $C.IfcExternallyDefinedSymbol(e,t[0]?new $C.IfcLabel(t[0].value):null,t[1]?new $C.IfcIdentifier(t[1].value):null,t[2]?new $C.IfcLabel(t[2].value):null)},3548104201:function(e,t){return new $C.IfcExternallyDefinedTextFont(e,t[0]?new $C.IfcLabel(t[0].value):null,t[1]?new $C.IfcIdentifier(t[1].value):null,t[2]?new $C.IfcLabel(t[2].value):null)},852622518:function(e,t){return new $C.IfcGridAxis(e,t[0]?new $C.IfcLabel(t[0].value):null,new H_(t[1].value),new $C.IfcBoolean(t[2].value))},3020489413:function(e,t){return new $C.IfcIrregularTimeSeriesValue(e,new H_(t[0].value),t[1].map((function(e){return K_(1,e)})))},2655187982:function(e,t){return new $C.IfcLibraryInformation(e,new $C.IfcLabel(t[0].value),t[1]?new $C.IfcLabel(t[1].value):null,t[2]?new H_(t[2].value):null,t[3]?new H_(t[3].value):null,t[4]?t[4].map((function(e){return new H_(e.value)})):null)},3452421091:function(e,t){return new $C.IfcLibraryReference(e,t[0]?new $C.IfcLabel(t[0].value):null,t[1]?new $C.IfcIdentifier(t[1].value):null,t[2]?new $C.IfcLabel(t[2].value):null)},4162380809:function(e,t){return new $C.IfcLightDistributionData(e,new $C.IfcPlaneAngleMeasure(t[0].value),t[1].map((function(e){return new $C.IfcPlaneAngleMeasure(e.value)})),t[2].map((function(e){return new $C.IfcLuminousIntensityDistributionMeasure(e.value)})))},1566485204:function(e,t){return new $C.IfcLightIntensityDistribution(e,t[0],t[1].map((function(e){return new H_(e.value)})))},30780891:function(e,t){return new $C.IfcLocalTime(e,new $C.IfcHourInDay(t[0].value),t[1]?new $C.IfcMinuteInHour(t[1].value):null,t[2]?new $C.IfcSecondInMinute(t[2].value):null,t[3]?new H_(t[3].value):null,t[4]?new $C.IfcDaylightSavingHour(t[4].value):null)},1838606355:function(e,t){return new $C.IfcMaterial(e,new $C.IfcLabel(t[0].value))},1847130766:function(e,t){return new $C.IfcMaterialClassificationRelationship(e,t[0].map((function(e){return new H_(e.value)})),new H_(t[1].value))},248100487:function(e,t){return new $C.IfcMaterialLayer(e,t[0]?new H_(t[0].value):null,new $C.IfcPositiveLengthMeasure(t[1].value),t[2]?new $C.IfcLogical(t[2].value):null)},3303938423:function(e,t){return new $C.IfcMaterialLayerSet(e,t[0].map((function(e){return new H_(e.value)})),t[1]?new $C.IfcLabel(t[1].value):null)},1303795690:function(e,t){return new $C.IfcMaterialLayerSetUsage(e,new H_(t[0].value),t[1],t[2],new $C.IfcLengthMeasure(t[3].value))},2199411900:function(e,t){return new $C.IfcMaterialList(e,t[0].map((function(e){return new H_(e.value)})))},3265635763:function(e,t){return new $C.IfcMaterialProperties(e,new H_(t[0].value))},2597039031:function(e,t){return new $C.IfcMeasureWithUnit(e,K_(1,t[0]),new H_(t[1].value))},4256014907:function(e,t){return new $C.IfcMechanicalMaterialProperties(e,new H_(t[0].value),t[1]?new $C.IfcDynamicViscosityMeasure(t[1].value):null,t[2]?new $C.IfcModulusOfElasticityMeasure(t[2].value):null,t[3]?new $C.IfcModulusOfElasticityMeasure(t[3].value):null,t[4]?new $C.IfcPositiveRatioMeasure(t[4].value):null,t[5]?new $C.IfcThermalExpansionCoefficientMeasure(t[5].value):null)},677618848:function(e,t){return new $C.IfcMechanicalSteelMaterialProperties(e,new H_(t[0].value),t[1]?new $C.IfcDynamicViscosityMeasure(t[1].value):null,t[2]?new $C.IfcModulusOfElasticityMeasure(t[2].value):null,t[3]?new $C.IfcModulusOfElasticityMeasure(t[3].value):null,t[4]?new $C.IfcPositiveRatioMeasure(t[4].value):null,t[5]?new $C.IfcThermalExpansionCoefficientMeasure(t[5].value):null,t[6]?new $C.IfcPressureMeasure(t[6].value):null,t[7]?new $C.IfcPressureMeasure(t[7].value):null,t[8]?new $C.IfcPositiveRatioMeasure(t[8].value):null,t[9]?new $C.IfcModulusOfElasticityMeasure(t[9].value):null,t[10]?new $C.IfcPressureMeasure(t[10].value):null,t[11]?new $C.IfcPositiveRatioMeasure(t[11].value):null,t[12]?t[12].map((function(e){return new H_(e.value)})):null)},3368373690:function(e,t){return new $C.IfcMetric(e,new $C.IfcLabel(t[0].value),t[1]?new $C.IfcText(t[1].value):null,t[2],t[3]?new $C.IfcLabel(t[3].value):null,t[4]?new H_(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new $C.IfcLabel(t[6].value):null,t[7],t[8]?new $C.IfcLabel(t[8].value):null,new H_(t[9].value))},2706619895:function(e,t){return new $C.IfcMonetaryUnit(e,t[0])},1918398963:function(e,t){return new $C.IfcNamedUnit(e,new H_(t[0].value),t[1])},3701648758:function(e,t){return new $C.IfcObjectPlacement(e)},2251480897:function(e,t){return new $C.IfcObjective(e,new $C.IfcLabel(t[0].value),t[1]?new $C.IfcText(t[1].value):null,t[2],t[3]?new $C.IfcLabel(t[3].value):null,t[4]?new H_(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new $C.IfcLabel(t[6].value):null,t[7]?new H_(t[7].value):null,t[8]?new H_(t[8].value):null,t[9],t[10]?new $C.IfcLabel(t[10].value):null)},1227763645:function(e,t){return new $C.IfcOpticalMaterialProperties(e,new H_(t[0].value),t[1]?new $C.IfcPositiveRatioMeasure(t[1].value):null,t[2]?new $C.IfcPositiveRatioMeasure(t[2].value):null,t[3]?new $C.IfcPositiveRatioMeasure(t[3].value):null,t[4]?new $C.IfcPositiveRatioMeasure(t[4].value):null,t[5]?new $C.IfcPositiveRatioMeasure(t[5].value):null,t[6]?new $C.IfcPositiveRatioMeasure(t[6].value):null,t[7]?new $C.IfcPositiveRatioMeasure(t[7].value):null,t[8]?new $C.IfcPositiveRatioMeasure(t[8].value):null,t[9]?new $C.IfcPositiveRatioMeasure(t[9].value):null)},4251960020:function(e,t){return new $C.IfcOrganization(e,t[0]?new $C.IfcIdentifier(t[0].value):null,new $C.IfcLabel(t[1].value),t[2]?new $C.IfcText(t[2].value):null,t[3]?t[3].map((function(e){return new H_(e.value)})):null,t[4]?t[4].map((function(e){return new H_(e.value)})):null)},1411181986:function(e,t){return new $C.IfcOrganizationRelationship(e,new $C.IfcLabel(t[0].value),t[1]?new $C.IfcText(t[1].value):null,new H_(t[2].value),t[3].map((function(e){return new H_(e.value)})))},1207048766:function(e,t){return new $C.IfcOwnerHistory(e,new H_(t[0].value),new H_(t[1].value),t[2],t[3],t[4]?new $C.IfcTimeStamp(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,new $C.IfcTimeStamp(t[7].value))},2077209135:function(e,t){return new $C.IfcPerson(e,t[0]?new $C.IfcIdentifier(t[0].value):null,t[1]?new $C.IfcLabel(t[1].value):null,t[2]?new $C.IfcLabel(t[2].value):null,t[3]?t[3].map((function(e){return new $C.IfcLabel(e.value)})):null,t[4]?t[4].map((function(e){return new $C.IfcLabel(e.value)})):null,t[5]?t[5].map((function(e){return new $C.IfcLabel(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?t[7].map((function(e){return new H_(e.value)})):null)},101040310:function(e,t){return new $C.IfcPersonAndOrganization(e,new H_(t[0].value),new H_(t[1].value),t[2]?t[2].map((function(e){return new H_(e.value)})):null)},2483315170:function(e,t){return new $C.IfcPhysicalQuantity(e,new $C.IfcLabel(t[0].value),t[1]?new $C.IfcText(t[1].value):null)},2226359599:function(e,t){return new $C.IfcPhysicalSimpleQuantity(e,new $C.IfcLabel(t[0].value),t[1]?new $C.IfcText(t[1].value):null,t[2]?new H_(t[2].value):null)},3355820592:function(e,t){return new $C.IfcPostalAddress(e,t[0],t[1]?new $C.IfcText(t[1].value):null,t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcLabel(t[3].value):null,t[4]?t[4].map((function(e){return new $C.IfcLabel(e.value)})):null,t[5]?new $C.IfcLabel(t[5].value):null,t[6]?new $C.IfcLabel(t[6].value):null,t[7]?new $C.IfcLabel(t[7].value):null,t[8]?new $C.IfcLabel(t[8].value):null,t[9]?new $C.IfcLabel(t[9].value):null)},3727388367:function(e,t){return new $C.IfcPreDefinedItem(e,new $C.IfcLabel(t[0].value))},990879717:function(e,t){return new $C.IfcPreDefinedSymbol(e,new $C.IfcLabel(t[0].value))},3213052703:function(e,t){return new $C.IfcPreDefinedTerminatorSymbol(e,new $C.IfcLabel(t[0].value))},1775413392:function(e,t){return new $C.IfcPreDefinedTextFont(e,new $C.IfcLabel(t[0].value))},2022622350:function(e,t){return new $C.IfcPresentationLayerAssignment(e,new $C.IfcLabel(t[0].value),t[1]?new $C.IfcText(t[1].value):null,t[2].map((function(e){return new H_(e.value)})),t[3]?new $C.IfcIdentifier(t[3].value):null)},1304840413:function(e,t){return new $C.IfcPresentationLayerWithStyle(e,new $C.IfcLabel(t[0].value),t[1]?new $C.IfcText(t[1].value):null,t[2].map((function(e){return new H_(e.value)})),t[3]?new $C.IfcIdentifier(t[3].value):null,t[4].value,t[5].value,t[6].value,t[7]?t[7].map((function(e){return new H_(e.value)})):null)},3119450353:function(e,t){return new $C.IfcPresentationStyle(e,t[0]?new $C.IfcLabel(t[0].value):null)},2417041796:function(e,t){return new $C.IfcPresentationStyleAssignment(e,t[0].map((function(e){return new H_(e.value)})))},2095639259:function(e,t){return new $C.IfcProductRepresentation(e,t[0]?new $C.IfcLabel(t[0].value):null,t[1]?new $C.IfcText(t[1].value):null,t[2].map((function(e){return new H_(e.value)})))},2267347899:function(e,t){return new $C.IfcProductsOfCombustionProperties(e,new H_(t[0].value),t[1]?new $C.IfcSpecificHeatCapacityMeasure(t[1].value):null,t[2]?new $C.IfcPositiveRatioMeasure(t[2].value):null,t[3]?new $C.IfcPositiveRatioMeasure(t[3].value):null,t[4]?new $C.IfcPositiveRatioMeasure(t[4].value):null)},3958567839:function(e,t){return new $C.IfcProfileDef(e,t[0],t[1]?new $C.IfcLabel(t[1].value):null)},2802850158:function(e,t){return new $C.IfcProfileProperties(e,t[0]?new $C.IfcLabel(t[0].value):null,t[1]?new H_(t[1].value):null)},2598011224:function(e,t){return new $C.IfcProperty(e,new $C.IfcIdentifier(t[0].value),t[1]?new $C.IfcText(t[1].value):null)},3896028662:function(e,t){return new $C.IfcPropertyConstraintRelationship(e,new H_(t[0].value),t[1].map((function(e){return new H_(e.value)})),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null)},148025276:function(e,t){return new $C.IfcPropertyDependencyRelationship(e,new H_(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcText(t[4].value):null)},3710013099:function(e,t){return new $C.IfcPropertyEnumeration(e,new $C.IfcLabel(t[0].value),t[1].map((function(e){return K_(1,e)})),t[2]?new H_(t[2].value):null)},2044713172:function(e,t){return new $C.IfcQuantityArea(e,new $C.IfcLabel(t[0].value),t[1]?new $C.IfcText(t[1].value):null,t[2]?new H_(t[2].value):null,new $C.IfcAreaMeasure(t[3].value))},2093928680:function(e,t){return new $C.IfcQuantityCount(e,new $C.IfcLabel(t[0].value),t[1]?new $C.IfcText(t[1].value):null,t[2]?new H_(t[2].value):null,new $C.IfcCountMeasure(t[3].value))},931644368:function(e,t){return new $C.IfcQuantityLength(e,new $C.IfcLabel(t[0].value),t[1]?new $C.IfcText(t[1].value):null,t[2]?new H_(t[2].value):null,new $C.IfcLengthMeasure(t[3].value))},3252649465:function(e,t){return new $C.IfcQuantityTime(e,new $C.IfcLabel(t[0].value),t[1]?new $C.IfcText(t[1].value):null,t[2]?new H_(t[2].value):null,new $C.IfcTimeMeasure(t[3].value))},2405470396:function(e,t){return new $C.IfcQuantityVolume(e,new $C.IfcLabel(t[0].value),t[1]?new $C.IfcText(t[1].value):null,t[2]?new H_(t[2].value):null,new $C.IfcVolumeMeasure(t[3].value))},825690147:function(e,t){return new $C.IfcQuantityWeight(e,new $C.IfcLabel(t[0].value),t[1]?new $C.IfcText(t[1].value):null,t[2]?new H_(t[2].value):null,new $C.IfcMassMeasure(t[3].value))},2692823254:function(e,t){return new $C.IfcReferencesValueDocument(e,new H_(t[0].value),t[1].map((function(e){return new H_(e.value)})),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null)},1580146022:function(e,t){return new $C.IfcReinforcementBarProperties(e,new $C.IfcAreaMeasure(t[0].value),new $C.IfcLabel(t[1].value),t[2],t[3]?new $C.IfcLengthMeasure(t[3].value):null,t[4]?new $C.IfcPositiveLengthMeasure(t[4].value):null,t[5]?new $C.IfcCountMeasure(t[5].value):null)},1222501353:function(e,t){return new $C.IfcRelaxation(e,new $C.IfcNormalisedRatioMeasure(t[0].value),new $C.IfcNormalisedRatioMeasure(t[1].value))},1076942058:function(e,t){return new $C.IfcRepresentation(e,new H_(t[0].value),t[1]?new $C.IfcLabel(t[1].value):null,t[2]?new $C.IfcLabel(t[2].value):null,t[3].map((function(e){return new H_(e.value)})))},3377609919:function(e,t){return new $C.IfcRepresentationContext(e,t[0]?new $C.IfcLabel(t[0].value):null,t[1]?new $C.IfcLabel(t[1].value):null)},3008791417:function(e,t){return new $C.IfcRepresentationItem(e)},1660063152:function(e,t){return new $C.IfcRepresentationMap(e,new H_(t[0].value),new H_(t[1].value))},3679540991:function(e,t){return new $C.IfcRibPlateProfileProperties(e,t[0]?new $C.IfcLabel(t[0].value):null,t[1]?new H_(t[1].value):null,t[2]?new $C.IfcPositiveLengthMeasure(t[2].value):null,t[3]?new $C.IfcPositiveLengthMeasure(t[3].value):null,t[4]?new $C.IfcPositiveLengthMeasure(t[4].value):null,t[5]?new $C.IfcPositiveLengthMeasure(t[5].value):null,t[6])},2341007311:function(e,t){return new $C.IfcRoot(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null)},448429030:function(e,t){return new $C.IfcSIUnit(e,t[0],t[1],t[2])},2042790032:function(e,t){return new $C.IfcSectionProperties(e,t[0],new H_(t[1].value),t[2]?new H_(t[2].value):null)},4165799628:function(e,t){return new $C.IfcSectionReinforcementProperties(e,new $C.IfcLengthMeasure(t[0].value),new $C.IfcLengthMeasure(t[1].value),t[2]?new $C.IfcLengthMeasure(t[2].value):null,t[3],new H_(t[4].value),t[5].map((function(e){return new H_(e.value)})))},867548509:function(e,t){return new $C.IfcShapeAspect(e,t[0].map((function(e){return new H_(e.value)})),t[1]?new $C.IfcLabel(t[1].value):null,t[2]?new $C.IfcText(t[2].value):null,t[3].value,new H_(t[4].value))},3982875396:function(e,t){return new $C.IfcShapeModel(e,new H_(t[0].value),t[1]?new $C.IfcLabel(t[1].value):null,t[2]?new $C.IfcLabel(t[2].value):null,t[3].map((function(e){return new H_(e.value)})))},4240577450:function(e,t){return new $C.IfcShapeRepresentation(e,new H_(t[0].value),t[1]?new $C.IfcLabel(t[1].value):null,t[2]?new $C.IfcLabel(t[2].value):null,t[3].map((function(e){return new H_(e.value)})))},3692461612:function(e,t){return new $C.IfcSimpleProperty(e,new $C.IfcIdentifier(t[0].value),t[1]?new $C.IfcText(t[1].value):null)},2273995522:function(e,t){return new $C.IfcStructuralConnectionCondition(e,t[0]?new $C.IfcLabel(t[0].value):null)},2162789131:function(e,t){return new $C.IfcStructuralLoad(e,t[0]?new $C.IfcLabel(t[0].value):null)},2525727697:function(e,t){return new $C.IfcStructuralLoadStatic(e,t[0]?new $C.IfcLabel(t[0].value):null)},3408363356:function(e,t){return new $C.IfcStructuralLoadTemperature(e,t[0]?new $C.IfcLabel(t[0].value):null,t[1]?new $C.IfcThermodynamicTemperatureMeasure(t[1].value):null,t[2]?new $C.IfcThermodynamicTemperatureMeasure(t[2].value):null,t[3]?new $C.IfcThermodynamicTemperatureMeasure(t[3].value):null)},2830218821:function(e,t){return new $C.IfcStyleModel(e,new H_(t[0].value),t[1]?new $C.IfcLabel(t[1].value):null,t[2]?new $C.IfcLabel(t[2].value):null,t[3].map((function(e){return new H_(e.value)})))},3958052878:function(e,t){return new $C.IfcStyledItem(e,t[0]?new H_(t[0].value):null,t[1].map((function(e){return new H_(e.value)})),t[2]?new $C.IfcLabel(t[2].value):null)},3049322572:function(e,t){return new $C.IfcStyledRepresentation(e,new H_(t[0].value),t[1]?new $C.IfcLabel(t[1].value):null,t[2]?new $C.IfcLabel(t[2].value):null,t[3].map((function(e){return new H_(e.value)})))},1300840506:function(e,t){return new $C.IfcSurfaceStyle(e,t[0]?new $C.IfcLabel(t[0].value):null,t[1],t[2].map((function(e){return new H_(e.value)})))},3303107099:function(e,t){return new $C.IfcSurfaceStyleLighting(e,new H_(t[0].value),new H_(t[1].value),new H_(t[2].value),new H_(t[3].value))},1607154358:function(e,t){return new $C.IfcSurfaceStyleRefraction(e,t[0]?new $C.IfcReal(t[0].value):null,t[1]?new $C.IfcReal(t[1].value):null)},846575682:function(e,t){return new $C.IfcSurfaceStyleShading(e,new H_(t[0].value))},1351298697:function(e,t){return new $C.IfcSurfaceStyleWithTextures(e,t[0].map((function(e){return new H_(e.value)})))},626085974:function(e,t){return new $C.IfcSurfaceTexture(e,t[0].value,t[1].value,t[2],t[3]?new H_(t[3].value):null)},1290481447:function(e,t){return new $C.IfcSymbolStyle(e,t[0]?new $C.IfcLabel(t[0].value):null,K_(1,t[1]))},985171141:function(e,t){return new $C.IfcTable(e,t[0].value,t[1].map((function(e){return new H_(e.value)})))},531007025:function(e,t){return new $C.IfcTableRow(e,t[0].map((function(e){return K_(1,e)})),t[1].value)},912023232:function(e,t){return new $C.IfcTelecomAddress(e,t[0],t[1]?new $C.IfcText(t[1].value):null,t[2]?new $C.IfcLabel(t[2].value):null,t[3]?t[3].map((function(e){return new $C.IfcLabel(e.value)})):null,t[4]?t[4].map((function(e){return new $C.IfcLabel(e.value)})):null,t[5]?new $C.IfcLabel(t[5].value):null,t[6]?t[6].map((function(e){return new $C.IfcLabel(e.value)})):null,t[7]?new $C.IfcLabel(t[7].value):null)},1447204868:function(e,t){return new $C.IfcTextStyle(e,t[0]?new $C.IfcLabel(t[0].value):null,t[1]?new H_(t[1].value):null,t[2]?new H_(t[2].value):null,new H_(t[3].value))},1983826977:function(e,t){return new $C.IfcTextStyleFontModel(e,new $C.IfcLabel(t[0].value),t[1]?t[1].map((function(e){return new $C.IfcTextFontName(e.value)})):null,t[2]?new $C.IfcFontStyle(t[2].value):null,t[3]?new $C.IfcFontVariant(t[3].value):null,t[4]?new $C.IfcFontWeight(t[4].value):null,K_(1,t[5]))},2636378356:function(e,t){return new $C.IfcTextStyleForDefinedFont(e,new H_(t[0].value),t[1]?new H_(t[1].value):null)},1640371178:function(e,t){return new $C.IfcTextStyleTextModel(e,t[0]?K_(1,t[0]):null,t[1]?new $C.IfcTextAlignment(t[1].value):null,t[2]?new $C.IfcTextDecoration(t[2].value):null,t[3]?K_(1,t[3]):null,t[4]?K_(1,t[4]):null,t[5]?new $C.IfcTextTransformation(t[5].value):null,t[6]?K_(1,t[6]):null)},1484833681:function(e,t){return new $C.IfcTextStyleWithBoxCharacteristics(e,t[0]?new $C.IfcPositiveLengthMeasure(t[0].value):null,t[1]?new $C.IfcPositiveLengthMeasure(t[1].value):null,t[2]?new $C.IfcPlaneAngleMeasure(t[2].value):null,t[3]?new $C.IfcPlaneAngleMeasure(t[3].value):null,t[4]?K_(1,t[4]):null)},280115917:function(e,t){return new $C.IfcTextureCoordinate(e)},1742049831:function(e,t){return new $C.IfcTextureCoordinateGenerator(e,new $C.IfcLabel(t[0].value),t[1].map((function(e){return K_(1,e)})))},2552916305:function(e,t){return new $C.IfcTextureMap(e,t[0].map((function(e){return new H_(e.value)})))},1210645708:function(e,t){return new $C.IfcTextureVertex(e,t[0].map((function(e){return new $C.IfcParameterValue(e.value)})))},3317419933:function(e,t){return new $C.IfcThermalMaterialProperties(e,new H_(t[0].value),t[1]?new $C.IfcSpecificHeatCapacityMeasure(t[1].value):null,t[2]?new $C.IfcThermodynamicTemperatureMeasure(t[2].value):null,t[3]?new $C.IfcThermodynamicTemperatureMeasure(t[3].value):null,t[4]?new $C.IfcThermalConductivityMeasure(t[4].value):null)},3101149627:function(e,t){return new $C.IfcTimeSeries(e,new $C.IfcLabel(t[0].value),t[1]?new $C.IfcText(t[1].value):null,new H_(t[2].value),new H_(t[3].value),t[4],t[5],t[6]?new $C.IfcLabel(t[6].value):null,t[7]?new H_(t[7].value):null)},1718945513:function(e,t){return new $C.IfcTimeSeriesReferenceRelationship(e,new H_(t[0].value),t[1].map((function(e){return new H_(e.value)})))},581633288:function(e,t){return new $C.IfcTimeSeriesValue(e,t[0].map((function(e){return K_(1,e)})))},1377556343:function(e,t){return new $C.IfcTopologicalRepresentationItem(e)},1735638870:function(e,t){return new $C.IfcTopologyRepresentation(e,new H_(t[0].value),t[1]?new $C.IfcLabel(t[1].value):null,t[2]?new $C.IfcLabel(t[2].value):null,t[3].map((function(e){return new H_(e.value)})))},180925521:function(e,t){return new $C.IfcUnitAssignment(e,t[0].map((function(e){return new H_(e.value)})))},2799835756:function(e,t){return new $C.IfcVertex(e)},3304826586:function(e,t){return new $C.IfcVertexBasedTextureMap(e,t[0].map((function(e){return new H_(e.value)})),t[1].map((function(e){return new H_(e.value)})))},1907098498:function(e,t){return new $C.IfcVertexPoint(e,new H_(t[0].value))},891718957:function(e,t){return new $C.IfcVirtualGridIntersection(e,t[0].map((function(e){return new H_(e.value)})),t[1].map((function(e){return new $C.IfcLengthMeasure(e.value)})))},1065908215:function(e,t){return new $C.IfcWaterProperties(e,new H_(t[0].value),t[1]?t[1].value:null,t[2]?new $C.IfcIonConcentrationMeasure(t[2].value):null,t[3]?new $C.IfcIonConcentrationMeasure(t[3].value):null,t[4]?new $C.IfcIonConcentrationMeasure(t[4].value):null,t[5]?new $C.IfcNormalisedRatioMeasure(t[5].value):null,t[6]?new $C.IfcPHMeasure(t[6].value):null,t[7]?new $C.IfcNormalisedRatioMeasure(t[7].value):null)},2442683028:function(e,t){return new $C.IfcAnnotationOccurrence(e,t[0]?new H_(t[0].value):null,t[1].map((function(e){return new H_(e.value)})),t[2]?new $C.IfcLabel(t[2].value):null)},962685235:function(e,t){return new $C.IfcAnnotationSurfaceOccurrence(e,t[0]?new H_(t[0].value):null,t[1].map((function(e){return new H_(e.value)})),t[2]?new $C.IfcLabel(t[2].value):null)},3612888222:function(e,t){return new $C.IfcAnnotationSymbolOccurrence(e,t[0]?new H_(t[0].value):null,t[1].map((function(e){return new H_(e.value)})),t[2]?new $C.IfcLabel(t[2].value):null)},2297822566:function(e,t){return new $C.IfcAnnotationTextOccurrence(e,t[0]?new H_(t[0].value):null,t[1].map((function(e){return new H_(e.value)})),t[2]?new $C.IfcLabel(t[2].value):null)},3798115385:function(e,t){return new $C.IfcArbitraryClosedProfileDef(e,t[0],t[1]?new $C.IfcLabel(t[1].value):null,new H_(t[2].value))},1310608509:function(e,t){return new $C.IfcArbitraryOpenProfileDef(e,t[0],t[1]?new $C.IfcLabel(t[1].value):null,new H_(t[2].value))},2705031697:function(e,t){return new $C.IfcArbitraryProfileDefWithVoids(e,t[0],t[1]?new $C.IfcLabel(t[1].value):null,new H_(t[2].value),t[3].map((function(e){return new H_(e.value)})))},616511568:function(e,t){return new $C.IfcBlobTexture(e,t[0].value,t[1].value,t[2],t[3]?new H_(t[3].value):null,new $C.IfcIdentifier(t[4].value),t[5].value)},3150382593:function(e,t){return new $C.IfcCenterLineProfileDef(e,t[0],t[1]?new $C.IfcLabel(t[1].value):null,new H_(t[2].value),new $C.IfcPositiveLengthMeasure(t[3].value))},647927063:function(e,t){return new $C.IfcClassificationReference(e,t[0]?new $C.IfcLabel(t[0].value):null,t[1]?new $C.IfcIdentifier(t[1].value):null,t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new H_(t[3].value):null)},776857604:function(e,t){return new $C.IfcColourRgb(e,t[0]?new $C.IfcLabel(t[0].value):null,new $C.IfcNormalisedRatioMeasure(t[1].value),new $C.IfcNormalisedRatioMeasure(t[2].value),new $C.IfcNormalisedRatioMeasure(t[3].value))},2542286263:function(e,t){return new $C.IfcComplexProperty(e,new $C.IfcIdentifier(t[0].value),t[1]?new $C.IfcText(t[1].value):null,new $C.IfcIdentifier(t[2].value),t[3].map((function(e){return new H_(e.value)})))},1485152156:function(e,t){return new $C.IfcCompositeProfileDef(e,t[0],t[1]?new $C.IfcLabel(t[1].value):null,t[2].map((function(e){return new H_(e.value)})),t[3]?new $C.IfcLabel(t[3].value):null)},370225590:function(e,t){return new $C.IfcConnectedFaceSet(e,t[0].map((function(e){return new H_(e.value)})))},1981873012:function(e,t){return new $C.IfcConnectionCurveGeometry(e,new H_(t[0].value),t[1]?new H_(t[1].value):null)},45288368:function(e,t){return new $C.IfcConnectionPointEccentricity(e,new H_(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new $C.IfcLengthMeasure(t[2].value):null,t[3]?new $C.IfcLengthMeasure(t[3].value):null,t[4]?new $C.IfcLengthMeasure(t[4].value):null)},3050246964:function(e,t){return new $C.IfcContextDependentUnit(e,new H_(t[0].value),t[1],new $C.IfcLabel(t[2].value))},2889183280:function(e,t){return new $C.IfcConversionBasedUnit(e,new H_(t[0].value),t[1],new $C.IfcLabel(t[2].value),new H_(t[3].value))},3800577675:function(e,t){return new $C.IfcCurveStyle(e,t[0]?new $C.IfcLabel(t[0].value):null,t[1]?new H_(t[1].value):null,t[2]?K_(1,t[2]):null,t[3]?new H_(t[3].value):null)},3632507154:function(e,t){return new $C.IfcDerivedProfileDef(e,t[0],t[1]?new $C.IfcLabel(t[1].value):null,new H_(t[2].value),new H_(t[3].value),t[4]?new $C.IfcLabel(t[4].value):null)},2273265877:function(e,t){return new $C.IfcDimensionCalloutRelationship(e,t[0]?new $C.IfcLabel(t[0].value):null,t[1]?new $C.IfcText(t[1].value):null,new H_(t[2].value),new H_(t[3].value))},1694125774:function(e,t){return new $C.IfcDimensionPair(e,t[0]?new $C.IfcLabel(t[0].value):null,t[1]?new $C.IfcText(t[1].value):null,new H_(t[2].value),new H_(t[3].value))},3732053477:function(e,t){return new $C.IfcDocumentReference(e,t[0]?new $C.IfcLabel(t[0].value):null,t[1]?new $C.IfcIdentifier(t[1].value):null,t[2]?new $C.IfcLabel(t[2].value):null)},4170525392:function(e,t){return new $C.IfcDraughtingPreDefinedTextFont(e,new $C.IfcLabel(t[0].value))},3900360178:function(e,t){return new $C.IfcEdge(e,new H_(t[0].value),new H_(t[1].value))},476780140:function(e,t){return new $C.IfcEdgeCurve(e,new H_(t[0].value),new H_(t[1].value),new H_(t[2].value),t[3].value)},1860660968:function(e,t){return new $C.IfcExtendedMaterialProperties(e,new H_(t[0].value),t[1].map((function(e){return new H_(e.value)})),t[2]?new $C.IfcText(t[2].value):null,new $C.IfcLabel(t[3].value))},2556980723:function(e,t){return new $C.IfcFace(e,t[0].map((function(e){return new H_(e.value)})))},1809719519:function(e,t){return new $C.IfcFaceBound(e,new H_(t[0].value),t[1].value)},803316827:function(e,t){return new $C.IfcFaceOuterBound(e,new H_(t[0].value),t[1].value)},3008276851:function(e,t){return new $C.IfcFaceSurface(e,t[0].map((function(e){return new H_(e.value)})),new H_(t[1].value),t[2].value)},4219587988:function(e,t){return new $C.IfcFailureConnectionCondition(e,t[0]?new $C.IfcLabel(t[0].value):null,t[1]?new $C.IfcForceMeasure(t[1].value):null,t[2]?new $C.IfcForceMeasure(t[2].value):null,t[3]?new $C.IfcForceMeasure(t[3].value):null,t[4]?new $C.IfcForceMeasure(t[4].value):null,t[5]?new $C.IfcForceMeasure(t[5].value):null,t[6]?new $C.IfcForceMeasure(t[6].value):null)},738692330:function(e,t){return new $C.IfcFillAreaStyle(e,t[0]?new $C.IfcLabel(t[0].value):null,t[1].map((function(e){return new H_(e.value)})))},3857492461:function(e,t){return new $C.IfcFuelProperties(e,new H_(t[0].value),t[1]?new $C.IfcThermodynamicTemperatureMeasure(t[1].value):null,t[2]?new $C.IfcPositiveRatioMeasure(t[2].value):null,t[3]?new $C.IfcHeatingValueMeasure(t[3].value):null,t[4]?new $C.IfcHeatingValueMeasure(t[4].value):null)},803998398:function(e,t){return new $C.IfcGeneralMaterialProperties(e,new H_(t[0].value),t[1]?new $C.IfcMolecularWeightMeasure(t[1].value):null,t[2]?new $C.IfcNormalisedRatioMeasure(t[2].value):null,t[3]?new $C.IfcMassDensityMeasure(t[3].value):null)},1446786286:function(e,t){return new $C.IfcGeneralProfileProperties(e,t[0]?new $C.IfcLabel(t[0].value):null,t[1]?new H_(t[1].value):null,t[2]?new $C.IfcMassPerLengthMeasure(t[2].value):null,t[3]?new $C.IfcPositiveLengthMeasure(t[3].value):null,t[4]?new $C.IfcPositiveLengthMeasure(t[4].value):null,t[5]?new $C.IfcPositiveLengthMeasure(t[5].value):null,t[6]?new $C.IfcAreaMeasure(t[6].value):null)},3448662350:function(e,t){return new $C.IfcGeometricRepresentationContext(e,t[0]?new $C.IfcLabel(t[0].value):null,t[1]?new $C.IfcLabel(t[1].value):null,new $C.IfcDimensionCount(t[2].value),t[3]?t[3].value:null,new H_(t[4].value),t[5]?new H_(t[5].value):null)},2453401579:function(e,t){return new $C.IfcGeometricRepresentationItem(e)},4142052618:function(e,t){return new $C.IfcGeometricRepresentationSubContext(e,t[0]?new $C.IfcLabel(t[0].value):null,t[1]?new $C.IfcLabel(t[1].value):null,new H_(t[2].value),t[3]?new $C.IfcPositiveRatioMeasure(t[3].value):null,t[4],t[5]?new $C.IfcLabel(t[5].value):null)},3590301190:function(e,t){return new $C.IfcGeometricSet(e,t[0].map((function(e){return new H_(e.value)})))},178086475:function(e,t){return new $C.IfcGridPlacement(e,new H_(t[0].value),t[1]?new H_(t[1].value):null)},812098782:function(e,t){return new $C.IfcHalfSpaceSolid(e,new H_(t[0].value),t[1].value)},2445078500:function(e,t){return new $C.IfcHygroscopicMaterialProperties(e,new H_(t[0].value),t[1]?new $C.IfcPositiveRatioMeasure(t[1].value):null,t[2]?new $C.IfcPositiveRatioMeasure(t[2].value):null,t[3]?new $C.IfcIsothermalMoistureCapacityMeasure(t[3].value):null,t[4]?new $C.IfcVaporPermeabilityMeasure(t[4].value):null,t[5]?new $C.IfcMoistureDiffusivityMeasure(t[5].value):null)},3905492369:function(e,t){return new $C.IfcImageTexture(e,t[0].value,t[1].value,t[2],t[3]?new H_(t[3].value):null,new $C.IfcIdentifier(t[4].value))},3741457305:function(e,t){return new $C.IfcIrregularTimeSeries(e,new $C.IfcLabel(t[0].value),t[1]?new $C.IfcText(t[1].value):null,new H_(t[2].value),new H_(t[3].value),t[4],t[5],t[6]?new $C.IfcLabel(t[6].value):null,t[7]?new H_(t[7].value):null,t[8].map((function(e){return new H_(e.value)})))},1402838566:function(e,t){return new $C.IfcLightSource(e,t[0]?new $C.IfcLabel(t[0].value):null,new H_(t[1].value),t[2]?new $C.IfcNormalisedRatioMeasure(t[2].value):null,t[3]?new $C.IfcNormalisedRatioMeasure(t[3].value):null)},125510826:function(e,t){return new $C.IfcLightSourceAmbient(e,t[0]?new $C.IfcLabel(t[0].value):null,new H_(t[1].value),t[2]?new $C.IfcNormalisedRatioMeasure(t[2].value):null,t[3]?new $C.IfcNormalisedRatioMeasure(t[3].value):null)},2604431987:function(e,t){return new $C.IfcLightSourceDirectional(e,t[0]?new $C.IfcLabel(t[0].value):null,new H_(t[1].value),t[2]?new $C.IfcNormalisedRatioMeasure(t[2].value):null,t[3]?new $C.IfcNormalisedRatioMeasure(t[3].value):null,new H_(t[4].value))},4266656042:function(e,t){return new $C.IfcLightSourceGoniometric(e,t[0]?new $C.IfcLabel(t[0].value):null,new H_(t[1].value),t[2]?new $C.IfcNormalisedRatioMeasure(t[2].value):null,t[3]?new $C.IfcNormalisedRatioMeasure(t[3].value):null,new H_(t[4].value),t[5]?new H_(t[5].value):null,new $C.IfcThermodynamicTemperatureMeasure(t[6].value),new $C.IfcLuminousFluxMeasure(t[7].value),t[8],new H_(t[9].value))},1520743889:function(e,t){return new $C.IfcLightSourcePositional(e,t[0]?new $C.IfcLabel(t[0].value):null,new H_(t[1].value),t[2]?new $C.IfcNormalisedRatioMeasure(t[2].value):null,t[3]?new $C.IfcNormalisedRatioMeasure(t[3].value):null,new H_(t[4].value),new $C.IfcPositiveLengthMeasure(t[5].value),new $C.IfcReal(t[6].value),new $C.IfcReal(t[7].value),new $C.IfcReal(t[8].value))},3422422726:function(e,t){return new $C.IfcLightSourceSpot(e,t[0]?new $C.IfcLabel(t[0].value):null,new H_(t[1].value),t[2]?new $C.IfcNormalisedRatioMeasure(t[2].value):null,t[3]?new $C.IfcNormalisedRatioMeasure(t[3].value):null,new H_(t[4].value),new $C.IfcPositiveLengthMeasure(t[5].value),new $C.IfcReal(t[6].value),new $C.IfcReal(t[7].value),new $C.IfcReal(t[8].value),new H_(t[9].value),t[10]?new $C.IfcReal(t[10].value):null,new $C.IfcPositivePlaneAngleMeasure(t[11].value),new $C.IfcPositivePlaneAngleMeasure(t[12].value))},2624227202:function(e,t){return new $C.IfcLocalPlacement(e,t[0]?new H_(t[0].value):null,new H_(t[1].value))},1008929658:function(e,t){return new $C.IfcLoop(e)},2347385850:function(e,t){return new $C.IfcMappedItem(e,new H_(t[0].value),new H_(t[1].value))},2022407955:function(e,t){return new $C.IfcMaterialDefinitionRepresentation(e,t[0]?new $C.IfcLabel(t[0].value):null,t[1]?new $C.IfcText(t[1].value):null,t[2].map((function(e){return new H_(e.value)})),new H_(t[3].value))},1430189142:function(e,t){return new $C.IfcMechanicalConcreteMaterialProperties(e,new H_(t[0].value),t[1]?new $C.IfcDynamicViscosityMeasure(t[1].value):null,t[2]?new $C.IfcModulusOfElasticityMeasure(t[2].value):null,t[3]?new $C.IfcModulusOfElasticityMeasure(t[3].value):null,t[4]?new $C.IfcPositiveRatioMeasure(t[4].value):null,t[5]?new $C.IfcThermalExpansionCoefficientMeasure(t[5].value):null,t[6]?new $C.IfcPressureMeasure(t[6].value):null,t[7]?new $C.IfcPositiveLengthMeasure(t[7].value):null,t[8]?new $C.IfcText(t[8].value):null,t[9]?new $C.IfcText(t[9].value):null,t[10]?new $C.IfcNormalisedRatioMeasure(t[10].value):null,t[11]?new $C.IfcText(t[11].value):null)},219451334:function(e,t){return new $C.IfcObjectDefinition(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null)},2833995503:function(e,t){return new $C.IfcOneDirectionRepeatFactor(e,new H_(t[0].value))},2665983363:function(e,t){return new $C.IfcOpenShell(e,t[0].map((function(e){return new H_(e.value)})))},1029017970:function(e,t){return new $C.IfcOrientedEdge(e,new H_(t[0].value),t[1].value)},2529465313:function(e,t){return new $C.IfcParameterizedProfileDef(e,t[0],t[1]?new $C.IfcLabel(t[1].value):null,new H_(t[2].value))},2519244187:function(e,t){return new $C.IfcPath(e,t[0].map((function(e){return new H_(e.value)})))},3021840470:function(e,t){return new $C.IfcPhysicalComplexQuantity(e,new $C.IfcLabel(t[0].value),t[1]?new $C.IfcText(t[1].value):null,t[2].map((function(e){return new H_(e.value)})),new $C.IfcLabel(t[3].value),t[4]?new $C.IfcLabel(t[4].value):null,t[5]?new $C.IfcLabel(t[5].value):null)},597895409:function(e,t){return new $C.IfcPixelTexture(e,t[0].value,t[1].value,t[2],t[3]?new H_(t[3].value):null,new $C.IfcInteger(t[4].value),new $C.IfcInteger(t[5].value),new $C.IfcInteger(t[6].value),t[7].map((function(e){return e.value})))},2004835150:function(e,t){return new $C.IfcPlacement(e,new H_(t[0].value))},1663979128:function(e,t){return new $C.IfcPlanarExtent(e,new $C.IfcLengthMeasure(t[0].value),new $C.IfcLengthMeasure(t[1].value))},2067069095:function(e,t){return new $C.IfcPoint(e)},4022376103:function(e,t){return new $C.IfcPointOnCurve(e,new H_(t[0].value),new $C.IfcParameterValue(t[1].value))},1423911732:function(e,t){return new $C.IfcPointOnSurface(e,new H_(t[0].value),new $C.IfcParameterValue(t[1].value),new $C.IfcParameterValue(t[2].value))},2924175390:function(e,t){return new $C.IfcPolyLoop(e,t[0].map((function(e){return new H_(e.value)})))},2775532180:function(e,t){return new $C.IfcPolygonalBoundedHalfSpace(e,new H_(t[0].value),t[1].value,new H_(t[2].value),new H_(t[3].value))},759155922:function(e,t){return new $C.IfcPreDefinedColour(e,new $C.IfcLabel(t[0].value))},2559016684:function(e,t){return new $C.IfcPreDefinedCurveFont(e,new $C.IfcLabel(t[0].value))},433424934:function(e,t){return new $C.IfcPreDefinedDimensionSymbol(e,new $C.IfcLabel(t[0].value))},179317114:function(e,t){return new $C.IfcPreDefinedPointMarkerSymbol(e,new $C.IfcLabel(t[0].value))},673634403:function(e,t){return new $C.IfcProductDefinitionShape(e,t[0]?new $C.IfcLabel(t[0].value):null,t[1]?new $C.IfcText(t[1].value):null,t[2].map((function(e){return new H_(e.value)})))},871118103:function(e,t){return new $C.IfcPropertyBoundedValue(e,new $C.IfcIdentifier(t[0].value),t[1]?new $C.IfcText(t[1].value):null,t[2]?K_(1,t[2]):null,t[3]?K_(1,t[3]):null,t[4]?new H_(t[4].value):null)},1680319473:function(e,t){return new $C.IfcPropertyDefinition(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null)},4166981789:function(e,t){return new $C.IfcPropertyEnumeratedValue(e,new $C.IfcIdentifier(t[0].value),t[1]?new $C.IfcText(t[1].value):null,t[2].map((function(e){return K_(1,e)})),t[3]?new H_(t[3].value):null)},2752243245:function(e,t){return new $C.IfcPropertyListValue(e,new $C.IfcIdentifier(t[0].value),t[1]?new $C.IfcText(t[1].value):null,t[2].map((function(e){return K_(1,e)})),t[3]?new H_(t[3].value):null)},941946838:function(e,t){return new $C.IfcPropertyReferenceValue(e,new $C.IfcIdentifier(t[0].value),t[1]?new $C.IfcText(t[1].value):null,t[2]?new $C.IfcLabel(t[2].value):null,new H_(t[3].value))},3357820518:function(e,t){return new $C.IfcPropertySetDefinition(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null)},3650150729:function(e,t){return new $C.IfcPropertySingleValue(e,new $C.IfcIdentifier(t[0].value),t[1]?new $C.IfcText(t[1].value):null,t[2]?K_(1,t[2]):null,t[3]?new H_(t[3].value):null)},110355661:function(e,t){return new $C.IfcPropertyTableValue(e,new $C.IfcIdentifier(t[0].value),t[1]?new $C.IfcText(t[1].value):null,t[2].map((function(e){return K_(1,e)})),t[3].map((function(e){return K_(1,e)})),t[4]?new $C.IfcText(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null)},3615266464:function(e,t){return new $C.IfcRectangleProfileDef(e,t[0],t[1]?new $C.IfcLabel(t[1].value):null,new H_(t[2].value),new $C.IfcPositiveLengthMeasure(t[3].value),new $C.IfcPositiveLengthMeasure(t[4].value))},3413951693:function(e,t){return new $C.IfcRegularTimeSeries(e,new $C.IfcLabel(t[0].value),t[1]?new $C.IfcText(t[1].value):null,new H_(t[2].value),new H_(t[3].value),t[4],t[5],t[6]?new $C.IfcLabel(t[6].value):null,t[7]?new H_(t[7].value):null,new $C.IfcTimeMeasure(t[8].value),t[9].map((function(e){return new H_(e.value)})))},3765753017:function(e,t){return new $C.IfcReinforcementDefinitionProperties(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5].map((function(e){return new H_(e.value)})))},478536968:function(e,t){return new $C.IfcRelationship(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null)},2778083089:function(e,t){return new $C.IfcRoundedRectangleProfileDef(e,t[0],t[1]?new $C.IfcLabel(t[1].value):null,new H_(t[2].value),new $C.IfcPositiveLengthMeasure(t[3].value),new $C.IfcPositiveLengthMeasure(t[4].value),new $C.IfcPositiveLengthMeasure(t[5].value))},1509187699:function(e,t){return new $C.IfcSectionedSpine(e,new H_(t[0].value),t[1].map((function(e){return new H_(e.value)})),t[2].map((function(e){return new H_(e.value)})))},2411513650:function(e,t){return new $C.IfcServiceLifeFactor(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4],t[5]?K_(1,t[5]):null,K_(1,t[6]),t[7]?K_(1,t[7]):null)},4124623270:function(e,t){return new $C.IfcShellBasedSurfaceModel(e,t[0].map((function(e){return new H_(e.value)})))},2609359061:function(e,t){return new $C.IfcSlippageConnectionCondition(e,t[0]?new $C.IfcLabel(t[0].value):null,t[1]?new $C.IfcLengthMeasure(t[1].value):null,t[2]?new $C.IfcLengthMeasure(t[2].value):null,t[3]?new $C.IfcLengthMeasure(t[3].value):null)},723233188:function(e,t){return new $C.IfcSolidModel(e)},2485662743:function(e,t){return new $C.IfcSoundProperties(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,new $C.IfcBoolean(t[4].value),t[5],t[6].map((function(e){return new H_(e.value)})))},1202362311:function(e,t){return new $C.IfcSoundValue(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new H_(t[4].value):null,new $C.IfcFrequencyMeasure(t[5].value),t[6]?K_(1,t[6]):null)},390701378:function(e,t){return new $C.IfcSpaceThermalLoadProperties(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcPositiveRatioMeasure(t[4].value):null,t[5],t[6],t[7]?new $C.IfcText(t[7].value):null,new $C.IfcPowerMeasure(t[8].value),t[9]?new $C.IfcPowerMeasure(t[9].value):null,t[10]?new H_(t[10].value):null,t[11]?new $C.IfcLabel(t[11].value):null,t[12]?new $C.IfcLabel(t[12].value):null,t[13])},1595516126:function(e,t){return new $C.IfcStructuralLoadLinearForce(e,t[0]?new $C.IfcLabel(t[0].value):null,t[1]?new $C.IfcLinearForceMeasure(t[1].value):null,t[2]?new $C.IfcLinearForceMeasure(t[2].value):null,t[3]?new $C.IfcLinearForceMeasure(t[3].value):null,t[4]?new $C.IfcLinearMomentMeasure(t[4].value):null,t[5]?new $C.IfcLinearMomentMeasure(t[5].value):null,t[6]?new $C.IfcLinearMomentMeasure(t[6].value):null)},2668620305:function(e,t){return new $C.IfcStructuralLoadPlanarForce(e,t[0]?new $C.IfcLabel(t[0].value):null,t[1]?new $C.IfcPlanarForceMeasure(t[1].value):null,t[2]?new $C.IfcPlanarForceMeasure(t[2].value):null,t[3]?new $C.IfcPlanarForceMeasure(t[3].value):null)},2473145415:function(e,t){return new $C.IfcStructuralLoadSingleDisplacement(e,t[0]?new $C.IfcLabel(t[0].value):null,t[1]?new $C.IfcLengthMeasure(t[1].value):null,t[2]?new $C.IfcLengthMeasure(t[2].value):null,t[3]?new $C.IfcLengthMeasure(t[3].value):null,t[4]?new $C.IfcPlaneAngleMeasure(t[4].value):null,t[5]?new $C.IfcPlaneAngleMeasure(t[5].value):null,t[6]?new $C.IfcPlaneAngleMeasure(t[6].value):null)},1973038258:function(e,t){return new $C.IfcStructuralLoadSingleDisplacementDistortion(e,t[0]?new $C.IfcLabel(t[0].value):null,t[1]?new $C.IfcLengthMeasure(t[1].value):null,t[2]?new $C.IfcLengthMeasure(t[2].value):null,t[3]?new $C.IfcLengthMeasure(t[3].value):null,t[4]?new $C.IfcPlaneAngleMeasure(t[4].value):null,t[5]?new $C.IfcPlaneAngleMeasure(t[5].value):null,t[6]?new $C.IfcPlaneAngleMeasure(t[6].value):null,t[7]?new $C.IfcCurvatureMeasure(t[7].value):null)},1597423693:function(e,t){return new $C.IfcStructuralLoadSingleForce(e,t[0]?new $C.IfcLabel(t[0].value):null,t[1]?new $C.IfcForceMeasure(t[1].value):null,t[2]?new $C.IfcForceMeasure(t[2].value):null,t[3]?new $C.IfcForceMeasure(t[3].value):null,t[4]?new $C.IfcTorqueMeasure(t[4].value):null,t[5]?new $C.IfcTorqueMeasure(t[5].value):null,t[6]?new $C.IfcTorqueMeasure(t[6].value):null)},1190533807:function(e,t){return new $C.IfcStructuralLoadSingleForceWarping(e,t[0]?new $C.IfcLabel(t[0].value):null,t[1]?new $C.IfcForceMeasure(t[1].value):null,t[2]?new $C.IfcForceMeasure(t[2].value):null,t[3]?new $C.IfcForceMeasure(t[3].value):null,t[4]?new $C.IfcTorqueMeasure(t[4].value):null,t[5]?new $C.IfcTorqueMeasure(t[5].value):null,t[6]?new $C.IfcTorqueMeasure(t[6].value):null,t[7]?new $C.IfcWarpingMomentMeasure(t[7].value):null)},3843319758:function(e,t){return new $C.IfcStructuralProfileProperties(e,t[0]?new $C.IfcLabel(t[0].value):null,t[1]?new H_(t[1].value):null,t[2]?new $C.IfcMassPerLengthMeasure(t[2].value):null,t[3]?new $C.IfcPositiveLengthMeasure(t[3].value):null,t[4]?new $C.IfcPositiveLengthMeasure(t[4].value):null,t[5]?new $C.IfcPositiveLengthMeasure(t[5].value):null,t[6]?new $C.IfcAreaMeasure(t[6].value):null,t[7]?new $C.IfcMomentOfInertiaMeasure(t[7].value):null,t[8]?new $C.IfcMomentOfInertiaMeasure(t[8].value):null,t[9]?new $C.IfcMomentOfInertiaMeasure(t[9].value):null,t[10]?new $C.IfcMomentOfInertiaMeasure(t[10].value):null,t[11]?new $C.IfcWarpingConstantMeasure(t[11].value):null,t[12]?new $C.IfcLengthMeasure(t[12].value):null,t[13]?new $C.IfcLengthMeasure(t[13].value):null,t[14]?new $C.IfcAreaMeasure(t[14].value):null,t[15]?new $C.IfcAreaMeasure(t[15].value):null,t[16]?new $C.IfcSectionModulusMeasure(t[16].value):null,t[17]?new $C.IfcSectionModulusMeasure(t[17].value):null,t[18]?new $C.IfcSectionModulusMeasure(t[18].value):null,t[19]?new $C.IfcSectionModulusMeasure(t[19].value):null,t[20]?new $C.IfcSectionModulusMeasure(t[20].value):null,t[21]?new $C.IfcLengthMeasure(t[21].value):null,t[22]?new $C.IfcLengthMeasure(t[22].value):null)},3653947884:function(e,t){return new $C.IfcStructuralSteelProfileProperties(e,t[0]?new $C.IfcLabel(t[0].value):null,t[1]?new H_(t[1].value):null,t[2]?new $C.IfcMassPerLengthMeasure(t[2].value):null,t[3]?new $C.IfcPositiveLengthMeasure(t[3].value):null,t[4]?new $C.IfcPositiveLengthMeasure(t[4].value):null,t[5]?new $C.IfcPositiveLengthMeasure(t[5].value):null,t[6]?new $C.IfcAreaMeasure(t[6].value):null,t[7]?new $C.IfcMomentOfInertiaMeasure(t[7].value):null,t[8]?new $C.IfcMomentOfInertiaMeasure(t[8].value):null,t[9]?new $C.IfcMomentOfInertiaMeasure(t[9].value):null,t[10]?new $C.IfcMomentOfInertiaMeasure(t[10].value):null,t[11]?new $C.IfcWarpingConstantMeasure(t[11].value):null,t[12]?new $C.IfcLengthMeasure(t[12].value):null,t[13]?new $C.IfcLengthMeasure(t[13].value):null,t[14]?new $C.IfcAreaMeasure(t[14].value):null,t[15]?new $C.IfcAreaMeasure(t[15].value):null,t[16]?new $C.IfcSectionModulusMeasure(t[16].value):null,t[17]?new $C.IfcSectionModulusMeasure(t[17].value):null,t[18]?new $C.IfcSectionModulusMeasure(t[18].value):null,t[19]?new $C.IfcSectionModulusMeasure(t[19].value):null,t[20]?new $C.IfcSectionModulusMeasure(t[20].value):null,t[21]?new $C.IfcLengthMeasure(t[21].value):null,t[22]?new $C.IfcLengthMeasure(t[22].value):null,t[23]?new $C.IfcAreaMeasure(t[23].value):null,t[24]?new $C.IfcAreaMeasure(t[24].value):null,t[25]?new $C.IfcPositiveRatioMeasure(t[25].value):null,t[26]?new $C.IfcPositiveRatioMeasure(t[26].value):null)},2233826070:function(e,t){return new $C.IfcSubedge(e,new H_(t[0].value),new H_(t[1].value),new H_(t[2].value))},2513912981:function(e,t){return new $C.IfcSurface(e)},1878645084:function(e,t){return new $C.IfcSurfaceStyleRendering(e,new H_(t[0].value),t[1]?new $C.IfcNormalisedRatioMeasure(t[1].value):null,t[2]?new H_(t[2].value):null,t[3]?new H_(t[3].value):null,t[4]?new H_(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?K_(1,t[7]):null,t[8])},2247615214:function(e,t){return new $C.IfcSweptAreaSolid(e,new H_(t[0].value),new H_(t[1].value))},1260650574:function(e,t){return new $C.IfcSweptDiskSolid(e,new H_(t[0].value),new $C.IfcPositiveLengthMeasure(t[1].value),t[2]?new $C.IfcPositiveLengthMeasure(t[2].value):null,new $C.IfcParameterValue(t[3].value),new $C.IfcParameterValue(t[4].value))},230924584:function(e,t){return new $C.IfcSweptSurface(e,new H_(t[0].value),new H_(t[1].value))},3071757647:function(e,t){return new $C.IfcTShapeProfileDef(e,t[0],t[1]?new $C.IfcLabel(t[1].value):null,new H_(t[2].value),new $C.IfcPositiveLengthMeasure(t[3].value),new $C.IfcPositiveLengthMeasure(t[4].value),new $C.IfcPositiveLengthMeasure(t[5].value),new $C.IfcPositiveLengthMeasure(t[6].value),t[7]?new $C.IfcPositiveLengthMeasure(t[7].value):null,t[8]?new $C.IfcPositiveLengthMeasure(t[8].value):null,t[9]?new $C.IfcPositiveLengthMeasure(t[9].value):null,t[10]?new $C.IfcPlaneAngleMeasure(t[10].value):null,t[11]?new $C.IfcPlaneAngleMeasure(t[11].value):null,t[12]?new $C.IfcPositiveLengthMeasure(t[12].value):null)},3028897424:function(e,t){return new $C.IfcTerminatorSymbol(e,t[0]?new H_(t[0].value):null,t[1].map((function(e){return new H_(e.value)})),t[2]?new $C.IfcLabel(t[2].value):null,new H_(t[3].value))},4282788508:function(e,t){return new $C.IfcTextLiteral(e,new $C.IfcPresentableText(t[0].value),new H_(t[1].value),t[2])},3124975700:function(e,t){return new $C.IfcTextLiteralWithExtent(e,new $C.IfcPresentableText(t[0].value),new H_(t[1].value),t[2],new H_(t[3].value),new $C.IfcBoxAlignment(t[4].value))},2715220739:function(e,t){return new $C.IfcTrapeziumProfileDef(e,t[0],t[1]?new $C.IfcLabel(t[1].value):null,new H_(t[2].value),new $C.IfcPositiveLengthMeasure(t[3].value),new $C.IfcPositiveLengthMeasure(t[4].value),new $C.IfcPositiveLengthMeasure(t[5].value),new $C.IfcLengthMeasure(t[6].value))},1345879162:function(e,t){return new $C.IfcTwoDirectionRepeatFactor(e,new H_(t[0].value),new H_(t[1].value))},1628702193:function(e,t){return new $C.IfcTypeObject(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null)},2347495698:function(e,t){return new $C.IfcTypeProduct(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new $C.IfcLabel(t[7].value):null)},427810014:function(e,t){return new $C.IfcUShapeProfileDef(e,t[0],t[1]?new $C.IfcLabel(t[1].value):null,new H_(t[2].value),new $C.IfcPositiveLengthMeasure(t[3].value),new $C.IfcPositiveLengthMeasure(t[4].value),new $C.IfcPositiveLengthMeasure(t[5].value),new $C.IfcPositiveLengthMeasure(t[6].value),t[7]?new $C.IfcPositiveLengthMeasure(t[7].value):null,t[8]?new $C.IfcPositiveLengthMeasure(t[8].value):null,t[9]?new $C.IfcPlaneAngleMeasure(t[9].value):null,t[10]?new $C.IfcPositiveLengthMeasure(t[10].value):null)},1417489154:function(e,t){return new $C.IfcVector(e,new H_(t[0].value),new $C.IfcLengthMeasure(t[1].value))},2759199220:function(e,t){return new $C.IfcVertexLoop(e,new H_(t[0].value))},336235671:function(e,t){return new $C.IfcWindowLiningProperties(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcPositiveLengthMeasure(t[4].value):null,t[5]?new $C.IfcPositiveLengthMeasure(t[5].value):null,t[6]?new $C.IfcPositiveLengthMeasure(t[6].value):null,t[7]?new $C.IfcPositiveLengthMeasure(t[7].value):null,t[8]?new $C.IfcNormalisedRatioMeasure(t[8].value):null,t[9]?new $C.IfcNormalisedRatioMeasure(t[9].value):null,t[10]?new $C.IfcNormalisedRatioMeasure(t[10].value):null,t[11]?new $C.IfcNormalisedRatioMeasure(t[11].value):null,t[12]?new H_(t[12].value):null)},512836454:function(e,t){return new $C.IfcWindowPanelProperties(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4],t[5],t[6]?new $C.IfcPositiveLengthMeasure(t[6].value):null,t[7]?new $C.IfcPositiveLengthMeasure(t[7].value):null,t[8]?new H_(t[8].value):null)},1299126871:function(e,t){return new $C.IfcWindowStyle(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new $C.IfcLabel(t[7].value):null,t[8],t[9],t[10].value,t[11].value)},2543172580:function(e,t){return new $C.IfcZShapeProfileDef(e,t[0],t[1]?new $C.IfcLabel(t[1].value):null,new H_(t[2].value),new $C.IfcPositiveLengthMeasure(t[3].value),new $C.IfcPositiveLengthMeasure(t[4].value),new $C.IfcPositiveLengthMeasure(t[5].value),new $C.IfcPositiveLengthMeasure(t[6].value),t[7]?new $C.IfcPositiveLengthMeasure(t[7].value):null,t[8]?new $C.IfcPositiveLengthMeasure(t[8].value):null)},3288037868:function(e,t){return new $C.IfcAnnotationCurveOccurrence(e,t[0]?new H_(t[0].value):null,t[1].map((function(e){return new H_(e.value)})),t[2]?new $C.IfcLabel(t[2].value):null)},669184980:function(e,t){return new $C.IfcAnnotationFillArea(e,new H_(t[0].value),t[1]?t[1].map((function(e){return new H_(e.value)})):null)},2265737646:function(e,t){return new $C.IfcAnnotationFillAreaOccurrence(e,t[0]?new H_(t[0].value):null,t[1].map((function(e){return new H_(e.value)})),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new H_(t[3].value):null,t[4])},1302238472:function(e,t){return new $C.IfcAnnotationSurface(e,new H_(t[0].value),t[1]?new H_(t[1].value):null)},4261334040:function(e,t){return new $C.IfcAxis1Placement(e,new H_(t[0].value),t[1]?new H_(t[1].value):null)},3125803723:function(e,t){return new $C.IfcAxis2Placement2D(e,new H_(t[0].value),t[1]?new H_(t[1].value):null)},2740243338:function(e,t){return new $C.IfcAxis2Placement3D(e,new H_(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new H_(t[2].value):null)},2736907675:function(e,t){return new $C.IfcBooleanResult(e,t[0],new H_(t[1].value),new H_(t[2].value))},4182860854:function(e,t){return new $C.IfcBoundedSurface(e)},2581212453:function(e,t){return new $C.IfcBoundingBox(e,new H_(t[0].value),new $C.IfcPositiveLengthMeasure(t[1].value),new $C.IfcPositiveLengthMeasure(t[2].value),new $C.IfcPositiveLengthMeasure(t[3].value))},2713105998:function(e,t){return new $C.IfcBoxedHalfSpace(e,new H_(t[0].value),t[1].value,new H_(t[2].value))},2898889636:function(e,t){return new $C.IfcCShapeProfileDef(e,t[0],t[1]?new $C.IfcLabel(t[1].value):null,new H_(t[2].value),new $C.IfcPositiveLengthMeasure(t[3].value),new $C.IfcPositiveLengthMeasure(t[4].value),new $C.IfcPositiveLengthMeasure(t[5].value),new $C.IfcPositiveLengthMeasure(t[6].value),t[7]?new $C.IfcPositiveLengthMeasure(t[7].value):null,t[8]?new $C.IfcPositiveLengthMeasure(t[8].value):null)},1123145078:function(e,t){return new $C.IfcCartesianPoint(e,t[0].map((function(e){return new $C.IfcLengthMeasure(e.value)})))},59481748:function(e,t){return new $C.IfcCartesianTransformationOperator(e,t[0]?new H_(t[0].value):null,t[1]?new H_(t[1].value):null,new H_(t[2].value),t[3]?t[3].value:null)},3749851601:function(e,t){return new $C.IfcCartesianTransformationOperator2D(e,t[0]?new H_(t[0].value):null,t[1]?new H_(t[1].value):null,new H_(t[2].value),t[3]?t[3].value:null)},3486308946:function(e,t){return new $C.IfcCartesianTransformationOperator2DnonUniform(e,t[0]?new H_(t[0].value):null,t[1]?new H_(t[1].value):null,new H_(t[2].value),t[3]?t[3].value:null,t[4]?t[4].value:null)},3331915920:function(e,t){return new $C.IfcCartesianTransformationOperator3D(e,t[0]?new H_(t[0].value):null,t[1]?new H_(t[1].value):null,new H_(t[2].value),t[3]?t[3].value:null,t[4]?new H_(t[4].value):null)},1416205885:function(e,t){return new $C.IfcCartesianTransformationOperator3DnonUniform(e,t[0]?new H_(t[0].value):null,t[1]?new H_(t[1].value):null,new H_(t[2].value),t[3]?t[3].value:null,t[4]?new H_(t[4].value):null,t[5]?t[5].value:null,t[6]?t[6].value:null)},1383045692:function(e,t){return new $C.IfcCircleProfileDef(e,t[0],t[1]?new $C.IfcLabel(t[1].value):null,new H_(t[2].value),new $C.IfcPositiveLengthMeasure(t[3].value))},2205249479:function(e,t){return new $C.IfcClosedShell(e,t[0].map((function(e){return new H_(e.value)})))},2485617015:function(e,t){return new $C.IfcCompositeCurveSegment(e,t[0],t[1].value,new H_(t[2].value))},4133800736:function(e,t){return new $C.IfcCraneRailAShapeProfileDef(e,t[0],t[1]?new $C.IfcLabel(t[1].value):null,new H_(t[2].value),new $C.IfcPositiveLengthMeasure(t[3].value),new $C.IfcPositiveLengthMeasure(t[4].value),t[5]?new $C.IfcPositiveLengthMeasure(t[5].value):null,new $C.IfcPositiveLengthMeasure(t[6].value),new $C.IfcPositiveLengthMeasure(t[7].value),new $C.IfcPositiveLengthMeasure(t[8].value),new $C.IfcPositiveLengthMeasure(t[9].value),new $C.IfcPositiveLengthMeasure(t[10].value),new $C.IfcPositiveLengthMeasure(t[11].value),new $C.IfcPositiveLengthMeasure(t[12].value),new $C.IfcPositiveLengthMeasure(t[13].value),t[14]?new $C.IfcPositiveLengthMeasure(t[14].value):null)},194851669:function(e,t){return new $C.IfcCraneRailFShapeProfileDef(e,t[0],t[1]?new $C.IfcLabel(t[1].value):null,new H_(t[2].value),new $C.IfcPositiveLengthMeasure(t[3].value),new $C.IfcPositiveLengthMeasure(t[4].value),t[5]?new $C.IfcPositiveLengthMeasure(t[5].value):null,new $C.IfcPositiveLengthMeasure(t[6].value),new $C.IfcPositiveLengthMeasure(t[7].value),new $C.IfcPositiveLengthMeasure(t[8].value),new $C.IfcPositiveLengthMeasure(t[9].value),new $C.IfcPositiveLengthMeasure(t[10].value),t[11]?new $C.IfcPositiveLengthMeasure(t[11].value):null)},2506170314:function(e,t){return new $C.IfcCsgPrimitive3D(e,new H_(t[0].value))},2147822146:function(e,t){return new $C.IfcCsgSolid(e,new H_(t[0].value))},2601014836:function(e,t){return new $C.IfcCurve(e)},2827736869:function(e,t){return new $C.IfcCurveBoundedPlane(e,new H_(t[0].value),new H_(t[1].value),t[2]?t[2].map((function(e){return new H_(e.value)})):null)},693772133:function(e,t){return new $C.IfcDefinedSymbol(e,new H_(t[0].value),new H_(t[1].value))},606661476:function(e,t){return new $C.IfcDimensionCurve(e,t[0]?new H_(t[0].value):null,t[1].map((function(e){return new H_(e.value)})),t[2]?new $C.IfcLabel(t[2].value):null)},4054601972:function(e,t){return new $C.IfcDimensionCurveTerminator(e,t[0]?new H_(t[0].value):null,t[1].map((function(e){return new H_(e.value)})),t[2]?new $C.IfcLabel(t[2].value):null,new H_(t[3].value),t[4])},32440307:function(e,t){return new $C.IfcDirection(e,t[0].map((function(e){return e.value})))},2963535650:function(e,t){return new $C.IfcDoorLiningProperties(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcPositiveLengthMeasure(t[4].value):null,t[5]?new $C.IfcPositiveLengthMeasure(t[5].value):null,t[6]?new $C.IfcPositiveLengthMeasure(t[6].value):null,t[7]?new $C.IfcPositiveLengthMeasure(t[7].value):null,t[8]?new $C.IfcPositiveLengthMeasure(t[8].value):null,t[9]?new $C.IfcLengthMeasure(t[9].value):null,t[10]?new $C.IfcLengthMeasure(t[10].value):null,t[11]?new $C.IfcLengthMeasure(t[11].value):null,t[12]?new $C.IfcPositiveLengthMeasure(t[12].value):null,t[13]?new $C.IfcPositiveLengthMeasure(t[13].value):null,t[14]?new H_(t[14].value):null)},1714330368:function(e,t){return new $C.IfcDoorPanelProperties(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcPositiveLengthMeasure(t[4].value):null,t[5],t[6]?new $C.IfcNormalisedRatioMeasure(t[6].value):null,t[7],t[8]?new H_(t[8].value):null)},526551008:function(e,t){return new $C.IfcDoorStyle(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new $C.IfcLabel(t[7].value):null,t[8],t[9],t[10].value,t[11].value)},3073041342:function(e,t){return new $C.IfcDraughtingCallout(e,t[0].map((function(e){return new H_(e.value)})))},445594917:function(e,t){return new $C.IfcDraughtingPreDefinedColour(e,new $C.IfcLabel(t[0].value))},4006246654:function(e,t){return new $C.IfcDraughtingPreDefinedCurveFont(e,new $C.IfcLabel(t[0].value))},1472233963:function(e,t){return new $C.IfcEdgeLoop(e,t[0].map((function(e){return new H_(e.value)})))},1883228015:function(e,t){return new $C.IfcElementQuantity(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5].map((function(e){return new H_(e.value)})))},339256511:function(e,t){return new $C.IfcElementType(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new $C.IfcLabel(t[7].value):null,t[8]?new $C.IfcLabel(t[8].value):null)},2777663545:function(e,t){return new $C.IfcElementarySurface(e,new H_(t[0].value))},2835456948:function(e,t){return new $C.IfcEllipseProfileDef(e,t[0],t[1]?new $C.IfcLabel(t[1].value):null,new H_(t[2].value),new $C.IfcPositiveLengthMeasure(t[3].value),new $C.IfcPositiveLengthMeasure(t[4].value))},80994333:function(e,t){return new $C.IfcEnergyProperties(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4],t[5]?new $C.IfcLabel(t[5].value):null)},477187591:function(e,t){return new $C.IfcExtrudedAreaSolid(e,new H_(t[0].value),new H_(t[1].value),new H_(t[2].value),new $C.IfcPositiveLengthMeasure(t[3].value))},2047409740:function(e,t){return new $C.IfcFaceBasedSurfaceModel(e,t[0].map((function(e){return new H_(e.value)})))},374418227:function(e,t){return new $C.IfcFillAreaStyleHatching(e,new H_(t[0].value),new H_(t[1].value),t[2]?new H_(t[2].value):null,t[3]?new H_(t[3].value):null,new $C.IfcPlaneAngleMeasure(t[4].value))},4203026998:function(e,t){return new $C.IfcFillAreaStyleTileSymbolWithStyle(e,new H_(t[0].value))},315944413:function(e,t){return new $C.IfcFillAreaStyleTiles(e,new H_(t[0].value),t[1].map((function(e){return new H_(e.value)})),new $C.IfcPositiveRatioMeasure(t[2].value))},3455213021:function(e,t){return new $C.IfcFluidFlowProperties(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4],t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new H_(t[7].value):null,new H_(t[8].value),t[9]?new H_(t[9].value):null,t[10]?new $C.IfcLabel(t[10].value):null,t[11]?new $C.IfcThermodynamicTemperatureMeasure(t[11].value):null,t[12]?new $C.IfcThermodynamicTemperatureMeasure(t[12].value):null,t[13]?new H_(t[13].value):null,t[14]?new H_(t[14].value):null,t[15]?K_(1,t[15]):null,t[16]?new $C.IfcPositiveRatioMeasure(t[16].value):null,t[17]?new $C.IfcLinearVelocityMeasure(t[17].value):null,t[18]?new $C.IfcPressureMeasure(t[18].value):null)},4238390223:function(e,t){return new $C.IfcFurnishingElementType(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new $C.IfcLabel(t[7].value):null,t[8]?new $C.IfcLabel(t[8].value):null)},1268542332:function(e,t){return new $C.IfcFurnitureType(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new $C.IfcLabel(t[7].value):null,t[8]?new $C.IfcLabel(t[8].value):null,t[9])},987898635:function(e,t){return new $C.IfcGeometricCurveSet(e,t[0].map((function(e){return new H_(e.value)})))},1484403080:function(e,t){return new $C.IfcIShapeProfileDef(e,t[0],t[1]?new $C.IfcLabel(t[1].value):null,new H_(t[2].value),new $C.IfcPositiveLengthMeasure(t[3].value),new $C.IfcPositiveLengthMeasure(t[4].value),new $C.IfcPositiveLengthMeasure(t[5].value),new $C.IfcPositiveLengthMeasure(t[6].value),t[7]?new $C.IfcPositiveLengthMeasure(t[7].value):null)},572779678:function(e,t){return new $C.IfcLShapeProfileDef(e,t[0],t[1]?new $C.IfcLabel(t[1].value):null,new H_(t[2].value),new $C.IfcPositiveLengthMeasure(t[3].value),t[4]?new $C.IfcPositiveLengthMeasure(t[4].value):null,new $C.IfcPositiveLengthMeasure(t[5].value),t[6]?new $C.IfcPositiveLengthMeasure(t[6].value):null,t[7]?new $C.IfcPositiveLengthMeasure(t[7].value):null,t[8]?new $C.IfcPlaneAngleMeasure(t[8].value):null,t[9]?new $C.IfcPositiveLengthMeasure(t[9].value):null,t[10]?new $C.IfcPositiveLengthMeasure(t[10].value):null)},1281925730:function(e,t){return new $C.IfcLine(e,new H_(t[0].value),new H_(t[1].value))},1425443689:function(e,t){return new $C.IfcManifoldSolidBrep(e,new H_(t[0].value))},3888040117:function(e,t){return new $C.IfcObject(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null)},3388369263:function(e,t){return new $C.IfcOffsetCurve2D(e,new H_(t[0].value),new $C.IfcLengthMeasure(t[1].value),t[2].value)},3505215534:function(e,t){return new $C.IfcOffsetCurve3D(e,new H_(t[0].value),new $C.IfcLengthMeasure(t[1].value),t[2].value,new H_(t[3].value))},3566463478:function(e,t){return new $C.IfcPermeableCoveringProperties(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4],t[5],t[6]?new $C.IfcPositiveLengthMeasure(t[6].value):null,t[7]?new $C.IfcPositiveLengthMeasure(t[7].value):null,t[8]?new H_(t[8].value):null)},603570806:function(e,t){return new $C.IfcPlanarBox(e,new $C.IfcLengthMeasure(t[0].value),new $C.IfcLengthMeasure(t[1].value),new H_(t[2].value))},220341763:function(e,t){return new $C.IfcPlane(e,new H_(t[0].value))},2945172077:function(e,t){return new $C.IfcProcess(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null)},4208778838:function(e,t){return new $C.IfcProduct(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null)},103090709:function(e,t){return new $C.IfcProject(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?new $C.IfcLabel(t[5].value):null,t[6]?new $C.IfcLabel(t[6].value):null,t[7].map((function(e){return new H_(e.value)})),new H_(t[8].value))},4194566429:function(e,t){return new $C.IfcProjectionCurve(e,t[0]?new H_(t[0].value):null,t[1].map((function(e){return new H_(e.value)})),t[2]?new $C.IfcLabel(t[2].value):null)},1451395588:function(e,t){return new $C.IfcPropertySet(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4].map((function(e){return new H_(e.value)})))},3219374653:function(e,t){return new $C.IfcProxy(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7],t[8]?new $C.IfcLabel(t[8].value):null)},2770003689:function(e,t){return new $C.IfcRectangleHollowProfileDef(e,t[0],t[1]?new $C.IfcLabel(t[1].value):null,new H_(t[2].value),new $C.IfcPositiveLengthMeasure(t[3].value),new $C.IfcPositiveLengthMeasure(t[4].value),new $C.IfcPositiveLengthMeasure(t[5].value),t[6]?new $C.IfcPositiveLengthMeasure(t[6].value):null,t[7]?new $C.IfcPositiveLengthMeasure(t[7].value):null)},2798486643:function(e,t){return new $C.IfcRectangularPyramid(e,new H_(t[0].value),new $C.IfcPositiveLengthMeasure(t[1].value),new $C.IfcPositiveLengthMeasure(t[2].value),new $C.IfcPositiveLengthMeasure(t[3].value))},3454111270:function(e,t){return new $C.IfcRectangularTrimmedSurface(e,new H_(t[0].value),new $C.IfcParameterValue(t[1].value),new $C.IfcParameterValue(t[2].value),new $C.IfcParameterValue(t[3].value),new $C.IfcParameterValue(t[4].value),t[5].value,t[6].value)},3939117080:function(e,t){return new $C.IfcRelAssigns(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4].map((function(e){return new H_(e.value)})),t[5])},1683148259:function(e,t){return new $C.IfcRelAssignsToActor(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4].map((function(e){return new H_(e.value)})),t[5],new H_(t[6].value),t[7]?new H_(t[7].value):null)},2495723537:function(e,t){return new $C.IfcRelAssignsToControl(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4].map((function(e){return new H_(e.value)})),t[5],new H_(t[6].value))},1307041759:function(e,t){return new $C.IfcRelAssignsToGroup(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4].map((function(e){return new H_(e.value)})),t[5],new H_(t[6].value))},4278684876:function(e,t){return new $C.IfcRelAssignsToProcess(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4].map((function(e){return new H_(e.value)})),t[5],new H_(t[6].value),t[7]?new H_(t[7].value):null)},2857406711:function(e,t){return new $C.IfcRelAssignsToProduct(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4].map((function(e){return new H_(e.value)})),t[5],new H_(t[6].value))},3372526763:function(e,t){return new $C.IfcRelAssignsToProjectOrder(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4].map((function(e){return new H_(e.value)})),t[5],new H_(t[6].value))},205026976:function(e,t){return new $C.IfcRelAssignsToResource(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4].map((function(e){return new H_(e.value)})),t[5],new H_(t[6].value))},1865459582:function(e,t){return new $C.IfcRelAssociates(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4].map((function(e){return new H_(e.value)})))},1327628568:function(e,t){return new $C.IfcRelAssociatesAppliedValue(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4].map((function(e){return new H_(e.value)})),new H_(t[5].value))},4095574036:function(e,t){return new $C.IfcRelAssociatesApproval(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4].map((function(e){return new H_(e.value)})),new H_(t[5].value))},919958153:function(e,t){return new $C.IfcRelAssociatesClassification(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4].map((function(e){return new H_(e.value)})),new H_(t[5].value))},2728634034:function(e,t){return new $C.IfcRelAssociatesConstraint(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4].map((function(e){return new H_(e.value)})),new $C.IfcLabel(t[5].value),new H_(t[6].value))},982818633:function(e,t){return new $C.IfcRelAssociatesDocument(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4].map((function(e){return new H_(e.value)})),new H_(t[5].value))},3840914261:function(e,t){return new $C.IfcRelAssociatesLibrary(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4].map((function(e){return new H_(e.value)})),new H_(t[5].value))},2655215786:function(e,t){return new $C.IfcRelAssociatesMaterial(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4].map((function(e){return new H_(e.value)})),new H_(t[5].value))},2851387026:function(e,t){return new $C.IfcRelAssociatesProfileProperties(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4].map((function(e){return new H_(e.value)})),new H_(t[5].value),t[6]?new H_(t[6].value):null,t[7]?new H_(t[7].value):null)},826625072:function(e,t){return new $C.IfcRelConnects(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null)},1204542856:function(e,t){return new $C.IfcRelConnectsElements(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new H_(t[4].value):null,new H_(t[5].value),new H_(t[6].value))},3945020480:function(e,t){return new $C.IfcRelConnectsPathElements(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new H_(t[4].value):null,new H_(t[5].value),new H_(t[6].value),t[7].map((function(e){return e.value})),t[8].map((function(e){return e.value})),t[9],t[10])},4201705270:function(e,t){return new $C.IfcRelConnectsPortToElement(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,new H_(t[4].value),new H_(t[5].value))},3190031847:function(e,t){return new $C.IfcRelConnectsPorts(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,new H_(t[4].value),new H_(t[5].value),t[6]?new H_(t[6].value):null)},2127690289:function(e,t){return new $C.IfcRelConnectsStructuralActivity(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,new H_(t[4].value),new H_(t[5].value))},3912681535:function(e,t){return new $C.IfcRelConnectsStructuralElement(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,new H_(t[4].value),new H_(t[5].value))},1638771189:function(e,t){return new $C.IfcRelConnectsStructuralMember(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,new H_(t[4].value),new H_(t[5].value),t[6]?new H_(t[6].value):null,t[7]?new H_(t[7].value):null,t[8]?new $C.IfcLengthMeasure(t[8].value):null,t[9]?new H_(t[9].value):null)},504942748:function(e,t){return new $C.IfcRelConnectsWithEccentricity(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,new H_(t[4].value),new H_(t[5].value),t[6]?new H_(t[6].value):null,t[7]?new H_(t[7].value):null,t[8]?new $C.IfcLengthMeasure(t[8].value):null,t[9]?new H_(t[9].value):null,new H_(t[10].value))},3678494232:function(e,t){return new $C.IfcRelConnectsWithRealizingElements(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new H_(t[4].value):null,new H_(t[5].value),new H_(t[6].value),t[7].map((function(e){return new H_(e.value)})),t[8]?new $C.IfcLabel(t[8].value):null)},3242617779:function(e,t){return new $C.IfcRelContainedInSpatialStructure(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4].map((function(e){return new H_(e.value)})),new H_(t[5].value))},886880790:function(e,t){return new $C.IfcRelCoversBldgElements(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,new H_(t[4].value),t[5].map((function(e){return new H_(e.value)})))},2802773753:function(e,t){return new $C.IfcRelCoversSpaces(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,new H_(t[4].value),t[5].map((function(e){return new H_(e.value)})))},2551354335:function(e,t){return new $C.IfcRelDecomposes(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,new H_(t[4].value),t[5].map((function(e){return new H_(e.value)})))},693640335:function(e,t){return new $C.IfcRelDefines(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4].map((function(e){return new H_(e.value)})))},4186316022:function(e,t){return new $C.IfcRelDefinesByProperties(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4].map((function(e){return new H_(e.value)})),new H_(t[5].value))},781010003:function(e,t){return new $C.IfcRelDefinesByType(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4].map((function(e){return new H_(e.value)})),new H_(t[5].value))},3940055652:function(e,t){return new $C.IfcRelFillsElement(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,new H_(t[4].value),new H_(t[5].value))},279856033:function(e,t){return new $C.IfcRelFlowControlElements(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4].map((function(e){return new H_(e.value)})),new H_(t[5].value))},4189434867:function(e,t){return new $C.IfcRelInteractionRequirements(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcCountMeasure(t[4].value):null,t[5]?new $C.IfcNormalisedRatioMeasure(t[5].value):null,t[6]?new H_(t[6].value):null,new H_(t[7].value),new H_(t[8].value))},3268803585:function(e,t){return new $C.IfcRelNests(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,new H_(t[4].value),t[5].map((function(e){return new H_(e.value)})))},2051452291:function(e,t){return new $C.IfcRelOccupiesSpaces(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4].map((function(e){return new H_(e.value)})),t[5],new H_(t[6].value),t[7]?new H_(t[7].value):null)},202636808:function(e,t){return new $C.IfcRelOverridesProperties(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4].map((function(e){return new H_(e.value)})),new H_(t[5].value),t[6].map((function(e){return new H_(e.value)})))},750771296:function(e,t){return new $C.IfcRelProjectsElement(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,new H_(t[4].value),new H_(t[5].value))},1245217292:function(e,t){return new $C.IfcRelReferencedInSpatialStructure(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4].map((function(e){return new H_(e.value)})),new H_(t[5].value))},1058617721:function(e,t){return new $C.IfcRelSchedulesCostItems(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4].map((function(e){return new H_(e.value)})),t[5],new H_(t[6].value))},4122056220:function(e,t){return new $C.IfcRelSequence(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,new H_(t[4].value),new H_(t[5].value),new $C.IfcTimeMeasure(t[6].value),t[7])},366585022:function(e,t){return new $C.IfcRelServicesBuildings(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,new H_(t[4].value),t[5].map((function(e){return new H_(e.value)})))},3451746338:function(e,t){return new $C.IfcRelSpaceBoundary(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,new H_(t[4].value),t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7],t[8])},1401173127:function(e,t){return new $C.IfcRelVoidsElement(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,new H_(t[4].value),new H_(t[5].value))},2914609552:function(e,t){return new $C.IfcResource(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null)},1856042241:function(e,t){return new $C.IfcRevolvedAreaSolid(e,new H_(t[0].value),new H_(t[1].value),new H_(t[2].value),new $C.IfcPlaneAngleMeasure(t[3].value))},4158566097:function(e,t){return new $C.IfcRightCircularCone(e,new H_(t[0].value),new $C.IfcPositiveLengthMeasure(t[1].value),new $C.IfcPositiveLengthMeasure(t[2].value))},3626867408:function(e,t){return new $C.IfcRightCircularCylinder(e,new H_(t[0].value),new $C.IfcPositiveLengthMeasure(t[1].value),new $C.IfcPositiveLengthMeasure(t[2].value))},2706606064:function(e,t){return new $C.IfcSpatialStructureElement(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new $C.IfcLabel(t[7].value):null,t[8])},3893378262:function(e,t){return new $C.IfcSpatialStructureElementType(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new $C.IfcLabel(t[7].value):null,t[8]?new $C.IfcLabel(t[8].value):null)},451544542:function(e,t){return new $C.IfcSphere(e,new H_(t[0].value),new $C.IfcPositiveLengthMeasure(t[1].value))},3544373492:function(e,t){return new $C.IfcStructuralActivity(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,new H_(t[7].value),t[8])},3136571912:function(e,t){return new $C.IfcStructuralItem(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null)},530289379:function(e,t){return new $C.IfcStructuralMember(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null)},3689010777:function(e,t){return new $C.IfcStructuralReaction(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,new H_(t[7].value),t[8])},3979015343:function(e,t){return new $C.IfcStructuralSurfaceMember(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7],t[8]?new $C.IfcPositiveLengthMeasure(t[8].value):null)},2218152070:function(e,t){return new $C.IfcStructuralSurfaceMemberVarying(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7],t[8]?new $C.IfcPositiveLengthMeasure(t[8].value):null,t[9].map((function(e){return new $C.IfcPositiveLengthMeasure(e.value)})),new H_(t[10].value))},4070609034:function(e,t){return new $C.IfcStructuredDimensionCallout(e,t[0].map((function(e){return new H_(e.value)})))},2028607225:function(e,t){return new $C.IfcSurfaceCurveSweptAreaSolid(e,new H_(t[0].value),new H_(t[1].value),new H_(t[2].value),new $C.IfcParameterValue(t[3].value),new $C.IfcParameterValue(t[4].value),new H_(t[5].value))},2809605785:function(e,t){return new $C.IfcSurfaceOfLinearExtrusion(e,new H_(t[0].value),new H_(t[1].value),new H_(t[2].value),new $C.IfcLengthMeasure(t[3].value))},4124788165:function(e,t){return new $C.IfcSurfaceOfRevolution(e,new H_(t[0].value),new H_(t[1].value),new H_(t[2].value))},1580310250:function(e,t){return new $C.IfcSystemFurnitureElementType(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new $C.IfcLabel(t[7].value):null,t[8]?new $C.IfcLabel(t[8].value):null)},3473067441:function(e,t){return new $C.IfcTask(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,new $C.IfcIdentifier(t[5].value),t[6]?new $C.IfcLabel(t[6].value):null,t[7]?new $C.IfcLabel(t[7].value):null,t[8].value,t[9]?t[9].value:null)},2097647324:function(e,t){return new $C.IfcTransportElementType(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new $C.IfcLabel(t[7].value):null,t[8]?new $C.IfcLabel(t[8].value):null,t[9])},2296667514:function(e,t){return new $C.IfcActor(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,new H_(t[5].value))},1674181508:function(e,t){return new $C.IfcAnnotation(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null)},3207858831:function(e,t){return new $C.IfcAsymmetricIShapeProfileDef(e,t[0],t[1]?new $C.IfcLabel(t[1].value):null,new H_(t[2].value),new $C.IfcPositiveLengthMeasure(t[3].value),new $C.IfcPositiveLengthMeasure(t[4].value),new $C.IfcPositiveLengthMeasure(t[5].value),new $C.IfcPositiveLengthMeasure(t[6].value),t[7]?new $C.IfcPositiveLengthMeasure(t[7].value):null,new $C.IfcPositiveLengthMeasure(t[8].value),t[9]?new $C.IfcPositiveLengthMeasure(t[9].value):null,t[10]?new $C.IfcPositiveLengthMeasure(t[10].value):null,t[11]?new $C.IfcPositiveLengthMeasure(t[11].value):null)},1334484129:function(e,t){return new $C.IfcBlock(e,new H_(t[0].value),new $C.IfcPositiveLengthMeasure(t[1].value),new $C.IfcPositiveLengthMeasure(t[2].value),new $C.IfcPositiveLengthMeasure(t[3].value))},3649129432:function(e,t){return new $C.IfcBooleanClippingResult(e,t[0],new H_(t[1].value),new H_(t[2].value))},1260505505:function(e,t){return new $C.IfcBoundedCurve(e)},4031249490:function(e,t){return new $C.IfcBuilding(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new $C.IfcLabel(t[7].value):null,t[8],t[9]?new $C.IfcLengthMeasure(t[9].value):null,t[10]?new $C.IfcLengthMeasure(t[10].value):null,t[11]?new H_(t[11].value):null)},1950629157:function(e,t){return new $C.IfcBuildingElementType(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new $C.IfcLabel(t[7].value):null,t[8]?new $C.IfcLabel(t[8].value):null)},3124254112:function(e,t){return new $C.IfcBuildingStorey(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new $C.IfcLabel(t[7].value):null,t[8],t[9]?new $C.IfcLengthMeasure(t[9].value):null)},2937912522:function(e,t){return new $C.IfcCircleHollowProfileDef(e,t[0],t[1]?new $C.IfcLabel(t[1].value):null,new H_(t[2].value),new $C.IfcPositiveLengthMeasure(t[3].value),new $C.IfcPositiveLengthMeasure(t[4].value))},300633059:function(e,t){return new $C.IfcColumnType(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new $C.IfcLabel(t[7].value):null,t[8]?new $C.IfcLabel(t[8].value):null,t[9])},3732776249:function(e,t){return new $C.IfcCompositeCurve(e,t[0].map((function(e){return new H_(e.value)})),t[1].value)},2510884976:function(e,t){return new $C.IfcConic(e,new H_(t[0].value))},2559216714:function(e,t){return new $C.IfcConstructionResource(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?new $C.IfcIdentifier(t[5].value):null,t[6]?new $C.IfcLabel(t[6].value):null,t[7],t[8]?new H_(t[8].value):null)},3293443760:function(e,t){return new $C.IfcControl(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null)},3895139033:function(e,t){return new $C.IfcCostItem(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null)},1419761937:function(e,t){return new $C.IfcCostSchedule(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new H_(t[7].value):null,t[8]?new $C.IfcLabel(t[8].value):null,t[9]?t[9].map((function(e){return new H_(e.value)})):null,t[10]?new H_(t[10].value):null,new $C.IfcIdentifier(t[11].value),t[12])},1916426348:function(e,t){return new $C.IfcCoveringType(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new $C.IfcLabel(t[7].value):null,t[8]?new $C.IfcLabel(t[8].value):null,t[9])},3295246426:function(e,t){return new $C.IfcCrewResource(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?new $C.IfcIdentifier(t[5].value):null,t[6]?new $C.IfcLabel(t[6].value):null,t[7],t[8]?new H_(t[8].value):null)},1457835157:function(e,t){return new $C.IfcCurtainWallType(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new $C.IfcLabel(t[7].value):null,t[8]?new $C.IfcLabel(t[8].value):null,t[9])},681481545:function(e,t){return new $C.IfcDimensionCurveDirectedCallout(e,t[0].map((function(e){return new H_(e.value)})))},3256556792:function(e,t){return new $C.IfcDistributionElementType(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new $C.IfcLabel(t[7].value):null,t[8]?new $C.IfcLabel(t[8].value):null)},3849074793:function(e,t){return new $C.IfcDistributionFlowElementType(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new $C.IfcLabel(t[7].value):null,t[8]?new $C.IfcLabel(t[8].value):null)},360485395:function(e,t){return new $C.IfcElectricalBaseProperties(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4],t[5]?new $C.IfcLabel(t[5].value):null,t[6],new $C.IfcElectricVoltageMeasure(t[7].value),new $C.IfcFrequencyMeasure(t[8].value),t[9]?new $C.IfcElectricCurrentMeasure(t[9].value):null,t[10]?new $C.IfcElectricCurrentMeasure(t[10].value):null,t[11]?new $C.IfcPowerMeasure(t[11].value):null,t[12]?new $C.IfcPowerMeasure(t[12].value):null,t[13].value)},1758889154:function(e,t){return new $C.IfcElement(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new $C.IfcIdentifier(t[7].value):null)},4123344466:function(e,t){return new $C.IfcElementAssembly(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new $C.IfcIdentifier(t[7].value):null,t[8],t[9])},1623761950:function(e,t){return new $C.IfcElementComponent(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new $C.IfcIdentifier(t[7].value):null)},2590856083:function(e,t){return new $C.IfcElementComponentType(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new $C.IfcLabel(t[7].value):null,t[8]?new $C.IfcLabel(t[8].value):null)},1704287377:function(e,t){return new $C.IfcEllipse(e,new H_(t[0].value),new $C.IfcPositiveLengthMeasure(t[1].value),new $C.IfcPositiveLengthMeasure(t[2].value))},2107101300:function(e,t){return new $C.IfcEnergyConversionDeviceType(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new $C.IfcLabel(t[7].value):null,t[8]?new $C.IfcLabel(t[8].value):null)},1962604670:function(e,t){return new $C.IfcEquipmentElement(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new $C.IfcIdentifier(t[7].value):null)},3272907226:function(e,t){return new $C.IfcEquipmentStandard(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null)},3174744832:function(e,t){return new $C.IfcEvaporativeCoolerType(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new $C.IfcLabel(t[7].value):null,t[8]?new $C.IfcLabel(t[8].value):null,t[9])},3390157468:function(e,t){return new $C.IfcEvaporatorType(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new $C.IfcLabel(t[7].value):null,t[8]?new $C.IfcLabel(t[8].value):null,t[9])},807026263:function(e,t){return new $C.IfcFacetedBrep(e,new H_(t[0].value))},3737207727:function(e,t){return new $C.IfcFacetedBrepWithVoids(e,new H_(t[0].value),t[1].map((function(e){return new H_(e.value)})))},647756555:function(e,t){return new $C.IfcFastener(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new $C.IfcIdentifier(t[7].value):null)},2489546625:function(e,t){return new $C.IfcFastenerType(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new $C.IfcLabel(t[7].value):null,t[8]?new $C.IfcLabel(t[8].value):null)},2827207264:function(e,t){return new $C.IfcFeatureElement(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new $C.IfcIdentifier(t[7].value):null)},2143335405:function(e,t){return new $C.IfcFeatureElementAddition(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new $C.IfcIdentifier(t[7].value):null)},1287392070:function(e,t){return new $C.IfcFeatureElementSubtraction(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new $C.IfcIdentifier(t[7].value):null)},3907093117:function(e,t){return new $C.IfcFlowControllerType(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new $C.IfcLabel(t[7].value):null,t[8]?new $C.IfcLabel(t[8].value):null)},3198132628:function(e,t){return new $C.IfcFlowFittingType(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new $C.IfcLabel(t[7].value):null,t[8]?new $C.IfcLabel(t[8].value):null)},3815607619:function(e,t){return new $C.IfcFlowMeterType(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new $C.IfcLabel(t[7].value):null,t[8]?new $C.IfcLabel(t[8].value):null,t[9])},1482959167:function(e,t){return new $C.IfcFlowMovingDeviceType(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new $C.IfcLabel(t[7].value):null,t[8]?new $C.IfcLabel(t[8].value):null)},1834744321:function(e,t){return new $C.IfcFlowSegmentType(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new $C.IfcLabel(t[7].value):null,t[8]?new $C.IfcLabel(t[8].value):null)},1339347760:function(e,t){return new $C.IfcFlowStorageDeviceType(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new $C.IfcLabel(t[7].value):null,t[8]?new $C.IfcLabel(t[8].value):null)},2297155007:function(e,t){return new $C.IfcFlowTerminalType(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new $C.IfcLabel(t[7].value):null,t[8]?new $C.IfcLabel(t[8].value):null)},3009222698:function(e,t){return new $C.IfcFlowTreatmentDeviceType(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new $C.IfcLabel(t[7].value):null,t[8]?new $C.IfcLabel(t[8].value):null)},263784265:function(e,t){return new $C.IfcFurnishingElement(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new $C.IfcIdentifier(t[7].value):null)},814719939:function(e,t){return new $C.IfcFurnitureStandard(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null)},200128114:function(e,t){return new $C.IfcGasTerminalType(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new $C.IfcLabel(t[7].value):null,t[8]?new $C.IfcLabel(t[8].value):null,t[9])},3009204131:function(e,t){return new $C.IfcGrid(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7].map((function(e){return new H_(e.value)})),t[8].map((function(e){return new H_(e.value)})),t[9]?t[9].map((function(e){return new H_(e.value)})):null)},2706460486:function(e,t){return new $C.IfcGroup(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null)},1251058090:function(e,t){return new $C.IfcHeatExchangerType(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new $C.IfcLabel(t[7].value):null,t[8]?new $C.IfcLabel(t[8].value):null,t[9])},1806887404:function(e,t){return new $C.IfcHumidifierType(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new $C.IfcLabel(t[7].value):null,t[8]?new $C.IfcLabel(t[8].value):null,t[9])},2391368822:function(e,t){return new $C.IfcInventory(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5],new H_(t[6].value),t[7].map((function(e){return new H_(e.value)})),new H_(t[8].value),t[9]?new H_(t[9].value):null,t[10]?new H_(t[10].value):null)},4288270099:function(e,t){return new $C.IfcJunctionBoxType(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new $C.IfcLabel(t[7].value):null,t[8]?new $C.IfcLabel(t[8].value):null,t[9])},3827777499:function(e,t){return new $C.IfcLaborResource(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?new $C.IfcIdentifier(t[5].value):null,t[6]?new $C.IfcLabel(t[6].value):null,t[7],t[8]?new H_(t[8].value):null,t[9]?new $C.IfcText(t[9].value):null)},1051575348:function(e,t){return new $C.IfcLampType(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new $C.IfcLabel(t[7].value):null,t[8]?new $C.IfcLabel(t[8].value):null,t[9])},1161773419:function(e,t){return new $C.IfcLightFixtureType(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new $C.IfcLabel(t[7].value):null,t[8]?new $C.IfcLabel(t[8].value):null,t[9])},2506943328:function(e,t){return new $C.IfcLinearDimension(e,t[0].map((function(e){return new H_(e.value)})))},377706215:function(e,t){return new $C.IfcMechanicalFastener(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new $C.IfcIdentifier(t[7].value):null,t[8]?new $C.IfcPositiveLengthMeasure(t[8].value):null,t[9]?new $C.IfcPositiveLengthMeasure(t[9].value):null)},2108223431:function(e,t){return new $C.IfcMechanicalFastenerType(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new $C.IfcLabel(t[7].value):null,t[8]?new $C.IfcLabel(t[8].value):null)},3181161470:function(e,t){return new $C.IfcMemberType(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new $C.IfcLabel(t[7].value):null,t[8]?new $C.IfcLabel(t[8].value):null,t[9])},977012517:function(e,t){return new $C.IfcMotorConnectionType(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new $C.IfcLabel(t[7].value):null,t[8]?new $C.IfcLabel(t[8].value):null,t[9])},1916936684:function(e,t){return new $C.IfcMove(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,new $C.IfcIdentifier(t[5].value),t[6]?new $C.IfcLabel(t[6].value):null,t[7]?new $C.IfcLabel(t[7].value):null,t[8].value,t[9]?t[9].value:null,new H_(t[10].value),new H_(t[11].value),t[12]?t[12].map((function(e){return new $C.IfcText(e.value)})):null)},4143007308:function(e,t){return new $C.IfcOccupant(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,new H_(t[5].value),t[6])},3588315303:function(e,t){return new $C.IfcOpeningElement(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new $C.IfcIdentifier(t[7].value):null)},3425660407:function(e,t){return new $C.IfcOrderAction(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,new $C.IfcIdentifier(t[5].value),t[6]?new $C.IfcLabel(t[6].value):null,t[7]?new $C.IfcLabel(t[7].value):null,t[8].value,t[9]?t[9].value:null,new $C.IfcIdentifier(t[10].value))},2837617999:function(e,t){return new $C.IfcOutletType(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new $C.IfcLabel(t[7].value):null,t[8]?new $C.IfcLabel(t[8].value):null,t[9])},2382730787:function(e,t){return new $C.IfcPerformanceHistory(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,new $C.IfcLabel(t[5].value))},3327091369:function(e,t){return new $C.IfcPermit(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,new $C.IfcIdentifier(t[5].value))},804291784:function(e,t){return new $C.IfcPipeFittingType(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new $C.IfcLabel(t[7].value):null,t[8]?new $C.IfcLabel(t[8].value):null,t[9])},4231323485:function(e,t){return new $C.IfcPipeSegmentType(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new $C.IfcLabel(t[7].value):null,t[8]?new $C.IfcLabel(t[8].value):null,t[9])},4017108033:function(e,t){return new $C.IfcPlateType(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new $C.IfcLabel(t[7].value):null,t[8]?new $C.IfcLabel(t[8].value):null,t[9])},3724593414:function(e,t){return new $C.IfcPolyline(e,t[0].map((function(e){return new H_(e.value)})))},3740093272:function(e,t){return new $C.IfcPort(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null)},2744685151:function(e,t){return new $C.IfcProcedure(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,new $C.IfcIdentifier(t[5].value),t[6],t[7]?new $C.IfcLabel(t[7].value):null)},2904328755:function(e,t){return new $C.IfcProjectOrder(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,new $C.IfcIdentifier(t[5].value),t[6],t[7]?new $C.IfcLabel(t[7].value):null)},3642467123:function(e,t){return new $C.IfcProjectOrderRecord(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5].map((function(e){return new H_(e.value)})),t[6])},3651124850:function(e,t){return new $C.IfcProjectionElement(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new $C.IfcIdentifier(t[7].value):null)},1842657554:function(e,t){return new $C.IfcProtectiveDeviceType(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new $C.IfcLabel(t[7].value):null,t[8]?new $C.IfcLabel(t[8].value):null,t[9])},2250791053:function(e,t){return new $C.IfcPumpType(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new $C.IfcLabel(t[7].value):null,t[8]?new $C.IfcLabel(t[8].value):null,t[9])},3248260540:function(e,t){return new $C.IfcRadiusDimension(e,t[0].map((function(e){return new H_(e.value)})))},2893384427:function(e,t){return new $C.IfcRailingType(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new $C.IfcLabel(t[7].value):null,t[8]?new $C.IfcLabel(t[8].value):null,t[9])},2324767716:function(e,t){return new $C.IfcRampFlightType(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new $C.IfcLabel(t[7].value):null,t[8]?new $C.IfcLabel(t[8].value):null,t[9])},160246688:function(e,t){return new $C.IfcRelAggregates(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,new H_(t[4].value),t[5].map((function(e){return new H_(e.value)})))},2863920197:function(e,t){return new $C.IfcRelAssignsTasks(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4].map((function(e){return new H_(e.value)})),t[5],new H_(t[6].value),t[7]?new H_(t[7].value):null)},1768891740:function(e,t){return new $C.IfcSanitaryTerminalType(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new $C.IfcLabel(t[7].value):null,t[8]?new $C.IfcLabel(t[8].value):null,t[9])},3517283431:function(e,t){return new $C.IfcScheduleTimeControl(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new H_(t[7].value):null,t[8]?new H_(t[8].value):null,t[9]?new H_(t[9].value):null,t[10]?new H_(t[10].value):null,t[11]?new H_(t[11].value):null,t[12]?new H_(t[12].value):null,t[13]?new $C.IfcTimeMeasure(t[13].value):null,t[14]?new $C.IfcTimeMeasure(t[14].value):null,t[15]?new $C.IfcTimeMeasure(t[15].value):null,t[16]?new $C.IfcTimeMeasure(t[16].value):null,t[17]?new $C.IfcTimeMeasure(t[17].value):null,t[18]?t[18].value:null,t[19]?new H_(t[19].value):null,t[20]?new $C.IfcTimeMeasure(t[20].value):null,t[21]?new $C.IfcTimeMeasure(t[21].value):null,t[22]?new $C.IfcPositiveRatioMeasure(t[22].value):null)},4105383287:function(e,t){return new $C.IfcServiceLife(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5],new $C.IfcTimeMeasure(t[6].value))},4097777520:function(e,t){return new $C.IfcSite(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new $C.IfcLabel(t[7].value):null,t[8],t[9]?new $C.IfcCompoundPlaneAngleMeasure(t[9]):null,t[10]?new $C.IfcCompoundPlaneAngleMeasure(t[10]):null,t[11]?new $C.IfcLengthMeasure(t[11].value):null,t[12]?new $C.IfcLabel(t[12].value):null,t[13]?new H_(t[13].value):null)},2533589738:function(e,t){return new $C.IfcSlabType(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new $C.IfcLabel(t[7].value):null,t[8]?new $C.IfcLabel(t[8].value):null,t[9])},3856911033:function(e,t){return new $C.IfcSpace(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new $C.IfcLabel(t[7].value):null,t[8],t[9],t[10]?new $C.IfcLengthMeasure(t[10].value):null)},1305183839:function(e,t){return new $C.IfcSpaceHeaterType(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new $C.IfcLabel(t[7].value):null,t[8]?new $C.IfcLabel(t[8].value):null,t[9])},652456506:function(e,t){return new $C.IfcSpaceProgram(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,new $C.IfcIdentifier(t[5].value),t[6]?new $C.IfcAreaMeasure(t[6].value):null,t[7]?new $C.IfcAreaMeasure(t[7].value):null,t[8]?new H_(t[8].value):null,new $C.IfcAreaMeasure(t[9].value))},3812236995:function(e,t){return new $C.IfcSpaceType(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new $C.IfcLabel(t[7].value):null,t[8]?new $C.IfcLabel(t[8].value):null,t[9])},3112655638:function(e,t){return new $C.IfcStackTerminalType(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new $C.IfcLabel(t[7].value):null,t[8]?new $C.IfcLabel(t[8].value):null,t[9])},1039846685:function(e,t){return new $C.IfcStairFlightType(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new $C.IfcLabel(t[7].value):null,t[8]?new $C.IfcLabel(t[8].value):null,t[9])},682877961:function(e,t){return new $C.IfcStructuralAction(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,new H_(t[7].value),t[8],t[9].value,t[10]?new H_(t[10].value):null)},1179482911:function(e,t){return new $C.IfcStructuralConnection(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new H_(t[7].value):null)},4243806635:function(e,t){return new $C.IfcStructuralCurveConnection(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new H_(t[7].value):null)},214636428:function(e,t){return new $C.IfcStructuralCurveMember(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7])},2445595289:function(e,t){return new $C.IfcStructuralCurveMemberVarying(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7])},1807405624:function(e,t){return new $C.IfcStructuralLinearAction(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,new H_(t[7].value),t[8],t[9].value,t[10]?new H_(t[10].value):null,t[11])},1721250024:function(e,t){return new $C.IfcStructuralLinearActionVarying(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,new H_(t[7].value),t[8],t[9].value,t[10]?new H_(t[10].value):null,t[11],new H_(t[12].value),t[13].map((function(e){return new H_(e.value)})))},1252848954:function(e,t){return new $C.IfcStructuralLoadGroup(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5],t[6],t[7],t[8]?new $C.IfcRatioMeasure(t[8].value):null,t[9]?new $C.IfcLabel(t[9].value):null)},1621171031:function(e,t){return new $C.IfcStructuralPlanarAction(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,new H_(t[7].value),t[8],t[9].value,t[10]?new H_(t[10].value):null,t[11])},3987759626:function(e,t){return new $C.IfcStructuralPlanarActionVarying(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,new H_(t[7].value),t[8],t[9].value,t[10]?new H_(t[10].value):null,t[11],new H_(t[12].value),t[13].map((function(e){return new H_(e.value)})))},2082059205:function(e,t){return new $C.IfcStructuralPointAction(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,new H_(t[7].value),t[8],t[9].value,t[10]?new H_(t[10].value):null)},734778138:function(e,t){return new $C.IfcStructuralPointConnection(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new H_(t[7].value):null)},1235345126:function(e,t){return new $C.IfcStructuralPointReaction(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,new H_(t[7].value),t[8])},2986769608:function(e,t){return new $C.IfcStructuralResultGroup(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5],t[6]?new H_(t[6].value):null,t[7].value)},1975003073:function(e,t){return new $C.IfcStructuralSurfaceConnection(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new H_(t[7].value):null)},148013059:function(e,t){return new $C.IfcSubContractResource(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?new $C.IfcIdentifier(t[5].value):null,t[6]?new $C.IfcLabel(t[6].value):null,t[7],t[8]?new H_(t[8].value):null,t[9]?new H_(t[9].value):null,t[10]?new $C.IfcText(t[10].value):null)},2315554128:function(e,t){return new $C.IfcSwitchingDeviceType(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new $C.IfcLabel(t[7].value):null,t[8]?new $C.IfcLabel(t[8].value):null,t[9])},2254336722:function(e,t){return new $C.IfcSystem(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null)},5716631:function(e,t){return new $C.IfcTankType(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new $C.IfcLabel(t[7].value):null,t[8]?new $C.IfcLabel(t[8].value):null,t[9])},1637806684:function(e,t){return new $C.IfcTimeSeriesSchedule(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6],new H_(t[7].value))},1692211062:function(e,t){return new $C.IfcTransformerType(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new $C.IfcLabel(t[7].value):null,t[8]?new $C.IfcLabel(t[8].value):null,t[9])},1620046519:function(e,t){return new $C.IfcTransportElement(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new $C.IfcIdentifier(t[7].value):null,t[8],t[9]?new $C.IfcMassMeasure(t[9].value):null,t[10]?new $C.IfcCountMeasure(t[10].value):null)},3593883385:function(e,t){return new $C.IfcTrimmedCurve(e,new H_(t[0].value),t[1].map((function(e){return new H_(e.value)})),t[2].map((function(e){return new H_(e.value)})),t[3].value,t[4])},1600972822:function(e,t){return new $C.IfcTubeBundleType(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new $C.IfcLabel(t[7].value):null,t[8]?new $C.IfcLabel(t[8].value):null,t[9])},1911125066:function(e,t){return new $C.IfcUnitaryEquipmentType(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new $C.IfcLabel(t[7].value):null,t[8]?new $C.IfcLabel(t[8].value):null,t[9])},728799441:function(e,t){return new $C.IfcValveType(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new $C.IfcLabel(t[7].value):null,t[8]?new $C.IfcLabel(t[8].value):null,t[9])},2769231204:function(e,t){return new $C.IfcVirtualElement(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new $C.IfcIdentifier(t[7].value):null)},1898987631:function(e,t){return new $C.IfcWallType(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new $C.IfcLabel(t[7].value):null,t[8]?new $C.IfcLabel(t[8].value):null,t[9])},1133259667:function(e,t){return new $C.IfcWasteTerminalType(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new $C.IfcLabel(t[7].value):null,t[8]?new $C.IfcLabel(t[8].value):null,t[9])},1028945134:function(e,t){return new $C.IfcWorkControl(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,new $C.IfcIdentifier(t[5].value),new H_(t[6].value),t[7]?t[7].map((function(e){return new H_(e.value)})):null,t[8]?new $C.IfcLabel(t[8].value):null,t[9]?new $C.IfcTimeMeasure(t[9].value):null,t[10]?new $C.IfcTimeMeasure(t[10].value):null,new H_(t[11].value),t[12]?new H_(t[12].value):null,t[13],t[14]?new $C.IfcLabel(t[14].value):null)},4218914973:function(e,t){return new $C.IfcWorkPlan(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,new $C.IfcIdentifier(t[5].value),new H_(t[6].value),t[7]?t[7].map((function(e){return new H_(e.value)})):null,t[8]?new $C.IfcLabel(t[8].value):null,t[9]?new $C.IfcTimeMeasure(t[9].value):null,t[10]?new $C.IfcTimeMeasure(t[10].value):null,new H_(t[11].value),t[12]?new H_(t[12].value):null,t[13],t[14]?new $C.IfcLabel(t[14].value):null)},3342526732:function(e,t){return new $C.IfcWorkSchedule(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,new $C.IfcIdentifier(t[5].value),new H_(t[6].value),t[7]?t[7].map((function(e){return new H_(e.value)})):null,t[8]?new $C.IfcLabel(t[8].value):null,t[9]?new $C.IfcTimeMeasure(t[9].value):null,t[10]?new $C.IfcTimeMeasure(t[10].value):null,new H_(t[11].value),t[12]?new H_(t[12].value):null,t[13],t[14]?new $C.IfcLabel(t[14].value):null)},1033361043:function(e,t){return new $C.IfcZone(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null)},1213861670:function(e,t){return new $C.Ifc2DCompositeCurve(e,t[0].map((function(e){return new H_(e.value)})),t[1].value)},3821786052:function(e,t){return new $C.IfcActionRequest(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,new $C.IfcIdentifier(t[5].value))},1411407467:function(e,t){return new $C.IfcAirTerminalBoxType(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new $C.IfcLabel(t[7].value):null,t[8]?new $C.IfcLabel(t[8].value):null,t[9])},3352864051:function(e,t){return new $C.IfcAirTerminalType(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new $C.IfcLabel(t[7].value):null,t[8]?new $C.IfcLabel(t[8].value):null,t[9])},1871374353:function(e,t){return new $C.IfcAirToAirHeatRecoveryType(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new $C.IfcLabel(t[7].value):null,t[8]?new $C.IfcLabel(t[8].value):null,t[9])},2470393545:function(e,t){return new $C.IfcAngularDimension(e,t[0].map((function(e){return new H_(e.value)})))},3460190687:function(e,t){return new $C.IfcAsset(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,new $C.IfcIdentifier(t[5].value),new H_(t[6].value),new H_(t[7].value),new H_(t[8].value),new H_(t[9].value),new H_(t[10].value),new H_(t[11].value),new H_(t[12].value),new H_(t[13].value))},1967976161:function(e,t){return new $C.IfcBSplineCurve(e,t[0].value,t[1].map((function(e){return new H_(e.value)})),t[2],t[3].value,t[4].value)},819618141:function(e,t){return new $C.IfcBeamType(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new $C.IfcLabel(t[7].value):null,t[8]?new $C.IfcLabel(t[8].value):null,t[9])},1916977116:function(e,t){return new $C.IfcBezierCurve(e,t[0].value,t[1].map((function(e){return new H_(e.value)})),t[2],t[3].value,t[4].value)},231477066:function(e,t){return new $C.IfcBoilerType(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new $C.IfcLabel(t[7].value):null,t[8]?new $C.IfcLabel(t[8].value):null,t[9])},3299480353:function(e,t){return new $C.IfcBuildingElement(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new $C.IfcIdentifier(t[7].value):null)},52481810:function(e,t){return new $C.IfcBuildingElementComponent(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new $C.IfcIdentifier(t[7].value):null)},2979338954:function(e,t){return new $C.IfcBuildingElementPart(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new $C.IfcIdentifier(t[7].value):null)},1095909175:function(e,t){return new $C.IfcBuildingElementProxy(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new $C.IfcIdentifier(t[7].value):null,t[8])},1909888760:function(e,t){return new $C.IfcBuildingElementProxyType(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new $C.IfcLabel(t[7].value):null,t[8]?new $C.IfcLabel(t[8].value):null,t[9])},395041908:function(e,t){return new $C.IfcCableCarrierFittingType(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new $C.IfcLabel(t[7].value):null,t[8]?new $C.IfcLabel(t[8].value):null,t[9])},3293546465:function(e,t){return new $C.IfcCableCarrierSegmentType(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new $C.IfcLabel(t[7].value):null,t[8]?new $C.IfcLabel(t[8].value):null,t[9])},1285652485:function(e,t){return new $C.IfcCableSegmentType(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new $C.IfcLabel(t[7].value):null,t[8]?new $C.IfcLabel(t[8].value):null,t[9])},2951183804:function(e,t){return new $C.IfcChillerType(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new $C.IfcLabel(t[7].value):null,t[8]?new $C.IfcLabel(t[8].value):null,t[9])},2611217952:function(e,t){return new $C.IfcCircle(e,new H_(t[0].value),new $C.IfcPositiveLengthMeasure(t[1].value))},2301859152:function(e,t){return new $C.IfcCoilType(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new $C.IfcLabel(t[7].value):null,t[8]?new $C.IfcLabel(t[8].value):null,t[9])},843113511:function(e,t){return new $C.IfcColumn(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new $C.IfcIdentifier(t[7].value):null)},3850581409:function(e,t){return new $C.IfcCompressorType(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new $C.IfcLabel(t[7].value):null,t[8]?new $C.IfcLabel(t[8].value):null,t[9])},2816379211:function(e,t){return new $C.IfcCondenserType(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new $C.IfcLabel(t[7].value):null,t[8]?new $C.IfcLabel(t[8].value):null,t[9])},2188551683:function(e,t){return new $C.IfcCondition(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null)},1163958913:function(e,t){return new $C.IfcConditionCriterion(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,new H_(t[5].value),new H_(t[6].value))},3898045240:function(e,t){return new $C.IfcConstructionEquipmentResource(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?new $C.IfcIdentifier(t[5].value):null,t[6]?new $C.IfcLabel(t[6].value):null,t[7],t[8]?new H_(t[8].value):null)},1060000209:function(e,t){return new $C.IfcConstructionMaterialResource(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?new $C.IfcIdentifier(t[5].value):null,t[6]?new $C.IfcLabel(t[6].value):null,t[7],t[8]?new H_(t[8].value):null,t[9]?t[9].map((function(e){return new H_(e.value)})):null,t[10]?new $C.IfcRatioMeasure(t[10].value):null)},488727124:function(e,t){return new $C.IfcConstructionProductResource(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?new $C.IfcIdentifier(t[5].value):null,t[6]?new $C.IfcLabel(t[6].value):null,t[7],t[8]?new H_(t[8].value):null)},335055490:function(e,t){return new $C.IfcCooledBeamType(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new $C.IfcLabel(t[7].value):null,t[8]?new $C.IfcLabel(t[8].value):null,t[9])},2954562838:function(e,t){return new $C.IfcCoolingTowerType(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new $C.IfcLabel(t[7].value):null,t[8]?new $C.IfcLabel(t[8].value):null,t[9])},1973544240:function(e,t){return new $C.IfcCovering(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new $C.IfcIdentifier(t[7].value):null,t[8])},3495092785:function(e,t){return new $C.IfcCurtainWall(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new $C.IfcIdentifier(t[7].value):null)},3961806047:function(e,t){return new $C.IfcDamperType(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new $C.IfcLabel(t[7].value):null,t[8]?new $C.IfcLabel(t[8].value):null,t[9])},4147604152:function(e,t){return new $C.IfcDiameterDimension(e,t[0].map((function(e){return new H_(e.value)})))},1335981549:function(e,t){return new $C.IfcDiscreteAccessory(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new $C.IfcIdentifier(t[7].value):null)},2635815018:function(e,t){return new $C.IfcDiscreteAccessoryType(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new $C.IfcLabel(t[7].value):null,t[8]?new $C.IfcLabel(t[8].value):null)},1599208980:function(e,t){return new $C.IfcDistributionChamberElementType(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new $C.IfcLabel(t[7].value):null,t[8]?new $C.IfcLabel(t[8].value):null,t[9])},2063403501:function(e,t){return new $C.IfcDistributionControlElementType(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new $C.IfcLabel(t[7].value):null,t[8]?new $C.IfcLabel(t[8].value):null)},1945004755:function(e,t){return new $C.IfcDistributionElement(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new $C.IfcIdentifier(t[7].value):null)},3040386961:function(e,t){return new $C.IfcDistributionFlowElement(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new $C.IfcIdentifier(t[7].value):null)},3041715199:function(e,t){return new $C.IfcDistributionPort(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7])},395920057:function(e,t){return new $C.IfcDoor(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new $C.IfcIdentifier(t[7].value):null,t[8]?new $C.IfcPositiveLengthMeasure(t[8].value):null,t[9]?new $C.IfcPositiveLengthMeasure(t[9].value):null)},869906466:function(e,t){return new $C.IfcDuctFittingType(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new $C.IfcLabel(t[7].value):null,t[8]?new $C.IfcLabel(t[8].value):null,t[9])},3760055223:function(e,t){return new $C.IfcDuctSegmentType(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new $C.IfcLabel(t[7].value):null,t[8]?new $C.IfcLabel(t[8].value):null,t[9])},2030761528:function(e,t){return new $C.IfcDuctSilencerType(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new $C.IfcLabel(t[7].value):null,t[8]?new $C.IfcLabel(t[8].value):null,t[9])},855621170:function(e,t){return new $C.IfcEdgeFeature(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new $C.IfcIdentifier(t[7].value):null,t[8]?new $C.IfcPositiveLengthMeasure(t[8].value):null)},663422040:function(e,t){return new $C.IfcElectricApplianceType(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new $C.IfcLabel(t[7].value):null,t[8]?new $C.IfcLabel(t[8].value):null,t[9])},3277789161:function(e,t){return new $C.IfcElectricFlowStorageDeviceType(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new $C.IfcLabel(t[7].value):null,t[8]?new $C.IfcLabel(t[8].value):null,t[9])},1534661035:function(e,t){return new $C.IfcElectricGeneratorType(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new $C.IfcLabel(t[7].value):null,t[8]?new $C.IfcLabel(t[8].value):null,t[9])},1365060375:function(e,t){return new $C.IfcElectricHeaterType(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new $C.IfcLabel(t[7].value):null,t[8]?new $C.IfcLabel(t[8].value):null,t[9])},1217240411:function(e,t){return new $C.IfcElectricMotorType(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new $C.IfcLabel(t[7].value):null,t[8]?new $C.IfcLabel(t[8].value):null,t[9])},712377611:function(e,t){return new $C.IfcElectricTimeControlType(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new $C.IfcLabel(t[7].value):null,t[8]?new $C.IfcLabel(t[8].value):null,t[9])},1634875225:function(e,t){return new $C.IfcElectricalCircuit(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null)},857184966:function(e,t){return new $C.IfcElectricalElement(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new $C.IfcIdentifier(t[7].value):null)},1658829314:function(e,t){return new $C.IfcEnergyConversionDevice(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new $C.IfcIdentifier(t[7].value):null)},346874300:function(e,t){return new $C.IfcFanType(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new $C.IfcLabel(t[7].value):null,t[8]?new $C.IfcLabel(t[8].value):null,t[9])},1810631287:function(e,t){return new $C.IfcFilterType(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new $C.IfcLabel(t[7].value):null,t[8]?new $C.IfcLabel(t[8].value):null,t[9])},4222183408:function(e,t){return new $C.IfcFireSuppressionTerminalType(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new $C.IfcLabel(t[7].value):null,t[8]?new $C.IfcLabel(t[8].value):null,t[9])},2058353004:function(e,t){return new $C.IfcFlowController(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new $C.IfcIdentifier(t[7].value):null)},4278956645:function(e,t){return new $C.IfcFlowFitting(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new $C.IfcIdentifier(t[7].value):null)},4037862832:function(e,t){return new $C.IfcFlowInstrumentType(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new $C.IfcLabel(t[7].value):null,t[8]?new $C.IfcLabel(t[8].value):null,t[9])},3132237377:function(e,t){return new $C.IfcFlowMovingDevice(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new $C.IfcIdentifier(t[7].value):null)},987401354:function(e,t){return new $C.IfcFlowSegment(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new $C.IfcIdentifier(t[7].value):null)},707683696:function(e,t){return new $C.IfcFlowStorageDevice(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new $C.IfcIdentifier(t[7].value):null)},2223149337:function(e,t){return new $C.IfcFlowTerminal(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new $C.IfcIdentifier(t[7].value):null)},3508470533:function(e,t){return new $C.IfcFlowTreatmentDevice(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new $C.IfcIdentifier(t[7].value):null)},900683007:function(e,t){return new $C.IfcFooting(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new $C.IfcIdentifier(t[7].value):null,t[8])},1073191201:function(e,t){return new $C.IfcMember(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new $C.IfcIdentifier(t[7].value):null)},1687234759:function(e,t){return new $C.IfcPile(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new $C.IfcIdentifier(t[7].value):null,t[8],t[9])},3171933400:function(e,t){return new $C.IfcPlate(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new $C.IfcIdentifier(t[7].value):null)},2262370178:function(e,t){return new $C.IfcRailing(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new $C.IfcIdentifier(t[7].value):null,t[8])},3024970846:function(e,t){return new $C.IfcRamp(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new $C.IfcIdentifier(t[7].value):null,t[8])},3283111854:function(e,t){return new $C.IfcRampFlight(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new $C.IfcIdentifier(t[7].value):null)},3055160366:function(e,t){return new $C.IfcRationalBezierCurve(e,t[0].value,t[1].map((function(e){return new H_(e.value)})),t[2],t[3].value,t[4].value,t[5].map((function(e){return e.value})))},3027567501:function(e,t){return new $C.IfcReinforcingElement(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new $C.IfcIdentifier(t[7].value):null,t[8]?new $C.IfcLabel(t[8].value):null)},2320036040:function(e,t){return new $C.IfcReinforcingMesh(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new $C.IfcIdentifier(t[7].value):null,t[8]?new $C.IfcLabel(t[8].value):null,t[9]?new $C.IfcPositiveLengthMeasure(t[9].value):null,t[10]?new $C.IfcPositiveLengthMeasure(t[10].value):null,new $C.IfcPositiveLengthMeasure(t[11].value),new $C.IfcPositiveLengthMeasure(t[12].value),new $C.IfcAreaMeasure(t[13].value),new $C.IfcAreaMeasure(t[14].value),new $C.IfcPositiveLengthMeasure(t[15].value),new $C.IfcPositiveLengthMeasure(t[16].value))},2016517767:function(e,t){return new $C.IfcRoof(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new $C.IfcIdentifier(t[7].value):null,t[8])},1376911519:function(e,t){return new $C.IfcRoundedEdgeFeature(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new $C.IfcIdentifier(t[7].value):null,t[8]?new $C.IfcPositiveLengthMeasure(t[8].value):null,t[9]?new $C.IfcPositiveLengthMeasure(t[9].value):null)},1783015770:function(e,t){return new $C.IfcSensorType(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new $C.IfcLabel(t[7].value):null,t[8]?new $C.IfcLabel(t[8].value):null,t[9])},1529196076:function(e,t){return new $C.IfcSlab(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new $C.IfcIdentifier(t[7].value):null,t[8])},331165859:function(e,t){return new $C.IfcStair(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new $C.IfcIdentifier(t[7].value):null,t[8])},4252922144:function(e,t){return new $C.IfcStairFlight(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new $C.IfcIdentifier(t[7].value):null,t[8]?t[8].value:null,t[9]?t[9].value:null,t[10]?new $C.IfcPositiveLengthMeasure(t[10].value):null,t[11]?new $C.IfcPositiveLengthMeasure(t[11].value):null)},2515109513:function(e,t){return new $C.IfcStructuralAnalysisModel(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5],t[6]?new H_(t[6].value):null,t[7]?t[7].map((function(e){return new H_(e.value)})):null,t[8]?t[8].map((function(e){return new H_(e.value)})):null)},3824725483:function(e,t){return new $C.IfcTendon(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new $C.IfcIdentifier(t[7].value):null,t[8]?new $C.IfcLabel(t[8].value):null,t[9],new $C.IfcPositiveLengthMeasure(t[10].value),new $C.IfcAreaMeasure(t[11].value),t[12]?new $C.IfcForceMeasure(t[12].value):null,t[13]?new $C.IfcPressureMeasure(t[13].value):null,t[14]?new $C.IfcNormalisedRatioMeasure(t[14].value):null,t[15]?new $C.IfcPositiveLengthMeasure(t[15].value):null,t[16]?new $C.IfcPositiveLengthMeasure(t[16].value):null)},2347447852:function(e,t){return new $C.IfcTendonAnchor(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new $C.IfcIdentifier(t[7].value):null,t[8]?new $C.IfcLabel(t[8].value):null)},3313531582:function(e,t){return new $C.IfcVibrationIsolatorType(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new $C.IfcLabel(t[7].value):null,t[8]?new $C.IfcLabel(t[8].value):null,t[9])},2391406946:function(e,t){return new $C.IfcWall(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new $C.IfcIdentifier(t[7].value):null)},3512223829:function(e,t){return new $C.IfcWallStandardCase(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new $C.IfcIdentifier(t[7].value):null)},3304561284:function(e,t){return new $C.IfcWindow(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new $C.IfcIdentifier(t[7].value):null,t[8]?new $C.IfcPositiveLengthMeasure(t[8].value):null,t[9]?new $C.IfcPositiveLengthMeasure(t[9].value):null)},2874132201:function(e,t){return new $C.IfcActuatorType(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new $C.IfcLabel(t[7].value):null,t[8]?new $C.IfcLabel(t[8].value):null,t[9])},3001207471:function(e,t){return new $C.IfcAlarmType(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new $C.IfcLabel(t[7].value):null,t[8]?new $C.IfcLabel(t[8].value):null,t[9])},753842376:function(e,t){return new $C.IfcBeam(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new $C.IfcIdentifier(t[7].value):null)},2454782716:function(e,t){return new $C.IfcChamferEdgeFeature(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new $C.IfcIdentifier(t[7].value):null,t[8]?new $C.IfcPositiveLengthMeasure(t[8].value):null,t[9]?new $C.IfcPositiveLengthMeasure(t[9].value):null,t[10]?new $C.IfcPositiveLengthMeasure(t[10].value):null)},578613899:function(e,t){return new $C.IfcControllerType(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new $C.IfcLabel(t[7].value):null,t[8]?new $C.IfcLabel(t[8].value):null,t[9])},1052013943:function(e,t){return new $C.IfcDistributionChamberElement(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new $C.IfcIdentifier(t[7].value):null)},1062813311:function(e,t){return new $C.IfcDistributionControlElement(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new $C.IfcIdentifier(t[7].value):null,t[8]?new $C.IfcIdentifier(t[8].value):null)},3700593921:function(e,t){return new $C.IfcElectricDistributionPoint(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new $C.IfcIdentifier(t[7].value):null,t[8],t[9]?new $C.IfcLabel(t[9].value):null)},979691226:function(e,t){return new $C.IfcReinforcingBar(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new $C.IfcIdentifier(t[7].value):null,t[8]?new $C.IfcLabel(t[8].value):null,new $C.IfcPositiveLengthMeasure(t[9].value),new $C.IfcAreaMeasure(t[10].value),t[11]?new $C.IfcPositiveLengthMeasure(t[11].value):null,t[12],t[13])}},j_[1]={618182010:[912023232,3355820592],411424972:[1648886627,602808272],4037036970:[2069777674,1387855156,3367102660,1560379544],1387855156:[2069777674],3264961684:[776857604],2859738748:[1981873012,2732653382,4257277454,45288368,2614616156],2614616156:[45288368],1959218052:[2251480897,3368373690],3796139169:[1694125774,2273265877],3200245327:[3732053477,647927063,3452421091,3548104201,3207319532,1040185647,2242383968],3265635763:[2445078500,803998398,3857492461,1860660968,1065908215,3317419933,2267347899,1227763645,1430189142,677618848,4256014907],4256014907:[1430189142,677618848],1918398963:[2889183280,3050246964,448429030],3701648758:[2624227202,178086475],2483315170:[3021840470,825690147,2405470396,3252649465,931644368,2093928680,2044713172,2226359599],2226359599:[825690147,2405470396,3252649465,931644368,2093928680,2044713172],3727388367:[4006246654,2559016684,445594917,759155922,4170525392,1983826977,1775413392,179317114,433424934,3213052703,990879717],990879717:[179317114,433424934,3213052703],1775413392:[4170525392,1983826977],2022622350:[1304840413],3119450353:[738692330,3800577675,1447204868,1290481447,1300840506],2095639259:[673634403,2022407955],3958567839:[572779678,3207858831,1484403080,2835456948,194851669,4133800736,2937912522,1383045692,2898889636,2543172580,427810014,2715220739,3071757647,2770003689,2778083089,3615266464,2529465313,3632507154,1485152156,3150382593,1310608509,2705031697,3798115385],2802850158:[3653947884,3843319758,1446786286,3679540991],2598011224:[2542286263,110355661,3650150729,941946838,2752243245,4166981789,871118103,3692461612],1076942058:[3049322572,2830218821,1735638870,4240577450,3982875396],3377609919:[4142052618,3448662350],3008791417:[2347385850,315944413,4203026998,374418227,2047409740,4147604152,2470393545,3248260540,2506943328,681481545,4070609034,3073041342,32440307,693772133,2611217952,1704287377,2510884976,3055160366,1916977116,1967976161,3593883385,3724593414,1213861670,3732776249,1260505505,3505215534,3388369263,F_,2601014836,1334484129,451544542,3626867408,4158566097,2798486643,2506170314,2485617015,1416205885,3331915920,3486308946,3749851601,59481748,2581212453,3649129432,2736907675,1302238472,669184980,1417489154,3124975700,4282788508,220341763,2777663545,3454111270,2827736869,4182860854,4124788165,2809605785,230924584,2513912981,3737207727,807026263,1425443689,2147822146,1260650574,2028607225,1856042241,477187591,2247615214,723233188,4124623270,1509187699,1123145078,1423911732,4022376103,2067069095,603570806,1663979128,2740243338,3125803723,4261334040,2004835150,1345879162,2833995503,3422422726,1520743889,4266656042,2604431987,125510826,1402838566,2713105998,2775532180,812098782,987898635,3590301190,2453401579,2519244187,1472233963,2759199220,2924175390,1008929658,803316827,1809719519,3008276851,2556980723,2233826070,1029017970,476780140,3900360178,2205249479,2665983363,370225590,1907098498,2799835756,1377556343,2265737646,4194566429,606661476,3288037868,2297822566,4054601972,3028897424,3612888222,962685235,2442683028,3958052878],2341007311:[781010003,202636808,4186316022,693640335,160246688,3268803585,2551354335,1401173127,3451746338,366585022,4122056220,1245217292,750771296,4189434867,279856033,3940055652,2802773753,886880790,3242617779,504942748,1638771189,3912681535,2127690289,3190031847,4201705270,3678494232,3945020480,1204542856,826625072,2851387026,2655215786,3840914261,982818633,2728634034,919958153,4095574036,1327628568,1865459582,205026976,2857406711,4278684876,1307041759,2863920197,1058617721,3372526763,2495723537,2051452291,1683148259,3939117080,478536968,1451395588,3566463478,3455213021,360485395,80994333,1883228015,1714330368,2963535650,512836454,336235671,390701378,1202362311,2485662743,2411513650,3765753017,3357820518,1680319473,2188551683,B_,O_,2515109513,1634875225,2254336722,2986769608,1252848954,2391368822,2706460486,1163958913,3821786052,3342526732,4218914973,1028945134,1637806684,652456506,4105383287,3517283431,3642467123,2904328755,3327091369,2382730787,814719939,3272907226,1419761937,3895139033,3293443760,4143007308,2296667514,488727124,1060000209,3898045240,148013059,3827777499,3295246426,2559216714,2914609552,103090709,3041715199,L_,M_,857184966,1062813311,1052013943,3508470533,2223149337,707683696,987401354,3132237377,4278956645,3700593921,2058353004,1658829314,3040386961,1945004755,g_,3304561284,3512223829,E_,4252922144,331165859,b_,D_,3283111854,P_,2262370178,R_,C_,1073191201,900683007,__,3495092785,1973544240,843113511,1095909175,979691226,2347447852,T_,2320036040,3027567501,2979338954,52481810,3299480353,2769231204,1620046519,263784265,2454782716,1376911519,855621170,3588315303,1287392070,3651124850,2143335405,2827207264,1962604670,1335981549,377706215,647756555,1623761950,4123344466,1758889154,1674181508,1975003073,734778138,4243806635,1179482911,2445595289,214636428,2218152070,3979015343,530289379,3136571912,2082059205,3987759626,1621171031,1721250024,1807405624,682877961,1235345126,3689010777,3544373492,S_,N_,3124254112,4031249490,2706606064,3219374653,4208778838,2744685151,3425660407,1916936684,x_,2945172077,3888040117,3313531582,2635815018,2108223431,2489546625,2590856083,578613899,3001207471,2874132201,1783015770,4037862832,2063403501,1599208980,1810631287,2030761528,3009222698,4222183408,1365060375,663422040,3352864051,1133259667,3112655638,1768891740,2837617999,1161773419,1051575348,200128114,2297155007,3277789161,5716631,1339347760,3760055223,1285652485,3293546465,4231323485,1834744321,346874300,3850581409,2250791053,1482959167,869906466,395041908,804291784,4288270099,3198132628,712377611,3961806047,1411407467,728799441,2315554128,1842657554,3815607619,3907093117,1217240411,1534661035,2954562838,335055490,2816379211,2301859152,2951183804,231477066,1871374353,1911125066,1600972822,1692211062,1305183839,977012517,1806887404,1251058090,3390157468,3174744832,2107101300,3849074793,3256556792,1909888760,819618141,1898987631,1039846685,2533589738,2324767716,2893384427,4017108033,3181161470,1457835157,1916426348,300633059,1950629157,2097647324,3812236995,3893378262,1580310250,1268542332,4238390223,339256511,526551008,1299126871,2347495698,1628702193,219451334],3982875396:[1735638870,4240577450],3692461612:[110355661,3650150729,941946838,2752243245,4166981789,871118103],2273995522:[2609359061,4219587988],2162789131:[1190533807,1597423693,1973038258,2473145415,2668620305,1595516126,3408363356,2525727697],2525727697:[1190533807,1597423693,1973038258,2473145415,2668620305,1595516126,3408363356],2830218821:[3049322572],3958052878:[2265737646,4194566429,606661476,3288037868,2297822566,4054601972,3028897424,3612888222,962685235,2442683028],846575682:[1878645084],626085974:[597895409,3905492369,616511568],280115917:[2552916305,1742049831],3101149627:[3413951693,3741457305],1377556343:[2519244187,1472233963,2759199220,2924175390,1008929658,803316827,1809719519,3008276851,2556980723,2233826070,1029017970,476780140,3900360178,2205249479,2665983363,370225590,1907098498,2799835756],2799835756:[1907098498],2442683028:[2265737646,4194566429,606661476,3288037868,2297822566,4054601972,3028897424,3612888222,962685235],3612888222:[4054601972,3028897424],3798115385:[2705031697],1310608509:[3150382593],370225590:[2205249479,2665983363],3900360178:[2233826070,1029017970,476780140],2556980723:[3008276851],1809719519:[803316827],1446786286:[3653947884,3843319758],3448662350:[4142052618],2453401579:[315944413,4203026998,374418227,2047409740,4147604152,2470393545,3248260540,2506943328,681481545,4070609034,3073041342,32440307,693772133,2611217952,1704287377,2510884976,3055160366,1916977116,1967976161,3593883385,3724593414,1213861670,3732776249,1260505505,3505215534,3388369263,F_,2601014836,1334484129,451544542,3626867408,4158566097,2798486643,2506170314,2485617015,1416205885,3331915920,3486308946,3749851601,59481748,2581212453,3649129432,2736907675,1302238472,669184980,1417489154,3124975700,4282788508,220341763,2777663545,3454111270,2827736869,4182860854,4124788165,2809605785,230924584,2513912981,3737207727,807026263,1425443689,2147822146,1260650574,2028607225,1856042241,477187591,2247615214,723233188,4124623270,1509187699,1123145078,1423911732,4022376103,2067069095,603570806,1663979128,2740243338,3125803723,4261334040,2004835150,1345879162,2833995503,3422422726,1520743889,4266656042,2604431987,125510826,1402838566,2713105998,2775532180,812098782,987898635,3590301190],3590301190:[987898635],812098782:[2713105998,2775532180],1402838566:[3422422726,1520743889,4266656042,2604431987,125510826],1520743889:[3422422726],1008929658:[1472233963,2759199220,2924175390],219451334:[2188551683,B_,O_,2515109513,1634875225,2254336722,2986769608,1252848954,2391368822,2706460486,1163958913,3821786052,3342526732,4218914973,1028945134,1637806684,652456506,4105383287,3517283431,3642467123,2904328755,3327091369,2382730787,814719939,3272907226,1419761937,3895139033,3293443760,4143007308,2296667514,488727124,1060000209,3898045240,148013059,3827777499,3295246426,2559216714,2914609552,103090709,3041715199,L_,M_,857184966,1062813311,1052013943,3508470533,2223149337,707683696,987401354,3132237377,4278956645,3700593921,2058353004,1658829314,3040386961,1945004755,g_,3304561284,3512223829,E_,4252922144,331165859,b_,D_,3283111854,P_,2262370178,R_,C_,1073191201,900683007,__,3495092785,1973544240,843113511,1095909175,979691226,2347447852,T_,2320036040,3027567501,2979338954,52481810,3299480353,2769231204,1620046519,263784265,2454782716,1376911519,855621170,3588315303,1287392070,3651124850,2143335405,2827207264,1962604670,1335981549,377706215,647756555,1623761950,4123344466,1758889154,1674181508,1975003073,734778138,4243806635,1179482911,2445595289,214636428,2218152070,3979015343,530289379,3136571912,2082059205,3987759626,1621171031,1721250024,1807405624,682877961,1235345126,3689010777,3544373492,S_,N_,3124254112,4031249490,2706606064,3219374653,4208778838,2744685151,3425660407,1916936684,x_,2945172077,3888040117,3313531582,2635815018,2108223431,2489546625,2590856083,578613899,3001207471,2874132201,1783015770,4037862832,2063403501,1599208980,1810631287,2030761528,3009222698,4222183408,1365060375,663422040,3352864051,1133259667,3112655638,1768891740,2837617999,1161773419,1051575348,200128114,2297155007,3277789161,5716631,1339347760,3760055223,1285652485,3293546465,4231323485,1834744321,346874300,3850581409,2250791053,1482959167,869906466,395041908,804291784,4288270099,3198132628,712377611,3961806047,1411407467,728799441,2315554128,1842657554,3815607619,3907093117,1217240411,1534661035,2954562838,335055490,2816379211,2301859152,2951183804,231477066,1871374353,1911125066,1600972822,1692211062,1305183839,977012517,1806887404,1251058090,3390157468,3174744832,2107101300,3849074793,3256556792,1909888760,819618141,1898987631,1039846685,2533589738,2324767716,2893384427,4017108033,3181161470,1457835157,1916426348,300633059,1950629157,2097647324,3812236995,3893378262,1580310250,1268542332,4238390223,339256511,526551008,1299126871,2347495698,1628702193],2833995503:[1345879162],2529465313:[572779678,3207858831,1484403080,2835456948,194851669,4133800736,2937912522,1383045692,2898889636,2543172580,427810014,2715220739,3071757647,2770003689,2778083089,3615266464],2004835150:[2740243338,3125803723,4261334040],1663979128:[603570806],2067069095:[1123145078,1423911732,4022376103],759155922:[445594917],2559016684:[4006246654],1680319473:[1451395588,3566463478,3455213021,360485395,80994333,1883228015,1714330368,2963535650,512836454,336235671,390701378,1202362311,2485662743,2411513650,3765753017,3357820518],3357820518:[1451395588,3566463478,3455213021,360485395,80994333,1883228015,1714330368,2963535650,512836454,336235671,390701378,1202362311,2485662743,2411513650,3765753017],3615266464:[2770003689,2778083089],478536968:[781010003,202636808,4186316022,693640335,160246688,3268803585,2551354335,1401173127,3451746338,366585022,4122056220,1245217292,750771296,4189434867,279856033,3940055652,2802773753,886880790,3242617779,504942748,1638771189,3912681535,2127690289,3190031847,4201705270,3678494232,3945020480,1204542856,826625072,2851387026,2655215786,3840914261,982818633,2728634034,919958153,4095574036,1327628568,1865459582,205026976,2857406711,4278684876,1307041759,2863920197,1058617721,3372526763,2495723537,2051452291,1683148259,3939117080],723233188:[3737207727,807026263,1425443689,2147822146,1260650574,2028607225,1856042241,477187591,2247615214],2473145415:[1973038258],1597423693:[1190533807],3843319758:[3653947884],2513912981:[220341763,2777663545,3454111270,2827736869,4182860854,4124788165,2809605785,230924584],2247615214:[2028607225,1856042241,477187591],230924584:[4124788165,2809605785],3028897424:[4054601972],4282788508:[3124975700],1628702193:[3313531582,2635815018,2108223431,2489546625,2590856083,578613899,3001207471,2874132201,1783015770,4037862832,2063403501,1599208980,1810631287,2030761528,3009222698,4222183408,1365060375,663422040,3352864051,1133259667,3112655638,1768891740,2837617999,1161773419,1051575348,200128114,2297155007,3277789161,5716631,1339347760,3760055223,1285652485,3293546465,4231323485,1834744321,346874300,3850581409,2250791053,1482959167,869906466,395041908,804291784,4288270099,3198132628,712377611,3961806047,1411407467,728799441,2315554128,1842657554,3815607619,3907093117,1217240411,1534661035,2954562838,335055490,2816379211,2301859152,2951183804,231477066,1871374353,1911125066,1600972822,1692211062,1305183839,977012517,1806887404,1251058090,3390157468,3174744832,2107101300,3849074793,3256556792,1909888760,819618141,1898987631,1039846685,2533589738,2324767716,2893384427,4017108033,3181161470,1457835157,1916426348,300633059,1950629157,2097647324,3812236995,3893378262,1580310250,1268542332,4238390223,339256511,526551008,1299126871,2347495698],2347495698:[3313531582,2635815018,2108223431,2489546625,2590856083,578613899,3001207471,2874132201,1783015770,4037862832,2063403501,1599208980,1810631287,2030761528,3009222698,4222183408,1365060375,663422040,3352864051,1133259667,3112655638,1768891740,2837617999,1161773419,1051575348,200128114,2297155007,3277789161,5716631,1339347760,3760055223,1285652485,3293546465,4231323485,1834744321,346874300,3850581409,2250791053,1482959167,869906466,395041908,804291784,4288270099,3198132628,712377611,3961806047,1411407467,728799441,2315554128,1842657554,3815607619,3907093117,1217240411,1534661035,2954562838,335055490,2816379211,2301859152,2951183804,231477066,1871374353,1911125066,1600972822,1692211062,1305183839,977012517,1806887404,1251058090,3390157468,3174744832,2107101300,3849074793,3256556792,1909888760,819618141,1898987631,1039846685,2533589738,2324767716,2893384427,4017108033,3181161470,1457835157,1916426348,300633059,1950629157,2097647324,3812236995,3893378262,1580310250,1268542332,4238390223,339256511,526551008,1299126871],3288037868:[4194566429,606661476],2736907675:[3649129432],4182860854:[3454111270,2827736869],59481748:[1416205885,3331915920,3486308946,3749851601],3749851601:[3486308946],3331915920:[1416205885],1383045692:[2937912522],2506170314:[1334484129,451544542,3626867408,4158566097,2798486643],2601014836:[2611217952,1704287377,2510884976,3055160366,1916977116,1967976161,3593883385,3724593414,1213861670,3732776249,1260505505,3505215534,3388369263,F_],3073041342:[4147604152,2470393545,3248260540,2506943328,681481545,4070609034],339256511:[3313531582,2635815018,2108223431,2489546625,2590856083,578613899,3001207471,2874132201,1783015770,4037862832,2063403501,1599208980,1810631287,2030761528,3009222698,4222183408,1365060375,663422040,3352864051,1133259667,3112655638,1768891740,2837617999,1161773419,1051575348,200128114,2297155007,3277789161,5716631,1339347760,3760055223,1285652485,3293546465,4231323485,1834744321,346874300,3850581409,2250791053,1482959167,869906466,395041908,804291784,4288270099,3198132628,712377611,3961806047,1411407467,728799441,2315554128,1842657554,3815607619,3907093117,1217240411,1534661035,2954562838,335055490,2816379211,2301859152,2951183804,231477066,1871374353,1911125066,1600972822,1692211062,1305183839,977012517,1806887404,1251058090,3390157468,3174744832,2107101300,3849074793,3256556792,1909888760,819618141,1898987631,1039846685,2533589738,2324767716,2893384427,4017108033,3181161470,1457835157,1916426348,300633059,1950629157,2097647324,3812236995,3893378262,1580310250,1268542332,4238390223],2777663545:[220341763],80994333:[360485395],4238390223:[1580310250,1268542332],1484403080:[3207858831],1425443689:[3737207727,807026263],3888040117:[2188551683,B_,O_,2515109513,1634875225,2254336722,2986769608,1252848954,2391368822,2706460486,1163958913,3821786052,3342526732,4218914973,1028945134,1637806684,652456506,4105383287,3517283431,3642467123,2904328755,3327091369,2382730787,814719939,3272907226,1419761937,3895139033,3293443760,4143007308,2296667514,488727124,1060000209,3898045240,148013059,3827777499,3295246426,2559216714,2914609552,103090709,3041715199,L_,M_,857184966,1062813311,1052013943,3508470533,2223149337,707683696,987401354,3132237377,4278956645,3700593921,2058353004,1658829314,3040386961,1945004755,g_,3304561284,3512223829,E_,4252922144,331165859,b_,D_,3283111854,P_,2262370178,R_,C_,1073191201,900683007,__,3495092785,1973544240,843113511,1095909175,979691226,2347447852,T_,2320036040,3027567501,2979338954,52481810,3299480353,2769231204,1620046519,263784265,2454782716,1376911519,855621170,3588315303,1287392070,3651124850,2143335405,2827207264,1962604670,1335981549,377706215,647756555,1623761950,4123344466,1758889154,1674181508,1975003073,734778138,4243806635,1179482911,2445595289,214636428,2218152070,3979015343,530289379,3136571912,2082059205,3987759626,1621171031,1721250024,1807405624,682877961,1235345126,3689010777,3544373492,S_,N_,3124254112,4031249490,2706606064,3219374653,4208778838,2744685151,3425660407,1916936684,x_,2945172077],2945172077:[2744685151,3425660407,1916936684,x_],4208778838:[3041715199,L_,M_,857184966,1062813311,1052013943,3508470533,2223149337,707683696,987401354,3132237377,4278956645,3700593921,2058353004,1658829314,3040386961,1945004755,g_,3304561284,3512223829,E_,4252922144,331165859,b_,D_,3283111854,P_,2262370178,R_,C_,1073191201,900683007,__,3495092785,1973544240,843113511,1095909175,979691226,2347447852,T_,2320036040,3027567501,2979338954,52481810,3299480353,2769231204,1620046519,263784265,2454782716,1376911519,855621170,3588315303,1287392070,3651124850,2143335405,2827207264,1962604670,1335981549,377706215,647756555,1623761950,4123344466,1758889154,1674181508,1975003073,734778138,4243806635,1179482911,2445595289,214636428,2218152070,3979015343,530289379,3136571912,2082059205,3987759626,1621171031,1721250024,1807405624,682877961,1235345126,3689010777,3544373492,S_,N_,3124254112,4031249490,2706606064,3219374653],3939117080:[205026976,2857406711,4278684876,1307041759,2863920197,1058617721,3372526763,2495723537,2051452291,1683148259],1683148259:[2051452291],2495723537:[2863920197,1058617721,3372526763],1865459582:[2851387026,2655215786,3840914261,982818633,2728634034,919958153,4095574036,1327628568],826625072:[1401173127,3451746338,366585022,4122056220,1245217292,750771296,4189434867,279856033,3940055652,2802773753,886880790,3242617779,504942748,1638771189,3912681535,2127690289,3190031847,4201705270,3678494232,3945020480,1204542856],1204542856:[3678494232,3945020480],1638771189:[504942748],2551354335:[160246688,3268803585],693640335:[781010003,202636808,4186316022],4186316022:[202636808],2914609552:[488727124,1060000209,3898045240,148013059,3827777499,3295246426,2559216714],2706606064:[S_,N_,3124254112,4031249490],3893378262:[3812236995],3544373492:[2082059205,3987759626,1621171031,1721250024,1807405624,682877961,1235345126,3689010777],3136571912:[1975003073,734778138,4243806635,1179482911,2445595289,214636428,2218152070,3979015343,530289379],530289379:[2445595289,214636428,2218152070,3979015343],3689010777:[1235345126],3979015343:[2218152070],3473067441:[3425660407,1916936684],2296667514:[4143007308],1260505505:[3055160366,1916977116,1967976161,3593883385,3724593414,1213861670,3732776249],1950629157:[1909888760,819618141,1898987631,1039846685,2533589738,2324767716,2893384427,4017108033,3181161470,1457835157,1916426348,300633059],3732776249:[1213861670],2510884976:[2611217952,1704287377],2559216714:[488727124,1060000209,3898045240,148013059,3827777499,3295246426],3293443760:[1163958913,3821786052,3342526732,4218914973,1028945134,1637806684,652456506,4105383287,3517283431,3642467123,2904328755,3327091369,2382730787,814719939,3272907226,1419761937,3895139033],681481545:[4147604152,2470393545,3248260540,2506943328],3256556792:[578613899,3001207471,2874132201,1783015770,4037862832,2063403501,1599208980,1810631287,2030761528,3009222698,4222183408,1365060375,663422040,3352864051,1133259667,3112655638,1768891740,2837617999,1161773419,1051575348,200128114,2297155007,3277789161,5716631,1339347760,3760055223,1285652485,3293546465,4231323485,1834744321,346874300,3850581409,2250791053,1482959167,869906466,395041908,804291784,4288270099,3198132628,712377611,3961806047,1411407467,728799441,2315554128,1842657554,3815607619,3907093117,1217240411,1534661035,2954562838,335055490,2816379211,2301859152,2951183804,231477066,1871374353,1911125066,1600972822,1692211062,1305183839,977012517,1806887404,1251058090,3390157468,3174744832,2107101300,3849074793],3849074793:[1599208980,1810631287,2030761528,3009222698,4222183408,1365060375,663422040,3352864051,1133259667,3112655638,1768891740,2837617999,1161773419,1051575348,200128114,2297155007,3277789161,5716631,1339347760,3760055223,1285652485,3293546465,4231323485,1834744321,346874300,3850581409,2250791053,1482959167,869906466,395041908,804291784,4288270099,3198132628,712377611,3961806047,1411407467,728799441,2315554128,1842657554,3815607619,3907093117,1217240411,1534661035,2954562838,335055490,2816379211,2301859152,2951183804,231477066,1871374353,1911125066,1600972822,1692211062,1305183839,977012517,1806887404,1251058090,3390157468,3174744832,2107101300],1758889154:[857184966,1062813311,1052013943,3508470533,2223149337,707683696,987401354,3132237377,4278956645,3700593921,2058353004,1658829314,3040386961,1945004755,g_,3304561284,3512223829,E_,4252922144,331165859,b_,D_,3283111854,P_,2262370178,R_,C_,1073191201,900683007,__,3495092785,1973544240,843113511,1095909175,979691226,2347447852,T_,2320036040,3027567501,2979338954,52481810,3299480353,2769231204,1620046519,263784265,2454782716,1376911519,855621170,3588315303,1287392070,3651124850,2143335405,2827207264,1962604670,1335981549,377706215,647756555,1623761950,4123344466],1623761950:[1335981549,377706215,647756555],2590856083:[3313531582,2635815018,2108223431,2489546625],2107101300:[1217240411,1534661035,2954562838,335055490,2816379211,2301859152,2951183804,231477066,1871374353,1911125066,1600972822,1692211062,1305183839,977012517,1806887404,1251058090,3390157468,3174744832],647756555:[377706215],2489546625:[2108223431],2827207264:[2454782716,1376911519,855621170,3588315303,1287392070,3651124850,2143335405],2143335405:[3651124850],1287392070:[2454782716,1376911519,855621170,3588315303],3907093117:[712377611,3961806047,1411407467,728799441,2315554128,1842657554,3815607619],3198132628:[869906466,395041908,804291784,4288270099],1482959167:[346874300,3850581409,2250791053],1834744321:[3760055223,1285652485,3293546465,4231323485],1339347760:[3277789161,5716631],2297155007:[4222183408,1365060375,663422040,3352864051,1133259667,3112655638,1768891740,2837617999,1161773419,1051575348,200128114],3009222698:[1810631287,2030761528],2706460486:[2188551683,B_,O_,2515109513,1634875225,2254336722,2986769608,1252848954,2391368822],3740093272:[3041715199],682877961:[2082059205,3987759626,1621171031,1721250024,1807405624],1179482911:[1975003073,734778138,4243806635],214636428:[2445595289],1807405624:[1721250024],1621171031:[3987759626],2254336722:[2515109513,1634875225],1028945134:[3342526732,4218914973],1967976161:[3055160366,1916977116],1916977116:[3055160366],3299480353:[g_,3304561284,3512223829,E_,4252922144,331165859,b_,D_,3283111854,P_,2262370178,R_,C_,1073191201,900683007,__,3495092785,1973544240,843113511,1095909175,979691226,2347447852,T_,2320036040,3027567501,2979338954,52481810],52481810:[979691226,2347447852,T_,2320036040,3027567501,2979338954],2635815018:[3313531582],2063403501:[578613899,3001207471,2874132201,1783015770,4037862832],1945004755:[1062813311,1052013943,3508470533,2223149337,707683696,987401354,3132237377,4278956645,3700593921,2058353004,1658829314,3040386961],3040386961:[1052013943,3508470533,2223149337,707683696,987401354,3132237377,4278956645,3700593921,2058353004,1658829314],855621170:[2454782716,1376911519],2058353004:[3700593921],3027567501:[979691226,2347447852,T_,2320036040],2391406946:[3512223829]},k_[1]={618182010:[["OfPerson",2077209135,7,!0],["OfOrganization",4251960020,4,!0]],411424972:[["ValuesReferenced",2692823254,1,!0],["ValueOfComponents",1110488051,0,!0],["IsComponentIn",1110488051,1,!0]],130549933:[["Actors",2080292479,1,!0],["IsRelatedWith",3869604511,0,!0],["Relates",3869604511,1,!0]],747523909:[["Contains",1767535486,1,!0]],1767535486:[["IsClassifiedItemIn",1098599126,1,!0],["IsClassifyingItemIn",1098599126,0,!0]],1959218052:[["ClassifiedAs",613356794,0,!0],["RelatesConstraints",347226245,2,!0],["IsRelatedWith",347226245,3,!0],["PropertiesForConstraint",3896028662,0,!0],["Aggregates",1658513725,2,!0],["IsAggregatedIn",1658513725,3,!0]],602808272:[["ValuesReferenced",2692823254,1,!0],["ValueOfComponents",1110488051,0,!0],["IsComponentIn",1110488051,1,!0]],1154170062:[["IsPointedTo",770865208,1,!0],["IsPointer",770865208,0,!0]],1648886627:[["ValuesReferenced",2692823254,1,!0],["ValueOfComponents",1110488051,0,!0],["IsComponentIn",1110488051,1,!0]],852622518:[["PartOfW",M_,9,!0],["PartOfV",M_,8,!0],["PartOfU",M_,7,!0],["HasIntersections",891718957,0,!0]],3452421091:[["ReferenceIntoLibrary",2655187982,4,!0]],1838606355:[["HasRepresentation",2022407955,3,!0],["ClassifiedAs",1847130766,1,!0]],248100487:[["ToMaterialLayerSet",3303938423,0,!1]],3368373690:[["ClassifiedAs",613356794,0,!0],["RelatesConstraints",347226245,2,!0],["IsRelatedWith",347226245,3,!0],["PropertiesForConstraint",3896028662,0,!0],["Aggregates",1658513725,2,!0],["IsAggregatedIn",1658513725,3,!0]],3701648758:[["PlacesObject",4208778838,5,!0],["ReferencedByPlacements",2624227202,0,!0]],2251480897:[["ClassifiedAs",613356794,0,!0],["RelatesConstraints",347226245,2,!0],["IsRelatedWith",347226245,3,!0],["PropertiesForConstraint",3896028662,0,!0],["Aggregates",1658513725,2,!0],["IsAggregatedIn",1658513725,3,!0]],4251960020:[["IsRelatedBy",1411181986,3,!0],["Relates",1411181986,2,!0],["Engages",101040310,1,!0]],2077209135:[["EngagedIn",101040310,0,!0]],2483315170:[["PartOfComplex",3021840470,2,!0]],2226359599:[["PartOfComplex",3021840470,2,!0]],3355820592:[["OfPerson",2077209135,7,!0],["OfOrganization",4251960020,4,!0]],2598011224:[["PropertyForDependance",148025276,0,!0],["PropertyDependsOn",148025276,1,!0],["PartOfComplex",2542286263,3,!0]],2044713172:[["PartOfComplex",3021840470,2,!0]],2093928680:[["PartOfComplex",3021840470,2,!0]],931644368:[["PartOfComplex",3021840470,2,!0]],3252649465:[["PartOfComplex",3021840470,2,!0]],2405470396:[["PartOfComplex",3021840470,2,!0]],825690147:[["PartOfComplex",3021840470,2,!0]],1076942058:[["RepresentationMap",1660063152,1,!0],["LayerAssignments",2022622350,2,!0],["OfProductRepresentation",2095639259,2,!0]],3377609919:[["RepresentationsInContext",1076942058,0,!0]],3008791417:[["LayerAssignments",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],1660063152:[["MapUsage",2347385850,0,!0]],3982875396:[["RepresentationMap",1660063152,1,!0],["LayerAssignments",2022622350,2,!0],["OfProductRepresentation",2095639259,2,!0],["OfShapeAspect",867548509,0,!0]],4240577450:[["RepresentationMap",1660063152,1,!0],["LayerAssignments",2022622350,2,!0],["OfProductRepresentation",2095639259,2,!0],["OfShapeAspect",867548509,0,!0]],3692461612:[["PropertyForDependance",148025276,0,!0],["PropertyDependsOn",148025276,1,!0],["PartOfComplex",2542286263,3,!0]],2830218821:[["RepresentationMap",1660063152,1,!0],["LayerAssignments",2022622350,2,!0],["OfProductRepresentation",2095639259,2,!0]],3958052878:[["LayerAssignments",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],3049322572:[["RepresentationMap",1660063152,1,!0],["LayerAssignments",2022622350,2,!0],["OfProductRepresentation",2095639259,2,!0]],531007025:[["OfTable",985171141,1,!1]],912023232:[["OfPerson",2077209135,7,!0],["OfOrganization",4251960020,4,!0]],280115917:[["AnnotatedSurface",1302238472,1,!0]],1742049831:[["AnnotatedSurface",1302238472,1,!0]],2552916305:[["AnnotatedSurface",1302238472,1,!0]],3101149627:[["DocumentedBy",1718945513,0,!0]],1377556343:[["LayerAssignments",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],1735638870:[["RepresentationMap",1660063152,1,!0],["LayerAssignments",2022622350,2,!0],["OfProductRepresentation",2095639259,2,!0],["OfShapeAspect",867548509,0,!0]],2799835756:[["LayerAssignments",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],1907098498:[["LayerAssignments",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],2442683028:[["LayerAssignments",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],962685235:[["LayerAssignments",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],3612888222:[["LayerAssignments",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],2297822566:[["LayerAssignments",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],2542286263:[["PropertyForDependance",148025276,0,!0],["PropertyDependsOn",148025276,1,!0],["PartOfComplex",2542286263,3,!0]],370225590:[["LayerAssignments",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],3732053477:[["ReferenceToDocument",1154170062,3,!0]],3900360178:[["LayerAssignments",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],476780140:[["LayerAssignments",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],2556980723:[["LayerAssignments",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],1809719519:[["LayerAssignments",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],803316827:[["LayerAssignments",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],3008276851:[["LayerAssignments",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],3448662350:[["RepresentationsInContext",1076942058,0,!0],["HasSubContexts",4142052618,6,!0]],2453401579:[["LayerAssignments",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],4142052618:[["RepresentationsInContext",1076942058,0,!0],["HasSubContexts",4142052618,6,!0]],3590301190:[["LayerAssignments",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],178086475:[["PlacesObject",4208778838,5,!0],["ReferencedByPlacements",2624227202,0,!0]],812098782:[["LayerAssignments",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],3741457305:[["DocumentedBy",1718945513,0,!0]],1402838566:[["LayerAssignments",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],125510826:[["LayerAssignments",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],2604431987:[["LayerAssignments",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],4266656042:[["LayerAssignments",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],1520743889:[["LayerAssignments",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],3422422726:[["LayerAssignments",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],2624227202:[["PlacesObject",4208778838,5,!0],["ReferencedByPlacements",2624227202,0,!0]],1008929658:[["LayerAssignments",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],2347385850:[["LayerAssignments",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],219451334:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0]],2833995503:[["LayerAssignments",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],2665983363:[["LayerAssignments",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],1029017970:[["LayerAssignments",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],2519244187:[["LayerAssignments",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],3021840470:[["PartOfComplex",3021840470,2,!0]],2004835150:[["LayerAssignments",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],1663979128:[["LayerAssignments",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],2067069095:[["LayerAssignments",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],4022376103:[["LayerAssignments",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],1423911732:[["LayerAssignments",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],2924175390:[["LayerAssignments",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],2775532180:[["LayerAssignments",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],673634403:[["ShapeOfProduct",4208778838,6,!0],["HasShapeAspects",867548509,4,!0]],871118103:[["PropertyForDependance",148025276,0,!0],["PropertyDependsOn",148025276,1,!0],["PartOfComplex",2542286263,3,!0]],1680319473:[["HasAssociations",1865459582,4,!0]],4166981789:[["PropertyForDependance",148025276,0,!0],["PropertyDependsOn",148025276,1,!0],["PartOfComplex",2542286263,3,!0]],2752243245:[["PropertyForDependance",148025276,0,!0],["PropertyDependsOn",148025276,1,!0],["PartOfComplex",2542286263,3,!0]],941946838:[["PropertyForDependance",148025276,0,!0],["PropertyDependsOn",148025276,1,!0],["PartOfComplex",2542286263,3,!0]],3357820518:[["HasAssociations",1865459582,4,!0],["PropertyDefinitionOf",4186316022,5,!0],["DefinesType",1628702193,5,!0]],3650150729:[["PropertyForDependance",148025276,0,!0],["PropertyDependsOn",148025276,1,!0],["PartOfComplex",2542286263,3,!0]],110355661:[["PropertyForDependance",148025276,0,!0],["PropertyDependsOn",148025276,1,!0],["PartOfComplex",2542286263,3,!0]],3413951693:[["DocumentedBy",1718945513,0,!0]],3765753017:[["HasAssociations",1865459582,4,!0],["PropertyDefinitionOf",4186316022,5,!0],["DefinesType",1628702193,5,!0]],1509187699:[["LayerAssignments",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],2411513650:[["HasAssociations",1865459582,4,!0],["PropertyDefinitionOf",4186316022,5,!0],["DefinesType",1628702193,5,!0]],4124623270:[["LayerAssignments",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],723233188:[["LayerAssignments",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],2485662743:[["HasAssociations",1865459582,4,!0],["PropertyDefinitionOf",4186316022,5,!0],["DefinesType",1628702193,5,!0]],1202362311:[["HasAssociations",1865459582,4,!0],["PropertyDefinitionOf",4186316022,5,!0],["DefinesType",1628702193,5,!0]],390701378:[["HasAssociations",1865459582,4,!0],["PropertyDefinitionOf",4186316022,5,!0],["DefinesType",1628702193,5,!0]],2233826070:[["LayerAssignments",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],2513912981:[["LayerAssignments",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],2247615214:[["LayerAssignments",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],1260650574:[["LayerAssignments",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],230924584:[["LayerAssignments",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],3028897424:[["LayerAssignments",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],4282788508:[["LayerAssignments",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],3124975700:[["LayerAssignments",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],1345879162:[["LayerAssignments",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],1628702193:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["ObjectTypeOf",781010003,5,!0]],2347495698:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["ObjectTypeOf",781010003,5,!0]],1417489154:[["LayerAssignments",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],2759199220:[["LayerAssignments",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],336235671:[["HasAssociations",1865459582,4,!0],["PropertyDefinitionOf",4186316022,5,!0],["DefinesType",1628702193,5,!0]],512836454:[["HasAssociations",1865459582,4,!0],["PropertyDefinitionOf",4186316022,5,!0],["DefinesType",1628702193,5,!0]],1299126871:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["ObjectTypeOf",781010003,5,!0]],3288037868:[["LayerAssignments",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],669184980:[["LayerAssignments",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],2265737646:[["LayerAssignments",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],1302238472:[["LayerAssignments",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],4261334040:[["LayerAssignments",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],3125803723:[["LayerAssignments",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],2740243338:[["LayerAssignments",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],2736907675:[["LayerAssignments",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],4182860854:[["LayerAssignments",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],2581212453:[["LayerAssignments",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],2713105998:[["LayerAssignments",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],1123145078:[["LayerAssignments",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],59481748:[["LayerAssignments",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],3749851601:[["LayerAssignments",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],3486308946:[["LayerAssignments",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],3331915920:[["LayerAssignments",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],1416205885:[["LayerAssignments",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],2205249479:[["LayerAssignments",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],2485617015:[["LayerAssignments",2022622350,2,!0],["StyledByItem",3958052878,0,!0],["UsingCurves",3732776249,0,!0]],2506170314:[["LayerAssignments",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],2147822146:[["LayerAssignments",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],2601014836:[["LayerAssignments",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],2827736869:[["LayerAssignments",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],693772133:[["LayerAssignments",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],606661476:[["LayerAssignments",2022622350,2,!0],["StyledByItem",3958052878,0,!0],["AnnotatedBySymbols",3028897424,3,!0]],4054601972:[["LayerAssignments",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],32440307:[["LayerAssignments",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],2963535650:[["HasAssociations",1865459582,4,!0],["PropertyDefinitionOf",4186316022,5,!0],["DefinesType",1628702193,5,!0]],1714330368:[["HasAssociations",1865459582,4,!0],["PropertyDefinitionOf",4186316022,5,!0],["DefinesType",1628702193,5,!0]],526551008:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["ObjectTypeOf",781010003,5,!0]],3073041342:[["LayerAssignments",2022622350,2,!0],["StyledByItem",3958052878,0,!0],["IsRelatedFromCallout",3796139169,3,!0],["IsRelatedToCallout",3796139169,2,!0]],1472233963:[["LayerAssignments",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],1883228015:[["HasAssociations",1865459582,4,!0],["PropertyDefinitionOf",4186316022,5,!0],["DefinesType",1628702193,5,!0]],339256511:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["ObjectTypeOf",781010003,5,!0]],2777663545:[["LayerAssignments",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],80994333:[["HasAssociations",1865459582,4,!0],["PropertyDefinitionOf",4186316022,5,!0],["DefinesType",1628702193,5,!0]],477187591:[["LayerAssignments",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],2047409740:[["LayerAssignments",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],374418227:[["LayerAssignments",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],4203026998:[["LayerAssignments",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],315944413:[["LayerAssignments",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],3455213021:[["HasAssociations",1865459582,4,!0],["PropertyDefinitionOf",4186316022,5,!0],["DefinesType",1628702193,5,!0]],4238390223:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["ObjectTypeOf",781010003,5,!0]],1268542332:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["ObjectTypeOf",781010003,5,!0]],987898635:[["LayerAssignments",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],1281925730:[["LayerAssignments",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],1425443689:[["LayerAssignments",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],3888040117:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0]],3388369263:[["LayerAssignments",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],3505215534:[["LayerAssignments",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],3566463478:[["HasAssociations",1865459582,4,!0],["PropertyDefinitionOf",4186316022,5,!0],["DefinesType",1628702193,5,!0]],603570806:[["LayerAssignments",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],220341763:[["LayerAssignments",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],2945172077:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["OperatesOn",4278684876,6,!0],["IsSuccessorFrom",4122056220,5,!0],["IsPredecessorTo",4122056220,4,!0]],4208778838:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["ReferencedBy",2857406711,6,!0]],103090709:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0]],4194566429:[["LayerAssignments",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],1451395588:[["HasAssociations",1865459582,4,!0],["PropertyDefinitionOf",4186316022,5,!0],["DefinesType",1628702193,5,!0]],3219374653:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["ReferencedBy",2857406711,6,!0]],2798486643:[["LayerAssignments",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],3454111270:[["LayerAssignments",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],2914609552:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["ResourceOf",205026976,6,!0]],1856042241:[["LayerAssignments",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],4158566097:[["LayerAssignments",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],3626867408:[["LayerAssignments",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],2706606064:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["ReferencedBy",2857406711,6,!0],["ReferencesElements",1245217292,5,!0],["ServicedBySystems",366585022,5,!0],["ContainsElements",3242617779,5,!0]],3893378262:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["ObjectTypeOf",781010003,5,!0]],451544542:[["LayerAssignments",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],3544373492:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["ReferencedBy",2857406711,6,!0],["AssignedToStructuralItem",2127690289,5,!1]],3136571912:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["ReferencedBy",2857406711,6,!0],["AssignedStructuralActivity",2127690289,4,!0]],530289379:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["ReferencedBy",2857406711,6,!0],["AssignedStructuralActivity",2127690289,4,!0],["ReferencesElement",3912681535,5,!0],["ConnectedBy",1638771189,4,!0]],3689010777:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["ReferencedBy",2857406711,6,!0],["AssignedToStructuralItem",2127690289,5,!1],["Causes",682877961,10,!0]],3979015343:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["ReferencedBy",2857406711,6,!0],["AssignedStructuralActivity",2127690289,4,!0],["ReferencesElement",3912681535,5,!0],["ConnectedBy",1638771189,4,!0]],2218152070:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["ReferencedBy",2857406711,6,!0],["AssignedStructuralActivity",2127690289,4,!0],["ReferencesElement",3912681535,5,!0],["ConnectedBy",1638771189,4,!0]],4070609034:[["LayerAssignments",2022622350,2,!0],["StyledByItem",3958052878,0,!0],["IsRelatedFromCallout",3796139169,3,!0],["IsRelatedToCallout",3796139169,2,!0]],2028607225:[["LayerAssignments",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],2809605785:[["LayerAssignments",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],4124788165:[["LayerAssignments",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],1580310250:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["ObjectTypeOf",781010003,5,!0]],3473067441:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["OperatesOn",4278684876,6,!0],["IsSuccessorFrom",4122056220,5,!0],["IsPredecessorTo",4122056220,4,!0]],2097647324:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["ObjectTypeOf",781010003,5,!0]],2296667514:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["IsActingUpon",1683148259,6,!0]],1674181508:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["ReferencedBy",2857406711,6,!0],["ContainedInStructure",3242617779,4,!0]],1334484129:[["LayerAssignments",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],3649129432:[["LayerAssignments",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],1260505505:[["LayerAssignments",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],4031249490:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["ReferencedBy",2857406711,6,!0],["ReferencesElements",1245217292,5,!0],["ServicedBySystems",366585022,5,!0],["ContainsElements",3242617779,5,!0]],1950629157:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["ObjectTypeOf",781010003,5,!0]],3124254112:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["ReferencedBy",2857406711,6,!0],["ReferencesElements",1245217292,5,!0],["ServicedBySystems",366585022,5,!0],["ContainsElements",3242617779,5,!0]],300633059:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["ObjectTypeOf",781010003,5,!0]],3732776249:[["LayerAssignments",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],2510884976:[["LayerAssignments",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],2559216714:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["ResourceOf",205026976,6,!0]],3293443760:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["Controls",2495723537,6,!0]],3895139033:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["Controls",2495723537,6,!0]],1419761937:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["Controls",2495723537,6,!0]],1916426348:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["ObjectTypeOf",781010003,5,!0]],3295246426:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["ResourceOf",205026976,6,!0]],1457835157:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["ObjectTypeOf",781010003,5,!0]],681481545:[["LayerAssignments",2022622350,2,!0],["StyledByItem",3958052878,0,!0],["IsRelatedFromCallout",3796139169,3,!0],["IsRelatedToCallout",3796139169,2,!0]],3256556792:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["ObjectTypeOf",781010003,5,!0]],3849074793:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["ObjectTypeOf",781010003,5,!0]],360485395:[["HasAssociations",1865459582,4,!0],["PropertyDefinitionOf",4186316022,5,!0],["DefinesType",1628702193,5,!0]],1758889154:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["ReferencedBy",2857406711,6,!0],["HasStructuralMember",3912681535,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["HasCoverings",886880790,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasPorts",4201705270,5,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0]],4123344466:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["ReferencedBy",2857406711,6,!0],["HasStructuralMember",3912681535,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["HasCoverings",886880790,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasPorts",4201705270,5,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0]],1623761950:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["ReferencedBy",2857406711,6,!0],["HasStructuralMember",3912681535,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["HasCoverings",886880790,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasPorts",4201705270,5,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0]],2590856083:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["ObjectTypeOf",781010003,5,!0]],1704287377:[["LayerAssignments",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],2107101300:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["ObjectTypeOf",781010003,5,!0]],1962604670:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["ReferencedBy",2857406711,6,!0],["HasStructuralMember",3912681535,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["HasCoverings",886880790,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasPorts",4201705270,5,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0]],3272907226:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["Controls",2495723537,6,!0]],3174744832:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["ObjectTypeOf",781010003,5,!0]],3390157468:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["ObjectTypeOf",781010003,5,!0]],807026263:[["LayerAssignments",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],3737207727:[["LayerAssignments",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],647756555:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["ReferencedBy",2857406711,6,!0],["HasStructuralMember",3912681535,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["HasCoverings",886880790,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasPorts",4201705270,5,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0]],2489546625:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["ObjectTypeOf",781010003,5,!0]],2827207264:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["ReferencedBy",2857406711,6,!0],["HasStructuralMember",3912681535,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["HasCoverings",886880790,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasPorts",4201705270,5,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0]],2143335405:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["ReferencedBy",2857406711,6,!0],["HasStructuralMember",3912681535,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["HasCoverings",886880790,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasPorts",4201705270,5,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["ProjectsElements",750771296,5,!1]],1287392070:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["ReferencedBy",2857406711,6,!0],["HasStructuralMember",3912681535,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["HasCoverings",886880790,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasPorts",4201705270,5,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["VoidsElements",1401173127,5,!1]],3907093117:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["ObjectTypeOf",781010003,5,!0]],3198132628:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["ObjectTypeOf",781010003,5,!0]],3815607619:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["ObjectTypeOf",781010003,5,!0]],1482959167:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["ObjectTypeOf",781010003,5,!0]],1834744321:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["ObjectTypeOf",781010003,5,!0]],1339347760:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["ObjectTypeOf",781010003,5,!0]],2297155007:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["ObjectTypeOf",781010003,5,!0]],3009222698:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["ObjectTypeOf",781010003,5,!0]],263784265:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["ReferencedBy",2857406711,6,!0],["HasStructuralMember",3912681535,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["HasCoverings",886880790,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasPorts",4201705270,5,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0]],814719939:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["Controls",2495723537,6,!0]],200128114:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["ObjectTypeOf",781010003,5,!0]],3009204131:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["ReferencedBy",2857406711,6,!0],["ContainedInStructure",3242617779,4,!0]],2706460486:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["IsGroupedBy",1307041759,6,!1]],1251058090:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["ObjectTypeOf",781010003,5,!0]],1806887404:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["ObjectTypeOf",781010003,5,!0]],2391368822:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["IsGroupedBy",1307041759,6,!1]],4288270099:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["ObjectTypeOf",781010003,5,!0]],3827777499:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["ResourceOf",205026976,6,!0]],1051575348:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["ObjectTypeOf",781010003,5,!0]],1161773419:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["ObjectTypeOf",781010003,5,!0]],2506943328:[["LayerAssignments",2022622350,2,!0],["StyledByItem",3958052878,0,!0],["IsRelatedFromCallout",3796139169,3,!0],["IsRelatedToCallout",3796139169,2,!0]],377706215:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["ReferencedBy",2857406711,6,!0],["HasStructuralMember",3912681535,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["HasCoverings",886880790,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasPorts",4201705270,5,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0]],2108223431:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["ObjectTypeOf",781010003,5,!0]],3181161470:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["ObjectTypeOf",781010003,5,!0]],977012517:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["ObjectTypeOf",781010003,5,!0]],1916936684:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["OperatesOn",4278684876,6,!0],["IsSuccessorFrom",4122056220,5,!0],["IsPredecessorTo",4122056220,4,!0]],4143007308:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["IsActingUpon",1683148259,6,!0]],3588315303:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["ReferencedBy",2857406711,6,!0],["HasStructuralMember",3912681535,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["HasCoverings",886880790,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasPorts",4201705270,5,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["VoidsElements",1401173127,5,!1],["HasFillings",3940055652,4,!0]],3425660407:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["OperatesOn",4278684876,6,!0],["IsSuccessorFrom",4122056220,5,!0],["IsPredecessorTo",4122056220,4,!0]],2837617999:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["ObjectTypeOf",781010003,5,!0]],2382730787:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["Controls",2495723537,6,!0]],3327091369:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["Controls",2495723537,6,!0]],804291784:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["ObjectTypeOf",781010003,5,!0]],4231323485:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["ObjectTypeOf",781010003,5,!0]],4017108033:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["ObjectTypeOf",781010003,5,!0]],3724593414:[["LayerAssignments",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],3740093272:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["ReferencedBy",2857406711,6,!0],["ContainedIn",4201705270,4,!1],["ConnectedFrom",3190031847,5,!0],["ConnectedTo",3190031847,4,!0]],2744685151:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["OperatesOn",4278684876,6,!0],["IsSuccessorFrom",4122056220,5,!0],["IsPredecessorTo",4122056220,4,!0]],2904328755:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["Controls",2495723537,6,!0]],3642467123:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["Controls",2495723537,6,!0]],3651124850:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["ReferencedBy",2857406711,6,!0],["HasStructuralMember",3912681535,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["HasCoverings",886880790,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasPorts",4201705270,5,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["ProjectsElements",750771296,5,!1]],1842657554:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["ObjectTypeOf",781010003,5,!0]],2250791053:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["ObjectTypeOf",781010003,5,!0]],3248260540:[["LayerAssignments",2022622350,2,!0],["StyledByItem",3958052878,0,!0],["IsRelatedFromCallout",3796139169,3,!0],["IsRelatedToCallout",3796139169,2,!0]],2893384427:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["ObjectTypeOf",781010003,5,!0]],2324767716:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["ObjectTypeOf",781010003,5,!0]],1768891740:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["ObjectTypeOf",781010003,5,!0]],3517283431:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["Controls",2495723537,6,!0],["ScheduleTimeControlAssigned",2863920197,7,!1]],4105383287:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["Controls",2495723537,6,!0]],4097777520:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["ReferencedBy",2857406711,6,!0],["ReferencesElements",1245217292,5,!0],["ServicedBySystems",366585022,5,!0],["ContainsElements",3242617779,5,!0]],2533589738:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["ObjectTypeOf",781010003,5,!0]],3856911033:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["ReferencedBy",2857406711,6,!0],["ReferencesElements",1245217292,5,!0],["ServicedBySystems",366585022,5,!0],["ContainsElements",3242617779,5,!0],["HasCoverings",2802773753,4,!0],["BoundedBy",3451746338,4,!0]],1305183839:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["ObjectTypeOf",781010003,5,!0]],652456506:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["Controls",2495723537,6,!0],["HasInteractionReqsFrom",4189434867,7,!0],["HasInteractionReqsTo",4189434867,8,!0]],3812236995:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["ObjectTypeOf",781010003,5,!0]],3112655638:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["ObjectTypeOf",781010003,5,!0]],1039846685:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["ObjectTypeOf",781010003,5,!0]],682877961:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["ReferencedBy",2857406711,6,!0],["AssignedToStructuralItem",2127690289,5,!1]],1179482911:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["ReferencedBy",2857406711,6,!0],["AssignedStructuralActivity",2127690289,4,!0],["ConnectsStructuralMembers",1638771189,5,!0]],4243806635:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["ReferencedBy",2857406711,6,!0],["AssignedStructuralActivity",2127690289,4,!0],["ConnectsStructuralMembers",1638771189,5,!0]],214636428:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["ReferencedBy",2857406711,6,!0],["AssignedStructuralActivity",2127690289,4,!0],["ReferencesElement",3912681535,5,!0],["ConnectedBy",1638771189,4,!0]],2445595289:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["ReferencedBy",2857406711,6,!0],["AssignedStructuralActivity",2127690289,4,!0],["ReferencesElement",3912681535,5,!0],["ConnectedBy",1638771189,4,!0]],1807405624:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["ReferencedBy",2857406711,6,!0],["AssignedToStructuralItem",2127690289,5,!1]],1721250024:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["ReferencedBy",2857406711,6,!0],["AssignedToStructuralItem",2127690289,5,!1]],1252848954:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["IsGroupedBy",1307041759,6,!1],["SourceOfResultGroup",2986769608,6,!0],["LoadGroupFor",2515109513,7,!0]],1621171031:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["ReferencedBy",2857406711,6,!0],["AssignedToStructuralItem",2127690289,5,!1]],3987759626:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["ReferencedBy",2857406711,6,!0],["AssignedToStructuralItem",2127690289,5,!1]],2082059205:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["ReferencedBy",2857406711,6,!0],["AssignedToStructuralItem",2127690289,5,!1]],734778138:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["ReferencedBy",2857406711,6,!0],["AssignedStructuralActivity",2127690289,4,!0],["ConnectsStructuralMembers",1638771189,5,!0]],1235345126:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["ReferencedBy",2857406711,6,!0],["AssignedToStructuralItem",2127690289,5,!1],["Causes",682877961,10,!0]],2986769608:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["IsGroupedBy",1307041759,6,!1],["ResultGroupFor",2515109513,8,!0]],1975003073:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["ReferencedBy",2857406711,6,!0],["AssignedStructuralActivity",2127690289,4,!0],["ConnectsStructuralMembers",1638771189,5,!0]],148013059:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["ResourceOf",205026976,6,!0]],2315554128:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["ObjectTypeOf",781010003,5,!0]],2254336722:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["IsGroupedBy",1307041759,6,!1],["ServicesBuildings",366585022,4,!0]],5716631:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["ObjectTypeOf",781010003,5,!0]],1637806684:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["Controls",2495723537,6,!0]],1692211062:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["ObjectTypeOf",781010003,5,!0]],1620046519:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["ReferencedBy",2857406711,6,!0],["HasStructuralMember",3912681535,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["HasCoverings",886880790,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasPorts",4201705270,5,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0]],3593883385:[["LayerAssignments",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],1600972822:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["ObjectTypeOf",781010003,5,!0]],1911125066:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["ObjectTypeOf",781010003,5,!0]],728799441:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["ObjectTypeOf",781010003,5,!0]],2769231204:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["ReferencedBy",2857406711,6,!0],["HasStructuralMember",3912681535,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["HasCoverings",886880790,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasPorts",4201705270,5,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0]],1898987631:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["ObjectTypeOf",781010003,5,!0]],1133259667:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["ObjectTypeOf",781010003,5,!0]],1028945134:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["Controls",2495723537,6,!0]],4218914973:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["Controls",2495723537,6,!0]],3342526732:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["Controls",2495723537,6,!0]],1033361043:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["IsGroupedBy",1307041759,6,!1]],1213861670:[["LayerAssignments",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],3821786052:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["Controls",2495723537,6,!0]],1411407467:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["ObjectTypeOf",781010003,5,!0]],3352864051:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["ObjectTypeOf",781010003,5,!0]],1871374353:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["ObjectTypeOf",781010003,5,!0]],2470393545:[["LayerAssignments",2022622350,2,!0],["StyledByItem",3958052878,0,!0],["IsRelatedFromCallout",3796139169,3,!0],["IsRelatedToCallout",3796139169,2,!0]],3460190687:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["IsGroupedBy",1307041759,6,!1]],1967976161:[["LayerAssignments",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],819618141:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["ObjectTypeOf",781010003,5,!0]],1916977116:[["LayerAssignments",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],231477066:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["ObjectTypeOf",781010003,5,!0]],3299480353:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["ReferencedBy",2857406711,6,!0],["HasStructuralMember",3912681535,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["HasCoverings",886880790,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasPorts",4201705270,5,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0]],52481810:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["ReferencedBy",2857406711,6,!0],["HasStructuralMember",3912681535,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["HasCoverings",886880790,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasPorts",4201705270,5,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0]],2979338954:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["ReferencedBy",2857406711,6,!0],["HasStructuralMember",3912681535,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["HasCoverings",886880790,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasPorts",4201705270,5,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0]],1095909175:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["ReferencedBy",2857406711,6,!0],["HasStructuralMember",3912681535,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["HasCoverings",886880790,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasPorts",4201705270,5,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0]],1909888760:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["ObjectTypeOf",781010003,5,!0]],395041908:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["ObjectTypeOf",781010003,5,!0]],3293546465:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["ObjectTypeOf",781010003,5,!0]],1285652485:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["ObjectTypeOf",781010003,5,!0]],2951183804:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["ObjectTypeOf",781010003,5,!0]],2611217952:[["LayerAssignments",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],2301859152:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["ObjectTypeOf",781010003,5,!0]],843113511:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["ReferencedBy",2857406711,6,!0],["HasStructuralMember",3912681535,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["HasCoverings",886880790,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasPorts",4201705270,5,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0]],3850581409:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["ObjectTypeOf",781010003,5,!0]],2816379211:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["ObjectTypeOf",781010003,5,!0]],2188551683:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["IsGroupedBy",1307041759,6,!1]],1163958913:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["Controls",2495723537,6,!0]],3898045240:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["ResourceOf",205026976,6,!0]],1060000209:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["ResourceOf",205026976,6,!0]],488727124:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["ResourceOf",205026976,6,!0]],335055490:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["ObjectTypeOf",781010003,5,!0]],2954562838:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["ObjectTypeOf",781010003,5,!0]],1973544240:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["ReferencedBy",2857406711,6,!0],["HasStructuralMember",3912681535,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["HasCoverings",886880790,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasPorts",4201705270,5,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["CoversSpaces",2802773753,5,!0],["Covers",886880790,5,!0]],3495092785:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["ReferencedBy",2857406711,6,!0],["HasStructuralMember",3912681535,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["HasCoverings",886880790,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasPorts",4201705270,5,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0]],3961806047:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["ObjectTypeOf",781010003,5,!0]],4147604152:[["LayerAssignments",2022622350,2,!0],["StyledByItem",3958052878,0,!0],["IsRelatedFromCallout",3796139169,3,!0],["IsRelatedToCallout",3796139169,2,!0]],1335981549:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["ReferencedBy",2857406711,6,!0],["HasStructuralMember",3912681535,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["HasCoverings",886880790,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasPorts",4201705270,5,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0]],2635815018:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["ObjectTypeOf",781010003,5,!0]],1599208980:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["ObjectTypeOf",781010003,5,!0]],2063403501:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["ObjectTypeOf",781010003,5,!0]],1945004755:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["ReferencedBy",2857406711,6,!0],["HasStructuralMember",3912681535,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["HasCoverings",886880790,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasPorts",4201705270,5,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0]],3040386961:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["ReferencedBy",2857406711,6,!0],["HasStructuralMember",3912681535,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["HasCoverings",886880790,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasPorts",4201705270,5,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasControlElements",279856033,5,!0]],3041715199:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["ReferencedBy",2857406711,6,!0],["ContainedIn",4201705270,4,!1],["ConnectedFrom",3190031847,5,!0],["ConnectedTo",3190031847,4,!0]],395920057:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["ReferencedBy",2857406711,6,!0],["HasStructuralMember",3912681535,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["HasCoverings",886880790,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasPorts",4201705270,5,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0]],869906466:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["ObjectTypeOf",781010003,5,!0]],3760055223:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["ObjectTypeOf",781010003,5,!0]],2030761528:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["ObjectTypeOf",781010003,5,!0]],855621170:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["ReferencedBy",2857406711,6,!0],["HasStructuralMember",3912681535,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["HasCoverings",886880790,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasPorts",4201705270,5,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["VoidsElements",1401173127,5,!1]],663422040:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["ObjectTypeOf",781010003,5,!0]],3277789161:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["ObjectTypeOf",781010003,5,!0]],1534661035:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["ObjectTypeOf",781010003,5,!0]],1365060375:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["ObjectTypeOf",781010003,5,!0]],1217240411:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["ObjectTypeOf",781010003,5,!0]],712377611:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["ObjectTypeOf",781010003,5,!0]],1634875225:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["IsGroupedBy",1307041759,6,!1],["ServicesBuildings",366585022,4,!0]],857184966:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["ReferencedBy",2857406711,6,!0],["HasStructuralMember",3912681535,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["HasCoverings",886880790,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasPorts",4201705270,5,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0]],1658829314:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["ReferencedBy",2857406711,6,!0],["HasStructuralMember",3912681535,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["HasCoverings",886880790,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasPorts",4201705270,5,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasControlElements",279856033,5,!0]],346874300:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["ObjectTypeOf",781010003,5,!0]],1810631287:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["ObjectTypeOf",781010003,5,!0]],4222183408:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["ObjectTypeOf",781010003,5,!0]],2058353004:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["ReferencedBy",2857406711,6,!0],["HasStructuralMember",3912681535,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["HasCoverings",886880790,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasPorts",4201705270,5,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasControlElements",279856033,5,!0]],4278956645:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["ReferencedBy",2857406711,6,!0],["HasStructuralMember",3912681535,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["HasCoverings",886880790,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasPorts",4201705270,5,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasControlElements",279856033,5,!0]],4037862832:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["ObjectTypeOf",781010003,5,!0]],3132237377:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["ReferencedBy",2857406711,6,!0],["HasStructuralMember",3912681535,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["HasCoverings",886880790,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasPorts",4201705270,5,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasControlElements",279856033,5,!0]],987401354:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["ReferencedBy",2857406711,6,!0],["HasStructuralMember",3912681535,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["HasCoverings",886880790,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasPorts",4201705270,5,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasControlElements",279856033,5,!0]],707683696:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["ReferencedBy",2857406711,6,!0],["HasStructuralMember",3912681535,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["HasCoverings",886880790,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasPorts",4201705270,5,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasControlElements",279856033,5,!0]],2223149337:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["ReferencedBy",2857406711,6,!0],["HasStructuralMember",3912681535,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["HasCoverings",886880790,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasPorts",4201705270,5,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasControlElements",279856033,5,!0]],3508470533:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["ReferencedBy",2857406711,6,!0],["HasStructuralMember",3912681535,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["HasCoverings",886880790,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasPorts",4201705270,5,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasControlElements",279856033,5,!0]],900683007:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["ReferencedBy",2857406711,6,!0],["HasStructuralMember",3912681535,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["HasCoverings",886880790,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasPorts",4201705270,5,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0]],1073191201:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["ReferencedBy",2857406711,6,!0],["HasStructuralMember",3912681535,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["HasCoverings",886880790,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasPorts",4201705270,5,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0]],1687234759:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["ReferencedBy",2857406711,6,!0],["HasStructuralMember",3912681535,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["HasCoverings",886880790,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasPorts",4201705270,5,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0]],3171933400:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["ReferencedBy",2857406711,6,!0],["HasStructuralMember",3912681535,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["HasCoverings",886880790,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasPorts",4201705270,5,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0]],2262370178:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["ReferencedBy",2857406711,6,!0],["HasStructuralMember",3912681535,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["HasCoverings",886880790,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasPorts",4201705270,5,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0]],3024970846:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["ReferencedBy",2857406711,6,!0],["HasStructuralMember",3912681535,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["HasCoverings",886880790,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasPorts",4201705270,5,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0]],3283111854:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["ReferencedBy",2857406711,6,!0],["HasStructuralMember",3912681535,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["HasCoverings",886880790,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasPorts",4201705270,5,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0]],3055160366:[["LayerAssignments",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],3027567501:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["ReferencedBy",2857406711,6,!0],["HasStructuralMember",3912681535,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["HasCoverings",886880790,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasPorts",4201705270,5,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0]],2320036040:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["ReferencedBy",2857406711,6,!0],["HasStructuralMember",3912681535,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["HasCoverings",886880790,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasPorts",4201705270,5,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0]],2016517767:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["ReferencedBy",2857406711,6,!0],["HasStructuralMember",3912681535,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["HasCoverings",886880790,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasPorts",4201705270,5,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0]],1376911519:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["ReferencedBy",2857406711,6,!0],["HasStructuralMember",3912681535,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["HasCoverings",886880790,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasPorts",4201705270,5,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["VoidsElements",1401173127,5,!1]],1783015770:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["ObjectTypeOf",781010003,5,!0]],1529196076:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["ReferencedBy",2857406711,6,!0],["HasStructuralMember",3912681535,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["HasCoverings",886880790,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasPorts",4201705270,5,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0]],331165859:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["ReferencedBy",2857406711,6,!0],["HasStructuralMember",3912681535,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["HasCoverings",886880790,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasPorts",4201705270,5,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0]],4252922144:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["ReferencedBy",2857406711,6,!0],["HasStructuralMember",3912681535,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["HasCoverings",886880790,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasPorts",4201705270,5,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0]],2515109513:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["IsGroupedBy",1307041759,6,!1],["ServicesBuildings",366585022,4,!0]],3824725483:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["ReferencedBy",2857406711,6,!0],["HasStructuralMember",3912681535,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["HasCoverings",886880790,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasPorts",4201705270,5,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0]],2347447852:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["ReferencedBy",2857406711,6,!0],["HasStructuralMember",3912681535,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["HasCoverings",886880790,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasPorts",4201705270,5,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0]],3313531582:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["ObjectTypeOf",781010003,5,!0]],2391406946:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["ReferencedBy",2857406711,6,!0],["HasStructuralMember",3912681535,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["HasCoverings",886880790,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasPorts",4201705270,5,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0]],3512223829:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["ReferencedBy",2857406711,6,!0],["HasStructuralMember",3912681535,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["HasCoverings",886880790,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasPorts",4201705270,5,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0]],3304561284:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["ReferencedBy",2857406711,6,!0],["HasStructuralMember",3912681535,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["HasCoverings",886880790,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasPorts",4201705270,5,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0]],2874132201:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["ObjectTypeOf",781010003,5,!0]],3001207471:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["ObjectTypeOf",781010003,5,!0]],753842376:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["ReferencedBy",2857406711,6,!0],["HasStructuralMember",3912681535,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["HasCoverings",886880790,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasPorts",4201705270,5,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0]],2454782716:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["ReferencedBy",2857406711,6,!0],["HasStructuralMember",3912681535,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["HasCoverings",886880790,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasPorts",4201705270,5,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["VoidsElements",1401173127,5,!1]],578613899:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["ObjectTypeOf",781010003,5,!0]],1052013943:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["ReferencedBy",2857406711,6,!0],["HasStructuralMember",3912681535,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["HasCoverings",886880790,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasPorts",4201705270,5,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasControlElements",279856033,5,!0]],1062813311:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["ReferencedBy",2857406711,6,!0],["HasStructuralMember",3912681535,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["HasCoverings",886880790,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasPorts",4201705270,5,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["AssignedToFlowElement",279856033,4,!0]],3700593921:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["ReferencedBy",2857406711,6,!0],["HasStructuralMember",3912681535,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["HasCoverings",886880790,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasPorts",4201705270,5,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasControlElements",279856033,5,!0]],979691226:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["ReferencedBy",2857406711,6,!0],["HasStructuralMember",3912681535,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["HasCoverings",886880790,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasPorts",4201705270,5,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0]]},V_[1]={3630933823:function(e,t){return new $C.IfcActorRole(e,t[0],t[1],t[2])},618182010:function(e,t){return new $C.IfcAddress(e,t[0],t[1],t[2])},639542469:function(e,t){return new $C.IfcApplication(e,t[0],t[1],t[2],t[3])},411424972:function(e,t){return new $C.IfcAppliedValue(e,t[0],t[1],t[2],t[3],t[4],t[5])},1110488051:function(e,t){return new $C.IfcAppliedValueRelationship(e,t[0],t[1],t[2],t[3],t[4])},130549933:function(e,t){return new $C.IfcApproval(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6])},2080292479:function(e,t){return new $C.IfcApprovalActorRelationship(e,t[0],t[1],t[2])},390851274:function(e,t){return new $C.IfcApprovalPropertyRelationship(e,t[0],t[1])},3869604511:function(e,t){return new $C.IfcApprovalRelationship(e,t[0],t[1],t[2],t[3])},4037036970:function(e,t){return new $C.IfcBoundaryCondition(e,t[0])},1560379544:function(e,t){return new $C.IfcBoundaryEdgeCondition(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6])},3367102660:function(e,t){return new $C.IfcBoundaryFaceCondition(e,t[0],t[1],t[2],t[3])},1387855156:function(e,t){return new $C.IfcBoundaryNodeCondition(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6])},2069777674:function(e,t){return new $C.IfcBoundaryNodeConditionWarping(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},622194075:function(e,t){return new $C.IfcCalendarDate(e,t[0],t[1],t[2])},747523909:function(e,t){return new $C.IfcClassification(e,t[0],t[1],t[2],t[3])},1767535486:function(e,t){return new $C.IfcClassificationItem(e,t[0],t[1],t[2])},1098599126:function(e,t){return new $C.IfcClassificationItemRelationship(e,t[0],t[1])},938368621:function(e,t){return new $C.IfcClassificationNotation(e,t[0])},3639012971:function(e,t){return new $C.IfcClassificationNotationFacet(e,t[0])},3264961684:function(e,t){return new $C.IfcColourSpecification(e,t[0])},2859738748:function(e,t){return new $C.IfcConnectionGeometry(e)},2614616156:function(e,t){return new $C.IfcConnectionPointGeometry(e,t[0],t[1])},4257277454:function(e,t){return new $C.IfcConnectionPortGeometry(e,t[0],t[1],t[2])},2732653382:function(e,t){return new $C.IfcConnectionSurfaceGeometry(e,t[0],t[1])},1959218052:function(e,t){return new $C.IfcConstraint(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6])},1658513725:function(e,t){return new $C.IfcConstraintAggregationRelationship(e,t[0],t[1],t[2],t[3],t[4])},613356794:function(e,t){return new $C.IfcConstraintClassificationRelationship(e,t[0],t[1])},347226245:function(e,t){return new $C.IfcConstraintRelationship(e,t[0],t[1],t[2],t[3])},1065062679:function(e,t){return new $C.IfcCoordinatedUniversalTimeOffset(e,t[0],t[1],t[2])},602808272:function(e,t){return new $C.IfcCostValue(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},539742890:function(e,t){return new $C.IfcCurrencyRelationship(e,t[0],t[1],t[2],t[3],t[4])},1105321065:function(e,t){return new $C.IfcCurveStyleFont(e,t[0],t[1])},2367409068:function(e,t){return new $C.IfcCurveStyleFontAndScaling(e,t[0],t[1],t[2])},3510044353:function(e,t){return new $C.IfcCurveStyleFontPattern(e,t[0],t[1])},1072939445:function(e,t){return new $C.IfcDateAndTime(e,t[0],t[1])},1765591967:function(e,t){return new $C.IfcDerivedUnit(e,t[0],t[1],t[2])},1045800335:function(e,t){return new $C.IfcDerivedUnitElement(e,t[0],t[1])},2949456006:function(e,t){return new $C.IfcDimensionalExponents(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6])},1376555844:function(e,t){return new $C.IfcDocumentElectronicFormat(e,t[0],t[1],t[2])},1154170062:function(e,t){return new $C.IfcDocumentInformation(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12],t[13],t[14],t[15],t[16])},770865208:function(e,t){return new $C.IfcDocumentInformationRelationship(e,t[0],t[1],t[2])},3796139169:function(e,t){return new $C.IfcDraughtingCalloutRelationship(e,t[0],t[1],t[2],t[3])},1648886627:function(e,t){return new $C.IfcEnvironmentalImpactValue(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},3200245327:function(e,t){return new $C.IfcExternalReference(e,t[0],t[1],t[2])},2242383968:function(e,t){return new $C.IfcExternallyDefinedHatchStyle(e,t[0],t[1],t[2])},1040185647:function(e,t){return new $C.IfcExternallyDefinedSurfaceStyle(e,t[0],t[1],t[2])},3207319532:function(e,t){return new $C.IfcExternallyDefinedSymbol(e,t[0],t[1],t[2])},3548104201:function(e,t){return new $C.IfcExternallyDefinedTextFont(e,t[0],t[1],t[2])},852622518:function(e,t){return new $C.IfcGridAxis(e,t[0],t[1],t[2])},3020489413:function(e,t){return new $C.IfcIrregularTimeSeriesValue(e,t[0],t[1])},2655187982:function(e,t){return new $C.IfcLibraryInformation(e,t[0],t[1],t[2],t[3],t[4])},3452421091:function(e,t){return new $C.IfcLibraryReference(e,t[0],t[1],t[2])},4162380809:function(e,t){return new $C.IfcLightDistributionData(e,t[0],t[1],t[2])},1566485204:function(e,t){return new $C.IfcLightIntensityDistribution(e,t[0],t[1])},30780891:function(e,t){return new $C.IfcLocalTime(e,t[0],t[1],t[2],t[3],t[4])},1838606355:function(e,t){return new $C.IfcMaterial(e,t[0])},1847130766:function(e,t){return new $C.IfcMaterialClassificationRelationship(e,t[0],t[1])},248100487:function(e,t){return new $C.IfcMaterialLayer(e,t[0],t[1],t[2])},3303938423:function(e,t){return new $C.IfcMaterialLayerSet(e,t[0],t[1])},1303795690:function(e,t){return new $C.IfcMaterialLayerSetUsage(e,t[0],t[1],t[2],t[3])},2199411900:function(e,t){return new $C.IfcMaterialList(e,t[0])},3265635763:function(e,t){return new $C.IfcMaterialProperties(e,t[0])},2597039031:function(e,t){return new $C.IfcMeasureWithUnit(e,t[0],t[1])},4256014907:function(e,t){return new $C.IfcMechanicalMaterialProperties(e,t[0],t[1],t[2],t[3],t[4],t[5])},677618848:function(e,t){return new $C.IfcMechanicalSteelMaterialProperties(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12])},3368373690:function(e,t){return new $C.IfcMetric(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},2706619895:function(e,t){return new $C.IfcMonetaryUnit(e,t[0])},1918398963:function(e,t){return new $C.IfcNamedUnit(e,t[0],t[1])},3701648758:function(e,t){return new $C.IfcObjectPlacement(e)},2251480897:function(e,t){return new $C.IfcObjective(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10])},1227763645:function(e,t){return new $C.IfcOpticalMaterialProperties(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},4251960020:function(e,t){return new $C.IfcOrganization(e,t[0],t[1],t[2],t[3],t[4])},1411181986:function(e,t){return new $C.IfcOrganizationRelationship(e,t[0],t[1],t[2],t[3])},1207048766:function(e,t){return new $C.IfcOwnerHistory(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},2077209135:function(e,t){return new $C.IfcPerson(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},101040310:function(e,t){return new $C.IfcPersonAndOrganization(e,t[0],t[1],t[2])},2483315170:function(e,t){return new $C.IfcPhysicalQuantity(e,t[0],t[1])},2226359599:function(e,t){return new $C.IfcPhysicalSimpleQuantity(e,t[0],t[1],t[2])},3355820592:function(e,t){return new $C.IfcPostalAddress(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},3727388367:function(e,t){return new $C.IfcPreDefinedItem(e,t[0])},990879717:function(e,t){return new $C.IfcPreDefinedSymbol(e,t[0])},3213052703:function(e,t){return new $C.IfcPreDefinedTerminatorSymbol(e,t[0])},1775413392:function(e,t){return new $C.IfcPreDefinedTextFont(e,t[0])},2022622350:function(e,t){return new $C.IfcPresentationLayerAssignment(e,t[0],t[1],t[2],t[3])},1304840413:function(e,t){return new $C.IfcPresentationLayerWithStyle(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},3119450353:function(e,t){return new $C.IfcPresentationStyle(e,t[0])},2417041796:function(e,t){return new $C.IfcPresentationStyleAssignment(e,t[0])},2095639259:function(e,t){return new $C.IfcProductRepresentation(e,t[0],t[1],t[2])},2267347899:function(e,t){return new $C.IfcProductsOfCombustionProperties(e,t[0],t[1],t[2],t[3],t[4])},3958567839:function(e,t){return new $C.IfcProfileDef(e,t[0],t[1])},2802850158:function(e,t){return new $C.IfcProfileProperties(e,t[0],t[1])},2598011224:function(e,t){return new $C.IfcProperty(e,t[0],t[1])},3896028662:function(e,t){return new $C.IfcPropertyConstraintRelationship(e,t[0],t[1],t[2],t[3])},148025276:function(e,t){return new $C.IfcPropertyDependencyRelationship(e,t[0],t[1],t[2],t[3],t[4])},3710013099:function(e,t){return new $C.IfcPropertyEnumeration(e,t[0],t[1],t[2])},2044713172:function(e,t){return new $C.IfcQuantityArea(e,t[0],t[1],t[2],t[3])},2093928680:function(e,t){return new $C.IfcQuantityCount(e,t[0],t[1],t[2],t[3])},931644368:function(e,t){return new $C.IfcQuantityLength(e,t[0],t[1],t[2],t[3])},3252649465:function(e,t){return new $C.IfcQuantityTime(e,t[0],t[1],t[2],t[3])},2405470396:function(e,t){return new $C.IfcQuantityVolume(e,t[0],t[1],t[2],t[3])},825690147:function(e,t){return new $C.IfcQuantityWeight(e,t[0],t[1],t[2],t[3])},2692823254:function(e,t){return new $C.IfcReferencesValueDocument(e,t[0],t[1],t[2],t[3])},1580146022:function(e,t){return new $C.IfcReinforcementBarProperties(e,t[0],t[1],t[2],t[3],t[4],t[5])},1222501353:function(e,t){return new $C.IfcRelaxation(e,t[0],t[1])},1076942058:function(e,t){return new $C.IfcRepresentation(e,t[0],t[1],t[2],t[3])},3377609919:function(e,t){return new $C.IfcRepresentationContext(e,t[0],t[1])},3008791417:function(e,t){return new $C.IfcRepresentationItem(e)},1660063152:function(e,t){return new $C.IfcRepresentationMap(e,t[0],t[1])},3679540991:function(e,t){return new $C.IfcRibPlateProfileProperties(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6])},2341007311:function(e,t){return new $C.IfcRoot(e,t[0],t[1],t[2],t[3])},448429030:function(e,t){return new $C.IfcSIUnit(e,t[0],t[1],t[2])},2042790032:function(e,t){return new $C.IfcSectionProperties(e,t[0],t[1],t[2])},4165799628:function(e,t){return new $C.IfcSectionReinforcementProperties(e,t[0],t[1],t[2],t[3],t[4],t[5])},867548509:function(e,t){return new $C.IfcShapeAspect(e,t[0],t[1],t[2],t[3],t[4])},3982875396:function(e,t){return new $C.IfcShapeModel(e,t[0],t[1],t[2],t[3])},4240577450:function(e,t){return new $C.IfcShapeRepresentation(e,t[0],t[1],t[2],t[3])},3692461612:function(e,t){return new $C.IfcSimpleProperty(e,t[0],t[1])},2273995522:function(e,t){return new $C.IfcStructuralConnectionCondition(e,t[0])},2162789131:function(e,t){return new $C.IfcStructuralLoad(e,t[0])},2525727697:function(e,t){return new $C.IfcStructuralLoadStatic(e,t[0])},3408363356:function(e,t){return new $C.IfcStructuralLoadTemperature(e,t[0],t[1],t[2],t[3])},2830218821:function(e,t){return new $C.IfcStyleModel(e,t[0],t[1],t[2],t[3])},3958052878:function(e,t){return new $C.IfcStyledItem(e,t[0],t[1],t[2])},3049322572:function(e,t){return new $C.IfcStyledRepresentation(e,t[0],t[1],t[2],t[3])},1300840506:function(e,t){return new $C.IfcSurfaceStyle(e,t[0],t[1],t[2])},3303107099:function(e,t){return new $C.IfcSurfaceStyleLighting(e,t[0],t[1],t[2],t[3])},1607154358:function(e,t){return new $C.IfcSurfaceStyleRefraction(e,t[0],t[1])},846575682:function(e,t){return new $C.IfcSurfaceStyleShading(e,t[0])},1351298697:function(e,t){return new $C.IfcSurfaceStyleWithTextures(e,t[0])},626085974:function(e,t){return new $C.IfcSurfaceTexture(e,t[0],t[1],t[2],t[3])},1290481447:function(e,t){return new $C.IfcSymbolStyle(e,t[0],t[1])},985171141:function(e,t){return new $C.IfcTable(e,t[0],t[1])},531007025:function(e,t){return new $C.IfcTableRow(e,t[0],t[1])},912023232:function(e,t){return new $C.IfcTelecomAddress(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},1447204868:function(e,t){return new $C.IfcTextStyle(e,t[0],t[1],t[2],t[3])},1983826977:function(e,t){return new $C.IfcTextStyleFontModel(e,t[0],t[1],t[2],t[3],t[4],t[5])},2636378356:function(e,t){return new $C.IfcTextStyleForDefinedFont(e,t[0],t[1])},1640371178:function(e,t){return new $C.IfcTextStyleTextModel(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6])},1484833681:function(e,t){return new $C.IfcTextStyleWithBoxCharacteristics(e,t[0],t[1],t[2],t[3],t[4])},280115917:function(e,t){return new $C.IfcTextureCoordinate(e)},1742049831:function(e,t){return new $C.IfcTextureCoordinateGenerator(e,t[0],t[1])},2552916305:function(e,t){return new $C.IfcTextureMap(e,t[0])},1210645708:function(e,t){return new $C.IfcTextureVertex(e,t[0])},3317419933:function(e,t){return new $C.IfcThermalMaterialProperties(e,t[0],t[1],t[2],t[3],t[4])},3101149627:function(e,t){return new $C.IfcTimeSeries(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},1718945513:function(e,t){return new $C.IfcTimeSeriesReferenceRelationship(e,t[0],t[1])},581633288:function(e,t){return new $C.IfcTimeSeriesValue(e,t[0])},1377556343:function(e,t){return new $C.IfcTopologicalRepresentationItem(e)},1735638870:function(e,t){return new $C.IfcTopologyRepresentation(e,t[0],t[1],t[2],t[3])},180925521:function(e,t){return new $C.IfcUnitAssignment(e,t[0])},2799835756:function(e,t){return new $C.IfcVertex(e)},3304826586:function(e,t){return new $C.IfcVertexBasedTextureMap(e,t[0],t[1])},1907098498:function(e,t){return new $C.IfcVertexPoint(e,t[0])},891718957:function(e,t){return new $C.IfcVirtualGridIntersection(e,t[0],t[1])},1065908215:function(e,t){return new $C.IfcWaterProperties(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},2442683028:function(e,t){return new $C.IfcAnnotationOccurrence(e,t[0],t[1],t[2])},962685235:function(e,t){return new $C.IfcAnnotationSurfaceOccurrence(e,t[0],t[1],t[2])},3612888222:function(e,t){return new $C.IfcAnnotationSymbolOccurrence(e,t[0],t[1],t[2])},2297822566:function(e,t){return new $C.IfcAnnotationTextOccurrence(e,t[0],t[1],t[2])},3798115385:function(e,t){return new $C.IfcArbitraryClosedProfileDef(e,t[0],t[1],t[2])},1310608509:function(e,t){return new $C.IfcArbitraryOpenProfileDef(e,t[0],t[1],t[2])},2705031697:function(e,t){return new $C.IfcArbitraryProfileDefWithVoids(e,t[0],t[1],t[2],t[3])},616511568:function(e,t){return new $C.IfcBlobTexture(e,t[0],t[1],t[2],t[3],t[4],t[5])},3150382593:function(e,t){return new $C.IfcCenterLineProfileDef(e,t[0],t[1],t[2],t[3])},647927063:function(e,t){return new $C.IfcClassificationReference(e,t[0],t[1],t[2],t[3])},776857604:function(e,t){return new $C.IfcColourRgb(e,t[0],t[1],t[2],t[3])},2542286263:function(e,t){return new $C.IfcComplexProperty(e,t[0],t[1],t[2],t[3])},1485152156:function(e,t){return new $C.IfcCompositeProfileDef(e,t[0],t[1],t[2],t[3])},370225590:function(e,t){return new $C.IfcConnectedFaceSet(e,t[0])},1981873012:function(e,t){return new $C.IfcConnectionCurveGeometry(e,t[0],t[1])},45288368:function(e,t){return new $C.IfcConnectionPointEccentricity(e,t[0],t[1],t[2],t[3],t[4])},3050246964:function(e,t){return new $C.IfcContextDependentUnit(e,t[0],t[1],t[2])},2889183280:function(e,t){return new $C.IfcConversionBasedUnit(e,t[0],t[1],t[2],t[3])},3800577675:function(e,t){return new $C.IfcCurveStyle(e,t[0],t[1],t[2],t[3])},3632507154:function(e,t){return new $C.IfcDerivedProfileDef(e,t[0],t[1],t[2],t[3],t[4])},2273265877:function(e,t){return new $C.IfcDimensionCalloutRelationship(e,t[0],t[1],t[2],t[3])},1694125774:function(e,t){return new $C.IfcDimensionPair(e,t[0],t[1],t[2],t[3])},3732053477:function(e,t){return new $C.IfcDocumentReference(e,t[0],t[1],t[2])},4170525392:function(e,t){return new $C.IfcDraughtingPreDefinedTextFont(e,t[0])},3900360178:function(e,t){return new $C.IfcEdge(e,t[0],t[1])},476780140:function(e,t){return new $C.IfcEdgeCurve(e,t[0],t[1],t[2],t[3])},1860660968:function(e,t){return new $C.IfcExtendedMaterialProperties(e,t[0],t[1],t[2],t[3])},2556980723:function(e,t){return new $C.IfcFace(e,t[0])},1809719519:function(e,t){return new $C.IfcFaceBound(e,t[0],t[1])},803316827:function(e,t){return new $C.IfcFaceOuterBound(e,t[0],t[1])},3008276851:function(e,t){return new $C.IfcFaceSurface(e,t[0],t[1],t[2])},4219587988:function(e,t){return new $C.IfcFailureConnectionCondition(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6])},738692330:function(e,t){return new $C.IfcFillAreaStyle(e,t[0],t[1])},3857492461:function(e,t){return new $C.IfcFuelProperties(e,t[0],t[1],t[2],t[3],t[4])},803998398:function(e,t){return new $C.IfcGeneralMaterialProperties(e,t[0],t[1],t[2],t[3])},1446786286:function(e,t){return new $C.IfcGeneralProfileProperties(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6])},3448662350:function(e,t){return new $C.IfcGeometricRepresentationContext(e,t[0],t[1],t[2],t[3],t[4],t[5])},2453401579:function(e,t){return new $C.IfcGeometricRepresentationItem(e)},4142052618:function(e,t){return new $C.IfcGeometricRepresentationSubContext(e,t[0],t[1],t[2],t[3],t[4],t[5])},3590301190:function(e,t){return new $C.IfcGeometricSet(e,t[0])},178086475:function(e,t){return new $C.IfcGridPlacement(e,t[0],t[1])},812098782:function(e,t){return new $C.IfcHalfSpaceSolid(e,t[0],t[1])},2445078500:function(e,t){return new $C.IfcHygroscopicMaterialProperties(e,t[0],t[1],t[2],t[3],t[4],t[5])},3905492369:function(e,t){return new $C.IfcImageTexture(e,t[0],t[1],t[2],t[3],t[4])},3741457305:function(e,t){return new $C.IfcIrregularTimeSeries(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},1402838566:function(e,t){return new $C.IfcLightSource(e,t[0],t[1],t[2],t[3])},125510826:function(e,t){return new $C.IfcLightSourceAmbient(e,t[0],t[1],t[2],t[3])},2604431987:function(e,t){return new $C.IfcLightSourceDirectional(e,t[0],t[1],t[2],t[3],t[4])},4266656042:function(e,t){return new $C.IfcLightSourceGoniometric(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},1520743889:function(e,t){return new $C.IfcLightSourcePositional(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},3422422726:function(e,t){return new $C.IfcLightSourceSpot(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12])},2624227202:function(e,t){return new $C.IfcLocalPlacement(e,t[0],t[1])},1008929658:function(e,t){return new $C.IfcLoop(e)},2347385850:function(e,t){return new $C.IfcMappedItem(e,t[0],t[1])},2022407955:function(e,t){return new $C.IfcMaterialDefinitionRepresentation(e,t[0],t[1],t[2],t[3])},1430189142:function(e,t){return new $C.IfcMechanicalConcreteMaterialProperties(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11])},219451334:function(e,t){return new $C.IfcObjectDefinition(e,t[0],t[1],t[2],t[3])},2833995503:function(e,t){return new $C.IfcOneDirectionRepeatFactor(e,t[0])},2665983363:function(e,t){return new $C.IfcOpenShell(e,t[0])},1029017970:function(e,t){return new $C.IfcOrientedEdge(e,t[0],t[1])},2529465313:function(e,t){return new $C.IfcParameterizedProfileDef(e,t[0],t[1],t[2])},2519244187:function(e,t){return new $C.IfcPath(e,t[0])},3021840470:function(e,t){return new $C.IfcPhysicalComplexQuantity(e,t[0],t[1],t[2],t[3],t[4],t[5])},597895409:function(e,t){return new $C.IfcPixelTexture(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},2004835150:function(e,t){return new $C.IfcPlacement(e,t[0])},1663979128:function(e,t){return new $C.IfcPlanarExtent(e,t[0],t[1])},2067069095:function(e,t){return new $C.IfcPoint(e)},4022376103:function(e,t){return new $C.IfcPointOnCurve(e,t[0],t[1])},1423911732:function(e,t){return new $C.IfcPointOnSurface(e,t[0],t[1],t[2])},2924175390:function(e,t){return new $C.IfcPolyLoop(e,t[0])},2775532180:function(e,t){return new $C.IfcPolygonalBoundedHalfSpace(e,t[0],t[1],t[2],t[3])},759155922:function(e,t){return new $C.IfcPreDefinedColour(e,t[0])},2559016684:function(e,t){return new $C.IfcPreDefinedCurveFont(e,t[0])},433424934:function(e,t){return new $C.IfcPreDefinedDimensionSymbol(e,t[0])},179317114:function(e,t){return new $C.IfcPreDefinedPointMarkerSymbol(e,t[0])},673634403:function(e,t){return new $C.IfcProductDefinitionShape(e,t[0],t[1],t[2])},871118103:function(e,t){return new $C.IfcPropertyBoundedValue(e,t[0],t[1],t[2],t[3],t[4])},1680319473:function(e,t){return new $C.IfcPropertyDefinition(e,t[0],t[1],t[2],t[3])},4166981789:function(e,t){return new $C.IfcPropertyEnumeratedValue(e,t[0],t[1],t[2],t[3])},2752243245:function(e,t){return new $C.IfcPropertyListValue(e,t[0],t[1],t[2],t[3])},941946838:function(e,t){return new $C.IfcPropertyReferenceValue(e,t[0],t[1],t[2],t[3])},3357820518:function(e,t){return new $C.IfcPropertySetDefinition(e,t[0],t[1],t[2],t[3])},3650150729:function(e,t){return new $C.IfcPropertySingleValue(e,t[0],t[1],t[2],t[3])},110355661:function(e,t){return new $C.IfcPropertyTableValue(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6])},3615266464:function(e,t){return new $C.IfcRectangleProfileDef(e,t[0],t[1],t[2],t[3],t[4])},3413951693:function(e,t){return new $C.IfcRegularTimeSeries(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},3765753017:function(e,t){return new $C.IfcReinforcementDefinitionProperties(e,t[0],t[1],t[2],t[3],t[4],t[5])},478536968:function(e,t){return new $C.IfcRelationship(e,t[0],t[1],t[2],t[3])},2778083089:function(e,t){return new $C.IfcRoundedRectangleProfileDef(e,t[0],t[1],t[2],t[3],t[4],t[5])},1509187699:function(e,t){return new $C.IfcSectionedSpine(e,t[0],t[1],t[2])},2411513650:function(e,t){return new $C.IfcServiceLifeFactor(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},4124623270:function(e,t){return new $C.IfcShellBasedSurfaceModel(e,t[0])},2609359061:function(e,t){return new $C.IfcSlippageConnectionCondition(e,t[0],t[1],t[2],t[3])},723233188:function(e,t){return new $C.IfcSolidModel(e)},2485662743:function(e,t){return new $C.IfcSoundProperties(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6])},1202362311:function(e,t){return new $C.IfcSoundValue(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6])},390701378:function(e,t){return new $C.IfcSpaceThermalLoadProperties(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12],t[13])},1595516126:function(e,t){return new $C.IfcStructuralLoadLinearForce(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6])},2668620305:function(e,t){return new $C.IfcStructuralLoadPlanarForce(e,t[0],t[1],t[2],t[3])},2473145415:function(e,t){return new $C.IfcStructuralLoadSingleDisplacement(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6])},1973038258:function(e,t){return new $C.IfcStructuralLoadSingleDisplacementDistortion(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},1597423693:function(e,t){return new $C.IfcStructuralLoadSingleForce(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6])},1190533807:function(e,t){return new $C.IfcStructuralLoadSingleForceWarping(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},3843319758:function(e,t){return new $C.IfcStructuralProfileProperties(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12],t[13],t[14],t[15],t[16],t[17],t[18],t[19],t[20],t[21],t[22])},3653947884:function(e,t){return new $C.IfcStructuralSteelProfileProperties(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12],t[13],t[14],t[15],t[16],t[17],t[18],t[19],t[20],t[21],t[22],t[23],t[24],t[25],t[26])},2233826070:function(e,t){return new $C.IfcSubedge(e,t[0],t[1],t[2])},2513912981:function(e,t){return new $C.IfcSurface(e)},1878645084:function(e,t){return new $C.IfcSurfaceStyleRendering(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},2247615214:function(e,t){return new $C.IfcSweptAreaSolid(e,t[0],t[1])},1260650574:function(e,t){return new $C.IfcSweptDiskSolid(e,t[0],t[1],t[2],t[3],t[4])},230924584:function(e,t){return new $C.IfcSweptSurface(e,t[0],t[1])},3071757647:function(e,t){return new $C.IfcTShapeProfileDef(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12])},3028897424:function(e,t){return new $C.IfcTerminatorSymbol(e,t[0],t[1],t[2],t[3])},4282788508:function(e,t){return new $C.IfcTextLiteral(e,t[0],t[1],t[2])},3124975700:function(e,t){return new $C.IfcTextLiteralWithExtent(e,t[0],t[1],t[2],t[3],t[4])},2715220739:function(e,t){return new $C.IfcTrapeziumProfileDef(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6])},1345879162:function(e,t){return new $C.IfcTwoDirectionRepeatFactor(e,t[0],t[1])},1628702193:function(e,t){return new $C.IfcTypeObject(e,t[0],t[1],t[2],t[3],t[4],t[5])},2347495698:function(e,t){return new $C.IfcTypeProduct(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},427810014:function(e,t){return new $C.IfcUShapeProfileDef(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10])},1417489154:function(e,t){return new $C.IfcVector(e,t[0],t[1])},2759199220:function(e,t){return new $C.IfcVertexLoop(e,t[0])},336235671:function(e,t){return new $C.IfcWindowLiningProperties(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12])},512836454:function(e,t){return new $C.IfcWindowPanelProperties(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},1299126871:function(e,t){return new $C.IfcWindowStyle(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11])},2543172580:function(e,t){return new $C.IfcZShapeProfileDef(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},3288037868:function(e,t){return new $C.IfcAnnotationCurveOccurrence(e,t[0],t[1],t[2])},669184980:function(e,t){return new $C.IfcAnnotationFillArea(e,t[0],t[1])},2265737646:function(e,t){return new $C.IfcAnnotationFillAreaOccurrence(e,t[0],t[1],t[2],t[3],t[4])},1302238472:function(e,t){return new $C.IfcAnnotationSurface(e,t[0],t[1])},4261334040:function(e,t){return new $C.IfcAxis1Placement(e,t[0],t[1])},3125803723:function(e,t){return new $C.IfcAxis2Placement2D(e,t[0],t[1])},2740243338:function(e,t){return new $C.IfcAxis2Placement3D(e,t[0],t[1],t[2])},2736907675:function(e,t){return new $C.IfcBooleanResult(e,t[0],t[1],t[2])},4182860854:function(e,t){return new $C.IfcBoundedSurface(e)},2581212453:function(e,t){return new $C.IfcBoundingBox(e,t[0],t[1],t[2],t[3])},2713105998:function(e,t){return new $C.IfcBoxedHalfSpace(e,t[0],t[1],t[2])},2898889636:function(e,t){return new $C.IfcCShapeProfileDef(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},1123145078:function(e,t){return new $C.IfcCartesianPoint(e,t[0])},59481748:function(e,t){return new $C.IfcCartesianTransformationOperator(e,t[0],t[1],t[2],t[3])},3749851601:function(e,t){return new $C.IfcCartesianTransformationOperator2D(e,t[0],t[1],t[2],t[3])},3486308946:function(e,t){return new $C.IfcCartesianTransformationOperator2DnonUniform(e,t[0],t[1],t[2],t[3],t[4])},3331915920:function(e,t){return new $C.IfcCartesianTransformationOperator3D(e,t[0],t[1],t[2],t[3],t[4])},1416205885:function(e,t){return new $C.IfcCartesianTransformationOperator3DnonUniform(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6])},1383045692:function(e,t){return new $C.IfcCircleProfileDef(e,t[0],t[1],t[2],t[3])},2205249479:function(e,t){return new $C.IfcClosedShell(e,t[0])},2485617015:function(e,t){return new $C.IfcCompositeCurveSegment(e,t[0],t[1],t[2])},4133800736:function(e,t){return new $C.IfcCraneRailAShapeProfileDef(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12],t[13],t[14])},194851669:function(e,t){return new $C.IfcCraneRailFShapeProfileDef(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11])},2506170314:function(e,t){return new $C.IfcCsgPrimitive3D(e,t[0])},2147822146:function(e,t){return new $C.IfcCsgSolid(e,t[0])},2601014836:function(e,t){return new $C.IfcCurve(e)},2827736869:function(e,t){return new $C.IfcCurveBoundedPlane(e,t[0],t[1],t[2])},693772133:function(e,t){return new $C.IfcDefinedSymbol(e,t[0],t[1])},606661476:function(e,t){return new $C.IfcDimensionCurve(e,t[0],t[1],t[2])},4054601972:function(e,t){return new $C.IfcDimensionCurveTerminator(e,t[0],t[1],t[2],t[3],t[4])},32440307:function(e,t){return new $C.IfcDirection(e,t[0])},2963535650:function(e,t){return new $C.IfcDoorLiningProperties(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12],t[13],t[14])},1714330368:function(e,t){return new $C.IfcDoorPanelProperties(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},526551008:function(e,t){return new $C.IfcDoorStyle(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11])},3073041342:function(e,t){return new $C.IfcDraughtingCallout(e,t[0])},445594917:function(e,t){return new $C.IfcDraughtingPreDefinedColour(e,t[0])},4006246654:function(e,t){return new $C.IfcDraughtingPreDefinedCurveFont(e,t[0])},1472233963:function(e,t){return new $C.IfcEdgeLoop(e,t[0])},1883228015:function(e,t){return new $C.IfcElementQuantity(e,t[0],t[1],t[2],t[3],t[4],t[5])},339256511:function(e,t){return new $C.IfcElementType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},2777663545:function(e,t){return new $C.IfcElementarySurface(e,t[0])},2835456948:function(e,t){return new $C.IfcEllipseProfileDef(e,t[0],t[1],t[2],t[3],t[4])},80994333:function(e,t){return new $C.IfcEnergyProperties(e,t[0],t[1],t[2],t[3],t[4],t[5])},477187591:function(e,t){return new $C.IfcExtrudedAreaSolid(e,t[0],t[1],t[2],t[3])},2047409740:function(e,t){return new $C.IfcFaceBasedSurfaceModel(e,t[0])},374418227:function(e,t){return new $C.IfcFillAreaStyleHatching(e,t[0],t[1],t[2],t[3],t[4])},4203026998:function(e,t){return new $C.IfcFillAreaStyleTileSymbolWithStyle(e,t[0])},315944413:function(e,t){return new $C.IfcFillAreaStyleTiles(e,t[0],t[1],t[2])},3455213021:function(e,t){return new $C.IfcFluidFlowProperties(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12],t[13],t[14],t[15],t[16],t[17],t[18])},4238390223:function(e,t){return new $C.IfcFurnishingElementType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},1268542332:function(e,t){return new $C.IfcFurnitureType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},987898635:function(e,t){return new $C.IfcGeometricCurveSet(e,t[0])},1484403080:function(e,t){return new $C.IfcIShapeProfileDef(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},572779678:function(e,t){return new $C.IfcLShapeProfileDef(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10])},1281925730:function(e,t){return new $C.IfcLine(e,t[0],t[1])},1425443689:function(e,t){return new $C.IfcManifoldSolidBrep(e,t[0])},3888040117:function(e,t){return new $C.IfcObject(e,t[0],t[1],t[2],t[3],t[4])},3388369263:function(e,t){return new $C.IfcOffsetCurve2D(e,t[0],t[1],t[2])},3505215534:function(e,t){return new $C.IfcOffsetCurve3D(e,t[0],t[1],t[2],t[3])},3566463478:function(e,t){return new $C.IfcPermeableCoveringProperties(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},603570806:function(e,t){return new $C.IfcPlanarBox(e,t[0],t[1],t[2])},220341763:function(e,t){return new $C.IfcPlane(e,t[0])},2945172077:function(e,t){return new $C.IfcProcess(e,t[0],t[1],t[2],t[3],t[4])},4208778838:function(e,t){return new $C.IfcProduct(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6])},103090709:function(e,t){return new $C.IfcProject(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},4194566429:function(e,t){return new $C.IfcProjectionCurve(e,t[0],t[1],t[2])},1451395588:function(e,t){return new $C.IfcPropertySet(e,t[0],t[1],t[2],t[3],t[4])},3219374653:function(e,t){return new $C.IfcProxy(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},2770003689:function(e,t){return new $C.IfcRectangleHollowProfileDef(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},2798486643:function(e,t){return new $C.IfcRectangularPyramid(e,t[0],t[1],t[2],t[3])},3454111270:function(e,t){return new $C.IfcRectangularTrimmedSurface(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6])},3939117080:function(e,t){return new $C.IfcRelAssigns(e,t[0],t[1],t[2],t[3],t[4],t[5])},1683148259:function(e,t){return new $C.IfcRelAssignsToActor(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},2495723537:function(e,t){return new $C.IfcRelAssignsToControl(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6])},1307041759:function(e,t){return new $C.IfcRelAssignsToGroup(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6])},4278684876:function(e,t){return new $C.IfcRelAssignsToProcess(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},2857406711:function(e,t){return new $C.IfcRelAssignsToProduct(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6])},3372526763:function(e,t){return new $C.IfcRelAssignsToProjectOrder(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6])},205026976:function(e,t){return new $C.IfcRelAssignsToResource(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6])},1865459582:function(e,t){return new $C.IfcRelAssociates(e,t[0],t[1],t[2],t[3],t[4])},1327628568:function(e,t){return new $C.IfcRelAssociatesAppliedValue(e,t[0],t[1],t[2],t[3],t[4],t[5])},4095574036:function(e,t){return new $C.IfcRelAssociatesApproval(e,t[0],t[1],t[2],t[3],t[4],t[5])},919958153:function(e,t){return new $C.IfcRelAssociatesClassification(e,t[0],t[1],t[2],t[3],t[4],t[5])},2728634034:function(e,t){return new $C.IfcRelAssociatesConstraint(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6])},982818633:function(e,t){return new $C.IfcRelAssociatesDocument(e,t[0],t[1],t[2],t[3],t[4],t[5])},3840914261:function(e,t){return new $C.IfcRelAssociatesLibrary(e,t[0],t[1],t[2],t[3],t[4],t[5])},2655215786:function(e,t){return new $C.IfcRelAssociatesMaterial(e,t[0],t[1],t[2],t[3],t[4],t[5])},2851387026:function(e,t){return new $C.IfcRelAssociatesProfileProperties(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},826625072:function(e,t){return new $C.IfcRelConnects(e,t[0],t[1],t[2],t[3])},1204542856:function(e,t){return new $C.IfcRelConnectsElements(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6])},3945020480:function(e,t){return new $C.IfcRelConnectsPathElements(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10])},4201705270:function(e,t){return new $C.IfcRelConnectsPortToElement(e,t[0],t[1],t[2],t[3],t[4],t[5])},3190031847:function(e,t){return new $C.IfcRelConnectsPorts(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6])},2127690289:function(e,t){return new $C.IfcRelConnectsStructuralActivity(e,t[0],t[1],t[2],t[3],t[4],t[5])},3912681535:function(e,t){return new $C.IfcRelConnectsStructuralElement(e,t[0],t[1],t[2],t[3],t[4],t[5])},1638771189:function(e,t){return new $C.IfcRelConnectsStructuralMember(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},504942748:function(e,t){return new $C.IfcRelConnectsWithEccentricity(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10])},3678494232:function(e,t){return new $C.IfcRelConnectsWithRealizingElements(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},3242617779:function(e,t){return new $C.IfcRelContainedInSpatialStructure(e,t[0],t[1],t[2],t[3],t[4],t[5])},886880790:function(e,t){return new $C.IfcRelCoversBldgElements(e,t[0],t[1],t[2],t[3],t[4],t[5])},2802773753:function(e,t){return new $C.IfcRelCoversSpaces(e,t[0],t[1],t[2],t[3],t[4],t[5])},2551354335:function(e,t){return new $C.IfcRelDecomposes(e,t[0],t[1],t[2],t[3],t[4],t[5])},693640335:function(e,t){return new $C.IfcRelDefines(e,t[0],t[1],t[2],t[3],t[4])},4186316022:function(e,t){return new $C.IfcRelDefinesByProperties(e,t[0],t[1],t[2],t[3],t[4],t[5])},781010003:function(e,t){return new $C.IfcRelDefinesByType(e,t[0],t[1],t[2],t[3],t[4],t[5])},3940055652:function(e,t){return new $C.IfcRelFillsElement(e,t[0],t[1],t[2],t[3],t[4],t[5])},279856033:function(e,t){return new $C.IfcRelFlowControlElements(e,t[0],t[1],t[2],t[3],t[4],t[5])},4189434867:function(e,t){return new $C.IfcRelInteractionRequirements(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},3268803585:function(e,t){return new $C.IfcRelNests(e,t[0],t[1],t[2],t[3],t[4],t[5])},2051452291:function(e,t){return new $C.IfcRelOccupiesSpaces(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},202636808:function(e,t){return new $C.IfcRelOverridesProperties(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6])},750771296:function(e,t){return new $C.IfcRelProjectsElement(e,t[0],t[1],t[2],t[3],t[4],t[5])},1245217292:function(e,t){return new $C.IfcRelReferencedInSpatialStructure(e,t[0],t[1],t[2],t[3],t[4],t[5])},1058617721:function(e,t){return new $C.IfcRelSchedulesCostItems(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6])},4122056220:function(e,t){return new $C.IfcRelSequence(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},366585022:function(e,t){return new $C.IfcRelServicesBuildings(e,t[0],t[1],t[2],t[3],t[4],t[5])},3451746338:function(e,t){return new $C.IfcRelSpaceBoundary(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},1401173127:function(e,t){return new $C.IfcRelVoidsElement(e,t[0],t[1],t[2],t[3],t[4],t[5])},2914609552:function(e,t){return new $C.IfcResource(e,t[0],t[1],t[2],t[3],t[4])},1856042241:function(e,t){return new $C.IfcRevolvedAreaSolid(e,t[0],t[1],t[2],t[3])},4158566097:function(e,t){return new $C.IfcRightCircularCone(e,t[0],t[1],t[2])},3626867408:function(e,t){return new $C.IfcRightCircularCylinder(e,t[0],t[1],t[2])},2706606064:function(e,t){return new $C.IfcSpatialStructureElement(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},3893378262:function(e,t){return new $C.IfcSpatialStructureElementType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},451544542:function(e,t){return new $C.IfcSphere(e,t[0],t[1])},3544373492:function(e,t){return new $C.IfcStructuralActivity(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},3136571912:function(e,t){return new $C.IfcStructuralItem(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6])},530289379:function(e,t){return new $C.IfcStructuralMember(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6])},3689010777:function(e,t){return new $C.IfcStructuralReaction(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},3979015343:function(e,t){return new $C.IfcStructuralSurfaceMember(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},2218152070:function(e,t){return new $C.IfcStructuralSurfaceMemberVarying(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10])},4070609034:function(e,t){return new $C.IfcStructuredDimensionCallout(e,t[0])},2028607225:function(e,t){return new $C.IfcSurfaceCurveSweptAreaSolid(e,t[0],t[1],t[2],t[3],t[4],t[5])},2809605785:function(e,t){return new $C.IfcSurfaceOfLinearExtrusion(e,t[0],t[1],t[2],t[3])},4124788165:function(e,t){return new $C.IfcSurfaceOfRevolution(e,t[0],t[1],t[2])},1580310250:function(e,t){return new $C.IfcSystemFurnitureElementType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},3473067441:function(e,t){return new $C.IfcTask(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},2097647324:function(e,t){return new $C.IfcTransportElementType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},2296667514:function(e,t){return new $C.IfcActor(e,t[0],t[1],t[2],t[3],t[4],t[5])},1674181508:function(e,t){return new $C.IfcAnnotation(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6])},3207858831:function(e,t){return new $C.IfcAsymmetricIShapeProfileDef(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11])},1334484129:function(e,t){return new $C.IfcBlock(e,t[0],t[1],t[2],t[3])},3649129432:function(e,t){return new $C.IfcBooleanClippingResult(e,t[0],t[1],t[2])},1260505505:function(e,t){return new $C.IfcBoundedCurve(e)},4031249490:function(e,t){return new $C.IfcBuilding(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11])},1950629157:function(e,t){return new $C.IfcBuildingElementType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},3124254112:function(e,t){return new $C.IfcBuildingStorey(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},2937912522:function(e,t){return new $C.IfcCircleHollowProfileDef(e,t[0],t[1],t[2],t[3],t[4])},300633059:function(e,t){return new $C.IfcColumnType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},3732776249:function(e,t){return new $C.IfcCompositeCurve(e,t[0],t[1])},2510884976:function(e,t){return new $C.IfcConic(e,t[0])},2559216714:function(e,t){return new $C.IfcConstructionResource(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},3293443760:function(e,t){return new $C.IfcControl(e,t[0],t[1],t[2],t[3],t[4])},3895139033:function(e,t){return new $C.IfcCostItem(e,t[0],t[1],t[2],t[3],t[4])},1419761937:function(e,t){return new $C.IfcCostSchedule(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12])},1916426348:function(e,t){return new $C.IfcCoveringType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},3295246426:function(e,t){return new $C.IfcCrewResource(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},1457835157:function(e,t){return new $C.IfcCurtainWallType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},681481545:function(e,t){return new $C.IfcDimensionCurveDirectedCallout(e,t[0])},3256556792:function(e,t){return new $C.IfcDistributionElementType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},3849074793:function(e,t){return new $C.IfcDistributionFlowElementType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},360485395:function(e,t){return new $C.IfcElectricalBaseProperties(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12],t[13])},1758889154:function(e,t){return new $C.IfcElement(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},4123344466:function(e,t){return new $C.IfcElementAssembly(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},1623761950:function(e,t){return new $C.IfcElementComponent(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},2590856083:function(e,t){return new $C.IfcElementComponentType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},1704287377:function(e,t){return new $C.IfcEllipse(e,t[0],t[1],t[2])},2107101300:function(e,t){return new $C.IfcEnergyConversionDeviceType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},1962604670:function(e,t){return new $C.IfcEquipmentElement(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},3272907226:function(e,t){return new $C.IfcEquipmentStandard(e,t[0],t[1],t[2],t[3],t[4])},3174744832:function(e,t){return new $C.IfcEvaporativeCoolerType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},3390157468:function(e,t){return new $C.IfcEvaporatorType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},807026263:function(e,t){return new $C.IfcFacetedBrep(e,t[0])},3737207727:function(e,t){return new $C.IfcFacetedBrepWithVoids(e,t[0],t[1])},647756555:function(e,t){return new $C.IfcFastener(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},2489546625:function(e,t){return new $C.IfcFastenerType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},2827207264:function(e,t){return new $C.IfcFeatureElement(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},2143335405:function(e,t){return new $C.IfcFeatureElementAddition(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},1287392070:function(e,t){return new $C.IfcFeatureElementSubtraction(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},3907093117:function(e,t){return new $C.IfcFlowControllerType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},3198132628:function(e,t){return new $C.IfcFlowFittingType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},3815607619:function(e,t){return new $C.IfcFlowMeterType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},1482959167:function(e,t){return new $C.IfcFlowMovingDeviceType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},1834744321:function(e,t){return new $C.IfcFlowSegmentType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},1339347760:function(e,t){return new $C.IfcFlowStorageDeviceType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},2297155007:function(e,t){return new $C.IfcFlowTerminalType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},3009222698:function(e,t){return new $C.IfcFlowTreatmentDeviceType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},263784265:function(e,t){return new $C.IfcFurnishingElement(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},814719939:function(e,t){return new $C.IfcFurnitureStandard(e,t[0],t[1],t[2],t[3],t[4])},200128114:function(e,t){return new $C.IfcGasTerminalType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},3009204131:function(e,t){return new $C.IfcGrid(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},2706460486:function(e,t){return new $C.IfcGroup(e,t[0],t[1],t[2],t[3],t[4])},1251058090:function(e,t){return new $C.IfcHeatExchangerType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},1806887404:function(e,t){return new $C.IfcHumidifierType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},2391368822:function(e,t){return new $C.IfcInventory(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10])},4288270099:function(e,t){return new $C.IfcJunctionBoxType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},3827777499:function(e,t){return new $C.IfcLaborResource(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},1051575348:function(e,t){return new $C.IfcLampType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},1161773419:function(e,t){return new $C.IfcLightFixtureType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},2506943328:function(e,t){return new $C.IfcLinearDimension(e,t[0])},377706215:function(e,t){return new $C.IfcMechanicalFastener(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},2108223431:function(e,t){return new $C.IfcMechanicalFastenerType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},3181161470:function(e,t){return new $C.IfcMemberType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},977012517:function(e,t){return new $C.IfcMotorConnectionType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},1916936684:function(e,t){return new $C.IfcMove(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12])},4143007308:function(e,t){return new $C.IfcOccupant(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6])},3588315303:function(e,t){return new $C.IfcOpeningElement(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},3425660407:function(e,t){return new $C.IfcOrderAction(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10])},2837617999:function(e,t){return new $C.IfcOutletType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},2382730787:function(e,t){return new $C.IfcPerformanceHistory(e,t[0],t[1],t[2],t[3],t[4],t[5])},3327091369:function(e,t){return new $C.IfcPermit(e,t[0],t[1],t[2],t[3],t[4],t[5])},804291784:function(e,t){return new $C.IfcPipeFittingType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},4231323485:function(e,t){return new $C.IfcPipeSegmentType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},4017108033:function(e,t){return new $C.IfcPlateType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},3724593414:function(e,t){return new $C.IfcPolyline(e,t[0])},3740093272:function(e,t){return new $C.IfcPort(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6])},2744685151:function(e,t){return new $C.IfcProcedure(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},2904328755:function(e,t){return new $C.IfcProjectOrder(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},3642467123:function(e,t){return new $C.IfcProjectOrderRecord(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6])},3651124850:function(e,t){return new $C.IfcProjectionElement(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},1842657554:function(e,t){return new $C.IfcProtectiveDeviceType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},2250791053:function(e,t){return new $C.IfcPumpType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},3248260540:function(e,t){return new $C.IfcRadiusDimension(e,t[0])},2893384427:function(e,t){return new $C.IfcRailingType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},2324767716:function(e,t){return new $C.IfcRampFlightType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},160246688:function(e,t){return new $C.IfcRelAggregates(e,t[0],t[1],t[2],t[3],t[4],t[5])},2863920197:function(e,t){return new $C.IfcRelAssignsTasks(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},1768891740:function(e,t){return new $C.IfcSanitaryTerminalType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},3517283431:function(e,t){return new $C.IfcScheduleTimeControl(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12],t[13],t[14],t[15],t[16],t[17],t[18],t[19],t[20],t[21],t[22])},4105383287:function(e,t){return new $C.IfcServiceLife(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6])},4097777520:function(e,t){return new $C.IfcSite(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12],t[13])},2533589738:function(e,t){return new $C.IfcSlabType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},3856911033:function(e,t){return new $C.IfcSpace(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10])},1305183839:function(e,t){return new $C.IfcSpaceHeaterType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},652456506:function(e,t){return new $C.IfcSpaceProgram(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},3812236995:function(e,t){return new $C.IfcSpaceType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},3112655638:function(e,t){return new $C.IfcStackTerminalType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},1039846685:function(e,t){return new $C.IfcStairFlightType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},682877961:function(e,t){return new $C.IfcStructuralAction(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10])},1179482911:function(e,t){return new $C.IfcStructuralConnection(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},4243806635:function(e,t){return new $C.IfcStructuralCurveConnection(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},214636428:function(e,t){return new $C.IfcStructuralCurveMember(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},2445595289:function(e,t){return new $C.IfcStructuralCurveMemberVarying(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},1807405624:function(e,t){return new $C.IfcStructuralLinearAction(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11])},1721250024:function(e,t){return new $C.IfcStructuralLinearActionVarying(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12],t[13])},1252848954:function(e,t){return new $C.IfcStructuralLoadGroup(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},1621171031:function(e,t){return new $C.IfcStructuralPlanarAction(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11])},3987759626:function(e,t){return new $C.IfcStructuralPlanarActionVarying(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12],t[13])},2082059205:function(e,t){return new $C.IfcStructuralPointAction(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10])},734778138:function(e,t){return new $C.IfcStructuralPointConnection(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},1235345126:function(e,t){return new $C.IfcStructuralPointReaction(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},2986769608:function(e,t){return new $C.IfcStructuralResultGroup(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},1975003073:function(e,t){return new $C.IfcStructuralSurfaceConnection(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},148013059:function(e,t){return new $C.IfcSubContractResource(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10])},2315554128:function(e,t){return new $C.IfcSwitchingDeviceType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},2254336722:function(e,t){return new $C.IfcSystem(e,t[0],t[1],t[2],t[3],t[4])},5716631:function(e,t){return new $C.IfcTankType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},1637806684:function(e,t){return new $C.IfcTimeSeriesSchedule(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},1692211062:function(e,t){return new $C.IfcTransformerType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},1620046519:function(e,t){return new $C.IfcTransportElement(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10])},3593883385:function(e,t){return new $C.IfcTrimmedCurve(e,t[0],t[1],t[2],t[3],t[4])},1600972822:function(e,t){return new $C.IfcTubeBundleType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},1911125066:function(e,t){return new $C.IfcUnitaryEquipmentType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},728799441:function(e,t){return new $C.IfcValveType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},2769231204:function(e,t){return new $C.IfcVirtualElement(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},1898987631:function(e,t){return new $C.IfcWallType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},1133259667:function(e,t){return new $C.IfcWasteTerminalType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},1028945134:function(e,t){return new $C.IfcWorkControl(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12],t[13],t[14])},4218914973:function(e,t){return new $C.IfcWorkPlan(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12],t[13],t[14])},3342526732:function(e,t){return new $C.IfcWorkSchedule(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12],t[13],t[14])},1033361043:function(e,t){return new $C.IfcZone(e,t[0],t[1],t[2],t[3],t[4])},1213861670:function(e,t){return new $C.Ifc2DCompositeCurve(e,t[0],t[1])},3821786052:function(e,t){return new $C.IfcActionRequest(e,t[0],t[1],t[2],t[3],t[4],t[5])},1411407467:function(e,t){return new $C.IfcAirTerminalBoxType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},3352864051:function(e,t){return new $C.IfcAirTerminalType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},1871374353:function(e,t){return new $C.IfcAirToAirHeatRecoveryType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},2470393545:function(e,t){return new $C.IfcAngularDimension(e,t[0])},3460190687:function(e,t){return new $C.IfcAsset(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12],t[13])},1967976161:function(e,t){return new $C.IfcBSplineCurve(e,t[0],t[1],t[2],t[3],t[4])},819618141:function(e,t){return new $C.IfcBeamType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},1916977116:function(e,t){return new $C.IfcBezierCurve(e,t[0],t[1],t[2],t[3],t[4])},231477066:function(e,t){return new $C.IfcBoilerType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},3299480353:function(e,t){return new $C.IfcBuildingElement(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},52481810:function(e,t){return new $C.IfcBuildingElementComponent(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},2979338954:function(e,t){return new $C.IfcBuildingElementPart(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},1095909175:function(e,t){return new $C.IfcBuildingElementProxy(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},1909888760:function(e,t){return new $C.IfcBuildingElementProxyType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},395041908:function(e,t){return new $C.IfcCableCarrierFittingType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},3293546465:function(e,t){return new $C.IfcCableCarrierSegmentType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},1285652485:function(e,t){return new $C.IfcCableSegmentType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},2951183804:function(e,t){return new $C.IfcChillerType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},2611217952:function(e,t){return new $C.IfcCircle(e,t[0],t[1])},2301859152:function(e,t){return new $C.IfcCoilType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},843113511:function(e,t){return new $C.IfcColumn(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},3850581409:function(e,t){return new $C.IfcCompressorType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},2816379211:function(e,t){return new $C.IfcCondenserType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},2188551683:function(e,t){return new $C.IfcCondition(e,t[0],t[1],t[2],t[3],t[4])},1163958913:function(e,t){return new $C.IfcConditionCriterion(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6])},3898045240:function(e,t){return new $C.IfcConstructionEquipmentResource(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},1060000209:function(e,t){return new $C.IfcConstructionMaterialResource(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10])},488727124:function(e,t){return new $C.IfcConstructionProductResource(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},335055490:function(e,t){return new $C.IfcCooledBeamType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},2954562838:function(e,t){return new $C.IfcCoolingTowerType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},1973544240:function(e,t){return new $C.IfcCovering(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},3495092785:function(e,t){return new $C.IfcCurtainWall(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},3961806047:function(e,t){return new $C.IfcDamperType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},4147604152:function(e,t){return new $C.IfcDiameterDimension(e,t[0])},1335981549:function(e,t){return new $C.IfcDiscreteAccessory(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},2635815018:function(e,t){return new $C.IfcDiscreteAccessoryType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},1599208980:function(e,t){return new $C.IfcDistributionChamberElementType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},2063403501:function(e,t){return new $C.IfcDistributionControlElementType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},1945004755:function(e,t){return new $C.IfcDistributionElement(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},3040386961:function(e,t){return new $C.IfcDistributionFlowElement(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},3041715199:function(e,t){return new $C.IfcDistributionPort(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},395920057:function(e,t){return new $C.IfcDoor(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},869906466:function(e,t){return new $C.IfcDuctFittingType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},3760055223:function(e,t){return new $C.IfcDuctSegmentType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},2030761528:function(e,t){return new $C.IfcDuctSilencerType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},855621170:function(e,t){return new $C.IfcEdgeFeature(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},663422040:function(e,t){return new $C.IfcElectricApplianceType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},3277789161:function(e,t){return new $C.IfcElectricFlowStorageDeviceType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},1534661035:function(e,t){return new $C.IfcElectricGeneratorType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},1365060375:function(e,t){return new $C.IfcElectricHeaterType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},1217240411:function(e,t){return new $C.IfcElectricMotorType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},712377611:function(e,t){return new $C.IfcElectricTimeControlType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},1634875225:function(e,t){return new $C.IfcElectricalCircuit(e,t[0],t[1],t[2],t[3],t[4])},857184966:function(e,t){return new $C.IfcElectricalElement(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},1658829314:function(e,t){return new $C.IfcEnergyConversionDevice(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},346874300:function(e,t){return new $C.IfcFanType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},1810631287:function(e,t){return new $C.IfcFilterType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},4222183408:function(e,t){return new $C.IfcFireSuppressionTerminalType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},2058353004:function(e,t){return new $C.IfcFlowController(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},4278956645:function(e,t){return new $C.IfcFlowFitting(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},4037862832:function(e,t){return new $C.IfcFlowInstrumentType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},3132237377:function(e,t){return new $C.IfcFlowMovingDevice(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},987401354:function(e,t){return new $C.IfcFlowSegment(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},707683696:function(e,t){return new $C.IfcFlowStorageDevice(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},2223149337:function(e,t){return new $C.IfcFlowTerminal(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},3508470533:function(e,t){return new $C.IfcFlowTreatmentDevice(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},900683007:function(e,t){return new $C.IfcFooting(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},1073191201:function(e,t){return new $C.IfcMember(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},1687234759:function(e,t){return new $C.IfcPile(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},3171933400:function(e,t){return new $C.IfcPlate(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},2262370178:function(e,t){return new $C.IfcRailing(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},3024970846:function(e,t){return new $C.IfcRamp(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},3283111854:function(e,t){return new $C.IfcRampFlight(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},3055160366:function(e,t){return new $C.IfcRationalBezierCurve(e,t[0],t[1],t[2],t[3],t[4],t[5])},3027567501:function(e,t){return new $C.IfcReinforcingElement(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},2320036040:function(e,t){return new $C.IfcReinforcingMesh(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12],t[13],t[14],t[15],t[16])},2016517767:function(e,t){return new $C.IfcRoof(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},1376911519:function(e,t){return new $C.IfcRoundedEdgeFeature(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},1783015770:function(e,t){return new $C.IfcSensorType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},1529196076:function(e,t){return new $C.IfcSlab(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},331165859:function(e,t){return new $C.IfcStair(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},4252922144:function(e,t){return new $C.IfcStairFlight(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11])},2515109513:function(e,t){return new $C.IfcStructuralAnalysisModel(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},3824725483:function(e,t){return new $C.IfcTendon(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12],t[13],t[14],t[15],t[16])},2347447852:function(e,t){return new $C.IfcTendonAnchor(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},3313531582:function(e,t){return new $C.IfcVibrationIsolatorType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},2391406946:function(e,t){return new $C.IfcWall(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},3512223829:function(e,t){return new $C.IfcWallStandardCase(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},3304561284:function(e,t){return new $C.IfcWindow(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},2874132201:function(e,t){return new $C.IfcActuatorType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},3001207471:function(e,t){return new $C.IfcAlarmType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},753842376:function(e,t){return new $C.IfcBeam(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},2454782716:function(e,t){return new $C.IfcChamferEdgeFeature(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10])},578613899:function(e,t){return new $C.IfcControllerType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},1052013943:function(e,t){return new $C.IfcDistributionChamberElement(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},1062813311:function(e,t){return new $C.IfcDistributionControlElement(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},3700593921:function(e,t){return new $C.IfcElectricDistributionPoint(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},979691226:function(e,t){return new $C.IfcReinforcingBar(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12],t[13])}},Q_[1]={3630933823:function(e){return[e.Role,e.UserDefinedRole,e.Description]},618182010:function(e){return[e.Purpose,e.Description,e.UserDefinedPurpose]},639542469:function(e){return[e.ApplicationDeveloper,e.Version,e.ApplicationFullName,e.ApplicationIdentifier]},411424972:function(e){return[e.Name,e.Description,e.AppliedValue,e.UnitBasis,e.ApplicableDate,e.FixedUntilDate]},1110488051:function(e){return[e.ComponentOfTotal,e.Components,e.ArithmeticOperator,e.Name,e.Description]},130549933:function(e){return[e.Description,e.ApprovalDateTime,e.ApprovalStatus,e.ApprovalLevel,e.ApprovalQualifier,e.Name,e.Identifier]},2080292479:function(e){return[e.Actor,e.Approval,e.Role]},390851274:function(e){return[e.ApprovedProperties,e.Approval]},3869604511:function(e){return[e.RelatedApproval,e.RelatingApproval,e.Description,e.Name]},4037036970:function(e){return[e.Name]},1560379544:function(e){return[e.Name,e.LinearStiffnessByLengthX,e.LinearStiffnessByLengthY,e.LinearStiffnessByLengthZ,e.RotationalStiffnessByLengthX,e.RotationalStiffnessByLengthY,e.RotationalStiffnessByLengthZ]},3367102660:function(e){return[e.Name,e.LinearStiffnessByAreaX,e.LinearStiffnessByAreaY,e.LinearStiffnessByAreaZ]},1387855156:function(e){return[e.Name,e.LinearStiffnessX,e.LinearStiffnessY,e.LinearStiffnessZ,e.RotationalStiffnessX,e.RotationalStiffnessY,e.RotationalStiffnessZ]},2069777674:function(e){return[e.Name,e.LinearStiffnessX,e.LinearStiffnessY,e.LinearStiffnessZ,e.RotationalStiffnessX,e.RotationalStiffnessY,e.RotationalStiffnessZ,e.WarpingStiffness]},622194075:function(e){return[e.DayComponent,e.MonthComponent,e.YearComponent]},747523909:function(e){return[e.Source,e.Edition,e.EditionDate,e.Name]},1767535486:function(e){return[e.Notation,e.ItemOf,e.Title]},1098599126:function(e){return[e.RelatingItem,e.RelatedItems]},938368621:function(e){return[e.NotationFacets]},3639012971:function(e){return[e.NotationValue]},3264961684:function(e){return[e.Name]},2859738748:function(e){return[]},2614616156:function(e){return[e.PointOnRelatingElement,e.PointOnRelatedElement]},4257277454:function(e){return[e.LocationAtRelatingElement,e.LocationAtRelatedElement,e.ProfileOfPort]},2732653382:function(e){return[e.SurfaceOnRelatingElement,e.SurfaceOnRelatedElement]},1959218052:function(e){return[e.Name,e.Description,e.ConstraintGrade,e.ConstraintSource,e.CreatingActor,e.CreationTime,e.UserDefinedGrade]},1658513725:function(e){return[e.Name,e.Description,e.RelatingConstraint,e.RelatedConstraints,e.LogicalAggregator]},613356794:function(e){return[e.ClassifiedConstraint,e.RelatedClassifications]},347226245:function(e){return[e.Name,e.Description,e.RelatingConstraint,e.RelatedConstraints]},1065062679:function(e){return[e.HourOffset,e.MinuteOffset,e.Sense]},602808272:function(e){return[e.Name,e.Description,e.AppliedValue,e.UnitBasis,e.ApplicableDate,e.FixedUntilDate,e.CostType,e.Condition]},539742890:function(e){return[e.RelatingMonetaryUnit,e.RelatedMonetaryUnit,e.ExchangeRate,e.RateDateTime,e.RateSource]},1105321065:function(e){return[e.Name,e.PatternList]},2367409068:function(e){return[e.Name,e.CurveFont,e.CurveFontScaling]},3510044353:function(e){return[e.VisibleSegmentLength,e.InvisibleSegmentLength]},1072939445:function(e){return[e.DateComponent,e.TimeComponent]},1765591967:function(e){return[e.Elements,e.UnitType,e.UserDefinedType]},1045800335:function(e){return[e.Unit,e.Exponent]},2949456006:function(e){return[e.LengthExponent,e.MassExponent,e.TimeExponent,e.ElectricCurrentExponent,e.ThermodynamicTemperatureExponent,e.AmountOfSubstanceExponent,e.LuminousIntensityExponent]},1376555844:function(e){return[e.FileExtension,e.MimeContentType,e.MimeSubtype]},1154170062:function(e){return[e.DocumentId,e.Name,e.Description,e.DocumentReferences,e.Purpose,e.IntendedUse,e.Scope,e.Revision,e.DocumentOwner,e.Editors,e.CreationTime,e.LastRevisionTime,e.ElectronicFormat,e.ValidFrom,e.ValidUntil,e.Confidentiality,e.Status]},770865208:function(e){return[e.RelatingDocument,e.RelatedDocuments,e.RelationshipType]},3796139169:function(e){return[e.Name,e.Description,e.RelatingDraughtingCallout,e.RelatedDraughtingCallout]},1648886627:function(e){return[e.Name,e.Description,e.AppliedValue,e.UnitBasis,e.ApplicableDate,e.FixedUntilDate,e.ImpactType,e.Category,e.UserDefinedCategory]},3200245327:function(e){return[e.Location,e.ItemReference,e.Name]},2242383968:function(e){return[e.Location,e.ItemReference,e.Name]},1040185647:function(e){return[e.Location,e.ItemReference,e.Name]},3207319532:function(e){return[e.Location,e.ItemReference,e.Name]},3548104201:function(e){return[e.Location,e.ItemReference,e.Name]},852622518:function(e){var t;return[e.AxisTag,e.AxisCurve,null==(t=e.SameSense)?void 0:t.toString()]},3020489413:function(e){return[e.TimeStamp,e.ListValues.map((function(e){return Y_(e)}))]},2655187982:function(e){return[e.Name,e.Version,e.Publisher,e.VersionDate,e.LibraryReference]},3452421091:function(e){return[e.Location,e.ItemReference,e.Name]},4162380809:function(e){return[e.MainPlaneAngle,e.SecondaryPlaneAngle,e.LuminousIntensity]},1566485204:function(e){return[e.LightDistributionCurve,e.DistributionData]},30780891:function(e){return[e.HourComponent,e.MinuteComponent,e.SecondComponent,e.Zone,e.DaylightSavingOffset]},1838606355:function(e){return[e.Name]},1847130766:function(e){return[e.MaterialClassifications,e.ClassifiedMaterial]},248100487:function(e){var t;return[e.Material,e.LayerThickness,null==(t=e.IsVentilated)?void 0:t.toString()]},3303938423:function(e){return[e.MaterialLayers,e.LayerSetName]},1303795690:function(e){return[e.ForLayerSet,e.LayerSetDirection,e.DirectionSense,e.OffsetFromReferenceLine]},2199411900:function(e){return[e.Materials]},3265635763:function(e){return[e.Material]},2597039031:function(e){return[Y_(e.ValueComponent),e.UnitComponent]},4256014907:function(e){return[e.Material,e.DynamicViscosity,e.YoungModulus,e.ShearModulus,e.PoissonRatio,e.ThermalExpansionCoefficient]},677618848:function(e){return[e.Material,e.DynamicViscosity,e.YoungModulus,e.ShearModulus,e.PoissonRatio,e.ThermalExpansionCoefficient,e.YieldStress,e.UltimateStress,e.UltimateStrain,e.HardeningModule,e.ProportionalStress,e.PlasticStrain,e.Relaxations]},3368373690:function(e){return[e.Name,e.Description,e.ConstraintGrade,e.ConstraintSource,e.CreatingActor,e.CreationTime,e.UserDefinedGrade,e.Benchmark,e.ValueSource,e.DataValue]},2706619895:function(e){return[e.Currency]},1918398963:function(e){return[e.Dimensions,e.UnitType]},3701648758:function(e){return[]},2251480897:function(e){return[e.Name,e.Description,e.ConstraintGrade,e.ConstraintSource,e.CreatingActor,e.CreationTime,e.UserDefinedGrade,e.BenchmarkValues,e.ResultValues,e.ObjectiveQualifier,e.UserDefinedQualifier]},1227763645:function(e){return[e.Material,e.VisibleTransmittance,e.SolarTransmittance,e.ThermalIrTransmittance,e.ThermalIrEmissivityBack,e.ThermalIrEmissivityFront,e.VisibleReflectanceBack,e.VisibleReflectanceFront,e.SolarReflectanceFront,e.SolarReflectanceBack]},4251960020:function(e){return[e.Id,e.Name,e.Description,e.Roles,e.Addresses]},1411181986:function(e){return[e.Name,e.Description,e.RelatingOrganization,e.RelatedOrganizations]},1207048766:function(e){return[e.OwningUser,e.OwningApplication,e.State,e.ChangeAction,e.LastModifiedDate,e.LastModifyingUser,e.LastModifyingApplication,e.CreationDate]},2077209135:function(e){return[e.Id,e.FamilyName,e.GivenName,e.MiddleNames,e.PrefixTitles,e.SuffixTitles,e.Roles,e.Addresses]},101040310:function(e){return[e.ThePerson,e.TheOrganization,e.Roles]},2483315170:function(e){return[e.Name,e.Description]},2226359599:function(e){return[e.Name,e.Description,e.Unit]},3355820592:function(e){return[e.Purpose,e.Description,e.UserDefinedPurpose,e.InternalLocation,e.AddressLines,e.PostalBox,e.Town,e.Region,e.PostalCode,e.Country]},3727388367:function(e){return[e.Name]},990879717:function(e){return[e.Name]},3213052703:function(e){return[e.Name]},1775413392:function(e){return[e.Name]},2022622350:function(e){return[e.Name,e.Description,e.AssignedItems,e.Identifier]},1304840413:function(e){return[e.Name,e.Description,e.AssignedItems,e.Identifier,e.LayerOn,e.LayerFrozen,e.LayerBlocked,e.LayerStyles]},3119450353:function(e){return[e.Name]},2417041796:function(e){return[e.Styles]},2095639259:function(e){return[e.Name,e.Description,e.Representations]},2267347899:function(e){return[e.Material,e.SpecificHeatCapacity,e.N20Content,e.COContent,e.CO2Content]},3958567839:function(e){return[e.ProfileType,e.ProfileName]},2802850158:function(e){return[e.ProfileName,e.ProfileDefinition]},2598011224:function(e){return[e.Name,e.Description]},3896028662:function(e){return[e.RelatingConstraint,e.RelatedProperties,e.Name,e.Description]},148025276:function(e){return[e.DependingProperty,e.DependantProperty,e.Name,e.Description,e.Expression]},3710013099:function(e){return[e.Name,e.EnumerationValues.map((function(e){return Y_(e)})),e.Unit]},2044713172:function(e){return[e.Name,e.Description,e.Unit,e.AreaValue]},2093928680:function(e){return[e.Name,e.Description,e.Unit,e.CountValue]},931644368:function(e){return[e.Name,e.Description,e.Unit,e.LengthValue]},3252649465:function(e){return[e.Name,e.Description,e.Unit,e.TimeValue]},2405470396:function(e){return[e.Name,e.Description,e.Unit,e.VolumeValue]},825690147:function(e){return[e.Name,e.Description,e.Unit,e.WeightValue]},2692823254:function(e){return[e.ReferencedDocument,e.ReferencingValues,e.Name,e.Description]},1580146022:function(e){return[e.TotalCrossSectionArea,e.SteelGrade,e.BarSurface,e.EffectiveDepth,e.NominalBarDiameter,e.BarCount]},1222501353:function(e){return[e.RelaxationValue,e.InitialStress]},1076942058:function(e){return[e.ContextOfItems,e.RepresentationIdentifier,e.RepresentationType,e.Items]},3377609919:function(e){return[e.ContextIdentifier,e.ContextType]},3008791417:function(e){return[]},1660063152:function(e){return[e.MappingOrigin,e.MappedRepresentation]},3679540991:function(e){return[e.ProfileName,e.ProfileDefinition,e.Thickness,e.RibHeight,e.RibWidth,e.RibSpacing,e.Direction]},2341007311:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description]},448429030:function(e){return[e.Dimensions,e.UnitType,e.Prefix,e.Name]},2042790032:function(e){return[e.SectionType,e.StartProfile,e.EndProfile]},4165799628:function(e){return[e.LongitudinalStartPosition,e.LongitudinalEndPosition,e.TransversePosition,e.ReinforcementRole,e.SectionDefinition,e.CrossSectionReinforcementDefinitions]},867548509:function(e){return[e.ShapeRepresentations,e.Name,e.Description,e.ProductDefinitional,e.PartOfProductDefinitionShape]},3982875396:function(e){return[e.ContextOfItems,e.RepresentationIdentifier,e.RepresentationType,e.Items]},4240577450:function(e){return[e.ContextOfItems,e.RepresentationIdentifier,e.RepresentationType,e.Items]},3692461612:function(e){return[e.Name,e.Description]},2273995522:function(e){return[e.Name]},2162789131:function(e){return[e.Name]},2525727697:function(e){return[e.Name]},3408363356:function(e){return[e.Name,e.DeltaT_Constant,e.DeltaT_Y,e.DeltaT_Z]},2830218821:function(e){return[e.ContextOfItems,e.RepresentationIdentifier,e.RepresentationType,e.Items]},3958052878:function(e){return[e.Item,e.Styles,e.Name]},3049322572:function(e){return[e.ContextOfItems,e.RepresentationIdentifier,e.RepresentationType,e.Items]},1300840506:function(e){return[e.Name,e.Side,e.Styles]},3303107099:function(e){return[e.DiffuseTransmissionColour,e.DiffuseReflectionColour,e.TransmissionColour,e.ReflectanceColour]},1607154358:function(e){return[e.RefractionIndex,e.DispersionFactor]},846575682:function(e){return[e.SurfaceColour]},1351298697:function(e){return[e.Textures]},626085974:function(e){return[e.RepeatS,e.RepeatT,e.TextureType,e.TextureTransform]},1290481447:function(e){return[e.Name,Y_(e.StyleOfSymbol)]},985171141:function(e){return[e.Name,e.Rows]},531007025:function(e){return[e.RowCells.map((function(e){return Y_(e)})),e.IsHeading]},912023232:function(e){return[e.Purpose,e.Description,e.UserDefinedPurpose,e.TelephoneNumbers,e.FacsimileNumbers,e.PagerNumber,e.ElectronicMailAddresses,e.WWWHomePageURL]},1447204868:function(e){return[e.Name,e.TextCharacterAppearance,e.TextStyle,e.TextFontStyle]},1983826977:function(e){return[e.Name,e.FontFamily,e.FontStyle,e.FontVariant,e.FontWeight,Y_(e.FontSize)]},2636378356:function(e){return[e.Colour,e.BackgroundColour]},1640371178:function(e){return[e.TextIndent?Y_(e.TextIndent):null,e.TextAlign,e.TextDecoration,e.LetterSpacing?Y_(e.LetterSpacing):null,e.WordSpacing?Y_(e.WordSpacing):null,e.TextTransform,e.LineHeight?Y_(e.LineHeight):null]},1484833681:function(e){return[e.BoxHeight,e.BoxWidth,e.BoxSlantAngle,e.BoxRotateAngle,e.CharacterSpacing?Y_(e.CharacterSpacing):null]},280115917:function(e){return[]},1742049831:function(e){return[e.Mode,e.Parameter.map((function(e){return Y_(e)}))]},2552916305:function(e){return[e.TextureMaps]},1210645708:function(e){return[e.Coordinates]},3317419933:function(e){return[e.Material,e.SpecificHeatCapacity,e.BoilingPoint,e.FreezingPoint,e.ThermalConductivity]},3101149627:function(e){return[e.Name,e.Description,e.StartTime,e.EndTime,e.TimeSeriesDataType,e.DataOrigin,e.UserDefinedDataOrigin,e.Unit]},1718945513:function(e){return[e.ReferencedTimeSeries,e.TimeSeriesReferences]},581633288:function(e){return[e.ListValues.map((function(e){return Y_(e)}))]},1377556343:function(e){return[]},1735638870:function(e){return[e.ContextOfItems,e.RepresentationIdentifier,e.RepresentationType,e.Items]},180925521:function(e){return[e.Units]},2799835756:function(e){return[]},3304826586:function(e){return[e.TextureVertices,e.TexturePoints]},1907098498:function(e){return[e.VertexGeometry]},891718957:function(e){return[e.IntersectingAxes,e.OffsetDistances]},1065908215:function(e){return[e.Material,e.IsPotable,e.Hardness,e.AlkalinityConcentration,e.AcidityConcentration,e.ImpuritiesContent,e.PHLevel,e.DissolvedSolidsContent]},2442683028:function(e){return[e.Item,e.Styles,e.Name]},962685235:function(e){return[e.Item,e.Styles,e.Name]},3612888222:function(e){return[e.Item,e.Styles,e.Name]},2297822566:function(e){return[e.Item,e.Styles,e.Name]},3798115385:function(e){return[e.ProfileType,e.ProfileName,e.OuterCurve]},1310608509:function(e){return[e.ProfileType,e.ProfileName,e.Curve]},2705031697:function(e){return[e.ProfileType,e.ProfileName,e.OuterCurve,e.InnerCurves]},616511568:function(e){return[e.RepeatS,e.RepeatT,e.TextureType,e.TextureTransform,e.RasterFormat,e.RasterCode]},3150382593:function(e){return[e.ProfileType,e.ProfileName,e.Curve,e.Thickness]},647927063:function(e){return[e.Location,e.ItemReference,e.Name,e.ReferencedSource]},776857604:function(e){return[e.Name,e.Red,e.Green,e.Blue]},2542286263:function(e){return[e.Name,e.Description,e.UsageName,e.HasProperties]},1485152156:function(e){return[e.ProfileType,e.ProfileName,e.Profiles,e.Label]},370225590:function(e){return[e.CfsFaces]},1981873012:function(e){return[e.CurveOnRelatingElement,e.CurveOnRelatedElement]},45288368:function(e){return[e.PointOnRelatingElement,e.PointOnRelatedElement,e.EccentricityInX,e.EccentricityInY,e.EccentricityInZ]},3050246964:function(e){return[e.Dimensions,e.UnitType,e.Name]},2889183280:function(e){return[e.Dimensions,e.UnitType,e.Name,e.ConversionFactor]},3800577675:function(e){return[e.Name,e.CurveFont,e.CurveWidth?Y_(e.CurveWidth):null,e.CurveColour]},3632507154:function(e){return[e.ProfileType,e.ProfileName,e.ParentProfile,e.Operator,e.Label]},2273265877:function(e){return[e.Name,e.Description,e.RelatingDraughtingCallout,e.RelatedDraughtingCallout]},1694125774:function(e){return[e.Name,e.Description,e.RelatingDraughtingCallout,e.RelatedDraughtingCallout]},3732053477:function(e){return[e.Location,e.ItemReference,e.Name]},4170525392:function(e){return[e.Name]},3900360178:function(e){return[e.EdgeStart,e.EdgeEnd]},476780140:function(e){return[e.EdgeStart,e.EdgeEnd,e.EdgeGeometry,e.SameSense]},1860660968:function(e){return[e.Material,e.ExtendedProperties,e.Description,e.Name]},2556980723:function(e){return[e.Bounds]},1809719519:function(e){return[e.Bound,e.Orientation]},803316827:function(e){return[e.Bound,e.Orientation]},3008276851:function(e){return[e.Bounds,e.FaceSurface,e.SameSense]},4219587988:function(e){return[e.Name,e.TensionFailureX,e.TensionFailureY,e.TensionFailureZ,e.CompressionFailureX,e.CompressionFailureY,e.CompressionFailureZ]},738692330:function(e){return[e.Name,e.FillStyles]},3857492461:function(e){return[e.Material,e.CombustionTemperature,e.CarbonContent,e.LowerHeatingValue,e.HigherHeatingValue]},803998398:function(e){return[e.Material,e.MolecularWeight,e.Porosity,e.MassDensity]},1446786286:function(e){return[e.ProfileName,e.ProfileDefinition,e.PhysicalWeight,e.Perimeter,e.MinimumPlateThickness,e.MaximumPlateThickness,e.CrossSectionArea]},3448662350:function(e){return[e.ContextIdentifier,e.ContextType,e.CoordinateSpaceDimension,e.Precision,e.WorldCoordinateSystem,e.TrueNorth]},2453401579:function(e){return[]},4142052618:function(e){return[e.ContextIdentifier,e.ContextType,e.CoordinateSpaceDimension,e.Precision,e.WorldCoordinateSystem,e.TrueNorth,e.ParentContext,e.TargetScale,e.TargetView,e.UserDefinedTargetView]},3590301190:function(e){return[e.Elements]},178086475:function(e){return[e.PlacementLocation,e.PlacementRefDirection]},812098782:function(e){return[e.BaseSurface,e.AgreementFlag]},2445078500:function(e){return[e.Material,e.UpperVaporResistanceFactor,e.LowerVaporResistanceFactor,e.IsothermalMoistureCapacity,e.VaporPermeability,e.MoistureDiffusivity]},3905492369:function(e){return[e.RepeatS,e.RepeatT,e.TextureType,e.TextureTransform,e.UrlReference]},3741457305:function(e){return[e.Name,e.Description,e.StartTime,e.EndTime,e.TimeSeriesDataType,e.DataOrigin,e.UserDefinedDataOrigin,e.Unit,e.Values]},1402838566:function(e){return[e.Name,e.LightColour,e.AmbientIntensity,e.Intensity]},125510826:function(e){return[e.Name,e.LightColour,e.AmbientIntensity,e.Intensity]},2604431987:function(e){return[e.Name,e.LightColour,e.AmbientIntensity,e.Intensity,e.Orientation]},4266656042:function(e){return[e.Name,e.LightColour,e.AmbientIntensity,e.Intensity,e.Position,e.ColourAppearance,e.ColourTemperature,e.LuminousFlux,e.LightEmissionSource,e.LightDistributionDataSource]},1520743889:function(e){return[e.Name,e.LightColour,e.AmbientIntensity,e.Intensity,e.Position,e.Radius,e.ConstantAttenuation,e.DistanceAttenuation,e.QuadricAttenuation]},3422422726:function(e){return[e.Name,e.LightColour,e.AmbientIntensity,e.Intensity,e.Position,e.Radius,e.ConstantAttenuation,e.DistanceAttenuation,e.QuadricAttenuation,e.Orientation,e.ConcentrationExponent,e.SpreadAngle,e.BeamWidthAngle]},2624227202:function(e){return[e.PlacementRelTo,e.RelativePlacement]},1008929658:function(e){return[]},2347385850:function(e){return[e.MappingSource,e.MappingTarget]},2022407955:function(e){return[e.Name,e.Description,e.Representations,e.RepresentedMaterial]},1430189142:function(e){return[e.Material,e.DynamicViscosity,e.YoungModulus,e.ShearModulus,e.PoissonRatio,e.ThermalExpansionCoefficient,e.CompressiveStrength,e.MaxAggregateSize,e.AdmixturesDescription,e.Workability,e.ProtectivePoreRatio,e.WaterImpermeability]},219451334:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description]},2833995503:function(e){return[e.RepeatFactor]},2665983363:function(e){return[e.CfsFaces]},1029017970:function(e){return[e.EdgeStart,e.EdgeEnd,e.EdgeElement,e.Orientation]},2529465313:function(e){return[e.ProfileType,e.ProfileName,e.Position]},2519244187:function(e){return[e.EdgeList]},3021840470:function(e){return[e.Name,e.Description,e.HasQuantities,e.Discrimination,e.Quality,e.Usage]},597895409:function(e){return[e.RepeatS,e.RepeatT,e.TextureType,e.TextureTransform,e.Width,e.Height,e.ColourComponents,e.Pixel]},2004835150:function(e){return[e.Location]},1663979128:function(e){return[e.SizeInX,e.SizeInY]},2067069095:function(e){return[]},4022376103:function(e){return[e.BasisCurve,e.PointParameter]},1423911732:function(e){return[e.BasisSurface,e.PointParameterU,e.PointParameterV]},2924175390:function(e){return[e.Polygon]},2775532180:function(e){return[e.BaseSurface,e.AgreementFlag,e.Position,e.PolygonalBoundary]},759155922:function(e){return[e.Name]},2559016684:function(e){return[e.Name]},433424934:function(e){return[e.Name]},179317114:function(e){return[e.Name]},673634403:function(e){return[e.Name,e.Description,e.Representations]},871118103:function(e){return[e.Name,e.Description,e.UpperBoundValue?Y_(e.UpperBoundValue):null,e.LowerBoundValue?Y_(e.LowerBoundValue):null,e.Unit]},1680319473:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description]},4166981789:function(e){return[e.Name,e.Description,e.EnumerationValues.map((function(e){return Y_(e)})),e.EnumerationReference]},2752243245:function(e){return[e.Name,e.Description,e.ListValues.map((function(e){return Y_(e)})),e.Unit]},941946838:function(e){return[e.Name,e.Description,e.UsageName,e.PropertyReference]},3357820518:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description]},3650150729:function(e){return[e.Name,e.Description,e.NominalValue?Y_(e.NominalValue):null,e.Unit]},110355661:function(e){return[e.Name,e.Description,e.DefiningValues.map((function(e){return Y_(e)})),e.DefinedValues.map((function(e){return Y_(e)})),e.Expression,e.DefiningUnit,e.DefinedUnit]},3615266464:function(e){return[e.ProfileType,e.ProfileName,e.Position,e.XDim,e.YDim]},3413951693:function(e){return[e.Name,e.Description,e.StartTime,e.EndTime,e.TimeSeriesDataType,e.DataOrigin,e.UserDefinedDataOrigin,e.Unit,e.TimeStep,e.Values]},3765753017:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.DefinitionType,e.ReinforcementSectionDefinitions]},478536968:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description]},2778083089:function(e){return[e.ProfileType,e.ProfileName,e.Position,e.XDim,e.YDim,e.RoundingRadius]},1509187699:function(e){return[e.SpineCurve,e.CrossSections,e.CrossSectionPositions]},2411513650:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.PredefinedType,e.UpperValue?Y_(e.UpperValue):null,Y_(e.MostUsedValue),e.LowerValue?Y_(e.LowerValue):null]},4124623270:function(e){return[e.SbsmBoundary]},2609359061:function(e){return[e.Name,e.SlippageX,e.SlippageY,e.SlippageZ]},723233188:function(e){return[]},2485662743:function(e){var t;return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,null==(t=e.IsAttenuating)?void 0:t.toString(),e.SoundScale,e.SoundValues]},1202362311:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.SoundLevelTimeSeries,e.Frequency,e.SoundLevelSingleValue?Y_(e.SoundLevelSingleValue):null]},390701378:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableValueRatio,e.ThermalLoadSource,e.PropertySource,e.SourceDescription,e.MaximumValue,e.MinimumValue,e.ThermalLoadTimeSeriesValues,e.UserDefinedThermalLoadSource,e.UserDefinedPropertySource,e.ThermalLoadType]},1595516126:function(e){return[e.Name,e.LinearForceX,e.LinearForceY,e.LinearForceZ,e.LinearMomentX,e.LinearMomentY,e.LinearMomentZ]},2668620305:function(e){return[e.Name,e.PlanarForceX,e.PlanarForceY,e.PlanarForceZ]},2473145415:function(e){return[e.Name,e.DisplacementX,e.DisplacementY,e.DisplacementZ,e.RotationalDisplacementRX,e.RotationalDisplacementRY,e.RotationalDisplacementRZ]},1973038258:function(e){return[e.Name,e.DisplacementX,e.DisplacementY,e.DisplacementZ,e.RotationalDisplacementRX,e.RotationalDisplacementRY,e.RotationalDisplacementRZ,e.Distortion]},1597423693:function(e){return[e.Name,e.ForceX,e.ForceY,e.ForceZ,e.MomentX,e.MomentY,e.MomentZ]},1190533807:function(e){return[e.Name,e.ForceX,e.ForceY,e.ForceZ,e.MomentX,e.MomentY,e.MomentZ,e.WarpingMoment]},3843319758:function(e){return[e.ProfileName,e.ProfileDefinition,e.PhysicalWeight,e.Perimeter,e.MinimumPlateThickness,e.MaximumPlateThickness,e.CrossSectionArea,e.TorsionalConstantX,e.MomentOfInertiaYZ,e.MomentOfInertiaY,e.MomentOfInertiaZ,e.WarpingConstant,e.ShearCentreZ,e.ShearCentreY,e.ShearDeformationAreaZ,e.ShearDeformationAreaY,e.MaximumSectionModulusY,e.MinimumSectionModulusY,e.MaximumSectionModulusZ,e.MinimumSectionModulusZ,e.TorsionalSectionModulus,e.CentreOfGravityInX,e.CentreOfGravityInY]},3653947884:function(e){return[e.ProfileName,e.ProfileDefinition,e.PhysicalWeight,e.Perimeter,e.MinimumPlateThickness,e.MaximumPlateThickness,e.CrossSectionArea,e.TorsionalConstantX,e.MomentOfInertiaYZ,e.MomentOfInertiaY,e.MomentOfInertiaZ,e.WarpingConstant,e.ShearCentreZ,e.ShearCentreY,e.ShearDeformationAreaZ,e.ShearDeformationAreaY,e.MaximumSectionModulusY,e.MinimumSectionModulusY,e.MaximumSectionModulusZ,e.MinimumSectionModulusZ,e.TorsionalSectionModulus,e.CentreOfGravityInX,e.CentreOfGravityInY,e.ShearAreaZ,e.ShearAreaY,e.PlasticShapeFactorY,e.PlasticShapeFactorZ]},2233826070:function(e){return[e.EdgeStart,e.EdgeEnd,e.ParentEdge]},2513912981:function(e){return[]},1878645084:function(e){return[e.SurfaceColour,e.Transparency,e.DiffuseColour,e.TransmissionColour,e.DiffuseTransmissionColour,e.ReflectionColour,e.SpecularColour,e.SpecularHighlight?Y_(e.SpecularHighlight):null,e.ReflectanceMethod]},2247615214:function(e){return[e.SweptArea,e.Position]},1260650574:function(e){return[e.Directrix,e.Radius,e.InnerRadius,e.StartParam,e.EndParam]},230924584:function(e){return[e.SweptCurve,e.Position]},3071757647:function(e){return[e.ProfileType,e.ProfileName,e.Position,e.Depth,e.FlangeWidth,e.WebThickness,e.FlangeThickness,e.FilletRadius,e.FlangeEdgeRadius,e.WebEdgeRadius,e.WebSlope,e.FlangeSlope,e.CentreOfGravityInY]},3028897424:function(e){return[e.Item,e.Styles,e.Name,e.AnnotatedCurve]},4282788508:function(e){return[e.Literal,e.Placement,e.Path]},3124975700:function(e){return[e.Literal,e.Placement,e.Path,e.Extent,e.BoxAlignment]},2715220739:function(e){return[e.ProfileType,e.ProfileName,e.Position,e.BottomXDim,e.TopXDim,e.YDim,e.TopXOffset]},1345879162:function(e){return[e.RepeatFactor,e.SecondRepeatFactor]},1628702193:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets]},2347495698:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag]},427810014:function(e){return[e.ProfileType,e.ProfileName,e.Position,e.Depth,e.FlangeWidth,e.WebThickness,e.FlangeThickness,e.FilletRadius,e.EdgeRadius,e.FlangeSlope,e.CentreOfGravityInX]},1417489154:function(e){return[e.Orientation,e.Magnitude]},2759199220:function(e){return[e.LoopVertex]},336235671:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.LiningDepth,e.LiningThickness,e.TransomThickness,e.MullionThickness,e.FirstTransomOffset,e.SecondTransomOffset,e.FirstMullionOffset,e.SecondMullionOffset,e.ShapeAspectStyle]},512836454:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.OperationType,e.PanelPosition,e.FrameDepth,e.FrameThickness,e.ShapeAspectStyle]},1299126871:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ConstructionType,e.OperationType,e.ParameterTakesPrecedence,e.Sizeable]},2543172580:function(e){return[e.ProfileType,e.ProfileName,e.Position,e.Depth,e.FlangeWidth,e.WebThickness,e.FlangeThickness,e.FilletRadius,e.EdgeRadius]},3288037868:function(e){return[e.Item,e.Styles,e.Name]},669184980:function(e){return[e.OuterBoundary,e.InnerBoundaries]},2265737646:function(e){return[e.Item,e.Styles,e.Name,e.FillStyleTarget,e.GlobalOrLocal]},1302238472:function(e){return[e.Item,e.TextureCoordinates]},4261334040:function(e){return[e.Location,e.Axis]},3125803723:function(e){return[e.Location,e.RefDirection]},2740243338:function(e){return[e.Location,e.Axis,e.RefDirection]},2736907675:function(e){return[e.Operator,e.FirstOperand,e.SecondOperand]},4182860854:function(e){return[]},2581212453:function(e){return[e.Corner,e.XDim,e.YDim,e.ZDim]},2713105998:function(e){return[e.BaseSurface,e.AgreementFlag,e.Enclosure]},2898889636:function(e){return[e.ProfileType,e.ProfileName,e.Position,e.Depth,e.Width,e.WallThickness,e.Girth,e.InternalFilletRadius,e.CentreOfGravityInX]},1123145078:function(e){return[e.Coordinates]},59481748:function(e){return[e.Axis1,e.Axis2,e.LocalOrigin,e.Scale]},3749851601:function(e){return[e.Axis1,e.Axis2,e.LocalOrigin,e.Scale]},3486308946:function(e){return[e.Axis1,e.Axis2,e.LocalOrigin,e.Scale,e.Scale2]},3331915920:function(e){return[e.Axis1,e.Axis2,e.LocalOrigin,e.Scale,e.Axis3]},1416205885:function(e){return[e.Axis1,e.Axis2,e.LocalOrigin,e.Scale,e.Axis3,e.Scale2,e.Scale3]},1383045692:function(e){return[e.ProfileType,e.ProfileName,e.Position,e.Radius]},2205249479:function(e){return[e.CfsFaces]},2485617015:function(e){return[e.Transition,e.SameSense,e.ParentCurve]},4133800736:function(e){return[e.ProfileType,e.ProfileName,e.Position,e.OverallHeight,e.BaseWidth2,e.Radius,e.HeadWidth,e.HeadDepth2,e.HeadDepth3,e.WebThickness,e.BaseWidth4,e.BaseDepth1,e.BaseDepth2,e.BaseDepth3,e.CentreOfGravityInY]},194851669:function(e){return[e.ProfileType,e.ProfileName,e.Position,e.OverallHeight,e.HeadWidth,e.Radius,e.HeadDepth2,e.HeadDepth3,e.WebThickness,e.BaseDepth1,e.BaseDepth2,e.CentreOfGravityInY]},2506170314:function(e){return[e.Position]},2147822146:function(e){return[e.TreeRootExpression]},2601014836:function(e){return[]},2827736869:function(e){return[e.BasisSurface,e.OuterBoundary,e.InnerBoundaries]},693772133:function(e){return[e.Definition,e.Target]},606661476:function(e){return[e.Item,e.Styles,e.Name]},4054601972:function(e){return[e.Item,e.Styles,e.Name,e.AnnotatedCurve,e.Role]},32440307:function(e){return[e.DirectionRatios]},2963535650:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.LiningDepth,e.LiningThickness,e.ThresholdDepth,e.ThresholdThickness,e.TransomThickness,e.TransomOffset,e.LiningOffset,e.ThresholdOffset,e.CasingThickness,e.CasingDepth,e.ShapeAspectStyle]},1714330368:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.PanelDepth,e.PanelOperation,e.PanelWidth,e.PanelPosition,e.ShapeAspectStyle]},526551008:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.OperationType,e.ConstructionType,e.ParameterTakesPrecedence,e.Sizeable]},3073041342:function(e){return[e.Contents]},445594917:function(e){return[e.Name]},4006246654:function(e){return[e.Name]},1472233963:function(e){return[e.EdgeList]},1883228015:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.MethodOfMeasurement,e.Quantities]},339256511:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType]},2777663545:function(e){return[e.Position]},2835456948:function(e){return[e.ProfileType,e.ProfileName,e.Position,e.SemiAxis1,e.SemiAxis2]},80994333:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.EnergySequence,e.UserDefinedEnergySequence]},477187591:function(e){return[e.SweptArea,e.Position,e.ExtrudedDirection,e.Depth]},2047409740:function(e){return[e.FbsmFaces]},374418227:function(e){return[e.HatchLineAppearance,e.StartOfNextHatchLine,e.PointOfReferenceHatchLine,e.PatternStart,e.HatchLineAngle]},4203026998:function(e){return[e.Symbol]},315944413:function(e){return[e.TilingPattern,e.Tiles,e.TilingScale]},3455213021:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.PropertySource,e.FlowConditionTimeSeries,e.VelocityTimeSeries,e.FlowrateTimeSeries,e.Fluid,e.PressureTimeSeries,e.UserDefinedPropertySource,e.TemperatureSingleValue,e.WetBulbTemperatureSingleValue,e.WetBulbTemperatureTimeSeries,e.TemperatureTimeSeries,e.FlowrateSingleValue?Y_(e.FlowrateSingleValue):null,e.FlowConditionSingleValue,e.VelocitySingleValue,e.PressureSingleValue]},4238390223:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType]},1268542332:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.AssemblyPlace]},987898635:function(e){return[e.Elements]},1484403080:function(e){return[e.ProfileType,e.ProfileName,e.Position,e.OverallWidth,e.OverallDepth,e.WebThickness,e.FlangeThickness,e.FilletRadius]},572779678:function(e){return[e.ProfileType,e.ProfileName,e.Position,e.Depth,e.Width,e.Thickness,e.FilletRadius,e.EdgeRadius,e.LegSlope,e.CentreOfGravityInX,e.CentreOfGravityInY]},1281925730:function(e){return[e.Pnt,e.Dir]},1425443689:function(e){return[e.Outer]},3888040117:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType]},3388369263:function(e){return[e.BasisCurve,e.Distance,e.SelfIntersect]},3505215534:function(e){return[e.BasisCurve,e.Distance,e.SelfIntersect,e.RefDirection]},3566463478:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.OperationType,e.PanelPosition,e.FrameDepth,e.FrameThickness,e.ShapeAspectStyle]},603570806:function(e){return[e.SizeInX,e.SizeInY,e.Placement]},220341763:function(e){return[e.Position]},2945172077:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType]},4208778838:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation]},103090709:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.LongName,e.Phase,e.RepresentationContexts,e.UnitsInContext]},4194566429:function(e){return[e.Item,e.Styles,e.Name]},1451395588:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.HasProperties]},3219374653:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.ProxyType,e.Tag]},2770003689:function(e){return[e.ProfileType,e.ProfileName,e.Position,e.XDim,e.YDim,e.WallThickness,e.InnerFilletRadius,e.OuterFilletRadius]},2798486643:function(e){return[e.Position,e.XLength,e.YLength,e.Height]},3454111270:function(e){return[e.BasisSurface,e.U1,e.V1,e.U2,e.V2,e.Usense,e.Vsense]},3939117080:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatedObjects,e.RelatedObjectsType]},1683148259:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatedObjects,e.RelatedObjectsType,e.RelatingActor,e.ActingRole]},2495723537:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatedObjects,e.RelatedObjectsType,e.RelatingControl]},1307041759:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatedObjects,e.RelatedObjectsType,e.RelatingGroup]},4278684876:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatedObjects,e.RelatedObjectsType,e.RelatingProcess,e.QuantityInProcess]},2857406711:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatedObjects,e.RelatedObjectsType,e.RelatingProduct]},3372526763:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatedObjects,e.RelatedObjectsType,e.RelatingControl]},205026976:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatedObjects,e.RelatedObjectsType,e.RelatingResource]},1865459582:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatedObjects]},1327628568:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatedObjects,e.RelatingAppliedValue]},4095574036:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatedObjects,e.RelatingApproval]},919958153:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatedObjects,e.RelatingClassification]},2728634034:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatedObjects,e.Intent,e.RelatingConstraint]},982818633:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatedObjects,e.RelatingDocument]},3840914261:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatedObjects,e.RelatingLibrary]},2655215786:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatedObjects,e.RelatingMaterial]},2851387026:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatedObjects,e.RelatingProfileProperties,e.ProfileSectionLocation,e.ProfileOrientation]},826625072:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description]},1204542856:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ConnectionGeometry,e.RelatingElement,e.RelatedElement]},3945020480:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ConnectionGeometry,e.RelatingElement,e.RelatedElement,e.RelatingPriorities,e.RelatedPriorities,e.RelatedConnectionType,e.RelatingConnectionType]},4201705270:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatingPort,e.RelatedElement]},3190031847:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatingPort,e.RelatedPort,e.RealizingElement]},2127690289:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatingElement,e.RelatedStructuralActivity]},3912681535:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatingElement,e.RelatedStructuralMember]},1638771189:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatingStructuralMember,e.RelatedStructuralConnection,e.AppliedCondition,e.AdditionalConditions,e.SupportedLength,e.ConditionCoordinateSystem]},504942748:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatingStructuralMember,e.RelatedStructuralConnection,e.AppliedCondition,e.AdditionalConditions,e.SupportedLength,e.ConditionCoordinateSystem,e.ConnectionConstraint]},3678494232:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ConnectionGeometry,e.RelatingElement,e.RelatedElement,e.RealizingElements,e.ConnectionType]},3242617779:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatedElements,e.RelatingStructure]},886880790:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatingBuildingElement,e.RelatedCoverings]},2802773753:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatedSpace,e.RelatedCoverings]},2551354335:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatingObject,e.RelatedObjects]},693640335:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatedObjects]},4186316022:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatedObjects,e.RelatingPropertyDefinition]},781010003:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatedObjects,e.RelatingType]},3940055652:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatingOpeningElement,e.RelatedBuildingElement]},279856033:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatedControlElements,e.RelatingFlowElement]},4189434867:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.DailyInteraction,e.ImportanceRating,e.LocationOfInteraction,e.RelatedSpaceProgram,e.RelatingSpaceProgram]},3268803585:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatingObject,e.RelatedObjects]},2051452291:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatedObjects,e.RelatedObjectsType,e.RelatingActor,e.ActingRole]},202636808:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatedObjects,e.RelatingPropertyDefinition,e.OverridingProperties]},750771296:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatingElement,e.RelatedFeatureElement]},1245217292:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatedElements,e.RelatingStructure]},1058617721:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatedObjects,e.RelatedObjectsType,e.RelatingControl]},4122056220:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatingProcess,e.RelatedProcess,e.TimeLag,e.SequenceType]},366585022:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatingSystem,e.RelatedBuildings]},3451746338:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatingSpace,e.RelatedBuildingElement,e.ConnectionGeometry,e.PhysicalOrVirtualBoundary,e.InternalOrExternalBoundary]},1401173127:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatingBuildingElement,e.RelatedOpeningElement]},2914609552:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType]},1856042241:function(e){return[e.SweptArea,e.Position,e.Axis,e.Angle]},4158566097:function(e){return[e.Position,e.Height,e.BottomRadius]},3626867408:function(e){return[e.Position,e.Height,e.Radius]},2706606064:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.LongName,e.CompositionType]},3893378262:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType]},451544542:function(e){return[e.Position,e.Radius]},3544373492:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.AppliedLoad,e.GlobalOrLocal]},3136571912:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation]},530289379:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation]},3689010777:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.AppliedLoad,e.GlobalOrLocal]},3979015343:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.PredefinedType,e.Thickness]},2218152070:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.PredefinedType,e.Thickness,e.SubsequentThickness,e.VaryingThicknessLocation]},4070609034:function(e){return[e.Contents]},2028607225:function(e){return[e.SweptArea,e.Position,e.Directrix,e.StartParam,e.EndParam,e.ReferenceSurface]},2809605785:function(e){return[e.SweptCurve,e.Position,e.ExtrudedDirection,e.Depth]},4124788165:function(e){return[e.SweptCurve,e.Position,e.AxisPosition]},1580310250:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType]},3473067441:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.TaskId,e.Status,e.WorkMethod,e.IsMilestone,e.Priority]},2097647324:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},2296667514:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.TheActor]},1674181508:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation]},3207858831:function(e){return[e.ProfileType,e.ProfileName,e.Position,e.OverallWidth,e.OverallDepth,e.WebThickness,e.FlangeThickness,e.FilletRadius,e.TopFlangeWidth,e.TopFlangeThickness,e.TopFlangeFilletRadius,e.CentreOfGravityInY]},1334484129:function(e){return[e.Position,e.XLength,e.YLength,e.ZLength]},3649129432:function(e){return[e.Operator,e.FirstOperand,e.SecondOperand]},1260505505:function(e){return[]},4031249490:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.LongName,e.CompositionType,e.ElevationOfRefHeight,e.ElevationOfTerrain,e.BuildingAddress]},1950629157:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType]},3124254112:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.LongName,e.CompositionType,e.Elevation]},2937912522:function(e){return[e.ProfileType,e.ProfileName,e.Position,e.Radius,e.WallThickness]},300633059:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},3732776249:function(e){return[e.Segments,e.SelfIntersect]},2510884976:function(e){return[e.Position]},2559216714:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ResourceIdentifier,e.ResourceGroup,e.ResourceConsumption,e.BaseQuantity]},3293443760:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType]},3895139033:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType]},1419761937:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.SubmittedBy,e.PreparedBy,e.SubmittedOn,e.Status,e.TargetUsers,e.UpdateDate,e.ID,e.PredefinedType]},1916426348:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},3295246426:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ResourceIdentifier,e.ResourceGroup,e.ResourceConsumption,e.BaseQuantity]},1457835157:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},681481545:function(e){return[e.Contents]},3256556792:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType]},3849074793:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType]},360485395:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.EnergySequence,e.UserDefinedEnergySequence,e.ElectricCurrentType,e.InputVoltage,e.InputFrequency,e.FullLoadCurrent,e.MinimumCircuitCurrent,e.MaximumPowerInput,e.RatedPowerInput,e.InputPhase]},1758889154:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag]},4123344466:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.AssemblyPlace,e.PredefinedType]},1623761950:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag]},2590856083:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType]},1704287377:function(e){return[e.Position,e.SemiAxis1,e.SemiAxis2]},2107101300:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType]},1962604670:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag]},3272907226:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType]},3174744832:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},3390157468:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},807026263:function(e){return[e.Outer]},3737207727:function(e){return[e.Outer,e.Voids]},647756555:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag]},2489546625:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType]},2827207264:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag]},2143335405:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag]},1287392070:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag]},3907093117:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType]},3198132628:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType]},3815607619:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},1482959167:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType]},1834744321:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType]},1339347760:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType]},2297155007:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType]},3009222698:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType]},263784265:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag]},814719939:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType]},200128114:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},3009204131:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.UAxes,e.VAxes,e.WAxes]},2706460486:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType]},1251058090:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},1806887404:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},2391368822:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.InventoryType,e.Jurisdiction,e.ResponsiblePersons,e.LastUpdateDate,e.CurrentValue,e.OriginalValue]},4288270099:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},3827777499:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ResourceIdentifier,e.ResourceGroup,e.ResourceConsumption,e.BaseQuantity,e.SkillSet]},1051575348:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},1161773419:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},2506943328:function(e){return[e.Contents]},377706215:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.NominalDiameter,e.NominalLength]},2108223431:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType]},3181161470:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},977012517:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},1916936684:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.TaskId,e.Status,e.WorkMethod,e.IsMilestone,e.Priority,e.MoveFrom,e.MoveTo,e.PunchList]},4143007308:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.TheActor,e.PredefinedType]},3588315303:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag]},3425660407:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.TaskId,e.Status,e.WorkMethod,e.IsMilestone,e.Priority,e.ActionID]},2837617999:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},2382730787:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.LifeCyclePhase]},3327091369:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.PermitID]},804291784:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},4231323485:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},4017108033:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},3724593414:function(e){return[e.Points]},3740093272:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation]},2744685151:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ProcedureID,e.ProcedureType,e.UserDefinedProcedureType]},2904328755:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ID,e.PredefinedType,e.Status]},3642467123:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.Records,e.PredefinedType]},3651124850:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag]},1842657554:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},2250791053:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},3248260540:function(e){return[e.Contents]},2893384427:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},2324767716:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},160246688:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatingObject,e.RelatedObjects]},2863920197:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatedObjects,e.RelatedObjectsType,e.RelatingControl,e.TimeForTask]},1768891740:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},3517283431:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ActualStart,e.EarlyStart,e.LateStart,e.ScheduleStart,e.ActualFinish,e.EarlyFinish,e.LateFinish,e.ScheduleFinish,e.ScheduleDuration,e.ActualDuration,e.RemainingTime,e.FreeFloat,e.TotalFloat,e.IsCritical,e.StatusTime,e.StartFloat,e.FinishFloat,e.Completion]},4105383287:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ServiceLifeType,e.ServiceLifeDuration]},4097777520:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.LongName,e.CompositionType,e.RefLatitude,e.RefLongitude,e.RefElevation,e.LandTitleNumber,e.SiteAddress]},2533589738:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},3856911033:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.LongName,e.CompositionType,e.InteriorOrExteriorSpace,e.ElevationWithFlooring]},1305183839:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},652456506:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.SpaceProgramIdentifier,e.MaxRequiredArea,e.MinRequiredArea,e.RequestedLocation,e.StandardRequiredArea]},3812236995:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},3112655638:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},1039846685:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},682877961:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.AppliedLoad,e.GlobalOrLocal,e.DestabilizingLoad,e.CausedBy]},1179482911:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.AppliedCondition]},4243806635:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.AppliedCondition]},214636428:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.PredefinedType]},2445595289:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.PredefinedType]},1807405624:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.AppliedLoad,e.GlobalOrLocal,e.DestabilizingLoad,e.CausedBy,e.ProjectedOrTrue]},1721250024:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.AppliedLoad,e.GlobalOrLocal,e.DestabilizingLoad,e.CausedBy,e.ProjectedOrTrue,e.VaryingAppliedLoadLocation,e.SubsequentAppliedLoads]},1252848954:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.PredefinedType,e.ActionType,e.ActionSource,e.Coefficient,e.Purpose]},1621171031:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.AppliedLoad,e.GlobalOrLocal,e.DestabilizingLoad,e.CausedBy,e.ProjectedOrTrue]},3987759626:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.AppliedLoad,e.GlobalOrLocal,e.DestabilizingLoad,e.CausedBy,e.ProjectedOrTrue,e.VaryingAppliedLoadLocation,e.SubsequentAppliedLoads]},2082059205:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.AppliedLoad,e.GlobalOrLocal,e.DestabilizingLoad,e.CausedBy]},734778138:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.AppliedCondition]},1235345126:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.AppliedLoad,e.GlobalOrLocal]},2986769608:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.TheoryType,e.ResultForLoadGroup,e.IsLinear]},1975003073:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.AppliedCondition]},148013059:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ResourceIdentifier,e.ResourceGroup,e.ResourceConsumption,e.BaseQuantity,e.SubContractor,e.JobDescription]},2315554128:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},2254336722:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType]},5716631:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},1637806684:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ApplicableDates,e.TimeSeriesScheduleType,e.TimeSeries]},1692211062:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},1620046519:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.OperationType,e.CapacityByWeight,e.CapacityByNumber]},3593883385:function(e){return[e.BasisCurve,e.Trim1,e.Trim2,e.SenseAgreement,e.MasterRepresentation]},1600972822:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},1911125066:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},728799441:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},2769231204:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag]},1898987631:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},1133259667:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},1028945134:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.Identifier,e.CreationDate,e.Creators,e.Purpose,e.Duration,e.TotalFloat,e.StartTime,e.FinishTime,e.WorkControlType,e.UserDefinedControlType]},4218914973:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.Identifier,e.CreationDate,e.Creators,e.Purpose,e.Duration,e.TotalFloat,e.StartTime,e.FinishTime,e.WorkControlType,e.UserDefinedControlType]},3342526732:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.Identifier,e.CreationDate,e.Creators,e.Purpose,e.Duration,e.TotalFloat,e.StartTime,e.FinishTime,e.WorkControlType,e.UserDefinedControlType]},1033361043:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType]},1213861670:function(e){return[e.Segments,e.SelfIntersect]},3821786052:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.RequestID]},1411407467:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},3352864051:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},1871374353:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},2470393545:function(e){return[e.Contents]},3460190687:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.AssetID,e.OriginalValue,e.CurrentValue,e.TotalReplacementCost,e.Owner,e.User,e.ResponsiblePerson,e.IncorporationDate,e.DepreciatedValue]},1967976161:function(e){return[e.Degree,e.ControlPointsList,e.CurveForm,e.ClosedCurve,e.SelfIntersect]},819618141:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},1916977116:function(e){return[e.Degree,e.ControlPointsList,e.CurveForm,e.ClosedCurve,e.SelfIntersect]},231477066:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},3299480353:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag]},52481810:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag]},2979338954:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag]},1095909175:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.CompositionType]},1909888760:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},395041908:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},3293546465:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},1285652485:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},2951183804:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},2611217952:function(e){return[e.Position,e.Radius]},2301859152:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},843113511:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag]},3850581409:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},2816379211:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},2188551683:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType]},1163958913:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.Criterion,e.CriterionDateTime]},3898045240:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ResourceIdentifier,e.ResourceGroup,e.ResourceConsumption,e.BaseQuantity]},1060000209:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ResourceIdentifier,e.ResourceGroup,e.ResourceConsumption,e.BaseQuantity,e.Suppliers,e.UsageRatio]},488727124:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ResourceIdentifier,e.ResourceGroup,e.ResourceConsumption,e.BaseQuantity]},335055490:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},2954562838:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},1973544240:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},3495092785:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag]},3961806047:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},4147604152:function(e){return[e.Contents]},1335981549:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag]},2635815018:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType]},1599208980:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},2063403501:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType]},1945004755:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag]},3040386961:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag]},3041715199:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.FlowDirection]},395920057:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.OverallHeight,e.OverallWidth]},869906466:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},3760055223:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},2030761528:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},855621170:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.FeatureLength]},663422040:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},3277789161:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},1534661035:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},1365060375:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},1217240411:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},712377611:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},1634875225:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType]},857184966:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag]},1658829314:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag]},346874300:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},1810631287:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},4222183408:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},2058353004:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag]},4278956645:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag]},4037862832:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},3132237377:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag]},987401354:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag]},707683696:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag]},2223149337:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag]},3508470533:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag]},900683007:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},1073191201:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag]},1687234759:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType,e.ConstructionType]},3171933400:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag]},2262370178:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},3024970846:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.ShapeType]},3283111854:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag]},3055160366:function(e){return[e.Degree,e.ControlPointsList,e.CurveForm,e.ClosedCurve,e.SelfIntersect,e.WeightsData]},3027567501:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.SteelGrade]},2320036040:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.SteelGrade,e.MeshLength,e.MeshWidth,e.LongitudinalBarNominalDiameter,e.TransverseBarNominalDiameter,e.LongitudinalBarCrossSectionArea,e.TransverseBarCrossSectionArea,e.LongitudinalBarSpacing,e.TransverseBarSpacing]},2016517767:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.ShapeType]},1376911519:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.FeatureLength,e.Radius]},1783015770:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},1529196076:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},331165859:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.ShapeType]},4252922144:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.NumberOfRiser,e.NumberOfTreads,e.RiserHeight,e.TreadLength]},2515109513:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.PredefinedType,e.OrientationOf2DPlane,e.LoadedBy,e.HasResults]},3824725483:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.SteelGrade,e.PredefinedType,e.NominalDiameter,e.CrossSectionArea,e.TensionForce,e.PreStress,e.FrictionCoefficient,e.AnchorageSlip,e.MinCurvatureRadius]},2347447852:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.SteelGrade]},3313531582:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},2391406946:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag]},3512223829:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag]},3304561284:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.OverallHeight,e.OverallWidth]},2874132201:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},3001207471:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},753842376:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag]},2454782716:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.FeatureLength,e.Width,e.Height]},578613899:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},1052013943:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag]},1062813311:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.ControlElementId]},3700593921:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.DistributionPointFunction,e.UserDefinedFunction]},979691226:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.SteelGrade,e.NominalDiameter,e.CrossSectionArea,e.BarLength,e.BarRole,e.BarSurface]}},W_[1]={3699917729:function(e){return new $C.IfcAbsorbedDoseMeasure(e)},4182062534:function(e){return new $C.IfcAccelerationMeasure(e)},360377573:function(e){return new $C.IfcAmountOfSubstanceMeasure(e)},632304761:function(e){return new $C.IfcAngularVelocityMeasure(e)},2650437152:function(e){return new $C.IfcAreaMeasure(e)},2735952531:function(e){return new $C.IfcBoolean(e)},1867003952:function(e){return new $C.IfcBoxAlignment(e)},2991860651:function(e){return new $C.IfcComplexNumber(e)},3812528620:function(e){return new $C.IfcCompoundPlaneAngleMeasure(e)},3238673880:function(e){return new $C.IfcContextDependentMeasure(e)},1778710042:function(e){return new $C.IfcCountMeasure(e)},94842927:function(e){return new $C.IfcCurvatureMeasure(e)},86635668:function(e){return new $C.IfcDayInMonthNumber(e)},300323983:function(e){return new $C.IfcDaylightSavingHour(e)},1514641115:function(e){return new $C.IfcDescriptiveMeasure(e)},4134073009:function(e){return new $C.IfcDimensionCount(e)},524656162:function(e){return new $C.IfcDoseEquivalentMeasure(e)},69416015:function(e){return new $C.IfcDynamicViscosityMeasure(e)},1827137117:function(e){return new $C.IfcElectricCapacitanceMeasure(e)},3818826038:function(e){return new $C.IfcElectricChargeMeasure(e)},2093906313:function(e){return new $C.IfcElectricConductanceMeasure(e)},3790457270:function(e){return new $C.IfcElectricCurrentMeasure(e)},2951915441:function(e){return new $C.IfcElectricResistanceMeasure(e)},2506197118:function(e){return new $C.IfcElectricVoltageMeasure(e)},2078135608:function(e){return new $C.IfcEnergyMeasure(e)},1102727119:function(e){return new $C.IfcFontStyle(e)},2715512545:function(e){return new $C.IfcFontVariant(e)},2590844177:function(e){return new $C.IfcFontWeight(e)},1361398929:function(e){return new $C.IfcForceMeasure(e)},3044325142:function(e){return new $C.IfcFrequencyMeasure(e)},3064340077:function(e){return new $C.IfcGloballyUniqueId(e)},3113092358:function(e){return new $C.IfcHeatFluxDensityMeasure(e)},1158859006:function(e){return new $C.IfcHeatingValueMeasure(e)},2589826445:function(e){return new $C.IfcHourInDay(e)},983778844:function(e){return new $C.IfcIdentifier(e)},3358199106:function(e){return new $C.IfcIlluminanceMeasure(e)},2679005408:function(e){return new $C.IfcInductanceMeasure(e)},1939436016:function(e){return new $C.IfcInteger(e)},3809634241:function(e){return new $C.IfcIntegerCountRateMeasure(e)},3686016028:function(e){return new $C.IfcIonConcentrationMeasure(e)},3192672207:function(e){return new $C.IfcIsothermalMoistureCapacityMeasure(e)},2054016361:function(e){return new $C.IfcKinematicViscosityMeasure(e)},3258342251:function(e){return new $C.IfcLabel(e)},1243674935:function(e){return new $C.IfcLengthMeasure(e)},191860431:function(e){return new $C.IfcLinearForceMeasure(e)},2128979029:function(e){return new $C.IfcLinearMomentMeasure(e)},1307019551:function(e){return new $C.IfcLinearStiffnessMeasure(e)},3086160713:function(e){return new $C.IfcLinearVelocityMeasure(e)},503418787:function(e){return new $C.IfcLogical(e)},2095003142:function(e){return new $C.IfcLuminousFluxMeasure(e)},2755797622:function(e){return new $C.IfcLuminousIntensityDistributionMeasure(e)},151039812:function(e){return new $C.IfcLuminousIntensityMeasure(e)},286949696:function(e){return new $C.IfcMagneticFluxDensityMeasure(e)},2486716878:function(e){return new $C.IfcMagneticFluxMeasure(e)},1477762836:function(e){return new $C.IfcMassDensityMeasure(e)},4017473158:function(e){return new $C.IfcMassFlowRateMeasure(e)},3124614049:function(e){return new $C.IfcMassMeasure(e)},3531705166:function(e){return new $C.IfcMassPerLengthMeasure(e)},102610177:function(e){return new $C.IfcMinuteInHour(e)},3341486342:function(e){return new $C.IfcModulusOfElasticityMeasure(e)},2173214787:function(e){return new $C.IfcModulusOfLinearSubgradeReactionMeasure(e)},1052454078:function(e){return new $C.IfcModulusOfRotationalSubgradeReactionMeasure(e)},1753493141:function(e){return new $C.IfcModulusOfSubgradeReactionMeasure(e)},3177669450:function(e){return new $C.IfcMoistureDiffusivityMeasure(e)},1648970520:function(e){return new $C.IfcMolecularWeightMeasure(e)},3114022597:function(e){return new $C.IfcMomentOfInertiaMeasure(e)},2615040989:function(e){return new $C.IfcMonetaryMeasure(e)},765770214:function(e){return new $C.IfcMonthInYearNumber(e)},2095195183:function(e){return new $C.IfcNormalisedRatioMeasure(e)},2395907400:function(e){return new $C.IfcNumericMeasure(e)},929793134:function(e){return new $C.IfcPHMeasure(e)},2260317790:function(e){return new $C.IfcParameterValue(e)},2642773653:function(e){return new $C.IfcPlanarForceMeasure(e)},4042175685:function(e){return new $C.IfcPlaneAngleMeasure(e)},2815919920:function(e){return new $C.IfcPositiveLengthMeasure(e)},3054510233:function(e){return new $C.IfcPositivePlaneAngleMeasure(e)},1245737093:function(e){return new $C.IfcPositiveRatioMeasure(e)},1364037233:function(e){return new $C.IfcPowerMeasure(e)},2169031380:function(e){return new $C.IfcPresentableText(e)},3665567075:function(e){return new $C.IfcPressureMeasure(e)},3972513137:function(e){return new $C.IfcRadioActivityMeasure(e)},96294661:function(e){return new $C.IfcRatioMeasure(e)},200335297:function(e){return new $C.IfcReal(e)},2133746277:function(e){return new $C.IfcRotationalFrequencyMeasure(e)},1755127002:function(e){return new $C.IfcRotationalMassMeasure(e)},3211557302:function(e){return new $C.IfcRotationalStiffnessMeasure(e)},2766185779:function(e){return new $C.IfcSecondInMinute(e)},3467162246:function(e){return new $C.IfcSectionModulusMeasure(e)},2190458107:function(e){return new $C.IfcSectionalAreaIntegralMeasure(e)},408310005:function(e){return new $C.IfcShearModulusMeasure(e)},3471399674:function(e){return new $C.IfcSolidAngleMeasure(e)},846465480:function(e){return new $C.IfcSoundPowerMeasure(e)},993287707:function(e){return new $C.IfcSoundPressureMeasure(e)},3477203348:function(e){return new $C.IfcSpecificHeatCapacityMeasure(e)},2757832317:function(e){return new $C.IfcSpecularExponent(e)},361837227:function(e){return new $C.IfcSpecularRoughness(e)},58845555:function(e){return new $C.IfcTemperatureGradientMeasure(e)},2801250643:function(e){return new $C.IfcText(e)},1460886941:function(e){return new $C.IfcTextAlignment(e)},3490877962:function(e){return new $C.IfcTextDecoration(e)},603696268:function(e){return new $C.IfcTextFontName(e)},296282323:function(e){return new $C.IfcTextTransformation(e)},232962298:function(e){return new $C.IfcThermalAdmittanceMeasure(e)},2645777649:function(e){return new $C.IfcThermalConductivityMeasure(e)},2281867870:function(e){return new $C.IfcThermalExpansionCoefficientMeasure(e)},857959152:function(e){return new $C.IfcThermalResistanceMeasure(e)},2016195849:function(e){return new $C.IfcThermalTransmittanceMeasure(e)},743184107:function(e){return new $C.IfcThermodynamicTemperatureMeasure(e)},2726807636:function(e){return new $C.IfcTimeMeasure(e)},2591213694:function(e){return new $C.IfcTimeStamp(e)},1278329552:function(e){return new $C.IfcTorqueMeasure(e)},3345633955:function(e){return new $C.IfcVaporPermeabilityMeasure(e)},3458127941:function(e){return new $C.IfcVolumeMeasure(e)},2593997549:function(e){return new $C.IfcVolumetricFlowRateMeasure(e)},51269191:function(e){return new $C.IfcWarpingConstantMeasure(e)},1718600412:function(e){return new $C.IfcWarpingMomentMeasure(e)},4065007721:function(e){return new $C.IfcYearNumber(e)}},function(e){var t=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcAbsorbedDoseMeasure=t;var n=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcAccelerationMeasure=n;var r=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcAmountOfSubstanceMeasure=r;var i=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcAngularVelocityMeasure=i;var a=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcAreaMeasure=a;var s=P((function e(t){b(this,e),this.type=3,this.value="true"==t}));e.IfcBoolean=s;var o=P((function e(t){b(this,e),this.value=t,this.type=1}));e.IfcBoxAlignment=o;var l=P((function e(t){b(this,e),this.value=t}));e.IfcComplexNumber=l;var u=P((function e(t){b(this,e),this.value=t}));e.IfcCompoundPlaneAngleMeasure=u;var c=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcContextDependentMeasure=c;var f=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcCountMeasure=f;var p=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcCurvatureMeasure=p;var A=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcDayInMonthNumber=A;var d=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcDaylightSavingHour=d;var v=P((function e(t){b(this,e),this.value=t,this.type=1}));e.IfcDescriptiveMeasure=v;var h=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcDimensionCount=h;var y=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcDoseEquivalentMeasure=y;var w=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcDynamicViscosityMeasure=w;var g=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcElectricCapacitanceMeasure=g;var E=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcElectricChargeMeasure=E;var T=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcElectricConductanceMeasure=T;var D=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcElectricCurrentMeasure=D;var R=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcElectricResistanceMeasure=R;var C=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcElectricVoltageMeasure=C;var _=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcEnergyMeasure=_;var B=P((function e(t){b(this,e),this.value=t,this.type=1}));e.IfcFontStyle=B;var O=P((function e(t){b(this,e),this.value=t,this.type=1}));e.IfcFontVariant=O;var S=P((function e(t){b(this,e),this.value=t,this.type=1}));e.IfcFontWeight=S;var N=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcForceMeasure=N;var L=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcFrequencyMeasure=L;var M=P((function e(t){b(this,e),this.value=t,this.type=1}));e.IfcGloballyUniqueId=M;var x=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcHeatFluxDensityMeasure=x;var F=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcHeatingValueMeasure=F;var H=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcHourInDay=H;var U=P((function e(t){b(this,e),this.value=t,this.type=1}));e.IfcIdentifier=U;var G=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcIlluminanceMeasure=G;var k=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcInductanceMeasure=k;var j=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcInteger=j;var V=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcIntegerCountRateMeasure=V;var Q=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcIonConcentrationMeasure=Q;var W=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcIsothermalMoistureCapacityMeasure=W;var z=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcKinematicViscosityMeasure=z;var K=P((function e(t){b(this,e),this.value=t,this.type=1}));e.IfcLabel=K;var Y=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcLengthMeasure=Y;var X=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcLinearForceMeasure=X;var q=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcLinearMomentMeasure=q;var J=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcLinearStiffnessMeasure=J;var Z=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcLinearVelocityMeasure=Z;var $=P((function e(t){b(this,e),this.type=3,this.value="true"==t}));e.IfcLogical=$;var ee=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcLuminousFluxMeasure=ee;var te=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcLuminousIntensityDistributionMeasure=te;var ne=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcLuminousIntensityMeasure=ne;var re=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcMagneticFluxDensityMeasure=re;var ie=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcMagneticFluxMeasure=ie;var ae=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcMassDensityMeasure=ae;var se=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcMassFlowRateMeasure=se;var oe=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcMassMeasure=oe;var le=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcMassPerLengthMeasure=le;var ue=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcMinuteInHour=ue;var ce=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcModulusOfElasticityMeasure=ce;var fe=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcModulusOfLinearSubgradeReactionMeasure=fe;var pe=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcModulusOfRotationalSubgradeReactionMeasure=pe;var Ae=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcModulusOfSubgradeReactionMeasure=Ae;var de=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcMoistureDiffusivityMeasure=de;var ve=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcMolecularWeightMeasure=ve;var he=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcMomentOfInertiaMeasure=he;var Ie=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcMonetaryMeasure=Ie;var ye=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcMonthInYearNumber=ye;var me=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcNormalisedRatioMeasure=me;var we=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcNumericMeasure=we;var ge=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcPHMeasure=ge;var Ee=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcParameterValue=Ee;var Te=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcPlanarForceMeasure=Te;var be=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcPlaneAngleMeasure=be;var De=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcPositiveLengthMeasure=De;var Pe=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcPositivePlaneAngleMeasure=Pe;var Re=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcPositiveRatioMeasure=Re;var Ce=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcPowerMeasure=Ce;var _e=P((function e(t){b(this,e),this.value=t,this.type=1}));e.IfcPresentableText=_e;var Be=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcPressureMeasure=Be;var Oe=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcRadioActivityMeasure=Oe;var Se=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcRatioMeasure=Se;var Ne=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcReal=Ne;var Le=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcRotationalFrequencyMeasure=Le;var Me=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcRotationalMassMeasure=Me;var xe=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcRotationalStiffnessMeasure=xe;var Fe=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcSecondInMinute=Fe;var He=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcSectionModulusMeasure=He;var Ue=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcSectionalAreaIntegralMeasure=Ue;var Ge=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcShearModulusMeasure=Ge;var ke=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcSolidAngleMeasure=ke;var je=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcSoundPowerMeasure=je;var Ve=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcSoundPressureMeasure=Ve;var Qe=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcSpecificHeatCapacityMeasure=Qe;var We=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcSpecularExponent=We;var ze=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcSpecularRoughness=ze;var Ke=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcTemperatureGradientMeasure=Ke;var Ye=P((function e(t){b(this,e),this.value=t,this.type=1}));e.IfcText=Ye;var Xe=P((function e(t){b(this,e),this.value=t,this.type=1}));e.IfcTextAlignment=Xe;var qe=P((function e(t){b(this,e),this.value=t,this.type=1}));e.IfcTextDecoration=qe;var Je=P((function e(t){b(this,e),this.value=t,this.type=1}));e.IfcTextFontName=Je;var Ze=P((function e(t){b(this,e),this.value=t,this.type=1}));e.IfcTextTransformation=Ze;var $e=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcThermalAdmittanceMeasure=$e;var et=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcThermalConductivityMeasure=et;var tt=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcThermalExpansionCoefficientMeasure=tt;var nt=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcThermalResistanceMeasure=nt;var rt=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcThermalTransmittanceMeasure=rt;var it=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcThermodynamicTemperatureMeasure=it;var at=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcTimeMeasure=at;var st=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcTimeStamp=st;var ot=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcTorqueMeasure=ot;var lt=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcVaporPermeabilityMeasure=lt;var ut=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcVolumeMeasure=ut;var ct=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcVolumetricFlowRateMeasure=ct;var ft=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcWarpingConstantMeasure=ft;var pt=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcWarpingMomentMeasure=pt;var At=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcYearNumber=At;var dt=P((function e(){b(this,e)}));dt.DEAD_LOAD_G={type:3,value:"DEAD_LOAD_G"},dt.COMPLETION_G1={type:3,value:"COMPLETION_G1"},dt.LIVE_LOAD_Q={type:3,value:"LIVE_LOAD_Q"},dt.SNOW_S={type:3,value:"SNOW_S"},dt.WIND_W={type:3,value:"WIND_W"},dt.PRESTRESSING_P={type:3,value:"PRESTRESSING_P"},dt.SETTLEMENT_U={type:3,value:"SETTLEMENT_U"},dt.TEMPERATURE_T={type:3,value:"TEMPERATURE_T"},dt.EARTHQUAKE_E={type:3,value:"EARTHQUAKE_E"},dt.FIRE={type:3,value:"FIRE"},dt.IMPULSE={type:3,value:"IMPULSE"},dt.IMPACT={type:3,value:"IMPACT"},dt.TRANSPORT={type:3,value:"TRANSPORT"},dt.ERECTION={type:3,value:"ERECTION"},dt.PROPPING={type:3,value:"PROPPING"},dt.SYSTEM_IMPERFECTION={type:3,value:"SYSTEM_IMPERFECTION"},dt.SHRINKAGE={type:3,value:"SHRINKAGE"},dt.CREEP={type:3,value:"CREEP"},dt.LACK_OF_FIT={type:3,value:"LACK_OF_FIT"},dt.BUOYANCY={type:3,value:"BUOYANCY"},dt.ICE={type:3,value:"ICE"},dt.CURRENT={type:3,value:"CURRENT"},dt.WAVE={type:3,value:"WAVE"},dt.RAIN={type:3,value:"RAIN"},dt.BRAKES={type:3,value:"BRAKES"},dt.USERDEFINED={type:3,value:"USERDEFINED"},dt.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcActionSourceTypeEnum=dt;var vt=P((function e(){b(this,e)}));vt.PERMANENT_G={type:3,value:"PERMANENT_G"},vt.VARIABLE_Q={type:3,value:"VARIABLE_Q"},vt.EXTRAORDINARY_A={type:3,value:"EXTRAORDINARY_A"},vt.USERDEFINED={type:3,value:"USERDEFINED"},vt.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcActionTypeEnum=vt;var ht=P((function e(){b(this,e)}));ht.ELECTRICACTUATOR={type:3,value:"ELECTRICACTUATOR"},ht.HANDOPERATEDACTUATOR={type:3,value:"HANDOPERATEDACTUATOR"},ht.HYDRAULICACTUATOR={type:3,value:"HYDRAULICACTUATOR"},ht.PNEUMATICACTUATOR={type:3,value:"PNEUMATICACTUATOR"},ht.THERMOSTATICACTUATOR={type:3,value:"THERMOSTATICACTUATOR"},ht.USERDEFINED={type:3,value:"USERDEFINED"},ht.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcActuatorTypeEnum=ht;var It=P((function e(){b(this,e)}));It.OFFICE={type:3,value:"OFFICE"},It.SITE={type:3,value:"SITE"},It.HOME={type:3,value:"HOME"},It.DISTRIBUTIONPOINT={type:3,value:"DISTRIBUTIONPOINT"},It.USERDEFINED={type:3,value:"USERDEFINED"},e.IfcAddressTypeEnum=It;var yt=P((function e(){b(this,e)}));yt.AHEAD={type:3,value:"AHEAD"},yt.BEHIND={type:3,value:"BEHIND"},e.IfcAheadOrBehind=yt;var mt=P((function e(){b(this,e)}));mt.CONSTANTFLOW={type:3,value:"CONSTANTFLOW"},mt.VARIABLEFLOWPRESSUREDEPENDANT={type:3,value:"VARIABLEFLOWPRESSUREDEPENDANT"},mt.VARIABLEFLOWPRESSUREINDEPENDANT={type:3,value:"VARIABLEFLOWPRESSUREINDEPENDANT"},mt.USERDEFINED={type:3,value:"USERDEFINED"},mt.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcAirTerminalBoxTypeEnum=mt;var wt=P((function e(){b(this,e)}));wt.GRILLE={type:3,value:"GRILLE"},wt.REGISTER={type:3,value:"REGISTER"},wt.DIFFUSER={type:3,value:"DIFFUSER"},wt.EYEBALL={type:3,value:"EYEBALL"},wt.IRIS={type:3,value:"IRIS"},wt.LINEARGRILLE={type:3,value:"LINEARGRILLE"},wt.LINEARDIFFUSER={type:3,value:"LINEARDIFFUSER"},wt.USERDEFINED={type:3,value:"USERDEFINED"},wt.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcAirTerminalTypeEnum=wt;var gt=P((function e(){b(this,e)}));gt.FIXEDPLATECOUNTERFLOWEXCHANGER={type:3,value:"FIXEDPLATECOUNTERFLOWEXCHANGER"},gt.FIXEDPLATECROSSFLOWEXCHANGER={type:3,value:"FIXEDPLATECROSSFLOWEXCHANGER"},gt.FIXEDPLATEPARALLELFLOWEXCHANGER={type:3,value:"FIXEDPLATEPARALLELFLOWEXCHANGER"},gt.ROTARYWHEEL={type:3,value:"ROTARYWHEEL"},gt.RUNAROUNDCOILLOOP={type:3,value:"RUNAROUNDCOILLOOP"},gt.HEATPIPE={type:3,value:"HEATPIPE"},gt.TWINTOWERENTHALPYRECOVERYLOOPS={type:3,value:"TWINTOWERENTHALPYRECOVERYLOOPS"},gt.THERMOSIPHONSEALEDTUBEHEATEXCHANGERS={type:3,value:"THERMOSIPHONSEALEDTUBEHEATEXCHANGERS"},gt.THERMOSIPHONCOILTYPEHEATEXCHANGERS={type:3,value:"THERMOSIPHONCOILTYPEHEATEXCHANGERS"},gt.USERDEFINED={type:3,value:"USERDEFINED"},gt.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcAirToAirHeatRecoveryTypeEnum=gt;var Et=P((function e(){b(this,e)}));Et.BELL={type:3,value:"BELL"},Et.BREAKGLASSBUTTON={type:3,value:"BREAKGLASSBUTTON"},Et.LIGHT={type:3,value:"LIGHT"},Et.MANUALPULLBOX={type:3,value:"MANUALPULLBOX"},Et.SIREN={type:3,value:"SIREN"},Et.WHISTLE={type:3,value:"WHISTLE"},Et.USERDEFINED={type:3,value:"USERDEFINED"},Et.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcAlarmTypeEnum=Et;var Tt=P((function e(){b(this,e)}));Tt.IN_PLANE_LOADING_2D={type:3,value:"IN_PLANE_LOADING_2D"},Tt.OUT_PLANE_LOADING_2D={type:3,value:"OUT_PLANE_LOADING_2D"},Tt.LOADING_3D={type:3,value:"LOADING_3D"},Tt.USERDEFINED={type:3,value:"USERDEFINED"},Tt.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcAnalysisModelTypeEnum=Tt;var bt=P((function e(){b(this,e)}));bt.FIRST_ORDER_THEORY={type:3,value:"FIRST_ORDER_THEORY"},bt.SECOND_ORDER_THEORY={type:3,value:"SECOND_ORDER_THEORY"},bt.THIRD_ORDER_THEORY={type:3,value:"THIRD_ORDER_THEORY"},bt.FULL_NONLINEAR_THEORY={type:3,value:"FULL_NONLINEAR_THEORY"},bt.USERDEFINED={type:3,value:"USERDEFINED"},bt.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcAnalysisTheoryTypeEnum=bt;var Dt=P((function e(){b(this,e)}));Dt.ADD={type:3,value:"ADD"},Dt.DIVIDE={type:3,value:"DIVIDE"},Dt.MULTIPLY={type:3,value:"MULTIPLY"},Dt.SUBTRACT={type:3,value:"SUBTRACT"},e.IfcArithmeticOperatorEnum=Dt;var Pt=P((function e(){b(this,e)}));Pt.SITE={type:3,value:"SITE"},Pt.FACTORY={type:3,value:"FACTORY"},Pt.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcAssemblyPlaceEnum=Pt;var Rt=P((function e(){b(this,e)}));Rt.POLYLINE_FORM={type:3,value:"POLYLINE_FORM"},Rt.CIRCULAR_ARC={type:3,value:"CIRCULAR_ARC"},Rt.ELLIPTIC_ARC={type:3,value:"ELLIPTIC_ARC"},Rt.PARABOLIC_ARC={type:3,value:"PARABOLIC_ARC"},Rt.HYPERBOLIC_ARC={type:3,value:"HYPERBOLIC_ARC"},Rt.UNSPECIFIED={type:3,value:"UNSPECIFIED"},e.IfcBSplineCurveForm=Rt;var Ct=P((function e(){b(this,e)}));Ct.BEAM={type:3,value:"BEAM"},Ct.JOIST={type:3,value:"JOIST"},Ct.LINTEL={type:3,value:"LINTEL"},Ct.T_BEAM={type:3,value:"T_BEAM"},Ct.USERDEFINED={type:3,value:"USERDEFINED"},Ct.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcBeamTypeEnum=Ct;var _t=P((function e(){b(this,e)}));_t.GREATERTHAN={type:3,value:"GREATERTHAN"},_t.GREATERTHANOREQUALTO={type:3,value:"GREATERTHANOREQUALTO"},_t.LESSTHAN={type:3,value:"LESSTHAN"},_t.LESSTHANOREQUALTO={type:3,value:"LESSTHANOREQUALTO"},_t.EQUALTO={type:3,value:"EQUALTO"},_t.NOTEQUALTO={type:3,value:"NOTEQUALTO"},e.IfcBenchmarkEnum=_t;var Bt=P((function e(){b(this,e)}));Bt.WATER={type:3,value:"WATER"},Bt.STEAM={type:3,value:"STEAM"},Bt.USERDEFINED={type:3,value:"USERDEFINED"},Bt.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcBoilerTypeEnum=Bt;var Ot=P((function e(){b(this,e)}));Ot.UNION={type:3,value:"UNION"},Ot.INTERSECTION={type:3,value:"INTERSECTION"},Ot.DIFFERENCE={type:3,value:"DIFFERENCE"},e.IfcBooleanOperator=Ot;var St=P((function e(){b(this,e)}));St.USERDEFINED={type:3,value:"USERDEFINED"},St.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcBuildingElementProxyTypeEnum=St;var Nt=P((function e(){b(this,e)}));Nt.BEND={type:3,value:"BEND"},Nt.CROSS={type:3,value:"CROSS"},Nt.REDUCER={type:3,value:"REDUCER"},Nt.TEE={type:3,value:"TEE"},Nt.USERDEFINED={type:3,value:"USERDEFINED"},Nt.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcCableCarrierFittingTypeEnum=Nt;var Lt=P((function e(){b(this,e)}));Lt.CABLELADDERSEGMENT={type:3,value:"CABLELADDERSEGMENT"},Lt.CABLETRAYSEGMENT={type:3,value:"CABLETRAYSEGMENT"},Lt.CABLETRUNKINGSEGMENT={type:3,value:"CABLETRUNKINGSEGMENT"},Lt.CONDUITSEGMENT={type:3,value:"CONDUITSEGMENT"},Lt.USERDEFINED={type:3,value:"USERDEFINED"},Lt.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcCableCarrierSegmentTypeEnum=Lt;var Mt=P((function e(){b(this,e)}));Mt.CABLESEGMENT={type:3,value:"CABLESEGMENT"},Mt.CONDUCTORSEGMENT={type:3,value:"CONDUCTORSEGMENT"},Mt.USERDEFINED={type:3,value:"USERDEFINED"},Mt.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcCableSegmentTypeEnum=Mt;var xt=P((function e(){b(this,e)}));xt.NOCHANGE={type:3,value:"NOCHANGE"},xt.MODIFIED={type:3,value:"MODIFIED"},xt.ADDED={type:3,value:"ADDED"},xt.DELETED={type:3,value:"DELETED"},xt.MODIFIEDADDED={type:3,value:"MODIFIEDADDED"},xt.MODIFIEDDELETED={type:3,value:"MODIFIEDDELETED"},e.IfcChangeActionEnum=xt;var Ft=P((function e(){b(this,e)}));Ft.AIRCOOLED={type:3,value:"AIRCOOLED"},Ft.WATERCOOLED={type:3,value:"WATERCOOLED"},Ft.HEATRECOVERY={type:3,value:"HEATRECOVERY"},Ft.USERDEFINED={type:3,value:"USERDEFINED"},Ft.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcChillerTypeEnum=Ft;var Ht=P((function e(){b(this,e)}));Ht.DXCOOLINGCOIL={type:3,value:"DXCOOLINGCOIL"},Ht.WATERCOOLINGCOIL={type:3,value:"WATERCOOLINGCOIL"},Ht.STEAMHEATINGCOIL={type:3,value:"STEAMHEATINGCOIL"},Ht.WATERHEATINGCOIL={type:3,value:"WATERHEATINGCOIL"},Ht.ELECTRICHEATINGCOIL={type:3,value:"ELECTRICHEATINGCOIL"},Ht.GASHEATINGCOIL={type:3,value:"GASHEATINGCOIL"},Ht.USERDEFINED={type:3,value:"USERDEFINED"},Ht.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcCoilTypeEnum=Ht;var Ut=P((function e(){b(this,e)}));Ut.COLUMN={type:3,value:"COLUMN"},Ut.USERDEFINED={type:3,value:"USERDEFINED"},Ut.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcColumnTypeEnum=Ut;var Gt=P((function e(){b(this,e)}));Gt.DYNAMIC={type:3,value:"DYNAMIC"},Gt.RECIPROCATING={type:3,value:"RECIPROCATING"},Gt.ROTARY={type:3,value:"ROTARY"},Gt.SCROLL={type:3,value:"SCROLL"},Gt.TROCHOIDAL={type:3,value:"TROCHOIDAL"},Gt.SINGLESTAGE={type:3,value:"SINGLESTAGE"},Gt.BOOSTER={type:3,value:"BOOSTER"},Gt.OPENTYPE={type:3,value:"OPENTYPE"},Gt.HERMETIC={type:3,value:"HERMETIC"},Gt.SEMIHERMETIC={type:3,value:"SEMIHERMETIC"},Gt.WELDEDSHELLHERMETIC={type:3,value:"WELDEDSHELLHERMETIC"},Gt.ROLLINGPISTON={type:3,value:"ROLLINGPISTON"},Gt.ROTARYVANE={type:3,value:"ROTARYVANE"},Gt.SINGLESCREW={type:3,value:"SINGLESCREW"},Gt.TWINSCREW={type:3,value:"TWINSCREW"},Gt.USERDEFINED={type:3,value:"USERDEFINED"},Gt.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcCompressorTypeEnum=Gt;var kt=P((function e(){b(this,e)}));kt.WATERCOOLEDSHELLTUBE={type:3,value:"WATERCOOLEDSHELLTUBE"},kt.WATERCOOLEDSHELLCOIL={type:3,value:"WATERCOOLEDSHELLCOIL"},kt.WATERCOOLEDTUBEINTUBE={type:3,value:"WATERCOOLEDTUBEINTUBE"},kt.WATERCOOLEDBRAZEDPLATE={type:3,value:"WATERCOOLEDBRAZEDPLATE"},kt.AIRCOOLED={type:3,value:"AIRCOOLED"},kt.EVAPORATIVECOOLED={type:3,value:"EVAPORATIVECOOLED"},kt.USERDEFINED={type:3,value:"USERDEFINED"},kt.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcCondenserTypeEnum=kt;var jt=P((function e(){b(this,e)}));jt.ATPATH={type:3,value:"ATPATH"},jt.ATSTART={type:3,value:"ATSTART"},jt.ATEND={type:3,value:"ATEND"},jt.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcConnectionTypeEnum=jt;var Vt=P((function e(){b(this,e)}));Vt.HARD={type:3,value:"HARD"},Vt.SOFT={type:3,value:"SOFT"},Vt.ADVISORY={type:3,value:"ADVISORY"},Vt.USERDEFINED={type:3,value:"USERDEFINED"},Vt.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcConstraintEnum=Vt;var Qt=P((function e(){b(this,e)}));Qt.FLOATING={type:3,value:"FLOATING"},Qt.PROPORTIONAL={type:3,value:"PROPORTIONAL"},Qt.PROPORTIONALINTEGRAL={type:3,value:"PROPORTIONALINTEGRAL"},Qt.PROPORTIONALINTEGRALDERIVATIVE={type:3,value:"PROPORTIONALINTEGRALDERIVATIVE"},Qt.TIMEDTWOPOSITION={type:3,value:"TIMEDTWOPOSITION"},Qt.TWOPOSITION={type:3,value:"TWOPOSITION"},Qt.USERDEFINED={type:3,value:"USERDEFINED"},Qt.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcControllerTypeEnum=Qt;var Wt=P((function e(){b(this,e)}));Wt.ACTIVE={type:3,value:"ACTIVE"},Wt.PASSIVE={type:3,value:"PASSIVE"},Wt.USERDEFINED={type:3,value:"USERDEFINED"},Wt.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcCooledBeamTypeEnum=Wt;var zt=P((function e(){b(this,e)}));zt.NATURALDRAFT={type:3,value:"NATURALDRAFT"},zt.MECHANICALINDUCEDDRAFT={type:3,value:"MECHANICALINDUCEDDRAFT"},zt.MECHANICALFORCEDDRAFT={type:3,value:"MECHANICALFORCEDDRAFT"},zt.USERDEFINED={type:3,value:"USERDEFINED"},zt.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcCoolingTowerTypeEnum=zt;var Kt=P((function e(){b(this,e)}));Kt.BUDGET={type:3,value:"BUDGET"},Kt.COSTPLAN={type:3,value:"COSTPLAN"},Kt.ESTIMATE={type:3,value:"ESTIMATE"},Kt.TENDER={type:3,value:"TENDER"},Kt.PRICEDBILLOFQUANTITIES={type:3,value:"PRICEDBILLOFQUANTITIES"},Kt.UNPRICEDBILLOFQUANTITIES={type:3,value:"UNPRICEDBILLOFQUANTITIES"},Kt.SCHEDULEOFRATES={type:3,value:"SCHEDULEOFRATES"},Kt.USERDEFINED={type:3,value:"USERDEFINED"},Kt.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcCostScheduleTypeEnum=Kt;var Yt=P((function e(){b(this,e)}));Yt.CEILING={type:3,value:"CEILING"},Yt.FLOORING={type:3,value:"FLOORING"},Yt.CLADDING={type:3,value:"CLADDING"},Yt.ROOFING={type:3,value:"ROOFING"},Yt.INSULATION={type:3,value:"INSULATION"},Yt.MEMBRANE={type:3,value:"MEMBRANE"},Yt.SLEEVING={type:3,value:"SLEEVING"},Yt.WRAPPING={type:3,value:"WRAPPING"},Yt.USERDEFINED={type:3,value:"USERDEFINED"},Yt.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcCoveringTypeEnum=Yt;var Xt=P((function e(){b(this,e)}));Xt.AED={type:3,value:"AED"},Xt.AES={type:3,value:"AES"},Xt.ATS={type:3,value:"ATS"},Xt.AUD={type:3,value:"AUD"},Xt.BBD={type:3,value:"BBD"},Xt.BEG={type:3,value:"BEG"},Xt.BGL={type:3,value:"BGL"},Xt.BHD={type:3,value:"BHD"},Xt.BMD={type:3,value:"BMD"},Xt.BND={type:3,value:"BND"},Xt.BRL={type:3,value:"BRL"},Xt.BSD={type:3,value:"BSD"},Xt.BWP={type:3,value:"BWP"},Xt.BZD={type:3,value:"BZD"},Xt.CAD={type:3,value:"CAD"},Xt.CBD={type:3,value:"CBD"},Xt.CHF={type:3,value:"CHF"},Xt.CLP={type:3,value:"CLP"},Xt.CNY={type:3,value:"CNY"},Xt.CYS={type:3,value:"CYS"},Xt.CZK={type:3,value:"CZK"},Xt.DDP={type:3,value:"DDP"},Xt.DEM={type:3,value:"DEM"},Xt.DKK={type:3,value:"DKK"},Xt.EGL={type:3,value:"EGL"},Xt.EST={type:3,value:"EST"},Xt.EUR={type:3,value:"EUR"},Xt.FAK={type:3,value:"FAK"},Xt.FIM={type:3,value:"FIM"},Xt.FJD={type:3,value:"FJD"},Xt.FKP={type:3,value:"FKP"},Xt.FRF={type:3,value:"FRF"},Xt.GBP={type:3,value:"GBP"},Xt.GIP={type:3,value:"GIP"},Xt.GMD={type:3,value:"GMD"},Xt.GRX={type:3,value:"GRX"},Xt.HKD={type:3,value:"HKD"},Xt.HUF={type:3,value:"HUF"},Xt.ICK={type:3,value:"ICK"},Xt.IDR={type:3,value:"IDR"},Xt.ILS={type:3,value:"ILS"},Xt.INR={type:3,value:"INR"},Xt.IRP={type:3,value:"IRP"},Xt.ITL={type:3,value:"ITL"},Xt.JMD={type:3,value:"JMD"},Xt.JOD={type:3,value:"JOD"},Xt.JPY={type:3,value:"JPY"},Xt.KES={type:3,value:"KES"},Xt.KRW={type:3,value:"KRW"},Xt.KWD={type:3,value:"KWD"},Xt.KYD={type:3,value:"KYD"},Xt.LKR={type:3,value:"LKR"},Xt.LUF={type:3,value:"LUF"},Xt.MTL={type:3,value:"MTL"},Xt.MUR={type:3,value:"MUR"},Xt.MXN={type:3,value:"MXN"},Xt.MYR={type:3,value:"MYR"},Xt.NLG={type:3,value:"NLG"},Xt.NZD={type:3,value:"NZD"},Xt.OMR={type:3,value:"OMR"},Xt.PGK={type:3,value:"PGK"},Xt.PHP={type:3,value:"PHP"},Xt.PKR={type:3,value:"PKR"},Xt.PLN={type:3,value:"PLN"},Xt.PTN={type:3,value:"PTN"},Xt.QAR={type:3,value:"QAR"},Xt.RUR={type:3,value:"RUR"},Xt.SAR={type:3,value:"SAR"},Xt.SCR={type:3,value:"SCR"},Xt.SEK={type:3,value:"SEK"},Xt.SGD={type:3,value:"SGD"},Xt.SKP={type:3,value:"SKP"},Xt.THB={type:3,value:"THB"},Xt.TRL={type:3,value:"TRL"},Xt.TTD={type:3,value:"TTD"},Xt.TWD={type:3,value:"TWD"},Xt.USD={type:3,value:"USD"},Xt.VEB={type:3,value:"VEB"},Xt.VND={type:3,value:"VND"},Xt.XEU={type:3,value:"XEU"},Xt.ZAR={type:3,value:"ZAR"},Xt.ZWD={type:3,value:"ZWD"},Xt.NOK={type:3,value:"NOK"},e.IfcCurrencyEnum=Xt;var qt=P((function e(){b(this,e)}));qt.USERDEFINED={type:3,value:"USERDEFINED"},qt.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcCurtainWallTypeEnum=qt;var Jt=P((function e(){b(this,e)}));Jt.CONTROLDAMPER={type:3,value:"CONTROLDAMPER"},Jt.FIREDAMPER={type:3,value:"FIREDAMPER"},Jt.SMOKEDAMPER={type:3,value:"SMOKEDAMPER"},Jt.FIRESMOKEDAMPER={type:3,value:"FIRESMOKEDAMPER"},Jt.BACKDRAFTDAMPER={type:3,value:"BACKDRAFTDAMPER"},Jt.RELIEFDAMPER={type:3,value:"RELIEFDAMPER"},Jt.BLASTDAMPER={type:3,value:"BLASTDAMPER"},Jt.GRAVITYDAMPER={type:3,value:"GRAVITYDAMPER"},Jt.GRAVITYRELIEFDAMPER={type:3,value:"GRAVITYRELIEFDAMPER"},Jt.BALANCINGDAMPER={type:3,value:"BALANCINGDAMPER"},Jt.FUMEHOODEXHAUST={type:3,value:"FUMEHOODEXHAUST"},Jt.USERDEFINED={type:3,value:"USERDEFINED"},Jt.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcDamperTypeEnum=Jt;var Zt=P((function e(){b(this,e)}));Zt.MEASURED={type:3,value:"MEASURED"},Zt.PREDICTED={type:3,value:"PREDICTED"},Zt.SIMULATED={type:3,value:"SIMULATED"},Zt.USERDEFINED={type:3,value:"USERDEFINED"},Zt.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcDataOriginEnum=Zt;var $t=P((function e(){b(this,e)}));$t.ANGULARVELOCITYUNIT={type:3,value:"ANGULARVELOCITYUNIT"},$t.COMPOUNDPLANEANGLEUNIT={type:3,value:"COMPOUNDPLANEANGLEUNIT"},$t.DYNAMICVISCOSITYUNIT={type:3,value:"DYNAMICVISCOSITYUNIT"},$t.HEATFLUXDENSITYUNIT={type:3,value:"HEATFLUXDENSITYUNIT"},$t.INTEGERCOUNTRATEUNIT={type:3,value:"INTEGERCOUNTRATEUNIT"},$t.ISOTHERMALMOISTURECAPACITYUNIT={type:3,value:"ISOTHERMALMOISTURECAPACITYUNIT"},$t.KINEMATICVISCOSITYUNIT={type:3,value:"KINEMATICVISCOSITYUNIT"},$t.LINEARVELOCITYUNIT={type:3,value:"LINEARVELOCITYUNIT"},$t.MASSDENSITYUNIT={type:3,value:"MASSDENSITYUNIT"},$t.MASSFLOWRATEUNIT={type:3,value:"MASSFLOWRATEUNIT"},$t.MOISTUREDIFFUSIVITYUNIT={type:3,value:"MOISTUREDIFFUSIVITYUNIT"},$t.MOLECULARWEIGHTUNIT={type:3,value:"MOLECULARWEIGHTUNIT"},$t.SPECIFICHEATCAPACITYUNIT={type:3,value:"SPECIFICHEATCAPACITYUNIT"},$t.THERMALADMITTANCEUNIT={type:3,value:"THERMALADMITTANCEUNIT"},$t.THERMALCONDUCTANCEUNIT={type:3,value:"THERMALCONDUCTANCEUNIT"},$t.THERMALRESISTANCEUNIT={type:3,value:"THERMALRESISTANCEUNIT"},$t.THERMALTRANSMITTANCEUNIT={type:3,value:"THERMALTRANSMITTANCEUNIT"},$t.VAPORPERMEABILITYUNIT={type:3,value:"VAPORPERMEABILITYUNIT"},$t.VOLUMETRICFLOWRATEUNIT={type:3,value:"VOLUMETRICFLOWRATEUNIT"},$t.ROTATIONALFREQUENCYUNIT={type:3,value:"ROTATIONALFREQUENCYUNIT"},$t.TORQUEUNIT={type:3,value:"TORQUEUNIT"},$t.MOMENTOFINERTIAUNIT={type:3,value:"MOMENTOFINERTIAUNIT"},$t.LINEARMOMENTUNIT={type:3,value:"LINEARMOMENTUNIT"},$t.LINEARFORCEUNIT={type:3,value:"LINEARFORCEUNIT"},$t.PLANARFORCEUNIT={type:3,value:"PLANARFORCEUNIT"},$t.MODULUSOFELASTICITYUNIT={type:3,value:"MODULUSOFELASTICITYUNIT"},$t.SHEARMODULUSUNIT={type:3,value:"SHEARMODULUSUNIT"},$t.LINEARSTIFFNESSUNIT={type:3,value:"LINEARSTIFFNESSUNIT"},$t.ROTATIONALSTIFFNESSUNIT={type:3,value:"ROTATIONALSTIFFNESSUNIT"},$t.MODULUSOFSUBGRADEREACTIONUNIT={type:3,value:"MODULUSOFSUBGRADEREACTIONUNIT"},$t.ACCELERATIONUNIT={type:3,value:"ACCELERATIONUNIT"},$t.CURVATUREUNIT={type:3,value:"CURVATUREUNIT"},$t.HEATINGVALUEUNIT={type:3,value:"HEATINGVALUEUNIT"},$t.IONCONCENTRATIONUNIT={type:3,value:"IONCONCENTRATIONUNIT"},$t.LUMINOUSINTENSITYDISTRIBUTIONUNIT={type:3,value:"LUMINOUSINTENSITYDISTRIBUTIONUNIT"},$t.MASSPERLENGTHUNIT={type:3,value:"MASSPERLENGTHUNIT"},$t.MODULUSOFLINEARSUBGRADEREACTIONUNIT={type:3,value:"MODULUSOFLINEARSUBGRADEREACTIONUNIT"},$t.MODULUSOFROTATIONALSUBGRADEREACTIONUNIT={type:3,value:"MODULUSOFROTATIONALSUBGRADEREACTIONUNIT"},$t.PHUNIT={type:3,value:"PHUNIT"},$t.ROTATIONALMASSUNIT={type:3,value:"ROTATIONALMASSUNIT"},$t.SECTIONAREAINTEGRALUNIT={type:3,value:"SECTIONAREAINTEGRALUNIT"},$t.SECTIONMODULUSUNIT={type:3,value:"SECTIONMODULUSUNIT"},$t.SOUNDPOWERUNIT={type:3,value:"SOUNDPOWERUNIT"},$t.SOUNDPRESSUREUNIT={type:3,value:"SOUNDPRESSUREUNIT"},$t.TEMPERATUREGRADIENTUNIT={type:3,value:"TEMPERATUREGRADIENTUNIT"},$t.THERMALEXPANSIONCOEFFICIENTUNIT={type:3,value:"THERMALEXPANSIONCOEFFICIENTUNIT"},$t.WARPINGCONSTANTUNIT={type:3,value:"WARPINGCONSTANTUNIT"},$t.WARPINGMOMENTUNIT={type:3,value:"WARPINGMOMENTUNIT"},$t.USERDEFINED={type:3,value:"USERDEFINED"},e.IfcDerivedUnitEnum=$t;var en=P((function e(){b(this,e)}));en.ORIGIN={type:3,value:"ORIGIN"},en.TARGET={type:3,value:"TARGET"},e.IfcDimensionExtentUsage=en;var tn=P((function e(){b(this,e)}));tn.POSITIVE={type:3,value:"POSITIVE"},tn.NEGATIVE={type:3,value:"NEGATIVE"},e.IfcDirectionSenseEnum=tn;var nn=P((function e(){b(this,e)}));nn.FORMEDDUCT={type:3,value:"FORMEDDUCT"},nn.INSPECTIONCHAMBER={type:3,value:"INSPECTIONCHAMBER"},nn.INSPECTIONPIT={type:3,value:"INSPECTIONPIT"},nn.MANHOLE={type:3,value:"MANHOLE"},nn.METERCHAMBER={type:3,value:"METERCHAMBER"},nn.SUMP={type:3,value:"SUMP"},nn.TRENCH={type:3,value:"TRENCH"},nn.VALVECHAMBER={type:3,value:"VALVECHAMBER"},nn.USERDEFINED={type:3,value:"USERDEFINED"},nn.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcDistributionChamberElementTypeEnum=nn;var rn=P((function e(){b(this,e)}));rn.PUBLIC={type:3,value:"PUBLIC"},rn.RESTRICTED={type:3,value:"RESTRICTED"},rn.CONFIDENTIAL={type:3,value:"CONFIDENTIAL"},rn.PERSONAL={type:3,value:"PERSONAL"},rn.USERDEFINED={type:3,value:"USERDEFINED"},rn.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcDocumentConfidentialityEnum=rn;var an=P((function e(){b(this,e)}));an.DRAFT={type:3,value:"DRAFT"},an.FINALDRAFT={type:3,value:"FINALDRAFT"},an.FINAL={type:3,value:"FINAL"},an.REVISION={type:3,value:"REVISION"},an.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcDocumentStatusEnum=an;var sn=P((function e(){b(this,e)}));sn.SWINGING={type:3,value:"SWINGING"},sn.DOUBLE_ACTING={type:3,value:"DOUBLE_ACTING"},sn.SLIDING={type:3,value:"SLIDING"},sn.FOLDING={type:3,value:"FOLDING"},sn.REVOLVING={type:3,value:"REVOLVING"},sn.ROLLINGUP={type:3,value:"ROLLINGUP"},sn.USERDEFINED={type:3,value:"USERDEFINED"},sn.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcDoorPanelOperationEnum=sn;var on=P((function e(){b(this,e)}));on.LEFT={type:3,value:"LEFT"},on.MIDDLE={type:3,value:"MIDDLE"},on.RIGHT={type:3,value:"RIGHT"},on.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcDoorPanelPositionEnum=on;var ln=P((function e(){b(this,e)}));ln.ALUMINIUM={type:3,value:"ALUMINIUM"},ln.HIGH_GRADE_STEEL={type:3,value:"HIGH_GRADE_STEEL"},ln.STEEL={type:3,value:"STEEL"},ln.WOOD={type:3,value:"WOOD"},ln.ALUMINIUM_WOOD={type:3,value:"ALUMINIUM_WOOD"},ln.ALUMINIUM_PLASTIC={type:3,value:"ALUMINIUM_PLASTIC"},ln.PLASTIC={type:3,value:"PLASTIC"},ln.USERDEFINED={type:3,value:"USERDEFINED"},ln.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcDoorStyleConstructionEnum=ln;var un=P((function e(){b(this,e)}));un.SINGLE_SWING_LEFT={type:3,value:"SINGLE_SWING_LEFT"},un.SINGLE_SWING_RIGHT={type:3,value:"SINGLE_SWING_RIGHT"},un.DOUBLE_DOOR_SINGLE_SWING={type:3,value:"DOUBLE_DOOR_SINGLE_SWING"},un.DOUBLE_DOOR_SINGLE_SWING_OPPOSITE_LEFT={type:3,value:"DOUBLE_DOOR_SINGLE_SWING_OPPOSITE_LEFT"},un.DOUBLE_DOOR_SINGLE_SWING_OPPOSITE_RIGHT={type:3,value:"DOUBLE_DOOR_SINGLE_SWING_OPPOSITE_RIGHT"},un.DOUBLE_SWING_LEFT={type:3,value:"DOUBLE_SWING_LEFT"},un.DOUBLE_SWING_RIGHT={type:3,value:"DOUBLE_SWING_RIGHT"},un.DOUBLE_DOOR_DOUBLE_SWING={type:3,value:"DOUBLE_DOOR_DOUBLE_SWING"},un.SLIDING_TO_LEFT={type:3,value:"SLIDING_TO_LEFT"},un.SLIDING_TO_RIGHT={type:3,value:"SLIDING_TO_RIGHT"},un.DOUBLE_DOOR_SLIDING={type:3,value:"DOUBLE_DOOR_SLIDING"},un.FOLDING_TO_LEFT={type:3,value:"FOLDING_TO_LEFT"},un.FOLDING_TO_RIGHT={type:3,value:"FOLDING_TO_RIGHT"},un.DOUBLE_DOOR_FOLDING={type:3,value:"DOUBLE_DOOR_FOLDING"},un.REVOLVING={type:3,value:"REVOLVING"},un.ROLLINGUP={type:3,value:"ROLLINGUP"},un.USERDEFINED={type:3,value:"USERDEFINED"},un.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcDoorStyleOperationEnum=un;var cn=P((function e(){b(this,e)}));cn.BEND={type:3,value:"BEND"},cn.CONNECTOR={type:3,value:"CONNECTOR"},cn.ENTRY={type:3,value:"ENTRY"},cn.EXIT={type:3,value:"EXIT"},cn.JUNCTION={type:3,value:"JUNCTION"},cn.OBSTRUCTION={type:3,value:"OBSTRUCTION"},cn.TRANSITION={type:3,value:"TRANSITION"},cn.USERDEFINED={type:3,value:"USERDEFINED"},cn.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcDuctFittingTypeEnum=cn;var fn=P((function e(){b(this,e)}));fn.RIGIDSEGMENT={type:3,value:"RIGIDSEGMENT"},fn.FLEXIBLESEGMENT={type:3,value:"FLEXIBLESEGMENT"},fn.USERDEFINED={type:3,value:"USERDEFINED"},fn.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcDuctSegmentTypeEnum=fn;var pn=P((function e(){b(this,e)}));pn.FLATOVAL={type:3,value:"FLATOVAL"},pn.RECTANGULAR={type:3,value:"RECTANGULAR"},pn.ROUND={type:3,value:"ROUND"},pn.USERDEFINED={type:3,value:"USERDEFINED"},pn.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcDuctSilencerTypeEnum=pn;var An=P((function e(){b(this,e)}));An.COMPUTER={type:3,value:"COMPUTER"},An.DIRECTWATERHEATER={type:3,value:"DIRECTWATERHEATER"},An.DISHWASHER={type:3,value:"DISHWASHER"},An.ELECTRICCOOKER={type:3,value:"ELECTRICCOOKER"},An.ELECTRICHEATER={type:3,value:"ELECTRICHEATER"},An.FACSIMILE={type:3,value:"FACSIMILE"},An.FREESTANDINGFAN={type:3,value:"FREESTANDINGFAN"},An.FREEZER={type:3,value:"FREEZER"},An.FRIDGE_FREEZER={type:3,value:"FRIDGE_FREEZER"},An.HANDDRYER={type:3,value:"HANDDRYER"},An.INDIRECTWATERHEATER={type:3,value:"INDIRECTWATERHEATER"},An.MICROWAVE={type:3,value:"MICROWAVE"},An.PHOTOCOPIER={type:3,value:"PHOTOCOPIER"},An.PRINTER={type:3,value:"PRINTER"},An.REFRIGERATOR={type:3,value:"REFRIGERATOR"},An.RADIANTHEATER={type:3,value:"RADIANTHEATER"},An.SCANNER={type:3,value:"SCANNER"},An.TELEPHONE={type:3,value:"TELEPHONE"},An.TUMBLEDRYER={type:3,value:"TUMBLEDRYER"},An.TV={type:3,value:"TV"},An.VENDINGMACHINE={type:3,value:"VENDINGMACHINE"},An.WASHINGMACHINE={type:3,value:"WASHINGMACHINE"},An.WATERHEATER={type:3,value:"WATERHEATER"},An.WATERCOOLER={type:3,value:"WATERCOOLER"},An.USERDEFINED={type:3,value:"USERDEFINED"},An.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcElectricApplianceTypeEnum=An;var dn=P((function e(){b(this,e)}));dn.ALTERNATING={type:3,value:"ALTERNATING"},dn.DIRECT={type:3,value:"DIRECT"},dn.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcElectricCurrentEnum=dn;var vn=P((function e(){b(this,e)}));vn.ALARMPANEL={type:3,value:"ALARMPANEL"},vn.CONSUMERUNIT={type:3,value:"CONSUMERUNIT"},vn.CONTROLPANEL={type:3,value:"CONTROLPANEL"},vn.DISTRIBUTIONBOARD={type:3,value:"DISTRIBUTIONBOARD"},vn.GASDETECTORPANEL={type:3,value:"GASDETECTORPANEL"},vn.INDICATORPANEL={type:3,value:"INDICATORPANEL"},vn.MIMICPANEL={type:3,value:"MIMICPANEL"},vn.MOTORCONTROLCENTRE={type:3,value:"MOTORCONTROLCENTRE"},vn.SWITCHBOARD={type:3,value:"SWITCHBOARD"},vn.USERDEFINED={type:3,value:"USERDEFINED"},vn.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcElectricDistributionPointFunctionEnum=vn;var hn=P((function e(){b(this,e)}));hn.BATTERY={type:3,value:"BATTERY"},hn.CAPACITORBANK={type:3,value:"CAPACITORBANK"},hn.HARMONICFILTER={type:3,value:"HARMONICFILTER"},hn.INDUCTORBANK={type:3,value:"INDUCTORBANK"},hn.UPS={type:3,value:"UPS"},hn.USERDEFINED={type:3,value:"USERDEFINED"},hn.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcElectricFlowStorageDeviceTypeEnum=hn;var In=P((function e(){b(this,e)}));In.USERDEFINED={type:3,value:"USERDEFINED"},In.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcElectricGeneratorTypeEnum=In;var yn=P((function e(){b(this,e)}));yn.ELECTRICPOINTHEATER={type:3,value:"ELECTRICPOINTHEATER"},yn.ELECTRICCABLEHEATER={type:3,value:"ELECTRICCABLEHEATER"},yn.ELECTRICMATHEATER={type:3,value:"ELECTRICMATHEATER"},yn.USERDEFINED={type:3,value:"USERDEFINED"},yn.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcElectricHeaterTypeEnum=yn;var mn=P((function e(){b(this,e)}));mn.DC={type:3,value:"DC"},mn.INDUCTION={type:3,value:"INDUCTION"},mn.POLYPHASE={type:3,value:"POLYPHASE"},mn.RELUCTANCESYNCHRONOUS={type:3,value:"RELUCTANCESYNCHRONOUS"},mn.SYNCHRONOUS={type:3,value:"SYNCHRONOUS"},mn.USERDEFINED={type:3,value:"USERDEFINED"},mn.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcElectricMotorTypeEnum=mn;var wn=P((function e(){b(this,e)}));wn.TIMECLOCK={type:3,value:"TIMECLOCK"},wn.TIMEDELAY={type:3,value:"TIMEDELAY"},wn.RELAY={type:3,value:"RELAY"},wn.USERDEFINED={type:3,value:"USERDEFINED"},wn.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcElectricTimeControlTypeEnum=wn;var gn=P((function e(){b(this,e)}));gn.ACCESSORY_ASSEMBLY={type:3,value:"ACCESSORY_ASSEMBLY"},gn.ARCH={type:3,value:"ARCH"},gn.BEAM_GRID={type:3,value:"BEAM_GRID"},gn.BRACED_FRAME={type:3,value:"BRACED_FRAME"},gn.GIRDER={type:3,value:"GIRDER"},gn.REINFORCEMENT_UNIT={type:3,value:"REINFORCEMENT_UNIT"},gn.RIGID_FRAME={type:3,value:"RIGID_FRAME"},gn.SLAB_FIELD={type:3,value:"SLAB_FIELD"},gn.TRUSS={type:3,value:"TRUSS"},gn.USERDEFINED={type:3,value:"USERDEFINED"},gn.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcElementAssemblyTypeEnum=gn;var En=P((function e(){b(this,e)}));En.COMPLEX={type:3,value:"COMPLEX"},En.ELEMENT={type:3,value:"ELEMENT"},En.PARTIAL={type:3,value:"PARTIAL"},e.IfcElementCompositionEnum=En;var Tn=P((function e(){b(this,e)}));Tn.PRIMARY={type:3,value:"PRIMARY"},Tn.SECONDARY={type:3,value:"SECONDARY"},Tn.TERTIARY={type:3,value:"TERTIARY"},Tn.AUXILIARY={type:3,value:"AUXILIARY"},Tn.USERDEFINED={type:3,value:"USERDEFINED"},Tn.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcEnergySequenceEnum=Tn;var bn=P((function e(){b(this,e)}));bn.COMBINEDVALUE={type:3,value:"COMBINEDVALUE"},bn.DISPOSAL={type:3,value:"DISPOSAL"},bn.EXTRACTION={type:3,value:"EXTRACTION"},bn.INSTALLATION={type:3,value:"INSTALLATION"},bn.MANUFACTURE={type:3,value:"MANUFACTURE"},bn.TRANSPORTATION={type:3,value:"TRANSPORTATION"},bn.USERDEFINED={type:3,value:"USERDEFINED"},bn.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcEnvironmentalImpactCategoryEnum=bn;var Dn=P((function e(){b(this,e)}));Dn.DIRECTEVAPORATIVERANDOMMEDIAAIRCOOLER={type:3,value:"DIRECTEVAPORATIVERANDOMMEDIAAIRCOOLER"},Dn.DIRECTEVAPORATIVERIGIDMEDIAAIRCOOLER={type:3,value:"DIRECTEVAPORATIVERIGIDMEDIAAIRCOOLER"},Dn.DIRECTEVAPORATIVESLINGERSPACKAGEDAIRCOOLER={type:3,value:"DIRECTEVAPORATIVESLINGERSPACKAGEDAIRCOOLER"},Dn.DIRECTEVAPORATIVEPACKAGEDROTARYAIRCOOLER={type:3,value:"DIRECTEVAPORATIVEPACKAGEDROTARYAIRCOOLER"},Dn.DIRECTEVAPORATIVEAIRWASHER={type:3,value:"DIRECTEVAPORATIVEAIRWASHER"},Dn.INDIRECTEVAPORATIVEPACKAGEAIRCOOLER={type:3,value:"INDIRECTEVAPORATIVEPACKAGEAIRCOOLER"},Dn.INDIRECTEVAPORATIVEWETCOIL={type:3,value:"INDIRECTEVAPORATIVEWETCOIL"},Dn.INDIRECTEVAPORATIVECOOLINGTOWERORCOILCOOLER={type:3,value:"INDIRECTEVAPORATIVECOOLINGTOWERORCOILCOOLER"},Dn.INDIRECTDIRECTCOMBINATION={type:3,value:"INDIRECTDIRECTCOMBINATION"},Dn.USERDEFINED={type:3,value:"USERDEFINED"},Dn.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcEvaporativeCoolerTypeEnum=Dn;var Pn=P((function e(){b(this,e)}));Pn.DIRECTEXPANSIONSHELLANDTUBE={type:3,value:"DIRECTEXPANSIONSHELLANDTUBE"},Pn.DIRECTEXPANSIONTUBEINTUBE={type:3,value:"DIRECTEXPANSIONTUBEINTUBE"},Pn.DIRECTEXPANSIONBRAZEDPLATE={type:3,value:"DIRECTEXPANSIONBRAZEDPLATE"},Pn.FLOODEDSHELLANDTUBE={type:3,value:"FLOODEDSHELLANDTUBE"},Pn.SHELLANDCOIL={type:3,value:"SHELLANDCOIL"},Pn.USERDEFINED={type:3,value:"USERDEFINED"},Pn.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcEvaporatorTypeEnum=Pn;var Rn=P((function e(){b(this,e)}));Rn.CENTRIFUGALFORWARDCURVED={type:3,value:"CENTRIFUGALFORWARDCURVED"},Rn.CENTRIFUGALRADIAL={type:3,value:"CENTRIFUGALRADIAL"},Rn.CENTRIFUGALBACKWARDINCLINEDCURVED={type:3,value:"CENTRIFUGALBACKWARDINCLINEDCURVED"},Rn.CENTRIFUGALAIRFOIL={type:3,value:"CENTRIFUGALAIRFOIL"},Rn.TUBEAXIAL={type:3,value:"TUBEAXIAL"},Rn.VANEAXIAL={type:3,value:"VANEAXIAL"},Rn.PROPELLORAXIAL={type:3,value:"PROPELLORAXIAL"},Rn.USERDEFINED={type:3,value:"USERDEFINED"},Rn.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcFanTypeEnum=Rn;var Cn=P((function e(){b(this,e)}));Cn.AIRPARTICLEFILTER={type:3,value:"AIRPARTICLEFILTER"},Cn.ODORFILTER={type:3,value:"ODORFILTER"},Cn.OILFILTER={type:3,value:"OILFILTER"},Cn.STRAINER={type:3,value:"STRAINER"},Cn.WATERFILTER={type:3,value:"WATERFILTER"},Cn.USERDEFINED={type:3,value:"USERDEFINED"},Cn.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcFilterTypeEnum=Cn;var _n=P((function e(){b(this,e)}));_n.BREECHINGINLET={type:3,value:"BREECHINGINLET"},_n.FIREHYDRANT={type:3,value:"FIREHYDRANT"},_n.HOSEREEL={type:3,value:"HOSEREEL"},_n.SPRINKLER={type:3,value:"SPRINKLER"},_n.SPRINKLERDEFLECTOR={type:3,value:"SPRINKLERDEFLECTOR"},_n.USERDEFINED={type:3,value:"USERDEFINED"},_n.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcFireSuppressionTerminalTypeEnum=_n;var Bn=P((function e(){b(this,e)}));Bn.SOURCE={type:3,value:"SOURCE"},Bn.SINK={type:3,value:"SINK"},Bn.SOURCEANDSINK={type:3,value:"SOURCEANDSINK"},Bn.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcFlowDirectionEnum=Bn;var On=P((function e(){b(this,e)}));On.PRESSUREGAUGE={type:3,value:"PRESSUREGAUGE"},On.THERMOMETER={type:3,value:"THERMOMETER"},On.AMMETER={type:3,value:"AMMETER"},On.FREQUENCYMETER={type:3,value:"FREQUENCYMETER"},On.POWERFACTORMETER={type:3,value:"POWERFACTORMETER"},On.PHASEANGLEMETER={type:3,value:"PHASEANGLEMETER"},On.VOLTMETER_PEAK={type:3,value:"VOLTMETER_PEAK"},On.VOLTMETER_RMS={type:3,value:"VOLTMETER_RMS"},On.USERDEFINED={type:3,value:"USERDEFINED"},On.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcFlowInstrumentTypeEnum=On;var Sn=P((function e(){b(this,e)}));Sn.ELECTRICMETER={type:3,value:"ELECTRICMETER"},Sn.ENERGYMETER={type:3,value:"ENERGYMETER"},Sn.FLOWMETER={type:3,value:"FLOWMETER"},Sn.GASMETER={type:3,value:"GASMETER"},Sn.OILMETER={type:3,value:"OILMETER"},Sn.WATERMETER={type:3,value:"WATERMETER"},Sn.USERDEFINED={type:3,value:"USERDEFINED"},Sn.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcFlowMeterTypeEnum=Sn;var Nn=P((function e(){b(this,e)}));Nn.FOOTING_BEAM={type:3,value:"FOOTING_BEAM"},Nn.PAD_FOOTING={type:3,value:"PAD_FOOTING"},Nn.PILE_CAP={type:3,value:"PILE_CAP"},Nn.STRIP_FOOTING={type:3,value:"STRIP_FOOTING"},Nn.USERDEFINED={type:3,value:"USERDEFINED"},Nn.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcFootingTypeEnum=Nn;var Ln=P((function e(){b(this,e)}));Ln.GASAPPLIANCE={type:3,value:"GASAPPLIANCE"},Ln.GASBOOSTER={type:3,value:"GASBOOSTER"},Ln.GASBURNER={type:3,value:"GASBURNER"},Ln.USERDEFINED={type:3,value:"USERDEFINED"},Ln.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcGasTerminalTypeEnum=Ln;var Mn=P((function e(){b(this,e)}));Mn.GRAPH_VIEW={type:3,value:"GRAPH_VIEW"},Mn.SKETCH_VIEW={type:3,value:"SKETCH_VIEW"},Mn.MODEL_VIEW={type:3,value:"MODEL_VIEW"},Mn.PLAN_VIEW={type:3,value:"PLAN_VIEW"},Mn.REFLECTED_PLAN_VIEW={type:3,value:"REFLECTED_PLAN_VIEW"},Mn.SECTION_VIEW={type:3,value:"SECTION_VIEW"},Mn.ELEVATION_VIEW={type:3,value:"ELEVATION_VIEW"},Mn.USERDEFINED={type:3,value:"USERDEFINED"},Mn.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcGeometricProjectionEnum=Mn;var xn=P((function e(){b(this,e)}));xn.GLOBAL_COORDS={type:3,value:"GLOBAL_COORDS"},xn.LOCAL_COORDS={type:3,value:"LOCAL_COORDS"},e.IfcGlobalOrLocalEnum=xn;var Fn=P((function e(){b(this,e)}));Fn.PLATE={type:3,value:"PLATE"},Fn.SHELLANDTUBE={type:3,value:"SHELLANDTUBE"},Fn.USERDEFINED={type:3,value:"USERDEFINED"},Fn.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcHeatExchangerTypeEnum=Fn;var Hn=P((function e(){b(this,e)}));Hn.STEAMINJECTION={type:3,value:"STEAMINJECTION"},Hn.ADIABATICAIRWASHER={type:3,value:"ADIABATICAIRWASHER"},Hn.ADIABATICPAN={type:3,value:"ADIABATICPAN"},Hn.ADIABATICWETTEDELEMENT={type:3,value:"ADIABATICWETTEDELEMENT"},Hn.ADIABATICATOMIZING={type:3,value:"ADIABATICATOMIZING"},Hn.ADIABATICULTRASONIC={type:3,value:"ADIABATICULTRASONIC"},Hn.ADIABATICRIGIDMEDIA={type:3,value:"ADIABATICRIGIDMEDIA"},Hn.ADIABATICCOMPRESSEDAIRNOZZLE={type:3,value:"ADIABATICCOMPRESSEDAIRNOZZLE"},Hn.ASSISTEDELECTRIC={type:3,value:"ASSISTEDELECTRIC"},Hn.ASSISTEDNATURALGAS={type:3,value:"ASSISTEDNATURALGAS"},Hn.ASSISTEDPROPANE={type:3,value:"ASSISTEDPROPANE"},Hn.ASSISTEDBUTANE={type:3,value:"ASSISTEDBUTANE"},Hn.ASSISTEDSTEAM={type:3,value:"ASSISTEDSTEAM"},Hn.USERDEFINED={type:3,value:"USERDEFINED"},Hn.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcHumidifierTypeEnum=Hn;var Un=P((function e(){b(this,e)}));Un.INTERNAL={type:3,value:"INTERNAL"},Un.EXTERNAL={type:3,value:"EXTERNAL"},Un.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcInternalOrExternalEnum=Un;var Gn=P((function e(){b(this,e)}));Gn.ASSETINVENTORY={type:3,value:"ASSETINVENTORY"},Gn.SPACEINVENTORY={type:3,value:"SPACEINVENTORY"},Gn.FURNITUREINVENTORY={type:3,value:"FURNITUREINVENTORY"},Gn.USERDEFINED={type:3,value:"USERDEFINED"},Gn.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcInventoryTypeEnum=Gn;var kn=P((function e(){b(this,e)}));kn.USERDEFINED={type:3,value:"USERDEFINED"},kn.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcJunctionBoxTypeEnum=kn;var jn=P((function e(){b(this,e)}));jn.COMPACTFLUORESCENT={type:3,value:"COMPACTFLUORESCENT"},jn.FLUORESCENT={type:3,value:"FLUORESCENT"},jn.HIGHPRESSUREMERCURY={type:3,value:"HIGHPRESSUREMERCURY"},jn.HIGHPRESSURESODIUM={type:3,value:"HIGHPRESSURESODIUM"},jn.METALHALIDE={type:3,value:"METALHALIDE"},jn.TUNGSTENFILAMENT={type:3,value:"TUNGSTENFILAMENT"},jn.USERDEFINED={type:3,value:"USERDEFINED"},jn.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcLampTypeEnum=jn;var Vn=P((function e(){b(this,e)}));Vn.AXIS1={type:3,value:"AXIS1"},Vn.AXIS2={type:3,value:"AXIS2"},Vn.AXIS3={type:3,value:"AXIS3"},e.IfcLayerSetDirectionEnum=Vn;var Qn=P((function e(){b(this,e)}));Qn.TYPE_A={type:3,value:"TYPE_A"},Qn.TYPE_B={type:3,value:"TYPE_B"},Qn.TYPE_C={type:3,value:"TYPE_C"},Qn.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcLightDistributionCurveEnum=Qn;var Wn=P((function e(){b(this,e)}));Wn.COMPACTFLUORESCENT={type:3,value:"COMPACTFLUORESCENT"},Wn.FLUORESCENT={type:3,value:"FLUORESCENT"},Wn.HIGHPRESSUREMERCURY={type:3,value:"HIGHPRESSUREMERCURY"},Wn.HIGHPRESSURESODIUM={type:3,value:"HIGHPRESSURESODIUM"},Wn.LIGHTEMITTINGDIODE={type:3,value:"LIGHTEMITTINGDIODE"},Wn.LOWPRESSURESODIUM={type:3,value:"LOWPRESSURESODIUM"},Wn.LOWVOLTAGEHALOGEN={type:3,value:"LOWVOLTAGEHALOGEN"},Wn.MAINVOLTAGEHALOGEN={type:3,value:"MAINVOLTAGEHALOGEN"},Wn.METALHALIDE={type:3,value:"METALHALIDE"},Wn.TUNGSTENFILAMENT={type:3,value:"TUNGSTENFILAMENT"},Wn.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcLightEmissionSourceEnum=Wn;var zn=P((function e(){b(this,e)}));zn.POINTSOURCE={type:3,value:"POINTSOURCE"},zn.DIRECTIONSOURCE={type:3,value:"DIRECTIONSOURCE"},zn.USERDEFINED={type:3,value:"USERDEFINED"},zn.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcLightFixtureTypeEnum=zn;var Kn=P((function e(){b(this,e)}));Kn.LOAD_GROUP={type:3,value:"LOAD_GROUP"},Kn.LOAD_CASE={type:3,value:"LOAD_CASE"},Kn.LOAD_COMBINATION_GROUP={type:3,value:"LOAD_COMBINATION_GROUP"},Kn.LOAD_COMBINATION={type:3,value:"LOAD_COMBINATION"},Kn.USERDEFINED={type:3,value:"USERDEFINED"},Kn.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcLoadGroupTypeEnum=Kn;var Yn=P((function e(){b(this,e)}));Yn.LOGICALAND={type:3,value:"LOGICALAND"},Yn.LOGICALOR={type:3,value:"LOGICALOR"},e.IfcLogicalOperatorEnum=Yn;var Xn=P((function e(){b(this,e)}));Xn.BRACE={type:3,value:"BRACE"},Xn.CHORD={type:3,value:"CHORD"},Xn.COLLAR={type:3,value:"COLLAR"},Xn.MEMBER={type:3,value:"MEMBER"},Xn.MULLION={type:3,value:"MULLION"},Xn.PLATE={type:3,value:"PLATE"},Xn.POST={type:3,value:"POST"},Xn.PURLIN={type:3,value:"PURLIN"},Xn.RAFTER={type:3,value:"RAFTER"},Xn.STRINGER={type:3,value:"STRINGER"},Xn.STRUT={type:3,value:"STRUT"},Xn.STUD={type:3,value:"STUD"},Xn.USERDEFINED={type:3,value:"USERDEFINED"},Xn.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcMemberTypeEnum=Xn;var qn=P((function e(){b(this,e)}));qn.BELTDRIVE={type:3,value:"BELTDRIVE"},qn.COUPLING={type:3,value:"COUPLING"},qn.DIRECTDRIVE={type:3,value:"DIRECTDRIVE"},qn.USERDEFINED={type:3,value:"USERDEFINED"},qn.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcMotorConnectionTypeEnum=qn;var Jn=P((function e(){b(this,e)}));Jn.NULL={type:3,value:"NULL"},e.IfcNullStyle=Jn;var Zn=P((function e(){b(this,e)}));Zn.PRODUCT={type:3,value:"PRODUCT"},Zn.PROCESS={type:3,value:"PROCESS"},Zn.CONTROL={type:3,value:"CONTROL"},Zn.RESOURCE={type:3,value:"RESOURCE"},Zn.ACTOR={type:3,value:"ACTOR"},Zn.GROUP={type:3,value:"GROUP"},Zn.PROJECT={type:3,value:"PROJECT"},Zn.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcObjectTypeEnum=Zn;var $n=P((function e(){b(this,e)}));$n.CODECOMPLIANCE={type:3,value:"CODECOMPLIANCE"},$n.DESIGNINTENT={type:3,value:"DESIGNINTENT"},$n.HEALTHANDSAFETY={type:3,value:"HEALTHANDSAFETY"},$n.REQUIREMENT={type:3,value:"REQUIREMENT"},$n.SPECIFICATION={type:3,value:"SPECIFICATION"},$n.TRIGGERCONDITION={type:3,value:"TRIGGERCONDITION"},$n.USERDEFINED={type:3,value:"USERDEFINED"},$n.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcObjectiveEnum=$n;var er=P((function e(){b(this,e)}));er.ASSIGNEE={type:3,value:"ASSIGNEE"},er.ASSIGNOR={type:3,value:"ASSIGNOR"},er.LESSEE={type:3,value:"LESSEE"},er.LESSOR={type:3,value:"LESSOR"},er.LETTINGAGENT={type:3,value:"LETTINGAGENT"},er.OWNER={type:3,value:"OWNER"},er.TENANT={type:3,value:"TENANT"},er.USERDEFINED={type:3,value:"USERDEFINED"},er.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcOccupantTypeEnum=er;var tr=P((function e(){b(this,e)}));tr.AUDIOVISUALOUTLET={type:3,value:"AUDIOVISUALOUTLET"},tr.COMMUNICATIONSOUTLET={type:3,value:"COMMUNICATIONSOUTLET"},tr.POWEROUTLET={type:3,value:"POWEROUTLET"},tr.USERDEFINED={type:3,value:"USERDEFINED"},tr.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcOutletTypeEnum=tr;var nr=P((function e(){b(this,e)}));nr.GRILL={type:3,value:"GRILL"},nr.LOUVER={type:3,value:"LOUVER"},nr.SCREEN={type:3,value:"SCREEN"},nr.USERDEFINED={type:3,value:"USERDEFINED"},nr.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcPermeableCoveringOperationEnum=nr;var rr=P((function e(){b(this,e)}));rr.PHYSICAL={type:3,value:"PHYSICAL"},rr.VIRTUAL={type:3,value:"VIRTUAL"},rr.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcPhysicalOrVirtualEnum=rr;var ir=P((function e(){b(this,e)}));ir.CAST_IN_PLACE={type:3,value:"CAST_IN_PLACE"},ir.COMPOSITE={type:3,value:"COMPOSITE"},ir.PRECAST_CONCRETE={type:3,value:"PRECAST_CONCRETE"},ir.PREFAB_STEEL={type:3,value:"PREFAB_STEEL"},ir.USERDEFINED={type:3,value:"USERDEFINED"},ir.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcPileConstructionEnum=ir;var ar=P((function e(){b(this,e)}));ar.COHESION={type:3,value:"COHESION"},ar.FRICTION={type:3,value:"FRICTION"},ar.SUPPORT={type:3,value:"SUPPORT"},ar.USERDEFINED={type:3,value:"USERDEFINED"},ar.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcPileTypeEnum=ar;var sr=P((function e(){b(this,e)}));sr.BEND={type:3,value:"BEND"},sr.CONNECTOR={type:3,value:"CONNECTOR"},sr.ENTRY={type:3,value:"ENTRY"},sr.EXIT={type:3,value:"EXIT"},sr.JUNCTION={type:3,value:"JUNCTION"},sr.OBSTRUCTION={type:3,value:"OBSTRUCTION"},sr.TRANSITION={type:3,value:"TRANSITION"},sr.USERDEFINED={type:3,value:"USERDEFINED"},sr.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcPipeFittingTypeEnum=sr;var or=P((function e(){b(this,e)}));or.FLEXIBLESEGMENT={type:3,value:"FLEXIBLESEGMENT"},or.RIGIDSEGMENT={type:3,value:"RIGIDSEGMENT"},or.GUTTER={type:3,value:"GUTTER"},or.SPOOL={type:3,value:"SPOOL"},or.USERDEFINED={type:3,value:"USERDEFINED"},or.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcPipeSegmentTypeEnum=or;var lr=P((function e(){b(this,e)}));lr.CURTAIN_PANEL={type:3,value:"CURTAIN_PANEL"},lr.SHEET={type:3,value:"SHEET"},lr.USERDEFINED={type:3,value:"USERDEFINED"},lr.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcPlateTypeEnum=lr;var ur=P((function e(){b(this,e)}));ur.ADVICE_CAUTION={type:3,value:"ADVICE_CAUTION"},ur.ADVICE_NOTE={type:3,value:"ADVICE_NOTE"},ur.ADVICE_WARNING={type:3,value:"ADVICE_WARNING"},ur.CALIBRATION={type:3,value:"CALIBRATION"},ur.DIAGNOSTIC={type:3,value:"DIAGNOSTIC"},ur.SHUTDOWN={type:3,value:"SHUTDOWN"},ur.STARTUP={type:3,value:"STARTUP"},ur.USERDEFINED={type:3,value:"USERDEFINED"},ur.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcProcedureTypeEnum=ur;var cr=P((function e(){b(this,e)}));cr.CURVE={type:3,value:"CURVE"},cr.AREA={type:3,value:"AREA"},e.IfcProfileTypeEnum=cr;var fr=P((function e(){b(this,e)}));fr.CHANGE={type:3,value:"CHANGE"},fr.MAINTENANCE={type:3,value:"MAINTENANCE"},fr.MOVE={type:3,value:"MOVE"},fr.PURCHASE={type:3,value:"PURCHASE"},fr.WORK={type:3,value:"WORK"},fr.USERDEFINED={type:3,value:"USERDEFINED"},fr.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcProjectOrderRecordTypeEnum=fr;var pr=P((function e(){b(this,e)}));pr.CHANGEORDER={type:3,value:"CHANGEORDER"},pr.MAINTENANCEWORKORDER={type:3,value:"MAINTENANCEWORKORDER"},pr.MOVEORDER={type:3,value:"MOVEORDER"},pr.PURCHASEORDER={type:3,value:"PURCHASEORDER"},pr.WORKORDER={type:3,value:"WORKORDER"},pr.USERDEFINED={type:3,value:"USERDEFINED"},pr.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcProjectOrderTypeEnum=pr;var Ar=P((function e(){b(this,e)}));Ar.PROJECTED_LENGTH={type:3,value:"PROJECTED_LENGTH"},Ar.TRUE_LENGTH={type:3,value:"TRUE_LENGTH"},e.IfcProjectedOrTrueLengthEnum=Ar;var dr=P((function e(){b(this,e)}));dr.DESIGN={type:3,value:"DESIGN"},dr.DESIGNMAXIMUM={type:3,value:"DESIGNMAXIMUM"},dr.DESIGNMINIMUM={type:3,value:"DESIGNMINIMUM"},dr.SIMULATED={type:3,value:"SIMULATED"},dr.ASBUILT={type:3,value:"ASBUILT"},dr.COMMISSIONING={type:3,value:"COMMISSIONING"},dr.MEASURED={type:3,value:"MEASURED"},dr.USERDEFINED={type:3,value:"USERDEFINED"},dr.NOTKNOWN={type:3,value:"NOTKNOWN"},e.IfcPropertySourceEnum=dr;var vr=P((function e(){b(this,e)}));vr.FUSEDISCONNECTOR={type:3,value:"FUSEDISCONNECTOR"},vr.CIRCUITBREAKER={type:3,value:"CIRCUITBREAKER"},vr.EARTHFAILUREDEVICE={type:3,value:"EARTHFAILUREDEVICE"},vr.RESIDUALCURRENTCIRCUITBREAKER={type:3,value:"RESIDUALCURRENTCIRCUITBREAKER"},vr.RESIDUALCURRENTSWITCH={type:3,value:"RESIDUALCURRENTSWITCH"},vr.VARISTOR={type:3,value:"VARISTOR"},vr.USERDEFINED={type:3,value:"USERDEFINED"},vr.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcProtectiveDeviceTypeEnum=vr;var hr=P((function e(){b(this,e)}));hr.CIRCULATOR={type:3,value:"CIRCULATOR"},hr.ENDSUCTION={type:3,value:"ENDSUCTION"},hr.SPLITCASE={type:3,value:"SPLITCASE"},hr.VERTICALINLINE={type:3,value:"VERTICALINLINE"},hr.VERTICALTURBINE={type:3,value:"VERTICALTURBINE"},hr.USERDEFINED={type:3,value:"USERDEFINED"},hr.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcPumpTypeEnum=hr;var Ir=P((function e(){b(this,e)}));Ir.HANDRAIL={type:3,value:"HANDRAIL"},Ir.GUARDRAIL={type:3,value:"GUARDRAIL"},Ir.BALUSTRADE={type:3,value:"BALUSTRADE"},Ir.USERDEFINED={type:3,value:"USERDEFINED"},Ir.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcRailingTypeEnum=Ir;var yr=P((function e(){b(this,e)}));yr.STRAIGHT={type:3,value:"STRAIGHT"},yr.SPIRAL={type:3,value:"SPIRAL"},yr.USERDEFINED={type:3,value:"USERDEFINED"},yr.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcRampFlightTypeEnum=yr;var mr=P((function e(){b(this,e)}));mr.STRAIGHT_RUN_RAMP={type:3,value:"STRAIGHT_RUN_RAMP"},mr.TWO_STRAIGHT_RUN_RAMP={type:3,value:"TWO_STRAIGHT_RUN_RAMP"},mr.QUARTER_TURN_RAMP={type:3,value:"QUARTER_TURN_RAMP"},mr.TWO_QUARTER_TURN_RAMP={type:3,value:"TWO_QUARTER_TURN_RAMP"},mr.HALF_TURN_RAMP={type:3,value:"HALF_TURN_RAMP"},mr.SPIRAL_RAMP={type:3,value:"SPIRAL_RAMP"},mr.USERDEFINED={type:3,value:"USERDEFINED"},mr.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcRampTypeEnum=mr;var wr=P((function e(){b(this,e)}));wr.BLINN={type:3,value:"BLINN"},wr.FLAT={type:3,value:"FLAT"},wr.GLASS={type:3,value:"GLASS"},wr.MATT={type:3,value:"MATT"},wr.METAL={type:3,value:"METAL"},wr.MIRROR={type:3,value:"MIRROR"},wr.PHONG={type:3,value:"PHONG"},wr.PLASTIC={type:3,value:"PLASTIC"},wr.STRAUSS={type:3,value:"STRAUSS"},wr.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcReflectanceMethodEnum=wr;var gr=P((function e(){b(this,e)}));gr.MAIN={type:3,value:"MAIN"},gr.SHEAR={type:3,value:"SHEAR"},gr.LIGATURE={type:3,value:"LIGATURE"},gr.STUD={type:3,value:"STUD"},gr.PUNCHING={type:3,value:"PUNCHING"},gr.EDGE={type:3,value:"EDGE"},gr.RING={type:3,value:"RING"},gr.USERDEFINED={type:3,value:"USERDEFINED"},gr.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcReinforcingBarRoleEnum=gr;var Er=P((function e(){b(this,e)}));Er.PLAIN={type:3,value:"PLAIN"},Er.TEXTURED={type:3,value:"TEXTURED"},e.IfcReinforcingBarSurfaceEnum=Er;var Tr=P((function e(){b(this,e)}));Tr.CONSUMED={type:3,value:"CONSUMED"},Tr.PARTIALLYCONSUMED={type:3,value:"PARTIALLYCONSUMED"},Tr.NOTCONSUMED={type:3,value:"NOTCONSUMED"},Tr.OCCUPIED={type:3,value:"OCCUPIED"},Tr.PARTIALLYOCCUPIED={type:3,value:"PARTIALLYOCCUPIED"},Tr.NOTOCCUPIED={type:3,value:"NOTOCCUPIED"},Tr.USERDEFINED={type:3,value:"USERDEFINED"},Tr.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcResourceConsumptionEnum=Tr;var br=P((function e(){b(this,e)}));br.DIRECTION_X={type:3,value:"DIRECTION_X"},br.DIRECTION_Y={type:3,value:"DIRECTION_Y"},e.IfcRibPlateDirectionEnum=br;var Dr=P((function e(){b(this,e)}));Dr.SUPPLIER={type:3,value:"SUPPLIER"},Dr.MANUFACTURER={type:3,value:"MANUFACTURER"},Dr.CONTRACTOR={type:3,value:"CONTRACTOR"},Dr.SUBCONTRACTOR={type:3,value:"SUBCONTRACTOR"},Dr.ARCHITECT={type:3,value:"ARCHITECT"},Dr.STRUCTURALENGINEER={type:3,value:"STRUCTURALENGINEER"},Dr.COSTENGINEER={type:3,value:"COSTENGINEER"},Dr.CLIENT={type:3,value:"CLIENT"},Dr.BUILDINGOWNER={type:3,value:"BUILDINGOWNER"},Dr.BUILDINGOPERATOR={type:3,value:"BUILDINGOPERATOR"},Dr.MECHANICALENGINEER={type:3,value:"MECHANICALENGINEER"},Dr.ELECTRICALENGINEER={type:3,value:"ELECTRICALENGINEER"},Dr.PROJECTMANAGER={type:3,value:"PROJECTMANAGER"},Dr.FACILITIESMANAGER={type:3,value:"FACILITIESMANAGER"},Dr.CIVILENGINEER={type:3,value:"CIVILENGINEER"},Dr.COMISSIONINGENGINEER={type:3,value:"COMISSIONINGENGINEER"},Dr.ENGINEER={type:3,value:"ENGINEER"},Dr.OWNER={type:3,value:"OWNER"},Dr.CONSULTANT={type:3,value:"CONSULTANT"},Dr.CONSTRUCTIONMANAGER={type:3,value:"CONSTRUCTIONMANAGER"},Dr.FIELDCONSTRUCTIONMANAGER={type:3,value:"FIELDCONSTRUCTIONMANAGER"},Dr.RESELLER={type:3,value:"RESELLER"},Dr.USERDEFINED={type:3,value:"USERDEFINED"},e.IfcRoleEnum=Dr;var Pr=P((function e(){b(this,e)}));Pr.FLAT_ROOF={type:3,value:"FLAT_ROOF"},Pr.SHED_ROOF={type:3,value:"SHED_ROOF"},Pr.GABLE_ROOF={type:3,value:"GABLE_ROOF"},Pr.HIP_ROOF={type:3,value:"HIP_ROOF"},Pr.HIPPED_GABLE_ROOF={type:3,value:"HIPPED_GABLE_ROOF"},Pr.GAMBREL_ROOF={type:3,value:"GAMBREL_ROOF"},Pr.MANSARD_ROOF={type:3,value:"MANSARD_ROOF"},Pr.BARREL_ROOF={type:3,value:"BARREL_ROOF"},Pr.RAINBOW_ROOF={type:3,value:"RAINBOW_ROOF"},Pr.BUTTERFLY_ROOF={type:3,value:"BUTTERFLY_ROOF"},Pr.PAVILION_ROOF={type:3,value:"PAVILION_ROOF"},Pr.DOME_ROOF={type:3,value:"DOME_ROOF"},Pr.FREEFORM={type:3,value:"FREEFORM"},Pr.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcRoofTypeEnum=Pr;var Rr=P((function e(){b(this,e)}));Rr.EXA={type:3,value:"EXA"},Rr.PETA={type:3,value:"PETA"},Rr.TERA={type:3,value:"TERA"},Rr.GIGA={type:3,value:"GIGA"},Rr.MEGA={type:3,value:"MEGA"},Rr.KILO={type:3,value:"KILO"},Rr.HECTO={type:3,value:"HECTO"},Rr.DECA={type:3,value:"DECA"},Rr.DECI={type:3,value:"DECI"},Rr.CENTI={type:3,value:"CENTI"},Rr.MILLI={type:3,value:"MILLI"},Rr.MICRO={type:3,value:"MICRO"},Rr.NANO={type:3,value:"NANO"},Rr.PICO={type:3,value:"PICO"},Rr.FEMTO={type:3,value:"FEMTO"},Rr.ATTO={type:3,value:"ATTO"},e.IfcSIPrefix=Rr;var Cr=P((function e(){b(this,e)}));Cr.AMPERE={type:3,value:"AMPERE"},Cr.BECQUEREL={type:3,value:"BECQUEREL"},Cr.CANDELA={type:3,value:"CANDELA"},Cr.COULOMB={type:3,value:"COULOMB"},Cr.CUBIC_METRE={type:3,value:"CUBIC_METRE"},Cr.DEGREE_CELSIUS={type:3,value:"DEGREE_CELSIUS"},Cr.FARAD={type:3,value:"FARAD"},Cr.GRAM={type:3,value:"GRAM"},Cr.GRAY={type:3,value:"GRAY"},Cr.HENRY={type:3,value:"HENRY"},Cr.HERTZ={type:3,value:"HERTZ"},Cr.JOULE={type:3,value:"JOULE"},Cr.KELVIN={type:3,value:"KELVIN"},Cr.LUMEN={type:3,value:"LUMEN"},Cr.LUX={type:3,value:"LUX"},Cr.METRE={type:3,value:"METRE"},Cr.MOLE={type:3,value:"MOLE"},Cr.NEWTON={type:3,value:"NEWTON"},Cr.OHM={type:3,value:"OHM"},Cr.PASCAL={type:3,value:"PASCAL"},Cr.RADIAN={type:3,value:"RADIAN"},Cr.SECOND={type:3,value:"SECOND"},Cr.SIEMENS={type:3,value:"SIEMENS"},Cr.SIEVERT={type:3,value:"SIEVERT"},Cr.SQUARE_METRE={type:3,value:"SQUARE_METRE"},Cr.STERADIAN={type:3,value:"STERADIAN"},Cr.TESLA={type:3,value:"TESLA"},Cr.VOLT={type:3,value:"VOLT"},Cr.WATT={type:3,value:"WATT"},Cr.WEBER={type:3,value:"WEBER"},e.IfcSIUnitName=Cr;var _r=P((function e(){b(this,e)}));_r.BATH={type:3,value:"BATH"},_r.BIDET={type:3,value:"BIDET"},_r.CISTERN={type:3,value:"CISTERN"},_r.SHOWER={type:3,value:"SHOWER"},_r.SINK={type:3,value:"SINK"},_r.SANITARYFOUNTAIN={type:3,value:"SANITARYFOUNTAIN"},_r.TOILETPAN={type:3,value:"TOILETPAN"},_r.URINAL={type:3,value:"URINAL"},_r.WASHHANDBASIN={type:3,value:"WASHHANDBASIN"},_r.WCSEAT={type:3,value:"WCSEAT"},_r.USERDEFINED={type:3,value:"USERDEFINED"},_r.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcSanitaryTerminalTypeEnum=_r;var Br=P((function e(){b(this,e)}));Br.UNIFORM={type:3,value:"UNIFORM"},Br.TAPERED={type:3,value:"TAPERED"},e.IfcSectionTypeEnum=Br;var Or=P((function e(){b(this,e)}));Or.CO2SENSOR={type:3,value:"CO2SENSOR"},Or.FIRESENSOR={type:3,value:"FIRESENSOR"},Or.FLOWSENSOR={type:3,value:"FLOWSENSOR"},Or.GASSENSOR={type:3,value:"GASSENSOR"},Or.HEATSENSOR={type:3,value:"HEATSENSOR"},Or.HUMIDITYSENSOR={type:3,value:"HUMIDITYSENSOR"},Or.LIGHTSENSOR={type:3,value:"LIGHTSENSOR"},Or.MOISTURESENSOR={type:3,value:"MOISTURESENSOR"},Or.MOVEMENTSENSOR={type:3,value:"MOVEMENTSENSOR"},Or.PRESSURESENSOR={type:3,value:"PRESSURESENSOR"},Or.SMOKESENSOR={type:3,value:"SMOKESENSOR"},Or.SOUNDSENSOR={type:3,value:"SOUNDSENSOR"},Or.TEMPERATURESENSOR={type:3,value:"TEMPERATURESENSOR"},Or.USERDEFINED={type:3,value:"USERDEFINED"},Or.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcSensorTypeEnum=Or;var Sr=P((function e(){b(this,e)}));Sr.START_START={type:3,value:"START_START"},Sr.START_FINISH={type:3,value:"START_FINISH"},Sr.FINISH_START={type:3,value:"FINISH_START"},Sr.FINISH_FINISH={type:3,value:"FINISH_FINISH"},Sr.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcSequenceEnum=Sr;var Nr=P((function e(){b(this,e)}));Nr.A_QUALITYOFCOMPONENTS={type:3,value:"A_QUALITYOFCOMPONENTS"},Nr.B_DESIGNLEVEL={type:3,value:"B_DESIGNLEVEL"},Nr.C_WORKEXECUTIONLEVEL={type:3,value:"C_WORKEXECUTIONLEVEL"},Nr.D_INDOORENVIRONMENT={type:3,value:"D_INDOORENVIRONMENT"},Nr.E_OUTDOORENVIRONMENT={type:3,value:"E_OUTDOORENVIRONMENT"},Nr.F_INUSECONDITIONS={type:3,value:"F_INUSECONDITIONS"},Nr.G_MAINTENANCELEVEL={type:3,value:"G_MAINTENANCELEVEL"},Nr.USERDEFINED={type:3,value:"USERDEFINED"},Nr.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcServiceLifeFactorTypeEnum=Nr;var Lr=P((function e(){b(this,e)}));Lr.ACTUALSERVICELIFE={type:3,value:"ACTUALSERVICELIFE"},Lr.EXPECTEDSERVICELIFE={type:3,value:"EXPECTEDSERVICELIFE"},Lr.OPTIMISTICREFERENCESERVICELIFE={type:3,value:"OPTIMISTICREFERENCESERVICELIFE"},Lr.PESSIMISTICREFERENCESERVICELIFE={type:3,value:"PESSIMISTICREFERENCESERVICELIFE"},Lr.REFERENCESERVICELIFE={type:3,value:"REFERENCESERVICELIFE"},e.IfcServiceLifeTypeEnum=Lr;var Mr=P((function e(){b(this,e)}));Mr.FLOOR={type:3,value:"FLOOR"},Mr.ROOF={type:3,value:"ROOF"},Mr.LANDING={type:3,value:"LANDING"},Mr.BASESLAB={type:3,value:"BASESLAB"},Mr.USERDEFINED={type:3,value:"USERDEFINED"},Mr.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcSlabTypeEnum=Mr;var xr=P((function e(){b(this,e)}));xr.DBA={type:3,value:"DBA"},xr.DBB={type:3,value:"DBB"},xr.DBC={type:3,value:"DBC"},xr.NC={type:3,value:"NC"},xr.NR={type:3,value:"NR"},xr.USERDEFINED={type:3,value:"USERDEFINED"},xr.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcSoundScaleEnum=xr;var Fr=P((function e(){b(this,e)}));Fr.SECTIONALRADIATOR={type:3,value:"SECTIONALRADIATOR"},Fr.PANELRADIATOR={type:3,value:"PANELRADIATOR"},Fr.TUBULARRADIATOR={type:3,value:"TUBULARRADIATOR"},Fr.CONVECTOR={type:3,value:"CONVECTOR"},Fr.BASEBOARDHEATER={type:3,value:"BASEBOARDHEATER"},Fr.FINNEDTUBEUNIT={type:3,value:"FINNEDTUBEUNIT"},Fr.UNITHEATER={type:3,value:"UNITHEATER"},Fr.USERDEFINED={type:3,value:"USERDEFINED"},Fr.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcSpaceHeaterTypeEnum=Fr;var Hr=P((function e(){b(this,e)}));Hr.USERDEFINED={type:3,value:"USERDEFINED"},Hr.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcSpaceTypeEnum=Hr;var Ur=P((function e(){b(this,e)}));Ur.BIRDCAGE={type:3,value:"BIRDCAGE"},Ur.COWL={type:3,value:"COWL"},Ur.RAINWATERHOPPER={type:3,value:"RAINWATERHOPPER"},Ur.USERDEFINED={type:3,value:"USERDEFINED"},Ur.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcStackTerminalTypeEnum=Ur;var Gr=P((function e(){b(this,e)}));Gr.STRAIGHT={type:3,value:"STRAIGHT"},Gr.WINDER={type:3,value:"WINDER"},Gr.SPIRAL={type:3,value:"SPIRAL"},Gr.CURVED={type:3,value:"CURVED"},Gr.FREEFORM={type:3,value:"FREEFORM"},Gr.USERDEFINED={type:3,value:"USERDEFINED"},Gr.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcStairFlightTypeEnum=Gr;var kr=P((function e(){b(this,e)}));kr.STRAIGHT_RUN_STAIR={type:3,value:"STRAIGHT_RUN_STAIR"},kr.TWO_STRAIGHT_RUN_STAIR={type:3,value:"TWO_STRAIGHT_RUN_STAIR"},kr.QUARTER_WINDING_STAIR={type:3,value:"QUARTER_WINDING_STAIR"},kr.QUARTER_TURN_STAIR={type:3,value:"QUARTER_TURN_STAIR"},kr.HALF_WINDING_STAIR={type:3,value:"HALF_WINDING_STAIR"},kr.HALF_TURN_STAIR={type:3,value:"HALF_TURN_STAIR"},kr.TWO_QUARTER_WINDING_STAIR={type:3,value:"TWO_QUARTER_WINDING_STAIR"},kr.TWO_QUARTER_TURN_STAIR={type:3,value:"TWO_QUARTER_TURN_STAIR"},kr.THREE_QUARTER_WINDING_STAIR={type:3,value:"THREE_QUARTER_WINDING_STAIR"},kr.THREE_QUARTER_TURN_STAIR={type:3,value:"THREE_QUARTER_TURN_STAIR"},kr.SPIRAL_STAIR={type:3,value:"SPIRAL_STAIR"},kr.DOUBLE_RETURN_STAIR={type:3,value:"DOUBLE_RETURN_STAIR"},kr.CURVED_RUN_STAIR={type:3,value:"CURVED_RUN_STAIR"},kr.TWO_CURVED_RUN_STAIR={type:3,value:"TWO_CURVED_RUN_STAIR"},kr.USERDEFINED={type:3,value:"USERDEFINED"},kr.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcStairTypeEnum=kr;var jr=P((function e(){b(this,e)}));jr.READWRITE={type:3,value:"READWRITE"},jr.READONLY={type:3,value:"READONLY"},jr.LOCKED={type:3,value:"LOCKED"},jr.READWRITELOCKED={type:3,value:"READWRITELOCKED"},jr.READONLYLOCKED={type:3,value:"READONLYLOCKED"},e.IfcStateEnum=jr;var Vr=P((function e(){b(this,e)}));Vr.RIGID_JOINED_MEMBER={type:3,value:"RIGID_JOINED_MEMBER"},Vr.PIN_JOINED_MEMBER={type:3,value:"PIN_JOINED_MEMBER"},Vr.CABLE={type:3,value:"CABLE"},Vr.TENSION_MEMBER={type:3,value:"TENSION_MEMBER"},Vr.COMPRESSION_MEMBER={type:3,value:"COMPRESSION_MEMBER"},Vr.USERDEFINED={type:3,value:"USERDEFINED"},Vr.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcStructuralCurveTypeEnum=Vr;var Qr=P((function e(){b(this,e)}));Qr.BENDING_ELEMENT={type:3,value:"BENDING_ELEMENT"},Qr.MEMBRANE_ELEMENT={type:3,value:"MEMBRANE_ELEMENT"},Qr.SHELL={type:3,value:"SHELL"},Qr.USERDEFINED={type:3,value:"USERDEFINED"},Qr.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcStructuralSurfaceTypeEnum=Qr;var Wr=P((function e(){b(this,e)}));Wr.POSITIVE={type:3,value:"POSITIVE"},Wr.NEGATIVE={type:3,value:"NEGATIVE"},Wr.BOTH={type:3,value:"BOTH"},e.IfcSurfaceSide=Wr;var zr=P((function e(){b(this,e)}));zr.BUMP={type:3,value:"BUMP"},zr.OPACITY={type:3,value:"OPACITY"},zr.REFLECTION={type:3,value:"REFLECTION"},zr.SELFILLUMINATION={type:3,value:"SELFILLUMINATION"},zr.SHININESS={type:3,value:"SHININESS"},zr.SPECULAR={type:3,value:"SPECULAR"},zr.TEXTURE={type:3,value:"TEXTURE"},zr.TRANSPARENCYMAP={type:3,value:"TRANSPARENCYMAP"},zr.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcSurfaceTextureEnum=zr;var Kr=P((function e(){b(this,e)}));Kr.CONTACTOR={type:3,value:"CONTACTOR"},Kr.EMERGENCYSTOP={type:3,value:"EMERGENCYSTOP"},Kr.STARTER={type:3,value:"STARTER"},Kr.SWITCHDISCONNECTOR={type:3,value:"SWITCHDISCONNECTOR"},Kr.TOGGLESWITCH={type:3,value:"TOGGLESWITCH"},Kr.USERDEFINED={type:3,value:"USERDEFINED"},Kr.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcSwitchingDeviceTypeEnum=Kr;var Yr=P((function e(){b(this,e)}));Yr.PREFORMED={type:3,value:"PREFORMED"},Yr.SECTIONAL={type:3,value:"SECTIONAL"},Yr.EXPANSION={type:3,value:"EXPANSION"},Yr.PRESSUREVESSEL={type:3,value:"PRESSUREVESSEL"},Yr.USERDEFINED={type:3,value:"USERDEFINED"},Yr.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcTankTypeEnum=Yr;var Xr=P((function e(){b(this,e)}));Xr.STRAND={type:3,value:"STRAND"},Xr.WIRE={type:3,value:"WIRE"},Xr.BAR={type:3,value:"BAR"},Xr.COATED={type:3,value:"COATED"},Xr.USERDEFINED={type:3,value:"USERDEFINED"},Xr.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcTendonTypeEnum=Xr;var qr=P((function e(){b(this,e)}));qr.LEFT={type:3,value:"LEFT"},qr.RIGHT={type:3,value:"RIGHT"},qr.UP={type:3,value:"UP"},qr.DOWN={type:3,value:"DOWN"},e.IfcTextPath=qr;var Jr=P((function e(){b(this,e)}));Jr.PEOPLE={type:3,value:"PEOPLE"},Jr.LIGHTING={type:3,value:"LIGHTING"},Jr.EQUIPMENT={type:3,value:"EQUIPMENT"},Jr.VENTILATIONINDOORAIR={type:3,value:"VENTILATIONINDOORAIR"},Jr.VENTILATIONOUTSIDEAIR={type:3,value:"VENTILATIONOUTSIDEAIR"},Jr.RECIRCULATEDAIR={type:3,value:"RECIRCULATEDAIR"},Jr.EXHAUSTAIR={type:3,value:"EXHAUSTAIR"},Jr.AIREXCHANGERATE={type:3,value:"AIREXCHANGERATE"},Jr.DRYBULBTEMPERATURE={type:3,value:"DRYBULBTEMPERATURE"},Jr.RELATIVEHUMIDITY={type:3,value:"RELATIVEHUMIDITY"},Jr.INFILTRATION={type:3,value:"INFILTRATION"},Jr.USERDEFINED={type:3,value:"USERDEFINED"},Jr.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcThermalLoadSourceEnum=Jr;var Zr=P((function e(){b(this,e)}));Zr.SENSIBLE={type:3,value:"SENSIBLE"},Zr.LATENT={type:3,value:"LATENT"},Zr.RADIANT={type:3,value:"RADIANT"},Zr.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcThermalLoadTypeEnum=Zr;var $r=P((function e(){b(this,e)}));$r.CONTINUOUS={type:3,value:"CONTINUOUS"},$r.DISCRETE={type:3,value:"DISCRETE"},$r.DISCRETEBINARY={type:3,value:"DISCRETEBINARY"},$r.PIECEWISEBINARY={type:3,value:"PIECEWISEBINARY"},$r.PIECEWISECONSTANT={type:3,value:"PIECEWISECONSTANT"},$r.PIECEWISECONTINUOUS={type:3,value:"PIECEWISECONTINUOUS"},$r.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcTimeSeriesDataTypeEnum=$r;var ei=P((function e(){b(this,e)}));ei.ANNUAL={type:3,value:"ANNUAL"},ei.MONTHLY={type:3,value:"MONTHLY"},ei.WEEKLY={type:3,value:"WEEKLY"},ei.DAILY={type:3,value:"DAILY"},ei.USERDEFINED={type:3,value:"USERDEFINED"},ei.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcTimeSeriesScheduleTypeEnum=ei;var ti=P((function e(){b(this,e)}));ti.CURRENT={type:3,value:"CURRENT"},ti.FREQUENCY={type:3,value:"FREQUENCY"},ti.VOLTAGE={type:3,value:"VOLTAGE"},ti.USERDEFINED={type:3,value:"USERDEFINED"},ti.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcTransformerTypeEnum=ti;var ni=P((function e(){b(this,e)}));ni.DISCONTINUOUS={type:3,value:"DISCONTINUOUS"},ni.CONTINUOUS={type:3,value:"CONTINUOUS"},ni.CONTSAMEGRADIENT={type:3,value:"CONTSAMEGRADIENT"},ni.CONTSAMEGRADIENTSAMECURVATURE={type:3,value:"CONTSAMEGRADIENTSAMECURVATURE"},e.IfcTransitionCode=ni;var ri=P((function e(){b(this,e)}));ri.ELEVATOR={type:3,value:"ELEVATOR"},ri.ESCALATOR={type:3,value:"ESCALATOR"},ri.MOVINGWALKWAY={type:3,value:"MOVINGWALKWAY"},ri.USERDEFINED={type:3,value:"USERDEFINED"},ri.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcTransportElementTypeEnum=ri;var ii=P((function e(){b(this,e)}));ii.CARTESIAN={type:3,value:"CARTESIAN"},ii.PARAMETER={type:3,value:"PARAMETER"},ii.UNSPECIFIED={type:3,value:"UNSPECIFIED"},e.IfcTrimmingPreference=ii;var ai=P((function e(){b(this,e)}));ai.FINNED={type:3,value:"FINNED"},ai.USERDEFINED={type:3,value:"USERDEFINED"},ai.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcTubeBundleTypeEnum=ai;var si=P((function e(){b(this,e)}));si.ABSORBEDDOSEUNIT={type:3,value:"ABSORBEDDOSEUNIT"},si.AMOUNTOFSUBSTANCEUNIT={type:3,value:"AMOUNTOFSUBSTANCEUNIT"},si.AREAUNIT={type:3,value:"AREAUNIT"},si.DOSEEQUIVALENTUNIT={type:3,value:"DOSEEQUIVALENTUNIT"},si.ELECTRICCAPACITANCEUNIT={type:3,value:"ELECTRICCAPACITANCEUNIT"},si.ELECTRICCHARGEUNIT={type:3,value:"ELECTRICCHARGEUNIT"},si.ELECTRICCONDUCTANCEUNIT={type:3,value:"ELECTRICCONDUCTANCEUNIT"},si.ELECTRICCURRENTUNIT={type:3,value:"ELECTRICCURRENTUNIT"},si.ELECTRICRESISTANCEUNIT={type:3,value:"ELECTRICRESISTANCEUNIT"},si.ELECTRICVOLTAGEUNIT={type:3,value:"ELECTRICVOLTAGEUNIT"},si.ENERGYUNIT={type:3,value:"ENERGYUNIT"},si.FORCEUNIT={type:3,value:"FORCEUNIT"},si.FREQUENCYUNIT={type:3,value:"FREQUENCYUNIT"},si.ILLUMINANCEUNIT={type:3,value:"ILLUMINANCEUNIT"},si.INDUCTANCEUNIT={type:3,value:"INDUCTANCEUNIT"},si.LENGTHUNIT={type:3,value:"LENGTHUNIT"},si.LUMINOUSFLUXUNIT={type:3,value:"LUMINOUSFLUXUNIT"},si.LUMINOUSINTENSITYUNIT={type:3,value:"LUMINOUSINTENSITYUNIT"},si.MAGNETICFLUXDENSITYUNIT={type:3,value:"MAGNETICFLUXDENSITYUNIT"},si.MAGNETICFLUXUNIT={type:3,value:"MAGNETICFLUXUNIT"},si.MASSUNIT={type:3,value:"MASSUNIT"},si.PLANEANGLEUNIT={type:3,value:"PLANEANGLEUNIT"},si.POWERUNIT={type:3,value:"POWERUNIT"},si.PRESSUREUNIT={type:3,value:"PRESSUREUNIT"},si.RADIOACTIVITYUNIT={type:3,value:"RADIOACTIVITYUNIT"},si.SOLIDANGLEUNIT={type:3,value:"SOLIDANGLEUNIT"},si.THERMODYNAMICTEMPERATUREUNIT={type:3,value:"THERMODYNAMICTEMPERATUREUNIT"},si.TIMEUNIT={type:3,value:"TIMEUNIT"},si.VOLUMEUNIT={type:3,value:"VOLUMEUNIT"},si.USERDEFINED={type:3,value:"USERDEFINED"},e.IfcUnitEnum=si;var oi=P((function e(){b(this,e)}));oi.AIRHANDLER={type:3,value:"AIRHANDLER"},oi.AIRCONDITIONINGUNIT={type:3,value:"AIRCONDITIONINGUNIT"},oi.SPLITSYSTEM={type:3,value:"SPLITSYSTEM"},oi.ROOFTOPUNIT={type:3,value:"ROOFTOPUNIT"},oi.USERDEFINED={type:3,value:"USERDEFINED"},oi.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcUnitaryEquipmentTypeEnum=oi;var li=P((function e(){b(this,e)}));li.AIRRELEASE={type:3,value:"AIRRELEASE"},li.ANTIVACUUM={type:3,value:"ANTIVACUUM"},li.CHANGEOVER={type:3,value:"CHANGEOVER"},li.CHECK={type:3,value:"CHECK"},li.COMMISSIONING={type:3,value:"COMMISSIONING"},li.DIVERTING={type:3,value:"DIVERTING"},li.DRAWOFFCOCK={type:3,value:"DRAWOFFCOCK"},li.DOUBLECHECK={type:3,value:"DOUBLECHECK"},li.DOUBLEREGULATING={type:3,value:"DOUBLEREGULATING"},li.FAUCET={type:3,value:"FAUCET"},li.FLUSHING={type:3,value:"FLUSHING"},li.GASCOCK={type:3,value:"GASCOCK"},li.GASTAP={type:3,value:"GASTAP"},li.ISOLATING={type:3,value:"ISOLATING"},li.MIXING={type:3,value:"MIXING"},li.PRESSUREREDUCING={type:3,value:"PRESSUREREDUCING"},li.PRESSURERELIEF={type:3,value:"PRESSURERELIEF"},li.REGULATING={type:3,value:"REGULATING"},li.SAFETYCUTOFF={type:3,value:"SAFETYCUTOFF"},li.STEAMTRAP={type:3,value:"STEAMTRAP"},li.STOPCOCK={type:3,value:"STOPCOCK"},li.USERDEFINED={type:3,value:"USERDEFINED"},li.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcValveTypeEnum=li;var ui=P((function e(){b(this,e)}));ui.COMPRESSION={type:3,value:"COMPRESSION"},ui.SPRING={type:3,value:"SPRING"},ui.USERDEFINED={type:3,value:"USERDEFINED"},ui.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcVibrationIsolatorTypeEnum=ui;var ci=P((function e(){b(this,e)}));ci.STANDARD={type:3,value:"STANDARD"},ci.POLYGONAL={type:3,value:"POLYGONAL"},ci.SHEAR={type:3,value:"SHEAR"},ci.ELEMENTEDWALL={type:3,value:"ELEMENTEDWALL"},ci.PLUMBINGWALL={type:3,value:"PLUMBINGWALL"},ci.USERDEFINED={type:3,value:"USERDEFINED"},ci.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcWallTypeEnum=ci;var fi=P((function e(){b(this,e)}));fi.FLOORTRAP={type:3,value:"FLOORTRAP"},fi.FLOORWASTE={type:3,value:"FLOORWASTE"},fi.GULLYSUMP={type:3,value:"GULLYSUMP"},fi.GULLYTRAP={type:3,value:"GULLYTRAP"},fi.GREASEINTERCEPTOR={type:3,value:"GREASEINTERCEPTOR"},fi.OILINTERCEPTOR={type:3,value:"OILINTERCEPTOR"},fi.PETROLINTERCEPTOR={type:3,value:"PETROLINTERCEPTOR"},fi.ROOFDRAIN={type:3,value:"ROOFDRAIN"},fi.WASTEDISPOSALUNIT={type:3,value:"WASTEDISPOSALUNIT"},fi.WASTETRAP={type:3,value:"WASTETRAP"},fi.USERDEFINED={type:3,value:"USERDEFINED"},fi.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcWasteTerminalTypeEnum=fi;var pi=P((function e(){b(this,e)}));pi.SIDEHUNGRIGHTHAND={type:3,value:"SIDEHUNGRIGHTHAND"},pi.SIDEHUNGLEFTHAND={type:3,value:"SIDEHUNGLEFTHAND"},pi.TILTANDTURNRIGHTHAND={type:3,value:"TILTANDTURNRIGHTHAND"},pi.TILTANDTURNLEFTHAND={type:3,value:"TILTANDTURNLEFTHAND"},pi.TOPHUNG={type:3,value:"TOPHUNG"},pi.BOTTOMHUNG={type:3,value:"BOTTOMHUNG"},pi.PIVOTHORIZONTAL={type:3,value:"PIVOTHORIZONTAL"},pi.PIVOTVERTICAL={type:3,value:"PIVOTVERTICAL"},pi.SLIDINGHORIZONTAL={type:3,value:"SLIDINGHORIZONTAL"},pi.SLIDINGVERTICAL={type:3,value:"SLIDINGVERTICAL"},pi.REMOVABLECASEMENT={type:3,value:"REMOVABLECASEMENT"},pi.FIXEDCASEMENT={type:3,value:"FIXEDCASEMENT"},pi.OTHEROPERATION={type:3,value:"OTHEROPERATION"},pi.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcWindowPanelOperationEnum=pi;var Ai=P((function e(){b(this,e)}));Ai.LEFT={type:3,value:"LEFT"},Ai.MIDDLE={type:3,value:"MIDDLE"},Ai.RIGHT={type:3,value:"RIGHT"},Ai.BOTTOM={type:3,value:"BOTTOM"},Ai.TOP={type:3,value:"TOP"},Ai.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcWindowPanelPositionEnum=Ai;var di=P((function e(){b(this,e)}));di.ALUMINIUM={type:3,value:"ALUMINIUM"},di.HIGH_GRADE_STEEL={type:3,value:"HIGH_GRADE_STEEL"},di.STEEL={type:3,value:"STEEL"},di.WOOD={type:3,value:"WOOD"},di.ALUMINIUM_WOOD={type:3,value:"ALUMINIUM_WOOD"},di.PLASTIC={type:3,value:"PLASTIC"},di.OTHER_CONSTRUCTION={type:3,value:"OTHER_CONSTRUCTION"},di.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcWindowStyleConstructionEnum=di;var vi=P((function e(){b(this,e)}));vi.SINGLE_PANEL={type:3,value:"SINGLE_PANEL"},vi.DOUBLE_PANEL_VERTICAL={type:3,value:"DOUBLE_PANEL_VERTICAL"},vi.DOUBLE_PANEL_HORIZONTAL={type:3,value:"DOUBLE_PANEL_HORIZONTAL"},vi.TRIPLE_PANEL_VERTICAL={type:3,value:"TRIPLE_PANEL_VERTICAL"},vi.TRIPLE_PANEL_BOTTOM={type:3,value:"TRIPLE_PANEL_BOTTOM"},vi.TRIPLE_PANEL_TOP={type:3,value:"TRIPLE_PANEL_TOP"},vi.TRIPLE_PANEL_LEFT={type:3,value:"TRIPLE_PANEL_LEFT"},vi.TRIPLE_PANEL_RIGHT={type:3,value:"TRIPLE_PANEL_RIGHT"},vi.TRIPLE_PANEL_HORIZONTAL={type:3,value:"TRIPLE_PANEL_HORIZONTAL"},vi.USERDEFINED={type:3,value:"USERDEFINED"},vi.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcWindowStyleOperationEnum=vi;var hi=P((function e(){b(this,e)}));hi.ACTUAL={type:3,value:"ACTUAL"},hi.BASELINE={type:3,value:"BASELINE"},hi.PLANNED={type:3,value:"PLANNED"},hi.USERDEFINED={type:3,value:"USERDEFINED"},hi.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcWorkControlTypeEnum=hi;var Ii=function(e){I(n,U_);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e)).Role=r,s.UserDefinedRole=i,s.Description=a,s.type=3630933823,s}return P(n)}();e.IfcActorRole=Ii;var yi=function(e){I(n,U_);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e)).Purpose=r,s.Description=i,s.UserDefinedPurpose=a,s.type=618182010,s}return P(n)}();e.IfcAddress=yi;var mi=function(e){I(n,U_);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e)).ApplicationDeveloper=r,o.Version=i,o.ApplicationFullName=a,o.ApplicationIdentifier=s,o.type=639542469,o}return P(n)}();e.IfcApplication=mi;var wi=function(e){I(n,U_);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e)).Name=r,u.Description=i,u.AppliedValue=a,u.UnitBasis=s,u.ApplicableDate=o,u.FixedUntilDate=l,u.type=411424972,u}return P(n)}();e.IfcAppliedValue=wi;var gi=function(e){I(n,U_);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e)).ComponentOfTotal=r,l.Components=i,l.ArithmeticOperator=a,l.Name=s,l.Description=o,l.type=1110488051,l}return P(n)}();e.IfcAppliedValueRelationship=gi;var Ei=function(e){I(n,U_);var t=m(n);function n(e,r,i,a,s,o,l,u){var c;return b(this,n),(c=t.call(this,e)).Description=r,c.ApprovalDateTime=i,c.ApprovalStatus=a,c.ApprovalLevel=s,c.ApprovalQualifier=o,c.Name=l,c.Identifier=u,c.type=130549933,c}return P(n)}();e.IfcApproval=Ei;var Ti=function(e){I(n,U_);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e)).Actor=r,s.Approval=i,s.Role=a,s.type=2080292479,s}return P(n)}();e.IfcApprovalActorRelationship=Ti;var bi=function(e){I(n,U_);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).ApprovedProperties=r,a.Approval=i,a.type=390851274,a}return P(n)}();e.IfcApprovalPropertyRelationship=bi;var Di=function(e){I(n,U_);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e)).RelatedApproval=r,o.RelatingApproval=i,o.Description=a,o.Name=s,o.type=3869604511,o}return P(n)}();e.IfcApprovalRelationship=Di;var Pi=function(e){I(n,U_);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e)).Name=r,i.type=4037036970,i}return P(n)}();e.IfcBoundaryCondition=Pi;var Ri=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u){var c;return b(this,n),(c=t.call(this,e,r)).Name=r,c.LinearStiffnessByLengthX=i,c.LinearStiffnessByLengthY=a,c.LinearStiffnessByLengthZ=s,c.RotationalStiffnessByLengthX=o,c.RotationalStiffnessByLengthY=l,c.RotationalStiffnessByLengthZ=u,c.type=1560379544,c}return P(n)}(Pi);e.IfcBoundaryEdgeCondition=Ri;var Ci=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r)).Name=r,o.LinearStiffnessByAreaX=i,o.LinearStiffnessByAreaY=a,o.LinearStiffnessByAreaZ=s,o.type=3367102660,o}return P(n)}(Pi);e.IfcBoundaryFaceCondition=Ci;var _i=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u){var c;return b(this,n),(c=t.call(this,e,r)).Name=r,c.LinearStiffnessX=i,c.LinearStiffnessY=a,c.LinearStiffnessZ=s,c.RotationalStiffnessX=o,c.RotationalStiffnessY=l,c.RotationalStiffnessZ=u,c.type=1387855156,c}return P(n)}(Pi);e.IfcBoundaryNodeCondition=_i;var Bi=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o,l,u)).Name=r,f.LinearStiffnessX=i,f.LinearStiffnessY=a,f.LinearStiffnessZ=s,f.RotationalStiffnessX=o,f.RotationalStiffnessY=l,f.RotationalStiffnessZ=u,f.WarpingStiffness=c,f.type=2069777674,f}return P(n)}(_i);e.IfcBoundaryNodeConditionWarping=Bi;var Oi=function(e){I(n,U_);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e)).DayComponent=r,s.MonthComponent=i,s.YearComponent=a,s.type=622194075,s}return P(n)}();e.IfcCalendarDate=Oi;var Si=function(e){I(n,U_);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e)).Source=r,o.Edition=i,o.EditionDate=a,o.Name=s,o.type=747523909,o}return P(n)}();e.IfcClassification=Si;var Ni=function(e){I(n,U_);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e)).Notation=r,s.ItemOf=i,s.Title=a,s.type=1767535486,s}return P(n)}();e.IfcClassificationItem=Ni;var Li=function(e){I(n,U_);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).RelatingItem=r,a.RelatedItems=i,a.type=1098599126,a}return P(n)}();e.IfcClassificationItemRelationship=Li;var Mi=function(e){I(n,U_);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e)).NotationFacets=r,i.type=938368621,i}return P(n)}();e.IfcClassificationNotation=Mi;var xi=function(e){I(n,U_);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e)).NotationValue=r,i.type=3639012971,i}return P(n)}();e.IfcClassificationNotationFacet=xi;var Fi=function(e){I(n,U_);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e)).Name=r,i.type=3264961684,i}return P(n)}();e.IfcColourSpecification=Fi;var Hi=function(e){I(n,U_);var t=m(n);function n(e){var r;return b(this,n),(r=t.call(this,e)).type=2859738748,r}return P(n)}();e.IfcConnectionGeometry=Hi;var Ui=function(e){I(n,e);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).PointOnRelatingElement=r,a.PointOnRelatedElement=i,a.type=2614616156,a}return P(n)}(Hi);e.IfcConnectionPointGeometry=Ui;var Gi=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e)).LocationAtRelatingElement=r,s.LocationAtRelatedElement=i,s.ProfileOfPort=a,s.type=4257277454,s}return P(n)}(Hi);e.IfcConnectionPortGeometry=Gi;var ki=function(e){I(n,e);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).SurfaceOnRelatingElement=r,a.SurfaceOnRelatedElement=i,a.type=2732653382,a}return P(n)}(Hi);e.IfcConnectionSurfaceGeometry=ki;var ji=function(e){I(n,U_);var t=m(n);function n(e,r,i,a,s,o,l,u){var c;return b(this,n),(c=t.call(this,e)).Name=r,c.Description=i,c.ConstraintGrade=a,c.ConstraintSource=s,c.CreatingActor=o,c.CreationTime=l,c.UserDefinedGrade=u,c.type=1959218052,c}return P(n)}();e.IfcConstraint=ji;var Vi=function(e){I(n,U_);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e)).Name=r,l.Description=i,l.RelatingConstraint=a,l.RelatedConstraints=s,l.LogicalAggregator=o,l.type=1658513725,l}return P(n)}();e.IfcConstraintAggregationRelationship=Vi;var Qi=function(e){I(n,U_);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).ClassifiedConstraint=r,a.RelatedClassifications=i,a.type=613356794,a}return P(n)}();e.IfcConstraintClassificationRelationship=Qi;var Wi=function(e){I(n,U_);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e)).Name=r,o.Description=i,o.RelatingConstraint=a,o.RelatedConstraints=s,o.type=347226245,o}return P(n)}();e.IfcConstraintRelationship=Wi;var zi=function(e){I(n,U_);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e)).HourOffset=r,s.MinuteOffset=i,s.Sense=a,s.type=1065062679,s}return P(n)}();e.IfcCoordinatedUniversalTimeOffset=zi;var Ki=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o,l)).Name=r,f.Description=i,f.AppliedValue=a,f.UnitBasis=s,f.ApplicableDate=o,f.FixedUntilDate=l,f.CostType=u,f.Condition=c,f.type=602808272,f}return P(n)}(wi);e.IfcCostValue=Ki;var Yi=function(e){I(n,U_);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e)).RelatingMonetaryUnit=r,l.RelatedMonetaryUnit=i,l.ExchangeRate=a,l.RateDateTime=s,l.RateSource=o,l.type=539742890,l}return P(n)}();e.IfcCurrencyRelationship=Yi;var Xi=function(e){I(n,U_);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).Name=r,a.PatternList=i,a.type=1105321065,a}return P(n)}();e.IfcCurveStyleFont=Xi;var qi=function(e){I(n,U_);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e)).Name=r,s.CurveFont=i,s.CurveFontScaling=a,s.type=2367409068,s}return P(n)}();e.IfcCurveStyleFontAndScaling=qi;var Ji=function(e){I(n,U_);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).VisibleSegmentLength=r,a.InvisibleSegmentLength=i,a.type=3510044353,a}return P(n)}();e.IfcCurveStyleFontPattern=Ji;var Zi=function(e){I(n,U_);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).DateComponent=r,a.TimeComponent=i,a.type=1072939445,a}return P(n)}();e.IfcDateAndTime=Zi;var $i=function(e){I(n,U_);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e)).Elements=r,s.UnitType=i,s.UserDefinedType=a,s.type=1765591967,s}return P(n)}();e.IfcDerivedUnit=$i;var ea=function(e){I(n,U_);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).Unit=r,a.Exponent=i,a.type=1045800335,a}return P(n)}();e.IfcDerivedUnitElement=ea;var ta=function(e){I(n,U_);var t=m(n);function n(e,r,i,a,s,o,l,u){var c;return b(this,n),(c=t.call(this,e)).LengthExponent=r,c.MassExponent=i,c.TimeExponent=a,c.ElectricCurrentExponent=s,c.ThermodynamicTemperatureExponent=o,c.AmountOfSubstanceExponent=l,c.LuminousIntensityExponent=u,c.type=2949456006,c}return P(n)}();e.IfcDimensionalExponents=ta;var na=function(e){I(n,U_);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e)).FileExtension=r,s.MimeContentType=i,s.MimeSubtype=a,s.type=1376555844,s}return P(n)}();e.IfcDocumentElectronicFormat=na;var ra=function(e){I(n,U_);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A,d,v,h,I,y,m){var w;return b(this,n),(w=t.call(this,e)).DocumentId=r,w.Name=i,w.Description=a,w.DocumentReferences=s,w.Purpose=o,w.IntendedUse=l,w.Scope=u,w.Revision=c,w.DocumentOwner=f,w.Editors=p,w.CreationTime=A,w.LastRevisionTime=d,w.ElectronicFormat=v,w.ValidFrom=h,w.ValidUntil=I,w.Confidentiality=y,w.Status=m,w.type=1154170062,w}return P(n)}();e.IfcDocumentInformation=ra;var ia=function(e){I(n,U_);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e)).RelatingDocument=r,s.RelatedDocuments=i,s.RelationshipType=a,s.type=770865208,s}return P(n)}();e.IfcDocumentInformationRelationship=ia;var aa=function(e){I(n,U_);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e)).Name=r,o.Description=i,o.RelatingDraughtingCallout=a,o.RelatedDraughtingCallout=s,o.type=3796139169,o}return P(n)}();e.IfcDraughtingCalloutRelationship=aa;var sa=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l)).Name=r,p.Description=i,p.AppliedValue=a,p.UnitBasis=s,p.ApplicableDate=o,p.FixedUntilDate=l,p.ImpactType=u,p.Category=c,p.UserDefinedCategory=f,p.type=1648886627,p}return P(n)}(wi);e.IfcEnvironmentalImpactValue=sa;var oa=function(e){I(n,U_);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e)).Location=r,s.ItemReference=i,s.Name=a,s.type=3200245327,s}return P(n)}();e.IfcExternalReference=oa;var la=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e,r,i,a)).Location=r,s.ItemReference=i,s.Name=a,s.type=2242383968,s}return P(n)}(oa);e.IfcExternallyDefinedHatchStyle=la;var ua=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e,r,i,a)).Location=r,s.ItemReference=i,s.Name=a,s.type=1040185647,s}return P(n)}(oa);e.IfcExternallyDefinedSurfaceStyle=ua;var ca=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e,r,i,a)).Location=r,s.ItemReference=i,s.Name=a,s.type=3207319532,s}return P(n)}(oa);e.IfcExternallyDefinedSymbol=ca;var fa=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e,r,i,a)).Location=r,s.ItemReference=i,s.Name=a,s.type=3548104201,s}return P(n)}(oa);e.IfcExternallyDefinedTextFont=fa;var pa=function(e){I(n,U_);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e)).AxisTag=r,s.AxisCurve=i,s.SameSense=a,s.type=852622518,s}return P(n)}();e.IfcGridAxis=pa;var Aa=function(e){I(n,U_);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).TimeStamp=r,a.ListValues=i,a.type=3020489413,a}return P(n)}();e.IfcIrregularTimeSeriesValue=Aa;var da=function(e){I(n,U_);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e)).Name=r,l.Version=i,l.Publisher=a,l.VersionDate=s,l.LibraryReference=o,l.type=2655187982,l}return P(n)}();e.IfcLibraryInformation=da;var va=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e,r,i,a)).Location=r,s.ItemReference=i,s.Name=a,s.type=3452421091,s}return P(n)}(oa);e.IfcLibraryReference=va;var ha=function(e){I(n,U_);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e)).MainPlaneAngle=r,s.SecondaryPlaneAngle=i,s.LuminousIntensity=a,s.type=4162380809,s}return P(n)}();e.IfcLightDistributionData=ha;var Ia=function(e){I(n,U_);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).LightDistributionCurve=r,a.DistributionData=i,a.type=1566485204,a}return P(n)}();e.IfcLightIntensityDistribution=Ia;var ya=function(e){I(n,U_);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e)).HourComponent=r,l.MinuteComponent=i,l.SecondComponent=a,l.Zone=s,l.DaylightSavingOffset=o,l.type=30780891,l}return P(n)}();e.IfcLocalTime=ya;var ma=function(e){I(n,U_);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e)).Name=r,i.type=1838606355,i}return P(n)}();e.IfcMaterial=ma;var wa=function(e){I(n,U_);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).MaterialClassifications=r,a.ClassifiedMaterial=i,a.type=1847130766,a}return P(n)}();e.IfcMaterialClassificationRelationship=wa;var ga=function(e){I(n,U_);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e)).Material=r,s.LayerThickness=i,s.IsVentilated=a,s.type=248100487,s}return P(n)}();e.IfcMaterialLayer=ga;var Ea=function(e){I(n,U_);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).MaterialLayers=r,a.LayerSetName=i,a.type=3303938423,a}return P(n)}();e.IfcMaterialLayerSet=Ea;var Ta=function(e){I(n,U_);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e)).ForLayerSet=r,o.LayerSetDirection=i,o.DirectionSense=a,o.OffsetFromReferenceLine=s,o.type=1303795690,o}return P(n)}();e.IfcMaterialLayerSetUsage=Ta;var ba=function(e){I(n,U_);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e)).Materials=r,i.type=2199411900,i}return P(n)}();e.IfcMaterialList=ba;var Da=function(e){I(n,U_);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e)).Material=r,i.type=3265635763,i}return P(n)}();e.IfcMaterialProperties=Da;var Pa=function(e){I(n,U_);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).ValueComponent=r,a.UnitComponent=i,a.type=2597039031,a}return P(n)}();e.IfcMeasureWithUnit=Pa;var Ra=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r)).Material=r,u.DynamicViscosity=i,u.YoungModulus=a,u.ShearModulus=s,u.PoissonRatio=o,u.ThermalExpansionCoefficient=l,u.type=4256014907,u}return P(n)}(Da);e.IfcMechanicalMaterialProperties=Ra;var Ca=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A,d,v){var h;return b(this,n),(h=t.call(this,e,r,i,a,s,o,l)).Material=r,h.DynamicViscosity=i,h.YoungModulus=a,h.ShearModulus=s,h.PoissonRatio=o,h.ThermalExpansionCoefficient=l,h.YieldStress=u,h.UltimateStress=c,h.UltimateStrain=f,h.HardeningModule=p,h.ProportionalStress=A,h.PlasticStrain=d,h.Relaxations=v,h.type=677618848,h}return P(n)}(Ra);e.IfcMechanicalSteelMaterialProperties=Ca;var _a=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u)).Name=r,A.Description=i,A.ConstraintGrade=a,A.ConstraintSource=s,A.CreatingActor=o,A.CreationTime=l,A.UserDefinedGrade=u,A.Benchmark=c,A.ValueSource=f,A.DataValue=p,A.type=3368373690,A}return P(n)}(ji);e.IfcMetric=_a;var Ba=function(e){I(n,U_);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e)).Currency=r,i.type=2706619895,i}return P(n)}();e.IfcMonetaryUnit=Ba;var Oa=function(e){I(n,U_);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).Dimensions=r,a.UnitType=i,a.type=1918398963,a}return P(n)}();e.IfcNamedUnit=Oa;var Sa=function(e){I(n,U_);var t=m(n);function n(e){var r;return b(this,n),(r=t.call(this,e)).type=3701648758,r}return P(n)}();e.IfcObjectPlacement=Sa;var Na=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A){var d;return b(this,n),(d=t.call(this,e,r,i,a,s,o,l,u)).Name=r,d.Description=i,d.ConstraintGrade=a,d.ConstraintSource=s,d.CreatingActor=o,d.CreationTime=l,d.UserDefinedGrade=u,d.BenchmarkValues=c,d.ResultValues=f,d.ObjectiveQualifier=p,d.UserDefinedQualifier=A,d.type=2251480897,d}return P(n)}(ji);e.IfcObjective=Na;var La=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r)).Material=r,A.VisibleTransmittance=i,A.SolarTransmittance=a,A.ThermalIrTransmittance=s,A.ThermalIrEmissivityBack=o,A.ThermalIrEmissivityFront=l,A.VisibleReflectanceBack=u,A.VisibleReflectanceFront=c,A.SolarReflectanceFront=f,A.SolarReflectanceBack=p,A.type=1227763645,A}return P(n)}(Da);e.IfcOpticalMaterialProperties=La;var Ma=function(e){I(n,U_);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e)).Id=r,l.Name=i,l.Description=a,l.Roles=s,l.Addresses=o,l.type=4251960020,l}return P(n)}();e.IfcOrganization=Ma;var xa=function(e){I(n,U_);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e)).Name=r,o.Description=i,o.RelatingOrganization=a,o.RelatedOrganizations=s,o.type=1411181986,o}return P(n)}();e.IfcOrganizationRelationship=xa;var Fa=function(e){I(n,U_);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e)).OwningUser=r,f.OwningApplication=i,f.State=a,f.ChangeAction=s,f.LastModifiedDate=o,f.LastModifyingUser=l,f.LastModifyingApplication=u,f.CreationDate=c,f.type=1207048766,f}return P(n)}();e.IfcOwnerHistory=Fa;var Ha=function(e){I(n,U_);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e)).Id=r,f.FamilyName=i,f.GivenName=a,f.MiddleNames=s,f.PrefixTitles=o,f.SuffixTitles=l,f.Roles=u,f.Addresses=c,f.type=2077209135,f}return P(n)}();e.IfcPerson=Ha;var Ua=function(e){I(n,U_);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e)).ThePerson=r,s.TheOrganization=i,s.Roles=a,s.type=101040310,s}return P(n)}();e.IfcPersonAndOrganization=Ua;var Ga=function(e){I(n,U_);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).Name=r,a.Description=i,a.type=2483315170,a}return P(n)}();e.IfcPhysicalQuantity=Ga;var ka=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e,r,i)).Name=r,s.Description=i,s.Unit=a,s.type=2226359599,s}return P(n)}(Ga);e.IfcPhysicalSimpleQuantity=ka;var ja=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a)).Purpose=r,A.Description=i,A.UserDefinedPurpose=a,A.InternalLocation=s,A.AddressLines=o,A.PostalBox=l,A.Town=u,A.Region=c,A.PostalCode=f,A.Country=p,A.type=3355820592,A}return P(n)}(yi);e.IfcPostalAddress=ja;var Va=function(e){I(n,U_);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e)).Name=r,i.type=3727388367,i}return P(n)}();e.IfcPreDefinedItem=Va;var Qa=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e,r)).Name=r,i.type=990879717,i}return P(n)}(Va);e.IfcPreDefinedSymbol=Qa;var Wa=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e,r)).Name=r,i.type=3213052703,i}return P(n)}(Qa);e.IfcPreDefinedTerminatorSymbol=Wa;var za=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e,r)).Name=r,i.type=1775413392,i}return P(n)}(Va);e.IfcPreDefinedTextFont=za;var Ka=function(e){I(n,U_);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e)).Name=r,o.Description=i,o.AssignedItems=a,o.Identifier=s,o.type=2022622350,o}return P(n)}();e.IfcPresentationLayerAssignment=Ka;var Ya=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s)).Name=r,f.Description=i,f.AssignedItems=a,f.Identifier=s,f.LayerOn=o,f.LayerFrozen=l,f.LayerBlocked=u,f.LayerStyles=c,f.type=1304840413,f}return P(n)}(Ka);e.IfcPresentationLayerWithStyle=Ya;var Xa=function(e){I(n,U_);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e)).Name=r,i.type=3119450353,i}return P(n)}();e.IfcPresentationStyle=Xa;var qa=function(e){I(n,U_);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e)).Styles=r,i.type=2417041796,i}return P(n)}();e.IfcPresentationStyleAssignment=qa;var Ja=function(e){I(n,U_);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e)).Name=r,s.Description=i,s.Representations=a,s.type=2095639259,s}return P(n)}();e.IfcProductRepresentation=Ja;var Za=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e,r)).Material=r,l.SpecificHeatCapacity=i,l.N20Content=a,l.COContent=s,l.CO2Content=o,l.type=2267347899,l}return P(n)}(Da);e.IfcProductsOfCombustionProperties=Za;var $a=function(e){I(n,U_);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).ProfileType=r,a.ProfileName=i,a.type=3958567839,a}return P(n)}();e.IfcProfileDef=$a;var es=function(e){I(n,U_);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).ProfileName=r,a.ProfileDefinition=i,a.type=2802850158,a}return P(n)}();e.IfcProfileProperties=es;var ts=function(e){I(n,U_);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).Name=r,a.Description=i,a.type=2598011224,a}return P(n)}();e.IfcProperty=ts;var ns=function(e){I(n,U_);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e)).RelatingConstraint=r,o.RelatedProperties=i,o.Name=a,o.Description=s,o.type=3896028662,o}return P(n)}();e.IfcPropertyConstraintRelationship=ns;var rs=function(e){I(n,U_);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e)).DependingProperty=r,l.DependantProperty=i,l.Name=a,l.Description=s,l.Expression=o,l.type=148025276,l}return P(n)}();e.IfcPropertyDependencyRelationship=rs;var is=function(e){I(n,U_);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e)).Name=r,s.EnumerationValues=i,s.Unit=a,s.type=3710013099,s}return P(n)}();e.IfcPropertyEnumeration=is;var as=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r,i,a)).Name=r,o.Description=i,o.Unit=a,o.AreaValue=s,o.type=2044713172,o}return P(n)}(ka);e.IfcQuantityArea=as;var ss=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r,i,a)).Name=r,o.Description=i,o.Unit=a,o.CountValue=s,o.type=2093928680,o}return P(n)}(ka);e.IfcQuantityCount=ss;var os=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r,i,a)).Name=r,o.Description=i,o.Unit=a,o.LengthValue=s,o.type=931644368,o}return P(n)}(ka);e.IfcQuantityLength=os;var ls=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r,i,a)).Name=r,o.Description=i,o.Unit=a,o.TimeValue=s,o.type=3252649465,o}return P(n)}(ka);e.IfcQuantityTime=ls;var us=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r,i,a)).Name=r,o.Description=i,o.Unit=a,o.VolumeValue=s,o.type=2405470396,o}return P(n)}(ka);e.IfcQuantityVolume=us;var cs=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r,i,a)).Name=r,o.Description=i,o.Unit=a,o.WeightValue=s,o.type=825690147,o}return P(n)}(ka);e.IfcQuantityWeight=cs;var fs=function(e){I(n,U_);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e)).ReferencedDocument=r,o.ReferencingValues=i,o.Name=a,o.Description=s,o.type=2692823254,o}return P(n)}();e.IfcReferencesValueDocument=fs;var ps=function(e){I(n,U_);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e)).TotalCrossSectionArea=r,u.SteelGrade=i,u.BarSurface=a,u.EffectiveDepth=s,u.NominalBarDiameter=o,u.BarCount=l,u.type=1580146022,u}return P(n)}();e.IfcReinforcementBarProperties=ps;var As=function(e){I(n,U_);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).RelaxationValue=r,a.InitialStress=i,a.type=1222501353,a}return P(n)}();e.IfcRelaxation=As;var ds=function(e){I(n,U_);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e)).ContextOfItems=r,o.RepresentationIdentifier=i,o.RepresentationType=a,o.Items=s,o.type=1076942058,o}return P(n)}();e.IfcRepresentation=ds;var vs=function(e){I(n,U_);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).ContextIdentifier=r,a.ContextType=i,a.type=3377609919,a}return P(n)}();e.IfcRepresentationContext=vs;var hs=function(e){I(n,U_);var t=m(n);function n(e){var r;return b(this,n),(r=t.call(this,e)).type=3008791417,r}return P(n)}();e.IfcRepresentationItem=hs;var Is=function(e){I(n,U_);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).MappingOrigin=r,a.MappedRepresentation=i,a.type=1660063152,a}return P(n)}();e.IfcRepresentationMap=Is;var ys=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u){var c;return b(this,n),(c=t.call(this,e,r,i)).ProfileName=r,c.ProfileDefinition=i,c.Thickness=a,c.RibHeight=s,c.RibWidth=o,c.RibSpacing=l,c.Direction=u,c.type=3679540991,c}return P(n)}(es);e.IfcRibPlateProfileProperties=ys;var ms=function(e){I(n,U_);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e)).GlobalId=r,o.OwnerHistory=i,o.Name=a,o.Description=s,o.type=2341007311,o}return P(n)}();e.IfcRoot=ms;var ws=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e,new H_(0),r)).UnitType=r,s.Prefix=i,s.Name=a,s.type=448429030,s}return P(n)}(Oa);e.IfcSIUnit=ws;var gs=function(e){I(n,U_);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e)).SectionType=r,s.StartProfile=i,s.EndProfile=a,s.type=2042790032,s}return P(n)}();e.IfcSectionProperties=gs;var Es=function(e){I(n,U_);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e)).LongitudinalStartPosition=r,u.LongitudinalEndPosition=i,u.TransversePosition=a,u.ReinforcementRole=s,u.SectionDefinition=o,u.CrossSectionReinforcementDefinitions=l,u.type=4165799628,u}return P(n)}();e.IfcSectionReinforcementProperties=Es;var Ts=function(e){I(n,U_);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e)).ShapeRepresentations=r,l.Name=i,l.Description=a,l.ProductDefinitional=s,l.PartOfProductDefinitionShape=o,l.type=867548509,l}return P(n)}();e.IfcShapeAspect=Ts;var bs=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r,i,a,s)).ContextOfItems=r,o.RepresentationIdentifier=i,o.RepresentationType=a,o.Items=s,o.type=3982875396,o}return P(n)}(ds);e.IfcShapeModel=bs;var Ds=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r,i,a,s)).ContextOfItems=r,o.RepresentationIdentifier=i,o.RepresentationType=a,o.Items=s,o.type=4240577450,o}return P(n)}(bs);e.IfcShapeRepresentation=Ds;var Ps=function(e){I(n,e);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e,r,i)).Name=r,a.Description=i,a.type=3692461612,a}return P(n)}(ts);e.IfcSimpleProperty=Ps;var Rs=function(e){I(n,U_);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e)).Name=r,i.type=2273995522,i}return P(n)}();e.IfcStructuralConnectionCondition=Rs;var Cs=function(e){I(n,U_);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e)).Name=r,i.type=2162789131,i}return P(n)}();e.IfcStructuralLoad=Cs;var _s=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e,r)).Name=r,i.type=2525727697,i}return P(n)}(Cs);e.IfcStructuralLoadStatic=_s;var Bs=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r)).Name=r,o.DeltaT_Constant=i,o.DeltaT_Y=a,o.DeltaT_Z=s,o.type=3408363356,o}return P(n)}(_s);e.IfcStructuralLoadTemperature=Bs;var Os=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r,i,a,s)).ContextOfItems=r,o.RepresentationIdentifier=i,o.RepresentationType=a,o.Items=s,o.type=2830218821,o}return P(n)}(ds);e.IfcStyleModel=Os;var Ss=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e)).Item=r,s.Styles=i,s.Name=a,s.type=3958052878,s}return P(n)}(hs);e.IfcStyledItem=Ss;var Ns=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r,i,a,s)).ContextOfItems=r,o.RepresentationIdentifier=i,o.RepresentationType=a,o.Items=s,o.type=3049322572,o}return P(n)}(Os);e.IfcStyledRepresentation=Ns;var Ls=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e,r)).Name=r,s.Side=i,s.Styles=a,s.type=1300840506,s}return P(n)}(Xa);e.IfcSurfaceStyle=Ls;var Ms=function(e){I(n,U_);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e)).DiffuseTransmissionColour=r,o.DiffuseReflectionColour=i,o.TransmissionColour=a,o.ReflectanceColour=s,o.type=3303107099,o}return P(n)}();e.IfcSurfaceStyleLighting=Ms;var xs=function(e){I(n,U_);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).RefractionIndex=r,a.DispersionFactor=i,a.type=1607154358,a}return P(n)}();e.IfcSurfaceStyleRefraction=xs;var Fs=function(e){I(n,U_);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e)).SurfaceColour=r,i.type=846575682,i}return P(n)}();e.IfcSurfaceStyleShading=Fs;var Hs=function(e){I(n,U_);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e)).Textures=r,i.type=1351298697,i}return P(n)}();e.IfcSurfaceStyleWithTextures=Hs;var Us=function(e){I(n,U_);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e)).RepeatS=r,o.RepeatT=i,o.TextureType=a,o.TextureTransform=s,o.type=626085974,o}return P(n)}();e.IfcSurfaceTexture=Us;var Gs=function(e){I(n,e);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e,r)).Name=r,a.StyleOfSymbol=i,a.type=1290481447,a}return P(n)}(Xa);e.IfcSymbolStyle=Gs;var ks=function(e){I(n,U_);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).Name=r,a.Rows=i,a.type=985171141,a}return P(n)}();e.IfcTable=ks;var js=function(e){I(n,U_);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).RowCells=r,a.IsHeading=i,a.type=531007025,a}return P(n)}();e.IfcTableRow=js;var Vs=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a)).Purpose=r,f.Description=i,f.UserDefinedPurpose=a,f.TelephoneNumbers=s,f.FacsimileNumbers=o,f.PagerNumber=l,f.ElectronicMailAddresses=u,f.WWWHomePageURL=c,f.type=912023232,f}return P(n)}(yi);e.IfcTelecomAddress=Vs;var Qs=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r)).Name=r,o.TextCharacterAppearance=i,o.TextStyle=a,o.TextFontStyle=s,o.type=1447204868,o}return P(n)}(Xa);e.IfcTextStyle=Qs;var Ws=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r)).Name=r,u.FontFamily=i,u.FontStyle=a,u.FontVariant=s,u.FontWeight=o,u.FontSize=l,u.type=1983826977,u}return P(n)}(za);e.IfcTextStyleFontModel=Ws;var zs=function(e){I(n,U_);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).Colour=r,a.BackgroundColour=i,a.type=2636378356,a}return P(n)}();e.IfcTextStyleForDefinedFont=zs;var Ks=function(e){I(n,U_);var t=m(n);function n(e,r,i,a,s,o,l,u){var c;return b(this,n),(c=t.call(this,e)).TextIndent=r,c.TextAlign=i,c.TextDecoration=a,c.LetterSpacing=s,c.WordSpacing=o,c.TextTransform=l,c.LineHeight=u,c.type=1640371178,c}return P(n)}();e.IfcTextStyleTextModel=Ks;var Ys=function(e){I(n,U_);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e)).BoxHeight=r,l.BoxWidth=i,l.BoxSlantAngle=a,l.BoxRotateAngle=s,l.CharacterSpacing=o,l.type=1484833681,l}return P(n)}();e.IfcTextStyleWithBoxCharacteristics=Ys;var Xs=function(e){I(n,U_);var t=m(n);function n(e){var r;return b(this,n),(r=t.call(this,e)).type=280115917,r}return P(n)}();e.IfcTextureCoordinate=Xs;var qs=function(e){I(n,e);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).Mode=r,a.Parameter=i,a.type=1742049831,a}return P(n)}(Xs);e.IfcTextureCoordinateGenerator=qs;var Js=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e)).TextureMaps=r,i.type=2552916305,i}return P(n)}(Xs);e.IfcTextureMap=Js;var Zs=function(e){I(n,U_);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e)).Coordinates=r,i.type=1210645708,i}return P(n)}();e.IfcTextureVertex=Zs;var $s=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e,r)).Material=r,l.SpecificHeatCapacity=i,l.BoilingPoint=a,l.FreezingPoint=s,l.ThermalConductivity=o,l.type=3317419933,l}return P(n)}(Da);e.IfcThermalMaterialProperties=$s;var eo=function(e){I(n,U_);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e)).Name=r,f.Description=i,f.StartTime=a,f.EndTime=s,f.TimeSeriesDataType=o,f.DataOrigin=l,f.UserDefinedDataOrigin=u,f.Unit=c,f.type=3101149627,f}return P(n)}();e.IfcTimeSeries=eo;var to=function(e){I(n,U_);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).ReferencedTimeSeries=r,a.TimeSeriesReferences=i,a.type=1718945513,a}return P(n)}();e.IfcTimeSeriesReferenceRelationship=to;var no=function(e){I(n,U_);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e)).ListValues=r,i.type=581633288,i}return P(n)}();e.IfcTimeSeriesValue=no;var ro=function(e){I(n,e);var t=m(n);function n(e){var r;return b(this,n),(r=t.call(this,e)).type=1377556343,r}return P(n)}(hs);e.IfcTopologicalRepresentationItem=ro;var io=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r,i,a,s)).ContextOfItems=r,o.RepresentationIdentifier=i,o.RepresentationType=a,o.Items=s,o.type=1735638870,o}return P(n)}(bs);e.IfcTopologyRepresentation=io;var ao=function(e){I(n,U_);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e)).Units=r,i.type=180925521,i}return P(n)}();e.IfcUnitAssignment=ao;var so=function(e){I(n,e);var t=m(n);function n(e){var r;return b(this,n),(r=t.call(this,e)).type=2799835756,r}return P(n)}(ro);e.IfcVertex=so;var oo=function(e){I(n,U_);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).TextureVertices=r,a.TexturePoints=i,a.type=3304826586,a}return P(n)}();e.IfcVertexBasedTextureMap=oo;var lo=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e)).VertexGeometry=r,i.type=1907098498,i}return P(n)}(so);e.IfcVertexPoint=lo;var uo=function(e){I(n,U_);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).IntersectingAxes=r,a.OffsetDistances=i,a.type=891718957,a}return P(n)}();e.IfcVirtualGridIntersection=uo;var co=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r)).Material=r,f.IsPotable=i,f.Hardness=a,f.AlkalinityConcentration=s,f.AcidityConcentration=o,f.ImpuritiesContent=l,f.PHLevel=u,f.DissolvedSolidsContent=c,f.type=1065908215,f}return P(n)}(Da);e.IfcWaterProperties=co;var fo=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e,r,i,a)).Item=r,s.Styles=i,s.Name=a,s.type=2442683028,s}return P(n)}(Ss);e.IfcAnnotationOccurrence=fo;var po=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e,r,i,a)).Item=r,s.Styles=i,s.Name=a,s.type=962685235,s}return P(n)}(fo);e.IfcAnnotationSurfaceOccurrence=po;var Ao=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e,r,i,a)).Item=r,s.Styles=i,s.Name=a,s.type=3612888222,s}return P(n)}(fo);e.IfcAnnotationSymbolOccurrence=Ao;var vo=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e,r,i,a)).Item=r,s.Styles=i,s.Name=a,s.type=2297822566,s}return P(n)}(fo);e.IfcAnnotationTextOccurrence=vo;var ho=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e,r,i)).ProfileType=r,s.ProfileName=i,s.OuterCurve=a,s.type=3798115385,s}return P(n)}($a);e.IfcArbitraryClosedProfileDef=ho;var Io=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e,r,i)).ProfileType=r,s.ProfileName=i,s.Curve=a,s.type=1310608509,s}return P(n)}($a);e.IfcArbitraryOpenProfileDef=Io;var yo=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r,i,a)).ProfileType=r,o.ProfileName=i,o.OuterCurve=a,o.InnerCurves=s,o.type=2705031697,o}return P(n)}(ho);e.IfcArbitraryProfileDefWithVoids=yo;var mo=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r,i,a,s)).RepeatS=r,u.RepeatT=i,u.TextureType=a,u.TextureTransform=s,u.RasterFormat=o,u.RasterCode=l,u.type=616511568,u}return P(n)}(Us);e.IfcBlobTexture=mo;var wo=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r,i,a)).ProfileType=r,o.ProfileName=i,o.Curve=a,o.Thickness=s,o.type=3150382593,o}return P(n)}(Io);e.IfcCenterLineProfileDef=wo;var go=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r,i,a)).Location=r,o.ItemReference=i,o.Name=a,o.ReferencedSource=s,o.type=647927063,o}return P(n)}(oa);e.IfcClassificationReference=go;var Eo=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r)).Name=r,o.Red=i,o.Green=a,o.Blue=s,o.type=776857604,o}return P(n)}(Fi);e.IfcColourRgb=Eo;var To=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r,i)).Name=r,o.Description=i,o.UsageName=a,o.HasProperties=s,o.type=2542286263,o}return P(n)}(ts);e.IfcComplexProperty=To;var bo=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r,i)).ProfileType=r,o.ProfileName=i,o.Profiles=a,o.Label=s,o.type=1485152156,o}return P(n)}($a);e.IfcCompositeProfileDef=bo;var Do=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e)).CfsFaces=r,i.type=370225590,i}return P(n)}(ro);e.IfcConnectedFaceSet=Do;var Po=function(e){I(n,e);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).CurveOnRelatingElement=r,a.CurveOnRelatedElement=i,a.type=1981873012,a}return P(n)}(Hi);e.IfcConnectionCurveGeometry=Po;var Ro=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e,r,i)).PointOnRelatingElement=r,l.PointOnRelatedElement=i,l.EccentricityInX=a,l.EccentricityInY=s,l.EccentricityInZ=o,l.type=45288368,l}return P(n)}(Ui);e.IfcConnectionPointEccentricity=Ro;var Co=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e,r,i)).Dimensions=r,s.UnitType=i,s.Name=a,s.type=3050246964,s}return P(n)}(Oa);e.IfcContextDependentUnit=Co;var _o=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r,i)).Dimensions=r,o.UnitType=i,o.Name=a,o.ConversionFactor=s,o.type=2889183280,o}return P(n)}(Oa);e.IfcConversionBasedUnit=_o;var Bo=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r)).Name=r,o.CurveFont=i,o.CurveWidth=a,o.CurveColour=s,o.type=3800577675,o}return P(n)}(Xa);e.IfcCurveStyle=Bo;var Oo=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e,r,i)).ProfileType=r,l.ProfileName=i,l.ParentProfile=a,l.Operator=s,l.Label=o,l.type=3632507154,l}return P(n)}($a);e.IfcDerivedProfileDef=Oo;var So=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r,i,a,s)).Name=r,o.Description=i,o.RelatingDraughtingCallout=a,o.RelatedDraughtingCallout=s,o.type=2273265877,o}return P(n)}(aa);e.IfcDimensionCalloutRelationship=So;var No=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r,i,a,s)).Name=r,o.Description=i,o.RelatingDraughtingCallout=a,o.RelatedDraughtingCallout=s,o.type=1694125774,o}return P(n)}(aa);e.IfcDimensionPair=No;var Lo=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e,r,i,a)).Location=r,s.ItemReference=i,s.Name=a,s.type=3732053477,s}return P(n)}(oa);e.IfcDocumentReference=Lo;var Mo=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e,r)).Name=r,i.type=4170525392,i}return P(n)}(za);e.IfcDraughtingPreDefinedTextFont=Mo;var xo=function(e){I(n,e);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).EdgeStart=r,a.EdgeEnd=i,a.type=3900360178,a}return P(n)}(ro);e.IfcEdge=xo;var Fo=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r,i)).EdgeStart=r,o.EdgeEnd=i,o.EdgeGeometry=a,o.SameSense=s,o.type=476780140,o}return P(n)}(xo);e.IfcEdgeCurve=Fo;var Ho=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r)).Material=r,o.ExtendedProperties=i,o.Description=a,o.Name=s,o.type=1860660968,o}return P(n)}(Da);e.IfcExtendedMaterialProperties=Ho;var Uo=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e)).Bounds=r,i.type=2556980723,i}return P(n)}(ro);e.IfcFace=Uo;var Go=function(e){I(n,e);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).Bound=r,a.Orientation=i,a.type=1809719519,a}return P(n)}(ro);e.IfcFaceBound=Go;var ko=function(e){I(n,e);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e,r,i)).Bound=r,a.Orientation=i,a.type=803316827,a}return P(n)}(Go);e.IfcFaceOuterBound=ko;var jo=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e,r)).Bounds=r,s.FaceSurface=i,s.SameSense=a,s.type=3008276851,s}return P(n)}(Uo);e.IfcFaceSurface=jo;var Vo=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u){var c;return b(this,n),(c=t.call(this,e,r)).Name=r,c.TensionFailureX=i,c.TensionFailureY=a,c.TensionFailureZ=s,c.CompressionFailureX=o,c.CompressionFailureY=l,c.CompressionFailureZ=u,c.type=4219587988,c}return P(n)}(Rs);e.IfcFailureConnectionCondition=Vo;var Qo=function(e){I(n,e);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e,r)).Name=r,a.FillStyles=i,a.type=738692330,a}return P(n)}(Xa);e.IfcFillAreaStyle=Qo;var Wo=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e,r)).Material=r,l.CombustionTemperature=i,l.CarbonContent=a,l.LowerHeatingValue=s,l.HigherHeatingValue=o,l.type=3857492461,l}return P(n)}(Da);e.IfcFuelProperties=Wo;var zo=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r)).Material=r,o.MolecularWeight=i,o.Porosity=a,o.MassDensity=s,o.type=803998398,o}return P(n)}(Da);e.IfcGeneralMaterialProperties=zo;var Ko=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u){var c;return b(this,n),(c=t.call(this,e,r,i)).ProfileName=r,c.ProfileDefinition=i,c.PhysicalWeight=a,c.Perimeter=s,c.MinimumPlateThickness=o,c.MaximumPlateThickness=l,c.CrossSectionArea=u,c.type=1446786286,c}return P(n)}(es);e.IfcGeneralProfileProperties=Ko;var Yo=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r,i)).ContextIdentifier=r,u.ContextType=i,u.CoordinateSpaceDimension=a,u.Precision=s,u.WorldCoordinateSystem=o,u.TrueNorth=l,u.type=3448662350,u}return P(n)}(vs);e.IfcGeometricRepresentationContext=Yo;var Xo=function(e){I(n,e);var t=m(n);function n(e){var r;return b(this,n),(r=t.call(this,e)).type=2453401579,r}return P(n)}(hs);e.IfcGeometricRepresentationItem=Xo;var qo=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r,i,new h(0),null,new H_(0),null)).ContextIdentifier=r,u.ContextType=i,u.ParentContext=a,u.TargetScale=s,u.TargetView=o,u.UserDefinedTargetView=l,u.type=4142052618,u}return P(n)}(Yo);e.IfcGeometricRepresentationSubContext=qo;var Jo=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e)).Elements=r,i.type=3590301190,i}return P(n)}(Xo);e.IfcGeometricSet=Jo;var Zo=function(e){I(n,e);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).PlacementLocation=r,a.PlacementRefDirection=i,a.type=178086475,a}return P(n)}(Sa);e.IfcGridPlacement=Zo;var $o=function(e){I(n,e);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).BaseSurface=r,a.AgreementFlag=i,a.type=812098782,a}return P(n)}(Xo);e.IfcHalfSpaceSolid=$o;var el=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r)).Material=r,u.UpperVaporResistanceFactor=i,u.LowerVaporResistanceFactor=a,u.IsothermalMoistureCapacity=s,u.VaporPermeability=o,u.MoistureDiffusivity=l,u.type=2445078500,u}return P(n)}(Da);e.IfcHygroscopicMaterialProperties=el;var tl=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e,r,i,a,s)).RepeatS=r,l.RepeatT=i,l.TextureType=a,l.TextureTransform=s,l.UrlReference=o,l.type=3905492369,l}return P(n)}(Us);e.IfcImageTexture=tl;var nl=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).Name=r,p.Description=i,p.StartTime=a,p.EndTime=s,p.TimeSeriesDataType=o,p.DataOrigin=l,p.UserDefinedDataOrigin=u,p.Unit=c,p.Values=f,p.type=3741457305,p}return P(n)}(eo);e.IfcIrregularTimeSeries=nl;var rl=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e)).Name=r,o.LightColour=i,o.AmbientIntensity=a,o.Intensity=s,o.type=1402838566,o}return P(n)}(Xo);e.IfcLightSource=rl;var il=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r,i,a,s)).Name=r,o.LightColour=i,o.AmbientIntensity=a,o.Intensity=s,o.type=125510826,o}return P(n)}(rl);e.IfcLightSourceAmbient=il;var al=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e,r,i,a,s)).Name=r,l.LightColour=i,l.AmbientIntensity=a,l.Intensity=s,l.Orientation=o,l.type=2604431987,l}return P(n)}(rl);e.IfcLightSourceDirectional=al;var sl=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s)).Name=r,A.LightColour=i,A.AmbientIntensity=a,A.Intensity=s,A.Position=o,A.ColourAppearance=l,A.ColourTemperature=u,A.LuminousFlux=c,A.LightEmissionSource=f,A.LightDistributionDataSource=p,A.type=4266656042,A}return P(n)}(rl);e.IfcLightSourceGoniometric=sl;var ol=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s)).Name=r,p.LightColour=i,p.AmbientIntensity=a,p.Intensity=s,p.Position=o,p.Radius=l,p.ConstantAttenuation=u,p.DistanceAttenuation=c,p.QuadricAttenuation=f,p.type=1520743889,p}return P(n)}(rl);e.IfcLightSourcePositional=ol;var ll=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A,d,v){var h;return b(this,n),(h=t.call(this,e,r,i,a,s,o,l,u,c,f)).Name=r,h.LightColour=i,h.AmbientIntensity=a,h.Intensity=s,h.Position=o,h.Radius=l,h.ConstantAttenuation=u,h.DistanceAttenuation=c,h.QuadricAttenuation=f,h.Orientation=p,h.ConcentrationExponent=A,h.SpreadAngle=d,h.BeamWidthAngle=v,h.type=3422422726,h}return P(n)}(ol);e.IfcLightSourceSpot=ll;var ul=function(e){I(n,e);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).PlacementRelTo=r,a.RelativePlacement=i,a.type=2624227202,a}return P(n)}(Sa);e.IfcLocalPlacement=ul;var cl=function(e){I(n,e);var t=m(n);function n(e){var r;return b(this,n),(r=t.call(this,e)).type=1008929658,r}return P(n)}(ro);e.IfcLoop=cl;var fl=function(e){I(n,e);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).MappingSource=r,a.MappingTarget=i,a.type=2347385850,a}return P(n)}(hs);e.IfcMappedItem=fl;var pl=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r,i,a)).Name=r,o.Description=i,o.Representations=a,o.RepresentedMaterial=s,o.type=2022407955,o}return P(n)}(Ja);e.IfcMaterialDefinitionRepresentation=pl;var Al=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A,d){var v;return b(this,n),(v=t.call(this,e,r,i,a,s,o,l)).Material=r,v.DynamicViscosity=i,v.YoungModulus=a,v.ShearModulus=s,v.PoissonRatio=o,v.ThermalExpansionCoefficient=l,v.CompressiveStrength=u,v.MaxAggregateSize=c,v.AdmixturesDescription=f,v.Workability=p,v.ProtectivePoreRatio=A,v.WaterImpermeability=d,v.type=1430189142,v}return P(n)}(Ra);e.IfcMechanicalConcreteMaterialProperties=Al;var dl=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r,i,a,s)).GlobalId=r,o.OwnerHistory=i,o.Name=a,o.Description=s,o.type=219451334,o}return P(n)}(ms);e.IfcObjectDefinition=dl;var vl=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e)).RepeatFactor=r,i.type=2833995503,i}return P(n)}(Xo);e.IfcOneDirectionRepeatFactor=vl;var hl=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e,r)).CfsFaces=r,i.type=2665983363,i}return P(n)}(Do);e.IfcOpenShell=hl;var Il=function(e){I(n,e);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e,new H_(0),new H_(0))).EdgeElement=r,a.Orientation=i,a.type=1029017970,a}return P(n)}(xo);e.IfcOrientedEdge=Il;var yl=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e,r,i)).ProfileType=r,s.ProfileName=i,s.Position=a,s.type=2529465313,s}return P(n)}($a);e.IfcParameterizedProfileDef=yl;var ml=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e)).EdgeList=r,i.type=2519244187,i}return P(n)}(ro);e.IfcPath=ml;var wl=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r,i)).Name=r,u.Description=i,u.HasQuantities=a,u.Discrimination=s,u.Quality=o,u.Usage=l,u.type=3021840470,u}return P(n)}(Ga);e.IfcPhysicalComplexQuantity=wl;var gl=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s)).RepeatS=r,f.RepeatT=i,f.TextureType=a,f.TextureTransform=s,f.Width=o,f.Height=l,f.ColourComponents=u,f.Pixel=c,f.type=597895409,f}return P(n)}(Us);e.IfcPixelTexture=gl;var El=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e)).Location=r,i.type=2004835150,i}return P(n)}(Xo);e.IfcPlacement=El;var Tl=function(e){I(n,e);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).SizeInX=r,a.SizeInY=i,a.type=1663979128,a}return P(n)}(Xo);e.IfcPlanarExtent=Tl;var bl=function(e){I(n,e);var t=m(n);function n(e){var r;return b(this,n),(r=t.call(this,e)).type=2067069095,r}return P(n)}(Xo);e.IfcPoint=bl;var Dl=function(e){I(n,e);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).BasisCurve=r,a.PointParameter=i,a.type=4022376103,a}return P(n)}(bl);e.IfcPointOnCurve=Dl;var Pl=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e)).BasisSurface=r,s.PointParameterU=i,s.PointParameterV=a,s.type=1423911732,s}return P(n)}(bl);e.IfcPointOnSurface=Pl;var Rl=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e)).Polygon=r,i.type=2924175390,i}return P(n)}(cl);e.IfcPolyLoop=Rl;var Cl=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r,i)).BaseSurface=r,o.AgreementFlag=i,o.Position=a,o.PolygonalBoundary=s,o.type=2775532180,o}return P(n)}($o);e.IfcPolygonalBoundedHalfSpace=Cl;var _l=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e,r)).Name=r,i.type=759155922,i}return P(n)}(Va);e.IfcPreDefinedColour=_l;var Bl=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e,r)).Name=r,i.type=2559016684,i}return P(n)}(Va);e.IfcPreDefinedCurveFont=Bl;var Ol=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e,r)).Name=r,i.type=433424934,i}return P(n)}(Qa);e.IfcPreDefinedDimensionSymbol=Ol;var Sl=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e,r)).Name=r,i.type=179317114,i}return P(n)}(Qa);e.IfcPreDefinedPointMarkerSymbol=Sl;var Nl=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e,r,i,a)).Name=r,s.Description=i,s.Representations=a,s.type=673634403,s}return P(n)}(Ja);e.IfcProductDefinitionShape=Nl;var Ll=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e,r,i)).Name=r,l.Description=i,l.UpperBoundValue=a,l.LowerBoundValue=s,l.Unit=o,l.type=871118103,l}return P(n)}(Ps);e.IfcPropertyBoundedValue=Ll;var Ml=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r,i,a,s)).GlobalId=r,o.OwnerHistory=i,o.Name=a,o.Description=s,o.type=1680319473,o}return P(n)}(ms);e.IfcPropertyDefinition=Ml;var xl=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r,i)).Name=r,o.Description=i,o.EnumerationValues=a,o.EnumerationReference=s,o.type=4166981789,o}return P(n)}(Ps);e.IfcPropertyEnumeratedValue=xl;var Fl=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r,i)).Name=r,o.Description=i,o.ListValues=a,o.Unit=s,o.type=2752243245,o}return P(n)}(Ps);e.IfcPropertyListValue=Fl;var Hl=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r,i)).Name=r,o.Description=i,o.UsageName=a,o.PropertyReference=s,o.type=941946838,o}return P(n)}(Ps);e.IfcPropertyReferenceValue=Hl;var Ul=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r,i,a,s)).GlobalId=r,o.OwnerHistory=i,o.Name=a,o.Description=s,o.type=3357820518,o}return P(n)}(Ml);e.IfcPropertySetDefinition=Ul;var Gl=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r,i)).Name=r,o.Description=i,o.NominalValue=a,o.Unit=s,o.type=3650150729,o}return P(n)}(Ps);e.IfcPropertySingleValue=Gl;var kl=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u){var c;return b(this,n),(c=t.call(this,e,r,i)).Name=r,c.Description=i,c.DefiningValues=a,c.DefinedValues=s,c.Expression=o,c.DefiningUnit=l,c.DefinedUnit=u,c.type=110355661,c}return P(n)}(Ps);e.IfcPropertyTableValue=kl;var jl=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e,r,i,a)).ProfileType=r,l.ProfileName=i,l.Position=a,l.XDim=s,l.YDim=o,l.type=3615266464,l}return P(n)}(yl);e.IfcRectangleProfileDef=jl;var Vl=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c)).Name=r,A.Description=i,A.StartTime=a,A.EndTime=s,A.TimeSeriesDataType=o,A.DataOrigin=l,A.UserDefinedDataOrigin=u,A.Unit=c,A.TimeStep=f,A.Values=p,A.type=3413951693,A}return P(n)}(eo);e.IfcRegularTimeSeries=Vl;var Ql=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r,i,a,s)).GlobalId=r,u.OwnerHistory=i,u.Name=a,u.Description=s,u.DefinitionType=o,u.ReinforcementSectionDefinitions=l,u.type=3765753017,u}return P(n)}(Ul);e.IfcReinforcementDefinitionProperties=Ql;var Wl=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r,i,a,s)).GlobalId=r,o.OwnerHistory=i,o.Name=a,o.Description=s,o.type=478536968,o}return P(n)}(ms);e.IfcRelationship=Wl;var zl=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r,i,a,s,o)).ProfileType=r,u.ProfileName=i,u.Position=a,u.XDim=s,u.YDim=o,u.RoundingRadius=l,u.type=2778083089,u}return P(n)}(jl);e.IfcRoundedRectangleProfileDef=zl;var Kl=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e)).SpineCurve=r,s.CrossSections=i,s.CrossSectionPositions=a,s.type=1509187699,s}return P(n)}(Xo);e.IfcSectionedSpine=Kl;var Yl=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s)).GlobalId=r,f.OwnerHistory=i,f.Name=a,f.Description=s,f.PredefinedType=o,f.UpperValue=l,f.MostUsedValue=u,f.LowerValue=c,f.type=2411513650,f}return P(n)}(Ul);e.IfcServiceLifeFactor=Yl;var Xl=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e)).SbsmBoundary=r,i.type=4124623270,i}return P(n)}(Xo);e.IfcShellBasedSurfaceModel=Xl;var ql=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r)).Name=r,o.SlippageX=i,o.SlippageY=a,o.SlippageZ=s,o.type=2609359061,o}return P(n)}(Rs);e.IfcSlippageConnectionCondition=ql;var Jl=function(e){I(n,e);var t=m(n);function n(e){var r;return b(this,n),(r=t.call(this,e)).type=723233188,r}return P(n)}(Xo);e.IfcSolidModel=Jl;var Zl=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u){var c;return b(this,n),(c=t.call(this,e,r,i,a,s)).GlobalId=r,c.OwnerHistory=i,c.Name=a,c.Description=s,c.IsAttenuating=o,c.SoundScale=l,c.SoundValues=u,c.type=2485662743,c}return P(n)}(Ul);e.IfcSoundProperties=Zl;var $l=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u){var c;return b(this,n),(c=t.call(this,e,r,i,a,s)).GlobalId=r,c.OwnerHistory=i,c.Name=a,c.Description=s,c.SoundLevelTimeSeries=o,c.Frequency=l,c.SoundLevelSingleValue=u,c.type=1202362311,c}return P(n)}(Ul);e.IfcSoundValue=$l;var eu=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A,d,v,h){var I;return b(this,n),(I=t.call(this,e,r,i,a,s)).GlobalId=r,I.OwnerHistory=i,I.Name=a,I.Description=s,I.ApplicableValueRatio=o,I.ThermalLoadSource=l,I.PropertySource=u,I.SourceDescription=c,I.MaximumValue=f,I.MinimumValue=p,I.ThermalLoadTimeSeriesValues=A,I.UserDefinedThermalLoadSource=d,I.UserDefinedPropertySource=v,I.ThermalLoadType=h,I.type=390701378,I}return P(n)}(Ul);e.IfcSpaceThermalLoadProperties=eu;var tu=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u){var c;return b(this,n),(c=t.call(this,e,r)).Name=r,c.LinearForceX=i,c.LinearForceY=a,c.LinearForceZ=s,c.LinearMomentX=o,c.LinearMomentY=l,c.LinearMomentZ=u,c.type=1595516126,c}return P(n)}(_s);e.IfcStructuralLoadLinearForce=tu;var nu=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r)).Name=r,o.PlanarForceX=i,o.PlanarForceY=a,o.PlanarForceZ=s,o.type=2668620305,o}return P(n)}(_s);e.IfcStructuralLoadPlanarForce=nu;var ru=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u){var c;return b(this,n),(c=t.call(this,e,r)).Name=r,c.DisplacementX=i,c.DisplacementY=a,c.DisplacementZ=s,c.RotationalDisplacementRX=o,c.RotationalDisplacementRY=l,c.RotationalDisplacementRZ=u,c.type=2473145415,c}return P(n)}(_s);e.IfcStructuralLoadSingleDisplacement=ru;var iu=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o,l,u)).Name=r,f.DisplacementX=i,f.DisplacementY=a,f.DisplacementZ=s,f.RotationalDisplacementRX=o,f.RotationalDisplacementRY=l,f.RotationalDisplacementRZ=u,f.Distortion=c,f.type=1973038258,f}return P(n)}(ru);e.IfcStructuralLoadSingleDisplacementDistortion=iu;var au=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u){var c;return b(this,n),(c=t.call(this,e,r)).Name=r,c.ForceX=i,c.ForceY=a,c.ForceZ=s,c.MomentX=o,c.MomentY=l,c.MomentZ=u,c.type=1597423693,c}return P(n)}(_s);e.IfcStructuralLoadSingleForce=au;var su=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o,l,u)).Name=r,f.ForceX=i,f.ForceY=a,f.ForceZ=s,f.MomentX=o,f.MomentY=l,f.MomentZ=u,f.WarpingMoment=c,f.type=1190533807,f}return P(n)}(au);e.IfcStructuralLoadSingleForceWarping=su;var ou=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A,d,v,h,I,y,m,w,g,E,T,D,P){var R;return b(this,n),(R=t.call(this,e,r,i,a,s,o,l,u)).ProfileName=r,R.ProfileDefinition=i,R.PhysicalWeight=a,R.Perimeter=s,R.MinimumPlateThickness=o,R.MaximumPlateThickness=l,R.CrossSectionArea=u,R.TorsionalConstantX=c,R.MomentOfInertiaYZ=f,R.MomentOfInertiaY=p,R.MomentOfInertiaZ=A,R.WarpingConstant=d,R.ShearCentreZ=v,R.ShearCentreY=h,R.ShearDeformationAreaZ=I,R.ShearDeformationAreaY=y,R.MaximumSectionModulusY=m,R.MinimumSectionModulusY=w,R.MaximumSectionModulusZ=g,R.MinimumSectionModulusZ=E,R.TorsionalSectionModulus=T,R.CentreOfGravityInX=D,R.CentreOfGravityInY=P,R.type=3843319758,R}return P(n)}(Ko);e.IfcStructuralProfileProperties=ou;var lu=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A,d,v,h,I,y,m,w,g,E,T,D,P,R,C,_,B){var O;return b(this,n),(O=t.call(this,e,r,i,a,s,o,l,u,c,f,p,A,d,v,h,I,y,m,w,g,E,T,D,P)).ProfileName=r,O.ProfileDefinition=i,O.PhysicalWeight=a,O.Perimeter=s,O.MinimumPlateThickness=o,O.MaximumPlateThickness=l,O.CrossSectionArea=u,O.TorsionalConstantX=c,O.MomentOfInertiaYZ=f,O.MomentOfInertiaY=p,O.MomentOfInertiaZ=A,O.WarpingConstant=d,O.ShearCentreZ=v,O.ShearCentreY=h,O.ShearDeformationAreaZ=I,O.ShearDeformationAreaY=y,O.MaximumSectionModulusY=m,O.MinimumSectionModulusY=w,O.MaximumSectionModulusZ=g,O.MinimumSectionModulusZ=E,O.TorsionalSectionModulus=T,O.CentreOfGravityInX=D,O.CentreOfGravityInY=P,O.ShearAreaZ=R,O.ShearAreaY=C,O.PlasticShapeFactorY=_,O.PlasticShapeFactorZ=B,O.type=3653947884,O}return P(n)}(ou);e.IfcStructuralSteelProfileProperties=lu;var uu=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e,r,i)).EdgeStart=r,s.EdgeEnd=i,s.ParentEdge=a,s.type=2233826070,s}return P(n)}(xo);e.IfcSubedge=uu;var cu=function(e){I(n,e);var t=m(n);function n(e){var r;return b(this,n),(r=t.call(this,e)).type=2513912981,r}return P(n)}(Xo);e.IfcSurface=cu;var fu=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r)).SurfaceColour=r,p.Transparency=i,p.DiffuseColour=a,p.TransmissionColour=s,p.DiffuseTransmissionColour=o,p.ReflectionColour=l,p.SpecularColour=u,p.SpecularHighlight=c,p.ReflectanceMethod=f,p.type=1878645084,p}return P(n)}(Fs);e.IfcSurfaceStyleRendering=fu;var pu=function(e){I(n,e);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).SweptArea=r,a.Position=i,a.type=2247615214,a}return P(n)}(Jl);e.IfcSweptAreaSolid=pu;var Au=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e)).Directrix=r,l.Radius=i,l.InnerRadius=a,l.StartParam=s,l.EndParam=o,l.type=1260650574,l}return P(n)}(Jl);e.IfcSweptDiskSolid=Au;var du=function(e){I(n,e);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).SweptCurve=r,a.Position=i,a.type=230924584,a}return P(n)}(cu);e.IfcSweptSurface=du;var vu=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A,d,v){var h;return b(this,n),(h=t.call(this,e,r,i,a)).ProfileType=r,h.ProfileName=i,h.Position=a,h.Depth=s,h.FlangeWidth=o,h.WebThickness=l,h.FlangeThickness=u,h.FilletRadius=c,h.FlangeEdgeRadius=f,h.WebEdgeRadius=p,h.WebSlope=A,h.FlangeSlope=d,h.CentreOfGravityInY=v,h.type=3071757647,h}return P(n)}(yl);e.IfcTShapeProfileDef=vu;var hu=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r,i,a)).Item=r,o.Styles=i,o.Name=a,o.AnnotatedCurve=s,o.type=3028897424,o}return P(n)}(Ao);e.IfcTerminatorSymbol=hu;var Iu=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e)).Literal=r,s.Placement=i,s.Path=a,s.type=4282788508,s}return P(n)}(Xo);e.IfcTextLiteral=Iu;var yu=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e,r,i,a)).Literal=r,l.Placement=i,l.Path=a,l.Extent=s,l.BoxAlignment=o,l.type=3124975700,l}return P(n)}(Iu);e.IfcTextLiteralWithExtent=yu;var mu=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u){var c;return b(this,n),(c=t.call(this,e,r,i,a)).ProfileType=r,c.ProfileName=i,c.Position=a,c.BottomXDim=s,c.TopXDim=o,c.YDim=l,c.TopXOffset=u,c.type=2715220739,c}return P(n)}(yl);e.IfcTrapeziumProfileDef=mu;var wu=function(e){I(n,e);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e,r)).RepeatFactor=r,a.SecondRepeatFactor=i,a.type=1345879162,a}return P(n)}(vl);e.IfcTwoDirectionRepeatFactor=wu;var gu=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r,i,a,s)).GlobalId=r,u.OwnerHistory=i,u.Name=a,u.Description=s,u.ApplicableOccurrence=o,u.HasPropertySets=l,u.type=1628702193,u}return P(n)}(dl);e.IfcTypeObject=gu;var Eu=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o,l)).GlobalId=r,f.OwnerHistory=i,f.Name=a,f.Description=s,f.ApplicableOccurrence=o,f.HasPropertySets=l,f.RepresentationMaps=u,f.Tag=c,f.type=2347495698,f}return P(n)}(gu);e.IfcTypeProduct=Eu;var Tu=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A){var d;return b(this,n),(d=t.call(this,e,r,i,a)).ProfileType=r,d.ProfileName=i,d.Position=a,d.Depth=s,d.FlangeWidth=o,d.WebThickness=l,d.FlangeThickness=u,d.FilletRadius=c,d.EdgeRadius=f,d.FlangeSlope=p,d.CentreOfGravityInX=A,d.type=427810014,d}return P(n)}(yl);e.IfcUShapeProfileDef=Tu;var bu=function(e){I(n,e);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).Orientation=r,a.Magnitude=i,a.type=1417489154,a}return P(n)}(Xo);e.IfcVector=bu;var Du=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e)).LoopVertex=r,i.type=2759199220,i}return P(n)}(cl);e.IfcVertexLoop=Du;var Pu=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A,d,v){var h;return b(this,n),(h=t.call(this,e,r,i,a,s)).GlobalId=r,h.OwnerHistory=i,h.Name=a,h.Description=s,h.LiningDepth=o,h.LiningThickness=l,h.TransomThickness=u,h.MullionThickness=c,h.FirstTransomOffset=f,h.SecondTransomOffset=p,h.FirstMullionOffset=A,h.SecondMullionOffset=d,h.ShapeAspectStyle=v,h.type=336235671,h}return P(n)}(Ul);e.IfcWindowLiningProperties=Pu;var Ru=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.OperationType=o,p.PanelPosition=l,p.FrameDepth=u,p.FrameThickness=c,p.ShapeAspectStyle=f,p.type=512836454,p}return P(n)}(Ul);e.IfcWindowPanelProperties=Ru;var Cu=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A,d){var v;return b(this,n),(v=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,v.OwnerHistory=i,v.Name=a,v.Description=s,v.ApplicableOccurrence=o,v.HasPropertySets=l,v.RepresentationMaps=u,v.Tag=c,v.ConstructionType=f,v.OperationType=p,v.ParameterTakesPrecedence=A,v.Sizeable=d,v.type=1299126871,v}return P(n)}(Eu);e.IfcWindowStyle=Cu;var _u=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a)).ProfileType=r,p.ProfileName=i,p.Position=a,p.Depth=s,p.FlangeWidth=o,p.WebThickness=l,p.FlangeThickness=u,p.FilletRadius=c,p.EdgeRadius=f,p.type=2543172580,p}return P(n)}(yl);e.IfcZShapeProfileDef=_u;var Bu=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e,r,i,a)).Item=r,s.Styles=i,s.Name=a,s.type=3288037868,s}return P(n)}(fo);e.IfcAnnotationCurveOccurrence=Bu;var Ou=function(e){I(n,e);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).OuterBoundary=r,a.InnerBoundaries=i,a.type=669184980,a}return P(n)}(Xo);e.IfcAnnotationFillArea=Ou;var Su=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e,r,i,a)).Item=r,l.Styles=i,l.Name=a,l.FillStyleTarget=s,l.GlobalOrLocal=o,l.type=2265737646,l}return P(n)}(fo);e.IfcAnnotationFillAreaOccurrence=Su;var Nu=function(e){I(n,e);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).Item=r,a.TextureCoordinates=i,a.type=1302238472,a}return P(n)}(Xo);e.IfcAnnotationSurface=Nu;var Lu=function(e){I(n,e);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e,r)).Location=r,a.Axis=i,a.type=4261334040,a}return P(n)}(El);e.IfcAxis1Placement=Lu;var Mu=function(e){I(n,e);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e,r)).Location=r,a.RefDirection=i,a.type=3125803723,a}return P(n)}(El);e.IfcAxis2Placement2D=Mu;var xu=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e,r)).Location=r,s.Axis=i,s.RefDirection=a,s.type=2740243338,s}return P(n)}(El);e.IfcAxis2Placement3D=xu;var Fu=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e)).Operator=r,s.FirstOperand=i,s.SecondOperand=a,s.type=2736907675,s}return P(n)}(Xo);e.IfcBooleanResult=Fu;var Hu=function(e){I(n,e);var t=m(n);function n(e){var r;return b(this,n),(r=t.call(this,e)).type=4182860854,r}return P(n)}(cu);e.IfcBoundedSurface=Hu;var Uu=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e)).Corner=r,o.XDim=i,o.YDim=a,o.ZDim=s,o.type=2581212453,o}return P(n)}(Xo);e.IfcBoundingBox=Uu;var Gu=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e,r,i)).BaseSurface=r,s.AgreementFlag=i,s.Enclosure=a,s.type=2713105998,s}return P(n)}($o);e.IfcBoxedHalfSpace=Gu;var ku=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a)).ProfileType=r,p.ProfileName=i,p.Position=a,p.Depth=s,p.Width=o,p.WallThickness=l,p.Girth=u,p.InternalFilletRadius=c,p.CentreOfGravityInX=f,p.type=2898889636,p}return P(n)}(yl);e.IfcCShapeProfileDef=ku;var ju=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e)).Coordinates=r,i.type=1123145078,i}return P(n)}(bl);e.IfcCartesianPoint=ju;var Vu=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e)).Axis1=r,o.Axis2=i,o.LocalOrigin=a,o.Scale=s,o.type=59481748,o}return P(n)}(Xo);e.IfcCartesianTransformationOperator=Vu;var Qu=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r,i,a,s)).Axis1=r,o.Axis2=i,o.LocalOrigin=a,o.Scale=s,o.type=3749851601,o}return P(n)}(Vu);e.IfcCartesianTransformationOperator2D=Qu;var Wu=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e,r,i,a,s)).Axis1=r,l.Axis2=i,l.LocalOrigin=a,l.Scale=s,l.Scale2=o,l.type=3486308946,l}return P(n)}(Qu);e.IfcCartesianTransformationOperator2DnonUniform=Wu;var zu=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e,r,i,a,s)).Axis1=r,l.Axis2=i,l.LocalOrigin=a,l.Scale=s,l.Axis3=o,l.type=3331915920,l}return P(n)}(Vu);e.IfcCartesianTransformationOperator3D=zu;var Ku=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u){var c;return b(this,n),(c=t.call(this,e,r,i,a,s,o)).Axis1=r,c.Axis2=i,c.LocalOrigin=a,c.Scale=s,c.Axis3=o,c.Scale2=l,c.Scale3=u,c.type=1416205885,c}return P(n)}(zu);e.IfcCartesianTransformationOperator3DnonUniform=Ku;var Yu=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r,i,a)).ProfileType=r,o.ProfileName=i,o.Position=a,o.Radius=s,o.type=1383045692,o}return P(n)}(yl);e.IfcCircleProfileDef=Yu;var Xu=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e,r)).CfsFaces=r,i.type=2205249479,i}return P(n)}(Do);e.IfcClosedShell=Xu;var qu=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e)).Transition=r,s.SameSense=i,s.ParentCurve=a,s.type=2485617015,s}return P(n)}(Xo);e.IfcCompositeCurveSegment=qu;var Ju=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A,d,v,h,I){var y;return b(this,n),(y=t.call(this,e,r,i,a)).ProfileType=r,y.ProfileName=i,y.Position=a,y.OverallHeight=s,y.BaseWidth2=o,y.Radius=l,y.HeadWidth=u,y.HeadDepth2=c,y.HeadDepth3=f,y.WebThickness=p,y.BaseWidth4=A,y.BaseDepth1=d,y.BaseDepth2=v,y.BaseDepth3=h,y.CentreOfGravityInY=I,y.type=4133800736,y}return P(n)}(yl);e.IfcCraneRailAShapeProfileDef=Ju;var Zu=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A,d){var v;return b(this,n),(v=t.call(this,e,r,i,a)).ProfileType=r,v.ProfileName=i,v.Position=a,v.OverallHeight=s,v.HeadWidth=o,v.Radius=l,v.HeadDepth2=u,v.HeadDepth3=c,v.WebThickness=f,v.BaseDepth1=p,v.BaseDepth2=A,v.CentreOfGravityInY=d,v.type=194851669,v}return P(n)}(yl);e.IfcCraneRailFShapeProfileDef=Zu;var $u=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e)).Position=r,i.type=2506170314,i}return P(n)}(Xo);e.IfcCsgPrimitive3D=$u;var ec=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e)).TreeRootExpression=r,i.type=2147822146,i}return P(n)}(Jl);e.IfcCsgSolid=ec;var tc=function(e){I(n,e);var t=m(n);function n(e){var r;return b(this,n),(r=t.call(this,e)).type=2601014836,r}return P(n)}(Xo);e.IfcCurve=tc;var nc=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e)).BasisSurface=r,s.OuterBoundary=i,s.InnerBoundaries=a,s.type=2827736869,s}return P(n)}(Hu);e.IfcCurveBoundedPlane=nc;var rc=function(e){I(n,e);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).Definition=r,a.Target=i,a.type=693772133,a}return P(n)}(Xo);e.IfcDefinedSymbol=rc;var ic=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e,r,i,a)).Item=r,s.Styles=i,s.Name=a,s.type=606661476,s}return P(n)}(Bu);e.IfcDimensionCurve=ic;var ac=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e,r,i,a,s)).Item=r,l.Styles=i,l.Name=a,l.AnnotatedCurve=s,l.Role=o,l.type=4054601972,l}return P(n)}(hu);e.IfcDimensionCurveTerminator=ac;var sc=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e)).DirectionRatios=r,i.type=32440307,i}return P(n)}(Xo);e.IfcDirection=sc;var oc=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A,d,v,h,I){var y;return b(this,n),(y=t.call(this,e,r,i,a,s)).GlobalId=r,y.OwnerHistory=i,y.Name=a,y.Description=s,y.LiningDepth=o,y.LiningThickness=l,y.ThresholdDepth=u,y.ThresholdThickness=c,y.TransomThickness=f,y.TransomOffset=p,y.LiningOffset=A,y.ThresholdOffset=d,y.CasingThickness=v,y.CasingDepth=h,y.ShapeAspectStyle=I,y.type=2963535650,y}return P(n)}(Ul);e.IfcDoorLiningProperties=oc;var lc=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.PanelDepth=o,p.PanelOperation=l,p.PanelWidth=u,p.PanelPosition=c,p.ShapeAspectStyle=f,p.type=1714330368,p}return P(n)}(Ul);e.IfcDoorPanelProperties=lc;var uc=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A,d){var v;return b(this,n),(v=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,v.OwnerHistory=i,v.Name=a,v.Description=s,v.ApplicableOccurrence=o,v.HasPropertySets=l,v.RepresentationMaps=u,v.Tag=c,v.OperationType=f,v.ConstructionType=p,v.ParameterTakesPrecedence=A,v.Sizeable=d,v.type=526551008,v}return P(n)}(Eu);e.IfcDoorStyle=uc;var cc=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e)).Contents=r,i.type=3073041342,i}return P(n)}(Xo);e.IfcDraughtingCallout=cc;var fc=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e,r)).Name=r,i.type=445594917,i}return P(n)}(_l);e.IfcDraughtingPreDefinedColour=fc;var pc=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e,r)).Name=r,i.type=4006246654,i}return P(n)}(Bl);e.IfcDraughtingPreDefinedCurveFont=pc;var Ac=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e)).EdgeList=r,i.type=1472233963,i}return P(n)}(cl);e.IfcEdgeLoop=Ac;var dc=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r,i,a,s)).GlobalId=r,u.OwnerHistory=i,u.Name=a,u.Description=s,u.MethodOfMeasurement=o,u.Quantities=l,u.type=1883228015,u}return P(n)}(Ul);e.IfcElementQuantity=dc;var vc=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ApplicableOccurrence=o,p.HasPropertySets=l,p.RepresentationMaps=u,p.Tag=c,p.ElementType=f,p.type=339256511,p}return P(n)}(Eu);e.IfcElementType=vc;var hc=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e)).Position=r,i.type=2777663545,i}return P(n)}(cu);e.IfcElementarySurface=hc;var Ic=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e,r,i,a)).ProfileType=r,l.ProfileName=i,l.Position=a,l.SemiAxis1=s,l.SemiAxis2=o,l.type=2835456948,l}return P(n)}(yl);e.IfcEllipseProfileDef=Ic;var yc=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r,i,a,s)).GlobalId=r,u.OwnerHistory=i,u.Name=a,u.Description=s,u.EnergySequence=o,u.UserDefinedEnergySequence=l,u.type=80994333,u}return P(n)}(Ul);e.IfcEnergyProperties=yc;var mc=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r,i)).SweptArea=r,o.Position=i,o.ExtrudedDirection=a,o.Depth=s,o.type=477187591,o}return P(n)}(pu);e.IfcExtrudedAreaSolid=mc;var wc=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e)).FbsmFaces=r,i.type=2047409740,i}return P(n)}(Xo);e.IfcFaceBasedSurfaceModel=wc;var gc=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e)).HatchLineAppearance=r,l.StartOfNextHatchLine=i,l.PointOfReferenceHatchLine=a,l.PatternStart=s,l.HatchLineAngle=o,l.type=374418227,l}return P(n)}(Xo);e.IfcFillAreaStyleHatching=gc;var Ec=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e)).Symbol=r,i.type=4203026998,i}return P(n)}(Xo);e.IfcFillAreaStyleTileSymbolWithStyle=Ec;var Tc=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e)).TilingPattern=r,s.Tiles=i,s.TilingScale=a,s.type=315944413,s}return P(n)}(Xo);e.IfcFillAreaStyleTiles=Tc;var bc=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A,d,v,h,I,y,m,w,g){var E;return b(this,n),(E=t.call(this,e,r,i,a,s)).GlobalId=r,E.OwnerHistory=i,E.Name=a,E.Description=s,E.PropertySource=o,E.FlowConditionTimeSeries=l,E.VelocityTimeSeries=u,E.FlowrateTimeSeries=c,E.Fluid=f,E.PressureTimeSeries=p,E.UserDefinedPropertySource=A,E.TemperatureSingleValue=d,E.WetBulbTemperatureSingleValue=v,E.WetBulbTemperatureTimeSeries=h,E.TemperatureTimeSeries=I,E.FlowrateSingleValue=y,E.FlowConditionSingleValue=m,E.VelocitySingleValue=w,E.PressureSingleValue=g,E.type=3455213021,E}return P(n)}(Ul);e.IfcFluidFlowProperties=bc;var Dc=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ApplicableOccurrence=o,p.HasPropertySets=l,p.RepresentationMaps=u,p.Tag=c,p.ElementType=f,p.type=4238390223,p}return P(n)}(vc);e.IfcFurnishingElementType=Dc;var Pc=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.AssemblyPlace=p,A.type=1268542332,A}return P(n)}(Dc);e.IfcFurnitureType=Pc;var Rc=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e,r)).Elements=r,i.type=987898635,i}return P(n)}(Jo);e.IfcGeometricCurveSet=Rc;var Cc=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a)).ProfileType=r,f.ProfileName=i,f.Position=a,f.OverallWidth=s,f.OverallDepth=o,f.WebThickness=l,f.FlangeThickness=u,f.FilletRadius=c,f.type=1484403080,f}return P(n)}(yl);e.IfcIShapeProfileDef=Cc;var _c=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A){var d;return b(this,n),(d=t.call(this,e,r,i,a)).ProfileType=r,d.ProfileName=i,d.Position=a,d.Depth=s,d.Width=o,d.Thickness=l,d.FilletRadius=u,d.EdgeRadius=c,d.LegSlope=f,d.CentreOfGravityInX=p,d.CentreOfGravityInY=A,d.type=572779678,d}return P(n)}(yl);e.IfcLShapeProfileDef=_c;var Bc=function(e){I(n,e);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).Pnt=r,a.Dir=i,a.type=1281925730,a}return P(n)}(tc);e.IfcLine=Bc;var Oc=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e)).Outer=r,i.type=1425443689,i}return P(n)}(Jl);e.IfcManifoldSolidBrep=Oc;var Sc=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e,r,i,a,s)).GlobalId=r,l.OwnerHistory=i,l.Name=a,l.Description=s,l.ObjectType=o,l.type=3888040117,l}return P(n)}(dl);e.IfcObject=Sc;var Nc=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e)).BasisCurve=r,s.Distance=i,s.SelfIntersect=a,s.type=3388369263,s}return P(n)}(tc);e.IfcOffsetCurve2D=Nc;var Lc=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e)).BasisCurve=r,o.Distance=i,o.SelfIntersect=a,o.RefDirection=s,o.type=3505215534,o}return P(n)}(tc);e.IfcOffsetCurve3D=Lc;var Mc=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.OperationType=o,p.PanelPosition=l,p.FrameDepth=u,p.FrameThickness=c,p.ShapeAspectStyle=f,p.type=3566463478,p}return P(n)}(Ul);e.IfcPermeableCoveringProperties=Mc;var xc=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e,r,i)).SizeInX=r,s.SizeInY=i,s.Placement=a,s.type=603570806,s}return P(n)}(Tl);e.IfcPlanarBox=xc;var Fc=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e,r)).Position=r,i.type=220341763,i}return P(n)}(hc);e.IfcPlane=Fc;var Hc=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e,r,i,a,s,o)).GlobalId=r,l.OwnerHistory=i,l.Name=a,l.Description=s,l.ObjectType=o,l.type=2945172077,l}return P(n)}(Sc);e.IfcProcess=Hc;var Uc=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u){var c;return b(this,n),(c=t.call(this,e,r,i,a,s,o)).GlobalId=r,c.OwnerHistory=i,c.Name=a,c.Description=s,c.ObjectType=o,c.ObjectPlacement=l,c.Representation=u,c.type=4208778838,c}return P(n)}(Sc);e.IfcProduct=Uc;var Gc=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.LongName=l,p.Phase=u,p.RepresentationContexts=c,p.UnitsInContext=f,p.type=103090709,p}return P(n)}(Sc);e.IfcProject=Gc;var kc=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e,r,i,a)).Item=r,s.Styles=i,s.Name=a,s.type=4194566429,s}return P(n)}(Bu);e.IfcProjectionCurve=kc;var jc=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e,r,i,a,s)).GlobalId=r,l.OwnerHistory=i,l.Name=a,l.Description=s,l.HasProperties=o,l.type=1451395588,l}return P(n)}(Ul);e.IfcPropertySet=jc;var Vc=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.ProxyType=c,p.Tag=f,p.type=3219374653,p}return P(n)}(Uc);e.IfcProxy=Vc;var Qc=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o)).ProfileType=r,f.ProfileName=i,f.Position=a,f.XDim=s,f.YDim=o,f.WallThickness=l,f.InnerFilletRadius=u,f.OuterFilletRadius=c,f.type=2770003689,f}return P(n)}(jl);e.IfcRectangleHollowProfileDef=Qc;var Wc=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r)).Position=r,o.XLength=i,o.YLength=a,o.Height=s,o.type=2798486643,o}return P(n)}($u);e.IfcRectangularPyramid=Wc;var zc=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u){var c;return b(this,n),(c=t.call(this,e)).BasisSurface=r,c.U1=i,c.V1=a,c.U2=s,c.V2=o,c.Usense=l,c.Vsense=u,c.type=3454111270,c}return P(n)}(Hu);e.IfcRectangularTrimmedSurface=zc;var Kc=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r,i,a,s)).GlobalId=r,u.OwnerHistory=i,u.Name=a,u.Description=s,u.RelatedObjects=o,u.RelatedObjectsType=l,u.type=3939117080,u}return P(n)}(Wl);e.IfcRelAssigns=Kc;var Yc=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o,l)).GlobalId=r,f.OwnerHistory=i,f.Name=a,f.Description=s,f.RelatedObjects=o,f.RelatedObjectsType=l,f.RelatingActor=u,f.ActingRole=c,f.type=1683148259,f}return P(n)}(Kc);e.IfcRelAssignsToActor=Yc;var Xc=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u){var c;return b(this,n),(c=t.call(this,e,r,i,a,s,o,l)).GlobalId=r,c.OwnerHistory=i,c.Name=a,c.Description=s,c.RelatedObjects=o,c.RelatedObjectsType=l,c.RelatingControl=u,c.type=2495723537,c}return P(n)}(Kc);e.IfcRelAssignsToControl=Xc;var qc=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u){var c;return b(this,n),(c=t.call(this,e,r,i,a,s,o,l)).GlobalId=r,c.OwnerHistory=i,c.Name=a,c.Description=s,c.RelatedObjects=o,c.RelatedObjectsType=l,c.RelatingGroup=u,c.type=1307041759,c}return P(n)}(Kc);e.IfcRelAssignsToGroup=qc;var Jc=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o,l)).GlobalId=r,f.OwnerHistory=i,f.Name=a,f.Description=s,f.RelatedObjects=o,f.RelatedObjectsType=l,f.RelatingProcess=u,f.QuantityInProcess=c,f.type=4278684876,f}return P(n)}(Kc);e.IfcRelAssignsToProcess=Jc;var Zc=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u){var c;return b(this,n),(c=t.call(this,e,r,i,a,s,o,l)).GlobalId=r,c.OwnerHistory=i,c.Name=a,c.Description=s,c.RelatedObjects=o,c.RelatedObjectsType=l,c.RelatingProduct=u,c.type=2857406711,c}return P(n)}(Kc);e.IfcRelAssignsToProduct=Zc;var $c=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u){var c;return b(this,n),(c=t.call(this,e,r,i,a,s,o,l,u)).GlobalId=r,c.OwnerHistory=i,c.Name=a,c.Description=s,c.RelatedObjects=o,c.RelatedObjectsType=l,c.RelatingControl=u,c.type=3372526763,c}return P(n)}(Xc);e.IfcRelAssignsToProjectOrder=$c;var ef=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u){var c;return b(this,n),(c=t.call(this,e,r,i,a,s,o,l)).GlobalId=r,c.OwnerHistory=i,c.Name=a,c.Description=s,c.RelatedObjects=o,c.RelatedObjectsType=l,c.RelatingResource=u,c.type=205026976,c}return P(n)}(Kc);e.IfcRelAssignsToResource=ef;var tf=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e,r,i,a,s)).GlobalId=r,l.OwnerHistory=i,l.Name=a,l.Description=s,l.RelatedObjects=o,l.type=1865459582,l}return P(n)}(Wl);e.IfcRelAssociates=tf;var nf=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r,i,a,s,o)).GlobalId=r,u.OwnerHistory=i,u.Name=a,u.Description=s,u.RelatedObjects=o,u.RelatingAppliedValue=l,u.type=1327628568,u}return P(n)}(tf);e.IfcRelAssociatesAppliedValue=nf;var rf=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r,i,a,s,o)).GlobalId=r,u.OwnerHistory=i,u.Name=a,u.Description=s,u.RelatedObjects=o,u.RelatingApproval=l,u.type=4095574036,u}return P(n)}(tf);e.IfcRelAssociatesApproval=rf;var af=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r,i,a,s,o)).GlobalId=r,u.OwnerHistory=i,u.Name=a,u.Description=s,u.RelatedObjects=o,u.RelatingClassification=l,u.type=919958153,u}return P(n)}(tf);e.IfcRelAssociatesClassification=af;var sf=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u){var c;return b(this,n),(c=t.call(this,e,r,i,a,s,o)).GlobalId=r,c.OwnerHistory=i,c.Name=a,c.Description=s,c.RelatedObjects=o,c.Intent=l,c.RelatingConstraint=u,c.type=2728634034,c}return P(n)}(tf);e.IfcRelAssociatesConstraint=sf;var of=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r,i,a,s,o)).GlobalId=r,u.OwnerHistory=i,u.Name=a,u.Description=s,u.RelatedObjects=o,u.RelatingDocument=l,u.type=982818633,u}return P(n)}(tf);e.IfcRelAssociatesDocument=of;var lf=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r,i,a,s,o)).GlobalId=r,u.OwnerHistory=i,u.Name=a,u.Description=s,u.RelatedObjects=o,u.RelatingLibrary=l,u.type=3840914261,u}return P(n)}(tf);e.IfcRelAssociatesLibrary=lf;var uf=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r,i,a,s,o)).GlobalId=r,u.OwnerHistory=i,u.Name=a,u.Description=s,u.RelatedObjects=o,u.RelatingMaterial=l,u.type=2655215786,u}return P(n)}(tf);e.IfcRelAssociatesMaterial=uf;var cf=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o)).GlobalId=r,f.OwnerHistory=i,f.Name=a,f.Description=s,f.RelatedObjects=o,f.RelatingProfileProperties=l,f.ProfileSectionLocation=u,f.ProfileOrientation=c,f.type=2851387026,f}return P(n)}(tf);e.IfcRelAssociatesProfileProperties=cf;var ff=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r,i,a,s)).GlobalId=r,o.OwnerHistory=i,o.Name=a,o.Description=s,o.type=826625072,o}return P(n)}(Wl);e.IfcRelConnects=ff;var pf=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u){var c;return b(this,n),(c=t.call(this,e,r,i,a,s)).GlobalId=r,c.OwnerHistory=i,c.Name=a,c.Description=s,c.ConnectionGeometry=o,c.RelatingElement=l,c.RelatedElement=u,c.type=1204542856,c}return P(n)}(ff);e.IfcRelConnectsElements=pf;var Af=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A){var d;return b(this,n),(d=t.call(this,e,r,i,a,s,o,l,u)).GlobalId=r,d.OwnerHistory=i,d.Name=a,d.Description=s,d.ConnectionGeometry=o,d.RelatingElement=l,d.RelatedElement=u,d.RelatingPriorities=c,d.RelatedPriorities=f,d.RelatedConnectionType=p,d.RelatingConnectionType=A,d.type=3945020480,d}return P(n)}(pf);e.IfcRelConnectsPathElements=Af;var df=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r,i,a,s)).GlobalId=r,u.OwnerHistory=i,u.Name=a,u.Description=s,u.RelatingPort=o,u.RelatedElement=l,u.type=4201705270,u}return P(n)}(ff);e.IfcRelConnectsPortToElement=df;var vf=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u){var c;return b(this,n),(c=t.call(this,e,r,i,a,s)).GlobalId=r,c.OwnerHistory=i,c.Name=a,c.Description=s,c.RelatingPort=o,c.RelatedPort=l,c.RealizingElement=u,c.type=3190031847,c}return P(n)}(ff);e.IfcRelConnectsPorts=vf;var hf=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r,i,a,s)).GlobalId=r,u.OwnerHistory=i,u.Name=a,u.Description=s,u.RelatingElement=o,u.RelatedStructuralActivity=l,u.type=2127690289,u}return P(n)}(ff);e.IfcRelConnectsStructuralActivity=hf;var If=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r,i,a,s)).GlobalId=r,u.OwnerHistory=i,u.Name=a,u.Description=s,u.RelatingElement=o,u.RelatedStructuralMember=l,u.type=3912681535,u}return P(n)}(ff);e.IfcRelConnectsStructuralElement=If;var yf=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.RelatingStructuralMember=o,A.RelatedStructuralConnection=l,A.AppliedCondition=u,A.AdditionalConditions=c,A.SupportedLength=f,A.ConditionCoordinateSystem=p,A.type=1638771189,A}return P(n)}(ff);e.IfcRelConnectsStructuralMember=yf;var mf=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A){var d;return b(this,n),(d=t.call(this,e,r,i,a,s,o,l,u,c,f,p)).GlobalId=r,d.OwnerHistory=i,d.Name=a,d.Description=s,d.RelatingStructuralMember=o,d.RelatedStructuralConnection=l,d.AppliedCondition=u,d.AdditionalConditions=c,d.SupportedLength=f,d.ConditionCoordinateSystem=p,d.ConnectionConstraint=A,d.type=504942748,d}return P(n)}(yf);e.IfcRelConnectsWithEccentricity=mf;var wf=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ConnectionGeometry=o,p.RelatingElement=l,p.RelatedElement=u,p.RealizingElements=c,p.ConnectionType=f,p.type=3678494232,p}return P(n)}(pf);e.IfcRelConnectsWithRealizingElements=wf;var gf=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r,i,a,s)).GlobalId=r,u.OwnerHistory=i,u.Name=a,u.Description=s,u.RelatedElements=o,u.RelatingStructure=l,u.type=3242617779,u}return P(n)}(ff);e.IfcRelContainedInSpatialStructure=gf;var Ef=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r,i,a,s)).GlobalId=r,u.OwnerHistory=i,u.Name=a,u.Description=s,u.RelatingBuildingElement=o,u.RelatedCoverings=l,u.type=886880790,u}return P(n)}(ff);e.IfcRelCoversBldgElements=Ef;var Tf=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r,i,a,s)).GlobalId=r,u.OwnerHistory=i,u.Name=a,u.Description=s,u.RelatedSpace=o,u.RelatedCoverings=l,u.type=2802773753,u}return P(n)}(ff);e.IfcRelCoversSpaces=Tf;var bf=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r,i,a,s)).GlobalId=r,u.OwnerHistory=i,u.Name=a,u.Description=s,u.RelatingObject=o,u.RelatedObjects=l,u.type=2551354335,u}return P(n)}(Wl);e.IfcRelDecomposes=bf;var Df=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e,r,i,a,s)).GlobalId=r,l.OwnerHistory=i,l.Name=a,l.Description=s,l.RelatedObjects=o,l.type=693640335,l}return P(n)}(Wl);e.IfcRelDefines=Df;var Pf=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r,i,a,s,o)).GlobalId=r,u.OwnerHistory=i,u.Name=a,u.Description=s,u.RelatedObjects=o,u.RelatingPropertyDefinition=l,u.type=4186316022,u}return P(n)}(Df);e.IfcRelDefinesByProperties=Pf;var Rf=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r,i,a,s,o)).GlobalId=r,u.OwnerHistory=i,u.Name=a,u.Description=s,u.RelatedObjects=o,u.RelatingType=l,u.type=781010003,u}return P(n)}(Df);e.IfcRelDefinesByType=Rf;var Cf=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r,i,a,s)).GlobalId=r,u.OwnerHistory=i,u.Name=a,u.Description=s,u.RelatingOpeningElement=o,u.RelatedBuildingElement=l,u.type=3940055652,u}return P(n)}(ff);e.IfcRelFillsElement=Cf;var _f=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r,i,a,s)).GlobalId=r,u.OwnerHistory=i,u.Name=a,u.Description=s,u.RelatedControlElements=o,u.RelatingFlowElement=l,u.type=279856033,u}return P(n)}(ff);e.IfcRelFlowControlElements=_f;var Bf=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.DailyInteraction=o,p.ImportanceRating=l,p.LocationOfInteraction=u,p.RelatedSpaceProgram=c,p.RelatingSpaceProgram=f,p.type=4189434867,p}return P(n)}(ff);e.IfcRelInteractionRequirements=Bf;var Of=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r,i,a,s,o,l)).GlobalId=r,u.OwnerHistory=i,u.Name=a,u.Description=s,u.RelatingObject=o,u.RelatedObjects=l,u.type=3268803585,u}return P(n)}(bf);e.IfcRelNests=Of;var Sf=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,f.OwnerHistory=i,f.Name=a,f.Description=s,f.RelatedObjects=o,f.RelatedObjectsType=l,f.RelatingActor=u,f.ActingRole=c,f.type=2051452291,f}return P(n)}(Yc);e.IfcRelOccupiesSpaces=Sf;var Nf=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u){var c;return b(this,n),(c=t.call(this,e,r,i,a,s,o,l)).GlobalId=r,c.OwnerHistory=i,c.Name=a,c.Description=s,c.RelatedObjects=o,c.RelatingPropertyDefinition=l,c.OverridingProperties=u,c.type=202636808,c}return P(n)}(Pf);e.IfcRelOverridesProperties=Nf;var Lf=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r,i,a,s)).GlobalId=r,u.OwnerHistory=i,u.Name=a,u.Description=s,u.RelatingElement=o,u.RelatedFeatureElement=l,u.type=750771296,u}return P(n)}(ff);e.IfcRelProjectsElement=Lf;var Mf=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r,i,a,s)).GlobalId=r,u.OwnerHistory=i,u.Name=a,u.Description=s,u.RelatedElements=o,u.RelatingStructure=l,u.type=1245217292,u}return P(n)}(ff);e.IfcRelReferencedInSpatialStructure=Mf;var xf=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u){var c;return b(this,n),(c=t.call(this,e,r,i,a,s,o,l,u)).GlobalId=r,c.OwnerHistory=i,c.Name=a,c.Description=s,c.RelatedObjects=o,c.RelatedObjectsType=l,c.RelatingControl=u,c.type=1058617721,c}return P(n)}(Xc);e.IfcRelSchedulesCostItems=xf;var Ff=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s)).GlobalId=r,f.OwnerHistory=i,f.Name=a,f.Description=s,f.RelatingProcess=o,f.RelatedProcess=l,f.TimeLag=u,f.SequenceType=c,f.type=4122056220,f}return P(n)}(ff);e.IfcRelSequence=Ff;var Hf=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r,i,a,s)).GlobalId=r,u.OwnerHistory=i,u.Name=a,u.Description=s,u.RelatingSystem=o,u.RelatedBuildings=l,u.type=366585022,u}return P(n)}(ff);e.IfcRelServicesBuildings=Hf;var Uf=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.RelatingSpace=o,p.RelatedBuildingElement=l,p.ConnectionGeometry=u,p.PhysicalOrVirtualBoundary=c,p.InternalOrExternalBoundary=f,p.type=3451746338,p}return P(n)}(ff);e.IfcRelSpaceBoundary=Uf;var Gf=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r,i,a,s)).GlobalId=r,u.OwnerHistory=i,u.Name=a,u.Description=s,u.RelatingBuildingElement=o,u.RelatedOpeningElement=l,u.type=1401173127,u}return P(n)}(ff);e.IfcRelVoidsElement=Gf;var kf=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e,r,i,a,s,o)).GlobalId=r,l.OwnerHistory=i,l.Name=a,l.Description=s,l.ObjectType=o,l.type=2914609552,l}return P(n)}(Sc);e.IfcResource=kf;var jf=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r,i)).SweptArea=r,o.Position=i,o.Axis=a,o.Angle=s,o.type=1856042241,o}return P(n)}(pu);e.IfcRevolvedAreaSolid=jf;var Vf=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e,r)).Position=r,s.Height=i,s.BottomRadius=a,s.type=4158566097,s}return P(n)}($u);e.IfcRightCircularCone=Vf;var Qf=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e,r)).Position=r,s.Height=i,s.Radius=a,s.type=3626867408,s}return P(n)}($u);e.IfcRightCircularCylinder=Qf;var Wf=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.LongName=c,p.CompositionType=f,p.type=2706606064,p}return P(n)}(Uc);e.IfcSpatialStructureElement=Wf;var zf=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ApplicableOccurrence=o,p.HasPropertySets=l,p.RepresentationMaps=u,p.Tag=c,p.ElementType=f,p.type=3893378262,p}return P(n)}(vc);e.IfcSpatialStructureElementType=zf;var Kf=function(e){I(n,e);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e,r)).Position=r,a.Radius=i,a.type=451544542,a}return P(n)}($u);e.IfcSphere=Kf;var Yf=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.AppliedLoad=c,p.GlobalOrLocal=f,p.type=3544373492,p}return P(n)}(Uc);e.IfcStructuralActivity=Yf;var Xf=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u){var c;return b(this,n),(c=t.call(this,e,r,i,a,s,o,l,u)).GlobalId=r,c.OwnerHistory=i,c.Name=a,c.Description=s,c.ObjectType=o,c.ObjectPlacement=l,c.Representation=u,c.type=3136571912,c}return P(n)}(Uc);e.IfcStructuralItem=Xf;var qf=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u){var c;return b(this,n),(c=t.call(this,e,r,i,a,s,o,l,u)).GlobalId=r,c.OwnerHistory=i,c.Name=a,c.Description=s,c.ObjectType=o,c.ObjectPlacement=l,c.Representation=u,c.type=530289379,c}return P(n)}(Xf);e.IfcStructuralMember=qf;var Jf=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.AppliedLoad=c,p.GlobalOrLocal=f,p.type=3689010777,p}return P(n)}(Yf);e.IfcStructuralReaction=Jf;var Zf=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.PredefinedType=c,p.Thickness=f,p.type=3979015343,p}return P(n)}(qf);e.IfcStructuralSurfaceMember=Zf;var $f=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A){var d;return b(this,n),(d=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,d.OwnerHistory=i,d.Name=a,d.Description=s,d.ObjectType=o,d.ObjectPlacement=l,d.Representation=u,d.PredefinedType=c,d.Thickness=f,d.SubsequentThickness=p,d.VaryingThicknessLocation=A,d.type=2218152070,d}return P(n)}(Zf);e.IfcStructuralSurfaceMemberVarying=$f;var ep=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e,r)).Contents=r,i.type=4070609034,i}return P(n)}(cc);e.IfcStructuredDimensionCallout=ep;var tp=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r,i)).SweptArea=r,u.Position=i,u.Directrix=a,u.StartParam=s,u.EndParam=o,u.ReferenceSurface=l,u.type=2028607225,u}return P(n)}(pu);e.IfcSurfaceCurveSweptAreaSolid=tp;var np=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r,i)).SweptCurve=r,o.Position=i,o.ExtrudedDirection=a,o.Depth=s,o.type=2809605785,o}return P(n)}(du);e.IfcSurfaceOfLinearExtrusion=np;var rp=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e,r,i)).SweptCurve=r,s.Position=i,s.AxisPosition=a,s.type=4124788165,s}return P(n)}(du);e.IfcSurfaceOfRevolution=rp;var ip=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ApplicableOccurrence=o,p.HasPropertySets=l,p.RepresentationMaps=u,p.Tag=c,p.ElementType=f,p.type=1580310250,p}return P(n)}(Dc);e.IfcSystemFurnitureElementType=ip;var ap=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ObjectType=o,A.TaskId=l,A.Status=u,A.WorkMethod=c,A.IsMilestone=f,A.Priority=p,A.type=3473067441,A}return P(n)}(Hc);e.IfcTask=ap;var sp=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=2097647324,A}return P(n)}(vc);e.IfcTransportElementType=sp;var op=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r,i,a,s,o)).GlobalId=r,u.OwnerHistory=i,u.Name=a,u.Description=s,u.ObjectType=o,u.TheActor=l,u.type=2296667514,u}return P(n)}(Sc);e.IfcActor=op;var lp=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u){var c;return b(this,n),(c=t.call(this,e,r,i,a,s,o,l,u)).GlobalId=r,c.OwnerHistory=i,c.Name=a,c.Description=s,c.ObjectType=o,c.ObjectPlacement=l,c.Representation=u,c.type=1674181508,c}return P(n)}(Uc);e.IfcAnnotation=lp;var up=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A,d){var v;return b(this,n),(v=t.call(this,e,r,i,a,s,o,l,u,c)).ProfileType=r,v.ProfileName=i,v.Position=a,v.OverallWidth=s,v.OverallDepth=o,v.WebThickness=l,v.FlangeThickness=u,v.FilletRadius=c,v.TopFlangeWidth=f,v.TopFlangeThickness=p,v.TopFlangeFilletRadius=A,v.CentreOfGravityInY=d,v.type=3207858831,v}return P(n)}(Cc);e.IfcAsymmetricIShapeProfileDef=up;var cp=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r)).Position=r,o.XLength=i,o.YLength=a,o.ZLength=s,o.type=1334484129,o}return P(n)}($u);e.IfcBlock=cp;var fp=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e,r,i,a)).Operator=r,s.FirstOperand=i,s.SecondOperand=a,s.type=3649129432,s}return P(n)}(Fu);e.IfcBooleanClippingResult=fp;var pp=function(e){I(n,e);var t=m(n);function n(e){var r;return b(this,n),(r=t.call(this,e)).type=1260505505,r}return P(n)}(tc);e.IfcBoundedCurve=pp;var Ap=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A,d){var v;return b(this,n),(v=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,v.OwnerHistory=i,v.Name=a,v.Description=s,v.ObjectType=o,v.ObjectPlacement=l,v.Representation=u,v.LongName=c,v.CompositionType=f,v.ElevationOfRefHeight=p,v.ElevationOfTerrain=A,v.BuildingAddress=d,v.type=4031249490,v}return P(n)}(Wf);e.IfcBuilding=Ap;var dp=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ApplicableOccurrence=o,p.HasPropertySets=l,p.RepresentationMaps=u,p.Tag=c,p.ElementType=f,p.type=1950629157,p}return P(n)}(vc);e.IfcBuildingElementType=dp;var vp=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ObjectType=o,A.ObjectPlacement=l,A.Representation=u,A.LongName=c,A.CompositionType=f,A.Elevation=p,A.type=3124254112,A}return P(n)}(Wf);e.IfcBuildingStorey=vp;var hp=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e,r,i,a,s)).ProfileType=r,l.ProfileName=i,l.Position=a,l.Radius=s,l.WallThickness=o,l.type=2937912522,l}return P(n)}(Yu);e.IfcCircleHollowProfileDef=hp;var Ip=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=300633059,A}return P(n)}(dp);e.IfcColumnType=Ip;var yp=function(e){I(n,e);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).Segments=r,a.SelfIntersect=i,a.type=3732776249,a}return P(n)}(pp);e.IfcCompositeCurve=yp;var mp=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e)).Position=r,i.type=2510884976,i}return P(n)}(tc);e.IfcConic=mp;var wp=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ResourceIdentifier=l,p.ResourceGroup=u,p.ResourceConsumption=c,p.BaseQuantity=f,p.type=2559216714,p}return P(n)}(kf);e.IfcConstructionResource=wp;var gp=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e,r,i,a,s,o)).GlobalId=r,l.OwnerHistory=i,l.Name=a,l.Description=s,l.ObjectType=o,l.type=3293443760,l}return P(n)}(Sc);e.IfcControl=gp;var Ep=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e,r,i,a,s,o)).GlobalId=r,l.OwnerHistory=i,l.Name=a,l.Description=s,l.ObjectType=o,l.type=3895139033,l}return P(n)}(gp);e.IfcCostItem=Ep;var Tp=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A,d,v){var h;return b(this,n),(h=t.call(this,e,r,i,a,s,o)).GlobalId=r,h.OwnerHistory=i,h.Name=a,h.Description=s,h.ObjectType=o,h.SubmittedBy=l,h.PreparedBy=u,h.SubmittedOn=c,h.Status=f,h.TargetUsers=p,h.UpdateDate=A,h.ID=d,h.PredefinedType=v,h.type=1419761937,h}return P(n)}(gp);e.IfcCostSchedule=Tp;var bp=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=1916426348,A}return P(n)}(dp);e.IfcCoveringType=bp;var Dp=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ResourceIdentifier=l,p.ResourceGroup=u,p.ResourceConsumption=c,p.BaseQuantity=f,p.type=3295246426,p}return P(n)}(wp);e.IfcCrewResource=Dp;var Pp=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=1457835157,A}return P(n)}(dp);e.IfcCurtainWallType=Pp;var Rp=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e,r)).Contents=r,i.type=681481545,i}return P(n)}(cc);e.IfcDimensionCurveDirectedCallout=Rp;var Cp=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ApplicableOccurrence=o,p.HasPropertySets=l,p.RepresentationMaps=u,p.Tag=c,p.ElementType=f,p.type=3256556792,p}return P(n)}(vc);e.IfcDistributionElementType=Cp;var _p=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ApplicableOccurrence=o,p.HasPropertySets=l,p.RepresentationMaps=u,p.Tag=c,p.ElementType=f,p.type=3849074793,p}return P(n)}(Cp);e.IfcDistributionFlowElementType=_p;var Bp=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A,d,v,h){var I;return b(this,n),(I=t.call(this,e,r,i,a,s,o,l)).GlobalId=r,I.OwnerHistory=i,I.Name=a,I.Description=s,I.EnergySequence=o,I.UserDefinedEnergySequence=l,I.ElectricCurrentType=u,I.InputVoltage=c,I.InputFrequency=f,I.FullLoadCurrent=p,I.MinimumCircuitCurrent=A,I.MaximumPowerInput=d,I.RatedPowerInput=v,I.InputPhase=h,I.type=360485395,I}return P(n)}(yc);e.IfcElectricalBaseProperties=Bp;var Op=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o,l,u)).GlobalId=r,f.OwnerHistory=i,f.Name=a,f.Description=s,f.ObjectType=o,f.ObjectPlacement=l,f.Representation=u,f.Tag=c,f.type=1758889154,f}return P(n)}(Uc);e.IfcElement=Op;var Sp=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ObjectType=o,A.ObjectPlacement=l,A.Representation=u,A.Tag=c,A.AssemblyPlace=f,A.PredefinedType=p,A.type=4123344466,A}return P(n)}(Op);e.IfcElementAssembly=Sp;var Np=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,f.OwnerHistory=i,f.Name=a,f.Description=s,f.ObjectType=o,f.ObjectPlacement=l,f.Representation=u,f.Tag=c,f.type=1623761950,f}return P(n)}(Op);e.IfcElementComponent=Np;var Lp=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ApplicableOccurrence=o,p.HasPropertySets=l,p.RepresentationMaps=u,p.Tag=c,p.ElementType=f,p.type=2590856083,p}return P(n)}(vc);e.IfcElementComponentType=Lp;var Mp=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e,r)).Position=r,s.SemiAxis1=i,s.SemiAxis2=a,s.type=1704287377,s}return P(n)}(mp);e.IfcEllipse=Mp;var xp=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ApplicableOccurrence=o,p.HasPropertySets=l,p.RepresentationMaps=u,p.Tag=c,p.ElementType=f,p.type=2107101300,p}return P(n)}(_p);e.IfcEnergyConversionDeviceType=xp;var Fp=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,f.OwnerHistory=i,f.Name=a,f.Description=s,f.ObjectType=o,f.ObjectPlacement=l,f.Representation=u,f.Tag=c,f.type=1962604670,f}return P(n)}(Op);e.IfcEquipmentElement=Fp;var Hp=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e,r,i,a,s,o)).GlobalId=r,l.OwnerHistory=i,l.Name=a,l.Description=s,l.ObjectType=o,l.type=3272907226,l}return P(n)}(gp);e.IfcEquipmentStandard=Hp;var Up=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=3174744832,A}return P(n)}(xp);e.IfcEvaporativeCoolerType=Up;var Gp=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=3390157468,A}return P(n)}(xp);e.IfcEvaporatorType=Gp;var kp=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e,r)).Outer=r,i.type=807026263,i}return P(n)}(Oc);e.IfcFacetedBrep=kp;var jp=function(e){I(n,e);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e,r)).Outer=r,a.Voids=i,a.type=3737207727,a}return P(n)}(Oc);e.IfcFacetedBrepWithVoids=jp;var Vp=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,f.OwnerHistory=i,f.Name=a,f.Description=s,f.ObjectType=o,f.ObjectPlacement=l,f.Representation=u,f.Tag=c,f.type=647756555,f}return P(n)}(Np);e.IfcFastener=Vp;var Qp=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ApplicableOccurrence=o,p.HasPropertySets=l,p.RepresentationMaps=u,p.Tag=c,p.ElementType=f,p.type=2489546625,p}return P(n)}(Lp);e.IfcFastenerType=Qp;var Wp=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,f.OwnerHistory=i,f.Name=a,f.Description=s,f.ObjectType=o,f.ObjectPlacement=l,f.Representation=u,f.Tag=c,f.type=2827207264,f}return P(n)}(Op);e.IfcFeatureElement=Wp;var zp=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,f.OwnerHistory=i,f.Name=a,f.Description=s,f.ObjectType=o,f.ObjectPlacement=l,f.Representation=u,f.Tag=c,f.type=2143335405,f}return P(n)}(Wp);e.IfcFeatureElementAddition=zp;var Kp=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,f.OwnerHistory=i,f.Name=a,f.Description=s,f.ObjectType=o,f.ObjectPlacement=l,f.Representation=u,f.Tag=c,f.type=1287392070,f}return P(n)}(Wp);e.IfcFeatureElementSubtraction=Kp;var Yp=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ApplicableOccurrence=o,p.HasPropertySets=l,p.RepresentationMaps=u,p.Tag=c,p.ElementType=f,p.type=3907093117,p}return P(n)}(_p);e.IfcFlowControllerType=Yp;var Xp=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ApplicableOccurrence=o,p.HasPropertySets=l,p.RepresentationMaps=u,p.Tag=c,p.ElementType=f,p.type=3198132628,p}return P(n)}(_p);e.IfcFlowFittingType=Xp;var qp=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=3815607619,A}return P(n)}(Yp);e.IfcFlowMeterType=qp;var Jp=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ApplicableOccurrence=o,p.HasPropertySets=l,p.RepresentationMaps=u,p.Tag=c,p.ElementType=f,p.type=1482959167,p}return P(n)}(_p);e.IfcFlowMovingDeviceType=Jp;var Zp=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ApplicableOccurrence=o,p.HasPropertySets=l,p.RepresentationMaps=u,p.Tag=c,p.ElementType=f,p.type=1834744321,p}return P(n)}(_p);e.IfcFlowSegmentType=Zp;var $p=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ApplicableOccurrence=o,p.HasPropertySets=l,p.RepresentationMaps=u,p.Tag=c,p.ElementType=f,p.type=1339347760,p}return P(n)}(_p);e.IfcFlowStorageDeviceType=$p;var eA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ApplicableOccurrence=o,p.HasPropertySets=l,p.RepresentationMaps=u,p.Tag=c,p.ElementType=f,p.type=2297155007,p}return P(n)}(_p);e.IfcFlowTerminalType=eA;var tA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ApplicableOccurrence=o,p.HasPropertySets=l,p.RepresentationMaps=u,p.Tag=c,p.ElementType=f,p.type=3009222698,p}return P(n)}(_p);e.IfcFlowTreatmentDeviceType=tA;var nA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,f.OwnerHistory=i,f.Name=a,f.Description=s,f.ObjectType=o,f.ObjectPlacement=l,f.Representation=u,f.Tag=c,f.type=263784265,f}return P(n)}(Op);e.IfcFurnishingElement=nA;var rA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e,r,i,a,s,o)).GlobalId=r,l.OwnerHistory=i,l.Name=a,l.Description=s,l.ObjectType=o,l.type=814719939,l}return P(n)}(gp);e.IfcFurnitureStandard=rA;var iA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=200128114,A}return P(n)}(eA);e.IfcGasTerminalType=iA;var aA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ObjectType=o,A.ObjectPlacement=l,A.Representation=u,A.UAxes=c,A.VAxes=f,A.WAxes=p,A.type=3009204131,A}return P(n)}(Uc);e.IfcGrid=aA;var sA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e,r,i,a,s,o)).GlobalId=r,l.OwnerHistory=i,l.Name=a,l.Description=s,l.ObjectType=o,l.type=2706460486,l}return P(n)}(Sc);e.IfcGroup=sA;var oA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=1251058090,A}return P(n)}(xp);e.IfcHeatExchangerType=oA;var lA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=1806887404,A}return P(n)}(xp);e.IfcHumidifierType=lA;var uA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A){var d;return b(this,n),(d=t.call(this,e,r,i,a,s,o)).GlobalId=r,d.OwnerHistory=i,d.Name=a,d.Description=s,d.ObjectType=o,d.InventoryType=l,d.Jurisdiction=u,d.ResponsiblePersons=c,d.LastUpdateDate=f,d.CurrentValue=p,d.OriginalValue=A,d.type=2391368822,d}return P(n)}(sA);e.IfcInventory=uA;var cA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=4288270099,A}return P(n)}(Xp);e.IfcJunctionBoxType=cA;var fA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ObjectType=o,A.ResourceIdentifier=l,A.ResourceGroup=u,A.ResourceConsumption=c,A.BaseQuantity=f,A.SkillSet=p,A.type=3827777499,A}return P(n)}(wp);e.IfcLaborResource=fA;var pA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=1051575348,A}return P(n)}(eA);e.IfcLampType=pA;var AA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=1161773419,A}return P(n)}(eA);e.IfcLightFixtureType=AA;var dA=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e,r)).Contents=r,i.type=2506943328,i}return P(n)}(Rp);e.IfcLinearDimension=dA;var vA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ObjectType=o,A.ObjectPlacement=l,A.Representation=u,A.Tag=c,A.NominalDiameter=f,A.NominalLength=p,A.type=377706215,A}return P(n)}(Vp);e.IfcMechanicalFastener=vA;var hA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ApplicableOccurrence=o,p.HasPropertySets=l,p.RepresentationMaps=u,p.Tag=c,p.ElementType=f,p.type=2108223431,p}return P(n)}(Qp);e.IfcMechanicalFastenerType=hA;var IA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=3181161470,A}return P(n)}(dp);e.IfcMemberType=IA;var yA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=977012517,A}return P(n)}(xp);e.IfcMotorConnectionType=yA;var mA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A,d,v){var h;return b(this,n),(h=t.call(this,e,r,i,a,s,o,l,u,c,f,p)).GlobalId=r,h.OwnerHistory=i,h.Name=a,h.Description=s,h.ObjectType=o,h.TaskId=l,h.Status=u,h.WorkMethod=c,h.IsMilestone=f,h.Priority=p,h.MoveFrom=A,h.MoveTo=d,h.PunchList=v,h.type=1916936684,h}return P(n)}(ap);e.IfcMove=mA;var wA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u){var c;return b(this,n),(c=t.call(this,e,r,i,a,s,o,l)).GlobalId=r,c.OwnerHistory=i,c.Name=a,c.Description=s,c.ObjectType=o,c.TheActor=l,c.PredefinedType=u,c.type=4143007308,c}return P(n)}(op);e.IfcOccupant=wA;var gA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,f.OwnerHistory=i,f.Name=a,f.Description=s,f.ObjectType=o,f.ObjectPlacement=l,f.Representation=u,f.Tag=c,f.type=3588315303,f}return P(n)}(Kp);e.IfcOpeningElement=gA;var EA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A){var d;return b(this,n),(d=t.call(this,e,r,i,a,s,o,l,u,c,f,p)).GlobalId=r,d.OwnerHistory=i,d.Name=a,d.Description=s,d.ObjectType=o,d.TaskId=l,d.Status=u,d.WorkMethod=c,d.IsMilestone=f,d.Priority=p,d.ActionID=A,d.type=3425660407,d}return P(n)}(ap);e.IfcOrderAction=EA;var TA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=2837617999,A}return P(n)}(eA);e.IfcOutletType=TA;var bA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r,i,a,s,o)).GlobalId=r,u.OwnerHistory=i,u.Name=a,u.Description=s,u.ObjectType=o,u.LifeCyclePhase=l,u.type=2382730787,u}return P(n)}(gp);e.IfcPerformanceHistory=bA;var DA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r,i,a,s,o)).GlobalId=r,u.OwnerHistory=i,u.Name=a,u.Description=s,u.ObjectType=o,u.PermitID=l,u.type=3327091369,u}return P(n)}(gp);e.IfcPermit=DA;var PA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=804291784,A}return P(n)}(Xp);e.IfcPipeFittingType=PA;var RA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=4231323485,A}return P(n)}(Zp);e.IfcPipeSegmentType=RA;var CA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=4017108033,A}return P(n)}(dp);e.IfcPlateType=CA;var _A=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e)).Points=r,i.type=3724593414,i}return P(n)}(pp);e.IfcPolyline=_A;var BA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u){var c;return b(this,n),(c=t.call(this,e,r,i,a,s,o,l,u)).GlobalId=r,c.OwnerHistory=i,c.Name=a,c.Description=s,c.ObjectType=o,c.ObjectPlacement=l,c.Representation=u,c.type=3740093272,c}return P(n)}(Uc);e.IfcPort=BA;var OA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o)).GlobalId=r,f.OwnerHistory=i,f.Name=a,f.Description=s,f.ObjectType=o,f.ProcedureID=l,f.ProcedureType=u,f.UserDefinedProcedureType=c,f.type=2744685151,f}return P(n)}(Hc);e.IfcProcedure=OA;var SA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o)).GlobalId=r,f.OwnerHistory=i,f.Name=a,f.Description=s,f.ObjectType=o,f.ID=l,f.PredefinedType=u,f.Status=c,f.type=2904328755,f}return P(n)}(gp);e.IfcProjectOrder=SA;var NA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u){var c;return b(this,n),(c=t.call(this,e,r,i,a,s,o)).GlobalId=r,c.OwnerHistory=i,c.Name=a,c.Description=s,c.ObjectType=o,c.Records=l,c.PredefinedType=u,c.type=3642467123,c}return P(n)}(gp);e.IfcProjectOrderRecord=NA;var LA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,f.OwnerHistory=i,f.Name=a,f.Description=s,f.ObjectType=o,f.ObjectPlacement=l,f.Representation=u,f.Tag=c,f.type=3651124850,f}return P(n)}(zp);e.IfcProjectionElement=LA;var MA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=1842657554,A}return P(n)}(Yp);e.IfcProtectiveDeviceType=MA;var xA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=2250791053,A}return P(n)}(Jp);e.IfcPumpType=xA;var FA=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e,r)).Contents=r,i.type=3248260540,i}return P(n)}(Rp);e.IfcRadiusDimension=FA;var HA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=2893384427,A}return P(n)}(dp);e.IfcRailingType=HA;var UA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=2324767716,A}return P(n)}(dp);e.IfcRampFlightType=UA;var GA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r,i,a,s,o,l)).GlobalId=r,u.OwnerHistory=i,u.Name=a,u.Description=s,u.RelatingObject=o,u.RelatedObjects=l,u.type=160246688,u}return P(n)}(bf);e.IfcRelAggregates=GA;var kA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o,l,u)).GlobalId=r,f.OwnerHistory=i,f.Name=a,f.Description=s,f.RelatedObjects=o,f.RelatedObjectsType=l,f.RelatingControl=u,f.TimeForTask=c,f.type=2863920197,f}return P(n)}(Xc);e.IfcRelAssignsTasks=kA;var jA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=1768891740,A}return P(n)}(eA);e.IfcSanitaryTerminalType=jA;var VA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A,d,v,h,I,y,m,w,g,E,T,D,P){var R;return b(this,n),(R=t.call(this,e,r,i,a,s,o)).GlobalId=r,R.OwnerHistory=i,R.Name=a,R.Description=s,R.ObjectType=o,R.ActualStart=l,R.EarlyStart=u,R.LateStart=c,R.ScheduleStart=f,R.ActualFinish=p,R.EarlyFinish=A,R.LateFinish=d,R.ScheduleFinish=v,R.ScheduleDuration=h,R.ActualDuration=I,R.RemainingTime=y,R.FreeFloat=m,R.TotalFloat=w,R.IsCritical=g,R.StatusTime=E,R.StartFloat=T,R.FinishFloat=D,R.Completion=P,R.type=3517283431,R}return P(n)}(gp);e.IfcScheduleTimeControl=VA;var QA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u){var c;return b(this,n),(c=t.call(this,e,r,i,a,s,o)).GlobalId=r,c.OwnerHistory=i,c.Name=a,c.Description=s,c.ObjectType=o,c.ServiceLifeType=l,c.ServiceLifeDuration=u,c.type=4105383287,c}return P(n)}(gp);e.IfcServiceLife=QA;var WA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A,d,v,h){var I;return b(this,n),(I=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,I.OwnerHistory=i,I.Name=a,I.Description=s,I.ObjectType=o,I.ObjectPlacement=l,I.Representation=u,I.LongName=c,I.CompositionType=f,I.RefLatitude=p,I.RefLongitude=A,I.RefElevation=d,I.LandTitleNumber=v,I.SiteAddress=h,I.type=4097777520,I}return P(n)}(Wf);e.IfcSite=WA;var zA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=2533589738,A}return P(n)}(dp);e.IfcSlabType=zA;var KA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A){var d;return b(this,n),(d=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,d.OwnerHistory=i,d.Name=a,d.Description=s,d.ObjectType=o,d.ObjectPlacement=l,d.Representation=u,d.LongName=c,d.CompositionType=f,d.InteriorOrExteriorSpace=p,d.ElevationWithFlooring=A,d.type=3856911033,d}return P(n)}(Wf);e.IfcSpace=KA;var YA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=1305183839,A}return P(n)}(xp);e.IfcSpaceHeaterType=YA;var XA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ObjectType=o,A.SpaceProgramIdentifier=l,A.MaxRequiredArea=u,A.MinRequiredArea=c,A.RequestedLocation=f,A.StandardRequiredArea=p,A.type=652456506,A}return P(n)}(gp);e.IfcSpaceProgram=XA;var qA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=3812236995,A}return P(n)}(zf);e.IfcSpaceType=qA;var JA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=3112655638,A}return P(n)}(eA);e.IfcStackTerminalType=JA;var ZA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=1039846685,A}return P(n)}(dp);e.IfcStairFlightType=ZA;var $A=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A){var d;return b(this,n),(d=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,d.OwnerHistory=i,d.Name=a,d.Description=s,d.ObjectType=o,d.ObjectPlacement=l,d.Representation=u,d.AppliedLoad=c,d.GlobalOrLocal=f,d.DestabilizingLoad=p,d.CausedBy=A,d.type=682877961,d}return P(n)}(Yf);e.IfcStructuralAction=$A;var ed=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o,l,u)).GlobalId=r,f.OwnerHistory=i,f.Name=a,f.Description=s,f.ObjectType=o,f.ObjectPlacement=l,f.Representation=u,f.AppliedCondition=c,f.type=1179482911,f}return P(n)}(Xf);e.IfcStructuralConnection=ed;var td=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,f.OwnerHistory=i,f.Name=a,f.Description=s,f.ObjectType=o,f.ObjectPlacement=l,f.Representation=u,f.AppliedCondition=c,f.type=4243806635,f}return P(n)}(ed);e.IfcStructuralCurveConnection=td;var nd=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o,l,u)).GlobalId=r,f.OwnerHistory=i,f.Name=a,f.Description=s,f.ObjectType=o,f.ObjectPlacement=l,f.Representation=u,f.PredefinedType=c,f.type=214636428,f}return P(n)}(qf);e.IfcStructuralCurveMember=nd;var rd=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,f.OwnerHistory=i,f.Name=a,f.Description=s,f.ObjectType=o,f.ObjectPlacement=l,f.Representation=u,f.PredefinedType=c,f.type=2445595289,f}return P(n)}(nd);e.IfcStructuralCurveMemberVarying=rd;var id=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A,d){var v;return b(this,n),(v=t.call(this,e,r,i,a,s,o,l,u,c,f,p,A)).GlobalId=r,v.OwnerHistory=i,v.Name=a,v.Description=s,v.ObjectType=o,v.ObjectPlacement=l,v.Representation=u,v.AppliedLoad=c,v.GlobalOrLocal=f,v.DestabilizingLoad=p,v.CausedBy=A,v.ProjectedOrTrue=d,v.type=1807405624,v}return P(n)}($A);e.IfcStructuralLinearAction=id;var ad=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A,d,v,h){var I;return b(this,n),(I=t.call(this,e,r,i,a,s,o,l,u,c,f,p,A,d)).GlobalId=r,I.OwnerHistory=i,I.Name=a,I.Description=s,I.ObjectType=o,I.ObjectPlacement=l,I.Representation=u,I.AppliedLoad=c,I.GlobalOrLocal=f,I.DestabilizingLoad=p,I.CausedBy=A,I.ProjectedOrTrue=d,I.VaryingAppliedLoadLocation=v,I.SubsequentAppliedLoads=h,I.type=1721250024,I}return P(n)}(id);e.IfcStructuralLinearActionVarying=ad;var sd=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ObjectType=o,A.PredefinedType=l,A.ActionType=u,A.ActionSource=c,A.Coefficient=f,A.Purpose=p,A.type=1252848954,A}return P(n)}(sA);e.IfcStructuralLoadGroup=sd;var od=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A,d){var v;return b(this,n),(v=t.call(this,e,r,i,a,s,o,l,u,c,f,p,A)).GlobalId=r,v.OwnerHistory=i,v.Name=a,v.Description=s,v.ObjectType=o,v.ObjectPlacement=l,v.Representation=u,v.AppliedLoad=c,v.GlobalOrLocal=f,v.DestabilizingLoad=p,v.CausedBy=A,v.ProjectedOrTrue=d,v.type=1621171031,v}return P(n)}($A);e.IfcStructuralPlanarAction=od;var ld=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A,d,v,h){var I;return b(this,n),(I=t.call(this,e,r,i,a,s,o,l,u,c,f,p,A,d)).GlobalId=r,I.OwnerHistory=i,I.Name=a,I.Description=s,I.ObjectType=o,I.ObjectPlacement=l,I.Representation=u,I.AppliedLoad=c,I.GlobalOrLocal=f,I.DestabilizingLoad=p,I.CausedBy=A,I.ProjectedOrTrue=d,I.VaryingAppliedLoadLocation=v,I.SubsequentAppliedLoads=h,I.type=3987759626,I}return P(n)}(od);e.IfcStructuralPlanarActionVarying=ld;var ud=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A){var d;return b(this,n),(d=t.call(this,e,r,i,a,s,o,l,u,c,f,p,A)).GlobalId=r,d.OwnerHistory=i,d.Name=a,d.Description=s,d.ObjectType=o,d.ObjectPlacement=l,d.Representation=u,d.AppliedLoad=c,d.GlobalOrLocal=f,d.DestabilizingLoad=p,d.CausedBy=A,d.type=2082059205,d}return P(n)}($A);e.IfcStructuralPointAction=ud;var cd=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,f.OwnerHistory=i,f.Name=a,f.Description=s,f.ObjectType=o,f.ObjectPlacement=l,f.Representation=u,f.AppliedCondition=c,f.type=734778138,f}return P(n)}(ed);e.IfcStructuralPointConnection=cd;var fd=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.AppliedLoad=c,p.GlobalOrLocal=f,p.type=1235345126,p}return P(n)}(Jf);e.IfcStructuralPointReaction=fd;var pd=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o)).GlobalId=r,f.OwnerHistory=i,f.Name=a,f.Description=s,f.ObjectType=o,f.TheoryType=l,f.ResultForLoadGroup=u,f.IsLinear=c,f.type=2986769608,f}return P(n)}(sA);e.IfcStructuralResultGroup=pd;var Ad=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,f.OwnerHistory=i,f.Name=a,f.Description=s,f.ObjectType=o,f.ObjectPlacement=l,f.Representation=u,f.AppliedCondition=c,f.type=1975003073,f}return P(n)}(ed);e.IfcStructuralSurfaceConnection=Ad;var dd=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A){var d;return b(this,n),(d=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,d.OwnerHistory=i,d.Name=a,d.Description=s,d.ObjectType=o,d.ResourceIdentifier=l,d.ResourceGroup=u,d.ResourceConsumption=c,d.BaseQuantity=f,d.SubContractor=p,d.JobDescription=A,d.type=148013059,d}return P(n)}(wp);e.IfcSubContractResource=dd;var vd=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=2315554128,A}return P(n)}(Yp);e.IfcSwitchingDeviceType=vd;var hd=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e,r,i,a,s,o)).GlobalId=r,l.OwnerHistory=i,l.Name=a,l.Description=s,l.ObjectType=o,l.type=2254336722,l}return P(n)}(sA);e.IfcSystem=hd;var Id=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=5716631,A}return P(n)}($p);e.IfcTankType=Id;var yd=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o)).GlobalId=r,f.OwnerHistory=i,f.Name=a,f.Description=s,f.ObjectType=o,f.ApplicableDates=l,f.TimeSeriesScheduleType=u,f.TimeSeries=c,f.type=1637806684,f}return P(n)}(gp);e.IfcTimeSeriesSchedule=yd;var md=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=1692211062,A}return P(n)}(xp);e.IfcTransformerType=md;var wd=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A){var d;return b(this,n),(d=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,d.OwnerHistory=i,d.Name=a,d.Description=s,d.ObjectType=o,d.ObjectPlacement=l,d.Representation=u,d.Tag=c,d.OperationType=f,d.CapacityByWeight=p,d.CapacityByNumber=A,d.type=1620046519,d}return P(n)}(Op);e.IfcTransportElement=wd;var gd=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e)).BasisCurve=r,l.Trim1=i,l.Trim2=a,l.SenseAgreement=s,l.MasterRepresentation=o,l.type=3593883385,l}return P(n)}(pp);e.IfcTrimmedCurve=gd;var Ed=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=1600972822,A}return P(n)}(xp);e.IfcTubeBundleType=Ed;var Td=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=1911125066,A}return P(n)}(xp);e.IfcUnitaryEquipmentType=Td;var bd=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=728799441,A}return P(n)}(Yp);e.IfcValveType=bd;var Dd=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,f.OwnerHistory=i,f.Name=a,f.Description=s,f.ObjectType=o,f.ObjectPlacement=l,f.Representation=u,f.Tag=c,f.type=2769231204,f}return P(n)}(Op);e.IfcVirtualElement=Dd;var Pd=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=1898987631,A}return P(n)}(dp);e.IfcWallType=Pd;var Rd=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=1133259667,A}return P(n)}(eA);e.IfcWasteTerminalType=Rd;var Cd=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A,d,v,h,I){var y;return b(this,n),(y=t.call(this,e,r,i,a,s,o)).GlobalId=r,y.OwnerHistory=i,y.Name=a,y.Description=s,y.ObjectType=o,y.Identifier=l,y.CreationDate=u,y.Creators=c,y.Purpose=f,y.Duration=p,y.TotalFloat=A,y.StartTime=d,y.FinishTime=v,y.WorkControlType=h,y.UserDefinedControlType=I,y.type=1028945134,y}return P(n)}(gp);e.IfcWorkControl=Cd;var _d=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A,d,v,h,I){var y;return b(this,n),(y=t.call(this,e,r,i,a,s,o,l,u,c,f,p,A,d,v,h,I)).GlobalId=r,y.OwnerHistory=i,y.Name=a,y.Description=s,y.ObjectType=o,y.Identifier=l,y.CreationDate=u,y.Creators=c,y.Purpose=f,y.Duration=p,y.TotalFloat=A,y.StartTime=d,y.FinishTime=v,y.WorkControlType=h,y.UserDefinedControlType=I,y.type=4218914973,y}return P(n)}(Cd);e.IfcWorkPlan=_d;var Bd=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A,d,v,h,I){var y;return b(this,n),(y=t.call(this,e,r,i,a,s,o,l,u,c,f,p,A,d,v,h,I)).GlobalId=r,y.OwnerHistory=i,y.Name=a,y.Description=s,y.ObjectType=o,y.Identifier=l,y.CreationDate=u,y.Creators=c,y.Purpose=f,y.Duration=p,y.TotalFloat=A,y.StartTime=d,y.FinishTime=v,y.WorkControlType=h,y.UserDefinedControlType=I,y.type=3342526732,y}return P(n)}(Cd);e.IfcWorkSchedule=Bd;var Od=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e,r,i,a,s,o)).GlobalId=r,l.OwnerHistory=i,l.Name=a,l.Description=s,l.ObjectType=o,l.type=1033361043,l}return P(n)}(sA);e.IfcZone=Od;var Sd=function(e){I(n,e);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e,r,i)).Segments=r,a.SelfIntersect=i,a.type=1213861670,a}return P(n)}(yp);e.Ifc2DCompositeCurve=Sd;var Nd=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r,i,a,s,o)).GlobalId=r,u.OwnerHistory=i,u.Name=a,u.Description=s,u.ObjectType=o,u.RequestID=l,u.type=3821786052,u}return P(n)}(gp);e.IfcActionRequest=Nd;var Ld=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=1411407467,A}return P(n)}(Yp);e.IfcAirTerminalBoxType=Ld;var Md=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=3352864051,A}return P(n)}(eA);e.IfcAirTerminalType=Md;var xd=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=1871374353,A}return P(n)}(xp);e.IfcAirToAirHeatRecoveryType=xd;var Fd=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e,r)).Contents=r,i.type=2470393545,i}return P(n)}(Rp);e.IfcAngularDimension=Fd;var Hd=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A,d,v,h){var I;return b(this,n),(I=t.call(this,e,r,i,a,s,o)).GlobalId=r,I.OwnerHistory=i,I.Name=a,I.Description=s,I.ObjectType=o,I.AssetID=l,I.OriginalValue=u,I.CurrentValue=c,I.TotalReplacementCost=f,I.Owner=p,I.User=A,I.ResponsiblePerson=d,I.IncorporationDate=v,I.DepreciatedValue=h,I.type=3460190687,I}return P(n)}(sA);e.IfcAsset=Hd;var Ud=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e)).Degree=r,l.ControlPointsList=i,l.CurveForm=a,l.ClosedCurve=s,l.SelfIntersect=o,l.type=1967976161,l}return P(n)}(pp);e.IfcBSplineCurve=Ud;var Gd=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=819618141,A}return P(n)}(dp);e.IfcBeamType=Gd;var kd=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e,r,i,a,s,o)).Degree=r,l.ControlPointsList=i,l.CurveForm=a,l.ClosedCurve=s,l.SelfIntersect=o,l.type=1916977116,l}return P(n)}(Ud);e.IfcBezierCurve=kd;var jd=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=231477066,A}return P(n)}(xp);e.IfcBoilerType=jd;var Vd=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,f.OwnerHistory=i,f.Name=a,f.Description=s,f.ObjectType=o,f.ObjectPlacement=l,f.Representation=u,f.Tag=c,f.type=3299480353,f}return P(n)}(Op);e.IfcBuildingElement=Vd;var Qd=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,f.OwnerHistory=i,f.Name=a,f.Description=s,f.ObjectType=o,f.ObjectPlacement=l,f.Representation=u,f.Tag=c,f.type=52481810,f}return P(n)}(Vd);e.IfcBuildingElementComponent=Qd;var Wd=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,f.OwnerHistory=i,f.Name=a,f.Description=s,f.ObjectType=o,f.ObjectPlacement=l,f.Representation=u,f.Tag=c,f.type=2979338954,f}return P(n)}(Qd);e.IfcBuildingElementPart=Wd;var zd=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.CompositionType=f,p.type=1095909175,p}return P(n)}(Vd);e.IfcBuildingElementProxy=zd;var Kd=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=1909888760,A}return P(n)}(dp);e.IfcBuildingElementProxyType=Kd;var Yd=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=395041908,A}return P(n)}(Xp);e.IfcCableCarrierFittingType=Yd;var Xd=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=3293546465,A}return P(n)}(Zp);e.IfcCableCarrierSegmentType=Xd;var qd=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=1285652485,A}return P(n)}(Zp);e.IfcCableSegmentType=qd;var Jd=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=2951183804,A}return P(n)}(xp);e.IfcChillerType=Jd;var Zd=function(e){I(n,e);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e,r)).Position=r,a.Radius=i,a.type=2611217952,a}return P(n)}(mp);e.IfcCircle=Zd;var $d=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=2301859152,A}return P(n)}(xp);e.IfcCoilType=$d;var ev=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,f.OwnerHistory=i,f.Name=a,f.Description=s,f.ObjectType=o,f.ObjectPlacement=l,f.Representation=u,f.Tag=c,f.type=843113511,f}return P(n)}(Vd);e.IfcColumn=ev;var tv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=3850581409,A}return P(n)}(Jp);e.IfcCompressorType=tv;var nv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=2816379211,A}return P(n)}(xp);e.IfcCondenserType=nv;var rv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e,r,i,a,s,o)).GlobalId=r,l.OwnerHistory=i,l.Name=a,l.Description=s,l.ObjectType=o,l.type=2188551683,l}return P(n)}(sA);e.IfcCondition=rv;var iv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u){var c;return b(this,n),(c=t.call(this,e,r,i,a,s,o)).GlobalId=r,c.OwnerHistory=i,c.Name=a,c.Description=s,c.ObjectType=o,c.Criterion=l,c.CriterionDateTime=u,c.type=1163958913,c}return P(n)}(gp);e.IfcConditionCriterion=iv;var av=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ResourceIdentifier=l,p.ResourceGroup=u,p.ResourceConsumption=c,p.BaseQuantity=f,p.type=3898045240,p}return P(n)}(wp);e.IfcConstructionEquipmentResource=av;var sv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A){var d;return b(this,n),(d=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,d.OwnerHistory=i,d.Name=a,d.Description=s,d.ObjectType=o,d.ResourceIdentifier=l,d.ResourceGroup=u,d.ResourceConsumption=c,d.BaseQuantity=f,d.Suppliers=p,d.UsageRatio=A,d.type=1060000209,d}return P(n)}(wp);e.IfcConstructionMaterialResource=sv;var ov=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ResourceIdentifier=l,p.ResourceGroup=u,p.ResourceConsumption=c,p.BaseQuantity=f,p.type=488727124,p}return P(n)}(wp);e.IfcConstructionProductResource=ov;var lv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=335055490,A}return P(n)}(xp);e.IfcCooledBeamType=lv;var uv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=2954562838,A}return P(n)}(xp);e.IfcCoolingTowerType=uv;var cv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=1973544240,p}return P(n)}(Vd);e.IfcCovering=cv;var fv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,f.OwnerHistory=i,f.Name=a,f.Description=s,f.ObjectType=o,f.ObjectPlacement=l,f.Representation=u,f.Tag=c,f.type=3495092785,f}return P(n)}(Vd);e.IfcCurtainWall=fv;var pv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=3961806047,A}return P(n)}(Yp);e.IfcDamperType=pv;var Av=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e,r)).Contents=r,i.type=4147604152,i}return P(n)}(Rp);e.IfcDiameterDimension=Av;var dv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,f.OwnerHistory=i,f.Name=a,f.Description=s,f.ObjectType=o,f.ObjectPlacement=l,f.Representation=u,f.Tag=c,f.type=1335981549,f}return P(n)}(Np);e.IfcDiscreteAccessory=dv;var vv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ApplicableOccurrence=o,p.HasPropertySets=l,p.RepresentationMaps=u,p.Tag=c,p.ElementType=f,p.type=2635815018,p}return P(n)}(Lp);e.IfcDiscreteAccessoryType=vv;var hv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=1599208980,A}return P(n)}(_p);e.IfcDistributionChamberElementType=hv;var Iv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ApplicableOccurrence=o,p.HasPropertySets=l,p.RepresentationMaps=u,p.Tag=c,p.ElementType=f,p.type=2063403501,p}return P(n)}(Cp);e.IfcDistributionControlElementType=Iv;var yv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,f.OwnerHistory=i,f.Name=a,f.Description=s,f.ObjectType=o,f.ObjectPlacement=l,f.Representation=u,f.Tag=c,f.type=1945004755,f}return P(n)}(Op);e.IfcDistributionElement=yv;var mv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,f.OwnerHistory=i,f.Name=a,f.Description=s,f.ObjectType=o,f.ObjectPlacement=l,f.Representation=u,f.Tag=c,f.type=3040386961,f}return P(n)}(yv);e.IfcDistributionFlowElement=mv;var wv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o,l,u)).GlobalId=r,f.OwnerHistory=i,f.Name=a,f.Description=s,f.ObjectType=o,f.ObjectPlacement=l,f.Representation=u,f.FlowDirection=c,f.type=3041715199,f}return P(n)}(BA);e.IfcDistributionPort=wv;var gv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ObjectType=o,A.ObjectPlacement=l,A.Representation=u,A.Tag=c,A.OverallHeight=f,A.OverallWidth=p,A.type=395920057,A}return P(n)}(Vd);e.IfcDoor=gv;var Ev=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=869906466,A}return P(n)}(Xp);e.IfcDuctFittingType=Ev;var Tv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=3760055223,A}return P(n)}(Zp);e.IfcDuctSegmentType=Tv;var bv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=2030761528,A}return P(n)}(tA);e.IfcDuctSilencerType=bv;var Dv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.FeatureLength=f,p.type=855621170,p}return P(n)}(Kp);e.IfcEdgeFeature=Dv;var Pv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=663422040,A}return P(n)}(eA);e.IfcElectricApplianceType=Pv;var Rv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=3277789161,A}return P(n)}($p);e.IfcElectricFlowStorageDeviceType=Rv;var Cv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=1534661035,A}return P(n)}(xp);e.IfcElectricGeneratorType=Cv;var _v=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=1365060375,A}return P(n)}(eA);e.IfcElectricHeaterType=_v;var Bv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=1217240411,A}return P(n)}(xp);e.IfcElectricMotorType=Bv;var Ov=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=712377611,A}return P(n)}(Yp);e.IfcElectricTimeControlType=Ov;var Sv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e,r,i,a,s,o)).GlobalId=r,l.OwnerHistory=i,l.Name=a,l.Description=s,l.ObjectType=o,l.type=1634875225,l}return P(n)}(hd);e.IfcElectricalCircuit=Sv;var Nv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,f.OwnerHistory=i,f.Name=a,f.Description=s,f.ObjectType=o,f.ObjectPlacement=l,f.Representation=u,f.Tag=c,f.type=857184966,f}return P(n)}(Op);e.IfcElectricalElement=Nv;var Lv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,f.OwnerHistory=i,f.Name=a,f.Description=s,f.ObjectType=o,f.ObjectPlacement=l,f.Representation=u,f.Tag=c,f.type=1658829314,f}return P(n)}(mv);e.IfcEnergyConversionDevice=Lv;var Mv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=346874300,A}return P(n)}(Jp);e.IfcFanType=Mv;var xv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=1810631287,A}return P(n)}(tA);e.IfcFilterType=xv;var Fv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=4222183408,A}return P(n)}(eA);e.IfcFireSuppressionTerminalType=Fv;var Hv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,f.OwnerHistory=i,f.Name=a,f.Description=s,f.ObjectType=o,f.ObjectPlacement=l,f.Representation=u,f.Tag=c,f.type=2058353004,f}return P(n)}(mv);e.IfcFlowController=Hv;var Uv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,f.OwnerHistory=i,f.Name=a,f.Description=s,f.ObjectType=o,f.ObjectPlacement=l,f.Representation=u,f.Tag=c,f.type=4278956645,f}return P(n)}(mv);e.IfcFlowFitting=Uv;var Gv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=4037862832,A}return P(n)}(Iv);e.IfcFlowInstrumentType=Gv;var kv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,f.OwnerHistory=i,f.Name=a,f.Description=s,f.ObjectType=o,f.ObjectPlacement=l,f.Representation=u,f.Tag=c,f.type=3132237377,f}return P(n)}(mv);e.IfcFlowMovingDevice=kv;var jv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,f.OwnerHistory=i,f.Name=a,f.Description=s,f.ObjectType=o,f.ObjectPlacement=l,f.Representation=u,f.Tag=c,f.type=987401354,f}return P(n)}(mv);e.IfcFlowSegment=jv;var Vv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,f.OwnerHistory=i,f.Name=a,f.Description=s,f.ObjectType=o,f.ObjectPlacement=l,f.Representation=u,f.Tag=c,f.type=707683696,f}return P(n)}(mv);e.IfcFlowStorageDevice=Vv;var Qv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,f.OwnerHistory=i,f.Name=a,f.Description=s,f.ObjectType=o,f.ObjectPlacement=l,f.Representation=u,f.Tag=c,f.type=2223149337,f}return P(n)}(mv);e.IfcFlowTerminal=Qv;var Wv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,f.OwnerHistory=i,f.Name=a,f.Description=s,f.ObjectType=o,f.ObjectPlacement=l,f.Representation=u,f.Tag=c,f.type=3508470533,f}return P(n)}(mv);e.IfcFlowTreatmentDevice=Wv;var zv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=900683007,p}return P(n)}(Vd);e.IfcFooting=zv;var Kv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,f.OwnerHistory=i,f.Name=a,f.Description=s,f.ObjectType=o,f.ObjectPlacement=l,f.Representation=u,f.Tag=c,f.type=1073191201,f}return P(n)}(Vd);e.IfcMember=Kv;var Yv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ObjectType=o,A.ObjectPlacement=l,A.Representation=u,A.Tag=c,A.PredefinedType=f,A.ConstructionType=p,A.type=1687234759,A}return P(n)}(Vd);e.IfcPile=Yv;var Xv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,f.OwnerHistory=i,f.Name=a,f.Description=s,f.ObjectType=o,f.ObjectPlacement=l,f.Representation=u,f.Tag=c,f.type=3171933400,f}return P(n)}(Vd);e.IfcPlate=Xv;var qv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=2262370178,p}return P(n)}(Vd);e.IfcRailing=qv;var Jv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.ShapeType=f,p.type=3024970846,p}return P(n)}(Vd);e.IfcRamp=Jv;var Zv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,f.OwnerHistory=i,f.Name=a,f.Description=s,f.ObjectType=o,f.ObjectPlacement=l,f.Representation=u,f.Tag=c,f.type=3283111854,f}return P(n)}(Vd);e.IfcRampFlight=Zv;var $v=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r,i,a,s,o)).Degree=r,u.ControlPointsList=i,u.CurveForm=a,u.ClosedCurve=s,u.SelfIntersect=o,u.WeightsData=l,u.type=3055160366,u}return P(n)}(kd);e.IfcRationalBezierCurve=$v;var eh=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.SteelGrade=f,p.type=3027567501,p}return P(n)}(Qd);e.IfcReinforcingElement=eh;var th=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A,d,v,h,I,y,m){var w;return b(this,n),(w=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,w.OwnerHistory=i,w.Name=a,w.Description=s,w.ObjectType=o,w.ObjectPlacement=l,w.Representation=u,w.Tag=c,w.SteelGrade=f,w.MeshLength=p,w.MeshWidth=A,w.LongitudinalBarNominalDiameter=d,w.TransverseBarNominalDiameter=v,w.LongitudinalBarCrossSectionArea=h,w.TransverseBarCrossSectionArea=I,w.LongitudinalBarSpacing=y,w.TransverseBarSpacing=m,w.type=2320036040,w}return P(n)}(eh);e.IfcReinforcingMesh=th;var nh=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.ShapeType=f,p.type=2016517767,p}return P(n)}(Vd);e.IfcRoof=nh;var rh=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ObjectType=o,A.ObjectPlacement=l,A.Representation=u,A.Tag=c,A.FeatureLength=f,A.Radius=p,A.type=1376911519,A}return P(n)}(Dv);e.IfcRoundedEdgeFeature=rh;var ih=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=1783015770,A}return P(n)}(Iv);e.IfcSensorType=ih;var ah=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=1529196076,p}return P(n)}(Vd);e.IfcSlab=ah;var sh=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.ShapeType=f,p.type=331165859,p}return P(n)}(Vd);e.IfcStair=sh;var oh=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A,d){var v;return b(this,n),(v=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,v.OwnerHistory=i,v.Name=a,v.Description=s,v.ObjectType=o,v.ObjectPlacement=l,v.Representation=u,v.Tag=c,v.NumberOfRiser=f,v.NumberOfTreads=p,v.RiserHeight=A,v.TreadLength=d,v.type=4252922144,v}return P(n)}(Vd);e.IfcStairFlight=oh;var lh=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.PredefinedType=l,p.OrientationOf2DPlane=u,p.LoadedBy=c,p.HasResults=f,p.type=2515109513,p}return P(n)}(hd);e.IfcStructuralAnalysisModel=lh;var uh=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A,d,v,h,I,y,m){var w;return b(this,n),(w=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,w.OwnerHistory=i,w.Name=a,w.Description=s,w.ObjectType=o,w.ObjectPlacement=l,w.Representation=u,w.Tag=c,w.SteelGrade=f,w.PredefinedType=p,w.NominalDiameter=A,w.CrossSectionArea=d,w.TensionForce=v,w.PreStress=h,w.FrictionCoefficient=I,w.AnchorageSlip=y,w.MinCurvatureRadius=m,w.type=3824725483,w}return P(n)}(eh);e.IfcTendon=uh;var ch=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.SteelGrade=f,p.type=2347447852,p}return P(n)}(eh);e.IfcTendonAnchor=ch;var fh=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=3313531582,A}return P(n)}(vv);e.IfcVibrationIsolatorType=fh;var ph=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,f.OwnerHistory=i,f.Name=a,f.Description=s,f.ObjectType=o,f.ObjectPlacement=l,f.Representation=u,f.Tag=c,f.type=2391406946,f}return P(n)}(Vd);e.IfcWall=ph;var Ah=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,f.OwnerHistory=i,f.Name=a,f.Description=s,f.ObjectType=o,f.ObjectPlacement=l,f.Representation=u,f.Tag=c,f.type=3512223829,f}return P(n)}(ph);e.IfcWallStandardCase=Ah;var dh=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ObjectType=o,A.ObjectPlacement=l,A.Representation=u,A.Tag=c,A.OverallHeight=f,A.OverallWidth=p,A.type=3304561284,A}return P(n)}(Vd);e.IfcWindow=dh;var vh=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=2874132201,A}return P(n)}(Iv);e.IfcActuatorType=vh;var hh=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=3001207471,A}return P(n)}(Iv);e.IfcAlarmType=hh;var Ih=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,f.OwnerHistory=i,f.Name=a,f.Description=s,f.ObjectType=o,f.ObjectPlacement=l,f.Representation=u,f.Tag=c,f.type=753842376,f}return P(n)}(Vd);e.IfcBeam=Ih;var yh=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A){var d;return b(this,n),(d=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,d.OwnerHistory=i,d.Name=a,d.Description=s,d.ObjectType=o,d.ObjectPlacement=l,d.Representation=u,d.Tag=c,d.FeatureLength=f,d.Width=p,d.Height=A,d.type=2454782716,d}return P(n)}(Dv);e.IfcChamferEdgeFeature=yh;var mh=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=578613899,A}return P(n)}(Iv);e.IfcControllerType=mh;var wh=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,f.OwnerHistory=i,f.Name=a,f.Description=s,f.ObjectType=o,f.ObjectPlacement=l,f.Representation=u,f.Tag=c,f.type=1052013943,f}return P(n)}(mv);e.IfcDistributionChamberElement=wh;var gh=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.ControlElementId=f,p.type=1062813311,p}return P(n)}(yv);e.IfcDistributionControlElement=gh;var Eh=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ObjectType=o,A.ObjectPlacement=l,A.Representation=u,A.Tag=c,A.DistributionPointFunction=f,A.UserDefinedFunction=p,A.type=3700593921,A}return P(n)}(Hv);e.IfcElectricDistributionPoint=Eh;var Th=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A,d,v,h){var I;return b(this,n),(I=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,I.OwnerHistory=i,I.Name=a,I.Description=s,I.ObjectType=o,I.ObjectPlacement=l,I.Representation=u,I.Tag=c,I.SteelGrade=f,I.NominalDiameter=p,I.CrossSectionArea=A,I.BarLength=d,I.BarRole=v,I.BarSurface=h,I.type=979691226,I}return P(n)}(eh);e.IfcReinforcingBar=Th}($C||($C={})),z_[2]="IFC4",G_[2]={3630933823:function(e,t){return new e_.IfcActorRole(e,t[0],t[1]?new e_.IfcLabel(t[1].value):null,t[2]?new e_.IfcText(t[2].value):null)},618182010:function(e,t){return new e_.IfcAddress(e,t[0],t[1]?new e_.IfcText(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null)},639542469:function(e,t){return new e_.IfcApplication(e,new H_(t[0].value),new e_.IfcLabel(t[1].value),new e_.IfcLabel(t[2].value),new e_.IfcIdentifier(t[3].value))},411424972:function(e,t){return new e_.IfcAppliedValue(e,t[0]?new e_.IfcLabel(t[0].value):null,t[1]?new e_.IfcText(t[1].value):null,t[2]?new H_(t[2].value):null,t[3]?new H_(t[3].value):null,t[4]?new e_.IfcDate(t[4].value):null,t[5]?new e_.IfcDate(t[5].value):null,t[6]?new e_.IfcLabel(t[6].value):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8],t[9]?t[9].map((function(e){return new H_(e.value)})):null)},130549933:function(e,t){return new e_.IfcApproval(e,t[0]?new e_.IfcIdentifier(t[0].value):null,t[1]?new e_.IfcLabel(t[1].value):null,t[2]?new e_.IfcText(t[2].value):null,t[3]?new e_.IfcDateTime(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new e_.IfcLabel(t[5].value):null,t[6]?new e_.IfcText(t[6].value):null,t[7]?new H_(t[7].value):null,t[8]?new H_(t[8].value):null)},4037036970:function(e,t){return new e_.IfcBoundaryCondition(e,t[0]?new e_.IfcLabel(t[0].value):null)},1560379544:function(e,t){return new e_.IfcBoundaryEdgeCondition(e,t[0]?new e_.IfcLabel(t[0].value):null,t[1]?K_(2,t[1]):null,t[2]?K_(2,t[2]):null,t[3]?K_(2,t[3]):null,t[4]?K_(2,t[4]):null,t[5]?K_(2,t[5]):null,t[6]?K_(2,t[6]):null)},3367102660:function(e,t){return new e_.IfcBoundaryFaceCondition(e,t[0]?new e_.IfcLabel(t[0].value):null,t[1]?K_(2,t[1]):null,t[2]?K_(2,t[2]):null,t[3]?K_(2,t[3]):null)},1387855156:function(e,t){return new e_.IfcBoundaryNodeCondition(e,t[0]?new e_.IfcLabel(t[0].value):null,t[1]?K_(2,t[1]):null,t[2]?K_(2,t[2]):null,t[3]?K_(2,t[3]):null,t[4]?K_(2,t[4]):null,t[5]?K_(2,t[5]):null,t[6]?K_(2,t[6]):null)},2069777674:function(e,t){return new e_.IfcBoundaryNodeConditionWarping(e,t[0]?new e_.IfcLabel(t[0].value):null,t[1]?K_(2,t[1]):null,t[2]?K_(2,t[2]):null,t[3]?K_(2,t[3]):null,t[4]?K_(2,t[4]):null,t[5]?K_(2,t[5]):null,t[6]?K_(2,t[6]):null,t[7]?K_(2,t[7]):null)},2859738748:function(e,t){return new e_.IfcConnectionGeometry(e)},2614616156:function(e,t){return new e_.IfcConnectionPointGeometry(e,new H_(t[0].value),t[1]?new H_(t[1].value):null)},2732653382:function(e,t){return new e_.IfcConnectionSurfaceGeometry(e,new H_(t[0].value),t[1]?new H_(t[1].value):null)},775493141:function(e,t){return new e_.IfcConnectionVolumeGeometry(e,new H_(t[0].value),t[1]?new H_(t[1].value):null)},1959218052:function(e,t){return new e_.IfcConstraint(e,new e_.IfcLabel(t[0].value),t[1]?new e_.IfcText(t[1].value):null,t[2],t[3]?new e_.IfcLabel(t[3].value):null,t[4]?new H_(t[4].value):null,t[5]?new e_.IfcDateTime(t[5].value):null,t[6]?new e_.IfcLabel(t[6].value):null)},1785450214:function(e,t){return new e_.IfcCoordinateOperation(e,new H_(t[0].value),new H_(t[1].value))},1466758467:function(e,t){return new e_.IfcCoordinateReferenceSystem(e,new e_.IfcLabel(t[0].value),t[1]?new e_.IfcText(t[1].value):null,t[2]?new e_.IfcIdentifier(t[2].value):null,t[3]?new e_.IfcIdentifier(t[3].value):null)},602808272:function(e,t){return new e_.IfcCostValue(e,t[0]?new e_.IfcLabel(t[0].value):null,t[1]?new e_.IfcText(t[1].value):null,t[2]?new H_(t[2].value):null,t[3]?new H_(t[3].value):null,t[4]?new e_.IfcDate(t[4].value):null,t[5]?new e_.IfcDate(t[5].value):null,t[6]?new e_.IfcLabel(t[6].value):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8],t[9]?t[9].map((function(e){return new H_(e.value)})):null)},1765591967:function(e,t){return new e_.IfcDerivedUnit(e,t[0].map((function(e){return new H_(e.value)})),t[1],t[2]?new e_.IfcLabel(t[2].value):null)},1045800335:function(e,t){return new e_.IfcDerivedUnitElement(e,new H_(t[0].value),t[1].value)},2949456006:function(e,t){return new e_.IfcDimensionalExponents(e,t[0].value,t[1].value,t[2].value,t[3].value,t[4].value,t[5].value,t[6].value)},4294318154:function(e,t){return new e_.IfcExternalInformation(e)},3200245327:function(e,t){return new e_.IfcExternalReference(e,t[0]?new e_.IfcURIReference(t[0].value):null,t[1]?new e_.IfcIdentifier(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null)},2242383968:function(e,t){return new e_.IfcExternallyDefinedHatchStyle(e,t[0]?new e_.IfcURIReference(t[0].value):null,t[1]?new e_.IfcIdentifier(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null)},1040185647:function(e,t){return new e_.IfcExternallyDefinedSurfaceStyle(e,t[0]?new e_.IfcURIReference(t[0].value):null,t[1]?new e_.IfcIdentifier(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null)},3548104201:function(e,t){return new e_.IfcExternallyDefinedTextFont(e,t[0]?new e_.IfcURIReference(t[0].value):null,t[1]?new e_.IfcIdentifier(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null)},852622518:function(e,t){return new e_.IfcGridAxis(e,t[0]?new e_.IfcLabel(t[0].value):null,new H_(t[1].value),new e_.IfcBoolean(t[2].value))},3020489413:function(e,t){return new e_.IfcIrregularTimeSeriesValue(e,new e_.IfcDateTime(t[0].value),t[1].map((function(e){return K_(2,e)})))},2655187982:function(e,t){return new e_.IfcLibraryInformation(e,new e_.IfcLabel(t[0].value),t[1]?new e_.IfcLabel(t[1].value):null,t[2]?new H_(t[2].value):null,t[3]?new e_.IfcDateTime(t[3].value):null,t[4]?new e_.IfcURIReference(t[4].value):null,t[5]?new e_.IfcText(t[5].value):null)},3452421091:function(e,t){return new e_.IfcLibraryReference(e,t[0]?new e_.IfcURIReference(t[0].value):null,t[1]?new e_.IfcIdentifier(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLanguageId(t[4].value):null,t[5]?new H_(t[5].value):null)},4162380809:function(e,t){return new e_.IfcLightDistributionData(e,new e_.IfcPlaneAngleMeasure(t[0].value),t[1].map((function(e){return new e_.IfcPlaneAngleMeasure(e.value)})),t[2].map((function(e){return new e_.IfcLuminousIntensityDistributionMeasure(e.value)})))},1566485204:function(e,t){return new e_.IfcLightIntensityDistribution(e,t[0],t[1].map((function(e){return new H_(e.value)})))},3057273783:function(e,t){return new e_.IfcMapConversion(e,new H_(t[0].value),new H_(t[1].value),new e_.IfcLengthMeasure(t[2].value),new e_.IfcLengthMeasure(t[3].value),new e_.IfcLengthMeasure(t[4].value),t[5]?new e_.IfcReal(t[5].value):null,t[6]?new e_.IfcReal(t[6].value):null,t[7]?new e_.IfcReal(t[7].value):null)},1847130766:function(e,t){return new e_.IfcMaterialClassificationRelationship(e,t[0].map((function(e){return new H_(e.value)})),new H_(t[1].value))},760658860:function(e,t){return new e_.IfcMaterialDefinition(e)},248100487:function(e,t){return new e_.IfcMaterialLayer(e,t[0]?new H_(t[0].value):null,new e_.IfcNonNegativeLengthMeasure(t[1].value),t[2]?new e_.IfcLogical(t[2].value):null,t[3]?new e_.IfcLabel(t[3].value):null,t[4]?new e_.IfcText(t[4].value):null,t[5]?new e_.IfcLabel(t[5].value):null,t[6]?new e_.IfcInteger(t[6].value):null)},3303938423:function(e,t){return new e_.IfcMaterialLayerSet(e,t[0].map((function(e){return new H_(e.value)})),t[1]?new e_.IfcLabel(t[1].value):null,t[2]?new e_.IfcText(t[2].value):null)},1847252529:function(e,t){return new e_.IfcMaterialLayerWithOffsets(e,t[0]?new H_(t[0].value):null,new e_.IfcNonNegativeLengthMeasure(t[1].value),t[2]?new e_.IfcLogical(t[2].value):null,t[3]?new e_.IfcLabel(t[3].value):null,t[4]?new e_.IfcText(t[4].value):null,t[5]?new e_.IfcLabel(t[5].value):null,t[6]?new e_.IfcInteger(t[6].value):null,t[7],new e_.IfcLengthMeasure(t[8].value))},2199411900:function(e,t){return new e_.IfcMaterialList(e,t[0].map((function(e){return new H_(e.value)})))},2235152071:function(e,t){return new e_.IfcMaterialProfile(e,t[0]?new e_.IfcLabel(t[0].value):null,t[1]?new e_.IfcText(t[1].value):null,t[2]?new H_(t[2].value):null,new H_(t[3].value),t[4]?new e_.IfcInteger(t[4].value):null,t[5]?new e_.IfcLabel(t[5].value):null)},164193824:function(e,t){return new e_.IfcMaterialProfileSet(e,t[0]?new e_.IfcLabel(t[0].value):null,t[1]?new e_.IfcText(t[1].value):null,t[2].map((function(e){return new H_(e.value)})),t[3]?new H_(t[3].value):null)},552965576:function(e,t){return new e_.IfcMaterialProfileWithOffsets(e,t[0]?new e_.IfcLabel(t[0].value):null,t[1]?new e_.IfcText(t[1].value):null,t[2]?new H_(t[2].value):null,new H_(t[3].value),t[4]?new e_.IfcInteger(t[4].value):null,t[5]?new e_.IfcLabel(t[5].value):null,new e_.IfcLengthMeasure(t[6].value))},1507914824:function(e,t){return new e_.IfcMaterialUsageDefinition(e)},2597039031:function(e,t){return new e_.IfcMeasureWithUnit(e,K_(2,t[0]),new H_(t[1].value))},3368373690:function(e,t){return new e_.IfcMetric(e,new e_.IfcLabel(t[0].value),t[1]?new e_.IfcText(t[1].value):null,t[2],t[3]?new e_.IfcLabel(t[3].value):null,t[4]?new H_(t[4].value):null,t[5]?new e_.IfcDateTime(t[5].value):null,t[6]?new e_.IfcLabel(t[6].value):null,t[7],t[8]?new e_.IfcLabel(t[8].value):null,t[9]?new H_(t[9].value):null,t[10]?new H_(t[10].value):null)},2706619895:function(e,t){return new e_.IfcMonetaryUnit(e,new e_.IfcLabel(t[0].value))},1918398963:function(e,t){return new e_.IfcNamedUnit(e,new H_(t[0].value),t[1])},3701648758:function(e,t){return new e_.IfcObjectPlacement(e)},2251480897:function(e,t){return new e_.IfcObjective(e,new e_.IfcLabel(t[0].value),t[1]?new e_.IfcText(t[1].value):null,t[2],t[3]?new e_.IfcLabel(t[3].value):null,t[4]?new H_(t[4].value):null,t[5]?new e_.IfcDateTime(t[5].value):null,t[6]?new e_.IfcLabel(t[6].value):null,t[7]?t[7].map((function(e){return new H_(e.value)})):null,t[8],t[9],t[10]?new e_.IfcLabel(t[10].value):null)},4251960020:function(e,t){return new e_.IfcOrganization(e,t[0]?new e_.IfcIdentifier(t[0].value):null,new e_.IfcLabel(t[1].value),t[2]?new e_.IfcText(t[2].value):null,t[3]?t[3].map((function(e){return new H_(e.value)})):null,t[4]?t[4].map((function(e){return new H_(e.value)})):null)},1207048766:function(e,t){return new e_.IfcOwnerHistory(e,new H_(t[0].value),new H_(t[1].value),t[2],t[3],t[4]?new e_.IfcTimeStamp(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,new e_.IfcTimeStamp(t[7].value))},2077209135:function(e,t){return new e_.IfcPerson(e,t[0]?new e_.IfcIdentifier(t[0].value):null,t[1]?new e_.IfcLabel(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?t[3].map((function(e){return new e_.IfcLabel(e.value)})):null,t[4]?t[4].map((function(e){return new e_.IfcLabel(e.value)})):null,t[5]?t[5].map((function(e){return new e_.IfcLabel(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?t[7].map((function(e){return new H_(e.value)})):null)},101040310:function(e,t){return new e_.IfcPersonAndOrganization(e,new H_(t[0].value),new H_(t[1].value),t[2]?t[2].map((function(e){return new H_(e.value)})):null)},2483315170:function(e,t){return new e_.IfcPhysicalQuantity(e,new e_.IfcLabel(t[0].value),t[1]?new e_.IfcText(t[1].value):null)},2226359599:function(e,t){return new e_.IfcPhysicalSimpleQuantity(e,new e_.IfcLabel(t[0].value),t[1]?new e_.IfcText(t[1].value):null,t[2]?new H_(t[2].value):null)},3355820592:function(e,t){return new e_.IfcPostalAddress(e,t[0],t[1]?new e_.IfcText(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcLabel(t[3].value):null,t[4]?t[4].map((function(e){return new e_.IfcLabel(e.value)})):null,t[5]?new e_.IfcLabel(t[5].value):null,t[6]?new e_.IfcLabel(t[6].value):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null,t[9]?new e_.IfcLabel(t[9].value):null)},677532197:function(e,t){return new e_.IfcPresentationItem(e)},2022622350:function(e,t){return new e_.IfcPresentationLayerAssignment(e,new e_.IfcLabel(t[0].value),t[1]?new e_.IfcText(t[1].value):null,t[2].map((function(e){return new H_(e.value)})),t[3]?new e_.IfcIdentifier(t[3].value):null)},1304840413:function(e,t){return new e_.IfcPresentationLayerWithStyle(e,new e_.IfcLabel(t[0].value),t[1]?new e_.IfcText(t[1].value):null,t[2].map((function(e){return new H_(e.value)})),t[3]?new e_.IfcIdentifier(t[3].value):null,new e_.IfcLogical(t[4].value),new e_.IfcLogical(t[5].value),new e_.IfcLogical(t[6].value),t[7]?t[7].map((function(e){return new H_(e.value)})):null)},3119450353:function(e,t){return new e_.IfcPresentationStyle(e,t[0]?new e_.IfcLabel(t[0].value):null)},2417041796:function(e,t){return new e_.IfcPresentationStyleAssignment(e,t[0].map((function(e){return new H_(e.value)})))},2095639259:function(e,t){return new e_.IfcProductRepresentation(e,t[0]?new e_.IfcLabel(t[0].value):null,t[1]?new e_.IfcText(t[1].value):null,t[2].map((function(e){return new H_(e.value)})))},3958567839:function(e,t){return new e_.IfcProfileDef(e,t[0],t[1]?new e_.IfcLabel(t[1].value):null)},3843373140:function(e,t){return new e_.IfcProjectedCRS(e,new e_.IfcLabel(t[0].value),t[1]?new e_.IfcText(t[1].value):null,t[2]?new e_.IfcIdentifier(t[2].value):null,t[3]?new e_.IfcIdentifier(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?new e_.IfcIdentifier(t[5].value):null,t[6]?new H_(t[6].value):null)},986844984:function(e,t){return new e_.IfcPropertyAbstraction(e)},3710013099:function(e,t){return new e_.IfcPropertyEnumeration(e,new e_.IfcLabel(t[0].value),t[1].map((function(e){return K_(2,e)})),t[2]?new H_(t[2].value):null)},2044713172:function(e,t){return new e_.IfcQuantityArea(e,new e_.IfcLabel(t[0].value),t[1]?new e_.IfcText(t[1].value):null,t[2]?new H_(t[2].value):null,new e_.IfcAreaMeasure(t[3].value),t[4]?new e_.IfcLabel(t[4].value):null)},2093928680:function(e,t){return new e_.IfcQuantityCount(e,new e_.IfcLabel(t[0].value),t[1]?new e_.IfcText(t[1].value):null,t[2]?new H_(t[2].value):null,new e_.IfcCountMeasure(t[3].value),t[4]?new e_.IfcLabel(t[4].value):null)},931644368:function(e,t){return new e_.IfcQuantityLength(e,new e_.IfcLabel(t[0].value),t[1]?new e_.IfcText(t[1].value):null,t[2]?new H_(t[2].value):null,new e_.IfcLengthMeasure(t[3].value),t[4]?new e_.IfcLabel(t[4].value):null)},3252649465:function(e,t){return new e_.IfcQuantityTime(e,new e_.IfcLabel(t[0].value),t[1]?new e_.IfcText(t[1].value):null,t[2]?new H_(t[2].value):null,new e_.IfcTimeMeasure(t[3].value),t[4]?new e_.IfcLabel(t[4].value):null)},2405470396:function(e,t){return new e_.IfcQuantityVolume(e,new e_.IfcLabel(t[0].value),t[1]?new e_.IfcText(t[1].value):null,t[2]?new H_(t[2].value):null,new e_.IfcVolumeMeasure(t[3].value),t[4]?new e_.IfcLabel(t[4].value):null)},825690147:function(e,t){return new e_.IfcQuantityWeight(e,new e_.IfcLabel(t[0].value),t[1]?new e_.IfcText(t[1].value):null,t[2]?new H_(t[2].value):null,new e_.IfcMassMeasure(t[3].value),t[4]?new e_.IfcLabel(t[4].value):null)},3915482550:function(e,t){return new e_.IfcRecurrencePattern(e,t[0],t[1]?t[1].map((function(e){return new e_.IfcDayInMonthNumber(e.value)})):null,t[2]?t[2].map((function(e){return new e_.IfcDayInWeekNumber(e.value)})):null,t[3]?t[3].map((function(e){return new e_.IfcMonthInYearNumber(e.value)})):null,t[4]?new e_.IfcInteger(t[4].value):null,t[5]?new e_.IfcInteger(t[5].value):null,t[6]?new e_.IfcInteger(t[6].value):null,t[7]?t[7].map((function(e){return new H_(e.value)})):null)},2433181523:function(e,t){return new e_.IfcReference(e,t[0]?new e_.IfcIdentifier(t[0].value):null,t[1]?new e_.IfcIdentifier(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?t[3].map((function(e){return new e_.IfcInteger(e.value)})):null,t[4]?new H_(t[4].value):null)},1076942058:function(e,t){return new e_.IfcRepresentation(e,new H_(t[0].value),t[1]?new e_.IfcLabel(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3].map((function(e){return new H_(e.value)})))},3377609919:function(e,t){return new e_.IfcRepresentationContext(e,t[0]?new e_.IfcLabel(t[0].value):null,t[1]?new e_.IfcLabel(t[1].value):null)},3008791417:function(e,t){return new e_.IfcRepresentationItem(e)},1660063152:function(e,t){return new e_.IfcRepresentationMap(e,new H_(t[0].value),new H_(t[1].value))},2439245199:function(e,t){return new e_.IfcResourceLevelRelationship(e,t[0]?new e_.IfcLabel(t[0].value):null,t[1]?new e_.IfcText(t[1].value):null)},2341007311:function(e,t){return new e_.IfcRoot(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null)},448429030:function(e,t){return new e_.IfcSIUnit(e,t[0],t[1],t[2])},1054537805:function(e,t){return new e_.IfcSchedulingTime(e,t[0]?new e_.IfcLabel(t[0].value):null,t[1],t[2]?new e_.IfcLabel(t[2].value):null)},867548509:function(e,t){return new e_.IfcShapeAspect(e,t[0].map((function(e){return new H_(e.value)})),t[1]?new e_.IfcLabel(t[1].value):null,t[2]?new e_.IfcText(t[2].value):null,new e_.IfcLogical(t[3].value),t[4]?new H_(t[4].value):null)},3982875396:function(e,t){return new e_.IfcShapeModel(e,new H_(t[0].value),t[1]?new e_.IfcLabel(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3].map((function(e){return new H_(e.value)})))},4240577450:function(e,t){return new e_.IfcShapeRepresentation(e,new H_(t[0].value),t[1]?new e_.IfcLabel(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3].map((function(e){return new H_(e.value)})))},2273995522:function(e,t){return new e_.IfcStructuralConnectionCondition(e,t[0]?new e_.IfcLabel(t[0].value):null)},2162789131:function(e,t){return new e_.IfcStructuralLoad(e,t[0]?new e_.IfcLabel(t[0].value):null)},3478079324:function(e,t){return new e_.IfcStructuralLoadConfiguration(e,t[0]?new e_.IfcLabel(t[0].value):null,t[1].map((function(e){return new H_(e.value)})),t[2]?t[2].map((function(e){return new e_.IfcLengthMeasure(e.value)})):null)},609421318:function(e,t){return new e_.IfcStructuralLoadOrResult(e,t[0]?new e_.IfcLabel(t[0].value):null)},2525727697:function(e,t){return new e_.IfcStructuralLoadStatic(e,t[0]?new e_.IfcLabel(t[0].value):null)},3408363356:function(e,t){return new e_.IfcStructuralLoadTemperature(e,t[0]?new e_.IfcLabel(t[0].value):null,t[1]?new e_.IfcThermodynamicTemperatureMeasure(t[1].value):null,t[2]?new e_.IfcThermodynamicTemperatureMeasure(t[2].value):null,t[3]?new e_.IfcThermodynamicTemperatureMeasure(t[3].value):null)},2830218821:function(e,t){return new e_.IfcStyleModel(e,new H_(t[0].value),t[1]?new e_.IfcLabel(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3].map((function(e){return new H_(e.value)})))},3958052878:function(e,t){return new e_.IfcStyledItem(e,t[0]?new H_(t[0].value):null,t[1].map((function(e){return new H_(e.value)})),t[2]?new e_.IfcLabel(t[2].value):null)},3049322572:function(e,t){return new e_.IfcStyledRepresentation(e,new H_(t[0].value),t[1]?new e_.IfcLabel(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3].map((function(e){return new H_(e.value)})))},2934153892:function(e,t){return new e_.IfcSurfaceReinforcementArea(e,t[0]?new e_.IfcLabel(t[0].value):null,t[1]?t[1].map((function(e){return new e_.IfcLengthMeasure(e.value)})):null,t[2]?t[2].map((function(e){return new e_.IfcLengthMeasure(e.value)})):null,t[3]?new e_.IfcRatioMeasure(t[3].value):null)},1300840506:function(e,t){return new e_.IfcSurfaceStyle(e,t[0]?new e_.IfcLabel(t[0].value):null,t[1],t[2].map((function(e){return new H_(e.value)})))},3303107099:function(e,t){return new e_.IfcSurfaceStyleLighting(e,new H_(t[0].value),new H_(t[1].value),new H_(t[2].value),new H_(t[3].value))},1607154358:function(e,t){return new e_.IfcSurfaceStyleRefraction(e,t[0]?new e_.IfcReal(t[0].value):null,t[1]?new e_.IfcReal(t[1].value):null)},846575682:function(e,t){return new e_.IfcSurfaceStyleShading(e,new H_(t[0].value),t[1]?new e_.IfcNormalisedRatioMeasure(t[1].value):null)},1351298697:function(e,t){return new e_.IfcSurfaceStyleWithTextures(e,t[0].map((function(e){return new H_(e.value)})))},626085974:function(e,t){return new e_.IfcSurfaceTexture(e,new e_.IfcBoolean(t[0].value),new e_.IfcBoolean(t[1].value),t[2]?new e_.IfcIdentifier(t[2].value):null,t[3]?new H_(t[3].value):null,t[4]?t[4].map((function(e){return new e_.IfcIdentifier(e.value)})):null)},985171141:function(e,t){return new e_.IfcTable(e,t[0]?new e_.IfcLabel(t[0].value):null,t[1]?t[1].map((function(e){return new H_(e.value)})):null,t[2]?t[2].map((function(e){return new H_(e.value)})):null)},2043862942:function(e,t){return new e_.IfcTableColumn(e,t[0]?new e_.IfcIdentifier(t[0].value):null,t[1]?new e_.IfcLabel(t[1].value):null,t[2]?new e_.IfcText(t[2].value):null,t[3]?new H_(t[3].value):null,t[4]?new H_(t[4].value):null)},531007025:function(e,t){return new e_.IfcTableRow(e,t[0]?t[0].map((function(e){return K_(2,e)})):null,t[1]?new e_.IfcBoolean(t[1].value):null)},1549132990:function(e,t){return new e_.IfcTaskTime(e,t[0]?new e_.IfcLabel(t[0].value):null,t[1],t[2]?new e_.IfcLabel(t[2].value):null,t[3],t[4]?new e_.IfcDuration(t[4].value):null,t[5]?new e_.IfcDateTime(t[5].value):null,t[6]?new e_.IfcDateTime(t[6].value):null,t[7]?new e_.IfcDateTime(t[7].value):null,t[8]?new e_.IfcDateTime(t[8].value):null,t[9]?new e_.IfcDateTime(t[9].value):null,t[10]?new e_.IfcDateTime(t[10].value):null,t[11]?new e_.IfcDuration(t[11].value):null,t[12]?new e_.IfcDuration(t[12].value):null,t[13]?new e_.IfcBoolean(t[13].value):null,t[14]?new e_.IfcDateTime(t[14].value):null,t[15]?new e_.IfcDuration(t[15].value):null,t[16]?new e_.IfcDateTime(t[16].value):null,t[17]?new e_.IfcDateTime(t[17].value):null,t[18]?new e_.IfcDuration(t[18].value):null,t[19]?new e_.IfcPositiveRatioMeasure(t[19].value):null)},2771591690:function(e,t){return new e_.IfcTaskTimeRecurring(e,t[0]?new e_.IfcLabel(t[0].value):null,t[1],t[2]?new e_.IfcLabel(t[2].value):null,t[3],t[4]?new e_.IfcDuration(t[4].value):null,t[5]?new e_.IfcDateTime(t[5].value):null,t[6]?new e_.IfcDateTime(t[6].value):null,t[7]?new e_.IfcDateTime(t[7].value):null,t[8]?new e_.IfcDateTime(t[8].value):null,t[9]?new e_.IfcDateTime(t[9].value):null,t[10]?new e_.IfcDateTime(t[10].value):null,t[11]?new e_.IfcDuration(t[11].value):null,t[12]?new e_.IfcDuration(t[12].value):null,t[13]?new e_.IfcBoolean(t[13].value):null,t[14]?new e_.IfcDateTime(t[14].value):null,t[15]?new e_.IfcDuration(t[15].value):null,t[16]?new e_.IfcDateTime(t[16].value):null,t[17]?new e_.IfcDateTime(t[17].value):null,t[18]?new e_.IfcDuration(t[18].value):null,t[19]?new e_.IfcPositiveRatioMeasure(t[19].value):null,new H_(t[20].value))},912023232:function(e,t){return new e_.IfcTelecomAddress(e,t[0],t[1]?new e_.IfcText(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?t[3].map((function(e){return new e_.IfcLabel(e.value)})):null,t[4]?t[4].map((function(e){return new e_.IfcLabel(e.value)})):null,t[5]?new e_.IfcLabel(t[5].value):null,t[6]?t[6].map((function(e){return new e_.IfcLabel(e.value)})):null,t[7]?new e_.IfcURIReference(t[7].value):null,t[8]?t[8].map((function(e){return new e_.IfcURIReference(e.value)})):null)},1447204868:function(e,t){return new e_.IfcTextStyle(e,t[0]?new e_.IfcLabel(t[0].value):null,t[1]?new H_(t[1].value):null,t[2]?new H_(t[2].value):null,new H_(t[3].value),t[4]?new e_.IfcBoolean(t[4].value):null)},2636378356:function(e,t){return new e_.IfcTextStyleForDefinedFont(e,new H_(t[0].value),t[1]?new H_(t[1].value):null)},1640371178:function(e,t){return new e_.IfcTextStyleTextModel(e,t[0]?K_(2,t[0]):null,t[1]?new e_.IfcTextAlignment(t[1].value):null,t[2]?new e_.IfcTextDecoration(t[2].value):null,t[3]?K_(2,t[3]):null,t[4]?K_(2,t[4]):null,t[5]?new e_.IfcTextTransformation(t[5].value):null,t[6]?K_(2,t[6]):null)},280115917:function(e,t){return new e_.IfcTextureCoordinate(e,t[0].map((function(e){return new H_(e.value)})))},1742049831:function(e,t){return new e_.IfcTextureCoordinateGenerator(e,t[0].map((function(e){return new H_(e.value)})),new e_.IfcLabel(t[1].value),t[2]?t[2].map((function(e){return new e_.IfcReal(e.value)})):null)},2552916305:function(e,t){return new e_.IfcTextureMap(e,t[0].map((function(e){return new H_(e.value)})),t[1].map((function(e){return new H_(e.value)})),new H_(t[2].value))},1210645708:function(e,t){return new e_.IfcTextureVertex(e,t[0].map((function(e){return new e_.IfcParameterValue(e.value)})))},3611470254:function(e,t){return new e_.IfcTextureVertexList(e,t[0].map((function(e){return new e_.IfcParameterValue(e.value)})))},1199560280:function(e,t){return new e_.IfcTimePeriod(e,new e_.IfcTime(t[0].value),new e_.IfcTime(t[1].value))},3101149627:function(e,t){return new e_.IfcTimeSeries(e,new e_.IfcLabel(t[0].value),t[1]?new e_.IfcText(t[1].value):null,new e_.IfcDateTime(t[2].value),new e_.IfcDateTime(t[3].value),t[4],t[5],t[6]?new e_.IfcLabel(t[6].value):null,t[7]?new H_(t[7].value):null)},581633288:function(e,t){return new e_.IfcTimeSeriesValue(e,t[0].map((function(e){return K_(2,e)})))},1377556343:function(e,t){return new e_.IfcTopologicalRepresentationItem(e)},1735638870:function(e,t){return new e_.IfcTopologyRepresentation(e,new H_(t[0].value),t[1]?new e_.IfcLabel(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3].map((function(e){return new H_(e.value)})))},180925521:function(e,t){return new e_.IfcUnitAssignment(e,t[0].map((function(e){return new H_(e.value)})))},2799835756:function(e,t){return new e_.IfcVertex(e)},1907098498:function(e,t){return new e_.IfcVertexPoint(e,new H_(t[0].value))},891718957:function(e,t){return new e_.IfcVirtualGridIntersection(e,t[0].map((function(e){return new H_(e.value)})),t[1].map((function(e){return new e_.IfcLengthMeasure(e.value)})))},1236880293:function(e,t){return new e_.IfcWorkTime(e,t[0]?new e_.IfcLabel(t[0].value):null,t[1],t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new H_(t[3].value):null,t[4]?new e_.IfcDate(t[4].value):null,t[5]?new e_.IfcDate(t[5].value):null)},3869604511:function(e,t){return new e_.IfcApprovalRelationship(e,t[0]?new e_.IfcLabel(t[0].value):null,t[1]?new e_.IfcText(t[1].value):null,new H_(t[2].value),t[3].map((function(e){return new H_(e.value)})))},3798115385:function(e,t){return new e_.IfcArbitraryClosedProfileDef(e,t[0],t[1]?new e_.IfcLabel(t[1].value):null,new H_(t[2].value))},1310608509:function(e,t){return new e_.IfcArbitraryOpenProfileDef(e,t[0],t[1]?new e_.IfcLabel(t[1].value):null,new H_(t[2].value))},2705031697:function(e,t){return new e_.IfcArbitraryProfileDefWithVoids(e,t[0],t[1]?new e_.IfcLabel(t[1].value):null,new H_(t[2].value),t[3].map((function(e){return new H_(e.value)})))},616511568:function(e,t){return new e_.IfcBlobTexture(e,new e_.IfcBoolean(t[0].value),new e_.IfcBoolean(t[1].value),t[2]?new e_.IfcIdentifier(t[2].value):null,t[3]?new H_(t[3].value):null,t[4]?t[4].map((function(e){return new e_.IfcIdentifier(e.value)})):null,new e_.IfcIdentifier(t[5].value),new e_.IfcBinary(t[6].value))},3150382593:function(e,t){return new e_.IfcCenterLineProfileDef(e,t[0],t[1]?new e_.IfcLabel(t[1].value):null,new H_(t[2].value),new e_.IfcPositiveLengthMeasure(t[3].value))},747523909:function(e,t){return new e_.IfcClassification(e,t[0]?new e_.IfcLabel(t[0].value):null,t[1]?new e_.IfcLabel(t[1].value):null,t[2]?new e_.IfcDate(t[2].value):null,new e_.IfcLabel(t[3].value),t[4]?new e_.IfcText(t[4].value):null,t[5]?new e_.IfcURIReference(t[5].value):null,t[6]?t[6].map((function(e){return new e_.IfcIdentifier(e.value)})):null)},647927063:function(e,t){return new e_.IfcClassificationReference(e,t[0]?new e_.IfcURIReference(t[0].value):null,t[1]?new e_.IfcIdentifier(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new H_(t[3].value):null,t[4]?new e_.IfcText(t[4].value):null,t[5]?new e_.IfcIdentifier(t[5].value):null)},3285139300:function(e,t){return new e_.IfcColourRgbList(e,t[0].map((function(e){return new e_.IfcNormalisedRatioMeasure(e.value)})))},3264961684:function(e,t){return new e_.IfcColourSpecification(e,t[0]?new e_.IfcLabel(t[0].value):null)},1485152156:function(e,t){return new e_.IfcCompositeProfileDef(e,t[0],t[1]?new e_.IfcLabel(t[1].value):null,t[2].map((function(e){return new H_(e.value)})),t[3]?new e_.IfcLabel(t[3].value):null)},370225590:function(e,t){return new e_.IfcConnectedFaceSet(e,t[0].map((function(e){return new H_(e.value)})))},1981873012:function(e,t){return new e_.IfcConnectionCurveGeometry(e,new H_(t[0].value),t[1]?new H_(t[1].value):null)},45288368:function(e,t){return new e_.IfcConnectionPointEccentricity(e,new H_(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLengthMeasure(t[2].value):null,t[3]?new e_.IfcLengthMeasure(t[3].value):null,t[4]?new e_.IfcLengthMeasure(t[4].value):null)},3050246964:function(e,t){return new e_.IfcContextDependentUnit(e,new H_(t[0].value),t[1],new e_.IfcLabel(t[2].value))},2889183280:function(e,t){return new e_.IfcConversionBasedUnit(e,new H_(t[0].value),t[1],new e_.IfcLabel(t[2].value),new H_(t[3].value))},2713554722:function(e,t){return new e_.IfcConversionBasedUnitWithOffset(e,new H_(t[0].value),t[1],new e_.IfcLabel(t[2].value),new H_(t[3].value),new e_.IfcReal(t[4].value))},539742890:function(e,t){return new e_.IfcCurrencyRelationship(e,t[0]?new e_.IfcLabel(t[0].value):null,t[1]?new e_.IfcText(t[1].value):null,new H_(t[2].value),new H_(t[3].value),new e_.IfcPositiveRatioMeasure(t[4].value),t[5]?new e_.IfcDateTime(t[5].value):null,t[6]?new H_(t[6].value):null)},3800577675:function(e,t){return new e_.IfcCurveStyle(e,t[0]?new e_.IfcLabel(t[0].value):null,t[1]?new H_(t[1].value):null,t[2]?K_(2,t[2]):null,t[3]?new H_(t[3].value):null,t[4]?new e_.IfcBoolean(t[4].value):null)},1105321065:function(e,t){return new e_.IfcCurveStyleFont(e,t[0]?new e_.IfcLabel(t[0].value):null,t[1].map((function(e){return new H_(e.value)})))},2367409068:function(e,t){return new e_.IfcCurveStyleFontAndScaling(e,t[0]?new e_.IfcLabel(t[0].value):null,new H_(t[1].value),new e_.IfcPositiveRatioMeasure(t[2].value))},3510044353:function(e,t){return new e_.IfcCurveStyleFontPattern(e,new e_.IfcLengthMeasure(t[0].value),new e_.IfcPositiveLengthMeasure(t[1].value))},3632507154:function(e,t){return new e_.IfcDerivedProfileDef(e,t[0],t[1]?new e_.IfcLabel(t[1].value):null,new H_(t[2].value),new H_(t[3].value),t[4]?new e_.IfcLabel(t[4].value):null)},1154170062:function(e,t){return new e_.IfcDocumentInformation(e,new e_.IfcIdentifier(t[0].value),new e_.IfcLabel(t[1].value),t[2]?new e_.IfcText(t[2].value):null,t[3]?new e_.IfcURIReference(t[3].value):null,t[4]?new e_.IfcText(t[4].value):null,t[5]?new e_.IfcText(t[5].value):null,t[6]?new e_.IfcText(t[6].value):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8]?new H_(t[8].value):null,t[9]?t[9].map((function(e){return new H_(e.value)})):null,t[10]?new e_.IfcDateTime(t[10].value):null,t[11]?new e_.IfcDateTime(t[11].value):null,t[12]?new e_.IfcIdentifier(t[12].value):null,t[13]?new e_.IfcDate(t[13].value):null,t[14]?new e_.IfcDate(t[14].value):null,t[15],t[16])},770865208:function(e,t){return new e_.IfcDocumentInformationRelationship(e,t[0]?new e_.IfcLabel(t[0].value):null,t[1]?new e_.IfcText(t[1].value):null,new H_(t[2].value),t[3].map((function(e){return new H_(e.value)})),t[4]?new e_.IfcLabel(t[4].value):null)},3732053477:function(e,t){return new e_.IfcDocumentReference(e,t[0]?new e_.IfcURIReference(t[0].value):null,t[1]?new e_.IfcIdentifier(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new H_(t[4].value):null)},3900360178:function(e,t){return new e_.IfcEdge(e,new H_(t[0].value),new H_(t[1].value))},476780140:function(e,t){return new e_.IfcEdgeCurve(e,new H_(t[0].value),new H_(t[1].value),new H_(t[2].value),new e_.IfcBoolean(t[3].value))},211053100:function(e,t){return new e_.IfcEventTime(e,t[0]?new e_.IfcLabel(t[0].value):null,t[1],t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcDateTime(t[3].value):null,t[4]?new e_.IfcDateTime(t[4].value):null,t[5]?new e_.IfcDateTime(t[5].value):null,t[6]?new e_.IfcDateTime(t[6].value):null)},297599258:function(e,t){return new e_.IfcExtendedProperties(e,t[0]?new e_.IfcIdentifier(t[0].value):null,t[1]?new e_.IfcText(t[1].value):null,t[2].map((function(e){return new H_(e.value)})))},1437805879:function(e,t){return new e_.IfcExternalReferenceRelationship(e,t[0]?new e_.IfcLabel(t[0].value):null,t[1]?new e_.IfcText(t[1].value):null,new H_(t[2].value),t[3].map((function(e){return new H_(e.value)})))},2556980723:function(e,t){return new e_.IfcFace(e,t[0].map((function(e){return new H_(e.value)})))},1809719519:function(e,t){return new e_.IfcFaceBound(e,new H_(t[0].value),new e_.IfcBoolean(t[1].value))},803316827:function(e,t){return new e_.IfcFaceOuterBound(e,new H_(t[0].value),new e_.IfcBoolean(t[1].value))},3008276851:function(e,t){return new e_.IfcFaceSurface(e,t[0].map((function(e){return new H_(e.value)})),new H_(t[1].value),new e_.IfcBoolean(t[2].value))},4219587988:function(e,t){return new e_.IfcFailureConnectionCondition(e,t[0]?new e_.IfcLabel(t[0].value):null,t[1]?new e_.IfcForceMeasure(t[1].value):null,t[2]?new e_.IfcForceMeasure(t[2].value):null,t[3]?new e_.IfcForceMeasure(t[3].value):null,t[4]?new e_.IfcForceMeasure(t[4].value):null,t[5]?new e_.IfcForceMeasure(t[5].value):null,t[6]?new e_.IfcForceMeasure(t[6].value):null)},738692330:function(e,t){return new e_.IfcFillAreaStyle(e,t[0]?new e_.IfcLabel(t[0].value):null,t[1].map((function(e){return new H_(e.value)})),t[2]?new e_.IfcBoolean(t[2].value):null)},3448662350:function(e,t){return new e_.IfcGeometricRepresentationContext(e,t[0]?new e_.IfcLabel(t[0].value):null,t[1]?new e_.IfcLabel(t[1].value):null,new e_.IfcDimensionCount(t[2].value),t[3]?new e_.IfcReal(t[3].value):null,new H_(t[4].value),t[5]?new H_(t[5].value):null)},2453401579:function(e,t){return new e_.IfcGeometricRepresentationItem(e)},4142052618:function(e,t){return new e_.IfcGeometricRepresentationSubContext(e,t[0]?new e_.IfcLabel(t[0].value):null,t[1]?new e_.IfcLabel(t[1].value):null,new H_(t[2].value),t[3]?new e_.IfcPositiveRatioMeasure(t[3].value):null,t[4],t[5]?new e_.IfcLabel(t[5].value):null)},3590301190:function(e,t){return new e_.IfcGeometricSet(e,t[0].map((function(e){return new H_(e.value)})))},178086475:function(e,t){return new e_.IfcGridPlacement(e,new H_(t[0].value),t[1]?new H_(t[1].value):null)},812098782:function(e,t){return new e_.IfcHalfSpaceSolid(e,new H_(t[0].value),new e_.IfcBoolean(t[1].value))},3905492369:function(e,t){return new e_.IfcImageTexture(e,new e_.IfcBoolean(t[0].value),new e_.IfcBoolean(t[1].value),t[2]?new e_.IfcIdentifier(t[2].value):null,t[3]?new H_(t[3].value):null,t[4]?t[4].map((function(e){return new e_.IfcIdentifier(e.value)})):null,new e_.IfcURIReference(t[5].value))},3570813810:function(e,t){return new e_.IfcIndexedColourMap(e,new H_(t[0].value),t[1]?new e_.IfcNormalisedRatioMeasure(t[1].value):null,new H_(t[2].value),t[3].map((function(e){return new e_.IfcPositiveInteger(e.value)})))},1437953363:function(e,t){return new e_.IfcIndexedTextureMap(e,t[0].map((function(e){return new H_(e.value)})),new H_(t[1].value),new H_(t[2].value))},2133299955:function(e,t){return new e_.IfcIndexedTriangleTextureMap(e,t[0].map((function(e){return new H_(e.value)})),new H_(t[1].value),new H_(t[2].value),t[3]?t[3].map((function(e){return new e_.IfcPositiveInteger(e.value)})):null)},3741457305:function(e,t){return new e_.IfcIrregularTimeSeries(e,new e_.IfcLabel(t[0].value),t[1]?new e_.IfcText(t[1].value):null,new e_.IfcDateTime(t[2].value),new e_.IfcDateTime(t[3].value),t[4],t[5],t[6]?new e_.IfcLabel(t[6].value):null,t[7]?new H_(t[7].value):null,t[8].map((function(e){return new H_(e.value)})))},1585845231:function(e,t){return new e_.IfcLagTime(e,t[0]?new e_.IfcLabel(t[0].value):null,t[1],t[2]?new e_.IfcLabel(t[2].value):null,K_(2,t[3]),t[4])},1402838566:function(e,t){return new e_.IfcLightSource(e,t[0]?new e_.IfcLabel(t[0].value):null,new H_(t[1].value),t[2]?new e_.IfcNormalisedRatioMeasure(t[2].value):null,t[3]?new e_.IfcNormalisedRatioMeasure(t[3].value):null)},125510826:function(e,t){return new e_.IfcLightSourceAmbient(e,t[0]?new e_.IfcLabel(t[0].value):null,new H_(t[1].value),t[2]?new e_.IfcNormalisedRatioMeasure(t[2].value):null,t[3]?new e_.IfcNormalisedRatioMeasure(t[3].value):null)},2604431987:function(e,t){return new e_.IfcLightSourceDirectional(e,t[0]?new e_.IfcLabel(t[0].value):null,new H_(t[1].value),t[2]?new e_.IfcNormalisedRatioMeasure(t[2].value):null,t[3]?new e_.IfcNormalisedRatioMeasure(t[3].value):null,new H_(t[4].value))},4266656042:function(e,t){return new e_.IfcLightSourceGoniometric(e,t[0]?new e_.IfcLabel(t[0].value):null,new H_(t[1].value),t[2]?new e_.IfcNormalisedRatioMeasure(t[2].value):null,t[3]?new e_.IfcNormalisedRatioMeasure(t[3].value):null,new H_(t[4].value),t[5]?new H_(t[5].value):null,new e_.IfcThermodynamicTemperatureMeasure(t[6].value),new e_.IfcLuminousFluxMeasure(t[7].value),t[8],new H_(t[9].value))},1520743889:function(e,t){return new e_.IfcLightSourcePositional(e,t[0]?new e_.IfcLabel(t[0].value):null,new H_(t[1].value),t[2]?new e_.IfcNormalisedRatioMeasure(t[2].value):null,t[3]?new e_.IfcNormalisedRatioMeasure(t[3].value):null,new H_(t[4].value),new e_.IfcPositiveLengthMeasure(t[5].value),new e_.IfcReal(t[6].value),new e_.IfcReal(t[7].value),new e_.IfcReal(t[8].value))},3422422726:function(e,t){return new e_.IfcLightSourceSpot(e,t[0]?new e_.IfcLabel(t[0].value):null,new H_(t[1].value),t[2]?new e_.IfcNormalisedRatioMeasure(t[2].value):null,t[3]?new e_.IfcNormalisedRatioMeasure(t[3].value):null,new H_(t[4].value),new e_.IfcPositiveLengthMeasure(t[5].value),new e_.IfcReal(t[6].value),new e_.IfcReal(t[7].value),new e_.IfcReal(t[8].value),new H_(t[9].value),t[10]?new e_.IfcReal(t[10].value):null,new e_.IfcPositivePlaneAngleMeasure(t[11].value),new e_.IfcPositivePlaneAngleMeasure(t[12].value))},2624227202:function(e,t){return new e_.IfcLocalPlacement(e,t[0]?new H_(t[0].value):null,new H_(t[1].value))},1008929658:function(e,t){return new e_.IfcLoop(e)},2347385850:function(e,t){return new e_.IfcMappedItem(e,new H_(t[0].value),new H_(t[1].value))},1838606355:function(e,t){return new e_.IfcMaterial(e,new e_.IfcLabel(t[0].value),t[1]?new e_.IfcText(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null)},3708119e3:function(e,t){return new e_.IfcMaterialConstituent(e,t[0]?new e_.IfcLabel(t[0].value):null,t[1]?new e_.IfcText(t[1].value):null,new H_(t[2].value),t[3]?new e_.IfcNormalisedRatioMeasure(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null)},2852063980:function(e,t){return new e_.IfcMaterialConstituentSet(e,t[0]?new e_.IfcLabel(t[0].value):null,t[1]?new e_.IfcText(t[1].value):null,t[2]?t[2].map((function(e){return new H_(e.value)})):null)},2022407955:function(e,t){return new e_.IfcMaterialDefinitionRepresentation(e,t[0]?new e_.IfcLabel(t[0].value):null,t[1]?new e_.IfcText(t[1].value):null,t[2].map((function(e){return new H_(e.value)})),new H_(t[3].value))},1303795690:function(e,t){return new e_.IfcMaterialLayerSetUsage(e,new H_(t[0].value),t[1],t[2],new e_.IfcLengthMeasure(t[3].value),t[4]?new e_.IfcPositiveLengthMeasure(t[4].value):null)},3079605661:function(e,t){return new e_.IfcMaterialProfileSetUsage(e,new H_(t[0].value),t[1]?new e_.IfcCardinalPointReference(t[1].value):null,t[2]?new e_.IfcPositiveLengthMeasure(t[2].value):null)},3404854881:function(e,t){return new e_.IfcMaterialProfileSetUsageTapering(e,new H_(t[0].value),t[1]?new e_.IfcCardinalPointReference(t[1].value):null,t[2]?new e_.IfcPositiveLengthMeasure(t[2].value):null,new H_(t[3].value),t[4]?new e_.IfcCardinalPointReference(t[4].value):null)},3265635763:function(e,t){return new e_.IfcMaterialProperties(e,t[0]?new e_.IfcIdentifier(t[0].value):null,t[1]?new e_.IfcText(t[1].value):null,t[2].map((function(e){return new H_(e.value)})),new H_(t[3].value))},853536259:function(e,t){return new e_.IfcMaterialRelationship(e,t[0]?new e_.IfcLabel(t[0].value):null,t[1]?new e_.IfcText(t[1].value):null,new H_(t[2].value),t[3].map((function(e){return new H_(e.value)})),t[4]?new e_.IfcLabel(t[4].value):null)},2998442950:function(e,t){return new e_.IfcMirroredProfileDef(e,t[0],t[1]?new e_.IfcLabel(t[1].value):null,new H_(t[2].value),t[3]?new e_.IfcLabel(t[3].value):null)},219451334:function(e,t){return new e_.IfcObjectDefinition(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null)},2665983363:function(e,t){return new e_.IfcOpenShell(e,t[0].map((function(e){return new H_(e.value)})))},1411181986:function(e,t){return new e_.IfcOrganizationRelationship(e,t[0]?new e_.IfcLabel(t[0].value):null,t[1]?new e_.IfcText(t[1].value):null,new H_(t[2].value),t[3].map((function(e){return new H_(e.value)})))},1029017970:function(e,t){return new e_.IfcOrientedEdge(e,new H_(t[0].value),new e_.IfcBoolean(t[1].value))},2529465313:function(e,t){return new e_.IfcParameterizedProfileDef(e,t[0],t[1]?new e_.IfcLabel(t[1].value):null,t[2]?new H_(t[2].value):null)},2519244187:function(e,t){return new e_.IfcPath(e,t[0].map((function(e){return new H_(e.value)})))},3021840470:function(e,t){return new e_.IfcPhysicalComplexQuantity(e,new e_.IfcLabel(t[0].value),t[1]?new e_.IfcText(t[1].value):null,t[2].map((function(e){return new H_(e.value)})),new e_.IfcLabel(t[3].value),t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new e_.IfcLabel(t[5].value):null)},597895409:function(e,t){return new e_.IfcPixelTexture(e,new e_.IfcBoolean(t[0].value),new e_.IfcBoolean(t[1].value),t[2]?new e_.IfcIdentifier(t[2].value):null,t[3]?new H_(t[3].value):null,t[4]?t[4].map((function(e){return new e_.IfcIdentifier(e.value)})):null,new e_.IfcInteger(t[5].value),new e_.IfcInteger(t[6].value),new e_.IfcInteger(t[7].value),t[8].map((function(e){return new e_.IfcBinary(e.value)})))},2004835150:function(e,t){return new e_.IfcPlacement(e,new H_(t[0].value))},1663979128:function(e,t){return new e_.IfcPlanarExtent(e,new e_.IfcLengthMeasure(t[0].value),new e_.IfcLengthMeasure(t[1].value))},2067069095:function(e,t){return new e_.IfcPoint(e)},4022376103:function(e,t){return new e_.IfcPointOnCurve(e,new H_(t[0].value),new e_.IfcParameterValue(t[1].value))},1423911732:function(e,t){return new e_.IfcPointOnSurface(e,new H_(t[0].value),new e_.IfcParameterValue(t[1].value),new e_.IfcParameterValue(t[2].value))},2924175390:function(e,t){return new e_.IfcPolyLoop(e,t[0].map((function(e){return new H_(e.value)})))},2775532180:function(e,t){return new e_.IfcPolygonalBoundedHalfSpace(e,new H_(t[0].value),new e_.IfcBoolean(t[1].value),new H_(t[2].value),new H_(t[3].value))},3727388367:function(e,t){return new e_.IfcPreDefinedItem(e,new e_.IfcLabel(t[0].value))},3778827333:function(e,t){return new e_.IfcPreDefinedProperties(e)},1775413392:function(e,t){return new e_.IfcPreDefinedTextFont(e,new e_.IfcLabel(t[0].value))},673634403:function(e,t){return new e_.IfcProductDefinitionShape(e,t[0]?new e_.IfcLabel(t[0].value):null,t[1]?new e_.IfcText(t[1].value):null,t[2].map((function(e){return new H_(e.value)})))},2802850158:function(e,t){return new e_.IfcProfileProperties(e,t[0]?new e_.IfcIdentifier(t[0].value):null,t[1]?new e_.IfcText(t[1].value):null,t[2].map((function(e){return new H_(e.value)})),new H_(t[3].value))},2598011224:function(e,t){return new e_.IfcProperty(e,new e_.IfcIdentifier(t[0].value),t[1]?new e_.IfcText(t[1].value):null)},1680319473:function(e,t){return new e_.IfcPropertyDefinition(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null)},148025276:function(e,t){return new e_.IfcPropertyDependencyRelationship(e,t[0]?new e_.IfcLabel(t[0].value):null,t[1]?new e_.IfcText(t[1].value):null,new H_(t[2].value),new H_(t[3].value),t[4]?new e_.IfcText(t[4].value):null)},3357820518:function(e,t){return new e_.IfcPropertySetDefinition(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null)},1482703590:function(e,t){return new e_.IfcPropertyTemplateDefinition(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null)},2090586900:function(e,t){return new e_.IfcQuantitySet(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null)},3615266464:function(e,t){return new e_.IfcRectangleProfileDef(e,t[0],t[1]?new e_.IfcLabel(t[1].value):null,t[2]?new H_(t[2].value):null,new e_.IfcPositiveLengthMeasure(t[3].value),new e_.IfcPositiveLengthMeasure(t[4].value))},3413951693:function(e,t){return new e_.IfcRegularTimeSeries(e,new e_.IfcLabel(t[0].value),t[1]?new e_.IfcText(t[1].value):null,new e_.IfcDateTime(t[2].value),new e_.IfcDateTime(t[3].value),t[4],t[5],t[6]?new e_.IfcLabel(t[6].value):null,t[7]?new H_(t[7].value):null,new e_.IfcTimeMeasure(t[8].value),t[9].map((function(e){return new H_(e.value)})))},1580146022:function(e,t){return new e_.IfcReinforcementBarProperties(e,new e_.IfcAreaMeasure(t[0].value),new e_.IfcLabel(t[1].value),t[2],t[3]?new e_.IfcLengthMeasure(t[3].value):null,t[4]?new e_.IfcPositiveLengthMeasure(t[4].value):null,t[5]?new e_.IfcCountMeasure(t[5].value):null)},478536968:function(e,t){return new e_.IfcRelationship(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null)},2943643501:function(e,t){return new e_.IfcResourceApprovalRelationship(e,t[0]?new e_.IfcLabel(t[0].value):null,t[1]?new e_.IfcText(t[1].value):null,t[2].map((function(e){return new H_(e.value)})),new H_(t[3].value))},1608871552:function(e,t){return new e_.IfcResourceConstraintRelationship(e,t[0]?new e_.IfcLabel(t[0].value):null,t[1]?new e_.IfcText(t[1].value):null,new H_(t[2].value),t[3].map((function(e){return new H_(e.value)})))},1042787934:function(e,t){return new e_.IfcResourceTime(e,t[0]?new e_.IfcLabel(t[0].value):null,t[1],t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcDuration(t[3].value):null,t[4]?new e_.IfcPositiveRatioMeasure(t[4].value):null,t[5]?new e_.IfcDateTime(t[5].value):null,t[6]?new e_.IfcDateTime(t[6].value):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8]?new e_.IfcDuration(t[8].value):null,t[9]?new e_.IfcBoolean(t[9].value):null,t[10]?new e_.IfcDateTime(t[10].value):null,t[11]?new e_.IfcDuration(t[11].value):null,t[12]?new e_.IfcPositiveRatioMeasure(t[12].value):null,t[13]?new e_.IfcDateTime(t[13].value):null,t[14]?new e_.IfcDateTime(t[14].value):null,t[15]?new e_.IfcDuration(t[15].value):null,t[16]?new e_.IfcPositiveRatioMeasure(t[16].value):null,t[17]?new e_.IfcPositiveRatioMeasure(t[17].value):null)},2778083089:function(e,t){return new e_.IfcRoundedRectangleProfileDef(e,t[0],t[1]?new e_.IfcLabel(t[1].value):null,t[2]?new H_(t[2].value):null,new e_.IfcPositiveLengthMeasure(t[3].value),new e_.IfcPositiveLengthMeasure(t[4].value),new e_.IfcPositiveLengthMeasure(t[5].value))},2042790032:function(e,t){return new e_.IfcSectionProperties(e,t[0],new H_(t[1].value),t[2]?new H_(t[2].value):null)},4165799628:function(e,t){return new e_.IfcSectionReinforcementProperties(e,new e_.IfcLengthMeasure(t[0].value),new e_.IfcLengthMeasure(t[1].value),t[2]?new e_.IfcLengthMeasure(t[2].value):null,t[3],new H_(t[4].value),t[5].map((function(e){return new H_(e.value)})))},1509187699:function(e,t){return new e_.IfcSectionedSpine(e,new H_(t[0].value),t[1].map((function(e){return new H_(e.value)})),t[2].map((function(e){return new H_(e.value)})))},4124623270:function(e,t){return new e_.IfcShellBasedSurfaceModel(e,t[0].map((function(e){return new H_(e.value)})))},3692461612:function(e,t){return new e_.IfcSimpleProperty(e,new e_.IfcIdentifier(t[0].value),t[1]?new e_.IfcText(t[1].value):null)},2609359061:function(e,t){return new e_.IfcSlippageConnectionCondition(e,t[0]?new e_.IfcLabel(t[0].value):null,t[1]?new e_.IfcLengthMeasure(t[1].value):null,t[2]?new e_.IfcLengthMeasure(t[2].value):null,t[3]?new e_.IfcLengthMeasure(t[3].value):null)},723233188:function(e,t){return new e_.IfcSolidModel(e)},1595516126:function(e,t){return new e_.IfcStructuralLoadLinearForce(e,t[0]?new e_.IfcLabel(t[0].value):null,t[1]?new e_.IfcLinearForceMeasure(t[1].value):null,t[2]?new e_.IfcLinearForceMeasure(t[2].value):null,t[3]?new e_.IfcLinearForceMeasure(t[3].value):null,t[4]?new e_.IfcLinearMomentMeasure(t[4].value):null,t[5]?new e_.IfcLinearMomentMeasure(t[5].value):null,t[6]?new e_.IfcLinearMomentMeasure(t[6].value):null)},2668620305:function(e,t){return new e_.IfcStructuralLoadPlanarForce(e,t[0]?new e_.IfcLabel(t[0].value):null,t[1]?new e_.IfcPlanarForceMeasure(t[1].value):null,t[2]?new e_.IfcPlanarForceMeasure(t[2].value):null,t[3]?new e_.IfcPlanarForceMeasure(t[3].value):null)},2473145415:function(e,t){return new e_.IfcStructuralLoadSingleDisplacement(e,t[0]?new e_.IfcLabel(t[0].value):null,t[1]?new e_.IfcLengthMeasure(t[1].value):null,t[2]?new e_.IfcLengthMeasure(t[2].value):null,t[3]?new e_.IfcLengthMeasure(t[3].value):null,t[4]?new e_.IfcPlaneAngleMeasure(t[4].value):null,t[5]?new e_.IfcPlaneAngleMeasure(t[5].value):null,t[6]?new e_.IfcPlaneAngleMeasure(t[6].value):null)},1973038258:function(e,t){return new e_.IfcStructuralLoadSingleDisplacementDistortion(e,t[0]?new e_.IfcLabel(t[0].value):null,t[1]?new e_.IfcLengthMeasure(t[1].value):null,t[2]?new e_.IfcLengthMeasure(t[2].value):null,t[3]?new e_.IfcLengthMeasure(t[3].value):null,t[4]?new e_.IfcPlaneAngleMeasure(t[4].value):null,t[5]?new e_.IfcPlaneAngleMeasure(t[5].value):null,t[6]?new e_.IfcPlaneAngleMeasure(t[6].value):null,t[7]?new e_.IfcCurvatureMeasure(t[7].value):null)},1597423693:function(e,t){return new e_.IfcStructuralLoadSingleForce(e,t[0]?new e_.IfcLabel(t[0].value):null,t[1]?new e_.IfcForceMeasure(t[1].value):null,t[2]?new e_.IfcForceMeasure(t[2].value):null,t[3]?new e_.IfcForceMeasure(t[3].value):null,t[4]?new e_.IfcTorqueMeasure(t[4].value):null,t[5]?new e_.IfcTorqueMeasure(t[5].value):null,t[6]?new e_.IfcTorqueMeasure(t[6].value):null)},1190533807:function(e,t){return new e_.IfcStructuralLoadSingleForceWarping(e,t[0]?new e_.IfcLabel(t[0].value):null,t[1]?new e_.IfcForceMeasure(t[1].value):null,t[2]?new e_.IfcForceMeasure(t[2].value):null,t[3]?new e_.IfcForceMeasure(t[3].value):null,t[4]?new e_.IfcTorqueMeasure(t[4].value):null,t[5]?new e_.IfcTorqueMeasure(t[5].value):null,t[6]?new e_.IfcTorqueMeasure(t[6].value):null,t[7]?new e_.IfcWarpingMomentMeasure(t[7].value):null)},2233826070:function(e,t){return new e_.IfcSubedge(e,new H_(t[0].value),new H_(t[1].value),new H_(t[2].value))},2513912981:function(e,t){return new e_.IfcSurface(e)},1878645084:function(e,t){return new e_.IfcSurfaceStyleRendering(e,new H_(t[0].value),t[1]?new e_.IfcNormalisedRatioMeasure(t[1].value):null,t[2]?new H_(t[2].value):null,t[3]?new H_(t[3].value):null,t[4]?new H_(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?K_(2,t[7]):null,t[8])},2247615214:function(e,t){return new e_.IfcSweptAreaSolid(e,new H_(t[0].value),t[1]?new H_(t[1].value):null)},1260650574:function(e,t){return new e_.IfcSweptDiskSolid(e,new H_(t[0].value),new e_.IfcPositiveLengthMeasure(t[1].value),t[2]?new e_.IfcPositiveLengthMeasure(t[2].value):null,t[3]?new e_.IfcParameterValue(t[3].value):null,t[4]?new e_.IfcParameterValue(t[4].value):null)},1096409881:function(e,t){return new e_.IfcSweptDiskSolidPolygonal(e,new H_(t[0].value),new e_.IfcPositiveLengthMeasure(t[1].value),t[2]?new e_.IfcPositiveLengthMeasure(t[2].value):null,t[3]?new e_.IfcParameterValue(t[3].value):null,t[4]?new e_.IfcParameterValue(t[4].value):null,t[5]?new e_.IfcPositiveLengthMeasure(t[5].value):null)},230924584:function(e,t){return new e_.IfcSweptSurface(e,new H_(t[0].value),t[1]?new H_(t[1].value):null)},3071757647:function(e,t){return new e_.IfcTShapeProfileDef(e,t[0],t[1]?new e_.IfcLabel(t[1].value):null,t[2]?new H_(t[2].value):null,new e_.IfcPositiveLengthMeasure(t[3].value),new e_.IfcPositiveLengthMeasure(t[4].value),new e_.IfcPositiveLengthMeasure(t[5].value),new e_.IfcPositiveLengthMeasure(t[6].value),t[7]?new e_.IfcNonNegativeLengthMeasure(t[7].value):null,t[8]?new e_.IfcNonNegativeLengthMeasure(t[8].value):null,t[9]?new e_.IfcNonNegativeLengthMeasure(t[9].value):null,t[10]?new e_.IfcPlaneAngleMeasure(t[10].value):null,t[11]?new e_.IfcPlaneAngleMeasure(t[11].value):null)},901063453:function(e,t){return new e_.IfcTessellatedItem(e)},4282788508:function(e,t){return new e_.IfcTextLiteral(e,new e_.IfcPresentableText(t[0].value),new H_(t[1].value),t[2])},3124975700:function(e,t){return new e_.IfcTextLiteralWithExtent(e,new e_.IfcPresentableText(t[0].value),new H_(t[1].value),t[2],new H_(t[3].value),new e_.IfcBoxAlignment(t[4].value))},1983826977:function(e,t){return new e_.IfcTextStyleFontModel(e,new e_.IfcLabel(t[0].value),t[1].map((function(e){return new e_.IfcTextFontName(e.value)})),t[2]?new e_.IfcFontStyle(t[2].value):null,t[3]?new e_.IfcFontVariant(t[3].value):null,t[4]?new e_.IfcFontWeight(t[4].value):null,K_(2,t[5]))},2715220739:function(e,t){return new e_.IfcTrapeziumProfileDef(e,t[0],t[1]?new e_.IfcLabel(t[1].value):null,t[2]?new H_(t[2].value):null,new e_.IfcPositiveLengthMeasure(t[3].value),new e_.IfcPositiveLengthMeasure(t[4].value),new e_.IfcPositiveLengthMeasure(t[5].value),new e_.IfcLengthMeasure(t[6].value))},1628702193:function(e,t){return new e_.IfcTypeObject(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null)},3736923433:function(e,t){return new e_.IfcTypeProcess(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?new e_.IfcIdentifier(t[6].value):null,t[7]?new e_.IfcText(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null)},2347495698:function(e,t){return new e_.IfcTypeProduct(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new e_.IfcLabel(t[7].value):null)},3698973494:function(e,t){return new e_.IfcTypeResource(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?new e_.IfcIdentifier(t[6].value):null,t[7]?new e_.IfcText(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null)},427810014:function(e,t){return new e_.IfcUShapeProfileDef(e,t[0],t[1]?new e_.IfcLabel(t[1].value):null,t[2]?new H_(t[2].value):null,new e_.IfcPositiveLengthMeasure(t[3].value),new e_.IfcPositiveLengthMeasure(t[4].value),new e_.IfcPositiveLengthMeasure(t[5].value),new e_.IfcPositiveLengthMeasure(t[6].value),t[7]?new e_.IfcNonNegativeLengthMeasure(t[7].value):null,t[8]?new e_.IfcNonNegativeLengthMeasure(t[8].value):null,t[9]?new e_.IfcPlaneAngleMeasure(t[9].value):null)},1417489154:function(e,t){return new e_.IfcVector(e,new H_(t[0].value),new e_.IfcLengthMeasure(t[1].value))},2759199220:function(e,t){return new e_.IfcVertexLoop(e,new H_(t[0].value))},1299126871:function(e,t){return new e_.IfcWindowStyle(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8],t[9],new e_.IfcBoolean(t[10].value),new e_.IfcBoolean(t[11].value))},2543172580:function(e,t){return new e_.IfcZShapeProfileDef(e,t[0],t[1]?new e_.IfcLabel(t[1].value):null,t[2]?new H_(t[2].value):null,new e_.IfcPositiveLengthMeasure(t[3].value),new e_.IfcPositiveLengthMeasure(t[4].value),new e_.IfcPositiveLengthMeasure(t[5].value),new e_.IfcPositiveLengthMeasure(t[6].value),t[7]?new e_.IfcNonNegativeLengthMeasure(t[7].value):null,t[8]?new e_.IfcNonNegativeLengthMeasure(t[8].value):null)},3406155212:function(e,t){return new e_.IfcAdvancedFace(e,t[0].map((function(e){return new H_(e.value)})),new H_(t[1].value),new e_.IfcBoolean(t[2].value))},669184980:function(e,t){return new e_.IfcAnnotationFillArea(e,new H_(t[0].value),t[1]?t[1].map((function(e){return new H_(e.value)})):null)},3207858831:function(e,t){return new e_.IfcAsymmetricIShapeProfileDef(e,t[0],t[1]?new e_.IfcLabel(t[1].value):null,t[2]?new H_(t[2].value):null,new e_.IfcPositiveLengthMeasure(t[3].value),new e_.IfcPositiveLengthMeasure(t[4].value),new e_.IfcPositiveLengthMeasure(t[5].value),new e_.IfcPositiveLengthMeasure(t[6].value),t[7]?new e_.IfcNonNegativeLengthMeasure(t[7].value):null,new e_.IfcPositiveLengthMeasure(t[8].value),t[9]?new e_.IfcPositiveLengthMeasure(t[9].value):null,t[10]?new e_.IfcNonNegativeLengthMeasure(t[10].value):null,t[11]?new e_.IfcNonNegativeLengthMeasure(t[11].value):null,t[12]?new e_.IfcPlaneAngleMeasure(t[12].value):null,t[13]?new e_.IfcNonNegativeLengthMeasure(t[13].value):null,t[14]?new e_.IfcPlaneAngleMeasure(t[14].value):null)},4261334040:function(e,t){return new e_.IfcAxis1Placement(e,new H_(t[0].value),t[1]?new H_(t[1].value):null)},3125803723:function(e,t){return new e_.IfcAxis2Placement2D(e,new H_(t[0].value),t[1]?new H_(t[1].value):null)},2740243338:function(e,t){return new e_.IfcAxis2Placement3D(e,new H_(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new H_(t[2].value):null)},2736907675:function(e,t){return new e_.IfcBooleanResult(e,t[0],new H_(t[1].value),new H_(t[2].value))},4182860854:function(e,t){return new e_.IfcBoundedSurface(e)},2581212453:function(e,t){return new e_.IfcBoundingBox(e,new H_(t[0].value),new e_.IfcPositiveLengthMeasure(t[1].value),new e_.IfcPositiveLengthMeasure(t[2].value),new e_.IfcPositiveLengthMeasure(t[3].value))},2713105998:function(e,t){return new e_.IfcBoxedHalfSpace(e,new H_(t[0].value),new e_.IfcBoolean(t[1].value),new H_(t[2].value))},2898889636:function(e,t){return new e_.IfcCShapeProfileDef(e,t[0],t[1]?new e_.IfcLabel(t[1].value):null,t[2]?new H_(t[2].value):null,new e_.IfcPositiveLengthMeasure(t[3].value),new e_.IfcPositiveLengthMeasure(t[4].value),new e_.IfcPositiveLengthMeasure(t[5].value),new e_.IfcPositiveLengthMeasure(t[6].value),t[7]?new e_.IfcNonNegativeLengthMeasure(t[7].value):null)},1123145078:function(e,t){return new e_.IfcCartesianPoint(e,t[0].map((function(e){return new e_.IfcLengthMeasure(e.value)})))},574549367:function(e,t){return new e_.IfcCartesianPointList(e)},1675464909:function(e,t){return new e_.IfcCartesianPointList2D(e,t[0].map((function(e){return new e_.IfcLengthMeasure(e.value)})))},2059837836:function(e,t){return new e_.IfcCartesianPointList3D(e,t[0].map((function(e){return new e_.IfcLengthMeasure(e.value)})))},59481748:function(e,t){return new e_.IfcCartesianTransformationOperator(e,t[0]?new H_(t[0].value):null,t[1]?new H_(t[1].value):null,new H_(t[2].value),t[3]?new e_.IfcReal(t[3].value):null)},3749851601:function(e,t){return new e_.IfcCartesianTransformationOperator2D(e,t[0]?new H_(t[0].value):null,t[1]?new H_(t[1].value):null,new H_(t[2].value),t[3]?new e_.IfcReal(t[3].value):null)},3486308946:function(e,t){return new e_.IfcCartesianTransformationOperator2DnonUniform(e,t[0]?new H_(t[0].value):null,t[1]?new H_(t[1].value):null,new H_(t[2].value),t[3]?new e_.IfcReal(t[3].value):null,t[4]?new e_.IfcReal(t[4].value):null)},3331915920:function(e,t){return new e_.IfcCartesianTransformationOperator3D(e,t[0]?new H_(t[0].value):null,t[1]?new H_(t[1].value):null,new H_(t[2].value),t[3]?new e_.IfcReal(t[3].value):null,t[4]?new H_(t[4].value):null)},1416205885:function(e,t){return new e_.IfcCartesianTransformationOperator3DnonUniform(e,t[0]?new H_(t[0].value):null,t[1]?new H_(t[1].value):null,new H_(t[2].value),t[3]?new e_.IfcReal(t[3].value):null,t[4]?new H_(t[4].value):null,t[5]?new e_.IfcReal(t[5].value):null,t[6]?new e_.IfcReal(t[6].value):null)},1383045692:function(e,t){return new e_.IfcCircleProfileDef(e,t[0],t[1]?new e_.IfcLabel(t[1].value):null,t[2]?new H_(t[2].value):null,new e_.IfcPositiveLengthMeasure(t[3].value))},2205249479:function(e,t){return new e_.IfcClosedShell(e,t[0].map((function(e){return new H_(e.value)})))},776857604:function(e,t){return new e_.IfcColourRgb(e,t[0]?new e_.IfcLabel(t[0].value):null,new e_.IfcNormalisedRatioMeasure(t[1].value),new e_.IfcNormalisedRatioMeasure(t[2].value),new e_.IfcNormalisedRatioMeasure(t[3].value))},2542286263:function(e,t){return new e_.IfcComplexProperty(e,new e_.IfcIdentifier(t[0].value),t[1]?new e_.IfcText(t[1].value):null,new e_.IfcIdentifier(t[2].value),t[3].map((function(e){return new H_(e.value)})))},2485617015:function(e,t){return new e_.IfcCompositeCurveSegment(e,t[0],new e_.IfcBoolean(t[1].value),new H_(t[2].value))},2574617495:function(e,t){return new e_.IfcConstructionResourceType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?new e_.IfcIdentifier(t[6].value):null,t[7]?new e_.IfcText(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null,t[9]?t[9].map((function(e){return new H_(e.value)})):null,t[10]?new H_(t[10].value):null)},3419103109:function(e,t){return new e_.IfcContext(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new e_.IfcLabel(t[5].value):null,t[6]?new e_.IfcLabel(t[6].value):null,t[7]?t[7].map((function(e){return new H_(e.value)})):null,t[8]?new H_(t[8].value):null)},1815067380:function(e,t){return new e_.IfcCrewResourceType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?new e_.IfcIdentifier(t[6].value):null,t[7]?new e_.IfcText(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null,t[9]?t[9].map((function(e){return new H_(e.value)})):null,t[10]?new H_(t[10].value):null,t[11])},2506170314:function(e,t){return new e_.IfcCsgPrimitive3D(e,new H_(t[0].value))},2147822146:function(e,t){return new e_.IfcCsgSolid(e,new H_(t[0].value))},2601014836:function(e,t){return new e_.IfcCurve(e)},2827736869:function(e,t){return new e_.IfcCurveBoundedPlane(e,new H_(t[0].value),new H_(t[1].value),t[2]?t[2].map((function(e){return new H_(e.value)})):null)},2629017746:function(e,t){return new e_.IfcCurveBoundedSurface(e,new H_(t[0].value),t[1].map((function(e){return new H_(e.value)})),new e_.IfcBoolean(t[2].value))},32440307:function(e,t){return new e_.IfcDirection(e,t[0].map((function(e){return new e_.IfcReal(e.value)})))},526551008:function(e,t){return new e_.IfcDoorStyle(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8],t[9],new e_.IfcBoolean(t[10].value),new e_.IfcBoolean(t[11].value))},1472233963:function(e,t){return new e_.IfcEdgeLoop(e,t[0].map((function(e){return new H_(e.value)})))},1883228015:function(e,t){return new e_.IfcElementQuantity(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5].map((function(e){return new H_(e.value)})))},339256511:function(e,t){return new e_.IfcElementType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null)},2777663545:function(e,t){return new e_.IfcElementarySurface(e,new H_(t[0].value))},2835456948:function(e,t){return new e_.IfcEllipseProfileDef(e,t[0],t[1]?new e_.IfcLabel(t[1].value):null,t[2]?new H_(t[2].value):null,new e_.IfcPositiveLengthMeasure(t[3].value),new e_.IfcPositiveLengthMeasure(t[4].value))},4024345920:function(e,t){return new e_.IfcEventType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?new e_.IfcIdentifier(t[6].value):null,t[7]?new e_.IfcText(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null,t[9],t[10],t[11]?new e_.IfcLabel(t[11].value):null)},477187591:function(e,t){return new e_.IfcExtrudedAreaSolid(e,new H_(t[0].value),t[1]?new H_(t[1].value):null,new H_(t[2].value),new e_.IfcPositiveLengthMeasure(t[3].value))},2804161546:function(e,t){return new e_.IfcExtrudedAreaSolidTapered(e,new H_(t[0].value),t[1]?new H_(t[1].value):null,new H_(t[2].value),new e_.IfcPositiveLengthMeasure(t[3].value),new H_(t[4].value))},2047409740:function(e,t){return new e_.IfcFaceBasedSurfaceModel(e,t[0].map((function(e){return new H_(e.value)})))},374418227:function(e,t){return new e_.IfcFillAreaStyleHatching(e,new H_(t[0].value),new H_(t[1].value),t[2]?new H_(t[2].value):null,t[3]?new H_(t[3].value):null,new e_.IfcPlaneAngleMeasure(t[4].value))},315944413:function(e,t){return new e_.IfcFillAreaStyleTiles(e,t[0].map((function(e){return new H_(e.value)})),t[1].map((function(e){return new H_(e.value)})),new e_.IfcPositiveRatioMeasure(t[2].value))},2652556860:function(e,t){return new e_.IfcFixedReferenceSweptAreaSolid(e,new H_(t[0].value),t[1]?new H_(t[1].value):null,new H_(t[2].value),t[3]?new e_.IfcParameterValue(t[3].value):null,t[4]?new e_.IfcParameterValue(t[4].value):null,new H_(t[5].value))},4238390223:function(e,t){return new e_.IfcFurnishingElementType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null)},1268542332:function(e,t){return new e_.IfcFurnitureType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null,t[9],t[10])},4095422895:function(e,t){return new e_.IfcGeographicElementType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null,t[9])},987898635:function(e,t){return new e_.IfcGeometricCurveSet(e,t[0].map((function(e){return new H_(e.value)})))},1484403080:function(e,t){return new e_.IfcIShapeProfileDef(e,t[0],t[1]?new e_.IfcLabel(t[1].value):null,t[2]?new H_(t[2].value):null,new e_.IfcPositiveLengthMeasure(t[3].value),new e_.IfcPositiveLengthMeasure(t[4].value),new e_.IfcPositiveLengthMeasure(t[5].value),new e_.IfcPositiveLengthMeasure(t[6].value),t[7]?new e_.IfcNonNegativeLengthMeasure(t[7].value):null,t[8]?new e_.IfcNonNegativeLengthMeasure(t[8].value):null,t[9]?new e_.IfcPlaneAngleMeasure(t[9].value):null)},178912537:function(e,t){return new e_.IfcIndexedPolygonalFace(e,t[0].map((function(e){return new e_.IfcPositiveInteger(e.value)})))},2294589976:function(e,t){return new e_.IfcIndexedPolygonalFaceWithVoids(e,t[0].map((function(e){return new e_.IfcPositiveInteger(e.value)})),t[1].map((function(e){return new e_.IfcPositiveInteger(e.value)})))},572779678:function(e,t){return new e_.IfcLShapeProfileDef(e,t[0],t[1]?new e_.IfcLabel(t[1].value):null,t[2]?new H_(t[2].value):null,new e_.IfcPositiveLengthMeasure(t[3].value),t[4]?new e_.IfcPositiveLengthMeasure(t[4].value):null,new e_.IfcPositiveLengthMeasure(t[5].value),t[6]?new e_.IfcNonNegativeLengthMeasure(t[6].value):null,t[7]?new e_.IfcNonNegativeLengthMeasure(t[7].value):null,t[8]?new e_.IfcPlaneAngleMeasure(t[8].value):null)},428585644:function(e,t){return new e_.IfcLaborResourceType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?new e_.IfcIdentifier(t[6].value):null,t[7]?new e_.IfcText(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null,t[9]?t[9].map((function(e){return new H_(e.value)})):null,t[10]?new H_(t[10].value):null,t[11])},1281925730:function(e,t){return new e_.IfcLine(e,new H_(t[0].value),new H_(t[1].value))},1425443689:function(e,t){return new e_.IfcManifoldSolidBrep(e,new H_(t[0].value))},3888040117:function(e,t){return new e_.IfcObject(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null)},3388369263:function(e,t){return new e_.IfcOffsetCurve2D(e,new H_(t[0].value),new e_.IfcLengthMeasure(t[1].value),new e_.IfcLogical(t[2].value))},3505215534:function(e,t){return new e_.IfcOffsetCurve3D(e,new H_(t[0].value),new e_.IfcLengthMeasure(t[1].value),new e_.IfcLogical(t[2].value),new H_(t[3].value))},1682466193:function(e,t){return new e_.IfcPcurve(e,new H_(t[0].value),new H_(t[1].value))},603570806:function(e,t){return new e_.IfcPlanarBox(e,new e_.IfcLengthMeasure(t[0].value),new e_.IfcLengthMeasure(t[1].value),new H_(t[2].value))},220341763:function(e,t){return new e_.IfcPlane(e,new H_(t[0].value))},759155922:function(e,t){return new e_.IfcPreDefinedColour(e,new e_.IfcLabel(t[0].value))},2559016684:function(e,t){return new e_.IfcPreDefinedCurveFont(e,new e_.IfcLabel(t[0].value))},3967405729:function(e,t){return new e_.IfcPreDefinedPropertySet(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null)},569719735:function(e,t){return new e_.IfcProcedureType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?new e_.IfcIdentifier(t[6].value):null,t[7]?new e_.IfcText(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null,t[9])},2945172077:function(e,t){return new e_.IfcProcess(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new e_.IfcIdentifier(t[5].value):null,t[6]?new e_.IfcText(t[6].value):null)},4208778838:function(e,t){return new e_.IfcProduct(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null)},103090709:function(e,t){return new e_.IfcProject(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new e_.IfcLabel(t[5].value):null,t[6]?new e_.IfcLabel(t[6].value):null,t[7]?t[7].map((function(e){return new H_(e.value)})):null,t[8]?new H_(t[8].value):null)},653396225:function(e,t){return new e_.IfcProjectLibrary(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new e_.IfcLabel(t[5].value):null,t[6]?new e_.IfcLabel(t[6].value):null,t[7]?t[7].map((function(e){return new H_(e.value)})):null,t[8]?new H_(t[8].value):null)},871118103:function(e,t){return new e_.IfcPropertyBoundedValue(e,new e_.IfcIdentifier(t[0].value),t[1]?new e_.IfcText(t[1].value):null,t[2]?K_(2,t[2]):null,t[3]?K_(2,t[3]):null,t[4]?new H_(t[4].value):null,t[5]?K_(2,t[5]):null)},4166981789:function(e,t){return new e_.IfcPropertyEnumeratedValue(e,new e_.IfcIdentifier(t[0].value),t[1]?new e_.IfcText(t[1].value):null,t[2]?t[2].map((function(e){return K_(2,e)})):null,t[3]?new H_(t[3].value):null)},2752243245:function(e,t){return new e_.IfcPropertyListValue(e,new e_.IfcIdentifier(t[0].value),t[1]?new e_.IfcText(t[1].value):null,t[2]?t[2].map((function(e){return K_(2,e)})):null,t[3]?new H_(t[3].value):null)},941946838:function(e,t){return new e_.IfcPropertyReferenceValue(e,new e_.IfcIdentifier(t[0].value),t[1]?new e_.IfcText(t[1].value):null,t[2]?new e_.IfcText(t[2].value):null,t[3]?new H_(t[3].value):null)},1451395588:function(e,t){return new e_.IfcPropertySet(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4].map((function(e){return new H_(e.value)})))},492091185:function(e,t){return new e_.IfcPropertySetTemplate(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4],t[5]?new e_.IfcIdentifier(t[5].value):null,t[6].map((function(e){return new H_(e.value)})))},3650150729:function(e,t){return new e_.IfcPropertySingleValue(e,new e_.IfcIdentifier(t[0].value),t[1]?new e_.IfcText(t[1].value):null,t[2]?K_(2,t[2]):null,t[3]?new H_(t[3].value):null)},110355661:function(e,t){return new e_.IfcPropertyTableValue(e,new e_.IfcIdentifier(t[0].value),t[1]?new e_.IfcText(t[1].value):null,t[2]?t[2].map((function(e){return K_(2,e)})):null,t[3]?t[3].map((function(e){return K_(2,e)})):null,t[4]?new e_.IfcText(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7])},3521284610:function(e,t){return new e_.IfcPropertyTemplate(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null)},3219374653:function(e,t){return new e_.IfcProxy(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7],t[8]?new e_.IfcLabel(t[8].value):null)},2770003689:function(e,t){return new e_.IfcRectangleHollowProfileDef(e,t[0],t[1]?new e_.IfcLabel(t[1].value):null,t[2]?new H_(t[2].value):null,new e_.IfcPositiveLengthMeasure(t[3].value),new e_.IfcPositiveLengthMeasure(t[4].value),new e_.IfcPositiveLengthMeasure(t[5].value),t[6]?new e_.IfcNonNegativeLengthMeasure(t[6].value):null,t[7]?new e_.IfcNonNegativeLengthMeasure(t[7].value):null)},2798486643:function(e,t){return new e_.IfcRectangularPyramid(e,new H_(t[0].value),new e_.IfcPositiveLengthMeasure(t[1].value),new e_.IfcPositiveLengthMeasure(t[2].value),new e_.IfcPositiveLengthMeasure(t[3].value))},3454111270:function(e,t){return new e_.IfcRectangularTrimmedSurface(e,new H_(t[0].value),new e_.IfcParameterValue(t[1].value),new e_.IfcParameterValue(t[2].value),new e_.IfcParameterValue(t[3].value),new e_.IfcParameterValue(t[4].value),new e_.IfcBoolean(t[5].value),new e_.IfcBoolean(t[6].value))},3765753017:function(e,t){return new e_.IfcReinforcementDefinitionProperties(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5].map((function(e){return new H_(e.value)})))},3939117080:function(e,t){return new e_.IfcRelAssigns(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4].map((function(e){return new H_(e.value)})),t[5])},1683148259:function(e,t){return new e_.IfcRelAssignsToActor(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4].map((function(e){return new H_(e.value)})),t[5],new H_(t[6].value),t[7]?new H_(t[7].value):null)},2495723537:function(e,t){return new e_.IfcRelAssignsToControl(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4].map((function(e){return new H_(e.value)})),t[5],new H_(t[6].value))},1307041759:function(e,t){return new e_.IfcRelAssignsToGroup(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4].map((function(e){return new H_(e.value)})),t[5],new H_(t[6].value))},1027710054:function(e,t){return new e_.IfcRelAssignsToGroupByFactor(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4].map((function(e){return new H_(e.value)})),t[5],new H_(t[6].value),new e_.IfcRatioMeasure(t[7].value))},4278684876:function(e,t){return new e_.IfcRelAssignsToProcess(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4].map((function(e){return new H_(e.value)})),t[5],new H_(t[6].value),t[7]?new H_(t[7].value):null)},2857406711:function(e,t){return new e_.IfcRelAssignsToProduct(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4].map((function(e){return new H_(e.value)})),t[5],new H_(t[6].value))},205026976:function(e,t){return new e_.IfcRelAssignsToResource(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4].map((function(e){return new H_(e.value)})),t[5],new H_(t[6].value))},1865459582:function(e,t){return new e_.IfcRelAssociates(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4].map((function(e){return new H_(e.value)})))},4095574036:function(e,t){return new e_.IfcRelAssociatesApproval(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4].map((function(e){return new H_(e.value)})),new H_(t[5].value))},919958153:function(e,t){return new e_.IfcRelAssociatesClassification(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4].map((function(e){return new H_(e.value)})),new H_(t[5].value))},2728634034:function(e,t){return new e_.IfcRelAssociatesConstraint(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4].map((function(e){return new H_(e.value)})),t[5]?new e_.IfcLabel(t[5].value):null,new H_(t[6].value))},982818633:function(e,t){return new e_.IfcRelAssociatesDocument(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4].map((function(e){return new H_(e.value)})),new H_(t[5].value))},3840914261:function(e,t){return new e_.IfcRelAssociatesLibrary(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4].map((function(e){return new H_(e.value)})),new H_(t[5].value))},2655215786:function(e,t){return new e_.IfcRelAssociatesMaterial(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4].map((function(e){return new H_(e.value)})),new H_(t[5].value))},826625072:function(e,t){return new e_.IfcRelConnects(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null)},1204542856:function(e,t){return new e_.IfcRelConnectsElements(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new H_(t[4].value):null,new H_(t[5].value),new H_(t[6].value))},3945020480:function(e,t){return new e_.IfcRelConnectsPathElements(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new H_(t[4].value):null,new H_(t[5].value),new H_(t[6].value),t[7].map((function(e){return new e_.IfcInteger(e.value)})),t[8].map((function(e){return new e_.IfcInteger(e.value)})),t[9],t[10])},4201705270:function(e,t){return new e_.IfcRelConnectsPortToElement(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,new H_(t[4].value),new H_(t[5].value))},3190031847:function(e,t){return new e_.IfcRelConnectsPorts(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,new H_(t[4].value),new H_(t[5].value),t[6]?new H_(t[6].value):null)},2127690289:function(e,t){return new e_.IfcRelConnectsStructuralActivity(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,new H_(t[4].value),new H_(t[5].value))},1638771189:function(e,t){return new e_.IfcRelConnectsStructuralMember(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,new H_(t[4].value),new H_(t[5].value),t[6]?new H_(t[6].value):null,t[7]?new H_(t[7].value):null,t[8]?new e_.IfcLengthMeasure(t[8].value):null,t[9]?new H_(t[9].value):null)},504942748:function(e,t){return new e_.IfcRelConnectsWithEccentricity(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,new H_(t[4].value),new H_(t[5].value),t[6]?new H_(t[6].value):null,t[7]?new H_(t[7].value):null,t[8]?new e_.IfcLengthMeasure(t[8].value):null,t[9]?new H_(t[9].value):null,new H_(t[10].value))},3678494232:function(e,t){return new e_.IfcRelConnectsWithRealizingElements(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new H_(t[4].value):null,new H_(t[5].value),new H_(t[6].value),t[7].map((function(e){return new H_(e.value)})),t[8]?new e_.IfcLabel(t[8].value):null)},3242617779:function(e,t){return new e_.IfcRelContainedInSpatialStructure(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4].map((function(e){return new H_(e.value)})),new H_(t[5].value))},886880790:function(e,t){return new e_.IfcRelCoversBldgElements(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,new H_(t[4].value),t[5].map((function(e){return new H_(e.value)})))},2802773753:function(e,t){return new e_.IfcRelCoversSpaces(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,new H_(t[4].value),t[5].map((function(e){return new H_(e.value)})))},2565941209:function(e,t){return new e_.IfcRelDeclares(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,new H_(t[4].value),t[5].map((function(e){return new H_(e.value)})))},2551354335:function(e,t){return new e_.IfcRelDecomposes(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null)},693640335:function(e,t){return new e_.IfcRelDefines(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null)},1462361463:function(e,t){return new e_.IfcRelDefinesByObject(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4].map((function(e){return new H_(e.value)})),new H_(t[5].value))},4186316022:function(e,t){return new e_.IfcRelDefinesByProperties(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4].map((function(e){return new H_(e.value)})),new H_(t[5].value))},307848117:function(e,t){return new e_.IfcRelDefinesByTemplate(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4].map((function(e){return new H_(e.value)})),new H_(t[5].value))},781010003:function(e,t){return new e_.IfcRelDefinesByType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4].map((function(e){return new H_(e.value)})),new H_(t[5].value))},3940055652:function(e,t){return new e_.IfcRelFillsElement(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,new H_(t[4].value),new H_(t[5].value))},279856033:function(e,t){return new e_.IfcRelFlowControlElements(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4].map((function(e){return new H_(e.value)})),new H_(t[5].value))},427948657:function(e,t){return new e_.IfcRelInterferesElements(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,new H_(t[4].value),new H_(t[5].value),t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null,t[8].value)},3268803585:function(e,t){return new e_.IfcRelNests(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,new H_(t[4].value),t[5].map((function(e){return new H_(e.value)})))},750771296:function(e,t){return new e_.IfcRelProjectsElement(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,new H_(t[4].value),new H_(t[5].value))},1245217292:function(e,t){return new e_.IfcRelReferencedInSpatialStructure(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4].map((function(e){return new H_(e.value)})),new H_(t[5].value))},4122056220:function(e,t){return new e_.IfcRelSequence(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,new H_(t[4].value),new H_(t[5].value),t[6]?new H_(t[6].value):null,t[7],t[8]?new e_.IfcLabel(t[8].value):null)},366585022:function(e,t){return new e_.IfcRelServicesBuildings(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,new H_(t[4].value),t[5].map((function(e){return new H_(e.value)})))},3451746338:function(e,t){return new e_.IfcRelSpaceBoundary(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,new H_(t[4].value),new H_(t[5].value),t[6]?new H_(t[6].value):null,t[7],t[8])},3523091289:function(e,t){return new e_.IfcRelSpaceBoundary1stLevel(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,new H_(t[4].value),new H_(t[5].value),t[6]?new H_(t[6].value):null,t[7],t[8],t[9]?new H_(t[9].value):null)},1521410863:function(e,t){return new e_.IfcRelSpaceBoundary2ndLevel(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,new H_(t[4].value),new H_(t[5].value),t[6]?new H_(t[6].value):null,t[7],t[8],t[9]?new H_(t[9].value):null,t[10]?new H_(t[10].value):null)},1401173127:function(e,t){return new e_.IfcRelVoidsElement(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,new H_(t[4].value),new H_(t[5].value))},816062949:function(e,t){return new e_.IfcReparametrisedCompositeCurveSegment(e,t[0],new e_.IfcBoolean(t[1].value),new H_(t[2].value),new e_.IfcParameterValue(t[3].value))},2914609552:function(e,t){return new e_.IfcResource(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new e_.IfcIdentifier(t[5].value):null,t[6]?new e_.IfcText(t[6].value):null)},1856042241:function(e,t){return new e_.IfcRevolvedAreaSolid(e,new H_(t[0].value),t[1]?new H_(t[1].value):null,new H_(t[2].value),new e_.IfcPlaneAngleMeasure(t[3].value))},3243963512:function(e,t){return new e_.IfcRevolvedAreaSolidTapered(e,new H_(t[0].value),t[1]?new H_(t[1].value):null,new H_(t[2].value),new e_.IfcPlaneAngleMeasure(t[3].value),new H_(t[4].value))},4158566097:function(e,t){return new e_.IfcRightCircularCone(e,new H_(t[0].value),new e_.IfcPositiveLengthMeasure(t[1].value),new e_.IfcPositiveLengthMeasure(t[2].value))},3626867408:function(e,t){return new e_.IfcRightCircularCylinder(e,new H_(t[0].value),new e_.IfcPositiveLengthMeasure(t[1].value),new e_.IfcPositiveLengthMeasure(t[2].value))},3663146110:function(e,t){return new e_.IfcSimplePropertyTemplate(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4],t[5]?new e_.IfcLabel(t[5].value):null,t[6]?new e_.IfcLabel(t[6].value):null,t[7]?new H_(t[7].value):null,t[8]?new H_(t[8].value):null,t[9]?new H_(t[9].value):null,t[10]?new e_.IfcLabel(t[10].value):null,t[11])},1412071761:function(e,t){return new e_.IfcSpatialElement(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcLabel(t[7].value):null)},710998568:function(e,t){return new e_.IfcSpatialElementType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null)},2706606064:function(e,t){return new e_.IfcSpatialStructureElement(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8])},3893378262:function(e,t){return new e_.IfcSpatialStructureElementType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null)},463610769:function(e,t){return new e_.IfcSpatialZone(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8])},2481509218:function(e,t){return new e_.IfcSpatialZoneType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null,t[9],t[10]?new e_.IfcLabel(t[10].value):null)},451544542:function(e,t){return new e_.IfcSphere(e,new H_(t[0].value),new e_.IfcPositiveLengthMeasure(t[1].value))},4015995234:function(e,t){return new e_.IfcSphericalSurface(e,new H_(t[0].value),new e_.IfcPositiveLengthMeasure(t[1].value))},3544373492:function(e,t){return new e_.IfcStructuralActivity(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,new H_(t[7].value),t[8])},3136571912:function(e,t){return new e_.IfcStructuralItem(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null)},530289379:function(e,t){return new e_.IfcStructuralMember(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null)},3689010777:function(e,t){return new e_.IfcStructuralReaction(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,new H_(t[7].value),t[8])},3979015343:function(e,t){return new e_.IfcStructuralSurfaceMember(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7],t[8]?new e_.IfcPositiveLengthMeasure(t[8].value):null)},2218152070:function(e,t){return new e_.IfcStructuralSurfaceMemberVarying(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7],t[8]?new e_.IfcPositiveLengthMeasure(t[8].value):null)},603775116:function(e,t){return new e_.IfcStructuralSurfaceReaction(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,new H_(t[7].value),t[8],t[9])},4095615324:function(e,t){return new e_.IfcSubContractResourceType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?new e_.IfcIdentifier(t[6].value):null,t[7]?new e_.IfcText(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null,t[9]?t[9].map((function(e){return new H_(e.value)})):null,t[10]?new H_(t[10].value):null,t[11])},699246055:function(e,t){return new e_.IfcSurfaceCurve(e,new H_(t[0].value),t[1].map((function(e){return new H_(e.value)})),t[2])},2028607225:function(e,t){return new e_.IfcSurfaceCurveSweptAreaSolid(e,new H_(t[0].value),t[1]?new H_(t[1].value):null,new H_(t[2].value),t[3]?new e_.IfcParameterValue(t[3].value):null,t[4]?new e_.IfcParameterValue(t[4].value):null,new H_(t[5].value))},2809605785:function(e,t){return new e_.IfcSurfaceOfLinearExtrusion(e,new H_(t[0].value),t[1]?new H_(t[1].value):null,new H_(t[2].value),new e_.IfcLengthMeasure(t[3].value))},4124788165:function(e,t){return new e_.IfcSurfaceOfRevolution(e,new H_(t[0].value),t[1]?new H_(t[1].value):null,new H_(t[2].value))},1580310250:function(e,t){return new e_.IfcSystemFurnitureElementType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null,t[9])},3473067441:function(e,t){return new e_.IfcTask(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new e_.IfcIdentifier(t[5].value):null,t[6]?new e_.IfcText(t[6].value):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null,new e_.IfcBoolean(t[9].value),t[10]?new e_.IfcInteger(t[10].value):null,t[11]?new H_(t[11].value):null,t[12])},3206491090:function(e,t){return new e_.IfcTaskType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?new e_.IfcIdentifier(t[6].value):null,t[7]?new e_.IfcText(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null,t[9],t[10]?new e_.IfcLabel(t[10].value):null)},2387106220:function(e,t){return new e_.IfcTessellatedFaceSet(e,new H_(t[0].value))},1935646853:function(e,t){return new e_.IfcToroidalSurface(e,new H_(t[0].value),new e_.IfcPositiveLengthMeasure(t[1].value),new e_.IfcPositiveLengthMeasure(t[2].value))},2097647324:function(e,t){return new e_.IfcTransportElementType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null,t[9])},2916149573:function(e,t){return new e_.IfcTriangulatedFaceSet(e,new H_(t[0].value),t[1]?t[1].map((function(e){return new e_.IfcParameterValue(e.value)})):null,t[2]?new e_.IfcBoolean(t[2].value):null,t[3].map((function(e){return new e_.IfcPositiveInteger(e.value)})),t[4]?t[4].map((function(e){return new e_.IfcPositiveInteger(e.value)})):null)},336235671:function(e,t){return new e_.IfcWindowLiningProperties(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcPositiveLengthMeasure(t[4].value):null,t[5]?new e_.IfcNonNegativeLengthMeasure(t[5].value):null,t[6]?new e_.IfcNonNegativeLengthMeasure(t[6].value):null,t[7]?new e_.IfcNonNegativeLengthMeasure(t[7].value):null,t[8]?new e_.IfcNormalisedRatioMeasure(t[8].value):null,t[9]?new e_.IfcNormalisedRatioMeasure(t[9].value):null,t[10]?new e_.IfcNormalisedRatioMeasure(t[10].value):null,t[11]?new e_.IfcNormalisedRatioMeasure(t[11].value):null,t[12]?new H_(t[12].value):null,t[13]?new e_.IfcLengthMeasure(t[13].value):null,t[14]?new e_.IfcLengthMeasure(t[14].value):null,t[15]?new e_.IfcLengthMeasure(t[15].value):null)},512836454:function(e,t){return new e_.IfcWindowPanelProperties(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4],t[5],t[6]?new e_.IfcPositiveLengthMeasure(t[6].value):null,t[7]?new e_.IfcPositiveLengthMeasure(t[7].value):null,t[8]?new H_(t[8].value):null)},2296667514:function(e,t){return new e_.IfcActor(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,new H_(t[5].value))},1635779807:function(e,t){return new e_.IfcAdvancedBrep(e,new H_(t[0].value))},2603310189:function(e,t){return new e_.IfcAdvancedBrepWithVoids(e,new H_(t[0].value),t[1].map((function(e){return new H_(e.value)})))},1674181508:function(e,t){return new e_.IfcAnnotation(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null)},2887950389:function(e,t){return new e_.IfcBSplineSurface(e,new e_.IfcInteger(t[0].value),new e_.IfcInteger(t[1].value),t[2].map((function(e){return new H_(e.value)})),t[3],new e_.IfcLogical(t[4].value),new e_.IfcLogical(t[5].value),new e_.IfcLogical(t[6].value))},167062518:function(e,t){return new e_.IfcBSplineSurfaceWithKnots(e,new e_.IfcInteger(t[0].value),new e_.IfcInteger(t[1].value),t[2].map((function(e){return new H_(e.value)})),t[3],new e_.IfcLogical(t[4].value),new e_.IfcLogical(t[5].value),new e_.IfcLogical(t[6].value),t[7].map((function(e){return new e_.IfcInteger(e.value)})),t[8].map((function(e){return new e_.IfcInteger(e.value)})),t[9].map((function(e){return new e_.IfcParameterValue(e.value)})),t[10].map((function(e){return new e_.IfcParameterValue(e.value)})),t[11])},1334484129:function(e,t){return new e_.IfcBlock(e,new H_(t[0].value),new e_.IfcPositiveLengthMeasure(t[1].value),new e_.IfcPositiveLengthMeasure(t[2].value),new e_.IfcPositiveLengthMeasure(t[3].value))},3649129432:function(e,t){return new e_.IfcBooleanClippingResult(e,t[0],new H_(t[1].value),new H_(t[2].value))},1260505505:function(e,t){return new e_.IfcBoundedCurve(e)},4031249490:function(e,t){return new e_.IfcBuilding(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8],t[9]?new e_.IfcLengthMeasure(t[9].value):null,t[10]?new e_.IfcLengthMeasure(t[10].value):null,t[11]?new H_(t[11].value):null)},1950629157:function(e,t){return new e_.IfcBuildingElementType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null)},3124254112:function(e,t){return new e_.IfcBuildingStorey(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8],t[9]?new e_.IfcLengthMeasure(t[9].value):null)},2197970202:function(e,t){return new e_.IfcChimneyType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null,t[9])},2937912522:function(e,t){return new e_.IfcCircleHollowProfileDef(e,t[0],t[1]?new e_.IfcLabel(t[1].value):null,t[2]?new H_(t[2].value):null,new e_.IfcPositiveLengthMeasure(t[3].value),new e_.IfcPositiveLengthMeasure(t[4].value))},3893394355:function(e,t){return new e_.IfcCivilElementType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null)},300633059:function(e,t){return new e_.IfcColumnType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null,t[9])},3875453745:function(e,t){return new e_.IfcComplexPropertyTemplate(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5],t[6]?t[6].map((function(e){return new H_(e.value)})):null)},3732776249:function(e,t){return new e_.IfcCompositeCurve(e,t[0].map((function(e){return new H_(e.value)})),new e_.IfcLogical(t[1].value))},15328376:function(e,t){return new e_.IfcCompositeCurveOnSurface(e,t[0].map((function(e){return new H_(e.value)})),new e_.IfcLogical(t[1].value))},2510884976:function(e,t){return new e_.IfcConic(e,new H_(t[0].value))},2185764099:function(e,t){return new e_.IfcConstructionEquipmentResourceType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?new e_.IfcIdentifier(t[6].value):null,t[7]?new e_.IfcText(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null,t[9]?t[9].map((function(e){return new H_(e.value)})):null,t[10]?new H_(t[10].value):null,t[11])},4105962743:function(e,t){return new e_.IfcConstructionMaterialResourceType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?new e_.IfcIdentifier(t[6].value):null,t[7]?new e_.IfcText(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null,t[9]?t[9].map((function(e){return new H_(e.value)})):null,t[10]?new H_(t[10].value):null,t[11])},1525564444:function(e,t){return new e_.IfcConstructionProductResourceType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?new e_.IfcIdentifier(t[6].value):null,t[7]?new e_.IfcText(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null,t[9]?t[9].map((function(e){return new H_(e.value)})):null,t[10]?new H_(t[10].value):null,t[11])},2559216714:function(e,t){return new e_.IfcConstructionResource(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new e_.IfcIdentifier(t[5].value):null,t[6]?new e_.IfcText(t[6].value):null,t[7]?new H_(t[7].value):null,t[8]?t[8].map((function(e){return new H_(e.value)})):null,t[9]?new H_(t[9].value):null)},3293443760:function(e,t){return new e_.IfcControl(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new e_.IfcIdentifier(t[5].value):null)},3895139033:function(e,t){return new e_.IfcCostItem(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new e_.IfcIdentifier(t[5].value):null,t[6],t[7]?t[7].map((function(e){return new H_(e.value)})):null,t[8]?t[8].map((function(e){return new H_(e.value)})):null)},1419761937:function(e,t){return new e_.IfcCostSchedule(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new e_.IfcIdentifier(t[5].value):null,t[6],t[7]?new e_.IfcLabel(t[7].value):null,t[8]?new e_.IfcDateTime(t[8].value):null,t[9]?new e_.IfcDateTime(t[9].value):null)},1916426348:function(e,t){return new e_.IfcCoveringType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null,t[9])},3295246426:function(e,t){return new e_.IfcCrewResource(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new e_.IfcIdentifier(t[5].value):null,t[6]?new e_.IfcText(t[6].value):null,t[7]?new H_(t[7].value):null,t[8]?t[8].map((function(e){return new H_(e.value)})):null,t[9]?new H_(t[9].value):null,t[10])},1457835157:function(e,t){return new e_.IfcCurtainWallType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null,t[9])},1213902940:function(e,t){return new e_.IfcCylindricalSurface(e,new H_(t[0].value),new e_.IfcPositiveLengthMeasure(t[1].value))},3256556792:function(e,t){return new e_.IfcDistributionElementType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null)},3849074793:function(e,t){return new e_.IfcDistributionFlowElementType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null)},2963535650:function(e,t){return new e_.IfcDoorLiningProperties(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcPositiveLengthMeasure(t[4].value):null,t[5]?new e_.IfcNonNegativeLengthMeasure(t[5].value):null,t[6]?new e_.IfcPositiveLengthMeasure(t[6].value):null,t[7]?new e_.IfcNonNegativeLengthMeasure(t[7].value):null,t[8]?new e_.IfcNonNegativeLengthMeasure(t[8].value):null,t[9]?new e_.IfcLengthMeasure(t[9].value):null,t[10]?new e_.IfcLengthMeasure(t[10].value):null,t[11]?new e_.IfcLengthMeasure(t[11].value):null,t[12]?new e_.IfcPositiveLengthMeasure(t[12].value):null,t[13]?new e_.IfcPositiveLengthMeasure(t[13].value):null,t[14]?new H_(t[14].value):null,t[15]?new e_.IfcLengthMeasure(t[15].value):null,t[16]?new e_.IfcLengthMeasure(t[16].value):null)},1714330368:function(e,t){return new e_.IfcDoorPanelProperties(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcPositiveLengthMeasure(t[4].value):null,t[5],t[6]?new e_.IfcNormalisedRatioMeasure(t[6].value):null,t[7],t[8]?new H_(t[8].value):null)},2323601079:function(e,t){return new e_.IfcDoorType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null,t[9],t[10],t[11]?new e_.IfcBoolean(t[11].value):null,t[12]?new e_.IfcLabel(t[12].value):null)},445594917:function(e,t){return new e_.IfcDraughtingPreDefinedColour(e,new e_.IfcLabel(t[0].value))},4006246654:function(e,t){return new e_.IfcDraughtingPreDefinedCurveFont(e,new e_.IfcLabel(t[0].value))},1758889154:function(e,t){return new e_.IfcElement(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null)},4123344466:function(e,t){return new e_.IfcElementAssembly(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null,t[8],t[9])},2397081782:function(e,t){return new e_.IfcElementAssemblyType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null,t[9])},1623761950:function(e,t){return new e_.IfcElementComponent(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null)},2590856083:function(e,t){return new e_.IfcElementComponentType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null)},1704287377:function(e,t){return new e_.IfcEllipse(e,new H_(t[0].value),new e_.IfcPositiveLengthMeasure(t[1].value),new e_.IfcPositiveLengthMeasure(t[2].value))},2107101300:function(e,t){return new e_.IfcEnergyConversionDeviceType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null)},132023988:function(e,t){return new e_.IfcEngineType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null,t[9])},3174744832:function(e,t){return new e_.IfcEvaporativeCoolerType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null,t[9])},3390157468:function(e,t){return new e_.IfcEvaporatorType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null,t[9])},4148101412:function(e,t){return new e_.IfcEvent(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new e_.IfcIdentifier(t[5].value):null,t[6]?new e_.IfcText(t[6].value):null,t[7],t[8],t[9]?new e_.IfcLabel(t[9].value):null,t[10]?new H_(t[10].value):null)},2853485674:function(e,t){return new e_.IfcExternalSpatialStructureElement(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcLabel(t[7].value):null)},807026263:function(e,t){return new e_.IfcFacetedBrep(e,new H_(t[0].value))},3737207727:function(e,t){return new e_.IfcFacetedBrepWithVoids(e,new H_(t[0].value),t[1].map((function(e){return new H_(e.value)})))},647756555:function(e,t){return new e_.IfcFastener(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null,t[8])},2489546625:function(e,t){return new e_.IfcFastenerType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null,t[9])},2827207264:function(e,t){return new e_.IfcFeatureElement(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null)},2143335405:function(e,t){return new e_.IfcFeatureElementAddition(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null)},1287392070:function(e,t){return new e_.IfcFeatureElementSubtraction(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null)},3907093117:function(e,t){return new e_.IfcFlowControllerType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null)},3198132628:function(e,t){return new e_.IfcFlowFittingType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null)},3815607619:function(e,t){return new e_.IfcFlowMeterType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null,t[9])},1482959167:function(e,t){return new e_.IfcFlowMovingDeviceType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null)},1834744321:function(e,t){return new e_.IfcFlowSegmentType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null)},1339347760:function(e,t){return new e_.IfcFlowStorageDeviceType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null)},2297155007:function(e,t){return new e_.IfcFlowTerminalType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null)},3009222698:function(e,t){return new e_.IfcFlowTreatmentDeviceType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null)},1893162501:function(e,t){return new e_.IfcFootingType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null,t[9])},263784265:function(e,t){return new e_.IfcFurnishingElement(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null)},1509553395:function(e,t){return new e_.IfcFurniture(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null,t[8])},3493046030:function(e,t){return new e_.IfcGeographicElement(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null,t[8])},3009204131:function(e,t){return new e_.IfcGrid(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7].map((function(e){return new H_(e.value)})),t[8].map((function(e){return new H_(e.value)})),t[9]?t[9].map((function(e){return new H_(e.value)})):null,t[10])},2706460486:function(e,t){return new e_.IfcGroup(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null)},1251058090:function(e,t){return new e_.IfcHeatExchangerType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null,t[9])},1806887404:function(e,t){return new e_.IfcHumidifierType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null,t[9])},2571569899:function(e,t){return new e_.IfcIndexedPolyCurve(e,new H_(t[0].value),t[1]?t[1].map((function(e){return K_(2,e)})):null,t[2]?new e_.IfcBoolean(t[2].value):null)},3946677679:function(e,t){return new e_.IfcInterceptorType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null,t[9])},3113134337:function(e,t){return new e_.IfcIntersectionCurve(e,new H_(t[0].value),t[1].map((function(e){return new H_(e.value)})),t[2])},2391368822:function(e,t){return new e_.IfcInventory(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5],t[6]?new H_(t[6].value):null,t[7]?t[7].map((function(e){return new H_(e.value)})):null,t[8]?new e_.IfcDate(t[8].value):null,t[9]?new H_(t[9].value):null,t[10]?new H_(t[10].value):null)},4288270099:function(e,t){return new e_.IfcJunctionBoxType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null,t[9])},3827777499:function(e,t){return new e_.IfcLaborResource(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new e_.IfcIdentifier(t[5].value):null,t[6]?new e_.IfcText(t[6].value):null,t[7]?new H_(t[7].value):null,t[8]?t[8].map((function(e){return new H_(e.value)})):null,t[9]?new H_(t[9].value):null,t[10])},1051575348:function(e,t){return new e_.IfcLampType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null,t[9])},1161773419:function(e,t){return new e_.IfcLightFixtureType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null,t[9])},377706215:function(e,t){return new e_.IfcMechanicalFastener(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null,t[8]?new e_.IfcPositiveLengthMeasure(t[8].value):null,t[9]?new e_.IfcPositiveLengthMeasure(t[9].value):null,t[10])},2108223431:function(e,t){return new e_.IfcMechanicalFastenerType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null,t[9],t[10]?new e_.IfcPositiveLengthMeasure(t[10].value):null,t[11]?new e_.IfcPositiveLengthMeasure(t[11].value):null)},1114901282:function(e,t){return new e_.IfcMedicalDeviceType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null,t[9])},3181161470:function(e,t){return new e_.IfcMemberType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null,t[9])},977012517:function(e,t){return new e_.IfcMotorConnectionType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null,t[9])},4143007308:function(e,t){return new e_.IfcOccupant(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,new H_(t[5].value),t[6])},3588315303:function(e,t){return new e_.IfcOpeningElement(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null,t[8])},3079942009:function(e,t){return new e_.IfcOpeningStandardCase(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null,t[8])},2837617999:function(e,t){return new e_.IfcOutletType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null,t[9])},2382730787:function(e,t){return new e_.IfcPerformanceHistory(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new e_.IfcIdentifier(t[5].value):null,new e_.IfcLabel(t[6].value),t[7])},3566463478:function(e,t){return new e_.IfcPermeableCoveringProperties(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4],t[5],t[6]?new e_.IfcPositiveLengthMeasure(t[6].value):null,t[7]?new e_.IfcPositiveLengthMeasure(t[7].value):null,t[8]?new H_(t[8].value):null)},3327091369:function(e,t){return new e_.IfcPermit(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new e_.IfcIdentifier(t[5].value):null,t[6],t[7]?new e_.IfcLabel(t[7].value):null,t[8]?new e_.IfcText(t[8].value):null)},1158309216:function(e,t){return new e_.IfcPileType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null,t[9])},804291784:function(e,t){return new e_.IfcPipeFittingType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null,t[9])},4231323485:function(e,t){return new e_.IfcPipeSegmentType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null,t[9])},4017108033:function(e,t){return new e_.IfcPlateType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null,t[9])},2839578677:function(e,t){return new e_.IfcPolygonalFaceSet(e,new H_(t[0].value),t[1]?new e_.IfcBoolean(t[1].value):null,t[2].map((function(e){return new H_(e.value)})),t[3]?t[3].map((function(e){return new e_.IfcPositiveInteger(e.value)})):null)},3724593414:function(e,t){return new e_.IfcPolyline(e,t[0].map((function(e){return new H_(e.value)})))},3740093272:function(e,t){return new e_.IfcPort(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null)},2744685151:function(e,t){return new e_.IfcProcedure(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new e_.IfcIdentifier(t[5].value):null,t[6]?new e_.IfcText(t[6].value):null,t[7])},2904328755:function(e,t){return new e_.IfcProjectOrder(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new e_.IfcIdentifier(t[5].value):null,t[6],t[7]?new e_.IfcLabel(t[7].value):null,t[8]?new e_.IfcText(t[8].value):null)},3651124850:function(e,t){return new e_.IfcProjectionElement(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null,t[8])},1842657554:function(e,t){return new e_.IfcProtectiveDeviceType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null,t[9])},2250791053:function(e,t){return new e_.IfcPumpType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null,t[9])},2893384427:function(e,t){return new e_.IfcRailingType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null,t[9])},2324767716:function(e,t){return new e_.IfcRampFlightType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null,t[9])},1469900589:function(e,t){return new e_.IfcRampType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null,t[9])},683857671:function(e,t){return new e_.IfcRationalBSplineSurfaceWithKnots(e,new e_.IfcInteger(t[0].value),new e_.IfcInteger(t[1].value),t[2].map((function(e){return new H_(e.value)})),t[3],new e_.IfcLogical(t[4].value),new e_.IfcLogical(t[5].value),new e_.IfcLogical(t[6].value),t[7].map((function(e){return new e_.IfcInteger(e.value)})),t[8].map((function(e){return new e_.IfcInteger(e.value)})),t[9].map((function(e){return new e_.IfcParameterValue(e.value)})),t[10].map((function(e){return new e_.IfcParameterValue(e.value)})),t[11],t[12].map((function(e){return new e_.IfcReal(e.value)})))},3027567501:function(e,t){return new e_.IfcReinforcingElement(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null)},964333572:function(e,t){return new e_.IfcReinforcingElementType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null)},2320036040:function(e,t){return new e_.IfcReinforcingMesh(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null,t[9]?new e_.IfcPositiveLengthMeasure(t[9].value):null,t[10]?new e_.IfcPositiveLengthMeasure(t[10].value):null,t[11]?new e_.IfcPositiveLengthMeasure(t[11].value):null,t[12]?new e_.IfcPositiveLengthMeasure(t[12].value):null,t[13]?new e_.IfcAreaMeasure(t[13].value):null,t[14]?new e_.IfcAreaMeasure(t[14].value):null,t[15]?new e_.IfcPositiveLengthMeasure(t[15].value):null,t[16]?new e_.IfcPositiveLengthMeasure(t[16].value):null,t[17])},2310774935:function(e,t){return new e_.IfcReinforcingMeshType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null,t[9],t[10]?new e_.IfcPositiveLengthMeasure(t[10].value):null,t[11]?new e_.IfcPositiveLengthMeasure(t[11].value):null,t[12]?new e_.IfcPositiveLengthMeasure(t[12].value):null,t[13]?new e_.IfcPositiveLengthMeasure(t[13].value):null,t[14]?new e_.IfcAreaMeasure(t[14].value):null,t[15]?new e_.IfcAreaMeasure(t[15].value):null,t[16]?new e_.IfcPositiveLengthMeasure(t[16].value):null,t[17]?new e_.IfcPositiveLengthMeasure(t[17].value):null,t[18]?new e_.IfcLabel(t[18].value):null,t[19]?t[19].map((function(e){return K_(2,e)})):null)},160246688:function(e,t){return new e_.IfcRelAggregates(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,new H_(t[4].value),t[5].map((function(e){return new H_(e.value)})))},2781568857:function(e,t){return new e_.IfcRoofType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null,t[9])},1768891740:function(e,t){return new e_.IfcSanitaryTerminalType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null,t[9])},2157484638:function(e,t){return new e_.IfcSeamCurve(e,new H_(t[0].value),t[1].map((function(e){return new H_(e.value)})),t[2])},4074543187:function(e,t){return new e_.IfcShadingDeviceType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null,t[9])},4097777520:function(e,t){return new e_.IfcSite(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8],t[9]?new e_.IfcCompoundPlaneAngleMeasure(t[9]):null,t[10]?new e_.IfcCompoundPlaneAngleMeasure(t[10]):null,t[11]?new e_.IfcLengthMeasure(t[11].value):null,t[12]?new e_.IfcLabel(t[12].value):null,t[13]?new H_(t[13].value):null)},2533589738:function(e,t){return new e_.IfcSlabType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null,t[9])},1072016465:function(e,t){return new e_.IfcSolarDeviceType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null,t[9])},3856911033:function(e,t){return new e_.IfcSpace(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8],t[9],t[10]?new e_.IfcLengthMeasure(t[10].value):null)},1305183839:function(e,t){return new e_.IfcSpaceHeaterType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null,t[9])},3812236995:function(e,t){return new e_.IfcSpaceType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null,t[9],t[10]?new e_.IfcLabel(t[10].value):null)},3112655638:function(e,t){return new e_.IfcStackTerminalType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null,t[9])},1039846685:function(e,t){return new e_.IfcStairFlightType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null,t[9])},338393293:function(e,t){return new e_.IfcStairType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null,t[9])},682877961:function(e,t){return new e_.IfcStructuralAction(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,new H_(t[7].value),t[8],t[9]?new e_.IfcBoolean(t[9].value):null)},1179482911:function(e,t){return new e_.IfcStructuralConnection(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new H_(t[7].value):null)},1004757350:function(e,t){return new e_.IfcStructuralCurveAction(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,new H_(t[7].value),t[8],t[9]?new e_.IfcBoolean(t[9].value):null,t[10],t[11])},4243806635:function(e,t){return new e_.IfcStructuralCurveConnection(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new H_(t[7].value):null,new H_(t[8].value))},214636428:function(e,t){return new e_.IfcStructuralCurveMember(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7],new H_(t[8].value))},2445595289:function(e,t){return new e_.IfcStructuralCurveMemberVarying(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7],new H_(t[8].value))},2757150158:function(e,t){return new e_.IfcStructuralCurveReaction(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,new H_(t[7].value),t[8],t[9])},1807405624:function(e,t){return new e_.IfcStructuralLinearAction(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,new H_(t[7].value),t[8],t[9]?new e_.IfcBoolean(t[9].value):null,t[10],t[11])},1252848954:function(e,t){return new e_.IfcStructuralLoadGroup(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5],t[6],t[7],t[8]?new e_.IfcRatioMeasure(t[8].value):null,t[9]?new e_.IfcLabel(t[9].value):null)},2082059205:function(e,t){return new e_.IfcStructuralPointAction(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,new H_(t[7].value),t[8],t[9]?new e_.IfcBoolean(t[9].value):null)},734778138:function(e,t){return new e_.IfcStructuralPointConnection(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new H_(t[7].value):null,t[8]?new H_(t[8].value):null)},1235345126:function(e,t){return new e_.IfcStructuralPointReaction(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,new H_(t[7].value),t[8])},2986769608:function(e,t){return new e_.IfcStructuralResultGroup(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5],t[6]?new H_(t[6].value):null,new e_.IfcBoolean(t[7].value))},3657597509:function(e,t){return new e_.IfcStructuralSurfaceAction(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,new H_(t[7].value),t[8],t[9]?new e_.IfcBoolean(t[9].value):null,t[10],t[11])},1975003073:function(e,t){return new e_.IfcStructuralSurfaceConnection(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new H_(t[7].value):null)},148013059:function(e,t){return new e_.IfcSubContractResource(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new e_.IfcIdentifier(t[5].value):null,t[6]?new e_.IfcText(t[6].value):null,t[7]?new H_(t[7].value):null,t[8]?t[8].map((function(e){return new H_(e.value)})):null,t[9]?new H_(t[9].value):null,t[10])},3101698114:function(e,t){return new e_.IfcSurfaceFeature(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null,t[8])},2315554128:function(e,t){return new e_.IfcSwitchingDeviceType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null,t[9])},2254336722:function(e,t){return new e_.IfcSystem(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null)},413509423:function(e,t){return new e_.IfcSystemFurnitureElement(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null,t[8])},5716631:function(e,t){return new e_.IfcTankType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null,t[9])},3824725483:function(e,t){return new e_.IfcTendon(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null,t[9],t[10]?new e_.IfcPositiveLengthMeasure(t[10].value):null,t[11]?new e_.IfcAreaMeasure(t[11].value):null,t[12]?new e_.IfcForceMeasure(t[12].value):null,t[13]?new e_.IfcPressureMeasure(t[13].value):null,t[14]?new e_.IfcNormalisedRatioMeasure(t[14].value):null,t[15]?new e_.IfcPositiveLengthMeasure(t[15].value):null,t[16]?new e_.IfcPositiveLengthMeasure(t[16].value):null)},2347447852:function(e,t){return new e_.IfcTendonAnchor(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null,t[9])},3081323446:function(e,t){return new e_.IfcTendonAnchorType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null,t[9])},2415094496:function(e,t){return new e_.IfcTendonType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null,t[9],t[10]?new e_.IfcPositiveLengthMeasure(t[10].value):null,t[11]?new e_.IfcAreaMeasure(t[11].value):null,t[12]?new e_.IfcPositiveLengthMeasure(t[12].value):null)},1692211062:function(e,t){return new e_.IfcTransformerType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null,t[9])},1620046519:function(e,t){return new e_.IfcTransportElement(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null,t[8])},3593883385:function(e,t){return new e_.IfcTrimmedCurve(e,new H_(t[0].value),t[1].map((function(e){return new H_(e.value)})),t[2].map((function(e){return new H_(e.value)})),new e_.IfcBoolean(t[3].value),t[4])},1600972822:function(e,t){return new e_.IfcTubeBundleType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null,t[9])},1911125066:function(e,t){return new e_.IfcUnitaryEquipmentType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null,t[9])},728799441:function(e,t){return new e_.IfcValveType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null,t[9])},2391383451:function(e,t){return new e_.IfcVibrationIsolator(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null,t[8])},3313531582:function(e,t){return new e_.IfcVibrationIsolatorType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null,t[9])},2769231204:function(e,t){return new e_.IfcVirtualElement(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null)},926996030:function(e,t){return new e_.IfcVoidingFeature(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null,t[8])},1898987631:function(e,t){return new e_.IfcWallType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null,t[9])},1133259667:function(e,t){return new e_.IfcWasteTerminalType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null,t[9])},4009809668:function(e,t){return new e_.IfcWindowType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null,t[9],t[10],t[11]?new e_.IfcBoolean(t[11].value):null,t[12]?new e_.IfcLabel(t[12].value):null)},4088093105:function(e,t){return new e_.IfcWorkCalendar(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new e_.IfcIdentifier(t[5].value):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?t[7].map((function(e){return new H_(e.value)})):null,t[8])},1028945134:function(e,t){return new e_.IfcWorkControl(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new e_.IfcIdentifier(t[5].value):null,new e_.IfcDateTime(t[6].value),t[7]?t[7].map((function(e){return new H_(e.value)})):null,t[8]?new e_.IfcLabel(t[8].value):null,t[9]?new e_.IfcDuration(t[9].value):null,t[10]?new e_.IfcDuration(t[10].value):null,new e_.IfcDateTime(t[11].value),t[12]?new e_.IfcDateTime(t[12].value):null)},4218914973:function(e,t){return new e_.IfcWorkPlan(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new e_.IfcIdentifier(t[5].value):null,new e_.IfcDateTime(t[6].value),t[7]?t[7].map((function(e){return new H_(e.value)})):null,t[8]?new e_.IfcLabel(t[8].value):null,t[9]?new e_.IfcDuration(t[9].value):null,t[10]?new e_.IfcDuration(t[10].value):null,new e_.IfcDateTime(t[11].value),t[12]?new e_.IfcDateTime(t[12].value):null,t[13])},3342526732:function(e,t){return new e_.IfcWorkSchedule(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new e_.IfcIdentifier(t[5].value):null,new e_.IfcDateTime(t[6].value),t[7]?t[7].map((function(e){return new H_(e.value)})):null,t[8]?new e_.IfcLabel(t[8].value):null,t[9]?new e_.IfcDuration(t[9].value):null,t[10]?new e_.IfcDuration(t[10].value):null,new e_.IfcDateTime(t[11].value),t[12]?new e_.IfcDateTime(t[12].value):null,t[13])},1033361043:function(e,t){return new e_.IfcZone(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new e_.IfcLabel(t[5].value):null)},3821786052:function(e,t){return new e_.IfcActionRequest(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new e_.IfcIdentifier(t[5].value):null,t[6],t[7]?new e_.IfcLabel(t[7].value):null,t[8]?new e_.IfcText(t[8].value):null)},1411407467:function(e,t){return new e_.IfcAirTerminalBoxType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null,t[9])},3352864051:function(e,t){return new e_.IfcAirTerminalType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null,t[9])},1871374353:function(e,t){return new e_.IfcAirToAirHeatRecoveryType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null,t[9])},3460190687:function(e,t){return new e_.IfcAsset(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new e_.IfcIdentifier(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new H_(t[7].value):null,t[8]?new H_(t[8].value):null,t[9]?new H_(t[9].value):null,t[10]?new H_(t[10].value):null,t[11]?new H_(t[11].value):null,t[12]?new e_.IfcDate(t[12].value):null,t[13]?new H_(t[13].value):null)},1532957894:function(e,t){return new e_.IfcAudioVisualApplianceType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null,t[9])},1967976161:function(e,t){return new e_.IfcBSplineCurve(e,new e_.IfcInteger(t[0].value),t[1].map((function(e){return new H_(e.value)})),t[2],new e_.IfcLogical(t[3].value),new e_.IfcLogical(t[4].value))},2461110595:function(e,t){return new e_.IfcBSplineCurveWithKnots(e,new e_.IfcInteger(t[0].value),t[1].map((function(e){return new H_(e.value)})),t[2],new e_.IfcLogical(t[3].value),new e_.IfcLogical(t[4].value),t[5].map((function(e){return new e_.IfcInteger(e.value)})),t[6].map((function(e){return new e_.IfcParameterValue(e.value)})),t[7])},819618141:function(e,t){return new e_.IfcBeamType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null,t[9])},231477066:function(e,t){return new e_.IfcBoilerType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null,t[9])},1136057603:function(e,t){return new e_.IfcBoundaryCurve(e,t[0].map((function(e){return new H_(e.value)})),new e_.IfcLogical(t[1].value))},3299480353:function(e,t){return new e_.IfcBuildingElement(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null)},2979338954:function(e,t){return new e_.IfcBuildingElementPart(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null,t[8])},39481116:function(e,t){return new e_.IfcBuildingElementPartType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null,t[9])},1095909175:function(e,t){return new e_.IfcBuildingElementProxy(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null,t[8])},1909888760:function(e,t){return new e_.IfcBuildingElementProxyType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null,t[9])},1177604601:function(e,t){return new e_.IfcBuildingSystem(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5],t[6]?new e_.IfcLabel(t[6].value):null)},2188180465:function(e,t){return new e_.IfcBurnerType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null,t[9])},395041908:function(e,t){return new e_.IfcCableCarrierFittingType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null,t[9])},3293546465:function(e,t){return new e_.IfcCableCarrierSegmentType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null,t[9])},2674252688:function(e,t){return new e_.IfcCableFittingType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null,t[9])},1285652485:function(e,t){return new e_.IfcCableSegmentType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null,t[9])},2951183804:function(e,t){return new e_.IfcChillerType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null,t[9])},3296154744:function(e,t){return new e_.IfcChimney(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null,t[8])},2611217952:function(e,t){return new e_.IfcCircle(e,new H_(t[0].value),new e_.IfcPositiveLengthMeasure(t[1].value))},1677625105:function(e,t){return new e_.IfcCivilElement(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null)},2301859152:function(e,t){return new e_.IfcCoilType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null,t[9])},843113511:function(e,t){return new e_.IfcColumn(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null,t[8])},905975707:function(e,t){return new e_.IfcColumnStandardCase(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null,t[8])},400855858:function(e,t){return new e_.IfcCommunicationsApplianceType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null,t[9])},3850581409:function(e,t){return new e_.IfcCompressorType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null,t[9])},2816379211:function(e,t){return new e_.IfcCondenserType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null,t[9])},3898045240:function(e,t){return new e_.IfcConstructionEquipmentResource(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new e_.IfcIdentifier(t[5].value):null,t[6]?new e_.IfcText(t[6].value):null,t[7]?new H_(t[7].value):null,t[8]?t[8].map((function(e){return new H_(e.value)})):null,t[9]?new H_(t[9].value):null,t[10])},1060000209:function(e,t){return new e_.IfcConstructionMaterialResource(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new e_.IfcIdentifier(t[5].value):null,t[6]?new e_.IfcText(t[6].value):null,t[7]?new H_(t[7].value):null,t[8]?t[8].map((function(e){return new H_(e.value)})):null,t[9]?new H_(t[9].value):null,t[10])},488727124:function(e,t){return new e_.IfcConstructionProductResource(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new e_.IfcIdentifier(t[5].value):null,t[6]?new e_.IfcText(t[6].value):null,t[7]?new H_(t[7].value):null,t[8]?t[8].map((function(e){return new H_(e.value)})):null,t[9]?new H_(t[9].value):null,t[10])},335055490:function(e,t){return new e_.IfcCooledBeamType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null,t[9])},2954562838:function(e,t){return new e_.IfcCoolingTowerType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null,t[9])},1973544240:function(e,t){return new e_.IfcCovering(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null,t[8])},3495092785:function(e,t){return new e_.IfcCurtainWall(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null,t[8])},3961806047:function(e,t){return new e_.IfcDamperType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null,t[9])},1335981549:function(e,t){return new e_.IfcDiscreteAccessory(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null,t[8])},2635815018:function(e,t){return new e_.IfcDiscreteAccessoryType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null,t[9])},1599208980:function(e,t){return new e_.IfcDistributionChamberElementType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null,t[9])},2063403501:function(e,t){return new e_.IfcDistributionControlElementType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null)},1945004755:function(e,t){return new e_.IfcDistributionElement(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null)},3040386961:function(e,t){return new e_.IfcDistributionFlowElement(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null)},3041715199:function(e,t){return new e_.IfcDistributionPort(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7],t[8],t[9])},3205830791:function(e,t){return new e_.IfcDistributionSystem(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new e_.IfcLabel(t[5].value):null,t[6])},395920057:function(e,t){return new e_.IfcDoor(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null,t[8]?new e_.IfcPositiveLengthMeasure(t[8].value):null,t[9]?new e_.IfcPositiveLengthMeasure(t[9].value):null,t[10],t[11],t[12]?new e_.IfcLabel(t[12].value):null)},3242481149:function(e,t){return new e_.IfcDoorStandardCase(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null,t[8]?new e_.IfcPositiveLengthMeasure(t[8].value):null,t[9]?new e_.IfcPositiveLengthMeasure(t[9].value):null,t[10],t[11],t[12]?new e_.IfcLabel(t[12].value):null)},869906466:function(e,t){return new e_.IfcDuctFittingType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null,t[9])},3760055223:function(e,t){return new e_.IfcDuctSegmentType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null,t[9])},2030761528:function(e,t){return new e_.IfcDuctSilencerType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null,t[9])},663422040:function(e,t){return new e_.IfcElectricApplianceType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null,t[9])},2417008758:function(e,t){return new e_.IfcElectricDistributionBoardType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null,t[9])},3277789161:function(e,t){return new e_.IfcElectricFlowStorageDeviceType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null,t[9])},1534661035:function(e,t){return new e_.IfcElectricGeneratorType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null,t[9])},1217240411:function(e,t){return new e_.IfcElectricMotorType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null,t[9])},712377611:function(e,t){return new e_.IfcElectricTimeControlType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null,t[9])},1658829314:function(e,t){return new e_.IfcEnergyConversionDevice(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null)},2814081492:function(e,t){return new e_.IfcEngine(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null,t[8])},3747195512:function(e,t){return new e_.IfcEvaporativeCooler(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null,t[8])},484807127:function(e,t){return new e_.IfcEvaporator(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null,t[8])},1209101575:function(e,t){return new e_.IfcExternalSpatialElement(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8])},346874300:function(e,t){return new e_.IfcFanType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null,t[9])},1810631287:function(e,t){return new e_.IfcFilterType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null,t[9])},4222183408:function(e,t){return new e_.IfcFireSuppressionTerminalType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null,t[9])},2058353004:function(e,t){return new e_.IfcFlowController(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null)},4278956645:function(e,t){return new e_.IfcFlowFitting(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null)},4037862832:function(e,t){return new e_.IfcFlowInstrumentType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null,t[9])},2188021234:function(e,t){return new e_.IfcFlowMeter(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null,t[8])},3132237377:function(e,t){return new e_.IfcFlowMovingDevice(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null)},987401354:function(e,t){return new e_.IfcFlowSegment(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null)},707683696:function(e,t){return new e_.IfcFlowStorageDevice(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null)},2223149337:function(e,t){return new e_.IfcFlowTerminal(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null)},3508470533:function(e,t){return new e_.IfcFlowTreatmentDevice(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null)},900683007:function(e,t){return new e_.IfcFooting(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null,t[8])},3319311131:function(e,t){return new e_.IfcHeatExchanger(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null,t[8])},2068733104:function(e,t){return new e_.IfcHumidifier(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null,t[8])},4175244083:function(e,t){return new e_.IfcInterceptor(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null,t[8])},2176052936:function(e,t){return new e_.IfcJunctionBox(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null,t[8])},76236018:function(e,t){return new e_.IfcLamp(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null,t[8])},629592764:function(e,t){return new e_.IfcLightFixture(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null,t[8])},1437502449:function(e,t){return new e_.IfcMedicalDevice(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null,t[8])},1073191201:function(e,t){return new e_.IfcMember(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null,t[8])},1911478936:function(e,t){return new e_.IfcMemberStandardCase(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null,t[8])},2474470126:function(e,t){return new e_.IfcMotorConnection(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null,t[8])},144952367:function(e,t){return new e_.IfcOuterBoundaryCurve(e,t[0].map((function(e){return new H_(e.value)})),new e_.IfcLogical(t[1].value))},3694346114:function(e,t){return new e_.IfcOutlet(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null,t[8])},1687234759:function(e,t){return new e_.IfcPile(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null,t[8],t[9])},310824031:function(e,t){return new e_.IfcPipeFitting(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null,t[8])},3612865200:function(e,t){return new e_.IfcPipeSegment(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null,t[8])},3171933400:function(e,t){return new e_.IfcPlate(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null,t[8])},1156407060:function(e,t){return new e_.IfcPlateStandardCase(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null,t[8])},738039164:function(e,t){return new e_.IfcProtectiveDevice(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null,t[8])},655969474:function(e,t){return new e_.IfcProtectiveDeviceTrippingUnitType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null,t[9])},90941305:function(e,t){return new e_.IfcPump(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null,t[8])},2262370178:function(e,t){return new e_.IfcRailing(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null,t[8])},3024970846:function(e,t){return new e_.IfcRamp(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null,t[8])},3283111854:function(e,t){return new e_.IfcRampFlight(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null,t[8])},1232101972:function(e,t){return new e_.IfcRationalBSplineCurveWithKnots(e,new e_.IfcInteger(t[0].value),t[1].map((function(e){return new H_(e.value)})),t[2],new e_.IfcLogical(t[3].value),new e_.IfcLogical(t[4].value),t[5].map((function(e){return new e_.IfcInteger(e.value)})),t[6].map((function(e){return new e_.IfcParameterValue(e.value)})),t[7],t[8].map((function(e){return new e_.IfcReal(e.value)})))},979691226:function(e,t){return new e_.IfcReinforcingBar(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null,t[9]?new e_.IfcPositiveLengthMeasure(t[9].value):null,t[10]?new e_.IfcAreaMeasure(t[10].value):null,t[11]?new e_.IfcPositiveLengthMeasure(t[11].value):null,t[12],t[13])},2572171363:function(e,t){return new e_.IfcReinforcingBarType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null,t[9],t[10]?new e_.IfcPositiveLengthMeasure(t[10].value):null,t[11]?new e_.IfcAreaMeasure(t[11].value):null,t[12]?new e_.IfcPositiveLengthMeasure(t[12].value):null,t[13],t[14]?new e_.IfcLabel(t[14].value):null,t[15]?t[15].map((function(e){return K_(2,e)})):null)},2016517767:function(e,t){return new e_.IfcRoof(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null,t[8])},3053780830:function(e,t){return new e_.IfcSanitaryTerminal(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null,t[8])},1783015770:function(e,t){return new e_.IfcSensorType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null,t[9])},1329646415:function(e,t){return new e_.IfcShadingDevice(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null,t[8])},1529196076:function(e,t){return new e_.IfcSlab(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null,t[8])},3127900445:function(e,t){return new e_.IfcSlabElementedCase(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null,t[8])},3027962421:function(e,t){return new e_.IfcSlabStandardCase(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null,t[8])},3420628829:function(e,t){return new e_.IfcSolarDevice(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null,t[8])},1999602285:function(e,t){return new e_.IfcSpaceHeater(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null,t[8])},1404847402:function(e,t){return new e_.IfcStackTerminal(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null,t[8])},331165859:function(e,t){return new e_.IfcStair(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null,t[8])},4252922144:function(e,t){return new e_.IfcStairFlight(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null,t[8]?new e_.IfcInteger(t[8].value):null,t[9]?new e_.IfcInteger(t[9].value):null,t[10]?new e_.IfcPositiveLengthMeasure(t[10].value):null,t[11]?new e_.IfcPositiveLengthMeasure(t[11].value):null,t[12])},2515109513:function(e,t){return new e_.IfcStructuralAnalysisModel(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5],t[6]?new H_(t[6].value):null,t[7]?t[7].map((function(e){return new H_(e.value)})):null,t[8]?t[8].map((function(e){return new H_(e.value)})):null,t[9]?new H_(t[9].value):null)},385403989:function(e,t){return new e_.IfcStructuralLoadCase(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5],t[6],t[7],t[8]?new e_.IfcRatioMeasure(t[8].value):null,t[9]?new e_.IfcLabel(t[9].value):null,t[10]?t[10].map((function(e){return new e_.IfcRatioMeasure(e.value)})):null)},1621171031:function(e,t){return new e_.IfcStructuralPlanarAction(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,new H_(t[7].value),t[8],t[9]?new e_.IfcBoolean(t[9].value):null,t[10],t[11])},1162798199:function(e,t){return new e_.IfcSwitchingDevice(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null,t[8])},812556717:function(e,t){return new e_.IfcTank(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null,t[8])},3825984169:function(e,t){return new e_.IfcTransformer(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null,t[8])},3026737570:function(e,t){return new e_.IfcTubeBundle(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null,t[8])},3179687236:function(e,t){return new e_.IfcUnitaryControlElementType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null,t[9])},4292641817:function(e,t){return new e_.IfcUnitaryEquipment(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null,t[8])},4207607924:function(e,t){return new e_.IfcValve(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null,t[8])},2391406946:function(e,t){return new e_.IfcWall(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null,t[8])},4156078855:function(e,t){return new e_.IfcWallElementedCase(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null,t[8])},3512223829:function(e,t){return new e_.IfcWallStandardCase(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null,t[8])},4237592921:function(e,t){return new e_.IfcWasteTerminal(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null,t[8])},3304561284:function(e,t){return new e_.IfcWindow(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null,t[8]?new e_.IfcPositiveLengthMeasure(t[8].value):null,t[9]?new e_.IfcPositiveLengthMeasure(t[9].value):null,t[10],t[11],t[12]?new e_.IfcLabel(t[12].value):null)},486154966:function(e,t){return new e_.IfcWindowStandardCase(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null,t[8]?new e_.IfcPositiveLengthMeasure(t[8].value):null,t[9]?new e_.IfcPositiveLengthMeasure(t[9].value):null,t[10],t[11],t[12]?new e_.IfcLabel(t[12].value):null)},2874132201:function(e,t){return new e_.IfcActuatorType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null,t[9])},1634111441:function(e,t){return new e_.IfcAirTerminal(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null,t[8])},177149247:function(e,t){return new e_.IfcAirTerminalBox(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null,t[8])},2056796094:function(e,t){return new e_.IfcAirToAirHeatRecovery(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null,t[8])},3001207471:function(e,t){return new e_.IfcAlarmType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null,t[9])},277319702:function(e,t){return new e_.IfcAudioVisualAppliance(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null,t[8])},753842376:function(e,t){return new e_.IfcBeam(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null,t[8])},2906023776:function(e,t){return new e_.IfcBeamStandardCase(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null,t[8])},32344328:function(e,t){return new e_.IfcBoiler(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null,t[8])},2938176219:function(e,t){return new e_.IfcBurner(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null,t[8])},635142910:function(e,t){return new e_.IfcCableCarrierFitting(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null,t[8])},3758799889:function(e,t){return new e_.IfcCableCarrierSegment(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null,t[8])},1051757585:function(e,t){return new e_.IfcCableFitting(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null,t[8])},4217484030:function(e,t){return new e_.IfcCableSegment(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null,t[8])},3902619387:function(e,t){return new e_.IfcChiller(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null,t[8])},639361253:function(e,t){return new e_.IfcCoil(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null,t[8])},3221913625:function(e,t){return new e_.IfcCommunicationsAppliance(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null,t[8])},3571504051:function(e,t){return new e_.IfcCompressor(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null,t[8])},2272882330:function(e,t){return new e_.IfcCondenser(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null,t[8])},578613899:function(e,t){return new e_.IfcControllerType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null,t[9])},4136498852:function(e,t){return new e_.IfcCooledBeam(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null,t[8])},3640358203:function(e,t){return new e_.IfcCoolingTower(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null,t[8])},4074379575:function(e,t){return new e_.IfcDamper(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null,t[8])},1052013943:function(e,t){return new e_.IfcDistributionChamberElement(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null,t[8])},562808652:function(e,t){return new e_.IfcDistributionCircuit(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new e_.IfcLabel(t[5].value):null,t[6])},1062813311:function(e,t){return new e_.IfcDistributionControlElement(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null)},342316401:function(e,t){return new e_.IfcDuctFitting(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null,t[8])},3518393246:function(e,t){return new e_.IfcDuctSegment(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null,t[8])},1360408905:function(e,t){return new e_.IfcDuctSilencer(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null,t[8])},1904799276:function(e,t){return new e_.IfcElectricAppliance(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null,t[8])},862014818:function(e,t){return new e_.IfcElectricDistributionBoard(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null,t[8])},3310460725:function(e,t){return new e_.IfcElectricFlowStorageDevice(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null,t[8])},264262732:function(e,t){return new e_.IfcElectricGenerator(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null,t[8])},402227799:function(e,t){return new e_.IfcElectricMotor(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null,t[8])},1003880860:function(e,t){return new e_.IfcElectricTimeControl(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null,t[8])},3415622556:function(e,t){return new e_.IfcFan(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null,t[8])},819412036:function(e,t){return new e_.IfcFilter(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null,t[8])},1426591983:function(e,t){return new e_.IfcFireSuppressionTerminal(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null,t[8])},182646315:function(e,t){return new e_.IfcFlowInstrument(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null,t[8])},2295281155:function(e,t){return new e_.IfcProtectiveDeviceTrippingUnit(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null,t[8])},4086658281:function(e,t){return new e_.IfcSensor(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null,t[8])},630975310:function(e,t){return new e_.IfcUnitaryControlElement(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null,t[8])},4288193352:function(e,t){return new e_.IfcActuator(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null,t[8])},3087945054:function(e,t){return new e_.IfcAlarm(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null,t[8])},25142252:function(e,t){return new e_.IfcController(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null,t[8])}},j_[2]={618182010:[912023232,3355820592],411424972:[602808272],4037036970:[2069777674,1387855156,3367102660,1560379544],1387855156:[2069777674],2859738748:[1981873012,775493141,2732653382,45288368,2614616156],2614616156:[45288368],1959218052:[2251480897,3368373690],1785450214:[3057273783],1466758467:[3843373140],4294318154:[1154170062,747523909,2655187982],3200245327:[3732053477,647927063,3452421091,3548104201,1040185647,2242383968],760658860:[2852063980,3708119e3,1838606355,164193824,552965576,2235152071,3303938423,1847252529,248100487],248100487:[1847252529],2235152071:[552965576],1507914824:[3404854881,3079605661,1303795690],1918398963:[2713554722,2889183280,3050246964,448429030],3701648758:[2624227202,178086475],2483315170:[3021840470,825690147,2405470396,3252649465,931644368,2093928680,2044713172,2226359599],2226359599:[825690147,2405470396,3252649465,931644368,2093928680,2044713172],677532197:[4006246654,2559016684,445594917,759155922,1983826977,1775413392,3727388367,3570813810,3510044353,2367409068,1105321065,776857604,3264961684,3285139300,3611470254,1210645708,2133299955,1437953363,2552916305,1742049831,280115917,1640371178,2636378356,597895409,3905492369,616511568,626085974,1351298697,1878645084,846575682,1607154358,3303107099],2022622350:[1304840413],3119450353:[738692330,3800577675,1447204868,1300840506],2095639259:[673634403,2022407955],3958567839:[572779678,1484403080,2835456948,2937912522,1383045692,2898889636,3207858831,2543172580,427810014,2715220739,3071757647,2770003689,2778083089,3615266464,2529465313,2998442950,3632507154,1485152156,3150382593,1310608509,2705031697,3798115385],986844984:[2542286263,110355661,3650150729,941946838,2752243245,4166981789,871118103,3692461612,2598011224,4165799628,2042790032,1580146022,3778827333,2802850158,3265635763,297599258,3710013099],1076942058:[3049322572,2830218821,1735638870,4240577450,3982875396],3377609919:[4142052618,3448662350],3008791417:[2347385850,315944413,374418227,2047409740,32440307,2611217952,1704287377,2510884976,1232101972,2461110595,1967976161,3593883385,3724593414,2571569899,144952367,1136057603,15328376,3732776249,1260505505,2157484638,3113134337,699246055,1682466193,3505215534,3388369263,F_,2601014836,1334484129,451544542,3626867408,4158566097,2798486643,2506170314,816062949,2485617015,1416205885,3331915920,3486308946,3749851601,59481748,2059837836,1675464909,574549367,2581212453,3649129432,2736907675,669184980,1417489154,3124975700,4282788508,2839578677,2916149573,2387106220,2294589976,178912537,901063453,1213902940,1935646853,4015995234,220341763,2777663545,683857671,167062518,2887950389,3454111270,2629017746,2827736869,4182860854,4124788165,2809605785,230924584,2513912981,3737207727,807026263,2603310189,1635779807,1425443689,2147822146,1096409881,1260650574,2028607225,3243963512,1856042241,2652556860,2804161546,477187591,2247615214,723233188,4124623270,1509187699,1123145078,1423911732,4022376103,2067069095,603570806,1663979128,2740243338,3125803723,4261334040,2004835150,3422422726,1520743889,4266656042,2604431987,125510826,1402838566,2713105998,2775532180,812098782,987898635,3590301190,2453401579,2519244187,1472233963,2759199220,2924175390,1008929658,803316827,1809719519,3406155212,3008276851,2556980723,2233826070,1029017970,476780140,3900360178,2205249479,2665983363,370225590,1907098498,2799835756,1377556343,3958052878],2439245199:[1608871552,2943643501,148025276,1411181986,853536259,1437805879,770865208,539742890,3869604511],2341007311:[781010003,307848117,4186316022,1462361463,693640335,160246688,1401173127,750771296,3268803585,2551354335,2565941209,1521410863,3523091289,3451746338,366585022,4122056220,1245217292,427948657,279856033,3940055652,2802773753,886880790,3242617779,504942748,1638771189,2127690289,3190031847,4201705270,3678494232,3945020480,1204542856,826625072,2655215786,3840914261,982818633,2728634034,919958153,4095574036,1865459582,205026976,2857406711,4278684876,1027710054,1307041759,2495723537,1683148259,3939117080,478536968,3875453745,3663146110,3521284610,492091185,1482703590,1451395588,3566463478,1714330368,2963535650,512836454,336235671,3765753017,3967405729,1883228015,2090586900,3357820518,1680319473,B_,2515109513,562808652,3205830791,1177604601,O_,2254336722,2986769608,385403989,1252848954,2391368822,2706460486,3821786052,3342526732,4218914973,1028945134,4088093105,2904328755,3327091369,2382730787,1419761937,3895139033,3293443760,4143007308,2296667514,488727124,1060000209,3898045240,148013059,3827777499,3295246426,2559216714,2914609552,3041715199,L_,M_,25142252,h_,4288193352,630975310,4086658281,2295281155,182646315,1062813311,1052013943,819412036,1360408905,4175244083,3508470533,1426591983,1904799276,3221913625,277319702,1634111441,4237592921,1404847402,1999602285,3053780830,3694346114,1437502449,629592764,76236018,2223149337,3310460725,w_,707683696,3518393246,4217484030,3758799889,3612865200,987401354,I_,3571504051,90941305,3132237377,342316401,1051757585,635142910,310824031,2176052936,4278956645,1003880860,862014818,4074379575,177149247,m_,1162798199,738039164,2188021234,2058353004,402227799,264262732,3640358203,4136498852,2272882330,y_,3902619387,2938176219,32344328,2056796094,4292641817,3026737570,3825984169,3420628829,2474470126,2068733104,3319311131,484807127,3747195512,2814081492,1658829314,3040386961,1945004755,1677625105,2906023776,g_,486154966,3304561284,3512223829,4156078855,E_,4252922144,331165859,3027962421,3127900445,b_,1329646415,D_,3283111854,P_,2262370178,1156407060,R_,C_,1911478936,1073191201,900683007,3242481149,__,3495092785,1973544240,905975707,843113511,3296154744,1095909175,3299480353,2769231204,1620046519,3493046030,413509423,1509553395,263784265,3101698114,926996030,3079942009,3588315303,1287392070,3651124850,2143335405,2827207264,1335981549,2979338954,2391383451,979691226,2347447852,T_,2320036040,3027567501,377706215,647756555,1623761950,4123344466,1758889154,1674181508,1975003073,734778138,4243806635,1179482911,2445595289,214636428,2218152070,3979015343,530289379,3136571912,1621171031,3657597509,2082059205,1807405624,1004757350,682877961,1235345126,2757150158,603775116,3689010777,3544373492,1209101575,2853485674,463610769,S_,N_,3124254112,4031249490,2706606064,1412071761,3219374653,4208778838,2744685151,4148101412,x_,2945172077,3888040117,653396225,103090709,3419103109,1525564444,4105962743,2185764099,4095615324,428585644,1815067380,2574617495,3698973494,2481509218,3812236995,3893378262,710998568,2635815018,39481116,3313531582,2572171363,2415094496,3081323446,2310774935,964333572,2108223431,2489546625,2590856083,2397081782,578613899,3001207471,2874132201,3179687236,1783015770,655969474,4037862832,2063403501,1599208980,1810631287,2030761528,3946677679,3009222698,4222183408,663422040,400855858,1532957894,3352864051,1133259667,3112655638,1305183839,1768891740,2837617999,1114901282,1161773419,1051575348,2297155007,3277789161,5716631,1339347760,3760055223,1285652485,3293546465,4231323485,1834744321,346874300,3850581409,2250791053,1482959167,869906466,2674252688,395041908,804291784,4288270099,3198132628,712377611,2417008758,3961806047,1411407467,728799441,2315554128,1842657554,3815607619,3907093117,1217240411,1534661035,2954562838,335055490,2816379211,2301859152,2951183804,2188180465,231477066,1871374353,1911125066,1600972822,1692211062,1072016465,977012517,1806887404,1251058090,3390157468,3174744832,132023988,2107101300,3849074793,3256556792,3893394355,1909888760,819618141,4009809668,1898987631,338393293,1039846685,2533589738,4074543187,2781568857,1469900589,2324767716,2893384427,4017108033,1158309216,3181161470,1893162501,2323601079,1457835157,1916426348,300633059,2197970202,1950629157,2097647324,4095422895,1580310250,1268542332,4238390223,339256511,526551008,1299126871,2347495698,3206491090,569719735,4024345920,3736923433,1628702193,219451334],1054537805:[1042787934,1585845231,211053100,1236880293,2771591690,1549132990],3982875396:[1735638870,4240577450],2273995522:[2609359061,4219587988],2162789131:[2934153892,1190533807,1597423693,1973038258,2473145415,2668620305,1595516126,3408363356,2525727697,609421318,3478079324],609421318:[2934153892,1190533807,1597423693,1973038258,2473145415,2668620305,1595516126,3408363356,2525727697],2525727697:[1190533807,1597423693,1973038258,2473145415,2668620305,1595516126,3408363356],2830218821:[3049322572],846575682:[1878645084],626085974:[597895409,3905492369,616511568],1549132990:[2771591690],280115917:[2133299955,1437953363,2552916305,1742049831],3101149627:[3413951693,3741457305],1377556343:[2519244187,1472233963,2759199220,2924175390,1008929658,803316827,1809719519,3406155212,3008276851,2556980723,2233826070,1029017970,476780140,3900360178,2205249479,2665983363,370225590,1907098498,2799835756],2799835756:[1907098498],3798115385:[2705031697],1310608509:[3150382593],3264961684:[776857604],370225590:[2205249479,2665983363],2889183280:[2713554722],3632507154:[2998442950],3900360178:[2233826070,1029017970,476780140],297599258:[2802850158,3265635763],2556980723:[3406155212,3008276851],1809719519:[803316827],3008276851:[3406155212],3448662350:[4142052618],2453401579:[315944413,374418227,2047409740,32440307,2611217952,1704287377,2510884976,1232101972,2461110595,1967976161,3593883385,3724593414,2571569899,144952367,1136057603,15328376,3732776249,1260505505,2157484638,3113134337,699246055,1682466193,3505215534,3388369263,F_,2601014836,1334484129,451544542,3626867408,4158566097,2798486643,2506170314,816062949,2485617015,1416205885,3331915920,3486308946,3749851601,59481748,2059837836,1675464909,574549367,2581212453,3649129432,2736907675,669184980,1417489154,3124975700,4282788508,2839578677,2916149573,2387106220,2294589976,178912537,901063453,1213902940,1935646853,4015995234,220341763,2777663545,683857671,167062518,2887950389,3454111270,2629017746,2827736869,4182860854,4124788165,2809605785,230924584,2513912981,3737207727,807026263,2603310189,1635779807,1425443689,2147822146,1096409881,1260650574,2028607225,3243963512,1856042241,2652556860,2804161546,477187591,2247615214,723233188,4124623270,1509187699,1123145078,1423911732,4022376103,2067069095,603570806,1663979128,2740243338,3125803723,4261334040,2004835150,3422422726,1520743889,4266656042,2604431987,125510826,1402838566,2713105998,2775532180,812098782,987898635,3590301190],3590301190:[987898635],812098782:[2713105998,2775532180],1437953363:[2133299955],1402838566:[3422422726,1520743889,4266656042,2604431987,125510826],1520743889:[3422422726],1008929658:[1472233963,2759199220,2924175390],3079605661:[3404854881],219451334:[B_,2515109513,562808652,3205830791,1177604601,O_,2254336722,2986769608,385403989,1252848954,2391368822,2706460486,3821786052,3342526732,4218914973,1028945134,4088093105,2904328755,3327091369,2382730787,1419761937,3895139033,3293443760,4143007308,2296667514,488727124,1060000209,3898045240,148013059,3827777499,3295246426,2559216714,2914609552,3041715199,L_,M_,25142252,h_,4288193352,630975310,4086658281,2295281155,182646315,1062813311,1052013943,819412036,1360408905,4175244083,3508470533,1426591983,1904799276,3221913625,277319702,1634111441,4237592921,1404847402,1999602285,3053780830,3694346114,1437502449,629592764,76236018,2223149337,3310460725,w_,707683696,3518393246,4217484030,3758799889,3612865200,987401354,I_,3571504051,90941305,3132237377,342316401,1051757585,635142910,310824031,2176052936,4278956645,1003880860,862014818,4074379575,177149247,m_,1162798199,738039164,2188021234,2058353004,402227799,264262732,3640358203,4136498852,2272882330,y_,3902619387,2938176219,32344328,2056796094,4292641817,3026737570,3825984169,3420628829,2474470126,2068733104,3319311131,484807127,3747195512,2814081492,1658829314,3040386961,1945004755,1677625105,2906023776,g_,486154966,3304561284,3512223829,4156078855,E_,4252922144,331165859,3027962421,3127900445,b_,1329646415,D_,3283111854,P_,2262370178,1156407060,R_,C_,1911478936,1073191201,900683007,3242481149,__,3495092785,1973544240,905975707,843113511,3296154744,1095909175,3299480353,2769231204,1620046519,3493046030,413509423,1509553395,263784265,3101698114,926996030,3079942009,3588315303,1287392070,3651124850,2143335405,2827207264,1335981549,2979338954,2391383451,979691226,2347447852,T_,2320036040,3027567501,377706215,647756555,1623761950,4123344466,1758889154,1674181508,1975003073,734778138,4243806635,1179482911,2445595289,214636428,2218152070,3979015343,530289379,3136571912,1621171031,3657597509,2082059205,1807405624,1004757350,682877961,1235345126,2757150158,603775116,3689010777,3544373492,1209101575,2853485674,463610769,S_,N_,3124254112,4031249490,2706606064,1412071761,3219374653,4208778838,2744685151,4148101412,x_,2945172077,3888040117,653396225,103090709,3419103109,1525564444,4105962743,2185764099,4095615324,428585644,1815067380,2574617495,3698973494,2481509218,3812236995,3893378262,710998568,2635815018,39481116,3313531582,2572171363,2415094496,3081323446,2310774935,964333572,2108223431,2489546625,2590856083,2397081782,578613899,3001207471,2874132201,3179687236,1783015770,655969474,4037862832,2063403501,1599208980,1810631287,2030761528,3946677679,3009222698,4222183408,663422040,400855858,1532957894,3352864051,1133259667,3112655638,1305183839,1768891740,2837617999,1114901282,1161773419,1051575348,2297155007,3277789161,5716631,1339347760,3760055223,1285652485,3293546465,4231323485,1834744321,346874300,3850581409,2250791053,1482959167,869906466,2674252688,395041908,804291784,4288270099,3198132628,712377611,2417008758,3961806047,1411407467,728799441,2315554128,1842657554,3815607619,3907093117,1217240411,1534661035,2954562838,335055490,2816379211,2301859152,2951183804,2188180465,231477066,1871374353,1911125066,1600972822,1692211062,1072016465,977012517,1806887404,1251058090,3390157468,3174744832,132023988,2107101300,3849074793,3256556792,3893394355,1909888760,819618141,4009809668,1898987631,338393293,1039846685,2533589738,4074543187,2781568857,1469900589,2324767716,2893384427,4017108033,1158309216,3181161470,1893162501,2323601079,1457835157,1916426348,300633059,2197970202,1950629157,2097647324,4095422895,1580310250,1268542332,4238390223,339256511,526551008,1299126871,2347495698,3206491090,569719735,4024345920,3736923433,1628702193],2529465313:[572779678,1484403080,2835456948,2937912522,1383045692,2898889636,3207858831,2543172580,427810014,2715220739,3071757647,2770003689,2778083089,3615266464],2004835150:[2740243338,3125803723,4261334040],1663979128:[603570806],2067069095:[1123145078,1423911732,4022376103],3727388367:[4006246654,2559016684,445594917,759155922,1983826977,1775413392],3778827333:[4165799628,2042790032,1580146022],1775413392:[1983826977],2598011224:[2542286263,110355661,3650150729,941946838,2752243245,4166981789,871118103,3692461612],1680319473:[3875453745,3663146110,3521284610,492091185,1482703590,1451395588,3566463478,1714330368,2963535650,512836454,336235671,3765753017,3967405729,1883228015,2090586900,3357820518],3357820518:[1451395588,3566463478,1714330368,2963535650,512836454,336235671,3765753017,3967405729,1883228015,2090586900],1482703590:[3875453745,3663146110,3521284610,492091185],2090586900:[1883228015],3615266464:[2770003689,2778083089],478536968:[781010003,307848117,4186316022,1462361463,693640335,160246688,1401173127,750771296,3268803585,2551354335,2565941209,1521410863,3523091289,3451746338,366585022,4122056220,1245217292,427948657,279856033,3940055652,2802773753,886880790,3242617779,504942748,1638771189,2127690289,3190031847,4201705270,3678494232,3945020480,1204542856,826625072,2655215786,3840914261,982818633,2728634034,919958153,4095574036,1865459582,205026976,2857406711,4278684876,1027710054,1307041759,2495723537,1683148259,3939117080],3692461612:[110355661,3650150729,941946838,2752243245,4166981789,871118103],723233188:[3737207727,807026263,2603310189,1635779807,1425443689,2147822146,1096409881,1260650574,2028607225,3243963512,1856042241,2652556860,2804161546,477187591,2247615214],2473145415:[1973038258],1597423693:[1190533807],2513912981:[1213902940,1935646853,4015995234,220341763,2777663545,683857671,167062518,2887950389,3454111270,2629017746,2827736869,4182860854,4124788165,2809605785,230924584],2247615214:[2028607225,3243963512,1856042241,2652556860,2804161546,477187591],1260650574:[1096409881],230924584:[4124788165,2809605785],901063453:[2839578677,2916149573,2387106220,2294589976,178912537],4282788508:[3124975700],1628702193:[1525564444,4105962743,2185764099,4095615324,428585644,1815067380,2574617495,3698973494,2481509218,3812236995,3893378262,710998568,2635815018,39481116,3313531582,2572171363,2415094496,3081323446,2310774935,964333572,2108223431,2489546625,2590856083,2397081782,578613899,3001207471,2874132201,3179687236,1783015770,655969474,4037862832,2063403501,1599208980,1810631287,2030761528,3946677679,3009222698,4222183408,663422040,400855858,1532957894,3352864051,1133259667,3112655638,1305183839,1768891740,2837617999,1114901282,1161773419,1051575348,2297155007,3277789161,5716631,1339347760,3760055223,1285652485,3293546465,4231323485,1834744321,346874300,3850581409,2250791053,1482959167,869906466,2674252688,395041908,804291784,4288270099,3198132628,712377611,2417008758,3961806047,1411407467,728799441,2315554128,1842657554,3815607619,3907093117,1217240411,1534661035,2954562838,335055490,2816379211,2301859152,2951183804,2188180465,231477066,1871374353,1911125066,1600972822,1692211062,1072016465,977012517,1806887404,1251058090,3390157468,3174744832,132023988,2107101300,3849074793,3256556792,3893394355,1909888760,819618141,4009809668,1898987631,338393293,1039846685,2533589738,4074543187,2781568857,1469900589,2324767716,2893384427,4017108033,1158309216,3181161470,1893162501,2323601079,1457835157,1916426348,300633059,2197970202,1950629157,2097647324,4095422895,1580310250,1268542332,4238390223,339256511,526551008,1299126871,2347495698,3206491090,569719735,4024345920,3736923433],3736923433:[3206491090,569719735,4024345920],2347495698:[2481509218,3812236995,3893378262,710998568,2635815018,39481116,3313531582,2572171363,2415094496,3081323446,2310774935,964333572,2108223431,2489546625,2590856083,2397081782,578613899,3001207471,2874132201,3179687236,1783015770,655969474,4037862832,2063403501,1599208980,1810631287,2030761528,3946677679,3009222698,4222183408,663422040,400855858,1532957894,3352864051,1133259667,3112655638,1305183839,1768891740,2837617999,1114901282,1161773419,1051575348,2297155007,3277789161,5716631,1339347760,3760055223,1285652485,3293546465,4231323485,1834744321,346874300,3850581409,2250791053,1482959167,869906466,2674252688,395041908,804291784,4288270099,3198132628,712377611,2417008758,3961806047,1411407467,728799441,2315554128,1842657554,3815607619,3907093117,1217240411,1534661035,2954562838,335055490,2816379211,2301859152,2951183804,2188180465,231477066,1871374353,1911125066,1600972822,1692211062,1072016465,977012517,1806887404,1251058090,3390157468,3174744832,132023988,2107101300,3849074793,3256556792,3893394355,1909888760,819618141,4009809668,1898987631,338393293,1039846685,2533589738,4074543187,2781568857,1469900589,2324767716,2893384427,4017108033,1158309216,3181161470,1893162501,2323601079,1457835157,1916426348,300633059,2197970202,1950629157,2097647324,4095422895,1580310250,1268542332,4238390223,339256511,526551008,1299126871],3698973494:[1525564444,4105962743,2185764099,4095615324,428585644,1815067380,2574617495],2736907675:[3649129432],4182860854:[683857671,167062518,2887950389,3454111270,2629017746,2827736869],574549367:[2059837836,1675464909],59481748:[1416205885,3331915920,3486308946,3749851601],3749851601:[3486308946],3331915920:[1416205885],1383045692:[2937912522],2485617015:[816062949],2574617495:[1525564444,4105962743,2185764099,4095615324,428585644,1815067380],3419103109:[653396225,103090709],2506170314:[1334484129,451544542,3626867408,4158566097,2798486643],2601014836:[2611217952,1704287377,2510884976,1232101972,2461110595,1967976161,3593883385,3724593414,2571569899,144952367,1136057603,15328376,3732776249,1260505505,2157484638,3113134337,699246055,1682466193,3505215534,3388369263,F_],339256511:[2635815018,39481116,3313531582,2572171363,2415094496,3081323446,2310774935,964333572,2108223431,2489546625,2590856083,2397081782,578613899,3001207471,2874132201,3179687236,1783015770,655969474,4037862832,2063403501,1599208980,1810631287,2030761528,3946677679,3009222698,4222183408,663422040,400855858,1532957894,3352864051,1133259667,3112655638,1305183839,1768891740,2837617999,1114901282,1161773419,1051575348,2297155007,3277789161,5716631,1339347760,3760055223,1285652485,3293546465,4231323485,1834744321,346874300,3850581409,2250791053,1482959167,869906466,2674252688,395041908,804291784,4288270099,3198132628,712377611,2417008758,3961806047,1411407467,728799441,2315554128,1842657554,3815607619,3907093117,1217240411,1534661035,2954562838,335055490,2816379211,2301859152,2951183804,2188180465,231477066,1871374353,1911125066,1600972822,1692211062,1072016465,977012517,1806887404,1251058090,3390157468,3174744832,132023988,2107101300,3849074793,3256556792,3893394355,1909888760,819618141,4009809668,1898987631,338393293,1039846685,2533589738,4074543187,2781568857,1469900589,2324767716,2893384427,4017108033,1158309216,3181161470,1893162501,2323601079,1457835157,1916426348,300633059,2197970202,1950629157,2097647324,4095422895,1580310250,1268542332,4238390223],2777663545:[1213902940,1935646853,4015995234,220341763],477187591:[2804161546],4238390223:[1580310250,1268542332],178912537:[2294589976],1425443689:[3737207727,807026263,2603310189,1635779807],3888040117:[B_,2515109513,562808652,3205830791,1177604601,O_,2254336722,2986769608,385403989,1252848954,2391368822,2706460486,3821786052,3342526732,4218914973,1028945134,4088093105,2904328755,3327091369,2382730787,1419761937,3895139033,3293443760,4143007308,2296667514,488727124,1060000209,3898045240,148013059,3827777499,3295246426,2559216714,2914609552,3041715199,L_,M_,25142252,h_,4288193352,630975310,4086658281,2295281155,182646315,1062813311,1052013943,819412036,1360408905,4175244083,3508470533,1426591983,1904799276,3221913625,277319702,1634111441,4237592921,1404847402,1999602285,3053780830,3694346114,1437502449,629592764,76236018,2223149337,3310460725,w_,707683696,3518393246,4217484030,3758799889,3612865200,987401354,I_,3571504051,90941305,3132237377,342316401,1051757585,635142910,310824031,2176052936,4278956645,1003880860,862014818,4074379575,177149247,m_,1162798199,738039164,2188021234,2058353004,402227799,264262732,3640358203,4136498852,2272882330,y_,3902619387,2938176219,32344328,2056796094,4292641817,3026737570,3825984169,3420628829,2474470126,2068733104,3319311131,484807127,3747195512,2814081492,1658829314,3040386961,1945004755,1677625105,2906023776,g_,486154966,3304561284,3512223829,4156078855,E_,4252922144,331165859,3027962421,3127900445,b_,1329646415,D_,3283111854,P_,2262370178,1156407060,R_,C_,1911478936,1073191201,900683007,3242481149,__,3495092785,1973544240,905975707,843113511,3296154744,1095909175,3299480353,2769231204,1620046519,3493046030,413509423,1509553395,263784265,3101698114,926996030,3079942009,3588315303,1287392070,3651124850,2143335405,2827207264,1335981549,2979338954,2391383451,979691226,2347447852,T_,2320036040,3027567501,377706215,647756555,1623761950,4123344466,1758889154,1674181508,1975003073,734778138,4243806635,1179482911,2445595289,214636428,2218152070,3979015343,530289379,3136571912,1621171031,3657597509,2082059205,1807405624,1004757350,682877961,1235345126,2757150158,603775116,3689010777,3544373492,1209101575,2853485674,463610769,S_,N_,3124254112,4031249490,2706606064,1412071761,3219374653,4208778838,2744685151,4148101412,x_,2945172077],759155922:[445594917],2559016684:[4006246654],3967405729:[3566463478,1714330368,2963535650,512836454,336235671,3765753017],2945172077:[2744685151,4148101412,x_],4208778838:[3041715199,L_,M_,25142252,h_,4288193352,630975310,4086658281,2295281155,182646315,1062813311,1052013943,819412036,1360408905,4175244083,3508470533,1426591983,1904799276,3221913625,277319702,1634111441,4237592921,1404847402,1999602285,3053780830,3694346114,1437502449,629592764,76236018,2223149337,3310460725,w_,707683696,3518393246,4217484030,3758799889,3612865200,987401354,I_,3571504051,90941305,3132237377,342316401,1051757585,635142910,310824031,2176052936,4278956645,1003880860,862014818,4074379575,177149247,m_,1162798199,738039164,2188021234,2058353004,402227799,264262732,3640358203,4136498852,2272882330,y_,3902619387,2938176219,32344328,2056796094,4292641817,3026737570,3825984169,3420628829,2474470126,2068733104,3319311131,484807127,3747195512,2814081492,1658829314,3040386961,1945004755,1677625105,2906023776,g_,486154966,3304561284,3512223829,4156078855,E_,4252922144,331165859,3027962421,3127900445,b_,1329646415,D_,3283111854,P_,2262370178,1156407060,R_,C_,1911478936,1073191201,900683007,3242481149,__,3495092785,1973544240,905975707,843113511,3296154744,1095909175,3299480353,2769231204,1620046519,3493046030,413509423,1509553395,263784265,3101698114,926996030,3079942009,3588315303,1287392070,3651124850,2143335405,2827207264,1335981549,2979338954,2391383451,979691226,2347447852,T_,2320036040,3027567501,377706215,647756555,1623761950,4123344466,1758889154,1674181508,1975003073,734778138,4243806635,1179482911,2445595289,214636428,2218152070,3979015343,530289379,3136571912,1621171031,3657597509,2082059205,1807405624,1004757350,682877961,1235345126,2757150158,603775116,3689010777,3544373492,1209101575,2853485674,463610769,S_,N_,3124254112,4031249490,2706606064,1412071761,3219374653],3521284610:[3875453745,3663146110],3939117080:[205026976,2857406711,4278684876,1027710054,1307041759,2495723537,1683148259],1307041759:[1027710054],1865459582:[2655215786,3840914261,982818633,2728634034,919958153,4095574036],826625072:[1521410863,3523091289,3451746338,366585022,4122056220,1245217292,427948657,279856033,3940055652,2802773753,886880790,3242617779,504942748,1638771189,2127690289,3190031847,4201705270,3678494232,3945020480,1204542856],1204542856:[3678494232,3945020480],1638771189:[504942748],2551354335:[160246688,1401173127,750771296,3268803585],693640335:[781010003,307848117,4186316022,1462361463],3451746338:[1521410863,3523091289],3523091289:[1521410863],2914609552:[488727124,1060000209,3898045240,148013059,3827777499,3295246426,2559216714],1856042241:[3243963512],1412071761:[1209101575,2853485674,463610769,S_,N_,3124254112,4031249490,2706606064],710998568:[2481509218,3812236995,3893378262],2706606064:[S_,N_,3124254112,4031249490],3893378262:[3812236995],3544373492:[1621171031,3657597509,2082059205,1807405624,1004757350,682877961,1235345126,2757150158,603775116,3689010777],3136571912:[1975003073,734778138,4243806635,1179482911,2445595289,214636428,2218152070,3979015343,530289379],530289379:[2445595289,214636428,2218152070,3979015343],3689010777:[1235345126,2757150158,603775116],3979015343:[2218152070],699246055:[2157484638,3113134337],2387106220:[2839578677,2916149573],2296667514:[4143007308],1635779807:[2603310189],2887950389:[683857671,167062518],167062518:[683857671],1260505505:[1232101972,2461110595,1967976161,3593883385,3724593414,2571569899,144952367,1136057603,15328376,3732776249],1950629157:[1909888760,819618141,4009809668,1898987631,338393293,1039846685,2533589738,4074543187,2781568857,1469900589,2324767716,2893384427,4017108033,1158309216,3181161470,1893162501,2323601079,1457835157,1916426348,300633059,2197970202],3732776249:[144952367,1136057603,15328376],15328376:[144952367,1136057603],2510884976:[2611217952,1704287377],2559216714:[488727124,1060000209,3898045240,148013059,3827777499,3295246426],3293443760:[3821786052,3342526732,4218914973,1028945134,4088093105,2904328755,3327091369,2382730787,1419761937,3895139033],3256556792:[578613899,3001207471,2874132201,3179687236,1783015770,655969474,4037862832,2063403501,1599208980,1810631287,2030761528,3946677679,3009222698,4222183408,663422040,400855858,1532957894,3352864051,1133259667,3112655638,1305183839,1768891740,2837617999,1114901282,1161773419,1051575348,2297155007,3277789161,5716631,1339347760,3760055223,1285652485,3293546465,4231323485,1834744321,346874300,3850581409,2250791053,1482959167,869906466,2674252688,395041908,804291784,4288270099,3198132628,712377611,2417008758,3961806047,1411407467,728799441,2315554128,1842657554,3815607619,3907093117,1217240411,1534661035,2954562838,335055490,2816379211,2301859152,2951183804,2188180465,231477066,1871374353,1911125066,1600972822,1692211062,1072016465,977012517,1806887404,1251058090,3390157468,3174744832,132023988,2107101300,3849074793],3849074793:[1599208980,1810631287,2030761528,3946677679,3009222698,4222183408,663422040,400855858,1532957894,3352864051,1133259667,3112655638,1305183839,1768891740,2837617999,1114901282,1161773419,1051575348,2297155007,3277789161,5716631,1339347760,3760055223,1285652485,3293546465,4231323485,1834744321,346874300,3850581409,2250791053,1482959167,869906466,2674252688,395041908,804291784,4288270099,3198132628,712377611,2417008758,3961806047,1411407467,728799441,2315554128,1842657554,3815607619,3907093117,1217240411,1534661035,2954562838,335055490,2816379211,2301859152,2951183804,2188180465,231477066,1871374353,1911125066,1600972822,1692211062,1072016465,977012517,1806887404,1251058090,3390157468,3174744832,132023988,2107101300],1758889154:[25142252,h_,4288193352,630975310,4086658281,2295281155,182646315,1062813311,1052013943,819412036,1360408905,4175244083,3508470533,1426591983,1904799276,3221913625,277319702,1634111441,4237592921,1404847402,1999602285,3053780830,3694346114,1437502449,629592764,76236018,2223149337,3310460725,w_,707683696,3518393246,4217484030,3758799889,3612865200,987401354,I_,3571504051,90941305,3132237377,342316401,1051757585,635142910,310824031,2176052936,4278956645,1003880860,862014818,4074379575,177149247,m_,1162798199,738039164,2188021234,2058353004,402227799,264262732,3640358203,4136498852,2272882330,y_,3902619387,2938176219,32344328,2056796094,4292641817,3026737570,3825984169,3420628829,2474470126,2068733104,3319311131,484807127,3747195512,2814081492,1658829314,3040386961,1945004755,1677625105,2906023776,g_,486154966,3304561284,3512223829,4156078855,E_,4252922144,331165859,3027962421,3127900445,b_,1329646415,D_,3283111854,P_,2262370178,1156407060,R_,C_,1911478936,1073191201,900683007,3242481149,__,3495092785,1973544240,905975707,843113511,3296154744,1095909175,3299480353,2769231204,1620046519,3493046030,413509423,1509553395,263784265,3101698114,926996030,3079942009,3588315303,1287392070,3651124850,2143335405,2827207264,1335981549,2979338954,2391383451,979691226,2347447852,T_,2320036040,3027567501,377706215,647756555,1623761950,4123344466],1623761950:[1335981549,2979338954,2391383451,979691226,2347447852,T_,2320036040,3027567501,377706215,647756555],2590856083:[2635815018,39481116,3313531582,2572171363,2415094496,3081323446,2310774935,964333572,2108223431,2489546625],2107101300:[1217240411,1534661035,2954562838,335055490,2816379211,2301859152,2951183804,2188180465,231477066,1871374353,1911125066,1600972822,1692211062,1072016465,977012517,1806887404,1251058090,3390157468,3174744832,132023988],2853485674:[1209101575],807026263:[3737207727],2827207264:[3101698114,926996030,3079942009,3588315303,1287392070,3651124850,2143335405],2143335405:[3651124850],1287392070:[926996030,3079942009,3588315303],3907093117:[712377611,2417008758,3961806047,1411407467,728799441,2315554128,1842657554,3815607619],3198132628:[869906466,2674252688,395041908,804291784,4288270099],1482959167:[346874300,3850581409,2250791053],1834744321:[3760055223,1285652485,3293546465,4231323485],1339347760:[3277789161,5716631],2297155007:[4222183408,663422040,400855858,1532957894,3352864051,1133259667,3112655638,1305183839,1768891740,2837617999,1114901282,1161773419,1051575348],3009222698:[1810631287,2030761528,3946677679],263784265:[413509423,1509553395],2706460486:[B_,2515109513,562808652,3205830791,1177604601,O_,2254336722,2986769608,385403989,1252848954,2391368822],3588315303:[3079942009],3740093272:[3041715199],3027567501:[979691226,2347447852,T_,2320036040],964333572:[2572171363,2415094496,3081323446,2310774935],682877961:[1621171031,3657597509,2082059205,1807405624,1004757350],1179482911:[1975003073,734778138,4243806635],1004757350:[1807405624],214636428:[2445595289],1252848954:[385403989],3657597509:[1621171031],2254336722:[2515109513,562808652,3205830791,1177604601,O_],1028945134:[3342526732,4218914973],1967976161:[1232101972,2461110595],2461110595:[1232101972],1136057603:[144952367],3299480353:[2906023776,g_,486154966,3304561284,3512223829,4156078855,E_,4252922144,331165859,3027962421,3127900445,b_,1329646415,D_,3283111854,P_,2262370178,1156407060,R_,C_,1911478936,1073191201,900683007,3242481149,__,3495092785,1973544240,905975707,843113511,3296154744,1095909175],843113511:[905975707],2063403501:[578613899,3001207471,2874132201,3179687236,1783015770,655969474,4037862832],1945004755:[25142252,h_,4288193352,630975310,4086658281,2295281155,182646315,1062813311,1052013943,819412036,1360408905,4175244083,3508470533,1426591983,1904799276,3221913625,277319702,1634111441,4237592921,1404847402,1999602285,3053780830,3694346114,1437502449,629592764,76236018,2223149337,3310460725,w_,707683696,3518393246,4217484030,3758799889,3612865200,987401354,I_,3571504051,90941305,3132237377,342316401,1051757585,635142910,310824031,2176052936,4278956645,1003880860,862014818,4074379575,177149247,m_,1162798199,738039164,2188021234,2058353004,402227799,264262732,3640358203,4136498852,2272882330,y_,3902619387,2938176219,32344328,2056796094,4292641817,3026737570,3825984169,3420628829,2474470126,2068733104,3319311131,484807127,3747195512,2814081492,1658829314,3040386961],3040386961:[1052013943,819412036,1360408905,4175244083,3508470533,1426591983,1904799276,3221913625,277319702,1634111441,4237592921,1404847402,1999602285,3053780830,3694346114,1437502449,629592764,76236018,2223149337,3310460725,w_,707683696,3518393246,4217484030,3758799889,3612865200,987401354,I_,3571504051,90941305,3132237377,342316401,1051757585,635142910,310824031,2176052936,4278956645,1003880860,862014818,4074379575,177149247,m_,1162798199,738039164,2188021234,2058353004,402227799,264262732,3640358203,4136498852,2272882330,y_,3902619387,2938176219,32344328,2056796094,4292641817,3026737570,3825984169,3420628829,2474470126,2068733104,3319311131,484807127,3747195512,2814081492,1658829314],3205830791:[562808652],395920057:[3242481149],1658829314:[402227799,264262732,3640358203,4136498852,2272882330,y_,3902619387,2938176219,32344328,2056796094,4292641817,3026737570,3825984169,3420628829,2474470126,2068733104,3319311131,484807127,3747195512,2814081492],2058353004:[1003880860,862014818,4074379575,177149247,m_,1162798199,738039164,2188021234],4278956645:[342316401,1051757585,635142910,310824031,2176052936],3132237377:[I_,3571504051,90941305],987401354:[3518393246,4217484030,3758799889,3612865200],707683696:[3310460725,w_],2223149337:[1426591983,1904799276,3221913625,277319702,1634111441,4237592921,1404847402,1999602285,3053780830,3694346114,1437502449,629592764,76236018],3508470533:[819412036,1360408905,4175244083],1073191201:[1911478936],3171933400:[1156407060],1529196076:[3027962421,3127900445],2391406946:[3512223829,4156078855],3304561284:[486154966],753842376:[2906023776],1062813311:[25142252,h_,4288193352,630975310,4086658281,2295281155,182646315]},k_[2]={3630933823:[["HasExternalReference",1437805879,3,!0]],618182010:[["OfPerson",2077209135,7,!0],["OfOrganization",4251960020,4,!0]],411424972:[["HasExternalReference",1437805879,3,!0]],130549933:[["HasExternalReferences",1437805879,3,!0],["ApprovedObjects",4095574036,5,!0],["ApprovedResources",2943643501,3,!0],["IsRelatedWith",3869604511,3,!0],["Relates",3869604511,2,!0]],1959218052:[["HasExternalReferences",1437805879,3,!0],["PropertiesForConstraint",1608871552,2,!0]],1466758467:[["HasCoordinateOperation",1785450214,0,!0]],602808272:[["HasExternalReference",1437805879,3,!0]],3200245327:[["ExternalReferenceForResources",1437805879,2,!0]],2242383968:[["ExternalReferenceForResources",1437805879,2,!0]],1040185647:[["ExternalReferenceForResources",1437805879,2,!0]],3548104201:[["ExternalReferenceForResources",1437805879,2,!0]],852622518:[["PartOfW",M_,9,!0],["PartOfV",M_,8,!0],["PartOfU",M_,7,!0],["HasIntersections",891718957,0,!0]],2655187982:[["LibraryInfoForObjects",3840914261,5,!0],["HasLibraryReferences",3452421091,5,!0]],3452421091:[["ExternalReferenceForResources",1437805879,2,!0],["LibraryRefForObjects",3840914261,5,!0]],760658860:[["AssociatedTo",2655215786,5,!0],["HasExternalReferences",1437805879,3,!0],["HasProperties",3265635763,3,!0]],248100487:[["AssociatedTo",2655215786,5,!0],["HasExternalReferences",1437805879,3,!0],["HasProperties",3265635763,3,!0],["ToMaterialLayerSet",3303938423,0,!1]],3303938423:[["AssociatedTo",2655215786,5,!0],["HasExternalReferences",1437805879,3,!0],["HasProperties",3265635763,3,!0]],1847252529:[["AssociatedTo",2655215786,5,!0],["HasExternalReferences",1437805879,3,!0],["HasProperties",3265635763,3,!0],["ToMaterialLayerSet",3303938423,0,!1]],2235152071:[["AssociatedTo",2655215786,5,!0],["HasExternalReferences",1437805879,3,!0],["HasProperties",3265635763,3,!0],["ToMaterialProfileSet",164193824,2,!1]],164193824:[["AssociatedTo",2655215786,5,!0],["HasExternalReferences",1437805879,3,!0],["HasProperties",3265635763,3,!0]],552965576:[["AssociatedTo",2655215786,5,!0],["HasExternalReferences",1437805879,3,!0],["HasProperties",3265635763,3,!0],["ToMaterialProfileSet",164193824,2,!1]],1507914824:[["AssociatedTo",2655215786,5,!0]],3368373690:[["HasExternalReferences",1437805879,3,!0],["PropertiesForConstraint",1608871552,2,!0]],3701648758:[["PlacesObject",4208778838,5,!0],["ReferencedByPlacements",2624227202,0,!0]],2251480897:[["HasExternalReferences",1437805879,3,!0],["PropertiesForConstraint",1608871552,2,!0]],4251960020:[["IsRelatedBy",1411181986,3,!0],["Relates",1411181986,2,!0],["Engages",101040310,1,!0]],2077209135:[["EngagedIn",101040310,0,!0]],2483315170:[["HasExternalReferences",1437805879,3,!0],["PartOfComplex",3021840470,2,!0]],2226359599:[["HasExternalReferences",1437805879,3,!0],["PartOfComplex",3021840470,2,!0]],3355820592:[["OfPerson",2077209135,7,!0],["OfOrganization",4251960020,4,!0]],3958567839:[["HasExternalReference",1437805879,3,!0],["HasProperties",2802850158,3,!0]],3843373140:[["HasCoordinateOperation",1785450214,0,!0]],986844984:[["HasExternalReferences",1437805879,3,!0]],3710013099:[["HasExternalReferences",1437805879,3,!0]],2044713172:[["HasExternalReferences",1437805879,3,!0],["PartOfComplex",3021840470,2,!0]],2093928680:[["HasExternalReferences",1437805879,3,!0],["PartOfComplex",3021840470,2,!0]],931644368:[["HasExternalReferences",1437805879,3,!0],["PartOfComplex",3021840470,2,!0]],3252649465:[["HasExternalReferences",1437805879,3,!0],["PartOfComplex",3021840470,2,!0]],2405470396:[["HasExternalReferences",1437805879,3,!0],["PartOfComplex",3021840470,2,!0]],825690147:[["HasExternalReferences",1437805879,3,!0],["PartOfComplex",3021840470,2,!0]],1076942058:[["RepresentationMap",1660063152,1,!0],["LayerAssignments",2022622350,2,!0],["OfProductRepresentation",2095639259,2,!0]],3377609919:[["RepresentationsInContext",1076942058,0,!0]],3008791417:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],1660063152:[["HasShapeAspects",867548509,4,!0],["MapUsage",2347385850,0,!0]],3982875396:[["RepresentationMap",1660063152,1,!0],["LayerAssignments",2022622350,2,!0],["OfProductRepresentation",2095639259,2,!0],["OfShapeAspect",867548509,0,!0]],4240577450:[["RepresentationMap",1660063152,1,!0],["LayerAssignments",2022622350,2,!0],["OfProductRepresentation",2095639259,2,!0],["OfShapeAspect",867548509,0,!0]],2830218821:[["RepresentationMap",1660063152,1,!0],["LayerAssignments",2022622350,2,!0],["OfProductRepresentation",2095639259,2,!0]],3958052878:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],3049322572:[["RepresentationMap",1660063152,1,!0],["LayerAssignments",2022622350,2,!0],["OfProductRepresentation",2095639259,2,!0]],626085974:[["IsMappedBy",280115917,0,!0],["UsedInStyles",1351298697,0,!0]],912023232:[["OfPerson",2077209135,7,!0],["OfOrganization",4251960020,4,!0]],3101149627:[["HasExternalReference",1437805879,3,!0]],1377556343:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],1735638870:[["RepresentationMap",1660063152,1,!0],["LayerAssignments",2022622350,2,!0],["OfProductRepresentation",2095639259,2,!0],["OfShapeAspect",867548509,0,!0]],2799835756:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],1907098498:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],3798115385:[["HasExternalReference",1437805879,3,!0],["HasProperties",2802850158,3,!0]],1310608509:[["HasExternalReference",1437805879,3,!0],["HasProperties",2802850158,3,!0]],2705031697:[["HasExternalReference",1437805879,3,!0],["HasProperties",2802850158,3,!0]],616511568:[["IsMappedBy",280115917,0,!0],["UsedInStyles",1351298697,0,!0]],3150382593:[["HasExternalReference",1437805879,3,!0],["HasProperties",2802850158,3,!0]],747523909:[["ClassificationForObjects",919958153,5,!0],["HasReferences",647927063,3,!0]],647927063:[["ExternalReferenceForResources",1437805879,2,!0],["ClassificationRefForObjects",919958153,5,!0],["HasReferences",647927063,3,!0]],1485152156:[["HasExternalReference",1437805879,3,!0],["HasProperties",2802850158,3,!0]],370225590:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],3050246964:[["HasExternalReference",1437805879,3,!0]],2889183280:[["HasExternalReference",1437805879,3,!0]],2713554722:[["HasExternalReference",1437805879,3,!0]],3632507154:[["HasExternalReference",1437805879,3,!0],["HasProperties",2802850158,3,!0]],1154170062:[["DocumentInfoForObjects",982818633,5,!0],["HasDocumentReferences",3732053477,4,!0],["IsPointedTo",770865208,3,!0],["IsPointer",770865208,2,!0]],3732053477:[["ExternalReferenceForResources",1437805879,2,!0],["DocumentRefForObjects",982818633,5,!0]],3900360178:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],476780140:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],297599258:[["HasExternalReferences",1437805879,3,!0]],2556980723:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0],["HasTextureMaps",2552916305,2,!0]],1809719519:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],803316827:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],3008276851:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0],["HasTextureMaps",2552916305,2,!0]],3448662350:[["RepresentationsInContext",1076942058,0,!0],["HasSubContexts",4142052618,6,!0],["HasCoordinateOperation",1785450214,0,!0]],2453401579:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],4142052618:[["RepresentationsInContext",1076942058,0,!0],["HasSubContexts",4142052618,6,!0],["HasCoordinateOperation",1785450214,0,!0]],3590301190:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],178086475:[["PlacesObject",4208778838,5,!0],["ReferencedByPlacements",2624227202,0,!0]],812098782:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],3905492369:[["IsMappedBy",280115917,0,!0],["UsedInStyles",1351298697,0,!0]],3741457305:[["HasExternalReference",1437805879,3,!0]],1402838566:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],125510826:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],2604431987:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],4266656042:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],1520743889:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],3422422726:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],2624227202:[["PlacesObject",4208778838,5,!0],["ReferencedByPlacements",2624227202,0,!0]],1008929658:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],2347385850:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],1838606355:[["AssociatedTo",2655215786,5,!0],["HasExternalReferences",1437805879,3,!0],["HasProperties",3265635763,3,!0],["HasRepresentation",2022407955,3,!0],["IsRelatedWith",853536259,3,!0],["RelatesTo",853536259,2,!0]],3708119e3:[["AssociatedTo",2655215786,5,!0],["HasExternalReferences",1437805879,3,!0],["HasProperties",3265635763,3,!0],["ToMaterialConstituentSet",2852063980,2,!1]],2852063980:[["AssociatedTo",2655215786,5,!0],["HasExternalReferences",1437805879,3,!0],["HasProperties",3265635763,3,!0]],1303795690:[["AssociatedTo",2655215786,5,!0]],3079605661:[["AssociatedTo",2655215786,5,!0]],3404854881:[["AssociatedTo",2655215786,5,!0]],3265635763:[["HasExternalReferences",1437805879,3,!0]],2998442950:[["HasExternalReference",1437805879,3,!0],["HasProperties",2802850158,3,!0]],219451334:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0]],2665983363:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],1029017970:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],2529465313:[["HasExternalReference",1437805879,3,!0],["HasProperties",2802850158,3,!0]],2519244187:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],3021840470:[["HasExternalReferences",1437805879,3,!0],["PartOfComplex",3021840470,2,!0]],597895409:[["IsMappedBy",280115917,0,!0],["UsedInStyles",1351298697,0,!0]],2004835150:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],1663979128:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],2067069095:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],4022376103:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],1423911732:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],2924175390:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],2775532180:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],3778827333:[["HasExternalReferences",1437805879,3,!0]],673634403:[["ShapeOfProduct",4208778838,6,!0],["HasShapeAspects",867548509,4,!0]],2802850158:[["HasExternalReferences",1437805879,3,!0]],2598011224:[["HasExternalReferences",1437805879,3,!0],["PartOfPset",1451395588,4,!0],["PropertyForDependance",148025276,2,!0],["PropertyDependsOn",148025276,3,!0],["PartOfComplex",2542286263,3,!0],["HasConstraints",1608871552,3,!0],["HasApprovals",2943643501,2,!0]],1680319473:[["HasContext",2565941209,5,!0],["HasAssociations",1865459582,4,!0]],3357820518:[["HasContext",2565941209,5,!0],["HasAssociations",1865459582,4,!0],["DefinesType",1628702193,5,!0],["IsDefinedBy",307848117,4,!0],["DefinesOccurrence",4186316022,5,!0]],1482703590:[["HasContext",2565941209,5,!0],["HasAssociations",1865459582,4,!0]],2090586900:[["HasContext",2565941209,5,!0],["HasAssociations",1865459582,4,!0],["DefinesType",1628702193,5,!0],["IsDefinedBy",307848117,4,!0],["DefinesOccurrence",4186316022,5,!0]],3615266464:[["HasExternalReference",1437805879,3,!0],["HasProperties",2802850158,3,!0]],3413951693:[["HasExternalReference",1437805879,3,!0]],1580146022:[["HasExternalReferences",1437805879,3,!0]],2778083089:[["HasExternalReference",1437805879,3,!0],["HasProperties",2802850158,3,!0]],2042790032:[["HasExternalReferences",1437805879,3,!0]],4165799628:[["HasExternalReferences",1437805879,3,!0]],1509187699:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],4124623270:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],3692461612:[["HasExternalReferences",1437805879,3,!0],["PartOfPset",1451395588,4,!0],["PropertyForDependance",148025276,2,!0],["PropertyDependsOn",148025276,3,!0],["PartOfComplex",2542286263,3,!0],["HasConstraints",1608871552,3,!0],["HasApprovals",2943643501,2,!0]],723233188:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],2233826070:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],2513912981:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],2247615214:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],1260650574:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],1096409881:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],230924584:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],3071757647:[["HasExternalReference",1437805879,3,!0],["HasProperties",2802850158,3,!0]],901063453:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],4282788508:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],3124975700:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],2715220739:[["HasExternalReference",1437805879,3,!0],["HasProperties",2802850158,3,!0]],1628702193:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0]],3736923433:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["OperatesOn",4278684876,6,!0]],2347495698:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],3698973494:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ResourceOf",205026976,6,!0]],427810014:[["HasExternalReference",1437805879,3,!0],["HasProperties",2802850158,3,!0]],1417489154:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],2759199220:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],1299126871:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],2543172580:[["HasExternalReference",1437805879,3,!0],["HasProperties",2802850158,3,!0]],3406155212:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0],["HasTextureMaps",2552916305,2,!0]],669184980:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],3207858831:[["HasExternalReference",1437805879,3,!0],["HasProperties",2802850158,3,!0]],4261334040:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],3125803723:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],2740243338:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],2736907675:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],4182860854:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],2581212453:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],2713105998:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],2898889636:[["HasExternalReference",1437805879,3,!0],["HasProperties",2802850158,3,!0]],1123145078:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],574549367:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],1675464909:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],2059837836:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],59481748:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],3749851601:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],3486308946:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],3331915920:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],1416205885:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],1383045692:[["HasExternalReference",1437805879,3,!0],["HasProperties",2802850158,3,!0]],2205249479:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],2542286263:[["HasExternalReferences",1437805879,3,!0],["PartOfPset",1451395588,4,!0],["PropertyForDependance",148025276,2,!0],["PropertyDependsOn",148025276,3,!0],["PartOfComplex",2542286263,3,!0],["HasConstraints",1608871552,3,!0],["HasApprovals",2943643501,2,!0]],2485617015:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0],["UsingCurves",3732776249,0,!0]],2574617495:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ResourceOf",205026976,6,!0]],3419103109:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",4186316022,4,!0],["Declares",2565941209,4,!0]],1815067380:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ResourceOf",205026976,6,!0]],2506170314:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],2147822146:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],2601014836:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],2827736869:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],2629017746:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],32440307:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],526551008:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],1472233963:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],1883228015:[["HasContext",2565941209,5,!0],["HasAssociations",1865459582,4,!0],["DefinesType",1628702193,5,!0],["IsDefinedBy",307848117,4,!0],["DefinesOccurrence",4186316022,5,!0]],339256511:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],2777663545:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],2835456948:[["HasExternalReference",1437805879,3,!0],["HasProperties",2802850158,3,!0]],4024345920:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["OperatesOn",4278684876,6,!0]],477187591:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],2804161546:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],2047409740:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],374418227:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],315944413:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],2652556860:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],4238390223:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],1268542332:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],4095422895:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],987898635:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],1484403080:[["HasExternalReference",1437805879,3,!0],["HasProperties",2802850158,3,!0]],178912537:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0],["ToFaceSet",2839578677,2,!0]],2294589976:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0],["ToFaceSet",2839578677,2,!0]],572779678:[["HasExternalReference",1437805879,3,!0],["HasProperties",2802850158,3,!0]],428585644:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ResourceOf",205026976,6,!0]],1281925730:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],1425443689:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],3888040117:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0]],3388369263:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],3505215534:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],1682466193:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],603570806:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],220341763:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],3967405729:[["HasContext",2565941209,5,!0],["HasAssociations",1865459582,4,!0],["DefinesType",1628702193,5,!0],["IsDefinedBy",307848117,4,!0],["DefinesOccurrence",4186316022,5,!0]],569719735:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["OperatesOn",4278684876,6,!0]],2945172077:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["IsPredecessorTo",4122056220,4,!0],["IsSuccessorFrom",4122056220,5,!0],["OperatesOn",4278684876,6,!0]],4208778838:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0]],103090709:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",4186316022,4,!0],["Declares",2565941209,4,!0]],653396225:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",4186316022,4,!0],["Declares",2565941209,4,!0]],871118103:[["HasExternalReferences",1437805879,3,!0],["PartOfPset",1451395588,4,!0],["PropertyForDependance",148025276,2,!0],["PropertyDependsOn",148025276,3,!0],["PartOfComplex",2542286263,3,!0],["HasConstraints",1608871552,3,!0],["HasApprovals",2943643501,2,!0]],4166981789:[["HasExternalReferences",1437805879,3,!0],["PartOfPset",1451395588,4,!0],["PropertyForDependance",148025276,2,!0],["PropertyDependsOn",148025276,3,!0],["PartOfComplex",2542286263,3,!0],["HasConstraints",1608871552,3,!0],["HasApprovals",2943643501,2,!0]],2752243245:[["HasExternalReferences",1437805879,3,!0],["PartOfPset",1451395588,4,!0],["PropertyForDependance",148025276,2,!0],["PropertyDependsOn",148025276,3,!0],["PartOfComplex",2542286263,3,!0],["HasConstraints",1608871552,3,!0],["HasApprovals",2943643501,2,!0]],941946838:[["HasExternalReferences",1437805879,3,!0],["PartOfPset",1451395588,4,!0],["PropertyForDependance",148025276,2,!0],["PropertyDependsOn",148025276,3,!0],["PartOfComplex",2542286263,3,!0],["HasConstraints",1608871552,3,!0],["HasApprovals",2943643501,2,!0]],1451395588:[["HasContext",2565941209,5,!0],["HasAssociations",1865459582,4,!0],["DefinesType",1628702193,5,!0],["IsDefinedBy",307848117,4,!0],["DefinesOccurrence",4186316022,5,!0]],492091185:[["HasContext",2565941209,5,!0],["HasAssociations",1865459582,4,!0],["Defines",307848117,5,!0]],3650150729:[["HasExternalReferences",1437805879,3,!0],["PartOfPset",1451395588,4,!0],["PropertyForDependance",148025276,2,!0],["PropertyDependsOn",148025276,3,!0],["PartOfComplex",2542286263,3,!0],["HasConstraints",1608871552,3,!0],["HasApprovals",2943643501,2,!0]],110355661:[["HasExternalReferences",1437805879,3,!0],["PartOfPset",1451395588,4,!0],["PropertyForDependance",148025276,2,!0],["PropertyDependsOn",148025276,3,!0],["PartOfComplex",2542286263,3,!0],["HasConstraints",1608871552,3,!0],["HasApprovals",2943643501,2,!0]],3521284610:[["HasContext",2565941209,5,!0],["HasAssociations",1865459582,4,!0],["PartOfComplexTemplate",3875453745,6,!0],["PartOfPsetTemplate",492091185,6,!0]],3219374653:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0]],2770003689:[["HasExternalReference",1437805879,3,!0],["HasProperties",2802850158,3,!0]],2798486643:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],3454111270:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],3765753017:[["HasContext",2565941209,5,!0],["HasAssociations",1865459582,4,!0],["DefinesType",1628702193,5,!0],["IsDefinedBy",307848117,4,!0],["DefinesOccurrence",4186316022,5,!0]],3523091289:[["InnerBoundaries",3523091289,9,!0]],1521410863:[["InnerBoundaries",3523091289,9,!0],["Corresponds",1521410863,10,!0]],816062949:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0],["UsingCurves",3732776249,0,!0]],2914609552:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ResourceOf",205026976,6,!0]],1856042241:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],3243963512:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],4158566097:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],3626867408:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],3663146110:[["HasContext",2565941209,5,!0],["HasAssociations",1865459582,4,!0],["PartOfComplexTemplate",3875453745,6,!0],["PartOfPsetTemplate",492091185,6,!0]],1412071761:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["ContainsElements",3242617779,5,!0],["ServicedBySystems",366585022,5,!0],["ReferencesElements",1245217292,5,!0]],710998568:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],2706606064:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["ContainsElements",3242617779,5,!0],["ServicedBySystems",366585022,5,!0],["ReferencesElements",1245217292,5,!0]],3893378262:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],463610769:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["ContainsElements",3242617779,5,!0],["ServicedBySystems",366585022,5,!0],["ReferencesElements",1245217292,5,!0]],2481509218:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],451544542:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],4015995234:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],3544373492:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["AssignedToStructuralItem",2127690289,5,!0]],3136571912:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["AssignedStructuralActivity",2127690289,4,!0]],530289379:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["AssignedStructuralActivity",2127690289,4,!0],["ConnectedBy",1638771189,4,!0]],3689010777:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["AssignedToStructuralItem",2127690289,5,!0]],3979015343:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["AssignedStructuralActivity",2127690289,4,!0],["ConnectedBy",1638771189,4,!0]],2218152070:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["AssignedStructuralActivity",2127690289,4,!0],["ConnectedBy",1638771189,4,!0]],603775116:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["AssignedToStructuralItem",2127690289,5,!0]],4095615324:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ResourceOf",205026976,6,!0]],699246055:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],2028607225:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],2809605785:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],4124788165:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],1580310250:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],3473067441:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["IsPredecessorTo",4122056220,4,!0],["IsSuccessorFrom",4122056220,5,!0],["OperatesOn",4278684876,6,!0]],3206491090:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["OperatesOn",4278684876,6,!0]],2387106220:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0],["HasColours",3570813810,0,!0],["HasTextures",1437953363,1,!0]],1935646853:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],2097647324:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],2916149573:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0],["HasColours",3570813810,0,!0],["HasTextures",1437953363,1,!0]],336235671:[["HasContext",2565941209,5,!0],["HasAssociations",1865459582,4,!0],["DefinesType",1628702193,5,!0],["IsDefinedBy",307848117,4,!0],["DefinesOccurrence",4186316022,5,!0]],512836454:[["HasContext",2565941209,5,!0],["HasAssociations",1865459582,4,!0],["DefinesType",1628702193,5,!0],["IsDefinedBy",307848117,4,!0],["DefinesOccurrence",4186316022,5,!0]],2296667514:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["IsActingUpon",1683148259,6,!0]],1635779807:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],2603310189:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],1674181508:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["ContainedInStructure",3242617779,4,!0]],2887950389:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],167062518:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],1334484129:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],3649129432:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],1260505505:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],4031249490:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["ContainsElements",3242617779,5,!0],["ServicedBySystems",366585022,5,!0],["ReferencesElements",1245217292,5,!0]],1950629157:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],3124254112:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["ContainsElements",3242617779,5,!0],["ServicedBySystems",366585022,5,!0],["ReferencesElements",1245217292,5,!0]],2197970202:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],2937912522:[["HasExternalReference",1437805879,3,!0],["HasProperties",2802850158,3,!0]],3893394355:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],300633059:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],3875453745:[["HasContext",2565941209,5,!0],["HasAssociations",1865459582,4,!0],["PartOfComplexTemplate",3875453745,6,!0],["PartOfPsetTemplate",492091185,6,!0]],3732776249:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],15328376:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],2510884976:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],2185764099:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ResourceOf",205026976,6,!0]],4105962743:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ResourceOf",205026976,6,!0]],1525564444:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ResourceOf",205026976,6,!0]],2559216714:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ResourceOf",205026976,6,!0]],3293443760:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["Controls",2495723537,6,!0]],3895139033:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["Controls",2495723537,6,!0]],1419761937:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["Controls",2495723537,6,!0]],1916426348:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],3295246426:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ResourceOf",205026976,6,!0]],1457835157:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],1213902940:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],3256556792:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],3849074793:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],2963535650:[["HasContext",2565941209,5,!0],["HasAssociations",1865459582,4,!0],["DefinesType",1628702193,5,!0],["IsDefinedBy",307848117,4,!0],["DefinesOccurrence",4186316022,5,!0]],1714330368:[["HasContext",2565941209,5,!0],["HasAssociations",1865459582,4,!0],["DefinesType",1628702193,5,!0],["IsDefinedBy",307848117,4,!0],["DefinesOccurrence",4186316022,5,!0]],2323601079:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],1758889154:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0]],4123344466:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0]],2397081782:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],1623761950:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0]],2590856083:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],1704287377:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],2107101300:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],132023988:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],3174744832:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],3390157468:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],4148101412:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["IsPredecessorTo",4122056220,4,!0],["IsSuccessorFrom",4122056220,5,!0],["OperatesOn",4278684876,6,!0]],2853485674:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["ContainsElements",3242617779,5,!0],["ServicedBySystems",366585022,5,!0],["ReferencesElements",1245217292,5,!0]],807026263:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],3737207727:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],647756555:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0]],2489546625:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],2827207264:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0]],2143335405:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["ProjectsElements",750771296,5,!1]],1287392070:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["VoidsElements",1401173127,5,!1]],3907093117:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],3198132628:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],3815607619:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],1482959167:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],1834744321:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],1339347760:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],2297155007:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],3009222698:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],1893162501:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],263784265:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0]],1509553395:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0]],3493046030:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0]],3009204131:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["ContainedInStructure",3242617779,4,!0]],2706460486:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["IsGroupedBy",1307041759,6,!0]],1251058090:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],1806887404:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],2571569899:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],3946677679:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],3113134337:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],2391368822:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["IsGroupedBy",1307041759,6,!0]],4288270099:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],3827777499:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ResourceOf",205026976,6,!0]],1051575348:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],1161773419:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],377706215:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0]],2108223431:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],1114901282:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],3181161470:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],977012517:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],4143007308:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["IsActingUpon",1683148259,6,!0]],3588315303:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["VoidsElements",1401173127,5,!1],["HasFillings",3940055652,4,!0]],3079942009:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["VoidsElements",1401173127,5,!1],["HasFillings",3940055652,4,!0]],2837617999:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],2382730787:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["Controls",2495723537,6,!0]],3566463478:[["HasContext",2565941209,5,!0],["HasAssociations",1865459582,4,!0],["DefinesType",1628702193,5,!0],["IsDefinedBy",307848117,4,!0],["DefinesOccurrence",4186316022,5,!0]],3327091369:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["Controls",2495723537,6,!0]],1158309216:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],804291784:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],4231323485:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],4017108033:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],2839578677:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0],["HasColours",3570813810,0,!0],["HasTextures",1437953363,1,!0]],3724593414:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],3740093272:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["ContainedIn",4201705270,4,!0],["ConnectedFrom",3190031847,5,!0],["ConnectedTo",3190031847,4,!0]],2744685151:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["IsPredecessorTo",4122056220,4,!0],["IsSuccessorFrom",4122056220,5,!0],["OperatesOn",4278684876,6,!0]],2904328755:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["Controls",2495723537,6,!0]],3651124850:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["ProjectsElements",750771296,5,!1]],1842657554:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],2250791053:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],2893384427:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],2324767716:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],1469900589:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],683857671:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],3027567501:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0]],964333572:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],2320036040:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0]],2310774935:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],2781568857:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],1768891740:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],2157484638:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],4074543187:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],4097777520:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["ContainsElements",3242617779,5,!0],["ServicedBySystems",366585022,5,!0],["ReferencesElements",1245217292,5,!0]],2533589738:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],1072016465:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],3856911033:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["ContainsElements",3242617779,5,!0],["ServicedBySystems",366585022,5,!0],["ReferencesElements",1245217292,5,!0],["HasCoverings",2802773753,4,!0],["BoundedBy",3451746338,4,!0]],1305183839:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],3812236995:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],3112655638:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],1039846685:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],338393293:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],682877961:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["AssignedToStructuralItem",2127690289,5,!0]],1179482911:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["AssignedStructuralActivity",2127690289,4,!0],["ConnectsStructuralMembers",1638771189,5,!0]],1004757350:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["AssignedToStructuralItem",2127690289,5,!0]],4243806635:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["AssignedStructuralActivity",2127690289,4,!0],["ConnectsStructuralMembers",1638771189,5,!0]],214636428:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["AssignedStructuralActivity",2127690289,4,!0],["ConnectedBy",1638771189,4,!0]],2445595289:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["AssignedStructuralActivity",2127690289,4,!0],["ConnectedBy",1638771189,4,!0]],2757150158:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["AssignedToStructuralItem",2127690289,5,!0]],1807405624:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["AssignedToStructuralItem",2127690289,5,!0]],1252848954:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["IsGroupedBy",1307041759,6,!0],["SourceOfResultGroup",2986769608,6,!0],["LoadGroupFor",2515109513,7,!0]],2082059205:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["AssignedToStructuralItem",2127690289,5,!0]],734778138:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["AssignedStructuralActivity",2127690289,4,!0],["ConnectsStructuralMembers",1638771189,5,!0]],1235345126:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["AssignedToStructuralItem",2127690289,5,!0]],2986769608:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["IsGroupedBy",1307041759,6,!0],["ResultGroupFor",2515109513,8,!0]],3657597509:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["AssignedToStructuralItem",2127690289,5,!0]],1975003073:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["AssignedStructuralActivity",2127690289,4,!0],["ConnectsStructuralMembers",1638771189,5,!0]],148013059:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ResourceOf",205026976,6,!0]],3101698114:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0]],2315554128:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],2254336722:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["IsGroupedBy",1307041759,6,!0],["ServicesBuildings",366585022,4,!0]],413509423:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0]],5716631:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],3824725483:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0]],2347447852:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0]],3081323446:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],2415094496:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],1692211062:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],1620046519:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0]],3593883385:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],1600972822:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],1911125066:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],728799441:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],2391383451:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0]],3313531582:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],2769231204:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0]],926996030:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["VoidsElements",1401173127,5,!1]],1898987631:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],1133259667:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],4009809668:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],4088093105:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["Controls",2495723537,6,!0]],1028945134:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["Controls",2495723537,6,!0]],4218914973:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["Controls",2495723537,6,!0]],3342526732:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["Controls",2495723537,6,!0]],1033361043:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["IsGroupedBy",1307041759,6,!0],["ServicesBuildings",366585022,4,!0]],3821786052:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["Controls",2495723537,6,!0]],1411407467:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],3352864051:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],1871374353:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],3460190687:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["IsGroupedBy",1307041759,6,!0]],1532957894:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],1967976161:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],2461110595:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],819618141:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],231477066:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],1136057603:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],3299480353:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0]],2979338954:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0]],39481116:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],1095909175:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0]],1909888760:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],1177604601:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["IsGroupedBy",1307041759,6,!0],["ServicesBuildings",366585022,4,!0]],2188180465:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],395041908:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],3293546465:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],2674252688:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],1285652485:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],2951183804:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],3296154744:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0]],2611217952:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],1677625105:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0]],2301859152:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],843113511:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0]],905975707:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0]],400855858:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],3850581409:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],2816379211:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],3898045240:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ResourceOf",205026976,6,!0]],1060000209:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ResourceOf",205026976,6,!0]],488727124:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ResourceOf",205026976,6,!0]],335055490:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],2954562838:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],1973544240:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["CoversSpaces",2802773753,5,!0],["CoversElements",886880790,5,!0]],3495092785:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0]],3961806047:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],1335981549:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0]],2635815018:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],1599208980:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],2063403501:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],1945004755:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasPorts",4201705270,5,!0]],3040386961:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],3041715199:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["ContainedIn",4201705270,4,!0],["ConnectedFrom",3190031847,5,!0],["ConnectedTo",3190031847,4,!0]],3205830791:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["IsGroupedBy",1307041759,6,!0],["ServicesBuildings",366585022,4,!0]],395920057:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0]],3242481149:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0]],869906466:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],3760055223:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],2030761528:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],663422040:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],2417008758:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],3277789161:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],1534661035:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],1217240411:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],712377611:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],1658829314:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],2814081492:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],3747195512:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],484807127:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],1209101575:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["ContainsElements",3242617779,5,!0],["ServicedBySystems",366585022,5,!0],["ReferencesElements",1245217292,5,!0],["BoundedBy",3451746338,4,!0]],346874300:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],1810631287:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],4222183408:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],2058353004:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],4278956645:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],4037862832:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],2188021234:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],3132237377:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],987401354:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],707683696:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],2223149337:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],3508470533:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],900683007:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0]],3319311131:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],2068733104:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],4175244083:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],2176052936:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],76236018:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],629592764:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],1437502449:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],1073191201:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0]],1911478936:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0]],2474470126:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],144952367:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],3694346114:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],1687234759:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0]],310824031:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],3612865200:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],3171933400:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0]],1156407060:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0]],738039164:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],655969474:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],90941305:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],2262370178:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0]],3024970846:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0]],3283111854:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0]],1232101972:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],979691226:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0]],2572171363:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],2016517767:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0]],3053780830:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],1783015770:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],1329646415:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0]],1529196076:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0]],3127900445:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0]],3027962421:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0]],3420628829:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],1999602285:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],1404847402:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],331165859:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0]],4252922144:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0]],2515109513:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["IsGroupedBy",1307041759,6,!0],["ServicesBuildings",366585022,4,!0]],385403989:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["IsGroupedBy",1307041759,6,!0],["SourceOfResultGroup",2986769608,6,!0],["LoadGroupFor",2515109513,7,!0]],1621171031:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["AssignedToStructuralItem",2127690289,5,!0]],1162798199:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],812556717:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],3825984169:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],3026737570:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],3179687236:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],4292641817:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],4207607924:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],2391406946:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0]],4156078855:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0]],3512223829:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0]],4237592921:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],3304561284:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0]],486154966:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0]],2874132201:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],1634111441:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],177149247:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],2056796094:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],3001207471:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],277319702:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],753842376:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0]],2906023776:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0]],32344328:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],2938176219:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],635142910:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],3758799889:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],1051757585:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],4217484030:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],3902619387:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],639361253:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],3221913625:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],3571504051:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],2272882330:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],578613899:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],4136498852:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],3640358203:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],4074379575:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],1052013943:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],562808652:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["IsGroupedBy",1307041759,6,!0],["ServicesBuildings",366585022,4,!0]],1062813311:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasPorts",4201705270,5,!0],["AssignedToFlowElement",279856033,4,!0]],342316401:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],3518393246:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],1360408905:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],1904799276:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],862014818:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],3310460725:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],264262732:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],402227799:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],1003880860:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],3415622556:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],819412036:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],1426591983:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],182646315:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasPorts",4201705270,5,!0],["AssignedToFlowElement",279856033,4,!0]],2295281155:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasPorts",4201705270,5,!0],["AssignedToFlowElement",279856033,4,!0]],4086658281:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasPorts",4201705270,5,!0],["AssignedToFlowElement",279856033,4,!0]],630975310:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasPorts",4201705270,5,!0],["AssignedToFlowElement",279856033,4,!0]],4288193352:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasPorts",4201705270,5,!0],["AssignedToFlowElement",279856033,4,!0]],3087945054:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasPorts",4201705270,5,!0],["AssignedToFlowElement",279856033,4,!0]],25142252:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasPorts",4201705270,5,!0],["AssignedToFlowElement",279856033,4,!0]]},V_[2]={3630933823:function(e,t){return new e_.IfcActorRole(e,t[0],t[1],t[2])},618182010:function(e,t){return new e_.IfcAddress(e,t[0],t[1],t[2])},639542469:function(e,t){return new e_.IfcApplication(e,t[0],t[1],t[2],t[3])},411424972:function(e,t){return new e_.IfcAppliedValue(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},130549933:function(e,t){return new e_.IfcApproval(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},4037036970:function(e,t){return new e_.IfcBoundaryCondition(e,t[0])},1560379544:function(e,t){return new e_.IfcBoundaryEdgeCondition(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6])},3367102660:function(e,t){return new e_.IfcBoundaryFaceCondition(e,t[0],t[1],t[2],t[3])},1387855156:function(e,t){return new e_.IfcBoundaryNodeCondition(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6])},2069777674:function(e,t){return new e_.IfcBoundaryNodeConditionWarping(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},2859738748:function(e,t){return new e_.IfcConnectionGeometry(e)},2614616156:function(e,t){return new e_.IfcConnectionPointGeometry(e,t[0],t[1])},2732653382:function(e,t){return new e_.IfcConnectionSurfaceGeometry(e,t[0],t[1])},775493141:function(e,t){return new e_.IfcConnectionVolumeGeometry(e,t[0],t[1])},1959218052:function(e,t){return new e_.IfcConstraint(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6])},1785450214:function(e,t){return new e_.IfcCoordinateOperation(e,t[0],t[1])},1466758467:function(e,t){return new e_.IfcCoordinateReferenceSystem(e,t[0],t[1],t[2],t[3])},602808272:function(e,t){return new e_.IfcCostValue(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},1765591967:function(e,t){return new e_.IfcDerivedUnit(e,t[0],t[1],t[2])},1045800335:function(e,t){return new e_.IfcDerivedUnitElement(e,t[0],t[1])},2949456006:function(e,t){return new e_.IfcDimensionalExponents(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6])},4294318154:function(e,t){return new e_.IfcExternalInformation(e)},3200245327:function(e,t){return new e_.IfcExternalReference(e,t[0],t[1],t[2])},2242383968:function(e,t){return new e_.IfcExternallyDefinedHatchStyle(e,t[0],t[1],t[2])},1040185647:function(e,t){return new e_.IfcExternallyDefinedSurfaceStyle(e,t[0],t[1],t[2])},3548104201:function(e,t){return new e_.IfcExternallyDefinedTextFont(e,t[0],t[1],t[2])},852622518:function(e,t){return new e_.IfcGridAxis(e,t[0],t[1],t[2])},3020489413:function(e,t){return new e_.IfcIrregularTimeSeriesValue(e,t[0],t[1])},2655187982:function(e,t){return new e_.IfcLibraryInformation(e,t[0],t[1],t[2],t[3],t[4],t[5])},3452421091:function(e,t){return new e_.IfcLibraryReference(e,t[0],t[1],t[2],t[3],t[4],t[5])},4162380809:function(e,t){return new e_.IfcLightDistributionData(e,t[0],t[1],t[2])},1566485204:function(e,t){return new e_.IfcLightIntensityDistribution(e,t[0],t[1])},3057273783:function(e,t){return new e_.IfcMapConversion(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},1847130766:function(e,t){return new e_.IfcMaterialClassificationRelationship(e,t[0],t[1])},760658860:function(e,t){return new e_.IfcMaterialDefinition(e)},248100487:function(e,t){return new e_.IfcMaterialLayer(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6])},3303938423:function(e,t){return new e_.IfcMaterialLayerSet(e,t[0],t[1],t[2])},1847252529:function(e,t){return new e_.IfcMaterialLayerWithOffsets(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},2199411900:function(e,t){return new e_.IfcMaterialList(e,t[0])},2235152071:function(e,t){return new e_.IfcMaterialProfile(e,t[0],t[1],t[2],t[3],t[4],t[5])},164193824:function(e,t){return new e_.IfcMaterialProfileSet(e,t[0],t[1],t[2],t[3])},552965576:function(e,t){return new e_.IfcMaterialProfileWithOffsets(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6])},1507914824:function(e,t){return new e_.IfcMaterialUsageDefinition(e)},2597039031:function(e,t){return new e_.IfcMeasureWithUnit(e,t[0],t[1])},3368373690:function(e,t){return new e_.IfcMetric(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10])},2706619895:function(e,t){return new e_.IfcMonetaryUnit(e,t[0])},1918398963:function(e,t){return new e_.IfcNamedUnit(e,t[0],t[1])},3701648758:function(e,t){return new e_.IfcObjectPlacement(e)},2251480897:function(e,t){return new e_.IfcObjective(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10])},4251960020:function(e,t){return new e_.IfcOrganization(e,t[0],t[1],t[2],t[3],t[4])},1207048766:function(e,t){return new e_.IfcOwnerHistory(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},2077209135:function(e,t){return new e_.IfcPerson(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},101040310:function(e,t){return new e_.IfcPersonAndOrganization(e,t[0],t[1],t[2])},2483315170:function(e,t){return new e_.IfcPhysicalQuantity(e,t[0],t[1])},2226359599:function(e,t){return new e_.IfcPhysicalSimpleQuantity(e,t[0],t[1],t[2])},3355820592:function(e,t){return new e_.IfcPostalAddress(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},677532197:function(e,t){return new e_.IfcPresentationItem(e)},2022622350:function(e,t){return new e_.IfcPresentationLayerAssignment(e,t[0],t[1],t[2],t[3])},1304840413:function(e,t){return new e_.IfcPresentationLayerWithStyle(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},3119450353:function(e,t){return new e_.IfcPresentationStyle(e,t[0])},2417041796:function(e,t){return new e_.IfcPresentationStyleAssignment(e,t[0])},2095639259:function(e,t){return new e_.IfcProductRepresentation(e,t[0],t[1],t[2])},3958567839:function(e,t){return new e_.IfcProfileDef(e,t[0],t[1])},3843373140:function(e,t){return new e_.IfcProjectedCRS(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6])},986844984:function(e,t){return new e_.IfcPropertyAbstraction(e)},3710013099:function(e,t){return new e_.IfcPropertyEnumeration(e,t[0],t[1],t[2])},2044713172:function(e,t){return new e_.IfcQuantityArea(e,t[0],t[1],t[2],t[3],t[4])},2093928680:function(e,t){return new e_.IfcQuantityCount(e,t[0],t[1],t[2],t[3],t[4])},931644368:function(e,t){return new e_.IfcQuantityLength(e,t[0],t[1],t[2],t[3],t[4])},3252649465:function(e,t){return new e_.IfcQuantityTime(e,t[0],t[1],t[2],t[3],t[4])},2405470396:function(e,t){return new e_.IfcQuantityVolume(e,t[0],t[1],t[2],t[3],t[4])},825690147:function(e,t){return new e_.IfcQuantityWeight(e,t[0],t[1],t[2],t[3],t[4])},3915482550:function(e,t){return new e_.IfcRecurrencePattern(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},2433181523:function(e,t){return new e_.IfcReference(e,t[0],t[1],t[2],t[3],t[4])},1076942058:function(e,t){return new e_.IfcRepresentation(e,t[0],t[1],t[2],t[3])},3377609919:function(e,t){return new e_.IfcRepresentationContext(e,t[0],t[1])},3008791417:function(e,t){return new e_.IfcRepresentationItem(e)},1660063152:function(e,t){return new e_.IfcRepresentationMap(e,t[0],t[1])},2439245199:function(e,t){return new e_.IfcResourceLevelRelationship(e,t[0],t[1])},2341007311:function(e,t){return new e_.IfcRoot(e,t[0],t[1],t[2],t[3])},448429030:function(e,t){return new e_.IfcSIUnit(e,t[0],t[1],t[2])},1054537805:function(e,t){return new e_.IfcSchedulingTime(e,t[0],t[1],t[2])},867548509:function(e,t){return new e_.IfcShapeAspect(e,t[0],t[1],t[2],t[3],t[4])},3982875396:function(e,t){return new e_.IfcShapeModel(e,t[0],t[1],t[2],t[3])},4240577450:function(e,t){return new e_.IfcShapeRepresentation(e,t[0],t[1],t[2],t[3])},2273995522:function(e,t){return new e_.IfcStructuralConnectionCondition(e,t[0])},2162789131:function(e,t){return new e_.IfcStructuralLoad(e,t[0])},3478079324:function(e,t){return new e_.IfcStructuralLoadConfiguration(e,t[0],t[1],t[2])},609421318:function(e,t){return new e_.IfcStructuralLoadOrResult(e,t[0])},2525727697:function(e,t){return new e_.IfcStructuralLoadStatic(e,t[0])},3408363356:function(e,t){return new e_.IfcStructuralLoadTemperature(e,t[0],t[1],t[2],t[3])},2830218821:function(e,t){return new e_.IfcStyleModel(e,t[0],t[1],t[2],t[3])},3958052878:function(e,t){return new e_.IfcStyledItem(e,t[0],t[1],t[2])},3049322572:function(e,t){return new e_.IfcStyledRepresentation(e,t[0],t[1],t[2],t[3])},2934153892:function(e,t){return new e_.IfcSurfaceReinforcementArea(e,t[0],t[1],t[2],t[3])},1300840506:function(e,t){return new e_.IfcSurfaceStyle(e,t[0],t[1],t[2])},3303107099:function(e,t){return new e_.IfcSurfaceStyleLighting(e,t[0],t[1],t[2],t[3])},1607154358:function(e,t){return new e_.IfcSurfaceStyleRefraction(e,t[0],t[1])},846575682:function(e,t){return new e_.IfcSurfaceStyleShading(e,t[0],t[1])},1351298697:function(e,t){return new e_.IfcSurfaceStyleWithTextures(e,t[0])},626085974:function(e,t){return new e_.IfcSurfaceTexture(e,t[0],t[1],t[2],t[3],t[4])},985171141:function(e,t){return new e_.IfcTable(e,t[0],t[1],t[2])},2043862942:function(e,t){return new e_.IfcTableColumn(e,t[0],t[1],t[2],t[3],t[4])},531007025:function(e,t){return new e_.IfcTableRow(e,t[0],t[1])},1549132990:function(e,t){return new e_.IfcTaskTime(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12],t[13],t[14],t[15],t[16],t[17],t[18],t[19])},2771591690:function(e,t){return new e_.IfcTaskTimeRecurring(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12],t[13],t[14],t[15],t[16],t[17],t[18],t[19],t[20])},912023232:function(e,t){return new e_.IfcTelecomAddress(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},1447204868:function(e,t){return new e_.IfcTextStyle(e,t[0],t[1],t[2],t[3],t[4])},2636378356:function(e,t){return new e_.IfcTextStyleForDefinedFont(e,t[0],t[1])},1640371178:function(e,t){return new e_.IfcTextStyleTextModel(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6])},280115917:function(e,t){return new e_.IfcTextureCoordinate(e,t[0])},1742049831:function(e,t){return new e_.IfcTextureCoordinateGenerator(e,t[0],t[1],t[2])},2552916305:function(e,t){return new e_.IfcTextureMap(e,t[0],t[1],t[2])},1210645708:function(e,t){return new e_.IfcTextureVertex(e,t[0])},3611470254:function(e,t){return new e_.IfcTextureVertexList(e,t[0])},1199560280:function(e,t){return new e_.IfcTimePeriod(e,t[0],t[1])},3101149627:function(e,t){return new e_.IfcTimeSeries(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},581633288:function(e,t){return new e_.IfcTimeSeriesValue(e,t[0])},1377556343:function(e,t){return new e_.IfcTopologicalRepresentationItem(e)},1735638870:function(e,t){return new e_.IfcTopologyRepresentation(e,t[0],t[1],t[2],t[3])},180925521:function(e,t){return new e_.IfcUnitAssignment(e,t[0])},2799835756:function(e,t){return new e_.IfcVertex(e)},1907098498:function(e,t){return new e_.IfcVertexPoint(e,t[0])},891718957:function(e,t){return new e_.IfcVirtualGridIntersection(e,t[0],t[1])},1236880293:function(e,t){return new e_.IfcWorkTime(e,t[0],t[1],t[2],t[3],t[4],t[5])},3869604511:function(e,t){return new e_.IfcApprovalRelationship(e,t[0],t[1],t[2],t[3])},3798115385:function(e,t){return new e_.IfcArbitraryClosedProfileDef(e,t[0],t[1],t[2])},1310608509:function(e,t){return new e_.IfcArbitraryOpenProfileDef(e,t[0],t[1],t[2])},2705031697:function(e,t){return new e_.IfcArbitraryProfileDefWithVoids(e,t[0],t[1],t[2],t[3])},616511568:function(e,t){return new e_.IfcBlobTexture(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6])},3150382593:function(e,t){return new e_.IfcCenterLineProfileDef(e,t[0],t[1],t[2],t[3])},747523909:function(e,t){return new e_.IfcClassification(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6])},647927063:function(e,t){return new e_.IfcClassificationReference(e,t[0],t[1],t[2],t[3],t[4],t[5])},3285139300:function(e,t){return new e_.IfcColourRgbList(e,t[0])},3264961684:function(e,t){return new e_.IfcColourSpecification(e,t[0])},1485152156:function(e,t){return new e_.IfcCompositeProfileDef(e,t[0],t[1],t[2],t[3])},370225590:function(e,t){return new e_.IfcConnectedFaceSet(e,t[0])},1981873012:function(e,t){return new e_.IfcConnectionCurveGeometry(e,t[0],t[1])},45288368:function(e,t){return new e_.IfcConnectionPointEccentricity(e,t[0],t[1],t[2],t[3],t[4])},3050246964:function(e,t){return new e_.IfcContextDependentUnit(e,t[0],t[1],t[2])},2889183280:function(e,t){return new e_.IfcConversionBasedUnit(e,t[0],t[1],t[2],t[3])},2713554722:function(e,t){return new e_.IfcConversionBasedUnitWithOffset(e,t[0],t[1],t[2],t[3],t[4])},539742890:function(e,t){return new e_.IfcCurrencyRelationship(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6])},3800577675:function(e,t){return new e_.IfcCurveStyle(e,t[0],t[1],t[2],t[3],t[4])},1105321065:function(e,t){return new e_.IfcCurveStyleFont(e,t[0],t[1])},2367409068:function(e,t){return new e_.IfcCurveStyleFontAndScaling(e,t[0],t[1],t[2])},3510044353:function(e,t){return new e_.IfcCurveStyleFontPattern(e,t[0],t[1])},3632507154:function(e,t){return new e_.IfcDerivedProfileDef(e,t[0],t[1],t[2],t[3],t[4])},1154170062:function(e,t){return new e_.IfcDocumentInformation(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12],t[13],t[14],t[15],t[16])},770865208:function(e,t){return new e_.IfcDocumentInformationRelationship(e,t[0],t[1],t[2],t[3],t[4])},3732053477:function(e,t){return new e_.IfcDocumentReference(e,t[0],t[1],t[2],t[3],t[4])},3900360178:function(e,t){return new e_.IfcEdge(e,t[0],t[1])},476780140:function(e,t){return new e_.IfcEdgeCurve(e,t[0],t[1],t[2],t[3])},211053100:function(e,t){return new e_.IfcEventTime(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6])},297599258:function(e,t){return new e_.IfcExtendedProperties(e,t[0],t[1],t[2])},1437805879:function(e,t){return new e_.IfcExternalReferenceRelationship(e,t[0],t[1],t[2],t[3])},2556980723:function(e,t){return new e_.IfcFace(e,t[0])},1809719519:function(e,t){return new e_.IfcFaceBound(e,t[0],t[1])},803316827:function(e,t){return new e_.IfcFaceOuterBound(e,t[0],t[1])},3008276851:function(e,t){return new e_.IfcFaceSurface(e,t[0],t[1],t[2])},4219587988:function(e,t){return new e_.IfcFailureConnectionCondition(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6])},738692330:function(e,t){return new e_.IfcFillAreaStyle(e,t[0],t[1],t[2])},3448662350:function(e,t){return new e_.IfcGeometricRepresentationContext(e,t[0],t[1],t[2],t[3],t[4],t[5])},2453401579:function(e,t){return new e_.IfcGeometricRepresentationItem(e)},4142052618:function(e,t){return new e_.IfcGeometricRepresentationSubContext(e,t[0],t[1],t[2],t[3],t[4],t[5])},3590301190:function(e,t){return new e_.IfcGeometricSet(e,t[0])},178086475:function(e,t){return new e_.IfcGridPlacement(e,t[0],t[1])},812098782:function(e,t){return new e_.IfcHalfSpaceSolid(e,t[0],t[1])},3905492369:function(e,t){return new e_.IfcImageTexture(e,t[0],t[1],t[2],t[3],t[4],t[5])},3570813810:function(e,t){return new e_.IfcIndexedColourMap(e,t[0],t[1],t[2],t[3])},1437953363:function(e,t){return new e_.IfcIndexedTextureMap(e,t[0],t[1],t[2])},2133299955:function(e,t){return new e_.IfcIndexedTriangleTextureMap(e,t[0],t[1],t[2],t[3])},3741457305:function(e,t){return new e_.IfcIrregularTimeSeries(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},1585845231:function(e,t){return new e_.IfcLagTime(e,t[0],t[1],t[2],t[3],t[4])},1402838566:function(e,t){return new e_.IfcLightSource(e,t[0],t[1],t[2],t[3])},125510826:function(e,t){return new e_.IfcLightSourceAmbient(e,t[0],t[1],t[2],t[3])},2604431987:function(e,t){return new e_.IfcLightSourceDirectional(e,t[0],t[1],t[2],t[3],t[4])},4266656042:function(e,t){return new e_.IfcLightSourceGoniometric(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},1520743889:function(e,t){return new e_.IfcLightSourcePositional(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},3422422726:function(e,t){return new e_.IfcLightSourceSpot(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12])},2624227202:function(e,t){return new e_.IfcLocalPlacement(e,t[0],t[1])},1008929658:function(e,t){return new e_.IfcLoop(e)},2347385850:function(e,t){return new e_.IfcMappedItem(e,t[0],t[1])},1838606355:function(e,t){return new e_.IfcMaterial(e,t[0],t[1],t[2])},3708119e3:function(e,t){return new e_.IfcMaterialConstituent(e,t[0],t[1],t[2],t[3],t[4])},2852063980:function(e,t){return new e_.IfcMaterialConstituentSet(e,t[0],t[1],t[2])},2022407955:function(e,t){return new e_.IfcMaterialDefinitionRepresentation(e,t[0],t[1],t[2],t[3])},1303795690:function(e,t){return new e_.IfcMaterialLayerSetUsage(e,t[0],t[1],t[2],t[3],t[4])},3079605661:function(e,t){return new e_.IfcMaterialProfileSetUsage(e,t[0],t[1],t[2])},3404854881:function(e,t){return new e_.IfcMaterialProfileSetUsageTapering(e,t[0],t[1],t[2],t[3],t[4])},3265635763:function(e,t){return new e_.IfcMaterialProperties(e,t[0],t[1],t[2],t[3])},853536259:function(e,t){return new e_.IfcMaterialRelationship(e,t[0],t[1],t[2],t[3],t[4])},2998442950:function(e,t){return new e_.IfcMirroredProfileDef(e,t[0],t[1],t[2],t[3])},219451334:function(e,t){return new e_.IfcObjectDefinition(e,t[0],t[1],t[2],t[3])},2665983363:function(e,t){return new e_.IfcOpenShell(e,t[0])},1411181986:function(e,t){return new e_.IfcOrganizationRelationship(e,t[0],t[1],t[2],t[3])},1029017970:function(e,t){return new e_.IfcOrientedEdge(e,t[0],t[1])},2529465313:function(e,t){return new e_.IfcParameterizedProfileDef(e,t[0],t[1],t[2])},2519244187:function(e,t){return new e_.IfcPath(e,t[0])},3021840470:function(e,t){return new e_.IfcPhysicalComplexQuantity(e,t[0],t[1],t[2],t[3],t[4],t[5])},597895409:function(e,t){return new e_.IfcPixelTexture(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},2004835150:function(e,t){return new e_.IfcPlacement(e,t[0])},1663979128:function(e,t){return new e_.IfcPlanarExtent(e,t[0],t[1])},2067069095:function(e,t){return new e_.IfcPoint(e)},4022376103:function(e,t){return new e_.IfcPointOnCurve(e,t[0],t[1])},1423911732:function(e,t){return new e_.IfcPointOnSurface(e,t[0],t[1],t[2])},2924175390:function(e,t){return new e_.IfcPolyLoop(e,t[0])},2775532180:function(e,t){return new e_.IfcPolygonalBoundedHalfSpace(e,t[0],t[1],t[2],t[3])},3727388367:function(e,t){return new e_.IfcPreDefinedItem(e,t[0])},3778827333:function(e,t){return new e_.IfcPreDefinedProperties(e)},1775413392:function(e,t){return new e_.IfcPreDefinedTextFont(e,t[0])},673634403:function(e,t){return new e_.IfcProductDefinitionShape(e,t[0],t[1],t[2])},2802850158:function(e,t){return new e_.IfcProfileProperties(e,t[0],t[1],t[2],t[3])},2598011224:function(e,t){return new e_.IfcProperty(e,t[0],t[1])},1680319473:function(e,t){return new e_.IfcPropertyDefinition(e,t[0],t[1],t[2],t[3])},148025276:function(e,t){return new e_.IfcPropertyDependencyRelationship(e,t[0],t[1],t[2],t[3],t[4])},3357820518:function(e,t){return new e_.IfcPropertySetDefinition(e,t[0],t[1],t[2],t[3])},1482703590:function(e,t){return new e_.IfcPropertyTemplateDefinition(e,t[0],t[1],t[2],t[3])},2090586900:function(e,t){return new e_.IfcQuantitySet(e,t[0],t[1],t[2],t[3])},3615266464:function(e,t){return new e_.IfcRectangleProfileDef(e,t[0],t[1],t[2],t[3],t[4])},3413951693:function(e,t){return new e_.IfcRegularTimeSeries(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},1580146022:function(e,t){return new e_.IfcReinforcementBarProperties(e,t[0],t[1],t[2],t[3],t[4],t[5])},478536968:function(e,t){return new e_.IfcRelationship(e,t[0],t[1],t[2],t[3])},2943643501:function(e,t){return new e_.IfcResourceApprovalRelationship(e,t[0],t[1],t[2],t[3])},1608871552:function(e,t){return new e_.IfcResourceConstraintRelationship(e,t[0],t[1],t[2],t[3])},1042787934:function(e,t){return new e_.IfcResourceTime(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12],t[13],t[14],t[15],t[16],t[17])},2778083089:function(e,t){return new e_.IfcRoundedRectangleProfileDef(e,t[0],t[1],t[2],t[3],t[4],t[5])},2042790032:function(e,t){return new e_.IfcSectionProperties(e,t[0],t[1],t[2])},4165799628:function(e,t){return new e_.IfcSectionReinforcementProperties(e,t[0],t[1],t[2],t[3],t[4],t[5])},1509187699:function(e,t){return new e_.IfcSectionedSpine(e,t[0],t[1],t[2])},4124623270:function(e,t){return new e_.IfcShellBasedSurfaceModel(e,t[0])},3692461612:function(e,t){return new e_.IfcSimpleProperty(e,t[0],t[1])},2609359061:function(e,t){return new e_.IfcSlippageConnectionCondition(e,t[0],t[1],t[2],t[3])},723233188:function(e,t){return new e_.IfcSolidModel(e)},1595516126:function(e,t){return new e_.IfcStructuralLoadLinearForce(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6])},2668620305:function(e,t){return new e_.IfcStructuralLoadPlanarForce(e,t[0],t[1],t[2],t[3])},2473145415:function(e,t){return new e_.IfcStructuralLoadSingleDisplacement(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6])},1973038258:function(e,t){return new e_.IfcStructuralLoadSingleDisplacementDistortion(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},1597423693:function(e,t){return new e_.IfcStructuralLoadSingleForce(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6])},1190533807:function(e,t){return new e_.IfcStructuralLoadSingleForceWarping(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},2233826070:function(e,t){return new e_.IfcSubedge(e,t[0],t[1],t[2])},2513912981:function(e,t){return new e_.IfcSurface(e)},1878645084:function(e,t){return new e_.IfcSurfaceStyleRendering(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},2247615214:function(e,t){return new e_.IfcSweptAreaSolid(e,t[0],t[1])},1260650574:function(e,t){return new e_.IfcSweptDiskSolid(e,t[0],t[1],t[2],t[3],t[4])},1096409881:function(e,t){return new e_.IfcSweptDiskSolidPolygonal(e,t[0],t[1],t[2],t[3],t[4],t[5])},230924584:function(e,t){return new e_.IfcSweptSurface(e,t[0],t[1])},3071757647:function(e,t){return new e_.IfcTShapeProfileDef(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11])},901063453:function(e,t){return new e_.IfcTessellatedItem(e)},4282788508:function(e,t){return new e_.IfcTextLiteral(e,t[0],t[1],t[2])},3124975700:function(e,t){return new e_.IfcTextLiteralWithExtent(e,t[0],t[1],t[2],t[3],t[4])},1983826977:function(e,t){return new e_.IfcTextStyleFontModel(e,t[0],t[1],t[2],t[3],t[4],t[5])},2715220739:function(e,t){return new e_.IfcTrapeziumProfileDef(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6])},1628702193:function(e,t){return new e_.IfcTypeObject(e,t[0],t[1],t[2],t[3],t[4],t[5])},3736923433:function(e,t){return new e_.IfcTypeProcess(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},2347495698:function(e,t){return new e_.IfcTypeProduct(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},3698973494:function(e,t){return new e_.IfcTypeResource(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},427810014:function(e,t){return new e_.IfcUShapeProfileDef(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},1417489154:function(e,t){return new e_.IfcVector(e,t[0],t[1])},2759199220:function(e,t){return new e_.IfcVertexLoop(e,t[0])},1299126871:function(e,t){return new e_.IfcWindowStyle(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11])},2543172580:function(e,t){return new e_.IfcZShapeProfileDef(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},3406155212:function(e,t){return new e_.IfcAdvancedFace(e,t[0],t[1],t[2])},669184980:function(e,t){return new e_.IfcAnnotationFillArea(e,t[0],t[1])},3207858831:function(e,t){return new e_.IfcAsymmetricIShapeProfileDef(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12],t[13],t[14])},4261334040:function(e,t){return new e_.IfcAxis1Placement(e,t[0],t[1])},3125803723:function(e,t){return new e_.IfcAxis2Placement2D(e,t[0],t[1])},2740243338:function(e,t){return new e_.IfcAxis2Placement3D(e,t[0],t[1],t[2])},2736907675:function(e,t){return new e_.IfcBooleanResult(e,t[0],t[1],t[2])},4182860854:function(e,t){return new e_.IfcBoundedSurface(e)},2581212453:function(e,t){return new e_.IfcBoundingBox(e,t[0],t[1],t[2],t[3])},2713105998:function(e,t){return new e_.IfcBoxedHalfSpace(e,t[0],t[1],t[2])},2898889636:function(e,t){return new e_.IfcCShapeProfileDef(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},1123145078:function(e,t){return new e_.IfcCartesianPoint(e,t[0])},574549367:function(e,t){return new e_.IfcCartesianPointList(e)},1675464909:function(e,t){return new e_.IfcCartesianPointList2D(e,t[0])},2059837836:function(e,t){return new e_.IfcCartesianPointList3D(e,t[0])},59481748:function(e,t){return new e_.IfcCartesianTransformationOperator(e,t[0],t[1],t[2],t[3])},3749851601:function(e,t){return new e_.IfcCartesianTransformationOperator2D(e,t[0],t[1],t[2],t[3])},3486308946:function(e,t){return new e_.IfcCartesianTransformationOperator2DnonUniform(e,t[0],t[1],t[2],t[3],t[4])},3331915920:function(e,t){return new e_.IfcCartesianTransformationOperator3D(e,t[0],t[1],t[2],t[3],t[4])},1416205885:function(e,t){return new e_.IfcCartesianTransformationOperator3DnonUniform(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6])},1383045692:function(e,t){return new e_.IfcCircleProfileDef(e,t[0],t[1],t[2],t[3])},2205249479:function(e,t){return new e_.IfcClosedShell(e,t[0])},776857604:function(e,t){return new e_.IfcColourRgb(e,t[0],t[1],t[2],t[3])},2542286263:function(e,t){return new e_.IfcComplexProperty(e,t[0],t[1],t[2],t[3])},2485617015:function(e,t){return new e_.IfcCompositeCurveSegment(e,t[0],t[1],t[2])},2574617495:function(e,t){return new e_.IfcConstructionResourceType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10])},3419103109:function(e,t){return new e_.IfcContext(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},1815067380:function(e,t){return new e_.IfcCrewResourceType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11])},2506170314:function(e,t){return new e_.IfcCsgPrimitive3D(e,t[0])},2147822146:function(e,t){return new e_.IfcCsgSolid(e,t[0])},2601014836:function(e,t){return new e_.IfcCurve(e)},2827736869:function(e,t){return new e_.IfcCurveBoundedPlane(e,t[0],t[1],t[2])},2629017746:function(e,t){return new e_.IfcCurveBoundedSurface(e,t[0],t[1],t[2])},32440307:function(e,t){return new e_.IfcDirection(e,t[0])},526551008:function(e,t){return new e_.IfcDoorStyle(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11])},1472233963:function(e,t){return new e_.IfcEdgeLoop(e,t[0])},1883228015:function(e,t){return new e_.IfcElementQuantity(e,t[0],t[1],t[2],t[3],t[4],t[5])},339256511:function(e,t){return new e_.IfcElementType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},2777663545:function(e,t){return new e_.IfcElementarySurface(e,t[0])},2835456948:function(e,t){return new e_.IfcEllipseProfileDef(e,t[0],t[1],t[2],t[3],t[4])},4024345920:function(e,t){return new e_.IfcEventType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11])},477187591:function(e,t){return new e_.IfcExtrudedAreaSolid(e,t[0],t[1],t[2],t[3])},2804161546:function(e,t){return new e_.IfcExtrudedAreaSolidTapered(e,t[0],t[1],t[2],t[3],t[4])},2047409740:function(e,t){return new e_.IfcFaceBasedSurfaceModel(e,t[0])},374418227:function(e,t){return new e_.IfcFillAreaStyleHatching(e,t[0],t[1],t[2],t[3],t[4])},315944413:function(e,t){return new e_.IfcFillAreaStyleTiles(e,t[0],t[1],t[2])},2652556860:function(e,t){return new e_.IfcFixedReferenceSweptAreaSolid(e,t[0],t[1],t[2],t[3],t[4],t[5])},4238390223:function(e,t){return new e_.IfcFurnishingElementType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},1268542332:function(e,t){return new e_.IfcFurnitureType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10])},4095422895:function(e,t){return new e_.IfcGeographicElementType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},987898635:function(e,t){return new e_.IfcGeometricCurveSet(e,t[0])},1484403080:function(e,t){return new e_.IfcIShapeProfileDef(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},178912537:function(e,t){return new e_.IfcIndexedPolygonalFace(e,t[0])},2294589976:function(e,t){return new e_.IfcIndexedPolygonalFaceWithVoids(e,t[0],t[1])},572779678:function(e,t){return new e_.IfcLShapeProfileDef(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},428585644:function(e,t){return new e_.IfcLaborResourceType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11])},1281925730:function(e,t){return new e_.IfcLine(e,t[0],t[1])},1425443689:function(e,t){return new e_.IfcManifoldSolidBrep(e,t[0])},3888040117:function(e,t){return new e_.IfcObject(e,t[0],t[1],t[2],t[3],t[4])},3388369263:function(e,t){return new e_.IfcOffsetCurve2D(e,t[0],t[1],t[2])},3505215534:function(e,t){return new e_.IfcOffsetCurve3D(e,t[0],t[1],t[2],t[3])},1682466193:function(e,t){return new e_.IfcPcurve(e,t[0],t[1])},603570806:function(e,t){return new e_.IfcPlanarBox(e,t[0],t[1],t[2])},220341763:function(e,t){return new e_.IfcPlane(e,t[0])},759155922:function(e,t){return new e_.IfcPreDefinedColour(e,t[0])},2559016684:function(e,t){return new e_.IfcPreDefinedCurveFont(e,t[0])},3967405729:function(e,t){return new e_.IfcPreDefinedPropertySet(e,t[0],t[1],t[2],t[3])},569719735:function(e,t){return new e_.IfcProcedureType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},2945172077:function(e,t){return new e_.IfcProcess(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6])},4208778838:function(e,t){return new e_.IfcProduct(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6])},103090709:function(e,t){return new e_.IfcProject(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},653396225:function(e,t){return new e_.IfcProjectLibrary(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},871118103:function(e,t){return new e_.IfcPropertyBoundedValue(e,t[0],t[1],t[2],t[3],t[4],t[5])},4166981789:function(e,t){return new e_.IfcPropertyEnumeratedValue(e,t[0],t[1],t[2],t[3])},2752243245:function(e,t){return new e_.IfcPropertyListValue(e,t[0],t[1],t[2],t[3])},941946838:function(e,t){return new e_.IfcPropertyReferenceValue(e,t[0],t[1],t[2],t[3])},1451395588:function(e,t){return new e_.IfcPropertySet(e,t[0],t[1],t[2],t[3],t[4])},492091185:function(e,t){return new e_.IfcPropertySetTemplate(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6])},3650150729:function(e,t){return new e_.IfcPropertySingleValue(e,t[0],t[1],t[2],t[3])},110355661:function(e,t){return new e_.IfcPropertyTableValue(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},3521284610:function(e,t){return new e_.IfcPropertyTemplate(e,t[0],t[1],t[2],t[3])},3219374653:function(e,t){return new e_.IfcProxy(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},2770003689:function(e,t){return new e_.IfcRectangleHollowProfileDef(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},2798486643:function(e,t){return new e_.IfcRectangularPyramid(e,t[0],t[1],t[2],t[3])},3454111270:function(e,t){return new e_.IfcRectangularTrimmedSurface(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6])},3765753017:function(e,t){return new e_.IfcReinforcementDefinitionProperties(e,t[0],t[1],t[2],t[3],t[4],t[5])},3939117080:function(e,t){return new e_.IfcRelAssigns(e,t[0],t[1],t[2],t[3],t[4],t[5])},1683148259:function(e,t){return new e_.IfcRelAssignsToActor(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},2495723537:function(e,t){return new e_.IfcRelAssignsToControl(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6])},1307041759:function(e,t){return new e_.IfcRelAssignsToGroup(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6])},1027710054:function(e,t){return new e_.IfcRelAssignsToGroupByFactor(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},4278684876:function(e,t){return new e_.IfcRelAssignsToProcess(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},2857406711:function(e,t){return new e_.IfcRelAssignsToProduct(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6])},205026976:function(e,t){return new e_.IfcRelAssignsToResource(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6])},1865459582:function(e,t){return new e_.IfcRelAssociates(e,t[0],t[1],t[2],t[3],t[4])},4095574036:function(e,t){return new e_.IfcRelAssociatesApproval(e,t[0],t[1],t[2],t[3],t[4],t[5])},919958153:function(e,t){return new e_.IfcRelAssociatesClassification(e,t[0],t[1],t[2],t[3],t[4],t[5])},2728634034:function(e,t){return new e_.IfcRelAssociatesConstraint(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6])},982818633:function(e,t){return new e_.IfcRelAssociatesDocument(e,t[0],t[1],t[2],t[3],t[4],t[5])},3840914261:function(e,t){return new e_.IfcRelAssociatesLibrary(e,t[0],t[1],t[2],t[3],t[4],t[5])},2655215786:function(e,t){return new e_.IfcRelAssociatesMaterial(e,t[0],t[1],t[2],t[3],t[4],t[5])},826625072:function(e,t){return new e_.IfcRelConnects(e,t[0],t[1],t[2],t[3])},1204542856:function(e,t){return new e_.IfcRelConnectsElements(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6])},3945020480:function(e,t){return new e_.IfcRelConnectsPathElements(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10])},4201705270:function(e,t){return new e_.IfcRelConnectsPortToElement(e,t[0],t[1],t[2],t[3],t[4],t[5])},3190031847:function(e,t){return new e_.IfcRelConnectsPorts(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6])},2127690289:function(e,t){return new e_.IfcRelConnectsStructuralActivity(e,t[0],t[1],t[2],t[3],t[4],t[5])},1638771189:function(e,t){return new e_.IfcRelConnectsStructuralMember(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},504942748:function(e,t){return new e_.IfcRelConnectsWithEccentricity(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10])},3678494232:function(e,t){return new e_.IfcRelConnectsWithRealizingElements(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},3242617779:function(e,t){return new e_.IfcRelContainedInSpatialStructure(e,t[0],t[1],t[2],t[3],t[4],t[5])},886880790:function(e,t){return new e_.IfcRelCoversBldgElements(e,t[0],t[1],t[2],t[3],t[4],t[5])},2802773753:function(e,t){return new e_.IfcRelCoversSpaces(e,t[0],t[1],t[2],t[3],t[4],t[5])},2565941209:function(e,t){return new e_.IfcRelDeclares(e,t[0],t[1],t[2],t[3],t[4],t[5])},2551354335:function(e,t){return new e_.IfcRelDecomposes(e,t[0],t[1],t[2],t[3])},693640335:function(e,t){return new e_.IfcRelDefines(e,t[0],t[1],t[2],t[3])},1462361463:function(e,t){return new e_.IfcRelDefinesByObject(e,t[0],t[1],t[2],t[3],t[4],t[5])},4186316022:function(e,t){return new e_.IfcRelDefinesByProperties(e,t[0],t[1],t[2],t[3],t[4],t[5])},307848117:function(e,t){return new e_.IfcRelDefinesByTemplate(e,t[0],t[1],t[2],t[3],t[4],t[5])},781010003:function(e,t){return new e_.IfcRelDefinesByType(e,t[0],t[1],t[2],t[3],t[4],t[5])},3940055652:function(e,t){return new e_.IfcRelFillsElement(e,t[0],t[1],t[2],t[3],t[4],t[5])},279856033:function(e,t){return new e_.IfcRelFlowControlElements(e,t[0],t[1],t[2],t[3],t[4],t[5])},427948657:function(e,t){return new e_.IfcRelInterferesElements(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},3268803585:function(e,t){return new e_.IfcRelNests(e,t[0],t[1],t[2],t[3],t[4],t[5])},750771296:function(e,t){return new e_.IfcRelProjectsElement(e,t[0],t[1],t[2],t[3],t[4],t[5])},1245217292:function(e,t){return new e_.IfcRelReferencedInSpatialStructure(e,t[0],t[1],t[2],t[3],t[4],t[5])},4122056220:function(e,t){return new e_.IfcRelSequence(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},366585022:function(e,t){return new e_.IfcRelServicesBuildings(e,t[0],t[1],t[2],t[3],t[4],t[5])},3451746338:function(e,t){return new e_.IfcRelSpaceBoundary(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},3523091289:function(e,t){return new e_.IfcRelSpaceBoundary1stLevel(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},1521410863:function(e,t){return new e_.IfcRelSpaceBoundary2ndLevel(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10])},1401173127:function(e,t){return new e_.IfcRelVoidsElement(e,t[0],t[1],t[2],t[3],t[4],t[5])},816062949:function(e,t){return new e_.IfcReparametrisedCompositeCurveSegment(e,t[0],t[1],t[2],t[3])},2914609552:function(e,t){return new e_.IfcResource(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6])},1856042241:function(e,t){return new e_.IfcRevolvedAreaSolid(e,t[0],t[1],t[2],t[3])},3243963512:function(e,t){return new e_.IfcRevolvedAreaSolidTapered(e,t[0],t[1],t[2],t[3],t[4])},4158566097:function(e,t){return new e_.IfcRightCircularCone(e,t[0],t[1],t[2])},3626867408:function(e,t){return new e_.IfcRightCircularCylinder(e,t[0],t[1],t[2])},3663146110:function(e,t){return new e_.IfcSimplePropertyTemplate(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11])},1412071761:function(e,t){return new e_.IfcSpatialElement(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},710998568:function(e,t){return new e_.IfcSpatialElementType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},2706606064:function(e,t){return new e_.IfcSpatialStructureElement(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},3893378262:function(e,t){return new e_.IfcSpatialStructureElementType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},463610769:function(e,t){return new e_.IfcSpatialZone(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},2481509218:function(e,t){return new e_.IfcSpatialZoneType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10])},451544542:function(e,t){return new e_.IfcSphere(e,t[0],t[1])},4015995234:function(e,t){return new e_.IfcSphericalSurface(e,t[0],t[1])},3544373492:function(e,t){return new e_.IfcStructuralActivity(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},3136571912:function(e,t){return new e_.IfcStructuralItem(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6])},530289379:function(e,t){return new e_.IfcStructuralMember(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6])},3689010777:function(e,t){return new e_.IfcStructuralReaction(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},3979015343:function(e,t){return new e_.IfcStructuralSurfaceMember(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},2218152070:function(e,t){return new e_.IfcStructuralSurfaceMemberVarying(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},603775116:function(e,t){return new e_.IfcStructuralSurfaceReaction(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},4095615324:function(e,t){return new e_.IfcSubContractResourceType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11])},699246055:function(e,t){return new e_.IfcSurfaceCurve(e,t[0],t[1],t[2])},2028607225:function(e,t){return new e_.IfcSurfaceCurveSweptAreaSolid(e,t[0],t[1],t[2],t[3],t[4],t[5])},2809605785:function(e,t){return new e_.IfcSurfaceOfLinearExtrusion(e,t[0],t[1],t[2],t[3])},4124788165:function(e,t){return new e_.IfcSurfaceOfRevolution(e,t[0],t[1],t[2])},1580310250:function(e,t){return new e_.IfcSystemFurnitureElementType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},3473067441:function(e,t){return new e_.IfcTask(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12])},3206491090:function(e,t){return new e_.IfcTaskType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10])},2387106220:function(e,t){return new e_.IfcTessellatedFaceSet(e,t[0])},1935646853:function(e,t){return new e_.IfcToroidalSurface(e,t[0],t[1],t[2])},2097647324:function(e,t){return new e_.IfcTransportElementType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},2916149573:function(e,t){return new e_.IfcTriangulatedFaceSet(e,t[0],t[1],t[2],t[3],t[4])},336235671:function(e,t){return new e_.IfcWindowLiningProperties(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12],t[13],t[14],t[15])},512836454:function(e,t){return new e_.IfcWindowPanelProperties(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},2296667514:function(e,t){return new e_.IfcActor(e,t[0],t[1],t[2],t[3],t[4],t[5])},1635779807:function(e,t){return new e_.IfcAdvancedBrep(e,t[0])},2603310189:function(e,t){return new e_.IfcAdvancedBrepWithVoids(e,t[0],t[1])},1674181508:function(e,t){return new e_.IfcAnnotation(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6])},2887950389:function(e,t){return new e_.IfcBSplineSurface(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6])},167062518:function(e,t){return new e_.IfcBSplineSurfaceWithKnots(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11])},1334484129:function(e,t){return new e_.IfcBlock(e,t[0],t[1],t[2],t[3])},3649129432:function(e,t){return new e_.IfcBooleanClippingResult(e,t[0],t[1],t[2])},1260505505:function(e,t){return new e_.IfcBoundedCurve(e)},4031249490:function(e,t){return new e_.IfcBuilding(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11])},1950629157:function(e,t){return new e_.IfcBuildingElementType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},3124254112:function(e,t){return new e_.IfcBuildingStorey(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},2197970202:function(e,t){return new e_.IfcChimneyType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},2937912522:function(e,t){return new e_.IfcCircleHollowProfileDef(e,t[0],t[1],t[2],t[3],t[4])},3893394355:function(e,t){return new e_.IfcCivilElementType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},300633059:function(e,t){return new e_.IfcColumnType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},3875453745:function(e,t){return new e_.IfcComplexPropertyTemplate(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6])},3732776249:function(e,t){return new e_.IfcCompositeCurve(e,t[0],t[1])},15328376:function(e,t){return new e_.IfcCompositeCurveOnSurface(e,t[0],t[1])},2510884976:function(e,t){return new e_.IfcConic(e,t[0])},2185764099:function(e,t){return new e_.IfcConstructionEquipmentResourceType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11])},4105962743:function(e,t){return new e_.IfcConstructionMaterialResourceType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11])},1525564444:function(e,t){return new e_.IfcConstructionProductResourceType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11])},2559216714:function(e,t){return new e_.IfcConstructionResource(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},3293443760:function(e,t){return new e_.IfcControl(e,t[0],t[1],t[2],t[3],t[4],t[5])},3895139033:function(e,t){return new e_.IfcCostItem(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},1419761937:function(e,t){return new e_.IfcCostSchedule(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},1916426348:function(e,t){return new e_.IfcCoveringType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},3295246426:function(e,t){return new e_.IfcCrewResource(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10])},1457835157:function(e,t){return new e_.IfcCurtainWallType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},1213902940:function(e,t){return new e_.IfcCylindricalSurface(e,t[0],t[1])},3256556792:function(e,t){return new e_.IfcDistributionElementType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},3849074793:function(e,t){return new e_.IfcDistributionFlowElementType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},2963535650:function(e,t){return new e_.IfcDoorLiningProperties(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12],t[13],t[14],t[15],t[16])},1714330368:function(e,t){return new e_.IfcDoorPanelProperties(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},2323601079:function(e,t){return new e_.IfcDoorType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12])},445594917:function(e,t){return new e_.IfcDraughtingPreDefinedColour(e,t[0])},4006246654:function(e,t){return new e_.IfcDraughtingPreDefinedCurveFont(e,t[0])},1758889154:function(e,t){return new e_.IfcElement(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},4123344466:function(e,t){return new e_.IfcElementAssembly(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},2397081782:function(e,t){return new e_.IfcElementAssemblyType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},1623761950:function(e,t){return new e_.IfcElementComponent(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},2590856083:function(e,t){return new e_.IfcElementComponentType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},1704287377:function(e,t){return new e_.IfcEllipse(e,t[0],t[1],t[2])},2107101300:function(e,t){return new e_.IfcEnergyConversionDeviceType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},132023988:function(e,t){return new e_.IfcEngineType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},3174744832:function(e,t){return new e_.IfcEvaporativeCoolerType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},3390157468:function(e,t){return new e_.IfcEvaporatorType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},4148101412:function(e,t){return new e_.IfcEvent(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10])},2853485674:function(e,t){return new e_.IfcExternalSpatialStructureElement(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},807026263:function(e,t){return new e_.IfcFacetedBrep(e,t[0])},3737207727:function(e,t){return new e_.IfcFacetedBrepWithVoids(e,t[0],t[1])},647756555:function(e,t){return new e_.IfcFastener(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},2489546625:function(e,t){return new e_.IfcFastenerType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},2827207264:function(e,t){return new e_.IfcFeatureElement(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},2143335405:function(e,t){return new e_.IfcFeatureElementAddition(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},1287392070:function(e,t){return new e_.IfcFeatureElementSubtraction(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},3907093117:function(e,t){return new e_.IfcFlowControllerType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},3198132628:function(e,t){return new e_.IfcFlowFittingType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},3815607619:function(e,t){return new e_.IfcFlowMeterType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},1482959167:function(e,t){return new e_.IfcFlowMovingDeviceType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},1834744321:function(e,t){return new e_.IfcFlowSegmentType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},1339347760:function(e,t){return new e_.IfcFlowStorageDeviceType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},2297155007:function(e,t){return new e_.IfcFlowTerminalType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},3009222698:function(e,t){return new e_.IfcFlowTreatmentDeviceType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},1893162501:function(e,t){return new e_.IfcFootingType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},263784265:function(e,t){return new e_.IfcFurnishingElement(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},1509553395:function(e,t){return new e_.IfcFurniture(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},3493046030:function(e,t){return new e_.IfcGeographicElement(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},3009204131:function(e,t){return new e_.IfcGrid(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10])},2706460486:function(e,t){return new e_.IfcGroup(e,t[0],t[1],t[2],t[3],t[4])},1251058090:function(e,t){return new e_.IfcHeatExchangerType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},1806887404:function(e,t){return new e_.IfcHumidifierType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},2571569899:function(e,t){return new e_.IfcIndexedPolyCurve(e,t[0],t[1],t[2])},3946677679:function(e,t){return new e_.IfcInterceptorType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},3113134337:function(e,t){return new e_.IfcIntersectionCurve(e,t[0],t[1],t[2])},2391368822:function(e,t){return new e_.IfcInventory(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10])},4288270099:function(e,t){return new e_.IfcJunctionBoxType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},3827777499:function(e,t){return new e_.IfcLaborResource(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10])},1051575348:function(e,t){return new e_.IfcLampType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},1161773419:function(e,t){return new e_.IfcLightFixtureType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},377706215:function(e,t){return new e_.IfcMechanicalFastener(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10])},2108223431:function(e,t){return new e_.IfcMechanicalFastenerType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11])},1114901282:function(e,t){return new e_.IfcMedicalDeviceType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},3181161470:function(e,t){return new e_.IfcMemberType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},977012517:function(e,t){return new e_.IfcMotorConnectionType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},4143007308:function(e,t){return new e_.IfcOccupant(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6])},3588315303:function(e,t){return new e_.IfcOpeningElement(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},3079942009:function(e,t){return new e_.IfcOpeningStandardCase(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},2837617999:function(e,t){return new e_.IfcOutletType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},2382730787:function(e,t){return new e_.IfcPerformanceHistory(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},3566463478:function(e,t){return new e_.IfcPermeableCoveringProperties(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},3327091369:function(e,t){return new e_.IfcPermit(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},1158309216:function(e,t){return new e_.IfcPileType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},804291784:function(e,t){return new e_.IfcPipeFittingType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},4231323485:function(e,t){return new e_.IfcPipeSegmentType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},4017108033:function(e,t){return new e_.IfcPlateType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},2839578677:function(e,t){return new e_.IfcPolygonalFaceSet(e,t[0],t[1],t[2],t[3])},3724593414:function(e,t){return new e_.IfcPolyline(e,t[0])},3740093272:function(e,t){return new e_.IfcPort(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6])},2744685151:function(e,t){return new e_.IfcProcedure(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},2904328755:function(e,t){return new e_.IfcProjectOrder(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},3651124850:function(e,t){return new e_.IfcProjectionElement(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},1842657554:function(e,t){return new e_.IfcProtectiveDeviceType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},2250791053:function(e,t){return new e_.IfcPumpType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},2893384427:function(e,t){return new e_.IfcRailingType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},2324767716:function(e,t){return new e_.IfcRampFlightType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},1469900589:function(e,t){return new e_.IfcRampType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},683857671:function(e,t){return new e_.IfcRationalBSplineSurfaceWithKnots(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12])},3027567501:function(e,t){return new e_.IfcReinforcingElement(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},964333572:function(e,t){return new e_.IfcReinforcingElementType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},2320036040:function(e,t){return new e_.IfcReinforcingMesh(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12],t[13],t[14],t[15],t[16],t[17])},2310774935:function(e,t){return new e_.IfcReinforcingMeshType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12],t[13],t[14],t[15],t[16],t[17],t[18],t[19])},160246688:function(e,t){return new e_.IfcRelAggregates(e,t[0],t[1],t[2],t[3],t[4],t[5])},2781568857:function(e,t){return new e_.IfcRoofType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},1768891740:function(e,t){return new e_.IfcSanitaryTerminalType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},2157484638:function(e,t){return new e_.IfcSeamCurve(e,t[0],t[1],t[2])},4074543187:function(e,t){return new e_.IfcShadingDeviceType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},4097777520:function(e,t){return new e_.IfcSite(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12],t[13])},2533589738:function(e,t){return new e_.IfcSlabType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},1072016465:function(e,t){return new e_.IfcSolarDeviceType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},3856911033:function(e,t){return new e_.IfcSpace(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10])},1305183839:function(e,t){return new e_.IfcSpaceHeaterType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},3812236995:function(e,t){return new e_.IfcSpaceType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10])},3112655638:function(e,t){return new e_.IfcStackTerminalType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},1039846685:function(e,t){return new e_.IfcStairFlightType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},338393293:function(e,t){return new e_.IfcStairType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},682877961:function(e,t){return new e_.IfcStructuralAction(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},1179482911:function(e,t){return new e_.IfcStructuralConnection(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},1004757350:function(e,t){return new e_.IfcStructuralCurveAction(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11])},4243806635:function(e,t){return new e_.IfcStructuralCurveConnection(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},214636428:function(e,t){return new e_.IfcStructuralCurveMember(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},2445595289:function(e,t){return new e_.IfcStructuralCurveMemberVarying(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},2757150158:function(e,t){return new e_.IfcStructuralCurveReaction(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},1807405624:function(e,t){return new e_.IfcStructuralLinearAction(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11])},1252848954:function(e,t){return new e_.IfcStructuralLoadGroup(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},2082059205:function(e,t){return new e_.IfcStructuralPointAction(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},734778138:function(e,t){return new e_.IfcStructuralPointConnection(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},1235345126:function(e,t){return new e_.IfcStructuralPointReaction(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},2986769608:function(e,t){return new e_.IfcStructuralResultGroup(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},3657597509:function(e,t){return new e_.IfcStructuralSurfaceAction(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11])},1975003073:function(e,t){return new e_.IfcStructuralSurfaceConnection(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},148013059:function(e,t){return new e_.IfcSubContractResource(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10])},3101698114:function(e,t){return new e_.IfcSurfaceFeature(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},2315554128:function(e,t){return new e_.IfcSwitchingDeviceType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},2254336722:function(e,t){return new e_.IfcSystem(e,t[0],t[1],t[2],t[3],t[4])},413509423:function(e,t){return new e_.IfcSystemFurnitureElement(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},5716631:function(e,t){return new e_.IfcTankType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},3824725483:function(e,t){return new e_.IfcTendon(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12],t[13],t[14],t[15],t[16])},2347447852:function(e,t){return new e_.IfcTendonAnchor(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},3081323446:function(e,t){return new e_.IfcTendonAnchorType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},2415094496:function(e,t){return new e_.IfcTendonType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12])},1692211062:function(e,t){return new e_.IfcTransformerType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},1620046519:function(e,t){return new e_.IfcTransportElement(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},3593883385:function(e,t){return new e_.IfcTrimmedCurve(e,t[0],t[1],t[2],t[3],t[4])},1600972822:function(e,t){return new e_.IfcTubeBundleType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},1911125066:function(e,t){return new e_.IfcUnitaryEquipmentType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},728799441:function(e,t){return new e_.IfcValveType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},2391383451:function(e,t){return new e_.IfcVibrationIsolator(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},3313531582:function(e,t){return new e_.IfcVibrationIsolatorType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},2769231204:function(e,t){return new e_.IfcVirtualElement(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},926996030:function(e,t){return new e_.IfcVoidingFeature(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},1898987631:function(e,t){return new e_.IfcWallType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},1133259667:function(e,t){return new e_.IfcWasteTerminalType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},4009809668:function(e,t){return new e_.IfcWindowType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12])},4088093105:function(e,t){return new e_.IfcWorkCalendar(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},1028945134:function(e,t){return new e_.IfcWorkControl(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12])},4218914973:function(e,t){return new e_.IfcWorkPlan(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12],t[13])},3342526732:function(e,t){return new e_.IfcWorkSchedule(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12],t[13])},1033361043:function(e,t){return new e_.IfcZone(e,t[0],t[1],t[2],t[3],t[4],t[5])},3821786052:function(e,t){return new e_.IfcActionRequest(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},1411407467:function(e,t){return new e_.IfcAirTerminalBoxType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},3352864051:function(e,t){return new e_.IfcAirTerminalType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},1871374353:function(e,t){return new e_.IfcAirToAirHeatRecoveryType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},3460190687:function(e,t){return new e_.IfcAsset(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12],t[13])},1532957894:function(e,t){return new e_.IfcAudioVisualApplianceType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},1967976161:function(e,t){return new e_.IfcBSplineCurve(e,t[0],t[1],t[2],t[3],t[4])},2461110595:function(e,t){return new e_.IfcBSplineCurveWithKnots(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},819618141:function(e,t){return new e_.IfcBeamType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},231477066:function(e,t){return new e_.IfcBoilerType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},1136057603:function(e,t){return new e_.IfcBoundaryCurve(e,t[0],t[1])},3299480353:function(e,t){return new e_.IfcBuildingElement(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},2979338954:function(e,t){return new e_.IfcBuildingElementPart(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},39481116:function(e,t){return new e_.IfcBuildingElementPartType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},1095909175:function(e,t){return new e_.IfcBuildingElementProxy(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},1909888760:function(e,t){return new e_.IfcBuildingElementProxyType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},1177604601:function(e,t){return new e_.IfcBuildingSystem(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6])},2188180465:function(e,t){return new e_.IfcBurnerType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},395041908:function(e,t){return new e_.IfcCableCarrierFittingType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},3293546465:function(e,t){return new e_.IfcCableCarrierSegmentType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},2674252688:function(e,t){return new e_.IfcCableFittingType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},1285652485:function(e,t){return new e_.IfcCableSegmentType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},2951183804:function(e,t){return new e_.IfcChillerType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},3296154744:function(e,t){return new e_.IfcChimney(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},2611217952:function(e,t){return new e_.IfcCircle(e,t[0],t[1])},1677625105:function(e,t){return new e_.IfcCivilElement(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},2301859152:function(e,t){return new e_.IfcCoilType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},843113511:function(e,t){return new e_.IfcColumn(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},905975707:function(e,t){return new e_.IfcColumnStandardCase(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},400855858:function(e,t){return new e_.IfcCommunicationsApplianceType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},3850581409:function(e,t){return new e_.IfcCompressorType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},2816379211:function(e,t){return new e_.IfcCondenserType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},3898045240:function(e,t){return new e_.IfcConstructionEquipmentResource(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10])},1060000209:function(e,t){return new e_.IfcConstructionMaterialResource(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10])},488727124:function(e,t){return new e_.IfcConstructionProductResource(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10])},335055490:function(e,t){return new e_.IfcCooledBeamType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},2954562838:function(e,t){return new e_.IfcCoolingTowerType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},1973544240:function(e,t){return new e_.IfcCovering(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},3495092785:function(e,t){return new e_.IfcCurtainWall(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},3961806047:function(e,t){return new e_.IfcDamperType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},1335981549:function(e,t){return new e_.IfcDiscreteAccessory(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},2635815018:function(e,t){return new e_.IfcDiscreteAccessoryType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},1599208980:function(e,t){return new e_.IfcDistributionChamberElementType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},2063403501:function(e,t){return new e_.IfcDistributionControlElementType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},1945004755:function(e,t){return new e_.IfcDistributionElement(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},3040386961:function(e,t){return new e_.IfcDistributionFlowElement(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},3041715199:function(e,t){return new e_.IfcDistributionPort(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},3205830791:function(e,t){return new e_.IfcDistributionSystem(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6])},395920057:function(e,t){return new e_.IfcDoor(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12])},3242481149:function(e,t){return new e_.IfcDoorStandardCase(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12])},869906466:function(e,t){return new e_.IfcDuctFittingType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},3760055223:function(e,t){return new e_.IfcDuctSegmentType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},2030761528:function(e,t){return new e_.IfcDuctSilencerType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},663422040:function(e,t){return new e_.IfcElectricApplianceType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},2417008758:function(e,t){return new e_.IfcElectricDistributionBoardType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},3277789161:function(e,t){return new e_.IfcElectricFlowStorageDeviceType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},1534661035:function(e,t){return new e_.IfcElectricGeneratorType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},1217240411:function(e,t){return new e_.IfcElectricMotorType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},712377611:function(e,t){return new e_.IfcElectricTimeControlType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},1658829314:function(e,t){return new e_.IfcEnergyConversionDevice(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},2814081492:function(e,t){return new e_.IfcEngine(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},3747195512:function(e,t){return new e_.IfcEvaporativeCooler(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},484807127:function(e,t){return new e_.IfcEvaporator(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},1209101575:function(e,t){return new e_.IfcExternalSpatialElement(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},346874300:function(e,t){return new e_.IfcFanType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},1810631287:function(e,t){return new e_.IfcFilterType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},4222183408:function(e,t){return new e_.IfcFireSuppressionTerminalType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},2058353004:function(e,t){return new e_.IfcFlowController(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},4278956645:function(e,t){return new e_.IfcFlowFitting(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},4037862832:function(e,t){return new e_.IfcFlowInstrumentType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},2188021234:function(e,t){return new e_.IfcFlowMeter(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},3132237377:function(e,t){return new e_.IfcFlowMovingDevice(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},987401354:function(e,t){return new e_.IfcFlowSegment(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},707683696:function(e,t){return new e_.IfcFlowStorageDevice(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},2223149337:function(e,t){return new e_.IfcFlowTerminal(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},3508470533:function(e,t){return new e_.IfcFlowTreatmentDevice(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},900683007:function(e,t){return new e_.IfcFooting(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},3319311131:function(e,t){return new e_.IfcHeatExchanger(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},2068733104:function(e,t){return new e_.IfcHumidifier(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},4175244083:function(e,t){return new e_.IfcInterceptor(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},2176052936:function(e,t){return new e_.IfcJunctionBox(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},76236018:function(e,t){return new e_.IfcLamp(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},629592764:function(e,t){return new e_.IfcLightFixture(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},1437502449:function(e,t){return new e_.IfcMedicalDevice(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},1073191201:function(e,t){return new e_.IfcMember(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},1911478936:function(e,t){return new e_.IfcMemberStandardCase(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},2474470126:function(e,t){return new e_.IfcMotorConnection(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},144952367:function(e,t){return new e_.IfcOuterBoundaryCurve(e,t[0],t[1])},3694346114:function(e,t){return new e_.IfcOutlet(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},1687234759:function(e,t){return new e_.IfcPile(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},310824031:function(e,t){return new e_.IfcPipeFitting(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},3612865200:function(e,t){return new e_.IfcPipeSegment(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},3171933400:function(e,t){return new e_.IfcPlate(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},1156407060:function(e,t){return new e_.IfcPlateStandardCase(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},738039164:function(e,t){return new e_.IfcProtectiveDevice(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},655969474:function(e,t){return new e_.IfcProtectiveDeviceTrippingUnitType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},90941305:function(e,t){return new e_.IfcPump(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},2262370178:function(e,t){return new e_.IfcRailing(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},3024970846:function(e,t){return new e_.IfcRamp(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},3283111854:function(e,t){return new e_.IfcRampFlight(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},1232101972:function(e,t){return new e_.IfcRationalBSplineCurveWithKnots(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},979691226:function(e,t){return new e_.IfcReinforcingBar(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12],t[13])},2572171363:function(e,t){return new e_.IfcReinforcingBarType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12],t[13],t[14],t[15])},2016517767:function(e,t){return new e_.IfcRoof(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},3053780830:function(e,t){return new e_.IfcSanitaryTerminal(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},1783015770:function(e,t){return new e_.IfcSensorType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},1329646415:function(e,t){return new e_.IfcShadingDevice(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},1529196076:function(e,t){return new e_.IfcSlab(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},3127900445:function(e,t){return new e_.IfcSlabElementedCase(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},3027962421:function(e,t){return new e_.IfcSlabStandardCase(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},3420628829:function(e,t){return new e_.IfcSolarDevice(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},1999602285:function(e,t){return new e_.IfcSpaceHeater(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},1404847402:function(e,t){return new e_.IfcStackTerminal(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},331165859:function(e,t){return new e_.IfcStair(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},4252922144:function(e,t){return new e_.IfcStairFlight(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12])},2515109513:function(e,t){return new e_.IfcStructuralAnalysisModel(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},385403989:function(e,t){return new e_.IfcStructuralLoadCase(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10])},1621171031:function(e,t){return new e_.IfcStructuralPlanarAction(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11])},1162798199:function(e,t){return new e_.IfcSwitchingDevice(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},812556717:function(e,t){return new e_.IfcTank(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},3825984169:function(e,t){return new e_.IfcTransformer(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},3026737570:function(e,t){return new e_.IfcTubeBundle(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},3179687236:function(e,t){return new e_.IfcUnitaryControlElementType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},4292641817:function(e,t){return new e_.IfcUnitaryEquipment(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},4207607924:function(e,t){return new e_.IfcValve(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},2391406946:function(e,t){return new e_.IfcWall(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},4156078855:function(e,t){return new e_.IfcWallElementedCase(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},3512223829:function(e,t){return new e_.IfcWallStandardCase(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},4237592921:function(e,t){return new e_.IfcWasteTerminal(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},3304561284:function(e,t){return new e_.IfcWindow(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12])},486154966:function(e,t){return new e_.IfcWindowStandardCase(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12])},2874132201:function(e,t){return new e_.IfcActuatorType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},1634111441:function(e,t){return new e_.IfcAirTerminal(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},177149247:function(e,t){return new e_.IfcAirTerminalBox(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},2056796094:function(e,t){return new e_.IfcAirToAirHeatRecovery(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},3001207471:function(e,t){return new e_.IfcAlarmType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},277319702:function(e,t){return new e_.IfcAudioVisualAppliance(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},753842376:function(e,t){return new e_.IfcBeam(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},2906023776:function(e,t){return new e_.IfcBeamStandardCase(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},32344328:function(e,t){return new e_.IfcBoiler(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},2938176219:function(e,t){return new e_.IfcBurner(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},635142910:function(e,t){return new e_.IfcCableCarrierFitting(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},3758799889:function(e,t){return new e_.IfcCableCarrierSegment(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},1051757585:function(e,t){return new e_.IfcCableFitting(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},4217484030:function(e,t){return new e_.IfcCableSegment(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},3902619387:function(e,t){return new e_.IfcChiller(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},639361253:function(e,t){return new e_.IfcCoil(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},3221913625:function(e,t){return new e_.IfcCommunicationsAppliance(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},3571504051:function(e,t){return new e_.IfcCompressor(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},2272882330:function(e,t){return new e_.IfcCondenser(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},578613899:function(e,t){return new e_.IfcControllerType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},4136498852:function(e,t){return new e_.IfcCooledBeam(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},3640358203:function(e,t){return new e_.IfcCoolingTower(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},4074379575:function(e,t){return new e_.IfcDamper(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},1052013943:function(e,t){return new e_.IfcDistributionChamberElement(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},562808652:function(e,t){return new e_.IfcDistributionCircuit(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6])},1062813311:function(e,t){return new e_.IfcDistributionControlElement(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},342316401:function(e,t){return new e_.IfcDuctFitting(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},3518393246:function(e,t){return new e_.IfcDuctSegment(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},1360408905:function(e,t){return new e_.IfcDuctSilencer(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},1904799276:function(e,t){return new e_.IfcElectricAppliance(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},862014818:function(e,t){return new e_.IfcElectricDistributionBoard(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},3310460725:function(e,t){return new e_.IfcElectricFlowStorageDevice(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},264262732:function(e,t){return new e_.IfcElectricGenerator(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},402227799:function(e,t){return new e_.IfcElectricMotor(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},1003880860:function(e,t){return new e_.IfcElectricTimeControl(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},3415622556:function(e,t){return new e_.IfcFan(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},819412036:function(e,t){return new e_.IfcFilter(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},1426591983:function(e,t){return new e_.IfcFireSuppressionTerminal(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},182646315:function(e,t){return new e_.IfcFlowInstrument(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},2295281155:function(e,t){return new e_.IfcProtectiveDeviceTrippingUnit(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},4086658281:function(e,t){return new e_.IfcSensor(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},630975310:function(e,t){return new e_.IfcUnitaryControlElement(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},4288193352:function(e,t){return new e_.IfcActuator(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},3087945054:function(e,t){return new e_.IfcAlarm(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},25142252:function(e,t){return new e_.IfcController(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])}},Q_[2]={3630933823:function(e){return[e.Role,e.UserDefinedRole,e.Description]},618182010:function(e){return[e.Purpose,e.Description,e.UserDefinedPurpose]},639542469:function(e){return[e.ApplicationDeveloper,e.Version,e.ApplicationFullName,e.ApplicationIdentifier]},411424972:function(e){return[e.Name,e.Description,e.AppliedValue,e.UnitBasis,e.ApplicableDate,e.FixedUntilDate,e.Category,e.Condition,e.ArithmeticOperator,e.Components]},130549933:function(e){return[e.Identifier,e.Name,e.Description,e.TimeOfApproval,e.Status,e.Level,e.Qualifier,e.RequestingApproval,e.GivingApproval]},4037036970:function(e){return[e.Name]},1560379544:function(e){return[e.Name,e.TranslationalStiffnessByLengthX?Y_(e.TranslationalStiffnessByLengthX):null,e.TranslationalStiffnessByLengthY?Y_(e.TranslationalStiffnessByLengthY):null,e.TranslationalStiffnessByLengthZ?Y_(e.TranslationalStiffnessByLengthZ):null,e.RotationalStiffnessByLengthX?Y_(e.RotationalStiffnessByLengthX):null,e.RotationalStiffnessByLengthY?Y_(e.RotationalStiffnessByLengthY):null,e.RotationalStiffnessByLengthZ?Y_(e.RotationalStiffnessByLengthZ):null]},3367102660:function(e){return[e.Name,e.TranslationalStiffnessByAreaX?Y_(e.TranslationalStiffnessByAreaX):null,e.TranslationalStiffnessByAreaY?Y_(e.TranslationalStiffnessByAreaY):null,e.TranslationalStiffnessByAreaZ?Y_(e.TranslationalStiffnessByAreaZ):null]},1387855156:function(e){return[e.Name,e.TranslationalStiffnessX?Y_(e.TranslationalStiffnessX):null,e.TranslationalStiffnessY?Y_(e.TranslationalStiffnessY):null,e.TranslationalStiffnessZ?Y_(e.TranslationalStiffnessZ):null,e.RotationalStiffnessX?Y_(e.RotationalStiffnessX):null,e.RotationalStiffnessY?Y_(e.RotationalStiffnessY):null,e.RotationalStiffnessZ?Y_(e.RotationalStiffnessZ):null]},2069777674:function(e){return[e.Name,e.TranslationalStiffnessX?Y_(e.TranslationalStiffnessX):null,e.TranslationalStiffnessY?Y_(e.TranslationalStiffnessY):null,e.TranslationalStiffnessZ?Y_(e.TranslationalStiffnessZ):null,e.RotationalStiffnessX?Y_(e.RotationalStiffnessX):null,e.RotationalStiffnessY?Y_(e.RotationalStiffnessY):null,e.RotationalStiffnessZ?Y_(e.RotationalStiffnessZ):null,e.WarpingStiffness?Y_(e.WarpingStiffness):null]},2859738748:function(e){return[]},2614616156:function(e){return[e.PointOnRelatingElement,e.PointOnRelatedElement]},2732653382:function(e){return[e.SurfaceOnRelatingElement,e.SurfaceOnRelatedElement]},775493141:function(e){return[e.VolumeOnRelatingElement,e.VolumeOnRelatedElement]},1959218052:function(e){return[e.Name,e.Description,e.ConstraintGrade,e.ConstraintSource,e.CreatingActor,e.CreationTime,e.UserDefinedGrade]},1785450214:function(e){return[e.SourceCRS,e.TargetCRS]},1466758467:function(e){return[e.Name,e.Description,e.GeodeticDatum,e.VerticalDatum]},602808272:function(e){return[e.Name,e.Description,e.AppliedValue,e.UnitBasis,e.ApplicableDate,e.FixedUntilDate,e.Category,e.Condition,e.ArithmeticOperator,e.Components]},1765591967:function(e){return[e.Elements,e.UnitType,e.UserDefinedType]},1045800335:function(e){return[e.Unit,e.Exponent]},2949456006:function(e){return[e.LengthExponent,e.MassExponent,e.TimeExponent,e.ElectricCurrentExponent,e.ThermodynamicTemperatureExponent,e.AmountOfSubstanceExponent,e.LuminousIntensityExponent]},4294318154:function(e){return[]},3200245327:function(e){return[e.Location,e.Identification,e.Name]},2242383968:function(e){return[e.Location,e.Identification,e.Name]},1040185647:function(e){return[e.Location,e.Identification,e.Name]},3548104201:function(e){return[e.Location,e.Identification,e.Name]},852622518:function(e){var t;return[e.AxisTag,e.AxisCurve,null==(t=e.SameSense)?void 0:t.toString()]},3020489413:function(e){return[e.TimeStamp,e.ListValues.map((function(e){return Y_(e)}))]},2655187982:function(e){return[e.Name,e.Version,e.Publisher,e.VersionDate,e.Location,e.Description]},3452421091:function(e){return[e.Location,e.Identification,e.Name,e.Description,e.Language,e.ReferencedLibrary]},4162380809:function(e){return[e.MainPlaneAngle,e.SecondaryPlaneAngle,e.LuminousIntensity]},1566485204:function(e){return[e.LightDistributionCurve,e.DistributionData]},3057273783:function(e){return[e.SourceCRS,e.TargetCRS,e.Eastings,e.Northings,e.OrthogonalHeight,e.XAxisAbscissa,e.XAxisOrdinate,e.Scale]},1847130766:function(e){return[e.MaterialClassifications,e.ClassifiedMaterial]},760658860:function(e){return[]},248100487:function(e){var t;return[e.Material,e.LayerThickness,null==(t=e.IsVentilated)?void 0:t.toString(),e.Name,e.Description,e.Category,e.Priority]},3303938423:function(e){return[e.MaterialLayers,e.LayerSetName,e.Description]},1847252529:function(e){var t;return[e.Material,e.LayerThickness,null==(t=e.IsVentilated)?void 0:t.toString(),e.Name,e.Description,e.Category,e.Priority,e.OffsetDirection,e.OffsetValues]},2199411900:function(e){return[e.Materials]},2235152071:function(e){return[e.Name,e.Description,e.Material,e.Profile,e.Priority,e.Category]},164193824:function(e){return[e.Name,e.Description,e.MaterialProfiles,e.CompositeProfile]},552965576:function(e){return[e.Name,e.Description,e.Material,e.Profile,e.Priority,e.Category,e.OffsetValues]},1507914824:function(e){return[]},2597039031:function(e){return[Y_(e.ValueComponent),e.UnitComponent]},3368373690:function(e){return[e.Name,e.Description,e.ConstraintGrade,e.ConstraintSource,e.CreatingActor,e.CreationTime,e.UserDefinedGrade,e.Benchmark,e.ValueSource,e.DataValue,e.ReferencePath]},2706619895:function(e){return[e.Currency]},1918398963:function(e){return[e.Dimensions,e.UnitType]},3701648758:function(e){return[]},2251480897:function(e){return[e.Name,e.Description,e.ConstraintGrade,e.ConstraintSource,e.CreatingActor,e.CreationTime,e.UserDefinedGrade,e.BenchmarkValues,e.LogicalAggregator,e.ObjectiveQualifier,e.UserDefinedQualifier]},4251960020:function(e){return[e.Identification,e.Name,e.Description,e.Roles,e.Addresses]},1207048766:function(e){return[e.OwningUser,e.OwningApplication,e.State,e.ChangeAction,e.LastModifiedDate,e.LastModifyingUser,e.LastModifyingApplication,e.CreationDate]},2077209135:function(e){return[e.Identification,e.FamilyName,e.GivenName,e.MiddleNames,e.PrefixTitles,e.SuffixTitles,e.Roles,e.Addresses]},101040310:function(e){return[e.ThePerson,e.TheOrganization,e.Roles]},2483315170:function(e){return[e.Name,e.Description]},2226359599:function(e){return[e.Name,e.Description,e.Unit]},3355820592:function(e){return[e.Purpose,e.Description,e.UserDefinedPurpose,e.InternalLocation,e.AddressLines,e.PostalBox,e.Town,e.Region,e.PostalCode,e.Country]},677532197:function(e){return[]},2022622350:function(e){return[e.Name,e.Description,e.AssignedItems,e.Identifier]},1304840413:function(e){var t,n,r;return[e.Name,e.Description,e.AssignedItems,e.Identifier,null==(t=e.LayerOn)?void 0:t.toString(),null==(n=e.LayerFrozen)?void 0:n.toString(),null==(r=e.LayerBlocked)?void 0:r.toString(),e.LayerStyles]},3119450353:function(e){return[e.Name]},2417041796:function(e){return[e.Styles]},2095639259:function(e){return[e.Name,e.Description,e.Representations]},3958567839:function(e){return[e.ProfileType,e.ProfileName]},3843373140:function(e){return[e.Name,e.Description,e.GeodeticDatum,e.VerticalDatum,e.MapProjection,e.MapZone,e.MapUnit]},986844984:function(e){return[]},3710013099:function(e){return[e.Name,e.EnumerationValues.map((function(e){return Y_(e)})),e.Unit]},2044713172:function(e){return[e.Name,e.Description,e.Unit,e.AreaValue,e.Formula]},2093928680:function(e){return[e.Name,e.Description,e.Unit,e.CountValue,e.Formula]},931644368:function(e){return[e.Name,e.Description,e.Unit,e.LengthValue,e.Formula]},3252649465:function(e){return[e.Name,e.Description,e.Unit,e.TimeValue,e.Formula]},2405470396:function(e){return[e.Name,e.Description,e.Unit,e.VolumeValue,e.Formula]},825690147:function(e){return[e.Name,e.Description,e.Unit,e.WeightValue,e.Formula]},3915482550:function(e){return[e.RecurrenceType,e.DayComponent,e.WeekdayComponent,e.MonthComponent,e.Position,e.Interval,e.Occurrences,e.TimePeriods]},2433181523:function(e){return[e.TypeIdentifier,e.AttributeIdentifier,e.InstanceName,e.ListPositions,e.InnerReference]},1076942058:function(e){return[e.ContextOfItems,e.RepresentationIdentifier,e.RepresentationType,e.Items]},3377609919:function(e){return[e.ContextIdentifier,e.ContextType]},3008791417:function(e){return[]},1660063152:function(e){return[e.MappingOrigin,e.MappedRepresentation]},2439245199:function(e){return[e.Name,e.Description]},2341007311:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description]},448429030:function(e){return[e.Dimensions,e.UnitType,e.Prefix,e.Name]},1054537805:function(e){return[e.Name,e.DataOrigin,e.UserDefinedDataOrigin]},867548509:function(e){var t;return[e.ShapeRepresentations,e.Name,e.Description,null==(t=e.ProductDefinitional)?void 0:t.toString(),e.PartOfProductDefinitionShape]},3982875396:function(e){return[e.ContextOfItems,e.RepresentationIdentifier,e.RepresentationType,e.Items]},4240577450:function(e){return[e.ContextOfItems,e.RepresentationIdentifier,e.RepresentationType,e.Items]},2273995522:function(e){return[e.Name]},2162789131:function(e){return[e.Name]},3478079324:function(e){return[e.Name,e.Values,e.Locations]},609421318:function(e){return[e.Name]},2525727697:function(e){return[e.Name]},3408363356:function(e){return[e.Name,e.DeltaTConstant,e.DeltaTY,e.DeltaTZ]},2830218821:function(e){return[e.ContextOfItems,e.RepresentationIdentifier,e.RepresentationType,e.Items]},3958052878:function(e){return[e.Item,e.Styles,e.Name]},3049322572:function(e){return[e.ContextOfItems,e.RepresentationIdentifier,e.RepresentationType,e.Items]},2934153892:function(e){return[e.Name,e.SurfaceReinforcement1,e.SurfaceReinforcement2,e.ShearReinforcement]},1300840506:function(e){return[e.Name,e.Side,e.Styles]},3303107099:function(e){return[e.DiffuseTransmissionColour,e.DiffuseReflectionColour,e.TransmissionColour,e.ReflectanceColour]},1607154358:function(e){return[e.RefractionIndex,e.DispersionFactor]},846575682:function(e){return[e.SurfaceColour,e.Transparency]},1351298697:function(e){return[e.Textures]},626085974:function(e){var t,n;return[null==(t=e.RepeatS)?void 0:t.toString(),null==(n=e.RepeatT)?void 0:n.toString(),e.Mode,e.TextureTransform,e.Parameter]},985171141:function(e){return[e.Name,e.Rows,e.Columns]},2043862942:function(e){return[e.Identifier,e.Name,e.Description,e.Unit,e.ReferencePath]},531007025:function(e){var t;return[e.RowCells?e.RowCells.map((function(e){return Y_(e)})):null,null==(t=e.IsHeading)?void 0:t.toString()]},1549132990:function(e){var t;return[e.Name,e.DataOrigin,e.UserDefinedDataOrigin,e.DurationType,e.ScheduleDuration,e.ScheduleStart,e.ScheduleFinish,e.EarlyStart,e.EarlyFinish,e.LateStart,e.LateFinish,e.FreeFloat,e.TotalFloat,null==(t=e.IsCritical)?void 0:t.toString(),e.StatusTime,e.ActualDuration,e.ActualStart,e.ActualFinish,e.RemainingTime,e.Completion]},2771591690:function(e){var t;return[e.Name,e.DataOrigin,e.UserDefinedDataOrigin,e.DurationType,e.ScheduleDuration,e.ScheduleStart,e.ScheduleFinish,e.EarlyStart,e.EarlyFinish,e.LateStart,e.LateFinish,e.FreeFloat,e.TotalFloat,null==(t=e.IsCritical)?void 0:t.toString(),e.StatusTime,e.ActualDuration,e.ActualStart,e.ActualFinish,e.RemainingTime,e.Completion,e.Recurrence]},912023232:function(e){return[e.Purpose,e.Description,e.UserDefinedPurpose,e.TelephoneNumbers,e.FacsimileNumbers,e.PagerNumber,e.ElectronicMailAddresses,e.WWWHomePageURL,e.MessagingIDs]},1447204868:function(e){var t;return[e.Name,e.TextCharacterAppearance,e.TextStyle,e.TextFontStyle,null==(t=e.ModelOrDraughting)?void 0:t.toString()]},2636378356:function(e){return[e.Colour,e.BackgroundColour]},1640371178:function(e){return[e.TextIndent?Y_(e.TextIndent):null,e.TextAlign,e.TextDecoration,e.LetterSpacing?Y_(e.LetterSpacing):null,e.WordSpacing?Y_(e.WordSpacing):null,e.TextTransform,e.LineHeight?Y_(e.LineHeight):null]},280115917:function(e){return[e.Maps]},1742049831:function(e){return[e.Maps,e.Mode,e.Parameter]},2552916305:function(e){return[e.Maps,e.Vertices,e.MappedTo]},1210645708:function(e){return[e.Coordinates]},3611470254:function(e){return[e.TexCoordsList]},1199560280:function(e){return[e.StartTime,e.EndTime]},3101149627:function(e){return[e.Name,e.Description,e.StartTime,e.EndTime,e.TimeSeriesDataType,e.DataOrigin,e.UserDefinedDataOrigin,e.Unit]},581633288:function(e){return[e.ListValues.map((function(e){return Y_(e)}))]},1377556343:function(e){return[]},1735638870:function(e){return[e.ContextOfItems,e.RepresentationIdentifier,e.RepresentationType,e.Items]},180925521:function(e){return[e.Units]},2799835756:function(e){return[]},1907098498:function(e){return[e.VertexGeometry]},891718957:function(e){return[e.IntersectingAxes,e.OffsetDistances]},1236880293:function(e){return[e.Name,e.DataOrigin,e.UserDefinedDataOrigin,e.RecurrencePattern,e.Start,e.Finish]},3869604511:function(e){return[e.Name,e.Description,e.RelatingApproval,e.RelatedApprovals]},3798115385:function(e){return[e.ProfileType,e.ProfileName,e.OuterCurve]},1310608509:function(e){return[e.ProfileType,e.ProfileName,e.Curve]},2705031697:function(e){return[e.ProfileType,e.ProfileName,e.OuterCurve,e.InnerCurves]},616511568:function(e){var t,n;return[null==(t=e.RepeatS)?void 0:t.toString(),null==(n=e.RepeatT)?void 0:n.toString(),e.Mode,e.TextureTransform,e.Parameter,e.RasterFormat,e.RasterCode]},3150382593:function(e){return[e.ProfileType,e.ProfileName,e.Curve,e.Thickness]},747523909:function(e){return[e.Source,e.Edition,e.EditionDate,e.Name,e.Description,e.Location,e.ReferenceTokens]},647927063:function(e){return[e.Location,e.Identification,e.Name,e.ReferencedSource,e.Description,e.Sort]},3285139300:function(e){return[e.ColourList]},3264961684:function(e){return[e.Name]},1485152156:function(e){return[e.ProfileType,e.ProfileName,e.Profiles,e.Label]},370225590:function(e){return[e.CfsFaces]},1981873012:function(e){return[e.CurveOnRelatingElement,e.CurveOnRelatedElement]},45288368:function(e){return[e.PointOnRelatingElement,e.PointOnRelatedElement,e.EccentricityInX,e.EccentricityInY,e.EccentricityInZ]},3050246964:function(e){return[e.Dimensions,e.UnitType,e.Name]},2889183280:function(e){return[e.Dimensions,e.UnitType,e.Name,e.ConversionFactor]},2713554722:function(e){return[e.Dimensions,e.UnitType,e.Name,e.ConversionFactor,e.ConversionOffset]},539742890:function(e){return[e.Name,e.Description,e.RelatingMonetaryUnit,e.RelatedMonetaryUnit,e.ExchangeRate,e.RateDateTime,e.RateSource]},3800577675:function(e){var t;return[e.Name,e.CurveFont,e.CurveWidth?Y_(e.CurveWidth):null,e.CurveColour,null==(t=e.ModelOrDraughting)?void 0:t.toString()]},1105321065:function(e){return[e.Name,e.PatternList]},2367409068:function(e){return[e.Name,e.CurveFont,e.CurveFontScaling]},3510044353:function(e){return[e.VisibleSegmentLength,e.InvisibleSegmentLength]},3632507154:function(e){return[e.ProfileType,e.ProfileName,e.ParentProfile,e.Operator,e.Label]},1154170062:function(e){return[e.Identification,e.Name,e.Description,e.Location,e.Purpose,e.IntendedUse,e.Scope,e.Revision,e.DocumentOwner,e.Editors,e.CreationTime,e.LastRevisionTime,e.ElectronicFormat,e.ValidFrom,e.ValidUntil,e.Confidentiality,e.Status]},770865208:function(e){return[e.Name,e.Description,e.RelatingDocument,e.RelatedDocuments,e.RelationshipType]},3732053477:function(e){return[e.Location,e.Identification,e.Name,e.Description,e.ReferencedDocument]},3900360178:function(e){return[e.EdgeStart,e.EdgeEnd]},476780140:function(e){var t;return[e.EdgeStart,e.EdgeEnd,e.EdgeGeometry,null==(t=e.SameSense)?void 0:t.toString()]},211053100:function(e){return[e.Name,e.DataOrigin,e.UserDefinedDataOrigin,e.ActualDate,e.EarlyDate,e.LateDate,e.ScheduleDate]},297599258:function(e){return[e.Name,e.Description,e.Properties]},1437805879:function(e){return[e.Name,e.Description,e.RelatingReference,e.RelatedResourceObjects]},2556980723:function(e){return[e.Bounds]},1809719519:function(e){var t;return[e.Bound,null==(t=e.Orientation)?void 0:t.toString()]},803316827:function(e){var t;return[e.Bound,null==(t=e.Orientation)?void 0:t.toString()]},3008276851:function(e){var t;return[e.Bounds,e.FaceSurface,null==(t=e.SameSense)?void 0:t.toString()]},4219587988:function(e){return[e.Name,e.TensionFailureX,e.TensionFailureY,e.TensionFailureZ,e.CompressionFailureX,e.CompressionFailureY,e.CompressionFailureZ]},738692330:function(e){var t;return[e.Name,e.FillStyles,null==(t=e.ModelorDraughting)?void 0:t.toString()]},3448662350:function(e){return[e.ContextIdentifier,e.ContextType,e.CoordinateSpaceDimension,e.Precision,e.WorldCoordinateSystem,e.TrueNorth]},2453401579:function(e){return[]},4142052618:function(e){return[e.ContextIdentifier,e.ContextType,e.CoordinateSpaceDimension,e.Precision,e.WorldCoordinateSystem,e.TrueNorth,e.ParentContext,e.TargetScale,e.TargetView,e.UserDefinedTargetView]},3590301190:function(e){return[e.Elements]},178086475:function(e){return[e.PlacementLocation,e.PlacementRefDirection]},812098782:function(e){var t;return[e.BaseSurface,null==(t=e.AgreementFlag)?void 0:t.toString()]},3905492369:function(e){var t,n;return[null==(t=e.RepeatS)?void 0:t.toString(),null==(n=e.RepeatT)?void 0:n.toString(),e.Mode,e.TextureTransform,e.Parameter,e.URLReference]},3570813810:function(e){return[e.MappedTo,e.Opacity,e.Colours,e.ColourIndex]},1437953363:function(e){return[e.Maps,e.MappedTo,e.TexCoords]},2133299955:function(e){return[e.Maps,e.MappedTo,e.TexCoords,e.TexCoordIndex]},3741457305:function(e){return[e.Name,e.Description,e.StartTime,e.EndTime,e.TimeSeriesDataType,e.DataOrigin,e.UserDefinedDataOrigin,e.Unit,e.Values]},1585845231:function(e){return[e.Name,e.DataOrigin,e.UserDefinedDataOrigin,Y_(e.LagValue),e.DurationType]},1402838566:function(e){return[e.Name,e.LightColour,e.AmbientIntensity,e.Intensity]},125510826:function(e){return[e.Name,e.LightColour,e.AmbientIntensity,e.Intensity]},2604431987:function(e){return[e.Name,e.LightColour,e.AmbientIntensity,e.Intensity,e.Orientation]},4266656042:function(e){return[e.Name,e.LightColour,e.AmbientIntensity,e.Intensity,e.Position,e.ColourAppearance,e.ColourTemperature,e.LuminousFlux,e.LightEmissionSource,e.LightDistributionDataSource]},1520743889:function(e){return[e.Name,e.LightColour,e.AmbientIntensity,e.Intensity,e.Position,e.Radius,e.ConstantAttenuation,e.DistanceAttenuation,e.QuadricAttenuation]},3422422726:function(e){return[e.Name,e.LightColour,e.AmbientIntensity,e.Intensity,e.Position,e.Radius,e.ConstantAttenuation,e.DistanceAttenuation,e.QuadricAttenuation,e.Orientation,e.ConcentrationExponent,e.SpreadAngle,e.BeamWidthAngle]},2624227202:function(e){return[e.PlacementRelTo,e.RelativePlacement]},1008929658:function(e){return[]},2347385850:function(e){return[e.MappingSource,e.MappingTarget]},1838606355:function(e){return[e.Name,e.Description,e.Category]},3708119e3:function(e){return[e.Name,e.Description,e.Material,e.Fraction,e.Category]},2852063980:function(e){return[e.Name,e.Description,e.MaterialConstituents]},2022407955:function(e){return[e.Name,e.Description,e.Representations,e.RepresentedMaterial]},1303795690:function(e){return[e.ForLayerSet,e.LayerSetDirection,e.DirectionSense,e.OffsetFromReferenceLine,e.ReferenceExtent]},3079605661:function(e){return[e.ForProfileSet,e.CardinalPoint,e.ReferenceExtent]},3404854881:function(e){return[e.ForProfileSet,e.CardinalPoint,e.ReferenceExtent,e.ForProfileEndSet,e.CardinalEndPoint]},3265635763:function(e){return[e.Name,e.Description,e.Properties,e.Material]},853536259:function(e){return[e.Name,e.Description,e.RelatingMaterial,e.RelatedMaterials,e.Expression]},2998442950:function(e){return[e.ProfileType,e.ProfileName,e.ParentProfile,e.Operator,e.Label]},219451334:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description]},2665983363:function(e){return[e.CfsFaces]},1411181986:function(e){return[e.Name,e.Description,e.RelatingOrganization,e.RelatedOrganizations]},1029017970:function(e){var t;return[e.EdgeStart,e.EdgeEnd,e.EdgeElement,null==(t=e.Orientation)?void 0:t.toString()]},2529465313:function(e){return[e.ProfileType,e.ProfileName,e.Position]},2519244187:function(e){return[e.EdgeList]},3021840470:function(e){return[e.Name,e.Description,e.HasQuantities,e.Discrimination,e.Quality,e.Usage]},597895409:function(e){var t,n;return[null==(t=e.RepeatS)?void 0:t.toString(),null==(n=e.RepeatT)?void 0:n.toString(),e.Mode,e.TextureTransform,e.Parameter,e.Width,e.Height,e.ColourComponents,e.Pixel]},2004835150:function(e){return[e.Location]},1663979128:function(e){return[e.SizeInX,e.SizeInY]},2067069095:function(e){return[]},4022376103:function(e){return[e.BasisCurve,e.PointParameter]},1423911732:function(e){return[e.BasisSurface,e.PointParameterU,e.PointParameterV]},2924175390:function(e){return[e.Polygon]},2775532180:function(e){var t;return[e.BaseSurface,null==(t=e.AgreementFlag)?void 0:t.toString(),e.Position,e.PolygonalBoundary]},3727388367:function(e){return[e.Name]},3778827333:function(e){return[]},1775413392:function(e){return[e.Name]},673634403:function(e){return[e.Name,e.Description,e.Representations]},2802850158:function(e){return[e.Name,e.Description,e.Properties,e.ProfileDefinition]},2598011224:function(e){return[e.Name,e.Description]},1680319473:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description]},148025276:function(e){return[e.Name,e.Description,e.DependingProperty,e.DependantProperty,e.Expression]},3357820518:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description]},1482703590:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description]},2090586900:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description]},3615266464:function(e){return[e.ProfileType,e.ProfileName,e.Position,e.XDim,e.YDim]},3413951693:function(e){return[e.Name,e.Description,e.StartTime,e.EndTime,e.TimeSeriesDataType,e.DataOrigin,e.UserDefinedDataOrigin,e.Unit,e.TimeStep,e.Values]},1580146022:function(e){return[e.TotalCrossSectionArea,e.SteelGrade,e.BarSurface,e.EffectiveDepth,e.NominalBarDiameter,e.BarCount]},478536968:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description]},2943643501:function(e){return[e.Name,e.Description,e.RelatedResourceObjects,e.RelatingApproval]},1608871552:function(e){return[e.Name,e.Description,e.RelatingConstraint,e.RelatedResourceObjects]},1042787934:function(e){var t;return[e.Name,e.DataOrigin,e.UserDefinedDataOrigin,e.ScheduleWork,e.ScheduleUsage,e.ScheduleStart,e.ScheduleFinish,e.ScheduleContour,e.LevelingDelay,null==(t=e.IsOverAllocated)?void 0:t.toString(),e.StatusTime,e.ActualWork,e.ActualUsage,e.ActualStart,e.ActualFinish,e.RemainingWork,e.RemainingUsage,e.Completion]},2778083089:function(e){return[e.ProfileType,e.ProfileName,e.Position,e.XDim,e.YDim,e.RoundingRadius]},2042790032:function(e){return[e.SectionType,e.StartProfile,e.EndProfile]},4165799628:function(e){return[e.LongitudinalStartPosition,e.LongitudinalEndPosition,e.TransversePosition,e.ReinforcementRole,e.SectionDefinition,e.CrossSectionReinforcementDefinitions]},1509187699:function(e){return[e.SpineCurve,e.CrossSections,e.CrossSectionPositions]},4124623270:function(e){return[e.SbsmBoundary]},3692461612:function(e){return[e.Name,e.Description]},2609359061:function(e){return[e.Name,e.SlippageX,e.SlippageY,e.SlippageZ]},723233188:function(e){return[]},1595516126:function(e){return[e.Name,e.LinearForceX,e.LinearForceY,e.LinearForceZ,e.LinearMomentX,e.LinearMomentY,e.LinearMomentZ]},2668620305:function(e){return[e.Name,e.PlanarForceX,e.PlanarForceY,e.PlanarForceZ]},2473145415:function(e){return[e.Name,e.DisplacementX,e.DisplacementY,e.DisplacementZ,e.RotationalDisplacementRX,e.RotationalDisplacementRY,e.RotationalDisplacementRZ]},1973038258:function(e){return[e.Name,e.DisplacementX,e.DisplacementY,e.DisplacementZ,e.RotationalDisplacementRX,e.RotationalDisplacementRY,e.RotationalDisplacementRZ,e.Distortion]},1597423693:function(e){return[e.Name,e.ForceX,e.ForceY,e.ForceZ,e.MomentX,e.MomentY,e.MomentZ]},1190533807:function(e){return[e.Name,e.ForceX,e.ForceY,e.ForceZ,e.MomentX,e.MomentY,e.MomentZ,e.WarpingMoment]},2233826070:function(e){return[e.EdgeStart,e.EdgeEnd,e.ParentEdge]},2513912981:function(e){return[]},1878645084:function(e){return[e.SurfaceColour,e.Transparency,e.DiffuseColour,e.TransmissionColour,e.DiffuseTransmissionColour,e.ReflectionColour,e.SpecularColour,e.SpecularHighlight?Y_(e.SpecularHighlight):null,e.ReflectanceMethod]},2247615214:function(e){return[e.SweptArea,e.Position]},1260650574:function(e){return[e.Directrix,e.Radius,e.InnerRadius,e.StartParam,e.EndParam]},1096409881:function(e){return[e.Directrix,e.Radius,e.InnerRadius,e.StartParam,e.EndParam,e.FilletRadius]},230924584:function(e){return[e.SweptCurve,e.Position]},3071757647:function(e){return[e.ProfileType,e.ProfileName,e.Position,e.Depth,e.FlangeWidth,e.WebThickness,e.FlangeThickness,e.FilletRadius,e.FlangeEdgeRadius,e.WebEdgeRadius,e.WebSlope,e.FlangeSlope]},901063453:function(e){return[]},4282788508:function(e){return[e.Literal,e.Placement,e.Path]},3124975700:function(e){return[e.Literal,e.Placement,e.Path,e.Extent,e.BoxAlignment]},1983826977:function(e){return[e.Name,e.FontFamily,e.FontStyle,e.FontVariant,e.FontWeight,Y_(e.FontSize)]},2715220739:function(e){return[e.ProfileType,e.ProfileName,e.Position,e.BottomXDim,e.TopXDim,e.YDim,e.TopXOffset]},1628702193:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets]},3736923433:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.Identification,e.LongDescription,e.ProcessType]},2347495698:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag]},3698973494:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.Identification,e.LongDescription,e.ResourceType]},427810014:function(e){return[e.ProfileType,e.ProfileName,e.Position,e.Depth,e.FlangeWidth,e.WebThickness,e.FlangeThickness,e.FilletRadius,e.EdgeRadius,e.FlangeSlope]},1417489154:function(e){return[e.Orientation,e.Magnitude]},2759199220:function(e){return[e.LoopVertex]},1299126871:function(e){var t,n;return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ConstructionType,e.OperationType,null==(t=e.ParameterTakesPrecedence)?void 0:t.toString(),null==(n=e.Sizeable)?void 0:n.toString()]},2543172580:function(e){return[e.ProfileType,e.ProfileName,e.Position,e.Depth,e.FlangeWidth,e.WebThickness,e.FlangeThickness,e.FilletRadius,e.EdgeRadius]},3406155212:function(e){var t;return[e.Bounds,e.FaceSurface,null==(t=e.SameSense)?void 0:t.toString()]},669184980:function(e){return[e.OuterBoundary,e.InnerBoundaries]},3207858831:function(e){return[e.ProfileType,e.ProfileName,e.Position,e.BottomFlangeWidth,e.OverallDepth,e.WebThickness,e.BottomFlangeThickness,e.BottomFlangeFilletRadius,e.TopFlangeWidth,e.TopFlangeThickness,e.TopFlangeFilletRadius,e.BottomFlangeEdgeRadius,e.BottomFlangeSlope,e.TopFlangeEdgeRadius,e.TopFlangeSlope]},4261334040:function(e){return[e.Location,e.Axis]},3125803723:function(e){return[e.Location,e.RefDirection]},2740243338:function(e){return[e.Location,e.Axis,e.RefDirection]},2736907675:function(e){return[e.Operator,e.FirstOperand,e.SecondOperand]},4182860854:function(e){return[]},2581212453:function(e){return[e.Corner,e.XDim,e.YDim,e.ZDim]},2713105998:function(e){var t;return[e.BaseSurface,null==(t=e.AgreementFlag)?void 0:t.toString(),e.Enclosure]},2898889636:function(e){return[e.ProfileType,e.ProfileName,e.Position,e.Depth,e.Width,e.WallThickness,e.Girth,e.InternalFilletRadius]},1123145078:function(e){return[e.Coordinates]},574549367:function(e){return[]},1675464909:function(e){return[e.CoordList]},2059837836:function(e){return[e.CoordList]},59481748:function(e){return[e.Axis1,e.Axis2,e.LocalOrigin,e.Scale]},3749851601:function(e){return[e.Axis1,e.Axis2,e.LocalOrigin,e.Scale]},3486308946:function(e){return[e.Axis1,e.Axis2,e.LocalOrigin,e.Scale,e.Scale2]},3331915920:function(e){return[e.Axis1,e.Axis2,e.LocalOrigin,e.Scale,e.Axis3]},1416205885:function(e){return[e.Axis1,e.Axis2,e.LocalOrigin,e.Scale,e.Axis3,e.Scale2,e.Scale3]},1383045692:function(e){return[e.ProfileType,e.ProfileName,e.Position,e.Radius]},2205249479:function(e){return[e.CfsFaces]},776857604:function(e){return[e.Name,e.Red,e.Green,e.Blue]},2542286263:function(e){return[e.Name,e.Description,e.UsageName,e.HasProperties]},2485617015:function(e){var t;return[e.Transition,null==(t=e.SameSense)?void 0:t.toString(),e.ParentCurve]},2574617495:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.Identification,e.LongDescription,e.ResourceType,e.BaseCosts,e.BaseQuantity]},3419103109:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.LongName,e.Phase,e.RepresentationContexts,e.UnitsInContext]},1815067380:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.Identification,e.LongDescription,e.ResourceType,e.BaseCosts,e.BaseQuantity,e.PredefinedType]},2506170314:function(e){return[e.Position]},2147822146:function(e){return[e.TreeRootExpression]},2601014836:function(e){return[]},2827736869:function(e){return[e.BasisSurface,e.OuterBoundary,e.InnerBoundaries]},2629017746:function(e){var t;return[e.BasisSurface,e.Boundaries,null==(t=e.ImplicitOuter)?void 0:t.toString()]},32440307:function(e){return[e.DirectionRatios]},526551008:function(e){var t,n;return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.OperationType,e.ConstructionType,null==(t=e.ParameterTakesPrecedence)?void 0:t.toString(),null==(n=e.Sizeable)?void 0:n.toString()]},1472233963:function(e){return[e.EdgeList]},1883228015:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.MethodOfMeasurement,e.Quantities]},339256511:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType]},2777663545:function(e){return[e.Position]},2835456948:function(e){return[e.ProfileType,e.ProfileName,e.Position,e.SemiAxis1,e.SemiAxis2]},4024345920:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.Identification,e.LongDescription,e.ProcessType,e.PredefinedType,e.EventTriggerType,e.UserDefinedEventTriggerType]},477187591:function(e){return[e.SweptArea,e.Position,e.ExtrudedDirection,e.Depth]},2804161546:function(e){return[e.SweptArea,e.Position,e.ExtrudedDirection,e.Depth,e.EndSweptArea]},2047409740:function(e){return[e.FbsmFaces]},374418227:function(e){return[e.HatchLineAppearance,e.StartOfNextHatchLine,e.PointOfReferenceHatchLine,e.PatternStart,e.HatchLineAngle]},315944413:function(e){return[e.TilingPattern,e.Tiles,e.TilingScale]},2652556860:function(e){return[e.SweptArea,e.Position,e.Directrix,e.StartParam,e.EndParam,e.FixedReference]},4238390223:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType]},1268542332:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.AssemblyPlace,e.PredefinedType]},4095422895:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},987898635:function(e){return[e.Elements]},1484403080:function(e){return[e.ProfileType,e.ProfileName,e.Position,e.OverallWidth,e.OverallDepth,e.WebThickness,e.FlangeThickness,e.FilletRadius,e.FlangeEdgeRadius,e.FlangeSlope]},178912537:function(e){return[e.CoordIndex]},2294589976:function(e){return[e.CoordIndex,e.InnerCoordIndices]},572779678:function(e){return[e.ProfileType,e.ProfileName,e.Position,e.Depth,e.Width,e.Thickness,e.FilletRadius,e.EdgeRadius,e.LegSlope]},428585644:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.Identification,e.LongDescription,e.ResourceType,e.BaseCosts,e.BaseQuantity,e.PredefinedType]},1281925730:function(e){return[e.Pnt,e.Dir]},1425443689:function(e){return[e.Outer]},3888040117:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType]},3388369263:function(e){var t;return[e.BasisCurve,e.Distance,null==(t=e.SelfIntersect)?void 0:t.toString()]},3505215534:function(e){var t;return[e.BasisCurve,e.Distance,null==(t=e.SelfIntersect)?void 0:t.toString(),e.RefDirection]},1682466193:function(e){return[e.BasisSurface,e.ReferenceCurve]},603570806:function(e){return[e.SizeInX,e.SizeInY,e.Placement]},220341763:function(e){return[e.Position]},759155922:function(e){return[e.Name]},2559016684:function(e){return[e.Name]},3967405729:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description]},569719735:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.Identification,e.LongDescription,e.ProcessType,e.PredefinedType]},2945172077:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.Identification,e.LongDescription]},4208778838:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation]},103090709:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.LongName,e.Phase,e.RepresentationContexts,e.UnitsInContext]},653396225:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.LongName,e.Phase,e.RepresentationContexts,e.UnitsInContext]},871118103:function(e){return[e.Name,e.Description,e.UpperBoundValue?Y_(e.UpperBoundValue):null,e.LowerBoundValue?Y_(e.LowerBoundValue):null,e.Unit,e.SetPointValue?Y_(e.SetPointValue):null]},4166981789:function(e){return[e.Name,e.Description,e.EnumerationValues?e.EnumerationValues.map((function(e){return Y_(e)})):null,e.EnumerationReference]},2752243245:function(e){return[e.Name,e.Description,e.ListValues?e.ListValues.map((function(e){return Y_(e)})):null,e.Unit]},941946838:function(e){return[e.Name,e.Description,e.UsageName,e.PropertyReference]},1451395588:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.HasProperties]},492091185:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.TemplateType,e.ApplicableEntity,e.HasPropertyTemplates]},3650150729:function(e){return[e.Name,e.Description,e.NominalValue?Y_(e.NominalValue):null,e.Unit]},110355661:function(e){return[e.Name,e.Description,e.DefiningValues?e.DefiningValues.map((function(e){return Y_(e)})):null,e.DefinedValues?e.DefinedValues.map((function(e){return Y_(e)})):null,e.Expression,e.DefiningUnit,e.DefinedUnit,e.CurveInterpolation]},3521284610:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description]},3219374653:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.ProxyType,e.Tag]},2770003689:function(e){return[e.ProfileType,e.ProfileName,e.Position,e.XDim,e.YDim,e.WallThickness,e.InnerFilletRadius,e.OuterFilletRadius]},2798486643:function(e){return[e.Position,e.XLength,e.YLength,e.Height]},3454111270:function(e){var t,n;return[e.BasisSurface,e.U1,e.V1,e.U2,e.V2,null==(t=e.Usense)?void 0:t.toString(),null==(n=e.Vsense)?void 0:n.toString()]},3765753017:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.DefinitionType,e.ReinforcementSectionDefinitions]},3939117080:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatedObjects,e.RelatedObjectsType]},1683148259:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatedObjects,e.RelatedObjectsType,e.RelatingActor,e.ActingRole]},2495723537:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatedObjects,e.RelatedObjectsType,e.RelatingControl]},1307041759:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatedObjects,e.RelatedObjectsType,e.RelatingGroup]},1027710054:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatedObjects,e.RelatedObjectsType,e.RelatingGroup,e.Factor]},4278684876:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatedObjects,e.RelatedObjectsType,e.RelatingProcess,e.QuantityInProcess]},2857406711:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatedObjects,e.RelatedObjectsType,e.RelatingProduct]},205026976:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatedObjects,e.RelatedObjectsType,e.RelatingResource]},1865459582:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatedObjects]},4095574036:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatedObjects,e.RelatingApproval]},919958153:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatedObjects,e.RelatingClassification]},2728634034:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatedObjects,e.Intent,e.RelatingConstraint]},982818633:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatedObjects,e.RelatingDocument]},3840914261:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatedObjects,e.RelatingLibrary]},2655215786:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatedObjects,e.RelatingMaterial]},826625072:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description]},1204542856:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ConnectionGeometry,e.RelatingElement,e.RelatedElement]},3945020480:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ConnectionGeometry,e.RelatingElement,e.RelatedElement,e.RelatingPriorities,e.RelatedPriorities,e.RelatedConnectionType,e.RelatingConnectionType]},4201705270:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatingPort,e.RelatedElement]},3190031847:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatingPort,e.RelatedPort,e.RealizingElement]},2127690289:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatingElement,e.RelatedStructuralActivity]},1638771189:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatingStructuralMember,e.RelatedStructuralConnection,e.AppliedCondition,e.AdditionalConditions,e.SupportedLength,e.ConditionCoordinateSystem]},504942748:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatingStructuralMember,e.RelatedStructuralConnection,e.AppliedCondition,e.AdditionalConditions,e.SupportedLength,e.ConditionCoordinateSystem,e.ConnectionConstraint]},3678494232:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ConnectionGeometry,e.RelatingElement,e.RelatedElement,e.RealizingElements,e.ConnectionType]},3242617779:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatedElements,e.RelatingStructure]},886880790:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatingBuildingElement,e.RelatedCoverings]},2802773753:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatingSpace,e.RelatedCoverings]},2565941209:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatingContext,e.RelatedDefinitions]},2551354335:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description]},693640335:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description]},1462361463:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatedObjects,e.RelatingObject]},4186316022:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatedObjects,e.RelatingPropertyDefinition]},307848117:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatedPropertySets,e.RelatingTemplate]},781010003:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatedObjects,e.RelatingType]},3940055652:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatingOpeningElement,e.RelatedBuildingElement]},279856033:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatedControlElements,e.RelatingFlowElement]},427948657:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatingElement,e.RelatedElement,e.InterferenceGeometry,e.InterferenceType,e.ImpliedOrder]},3268803585:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatingObject,e.RelatedObjects]},750771296:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatingElement,e.RelatedFeatureElement]},1245217292:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatedElements,e.RelatingStructure]},4122056220:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatingProcess,e.RelatedProcess,e.TimeLag,e.SequenceType,e.UserDefinedSequenceType]},366585022:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatingSystem,e.RelatedBuildings]},3451746338:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatingSpace,e.RelatedBuildingElement,e.ConnectionGeometry,e.PhysicalOrVirtualBoundary,e.InternalOrExternalBoundary]},3523091289:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatingSpace,e.RelatedBuildingElement,e.ConnectionGeometry,e.PhysicalOrVirtualBoundary,e.InternalOrExternalBoundary,e.ParentBoundary]},1521410863:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatingSpace,e.RelatedBuildingElement,e.ConnectionGeometry,e.PhysicalOrVirtualBoundary,e.InternalOrExternalBoundary,e.ParentBoundary,e.CorrespondingBoundary]},1401173127:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatingBuildingElement,e.RelatedOpeningElement]},816062949:function(e){var t;return[e.Transition,null==(t=e.SameSense)?void 0:t.toString(),e.ParentCurve,e.ParamLength]},2914609552:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.Identification,e.LongDescription]},1856042241:function(e){return[e.SweptArea,e.Position,e.Axis,e.Angle]},3243963512:function(e){return[e.SweptArea,e.Position,e.Axis,e.Angle,e.EndSweptArea]},4158566097:function(e){return[e.Position,e.Height,e.BottomRadius]},3626867408:function(e){return[e.Position,e.Height,e.Radius]},3663146110:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.TemplateType,e.PrimaryMeasureType,e.SecondaryMeasureType,e.Enumerators,e.PrimaryUnit,e.SecondaryUnit,e.Expression,e.AccessState]},1412071761:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.LongName]},710998568:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType]},2706606064:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.LongName,e.CompositionType]},3893378262:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType]},463610769:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.LongName,e.PredefinedType]},2481509218:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType,e.LongName]},451544542:function(e){return[e.Position,e.Radius]},4015995234:function(e){return[e.Position,e.Radius]},3544373492:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.AppliedLoad,e.GlobalOrLocal]},3136571912:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation]},530289379:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation]},3689010777:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.AppliedLoad,e.GlobalOrLocal]},3979015343:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.PredefinedType,e.Thickness]},2218152070:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.PredefinedType,e.Thickness]},603775116:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.AppliedLoad,e.GlobalOrLocal,e.PredefinedType]},4095615324:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.Identification,e.LongDescription,e.ResourceType,e.BaseCosts,e.BaseQuantity,e.PredefinedType]},699246055:function(e){return[e.Curve3D,e.AssociatedGeometry,e.MasterRepresentation]},2028607225:function(e){return[e.SweptArea,e.Position,e.Directrix,e.StartParam,e.EndParam,e.ReferenceSurface]},2809605785:function(e){return[e.SweptCurve,e.Position,e.ExtrudedDirection,e.Depth]},4124788165:function(e){return[e.SweptCurve,e.Position,e.AxisPosition]},1580310250:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},3473067441:function(e){var t;return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.Identification,e.LongDescription,e.Status,e.WorkMethod,null==(t=e.IsMilestone)?void 0:t.toString(),e.Priority,e.TaskTime,e.PredefinedType]},3206491090:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.Identification,e.LongDescription,e.ProcessType,e.PredefinedType,e.WorkMethod]},2387106220:function(e){return[e.Coordinates]},1935646853:function(e){return[e.Position,e.MajorRadius,e.MinorRadius]},2097647324:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},2916149573:function(e){var t;return[e.Coordinates,e.Normals,null==(t=e.Closed)?void 0:t.toString(),e.CoordIndex,e.PnIndex]},336235671:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.LiningDepth,e.LiningThickness,e.TransomThickness,e.MullionThickness,e.FirstTransomOffset,e.SecondTransomOffset,e.FirstMullionOffset,e.SecondMullionOffset,e.ShapeAspectStyle,e.LiningOffset,e.LiningToPanelOffsetX,e.LiningToPanelOffsetY]},512836454:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.OperationType,e.PanelPosition,e.FrameDepth,e.FrameThickness,e.ShapeAspectStyle]},2296667514:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.TheActor]},1635779807:function(e){return[e.Outer]},2603310189:function(e){return[e.Outer,e.Voids]},1674181508:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation]},2887950389:function(e){var t,n,r;return[e.UDegree,e.VDegree,e.ControlPointsList,e.SurfaceForm,null==(t=e.UClosed)?void 0:t.toString(),null==(n=e.VClosed)?void 0:n.toString(),null==(r=e.SelfIntersect)?void 0:r.toString()]},167062518:function(e){var t,n,r;return[e.UDegree,e.VDegree,e.ControlPointsList,e.SurfaceForm,null==(t=e.UClosed)?void 0:t.toString(),null==(n=e.VClosed)?void 0:n.toString(),null==(r=e.SelfIntersect)?void 0:r.toString(),e.UMultiplicities,e.VMultiplicities,e.UKnots,e.VKnots,e.KnotSpec]},1334484129:function(e){return[e.Position,e.XLength,e.YLength,e.ZLength]},3649129432:function(e){return[e.Operator,e.FirstOperand,e.SecondOperand]},1260505505:function(e){return[]},4031249490:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.LongName,e.CompositionType,e.ElevationOfRefHeight,e.ElevationOfTerrain,e.BuildingAddress]},1950629157:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType]},3124254112:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.LongName,e.CompositionType,e.Elevation]},2197970202:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},2937912522:function(e){return[e.ProfileType,e.ProfileName,e.Position,e.Radius,e.WallThickness]},3893394355:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType]},300633059:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},3875453745:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.UsageName,e.TemplateType,e.HasPropertyTemplates]},3732776249:function(e){var t;return[e.Segments,null==(t=e.SelfIntersect)?void 0:t.toString()]},15328376:function(e){var t;return[e.Segments,null==(t=e.SelfIntersect)?void 0:t.toString()]},2510884976:function(e){return[e.Position]},2185764099:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.Identification,e.LongDescription,e.ResourceType,e.BaseCosts,e.BaseQuantity,e.PredefinedType]},4105962743:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.Identification,e.LongDescription,e.ResourceType,e.BaseCosts,e.BaseQuantity,e.PredefinedType]},1525564444:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.Identification,e.LongDescription,e.ResourceType,e.BaseCosts,e.BaseQuantity,e.PredefinedType]},2559216714:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.Identification,e.LongDescription,e.Usage,e.BaseCosts,e.BaseQuantity]},3293443760:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.Identification]},3895139033:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.Identification,e.PredefinedType,e.CostValues,e.CostQuantities]},1419761937:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.Identification,e.PredefinedType,e.Status,e.SubmittedOn,e.UpdateDate]},1916426348:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},3295246426:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.Identification,e.LongDescription,e.Usage,e.BaseCosts,e.BaseQuantity,e.PredefinedType]},1457835157:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},1213902940:function(e){return[e.Position,e.Radius]},3256556792:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType]},3849074793:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType]},2963535650:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.LiningDepth,e.LiningThickness,e.ThresholdDepth,e.ThresholdThickness,e.TransomThickness,e.TransomOffset,e.LiningOffset,e.ThresholdOffset,e.CasingThickness,e.CasingDepth,e.ShapeAspectStyle,e.LiningToPanelOffsetX,e.LiningToPanelOffsetY]},1714330368:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.PanelDepth,e.PanelOperation,e.PanelWidth,e.PanelPosition,e.ShapeAspectStyle]},2323601079:function(e){var t;return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType,e.OperationType,null==(t=e.ParameterTakesPrecedence)?void 0:t.toString(),e.UserDefinedOperationType]},445594917:function(e){return[e.Name]},4006246654:function(e){return[e.Name]},1758889154:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag]},4123344466:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.AssemblyPlace,e.PredefinedType]},2397081782:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},1623761950:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag]},2590856083:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType]},1704287377:function(e){return[e.Position,e.SemiAxis1,e.SemiAxis2]},2107101300:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType]},132023988:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},3174744832:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},3390157468:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},4148101412:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.Identification,e.LongDescription,e.PredefinedType,e.EventTriggerType,e.UserDefinedEventTriggerType,e.EventOccurenceTime]},2853485674:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.LongName]},807026263:function(e){return[e.Outer]},3737207727:function(e){return[e.Outer,e.Voids]},647756555:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},2489546625:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},2827207264:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag]},2143335405:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag]},1287392070:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag]},3907093117:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType]},3198132628:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType]},3815607619:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},1482959167:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType]},1834744321:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType]},1339347760:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType]},2297155007:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType]},3009222698:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType]},1893162501:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},263784265:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag]},1509553395:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},3493046030:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},3009204131:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.UAxes,e.VAxes,e.WAxes,e.PredefinedType]},2706460486:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType]},1251058090:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},1806887404:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},2571569899:function(e){var t;return[e.Points,e.Segments?e.Segments.map((function(e){return Y_(e)})):null,null==(t=e.SelfIntersect)?void 0:t.toString()]},3946677679:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},3113134337:function(e){return[e.Curve3D,e.AssociatedGeometry,e.MasterRepresentation]},2391368822:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.PredefinedType,e.Jurisdiction,e.ResponsiblePersons,e.LastUpdateDate,e.CurrentValue,e.OriginalValue]},4288270099:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},3827777499:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.Identification,e.LongDescription,e.Usage,e.BaseCosts,e.BaseQuantity,e.PredefinedType]},1051575348:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},1161773419:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},377706215:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.NominalDiameter,e.NominalLength,e.PredefinedType]},2108223431:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType,e.NominalDiameter,e.NominalLength]},1114901282:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},3181161470:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},977012517:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},4143007308:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.TheActor,e.PredefinedType]},3588315303:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},3079942009:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},2837617999:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},2382730787:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.Identification,e.LifeCyclePhase,e.PredefinedType]},3566463478:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.OperationType,e.PanelPosition,e.FrameDepth,e.FrameThickness,e.ShapeAspectStyle]},3327091369:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.Identification,e.PredefinedType,e.Status,e.LongDescription]},1158309216:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},804291784:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},4231323485:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},4017108033:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},2839578677:function(e){var t;return[e.Coordinates,null==(t=e.Closed)?void 0:t.toString(),e.Faces,e.PnIndex]},3724593414:function(e){return[e.Points]},3740093272:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation]},2744685151:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.Identification,e.LongDescription,e.PredefinedType]},2904328755:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.Identification,e.PredefinedType,e.Status,e.LongDescription]},3651124850:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},1842657554:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},2250791053:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},2893384427:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},2324767716:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},1469900589:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},683857671:function(e){var t,n,r;return[e.UDegree,e.VDegree,e.ControlPointsList,e.SurfaceForm,null==(t=e.UClosed)?void 0:t.toString(),null==(n=e.VClosed)?void 0:n.toString(),null==(r=e.SelfIntersect)?void 0:r.toString(),e.UMultiplicities,e.VMultiplicities,e.UKnots,e.VKnots,e.KnotSpec,e.WeightsData]},3027567501:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.SteelGrade]},964333572:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType]},2320036040:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.SteelGrade,e.MeshLength,e.MeshWidth,e.LongitudinalBarNominalDiameter,e.TransverseBarNominalDiameter,e.LongitudinalBarCrossSectionArea,e.TransverseBarCrossSectionArea,e.LongitudinalBarSpacing,e.TransverseBarSpacing,e.PredefinedType]},2310774935:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType,e.MeshLength,e.MeshWidth,e.LongitudinalBarNominalDiameter,e.TransverseBarNominalDiameter,e.LongitudinalBarCrossSectionArea,e.TransverseBarCrossSectionArea,e.LongitudinalBarSpacing,e.TransverseBarSpacing,e.BendingShapeCode,e.BendingParameters?e.BendingParameters.map((function(e){return Y_(e)})):null]},160246688:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatingObject,e.RelatedObjects]},2781568857:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},1768891740:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},2157484638:function(e){return[e.Curve3D,e.AssociatedGeometry,e.MasterRepresentation]},4074543187:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},4097777520:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.LongName,e.CompositionType,e.RefLatitude,e.RefLongitude,e.RefElevation,e.LandTitleNumber,e.SiteAddress]},2533589738:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},1072016465:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},3856911033:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.LongName,e.CompositionType,e.PredefinedType,e.ElevationWithFlooring]},1305183839:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},3812236995:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType,e.LongName]},3112655638:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},1039846685:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},338393293:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},682877961:function(e){var t;return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.AppliedLoad,e.GlobalOrLocal,null==(t=e.DestabilizingLoad)?void 0:t.toString()]},1179482911:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.AppliedCondition]},1004757350:function(e){var t;return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.AppliedLoad,e.GlobalOrLocal,null==(t=e.DestabilizingLoad)?void 0:t.toString(),e.ProjectedOrTrue,e.PredefinedType]},4243806635:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.AppliedCondition,e.Axis]},214636428:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.PredefinedType,e.Axis]},2445595289:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.PredefinedType,e.Axis]},2757150158:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.AppliedLoad,e.GlobalOrLocal,e.PredefinedType]},1807405624:function(e){var t;return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.AppliedLoad,e.GlobalOrLocal,null==(t=e.DestabilizingLoad)?void 0:t.toString(),e.ProjectedOrTrue,e.PredefinedType]},1252848954:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.PredefinedType,e.ActionType,e.ActionSource,e.Coefficient,e.Purpose]},2082059205:function(e){var t;return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.AppliedLoad,e.GlobalOrLocal,null==(t=e.DestabilizingLoad)?void 0:t.toString()]},734778138:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.AppliedCondition,e.ConditionCoordinateSystem]},1235345126:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.AppliedLoad,e.GlobalOrLocal]},2986769608:function(e){var t;return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.TheoryType,e.ResultForLoadGroup,null==(t=e.IsLinear)?void 0:t.toString()]},3657597509:function(e){var t;return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.AppliedLoad,e.GlobalOrLocal,null==(t=e.DestabilizingLoad)?void 0:t.toString(),e.ProjectedOrTrue,e.PredefinedType]},1975003073:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.AppliedCondition]},148013059:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.Identification,e.LongDescription,e.Usage,e.BaseCosts,e.BaseQuantity,e.PredefinedType]},3101698114:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},2315554128:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},2254336722:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType]},413509423:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},5716631:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},3824725483:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.SteelGrade,e.PredefinedType,e.NominalDiameter,e.CrossSectionArea,e.TensionForce,e.PreStress,e.FrictionCoefficient,e.AnchorageSlip,e.MinCurvatureRadius]},2347447852:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.SteelGrade,e.PredefinedType]},3081323446:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},2415094496:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType,e.NominalDiameter,e.CrossSectionArea,e.SheathDiameter]},1692211062:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},1620046519:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},3593883385:function(e){var t;return[e.BasisCurve,e.Trim1,e.Trim2,null==(t=e.SenseAgreement)?void 0:t.toString(),e.MasterRepresentation]},1600972822:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},1911125066:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},728799441:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},2391383451:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},3313531582:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},2769231204:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag]},926996030:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},1898987631:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},1133259667:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},4009809668:function(e){var t;return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType,e.PartitioningType,null==(t=e.ParameterTakesPrecedence)?void 0:t.toString(),e.UserDefinedPartitioningType]},4088093105:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.Identification,e.WorkingTimes,e.ExceptionTimes,e.PredefinedType]},1028945134:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.Identification,e.CreationDate,e.Creators,e.Purpose,e.Duration,e.TotalFloat,e.StartTime,e.FinishTime]},4218914973:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.Identification,e.CreationDate,e.Creators,e.Purpose,e.Duration,e.TotalFloat,e.StartTime,e.FinishTime,e.PredefinedType]},3342526732:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.Identification,e.CreationDate,e.Creators,e.Purpose,e.Duration,e.TotalFloat,e.StartTime,e.FinishTime,e.PredefinedType]},1033361043:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.LongName]},3821786052:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.Identification,e.PredefinedType,e.Status,e.LongDescription]},1411407467:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},3352864051:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},1871374353:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},3460190687:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.Identification,e.OriginalValue,e.CurrentValue,e.TotalReplacementCost,e.Owner,e.User,e.ResponsiblePerson,e.IncorporationDate,e.DepreciatedValue]},1532957894:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},1967976161:function(e){var t,n;return[e.Degree,e.ControlPointsList,e.CurveForm,null==(t=e.ClosedCurve)?void 0:t.toString(),null==(n=e.SelfIntersect)?void 0:n.toString()]},2461110595:function(e){var t,n;return[e.Degree,e.ControlPointsList,e.CurveForm,null==(t=e.ClosedCurve)?void 0:t.toString(),null==(n=e.SelfIntersect)?void 0:n.toString(),e.KnotMultiplicities,e.Knots,e.KnotSpec]},819618141:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},231477066:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},1136057603:function(e){var t;return[e.Segments,null==(t=e.SelfIntersect)?void 0:t.toString()]},3299480353:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag]},2979338954:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},39481116:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},1095909175:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},1909888760:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},1177604601:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.PredefinedType,e.LongName]},2188180465:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},395041908:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},3293546465:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},2674252688:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},1285652485:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},2951183804:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},3296154744:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},2611217952:function(e){return[e.Position,e.Radius]},1677625105:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag]},2301859152:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},843113511:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},905975707:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},400855858:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},3850581409:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},2816379211:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},3898045240:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.Identification,e.LongDescription,e.Usage,e.BaseCosts,e.BaseQuantity,e.PredefinedType]},1060000209:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.Identification,e.LongDescription,e.Usage,e.BaseCosts,e.BaseQuantity,e.PredefinedType]},488727124:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.Identification,e.LongDescription,e.Usage,e.BaseCosts,e.BaseQuantity,e.PredefinedType]},335055490:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},2954562838:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},1973544240:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},3495092785:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},3961806047:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},1335981549:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},2635815018:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},1599208980:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},2063403501:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType]},1945004755:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag]},3040386961:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag]},3041715199:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.FlowDirection,e.PredefinedType,e.SystemType]},3205830791:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.LongName,e.PredefinedType]},395920057:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.OverallHeight,e.OverallWidth,e.PredefinedType,e.OperationType,e.UserDefinedOperationType]},3242481149:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.OverallHeight,e.OverallWidth,e.PredefinedType,e.OperationType,e.UserDefinedOperationType]},869906466:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},3760055223:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},2030761528:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},663422040:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},2417008758:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},3277789161:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},1534661035:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},1217240411:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},712377611:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},1658829314:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag]},2814081492:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},3747195512:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},484807127:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},1209101575:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.LongName,e.PredefinedType]},346874300:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},1810631287:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},4222183408:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},2058353004:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag]},4278956645:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag]},4037862832:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},2188021234:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},3132237377:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag]},987401354:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag]},707683696:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag]},2223149337:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag]},3508470533:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag]},900683007:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},3319311131:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},2068733104:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},4175244083:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},2176052936:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},76236018:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},629592764:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},1437502449:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},1073191201:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},1911478936:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},2474470126:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},144952367:function(e){var t;return[e.Segments,null==(t=e.SelfIntersect)?void 0:t.toString()]},3694346114:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},1687234759:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType,e.ConstructionType]},310824031:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},3612865200:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},3171933400:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},1156407060:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},738039164:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},655969474:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},90941305:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},2262370178:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},3024970846:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},3283111854:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},1232101972:function(e){var t,n;return[e.Degree,e.ControlPointsList,e.CurveForm,null==(t=e.ClosedCurve)?void 0:t.toString(),null==(n=e.SelfIntersect)?void 0:n.toString(),e.KnotMultiplicities,e.Knots,e.KnotSpec,e.WeightsData]},979691226:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.SteelGrade,e.NominalDiameter,e.CrossSectionArea,e.BarLength,e.PredefinedType,e.BarSurface]},2572171363:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType,e.NominalDiameter,e.CrossSectionArea,e.BarLength,e.BarSurface,e.BendingShapeCode,e.BendingParameters?e.BendingParameters.map((function(e){return Y_(e)})):null]},2016517767:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},3053780830:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},1783015770:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},1329646415:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},1529196076:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},3127900445:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},3027962421:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},3420628829:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},1999602285:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},1404847402:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},331165859:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},4252922144:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.NumberOfRisers,e.NumberOfTreads,e.RiserHeight,e.TreadLength,e.PredefinedType]},2515109513:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.PredefinedType,e.OrientationOf2DPlane,e.LoadedBy,e.HasResults,e.SharedPlacement]},385403989:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.PredefinedType,e.ActionType,e.ActionSource,e.Coefficient,e.Purpose,e.SelfWeightCoefficients]},1621171031:function(e){var t;return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.AppliedLoad,e.GlobalOrLocal,null==(t=e.DestabilizingLoad)?void 0:t.toString(),e.ProjectedOrTrue,e.PredefinedType]},1162798199:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},812556717:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},3825984169:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},3026737570:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},3179687236:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},4292641817:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},4207607924:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},2391406946:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},4156078855:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},3512223829:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},4237592921:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},3304561284:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.OverallHeight,e.OverallWidth,e.PredefinedType,e.PartitioningType,e.UserDefinedPartitioningType]},486154966:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.OverallHeight,e.OverallWidth,e.PredefinedType,e.PartitioningType,e.UserDefinedPartitioningType]},2874132201:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},1634111441:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},177149247:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},2056796094:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},3001207471:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},277319702:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},753842376:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},2906023776:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},32344328:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},2938176219:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},635142910:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},3758799889:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},1051757585:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},4217484030:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},3902619387:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},639361253:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},3221913625:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},3571504051:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},2272882330:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},578613899:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},4136498852:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},3640358203:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},4074379575:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},1052013943:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},562808652:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.LongName,e.PredefinedType]},1062813311:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag]},342316401:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},3518393246:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},1360408905:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},1904799276:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},862014818:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},3310460725:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},264262732:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},402227799:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},1003880860:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},3415622556:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},819412036:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},1426591983:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},182646315:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},2295281155:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},4086658281:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},630975310:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},4288193352:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},3087945054:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},25142252:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]}},W_[2]={3699917729:function(e){return new e_.IfcAbsorbedDoseMeasure(e)},4182062534:function(e){return new e_.IfcAccelerationMeasure(e)},360377573:function(e){return new e_.IfcAmountOfSubstanceMeasure(e)},632304761:function(e){return new e_.IfcAngularVelocityMeasure(e)},3683503648:function(e){return new e_.IfcArcIndex(e)},1500781891:function(e){return new e_.IfcAreaDensityMeasure(e)},2650437152:function(e){return new e_.IfcAreaMeasure(e)},2314439260:function(e){return new e_.IfcBinary(e)},2735952531:function(e){return new e_.IfcBoolean(e)},1867003952:function(e){return new e_.IfcBoxAlignment(e)},1683019596:function(e){return new e_.IfcCardinalPointReference(e)},2991860651:function(e){return new e_.IfcComplexNumber(e)},3812528620:function(e){return new e_.IfcCompoundPlaneAngleMeasure(e)},3238673880:function(e){return new e_.IfcContextDependentMeasure(e)},1778710042:function(e){return new e_.IfcCountMeasure(e)},94842927:function(e){return new e_.IfcCurvatureMeasure(e)},937566702:function(e){return new e_.IfcDate(e)},2195413836:function(e){return new e_.IfcDateTime(e)},86635668:function(e){return new e_.IfcDayInMonthNumber(e)},3701338814:function(e){return new e_.IfcDayInWeekNumber(e)},1514641115:function(e){return new e_.IfcDescriptiveMeasure(e)},4134073009:function(e){return new e_.IfcDimensionCount(e)},524656162:function(e){return new e_.IfcDoseEquivalentMeasure(e)},2541165894:function(e){return new e_.IfcDuration(e)},69416015:function(e){return new e_.IfcDynamicViscosityMeasure(e)},1827137117:function(e){return new e_.IfcElectricCapacitanceMeasure(e)},3818826038:function(e){return new e_.IfcElectricChargeMeasure(e)},2093906313:function(e){return new e_.IfcElectricConductanceMeasure(e)},3790457270:function(e){return new e_.IfcElectricCurrentMeasure(e)},2951915441:function(e){return new e_.IfcElectricResistanceMeasure(e)},2506197118:function(e){return new e_.IfcElectricVoltageMeasure(e)},2078135608:function(e){return new e_.IfcEnergyMeasure(e)},1102727119:function(e){return new e_.IfcFontStyle(e)},2715512545:function(e){return new e_.IfcFontVariant(e)},2590844177:function(e){return new e_.IfcFontWeight(e)},1361398929:function(e){return new e_.IfcForceMeasure(e)},3044325142:function(e){return new e_.IfcFrequencyMeasure(e)},3064340077:function(e){return new e_.IfcGloballyUniqueId(e)},3113092358:function(e){return new e_.IfcHeatFluxDensityMeasure(e)},1158859006:function(e){return new e_.IfcHeatingValueMeasure(e)},983778844:function(e){return new e_.IfcIdentifier(e)},3358199106:function(e){return new e_.IfcIlluminanceMeasure(e)},2679005408:function(e){return new e_.IfcInductanceMeasure(e)},1939436016:function(e){return new e_.IfcInteger(e)},3809634241:function(e){return new e_.IfcIntegerCountRateMeasure(e)},3686016028:function(e){return new e_.IfcIonConcentrationMeasure(e)},3192672207:function(e){return new e_.IfcIsothermalMoistureCapacityMeasure(e)},2054016361:function(e){return new e_.IfcKinematicViscosityMeasure(e)},3258342251:function(e){return new e_.IfcLabel(e)},1275358634:function(e){return new e_.IfcLanguageId(e)},1243674935:function(e){return new e_.IfcLengthMeasure(e)},1774176899:function(e){return new e_.IfcLineIndex(e)},191860431:function(e){return new e_.IfcLinearForceMeasure(e)},2128979029:function(e){return new e_.IfcLinearMomentMeasure(e)},1307019551:function(e){return new e_.IfcLinearStiffnessMeasure(e)},3086160713:function(e){return new e_.IfcLinearVelocityMeasure(e)},503418787:function(e){return new e_.IfcLogical(e)},2095003142:function(e){return new e_.IfcLuminousFluxMeasure(e)},2755797622:function(e){return new e_.IfcLuminousIntensityDistributionMeasure(e)},151039812:function(e){return new e_.IfcLuminousIntensityMeasure(e)},286949696:function(e){return new e_.IfcMagneticFluxDensityMeasure(e)},2486716878:function(e){return new e_.IfcMagneticFluxMeasure(e)},1477762836:function(e){return new e_.IfcMassDensityMeasure(e)},4017473158:function(e){return new e_.IfcMassFlowRateMeasure(e)},3124614049:function(e){return new e_.IfcMassMeasure(e)},3531705166:function(e){return new e_.IfcMassPerLengthMeasure(e)},3341486342:function(e){return new e_.IfcModulusOfElasticityMeasure(e)},2173214787:function(e){return new e_.IfcModulusOfLinearSubgradeReactionMeasure(e)},1052454078:function(e){return new e_.IfcModulusOfRotationalSubgradeReactionMeasure(e)},1753493141:function(e){return new e_.IfcModulusOfSubgradeReactionMeasure(e)},3177669450:function(e){return new e_.IfcMoistureDiffusivityMeasure(e)},1648970520:function(e){return new e_.IfcMolecularWeightMeasure(e)},3114022597:function(e){return new e_.IfcMomentOfInertiaMeasure(e)},2615040989:function(e){return new e_.IfcMonetaryMeasure(e)},765770214:function(e){return new e_.IfcMonthInYearNumber(e)},525895558:function(e){return new e_.IfcNonNegativeLengthMeasure(e)},2095195183:function(e){return new e_.IfcNormalisedRatioMeasure(e)},2395907400:function(e){return new e_.IfcNumericMeasure(e)},929793134:function(e){return new e_.IfcPHMeasure(e)},2260317790:function(e){return new e_.IfcParameterValue(e)},2642773653:function(e){return new e_.IfcPlanarForceMeasure(e)},4042175685:function(e){return new e_.IfcPlaneAngleMeasure(e)},1790229001:function(e){return new e_.IfcPositiveInteger(e)},2815919920:function(e){return new e_.IfcPositiveLengthMeasure(e)},3054510233:function(e){return new e_.IfcPositivePlaneAngleMeasure(e)},1245737093:function(e){return new e_.IfcPositiveRatioMeasure(e)},1364037233:function(e){return new e_.IfcPowerMeasure(e)},2169031380:function(e){return new e_.IfcPresentableText(e)},3665567075:function(e){return new e_.IfcPressureMeasure(e)},2798247006:function(e){return new e_.IfcPropertySetDefinitionSet(e)},3972513137:function(e){return new e_.IfcRadioActivityMeasure(e)},96294661:function(e){return new e_.IfcRatioMeasure(e)},200335297:function(e){return new e_.IfcReal(e)},2133746277:function(e){return new e_.IfcRotationalFrequencyMeasure(e)},1755127002:function(e){return new e_.IfcRotationalMassMeasure(e)},3211557302:function(e){return new e_.IfcRotationalStiffnessMeasure(e)},3467162246:function(e){return new e_.IfcSectionModulusMeasure(e)},2190458107:function(e){return new e_.IfcSectionalAreaIntegralMeasure(e)},408310005:function(e){return new e_.IfcShearModulusMeasure(e)},3471399674:function(e){return new e_.IfcSolidAngleMeasure(e)},4157543285:function(e){return new e_.IfcSoundPowerLevelMeasure(e)},846465480:function(e){return new e_.IfcSoundPowerMeasure(e)},3457685358:function(e){return new e_.IfcSoundPressureLevelMeasure(e)},993287707:function(e){return new e_.IfcSoundPressureMeasure(e)},3477203348:function(e){return new e_.IfcSpecificHeatCapacityMeasure(e)},2757832317:function(e){return new e_.IfcSpecularExponent(e)},361837227:function(e){return new e_.IfcSpecularRoughness(e)},58845555:function(e){return new e_.IfcTemperatureGradientMeasure(e)},1209108979:function(e){return new e_.IfcTemperatureRateOfChangeMeasure(e)},2801250643:function(e){return new e_.IfcText(e)},1460886941:function(e){return new e_.IfcTextAlignment(e)},3490877962:function(e){return new e_.IfcTextDecoration(e)},603696268:function(e){return new e_.IfcTextFontName(e)},296282323:function(e){return new e_.IfcTextTransformation(e)},232962298:function(e){return new e_.IfcThermalAdmittanceMeasure(e)},2645777649:function(e){return new e_.IfcThermalConductivityMeasure(e)},2281867870:function(e){return new e_.IfcThermalExpansionCoefficientMeasure(e)},857959152:function(e){return new e_.IfcThermalResistanceMeasure(e)},2016195849:function(e){return new e_.IfcThermalTransmittanceMeasure(e)},743184107:function(e){return new e_.IfcThermodynamicTemperatureMeasure(e)},4075327185:function(e){return new e_.IfcTime(e)},2726807636:function(e){return new e_.IfcTimeMeasure(e)},2591213694:function(e){return new e_.IfcTimeStamp(e)},1278329552:function(e){return new e_.IfcTorqueMeasure(e)},950732822:function(e){return new e_.IfcURIReference(e)},3345633955:function(e){return new e_.IfcVaporPermeabilityMeasure(e)},3458127941:function(e){return new e_.IfcVolumeMeasure(e)},2593997549:function(e){return new e_.IfcVolumetricFlowRateMeasure(e)},51269191:function(e){return new e_.IfcWarpingConstantMeasure(e)},1718600412:function(e){return new e_.IfcWarpingMomentMeasure(e)}},function(e){var t=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcAbsorbedDoseMeasure=t;var n=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcAccelerationMeasure=n;var r=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcAmountOfSubstanceMeasure=r;var i=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcAngularVelocityMeasure=i;var a=P((function e(t){b(this,e),this.value=t}));e.IfcArcIndex=a;var s=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcAreaDensityMeasure=s;var o=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcAreaMeasure=o;var l=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcBinary=l;var u=P((function e(t){b(this,e),this.type=3,this.value="true"==t}));e.IfcBoolean=u;var c=P((function e(t){b(this,e),this.value=t,this.type=1}));e.IfcBoxAlignment=c;var f=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcCardinalPointReference=f;var p=P((function e(t){b(this,e),this.value=t}));e.IfcComplexNumber=p;var A=P((function e(t){b(this,e),this.value=t}));e.IfcCompoundPlaneAngleMeasure=A;var d=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcContextDependentMeasure=d;var v=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcCountMeasure=v;var h=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcCurvatureMeasure=h;var y=P((function e(t){b(this,e),this.value=t,this.type=1}));e.IfcDate=y;var w=P((function e(t){b(this,e),this.value=t,this.type=1}));e.IfcDateTime=w;var g=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcDayInMonthNumber=g;var E=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcDayInWeekNumber=E;var T=P((function e(t){b(this,e),this.value=t,this.type=1}));e.IfcDescriptiveMeasure=T;var D=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcDimensionCount=D;var R=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcDoseEquivalentMeasure=R;var C=P((function e(t){b(this,e),this.value=t,this.type=1}));e.IfcDuration=C;var _=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcDynamicViscosityMeasure=_;var B=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcElectricCapacitanceMeasure=B;var O=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcElectricChargeMeasure=O;var S=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcElectricConductanceMeasure=S;var N=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcElectricCurrentMeasure=N;var L=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcElectricResistanceMeasure=L;var M=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcElectricVoltageMeasure=M;var x=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcEnergyMeasure=x;var F=P((function e(t){b(this,e),this.value=t,this.type=1}));e.IfcFontStyle=F;var H=P((function e(t){b(this,e),this.value=t,this.type=1}));e.IfcFontVariant=H;var U=P((function e(t){b(this,e),this.value=t,this.type=1}));e.IfcFontWeight=U;var G=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcForceMeasure=G;var k=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcFrequencyMeasure=k;var j=P((function e(t){b(this,e),this.value=t,this.type=1}));e.IfcGloballyUniqueId=j;var V=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcHeatFluxDensityMeasure=V;var Q=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcHeatingValueMeasure=Q;var W=P((function e(t){b(this,e),this.value=t,this.type=1}));e.IfcIdentifier=W;var z=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcIlluminanceMeasure=z;var K=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcInductanceMeasure=K;var Y=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcInteger=Y;var X=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcIntegerCountRateMeasure=X;var q=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcIonConcentrationMeasure=q;var J=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcIsothermalMoistureCapacityMeasure=J;var Z=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcKinematicViscosityMeasure=Z;var $=P((function e(t){b(this,e),this.value=t,this.type=1}));e.IfcLabel=$;var ee=P((function e(t){b(this,e),this.value=t,this.type=1}));e.IfcLanguageId=ee;var te=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcLengthMeasure=te;var ne=P((function e(t){b(this,e),this.value=t}));e.IfcLineIndex=ne;var re=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcLinearForceMeasure=re;var ie=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcLinearMomentMeasure=ie;var ae=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcLinearStiffnessMeasure=ae;var se=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcLinearVelocityMeasure=se;var oe=P((function e(t){b(this,e),this.type=3,this.value="true"==t}));e.IfcLogical=oe;var le=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcLuminousFluxMeasure=le;var ue=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcLuminousIntensityDistributionMeasure=ue;var ce=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcLuminousIntensityMeasure=ce;var fe=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcMagneticFluxDensityMeasure=fe;var pe=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcMagneticFluxMeasure=pe;var Ae=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcMassDensityMeasure=Ae;var de=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcMassFlowRateMeasure=de;var ve=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcMassMeasure=ve;var he=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcMassPerLengthMeasure=he;var Ie=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcModulusOfElasticityMeasure=Ie;var ye=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcModulusOfLinearSubgradeReactionMeasure=ye;var me=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcModulusOfRotationalSubgradeReactionMeasure=me;var we=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcModulusOfSubgradeReactionMeasure=we;var ge=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcMoistureDiffusivityMeasure=ge;var Ee=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcMolecularWeightMeasure=Ee;var Te=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcMomentOfInertiaMeasure=Te;var be=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcMonetaryMeasure=be;var De=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcMonthInYearNumber=De;var Pe=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcNonNegativeLengthMeasure=Pe;var Re=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcNormalisedRatioMeasure=Re;var Ce=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcNumericMeasure=Ce;var _e=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcPHMeasure=_e;var Be=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcParameterValue=Be;var Oe=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcPlanarForceMeasure=Oe;var Se=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcPlaneAngleMeasure=Se;var Ne=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcPositiveInteger=Ne;var Le=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcPositiveLengthMeasure=Le;var Me=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcPositivePlaneAngleMeasure=Me;var xe=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcPositiveRatioMeasure=xe;var Fe=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcPowerMeasure=Fe;var He=P((function e(t){b(this,e),this.value=t,this.type=1}));e.IfcPresentableText=He;var Ue=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcPressureMeasure=Ue;var Ge=P((function e(t){b(this,e),this.value=t}));e.IfcPropertySetDefinitionSet=Ge;var ke=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcRadioActivityMeasure=ke;var je=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcRatioMeasure=je;var Ve=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcReal=Ve;var Qe=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcRotationalFrequencyMeasure=Qe;var We=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcRotationalMassMeasure=We;var ze=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcRotationalStiffnessMeasure=ze;var Ke=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcSectionModulusMeasure=Ke;var Ye=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcSectionalAreaIntegralMeasure=Ye;var Xe=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcShearModulusMeasure=Xe;var qe=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcSolidAngleMeasure=qe;var Je=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcSoundPowerLevelMeasure=Je;var Ze=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcSoundPowerMeasure=Ze;var $e=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcSoundPressureLevelMeasure=$e;var et=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcSoundPressureMeasure=et;var tt=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcSpecificHeatCapacityMeasure=tt;var nt=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcSpecularExponent=nt;var rt=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcSpecularRoughness=rt;var it=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcTemperatureGradientMeasure=it;var at=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcTemperatureRateOfChangeMeasure=at;var st=P((function e(t){b(this,e),this.value=t,this.type=1}));e.IfcText=st;var ot=P((function e(t){b(this,e),this.value=t,this.type=1}));e.IfcTextAlignment=ot;var lt=P((function e(t){b(this,e),this.value=t,this.type=1}));e.IfcTextDecoration=lt;var ut=P((function e(t){b(this,e),this.value=t,this.type=1}));e.IfcTextFontName=ut;var ct=P((function e(t){b(this,e),this.value=t,this.type=1}));e.IfcTextTransformation=ct;var ft=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcThermalAdmittanceMeasure=ft;var pt=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcThermalConductivityMeasure=pt;var At=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcThermalExpansionCoefficientMeasure=At;var dt=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcThermalResistanceMeasure=dt;var vt=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcThermalTransmittanceMeasure=vt;var ht=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcThermodynamicTemperatureMeasure=ht;var It=P((function e(t){b(this,e),this.value=t,this.type=1}));e.IfcTime=It;var yt=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcTimeMeasure=yt;var mt=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcTimeStamp=mt;var wt=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcTorqueMeasure=wt;var gt=P((function e(t){b(this,e),this.value=t,this.type=1}));e.IfcURIReference=gt;var Et=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcVaporPermeabilityMeasure=Et;var Tt=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcVolumeMeasure=Tt;var bt=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcVolumetricFlowRateMeasure=bt;var Dt=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcWarpingConstantMeasure=Dt;var Pt=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcWarpingMomentMeasure=Pt;var Rt=P((function e(){b(this,e)}));Rt.EMAIL={type:3,value:"EMAIL"},Rt.FAX={type:3,value:"FAX"},Rt.PHONE={type:3,value:"PHONE"},Rt.POST={type:3,value:"POST"},Rt.VERBAL={type:3,value:"VERBAL"},Rt.USERDEFINED={type:3,value:"USERDEFINED"},Rt.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcActionRequestTypeEnum=Rt;var Ct=P((function e(){b(this,e)}));Ct.DEAD_LOAD_G={type:3,value:"DEAD_LOAD_G"},Ct.COMPLETION_G1={type:3,value:"COMPLETION_G1"},Ct.LIVE_LOAD_Q={type:3,value:"LIVE_LOAD_Q"},Ct.SNOW_S={type:3,value:"SNOW_S"},Ct.WIND_W={type:3,value:"WIND_W"},Ct.PRESTRESSING_P={type:3,value:"PRESTRESSING_P"},Ct.SETTLEMENT_U={type:3,value:"SETTLEMENT_U"},Ct.TEMPERATURE_T={type:3,value:"TEMPERATURE_T"},Ct.EARTHQUAKE_E={type:3,value:"EARTHQUAKE_E"},Ct.FIRE={type:3,value:"FIRE"},Ct.IMPULSE={type:3,value:"IMPULSE"},Ct.IMPACT={type:3,value:"IMPACT"},Ct.TRANSPORT={type:3,value:"TRANSPORT"},Ct.ERECTION={type:3,value:"ERECTION"},Ct.PROPPING={type:3,value:"PROPPING"},Ct.SYSTEM_IMPERFECTION={type:3,value:"SYSTEM_IMPERFECTION"},Ct.SHRINKAGE={type:3,value:"SHRINKAGE"},Ct.CREEP={type:3,value:"CREEP"},Ct.LACK_OF_FIT={type:3,value:"LACK_OF_FIT"},Ct.BUOYANCY={type:3,value:"BUOYANCY"},Ct.ICE={type:3,value:"ICE"},Ct.CURRENT={type:3,value:"CURRENT"},Ct.WAVE={type:3,value:"WAVE"},Ct.RAIN={type:3,value:"RAIN"},Ct.BRAKES={type:3,value:"BRAKES"},Ct.USERDEFINED={type:3,value:"USERDEFINED"},Ct.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcActionSourceTypeEnum=Ct;var _t=P((function e(){b(this,e)}));_t.PERMANENT_G={type:3,value:"PERMANENT_G"},_t.VARIABLE_Q={type:3,value:"VARIABLE_Q"},_t.EXTRAORDINARY_A={type:3,value:"EXTRAORDINARY_A"},_t.USERDEFINED={type:3,value:"USERDEFINED"},_t.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcActionTypeEnum=_t;var Bt=P((function e(){b(this,e)}));Bt.ELECTRICACTUATOR={type:3,value:"ELECTRICACTUATOR"},Bt.HANDOPERATEDACTUATOR={type:3,value:"HANDOPERATEDACTUATOR"},Bt.HYDRAULICACTUATOR={type:3,value:"HYDRAULICACTUATOR"},Bt.PNEUMATICACTUATOR={type:3,value:"PNEUMATICACTUATOR"},Bt.THERMOSTATICACTUATOR={type:3,value:"THERMOSTATICACTUATOR"},Bt.USERDEFINED={type:3,value:"USERDEFINED"},Bt.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcActuatorTypeEnum=Bt;var Ot=P((function e(){b(this,e)}));Ot.OFFICE={type:3,value:"OFFICE"},Ot.SITE={type:3,value:"SITE"},Ot.HOME={type:3,value:"HOME"},Ot.DISTRIBUTIONPOINT={type:3,value:"DISTRIBUTIONPOINT"},Ot.USERDEFINED={type:3,value:"USERDEFINED"},e.IfcAddressTypeEnum=Ot;var St=P((function e(){b(this,e)}));St.CONSTANTFLOW={type:3,value:"CONSTANTFLOW"},St.VARIABLEFLOWPRESSUREDEPENDANT={type:3,value:"VARIABLEFLOWPRESSUREDEPENDANT"},St.VARIABLEFLOWPRESSUREINDEPENDANT={type:3,value:"VARIABLEFLOWPRESSUREINDEPENDANT"},St.USERDEFINED={type:3,value:"USERDEFINED"},St.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcAirTerminalBoxTypeEnum=St;var Nt=P((function e(){b(this,e)}));Nt.DIFFUSER={type:3,value:"DIFFUSER"},Nt.GRILLE={type:3,value:"GRILLE"},Nt.LOUVRE={type:3,value:"LOUVRE"},Nt.REGISTER={type:3,value:"REGISTER"},Nt.USERDEFINED={type:3,value:"USERDEFINED"},Nt.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcAirTerminalTypeEnum=Nt;var Lt=P((function e(){b(this,e)}));Lt.FIXEDPLATECOUNTERFLOWEXCHANGER={type:3,value:"FIXEDPLATECOUNTERFLOWEXCHANGER"},Lt.FIXEDPLATECROSSFLOWEXCHANGER={type:3,value:"FIXEDPLATECROSSFLOWEXCHANGER"},Lt.FIXEDPLATEPARALLELFLOWEXCHANGER={type:3,value:"FIXEDPLATEPARALLELFLOWEXCHANGER"},Lt.ROTARYWHEEL={type:3,value:"ROTARYWHEEL"},Lt.RUNAROUNDCOILLOOP={type:3,value:"RUNAROUNDCOILLOOP"},Lt.HEATPIPE={type:3,value:"HEATPIPE"},Lt.TWINTOWERENTHALPYRECOVERYLOOPS={type:3,value:"TWINTOWERENTHALPYRECOVERYLOOPS"},Lt.THERMOSIPHONSEALEDTUBEHEATEXCHANGERS={type:3,value:"THERMOSIPHONSEALEDTUBEHEATEXCHANGERS"},Lt.THERMOSIPHONCOILTYPEHEATEXCHANGERS={type:3,value:"THERMOSIPHONCOILTYPEHEATEXCHANGERS"},Lt.USERDEFINED={type:3,value:"USERDEFINED"},Lt.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcAirToAirHeatRecoveryTypeEnum=Lt;var Mt=P((function e(){b(this,e)}));Mt.BELL={type:3,value:"BELL"},Mt.BREAKGLASSBUTTON={type:3,value:"BREAKGLASSBUTTON"},Mt.LIGHT={type:3,value:"LIGHT"},Mt.MANUALPULLBOX={type:3,value:"MANUALPULLBOX"},Mt.SIREN={type:3,value:"SIREN"},Mt.WHISTLE={type:3,value:"WHISTLE"},Mt.USERDEFINED={type:3,value:"USERDEFINED"},Mt.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcAlarmTypeEnum=Mt;var xt=P((function e(){b(this,e)}));xt.IN_PLANE_LOADING_2D={type:3,value:"IN_PLANE_LOADING_2D"},xt.OUT_PLANE_LOADING_2D={type:3,value:"OUT_PLANE_LOADING_2D"},xt.LOADING_3D={type:3,value:"LOADING_3D"},xt.USERDEFINED={type:3,value:"USERDEFINED"},xt.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcAnalysisModelTypeEnum=xt;var Ft=P((function e(){b(this,e)}));Ft.FIRST_ORDER_THEORY={type:3,value:"FIRST_ORDER_THEORY"},Ft.SECOND_ORDER_THEORY={type:3,value:"SECOND_ORDER_THEORY"},Ft.THIRD_ORDER_THEORY={type:3,value:"THIRD_ORDER_THEORY"},Ft.FULL_NONLINEAR_THEORY={type:3,value:"FULL_NONLINEAR_THEORY"},Ft.USERDEFINED={type:3,value:"USERDEFINED"},Ft.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcAnalysisTheoryTypeEnum=Ft;var Ht=P((function e(){b(this,e)}));Ht.ADD={type:3,value:"ADD"},Ht.DIVIDE={type:3,value:"DIVIDE"},Ht.MULTIPLY={type:3,value:"MULTIPLY"},Ht.SUBTRACT={type:3,value:"SUBTRACT"},e.IfcArithmeticOperatorEnum=Ht;var Ut=P((function e(){b(this,e)}));Ut.SITE={type:3,value:"SITE"},Ut.FACTORY={type:3,value:"FACTORY"},Ut.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcAssemblyPlaceEnum=Ut;var Gt=P((function e(){b(this,e)}));Gt.AMPLIFIER={type:3,value:"AMPLIFIER"},Gt.CAMERA={type:3,value:"CAMERA"},Gt.DISPLAY={type:3,value:"DISPLAY"},Gt.MICROPHONE={type:3,value:"MICROPHONE"},Gt.PLAYER={type:3,value:"PLAYER"},Gt.PROJECTOR={type:3,value:"PROJECTOR"},Gt.RECEIVER={type:3,value:"RECEIVER"},Gt.SPEAKER={type:3,value:"SPEAKER"},Gt.SWITCHER={type:3,value:"SWITCHER"},Gt.TELEPHONE={type:3,value:"TELEPHONE"},Gt.TUNER={type:3,value:"TUNER"},Gt.USERDEFINED={type:3,value:"USERDEFINED"},Gt.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcAudioVisualApplianceTypeEnum=Gt;var kt=P((function e(){b(this,e)}));kt.POLYLINE_FORM={type:3,value:"POLYLINE_FORM"},kt.CIRCULAR_ARC={type:3,value:"CIRCULAR_ARC"},kt.ELLIPTIC_ARC={type:3,value:"ELLIPTIC_ARC"},kt.PARABOLIC_ARC={type:3,value:"PARABOLIC_ARC"},kt.HYPERBOLIC_ARC={type:3,value:"HYPERBOLIC_ARC"},kt.UNSPECIFIED={type:3,value:"UNSPECIFIED"},e.IfcBSplineCurveForm=kt;var jt=P((function e(){b(this,e)}));jt.PLANE_SURF={type:3,value:"PLANE_SURF"},jt.CYLINDRICAL_SURF={type:3,value:"CYLINDRICAL_SURF"},jt.CONICAL_SURF={type:3,value:"CONICAL_SURF"},jt.SPHERICAL_SURF={type:3,value:"SPHERICAL_SURF"},jt.TOROIDAL_SURF={type:3,value:"TOROIDAL_SURF"},jt.SURF_OF_REVOLUTION={type:3,value:"SURF_OF_REVOLUTION"},jt.RULED_SURF={type:3,value:"RULED_SURF"},jt.GENERALISED_CONE={type:3,value:"GENERALISED_CONE"},jt.QUADRIC_SURF={type:3,value:"QUADRIC_SURF"},jt.SURF_OF_LINEAR_EXTRUSION={type:3,value:"SURF_OF_LINEAR_EXTRUSION"},jt.UNSPECIFIED={type:3,value:"UNSPECIFIED"},e.IfcBSplineSurfaceForm=jt;var Vt=P((function e(){b(this,e)}));Vt.BEAM={type:3,value:"BEAM"},Vt.JOIST={type:3,value:"JOIST"},Vt.HOLLOWCORE={type:3,value:"HOLLOWCORE"},Vt.LINTEL={type:3,value:"LINTEL"},Vt.SPANDREL={type:3,value:"SPANDREL"},Vt.T_BEAM={type:3,value:"T_BEAM"},Vt.USERDEFINED={type:3,value:"USERDEFINED"},Vt.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcBeamTypeEnum=Vt;var Qt=P((function e(){b(this,e)}));Qt.GREATERTHAN={type:3,value:"GREATERTHAN"},Qt.GREATERTHANOREQUALTO={type:3,value:"GREATERTHANOREQUALTO"},Qt.LESSTHAN={type:3,value:"LESSTHAN"},Qt.LESSTHANOREQUALTO={type:3,value:"LESSTHANOREQUALTO"},Qt.EQUALTO={type:3,value:"EQUALTO"},Qt.NOTEQUALTO={type:3,value:"NOTEQUALTO"},Qt.INCLUDES={type:3,value:"INCLUDES"},Qt.NOTINCLUDES={type:3,value:"NOTINCLUDES"},Qt.INCLUDEDIN={type:3,value:"INCLUDEDIN"},Qt.NOTINCLUDEDIN={type:3,value:"NOTINCLUDEDIN"},e.IfcBenchmarkEnum=Qt;var Wt=P((function e(){b(this,e)}));Wt.WATER={type:3,value:"WATER"},Wt.STEAM={type:3,value:"STEAM"},Wt.USERDEFINED={type:3,value:"USERDEFINED"},Wt.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcBoilerTypeEnum=Wt;var zt=P((function e(){b(this,e)}));zt.UNION={type:3,value:"UNION"},zt.INTERSECTION={type:3,value:"INTERSECTION"},zt.DIFFERENCE={type:3,value:"DIFFERENCE"},e.IfcBooleanOperator=zt;var Kt=P((function e(){b(this,e)}));Kt.INSULATION={type:3,value:"INSULATION"},Kt.PRECASTPANEL={type:3,value:"PRECASTPANEL"},Kt.USERDEFINED={type:3,value:"USERDEFINED"},Kt.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcBuildingElementPartTypeEnum=Kt;var Yt=P((function e(){b(this,e)}));Yt.COMPLEX={type:3,value:"COMPLEX"},Yt.ELEMENT={type:3,value:"ELEMENT"},Yt.PARTIAL={type:3,value:"PARTIAL"},Yt.PROVISIONFORVOID={type:3,value:"PROVISIONFORVOID"},Yt.PROVISIONFORSPACE={type:3,value:"PROVISIONFORSPACE"},Yt.USERDEFINED={type:3,value:"USERDEFINED"},Yt.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcBuildingElementProxyTypeEnum=Yt;var Xt=P((function e(){b(this,e)}));Xt.FENESTRATION={type:3,value:"FENESTRATION"},Xt.FOUNDATION={type:3,value:"FOUNDATION"},Xt.LOADBEARING={type:3,value:"LOADBEARING"},Xt.OUTERSHELL={type:3,value:"OUTERSHELL"},Xt.SHADING={type:3,value:"SHADING"},Xt.TRANSPORT={type:3,value:"TRANSPORT"},Xt.USERDEFINED={type:3,value:"USERDEFINED"},Xt.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcBuildingSystemTypeEnum=Xt;var qt=P((function e(){b(this,e)}));qt.USERDEFINED={type:3,value:"USERDEFINED"},qt.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcBurnerTypeEnum=qt;var Jt=P((function e(){b(this,e)}));Jt.BEND={type:3,value:"BEND"},Jt.CROSS={type:3,value:"CROSS"},Jt.REDUCER={type:3,value:"REDUCER"},Jt.TEE={type:3,value:"TEE"},Jt.USERDEFINED={type:3,value:"USERDEFINED"},Jt.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcCableCarrierFittingTypeEnum=Jt;var Zt=P((function e(){b(this,e)}));Zt.CABLELADDERSEGMENT={type:3,value:"CABLELADDERSEGMENT"},Zt.CABLETRAYSEGMENT={type:3,value:"CABLETRAYSEGMENT"},Zt.CABLETRUNKINGSEGMENT={type:3,value:"CABLETRUNKINGSEGMENT"},Zt.CONDUITSEGMENT={type:3,value:"CONDUITSEGMENT"},Zt.USERDEFINED={type:3,value:"USERDEFINED"},Zt.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcCableCarrierSegmentTypeEnum=Zt;var $t=P((function e(){b(this,e)}));$t.CONNECTOR={type:3,value:"CONNECTOR"},$t.ENTRY={type:3,value:"ENTRY"},$t.EXIT={type:3,value:"EXIT"},$t.JUNCTION={type:3,value:"JUNCTION"},$t.TRANSITION={type:3,value:"TRANSITION"},$t.USERDEFINED={type:3,value:"USERDEFINED"},$t.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcCableFittingTypeEnum=$t;var en=P((function e(){b(this,e)}));en.BUSBARSEGMENT={type:3,value:"BUSBARSEGMENT"},en.CABLESEGMENT={type:3,value:"CABLESEGMENT"},en.CONDUCTORSEGMENT={type:3,value:"CONDUCTORSEGMENT"},en.CORESEGMENT={type:3,value:"CORESEGMENT"},en.USERDEFINED={type:3,value:"USERDEFINED"},en.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcCableSegmentTypeEnum=en;var tn=P((function e(){b(this,e)}));tn.NOCHANGE={type:3,value:"NOCHANGE"},tn.MODIFIED={type:3,value:"MODIFIED"},tn.ADDED={type:3,value:"ADDED"},tn.DELETED={type:3,value:"DELETED"},tn.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcChangeActionEnum=tn;var nn=P((function e(){b(this,e)}));nn.AIRCOOLED={type:3,value:"AIRCOOLED"},nn.WATERCOOLED={type:3,value:"WATERCOOLED"},nn.HEATRECOVERY={type:3,value:"HEATRECOVERY"},nn.USERDEFINED={type:3,value:"USERDEFINED"},nn.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcChillerTypeEnum=nn;var rn=P((function e(){b(this,e)}));rn.USERDEFINED={type:3,value:"USERDEFINED"},rn.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcChimneyTypeEnum=rn;var an=P((function e(){b(this,e)}));an.DXCOOLINGCOIL={type:3,value:"DXCOOLINGCOIL"},an.ELECTRICHEATINGCOIL={type:3,value:"ELECTRICHEATINGCOIL"},an.GASHEATINGCOIL={type:3,value:"GASHEATINGCOIL"},an.HYDRONICCOIL={type:3,value:"HYDRONICCOIL"},an.STEAMHEATINGCOIL={type:3,value:"STEAMHEATINGCOIL"},an.WATERCOOLINGCOIL={type:3,value:"WATERCOOLINGCOIL"},an.WATERHEATINGCOIL={type:3,value:"WATERHEATINGCOIL"},an.USERDEFINED={type:3,value:"USERDEFINED"},an.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcCoilTypeEnum=an;var sn=P((function e(){b(this,e)}));sn.COLUMN={type:3,value:"COLUMN"},sn.PILASTER={type:3,value:"PILASTER"},sn.USERDEFINED={type:3,value:"USERDEFINED"},sn.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcColumnTypeEnum=sn;var on=P((function e(){b(this,e)}));on.ANTENNA={type:3,value:"ANTENNA"},on.COMPUTER={type:3,value:"COMPUTER"},on.FAX={type:3,value:"FAX"},on.GATEWAY={type:3,value:"GATEWAY"},on.MODEM={type:3,value:"MODEM"},on.NETWORKAPPLIANCE={type:3,value:"NETWORKAPPLIANCE"},on.NETWORKBRIDGE={type:3,value:"NETWORKBRIDGE"},on.NETWORKHUB={type:3,value:"NETWORKHUB"},on.PRINTER={type:3,value:"PRINTER"},on.REPEATER={type:3,value:"REPEATER"},on.ROUTER={type:3,value:"ROUTER"},on.SCANNER={type:3,value:"SCANNER"},on.USERDEFINED={type:3,value:"USERDEFINED"},on.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcCommunicationsApplianceTypeEnum=on;var ln=P((function e(){b(this,e)}));ln.P_COMPLEX={type:3,value:"P_COMPLEX"},ln.Q_COMPLEX={type:3,value:"Q_COMPLEX"},e.IfcComplexPropertyTemplateTypeEnum=ln;var un=P((function e(){b(this,e)}));un.DYNAMIC={type:3,value:"DYNAMIC"},un.RECIPROCATING={type:3,value:"RECIPROCATING"},un.ROTARY={type:3,value:"ROTARY"},un.SCROLL={type:3,value:"SCROLL"},un.TROCHOIDAL={type:3,value:"TROCHOIDAL"},un.SINGLESTAGE={type:3,value:"SINGLESTAGE"},un.BOOSTER={type:3,value:"BOOSTER"},un.OPENTYPE={type:3,value:"OPENTYPE"},un.HERMETIC={type:3,value:"HERMETIC"},un.SEMIHERMETIC={type:3,value:"SEMIHERMETIC"},un.WELDEDSHELLHERMETIC={type:3,value:"WELDEDSHELLHERMETIC"},un.ROLLINGPISTON={type:3,value:"ROLLINGPISTON"},un.ROTARYVANE={type:3,value:"ROTARYVANE"},un.SINGLESCREW={type:3,value:"SINGLESCREW"},un.TWINSCREW={type:3,value:"TWINSCREW"},un.USERDEFINED={type:3,value:"USERDEFINED"},un.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcCompressorTypeEnum=un;var cn=P((function e(){b(this,e)}));cn.AIRCOOLED={type:3,value:"AIRCOOLED"},cn.EVAPORATIVECOOLED={type:3,value:"EVAPORATIVECOOLED"},cn.WATERCOOLED={type:3,value:"WATERCOOLED"},cn.WATERCOOLEDBRAZEDPLATE={type:3,value:"WATERCOOLEDBRAZEDPLATE"},cn.WATERCOOLEDSHELLCOIL={type:3,value:"WATERCOOLEDSHELLCOIL"},cn.WATERCOOLEDSHELLTUBE={type:3,value:"WATERCOOLEDSHELLTUBE"},cn.WATERCOOLEDTUBEINTUBE={type:3,value:"WATERCOOLEDTUBEINTUBE"},cn.USERDEFINED={type:3,value:"USERDEFINED"},cn.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcCondenserTypeEnum=cn;var fn=P((function e(){b(this,e)}));fn.ATPATH={type:3,value:"ATPATH"},fn.ATSTART={type:3,value:"ATSTART"},fn.ATEND={type:3,value:"ATEND"},fn.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcConnectionTypeEnum=fn;var pn=P((function e(){b(this,e)}));pn.HARD={type:3,value:"HARD"},pn.SOFT={type:3,value:"SOFT"},pn.ADVISORY={type:3,value:"ADVISORY"},pn.USERDEFINED={type:3,value:"USERDEFINED"},pn.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcConstraintEnum=pn;var An=P((function e(){b(this,e)}));An.DEMOLISHING={type:3,value:"DEMOLISHING"},An.EARTHMOVING={type:3,value:"EARTHMOVING"},An.ERECTING={type:3,value:"ERECTING"},An.HEATING={type:3,value:"HEATING"},An.LIGHTING={type:3,value:"LIGHTING"},An.PAVING={type:3,value:"PAVING"},An.PUMPING={type:3,value:"PUMPING"},An.TRANSPORTING={type:3,value:"TRANSPORTING"},An.USERDEFINED={type:3,value:"USERDEFINED"},An.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcConstructionEquipmentResourceTypeEnum=An;var dn=P((function e(){b(this,e)}));dn.AGGREGATES={type:3,value:"AGGREGATES"},dn.CONCRETE={type:3,value:"CONCRETE"},dn.DRYWALL={type:3,value:"DRYWALL"},dn.FUEL={type:3,value:"FUEL"},dn.GYPSUM={type:3,value:"GYPSUM"},dn.MASONRY={type:3,value:"MASONRY"},dn.METAL={type:3,value:"METAL"},dn.PLASTIC={type:3,value:"PLASTIC"},dn.WOOD={type:3,value:"WOOD"},dn.NOTDEFINED={type:3,value:"NOTDEFINED"},dn.USERDEFINED={type:3,value:"USERDEFINED"},e.IfcConstructionMaterialResourceTypeEnum=dn;var vn=P((function e(){b(this,e)}));vn.ASSEMBLY={type:3,value:"ASSEMBLY"},vn.FORMWORK={type:3,value:"FORMWORK"},vn.USERDEFINED={type:3,value:"USERDEFINED"},vn.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcConstructionProductResourceTypeEnum=vn;var hn=P((function e(){b(this,e)}));hn.FLOATING={type:3,value:"FLOATING"},hn.PROGRAMMABLE={type:3,value:"PROGRAMMABLE"},hn.PROPORTIONAL={type:3,value:"PROPORTIONAL"},hn.MULTIPOSITION={type:3,value:"MULTIPOSITION"},hn.TWOPOSITION={type:3,value:"TWOPOSITION"},hn.USERDEFINED={type:3,value:"USERDEFINED"},hn.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcControllerTypeEnum=hn;var In=P((function e(){b(this,e)}));In.ACTIVE={type:3,value:"ACTIVE"},In.PASSIVE={type:3,value:"PASSIVE"},In.USERDEFINED={type:3,value:"USERDEFINED"},In.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcCooledBeamTypeEnum=In;var yn=P((function e(){b(this,e)}));yn.NATURALDRAFT={type:3,value:"NATURALDRAFT"},yn.MECHANICALINDUCEDDRAFT={type:3,value:"MECHANICALINDUCEDDRAFT"},yn.MECHANICALFORCEDDRAFT={type:3,value:"MECHANICALFORCEDDRAFT"},yn.USERDEFINED={type:3,value:"USERDEFINED"},yn.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcCoolingTowerTypeEnum=yn;var mn=P((function e(){b(this,e)}));mn.USERDEFINED={type:3,value:"USERDEFINED"},mn.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcCostItemTypeEnum=mn;var wn=P((function e(){b(this,e)}));wn.BUDGET={type:3,value:"BUDGET"},wn.COSTPLAN={type:3,value:"COSTPLAN"},wn.ESTIMATE={type:3,value:"ESTIMATE"},wn.TENDER={type:3,value:"TENDER"},wn.PRICEDBILLOFQUANTITIES={type:3,value:"PRICEDBILLOFQUANTITIES"},wn.UNPRICEDBILLOFQUANTITIES={type:3,value:"UNPRICEDBILLOFQUANTITIES"},wn.SCHEDULEOFRATES={type:3,value:"SCHEDULEOFRATES"},wn.USERDEFINED={type:3,value:"USERDEFINED"},wn.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcCostScheduleTypeEnum=wn;var gn=P((function e(){b(this,e)}));gn.CEILING={type:3,value:"CEILING"},gn.FLOORING={type:3,value:"FLOORING"},gn.CLADDING={type:3,value:"CLADDING"},gn.ROOFING={type:3,value:"ROOFING"},gn.MOLDING={type:3,value:"MOLDING"},gn.SKIRTINGBOARD={type:3,value:"SKIRTINGBOARD"},gn.INSULATION={type:3,value:"INSULATION"},gn.MEMBRANE={type:3,value:"MEMBRANE"},gn.SLEEVING={type:3,value:"SLEEVING"},gn.WRAPPING={type:3,value:"WRAPPING"},gn.USERDEFINED={type:3,value:"USERDEFINED"},gn.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcCoveringTypeEnum=gn;var En=P((function e(){b(this,e)}));En.OFFICE={type:3,value:"OFFICE"},En.SITE={type:3,value:"SITE"},En.USERDEFINED={type:3,value:"USERDEFINED"},En.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcCrewResourceTypeEnum=En;var Tn=P((function e(){b(this,e)}));Tn.USERDEFINED={type:3,value:"USERDEFINED"},Tn.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcCurtainWallTypeEnum=Tn;var bn=P((function e(){b(this,e)}));bn.LINEAR={type:3,value:"LINEAR"},bn.LOG_LINEAR={type:3,value:"LOG_LINEAR"},bn.LOG_LOG={type:3,value:"LOG_LOG"},bn.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcCurveInterpolationEnum=bn;var Dn=P((function e(){b(this,e)}));Dn.BACKDRAFTDAMPER={type:3,value:"BACKDRAFTDAMPER"},Dn.BALANCINGDAMPER={type:3,value:"BALANCINGDAMPER"},Dn.BLASTDAMPER={type:3,value:"BLASTDAMPER"},Dn.CONTROLDAMPER={type:3,value:"CONTROLDAMPER"},Dn.FIREDAMPER={type:3,value:"FIREDAMPER"},Dn.FIRESMOKEDAMPER={type:3,value:"FIRESMOKEDAMPER"},Dn.FUMEHOODEXHAUST={type:3,value:"FUMEHOODEXHAUST"},Dn.GRAVITYDAMPER={type:3,value:"GRAVITYDAMPER"},Dn.GRAVITYRELIEFDAMPER={type:3,value:"GRAVITYRELIEFDAMPER"},Dn.RELIEFDAMPER={type:3,value:"RELIEFDAMPER"},Dn.SMOKEDAMPER={type:3,value:"SMOKEDAMPER"},Dn.USERDEFINED={type:3,value:"USERDEFINED"},Dn.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcDamperTypeEnum=Dn;var Pn=P((function e(){b(this,e)}));Pn.MEASURED={type:3,value:"MEASURED"},Pn.PREDICTED={type:3,value:"PREDICTED"},Pn.SIMULATED={type:3,value:"SIMULATED"},Pn.USERDEFINED={type:3,value:"USERDEFINED"},Pn.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcDataOriginEnum=Pn;var Rn=P((function e(){b(this,e)}));Rn.ANGULARVELOCITYUNIT={type:3,value:"ANGULARVELOCITYUNIT"},Rn.AREADENSITYUNIT={type:3,value:"AREADENSITYUNIT"},Rn.COMPOUNDPLANEANGLEUNIT={type:3,value:"COMPOUNDPLANEANGLEUNIT"},Rn.DYNAMICVISCOSITYUNIT={type:3,value:"DYNAMICVISCOSITYUNIT"},Rn.HEATFLUXDENSITYUNIT={type:3,value:"HEATFLUXDENSITYUNIT"},Rn.INTEGERCOUNTRATEUNIT={type:3,value:"INTEGERCOUNTRATEUNIT"},Rn.ISOTHERMALMOISTURECAPACITYUNIT={type:3,value:"ISOTHERMALMOISTURECAPACITYUNIT"},Rn.KINEMATICVISCOSITYUNIT={type:3,value:"KINEMATICVISCOSITYUNIT"},Rn.LINEARVELOCITYUNIT={type:3,value:"LINEARVELOCITYUNIT"},Rn.MASSDENSITYUNIT={type:3,value:"MASSDENSITYUNIT"},Rn.MASSFLOWRATEUNIT={type:3,value:"MASSFLOWRATEUNIT"},Rn.MOISTUREDIFFUSIVITYUNIT={type:3,value:"MOISTUREDIFFUSIVITYUNIT"},Rn.MOLECULARWEIGHTUNIT={type:3,value:"MOLECULARWEIGHTUNIT"},Rn.SPECIFICHEATCAPACITYUNIT={type:3,value:"SPECIFICHEATCAPACITYUNIT"},Rn.THERMALADMITTANCEUNIT={type:3,value:"THERMALADMITTANCEUNIT"},Rn.THERMALCONDUCTANCEUNIT={type:3,value:"THERMALCONDUCTANCEUNIT"},Rn.THERMALRESISTANCEUNIT={type:3,value:"THERMALRESISTANCEUNIT"},Rn.THERMALTRANSMITTANCEUNIT={type:3,value:"THERMALTRANSMITTANCEUNIT"},Rn.VAPORPERMEABILITYUNIT={type:3,value:"VAPORPERMEABILITYUNIT"},Rn.VOLUMETRICFLOWRATEUNIT={type:3,value:"VOLUMETRICFLOWRATEUNIT"},Rn.ROTATIONALFREQUENCYUNIT={type:3,value:"ROTATIONALFREQUENCYUNIT"},Rn.TORQUEUNIT={type:3,value:"TORQUEUNIT"},Rn.MOMENTOFINERTIAUNIT={type:3,value:"MOMENTOFINERTIAUNIT"},Rn.LINEARMOMENTUNIT={type:3,value:"LINEARMOMENTUNIT"},Rn.LINEARFORCEUNIT={type:3,value:"LINEARFORCEUNIT"},Rn.PLANARFORCEUNIT={type:3,value:"PLANARFORCEUNIT"},Rn.MODULUSOFELASTICITYUNIT={type:3,value:"MODULUSOFELASTICITYUNIT"},Rn.SHEARMODULUSUNIT={type:3,value:"SHEARMODULUSUNIT"},Rn.LINEARSTIFFNESSUNIT={type:3,value:"LINEARSTIFFNESSUNIT"},Rn.ROTATIONALSTIFFNESSUNIT={type:3,value:"ROTATIONALSTIFFNESSUNIT"},Rn.MODULUSOFSUBGRADEREACTIONUNIT={type:3,value:"MODULUSOFSUBGRADEREACTIONUNIT"},Rn.ACCELERATIONUNIT={type:3,value:"ACCELERATIONUNIT"},Rn.CURVATUREUNIT={type:3,value:"CURVATUREUNIT"},Rn.HEATINGVALUEUNIT={type:3,value:"HEATINGVALUEUNIT"},Rn.IONCONCENTRATIONUNIT={type:3,value:"IONCONCENTRATIONUNIT"},Rn.LUMINOUSINTENSITYDISTRIBUTIONUNIT={type:3,value:"LUMINOUSINTENSITYDISTRIBUTIONUNIT"},Rn.MASSPERLENGTHUNIT={type:3,value:"MASSPERLENGTHUNIT"},Rn.MODULUSOFLINEARSUBGRADEREACTIONUNIT={type:3,value:"MODULUSOFLINEARSUBGRADEREACTIONUNIT"},Rn.MODULUSOFROTATIONALSUBGRADEREACTIONUNIT={type:3,value:"MODULUSOFROTATIONALSUBGRADEREACTIONUNIT"},Rn.PHUNIT={type:3,value:"PHUNIT"},Rn.ROTATIONALMASSUNIT={type:3,value:"ROTATIONALMASSUNIT"},Rn.SECTIONAREAINTEGRALUNIT={type:3,value:"SECTIONAREAINTEGRALUNIT"},Rn.SECTIONMODULUSUNIT={type:3,value:"SECTIONMODULUSUNIT"},Rn.SOUNDPOWERLEVELUNIT={type:3,value:"SOUNDPOWERLEVELUNIT"},Rn.SOUNDPOWERUNIT={type:3,value:"SOUNDPOWERUNIT"},Rn.SOUNDPRESSURELEVELUNIT={type:3,value:"SOUNDPRESSURELEVELUNIT"},Rn.SOUNDPRESSUREUNIT={type:3,value:"SOUNDPRESSUREUNIT"},Rn.TEMPERATUREGRADIENTUNIT={type:3,value:"TEMPERATUREGRADIENTUNIT"},Rn.TEMPERATURERATEOFCHANGEUNIT={type:3,value:"TEMPERATURERATEOFCHANGEUNIT"},Rn.THERMALEXPANSIONCOEFFICIENTUNIT={type:3,value:"THERMALEXPANSIONCOEFFICIENTUNIT"},Rn.WARPINGCONSTANTUNIT={type:3,value:"WARPINGCONSTANTUNIT"},Rn.WARPINGMOMENTUNIT={type:3,value:"WARPINGMOMENTUNIT"},Rn.USERDEFINED={type:3,value:"USERDEFINED"},e.IfcDerivedUnitEnum=Rn;var Cn=P((function e(){b(this,e)}));Cn.POSITIVE={type:3,value:"POSITIVE"},Cn.NEGATIVE={type:3,value:"NEGATIVE"},e.IfcDirectionSenseEnum=Cn;var _n=P((function e(){b(this,e)}));_n.ANCHORPLATE={type:3,value:"ANCHORPLATE"},_n.BRACKET={type:3,value:"BRACKET"},_n.SHOE={type:3,value:"SHOE"},_n.USERDEFINED={type:3,value:"USERDEFINED"},_n.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcDiscreteAccessoryTypeEnum=_n;var Bn=P((function e(){b(this,e)}));Bn.FORMEDDUCT={type:3,value:"FORMEDDUCT"},Bn.INSPECTIONCHAMBER={type:3,value:"INSPECTIONCHAMBER"},Bn.INSPECTIONPIT={type:3,value:"INSPECTIONPIT"},Bn.MANHOLE={type:3,value:"MANHOLE"},Bn.METERCHAMBER={type:3,value:"METERCHAMBER"},Bn.SUMP={type:3,value:"SUMP"},Bn.TRENCH={type:3,value:"TRENCH"},Bn.VALVECHAMBER={type:3,value:"VALVECHAMBER"},Bn.USERDEFINED={type:3,value:"USERDEFINED"},Bn.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcDistributionChamberElementTypeEnum=Bn;var On=P((function e(){b(this,e)}));On.CABLE={type:3,value:"CABLE"},On.CABLECARRIER={type:3,value:"CABLECARRIER"},On.DUCT={type:3,value:"DUCT"},On.PIPE={type:3,value:"PIPE"},On.USERDEFINED={type:3,value:"USERDEFINED"},On.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcDistributionPortTypeEnum=On;var Sn=P((function e(){b(this,e)}));Sn.AIRCONDITIONING={type:3,value:"AIRCONDITIONING"},Sn.AUDIOVISUAL={type:3,value:"AUDIOVISUAL"},Sn.CHEMICAL={type:3,value:"CHEMICAL"},Sn.CHILLEDWATER={type:3,value:"CHILLEDWATER"},Sn.COMMUNICATION={type:3,value:"COMMUNICATION"},Sn.COMPRESSEDAIR={type:3,value:"COMPRESSEDAIR"},Sn.CONDENSERWATER={type:3,value:"CONDENSERWATER"},Sn.CONTROL={type:3,value:"CONTROL"},Sn.CONVEYING={type:3,value:"CONVEYING"},Sn.DATA={type:3,value:"DATA"},Sn.DISPOSAL={type:3,value:"DISPOSAL"},Sn.DOMESTICCOLDWATER={type:3,value:"DOMESTICCOLDWATER"},Sn.DOMESTICHOTWATER={type:3,value:"DOMESTICHOTWATER"},Sn.DRAINAGE={type:3,value:"DRAINAGE"},Sn.EARTHING={type:3,value:"EARTHING"},Sn.ELECTRICAL={type:3,value:"ELECTRICAL"},Sn.ELECTROACOUSTIC={type:3,value:"ELECTROACOUSTIC"},Sn.EXHAUST={type:3,value:"EXHAUST"},Sn.FIREPROTECTION={type:3,value:"FIREPROTECTION"},Sn.FUEL={type:3,value:"FUEL"},Sn.GAS={type:3,value:"GAS"},Sn.HAZARDOUS={type:3,value:"HAZARDOUS"},Sn.HEATING={type:3,value:"HEATING"},Sn.LIGHTING={type:3,value:"LIGHTING"},Sn.LIGHTNINGPROTECTION={type:3,value:"LIGHTNINGPROTECTION"},Sn.MUNICIPALSOLIDWASTE={type:3,value:"MUNICIPALSOLIDWASTE"},Sn.OIL={type:3,value:"OIL"},Sn.OPERATIONAL={type:3,value:"OPERATIONAL"},Sn.POWERGENERATION={type:3,value:"POWERGENERATION"},Sn.RAINWATER={type:3,value:"RAINWATER"},Sn.REFRIGERATION={type:3,value:"REFRIGERATION"},Sn.SECURITY={type:3,value:"SECURITY"},Sn.SEWAGE={type:3,value:"SEWAGE"},Sn.SIGNAL={type:3,value:"SIGNAL"},Sn.STORMWATER={type:3,value:"STORMWATER"},Sn.TELEPHONE={type:3,value:"TELEPHONE"},Sn.TV={type:3,value:"TV"},Sn.VACUUM={type:3,value:"VACUUM"},Sn.VENT={type:3,value:"VENT"},Sn.VENTILATION={type:3,value:"VENTILATION"},Sn.WASTEWATER={type:3,value:"WASTEWATER"},Sn.WATERSUPPLY={type:3,value:"WATERSUPPLY"},Sn.USERDEFINED={type:3,value:"USERDEFINED"},Sn.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcDistributionSystemEnum=Sn;var Nn=P((function e(){b(this,e)}));Nn.PUBLIC={type:3,value:"PUBLIC"},Nn.RESTRICTED={type:3,value:"RESTRICTED"},Nn.CONFIDENTIAL={type:3,value:"CONFIDENTIAL"},Nn.PERSONAL={type:3,value:"PERSONAL"},Nn.USERDEFINED={type:3,value:"USERDEFINED"},Nn.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcDocumentConfidentialityEnum=Nn;var Ln=P((function e(){b(this,e)}));Ln.DRAFT={type:3,value:"DRAFT"},Ln.FINALDRAFT={type:3,value:"FINALDRAFT"},Ln.FINAL={type:3,value:"FINAL"},Ln.REVISION={type:3,value:"REVISION"},Ln.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcDocumentStatusEnum=Ln;var Mn=P((function e(){b(this,e)}));Mn.SWINGING={type:3,value:"SWINGING"},Mn.DOUBLE_ACTING={type:3,value:"DOUBLE_ACTING"},Mn.SLIDING={type:3,value:"SLIDING"},Mn.FOLDING={type:3,value:"FOLDING"},Mn.REVOLVING={type:3,value:"REVOLVING"},Mn.ROLLINGUP={type:3,value:"ROLLINGUP"},Mn.FIXEDPANEL={type:3,value:"FIXEDPANEL"},Mn.USERDEFINED={type:3,value:"USERDEFINED"},Mn.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcDoorPanelOperationEnum=Mn;var xn=P((function e(){b(this,e)}));xn.LEFT={type:3,value:"LEFT"},xn.MIDDLE={type:3,value:"MIDDLE"},xn.RIGHT={type:3,value:"RIGHT"},xn.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcDoorPanelPositionEnum=xn;var Fn=P((function e(){b(this,e)}));Fn.ALUMINIUM={type:3,value:"ALUMINIUM"},Fn.HIGH_GRADE_STEEL={type:3,value:"HIGH_GRADE_STEEL"},Fn.STEEL={type:3,value:"STEEL"},Fn.WOOD={type:3,value:"WOOD"},Fn.ALUMINIUM_WOOD={type:3,value:"ALUMINIUM_WOOD"},Fn.ALUMINIUM_PLASTIC={type:3,value:"ALUMINIUM_PLASTIC"},Fn.PLASTIC={type:3,value:"PLASTIC"},Fn.USERDEFINED={type:3,value:"USERDEFINED"},Fn.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcDoorStyleConstructionEnum=Fn;var Hn=P((function e(){b(this,e)}));Hn.SINGLE_SWING_LEFT={type:3,value:"SINGLE_SWING_LEFT"},Hn.SINGLE_SWING_RIGHT={type:3,value:"SINGLE_SWING_RIGHT"},Hn.DOUBLE_DOOR_SINGLE_SWING={type:3,value:"DOUBLE_DOOR_SINGLE_SWING"},Hn.DOUBLE_DOOR_SINGLE_SWING_OPPOSITE_LEFT={type:3,value:"DOUBLE_DOOR_SINGLE_SWING_OPPOSITE_LEFT"},Hn.DOUBLE_DOOR_SINGLE_SWING_OPPOSITE_RIGHT={type:3,value:"DOUBLE_DOOR_SINGLE_SWING_OPPOSITE_RIGHT"},Hn.DOUBLE_SWING_LEFT={type:3,value:"DOUBLE_SWING_LEFT"},Hn.DOUBLE_SWING_RIGHT={type:3,value:"DOUBLE_SWING_RIGHT"},Hn.DOUBLE_DOOR_DOUBLE_SWING={type:3,value:"DOUBLE_DOOR_DOUBLE_SWING"},Hn.SLIDING_TO_LEFT={type:3,value:"SLIDING_TO_LEFT"},Hn.SLIDING_TO_RIGHT={type:3,value:"SLIDING_TO_RIGHT"},Hn.DOUBLE_DOOR_SLIDING={type:3,value:"DOUBLE_DOOR_SLIDING"},Hn.FOLDING_TO_LEFT={type:3,value:"FOLDING_TO_LEFT"},Hn.FOLDING_TO_RIGHT={type:3,value:"FOLDING_TO_RIGHT"},Hn.DOUBLE_DOOR_FOLDING={type:3,value:"DOUBLE_DOOR_FOLDING"},Hn.REVOLVING={type:3,value:"REVOLVING"},Hn.ROLLINGUP={type:3,value:"ROLLINGUP"},Hn.USERDEFINED={type:3,value:"USERDEFINED"},Hn.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcDoorStyleOperationEnum=Hn;var Un=P((function e(){b(this,e)}));Un.DOOR={type:3,value:"DOOR"},Un.GATE={type:3,value:"GATE"},Un.TRAPDOOR={type:3,value:"TRAPDOOR"},Un.USERDEFINED={type:3,value:"USERDEFINED"},Un.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcDoorTypeEnum=Un;var Gn=P((function e(){b(this,e)}));Gn.SINGLE_SWING_LEFT={type:3,value:"SINGLE_SWING_LEFT"},Gn.SINGLE_SWING_RIGHT={type:3,value:"SINGLE_SWING_RIGHT"},Gn.DOUBLE_DOOR_SINGLE_SWING={type:3,value:"DOUBLE_DOOR_SINGLE_SWING"},Gn.DOUBLE_DOOR_SINGLE_SWING_OPPOSITE_LEFT={type:3,value:"DOUBLE_DOOR_SINGLE_SWING_OPPOSITE_LEFT"},Gn.DOUBLE_DOOR_SINGLE_SWING_OPPOSITE_RIGHT={type:3,value:"DOUBLE_DOOR_SINGLE_SWING_OPPOSITE_RIGHT"},Gn.DOUBLE_SWING_LEFT={type:3,value:"DOUBLE_SWING_LEFT"},Gn.DOUBLE_SWING_RIGHT={type:3,value:"DOUBLE_SWING_RIGHT"},Gn.DOUBLE_DOOR_DOUBLE_SWING={type:3,value:"DOUBLE_DOOR_DOUBLE_SWING"},Gn.SLIDING_TO_LEFT={type:3,value:"SLIDING_TO_LEFT"},Gn.SLIDING_TO_RIGHT={type:3,value:"SLIDING_TO_RIGHT"},Gn.DOUBLE_DOOR_SLIDING={type:3,value:"DOUBLE_DOOR_SLIDING"},Gn.FOLDING_TO_LEFT={type:3,value:"FOLDING_TO_LEFT"},Gn.FOLDING_TO_RIGHT={type:3,value:"FOLDING_TO_RIGHT"},Gn.DOUBLE_DOOR_FOLDING={type:3,value:"DOUBLE_DOOR_FOLDING"},Gn.REVOLVING={type:3,value:"REVOLVING"},Gn.ROLLINGUP={type:3,value:"ROLLINGUP"},Gn.SWING_FIXED_LEFT={type:3,value:"SWING_FIXED_LEFT"},Gn.SWING_FIXED_RIGHT={type:3,value:"SWING_FIXED_RIGHT"},Gn.USERDEFINED={type:3,value:"USERDEFINED"},Gn.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcDoorTypeOperationEnum=Gn;var kn=P((function e(){b(this,e)}));kn.BEND={type:3,value:"BEND"},kn.CONNECTOR={type:3,value:"CONNECTOR"},kn.ENTRY={type:3,value:"ENTRY"},kn.EXIT={type:3,value:"EXIT"},kn.JUNCTION={type:3,value:"JUNCTION"},kn.OBSTRUCTION={type:3,value:"OBSTRUCTION"},kn.TRANSITION={type:3,value:"TRANSITION"},kn.USERDEFINED={type:3,value:"USERDEFINED"},kn.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcDuctFittingTypeEnum=kn;var jn=P((function e(){b(this,e)}));jn.RIGIDSEGMENT={type:3,value:"RIGIDSEGMENT"},jn.FLEXIBLESEGMENT={type:3,value:"FLEXIBLESEGMENT"},jn.USERDEFINED={type:3,value:"USERDEFINED"},jn.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcDuctSegmentTypeEnum=jn;var Vn=P((function e(){b(this,e)}));Vn.FLATOVAL={type:3,value:"FLATOVAL"},Vn.RECTANGULAR={type:3,value:"RECTANGULAR"},Vn.ROUND={type:3,value:"ROUND"},Vn.USERDEFINED={type:3,value:"USERDEFINED"},Vn.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcDuctSilencerTypeEnum=Vn;var Qn=P((function e(){b(this,e)}));Qn.DISHWASHER={type:3,value:"DISHWASHER"},Qn.ELECTRICCOOKER={type:3,value:"ELECTRICCOOKER"},Qn.FREESTANDINGELECTRICHEATER={type:3,value:"FREESTANDINGELECTRICHEATER"},Qn.FREESTANDINGFAN={type:3,value:"FREESTANDINGFAN"},Qn.FREESTANDINGWATERHEATER={type:3,value:"FREESTANDINGWATERHEATER"},Qn.FREESTANDINGWATERCOOLER={type:3,value:"FREESTANDINGWATERCOOLER"},Qn.FREEZER={type:3,value:"FREEZER"},Qn.FRIDGE_FREEZER={type:3,value:"FRIDGE_FREEZER"},Qn.HANDDRYER={type:3,value:"HANDDRYER"},Qn.KITCHENMACHINE={type:3,value:"KITCHENMACHINE"},Qn.MICROWAVE={type:3,value:"MICROWAVE"},Qn.PHOTOCOPIER={type:3,value:"PHOTOCOPIER"},Qn.REFRIGERATOR={type:3,value:"REFRIGERATOR"},Qn.TUMBLEDRYER={type:3,value:"TUMBLEDRYER"},Qn.VENDINGMACHINE={type:3,value:"VENDINGMACHINE"},Qn.WASHINGMACHINE={type:3,value:"WASHINGMACHINE"},Qn.USERDEFINED={type:3,value:"USERDEFINED"},Qn.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcElectricApplianceTypeEnum=Qn;var Wn=P((function e(){b(this,e)}));Wn.CONSUMERUNIT={type:3,value:"CONSUMERUNIT"},Wn.DISTRIBUTIONBOARD={type:3,value:"DISTRIBUTIONBOARD"},Wn.MOTORCONTROLCENTRE={type:3,value:"MOTORCONTROLCENTRE"},Wn.SWITCHBOARD={type:3,value:"SWITCHBOARD"},Wn.USERDEFINED={type:3,value:"USERDEFINED"},Wn.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcElectricDistributionBoardTypeEnum=Wn;var zn=P((function e(){b(this,e)}));zn.BATTERY={type:3,value:"BATTERY"},zn.CAPACITORBANK={type:3,value:"CAPACITORBANK"},zn.HARMONICFILTER={type:3,value:"HARMONICFILTER"},zn.INDUCTORBANK={type:3,value:"INDUCTORBANK"},zn.UPS={type:3,value:"UPS"},zn.USERDEFINED={type:3,value:"USERDEFINED"},zn.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcElectricFlowStorageDeviceTypeEnum=zn;var Kn=P((function e(){b(this,e)}));Kn.CHP={type:3,value:"CHP"},Kn.ENGINEGENERATOR={type:3,value:"ENGINEGENERATOR"},Kn.STANDALONE={type:3,value:"STANDALONE"},Kn.USERDEFINED={type:3,value:"USERDEFINED"},Kn.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcElectricGeneratorTypeEnum=Kn;var Yn=P((function e(){b(this,e)}));Yn.DC={type:3,value:"DC"},Yn.INDUCTION={type:3,value:"INDUCTION"},Yn.POLYPHASE={type:3,value:"POLYPHASE"},Yn.RELUCTANCESYNCHRONOUS={type:3,value:"RELUCTANCESYNCHRONOUS"},Yn.SYNCHRONOUS={type:3,value:"SYNCHRONOUS"},Yn.USERDEFINED={type:3,value:"USERDEFINED"},Yn.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcElectricMotorTypeEnum=Yn;var Xn=P((function e(){b(this,e)}));Xn.TIMECLOCK={type:3,value:"TIMECLOCK"},Xn.TIMEDELAY={type:3,value:"TIMEDELAY"},Xn.RELAY={type:3,value:"RELAY"},Xn.USERDEFINED={type:3,value:"USERDEFINED"},Xn.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcElectricTimeControlTypeEnum=Xn;var qn=P((function e(){b(this,e)}));qn.ACCESSORY_ASSEMBLY={type:3,value:"ACCESSORY_ASSEMBLY"},qn.ARCH={type:3,value:"ARCH"},qn.BEAM_GRID={type:3,value:"BEAM_GRID"},qn.BRACED_FRAME={type:3,value:"BRACED_FRAME"},qn.GIRDER={type:3,value:"GIRDER"},qn.REINFORCEMENT_UNIT={type:3,value:"REINFORCEMENT_UNIT"},qn.RIGID_FRAME={type:3,value:"RIGID_FRAME"},qn.SLAB_FIELD={type:3,value:"SLAB_FIELD"},qn.TRUSS={type:3,value:"TRUSS"},qn.USERDEFINED={type:3,value:"USERDEFINED"},qn.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcElementAssemblyTypeEnum=qn;var Jn=P((function e(){b(this,e)}));Jn.COMPLEX={type:3,value:"COMPLEX"},Jn.ELEMENT={type:3,value:"ELEMENT"},Jn.PARTIAL={type:3,value:"PARTIAL"},e.IfcElementCompositionEnum=Jn;var Zn=P((function e(){b(this,e)}));Zn.EXTERNALCOMBUSTION={type:3,value:"EXTERNALCOMBUSTION"},Zn.INTERNALCOMBUSTION={type:3,value:"INTERNALCOMBUSTION"},Zn.USERDEFINED={type:3,value:"USERDEFINED"},Zn.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcEngineTypeEnum=Zn;var $n=P((function e(){b(this,e)}));$n.DIRECTEVAPORATIVERANDOMMEDIAAIRCOOLER={type:3,value:"DIRECTEVAPORATIVERANDOMMEDIAAIRCOOLER"},$n.DIRECTEVAPORATIVERIGIDMEDIAAIRCOOLER={type:3,value:"DIRECTEVAPORATIVERIGIDMEDIAAIRCOOLER"},$n.DIRECTEVAPORATIVESLINGERSPACKAGEDAIRCOOLER={type:3,value:"DIRECTEVAPORATIVESLINGERSPACKAGEDAIRCOOLER"},$n.DIRECTEVAPORATIVEPACKAGEDROTARYAIRCOOLER={type:3,value:"DIRECTEVAPORATIVEPACKAGEDROTARYAIRCOOLER"},$n.DIRECTEVAPORATIVEAIRWASHER={type:3,value:"DIRECTEVAPORATIVEAIRWASHER"},$n.INDIRECTEVAPORATIVEPACKAGEAIRCOOLER={type:3,value:"INDIRECTEVAPORATIVEPACKAGEAIRCOOLER"},$n.INDIRECTEVAPORATIVEWETCOIL={type:3,value:"INDIRECTEVAPORATIVEWETCOIL"},$n.INDIRECTEVAPORATIVECOOLINGTOWERORCOILCOOLER={type:3,value:"INDIRECTEVAPORATIVECOOLINGTOWERORCOILCOOLER"},$n.INDIRECTDIRECTCOMBINATION={type:3,value:"INDIRECTDIRECTCOMBINATION"},$n.USERDEFINED={type:3,value:"USERDEFINED"},$n.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcEvaporativeCoolerTypeEnum=$n;var er=P((function e(){b(this,e)}));er.DIRECTEXPANSION={type:3,value:"DIRECTEXPANSION"},er.DIRECTEXPANSIONSHELLANDTUBE={type:3,value:"DIRECTEXPANSIONSHELLANDTUBE"},er.DIRECTEXPANSIONTUBEINTUBE={type:3,value:"DIRECTEXPANSIONTUBEINTUBE"},er.DIRECTEXPANSIONBRAZEDPLATE={type:3,value:"DIRECTEXPANSIONBRAZEDPLATE"},er.FLOODEDSHELLANDTUBE={type:3,value:"FLOODEDSHELLANDTUBE"},er.SHELLANDCOIL={type:3,value:"SHELLANDCOIL"},er.USERDEFINED={type:3,value:"USERDEFINED"},er.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcEvaporatorTypeEnum=er;var tr=P((function e(){b(this,e)}));tr.EVENTRULE={type:3,value:"EVENTRULE"},tr.EVENTMESSAGE={type:3,value:"EVENTMESSAGE"},tr.EVENTTIME={type:3,value:"EVENTTIME"},tr.EVENTCOMPLEX={type:3,value:"EVENTCOMPLEX"},tr.USERDEFINED={type:3,value:"USERDEFINED"},tr.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcEventTriggerTypeEnum=tr;var nr=P((function e(){b(this,e)}));nr.STARTEVENT={type:3,value:"STARTEVENT"},nr.ENDEVENT={type:3,value:"ENDEVENT"},nr.INTERMEDIATEEVENT={type:3,value:"INTERMEDIATEEVENT"},nr.USERDEFINED={type:3,value:"USERDEFINED"},nr.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcEventTypeEnum=nr;var rr=P((function e(){b(this,e)}));rr.EXTERNAL={type:3,value:"EXTERNAL"},rr.EXTERNAL_EARTH={type:3,value:"EXTERNAL_EARTH"},rr.EXTERNAL_WATER={type:3,value:"EXTERNAL_WATER"},rr.EXTERNAL_FIRE={type:3,value:"EXTERNAL_FIRE"},rr.USERDEFINED={type:3,value:"USERDEFINED"},rr.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcExternalSpatialElementTypeEnum=rr;var ir=P((function e(){b(this,e)}));ir.CENTRIFUGALFORWARDCURVED={type:3,value:"CENTRIFUGALFORWARDCURVED"},ir.CENTRIFUGALRADIAL={type:3,value:"CENTRIFUGALRADIAL"},ir.CENTRIFUGALBACKWARDINCLINEDCURVED={type:3,value:"CENTRIFUGALBACKWARDINCLINEDCURVED"},ir.CENTRIFUGALAIRFOIL={type:3,value:"CENTRIFUGALAIRFOIL"},ir.TUBEAXIAL={type:3,value:"TUBEAXIAL"},ir.VANEAXIAL={type:3,value:"VANEAXIAL"},ir.PROPELLORAXIAL={type:3,value:"PROPELLORAXIAL"},ir.USERDEFINED={type:3,value:"USERDEFINED"},ir.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcFanTypeEnum=ir;var ar=P((function e(){b(this,e)}));ar.GLUE={type:3,value:"GLUE"},ar.MORTAR={type:3,value:"MORTAR"},ar.WELD={type:3,value:"WELD"},ar.USERDEFINED={type:3,value:"USERDEFINED"},ar.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcFastenerTypeEnum=ar;var sr=P((function e(){b(this,e)}));sr.AIRPARTICLEFILTER={type:3,value:"AIRPARTICLEFILTER"},sr.COMPRESSEDAIRFILTER={type:3,value:"COMPRESSEDAIRFILTER"},sr.ODORFILTER={type:3,value:"ODORFILTER"},sr.OILFILTER={type:3,value:"OILFILTER"},sr.STRAINER={type:3,value:"STRAINER"},sr.WATERFILTER={type:3,value:"WATERFILTER"},sr.USERDEFINED={type:3,value:"USERDEFINED"},sr.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcFilterTypeEnum=sr;var or=P((function e(){b(this,e)}));or.BREECHINGINLET={type:3,value:"BREECHINGINLET"},or.FIREHYDRANT={type:3,value:"FIREHYDRANT"},or.HOSEREEL={type:3,value:"HOSEREEL"},or.SPRINKLER={type:3,value:"SPRINKLER"},or.SPRINKLERDEFLECTOR={type:3,value:"SPRINKLERDEFLECTOR"},or.USERDEFINED={type:3,value:"USERDEFINED"},or.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcFireSuppressionTerminalTypeEnum=or;var lr=P((function e(){b(this,e)}));lr.SOURCE={type:3,value:"SOURCE"},lr.SINK={type:3,value:"SINK"},lr.SOURCEANDSINK={type:3,value:"SOURCEANDSINK"},lr.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcFlowDirectionEnum=lr;var ur=P((function e(){b(this,e)}));ur.PRESSUREGAUGE={type:3,value:"PRESSUREGAUGE"},ur.THERMOMETER={type:3,value:"THERMOMETER"},ur.AMMETER={type:3,value:"AMMETER"},ur.FREQUENCYMETER={type:3,value:"FREQUENCYMETER"},ur.POWERFACTORMETER={type:3,value:"POWERFACTORMETER"},ur.PHASEANGLEMETER={type:3,value:"PHASEANGLEMETER"},ur.VOLTMETER_PEAK={type:3,value:"VOLTMETER_PEAK"},ur.VOLTMETER_RMS={type:3,value:"VOLTMETER_RMS"},ur.USERDEFINED={type:3,value:"USERDEFINED"},ur.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcFlowInstrumentTypeEnum=ur;var cr=P((function e(){b(this,e)}));cr.ENERGYMETER={type:3,value:"ENERGYMETER"},cr.GASMETER={type:3,value:"GASMETER"},cr.OILMETER={type:3,value:"OILMETER"},cr.WATERMETER={type:3,value:"WATERMETER"},cr.USERDEFINED={type:3,value:"USERDEFINED"},cr.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcFlowMeterTypeEnum=cr;var fr=P((function e(){b(this,e)}));fr.CAISSON_FOUNDATION={type:3,value:"CAISSON_FOUNDATION"},fr.FOOTING_BEAM={type:3,value:"FOOTING_BEAM"},fr.PAD_FOOTING={type:3,value:"PAD_FOOTING"},fr.PILE_CAP={type:3,value:"PILE_CAP"},fr.STRIP_FOOTING={type:3,value:"STRIP_FOOTING"},fr.USERDEFINED={type:3,value:"USERDEFINED"},fr.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcFootingTypeEnum=fr;var pr=P((function e(){b(this,e)}));pr.CHAIR={type:3,value:"CHAIR"},pr.TABLE={type:3,value:"TABLE"},pr.DESK={type:3,value:"DESK"},pr.BED={type:3,value:"BED"},pr.FILECABINET={type:3,value:"FILECABINET"},pr.SHELF={type:3,value:"SHELF"},pr.SOFA={type:3,value:"SOFA"},pr.USERDEFINED={type:3,value:"USERDEFINED"},pr.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcFurnitureTypeEnum=pr;var Ar=P((function e(){b(this,e)}));Ar.TERRAIN={type:3,value:"TERRAIN"},Ar.USERDEFINED={type:3,value:"USERDEFINED"},Ar.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcGeographicElementTypeEnum=Ar;var dr=P((function e(){b(this,e)}));dr.GRAPH_VIEW={type:3,value:"GRAPH_VIEW"},dr.SKETCH_VIEW={type:3,value:"SKETCH_VIEW"},dr.MODEL_VIEW={type:3,value:"MODEL_VIEW"},dr.PLAN_VIEW={type:3,value:"PLAN_VIEW"},dr.REFLECTED_PLAN_VIEW={type:3,value:"REFLECTED_PLAN_VIEW"},dr.SECTION_VIEW={type:3,value:"SECTION_VIEW"},dr.ELEVATION_VIEW={type:3,value:"ELEVATION_VIEW"},dr.USERDEFINED={type:3,value:"USERDEFINED"},dr.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcGeometricProjectionEnum=dr;var vr=P((function e(){b(this,e)}));vr.GLOBAL_COORDS={type:3,value:"GLOBAL_COORDS"},vr.LOCAL_COORDS={type:3,value:"LOCAL_COORDS"},e.IfcGlobalOrLocalEnum=vr;var hr=P((function e(){b(this,e)}));hr.RECTANGULAR={type:3,value:"RECTANGULAR"},hr.RADIAL={type:3,value:"RADIAL"},hr.TRIANGULAR={type:3,value:"TRIANGULAR"},hr.IRREGULAR={type:3,value:"IRREGULAR"},hr.USERDEFINED={type:3,value:"USERDEFINED"},hr.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcGridTypeEnum=hr;var Ir=P((function e(){b(this,e)}));Ir.PLATE={type:3,value:"PLATE"},Ir.SHELLANDTUBE={type:3,value:"SHELLANDTUBE"},Ir.USERDEFINED={type:3,value:"USERDEFINED"},Ir.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcHeatExchangerTypeEnum=Ir;var yr=P((function e(){b(this,e)}));yr.STEAMINJECTION={type:3,value:"STEAMINJECTION"},yr.ADIABATICAIRWASHER={type:3,value:"ADIABATICAIRWASHER"},yr.ADIABATICPAN={type:3,value:"ADIABATICPAN"},yr.ADIABATICWETTEDELEMENT={type:3,value:"ADIABATICWETTEDELEMENT"},yr.ADIABATICATOMIZING={type:3,value:"ADIABATICATOMIZING"},yr.ADIABATICULTRASONIC={type:3,value:"ADIABATICULTRASONIC"},yr.ADIABATICRIGIDMEDIA={type:3,value:"ADIABATICRIGIDMEDIA"},yr.ADIABATICCOMPRESSEDAIRNOZZLE={type:3,value:"ADIABATICCOMPRESSEDAIRNOZZLE"},yr.ASSISTEDELECTRIC={type:3,value:"ASSISTEDELECTRIC"},yr.ASSISTEDNATURALGAS={type:3,value:"ASSISTEDNATURALGAS"},yr.ASSISTEDPROPANE={type:3,value:"ASSISTEDPROPANE"},yr.ASSISTEDBUTANE={type:3,value:"ASSISTEDBUTANE"},yr.ASSISTEDSTEAM={type:3,value:"ASSISTEDSTEAM"},yr.USERDEFINED={type:3,value:"USERDEFINED"},yr.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcHumidifierTypeEnum=yr;var mr=P((function e(){b(this,e)}));mr.CYCLONIC={type:3,value:"CYCLONIC"},mr.GREASE={type:3,value:"GREASE"},mr.OIL={type:3,value:"OIL"},mr.PETROL={type:3,value:"PETROL"},mr.USERDEFINED={type:3,value:"USERDEFINED"},mr.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcInterceptorTypeEnum=mr;var wr=P((function e(){b(this,e)}));wr.INTERNAL={type:3,value:"INTERNAL"},wr.EXTERNAL={type:3,value:"EXTERNAL"},wr.EXTERNAL_EARTH={type:3,value:"EXTERNAL_EARTH"},wr.EXTERNAL_WATER={type:3,value:"EXTERNAL_WATER"},wr.EXTERNAL_FIRE={type:3,value:"EXTERNAL_FIRE"},wr.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcInternalOrExternalEnum=wr;var gr=P((function e(){b(this,e)}));gr.ASSETINVENTORY={type:3,value:"ASSETINVENTORY"},gr.SPACEINVENTORY={type:3,value:"SPACEINVENTORY"},gr.FURNITUREINVENTORY={type:3,value:"FURNITUREINVENTORY"},gr.USERDEFINED={type:3,value:"USERDEFINED"},gr.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcInventoryTypeEnum=gr;var Er=P((function e(){b(this,e)}));Er.DATA={type:3,value:"DATA"},Er.POWER={type:3,value:"POWER"},Er.USERDEFINED={type:3,value:"USERDEFINED"},Er.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcJunctionBoxTypeEnum=Er;var Tr=P((function e(){b(this,e)}));Tr.UNIFORM_KNOTS={type:3,value:"UNIFORM_KNOTS"},Tr.QUASI_UNIFORM_KNOTS={type:3,value:"QUASI_UNIFORM_KNOTS"},Tr.PIECEWISE_BEZIER_KNOTS={type:3,value:"PIECEWISE_BEZIER_KNOTS"},Tr.UNSPECIFIED={type:3,value:"UNSPECIFIED"},e.IfcKnotType=Tr;var br=P((function e(){b(this,e)}));br.ADMINISTRATION={type:3,value:"ADMINISTRATION"},br.CARPENTRY={type:3,value:"CARPENTRY"},br.CLEANING={type:3,value:"CLEANING"},br.CONCRETE={type:3,value:"CONCRETE"},br.DRYWALL={type:3,value:"DRYWALL"},br.ELECTRIC={type:3,value:"ELECTRIC"},br.FINISHING={type:3,value:"FINISHING"},br.FLOORING={type:3,value:"FLOORING"},br.GENERAL={type:3,value:"GENERAL"},br.HVAC={type:3,value:"HVAC"},br.LANDSCAPING={type:3,value:"LANDSCAPING"},br.MASONRY={type:3,value:"MASONRY"},br.PAINTING={type:3,value:"PAINTING"},br.PAVING={type:3,value:"PAVING"},br.PLUMBING={type:3,value:"PLUMBING"},br.ROOFING={type:3,value:"ROOFING"},br.SITEGRADING={type:3,value:"SITEGRADING"},br.STEELWORK={type:3,value:"STEELWORK"},br.SURVEYING={type:3,value:"SURVEYING"},br.USERDEFINED={type:3,value:"USERDEFINED"},br.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcLaborResourceTypeEnum=br;var Dr=P((function e(){b(this,e)}));Dr.COMPACTFLUORESCENT={type:3,value:"COMPACTFLUORESCENT"},Dr.FLUORESCENT={type:3,value:"FLUORESCENT"},Dr.HALOGEN={type:3,value:"HALOGEN"},Dr.HIGHPRESSUREMERCURY={type:3,value:"HIGHPRESSUREMERCURY"},Dr.HIGHPRESSURESODIUM={type:3,value:"HIGHPRESSURESODIUM"},Dr.LED={type:3,value:"LED"},Dr.METALHALIDE={type:3,value:"METALHALIDE"},Dr.OLED={type:3,value:"OLED"},Dr.TUNGSTENFILAMENT={type:3,value:"TUNGSTENFILAMENT"},Dr.USERDEFINED={type:3,value:"USERDEFINED"},Dr.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcLampTypeEnum=Dr;var Pr=P((function e(){b(this,e)}));Pr.AXIS1={type:3,value:"AXIS1"},Pr.AXIS2={type:3,value:"AXIS2"},Pr.AXIS3={type:3,value:"AXIS3"},e.IfcLayerSetDirectionEnum=Pr;var Rr=P((function e(){b(this,e)}));Rr.TYPE_A={type:3,value:"TYPE_A"},Rr.TYPE_B={type:3,value:"TYPE_B"},Rr.TYPE_C={type:3,value:"TYPE_C"},Rr.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcLightDistributionCurveEnum=Rr;var Cr=P((function e(){b(this,e)}));Cr.COMPACTFLUORESCENT={type:3,value:"COMPACTFLUORESCENT"},Cr.FLUORESCENT={type:3,value:"FLUORESCENT"},Cr.HIGHPRESSUREMERCURY={type:3,value:"HIGHPRESSUREMERCURY"},Cr.HIGHPRESSURESODIUM={type:3,value:"HIGHPRESSURESODIUM"},Cr.LIGHTEMITTINGDIODE={type:3,value:"LIGHTEMITTINGDIODE"},Cr.LOWPRESSURESODIUM={type:3,value:"LOWPRESSURESODIUM"},Cr.LOWVOLTAGEHALOGEN={type:3,value:"LOWVOLTAGEHALOGEN"},Cr.MAINVOLTAGEHALOGEN={type:3,value:"MAINVOLTAGEHALOGEN"},Cr.METALHALIDE={type:3,value:"METALHALIDE"},Cr.TUNGSTENFILAMENT={type:3,value:"TUNGSTENFILAMENT"},Cr.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcLightEmissionSourceEnum=Cr;var _r=P((function e(){b(this,e)}));_r.POINTSOURCE={type:3,value:"POINTSOURCE"},_r.DIRECTIONSOURCE={type:3,value:"DIRECTIONSOURCE"},_r.SECURITYLIGHTING={type:3,value:"SECURITYLIGHTING"},_r.USERDEFINED={type:3,value:"USERDEFINED"},_r.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcLightFixtureTypeEnum=_r;var Br=P((function e(){b(this,e)}));Br.LOAD_GROUP={type:3,value:"LOAD_GROUP"},Br.LOAD_CASE={type:3,value:"LOAD_CASE"},Br.LOAD_COMBINATION={type:3,value:"LOAD_COMBINATION"},Br.USERDEFINED={type:3,value:"USERDEFINED"},Br.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcLoadGroupTypeEnum=Br;var Or=P((function e(){b(this,e)}));Or.LOGICALAND={type:3,value:"LOGICALAND"},Or.LOGICALOR={type:3,value:"LOGICALOR"},Or.LOGICALXOR={type:3,value:"LOGICALXOR"},Or.LOGICALNOTAND={type:3,value:"LOGICALNOTAND"},Or.LOGICALNOTOR={type:3,value:"LOGICALNOTOR"},e.IfcLogicalOperatorEnum=Or;var Sr=P((function e(){b(this,e)}));Sr.ANCHORBOLT={type:3,value:"ANCHORBOLT"},Sr.BOLT={type:3,value:"BOLT"},Sr.DOWEL={type:3,value:"DOWEL"},Sr.NAIL={type:3,value:"NAIL"},Sr.NAILPLATE={type:3,value:"NAILPLATE"},Sr.RIVET={type:3,value:"RIVET"},Sr.SCREW={type:3,value:"SCREW"},Sr.SHEARCONNECTOR={type:3,value:"SHEARCONNECTOR"},Sr.STAPLE={type:3,value:"STAPLE"},Sr.STUDSHEARCONNECTOR={type:3,value:"STUDSHEARCONNECTOR"},Sr.USERDEFINED={type:3,value:"USERDEFINED"},Sr.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcMechanicalFastenerTypeEnum=Sr;var Nr=P((function e(){b(this,e)}));Nr.AIRSTATION={type:3,value:"AIRSTATION"},Nr.FEEDAIRUNIT={type:3,value:"FEEDAIRUNIT"},Nr.OXYGENGENERATOR={type:3,value:"OXYGENGENERATOR"},Nr.OXYGENPLANT={type:3,value:"OXYGENPLANT"},Nr.VACUUMSTATION={type:3,value:"VACUUMSTATION"},Nr.USERDEFINED={type:3,value:"USERDEFINED"},Nr.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcMedicalDeviceTypeEnum=Nr;var Lr=P((function e(){b(this,e)}));Lr.BRACE={type:3,value:"BRACE"},Lr.CHORD={type:3,value:"CHORD"},Lr.COLLAR={type:3,value:"COLLAR"},Lr.MEMBER={type:3,value:"MEMBER"},Lr.MULLION={type:3,value:"MULLION"},Lr.PLATE={type:3,value:"PLATE"},Lr.POST={type:3,value:"POST"},Lr.PURLIN={type:3,value:"PURLIN"},Lr.RAFTER={type:3,value:"RAFTER"},Lr.STRINGER={type:3,value:"STRINGER"},Lr.STRUT={type:3,value:"STRUT"},Lr.STUD={type:3,value:"STUD"},Lr.USERDEFINED={type:3,value:"USERDEFINED"},Lr.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcMemberTypeEnum=Lr;var Mr=P((function e(){b(this,e)}));Mr.BELTDRIVE={type:3,value:"BELTDRIVE"},Mr.COUPLING={type:3,value:"COUPLING"},Mr.DIRECTDRIVE={type:3,value:"DIRECTDRIVE"},Mr.USERDEFINED={type:3,value:"USERDEFINED"},Mr.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcMotorConnectionTypeEnum=Mr;var xr=P((function e(){b(this,e)}));xr.NULL={type:3,value:"NULL"},e.IfcNullStyle=xr;var Fr=P((function e(){b(this,e)}));Fr.PRODUCT={type:3,value:"PRODUCT"},Fr.PROCESS={type:3,value:"PROCESS"},Fr.CONTROL={type:3,value:"CONTROL"},Fr.RESOURCE={type:3,value:"RESOURCE"},Fr.ACTOR={type:3,value:"ACTOR"},Fr.GROUP={type:3,value:"GROUP"},Fr.PROJECT={type:3,value:"PROJECT"},Fr.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcObjectTypeEnum=Fr;var Hr=P((function e(){b(this,e)}));Hr.CODECOMPLIANCE={type:3,value:"CODECOMPLIANCE"},Hr.CODEWAIVER={type:3,value:"CODEWAIVER"},Hr.DESIGNINTENT={type:3,value:"DESIGNINTENT"},Hr.EXTERNAL={type:3,value:"EXTERNAL"},Hr.HEALTHANDSAFETY={type:3,value:"HEALTHANDSAFETY"},Hr.MERGECONFLICT={type:3,value:"MERGECONFLICT"},Hr.MODELVIEW={type:3,value:"MODELVIEW"},Hr.PARAMETER={type:3,value:"PARAMETER"},Hr.REQUIREMENT={type:3,value:"REQUIREMENT"},Hr.SPECIFICATION={type:3,value:"SPECIFICATION"},Hr.TRIGGERCONDITION={type:3,value:"TRIGGERCONDITION"},Hr.USERDEFINED={type:3,value:"USERDEFINED"},Hr.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcObjectiveEnum=Hr;var Ur=P((function e(){b(this,e)}));Ur.ASSIGNEE={type:3,value:"ASSIGNEE"},Ur.ASSIGNOR={type:3,value:"ASSIGNOR"},Ur.LESSEE={type:3,value:"LESSEE"},Ur.LESSOR={type:3,value:"LESSOR"},Ur.LETTINGAGENT={type:3,value:"LETTINGAGENT"},Ur.OWNER={type:3,value:"OWNER"},Ur.TENANT={type:3,value:"TENANT"},Ur.USERDEFINED={type:3,value:"USERDEFINED"},Ur.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcOccupantTypeEnum=Ur;var Gr=P((function e(){b(this,e)}));Gr.OPENING={type:3,value:"OPENING"},Gr.RECESS={type:3,value:"RECESS"},Gr.USERDEFINED={type:3,value:"USERDEFINED"},Gr.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcOpeningElementTypeEnum=Gr;var kr=P((function e(){b(this,e)}));kr.AUDIOVISUALOUTLET={type:3,value:"AUDIOVISUALOUTLET"},kr.COMMUNICATIONSOUTLET={type:3,value:"COMMUNICATIONSOUTLET"},kr.POWEROUTLET={type:3,value:"POWEROUTLET"},kr.DATAOUTLET={type:3,value:"DATAOUTLET"},kr.TELEPHONEOUTLET={type:3,value:"TELEPHONEOUTLET"},kr.USERDEFINED={type:3,value:"USERDEFINED"},kr.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcOutletTypeEnum=kr;var jr=P((function e(){b(this,e)}));jr.USERDEFINED={type:3,value:"USERDEFINED"},jr.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcPerformanceHistoryTypeEnum=jr;var Vr=P((function e(){b(this,e)}));Vr.GRILL={type:3,value:"GRILL"},Vr.LOUVER={type:3,value:"LOUVER"},Vr.SCREEN={type:3,value:"SCREEN"},Vr.USERDEFINED={type:3,value:"USERDEFINED"},Vr.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcPermeableCoveringOperationEnum=Vr;var Qr=P((function e(){b(this,e)}));Qr.ACCESS={type:3,value:"ACCESS"},Qr.BUILDING={type:3,value:"BUILDING"},Qr.WORK={type:3,value:"WORK"},Qr.USERDEFINED={type:3,value:"USERDEFINED"},Qr.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcPermitTypeEnum=Qr;var Wr=P((function e(){b(this,e)}));Wr.PHYSICAL={type:3,value:"PHYSICAL"},Wr.VIRTUAL={type:3,value:"VIRTUAL"},Wr.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcPhysicalOrVirtualEnum=Wr;var zr=P((function e(){b(this,e)}));zr.CAST_IN_PLACE={type:3,value:"CAST_IN_PLACE"},zr.COMPOSITE={type:3,value:"COMPOSITE"},zr.PRECAST_CONCRETE={type:3,value:"PRECAST_CONCRETE"},zr.PREFAB_STEEL={type:3,value:"PREFAB_STEEL"},zr.USERDEFINED={type:3,value:"USERDEFINED"},zr.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcPileConstructionEnum=zr;var Kr=P((function e(){b(this,e)}));Kr.BORED={type:3,value:"BORED"},Kr.DRIVEN={type:3,value:"DRIVEN"},Kr.JETGROUTING={type:3,value:"JETGROUTING"},Kr.COHESION={type:3,value:"COHESION"},Kr.FRICTION={type:3,value:"FRICTION"},Kr.SUPPORT={type:3,value:"SUPPORT"},Kr.USERDEFINED={type:3,value:"USERDEFINED"},Kr.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcPileTypeEnum=Kr;var Yr=P((function e(){b(this,e)}));Yr.BEND={type:3,value:"BEND"},Yr.CONNECTOR={type:3,value:"CONNECTOR"},Yr.ENTRY={type:3,value:"ENTRY"},Yr.EXIT={type:3,value:"EXIT"},Yr.JUNCTION={type:3,value:"JUNCTION"},Yr.OBSTRUCTION={type:3,value:"OBSTRUCTION"},Yr.TRANSITION={type:3,value:"TRANSITION"},Yr.USERDEFINED={type:3,value:"USERDEFINED"},Yr.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcPipeFittingTypeEnum=Yr;var Xr=P((function e(){b(this,e)}));Xr.CULVERT={type:3,value:"CULVERT"},Xr.FLEXIBLESEGMENT={type:3,value:"FLEXIBLESEGMENT"},Xr.RIGIDSEGMENT={type:3,value:"RIGIDSEGMENT"},Xr.GUTTER={type:3,value:"GUTTER"},Xr.SPOOL={type:3,value:"SPOOL"},Xr.USERDEFINED={type:3,value:"USERDEFINED"},Xr.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcPipeSegmentTypeEnum=Xr;var qr=P((function e(){b(this,e)}));qr.CURTAIN_PANEL={type:3,value:"CURTAIN_PANEL"},qr.SHEET={type:3,value:"SHEET"},qr.USERDEFINED={type:3,value:"USERDEFINED"},qr.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcPlateTypeEnum=qr;var Jr=P((function e(){b(this,e)}));Jr.CURVE3D={type:3,value:"CURVE3D"},Jr.PCURVE_S1={type:3,value:"PCURVE_S1"},Jr.PCURVE_S2={type:3,value:"PCURVE_S2"},e.IfcPreferredSurfaceCurveRepresentation=Jr;var Zr=P((function e(){b(this,e)}));Zr.ADVICE_CAUTION={type:3,value:"ADVICE_CAUTION"},Zr.ADVICE_NOTE={type:3,value:"ADVICE_NOTE"},Zr.ADVICE_WARNING={type:3,value:"ADVICE_WARNING"},Zr.CALIBRATION={type:3,value:"CALIBRATION"},Zr.DIAGNOSTIC={type:3,value:"DIAGNOSTIC"},Zr.SHUTDOWN={type:3,value:"SHUTDOWN"},Zr.STARTUP={type:3,value:"STARTUP"},Zr.USERDEFINED={type:3,value:"USERDEFINED"},Zr.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcProcedureTypeEnum=Zr;var $r=P((function e(){b(this,e)}));$r.CURVE={type:3,value:"CURVE"},$r.AREA={type:3,value:"AREA"},e.IfcProfileTypeEnum=$r;var ei=P((function e(){b(this,e)}));ei.CHANGEORDER={type:3,value:"CHANGEORDER"},ei.MAINTENANCEWORKORDER={type:3,value:"MAINTENANCEWORKORDER"},ei.MOVEORDER={type:3,value:"MOVEORDER"},ei.PURCHASEORDER={type:3,value:"PURCHASEORDER"},ei.WORKORDER={type:3,value:"WORKORDER"},ei.USERDEFINED={type:3,value:"USERDEFINED"},ei.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcProjectOrderTypeEnum=ei;var ti=P((function e(){b(this,e)}));ti.PROJECTED_LENGTH={type:3,value:"PROJECTED_LENGTH"},ti.TRUE_LENGTH={type:3,value:"TRUE_LENGTH"},e.IfcProjectedOrTrueLengthEnum=ti;var ni=P((function e(){b(this,e)}));ni.USERDEFINED={type:3,value:"USERDEFINED"},ni.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcProjectionElementTypeEnum=ni;var ri=P((function e(){b(this,e)}));ri.PSET_TYPEDRIVENONLY={type:3,value:"PSET_TYPEDRIVENONLY"},ri.PSET_TYPEDRIVENOVERRIDE={type:3,value:"PSET_TYPEDRIVENOVERRIDE"},ri.PSET_OCCURRENCEDRIVEN={type:3,value:"PSET_OCCURRENCEDRIVEN"},ri.PSET_PERFORMANCEDRIVEN={type:3,value:"PSET_PERFORMANCEDRIVEN"},ri.QTO_TYPEDRIVENONLY={type:3,value:"QTO_TYPEDRIVENONLY"},ri.QTO_TYPEDRIVENOVERRIDE={type:3,value:"QTO_TYPEDRIVENOVERRIDE"},ri.QTO_OCCURRENCEDRIVEN={type:3,value:"QTO_OCCURRENCEDRIVEN"},ri.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcPropertySetTemplateTypeEnum=ri;var ii=P((function e(){b(this,e)}));ii.ELECTRONIC={type:3,value:"ELECTRONIC"},ii.ELECTROMAGNETIC={type:3,value:"ELECTROMAGNETIC"},ii.RESIDUALCURRENT={type:3,value:"RESIDUALCURRENT"},ii.THERMAL={type:3,value:"THERMAL"},ii.USERDEFINED={type:3,value:"USERDEFINED"},ii.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcProtectiveDeviceTrippingUnitTypeEnum=ii;var ai=P((function e(){b(this,e)}));ai.CIRCUITBREAKER={type:3,value:"CIRCUITBREAKER"},ai.EARTHLEAKAGECIRCUITBREAKER={type:3,value:"EARTHLEAKAGECIRCUITBREAKER"},ai.EARTHINGSWITCH={type:3,value:"EARTHINGSWITCH"},ai.FUSEDISCONNECTOR={type:3,value:"FUSEDISCONNECTOR"},ai.RESIDUALCURRENTCIRCUITBREAKER={type:3,value:"RESIDUALCURRENTCIRCUITBREAKER"},ai.RESIDUALCURRENTSWITCH={type:3,value:"RESIDUALCURRENTSWITCH"},ai.VARISTOR={type:3,value:"VARISTOR"},ai.USERDEFINED={type:3,value:"USERDEFINED"},ai.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcProtectiveDeviceTypeEnum=ai;var si=P((function e(){b(this,e)}));si.CIRCULATOR={type:3,value:"CIRCULATOR"},si.ENDSUCTION={type:3,value:"ENDSUCTION"},si.SPLITCASE={type:3,value:"SPLITCASE"},si.SUBMERSIBLEPUMP={type:3,value:"SUBMERSIBLEPUMP"},si.SUMPPUMP={type:3,value:"SUMPPUMP"},si.VERTICALINLINE={type:3,value:"VERTICALINLINE"},si.VERTICALTURBINE={type:3,value:"VERTICALTURBINE"},si.USERDEFINED={type:3,value:"USERDEFINED"},si.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcPumpTypeEnum=si;var oi=P((function e(){b(this,e)}));oi.HANDRAIL={type:3,value:"HANDRAIL"},oi.GUARDRAIL={type:3,value:"GUARDRAIL"},oi.BALUSTRADE={type:3,value:"BALUSTRADE"},oi.USERDEFINED={type:3,value:"USERDEFINED"},oi.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcRailingTypeEnum=oi;var li=P((function e(){b(this,e)}));li.STRAIGHT={type:3,value:"STRAIGHT"},li.SPIRAL={type:3,value:"SPIRAL"},li.USERDEFINED={type:3,value:"USERDEFINED"},li.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcRampFlightTypeEnum=li;var ui=P((function e(){b(this,e)}));ui.STRAIGHT_RUN_RAMP={type:3,value:"STRAIGHT_RUN_RAMP"},ui.TWO_STRAIGHT_RUN_RAMP={type:3,value:"TWO_STRAIGHT_RUN_RAMP"},ui.QUARTER_TURN_RAMP={type:3,value:"QUARTER_TURN_RAMP"},ui.TWO_QUARTER_TURN_RAMP={type:3,value:"TWO_QUARTER_TURN_RAMP"},ui.HALF_TURN_RAMP={type:3,value:"HALF_TURN_RAMP"},ui.SPIRAL_RAMP={type:3,value:"SPIRAL_RAMP"},ui.USERDEFINED={type:3,value:"USERDEFINED"},ui.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcRampTypeEnum=ui;var ci=P((function e(){b(this,e)}));ci.DAILY={type:3,value:"DAILY"},ci.WEEKLY={type:3,value:"WEEKLY"},ci.MONTHLY_BY_DAY_OF_MONTH={type:3,value:"MONTHLY_BY_DAY_OF_MONTH"},ci.MONTHLY_BY_POSITION={type:3,value:"MONTHLY_BY_POSITION"},ci.BY_DAY_COUNT={type:3,value:"BY_DAY_COUNT"},ci.BY_WEEKDAY_COUNT={type:3,value:"BY_WEEKDAY_COUNT"},ci.YEARLY_BY_DAY_OF_MONTH={type:3,value:"YEARLY_BY_DAY_OF_MONTH"},ci.YEARLY_BY_POSITION={type:3,value:"YEARLY_BY_POSITION"},e.IfcRecurrenceTypeEnum=ci;var fi=P((function e(){b(this,e)}));fi.BLINN={type:3,value:"BLINN"},fi.FLAT={type:3,value:"FLAT"},fi.GLASS={type:3,value:"GLASS"},fi.MATT={type:3,value:"MATT"},fi.METAL={type:3,value:"METAL"},fi.MIRROR={type:3,value:"MIRROR"},fi.PHONG={type:3,value:"PHONG"},fi.PLASTIC={type:3,value:"PLASTIC"},fi.STRAUSS={type:3,value:"STRAUSS"},fi.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcReflectanceMethodEnum=fi;var pi=P((function e(){b(this,e)}));pi.MAIN={type:3,value:"MAIN"},pi.SHEAR={type:3,value:"SHEAR"},pi.LIGATURE={type:3,value:"LIGATURE"},pi.STUD={type:3,value:"STUD"},pi.PUNCHING={type:3,value:"PUNCHING"},pi.EDGE={type:3,value:"EDGE"},pi.RING={type:3,value:"RING"},pi.ANCHORING={type:3,value:"ANCHORING"},pi.USERDEFINED={type:3,value:"USERDEFINED"},pi.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcReinforcingBarRoleEnum=pi;var Ai=P((function e(){b(this,e)}));Ai.PLAIN={type:3,value:"PLAIN"},Ai.TEXTURED={type:3,value:"TEXTURED"},e.IfcReinforcingBarSurfaceEnum=Ai;var di=P((function e(){b(this,e)}));di.ANCHORING={type:3,value:"ANCHORING"},di.EDGE={type:3,value:"EDGE"},di.LIGATURE={type:3,value:"LIGATURE"},di.MAIN={type:3,value:"MAIN"},di.PUNCHING={type:3,value:"PUNCHING"},di.RING={type:3,value:"RING"},di.SHEAR={type:3,value:"SHEAR"},di.STUD={type:3,value:"STUD"},di.USERDEFINED={type:3,value:"USERDEFINED"},di.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcReinforcingBarTypeEnum=di;var vi=P((function e(){b(this,e)}));vi.USERDEFINED={type:3,value:"USERDEFINED"},vi.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcReinforcingMeshTypeEnum=vi;var hi=P((function e(){b(this,e)}));hi.SUPPLIER={type:3,value:"SUPPLIER"},hi.MANUFACTURER={type:3,value:"MANUFACTURER"},hi.CONTRACTOR={type:3,value:"CONTRACTOR"},hi.SUBCONTRACTOR={type:3,value:"SUBCONTRACTOR"},hi.ARCHITECT={type:3,value:"ARCHITECT"},hi.STRUCTURALENGINEER={type:3,value:"STRUCTURALENGINEER"},hi.COSTENGINEER={type:3,value:"COSTENGINEER"},hi.CLIENT={type:3,value:"CLIENT"},hi.BUILDINGOWNER={type:3,value:"BUILDINGOWNER"},hi.BUILDINGOPERATOR={type:3,value:"BUILDINGOPERATOR"},hi.MECHANICALENGINEER={type:3,value:"MECHANICALENGINEER"},hi.ELECTRICALENGINEER={type:3,value:"ELECTRICALENGINEER"},hi.PROJECTMANAGER={type:3,value:"PROJECTMANAGER"},hi.FACILITIESMANAGER={type:3,value:"FACILITIESMANAGER"},hi.CIVILENGINEER={type:3,value:"CIVILENGINEER"},hi.COMMISSIONINGENGINEER={type:3,value:"COMMISSIONINGENGINEER"},hi.ENGINEER={type:3,value:"ENGINEER"},hi.OWNER={type:3,value:"OWNER"},hi.CONSULTANT={type:3,value:"CONSULTANT"},hi.CONSTRUCTIONMANAGER={type:3,value:"CONSTRUCTIONMANAGER"},hi.FIELDCONSTRUCTIONMANAGER={type:3,value:"FIELDCONSTRUCTIONMANAGER"},hi.RESELLER={type:3,value:"RESELLER"},hi.USERDEFINED={type:3,value:"USERDEFINED"},e.IfcRoleEnum=hi;var Ii=P((function e(){b(this,e)}));Ii.FLAT_ROOF={type:3,value:"FLAT_ROOF"},Ii.SHED_ROOF={type:3,value:"SHED_ROOF"},Ii.GABLE_ROOF={type:3,value:"GABLE_ROOF"},Ii.HIP_ROOF={type:3,value:"HIP_ROOF"},Ii.HIPPED_GABLE_ROOF={type:3,value:"HIPPED_GABLE_ROOF"},Ii.GAMBREL_ROOF={type:3,value:"GAMBREL_ROOF"},Ii.MANSARD_ROOF={type:3,value:"MANSARD_ROOF"},Ii.BARREL_ROOF={type:3,value:"BARREL_ROOF"},Ii.RAINBOW_ROOF={type:3,value:"RAINBOW_ROOF"},Ii.BUTTERFLY_ROOF={type:3,value:"BUTTERFLY_ROOF"},Ii.PAVILION_ROOF={type:3,value:"PAVILION_ROOF"},Ii.DOME_ROOF={type:3,value:"DOME_ROOF"},Ii.FREEFORM={type:3,value:"FREEFORM"},Ii.USERDEFINED={type:3,value:"USERDEFINED"},Ii.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcRoofTypeEnum=Ii;var yi=P((function e(){b(this,e)}));yi.EXA={type:3,value:"EXA"},yi.PETA={type:3,value:"PETA"},yi.TERA={type:3,value:"TERA"},yi.GIGA={type:3,value:"GIGA"},yi.MEGA={type:3,value:"MEGA"},yi.KILO={type:3,value:"KILO"},yi.HECTO={type:3,value:"HECTO"},yi.DECA={type:3,value:"DECA"},yi.DECI={type:3,value:"DECI"},yi.CENTI={type:3,value:"CENTI"},yi.MILLI={type:3,value:"MILLI"},yi.MICRO={type:3,value:"MICRO"},yi.NANO={type:3,value:"NANO"},yi.PICO={type:3,value:"PICO"},yi.FEMTO={type:3,value:"FEMTO"},yi.ATTO={type:3,value:"ATTO"},e.IfcSIPrefix=yi;var mi=P((function e(){b(this,e)}));mi.AMPERE={type:3,value:"AMPERE"},mi.BECQUEREL={type:3,value:"BECQUEREL"},mi.CANDELA={type:3,value:"CANDELA"},mi.COULOMB={type:3,value:"COULOMB"},mi.CUBIC_METRE={type:3,value:"CUBIC_METRE"},mi.DEGREE_CELSIUS={type:3,value:"DEGREE_CELSIUS"},mi.FARAD={type:3,value:"FARAD"},mi.GRAM={type:3,value:"GRAM"},mi.GRAY={type:3,value:"GRAY"},mi.HENRY={type:3,value:"HENRY"},mi.HERTZ={type:3,value:"HERTZ"},mi.JOULE={type:3,value:"JOULE"},mi.KELVIN={type:3,value:"KELVIN"},mi.LUMEN={type:3,value:"LUMEN"},mi.LUX={type:3,value:"LUX"},mi.METRE={type:3,value:"METRE"},mi.MOLE={type:3,value:"MOLE"},mi.NEWTON={type:3,value:"NEWTON"},mi.OHM={type:3,value:"OHM"},mi.PASCAL={type:3,value:"PASCAL"},mi.RADIAN={type:3,value:"RADIAN"},mi.SECOND={type:3,value:"SECOND"},mi.SIEMENS={type:3,value:"SIEMENS"},mi.SIEVERT={type:3,value:"SIEVERT"},mi.SQUARE_METRE={type:3,value:"SQUARE_METRE"},mi.STERADIAN={type:3,value:"STERADIAN"},mi.TESLA={type:3,value:"TESLA"},mi.VOLT={type:3,value:"VOLT"},mi.WATT={type:3,value:"WATT"},mi.WEBER={type:3,value:"WEBER"},e.IfcSIUnitName=mi;var wi=P((function e(){b(this,e)}));wi.BATH={type:3,value:"BATH"},wi.BIDET={type:3,value:"BIDET"},wi.CISTERN={type:3,value:"CISTERN"},wi.SHOWER={type:3,value:"SHOWER"},wi.SINK={type:3,value:"SINK"},wi.SANITARYFOUNTAIN={type:3,value:"SANITARYFOUNTAIN"},wi.TOILETPAN={type:3,value:"TOILETPAN"},wi.URINAL={type:3,value:"URINAL"},wi.WASHHANDBASIN={type:3,value:"WASHHANDBASIN"},wi.WCSEAT={type:3,value:"WCSEAT"},wi.USERDEFINED={type:3,value:"USERDEFINED"},wi.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcSanitaryTerminalTypeEnum=wi;var gi=P((function e(){b(this,e)}));gi.UNIFORM={type:3,value:"UNIFORM"},gi.TAPERED={type:3,value:"TAPERED"},e.IfcSectionTypeEnum=gi;var Ei=P((function e(){b(this,e)}));Ei.COSENSOR={type:3,value:"COSENSOR"},Ei.CO2SENSOR={type:3,value:"CO2SENSOR"},Ei.CONDUCTANCESENSOR={type:3,value:"CONDUCTANCESENSOR"},Ei.CONTACTSENSOR={type:3,value:"CONTACTSENSOR"},Ei.FIRESENSOR={type:3,value:"FIRESENSOR"},Ei.FLOWSENSOR={type:3,value:"FLOWSENSOR"},Ei.FROSTSENSOR={type:3,value:"FROSTSENSOR"},Ei.GASSENSOR={type:3,value:"GASSENSOR"},Ei.HEATSENSOR={type:3,value:"HEATSENSOR"},Ei.HUMIDITYSENSOR={type:3,value:"HUMIDITYSENSOR"},Ei.IDENTIFIERSENSOR={type:3,value:"IDENTIFIERSENSOR"},Ei.IONCONCENTRATIONSENSOR={type:3,value:"IONCONCENTRATIONSENSOR"},Ei.LEVELSENSOR={type:3,value:"LEVELSENSOR"},Ei.LIGHTSENSOR={type:3,value:"LIGHTSENSOR"},Ei.MOISTURESENSOR={type:3,value:"MOISTURESENSOR"},Ei.MOVEMENTSENSOR={type:3,value:"MOVEMENTSENSOR"},Ei.PHSENSOR={type:3,value:"PHSENSOR"},Ei.PRESSURESENSOR={type:3,value:"PRESSURESENSOR"},Ei.RADIATIONSENSOR={type:3,value:"RADIATIONSENSOR"},Ei.RADIOACTIVITYSENSOR={type:3,value:"RADIOACTIVITYSENSOR"},Ei.SMOKESENSOR={type:3,value:"SMOKESENSOR"},Ei.SOUNDSENSOR={type:3,value:"SOUNDSENSOR"},Ei.TEMPERATURESENSOR={type:3,value:"TEMPERATURESENSOR"},Ei.WINDSENSOR={type:3,value:"WINDSENSOR"},Ei.USERDEFINED={type:3,value:"USERDEFINED"},Ei.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcSensorTypeEnum=Ei;var Ti=P((function e(){b(this,e)}));Ti.START_START={type:3,value:"START_START"},Ti.START_FINISH={type:3,value:"START_FINISH"},Ti.FINISH_START={type:3,value:"FINISH_START"},Ti.FINISH_FINISH={type:3,value:"FINISH_FINISH"},Ti.USERDEFINED={type:3,value:"USERDEFINED"},Ti.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcSequenceEnum=Ti;var bi=P((function e(){b(this,e)}));bi.JALOUSIE={type:3,value:"JALOUSIE"},bi.SHUTTER={type:3,value:"SHUTTER"},bi.AWNING={type:3,value:"AWNING"},bi.USERDEFINED={type:3,value:"USERDEFINED"},bi.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcShadingDeviceTypeEnum=bi;var Di=P((function e(){b(this,e)}));Di.P_SINGLEVALUE={type:3,value:"P_SINGLEVALUE"},Di.P_ENUMERATEDVALUE={type:3,value:"P_ENUMERATEDVALUE"},Di.P_BOUNDEDVALUE={type:3,value:"P_BOUNDEDVALUE"},Di.P_LISTVALUE={type:3,value:"P_LISTVALUE"},Di.P_TABLEVALUE={type:3,value:"P_TABLEVALUE"},Di.P_REFERENCEVALUE={type:3,value:"P_REFERENCEVALUE"},Di.Q_LENGTH={type:3,value:"Q_LENGTH"},Di.Q_AREA={type:3,value:"Q_AREA"},Di.Q_VOLUME={type:3,value:"Q_VOLUME"},Di.Q_COUNT={type:3,value:"Q_COUNT"},Di.Q_WEIGHT={type:3,value:"Q_WEIGHT"},Di.Q_TIME={type:3,value:"Q_TIME"},e.IfcSimplePropertyTemplateTypeEnum=Di;var Pi=P((function e(){b(this,e)}));Pi.FLOOR={type:3,value:"FLOOR"},Pi.ROOF={type:3,value:"ROOF"},Pi.LANDING={type:3,value:"LANDING"},Pi.BASESLAB={type:3,value:"BASESLAB"},Pi.USERDEFINED={type:3,value:"USERDEFINED"},Pi.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcSlabTypeEnum=Pi;var Ri=P((function e(){b(this,e)}));Ri.SOLARCOLLECTOR={type:3,value:"SOLARCOLLECTOR"},Ri.SOLARPANEL={type:3,value:"SOLARPANEL"},Ri.USERDEFINED={type:3,value:"USERDEFINED"},Ri.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcSolarDeviceTypeEnum=Ri;var Ci=P((function e(){b(this,e)}));Ci.CONVECTOR={type:3,value:"CONVECTOR"},Ci.RADIATOR={type:3,value:"RADIATOR"},Ci.USERDEFINED={type:3,value:"USERDEFINED"},Ci.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcSpaceHeaterTypeEnum=Ci;var _i=P((function e(){b(this,e)}));_i.SPACE={type:3,value:"SPACE"},_i.PARKING={type:3,value:"PARKING"},_i.GFA={type:3,value:"GFA"},_i.INTERNAL={type:3,value:"INTERNAL"},_i.EXTERNAL={type:3,value:"EXTERNAL"},_i.USERDEFINED={type:3,value:"USERDEFINED"},_i.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcSpaceTypeEnum=_i;var Bi=P((function e(){b(this,e)}));Bi.CONSTRUCTION={type:3,value:"CONSTRUCTION"},Bi.FIRESAFETY={type:3,value:"FIRESAFETY"},Bi.LIGHTING={type:3,value:"LIGHTING"},Bi.OCCUPANCY={type:3,value:"OCCUPANCY"},Bi.SECURITY={type:3,value:"SECURITY"},Bi.THERMAL={type:3,value:"THERMAL"},Bi.TRANSPORT={type:3,value:"TRANSPORT"},Bi.VENTILATION={type:3,value:"VENTILATION"},Bi.USERDEFINED={type:3,value:"USERDEFINED"},Bi.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcSpatialZoneTypeEnum=Bi;var Oi=P((function e(){b(this,e)}));Oi.BIRDCAGE={type:3,value:"BIRDCAGE"},Oi.COWL={type:3,value:"COWL"},Oi.RAINWATERHOPPER={type:3,value:"RAINWATERHOPPER"},Oi.USERDEFINED={type:3,value:"USERDEFINED"},Oi.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcStackTerminalTypeEnum=Oi;var Si=P((function e(){b(this,e)}));Si.STRAIGHT={type:3,value:"STRAIGHT"},Si.WINDER={type:3,value:"WINDER"},Si.SPIRAL={type:3,value:"SPIRAL"},Si.CURVED={type:3,value:"CURVED"},Si.FREEFORM={type:3,value:"FREEFORM"},Si.USERDEFINED={type:3,value:"USERDEFINED"},Si.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcStairFlightTypeEnum=Si;var Ni=P((function e(){b(this,e)}));Ni.STRAIGHT_RUN_STAIR={type:3,value:"STRAIGHT_RUN_STAIR"},Ni.TWO_STRAIGHT_RUN_STAIR={type:3,value:"TWO_STRAIGHT_RUN_STAIR"},Ni.QUARTER_WINDING_STAIR={type:3,value:"QUARTER_WINDING_STAIR"},Ni.QUARTER_TURN_STAIR={type:3,value:"QUARTER_TURN_STAIR"},Ni.HALF_WINDING_STAIR={type:3,value:"HALF_WINDING_STAIR"},Ni.HALF_TURN_STAIR={type:3,value:"HALF_TURN_STAIR"},Ni.TWO_QUARTER_WINDING_STAIR={type:3,value:"TWO_QUARTER_WINDING_STAIR"},Ni.TWO_QUARTER_TURN_STAIR={type:3,value:"TWO_QUARTER_TURN_STAIR"},Ni.THREE_QUARTER_WINDING_STAIR={type:3,value:"THREE_QUARTER_WINDING_STAIR"},Ni.THREE_QUARTER_TURN_STAIR={type:3,value:"THREE_QUARTER_TURN_STAIR"},Ni.SPIRAL_STAIR={type:3,value:"SPIRAL_STAIR"},Ni.DOUBLE_RETURN_STAIR={type:3,value:"DOUBLE_RETURN_STAIR"},Ni.CURVED_RUN_STAIR={type:3,value:"CURVED_RUN_STAIR"},Ni.TWO_CURVED_RUN_STAIR={type:3,value:"TWO_CURVED_RUN_STAIR"},Ni.USERDEFINED={type:3,value:"USERDEFINED"},Ni.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcStairTypeEnum=Ni;var Li=P((function e(){b(this,e)}));Li.READWRITE={type:3,value:"READWRITE"},Li.READONLY={type:3,value:"READONLY"},Li.LOCKED={type:3,value:"LOCKED"},Li.READWRITELOCKED={type:3,value:"READWRITELOCKED"},Li.READONLYLOCKED={type:3,value:"READONLYLOCKED"},e.IfcStateEnum=Li;var Mi=P((function e(){b(this,e)}));Mi.CONST={type:3,value:"CONST"},Mi.LINEAR={type:3,value:"LINEAR"},Mi.POLYGONAL={type:3,value:"POLYGONAL"},Mi.EQUIDISTANT={type:3,value:"EQUIDISTANT"},Mi.SINUS={type:3,value:"SINUS"},Mi.PARABOLA={type:3,value:"PARABOLA"},Mi.DISCRETE={type:3,value:"DISCRETE"},Mi.USERDEFINED={type:3,value:"USERDEFINED"},Mi.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcStructuralCurveActivityTypeEnum=Mi;var xi=P((function e(){b(this,e)}));xi.RIGID_JOINED_MEMBER={type:3,value:"RIGID_JOINED_MEMBER"},xi.PIN_JOINED_MEMBER={type:3,value:"PIN_JOINED_MEMBER"},xi.CABLE={type:3,value:"CABLE"},xi.TENSION_MEMBER={type:3,value:"TENSION_MEMBER"},xi.COMPRESSION_MEMBER={type:3,value:"COMPRESSION_MEMBER"},xi.USERDEFINED={type:3,value:"USERDEFINED"},xi.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcStructuralCurveMemberTypeEnum=xi;var Fi=P((function e(){b(this,e)}));Fi.CONST={type:3,value:"CONST"},Fi.BILINEAR={type:3,value:"BILINEAR"},Fi.DISCRETE={type:3,value:"DISCRETE"},Fi.ISOCONTOUR={type:3,value:"ISOCONTOUR"},Fi.USERDEFINED={type:3,value:"USERDEFINED"},Fi.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcStructuralSurfaceActivityTypeEnum=Fi;var Hi=P((function e(){b(this,e)}));Hi.BENDING_ELEMENT={type:3,value:"BENDING_ELEMENT"},Hi.MEMBRANE_ELEMENT={type:3,value:"MEMBRANE_ELEMENT"},Hi.SHELL={type:3,value:"SHELL"},Hi.USERDEFINED={type:3,value:"USERDEFINED"},Hi.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcStructuralSurfaceMemberTypeEnum=Hi;var Ui=P((function e(){b(this,e)}));Ui.PURCHASE={type:3,value:"PURCHASE"},Ui.WORK={type:3,value:"WORK"},Ui.USERDEFINED={type:3,value:"USERDEFINED"},Ui.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcSubContractResourceTypeEnum=Ui;var Gi=P((function e(){b(this,e)}));Gi.MARK={type:3,value:"MARK"},Gi.TAG={type:3,value:"TAG"},Gi.TREATMENT={type:3,value:"TREATMENT"},Gi.USERDEFINED={type:3,value:"USERDEFINED"},Gi.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcSurfaceFeatureTypeEnum=Gi;var ki=P((function e(){b(this,e)}));ki.POSITIVE={type:3,value:"POSITIVE"},ki.NEGATIVE={type:3,value:"NEGATIVE"},ki.BOTH={type:3,value:"BOTH"},e.IfcSurfaceSide=ki;var ji=P((function e(){b(this,e)}));ji.CONTACTOR={type:3,value:"CONTACTOR"},ji.DIMMERSWITCH={type:3,value:"DIMMERSWITCH"},ji.EMERGENCYSTOP={type:3,value:"EMERGENCYSTOP"},ji.KEYPAD={type:3,value:"KEYPAD"},ji.MOMENTARYSWITCH={type:3,value:"MOMENTARYSWITCH"},ji.SELECTORSWITCH={type:3,value:"SELECTORSWITCH"},ji.STARTER={type:3,value:"STARTER"},ji.SWITCHDISCONNECTOR={type:3,value:"SWITCHDISCONNECTOR"},ji.TOGGLESWITCH={type:3,value:"TOGGLESWITCH"},ji.USERDEFINED={type:3,value:"USERDEFINED"},ji.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcSwitchingDeviceTypeEnum=ji;var Vi=P((function e(){b(this,e)}));Vi.PANEL={type:3,value:"PANEL"},Vi.WORKSURFACE={type:3,value:"WORKSURFACE"},Vi.USERDEFINED={type:3,value:"USERDEFINED"},Vi.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcSystemFurnitureElementTypeEnum=Vi;var Qi=P((function e(){b(this,e)}));Qi.BASIN={type:3,value:"BASIN"},Qi.BREAKPRESSURE={type:3,value:"BREAKPRESSURE"},Qi.EXPANSION={type:3,value:"EXPANSION"},Qi.FEEDANDEXPANSION={type:3,value:"FEEDANDEXPANSION"},Qi.PRESSUREVESSEL={type:3,value:"PRESSUREVESSEL"},Qi.STORAGE={type:3,value:"STORAGE"},Qi.VESSEL={type:3,value:"VESSEL"},Qi.USERDEFINED={type:3,value:"USERDEFINED"},Qi.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcTankTypeEnum=Qi;var Wi=P((function e(){b(this,e)}));Wi.ELAPSEDTIME={type:3,value:"ELAPSEDTIME"},Wi.WORKTIME={type:3,value:"WORKTIME"},Wi.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcTaskDurationEnum=Wi;var zi=P((function e(){b(this,e)}));zi.ATTENDANCE={type:3,value:"ATTENDANCE"},zi.CONSTRUCTION={type:3,value:"CONSTRUCTION"},zi.DEMOLITION={type:3,value:"DEMOLITION"},zi.DISMANTLE={type:3,value:"DISMANTLE"},zi.DISPOSAL={type:3,value:"DISPOSAL"},zi.INSTALLATION={type:3,value:"INSTALLATION"},zi.LOGISTIC={type:3,value:"LOGISTIC"},zi.MAINTENANCE={type:3,value:"MAINTENANCE"},zi.MOVE={type:3,value:"MOVE"},zi.OPERATION={type:3,value:"OPERATION"},zi.REMOVAL={type:3,value:"REMOVAL"},zi.RENOVATION={type:3,value:"RENOVATION"},zi.USERDEFINED={type:3,value:"USERDEFINED"},zi.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcTaskTypeEnum=zi;var Ki=P((function e(){b(this,e)}));Ki.COUPLER={type:3,value:"COUPLER"},Ki.FIXED_END={type:3,value:"FIXED_END"},Ki.TENSIONING_END={type:3,value:"TENSIONING_END"},Ki.USERDEFINED={type:3,value:"USERDEFINED"},Ki.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcTendonAnchorTypeEnum=Ki;var Yi=P((function e(){b(this,e)}));Yi.BAR={type:3,value:"BAR"},Yi.COATED={type:3,value:"COATED"},Yi.STRAND={type:3,value:"STRAND"},Yi.WIRE={type:3,value:"WIRE"},Yi.USERDEFINED={type:3,value:"USERDEFINED"},Yi.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcTendonTypeEnum=Yi;var Xi=P((function e(){b(this,e)}));Xi.LEFT={type:3,value:"LEFT"},Xi.RIGHT={type:3,value:"RIGHT"},Xi.UP={type:3,value:"UP"},Xi.DOWN={type:3,value:"DOWN"},e.IfcTextPath=Xi;var qi=P((function e(){b(this,e)}));qi.CONTINUOUS={type:3,value:"CONTINUOUS"},qi.DISCRETE={type:3,value:"DISCRETE"},qi.DISCRETEBINARY={type:3,value:"DISCRETEBINARY"},qi.PIECEWISEBINARY={type:3,value:"PIECEWISEBINARY"},qi.PIECEWISECONSTANT={type:3,value:"PIECEWISECONSTANT"},qi.PIECEWISECONTINUOUS={type:3,value:"PIECEWISECONTINUOUS"},qi.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcTimeSeriesDataTypeEnum=qi;var Ji=P((function e(){b(this,e)}));Ji.CURRENT={type:3,value:"CURRENT"},Ji.FREQUENCY={type:3,value:"FREQUENCY"},Ji.INVERTER={type:3,value:"INVERTER"},Ji.RECTIFIER={type:3,value:"RECTIFIER"},Ji.VOLTAGE={type:3,value:"VOLTAGE"},Ji.USERDEFINED={type:3,value:"USERDEFINED"},Ji.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcTransformerTypeEnum=Ji;var Zi=P((function e(){b(this,e)}));Zi.DISCONTINUOUS={type:3,value:"DISCONTINUOUS"},Zi.CONTINUOUS={type:3,value:"CONTINUOUS"},Zi.CONTSAMEGRADIENT={type:3,value:"CONTSAMEGRADIENT"},Zi.CONTSAMEGRADIENTSAMECURVATURE={type:3,value:"CONTSAMEGRADIENTSAMECURVATURE"},e.IfcTransitionCode=Zi;var $i=P((function e(){b(this,e)}));$i.ELEVATOR={type:3,value:"ELEVATOR"},$i.ESCALATOR={type:3,value:"ESCALATOR"},$i.MOVINGWALKWAY={type:3,value:"MOVINGWALKWAY"},$i.CRANEWAY={type:3,value:"CRANEWAY"},$i.LIFTINGGEAR={type:3,value:"LIFTINGGEAR"},$i.USERDEFINED={type:3,value:"USERDEFINED"},$i.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcTransportElementTypeEnum=$i;var ea=P((function e(){b(this,e)}));ea.CARTESIAN={type:3,value:"CARTESIAN"},ea.PARAMETER={type:3,value:"PARAMETER"},ea.UNSPECIFIED={type:3,value:"UNSPECIFIED"},e.IfcTrimmingPreference=ea;var ta=P((function e(){b(this,e)}));ta.FINNED={type:3,value:"FINNED"},ta.USERDEFINED={type:3,value:"USERDEFINED"},ta.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcTubeBundleTypeEnum=ta;var na=P((function e(){b(this,e)}));na.ABSORBEDDOSEUNIT={type:3,value:"ABSORBEDDOSEUNIT"},na.AMOUNTOFSUBSTANCEUNIT={type:3,value:"AMOUNTOFSUBSTANCEUNIT"},na.AREAUNIT={type:3,value:"AREAUNIT"},na.DOSEEQUIVALENTUNIT={type:3,value:"DOSEEQUIVALENTUNIT"},na.ELECTRICCAPACITANCEUNIT={type:3,value:"ELECTRICCAPACITANCEUNIT"},na.ELECTRICCHARGEUNIT={type:3,value:"ELECTRICCHARGEUNIT"},na.ELECTRICCONDUCTANCEUNIT={type:3,value:"ELECTRICCONDUCTANCEUNIT"},na.ELECTRICCURRENTUNIT={type:3,value:"ELECTRICCURRENTUNIT"},na.ELECTRICRESISTANCEUNIT={type:3,value:"ELECTRICRESISTANCEUNIT"},na.ELECTRICVOLTAGEUNIT={type:3,value:"ELECTRICVOLTAGEUNIT"},na.ENERGYUNIT={type:3,value:"ENERGYUNIT"},na.FORCEUNIT={type:3,value:"FORCEUNIT"},na.FREQUENCYUNIT={type:3,value:"FREQUENCYUNIT"},na.ILLUMINANCEUNIT={type:3,value:"ILLUMINANCEUNIT"},na.INDUCTANCEUNIT={type:3,value:"INDUCTANCEUNIT"},na.LENGTHUNIT={type:3,value:"LENGTHUNIT"},na.LUMINOUSFLUXUNIT={type:3,value:"LUMINOUSFLUXUNIT"},na.LUMINOUSINTENSITYUNIT={type:3,value:"LUMINOUSINTENSITYUNIT"},na.MAGNETICFLUXDENSITYUNIT={type:3,value:"MAGNETICFLUXDENSITYUNIT"},na.MAGNETICFLUXUNIT={type:3,value:"MAGNETICFLUXUNIT"},na.MASSUNIT={type:3,value:"MASSUNIT"},na.PLANEANGLEUNIT={type:3,value:"PLANEANGLEUNIT"},na.POWERUNIT={type:3,value:"POWERUNIT"},na.PRESSUREUNIT={type:3,value:"PRESSUREUNIT"},na.RADIOACTIVITYUNIT={type:3,value:"RADIOACTIVITYUNIT"},na.SOLIDANGLEUNIT={type:3,value:"SOLIDANGLEUNIT"},na.THERMODYNAMICTEMPERATUREUNIT={type:3,value:"THERMODYNAMICTEMPERATUREUNIT"},na.TIMEUNIT={type:3,value:"TIMEUNIT"},na.VOLUMEUNIT={type:3,value:"VOLUMEUNIT"},na.USERDEFINED={type:3,value:"USERDEFINED"},e.IfcUnitEnum=na;var ra=P((function e(){b(this,e)}));ra.ALARMPANEL={type:3,value:"ALARMPANEL"},ra.CONTROLPANEL={type:3,value:"CONTROLPANEL"},ra.GASDETECTIONPANEL={type:3,value:"GASDETECTIONPANEL"},ra.INDICATORPANEL={type:3,value:"INDICATORPANEL"},ra.MIMICPANEL={type:3,value:"MIMICPANEL"},ra.HUMIDISTAT={type:3,value:"HUMIDISTAT"},ra.THERMOSTAT={type:3,value:"THERMOSTAT"},ra.WEATHERSTATION={type:3,value:"WEATHERSTATION"},ra.USERDEFINED={type:3,value:"USERDEFINED"},ra.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcUnitaryControlElementTypeEnum=ra;var ia=P((function e(){b(this,e)}));ia.AIRHANDLER={type:3,value:"AIRHANDLER"},ia.AIRCONDITIONINGUNIT={type:3,value:"AIRCONDITIONINGUNIT"},ia.DEHUMIDIFIER={type:3,value:"DEHUMIDIFIER"},ia.SPLITSYSTEM={type:3,value:"SPLITSYSTEM"},ia.ROOFTOPUNIT={type:3,value:"ROOFTOPUNIT"},ia.USERDEFINED={type:3,value:"USERDEFINED"},ia.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcUnitaryEquipmentTypeEnum=ia;var aa=P((function e(){b(this,e)}));aa.AIRRELEASE={type:3,value:"AIRRELEASE"},aa.ANTIVACUUM={type:3,value:"ANTIVACUUM"},aa.CHANGEOVER={type:3,value:"CHANGEOVER"},aa.CHECK={type:3,value:"CHECK"},aa.COMMISSIONING={type:3,value:"COMMISSIONING"},aa.DIVERTING={type:3,value:"DIVERTING"},aa.DRAWOFFCOCK={type:3,value:"DRAWOFFCOCK"},aa.DOUBLECHECK={type:3,value:"DOUBLECHECK"},aa.DOUBLEREGULATING={type:3,value:"DOUBLEREGULATING"},aa.FAUCET={type:3,value:"FAUCET"},aa.FLUSHING={type:3,value:"FLUSHING"},aa.GASCOCK={type:3,value:"GASCOCK"},aa.GASTAP={type:3,value:"GASTAP"},aa.ISOLATING={type:3,value:"ISOLATING"},aa.MIXING={type:3,value:"MIXING"},aa.PRESSUREREDUCING={type:3,value:"PRESSUREREDUCING"},aa.PRESSURERELIEF={type:3,value:"PRESSURERELIEF"},aa.REGULATING={type:3,value:"REGULATING"},aa.SAFETYCUTOFF={type:3,value:"SAFETYCUTOFF"},aa.STEAMTRAP={type:3,value:"STEAMTRAP"},aa.STOPCOCK={type:3,value:"STOPCOCK"},aa.USERDEFINED={type:3,value:"USERDEFINED"},aa.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcValveTypeEnum=aa;var sa=P((function e(){b(this,e)}));sa.COMPRESSION={type:3,value:"COMPRESSION"},sa.SPRING={type:3,value:"SPRING"},sa.USERDEFINED={type:3,value:"USERDEFINED"},sa.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcVibrationIsolatorTypeEnum=sa;var oa=P((function e(){b(this,e)}));oa.CUTOUT={type:3,value:"CUTOUT"},oa.NOTCH={type:3,value:"NOTCH"},oa.HOLE={type:3,value:"HOLE"},oa.MITER={type:3,value:"MITER"},oa.CHAMFER={type:3,value:"CHAMFER"},oa.EDGE={type:3,value:"EDGE"},oa.USERDEFINED={type:3,value:"USERDEFINED"},oa.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcVoidingFeatureTypeEnum=oa;var la=P((function e(){b(this,e)}));la.MOVABLE={type:3,value:"MOVABLE"},la.PARAPET={type:3,value:"PARAPET"},la.PARTITIONING={type:3,value:"PARTITIONING"},la.PLUMBINGWALL={type:3,value:"PLUMBINGWALL"},la.SHEAR={type:3,value:"SHEAR"},la.SOLIDWALL={type:3,value:"SOLIDWALL"},la.STANDARD={type:3,value:"STANDARD"},la.POLYGONAL={type:3,value:"POLYGONAL"},la.ELEMENTEDWALL={type:3,value:"ELEMENTEDWALL"},la.USERDEFINED={type:3,value:"USERDEFINED"},la.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcWallTypeEnum=la;var ua=P((function e(){b(this,e)}));ua.FLOORTRAP={type:3,value:"FLOORTRAP"},ua.FLOORWASTE={type:3,value:"FLOORWASTE"},ua.GULLYSUMP={type:3,value:"GULLYSUMP"},ua.GULLYTRAP={type:3,value:"GULLYTRAP"},ua.ROOFDRAIN={type:3,value:"ROOFDRAIN"},ua.WASTEDISPOSALUNIT={type:3,value:"WASTEDISPOSALUNIT"},ua.WASTETRAP={type:3,value:"WASTETRAP"},ua.USERDEFINED={type:3,value:"USERDEFINED"},ua.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcWasteTerminalTypeEnum=ua;var ca=P((function e(){b(this,e)}));ca.SIDEHUNGRIGHTHAND={type:3,value:"SIDEHUNGRIGHTHAND"},ca.SIDEHUNGLEFTHAND={type:3,value:"SIDEHUNGLEFTHAND"},ca.TILTANDTURNRIGHTHAND={type:3,value:"TILTANDTURNRIGHTHAND"},ca.TILTANDTURNLEFTHAND={type:3,value:"TILTANDTURNLEFTHAND"},ca.TOPHUNG={type:3,value:"TOPHUNG"},ca.BOTTOMHUNG={type:3,value:"BOTTOMHUNG"},ca.PIVOTHORIZONTAL={type:3,value:"PIVOTHORIZONTAL"},ca.PIVOTVERTICAL={type:3,value:"PIVOTVERTICAL"},ca.SLIDINGHORIZONTAL={type:3,value:"SLIDINGHORIZONTAL"},ca.SLIDINGVERTICAL={type:3,value:"SLIDINGVERTICAL"},ca.REMOVABLECASEMENT={type:3,value:"REMOVABLECASEMENT"},ca.FIXEDCASEMENT={type:3,value:"FIXEDCASEMENT"},ca.OTHEROPERATION={type:3,value:"OTHEROPERATION"},ca.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcWindowPanelOperationEnum=ca;var fa=P((function e(){b(this,e)}));fa.LEFT={type:3,value:"LEFT"},fa.MIDDLE={type:3,value:"MIDDLE"},fa.RIGHT={type:3,value:"RIGHT"},fa.BOTTOM={type:3,value:"BOTTOM"},fa.TOP={type:3,value:"TOP"},fa.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcWindowPanelPositionEnum=fa;var pa=P((function e(){b(this,e)}));pa.ALUMINIUM={type:3,value:"ALUMINIUM"},pa.HIGH_GRADE_STEEL={type:3,value:"HIGH_GRADE_STEEL"},pa.STEEL={type:3,value:"STEEL"},pa.WOOD={type:3,value:"WOOD"},pa.ALUMINIUM_WOOD={type:3,value:"ALUMINIUM_WOOD"},pa.PLASTIC={type:3,value:"PLASTIC"},pa.OTHER_CONSTRUCTION={type:3,value:"OTHER_CONSTRUCTION"},pa.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcWindowStyleConstructionEnum=pa;var Aa=P((function e(){b(this,e)}));Aa.SINGLE_PANEL={type:3,value:"SINGLE_PANEL"},Aa.DOUBLE_PANEL_VERTICAL={type:3,value:"DOUBLE_PANEL_VERTICAL"},Aa.DOUBLE_PANEL_HORIZONTAL={type:3,value:"DOUBLE_PANEL_HORIZONTAL"},Aa.TRIPLE_PANEL_VERTICAL={type:3,value:"TRIPLE_PANEL_VERTICAL"},Aa.TRIPLE_PANEL_BOTTOM={type:3,value:"TRIPLE_PANEL_BOTTOM"},Aa.TRIPLE_PANEL_TOP={type:3,value:"TRIPLE_PANEL_TOP"},Aa.TRIPLE_PANEL_LEFT={type:3,value:"TRIPLE_PANEL_LEFT"},Aa.TRIPLE_PANEL_RIGHT={type:3,value:"TRIPLE_PANEL_RIGHT"},Aa.TRIPLE_PANEL_HORIZONTAL={type:3,value:"TRIPLE_PANEL_HORIZONTAL"},Aa.USERDEFINED={type:3,value:"USERDEFINED"},Aa.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcWindowStyleOperationEnum=Aa;var da=P((function e(){b(this,e)}));da.WINDOW={type:3,value:"WINDOW"},da.SKYLIGHT={type:3,value:"SKYLIGHT"},da.LIGHTDOME={type:3,value:"LIGHTDOME"},da.USERDEFINED={type:3,value:"USERDEFINED"},da.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcWindowTypeEnum=da;var va=P((function e(){b(this,e)}));va.SINGLE_PANEL={type:3,value:"SINGLE_PANEL"},va.DOUBLE_PANEL_VERTICAL={type:3,value:"DOUBLE_PANEL_VERTICAL"},va.DOUBLE_PANEL_HORIZONTAL={type:3,value:"DOUBLE_PANEL_HORIZONTAL"},va.TRIPLE_PANEL_VERTICAL={type:3,value:"TRIPLE_PANEL_VERTICAL"},va.TRIPLE_PANEL_BOTTOM={type:3,value:"TRIPLE_PANEL_BOTTOM"},va.TRIPLE_PANEL_TOP={type:3,value:"TRIPLE_PANEL_TOP"},va.TRIPLE_PANEL_LEFT={type:3,value:"TRIPLE_PANEL_LEFT"},va.TRIPLE_PANEL_RIGHT={type:3,value:"TRIPLE_PANEL_RIGHT"},va.TRIPLE_PANEL_HORIZONTAL={type:3,value:"TRIPLE_PANEL_HORIZONTAL"},va.USERDEFINED={type:3,value:"USERDEFINED"},va.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcWindowTypePartitioningEnum=va;var ha=P((function e(){b(this,e)}));ha.FIRSTSHIFT={type:3,value:"FIRSTSHIFT"},ha.SECONDSHIFT={type:3,value:"SECONDSHIFT"},ha.THIRDSHIFT={type:3,value:"THIRDSHIFT"},ha.USERDEFINED={type:3,value:"USERDEFINED"},ha.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcWorkCalendarTypeEnum=ha;var Ia=P((function e(){b(this,e)}));Ia.ACTUAL={type:3,value:"ACTUAL"},Ia.BASELINE={type:3,value:"BASELINE"},Ia.PLANNED={type:3,value:"PLANNED"},Ia.USERDEFINED={type:3,value:"USERDEFINED"},Ia.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcWorkPlanTypeEnum=Ia;var ya=P((function e(){b(this,e)}));ya.ACTUAL={type:3,value:"ACTUAL"},ya.BASELINE={type:3,value:"BASELINE"},ya.PLANNED={type:3,value:"PLANNED"},ya.USERDEFINED={type:3,value:"USERDEFINED"},ya.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcWorkScheduleTypeEnum=ya;var ma=function(e){I(n,U_);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e)).Role=r,s.UserDefinedRole=i,s.Description=a,s.type=3630933823,s}return P(n)}();e.IfcActorRole=ma;var wa=function(e){I(n,U_);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e)).Purpose=r,s.Description=i,s.UserDefinedPurpose=a,s.type=618182010,s}return P(n)}();e.IfcAddress=wa;var ga=function(e){I(n,U_);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e)).ApplicationDeveloper=r,o.Version=i,o.ApplicationFullName=a,o.ApplicationIdentifier=s,o.type=639542469,o}return P(n)}();e.IfcApplication=ga;var Ea=function(e){I(n,U_);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e)).Name=r,A.Description=i,A.AppliedValue=a,A.UnitBasis=s,A.ApplicableDate=o,A.FixedUntilDate=l,A.Category=u,A.Condition=c,A.ArithmeticOperator=f,A.Components=p,A.type=411424972,A}return P(n)}();e.IfcAppliedValue=Ea;var Ta=function(e){I(n,U_);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e)).Identifier=r,p.Name=i,p.Description=a,p.TimeOfApproval=s,p.Status=o,p.Level=l,p.Qualifier=u,p.RequestingApproval=c,p.GivingApproval=f,p.type=130549933,p}return P(n)}();e.IfcApproval=Ta;var ba=function(e){I(n,U_);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e)).Name=r,i.type=4037036970,i}return P(n)}();e.IfcBoundaryCondition=ba;var Da=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u){var c;return b(this,n),(c=t.call(this,e,r)).Name=r,c.TranslationalStiffnessByLengthX=i,c.TranslationalStiffnessByLengthY=a,c.TranslationalStiffnessByLengthZ=s,c.RotationalStiffnessByLengthX=o,c.RotationalStiffnessByLengthY=l,c.RotationalStiffnessByLengthZ=u,c.type=1560379544,c}return P(n)}(ba);e.IfcBoundaryEdgeCondition=Da;var Pa=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r)).Name=r,o.TranslationalStiffnessByAreaX=i,o.TranslationalStiffnessByAreaY=a,o.TranslationalStiffnessByAreaZ=s,o.type=3367102660,o}return P(n)}(ba);e.IfcBoundaryFaceCondition=Pa;var Ra=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u){var c;return b(this,n),(c=t.call(this,e,r)).Name=r,c.TranslationalStiffnessX=i,c.TranslationalStiffnessY=a,c.TranslationalStiffnessZ=s,c.RotationalStiffnessX=o,c.RotationalStiffnessY=l,c.RotationalStiffnessZ=u,c.type=1387855156,c}return P(n)}(ba);e.IfcBoundaryNodeCondition=Ra;var Ca=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o,l,u)).Name=r,f.TranslationalStiffnessX=i,f.TranslationalStiffnessY=a,f.TranslationalStiffnessZ=s,f.RotationalStiffnessX=o,f.RotationalStiffnessY=l,f.RotationalStiffnessZ=u,f.WarpingStiffness=c,f.type=2069777674,f}return P(n)}(Ra);e.IfcBoundaryNodeConditionWarping=Ca;var _a=function(e){I(n,U_);var t=m(n);function n(e){var r;return b(this,n),(r=t.call(this,e)).type=2859738748,r}return P(n)}();e.IfcConnectionGeometry=_a;var Ba=function(e){I(n,e);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).PointOnRelatingElement=r,a.PointOnRelatedElement=i,a.type=2614616156,a}return P(n)}(_a);e.IfcConnectionPointGeometry=Ba;var Oa=function(e){I(n,e);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).SurfaceOnRelatingElement=r,a.SurfaceOnRelatedElement=i,a.type=2732653382,a}return P(n)}(_a);e.IfcConnectionSurfaceGeometry=Oa;var Sa=function(e){I(n,e);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).VolumeOnRelatingElement=r,a.VolumeOnRelatedElement=i,a.type=775493141,a}return P(n)}(_a);e.IfcConnectionVolumeGeometry=Sa;var Na=function(e){I(n,U_);var t=m(n);function n(e,r,i,a,s,o,l,u){var c;return b(this,n),(c=t.call(this,e)).Name=r,c.Description=i,c.ConstraintGrade=a,c.ConstraintSource=s,c.CreatingActor=o,c.CreationTime=l,c.UserDefinedGrade=u,c.type=1959218052,c}return P(n)}();e.IfcConstraint=Na;var La=function(e){I(n,U_);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).SourceCRS=r,a.TargetCRS=i,a.type=1785450214,a}return P(n)}();e.IfcCoordinateOperation=La;var Ma=function(e){I(n,U_);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e)).Name=r,o.Description=i,o.GeodeticDatum=a,o.VerticalDatum=s,o.type=1466758467,o}return P(n)}();e.IfcCoordinateReferenceSystem=Ma;var xa=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f,p)).Name=r,A.Description=i,A.AppliedValue=a,A.UnitBasis=s,A.ApplicableDate=o,A.FixedUntilDate=l,A.Category=u,A.Condition=c,A.ArithmeticOperator=f,A.Components=p,A.type=602808272,A}return P(n)}(Ea);e.IfcCostValue=xa;var Fa=function(e){I(n,U_);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e)).Elements=r,s.UnitType=i,s.UserDefinedType=a,s.type=1765591967,s}return P(n)}();e.IfcDerivedUnit=Fa;var Ha=function(e){I(n,U_);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).Unit=r,a.Exponent=i,a.type=1045800335,a}return P(n)}();e.IfcDerivedUnitElement=Ha;var Ua=function(e){I(n,U_);var t=m(n);function n(e,r,i,a,s,o,l,u){var c;return b(this,n),(c=t.call(this,e)).LengthExponent=r,c.MassExponent=i,c.TimeExponent=a,c.ElectricCurrentExponent=s,c.ThermodynamicTemperatureExponent=o,c.AmountOfSubstanceExponent=l,c.LuminousIntensityExponent=u,c.type=2949456006,c}return P(n)}();e.IfcDimensionalExponents=Ua;var Ga=function(e){I(n,U_);var t=m(n);function n(e){var r;return b(this,n),(r=t.call(this,e)).type=4294318154,r}return P(n)}();e.IfcExternalInformation=Ga;var ka=function(e){I(n,U_);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e)).Location=r,s.Identification=i,s.Name=a,s.type=3200245327,s}return P(n)}();e.IfcExternalReference=ka;var ja=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e,r,i,a)).Location=r,s.Identification=i,s.Name=a,s.type=2242383968,s}return P(n)}(ka);e.IfcExternallyDefinedHatchStyle=ja;var Va=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e,r,i,a)).Location=r,s.Identification=i,s.Name=a,s.type=1040185647,s}return P(n)}(ka);e.IfcExternallyDefinedSurfaceStyle=Va;var Qa=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e,r,i,a)).Location=r,s.Identification=i,s.Name=a,s.type=3548104201,s}return P(n)}(ka);e.IfcExternallyDefinedTextFont=Qa;var Wa=function(e){I(n,U_);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e)).AxisTag=r,s.AxisCurve=i,s.SameSense=a,s.type=852622518,s}return P(n)}();e.IfcGridAxis=Wa;var za=function(e){I(n,U_);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).TimeStamp=r,a.ListValues=i,a.type=3020489413,a}return P(n)}();e.IfcIrregularTimeSeriesValue=za;var Ka=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e)).Name=r,u.Version=i,u.Publisher=a,u.VersionDate=s,u.Location=o,u.Description=l,u.type=2655187982,u}return P(n)}(Ga);e.IfcLibraryInformation=Ka;var Ya=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r,i,a)).Location=r,u.Identification=i,u.Name=a,u.Description=s,u.Language=o,u.ReferencedLibrary=l,u.type=3452421091,u}return P(n)}(ka);e.IfcLibraryReference=Ya;var Xa=function(e){I(n,U_);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e)).MainPlaneAngle=r,s.SecondaryPlaneAngle=i,s.LuminousIntensity=a,s.type=4162380809,s}return P(n)}();e.IfcLightDistributionData=Xa;var qa=function(e){I(n,U_);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).LightDistributionCurve=r,a.DistributionData=i,a.type=1566485204,a}return P(n)}();e.IfcLightIntensityDistribution=qa;var Ja=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i)).SourceCRS=r,f.TargetCRS=i,f.Eastings=a,f.Northings=s,f.OrthogonalHeight=o,f.XAxisAbscissa=l,f.XAxisOrdinate=u,f.Scale=c,f.type=3057273783,f}return P(n)}(La);e.IfcMapConversion=Ja;var Za=function(e){I(n,U_);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).MaterialClassifications=r,a.ClassifiedMaterial=i,a.type=1847130766,a}return P(n)}();e.IfcMaterialClassificationRelationship=Za;var $a=function(e){I(n,U_);var t=m(n);function n(e){var r;return b(this,n),(r=t.call(this,e)).type=760658860,r}return P(n)}();e.IfcMaterialDefinition=$a;var es=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u){var c;return b(this,n),(c=t.call(this,e)).Material=r,c.LayerThickness=i,c.IsVentilated=a,c.Name=s,c.Description=o,c.Category=l,c.Priority=u,c.type=248100487,c}return P(n)}($a);e.IfcMaterialLayer=es;var ts=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e)).MaterialLayers=r,s.LayerSetName=i,s.Description=a,s.type=3303938423,s}return P(n)}($a);e.IfcMaterialLayerSet=ts;var ns=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u)).Material=r,p.LayerThickness=i,p.IsVentilated=a,p.Name=s,p.Description=o,p.Category=l,p.Priority=u,p.OffsetDirection=c,p.OffsetValues=f,p.type=1847252529,p}return P(n)}(es);e.IfcMaterialLayerWithOffsets=ns;var rs=function(e){I(n,U_);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e)).Materials=r,i.type=2199411900,i}return P(n)}();e.IfcMaterialList=rs;var is=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e)).Name=r,u.Description=i,u.Material=a,u.Profile=s,u.Priority=o,u.Category=l,u.type=2235152071,u}return P(n)}($a);e.IfcMaterialProfile=is;var as=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e)).Name=r,o.Description=i,o.MaterialProfiles=a,o.CompositeProfile=s,o.type=164193824,o}return P(n)}($a);e.IfcMaterialProfileSet=as;var ss=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u){var c;return b(this,n),(c=t.call(this,e,r,i,a,s,o,l)).Name=r,c.Description=i,c.Material=a,c.Profile=s,c.Priority=o,c.Category=l,c.OffsetValues=u,c.type=552965576,c}return P(n)}(is);e.IfcMaterialProfileWithOffsets=ss;var os=function(e){I(n,U_);var t=m(n);function n(e){var r;return b(this,n),(r=t.call(this,e)).type=1507914824,r}return P(n)}();e.IfcMaterialUsageDefinition=os;var ls=function(e){I(n,U_);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).ValueComponent=r,a.UnitComponent=i,a.type=2597039031,a}return P(n)}();e.IfcMeasureWithUnit=ls;var us=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A){var d;return b(this,n),(d=t.call(this,e,r,i,a,s,o,l,u)).Name=r,d.Description=i,d.ConstraintGrade=a,d.ConstraintSource=s,d.CreatingActor=o,d.CreationTime=l,d.UserDefinedGrade=u,d.Benchmark=c,d.ValueSource=f,d.DataValue=p,d.ReferencePath=A,d.type=3368373690,d}return P(n)}(Na);e.IfcMetric=us;var cs=function(e){I(n,U_);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e)).Currency=r,i.type=2706619895,i}return P(n)}();e.IfcMonetaryUnit=cs;var fs=function(e){I(n,U_);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).Dimensions=r,a.UnitType=i,a.type=1918398963,a}return P(n)}();e.IfcNamedUnit=fs;var ps=function(e){I(n,U_);var t=m(n);function n(e){var r;return b(this,n),(r=t.call(this,e)).type=3701648758,r}return P(n)}();e.IfcObjectPlacement=ps;var As=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A){var d;return b(this,n),(d=t.call(this,e,r,i,a,s,o,l,u)).Name=r,d.Description=i,d.ConstraintGrade=a,d.ConstraintSource=s,d.CreatingActor=o,d.CreationTime=l,d.UserDefinedGrade=u,d.BenchmarkValues=c,d.LogicalAggregator=f,d.ObjectiveQualifier=p,d.UserDefinedQualifier=A,d.type=2251480897,d}return P(n)}(Na);e.IfcObjective=As;var ds=function(e){I(n,U_);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e)).Identification=r,l.Name=i,l.Description=a,l.Roles=s,l.Addresses=o,l.type=4251960020,l}return P(n)}();e.IfcOrganization=ds;var vs=function(e){I(n,U_);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e)).OwningUser=r,f.OwningApplication=i,f.State=a,f.ChangeAction=s,f.LastModifiedDate=o,f.LastModifyingUser=l,f.LastModifyingApplication=u,f.CreationDate=c,f.type=1207048766,f}return P(n)}();e.IfcOwnerHistory=vs;var hs=function(e){I(n,U_);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e)).Identification=r,f.FamilyName=i,f.GivenName=a,f.MiddleNames=s,f.PrefixTitles=o,f.SuffixTitles=l,f.Roles=u,f.Addresses=c,f.type=2077209135,f}return P(n)}();e.IfcPerson=hs;var Is=function(e){I(n,U_);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e)).ThePerson=r,s.TheOrganization=i,s.Roles=a,s.type=101040310,s}return P(n)}();e.IfcPersonAndOrganization=Is;var ys=function(e){I(n,U_);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).Name=r,a.Description=i,a.type=2483315170,a}return P(n)}();e.IfcPhysicalQuantity=ys;var ms=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e,r,i)).Name=r,s.Description=i,s.Unit=a,s.type=2226359599,s}return P(n)}(ys);e.IfcPhysicalSimpleQuantity=ms;var ws=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a)).Purpose=r,A.Description=i,A.UserDefinedPurpose=a,A.InternalLocation=s,A.AddressLines=o,A.PostalBox=l,A.Town=u,A.Region=c,A.PostalCode=f,A.Country=p,A.type=3355820592,A}return P(n)}(wa);e.IfcPostalAddress=ws;var gs=function(e){I(n,U_);var t=m(n);function n(e){var r;return b(this,n),(r=t.call(this,e)).type=677532197,r}return P(n)}();e.IfcPresentationItem=gs;var Es=function(e){I(n,U_);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e)).Name=r,o.Description=i,o.AssignedItems=a,o.Identifier=s,o.type=2022622350,o}return P(n)}();e.IfcPresentationLayerAssignment=Es;var Ts=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s)).Name=r,f.Description=i,f.AssignedItems=a,f.Identifier=s,f.LayerOn=o,f.LayerFrozen=l,f.LayerBlocked=u,f.LayerStyles=c,f.type=1304840413,f}return P(n)}(Es);e.IfcPresentationLayerWithStyle=Ts;var bs=function(e){I(n,U_);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e)).Name=r,i.type=3119450353,i}return P(n)}();e.IfcPresentationStyle=bs;var Ds=function(e){I(n,U_);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e)).Styles=r,i.type=2417041796,i}return P(n)}();e.IfcPresentationStyleAssignment=Ds;var Ps=function(e){I(n,U_);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e)).Name=r,s.Description=i,s.Representations=a,s.type=2095639259,s}return P(n)}();e.IfcProductRepresentation=Ps;var Rs=function(e){I(n,U_);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).ProfileType=r,a.ProfileName=i,a.type=3958567839,a}return P(n)}();e.IfcProfileDef=Rs;var Cs=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u){var c;return b(this,n),(c=t.call(this,e,r,i,a,s)).Name=r,c.Description=i,c.GeodeticDatum=a,c.VerticalDatum=s,c.MapProjection=o,c.MapZone=l,c.MapUnit=u,c.type=3843373140,c}return P(n)}(Ma);e.IfcProjectedCRS=Cs;var _s=function(e){I(n,U_);var t=m(n);function n(e){var r;return b(this,n),(r=t.call(this,e)).type=986844984,r}return P(n)}();e.IfcPropertyAbstraction=_s;var Bs=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e)).Name=r,s.EnumerationValues=i,s.Unit=a,s.type=3710013099,s}return P(n)}(_s);e.IfcPropertyEnumeration=Bs;var Os=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e,r,i,a)).Name=r,l.Description=i,l.Unit=a,l.AreaValue=s,l.Formula=o,l.type=2044713172,l}return P(n)}(ms);e.IfcQuantityArea=Os;var Ss=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e,r,i,a)).Name=r,l.Description=i,l.Unit=a,l.CountValue=s,l.Formula=o,l.type=2093928680,l}return P(n)}(ms);e.IfcQuantityCount=Ss;var Ns=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e,r,i,a)).Name=r,l.Description=i,l.Unit=a,l.LengthValue=s,l.Formula=o,l.type=931644368,l}return P(n)}(ms);e.IfcQuantityLength=Ns;var Ls=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e,r,i,a)).Name=r,l.Description=i,l.Unit=a,l.TimeValue=s,l.Formula=o,l.type=3252649465,l}return P(n)}(ms);e.IfcQuantityTime=Ls;var Ms=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e,r,i,a)).Name=r,l.Description=i,l.Unit=a,l.VolumeValue=s,l.Formula=o,l.type=2405470396,l}return P(n)}(ms);e.IfcQuantityVolume=Ms;var xs=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e,r,i,a)).Name=r,l.Description=i,l.Unit=a,l.WeightValue=s,l.Formula=o,l.type=825690147,l}return P(n)}(ms);e.IfcQuantityWeight=xs;var Fs=function(e){I(n,U_);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e)).RecurrenceType=r,f.DayComponent=i,f.WeekdayComponent=a,f.MonthComponent=s,f.Position=o,f.Interval=l,f.Occurrences=u,f.TimePeriods=c,f.type=3915482550,f}return P(n)}();e.IfcRecurrencePattern=Fs;var Hs=function(e){I(n,U_);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e)).TypeIdentifier=r,l.AttributeIdentifier=i,l.InstanceName=a,l.ListPositions=s,l.InnerReference=o,l.type=2433181523,l}return P(n)}();e.IfcReference=Hs;var Us=function(e){I(n,U_);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e)).ContextOfItems=r,o.RepresentationIdentifier=i,o.RepresentationType=a,o.Items=s,o.type=1076942058,o}return P(n)}();e.IfcRepresentation=Us;var Gs=function(e){I(n,U_);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).ContextIdentifier=r,a.ContextType=i,a.type=3377609919,a}return P(n)}();e.IfcRepresentationContext=Gs;var ks=function(e){I(n,U_);var t=m(n);function n(e){var r;return b(this,n),(r=t.call(this,e)).type=3008791417,r}return P(n)}();e.IfcRepresentationItem=ks;var js=function(e){I(n,U_);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).MappingOrigin=r,a.MappedRepresentation=i,a.type=1660063152,a}return P(n)}();e.IfcRepresentationMap=js;var Vs=function(e){I(n,U_);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).Name=r,a.Description=i,a.type=2439245199,a}return P(n)}();e.IfcResourceLevelRelationship=Vs;var Qs=function(e){I(n,U_);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e)).GlobalId=r,o.OwnerHistory=i,o.Name=a,o.Description=s,o.type=2341007311,o}return P(n)}();e.IfcRoot=Qs;var Ws=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e,new H_(0),r)).UnitType=r,s.Prefix=i,s.Name=a,s.type=448429030,s}return P(n)}(fs);e.IfcSIUnit=Ws;var zs=function(e){I(n,U_);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e)).Name=r,s.DataOrigin=i,s.UserDefinedDataOrigin=a,s.type=1054537805,s}return P(n)}();e.IfcSchedulingTime=zs;var Ks=function(e){I(n,U_);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e)).ShapeRepresentations=r,l.Name=i,l.Description=a,l.ProductDefinitional=s,l.PartOfProductDefinitionShape=o,l.type=867548509,l}return P(n)}();e.IfcShapeAspect=Ks;var Ys=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r,i,a,s)).ContextOfItems=r,o.RepresentationIdentifier=i,o.RepresentationType=a,o.Items=s,o.type=3982875396,o}return P(n)}(Us);e.IfcShapeModel=Ys;var Xs=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r,i,a,s)).ContextOfItems=r,o.RepresentationIdentifier=i,o.RepresentationType=a,o.Items=s,o.type=4240577450,o}return P(n)}(Ys);e.IfcShapeRepresentation=Xs;var qs=function(e){I(n,U_);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e)).Name=r,i.type=2273995522,i}return P(n)}();e.IfcStructuralConnectionCondition=qs;var Js=function(e){I(n,U_);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e)).Name=r,i.type=2162789131,i}return P(n)}();e.IfcStructuralLoad=Js;var Zs=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e,r)).Name=r,s.Values=i,s.Locations=a,s.type=3478079324,s}return P(n)}(Js);e.IfcStructuralLoadConfiguration=Zs;var $s=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e,r)).Name=r,i.type=609421318,i}return P(n)}(Js);e.IfcStructuralLoadOrResult=$s;var eo=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e,r)).Name=r,i.type=2525727697,i}return P(n)}($s);e.IfcStructuralLoadStatic=eo;var to=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r)).Name=r,o.DeltaTConstant=i,o.DeltaTY=a,o.DeltaTZ=s,o.type=3408363356,o}return P(n)}(eo);e.IfcStructuralLoadTemperature=to;var no=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r,i,a,s)).ContextOfItems=r,o.RepresentationIdentifier=i,o.RepresentationType=a,o.Items=s,o.type=2830218821,o}return P(n)}(Us);e.IfcStyleModel=no;var ro=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e)).Item=r,s.Styles=i,s.Name=a,s.type=3958052878,s}return P(n)}(ks);e.IfcStyledItem=ro;var io=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r,i,a,s)).ContextOfItems=r,o.RepresentationIdentifier=i,o.RepresentationType=a,o.Items=s,o.type=3049322572,o}return P(n)}(no);e.IfcStyledRepresentation=io;var ao=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r)).Name=r,o.SurfaceReinforcement1=i,o.SurfaceReinforcement2=a,o.ShearReinforcement=s,o.type=2934153892,o}return P(n)}($s);e.IfcSurfaceReinforcementArea=ao;var so=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e,r)).Name=r,s.Side=i,s.Styles=a,s.type=1300840506,s}return P(n)}(bs);e.IfcSurfaceStyle=so;var oo=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e)).DiffuseTransmissionColour=r,o.DiffuseReflectionColour=i,o.TransmissionColour=a,o.ReflectanceColour=s,o.type=3303107099,o}return P(n)}(gs);e.IfcSurfaceStyleLighting=oo;var lo=function(e){I(n,e);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).RefractionIndex=r,a.DispersionFactor=i,a.type=1607154358,a}return P(n)}(gs);e.IfcSurfaceStyleRefraction=lo;var uo=function(e){I(n,e);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).SurfaceColour=r,a.Transparency=i,a.type=846575682,a}return P(n)}(gs);e.IfcSurfaceStyleShading=uo;var co=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e)).Textures=r,i.type=1351298697,i}return P(n)}(gs);e.IfcSurfaceStyleWithTextures=co;var fo=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e)).RepeatS=r,l.RepeatT=i,l.Mode=a,l.TextureTransform=s,l.Parameter=o,l.type=626085974,l}return P(n)}(gs);e.IfcSurfaceTexture=fo;var po=function(e){I(n,U_);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e)).Name=r,s.Rows=i,s.Columns=a,s.type=985171141,s}return P(n)}();e.IfcTable=po;var Ao=function(e){I(n,U_);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e)).Identifier=r,l.Name=i,l.Description=a,l.Unit=s,l.ReferencePath=o,l.type=2043862942,l}return P(n)}();e.IfcTableColumn=Ao;var vo=function(e){I(n,U_);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).RowCells=r,a.IsHeading=i,a.type=531007025,a}return P(n)}();e.IfcTableRow=vo;var ho=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A,d,v,h,I,y,m,w,g,E){var T;return b(this,n),(T=t.call(this,e,r,i,a)).Name=r,T.DataOrigin=i,T.UserDefinedDataOrigin=a,T.DurationType=s,T.ScheduleDuration=o,T.ScheduleStart=l,T.ScheduleFinish=u,T.EarlyStart=c,T.EarlyFinish=f,T.LateStart=p,T.LateFinish=A,T.FreeFloat=d,T.TotalFloat=v,T.IsCritical=h,T.StatusTime=I,T.ActualDuration=y,T.ActualStart=m,T.ActualFinish=w,T.RemainingTime=g,T.Completion=E,T.type=1549132990,T}return P(n)}(zs);e.IfcTaskTime=ho;var Io=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A,d,v,h,I,y,m,w,g,E,T){var D;return b(this,n),(D=t.call(this,e,r,i,a,s,o,l,u,c,f,p,A,d,v,h,I,y,m,w,g,E)).Name=r,D.DataOrigin=i,D.UserDefinedDataOrigin=a,D.DurationType=s,D.ScheduleDuration=o,D.ScheduleStart=l,D.ScheduleFinish=u,D.EarlyStart=c,D.EarlyFinish=f,D.LateStart=p,D.LateFinish=A,D.FreeFloat=d,D.TotalFloat=v,D.IsCritical=h,D.StatusTime=I,D.ActualDuration=y,D.ActualStart=m,D.ActualFinish=w,D.RemainingTime=g,D.Completion=E,D.Recurrence=T,D.type=2771591690,D}return P(n)}(ho);e.IfcTaskTimeRecurring=Io;var yo=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a)).Purpose=r,p.Description=i,p.UserDefinedPurpose=a,p.TelephoneNumbers=s,p.FacsimileNumbers=o,p.PagerNumber=l,p.ElectronicMailAddresses=u,p.WWWHomePageURL=c,p.MessagingIDs=f,p.type=912023232,p}return P(n)}(wa);e.IfcTelecomAddress=yo;var mo=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e,r)).Name=r,l.TextCharacterAppearance=i,l.TextStyle=a,l.TextFontStyle=s,l.ModelOrDraughting=o,l.type=1447204868,l}return P(n)}(bs);e.IfcTextStyle=mo;var wo=function(e){I(n,e);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).Colour=r,a.BackgroundColour=i,a.type=2636378356,a}return P(n)}(gs);e.IfcTextStyleForDefinedFont=wo;var go=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u){var c;return b(this,n),(c=t.call(this,e)).TextIndent=r,c.TextAlign=i,c.TextDecoration=a,c.LetterSpacing=s,c.WordSpacing=o,c.TextTransform=l,c.LineHeight=u,c.type=1640371178,c}return P(n)}(gs);e.IfcTextStyleTextModel=go;var Eo=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e)).Maps=r,i.type=280115917,i}return P(n)}(gs);e.IfcTextureCoordinate=Eo;var To=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e,r)).Maps=r,s.Mode=i,s.Parameter=a,s.type=1742049831,s}return P(n)}(Eo);e.IfcTextureCoordinateGenerator=To;var bo=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e,r)).Maps=r,s.Vertices=i,s.MappedTo=a,s.type=2552916305,s}return P(n)}(Eo);e.IfcTextureMap=bo;var Do=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e)).Coordinates=r,i.type=1210645708,i}return P(n)}(gs);e.IfcTextureVertex=Do;var Po=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e)).TexCoordsList=r,i.type=3611470254,i}return P(n)}(gs);e.IfcTextureVertexList=Po;var Ro=function(e){I(n,U_);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).StartTime=r,a.EndTime=i,a.type=1199560280,a}return P(n)}();e.IfcTimePeriod=Ro;var Co=function(e){I(n,U_);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e)).Name=r,f.Description=i,f.StartTime=a,f.EndTime=s,f.TimeSeriesDataType=o,f.DataOrigin=l,f.UserDefinedDataOrigin=u,f.Unit=c,f.type=3101149627,f}return P(n)}();e.IfcTimeSeries=Co;var _o=function(e){I(n,U_);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e)).ListValues=r,i.type=581633288,i}return P(n)}();e.IfcTimeSeriesValue=_o;var Bo=function(e){I(n,e);var t=m(n);function n(e){var r;return b(this,n),(r=t.call(this,e)).type=1377556343,r}return P(n)}(ks);e.IfcTopologicalRepresentationItem=Bo;var Oo=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r,i,a,s)).ContextOfItems=r,o.RepresentationIdentifier=i,o.RepresentationType=a,o.Items=s,o.type=1735638870,o}return P(n)}(Ys);e.IfcTopologyRepresentation=Oo;var So=function(e){I(n,U_);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e)).Units=r,i.type=180925521,i}return P(n)}();e.IfcUnitAssignment=So;var No=function(e){I(n,e);var t=m(n);function n(e){var r;return b(this,n),(r=t.call(this,e)).type=2799835756,r}return P(n)}(Bo);e.IfcVertex=No;var Lo=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e)).VertexGeometry=r,i.type=1907098498,i}return P(n)}(No);e.IfcVertexPoint=Lo;var Mo=function(e){I(n,U_);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).IntersectingAxes=r,a.OffsetDistances=i,a.type=891718957,a}return P(n)}();e.IfcVirtualGridIntersection=Mo;var xo=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r,i,a)).Name=r,u.DataOrigin=i,u.UserDefinedDataOrigin=a,u.RecurrencePattern=s,u.Start=o,u.Finish=l,u.type=1236880293,u}return P(n)}(zs);e.IfcWorkTime=xo;var Fo=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r,i)).Name=r,o.Description=i,o.RelatingApproval=a,o.RelatedApprovals=s,o.type=3869604511,o}return P(n)}(Vs);e.IfcApprovalRelationship=Fo;var Ho=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e,r,i)).ProfileType=r,s.ProfileName=i,s.OuterCurve=a,s.type=3798115385,s}return P(n)}(Rs);e.IfcArbitraryClosedProfileDef=Ho;var Uo=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e,r,i)).ProfileType=r,s.ProfileName=i,s.Curve=a,s.type=1310608509,s}return P(n)}(Rs);e.IfcArbitraryOpenProfileDef=Uo;var Go=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r,i,a)).ProfileType=r,o.ProfileName=i,o.OuterCurve=a,o.InnerCurves=s,o.type=2705031697,o}return P(n)}(Ho);e.IfcArbitraryProfileDefWithVoids=Go;var ko=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u){var c;return b(this,n),(c=t.call(this,e,r,i,a,s,o)).RepeatS=r,c.RepeatT=i,c.Mode=a,c.TextureTransform=s,c.Parameter=o,c.RasterFormat=l,c.RasterCode=u,c.type=616511568,c}return P(n)}(fo);e.IfcBlobTexture=ko;var jo=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r,i,a)).ProfileType=r,o.ProfileName=i,o.Curve=a,o.Thickness=s,o.type=3150382593,o}return P(n)}(Uo);e.IfcCenterLineProfileDef=jo;var Vo=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u){var c;return b(this,n),(c=t.call(this,e)).Source=r,c.Edition=i,c.EditionDate=a,c.Name=s,c.Description=o,c.Location=l,c.ReferenceTokens=u,c.type=747523909,c}return P(n)}(Ga);e.IfcClassification=Vo;var Qo=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r,i,a)).Location=r,u.Identification=i,u.Name=a,u.ReferencedSource=s,u.Description=o,u.Sort=l,u.type=647927063,u}return P(n)}(ka);e.IfcClassificationReference=Qo;var Wo=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e)).ColourList=r,i.type=3285139300,i}return P(n)}(gs);e.IfcColourRgbList=Wo;var zo=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e)).Name=r,i.type=3264961684,i}return P(n)}(gs);e.IfcColourSpecification=zo;var Ko=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r,i)).ProfileType=r,o.ProfileName=i,o.Profiles=a,o.Label=s,o.type=1485152156,o}return P(n)}(Rs);e.IfcCompositeProfileDef=Ko;var Yo=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e)).CfsFaces=r,i.type=370225590,i}return P(n)}(Bo);e.IfcConnectedFaceSet=Yo;var Xo=function(e){I(n,e);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).CurveOnRelatingElement=r,a.CurveOnRelatedElement=i,a.type=1981873012,a}return P(n)}(_a);e.IfcConnectionCurveGeometry=Xo;var qo=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e,r,i)).PointOnRelatingElement=r,l.PointOnRelatedElement=i,l.EccentricityInX=a,l.EccentricityInY=s,l.EccentricityInZ=o,l.type=45288368,l}return P(n)}(Ba);e.IfcConnectionPointEccentricity=qo;var Jo=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e,r,i)).Dimensions=r,s.UnitType=i,s.Name=a,s.type=3050246964,s}return P(n)}(fs);e.IfcContextDependentUnit=Jo;var Zo=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r,i)).Dimensions=r,o.UnitType=i,o.Name=a,o.ConversionFactor=s,o.type=2889183280,o}return P(n)}(fs);e.IfcConversionBasedUnit=Zo;var $o=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e,r,i,a,s)).Dimensions=r,l.UnitType=i,l.Name=a,l.ConversionFactor=s,l.ConversionOffset=o,l.type=2713554722,l}return P(n)}(Zo);e.IfcConversionBasedUnitWithOffset=$o;var el=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u){var c;return b(this,n),(c=t.call(this,e,r,i)).Name=r,c.Description=i,c.RelatingMonetaryUnit=a,c.RelatedMonetaryUnit=s,c.ExchangeRate=o,c.RateDateTime=l,c.RateSource=u,c.type=539742890,c}return P(n)}(Vs);e.IfcCurrencyRelationship=el;var tl=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e,r)).Name=r,l.CurveFont=i,l.CurveWidth=a,l.CurveColour=s,l.ModelOrDraughting=o,l.type=3800577675,l}return P(n)}(bs);e.IfcCurveStyle=tl;var nl=function(e){I(n,e);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).Name=r,a.PatternList=i,a.type=1105321065,a}return P(n)}(gs);e.IfcCurveStyleFont=nl;var rl=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e)).Name=r,s.CurveFont=i,s.CurveFontScaling=a,s.type=2367409068,s}return P(n)}(gs);e.IfcCurveStyleFontAndScaling=rl;var il=function(e){I(n,e);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).VisibleSegmentLength=r,a.InvisibleSegmentLength=i,a.type=3510044353,a}return P(n)}(gs);e.IfcCurveStyleFontPattern=il;var al=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e,r,i)).ProfileType=r,l.ProfileName=i,l.ParentProfile=a,l.Operator=s,l.Label=o,l.type=3632507154,l}return P(n)}(Rs);e.IfcDerivedProfileDef=al;var sl=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A,d,v,h,I,y,m){var w;return b(this,n),(w=t.call(this,e)).Identification=r,w.Name=i,w.Description=a,w.Location=s,w.Purpose=o,w.IntendedUse=l,w.Scope=u,w.Revision=c,w.DocumentOwner=f,w.Editors=p,w.CreationTime=A,w.LastRevisionTime=d,w.ElectronicFormat=v,w.ValidFrom=h,w.ValidUntil=I,w.Confidentiality=y,w.Status=m,w.type=1154170062,w}return P(n)}(Ga);e.IfcDocumentInformation=sl;var ol=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e,r,i)).Name=r,l.Description=i,l.RelatingDocument=a,l.RelatedDocuments=s,l.RelationshipType=o,l.type=770865208,l}return P(n)}(Vs);e.IfcDocumentInformationRelationship=ol;var ll=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e,r,i,a)).Location=r,l.Identification=i,l.Name=a,l.Description=s,l.ReferencedDocument=o,l.type=3732053477,l}return P(n)}(ka);e.IfcDocumentReference=ll;var ul=function(e){I(n,e);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).EdgeStart=r,a.EdgeEnd=i,a.type=3900360178,a}return P(n)}(Bo);e.IfcEdge=ul;var cl=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r,i)).EdgeStart=r,o.EdgeEnd=i,o.EdgeGeometry=a,o.SameSense=s,o.type=476780140,o}return P(n)}(ul);e.IfcEdgeCurve=cl;var fl=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u){var c;return b(this,n),(c=t.call(this,e,r,i,a)).Name=r,c.DataOrigin=i,c.UserDefinedDataOrigin=a,c.ActualDate=s,c.EarlyDate=o,c.LateDate=l,c.ScheduleDate=u,c.type=211053100,c}return P(n)}(zs);e.IfcEventTime=fl;var pl=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e)).Name=r,s.Description=i,s.Properties=a,s.type=297599258,s}return P(n)}(_s);e.IfcExtendedProperties=pl;var Al=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r,i)).Name=r,o.Description=i,o.RelatingReference=a,o.RelatedResourceObjects=s,o.type=1437805879,o}return P(n)}(Vs);e.IfcExternalReferenceRelationship=Al;var dl=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e)).Bounds=r,i.type=2556980723,i}return P(n)}(Bo);e.IfcFace=dl;var vl=function(e){I(n,e);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).Bound=r,a.Orientation=i,a.type=1809719519,a}return P(n)}(Bo);e.IfcFaceBound=vl;var hl=function(e){I(n,e);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e,r,i)).Bound=r,a.Orientation=i,a.type=803316827,a}return P(n)}(vl);e.IfcFaceOuterBound=hl;var Il=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e,r)).Bounds=r,s.FaceSurface=i,s.SameSense=a,s.type=3008276851,s}return P(n)}(dl);e.IfcFaceSurface=Il;var yl=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u){var c;return b(this,n),(c=t.call(this,e,r)).Name=r,c.TensionFailureX=i,c.TensionFailureY=a,c.TensionFailureZ=s,c.CompressionFailureX=o,c.CompressionFailureY=l,c.CompressionFailureZ=u,c.type=4219587988,c}return P(n)}(qs);e.IfcFailureConnectionCondition=yl;var ml=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e,r)).Name=r,s.FillStyles=i,s.ModelorDraughting=a,s.type=738692330,s}return P(n)}(bs);e.IfcFillAreaStyle=ml;var wl=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r,i)).ContextIdentifier=r,u.ContextType=i,u.CoordinateSpaceDimension=a,u.Precision=s,u.WorldCoordinateSystem=o,u.TrueNorth=l,u.type=3448662350,u}return P(n)}(Gs);e.IfcGeometricRepresentationContext=wl;var gl=function(e){I(n,e);var t=m(n);function n(e){var r;return b(this,n),(r=t.call(this,e)).type=2453401579,r}return P(n)}(ks);e.IfcGeometricRepresentationItem=gl;var El=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r,i,new D(0),null,new H_(0),null)).ContextIdentifier=r,u.ContextType=i,u.ParentContext=a,u.TargetScale=s,u.TargetView=o,u.UserDefinedTargetView=l,u.type=4142052618,u}return P(n)}(wl);e.IfcGeometricRepresentationSubContext=El;var Tl=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e)).Elements=r,i.type=3590301190,i}return P(n)}(gl);e.IfcGeometricSet=Tl;var bl=function(e){I(n,e);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).PlacementLocation=r,a.PlacementRefDirection=i,a.type=178086475,a}return P(n)}(ps);e.IfcGridPlacement=bl;var Dl=function(e){I(n,e);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).BaseSurface=r,a.AgreementFlag=i,a.type=812098782,a}return P(n)}(gl);e.IfcHalfSpaceSolid=Dl;var Pl=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r,i,a,s,o)).RepeatS=r,u.RepeatT=i,u.Mode=a,u.TextureTransform=s,u.Parameter=o,u.URLReference=l,u.type=3905492369,u}return P(n)}(fo);e.IfcImageTexture=Pl;var Rl=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e)).MappedTo=r,o.Opacity=i,o.Colours=a,o.ColourIndex=s,o.type=3570813810,o}return P(n)}(gs);e.IfcIndexedColourMap=Rl;var Cl=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e,r)).Maps=r,s.MappedTo=i,s.TexCoords=a,s.type=1437953363,s}return P(n)}(Eo);e.IfcIndexedTextureMap=Cl;var _l=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r,i,a)).Maps=r,o.MappedTo=i,o.TexCoords=a,o.TexCoordIndex=s,o.type=2133299955,o}return P(n)}(Cl);e.IfcIndexedTriangleTextureMap=_l;var Bl=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).Name=r,p.Description=i,p.StartTime=a,p.EndTime=s,p.TimeSeriesDataType=o,p.DataOrigin=l,p.UserDefinedDataOrigin=u,p.Unit=c,p.Values=f,p.type=3741457305,p}return P(n)}(Co);e.IfcIrregularTimeSeries=Bl;var Ol=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e,r,i,a)).Name=r,l.DataOrigin=i,l.UserDefinedDataOrigin=a,l.LagValue=s,l.DurationType=o,l.type=1585845231,l}return P(n)}(zs);e.IfcLagTime=Ol;var Sl=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e)).Name=r,o.LightColour=i,o.AmbientIntensity=a,o.Intensity=s,o.type=1402838566,o}return P(n)}(gl);e.IfcLightSource=Sl;var Nl=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r,i,a,s)).Name=r,o.LightColour=i,o.AmbientIntensity=a,o.Intensity=s,o.type=125510826,o}return P(n)}(Sl);e.IfcLightSourceAmbient=Nl;var Ll=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e,r,i,a,s)).Name=r,l.LightColour=i,l.AmbientIntensity=a,l.Intensity=s,l.Orientation=o,l.type=2604431987,l}return P(n)}(Sl);e.IfcLightSourceDirectional=Ll;var Ml=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s)).Name=r,A.LightColour=i,A.AmbientIntensity=a,A.Intensity=s,A.Position=o,A.ColourAppearance=l,A.ColourTemperature=u,A.LuminousFlux=c,A.LightEmissionSource=f,A.LightDistributionDataSource=p,A.type=4266656042,A}return P(n)}(Sl);e.IfcLightSourceGoniometric=Ml;var xl=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s)).Name=r,p.LightColour=i,p.AmbientIntensity=a,p.Intensity=s,p.Position=o,p.Radius=l,p.ConstantAttenuation=u,p.DistanceAttenuation=c,p.QuadricAttenuation=f,p.type=1520743889,p}return P(n)}(Sl);e.IfcLightSourcePositional=xl;var Fl=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A,d,v){var h;return b(this,n),(h=t.call(this,e,r,i,a,s,o,l,u,c,f)).Name=r,h.LightColour=i,h.AmbientIntensity=a,h.Intensity=s,h.Position=o,h.Radius=l,h.ConstantAttenuation=u,h.DistanceAttenuation=c,h.QuadricAttenuation=f,h.Orientation=p,h.ConcentrationExponent=A,h.SpreadAngle=d,h.BeamWidthAngle=v,h.type=3422422726,h}return P(n)}(xl);e.IfcLightSourceSpot=Fl;var Hl=function(e){I(n,e);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).PlacementRelTo=r,a.RelativePlacement=i,a.type=2624227202,a}return P(n)}(ps);e.IfcLocalPlacement=Hl;var Ul=function(e){I(n,e);var t=m(n);function n(e){var r;return b(this,n),(r=t.call(this,e)).type=1008929658,r}return P(n)}(Bo);e.IfcLoop=Ul;var Gl=function(e){I(n,e);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).MappingSource=r,a.MappingTarget=i,a.type=2347385850,a}return P(n)}(ks);e.IfcMappedItem=Gl;var kl=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e)).Name=r,s.Description=i,s.Category=a,s.type=1838606355,s}return P(n)}($a);e.IfcMaterial=kl;var jl=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e)).Name=r,l.Description=i,l.Material=a,l.Fraction=s,l.Category=o,l.type=3708119e3,l}return P(n)}($a);e.IfcMaterialConstituent=jl;var Vl=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e)).Name=r,s.Description=i,s.MaterialConstituents=a,s.type=2852063980,s}return P(n)}($a);e.IfcMaterialConstituentSet=Vl;var Ql=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r,i,a)).Name=r,o.Description=i,o.Representations=a,o.RepresentedMaterial=s,o.type=2022407955,o}return P(n)}(Ps);e.IfcMaterialDefinitionRepresentation=Ql;var Wl=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e)).ForLayerSet=r,l.LayerSetDirection=i,l.DirectionSense=a,l.OffsetFromReferenceLine=s,l.ReferenceExtent=o,l.type=1303795690,l}return P(n)}(os);e.IfcMaterialLayerSetUsage=Wl;var zl=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e)).ForProfileSet=r,s.CardinalPoint=i,s.ReferenceExtent=a,s.type=3079605661,s}return P(n)}(os);e.IfcMaterialProfileSetUsage=zl;var Kl=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e,r,i,a)).ForProfileSet=r,l.CardinalPoint=i,l.ReferenceExtent=a,l.ForProfileEndSet=s,l.CardinalEndPoint=o,l.type=3404854881,l}return P(n)}(zl);e.IfcMaterialProfileSetUsageTapering=Kl;var Yl=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r,i,a)).Name=r,o.Description=i,o.Properties=a,o.Material=s,o.type=3265635763,o}return P(n)}(pl);e.IfcMaterialProperties=Yl;var Xl=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e,r,i)).Name=r,l.Description=i,l.RelatingMaterial=a,l.RelatedMaterials=s,l.Expression=o,l.type=853536259,l}return P(n)}(Vs);e.IfcMaterialRelationship=Xl;var ql=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r,i,a,new H_(0),s)).ProfileType=r,o.ProfileName=i,o.ParentProfile=a,o.Label=s,o.type=2998442950,o}return P(n)}(al);e.IfcMirroredProfileDef=ql;var Jl=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r,i,a,s)).GlobalId=r,o.OwnerHistory=i,o.Name=a,o.Description=s,o.type=219451334,o}return P(n)}(Qs);e.IfcObjectDefinition=Jl;var Zl=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e,r)).CfsFaces=r,i.type=2665983363,i}return P(n)}(Yo);e.IfcOpenShell=Zl;var $l=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r,i)).Name=r,o.Description=i,o.RelatingOrganization=a,o.RelatedOrganizations=s,o.type=1411181986,o}return P(n)}(Vs);e.IfcOrganizationRelationship=$l;var eu=function(e){I(n,e);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e,new H_(0),new H_(0))).EdgeElement=r,a.Orientation=i,a.type=1029017970,a}return P(n)}(ul);e.IfcOrientedEdge=eu;var tu=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e,r,i)).ProfileType=r,s.ProfileName=i,s.Position=a,s.type=2529465313,s}return P(n)}(Rs);e.IfcParameterizedProfileDef=tu;var nu=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e)).EdgeList=r,i.type=2519244187,i}return P(n)}(Bo);e.IfcPath=nu;var ru=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r,i)).Name=r,u.Description=i,u.HasQuantities=a,u.Discrimination=s,u.Quality=o,u.Usage=l,u.type=3021840470,u}return P(n)}(ys);e.IfcPhysicalComplexQuantity=ru;var iu=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o)).RepeatS=r,p.RepeatT=i,p.Mode=a,p.TextureTransform=s,p.Parameter=o,p.Width=l,p.Height=u,p.ColourComponents=c,p.Pixel=f,p.type=597895409,p}return P(n)}(fo);e.IfcPixelTexture=iu;var au=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e)).Location=r,i.type=2004835150,i}return P(n)}(gl);e.IfcPlacement=au;var su=function(e){I(n,e);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).SizeInX=r,a.SizeInY=i,a.type=1663979128,a}return P(n)}(gl);e.IfcPlanarExtent=su;var ou=function(e){I(n,e);var t=m(n);function n(e){var r;return b(this,n),(r=t.call(this,e)).type=2067069095,r}return P(n)}(gl);e.IfcPoint=ou;var lu=function(e){I(n,e);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).BasisCurve=r,a.PointParameter=i,a.type=4022376103,a}return P(n)}(ou);e.IfcPointOnCurve=lu;var uu=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e)).BasisSurface=r,s.PointParameterU=i,s.PointParameterV=a,s.type=1423911732,s}return P(n)}(ou);e.IfcPointOnSurface=uu;var cu=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e)).Polygon=r,i.type=2924175390,i}return P(n)}(Ul);e.IfcPolyLoop=cu;var fu=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r,i)).BaseSurface=r,o.AgreementFlag=i,o.Position=a,o.PolygonalBoundary=s,o.type=2775532180,o}return P(n)}(Dl);e.IfcPolygonalBoundedHalfSpace=fu;var pu=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e)).Name=r,i.type=3727388367,i}return P(n)}(gs);e.IfcPreDefinedItem=pu;var Au=function(e){I(n,e);var t=m(n);function n(e){var r;return b(this,n),(r=t.call(this,e)).type=3778827333,r}return P(n)}(_s);e.IfcPreDefinedProperties=Au;var du=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e,r)).Name=r,i.type=1775413392,i}return P(n)}(pu);e.IfcPreDefinedTextFont=du;var vu=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e,r,i,a)).Name=r,s.Description=i,s.Representations=a,s.type=673634403,s}return P(n)}(Ps);e.IfcProductDefinitionShape=vu;var hu=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r,i,a)).Name=r,o.Description=i,o.Properties=a,o.ProfileDefinition=s,o.type=2802850158,o}return P(n)}(pl);e.IfcProfileProperties=hu;var Iu=function(e){I(n,e);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).Name=r,a.Description=i,a.type=2598011224,a}return P(n)}(_s);e.IfcProperty=Iu;var yu=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r,i,a,s)).GlobalId=r,o.OwnerHistory=i,o.Name=a,o.Description=s,o.type=1680319473,o}return P(n)}(Qs);e.IfcPropertyDefinition=yu;var mu=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e,r,i)).Name=r,l.Description=i,l.DependingProperty=a,l.DependantProperty=s,l.Expression=o,l.type=148025276,l}return P(n)}(Vs);e.IfcPropertyDependencyRelationship=mu;var wu=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r,i,a,s)).GlobalId=r,o.OwnerHistory=i,o.Name=a,o.Description=s,o.type=3357820518,o}return P(n)}(yu);e.IfcPropertySetDefinition=wu;var gu=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r,i,a,s)).GlobalId=r,o.OwnerHistory=i,o.Name=a,o.Description=s,o.type=1482703590,o}return P(n)}(yu);e.IfcPropertyTemplateDefinition=gu;var Eu=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r,i,a,s)).GlobalId=r,o.OwnerHistory=i,o.Name=a,o.Description=s,o.type=2090586900,o}return P(n)}(wu);e.IfcQuantitySet=Eu;var Tu=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e,r,i,a)).ProfileType=r,l.ProfileName=i,l.Position=a,l.XDim=s,l.YDim=o,l.type=3615266464,l}return P(n)}(tu);e.IfcRectangleProfileDef=Tu;var bu=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c)).Name=r,A.Description=i,A.StartTime=a,A.EndTime=s,A.TimeSeriesDataType=o,A.DataOrigin=l,A.UserDefinedDataOrigin=u,A.Unit=c,A.TimeStep=f,A.Values=p,A.type=3413951693,A}return P(n)}(Co);e.IfcRegularTimeSeries=bu;var Du=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e)).TotalCrossSectionArea=r,u.SteelGrade=i,u.BarSurface=a,u.EffectiveDepth=s,u.NominalBarDiameter=o,u.BarCount=l,u.type=1580146022,u}return P(n)}(Au);e.IfcReinforcementBarProperties=Du;var Pu=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r,i,a,s)).GlobalId=r,o.OwnerHistory=i,o.Name=a,o.Description=s,o.type=478536968,o}return P(n)}(Qs);e.IfcRelationship=Pu;var Ru=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r,i)).Name=r,o.Description=i,o.RelatedResourceObjects=a,o.RelatingApproval=s,o.type=2943643501,o}return P(n)}(Vs);e.IfcResourceApprovalRelationship=Ru;var Cu=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r,i)).Name=r,o.Description=i,o.RelatingConstraint=a,o.RelatedResourceObjects=s,o.type=1608871552,o}return P(n)}(Vs);e.IfcResourceConstraintRelationship=Cu;var _u=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A,d,v,h,I,y,m,w){var g;return b(this,n),(g=t.call(this,e,r,i,a)).Name=r,g.DataOrigin=i,g.UserDefinedDataOrigin=a,g.ScheduleWork=s,g.ScheduleUsage=o,g.ScheduleStart=l,g.ScheduleFinish=u,g.ScheduleContour=c,g.LevelingDelay=f,g.IsOverAllocated=p,g.StatusTime=A,g.ActualWork=d,g.ActualUsage=v,g.ActualStart=h,g.ActualFinish=I,g.RemainingWork=y,g.RemainingUsage=m,g.Completion=w,g.type=1042787934,g}return P(n)}(zs);e.IfcResourceTime=_u;var Bu=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r,i,a,s,o)).ProfileType=r,u.ProfileName=i,u.Position=a,u.XDim=s,u.YDim=o,u.RoundingRadius=l,u.type=2778083089,u}return P(n)}(Tu);e.IfcRoundedRectangleProfileDef=Bu;var Ou=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e)).SectionType=r,s.StartProfile=i,s.EndProfile=a,s.type=2042790032,s}return P(n)}(Au);e.IfcSectionProperties=Ou;var Su=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e)).LongitudinalStartPosition=r,u.LongitudinalEndPosition=i,u.TransversePosition=a,u.ReinforcementRole=s,u.SectionDefinition=o,u.CrossSectionReinforcementDefinitions=l,u.type=4165799628,u}return P(n)}(Au);e.IfcSectionReinforcementProperties=Su;var Nu=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e)).SpineCurve=r,s.CrossSections=i,s.CrossSectionPositions=a,s.type=1509187699,s}return P(n)}(gl);e.IfcSectionedSpine=Nu;var Lu=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e)).SbsmBoundary=r,i.type=4124623270,i}return P(n)}(gl);e.IfcShellBasedSurfaceModel=Lu;var Mu=function(e){I(n,e);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e,r,i)).Name=r,a.Description=i,a.type=3692461612,a}return P(n)}(Iu);e.IfcSimpleProperty=Mu;var xu=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r)).Name=r,o.SlippageX=i,o.SlippageY=a,o.SlippageZ=s,o.type=2609359061,o}return P(n)}(qs);e.IfcSlippageConnectionCondition=xu;var Fu=function(e){I(n,e);var t=m(n);function n(e){var r;return b(this,n),(r=t.call(this,e)).type=723233188,r}return P(n)}(gl);e.IfcSolidModel=Fu;var Hu=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u){var c;return b(this,n),(c=t.call(this,e,r)).Name=r,c.LinearForceX=i,c.LinearForceY=a,c.LinearForceZ=s,c.LinearMomentX=o,c.LinearMomentY=l,c.LinearMomentZ=u,c.type=1595516126,c}return P(n)}(eo);e.IfcStructuralLoadLinearForce=Hu;var Uu=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r)).Name=r,o.PlanarForceX=i,o.PlanarForceY=a,o.PlanarForceZ=s,o.type=2668620305,o}return P(n)}(eo);e.IfcStructuralLoadPlanarForce=Uu;var Gu=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u){var c;return b(this,n),(c=t.call(this,e,r)).Name=r,c.DisplacementX=i,c.DisplacementY=a,c.DisplacementZ=s,c.RotationalDisplacementRX=o,c.RotationalDisplacementRY=l,c.RotationalDisplacementRZ=u,c.type=2473145415,c}return P(n)}(eo);e.IfcStructuralLoadSingleDisplacement=Gu;var ku=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o,l,u)).Name=r,f.DisplacementX=i,f.DisplacementY=a,f.DisplacementZ=s,f.RotationalDisplacementRX=o,f.RotationalDisplacementRY=l,f.RotationalDisplacementRZ=u,f.Distortion=c,f.type=1973038258,f}return P(n)}(Gu);e.IfcStructuralLoadSingleDisplacementDistortion=ku;var ju=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u){var c;return b(this,n),(c=t.call(this,e,r)).Name=r,c.ForceX=i,c.ForceY=a,c.ForceZ=s,c.MomentX=o,c.MomentY=l,c.MomentZ=u,c.type=1597423693,c}return P(n)}(eo);e.IfcStructuralLoadSingleForce=ju;var Vu=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o,l,u)).Name=r,f.ForceX=i,f.ForceY=a,f.ForceZ=s,f.MomentX=o,f.MomentY=l,f.MomentZ=u,f.WarpingMoment=c,f.type=1190533807,f}return P(n)}(ju);e.IfcStructuralLoadSingleForceWarping=Vu;var Qu=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e,r,i)).EdgeStart=r,s.EdgeEnd=i,s.ParentEdge=a,s.type=2233826070,s}return P(n)}(ul);e.IfcSubedge=Qu;var Wu=function(e){I(n,e);var t=m(n);function n(e){var r;return b(this,n),(r=t.call(this,e)).type=2513912981,r}return P(n)}(gl);e.IfcSurface=Wu;var zu=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i)).SurfaceColour=r,p.Transparency=i,p.DiffuseColour=a,p.TransmissionColour=s,p.DiffuseTransmissionColour=o,p.ReflectionColour=l,p.SpecularColour=u,p.SpecularHighlight=c,p.ReflectanceMethod=f,p.type=1878645084,p}return P(n)}(uo);e.IfcSurfaceStyleRendering=zu;var Ku=function(e){I(n,e);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).SweptArea=r,a.Position=i,a.type=2247615214,a}return P(n)}(Fu);e.IfcSweptAreaSolid=Ku;var Yu=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e)).Directrix=r,l.Radius=i,l.InnerRadius=a,l.StartParam=s,l.EndParam=o,l.type=1260650574,l}return P(n)}(Fu);e.IfcSweptDiskSolid=Yu;var Xu=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r,i,a,s,o)).Directrix=r,u.Radius=i,u.InnerRadius=a,u.StartParam=s,u.EndParam=o,u.FilletRadius=l,u.type=1096409881,u}return P(n)}(Yu);e.IfcSweptDiskSolidPolygonal=Xu;var qu=function(e){I(n,e);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).SweptCurve=r,a.Position=i,a.type=230924584,a}return P(n)}(Wu);e.IfcSweptSurface=qu;var Ju=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A,d){var v;return b(this,n),(v=t.call(this,e,r,i,a)).ProfileType=r,v.ProfileName=i,v.Position=a,v.Depth=s,v.FlangeWidth=o,v.WebThickness=l,v.FlangeThickness=u,v.FilletRadius=c,v.FlangeEdgeRadius=f,v.WebEdgeRadius=p,v.WebSlope=A,v.FlangeSlope=d,v.type=3071757647,v}return P(n)}(tu);e.IfcTShapeProfileDef=Ju;var Zu=function(e){I(n,e);var t=m(n);function n(e){var r;return b(this,n),(r=t.call(this,e)).type=901063453,r}return P(n)}(gl);e.IfcTessellatedItem=Zu;var $u=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e)).Literal=r,s.Placement=i,s.Path=a,s.type=4282788508,s}return P(n)}(gl);e.IfcTextLiteral=$u;var ec=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e,r,i,a)).Literal=r,l.Placement=i,l.Path=a,l.Extent=s,l.BoxAlignment=o,l.type=3124975700,l}return P(n)}($u);e.IfcTextLiteralWithExtent=ec;var tc=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r)).Name=r,u.FontFamily=i,u.FontStyle=a,u.FontVariant=s,u.FontWeight=o,u.FontSize=l,u.type=1983826977,u}return P(n)}(du);e.IfcTextStyleFontModel=tc;var nc=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u){var c;return b(this,n),(c=t.call(this,e,r,i,a)).ProfileType=r,c.ProfileName=i,c.Position=a,c.BottomXDim=s,c.TopXDim=o,c.YDim=l,c.TopXOffset=u,c.type=2715220739,c}return P(n)}(tu);e.IfcTrapeziumProfileDef=nc;var rc=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r,i,a,s)).GlobalId=r,u.OwnerHistory=i,u.Name=a,u.Description=s,u.ApplicableOccurrence=o,u.HasPropertySets=l,u.type=1628702193,u}return P(n)}(Jl);e.IfcTypeObject=rc;var ic=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ApplicableOccurrence=o,p.HasPropertySets=l,p.Identification=u,p.LongDescription=c,p.ProcessType=f,p.type=3736923433,p}return P(n)}(rc);e.IfcTypeProcess=ic;var ac=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o,l)).GlobalId=r,f.OwnerHistory=i,f.Name=a,f.Description=s,f.ApplicableOccurrence=o,f.HasPropertySets=l,f.RepresentationMaps=u,f.Tag=c,f.type=2347495698,f}return P(n)}(rc);e.IfcTypeProduct=ac;var sc=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ApplicableOccurrence=o,p.HasPropertySets=l,p.Identification=u,p.LongDescription=c,p.ResourceType=f,p.type=3698973494,p}return P(n)}(rc);e.IfcTypeResource=sc;var oc=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a)).ProfileType=r,A.ProfileName=i,A.Position=a,A.Depth=s,A.FlangeWidth=o,A.WebThickness=l,A.FlangeThickness=u,A.FilletRadius=c,A.EdgeRadius=f,A.FlangeSlope=p,A.type=427810014,A}return P(n)}(tu);e.IfcUShapeProfileDef=oc;var lc=function(e){I(n,e);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).Orientation=r,a.Magnitude=i,a.type=1417489154,a}return P(n)}(gl);e.IfcVector=lc;var uc=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e)).LoopVertex=r,i.type=2759199220,i}return P(n)}(Ul);e.IfcVertexLoop=uc;var cc=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A,d){var v;return b(this,n),(v=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,v.OwnerHistory=i,v.Name=a,v.Description=s,v.ApplicableOccurrence=o,v.HasPropertySets=l,v.RepresentationMaps=u,v.Tag=c,v.ConstructionType=f,v.OperationType=p,v.ParameterTakesPrecedence=A,v.Sizeable=d,v.type=1299126871,v}return P(n)}(ac);e.IfcWindowStyle=cc;var fc=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a)).ProfileType=r,p.ProfileName=i,p.Position=a,p.Depth=s,p.FlangeWidth=o,p.WebThickness=l,p.FlangeThickness=u,p.FilletRadius=c,p.EdgeRadius=f,p.type=2543172580,p}return P(n)}(tu);e.IfcZShapeProfileDef=fc;var pc=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e,r,i,a)).Bounds=r,s.FaceSurface=i,s.SameSense=a,s.type=3406155212,s}return P(n)}(Il);e.IfcAdvancedFace=pc;var Ac=function(e){I(n,e);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).OuterBoundary=r,a.InnerBoundaries=i,a.type=669184980,a}return P(n)}(gl);e.IfcAnnotationFillArea=Ac;var dc=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A,d,v,h,I){var y;return b(this,n),(y=t.call(this,e,r,i,a)).ProfileType=r,y.ProfileName=i,y.Position=a,y.BottomFlangeWidth=s,y.OverallDepth=o,y.WebThickness=l,y.BottomFlangeThickness=u,y.BottomFlangeFilletRadius=c,y.TopFlangeWidth=f,y.TopFlangeThickness=p,y.TopFlangeFilletRadius=A,y.BottomFlangeEdgeRadius=d,y.BottomFlangeSlope=v,y.TopFlangeEdgeRadius=h,y.TopFlangeSlope=I,y.type=3207858831,y}return P(n)}(tu);e.IfcAsymmetricIShapeProfileDef=dc;var vc=function(e){I(n,e);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e,r)).Location=r,a.Axis=i,a.type=4261334040,a}return P(n)}(au);e.IfcAxis1Placement=vc;var hc=function(e){I(n,e);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e,r)).Location=r,a.RefDirection=i,a.type=3125803723,a}return P(n)}(au);e.IfcAxis2Placement2D=hc;var Ic=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e,r)).Location=r,s.Axis=i,s.RefDirection=a,s.type=2740243338,s}return P(n)}(au);e.IfcAxis2Placement3D=Ic;var yc=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e)).Operator=r,s.FirstOperand=i,s.SecondOperand=a,s.type=2736907675,s}return P(n)}(gl);e.IfcBooleanResult=yc;var mc=function(e){I(n,e);var t=m(n);function n(e){var r;return b(this,n),(r=t.call(this,e)).type=4182860854,r}return P(n)}(Wu);e.IfcBoundedSurface=mc;var wc=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e)).Corner=r,o.XDim=i,o.YDim=a,o.ZDim=s,o.type=2581212453,o}return P(n)}(gl);e.IfcBoundingBox=wc;var gc=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e,r,i)).BaseSurface=r,s.AgreementFlag=i,s.Enclosure=a,s.type=2713105998,s}return P(n)}(Dl);e.IfcBoxedHalfSpace=gc;var Ec=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a)).ProfileType=r,f.ProfileName=i,f.Position=a,f.Depth=s,f.Width=o,f.WallThickness=l,f.Girth=u,f.InternalFilletRadius=c,f.type=2898889636,f}return P(n)}(tu);e.IfcCShapeProfileDef=Ec;var Tc=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e)).Coordinates=r,i.type=1123145078,i}return P(n)}(ou);e.IfcCartesianPoint=Tc;var bc=function(e){I(n,e);var t=m(n);function n(e){var r;return b(this,n),(r=t.call(this,e)).type=574549367,r}return P(n)}(gl);e.IfcCartesianPointList=bc;var Dc=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e)).CoordList=r,i.type=1675464909,i}return P(n)}(bc);e.IfcCartesianPointList2D=Dc;var Pc=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e)).CoordList=r,i.type=2059837836,i}return P(n)}(bc);e.IfcCartesianPointList3D=Pc;var Rc=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e)).Axis1=r,o.Axis2=i,o.LocalOrigin=a,o.Scale=s,o.type=59481748,o}return P(n)}(gl);e.IfcCartesianTransformationOperator=Rc;var Cc=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r,i,a,s)).Axis1=r,o.Axis2=i,o.LocalOrigin=a,o.Scale=s,o.type=3749851601,o}return P(n)}(Rc);e.IfcCartesianTransformationOperator2D=Cc;var _c=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e,r,i,a,s)).Axis1=r,l.Axis2=i,l.LocalOrigin=a,l.Scale=s,l.Scale2=o,l.type=3486308946,l}return P(n)}(Cc);e.IfcCartesianTransformationOperator2DnonUniform=_c;var Bc=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e,r,i,a,s)).Axis1=r,l.Axis2=i,l.LocalOrigin=a,l.Scale=s,l.Axis3=o,l.type=3331915920,l}return P(n)}(Rc);e.IfcCartesianTransformationOperator3D=Bc;var Oc=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u){var c;return b(this,n),(c=t.call(this,e,r,i,a,s,o)).Axis1=r,c.Axis2=i,c.LocalOrigin=a,c.Scale=s,c.Axis3=o,c.Scale2=l,c.Scale3=u,c.type=1416205885,c}return P(n)}(Bc);e.IfcCartesianTransformationOperator3DnonUniform=Oc;var Sc=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r,i,a)).ProfileType=r,o.ProfileName=i,o.Position=a,o.Radius=s,o.type=1383045692,o}return P(n)}(tu);e.IfcCircleProfileDef=Sc;var Nc=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e,r)).CfsFaces=r,i.type=2205249479,i}return P(n)}(Yo);e.IfcClosedShell=Nc;var Lc=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r)).Name=r,o.Red=i,o.Green=a,o.Blue=s,o.type=776857604,o}return P(n)}(zo);e.IfcColourRgb=Lc;var Mc=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r,i)).Name=r,o.Description=i,o.UsageName=a,o.HasProperties=s,o.type=2542286263,o}return P(n)}(Iu);e.IfcComplexProperty=Mc;var xc=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e)).Transition=r,s.SameSense=i,s.ParentCurve=a,s.type=2485617015,s}return P(n)}(gl);e.IfcCompositeCurveSegment=xc;var Fc=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A){var d;return b(this,n),(d=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,d.OwnerHistory=i,d.Name=a,d.Description=s,d.ApplicableOccurrence=o,d.HasPropertySets=l,d.Identification=u,d.LongDescription=c,d.ResourceType=f,d.BaseCosts=p,d.BaseQuantity=A,d.type=2574617495,d}return P(n)}(sc);e.IfcConstructionResourceType=Fc;var Hc=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.LongName=l,p.Phase=u,p.RepresentationContexts=c,p.UnitsInContext=f,p.type=3419103109,p}return P(n)}(Jl);e.IfcContext=Hc;var Uc=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A,d){var v;return b(this,n),(v=t.call(this,e,r,i,a,s,o,l,u,c,f,p,A)).GlobalId=r,v.OwnerHistory=i,v.Name=a,v.Description=s,v.ApplicableOccurrence=o,v.HasPropertySets=l,v.Identification=u,v.LongDescription=c,v.ResourceType=f,v.BaseCosts=p,v.BaseQuantity=A,v.PredefinedType=d,v.type=1815067380,v}return P(n)}(Fc);e.IfcCrewResourceType=Uc;var Gc=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e)).Position=r,i.type=2506170314,i}return P(n)}(gl);e.IfcCsgPrimitive3D=Gc;var kc=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e)).TreeRootExpression=r,i.type=2147822146,i}return P(n)}(Fu);e.IfcCsgSolid=kc;var jc=function(e){I(n,e);var t=m(n);function n(e){var r;return b(this,n),(r=t.call(this,e)).type=2601014836,r}return P(n)}(gl);e.IfcCurve=jc;var Vc=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e)).BasisSurface=r,s.OuterBoundary=i,s.InnerBoundaries=a,s.type=2827736869,s}return P(n)}(mc);e.IfcCurveBoundedPlane=Vc;var Qc=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e)).BasisSurface=r,s.Boundaries=i,s.ImplicitOuter=a,s.type=2629017746,s}return P(n)}(mc);e.IfcCurveBoundedSurface=Qc;var Wc=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e)).DirectionRatios=r,i.type=32440307,i}return P(n)}(gl);e.IfcDirection=Wc;var zc=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A,d){var v;return b(this,n),(v=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,v.OwnerHistory=i,v.Name=a,v.Description=s,v.ApplicableOccurrence=o,v.HasPropertySets=l,v.RepresentationMaps=u,v.Tag=c,v.OperationType=f,v.ConstructionType=p,v.ParameterTakesPrecedence=A,v.Sizeable=d,v.type=526551008,v}return P(n)}(ac);e.IfcDoorStyle=zc;var Kc=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e)).EdgeList=r,i.type=1472233963,i}return P(n)}(Ul);e.IfcEdgeLoop=Kc;var Yc=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r,i,a,s)).GlobalId=r,u.OwnerHistory=i,u.Name=a,u.Description=s,u.MethodOfMeasurement=o,u.Quantities=l,u.type=1883228015,u}return P(n)}(Eu);e.IfcElementQuantity=Yc;var Xc=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ApplicableOccurrence=o,p.HasPropertySets=l,p.RepresentationMaps=u,p.Tag=c,p.ElementType=f,p.type=339256511,p}return P(n)}(ac);e.IfcElementType=Xc;var qc=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e)).Position=r,i.type=2777663545,i}return P(n)}(Wu);e.IfcElementarySurface=qc;var Jc=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e,r,i,a)).ProfileType=r,l.ProfileName=i,l.Position=a,l.SemiAxis1=s,l.SemiAxis2=o,l.type=2835456948,l}return P(n)}(tu);e.IfcEllipseProfileDef=Jc;var Zc=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A,d){var v;return b(this,n),(v=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,v.OwnerHistory=i,v.Name=a,v.Description=s,v.ApplicableOccurrence=o,v.HasPropertySets=l,v.Identification=u,v.LongDescription=c,v.ProcessType=f,v.PredefinedType=p,v.EventTriggerType=A,v.UserDefinedEventTriggerType=d,v.type=4024345920,v}return P(n)}(ic);e.IfcEventType=Zc;var $c=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r,i)).SweptArea=r,o.Position=i,o.ExtrudedDirection=a,o.Depth=s,o.type=477187591,o}return P(n)}(Ku);e.IfcExtrudedAreaSolid=$c;var ef=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e,r,i,a,s)).SweptArea=r,l.Position=i,l.ExtrudedDirection=a,l.Depth=s,l.EndSweptArea=o,l.type=2804161546,l}return P(n)}($c);e.IfcExtrudedAreaSolidTapered=ef;var tf=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e)).FbsmFaces=r,i.type=2047409740,i}return P(n)}(gl);e.IfcFaceBasedSurfaceModel=tf;var nf=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e)).HatchLineAppearance=r,l.StartOfNextHatchLine=i,l.PointOfReferenceHatchLine=a,l.PatternStart=s,l.HatchLineAngle=o,l.type=374418227,l}return P(n)}(gl);e.IfcFillAreaStyleHatching=nf;var rf=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e)).TilingPattern=r,s.Tiles=i,s.TilingScale=a,s.type=315944413,s}return P(n)}(gl);e.IfcFillAreaStyleTiles=rf;var af=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r,i)).SweptArea=r,u.Position=i,u.Directrix=a,u.StartParam=s,u.EndParam=o,u.FixedReference=l,u.type=2652556860,u}return P(n)}(Ku);e.IfcFixedReferenceSweptAreaSolid=af;var sf=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ApplicableOccurrence=o,p.HasPropertySets=l,p.RepresentationMaps=u,p.Tag=c,p.ElementType=f,p.type=4238390223,p}return P(n)}(Xc);e.IfcFurnishingElementType=sf;var of=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A){var d;return b(this,n),(d=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,d.OwnerHistory=i,d.Name=a,d.Description=s,d.ApplicableOccurrence=o,d.HasPropertySets=l,d.RepresentationMaps=u,d.Tag=c,d.ElementType=f,d.AssemblyPlace=p,d.PredefinedType=A,d.type=1268542332,d}return P(n)}(sf);e.IfcFurnitureType=of;var lf=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=4095422895,A}return P(n)}(Xc);e.IfcGeographicElementType=lf;var uf=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e,r)).Elements=r,i.type=987898635,i}return P(n)}(Tl);e.IfcGeometricCurveSet=uf;var cf=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a)).ProfileType=r,A.ProfileName=i,A.Position=a,A.OverallWidth=s,A.OverallDepth=o,A.WebThickness=l,A.FlangeThickness=u,A.FilletRadius=c,A.FlangeEdgeRadius=f,A.FlangeSlope=p,A.type=1484403080,A}return P(n)}(tu);e.IfcIShapeProfileDef=cf;var ff=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e)).CoordIndex=r,i.type=178912537,i}return P(n)}(Zu);e.IfcIndexedPolygonalFace=ff;var pf=function(e){I(n,e);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e,r)).CoordIndex=r,a.InnerCoordIndices=i,a.type=2294589976,a}return P(n)}(ff);e.IfcIndexedPolygonalFaceWithVoids=pf;var Af=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a)).ProfileType=r,p.ProfileName=i,p.Position=a,p.Depth=s,p.Width=o,p.Thickness=l,p.FilletRadius=u,p.EdgeRadius=c,p.LegSlope=f,p.type=572779678,p}return P(n)}(tu);e.IfcLShapeProfileDef=Af;var df=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A,d){var v;return b(this,n),(v=t.call(this,e,r,i,a,s,o,l,u,c,f,p,A)).GlobalId=r,v.OwnerHistory=i,v.Name=a,v.Description=s,v.ApplicableOccurrence=o,v.HasPropertySets=l,v.Identification=u,v.LongDescription=c,v.ResourceType=f,v.BaseCosts=p,v.BaseQuantity=A,v.PredefinedType=d,v.type=428585644,v}return P(n)}(Fc);e.IfcLaborResourceType=df;var vf=function(e){I(n,e);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).Pnt=r,a.Dir=i,a.type=1281925730,a}return P(n)}(jc);e.IfcLine=vf;var hf=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e)).Outer=r,i.type=1425443689,i}return P(n)}(Fu);e.IfcManifoldSolidBrep=hf;var If=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e,r,i,a,s)).GlobalId=r,l.OwnerHistory=i,l.Name=a,l.Description=s,l.ObjectType=o,l.type=3888040117,l}return P(n)}(Jl);e.IfcObject=If;var yf=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e)).BasisCurve=r,s.Distance=i,s.SelfIntersect=a,s.type=3388369263,s}return P(n)}(jc);e.IfcOffsetCurve2D=yf;var mf=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e)).BasisCurve=r,o.Distance=i,o.SelfIntersect=a,o.RefDirection=s,o.type=3505215534,o}return P(n)}(jc);e.IfcOffsetCurve3D=mf;var wf=function(e){I(n,e);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).BasisSurface=r,a.ReferenceCurve=i,a.type=1682466193,a}return P(n)}(jc);e.IfcPcurve=wf;var gf=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e,r,i)).SizeInX=r,s.SizeInY=i,s.Placement=a,s.type=603570806,s}return P(n)}(su);e.IfcPlanarBox=gf;var Ef=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e,r)).Position=r,i.type=220341763,i}return P(n)}(qc);e.IfcPlane=Ef;var Tf=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e,r)).Name=r,i.type=759155922,i}return P(n)}(pu);e.IfcPreDefinedColour=Tf;var bf=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e,r)).Name=r,i.type=2559016684,i}return P(n)}(pu);e.IfcPreDefinedCurveFont=bf;var Df=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r,i,a,s)).GlobalId=r,o.OwnerHistory=i,o.Name=a,o.Description=s,o.type=3967405729,o}return P(n)}(wu);e.IfcPreDefinedPropertySet=Df;var Pf=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.Identification=u,A.LongDescription=c,A.ProcessType=f,A.PredefinedType=p,A.type=569719735,A}return P(n)}(ic);e.IfcProcedureType=Pf;var Rf=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u){var c;return b(this,n),(c=t.call(this,e,r,i,a,s,o)).GlobalId=r,c.OwnerHistory=i,c.Name=a,c.Description=s,c.ObjectType=o,c.Identification=l,c.LongDescription=u,c.type=2945172077,c}return P(n)}(If);e.IfcProcess=Rf;var Cf=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u){var c;return b(this,n),(c=t.call(this,e,r,i,a,s,o)).GlobalId=r,c.OwnerHistory=i,c.Name=a,c.Description=s,c.ObjectType=o,c.ObjectPlacement=l,c.Representation=u,c.type=4208778838,c}return P(n)}(If);e.IfcProduct=Cf;var _f=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.LongName=l,p.Phase=u,p.RepresentationContexts=c,p.UnitsInContext=f,p.type=103090709,p}return P(n)}(Hc);e.IfcProject=_f;var Bf=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.LongName=l,p.Phase=u,p.RepresentationContexts=c,p.UnitsInContext=f,p.type=653396225,p}return P(n)}(Hc);e.IfcProjectLibrary=Bf;var Of=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r,i)).Name=r,u.Description=i,u.UpperBoundValue=a,u.LowerBoundValue=s,u.Unit=o,u.SetPointValue=l,u.type=871118103,u}return P(n)}(Mu);e.IfcPropertyBoundedValue=Of;var Sf=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r,i)).Name=r,o.Description=i,o.EnumerationValues=a,o.EnumerationReference=s,o.type=4166981789,o}return P(n)}(Mu);e.IfcPropertyEnumeratedValue=Sf;var Nf=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r,i)).Name=r,o.Description=i,o.ListValues=a,o.Unit=s,o.type=2752243245,o}return P(n)}(Mu);e.IfcPropertyListValue=Nf;var Lf=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r,i)).Name=r,o.Description=i,o.UsageName=a,o.PropertyReference=s,o.type=941946838,o}return P(n)}(Mu);e.IfcPropertyReferenceValue=Lf;var Mf=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e,r,i,a,s)).GlobalId=r,l.OwnerHistory=i,l.Name=a,l.Description=s,l.HasProperties=o,l.type=1451395588,l}return P(n)}(wu);e.IfcPropertySet=Mf;var xf=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u){var c;return b(this,n),(c=t.call(this,e,r,i,a,s)).GlobalId=r,c.OwnerHistory=i,c.Name=a,c.Description=s,c.TemplateType=o,c.ApplicableEntity=l,c.HasPropertyTemplates=u,c.type=492091185,c}return P(n)}(gu);e.IfcPropertySetTemplate=xf;var Ff=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r,i)).Name=r,o.Description=i,o.NominalValue=a,o.Unit=s,o.type=3650150729,o}return P(n)}(Mu);e.IfcPropertySingleValue=Ff;var Hf=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i)).Name=r,f.Description=i,f.DefiningValues=a,f.DefinedValues=s,f.Expression=o,f.DefiningUnit=l,f.DefinedUnit=u,f.CurveInterpolation=c,f.type=110355661,f}return P(n)}(Mu);e.IfcPropertyTableValue=Hf;var Uf=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r,i,a,s)).GlobalId=r,o.OwnerHistory=i,o.Name=a,o.Description=s,o.type=3521284610,o}return P(n)}(gu);e.IfcPropertyTemplate=Uf;var Gf=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.ProxyType=c,p.Tag=f,p.type=3219374653,p}return P(n)}(Cf);e.IfcProxy=Gf;var kf=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o)).ProfileType=r,f.ProfileName=i,f.Position=a,f.XDim=s,f.YDim=o,f.WallThickness=l,f.InnerFilletRadius=u,f.OuterFilletRadius=c,f.type=2770003689,f}return P(n)}(Tu);e.IfcRectangleHollowProfileDef=kf;var jf=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r)).Position=r,o.XLength=i,o.YLength=a,o.Height=s,o.type=2798486643,o}return P(n)}(Gc);e.IfcRectangularPyramid=jf;var Vf=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u){var c;return b(this,n),(c=t.call(this,e)).BasisSurface=r,c.U1=i,c.V1=a,c.U2=s,c.V2=o,c.Usense=l,c.Vsense=u,c.type=3454111270,c}return P(n)}(mc);e.IfcRectangularTrimmedSurface=Vf;var Qf=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r,i,a,s)).GlobalId=r,u.OwnerHistory=i,u.Name=a,u.Description=s,u.DefinitionType=o,u.ReinforcementSectionDefinitions=l,u.type=3765753017,u}return P(n)}(Df);e.IfcReinforcementDefinitionProperties=Qf;var Wf=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r,i,a,s)).GlobalId=r,u.OwnerHistory=i,u.Name=a,u.Description=s,u.RelatedObjects=o,u.RelatedObjectsType=l,u.type=3939117080,u}return P(n)}(Pu);e.IfcRelAssigns=Wf;var zf=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o,l)).GlobalId=r,f.OwnerHistory=i,f.Name=a,f.Description=s,f.RelatedObjects=o,f.RelatedObjectsType=l,f.RelatingActor=u,f.ActingRole=c,f.type=1683148259,f}return P(n)}(Wf);e.IfcRelAssignsToActor=zf;var Kf=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u){var c;return b(this,n),(c=t.call(this,e,r,i,a,s,o,l)).GlobalId=r,c.OwnerHistory=i,c.Name=a,c.Description=s,c.RelatedObjects=o,c.RelatedObjectsType=l,c.RelatingControl=u,c.type=2495723537,c}return P(n)}(Wf);e.IfcRelAssignsToControl=Kf;var Yf=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u){var c;return b(this,n),(c=t.call(this,e,r,i,a,s,o,l)).GlobalId=r,c.OwnerHistory=i,c.Name=a,c.Description=s,c.RelatedObjects=o,c.RelatedObjectsType=l,c.RelatingGroup=u,c.type=1307041759,c}return P(n)}(Wf);e.IfcRelAssignsToGroup=Yf;var Xf=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o,l,u)).GlobalId=r,f.OwnerHistory=i,f.Name=a,f.Description=s,f.RelatedObjects=o,f.RelatedObjectsType=l,f.RelatingGroup=u,f.Factor=c,f.type=1027710054,f}return P(n)}(Yf);e.IfcRelAssignsToGroupByFactor=Xf;var qf=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o,l)).GlobalId=r,f.OwnerHistory=i,f.Name=a,f.Description=s,f.RelatedObjects=o,f.RelatedObjectsType=l,f.RelatingProcess=u,f.QuantityInProcess=c,f.type=4278684876,f}return P(n)}(Wf);e.IfcRelAssignsToProcess=qf;var Jf=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u){var c;return b(this,n),(c=t.call(this,e,r,i,a,s,o,l)).GlobalId=r,c.OwnerHistory=i,c.Name=a,c.Description=s,c.RelatedObjects=o,c.RelatedObjectsType=l,c.RelatingProduct=u,c.type=2857406711,c}return P(n)}(Wf);e.IfcRelAssignsToProduct=Jf;var Zf=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u){var c;return b(this,n),(c=t.call(this,e,r,i,a,s,o,l)).GlobalId=r,c.OwnerHistory=i,c.Name=a,c.Description=s,c.RelatedObjects=o,c.RelatedObjectsType=l,c.RelatingResource=u,c.type=205026976,c}return P(n)}(Wf);e.IfcRelAssignsToResource=Zf;var $f=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e,r,i,a,s)).GlobalId=r,l.OwnerHistory=i,l.Name=a,l.Description=s,l.RelatedObjects=o,l.type=1865459582,l}return P(n)}(Pu);e.IfcRelAssociates=$f;var ep=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r,i,a,s,o)).GlobalId=r,u.OwnerHistory=i,u.Name=a,u.Description=s,u.RelatedObjects=o,u.RelatingApproval=l,u.type=4095574036,u}return P(n)}($f);e.IfcRelAssociatesApproval=ep;var tp=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r,i,a,s,o)).GlobalId=r,u.OwnerHistory=i,u.Name=a,u.Description=s,u.RelatedObjects=o,u.RelatingClassification=l,u.type=919958153,u}return P(n)}($f);e.IfcRelAssociatesClassification=tp;var np=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u){var c;return b(this,n),(c=t.call(this,e,r,i,a,s,o)).GlobalId=r,c.OwnerHistory=i,c.Name=a,c.Description=s,c.RelatedObjects=o,c.Intent=l,c.RelatingConstraint=u,c.type=2728634034,c}return P(n)}($f);e.IfcRelAssociatesConstraint=np;var rp=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r,i,a,s,o)).GlobalId=r,u.OwnerHistory=i,u.Name=a,u.Description=s,u.RelatedObjects=o,u.RelatingDocument=l,u.type=982818633,u}return P(n)}($f);e.IfcRelAssociatesDocument=rp;var ip=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r,i,a,s,o)).GlobalId=r,u.OwnerHistory=i,u.Name=a,u.Description=s,u.RelatedObjects=o,u.RelatingLibrary=l,u.type=3840914261,u}return P(n)}($f);e.IfcRelAssociatesLibrary=ip;var ap=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r,i,a,s,o)).GlobalId=r,u.OwnerHistory=i,u.Name=a,u.Description=s,u.RelatedObjects=o,u.RelatingMaterial=l,u.type=2655215786,u}return P(n)}($f);e.IfcRelAssociatesMaterial=ap;var sp=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r,i,a,s)).GlobalId=r,o.OwnerHistory=i,o.Name=a,o.Description=s,o.type=826625072,o}return P(n)}(Pu);e.IfcRelConnects=sp;var op=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u){var c;return b(this,n),(c=t.call(this,e,r,i,a,s)).GlobalId=r,c.OwnerHistory=i,c.Name=a,c.Description=s,c.ConnectionGeometry=o,c.RelatingElement=l,c.RelatedElement=u,c.type=1204542856,c}return P(n)}(sp);e.IfcRelConnectsElements=op;var lp=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A){var d;return b(this,n),(d=t.call(this,e,r,i,a,s,o,l,u)).GlobalId=r,d.OwnerHistory=i,d.Name=a,d.Description=s,d.ConnectionGeometry=o,d.RelatingElement=l,d.RelatedElement=u,d.RelatingPriorities=c,d.RelatedPriorities=f,d.RelatedConnectionType=p,d.RelatingConnectionType=A,d.type=3945020480,d}return P(n)}(op);e.IfcRelConnectsPathElements=lp;var up=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r,i,a,s)).GlobalId=r,u.OwnerHistory=i,u.Name=a,u.Description=s,u.RelatingPort=o,u.RelatedElement=l,u.type=4201705270,u}return P(n)}(sp);e.IfcRelConnectsPortToElement=up;var cp=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u){var c;return b(this,n),(c=t.call(this,e,r,i,a,s)).GlobalId=r,c.OwnerHistory=i,c.Name=a,c.Description=s,c.RelatingPort=o,c.RelatedPort=l,c.RealizingElement=u,c.type=3190031847,c}return P(n)}(sp);e.IfcRelConnectsPorts=cp;var fp=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r,i,a,s)).GlobalId=r,u.OwnerHistory=i,u.Name=a,u.Description=s,u.RelatingElement=o,u.RelatedStructuralActivity=l,u.type=2127690289,u}return P(n)}(sp);e.IfcRelConnectsStructuralActivity=fp;var pp=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.RelatingStructuralMember=o,A.RelatedStructuralConnection=l,A.AppliedCondition=u,A.AdditionalConditions=c,A.SupportedLength=f,A.ConditionCoordinateSystem=p,A.type=1638771189,A}return P(n)}(sp);e.IfcRelConnectsStructuralMember=pp;var Ap=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A){var d;return b(this,n),(d=t.call(this,e,r,i,a,s,o,l,u,c,f,p)).GlobalId=r,d.OwnerHistory=i,d.Name=a,d.Description=s,d.RelatingStructuralMember=o,d.RelatedStructuralConnection=l,d.AppliedCondition=u,d.AdditionalConditions=c,d.SupportedLength=f,d.ConditionCoordinateSystem=p,d.ConnectionConstraint=A,d.type=504942748,d}return P(n)}(pp);e.IfcRelConnectsWithEccentricity=Ap;var dp=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ConnectionGeometry=o,p.RelatingElement=l,p.RelatedElement=u,p.RealizingElements=c,p.ConnectionType=f,p.type=3678494232,p}return P(n)}(op);e.IfcRelConnectsWithRealizingElements=dp;var vp=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r,i,a,s)).GlobalId=r,u.OwnerHistory=i,u.Name=a,u.Description=s,u.RelatedElements=o,u.RelatingStructure=l,u.type=3242617779,u}return P(n)}(sp);e.IfcRelContainedInSpatialStructure=vp;var hp=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r,i,a,s)).GlobalId=r,u.OwnerHistory=i,u.Name=a,u.Description=s,u.RelatingBuildingElement=o,u.RelatedCoverings=l,u.type=886880790,u}return P(n)}(sp);e.IfcRelCoversBldgElements=hp;var Ip=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r,i,a,s)).GlobalId=r,u.OwnerHistory=i,u.Name=a,u.Description=s,u.RelatingSpace=o,u.RelatedCoverings=l,u.type=2802773753,u}return P(n)}(sp);e.IfcRelCoversSpaces=Ip;var yp=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r,i,a,s)).GlobalId=r,u.OwnerHistory=i,u.Name=a,u.Description=s,u.RelatingContext=o,u.RelatedDefinitions=l,u.type=2565941209,u}return P(n)}(Pu);e.IfcRelDeclares=yp;var mp=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r,i,a,s)).GlobalId=r,o.OwnerHistory=i,o.Name=a,o.Description=s,o.type=2551354335,o}return P(n)}(Pu);e.IfcRelDecomposes=mp;var wp=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r,i,a,s)).GlobalId=r,o.OwnerHistory=i,o.Name=a,o.Description=s,o.type=693640335,o}return P(n)}(Pu);e.IfcRelDefines=wp;var gp=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r,i,a,s)).GlobalId=r,u.OwnerHistory=i,u.Name=a,u.Description=s,u.RelatedObjects=o,u.RelatingObject=l,u.type=1462361463,u}return P(n)}(wp);e.IfcRelDefinesByObject=gp;var Ep=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r,i,a,s)).GlobalId=r,u.OwnerHistory=i,u.Name=a,u.Description=s,u.RelatedObjects=o,u.RelatingPropertyDefinition=l,u.type=4186316022,u}return P(n)}(wp);e.IfcRelDefinesByProperties=Ep;var Tp=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r,i,a,s)).GlobalId=r,u.OwnerHistory=i,u.Name=a,u.Description=s,u.RelatedPropertySets=o,u.RelatingTemplate=l,u.type=307848117,u}return P(n)}(wp);e.IfcRelDefinesByTemplate=Tp;var bp=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r,i,a,s)).GlobalId=r,u.OwnerHistory=i,u.Name=a,u.Description=s,u.RelatedObjects=o,u.RelatingType=l,u.type=781010003,u}return P(n)}(wp);e.IfcRelDefinesByType=bp;var Dp=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r,i,a,s)).GlobalId=r,u.OwnerHistory=i,u.Name=a,u.Description=s,u.RelatingOpeningElement=o,u.RelatedBuildingElement=l,u.type=3940055652,u}return P(n)}(sp);e.IfcRelFillsElement=Dp;var Pp=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r,i,a,s)).GlobalId=r,u.OwnerHistory=i,u.Name=a,u.Description=s,u.RelatedControlElements=o,u.RelatingFlowElement=l,u.type=279856033,u}return P(n)}(sp);e.IfcRelFlowControlElements=Pp;var Rp=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.RelatingElement=o,p.RelatedElement=l,p.InterferenceGeometry=u,p.InterferenceType=c,p.ImpliedOrder=f,p.type=427948657,p}return P(n)}(sp);e.IfcRelInterferesElements=Rp;var Cp=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r,i,a,s)).GlobalId=r,u.OwnerHistory=i,u.Name=a,u.Description=s,u.RelatingObject=o,u.RelatedObjects=l,u.type=3268803585,u}return P(n)}(mp);e.IfcRelNests=Cp;var _p=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r,i,a,s)).GlobalId=r,u.OwnerHistory=i,u.Name=a,u.Description=s,u.RelatingElement=o,u.RelatedFeatureElement=l,u.type=750771296,u}return P(n)}(mp);e.IfcRelProjectsElement=_p;var Bp=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r,i,a,s)).GlobalId=r,u.OwnerHistory=i,u.Name=a,u.Description=s,u.RelatedElements=o,u.RelatingStructure=l,u.type=1245217292,u}return P(n)}(sp);e.IfcRelReferencedInSpatialStructure=Bp;var Op=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.RelatingProcess=o,p.RelatedProcess=l,p.TimeLag=u,p.SequenceType=c,p.UserDefinedSequenceType=f,p.type=4122056220,p}return P(n)}(sp);e.IfcRelSequence=Op;var Sp=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r,i,a,s)).GlobalId=r,u.OwnerHistory=i,u.Name=a,u.Description=s,u.RelatingSystem=o,u.RelatedBuildings=l,u.type=366585022,u}return P(n)}(sp);e.IfcRelServicesBuildings=Sp;var Np=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.RelatingSpace=o,p.RelatedBuildingElement=l,p.ConnectionGeometry=u,p.PhysicalOrVirtualBoundary=c,p.InternalOrExternalBoundary=f,p.type=3451746338,p}return P(n)}(sp);e.IfcRelSpaceBoundary=Np;var Lp=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.RelatingSpace=o,A.RelatedBuildingElement=l,A.ConnectionGeometry=u,A.PhysicalOrVirtualBoundary=c,A.InternalOrExternalBoundary=f,A.ParentBoundary=p,A.type=3523091289,A}return P(n)}(Np);e.IfcRelSpaceBoundary1stLevel=Lp;var Mp=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A){var d;return b(this,n),(d=t.call(this,e,r,i,a,s,o,l,u,c,f,p)).GlobalId=r,d.OwnerHistory=i,d.Name=a,d.Description=s,d.RelatingSpace=o,d.RelatedBuildingElement=l,d.ConnectionGeometry=u,d.PhysicalOrVirtualBoundary=c,d.InternalOrExternalBoundary=f,d.ParentBoundary=p,d.CorrespondingBoundary=A,d.type=1521410863,d}return P(n)}(Lp);e.IfcRelSpaceBoundary2ndLevel=Mp;var xp=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r,i,a,s)).GlobalId=r,u.OwnerHistory=i,u.Name=a,u.Description=s,u.RelatingBuildingElement=o,u.RelatedOpeningElement=l,u.type=1401173127,u}return P(n)}(mp);e.IfcRelVoidsElement=xp;var Fp=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r,i,a)).Transition=r,o.SameSense=i,o.ParentCurve=a,o.ParamLength=s,o.type=816062949,o}return P(n)}(xc);e.IfcReparametrisedCompositeCurveSegment=Fp;var Hp=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u){var c;return b(this,n),(c=t.call(this,e,r,i,a,s,o)).GlobalId=r,c.OwnerHistory=i,c.Name=a,c.Description=s,c.ObjectType=o,c.Identification=l,c.LongDescription=u,c.type=2914609552,c}return P(n)}(If);e.IfcResource=Hp;var Up=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r,i)).SweptArea=r,o.Position=i,o.Axis=a,o.Angle=s,o.type=1856042241,o}return P(n)}(Ku);e.IfcRevolvedAreaSolid=Up;var Gp=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e,r,i,a,s)).SweptArea=r,l.Position=i,l.Axis=a,l.Angle=s,l.EndSweptArea=o,l.type=3243963512,l}return P(n)}(Up);e.IfcRevolvedAreaSolidTapered=Gp;var kp=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e,r)).Position=r,s.Height=i,s.BottomRadius=a,s.type=4158566097,s}return P(n)}(Gc);e.IfcRightCircularCone=kp;var jp=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e,r)).Position=r,s.Height=i,s.Radius=a,s.type=3626867408,s}return P(n)}(Gc);e.IfcRightCircularCylinder=jp;var Vp=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A,d){var v;return b(this,n),(v=t.call(this,e,r,i,a,s)).GlobalId=r,v.OwnerHistory=i,v.Name=a,v.Description=s,v.TemplateType=o,v.PrimaryMeasureType=l,v.SecondaryMeasureType=u,v.Enumerators=c,v.PrimaryUnit=f,v.SecondaryUnit=p,v.Expression=A,v.AccessState=d,v.type=3663146110,v}return P(n)}(Uf);e.IfcSimplePropertyTemplate=Vp;var Qp=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o,l,u)).GlobalId=r,f.OwnerHistory=i,f.Name=a,f.Description=s,f.ObjectType=o,f.ObjectPlacement=l,f.Representation=u,f.LongName=c,f.type=1412071761,f}return P(n)}(Cf);e.IfcSpatialElement=Qp;var Wp=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ApplicableOccurrence=o,p.HasPropertySets=l,p.RepresentationMaps=u,p.Tag=c,p.ElementType=f,p.type=710998568,p}return P(n)}(ac);e.IfcSpatialElementType=Wp;var zp=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.LongName=c,p.CompositionType=f,p.type=2706606064,p}return P(n)}(Qp);e.IfcSpatialStructureElement=zp;var Kp=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ApplicableOccurrence=o,p.HasPropertySets=l,p.RepresentationMaps=u,p.Tag=c,p.ElementType=f,p.type=3893378262,p}return P(n)}(Wp);e.IfcSpatialStructureElementType=Kp;var Yp=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.LongName=c,p.PredefinedType=f,p.type=463610769,p}return P(n)}(Qp);e.IfcSpatialZone=Yp;var Xp=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A){var d;return b(this,n),(d=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,d.OwnerHistory=i,d.Name=a,d.Description=s,d.ApplicableOccurrence=o,d.HasPropertySets=l,d.RepresentationMaps=u,d.Tag=c,d.ElementType=f,d.PredefinedType=p,d.LongName=A,d.type=2481509218,d}return P(n)}(Wp);e.IfcSpatialZoneType=Xp;var qp=function(e){I(n,e);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e,r)).Position=r,a.Radius=i,a.type=451544542,a}return P(n)}(Gc);e.IfcSphere=qp;var Jp=function(e){I(n,e);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e,r)).Position=r,a.Radius=i,a.type=4015995234,a}return P(n)}(qc);e.IfcSphericalSurface=Jp;var Zp=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.AppliedLoad=c,p.GlobalOrLocal=f,p.type=3544373492,p}return P(n)}(Cf);e.IfcStructuralActivity=Zp;var $p=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u){var c;return b(this,n),(c=t.call(this,e,r,i,a,s,o,l,u)).GlobalId=r,c.OwnerHistory=i,c.Name=a,c.Description=s,c.ObjectType=o,c.ObjectPlacement=l,c.Representation=u,c.type=3136571912,c}return P(n)}(Cf);e.IfcStructuralItem=$p;var eA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u){var c;return b(this,n),(c=t.call(this,e,r,i,a,s,o,l,u)).GlobalId=r,c.OwnerHistory=i,c.Name=a,c.Description=s,c.ObjectType=o,c.ObjectPlacement=l,c.Representation=u,c.type=530289379,c}return P(n)}($p);e.IfcStructuralMember=eA;var tA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.AppliedLoad=c,p.GlobalOrLocal=f,p.type=3689010777,p}return P(n)}(Zp);e.IfcStructuralReaction=tA;var nA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.PredefinedType=c,p.Thickness=f,p.type=3979015343,p}return P(n)}(eA);e.IfcStructuralSurfaceMember=nA;var rA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.PredefinedType=c,p.Thickness=f,p.type=2218152070,p}return P(n)}(nA);e.IfcStructuralSurfaceMemberVarying=rA;var iA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ObjectType=o,A.ObjectPlacement=l,A.Representation=u,A.AppliedLoad=c,A.GlobalOrLocal=f,A.PredefinedType=p,A.type=603775116,A}return P(n)}(tA);e.IfcStructuralSurfaceReaction=iA;var aA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A,d){var v;return b(this,n),(v=t.call(this,e,r,i,a,s,o,l,u,c,f,p,A)).GlobalId=r,v.OwnerHistory=i,v.Name=a,v.Description=s,v.ApplicableOccurrence=o,v.HasPropertySets=l,v.Identification=u,v.LongDescription=c,v.ResourceType=f,v.BaseCosts=p,v.BaseQuantity=A,v.PredefinedType=d,v.type=4095615324,v}return P(n)}(Fc);e.IfcSubContractResourceType=aA;var sA=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e)).Curve3D=r,s.AssociatedGeometry=i,s.MasterRepresentation=a,s.type=699246055,s}return P(n)}(jc);e.IfcSurfaceCurve=sA;var oA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r,i)).SweptArea=r,u.Position=i,u.Directrix=a,u.StartParam=s,u.EndParam=o,u.ReferenceSurface=l,u.type=2028607225,u}return P(n)}(Ku);e.IfcSurfaceCurveSweptAreaSolid=oA;var lA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r,i)).SweptCurve=r,o.Position=i,o.ExtrudedDirection=a,o.Depth=s,o.type=2809605785,o}return P(n)}(qu);e.IfcSurfaceOfLinearExtrusion=lA;var uA=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e,r,i)).SweptCurve=r,s.Position=i,s.AxisPosition=a,s.type=4124788165,s}return P(n)}(qu);e.IfcSurfaceOfRevolution=uA;var cA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=1580310250,A}return P(n)}(sf);e.IfcSystemFurnitureElementType=cA;var fA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A,d,v){var h;return b(this,n),(h=t.call(this,e,r,i,a,s,o,l,u)).GlobalId=r,h.OwnerHistory=i,h.Name=a,h.Description=s,h.ObjectType=o,h.Identification=l,h.LongDescription=u,h.Status=c,h.WorkMethod=f,h.IsMilestone=p,h.Priority=A,h.TaskTime=d,h.PredefinedType=v,h.type=3473067441,h}return P(n)}(Rf);e.IfcTask=fA;var pA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A){var d;return b(this,n),(d=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,d.OwnerHistory=i,d.Name=a,d.Description=s,d.ApplicableOccurrence=o,d.HasPropertySets=l,d.Identification=u,d.LongDescription=c,d.ProcessType=f,d.PredefinedType=p,d.WorkMethod=A,d.type=3206491090,d}return P(n)}(ic);e.IfcTaskType=pA;var AA=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e)).Coordinates=r,i.type=2387106220,i}return P(n)}(Zu);e.IfcTessellatedFaceSet=AA;var dA=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e,r)).Position=r,s.MajorRadius=i,s.MinorRadius=a,s.type=1935646853,s}return P(n)}(qc);e.IfcToroidalSurface=dA;var vA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=2097647324,A}return P(n)}(Xc);e.IfcTransportElementType=vA;var hA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e,r)).Coordinates=r,l.Normals=i,l.Closed=a,l.CoordIndex=s,l.PnIndex=o,l.type=2916149573,l}return P(n)}(AA);e.IfcTriangulatedFaceSet=hA;var IA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A,d,v,h,I,y){var m;return b(this,n),(m=t.call(this,e,r,i,a,s)).GlobalId=r,m.OwnerHistory=i,m.Name=a,m.Description=s,m.LiningDepth=o,m.LiningThickness=l,m.TransomThickness=u,m.MullionThickness=c,m.FirstTransomOffset=f,m.SecondTransomOffset=p,m.FirstMullionOffset=A,m.SecondMullionOffset=d,m.ShapeAspectStyle=v,m.LiningOffset=h,m.LiningToPanelOffsetX=I,m.LiningToPanelOffsetY=y,m.type=336235671,m}return P(n)}(Df);e.IfcWindowLiningProperties=IA;var yA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.OperationType=o,p.PanelPosition=l,p.FrameDepth=u,p.FrameThickness=c,p.ShapeAspectStyle=f,p.type=512836454,p}return P(n)}(Df);e.IfcWindowPanelProperties=yA;var mA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r,i,a,s,o)).GlobalId=r,u.OwnerHistory=i,u.Name=a,u.Description=s,u.ObjectType=o,u.TheActor=l,u.type=2296667514,u}return P(n)}(If);e.IfcActor=mA;var wA=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e,r)).Outer=r,i.type=1635779807,i}return P(n)}(hf);e.IfcAdvancedBrep=wA;var gA=function(e){I(n,e);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e,r)).Outer=r,a.Voids=i,a.type=2603310189,a}return P(n)}(wA);e.IfcAdvancedBrepWithVoids=gA;var EA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u){var c;return b(this,n),(c=t.call(this,e,r,i,a,s,o,l,u)).GlobalId=r,c.OwnerHistory=i,c.Name=a,c.Description=s,c.ObjectType=o,c.ObjectPlacement=l,c.Representation=u,c.type=1674181508,c}return P(n)}(Cf);e.IfcAnnotation=EA;var TA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u){var c;return b(this,n),(c=t.call(this,e)).UDegree=r,c.VDegree=i,c.ControlPointsList=a,c.SurfaceForm=s,c.UClosed=o,c.VClosed=l,c.SelfIntersect=u,c.type=2887950389,c}return P(n)}(mc);e.IfcBSplineSurface=TA;var bA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A,d){var v;return b(this,n),(v=t.call(this,e,r,i,a,s,o,l,u)).UDegree=r,v.VDegree=i,v.ControlPointsList=a,v.SurfaceForm=s,v.UClosed=o,v.VClosed=l,v.SelfIntersect=u,v.UMultiplicities=c,v.VMultiplicities=f,v.UKnots=p,v.VKnots=A,v.KnotSpec=d,v.type=167062518,v}return P(n)}(TA);e.IfcBSplineSurfaceWithKnots=bA;var DA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r)).Position=r,o.XLength=i,o.YLength=a,o.ZLength=s,o.type=1334484129,o}return P(n)}(Gc);e.IfcBlock=DA;var PA=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e,r,i,a)).Operator=r,s.FirstOperand=i,s.SecondOperand=a,s.type=3649129432,s}return P(n)}(yc);e.IfcBooleanClippingResult=PA;var RA=function(e){I(n,e);var t=m(n);function n(e){var r;return b(this,n),(r=t.call(this,e)).type=1260505505,r}return P(n)}(jc);e.IfcBoundedCurve=RA;var CA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A,d){var v;return b(this,n),(v=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,v.OwnerHistory=i,v.Name=a,v.Description=s,v.ObjectType=o,v.ObjectPlacement=l,v.Representation=u,v.LongName=c,v.CompositionType=f,v.ElevationOfRefHeight=p,v.ElevationOfTerrain=A,v.BuildingAddress=d,v.type=4031249490,v}return P(n)}(zp);e.IfcBuilding=CA;var _A=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ApplicableOccurrence=o,p.HasPropertySets=l,p.RepresentationMaps=u,p.Tag=c,p.ElementType=f,p.type=1950629157,p}return P(n)}(Xc);e.IfcBuildingElementType=_A;var BA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ObjectType=o,A.ObjectPlacement=l,A.Representation=u,A.LongName=c,A.CompositionType=f,A.Elevation=p,A.type=3124254112,A}return P(n)}(zp);e.IfcBuildingStorey=BA;var OA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=2197970202,A}return P(n)}(_A);e.IfcChimneyType=OA;var SA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e,r,i,a,s)).ProfileType=r,l.ProfileName=i,l.Position=a,l.Radius=s,l.WallThickness=o,l.type=2937912522,l}return P(n)}(Sc);e.IfcCircleHollowProfileDef=SA;var NA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ApplicableOccurrence=o,p.HasPropertySets=l,p.RepresentationMaps=u,p.Tag=c,p.ElementType=f,p.type=3893394355,p}return P(n)}(Xc);e.IfcCivilElementType=NA;var LA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=300633059,A}return P(n)}(_A);e.IfcColumnType=LA;var MA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u){var c;return b(this,n),(c=t.call(this,e,r,i,a,s)).GlobalId=r,c.OwnerHistory=i,c.Name=a,c.Description=s,c.UsageName=o,c.TemplateType=l,c.HasPropertyTemplates=u,c.type=3875453745,c}return P(n)}(Uf);e.IfcComplexPropertyTemplate=MA;var xA=function(e){I(n,e);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).Segments=r,a.SelfIntersect=i,a.type=3732776249,a}return P(n)}(RA);e.IfcCompositeCurve=xA;var FA=function(e){I(n,e);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e,r,i)).Segments=r,a.SelfIntersect=i,a.type=15328376,a}return P(n)}(xA);e.IfcCompositeCurveOnSurface=FA;var HA=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e)).Position=r,i.type=2510884976,i}return P(n)}(jc);e.IfcConic=HA;var UA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A,d){var v;return b(this,n),(v=t.call(this,e,r,i,a,s,o,l,u,c,f,p,A)).GlobalId=r,v.OwnerHistory=i,v.Name=a,v.Description=s,v.ApplicableOccurrence=o,v.HasPropertySets=l,v.Identification=u,v.LongDescription=c,v.ResourceType=f,v.BaseCosts=p,v.BaseQuantity=A,v.PredefinedType=d,v.type=2185764099,v}return P(n)}(Fc);e.IfcConstructionEquipmentResourceType=UA;var GA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A,d){var v;return b(this,n),(v=t.call(this,e,r,i,a,s,o,l,u,c,f,p,A)).GlobalId=r,v.OwnerHistory=i,v.Name=a,v.Description=s,v.ApplicableOccurrence=o,v.HasPropertySets=l,v.Identification=u,v.LongDescription=c,v.ResourceType=f,v.BaseCosts=p,v.BaseQuantity=A,v.PredefinedType=d,v.type=4105962743,v}return P(n)}(Fc);e.IfcConstructionMaterialResourceType=GA;var kA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A,d){var v;return b(this,n),(v=t.call(this,e,r,i,a,s,o,l,u,c,f,p,A)).GlobalId=r,v.OwnerHistory=i,v.Name=a,v.Description=s,v.ApplicableOccurrence=o,v.HasPropertySets=l,v.Identification=u,v.LongDescription=c,v.ResourceType=f,v.BaseCosts=p,v.BaseQuantity=A,v.PredefinedType=d,v.type=1525564444,v}return P(n)}(Fc);e.IfcConstructionProductResourceType=kA;var jA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ObjectType=o,A.Identification=l,A.LongDescription=u,A.Usage=c,A.BaseCosts=f,A.BaseQuantity=p,A.type=2559216714,A}return P(n)}(Hp);e.IfcConstructionResource=jA;var VA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r,i,a,s,o)).GlobalId=r,u.OwnerHistory=i,u.Name=a,u.Description=s,u.ObjectType=o,u.Identification=l,u.type=3293443760,u}return P(n)}(If);e.IfcControl=VA;var QA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.Identification=l,p.PredefinedType=u,p.CostValues=c,p.CostQuantities=f,p.type=3895139033,p}return P(n)}(VA);e.IfcCostItem=QA;var WA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ObjectType=o,A.Identification=l,A.PredefinedType=u,A.Status=c,A.SubmittedOn=f,A.UpdateDate=p,A.type=1419761937,A}return P(n)}(VA);e.IfcCostSchedule=WA;var zA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=1916426348,A}return P(n)}(_A);e.IfcCoveringType=zA;var KA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A){var d;return b(this,n),(d=t.call(this,e,r,i,a,s,o,l,u,c,f,p)).GlobalId=r,d.OwnerHistory=i,d.Name=a,d.Description=s,d.ObjectType=o,d.Identification=l,d.LongDescription=u,d.Usage=c,d.BaseCosts=f,d.BaseQuantity=p,d.PredefinedType=A,d.type=3295246426,d}return P(n)}(jA);e.IfcCrewResource=KA;var YA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=1457835157,A}return P(n)}(_A);e.IfcCurtainWallType=YA;var XA=function(e){I(n,e);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e,r)).Position=r,a.Radius=i,a.type=1213902940,a}return P(n)}(qc);e.IfcCylindricalSurface=XA;var qA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ApplicableOccurrence=o,p.HasPropertySets=l,p.RepresentationMaps=u,p.Tag=c,p.ElementType=f,p.type=3256556792,p}return P(n)}(Xc);e.IfcDistributionElementType=qA;var JA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ApplicableOccurrence=o,p.HasPropertySets=l,p.RepresentationMaps=u,p.Tag=c,p.ElementType=f,p.type=3849074793,p}return P(n)}(qA);e.IfcDistributionFlowElementType=JA;var ZA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A,d,v,h,I,y,m){var w;return b(this,n),(w=t.call(this,e,r,i,a,s)).GlobalId=r,w.OwnerHistory=i,w.Name=a,w.Description=s,w.LiningDepth=o,w.LiningThickness=l,w.ThresholdDepth=u,w.ThresholdThickness=c,w.TransomThickness=f,w.TransomOffset=p,w.LiningOffset=A,w.ThresholdOffset=d,w.CasingThickness=v,w.CasingDepth=h,w.ShapeAspectStyle=I,w.LiningToPanelOffsetX=y,w.LiningToPanelOffsetY=m,w.type=2963535650,w}return P(n)}(Df);e.IfcDoorLiningProperties=ZA;var $A=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.PanelDepth=o,p.PanelOperation=l,p.PanelWidth=u,p.PanelPosition=c,p.ShapeAspectStyle=f,p.type=1714330368,p}return P(n)}(Df);e.IfcDoorPanelProperties=$A;var ed=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A,d,v){var h;return b(this,n),(h=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,h.OwnerHistory=i,h.Name=a,h.Description=s,h.ApplicableOccurrence=o,h.HasPropertySets=l,h.RepresentationMaps=u,h.Tag=c,h.ElementType=f,h.PredefinedType=p,h.OperationType=A,h.ParameterTakesPrecedence=d,h.UserDefinedOperationType=v,h.type=2323601079,h}return P(n)}(_A);e.IfcDoorType=ed;var td=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e,r)).Name=r,i.type=445594917,i}return P(n)}(Tf);e.IfcDraughtingPreDefinedColour=td;var nd=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e,r)).Name=r,i.type=4006246654,i}return P(n)}(bf);e.IfcDraughtingPreDefinedCurveFont=nd;var rd=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o,l,u)).GlobalId=r,f.OwnerHistory=i,f.Name=a,f.Description=s,f.ObjectType=o,f.ObjectPlacement=l,f.Representation=u,f.Tag=c,f.type=1758889154,f}return P(n)}(Cf);e.IfcElement=rd;var id=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ObjectType=o,A.ObjectPlacement=l,A.Representation=u,A.Tag=c,A.AssemblyPlace=f,A.PredefinedType=p,A.type=4123344466,A}return P(n)}(rd);e.IfcElementAssembly=id;var ad=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=2397081782,A}return P(n)}(Xc);e.IfcElementAssemblyType=ad;var sd=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,f.OwnerHistory=i,f.Name=a,f.Description=s,f.ObjectType=o,f.ObjectPlacement=l,f.Representation=u,f.Tag=c,f.type=1623761950,f}return P(n)}(rd);e.IfcElementComponent=sd;var od=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ApplicableOccurrence=o,p.HasPropertySets=l,p.RepresentationMaps=u,p.Tag=c,p.ElementType=f,p.type=2590856083,p}return P(n)}(Xc);e.IfcElementComponentType=od;var ld=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e,r)).Position=r,s.SemiAxis1=i,s.SemiAxis2=a,s.type=1704287377,s}return P(n)}(HA);e.IfcEllipse=ld;var ud=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ApplicableOccurrence=o,p.HasPropertySets=l,p.RepresentationMaps=u,p.Tag=c,p.ElementType=f,p.type=2107101300,p}return P(n)}(JA);e.IfcEnergyConversionDeviceType=ud;var cd=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=132023988,A}return P(n)}(ud);e.IfcEngineType=cd;var fd=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=3174744832,A}return P(n)}(ud);e.IfcEvaporativeCoolerType=fd;var pd=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=3390157468,A}return P(n)}(ud);e.IfcEvaporatorType=pd;var Ad=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A){var d;return b(this,n),(d=t.call(this,e,r,i,a,s,o,l,u)).GlobalId=r,d.OwnerHistory=i,d.Name=a,d.Description=s,d.ObjectType=o,d.Identification=l,d.LongDescription=u,d.PredefinedType=c,d.EventTriggerType=f,d.UserDefinedEventTriggerType=p,d.EventOccurenceTime=A,d.type=4148101412,d}return P(n)}(Rf);e.IfcEvent=Ad;var dd=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,f.OwnerHistory=i,f.Name=a,f.Description=s,f.ObjectType=o,f.ObjectPlacement=l,f.Representation=u,f.LongName=c,f.type=2853485674,f}return P(n)}(Qp);e.IfcExternalSpatialStructureElement=dd;var vd=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e,r)).Outer=r,i.type=807026263,i}return P(n)}(hf);e.IfcFacetedBrep=vd;var hd=function(e){I(n,e);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e,r)).Outer=r,a.Voids=i,a.type=3737207727,a}return P(n)}(vd);e.IfcFacetedBrepWithVoids=hd;var Id=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=647756555,p}return P(n)}(sd);e.IfcFastener=Id;var yd=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=2489546625,A}return P(n)}(od);e.IfcFastenerType=yd;var md=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,f.OwnerHistory=i,f.Name=a,f.Description=s,f.ObjectType=o,f.ObjectPlacement=l,f.Representation=u,f.Tag=c,f.type=2827207264,f}return P(n)}(rd);e.IfcFeatureElement=md;var wd=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,f.OwnerHistory=i,f.Name=a,f.Description=s,f.ObjectType=o,f.ObjectPlacement=l,f.Representation=u,f.Tag=c,f.type=2143335405,f}return P(n)}(md);e.IfcFeatureElementAddition=wd;var gd=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,f.OwnerHistory=i,f.Name=a,f.Description=s,f.ObjectType=o,f.ObjectPlacement=l,f.Representation=u,f.Tag=c,f.type=1287392070,f}return P(n)}(md);e.IfcFeatureElementSubtraction=gd;var Ed=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ApplicableOccurrence=o,p.HasPropertySets=l,p.RepresentationMaps=u,p.Tag=c,p.ElementType=f,p.type=3907093117,p}return P(n)}(JA);e.IfcFlowControllerType=Ed;var Td=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ApplicableOccurrence=o,p.HasPropertySets=l,p.RepresentationMaps=u,p.Tag=c,p.ElementType=f,p.type=3198132628,p}return P(n)}(JA);e.IfcFlowFittingType=Td;var bd=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=3815607619,A}return P(n)}(Ed);e.IfcFlowMeterType=bd;var Dd=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ApplicableOccurrence=o,p.HasPropertySets=l,p.RepresentationMaps=u,p.Tag=c,p.ElementType=f,p.type=1482959167,p}return P(n)}(JA);e.IfcFlowMovingDeviceType=Dd;var Pd=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ApplicableOccurrence=o,p.HasPropertySets=l,p.RepresentationMaps=u,p.Tag=c,p.ElementType=f,p.type=1834744321,p}return P(n)}(JA);e.IfcFlowSegmentType=Pd;var Rd=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ApplicableOccurrence=o,p.HasPropertySets=l,p.RepresentationMaps=u,p.Tag=c,p.ElementType=f,p.type=1339347760,p}return P(n)}(JA);e.IfcFlowStorageDeviceType=Rd;var Cd=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ApplicableOccurrence=o,p.HasPropertySets=l,p.RepresentationMaps=u,p.Tag=c,p.ElementType=f,p.type=2297155007,p}return P(n)}(JA);e.IfcFlowTerminalType=Cd;var _d=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ApplicableOccurrence=o,p.HasPropertySets=l,p.RepresentationMaps=u,p.Tag=c,p.ElementType=f,p.type=3009222698,p}return P(n)}(JA);e.IfcFlowTreatmentDeviceType=_d;var Bd=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=1893162501,A}return P(n)}(_A);e.IfcFootingType=Bd;var Od=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,f.OwnerHistory=i,f.Name=a,f.Description=s,f.ObjectType=o,f.ObjectPlacement=l,f.Representation=u,f.Tag=c,f.type=263784265,f}return P(n)}(rd);e.IfcFurnishingElement=Od;var Sd=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=1509553395,p}return P(n)}(Od);e.IfcFurniture=Sd;var Nd=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=3493046030,p}return P(n)}(rd);e.IfcGeographicElement=Nd;var Ld=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A){var d;return b(this,n),(d=t.call(this,e,r,i,a,s,o,l,u)).GlobalId=r,d.OwnerHistory=i,d.Name=a,d.Description=s,d.ObjectType=o,d.ObjectPlacement=l,d.Representation=u,d.UAxes=c,d.VAxes=f,d.WAxes=p,d.PredefinedType=A,d.type=3009204131,d}return P(n)}(Cf);e.IfcGrid=Ld;var Md=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e,r,i,a,s,o)).GlobalId=r,l.OwnerHistory=i,l.Name=a,l.Description=s,l.ObjectType=o,l.type=2706460486,l}return P(n)}(If);e.IfcGroup=Md;var xd=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=1251058090,A}return P(n)}(ud);e.IfcHeatExchangerType=xd;var Fd=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=1806887404,A}return P(n)}(ud);e.IfcHumidifierType=Fd;var Hd=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e)).Points=r,s.Segments=i,s.SelfIntersect=a,s.type=2571569899,s}return P(n)}(RA);e.IfcIndexedPolyCurve=Hd;var Ud=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=3946677679,A}return P(n)}(_d);e.IfcInterceptorType=Ud;var Gd=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e,r,i,a)).Curve3D=r,s.AssociatedGeometry=i,s.MasterRepresentation=a,s.type=3113134337,s}return P(n)}(sA);e.IfcIntersectionCurve=Gd;var kd=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A){var d;return b(this,n),(d=t.call(this,e,r,i,a,s,o)).GlobalId=r,d.OwnerHistory=i,d.Name=a,d.Description=s,d.ObjectType=o,d.PredefinedType=l,d.Jurisdiction=u,d.ResponsiblePersons=c,d.LastUpdateDate=f,d.CurrentValue=p,d.OriginalValue=A,d.type=2391368822,d}return P(n)}(Md);e.IfcInventory=kd;var jd=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=4288270099,A}return P(n)}(Td);e.IfcJunctionBoxType=jd;var Vd=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A){var d;return b(this,n),(d=t.call(this,e,r,i,a,s,o,l,u,c,f,p)).GlobalId=r,d.OwnerHistory=i,d.Name=a,d.Description=s,d.ObjectType=o,d.Identification=l,d.LongDescription=u,d.Usage=c,d.BaseCosts=f,d.BaseQuantity=p,d.PredefinedType=A,d.type=3827777499,d}return P(n)}(jA);e.IfcLaborResource=Vd;var Qd=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=1051575348,A}return P(n)}(Cd);e.IfcLampType=Qd;var Wd=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=1161773419,A}return P(n)}(Cd);e.IfcLightFixtureType=Wd;var zd=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A){var d;return b(this,n),(d=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,d.OwnerHistory=i,d.Name=a,d.Description=s,d.ObjectType=o,d.ObjectPlacement=l,d.Representation=u,d.Tag=c,d.NominalDiameter=f,d.NominalLength=p,d.PredefinedType=A,d.type=377706215,d}return P(n)}(sd);e.IfcMechanicalFastener=zd;var Kd=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A,d){var v;return b(this,n),(v=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,v.OwnerHistory=i,v.Name=a,v.Description=s,v.ApplicableOccurrence=o,v.HasPropertySets=l,v.RepresentationMaps=u,v.Tag=c,v.ElementType=f,v.PredefinedType=p,v.NominalDiameter=A,v.NominalLength=d,v.type=2108223431,v}return P(n)}(od);e.IfcMechanicalFastenerType=Kd;var Yd=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=1114901282,A}return P(n)}(Cd);e.IfcMedicalDeviceType=Yd;var Xd=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=3181161470,A}return P(n)}(_A);e.IfcMemberType=Xd;var qd=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=977012517,A}return P(n)}(ud);e.IfcMotorConnectionType=qd;var Jd=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u){var c;return b(this,n),(c=t.call(this,e,r,i,a,s,o,l)).GlobalId=r,c.OwnerHistory=i,c.Name=a,c.Description=s,c.ObjectType=o,c.TheActor=l,c.PredefinedType=u,c.type=4143007308,c}return P(n)}(mA);e.IfcOccupant=Jd;var Zd=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=3588315303,p}return P(n)}(gd);e.IfcOpeningElement=Zd;var $d=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=3079942009,p}return P(n)}(Zd);e.IfcOpeningStandardCase=$d;var ev=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=2837617999,A}return P(n)}(Cd);e.IfcOutletType=ev;var tv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o,l)).GlobalId=r,f.OwnerHistory=i,f.Name=a,f.Description=s,f.ObjectType=o,f.Identification=l,f.LifeCyclePhase=u,f.PredefinedType=c,f.type=2382730787,f}return P(n)}(VA);e.IfcPerformanceHistory=tv;var nv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.OperationType=o,p.PanelPosition=l,p.FrameDepth=u,p.FrameThickness=c,p.ShapeAspectStyle=f,p.type=3566463478,p}return P(n)}(Df);e.IfcPermeableCoveringProperties=nv;var rv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.Identification=l,p.PredefinedType=u,p.Status=c,p.LongDescription=f,p.type=3327091369,p}return P(n)}(VA);e.IfcPermit=rv;var iv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=1158309216,A}return P(n)}(_A);e.IfcPileType=iv;var av=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=804291784,A}return P(n)}(Td);e.IfcPipeFittingType=av;var sv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=4231323485,A}return P(n)}(Pd);e.IfcPipeSegmentType=sv;var ov=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=4017108033,A}return P(n)}(_A);e.IfcPlateType=ov;var lv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r)).Coordinates=r,o.Closed=i,o.Faces=a,o.PnIndex=s,o.type=2839578677,o}return P(n)}(AA);e.IfcPolygonalFaceSet=lv;var uv=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e)).Points=r,i.type=3724593414,i}return P(n)}(RA);e.IfcPolyline=uv;var cv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u){var c;return b(this,n),(c=t.call(this,e,r,i,a,s,o,l,u)).GlobalId=r,c.OwnerHistory=i,c.Name=a,c.Description=s,c.ObjectType=o,c.ObjectPlacement=l,c.Representation=u,c.type=3740093272,c}return P(n)}(Cf);e.IfcPort=cv;var fv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o,l,u)).GlobalId=r,f.OwnerHistory=i,f.Name=a,f.Description=s,f.ObjectType=o,f.Identification=l,f.LongDescription=u,f.PredefinedType=c,f.type=2744685151,f}return P(n)}(Rf);e.IfcProcedure=fv;var pv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.Identification=l,p.PredefinedType=u,p.Status=c,p.LongDescription=f,p.type=2904328755,p}return P(n)}(VA);e.IfcProjectOrder=pv;var Av=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=3651124850,p}return P(n)}(wd);e.IfcProjectionElement=Av;var dv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=1842657554,A}return P(n)}(Ed);e.IfcProtectiveDeviceType=dv;var vv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=2250791053,A}return P(n)}(Dd);e.IfcPumpType=vv;var hv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=2893384427,A}return P(n)}(_A);e.IfcRailingType=hv;var Iv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=2324767716,A}return P(n)}(_A);e.IfcRampFlightType=Iv;var yv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=1469900589,A}return P(n)}(_A);e.IfcRampType=yv;var mv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A,d,v){var h;return b(this,n),(h=t.call(this,e,r,i,a,s,o,l,u,c,f,p,A,d)).UDegree=r,h.VDegree=i,h.ControlPointsList=a,h.SurfaceForm=s,h.UClosed=o,h.VClosed=l,h.SelfIntersect=u,h.UMultiplicities=c,h.VMultiplicities=f,h.UKnots=p,h.VKnots=A,h.KnotSpec=d,h.WeightsData=v,h.type=683857671,h}return P(n)}(bA);e.IfcRationalBSplineSurfaceWithKnots=mv;var wv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.SteelGrade=f,p.type=3027567501,p}return P(n)}(sd);e.IfcReinforcingElement=wv;var gv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ApplicableOccurrence=o,p.HasPropertySets=l,p.RepresentationMaps=u,p.Tag=c,p.ElementType=f,p.type=964333572,p}return P(n)}(od);e.IfcReinforcingElementType=gv;var Ev=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A,d,v,h,I,y,m,w){var g;return b(this,n),(g=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,g.OwnerHistory=i,g.Name=a,g.Description=s,g.ObjectType=o,g.ObjectPlacement=l,g.Representation=u,g.Tag=c,g.SteelGrade=f,g.MeshLength=p,g.MeshWidth=A,g.LongitudinalBarNominalDiameter=d,g.TransverseBarNominalDiameter=v,g.LongitudinalBarCrossSectionArea=h,g.TransverseBarCrossSectionArea=I,g.LongitudinalBarSpacing=y,g.TransverseBarSpacing=m,g.PredefinedType=w,g.type=2320036040,g}return P(n)}(wv);e.IfcReinforcingMesh=Ev;var Tv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A,d,v,h,I,y,m,w,g,E){var T;return b(this,n),(T=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,T.OwnerHistory=i,T.Name=a,T.Description=s,T.ApplicableOccurrence=o,T.HasPropertySets=l,T.RepresentationMaps=u,T.Tag=c,T.ElementType=f,T.PredefinedType=p,T.MeshLength=A,T.MeshWidth=d,T.LongitudinalBarNominalDiameter=v,T.TransverseBarNominalDiameter=h,T.LongitudinalBarCrossSectionArea=I,T.TransverseBarCrossSectionArea=y,T.LongitudinalBarSpacing=m,T.TransverseBarSpacing=w,T.BendingShapeCode=g,T.BendingParameters=E,T.type=2310774935,T}return P(n)}(gv);e.IfcReinforcingMeshType=Tv;var bv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r,i,a,s)).GlobalId=r,u.OwnerHistory=i,u.Name=a,u.Description=s,u.RelatingObject=o,u.RelatedObjects=l,u.type=160246688,u}return P(n)}(mp);e.IfcRelAggregates=bv;var Dv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=2781568857,A}return P(n)}(_A);e.IfcRoofType=Dv;var Pv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=1768891740,A}return P(n)}(Cd);e.IfcSanitaryTerminalType=Pv;var Rv=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e,r,i,a)).Curve3D=r,s.AssociatedGeometry=i,s.MasterRepresentation=a,s.type=2157484638,s}return P(n)}(sA);e.IfcSeamCurve=Rv;var Cv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=4074543187,A}return P(n)}(_A);e.IfcShadingDeviceType=Cv;var _v=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A,d,v,h){var I;return b(this,n),(I=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,I.OwnerHistory=i,I.Name=a,I.Description=s,I.ObjectType=o,I.ObjectPlacement=l,I.Representation=u,I.LongName=c,I.CompositionType=f,I.RefLatitude=p,I.RefLongitude=A,I.RefElevation=d,I.LandTitleNumber=v,I.SiteAddress=h,I.type=4097777520,I}return P(n)}(zp);e.IfcSite=_v;var Bv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=2533589738,A}return P(n)}(_A);e.IfcSlabType=Bv;var Ov=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=1072016465,A}return P(n)}(ud);e.IfcSolarDeviceType=Ov;var Sv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A){var d;return b(this,n),(d=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,d.OwnerHistory=i,d.Name=a,d.Description=s,d.ObjectType=o,d.ObjectPlacement=l,d.Representation=u,d.LongName=c,d.CompositionType=f,d.PredefinedType=p,d.ElevationWithFlooring=A,d.type=3856911033,d}return P(n)}(zp);e.IfcSpace=Sv;var Nv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=1305183839,A}return P(n)}(Cd);e.IfcSpaceHeaterType=Nv;var Lv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A){var d;return b(this,n),(d=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,d.OwnerHistory=i,d.Name=a,d.Description=s,d.ApplicableOccurrence=o,d.HasPropertySets=l,d.RepresentationMaps=u,d.Tag=c,d.ElementType=f,d.PredefinedType=p,d.LongName=A,d.type=3812236995,d}return P(n)}(Kp);e.IfcSpaceType=Lv;var Mv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=3112655638,A}return P(n)}(Cd);e.IfcStackTerminalType=Mv;var xv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=1039846685,A}return P(n)}(_A);e.IfcStairFlightType=xv;var Fv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=338393293,A}return P(n)}(_A);e.IfcStairType=Fv;var Hv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ObjectType=o,A.ObjectPlacement=l,A.Representation=u,A.AppliedLoad=c,A.GlobalOrLocal=f,A.DestabilizingLoad=p,A.type=682877961,A}return P(n)}(Zp);e.IfcStructuralAction=Hv;var Uv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o,l,u)).GlobalId=r,f.OwnerHistory=i,f.Name=a,f.Description=s,f.ObjectType=o,f.ObjectPlacement=l,f.Representation=u,f.AppliedCondition=c,f.type=1179482911,f}return P(n)}($p);e.IfcStructuralConnection=Uv;var Gv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A,d){var v;return b(this,n),(v=t.call(this,e,r,i,a,s,o,l,u,c,f,p)).GlobalId=r,v.OwnerHistory=i,v.Name=a,v.Description=s,v.ObjectType=o,v.ObjectPlacement=l,v.Representation=u,v.AppliedLoad=c,v.GlobalOrLocal=f,v.DestabilizingLoad=p,v.ProjectedOrTrue=A,v.PredefinedType=d,v.type=1004757350,v}return P(n)}(Hv);e.IfcStructuralCurveAction=Gv;var kv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.AppliedCondition=c,p.Axis=f,p.type=4243806635,p}return P(n)}(Uv);e.IfcStructuralCurveConnection=kv;var jv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.PredefinedType=c,p.Axis=f,p.type=214636428,p}return P(n)}(eA);e.IfcStructuralCurveMember=jv;var Vv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.PredefinedType=c,p.Axis=f,p.type=2445595289,p}return P(n)}(jv);e.IfcStructuralCurveMemberVarying=Vv;var Qv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ObjectType=o,A.ObjectPlacement=l,A.Representation=u,A.AppliedLoad=c,A.GlobalOrLocal=f,A.PredefinedType=p,A.type=2757150158,A}return P(n)}(tA);e.IfcStructuralCurveReaction=Qv;var Wv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A,d){var v;return b(this,n),(v=t.call(this,e,r,i,a,s,o,l,u,c,f,p,A,d)).GlobalId=r,v.OwnerHistory=i,v.Name=a,v.Description=s,v.ObjectType=o,v.ObjectPlacement=l,v.Representation=u,v.AppliedLoad=c,v.GlobalOrLocal=f,v.DestabilizingLoad=p,v.ProjectedOrTrue=A,v.PredefinedType=d,v.type=1807405624,v}return P(n)}(Gv);e.IfcStructuralLinearAction=Wv;var zv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ObjectType=o,A.PredefinedType=l,A.ActionType=u,A.ActionSource=c,A.Coefficient=f,A.Purpose=p,A.type=1252848954,A}return P(n)}(Md);e.IfcStructuralLoadGroup=zv;var Kv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f,p)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ObjectType=o,A.ObjectPlacement=l,A.Representation=u,A.AppliedLoad=c,A.GlobalOrLocal=f,A.DestabilizingLoad=p,A.type=2082059205,A}return P(n)}(Hv);e.IfcStructuralPointAction=Kv;var Yv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.AppliedCondition=c,p.ConditionCoordinateSystem=f,p.type=734778138,p}return P(n)}(Uv);e.IfcStructuralPointConnection=Yv;var Xv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.AppliedLoad=c,p.GlobalOrLocal=f,p.type=1235345126,p}return P(n)}(tA);e.IfcStructuralPointReaction=Xv;var qv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o)).GlobalId=r,f.OwnerHistory=i,f.Name=a,f.Description=s,f.ObjectType=o,f.TheoryType=l,f.ResultForLoadGroup=u,f.IsLinear=c,f.type=2986769608,f}return P(n)}(Md);e.IfcStructuralResultGroup=qv;var Jv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A,d){var v;return b(this,n),(v=t.call(this,e,r,i,a,s,o,l,u,c,f,p)).GlobalId=r,v.OwnerHistory=i,v.Name=a,v.Description=s,v.ObjectType=o,v.ObjectPlacement=l,v.Representation=u,v.AppliedLoad=c,v.GlobalOrLocal=f,v.DestabilizingLoad=p,v.ProjectedOrTrue=A,v.PredefinedType=d,v.type=3657597509,v}return P(n)}(Hv);e.IfcStructuralSurfaceAction=Jv;var Zv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,f.OwnerHistory=i,f.Name=a,f.Description=s,f.ObjectType=o,f.ObjectPlacement=l,f.Representation=u,f.AppliedCondition=c,f.type=1975003073,f}return P(n)}(Uv);e.IfcStructuralSurfaceConnection=Zv;var $v=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A){var d;return b(this,n),(d=t.call(this,e,r,i,a,s,o,l,u,c,f,p)).GlobalId=r,d.OwnerHistory=i,d.Name=a,d.Description=s,d.ObjectType=o,d.Identification=l,d.LongDescription=u,d.Usage=c,d.BaseCosts=f,d.BaseQuantity=p,d.PredefinedType=A,d.type=148013059,d}return P(n)}(jA);e.IfcSubContractResource=$v;var eh=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=3101698114,p}return P(n)}(md);e.IfcSurfaceFeature=eh;var th=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=2315554128,A}return P(n)}(Ed);e.IfcSwitchingDeviceType=th;var nh=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e,r,i,a,s,o)).GlobalId=r,l.OwnerHistory=i,l.Name=a,l.Description=s,l.ObjectType=o,l.type=2254336722,l}return P(n)}(Md);e.IfcSystem=nh;var rh=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=413509423,p}return P(n)}(Od);e.IfcSystemFurnitureElement=rh;var ih=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=5716631,A}return P(n)}(Rd);e.IfcTankType=ih;var ah=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A,d,v,h,I,y,m){var w;return b(this,n),(w=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,w.OwnerHistory=i,w.Name=a,w.Description=s,w.ObjectType=o,w.ObjectPlacement=l,w.Representation=u,w.Tag=c,w.SteelGrade=f,w.PredefinedType=p,w.NominalDiameter=A,w.CrossSectionArea=d,w.TensionForce=v,w.PreStress=h,w.FrictionCoefficient=I,w.AnchorageSlip=y,w.MinCurvatureRadius=m,w.type=3824725483,w}return P(n)}(wv);e.IfcTendon=ah;var sh=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ObjectType=o,A.ObjectPlacement=l,A.Representation=u,A.Tag=c,A.SteelGrade=f,A.PredefinedType=p,A.type=2347447852,A}return P(n)}(wv);e.IfcTendonAnchor=sh;var oh=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=3081323446,A}return P(n)}(gv);e.IfcTendonAnchorType=oh;var lh=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A,d,v){var h;return b(this,n),(h=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,h.OwnerHistory=i,h.Name=a,h.Description=s,h.ApplicableOccurrence=o,h.HasPropertySets=l,h.RepresentationMaps=u,h.Tag=c,h.ElementType=f,h.PredefinedType=p,h.NominalDiameter=A,h.CrossSectionArea=d,h.SheathDiameter=v,h.type=2415094496,h}return P(n)}(gv);e.IfcTendonType=lh;var uh=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=1692211062,A}return P(n)}(ud);e.IfcTransformerType=uh;var ch=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=1620046519,p}return P(n)}(rd);e.IfcTransportElement=ch;var fh=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e)).BasisCurve=r,l.Trim1=i,l.Trim2=a,l.SenseAgreement=s,l.MasterRepresentation=o,l.type=3593883385,l}return P(n)}(RA);e.IfcTrimmedCurve=fh;var ph=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=1600972822,A}return P(n)}(ud);e.IfcTubeBundleType=ph;var Ah=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=1911125066,A}return P(n)}(ud);e.IfcUnitaryEquipmentType=Ah;var dh=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=728799441,A}return P(n)}(Ed);e.IfcValveType=dh;var vh=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=2391383451,p}return P(n)}(sd);e.IfcVibrationIsolator=vh;var hh=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=3313531582,A}return P(n)}(od);e.IfcVibrationIsolatorType=hh;var Ih=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,f.OwnerHistory=i,f.Name=a,f.Description=s,f.ObjectType=o,f.ObjectPlacement=l,f.Representation=u,f.Tag=c,f.type=2769231204,f}return P(n)}(rd);e.IfcVirtualElement=Ih;var yh=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=926996030,p}return P(n)}(gd);e.IfcVoidingFeature=yh;var mh=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=1898987631,A}return P(n)}(_A);e.IfcWallType=mh;var wh=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=1133259667,A}return P(n)}(Cd);e.IfcWasteTerminalType=wh;var gh=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A,d,v){var h;return b(this,n),(h=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,h.OwnerHistory=i,h.Name=a,h.Description=s,h.ApplicableOccurrence=o,h.HasPropertySets=l,h.RepresentationMaps=u,h.Tag=c,h.ElementType=f,h.PredefinedType=p,h.PartitioningType=A,h.ParameterTakesPrecedence=d,h.UserDefinedPartitioningType=v,h.type=4009809668,h}return P(n)}(_A);e.IfcWindowType=gh;var Eh=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.Identification=l,p.WorkingTimes=u,p.ExceptionTimes=c,p.PredefinedType=f,p.type=4088093105,p}return P(n)}(VA);e.IfcWorkCalendar=Eh;var Th=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A,d,v){var h;return b(this,n),(h=t.call(this,e,r,i,a,s,o,l)).GlobalId=r,h.OwnerHistory=i,h.Name=a,h.Description=s,h.ObjectType=o,h.Identification=l,h.CreationDate=u,h.Creators=c,h.Purpose=f,h.Duration=p,h.TotalFloat=A,h.StartTime=d,h.FinishTime=v,h.type=1028945134,h}return P(n)}(VA);e.IfcWorkControl=Th;var bh=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A,d,v,h){var I;return b(this,n),(I=t.call(this,e,r,i,a,s,o,l,u,c,f,p,A,d,v)).GlobalId=r,I.OwnerHistory=i,I.Name=a,I.Description=s,I.ObjectType=o,I.Identification=l,I.CreationDate=u,I.Creators=c,I.Purpose=f,I.Duration=p,I.TotalFloat=A,I.StartTime=d,I.FinishTime=v,I.PredefinedType=h,I.type=4218914973,I}return P(n)}(Th);e.IfcWorkPlan=bh;var Dh=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A,d,v,h){var I;return b(this,n),(I=t.call(this,e,r,i,a,s,o,l,u,c,f,p,A,d,v)).GlobalId=r,I.OwnerHistory=i,I.Name=a,I.Description=s,I.ObjectType=o,I.Identification=l,I.CreationDate=u,I.Creators=c,I.Purpose=f,I.Duration=p,I.TotalFloat=A,I.StartTime=d,I.FinishTime=v,I.PredefinedType=h,I.type=3342526732,I}return P(n)}(Th);e.IfcWorkSchedule=Dh;var Ph=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r,i,a,s,o)).GlobalId=r,u.OwnerHistory=i,u.Name=a,u.Description=s,u.ObjectType=o,u.LongName=l,u.type=1033361043,u}return P(n)}(nh);e.IfcZone=Ph;var Rh=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.Identification=l,p.PredefinedType=u,p.Status=c,p.LongDescription=f,p.type=3821786052,p}return P(n)}(VA);e.IfcActionRequest=Rh;var Ch=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=1411407467,A}return P(n)}(Ed);e.IfcAirTerminalBoxType=Ch;var _h=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=3352864051,A}return P(n)}(Cd);e.IfcAirTerminalType=_h;var Bh=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=1871374353,A}return P(n)}(ud);e.IfcAirToAirHeatRecoveryType=Bh;var Oh=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A,d,v,h){var I;return b(this,n),(I=t.call(this,e,r,i,a,s,o)).GlobalId=r,I.OwnerHistory=i,I.Name=a,I.Description=s,I.ObjectType=o,I.Identification=l,I.OriginalValue=u,I.CurrentValue=c,I.TotalReplacementCost=f,I.Owner=p,I.User=A,I.ResponsiblePerson=d,I.IncorporationDate=v,I.DepreciatedValue=h,I.type=3460190687,I}return P(n)}(Md);e.IfcAsset=Oh;var Sh=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=1532957894,A}return P(n)}(Cd);e.IfcAudioVisualApplianceType=Sh;var Nh=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e)).Degree=r,l.ControlPointsList=i,l.CurveForm=a,l.ClosedCurve=s,l.SelfIntersect=o,l.type=1967976161,l}return P(n)}(RA);e.IfcBSplineCurve=Nh;var Lh=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o)).Degree=r,f.ControlPointsList=i,f.CurveForm=a,f.ClosedCurve=s,f.SelfIntersect=o,f.KnotMultiplicities=l,f.Knots=u,f.KnotSpec=c,f.type=2461110595,f}return P(n)}(Nh);e.IfcBSplineCurveWithKnots=Lh;var Mh=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=819618141,A}return P(n)}(_A);e.IfcBeamType=Mh;var xh=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=231477066,A}return P(n)}(ud);e.IfcBoilerType=xh;var Fh=function(e){I(n,e);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e,r,i)).Segments=r,a.SelfIntersect=i,a.type=1136057603,a}return P(n)}(FA);e.IfcBoundaryCurve=Fh;var Hh=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,f.OwnerHistory=i,f.Name=a,f.Description=s,f.ObjectType=o,f.ObjectPlacement=l,f.Representation=u,f.Tag=c,f.type=3299480353,f}return P(n)}(rd);e.IfcBuildingElement=Hh;var Uh=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=2979338954,p}return P(n)}(sd);e.IfcBuildingElementPart=Uh;var Gh=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=39481116,A}return P(n)}(od);e.IfcBuildingElementPartType=Gh;var kh=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=1095909175,p}return P(n)}(Hh);e.IfcBuildingElementProxy=kh;var jh=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=1909888760,A}return P(n)}(_A);e.IfcBuildingElementProxyType=jh;var Vh=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u){var c;return b(this,n),(c=t.call(this,e,r,i,a,s,o)).GlobalId=r,c.OwnerHistory=i,c.Name=a,c.Description=s,c.ObjectType=o,c.PredefinedType=l,c.LongName=u,c.type=1177604601,c}return P(n)}(nh);e.IfcBuildingSystem=Vh;var Qh=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=2188180465,A}return P(n)}(ud);e.IfcBurnerType=Qh;var Wh=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=395041908,A}return P(n)}(Td);e.IfcCableCarrierFittingType=Wh;var zh=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=3293546465,A}return P(n)}(Pd);e.IfcCableCarrierSegmentType=zh;var Kh=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=2674252688,A}return P(n)}(Td);e.IfcCableFittingType=Kh;var Yh=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=1285652485,A}return P(n)}(Pd);e.IfcCableSegmentType=Yh;var Xh=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=2951183804,A}return P(n)}(ud);e.IfcChillerType=Xh;var qh=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=3296154744,p}return P(n)}(Hh);e.IfcChimney=qh;var Jh=function(e){I(n,e);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e,r)).Position=r,a.Radius=i,a.type=2611217952,a}return P(n)}(HA);e.IfcCircle=Jh;var Zh=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,f.OwnerHistory=i,f.Name=a,f.Description=s,f.ObjectType=o,f.ObjectPlacement=l,f.Representation=u,f.Tag=c,f.type=1677625105,f}return P(n)}(rd);e.IfcCivilElement=Zh;var $h=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=2301859152,A}return P(n)}(ud);e.IfcCoilType=$h;var eI=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=843113511,p}return P(n)}(Hh);e.IfcColumn=eI;var tI=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=905975707,p}return P(n)}(eI);e.IfcColumnStandardCase=tI;var nI=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=400855858,A}return P(n)}(Cd);e.IfcCommunicationsApplianceType=nI;var rI=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=3850581409,A}return P(n)}(Dd);e.IfcCompressorType=rI;var iI=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=2816379211,A}return P(n)}(ud);e.IfcCondenserType=iI;var aI=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A){var d;return b(this,n),(d=t.call(this,e,r,i,a,s,o,l,u,c,f,p)).GlobalId=r,d.OwnerHistory=i,d.Name=a,d.Description=s,d.ObjectType=o,d.Identification=l,d.LongDescription=u,d.Usage=c,d.BaseCosts=f,d.BaseQuantity=p,d.PredefinedType=A,d.type=3898045240,d}return P(n)}(jA);e.IfcConstructionEquipmentResource=aI;var sI=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A){var d;return b(this,n),(d=t.call(this,e,r,i,a,s,o,l,u,c,f,p)).GlobalId=r,d.OwnerHistory=i,d.Name=a,d.Description=s,d.ObjectType=o,d.Identification=l,d.LongDescription=u,d.Usage=c,d.BaseCosts=f,d.BaseQuantity=p,d.PredefinedType=A,d.type=1060000209,d}return P(n)}(jA);e.IfcConstructionMaterialResource=sI;var oI=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A){var d;return b(this,n),(d=t.call(this,e,r,i,a,s,o,l,u,c,f,p)).GlobalId=r,d.OwnerHistory=i,d.Name=a,d.Description=s,d.ObjectType=o,d.Identification=l,d.LongDescription=u,d.Usage=c,d.BaseCosts=f,d.BaseQuantity=p,d.PredefinedType=A,d.type=488727124,d}return P(n)}(jA);e.IfcConstructionProductResource=oI;var lI=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=335055490,A}return P(n)}(ud);e.IfcCooledBeamType=lI;var uI=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=2954562838,A}return P(n)}(ud);e.IfcCoolingTowerType=uI;var cI=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=1973544240,p}return P(n)}(Hh);e.IfcCovering=cI;var fI=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=3495092785,p}return P(n)}(Hh);e.IfcCurtainWall=fI;var pI=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=3961806047,A}return P(n)}(Ed);e.IfcDamperType=pI;var AI=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=1335981549,p}return P(n)}(sd);e.IfcDiscreteAccessory=AI;var dI=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=2635815018,A}return P(n)}(od);e.IfcDiscreteAccessoryType=dI;var vI=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=1599208980,A}return P(n)}(JA);e.IfcDistributionChamberElementType=vI;var hI=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ApplicableOccurrence=o,p.HasPropertySets=l,p.RepresentationMaps=u,p.Tag=c,p.ElementType=f,p.type=2063403501,p}return P(n)}(qA);e.IfcDistributionControlElementType=hI;var II=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,f.OwnerHistory=i,f.Name=a,f.Description=s,f.ObjectType=o,f.ObjectPlacement=l,f.Representation=u,f.Tag=c,f.type=1945004755,f}return P(n)}(rd);e.IfcDistributionElement=II;var yI=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,f.OwnerHistory=i,f.Name=a,f.Description=s,f.ObjectType=o,f.ObjectPlacement=l,f.Representation=u,f.Tag=c,f.type=3040386961,f}return P(n)}(II);e.IfcDistributionFlowElement=yI;var mI=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ObjectType=o,A.ObjectPlacement=l,A.Representation=u,A.FlowDirection=c,A.PredefinedType=f,A.SystemType=p,A.type=3041715199,A}return P(n)}(cv);e.IfcDistributionPort=mI;var wI=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u){var c;return b(this,n),(c=t.call(this,e,r,i,a,s,o)).GlobalId=r,c.OwnerHistory=i,c.Name=a,c.Description=s,c.ObjectType=o,c.LongName=l,c.PredefinedType=u,c.type=3205830791,c}return P(n)}(nh);e.IfcDistributionSystem=wI;var gI=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A,d,v){var h;return b(this,n),(h=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,h.OwnerHistory=i,h.Name=a,h.Description=s,h.ObjectType=o,h.ObjectPlacement=l,h.Representation=u,h.Tag=c,h.OverallHeight=f,h.OverallWidth=p,h.PredefinedType=A,h.OperationType=d,h.UserDefinedOperationType=v,h.type=395920057,h}return P(n)}(Hh);e.IfcDoor=gI;var EI=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A,d,v){var h;return b(this,n),(h=t.call(this,e,r,i,a,s,o,l,u,c,f,p,A,d,v)).GlobalId=r,h.OwnerHistory=i,h.Name=a,h.Description=s,h.ObjectType=o,h.ObjectPlacement=l,h.Representation=u,h.Tag=c,h.OverallHeight=f,h.OverallWidth=p,h.PredefinedType=A,h.OperationType=d,h.UserDefinedOperationType=v,h.type=3242481149,h}return P(n)}(gI);e.IfcDoorStandardCase=EI;var TI=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=869906466,A}return P(n)}(Td);e.IfcDuctFittingType=TI;var bI=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=3760055223,A}return P(n)}(Pd);e.IfcDuctSegmentType=bI;var DI=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=2030761528,A}return P(n)}(_d);e.IfcDuctSilencerType=DI;var PI=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=663422040,A}return P(n)}(Cd);e.IfcElectricApplianceType=PI;var RI=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=2417008758,A}return P(n)}(Ed);e.IfcElectricDistributionBoardType=RI;var CI=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=3277789161,A}return P(n)}(Rd);e.IfcElectricFlowStorageDeviceType=CI;var _I=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=1534661035,A}return P(n)}(ud);e.IfcElectricGeneratorType=_I;var BI=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=1217240411,A}return P(n)}(ud);e.IfcElectricMotorType=BI;var OI=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=712377611,A}return P(n)}(Ed);e.IfcElectricTimeControlType=OI;var SI=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,f.OwnerHistory=i,f.Name=a,f.Description=s,f.ObjectType=o,f.ObjectPlacement=l,f.Representation=u,f.Tag=c,f.type=1658829314,f}return P(n)}(yI);e.IfcEnergyConversionDevice=SI;var NI=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=2814081492,p}return P(n)}(SI);e.IfcEngine=NI;var LI=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=3747195512,p}return P(n)}(SI);e.IfcEvaporativeCooler=LI;var MI=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=484807127,p}return P(n)}(SI);e.IfcEvaporator=MI;var xI=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.LongName=c,p.PredefinedType=f,p.type=1209101575,p}return P(n)}(dd);e.IfcExternalSpatialElement=xI;var FI=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=346874300,A}return P(n)}(Dd);e.IfcFanType=FI;var HI=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=1810631287,A}return P(n)}(_d);e.IfcFilterType=HI;var UI=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=4222183408,A}return P(n)}(Cd);e.IfcFireSuppressionTerminalType=UI;var GI=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,f.OwnerHistory=i,f.Name=a,f.Description=s,f.ObjectType=o,f.ObjectPlacement=l,f.Representation=u,f.Tag=c,f.type=2058353004,f}return P(n)}(yI);e.IfcFlowController=GI;var kI=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,f.OwnerHistory=i,f.Name=a,f.Description=s,f.ObjectType=o,f.ObjectPlacement=l,f.Representation=u,f.Tag=c,f.type=4278956645,f}return P(n)}(yI);e.IfcFlowFitting=kI;var jI=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=4037862832,A}return P(n)}(hI);e.IfcFlowInstrumentType=jI;var VI=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=2188021234,p}return P(n)}(GI);e.IfcFlowMeter=VI;var QI=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,f.OwnerHistory=i,f.Name=a,f.Description=s,f.ObjectType=o,f.ObjectPlacement=l,f.Representation=u,f.Tag=c,f.type=3132237377,f}return P(n)}(yI);e.IfcFlowMovingDevice=QI;var WI=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,f.OwnerHistory=i,f.Name=a,f.Description=s,f.ObjectType=o,f.ObjectPlacement=l,f.Representation=u,f.Tag=c,f.type=987401354,f}return P(n)}(yI);e.IfcFlowSegment=WI;var zI=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,f.OwnerHistory=i,f.Name=a,f.Description=s,f.ObjectType=o,f.ObjectPlacement=l,f.Representation=u,f.Tag=c,f.type=707683696,f}return P(n)}(yI);e.IfcFlowStorageDevice=zI;var KI=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,f.OwnerHistory=i,f.Name=a,f.Description=s,f.ObjectType=o,f.ObjectPlacement=l,f.Representation=u,f.Tag=c,f.type=2223149337,f}return P(n)}(yI);e.IfcFlowTerminal=KI;var YI=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,f.OwnerHistory=i,f.Name=a,f.Description=s,f.ObjectType=o,f.ObjectPlacement=l,f.Representation=u,f.Tag=c,f.type=3508470533,f}return P(n)}(yI);e.IfcFlowTreatmentDevice=YI;var XI=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=900683007,p}return P(n)}(Hh);e.IfcFooting=XI;var qI=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=3319311131,p}return P(n)}(SI);e.IfcHeatExchanger=qI;var JI=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=2068733104,p}return P(n)}(SI);e.IfcHumidifier=JI;var ZI=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=4175244083,p}return P(n)}(YI);e.IfcInterceptor=ZI;var $I=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=2176052936,p}return P(n)}(kI);e.IfcJunctionBox=$I;var ey=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=76236018,p}return P(n)}(KI);e.IfcLamp=ey;var ty=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=629592764,p}return P(n)}(KI);e.IfcLightFixture=ty;var ny=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=1437502449,p}return P(n)}(KI);e.IfcMedicalDevice=ny;var ry=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=1073191201,p}return P(n)}(Hh);e.IfcMember=ry;var iy=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=1911478936,p}return P(n)}(ry);e.IfcMemberStandardCase=iy;var ay=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=2474470126,p}return P(n)}(SI);e.IfcMotorConnection=ay;var sy=function(e){I(n,e);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e,r,i)).Segments=r,a.SelfIntersect=i,a.type=144952367,a}return P(n)}(Fh);e.IfcOuterBoundaryCurve=sy;var oy=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=3694346114,p}return P(n)}(KI);e.IfcOutlet=oy;var ly=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ObjectType=o,A.ObjectPlacement=l,A.Representation=u,A.Tag=c,A.PredefinedType=f,A.ConstructionType=p,A.type=1687234759,A}return P(n)}(Hh);e.IfcPile=ly;var uy=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=310824031,p}return P(n)}(kI);e.IfcPipeFitting=uy;var cy=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=3612865200,p}return P(n)}(WI);e.IfcPipeSegment=cy;var fy=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=3171933400,p}return P(n)}(Hh);e.IfcPlate=fy;var py=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=1156407060,p}return P(n)}(fy);e.IfcPlateStandardCase=py;var Ay=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=738039164,p}return P(n)}(GI);e.IfcProtectiveDevice=Ay;var dy=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=655969474,A}return P(n)}(hI);e.IfcProtectiveDeviceTrippingUnitType=dy;var vy=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=90941305,p}return P(n)}(QI);e.IfcPump=vy;var hy=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=2262370178,p}return P(n)}(Hh);e.IfcRailing=hy;var Iy=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=3024970846,p}return P(n)}(Hh);e.IfcRamp=Iy;var yy=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=3283111854,p}return P(n)}(Hh);e.IfcRampFlight=yy;var my=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).Degree=r,p.ControlPointsList=i,p.CurveForm=a,p.ClosedCurve=s,p.SelfIntersect=o,p.KnotMultiplicities=l,p.Knots=u,p.KnotSpec=c,p.WeightsData=f,p.type=1232101972,p}return P(n)}(Lh);e.IfcRationalBSplineCurveWithKnots=my;var wy=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A,d,v,h){var I;return b(this,n),(I=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,I.OwnerHistory=i,I.Name=a,I.Description=s,I.ObjectType=o,I.ObjectPlacement=l,I.Representation=u,I.Tag=c,I.SteelGrade=f,I.NominalDiameter=p,I.CrossSectionArea=A,I.BarLength=d,I.PredefinedType=v,I.BarSurface=h,I.type=979691226,I}return P(n)}(wv);e.IfcReinforcingBar=wy;var gy=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A,d,v,h,I,y){var m;return b(this,n),(m=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,m.OwnerHistory=i,m.Name=a,m.Description=s,m.ApplicableOccurrence=o,m.HasPropertySets=l,m.RepresentationMaps=u,m.Tag=c,m.ElementType=f,m.PredefinedType=p,m.NominalDiameter=A,m.CrossSectionArea=d,m.BarLength=v,m.BarSurface=h,m.BendingShapeCode=I,m.BendingParameters=y,m.type=2572171363,m}return P(n)}(gv);e.IfcReinforcingBarType=gy;var Ey=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=2016517767,p}return P(n)}(Hh);e.IfcRoof=Ey;var Ty=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=3053780830,p}return P(n)}(KI);e.IfcSanitaryTerminal=Ty;var by=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=1783015770,A}return P(n)}(hI);e.IfcSensorType=by;var Dy=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=1329646415,p}return P(n)}(Hh);e.IfcShadingDevice=Dy;var Py=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=1529196076,p}return P(n)}(Hh);e.IfcSlab=Py;var Ry=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=3127900445,p}return P(n)}(Py);e.IfcSlabElementedCase=Ry;var Cy=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=3027962421,p}return P(n)}(Py);e.IfcSlabStandardCase=Cy;var _y=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=3420628829,p}return P(n)}(SI);e.IfcSolarDevice=_y;var By=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=1999602285,p}return P(n)}(KI);e.IfcSpaceHeater=By;var Oy=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=1404847402,p}return P(n)}(KI);e.IfcStackTerminal=Oy;var Sy=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=331165859,p}return P(n)}(Hh);e.IfcStair=Sy;var Ny=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A,d,v){var h;return b(this,n),(h=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,h.OwnerHistory=i,h.Name=a,h.Description=s,h.ObjectType=o,h.ObjectPlacement=l,h.Representation=u,h.Tag=c,h.NumberOfRisers=f,h.NumberOfTreads=p,h.RiserHeight=A,h.TreadLength=d,h.PredefinedType=v,h.type=4252922144,h}return P(n)}(Hh);e.IfcStairFlight=Ny;var Ly=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ObjectType=o,A.PredefinedType=l,A.OrientationOf2DPlane=u,A.LoadedBy=c,A.HasResults=f,A.SharedPlacement=p,A.type=2515109513,A}return P(n)}(nh);e.IfcStructuralAnalysisModel=Ly;var My=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A){var d;return b(this,n),(d=t.call(this,e,r,i,a,s,o,l,u,c,f,p)).GlobalId=r,d.OwnerHistory=i,d.Name=a,d.Description=s,d.ObjectType=o,d.PredefinedType=l,d.ActionType=u,d.ActionSource=c,d.Coefficient=f,d.Purpose=p,d.SelfWeightCoefficients=A,d.type=385403989,d}return P(n)}(zv);e.IfcStructuralLoadCase=My;var xy=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A,d){var v;return b(this,n),(v=t.call(this,e,r,i,a,s,o,l,u,c,f,p,A,d)).GlobalId=r,v.OwnerHistory=i,v.Name=a,v.Description=s,v.ObjectType=o,v.ObjectPlacement=l,v.Representation=u,v.AppliedLoad=c,v.GlobalOrLocal=f,v.DestabilizingLoad=p,v.ProjectedOrTrue=A,v.PredefinedType=d,v.type=1621171031,v}return P(n)}(Jv);e.IfcStructuralPlanarAction=xy;var Fy=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=1162798199,p}return P(n)}(GI);e.IfcSwitchingDevice=Fy;var Hy=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=812556717,p}return P(n)}(zI);e.IfcTank=Hy;var Uy=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=3825984169,p}return P(n)}(SI);e.IfcTransformer=Uy;var Gy=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=3026737570,p}return P(n)}(SI);e.IfcTubeBundle=Gy;var ky=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=3179687236,A}return P(n)}(hI);e.IfcUnitaryControlElementType=ky;var jy=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=4292641817,p}return P(n)}(SI);e.IfcUnitaryEquipment=jy;var Vy=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=4207607924,p}return P(n)}(GI);e.IfcValve=Vy;var Qy=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=2391406946,p}return P(n)}(Hh);e.IfcWall=Qy;var Wy=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=4156078855,p}return P(n)}(Qy);e.IfcWallElementedCase=Wy;var zy=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=3512223829,p}return P(n)}(Qy);e.IfcWallStandardCase=zy;var Ky=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=4237592921,p}return P(n)}(KI);e.IfcWasteTerminal=Ky;var Yy=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A,d,v){var h;return b(this,n),(h=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,h.OwnerHistory=i,h.Name=a,h.Description=s,h.ObjectType=o,h.ObjectPlacement=l,h.Representation=u,h.Tag=c,h.OverallHeight=f,h.OverallWidth=p,h.PredefinedType=A,h.PartitioningType=d,h.UserDefinedPartitioningType=v,h.type=3304561284,h}return P(n)}(Hh);e.IfcWindow=Yy;var Xy=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A,d,v){var h;return b(this,n),(h=t.call(this,e,r,i,a,s,o,l,u,c,f,p,A,d,v)).GlobalId=r,h.OwnerHistory=i,h.Name=a,h.Description=s,h.ObjectType=o,h.ObjectPlacement=l,h.Representation=u,h.Tag=c,h.OverallHeight=f,h.OverallWidth=p,h.PredefinedType=A,h.PartitioningType=d,h.UserDefinedPartitioningType=v,h.type=486154966,h}return P(n)}(Yy);e.IfcWindowStandardCase=Xy;var qy=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=2874132201,A}return P(n)}(hI);e.IfcActuatorType=qy;var Jy=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=1634111441,p}return P(n)}(KI);e.IfcAirTerminal=Jy;var Zy=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=177149247,p}return P(n)}(GI);e.IfcAirTerminalBox=Zy;var $y=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=2056796094,p}return P(n)}(SI);e.IfcAirToAirHeatRecovery=$y;var em=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=3001207471,A}return P(n)}(hI);e.IfcAlarmType=em;var tm=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=277319702,p}return P(n)}(KI);e.IfcAudioVisualAppliance=tm;var nm=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=753842376,p}return P(n)}(Hh);e.IfcBeam=nm;var rm=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=2906023776,p}return P(n)}(nm);e.IfcBeamStandardCase=rm;var im=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=32344328,p}return P(n)}(SI);e.IfcBoiler=im;var am=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=2938176219,p}return P(n)}(SI);e.IfcBurner=am;var sm=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=635142910,p}return P(n)}(kI);e.IfcCableCarrierFitting=sm;var om=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=3758799889,p}return P(n)}(WI);e.IfcCableCarrierSegment=om;var lm=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=1051757585,p}return P(n)}(kI);e.IfcCableFitting=lm;var um=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=4217484030,p}return P(n)}(WI);e.IfcCableSegment=um;var cm=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=3902619387,p}return P(n)}(SI);e.IfcChiller=cm;var fm=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=639361253,p}return P(n)}(SI);e.IfcCoil=fm;var pm=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=3221913625,p}return P(n)}(KI);e.IfcCommunicationsAppliance=pm;var Am=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=3571504051,p}return P(n)}(QI);e.IfcCompressor=Am;var dm=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=2272882330,p}return P(n)}(SI);e.IfcCondenser=dm;var vm=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=578613899,A}return P(n)}(hI);e.IfcControllerType=vm;var hm=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=4136498852,p}return P(n)}(SI);e.IfcCooledBeam=hm;var Im=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=3640358203,p}return P(n)}(SI);e.IfcCoolingTower=Im;var ym=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=4074379575,p}return P(n)}(GI);e.IfcDamper=ym;var mm=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=1052013943,p}return P(n)}(yI);e.IfcDistributionChamberElement=mm;var wm=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u){var c;return b(this,n),(c=t.call(this,e,r,i,a,s,o,l,u)).GlobalId=r,c.OwnerHistory=i,c.Name=a,c.Description=s,c.ObjectType=o,c.LongName=l,c.PredefinedType=u,c.type=562808652,c}return P(n)}(wI);e.IfcDistributionCircuit=wm;var gm=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,f.OwnerHistory=i,f.Name=a,f.Description=s,f.ObjectType=o,f.ObjectPlacement=l,f.Representation=u,f.Tag=c,f.type=1062813311,f}return P(n)}(II);e.IfcDistributionControlElement=gm;var Em=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=342316401,p}return P(n)}(kI);e.IfcDuctFitting=Em;var Tm=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=3518393246,p}return P(n)}(WI);e.IfcDuctSegment=Tm;var bm=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=1360408905,p}return P(n)}(YI);e.IfcDuctSilencer=bm;var Dm=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=1904799276,p}return P(n)}(KI);e.IfcElectricAppliance=Dm;var Pm=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=862014818,p}return P(n)}(GI);e.IfcElectricDistributionBoard=Pm;var Rm=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=3310460725,p}return P(n)}(zI);e.IfcElectricFlowStorageDevice=Rm;var Cm=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=264262732,p}return P(n)}(SI);e.IfcElectricGenerator=Cm;var _m=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=402227799,p}return P(n)}(SI);e.IfcElectricMotor=_m;var Bm=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=1003880860,p}return P(n)}(GI);e.IfcElectricTimeControl=Bm;var Om=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=3415622556,p}return P(n)}(QI);e.IfcFan=Om;var Sm=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=819412036,p}return P(n)}(YI);e.IfcFilter=Sm;var Nm=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=1426591983,p}return P(n)}(KI);e.IfcFireSuppressionTerminal=Nm;var Lm=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=182646315,p}return P(n)}(gm);e.IfcFlowInstrument=Lm;var Mm=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=2295281155,p}return P(n)}(gm);e.IfcProtectiveDeviceTrippingUnit=Mm;var xm=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=4086658281,p}return P(n)}(gm);e.IfcSensor=xm;var Fm=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=630975310,p}return P(n)}(gm);e.IfcUnitaryControlElement=Fm;var Hm=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=4288193352,p}return P(n)}(gm);e.IfcActuator=Hm;var Um=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=3087945054,p}return P(n)}(gm);e.IfcAlarm=Um;var Gm=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=25142252,p}return P(n)}(gm);e.IfcController=Gm}(e_||(e_={})),z_[3]="IFC4X3",G_[3]={3630933823:function(e,t){return new t_.IfcActorRole(e,t[0],t[1]?new t_.IfcLabel(t[1].value):null,t[2]?new t_.IfcText(t[2].value):null)},618182010:function(e,t){return new t_.IfcAddress(e,t[0],t[1]?new t_.IfcText(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null)},2879124712:function(e,t){return new t_.IfcAlignmentParameterSegment(e,t[0]?new t_.IfcLabel(t[0].value):null,t[1]?new t_.IfcLabel(t[1].value):null)},3633395639:function(e,t){return new t_.IfcAlignmentVerticalSegment(e,t[0]?new t_.IfcLabel(t[0].value):null,t[1]?new t_.IfcLabel(t[1].value):null,new t_.IfcLengthMeasure(t[2].value),new t_.IfcNonNegativeLengthMeasure(t[3].value),new t_.IfcLengthMeasure(t[4].value),new t_.IfcRatioMeasure(t[5].value),new t_.IfcRatioMeasure(t[6].value),t[7]?new t_.IfcLengthMeasure(t[7].value):null,t[8])},639542469:function(e,t){return new t_.IfcApplication(e,new H_(t[0].value),new t_.IfcLabel(t[1].value),new t_.IfcLabel(t[2].value),new t_.IfcIdentifier(t[3].value))},411424972:function(e,t){return new t_.IfcAppliedValue(e,t[0]?new t_.IfcLabel(t[0].value):null,t[1]?new t_.IfcText(t[1].value):null,t[2]?new H_(t[2].value):null,t[3]?new H_(t[3].value):null,t[4]?new t_.IfcDate(t[4].value):null,t[5]?new t_.IfcDate(t[5].value):null,t[6]?new t_.IfcLabel(t[6].value):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8],t[9]?t[9].map((function(e){return new H_(e.value)})):null)},130549933:function(e,t){return new t_.IfcApproval(e,t[0]?new t_.IfcIdentifier(t[0].value):null,t[1]?new t_.IfcLabel(t[1].value):null,t[2]?new t_.IfcText(t[2].value):null,t[3]?new t_.IfcDateTime(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new t_.IfcLabel(t[5].value):null,t[6]?new t_.IfcText(t[6].value):null,t[7]?new H_(t[7].value):null,t[8]?new H_(t[8].value):null)},4037036970:function(e,t){return new t_.IfcBoundaryCondition(e,t[0]?new t_.IfcLabel(t[0].value):null)},1560379544:function(e,t){return new t_.IfcBoundaryEdgeCondition(e,t[0]?new t_.IfcLabel(t[0].value):null,t[1]?K_(3,t[1]):null,t[2]?K_(3,t[2]):null,t[3]?K_(3,t[3]):null,t[4]?K_(3,t[4]):null,t[5]?K_(3,t[5]):null,t[6]?K_(3,t[6]):null)},3367102660:function(e,t){return new t_.IfcBoundaryFaceCondition(e,t[0]?new t_.IfcLabel(t[0].value):null,t[1]?K_(3,t[1]):null,t[2]?K_(3,t[2]):null,t[3]?K_(3,t[3]):null)},1387855156:function(e,t){return new t_.IfcBoundaryNodeCondition(e,t[0]?new t_.IfcLabel(t[0].value):null,t[1]?K_(3,t[1]):null,t[2]?K_(3,t[2]):null,t[3]?K_(3,t[3]):null,t[4]?K_(3,t[4]):null,t[5]?K_(3,t[5]):null,t[6]?K_(3,t[6]):null)},2069777674:function(e,t){return new t_.IfcBoundaryNodeConditionWarping(e,t[0]?new t_.IfcLabel(t[0].value):null,t[1]?K_(3,t[1]):null,t[2]?K_(3,t[2]):null,t[3]?K_(3,t[3]):null,t[4]?K_(3,t[4]):null,t[5]?K_(3,t[5]):null,t[6]?K_(3,t[6]):null,t[7]?K_(3,t[7]):null)},2859738748:function(e,t){return new t_.IfcConnectionGeometry(e)},2614616156:function(e,t){return new t_.IfcConnectionPointGeometry(e,new H_(t[0].value),t[1]?new H_(t[1].value):null)},2732653382:function(e,t){return new t_.IfcConnectionSurfaceGeometry(e,new H_(t[0].value),t[1]?new H_(t[1].value):null)},775493141:function(e,t){return new t_.IfcConnectionVolumeGeometry(e,new H_(t[0].value),t[1]?new H_(t[1].value):null)},1959218052:function(e,t){return new t_.IfcConstraint(e,new t_.IfcLabel(t[0].value),t[1]?new t_.IfcText(t[1].value):null,t[2],t[3]?new t_.IfcLabel(t[3].value):null,t[4]?new H_(t[4].value):null,t[5]?new t_.IfcDateTime(t[5].value):null,t[6]?new t_.IfcLabel(t[6].value):null)},1785450214:function(e,t){return new t_.IfcCoordinateOperation(e,new H_(t[0].value),new H_(t[1].value))},1466758467:function(e,t){return new t_.IfcCoordinateReferenceSystem(e,new t_.IfcLabel(t[0].value),t[1]?new t_.IfcText(t[1].value):null,t[2]?new t_.IfcIdentifier(t[2].value):null,t[3]?new t_.IfcIdentifier(t[3].value):null)},602808272:function(e,t){return new t_.IfcCostValue(e,t[0]?new t_.IfcLabel(t[0].value):null,t[1]?new t_.IfcText(t[1].value):null,t[2]?new H_(t[2].value):null,t[3]?new H_(t[3].value):null,t[4]?new t_.IfcDate(t[4].value):null,t[5]?new t_.IfcDate(t[5].value):null,t[6]?new t_.IfcLabel(t[6].value):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8],t[9]?t[9].map((function(e){return new H_(e.value)})):null)},1765591967:function(e,t){return new t_.IfcDerivedUnit(e,t[0].map((function(e){return new H_(e.value)})),t[1],t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcLabel(t[3].value):null)},1045800335:function(e,t){return new t_.IfcDerivedUnitElement(e,new H_(t[0].value),t[1].value)},2949456006:function(e,t){return new t_.IfcDimensionalExponents(e,t[0].value,t[1].value,t[2].value,t[3].value,t[4].value,t[5].value,t[6].value)},4294318154:function(e,t){return new t_.IfcExternalInformation(e)},3200245327:function(e,t){return new t_.IfcExternalReference(e,t[0]?new t_.IfcURIReference(t[0].value):null,t[1]?new t_.IfcIdentifier(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null)},2242383968:function(e,t){return new t_.IfcExternallyDefinedHatchStyle(e,t[0]?new t_.IfcURIReference(t[0].value):null,t[1]?new t_.IfcIdentifier(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null)},1040185647:function(e,t){return new t_.IfcExternallyDefinedSurfaceStyle(e,t[0]?new t_.IfcURIReference(t[0].value):null,t[1]?new t_.IfcIdentifier(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null)},3548104201:function(e,t){return new t_.IfcExternallyDefinedTextFont(e,t[0]?new t_.IfcURIReference(t[0].value):null,t[1]?new t_.IfcIdentifier(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null)},852622518:function(e,t){return new t_.IfcGridAxis(e,t[0]?new t_.IfcLabel(t[0].value):null,new H_(t[1].value),new t_.IfcBoolean(t[2].value))},3020489413:function(e,t){return new t_.IfcIrregularTimeSeriesValue(e,new t_.IfcDateTime(t[0].value),t[1].map((function(e){return K_(3,e)})))},2655187982:function(e,t){return new t_.IfcLibraryInformation(e,new t_.IfcLabel(t[0].value),t[1]?new t_.IfcLabel(t[1].value):null,t[2]?new H_(t[2].value):null,t[3]?new t_.IfcDateTime(t[3].value):null,t[4]?new t_.IfcURIReference(t[4].value):null,t[5]?new t_.IfcText(t[5].value):null)},3452421091:function(e,t){return new t_.IfcLibraryReference(e,t[0]?new t_.IfcURIReference(t[0].value):null,t[1]?new t_.IfcIdentifier(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLanguageId(t[4].value):null,t[5]?new H_(t[5].value):null)},4162380809:function(e,t){return new t_.IfcLightDistributionData(e,new t_.IfcPlaneAngleMeasure(t[0].value),t[1].map((function(e){return new t_.IfcPlaneAngleMeasure(e.value)})),t[2].map((function(e){return new t_.IfcLuminousIntensityDistributionMeasure(e.value)})))},1566485204:function(e,t){return new t_.IfcLightIntensityDistribution(e,t[0],t[1].map((function(e){return new H_(e.value)})))},3057273783:function(e,t){return new t_.IfcMapConversion(e,new H_(t[0].value),new H_(t[1].value),new t_.IfcLengthMeasure(t[2].value),new t_.IfcLengthMeasure(t[3].value),new t_.IfcLengthMeasure(t[4].value),t[5]?new t_.IfcReal(t[5].value):null,t[6]?new t_.IfcReal(t[6].value):null,t[7]?new t_.IfcReal(t[7].value):null,t[8]?new t_.IfcReal(t[8].value):null,t[9]?new t_.IfcReal(t[9].value):null)},1847130766:function(e,t){return new t_.IfcMaterialClassificationRelationship(e,t[0].map((function(e){return new H_(e.value)})),new H_(t[1].value))},760658860:function(e,t){return new t_.IfcMaterialDefinition(e)},248100487:function(e,t){return new t_.IfcMaterialLayer(e,t[0]?new H_(t[0].value):null,new t_.IfcNonNegativeLengthMeasure(t[1].value),t[2]?new t_.IfcLogical(t[2].value):null,t[3]?new t_.IfcLabel(t[3].value):null,t[4]?new t_.IfcText(t[4].value):null,t[5]?new t_.IfcLabel(t[5].value):null,t[6]?new t_.IfcInteger(t[6].value):null)},3303938423:function(e,t){return new t_.IfcMaterialLayerSet(e,t[0].map((function(e){return new H_(e.value)})),t[1]?new t_.IfcLabel(t[1].value):null,t[2]?new t_.IfcText(t[2].value):null)},1847252529:function(e,t){return new t_.IfcMaterialLayerWithOffsets(e,t[0]?new H_(t[0].value):null,new t_.IfcNonNegativeLengthMeasure(t[1].value),t[2]?new t_.IfcLogical(t[2].value):null,t[3]?new t_.IfcLabel(t[3].value):null,t[4]?new t_.IfcText(t[4].value):null,t[5]?new t_.IfcLabel(t[5].value):null,t[6]?new t_.IfcInteger(t[6].value):null,t[7],new t_.IfcLengthMeasure(t[8].value))},2199411900:function(e,t){return new t_.IfcMaterialList(e,t[0].map((function(e){return new H_(e.value)})))},2235152071:function(e,t){return new t_.IfcMaterialProfile(e,t[0]?new t_.IfcLabel(t[0].value):null,t[1]?new t_.IfcText(t[1].value):null,t[2]?new H_(t[2].value):null,new H_(t[3].value),t[4]?new t_.IfcInteger(t[4].value):null,t[5]?new t_.IfcLabel(t[5].value):null)},164193824:function(e,t){return new t_.IfcMaterialProfileSet(e,t[0]?new t_.IfcLabel(t[0].value):null,t[1]?new t_.IfcText(t[1].value):null,t[2].map((function(e){return new H_(e.value)})),t[3]?new H_(t[3].value):null)},552965576:function(e,t){return new t_.IfcMaterialProfileWithOffsets(e,t[0]?new t_.IfcLabel(t[0].value):null,t[1]?new t_.IfcText(t[1].value):null,t[2]?new H_(t[2].value):null,new H_(t[3].value),t[4]?new t_.IfcInteger(t[4].value):null,t[5]?new t_.IfcLabel(t[5].value):null,new t_.IfcLengthMeasure(t[6].value))},1507914824:function(e,t){return new t_.IfcMaterialUsageDefinition(e)},2597039031:function(e,t){return new t_.IfcMeasureWithUnit(e,K_(3,t[0]),new H_(t[1].value))},3368373690:function(e,t){return new t_.IfcMetric(e,new t_.IfcLabel(t[0].value),t[1]?new t_.IfcText(t[1].value):null,t[2],t[3]?new t_.IfcLabel(t[3].value):null,t[4]?new H_(t[4].value):null,t[5]?new t_.IfcDateTime(t[5].value):null,t[6]?new t_.IfcLabel(t[6].value):null,t[7],t[8]?new t_.IfcLabel(t[8].value):null,t[9]?new H_(t[9].value):null,t[10]?new H_(t[10].value):null)},2706619895:function(e,t){return new t_.IfcMonetaryUnit(e,new t_.IfcLabel(t[0].value))},1918398963:function(e,t){return new t_.IfcNamedUnit(e,new H_(t[0].value),t[1])},3701648758:function(e,t){return new t_.IfcObjectPlacement(e,t[0]?new H_(t[0].value):null)},2251480897:function(e,t){return new t_.IfcObjective(e,new t_.IfcLabel(t[0].value),t[1]?new t_.IfcText(t[1].value):null,t[2],t[3]?new t_.IfcLabel(t[3].value):null,t[4]?new H_(t[4].value):null,t[5]?new t_.IfcDateTime(t[5].value):null,t[6]?new t_.IfcLabel(t[6].value):null,t[7]?t[7].map((function(e){return new H_(e.value)})):null,t[8],t[9],t[10]?new t_.IfcLabel(t[10].value):null)},4251960020:function(e,t){return new t_.IfcOrganization(e,t[0]?new t_.IfcIdentifier(t[0].value):null,new t_.IfcLabel(t[1].value),t[2]?new t_.IfcText(t[2].value):null,t[3]?t[3].map((function(e){return new H_(e.value)})):null,t[4]?t[4].map((function(e){return new H_(e.value)})):null)},1207048766:function(e,t){return new t_.IfcOwnerHistory(e,new H_(t[0].value),new H_(t[1].value),t[2],t[3],t[4]?new t_.IfcTimeStamp(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,new t_.IfcTimeStamp(t[7].value))},2077209135:function(e,t){return new t_.IfcPerson(e,t[0]?new t_.IfcIdentifier(t[0].value):null,t[1]?new t_.IfcLabel(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?t[3].map((function(e){return new t_.IfcLabel(e.value)})):null,t[4]?t[4].map((function(e){return new t_.IfcLabel(e.value)})):null,t[5]?t[5].map((function(e){return new t_.IfcLabel(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?t[7].map((function(e){return new H_(e.value)})):null)},101040310:function(e,t){return new t_.IfcPersonAndOrganization(e,new H_(t[0].value),new H_(t[1].value),t[2]?t[2].map((function(e){return new H_(e.value)})):null)},2483315170:function(e,t){return new t_.IfcPhysicalQuantity(e,new t_.IfcLabel(t[0].value),t[1]?new t_.IfcText(t[1].value):null)},2226359599:function(e,t){return new t_.IfcPhysicalSimpleQuantity(e,new t_.IfcLabel(t[0].value),t[1]?new t_.IfcText(t[1].value):null,t[2]?new H_(t[2].value):null)},3355820592:function(e,t){return new t_.IfcPostalAddress(e,t[0],t[1]?new t_.IfcText(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcLabel(t[3].value):null,t[4]?t[4].map((function(e){return new t_.IfcLabel(e.value)})):null,t[5]?new t_.IfcLabel(t[5].value):null,t[6]?new t_.IfcLabel(t[6].value):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9]?new t_.IfcLabel(t[9].value):null)},677532197:function(e,t){return new t_.IfcPresentationItem(e)},2022622350:function(e,t){return new t_.IfcPresentationLayerAssignment(e,new t_.IfcLabel(t[0].value),t[1]?new t_.IfcText(t[1].value):null,t[2].map((function(e){return new H_(e.value)})),t[3]?new t_.IfcIdentifier(t[3].value):null)},1304840413:function(e,t){return new t_.IfcPresentationLayerWithStyle(e,new t_.IfcLabel(t[0].value),t[1]?new t_.IfcText(t[1].value):null,t[2].map((function(e){return new H_(e.value)})),t[3]?new t_.IfcIdentifier(t[3].value):null,new t_.IfcLogical(t[4].value),new t_.IfcLogical(t[5].value),new t_.IfcLogical(t[6].value),t[7]?t[7].map((function(e){return new H_(e.value)})):null)},3119450353:function(e,t){return new t_.IfcPresentationStyle(e,t[0]?new t_.IfcLabel(t[0].value):null)},2095639259:function(e,t){return new t_.IfcProductRepresentation(e,t[0]?new t_.IfcLabel(t[0].value):null,t[1]?new t_.IfcText(t[1].value):null,t[2].map((function(e){return new H_(e.value)})))},3958567839:function(e,t){return new t_.IfcProfileDef(e,t[0],t[1]?new t_.IfcLabel(t[1].value):null)},3843373140:function(e,t){return new t_.IfcProjectedCRS(e,new t_.IfcLabel(t[0].value),t[1]?new t_.IfcText(t[1].value):null,t[2]?new t_.IfcIdentifier(t[2].value):null,t[3]?new t_.IfcIdentifier(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?new t_.IfcIdentifier(t[5].value):null,t[6]?new H_(t[6].value):null)},986844984:function(e,t){return new t_.IfcPropertyAbstraction(e)},3710013099:function(e,t){return new t_.IfcPropertyEnumeration(e,new t_.IfcLabel(t[0].value),t[1].map((function(e){return K_(3,e)})),t[2]?new H_(t[2].value):null)},2044713172:function(e,t){return new t_.IfcQuantityArea(e,new t_.IfcLabel(t[0].value),t[1]?new t_.IfcText(t[1].value):null,t[2]?new H_(t[2].value):null,new t_.IfcAreaMeasure(t[3].value),t[4]?new t_.IfcLabel(t[4].value):null)},2093928680:function(e,t){return new t_.IfcQuantityCount(e,new t_.IfcLabel(t[0].value),t[1]?new t_.IfcText(t[1].value):null,t[2]?new H_(t[2].value):null,new t_.IfcCountMeasure(t[3].value),t[4]?new t_.IfcLabel(t[4].value):null)},931644368:function(e,t){return new t_.IfcQuantityLength(e,new t_.IfcLabel(t[0].value),t[1]?new t_.IfcText(t[1].value):null,t[2]?new H_(t[2].value):null,new t_.IfcLengthMeasure(t[3].value),t[4]?new t_.IfcLabel(t[4].value):null)},2691318326:function(e,t){return new t_.IfcQuantityNumber(e,new t_.IfcLabel(t[0].value),t[1]?new t_.IfcText(t[1].value):null,t[2]?new H_(t[2].value):null,new t_.IfcNumericMeasure(t[3].value),t[4]?new t_.IfcLabel(t[4].value):null)},3252649465:function(e,t){return new t_.IfcQuantityTime(e,new t_.IfcLabel(t[0].value),t[1]?new t_.IfcText(t[1].value):null,t[2]?new H_(t[2].value):null,new t_.IfcTimeMeasure(t[3].value),t[4]?new t_.IfcLabel(t[4].value):null)},2405470396:function(e,t){return new t_.IfcQuantityVolume(e,new t_.IfcLabel(t[0].value),t[1]?new t_.IfcText(t[1].value):null,t[2]?new H_(t[2].value):null,new t_.IfcVolumeMeasure(t[3].value),t[4]?new t_.IfcLabel(t[4].value):null)},825690147:function(e,t){return new t_.IfcQuantityWeight(e,new t_.IfcLabel(t[0].value),t[1]?new t_.IfcText(t[1].value):null,t[2]?new H_(t[2].value):null,new t_.IfcMassMeasure(t[3].value),t[4]?new t_.IfcLabel(t[4].value):null)},3915482550:function(e,t){return new t_.IfcRecurrencePattern(e,t[0],t[1]?t[1].map((function(e){return new t_.IfcDayInMonthNumber(e.value)})):null,t[2]?t[2].map((function(e){return new t_.IfcDayInWeekNumber(e.value)})):null,t[3]?t[3].map((function(e){return new t_.IfcMonthInYearNumber(e.value)})):null,t[4]?new t_.IfcInteger(t[4].value):null,t[5]?new t_.IfcInteger(t[5].value):null,t[6]?new t_.IfcInteger(t[6].value):null,t[7]?t[7].map((function(e){return new H_(e.value)})):null)},2433181523:function(e,t){return new t_.IfcReference(e,t[0]?new t_.IfcIdentifier(t[0].value):null,t[1]?new t_.IfcIdentifier(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?t[3].map((function(e){return new t_.IfcInteger(e.value)})):null,t[4]?new H_(t[4].value):null)},1076942058:function(e,t){return new t_.IfcRepresentation(e,new H_(t[0].value),t[1]?new t_.IfcLabel(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3].map((function(e){return new H_(e.value)})))},3377609919:function(e,t){return new t_.IfcRepresentationContext(e,t[0]?new t_.IfcLabel(t[0].value):null,t[1]?new t_.IfcLabel(t[1].value):null)},3008791417:function(e,t){return new t_.IfcRepresentationItem(e)},1660063152:function(e,t){return new t_.IfcRepresentationMap(e,new H_(t[0].value),new H_(t[1].value))},2439245199:function(e,t){return new t_.IfcResourceLevelRelationship(e,t[0]?new t_.IfcLabel(t[0].value):null,t[1]?new t_.IfcText(t[1].value):null)},2341007311:function(e,t){return new t_.IfcRoot(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null)},448429030:function(e,t){return new t_.IfcSIUnit(e,new H_(t[0].value),t[1],t[2],t[3])},1054537805:function(e,t){return new t_.IfcSchedulingTime(e,t[0]?new t_.IfcLabel(t[0].value):null,t[1],t[2]?new t_.IfcLabel(t[2].value):null)},867548509:function(e,t){return new t_.IfcShapeAspect(e,t[0].map((function(e){return new H_(e.value)})),t[1]?new t_.IfcLabel(t[1].value):null,t[2]?new t_.IfcText(t[2].value):null,new t_.IfcLogical(t[3].value),t[4]?new H_(t[4].value):null)},3982875396:function(e,t){return new t_.IfcShapeModel(e,new H_(t[0].value),t[1]?new t_.IfcLabel(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3].map((function(e){return new H_(e.value)})))},4240577450:function(e,t){return new t_.IfcShapeRepresentation(e,new H_(t[0].value),t[1]?new t_.IfcLabel(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3].map((function(e){return new H_(e.value)})))},2273995522:function(e,t){return new t_.IfcStructuralConnectionCondition(e,t[0]?new t_.IfcLabel(t[0].value):null)},2162789131:function(e,t){return new t_.IfcStructuralLoad(e,t[0]?new t_.IfcLabel(t[0].value):null)},3478079324:function(e,t){return new t_.IfcStructuralLoadConfiguration(e,t[0]?new t_.IfcLabel(t[0].value):null,t[1].map((function(e){return new H_(e.value)})),t[2]?t[2].map((function(e){return new t_.IfcLengthMeasure(e.value)})):null)},609421318:function(e,t){return new t_.IfcStructuralLoadOrResult(e,t[0]?new t_.IfcLabel(t[0].value):null)},2525727697:function(e,t){return new t_.IfcStructuralLoadStatic(e,t[0]?new t_.IfcLabel(t[0].value):null)},3408363356:function(e,t){return new t_.IfcStructuralLoadTemperature(e,t[0]?new t_.IfcLabel(t[0].value):null,t[1]?new t_.IfcThermodynamicTemperatureMeasure(t[1].value):null,t[2]?new t_.IfcThermodynamicTemperatureMeasure(t[2].value):null,t[3]?new t_.IfcThermodynamicTemperatureMeasure(t[3].value):null)},2830218821:function(e,t){return new t_.IfcStyleModel(e,new H_(t[0].value),t[1]?new t_.IfcLabel(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3].map((function(e){return new H_(e.value)})))},3958052878:function(e,t){return new t_.IfcStyledItem(e,t[0]?new H_(t[0].value):null,t[1].map((function(e){return new H_(e.value)})),t[2]?new t_.IfcLabel(t[2].value):null)},3049322572:function(e,t){return new t_.IfcStyledRepresentation(e,new H_(t[0].value),t[1]?new t_.IfcLabel(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3].map((function(e){return new H_(e.value)})))},2934153892:function(e,t){return new t_.IfcSurfaceReinforcementArea(e,t[0]?new t_.IfcLabel(t[0].value):null,t[1]?t[1].map((function(e){return new t_.IfcLengthMeasure(e.value)})):null,t[2]?t[2].map((function(e){return new t_.IfcLengthMeasure(e.value)})):null,t[3]?new t_.IfcRatioMeasure(t[3].value):null)},1300840506:function(e,t){return new t_.IfcSurfaceStyle(e,t[0]?new t_.IfcLabel(t[0].value):null,t[1],t[2].map((function(e){return new H_(e.value)})))},3303107099:function(e,t){return new t_.IfcSurfaceStyleLighting(e,new H_(t[0].value),new H_(t[1].value),new H_(t[2].value),new H_(t[3].value))},1607154358:function(e,t){return new t_.IfcSurfaceStyleRefraction(e,t[0]?new t_.IfcReal(t[0].value):null,t[1]?new t_.IfcReal(t[1].value):null)},846575682:function(e,t){return new t_.IfcSurfaceStyleShading(e,new H_(t[0].value),t[1]?new t_.IfcNormalisedRatioMeasure(t[1].value):null)},1351298697:function(e,t){return new t_.IfcSurfaceStyleWithTextures(e,t[0].map((function(e){return new H_(e.value)})))},626085974:function(e,t){return new t_.IfcSurfaceTexture(e,new t_.IfcBoolean(t[0].value),new t_.IfcBoolean(t[1].value),t[2]?new t_.IfcIdentifier(t[2].value):null,t[3]?new H_(t[3].value):null,t[4]?t[4].map((function(e){return new t_.IfcIdentifier(e.value)})):null)},985171141:function(e,t){return new t_.IfcTable(e,t[0]?new t_.IfcLabel(t[0].value):null,t[1]?t[1].map((function(e){return new H_(e.value)})):null,t[2]?t[2].map((function(e){return new H_(e.value)})):null)},2043862942:function(e,t){return new t_.IfcTableColumn(e,t[0]?new t_.IfcIdentifier(t[0].value):null,t[1]?new t_.IfcLabel(t[1].value):null,t[2]?new t_.IfcText(t[2].value):null,t[3]?new H_(t[3].value):null,t[4]?new H_(t[4].value):null)},531007025:function(e,t){return new t_.IfcTableRow(e,t[0]?t[0].map((function(e){return K_(3,e)})):null,t[1]?new t_.IfcBoolean(t[1].value):null)},1549132990:function(e,t){return new t_.IfcTaskTime(e,t[0]?new t_.IfcLabel(t[0].value):null,t[1],t[2]?new t_.IfcLabel(t[2].value):null,t[3],t[4]?new t_.IfcDuration(t[4].value):null,t[5]?new t_.IfcDateTime(t[5].value):null,t[6]?new t_.IfcDateTime(t[6].value):null,t[7]?new t_.IfcDateTime(t[7].value):null,t[8]?new t_.IfcDateTime(t[8].value):null,t[9]?new t_.IfcDateTime(t[9].value):null,t[10]?new t_.IfcDateTime(t[10].value):null,t[11]?new t_.IfcDuration(t[11].value):null,t[12]?new t_.IfcDuration(t[12].value):null,t[13]?new t_.IfcBoolean(t[13].value):null,t[14]?new t_.IfcDateTime(t[14].value):null,t[15]?new t_.IfcDuration(t[15].value):null,t[16]?new t_.IfcDateTime(t[16].value):null,t[17]?new t_.IfcDateTime(t[17].value):null,t[18]?new t_.IfcDuration(t[18].value):null,t[19]?new t_.IfcPositiveRatioMeasure(t[19].value):null)},2771591690:function(e,t){return new t_.IfcTaskTimeRecurring(e,t[0]?new t_.IfcLabel(t[0].value):null,t[1],t[2]?new t_.IfcLabel(t[2].value):null,t[3],t[4]?new t_.IfcDuration(t[4].value):null,t[5]?new t_.IfcDateTime(t[5].value):null,t[6]?new t_.IfcDateTime(t[6].value):null,t[7]?new t_.IfcDateTime(t[7].value):null,t[8]?new t_.IfcDateTime(t[8].value):null,t[9]?new t_.IfcDateTime(t[9].value):null,t[10]?new t_.IfcDateTime(t[10].value):null,t[11]?new t_.IfcDuration(t[11].value):null,t[12]?new t_.IfcDuration(t[12].value):null,t[13]?new t_.IfcBoolean(t[13].value):null,t[14]?new t_.IfcDateTime(t[14].value):null,t[15]?new t_.IfcDuration(t[15].value):null,t[16]?new t_.IfcDateTime(t[16].value):null,t[17]?new t_.IfcDateTime(t[17].value):null,t[18]?new t_.IfcDuration(t[18].value):null,t[19]?new t_.IfcPositiveRatioMeasure(t[19].value):null,new H_(t[20].value))},912023232:function(e,t){return new t_.IfcTelecomAddress(e,t[0],t[1]?new t_.IfcText(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?t[3].map((function(e){return new t_.IfcLabel(e.value)})):null,t[4]?t[4].map((function(e){return new t_.IfcLabel(e.value)})):null,t[5]?new t_.IfcLabel(t[5].value):null,t[6]?t[6].map((function(e){return new t_.IfcLabel(e.value)})):null,t[7]?new t_.IfcURIReference(t[7].value):null,t[8]?t[8].map((function(e){return new t_.IfcURIReference(e.value)})):null)},1447204868:function(e,t){return new t_.IfcTextStyle(e,t[0]?new t_.IfcLabel(t[0].value):null,t[1]?new H_(t[1].value):null,t[2]?new H_(t[2].value):null,new H_(t[3].value),t[4]?new t_.IfcBoolean(t[4].value):null)},2636378356:function(e,t){return new t_.IfcTextStyleForDefinedFont(e,new H_(t[0].value),t[1]?new H_(t[1].value):null)},1640371178:function(e,t){return new t_.IfcTextStyleTextModel(e,t[0]?K_(3,t[0]):null,t[1]?new t_.IfcTextAlignment(t[1].value):null,t[2]?new t_.IfcTextDecoration(t[2].value):null,t[3]?K_(3,t[3]):null,t[4]?K_(3,t[4]):null,t[5]?new t_.IfcTextTransformation(t[5].value):null,t[6]?K_(3,t[6]):null)},280115917:function(e,t){return new t_.IfcTextureCoordinate(e,t[0].map((function(e){return new H_(e.value)})))},1742049831:function(e,t){return new t_.IfcTextureCoordinateGenerator(e,t[0].map((function(e){return new H_(e.value)})),new t_.IfcLabel(t[1].value),t[2]?t[2].map((function(e){return new t_.IfcReal(e.value)})):null)},222769930:function(e,t){return new t_.IfcTextureCoordinateIndices(e,t[0].map((function(e){return new t_.IfcPositiveInteger(e.value)})),new H_(t[1].value))},1010789467:function(e,t){return new t_.IfcTextureCoordinateIndicesWithVoids(e,t[0].map((function(e){return new t_.IfcPositiveInteger(e.value)})),new H_(t[1].value),t[2].map((function(e){return new t_.IfcPositiveInteger(e.value)})))},2552916305:function(e,t){return new t_.IfcTextureMap(e,t[0].map((function(e){return new H_(e.value)})),t[1].map((function(e){return new H_(e.value)})),new H_(t[2].value))},1210645708:function(e,t){return new t_.IfcTextureVertex(e,t[0].map((function(e){return new t_.IfcParameterValue(e.value)})))},3611470254:function(e,t){return new t_.IfcTextureVertexList(e,t[0].map((function(e){return new t_.IfcParameterValue(e.value)})))},1199560280:function(e,t){return new t_.IfcTimePeriod(e,new t_.IfcTime(t[0].value),new t_.IfcTime(t[1].value))},3101149627:function(e,t){return new t_.IfcTimeSeries(e,new t_.IfcLabel(t[0].value),t[1]?new t_.IfcText(t[1].value):null,new t_.IfcDateTime(t[2].value),new t_.IfcDateTime(t[3].value),t[4],t[5],t[6]?new t_.IfcLabel(t[6].value):null,t[7]?new H_(t[7].value):null)},581633288:function(e,t){return new t_.IfcTimeSeriesValue(e,t[0].map((function(e){return K_(3,e)})))},1377556343:function(e,t){return new t_.IfcTopologicalRepresentationItem(e)},1735638870:function(e,t){return new t_.IfcTopologyRepresentation(e,new H_(t[0].value),t[1]?new t_.IfcLabel(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3].map((function(e){return new H_(e.value)})))},180925521:function(e,t){return new t_.IfcUnitAssignment(e,t[0].map((function(e){return new H_(e.value)})))},2799835756:function(e,t){return new t_.IfcVertex(e)},1907098498:function(e,t){return new t_.IfcVertexPoint(e,new H_(t[0].value))},891718957:function(e,t){return new t_.IfcVirtualGridIntersection(e,t[0].map((function(e){return new H_(e.value)})),t[1].map((function(e){return new t_.IfcLengthMeasure(e.value)})))},1236880293:function(e,t){return new t_.IfcWorkTime(e,t[0]?new t_.IfcLabel(t[0].value):null,t[1],t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new H_(t[3].value):null,t[4]?new t_.IfcDate(t[4].value):null,t[5]?new t_.IfcDate(t[5].value):null)},3752311538:function(e,t){return new t_.IfcAlignmentCantSegment(e,t[0]?new t_.IfcLabel(t[0].value):null,t[1]?new t_.IfcLabel(t[1].value):null,new t_.IfcLengthMeasure(t[2].value),new t_.IfcNonNegativeLengthMeasure(t[3].value),new t_.IfcLengthMeasure(t[4].value),t[5]?new t_.IfcLengthMeasure(t[5].value):null,new t_.IfcLengthMeasure(t[6].value),t[7]?new t_.IfcLengthMeasure(t[7].value):null,t[8])},536804194:function(e,t){return new t_.IfcAlignmentHorizontalSegment(e,t[0]?new t_.IfcLabel(t[0].value):null,t[1]?new t_.IfcLabel(t[1].value):null,new H_(t[2].value),new t_.IfcPlaneAngleMeasure(t[3].value),new t_.IfcLengthMeasure(t[4].value),new t_.IfcLengthMeasure(t[5].value),new t_.IfcNonNegativeLengthMeasure(t[6].value),t[7]?new t_.IfcPositiveLengthMeasure(t[7].value):null,t[8])},3869604511:function(e,t){return new t_.IfcApprovalRelationship(e,t[0]?new t_.IfcLabel(t[0].value):null,t[1]?new t_.IfcText(t[1].value):null,new H_(t[2].value),t[3].map((function(e){return new H_(e.value)})))},3798115385:function(e,t){return new t_.IfcArbitraryClosedProfileDef(e,t[0],t[1]?new t_.IfcLabel(t[1].value):null,new H_(t[2].value))},1310608509:function(e,t){return new t_.IfcArbitraryOpenProfileDef(e,t[0],t[1]?new t_.IfcLabel(t[1].value):null,new H_(t[2].value))},2705031697:function(e,t){return new t_.IfcArbitraryProfileDefWithVoids(e,t[0],t[1]?new t_.IfcLabel(t[1].value):null,new H_(t[2].value),t[3].map((function(e){return new H_(e.value)})))},616511568:function(e,t){return new t_.IfcBlobTexture(e,new t_.IfcBoolean(t[0].value),new t_.IfcBoolean(t[1].value),t[2]?new t_.IfcIdentifier(t[2].value):null,t[3]?new H_(t[3].value):null,t[4]?t[4].map((function(e){return new t_.IfcIdentifier(e.value)})):null,new t_.IfcIdentifier(t[5].value),new t_.IfcBinary(t[6].value))},3150382593:function(e,t){return new t_.IfcCenterLineProfileDef(e,t[0],t[1]?new t_.IfcLabel(t[1].value):null,new H_(t[2].value),new t_.IfcPositiveLengthMeasure(t[3].value))},747523909:function(e,t){return new t_.IfcClassification(e,t[0]?new t_.IfcLabel(t[0].value):null,t[1]?new t_.IfcLabel(t[1].value):null,t[2]?new t_.IfcDate(t[2].value):null,new t_.IfcLabel(t[3].value),t[4]?new t_.IfcText(t[4].value):null,t[5]?new t_.IfcURIReference(t[5].value):null,t[6]?t[6].map((function(e){return new t_.IfcIdentifier(e.value)})):null)},647927063:function(e,t){return new t_.IfcClassificationReference(e,t[0]?new t_.IfcURIReference(t[0].value):null,t[1]?new t_.IfcIdentifier(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new H_(t[3].value):null,t[4]?new t_.IfcText(t[4].value):null,t[5]?new t_.IfcIdentifier(t[5].value):null)},3285139300:function(e,t){return new t_.IfcColourRgbList(e,t[0].map((function(e){return new t_.IfcNormalisedRatioMeasure(e.value)})))},3264961684:function(e,t){return new t_.IfcColourSpecification(e,t[0]?new t_.IfcLabel(t[0].value):null)},1485152156:function(e,t){return new t_.IfcCompositeProfileDef(e,t[0],t[1]?new t_.IfcLabel(t[1].value):null,t[2].map((function(e){return new H_(e.value)})),t[3]?new t_.IfcLabel(t[3].value):null)},370225590:function(e,t){return new t_.IfcConnectedFaceSet(e,t[0].map((function(e){return new H_(e.value)})))},1981873012:function(e,t){return new t_.IfcConnectionCurveGeometry(e,new H_(t[0].value),t[1]?new H_(t[1].value):null)},45288368:function(e,t){return new t_.IfcConnectionPointEccentricity(e,new H_(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLengthMeasure(t[2].value):null,t[3]?new t_.IfcLengthMeasure(t[3].value):null,t[4]?new t_.IfcLengthMeasure(t[4].value):null)},3050246964:function(e,t){return new t_.IfcContextDependentUnit(e,new H_(t[0].value),t[1],new t_.IfcLabel(t[2].value))},2889183280:function(e,t){return new t_.IfcConversionBasedUnit(e,new H_(t[0].value),t[1],new t_.IfcLabel(t[2].value),new H_(t[3].value))},2713554722:function(e,t){return new t_.IfcConversionBasedUnitWithOffset(e,new H_(t[0].value),t[1],new t_.IfcLabel(t[2].value),new H_(t[3].value),new t_.IfcReal(t[4].value))},539742890:function(e,t){return new t_.IfcCurrencyRelationship(e,t[0]?new t_.IfcLabel(t[0].value):null,t[1]?new t_.IfcText(t[1].value):null,new H_(t[2].value),new H_(t[3].value),new t_.IfcPositiveRatioMeasure(t[4].value),t[5]?new t_.IfcDateTime(t[5].value):null,t[6]?new H_(t[6].value):null)},3800577675:function(e,t){return new t_.IfcCurveStyle(e,t[0]?new t_.IfcLabel(t[0].value):null,t[1]?new H_(t[1].value):null,t[2]?K_(3,t[2]):null,t[3]?new H_(t[3].value):null,t[4]?new t_.IfcBoolean(t[4].value):null)},1105321065:function(e,t){return new t_.IfcCurveStyleFont(e,t[0]?new t_.IfcLabel(t[0].value):null,t[1].map((function(e){return new H_(e.value)})))},2367409068:function(e,t){return new t_.IfcCurveStyleFontAndScaling(e,t[0]?new t_.IfcLabel(t[0].value):null,new H_(t[1].value),new t_.IfcPositiveRatioMeasure(t[2].value))},3510044353:function(e,t){return new t_.IfcCurveStyleFontPattern(e,new t_.IfcLengthMeasure(t[0].value),new t_.IfcPositiveLengthMeasure(t[1].value))},3632507154:function(e,t){return new t_.IfcDerivedProfileDef(e,t[0],t[1]?new t_.IfcLabel(t[1].value):null,new H_(t[2].value),new H_(t[3].value),t[4]?new t_.IfcLabel(t[4].value):null)},1154170062:function(e,t){return new t_.IfcDocumentInformation(e,new t_.IfcIdentifier(t[0].value),new t_.IfcLabel(t[1].value),t[2]?new t_.IfcText(t[2].value):null,t[3]?new t_.IfcURIReference(t[3].value):null,t[4]?new t_.IfcText(t[4].value):null,t[5]?new t_.IfcText(t[5].value):null,t[6]?new t_.IfcText(t[6].value):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new H_(t[8].value):null,t[9]?t[9].map((function(e){return new H_(e.value)})):null,t[10]?new t_.IfcDateTime(t[10].value):null,t[11]?new t_.IfcDateTime(t[11].value):null,t[12]?new t_.IfcIdentifier(t[12].value):null,t[13]?new t_.IfcDate(t[13].value):null,t[14]?new t_.IfcDate(t[14].value):null,t[15],t[16])},770865208:function(e,t){return new t_.IfcDocumentInformationRelationship(e,t[0]?new t_.IfcLabel(t[0].value):null,t[1]?new t_.IfcText(t[1].value):null,new H_(t[2].value),t[3].map((function(e){return new H_(e.value)})),t[4]?new t_.IfcLabel(t[4].value):null)},3732053477:function(e,t){return new t_.IfcDocumentReference(e,t[0]?new t_.IfcURIReference(t[0].value):null,t[1]?new t_.IfcIdentifier(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new H_(t[4].value):null)},3900360178:function(e,t){return new t_.IfcEdge(e,new H_(t[0].value),new H_(t[1].value))},476780140:function(e,t){return new t_.IfcEdgeCurve(e,new H_(t[0].value),new H_(t[1].value),new H_(t[2].value),new t_.IfcBoolean(t[3].value))},211053100:function(e,t){return new t_.IfcEventTime(e,t[0]?new t_.IfcLabel(t[0].value):null,t[1],t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcDateTime(t[3].value):null,t[4]?new t_.IfcDateTime(t[4].value):null,t[5]?new t_.IfcDateTime(t[5].value):null,t[6]?new t_.IfcDateTime(t[6].value):null)},297599258:function(e,t){return new t_.IfcExtendedProperties(e,t[0]?new t_.IfcIdentifier(t[0].value):null,t[1]?new t_.IfcText(t[1].value):null,t[2].map((function(e){return new H_(e.value)})))},1437805879:function(e,t){return new t_.IfcExternalReferenceRelationship(e,t[0]?new t_.IfcLabel(t[0].value):null,t[1]?new t_.IfcText(t[1].value):null,new H_(t[2].value),t[3].map((function(e){return new H_(e.value)})))},2556980723:function(e,t){return new t_.IfcFace(e,t[0].map((function(e){return new H_(e.value)})))},1809719519:function(e,t){return new t_.IfcFaceBound(e,new H_(t[0].value),new t_.IfcBoolean(t[1].value))},803316827:function(e,t){return new t_.IfcFaceOuterBound(e,new H_(t[0].value),new t_.IfcBoolean(t[1].value))},3008276851:function(e,t){return new t_.IfcFaceSurface(e,t[0].map((function(e){return new H_(e.value)})),new H_(t[1].value),new t_.IfcBoolean(t[2].value))},4219587988:function(e,t){return new t_.IfcFailureConnectionCondition(e,t[0]?new t_.IfcLabel(t[0].value):null,t[1]?new t_.IfcForceMeasure(t[1].value):null,t[2]?new t_.IfcForceMeasure(t[2].value):null,t[3]?new t_.IfcForceMeasure(t[3].value):null,t[4]?new t_.IfcForceMeasure(t[4].value):null,t[5]?new t_.IfcForceMeasure(t[5].value):null,t[6]?new t_.IfcForceMeasure(t[6].value):null)},738692330:function(e,t){return new t_.IfcFillAreaStyle(e,t[0]?new t_.IfcLabel(t[0].value):null,t[1].map((function(e){return new H_(e.value)})),t[2]?new t_.IfcBoolean(t[2].value):null)},3448662350:function(e,t){return new t_.IfcGeometricRepresentationContext(e,t[0]?new t_.IfcLabel(t[0].value):null,t[1]?new t_.IfcLabel(t[1].value):null,new t_.IfcDimensionCount(t[2].value),t[3]?new t_.IfcReal(t[3].value):null,new H_(t[4].value),t[5]?new H_(t[5].value):null)},2453401579:function(e,t){return new t_.IfcGeometricRepresentationItem(e)},4142052618:function(e,t){return new t_.IfcGeometricRepresentationSubContext(e,t[0]?new t_.IfcLabel(t[0].value):null,t[1]?new t_.IfcLabel(t[1].value):null,new H_(t[2].value),new H_(t[3].value),t[4]?new t_.IfcPositiveRatioMeasure(t[4].value):null,t[5],t[6]?new t_.IfcLabel(t[6].value):null)},3590301190:function(e,t){return new t_.IfcGeometricSet(e,t[0].map((function(e){return new H_(e.value)})))},178086475:function(e,t){return new t_.IfcGridPlacement(e,t[0]?new H_(t[0].value):null,new H_(t[1].value),t[2]?new H_(t[2].value):null)},812098782:function(e,t){return new t_.IfcHalfSpaceSolid(e,new H_(t[0].value),new t_.IfcBoolean(t[1].value))},3905492369:function(e,t){return new t_.IfcImageTexture(e,new t_.IfcBoolean(t[0].value),new t_.IfcBoolean(t[1].value),t[2]?new t_.IfcIdentifier(t[2].value):null,t[3]?new H_(t[3].value):null,t[4]?t[4].map((function(e){return new t_.IfcIdentifier(e.value)})):null,new t_.IfcURIReference(t[5].value))},3570813810:function(e,t){return new t_.IfcIndexedColourMap(e,new H_(t[0].value),t[1]?new t_.IfcNormalisedRatioMeasure(t[1].value):null,new H_(t[2].value),t[3].map((function(e){return new t_.IfcPositiveInteger(e.value)})))},1437953363:function(e,t){return new t_.IfcIndexedTextureMap(e,t[0].map((function(e){return new H_(e.value)})),new H_(t[1].value),new H_(t[2].value))},2133299955:function(e,t){return new t_.IfcIndexedTriangleTextureMap(e,t[0].map((function(e){return new H_(e.value)})),new H_(t[1].value),new H_(t[2].value),t[3]?t[3].map((function(e){return new t_.IfcPositiveInteger(e.value)})):null)},3741457305:function(e,t){return new t_.IfcIrregularTimeSeries(e,new t_.IfcLabel(t[0].value),t[1]?new t_.IfcText(t[1].value):null,new t_.IfcDateTime(t[2].value),new t_.IfcDateTime(t[3].value),t[4],t[5],t[6]?new t_.IfcLabel(t[6].value):null,t[7]?new H_(t[7].value):null,t[8].map((function(e){return new H_(e.value)})))},1585845231:function(e,t){return new t_.IfcLagTime(e,t[0]?new t_.IfcLabel(t[0].value):null,t[1],t[2]?new t_.IfcLabel(t[2].value):null,K_(3,t[3]),t[4])},1402838566:function(e,t){return new t_.IfcLightSource(e,t[0]?new t_.IfcLabel(t[0].value):null,new H_(t[1].value),t[2]?new t_.IfcNormalisedRatioMeasure(t[2].value):null,t[3]?new t_.IfcNormalisedRatioMeasure(t[3].value):null)},125510826:function(e,t){return new t_.IfcLightSourceAmbient(e,t[0]?new t_.IfcLabel(t[0].value):null,new H_(t[1].value),t[2]?new t_.IfcNormalisedRatioMeasure(t[2].value):null,t[3]?new t_.IfcNormalisedRatioMeasure(t[3].value):null)},2604431987:function(e,t){return new t_.IfcLightSourceDirectional(e,t[0]?new t_.IfcLabel(t[0].value):null,new H_(t[1].value),t[2]?new t_.IfcNormalisedRatioMeasure(t[2].value):null,t[3]?new t_.IfcNormalisedRatioMeasure(t[3].value):null,new H_(t[4].value))},4266656042:function(e,t){return new t_.IfcLightSourceGoniometric(e,t[0]?new t_.IfcLabel(t[0].value):null,new H_(t[1].value),t[2]?new t_.IfcNormalisedRatioMeasure(t[2].value):null,t[3]?new t_.IfcNormalisedRatioMeasure(t[3].value):null,new H_(t[4].value),t[5]?new H_(t[5].value):null,new t_.IfcThermodynamicTemperatureMeasure(t[6].value),new t_.IfcLuminousFluxMeasure(t[7].value),t[8],new H_(t[9].value))},1520743889:function(e,t){return new t_.IfcLightSourcePositional(e,t[0]?new t_.IfcLabel(t[0].value):null,new H_(t[1].value),t[2]?new t_.IfcNormalisedRatioMeasure(t[2].value):null,t[3]?new t_.IfcNormalisedRatioMeasure(t[3].value):null,new H_(t[4].value),new t_.IfcPositiveLengthMeasure(t[5].value),new t_.IfcReal(t[6].value),new t_.IfcReal(t[7].value),new t_.IfcReal(t[8].value))},3422422726:function(e,t){return new t_.IfcLightSourceSpot(e,t[0]?new t_.IfcLabel(t[0].value):null,new H_(t[1].value),t[2]?new t_.IfcNormalisedRatioMeasure(t[2].value):null,t[3]?new t_.IfcNormalisedRatioMeasure(t[3].value):null,new H_(t[4].value),new t_.IfcPositiveLengthMeasure(t[5].value),new t_.IfcReal(t[6].value),new t_.IfcReal(t[7].value),new t_.IfcReal(t[8].value),new H_(t[9].value),t[10]?new t_.IfcReal(t[10].value):null,new t_.IfcPositivePlaneAngleMeasure(t[11].value),new t_.IfcPositivePlaneAngleMeasure(t[12].value))},388784114:function(e,t){return new t_.IfcLinearPlacement(e,t[0]?new H_(t[0].value):null,new H_(t[1].value),t[2]?new H_(t[2].value):null)},2624227202:function(e,t){return new t_.IfcLocalPlacement(e,t[0]?new H_(t[0].value):null,new H_(t[1].value))},1008929658:function(e,t){return new t_.IfcLoop(e)},2347385850:function(e,t){return new t_.IfcMappedItem(e,new H_(t[0].value),new H_(t[1].value))},1838606355:function(e,t){return new t_.IfcMaterial(e,new t_.IfcLabel(t[0].value),t[1]?new t_.IfcText(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null)},3708119e3:function(e,t){return new t_.IfcMaterialConstituent(e,t[0]?new t_.IfcLabel(t[0].value):null,t[1]?new t_.IfcText(t[1].value):null,new H_(t[2].value),t[3]?new t_.IfcNormalisedRatioMeasure(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null)},2852063980:function(e,t){return new t_.IfcMaterialConstituentSet(e,t[0]?new t_.IfcLabel(t[0].value):null,t[1]?new t_.IfcText(t[1].value):null,t[2]?t[2].map((function(e){return new H_(e.value)})):null)},2022407955:function(e,t){return new t_.IfcMaterialDefinitionRepresentation(e,t[0]?new t_.IfcLabel(t[0].value):null,t[1]?new t_.IfcText(t[1].value):null,t[2].map((function(e){return new H_(e.value)})),new H_(t[3].value))},1303795690:function(e,t){return new t_.IfcMaterialLayerSetUsage(e,new H_(t[0].value),t[1],t[2],new t_.IfcLengthMeasure(t[3].value),t[4]?new t_.IfcPositiveLengthMeasure(t[4].value):null)},3079605661:function(e,t){return new t_.IfcMaterialProfileSetUsage(e,new H_(t[0].value),t[1]?new t_.IfcCardinalPointReference(t[1].value):null,t[2]?new t_.IfcPositiveLengthMeasure(t[2].value):null)},3404854881:function(e,t){return new t_.IfcMaterialProfileSetUsageTapering(e,new H_(t[0].value),t[1]?new t_.IfcCardinalPointReference(t[1].value):null,t[2]?new t_.IfcPositiveLengthMeasure(t[2].value):null,new H_(t[3].value),t[4]?new t_.IfcCardinalPointReference(t[4].value):null)},3265635763:function(e,t){return new t_.IfcMaterialProperties(e,t[0]?new t_.IfcIdentifier(t[0].value):null,t[1]?new t_.IfcText(t[1].value):null,t[2].map((function(e){return new H_(e.value)})),new H_(t[3].value))},853536259:function(e,t){return new t_.IfcMaterialRelationship(e,t[0]?new t_.IfcLabel(t[0].value):null,t[1]?new t_.IfcText(t[1].value):null,new H_(t[2].value),t[3].map((function(e){return new H_(e.value)})),t[4]?new t_.IfcLabel(t[4].value):null)},2998442950:function(e,t){return new t_.IfcMirroredProfileDef(e,t[0],t[1]?new t_.IfcLabel(t[1].value):null,new H_(t[2].value),new H_(t[3].value),t[4]?new t_.IfcLabel(t[4].value):null)},219451334:function(e,t){return new t_.IfcObjectDefinition(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null)},182550632:function(e,t){return new t_.IfcOpenCrossProfileDef(e,t[0],t[1]?new t_.IfcLabel(t[1].value):null,new t_.IfcBoolean(t[2].value),t[3].map((function(e){return new t_.IfcNonNegativeLengthMeasure(e.value)})),t[4].map((function(e){return new t_.IfcPlaneAngleMeasure(e.value)})),t[5]?t[5].map((function(e){return new t_.IfcLabel(e.value)})):null,t[6]?new H_(t[6].value):null)},2665983363:function(e,t){return new t_.IfcOpenShell(e,t[0].map((function(e){return new H_(e.value)})))},1411181986:function(e,t){return new t_.IfcOrganizationRelationship(e,t[0]?new t_.IfcLabel(t[0].value):null,t[1]?new t_.IfcText(t[1].value):null,new H_(t[2].value),t[3].map((function(e){return new H_(e.value)})))},1029017970:function(e,t){return new t_.IfcOrientedEdge(e,new H_(t[0].value),new H_(t[1].value),new t_.IfcBoolean(t[2].value))},2529465313:function(e,t){return new t_.IfcParameterizedProfileDef(e,t[0],t[1]?new t_.IfcLabel(t[1].value):null,t[2]?new H_(t[2].value):null)},2519244187:function(e,t){return new t_.IfcPath(e,t[0].map((function(e){return new H_(e.value)})))},3021840470:function(e,t){return new t_.IfcPhysicalComplexQuantity(e,new t_.IfcLabel(t[0].value),t[1]?new t_.IfcText(t[1].value):null,t[2].map((function(e){return new H_(e.value)})),new t_.IfcLabel(t[3].value),t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new t_.IfcLabel(t[5].value):null)},597895409:function(e,t){return new t_.IfcPixelTexture(e,new t_.IfcBoolean(t[0].value),new t_.IfcBoolean(t[1].value),t[2]?new t_.IfcIdentifier(t[2].value):null,t[3]?new H_(t[3].value):null,t[4]?t[4].map((function(e){return new t_.IfcIdentifier(e.value)})):null,new t_.IfcInteger(t[5].value),new t_.IfcInteger(t[6].value),new t_.IfcInteger(t[7].value),t[8].map((function(e){return new t_.IfcBinary(e.value)})))},2004835150:function(e,t){return new t_.IfcPlacement(e,new H_(t[0].value))},1663979128:function(e,t){return new t_.IfcPlanarExtent(e,new t_.IfcLengthMeasure(t[0].value),new t_.IfcLengthMeasure(t[1].value))},2067069095:function(e,t){return new t_.IfcPoint(e)},2165702409:function(e,t){return new t_.IfcPointByDistanceExpression(e,K_(3,t[0]),t[1]?new t_.IfcLengthMeasure(t[1].value):null,t[2]?new t_.IfcLengthMeasure(t[2].value):null,t[3]?new t_.IfcLengthMeasure(t[3].value):null,new H_(t[4].value))},4022376103:function(e,t){return new t_.IfcPointOnCurve(e,new H_(t[0].value),new t_.IfcParameterValue(t[1].value))},1423911732:function(e,t){return new t_.IfcPointOnSurface(e,new H_(t[0].value),new t_.IfcParameterValue(t[1].value),new t_.IfcParameterValue(t[2].value))},2924175390:function(e,t){return new t_.IfcPolyLoop(e,t[0].map((function(e){return new H_(e.value)})))},2775532180:function(e,t){return new t_.IfcPolygonalBoundedHalfSpace(e,new H_(t[0].value),new t_.IfcBoolean(t[1].value),new H_(t[2].value),new H_(t[3].value))},3727388367:function(e,t){return new t_.IfcPreDefinedItem(e,new t_.IfcLabel(t[0].value))},3778827333:function(e,t){return new t_.IfcPreDefinedProperties(e)},1775413392:function(e,t){return new t_.IfcPreDefinedTextFont(e,new t_.IfcLabel(t[0].value))},673634403:function(e,t){return new t_.IfcProductDefinitionShape(e,t[0]?new t_.IfcLabel(t[0].value):null,t[1]?new t_.IfcText(t[1].value):null,t[2].map((function(e){return new H_(e.value)})))},2802850158:function(e,t){return new t_.IfcProfileProperties(e,t[0]?new t_.IfcIdentifier(t[0].value):null,t[1]?new t_.IfcText(t[1].value):null,t[2].map((function(e){return new H_(e.value)})),new H_(t[3].value))},2598011224:function(e,t){return new t_.IfcProperty(e,new t_.IfcIdentifier(t[0].value),t[1]?new t_.IfcText(t[1].value):null)},1680319473:function(e,t){return new t_.IfcPropertyDefinition(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null)},148025276:function(e,t){return new t_.IfcPropertyDependencyRelationship(e,t[0]?new t_.IfcLabel(t[0].value):null,t[1]?new t_.IfcText(t[1].value):null,new H_(t[2].value),new H_(t[3].value),t[4]?new t_.IfcText(t[4].value):null)},3357820518:function(e,t){return new t_.IfcPropertySetDefinition(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null)},1482703590:function(e,t){return new t_.IfcPropertyTemplateDefinition(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null)},2090586900:function(e,t){return new t_.IfcQuantitySet(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null)},3615266464:function(e,t){return new t_.IfcRectangleProfileDef(e,t[0],t[1]?new t_.IfcLabel(t[1].value):null,t[2]?new H_(t[2].value):null,new t_.IfcPositiveLengthMeasure(t[3].value),new t_.IfcPositiveLengthMeasure(t[4].value))},3413951693:function(e,t){return new t_.IfcRegularTimeSeries(e,new t_.IfcLabel(t[0].value),t[1]?new t_.IfcText(t[1].value):null,new t_.IfcDateTime(t[2].value),new t_.IfcDateTime(t[3].value),t[4],t[5],t[6]?new t_.IfcLabel(t[6].value):null,t[7]?new H_(t[7].value):null,new t_.IfcTimeMeasure(t[8].value),t[9].map((function(e){return new H_(e.value)})))},1580146022:function(e,t){return new t_.IfcReinforcementBarProperties(e,new t_.IfcAreaMeasure(t[0].value),new t_.IfcLabel(t[1].value),t[2],t[3]?new t_.IfcLengthMeasure(t[3].value):null,t[4]?new t_.IfcPositiveLengthMeasure(t[4].value):null,t[5]?new t_.IfcCountMeasure(t[5].value):null)},478536968:function(e,t){return new t_.IfcRelationship(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null)},2943643501:function(e,t){return new t_.IfcResourceApprovalRelationship(e,t[0]?new t_.IfcLabel(t[0].value):null,t[1]?new t_.IfcText(t[1].value):null,t[2].map((function(e){return new H_(e.value)})),new H_(t[3].value))},1608871552:function(e,t){return new t_.IfcResourceConstraintRelationship(e,t[0]?new t_.IfcLabel(t[0].value):null,t[1]?new t_.IfcText(t[1].value):null,new H_(t[2].value),t[3].map((function(e){return new H_(e.value)})))},1042787934:function(e,t){return new t_.IfcResourceTime(e,t[0]?new t_.IfcLabel(t[0].value):null,t[1],t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcDuration(t[3].value):null,t[4]?new t_.IfcPositiveRatioMeasure(t[4].value):null,t[5]?new t_.IfcDateTime(t[5].value):null,t[6]?new t_.IfcDateTime(t[6].value):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcDuration(t[8].value):null,t[9]?new t_.IfcBoolean(t[9].value):null,t[10]?new t_.IfcDateTime(t[10].value):null,t[11]?new t_.IfcDuration(t[11].value):null,t[12]?new t_.IfcPositiveRatioMeasure(t[12].value):null,t[13]?new t_.IfcDateTime(t[13].value):null,t[14]?new t_.IfcDateTime(t[14].value):null,t[15]?new t_.IfcDuration(t[15].value):null,t[16]?new t_.IfcPositiveRatioMeasure(t[16].value):null,t[17]?new t_.IfcPositiveRatioMeasure(t[17].value):null)},2778083089:function(e,t){return new t_.IfcRoundedRectangleProfileDef(e,t[0],t[1]?new t_.IfcLabel(t[1].value):null,t[2]?new H_(t[2].value):null,new t_.IfcPositiveLengthMeasure(t[3].value),new t_.IfcPositiveLengthMeasure(t[4].value),new t_.IfcPositiveLengthMeasure(t[5].value))},2042790032:function(e,t){return new t_.IfcSectionProperties(e,t[0],new H_(t[1].value),t[2]?new H_(t[2].value):null)},4165799628:function(e,t){return new t_.IfcSectionReinforcementProperties(e,new t_.IfcLengthMeasure(t[0].value),new t_.IfcLengthMeasure(t[1].value),t[2]?new t_.IfcLengthMeasure(t[2].value):null,t[3],new H_(t[4].value),t[5].map((function(e){return new H_(e.value)})))},1509187699:function(e,t){return new t_.IfcSectionedSpine(e,new H_(t[0].value),t[1].map((function(e){return new H_(e.value)})),t[2].map((function(e){return new H_(e.value)})))},823603102:function(e,t){return new t_.IfcSegment(e,t[0])},4124623270:function(e,t){return new t_.IfcShellBasedSurfaceModel(e,t[0].map((function(e){return new H_(e.value)})))},3692461612:function(e,t){return new t_.IfcSimpleProperty(e,new t_.IfcIdentifier(t[0].value),t[1]?new t_.IfcText(t[1].value):null)},2609359061:function(e,t){return new t_.IfcSlippageConnectionCondition(e,t[0]?new t_.IfcLabel(t[0].value):null,t[1]?new t_.IfcLengthMeasure(t[1].value):null,t[2]?new t_.IfcLengthMeasure(t[2].value):null,t[3]?new t_.IfcLengthMeasure(t[3].value):null)},723233188:function(e,t){return new t_.IfcSolidModel(e)},1595516126:function(e,t){return new t_.IfcStructuralLoadLinearForce(e,t[0]?new t_.IfcLabel(t[0].value):null,t[1]?new t_.IfcLinearForceMeasure(t[1].value):null,t[2]?new t_.IfcLinearForceMeasure(t[2].value):null,t[3]?new t_.IfcLinearForceMeasure(t[3].value):null,t[4]?new t_.IfcLinearMomentMeasure(t[4].value):null,t[5]?new t_.IfcLinearMomentMeasure(t[5].value):null,t[6]?new t_.IfcLinearMomentMeasure(t[6].value):null)},2668620305:function(e,t){return new t_.IfcStructuralLoadPlanarForce(e,t[0]?new t_.IfcLabel(t[0].value):null,t[1]?new t_.IfcPlanarForceMeasure(t[1].value):null,t[2]?new t_.IfcPlanarForceMeasure(t[2].value):null,t[3]?new t_.IfcPlanarForceMeasure(t[3].value):null)},2473145415:function(e,t){return new t_.IfcStructuralLoadSingleDisplacement(e,t[0]?new t_.IfcLabel(t[0].value):null,t[1]?new t_.IfcLengthMeasure(t[1].value):null,t[2]?new t_.IfcLengthMeasure(t[2].value):null,t[3]?new t_.IfcLengthMeasure(t[3].value):null,t[4]?new t_.IfcPlaneAngleMeasure(t[4].value):null,t[5]?new t_.IfcPlaneAngleMeasure(t[5].value):null,t[6]?new t_.IfcPlaneAngleMeasure(t[6].value):null)},1973038258:function(e,t){return new t_.IfcStructuralLoadSingleDisplacementDistortion(e,t[0]?new t_.IfcLabel(t[0].value):null,t[1]?new t_.IfcLengthMeasure(t[1].value):null,t[2]?new t_.IfcLengthMeasure(t[2].value):null,t[3]?new t_.IfcLengthMeasure(t[3].value):null,t[4]?new t_.IfcPlaneAngleMeasure(t[4].value):null,t[5]?new t_.IfcPlaneAngleMeasure(t[5].value):null,t[6]?new t_.IfcPlaneAngleMeasure(t[6].value):null,t[7]?new t_.IfcCurvatureMeasure(t[7].value):null)},1597423693:function(e,t){return new t_.IfcStructuralLoadSingleForce(e,t[0]?new t_.IfcLabel(t[0].value):null,t[1]?new t_.IfcForceMeasure(t[1].value):null,t[2]?new t_.IfcForceMeasure(t[2].value):null,t[3]?new t_.IfcForceMeasure(t[3].value):null,t[4]?new t_.IfcTorqueMeasure(t[4].value):null,t[5]?new t_.IfcTorqueMeasure(t[5].value):null,t[6]?new t_.IfcTorqueMeasure(t[6].value):null)},1190533807:function(e,t){return new t_.IfcStructuralLoadSingleForceWarping(e,t[0]?new t_.IfcLabel(t[0].value):null,t[1]?new t_.IfcForceMeasure(t[1].value):null,t[2]?new t_.IfcForceMeasure(t[2].value):null,t[3]?new t_.IfcForceMeasure(t[3].value):null,t[4]?new t_.IfcTorqueMeasure(t[4].value):null,t[5]?new t_.IfcTorqueMeasure(t[5].value):null,t[6]?new t_.IfcTorqueMeasure(t[6].value):null,t[7]?new t_.IfcWarpingMomentMeasure(t[7].value):null)},2233826070:function(e,t){return new t_.IfcSubedge(e,new H_(t[0].value),new H_(t[1].value),new H_(t[2].value))},2513912981:function(e,t){return new t_.IfcSurface(e)},1878645084:function(e,t){return new t_.IfcSurfaceStyleRendering(e,new H_(t[0].value),t[1]?new t_.IfcNormalisedRatioMeasure(t[1].value):null,t[2]?new H_(t[2].value):null,t[3]?new H_(t[3].value):null,t[4]?new H_(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?K_(3,t[7]):null,t[8])},2247615214:function(e,t){return new t_.IfcSweptAreaSolid(e,new H_(t[0].value),t[1]?new H_(t[1].value):null)},1260650574:function(e,t){return new t_.IfcSweptDiskSolid(e,new H_(t[0].value),new t_.IfcPositiveLengthMeasure(t[1].value),t[2]?new t_.IfcPositiveLengthMeasure(t[2].value):null,t[3]?new t_.IfcParameterValue(t[3].value):null,t[4]?new t_.IfcParameterValue(t[4].value):null)},1096409881:function(e,t){return new t_.IfcSweptDiskSolidPolygonal(e,new H_(t[0].value),new t_.IfcPositiveLengthMeasure(t[1].value),t[2]?new t_.IfcPositiveLengthMeasure(t[2].value):null,t[3]?new t_.IfcParameterValue(t[3].value):null,t[4]?new t_.IfcParameterValue(t[4].value):null,t[5]?new t_.IfcNonNegativeLengthMeasure(t[5].value):null)},230924584:function(e,t){return new t_.IfcSweptSurface(e,new H_(t[0].value),t[1]?new H_(t[1].value):null)},3071757647:function(e,t){return new t_.IfcTShapeProfileDef(e,t[0],t[1]?new t_.IfcLabel(t[1].value):null,t[2]?new H_(t[2].value):null,new t_.IfcPositiveLengthMeasure(t[3].value),new t_.IfcPositiveLengthMeasure(t[4].value),new t_.IfcPositiveLengthMeasure(t[5].value),new t_.IfcPositiveLengthMeasure(t[6].value),t[7]?new t_.IfcNonNegativeLengthMeasure(t[7].value):null,t[8]?new t_.IfcNonNegativeLengthMeasure(t[8].value):null,t[9]?new t_.IfcNonNegativeLengthMeasure(t[9].value):null,t[10]?new t_.IfcPlaneAngleMeasure(t[10].value):null,t[11]?new t_.IfcPlaneAngleMeasure(t[11].value):null)},901063453:function(e,t){return new t_.IfcTessellatedItem(e)},4282788508:function(e,t){return new t_.IfcTextLiteral(e,new t_.IfcPresentableText(t[0].value),new H_(t[1].value),t[2])},3124975700:function(e,t){return new t_.IfcTextLiteralWithExtent(e,new t_.IfcPresentableText(t[0].value),new H_(t[1].value),t[2],new H_(t[3].value),new t_.IfcBoxAlignment(t[4].value))},1983826977:function(e,t){return new t_.IfcTextStyleFontModel(e,new t_.IfcLabel(t[0].value),t[1].map((function(e){return new t_.IfcTextFontName(e.value)})),t[2]?new t_.IfcFontStyle(t[2].value):null,t[3]?new t_.IfcFontVariant(t[3].value):null,t[4]?new t_.IfcFontWeight(t[4].value):null,K_(3,t[5]))},2715220739:function(e,t){return new t_.IfcTrapeziumProfileDef(e,t[0],t[1]?new t_.IfcLabel(t[1].value):null,t[2]?new H_(t[2].value):null,new t_.IfcPositiveLengthMeasure(t[3].value),new t_.IfcPositiveLengthMeasure(t[4].value),new t_.IfcPositiveLengthMeasure(t[5].value),new t_.IfcLengthMeasure(t[6].value))},1628702193:function(e,t){return new t_.IfcTypeObject(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null)},3736923433:function(e,t){return new t_.IfcTypeProcess(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?new t_.IfcIdentifier(t[6].value):null,t[7]?new t_.IfcText(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null)},2347495698:function(e,t){return new t_.IfcTypeProduct(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null)},3698973494:function(e,t){return new t_.IfcTypeResource(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?new t_.IfcIdentifier(t[6].value):null,t[7]?new t_.IfcText(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null)},427810014:function(e,t){return new t_.IfcUShapeProfileDef(e,t[0],t[1]?new t_.IfcLabel(t[1].value):null,t[2]?new H_(t[2].value):null,new t_.IfcPositiveLengthMeasure(t[3].value),new t_.IfcPositiveLengthMeasure(t[4].value),new t_.IfcPositiveLengthMeasure(t[5].value),new t_.IfcPositiveLengthMeasure(t[6].value),t[7]?new t_.IfcNonNegativeLengthMeasure(t[7].value):null,t[8]?new t_.IfcNonNegativeLengthMeasure(t[8].value):null,t[9]?new t_.IfcPlaneAngleMeasure(t[9].value):null)},1417489154:function(e,t){return new t_.IfcVector(e,new H_(t[0].value),new t_.IfcLengthMeasure(t[1].value))},2759199220:function(e,t){return new t_.IfcVertexLoop(e,new H_(t[0].value))},2543172580:function(e,t){return new t_.IfcZShapeProfileDef(e,t[0],t[1]?new t_.IfcLabel(t[1].value):null,t[2]?new H_(t[2].value):null,new t_.IfcPositiveLengthMeasure(t[3].value),new t_.IfcPositiveLengthMeasure(t[4].value),new t_.IfcPositiveLengthMeasure(t[5].value),new t_.IfcPositiveLengthMeasure(t[6].value),t[7]?new t_.IfcNonNegativeLengthMeasure(t[7].value):null,t[8]?new t_.IfcNonNegativeLengthMeasure(t[8].value):null)},3406155212:function(e,t){return new t_.IfcAdvancedFace(e,t[0].map((function(e){return new H_(e.value)})),new H_(t[1].value),new t_.IfcBoolean(t[2].value))},669184980:function(e,t){return new t_.IfcAnnotationFillArea(e,new H_(t[0].value),t[1]?t[1].map((function(e){return new H_(e.value)})):null)},3207858831:function(e,t){return new t_.IfcAsymmetricIShapeProfileDef(e,t[0],t[1]?new t_.IfcLabel(t[1].value):null,t[2]?new H_(t[2].value):null,new t_.IfcPositiveLengthMeasure(t[3].value),new t_.IfcPositiveLengthMeasure(t[4].value),new t_.IfcPositiveLengthMeasure(t[5].value),new t_.IfcPositiveLengthMeasure(t[6].value),t[7]?new t_.IfcNonNegativeLengthMeasure(t[7].value):null,new t_.IfcPositiveLengthMeasure(t[8].value),t[9]?new t_.IfcPositiveLengthMeasure(t[9].value):null,t[10]?new t_.IfcNonNegativeLengthMeasure(t[10].value):null,t[11]?new t_.IfcNonNegativeLengthMeasure(t[11].value):null,t[12]?new t_.IfcPlaneAngleMeasure(t[12].value):null,t[13]?new t_.IfcNonNegativeLengthMeasure(t[13].value):null,t[14]?new t_.IfcPlaneAngleMeasure(t[14].value):null)},4261334040:function(e,t){return new t_.IfcAxis1Placement(e,new H_(t[0].value),t[1]?new H_(t[1].value):null)},3125803723:function(e,t){return new t_.IfcAxis2Placement2D(e,new H_(t[0].value),t[1]?new H_(t[1].value):null)},2740243338:function(e,t){return new t_.IfcAxis2Placement3D(e,new H_(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new H_(t[2].value):null)},3425423356:function(e,t){return new t_.IfcAxis2PlacementLinear(e,new H_(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new H_(t[2].value):null)},2736907675:function(e,t){return new t_.IfcBooleanResult(e,t[0],new H_(t[1].value),new H_(t[2].value))},4182860854:function(e,t){return new t_.IfcBoundedSurface(e)},2581212453:function(e,t){return new t_.IfcBoundingBox(e,new H_(t[0].value),new t_.IfcPositiveLengthMeasure(t[1].value),new t_.IfcPositiveLengthMeasure(t[2].value),new t_.IfcPositiveLengthMeasure(t[3].value))},2713105998:function(e,t){return new t_.IfcBoxedHalfSpace(e,new H_(t[0].value),new t_.IfcBoolean(t[1].value),new H_(t[2].value))},2898889636:function(e,t){return new t_.IfcCShapeProfileDef(e,t[0],t[1]?new t_.IfcLabel(t[1].value):null,t[2]?new H_(t[2].value):null,new t_.IfcPositiveLengthMeasure(t[3].value),new t_.IfcPositiveLengthMeasure(t[4].value),new t_.IfcPositiveLengthMeasure(t[5].value),new t_.IfcPositiveLengthMeasure(t[6].value),t[7]?new t_.IfcNonNegativeLengthMeasure(t[7].value):null)},1123145078:function(e,t){return new t_.IfcCartesianPoint(e,t[0].map((function(e){return new t_.IfcLengthMeasure(e.value)})))},574549367:function(e,t){return new t_.IfcCartesianPointList(e)},1675464909:function(e,t){return new t_.IfcCartesianPointList2D(e,t[0].map((function(e){return new t_.IfcLengthMeasure(e.value)})),t[1]?t[1].map((function(e){return new t_.IfcLabel(e.value)})):null)},2059837836:function(e,t){return new t_.IfcCartesianPointList3D(e,t[0].map((function(e){return new t_.IfcLengthMeasure(e.value)})),t[1]?t[1].map((function(e){return new t_.IfcLabel(e.value)})):null)},59481748:function(e,t){return new t_.IfcCartesianTransformationOperator(e,t[0]?new H_(t[0].value):null,t[1]?new H_(t[1].value):null,new H_(t[2].value),t[3]?new t_.IfcReal(t[3].value):null)},3749851601:function(e,t){return new t_.IfcCartesianTransformationOperator2D(e,t[0]?new H_(t[0].value):null,t[1]?new H_(t[1].value):null,new H_(t[2].value),t[3]?new t_.IfcReal(t[3].value):null)},3486308946:function(e,t){return new t_.IfcCartesianTransformationOperator2DnonUniform(e,t[0]?new H_(t[0].value):null,t[1]?new H_(t[1].value):null,new H_(t[2].value),t[3]?new t_.IfcReal(t[3].value):null,t[4]?new t_.IfcReal(t[4].value):null)},3331915920:function(e,t){return new t_.IfcCartesianTransformationOperator3D(e,t[0]?new H_(t[0].value):null,t[1]?new H_(t[1].value):null,new H_(t[2].value),t[3]?new t_.IfcReal(t[3].value):null,t[4]?new H_(t[4].value):null)},1416205885:function(e,t){return new t_.IfcCartesianTransformationOperator3DnonUniform(e,t[0]?new H_(t[0].value):null,t[1]?new H_(t[1].value):null,new H_(t[2].value),t[3]?new t_.IfcReal(t[3].value):null,t[4]?new H_(t[4].value):null,t[5]?new t_.IfcReal(t[5].value):null,t[6]?new t_.IfcReal(t[6].value):null)},1383045692:function(e,t){return new t_.IfcCircleProfileDef(e,t[0],t[1]?new t_.IfcLabel(t[1].value):null,t[2]?new H_(t[2].value):null,new t_.IfcPositiveLengthMeasure(t[3].value))},2205249479:function(e,t){return new t_.IfcClosedShell(e,t[0].map((function(e){return new H_(e.value)})))},776857604:function(e,t){return new t_.IfcColourRgb(e,t[0]?new t_.IfcLabel(t[0].value):null,new t_.IfcNormalisedRatioMeasure(t[1].value),new t_.IfcNormalisedRatioMeasure(t[2].value),new t_.IfcNormalisedRatioMeasure(t[3].value))},2542286263:function(e,t){return new t_.IfcComplexProperty(e,new t_.IfcIdentifier(t[0].value),t[1]?new t_.IfcText(t[1].value):null,new t_.IfcIdentifier(t[2].value),t[3].map((function(e){return new H_(e.value)})))},2485617015:function(e,t){return new t_.IfcCompositeCurveSegment(e,t[0],new t_.IfcBoolean(t[1].value),new H_(t[2].value))},2574617495:function(e,t){return new t_.IfcConstructionResourceType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?new t_.IfcIdentifier(t[6].value):null,t[7]?new t_.IfcText(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9]?t[9].map((function(e){return new H_(e.value)})):null,t[10]?new H_(t[10].value):null)},3419103109:function(e,t){return new t_.IfcContext(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new t_.IfcLabel(t[5].value):null,t[6]?new t_.IfcLabel(t[6].value):null,t[7]?t[7].map((function(e){return new H_(e.value)})):null,t[8]?new H_(t[8].value):null)},1815067380:function(e,t){return new t_.IfcCrewResourceType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?new t_.IfcIdentifier(t[6].value):null,t[7]?new t_.IfcText(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9]?t[9].map((function(e){return new H_(e.value)})):null,t[10]?new H_(t[10].value):null,t[11])},2506170314:function(e,t){return new t_.IfcCsgPrimitive3D(e,new H_(t[0].value))},2147822146:function(e,t){return new t_.IfcCsgSolid(e,new H_(t[0].value))},2601014836:function(e,t){return new t_.IfcCurve(e)},2827736869:function(e,t){return new t_.IfcCurveBoundedPlane(e,new H_(t[0].value),new H_(t[1].value),t[2]?t[2].map((function(e){return new H_(e.value)})):null)},2629017746:function(e,t){return new t_.IfcCurveBoundedSurface(e,new H_(t[0].value),t[1].map((function(e){return new H_(e.value)})),new t_.IfcBoolean(t[2].value))},4212018352:function(e,t){return new t_.IfcCurveSegment(e,t[0],new H_(t[1].value),K_(3,t[2]),K_(3,t[3]),new H_(t[4].value))},32440307:function(e,t){return new t_.IfcDirection(e,t[0].map((function(e){return new t_.IfcReal(e.value)})))},593015953:function(e,t){return new t_.IfcDirectrixCurveSweptAreaSolid(e,new H_(t[0].value),t[1]?new H_(t[1].value):null,new H_(t[2].value),t[3]?K_(3,t[3]):null,t[4]?K_(3,t[4]):null)},1472233963:function(e,t){return new t_.IfcEdgeLoop(e,t[0].map((function(e){return new H_(e.value)})))},1883228015:function(e,t){return new t_.IfcElementQuantity(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5].map((function(e){return new H_(e.value)})))},339256511:function(e,t){return new t_.IfcElementType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null)},2777663545:function(e,t){return new t_.IfcElementarySurface(e,new H_(t[0].value))},2835456948:function(e,t){return new t_.IfcEllipseProfileDef(e,t[0],t[1]?new t_.IfcLabel(t[1].value):null,t[2]?new H_(t[2].value):null,new t_.IfcPositiveLengthMeasure(t[3].value),new t_.IfcPositiveLengthMeasure(t[4].value))},4024345920:function(e,t){return new t_.IfcEventType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?new t_.IfcIdentifier(t[6].value):null,t[7]?new t_.IfcText(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9],t[10],t[11]?new t_.IfcLabel(t[11].value):null)},477187591:function(e,t){return new t_.IfcExtrudedAreaSolid(e,new H_(t[0].value),t[1]?new H_(t[1].value):null,new H_(t[2].value),new t_.IfcPositiveLengthMeasure(t[3].value))},2804161546:function(e,t){return new t_.IfcExtrudedAreaSolidTapered(e,new H_(t[0].value),t[1]?new H_(t[1].value):null,new H_(t[2].value),new t_.IfcPositiveLengthMeasure(t[3].value),new H_(t[4].value))},2047409740:function(e,t){return new t_.IfcFaceBasedSurfaceModel(e,t[0].map((function(e){return new H_(e.value)})))},374418227:function(e,t){return new t_.IfcFillAreaStyleHatching(e,new H_(t[0].value),new H_(t[1].value),t[2]?new H_(t[2].value):null,t[3]?new H_(t[3].value):null,new t_.IfcPlaneAngleMeasure(t[4].value))},315944413:function(e,t){return new t_.IfcFillAreaStyleTiles(e,t[0].map((function(e){return new H_(e.value)})),t[1].map((function(e){return new H_(e.value)})),new t_.IfcPositiveRatioMeasure(t[2].value))},2652556860:function(e,t){return new t_.IfcFixedReferenceSweptAreaSolid(e,new H_(t[0].value),t[1]?new H_(t[1].value):null,new H_(t[2].value),t[3]?K_(3,t[3]):null,t[4]?K_(3,t[4]):null,new H_(t[5].value))},4238390223:function(e,t){return new t_.IfcFurnishingElementType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null)},1268542332:function(e,t){return new t_.IfcFurnitureType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9],t[10])},4095422895:function(e,t){return new t_.IfcGeographicElementType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9])},987898635:function(e,t){return new t_.IfcGeometricCurveSet(e,t[0].map((function(e){return new H_(e.value)})))},1484403080:function(e,t){return new t_.IfcIShapeProfileDef(e,t[0],t[1]?new t_.IfcLabel(t[1].value):null,t[2]?new H_(t[2].value):null,new t_.IfcPositiveLengthMeasure(t[3].value),new t_.IfcPositiveLengthMeasure(t[4].value),new t_.IfcPositiveLengthMeasure(t[5].value),new t_.IfcPositiveLengthMeasure(t[6].value),t[7]?new t_.IfcNonNegativeLengthMeasure(t[7].value):null,t[8]?new t_.IfcNonNegativeLengthMeasure(t[8].value):null,t[9]?new t_.IfcPlaneAngleMeasure(t[9].value):null)},178912537:function(e,t){return new t_.IfcIndexedPolygonalFace(e,t[0].map((function(e){return new t_.IfcPositiveInteger(e.value)})))},2294589976:function(e,t){return new t_.IfcIndexedPolygonalFaceWithVoids(e,t[0].map((function(e){return new t_.IfcPositiveInteger(e.value)})),t[1].map((function(e){return new t_.IfcPositiveInteger(e.value)})))},3465909080:function(e,t){return new t_.IfcIndexedPolygonalTextureMap(e,t[0].map((function(e){return new H_(e.value)})),new H_(t[1].value),new H_(t[2].value),t[3].map((function(e){return new H_(e.value)})))},572779678:function(e,t){return new t_.IfcLShapeProfileDef(e,t[0],t[1]?new t_.IfcLabel(t[1].value):null,t[2]?new H_(t[2].value):null,new t_.IfcPositiveLengthMeasure(t[3].value),t[4]?new t_.IfcPositiveLengthMeasure(t[4].value):null,new t_.IfcPositiveLengthMeasure(t[5].value),t[6]?new t_.IfcNonNegativeLengthMeasure(t[6].value):null,t[7]?new t_.IfcNonNegativeLengthMeasure(t[7].value):null,t[8]?new t_.IfcPlaneAngleMeasure(t[8].value):null)},428585644:function(e,t){return new t_.IfcLaborResourceType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?new t_.IfcIdentifier(t[6].value):null,t[7]?new t_.IfcText(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9]?t[9].map((function(e){return new H_(e.value)})):null,t[10]?new H_(t[10].value):null,t[11])},1281925730:function(e,t){return new t_.IfcLine(e,new H_(t[0].value),new H_(t[1].value))},1425443689:function(e,t){return new t_.IfcManifoldSolidBrep(e,new H_(t[0].value))},3888040117:function(e,t){return new t_.IfcObject(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null)},590820931:function(e,t){return new t_.IfcOffsetCurve(e,new H_(t[0].value))},3388369263:function(e,t){return new t_.IfcOffsetCurve2D(e,new H_(t[0].value),new t_.IfcLengthMeasure(t[1].value),new t_.IfcLogical(t[2].value))},3505215534:function(e,t){return new t_.IfcOffsetCurve3D(e,new H_(t[0].value),new t_.IfcLengthMeasure(t[1].value),new t_.IfcLogical(t[2].value),new H_(t[3].value))},2485787929:function(e,t){return new t_.IfcOffsetCurveByDistances(e,new H_(t[0].value),t[1].map((function(e){return new H_(e.value)})),t[2]?new t_.IfcLabel(t[2].value):null)},1682466193:function(e,t){return new t_.IfcPcurve(e,new H_(t[0].value),new H_(t[1].value))},603570806:function(e,t){return new t_.IfcPlanarBox(e,new t_.IfcLengthMeasure(t[0].value),new t_.IfcLengthMeasure(t[1].value),new H_(t[2].value))},220341763:function(e,t){return new t_.IfcPlane(e,new H_(t[0].value))},3381221214:function(e,t){return new t_.IfcPolynomialCurve(e,new H_(t[0].value),t[1]?t[1].map((function(e){return new t_.IfcReal(e.value)})):null,t[2]?t[2].map((function(e){return new t_.IfcReal(e.value)})):null,t[3]?t[3].map((function(e){return new t_.IfcReal(e.value)})):null)},759155922:function(e,t){return new t_.IfcPreDefinedColour(e,new t_.IfcLabel(t[0].value))},2559016684:function(e,t){return new t_.IfcPreDefinedCurveFont(e,new t_.IfcLabel(t[0].value))},3967405729:function(e,t){return new t_.IfcPreDefinedPropertySet(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null)},569719735:function(e,t){return new t_.IfcProcedureType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?new t_.IfcIdentifier(t[6].value):null,t[7]?new t_.IfcText(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9])},2945172077:function(e,t){return new t_.IfcProcess(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new t_.IfcIdentifier(t[5].value):null,t[6]?new t_.IfcText(t[6].value):null)},4208778838:function(e,t){return new t_.IfcProduct(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null)},103090709:function(e,t){return new t_.IfcProject(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new t_.IfcLabel(t[5].value):null,t[6]?new t_.IfcLabel(t[6].value):null,t[7]?t[7].map((function(e){return new H_(e.value)})):null,t[8]?new H_(t[8].value):null)},653396225:function(e,t){return new t_.IfcProjectLibrary(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new t_.IfcLabel(t[5].value):null,t[6]?new t_.IfcLabel(t[6].value):null,t[7]?t[7].map((function(e){return new H_(e.value)})):null,t[8]?new H_(t[8].value):null)},871118103:function(e,t){return new t_.IfcPropertyBoundedValue(e,new t_.IfcIdentifier(t[0].value),t[1]?new t_.IfcText(t[1].value):null,t[2]?K_(3,t[2]):null,t[3]?K_(3,t[3]):null,t[4]?new H_(t[4].value):null,t[5]?K_(3,t[5]):null)},4166981789:function(e,t){return new t_.IfcPropertyEnumeratedValue(e,new t_.IfcIdentifier(t[0].value),t[1]?new t_.IfcText(t[1].value):null,t[2]?t[2].map((function(e){return K_(3,e)})):null,t[3]?new H_(t[3].value):null)},2752243245:function(e,t){return new t_.IfcPropertyListValue(e,new t_.IfcIdentifier(t[0].value),t[1]?new t_.IfcText(t[1].value):null,t[2]?t[2].map((function(e){return K_(3,e)})):null,t[3]?new H_(t[3].value):null)},941946838:function(e,t){return new t_.IfcPropertyReferenceValue(e,new t_.IfcIdentifier(t[0].value),t[1]?new t_.IfcText(t[1].value):null,t[2]?new t_.IfcText(t[2].value):null,t[3]?new H_(t[3].value):null)},1451395588:function(e,t){return new t_.IfcPropertySet(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4].map((function(e){return new H_(e.value)})))},492091185:function(e,t){return new t_.IfcPropertySetTemplate(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4],t[5]?new t_.IfcIdentifier(t[5].value):null,t[6].map((function(e){return new H_(e.value)})))},3650150729:function(e,t){return new t_.IfcPropertySingleValue(e,new t_.IfcIdentifier(t[0].value),t[1]?new t_.IfcText(t[1].value):null,t[2]?K_(3,t[2]):null,t[3]?new H_(t[3].value):null)},110355661:function(e,t){return new t_.IfcPropertyTableValue(e,new t_.IfcIdentifier(t[0].value),t[1]?new t_.IfcText(t[1].value):null,t[2]?t[2].map((function(e){return K_(3,e)})):null,t[3]?t[3].map((function(e){return K_(3,e)})):null,t[4]?new t_.IfcText(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7])},3521284610:function(e,t){return new t_.IfcPropertyTemplate(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null)},2770003689:function(e,t){return new t_.IfcRectangleHollowProfileDef(e,t[0],t[1]?new t_.IfcLabel(t[1].value):null,t[2]?new H_(t[2].value):null,new t_.IfcPositiveLengthMeasure(t[3].value),new t_.IfcPositiveLengthMeasure(t[4].value),new t_.IfcPositiveLengthMeasure(t[5].value),t[6]?new t_.IfcNonNegativeLengthMeasure(t[6].value):null,t[7]?new t_.IfcNonNegativeLengthMeasure(t[7].value):null)},2798486643:function(e,t){return new t_.IfcRectangularPyramid(e,new H_(t[0].value),new t_.IfcPositiveLengthMeasure(t[1].value),new t_.IfcPositiveLengthMeasure(t[2].value),new t_.IfcPositiveLengthMeasure(t[3].value))},3454111270:function(e,t){return new t_.IfcRectangularTrimmedSurface(e,new H_(t[0].value),new t_.IfcParameterValue(t[1].value),new t_.IfcParameterValue(t[2].value),new t_.IfcParameterValue(t[3].value),new t_.IfcParameterValue(t[4].value),new t_.IfcBoolean(t[5].value),new t_.IfcBoolean(t[6].value))},3765753017:function(e,t){return new t_.IfcReinforcementDefinitionProperties(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5].map((function(e){return new H_(e.value)})))},3939117080:function(e,t){return new t_.IfcRelAssigns(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4].map((function(e){return new H_(e.value)})),t[5])},1683148259:function(e,t){return new t_.IfcRelAssignsToActor(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4].map((function(e){return new H_(e.value)})),t[5],new H_(t[6].value),t[7]?new H_(t[7].value):null)},2495723537:function(e,t){return new t_.IfcRelAssignsToControl(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4].map((function(e){return new H_(e.value)})),t[5],new H_(t[6].value))},1307041759:function(e,t){return new t_.IfcRelAssignsToGroup(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4].map((function(e){return new H_(e.value)})),t[5],new H_(t[6].value))},1027710054:function(e,t){return new t_.IfcRelAssignsToGroupByFactor(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4].map((function(e){return new H_(e.value)})),t[5],new H_(t[6].value),new t_.IfcRatioMeasure(t[7].value))},4278684876:function(e,t){return new t_.IfcRelAssignsToProcess(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4].map((function(e){return new H_(e.value)})),t[5],new H_(t[6].value),t[7]?new H_(t[7].value):null)},2857406711:function(e,t){return new t_.IfcRelAssignsToProduct(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4].map((function(e){return new H_(e.value)})),t[5],new H_(t[6].value))},205026976:function(e,t){return new t_.IfcRelAssignsToResource(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4].map((function(e){return new H_(e.value)})),t[5],new H_(t[6].value))},1865459582:function(e,t){return new t_.IfcRelAssociates(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4].map((function(e){return new H_(e.value)})))},4095574036:function(e,t){return new t_.IfcRelAssociatesApproval(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4].map((function(e){return new H_(e.value)})),new H_(t[5].value))},919958153:function(e,t){return new t_.IfcRelAssociatesClassification(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4].map((function(e){return new H_(e.value)})),new H_(t[5].value))},2728634034:function(e,t){return new t_.IfcRelAssociatesConstraint(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4].map((function(e){return new H_(e.value)})),t[5]?new t_.IfcLabel(t[5].value):null,new H_(t[6].value))},982818633:function(e,t){return new t_.IfcRelAssociatesDocument(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4].map((function(e){return new H_(e.value)})),new H_(t[5].value))},3840914261:function(e,t){return new t_.IfcRelAssociatesLibrary(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4].map((function(e){return new H_(e.value)})),new H_(t[5].value))},2655215786:function(e,t){return new t_.IfcRelAssociatesMaterial(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4].map((function(e){return new H_(e.value)})),new H_(t[5].value))},1033248425:function(e,t){return new t_.IfcRelAssociatesProfileDef(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4].map((function(e){return new H_(e.value)})),new H_(t[5].value))},826625072:function(e,t){return new t_.IfcRelConnects(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null)},1204542856:function(e,t){return new t_.IfcRelConnectsElements(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new H_(t[4].value):null,new H_(t[5].value),new H_(t[6].value))},3945020480:function(e,t){return new t_.IfcRelConnectsPathElements(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new H_(t[4].value):null,new H_(t[5].value),new H_(t[6].value),t[7].map((function(e){return new t_.IfcInteger(e.value)})),t[8].map((function(e){return new t_.IfcInteger(e.value)})),t[9],t[10])},4201705270:function(e,t){return new t_.IfcRelConnectsPortToElement(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,new H_(t[4].value),new H_(t[5].value))},3190031847:function(e,t){return new t_.IfcRelConnectsPorts(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,new H_(t[4].value),new H_(t[5].value),t[6]?new H_(t[6].value):null)},2127690289:function(e,t){return new t_.IfcRelConnectsStructuralActivity(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,new H_(t[4].value),new H_(t[5].value))},1638771189:function(e,t){return new t_.IfcRelConnectsStructuralMember(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,new H_(t[4].value),new H_(t[5].value),t[6]?new H_(t[6].value):null,t[7]?new H_(t[7].value):null,t[8]?new t_.IfcLengthMeasure(t[8].value):null,t[9]?new H_(t[9].value):null)},504942748:function(e,t){return new t_.IfcRelConnectsWithEccentricity(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,new H_(t[4].value),new H_(t[5].value),t[6]?new H_(t[6].value):null,t[7]?new H_(t[7].value):null,t[8]?new t_.IfcLengthMeasure(t[8].value):null,t[9]?new H_(t[9].value):null,new H_(t[10].value))},3678494232:function(e,t){return new t_.IfcRelConnectsWithRealizingElements(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new H_(t[4].value):null,new H_(t[5].value),new H_(t[6].value),t[7].map((function(e){return new H_(e.value)})),t[8]?new t_.IfcLabel(t[8].value):null)},3242617779:function(e,t){return new t_.IfcRelContainedInSpatialStructure(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4].map((function(e){return new H_(e.value)})),new H_(t[5].value))},886880790:function(e,t){return new t_.IfcRelCoversBldgElements(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,new H_(t[4].value),t[5].map((function(e){return new H_(e.value)})))},2802773753:function(e,t){return new t_.IfcRelCoversSpaces(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,new H_(t[4].value),t[5].map((function(e){return new H_(e.value)})))},2565941209:function(e,t){return new t_.IfcRelDeclares(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,new H_(t[4].value),t[5].map((function(e){return new H_(e.value)})))},2551354335:function(e,t){return new t_.IfcRelDecomposes(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null)},693640335:function(e,t){return new t_.IfcRelDefines(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null)},1462361463:function(e,t){return new t_.IfcRelDefinesByObject(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4].map((function(e){return new H_(e.value)})),new H_(t[5].value))},4186316022:function(e,t){return new t_.IfcRelDefinesByProperties(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4].map((function(e){return new H_(e.value)})),new H_(t[5].value))},307848117:function(e,t){return new t_.IfcRelDefinesByTemplate(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4].map((function(e){return new H_(e.value)})),new H_(t[5].value))},781010003:function(e,t){return new t_.IfcRelDefinesByType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4].map((function(e){return new H_(e.value)})),new H_(t[5].value))},3940055652:function(e,t){return new t_.IfcRelFillsElement(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,new H_(t[4].value),new H_(t[5].value))},279856033:function(e,t){return new t_.IfcRelFlowControlElements(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4].map((function(e){return new H_(e.value)})),new H_(t[5].value))},427948657:function(e,t){return new t_.IfcRelInterferesElements(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,new H_(t[4].value),new H_(t[5].value),t[6]?new H_(t[6].value):null,t[7]?new H_(t[7].value):null,t[8]?new t_.IfcIdentifier(t[8].value):null,new t_.IfcLogical(t[9].value))},3268803585:function(e,t){return new t_.IfcRelNests(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,new H_(t[4].value),t[5].map((function(e){return new H_(e.value)})))},1441486842:function(e,t){return new t_.IfcRelPositions(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,new H_(t[4].value),t[5].map((function(e){return new H_(e.value)})))},750771296:function(e,t){return new t_.IfcRelProjectsElement(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,new H_(t[4].value),new H_(t[5].value))},1245217292:function(e,t){return new t_.IfcRelReferencedInSpatialStructure(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4].map((function(e){return new H_(e.value)})),new H_(t[5].value))},4122056220:function(e,t){return new t_.IfcRelSequence(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,new H_(t[4].value),new H_(t[5].value),t[6]?new H_(t[6].value):null,t[7],t[8]?new t_.IfcLabel(t[8].value):null)},366585022:function(e,t){return new t_.IfcRelServicesBuildings(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,new H_(t[4].value),t[5].map((function(e){return new H_(e.value)})))},3451746338:function(e,t){return new t_.IfcRelSpaceBoundary(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,new H_(t[4].value),new H_(t[5].value),t[6]?new H_(t[6].value):null,t[7],t[8])},3523091289:function(e,t){return new t_.IfcRelSpaceBoundary1stLevel(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,new H_(t[4].value),new H_(t[5].value),t[6]?new H_(t[6].value):null,t[7],t[8],t[9]?new H_(t[9].value):null)},1521410863:function(e,t){return new t_.IfcRelSpaceBoundary2ndLevel(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,new H_(t[4].value),new H_(t[5].value),t[6]?new H_(t[6].value):null,t[7],t[8],t[9]?new H_(t[9].value):null,t[10]?new H_(t[10].value):null)},1401173127:function(e,t){return new t_.IfcRelVoidsElement(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,new H_(t[4].value),new H_(t[5].value))},816062949:function(e,t){return new t_.IfcReparametrisedCompositeCurveSegment(e,t[0],new t_.IfcBoolean(t[1].value),new H_(t[2].value),new t_.IfcParameterValue(t[3].value))},2914609552:function(e,t){return new t_.IfcResource(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new t_.IfcIdentifier(t[5].value):null,t[6]?new t_.IfcText(t[6].value):null)},1856042241:function(e,t){return new t_.IfcRevolvedAreaSolid(e,new H_(t[0].value),t[1]?new H_(t[1].value):null,new H_(t[2].value),new t_.IfcPlaneAngleMeasure(t[3].value))},3243963512:function(e,t){return new t_.IfcRevolvedAreaSolidTapered(e,new H_(t[0].value),t[1]?new H_(t[1].value):null,new H_(t[2].value),new t_.IfcPlaneAngleMeasure(t[3].value),new H_(t[4].value))},4158566097:function(e,t){return new t_.IfcRightCircularCone(e,new H_(t[0].value),new t_.IfcPositiveLengthMeasure(t[1].value),new t_.IfcPositiveLengthMeasure(t[2].value))},3626867408:function(e,t){return new t_.IfcRightCircularCylinder(e,new H_(t[0].value),new t_.IfcPositiveLengthMeasure(t[1].value),new t_.IfcPositiveLengthMeasure(t[2].value))},1862484736:function(e,t){return new t_.IfcSectionedSolid(e,new H_(t[0].value),t[1].map((function(e){return new H_(e.value)})))},1290935644:function(e,t){return new t_.IfcSectionedSolidHorizontal(e,new H_(t[0].value),t[1].map((function(e){return new H_(e.value)})),t[2].map((function(e){return new H_(e.value)})))},1356537516:function(e,t){return new t_.IfcSectionedSurface(e,new H_(t[0].value),t[1].map((function(e){return new H_(e.value)})),t[2].map((function(e){return new H_(e.value)})))},3663146110:function(e,t){return new t_.IfcSimplePropertyTemplate(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4],t[5]?new t_.IfcLabel(t[5].value):null,t[6]?new t_.IfcLabel(t[6].value):null,t[7]?new H_(t[7].value):null,t[8]?new H_(t[8].value):null,t[9]?new H_(t[9].value):null,t[10]?new t_.IfcLabel(t[10].value):null,t[11])},1412071761:function(e,t){return new t_.IfcSpatialElement(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcLabel(t[7].value):null)},710998568:function(e,t){return new t_.IfcSpatialElementType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null)},2706606064:function(e,t){return new t_.IfcSpatialStructureElement(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8])},3893378262:function(e,t){return new t_.IfcSpatialStructureElementType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null)},463610769:function(e,t){return new t_.IfcSpatialZone(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8])},2481509218:function(e,t){return new t_.IfcSpatialZoneType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9],t[10]?new t_.IfcLabel(t[10].value):null)},451544542:function(e,t){return new t_.IfcSphere(e,new H_(t[0].value),new t_.IfcPositiveLengthMeasure(t[1].value))},4015995234:function(e,t){return new t_.IfcSphericalSurface(e,new H_(t[0].value),new t_.IfcPositiveLengthMeasure(t[1].value))},2735484536:function(e,t){return new t_.IfcSpiral(e,t[0]?new H_(t[0].value):null)},3544373492:function(e,t){return new t_.IfcStructuralActivity(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,new H_(t[7].value),t[8])},3136571912:function(e,t){return new t_.IfcStructuralItem(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null)},530289379:function(e,t){return new t_.IfcStructuralMember(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null)},3689010777:function(e,t){return new t_.IfcStructuralReaction(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,new H_(t[7].value),t[8])},3979015343:function(e,t){return new t_.IfcStructuralSurfaceMember(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7],t[8]?new t_.IfcPositiveLengthMeasure(t[8].value):null)},2218152070:function(e,t){return new t_.IfcStructuralSurfaceMemberVarying(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7],t[8]?new t_.IfcPositiveLengthMeasure(t[8].value):null)},603775116:function(e,t){return new t_.IfcStructuralSurfaceReaction(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,new H_(t[7].value),t[8],t[9])},4095615324:function(e,t){return new t_.IfcSubContractResourceType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?new t_.IfcIdentifier(t[6].value):null,t[7]?new t_.IfcText(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9]?t[9].map((function(e){return new H_(e.value)})):null,t[10]?new H_(t[10].value):null,t[11])},699246055:function(e,t){return new t_.IfcSurfaceCurve(e,new H_(t[0].value),t[1].map((function(e){return new H_(e.value)})),t[2])},2028607225:function(e,t){return new t_.IfcSurfaceCurveSweptAreaSolid(e,new H_(t[0].value),t[1]?new H_(t[1].value):null,new H_(t[2].value),t[3]?K_(3,t[3]):null,t[4]?K_(3,t[4]):null,new H_(t[5].value))},2809605785:function(e,t){return new t_.IfcSurfaceOfLinearExtrusion(e,new H_(t[0].value),t[1]?new H_(t[1].value):null,new H_(t[2].value),new t_.IfcLengthMeasure(t[3].value))},4124788165:function(e,t){return new t_.IfcSurfaceOfRevolution(e,new H_(t[0].value),t[1]?new H_(t[1].value):null,new H_(t[2].value))},1580310250:function(e,t){return new t_.IfcSystemFurnitureElementType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9])},3473067441:function(e,t){return new t_.IfcTask(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new t_.IfcIdentifier(t[5].value):null,t[6]?new t_.IfcText(t[6].value):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,new t_.IfcBoolean(t[9].value),t[10]?new t_.IfcInteger(t[10].value):null,t[11]?new H_(t[11].value):null,t[12])},3206491090:function(e,t){return new t_.IfcTaskType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?new t_.IfcIdentifier(t[6].value):null,t[7]?new t_.IfcText(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9],t[10]?new t_.IfcLabel(t[10].value):null)},2387106220:function(e,t){return new t_.IfcTessellatedFaceSet(e,new H_(t[0].value),t[1]?new t_.IfcBoolean(t[1].value):null)},782932809:function(e,t){return new t_.IfcThirdOrderPolynomialSpiral(e,t[0]?new H_(t[0].value):null,new t_.IfcLengthMeasure(t[1].value),t[2]?new t_.IfcLengthMeasure(t[2].value):null,t[3]?new t_.IfcLengthMeasure(t[3].value):null,t[4]?new t_.IfcLengthMeasure(t[4].value):null)},1935646853:function(e,t){return new t_.IfcToroidalSurface(e,new H_(t[0].value),new t_.IfcPositiveLengthMeasure(t[1].value),new t_.IfcPositiveLengthMeasure(t[2].value))},3665877780:function(e,t){return new t_.IfcTransportationDeviceType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null)},2916149573:function(e,t){return new t_.IfcTriangulatedFaceSet(e,new H_(t[0].value),t[1]?new t_.IfcBoolean(t[1].value):null,t[2]?t[2].map((function(e){return new t_.IfcParameterValue(e.value)})):null,t[3].map((function(e){return new t_.IfcPositiveInteger(e.value)})),t[4]?t[4].map((function(e){return new t_.IfcPositiveInteger(e.value)})):null)},1229763772:function(e,t){return new t_.IfcTriangulatedIrregularNetwork(e,new H_(t[0].value),t[1]?new t_.IfcBoolean(t[1].value):null,t[2]?t[2].map((function(e){return new t_.IfcParameterValue(e.value)})):null,t[3].map((function(e){return new t_.IfcPositiveInteger(e.value)})),t[4]?t[4].map((function(e){return new t_.IfcPositiveInteger(e.value)})):null,t[5].map((function(e){return new t_.IfcInteger(e.value)})))},3651464721:function(e,t){return new t_.IfcVehicleType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9])},336235671:function(e,t){return new t_.IfcWindowLiningProperties(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcPositiveLengthMeasure(t[4].value):null,t[5]?new t_.IfcNonNegativeLengthMeasure(t[5].value):null,t[6]?new t_.IfcNonNegativeLengthMeasure(t[6].value):null,t[7]?new t_.IfcNonNegativeLengthMeasure(t[7].value):null,t[8]?new t_.IfcNormalisedRatioMeasure(t[8].value):null,t[9]?new t_.IfcNormalisedRatioMeasure(t[9].value):null,t[10]?new t_.IfcNormalisedRatioMeasure(t[10].value):null,t[11]?new t_.IfcNormalisedRatioMeasure(t[11].value):null,t[12]?new H_(t[12].value):null,t[13]?new t_.IfcLengthMeasure(t[13].value):null,t[14]?new t_.IfcLengthMeasure(t[14].value):null,t[15]?new t_.IfcLengthMeasure(t[15].value):null)},512836454:function(e,t){return new t_.IfcWindowPanelProperties(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4],t[5],t[6]?new t_.IfcPositiveLengthMeasure(t[6].value):null,t[7]?new t_.IfcPositiveLengthMeasure(t[7].value):null,t[8]?new H_(t[8].value):null)},2296667514:function(e,t){return new t_.IfcActor(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,new H_(t[5].value))},1635779807:function(e,t){return new t_.IfcAdvancedBrep(e,new H_(t[0].value))},2603310189:function(e,t){return new t_.IfcAdvancedBrepWithVoids(e,new H_(t[0].value),t[1].map((function(e){return new H_(e.value)})))},1674181508:function(e,t){return new t_.IfcAnnotation(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7])},2887950389:function(e,t){return new t_.IfcBSplineSurface(e,new t_.IfcInteger(t[0].value),new t_.IfcInteger(t[1].value),t[2].map((function(e){return new H_(e.value)})),t[3],new t_.IfcLogical(t[4].value),new t_.IfcLogical(t[5].value),new t_.IfcLogical(t[6].value))},167062518:function(e,t){return new t_.IfcBSplineSurfaceWithKnots(e,new t_.IfcInteger(t[0].value),new t_.IfcInteger(t[1].value),t[2].map((function(e){return new H_(e.value)})),t[3],new t_.IfcLogical(t[4].value),new t_.IfcLogical(t[5].value),new t_.IfcLogical(t[6].value),t[7].map((function(e){return new t_.IfcInteger(e.value)})),t[8].map((function(e){return new t_.IfcInteger(e.value)})),t[9].map((function(e){return new t_.IfcParameterValue(e.value)})),t[10].map((function(e){return new t_.IfcParameterValue(e.value)})),t[11])},1334484129:function(e,t){return new t_.IfcBlock(e,new H_(t[0].value),new t_.IfcPositiveLengthMeasure(t[1].value),new t_.IfcPositiveLengthMeasure(t[2].value),new t_.IfcPositiveLengthMeasure(t[3].value))},3649129432:function(e,t){return new t_.IfcBooleanClippingResult(e,t[0],new H_(t[1].value),new H_(t[2].value))},1260505505:function(e,t){return new t_.IfcBoundedCurve(e)},3124254112:function(e,t){return new t_.IfcBuildingStorey(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8],t[9]?new t_.IfcLengthMeasure(t[9].value):null)},1626504194:function(e,t){return new t_.IfcBuiltElementType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null)},2197970202:function(e,t){return new t_.IfcChimneyType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9])},2937912522:function(e,t){return new t_.IfcCircleHollowProfileDef(e,t[0],t[1]?new t_.IfcLabel(t[1].value):null,t[2]?new H_(t[2].value):null,new t_.IfcPositiveLengthMeasure(t[3].value),new t_.IfcPositiveLengthMeasure(t[4].value))},3893394355:function(e,t){return new t_.IfcCivilElementType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null)},3497074424:function(e,t){return new t_.IfcClothoid(e,t[0]?new H_(t[0].value):null,new t_.IfcLengthMeasure(t[1].value))},300633059:function(e,t){return new t_.IfcColumnType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9])},3875453745:function(e,t){return new t_.IfcComplexPropertyTemplate(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5],t[6]?t[6].map((function(e){return new H_(e.value)})):null)},3732776249:function(e,t){return new t_.IfcCompositeCurve(e,t[0].map((function(e){return new H_(e.value)})),new t_.IfcLogical(t[1].value))},15328376:function(e,t){return new t_.IfcCompositeCurveOnSurface(e,t[0].map((function(e){return new H_(e.value)})),new t_.IfcLogical(t[1].value))},2510884976:function(e,t){return new t_.IfcConic(e,new H_(t[0].value))},2185764099:function(e,t){return new t_.IfcConstructionEquipmentResourceType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?new t_.IfcIdentifier(t[6].value):null,t[7]?new t_.IfcText(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9]?t[9].map((function(e){return new H_(e.value)})):null,t[10]?new H_(t[10].value):null,t[11])},4105962743:function(e,t){return new t_.IfcConstructionMaterialResourceType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?new t_.IfcIdentifier(t[6].value):null,t[7]?new t_.IfcText(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9]?t[9].map((function(e){return new H_(e.value)})):null,t[10]?new H_(t[10].value):null,t[11])},1525564444:function(e,t){return new t_.IfcConstructionProductResourceType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?new t_.IfcIdentifier(t[6].value):null,t[7]?new t_.IfcText(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9]?t[9].map((function(e){return new H_(e.value)})):null,t[10]?new H_(t[10].value):null,t[11])},2559216714:function(e,t){return new t_.IfcConstructionResource(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new t_.IfcIdentifier(t[5].value):null,t[6]?new t_.IfcText(t[6].value):null,t[7]?new H_(t[7].value):null,t[8]?t[8].map((function(e){return new H_(e.value)})):null,t[9]?new H_(t[9].value):null)},3293443760:function(e,t){return new t_.IfcControl(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new t_.IfcIdentifier(t[5].value):null)},2000195564:function(e,t){return new t_.IfcCosineSpiral(e,t[0]?new H_(t[0].value):null,new t_.IfcLengthMeasure(t[1].value),t[2]?new t_.IfcLengthMeasure(t[2].value):null)},3895139033:function(e,t){return new t_.IfcCostItem(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new t_.IfcIdentifier(t[5].value):null,t[6],t[7]?t[7].map((function(e){return new H_(e.value)})):null,t[8]?t[8].map((function(e){return new H_(e.value)})):null)},1419761937:function(e,t){return new t_.IfcCostSchedule(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new t_.IfcIdentifier(t[5].value):null,t[6],t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcDateTime(t[8].value):null,t[9]?new t_.IfcDateTime(t[9].value):null)},4189326743:function(e,t){return new t_.IfcCourseType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9])},1916426348:function(e,t){return new t_.IfcCoveringType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9])},3295246426:function(e,t){return new t_.IfcCrewResource(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new t_.IfcIdentifier(t[5].value):null,t[6]?new t_.IfcText(t[6].value):null,t[7]?new H_(t[7].value):null,t[8]?t[8].map((function(e){return new H_(e.value)})):null,t[9]?new H_(t[9].value):null,t[10])},1457835157:function(e,t){return new t_.IfcCurtainWallType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9])},1213902940:function(e,t){return new t_.IfcCylindricalSurface(e,new H_(t[0].value),new t_.IfcPositiveLengthMeasure(t[1].value))},1306400036:function(e,t){return new t_.IfcDeepFoundationType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null)},4234616927:function(e,t){return new t_.IfcDirectrixDerivedReferenceSweptAreaSolid(e,new H_(t[0].value),t[1]?new H_(t[1].value):null,new H_(t[2].value),t[3]?K_(3,t[3]):null,t[4]?K_(3,t[4]):null,new H_(t[5].value))},3256556792:function(e,t){return new t_.IfcDistributionElementType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null)},3849074793:function(e,t){return new t_.IfcDistributionFlowElementType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null)},2963535650:function(e,t){return new t_.IfcDoorLiningProperties(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcPositiveLengthMeasure(t[4].value):null,t[5]?new t_.IfcNonNegativeLengthMeasure(t[5].value):null,t[6]?new t_.IfcPositiveLengthMeasure(t[6].value):null,t[7]?new t_.IfcNonNegativeLengthMeasure(t[7].value):null,t[8]?new t_.IfcNonNegativeLengthMeasure(t[8].value):null,t[9]?new t_.IfcLengthMeasure(t[9].value):null,t[10]?new t_.IfcLengthMeasure(t[10].value):null,t[11]?new t_.IfcLengthMeasure(t[11].value):null,t[12]?new t_.IfcPositiveLengthMeasure(t[12].value):null,t[13]?new t_.IfcPositiveLengthMeasure(t[13].value):null,t[14]?new H_(t[14].value):null,t[15]?new t_.IfcLengthMeasure(t[15].value):null,t[16]?new t_.IfcLengthMeasure(t[16].value):null)},1714330368:function(e,t){return new t_.IfcDoorPanelProperties(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcPositiveLengthMeasure(t[4].value):null,t[5],t[6]?new t_.IfcNormalisedRatioMeasure(t[6].value):null,t[7],t[8]?new H_(t[8].value):null)},2323601079:function(e,t){return new t_.IfcDoorType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9],t[10],t[11]?new t_.IfcBoolean(t[11].value):null,t[12]?new t_.IfcLabel(t[12].value):null)},445594917:function(e,t){return new t_.IfcDraughtingPreDefinedColour(e,new t_.IfcLabel(t[0].value))},4006246654:function(e,t){return new t_.IfcDraughtingPreDefinedCurveFont(e,new t_.IfcLabel(t[0].value))},1758889154:function(e,t){return new t_.IfcElement(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null)},4123344466:function(e,t){return new t_.IfcElementAssembly(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8],t[9])},2397081782:function(e,t){return new t_.IfcElementAssemblyType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9])},1623761950:function(e,t){return new t_.IfcElementComponent(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null)},2590856083:function(e,t){return new t_.IfcElementComponentType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null)},1704287377:function(e,t){return new t_.IfcEllipse(e,new H_(t[0].value),new t_.IfcPositiveLengthMeasure(t[1].value),new t_.IfcPositiveLengthMeasure(t[2].value))},2107101300:function(e,t){return new t_.IfcEnergyConversionDeviceType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null)},132023988:function(e,t){return new t_.IfcEngineType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9])},3174744832:function(e,t){return new t_.IfcEvaporativeCoolerType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9])},3390157468:function(e,t){return new t_.IfcEvaporatorType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9])},4148101412:function(e,t){return new t_.IfcEvent(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new t_.IfcIdentifier(t[5].value):null,t[6]?new t_.IfcText(t[6].value):null,t[7],t[8],t[9]?new t_.IfcLabel(t[9].value):null,t[10]?new H_(t[10].value):null)},2853485674:function(e,t){return new t_.IfcExternalSpatialStructureElement(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcLabel(t[7].value):null)},807026263:function(e,t){return new t_.IfcFacetedBrep(e,new H_(t[0].value))},3737207727:function(e,t){return new t_.IfcFacetedBrepWithVoids(e,new H_(t[0].value),t[1].map((function(e){return new H_(e.value)})))},24185140:function(e,t){return new t_.IfcFacility(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8])},1310830890:function(e,t){return new t_.IfcFacilityPart(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8],t[9])},4228831410:function(e,t){return new t_.IfcFacilityPartCommon(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8],t[9],t[10])},647756555:function(e,t){return new t_.IfcFastener(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8])},2489546625:function(e,t){return new t_.IfcFastenerType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9])},2827207264:function(e,t){return new t_.IfcFeatureElement(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null)},2143335405:function(e,t){return new t_.IfcFeatureElementAddition(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null)},1287392070:function(e,t){return new t_.IfcFeatureElementSubtraction(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null)},3907093117:function(e,t){return new t_.IfcFlowControllerType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null)},3198132628:function(e,t){return new t_.IfcFlowFittingType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null)},3815607619:function(e,t){return new t_.IfcFlowMeterType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9])},1482959167:function(e,t){return new t_.IfcFlowMovingDeviceType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null)},1834744321:function(e,t){return new t_.IfcFlowSegmentType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null)},1339347760:function(e,t){return new t_.IfcFlowStorageDeviceType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null)},2297155007:function(e,t){return new t_.IfcFlowTerminalType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null)},3009222698:function(e,t){return new t_.IfcFlowTreatmentDeviceType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null)},1893162501:function(e,t){return new t_.IfcFootingType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9])},263784265:function(e,t){return new t_.IfcFurnishingElement(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null)},1509553395:function(e,t){return new t_.IfcFurniture(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8])},3493046030:function(e,t){return new t_.IfcGeographicElement(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8])},4230923436:function(e,t){return new t_.IfcGeotechnicalElement(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null)},1594536857:function(e,t){return new t_.IfcGeotechnicalStratum(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8])},2898700619:function(e,t){return new t_.IfcGradientCurve(e,t[0].map((function(e){return new H_(e.value)})),new t_.IfcLogical(t[1].value),new H_(t[2].value),t[3]?new H_(t[3].value):null)},2706460486:function(e,t){return new t_.IfcGroup(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null)},1251058090:function(e,t){return new t_.IfcHeatExchangerType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9])},1806887404:function(e,t){return new t_.IfcHumidifierType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9])},2568555532:function(e,t){return new t_.IfcImpactProtectionDevice(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8])},3948183225:function(e,t){return new t_.IfcImpactProtectionDeviceType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9])},2571569899:function(e,t){return new t_.IfcIndexedPolyCurve(e,new H_(t[0].value),t[1]?t[1].map((function(e){return K_(3,e)})):null,new t_.IfcLogical(t[2].value))},3946677679:function(e,t){return new t_.IfcInterceptorType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9])},3113134337:function(e,t){return new t_.IfcIntersectionCurve(e,new H_(t[0].value),t[1].map((function(e){return new H_(e.value)})),t[2])},2391368822:function(e,t){return new t_.IfcInventory(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5],t[6]?new H_(t[6].value):null,t[7]?t[7].map((function(e){return new H_(e.value)})):null,t[8]?new t_.IfcDate(t[8].value):null,t[9]?new H_(t[9].value):null,t[10]?new H_(t[10].value):null)},4288270099:function(e,t){return new t_.IfcJunctionBoxType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9])},679976338:function(e,t){return new t_.IfcKerbType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,new t_.IfcBoolean(t[9].value))},3827777499:function(e,t){return new t_.IfcLaborResource(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new t_.IfcIdentifier(t[5].value):null,t[6]?new t_.IfcText(t[6].value):null,t[7]?new H_(t[7].value):null,t[8]?t[8].map((function(e){return new H_(e.value)})):null,t[9]?new H_(t[9].value):null,t[10])},1051575348:function(e,t){return new t_.IfcLampType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9])},1161773419:function(e,t){return new t_.IfcLightFixtureType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9])},2176059722:function(e,t){return new t_.IfcLinearElement(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null)},1770583370:function(e,t){return new t_.IfcLiquidTerminalType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9])},525669439:function(e,t){return new t_.IfcMarineFacility(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8],t[9])},976884017:function(e,t){return new t_.IfcMarinePart(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8],t[9],t[10])},377706215:function(e,t){return new t_.IfcMechanicalFastener(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8]?new t_.IfcPositiveLengthMeasure(t[8].value):null,t[9]?new t_.IfcPositiveLengthMeasure(t[9].value):null,t[10])},2108223431:function(e,t){return new t_.IfcMechanicalFastenerType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9],t[10]?new t_.IfcPositiveLengthMeasure(t[10].value):null,t[11]?new t_.IfcPositiveLengthMeasure(t[11].value):null)},1114901282:function(e,t){return new t_.IfcMedicalDeviceType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9])},3181161470:function(e,t){return new t_.IfcMemberType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9])},1950438474:function(e,t){return new t_.IfcMobileTelecommunicationsApplianceType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9])},710110818:function(e,t){return new t_.IfcMooringDeviceType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9])},977012517:function(e,t){return new t_.IfcMotorConnectionType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9])},506776471:function(e,t){return new t_.IfcNavigationElementType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9])},4143007308:function(e,t){return new t_.IfcOccupant(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,new H_(t[5].value),t[6])},3588315303:function(e,t){return new t_.IfcOpeningElement(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8])},2837617999:function(e,t){return new t_.IfcOutletType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9])},514975943:function(e,t){return new t_.IfcPavementType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9])},2382730787:function(e,t){return new t_.IfcPerformanceHistory(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new t_.IfcIdentifier(t[5].value):null,new t_.IfcLabel(t[6].value),t[7])},3566463478:function(e,t){return new t_.IfcPermeableCoveringProperties(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4],t[5],t[6]?new t_.IfcPositiveLengthMeasure(t[6].value):null,t[7]?new t_.IfcPositiveLengthMeasure(t[7].value):null,t[8]?new H_(t[8].value):null)},3327091369:function(e,t){return new t_.IfcPermit(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new t_.IfcIdentifier(t[5].value):null,t[6],t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcText(t[8].value):null)},1158309216:function(e,t){return new t_.IfcPileType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9])},804291784:function(e,t){return new t_.IfcPipeFittingType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9])},4231323485:function(e,t){return new t_.IfcPipeSegmentType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9])},4017108033:function(e,t){return new t_.IfcPlateType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9])},2839578677:function(e,t){return new t_.IfcPolygonalFaceSet(e,new H_(t[0].value),t[1]?new t_.IfcBoolean(t[1].value):null,t[2].map((function(e){return new H_(e.value)})),t[3]?t[3].map((function(e){return new t_.IfcPositiveInteger(e.value)})):null)},3724593414:function(e,t){return new t_.IfcPolyline(e,t[0].map((function(e){return new H_(e.value)})))},3740093272:function(e,t){return new t_.IfcPort(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null)},1946335990:function(e,t){return new t_.IfcPositioningElement(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null)},2744685151:function(e,t){return new t_.IfcProcedure(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new t_.IfcIdentifier(t[5].value):null,t[6]?new t_.IfcText(t[6].value):null,t[7])},2904328755:function(e,t){return new t_.IfcProjectOrder(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new t_.IfcIdentifier(t[5].value):null,t[6],t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcText(t[8].value):null)},3651124850:function(e,t){return new t_.IfcProjectionElement(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8])},1842657554:function(e,t){return new t_.IfcProtectiveDeviceType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9])},2250791053:function(e,t){return new t_.IfcPumpType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9])},1763565496:function(e,t){return new t_.IfcRailType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9])},2893384427:function(e,t){return new t_.IfcRailingType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9])},3992365140:function(e,t){return new t_.IfcRailway(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8],t[9])},1891881377:function(e,t){return new t_.IfcRailwayPart(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8],t[9],t[10])},2324767716:function(e,t){return new t_.IfcRampFlightType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9])},1469900589:function(e,t){return new t_.IfcRampType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9])},683857671:function(e,t){return new t_.IfcRationalBSplineSurfaceWithKnots(e,new t_.IfcInteger(t[0].value),new t_.IfcInteger(t[1].value),t[2].map((function(e){return new H_(e.value)})),t[3],new t_.IfcLogical(t[4].value),new t_.IfcLogical(t[5].value),new t_.IfcLogical(t[6].value),t[7].map((function(e){return new t_.IfcInteger(e.value)})),t[8].map((function(e){return new t_.IfcInteger(e.value)})),t[9].map((function(e){return new t_.IfcParameterValue(e.value)})),t[10].map((function(e){return new t_.IfcParameterValue(e.value)})),t[11],t[12].map((function(e){return new t_.IfcReal(e.value)})))},4021432810:function(e,t){return new t_.IfcReferent(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7])},3027567501:function(e,t){return new t_.IfcReinforcingElement(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null)},964333572:function(e,t){return new t_.IfcReinforcingElementType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null)},2320036040:function(e,t){return new t_.IfcReinforcingMesh(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9]?new t_.IfcPositiveLengthMeasure(t[9].value):null,t[10]?new t_.IfcPositiveLengthMeasure(t[10].value):null,t[11]?new t_.IfcPositiveLengthMeasure(t[11].value):null,t[12]?new t_.IfcPositiveLengthMeasure(t[12].value):null,t[13]?new t_.IfcAreaMeasure(t[13].value):null,t[14]?new t_.IfcAreaMeasure(t[14].value):null,t[15]?new t_.IfcPositiveLengthMeasure(t[15].value):null,t[16]?new t_.IfcPositiveLengthMeasure(t[16].value):null,t[17])},2310774935:function(e,t){return new t_.IfcReinforcingMeshType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9],t[10]?new t_.IfcPositiveLengthMeasure(t[10].value):null,t[11]?new t_.IfcPositiveLengthMeasure(t[11].value):null,t[12]?new t_.IfcPositiveLengthMeasure(t[12].value):null,t[13]?new t_.IfcPositiveLengthMeasure(t[13].value):null,t[14]?new t_.IfcAreaMeasure(t[14].value):null,t[15]?new t_.IfcAreaMeasure(t[15].value):null,t[16]?new t_.IfcPositiveLengthMeasure(t[16].value):null,t[17]?new t_.IfcPositiveLengthMeasure(t[17].value):null,t[18]?new t_.IfcLabel(t[18].value):null,t[19]?t[19].map((function(e){return K_(3,e)})):null)},3818125796:function(e,t){return new t_.IfcRelAdheresToElement(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,new H_(t[4].value),t[5].map((function(e){return new H_(e.value)})))},160246688:function(e,t){return new t_.IfcRelAggregates(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,new H_(t[4].value),t[5].map((function(e){return new H_(e.value)})))},146592293:function(e,t){return new t_.IfcRoad(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8],t[9])},550521510:function(e,t){return new t_.IfcRoadPart(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8],t[9],t[10])},2781568857:function(e,t){return new t_.IfcRoofType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9])},1768891740:function(e,t){return new t_.IfcSanitaryTerminalType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9])},2157484638:function(e,t){return new t_.IfcSeamCurve(e,new H_(t[0].value),t[1].map((function(e){return new H_(e.value)})),t[2])},3649235739:function(e,t){return new t_.IfcSecondOrderPolynomialSpiral(e,t[0]?new H_(t[0].value):null,new t_.IfcLengthMeasure(t[1].value),t[2]?new t_.IfcLengthMeasure(t[2].value):null,t[3]?new t_.IfcLengthMeasure(t[3].value):null)},544395925:function(e,t){return new t_.IfcSegmentedReferenceCurve(e,t[0].map((function(e){return new H_(e.value)})),new t_.IfcLogical(t[1].value),new H_(t[2].value),t[3]?new H_(t[3].value):null)},1027922057:function(e,t){return new t_.IfcSeventhOrderPolynomialSpiral(e,t[0]?new H_(t[0].value):null,new t_.IfcLengthMeasure(t[1].value),t[2]?new t_.IfcLengthMeasure(t[2].value):null,t[3]?new t_.IfcLengthMeasure(t[3].value):null,t[4]?new t_.IfcLengthMeasure(t[4].value):null,t[5]?new t_.IfcLengthMeasure(t[5].value):null,t[6]?new t_.IfcLengthMeasure(t[6].value):null,t[7]?new t_.IfcLengthMeasure(t[7].value):null,t[8]?new t_.IfcLengthMeasure(t[8].value):null)},4074543187:function(e,t){return new t_.IfcShadingDeviceType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9])},33720170:function(e,t){return new t_.IfcSign(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8])},3599934289:function(e,t){return new t_.IfcSignType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9])},1894708472:function(e,t){return new t_.IfcSignalType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9])},42703149:function(e,t){return new t_.IfcSineSpiral(e,t[0]?new H_(t[0].value):null,new t_.IfcLengthMeasure(t[1].value),t[2]?new t_.IfcLengthMeasure(t[2].value):null,t[3]?new t_.IfcLengthMeasure(t[3].value):null)},4097777520:function(e,t){return new t_.IfcSite(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8],t[9]?new t_.IfcCompoundPlaneAngleMeasure(t[9]):null,t[10]?new t_.IfcCompoundPlaneAngleMeasure(t[10]):null,t[11]?new t_.IfcLengthMeasure(t[11].value):null,t[12]?new t_.IfcLabel(t[12].value):null,t[13]?new H_(t[13].value):null)},2533589738:function(e,t){return new t_.IfcSlabType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9])},1072016465:function(e,t){return new t_.IfcSolarDeviceType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9])},3856911033:function(e,t){return new t_.IfcSpace(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8],t[9],t[10]?new t_.IfcLengthMeasure(t[10].value):null)},1305183839:function(e,t){return new t_.IfcSpaceHeaterType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9])},3812236995:function(e,t){return new t_.IfcSpaceType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9],t[10]?new t_.IfcLabel(t[10].value):null)},3112655638:function(e,t){return new t_.IfcStackTerminalType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9])},1039846685:function(e,t){return new t_.IfcStairFlightType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9])},338393293:function(e,t){return new t_.IfcStairType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9])},682877961:function(e,t){return new t_.IfcStructuralAction(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,new H_(t[7].value),t[8],t[9]?new t_.IfcBoolean(t[9].value):null)},1179482911:function(e,t){return new t_.IfcStructuralConnection(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new H_(t[7].value):null)},1004757350:function(e,t){return new t_.IfcStructuralCurveAction(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,new H_(t[7].value),t[8],t[9]?new t_.IfcBoolean(t[9].value):null,t[10],t[11])},4243806635:function(e,t){return new t_.IfcStructuralCurveConnection(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new H_(t[7].value):null,new H_(t[8].value))},214636428:function(e,t){return new t_.IfcStructuralCurveMember(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7],new H_(t[8].value))},2445595289:function(e,t){return new t_.IfcStructuralCurveMemberVarying(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7],new H_(t[8].value))},2757150158:function(e,t){return new t_.IfcStructuralCurveReaction(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,new H_(t[7].value),t[8],t[9])},1807405624:function(e,t){return new t_.IfcStructuralLinearAction(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,new H_(t[7].value),t[8],t[9]?new t_.IfcBoolean(t[9].value):null,t[10],t[11])},1252848954:function(e,t){return new t_.IfcStructuralLoadGroup(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5],t[6],t[7],t[8]?new t_.IfcRatioMeasure(t[8].value):null,t[9]?new t_.IfcLabel(t[9].value):null)},2082059205:function(e,t){return new t_.IfcStructuralPointAction(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,new H_(t[7].value),t[8],t[9]?new t_.IfcBoolean(t[9].value):null)},734778138:function(e,t){return new t_.IfcStructuralPointConnection(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new H_(t[7].value):null,t[8]?new H_(t[8].value):null)},1235345126:function(e,t){return new t_.IfcStructuralPointReaction(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,new H_(t[7].value),t[8])},2986769608:function(e,t){return new t_.IfcStructuralResultGroup(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5],t[6]?new H_(t[6].value):null,new t_.IfcBoolean(t[7].value))},3657597509:function(e,t){return new t_.IfcStructuralSurfaceAction(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,new H_(t[7].value),t[8],t[9]?new t_.IfcBoolean(t[9].value):null,t[10],t[11])},1975003073:function(e,t){return new t_.IfcStructuralSurfaceConnection(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new H_(t[7].value):null)},148013059:function(e,t){return new t_.IfcSubContractResource(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new t_.IfcIdentifier(t[5].value):null,t[6]?new t_.IfcText(t[6].value):null,t[7]?new H_(t[7].value):null,t[8]?t[8].map((function(e){return new H_(e.value)})):null,t[9]?new H_(t[9].value):null,t[10])},3101698114:function(e,t){return new t_.IfcSurfaceFeature(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8])},2315554128:function(e,t){return new t_.IfcSwitchingDeviceType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9])},2254336722:function(e,t){return new t_.IfcSystem(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null)},413509423:function(e,t){return new t_.IfcSystemFurnitureElement(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8])},5716631:function(e,t){return new t_.IfcTankType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9])},3824725483:function(e,t){return new t_.IfcTendon(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9],t[10]?new t_.IfcPositiveLengthMeasure(t[10].value):null,t[11]?new t_.IfcAreaMeasure(t[11].value):null,t[12]?new t_.IfcForceMeasure(t[12].value):null,t[13]?new t_.IfcPressureMeasure(t[13].value):null,t[14]?new t_.IfcNormalisedRatioMeasure(t[14].value):null,t[15]?new t_.IfcPositiveLengthMeasure(t[15].value):null,t[16]?new t_.IfcPositiveLengthMeasure(t[16].value):null)},2347447852:function(e,t){return new t_.IfcTendonAnchor(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9])},3081323446:function(e,t){return new t_.IfcTendonAnchorType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9])},3663046924:function(e,t){return new t_.IfcTendonConduit(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9])},2281632017:function(e,t){return new t_.IfcTendonConduitType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9])},2415094496:function(e,t){return new t_.IfcTendonType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9],t[10]?new t_.IfcPositiveLengthMeasure(t[10].value):null,t[11]?new t_.IfcAreaMeasure(t[11].value):null,t[12]?new t_.IfcPositiveLengthMeasure(t[12].value):null)},618700268:function(e,t){return new t_.IfcTrackElementType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9])},1692211062:function(e,t){return new t_.IfcTransformerType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9])},2097647324:function(e,t){return new t_.IfcTransportElementType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9])},1953115116:function(e,t){return new t_.IfcTransportationDevice(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null)},3593883385:function(e,t){return new t_.IfcTrimmedCurve(e,new H_(t[0].value),t[1].map((function(e){return new H_(e.value)})),t[2].map((function(e){return new H_(e.value)})),new t_.IfcBoolean(t[3].value),t[4])},1600972822:function(e,t){return new t_.IfcTubeBundleType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9])},1911125066:function(e,t){return new t_.IfcUnitaryEquipmentType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9])},728799441:function(e,t){return new t_.IfcValveType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9])},840318589:function(e,t){return new t_.IfcVehicle(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8])},1530820697:function(e,t){return new t_.IfcVibrationDamper(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8])},3956297820:function(e,t){return new t_.IfcVibrationDamperType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9])},2391383451:function(e,t){return new t_.IfcVibrationIsolator(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8])},3313531582:function(e,t){return new t_.IfcVibrationIsolatorType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9])},2769231204:function(e,t){return new t_.IfcVirtualElement(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8])},926996030:function(e,t){return new t_.IfcVoidingFeature(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8])},1898987631:function(e,t){return new t_.IfcWallType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9])},1133259667:function(e,t){return new t_.IfcWasteTerminalType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9])},4009809668:function(e,t){return new t_.IfcWindowType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9],t[10],t[11]?new t_.IfcBoolean(t[11].value):null,t[12]?new t_.IfcLabel(t[12].value):null)},4088093105:function(e,t){return new t_.IfcWorkCalendar(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new t_.IfcIdentifier(t[5].value):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?t[7].map((function(e){return new H_(e.value)})):null,t[8])},1028945134:function(e,t){return new t_.IfcWorkControl(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new t_.IfcIdentifier(t[5].value):null,new t_.IfcDateTime(t[6].value),t[7]?t[7].map((function(e){return new H_(e.value)})):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9]?new t_.IfcDuration(t[9].value):null,t[10]?new t_.IfcDuration(t[10].value):null,new t_.IfcDateTime(t[11].value),t[12]?new t_.IfcDateTime(t[12].value):null)},4218914973:function(e,t){return new t_.IfcWorkPlan(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new t_.IfcIdentifier(t[5].value):null,new t_.IfcDateTime(t[6].value),t[7]?t[7].map((function(e){return new H_(e.value)})):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9]?new t_.IfcDuration(t[9].value):null,t[10]?new t_.IfcDuration(t[10].value):null,new t_.IfcDateTime(t[11].value),t[12]?new t_.IfcDateTime(t[12].value):null,t[13])},3342526732:function(e,t){return new t_.IfcWorkSchedule(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new t_.IfcIdentifier(t[5].value):null,new t_.IfcDateTime(t[6].value),t[7]?t[7].map((function(e){return new H_(e.value)})):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9]?new t_.IfcDuration(t[9].value):null,t[10]?new t_.IfcDuration(t[10].value):null,new t_.IfcDateTime(t[11].value),t[12]?new t_.IfcDateTime(t[12].value):null,t[13])},1033361043:function(e,t){return new t_.IfcZone(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new t_.IfcLabel(t[5].value):null)},3821786052:function(e,t){return new t_.IfcActionRequest(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new t_.IfcIdentifier(t[5].value):null,t[6],t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcText(t[8].value):null)},1411407467:function(e,t){return new t_.IfcAirTerminalBoxType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9])},3352864051:function(e,t){return new t_.IfcAirTerminalType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9])},1871374353:function(e,t){return new t_.IfcAirToAirHeatRecoveryType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9])},4266260250:function(e,t){return new t_.IfcAlignmentCant(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,new t_.IfcPositiveLengthMeasure(t[7].value))},1545765605:function(e,t){return new t_.IfcAlignmentHorizontal(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null)},317615605:function(e,t){return new t_.IfcAlignmentSegment(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,new H_(t[7].value))},1662888072:function(e,t){return new t_.IfcAlignmentVertical(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null)},3460190687:function(e,t){return new t_.IfcAsset(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new t_.IfcIdentifier(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new H_(t[7].value):null,t[8]?new H_(t[8].value):null,t[9]?new H_(t[9].value):null,t[10]?new H_(t[10].value):null,t[11]?new H_(t[11].value):null,t[12]?new t_.IfcDate(t[12].value):null,t[13]?new H_(t[13].value):null)},1532957894:function(e,t){return new t_.IfcAudioVisualApplianceType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9])},1967976161:function(e,t){return new t_.IfcBSplineCurve(e,new t_.IfcInteger(t[0].value),t[1].map((function(e){return new H_(e.value)})),t[2],new t_.IfcLogical(t[3].value),new t_.IfcLogical(t[4].value))},2461110595:function(e,t){return new t_.IfcBSplineCurveWithKnots(e,new t_.IfcInteger(t[0].value),t[1].map((function(e){return new H_(e.value)})),t[2],new t_.IfcLogical(t[3].value),new t_.IfcLogical(t[4].value),t[5].map((function(e){return new t_.IfcInteger(e.value)})),t[6].map((function(e){return new t_.IfcParameterValue(e.value)})),t[7])},819618141:function(e,t){return new t_.IfcBeamType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9])},3649138523:function(e,t){return new t_.IfcBearingType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9])},231477066:function(e,t){return new t_.IfcBoilerType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9])},1136057603:function(e,t){return new t_.IfcBoundaryCurve(e,t[0].map((function(e){return new H_(e.value)})),new t_.IfcLogical(t[1].value))},644574406:function(e,t){return new t_.IfcBridge(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8],t[9])},963979645:function(e,t){return new t_.IfcBridgePart(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8],t[9],t[10])},4031249490:function(e,t){return new t_.IfcBuilding(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8],t[9]?new t_.IfcLengthMeasure(t[9].value):null,t[10]?new t_.IfcLengthMeasure(t[10].value):null,t[11]?new H_(t[11].value):null)},2979338954:function(e,t){return new t_.IfcBuildingElementPart(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8])},39481116:function(e,t){return new t_.IfcBuildingElementPartType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9])},1909888760:function(e,t){return new t_.IfcBuildingElementProxyType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9])},1177604601:function(e,t){return new t_.IfcBuildingSystem(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5],t[6]?new t_.IfcLabel(t[6].value):null)},1876633798:function(e,t){return new t_.IfcBuiltElement(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null)},3862327254:function(e,t){return new t_.IfcBuiltSystem(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5],t[6]?new t_.IfcLabel(t[6].value):null)},2188180465:function(e,t){return new t_.IfcBurnerType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9])},395041908:function(e,t){return new t_.IfcCableCarrierFittingType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9])},3293546465:function(e,t){return new t_.IfcCableCarrierSegmentType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9])},2674252688:function(e,t){return new t_.IfcCableFittingType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9])},1285652485:function(e,t){return new t_.IfcCableSegmentType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9])},3203706013:function(e,t){return new t_.IfcCaissonFoundationType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9])},2951183804:function(e,t){return new t_.IfcChillerType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9])},3296154744:function(e,t){return new t_.IfcChimney(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8])},2611217952:function(e,t){return new t_.IfcCircle(e,new H_(t[0].value),new t_.IfcPositiveLengthMeasure(t[1].value))},1677625105:function(e,t){return new t_.IfcCivilElement(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null)},2301859152:function(e,t){return new t_.IfcCoilType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9])},843113511:function(e,t){return new t_.IfcColumn(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8])},400855858:function(e,t){return new t_.IfcCommunicationsApplianceType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9])},3850581409:function(e,t){return new t_.IfcCompressorType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9])},2816379211:function(e,t){return new t_.IfcCondenserType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9])},3898045240:function(e,t){return new t_.IfcConstructionEquipmentResource(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new t_.IfcIdentifier(t[5].value):null,t[6]?new t_.IfcText(t[6].value):null,t[7]?new H_(t[7].value):null,t[8]?t[8].map((function(e){return new H_(e.value)})):null,t[9]?new H_(t[9].value):null,t[10])},1060000209:function(e,t){return new t_.IfcConstructionMaterialResource(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new t_.IfcIdentifier(t[5].value):null,t[6]?new t_.IfcText(t[6].value):null,t[7]?new H_(t[7].value):null,t[8]?t[8].map((function(e){return new H_(e.value)})):null,t[9]?new H_(t[9].value):null,t[10])},488727124:function(e,t){return new t_.IfcConstructionProductResource(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new t_.IfcIdentifier(t[5].value):null,t[6]?new t_.IfcText(t[6].value):null,t[7]?new H_(t[7].value):null,t[8]?t[8].map((function(e){return new H_(e.value)})):null,t[9]?new H_(t[9].value):null,t[10])},2940368186:function(e,t){return new t_.IfcConveyorSegmentType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9])},335055490:function(e,t){return new t_.IfcCooledBeamType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9])},2954562838:function(e,t){return new t_.IfcCoolingTowerType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9])},1502416096:function(e,t){return new t_.IfcCourse(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8])},1973544240:function(e,t){return new t_.IfcCovering(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8])},3495092785:function(e,t){return new t_.IfcCurtainWall(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8])},3961806047:function(e,t){return new t_.IfcDamperType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9])},3426335179:function(e,t){return new t_.IfcDeepFoundation(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null)},1335981549:function(e,t){return new t_.IfcDiscreteAccessory(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8])},2635815018:function(e,t){return new t_.IfcDiscreteAccessoryType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9])},479945903:function(e,t){return new t_.IfcDistributionBoardType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9])},1599208980:function(e,t){return new t_.IfcDistributionChamberElementType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9])},2063403501:function(e,t){return new t_.IfcDistributionControlElementType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null)},1945004755:function(e,t){return new t_.IfcDistributionElement(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null)},3040386961:function(e,t){return new t_.IfcDistributionFlowElement(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null)},3041715199:function(e,t){return new t_.IfcDistributionPort(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7],t[8],t[9])},3205830791:function(e,t){return new t_.IfcDistributionSystem(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new t_.IfcLabel(t[5].value):null,t[6])},395920057:function(e,t){return new t_.IfcDoor(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8]?new t_.IfcPositiveLengthMeasure(t[8].value):null,t[9]?new t_.IfcPositiveLengthMeasure(t[9].value):null,t[10],t[11],t[12]?new t_.IfcLabel(t[12].value):null)},869906466:function(e,t){return new t_.IfcDuctFittingType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9])},3760055223:function(e,t){return new t_.IfcDuctSegmentType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9])},2030761528:function(e,t){return new t_.IfcDuctSilencerType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9])},3071239417:function(e,t){return new t_.IfcEarthworksCut(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8])},1077100507:function(e,t){return new t_.IfcEarthworksElement(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null)},3376911765:function(e,t){return new t_.IfcEarthworksFill(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8])},663422040:function(e,t){return new t_.IfcElectricApplianceType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9])},2417008758:function(e,t){return new t_.IfcElectricDistributionBoardType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9])},3277789161:function(e,t){return new t_.IfcElectricFlowStorageDeviceType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9])},2142170206:function(e,t){return new t_.IfcElectricFlowTreatmentDeviceType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9])},1534661035:function(e,t){return new t_.IfcElectricGeneratorType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9])},1217240411:function(e,t){return new t_.IfcElectricMotorType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9])},712377611:function(e,t){return new t_.IfcElectricTimeControlType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9])},1658829314:function(e,t){return new t_.IfcEnergyConversionDevice(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null)},2814081492:function(e,t){return new t_.IfcEngine(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8])},3747195512:function(e,t){return new t_.IfcEvaporativeCooler(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8])},484807127:function(e,t){return new t_.IfcEvaporator(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8])},1209101575:function(e,t){return new t_.IfcExternalSpatialElement(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8])},346874300:function(e,t){return new t_.IfcFanType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9])},1810631287:function(e,t){return new t_.IfcFilterType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9])},4222183408:function(e,t){return new t_.IfcFireSuppressionTerminalType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9])},2058353004:function(e,t){return new t_.IfcFlowController(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null)},4278956645:function(e,t){return new t_.IfcFlowFitting(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null)},4037862832:function(e,t){return new t_.IfcFlowInstrumentType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9])},2188021234:function(e,t){return new t_.IfcFlowMeter(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8])},3132237377:function(e,t){return new t_.IfcFlowMovingDevice(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null)},987401354:function(e,t){return new t_.IfcFlowSegment(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null)},707683696:function(e,t){return new t_.IfcFlowStorageDevice(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null)},2223149337:function(e,t){return new t_.IfcFlowTerminal(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null)},3508470533:function(e,t){return new t_.IfcFlowTreatmentDevice(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null)},900683007:function(e,t){return new t_.IfcFooting(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8])},2713699986:function(e,t){return new t_.IfcGeotechnicalAssembly(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null)},3009204131:function(e,t){return new t_.IfcGrid(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7].map((function(e){return new H_(e.value)})),t[8].map((function(e){return new H_(e.value)})),t[9]?t[9].map((function(e){return new H_(e.value)})):null,t[10])},3319311131:function(e,t){return new t_.IfcHeatExchanger(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8])},2068733104:function(e,t){return new t_.IfcHumidifier(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8])},4175244083:function(e,t){return new t_.IfcInterceptor(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8])},2176052936:function(e,t){return new t_.IfcJunctionBox(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8])},2696325953:function(e,t){return new t_.IfcKerb(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,new t_.IfcBoolean(t[8].value))},76236018:function(e,t){return new t_.IfcLamp(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8])},629592764:function(e,t){return new t_.IfcLightFixture(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8])},1154579445:function(e,t){return new t_.IfcLinearPositioningElement(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null)},1638804497:function(e,t){return new t_.IfcLiquidTerminal(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8])},1437502449:function(e,t){return new t_.IfcMedicalDevice(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8])},1073191201:function(e,t){return new t_.IfcMember(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8])},2078563270:function(e,t){return new t_.IfcMobileTelecommunicationsAppliance(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8])},234836483:function(e,t){return new t_.IfcMooringDevice(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8])},2474470126:function(e,t){return new t_.IfcMotorConnection(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8])},2182337498:function(e,t){return new t_.IfcNavigationElement(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8])},144952367:function(e,t){return new t_.IfcOuterBoundaryCurve(e,t[0].map((function(e){return new H_(e.value)})),new t_.IfcLogical(t[1].value))},3694346114:function(e,t){return new t_.IfcOutlet(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8])},1383356374:function(e,t){return new t_.IfcPavement(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8])},1687234759:function(e,t){return new t_.IfcPile(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8],t[9])},310824031:function(e,t){return new t_.IfcPipeFitting(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8])},3612865200:function(e,t){return new t_.IfcPipeSegment(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8])},3171933400:function(e,t){return new t_.IfcPlate(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8])},738039164:function(e,t){return new t_.IfcProtectiveDevice(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8])},655969474:function(e,t){return new t_.IfcProtectiveDeviceTrippingUnitType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9])},90941305:function(e,t){return new t_.IfcPump(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8])},3290496277:function(e,t){return new t_.IfcRail(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8])},2262370178:function(e,t){return new t_.IfcRailing(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8])},3024970846:function(e,t){return new t_.IfcRamp(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8])},3283111854:function(e,t){return new t_.IfcRampFlight(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8])},1232101972:function(e,t){return new t_.IfcRationalBSplineCurveWithKnots(e,new t_.IfcInteger(t[0].value),t[1].map((function(e){return new H_(e.value)})),t[2],new t_.IfcLogical(t[3].value),new t_.IfcLogical(t[4].value),t[5].map((function(e){return new t_.IfcInteger(e.value)})),t[6].map((function(e){return new t_.IfcParameterValue(e.value)})),t[7],t[8].map((function(e){return new t_.IfcReal(e.value)})))},3798194928:function(e,t){return new t_.IfcReinforcedSoil(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8])},979691226:function(e,t){return new t_.IfcReinforcingBar(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9]?new t_.IfcPositiveLengthMeasure(t[9].value):null,t[10]?new t_.IfcAreaMeasure(t[10].value):null,t[11]?new t_.IfcPositiveLengthMeasure(t[11].value):null,t[12],t[13])},2572171363:function(e,t){return new t_.IfcReinforcingBarType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9],t[10]?new t_.IfcPositiveLengthMeasure(t[10].value):null,t[11]?new t_.IfcAreaMeasure(t[11].value):null,t[12]?new t_.IfcPositiveLengthMeasure(t[12].value):null,t[13],t[14]?new t_.IfcLabel(t[14].value):null,t[15]?t[15].map((function(e){return K_(3,e)})):null)},2016517767:function(e,t){return new t_.IfcRoof(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8])},3053780830:function(e,t){return new t_.IfcSanitaryTerminal(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8])},1783015770:function(e,t){return new t_.IfcSensorType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9])},1329646415:function(e,t){return new t_.IfcShadingDevice(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8])},991950508:function(e,t){return new t_.IfcSignal(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8])},1529196076:function(e,t){return new t_.IfcSlab(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8])},3420628829:function(e,t){return new t_.IfcSolarDevice(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8])},1999602285:function(e,t){return new t_.IfcSpaceHeater(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8])},1404847402:function(e,t){return new t_.IfcStackTerminal(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8])},331165859:function(e,t){return new t_.IfcStair(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8])},4252922144:function(e,t){return new t_.IfcStairFlight(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8]?new t_.IfcInteger(t[8].value):null,t[9]?new t_.IfcInteger(t[9].value):null,t[10]?new t_.IfcPositiveLengthMeasure(t[10].value):null,t[11]?new t_.IfcPositiveLengthMeasure(t[11].value):null,t[12])},2515109513:function(e,t){return new t_.IfcStructuralAnalysisModel(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5],t[6]?new H_(t[6].value):null,t[7]?t[7].map((function(e){return new H_(e.value)})):null,t[8]?t[8].map((function(e){return new H_(e.value)})):null,t[9]?new H_(t[9].value):null)},385403989:function(e,t){return new t_.IfcStructuralLoadCase(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5],t[6],t[7],t[8]?new t_.IfcRatioMeasure(t[8].value):null,t[9]?new t_.IfcLabel(t[9].value):null,t[10]?t[10].map((function(e){return new t_.IfcRatioMeasure(e.value)})):null)},1621171031:function(e,t){return new t_.IfcStructuralPlanarAction(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,new H_(t[7].value),t[8],t[9]?new t_.IfcBoolean(t[9].value):null,t[10],t[11])},1162798199:function(e,t){return new t_.IfcSwitchingDevice(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8])},812556717:function(e,t){return new t_.IfcTank(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8])},3425753595:function(e,t){return new t_.IfcTrackElement(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8])},3825984169:function(e,t){return new t_.IfcTransformer(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8])},1620046519:function(e,t){return new t_.IfcTransportElement(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8])},3026737570:function(e,t){return new t_.IfcTubeBundle(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8])},3179687236:function(e,t){return new t_.IfcUnitaryControlElementType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9])},4292641817:function(e,t){return new t_.IfcUnitaryEquipment(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8])},4207607924:function(e,t){return new t_.IfcValve(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8])},2391406946:function(e,t){return new t_.IfcWall(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8])},3512223829:function(e,t){return new t_.IfcWallStandardCase(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8])},4237592921:function(e,t){return new t_.IfcWasteTerminal(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8])},3304561284:function(e,t){return new t_.IfcWindow(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8]?new t_.IfcPositiveLengthMeasure(t[8].value):null,t[9]?new t_.IfcPositiveLengthMeasure(t[9].value):null,t[10],t[11],t[12]?new t_.IfcLabel(t[12].value):null)},2874132201:function(e,t){return new t_.IfcActuatorType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9])},1634111441:function(e,t){return new t_.IfcAirTerminal(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8])},177149247:function(e,t){return new t_.IfcAirTerminalBox(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8])},2056796094:function(e,t){return new t_.IfcAirToAirHeatRecovery(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8])},3001207471:function(e,t){return new t_.IfcAlarmType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9])},325726236:function(e,t){return new t_.IfcAlignment(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7])},277319702:function(e,t){return new t_.IfcAudioVisualAppliance(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8])},753842376:function(e,t){return new t_.IfcBeam(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8])},4196446775:function(e,t){return new t_.IfcBearing(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8])},32344328:function(e,t){return new t_.IfcBoiler(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8])},3314249567:function(e,t){return new t_.IfcBorehole(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null)},1095909175:function(e,t){return new t_.IfcBuildingElementProxy(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8])},2938176219:function(e,t){return new t_.IfcBurner(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8])},635142910:function(e,t){return new t_.IfcCableCarrierFitting(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8])},3758799889:function(e,t){return new t_.IfcCableCarrierSegment(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8])},1051757585:function(e,t){return new t_.IfcCableFitting(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8])},4217484030:function(e,t){return new t_.IfcCableSegment(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8])},3999819293:function(e,t){return new t_.IfcCaissonFoundation(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8])},3902619387:function(e,t){return new t_.IfcChiller(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8])},639361253:function(e,t){return new t_.IfcCoil(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8])},3221913625:function(e,t){return new t_.IfcCommunicationsAppliance(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8])},3571504051:function(e,t){return new t_.IfcCompressor(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8])},2272882330:function(e,t){return new t_.IfcCondenser(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8])},578613899:function(e,t){return new t_.IfcControllerType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9])},3460952963:function(e,t){return new t_.IfcConveyorSegment(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8])},4136498852:function(e,t){return new t_.IfcCooledBeam(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8])},3640358203:function(e,t){return new t_.IfcCoolingTower(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8])},4074379575:function(e,t){return new t_.IfcDamper(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8])},3693000487:function(e,t){return new t_.IfcDistributionBoard(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8])},1052013943:function(e,t){return new t_.IfcDistributionChamberElement(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8])},562808652:function(e,t){return new t_.IfcDistributionCircuit(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new t_.IfcLabel(t[5].value):null,t[6])},1062813311:function(e,t){return new t_.IfcDistributionControlElement(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null)},342316401:function(e,t){return new t_.IfcDuctFitting(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8])},3518393246:function(e,t){return new t_.IfcDuctSegment(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8])},1360408905:function(e,t){return new t_.IfcDuctSilencer(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8])},1904799276:function(e,t){return new t_.IfcElectricAppliance(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8])},862014818:function(e,t){return new t_.IfcElectricDistributionBoard(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8])},3310460725:function(e,t){return new t_.IfcElectricFlowStorageDevice(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8])},24726584:function(e,t){return new t_.IfcElectricFlowTreatmentDevice(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8])},264262732:function(e,t){return new t_.IfcElectricGenerator(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8])},402227799:function(e,t){return new t_.IfcElectricMotor(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8])},1003880860:function(e,t){return new t_.IfcElectricTimeControl(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8])},3415622556:function(e,t){return new t_.IfcFan(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8])},819412036:function(e,t){return new t_.IfcFilter(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8])},1426591983:function(e,t){return new t_.IfcFireSuppressionTerminal(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8])},182646315:function(e,t){return new t_.IfcFlowInstrument(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8])},2680139844:function(e,t){return new t_.IfcGeomodel(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null)},1971632696:function(e,t){return new t_.IfcGeoslice(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null)},2295281155:function(e,t){return new t_.IfcProtectiveDeviceTrippingUnit(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8])},4086658281:function(e,t){return new t_.IfcSensor(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8])},630975310:function(e,t){return new t_.IfcUnitaryControlElement(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8])},4288193352:function(e,t){return new t_.IfcActuator(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8])},3087945054:function(e,t){return new t_.IfcAlarm(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8])},25142252:function(e,t){return new t_.IfcController(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8])}},j_[3]={618182010:[912023232,3355820592],2879124712:[536804194,3752311538,3633395639],411424972:[602808272],4037036970:[2069777674,1387855156,3367102660,1560379544],1387855156:[2069777674],2859738748:[1981873012,775493141,2732653382,45288368,2614616156],2614616156:[45288368],1959218052:[2251480897,3368373690],1785450214:[3057273783],1466758467:[3843373140],4294318154:[1154170062,747523909,2655187982],3200245327:[3732053477,647927063,3452421091,3548104201,1040185647,2242383968],760658860:[2852063980,3708119e3,1838606355,164193824,552965576,2235152071,3303938423,1847252529,248100487],248100487:[1847252529],2235152071:[552965576],1507914824:[3404854881,3079605661,1303795690],1918398963:[2713554722,2889183280,3050246964,448429030],3701648758:[2624227202,388784114,178086475],2483315170:[3021840470,825690147,2405470396,3252649465,2691318326,931644368,2093928680,2044713172,2226359599],2226359599:[825690147,2405470396,3252649465,2691318326,931644368,2093928680,2044713172],677532197:[4006246654,2559016684,445594917,759155922,1983826977,1775413392,3727388367,3570813810,3510044353,2367409068,1105321065,776857604,3264961684,3285139300,3611470254,1210645708,3465909080,2133299955,1437953363,2552916305,1742049831,280115917,1640371178,2636378356,597895409,3905492369,616511568,626085974,1351298697,1878645084,846575682,1607154358,3303107099],2022622350:[1304840413],3119450353:[738692330,3800577675,1447204868,1300840506],2095639259:[673634403,2022407955],3958567839:[572779678,1484403080,2835456948,2937912522,1383045692,2898889636,3207858831,2543172580,427810014,2715220739,3071757647,2770003689,2778083089,3615266464,2529465313,182550632,2998442950,3632507154,1485152156,3150382593,1310608509,2705031697,3798115385],986844984:[2542286263,110355661,3650150729,941946838,2752243245,4166981789,871118103,3692461612,2598011224,4165799628,2042790032,1580146022,3778827333,2802850158,3265635763,297599258,3710013099],1076942058:[3049322572,2830218821,1735638870,4240577450,3982875396],3377609919:[4142052618,3448662350],3008791417:[2347385850,315944413,374418227,2047409740,32440307,2611217952,1704287377,2510884976,1232101972,2461110595,1967976161,3593883385,3724593414,2571569899,544395925,2898700619,144952367,1136057603,15328376,3732776249,1260505505,2157484638,3113134337,699246055,42703149,1027922057,3649235739,2000195564,3497074424,782932809,2735484536,3381221214,1682466193,2485787929,3505215534,3388369263,590820931,F_,2601014836,1334484129,451544542,3626867408,4158566097,2798486643,2506170314,1416205885,3331915920,3486308946,3749851601,59481748,2059837836,1675464909,574549367,2581212453,3649129432,2736907675,669184980,1417489154,3124975700,4282788508,2839578677,1229763772,2916149573,2387106220,2294589976,178912537,901063453,1356537516,1213902940,1935646853,4015995234,220341763,2777663545,683857671,167062518,2887950389,3454111270,2629017746,2827736869,4182860854,4124788165,2809605785,230924584,2513912981,1290935644,1862484736,3737207727,807026263,2603310189,1635779807,1425443689,2147822146,1096409881,1260650574,3243963512,1856042241,2804161546,477187591,2028607225,4234616927,2652556860,593015953,2247615214,723233188,4124623270,4212018352,816062949,2485617015,823603102,1509187699,1123145078,1423911732,4022376103,2165702409,2067069095,603570806,1663979128,3425423356,2740243338,3125803723,4261334040,2004835150,3422422726,1520743889,4266656042,2604431987,125510826,1402838566,2713105998,2775532180,812098782,987898635,3590301190,2453401579,2519244187,1472233963,2759199220,2924175390,1008929658,803316827,1809719519,3406155212,3008276851,2556980723,2233826070,1029017970,476780140,3900360178,2205249479,2665983363,370225590,1907098498,2799835756,1377556343,3958052878],2439245199:[1608871552,2943643501,148025276,1411181986,853536259,1437805879,770865208,539742890,3869604511],2341007311:[781010003,307848117,4186316022,1462361463,693640335,160246688,3818125796,1401173127,750771296,3268803585,2551354335,2565941209,1521410863,3523091289,3451746338,366585022,4122056220,1245217292,1441486842,427948657,279856033,3940055652,2802773753,886880790,3242617779,504942748,1638771189,2127690289,3190031847,4201705270,3678494232,3945020480,1204542856,826625072,1033248425,2655215786,3840914261,982818633,2728634034,919958153,4095574036,1865459582,205026976,2857406711,4278684876,1027710054,1307041759,2495723537,1683148259,3939117080,478536968,3875453745,3663146110,3521284610,492091185,1482703590,1451395588,3566463478,1714330368,2963535650,512836454,336235671,3765753017,3967405729,1883228015,2090586900,3357820518,1680319473,B_,2515109513,562808652,3205830791,3862327254,1177604601,O_,2254336722,2986769608,385403989,1252848954,2391368822,2706460486,3821786052,3342526732,4218914973,1028945134,4088093105,2904328755,3327091369,2382730787,1419761937,3895139033,3293443760,4143007308,2296667514,488727124,1060000209,3898045240,148013059,3827777499,3295246426,2559216714,2914609552,325726236,1154579445,M_,4021432810,1946335990,3041715199,L_,1662888072,317615605,1545765605,4266260250,2176059722,25142252,h_,4288193352,630975310,4086658281,2295281155,182646315,1062813311,1052013943,819412036,24726584,1360408905,4175244083,3508470533,1426591983,1904799276,3221913625,277319702,1634111441,4237592921,1404847402,1999602285,991950508,3053780830,3694346114,2078563270,1437502449,1638804497,629592764,76236018,2223149337,3310460725,w_,707683696,3518393246,3460952963,4217484030,3758799889,3612865200,987401354,I_,3571504051,90941305,3132237377,342316401,1051757585,635142910,310824031,2176052936,4278956645,1003880860,862014818,3693000487,4074379575,177149247,m_,1162798199,738039164,2188021234,2058353004,402227799,264262732,3640358203,4136498852,2272882330,y_,3902619387,2938176219,32344328,2056796094,4292641817,3026737570,3825984169,3420628829,2474470126,2068733104,3319311131,484807127,3747195512,2814081492,1658829314,3040386961,1945004755,1677625105,1095909175,4196446775,g_,3304561284,3512223829,E_,3425753595,4252922144,331165859,b_,1329646415,D_,3283111854,P_,2262370178,3290496277,R_,1383356374,2182337498,234836483,1073191201,2696325953,900683007,3798194928,3376911765,1077100507,__,3999819293,C_,3426335179,3495092785,1973544240,1502416096,843113511,3296154744,1876633798,2769231204,1620046519,840318589,1953115116,1971632696,2680139844,3314249567,2713699986,1594536857,4230923436,3493046030,413509423,1509553395,263784265,3101698114,3071239417,926996030,3588315303,1287392070,3651124850,2143335405,2827207264,1335981549,2979338954,2391383451,1530820697,33720170,979691226,3663046924,2347447852,T_,2320036040,3027567501,377706215,2568555532,647756555,1623761950,4123344466,1758889154,1674181508,1975003073,734778138,4243806635,1179482911,2445595289,214636428,2218152070,3979015343,530289379,3136571912,1621171031,3657597509,2082059205,1807405624,1004757350,682877961,1235345126,2757150158,603775116,3689010777,3544373492,1209101575,2853485674,463610769,S_,N_,963979645,550521510,1891881377,976884017,4228831410,1310830890,4031249490,644574406,146592293,3992365140,525669439,24185140,3124254112,2706606064,1412071761,4208778838,2744685151,4148101412,x_,2945172077,3888040117,653396225,103090709,3419103109,1525564444,4105962743,2185764099,4095615324,428585644,1815067380,2574617495,3698973494,2481509218,3812236995,3893378262,710998568,2635815018,39481116,3313531582,3956297820,3599934289,2572171363,2415094496,2281632017,3081323446,2310774935,964333572,2108223431,3948183225,2489546625,2590856083,2397081782,578613899,3001207471,2874132201,3179687236,1783015770,655969474,4037862832,2063403501,1599208980,1810631287,2142170206,2030761528,3946677679,3009222698,4222183408,663422040,400855858,1532957894,3352864051,1133259667,3112655638,1305183839,1894708472,1768891740,2837617999,1950438474,1114901282,1770583370,1161773419,1051575348,2297155007,3277789161,5716631,1339347760,3760055223,2940368186,1285652485,3293546465,4231323485,1834744321,346874300,3850581409,2250791053,1482959167,869906466,2674252688,395041908,804291784,4288270099,3198132628,712377611,2417008758,479945903,3961806047,1411407467,728799441,2315554128,1842657554,3815607619,3907093117,1217240411,1534661035,2954562838,335055490,2816379211,2301859152,2951183804,2188180465,231477066,1871374353,1911125066,1600972822,1692211062,1072016465,977012517,1806887404,1251058090,3390157468,3174744832,132023988,2107101300,3849074793,3256556792,3893394355,1909888760,3649138523,819618141,4009809668,1898987631,618700268,338393293,1039846685,2533589738,4074543187,2781568857,1469900589,2324767716,2893384427,1763565496,4017108033,514975943,506776471,710110818,3181161470,679976338,1893162501,2323601079,3203706013,1158309216,1306400036,1457835157,1916426348,4189326743,300633059,2197970202,1626504194,2097647324,3651464721,3665877780,4095422895,1580310250,1268542332,4238390223,339256511,2347495698,3206491090,569719735,4024345920,3736923433,1628702193,219451334],1054537805:[1042787934,1585845231,211053100,1236880293,2771591690,1549132990],3982875396:[1735638870,4240577450],2273995522:[2609359061,4219587988],2162789131:[2934153892,1190533807,1597423693,1973038258,2473145415,2668620305,1595516126,3408363356,2525727697,609421318,3478079324],609421318:[2934153892,1190533807,1597423693,1973038258,2473145415,2668620305,1595516126,3408363356,2525727697],2525727697:[1190533807,1597423693,1973038258,2473145415,2668620305,1595516126,3408363356],2830218821:[3049322572],846575682:[1878645084],626085974:[597895409,3905492369,616511568],1549132990:[2771591690],280115917:[3465909080,2133299955,1437953363,2552916305,1742049831],222769930:[1010789467],3101149627:[3413951693,3741457305],1377556343:[2519244187,1472233963,2759199220,2924175390,1008929658,803316827,1809719519,3406155212,3008276851,2556980723,2233826070,1029017970,476780140,3900360178,2205249479,2665983363,370225590,1907098498,2799835756],2799835756:[1907098498],3798115385:[2705031697],1310608509:[3150382593],3264961684:[776857604],370225590:[2205249479,2665983363],2889183280:[2713554722],3632507154:[2998442950],3900360178:[2233826070,1029017970,476780140],297599258:[2802850158,3265635763],2556980723:[3406155212,3008276851],1809719519:[803316827],3008276851:[3406155212],3448662350:[4142052618],2453401579:[315944413,374418227,2047409740,32440307,2611217952,1704287377,2510884976,1232101972,2461110595,1967976161,3593883385,3724593414,2571569899,544395925,2898700619,144952367,1136057603,15328376,3732776249,1260505505,2157484638,3113134337,699246055,42703149,1027922057,3649235739,2000195564,3497074424,782932809,2735484536,3381221214,1682466193,2485787929,3505215534,3388369263,590820931,F_,2601014836,1334484129,451544542,3626867408,4158566097,2798486643,2506170314,1416205885,3331915920,3486308946,3749851601,59481748,2059837836,1675464909,574549367,2581212453,3649129432,2736907675,669184980,1417489154,3124975700,4282788508,2839578677,1229763772,2916149573,2387106220,2294589976,178912537,901063453,1356537516,1213902940,1935646853,4015995234,220341763,2777663545,683857671,167062518,2887950389,3454111270,2629017746,2827736869,4182860854,4124788165,2809605785,230924584,2513912981,1290935644,1862484736,3737207727,807026263,2603310189,1635779807,1425443689,2147822146,1096409881,1260650574,3243963512,1856042241,2804161546,477187591,2028607225,4234616927,2652556860,593015953,2247615214,723233188,4124623270,4212018352,816062949,2485617015,823603102,1509187699,1123145078,1423911732,4022376103,2165702409,2067069095,603570806,1663979128,3425423356,2740243338,3125803723,4261334040,2004835150,3422422726,1520743889,4266656042,2604431987,125510826,1402838566,2713105998,2775532180,812098782,987898635,3590301190],3590301190:[987898635],812098782:[2713105998,2775532180],1437953363:[3465909080,2133299955],1402838566:[3422422726,1520743889,4266656042,2604431987,125510826],1520743889:[3422422726],1008929658:[1472233963,2759199220,2924175390],3079605661:[3404854881],219451334:[B_,2515109513,562808652,3205830791,3862327254,1177604601,O_,2254336722,2986769608,385403989,1252848954,2391368822,2706460486,3821786052,3342526732,4218914973,1028945134,4088093105,2904328755,3327091369,2382730787,1419761937,3895139033,3293443760,4143007308,2296667514,488727124,1060000209,3898045240,148013059,3827777499,3295246426,2559216714,2914609552,325726236,1154579445,M_,4021432810,1946335990,3041715199,L_,1662888072,317615605,1545765605,4266260250,2176059722,25142252,h_,4288193352,630975310,4086658281,2295281155,182646315,1062813311,1052013943,819412036,24726584,1360408905,4175244083,3508470533,1426591983,1904799276,3221913625,277319702,1634111441,4237592921,1404847402,1999602285,991950508,3053780830,3694346114,2078563270,1437502449,1638804497,629592764,76236018,2223149337,3310460725,w_,707683696,3518393246,3460952963,4217484030,3758799889,3612865200,987401354,I_,3571504051,90941305,3132237377,342316401,1051757585,635142910,310824031,2176052936,4278956645,1003880860,862014818,3693000487,4074379575,177149247,m_,1162798199,738039164,2188021234,2058353004,402227799,264262732,3640358203,4136498852,2272882330,y_,3902619387,2938176219,32344328,2056796094,4292641817,3026737570,3825984169,3420628829,2474470126,2068733104,3319311131,484807127,3747195512,2814081492,1658829314,3040386961,1945004755,1677625105,1095909175,4196446775,g_,3304561284,3512223829,E_,3425753595,4252922144,331165859,b_,1329646415,D_,3283111854,P_,2262370178,3290496277,R_,1383356374,2182337498,234836483,1073191201,2696325953,900683007,3798194928,3376911765,1077100507,__,3999819293,C_,3426335179,3495092785,1973544240,1502416096,843113511,3296154744,1876633798,2769231204,1620046519,840318589,1953115116,1971632696,2680139844,3314249567,2713699986,1594536857,4230923436,3493046030,413509423,1509553395,263784265,3101698114,3071239417,926996030,3588315303,1287392070,3651124850,2143335405,2827207264,1335981549,2979338954,2391383451,1530820697,33720170,979691226,3663046924,2347447852,T_,2320036040,3027567501,377706215,2568555532,647756555,1623761950,4123344466,1758889154,1674181508,1975003073,734778138,4243806635,1179482911,2445595289,214636428,2218152070,3979015343,530289379,3136571912,1621171031,3657597509,2082059205,1807405624,1004757350,682877961,1235345126,2757150158,603775116,3689010777,3544373492,1209101575,2853485674,463610769,S_,N_,963979645,550521510,1891881377,976884017,4228831410,1310830890,4031249490,644574406,146592293,3992365140,525669439,24185140,3124254112,2706606064,1412071761,4208778838,2744685151,4148101412,x_,2945172077,3888040117,653396225,103090709,3419103109,1525564444,4105962743,2185764099,4095615324,428585644,1815067380,2574617495,3698973494,2481509218,3812236995,3893378262,710998568,2635815018,39481116,3313531582,3956297820,3599934289,2572171363,2415094496,2281632017,3081323446,2310774935,964333572,2108223431,3948183225,2489546625,2590856083,2397081782,578613899,3001207471,2874132201,3179687236,1783015770,655969474,4037862832,2063403501,1599208980,1810631287,2142170206,2030761528,3946677679,3009222698,4222183408,663422040,400855858,1532957894,3352864051,1133259667,3112655638,1305183839,1894708472,1768891740,2837617999,1950438474,1114901282,1770583370,1161773419,1051575348,2297155007,3277789161,5716631,1339347760,3760055223,2940368186,1285652485,3293546465,4231323485,1834744321,346874300,3850581409,2250791053,1482959167,869906466,2674252688,395041908,804291784,4288270099,3198132628,712377611,2417008758,479945903,3961806047,1411407467,728799441,2315554128,1842657554,3815607619,3907093117,1217240411,1534661035,2954562838,335055490,2816379211,2301859152,2951183804,2188180465,231477066,1871374353,1911125066,1600972822,1692211062,1072016465,977012517,1806887404,1251058090,3390157468,3174744832,132023988,2107101300,3849074793,3256556792,3893394355,1909888760,3649138523,819618141,4009809668,1898987631,618700268,338393293,1039846685,2533589738,4074543187,2781568857,1469900589,2324767716,2893384427,1763565496,4017108033,514975943,506776471,710110818,3181161470,679976338,1893162501,2323601079,3203706013,1158309216,1306400036,1457835157,1916426348,4189326743,300633059,2197970202,1626504194,2097647324,3651464721,3665877780,4095422895,1580310250,1268542332,4238390223,339256511,2347495698,3206491090,569719735,4024345920,3736923433,1628702193],2529465313:[572779678,1484403080,2835456948,2937912522,1383045692,2898889636,3207858831,2543172580,427810014,2715220739,3071757647,2770003689,2778083089,3615266464],2004835150:[3425423356,2740243338,3125803723,4261334040],1663979128:[603570806],2067069095:[1123145078,1423911732,4022376103,2165702409],3727388367:[4006246654,2559016684,445594917,759155922,1983826977,1775413392],3778827333:[4165799628,2042790032,1580146022],1775413392:[1983826977],2598011224:[2542286263,110355661,3650150729,941946838,2752243245,4166981789,871118103,3692461612],1680319473:[3875453745,3663146110,3521284610,492091185,1482703590,1451395588,3566463478,1714330368,2963535650,512836454,336235671,3765753017,3967405729,1883228015,2090586900,3357820518],3357820518:[1451395588,3566463478,1714330368,2963535650,512836454,336235671,3765753017,3967405729,1883228015,2090586900],1482703590:[3875453745,3663146110,3521284610,492091185],2090586900:[1883228015],3615266464:[2770003689,2778083089],478536968:[781010003,307848117,4186316022,1462361463,693640335,160246688,3818125796,1401173127,750771296,3268803585,2551354335,2565941209,1521410863,3523091289,3451746338,366585022,4122056220,1245217292,1441486842,427948657,279856033,3940055652,2802773753,886880790,3242617779,504942748,1638771189,2127690289,3190031847,4201705270,3678494232,3945020480,1204542856,826625072,1033248425,2655215786,3840914261,982818633,2728634034,919958153,4095574036,1865459582,205026976,2857406711,4278684876,1027710054,1307041759,2495723537,1683148259,3939117080],823603102:[4212018352,816062949,2485617015],3692461612:[110355661,3650150729,941946838,2752243245,4166981789,871118103],723233188:[1290935644,1862484736,3737207727,807026263,2603310189,1635779807,1425443689,2147822146,1096409881,1260650574,3243963512,1856042241,2804161546,477187591,2028607225,4234616927,2652556860,593015953,2247615214],2473145415:[1973038258],1597423693:[1190533807],2513912981:[1356537516,1213902940,1935646853,4015995234,220341763,2777663545,683857671,167062518,2887950389,3454111270,2629017746,2827736869,4182860854,4124788165,2809605785,230924584],2247615214:[3243963512,1856042241,2804161546,477187591,2028607225,4234616927,2652556860,593015953],1260650574:[1096409881],230924584:[4124788165,2809605785],901063453:[2839578677,1229763772,2916149573,2387106220,2294589976,178912537],4282788508:[3124975700],1628702193:[1525564444,4105962743,2185764099,4095615324,428585644,1815067380,2574617495,3698973494,2481509218,3812236995,3893378262,710998568,2635815018,39481116,3313531582,3956297820,3599934289,2572171363,2415094496,2281632017,3081323446,2310774935,964333572,2108223431,3948183225,2489546625,2590856083,2397081782,578613899,3001207471,2874132201,3179687236,1783015770,655969474,4037862832,2063403501,1599208980,1810631287,2142170206,2030761528,3946677679,3009222698,4222183408,663422040,400855858,1532957894,3352864051,1133259667,3112655638,1305183839,1894708472,1768891740,2837617999,1950438474,1114901282,1770583370,1161773419,1051575348,2297155007,3277789161,5716631,1339347760,3760055223,2940368186,1285652485,3293546465,4231323485,1834744321,346874300,3850581409,2250791053,1482959167,869906466,2674252688,395041908,804291784,4288270099,3198132628,712377611,2417008758,479945903,3961806047,1411407467,728799441,2315554128,1842657554,3815607619,3907093117,1217240411,1534661035,2954562838,335055490,2816379211,2301859152,2951183804,2188180465,231477066,1871374353,1911125066,1600972822,1692211062,1072016465,977012517,1806887404,1251058090,3390157468,3174744832,132023988,2107101300,3849074793,3256556792,3893394355,1909888760,3649138523,819618141,4009809668,1898987631,618700268,338393293,1039846685,2533589738,4074543187,2781568857,1469900589,2324767716,2893384427,1763565496,4017108033,514975943,506776471,710110818,3181161470,679976338,1893162501,2323601079,3203706013,1158309216,1306400036,1457835157,1916426348,4189326743,300633059,2197970202,1626504194,2097647324,3651464721,3665877780,4095422895,1580310250,1268542332,4238390223,339256511,2347495698,3206491090,569719735,4024345920,3736923433],3736923433:[3206491090,569719735,4024345920],2347495698:[2481509218,3812236995,3893378262,710998568,2635815018,39481116,3313531582,3956297820,3599934289,2572171363,2415094496,2281632017,3081323446,2310774935,964333572,2108223431,3948183225,2489546625,2590856083,2397081782,578613899,3001207471,2874132201,3179687236,1783015770,655969474,4037862832,2063403501,1599208980,1810631287,2142170206,2030761528,3946677679,3009222698,4222183408,663422040,400855858,1532957894,3352864051,1133259667,3112655638,1305183839,1894708472,1768891740,2837617999,1950438474,1114901282,1770583370,1161773419,1051575348,2297155007,3277789161,5716631,1339347760,3760055223,2940368186,1285652485,3293546465,4231323485,1834744321,346874300,3850581409,2250791053,1482959167,869906466,2674252688,395041908,804291784,4288270099,3198132628,712377611,2417008758,479945903,3961806047,1411407467,728799441,2315554128,1842657554,3815607619,3907093117,1217240411,1534661035,2954562838,335055490,2816379211,2301859152,2951183804,2188180465,231477066,1871374353,1911125066,1600972822,1692211062,1072016465,977012517,1806887404,1251058090,3390157468,3174744832,132023988,2107101300,3849074793,3256556792,3893394355,1909888760,3649138523,819618141,4009809668,1898987631,618700268,338393293,1039846685,2533589738,4074543187,2781568857,1469900589,2324767716,2893384427,1763565496,4017108033,514975943,506776471,710110818,3181161470,679976338,1893162501,2323601079,3203706013,1158309216,1306400036,1457835157,1916426348,4189326743,300633059,2197970202,1626504194,2097647324,3651464721,3665877780,4095422895,1580310250,1268542332,4238390223,339256511],3698973494:[1525564444,4105962743,2185764099,4095615324,428585644,1815067380,2574617495],2736907675:[3649129432],4182860854:[683857671,167062518,2887950389,3454111270,2629017746,2827736869],574549367:[2059837836,1675464909],59481748:[1416205885,3331915920,3486308946,3749851601],3749851601:[3486308946],3331915920:[1416205885],1383045692:[2937912522],2485617015:[816062949],2574617495:[1525564444,4105962743,2185764099,4095615324,428585644,1815067380],3419103109:[653396225,103090709],2506170314:[1334484129,451544542,3626867408,4158566097,2798486643],2601014836:[2611217952,1704287377,2510884976,1232101972,2461110595,1967976161,3593883385,3724593414,2571569899,544395925,2898700619,144952367,1136057603,15328376,3732776249,1260505505,2157484638,3113134337,699246055,42703149,1027922057,3649235739,2000195564,3497074424,782932809,2735484536,3381221214,1682466193,2485787929,3505215534,3388369263,590820931,F_],593015953:[2028607225,4234616927,2652556860],339256511:[2635815018,39481116,3313531582,3956297820,3599934289,2572171363,2415094496,2281632017,3081323446,2310774935,964333572,2108223431,3948183225,2489546625,2590856083,2397081782,578613899,3001207471,2874132201,3179687236,1783015770,655969474,4037862832,2063403501,1599208980,1810631287,2142170206,2030761528,3946677679,3009222698,4222183408,663422040,400855858,1532957894,3352864051,1133259667,3112655638,1305183839,1894708472,1768891740,2837617999,1950438474,1114901282,1770583370,1161773419,1051575348,2297155007,3277789161,5716631,1339347760,3760055223,2940368186,1285652485,3293546465,4231323485,1834744321,346874300,3850581409,2250791053,1482959167,869906466,2674252688,395041908,804291784,4288270099,3198132628,712377611,2417008758,479945903,3961806047,1411407467,728799441,2315554128,1842657554,3815607619,3907093117,1217240411,1534661035,2954562838,335055490,2816379211,2301859152,2951183804,2188180465,231477066,1871374353,1911125066,1600972822,1692211062,1072016465,977012517,1806887404,1251058090,3390157468,3174744832,132023988,2107101300,3849074793,3256556792,3893394355,1909888760,3649138523,819618141,4009809668,1898987631,618700268,338393293,1039846685,2533589738,4074543187,2781568857,1469900589,2324767716,2893384427,1763565496,4017108033,514975943,506776471,710110818,3181161470,679976338,1893162501,2323601079,3203706013,1158309216,1306400036,1457835157,1916426348,4189326743,300633059,2197970202,1626504194,2097647324,3651464721,3665877780,4095422895,1580310250,1268542332,4238390223],2777663545:[1213902940,1935646853,4015995234,220341763],477187591:[2804161546],2652556860:[4234616927],4238390223:[1580310250,1268542332],178912537:[2294589976],1425443689:[3737207727,807026263,2603310189,1635779807],3888040117:[B_,2515109513,562808652,3205830791,3862327254,1177604601,O_,2254336722,2986769608,385403989,1252848954,2391368822,2706460486,3821786052,3342526732,4218914973,1028945134,4088093105,2904328755,3327091369,2382730787,1419761937,3895139033,3293443760,4143007308,2296667514,488727124,1060000209,3898045240,148013059,3827777499,3295246426,2559216714,2914609552,325726236,1154579445,M_,4021432810,1946335990,3041715199,L_,1662888072,317615605,1545765605,4266260250,2176059722,25142252,h_,4288193352,630975310,4086658281,2295281155,182646315,1062813311,1052013943,819412036,24726584,1360408905,4175244083,3508470533,1426591983,1904799276,3221913625,277319702,1634111441,4237592921,1404847402,1999602285,991950508,3053780830,3694346114,2078563270,1437502449,1638804497,629592764,76236018,2223149337,3310460725,w_,707683696,3518393246,3460952963,4217484030,3758799889,3612865200,987401354,I_,3571504051,90941305,3132237377,342316401,1051757585,635142910,310824031,2176052936,4278956645,1003880860,862014818,3693000487,4074379575,177149247,m_,1162798199,738039164,2188021234,2058353004,402227799,264262732,3640358203,4136498852,2272882330,y_,3902619387,2938176219,32344328,2056796094,4292641817,3026737570,3825984169,3420628829,2474470126,2068733104,3319311131,484807127,3747195512,2814081492,1658829314,3040386961,1945004755,1677625105,1095909175,4196446775,g_,3304561284,3512223829,E_,3425753595,4252922144,331165859,b_,1329646415,D_,3283111854,P_,2262370178,3290496277,R_,1383356374,2182337498,234836483,1073191201,2696325953,900683007,3798194928,3376911765,1077100507,__,3999819293,C_,3426335179,3495092785,1973544240,1502416096,843113511,3296154744,1876633798,2769231204,1620046519,840318589,1953115116,1971632696,2680139844,3314249567,2713699986,1594536857,4230923436,3493046030,413509423,1509553395,263784265,3101698114,3071239417,926996030,3588315303,1287392070,3651124850,2143335405,2827207264,1335981549,2979338954,2391383451,1530820697,33720170,979691226,3663046924,2347447852,T_,2320036040,3027567501,377706215,2568555532,647756555,1623761950,4123344466,1758889154,1674181508,1975003073,734778138,4243806635,1179482911,2445595289,214636428,2218152070,3979015343,530289379,3136571912,1621171031,3657597509,2082059205,1807405624,1004757350,682877961,1235345126,2757150158,603775116,3689010777,3544373492,1209101575,2853485674,463610769,S_,N_,963979645,550521510,1891881377,976884017,4228831410,1310830890,4031249490,644574406,146592293,3992365140,525669439,24185140,3124254112,2706606064,1412071761,4208778838,2744685151,4148101412,x_,2945172077],590820931:[2485787929,3505215534,3388369263],759155922:[445594917],2559016684:[4006246654],3967405729:[3566463478,1714330368,2963535650,512836454,336235671,3765753017],2945172077:[2744685151,4148101412,x_],4208778838:[325726236,1154579445,M_,4021432810,1946335990,3041715199,L_,1662888072,317615605,1545765605,4266260250,2176059722,25142252,h_,4288193352,630975310,4086658281,2295281155,182646315,1062813311,1052013943,819412036,24726584,1360408905,4175244083,3508470533,1426591983,1904799276,3221913625,277319702,1634111441,4237592921,1404847402,1999602285,991950508,3053780830,3694346114,2078563270,1437502449,1638804497,629592764,76236018,2223149337,3310460725,w_,707683696,3518393246,3460952963,4217484030,3758799889,3612865200,987401354,I_,3571504051,90941305,3132237377,342316401,1051757585,635142910,310824031,2176052936,4278956645,1003880860,862014818,3693000487,4074379575,177149247,m_,1162798199,738039164,2188021234,2058353004,402227799,264262732,3640358203,4136498852,2272882330,y_,3902619387,2938176219,32344328,2056796094,4292641817,3026737570,3825984169,3420628829,2474470126,2068733104,3319311131,484807127,3747195512,2814081492,1658829314,3040386961,1945004755,1677625105,1095909175,4196446775,g_,3304561284,3512223829,E_,3425753595,4252922144,331165859,b_,1329646415,D_,3283111854,P_,2262370178,3290496277,R_,1383356374,2182337498,234836483,1073191201,2696325953,900683007,3798194928,3376911765,1077100507,__,3999819293,C_,3426335179,3495092785,1973544240,1502416096,843113511,3296154744,1876633798,2769231204,1620046519,840318589,1953115116,1971632696,2680139844,3314249567,2713699986,1594536857,4230923436,3493046030,413509423,1509553395,263784265,3101698114,3071239417,926996030,3588315303,1287392070,3651124850,2143335405,2827207264,1335981549,2979338954,2391383451,1530820697,33720170,979691226,3663046924,2347447852,T_,2320036040,3027567501,377706215,2568555532,647756555,1623761950,4123344466,1758889154,1674181508,1975003073,734778138,4243806635,1179482911,2445595289,214636428,2218152070,3979015343,530289379,3136571912,1621171031,3657597509,2082059205,1807405624,1004757350,682877961,1235345126,2757150158,603775116,3689010777,3544373492,1209101575,2853485674,463610769,S_,N_,963979645,550521510,1891881377,976884017,4228831410,1310830890,4031249490,644574406,146592293,3992365140,525669439,24185140,3124254112,2706606064,1412071761],3521284610:[3875453745,3663146110],3939117080:[205026976,2857406711,4278684876,1027710054,1307041759,2495723537,1683148259],1307041759:[1027710054],1865459582:[1033248425,2655215786,3840914261,982818633,2728634034,919958153,4095574036],826625072:[1521410863,3523091289,3451746338,366585022,4122056220,1245217292,1441486842,427948657,279856033,3940055652,2802773753,886880790,3242617779,504942748,1638771189,2127690289,3190031847,4201705270,3678494232,3945020480,1204542856],1204542856:[3678494232,3945020480],1638771189:[504942748],2551354335:[160246688,3818125796,1401173127,750771296,3268803585],693640335:[781010003,307848117,4186316022,1462361463],3451746338:[1521410863,3523091289],3523091289:[1521410863],2914609552:[488727124,1060000209,3898045240,148013059,3827777499,3295246426,2559216714],1856042241:[3243963512],1862484736:[1290935644],1412071761:[1209101575,2853485674,463610769,S_,N_,963979645,550521510,1891881377,976884017,4228831410,1310830890,4031249490,644574406,146592293,3992365140,525669439,24185140,3124254112,2706606064],710998568:[2481509218,3812236995,3893378262],2706606064:[S_,N_,963979645,550521510,1891881377,976884017,4228831410,1310830890,4031249490,644574406,146592293,3992365140,525669439,24185140,3124254112],3893378262:[3812236995],2735484536:[42703149,1027922057,3649235739,2000195564,3497074424,782932809],3544373492:[1621171031,3657597509,2082059205,1807405624,1004757350,682877961,1235345126,2757150158,603775116,3689010777],3136571912:[1975003073,734778138,4243806635,1179482911,2445595289,214636428,2218152070,3979015343,530289379],530289379:[2445595289,214636428,2218152070,3979015343],3689010777:[1235345126,2757150158,603775116],3979015343:[2218152070],699246055:[2157484638,3113134337],2387106220:[2839578677,1229763772,2916149573],3665877780:[2097647324,3651464721],2916149573:[1229763772],2296667514:[4143007308],1635779807:[2603310189],2887950389:[683857671,167062518],167062518:[683857671],1260505505:[1232101972,2461110595,1967976161,3593883385,3724593414,2571569899,544395925,2898700619,144952367,1136057603,15328376,3732776249],1626504194:[1909888760,3649138523,819618141,4009809668,1898987631,618700268,338393293,1039846685,2533589738,4074543187,2781568857,1469900589,2324767716,2893384427,1763565496,4017108033,514975943,506776471,710110818,3181161470,679976338,1893162501,2323601079,3203706013,1158309216,1306400036,1457835157,1916426348,4189326743,300633059,2197970202],3732776249:[544395925,2898700619,144952367,1136057603,15328376],15328376:[144952367,1136057603],2510884976:[2611217952,1704287377],2559216714:[488727124,1060000209,3898045240,148013059,3827777499,3295246426],3293443760:[3821786052,3342526732,4218914973,1028945134,4088093105,2904328755,3327091369,2382730787,1419761937,3895139033],1306400036:[3203706013,1158309216],3256556792:[578613899,3001207471,2874132201,3179687236,1783015770,655969474,4037862832,2063403501,1599208980,1810631287,2142170206,2030761528,3946677679,3009222698,4222183408,663422040,400855858,1532957894,3352864051,1133259667,3112655638,1305183839,1894708472,1768891740,2837617999,1950438474,1114901282,1770583370,1161773419,1051575348,2297155007,3277789161,5716631,1339347760,3760055223,2940368186,1285652485,3293546465,4231323485,1834744321,346874300,3850581409,2250791053,1482959167,869906466,2674252688,395041908,804291784,4288270099,3198132628,712377611,2417008758,479945903,3961806047,1411407467,728799441,2315554128,1842657554,3815607619,3907093117,1217240411,1534661035,2954562838,335055490,2816379211,2301859152,2951183804,2188180465,231477066,1871374353,1911125066,1600972822,1692211062,1072016465,977012517,1806887404,1251058090,3390157468,3174744832,132023988,2107101300,3849074793],3849074793:[1599208980,1810631287,2142170206,2030761528,3946677679,3009222698,4222183408,663422040,400855858,1532957894,3352864051,1133259667,3112655638,1305183839,1894708472,1768891740,2837617999,1950438474,1114901282,1770583370,1161773419,1051575348,2297155007,3277789161,5716631,1339347760,3760055223,2940368186,1285652485,3293546465,4231323485,1834744321,346874300,3850581409,2250791053,1482959167,869906466,2674252688,395041908,804291784,4288270099,3198132628,712377611,2417008758,479945903,3961806047,1411407467,728799441,2315554128,1842657554,3815607619,3907093117,1217240411,1534661035,2954562838,335055490,2816379211,2301859152,2951183804,2188180465,231477066,1871374353,1911125066,1600972822,1692211062,1072016465,977012517,1806887404,1251058090,3390157468,3174744832,132023988,2107101300],1758889154:[25142252,h_,4288193352,630975310,4086658281,2295281155,182646315,1062813311,1052013943,819412036,24726584,1360408905,4175244083,3508470533,1426591983,1904799276,3221913625,277319702,1634111441,4237592921,1404847402,1999602285,991950508,3053780830,3694346114,2078563270,1437502449,1638804497,629592764,76236018,2223149337,3310460725,w_,707683696,3518393246,3460952963,4217484030,3758799889,3612865200,987401354,I_,3571504051,90941305,3132237377,342316401,1051757585,635142910,310824031,2176052936,4278956645,1003880860,862014818,3693000487,4074379575,177149247,m_,1162798199,738039164,2188021234,2058353004,402227799,264262732,3640358203,4136498852,2272882330,y_,3902619387,2938176219,32344328,2056796094,4292641817,3026737570,3825984169,3420628829,2474470126,2068733104,3319311131,484807127,3747195512,2814081492,1658829314,3040386961,1945004755,1677625105,1095909175,4196446775,g_,3304561284,3512223829,E_,3425753595,4252922144,331165859,b_,1329646415,D_,3283111854,P_,2262370178,3290496277,R_,1383356374,2182337498,234836483,1073191201,2696325953,900683007,3798194928,3376911765,1077100507,__,3999819293,C_,3426335179,3495092785,1973544240,1502416096,843113511,3296154744,1876633798,2769231204,1620046519,840318589,1953115116,1971632696,2680139844,3314249567,2713699986,1594536857,4230923436,3493046030,413509423,1509553395,263784265,3101698114,3071239417,926996030,3588315303,1287392070,3651124850,2143335405,2827207264,1335981549,2979338954,2391383451,1530820697,33720170,979691226,3663046924,2347447852,T_,2320036040,3027567501,377706215,2568555532,647756555,1623761950,4123344466],1623761950:[1335981549,2979338954,2391383451,1530820697,33720170,979691226,3663046924,2347447852,T_,2320036040,3027567501,377706215,2568555532,647756555],2590856083:[2635815018,39481116,3313531582,3956297820,3599934289,2572171363,2415094496,2281632017,3081323446,2310774935,964333572,2108223431,3948183225,2489546625],2107101300:[1217240411,1534661035,2954562838,335055490,2816379211,2301859152,2951183804,2188180465,231477066,1871374353,1911125066,1600972822,1692211062,1072016465,977012517,1806887404,1251058090,3390157468,3174744832,132023988],2853485674:[1209101575],807026263:[3737207727],24185140:[4031249490,644574406,146592293,3992365140,525669439],1310830890:[963979645,550521510,1891881377,976884017,4228831410],2827207264:[3101698114,3071239417,926996030,3588315303,1287392070,3651124850,2143335405],2143335405:[3651124850],1287392070:[3071239417,926996030,3588315303],3907093117:[712377611,2417008758,479945903,3961806047,1411407467,728799441,2315554128,1842657554,3815607619],3198132628:[869906466,2674252688,395041908,804291784,4288270099],1482959167:[346874300,3850581409,2250791053],1834744321:[3760055223,2940368186,1285652485,3293546465,4231323485],1339347760:[3277789161,5716631],2297155007:[4222183408,663422040,400855858,1532957894,3352864051,1133259667,3112655638,1305183839,1894708472,1768891740,2837617999,1950438474,1114901282,1770583370,1161773419,1051575348],3009222698:[1810631287,2142170206,2030761528,3946677679],263784265:[413509423,1509553395],4230923436:[1971632696,2680139844,3314249567,2713699986,1594536857],2706460486:[B_,2515109513,562808652,3205830791,3862327254,1177604601,O_,2254336722,2986769608,385403989,1252848954,2391368822],2176059722:[1662888072,317615605,1545765605,4266260250],3740093272:[3041715199],1946335990:[325726236,1154579445,M_,4021432810],3027567501:[979691226,3663046924,2347447852,T_,2320036040],964333572:[2572171363,2415094496,2281632017,3081323446,2310774935],682877961:[1621171031,3657597509,2082059205,1807405624,1004757350],1179482911:[1975003073,734778138,4243806635],1004757350:[1807405624],214636428:[2445595289],1252848954:[385403989],3657597509:[1621171031],2254336722:[2515109513,562808652,3205830791,3862327254,1177604601,O_],1953115116:[1620046519,840318589],1028945134:[3342526732,4218914973],1967976161:[1232101972,2461110595],2461110595:[1232101972],1136057603:[144952367],1876633798:[1095909175,4196446775,g_,3304561284,3512223829,E_,3425753595,4252922144,331165859,b_,1329646415,D_,3283111854,P_,2262370178,3290496277,R_,1383356374,2182337498,234836483,1073191201,2696325953,900683007,3798194928,3376911765,1077100507,__,3999819293,C_,3426335179,3495092785,1973544240,1502416096,843113511,3296154744],3426335179:[3999819293,C_],2063403501:[578613899,3001207471,2874132201,3179687236,1783015770,655969474,4037862832],1945004755:[25142252,h_,4288193352,630975310,4086658281,2295281155,182646315,1062813311,1052013943,819412036,24726584,1360408905,4175244083,3508470533,1426591983,1904799276,3221913625,277319702,1634111441,4237592921,1404847402,1999602285,991950508,3053780830,3694346114,2078563270,1437502449,1638804497,629592764,76236018,2223149337,3310460725,w_,707683696,3518393246,3460952963,4217484030,3758799889,3612865200,987401354,I_,3571504051,90941305,3132237377,342316401,1051757585,635142910,310824031,2176052936,4278956645,1003880860,862014818,3693000487,4074379575,177149247,m_,1162798199,738039164,2188021234,2058353004,402227799,264262732,3640358203,4136498852,2272882330,y_,3902619387,2938176219,32344328,2056796094,4292641817,3026737570,3825984169,3420628829,2474470126,2068733104,3319311131,484807127,3747195512,2814081492,1658829314,3040386961],3040386961:[1052013943,819412036,24726584,1360408905,4175244083,3508470533,1426591983,1904799276,3221913625,277319702,1634111441,4237592921,1404847402,1999602285,991950508,3053780830,3694346114,2078563270,1437502449,1638804497,629592764,76236018,2223149337,3310460725,w_,707683696,3518393246,3460952963,4217484030,3758799889,3612865200,987401354,I_,3571504051,90941305,3132237377,342316401,1051757585,635142910,310824031,2176052936,4278956645,1003880860,862014818,3693000487,4074379575,177149247,m_,1162798199,738039164,2188021234,2058353004,402227799,264262732,3640358203,4136498852,2272882330,y_,3902619387,2938176219,32344328,2056796094,4292641817,3026737570,3825984169,3420628829,2474470126,2068733104,3319311131,484807127,3747195512,2814081492,1658829314],3205830791:[562808652],1077100507:[3798194928,3376911765],1658829314:[402227799,264262732,3640358203,4136498852,2272882330,y_,3902619387,2938176219,32344328,2056796094,4292641817,3026737570,3825984169,3420628829,2474470126,2068733104,3319311131,484807127,3747195512,2814081492],2058353004:[1003880860,862014818,3693000487,4074379575,177149247,m_,1162798199,738039164,2188021234],4278956645:[342316401,1051757585,635142910,310824031,2176052936],3132237377:[I_,3571504051,90941305],987401354:[3518393246,3460952963,4217484030,3758799889,3612865200],707683696:[3310460725,w_],2223149337:[1426591983,1904799276,3221913625,277319702,1634111441,4237592921,1404847402,1999602285,991950508,3053780830,3694346114,2078563270,1437502449,1638804497,629592764,76236018],3508470533:[819412036,24726584,1360408905,4175244083],2713699986:[1971632696,2680139844,3314249567],1154579445:[325726236],2391406946:[3512223829],1062813311:[25142252,h_,4288193352,630975310,4086658281,2295281155,182646315]},k_[3]={3630933823:[["HasExternalReference",1437805879,3,!0]],618182010:[["OfPerson",2077209135,7,!0],["OfOrganization",4251960020,4,!0]],411424972:[["HasExternalReference",1437805879,3,!0]],130549933:[["HasExternalReferences",1437805879,3,!0],["ApprovedObjects",4095574036,5,!0],["ApprovedResources",2943643501,3,!0],["IsRelatedWith",3869604511,3,!0],["Relates",3869604511,2,!0]],1959218052:[["HasExternalReferences",1437805879,3,!0],["PropertiesForConstraint",1608871552,2,!0]],1466758467:[["HasCoordinateOperation",1785450214,0,!0]],602808272:[["HasExternalReference",1437805879,3,!0]],3200245327:[["ExternalReferenceForResources",1437805879,2,!0]],2242383968:[["ExternalReferenceForResources",1437805879,2,!0]],1040185647:[["ExternalReferenceForResources",1437805879,2,!0]],3548104201:[["ExternalReferenceForResources",1437805879,2,!0]],852622518:[["PartOfW",M_,9,!0],["PartOfV",M_,8,!0],["PartOfU",M_,7,!0],["HasIntersections",891718957,0,!0]],2655187982:[["LibraryInfoForObjects",3840914261,5,!0],["HasLibraryReferences",3452421091,5,!0]],3452421091:[["ExternalReferenceForResources",1437805879,2,!0],["LibraryRefForObjects",3840914261,5,!0]],760658860:[["AssociatedTo",2655215786,5,!0],["HasExternalReferences",1437805879,3,!0],["HasProperties",3265635763,3,!0]],248100487:[["AssociatedTo",2655215786,5,!0],["HasExternalReferences",1437805879,3,!0],["HasProperties",3265635763,3,!0],["ToMaterialLayerSet",3303938423,0,!1]],3303938423:[["AssociatedTo",2655215786,5,!0],["HasExternalReferences",1437805879,3,!0],["HasProperties",3265635763,3,!0]],1847252529:[["AssociatedTo",2655215786,5,!0],["HasExternalReferences",1437805879,3,!0],["HasProperties",3265635763,3,!0],["ToMaterialLayerSet",3303938423,0,!1]],2235152071:[["AssociatedTo",2655215786,5,!0],["HasExternalReferences",1437805879,3,!0],["HasProperties",3265635763,3,!0],["ToMaterialProfileSet",164193824,2,!1]],164193824:[["AssociatedTo",2655215786,5,!0],["HasExternalReferences",1437805879,3,!0],["HasProperties",3265635763,3,!0]],552965576:[["AssociatedTo",2655215786,5,!0],["HasExternalReferences",1437805879,3,!0],["HasProperties",3265635763,3,!0],["ToMaterialProfileSet",164193824,2,!1]],1507914824:[["AssociatedTo",2655215786,5,!0]],3368373690:[["HasExternalReferences",1437805879,3,!0],["PropertiesForConstraint",1608871552,2,!0]],3701648758:[["PlacesObject",4208778838,5,!0],["ReferencedByPlacements",3701648758,0,!0]],2251480897:[["HasExternalReferences",1437805879,3,!0],["PropertiesForConstraint",1608871552,2,!0]],4251960020:[["IsRelatedBy",1411181986,3,!0],["Relates",1411181986,2,!0],["Engages",101040310,1,!0]],2077209135:[["EngagedIn",101040310,0,!0]],2483315170:[["HasExternalReferences",1437805879,3,!0],["PartOfComplex",3021840470,2,!0]],2226359599:[["HasExternalReferences",1437805879,3,!0],["PartOfComplex",3021840470,2,!0]],3355820592:[["OfPerson",2077209135,7,!0],["OfOrganization",4251960020,4,!0]],3958567839:[["HasExternalReference",1437805879,3,!0],["HasProperties",2802850158,3,!0]],3843373140:[["HasCoordinateOperation",1785450214,0,!0]],986844984:[["HasExternalReferences",1437805879,3,!0]],3710013099:[["HasExternalReferences",1437805879,3,!0]],2044713172:[["HasExternalReferences",1437805879,3,!0],["PartOfComplex",3021840470,2,!0]],2093928680:[["HasExternalReferences",1437805879,3,!0],["PartOfComplex",3021840470,2,!0]],931644368:[["HasExternalReferences",1437805879,3,!0],["PartOfComplex",3021840470,2,!0]],2691318326:[["HasExternalReferences",1437805879,3,!0],["PartOfComplex",3021840470,2,!0]],3252649465:[["HasExternalReferences",1437805879,3,!0],["PartOfComplex",3021840470,2,!0]],2405470396:[["HasExternalReferences",1437805879,3,!0],["PartOfComplex",3021840470,2,!0]],825690147:[["HasExternalReferences",1437805879,3,!0],["PartOfComplex",3021840470,2,!0]],1076942058:[["RepresentationMap",1660063152,1,!0],["LayerAssignments",2022622350,2,!0],["OfProductRepresentation",2095639259,2,!0]],3377609919:[["RepresentationsInContext",1076942058,0,!0]],3008791417:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],1660063152:[["HasShapeAspects",867548509,4,!0],["MapUsage",2347385850,0,!0]],867548509:[["HasExternalReferences",1437805879,3,!0]],3982875396:[["RepresentationMap",1660063152,1,!0],["LayerAssignments",2022622350,2,!0],["OfProductRepresentation",2095639259,2,!0],["OfShapeAspect",867548509,0,!0]],4240577450:[["RepresentationMap",1660063152,1,!0],["LayerAssignments",2022622350,2,!0],["OfProductRepresentation",2095639259,2,!0],["OfShapeAspect",867548509,0,!0]],2830218821:[["RepresentationMap",1660063152,1,!0],["LayerAssignments",2022622350,2,!0],["OfProductRepresentation",2095639259,2,!0]],3958052878:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],3049322572:[["RepresentationMap",1660063152,1,!0],["LayerAssignments",2022622350,2,!0],["OfProductRepresentation",2095639259,2,!0]],626085974:[["IsMappedBy",280115917,0,!0],["UsedInStyles",1351298697,0,!0]],912023232:[["OfPerson",2077209135,7,!0],["OfOrganization",4251960020,4,!0]],222769930:[["ToTexMap",3465909080,3,!1]],1010789467:[["ToTexMap",3465909080,3,!1]],3101149627:[["HasExternalReference",1437805879,3,!0]],1377556343:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],1735638870:[["RepresentationMap",1660063152,1,!0],["LayerAssignments",2022622350,2,!0],["OfProductRepresentation",2095639259,2,!0],["OfShapeAspect",867548509,0,!0]],2799835756:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],1907098498:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],3798115385:[["HasExternalReference",1437805879,3,!0],["HasProperties",2802850158,3,!0]],1310608509:[["HasExternalReference",1437805879,3,!0],["HasProperties",2802850158,3,!0]],2705031697:[["HasExternalReference",1437805879,3,!0],["HasProperties",2802850158,3,!0]],616511568:[["IsMappedBy",280115917,0,!0],["UsedInStyles",1351298697,0,!0]],3150382593:[["HasExternalReference",1437805879,3,!0],["HasProperties",2802850158,3,!0]],747523909:[["ClassificationForObjects",919958153,5,!0],["HasReferences",647927063,3,!0]],647927063:[["ExternalReferenceForResources",1437805879,2,!0],["ClassificationRefForObjects",919958153,5,!0],["HasReferences",647927063,3,!0]],1485152156:[["HasExternalReference",1437805879,3,!0],["HasProperties",2802850158,3,!0]],370225590:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],3050246964:[["HasExternalReference",1437805879,3,!0]],2889183280:[["HasExternalReference",1437805879,3,!0]],2713554722:[["HasExternalReference",1437805879,3,!0]],3632507154:[["HasExternalReference",1437805879,3,!0],["HasProperties",2802850158,3,!0]],1154170062:[["DocumentInfoForObjects",982818633,5,!0],["HasDocumentReferences",3732053477,4,!0],["IsPointedTo",770865208,3,!0],["IsPointer",770865208,2,!0]],3732053477:[["ExternalReferenceForResources",1437805879,2,!0],["DocumentRefForObjects",982818633,5,!0]],3900360178:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],476780140:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],297599258:[["HasExternalReferences",1437805879,3,!0]],2556980723:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0],["HasTextureMaps",2552916305,2,!0]],1809719519:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],803316827:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],3008276851:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0],["HasTextureMaps",2552916305,2,!0]],3448662350:[["RepresentationsInContext",1076942058,0,!0],["HasSubContexts",4142052618,6,!0],["HasCoordinateOperation",1785450214,0,!0]],2453401579:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],4142052618:[["RepresentationsInContext",1076942058,0,!0],["HasSubContexts",4142052618,6,!0],["HasCoordinateOperation",1785450214,0,!0]],3590301190:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],178086475:[["PlacesObject",4208778838,5,!0],["ReferencedByPlacements",3701648758,0,!0]],812098782:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],3905492369:[["IsMappedBy",280115917,0,!0],["UsedInStyles",1351298697,0,!0]],3741457305:[["HasExternalReference",1437805879,3,!0]],1402838566:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],125510826:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],2604431987:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],4266656042:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],1520743889:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],3422422726:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],388784114:[["PlacesObject",4208778838,5,!0],["ReferencedByPlacements",3701648758,0,!0]],2624227202:[["PlacesObject",4208778838,5,!0],["ReferencedByPlacements",3701648758,0,!0]],1008929658:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],2347385850:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],1838606355:[["AssociatedTo",2655215786,5,!0],["HasExternalReferences",1437805879,3,!0],["HasProperties",3265635763,3,!0],["HasRepresentation",2022407955,3,!0],["IsRelatedWith",853536259,3,!0],["RelatesTo",853536259,2,!0]],3708119e3:[["AssociatedTo",2655215786,5,!0],["HasExternalReferences",1437805879,3,!0],["HasProperties",3265635763,3,!0],["ToMaterialConstituentSet",2852063980,2,!1]],2852063980:[["AssociatedTo",2655215786,5,!0],["HasExternalReferences",1437805879,3,!0],["HasProperties",3265635763,3,!0]],1303795690:[["AssociatedTo",2655215786,5,!0]],3079605661:[["AssociatedTo",2655215786,5,!0]],3404854881:[["AssociatedTo",2655215786,5,!0]],3265635763:[["HasExternalReferences",1437805879,3,!0]],2998442950:[["HasExternalReference",1437805879,3,!0],["HasProperties",2802850158,3,!0]],219451334:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0]],182550632:[["HasExternalReference",1437805879,3,!0],["HasProperties",2802850158,3,!0]],2665983363:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],1029017970:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],2529465313:[["HasExternalReference",1437805879,3,!0],["HasProperties",2802850158,3,!0]],2519244187:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],3021840470:[["HasExternalReferences",1437805879,3,!0],["PartOfComplex",3021840470,2,!0]],597895409:[["IsMappedBy",280115917,0,!0],["UsedInStyles",1351298697,0,!0]],2004835150:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],1663979128:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],2067069095:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],2165702409:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],4022376103:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],1423911732:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],2924175390:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],2775532180:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],3778827333:[["HasExternalReferences",1437805879,3,!0]],673634403:[["ShapeOfProduct",4208778838,6,!0],["HasShapeAspects",867548509,4,!0]],2802850158:[["HasExternalReferences",1437805879,3,!0]],2598011224:[["HasExternalReferences",1437805879,3,!0],["PartOfPset",1451395588,4,!0],["PropertyForDependance",148025276,2,!0],["PropertyDependsOn",148025276,3,!0],["PartOfComplex",2542286263,3,!0],["HasConstraints",1608871552,3,!0],["HasApprovals",2943643501,2,!0]],1680319473:[["HasContext",2565941209,5,!0],["HasAssociations",1865459582,4,!0]],3357820518:[["HasContext",2565941209,5,!0],["HasAssociations",1865459582,4,!0],["DefinesType",1628702193,5,!0],["IsDefinedBy",307848117,4,!0],["DefinesOccurrence",4186316022,5,!0]],1482703590:[["HasContext",2565941209,5,!0],["HasAssociations",1865459582,4,!0]],2090586900:[["HasContext",2565941209,5,!0],["HasAssociations",1865459582,4,!0],["DefinesType",1628702193,5,!0],["IsDefinedBy",307848117,4,!0],["DefinesOccurrence",4186316022,5,!0]],3615266464:[["HasExternalReference",1437805879,3,!0],["HasProperties",2802850158,3,!0]],3413951693:[["HasExternalReference",1437805879,3,!0]],1580146022:[["HasExternalReferences",1437805879,3,!0]],2778083089:[["HasExternalReference",1437805879,3,!0],["HasProperties",2802850158,3,!0]],2042790032:[["HasExternalReferences",1437805879,3,!0]],4165799628:[["HasExternalReferences",1437805879,3,!0]],1509187699:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],823603102:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0],["UsingCurves",3732776249,0,!0]],4124623270:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],3692461612:[["HasExternalReferences",1437805879,3,!0],["PartOfPset",1451395588,4,!0],["PropertyForDependance",148025276,2,!0],["PropertyDependsOn",148025276,3,!0],["PartOfComplex",2542286263,3,!0],["HasConstraints",1608871552,3,!0],["HasApprovals",2943643501,2,!0]],723233188:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],2233826070:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],2513912981:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],2247615214:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],1260650574:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],1096409881:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],230924584:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],3071757647:[["HasExternalReference",1437805879,3,!0],["HasProperties",2802850158,3,!0]],901063453:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],4282788508:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],3124975700:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],2715220739:[["HasExternalReference",1437805879,3,!0],["HasProperties",2802850158,3,!0]],1628702193:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0]],3736923433:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["OperatesOn",4278684876,6,!0]],2347495698:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],3698973494:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ResourceOf",205026976,6,!0]],427810014:[["HasExternalReference",1437805879,3,!0],["HasProperties",2802850158,3,!0]],1417489154:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],2759199220:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],2543172580:[["HasExternalReference",1437805879,3,!0],["HasProperties",2802850158,3,!0]],3406155212:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0],["HasTextureMaps",2552916305,2,!0]],669184980:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],3207858831:[["HasExternalReference",1437805879,3,!0],["HasProperties",2802850158,3,!0]],4261334040:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],3125803723:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],2740243338:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],3425423356:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],2736907675:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],4182860854:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],2581212453:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],2713105998:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],2898889636:[["HasExternalReference",1437805879,3,!0],["HasProperties",2802850158,3,!0]],1123145078:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],574549367:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],1675464909:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],2059837836:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],59481748:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],3749851601:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],3486308946:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],3331915920:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],1416205885:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],1383045692:[["HasExternalReference",1437805879,3,!0],["HasProperties",2802850158,3,!0]],2205249479:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],2542286263:[["HasExternalReferences",1437805879,3,!0],["PartOfPset",1451395588,4,!0],["PropertyForDependance",148025276,2,!0],["PropertyDependsOn",148025276,3,!0],["PartOfComplex",2542286263,3,!0],["HasConstraints",1608871552,3,!0],["HasApprovals",2943643501,2,!0]],2485617015:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0],["UsingCurves",3732776249,0,!0]],2574617495:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ResourceOf",205026976,6,!0]],3419103109:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",4186316022,4,!0],["Declares",2565941209,4,!0]],1815067380:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ResourceOf",205026976,6,!0]],2506170314:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],2147822146:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],2601014836:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],2827736869:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],2629017746:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],4212018352:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0],["UsingCurves",3732776249,0,!0]],32440307:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],593015953:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],1472233963:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],1883228015:[["HasContext",2565941209,5,!0],["HasAssociations",1865459582,4,!0],["DefinesType",1628702193,5,!0],["IsDefinedBy",307848117,4,!0],["DefinesOccurrence",4186316022,5,!0]],339256511:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],2777663545:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],2835456948:[["HasExternalReference",1437805879,3,!0],["HasProperties",2802850158,3,!0]],4024345920:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["OperatesOn",4278684876,6,!0]],477187591:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],2804161546:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],2047409740:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],374418227:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],315944413:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],2652556860:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],4238390223:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],1268542332:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],4095422895:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],987898635:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],1484403080:[["HasExternalReference",1437805879,3,!0],["HasProperties",2802850158,3,!0]],178912537:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0],["ToFaceSet",2839578677,2,!0],["HasTexCoords",222769930,1,!0]],2294589976:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0],["ToFaceSet",2839578677,2,!0],["HasTexCoords",222769930,1,!0]],572779678:[["HasExternalReference",1437805879,3,!0],["HasProperties",2802850158,3,!0]],428585644:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ResourceOf",205026976,6,!0]],1281925730:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],1425443689:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],3888040117:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0]],590820931:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],3388369263:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],3505215534:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],2485787929:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],1682466193:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],603570806:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],220341763:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],3381221214:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],3967405729:[["HasContext",2565941209,5,!0],["HasAssociations",1865459582,4,!0],["DefinesType",1628702193,5,!0],["IsDefinedBy",307848117,4,!0],["DefinesOccurrence",4186316022,5,!0]],569719735:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["OperatesOn",4278684876,6,!0]],2945172077:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["IsPredecessorTo",4122056220,4,!0],["IsSuccessorFrom",4122056220,5,!0],["OperatesOn",4278684876,6,!0]],4208778838:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0]],103090709:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",4186316022,4,!0],["Declares",2565941209,4,!0]],653396225:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",4186316022,4,!0],["Declares",2565941209,4,!0]],871118103:[["HasExternalReferences",1437805879,3,!0],["PartOfPset",1451395588,4,!0],["PropertyForDependance",148025276,2,!0],["PropertyDependsOn",148025276,3,!0],["PartOfComplex",2542286263,3,!0],["HasConstraints",1608871552,3,!0],["HasApprovals",2943643501,2,!0]],4166981789:[["HasExternalReferences",1437805879,3,!0],["PartOfPset",1451395588,4,!0],["PropertyForDependance",148025276,2,!0],["PropertyDependsOn",148025276,3,!0],["PartOfComplex",2542286263,3,!0],["HasConstraints",1608871552,3,!0],["HasApprovals",2943643501,2,!0]],2752243245:[["HasExternalReferences",1437805879,3,!0],["PartOfPset",1451395588,4,!0],["PropertyForDependance",148025276,2,!0],["PropertyDependsOn",148025276,3,!0],["PartOfComplex",2542286263,3,!0],["HasConstraints",1608871552,3,!0],["HasApprovals",2943643501,2,!0]],941946838:[["HasExternalReferences",1437805879,3,!0],["PartOfPset",1451395588,4,!0],["PropertyForDependance",148025276,2,!0],["PropertyDependsOn",148025276,3,!0],["PartOfComplex",2542286263,3,!0],["HasConstraints",1608871552,3,!0],["HasApprovals",2943643501,2,!0]],1451395588:[["HasContext",2565941209,5,!0],["HasAssociations",1865459582,4,!0],["DefinesType",1628702193,5,!0],["IsDefinedBy",307848117,4,!0],["DefinesOccurrence",4186316022,5,!0]],492091185:[["HasContext",2565941209,5,!0],["HasAssociations",1865459582,4,!0],["Defines",307848117,5,!0]],3650150729:[["HasExternalReferences",1437805879,3,!0],["PartOfPset",1451395588,4,!0],["PropertyForDependance",148025276,2,!0],["PropertyDependsOn",148025276,3,!0],["PartOfComplex",2542286263,3,!0],["HasConstraints",1608871552,3,!0],["HasApprovals",2943643501,2,!0]],110355661:[["HasExternalReferences",1437805879,3,!0],["PartOfPset",1451395588,4,!0],["PropertyForDependance",148025276,2,!0],["PropertyDependsOn",148025276,3,!0],["PartOfComplex",2542286263,3,!0],["HasConstraints",1608871552,3,!0],["HasApprovals",2943643501,2,!0]],3521284610:[["HasContext",2565941209,5,!0],["HasAssociations",1865459582,4,!0],["PartOfComplexTemplate",3875453745,6,!0],["PartOfPsetTemplate",492091185,6,!0]],2770003689:[["HasExternalReference",1437805879,3,!0],["HasProperties",2802850158,3,!0]],2798486643:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],3454111270:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],3765753017:[["HasContext",2565941209,5,!0],["HasAssociations",1865459582,4,!0],["DefinesType",1628702193,5,!0],["IsDefinedBy",307848117,4,!0],["DefinesOccurrence",4186316022,5,!0]],3523091289:[["InnerBoundaries",3523091289,9,!0]],1521410863:[["InnerBoundaries",3523091289,9,!0],["Corresponds",1521410863,10,!0]],816062949:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0],["UsingCurves",3732776249,0,!0]],2914609552:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ResourceOf",205026976,6,!0]],1856042241:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],3243963512:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],4158566097:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],3626867408:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],1862484736:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],1290935644:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],1356537516:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],3663146110:[["HasContext",2565941209,5,!0],["HasAssociations",1865459582,4,!0],["PartOfComplexTemplate",3875453745,6,!0],["PartOfPsetTemplate",492091185,6,!0]],1412071761:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["ContainsElements",3242617779,5,!0],["ServicedBySystems",366585022,5,!0],["ReferencesElements",1245217292,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0]],710998568:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],2706606064:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["ContainsElements",3242617779,5,!0],["ServicedBySystems",366585022,5,!0],["ReferencesElements",1245217292,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0]],3893378262:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],463610769:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["ContainsElements",3242617779,5,!0],["ServicedBySystems",366585022,5,!0],["ReferencesElements",1245217292,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0]],2481509218:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],451544542:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],4015995234:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],2735484536:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],3544373492:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["AssignedToStructuralItem",2127690289,5,!0]],3136571912:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["AssignedStructuralActivity",2127690289,4,!0]],530289379:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["AssignedStructuralActivity",2127690289,4,!0],["ConnectedBy",1638771189,4,!0]],3689010777:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["AssignedToStructuralItem",2127690289,5,!0]],3979015343:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["AssignedStructuralActivity",2127690289,4,!0],["ConnectedBy",1638771189,4,!0]],2218152070:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["AssignedStructuralActivity",2127690289,4,!0],["ConnectedBy",1638771189,4,!0]],603775116:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["AssignedToStructuralItem",2127690289,5,!0]],4095615324:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ResourceOf",205026976,6,!0]],699246055:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],2028607225:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],2809605785:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],4124788165:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],1580310250:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],3473067441:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["IsPredecessorTo",4122056220,4,!0],["IsSuccessorFrom",4122056220,5,!0],["OperatesOn",4278684876,6,!0]],3206491090:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["OperatesOn",4278684876,6,!0]],2387106220:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0],["HasColours",3570813810,0,!0],["HasTextures",1437953363,1,!0]],782932809:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],1935646853:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],3665877780:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],2916149573:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0],["HasColours",3570813810,0,!0],["HasTextures",1437953363,1,!0]],1229763772:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0],["HasColours",3570813810,0,!0],["HasTextures",1437953363,1,!0]],3651464721:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],336235671:[["HasContext",2565941209,5,!0],["HasAssociations",1865459582,4,!0],["DefinesType",1628702193,5,!0],["IsDefinedBy",307848117,4,!0],["DefinesOccurrence",4186316022,5,!0]],512836454:[["HasContext",2565941209,5,!0],["HasAssociations",1865459582,4,!0],["DefinesType",1628702193,5,!0],["IsDefinedBy",307848117,4,!0],["DefinesOccurrence",4186316022,5,!0]],2296667514:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["IsActingUpon",1683148259,6,!0]],1635779807:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],2603310189:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],1674181508:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["ContainedInStructure",3242617779,4,!0]],2887950389:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],167062518:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],1334484129:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],3649129432:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],1260505505:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],3124254112:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["ContainsElements",3242617779,5,!0],["ServicedBySystems",366585022,5,!0],["ReferencesElements",1245217292,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0]],1626504194:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],2197970202:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],2937912522:[["HasExternalReference",1437805879,3,!0],["HasProperties",2802850158,3,!0]],3893394355:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],3497074424:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],300633059:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],3875453745:[["HasContext",2565941209,5,!0],["HasAssociations",1865459582,4,!0],["PartOfComplexTemplate",3875453745,6,!0],["PartOfPsetTemplate",492091185,6,!0]],3732776249:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],15328376:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],2510884976:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],2185764099:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ResourceOf",205026976,6,!0]],4105962743:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ResourceOf",205026976,6,!0]],1525564444:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ResourceOf",205026976,6,!0]],2559216714:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ResourceOf",205026976,6,!0]],3293443760:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["Controls",2495723537,6,!0]],2000195564:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],3895139033:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["Controls",2495723537,6,!0]],1419761937:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["Controls",2495723537,6,!0]],4189326743:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],1916426348:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],3295246426:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ResourceOf",205026976,6,!0]],1457835157:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],1213902940:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],1306400036:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],4234616927:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],3256556792:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],3849074793:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],2963535650:[["HasContext",2565941209,5,!0],["HasAssociations",1865459582,4,!0],["DefinesType",1628702193,5,!0],["IsDefinedBy",307848117,4,!0],["DefinesOccurrence",4186316022,5,!0]],1714330368:[["HasContext",2565941209,5,!0],["HasAssociations",1865459582,4,!0],["DefinesType",1628702193,5,!0],["IsDefinedBy",307848117,4,!0],["DefinesOccurrence",4186316022,5,!0]],2323601079:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],1758889154:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0]],4123344466:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0]],2397081782:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],1623761950:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0]],2590856083:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],1704287377:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],2107101300:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],132023988:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],3174744832:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],3390157468:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],4148101412:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["IsPredecessorTo",4122056220,4,!0],["IsSuccessorFrom",4122056220,5,!0],["OperatesOn",4278684876,6,!0]],2853485674:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["ContainsElements",3242617779,5,!0],["ServicedBySystems",366585022,5,!0],["ReferencesElements",1245217292,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0]],807026263:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],3737207727:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],24185140:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["ContainsElements",3242617779,5,!0],["ServicedBySystems",366585022,5,!0],["ReferencesElements",1245217292,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0]],1310830890:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["ContainsElements",3242617779,5,!0],["ServicedBySystems",366585022,5,!0],["ReferencesElements",1245217292,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0]],4228831410:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["ContainsElements",3242617779,5,!0],["ServicedBySystems",366585022,5,!0],["ReferencesElements",1245217292,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0]],647756555:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0]],2489546625:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],2827207264:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0]],2143335405:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0],["ProjectsElements",750771296,5,!1]],1287392070:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0],["VoidsElements",1401173127,5,!1]],3907093117:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],3198132628:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],3815607619:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],1482959167:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],1834744321:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],1339347760:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],2297155007:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],3009222698:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],1893162501:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],263784265:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0]],1509553395:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0]],3493046030:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0]],4230923436:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0]],1594536857:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0]],2898700619:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],2706460486:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["IsGroupedBy",1307041759,6,!0],["ReferencedInStructures",1245217292,4,!0]],1251058090:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],1806887404:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],2568555532:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0]],3948183225:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],2571569899:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],3946677679:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],3113134337:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],2391368822:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["IsGroupedBy",1307041759,6,!0],["ReferencedInStructures",1245217292,4,!0]],4288270099:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],679976338:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],3827777499:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ResourceOf",205026976,6,!0]],1051575348:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],1161773419:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],2176059722:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0]],1770583370:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],525669439:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["ContainsElements",3242617779,5,!0],["ServicedBySystems",366585022,5,!0],["ReferencesElements",1245217292,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0]],976884017:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["ContainsElements",3242617779,5,!0],["ServicedBySystems",366585022,5,!0],["ReferencesElements",1245217292,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0]],377706215:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0]],2108223431:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],1114901282:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],3181161470:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],1950438474:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],710110818:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],977012517:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],506776471:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],4143007308:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["IsActingUpon",1683148259,6,!0]],3588315303:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0],["VoidsElements",1401173127,5,!1],["HasFillings",3940055652,4,!0]],2837617999:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],514975943:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],2382730787:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["Controls",2495723537,6,!0]],3566463478:[["HasContext",2565941209,5,!0],["HasAssociations",1865459582,4,!0],["DefinesType",1628702193,5,!0],["IsDefinedBy",307848117,4,!0],["DefinesOccurrence",4186316022,5,!0]],3327091369:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["Controls",2495723537,6,!0]],1158309216:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],804291784:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],4231323485:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],4017108033:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],2839578677:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0],["HasColours",3570813810,0,!0],["HasTextures",1437953363,1,!0]],3724593414:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],3740093272:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["ContainedIn",4201705270,4,!0],["ConnectedFrom",3190031847,5,!0],["ConnectedTo",3190031847,4,!0]],1946335990:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["ContainedInStructure",3242617779,4,!0],["Positions",1441486842,4,!0]],2744685151:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["IsPredecessorTo",4122056220,4,!0],["IsSuccessorFrom",4122056220,5,!0],["OperatesOn",4278684876,6,!0]],2904328755:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["Controls",2495723537,6,!0]],3651124850:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0],["ProjectsElements",750771296,5,!1]],1842657554:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],2250791053:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],1763565496:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],2893384427:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],3992365140:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["ContainsElements",3242617779,5,!0],["ServicedBySystems",366585022,5,!0],["ReferencesElements",1245217292,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0]],1891881377:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["ContainsElements",3242617779,5,!0],["ServicedBySystems",366585022,5,!0],["ReferencesElements",1245217292,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0]],2324767716:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],1469900589:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],683857671:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],4021432810:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["ContainedInStructure",3242617779,4,!0],["Positions",1441486842,4,!0]],3027567501:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0]],964333572:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],2320036040:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0]],2310774935:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],146592293:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["ContainsElements",3242617779,5,!0],["ServicedBySystems",366585022,5,!0],["ReferencesElements",1245217292,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0]],550521510:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["ContainsElements",3242617779,5,!0],["ServicedBySystems",366585022,5,!0],["ReferencesElements",1245217292,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0]],2781568857:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],1768891740:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],2157484638:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],3649235739:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],544395925:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],1027922057:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],4074543187:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],33720170:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0]],3599934289:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],1894708472:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],42703149:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],4097777520:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["ContainsElements",3242617779,5,!0],["ServicedBySystems",366585022,5,!0],["ReferencesElements",1245217292,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0]],2533589738:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],1072016465:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],3856911033:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["ContainsElements",3242617779,5,!0],["ServicedBySystems",366585022,5,!0],["ReferencesElements",1245217292,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasCoverings",2802773753,4,!0],["BoundedBy",3451746338,4,!0]],1305183839:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],3812236995:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],3112655638:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],1039846685:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],338393293:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],682877961:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["AssignedToStructuralItem",2127690289,5,!0]],1179482911:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["AssignedStructuralActivity",2127690289,4,!0],["ConnectsStructuralMembers",1638771189,5,!0]],1004757350:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["AssignedToStructuralItem",2127690289,5,!0]],4243806635:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["AssignedStructuralActivity",2127690289,4,!0],["ConnectsStructuralMembers",1638771189,5,!0]],214636428:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["AssignedStructuralActivity",2127690289,4,!0],["ConnectedBy",1638771189,4,!0]],2445595289:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["AssignedStructuralActivity",2127690289,4,!0],["ConnectedBy",1638771189,4,!0]],2757150158:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["AssignedToStructuralItem",2127690289,5,!0]],1807405624:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["AssignedToStructuralItem",2127690289,5,!0]],1252848954:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["IsGroupedBy",1307041759,6,!0],["ReferencedInStructures",1245217292,4,!0],["SourceOfResultGroup",2986769608,6,!0],["LoadGroupFor",2515109513,7,!0]],2082059205:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["AssignedToStructuralItem",2127690289,5,!0]],734778138:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["AssignedStructuralActivity",2127690289,4,!0],["ConnectsStructuralMembers",1638771189,5,!0]],1235345126:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["AssignedToStructuralItem",2127690289,5,!0]],2986769608:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["IsGroupedBy",1307041759,6,!0],["ReferencedInStructures",1245217292,4,!0],["ResultGroupFor",2515109513,8,!0]],3657597509:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["AssignedToStructuralItem",2127690289,5,!0]],1975003073:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["AssignedStructuralActivity",2127690289,4,!0],["ConnectsStructuralMembers",1638771189,5,!0]],148013059:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ResourceOf",205026976,6,!0]],3101698114:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0],["AdheresToElement",3818125796,5,!1]],2315554128:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],2254336722:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["IsGroupedBy",1307041759,6,!0],["ReferencedInStructures",1245217292,4,!0],["ServicesBuildings",366585022,4,!0],["ServicesFacilities",1245217292,4,!0]],413509423:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0]],5716631:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],3824725483:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0]],2347447852:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0]],3081323446:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],3663046924:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0]],2281632017:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],2415094496:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],618700268:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],1692211062:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],2097647324:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],1953115116:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0]],3593883385:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],1600972822:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],1911125066:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],728799441:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],840318589:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0]],1530820697:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0]],3956297820:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],2391383451:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0]],3313531582:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],2769231204:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0]],926996030:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0],["VoidsElements",1401173127,5,!1]],1898987631:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],1133259667:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],4009809668:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],4088093105:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["Controls",2495723537,6,!0]],1028945134:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["Controls",2495723537,6,!0]],4218914973:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["Controls",2495723537,6,!0]],3342526732:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["Controls",2495723537,6,!0]],1033361043:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["IsGroupedBy",1307041759,6,!0],["ReferencedInStructures",1245217292,4,!0],["ServicesBuildings",366585022,4,!0],["ServicesFacilities",1245217292,4,!0]],3821786052:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["Controls",2495723537,6,!0]],1411407467:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],3352864051:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],1871374353:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],4266260250:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0]],1545765605:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0]],317615605:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0]],1662888072:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0]],3460190687:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["IsGroupedBy",1307041759,6,!0],["ReferencedInStructures",1245217292,4,!0]],1532957894:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],1967976161:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],2461110595:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],819618141:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],3649138523:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],231477066:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],1136057603:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],644574406:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["ContainsElements",3242617779,5,!0],["ServicedBySystems",366585022,5,!0],["ReferencesElements",1245217292,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0]],963979645:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["ContainsElements",3242617779,5,!0],["ServicedBySystems",366585022,5,!0],["ReferencesElements",1245217292,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0]],4031249490:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["ContainsElements",3242617779,5,!0],["ServicedBySystems",366585022,5,!0],["ReferencesElements",1245217292,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0]],2979338954:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0]],39481116:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],1909888760:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],1177604601:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["IsGroupedBy",1307041759,6,!0],["ReferencedInStructures",1245217292,4,!0],["ServicesBuildings",366585022,4,!0],["ServicesFacilities",1245217292,4,!0]],1876633798:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0]],3862327254:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["IsGroupedBy",1307041759,6,!0],["ReferencedInStructures",1245217292,4,!0],["ServicesBuildings",366585022,4,!0],["ServicesFacilities",1245217292,4,!0]],2188180465:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],395041908:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],3293546465:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],2674252688:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],1285652485:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],3203706013:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],2951183804:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],3296154744:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0]],2611217952:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],1677625105:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0]],2301859152:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],843113511:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0]],400855858:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],3850581409:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],2816379211:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],3898045240:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ResourceOf",205026976,6,!0]],1060000209:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ResourceOf",205026976,6,!0]],488727124:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ResourceOf",205026976,6,!0]],2940368186:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],335055490:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],2954562838:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],1502416096:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0]],1973544240:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0],["CoversSpaces",2802773753,5,!0],["CoversElements",886880790,5,!0]],3495092785:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0]],3961806047:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],3426335179:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0]],1335981549:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0]],2635815018:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],479945903:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],1599208980:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],2063403501:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],1945004755:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0],["HasPorts",4201705270,5,!0]],3040386961:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],3041715199:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["ContainedIn",4201705270,4,!0],["ConnectedFrom",3190031847,5,!0],["ConnectedTo",3190031847,4,!0]],3205830791:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["IsGroupedBy",1307041759,6,!0],["ReferencedInStructures",1245217292,4,!0],["ServicesBuildings",366585022,4,!0],["ServicesFacilities",1245217292,4,!0]],395920057:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0]],869906466:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],3760055223:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],2030761528:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],3071239417:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0],["VoidsElements",1401173127,5,!1]],1077100507:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0]],3376911765:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0]],663422040:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],2417008758:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],3277789161:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],2142170206:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],1534661035:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],1217240411:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],712377611:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],1658829314:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],2814081492:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],3747195512:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],484807127:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],1209101575:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["ContainsElements",3242617779,5,!0],["ServicedBySystems",366585022,5,!0],["ReferencesElements",1245217292,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["BoundedBy",3451746338,4,!0]],346874300:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],1810631287:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],4222183408:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],2058353004:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],4278956645:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],4037862832:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],2188021234:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],3132237377:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],987401354:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],707683696:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],2223149337:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],3508470533:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],900683007:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0]],2713699986:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0]],3009204131:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["ContainedInStructure",3242617779,4,!0],["Positions",1441486842,4,!0]],3319311131:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],2068733104:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],4175244083:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],2176052936:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],2696325953:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0]],76236018:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],629592764:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],1154579445:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["ContainedInStructure",3242617779,4,!0],["Positions",1441486842,4,!0]],1638804497:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],1437502449:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],1073191201:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0]],2078563270:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],234836483:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0]],2474470126:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],2182337498:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0]],144952367:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],3694346114:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],1383356374:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0]],1687234759:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0]],310824031:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],3612865200:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],3171933400:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0]],738039164:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],655969474:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],90941305:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],3290496277:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0]],2262370178:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0]],3024970846:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0]],3283111854:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0]],1232101972:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],3798194928:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0]],979691226:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0]],2572171363:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],2016517767:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0]],3053780830:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],1783015770:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],1329646415:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0]],991950508:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],1529196076:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0]],3420628829:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],1999602285:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],1404847402:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],331165859:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0]],4252922144:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0]],2515109513:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["IsGroupedBy",1307041759,6,!0],["ReferencedInStructures",1245217292,4,!0],["ServicesBuildings",366585022,4,!0],["ServicesFacilities",1245217292,4,!0]],385403989:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["IsGroupedBy",1307041759,6,!0],["ReferencedInStructures",1245217292,4,!0],["SourceOfResultGroup",2986769608,6,!0],["LoadGroupFor",2515109513,7,!0]],1621171031:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["AssignedToStructuralItem",2127690289,5,!0]],1162798199:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],812556717:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],3425753595:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0]],3825984169:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],1620046519:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0]],3026737570:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],3179687236:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],4292641817:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],4207607924:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],2391406946:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0]],3512223829:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0]],4237592921:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],3304561284:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0]],2874132201:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],1634111441:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],177149247:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],2056796094:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],3001207471:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],325726236:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["ContainedInStructure",3242617779,4,!0],["Positions",1441486842,4,!0]],277319702:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],753842376:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0]],4196446775:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0]],32344328:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],3314249567:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0]],1095909175:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0]],2938176219:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],635142910:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],3758799889:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],1051757585:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],4217484030:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],3999819293:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0]],3902619387:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],639361253:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],3221913625:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],3571504051:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],2272882330:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],578613899:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],3460952963:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],4136498852:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],3640358203:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],4074379575:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],3693000487:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],1052013943:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],562808652:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["IsGroupedBy",1307041759,6,!0],["ReferencedInStructures",1245217292,4,!0],["ServicesBuildings",366585022,4,!0],["ServicesFacilities",1245217292,4,!0]],1062813311:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0],["HasPorts",4201705270,5,!0],["AssignedToFlowElement",279856033,4,!0]],342316401:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],3518393246:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],1360408905:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],1904799276:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],862014818:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],3310460725:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],24726584:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],264262732:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],402227799:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],1003880860:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],3415622556:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],819412036:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],1426591983:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],182646315:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0],["HasPorts",4201705270,5,!0],["AssignedToFlowElement",279856033,4,!0]],2680139844:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0]],1971632696:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0]],2295281155:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0],["HasPorts",4201705270,5,!0],["AssignedToFlowElement",279856033,4,!0]],4086658281:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0],["HasPorts",4201705270,5,!0],["AssignedToFlowElement",279856033,4,!0]],630975310:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0],["HasPorts",4201705270,5,!0],["AssignedToFlowElement",279856033,4,!0]],4288193352:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0],["HasPorts",4201705270,5,!0],["AssignedToFlowElement",279856033,4,!0]],3087945054:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0],["HasPorts",4201705270,5,!0],["AssignedToFlowElement",279856033,4,!0]],25142252:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0],["HasPorts",4201705270,5,!0],["AssignedToFlowElement",279856033,4,!0]]},V_[3]={3630933823:function(e,t){return new t_.IfcActorRole(e,t[0],t[1],t[2])},618182010:function(e,t){return new t_.IfcAddress(e,t[0],t[1],t[2])},2879124712:function(e,t){return new t_.IfcAlignmentParameterSegment(e,t[0],t[1])},3633395639:function(e,t){return new t_.IfcAlignmentVerticalSegment(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},639542469:function(e,t){return new t_.IfcApplication(e,t[0],t[1],t[2],t[3])},411424972:function(e,t){return new t_.IfcAppliedValue(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},130549933:function(e,t){return new t_.IfcApproval(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},4037036970:function(e,t){return new t_.IfcBoundaryCondition(e,t[0])},1560379544:function(e,t){return new t_.IfcBoundaryEdgeCondition(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6])},3367102660:function(e,t){return new t_.IfcBoundaryFaceCondition(e,t[0],t[1],t[2],t[3])},1387855156:function(e,t){return new t_.IfcBoundaryNodeCondition(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6])},2069777674:function(e,t){return new t_.IfcBoundaryNodeConditionWarping(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},2859738748:function(e,t){return new t_.IfcConnectionGeometry(e)},2614616156:function(e,t){return new t_.IfcConnectionPointGeometry(e,t[0],t[1])},2732653382:function(e,t){return new t_.IfcConnectionSurfaceGeometry(e,t[0],t[1])},775493141:function(e,t){return new t_.IfcConnectionVolumeGeometry(e,t[0],t[1])},1959218052:function(e,t){return new t_.IfcConstraint(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6])},1785450214:function(e,t){return new t_.IfcCoordinateOperation(e,t[0],t[1])},1466758467:function(e,t){return new t_.IfcCoordinateReferenceSystem(e,t[0],t[1],t[2],t[3])},602808272:function(e,t){return new t_.IfcCostValue(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},1765591967:function(e,t){return new t_.IfcDerivedUnit(e,t[0],t[1],t[2],t[3])},1045800335:function(e,t){return new t_.IfcDerivedUnitElement(e,t[0],t[1])},2949456006:function(e,t){return new t_.IfcDimensionalExponents(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6])},4294318154:function(e,t){return new t_.IfcExternalInformation(e)},3200245327:function(e,t){return new t_.IfcExternalReference(e,t[0],t[1],t[2])},2242383968:function(e,t){return new t_.IfcExternallyDefinedHatchStyle(e,t[0],t[1],t[2])},1040185647:function(e,t){return new t_.IfcExternallyDefinedSurfaceStyle(e,t[0],t[1],t[2])},3548104201:function(e,t){return new t_.IfcExternallyDefinedTextFont(e,t[0],t[1],t[2])},852622518:function(e,t){return new t_.IfcGridAxis(e,t[0],t[1],t[2])},3020489413:function(e,t){return new t_.IfcIrregularTimeSeriesValue(e,t[0],t[1])},2655187982:function(e,t){return new t_.IfcLibraryInformation(e,t[0],t[1],t[2],t[3],t[4],t[5])},3452421091:function(e,t){return new t_.IfcLibraryReference(e,t[0],t[1],t[2],t[3],t[4],t[5])},4162380809:function(e,t){return new t_.IfcLightDistributionData(e,t[0],t[1],t[2])},1566485204:function(e,t){return new t_.IfcLightIntensityDistribution(e,t[0],t[1])},3057273783:function(e,t){return new t_.IfcMapConversion(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},1847130766:function(e,t){return new t_.IfcMaterialClassificationRelationship(e,t[0],t[1])},760658860:function(e,t){return new t_.IfcMaterialDefinition(e)},248100487:function(e,t){return new t_.IfcMaterialLayer(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6])},3303938423:function(e,t){return new t_.IfcMaterialLayerSet(e,t[0],t[1],t[2])},1847252529:function(e,t){return new t_.IfcMaterialLayerWithOffsets(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},2199411900:function(e,t){return new t_.IfcMaterialList(e,t[0])},2235152071:function(e,t){return new t_.IfcMaterialProfile(e,t[0],t[1],t[2],t[3],t[4],t[5])},164193824:function(e,t){return new t_.IfcMaterialProfileSet(e,t[0],t[1],t[2],t[3])},552965576:function(e,t){return new t_.IfcMaterialProfileWithOffsets(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6])},1507914824:function(e,t){return new t_.IfcMaterialUsageDefinition(e)},2597039031:function(e,t){return new t_.IfcMeasureWithUnit(e,t[0],t[1])},3368373690:function(e,t){return new t_.IfcMetric(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10])},2706619895:function(e,t){return new t_.IfcMonetaryUnit(e,t[0])},1918398963:function(e,t){return new t_.IfcNamedUnit(e,t[0],t[1])},3701648758:function(e,t){return new t_.IfcObjectPlacement(e,t[0])},2251480897:function(e,t){return new t_.IfcObjective(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10])},4251960020:function(e,t){return new t_.IfcOrganization(e,t[0],t[1],t[2],t[3],t[4])},1207048766:function(e,t){return new t_.IfcOwnerHistory(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},2077209135:function(e,t){return new t_.IfcPerson(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},101040310:function(e,t){return new t_.IfcPersonAndOrganization(e,t[0],t[1],t[2])},2483315170:function(e,t){return new t_.IfcPhysicalQuantity(e,t[0],t[1])},2226359599:function(e,t){return new t_.IfcPhysicalSimpleQuantity(e,t[0],t[1],t[2])},3355820592:function(e,t){return new t_.IfcPostalAddress(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},677532197:function(e,t){return new t_.IfcPresentationItem(e)},2022622350:function(e,t){return new t_.IfcPresentationLayerAssignment(e,t[0],t[1],t[2],t[3])},1304840413:function(e,t){return new t_.IfcPresentationLayerWithStyle(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},3119450353:function(e,t){return new t_.IfcPresentationStyle(e,t[0])},2095639259:function(e,t){return new t_.IfcProductRepresentation(e,t[0],t[1],t[2])},3958567839:function(e,t){return new t_.IfcProfileDef(e,t[0],t[1])},3843373140:function(e,t){return new t_.IfcProjectedCRS(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6])},986844984:function(e,t){return new t_.IfcPropertyAbstraction(e)},3710013099:function(e,t){return new t_.IfcPropertyEnumeration(e,t[0],t[1],t[2])},2044713172:function(e,t){return new t_.IfcQuantityArea(e,t[0],t[1],t[2],t[3],t[4])},2093928680:function(e,t){return new t_.IfcQuantityCount(e,t[0],t[1],t[2],t[3],t[4])},931644368:function(e,t){return new t_.IfcQuantityLength(e,t[0],t[1],t[2],t[3],t[4])},2691318326:function(e,t){return new t_.IfcQuantityNumber(e,t[0],t[1],t[2],t[3],t[4])},3252649465:function(e,t){return new t_.IfcQuantityTime(e,t[0],t[1],t[2],t[3],t[4])},2405470396:function(e,t){return new t_.IfcQuantityVolume(e,t[0],t[1],t[2],t[3],t[4])},825690147:function(e,t){return new t_.IfcQuantityWeight(e,t[0],t[1],t[2],t[3],t[4])},3915482550:function(e,t){return new t_.IfcRecurrencePattern(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},2433181523:function(e,t){return new t_.IfcReference(e,t[0],t[1],t[2],t[3],t[4])},1076942058:function(e,t){return new t_.IfcRepresentation(e,t[0],t[1],t[2],t[3])},3377609919:function(e,t){return new t_.IfcRepresentationContext(e,t[0],t[1])},3008791417:function(e,t){return new t_.IfcRepresentationItem(e)},1660063152:function(e,t){return new t_.IfcRepresentationMap(e,t[0],t[1])},2439245199:function(e,t){return new t_.IfcResourceLevelRelationship(e,t[0],t[1])},2341007311:function(e,t){return new t_.IfcRoot(e,t[0],t[1],t[2],t[3])},448429030:function(e,t){return new t_.IfcSIUnit(e,t[0],t[1],t[2],t[3])},1054537805:function(e,t){return new t_.IfcSchedulingTime(e,t[0],t[1],t[2])},867548509:function(e,t){return new t_.IfcShapeAspect(e,t[0],t[1],t[2],t[3],t[4])},3982875396:function(e,t){return new t_.IfcShapeModel(e,t[0],t[1],t[2],t[3])},4240577450:function(e,t){return new t_.IfcShapeRepresentation(e,t[0],t[1],t[2],t[3])},2273995522:function(e,t){return new t_.IfcStructuralConnectionCondition(e,t[0])},2162789131:function(e,t){return new t_.IfcStructuralLoad(e,t[0])},3478079324:function(e,t){return new t_.IfcStructuralLoadConfiguration(e,t[0],t[1],t[2])},609421318:function(e,t){return new t_.IfcStructuralLoadOrResult(e,t[0])},2525727697:function(e,t){return new t_.IfcStructuralLoadStatic(e,t[0])},3408363356:function(e,t){return new t_.IfcStructuralLoadTemperature(e,t[0],t[1],t[2],t[3])},2830218821:function(e,t){return new t_.IfcStyleModel(e,t[0],t[1],t[2],t[3])},3958052878:function(e,t){return new t_.IfcStyledItem(e,t[0],t[1],t[2])},3049322572:function(e,t){return new t_.IfcStyledRepresentation(e,t[0],t[1],t[2],t[3])},2934153892:function(e,t){return new t_.IfcSurfaceReinforcementArea(e,t[0],t[1],t[2],t[3])},1300840506:function(e,t){return new t_.IfcSurfaceStyle(e,t[0],t[1],t[2])},3303107099:function(e,t){return new t_.IfcSurfaceStyleLighting(e,t[0],t[1],t[2],t[3])},1607154358:function(e,t){return new t_.IfcSurfaceStyleRefraction(e,t[0],t[1])},846575682:function(e,t){return new t_.IfcSurfaceStyleShading(e,t[0],t[1])},1351298697:function(e,t){return new t_.IfcSurfaceStyleWithTextures(e,t[0])},626085974:function(e,t){return new t_.IfcSurfaceTexture(e,t[0],t[1],t[2],t[3],t[4])},985171141:function(e,t){return new t_.IfcTable(e,t[0],t[1],t[2])},2043862942:function(e,t){return new t_.IfcTableColumn(e,t[0],t[1],t[2],t[3],t[4])},531007025:function(e,t){return new t_.IfcTableRow(e,t[0],t[1])},1549132990:function(e,t){return new t_.IfcTaskTime(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12],t[13],t[14],t[15],t[16],t[17],t[18],t[19])},2771591690:function(e,t){return new t_.IfcTaskTimeRecurring(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12],t[13],t[14],t[15],t[16],t[17],t[18],t[19],t[20])},912023232:function(e,t){return new t_.IfcTelecomAddress(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},1447204868:function(e,t){return new t_.IfcTextStyle(e,t[0],t[1],t[2],t[3],t[4])},2636378356:function(e,t){return new t_.IfcTextStyleForDefinedFont(e,t[0],t[1])},1640371178:function(e,t){return new t_.IfcTextStyleTextModel(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6])},280115917:function(e,t){return new t_.IfcTextureCoordinate(e,t[0])},1742049831:function(e,t){return new t_.IfcTextureCoordinateGenerator(e,t[0],t[1],t[2])},222769930:function(e,t){return new t_.IfcTextureCoordinateIndices(e,t[0],t[1])},1010789467:function(e,t){return new t_.IfcTextureCoordinateIndicesWithVoids(e,t[0],t[1],t[2])},2552916305:function(e,t){return new t_.IfcTextureMap(e,t[0],t[1],t[2])},1210645708:function(e,t){return new t_.IfcTextureVertex(e,t[0])},3611470254:function(e,t){return new t_.IfcTextureVertexList(e,t[0])},1199560280:function(e,t){return new t_.IfcTimePeriod(e,t[0],t[1])},3101149627:function(e,t){return new t_.IfcTimeSeries(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},581633288:function(e,t){return new t_.IfcTimeSeriesValue(e,t[0])},1377556343:function(e,t){return new t_.IfcTopologicalRepresentationItem(e)},1735638870:function(e,t){return new t_.IfcTopologyRepresentation(e,t[0],t[1],t[2],t[3])},180925521:function(e,t){return new t_.IfcUnitAssignment(e,t[0])},2799835756:function(e,t){return new t_.IfcVertex(e)},1907098498:function(e,t){return new t_.IfcVertexPoint(e,t[0])},891718957:function(e,t){return new t_.IfcVirtualGridIntersection(e,t[0],t[1])},1236880293:function(e,t){return new t_.IfcWorkTime(e,t[0],t[1],t[2],t[3],t[4],t[5])},3752311538:function(e,t){return new t_.IfcAlignmentCantSegment(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},536804194:function(e,t){return new t_.IfcAlignmentHorizontalSegment(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},3869604511:function(e,t){return new t_.IfcApprovalRelationship(e,t[0],t[1],t[2],t[3])},3798115385:function(e,t){return new t_.IfcArbitraryClosedProfileDef(e,t[0],t[1],t[2])},1310608509:function(e,t){return new t_.IfcArbitraryOpenProfileDef(e,t[0],t[1],t[2])},2705031697:function(e,t){return new t_.IfcArbitraryProfileDefWithVoids(e,t[0],t[1],t[2],t[3])},616511568:function(e,t){return new t_.IfcBlobTexture(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6])},3150382593:function(e,t){return new t_.IfcCenterLineProfileDef(e,t[0],t[1],t[2],t[3])},747523909:function(e,t){return new t_.IfcClassification(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6])},647927063:function(e,t){return new t_.IfcClassificationReference(e,t[0],t[1],t[2],t[3],t[4],t[5])},3285139300:function(e,t){return new t_.IfcColourRgbList(e,t[0])},3264961684:function(e,t){return new t_.IfcColourSpecification(e,t[0])},1485152156:function(e,t){return new t_.IfcCompositeProfileDef(e,t[0],t[1],t[2],t[3])},370225590:function(e,t){return new t_.IfcConnectedFaceSet(e,t[0])},1981873012:function(e,t){return new t_.IfcConnectionCurveGeometry(e,t[0],t[1])},45288368:function(e,t){return new t_.IfcConnectionPointEccentricity(e,t[0],t[1],t[2],t[3],t[4])},3050246964:function(e,t){return new t_.IfcContextDependentUnit(e,t[0],t[1],t[2])},2889183280:function(e,t){return new t_.IfcConversionBasedUnit(e,t[0],t[1],t[2],t[3])},2713554722:function(e,t){return new t_.IfcConversionBasedUnitWithOffset(e,t[0],t[1],t[2],t[3],t[4])},539742890:function(e,t){return new t_.IfcCurrencyRelationship(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6])},3800577675:function(e,t){return new t_.IfcCurveStyle(e,t[0],t[1],t[2],t[3],t[4])},1105321065:function(e,t){return new t_.IfcCurveStyleFont(e,t[0],t[1])},2367409068:function(e,t){return new t_.IfcCurveStyleFontAndScaling(e,t[0],t[1],t[2])},3510044353:function(e,t){return new t_.IfcCurveStyleFontPattern(e,t[0],t[1])},3632507154:function(e,t){return new t_.IfcDerivedProfileDef(e,t[0],t[1],t[2],t[3],t[4])},1154170062:function(e,t){return new t_.IfcDocumentInformation(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12],t[13],t[14],t[15],t[16])},770865208:function(e,t){return new t_.IfcDocumentInformationRelationship(e,t[0],t[1],t[2],t[3],t[4])},3732053477:function(e,t){return new t_.IfcDocumentReference(e,t[0],t[1],t[2],t[3],t[4])},3900360178:function(e,t){return new t_.IfcEdge(e,t[0],t[1])},476780140:function(e,t){return new t_.IfcEdgeCurve(e,t[0],t[1],t[2],t[3])},211053100:function(e,t){return new t_.IfcEventTime(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6])},297599258:function(e,t){return new t_.IfcExtendedProperties(e,t[0],t[1],t[2])},1437805879:function(e,t){return new t_.IfcExternalReferenceRelationship(e,t[0],t[1],t[2],t[3])},2556980723:function(e,t){return new t_.IfcFace(e,t[0])},1809719519:function(e,t){return new t_.IfcFaceBound(e,t[0],t[1])},803316827:function(e,t){return new t_.IfcFaceOuterBound(e,t[0],t[1])},3008276851:function(e,t){return new t_.IfcFaceSurface(e,t[0],t[1],t[2])},4219587988:function(e,t){return new t_.IfcFailureConnectionCondition(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6])},738692330:function(e,t){return new t_.IfcFillAreaStyle(e,t[0],t[1],t[2])},3448662350:function(e,t){return new t_.IfcGeometricRepresentationContext(e,t[0],t[1],t[2],t[3],t[4],t[5])},2453401579:function(e,t){return new t_.IfcGeometricRepresentationItem(e)},4142052618:function(e,t){return new t_.IfcGeometricRepresentationSubContext(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6])},3590301190:function(e,t){return new t_.IfcGeometricSet(e,t[0])},178086475:function(e,t){return new t_.IfcGridPlacement(e,t[0],t[1],t[2])},812098782:function(e,t){return new t_.IfcHalfSpaceSolid(e,t[0],t[1])},3905492369:function(e,t){return new t_.IfcImageTexture(e,t[0],t[1],t[2],t[3],t[4],t[5])},3570813810:function(e,t){return new t_.IfcIndexedColourMap(e,t[0],t[1],t[2],t[3])},1437953363:function(e,t){return new t_.IfcIndexedTextureMap(e,t[0],t[1],t[2])},2133299955:function(e,t){return new t_.IfcIndexedTriangleTextureMap(e,t[0],t[1],t[2],t[3])},3741457305:function(e,t){return new t_.IfcIrregularTimeSeries(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},1585845231:function(e,t){return new t_.IfcLagTime(e,t[0],t[1],t[2],t[3],t[4])},1402838566:function(e,t){return new t_.IfcLightSource(e,t[0],t[1],t[2],t[3])},125510826:function(e,t){return new t_.IfcLightSourceAmbient(e,t[0],t[1],t[2],t[3])},2604431987:function(e,t){return new t_.IfcLightSourceDirectional(e,t[0],t[1],t[2],t[3],t[4])},4266656042:function(e,t){return new t_.IfcLightSourceGoniometric(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},1520743889:function(e,t){return new t_.IfcLightSourcePositional(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},3422422726:function(e,t){return new t_.IfcLightSourceSpot(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12])},388784114:function(e,t){return new t_.IfcLinearPlacement(e,t[0],t[1],t[2])},2624227202:function(e,t){return new t_.IfcLocalPlacement(e,t[0],t[1])},1008929658:function(e,t){return new t_.IfcLoop(e)},2347385850:function(e,t){return new t_.IfcMappedItem(e,t[0],t[1])},1838606355:function(e,t){return new t_.IfcMaterial(e,t[0],t[1],t[2])},3708119e3:function(e,t){return new t_.IfcMaterialConstituent(e,t[0],t[1],t[2],t[3],t[4])},2852063980:function(e,t){return new t_.IfcMaterialConstituentSet(e,t[0],t[1],t[2])},2022407955:function(e,t){return new t_.IfcMaterialDefinitionRepresentation(e,t[0],t[1],t[2],t[3])},1303795690:function(e,t){return new t_.IfcMaterialLayerSetUsage(e,t[0],t[1],t[2],t[3],t[4])},3079605661:function(e,t){return new t_.IfcMaterialProfileSetUsage(e,t[0],t[1],t[2])},3404854881:function(e,t){return new t_.IfcMaterialProfileSetUsageTapering(e,t[0],t[1],t[2],t[3],t[4])},3265635763:function(e,t){return new t_.IfcMaterialProperties(e,t[0],t[1],t[2],t[3])},853536259:function(e,t){return new t_.IfcMaterialRelationship(e,t[0],t[1],t[2],t[3],t[4])},2998442950:function(e,t){return new t_.IfcMirroredProfileDef(e,t[0],t[1],t[2],t[3],t[4])},219451334:function(e,t){return new t_.IfcObjectDefinition(e,t[0],t[1],t[2],t[3])},182550632:function(e,t){return new t_.IfcOpenCrossProfileDef(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6])},2665983363:function(e,t){return new t_.IfcOpenShell(e,t[0])},1411181986:function(e,t){return new t_.IfcOrganizationRelationship(e,t[0],t[1],t[2],t[3])},1029017970:function(e,t){return new t_.IfcOrientedEdge(e,t[0],t[1],t[2])},2529465313:function(e,t){return new t_.IfcParameterizedProfileDef(e,t[0],t[1],t[2])},2519244187:function(e,t){return new t_.IfcPath(e,t[0])},3021840470:function(e,t){return new t_.IfcPhysicalComplexQuantity(e,t[0],t[1],t[2],t[3],t[4],t[5])},597895409:function(e,t){return new t_.IfcPixelTexture(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},2004835150:function(e,t){return new t_.IfcPlacement(e,t[0])},1663979128:function(e,t){return new t_.IfcPlanarExtent(e,t[0],t[1])},2067069095:function(e,t){return new t_.IfcPoint(e)},2165702409:function(e,t){return new t_.IfcPointByDistanceExpression(e,t[0],t[1],t[2],t[3],t[4])},4022376103:function(e,t){return new t_.IfcPointOnCurve(e,t[0],t[1])},1423911732:function(e,t){return new t_.IfcPointOnSurface(e,t[0],t[1],t[2])},2924175390:function(e,t){return new t_.IfcPolyLoop(e,t[0])},2775532180:function(e,t){return new t_.IfcPolygonalBoundedHalfSpace(e,t[0],t[1],t[2],t[3])},3727388367:function(e,t){return new t_.IfcPreDefinedItem(e,t[0])},3778827333:function(e,t){return new t_.IfcPreDefinedProperties(e)},1775413392:function(e,t){return new t_.IfcPreDefinedTextFont(e,t[0])},673634403:function(e,t){return new t_.IfcProductDefinitionShape(e,t[0],t[1],t[2])},2802850158:function(e,t){return new t_.IfcProfileProperties(e,t[0],t[1],t[2],t[3])},2598011224:function(e,t){return new t_.IfcProperty(e,t[0],t[1])},1680319473:function(e,t){return new t_.IfcPropertyDefinition(e,t[0],t[1],t[2],t[3])},148025276:function(e,t){return new t_.IfcPropertyDependencyRelationship(e,t[0],t[1],t[2],t[3],t[4])},3357820518:function(e,t){return new t_.IfcPropertySetDefinition(e,t[0],t[1],t[2],t[3])},1482703590:function(e,t){return new t_.IfcPropertyTemplateDefinition(e,t[0],t[1],t[2],t[3])},2090586900:function(e,t){return new t_.IfcQuantitySet(e,t[0],t[1],t[2],t[3])},3615266464:function(e,t){return new t_.IfcRectangleProfileDef(e,t[0],t[1],t[2],t[3],t[4])},3413951693:function(e,t){return new t_.IfcRegularTimeSeries(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},1580146022:function(e,t){return new t_.IfcReinforcementBarProperties(e,t[0],t[1],t[2],t[3],t[4],t[5])},478536968:function(e,t){return new t_.IfcRelationship(e,t[0],t[1],t[2],t[3])},2943643501:function(e,t){return new t_.IfcResourceApprovalRelationship(e,t[0],t[1],t[2],t[3])},1608871552:function(e,t){return new t_.IfcResourceConstraintRelationship(e,t[0],t[1],t[2],t[3])},1042787934:function(e,t){return new t_.IfcResourceTime(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12],t[13],t[14],t[15],t[16],t[17])},2778083089:function(e,t){return new t_.IfcRoundedRectangleProfileDef(e,t[0],t[1],t[2],t[3],t[4],t[5])},2042790032:function(e,t){return new t_.IfcSectionProperties(e,t[0],t[1],t[2])},4165799628:function(e,t){return new t_.IfcSectionReinforcementProperties(e,t[0],t[1],t[2],t[3],t[4],t[5])},1509187699:function(e,t){return new t_.IfcSectionedSpine(e,t[0],t[1],t[2])},823603102:function(e,t){return new t_.IfcSegment(e,t[0])},4124623270:function(e,t){return new t_.IfcShellBasedSurfaceModel(e,t[0])},3692461612:function(e,t){return new t_.IfcSimpleProperty(e,t[0],t[1])},2609359061:function(e,t){return new t_.IfcSlippageConnectionCondition(e,t[0],t[1],t[2],t[3])},723233188:function(e,t){return new t_.IfcSolidModel(e)},1595516126:function(e,t){return new t_.IfcStructuralLoadLinearForce(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6])},2668620305:function(e,t){return new t_.IfcStructuralLoadPlanarForce(e,t[0],t[1],t[2],t[3])},2473145415:function(e,t){return new t_.IfcStructuralLoadSingleDisplacement(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6])},1973038258:function(e,t){return new t_.IfcStructuralLoadSingleDisplacementDistortion(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},1597423693:function(e,t){return new t_.IfcStructuralLoadSingleForce(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6])},1190533807:function(e,t){return new t_.IfcStructuralLoadSingleForceWarping(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},2233826070:function(e,t){return new t_.IfcSubedge(e,t[0],t[1],t[2])},2513912981:function(e,t){return new t_.IfcSurface(e)},1878645084:function(e,t){return new t_.IfcSurfaceStyleRendering(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},2247615214:function(e,t){return new t_.IfcSweptAreaSolid(e,t[0],t[1])},1260650574:function(e,t){return new t_.IfcSweptDiskSolid(e,t[0],t[1],t[2],t[3],t[4])},1096409881:function(e,t){return new t_.IfcSweptDiskSolidPolygonal(e,t[0],t[1],t[2],t[3],t[4],t[5])},230924584:function(e,t){return new t_.IfcSweptSurface(e,t[0],t[1])},3071757647:function(e,t){return new t_.IfcTShapeProfileDef(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11])},901063453:function(e,t){return new t_.IfcTessellatedItem(e)},4282788508:function(e,t){return new t_.IfcTextLiteral(e,t[0],t[1],t[2])},3124975700:function(e,t){return new t_.IfcTextLiteralWithExtent(e,t[0],t[1],t[2],t[3],t[4])},1983826977:function(e,t){return new t_.IfcTextStyleFontModel(e,t[0],t[1],t[2],t[3],t[4],t[5])},2715220739:function(e,t){return new t_.IfcTrapeziumProfileDef(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6])},1628702193:function(e,t){return new t_.IfcTypeObject(e,t[0],t[1],t[2],t[3],t[4],t[5])},3736923433:function(e,t){return new t_.IfcTypeProcess(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},2347495698:function(e,t){return new t_.IfcTypeProduct(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},3698973494:function(e,t){return new t_.IfcTypeResource(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},427810014:function(e,t){return new t_.IfcUShapeProfileDef(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},1417489154:function(e,t){return new t_.IfcVector(e,t[0],t[1])},2759199220:function(e,t){return new t_.IfcVertexLoop(e,t[0])},2543172580:function(e,t){return new t_.IfcZShapeProfileDef(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},3406155212:function(e,t){return new t_.IfcAdvancedFace(e,t[0],t[1],t[2])},669184980:function(e,t){return new t_.IfcAnnotationFillArea(e,t[0],t[1])},3207858831:function(e,t){return new t_.IfcAsymmetricIShapeProfileDef(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12],t[13],t[14])},4261334040:function(e,t){return new t_.IfcAxis1Placement(e,t[0],t[1])},3125803723:function(e,t){return new t_.IfcAxis2Placement2D(e,t[0],t[1])},2740243338:function(e,t){return new t_.IfcAxis2Placement3D(e,t[0],t[1],t[2])},3425423356:function(e,t){return new t_.IfcAxis2PlacementLinear(e,t[0],t[1],t[2])},2736907675:function(e,t){return new t_.IfcBooleanResult(e,t[0],t[1],t[2])},4182860854:function(e,t){return new t_.IfcBoundedSurface(e)},2581212453:function(e,t){return new t_.IfcBoundingBox(e,t[0],t[1],t[2],t[3])},2713105998:function(e,t){return new t_.IfcBoxedHalfSpace(e,t[0],t[1],t[2])},2898889636:function(e,t){return new t_.IfcCShapeProfileDef(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},1123145078:function(e,t){return new t_.IfcCartesianPoint(e,t[0])},574549367:function(e,t){return new t_.IfcCartesianPointList(e)},1675464909:function(e,t){return new t_.IfcCartesianPointList2D(e,t[0],t[1])},2059837836:function(e,t){return new t_.IfcCartesianPointList3D(e,t[0],t[1])},59481748:function(e,t){return new t_.IfcCartesianTransformationOperator(e,t[0],t[1],t[2],t[3])},3749851601:function(e,t){return new t_.IfcCartesianTransformationOperator2D(e,t[0],t[1],t[2],t[3])},3486308946:function(e,t){return new t_.IfcCartesianTransformationOperator2DnonUniform(e,t[0],t[1],t[2],t[3],t[4])},3331915920:function(e,t){return new t_.IfcCartesianTransformationOperator3D(e,t[0],t[1],t[2],t[3],t[4])},1416205885:function(e,t){return new t_.IfcCartesianTransformationOperator3DnonUniform(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6])},1383045692:function(e,t){return new t_.IfcCircleProfileDef(e,t[0],t[1],t[2],t[3])},2205249479:function(e,t){return new t_.IfcClosedShell(e,t[0])},776857604:function(e,t){return new t_.IfcColourRgb(e,t[0],t[1],t[2],t[3])},2542286263:function(e,t){return new t_.IfcComplexProperty(e,t[0],t[1],t[2],t[3])},2485617015:function(e,t){return new t_.IfcCompositeCurveSegment(e,t[0],t[1],t[2])},2574617495:function(e,t){return new t_.IfcConstructionResourceType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10])},3419103109:function(e,t){return new t_.IfcContext(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},1815067380:function(e,t){return new t_.IfcCrewResourceType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11])},2506170314:function(e,t){return new t_.IfcCsgPrimitive3D(e,t[0])},2147822146:function(e,t){return new t_.IfcCsgSolid(e,t[0])},2601014836:function(e,t){return new t_.IfcCurve(e)},2827736869:function(e,t){return new t_.IfcCurveBoundedPlane(e,t[0],t[1],t[2])},2629017746:function(e,t){return new t_.IfcCurveBoundedSurface(e,t[0],t[1],t[2])},4212018352:function(e,t){return new t_.IfcCurveSegment(e,t[0],t[1],t[2],t[3],t[4])},32440307:function(e,t){return new t_.IfcDirection(e,t[0])},593015953:function(e,t){return new t_.IfcDirectrixCurveSweptAreaSolid(e,t[0],t[1],t[2],t[3],t[4])},1472233963:function(e,t){return new t_.IfcEdgeLoop(e,t[0])},1883228015:function(e,t){return new t_.IfcElementQuantity(e,t[0],t[1],t[2],t[3],t[4],t[5])},339256511:function(e,t){return new t_.IfcElementType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},2777663545:function(e,t){return new t_.IfcElementarySurface(e,t[0])},2835456948:function(e,t){return new t_.IfcEllipseProfileDef(e,t[0],t[1],t[2],t[3],t[4])},4024345920:function(e,t){return new t_.IfcEventType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11])},477187591:function(e,t){return new t_.IfcExtrudedAreaSolid(e,t[0],t[1],t[2],t[3])},2804161546:function(e,t){return new t_.IfcExtrudedAreaSolidTapered(e,t[0],t[1],t[2],t[3],t[4])},2047409740:function(e,t){return new t_.IfcFaceBasedSurfaceModel(e,t[0])},374418227:function(e,t){return new t_.IfcFillAreaStyleHatching(e,t[0],t[1],t[2],t[3],t[4])},315944413:function(e,t){return new t_.IfcFillAreaStyleTiles(e,t[0],t[1],t[2])},2652556860:function(e,t){return new t_.IfcFixedReferenceSweptAreaSolid(e,t[0],t[1],t[2],t[3],t[4],t[5])},4238390223:function(e,t){return new t_.IfcFurnishingElementType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},1268542332:function(e,t){return new t_.IfcFurnitureType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10])},4095422895:function(e,t){return new t_.IfcGeographicElementType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},987898635:function(e,t){return new t_.IfcGeometricCurveSet(e,t[0])},1484403080:function(e,t){return new t_.IfcIShapeProfileDef(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},178912537:function(e,t){return new t_.IfcIndexedPolygonalFace(e,t[0])},2294589976:function(e,t){return new t_.IfcIndexedPolygonalFaceWithVoids(e,t[0],t[1])},3465909080:function(e,t){return new t_.IfcIndexedPolygonalTextureMap(e,t[0],t[1],t[2],t[3])},572779678:function(e,t){return new t_.IfcLShapeProfileDef(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},428585644:function(e,t){return new t_.IfcLaborResourceType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11])},1281925730:function(e,t){return new t_.IfcLine(e,t[0],t[1])},1425443689:function(e,t){return new t_.IfcManifoldSolidBrep(e,t[0])},3888040117:function(e,t){return new t_.IfcObject(e,t[0],t[1],t[2],t[3],t[4])},590820931:function(e,t){return new t_.IfcOffsetCurve(e,t[0])},3388369263:function(e,t){return new t_.IfcOffsetCurve2D(e,t[0],t[1],t[2])},3505215534:function(e,t){return new t_.IfcOffsetCurve3D(e,t[0],t[1],t[2],t[3])},2485787929:function(e,t){return new t_.IfcOffsetCurveByDistances(e,t[0],t[1],t[2])},1682466193:function(e,t){return new t_.IfcPcurve(e,t[0],t[1])},603570806:function(e,t){return new t_.IfcPlanarBox(e,t[0],t[1],t[2])},220341763:function(e,t){return new t_.IfcPlane(e,t[0])},3381221214:function(e,t){return new t_.IfcPolynomialCurve(e,t[0],t[1],t[2],t[3])},759155922:function(e,t){return new t_.IfcPreDefinedColour(e,t[0])},2559016684:function(e,t){return new t_.IfcPreDefinedCurveFont(e,t[0])},3967405729:function(e,t){return new t_.IfcPreDefinedPropertySet(e,t[0],t[1],t[2],t[3])},569719735:function(e,t){return new t_.IfcProcedureType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},2945172077:function(e,t){return new t_.IfcProcess(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6])},4208778838:function(e,t){return new t_.IfcProduct(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6])},103090709:function(e,t){return new t_.IfcProject(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},653396225:function(e,t){return new t_.IfcProjectLibrary(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},871118103:function(e,t){return new t_.IfcPropertyBoundedValue(e,t[0],t[1],t[2],t[3],t[4],t[5])},4166981789:function(e,t){return new t_.IfcPropertyEnumeratedValue(e,t[0],t[1],t[2],t[3])},2752243245:function(e,t){return new t_.IfcPropertyListValue(e,t[0],t[1],t[2],t[3])},941946838:function(e,t){return new t_.IfcPropertyReferenceValue(e,t[0],t[1],t[2],t[3])},1451395588:function(e,t){return new t_.IfcPropertySet(e,t[0],t[1],t[2],t[3],t[4])},492091185:function(e,t){return new t_.IfcPropertySetTemplate(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6])},3650150729:function(e,t){return new t_.IfcPropertySingleValue(e,t[0],t[1],t[2],t[3])},110355661:function(e,t){return new t_.IfcPropertyTableValue(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},3521284610:function(e,t){return new t_.IfcPropertyTemplate(e,t[0],t[1],t[2],t[3])},2770003689:function(e,t){return new t_.IfcRectangleHollowProfileDef(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},2798486643:function(e,t){return new t_.IfcRectangularPyramid(e,t[0],t[1],t[2],t[3])},3454111270:function(e,t){return new t_.IfcRectangularTrimmedSurface(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6])},3765753017:function(e,t){return new t_.IfcReinforcementDefinitionProperties(e,t[0],t[1],t[2],t[3],t[4],t[5])},3939117080:function(e,t){return new t_.IfcRelAssigns(e,t[0],t[1],t[2],t[3],t[4],t[5])},1683148259:function(e,t){return new t_.IfcRelAssignsToActor(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},2495723537:function(e,t){return new t_.IfcRelAssignsToControl(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6])},1307041759:function(e,t){return new t_.IfcRelAssignsToGroup(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6])},1027710054:function(e,t){return new t_.IfcRelAssignsToGroupByFactor(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},4278684876:function(e,t){return new t_.IfcRelAssignsToProcess(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},2857406711:function(e,t){return new t_.IfcRelAssignsToProduct(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6])},205026976:function(e,t){return new t_.IfcRelAssignsToResource(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6])},1865459582:function(e,t){return new t_.IfcRelAssociates(e,t[0],t[1],t[2],t[3],t[4])},4095574036:function(e,t){return new t_.IfcRelAssociatesApproval(e,t[0],t[1],t[2],t[3],t[4],t[5])},919958153:function(e,t){return new t_.IfcRelAssociatesClassification(e,t[0],t[1],t[2],t[3],t[4],t[5])},2728634034:function(e,t){return new t_.IfcRelAssociatesConstraint(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6])},982818633:function(e,t){return new t_.IfcRelAssociatesDocument(e,t[0],t[1],t[2],t[3],t[4],t[5])},3840914261:function(e,t){return new t_.IfcRelAssociatesLibrary(e,t[0],t[1],t[2],t[3],t[4],t[5])},2655215786:function(e,t){return new t_.IfcRelAssociatesMaterial(e,t[0],t[1],t[2],t[3],t[4],t[5])},1033248425:function(e,t){return new t_.IfcRelAssociatesProfileDef(e,t[0],t[1],t[2],t[3],t[4],t[5])},826625072:function(e,t){return new t_.IfcRelConnects(e,t[0],t[1],t[2],t[3])},1204542856:function(e,t){return new t_.IfcRelConnectsElements(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6])},3945020480:function(e,t){return new t_.IfcRelConnectsPathElements(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10])},4201705270:function(e,t){return new t_.IfcRelConnectsPortToElement(e,t[0],t[1],t[2],t[3],t[4],t[5])},3190031847:function(e,t){return new t_.IfcRelConnectsPorts(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6])},2127690289:function(e,t){return new t_.IfcRelConnectsStructuralActivity(e,t[0],t[1],t[2],t[3],t[4],t[5])},1638771189:function(e,t){return new t_.IfcRelConnectsStructuralMember(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},504942748:function(e,t){return new t_.IfcRelConnectsWithEccentricity(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10])},3678494232:function(e,t){return new t_.IfcRelConnectsWithRealizingElements(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},3242617779:function(e,t){return new t_.IfcRelContainedInSpatialStructure(e,t[0],t[1],t[2],t[3],t[4],t[5])},886880790:function(e,t){return new t_.IfcRelCoversBldgElements(e,t[0],t[1],t[2],t[3],t[4],t[5])},2802773753:function(e,t){return new t_.IfcRelCoversSpaces(e,t[0],t[1],t[2],t[3],t[4],t[5])},2565941209:function(e,t){return new t_.IfcRelDeclares(e,t[0],t[1],t[2],t[3],t[4],t[5])},2551354335:function(e,t){return new t_.IfcRelDecomposes(e,t[0],t[1],t[2],t[3])},693640335:function(e,t){return new t_.IfcRelDefines(e,t[0],t[1],t[2],t[3])},1462361463:function(e,t){return new t_.IfcRelDefinesByObject(e,t[0],t[1],t[2],t[3],t[4],t[5])},4186316022:function(e,t){return new t_.IfcRelDefinesByProperties(e,t[0],t[1],t[2],t[3],t[4],t[5])},307848117:function(e,t){return new t_.IfcRelDefinesByTemplate(e,t[0],t[1],t[2],t[3],t[4],t[5])},781010003:function(e,t){return new t_.IfcRelDefinesByType(e,t[0],t[1],t[2],t[3],t[4],t[5])},3940055652:function(e,t){return new t_.IfcRelFillsElement(e,t[0],t[1],t[2],t[3],t[4],t[5])},279856033:function(e,t){return new t_.IfcRelFlowControlElements(e,t[0],t[1],t[2],t[3],t[4],t[5])},427948657:function(e,t){return new t_.IfcRelInterferesElements(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},3268803585:function(e,t){return new t_.IfcRelNests(e,t[0],t[1],t[2],t[3],t[4],t[5])},1441486842:function(e,t){return new t_.IfcRelPositions(e,t[0],t[1],t[2],t[3],t[4],t[5])},750771296:function(e,t){return new t_.IfcRelProjectsElement(e,t[0],t[1],t[2],t[3],t[4],t[5])},1245217292:function(e,t){return new t_.IfcRelReferencedInSpatialStructure(e,t[0],t[1],t[2],t[3],t[4],t[5])},4122056220:function(e,t){return new t_.IfcRelSequence(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},366585022:function(e,t){return new t_.IfcRelServicesBuildings(e,t[0],t[1],t[2],t[3],t[4],t[5])},3451746338:function(e,t){return new t_.IfcRelSpaceBoundary(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},3523091289:function(e,t){return new t_.IfcRelSpaceBoundary1stLevel(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},1521410863:function(e,t){return new t_.IfcRelSpaceBoundary2ndLevel(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10])},1401173127:function(e,t){return new t_.IfcRelVoidsElement(e,t[0],t[1],t[2],t[3],t[4],t[5])},816062949:function(e,t){return new t_.IfcReparametrisedCompositeCurveSegment(e,t[0],t[1],t[2],t[3])},2914609552:function(e,t){return new t_.IfcResource(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6])},1856042241:function(e,t){return new t_.IfcRevolvedAreaSolid(e,t[0],t[1],t[2],t[3])},3243963512:function(e,t){return new t_.IfcRevolvedAreaSolidTapered(e,t[0],t[1],t[2],t[3],t[4])},4158566097:function(e,t){return new t_.IfcRightCircularCone(e,t[0],t[1],t[2])},3626867408:function(e,t){return new t_.IfcRightCircularCylinder(e,t[0],t[1],t[2])},1862484736:function(e,t){return new t_.IfcSectionedSolid(e,t[0],t[1])},1290935644:function(e,t){return new t_.IfcSectionedSolidHorizontal(e,t[0],t[1],t[2])},1356537516:function(e,t){return new t_.IfcSectionedSurface(e,t[0],t[1],t[2])},3663146110:function(e,t){return new t_.IfcSimplePropertyTemplate(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11])},1412071761:function(e,t){return new t_.IfcSpatialElement(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},710998568:function(e,t){return new t_.IfcSpatialElementType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},2706606064:function(e,t){return new t_.IfcSpatialStructureElement(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},3893378262:function(e,t){return new t_.IfcSpatialStructureElementType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},463610769:function(e,t){return new t_.IfcSpatialZone(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},2481509218:function(e,t){return new t_.IfcSpatialZoneType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10])},451544542:function(e,t){return new t_.IfcSphere(e,t[0],t[1])},4015995234:function(e,t){return new t_.IfcSphericalSurface(e,t[0],t[1])},2735484536:function(e,t){return new t_.IfcSpiral(e,t[0])},3544373492:function(e,t){return new t_.IfcStructuralActivity(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},3136571912:function(e,t){return new t_.IfcStructuralItem(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6])},530289379:function(e,t){return new t_.IfcStructuralMember(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6])},3689010777:function(e,t){return new t_.IfcStructuralReaction(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},3979015343:function(e,t){return new t_.IfcStructuralSurfaceMember(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},2218152070:function(e,t){return new t_.IfcStructuralSurfaceMemberVarying(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},603775116:function(e,t){return new t_.IfcStructuralSurfaceReaction(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},4095615324:function(e,t){return new t_.IfcSubContractResourceType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11])},699246055:function(e,t){return new t_.IfcSurfaceCurve(e,t[0],t[1],t[2])},2028607225:function(e,t){return new t_.IfcSurfaceCurveSweptAreaSolid(e,t[0],t[1],t[2],t[3],t[4],t[5])},2809605785:function(e,t){return new t_.IfcSurfaceOfLinearExtrusion(e,t[0],t[1],t[2],t[3])},4124788165:function(e,t){return new t_.IfcSurfaceOfRevolution(e,t[0],t[1],t[2])},1580310250:function(e,t){return new t_.IfcSystemFurnitureElementType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},3473067441:function(e,t){return new t_.IfcTask(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12])},3206491090:function(e,t){return new t_.IfcTaskType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10])},2387106220:function(e,t){return new t_.IfcTessellatedFaceSet(e,t[0],t[1])},782932809:function(e,t){return new t_.IfcThirdOrderPolynomialSpiral(e,t[0],t[1],t[2],t[3],t[4])},1935646853:function(e,t){return new t_.IfcToroidalSurface(e,t[0],t[1],t[2])},3665877780:function(e,t){return new t_.IfcTransportationDeviceType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},2916149573:function(e,t){return new t_.IfcTriangulatedFaceSet(e,t[0],t[1],t[2],t[3],t[4])},1229763772:function(e,t){return new t_.IfcTriangulatedIrregularNetwork(e,t[0],t[1],t[2],t[3],t[4],t[5])},3651464721:function(e,t){return new t_.IfcVehicleType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},336235671:function(e,t){return new t_.IfcWindowLiningProperties(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12],t[13],t[14],t[15])},512836454:function(e,t){return new t_.IfcWindowPanelProperties(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},2296667514:function(e,t){return new t_.IfcActor(e,t[0],t[1],t[2],t[3],t[4],t[5])},1635779807:function(e,t){return new t_.IfcAdvancedBrep(e,t[0])},2603310189:function(e,t){return new t_.IfcAdvancedBrepWithVoids(e,t[0],t[1])},1674181508:function(e,t){return new t_.IfcAnnotation(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},2887950389:function(e,t){return new t_.IfcBSplineSurface(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6])},167062518:function(e,t){return new t_.IfcBSplineSurfaceWithKnots(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11])},1334484129:function(e,t){return new t_.IfcBlock(e,t[0],t[1],t[2],t[3])},3649129432:function(e,t){return new t_.IfcBooleanClippingResult(e,t[0],t[1],t[2])},1260505505:function(e,t){return new t_.IfcBoundedCurve(e)},3124254112:function(e,t){return new t_.IfcBuildingStorey(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},1626504194:function(e,t){return new t_.IfcBuiltElementType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},2197970202:function(e,t){return new t_.IfcChimneyType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},2937912522:function(e,t){return new t_.IfcCircleHollowProfileDef(e,t[0],t[1],t[2],t[3],t[4])},3893394355:function(e,t){return new t_.IfcCivilElementType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},3497074424:function(e,t){return new t_.IfcClothoid(e,t[0],t[1])},300633059:function(e,t){return new t_.IfcColumnType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},3875453745:function(e,t){return new t_.IfcComplexPropertyTemplate(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6])},3732776249:function(e,t){return new t_.IfcCompositeCurve(e,t[0],t[1])},15328376:function(e,t){return new t_.IfcCompositeCurveOnSurface(e,t[0],t[1])},2510884976:function(e,t){return new t_.IfcConic(e,t[0])},2185764099:function(e,t){return new t_.IfcConstructionEquipmentResourceType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11])},4105962743:function(e,t){return new t_.IfcConstructionMaterialResourceType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11])},1525564444:function(e,t){return new t_.IfcConstructionProductResourceType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11])},2559216714:function(e,t){return new t_.IfcConstructionResource(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},3293443760:function(e,t){return new t_.IfcControl(e,t[0],t[1],t[2],t[3],t[4],t[5])},2000195564:function(e,t){return new t_.IfcCosineSpiral(e,t[0],t[1],t[2])},3895139033:function(e,t){return new t_.IfcCostItem(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},1419761937:function(e,t){return new t_.IfcCostSchedule(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},4189326743:function(e,t){return new t_.IfcCourseType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},1916426348:function(e,t){return new t_.IfcCoveringType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},3295246426:function(e,t){return new t_.IfcCrewResource(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10])},1457835157:function(e,t){return new t_.IfcCurtainWallType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},1213902940:function(e,t){return new t_.IfcCylindricalSurface(e,t[0],t[1])},1306400036:function(e,t){return new t_.IfcDeepFoundationType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},4234616927:function(e,t){return new t_.IfcDirectrixDerivedReferenceSweptAreaSolid(e,t[0],t[1],t[2],t[3],t[4],t[5])},3256556792:function(e,t){return new t_.IfcDistributionElementType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},3849074793:function(e,t){return new t_.IfcDistributionFlowElementType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},2963535650:function(e,t){return new t_.IfcDoorLiningProperties(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12],t[13],t[14],t[15],t[16])},1714330368:function(e,t){return new t_.IfcDoorPanelProperties(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},2323601079:function(e,t){return new t_.IfcDoorType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12])},445594917:function(e,t){return new t_.IfcDraughtingPreDefinedColour(e,t[0])},4006246654:function(e,t){return new t_.IfcDraughtingPreDefinedCurveFont(e,t[0])},1758889154:function(e,t){return new t_.IfcElement(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},4123344466:function(e,t){return new t_.IfcElementAssembly(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},2397081782:function(e,t){return new t_.IfcElementAssemblyType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},1623761950:function(e,t){return new t_.IfcElementComponent(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},2590856083:function(e,t){return new t_.IfcElementComponentType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},1704287377:function(e,t){return new t_.IfcEllipse(e,t[0],t[1],t[2])},2107101300:function(e,t){return new t_.IfcEnergyConversionDeviceType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},132023988:function(e,t){return new t_.IfcEngineType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},3174744832:function(e,t){return new t_.IfcEvaporativeCoolerType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},3390157468:function(e,t){return new t_.IfcEvaporatorType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},4148101412:function(e,t){return new t_.IfcEvent(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10])},2853485674:function(e,t){return new t_.IfcExternalSpatialStructureElement(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},807026263:function(e,t){return new t_.IfcFacetedBrep(e,t[0])},3737207727:function(e,t){return new t_.IfcFacetedBrepWithVoids(e,t[0],t[1])},24185140:function(e,t){return new t_.IfcFacility(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},1310830890:function(e,t){return new t_.IfcFacilityPart(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},4228831410:function(e,t){return new t_.IfcFacilityPartCommon(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10])},647756555:function(e,t){return new t_.IfcFastener(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},2489546625:function(e,t){return new t_.IfcFastenerType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},2827207264:function(e,t){return new t_.IfcFeatureElement(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},2143335405:function(e,t){return new t_.IfcFeatureElementAddition(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},1287392070:function(e,t){return new t_.IfcFeatureElementSubtraction(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},3907093117:function(e,t){return new t_.IfcFlowControllerType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},3198132628:function(e,t){return new t_.IfcFlowFittingType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},3815607619:function(e,t){return new t_.IfcFlowMeterType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},1482959167:function(e,t){return new t_.IfcFlowMovingDeviceType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},1834744321:function(e,t){return new t_.IfcFlowSegmentType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},1339347760:function(e,t){return new t_.IfcFlowStorageDeviceType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},2297155007:function(e,t){return new t_.IfcFlowTerminalType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},3009222698:function(e,t){return new t_.IfcFlowTreatmentDeviceType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},1893162501:function(e,t){return new t_.IfcFootingType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},263784265:function(e,t){return new t_.IfcFurnishingElement(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},1509553395:function(e,t){return new t_.IfcFurniture(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},3493046030:function(e,t){return new t_.IfcGeographicElement(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},4230923436:function(e,t){return new t_.IfcGeotechnicalElement(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},1594536857:function(e,t){return new t_.IfcGeotechnicalStratum(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},2898700619:function(e,t){return new t_.IfcGradientCurve(e,t[0],t[1],t[2],t[3])},2706460486:function(e,t){return new t_.IfcGroup(e,t[0],t[1],t[2],t[3],t[4])},1251058090:function(e,t){return new t_.IfcHeatExchangerType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},1806887404:function(e,t){return new t_.IfcHumidifierType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},2568555532:function(e,t){return new t_.IfcImpactProtectionDevice(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},3948183225:function(e,t){return new t_.IfcImpactProtectionDeviceType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},2571569899:function(e,t){return new t_.IfcIndexedPolyCurve(e,t[0],t[1],t[2])},3946677679:function(e,t){return new t_.IfcInterceptorType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},3113134337:function(e,t){return new t_.IfcIntersectionCurve(e,t[0],t[1],t[2])},2391368822:function(e,t){return new t_.IfcInventory(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10])},4288270099:function(e,t){return new t_.IfcJunctionBoxType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},679976338:function(e,t){return new t_.IfcKerbType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},3827777499:function(e,t){return new t_.IfcLaborResource(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10])},1051575348:function(e,t){return new t_.IfcLampType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},1161773419:function(e,t){return new t_.IfcLightFixtureType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},2176059722:function(e,t){return new t_.IfcLinearElement(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6])},1770583370:function(e,t){return new t_.IfcLiquidTerminalType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},525669439:function(e,t){return new t_.IfcMarineFacility(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},976884017:function(e,t){return new t_.IfcMarinePart(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10])},377706215:function(e,t){return new t_.IfcMechanicalFastener(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10])},2108223431:function(e,t){return new t_.IfcMechanicalFastenerType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11])},1114901282:function(e,t){return new t_.IfcMedicalDeviceType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},3181161470:function(e,t){return new t_.IfcMemberType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},1950438474:function(e,t){return new t_.IfcMobileTelecommunicationsApplianceType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},710110818:function(e,t){return new t_.IfcMooringDeviceType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},977012517:function(e,t){return new t_.IfcMotorConnectionType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},506776471:function(e,t){return new t_.IfcNavigationElementType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},4143007308:function(e,t){return new t_.IfcOccupant(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6])},3588315303:function(e,t){return new t_.IfcOpeningElement(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},2837617999:function(e,t){return new t_.IfcOutletType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},514975943:function(e,t){return new t_.IfcPavementType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},2382730787:function(e,t){return new t_.IfcPerformanceHistory(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},3566463478:function(e,t){return new t_.IfcPermeableCoveringProperties(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},3327091369:function(e,t){return new t_.IfcPermit(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},1158309216:function(e,t){return new t_.IfcPileType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},804291784:function(e,t){return new t_.IfcPipeFittingType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},4231323485:function(e,t){return new t_.IfcPipeSegmentType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},4017108033:function(e,t){return new t_.IfcPlateType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},2839578677:function(e,t){return new t_.IfcPolygonalFaceSet(e,t[0],t[1],t[2],t[3])},3724593414:function(e,t){return new t_.IfcPolyline(e,t[0])},3740093272:function(e,t){return new t_.IfcPort(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6])},1946335990:function(e,t){return new t_.IfcPositioningElement(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6])},2744685151:function(e,t){return new t_.IfcProcedure(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},2904328755:function(e,t){return new t_.IfcProjectOrder(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},3651124850:function(e,t){return new t_.IfcProjectionElement(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},1842657554:function(e,t){return new t_.IfcProtectiveDeviceType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},2250791053:function(e,t){return new t_.IfcPumpType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},1763565496:function(e,t){return new t_.IfcRailType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},2893384427:function(e,t){return new t_.IfcRailingType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},3992365140:function(e,t){return new t_.IfcRailway(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},1891881377:function(e,t){return new t_.IfcRailwayPart(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10])},2324767716:function(e,t){return new t_.IfcRampFlightType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},1469900589:function(e,t){return new t_.IfcRampType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},683857671:function(e,t){return new t_.IfcRationalBSplineSurfaceWithKnots(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12])},4021432810:function(e,t){return new t_.IfcReferent(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},3027567501:function(e,t){return new t_.IfcReinforcingElement(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},964333572:function(e,t){return new t_.IfcReinforcingElementType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},2320036040:function(e,t){return new t_.IfcReinforcingMesh(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12],t[13],t[14],t[15],t[16],t[17])},2310774935:function(e,t){return new t_.IfcReinforcingMeshType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12],t[13],t[14],t[15],t[16],t[17],t[18],t[19])},3818125796:function(e,t){return new t_.IfcRelAdheresToElement(e,t[0],t[1],t[2],t[3],t[4],t[5])},160246688:function(e,t){return new t_.IfcRelAggregates(e,t[0],t[1],t[2],t[3],t[4],t[5])},146592293:function(e,t){return new t_.IfcRoad(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},550521510:function(e,t){return new t_.IfcRoadPart(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10])},2781568857:function(e,t){return new t_.IfcRoofType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},1768891740:function(e,t){return new t_.IfcSanitaryTerminalType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},2157484638:function(e,t){return new t_.IfcSeamCurve(e,t[0],t[1],t[2])},3649235739:function(e,t){return new t_.IfcSecondOrderPolynomialSpiral(e,t[0],t[1],t[2],t[3])},544395925:function(e,t){return new t_.IfcSegmentedReferenceCurve(e,t[0],t[1],t[2],t[3])},1027922057:function(e,t){return new t_.IfcSeventhOrderPolynomialSpiral(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},4074543187:function(e,t){return new t_.IfcShadingDeviceType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},33720170:function(e,t){return new t_.IfcSign(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},3599934289:function(e,t){return new t_.IfcSignType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},1894708472:function(e,t){return new t_.IfcSignalType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},42703149:function(e,t){return new t_.IfcSineSpiral(e,t[0],t[1],t[2],t[3])},4097777520:function(e,t){return new t_.IfcSite(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12],t[13])},2533589738:function(e,t){return new t_.IfcSlabType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},1072016465:function(e,t){return new t_.IfcSolarDeviceType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},3856911033:function(e,t){return new t_.IfcSpace(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10])},1305183839:function(e,t){return new t_.IfcSpaceHeaterType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},3812236995:function(e,t){return new t_.IfcSpaceType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10])},3112655638:function(e,t){return new t_.IfcStackTerminalType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},1039846685:function(e,t){return new t_.IfcStairFlightType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},338393293:function(e,t){return new t_.IfcStairType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},682877961:function(e,t){return new t_.IfcStructuralAction(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},1179482911:function(e,t){return new t_.IfcStructuralConnection(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},1004757350:function(e,t){return new t_.IfcStructuralCurveAction(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11])},4243806635:function(e,t){return new t_.IfcStructuralCurveConnection(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},214636428:function(e,t){return new t_.IfcStructuralCurveMember(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},2445595289:function(e,t){return new t_.IfcStructuralCurveMemberVarying(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},2757150158:function(e,t){return new t_.IfcStructuralCurveReaction(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},1807405624:function(e,t){return new t_.IfcStructuralLinearAction(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11])},1252848954:function(e,t){return new t_.IfcStructuralLoadGroup(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},2082059205:function(e,t){return new t_.IfcStructuralPointAction(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},734778138:function(e,t){return new t_.IfcStructuralPointConnection(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},1235345126:function(e,t){return new t_.IfcStructuralPointReaction(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},2986769608:function(e,t){return new t_.IfcStructuralResultGroup(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},3657597509:function(e,t){return new t_.IfcStructuralSurfaceAction(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11])},1975003073:function(e,t){return new t_.IfcStructuralSurfaceConnection(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},148013059:function(e,t){return new t_.IfcSubContractResource(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10])},3101698114:function(e,t){return new t_.IfcSurfaceFeature(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},2315554128:function(e,t){return new t_.IfcSwitchingDeviceType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},2254336722:function(e,t){return new t_.IfcSystem(e,t[0],t[1],t[2],t[3],t[4])},413509423:function(e,t){return new t_.IfcSystemFurnitureElement(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},5716631:function(e,t){return new t_.IfcTankType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},3824725483:function(e,t){return new t_.IfcTendon(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12],t[13],t[14],t[15],t[16])},2347447852:function(e,t){return new t_.IfcTendonAnchor(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},3081323446:function(e,t){return new t_.IfcTendonAnchorType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},3663046924:function(e,t){return new t_.IfcTendonConduit(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},2281632017:function(e,t){return new t_.IfcTendonConduitType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},2415094496:function(e,t){return new t_.IfcTendonType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12])},618700268:function(e,t){return new t_.IfcTrackElementType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},1692211062:function(e,t){return new t_.IfcTransformerType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},2097647324:function(e,t){return new t_.IfcTransportElementType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},1953115116:function(e,t){return new t_.IfcTransportationDevice(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},3593883385:function(e,t){return new t_.IfcTrimmedCurve(e,t[0],t[1],t[2],t[3],t[4])},1600972822:function(e,t){return new t_.IfcTubeBundleType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},1911125066:function(e,t){return new t_.IfcUnitaryEquipmentType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},728799441:function(e,t){return new t_.IfcValveType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},840318589:function(e,t){return new t_.IfcVehicle(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},1530820697:function(e,t){return new t_.IfcVibrationDamper(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},3956297820:function(e,t){return new t_.IfcVibrationDamperType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},2391383451:function(e,t){return new t_.IfcVibrationIsolator(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},3313531582:function(e,t){return new t_.IfcVibrationIsolatorType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},2769231204:function(e,t){return new t_.IfcVirtualElement(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},926996030:function(e,t){return new t_.IfcVoidingFeature(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},1898987631:function(e,t){return new t_.IfcWallType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},1133259667:function(e,t){return new t_.IfcWasteTerminalType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},4009809668:function(e,t){return new t_.IfcWindowType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12])},4088093105:function(e,t){return new t_.IfcWorkCalendar(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},1028945134:function(e,t){return new t_.IfcWorkControl(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12])},4218914973:function(e,t){return new t_.IfcWorkPlan(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12],t[13])},3342526732:function(e,t){return new t_.IfcWorkSchedule(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12],t[13])},1033361043:function(e,t){return new t_.IfcZone(e,t[0],t[1],t[2],t[3],t[4],t[5])},3821786052:function(e,t){return new t_.IfcActionRequest(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},1411407467:function(e,t){return new t_.IfcAirTerminalBoxType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},3352864051:function(e,t){return new t_.IfcAirTerminalType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},1871374353:function(e,t){return new t_.IfcAirToAirHeatRecoveryType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},4266260250:function(e,t){return new t_.IfcAlignmentCant(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},1545765605:function(e,t){return new t_.IfcAlignmentHorizontal(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6])},317615605:function(e,t){return new t_.IfcAlignmentSegment(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},1662888072:function(e,t){return new t_.IfcAlignmentVertical(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6])},3460190687:function(e,t){return new t_.IfcAsset(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12],t[13])},1532957894:function(e,t){return new t_.IfcAudioVisualApplianceType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},1967976161:function(e,t){return new t_.IfcBSplineCurve(e,t[0],t[1],t[2],t[3],t[4])},2461110595:function(e,t){return new t_.IfcBSplineCurveWithKnots(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},819618141:function(e,t){return new t_.IfcBeamType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},3649138523:function(e,t){return new t_.IfcBearingType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},231477066:function(e,t){return new t_.IfcBoilerType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},1136057603:function(e,t){return new t_.IfcBoundaryCurve(e,t[0],t[1])},644574406:function(e,t){return new t_.IfcBridge(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},963979645:function(e,t){return new t_.IfcBridgePart(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10])},4031249490:function(e,t){return new t_.IfcBuilding(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11])},2979338954:function(e,t){return new t_.IfcBuildingElementPart(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},39481116:function(e,t){return new t_.IfcBuildingElementPartType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},1909888760:function(e,t){return new t_.IfcBuildingElementProxyType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},1177604601:function(e,t){return new t_.IfcBuildingSystem(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6])},1876633798:function(e,t){return new t_.IfcBuiltElement(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},3862327254:function(e,t){return new t_.IfcBuiltSystem(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6])},2188180465:function(e,t){return new t_.IfcBurnerType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},395041908:function(e,t){return new t_.IfcCableCarrierFittingType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},3293546465:function(e,t){return new t_.IfcCableCarrierSegmentType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},2674252688:function(e,t){return new t_.IfcCableFittingType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},1285652485:function(e,t){return new t_.IfcCableSegmentType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},3203706013:function(e,t){return new t_.IfcCaissonFoundationType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},2951183804:function(e,t){return new t_.IfcChillerType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},3296154744:function(e,t){return new t_.IfcChimney(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},2611217952:function(e,t){return new t_.IfcCircle(e,t[0],t[1])},1677625105:function(e,t){return new t_.IfcCivilElement(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},2301859152:function(e,t){return new t_.IfcCoilType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},843113511:function(e,t){return new t_.IfcColumn(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},400855858:function(e,t){return new t_.IfcCommunicationsApplianceType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},3850581409:function(e,t){return new t_.IfcCompressorType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},2816379211:function(e,t){return new t_.IfcCondenserType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},3898045240:function(e,t){return new t_.IfcConstructionEquipmentResource(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10])},1060000209:function(e,t){return new t_.IfcConstructionMaterialResource(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10])},488727124:function(e,t){return new t_.IfcConstructionProductResource(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10])},2940368186:function(e,t){return new t_.IfcConveyorSegmentType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},335055490:function(e,t){return new t_.IfcCooledBeamType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},2954562838:function(e,t){return new t_.IfcCoolingTowerType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},1502416096:function(e,t){return new t_.IfcCourse(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},1973544240:function(e,t){return new t_.IfcCovering(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},3495092785:function(e,t){return new t_.IfcCurtainWall(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},3961806047:function(e,t){return new t_.IfcDamperType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},3426335179:function(e,t){return new t_.IfcDeepFoundation(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},1335981549:function(e,t){return new t_.IfcDiscreteAccessory(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},2635815018:function(e,t){return new t_.IfcDiscreteAccessoryType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},479945903:function(e,t){return new t_.IfcDistributionBoardType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},1599208980:function(e,t){return new t_.IfcDistributionChamberElementType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},2063403501:function(e,t){return new t_.IfcDistributionControlElementType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},1945004755:function(e,t){return new t_.IfcDistributionElement(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},3040386961:function(e,t){return new t_.IfcDistributionFlowElement(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},3041715199:function(e,t){return new t_.IfcDistributionPort(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},3205830791:function(e,t){return new t_.IfcDistributionSystem(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6])},395920057:function(e,t){return new t_.IfcDoor(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12])},869906466:function(e,t){return new t_.IfcDuctFittingType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},3760055223:function(e,t){return new t_.IfcDuctSegmentType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},2030761528:function(e,t){return new t_.IfcDuctSilencerType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},3071239417:function(e,t){return new t_.IfcEarthworksCut(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},1077100507:function(e,t){return new t_.IfcEarthworksElement(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},3376911765:function(e,t){return new t_.IfcEarthworksFill(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},663422040:function(e,t){return new t_.IfcElectricApplianceType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},2417008758:function(e,t){return new t_.IfcElectricDistributionBoardType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},3277789161:function(e,t){return new t_.IfcElectricFlowStorageDeviceType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},2142170206:function(e,t){return new t_.IfcElectricFlowTreatmentDeviceType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},1534661035:function(e,t){return new t_.IfcElectricGeneratorType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},1217240411:function(e,t){return new t_.IfcElectricMotorType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},712377611:function(e,t){return new t_.IfcElectricTimeControlType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},1658829314:function(e,t){return new t_.IfcEnergyConversionDevice(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},2814081492:function(e,t){return new t_.IfcEngine(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},3747195512:function(e,t){return new t_.IfcEvaporativeCooler(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},484807127:function(e,t){return new t_.IfcEvaporator(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},1209101575:function(e,t){return new t_.IfcExternalSpatialElement(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},346874300:function(e,t){return new t_.IfcFanType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},1810631287:function(e,t){return new t_.IfcFilterType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},4222183408:function(e,t){return new t_.IfcFireSuppressionTerminalType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},2058353004:function(e,t){return new t_.IfcFlowController(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},4278956645:function(e,t){return new t_.IfcFlowFitting(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},4037862832:function(e,t){return new t_.IfcFlowInstrumentType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},2188021234:function(e,t){return new t_.IfcFlowMeter(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},3132237377:function(e,t){return new t_.IfcFlowMovingDevice(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},987401354:function(e,t){return new t_.IfcFlowSegment(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},707683696:function(e,t){return new t_.IfcFlowStorageDevice(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},2223149337:function(e,t){return new t_.IfcFlowTerminal(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},3508470533:function(e,t){return new t_.IfcFlowTreatmentDevice(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},900683007:function(e,t){return new t_.IfcFooting(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},2713699986:function(e,t){return new t_.IfcGeotechnicalAssembly(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},3009204131:function(e,t){return new t_.IfcGrid(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10])},3319311131:function(e,t){return new t_.IfcHeatExchanger(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},2068733104:function(e,t){return new t_.IfcHumidifier(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},4175244083:function(e,t){return new t_.IfcInterceptor(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},2176052936:function(e,t){return new t_.IfcJunctionBox(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},2696325953:function(e,t){return new t_.IfcKerb(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},76236018:function(e,t){return new t_.IfcLamp(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},629592764:function(e,t){return new t_.IfcLightFixture(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},1154579445:function(e,t){return new t_.IfcLinearPositioningElement(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6])},1638804497:function(e,t){return new t_.IfcLiquidTerminal(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},1437502449:function(e,t){return new t_.IfcMedicalDevice(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},1073191201:function(e,t){return new t_.IfcMember(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},2078563270:function(e,t){return new t_.IfcMobileTelecommunicationsAppliance(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},234836483:function(e,t){return new t_.IfcMooringDevice(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},2474470126:function(e,t){return new t_.IfcMotorConnection(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},2182337498:function(e,t){return new t_.IfcNavigationElement(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},144952367:function(e,t){return new t_.IfcOuterBoundaryCurve(e,t[0],t[1])},3694346114:function(e,t){return new t_.IfcOutlet(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},1383356374:function(e,t){return new t_.IfcPavement(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},1687234759:function(e,t){return new t_.IfcPile(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},310824031:function(e,t){return new t_.IfcPipeFitting(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},3612865200:function(e,t){return new t_.IfcPipeSegment(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},3171933400:function(e,t){return new t_.IfcPlate(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},738039164:function(e,t){return new t_.IfcProtectiveDevice(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},655969474:function(e,t){return new t_.IfcProtectiveDeviceTrippingUnitType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},90941305:function(e,t){return new t_.IfcPump(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},3290496277:function(e,t){return new t_.IfcRail(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},2262370178:function(e,t){return new t_.IfcRailing(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},3024970846:function(e,t){return new t_.IfcRamp(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},3283111854:function(e,t){return new t_.IfcRampFlight(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},1232101972:function(e,t){return new t_.IfcRationalBSplineCurveWithKnots(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},3798194928:function(e,t){return new t_.IfcReinforcedSoil(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},979691226:function(e,t){return new t_.IfcReinforcingBar(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12],t[13])},2572171363:function(e,t){return new t_.IfcReinforcingBarType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12],t[13],t[14],t[15])},2016517767:function(e,t){return new t_.IfcRoof(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},3053780830:function(e,t){return new t_.IfcSanitaryTerminal(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},1783015770:function(e,t){return new t_.IfcSensorType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},1329646415:function(e,t){return new t_.IfcShadingDevice(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},991950508:function(e,t){return new t_.IfcSignal(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},1529196076:function(e,t){return new t_.IfcSlab(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},3420628829:function(e,t){return new t_.IfcSolarDevice(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},1999602285:function(e,t){return new t_.IfcSpaceHeater(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},1404847402:function(e,t){return new t_.IfcStackTerminal(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},331165859:function(e,t){return new t_.IfcStair(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},4252922144:function(e,t){return new t_.IfcStairFlight(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12])},2515109513:function(e,t){return new t_.IfcStructuralAnalysisModel(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},385403989:function(e,t){return new t_.IfcStructuralLoadCase(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10])},1621171031:function(e,t){return new t_.IfcStructuralPlanarAction(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11])},1162798199:function(e,t){return new t_.IfcSwitchingDevice(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},812556717:function(e,t){return new t_.IfcTank(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},3425753595:function(e,t){return new t_.IfcTrackElement(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},3825984169:function(e,t){return new t_.IfcTransformer(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},1620046519:function(e,t){return new t_.IfcTransportElement(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},3026737570:function(e,t){return new t_.IfcTubeBundle(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},3179687236:function(e,t){return new t_.IfcUnitaryControlElementType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},4292641817:function(e,t){return new t_.IfcUnitaryEquipment(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},4207607924:function(e,t){return new t_.IfcValve(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},2391406946:function(e,t){return new t_.IfcWall(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},3512223829:function(e,t){return new t_.IfcWallStandardCase(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},4237592921:function(e,t){return new t_.IfcWasteTerminal(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},3304561284:function(e,t){return new t_.IfcWindow(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12])},2874132201:function(e,t){return new t_.IfcActuatorType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},1634111441:function(e,t){return new t_.IfcAirTerminal(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},177149247:function(e,t){return new t_.IfcAirTerminalBox(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},2056796094:function(e,t){return new t_.IfcAirToAirHeatRecovery(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},3001207471:function(e,t){return new t_.IfcAlarmType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},325726236:function(e,t){return new t_.IfcAlignment(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},277319702:function(e,t){return new t_.IfcAudioVisualAppliance(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},753842376:function(e,t){return new t_.IfcBeam(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},4196446775:function(e,t){return new t_.IfcBearing(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},32344328:function(e,t){return new t_.IfcBoiler(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},3314249567:function(e,t){return new t_.IfcBorehole(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},1095909175:function(e,t){return new t_.IfcBuildingElementProxy(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},2938176219:function(e,t){return new t_.IfcBurner(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},635142910:function(e,t){return new t_.IfcCableCarrierFitting(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},3758799889:function(e,t){return new t_.IfcCableCarrierSegment(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},1051757585:function(e,t){return new t_.IfcCableFitting(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},4217484030:function(e,t){return new t_.IfcCableSegment(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},3999819293:function(e,t){return new t_.IfcCaissonFoundation(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},3902619387:function(e,t){return new t_.IfcChiller(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},639361253:function(e,t){return new t_.IfcCoil(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},3221913625:function(e,t){return new t_.IfcCommunicationsAppliance(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},3571504051:function(e,t){return new t_.IfcCompressor(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},2272882330:function(e,t){return new t_.IfcCondenser(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},578613899:function(e,t){return new t_.IfcControllerType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},3460952963:function(e,t){return new t_.IfcConveyorSegment(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},4136498852:function(e,t){return new t_.IfcCooledBeam(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},3640358203:function(e,t){return new t_.IfcCoolingTower(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},4074379575:function(e,t){return new t_.IfcDamper(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},3693000487:function(e,t){return new t_.IfcDistributionBoard(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},1052013943:function(e,t){return new t_.IfcDistributionChamberElement(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},562808652:function(e,t){return new t_.IfcDistributionCircuit(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6])},1062813311:function(e,t){return new t_.IfcDistributionControlElement(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},342316401:function(e,t){return new t_.IfcDuctFitting(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},3518393246:function(e,t){return new t_.IfcDuctSegment(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},1360408905:function(e,t){return new t_.IfcDuctSilencer(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},1904799276:function(e,t){return new t_.IfcElectricAppliance(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},862014818:function(e,t){return new t_.IfcElectricDistributionBoard(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},3310460725:function(e,t){return new t_.IfcElectricFlowStorageDevice(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},24726584:function(e,t){return new t_.IfcElectricFlowTreatmentDevice(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},264262732:function(e,t){return new t_.IfcElectricGenerator(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},402227799:function(e,t){return new t_.IfcElectricMotor(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},1003880860:function(e,t){return new t_.IfcElectricTimeControl(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},3415622556:function(e,t){return new t_.IfcFan(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},819412036:function(e,t){return new t_.IfcFilter(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},1426591983:function(e,t){return new t_.IfcFireSuppressionTerminal(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},182646315:function(e,t){return new t_.IfcFlowInstrument(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},2680139844:function(e,t){return new t_.IfcGeomodel(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},1971632696:function(e,t){return new t_.IfcGeoslice(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},2295281155:function(e,t){return new t_.IfcProtectiveDeviceTrippingUnit(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},4086658281:function(e,t){return new t_.IfcSensor(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},630975310:function(e,t){return new t_.IfcUnitaryControlElement(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},4288193352:function(e,t){return new t_.IfcActuator(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},3087945054:function(e,t){return new t_.IfcAlarm(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},25142252:function(e,t){return new t_.IfcController(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])}},Q_[3]={3630933823:function(e){return[e.Role,e.UserDefinedRole,e.Description]},618182010:function(e){return[e.Purpose,e.Description,e.UserDefinedPurpose]},2879124712:function(e){return[e.StartTag,e.EndTag]},3633395639:function(e){return[e.StartTag,e.EndTag,e.StartDistAlong,e.HorizontalLength,e.StartHeight,e.StartGradient,e.EndGradient,e.RadiusOfCurvature,e.PredefinedType]},639542469:function(e){return[e.ApplicationDeveloper,e.Version,e.ApplicationFullName,e.ApplicationIdentifier]},411424972:function(e){return[e.Name,e.Description,e.AppliedValue,e.UnitBasis,e.ApplicableDate,e.FixedUntilDate,e.Category,e.Condition,e.ArithmeticOperator,e.Components]},130549933:function(e){return[e.Identifier,e.Name,e.Description,e.TimeOfApproval,e.Status,e.Level,e.Qualifier,e.RequestingApproval,e.GivingApproval]},4037036970:function(e){return[e.Name]},1560379544:function(e){return[e.Name,e.TranslationalStiffnessByLengthX?Y_(e.TranslationalStiffnessByLengthX):null,e.TranslationalStiffnessByLengthY?Y_(e.TranslationalStiffnessByLengthY):null,e.TranslationalStiffnessByLengthZ?Y_(e.TranslationalStiffnessByLengthZ):null,e.RotationalStiffnessByLengthX?Y_(e.RotationalStiffnessByLengthX):null,e.RotationalStiffnessByLengthY?Y_(e.RotationalStiffnessByLengthY):null,e.RotationalStiffnessByLengthZ?Y_(e.RotationalStiffnessByLengthZ):null]},3367102660:function(e){return[e.Name,e.TranslationalStiffnessByAreaX?Y_(e.TranslationalStiffnessByAreaX):null,e.TranslationalStiffnessByAreaY?Y_(e.TranslationalStiffnessByAreaY):null,e.TranslationalStiffnessByAreaZ?Y_(e.TranslationalStiffnessByAreaZ):null]},1387855156:function(e){return[e.Name,e.TranslationalStiffnessX?Y_(e.TranslationalStiffnessX):null,e.TranslationalStiffnessY?Y_(e.TranslationalStiffnessY):null,e.TranslationalStiffnessZ?Y_(e.TranslationalStiffnessZ):null,e.RotationalStiffnessX?Y_(e.RotationalStiffnessX):null,e.RotationalStiffnessY?Y_(e.RotationalStiffnessY):null,e.RotationalStiffnessZ?Y_(e.RotationalStiffnessZ):null]},2069777674:function(e){return[e.Name,e.TranslationalStiffnessX?Y_(e.TranslationalStiffnessX):null,e.TranslationalStiffnessY?Y_(e.TranslationalStiffnessY):null,e.TranslationalStiffnessZ?Y_(e.TranslationalStiffnessZ):null,e.RotationalStiffnessX?Y_(e.RotationalStiffnessX):null,e.RotationalStiffnessY?Y_(e.RotationalStiffnessY):null,e.RotationalStiffnessZ?Y_(e.RotationalStiffnessZ):null,e.WarpingStiffness?Y_(e.WarpingStiffness):null]},2859738748:function(e){return[]},2614616156:function(e){return[e.PointOnRelatingElement,e.PointOnRelatedElement]},2732653382:function(e){return[e.SurfaceOnRelatingElement,e.SurfaceOnRelatedElement]},775493141:function(e){return[e.VolumeOnRelatingElement,e.VolumeOnRelatedElement]},1959218052:function(e){return[e.Name,e.Description,e.ConstraintGrade,e.ConstraintSource,e.CreatingActor,e.CreationTime,e.UserDefinedGrade]},1785450214:function(e){return[e.SourceCRS,e.TargetCRS]},1466758467:function(e){return[e.Name,e.Description,e.GeodeticDatum,e.VerticalDatum]},602808272:function(e){return[e.Name,e.Description,e.AppliedValue,e.UnitBasis,e.ApplicableDate,e.FixedUntilDate,e.Category,e.Condition,e.ArithmeticOperator,e.Components]},1765591967:function(e){return[e.Elements,e.UnitType,e.UserDefinedType,e.Name]},1045800335:function(e){return[e.Unit,e.Exponent]},2949456006:function(e){return[e.LengthExponent,e.MassExponent,e.TimeExponent,e.ElectricCurrentExponent,e.ThermodynamicTemperatureExponent,e.AmountOfSubstanceExponent,e.LuminousIntensityExponent]},4294318154:function(e){return[]},3200245327:function(e){return[e.Location,e.Identification,e.Name]},2242383968:function(e){return[e.Location,e.Identification,e.Name]},1040185647:function(e){return[e.Location,e.Identification,e.Name]},3548104201:function(e){return[e.Location,e.Identification,e.Name]},852622518:function(e){var t;return[e.AxisTag,e.AxisCurve,null==(t=e.SameSense)?void 0:t.toString()]},3020489413:function(e){return[e.TimeStamp,e.ListValues.map((function(e){return Y_(e)}))]},2655187982:function(e){return[e.Name,e.Version,e.Publisher,e.VersionDate,e.Location,e.Description]},3452421091:function(e){return[e.Location,e.Identification,e.Name,e.Description,e.Language,e.ReferencedLibrary]},4162380809:function(e){return[e.MainPlaneAngle,e.SecondaryPlaneAngle,e.LuminousIntensity]},1566485204:function(e){return[e.LightDistributionCurve,e.DistributionData]},3057273783:function(e){return[e.SourceCRS,e.TargetCRS,e.Eastings,e.Northings,e.OrthogonalHeight,e.XAxisAbscissa,e.XAxisOrdinate,e.Scale,e.ScaleY,e.ScaleZ]},1847130766:function(e){return[e.MaterialClassifications,e.ClassifiedMaterial]},760658860:function(e){return[]},248100487:function(e){var t;return[e.Material,e.LayerThickness,null==(t=e.IsVentilated)?void 0:t.toString(),e.Name,e.Description,e.Category,e.Priority]},3303938423:function(e){return[e.MaterialLayers,e.LayerSetName,e.Description]},1847252529:function(e){var t;return[e.Material,e.LayerThickness,null==(t=e.IsVentilated)?void 0:t.toString(),e.Name,e.Description,e.Category,e.Priority,e.OffsetDirection,e.OffsetValues]},2199411900:function(e){return[e.Materials]},2235152071:function(e){return[e.Name,e.Description,e.Material,e.Profile,e.Priority,e.Category]},164193824:function(e){return[e.Name,e.Description,e.MaterialProfiles,e.CompositeProfile]},552965576:function(e){return[e.Name,e.Description,e.Material,e.Profile,e.Priority,e.Category,e.OffsetValues]},1507914824:function(e){return[]},2597039031:function(e){return[Y_(e.ValueComponent),e.UnitComponent]},3368373690:function(e){return[e.Name,e.Description,e.ConstraintGrade,e.ConstraintSource,e.CreatingActor,e.CreationTime,e.UserDefinedGrade,e.Benchmark,e.ValueSource,e.DataValue,e.ReferencePath]},2706619895:function(e){return[e.Currency]},1918398963:function(e){return[e.Dimensions,e.UnitType]},3701648758:function(e){return[e.PlacementRelTo]},2251480897:function(e){return[e.Name,e.Description,e.ConstraintGrade,e.ConstraintSource,e.CreatingActor,e.CreationTime,e.UserDefinedGrade,e.BenchmarkValues,e.LogicalAggregator,e.ObjectiveQualifier,e.UserDefinedQualifier]},4251960020:function(e){return[e.Identification,e.Name,e.Description,e.Roles,e.Addresses]},1207048766:function(e){return[e.OwningUser,e.OwningApplication,e.State,e.ChangeAction,e.LastModifiedDate,e.LastModifyingUser,e.LastModifyingApplication,e.CreationDate]},2077209135:function(e){return[e.Identification,e.FamilyName,e.GivenName,e.MiddleNames,e.PrefixTitles,e.SuffixTitles,e.Roles,e.Addresses]},101040310:function(e){return[e.ThePerson,e.TheOrganization,e.Roles]},2483315170:function(e){return[e.Name,e.Description]},2226359599:function(e){return[e.Name,e.Description,e.Unit]},3355820592:function(e){return[e.Purpose,e.Description,e.UserDefinedPurpose,e.InternalLocation,e.AddressLines,e.PostalBox,e.Town,e.Region,e.PostalCode,e.Country]},677532197:function(e){return[]},2022622350:function(e){return[e.Name,e.Description,e.AssignedItems,e.Identifier]},1304840413:function(e){var t,n,r;return[e.Name,e.Description,e.AssignedItems,e.Identifier,null==(t=e.LayerOn)?void 0:t.toString(),null==(n=e.LayerFrozen)?void 0:n.toString(),null==(r=e.LayerBlocked)?void 0:r.toString(),e.LayerStyles]},3119450353:function(e){return[e.Name]},2095639259:function(e){return[e.Name,e.Description,e.Representations]},3958567839:function(e){return[e.ProfileType,e.ProfileName]},3843373140:function(e){return[e.Name,e.Description,e.GeodeticDatum,e.VerticalDatum,e.MapProjection,e.MapZone,e.MapUnit]},986844984:function(e){return[]},3710013099:function(e){return[e.Name,e.EnumerationValues.map((function(e){return Y_(e)})),e.Unit]},2044713172:function(e){return[e.Name,e.Description,e.Unit,e.AreaValue,e.Formula]},2093928680:function(e){return[e.Name,e.Description,e.Unit,e.CountValue,e.Formula]},931644368:function(e){return[e.Name,e.Description,e.Unit,e.LengthValue,e.Formula]},2691318326:function(e){return[e.Name,e.Description,e.Unit,e.NumberValue,e.Formula]},3252649465:function(e){return[e.Name,e.Description,e.Unit,e.TimeValue,e.Formula]},2405470396:function(e){return[e.Name,e.Description,e.Unit,e.VolumeValue,e.Formula]},825690147:function(e){return[e.Name,e.Description,e.Unit,e.WeightValue,e.Formula]},3915482550:function(e){return[e.RecurrenceType,e.DayComponent,e.WeekdayComponent,e.MonthComponent,e.Position,e.Interval,e.Occurrences,e.TimePeriods]},2433181523:function(e){return[e.TypeIdentifier,e.AttributeIdentifier,e.InstanceName,e.ListPositions,e.InnerReference]},1076942058:function(e){return[e.ContextOfItems,e.RepresentationIdentifier,e.RepresentationType,e.Items]},3377609919:function(e){return[e.ContextIdentifier,e.ContextType]},3008791417:function(e){return[]},1660063152:function(e){return[e.MappingOrigin,e.MappedRepresentation]},2439245199:function(e){return[e.Name,e.Description]},2341007311:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description]},448429030:function(e){return[e.Dimensions,e.UnitType,e.Prefix,e.Name]},1054537805:function(e){return[e.Name,e.DataOrigin,e.UserDefinedDataOrigin]},867548509:function(e){var t;return[e.ShapeRepresentations,e.Name,e.Description,null==(t=e.ProductDefinitional)?void 0:t.toString(),e.PartOfProductDefinitionShape]},3982875396:function(e){return[e.ContextOfItems,e.RepresentationIdentifier,e.RepresentationType,e.Items]},4240577450:function(e){return[e.ContextOfItems,e.RepresentationIdentifier,e.RepresentationType,e.Items]},2273995522:function(e){return[e.Name]},2162789131:function(e){return[e.Name]},3478079324:function(e){return[e.Name,e.Values,e.Locations]},609421318:function(e){return[e.Name]},2525727697:function(e){return[e.Name]},3408363356:function(e){return[e.Name,e.DeltaTConstant,e.DeltaTY,e.DeltaTZ]},2830218821:function(e){return[e.ContextOfItems,e.RepresentationIdentifier,e.RepresentationType,e.Items]},3958052878:function(e){return[e.Item,e.Styles,e.Name]},3049322572:function(e){return[e.ContextOfItems,e.RepresentationIdentifier,e.RepresentationType,e.Items]},2934153892:function(e){return[e.Name,e.SurfaceReinforcement1,e.SurfaceReinforcement2,e.ShearReinforcement]},1300840506:function(e){return[e.Name,e.Side,e.Styles]},3303107099:function(e){return[e.DiffuseTransmissionColour,e.DiffuseReflectionColour,e.TransmissionColour,e.ReflectanceColour]},1607154358:function(e){return[e.RefractionIndex,e.DispersionFactor]},846575682:function(e){return[e.SurfaceColour,e.Transparency]},1351298697:function(e){return[e.Textures]},626085974:function(e){var t,n;return[null==(t=e.RepeatS)?void 0:t.toString(),null==(n=e.RepeatT)?void 0:n.toString(),e.Mode,e.TextureTransform,e.Parameter]},985171141:function(e){return[e.Name,e.Rows,e.Columns]},2043862942:function(e){return[e.Identifier,e.Name,e.Description,e.Unit,e.ReferencePath]},531007025:function(e){var t;return[e.RowCells?e.RowCells.map((function(e){return Y_(e)})):null,null==(t=e.IsHeading)?void 0:t.toString()]},1549132990:function(e){var t;return[e.Name,e.DataOrigin,e.UserDefinedDataOrigin,e.DurationType,e.ScheduleDuration,e.ScheduleStart,e.ScheduleFinish,e.EarlyStart,e.EarlyFinish,e.LateStart,e.LateFinish,e.FreeFloat,e.TotalFloat,null==(t=e.IsCritical)?void 0:t.toString(),e.StatusTime,e.ActualDuration,e.ActualStart,e.ActualFinish,e.RemainingTime,e.Completion]},2771591690:function(e){var t;return[e.Name,e.DataOrigin,e.UserDefinedDataOrigin,e.DurationType,e.ScheduleDuration,e.ScheduleStart,e.ScheduleFinish,e.EarlyStart,e.EarlyFinish,e.LateStart,e.LateFinish,e.FreeFloat,e.TotalFloat,null==(t=e.IsCritical)?void 0:t.toString(),e.StatusTime,e.ActualDuration,e.ActualStart,e.ActualFinish,e.RemainingTime,e.Completion,e.Recurrence]},912023232:function(e){return[e.Purpose,e.Description,e.UserDefinedPurpose,e.TelephoneNumbers,e.FacsimileNumbers,e.PagerNumber,e.ElectronicMailAddresses,e.WWWHomePageURL,e.MessagingIDs]},1447204868:function(e){var t;return[e.Name,e.TextCharacterAppearance,e.TextStyle,e.TextFontStyle,null==(t=e.ModelOrDraughting)?void 0:t.toString()]},2636378356:function(e){return[e.Colour,e.BackgroundColour]},1640371178:function(e){return[e.TextIndent?Y_(e.TextIndent):null,e.TextAlign,e.TextDecoration,e.LetterSpacing?Y_(e.LetterSpacing):null,e.WordSpacing?Y_(e.WordSpacing):null,e.TextTransform,e.LineHeight?Y_(e.LineHeight):null]},280115917:function(e){return[e.Maps]},1742049831:function(e){return[e.Maps,e.Mode,e.Parameter]},222769930:function(e){return[e.TexCoordIndex,e.TexCoordsOf]},1010789467:function(e){return[e.TexCoordIndex,e.TexCoordsOf,e.InnerTexCoordIndices]},2552916305:function(e){return[e.Maps,e.Vertices,e.MappedTo]},1210645708:function(e){return[e.Coordinates]},3611470254:function(e){return[e.TexCoordsList]},1199560280:function(e){return[e.StartTime,e.EndTime]},3101149627:function(e){return[e.Name,e.Description,e.StartTime,e.EndTime,e.TimeSeriesDataType,e.DataOrigin,e.UserDefinedDataOrigin,e.Unit]},581633288:function(e){return[e.ListValues.map((function(e){return Y_(e)}))]},1377556343:function(e){return[]},1735638870:function(e){return[e.ContextOfItems,e.RepresentationIdentifier,e.RepresentationType,e.Items]},180925521:function(e){return[e.Units]},2799835756:function(e){return[]},1907098498:function(e){return[e.VertexGeometry]},891718957:function(e){return[e.IntersectingAxes,e.OffsetDistances]},1236880293:function(e){return[e.Name,e.DataOrigin,e.UserDefinedDataOrigin,e.RecurrencePattern,e.StartDate,e.FinishDate]},3752311538:function(e){return[e.StartTag,e.EndTag,e.StartDistAlong,e.HorizontalLength,e.StartCantLeft,e.EndCantLeft,e.StartCantRight,e.EndCantRight,e.PredefinedType]},536804194:function(e){return[e.StartTag,e.EndTag,e.StartPoint,e.StartDirection,e.StartRadiusOfCurvature,e.EndRadiusOfCurvature,e.SegmentLength,e.GravityCenterLineHeight,e.PredefinedType]},3869604511:function(e){return[e.Name,e.Description,e.RelatingApproval,e.RelatedApprovals]},3798115385:function(e){return[e.ProfileType,e.ProfileName,e.OuterCurve]},1310608509:function(e){return[e.ProfileType,e.ProfileName,e.Curve]},2705031697:function(e){return[e.ProfileType,e.ProfileName,e.OuterCurve,e.InnerCurves]},616511568:function(e){var t,n;return[null==(t=e.RepeatS)?void 0:t.toString(),null==(n=e.RepeatT)?void 0:n.toString(),e.Mode,e.TextureTransform,e.Parameter,e.RasterFormat,e.RasterCode]},3150382593:function(e){return[e.ProfileType,e.ProfileName,e.Curve,e.Thickness]},747523909:function(e){return[e.Source,e.Edition,e.EditionDate,e.Name,e.Description,e.Specification,e.ReferenceTokens]},647927063:function(e){return[e.Location,e.Identification,e.Name,e.ReferencedSource,e.Description,e.Sort]},3285139300:function(e){return[e.ColourList]},3264961684:function(e){return[e.Name]},1485152156:function(e){return[e.ProfileType,e.ProfileName,e.Profiles,e.Label]},370225590:function(e){return[e.CfsFaces]},1981873012:function(e){return[e.CurveOnRelatingElement,e.CurveOnRelatedElement]},45288368:function(e){return[e.PointOnRelatingElement,e.PointOnRelatedElement,e.EccentricityInX,e.EccentricityInY,e.EccentricityInZ]},3050246964:function(e){return[e.Dimensions,e.UnitType,e.Name]},2889183280:function(e){return[e.Dimensions,e.UnitType,e.Name,e.ConversionFactor]},2713554722:function(e){return[e.Dimensions,e.UnitType,e.Name,e.ConversionFactor,e.ConversionOffset]},539742890:function(e){return[e.Name,e.Description,e.RelatingMonetaryUnit,e.RelatedMonetaryUnit,e.ExchangeRate,e.RateDateTime,e.RateSource]},3800577675:function(e){var t;return[e.Name,e.CurveFont,e.CurveWidth?Y_(e.CurveWidth):null,e.CurveColour,null==(t=e.ModelOrDraughting)?void 0:t.toString()]},1105321065:function(e){return[e.Name,e.PatternList]},2367409068:function(e){return[e.Name,e.CurveStyleFont,e.CurveFontScaling]},3510044353:function(e){return[e.VisibleSegmentLength,e.InvisibleSegmentLength]},3632507154:function(e){return[e.ProfileType,e.ProfileName,e.ParentProfile,e.Operator,e.Label]},1154170062:function(e){return[e.Identification,e.Name,e.Description,e.Location,e.Purpose,e.IntendedUse,e.Scope,e.Revision,e.DocumentOwner,e.Editors,e.CreationTime,e.LastRevisionTime,e.ElectronicFormat,e.ValidFrom,e.ValidUntil,e.Confidentiality,e.Status]},770865208:function(e){return[e.Name,e.Description,e.RelatingDocument,e.RelatedDocuments,e.RelationshipType]},3732053477:function(e){return[e.Location,e.Identification,e.Name,e.Description,e.ReferencedDocument]},3900360178:function(e){return[e.EdgeStart,e.EdgeEnd]},476780140:function(e){var t;return[e.EdgeStart,e.EdgeEnd,e.EdgeGeometry,null==(t=e.SameSense)?void 0:t.toString()]},211053100:function(e){return[e.Name,e.DataOrigin,e.UserDefinedDataOrigin,e.ActualDate,e.EarlyDate,e.LateDate,e.ScheduleDate]},297599258:function(e){return[e.Name,e.Description,e.Properties]},1437805879:function(e){return[e.Name,e.Description,e.RelatingReference,e.RelatedResourceObjects]},2556980723:function(e){return[e.Bounds]},1809719519:function(e){var t;return[e.Bound,null==(t=e.Orientation)?void 0:t.toString()]},803316827:function(e){var t;return[e.Bound,null==(t=e.Orientation)?void 0:t.toString()]},3008276851:function(e){var t;return[e.Bounds,e.FaceSurface,null==(t=e.SameSense)?void 0:t.toString()]},4219587988:function(e){return[e.Name,e.TensionFailureX,e.TensionFailureY,e.TensionFailureZ,e.CompressionFailureX,e.CompressionFailureY,e.CompressionFailureZ]},738692330:function(e){var t;return[e.Name,e.FillStyles,null==(t=e.ModelOrDraughting)?void 0:t.toString()]},3448662350:function(e){return[e.ContextIdentifier,e.ContextType,e.CoordinateSpaceDimension,e.Precision,e.WorldCoordinateSystem,e.TrueNorth]},2453401579:function(e){return[]},4142052618:function(e){return[e.ContextIdentifier,e.ContextType,e.CoordinateSpaceDimension,e.Precision,e.WorldCoordinateSystem,e.TrueNorth,e.ParentContext,e.TargetScale,e.TargetView,e.UserDefinedTargetView]},3590301190:function(e){return[e.Elements]},178086475:function(e){return[e.PlacementRelTo,e.PlacementLocation,e.PlacementRefDirection]},812098782:function(e){var t;return[e.BaseSurface,null==(t=e.AgreementFlag)?void 0:t.toString()]},3905492369:function(e){var t,n;return[null==(t=e.RepeatS)?void 0:t.toString(),null==(n=e.RepeatT)?void 0:n.toString(),e.Mode,e.TextureTransform,e.Parameter,e.URLReference]},3570813810:function(e){return[e.MappedTo,e.Opacity,e.Colours,e.ColourIndex]},1437953363:function(e){return[e.Maps,e.MappedTo,e.TexCoords]},2133299955:function(e){return[e.Maps,e.MappedTo,e.TexCoords,e.TexCoordIndex]},3741457305:function(e){return[e.Name,e.Description,e.StartTime,e.EndTime,e.TimeSeriesDataType,e.DataOrigin,e.UserDefinedDataOrigin,e.Unit,e.Values]},1585845231:function(e){return[e.Name,e.DataOrigin,e.UserDefinedDataOrigin,Y_(e.LagValue),e.DurationType]},1402838566:function(e){return[e.Name,e.LightColour,e.AmbientIntensity,e.Intensity]},125510826:function(e){return[e.Name,e.LightColour,e.AmbientIntensity,e.Intensity]},2604431987:function(e){return[e.Name,e.LightColour,e.AmbientIntensity,e.Intensity,e.Orientation]},4266656042:function(e){return[e.Name,e.LightColour,e.AmbientIntensity,e.Intensity,e.Position,e.ColourAppearance,e.ColourTemperature,e.LuminousFlux,e.LightEmissionSource,e.LightDistributionDataSource]},1520743889:function(e){return[e.Name,e.LightColour,e.AmbientIntensity,e.Intensity,e.Position,e.Radius,e.ConstantAttenuation,e.DistanceAttenuation,e.QuadricAttenuation]},3422422726:function(e){return[e.Name,e.LightColour,e.AmbientIntensity,e.Intensity,e.Position,e.Radius,e.ConstantAttenuation,e.DistanceAttenuation,e.QuadricAttenuation,e.Orientation,e.ConcentrationExponent,e.SpreadAngle,e.BeamWidthAngle]},388784114:function(e){return[e.PlacementRelTo,e.RelativePlacement,e.CartesianPosition]},2624227202:function(e){return[e.PlacementRelTo,e.RelativePlacement]},1008929658:function(e){return[]},2347385850:function(e){return[e.MappingSource,e.MappingTarget]},1838606355:function(e){return[e.Name,e.Description,e.Category]},3708119e3:function(e){return[e.Name,e.Description,e.Material,e.Fraction,e.Category]},2852063980:function(e){return[e.Name,e.Description,e.MaterialConstituents]},2022407955:function(e){return[e.Name,e.Description,e.Representations,e.RepresentedMaterial]},1303795690:function(e){return[e.ForLayerSet,e.LayerSetDirection,e.DirectionSense,e.OffsetFromReferenceLine,e.ReferenceExtent]},3079605661:function(e){return[e.ForProfileSet,e.CardinalPoint,e.ReferenceExtent]},3404854881:function(e){return[e.ForProfileSet,e.CardinalPoint,e.ReferenceExtent,e.ForProfileEndSet,e.CardinalEndPoint]},3265635763:function(e){return[e.Name,e.Description,e.Properties,e.Material]},853536259:function(e){return[e.Name,e.Description,e.RelatingMaterial,e.RelatedMaterials,e.MaterialExpression]},2998442950:function(e){return[e.ProfileType,e.ProfileName,e.ParentProfile,e.Operator,e.Label]},219451334:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description]},182550632:function(e){var t;return[e.ProfileType,e.ProfileName,null==(t=e.HorizontalWidths)?void 0:t.toString(),e.Widths,e.Slopes,e.Tags,e.OffsetPoint]},2665983363:function(e){return[e.CfsFaces]},1411181986:function(e){return[e.Name,e.Description,e.RelatingOrganization,e.RelatedOrganizations]},1029017970:function(e){var t;return[e.EdgeStart,e.EdgeEnd,e.EdgeElement,null==(t=e.Orientation)?void 0:t.toString()]},2529465313:function(e){return[e.ProfileType,e.ProfileName,e.Position]},2519244187:function(e){return[e.EdgeList]},3021840470:function(e){return[e.Name,e.Description,e.HasQuantities,e.Discrimination,e.Quality,e.Usage]},597895409:function(e){var t,n;return[null==(t=e.RepeatS)?void 0:t.toString(),null==(n=e.RepeatT)?void 0:n.toString(),e.Mode,e.TextureTransform,e.Parameter,e.Width,e.Height,e.ColourComponents,e.Pixel]},2004835150:function(e){return[e.Location]},1663979128:function(e){return[e.SizeInX,e.SizeInY]},2067069095:function(e){return[]},2165702409:function(e){return[Y_(e.DistanceAlong),e.OffsetLateral,e.OffsetVertical,e.OffsetLongitudinal,e.BasisCurve]},4022376103:function(e){return[e.BasisCurve,e.PointParameter]},1423911732:function(e){return[e.BasisSurface,e.PointParameterU,e.PointParameterV]},2924175390:function(e){return[e.Polygon]},2775532180:function(e){var t;return[e.BaseSurface,null==(t=e.AgreementFlag)?void 0:t.toString(),e.Position,e.PolygonalBoundary]},3727388367:function(e){return[e.Name]},3778827333:function(e){return[]},1775413392:function(e){return[e.Name]},673634403:function(e){return[e.Name,e.Description,e.Representations]},2802850158:function(e){return[e.Name,e.Description,e.Properties,e.ProfileDefinition]},2598011224:function(e){return[e.Name,e.Specification]},1680319473:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description]},148025276:function(e){return[e.Name,e.Description,e.DependingProperty,e.DependantProperty,e.Expression]},3357820518:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description]},1482703590:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description]},2090586900:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description]},3615266464:function(e){return[e.ProfileType,e.ProfileName,e.Position,e.XDim,e.YDim]},3413951693:function(e){return[e.Name,e.Description,e.StartTime,e.EndTime,e.TimeSeriesDataType,e.DataOrigin,e.UserDefinedDataOrigin,e.Unit,e.TimeStep,e.Values]},1580146022:function(e){return[e.TotalCrossSectionArea,e.SteelGrade,e.BarSurface,e.EffectiveDepth,e.NominalBarDiameter,e.BarCount]},478536968:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description]},2943643501:function(e){return[e.Name,e.Description,e.RelatedResourceObjects,e.RelatingApproval]},1608871552:function(e){return[e.Name,e.Description,e.RelatingConstraint,e.RelatedResourceObjects]},1042787934:function(e){var t;return[e.Name,e.DataOrigin,e.UserDefinedDataOrigin,e.ScheduleWork,e.ScheduleUsage,e.ScheduleStart,e.ScheduleFinish,e.ScheduleContour,e.LevelingDelay,null==(t=e.IsOverAllocated)?void 0:t.toString(),e.StatusTime,e.ActualWork,e.ActualUsage,e.ActualStart,e.ActualFinish,e.RemainingWork,e.RemainingUsage,e.Completion]},2778083089:function(e){return[e.ProfileType,e.ProfileName,e.Position,e.XDim,e.YDim,e.RoundingRadius]},2042790032:function(e){return[e.SectionType,e.StartProfile,e.EndProfile]},4165799628:function(e){return[e.LongitudinalStartPosition,e.LongitudinalEndPosition,e.TransversePosition,e.ReinforcementRole,e.SectionDefinition,e.CrossSectionReinforcementDefinitions]},1509187699:function(e){return[e.SpineCurve,e.CrossSections,e.CrossSectionPositions]},823603102:function(e){return[e.Transition]},4124623270:function(e){return[e.SbsmBoundary]},3692461612:function(e){return[e.Name,e.Specification]},2609359061:function(e){return[e.Name,e.SlippageX,e.SlippageY,e.SlippageZ]},723233188:function(e){return[]},1595516126:function(e){return[e.Name,e.LinearForceX,e.LinearForceY,e.LinearForceZ,e.LinearMomentX,e.LinearMomentY,e.LinearMomentZ]},2668620305:function(e){return[e.Name,e.PlanarForceX,e.PlanarForceY,e.PlanarForceZ]},2473145415:function(e){return[e.Name,e.DisplacementX,e.DisplacementY,e.DisplacementZ,e.RotationalDisplacementRX,e.RotationalDisplacementRY,e.RotationalDisplacementRZ]},1973038258:function(e){return[e.Name,e.DisplacementX,e.DisplacementY,e.DisplacementZ,e.RotationalDisplacementRX,e.RotationalDisplacementRY,e.RotationalDisplacementRZ,e.Distortion]},1597423693:function(e){return[e.Name,e.ForceX,e.ForceY,e.ForceZ,e.MomentX,e.MomentY,e.MomentZ]},1190533807:function(e){return[e.Name,e.ForceX,e.ForceY,e.ForceZ,e.MomentX,e.MomentY,e.MomentZ,e.WarpingMoment]},2233826070:function(e){return[e.EdgeStart,e.EdgeEnd,e.ParentEdge]},2513912981:function(e){return[]},1878645084:function(e){return[e.SurfaceColour,e.Transparency,e.DiffuseColour,e.TransmissionColour,e.DiffuseTransmissionColour,e.ReflectionColour,e.SpecularColour,e.SpecularHighlight?Y_(e.SpecularHighlight):null,e.ReflectanceMethod]},2247615214:function(e){return[e.SweptArea,e.Position]},1260650574:function(e){return[e.Directrix,e.Radius,e.InnerRadius,e.StartParam,e.EndParam]},1096409881:function(e){return[e.Directrix,e.Radius,e.InnerRadius,e.StartParam,e.EndParam,e.FilletRadius]},230924584:function(e){return[e.SweptCurve,e.Position]},3071757647:function(e){return[e.ProfileType,e.ProfileName,e.Position,e.Depth,e.FlangeWidth,e.WebThickness,e.FlangeThickness,e.FilletRadius,e.FlangeEdgeRadius,e.WebEdgeRadius,e.WebSlope,e.FlangeSlope]},901063453:function(e){return[]},4282788508:function(e){return[e.Literal,e.Placement,e.Path]},3124975700:function(e){return[e.Literal,e.Placement,e.Path,e.Extent,e.BoxAlignment]},1983826977:function(e){return[e.Name,e.FontFamily,e.FontStyle,e.FontVariant,e.FontWeight,Y_(e.FontSize)]},2715220739:function(e){return[e.ProfileType,e.ProfileName,e.Position,e.BottomXDim,e.TopXDim,e.YDim,e.TopXOffset]},1628702193:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets]},3736923433:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.Identification,e.LongDescription,e.ProcessType]},2347495698:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag]},3698973494:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.Identification,e.LongDescription,e.ResourceType]},427810014:function(e){return[e.ProfileType,e.ProfileName,e.Position,e.Depth,e.FlangeWidth,e.WebThickness,e.FlangeThickness,e.FilletRadius,e.EdgeRadius,e.FlangeSlope]},1417489154:function(e){return[e.Orientation,e.Magnitude]},2759199220:function(e){return[e.LoopVertex]},2543172580:function(e){return[e.ProfileType,e.ProfileName,e.Position,e.Depth,e.FlangeWidth,e.WebThickness,e.FlangeThickness,e.FilletRadius,e.EdgeRadius]},3406155212:function(e){var t;return[e.Bounds,e.FaceSurface,null==(t=e.SameSense)?void 0:t.toString()]},669184980:function(e){return[e.OuterBoundary,e.InnerBoundaries]},3207858831:function(e){return[e.ProfileType,e.ProfileName,e.Position,e.BottomFlangeWidth,e.OverallDepth,e.WebThickness,e.BottomFlangeThickness,e.BottomFlangeFilletRadius,e.TopFlangeWidth,e.TopFlangeThickness,e.TopFlangeFilletRadius,e.BottomFlangeEdgeRadius,e.BottomFlangeSlope,e.TopFlangeEdgeRadius,e.TopFlangeSlope]},4261334040:function(e){return[e.Location,e.Axis]},3125803723:function(e){return[e.Location,e.RefDirection]},2740243338:function(e){return[e.Location,e.Axis,e.RefDirection]},3425423356:function(e){return[e.Location,e.Axis,e.RefDirection]},2736907675:function(e){return[e.Operator,e.FirstOperand,e.SecondOperand]},4182860854:function(e){return[]},2581212453:function(e){return[e.Corner,e.XDim,e.YDim,e.ZDim]},2713105998:function(e){var t;return[e.BaseSurface,null==(t=e.AgreementFlag)?void 0:t.toString(),e.Enclosure]},2898889636:function(e){return[e.ProfileType,e.ProfileName,e.Position,e.Depth,e.Width,e.WallThickness,e.Girth,e.InternalFilletRadius]},1123145078:function(e){return[e.Coordinates]},574549367:function(e){return[]},1675464909:function(e){return[e.CoordList,e.TagList]},2059837836:function(e){return[e.CoordList,e.TagList]},59481748:function(e){return[e.Axis1,e.Axis2,e.LocalOrigin,e.Scale]},3749851601:function(e){return[e.Axis1,e.Axis2,e.LocalOrigin,e.Scale]},3486308946:function(e){return[e.Axis1,e.Axis2,e.LocalOrigin,e.Scale,e.Scale2]},3331915920:function(e){return[e.Axis1,e.Axis2,e.LocalOrigin,e.Scale,e.Axis3]},1416205885:function(e){return[e.Axis1,e.Axis2,e.LocalOrigin,e.Scale,e.Axis3,e.Scale2,e.Scale3]},1383045692:function(e){return[e.ProfileType,e.ProfileName,e.Position,e.Radius]},2205249479:function(e){return[e.CfsFaces]},776857604:function(e){return[e.Name,e.Red,e.Green,e.Blue]},2542286263:function(e){return[e.Name,e.Specification,e.UsageName,e.HasProperties]},2485617015:function(e){var t;return[e.Transition,null==(t=e.SameSense)?void 0:t.toString(),e.ParentCurve]},2574617495:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.Identification,e.LongDescription,e.ResourceType,e.BaseCosts,e.BaseQuantity]},3419103109:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.LongName,e.Phase,e.RepresentationContexts,e.UnitsInContext]},1815067380:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.Identification,e.LongDescription,e.ResourceType,e.BaseCosts,e.BaseQuantity,e.PredefinedType]},2506170314:function(e){return[e.Position]},2147822146:function(e){return[e.TreeRootExpression]},2601014836:function(e){return[]},2827736869:function(e){return[e.BasisSurface,e.OuterBoundary,e.InnerBoundaries]},2629017746:function(e){var t;return[e.BasisSurface,e.Boundaries,null==(t=e.ImplicitOuter)?void 0:t.toString()]},4212018352:function(e){return[e.Transition,e.Placement,Y_(e.SegmentStart),Y_(e.SegmentLength),e.ParentCurve]},32440307:function(e){return[e.DirectionRatios]},593015953:function(e){return[e.SweptArea,e.Position,e.Directrix,e.StartParam?Y_(e.StartParam):null,e.EndParam?Y_(e.EndParam):null]},1472233963:function(e){return[e.EdgeList]},1883228015:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.MethodOfMeasurement,e.Quantities]},339256511:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType]},2777663545:function(e){return[e.Position]},2835456948:function(e){return[e.ProfileType,e.ProfileName,e.Position,e.SemiAxis1,e.SemiAxis2]},4024345920:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.Identification,e.LongDescription,e.ProcessType,e.PredefinedType,e.EventTriggerType,e.UserDefinedEventTriggerType]},477187591:function(e){return[e.SweptArea,e.Position,e.ExtrudedDirection,e.Depth]},2804161546:function(e){return[e.SweptArea,e.Position,e.ExtrudedDirection,e.Depth,e.EndSweptArea]},2047409740:function(e){return[e.FbsmFaces]},374418227:function(e){return[e.HatchLineAppearance,e.StartOfNextHatchLine,e.PointOfReferenceHatchLine,e.PatternStart,e.HatchLineAngle]},315944413:function(e){return[e.TilingPattern,e.Tiles,e.TilingScale]},2652556860:function(e){return[e.SweptArea,e.Position,e.Directrix,e.StartParam?Y_(e.StartParam):null,e.EndParam?Y_(e.EndParam):null,e.FixedReference]},4238390223:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType]},1268542332:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.AssemblyPlace,e.PredefinedType]},4095422895:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},987898635:function(e){return[e.Elements]},1484403080:function(e){return[e.ProfileType,e.ProfileName,e.Position,e.OverallWidth,e.OverallDepth,e.WebThickness,e.FlangeThickness,e.FilletRadius,e.FlangeEdgeRadius,e.FlangeSlope]},178912537:function(e){return[e.CoordIndex]},2294589976:function(e){return[e.CoordIndex,e.InnerCoordIndices]},3465909080:function(e){return[e.Maps,e.MappedTo,e.TexCoords,e.TexCoordIndices]},572779678:function(e){return[e.ProfileType,e.ProfileName,e.Position,e.Depth,e.Width,e.Thickness,e.FilletRadius,e.EdgeRadius,e.LegSlope]},428585644:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.Identification,e.LongDescription,e.ResourceType,e.BaseCosts,e.BaseQuantity,e.PredefinedType]},1281925730:function(e){return[e.Pnt,e.Dir]},1425443689:function(e){return[e.Outer]},3888040117:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType]},590820931:function(e){return[e.BasisCurve]},3388369263:function(e){var t;return[e.BasisCurve,e.Distance,null==(t=e.SelfIntersect)?void 0:t.toString()]},3505215534:function(e){var t;return[e.BasisCurve,e.Distance,null==(t=e.SelfIntersect)?void 0:t.toString(),e.RefDirection]},2485787929:function(e){return[e.BasisCurve,e.OffsetValues,e.Tag]},1682466193:function(e){return[e.BasisSurface,e.ReferenceCurve]},603570806:function(e){return[e.SizeInX,e.SizeInY,e.Placement]},220341763:function(e){return[e.Position]},3381221214:function(e){return[e.Position,e.CoefficientsX,e.CoefficientsY,e.CoefficientsZ]},759155922:function(e){return[e.Name]},2559016684:function(e){return[e.Name]},3967405729:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description]},569719735:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.Identification,e.LongDescription,e.ProcessType,e.PredefinedType]},2945172077:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.Identification,e.LongDescription]},4208778838:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation]},103090709:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.LongName,e.Phase,e.RepresentationContexts,e.UnitsInContext]},653396225:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.LongName,e.Phase,e.RepresentationContexts,e.UnitsInContext]},871118103:function(e){return[e.Name,e.Specification,e.UpperBoundValue?Y_(e.UpperBoundValue):null,e.LowerBoundValue?Y_(e.LowerBoundValue):null,e.Unit,e.SetPointValue?Y_(e.SetPointValue):null]},4166981789:function(e){return[e.Name,e.Specification,e.EnumerationValues?e.EnumerationValues.map((function(e){return Y_(e)})):null,e.EnumerationReference]},2752243245:function(e){return[e.Name,e.Specification,e.ListValues?e.ListValues.map((function(e){return Y_(e)})):null,e.Unit]},941946838:function(e){return[e.Name,e.Specification,e.UsageName,e.PropertyReference]},1451395588:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.HasProperties]},492091185:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.TemplateType,e.ApplicableEntity,e.HasPropertyTemplates]},3650150729:function(e){return[e.Name,e.Specification,e.NominalValue?Y_(e.NominalValue):null,e.Unit]},110355661:function(e){return[e.Name,e.Specification,e.DefiningValues?e.DefiningValues.map((function(e){return Y_(e)})):null,e.DefinedValues?e.DefinedValues.map((function(e){return Y_(e)})):null,e.Expression,e.DefiningUnit,e.DefinedUnit,e.CurveInterpolation]},3521284610:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description]},2770003689:function(e){return[e.ProfileType,e.ProfileName,e.Position,e.XDim,e.YDim,e.WallThickness,e.InnerFilletRadius,e.OuterFilletRadius]},2798486643:function(e){return[e.Position,e.XLength,e.YLength,e.Height]},3454111270:function(e){var t,n;return[e.BasisSurface,e.U1,e.V1,e.U2,e.V2,null==(t=e.Usense)?void 0:t.toString(),null==(n=e.Vsense)?void 0:n.toString()]},3765753017:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.DefinitionType,e.ReinforcementSectionDefinitions]},3939117080:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatedObjects,e.RelatedObjectsType]},1683148259:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatedObjects,e.RelatedObjectsType,e.RelatingActor,e.ActingRole]},2495723537:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatedObjects,e.RelatedObjectsType,e.RelatingControl]},1307041759:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatedObjects,e.RelatedObjectsType,e.RelatingGroup]},1027710054:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatedObjects,e.RelatedObjectsType,e.RelatingGroup,e.Factor]},4278684876:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatedObjects,e.RelatedObjectsType,e.RelatingProcess,e.QuantityInProcess]},2857406711:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatedObjects,e.RelatedObjectsType,e.RelatingProduct]},205026976:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatedObjects,e.RelatedObjectsType,e.RelatingResource]},1865459582:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatedObjects]},4095574036:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatedObjects,e.RelatingApproval]},919958153:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatedObjects,e.RelatingClassification]},2728634034:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatedObjects,e.Intent,e.RelatingConstraint]},982818633:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatedObjects,e.RelatingDocument]},3840914261:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatedObjects,e.RelatingLibrary]},2655215786:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatedObjects,e.RelatingMaterial]},1033248425:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatedObjects,e.RelatingProfileDef]},826625072:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description]},1204542856:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ConnectionGeometry,e.RelatingElement,e.RelatedElement]},3945020480:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ConnectionGeometry,e.RelatingElement,e.RelatedElement,e.RelatingPriorities,e.RelatedPriorities,e.RelatedConnectionType,e.RelatingConnectionType]},4201705270:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatingPort,e.RelatedElement]},3190031847:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatingPort,e.RelatedPort,e.RealizingElement]},2127690289:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatingElement,e.RelatedStructuralActivity]},1638771189:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatingStructuralMember,e.RelatedStructuralConnection,e.AppliedCondition,e.AdditionalConditions,e.SupportedLength,e.ConditionCoordinateSystem]},504942748:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatingStructuralMember,e.RelatedStructuralConnection,e.AppliedCondition,e.AdditionalConditions,e.SupportedLength,e.ConditionCoordinateSystem,e.ConnectionConstraint]},3678494232:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ConnectionGeometry,e.RelatingElement,e.RelatedElement,e.RealizingElements,e.ConnectionType]},3242617779:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatedElements,e.RelatingStructure]},886880790:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatingBuildingElement,e.RelatedCoverings]},2802773753:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatingSpace,e.RelatedCoverings]},2565941209:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatingContext,e.RelatedDefinitions]},2551354335:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description]},693640335:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description]},1462361463:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatedObjects,e.RelatingObject]},4186316022:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatedObjects,e.RelatingPropertyDefinition]},307848117:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatedPropertySets,e.RelatingTemplate]},781010003:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatedObjects,e.RelatingType]},3940055652:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatingOpeningElement,e.RelatedBuildingElement]},279856033:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatedControlElements,e.RelatingFlowElement]},427948657:function(e){var t;return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatingElement,e.RelatedElement,e.InterferenceGeometry,e.InterferenceSpace,e.InterferenceType,null==(t=e.ImpliedOrder)?void 0:t.toString()]},3268803585:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatingObject,e.RelatedObjects]},1441486842:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatingPositioningElement,e.RelatedProducts]},750771296:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatingElement,e.RelatedFeatureElement]},1245217292:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatedElements,e.RelatingStructure]},4122056220:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatingProcess,e.RelatedProcess,e.TimeLag,e.SequenceType,e.UserDefinedSequenceType]},366585022:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatingSystem,e.RelatedBuildings]},3451746338:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatingSpace,e.RelatedBuildingElement,e.ConnectionGeometry,e.PhysicalOrVirtualBoundary,e.InternalOrExternalBoundary]},3523091289:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatingSpace,e.RelatedBuildingElement,e.ConnectionGeometry,e.PhysicalOrVirtualBoundary,e.InternalOrExternalBoundary,e.ParentBoundary]},1521410863:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatingSpace,e.RelatedBuildingElement,e.ConnectionGeometry,e.PhysicalOrVirtualBoundary,e.InternalOrExternalBoundary,e.ParentBoundary,e.CorrespondingBoundary]},1401173127:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatingBuildingElement,e.RelatedOpeningElement]},816062949:function(e){var t;return[e.Transition,null==(t=e.SameSense)?void 0:t.toString(),e.ParentCurve,e.ParamLength]},2914609552:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.Identification,e.LongDescription]},1856042241:function(e){return[e.SweptArea,e.Position,e.Axis,e.Angle]},3243963512:function(e){return[e.SweptArea,e.Position,e.Axis,e.Angle,e.EndSweptArea]},4158566097:function(e){return[e.Position,e.Height,e.BottomRadius]},3626867408:function(e){return[e.Position,e.Height,e.Radius]},1862484736:function(e){return[e.Directrix,e.CrossSections]},1290935644:function(e){return[e.Directrix,e.CrossSections,e.CrossSectionPositions]},1356537516:function(e){return[e.Directrix,e.CrossSectionPositions,e.CrossSections]},3663146110:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.TemplateType,e.PrimaryMeasureType,e.SecondaryMeasureType,e.Enumerators,e.PrimaryUnit,e.SecondaryUnit,e.Expression,e.AccessState]},1412071761:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.LongName]},710998568:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType]},2706606064:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.LongName,e.CompositionType]},3893378262:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType]},463610769:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.LongName,e.PredefinedType]},2481509218:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType,e.LongName]},451544542:function(e){return[e.Position,e.Radius]},4015995234:function(e){return[e.Position,e.Radius]},2735484536:function(e){return[e.Position]},3544373492:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.AppliedLoad,e.GlobalOrLocal]},3136571912:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation]},530289379:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation]},3689010777:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.AppliedLoad,e.GlobalOrLocal]},3979015343:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.PredefinedType,e.Thickness]},2218152070:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.PredefinedType,e.Thickness]},603775116:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.AppliedLoad,e.GlobalOrLocal,e.PredefinedType]},4095615324:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.Identification,e.LongDescription,e.ResourceType,e.BaseCosts,e.BaseQuantity,e.PredefinedType]},699246055:function(e){return[e.Curve3D,e.AssociatedGeometry,e.MasterRepresentation]},2028607225:function(e){return[e.SweptArea,e.Position,e.Directrix,e.StartParam?Y_(e.StartParam):null,e.EndParam?Y_(e.EndParam):null,e.ReferenceSurface]},2809605785:function(e){return[e.SweptCurve,e.Position,e.ExtrudedDirection,e.Depth]},4124788165:function(e){return[e.SweptCurve,e.Position,e.AxisPosition]},1580310250:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},3473067441:function(e){var t;return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.Identification,e.LongDescription,e.Status,e.WorkMethod,null==(t=e.IsMilestone)?void 0:t.toString(),e.Priority,e.TaskTime,e.PredefinedType]},3206491090:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.Identification,e.LongDescription,e.ProcessType,e.PredefinedType,e.WorkMethod]},2387106220:function(e){var t;return[e.Coordinates,null==(t=e.Closed)?void 0:t.toString()]},782932809:function(e){return[e.Position,e.CubicTerm,e.QuadraticTerm,e.LinearTerm,e.ConstantTerm]},1935646853:function(e){return[e.Position,e.MajorRadius,e.MinorRadius]},3665877780:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType]},2916149573:function(e){var t;return[e.Coordinates,null==(t=e.Closed)?void 0:t.toString(),e.Normals,e.CoordIndex,e.PnIndex]},1229763772:function(e){var t;return[e.Coordinates,null==(t=e.Closed)?void 0:t.toString(),e.Normals,e.CoordIndex,e.PnIndex,e.Flags]},3651464721:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},336235671:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.LiningDepth,e.LiningThickness,e.TransomThickness,e.MullionThickness,e.FirstTransomOffset,e.SecondTransomOffset,e.FirstMullionOffset,e.SecondMullionOffset,e.ShapeAspectStyle,e.LiningOffset,e.LiningToPanelOffsetX,e.LiningToPanelOffsetY]},512836454:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.OperationType,e.PanelPosition,e.FrameDepth,e.FrameThickness,e.ShapeAspectStyle]},2296667514:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.TheActor]},1635779807:function(e){return[e.Outer]},2603310189:function(e){return[e.Outer,e.Voids]},1674181508:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.PredefinedType]},2887950389:function(e){var t,n,r;return[e.UDegree,e.VDegree,e.ControlPointsList,e.SurfaceForm,null==(t=e.UClosed)?void 0:t.toString(),null==(n=e.VClosed)?void 0:n.toString(),null==(r=e.SelfIntersect)?void 0:r.toString()]},167062518:function(e){var t,n,r;return[e.UDegree,e.VDegree,e.ControlPointsList,e.SurfaceForm,null==(t=e.UClosed)?void 0:t.toString(),null==(n=e.VClosed)?void 0:n.toString(),null==(r=e.SelfIntersect)?void 0:r.toString(),e.UMultiplicities,e.VMultiplicities,e.UKnots,e.VKnots,e.KnotSpec]},1334484129:function(e){return[e.Position,e.XLength,e.YLength,e.ZLength]},3649129432:function(e){return[e.Operator,e.FirstOperand,e.SecondOperand]},1260505505:function(e){return[]},3124254112:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.LongName,e.CompositionType,e.Elevation]},1626504194:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType]},2197970202:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},2937912522:function(e){return[e.ProfileType,e.ProfileName,e.Position,e.Radius,e.WallThickness]},3893394355:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType]},3497074424:function(e){return[e.Position,e.ClothoidConstant]},300633059:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},3875453745:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.UsageName,e.TemplateType,e.HasPropertyTemplates]},3732776249:function(e){var t;return[e.Segments,null==(t=e.SelfIntersect)?void 0:t.toString()]},15328376:function(e){var t;return[e.Segments,null==(t=e.SelfIntersect)?void 0:t.toString()]},2510884976:function(e){return[e.Position]},2185764099:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.Identification,e.LongDescription,e.ResourceType,e.BaseCosts,e.BaseQuantity,e.PredefinedType]},4105962743:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.Identification,e.LongDescription,e.ResourceType,e.BaseCosts,e.BaseQuantity,e.PredefinedType]},1525564444:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.Identification,e.LongDescription,e.ResourceType,e.BaseCosts,e.BaseQuantity,e.PredefinedType]},2559216714:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.Identification,e.LongDescription,e.Usage,e.BaseCosts,e.BaseQuantity]},3293443760:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.Identification]},2000195564:function(e){return[e.Position,e.CosineTerm,e.ConstantTerm]},3895139033:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.Identification,e.PredefinedType,e.CostValues,e.CostQuantities]},1419761937:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.Identification,e.PredefinedType,e.Status,e.SubmittedOn,e.UpdateDate]},4189326743:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},1916426348:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},3295246426:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.Identification,e.LongDescription,e.Usage,e.BaseCosts,e.BaseQuantity,e.PredefinedType]},1457835157:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},1213902940:function(e){return[e.Position,e.Radius]},1306400036:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType]},4234616927:function(e){return[e.SweptArea,e.Position,e.Directrix,e.StartParam?Y_(e.StartParam):null,e.EndParam?Y_(e.EndParam):null,e.FixedReference]},3256556792:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType]},3849074793:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType]},2963535650:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.LiningDepth,e.LiningThickness,e.ThresholdDepth,e.ThresholdThickness,e.TransomThickness,e.TransomOffset,e.LiningOffset,e.ThresholdOffset,e.CasingThickness,e.CasingDepth,e.ShapeAspectStyle,e.LiningToPanelOffsetX,e.LiningToPanelOffsetY]},1714330368:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.PanelDepth,e.PanelOperation,e.PanelWidth,e.PanelPosition,e.ShapeAspectStyle]},2323601079:function(e){var t;return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType,e.OperationType,null==(t=e.ParameterTakesPrecedence)?void 0:t.toString(),e.UserDefinedOperationType]},445594917:function(e){return[e.Name]},4006246654:function(e){return[e.Name]},1758889154:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag]},4123344466:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.AssemblyPlace,e.PredefinedType]},2397081782:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},1623761950:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag]},2590856083:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType]},1704287377:function(e){return[e.Position,e.SemiAxis1,e.SemiAxis2]},2107101300:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType]},132023988:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},3174744832:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},3390157468:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},4148101412:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.Identification,e.LongDescription,e.PredefinedType,e.EventTriggerType,e.UserDefinedEventTriggerType,e.EventOccurenceTime]},2853485674:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.LongName]},807026263:function(e){return[e.Outer]},3737207727:function(e){return[e.Outer,e.Voids]},24185140:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.LongName,e.CompositionType]},1310830890:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.LongName,e.CompositionType,e.UsageType]},4228831410:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.LongName,e.CompositionType,e.UsageType,e.PredefinedType]},647756555:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},2489546625:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},2827207264:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag]},2143335405:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag]},1287392070:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag]},3907093117:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType]},3198132628:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType]},3815607619:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},1482959167:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType]},1834744321:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType]},1339347760:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType]},2297155007:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType]},3009222698:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType]},1893162501:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},263784265:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag]},1509553395:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},3493046030:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},4230923436:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag]},1594536857:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},2898700619:function(e){var t;return[e.Segments,null==(t=e.SelfIntersect)?void 0:t.toString(),e.BaseCurve,e.EndPoint]},2706460486:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType]},1251058090:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},1806887404:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},2568555532:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},3948183225:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},2571569899:function(e){var t;return[e.Points,e.Segments?e.Segments.map((function(e){return Y_(e)})):null,null==(t=e.SelfIntersect)?void 0:t.toString()]},3946677679:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},3113134337:function(e){return[e.Curve3D,e.AssociatedGeometry,e.MasterRepresentation]},2391368822:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.PredefinedType,e.Jurisdiction,e.ResponsiblePersons,e.LastUpdateDate,e.CurrentValue,e.OriginalValue]},4288270099:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},679976338:function(e){var t;return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,null==(t=e.Mountable)?void 0:t.toString()]},3827777499:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.Identification,e.LongDescription,e.Usage,e.BaseCosts,e.BaseQuantity,e.PredefinedType]},1051575348:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},1161773419:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},2176059722:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation]},1770583370:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},525669439:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.LongName,e.CompositionType,e.PredefinedType]},976884017:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.LongName,e.CompositionType,e.UsageType,e.PredefinedType]},377706215:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.NominalDiameter,e.NominalLength,e.PredefinedType]},2108223431:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType,e.NominalDiameter,e.NominalLength]},1114901282:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},3181161470:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},1950438474:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},710110818:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},977012517:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},506776471:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},4143007308:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.TheActor,e.PredefinedType]},3588315303:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},2837617999:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},514975943:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},2382730787:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.Identification,e.LifeCyclePhase,e.PredefinedType]},3566463478:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.OperationType,e.PanelPosition,e.FrameDepth,e.FrameThickness,e.ShapeAspectStyle]},3327091369:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.Identification,e.PredefinedType,e.Status,e.LongDescription]},1158309216:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},804291784:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},4231323485:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},4017108033:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},2839578677:function(e){var t;return[e.Coordinates,null==(t=e.Closed)?void 0:t.toString(),e.Faces,e.PnIndex]},3724593414:function(e){return[e.Points]},3740093272:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation]},1946335990:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation]},2744685151:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.Identification,e.LongDescription,e.PredefinedType]},2904328755:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.Identification,e.PredefinedType,e.Status,e.LongDescription]},3651124850:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},1842657554:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},2250791053:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},1763565496:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},2893384427:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},3992365140:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.LongName,e.CompositionType,e.PredefinedType]},1891881377:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.LongName,e.CompositionType,e.UsageType,e.PredefinedType]},2324767716:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},1469900589:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},683857671:function(e){var t,n,r;return[e.UDegree,e.VDegree,e.ControlPointsList,e.SurfaceForm,null==(t=e.UClosed)?void 0:t.toString(),null==(n=e.VClosed)?void 0:n.toString(),null==(r=e.SelfIntersect)?void 0:r.toString(),e.UMultiplicities,e.VMultiplicities,e.UKnots,e.VKnots,e.KnotSpec,e.WeightsData]},4021432810:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.PredefinedType]},3027567501:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.SteelGrade]},964333572:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType]},2320036040:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.SteelGrade,e.MeshLength,e.MeshWidth,e.LongitudinalBarNominalDiameter,e.TransverseBarNominalDiameter,e.LongitudinalBarCrossSectionArea,e.TransverseBarCrossSectionArea,e.LongitudinalBarSpacing,e.TransverseBarSpacing,e.PredefinedType]},2310774935:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType,e.MeshLength,e.MeshWidth,e.LongitudinalBarNominalDiameter,e.TransverseBarNominalDiameter,e.LongitudinalBarCrossSectionArea,e.TransverseBarCrossSectionArea,e.LongitudinalBarSpacing,e.TransverseBarSpacing,e.BendingShapeCode,e.BendingParameters?e.BendingParameters.map((function(e){return Y_(e)})):null]},3818125796:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatingElement,e.RelatedSurfaceFeatures]},160246688:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatingObject,e.RelatedObjects]},146592293:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.LongName,e.CompositionType,e.PredefinedType]},550521510:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.LongName,e.CompositionType,e.UsageType,e.PredefinedType]},2781568857:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},1768891740:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},2157484638:function(e){return[e.Curve3D,e.AssociatedGeometry,e.MasterRepresentation]},3649235739:function(e){return[e.Position,e.QuadraticTerm,e.LinearTerm,e.ConstantTerm]},544395925:function(e){var t;return[e.Segments,null==(t=e.SelfIntersect)?void 0:t.toString(),e.BaseCurve,e.EndPoint]},1027922057:function(e){return[e.Position,e.SepticTerm,e.SexticTerm,e.QuinticTerm,e.QuarticTerm,e.CubicTerm,e.QuadraticTerm,e.LinearTerm,e.ConstantTerm]},4074543187:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},33720170:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},3599934289:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},1894708472:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},42703149:function(e){return[e.Position,e.SineTerm,e.LinearTerm,e.ConstantTerm]},4097777520:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.LongName,e.CompositionType,e.RefLatitude,e.RefLongitude,e.RefElevation,e.LandTitleNumber,e.SiteAddress]},2533589738:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},1072016465:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},3856911033:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.LongName,e.CompositionType,e.PredefinedType,e.ElevationWithFlooring]},1305183839:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},3812236995:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType,e.LongName]},3112655638:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},1039846685:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},338393293:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},682877961:function(e){var t;return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.AppliedLoad,e.GlobalOrLocal,null==(t=e.DestabilizingLoad)?void 0:t.toString()]},1179482911:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.AppliedCondition]},1004757350:function(e){var t;return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.AppliedLoad,e.GlobalOrLocal,null==(t=e.DestabilizingLoad)?void 0:t.toString(),e.ProjectedOrTrue,e.PredefinedType]},4243806635:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.AppliedCondition,e.AxisDirection]},214636428:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.PredefinedType,e.Axis]},2445595289:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.PredefinedType,e.Axis]},2757150158:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.AppliedLoad,e.GlobalOrLocal,e.PredefinedType]},1807405624:function(e){var t;return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.AppliedLoad,e.GlobalOrLocal,null==(t=e.DestabilizingLoad)?void 0:t.toString(),e.ProjectedOrTrue,e.PredefinedType]},1252848954:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.PredefinedType,e.ActionType,e.ActionSource,e.Coefficient,e.Purpose]},2082059205:function(e){var t;return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.AppliedLoad,e.GlobalOrLocal,null==(t=e.DestabilizingLoad)?void 0:t.toString()]},734778138:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.AppliedCondition,e.ConditionCoordinateSystem]},1235345126:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.AppliedLoad,e.GlobalOrLocal]},2986769608:function(e){var t;return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.TheoryType,e.ResultForLoadGroup,null==(t=e.IsLinear)?void 0:t.toString()]},3657597509:function(e){var t;return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.AppliedLoad,e.GlobalOrLocal,null==(t=e.DestabilizingLoad)?void 0:t.toString(),e.ProjectedOrTrue,e.PredefinedType]},1975003073:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.AppliedCondition]},148013059:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.Identification,e.LongDescription,e.Usage,e.BaseCosts,e.BaseQuantity,e.PredefinedType]},3101698114:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},2315554128:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},2254336722:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType]},413509423:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},5716631:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},3824725483:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.SteelGrade,e.PredefinedType,e.NominalDiameter,e.CrossSectionArea,e.TensionForce,e.PreStress,e.FrictionCoefficient,e.AnchorageSlip,e.MinCurvatureRadius]},2347447852:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.SteelGrade,e.PredefinedType]},3081323446:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},3663046924:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.SteelGrade,e.PredefinedType]},2281632017:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},2415094496:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType,e.NominalDiameter,e.CrossSectionArea,e.SheathDiameter]},618700268:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},1692211062:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},2097647324:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},1953115116:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag]},3593883385:function(e){var t;return[e.BasisCurve,e.Trim1,e.Trim2,null==(t=e.SenseAgreement)?void 0:t.toString(),e.MasterRepresentation]},1600972822:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},1911125066:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},728799441:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},840318589:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},1530820697:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},3956297820:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},2391383451:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},3313531582:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},2769231204:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},926996030:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},1898987631:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},1133259667:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},4009809668:function(e){var t;return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType,e.PartitioningType,null==(t=e.ParameterTakesPrecedence)?void 0:t.toString(),e.UserDefinedPartitioningType]},4088093105:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.Identification,e.WorkingTimes,e.ExceptionTimes,e.PredefinedType]},1028945134:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.Identification,e.CreationDate,e.Creators,e.Purpose,e.Duration,e.TotalFloat,e.StartTime,e.FinishTime]},4218914973:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.Identification,e.CreationDate,e.Creators,e.Purpose,e.Duration,e.TotalFloat,e.StartTime,e.FinishTime,e.PredefinedType]},3342526732:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.Identification,e.CreationDate,e.Creators,e.Purpose,e.Duration,e.TotalFloat,e.StartTime,e.FinishTime,e.PredefinedType]},1033361043:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.LongName]},3821786052:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.Identification,e.PredefinedType,e.Status,e.LongDescription]},1411407467:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},3352864051:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},1871374353:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},4266260250:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.RailHeadDistance]},1545765605:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation]},317615605:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.DesignParameters]},1662888072:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation]},3460190687:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.Identification,e.OriginalValue,e.CurrentValue,e.TotalReplacementCost,e.Owner,e.User,e.ResponsiblePerson,e.IncorporationDate,e.DepreciatedValue]},1532957894:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},1967976161:function(e){var t,n;return[e.Degree,e.ControlPointsList,e.CurveForm,null==(t=e.ClosedCurve)?void 0:t.toString(),null==(n=e.SelfIntersect)?void 0:n.toString()]},2461110595:function(e){var t,n;return[e.Degree,e.ControlPointsList,e.CurveForm,null==(t=e.ClosedCurve)?void 0:t.toString(),null==(n=e.SelfIntersect)?void 0:n.toString(),e.KnotMultiplicities,e.Knots,e.KnotSpec]},819618141:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},3649138523:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},231477066:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},1136057603:function(e){var t;return[e.Segments,null==(t=e.SelfIntersect)?void 0:t.toString()]},644574406:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.LongName,e.CompositionType,e.PredefinedType]},963979645:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.LongName,e.CompositionType,e.UsageType,e.PredefinedType]},4031249490:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.LongName,e.CompositionType,e.ElevationOfRefHeight,e.ElevationOfTerrain,e.BuildingAddress]},2979338954:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},39481116:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},1909888760:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},1177604601:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.PredefinedType,e.LongName]},1876633798:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag]},3862327254:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.PredefinedType,e.LongName]},2188180465:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},395041908:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},3293546465:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},2674252688:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},1285652485:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},3203706013:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},2951183804:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},3296154744:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},2611217952:function(e){return[e.Position,e.Radius]},1677625105:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag]},2301859152:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},843113511:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},400855858:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},3850581409:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},2816379211:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},3898045240:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.Identification,e.LongDescription,e.Usage,e.BaseCosts,e.BaseQuantity,e.PredefinedType]},1060000209:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.Identification,e.LongDescription,e.Usage,e.BaseCosts,e.BaseQuantity,e.PredefinedType]},488727124:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.Identification,e.LongDescription,e.Usage,e.BaseCosts,e.BaseQuantity,e.PredefinedType]},2940368186:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},335055490:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},2954562838:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},1502416096:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},1973544240:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},3495092785:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},3961806047:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},3426335179:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag]},1335981549:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},2635815018:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},479945903:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},1599208980:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},2063403501:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType]},1945004755:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag]},3040386961:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag]},3041715199:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.FlowDirection,e.PredefinedType,e.SystemType]},3205830791:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.LongName,e.PredefinedType]},395920057:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.OverallHeight,e.OverallWidth,e.PredefinedType,e.OperationType,e.UserDefinedOperationType]},869906466:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},3760055223:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},2030761528:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},3071239417:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},1077100507:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag]},3376911765:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},663422040:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},2417008758:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},3277789161:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},2142170206:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},1534661035:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},1217240411:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},712377611:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},1658829314:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag]},2814081492:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},3747195512:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},484807127:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},1209101575:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.LongName,e.PredefinedType]},346874300:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},1810631287:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},4222183408:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},2058353004:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag]},4278956645:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag]},4037862832:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},2188021234:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},3132237377:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag]},987401354:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag]},707683696:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag]},2223149337:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag]},3508470533:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag]},900683007:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},2713699986:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag]},3009204131:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.UAxes,e.VAxes,e.WAxes,e.PredefinedType]},3319311131:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},2068733104:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},4175244083:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},2176052936:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},2696325953:function(e){var t;return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,null==(t=e.Mountable)?void 0:t.toString()]},76236018:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},629592764:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},1154579445:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation]},1638804497:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},1437502449:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},1073191201:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},2078563270:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},234836483:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},2474470126:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},2182337498:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},144952367:function(e){var t;return[e.Segments,null==(t=e.SelfIntersect)?void 0:t.toString()]},3694346114:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},1383356374:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},1687234759:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType,e.ConstructionType]},310824031:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},3612865200:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},3171933400:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},738039164:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},655969474:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},90941305:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},3290496277:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},2262370178:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},3024970846:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},3283111854:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},1232101972:function(e){var t,n;return[e.Degree,e.ControlPointsList,e.CurveForm,null==(t=e.ClosedCurve)?void 0:t.toString(),null==(n=e.SelfIntersect)?void 0:n.toString(),e.KnotMultiplicities,e.Knots,e.KnotSpec,e.WeightsData]},3798194928:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},979691226:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.SteelGrade,e.NominalDiameter,e.CrossSectionArea,e.BarLength,e.PredefinedType,e.BarSurface]},2572171363:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType,e.NominalDiameter,e.CrossSectionArea,e.BarLength,e.BarSurface,e.BendingShapeCode,e.BendingParameters?e.BendingParameters.map((function(e){return Y_(e)})):null]},2016517767:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},3053780830:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},1783015770:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},1329646415:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},991950508:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},1529196076:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},3420628829:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},1999602285:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},1404847402:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},331165859:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},4252922144:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.NumberOfRisers,e.NumberOfTreads,e.RiserHeight,e.TreadLength,e.PredefinedType]},2515109513:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.PredefinedType,e.OrientationOf2DPlane,e.LoadedBy,e.HasResults,e.SharedPlacement]},385403989:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.PredefinedType,e.ActionType,e.ActionSource,e.Coefficient,e.Purpose,e.SelfWeightCoefficients]},1621171031:function(e){var t;return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.AppliedLoad,e.GlobalOrLocal,null==(t=e.DestabilizingLoad)?void 0:t.toString(),e.ProjectedOrTrue,e.PredefinedType]},1162798199:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},812556717:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},3425753595:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},3825984169:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},1620046519:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},3026737570:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},3179687236:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},4292641817:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},4207607924:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},2391406946:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},3512223829:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},4237592921:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},3304561284:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.OverallHeight,e.OverallWidth,e.PredefinedType,e.PartitioningType,e.UserDefinedPartitioningType]},2874132201:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},1634111441:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},177149247:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},2056796094:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},3001207471:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},325726236:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.PredefinedType]},277319702:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},753842376:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},4196446775:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},32344328:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},3314249567:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag]},1095909175:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},2938176219:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},635142910:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},3758799889:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},1051757585:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},4217484030:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},3999819293:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},3902619387:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},639361253:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},3221913625:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},3571504051:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},2272882330:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},578613899:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},3460952963:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},4136498852:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},3640358203:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},4074379575:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},3693000487:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},1052013943:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},562808652:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.LongName,e.PredefinedType]},1062813311:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag]},342316401:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},3518393246:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},1360408905:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},1904799276:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},862014818:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},3310460725:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},24726584:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},264262732:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},402227799:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},1003880860:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},3415622556:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},819412036:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},1426591983:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},182646315:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},2680139844:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag]},1971632696:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag]},2295281155:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},4086658281:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},630975310:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},4288193352:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},3087945054:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},25142252:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]}},W_[3]={3699917729:function(e){return new t_.IfcAbsorbedDoseMeasure(e)},4182062534:function(e){return new t_.IfcAccelerationMeasure(e)},360377573:function(e){return new t_.IfcAmountOfSubstanceMeasure(e)},632304761:function(e){return new t_.IfcAngularVelocityMeasure(e)},3683503648:function(e){return new t_.IfcArcIndex(e)},1500781891:function(e){return new t_.IfcAreaDensityMeasure(e)},2650437152:function(e){return new t_.IfcAreaMeasure(e)},2314439260:function(e){return new t_.IfcBinary(e)},2735952531:function(e){return new t_.IfcBoolean(e)},1867003952:function(e){return new t_.IfcBoxAlignment(e)},1683019596:function(e){return new t_.IfcCardinalPointReference(e)},2991860651:function(e){return new t_.IfcComplexNumber(e)},3812528620:function(e){return new t_.IfcCompoundPlaneAngleMeasure(e)},3238673880:function(e){return new t_.IfcContextDependentMeasure(e)},1778710042:function(e){return new t_.IfcCountMeasure(e)},94842927:function(e){return new t_.IfcCurvatureMeasure(e)},937566702:function(e){return new t_.IfcDate(e)},2195413836:function(e){return new t_.IfcDateTime(e)},86635668:function(e){return new t_.IfcDayInMonthNumber(e)},3701338814:function(e){return new t_.IfcDayInWeekNumber(e)},1514641115:function(e){return new t_.IfcDescriptiveMeasure(e)},4134073009:function(e){return new t_.IfcDimensionCount(e)},524656162:function(e){return new t_.IfcDoseEquivalentMeasure(e)},2541165894:function(e){return new t_.IfcDuration(e)},69416015:function(e){return new t_.IfcDynamicViscosityMeasure(e)},1827137117:function(e){return new t_.IfcElectricCapacitanceMeasure(e)},3818826038:function(e){return new t_.IfcElectricChargeMeasure(e)},2093906313:function(e){return new t_.IfcElectricConductanceMeasure(e)},3790457270:function(e){return new t_.IfcElectricCurrentMeasure(e)},2951915441:function(e){return new t_.IfcElectricResistanceMeasure(e)},2506197118:function(e){return new t_.IfcElectricVoltageMeasure(e)},2078135608:function(e){return new t_.IfcEnergyMeasure(e)},1102727119:function(e){return new t_.IfcFontStyle(e)},2715512545:function(e){return new t_.IfcFontVariant(e)},2590844177:function(e){return new t_.IfcFontWeight(e)},1361398929:function(e){return new t_.IfcForceMeasure(e)},3044325142:function(e){return new t_.IfcFrequencyMeasure(e)},3064340077:function(e){return new t_.IfcGloballyUniqueId(e)},3113092358:function(e){return new t_.IfcHeatFluxDensityMeasure(e)},1158859006:function(e){return new t_.IfcHeatingValueMeasure(e)},983778844:function(e){return new t_.IfcIdentifier(e)},3358199106:function(e){return new t_.IfcIlluminanceMeasure(e)},2679005408:function(e){return new t_.IfcInductanceMeasure(e)},1939436016:function(e){return new t_.IfcInteger(e)},3809634241:function(e){return new t_.IfcIntegerCountRateMeasure(e)},3686016028:function(e){return new t_.IfcIonConcentrationMeasure(e)},3192672207:function(e){return new t_.IfcIsothermalMoistureCapacityMeasure(e)},2054016361:function(e){return new t_.IfcKinematicViscosityMeasure(e)},3258342251:function(e){return new t_.IfcLabel(e)},1275358634:function(e){return new t_.IfcLanguageId(e)},1243674935:function(e){return new t_.IfcLengthMeasure(e)},1774176899:function(e){return new t_.IfcLineIndex(e)},191860431:function(e){return new t_.IfcLinearForceMeasure(e)},2128979029:function(e){return new t_.IfcLinearMomentMeasure(e)},1307019551:function(e){return new t_.IfcLinearStiffnessMeasure(e)},3086160713:function(e){return new t_.IfcLinearVelocityMeasure(e)},503418787:function(e){return new t_.IfcLogical(e)},2095003142:function(e){return new t_.IfcLuminousFluxMeasure(e)},2755797622:function(e){return new t_.IfcLuminousIntensityDistributionMeasure(e)},151039812:function(e){return new t_.IfcLuminousIntensityMeasure(e)},286949696:function(e){return new t_.IfcMagneticFluxDensityMeasure(e)},2486716878:function(e){return new t_.IfcMagneticFluxMeasure(e)},1477762836:function(e){return new t_.IfcMassDensityMeasure(e)},4017473158:function(e){return new t_.IfcMassFlowRateMeasure(e)},3124614049:function(e){return new t_.IfcMassMeasure(e)},3531705166:function(e){return new t_.IfcMassPerLengthMeasure(e)},3341486342:function(e){return new t_.IfcModulusOfElasticityMeasure(e)},2173214787:function(e){return new t_.IfcModulusOfLinearSubgradeReactionMeasure(e)},1052454078:function(e){return new t_.IfcModulusOfRotationalSubgradeReactionMeasure(e)},1753493141:function(e){return new t_.IfcModulusOfSubgradeReactionMeasure(e)},3177669450:function(e){return new t_.IfcMoistureDiffusivityMeasure(e)},1648970520:function(e){return new t_.IfcMolecularWeightMeasure(e)},3114022597:function(e){return new t_.IfcMomentOfInertiaMeasure(e)},2615040989:function(e){return new t_.IfcMonetaryMeasure(e)},765770214:function(e){return new t_.IfcMonthInYearNumber(e)},525895558:function(e){return new t_.IfcNonNegativeLengthMeasure(e)},2095195183:function(e){return new t_.IfcNormalisedRatioMeasure(e)},2395907400:function(e){return new t_.IfcNumericMeasure(e)},929793134:function(e){return new t_.IfcPHMeasure(e)},2260317790:function(e){return new t_.IfcParameterValue(e)},2642773653:function(e){return new t_.IfcPlanarForceMeasure(e)},4042175685:function(e){return new t_.IfcPlaneAngleMeasure(e)},1790229001:function(e){return new t_.IfcPositiveInteger(e)},2815919920:function(e){return new t_.IfcPositiveLengthMeasure(e)},3054510233:function(e){return new t_.IfcPositivePlaneAngleMeasure(e)},1245737093:function(e){return new t_.IfcPositiveRatioMeasure(e)},1364037233:function(e){return new t_.IfcPowerMeasure(e)},2169031380:function(e){return new t_.IfcPresentableText(e)},3665567075:function(e){return new t_.IfcPressureMeasure(e)},2798247006:function(e){return new t_.IfcPropertySetDefinitionSet(e)},3972513137:function(e){return new t_.IfcRadioActivityMeasure(e)},96294661:function(e){return new t_.IfcRatioMeasure(e)},200335297:function(e){return new t_.IfcReal(e)},2133746277:function(e){return new t_.IfcRotationalFrequencyMeasure(e)},1755127002:function(e){return new t_.IfcRotationalMassMeasure(e)},3211557302:function(e){return new t_.IfcRotationalStiffnessMeasure(e)},3467162246:function(e){return new t_.IfcSectionModulusMeasure(e)},2190458107:function(e){return new t_.IfcSectionalAreaIntegralMeasure(e)},408310005:function(e){return new t_.IfcShearModulusMeasure(e)},3471399674:function(e){return new t_.IfcSolidAngleMeasure(e)},4157543285:function(e){return new t_.IfcSoundPowerLevelMeasure(e)},846465480:function(e){return new t_.IfcSoundPowerMeasure(e)},3457685358:function(e){return new t_.IfcSoundPressureLevelMeasure(e)},993287707:function(e){return new t_.IfcSoundPressureMeasure(e)},3477203348:function(e){return new t_.IfcSpecificHeatCapacityMeasure(e)},2757832317:function(e){return new t_.IfcSpecularExponent(e)},361837227:function(e){return new t_.IfcSpecularRoughness(e)},58845555:function(e){return new t_.IfcTemperatureGradientMeasure(e)},1209108979:function(e){return new t_.IfcTemperatureRateOfChangeMeasure(e)},2801250643:function(e){return new t_.IfcText(e)},1460886941:function(e){return new t_.IfcTextAlignment(e)},3490877962:function(e){return new t_.IfcTextDecoration(e)},603696268:function(e){return new t_.IfcTextFontName(e)},296282323:function(e){return new t_.IfcTextTransformation(e)},232962298:function(e){return new t_.IfcThermalAdmittanceMeasure(e)},2645777649:function(e){return new t_.IfcThermalConductivityMeasure(e)},2281867870:function(e){return new t_.IfcThermalExpansionCoefficientMeasure(e)},857959152:function(e){return new t_.IfcThermalResistanceMeasure(e)},2016195849:function(e){return new t_.IfcThermalTransmittanceMeasure(e)},743184107:function(e){return new t_.IfcThermodynamicTemperatureMeasure(e)},4075327185:function(e){return new t_.IfcTime(e)},2726807636:function(e){return new t_.IfcTimeMeasure(e)},2591213694:function(e){return new t_.IfcTimeStamp(e)},1278329552:function(e){return new t_.IfcTorqueMeasure(e)},950732822:function(e){return new t_.IfcURIReference(e)},3345633955:function(e){return new t_.IfcVaporPermeabilityMeasure(e)},3458127941:function(e){return new t_.IfcVolumeMeasure(e)},2593997549:function(e){return new t_.IfcVolumetricFlowRateMeasure(e)},51269191:function(e){return new t_.IfcWarpingConstantMeasure(e)},1718600412:function(e){return new t_.IfcWarpingMomentMeasure(e)}},function(e){var t=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcAbsorbedDoseMeasure=t;var n=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcAccelerationMeasure=n;var r=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcAmountOfSubstanceMeasure=r;var i=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcAngularVelocityMeasure=i;var a=P((function e(t){b(this,e),this.value=t}));e.IfcArcIndex=a;var s=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcAreaDensityMeasure=s;var o=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcAreaMeasure=o;var l=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcBinary=l;var u=P((function e(t){b(this,e),this.type=3,this.value="true"==t}));e.IfcBoolean=u;var c=P((function e(t){b(this,e),this.value=t,this.type=1}));e.IfcBoxAlignment=c;var f=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcCardinalPointReference=f;var p=P((function e(t){b(this,e),this.value=t}));e.IfcComplexNumber=p;var A=P((function e(t){b(this,e),this.value=t}));e.IfcCompoundPlaneAngleMeasure=A;var d=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcContextDependentMeasure=d;var v=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcCountMeasure=v;var h=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcCurvatureMeasure=h;var y=P((function e(t){b(this,e),this.value=t,this.type=1}));e.IfcDate=y;var w=P((function e(t){b(this,e),this.value=t,this.type=1}));e.IfcDateTime=w;var g=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcDayInMonthNumber=g;var E=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcDayInWeekNumber=E;var T=P((function e(t){b(this,e),this.value=t,this.type=1}));e.IfcDescriptiveMeasure=T;var D=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcDimensionCount=D;var R=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcDoseEquivalentMeasure=R;var C=P((function e(t){b(this,e),this.value=t,this.type=1}));e.IfcDuration=C;var _=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcDynamicViscosityMeasure=_;var B=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcElectricCapacitanceMeasure=B;var O=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcElectricChargeMeasure=O;var S=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcElectricConductanceMeasure=S;var N=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcElectricCurrentMeasure=N;var L=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcElectricResistanceMeasure=L;var M=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcElectricVoltageMeasure=M;var x=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcEnergyMeasure=x;var F=P((function e(t){b(this,e),this.value=t,this.type=1}));e.IfcFontStyle=F;var H=P((function e(t){b(this,e),this.value=t,this.type=1}));e.IfcFontVariant=H;var U=P((function e(t){b(this,e),this.value=t,this.type=1}));e.IfcFontWeight=U;var G=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcForceMeasure=G;var k=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcFrequencyMeasure=k;var j=P((function e(t){b(this,e),this.value=t,this.type=1}));e.IfcGloballyUniqueId=j;var V=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcHeatFluxDensityMeasure=V;var Q=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcHeatingValueMeasure=Q;var W=P((function e(t){b(this,e),this.value=t,this.type=1}));e.IfcIdentifier=W;var z=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcIlluminanceMeasure=z;var K=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcInductanceMeasure=K;var Y=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcInteger=Y;var X=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcIntegerCountRateMeasure=X;var q=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcIonConcentrationMeasure=q;var J=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcIsothermalMoistureCapacityMeasure=J;var Z=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcKinematicViscosityMeasure=Z;var $=P((function e(t){b(this,e),this.value=t,this.type=1}));e.IfcLabel=$;var ee=P((function e(t){b(this,e),this.value=t,this.type=1}));e.IfcLanguageId=ee;var te=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcLengthMeasure=te;var ne=P((function e(t){b(this,e),this.value=t}));e.IfcLineIndex=ne;var re=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcLinearForceMeasure=re;var ie=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcLinearMomentMeasure=ie;var ae=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcLinearStiffnessMeasure=ae;var se=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcLinearVelocityMeasure=se;var oe=P((function e(t){b(this,e),this.type=3,this.value="true"==t}));e.IfcLogical=oe;var le=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcLuminousFluxMeasure=le;var ue=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcLuminousIntensityDistributionMeasure=ue;var ce=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcLuminousIntensityMeasure=ce;var fe=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcMagneticFluxDensityMeasure=fe;var pe=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcMagneticFluxMeasure=pe;var Ae=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcMassDensityMeasure=Ae;var de=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcMassFlowRateMeasure=de;var ve=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcMassMeasure=ve;var he=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcMassPerLengthMeasure=he;var Ie=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcModulusOfElasticityMeasure=Ie;var ye=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcModulusOfLinearSubgradeReactionMeasure=ye;var me=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcModulusOfRotationalSubgradeReactionMeasure=me;var we=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcModulusOfSubgradeReactionMeasure=we;var ge=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcMoistureDiffusivityMeasure=ge;var Ee=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcMolecularWeightMeasure=Ee;var Te=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcMomentOfInertiaMeasure=Te;var be=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcMonetaryMeasure=be;var De=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcMonthInYearNumber=De;var Pe=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcNonNegativeLengthMeasure=Pe;var Re=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcNormalisedRatioMeasure=Re;var Ce=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcNumericMeasure=Ce;var _e=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcPHMeasure=_e;var Be=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcParameterValue=Be;var Oe=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcPlanarForceMeasure=Oe;var Se=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcPlaneAngleMeasure=Se;var Ne=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcPositiveInteger=Ne;var Le=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcPositiveLengthMeasure=Le;var Me=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcPositivePlaneAngleMeasure=Me;var xe=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcPositiveRatioMeasure=xe;var Fe=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcPowerMeasure=Fe;var He=P((function e(t){b(this,e),this.value=t,this.type=1}));e.IfcPresentableText=He;var Ue=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcPressureMeasure=Ue;var Ge=P((function e(t){b(this,e),this.value=t}));e.IfcPropertySetDefinitionSet=Ge;var ke=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcRadioActivityMeasure=ke;var je=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcRatioMeasure=je;var Ve=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcReal=Ve;var Qe=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcRotationalFrequencyMeasure=Qe;var We=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcRotationalMassMeasure=We;var ze=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcRotationalStiffnessMeasure=ze;var Ke=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcSectionModulusMeasure=Ke;var Ye=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcSectionalAreaIntegralMeasure=Ye;var Xe=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcShearModulusMeasure=Xe;var qe=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcSolidAngleMeasure=qe;var Je=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcSoundPowerLevelMeasure=Je;var Ze=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcSoundPowerMeasure=Ze;var $e=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcSoundPressureLevelMeasure=$e;var et=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcSoundPressureMeasure=et;var tt=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcSpecificHeatCapacityMeasure=tt;var nt=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcSpecularExponent=nt;var rt=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcSpecularRoughness=rt;var it=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcTemperatureGradientMeasure=it;var at=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcTemperatureRateOfChangeMeasure=at;var st=P((function e(t){b(this,e),this.value=t,this.type=1}));e.IfcText=st;var ot=P((function e(t){b(this,e),this.value=t,this.type=1}));e.IfcTextAlignment=ot;var lt=P((function e(t){b(this,e),this.value=t,this.type=1}));e.IfcTextDecoration=lt;var ut=P((function e(t){b(this,e),this.value=t,this.type=1}));e.IfcTextFontName=ut;var ct=P((function e(t){b(this,e),this.value=t,this.type=1}));e.IfcTextTransformation=ct;var ft=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcThermalAdmittanceMeasure=ft;var pt=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcThermalConductivityMeasure=pt;var At=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcThermalExpansionCoefficientMeasure=At;var dt=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcThermalResistanceMeasure=dt;var vt=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcThermalTransmittanceMeasure=vt;var ht=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcThermodynamicTemperatureMeasure=ht;var It=P((function e(t){b(this,e),this.value=t,this.type=1}));e.IfcTime=It;var yt=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcTimeMeasure=yt;var mt=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcTimeStamp=mt;var wt=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcTorqueMeasure=wt;var gt=P((function e(t){b(this,e),this.value=t,this.type=1}));e.IfcURIReference=gt;var Et=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcVaporPermeabilityMeasure=Et;var Tt=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcVolumeMeasure=Tt;var bt=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcVolumetricFlowRateMeasure=bt;var Dt=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcWarpingConstantMeasure=Dt;var Pt=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcWarpingMomentMeasure=Pt;var Rt=P((function e(){b(this,e)}));Rt.EMAIL={type:3,value:"EMAIL"},Rt.FAX={type:3,value:"FAX"},Rt.PHONE={type:3,value:"PHONE"},Rt.POST={type:3,value:"POST"},Rt.VERBAL={type:3,value:"VERBAL"},Rt.USERDEFINED={type:3,value:"USERDEFINED"},Rt.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcActionRequestTypeEnum=Rt;var Ct=P((function e(){b(this,e)}));Ct.BRAKES={type:3,value:"BRAKES"},Ct.BUOYANCY={type:3,value:"BUOYANCY"},Ct.COMPLETION_G1={type:3,value:"COMPLETION_G1"},Ct.CREEP={type:3,value:"CREEP"},Ct.CURRENT={type:3,value:"CURRENT"},Ct.DEAD_LOAD_G={type:3,value:"DEAD_LOAD_G"},Ct.EARTHQUAKE_E={type:3,value:"EARTHQUAKE_E"},Ct.ERECTION={type:3,value:"ERECTION"},Ct.FIRE={type:3,value:"FIRE"},Ct.ICE={type:3,value:"ICE"},Ct.IMPACT={type:3,value:"IMPACT"},Ct.IMPULSE={type:3,value:"IMPULSE"},Ct.LACK_OF_FIT={type:3,value:"LACK_OF_FIT"},Ct.LIVE_LOAD_Q={type:3,value:"LIVE_LOAD_Q"},Ct.PRESTRESSING_P={type:3,value:"PRESTRESSING_P"},Ct.PROPPING={type:3,value:"PROPPING"},Ct.RAIN={type:3,value:"RAIN"},Ct.SETTLEMENT_U={type:3,value:"SETTLEMENT_U"},Ct.SHRINKAGE={type:3,value:"SHRINKAGE"},Ct.SNOW_S={type:3,value:"SNOW_S"},Ct.SYSTEM_IMPERFECTION={type:3,value:"SYSTEM_IMPERFECTION"},Ct.TEMPERATURE_T={type:3,value:"TEMPERATURE_T"},Ct.TRANSPORT={type:3,value:"TRANSPORT"},Ct.WAVE={type:3,value:"WAVE"},Ct.WIND_W={type:3,value:"WIND_W"},Ct.USERDEFINED={type:3,value:"USERDEFINED"},Ct.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcActionSourceTypeEnum=Ct;var _t=P((function e(){b(this,e)}));_t.EXTRAORDINARY_A={type:3,value:"EXTRAORDINARY_A"},_t.PERMANENT_G={type:3,value:"PERMANENT_G"},_t.VARIABLE_Q={type:3,value:"VARIABLE_Q"},_t.USERDEFINED={type:3,value:"USERDEFINED"},_t.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcActionTypeEnum=_t;var Bt=P((function e(){b(this,e)}));Bt.ELECTRICACTUATOR={type:3,value:"ELECTRICACTUATOR"},Bt.HANDOPERATEDACTUATOR={type:3,value:"HANDOPERATEDACTUATOR"},Bt.HYDRAULICACTUATOR={type:3,value:"HYDRAULICACTUATOR"},Bt.PNEUMATICACTUATOR={type:3,value:"PNEUMATICACTUATOR"},Bt.THERMOSTATICACTUATOR={type:3,value:"THERMOSTATICACTUATOR"},Bt.USERDEFINED={type:3,value:"USERDEFINED"},Bt.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcActuatorTypeEnum=Bt;var Ot=P((function e(){b(this,e)}));Ot.DISTRIBUTIONPOINT={type:3,value:"DISTRIBUTIONPOINT"},Ot.HOME={type:3,value:"HOME"},Ot.OFFICE={type:3,value:"OFFICE"},Ot.SITE={type:3,value:"SITE"},Ot.USERDEFINED={type:3,value:"USERDEFINED"},e.IfcAddressTypeEnum=Ot;var St=P((function e(){b(this,e)}));St.CONSTANTFLOW={type:3,value:"CONSTANTFLOW"},St.VARIABLEFLOWPRESSUREDEPENDANT={type:3,value:"VARIABLEFLOWPRESSUREDEPENDANT"},St.VARIABLEFLOWPRESSUREINDEPENDANT={type:3,value:"VARIABLEFLOWPRESSUREINDEPENDANT"},St.USERDEFINED={type:3,value:"USERDEFINED"},St.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcAirTerminalBoxTypeEnum=St;var Nt=P((function e(){b(this,e)}));Nt.DIFFUSER={type:3,value:"DIFFUSER"},Nt.GRILLE={type:3,value:"GRILLE"},Nt.LOUVRE={type:3,value:"LOUVRE"},Nt.REGISTER={type:3,value:"REGISTER"},Nt.USERDEFINED={type:3,value:"USERDEFINED"},Nt.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcAirTerminalTypeEnum=Nt;var Lt=P((function e(){b(this,e)}));Lt.FIXEDPLATECOUNTERFLOWEXCHANGER={type:3,value:"FIXEDPLATECOUNTERFLOWEXCHANGER"},Lt.FIXEDPLATECROSSFLOWEXCHANGER={type:3,value:"FIXEDPLATECROSSFLOWEXCHANGER"},Lt.FIXEDPLATEPARALLELFLOWEXCHANGER={type:3,value:"FIXEDPLATEPARALLELFLOWEXCHANGER"},Lt.HEATPIPE={type:3,value:"HEATPIPE"},Lt.ROTARYWHEEL={type:3,value:"ROTARYWHEEL"},Lt.RUNAROUNDCOILLOOP={type:3,value:"RUNAROUNDCOILLOOP"},Lt.THERMOSIPHONCOILTYPEHEATEXCHANGERS={type:3,value:"THERMOSIPHONCOILTYPEHEATEXCHANGERS"},Lt.THERMOSIPHONSEALEDTUBEHEATEXCHANGERS={type:3,value:"THERMOSIPHONSEALEDTUBEHEATEXCHANGERS"},Lt.TWINTOWERENTHALPYRECOVERYLOOPS={type:3,value:"TWINTOWERENTHALPYRECOVERYLOOPS"},Lt.USERDEFINED={type:3,value:"USERDEFINED"},Lt.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcAirToAirHeatRecoveryTypeEnum=Lt;var Mt=P((function e(){b(this,e)}));Mt.BELL={type:3,value:"BELL"},Mt.BREAKGLASSBUTTON={type:3,value:"BREAKGLASSBUTTON"},Mt.LIGHT={type:3,value:"LIGHT"},Mt.MANUALPULLBOX={type:3,value:"MANUALPULLBOX"},Mt.RAILWAYCROCODILE={type:3,value:"RAILWAYCROCODILE"},Mt.RAILWAYDETONATOR={type:3,value:"RAILWAYDETONATOR"},Mt.SIREN={type:3,value:"SIREN"},Mt.WHISTLE={type:3,value:"WHISTLE"},Mt.USERDEFINED={type:3,value:"USERDEFINED"},Mt.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcAlarmTypeEnum=Mt;var xt=P((function e(){b(this,e)}));xt.BLOSSCURVE={type:3,value:"BLOSSCURVE"},xt.CONSTANTCANT={type:3,value:"CONSTANTCANT"},xt.COSINECURVE={type:3,value:"COSINECURVE"},xt.HELMERTCURVE={type:3,value:"HELMERTCURVE"},xt.LINEARTRANSITION={type:3,value:"LINEARTRANSITION"},xt.SINECURVE={type:3,value:"SINECURVE"},xt.VIENNESEBEND={type:3,value:"VIENNESEBEND"},e.IfcAlignmentCantSegmentTypeEnum=xt;var Ft=P((function e(){b(this,e)}));Ft.BLOSSCURVE={type:3,value:"BLOSSCURVE"},Ft.CIRCULARARC={type:3,value:"CIRCULARARC"},Ft.CLOTHOID={type:3,value:"CLOTHOID"},Ft.COSINECURVE={type:3,value:"COSINECURVE"},Ft.CUBIC={type:3,value:"CUBIC"},Ft.HELMERTCURVE={type:3,value:"HELMERTCURVE"},Ft.LINE={type:3,value:"LINE"},Ft.SINECURVE={type:3,value:"SINECURVE"},Ft.VIENNESEBEND={type:3,value:"VIENNESEBEND"},e.IfcAlignmentHorizontalSegmentTypeEnum=Ft;var Ht=P((function e(){b(this,e)}));Ht.USERDEFINED={type:3,value:"USERDEFINED"},Ht.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcAlignmentTypeEnum=Ht;var Ut=P((function e(){b(this,e)}));Ut.CIRCULARARC={type:3,value:"CIRCULARARC"},Ut.CLOTHOID={type:3,value:"CLOTHOID"},Ut.CONSTANTGRADIENT={type:3,value:"CONSTANTGRADIENT"},Ut.PARABOLICARC={type:3,value:"PARABOLICARC"},e.IfcAlignmentVerticalSegmentTypeEnum=Ut;var Gt=P((function e(){b(this,e)}));Gt.IN_PLANE_LOADING_2D={type:3,value:"IN_PLANE_LOADING_2D"},Gt.LOADING_3D={type:3,value:"LOADING_3D"},Gt.OUT_PLANE_LOADING_2D={type:3,value:"OUT_PLANE_LOADING_2D"},Gt.USERDEFINED={type:3,value:"USERDEFINED"},Gt.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcAnalysisModelTypeEnum=Gt;var kt=P((function e(){b(this,e)}));kt.FIRST_ORDER_THEORY={type:3,value:"FIRST_ORDER_THEORY"},kt.FULL_NONLINEAR_THEORY={type:3,value:"FULL_NONLINEAR_THEORY"},kt.SECOND_ORDER_THEORY={type:3,value:"SECOND_ORDER_THEORY"},kt.THIRD_ORDER_THEORY={type:3,value:"THIRD_ORDER_THEORY"},kt.USERDEFINED={type:3,value:"USERDEFINED"},kt.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcAnalysisTheoryTypeEnum=kt;var jt=P((function e(){b(this,e)}));jt.ASBUILTAREA={type:3,value:"ASBUILTAREA"},jt.ASBUILTLINE={type:3,value:"ASBUILTLINE"},jt.ASBUILTPOINT={type:3,value:"ASBUILTPOINT"},jt.ASSUMEDAREA={type:3,value:"ASSUMEDAREA"},jt.ASSUMEDLINE={type:3,value:"ASSUMEDLINE"},jt.ASSUMEDPOINT={type:3,value:"ASSUMEDPOINT"},jt.NON_PHYSICAL_SIGNAL={type:3,value:"NON_PHYSICAL_SIGNAL"},jt.SUPERELEVATIONEVENT={type:3,value:"SUPERELEVATIONEVENT"},jt.WIDTHEVENT={type:3,value:"WIDTHEVENT"},jt.USERDEFINED={type:3,value:"USERDEFINED"},jt.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcAnnotationTypeEnum=jt;var Vt=P((function e(){b(this,e)}));Vt.ADD={type:3,value:"ADD"},Vt.DIVIDE={type:3,value:"DIVIDE"},Vt.MULTIPLY={type:3,value:"MULTIPLY"},Vt.SUBTRACT={type:3,value:"SUBTRACT"},e.IfcArithmeticOperatorEnum=Vt;var Qt=P((function e(){b(this,e)}));Qt.FACTORY={type:3,value:"FACTORY"},Qt.SITE={type:3,value:"SITE"},Qt.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcAssemblyPlaceEnum=Qt;var Wt=P((function e(){b(this,e)}));Wt.AMPLIFIER={type:3,value:"AMPLIFIER"},Wt.CAMERA={type:3,value:"CAMERA"},Wt.COMMUNICATIONTERMINAL={type:3,value:"COMMUNICATIONTERMINAL"},Wt.DISPLAY={type:3,value:"DISPLAY"},Wt.MICROPHONE={type:3,value:"MICROPHONE"},Wt.PLAYER={type:3,value:"PLAYER"},Wt.PROJECTOR={type:3,value:"PROJECTOR"},Wt.RECEIVER={type:3,value:"RECEIVER"},Wt.RECORDINGEQUIPMENT={type:3,value:"RECORDINGEQUIPMENT"},Wt.SPEAKER={type:3,value:"SPEAKER"},Wt.SWITCHER={type:3,value:"SWITCHER"},Wt.TELEPHONE={type:3,value:"TELEPHONE"},Wt.TUNER={type:3,value:"TUNER"},Wt.USERDEFINED={type:3,value:"USERDEFINED"},Wt.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcAudioVisualApplianceTypeEnum=Wt;var zt=P((function e(){b(this,e)}));zt.CIRCULAR_ARC={type:3,value:"CIRCULAR_ARC"},zt.ELLIPTIC_ARC={type:3,value:"ELLIPTIC_ARC"},zt.HYPERBOLIC_ARC={type:3,value:"HYPERBOLIC_ARC"},zt.PARABOLIC_ARC={type:3,value:"PARABOLIC_ARC"},zt.POLYLINE_FORM={type:3,value:"POLYLINE_FORM"},zt.UNSPECIFIED={type:3,value:"UNSPECIFIED"},e.IfcBSplineCurveForm=zt;var Kt=P((function e(){b(this,e)}));Kt.CONICAL_SURF={type:3,value:"CONICAL_SURF"},Kt.CYLINDRICAL_SURF={type:3,value:"CYLINDRICAL_SURF"},Kt.GENERALISED_CONE={type:3,value:"GENERALISED_CONE"},Kt.PLANE_SURF={type:3,value:"PLANE_SURF"},Kt.QUADRIC_SURF={type:3,value:"QUADRIC_SURF"},Kt.RULED_SURF={type:3,value:"RULED_SURF"},Kt.SPHERICAL_SURF={type:3,value:"SPHERICAL_SURF"},Kt.SURF_OF_LINEAR_EXTRUSION={type:3,value:"SURF_OF_LINEAR_EXTRUSION"},Kt.SURF_OF_REVOLUTION={type:3,value:"SURF_OF_REVOLUTION"},Kt.TOROIDAL_SURF={type:3,value:"TOROIDAL_SURF"},Kt.UNSPECIFIED={type:3,value:"UNSPECIFIED"},e.IfcBSplineSurfaceForm=Kt;var Yt=P((function e(){b(this,e)}));Yt.BEAM={type:3,value:"BEAM"},Yt.CORNICE={type:3,value:"CORNICE"},Yt.DIAPHRAGM={type:3,value:"DIAPHRAGM"},Yt.EDGEBEAM={type:3,value:"EDGEBEAM"},Yt.GIRDER_SEGMENT={type:3,value:"GIRDER_SEGMENT"},Yt.HATSTONE={type:3,value:"HATSTONE"},Yt.HOLLOWCORE={type:3,value:"HOLLOWCORE"},Yt.JOIST={type:3,value:"JOIST"},Yt.LINTEL={type:3,value:"LINTEL"},Yt.PIERCAP={type:3,value:"PIERCAP"},Yt.SPANDREL={type:3,value:"SPANDREL"},Yt.T_BEAM={type:3,value:"T_BEAM"},Yt.USERDEFINED={type:3,value:"USERDEFINED"},Yt.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcBeamTypeEnum=Yt;var Xt=P((function e(){b(this,e)}));Xt.FIXED_MOVEMENT={type:3,value:"FIXED_MOVEMENT"},Xt.FREE_MOVEMENT={type:3,value:"FREE_MOVEMENT"},Xt.GUIDED_LONGITUDINAL={type:3,value:"GUIDED_LONGITUDINAL"},Xt.GUIDED_TRANSVERSAL={type:3,value:"GUIDED_TRANSVERSAL"},Xt.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcBearingTypeDisplacementEnum=Xt;var qt=P((function e(){b(this,e)}));qt.CYLINDRICAL={type:3,value:"CYLINDRICAL"},qt.DISK={type:3,value:"DISK"},qt.ELASTOMERIC={type:3,value:"ELASTOMERIC"},qt.GUIDE={type:3,value:"GUIDE"},qt.POT={type:3,value:"POT"},qt.ROCKER={type:3,value:"ROCKER"},qt.ROLLER={type:3,value:"ROLLER"},qt.SPHERICAL={type:3,value:"SPHERICAL"},qt.USERDEFINED={type:3,value:"USERDEFINED"},qt.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcBearingTypeEnum=qt;var Jt=P((function e(){b(this,e)}));Jt.EQUALTO={type:3,value:"EQUALTO"},Jt.GREATERTHAN={type:3,value:"GREATERTHAN"},Jt.GREATERTHANOREQUALTO={type:3,value:"GREATERTHANOREQUALTO"},Jt.INCLUDEDIN={type:3,value:"INCLUDEDIN"},Jt.INCLUDES={type:3,value:"INCLUDES"},Jt.LESSTHAN={type:3,value:"LESSTHAN"},Jt.LESSTHANOREQUALTO={type:3,value:"LESSTHANOREQUALTO"},Jt.NOTEQUALTO={type:3,value:"NOTEQUALTO"},Jt.NOTINCLUDEDIN={type:3,value:"NOTINCLUDEDIN"},Jt.NOTINCLUDES={type:3,value:"NOTINCLUDES"},e.IfcBenchmarkEnum=Jt;var Zt=P((function e(){b(this,e)}));Zt.STEAM={type:3,value:"STEAM"},Zt.WATER={type:3,value:"WATER"},Zt.USERDEFINED={type:3,value:"USERDEFINED"},Zt.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcBoilerTypeEnum=Zt;var $t=P((function e(){b(this,e)}));$t.DIFFERENCE={type:3,value:"DIFFERENCE"},$t.INTERSECTION={type:3,value:"INTERSECTION"},$t.UNION={type:3,value:"UNION"},e.IfcBooleanOperator=$t;var en=P((function e(){b(this,e)}));en.ABUTMENT={type:3,value:"ABUTMENT"},en.DECK={type:3,value:"DECK"},en.DECK_SEGMENT={type:3,value:"DECK_SEGMENT"},en.FOUNDATION={type:3,value:"FOUNDATION"},en.PIER={type:3,value:"PIER"},en.PIER_SEGMENT={type:3,value:"PIER_SEGMENT"},en.PYLON={type:3,value:"PYLON"},en.SUBSTRUCTURE={type:3,value:"SUBSTRUCTURE"},en.SUPERSTRUCTURE={type:3,value:"SUPERSTRUCTURE"},en.SURFACESTRUCTURE={type:3,value:"SURFACESTRUCTURE"},en.USERDEFINED={type:3,value:"USERDEFINED"},en.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcBridgePartTypeEnum=en;var tn=P((function e(){b(this,e)}));tn.ARCHED={type:3,value:"ARCHED"},tn.CABLE_STAYED={type:3,value:"CABLE_STAYED"},tn.CANTILEVER={type:3,value:"CANTILEVER"},tn.CULVERT={type:3,value:"CULVERT"},tn.FRAMEWORK={type:3,value:"FRAMEWORK"},tn.GIRDER={type:3,value:"GIRDER"},tn.SUSPENSION={type:3,value:"SUSPENSION"},tn.TRUSS={type:3,value:"TRUSS"},tn.USERDEFINED={type:3,value:"USERDEFINED"},tn.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcBridgeTypeEnum=tn;var nn=P((function e(){b(this,e)}));nn.APRON={type:3,value:"APRON"},nn.ARMOURUNIT={type:3,value:"ARMOURUNIT"},nn.INSULATION={type:3,value:"INSULATION"},nn.PRECASTPANEL={type:3,value:"PRECASTPANEL"},nn.SAFETYCAGE={type:3,value:"SAFETYCAGE"},nn.USERDEFINED={type:3,value:"USERDEFINED"},nn.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcBuildingElementPartTypeEnum=nn;var rn=P((function e(){b(this,e)}));rn.COMPLEX={type:3,value:"COMPLEX"},rn.ELEMENT={type:3,value:"ELEMENT"},rn.PARTIAL={type:3,value:"PARTIAL"},rn.USERDEFINED={type:3,value:"USERDEFINED"},rn.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcBuildingElementProxyTypeEnum=rn;var an=P((function e(){b(this,e)}));an.EROSIONPREVENTION={type:3,value:"EROSIONPREVENTION"},an.FENESTRATION={type:3,value:"FENESTRATION"},an.FOUNDATION={type:3,value:"FOUNDATION"},an.LOADBEARING={type:3,value:"LOADBEARING"},an.OUTERSHELL={type:3,value:"OUTERSHELL"},an.PRESTRESSING={type:3,value:"PRESTRESSING"},an.REINFORCING={type:3,value:"REINFORCING"},an.SHADING={type:3,value:"SHADING"},an.TRANSPORT={type:3,value:"TRANSPORT"},an.USERDEFINED={type:3,value:"USERDEFINED"},an.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcBuildingSystemTypeEnum=an;var sn=P((function e(){b(this,e)}));sn.EROSIONPREVENTION={type:3,value:"EROSIONPREVENTION"},sn.FENESTRATION={type:3,value:"FENESTRATION"},sn.FOUNDATION={type:3,value:"FOUNDATION"},sn.LOADBEARING={type:3,value:"LOADBEARING"},sn.MOORING={type:3,value:"MOORING"},sn.OUTERSHELL={type:3,value:"OUTERSHELL"},sn.PRESTRESSING={type:3,value:"PRESTRESSING"},sn.RAILWAYLINE={type:3,value:"RAILWAYLINE"},sn.RAILWAYTRACK={type:3,value:"RAILWAYTRACK"},sn.REINFORCING={type:3,value:"REINFORCING"},sn.SHADING={type:3,value:"SHADING"},sn.TRACKCIRCUIT={type:3,value:"TRACKCIRCUIT"},sn.TRANSPORT={type:3,value:"TRANSPORT"},sn.USERDEFINED={type:3,value:"USERDEFINED"},sn.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcBuiltSystemTypeEnum=sn;var on=P((function e(){b(this,e)}));on.USERDEFINED={type:3,value:"USERDEFINED"},on.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcBurnerTypeEnum=on;var ln=P((function e(){b(this,e)}));ln.BEND={type:3,value:"BEND"},ln.CONNECTOR={type:3,value:"CONNECTOR"},ln.CROSS={type:3,value:"CROSS"},ln.JUNCTION={type:3,value:"JUNCTION"},ln.TEE={type:3,value:"TEE"},ln.TRANSITION={type:3,value:"TRANSITION"},ln.USERDEFINED={type:3,value:"USERDEFINED"},ln.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcCableCarrierFittingTypeEnum=ln;var un=P((function e(){b(this,e)}));un.CABLEBRACKET={type:3,value:"CABLEBRACKET"},un.CABLELADDERSEGMENT={type:3,value:"CABLELADDERSEGMENT"},un.CABLETRAYSEGMENT={type:3,value:"CABLETRAYSEGMENT"},un.CABLETRUNKINGSEGMENT={type:3,value:"CABLETRUNKINGSEGMENT"},un.CATENARYWIRE={type:3,value:"CATENARYWIRE"},un.CONDUITSEGMENT={type:3,value:"CONDUITSEGMENT"},un.DROPPER={type:3,value:"DROPPER"},un.USERDEFINED={type:3,value:"USERDEFINED"},un.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcCableCarrierSegmentTypeEnum=un;var cn=P((function e(){b(this,e)}));cn.CONNECTOR={type:3,value:"CONNECTOR"},cn.ENTRY={type:3,value:"ENTRY"},cn.EXIT={type:3,value:"EXIT"},cn.FANOUT={type:3,value:"FANOUT"},cn.JUNCTION={type:3,value:"JUNCTION"},cn.TRANSITION={type:3,value:"TRANSITION"},cn.USERDEFINED={type:3,value:"USERDEFINED"},cn.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcCableFittingTypeEnum=cn;var fn=P((function e(){b(this,e)}));fn.BUSBARSEGMENT={type:3,value:"BUSBARSEGMENT"},fn.CABLESEGMENT={type:3,value:"CABLESEGMENT"},fn.CONDUCTORSEGMENT={type:3,value:"CONDUCTORSEGMENT"},fn.CONTACTWIRESEGMENT={type:3,value:"CONTACTWIRESEGMENT"},fn.CORESEGMENT={type:3,value:"CORESEGMENT"},fn.FIBERSEGMENT={type:3,value:"FIBERSEGMENT"},fn.FIBERTUBE={type:3,value:"FIBERTUBE"},fn.OPTICALCABLESEGMENT={type:3,value:"OPTICALCABLESEGMENT"},fn.STITCHWIRE={type:3,value:"STITCHWIRE"},fn.WIREPAIRSEGMENT={type:3,value:"WIREPAIRSEGMENT"},fn.USERDEFINED={type:3,value:"USERDEFINED"},fn.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcCableSegmentTypeEnum=fn;var pn=P((function e(){b(this,e)}));pn.CAISSON={type:3,value:"CAISSON"},pn.WELL={type:3,value:"WELL"},pn.USERDEFINED={type:3,value:"USERDEFINED"},pn.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcCaissonFoundationTypeEnum=pn;var An=P((function e(){b(this,e)}));An.ADDED={type:3,value:"ADDED"},An.DELETED={type:3,value:"DELETED"},An.MODIFIED={type:3,value:"MODIFIED"},An.NOCHANGE={type:3,value:"NOCHANGE"},An.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcChangeActionEnum=An;var dn=P((function e(){b(this,e)}));dn.AIRCOOLED={type:3,value:"AIRCOOLED"},dn.HEATRECOVERY={type:3,value:"HEATRECOVERY"},dn.WATERCOOLED={type:3,value:"WATERCOOLED"},dn.USERDEFINED={type:3,value:"USERDEFINED"},dn.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcChillerTypeEnum=dn;var vn=P((function e(){b(this,e)}));vn.USERDEFINED={type:3,value:"USERDEFINED"},vn.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcChimneyTypeEnum=vn;var hn=P((function e(){b(this,e)}));hn.DXCOOLINGCOIL={type:3,value:"DXCOOLINGCOIL"},hn.ELECTRICHEATINGCOIL={type:3,value:"ELECTRICHEATINGCOIL"},hn.GASHEATINGCOIL={type:3,value:"GASHEATINGCOIL"},hn.HYDRONICCOIL={type:3,value:"HYDRONICCOIL"},hn.STEAMHEATINGCOIL={type:3,value:"STEAMHEATINGCOIL"},hn.WATERCOOLINGCOIL={type:3,value:"WATERCOOLINGCOIL"},hn.WATERHEATINGCOIL={type:3,value:"WATERHEATINGCOIL"},hn.USERDEFINED={type:3,value:"USERDEFINED"},hn.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcCoilTypeEnum=hn;var In=P((function e(){b(this,e)}));In.COLUMN={type:3,value:"COLUMN"},In.PIERSTEM={type:3,value:"PIERSTEM"},In.PIERSTEM_SEGMENT={type:3,value:"PIERSTEM_SEGMENT"},In.PILASTER={type:3,value:"PILASTER"},In.STANDCOLUMN={type:3,value:"STANDCOLUMN"},In.USERDEFINED={type:3,value:"USERDEFINED"},In.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcColumnTypeEnum=In;var yn=P((function e(){b(this,e)}));yn.ANTENNA={type:3,value:"ANTENNA"},yn.AUTOMATON={type:3,value:"AUTOMATON"},yn.COMPUTER={type:3,value:"COMPUTER"},yn.FAX={type:3,value:"FAX"},yn.GATEWAY={type:3,value:"GATEWAY"},yn.INTELLIGENTPERIPHERAL={type:3,value:"INTELLIGENTPERIPHERAL"},yn.IPNETWORKEQUIPMENT={type:3,value:"IPNETWORKEQUIPMENT"},yn.LINESIDEELECTRONICUNIT={type:3,value:"LINESIDEELECTRONICUNIT"},yn.MODEM={type:3,value:"MODEM"},yn.NETWORKAPPLIANCE={type:3,value:"NETWORKAPPLIANCE"},yn.NETWORKBRIDGE={type:3,value:"NETWORKBRIDGE"},yn.NETWORKHUB={type:3,value:"NETWORKHUB"},yn.OPTICALLINETERMINAL={type:3,value:"OPTICALLINETERMINAL"},yn.OPTICALNETWORKUNIT={type:3,value:"OPTICALNETWORKUNIT"},yn.PRINTER={type:3,value:"PRINTER"},yn.RADIOBLOCKCENTER={type:3,value:"RADIOBLOCKCENTER"},yn.REPEATER={type:3,value:"REPEATER"},yn.ROUTER={type:3,value:"ROUTER"},yn.SCANNER={type:3,value:"SCANNER"},yn.TELECOMMAND={type:3,value:"TELECOMMAND"},yn.TELEPHONYEXCHANGE={type:3,value:"TELEPHONYEXCHANGE"},yn.TRANSITIONCOMPONENT={type:3,value:"TRANSITIONCOMPONENT"},yn.TRANSPONDER={type:3,value:"TRANSPONDER"},yn.TRANSPORTEQUIPMENT={type:3,value:"TRANSPORTEQUIPMENT"},yn.USERDEFINED={type:3,value:"USERDEFINED"},yn.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcCommunicationsApplianceTypeEnum=yn;var mn=P((function e(){b(this,e)}));mn.P_COMPLEX={type:3,value:"P_COMPLEX"},mn.Q_COMPLEX={type:3,value:"Q_COMPLEX"},e.IfcComplexPropertyTemplateTypeEnum=mn;var wn=P((function e(){b(this,e)}));wn.BOOSTER={type:3,value:"BOOSTER"},wn.DYNAMIC={type:3,value:"DYNAMIC"},wn.HERMETIC={type:3,value:"HERMETIC"},wn.OPENTYPE={type:3,value:"OPENTYPE"},wn.RECIPROCATING={type:3,value:"RECIPROCATING"},wn.ROLLINGPISTON={type:3,value:"ROLLINGPISTON"},wn.ROTARY={type:3,value:"ROTARY"},wn.ROTARYVANE={type:3,value:"ROTARYVANE"},wn.SCROLL={type:3,value:"SCROLL"},wn.SEMIHERMETIC={type:3,value:"SEMIHERMETIC"},wn.SINGLESCREW={type:3,value:"SINGLESCREW"},wn.SINGLESTAGE={type:3,value:"SINGLESTAGE"},wn.TROCHOIDAL={type:3,value:"TROCHOIDAL"},wn.TWINSCREW={type:3,value:"TWINSCREW"},wn.WELDEDSHELLHERMETIC={type:3,value:"WELDEDSHELLHERMETIC"},wn.USERDEFINED={type:3,value:"USERDEFINED"},wn.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcCompressorTypeEnum=wn;var gn=P((function e(){b(this,e)}));gn.AIRCOOLED={type:3,value:"AIRCOOLED"},gn.EVAPORATIVECOOLED={type:3,value:"EVAPORATIVECOOLED"},gn.WATERCOOLED={type:3,value:"WATERCOOLED"},gn.WATERCOOLEDBRAZEDPLATE={type:3,value:"WATERCOOLEDBRAZEDPLATE"},gn.WATERCOOLEDSHELLCOIL={type:3,value:"WATERCOOLEDSHELLCOIL"},gn.WATERCOOLEDSHELLTUBE={type:3,value:"WATERCOOLEDSHELLTUBE"},gn.WATERCOOLEDTUBEINTUBE={type:3,value:"WATERCOOLEDTUBEINTUBE"},gn.USERDEFINED={type:3,value:"USERDEFINED"},gn.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcCondenserTypeEnum=gn;var En=P((function e(){b(this,e)}));En.ATEND={type:3,value:"ATEND"},En.ATPATH={type:3,value:"ATPATH"},En.ATSTART={type:3,value:"ATSTART"},En.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcConnectionTypeEnum=En;var Tn=P((function e(){b(this,e)}));Tn.ADVISORY={type:3,value:"ADVISORY"},Tn.HARD={type:3,value:"HARD"},Tn.SOFT={type:3,value:"SOFT"},Tn.USERDEFINED={type:3,value:"USERDEFINED"},Tn.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcConstraintEnum=Tn;var bn=P((function e(){b(this,e)}));bn.DEMOLISHING={type:3,value:"DEMOLISHING"},bn.EARTHMOVING={type:3,value:"EARTHMOVING"},bn.ERECTING={type:3,value:"ERECTING"},bn.HEATING={type:3,value:"HEATING"},bn.LIGHTING={type:3,value:"LIGHTING"},bn.PAVING={type:3,value:"PAVING"},bn.PUMPING={type:3,value:"PUMPING"},bn.TRANSPORTING={type:3,value:"TRANSPORTING"},bn.USERDEFINED={type:3,value:"USERDEFINED"},bn.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcConstructionEquipmentResourceTypeEnum=bn;var Dn=P((function e(){b(this,e)}));Dn.AGGREGATES={type:3,value:"AGGREGATES"},Dn.CONCRETE={type:3,value:"CONCRETE"},Dn.DRYWALL={type:3,value:"DRYWALL"},Dn.FUEL={type:3,value:"FUEL"},Dn.GYPSUM={type:3,value:"GYPSUM"},Dn.MASONRY={type:3,value:"MASONRY"},Dn.METAL={type:3,value:"METAL"},Dn.PLASTIC={type:3,value:"PLASTIC"},Dn.WOOD={type:3,value:"WOOD"},Dn.USERDEFINED={type:3,value:"USERDEFINED"},Dn.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcConstructionMaterialResourceTypeEnum=Dn;var Pn=P((function e(){b(this,e)}));Pn.ASSEMBLY={type:3,value:"ASSEMBLY"},Pn.FORMWORK={type:3,value:"FORMWORK"},Pn.USERDEFINED={type:3,value:"USERDEFINED"},Pn.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcConstructionProductResourceTypeEnum=Pn;var Rn=P((function e(){b(this,e)}));Rn.FLOATING={type:3,value:"FLOATING"},Rn.MULTIPOSITION={type:3,value:"MULTIPOSITION"},Rn.PROGRAMMABLE={type:3,value:"PROGRAMMABLE"},Rn.PROPORTIONAL={type:3,value:"PROPORTIONAL"},Rn.TWOPOSITION={type:3,value:"TWOPOSITION"},Rn.USERDEFINED={type:3,value:"USERDEFINED"},Rn.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcControllerTypeEnum=Rn;var Cn=P((function e(){b(this,e)}));Cn.BELTCONVEYOR={type:3,value:"BELTCONVEYOR"},Cn.BUCKETCONVEYOR={type:3,value:"BUCKETCONVEYOR"},Cn.CHUTECONVEYOR={type:3,value:"CHUTECONVEYOR"},Cn.SCREWCONVEYOR={type:3,value:"SCREWCONVEYOR"},Cn.USERDEFINED={type:3,value:"USERDEFINED"},Cn.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcConveyorSegmentTypeEnum=Cn;var _n=P((function e(){b(this,e)}));_n.ACTIVE={type:3,value:"ACTIVE"},_n.PASSIVE={type:3,value:"PASSIVE"},_n.USERDEFINED={type:3,value:"USERDEFINED"},_n.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcCooledBeamTypeEnum=_n;var Bn=P((function e(){b(this,e)}));Bn.MECHANICALFORCEDDRAFT={type:3,value:"MECHANICALFORCEDDRAFT"},Bn.MECHANICALINDUCEDDRAFT={type:3,value:"MECHANICALINDUCEDDRAFT"},Bn.NATURALDRAFT={type:3,value:"NATURALDRAFT"},Bn.USERDEFINED={type:3,value:"USERDEFINED"},Bn.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcCoolingTowerTypeEnum=Bn;var On=P((function e(){b(this,e)}));On.USERDEFINED={type:3,value:"USERDEFINED"},On.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcCostItemTypeEnum=On;var Sn=P((function e(){b(this,e)}));Sn.BUDGET={type:3,value:"BUDGET"},Sn.COSTPLAN={type:3,value:"COSTPLAN"},Sn.ESTIMATE={type:3,value:"ESTIMATE"},Sn.PRICEDBILLOFQUANTITIES={type:3,value:"PRICEDBILLOFQUANTITIES"},Sn.SCHEDULEOFRATES={type:3,value:"SCHEDULEOFRATES"},Sn.TENDER={type:3,value:"TENDER"},Sn.UNPRICEDBILLOFQUANTITIES={type:3,value:"UNPRICEDBILLOFQUANTITIES"},Sn.USERDEFINED={type:3,value:"USERDEFINED"},Sn.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcCostScheduleTypeEnum=Sn;var Nn=P((function e(){b(this,e)}));Nn.ARMOUR={type:3,value:"ARMOUR"},Nn.BALLASTBED={type:3,value:"BALLASTBED"},Nn.CORE={type:3,value:"CORE"},Nn.FILTER={type:3,value:"FILTER"},Nn.PAVEMENT={type:3,value:"PAVEMENT"},Nn.PROTECTION={type:3,value:"PROTECTION"},Nn.USERDEFINED={type:3,value:"USERDEFINED"},Nn.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcCourseTypeEnum=Nn;var Ln=P((function e(){b(this,e)}));Ln.CEILING={type:3,value:"CEILING"},Ln.CLADDING={type:3,value:"CLADDING"},Ln.COPING={type:3,value:"COPING"},Ln.FLOORING={type:3,value:"FLOORING"},Ln.INSULATION={type:3,value:"INSULATION"},Ln.MEMBRANE={type:3,value:"MEMBRANE"},Ln.MOLDING={type:3,value:"MOLDING"},Ln.ROOFING={type:3,value:"ROOFING"},Ln.SKIRTINGBOARD={type:3,value:"SKIRTINGBOARD"},Ln.SLEEVING={type:3,value:"SLEEVING"},Ln.TOPPING={type:3,value:"TOPPING"},Ln.WRAPPING={type:3,value:"WRAPPING"},Ln.USERDEFINED={type:3,value:"USERDEFINED"},Ln.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcCoveringTypeEnum=Ln;var Mn=P((function e(){b(this,e)}));Mn.OFFICE={type:3,value:"OFFICE"},Mn.SITE={type:3,value:"SITE"},Mn.USERDEFINED={type:3,value:"USERDEFINED"},Mn.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcCrewResourceTypeEnum=Mn;var xn=P((function e(){b(this,e)}));xn.USERDEFINED={type:3,value:"USERDEFINED"},xn.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcCurtainWallTypeEnum=xn;var Fn=P((function e(){b(this,e)}));Fn.LINEAR={type:3,value:"LINEAR"},Fn.LOG_LINEAR={type:3,value:"LOG_LINEAR"},Fn.LOG_LOG={type:3,value:"LOG_LOG"},Fn.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcCurveInterpolationEnum=Fn;var Hn=P((function e(){b(this,e)}));Hn.BACKDRAFTDAMPER={type:3,value:"BACKDRAFTDAMPER"},Hn.BALANCINGDAMPER={type:3,value:"BALANCINGDAMPER"},Hn.BLASTDAMPER={type:3,value:"BLASTDAMPER"},Hn.CONTROLDAMPER={type:3,value:"CONTROLDAMPER"},Hn.FIREDAMPER={type:3,value:"FIREDAMPER"},Hn.FIRESMOKEDAMPER={type:3,value:"FIRESMOKEDAMPER"},Hn.FUMEHOODEXHAUST={type:3,value:"FUMEHOODEXHAUST"},Hn.GRAVITYDAMPER={type:3,value:"GRAVITYDAMPER"},Hn.GRAVITYRELIEFDAMPER={type:3,value:"GRAVITYRELIEFDAMPER"},Hn.RELIEFDAMPER={type:3,value:"RELIEFDAMPER"},Hn.SMOKEDAMPER={type:3,value:"SMOKEDAMPER"},Hn.USERDEFINED={type:3,value:"USERDEFINED"},Hn.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcDamperTypeEnum=Hn;var Un=P((function e(){b(this,e)}));Un.MEASURED={type:3,value:"MEASURED"},Un.PREDICTED={type:3,value:"PREDICTED"},Un.SIMULATED={type:3,value:"SIMULATED"},Un.USERDEFINED={type:3,value:"USERDEFINED"},Un.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcDataOriginEnum=Un;var Gn=P((function e(){b(this,e)}));Gn.ACCELERATIONUNIT={type:3,value:"ACCELERATIONUNIT"},Gn.ANGULARVELOCITYUNIT={type:3,value:"ANGULARVELOCITYUNIT"},Gn.AREADENSITYUNIT={type:3,value:"AREADENSITYUNIT"},Gn.COMPOUNDPLANEANGLEUNIT={type:3,value:"COMPOUNDPLANEANGLEUNIT"},Gn.CURVATUREUNIT={type:3,value:"CURVATUREUNIT"},Gn.DYNAMICVISCOSITYUNIT={type:3,value:"DYNAMICVISCOSITYUNIT"},Gn.HEATFLUXDENSITYUNIT={type:3,value:"HEATFLUXDENSITYUNIT"},Gn.HEATINGVALUEUNIT={type:3,value:"HEATINGVALUEUNIT"},Gn.INTEGERCOUNTRATEUNIT={type:3,value:"INTEGERCOUNTRATEUNIT"},Gn.IONCONCENTRATIONUNIT={type:3,value:"IONCONCENTRATIONUNIT"},Gn.ISOTHERMALMOISTURECAPACITYUNIT={type:3,value:"ISOTHERMALMOISTURECAPACITYUNIT"},Gn.KINEMATICVISCOSITYUNIT={type:3,value:"KINEMATICVISCOSITYUNIT"},Gn.LINEARFORCEUNIT={type:3,value:"LINEARFORCEUNIT"},Gn.LINEARMOMENTUNIT={type:3,value:"LINEARMOMENTUNIT"},Gn.LINEARSTIFFNESSUNIT={type:3,value:"LINEARSTIFFNESSUNIT"},Gn.LINEARVELOCITYUNIT={type:3,value:"LINEARVELOCITYUNIT"},Gn.LUMINOUSINTENSITYDISTRIBUTIONUNIT={type:3,value:"LUMINOUSINTENSITYDISTRIBUTIONUNIT"},Gn.MASSDENSITYUNIT={type:3,value:"MASSDENSITYUNIT"},Gn.MASSFLOWRATEUNIT={type:3,value:"MASSFLOWRATEUNIT"},Gn.MASSPERLENGTHUNIT={type:3,value:"MASSPERLENGTHUNIT"},Gn.MODULUSOFELASTICITYUNIT={type:3,value:"MODULUSOFELASTICITYUNIT"},Gn.MODULUSOFLINEARSUBGRADEREACTIONUNIT={type:3,value:"MODULUSOFLINEARSUBGRADEREACTIONUNIT"},Gn.MODULUSOFROTATIONALSUBGRADEREACTIONUNIT={type:3,value:"MODULUSOFROTATIONALSUBGRADEREACTIONUNIT"},Gn.MODULUSOFSUBGRADEREACTIONUNIT={type:3,value:"MODULUSOFSUBGRADEREACTIONUNIT"},Gn.MOISTUREDIFFUSIVITYUNIT={type:3,value:"MOISTUREDIFFUSIVITYUNIT"},Gn.MOLECULARWEIGHTUNIT={type:3,value:"MOLECULARWEIGHTUNIT"},Gn.MOMENTOFINERTIAUNIT={type:3,value:"MOMENTOFINERTIAUNIT"},Gn.PHUNIT={type:3,value:"PHUNIT"},Gn.PLANARFORCEUNIT={type:3,value:"PLANARFORCEUNIT"},Gn.ROTATIONALFREQUENCYUNIT={type:3,value:"ROTATIONALFREQUENCYUNIT"},Gn.ROTATIONALMASSUNIT={type:3,value:"ROTATIONALMASSUNIT"},Gn.ROTATIONALSTIFFNESSUNIT={type:3,value:"ROTATIONALSTIFFNESSUNIT"},Gn.SECTIONAREAINTEGRALUNIT={type:3,value:"SECTIONAREAINTEGRALUNIT"},Gn.SECTIONMODULUSUNIT={type:3,value:"SECTIONMODULUSUNIT"},Gn.SHEARMODULUSUNIT={type:3,value:"SHEARMODULUSUNIT"},Gn.SOUNDPOWERLEVELUNIT={type:3,value:"SOUNDPOWERLEVELUNIT"},Gn.SOUNDPOWERUNIT={type:3,value:"SOUNDPOWERUNIT"},Gn.SOUNDPRESSURELEVELUNIT={type:3,value:"SOUNDPRESSURELEVELUNIT"},Gn.SOUNDPRESSUREUNIT={type:3,value:"SOUNDPRESSUREUNIT"},Gn.SPECIFICHEATCAPACITYUNIT={type:3,value:"SPECIFICHEATCAPACITYUNIT"},Gn.TEMPERATUREGRADIENTUNIT={type:3,value:"TEMPERATUREGRADIENTUNIT"},Gn.TEMPERATURERATEOFCHANGEUNIT={type:3,value:"TEMPERATURERATEOFCHANGEUNIT"},Gn.THERMALADMITTANCEUNIT={type:3,value:"THERMALADMITTANCEUNIT"},Gn.THERMALCONDUCTANCEUNIT={type:3,value:"THERMALCONDUCTANCEUNIT"},Gn.THERMALEXPANSIONCOEFFICIENTUNIT={type:3,value:"THERMALEXPANSIONCOEFFICIENTUNIT"},Gn.THERMALRESISTANCEUNIT={type:3,value:"THERMALRESISTANCEUNIT"},Gn.THERMALTRANSMITTANCEUNIT={type:3,value:"THERMALTRANSMITTANCEUNIT"},Gn.TORQUEUNIT={type:3,value:"TORQUEUNIT"},Gn.VAPORPERMEABILITYUNIT={type:3,value:"VAPORPERMEABILITYUNIT"},Gn.VOLUMETRICFLOWRATEUNIT={type:3,value:"VOLUMETRICFLOWRATEUNIT"},Gn.WARPINGCONSTANTUNIT={type:3,value:"WARPINGCONSTANTUNIT"},Gn.WARPINGMOMENTUNIT={type:3,value:"WARPINGMOMENTUNIT"},Gn.USERDEFINED={type:3,value:"USERDEFINED"},e.IfcDerivedUnitEnum=Gn;var kn=P((function e(){b(this,e)}));kn.NEGATIVE={type:3,value:"NEGATIVE"},kn.POSITIVE={type:3,value:"POSITIVE"},e.IfcDirectionSenseEnum=kn;var jn=P((function e(){b(this,e)}));jn.ANCHORPLATE={type:3,value:"ANCHORPLATE"},jn.BIRDPROTECTION={type:3,value:"BIRDPROTECTION"},jn.BRACKET={type:3,value:"BRACKET"},jn.CABLEARRANGER={type:3,value:"CABLEARRANGER"},jn.ELASTIC_CUSHION={type:3,value:"ELASTIC_CUSHION"},jn.EXPANSION_JOINT_DEVICE={type:3,value:"EXPANSION_JOINT_DEVICE"},jn.FILLER={type:3,value:"FILLER"},jn.FLASHING={type:3,value:"FLASHING"},jn.INSULATOR={type:3,value:"INSULATOR"},jn.LOCK={type:3,value:"LOCK"},jn.PANEL_STRENGTHENING={type:3,value:"PANEL_STRENGTHENING"},jn.POINTMACHINEMOUNTINGDEVICE={type:3,value:"POINTMACHINEMOUNTINGDEVICE"},jn.POINT_MACHINE_LOCKING_DEVICE={type:3,value:"POINT_MACHINE_LOCKING_DEVICE"},jn.RAILBRACE={type:3,value:"RAILBRACE"},jn.RAILPAD={type:3,value:"RAILPAD"},jn.RAIL_LUBRICATION={type:3,value:"RAIL_LUBRICATION"},jn.RAIL_MECHANICAL_EQUIPMENT={type:3,value:"RAIL_MECHANICAL_EQUIPMENT"},jn.SHOE={type:3,value:"SHOE"},jn.SLIDINGCHAIR={type:3,value:"SLIDINGCHAIR"},jn.SOUNDABSORPTION={type:3,value:"SOUNDABSORPTION"},jn.TENSIONINGEQUIPMENT={type:3,value:"TENSIONINGEQUIPMENT"},jn.USERDEFINED={type:3,value:"USERDEFINED"},jn.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcDiscreteAccessoryTypeEnum=jn;var Vn=P((function e(){b(this,e)}));Vn.CONSUMERUNIT={type:3,value:"CONSUMERUNIT"},Vn.DISPATCHINGBOARD={type:3,value:"DISPATCHINGBOARD"},Vn.DISTRIBUTIONBOARD={type:3,value:"DISTRIBUTIONBOARD"},Vn.DISTRIBUTIONFRAME={type:3,value:"DISTRIBUTIONFRAME"},Vn.MOTORCONTROLCENTRE={type:3,value:"MOTORCONTROLCENTRE"},Vn.SWITCHBOARD={type:3,value:"SWITCHBOARD"},Vn.USERDEFINED={type:3,value:"USERDEFINED"},Vn.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcDistributionBoardTypeEnum=Vn;var Qn=P((function e(){b(this,e)}));Qn.FORMEDDUCT={type:3,value:"FORMEDDUCT"},Qn.INSPECTIONCHAMBER={type:3,value:"INSPECTIONCHAMBER"},Qn.INSPECTIONPIT={type:3,value:"INSPECTIONPIT"},Qn.MANHOLE={type:3,value:"MANHOLE"},Qn.METERCHAMBER={type:3,value:"METERCHAMBER"},Qn.SUMP={type:3,value:"SUMP"},Qn.TRENCH={type:3,value:"TRENCH"},Qn.VALVECHAMBER={type:3,value:"VALVECHAMBER"},Qn.USERDEFINED={type:3,value:"USERDEFINED"},Qn.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcDistributionChamberElementTypeEnum=Qn;var Wn=P((function e(){b(this,e)}));Wn.CABLE={type:3,value:"CABLE"},Wn.CABLECARRIER={type:3,value:"CABLECARRIER"},Wn.DUCT={type:3,value:"DUCT"},Wn.PIPE={type:3,value:"PIPE"},Wn.WIRELESS={type:3,value:"WIRELESS"},Wn.USERDEFINED={type:3,value:"USERDEFINED"},Wn.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcDistributionPortTypeEnum=Wn;var zn=P((function e(){b(this,e)}));zn.AIRCONDITIONING={type:3,value:"AIRCONDITIONING"},zn.AUDIOVISUAL={type:3,value:"AUDIOVISUAL"},zn.CATENARY_SYSTEM={type:3,value:"CATENARY_SYSTEM"},zn.CHEMICAL={type:3,value:"CHEMICAL"},zn.CHILLEDWATER={type:3,value:"CHILLEDWATER"},zn.COMMUNICATION={type:3,value:"COMMUNICATION"},zn.COMPRESSEDAIR={type:3,value:"COMPRESSEDAIR"},zn.CONDENSERWATER={type:3,value:"CONDENSERWATER"},zn.CONTROL={type:3,value:"CONTROL"},zn.CONVEYING={type:3,value:"CONVEYING"},zn.DATA={type:3,value:"DATA"},zn.DISPOSAL={type:3,value:"DISPOSAL"},zn.DOMESTICCOLDWATER={type:3,value:"DOMESTICCOLDWATER"},zn.DOMESTICHOTWATER={type:3,value:"DOMESTICHOTWATER"},zn.DRAINAGE={type:3,value:"DRAINAGE"},zn.EARTHING={type:3,value:"EARTHING"},zn.ELECTRICAL={type:3,value:"ELECTRICAL"},zn.ELECTROACOUSTIC={type:3,value:"ELECTROACOUSTIC"},zn.EXHAUST={type:3,value:"EXHAUST"},zn.FIREPROTECTION={type:3,value:"FIREPROTECTION"},zn.FIXEDTRANSMISSIONNETWORK={type:3,value:"FIXEDTRANSMISSIONNETWORK"},zn.FUEL={type:3,value:"FUEL"},zn.GAS={type:3,value:"GAS"},zn.HAZARDOUS={type:3,value:"HAZARDOUS"},zn.HEATING={type:3,value:"HEATING"},zn.LIGHTING={type:3,value:"LIGHTING"},zn.LIGHTNINGPROTECTION={type:3,value:"LIGHTNINGPROTECTION"},zn.MOBILENETWORK={type:3,value:"MOBILENETWORK"},zn.MONITORINGSYSTEM={type:3,value:"MONITORINGSYSTEM"},zn.MUNICIPALSOLIDWASTE={type:3,value:"MUNICIPALSOLIDWASTE"},zn.OIL={type:3,value:"OIL"},zn.OPERATIONAL={type:3,value:"OPERATIONAL"},zn.OPERATIONALTELEPHONYSYSTEM={type:3,value:"OPERATIONALTELEPHONYSYSTEM"},zn.OVERHEAD_CONTACTLINE_SYSTEM={type:3,value:"OVERHEAD_CONTACTLINE_SYSTEM"},zn.POWERGENERATION={type:3,value:"POWERGENERATION"},zn.RAINWATER={type:3,value:"RAINWATER"},zn.REFRIGERATION={type:3,value:"REFRIGERATION"},zn.RETURN_CIRCUIT={type:3,value:"RETURN_CIRCUIT"},zn.SECURITY={type:3,value:"SECURITY"},zn.SEWAGE={type:3,value:"SEWAGE"},zn.SIGNAL={type:3,value:"SIGNAL"},zn.STORMWATER={type:3,value:"STORMWATER"},zn.TELEPHONE={type:3,value:"TELEPHONE"},zn.TV={type:3,value:"TV"},zn.VACUUM={type:3,value:"VACUUM"},zn.VENT={type:3,value:"VENT"},zn.VENTILATION={type:3,value:"VENTILATION"},zn.WASTEWATER={type:3,value:"WASTEWATER"},zn.WATERSUPPLY={type:3,value:"WATERSUPPLY"},zn.USERDEFINED={type:3,value:"USERDEFINED"},zn.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcDistributionSystemEnum=zn;var Kn=P((function e(){b(this,e)}));Kn.CONFIDENTIAL={type:3,value:"CONFIDENTIAL"},Kn.PERSONAL={type:3,value:"PERSONAL"},Kn.PUBLIC={type:3,value:"PUBLIC"},Kn.RESTRICTED={type:3,value:"RESTRICTED"},Kn.USERDEFINED={type:3,value:"USERDEFINED"},Kn.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcDocumentConfidentialityEnum=Kn;var Yn=P((function e(){b(this,e)}));Yn.DRAFT={type:3,value:"DRAFT"},Yn.FINAL={type:3,value:"FINAL"},Yn.FINALDRAFT={type:3,value:"FINALDRAFT"},Yn.REVISION={type:3,value:"REVISION"},Yn.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcDocumentStatusEnum=Yn;var Xn=P((function e(){b(this,e)}));Xn.DOUBLE_ACTING={type:3,value:"DOUBLE_ACTING"},Xn.FIXEDPANEL={type:3,value:"FIXEDPANEL"},Xn.FOLDING={type:3,value:"FOLDING"},Xn.REVOLVING={type:3,value:"REVOLVING"},Xn.ROLLINGUP={type:3,value:"ROLLINGUP"},Xn.SLIDING={type:3,value:"SLIDING"},Xn.SWINGING={type:3,value:"SWINGING"},Xn.USERDEFINED={type:3,value:"USERDEFINED"},Xn.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcDoorPanelOperationEnum=Xn;var qn=P((function e(){b(this,e)}));qn.LEFT={type:3,value:"LEFT"},qn.MIDDLE={type:3,value:"MIDDLE"},qn.RIGHT={type:3,value:"RIGHT"},qn.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcDoorPanelPositionEnum=qn;var Jn=P((function e(){b(this,e)}));Jn.ALUMINIUM={type:3,value:"ALUMINIUM"},Jn.ALUMINIUM_PLASTIC={type:3,value:"ALUMINIUM_PLASTIC"},Jn.ALUMINIUM_WOOD={type:3,value:"ALUMINIUM_WOOD"},Jn.HIGH_GRADE_STEEL={type:3,value:"HIGH_GRADE_STEEL"},Jn.PLASTIC={type:3,value:"PLASTIC"},Jn.STEEL={type:3,value:"STEEL"},Jn.WOOD={type:3,value:"WOOD"},Jn.USERDEFINED={type:3,value:"USERDEFINED"},Jn.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcDoorStyleConstructionEnum=Jn;var Zn=P((function e(){b(this,e)}));Zn.DOUBLE_DOOR_DOUBLE_SWING={type:3,value:"DOUBLE_DOOR_DOUBLE_SWING"},Zn.DOUBLE_DOOR_FOLDING={type:3,value:"DOUBLE_DOOR_FOLDING"},Zn.DOUBLE_DOOR_SINGLE_SWING={type:3,value:"DOUBLE_DOOR_SINGLE_SWING"},Zn.DOUBLE_DOOR_SINGLE_SWING_OPPOSITE_LEFT={type:3,value:"DOUBLE_DOOR_SINGLE_SWING_OPPOSITE_LEFT"},Zn.DOUBLE_DOOR_SINGLE_SWING_OPPOSITE_RIGHT={type:3,value:"DOUBLE_DOOR_SINGLE_SWING_OPPOSITE_RIGHT"},Zn.DOUBLE_DOOR_SLIDING={type:3,value:"DOUBLE_DOOR_SLIDING"},Zn.DOUBLE_SWING_LEFT={type:3,value:"DOUBLE_SWING_LEFT"},Zn.DOUBLE_SWING_RIGHT={type:3,value:"DOUBLE_SWING_RIGHT"},Zn.FOLDING_TO_LEFT={type:3,value:"FOLDING_TO_LEFT"},Zn.FOLDING_TO_RIGHT={type:3,value:"FOLDING_TO_RIGHT"},Zn.REVOLVING={type:3,value:"REVOLVING"},Zn.ROLLINGUP={type:3,value:"ROLLINGUP"},Zn.SINGLE_SWING_LEFT={type:3,value:"SINGLE_SWING_LEFT"},Zn.SINGLE_SWING_RIGHT={type:3,value:"SINGLE_SWING_RIGHT"},Zn.SLIDING_TO_LEFT={type:3,value:"SLIDING_TO_LEFT"},Zn.SLIDING_TO_RIGHT={type:3,value:"SLIDING_TO_RIGHT"},Zn.USERDEFINED={type:3,value:"USERDEFINED"},Zn.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcDoorStyleOperationEnum=Zn;var $n=P((function e(){b(this,e)}));$n.BOOM_BARRIER={type:3,value:"BOOM_BARRIER"},$n.DOOR={type:3,value:"DOOR"},$n.GATE={type:3,value:"GATE"},$n.TRAPDOOR={type:3,value:"TRAPDOOR"},$n.TURNSTILE={type:3,value:"TURNSTILE"},$n.USERDEFINED={type:3,value:"USERDEFINED"},$n.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcDoorTypeEnum=$n;var er=P((function e(){b(this,e)}));er.DOUBLE_PANEL_DOUBLE_SWING={type:3,value:"DOUBLE_PANEL_DOUBLE_SWING"},er.DOUBLE_PANEL_FOLDING={type:3,value:"DOUBLE_PANEL_FOLDING"},er.DOUBLE_PANEL_LIFTING_VERTICAL={type:3,value:"DOUBLE_PANEL_LIFTING_VERTICAL"},er.DOUBLE_PANEL_SINGLE_SWING={type:3,value:"DOUBLE_PANEL_SINGLE_SWING"},er.DOUBLE_PANEL_SINGLE_SWING_OPPOSITE_LEFT={type:3,value:"DOUBLE_PANEL_SINGLE_SWING_OPPOSITE_LEFT"},er.DOUBLE_PANEL_SINGLE_SWING_OPPOSITE_RIGHT={type:3,value:"DOUBLE_PANEL_SINGLE_SWING_OPPOSITE_RIGHT"},er.DOUBLE_PANEL_SLIDING={type:3,value:"DOUBLE_PANEL_SLIDING"},er.DOUBLE_SWING_LEFT={type:3,value:"DOUBLE_SWING_LEFT"},er.DOUBLE_SWING_RIGHT={type:3,value:"DOUBLE_SWING_RIGHT"},er.FOLDING_TO_LEFT={type:3,value:"FOLDING_TO_LEFT"},er.FOLDING_TO_RIGHT={type:3,value:"FOLDING_TO_RIGHT"},er.LIFTING_HORIZONTAL={type:3,value:"LIFTING_HORIZONTAL"},er.LIFTING_VERTICAL_LEFT={type:3,value:"LIFTING_VERTICAL_LEFT"},er.LIFTING_VERTICAL_RIGHT={type:3,value:"LIFTING_VERTICAL_RIGHT"},er.REVOLVING_HORIZONTAL={type:3,value:"REVOLVING_HORIZONTAL"},er.REVOLVING_VERTICAL={type:3,value:"REVOLVING_VERTICAL"},er.ROLLINGUP={type:3,value:"ROLLINGUP"},er.SINGLE_SWING_LEFT={type:3,value:"SINGLE_SWING_LEFT"},er.SINGLE_SWING_RIGHT={type:3,value:"SINGLE_SWING_RIGHT"},er.SLIDING_TO_LEFT={type:3,value:"SLIDING_TO_LEFT"},er.SLIDING_TO_RIGHT={type:3,value:"SLIDING_TO_RIGHT"},er.SWING_FIXED_LEFT={type:3,value:"SWING_FIXED_LEFT"},er.SWING_FIXED_RIGHT={type:3,value:"SWING_FIXED_RIGHT"},er.USERDEFINED={type:3,value:"USERDEFINED"},er.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcDoorTypeOperationEnum=er;var tr=P((function e(){b(this,e)}));tr.BEND={type:3,value:"BEND"},tr.CONNECTOR={type:3,value:"CONNECTOR"},tr.ENTRY={type:3,value:"ENTRY"},tr.EXIT={type:3,value:"EXIT"},tr.JUNCTION={type:3,value:"JUNCTION"},tr.OBSTRUCTION={type:3,value:"OBSTRUCTION"},tr.TRANSITION={type:3,value:"TRANSITION"},tr.USERDEFINED={type:3,value:"USERDEFINED"},tr.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcDuctFittingTypeEnum=tr;var nr=P((function e(){b(this,e)}));nr.FLEXIBLESEGMENT={type:3,value:"FLEXIBLESEGMENT"},nr.RIGIDSEGMENT={type:3,value:"RIGIDSEGMENT"},nr.USERDEFINED={type:3,value:"USERDEFINED"},nr.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcDuctSegmentTypeEnum=nr;var rr=P((function e(){b(this,e)}));rr.FLATOVAL={type:3,value:"FLATOVAL"},rr.RECTANGULAR={type:3,value:"RECTANGULAR"},rr.ROUND={type:3,value:"ROUND"},rr.USERDEFINED={type:3,value:"USERDEFINED"},rr.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcDuctSilencerTypeEnum=rr;var ir=P((function e(){b(this,e)}));ir.BASE_EXCAVATION={type:3,value:"BASE_EXCAVATION"},ir.CUT={type:3,value:"CUT"},ir.DREDGING={type:3,value:"DREDGING"},ir.EXCAVATION={type:3,value:"EXCAVATION"},ir.OVEREXCAVATION={type:3,value:"OVEREXCAVATION"},ir.PAVEMENTMILLING={type:3,value:"PAVEMENTMILLING"},ir.STEPEXCAVATION={type:3,value:"STEPEXCAVATION"},ir.TOPSOILREMOVAL={type:3,value:"TOPSOILREMOVAL"},ir.TRENCH={type:3,value:"TRENCH"},ir.USERDEFINED={type:3,value:"USERDEFINED"},ir.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcEarthworksCutTypeEnum=ir;var ar=P((function e(){b(this,e)}));ar.BACKFILL={type:3,value:"BACKFILL"},ar.COUNTERWEIGHT={type:3,value:"COUNTERWEIGHT"},ar.EMBANKMENT={type:3,value:"EMBANKMENT"},ar.SLOPEFILL={type:3,value:"SLOPEFILL"},ar.SUBGRADE={type:3,value:"SUBGRADE"},ar.SUBGRADEBED={type:3,value:"SUBGRADEBED"},ar.TRANSITIONSECTION={type:3,value:"TRANSITIONSECTION"},ar.USERDEFINED={type:3,value:"USERDEFINED"},ar.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcEarthworksFillTypeEnum=ar;var sr=P((function e(){b(this,e)}));sr.DISHWASHER={type:3,value:"DISHWASHER"},sr.ELECTRICCOOKER={type:3,value:"ELECTRICCOOKER"},sr.FREESTANDINGELECTRICHEATER={type:3,value:"FREESTANDINGELECTRICHEATER"},sr.FREESTANDINGFAN={type:3,value:"FREESTANDINGFAN"},sr.FREESTANDINGWATERCOOLER={type:3,value:"FREESTANDINGWATERCOOLER"},sr.FREESTANDINGWATERHEATER={type:3,value:"FREESTANDINGWATERHEATER"},sr.FREEZER={type:3,value:"FREEZER"},sr.FRIDGE_FREEZER={type:3,value:"FRIDGE_FREEZER"},sr.HANDDRYER={type:3,value:"HANDDRYER"},sr.KITCHENMACHINE={type:3,value:"KITCHENMACHINE"},sr.MICROWAVE={type:3,value:"MICROWAVE"},sr.PHOTOCOPIER={type:3,value:"PHOTOCOPIER"},sr.REFRIGERATOR={type:3,value:"REFRIGERATOR"},sr.TUMBLEDRYER={type:3,value:"TUMBLEDRYER"},sr.VENDINGMACHINE={type:3,value:"VENDINGMACHINE"},sr.WASHINGMACHINE={type:3,value:"WASHINGMACHINE"},sr.USERDEFINED={type:3,value:"USERDEFINED"},sr.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcElectricApplianceTypeEnum=sr;var or=P((function e(){b(this,e)}));or.CONSUMERUNIT={type:3,value:"CONSUMERUNIT"},or.DISTRIBUTIONBOARD={type:3,value:"DISTRIBUTIONBOARD"},or.MOTORCONTROLCENTRE={type:3,value:"MOTORCONTROLCENTRE"},or.SWITCHBOARD={type:3,value:"SWITCHBOARD"},or.USERDEFINED={type:3,value:"USERDEFINED"},or.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcElectricDistributionBoardTypeEnum=or;var lr=P((function e(){b(this,e)}));lr.BATTERY={type:3,value:"BATTERY"},lr.CAPACITOR={type:3,value:"CAPACITOR"},lr.CAPACITORBANK={type:3,value:"CAPACITORBANK"},lr.COMPENSATOR={type:3,value:"COMPENSATOR"},lr.HARMONICFILTER={type:3,value:"HARMONICFILTER"},lr.INDUCTOR={type:3,value:"INDUCTOR"},lr.INDUCTORBANK={type:3,value:"INDUCTORBANK"},lr.RECHARGER={type:3,value:"RECHARGER"},lr.UPS={type:3,value:"UPS"},lr.USERDEFINED={type:3,value:"USERDEFINED"},lr.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcElectricFlowStorageDeviceTypeEnum=lr;var ur=P((function e(){b(this,e)}));ur.ELECTRONICFILTER={type:3,value:"ELECTRONICFILTER"},ur.USERDEFINED={type:3,value:"USERDEFINED"},ur.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcElectricFlowTreatmentDeviceTypeEnum=ur;var cr=P((function e(){b(this,e)}));cr.CHP={type:3,value:"CHP"},cr.ENGINEGENERATOR={type:3,value:"ENGINEGENERATOR"},cr.STANDALONE={type:3,value:"STANDALONE"},cr.USERDEFINED={type:3,value:"USERDEFINED"},cr.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcElectricGeneratorTypeEnum=cr;var fr=P((function e(){b(this,e)}));fr.DC={type:3,value:"DC"},fr.INDUCTION={type:3,value:"INDUCTION"},fr.POLYPHASE={type:3,value:"POLYPHASE"},fr.RELUCTANCESYNCHRONOUS={type:3,value:"RELUCTANCESYNCHRONOUS"},fr.SYNCHRONOUS={type:3,value:"SYNCHRONOUS"},fr.USERDEFINED={type:3,value:"USERDEFINED"},fr.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcElectricMotorTypeEnum=fr;var pr=P((function e(){b(this,e)}));pr.RELAY={type:3,value:"RELAY"},pr.TIMECLOCK={type:3,value:"TIMECLOCK"},pr.TIMEDELAY={type:3,value:"TIMEDELAY"},pr.USERDEFINED={type:3,value:"USERDEFINED"},pr.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcElectricTimeControlTypeEnum=pr;var Ar=P((function e(){b(this,e)}));Ar.ABUTMENT={type:3,value:"ABUTMENT"},Ar.ACCESSORY_ASSEMBLY={type:3,value:"ACCESSORY_ASSEMBLY"},Ar.ARCH={type:3,value:"ARCH"},Ar.BEAM_GRID={type:3,value:"BEAM_GRID"},Ar.BRACED_FRAME={type:3,value:"BRACED_FRAME"},Ar.CROSS_BRACING={type:3,value:"CROSS_BRACING"},Ar.DECK={type:3,value:"DECK"},Ar.DILATATIONPANEL={type:3,value:"DILATATIONPANEL"},Ar.ENTRANCEWORKS={type:3,value:"ENTRANCEWORKS"},Ar.GIRDER={type:3,value:"GIRDER"},Ar.GRID={type:3,value:"GRID"},Ar.MAST={type:3,value:"MAST"},Ar.PIER={type:3,value:"PIER"},Ar.PYLON={type:3,value:"PYLON"},Ar.RAIL_MECHANICAL_EQUIPMENT_ASSEMBLY={type:3,value:"RAIL_MECHANICAL_EQUIPMENT_ASSEMBLY"},Ar.REINFORCEMENT_UNIT={type:3,value:"REINFORCEMENT_UNIT"},Ar.RIGID_FRAME={type:3,value:"RIGID_FRAME"},Ar.SHELTER={type:3,value:"SHELTER"},Ar.SIGNALASSEMBLY={type:3,value:"SIGNALASSEMBLY"},Ar.SLAB_FIELD={type:3,value:"SLAB_FIELD"},Ar.SUMPBUSTER={type:3,value:"SUMPBUSTER"},Ar.SUPPORTINGASSEMBLY={type:3,value:"SUPPORTINGASSEMBLY"},Ar.SUSPENSIONASSEMBLY={type:3,value:"SUSPENSIONASSEMBLY"},Ar.TRACKPANEL={type:3,value:"TRACKPANEL"},Ar.TRACTION_SWITCHING_ASSEMBLY={type:3,value:"TRACTION_SWITCHING_ASSEMBLY"},Ar.TRAFFIC_CALMING_DEVICE={type:3,value:"TRAFFIC_CALMING_DEVICE"},Ar.TRUSS={type:3,value:"TRUSS"},Ar.TURNOUTPANEL={type:3,value:"TURNOUTPANEL"},Ar.USERDEFINED={type:3,value:"USERDEFINED"},Ar.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcElementAssemblyTypeEnum=Ar;var dr=P((function e(){b(this,e)}));dr.COMPLEX={type:3,value:"COMPLEX"},dr.ELEMENT={type:3,value:"ELEMENT"},dr.PARTIAL={type:3,value:"PARTIAL"},e.IfcElementCompositionEnum=dr;var vr=P((function e(){b(this,e)}));vr.EXTERNALCOMBUSTION={type:3,value:"EXTERNALCOMBUSTION"},vr.INTERNALCOMBUSTION={type:3,value:"INTERNALCOMBUSTION"},vr.USERDEFINED={type:3,value:"USERDEFINED"},vr.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcEngineTypeEnum=vr;var hr=P((function e(){b(this,e)}));hr.DIRECTEVAPORATIVEAIRWASHER={type:3,value:"DIRECTEVAPORATIVEAIRWASHER"},hr.DIRECTEVAPORATIVEPACKAGEDROTARYAIRCOOLER={type:3,value:"DIRECTEVAPORATIVEPACKAGEDROTARYAIRCOOLER"},hr.DIRECTEVAPORATIVERANDOMMEDIAAIRCOOLER={type:3,value:"DIRECTEVAPORATIVERANDOMMEDIAAIRCOOLER"},hr.DIRECTEVAPORATIVERIGIDMEDIAAIRCOOLER={type:3,value:"DIRECTEVAPORATIVERIGIDMEDIAAIRCOOLER"},hr.DIRECTEVAPORATIVESLINGERSPACKAGEDAIRCOOLER={type:3,value:"DIRECTEVAPORATIVESLINGERSPACKAGEDAIRCOOLER"},hr.INDIRECTDIRECTCOMBINATION={type:3,value:"INDIRECTDIRECTCOMBINATION"},hr.INDIRECTEVAPORATIVECOOLINGTOWERORCOILCOOLER={type:3,value:"INDIRECTEVAPORATIVECOOLINGTOWERORCOILCOOLER"},hr.INDIRECTEVAPORATIVEPACKAGEAIRCOOLER={type:3,value:"INDIRECTEVAPORATIVEPACKAGEAIRCOOLER"},hr.INDIRECTEVAPORATIVEWETCOIL={type:3,value:"INDIRECTEVAPORATIVEWETCOIL"},hr.USERDEFINED={type:3,value:"USERDEFINED"},hr.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcEvaporativeCoolerTypeEnum=hr;var Ir=P((function e(){b(this,e)}));Ir.DIRECTEXPANSION={type:3,value:"DIRECTEXPANSION"},Ir.DIRECTEXPANSIONBRAZEDPLATE={type:3,value:"DIRECTEXPANSIONBRAZEDPLATE"},Ir.DIRECTEXPANSIONSHELLANDTUBE={type:3,value:"DIRECTEXPANSIONSHELLANDTUBE"},Ir.DIRECTEXPANSIONTUBEINTUBE={type:3,value:"DIRECTEXPANSIONTUBEINTUBE"},Ir.FLOODEDSHELLANDTUBE={type:3,value:"FLOODEDSHELLANDTUBE"},Ir.SHELLANDCOIL={type:3,value:"SHELLANDCOIL"},Ir.USERDEFINED={type:3,value:"USERDEFINED"},Ir.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcEvaporatorTypeEnum=Ir;var yr=P((function e(){b(this,e)}));yr.EVENTCOMPLEX={type:3,value:"EVENTCOMPLEX"},yr.EVENTMESSAGE={type:3,value:"EVENTMESSAGE"},yr.EVENTRULE={type:3,value:"EVENTRULE"},yr.EVENTTIME={type:3,value:"EVENTTIME"},yr.USERDEFINED={type:3,value:"USERDEFINED"},yr.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcEventTriggerTypeEnum=yr;var mr=P((function e(){b(this,e)}));mr.ENDEVENT={type:3,value:"ENDEVENT"},mr.INTERMEDIATEEVENT={type:3,value:"INTERMEDIATEEVENT"},mr.STARTEVENT={type:3,value:"STARTEVENT"},mr.USERDEFINED={type:3,value:"USERDEFINED"},mr.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcEventTypeEnum=mr;var wr=P((function e(){b(this,e)}));wr.EXTERNAL={type:3,value:"EXTERNAL"},wr.EXTERNAL_EARTH={type:3,value:"EXTERNAL_EARTH"},wr.EXTERNAL_FIRE={type:3,value:"EXTERNAL_FIRE"},wr.EXTERNAL_WATER={type:3,value:"EXTERNAL_WATER"},wr.USERDEFINED={type:3,value:"USERDEFINED"},wr.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcExternalSpatialElementTypeEnum=wr;var gr=P((function e(){b(this,e)}));gr.ABOVEGROUND={type:3,value:"ABOVEGROUND"},gr.BELOWGROUND={type:3,value:"BELOWGROUND"},gr.JUNCTION={type:3,value:"JUNCTION"},gr.LEVELCROSSING={type:3,value:"LEVELCROSSING"},gr.SEGMENT={type:3,value:"SEGMENT"},gr.SUBSTRUCTURE={type:3,value:"SUBSTRUCTURE"},gr.SUPERSTRUCTURE={type:3,value:"SUPERSTRUCTURE"},gr.TERMINAL={type:3,value:"TERMINAL"},gr.USERDEFINED={type:3,value:"USERDEFINED"},gr.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcFacilityPartCommonTypeEnum=gr;var Er=P((function e(){b(this,e)}));Er.LATERAL={type:3,value:"LATERAL"},Er.LONGITUDINAL={type:3,value:"LONGITUDINAL"},Er.REGION={type:3,value:"REGION"},Er.VERTICAL={type:3,value:"VERTICAL"},Er.USERDEFINED={type:3,value:"USERDEFINED"},Er.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcFacilityUsageEnum=Er;var Tr=P((function e(){b(this,e)}));Tr.CENTRIFUGALAIRFOIL={type:3,value:"CENTRIFUGALAIRFOIL"},Tr.CENTRIFUGALBACKWARDINCLINEDCURVED={type:3,value:"CENTRIFUGALBACKWARDINCLINEDCURVED"},Tr.CENTRIFUGALFORWARDCURVED={type:3,value:"CENTRIFUGALFORWARDCURVED"},Tr.CENTRIFUGALRADIAL={type:3,value:"CENTRIFUGALRADIAL"},Tr.PROPELLORAXIAL={type:3,value:"PROPELLORAXIAL"},Tr.TUBEAXIAL={type:3,value:"TUBEAXIAL"},Tr.VANEAXIAL={type:3,value:"VANEAXIAL"},Tr.USERDEFINED={type:3,value:"USERDEFINED"},Tr.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcFanTypeEnum=Tr;var br=P((function e(){b(this,e)}));br.GLUE={type:3,value:"GLUE"},br.MORTAR={type:3,value:"MORTAR"},br.WELD={type:3,value:"WELD"},br.USERDEFINED={type:3,value:"USERDEFINED"},br.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcFastenerTypeEnum=br;var Dr=P((function e(){b(this,e)}));Dr.AIRPARTICLEFILTER={type:3,value:"AIRPARTICLEFILTER"},Dr.COMPRESSEDAIRFILTER={type:3,value:"COMPRESSEDAIRFILTER"},Dr.ODORFILTER={type:3,value:"ODORFILTER"},Dr.OILFILTER={type:3,value:"OILFILTER"},Dr.STRAINER={type:3,value:"STRAINER"},Dr.WATERFILTER={type:3,value:"WATERFILTER"},Dr.USERDEFINED={type:3,value:"USERDEFINED"},Dr.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcFilterTypeEnum=Dr;var Pr=P((function e(){b(this,e)}));Pr.BREECHINGINLET={type:3,value:"BREECHINGINLET"},Pr.FIREHYDRANT={type:3,value:"FIREHYDRANT"},Pr.FIREMONITOR={type:3,value:"FIREMONITOR"},Pr.HOSEREEL={type:3,value:"HOSEREEL"},Pr.SPRINKLER={type:3,value:"SPRINKLER"},Pr.SPRINKLERDEFLECTOR={type:3,value:"SPRINKLERDEFLECTOR"},Pr.USERDEFINED={type:3,value:"USERDEFINED"},Pr.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcFireSuppressionTerminalTypeEnum=Pr;var Rr=P((function e(){b(this,e)}));Rr.SINK={type:3,value:"SINK"},Rr.SOURCE={type:3,value:"SOURCE"},Rr.SOURCEANDSINK={type:3,value:"SOURCEANDSINK"},Rr.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcFlowDirectionEnum=Rr;var Cr=P((function e(){b(this,e)}));Cr.AMMETER={type:3,value:"AMMETER"},Cr.COMBINED={type:3,value:"COMBINED"},Cr.FREQUENCYMETER={type:3,value:"FREQUENCYMETER"},Cr.PHASEANGLEMETER={type:3,value:"PHASEANGLEMETER"},Cr.POWERFACTORMETER={type:3,value:"POWERFACTORMETER"},Cr.PRESSUREGAUGE={type:3,value:"PRESSUREGAUGE"},Cr.THERMOMETER={type:3,value:"THERMOMETER"},Cr.VOLTMETER={type:3,value:"VOLTMETER"},Cr.VOLTMETER_PEAK={type:3,value:"VOLTMETER_PEAK"},Cr.VOLTMETER_RMS={type:3,value:"VOLTMETER_RMS"},Cr.USERDEFINED={type:3,value:"USERDEFINED"},Cr.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcFlowInstrumentTypeEnum=Cr;var _r=P((function e(){b(this,e)}));_r.ENERGYMETER={type:3,value:"ENERGYMETER"},_r.GASMETER={type:3,value:"GASMETER"},_r.OILMETER={type:3,value:"OILMETER"},_r.WATERMETER={type:3,value:"WATERMETER"},_r.USERDEFINED={type:3,value:"USERDEFINED"},_r.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcFlowMeterTypeEnum=_r;var Br=P((function e(){b(this,e)}));Br.CAISSON_FOUNDATION={type:3,value:"CAISSON_FOUNDATION"},Br.FOOTING_BEAM={type:3,value:"FOOTING_BEAM"},Br.PAD_FOOTING={type:3,value:"PAD_FOOTING"},Br.PILE_CAP={type:3,value:"PILE_CAP"},Br.STRIP_FOOTING={type:3,value:"STRIP_FOOTING"},Br.USERDEFINED={type:3,value:"USERDEFINED"},Br.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcFootingTypeEnum=Br;var Or=P((function e(){b(this,e)}));Or.BED={type:3,value:"BED"},Or.CHAIR={type:3,value:"CHAIR"},Or.DESK={type:3,value:"DESK"},Or.FILECABINET={type:3,value:"FILECABINET"},Or.SHELF={type:3,value:"SHELF"},Or.SOFA={type:3,value:"SOFA"},Or.TABLE={type:3,value:"TABLE"},Or.TECHNICALCABINET={type:3,value:"TECHNICALCABINET"},Or.USERDEFINED={type:3,value:"USERDEFINED"},Or.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcFurnitureTypeEnum=Or;var Sr=P((function e(){b(this,e)}));Sr.SOIL_BORING_POINT={type:3,value:"SOIL_BORING_POINT"},Sr.TERRAIN={type:3,value:"TERRAIN"},Sr.VEGETATION={type:3,value:"VEGETATION"},Sr.USERDEFINED={type:3,value:"USERDEFINED"},Sr.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcGeographicElementTypeEnum=Sr;var Nr=P((function e(){b(this,e)}));Nr.ELEVATION_VIEW={type:3,value:"ELEVATION_VIEW"},Nr.GRAPH_VIEW={type:3,value:"GRAPH_VIEW"},Nr.MODEL_VIEW={type:3,value:"MODEL_VIEW"},Nr.PLAN_VIEW={type:3,value:"PLAN_VIEW"},Nr.REFLECTED_PLAN_VIEW={type:3,value:"REFLECTED_PLAN_VIEW"},Nr.SECTION_VIEW={type:3,value:"SECTION_VIEW"},Nr.SKETCH_VIEW={type:3,value:"SKETCH_VIEW"},Nr.USERDEFINED={type:3,value:"USERDEFINED"},Nr.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcGeometricProjectionEnum=Nr;var Lr=P((function e(){b(this,e)}));Lr.SOLID={type:3,value:"SOLID"},Lr.VOID={type:3,value:"VOID"},Lr.WATER={type:3,value:"WATER"},Lr.USERDEFINED={type:3,value:"USERDEFINED"},Lr.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcGeotechnicalStratumTypeEnum=Lr;var Mr=P((function e(){b(this,e)}));Mr.GLOBAL_COORDS={type:3,value:"GLOBAL_COORDS"},Mr.LOCAL_COORDS={type:3,value:"LOCAL_COORDS"},e.IfcGlobalOrLocalEnum=Mr;var xr=P((function e(){b(this,e)}));xr.IRREGULAR={type:3,value:"IRREGULAR"},xr.RADIAL={type:3,value:"RADIAL"},xr.RECTANGULAR={type:3,value:"RECTANGULAR"},xr.TRIANGULAR={type:3,value:"TRIANGULAR"},xr.USERDEFINED={type:3,value:"USERDEFINED"},xr.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcGridTypeEnum=xr;var Fr=P((function e(){b(this,e)}));Fr.PLATE={type:3,value:"PLATE"},Fr.SHELLANDTUBE={type:3,value:"SHELLANDTUBE"},Fr.TURNOUTHEATING={type:3,value:"TURNOUTHEATING"},Fr.USERDEFINED={type:3,value:"USERDEFINED"},Fr.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcHeatExchangerTypeEnum=Fr;var Hr=P((function e(){b(this,e)}));Hr.ADIABATICAIRWASHER={type:3,value:"ADIABATICAIRWASHER"},Hr.ADIABATICATOMIZING={type:3,value:"ADIABATICATOMIZING"},Hr.ADIABATICCOMPRESSEDAIRNOZZLE={type:3,value:"ADIABATICCOMPRESSEDAIRNOZZLE"},Hr.ADIABATICPAN={type:3,value:"ADIABATICPAN"},Hr.ADIABATICRIGIDMEDIA={type:3,value:"ADIABATICRIGIDMEDIA"},Hr.ADIABATICULTRASONIC={type:3,value:"ADIABATICULTRASONIC"},Hr.ADIABATICWETTEDELEMENT={type:3,value:"ADIABATICWETTEDELEMENT"},Hr.ASSISTEDBUTANE={type:3,value:"ASSISTEDBUTANE"},Hr.ASSISTEDELECTRIC={type:3,value:"ASSISTEDELECTRIC"},Hr.ASSISTEDNATURALGAS={type:3,value:"ASSISTEDNATURALGAS"},Hr.ASSISTEDPROPANE={type:3,value:"ASSISTEDPROPANE"},Hr.ASSISTEDSTEAM={type:3,value:"ASSISTEDSTEAM"},Hr.STEAMINJECTION={type:3,value:"STEAMINJECTION"},Hr.USERDEFINED={type:3,value:"USERDEFINED"},Hr.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcHumidifierTypeEnum=Hr;var Ur=P((function e(){b(this,e)}));Ur.BUMPER={type:3,value:"BUMPER"},Ur.CRASHCUSHION={type:3,value:"CRASHCUSHION"},Ur.DAMPINGSYSTEM={type:3,value:"DAMPINGSYSTEM"},Ur.FENDER={type:3,value:"FENDER"},Ur.USERDEFINED={type:3,value:"USERDEFINED"},Ur.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcImpactProtectionDeviceTypeEnum=Ur;var Gr=P((function e(){b(this,e)}));Gr.CYCLONIC={type:3,value:"CYCLONIC"},Gr.GREASE={type:3,value:"GREASE"},Gr.OIL={type:3,value:"OIL"},Gr.PETROL={type:3,value:"PETROL"},Gr.USERDEFINED={type:3,value:"USERDEFINED"},Gr.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcInterceptorTypeEnum=Gr;var kr=P((function e(){b(this,e)}));kr.EXTERNAL={type:3,value:"EXTERNAL"},kr.EXTERNAL_EARTH={type:3,value:"EXTERNAL_EARTH"},kr.EXTERNAL_FIRE={type:3,value:"EXTERNAL_FIRE"},kr.EXTERNAL_WATER={type:3,value:"EXTERNAL_WATER"},kr.INTERNAL={type:3,value:"INTERNAL"},kr.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcInternalOrExternalEnum=kr;var jr=P((function e(){b(this,e)}));jr.ASSETINVENTORY={type:3,value:"ASSETINVENTORY"},jr.FURNITUREINVENTORY={type:3,value:"FURNITUREINVENTORY"},jr.SPACEINVENTORY={type:3,value:"SPACEINVENTORY"},jr.USERDEFINED={type:3,value:"USERDEFINED"},jr.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcInventoryTypeEnum=jr;var Vr=P((function e(){b(this,e)}));Vr.DATA={type:3,value:"DATA"},Vr.POWER={type:3,value:"POWER"},Vr.USERDEFINED={type:3,value:"USERDEFINED"},Vr.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcJunctionBoxTypeEnum=Vr;var Qr=P((function e(){b(this,e)}));Qr.PIECEWISE_BEZIER_KNOTS={type:3,value:"PIECEWISE_BEZIER_KNOTS"},Qr.QUASI_UNIFORM_KNOTS={type:3,value:"QUASI_UNIFORM_KNOTS"},Qr.UNIFORM_KNOTS={type:3,value:"UNIFORM_KNOTS"},Qr.UNSPECIFIED={type:3,value:"UNSPECIFIED"},e.IfcKnotType=Qr;var Wr=P((function e(){b(this,e)}));Wr.ADMINISTRATION={type:3,value:"ADMINISTRATION"},Wr.CARPENTRY={type:3,value:"CARPENTRY"},Wr.CLEANING={type:3,value:"CLEANING"},Wr.CONCRETE={type:3,value:"CONCRETE"},Wr.DRYWALL={type:3,value:"DRYWALL"},Wr.ELECTRIC={type:3,value:"ELECTRIC"},Wr.FINISHING={type:3,value:"FINISHING"},Wr.FLOORING={type:3,value:"FLOORING"},Wr.GENERAL={type:3,value:"GENERAL"},Wr.HVAC={type:3,value:"HVAC"},Wr.LANDSCAPING={type:3,value:"LANDSCAPING"},Wr.MASONRY={type:3,value:"MASONRY"},Wr.PAINTING={type:3,value:"PAINTING"},Wr.PAVING={type:3,value:"PAVING"},Wr.PLUMBING={type:3,value:"PLUMBING"},Wr.ROOFING={type:3,value:"ROOFING"},Wr.SITEGRADING={type:3,value:"SITEGRADING"},Wr.STEELWORK={type:3,value:"STEELWORK"},Wr.SURVEYING={type:3,value:"SURVEYING"},Wr.USERDEFINED={type:3,value:"USERDEFINED"},Wr.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcLaborResourceTypeEnum=Wr;var zr=P((function e(){b(this,e)}));zr.COMPACTFLUORESCENT={type:3,value:"COMPACTFLUORESCENT"},zr.FLUORESCENT={type:3,value:"FLUORESCENT"},zr.HALOGEN={type:3,value:"HALOGEN"},zr.HIGHPRESSUREMERCURY={type:3,value:"HIGHPRESSUREMERCURY"},zr.HIGHPRESSURESODIUM={type:3,value:"HIGHPRESSURESODIUM"},zr.LED={type:3,value:"LED"},zr.METALHALIDE={type:3,value:"METALHALIDE"},zr.OLED={type:3,value:"OLED"},zr.TUNGSTENFILAMENT={type:3,value:"TUNGSTENFILAMENT"},zr.USERDEFINED={type:3,value:"USERDEFINED"},zr.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcLampTypeEnum=zr;var Kr=P((function e(){b(this,e)}));Kr.AXIS1={type:3,value:"AXIS1"},Kr.AXIS2={type:3,value:"AXIS2"},Kr.AXIS3={type:3,value:"AXIS3"},e.IfcLayerSetDirectionEnum=Kr;var Yr=P((function e(){b(this,e)}));Yr.TYPE_A={type:3,value:"TYPE_A"},Yr.TYPE_B={type:3,value:"TYPE_B"},Yr.TYPE_C={type:3,value:"TYPE_C"},Yr.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcLightDistributionCurveEnum=Yr;var Xr=P((function e(){b(this,e)}));Xr.COMPACTFLUORESCENT={type:3,value:"COMPACTFLUORESCENT"},Xr.FLUORESCENT={type:3,value:"FLUORESCENT"},Xr.HIGHPRESSUREMERCURY={type:3,value:"HIGHPRESSUREMERCURY"},Xr.HIGHPRESSURESODIUM={type:3,value:"HIGHPRESSURESODIUM"},Xr.LIGHTEMITTINGDIODE={type:3,value:"LIGHTEMITTINGDIODE"},Xr.LOWPRESSURESODIUM={type:3,value:"LOWPRESSURESODIUM"},Xr.LOWVOLTAGEHALOGEN={type:3,value:"LOWVOLTAGEHALOGEN"},Xr.MAINVOLTAGEHALOGEN={type:3,value:"MAINVOLTAGEHALOGEN"},Xr.METALHALIDE={type:3,value:"METALHALIDE"},Xr.TUNGSTENFILAMENT={type:3,value:"TUNGSTENFILAMENT"},Xr.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcLightEmissionSourceEnum=Xr;var qr=P((function e(){b(this,e)}));qr.DIRECTIONSOURCE={type:3,value:"DIRECTIONSOURCE"},qr.POINTSOURCE={type:3,value:"POINTSOURCE"},qr.SECURITYLIGHTING={type:3,value:"SECURITYLIGHTING"},qr.USERDEFINED={type:3,value:"USERDEFINED"},qr.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcLightFixtureTypeEnum=qr;var Jr=P((function e(){b(this,e)}));Jr.HOSEREEL={type:3,value:"HOSEREEL"},Jr.LOADINGARM={type:3,value:"LOADINGARM"},Jr.USERDEFINED={type:3,value:"USERDEFINED"},Jr.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcLiquidTerminalTypeEnum=Jr;var Zr=P((function e(){b(this,e)}));Zr.LOAD_CASE={type:3,value:"LOAD_CASE"},Zr.LOAD_COMBINATION={type:3,value:"LOAD_COMBINATION"},Zr.LOAD_GROUP={type:3,value:"LOAD_GROUP"},Zr.USERDEFINED={type:3,value:"USERDEFINED"},Zr.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcLoadGroupTypeEnum=Zr;var $r=P((function e(){b(this,e)}));$r.LOGICALAND={type:3,value:"LOGICALAND"},$r.LOGICALNOTAND={type:3,value:"LOGICALNOTAND"},$r.LOGICALNOTOR={type:3,value:"LOGICALNOTOR"},$r.LOGICALOR={type:3,value:"LOGICALOR"},$r.LOGICALXOR={type:3,value:"LOGICALXOR"},e.IfcLogicalOperatorEnum=$r;var ei=P((function e(){b(this,e)}));ei.BARRIERBEACH={type:3,value:"BARRIERBEACH"},ei.BREAKWATER={type:3,value:"BREAKWATER"},ei.CANAL={type:3,value:"CANAL"},ei.DRYDOCK={type:3,value:"DRYDOCK"},ei.FLOATINGDOCK={type:3,value:"FLOATINGDOCK"},ei.HYDROLIFT={type:3,value:"HYDROLIFT"},ei.JETTY={type:3,value:"JETTY"},ei.LAUNCHRECOVERY={type:3,value:"LAUNCHRECOVERY"},ei.MARINEDEFENCE={type:3,value:"MARINEDEFENCE"},ei.NAVIGATIONALCHANNEL={type:3,value:"NAVIGATIONALCHANNEL"},ei.PORT={type:3,value:"PORT"},ei.QUAY={type:3,value:"QUAY"},ei.REVETMENT={type:3,value:"REVETMENT"},ei.SHIPLIFT={type:3,value:"SHIPLIFT"},ei.SHIPLOCK={type:3,value:"SHIPLOCK"},ei.SHIPYARD={type:3,value:"SHIPYARD"},ei.SLIPWAY={type:3,value:"SLIPWAY"},ei.WATERWAY={type:3,value:"WATERWAY"},ei.WATERWAYSHIPLIFT={type:3,value:"WATERWAYSHIPLIFT"},ei.USERDEFINED={type:3,value:"USERDEFINED"},ei.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcMarineFacilityTypeEnum=ei;var ti=P((function e(){b(this,e)}));ti.ABOVEWATERLINE={type:3,value:"ABOVEWATERLINE"},ti.ANCHORAGE={type:3,value:"ANCHORAGE"},ti.APPROACHCHANNEL={type:3,value:"APPROACHCHANNEL"},ti.BELOWWATERLINE={type:3,value:"BELOWWATERLINE"},ti.BERTHINGSTRUCTURE={type:3,value:"BERTHINGSTRUCTURE"},ti.CHAMBER={type:3,value:"CHAMBER"},ti.CILL_LEVEL={type:3,value:"CILL_LEVEL"},ti.COPELEVEL={type:3,value:"COPELEVEL"},ti.CORE={type:3,value:"CORE"},ti.CREST={type:3,value:"CREST"},ti.GATEHEAD={type:3,value:"GATEHEAD"},ti.GUDINGSTRUCTURE={type:3,value:"GUDINGSTRUCTURE"},ti.HIGHWATERLINE={type:3,value:"HIGHWATERLINE"},ti.LANDFIELD={type:3,value:"LANDFIELD"},ti.LEEWARDSIDE={type:3,value:"LEEWARDSIDE"},ti.LOWWATERLINE={type:3,value:"LOWWATERLINE"},ti.MANUFACTURING={type:3,value:"MANUFACTURING"},ti.NAVIGATIONALAREA={type:3,value:"NAVIGATIONALAREA"},ti.PROTECTION={type:3,value:"PROTECTION"},ti.SHIPTRANSFER={type:3,value:"SHIPTRANSFER"},ti.STORAGEAREA={type:3,value:"STORAGEAREA"},ti.VEHICLESERVICING={type:3,value:"VEHICLESERVICING"},ti.WATERFIELD={type:3,value:"WATERFIELD"},ti.WEATHERSIDE={type:3,value:"WEATHERSIDE"},ti.USERDEFINED={type:3,value:"USERDEFINED"},ti.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcMarinePartTypeEnum=ti;var ni=P((function e(){b(this,e)}));ni.ANCHORBOLT={type:3,value:"ANCHORBOLT"},ni.BOLT={type:3,value:"BOLT"},ni.CHAIN={type:3,value:"CHAIN"},ni.COUPLER={type:3,value:"COUPLER"},ni.DOWEL={type:3,value:"DOWEL"},ni.NAIL={type:3,value:"NAIL"},ni.NAILPLATE={type:3,value:"NAILPLATE"},ni.RAILFASTENING={type:3,value:"RAILFASTENING"},ni.RAILJOINT={type:3,value:"RAILJOINT"},ni.RIVET={type:3,value:"RIVET"},ni.ROPE={type:3,value:"ROPE"},ni.SCREW={type:3,value:"SCREW"},ni.SHEARCONNECTOR={type:3,value:"SHEARCONNECTOR"},ni.STAPLE={type:3,value:"STAPLE"},ni.STUDSHEARCONNECTOR={type:3,value:"STUDSHEARCONNECTOR"},ni.USERDEFINED={type:3,value:"USERDEFINED"},ni.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcMechanicalFastenerTypeEnum=ni;var ri=P((function e(){b(this,e)}));ri.AIRSTATION={type:3,value:"AIRSTATION"},ri.FEEDAIRUNIT={type:3,value:"FEEDAIRUNIT"},ri.OXYGENGENERATOR={type:3,value:"OXYGENGENERATOR"},ri.OXYGENPLANT={type:3,value:"OXYGENPLANT"},ri.VACUUMSTATION={type:3,value:"VACUUMSTATION"},ri.USERDEFINED={type:3,value:"USERDEFINED"},ri.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcMedicalDeviceTypeEnum=ri;var ii=P((function e(){b(this,e)}));ii.ARCH_SEGMENT={type:3,value:"ARCH_SEGMENT"},ii.BRACE={type:3,value:"BRACE"},ii.CHORD={type:3,value:"CHORD"},ii.COLLAR={type:3,value:"COLLAR"},ii.MEMBER={type:3,value:"MEMBER"},ii.MULLION={type:3,value:"MULLION"},ii.PLATE={type:3,value:"PLATE"},ii.POST={type:3,value:"POST"},ii.PURLIN={type:3,value:"PURLIN"},ii.RAFTER={type:3,value:"RAFTER"},ii.STAY_CABLE={type:3,value:"STAY_CABLE"},ii.STIFFENING_RIB={type:3,value:"STIFFENING_RIB"},ii.STRINGER={type:3,value:"STRINGER"},ii.STRUCTURALCABLE={type:3,value:"STRUCTURALCABLE"},ii.STRUT={type:3,value:"STRUT"},ii.STUD={type:3,value:"STUD"},ii.SUSPENDER={type:3,value:"SUSPENDER"},ii.SUSPENSION_CABLE={type:3,value:"SUSPENSION_CABLE"},ii.TIEBAR={type:3,value:"TIEBAR"},ii.USERDEFINED={type:3,value:"USERDEFINED"},ii.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcMemberTypeEnum=ii;var ai=P((function e(){b(this,e)}));ai.ACCESSPOINT={type:3,value:"ACCESSPOINT"},ai.BASEBANDUNIT={type:3,value:"BASEBANDUNIT"},ai.BASETRANSCEIVERSTATION={type:3,value:"BASETRANSCEIVERSTATION"},ai.E_UTRAN_NODE_B={type:3,value:"E_UTRAN_NODE_B"},ai.GATEWAY_GPRS_SUPPORT_NODE={type:3,value:"GATEWAY_GPRS_SUPPORT_NODE"},ai.MASTERUNIT={type:3,value:"MASTERUNIT"},ai.MOBILESWITCHINGCENTER={type:3,value:"MOBILESWITCHINGCENTER"},ai.MSCSERVER={type:3,value:"MSCSERVER"},ai.PACKETCONTROLUNIT={type:3,value:"PACKETCONTROLUNIT"},ai.REMOTERADIOUNIT={type:3,value:"REMOTERADIOUNIT"},ai.REMOTEUNIT={type:3,value:"REMOTEUNIT"},ai.SERVICE_GPRS_SUPPORT_NODE={type:3,value:"SERVICE_GPRS_SUPPORT_NODE"},ai.SUBSCRIBERSERVER={type:3,value:"SUBSCRIBERSERVER"},ai.USERDEFINED={type:3,value:"USERDEFINED"},ai.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcMobileTelecommunicationsApplianceTypeEnum=ai;var si=P((function e(){b(this,e)}));si.BOLLARD={type:3,value:"BOLLARD"},si.LINETENSIONER={type:3,value:"LINETENSIONER"},si.MAGNETICDEVICE={type:3,value:"MAGNETICDEVICE"},si.MOORINGHOOKS={type:3,value:"MOORINGHOOKS"},si.VACUUMDEVICE={type:3,value:"VACUUMDEVICE"},si.USERDEFINED={type:3,value:"USERDEFINED"},si.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcMooringDeviceTypeEnum=si;var oi=P((function e(){b(this,e)}));oi.BELTDRIVE={type:3,value:"BELTDRIVE"},oi.COUPLING={type:3,value:"COUPLING"},oi.DIRECTDRIVE={type:3,value:"DIRECTDRIVE"},oi.USERDEFINED={type:3,value:"USERDEFINED"},oi.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcMotorConnectionTypeEnum=oi;var li=P((function e(){b(this,e)}));li.BEACON={type:3,value:"BEACON"},li.BUOY={type:3,value:"BUOY"},li.USERDEFINED={type:3,value:"USERDEFINED"},li.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcNavigationElementTypeEnum=li;var ui=P((function e(){b(this,e)}));ui.ACTOR={type:3,value:"ACTOR"},ui.CONTROL={type:3,value:"CONTROL"},ui.GROUP={type:3,value:"GROUP"},ui.PROCESS={type:3,value:"PROCESS"},ui.PRODUCT={type:3,value:"PRODUCT"},ui.PROJECT={type:3,value:"PROJECT"},ui.RESOURCE={type:3,value:"RESOURCE"},ui.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcObjectTypeEnum=ui;var ci=P((function e(){b(this,e)}));ci.CODECOMPLIANCE={type:3,value:"CODECOMPLIANCE"},ci.CODEWAIVER={type:3,value:"CODEWAIVER"},ci.DESIGNINTENT={type:3,value:"DESIGNINTENT"},ci.EXTERNAL={type:3,value:"EXTERNAL"},ci.HEALTHANDSAFETY={type:3,value:"HEALTHANDSAFETY"},ci.MERGECONFLICT={type:3,value:"MERGECONFLICT"},ci.MODELVIEW={type:3,value:"MODELVIEW"},ci.PARAMETER={type:3,value:"PARAMETER"},ci.REQUIREMENT={type:3,value:"REQUIREMENT"},ci.SPECIFICATION={type:3,value:"SPECIFICATION"},ci.TRIGGERCONDITION={type:3,value:"TRIGGERCONDITION"},ci.USERDEFINED={type:3,value:"USERDEFINED"},ci.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcObjectiveEnum=ci;var fi=P((function e(){b(this,e)}));fi.ASSIGNEE={type:3,value:"ASSIGNEE"},fi.ASSIGNOR={type:3,value:"ASSIGNOR"},fi.LESSEE={type:3,value:"LESSEE"},fi.LESSOR={type:3,value:"LESSOR"},fi.LETTINGAGENT={type:3,value:"LETTINGAGENT"},fi.OWNER={type:3,value:"OWNER"},fi.TENANT={type:3,value:"TENANT"},fi.USERDEFINED={type:3,value:"USERDEFINED"},fi.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcOccupantTypeEnum=fi;var pi=P((function e(){b(this,e)}));pi.OPENING={type:3,value:"OPENING"},pi.RECESS={type:3,value:"RECESS"},pi.USERDEFINED={type:3,value:"USERDEFINED"},pi.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcOpeningElementTypeEnum=pi;var Ai=P((function e(){b(this,e)}));Ai.AUDIOVISUALOUTLET={type:3,value:"AUDIOVISUALOUTLET"},Ai.COMMUNICATIONSOUTLET={type:3,value:"COMMUNICATIONSOUTLET"},Ai.DATAOUTLET={type:3,value:"DATAOUTLET"},Ai.POWEROUTLET={type:3,value:"POWEROUTLET"},Ai.TELEPHONEOUTLET={type:3,value:"TELEPHONEOUTLET"},Ai.USERDEFINED={type:3,value:"USERDEFINED"},Ai.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcOutletTypeEnum=Ai;var di=P((function e(){b(this,e)}));di.FLEXIBLE={type:3,value:"FLEXIBLE"},di.RIGID={type:3,value:"RIGID"},di.USERDEFINED={type:3,value:"USERDEFINED"},di.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcPavementTypeEnum=di;var vi=P((function e(){b(this,e)}));vi.USERDEFINED={type:3,value:"USERDEFINED"},vi.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcPerformanceHistoryTypeEnum=vi;var hi=P((function e(){b(this,e)}));hi.GRILL={type:3,value:"GRILL"},hi.LOUVER={type:3,value:"LOUVER"},hi.SCREEN={type:3,value:"SCREEN"},hi.USERDEFINED={type:3,value:"USERDEFINED"},hi.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcPermeableCoveringOperationEnum=hi;var Ii=P((function e(){b(this,e)}));Ii.ACCESS={type:3,value:"ACCESS"},Ii.BUILDING={type:3,value:"BUILDING"},Ii.WORK={type:3,value:"WORK"},Ii.USERDEFINED={type:3,value:"USERDEFINED"},Ii.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcPermitTypeEnum=Ii;var yi=P((function e(){b(this,e)}));yi.PHYSICAL={type:3,value:"PHYSICAL"},yi.VIRTUAL={type:3,value:"VIRTUAL"},yi.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcPhysicalOrVirtualEnum=yi;var mi=P((function e(){b(this,e)}));mi.CAST_IN_PLACE={type:3,value:"CAST_IN_PLACE"},mi.COMPOSITE={type:3,value:"COMPOSITE"},mi.PRECAST_CONCRETE={type:3,value:"PRECAST_CONCRETE"},mi.PREFAB_STEEL={type:3,value:"PREFAB_STEEL"},mi.USERDEFINED={type:3,value:"USERDEFINED"},mi.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcPileConstructionEnum=mi;var wi=P((function e(){b(this,e)}));wi.BORED={type:3,value:"BORED"},wi.COHESION={type:3,value:"COHESION"},wi.DRIVEN={type:3,value:"DRIVEN"},wi.FRICTION={type:3,value:"FRICTION"},wi.JETGROUTING={type:3,value:"JETGROUTING"},wi.SUPPORT={type:3,value:"SUPPORT"},wi.USERDEFINED={type:3,value:"USERDEFINED"},wi.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcPileTypeEnum=wi;var gi=P((function e(){b(this,e)}));gi.BEND={type:3,value:"BEND"},gi.CONNECTOR={type:3,value:"CONNECTOR"},gi.ENTRY={type:3,value:"ENTRY"},gi.EXIT={type:3,value:"EXIT"},gi.JUNCTION={type:3,value:"JUNCTION"},gi.OBSTRUCTION={type:3,value:"OBSTRUCTION"},gi.TRANSITION={type:3,value:"TRANSITION"},gi.USERDEFINED={type:3,value:"USERDEFINED"},gi.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcPipeFittingTypeEnum=gi;var Ei=P((function e(){b(this,e)}));Ei.CULVERT={type:3,value:"CULVERT"},Ei.FLEXIBLESEGMENT={type:3,value:"FLEXIBLESEGMENT"},Ei.GUTTER={type:3,value:"GUTTER"},Ei.RIGIDSEGMENT={type:3,value:"RIGIDSEGMENT"},Ei.SPOOL={type:3,value:"SPOOL"},Ei.USERDEFINED={type:3,value:"USERDEFINED"},Ei.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcPipeSegmentTypeEnum=Ei;var Ti=P((function e(){b(this,e)}));Ti.BASE_PLATE={type:3,value:"BASE_PLATE"},Ti.COVER_PLATE={type:3,value:"COVER_PLATE"},Ti.CURTAIN_PANEL={type:3,value:"CURTAIN_PANEL"},Ti.FLANGE_PLATE={type:3,value:"FLANGE_PLATE"},Ti.GUSSET_PLATE={type:3,value:"GUSSET_PLATE"},Ti.SHEET={type:3,value:"SHEET"},Ti.SPLICE_PLATE={type:3,value:"SPLICE_PLATE"},Ti.STIFFENER_PLATE={type:3,value:"STIFFENER_PLATE"},Ti.WEB_PLATE={type:3,value:"WEB_PLATE"},Ti.USERDEFINED={type:3,value:"USERDEFINED"},Ti.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcPlateTypeEnum=Ti;var bi=P((function e(){b(this,e)}));bi.CURVE3D={type:3,value:"CURVE3D"},bi.PCURVE_S1={type:3,value:"PCURVE_S1"},bi.PCURVE_S2={type:3,value:"PCURVE_S2"},e.IfcPreferredSurfaceCurveRepresentation=bi;var Di=P((function e(){b(this,e)}));Di.ADVICE_CAUTION={type:3,value:"ADVICE_CAUTION"},Di.ADVICE_NOTE={type:3,value:"ADVICE_NOTE"},Di.ADVICE_WARNING={type:3,value:"ADVICE_WARNING"},Di.CALIBRATION={type:3,value:"CALIBRATION"},Di.DIAGNOSTIC={type:3,value:"DIAGNOSTIC"},Di.SHUTDOWN={type:3,value:"SHUTDOWN"},Di.STARTUP={type:3,value:"STARTUP"},Di.USERDEFINED={type:3,value:"USERDEFINED"},Di.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcProcedureTypeEnum=Di;var Pi=P((function e(){b(this,e)}));Pi.AREA={type:3,value:"AREA"},Pi.CURVE={type:3,value:"CURVE"},e.IfcProfileTypeEnum=Pi;var Ri=P((function e(){b(this,e)}));Ri.CHANGEORDER={type:3,value:"CHANGEORDER"},Ri.MAINTENANCEWORKORDER={type:3,value:"MAINTENANCEWORKORDER"},Ri.MOVEORDER={type:3,value:"MOVEORDER"},Ri.PURCHASEORDER={type:3,value:"PURCHASEORDER"},Ri.WORKORDER={type:3,value:"WORKORDER"},Ri.USERDEFINED={type:3,value:"USERDEFINED"},Ri.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcProjectOrderTypeEnum=Ri;var Ci=P((function e(){b(this,e)}));Ci.PROJECTED_LENGTH={type:3,value:"PROJECTED_LENGTH"},Ci.TRUE_LENGTH={type:3,value:"TRUE_LENGTH"},e.IfcProjectedOrTrueLengthEnum=Ci;var _i=P((function e(){b(this,e)}));_i.BLISTER={type:3,value:"BLISTER"},_i.DEVIATOR={type:3,value:"DEVIATOR"},_i.USERDEFINED={type:3,value:"USERDEFINED"},_i.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcProjectionElementTypeEnum=_i;var Bi=P((function e(){b(this,e)}));Bi.PSET_MATERIALDRIVEN={type:3,value:"PSET_MATERIALDRIVEN"},Bi.PSET_OCCURRENCEDRIVEN={type:3,value:"PSET_OCCURRENCEDRIVEN"},Bi.PSET_PERFORMANCEDRIVEN={type:3,value:"PSET_PERFORMANCEDRIVEN"},Bi.PSET_PROFILEDRIVEN={type:3,value:"PSET_PROFILEDRIVEN"},Bi.PSET_TYPEDRIVENONLY={type:3,value:"PSET_TYPEDRIVENONLY"},Bi.PSET_TYPEDRIVENOVERRIDE={type:3,value:"PSET_TYPEDRIVENOVERRIDE"},Bi.QTO_OCCURRENCEDRIVEN={type:3,value:"QTO_OCCURRENCEDRIVEN"},Bi.QTO_TYPEDRIVENONLY={type:3,value:"QTO_TYPEDRIVENONLY"},Bi.QTO_TYPEDRIVENOVERRIDE={type:3,value:"QTO_TYPEDRIVENOVERRIDE"},Bi.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcPropertySetTemplateTypeEnum=Bi;var Oi=P((function e(){b(this,e)}));Oi.ELECTROMAGNETIC={type:3,value:"ELECTROMAGNETIC"},Oi.ELECTRONIC={type:3,value:"ELECTRONIC"},Oi.RESIDUALCURRENT={type:3,value:"RESIDUALCURRENT"},Oi.THERMAL={type:3,value:"THERMAL"},Oi.USERDEFINED={type:3,value:"USERDEFINED"},Oi.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcProtectiveDeviceTrippingUnitTypeEnum=Oi;var Si=P((function e(){b(this,e)}));Si.ANTI_ARCING_DEVICE={type:3,value:"ANTI_ARCING_DEVICE"},Si.CIRCUITBREAKER={type:3,value:"CIRCUITBREAKER"},Si.EARTHINGSWITCH={type:3,value:"EARTHINGSWITCH"},Si.EARTHLEAKAGECIRCUITBREAKER={type:3,value:"EARTHLEAKAGECIRCUITBREAKER"},Si.FUSEDISCONNECTOR={type:3,value:"FUSEDISCONNECTOR"},Si.RESIDUALCURRENTCIRCUITBREAKER={type:3,value:"RESIDUALCURRENTCIRCUITBREAKER"},Si.RESIDUALCURRENTSWITCH={type:3,value:"RESIDUALCURRENTSWITCH"},Si.SPARKGAP={type:3,value:"SPARKGAP"},Si.VARISTOR={type:3,value:"VARISTOR"},Si.VOLTAGELIMITER={type:3,value:"VOLTAGELIMITER"},Si.USERDEFINED={type:3,value:"USERDEFINED"},Si.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcProtectiveDeviceTypeEnum=Si;var Ni=P((function e(){b(this,e)}));Ni.CIRCULATOR={type:3,value:"CIRCULATOR"},Ni.ENDSUCTION={type:3,value:"ENDSUCTION"},Ni.SPLITCASE={type:3,value:"SPLITCASE"},Ni.SUBMERSIBLEPUMP={type:3,value:"SUBMERSIBLEPUMP"},Ni.SUMPPUMP={type:3,value:"SUMPPUMP"},Ni.VERTICALINLINE={type:3,value:"VERTICALINLINE"},Ni.VERTICALTURBINE={type:3,value:"VERTICALTURBINE"},Ni.USERDEFINED={type:3,value:"USERDEFINED"},Ni.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcPumpTypeEnum=Ni;var Li=P((function e(){b(this,e)}));Li.BLADE={type:3,value:"BLADE"},Li.CHECKRAIL={type:3,value:"CHECKRAIL"},Li.GUARDRAIL={type:3,value:"GUARDRAIL"},Li.RACKRAIL={type:3,value:"RACKRAIL"},Li.RAIL={type:3,value:"RAIL"},Li.STOCKRAIL={type:3,value:"STOCKRAIL"},Li.USERDEFINED={type:3,value:"USERDEFINED"},Li.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcRailTypeEnum=Li;var Mi=P((function e(){b(this,e)}));Mi.BALUSTRADE={type:3,value:"BALUSTRADE"},Mi.FENCE={type:3,value:"FENCE"},Mi.GUARDRAIL={type:3,value:"GUARDRAIL"},Mi.HANDRAIL={type:3,value:"HANDRAIL"},Mi.USERDEFINED={type:3,value:"USERDEFINED"},Mi.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcRailingTypeEnum=Mi;var xi=P((function e(){b(this,e)}));xi.DILATATIONSUPERSTRUCTURE={type:3,value:"DILATATIONSUPERSTRUCTURE"},xi.LINESIDESTRUCTURE={type:3,value:"LINESIDESTRUCTURE"},xi.LINESIDESTRUCTUREPART={type:3,value:"LINESIDESTRUCTUREPART"},xi.PLAINTRACKSUPERSTRUCTURE={type:3,value:"PLAINTRACKSUPERSTRUCTURE"},xi.SUPERSTRUCTURE={type:3,value:"SUPERSTRUCTURE"},xi.TRACKSTRUCTURE={type:3,value:"TRACKSTRUCTURE"},xi.TRACKSTRUCTUREPART={type:3,value:"TRACKSTRUCTUREPART"},xi.TURNOUTSUPERSTRUCTURE={type:3,value:"TURNOUTSUPERSTRUCTURE"},xi.USERDEFINED={type:3,value:"USERDEFINED"},xi.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcRailwayPartTypeEnum=xi;var Fi=P((function e(){b(this,e)}));Fi.USERDEFINED={type:3,value:"USERDEFINED"},Fi.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcRailwayTypeEnum=Fi;var Hi=P((function e(){b(this,e)}));Hi.SPIRAL={type:3,value:"SPIRAL"},Hi.STRAIGHT={type:3,value:"STRAIGHT"},Hi.USERDEFINED={type:3,value:"USERDEFINED"},Hi.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcRampFlightTypeEnum=Hi;var Ui=P((function e(){b(this,e)}));Ui.HALF_TURN_RAMP={type:3,value:"HALF_TURN_RAMP"},Ui.QUARTER_TURN_RAMP={type:3,value:"QUARTER_TURN_RAMP"},Ui.SPIRAL_RAMP={type:3,value:"SPIRAL_RAMP"},Ui.STRAIGHT_RUN_RAMP={type:3,value:"STRAIGHT_RUN_RAMP"},Ui.TWO_QUARTER_TURN_RAMP={type:3,value:"TWO_QUARTER_TURN_RAMP"},Ui.TWO_STRAIGHT_RUN_RAMP={type:3,value:"TWO_STRAIGHT_RUN_RAMP"},Ui.USERDEFINED={type:3,value:"USERDEFINED"},Ui.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcRampTypeEnum=Ui;var Gi=P((function e(){b(this,e)}));Gi.BY_DAY_COUNT={type:3,value:"BY_DAY_COUNT"},Gi.BY_WEEKDAY_COUNT={type:3,value:"BY_WEEKDAY_COUNT"},Gi.DAILY={type:3,value:"DAILY"},Gi.MONTHLY_BY_DAY_OF_MONTH={type:3,value:"MONTHLY_BY_DAY_OF_MONTH"},Gi.MONTHLY_BY_POSITION={type:3,value:"MONTHLY_BY_POSITION"},Gi.WEEKLY={type:3,value:"WEEKLY"},Gi.YEARLY_BY_DAY_OF_MONTH={type:3,value:"YEARLY_BY_DAY_OF_MONTH"},Gi.YEARLY_BY_POSITION={type:3,value:"YEARLY_BY_POSITION"},e.IfcRecurrenceTypeEnum=Gi;var ki=P((function e(){b(this,e)}));ki.BOUNDARY={type:3,value:"BOUNDARY"},ki.INTERSECTION={type:3,value:"INTERSECTION"},ki.KILOPOINT={type:3,value:"KILOPOINT"},ki.LANDMARK={type:3,value:"LANDMARK"},ki.MILEPOINT={type:3,value:"MILEPOINT"},ki.POSITION={type:3,value:"POSITION"},ki.REFERENCEMARKER={type:3,value:"REFERENCEMARKER"},ki.STATION={type:3,value:"STATION"},ki.USERDEFINED={type:3,value:"USERDEFINED"},ki.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcReferentTypeEnum=ki;var ji=P((function e(){b(this,e)}));ji.BLINN={type:3,value:"BLINN"},ji.FLAT={type:3,value:"FLAT"},ji.GLASS={type:3,value:"GLASS"},ji.MATT={type:3,value:"MATT"},ji.METAL={type:3,value:"METAL"},ji.MIRROR={type:3,value:"MIRROR"},ji.PHONG={type:3,value:"PHONG"},ji.PHYSICAL={type:3,value:"PHYSICAL"},ji.PLASTIC={type:3,value:"PLASTIC"},ji.STRAUSS={type:3,value:"STRAUSS"},ji.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcReflectanceMethodEnum=ji;var Vi=P((function e(){b(this,e)}));Vi.DYNAMICALLYCOMPACTED={type:3,value:"DYNAMICALLYCOMPACTED"},Vi.GROUTED={type:3,value:"GROUTED"},Vi.REPLACED={type:3,value:"REPLACED"},Vi.ROLLERCOMPACTED={type:3,value:"ROLLERCOMPACTED"},Vi.SURCHARGEPRELOADED={type:3,value:"SURCHARGEPRELOADED"},Vi.VERTICALLYDRAINED={type:3,value:"VERTICALLYDRAINED"},Vi.USERDEFINED={type:3,value:"USERDEFINED"},Vi.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcReinforcedSoilTypeEnum=Vi;var Qi=P((function e(){b(this,e)}));Qi.ANCHORING={type:3,value:"ANCHORING"},Qi.EDGE={type:3,value:"EDGE"},Qi.LIGATURE={type:3,value:"LIGATURE"},Qi.MAIN={type:3,value:"MAIN"},Qi.PUNCHING={type:3,value:"PUNCHING"},Qi.RING={type:3,value:"RING"},Qi.SHEAR={type:3,value:"SHEAR"},Qi.STUD={type:3,value:"STUD"},Qi.USERDEFINED={type:3,value:"USERDEFINED"},Qi.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcReinforcingBarRoleEnum=Qi;var Wi=P((function e(){b(this,e)}));Wi.PLAIN={type:3,value:"PLAIN"},Wi.TEXTURED={type:3,value:"TEXTURED"},e.IfcReinforcingBarSurfaceEnum=Wi;var zi=P((function e(){b(this,e)}));zi.ANCHORING={type:3,value:"ANCHORING"},zi.EDGE={type:3,value:"EDGE"},zi.LIGATURE={type:3,value:"LIGATURE"},zi.MAIN={type:3,value:"MAIN"},zi.PUNCHING={type:3,value:"PUNCHING"},zi.RING={type:3,value:"RING"},zi.SHEAR={type:3,value:"SHEAR"},zi.SPACEBAR={type:3,value:"SPACEBAR"},zi.STUD={type:3,value:"STUD"},zi.USERDEFINED={type:3,value:"USERDEFINED"},zi.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcReinforcingBarTypeEnum=zi;var Ki=P((function e(){b(this,e)}));Ki.USERDEFINED={type:3,value:"USERDEFINED"},Ki.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcReinforcingMeshTypeEnum=Ki;var Yi=P((function e(){b(this,e)}));Yi.BICYCLECROSSING={type:3,value:"BICYCLECROSSING"},Yi.BUS_STOP={type:3,value:"BUS_STOP"},Yi.CARRIAGEWAY={type:3,value:"CARRIAGEWAY"},Yi.CENTRALISLAND={type:3,value:"CENTRALISLAND"},Yi.CENTRALRESERVE={type:3,value:"CENTRALRESERVE"},Yi.HARDSHOULDER={type:3,value:"HARDSHOULDER"},Yi.INTERSECTION={type:3,value:"INTERSECTION"},Yi.LAYBY={type:3,value:"LAYBY"},Yi.PARKINGBAY={type:3,value:"PARKINGBAY"},Yi.PASSINGBAY={type:3,value:"PASSINGBAY"},Yi.PEDESTRIAN_CROSSING={type:3,value:"PEDESTRIAN_CROSSING"},Yi.RAILWAYCROSSING={type:3,value:"RAILWAYCROSSING"},Yi.REFUGEISLAND={type:3,value:"REFUGEISLAND"},Yi.ROADSEGMENT={type:3,value:"ROADSEGMENT"},Yi.ROADSIDE={type:3,value:"ROADSIDE"},Yi.ROADSIDEPART={type:3,value:"ROADSIDEPART"},Yi.ROADWAYPLATEAU={type:3,value:"ROADWAYPLATEAU"},Yi.ROUNDABOUT={type:3,value:"ROUNDABOUT"},Yi.SHOULDER={type:3,value:"SHOULDER"},Yi.SIDEWALK={type:3,value:"SIDEWALK"},Yi.SOFTSHOULDER={type:3,value:"SOFTSHOULDER"},Yi.TOLLPLAZA={type:3,value:"TOLLPLAZA"},Yi.TRAFFICISLAND={type:3,value:"TRAFFICISLAND"},Yi.TRAFFICLANE={type:3,value:"TRAFFICLANE"},Yi.USERDEFINED={type:3,value:"USERDEFINED"},Yi.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcRoadPartTypeEnum=Yi;var Xi=P((function e(){b(this,e)}));Xi.USERDEFINED={type:3,value:"USERDEFINED"},Xi.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcRoadTypeEnum=Xi;var qi=P((function e(){b(this,e)}));qi.ARCHITECT={type:3,value:"ARCHITECT"},qi.BUILDINGOPERATOR={type:3,value:"BUILDINGOPERATOR"},qi.BUILDINGOWNER={type:3,value:"BUILDINGOWNER"},qi.CIVILENGINEER={type:3,value:"CIVILENGINEER"},qi.CLIENT={type:3,value:"CLIENT"},qi.COMMISSIONINGENGINEER={type:3,value:"COMMISSIONINGENGINEER"},qi.CONSTRUCTIONMANAGER={type:3,value:"CONSTRUCTIONMANAGER"},qi.CONSULTANT={type:3,value:"CONSULTANT"},qi.CONTRACTOR={type:3,value:"CONTRACTOR"},qi.COSTENGINEER={type:3,value:"COSTENGINEER"},qi.ELECTRICALENGINEER={type:3,value:"ELECTRICALENGINEER"},qi.ENGINEER={type:3,value:"ENGINEER"},qi.FACILITIESMANAGER={type:3,value:"FACILITIESMANAGER"},qi.FIELDCONSTRUCTIONMANAGER={type:3,value:"FIELDCONSTRUCTIONMANAGER"},qi.MANUFACTURER={type:3,value:"MANUFACTURER"},qi.MECHANICALENGINEER={type:3,value:"MECHANICALENGINEER"},qi.OWNER={type:3,value:"OWNER"},qi.PROJECTMANAGER={type:3,value:"PROJECTMANAGER"},qi.RESELLER={type:3,value:"RESELLER"},qi.STRUCTURALENGINEER={type:3,value:"STRUCTURALENGINEER"},qi.SUBCONTRACTOR={type:3,value:"SUBCONTRACTOR"},qi.SUPPLIER={type:3,value:"SUPPLIER"},qi.USERDEFINED={type:3,value:"USERDEFINED"},e.IfcRoleEnum=qi;var Ji=P((function e(){b(this,e)}));Ji.BARREL_ROOF={type:3,value:"BARREL_ROOF"},Ji.BUTTERFLY_ROOF={type:3,value:"BUTTERFLY_ROOF"},Ji.DOME_ROOF={type:3,value:"DOME_ROOF"},Ji.FLAT_ROOF={type:3,value:"FLAT_ROOF"},Ji.FREEFORM={type:3,value:"FREEFORM"},Ji.GABLE_ROOF={type:3,value:"GABLE_ROOF"},Ji.GAMBREL_ROOF={type:3,value:"GAMBREL_ROOF"},Ji.HIPPED_GABLE_ROOF={type:3,value:"HIPPED_GABLE_ROOF"},Ji.HIP_ROOF={type:3,value:"HIP_ROOF"},Ji.MANSARD_ROOF={type:3,value:"MANSARD_ROOF"},Ji.PAVILION_ROOF={type:3,value:"PAVILION_ROOF"},Ji.RAINBOW_ROOF={type:3,value:"RAINBOW_ROOF"},Ji.SHED_ROOF={type:3,value:"SHED_ROOF"},Ji.USERDEFINED={type:3,value:"USERDEFINED"},Ji.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcRoofTypeEnum=Ji;var Zi=P((function e(){b(this,e)}));Zi.ATTO={type:3,value:"ATTO"},Zi.CENTI={type:3,value:"CENTI"},Zi.DECA={type:3,value:"DECA"},Zi.DECI={type:3,value:"DECI"},Zi.EXA={type:3,value:"EXA"},Zi.FEMTO={type:3,value:"FEMTO"},Zi.GIGA={type:3,value:"GIGA"},Zi.HECTO={type:3,value:"HECTO"},Zi.KILO={type:3,value:"KILO"},Zi.MEGA={type:3,value:"MEGA"},Zi.MICRO={type:3,value:"MICRO"},Zi.MILLI={type:3,value:"MILLI"},Zi.NANO={type:3,value:"NANO"},Zi.PETA={type:3,value:"PETA"},Zi.PICO={type:3,value:"PICO"},Zi.TERA={type:3,value:"TERA"},e.IfcSIPrefix=Zi;var $i=P((function e(){b(this,e)}));$i.AMPERE={type:3,value:"AMPERE"},$i.BECQUEREL={type:3,value:"BECQUEREL"},$i.CANDELA={type:3,value:"CANDELA"},$i.COULOMB={type:3,value:"COULOMB"},$i.CUBIC_METRE={type:3,value:"CUBIC_METRE"},$i.DEGREE_CELSIUS={type:3,value:"DEGREE_CELSIUS"},$i.FARAD={type:3,value:"FARAD"},$i.GRAM={type:3,value:"GRAM"},$i.GRAY={type:3,value:"GRAY"},$i.HENRY={type:3,value:"HENRY"},$i.HERTZ={type:3,value:"HERTZ"},$i.JOULE={type:3,value:"JOULE"},$i.KELVIN={type:3,value:"KELVIN"},$i.LUMEN={type:3,value:"LUMEN"},$i.LUX={type:3,value:"LUX"},$i.METRE={type:3,value:"METRE"},$i.MOLE={type:3,value:"MOLE"},$i.NEWTON={type:3,value:"NEWTON"},$i.OHM={type:3,value:"OHM"},$i.PASCAL={type:3,value:"PASCAL"},$i.RADIAN={type:3,value:"RADIAN"},$i.SECOND={type:3,value:"SECOND"},$i.SIEMENS={type:3,value:"SIEMENS"},$i.SIEVERT={type:3,value:"SIEVERT"},$i.SQUARE_METRE={type:3,value:"SQUARE_METRE"},$i.STERADIAN={type:3,value:"STERADIAN"},$i.TESLA={type:3,value:"TESLA"},$i.VOLT={type:3,value:"VOLT"},$i.WATT={type:3,value:"WATT"},$i.WEBER={type:3,value:"WEBER"},e.IfcSIUnitName=$i;var ea=P((function e(){b(this,e)}));ea.BATH={type:3,value:"BATH"},ea.BIDET={type:3,value:"BIDET"},ea.CISTERN={type:3,value:"CISTERN"},ea.SANITARYFOUNTAIN={type:3,value:"SANITARYFOUNTAIN"},ea.SHOWER={type:3,value:"SHOWER"},ea.SINK={type:3,value:"SINK"},ea.TOILETPAN={type:3,value:"TOILETPAN"},ea.URINAL={type:3,value:"URINAL"},ea.WASHHANDBASIN={type:3,value:"WASHHANDBASIN"},ea.WCSEAT={type:3,value:"WCSEAT"},ea.USERDEFINED={type:3,value:"USERDEFINED"},ea.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcSanitaryTerminalTypeEnum=ea;var ta=P((function e(){b(this,e)}));ta.TAPERED={type:3,value:"TAPERED"},ta.UNIFORM={type:3,value:"UNIFORM"},e.IfcSectionTypeEnum=ta;var na=P((function e(){b(this,e)}));na.CO2SENSOR={type:3,value:"CO2SENSOR"},na.CONDUCTANCESENSOR={type:3,value:"CONDUCTANCESENSOR"},na.CONTACTSENSOR={type:3,value:"CONTACTSENSOR"},na.COSENSOR={type:3,value:"COSENSOR"},na.EARTHQUAKESENSOR={type:3,value:"EARTHQUAKESENSOR"},na.FIRESENSOR={type:3,value:"FIRESENSOR"},na.FLOWSENSOR={type:3,value:"FLOWSENSOR"},na.FOREIGNOBJECTDETECTIONSENSOR={type:3,value:"FOREIGNOBJECTDETECTIONSENSOR"},na.FROSTSENSOR={type:3,value:"FROSTSENSOR"},na.GASSENSOR={type:3,value:"GASSENSOR"},na.HEATSENSOR={type:3,value:"HEATSENSOR"},na.HUMIDITYSENSOR={type:3,value:"HUMIDITYSENSOR"},na.IDENTIFIERSENSOR={type:3,value:"IDENTIFIERSENSOR"},na.IONCONCENTRATIONSENSOR={type:3,value:"IONCONCENTRATIONSENSOR"},na.LEVELSENSOR={type:3,value:"LEVELSENSOR"},na.LIGHTSENSOR={type:3,value:"LIGHTSENSOR"},na.MOISTURESENSOR={type:3,value:"MOISTURESENSOR"},na.MOVEMENTSENSOR={type:3,value:"MOVEMENTSENSOR"},na.OBSTACLESENSOR={type:3,value:"OBSTACLESENSOR"},na.PHSENSOR={type:3,value:"PHSENSOR"},na.PRESSURESENSOR={type:3,value:"PRESSURESENSOR"},na.RADIATIONSENSOR={type:3,value:"RADIATIONSENSOR"},na.RADIOACTIVITYSENSOR={type:3,value:"RADIOACTIVITYSENSOR"},na.RAINSENSOR={type:3,value:"RAINSENSOR"},na.SMOKESENSOR={type:3,value:"SMOKESENSOR"},na.SNOWDEPTHSENSOR={type:3,value:"SNOWDEPTHSENSOR"},na.SOUNDSENSOR={type:3,value:"SOUNDSENSOR"},na.TEMPERATURESENSOR={type:3,value:"TEMPERATURESENSOR"},na.TRAINSENSOR={type:3,value:"TRAINSENSOR"},na.TURNOUTCLOSURESENSOR={type:3,value:"TURNOUTCLOSURESENSOR"},na.WHEELSENSOR={type:3,value:"WHEELSENSOR"},na.WINDSENSOR={type:3,value:"WINDSENSOR"},na.USERDEFINED={type:3,value:"USERDEFINED"},na.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcSensorTypeEnum=na;var ra=P((function e(){b(this,e)}));ra.FINISH_FINISH={type:3,value:"FINISH_FINISH"},ra.FINISH_START={type:3,value:"FINISH_START"},ra.START_FINISH={type:3,value:"START_FINISH"},ra.START_START={type:3,value:"START_START"},ra.USERDEFINED={type:3,value:"USERDEFINED"},ra.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcSequenceEnum=ra;var ia=P((function e(){b(this,e)}));ia.AWNING={type:3,value:"AWNING"},ia.JALOUSIE={type:3,value:"JALOUSIE"},ia.SHUTTER={type:3,value:"SHUTTER"},ia.USERDEFINED={type:3,value:"USERDEFINED"},ia.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcShadingDeviceTypeEnum=ia;var aa=P((function e(){b(this,e)}));aa.MARKER={type:3,value:"MARKER"},aa.MIRROR={type:3,value:"MIRROR"},aa.PICTORAL={type:3,value:"PICTORAL"},aa.USERDEFINED={type:3,value:"USERDEFINED"},aa.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcSignTypeEnum=aa;var sa=P((function e(){b(this,e)}));sa.AUDIO={type:3,value:"AUDIO"},sa.MIXED={type:3,value:"MIXED"},sa.VISUAL={type:3,value:"VISUAL"},sa.USERDEFINED={type:3,value:"USERDEFINED"},sa.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcSignalTypeEnum=sa;var oa=P((function e(){b(this,e)}));oa.P_BOUNDEDVALUE={type:3,value:"P_BOUNDEDVALUE"},oa.P_ENUMERATEDVALUE={type:3,value:"P_ENUMERATEDVALUE"},oa.P_LISTVALUE={type:3,value:"P_LISTVALUE"},oa.P_REFERENCEVALUE={type:3,value:"P_REFERENCEVALUE"},oa.P_SINGLEVALUE={type:3,value:"P_SINGLEVALUE"},oa.P_TABLEVALUE={type:3,value:"P_TABLEVALUE"},oa.Q_AREA={type:3,value:"Q_AREA"},oa.Q_COUNT={type:3,value:"Q_COUNT"},oa.Q_LENGTH={type:3,value:"Q_LENGTH"},oa.Q_NUMBER={type:3,value:"Q_NUMBER"},oa.Q_TIME={type:3,value:"Q_TIME"},oa.Q_VOLUME={type:3,value:"Q_VOLUME"},oa.Q_WEIGHT={type:3,value:"Q_WEIGHT"},e.IfcSimplePropertyTemplateTypeEnum=oa;var la=P((function e(){b(this,e)}));la.APPROACH_SLAB={type:3,value:"APPROACH_SLAB"},la.BASESLAB={type:3,value:"BASESLAB"},la.FLOOR={type:3,value:"FLOOR"},la.LANDING={type:3,value:"LANDING"},la.PAVING={type:3,value:"PAVING"},la.ROOF={type:3,value:"ROOF"},la.SIDEWALK={type:3,value:"SIDEWALK"},la.TRACKSLAB={type:3,value:"TRACKSLAB"},la.WEARING={type:3,value:"WEARING"},la.USERDEFINED={type:3,value:"USERDEFINED"},la.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcSlabTypeEnum=la;var ua=P((function e(){b(this,e)}));ua.SOLARCOLLECTOR={type:3,value:"SOLARCOLLECTOR"},ua.SOLARPANEL={type:3,value:"SOLARPANEL"},ua.USERDEFINED={type:3,value:"USERDEFINED"},ua.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcSolarDeviceTypeEnum=ua;var ca=P((function e(){b(this,e)}));ca.CONVECTOR={type:3,value:"CONVECTOR"},ca.RADIATOR={type:3,value:"RADIATOR"},ca.USERDEFINED={type:3,value:"USERDEFINED"},ca.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcSpaceHeaterTypeEnum=ca;var fa=P((function e(){b(this,e)}));fa.BERTH={type:3,value:"BERTH"},fa.EXTERNAL={type:3,value:"EXTERNAL"},fa.GFA={type:3,value:"GFA"},fa.INTERNAL={type:3,value:"INTERNAL"},fa.PARKING={type:3,value:"PARKING"},fa.SPACE={type:3,value:"SPACE"},fa.USERDEFINED={type:3,value:"USERDEFINED"},fa.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcSpaceTypeEnum=fa;var pa=P((function e(){b(this,e)}));pa.CONSTRUCTION={type:3,value:"CONSTRUCTION"},pa.FIRESAFETY={type:3,value:"FIRESAFETY"},pa.INTERFERENCE={type:3,value:"INTERFERENCE"},pa.LIGHTING={type:3,value:"LIGHTING"},pa.OCCUPANCY={type:3,value:"OCCUPANCY"},pa.RESERVATION={type:3,value:"RESERVATION"},pa.SECURITY={type:3,value:"SECURITY"},pa.THERMAL={type:3,value:"THERMAL"},pa.TRANSPORT={type:3,value:"TRANSPORT"},pa.VENTILATION={type:3,value:"VENTILATION"},pa.USERDEFINED={type:3,value:"USERDEFINED"},pa.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcSpatialZoneTypeEnum=pa;var Aa=P((function e(){b(this,e)}));Aa.BIRDCAGE={type:3,value:"BIRDCAGE"},Aa.COWL={type:3,value:"COWL"},Aa.RAINWATERHOPPER={type:3,value:"RAINWATERHOPPER"},Aa.USERDEFINED={type:3,value:"USERDEFINED"},Aa.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcStackTerminalTypeEnum=Aa;var da=P((function e(){b(this,e)}));da.CURVED={type:3,value:"CURVED"},da.FREEFORM={type:3,value:"FREEFORM"},da.SPIRAL={type:3,value:"SPIRAL"},da.STRAIGHT={type:3,value:"STRAIGHT"},da.WINDER={type:3,value:"WINDER"},da.USERDEFINED={type:3,value:"USERDEFINED"},da.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcStairFlightTypeEnum=da;var va=P((function e(){b(this,e)}));va.CURVED_RUN_STAIR={type:3,value:"CURVED_RUN_STAIR"},va.DOUBLE_RETURN_STAIR={type:3,value:"DOUBLE_RETURN_STAIR"},va.HALF_TURN_STAIR={type:3,value:"HALF_TURN_STAIR"},va.HALF_WINDING_STAIR={type:3,value:"HALF_WINDING_STAIR"},va.LADDER={type:3,value:"LADDER"},va.QUARTER_TURN_STAIR={type:3,value:"QUARTER_TURN_STAIR"},va.QUARTER_WINDING_STAIR={type:3,value:"QUARTER_WINDING_STAIR"},va.SPIRAL_STAIR={type:3,value:"SPIRAL_STAIR"},va.STRAIGHT_RUN_STAIR={type:3,value:"STRAIGHT_RUN_STAIR"},va.THREE_QUARTER_TURN_STAIR={type:3,value:"THREE_QUARTER_TURN_STAIR"},va.THREE_QUARTER_WINDING_STAIR={type:3,value:"THREE_QUARTER_WINDING_STAIR"},va.TWO_CURVED_RUN_STAIR={type:3,value:"TWO_CURVED_RUN_STAIR"},va.TWO_QUARTER_TURN_STAIR={type:3,value:"TWO_QUARTER_TURN_STAIR"},va.TWO_QUARTER_WINDING_STAIR={type:3,value:"TWO_QUARTER_WINDING_STAIR"},va.TWO_STRAIGHT_RUN_STAIR={type:3,value:"TWO_STRAIGHT_RUN_STAIR"},va.USERDEFINED={type:3,value:"USERDEFINED"},va.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcStairTypeEnum=va;var ha=P((function e(){b(this,e)}));ha.LOCKED={type:3,value:"LOCKED"},ha.READONLY={type:3,value:"READONLY"},ha.READONLYLOCKED={type:3,value:"READONLYLOCKED"},ha.READWRITE={type:3,value:"READWRITE"},ha.READWRITELOCKED={type:3,value:"READWRITELOCKED"},e.IfcStateEnum=ha;var Ia=P((function e(){b(this,e)}));Ia.CONST={type:3,value:"CONST"},Ia.DISCRETE={type:3,value:"DISCRETE"},Ia.EQUIDISTANT={type:3,value:"EQUIDISTANT"},Ia.LINEAR={type:3,value:"LINEAR"},Ia.PARABOLA={type:3,value:"PARABOLA"},Ia.POLYGONAL={type:3,value:"POLYGONAL"},Ia.SINUS={type:3,value:"SINUS"},Ia.USERDEFINED={type:3,value:"USERDEFINED"},Ia.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcStructuralCurveActivityTypeEnum=Ia;var ya=P((function e(){b(this,e)}));ya.CABLE={type:3,value:"CABLE"},ya.COMPRESSION_MEMBER={type:3,value:"COMPRESSION_MEMBER"},ya.PIN_JOINED_MEMBER={type:3,value:"PIN_JOINED_MEMBER"},ya.RIGID_JOINED_MEMBER={type:3,value:"RIGID_JOINED_MEMBER"},ya.TENSION_MEMBER={type:3,value:"TENSION_MEMBER"},ya.USERDEFINED={type:3,value:"USERDEFINED"},ya.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcStructuralCurveMemberTypeEnum=ya;var ma=P((function e(){b(this,e)}));ma.BILINEAR={type:3,value:"BILINEAR"},ma.CONST={type:3,value:"CONST"},ma.DISCRETE={type:3,value:"DISCRETE"},ma.ISOCONTOUR={type:3,value:"ISOCONTOUR"},ma.USERDEFINED={type:3,value:"USERDEFINED"},ma.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcStructuralSurfaceActivityTypeEnum=ma;var wa=P((function e(){b(this,e)}));wa.BENDING_ELEMENT={type:3,value:"BENDING_ELEMENT"},wa.MEMBRANE_ELEMENT={type:3,value:"MEMBRANE_ELEMENT"},wa.SHELL={type:3,value:"SHELL"},wa.USERDEFINED={type:3,value:"USERDEFINED"},wa.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcStructuralSurfaceMemberTypeEnum=wa;var ga=P((function e(){b(this,e)}));ga.PURCHASE={type:3,value:"PURCHASE"},ga.WORK={type:3,value:"WORK"},ga.USERDEFINED={type:3,value:"USERDEFINED"},ga.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcSubContractResourceTypeEnum=ga;var Ea=P((function e(){b(this,e)}));Ea.DEFECT={type:3,value:"DEFECT"},Ea.HATCHMARKING={type:3,value:"HATCHMARKING"},Ea.LINEMARKING={type:3,value:"LINEMARKING"},Ea.MARK={type:3,value:"MARK"},Ea.NONSKIDSURFACING={type:3,value:"NONSKIDSURFACING"},Ea.PAVEMENTSURFACEMARKING={type:3,value:"PAVEMENTSURFACEMARKING"},Ea.RUMBLESTRIP={type:3,value:"RUMBLESTRIP"},Ea.SYMBOLMARKING={type:3,value:"SYMBOLMARKING"},Ea.TAG={type:3,value:"TAG"},Ea.TRANSVERSERUMBLESTRIP={type:3,value:"TRANSVERSERUMBLESTRIP"},Ea.TREATMENT={type:3,value:"TREATMENT"},Ea.USERDEFINED={type:3,value:"USERDEFINED"},Ea.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcSurfaceFeatureTypeEnum=Ea;var Ta=P((function e(){b(this,e)}));Ta.BOTH={type:3,value:"BOTH"},Ta.NEGATIVE={type:3,value:"NEGATIVE"},Ta.POSITIVE={type:3,value:"POSITIVE"},e.IfcSurfaceSide=Ta;var ba=P((function e(){b(this,e)}));ba.CONTACTOR={type:3,value:"CONTACTOR"},ba.DIMMERSWITCH={type:3,value:"DIMMERSWITCH"},ba.EMERGENCYSTOP={type:3,value:"EMERGENCYSTOP"},ba.KEYPAD={type:3,value:"KEYPAD"},ba.MOMENTARYSWITCH={type:3,value:"MOMENTARYSWITCH"},ba.RELAY={type:3,value:"RELAY"},ba.SELECTORSWITCH={type:3,value:"SELECTORSWITCH"},ba.STARTER={type:3,value:"STARTER"},ba.START_AND_STOP_EQUIPMENT={type:3,value:"START_AND_STOP_EQUIPMENT"},ba.SWITCHDISCONNECTOR={type:3,value:"SWITCHDISCONNECTOR"},ba.TOGGLESWITCH={type:3,value:"TOGGLESWITCH"},ba.USERDEFINED={type:3,value:"USERDEFINED"},ba.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcSwitchingDeviceTypeEnum=ba;var Da=P((function e(){b(this,e)}));Da.PANEL={type:3,value:"PANEL"},Da.SUBRACK={type:3,value:"SUBRACK"},Da.WORKSURFACE={type:3,value:"WORKSURFACE"},Da.USERDEFINED={type:3,value:"USERDEFINED"},Da.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcSystemFurnitureElementTypeEnum=Da;var Pa=P((function e(){b(this,e)}));Pa.BASIN={type:3,value:"BASIN"},Pa.BREAKPRESSURE={type:3,value:"BREAKPRESSURE"},Pa.EXPANSION={type:3,value:"EXPANSION"},Pa.FEEDANDEXPANSION={type:3,value:"FEEDANDEXPANSION"},Pa.OILRETENTIONTRAY={type:3,value:"OILRETENTIONTRAY"},Pa.PRESSUREVESSEL={type:3,value:"PRESSUREVESSEL"},Pa.STORAGE={type:3,value:"STORAGE"},Pa.VESSEL={type:3,value:"VESSEL"},Pa.USERDEFINED={type:3,value:"USERDEFINED"},Pa.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcTankTypeEnum=Pa;var Ra=P((function e(){b(this,e)}));Ra.ELAPSEDTIME={type:3,value:"ELAPSEDTIME"},Ra.WORKTIME={type:3,value:"WORKTIME"},Ra.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcTaskDurationEnum=Ra;var Ca=P((function e(){b(this,e)}));Ca.ADJUSTMENT={type:3,value:"ADJUSTMENT"},Ca.ATTENDANCE={type:3,value:"ATTENDANCE"},Ca.CALIBRATION={type:3,value:"CALIBRATION"},Ca.CONSTRUCTION={type:3,value:"CONSTRUCTION"},Ca.DEMOLITION={type:3,value:"DEMOLITION"},Ca.DISMANTLE={type:3,value:"DISMANTLE"},Ca.DISPOSAL={type:3,value:"DISPOSAL"},Ca.EMERGENCY={type:3,value:"EMERGENCY"},Ca.INSPECTION={type:3,value:"INSPECTION"},Ca.INSTALLATION={type:3,value:"INSTALLATION"},Ca.LOGISTIC={type:3,value:"LOGISTIC"},Ca.MAINTENANCE={type:3,value:"MAINTENANCE"},Ca.MOVE={type:3,value:"MOVE"},Ca.OPERATION={type:3,value:"OPERATION"},Ca.REMOVAL={type:3,value:"REMOVAL"},Ca.RENOVATION={type:3,value:"RENOVATION"},Ca.SAFETY={type:3,value:"SAFETY"},Ca.SHUTDOWN={type:3,value:"SHUTDOWN"},Ca.STARTUP={type:3,value:"STARTUP"},Ca.TESTING={type:3,value:"TESTING"},Ca.TROUBLESHOOTING={type:3,value:"TROUBLESHOOTING"},Ca.USERDEFINED={type:3,value:"USERDEFINED"},Ca.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcTaskTypeEnum=Ca;var _a=P((function e(){b(this,e)}));_a.COUPLER={type:3,value:"COUPLER"},_a.FIXED_END={type:3,value:"FIXED_END"},_a.TENSIONING_END={type:3,value:"TENSIONING_END"},_a.USERDEFINED={type:3,value:"USERDEFINED"},_a.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcTendonAnchorTypeEnum=_a;var Ba=P((function e(){b(this,e)}));Ba.COUPLER={type:3,value:"COUPLER"},Ba.DIABOLO={type:3,value:"DIABOLO"},Ba.DUCT={type:3,value:"DUCT"},Ba.GROUTING_DUCT={type:3,value:"GROUTING_DUCT"},Ba.TRUMPET={type:3,value:"TRUMPET"},Ba.USERDEFINED={type:3,value:"USERDEFINED"},Ba.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcTendonConduitTypeEnum=Ba;var Oa=P((function e(){b(this,e)}));Oa.BAR={type:3,value:"BAR"},Oa.COATED={type:3,value:"COATED"},Oa.STRAND={type:3,value:"STRAND"},Oa.WIRE={type:3,value:"WIRE"},Oa.USERDEFINED={type:3,value:"USERDEFINED"},Oa.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcTendonTypeEnum=Oa;var Sa=P((function e(){b(this,e)}));Sa.DOWN={type:3,value:"DOWN"},Sa.LEFT={type:3,value:"LEFT"},Sa.RIGHT={type:3,value:"RIGHT"},Sa.UP={type:3,value:"UP"},e.IfcTextPath=Sa;var Na=P((function e(){b(this,e)}));Na.CONTINUOUS={type:3,value:"CONTINUOUS"},Na.DISCRETE={type:3,value:"DISCRETE"},Na.DISCRETEBINARY={type:3,value:"DISCRETEBINARY"},Na.PIECEWISEBINARY={type:3,value:"PIECEWISEBINARY"},Na.PIECEWISECONSTANT={type:3,value:"PIECEWISECONSTANT"},Na.PIECEWISECONTINUOUS={type:3,value:"PIECEWISECONTINUOUS"},Na.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcTimeSeriesDataTypeEnum=Na;var La=P((function e(){b(this,e)}));La.BLOCKINGDEVICE={type:3,value:"BLOCKINGDEVICE"},La.DERAILER={type:3,value:"DERAILER"},La.FROG={type:3,value:"FROG"},La.HALF_SET_OF_BLADES={type:3,value:"HALF_SET_OF_BLADES"},La.SLEEPER={type:3,value:"SLEEPER"},La.SPEEDREGULATOR={type:3,value:"SPEEDREGULATOR"},La.TRACKENDOFALIGNMENT={type:3,value:"TRACKENDOFALIGNMENT"},La.VEHICLESTOP={type:3,value:"VEHICLESTOP"},La.USERDEFINED={type:3,value:"USERDEFINED"},La.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcTrackElementTypeEnum=La;var Ma=P((function e(){b(this,e)}));Ma.CHOPPER={type:3,value:"CHOPPER"},Ma.COMBINED={type:3,value:"COMBINED"},Ma.CURRENT={type:3,value:"CURRENT"},Ma.FREQUENCY={type:3,value:"FREQUENCY"},Ma.INVERTER={type:3,value:"INVERTER"},Ma.RECTIFIER={type:3,value:"RECTIFIER"},Ma.VOLTAGE={type:3,value:"VOLTAGE"},Ma.USERDEFINED={type:3,value:"USERDEFINED"},Ma.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcTransformerTypeEnum=Ma;var xa=P((function e(){b(this,e)}));xa.CONTINUOUS={type:3,value:"CONTINUOUS"},xa.CONTSAMEGRADIENT={type:3,value:"CONTSAMEGRADIENT"},xa.CONTSAMEGRADIENTSAMECURVATURE={type:3,value:"CONTSAMEGRADIENTSAMECURVATURE"},xa.DISCONTINUOUS={type:3,value:"DISCONTINUOUS"},e.IfcTransitionCode=xa;var Fa=P((function e(){b(this,e)}));Fa.CRANEWAY={type:3,value:"CRANEWAY"},Fa.ELEVATOR={type:3,value:"ELEVATOR"},Fa.ESCALATOR={type:3,value:"ESCALATOR"},Fa.HAULINGGEAR={type:3,value:"HAULINGGEAR"},Fa.LIFTINGGEAR={type:3,value:"LIFTINGGEAR"},Fa.MOVINGWALKWAY={type:3,value:"MOVINGWALKWAY"},Fa.USERDEFINED={type:3,value:"USERDEFINED"},Fa.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcTransportElementTypeEnum=Fa;var Ha=P((function e(){b(this,e)}));Ha.CARTESIAN={type:3,value:"CARTESIAN"},Ha.PARAMETER={type:3,value:"PARAMETER"},Ha.UNSPECIFIED={type:3,value:"UNSPECIFIED"},e.IfcTrimmingPreference=Ha;var Ua=P((function e(){b(this,e)}));Ua.FINNED={type:3,value:"FINNED"},Ua.USERDEFINED={type:3,value:"USERDEFINED"},Ua.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcTubeBundleTypeEnum=Ua;var Ga=P((function e(){b(this,e)}));Ga.ABSORBEDDOSEUNIT={type:3,value:"ABSORBEDDOSEUNIT"},Ga.AMOUNTOFSUBSTANCEUNIT={type:3,value:"AMOUNTOFSUBSTANCEUNIT"},Ga.AREAUNIT={type:3,value:"AREAUNIT"},Ga.DOSEEQUIVALENTUNIT={type:3,value:"DOSEEQUIVALENTUNIT"},Ga.ELECTRICCAPACITANCEUNIT={type:3,value:"ELECTRICCAPACITANCEUNIT"},Ga.ELECTRICCHARGEUNIT={type:3,value:"ELECTRICCHARGEUNIT"},Ga.ELECTRICCONDUCTANCEUNIT={type:3,value:"ELECTRICCONDUCTANCEUNIT"},Ga.ELECTRICCURRENTUNIT={type:3,value:"ELECTRICCURRENTUNIT"},Ga.ELECTRICRESISTANCEUNIT={type:3,value:"ELECTRICRESISTANCEUNIT"},Ga.ELECTRICVOLTAGEUNIT={type:3,value:"ELECTRICVOLTAGEUNIT"},Ga.ENERGYUNIT={type:3,value:"ENERGYUNIT"},Ga.FORCEUNIT={type:3,value:"FORCEUNIT"},Ga.FREQUENCYUNIT={type:3,value:"FREQUENCYUNIT"},Ga.ILLUMINANCEUNIT={type:3,value:"ILLUMINANCEUNIT"},Ga.INDUCTANCEUNIT={type:3,value:"INDUCTANCEUNIT"},Ga.LENGTHUNIT={type:3,value:"LENGTHUNIT"},Ga.LUMINOUSFLUXUNIT={type:3,value:"LUMINOUSFLUXUNIT"},Ga.LUMINOUSINTENSITYUNIT={type:3,value:"LUMINOUSINTENSITYUNIT"},Ga.MAGNETICFLUXDENSITYUNIT={type:3,value:"MAGNETICFLUXDENSITYUNIT"},Ga.MAGNETICFLUXUNIT={type:3,value:"MAGNETICFLUXUNIT"},Ga.MASSUNIT={type:3,value:"MASSUNIT"},Ga.PLANEANGLEUNIT={type:3,value:"PLANEANGLEUNIT"},Ga.POWERUNIT={type:3,value:"POWERUNIT"},Ga.PRESSUREUNIT={type:3,value:"PRESSUREUNIT"},Ga.RADIOACTIVITYUNIT={type:3,value:"RADIOACTIVITYUNIT"},Ga.SOLIDANGLEUNIT={type:3,value:"SOLIDANGLEUNIT"},Ga.THERMODYNAMICTEMPERATUREUNIT={type:3,value:"THERMODYNAMICTEMPERATUREUNIT"},Ga.TIMEUNIT={type:3,value:"TIMEUNIT"},Ga.VOLUMEUNIT={type:3,value:"VOLUMEUNIT"},Ga.USERDEFINED={type:3,value:"USERDEFINED"},e.IfcUnitEnum=Ga;var ka=P((function e(){b(this,e)}));ka.ALARMPANEL={type:3,value:"ALARMPANEL"},ka.BASESTATIONCONTROLLER={type:3,value:"BASESTATIONCONTROLLER"},ka.COMBINED={type:3,value:"COMBINED"},ka.CONTROLPANEL={type:3,value:"CONTROLPANEL"},ka.GASDETECTIONPANEL={type:3,value:"GASDETECTIONPANEL"},ka.HUMIDISTAT={type:3,value:"HUMIDISTAT"},ka.INDICATORPANEL={type:3,value:"INDICATORPANEL"},ka.MIMICPANEL={type:3,value:"MIMICPANEL"},ka.THERMOSTAT={type:3,value:"THERMOSTAT"},ka.WEATHERSTATION={type:3,value:"WEATHERSTATION"},ka.USERDEFINED={type:3,value:"USERDEFINED"},ka.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcUnitaryControlElementTypeEnum=ka;var ja=P((function e(){b(this,e)}));ja.AIRCONDITIONINGUNIT={type:3,value:"AIRCONDITIONINGUNIT"},ja.AIRHANDLER={type:3,value:"AIRHANDLER"},ja.DEHUMIDIFIER={type:3,value:"DEHUMIDIFIER"},ja.ROOFTOPUNIT={type:3,value:"ROOFTOPUNIT"},ja.SPLITSYSTEM={type:3,value:"SPLITSYSTEM"},ja.USERDEFINED={type:3,value:"USERDEFINED"},ja.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcUnitaryEquipmentTypeEnum=ja;var Va=P((function e(){b(this,e)}));Va.AIRRELEASE={type:3,value:"AIRRELEASE"},Va.ANTIVACUUM={type:3,value:"ANTIVACUUM"},Va.CHANGEOVER={type:3,value:"CHANGEOVER"},Va.CHECK={type:3,value:"CHECK"},Va.COMMISSIONING={type:3,value:"COMMISSIONING"},Va.DIVERTING={type:3,value:"DIVERTING"},Va.DOUBLECHECK={type:3,value:"DOUBLECHECK"},Va.DOUBLEREGULATING={type:3,value:"DOUBLEREGULATING"},Va.DRAWOFFCOCK={type:3,value:"DRAWOFFCOCK"},Va.FAUCET={type:3,value:"FAUCET"},Va.FLUSHING={type:3,value:"FLUSHING"},Va.GASCOCK={type:3,value:"GASCOCK"},Va.GASTAP={type:3,value:"GASTAP"},Va.ISOLATING={type:3,value:"ISOLATING"},Va.MIXING={type:3,value:"MIXING"},Va.PRESSUREREDUCING={type:3,value:"PRESSUREREDUCING"},Va.PRESSURERELIEF={type:3,value:"PRESSURERELIEF"},Va.REGULATING={type:3,value:"REGULATING"},Va.SAFETYCUTOFF={type:3,value:"SAFETYCUTOFF"},Va.STEAMTRAP={type:3,value:"STEAMTRAP"},Va.STOPCOCK={type:3,value:"STOPCOCK"},Va.USERDEFINED={type:3,value:"USERDEFINED"},Va.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcValveTypeEnum=Va;var Qa=P((function e(){b(this,e)}));Qa.CARGO={type:3,value:"CARGO"},Qa.ROLLINGSTOCK={type:3,value:"ROLLINGSTOCK"},Qa.VEHICLE={type:3,value:"VEHICLE"},Qa.VEHICLEAIR={type:3,value:"VEHICLEAIR"},Qa.VEHICLEMARINE={type:3,value:"VEHICLEMARINE"},Qa.VEHICLETRACKED={type:3,value:"VEHICLETRACKED"},Qa.VEHICLEWHEELED={type:3,value:"VEHICLEWHEELED"},Qa.USERDEFINED={type:3,value:"USERDEFINED"},Qa.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcVehicleTypeEnum=Qa;var Wa=P((function e(){b(this,e)}));Wa.AXIAL_YIELD={type:3,value:"AXIAL_YIELD"},Wa.BENDING_YIELD={type:3,value:"BENDING_YIELD"},Wa.FRICTION={type:3,value:"FRICTION"},Wa.RUBBER={type:3,value:"RUBBER"},Wa.SHEAR_YIELD={type:3,value:"SHEAR_YIELD"},Wa.VISCOUS={type:3,value:"VISCOUS"},Wa.USERDEFINED={type:3,value:"USERDEFINED"},Wa.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcVibrationDamperTypeEnum=Wa;var za=P((function e(){b(this,e)}));za.BASE={type:3,value:"BASE"},za.COMPRESSION={type:3,value:"COMPRESSION"},za.SPRING={type:3,value:"SPRING"},za.USERDEFINED={type:3,value:"USERDEFINED"},za.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcVibrationIsolatorTypeEnum=za;var Ka=P((function e(){b(this,e)}));Ka.BOUNDARY={type:3,value:"BOUNDARY"},Ka.CLEARANCE={type:3,value:"CLEARANCE"},Ka.PROVISIONFORVOID={type:3,value:"PROVISIONFORVOID"},Ka.USERDEFINED={type:3,value:"USERDEFINED"},Ka.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcVirtualElementTypeEnum=Ka;var Ya=P((function e(){b(this,e)}));Ya.CHAMFER={type:3,value:"CHAMFER"},Ya.CUTOUT={type:3,value:"CUTOUT"},Ya.EDGE={type:3,value:"EDGE"},Ya.HOLE={type:3,value:"HOLE"},Ya.MITER={type:3,value:"MITER"},Ya.NOTCH={type:3,value:"NOTCH"},Ya.USERDEFINED={type:3,value:"USERDEFINED"},Ya.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcVoidingFeatureTypeEnum=Ya;var Xa=P((function e(){b(this,e)}));Xa.ELEMENTEDWALL={type:3,value:"ELEMENTEDWALL"},Xa.MOVABLE={type:3,value:"MOVABLE"},Xa.PARAPET={type:3,value:"PARAPET"},Xa.PARTITIONING={type:3,value:"PARTITIONING"},Xa.PLUMBINGWALL={type:3,value:"PLUMBINGWALL"},Xa.POLYGONAL={type:3,value:"POLYGONAL"},Xa.RETAININGWALL={type:3,value:"RETAININGWALL"},Xa.SHEAR={type:3,value:"SHEAR"},Xa.SOLIDWALL={type:3,value:"SOLIDWALL"},Xa.STANDARD={type:3,value:"STANDARD"},Xa.WAVEWALL={type:3,value:"WAVEWALL"},Xa.USERDEFINED={type:3,value:"USERDEFINED"},Xa.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcWallTypeEnum=Xa;var qa=P((function e(){b(this,e)}));qa.FLOORTRAP={type:3,value:"FLOORTRAP"},qa.FLOORWASTE={type:3,value:"FLOORWASTE"},qa.GULLYSUMP={type:3,value:"GULLYSUMP"},qa.GULLYTRAP={type:3,value:"GULLYTRAP"},qa.ROOFDRAIN={type:3,value:"ROOFDRAIN"},qa.WASTEDISPOSALUNIT={type:3,value:"WASTEDISPOSALUNIT"},qa.WASTETRAP={type:3,value:"WASTETRAP"},qa.USERDEFINED={type:3,value:"USERDEFINED"},qa.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcWasteTerminalTypeEnum=qa;var Ja=P((function e(){b(this,e)}));Ja.BOTTOMHUNG={type:3,value:"BOTTOMHUNG"},Ja.FIXEDCASEMENT={type:3,value:"FIXEDCASEMENT"},Ja.OTHEROPERATION={type:3,value:"OTHEROPERATION"},Ja.PIVOTHORIZONTAL={type:3,value:"PIVOTHORIZONTAL"},Ja.PIVOTVERTICAL={type:3,value:"PIVOTVERTICAL"},Ja.REMOVABLECASEMENT={type:3,value:"REMOVABLECASEMENT"},Ja.SIDEHUNGLEFTHAND={type:3,value:"SIDEHUNGLEFTHAND"},Ja.SIDEHUNGRIGHTHAND={type:3,value:"SIDEHUNGRIGHTHAND"},Ja.SLIDINGHORIZONTAL={type:3,value:"SLIDINGHORIZONTAL"},Ja.SLIDINGVERTICAL={type:3,value:"SLIDINGVERTICAL"},Ja.TILTANDTURNLEFTHAND={type:3,value:"TILTANDTURNLEFTHAND"},Ja.TILTANDTURNRIGHTHAND={type:3,value:"TILTANDTURNRIGHTHAND"},Ja.TOPHUNG={type:3,value:"TOPHUNG"},Ja.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcWindowPanelOperationEnum=Ja;var Za=P((function e(){b(this,e)}));Za.BOTTOM={type:3,value:"BOTTOM"},Za.LEFT={type:3,value:"LEFT"},Za.MIDDLE={type:3,value:"MIDDLE"},Za.RIGHT={type:3,value:"RIGHT"},Za.TOP={type:3,value:"TOP"},Za.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcWindowPanelPositionEnum=Za;var $a=P((function e(){b(this,e)}));$a.ALUMINIUM={type:3,value:"ALUMINIUM"},$a.ALUMINIUM_WOOD={type:3,value:"ALUMINIUM_WOOD"},$a.HIGH_GRADE_STEEL={type:3,value:"HIGH_GRADE_STEEL"},$a.OTHER_CONSTRUCTION={type:3,value:"OTHER_CONSTRUCTION"},$a.PLASTIC={type:3,value:"PLASTIC"},$a.STEEL={type:3,value:"STEEL"},$a.WOOD={type:3,value:"WOOD"},$a.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcWindowStyleConstructionEnum=$a;var es=P((function e(){b(this,e)}));es.DOUBLE_PANEL_HORIZONTAL={type:3,value:"DOUBLE_PANEL_HORIZONTAL"},es.DOUBLE_PANEL_VERTICAL={type:3,value:"DOUBLE_PANEL_VERTICAL"},es.SINGLE_PANEL={type:3,value:"SINGLE_PANEL"},es.TRIPLE_PANEL_BOTTOM={type:3,value:"TRIPLE_PANEL_BOTTOM"},es.TRIPLE_PANEL_HORIZONTAL={type:3,value:"TRIPLE_PANEL_HORIZONTAL"},es.TRIPLE_PANEL_LEFT={type:3,value:"TRIPLE_PANEL_LEFT"},es.TRIPLE_PANEL_RIGHT={type:3,value:"TRIPLE_PANEL_RIGHT"},es.TRIPLE_PANEL_TOP={type:3,value:"TRIPLE_PANEL_TOP"},es.TRIPLE_PANEL_VERTICAL={type:3,value:"TRIPLE_PANEL_VERTICAL"},es.USERDEFINED={type:3,value:"USERDEFINED"},es.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcWindowStyleOperationEnum=es;var ts=P((function e(){b(this,e)}));ts.LIGHTDOME={type:3,value:"LIGHTDOME"},ts.SKYLIGHT={type:3,value:"SKYLIGHT"},ts.WINDOW={type:3,value:"WINDOW"},ts.USERDEFINED={type:3,value:"USERDEFINED"},ts.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcWindowTypeEnum=ts;var ns=P((function e(){b(this,e)}));ns.DOUBLE_PANEL_HORIZONTAL={type:3,value:"DOUBLE_PANEL_HORIZONTAL"},ns.DOUBLE_PANEL_VERTICAL={type:3,value:"DOUBLE_PANEL_VERTICAL"},ns.SINGLE_PANEL={type:3,value:"SINGLE_PANEL"},ns.TRIPLE_PANEL_BOTTOM={type:3,value:"TRIPLE_PANEL_BOTTOM"},ns.TRIPLE_PANEL_HORIZONTAL={type:3,value:"TRIPLE_PANEL_HORIZONTAL"},ns.TRIPLE_PANEL_LEFT={type:3,value:"TRIPLE_PANEL_LEFT"},ns.TRIPLE_PANEL_RIGHT={type:3,value:"TRIPLE_PANEL_RIGHT"},ns.TRIPLE_PANEL_TOP={type:3,value:"TRIPLE_PANEL_TOP"},ns.TRIPLE_PANEL_VERTICAL={type:3,value:"TRIPLE_PANEL_VERTICAL"},ns.USERDEFINED={type:3,value:"USERDEFINED"},ns.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcWindowTypePartitioningEnum=ns;var rs=P((function e(){b(this,e)}));rs.FIRSTSHIFT={type:3,value:"FIRSTSHIFT"},rs.SECONDSHIFT={type:3,value:"SECONDSHIFT"},rs.THIRDSHIFT={type:3,value:"THIRDSHIFT"},rs.USERDEFINED={type:3,value:"USERDEFINED"},rs.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcWorkCalendarTypeEnum=rs;var is=P((function e(){b(this,e)}));is.ACTUAL={type:3,value:"ACTUAL"},is.BASELINE={type:3,value:"BASELINE"},is.PLANNED={type:3,value:"PLANNED"},is.USERDEFINED={type:3,value:"USERDEFINED"},is.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcWorkPlanTypeEnum=is;var as=P((function e(){b(this,e)}));as.ACTUAL={type:3,value:"ACTUAL"},as.BASELINE={type:3,value:"BASELINE"},as.PLANNED={type:3,value:"PLANNED"},as.USERDEFINED={type:3,value:"USERDEFINED"},as.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcWorkScheduleTypeEnum=as;var ss=function(e){I(n,U_);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e)).Role=r,s.UserDefinedRole=i,s.Description=a,s.type=3630933823,s}return P(n)}();e.IfcActorRole=ss;var os=function(e){I(n,U_);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e)).Purpose=r,s.Description=i,s.UserDefinedPurpose=a,s.type=618182010,s}return P(n)}();e.IfcAddress=os;var ls=function(e){I(n,U_);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).StartTag=r,a.EndTag=i,a.type=2879124712,a}return P(n)}();e.IfcAlignmentParameterSegment=ls;var us=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i)).StartTag=r,p.EndTag=i,p.StartDistAlong=a,p.HorizontalLength=s,p.StartHeight=o,p.StartGradient=l,p.EndGradient=u,p.RadiusOfCurvature=c,p.PredefinedType=f,p.type=3633395639,p}return P(n)}(ls);e.IfcAlignmentVerticalSegment=us;var cs=function(e){I(n,U_);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e)).ApplicationDeveloper=r,o.Version=i,o.ApplicationFullName=a,o.ApplicationIdentifier=s,o.type=639542469,o}return P(n)}();e.IfcApplication=cs;var fs=function(e){I(n,U_);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e)).Name=r,A.Description=i,A.AppliedValue=a,A.UnitBasis=s,A.ApplicableDate=o,A.FixedUntilDate=l,A.Category=u,A.Condition=c,A.ArithmeticOperator=f,A.Components=p,A.type=411424972,A}return P(n)}();e.IfcAppliedValue=fs;var ps=function(e){I(n,U_);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e)).Identifier=r,p.Name=i,p.Description=a,p.TimeOfApproval=s,p.Status=o,p.Level=l,p.Qualifier=u,p.RequestingApproval=c,p.GivingApproval=f,p.type=130549933,p}return P(n)}();e.IfcApproval=ps;var As=function(e){I(n,U_);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e)).Name=r,i.type=4037036970,i}return P(n)}();e.IfcBoundaryCondition=As;var ds=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u){var c;return b(this,n),(c=t.call(this,e,r)).Name=r,c.TranslationalStiffnessByLengthX=i,c.TranslationalStiffnessByLengthY=a,c.TranslationalStiffnessByLengthZ=s,c.RotationalStiffnessByLengthX=o,c.RotationalStiffnessByLengthY=l,c.RotationalStiffnessByLengthZ=u,c.type=1560379544,c}return P(n)}(As);e.IfcBoundaryEdgeCondition=ds;var vs=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r)).Name=r,o.TranslationalStiffnessByAreaX=i,o.TranslationalStiffnessByAreaY=a,o.TranslationalStiffnessByAreaZ=s,o.type=3367102660,o}return P(n)}(As);e.IfcBoundaryFaceCondition=vs;var hs=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u){var c;return b(this,n),(c=t.call(this,e,r)).Name=r,c.TranslationalStiffnessX=i,c.TranslationalStiffnessY=a,c.TranslationalStiffnessZ=s,c.RotationalStiffnessX=o,c.RotationalStiffnessY=l,c.RotationalStiffnessZ=u,c.type=1387855156,c}return P(n)}(As);e.IfcBoundaryNodeCondition=hs;var Is=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o,l,u)).Name=r,f.TranslationalStiffnessX=i,f.TranslationalStiffnessY=a,f.TranslationalStiffnessZ=s,f.RotationalStiffnessX=o,f.RotationalStiffnessY=l,f.RotationalStiffnessZ=u,f.WarpingStiffness=c,f.type=2069777674,f}return P(n)}(hs);e.IfcBoundaryNodeConditionWarping=Is;var ys=function(e){I(n,U_);var t=m(n);function n(e){var r;return b(this,n),(r=t.call(this,e)).type=2859738748,r}return P(n)}();e.IfcConnectionGeometry=ys;var ms=function(e){I(n,e);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).PointOnRelatingElement=r,a.PointOnRelatedElement=i,a.type=2614616156,a}return P(n)}(ys);e.IfcConnectionPointGeometry=ms;var ws=function(e){I(n,e);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).SurfaceOnRelatingElement=r,a.SurfaceOnRelatedElement=i,a.type=2732653382,a}return P(n)}(ys);e.IfcConnectionSurfaceGeometry=ws;var gs=function(e){I(n,e);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).VolumeOnRelatingElement=r,a.VolumeOnRelatedElement=i,a.type=775493141,a}return P(n)}(ys);e.IfcConnectionVolumeGeometry=gs;var Es=function(e){I(n,U_);var t=m(n);function n(e,r,i,a,s,o,l,u){var c;return b(this,n),(c=t.call(this,e)).Name=r,c.Description=i,c.ConstraintGrade=a,c.ConstraintSource=s,c.CreatingActor=o,c.CreationTime=l,c.UserDefinedGrade=u,c.type=1959218052,c}return P(n)}();e.IfcConstraint=Es;var Ts=function(e){I(n,U_);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).SourceCRS=r,a.TargetCRS=i,a.type=1785450214,a}return P(n)}();e.IfcCoordinateOperation=Ts;var bs=function(e){I(n,U_);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e)).Name=r,o.Description=i,o.GeodeticDatum=a,o.VerticalDatum=s,o.type=1466758467,o}return P(n)}();e.IfcCoordinateReferenceSystem=bs;var Ds=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f,p)).Name=r,A.Description=i,A.AppliedValue=a,A.UnitBasis=s,A.ApplicableDate=o,A.FixedUntilDate=l,A.Category=u,A.Condition=c,A.ArithmeticOperator=f,A.Components=p,A.type=602808272,A}return P(n)}(fs);e.IfcCostValue=Ds;var Ps=function(e){I(n,U_);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e)).Elements=r,o.UnitType=i,o.UserDefinedType=a,o.Name=s,o.type=1765591967,o}return P(n)}();e.IfcDerivedUnit=Ps;var Rs=function(e){I(n,U_);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).Unit=r,a.Exponent=i,a.type=1045800335,a}return P(n)}();e.IfcDerivedUnitElement=Rs;var Cs=function(e){I(n,U_);var t=m(n);function n(e,r,i,a,s,o,l,u){var c;return b(this,n),(c=t.call(this,e)).LengthExponent=r,c.MassExponent=i,c.TimeExponent=a,c.ElectricCurrentExponent=s,c.ThermodynamicTemperatureExponent=o,c.AmountOfSubstanceExponent=l,c.LuminousIntensityExponent=u,c.type=2949456006,c}return P(n)}();e.IfcDimensionalExponents=Cs;var _s=function(e){I(n,U_);var t=m(n);function n(e){var r;return b(this,n),(r=t.call(this,e)).type=4294318154,r}return P(n)}();e.IfcExternalInformation=_s;var Bs=function(e){I(n,U_);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e)).Location=r,s.Identification=i,s.Name=a,s.type=3200245327,s}return P(n)}();e.IfcExternalReference=Bs;var Os=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e,r,i,a)).Location=r,s.Identification=i,s.Name=a,s.type=2242383968,s}return P(n)}(Bs);e.IfcExternallyDefinedHatchStyle=Os;var Ss=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e,r,i,a)).Location=r,s.Identification=i,s.Name=a,s.type=1040185647,s}return P(n)}(Bs);e.IfcExternallyDefinedSurfaceStyle=Ss;var Ns=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e,r,i,a)).Location=r,s.Identification=i,s.Name=a,s.type=3548104201,s}return P(n)}(Bs);e.IfcExternallyDefinedTextFont=Ns;var Ls=function(e){I(n,U_);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e)).AxisTag=r,s.AxisCurve=i,s.SameSense=a,s.type=852622518,s}return P(n)}();e.IfcGridAxis=Ls;var Ms=function(e){I(n,U_);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).TimeStamp=r,a.ListValues=i,a.type=3020489413,a}return P(n)}();e.IfcIrregularTimeSeriesValue=Ms;var xs=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e)).Name=r,u.Version=i,u.Publisher=a,u.VersionDate=s,u.Location=o,u.Description=l,u.type=2655187982,u}return P(n)}(_s);e.IfcLibraryInformation=xs;var Fs=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r,i,a)).Location=r,u.Identification=i,u.Name=a,u.Description=s,u.Language=o,u.ReferencedLibrary=l,u.type=3452421091,u}return P(n)}(Bs);e.IfcLibraryReference=Fs;var Hs=function(e){I(n,U_);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e)).MainPlaneAngle=r,s.SecondaryPlaneAngle=i,s.LuminousIntensity=a,s.type=4162380809,s}return P(n)}();e.IfcLightDistributionData=Hs;var Us=function(e){I(n,U_);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).LightDistributionCurve=r,a.DistributionData=i,a.type=1566485204,a}return P(n)}();e.IfcLightIntensityDistribution=Us;var Gs=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i)).SourceCRS=r,A.TargetCRS=i,A.Eastings=a,A.Northings=s,A.OrthogonalHeight=o,A.XAxisAbscissa=l,A.XAxisOrdinate=u,A.Scale=c,A.ScaleY=f,A.ScaleZ=p,A.type=3057273783,A}return P(n)}(Ts);e.IfcMapConversion=Gs;var ks=function(e){I(n,U_);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).MaterialClassifications=r,a.ClassifiedMaterial=i,a.type=1847130766,a}return P(n)}();e.IfcMaterialClassificationRelationship=ks;var js=function(e){I(n,U_);var t=m(n);function n(e){var r;return b(this,n),(r=t.call(this,e)).type=760658860,r}return P(n)}();e.IfcMaterialDefinition=js;var Vs=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u){var c;return b(this,n),(c=t.call(this,e)).Material=r,c.LayerThickness=i,c.IsVentilated=a,c.Name=s,c.Description=o,c.Category=l,c.Priority=u,c.type=248100487,c}return P(n)}(js);e.IfcMaterialLayer=Vs;var Qs=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e)).MaterialLayers=r,s.LayerSetName=i,s.Description=a,s.type=3303938423,s}return P(n)}(js);e.IfcMaterialLayerSet=Qs;var Ws=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u)).Material=r,p.LayerThickness=i,p.IsVentilated=a,p.Name=s,p.Description=o,p.Category=l,p.Priority=u,p.OffsetDirection=c,p.OffsetValues=f,p.type=1847252529,p}return P(n)}(Vs);e.IfcMaterialLayerWithOffsets=Ws;var zs=function(e){I(n,U_);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e)).Materials=r,i.type=2199411900,i}return P(n)}();e.IfcMaterialList=zs;var Ks=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e)).Name=r,u.Description=i,u.Material=a,u.Profile=s,u.Priority=o,u.Category=l,u.type=2235152071,u}return P(n)}(js);e.IfcMaterialProfile=Ks;var Ys=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e)).Name=r,o.Description=i,o.MaterialProfiles=a,o.CompositeProfile=s,o.type=164193824,o}return P(n)}(js);e.IfcMaterialProfileSet=Ys;var Xs=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u){var c;return b(this,n),(c=t.call(this,e,r,i,a,s,o,l)).Name=r,c.Description=i,c.Material=a,c.Profile=s,c.Priority=o,c.Category=l,c.OffsetValues=u,c.type=552965576,c}return P(n)}(Ks);e.IfcMaterialProfileWithOffsets=Xs;var qs=function(e){I(n,U_);var t=m(n);function n(e){var r;return b(this,n),(r=t.call(this,e)).type=1507914824,r}return P(n)}();e.IfcMaterialUsageDefinition=qs;var Js=function(e){I(n,U_);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).ValueComponent=r,a.UnitComponent=i,a.type=2597039031,a}return P(n)}();e.IfcMeasureWithUnit=Js;var Zs=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A){var d;return b(this,n),(d=t.call(this,e,r,i,a,s,o,l,u)).Name=r,d.Description=i,d.ConstraintGrade=a,d.ConstraintSource=s,d.CreatingActor=o,d.CreationTime=l,d.UserDefinedGrade=u,d.Benchmark=c,d.ValueSource=f,d.DataValue=p,d.ReferencePath=A,d.type=3368373690,d}return P(n)}(Es);e.IfcMetric=Zs;var $s=function(e){I(n,U_);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e)).Currency=r,i.type=2706619895,i}return P(n)}();e.IfcMonetaryUnit=$s;var eo=function(e){I(n,U_);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).Dimensions=r,a.UnitType=i,a.type=1918398963,a}return P(n)}();e.IfcNamedUnit=eo;var to=function(e){I(n,U_);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e)).PlacementRelTo=r,i.type=3701648758,i}return P(n)}();e.IfcObjectPlacement=to;var no=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A){var d;return b(this,n),(d=t.call(this,e,r,i,a,s,o,l,u)).Name=r,d.Description=i,d.ConstraintGrade=a,d.ConstraintSource=s,d.CreatingActor=o,d.CreationTime=l,d.UserDefinedGrade=u,d.BenchmarkValues=c,d.LogicalAggregator=f,d.ObjectiveQualifier=p,d.UserDefinedQualifier=A,d.type=2251480897,d}return P(n)}(Es);e.IfcObjective=no;var ro=function(e){I(n,U_);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e)).Identification=r,l.Name=i,l.Description=a,l.Roles=s,l.Addresses=o,l.type=4251960020,l}return P(n)}();e.IfcOrganization=ro;var io=function(e){I(n,U_);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e)).OwningUser=r,f.OwningApplication=i,f.State=a,f.ChangeAction=s,f.LastModifiedDate=o,f.LastModifyingUser=l,f.LastModifyingApplication=u,f.CreationDate=c,f.type=1207048766,f}return P(n)}();e.IfcOwnerHistory=io;var ao=function(e){I(n,U_);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e)).Identification=r,f.FamilyName=i,f.GivenName=a,f.MiddleNames=s,f.PrefixTitles=o,f.SuffixTitles=l,f.Roles=u,f.Addresses=c,f.type=2077209135,f}return P(n)}();e.IfcPerson=ao;var so=function(e){I(n,U_);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e)).ThePerson=r,s.TheOrganization=i,s.Roles=a,s.type=101040310,s}return P(n)}();e.IfcPersonAndOrganization=so;var oo=function(e){I(n,U_);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).Name=r,a.Description=i,a.type=2483315170,a}return P(n)}();e.IfcPhysicalQuantity=oo;var lo=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e,r,i)).Name=r,s.Description=i,s.Unit=a,s.type=2226359599,s}return P(n)}(oo);e.IfcPhysicalSimpleQuantity=lo;var uo=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a)).Purpose=r,A.Description=i,A.UserDefinedPurpose=a,A.InternalLocation=s,A.AddressLines=o,A.PostalBox=l,A.Town=u,A.Region=c,A.PostalCode=f,A.Country=p,A.type=3355820592,A}return P(n)}(os);e.IfcPostalAddress=uo;var co=function(e){I(n,U_);var t=m(n);function n(e){var r;return b(this,n),(r=t.call(this,e)).type=677532197,r}return P(n)}();e.IfcPresentationItem=co;var fo=function(e){I(n,U_);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e)).Name=r,o.Description=i,o.AssignedItems=a,o.Identifier=s,o.type=2022622350,o}return P(n)}();e.IfcPresentationLayerAssignment=fo;var po=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s)).Name=r,f.Description=i,f.AssignedItems=a,f.Identifier=s,f.LayerOn=o,f.LayerFrozen=l,f.LayerBlocked=u,f.LayerStyles=c,f.type=1304840413,f}return P(n)}(fo);e.IfcPresentationLayerWithStyle=po;var Ao=function(e){I(n,U_);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e)).Name=r,i.type=3119450353,i}return P(n)}();e.IfcPresentationStyle=Ao;var vo=function(e){I(n,U_);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e)).Name=r,s.Description=i,s.Representations=a,s.type=2095639259,s}return P(n)}();e.IfcProductRepresentation=vo;var ho=function(e){I(n,U_);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).ProfileType=r,a.ProfileName=i,a.type=3958567839,a}return P(n)}();e.IfcProfileDef=ho;var Io=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u){var c;return b(this,n),(c=t.call(this,e,r,i,a,s)).Name=r,c.Description=i,c.GeodeticDatum=a,c.VerticalDatum=s,c.MapProjection=o,c.MapZone=l,c.MapUnit=u,c.type=3843373140,c}return P(n)}(bs);e.IfcProjectedCRS=Io;var yo=function(e){I(n,U_);var t=m(n);function n(e){var r;return b(this,n),(r=t.call(this,e)).type=986844984,r}return P(n)}();e.IfcPropertyAbstraction=yo;var mo=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e)).Name=r,s.EnumerationValues=i,s.Unit=a,s.type=3710013099,s}return P(n)}(yo);e.IfcPropertyEnumeration=mo;var wo=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e,r,i,a)).Name=r,l.Description=i,l.Unit=a,l.AreaValue=s,l.Formula=o,l.type=2044713172,l}return P(n)}(lo);e.IfcQuantityArea=wo;var go=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e,r,i,a)).Name=r,l.Description=i,l.Unit=a,l.CountValue=s,l.Formula=o,l.type=2093928680,l}return P(n)}(lo);e.IfcQuantityCount=go;var Eo=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e,r,i,a)).Name=r,l.Description=i,l.Unit=a,l.LengthValue=s,l.Formula=o,l.type=931644368,l}return P(n)}(lo);e.IfcQuantityLength=Eo;var To=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e,r,i,a)).Name=r,l.Description=i,l.Unit=a,l.NumberValue=s,l.Formula=o,l.type=2691318326,l}return P(n)}(lo);e.IfcQuantityNumber=To;var bo=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e,r,i,a)).Name=r,l.Description=i,l.Unit=a,l.TimeValue=s,l.Formula=o,l.type=3252649465,l}return P(n)}(lo);e.IfcQuantityTime=bo;var Do=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e,r,i,a)).Name=r,l.Description=i,l.Unit=a,l.VolumeValue=s,l.Formula=o,l.type=2405470396,l}return P(n)}(lo);e.IfcQuantityVolume=Do;var Po=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e,r,i,a)).Name=r,l.Description=i,l.Unit=a,l.WeightValue=s,l.Formula=o,l.type=825690147,l}return P(n)}(lo);e.IfcQuantityWeight=Po;var Ro=function(e){I(n,U_);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e)).RecurrenceType=r,f.DayComponent=i,f.WeekdayComponent=a,f.MonthComponent=s,f.Position=o,f.Interval=l,f.Occurrences=u,f.TimePeriods=c,f.type=3915482550,f}return P(n)}();e.IfcRecurrencePattern=Ro;var Co=function(e){I(n,U_);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e)).TypeIdentifier=r,l.AttributeIdentifier=i,l.InstanceName=a,l.ListPositions=s,l.InnerReference=o,l.type=2433181523,l}return P(n)}();e.IfcReference=Co;var _o=function(e){I(n,U_);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e)).ContextOfItems=r,o.RepresentationIdentifier=i,o.RepresentationType=a,o.Items=s,o.type=1076942058,o}return P(n)}();e.IfcRepresentation=_o;var Bo=function(e){I(n,U_);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).ContextIdentifier=r,a.ContextType=i,a.type=3377609919,a}return P(n)}();e.IfcRepresentationContext=Bo;var Oo=function(e){I(n,U_);var t=m(n);function n(e){var r;return b(this,n),(r=t.call(this,e)).type=3008791417,r}return P(n)}();e.IfcRepresentationItem=Oo;var So=function(e){I(n,U_);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).MappingOrigin=r,a.MappedRepresentation=i,a.type=1660063152,a}return P(n)}();e.IfcRepresentationMap=So;var No=function(e){I(n,U_);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).Name=r,a.Description=i,a.type=2439245199,a}return P(n)}();e.IfcResourceLevelRelationship=No;var Lo=function(e){I(n,U_);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e)).GlobalId=r,o.OwnerHistory=i,o.Name=a,o.Description=s,o.type=2341007311,o}return P(n)}();e.IfcRoot=Lo;var Mo=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r,i)).Dimensions=r,o.UnitType=i,o.Prefix=a,o.Name=s,o.type=448429030,o}return P(n)}(eo);e.IfcSIUnit=Mo;var xo=function(e){I(n,U_);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e)).Name=r,s.DataOrigin=i,s.UserDefinedDataOrigin=a,s.type=1054537805,s}return P(n)}();e.IfcSchedulingTime=xo;var Fo=function(e){I(n,U_);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e)).ShapeRepresentations=r,l.Name=i,l.Description=a,l.ProductDefinitional=s,l.PartOfProductDefinitionShape=o,l.type=867548509,l}return P(n)}();e.IfcShapeAspect=Fo;var Ho=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r,i,a,s)).ContextOfItems=r,o.RepresentationIdentifier=i,o.RepresentationType=a,o.Items=s,o.type=3982875396,o}return P(n)}(_o);e.IfcShapeModel=Ho;var Uo=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r,i,a,s)).ContextOfItems=r,o.RepresentationIdentifier=i,o.RepresentationType=a,o.Items=s,o.type=4240577450,o}return P(n)}(Ho);e.IfcShapeRepresentation=Uo;var Go=function(e){I(n,U_);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e)).Name=r,i.type=2273995522,i}return P(n)}();e.IfcStructuralConnectionCondition=Go;var ko=function(e){I(n,U_);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e)).Name=r,i.type=2162789131,i}return P(n)}();e.IfcStructuralLoad=ko;var jo=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e,r)).Name=r,s.Values=i,s.Locations=a,s.type=3478079324,s}return P(n)}(ko);e.IfcStructuralLoadConfiguration=jo;var Vo=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e,r)).Name=r,i.type=609421318,i}return P(n)}(ko);e.IfcStructuralLoadOrResult=Vo;var Qo=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e,r)).Name=r,i.type=2525727697,i}return P(n)}(Vo);e.IfcStructuralLoadStatic=Qo;var Wo=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r)).Name=r,o.DeltaTConstant=i,o.DeltaTY=a,o.DeltaTZ=s,o.type=3408363356,o}return P(n)}(Qo);e.IfcStructuralLoadTemperature=Wo;var zo=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r,i,a,s)).ContextOfItems=r,o.RepresentationIdentifier=i,o.RepresentationType=a,o.Items=s,o.type=2830218821,o}return P(n)}(_o);e.IfcStyleModel=zo;var Ko=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e)).Item=r,s.Styles=i,s.Name=a,s.type=3958052878,s}return P(n)}(Oo);e.IfcStyledItem=Ko;var Yo=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r,i,a,s)).ContextOfItems=r,o.RepresentationIdentifier=i,o.RepresentationType=a,o.Items=s,o.type=3049322572,o}return P(n)}(zo);e.IfcStyledRepresentation=Yo;var Xo=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r)).Name=r,o.SurfaceReinforcement1=i,o.SurfaceReinforcement2=a,o.ShearReinforcement=s,o.type=2934153892,o}return P(n)}(Vo);e.IfcSurfaceReinforcementArea=Xo;var qo=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e,r)).Name=r,s.Side=i,s.Styles=a,s.type=1300840506,s}return P(n)}(Ao);e.IfcSurfaceStyle=qo;var Jo=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e)).DiffuseTransmissionColour=r,o.DiffuseReflectionColour=i,o.TransmissionColour=a,o.ReflectanceColour=s,o.type=3303107099,o}return P(n)}(co);e.IfcSurfaceStyleLighting=Jo;var Zo=function(e){I(n,e);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).RefractionIndex=r,a.DispersionFactor=i,a.type=1607154358,a}return P(n)}(co);e.IfcSurfaceStyleRefraction=Zo;var $o=function(e){I(n,e);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).SurfaceColour=r,a.Transparency=i,a.type=846575682,a}return P(n)}(co);e.IfcSurfaceStyleShading=$o;var el=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e)).Textures=r,i.type=1351298697,i}return P(n)}(co);e.IfcSurfaceStyleWithTextures=el;var tl=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e)).RepeatS=r,l.RepeatT=i,l.Mode=a,l.TextureTransform=s,l.Parameter=o,l.type=626085974,l}return P(n)}(co);e.IfcSurfaceTexture=tl;var nl=function(e){I(n,U_);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e)).Name=r,s.Rows=i,s.Columns=a,s.type=985171141,s}return P(n)}();e.IfcTable=nl;var rl=function(e){I(n,U_);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e)).Identifier=r,l.Name=i,l.Description=a,l.Unit=s,l.ReferencePath=o,l.type=2043862942,l}return P(n)}();e.IfcTableColumn=rl;var il=function(e){I(n,U_);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).RowCells=r,a.IsHeading=i,a.type=531007025,a}return P(n)}();e.IfcTableRow=il;var al=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A,d,v,h,I,y,m,w,g,E){var T;return b(this,n),(T=t.call(this,e,r,i,a)).Name=r,T.DataOrigin=i,T.UserDefinedDataOrigin=a,T.DurationType=s,T.ScheduleDuration=o,T.ScheduleStart=l,T.ScheduleFinish=u,T.EarlyStart=c,T.EarlyFinish=f,T.LateStart=p,T.LateFinish=A,T.FreeFloat=d,T.TotalFloat=v,T.IsCritical=h,T.StatusTime=I,T.ActualDuration=y,T.ActualStart=m,T.ActualFinish=w,T.RemainingTime=g,T.Completion=E,T.type=1549132990,T}return P(n)}(xo);e.IfcTaskTime=al;var sl=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A,d,v,h,I,y,m,w,g,E,T){var D;return b(this,n),(D=t.call(this,e,r,i,a,s,o,l,u,c,f,p,A,d,v,h,I,y,m,w,g,E)).Name=r,D.DataOrigin=i,D.UserDefinedDataOrigin=a,D.DurationType=s,D.ScheduleDuration=o,D.ScheduleStart=l,D.ScheduleFinish=u,D.EarlyStart=c,D.EarlyFinish=f,D.LateStart=p,D.LateFinish=A,D.FreeFloat=d,D.TotalFloat=v,D.IsCritical=h,D.StatusTime=I,D.ActualDuration=y,D.ActualStart=m,D.ActualFinish=w,D.RemainingTime=g,D.Completion=E,D.Recurrence=T,D.type=2771591690,D}return P(n)}(al);e.IfcTaskTimeRecurring=sl;var ol=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a)).Purpose=r,p.Description=i,p.UserDefinedPurpose=a,p.TelephoneNumbers=s,p.FacsimileNumbers=o,p.PagerNumber=l,p.ElectronicMailAddresses=u,p.WWWHomePageURL=c,p.MessagingIDs=f,p.type=912023232,p}return P(n)}(os);e.IfcTelecomAddress=ol;var ll=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e,r)).Name=r,l.TextCharacterAppearance=i,l.TextStyle=a,l.TextFontStyle=s,l.ModelOrDraughting=o,l.type=1447204868,l}return P(n)}(Ao);e.IfcTextStyle=ll;var ul=function(e){I(n,e);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).Colour=r,a.BackgroundColour=i,a.type=2636378356,a}return P(n)}(co);e.IfcTextStyleForDefinedFont=ul;var cl=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u){var c;return b(this,n),(c=t.call(this,e)).TextIndent=r,c.TextAlign=i,c.TextDecoration=a,c.LetterSpacing=s,c.WordSpacing=o,c.TextTransform=l,c.LineHeight=u,c.type=1640371178,c}return P(n)}(co);e.IfcTextStyleTextModel=cl;var fl=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e)).Maps=r,i.type=280115917,i}return P(n)}(co);e.IfcTextureCoordinate=fl;var pl=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e,r)).Maps=r,s.Mode=i,s.Parameter=a,s.type=1742049831,s}return P(n)}(fl);e.IfcTextureCoordinateGenerator=pl;var Al=function(e){I(n,U_);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).TexCoordIndex=r,a.TexCoordsOf=i,a.type=222769930,a}return P(n)}();e.IfcTextureCoordinateIndices=Al;var dl=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e,r,i)).TexCoordIndex=r,s.TexCoordsOf=i,s.InnerTexCoordIndices=a,s.type=1010789467,s}return P(n)}(Al);e.IfcTextureCoordinateIndicesWithVoids=dl;var vl=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e,r)).Maps=r,s.Vertices=i,s.MappedTo=a,s.type=2552916305,s}return P(n)}(fl);e.IfcTextureMap=vl;var hl=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e)).Coordinates=r,i.type=1210645708,i}return P(n)}(co);e.IfcTextureVertex=hl;var Il=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e)).TexCoordsList=r,i.type=3611470254,i}return P(n)}(co);e.IfcTextureVertexList=Il;var yl=function(e){I(n,U_);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).StartTime=r,a.EndTime=i,a.type=1199560280,a}return P(n)}();e.IfcTimePeriod=yl;var ml=function(e){I(n,U_);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e)).Name=r,f.Description=i,f.StartTime=a,f.EndTime=s,f.TimeSeriesDataType=o,f.DataOrigin=l,f.UserDefinedDataOrigin=u,f.Unit=c,f.type=3101149627,f}return P(n)}();e.IfcTimeSeries=ml;var wl=function(e){I(n,U_);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e)).ListValues=r,i.type=581633288,i}return P(n)}();e.IfcTimeSeriesValue=wl;var gl=function(e){I(n,e);var t=m(n);function n(e){var r;return b(this,n),(r=t.call(this,e)).type=1377556343,r}return P(n)}(Oo);e.IfcTopologicalRepresentationItem=gl;var El=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r,i,a,s)).ContextOfItems=r,o.RepresentationIdentifier=i,o.RepresentationType=a,o.Items=s,o.type=1735638870,o}return P(n)}(Ho);e.IfcTopologyRepresentation=El;var Tl=function(e){I(n,U_);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e)).Units=r,i.type=180925521,i}return P(n)}();e.IfcUnitAssignment=Tl;var bl=function(e){I(n,e);var t=m(n);function n(e){var r;return b(this,n),(r=t.call(this,e)).type=2799835756,r}return P(n)}(gl);e.IfcVertex=bl;var Dl=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e)).VertexGeometry=r,i.type=1907098498,i}return P(n)}(bl);e.IfcVertexPoint=Dl;var Pl=function(e){I(n,U_);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).IntersectingAxes=r,a.OffsetDistances=i,a.type=891718957,a}return P(n)}();e.IfcVirtualGridIntersection=Pl;var Rl=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r,i,a)).Name=r,u.DataOrigin=i,u.UserDefinedDataOrigin=a,u.RecurrencePattern=s,u.StartDate=o,u.FinishDate=l,u.type=1236880293,u}return P(n)}(xo);e.IfcWorkTime=Rl;var Cl=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i)).StartTag=r,p.EndTag=i,p.StartDistAlong=a,p.HorizontalLength=s,p.StartCantLeft=o,p.EndCantLeft=l,p.StartCantRight=u,p.EndCantRight=c,p.PredefinedType=f,p.type=3752311538,p}return P(n)}(ls);e.IfcAlignmentCantSegment=Cl;var _l=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i)).StartTag=r,p.EndTag=i,p.StartPoint=a,p.StartDirection=s,p.StartRadiusOfCurvature=o,p.EndRadiusOfCurvature=l,p.SegmentLength=u,p.GravityCenterLineHeight=c,p.PredefinedType=f,p.type=536804194,p}return P(n)}(ls);e.IfcAlignmentHorizontalSegment=_l;var Bl=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r,i)).Name=r,o.Description=i,o.RelatingApproval=a,o.RelatedApprovals=s,o.type=3869604511,o}return P(n)}(No);e.IfcApprovalRelationship=Bl;var Ol=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e,r,i)).ProfileType=r,s.ProfileName=i,s.OuterCurve=a,s.type=3798115385,s}return P(n)}(ho);e.IfcArbitraryClosedProfileDef=Ol;var Sl=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e,r,i)).ProfileType=r,s.ProfileName=i,s.Curve=a,s.type=1310608509,s}return P(n)}(ho);e.IfcArbitraryOpenProfileDef=Sl;var Nl=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r,i,a)).ProfileType=r,o.ProfileName=i,o.OuterCurve=a,o.InnerCurves=s,o.type=2705031697,o}return P(n)}(Ol);e.IfcArbitraryProfileDefWithVoids=Nl;var Ll=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u){var c;return b(this,n),(c=t.call(this,e,r,i,a,s,o)).RepeatS=r,c.RepeatT=i,c.Mode=a,c.TextureTransform=s,c.Parameter=o,c.RasterFormat=l,c.RasterCode=u,c.type=616511568,c}return P(n)}(tl);e.IfcBlobTexture=Ll;var Ml=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r,i,a)).ProfileType=r,o.ProfileName=i,o.Curve=a,o.Thickness=s,o.type=3150382593,o}return P(n)}(Sl);e.IfcCenterLineProfileDef=Ml;var xl=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u){var c;return b(this,n),(c=t.call(this,e)).Source=r,c.Edition=i,c.EditionDate=a,c.Name=s,c.Description=o,c.Specification=l,c.ReferenceTokens=u,c.type=747523909,c}return P(n)}(_s);e.IfcClassification=xl;var Fl=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r,i,a)).Location=r,u.Identification=i,u.Name=a,u.ReferencedSource=s,u.Description=o,u.Sort=l,u.type=647927063,u}return P(n)}(Bs);e.IfcClassificationReference=Fl;var Hl=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e)).ColourList=r,i.type=3285139300,i}return P(n)}(co);e.IfcColourRgbList=Hl;var Ul=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e)).Name=r,i.type=3264961684,i}return P(n)}(co);e.IfcColourSpecification=Ul;var Gl=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r,i)).ProfileType=r,o.ProfileName=i,o.Profiles=a,o.Label=s,o.type=1485152156,o}return P(n)}(ho);e.IfcCompositeProfileDef=Gl;var kl=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e)).CfsFaces=r,i.type=370225590,i}return P(n)}(gl);e.IfcConnectedFaceSet=kl;var jl=function(e){I(n,e);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).CurveOnRelatingElement=r,a.CurveOnRelatedElement=i,a.type=1981873012,a}return P(n)}(ys);e.IfcConnectionCurveGeometry=jl;var Vl=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e,r,i)).PointOnRelatingElement=r,l.PointOnRelatedElement=i,l.EccentricityInX=a,l.EccentricityInY=s,l.EccentricityInZ=o,l.type=45288368,l}return P(n)}(ms);e.IfcConnectionPointEccentricity=Vl;var Ql=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e,r,i)).Dimensions=r,s.UnitType=i,s.Name=a,s.type=3050246964,s}return P(n)}(eo);e.IfcContextDependentUnit=Ql;var Wl=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r,i)).Dimensions=r,o.UnitType=i,o.Name=a,o.ConversionFactor=s,o.type=2889183280,o}return P(n)}(eo);e.IfcConversionBasedUnit=Wl;var zl=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e,r,i,a,s)).Dimensions=r,l.UnitType=i,l.Name=a,l.ConversionFactor=s,l.ConversionOffset=o,l.type=2713554722,l}return P(n)}(Wl);e.IfcConversionBasedUnitWithOffset=zl;var Kl=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u){var c;return b(this,n),(c=t.call(this,e,r,i)).Name=r,c.Description=i,c.RelatingMonetaryUnit=a,c.RelatedMonetaryUnit=s,c.ExchangeRate=o,c.RateDateTime=l,c.RateSource=u,c.type=539742890,c}return P(n)}(No);e.IfcCurrencyRelationship=Kl;var Yl=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e,r)).Name=r,l.CurveFont=i,l.CurveWidth=a,l.CurveColour=s,l.ModelOrDraughting=o,l.type=3800577675,l}return P(n)}(Ao);e.IfcCurveStyle=Yl;var Xl=function(e){I(n,e);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).Name=r,a.PatternList=i,a.type=1105321065,a}return P(n)}(co);e.IfcCurveStyleFont=Xl;var ql=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e)).Name=r,s.CurveStyleFont=i,s.CurveFontScaling=a,s.type=2367409068,s}return P(n)}(co);e.IfcCurveStyleFontAndScaling=ql;var Jl=function(e){I(n,e);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).VisibleSegmentLength=r,a.InvisibleSegmentLength=i,a.type=3510044353,a}return P(n)}(co);e.IfcCurveStyleFontPattern=Jl;var Zl=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e,r,i)).ProfileType=r,l.ProfileName=i,l.ParentProfile=a,l.Operator=s,l.Label=o,l.type=3632507154,l}return P(n)}(ho);e.IfcDerivedProfileDef=Zl;var $l=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A,d,v,h,I,y,m){var w;return b(this,n),(w=t.call(this,e)).Identification=r,w.Name=i,w.Description=a,w.Location=s,w.Purpose=o,w.IntendedUse=l,w.Scope=u,w.Revision=c,w.DocumentOwner=f,w.Editors=p,w.CreationTime=A,w.LastRevisionTime=d,w.ElectronicFormat=v,w.ValidFrom=h,w.ValidUntil=I,w.Confidentiality=y,w.Status=m,w.type=1154170062,w}return P(n)}(_s);e.IfcDocumentInformation=$l;var eu=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e,r,i)).Name=r,l.Description=i,l.RelatingDocument=a,l.RelatedDocuments=s,l.RelationshipType=o,l.type=770865208,l}return P(n)}(No);e.IfcDocumentInformationRelationship=eu;var tu=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e,r,i,a)).Location=r,l.Identification=i,l.Name=a,l.Description=s,l.ReferencedDocument=o,l.type=3732053477,l}return P(n)}(Bs);e.IfcDocumentReference=tu;var nu=function(e){I(n,e);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).EdgeStart=r,a.EdgeEnd=i,a.type=3900360178,a}return P(n)}(gl);e.IfcEdge=nu;var ru=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r,i)).EdgeStart=r,o.EdgeEnd=i,o.EdgeGeometry=a,o.SameSense=s,o.type=476780140,o}return P(n)}(nu);e.IfcEdgeCurve=ru;var iu=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u){var c;return b(this,n),(c=t.call(this,e,r,i,a)).Name=r,c.DataOrigin=i,c.UserDefinedDataOrigin=a,c.ActualDate=s,c.EarlyDate=o,c.LateDate=l,c.ScheduleDate=u,c.type=211053100,c}return P(n)}(xo);e.IfcEventTime=iu;var au=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e)).Name=r,s.Description=i,s.Properties=a,s.type=297599258,s}return P(n)}(yo);e.IfcExtendedProperties=au;var su=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r,i)).Name=r,o.Description=i,o.RelatingReference=a,o.RelatedResourceObjects=s,o.type=1437805879,o}return P(n)}(No);e.IfcExternalReferenceRelationship=su;var ou=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e)).Bounds=r,i.type=2556980723,i}return P(n)}(gl);e.IfcFace=ou;var lu=function(e){I(n,e);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).Bound=r,a.Orientation=i,a.type=1809719519,a}return P(n)}(gl);e.IfcFaceBound=lu;var uu=function(e){I(n,e);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e,r,i)).Bound=r,a.Orientation=i,a.type=803316827,a}return P(n)}(lu);e.IfcFaceOuterBound=uu;var cu=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e,r)).Bounds=r,s.FaceSurface=i,s.SameSense=a,s.type=3008276851,s}return P(n)}(ou);e.IfcFaceSurface=cu;var fu=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u){var c;return b(this,n),(c=t.call(this,e,r)).Name=r,c.TensionFailureX=i,c.TensionFailureY=a,c.TensionFailureZ=s,c.CompressionFailureX=o,c.CompressionFailureY=l,c.CompressionFailureZ=u,c.type=4219587988,c}return P(n)}(Go);e.IfcFailureConnectionCondition=fu;var pu=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e,r)).Name=r,s.FillStyles=i,s.ModelOrDraughting=a,s.type=738692330,s}return P(n)}(Ao);e.IfcFillAreaStyle=pu;var Au=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r,i)).ContextIdentifier=r,u.ContextType=i,u.CoordinateSpaceDimension=a,u.Precision=s,u.WorldCoordinateSystem=o,u.TrueNorth=l,u.type=3448662350,u}return P(n)}(Bo);e.IfcGeometricRepresentationContext=Au;var du=function(e){I(n,e);var t=m(n);function n(e){var r;return b(this,n),(r=t.call(this,e)).type=2453401579,r}return P(n)}(Oo);e.IfcGeometricRepresentationItem=du;var vu=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u){var c;return b(this,n),(c=t.call(this,e,r,i,new D(0),null,a,null)).ContextIdentifier=r,c.ContextType=i,c.WorldCoordinateSystem=a,c.ParentContext=s,c.TargetScale=o,c.TargetView=l,c.UserDefinedTargetView=u,c.type=4142052618,c}return P(n)}(Au);e.IfcGeometricRepresentationSubContext=vu;var hu=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e)).Elements=r,i.type=3590301190,i}return P(n)}(du);e.IfcGeometricSet=hu;var Iu=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e,r)).PlacementRelTo=r,s.PlacementLocation=i,s.PlacementRefDirection=a,s.type=178086475,s}return P(n)}(to);e.IfcGridPlacement=Iu;var yu=function(e){I(n,e);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).BaseSurface=r,a.AgreementFlag=i,a.type=812098782,a}return P(n)}(du);e.IfcHalfSpaceSolid=yu;var mu=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r,i,a,s,o)).RepeatS=r,u.RepeatT=i,u.Mode=a,u.TextureTransform=s,u.Parameter=o,u.URLReference=l,u.type=3905492369,u}return P(n)}(tl);e.IfcImageTexture=mu;var wu=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e)).MappedTo=r,o.Opacity=i,o.Colours=a,o.ColourIndex=s,o.type=3570813810,o}return P(n)}(co);e.IfcIndexedColourMap=wu;var gu=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e,r)).Maps=r,s.MappedTo=i,s.TexCoords=a,s.type=1437953363,s}return P(n)}(fl);e.IfcIndexedTextureMap=gu;var Eu=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r,i,a)).Maps=r,o.MappedTo=i,o.TexCoords=a,o.TexCoordIndex=s,o.type=2133299955,o}return P(n)}(gu);e.IfcIndexedTriangleTextureMap=Eu;var Tu=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).Name=r,p.Description=i,p.StartTime=a,p.EndTime=s,p.TimeSeriesDataType=o,p.DataOrigin=l,p.UserDefinedDataOrigin=u,p.Unit=c,p.Values=f,p.type=3741457305,p}return P(n)}(ml);e.IfcIrregularTimeSeries=Tu;var bu=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e,r,i,a)).Name=r,l.DataOrigin=i,l.UserDefinedDataOrigin=a,l.LagValue=s,l.DurationType=o,l.type=1585845231,l}return P(n)}(xo);e.IfcLagTime=bu;var Du=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e)).Name=r,o.LightColour=i,o.AmbientIntensity=a,o.Intensity=s,o.type=1402838566,o}return P(n)}(du);e.IfcLightSource=Du;var Pu=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r,i,a,s)).Name=r,o.LightColour=i,o.AmbientIntensity=a,o.Intensity=s,o.type=125510826,o}return P(n)}(Du);e.IfcLightSourceAmbient=Pu;var Ru=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e,r,i,a,s)).Name=r,l.LightColour=i,l.AmbientIntensity=a,l.Intensity=s,l.Orientation=o,l.type=2604431987,l}return P(n)}(Du);e.IfcLightSourceDirectional=Ru;var Cu=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s)).Name=r,A.LightColour=i,A.AmbientIntensity=a,A.Intensity=s,A.Position=o,A.ColourAppearance=l,A.ColourTemperature=u,A.LuminousFlux=c,A.LightEmissionSource=f,A.LightDistributionDataSource=p,A.type=4266656042,A}return P(n)}(Du);e.IfcLightSourceGoniometric=Cu;var _u=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s)).Name=r,p.LightColour=i,p.AmbientIntensity=a,p.Intensity=s,p.Position=o,p.Radius=l,p.ConstantAttenuation=u,p.DistanceAttenuation=c,p.QuadricAttenuation=f,p.type=1520743889,p}return P(n)}(Du);e.IfcLightSourcePositional=_u;var Bu=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A,d,v){var h;return b(this,n),(h=t.call(this,e,r,i,a,s,o,l,u,c,f)).Name=r,h.LightColour=i,h.AmbientIntensity=a,h.Intensity=s,h.Position=o,h.Radius=l,h.ConstantAttenuation=u,h.DistanceAttenuation=c,h.QuadricAttenuation=f,h.Orientation=p,h.ConcentrationExponent=A,h.SpreadAngle=d,h.BeamWidthAngle=v,h.type=3422422726,h}return P(n)}(_u);e.IfcLightSourceSpot=Bu;var Ou=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e,r)).PlacementRelTo=r,s.RelativePlacement=i,s.CartesianPosition=a,s.type=388784114,s}return P(n)}(to);e.IfcLinearPlacement=Ou;var Su=function(e){I(n,e);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e,r)).PlacementRelTo=r,a.RelativePlacement=i,a.type=2624227202,a}return P(n)}(to);e.IfcLocalPlacement=Su;var Nu=function(e){I(n,e);var t=m(n);function n(e){var r;return b(this,n),(r=t.call(this,e)).type=1008929658,r}return P(n)}(gl);e.IfcLoop=Nu;var Lu=function(e){I(n,e);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).MappingSource=r,a.MappingTarget=i,a.type=2347385850,a}return P(n)}(Oo);e.IfcMappedItem=Lu;var Mu=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e)).Name=r,s.Description=i,s.Category=a,s.type=1838606355,s}return P(n)}(js);e.IfcMaterial=Mu;var xu=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e)).Name=r,l.Description=i,l.Material=a,l.Fraction=s,l.Category=o,l.type=3708119e3,l}return P(n)}(js);e.IfcMaterialConstituent=xu;var Fu=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e)).Name=r,s.Description=i,s.MaterialConstituents=a,s.type=2852063980,s}return P(n)}(js);e.IfcMaterialConstituentSet=Fu;var Hu=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r,i,a)).Name=r,o.Description=i,o.Representations=a,o.RepresentedMaterial=s,o.type=2022407955,o}return P(n)}(vo);e.IfcMaterialDefinitionRepresentation=Hu;var Uu=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e)).ForLayerSet=r,l.LayerSetDirection=i,l.DirectionSense=a,l.OffsetFromReferenceLine=s,l.ReferenceExtent=o,l.type=1303795690,l}return P(n)}(qs);e.IfcMaterialLayerSetUsage=Uu;var Gu=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e)).ForProfileSet=r,s.CardinalPoint=i,s.ReferenceExtent=a,s.type=3079605661,s}return P(n)}(qs);e.IfcMaterialProfileSetUsage=Gu;var ku=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e,r,i,a)).ForProfileSet=r,l.CardinalPoint=i,l.ReferenceExtent=a,l.ForProfileEndSet=s,l.CardinalEndPoint=o,l.type=3404854881,l}return P(n)}(Gu);e.IfcMaterialProfileSetUsageTapering=ku;var ju=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r,i,a)).Name=r,o.Description=i,o.Properties=a,o.Material=s,o.type=3265635763,o}return P(n)}(au);e.IfcMaterialProperties=ju;var Vu=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e,r,i)).Name=r,l.Description=i,l.RelatingMaterial=a,l.RelatedMaterials=s,l.MaterialExpression=o,l.type=853536259,l}return P(n)}(No);e.IfcMaterialRelationship=Vu;var Qu=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e,r,i,a,s,o)).ProfileType=r,l.ProfileName=i,l.ParentProfile=a,l.Operator=s,l.Label=o,l.type=2998442950,l}return P(n)}(Zl);e.IfcMirroredProfileDef=Qu;var Wu=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r,i,a,s)).GlobalId=r,o.OwnerHistory=i,o.Name=a,o.Description=s,o.type=219451334,o}return P(n)}(Lo);e.IfcObjectDefinition=Wu;var zu=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u){var c;return b(this,n),(c=t.call(this,e,r,i)).ProfileType=r,c.ProfileName=i,c.HorizontalWidths=a,c.Widths=s,c.Slopes=o,c.Tags=l,c.OffsetPoint=u,c.type=182550632,c}return P(n)}(ho);e.IfcOpenCrossProfileDef=zu;var Ku=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e,r)).CfsFaces=r,i.type=2665983363,i}return P(n)}(kl);e.IfcOpenShell=Ku;var Yu=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r,i)).Name=r,o.Description=i,o.RelatingOrganization=a,o.RelatedOrganizations=s,o.type=1411181986,o}return P(n)}(No);e.IfcOrganizationRelationship=Yu;var Xu=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e,r,new H_(0))).EdgeStart=r,s.EdgeElement=i,s.Orientation=a,s.type=1029017970,s}return P(n)}(nu);e.IfcOrientedEdge=Xu;var qu=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e,r,i)).ProfileType=r,s.ProfileName=i,s.Position=a,s.type=2529465313,s}return P(n)}(ho);e.IfcParameterizedProfileDef=qu;var Ju=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e)).EdgeList=r,i.type=2519244187,i}return P(n)}(gl);e.IfcPath=Ju;var Zu=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r,i)).Name=r,u.Description=i,u.HasQuantities=a,u.Discrimination=s,u.Quality=o,u.Usage=l,u.type=3021840470,u}return P(n)}(oo);e.IfcPhysicalComplexQuantity=Zu;var $u=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o)).RepeatS=r,p.RepeatT=i,p.Mode=a,p.TextureTransform=s,p.Parameter=o,p.Width=l,p.Height=u,p.ColourComponents=c,p.Pixel=f,p.type=597895409,p}return P(n)}(tl);e.IfcPixelTexture=$u;var ec=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e)).Location=r,i.type=2004835150,i}return P(n)}(du);e.IfcPlacement=ec;var tc=function(e){I(n,e);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).SizeInX=r,a.SizeInY=i,a.type=1663979128,a}return P(n)}(du);e.IfcPlanarExtent=tc;var nc=function(e){I(n,e);var t=m(n);function n(e){var r;return b(this,n),(r=t.call(this,e)).type=2067069095,r}return P(n)}(du);e.IfcPoint=nc;var rc=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e)).DistanceAlong=r,l.OffsetLateral=i,l.OffsetVertical=a,l.OffsetLongitudinal=s,l.BasisCurve=o,l.type=2165702409,l}return P(n)}(nc);e.IfcPointByDistanceExpression=rc;var ic=function(e){I(n,e);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).BasisCurve=r,a.PointParameter=i,a.type=4022376103,a}return P(n)}(nc);e.IfcPointOnCurve=ic;var ac=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e)).BasisSurface=r,s.PointParameterU=i,s.PointParameterV=a,s.type=1423911732,s}return P(n)}(nc);e.IfcPointOnSurface=ac;var sc=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e)).Polygon=r,i.type=2924175390,i}return P(n)}(Nu);e.IfcPolyLoop=sc;var oc=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r,i)).BaseSurface=r,o.AgreementFlag=i,o.Position=a,o.PolygonalBoundary=s,o.type=2775532180,o}return P(n)}(yu);e.IfcPolygonalBoundedHalfSpace=oc;var lc=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e)).Name=r,i.type=3727388367,i}return P(n)}(co);e.IfcPreDefinedItem=lc;var uc=function(e){I(n,e);var t=m(n);function n(e){var r;return b(this,n),(r=t.call(this,e)).type=3778827333,r}return P(n)}(yo);e.IfcPreDefinedProperties=uc;var cc=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e,r)).Name=r,i.type=1775413392,i}return P(n)}(lc);e.IfcPreDefinedTextFont=cc;var fc=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e,r,i,a)).Name=r,s.Description=i,s.Representations=a,s.type=673634403,s}return P(n)}(vo);e.IfcProductDefinitionShape=fc;var pc=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r,i,a)).Name=r,o.Description=i,o.Properties=a,o.ProfileDefinition=s,o.type=2802850158,o}return P(n)}(au);e.IfcProfileProperties=pc;var Ac=function(e){I(n,e);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).Name=r,a.Specification=i,a.type=2598011224,a}return P(n)}(yo);e.IfcProperty=Ac;var dc=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r,i,a,s)).GlobalId=r,o.OwnerHistory=i,o.Name=a,o.Description=s,o.type=1680319473,o}return P(n)}(Lo);e.IfcPropertyDefinition=dc;var vc=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e,r,i)).Name=r,l.Description=i,l.DependingProperty=a,l.DependantProperty=s,l.Expression=o,l.type=148025276,l}return P(n)}(No);e.IfcPropertyDependencyRelationship=vc;var hc=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r,i,a,s)).GlobalId=r,o.OwnerHistory=i,o.Name=a,o.Description=s,o.type=3357820518,o}return P(n)}(dc);e.IfcPropertySetDefinition=hc;var Ic=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r,i,a,s)).GlobalId=r,o.OwnerHistory=i,o.Name=a,o.Description=s,o.type=1482703590,o}return P(n)}(dc);e.IfcPropertyTemplateDefinition=Ic;var yc=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r,i,a,s)).GlobalId=r,o.OwnerHistory=i,o.Name=a,o.Description=s,o.type=2090586900,o}return P(n)}(hc);e.IfcQuantitySet=yc;var mc=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e,r,i,a)).ProfileType=r,l.ProfileName=i,l.Position=a,l.XDim=s,l.YDim=o,l.type=3615266464,l}return P(n)}(qu);e.IfcRectangleProfileDef=mc;var wc=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c)).Name=r,A.Description=i,A.StartTime=a,A.EndTime=s,A.TimeSeriesDataType=o,A.DataOrigin=l,A.UserDefinedDataOrigin=u,A.Unit=c,A.TimeStep=f,A.Values=p,A.type=3413951693,A}return P(n)}(ml);e.IfcRegularTimeSeries=wc;var gc=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e)).TotalCrossSectionArea=r,u.SteelGrade=i,u.BarSurface=a,u.EffectiveDepth=s,u.NominalBarDiameter=o,u.BarCount=l,u.type=1580146022,u}return P(n)}(uc);e.IfcReinforcementBarProperties=gc;var Ec=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r,i,a,s)).GlobalId=r,o.OwnerHistory=i,o.Name=a,o.Description=s,o.type=478536968,o}return P(n)}(Lo);e.IfcRelationship=Ec;var Tc=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r,i)).Name=r,o.Description=i,o.RelatedResourceObjects=a,o.RelatingApproval=s,o.type=2943643501,o}return P(n)}(No);e.IfcResourceApprovalRelationship=Tc;var bc=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r,i)).Name=r,o.Description=i,o.RelatingConstraint=a,o.RelatedResourceObjects=s,o.type=1608871552,o}return P(n)}(No);e.IfcResourceConstraintRelationship=bc;var Dc=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A,d,v,h,I,y,m,w){var g;return b(this,n),(g=t.call(this,e,r,i,a)).Name=r,g.DataOrigin=i,g.UserDefinedDataOrigin=a,g.ScheduleWork=s,g.ScheduleUsage=o,g.ScheduleStart=l,g.ScheduleFinish=u,g.ScheduleContour=c,g.LevelingDelay=f,g.IsOverAllocated=p,g.StatusTime=A,g.ActualWork=d,g.ActualUsage=v,g.ActualStart=h,g.ActualFinish=I,g.RemainingWork=y,g.RemainingUsage=m,g.Completion=w,g.type=1042787934,g}return P(n)}(xo);e.IfcResourceTime=Dc;var Pc=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r,i,a,s,o)).ProfileType=r,u.ProfileName=i,u.Position=a,u.XDim=s,u.YDim=o,u.RoundingRadius=l,u.type=2778083089,u}return P(n)}(mc);e.IfcRoundedRectangleProfileDef=Pc;var Rc=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e)).SectionType=r,s.StartProfile=i,s.EndProfile=a,s.type=2042790032,s}return P(n)}(uc);e.IfcSectionProperties=Rc;var Cc=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e)).LongitudinalStartPosition=r,u.LongitudinalEndPosition=i,u.TransversePosition=a,u.ReinforcementRole=s,u.SectionDefinition=o,u.CrossSectionReinforcementDefinitions=l,u.type=4165799628,u}return P(n)}(uc);e.IfcSectionReinforcementProperties=Cc;var _c=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e)).SpineCurve=r,s.CrossSections=i,s.CrossSectionPositions=a,s.type=1509187699,s}return P(n)}(du);e.IfcSectionedSpine=_c;var Bc=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e)).Transition=r,i.type=823603102,i}return P(n)}(du);e.IfcSegment=Bc;var Oc=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e)).SbsmBoundary=r,i.type=4124623270,i}return P(n)}(du);e.IfcShellBasedSurfaceModel=Oc;var Sc=function(e){I(n,e);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e,r,i)).Name=r,a.Specification=i,a.type=3692461612,a}return P(n)}(Ac);e.IfcSimpleProperty=Sc;var Nc=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r)).Name=r,o.SlippageX=i,o.SlippageY=a,o.SlippageZ=s,o.type=2609359061,o}return P(n)}(Go);e.IfcSlippageConnectionCondition=Nc;var Lc=function(e){I(n,e);var t=m(n);function n(e){var r;return b(this,n),(r=t.call(this,e)).type=723233188,r}return P(n)}(du);e.IfcSolidModel=Lc;var Mc=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u){var c;return b(this,n),(c=t.call(this,e,r)).Name=r,c.LinearForceX=i,c.LinearForceY=a,c.LinearForceZ=s,c.LinearMomentX=o,c.LinearMomentY=l,c.LinearMomentZ=u,c.type=1595516126,c}return P(n)}(Qo);e.IfcStructuralLoadLinearForce=Mc;var xc=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r)).Name=r,o.PlanarForceX=i,o.PlanarForceY=a,o.PlanarForceZ=s,o.type=2668620305,o}return P(n)}(Qo);e.IfcStructuralLoadPlanarForce=xc;var Fc=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u){var c;return b(this,n),(c=t.call(this,e,r)).Name=r,c.DisplacementX=i,c.DisplacementY=a,c.DisplacementZ=s,c.RotationalDisplacementRX=o,c.RotationalDisplacementRY=l,c.RotationalDisplacementRZ=u,c.type=2473145415,c}return P(n)}(Qo);e.IfcStructuralLoadSingleDisplacement=Fc;var Hc=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o,l,u)).Name=r,f.DisplacementX=i,f.DisplacementY=a,f.DisplacementZ=s,f.RotationalDisplacementRX=o,f.RotationalDisplacementRY=l,f.RotationalDisplacementRZ=u,f.Distortion=c,f.type=1973038258,f}return P(n)}(Fc);e.IfcStructuralLoadSingleDisplacementDistortion=Hc;var Uc=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u){var c;return b(this,n),(c=t.call(this,e,r)).Name=r,c.ForceX=i,c.ForceY=a,c.ForceZ=s,c.MomentX=o,c.MomentY=l,c.MomentZ=u,c.type=1597423693,c}return P(n)}(Qo);e.IfcStructuralLoadSingleForce=Uc;var Gc=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o,l,u)).Name=r,f.ForceX=i,f.ForceY=a,f.ForceZ=s,f.MomentX=o,f.MomentY=l,f.MomentZ=u,f.WarpingMoment=c,f.type=1190533807,f}return P(n)}(Uc);e.IfcStructuralLoadSingleForceWarping=Gc;var kc=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e,r,i)).EdgeStart=r,s.EdgeEnd=i,s.ParentEdge=a,s.type=2233826070,s}return P(n)}(nu);e.IfcSubedge=kc;var jc=function(e){I(n,e);var t=m(n);function n(e){var r;return b(this,n),(r=t.call(this,e)).type=2513912981,r}return P(n)}(du);e.IfcSurface=jc;var Vc=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i)).SurfaceColour=r,p.Transparency=i,p.DiffuseColour=a,p.TransmissionColour=s,p.DiffuseTransmissionColour=o,p.ReflectionColour=l,p.SpecularColour=u,p.SpecularHighlight=c,p.ReflectanceMethod=f,p.type=1878645084,p}return P(n)}($o);e.IfcSurfaceStyleRendering=Vc;var Qc=function(e){I(n,e);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).SweptArea=r,a.Position=i,a.type=2247615214,a}return P(n)}(Lc);e.IfcSweptAreaSolid=Qc;var Wc=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e)).Directrix=r,l.Radius=i,l.InnerRadius=a,l.StartParam=s,l.EndParam=o,l.type=1260650574,l}return P(n)}(Lc);e.IfcSweptDiskSolid=Wc;var zc=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r,i,a,s,o)).Directrix=r,u.Radius=i,u.InnerRadius=a,u.StartParam=s,u.EndParam=o,u.FilletRadius=l,u.type=1096409881,u}return P(n)}(Wc);e.IfcSweptDiskSolidPolygonal=zc;var Kc=function(e){I(n,e);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).SweptCurve=r,a.Position=i,a.type=230924584,a}return P(n)}(jc);e.IfcSweptSurface=Kc;var Yc=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A,d){var v;return b(this,n),(v=t.call(this,e,r,i,a)).ProfileType=r,v.ProfileName=i,v.Position=a,v.Depth=s,v.FlangeWidth=o,v.WebThickness=l,v.FlangeThickness=u,v.FilletRadius=c,v.FlangeEdgeRadius=f,v.WebEdgeRadius=p,v.WebSlope=A,v.FlangeSlope=d,v.type=3071757647,v}return P(n)}(qu);e.IfcTShapeProfileDef=Yc;var Xc=function(e){I(n,e);var t=m(n);function n(e){var r;return b(this,n),(r=t.call(this,e)).type=901063453,r}return P(n)}(du);e.IfcTessellatedItem=Xc;var qc=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e)).Literal=r,s.Placement=i,s.Path=a,s.type=4282788508,s}return P(n)}(du);e.IfcTextLiteral=qc;var Jc=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e,r,i,a)).Literal=r,l.Placement=i,l.Path=a,l.Extent=s,l.BoxAlignment=o,l.type=3124975700,l}return P(n)}(qc);e.IfcTextLiteralWithExtent=Jc;var Zc=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r)).Name=r,u.FontFamily=i,u.FontStyle=a,u.FontVariant=s,u.FontWeight=o,u.FontSize=l,u.type=1983826977,u}return P(n)}(cc);e.IfcTextStyleFontModel=Zc;var $c=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u){var c;return b(this,n),(c=t.call(this,e,r,i,a)).ProfileType=r,c.ProfileName=i,c.Position=a,c.BottomXDim=s,c.TopXDim=o,c.YDim=l,c.TopXOffset=u,c.type=2715220739,c}return P(n)}(qu);e.IfcTrapeziumProfileDef=$c;var ef=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r,i,a,s)).GlobalId=r,u.OwnerHistory=i,u.Name=a,u.Description=s,u.ApplicableOccurrence=o,u.HasPropertySets=l,u.type=1628702193,u}return P(n)}(Wu);e.IfcTypeObject=ef;var tf=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ApplicableOccurrence=o,p.HasPropertySets=l,p.Identification=u,p.LongDescription=c,p.ProcessType=f,p.type=3736923433,p}return P(n)}(ef);e.IfcTypeProcess=tf;var nf=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o,l)).GlobalId=r,f.OwnerHistory=i,f.Name=a,f.Description=s,f.ApplicableOccurrence=o,f.HasPropertySets=l,f.RepresentationMaps=u,f.Tag=c,f.type=2347495698,f}return P(n)}(ef);e.IfcTypeProduct=nf;var rf=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ApplicableOccurrence=o,p.HasPropertySets=l,p.Identification=u,p.LongDescription=c,p.ResourceType=f,p.type=3698973494,p}return P(n)}(ef);e.IfcTypeResource=rf;var af=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a)).ProfileType=r,A.ProfileName=i,A.Position=a,A.Depth=s,A.FlangeWidth=o,A.WebThickness=l,A.FlangeThickness=u,A.FilletRadius=c,A.EdgeRadius=f,A.FlangeSlope=p,A.type=427810014,A}return P(n)}(qu);e.IfcUShapeProfileDef=af;var sf=function(e){I(n,e);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).Orientation=r,a.Magnitude=i,a.type=1417489154,a}return P(n)}(du);e.IfcVector=sf;var of=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e)).LoopVertex=r,i.type=2759199220,i}return P(n)}(Nu);e.IfcVertexLoop=of;var lf=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a)).ProfileType=r,p.ProfileName=i,p.Position=a,p.Depth=s,p.FlangeWidth=o,p.WebThickness=l,p.FlangeThickness=u,p.FilletRadius=c,p.EdgeRadius=f,p.type=2543172580,p}return P(n)}(qu);e.IfcZShapeProfileDef=lf;var uf=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e,r,i,a)).Bounds=r,s.FaceSurface=i,s.SameSense=a,s.type=3406155212,s}return P(n)}(cu);e.IfcAdvancedFace=uf;var cf=function(e){I(n,e);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).OuterBoundary=r,a.InnerBoundaries=i,a.type=669184980,a}return P(n)}(du);e.IfcAnnotationFillArea=cf;var ff=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A,d,v,h,I){var y;return b(this,n),(y=t.call(this,e,r,i,a)).ProfileType=r,y.ProfileName=i,y.Position=a,y.BottomFlangeWidth=s,y.OverallDepth=o,y.WebThickness=l,y.BottomFlangeThickness=u,y.BottomFlangeFilletRadius=c,y.TopFlangeWidth=f,y.TopFlangeThickness=p,y.TopFlangeFilletRadius=A,y.BottomFlangeEdgeRadius=d,y.BottomFlangeSlope=v,y.TopFlangeEdgeRadius=h,y.TopFlangeSlope=I,y.type=3207858831,y}return P(n)}(qu);e.IfcAsymmetricIShapeProfileDef=ff;var pf=function(e){I(n,e);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e,r)).Location=r,a.Axis=i,a.type=4261334040,a}return P(n)}(ec);e.IfcAxis1Placement=pf;var Af=function(e){I(n,e);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e,r)).Location=r,a.RefDirection=i,a.type=3125803723,a}return P(n)}(ec);e.IfcAxis2Placement2D=Af;var df=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e,r)).Location=r,s.Axis=i,s.RefDirection=a,s.type=2740243338,s}return P(n)}(ec);e.IfcAxis2Placement3D=df;var vf=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e,r)).Location=r,s.Axis=i,s.RefDirection=a,s.type=3425423356,s}return P(n)}(ec);e.IfcAxis2PlacementLinear=vf;var hf=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e)).Operator=r,s.FirstOperand=i,s.SecondOperand=a,s.type=2736907675,s}return P(n)}(du);e.IfcBooleanResult=hf;var If=function(e){I(n,e);var t=m(n);function n(e){var r;return b(this,n),(r=t.call(this,e)).type=4182860854,r}return P(n)}(jc);e.IfcBoundedSurface=If;var yf=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e)).Corner=r,o.XDim=i,o.YDim=a,o.ZDim=s,o.type=2581212453,o}return P(n)}(du);e.IfcBoundingBox=yf;var mf=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e,r,i)).BaseSurface=r,s.AgreementFlag=i,s.Enclosure=a,s.type=2713105998,s}return P(n)}(yu);e.IfcBoxedHalfSpace=mf;var wf=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a)).ProfileType=r,f.ProfileName=i,f.Position=a,f.Depth=s,f.Width=o,f.WallThickness=l,f.Girth=u,f.InternalFilletRadius=c,f.type=2898889636,f}return P(n)}(qu);e.IfcCShapeProfileDef=wf;var gf=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e)).Coordinates=r,i.type=1123145078,i}return P(n)}(nc);e.IfcCartesianPoint=gf;var Ef=function(e){I(n,e);var t=m(n);function n(e){var r;return b(this,n),(r=t.call(this,e)).type=574549367,r}return P(n)}(du);e.IfcCartesianPointList=Ef;var Tf=function(e){I(n,e);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).CoordList=r,a.TagList=i,a.type=1675464909,a}return P(n)}(Ef);e.IfcCartesianPointList2D=Tf;var bf=function(e){I(n,e);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).CoordList=r,a.TagList=i,a.type=2059837836,a}return P(n)}(Ef);e.IfcCartesianPointList3D=bf;var Df=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e)).Axis1=r,o.Axis2=i,o.LocalOrigin=a,o.Scale=s,o.type=59481748,o}return P(n)}(du);e.IfcCartesianTransformationOperator=Df;var Pf=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r,i,a,s)).Axis1=r,o.Axis2=i,o.LocalOrigin=a,o.Scale=s,o.type=3749851601,o}return P(n)}(Df);e.IfcCartesianTransformationOperator2D=Pf;var Rf=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e,r,i,a,s)).Axis1=r,l.Axis2=i,l.LocalOrigin=a,l.Scale=s,l.Scale2=o,l.type=3486308946,l}return P(n)}(Pf);e.IfcCartesianTransformationOperator2DnonUniform=Rf;var Cf=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e,r,i,a,s)).Axis1=r,l.Axis2=i,l.LocalOrigin=a,l.Scale=s,l.Axis3=o,l.type=3331915920,l}return P(n)}(Df);e.IfcCartesianTransformationOperator3D=Cf;var _f=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u){var c;return b(this,n),(c=t.call(this,e,r,i,a,s,o)).Axis1=r,c.Axis2=i,c.LocalOrigin=a,c.Scale=s,c.Axis3=o,c.Scale2=l,c.Scale3=u,c.type=1416205885,c}return P(n)}(Cf);e.IfcCartesianTransformationOperator3DnonUniform=_f;var Bf=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r,i,a)).ProfileType=r,o.ProfileName=i,o.Position=a,o.Radius=s,o.type=1383045692,o}return P(n)}(qu);e.IfcCircleProfileDef=Bf;var Of=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e,r)).CfsFaces=r,i.type=2205249479,i}return P(n)}(kl);e.IfcClosedShell=Of;var Sf=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r)).Name=r,o.Red=i,o.Green=a,o.Blue=s,o.type=776857604,o}return P(n)}(Ul);e.IfcColourRgb=Sf;var Nf=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r,i)).Name=r,o.Specification=i,o.UsageName=a,o.HasProperties=s,o.type=2542286263,o}return P(n)}(Ac);e.IfcComplexProperty=Nf;var Lf=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e,r)).Transition=r,s.SameSense=i,s.ParentCurve=a,s.type=2485617015,s}return P(n)}(Bc);e.IfcCompositeCurveSegment=Lf;var Mf=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A){var d;return b(this,n),(d=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,d.OwnerHistory=i,d.Name=a,d.Description=s,d.ApplicableOccurrence=o,d.HasPropertySets=l,d.Identification=u,d.LongDescription=c,d.ResourceType=f,d.BaseCosts=p,d.BaseQuantity=A,d.type=2574617495,d}return P(n)}(rf);e.IfcConstructionResourceType=Mf;var xf=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.LongName=l,p.Phase=u,p.RepresentationContexts=c,p.UnitsInContext=f,p.type=3419103109,p}return P(n)}(Wu);e.IfcContext=xf;var Ff=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A,d){var v;return b(this,n),(v=t.call(this,e,r,i,a,s,o,l,u,c,f,p,A)).GlobalId=r,v.OwnerHistory=i,v.Name=a,v.Description=s,v.ApplicableOccurrence=o,v.HasPropertySets=l,v.Identification=u,v.LongDescription=c,v.ResourceType=f,v.BaseCosts=p,v.BaseQuantity=A,v.PredefinedType=d,v.type=1815067380,v}return P(n)}(Mf);e.IfcCrewResourceType=Ff;var Hf=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e)).Position=r,i.type=2506170314,i}return P(n)}(du);e.IfcCsgPrimitive3D=Hf;var Uf=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e)).TreeRootExpression=r,i.type=2147822146,i}return P(n)}(Lc);e.IfcCsgSolid=Uf;var Gf=function(e){I(n,e);var t=m(n);function n(e){var r;return b(this,n),(r=t.call(this,e)).type=2601014836,r}return P(n)}(du);e.IfcCurve=Gf;var kf=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e)).BasisSurface=r,s.OuterBoundary=i,s.InnerBoundaries=a,s.type=2827736869,s}return P(n)}(If);e.IfcCurveBoundedPlane=kf;var jf=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e)).BasisSurface=r,s.Boundaries=i,s.ImplicitOuter=a,s.type=2629017746,s}return P(n)}(If);e.IfcCurveBoundedSurface=jf;var Vf=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e,r)).Transition=r,l.Placement=i,l.SegmentStart=a,l.SegmentLength=s,l.ParentCurve=o,l.type=4212018352,l}return P(n)}(Bc);e.IfcCurveSegment=Vf;var Qf=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e)).DirectionRatios=r,i.type=32440307,i}return P(n)}(du);e.IfcDirection=Qf;var Wf=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e,r,i)).SweptArea=r,l.Position=i,l.Directrix=a,l.StartParam=s,l.EndParam=o,l.type=593015953,l}return P(n)}(Qc);e.IfcDirectrixCurveSweptAreaSolid=Wf;var zf=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e)).EdgeList=r,i.type=1472233963,i}return P(n)}(Nu);e.IfcEdgeLoop=zf;var Kf=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r,i,a,s)).GlobalId=r,u.OwnerHistory=i,u.Name=a,u.Description=s,u.MethodOfMeasurement=o,u.Quantities=l,u.type=1883228015,u}return P(n)}(yc);e.IfcElementQuantity=Kf;var Yf=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ApplicableOccurrence=o,p.HasPropertySets=l,p.RepresentationMaps=u,p.Tag=c,p.ElementType=f,p.type=339256511,p}return P(n)}(nf);e.IfcElementType=Yf;var Xf=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e)).Position=r,i.type=2777663545,i}return P(n)}(jc);e.IfcElementarySurface=Xf;var qf=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e,r,i,a)).ProfileType=r,l.ProfileName=i,l.Position=a,l.SemiAxis1=s,l.SemiAxis2=o,l.type=2835456948,l}return P(n)}(qu);e.IfcEllipseProfileDef=qf;var Jf=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A,d){var v;return b(this,n),(v=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,v.OwnerHistory=i,v.Name=a,v.Description=s,v.ApplicableOccurrence=o,v.HasPropertySets=l,v.Identification=u,v.LongDescription=c,v.ProcessType=f,v.PredefinedType=p,v.EventTriggerType=A,v.UserDefinedEventTriggerType=d,v.type=4024345920,v}return P(n)}(tf);e.IfcEventType=Jf;var Zf=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r,i)).SweptArea=r,o.Position=i,o.ExtrudedDirection=a,o.Depth=s,o.type=477187591,o}return P(n)}(Qc);e.IfcExtrudedAreaSolid=Zf;var $f=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e,r,i,a,s)).SweptArea=r,l.Position=i,l.ExtrudedDirection=a,l.Depth=s,l.EndSweptArea=o,l.type=2804161546,l}return P(n)}(Zf);e.IfcExtrudedAreaSolidTapered=$f;var ep=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e)).FbsmFaces=r,i.type=2047409740,i}return P(n)}(du);e.IfcFaceBasedSurfaceModel=ep;var tp=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e)).HatchLineAppearance=r,l.StartOfNextHatchLine=i,l.PointOfReferenceHatchLine=a,l.PatternStart=s,l.HatchLineAngle=o,l.type=374418227,l}return P(n)}(du);e.IfcFillAreaStyleHatching=tp;var np=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e)).TilingPattern=r,s.Tiles=i,s.TilingScale=a,s.type=315944413,s}return P(n)}(du);e.IfcFillAreaStyleTiles=np;var rp=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r,i,a,s,o)).SweptArea=r,u.Position=i,u.Directrix=a,u.StartParam=s,u.EndParam=o,u.FixedReference=l,u.type=2652556860,u}return P(n)}(Wf);e.IfcFixedReferenceSweptAreaSolid=rp;var ip=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ApplicableOccurrence=o,p.HasPropertySets=l,p.RepresentationMaps=u,p.Tag=c,p.ElementType=f,p.type=4238390223,p}return P(n)}(Yf);e.IfcFurnishingElementType=ip;var ap=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A){var d;return b(this,n),(d=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,d.OwnerHistory=i,d.Name=a,d.Description=s,d.ApplicableOccurrence=o,d.HasPropertySets=l,d.RepresentationMaps=u,d.Tag=c,d.ElementType=f,d.AssemblyPlace=p,d.PredefinedType=A,d.type=1268542332,d}return P(n)}(ip);e.IfcFurnitureType=ap;var sp=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=4095422895,A}return P(n)}(Yf);e.IfcGeographicElementType=sp;var op=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e,r)).Elements=r,i.type=987898635,i}return P(n)}(hu);e.IfcGeometricCurveSet=op;var lp=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a)).ProfileType=r,A.ProfileName=i,A.Position=a,A.OverallWidth=s,A.OverallDepth=o,A.WebThickness=l,A.FlangeThickness=u,A.FilletRadius=c,A.FlangeEdgeRadius=f,A.FlangeSlope=p,A.type=1484403080,A}return P(n)}(qu);e.IfcIShapeProfileDef=lp;var up=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e)).CoordIndex=r,i.type=178912537,i}return P(n)}(Xc);e.IfcIndexedPolygonalFace=up;var cp=function(e){I(n,e);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e,r)).CoordIndex=r,a.InnerCoordIndices=i,a.type=2294589976,a}return P(n)}(up);e.IfcIndexedPolygonalFaceWithVoids=cp;var fp=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r,i,a)).Maps=r,o.MappedTo=i,o.TexCoords=a,o.TexCoordIndices=s,o.type=3465909080,o}return P(n)}(gu);e.IfcIndexedPolygonalTextureMap=fp;var pp=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a)).ProfileType=r,p.ProfileName=i,p.Position=a,p.Depth=s,p.Width=o,p.Thickness=l,p.FilletRadius=u,p.EdgeRadius=c,p.LegSlope=f,p.type=572779678,p}return P(n)}(qu);e.IfcLShapeProfileDef=pp;var Ap=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A,d){var v;return b(this,n),(v=t.call(this,e,r,i,a,s,o,l,u,c,f,p,A)).GlobalId=r,v.OwnerHistory=i,v.Name=a,v.Description=s,v.ApplicableOccurrence=o,v.HasPropertySets=l,v.Identification=u,v.LongDescription=c,v.ResourceType=f,v.BaseCosts=p,v.BaseQuantity=A,v.PredefinedType=d,v.type=428585644,v}return P(n)}(Mf);e.IfcLaborResourceType=Ap;var dp=function(e){I(n,e);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).Pnt=r,a.Dir=i,a.type=1281925730,a}return P(n)}(Gf);e.IfcLine=dp;var vp=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e)).Outer=r,i.type=1425443689,i}return P(n)}(Lc);e.IfcManifoldSolidBrep=vp;var hp=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e,r,i,a,s)).GlobalId=r,l.OwnerHistory=i,l.Name=a,l.Description=s,l.ObjectType=o,l.type=3888040117,l}return P(n)}(Wu);e.IfcObject=hp;var Ip=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e)).BasisCurve=r,i.type=590820931,i}return P(n)}(Gf);e.IfcOffsetCurve=Ip;var yp=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e,r)).BasisCurve=r,s.Distance=i,s.SelfIntersect=a,s.type=3388369263,s}return P(n)}(Ip);e.IfcOffsetCurve2D=yp;var mp=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r)).BasisCurve=r,o.Distance=i,o.SelfIntersect=a,o.RefDirection=s,o.type=3505215534,o}return P(n)}(Ip);e.IfcOffsetCurve3D=mp;var wp=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e,r)).BasisCurve=r,s.OffsetValues=i,s.Tag=a,s.type=2485787929,s}return P(n)}(Ip);e.IfcOffsetCurveByDistances=wp;var gp=function(e){I(n,e);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).BasisSurface=r,a.ReferenceCurve=i,a.type=1682466193,a}return P(n)}(Gf);e.IfcPcurve=gp;var Ep=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e,r,i)).SizeInX=r,s.SizeInY=i,s.Placement=a,s.type=603570806,s}return P(n)}(tc);e.IfcPlanarBox=Ep;var Tp=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e,r)).Position=r,i.type=220341763,i}return P(n)}(Xf);e.IfcPlane=Tp;var bp=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e)).Position=r,o.CoefficientsX=i,o.CoefficientsY=a,o.CoefficientsZ=s,o.type=3381221214,o}return P(n)}(Gf);e.IfcPolynomialCurve=bp;var Dp=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e,r)).Name=r,i.type=759155922,i}return P(n)}(lc);e.IfcPreDefinedColour=Dp;var Pp=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e,r)).Name=r,i.type=2559016684,i}return P(n)}(lc);e.IfcPreDefinedCurveFont=Pp;var Rp=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r,i,a,s)).GlobalId=r,o.OwnerHistory=i,o.Name=a,o.Description=s,o.type=3967405729,o}return P(n)}(hc);e.IfcPreDefinedPropertySet=Rp;var Cp=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.Identification=u,A.LongDescription=c,A.ProcessType=f,A.PredefinedType=p,A.type=569719735,A}return P(n)}(tf);e.IfcProcedureType=Cp;var _p=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u){var c;return b(this,n),(c=t.call(this,e,r,i,a,s,o)).GlobalId=r,c.OwnerHistory=i,c.Name=a,c.Description=s,c.ObjectType=o,c.Identification=l,c.LongDescription=u,c.type=2945172077,c}return P(n)}(hp);e.IfcProcess=_p;var Bp=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u){var c;return b(this,n),(c=t.call(this,e,r,i,a,s,o)).GlobalId=r,c.OwnerHistory=i,c.Name=a,c.Description=s,c.ObjectType=o,c.ObjectPlacement=l,c.Representation=u,c.type=4208778838,c}return P(n)}(hp);e.IfcProduct=Bp;var Op=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.LongName=l,p.Phase=u,p.RepresentationContexts=c,p.UnitsInContext=f,p.type=103090709,p}return P(n)}(xf);e.IfcProject=Op;var Sp=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.LongName=l,p.Phase=u,p.RepresentationContexts=c,p.UnitsInContext=f,p.type=653396225,p}return P(n)}(xf);e.IfcProjectLibrary=Sp;var Np=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r,i)).Name=r,u.Specification=i,u.UpperBoundValue=a,u.LowerBoundValue=s,u.Unit=o,u.SetPointValue=l,u.type=871118103,u}return P(n)}(Sc);e.IfcPropertyBoundedValue=Np;var Lp=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r,i)).Name=r,o.Specification=i,o.EnumerationValues=a,o.EnumerationReference=s,o.type=4166981789,o}return P(n)}(Sc);e.IfcPropertyEnumeratedValue=Lp;var Mp=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r,i)).Name=r,o.Specification=i,o.ListValues=a,o.Unit=s,o.type=2752243245,o}return P(n)}(Sc);e.IfcPropertyListValue=Mp;var xp=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r,i)).Name=r,o.Specification=i,o.UsageName=a,o.PropertyReference=s,o.type=941946838,o}return P(n)}(Sc);e.IfcPropertyReferenceValue=xp;var Fp=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e,r,i,a,s)).GlobalId=r,l.OwnerHistory=i,l.Name=a,l.Description=s,l.HasProperties=o,l.type=1451395588,l}return P(n)}(hc);e.IfcPropertySet=Fp;var Hp=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u){var c;return b(this,n),(c=t.call(this,e,r,i,a,s)).GlobalId=r,c.OwnerHistory=i,c.Name=a,c.Description=s,c.TemplateType=o,c.ApplicableEntity=l,c.HasPropertyTemplates=u,c.type=492091185,c}return P(n)}(Ic);e.IfcPropertySetTemplate=Hp;var Up=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r,i)).Name=r,o.Specification=i,o.NominalValue=a,o.Unit=s,o.type=3650150729,o}return P(n)}(Sc);e.IfcPropertySingleValue=Up;var Gp=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i)).Name=r,f.Specification=i,f.DefiningValues=a,f.DefinedValues=s,f.Expression=o,f.DefiningUnit=l,f.DefinedUnit=u,f.CurveInterpolation=c,f.type=110355661,f}return P(n)}(Sc);e.IfcPropertyTableValue=Gp;var kp=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r,i,a,s)).GlobalId=r,o.OwnerHistory=i,o.Name=a,o.Description=s,o.type=3521284610,o}return P(n)}(Ic);e.IfcPropertyTemplate=kp;var jp=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o)).ProfileType=r,f.ProfileName=i,f.Position=a,f.XDim=s,f.YDim=o,f.WallThickness=l,f.InnerFilletRadius=u,f.OuterFilletRadius=c,f.type=2770003689,f}return P(n)}(mc);e.IfcRectangleHollowProfileDef=jp;var Vp=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r)).Position=r,o.XLength=i,o.YLength=a,o.Height=s,o.type=2798486643,o}return P(n)}(Hf);e.IfcRectangularPyramid=Vp;var Qp=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u){var c;return b(this,n),(c=t.call(this,e)).BasisSurface=r,c.U1=i,c.V1=a,c.U2=s,c.V2=o,c.Usense=l,c.Vsense=u,c.type=3454111270,c}return P(n)}(If);e.IfcRectangularTrimmedSurface=Qp;var Wp=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r,i,a,s)).GlobalId=r,u.OwnerHistory=i,u.Name=a,u.Description=s,u.DefinitionType=o,u.ReinforcementSectionDefinitions=l,u.type=3765753017,u}return P(n)}(Rp);e.IfcReinforcementDefinitionProperties=Wp;var zp=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r,i,a,s)).GlobalId=r,u.OwnerHistory=i,u.Name=a,u.Description=s,u.RelatedObjects=o,u.RelatedObjectsType=l,u.type=3939117080,u}return P(n)}(Ec);e.IfcRelAssigns=zp;var Kp=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o,l)).GlobalId=r,f.OwnerHistory=i,f.Name=a,f.Description=s,f.RelatedObjects=o,f.RelatedObjectsType=l,f.RelatingActor=u,f.ActingRole=c,f.type=1683148259,f}return P(n)}(zp);e.IfcRelAssignsToActor=Kp;var Yp=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u){var c;return b(this,n),(c=t.call(this,e,r,i,a,s,o,l)).GlobalId=r,c.OwnerHistory=i,c.Name=a,c.Description=s,c.RelatedObjects=o,c.RelatedObjectsType=l,c.RelatingControl=u,c.type=2495723537,c}return P(n)}(zp);e.IfcRelAssignsToControl=Yp;var Xp=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u){var c;return b(this,n),(c=t.call(this,e,r,i,a,s,o,l)).GlobalId=r,c.OwnerHistory=i,c.Name=a,c.Description=s,c.RelatedObjects=o,c.RelatedObjectsType=l,c.RelatingGroup=u,c.type=1307041759,c}return P(n)}(zp);e.IfcRelAssignsToGroup=Xp;var qp=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o,l,u)).GlobalId=r,f.OwnerHistory=i,f.Name=a,f.Description=s,f.RelatedObjects=o,f.RelatedObjectsType=l,f.RelatingGroup=u,f.Factor=c,f.type=1027710054,f}return P(n)}(Xp);e.IfcRelAssignsToGroupByFactor=qp;var Jp=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o,l)).GlobalId=r,f.OwnerHistory=i,f.Name=a,f.Description=s,f.RelatedObjects=o,f.RelatedObjectsType=l,f.RelatingProcess=u,f.QuantityInProcess=c,f.type=4278684876,f}return P(n)}(zp);e.IfcRelAssignsToProcess=Jp;var Zp=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u){var c;return b(this,n),(c=t.call(this,e,r,i,a,s,o,l)).GlobalId=r,c.OwnerHistory=i,c.Name=a,c.Description=s,c.RelatedObjects=o,c.RelatedObjectsType=l,c.RelatingProduct=u,c.type=2857406711,c}return P(n)}(zp);e.IfcRelAssignsToProduct=Zp;var $p=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u){var c;return b(this,n),(c=t.call(this,e,r,i,a,s,o,l)).GlobalId=r,c.OwnerHistory=i,c.Name=a,c.Description=s,c.RelatedObjects=o,c.RelatedObjectsType=l,c.RelatingResource=u,c.type=205026976,c}return P(n)}(zp);e.IfcRelAssignsToResource=$p;var eA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e,r,i,a,s)).GlobalId=r,l.OwnerHistory=i,l.Name=a,l.Description=s,l.RelatedObjects=o,l.type=1865459582,l}return P(n)}(Ec);e.IfcRelAssociates=eA;var tA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r,i,a,s,o)).GlobalId=r,u.OwnerHistory=i,u.Name=a,u.Description=s,u.RelatedObjects=o,u.RelatingApproval=l,u.type=4095574036,u}return P(n)}(eA);e.IfcRelAssociatesApproval=tA;var nA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r,i,a,s,o)).GlobalId=r,u.OwnerHistory=i,u.Name=a,u.Description=s,u.RelatedObjects=o,u.RelatingClassification=l,u.type=919958153,u}return P(n)}(eA);e.IfcRelAssociatesClassification=nA;var rA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u){var c;return b(this,n),(c=t.call(this,e,r,i,a,s,o)).GlobalId=r,c.OwnerHistory=i,c.Name=a,c.Description=s,c.RelatedObjects=o,c.Intent=l,c.RelatingConstraint=u,c.type=2728634034,c}return P(n)}(eA);e.IfcRelAssociatesConstraint=rA;var iA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r,i,a,s,o)).GlobalId=r,u.OwnerHistory=i,u.Name=a,u.Description=s,u.RelatedObjects=o,u.RelatingDocument=l,u.type=982818633,u}return P(n)}(eA);e.IfcRelAssociatesDocument=iA;var aA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r,i,a,s,o)).GlobalId=r,u.OwnerHistory=i,u.Name=a,u.Description=s,u.RelatedObjects=o,u.RelatingLibrary=l,u.type=3840914261,u}return P(n)}(eA);e.IfcRelAssociatesLibrary=aA;var sA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r,i,a,s,o)).GlobalId=r,u.OwnerHistory=i,u.Name=a,u.Description=s,u.RelatedObjects=o,u.RelatingMaterial=l,u.type=2655215786,u}return P(n)}(eA);e.IfcRelAssociatesMaterial=sA;var oA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r,i,a,s,o)).GlobalId=r,u.OwnerHistory=i,u.Name=a,u.Description=s,u.RelatedObjects=o,u.RelatingProfileDef=l,u.type=1033248425,u}return P(n)}(eA);e.IfcRelAssociatesProfileDef=oA;var lA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r,i,a,s)).GlobalId=r,o.OwnerHistory=i,o.Name=a,o.Description=s,o.type=826625072,o}return P(n)}(Ec);e.IfcRelConnects=lA;var uA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u){var c;return b(this,n),(c=t.call(this,e,r,i,a,s)).GlobalId=r,c.OwnerHistory=i,c.Name=a,c.Description=s,c.ConnectionGeometry=o,c.RelatingElement=l,c.RelatedElement=u,c.type=1204542856,c}return P(n)}(lA);e.IfcRelConnectsElements=uA;var cA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A){var d;return b(this,n),(d=t.call(this,e,r,i,a,s,o,l,u)).GlobalId=r,d.OwnerHistory=i,d.Name=a,d.Description=s,d.ConnectionGeometry=o,d.RelatingElement=l,d.RelatedElement=u,d.RelatingPriorities=c,d.RelatedPriorities=f,d.RelatedConnectionType=p,d.RelatingConnectionType=A,d.type=3945020480,d}return P(n)}(uA);e.IfcRelConnectsPathElements=cA;var fA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r,i,a,s)).GlobalId=r,u.OwnerHistory=i,u.Name=a,u.Description=s,u.RelatingPort=o,u.RelatedElement=l,u.type=4201705270,u}return P(n)}(lA);e.IfcRelConnectsPortToElement=fA;var pA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u){var c;return b(this,n),(c=t.call(this,e,r,i,a,s)).GlobalId=r,c.OwnerHistory=i,c.Name=a,c.Description=s,c.RelatingPort=o,c.RelatedPort=l,c.RealizingElement=u,c.type=3190031847,c}return P(n)}(lA);e.IfcRelConnectsPorts=pA;var AA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r,i,a,s)).GlobalId=r,u.OwnerHistory=i,u.Name=a,u.Description=s,u.RelatingElement=o,u.RelatedStructuralActivity=l,u.type=2127690289,u}return P(n)}(lA);e.IfcRelConnectsStructuralActivity=AA;var dA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.RelatingStructuralMember=o,A.RelatedStructuralConnection=l,A.AppliedCondition=u,A.AdditionalConditions=c,A.SupportedLength=f,A.ConditionCoordinateSystem=p,A.type=1638771189,A}return P(n)}(lA);e.IfcRelConnectsStructuralMember=dA;var vA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A){var d;return b(this,n),(d=t.call(this,e,r,i,a,s,o,l,u,c,f,p)).GlobalId=r,d.OwnerHistory=i,d.Name=a,d.Description=s,d.RelatingStructuralMember=o,d.RelatedStructuralConnection=l,d.AppliedCondition=u,d.AdditionalConditions=c,d.SupportedLength=f,d.ConditionCoordinateSystem=p,d.ConnectionConstraint=A,d.type=504942748,d}return P(n)}(dA);e.IfcRelConnectsWithEccentricity=vA;var hA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ConnectionGeometry=o,p.RelatingElement=l,p.RelatedElement=u,p.RealizingElements=c,p.ConnectionType=f,p.type=3678494232,p}return P(n)}(uA);e.IfcRelConnectsWithRealizingElements=hA;var IA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r,i,a,s)).GlobalId=r,u.OwnerHistory=i,u.Name=a,u.Description=s,u.RelatedElements=o,u.RelatingStructure=l,u.type=3242617779,u}return P(n)}(lA);e.IfcRelContainedInSpatialStructure=IA;var yA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r,i,a,s)).GlobalId=r,u.OwnerHistory=i,u.Name=a,u.Description=s,u.RelatingBuildingElement=o,u.RelatedCoverings=l,u.type=886880790,u}return P(n)}(lA);e.IfcRelCoversBldgElements=yA;var mA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r,i,a,s)).GlobalId=r,u.OwnerHistory=i,u.Name=a,u.Description=s,u.RelatingSpace=o,u.RelatedCoverings=l,u.type=2802773753,u}return P(n)}(lA);e.IfcRelCoversSpaces=mA;var wA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r,i,a,s)).GlobalId=r,u.OwnerHistory=i,u.Name=a,u.Description=s,u.RelatingContext=o,u.RelatedDefinitions=l,u.type=2565941209,u}return P(n)}(Ec);e.IfcRelDeclares=wA;var gA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r,i,a,s)).GlobalId=r,o.OwnerHistory=i,o.Name=a,o.Description=s,o.type=2551354335,o}return P(n)}(Ec);e.IfcRelDecomposes=gA;var EA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r,i,a,s)).GlobalId=r,o.OwnerHistory=i,o.Name=a,o.Description=s,o.type=693640335,o}return P(n)}(Ec);e.IfcRelDefines=EA;var TA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r,i,a,s)).GlobalId=r,u.OwnerHistory=i,u.Name=a,u.Description=s,u.RelatedObjects=o,u.RelatingObject=l,u.type=1462361463,u}return P(n)}(EA);e.IfcRelDefinesByObject=TA;var bA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r,i,a,s)).GlobalId=r,u.OwnerHistory=i,u.Name=a,u.Description=s,u.RelatedObjects=o,u.RelatingPropertyDefinition=l,u.type=4186316022,u}return P(n)}(EA);e.IfcRelDefinesByProperties=bA;var DA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r,i,a,s)).GlobalId=r,u.OwnerHistory=i,u.Name=a,u.Description=s,u.RelatedPropertySets=o,u.RelatingTemplate=l,u.type=307848117,u}return P(n)}(EA);e.IfcRelDefinesByTemplate=DA;var PA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r,i,a,s)).GlobalId=r,u.OwnerHistory=i,u.Name=a,u.Description=s,u.RelatedObjects=o,u.RelatingType=l,u.type=781010003,u}return P(n)}(EA);e.IfcRelDefinesByType=PA;var RA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r,i,a,s)).GlobalId=r,u.OwnerHistory=i,u.Name=a,u.Description=s,u.RelatingOpeningElement=o,u.RelatedBuildingElement=l,u.type=3940055652,u}return P(n)}(lA);e.IfcRelFillsElement=RA;var CA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r,i,a,s)).GlobalId=r,u.OwnerHistory=i,u.Name=a,u.Description=s,u.RelatedControlElements=o,u.RelatingFlowElement=l,u.type=279856033,u}return P(n)}(lA);e.IfcRelFlowControlElements=CA;var _A=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.RelatingElement=o,A.RelatedElement=l,A.InterferenceGeometry=u,A.InterferenceSpace=c,A.InterferenceType=f,A.ImpliedOrder=p,A.type=427948657,A}return P(n)}(lA);e.IfcRelInterferesElements=_A;var BA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r,i,a,s)).GlobalId=r,u.OwnerHistory=i,u.Name=a,u.Description=s,u.RelatingObject=o,u.RelatedObjects=l,u.type=3268803585,u}return P(n)}(gA);e.IfcRelNests=BA;var OA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r,i,a,s)).GlobalId=r,u.OwnerHistory=i,u.Name=a,u.Description=s,u.RelatingPositioningElement=o,u.RelatedProducts=l,u.type=1441486842,u}return P(n)}(lA);e.IfcRelPositions=OA;var SA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r,i,a,s)).GlobalId=r,u.OwnerHistory=i,u.Name=a,u.Description=s,u.RelatingElement=o,u.RelatedFeatureElement=l,u.type=750771296,u}return P(n)}(gA);e.IfcRelProjectsElement=SA;var NA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r,i,a,s)).GlobalId=r,u.OwnerHistory=i,u.Name=a,u.Description=s,u.RelatedElements=o,u.RelatingStructure=l,u.type=1245217292,u}return P(n)}(lA);e.IfcRelReferencedInSpatialStructure=NA;var LA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.RelatingProcess=o,p.RelatedProcess=l,p.TimeLag=u,p.SequenceType=c,p.UserDefinedSequenceType=f,p.type=4122056220,p}return P(n)}(lA);e.IfcRelSequence=LA;var MA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r,i,a,s)).GlobalId=r,u.OwnerHistory=i,u.Name=a,u.Description=s,u.RelatingSystem=o,u.RelatedBuildings=l,u.type=366585022,u}return P(n)}(lA);e.IfcRelServicesBuildings=MA;var xA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.RelatingSpace=o,p.RelatedBuildingElement=l,p.ConnectionGeometry=u,p.PhysicalOrVirtualBoundary=c,p.InternalOrExternalBoundary=f,p.type=3451746338,p}return P(n)}(lA);e.IfcRelSpaceBoundary=xA;var FA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.RelatingSpace=o,A.RelatedBuildingElement=l,A.ConnectionGeometry=u,A.PhysicalOrVirtualBoundary=c,A.InternalOrExternalBoundary=f,A.ParentBoundary=p,A.type=3523091289,A}return P(n)}(xA);e.IfcRelSpaceBoundary1stLevel=FA;var HA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A){var d;return b(this,n),(d=t.call(this,e,r,i,a,s,o,l,u,c,f,p)).GlobalId=r,d.OwnerHistory=i,d.Name=a,d.Description=s,d.RelatingSpace=o,d.RelatedBuildingElement=l,d.ConnectionGeometry=u,d.PhysicalOrVirtualBoundary=c,d.InternalOrExternalBoundary=f,d.ParentBoundary=p,d.CorrespondingBoundary=A,d.type=1521410863,d}return P(n)}(FA);e.IfcRelSpaceBoundary2ndLevel=HA;var UA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r,i,a,s)).GlobalId=r,u.OwnerHistory=i,u.Name=a,u.Description=s,u.RelatingBuildingElement=o,u.RelatedOpeningElement=l,u.type=1401173127,u}return P(n)}(gA);e.IfcRelVoidsElement=UA;var GA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r,i,a)).Transition=r,o.SameSense=i,o.ParentCurve=a,o.ParamLength=s,o.type=816062949,o}return P(n)}(Lf);e.IfcReparametrisedCompositeCurveSegment=GA;var kA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u){var c;return b(this,n),(c=t.call(this,e,r,i,a,s,o)).GlobalId=r,c.OwnerHistory=i,c.Name=a,c.Description=s,c.ObjectType=o,c.Identification=l,c.LongDescription=u,c.type=2914609552,c}return P(n)}(hp);e.IfcResource=kA;var jA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r,i)).SweptArea=r,o.Position=i,o.Axis=a,o.Angle=s,o.type=1856042241,o}return P(n)}(Qc);e.IfcRevolvedAreaSolid=jA;var VA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e,r,i,a,s)).SweptArea=r,l.Position=i,l.Axis=a,l.Angle=s,l.EndSweptArea=o,l.type=3243963512,l}return P(n)}(jA);e.IfcRevolvedAreaSolidTapered=VA;var QA=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e,r)).Position=r,s.Height=i,s.BottomRadius=a,s.type=4158566097,s}return P(n)}(Hf);e.IfcRightCircularCone=QA;var WA=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e,r)).Position=r,s.Height=i,s.Radius=a,s.type=3626867408,s}return P(n)}(Hf);e.IfcRightCircularCylinder=WA;var zA=function(e){I(n,e);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).Directrix=r,a.CrossSections=i,a.type=1862484736,a}return P(n)}(Lc);e.IfcSectionedSolid=zA;var KA=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e,r,i)).Directrix=r,s.CrossSections=i,s.CrossSectionPositions=a,s.type=1290935644,s}return P(n)}(zA);e.IfcSectionedSolidHorizontal=KA;var YA=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e)).Directrix=r,s.CrossSectionPositions=i,s.CrossSections=a,s.type=1356537516,s}return P(n)}(jc);e.IfcSectionedSurface=YA;var XA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A,d){var v;return b(this,n),(v=t.call(this,e,r,i,a,s)).GlobalId=r,v.OwnerHistory=i,v.Name=a,v.Description=s,v.TemplateType=o,v.PrimaryMeasureType=l,v.SecondaryMeasureType=u,v.Enumerators=c,v.PrimaryUnit=f,v.SecondaryUnit=p,v.Expression=A,v.AccessState=d,v.type=3663146110,v}return P(n)}(kp);e.IfcSimplePropertyTemplate=XA;var qA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o,l,u)).GlobalId=r,f.OwnerHistory=i,f.Name=a,f.Description=s,f.ObjectType=o,f.ObjectPlacement=l,f.Representation=u,f.LongName=c,f.type=1412071761,f}return P(n)}(Bp);e.IfcSpatialElement=qA;var JA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ApplicableOccurrence=o,p.HasPropertySets=l,p.RepresentationMaps=u,p.Tag=c,p.ElementType=f,p.type=710998568,p}return P(n)}(nf);e.IfcSpatialElementType=JA;var ZA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.LongName=c,p.CompositionType=f,p.type=2706606064,p}return P(n)}(qA);e.IfcSpatialStructureElement=ZA;var $A=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ApplicableOccurrence=o,p.HasPropertySets=l,p.RepresentationMaps=u,p.Tag=c,p.ElementType=f,p.type=3893378262,p}return P(n)}(JA);e.IfcSpatialStructureElementType=$A;var ed=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.LongName=c,p.PredefinedType=f,p.type=463610769,p}return P(n)}(qA);e.IfcSpatialZone=ed;var td=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A){var d;return b(this,n),(d=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,d.OwnerHistory=i,d.Name=a,d.Description=s,d.ApplicableOccurrence=o,d.HasPropertySets=l,d.RepresentationMaps=u,d.Tag=c,d.ElementType=f,d.PredefinedType=p,d.LongName=A,d.type=2481509218,d}return P(n)}(JA);e.IfcSpatialZoneType=td;var nd=function(e){I(n,e);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e,r)).Position=r,a.Radius=i,a.type=451544542,a}return P(n)}(Hf);e.IfcSphere=nd;var rd=function(e){I(n,e);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e,r)).Position=r,a.Radius=i,a.type=4015995234,a}return P(n)}(Xf);e.IfcSphericalSurface=rd;var id=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e)).Position=r,i.type=2735484536,i}return P(n)}(Gf);e.IfcSpiral=id;var ad=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.AppliedLoad=c,p.GlobalOrLocal=f,p.type=3544373492,p}return P(n)}(Bp);e.IfcStructuralActivity=ad;var sd=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u){var c;return b(this,n),(c=t.call(this,e,r,i,a,s,o,l,u)).GlobalId=r,c.OwnerHistory=i,c.Name=a,c.Description=s,c.ObjectType=o,c.ObjectPlacement=l,c.Representation=u,c.type=3136571912,c}return P(n)}(Bp);e.IfcStructuralItem=sd;var od=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u){var c;return b(this,n),(c=t.call(this,e,r,i,a,s,o,l,u)).GlobalId=r,c.OwnerHistory=i,c.Name=a,c.Description=s,c.ObjectType=o,c.ObjectPlacement=l,c.Representation=u,c.type=530289379,c}return P(n)}(sd);e.IfcStructuralMember=od;var ld=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.AppliedLoad=c,p.GlobalOrLocal=f,p.type=3689010777,p}return P(n)}(ad);e.IfcStructuralReaction=ld;var ud=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.PredefinedType=c,p.Thickness=f,p.type=3979015343,p}return P(n)}(od);e.IfcStructuralSurfaceMember=ud;var cd=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.PredefinedType=c,p.Thickness=f,p.type=2218152070,p}return P(n)}(ud);e.IfcStructuralSurfaceMemberVarying=cd;var fd=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ObjectType=o,A.ObjectPlacement=l,A.Representation=u,A.AppliedLoad=c,A.GlobalOrLocal=f,A.PredefinedType=p,A.type=603775116,A}return P(n)}(ld);e.IfcStructuralSurfaceReaction=fd;var pd=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A,d){var v;return b(this,n),(v=t.call(this,e,r,i,a,s,o,l,u,c,f,p,A)).GlobalId=r,v.OwnerHistory=i,v.Name=a,v.Description=s,v.ApplicableOccurrence=o,v.HasPropertySets=l,v.Identification=u,v.LongDescription=c,v.ResourceType=f,v.BaseCosts=p,v.BaseQuantity=A,v.PredefinedType=d,v.type=4095615324,v}return P(n)}(Mf);e.IfcSubContractResourceType=pd;var Ad=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e)).Curve3D=r,s.AssociatedGeometry=i,s.MasterRepresentation=a,s.type=699246055,s}return P(n)}(Gf);e.IfcSurfaceCurve=Ad;var dd=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r,i,a,s,o)).SweptArea=r,u.Position=i,u.Directrix=a,u.StartParam=s,u.EndParam=o,u.ReferenceSurface=l,u.type=2028607225,u}return P(n)}(Wf);e.IfcSurfaceCurveSweptAreaSolid=dd;var vd=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r,i)).SweptCurve=r,o.Position=i,o.ExtrudedDirection=a,o.Depth=s,o.type=2809605785,o}return P(n)}(Kc);e.IfcSurfaceOfLinearExtrusion=vd;var hd=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e,r,i)).SweptCurve=r,s.Position=i,s.AxisPosition=a,s.type=4124788165,s}return P(n)}(Kc);e.IfcSurfaceOfRevolution=hd;var Id=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=1580310250,A}return P(n)}(ip);e.IfcSystemFurnitureElementType=Id;var yd=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A,d,v){var h;return b(this,n),(h=t.call(this,e,r,i,a,s,o,l,u)).GlobalId=r,h.OwnerHistory=i,h.Name=a,h.Description=s,h.ObjectType=o,h.Identification=l,h.LongDescription=u,h.Status=c,h.WorkMethod=f,h.IsMilestone=p,h.Priority=A,h.TaskTime=d,h.PredefinedType=v,h.type=3473067441,h}return P(n)}(_p);e.IfcTask=yd;var md=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A){var d;return b(this,n),(d=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,d.OwnerHistory=i,d.Name=a,d.Description=s,d.ApplicableOccurrence=o,d.HasPropertySets=l,d.Identification=u,d.LongDescription=c,d.ProcessType=f,d.PredefinedType=p,d.WorkMethod=A,d.type=3206491090,d}return P(n)}(tf);e.IfcTaskType=md;var wd=function(e){I(n,e);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).Coordinates=r,a.Closed=i,a.type=2387106220,a}return P(n)}(Xc);e.IfcTessellatedFaceSet=wd;var gd=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e,r)).Position=r,l.CubicTerm=i,l.QuadraticTerm=a,l.LinearTerm=s,l.ConstantTerm=o,l.type=782932809,l}return P(n)}(id);e.IfcThirdOrderPolynomialSpiral=gd;var Ed=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e,r)).Position=r,s.MajorRadius=i,s.MinorRadius=a,s.type=1935646853,s}return P(n)}(Xf);e.IfcToroidalSurface=Ed;var Td=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ApplicableOccurrence=o,p.HasPropertySets=l,p.RepresentationMaps=u,p.Tag=c,p.ElementType=f,p.type=3665877780,p}return P(n)}(Yf);e.IfcTransportationDeviceType=Td;var bd=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e,r,i)).Coordinates=r,l.Closed=i,l.Normals=a,l.CoordIndex=s,l.PnIndex=o,l.type=2916149573,l}return P(n)}(wd);e.IfcTriangulatedFaceSet=bd;var Dd=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r,i,a,s,o)).Coordinates=r,u.Closed=i,u.Normals=a,u.CoordIndex=s,u.PnIndex=o,u.Flags=l,u.type=1229763772,u}return P(n)}(bd);e.IfcTriangulatedIrregularNetwork=Dd;var Pd=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=3651464721,A}return P(n)}(Td);e.IfcVehicleType=Pd;var Rd=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A,d,v,h,I,y){var m;return b(this,n),(m=t.call(this,e,r,i,a,s)).GlobalId=r,m.OwnerHistory=i,m.Name=a,m.Description=s,m.LiningDepth=o,m.LiningThickness=l,m.TransomThickness=u,m.MullionThickness=c,m.FirstTransomOffset=f,m.SecondTransomOffset=p,m.FirstMullionOffset=A,m.SecondMullionOffset=d,m.ShapeAspectStyle=v,m.LiningOffset=h,m.LiningToPanelOffsetX=I,m.LiningToPanelOffsetY=y,m.type=336235671,m}return P(n)}(Rp);e.IfcWindowLiningProperties=Rd;var Cd=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.OperationType=o,p.PanelPosition=l,p.FrameDepth=u,p.FrameThickness=c,p.ShapeAspectStyle=f,p.type=512836454,p}return P(n)}(Rp);e.IfcWindowPanelProperties=Cd;var _d=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r,i,a,s,o)).GlobalId=r,u.OwnerHistory=i,u.Name=a,u.Description=s,u.ObjectType=o,u.TheActor=l,u.type=2296667514,u}return P(n)}(hp);e.IfcActor=_d;var Bd=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e,r)).Outer=r,i.type=1635779807,i}return P(n)}(vp);e.IfcAdvancedBrep=Bd;var Od=function(e){I(n,e);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e,r)).Outer=r,a.Voids=i,a.type=2603310189,a}return P(n)}(Bd);e.IfcAdvancedBrepWithVoids=Od;var Sd=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o,l,u)).GlobalId=r,f.OwnerHistory=i,f.Name=a,f.Description=s,f.ObjectType=o,f.ObjectPlacement=l,f.Representation=u,f.PredefinedType=c,f.type=1674181508,f}return P(n)}(Bp);e.IfcAnnotation=Sd;var Nd=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u){var c;return b(this,n),(c=t.call(this,e)).UDegree=r,c.VDegree=i,c.ControlPointsList=a,c.SurfaceForm=s,c.UClosed=o,c.VClosed=l,c.SelfIntersect=u,c.type=2887950389,c}return P(n)}(If);e.IfcBSplineSurface=Nd;var Ld=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A,d){var v;return b(this,n),(v=t.call(this,e,r,i,a,s,o,l,u)).UDegree=r,v.VDegree=i,v.ControlPointsList=a,v.SurfaceForm=s,v.UClosed=o,v.VClosed=l,v.SelfIntersect=u,v.UMultiplicities=c,v.VMultiplicities=f,v.UKnots=p,v.VKnots=A,v.KnotSpec=d,v.type=167062518,v}return P(n)}(Nd);e.IfcBSplineSurfaceWithKnots=Ld;var Md=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r)).Position=r,o.XLength=i,o.YLength=a,o.ZLength=s,o.type=1334484129,o}return P(n)}(Hf);e.IfcBlock=Md;var xd=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e,r,i,a)).Operator=r,s.FirstOperand=i,s.SecondOperand=a,s.type=3649129432,s}return P(n)}(hf);e.IfcBooleanClippingResult=xd;var Fd=function(e){I(n,e);var t=m(n);function n(e){var r;return b(this,n),(r=t.call(this,e)).type=1260505505,r}return P(n)}(Gf);e.IfcBoundedCurve=Fd;var Hd=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ObjectType=o,A.ObjectPlacement=l,A.Representation=u,A.LongName=c,A.CompositionType=f,A.Elevation=p,A.type=3124254112,A}return P(n)}(ZA);e.IfcBuildingStorey=Hd;var Ud=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ApplicableOccurrence=o,p.HasPropertySets=l,p.RepresentationMaps=u,p.Tag=c,p.ElementType=f,p.type=1626504194,p}return P(n)}(Yf);e.IfcBuiltElementType=Ud;var Gd=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=2197970202,A}return P(n)}(Ud);e.IfcChimneyType=Gd;var kd=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e,r,i,a,s)).ProfileType=r,l.ProfileName=i,l.Position=a,l.Radius=s,l.WallThickness=o,l.type=2937912522,l}return P(n)}(Bf);e.IfcCircleHollowProfileDef=kd;var jd=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ApplicableOccurrence=o,p.HasPropertySets=l,p.RepresentationMaps=u,p.Tag=c,p.ElementType=f,p.type=3893394355,p}return P(n)}(Yf);e.IfcCivilElementType=jd;var Vd=function(e){I(n,e);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e,r)).Position=r,a.ClothoidConstant=i,a.type=3497074424,a}return P(n)}(id);e.IfcClothoid=Vd;var Qd=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=300633059,A}return P(n)}(Ud);e.IfcColumnType=Qd;var Wd=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u){var c;return b(this,n),(c=t.call(this,e,r,i,a,s)).GlobalId=r,c.OwnerHistory=i,c.Name=a,c.Description=s,c.UsageName=o,c.TemplateType=l,c.HasPropertyTemplates=u,c.type=3875453745,c}return P(n)}(kp);e.IfcComplexPropertyTemplate=Wd;var zd=function(e){I(n,e);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).Segments=r,a.SelfIntersect=i,a.type=3732776249,a}return P(n)}(Fd);e.IfcCompositeCurve=zd;var Kd=function(e){I(n,e);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e,r,i)).Segments=r,a.SelfIntersect=i,a.type=15328376,a}return P(n)}(zd);e.IfcCompositeCurveOnSurface=Kd;var Yd=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e)).Position=r,i.type=2510884976,i}return P(n)}(Gf);e.IfcConic=Yd;var Xd=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A,d){var v;return b(this,n),(v=t.call(this,e,r,i,a,s,o,l,u,c,f,p,A)).GlobalId=r,v.OwnerHistory=i,v.Name=a,v.Description=s,v.ApplicableOccurrence=o,v.HasPropertySets=l,v.Identification=u,v.LongDescription=c,v.ResourceType=f,v.BaseCosts=p,v.BaseQuantity=A,v.PredefinedType=d,v.type=2185764099,v}return P(n)}(Mf);e.IfcConstructionEquipmentResourceType=Xd;var qd=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A,d){var v;return b(this,n),(v=t.call(this,e,r,i,a,s,o,l,u,c,f,p,A)).GlobalId=r,v.OwnerHistory=i,v.Name=a,v.Description=s,v.ApplicableOccurrence=o,v.HasPropertySets=l,v.Identification=u,v.LongDescription=c,v.ResourceType=f,v.BaseCosts=p,v.BaseQuantity=A,v.PredefinedType=d,v.type=4105962743,v}return P(n)}(Mf);e.IfcConstructionMaterialResourceType=qd;var Jd=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A,d){var v;return b(this,n),(v=t.call(this,e,r,i,a,s,o,l,u,c,f,p,A)).GlobalId=r,v.OwnerHistory=i,v.Name=a,v.Description=s,v.ApplicableOccurrence=o,v.HasPropertySets=l,v.Identification=u,v.LongDescription=c,v.ResourceType=f,v.BaseCosts=p,v.BaseQuantity=A,v.PredefinedType=d,v.type=1525564444,v}return P(n)}(Mf);e.IfcConstructionProductResourceType=Jd;var Zd=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ObjectType=o,A.Identification=l,A.LongDescription=u,A.Usage=c,A.BaseCosts=f,A.BaseQuantity=p,A.type=2559216714,A}return P(n)}(kA);e.IfcConstructionResource=Zd;var $d=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r,i,a,s,o)).GlobalId=r,u.OwnerHistory=i,u.Name=a,u.Description=s,u.ObjectType=o,u.Identification=l,u.type=3293443760,u}return P(n)}(hp);e.IfcControl=$d;var ev=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e,r)).Position=r,s.CosineTerm=i,s.ConstantTerm=a,s.type=2000195564,s}return P(n)}(id);e.IfcCosineSpiral=ev;var tv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.Identification=l,p.PredefinedType=u,p.CostValues=c,p.CostQuantities=f,p.type=3895139033,p}return P(n)}($d);e.IfcCostItem=tv;var nv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ObjectType=o,A.Identification=l,A.PredefinedType=u,A.Status=c,A.SubmittedOn=f,A.UpdateDate=p,A.type=1419761937,A}return P(n)}($d);e.IfcCostSchedule=nv;var rv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=4189326743,A}return P(n)}(Ud);e.IfcCourseType=rv;var iv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=1916426348,A}return P(n)}(Ud);e.IfcCoveringType=iv;var av=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A){var d;return b(this,n),(d=t.call(this,e,r,i,a,s,o,l,u,c,f,p)).GlobalId=r,d.OwnerHistory=i,d.Name=a,d.Description=s,d.ObjectType=o,d.Identification=l,d.LongDescription=u,d.Usage=c,d.BaseCosts=f,d.BaseQuantity=p,d.PredefinedType=A,d.type=3295246426,d}return P(n)}(Zd);e.IfcCrewResource=av;var sv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=1457835157,A}return P(n)}(Ud);e.IfcCurtainWallType=sv;var ov=function(e){I(n,e);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e,r)).Position=r,a.Radius=i,a.type=1213902940,a}return P(n)}(Xf);e.IfcCylindricalSurface=ov;var lv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ApplicableOccurrence=o,p.HasPropertySets=l,p.RepresentationMaps=u,p.Tag=c,p.ElementType=f,p.type=1306400036,p}return P(n)}(Ud);e.IfcDeepFoundationType=lv;var uv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r,i,a,s,o,l)).SweptArea=r,u.Position=i,u.Directrix=a,u.StartParam=s,u.EndParam=o,u.FixedReference=l,u.type=4234616927,u}return P(n)}(rp);e.IfcDirectrixDerivedReferenceSweptAreaSolid=uv;var cv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ApplicableOccurrence=o,p.HasPropertySets=l,p.RepresentationMaps=u,p.Tag=c,p.ElementType=f,p.type=3256556792,p}return P(n)}(Yf);e.IfcDistributionElementType=cv;var fv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ApplicableOccurrence=o,p.HasPropertySets=l,p.RepresentationMaps=u,p.Tag=c,p.ElementType=f,p.type=3849074793,p}return P(n)}(cv);e.IfcDistributionFlowElementType=fv;var pv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A,d,v,h,I,y,m){var w;return b(this,n),(w=t.call(this,e,r,i,a,s)).GlobalId=r,w.OwnerHistory=i,w.Name=a,w.Description=s,w.LiningDepth=o,w.LiningThickness=l,w.ThresholdDepth=u,w.ThresholdThickness=c,w.TransomThickness=f,w.TransomOffset=p,w.LiningOffset=A,w.ThresholdOffset=d,w.CasingThickness=v,w.CasingDepth=h,w.ShapeAspectStyle=I,w.LiningToPanelOffsetX=y,w.LiningToPanelOffsetY=m,w.type=2963535650,w}return P(n)}(Rp);e.IfcDoorLiningProperties=pv;var Av=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.PanelDepth=o,p.PanelOperation=l,p.PanelWidth=u,p.PanelPosition=c,p.ShapeAspectStyle=f,p.type=1714330368,p}return P(n)}(Rp);e.IfcDoorPanelProperties=Av;var dv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A,d,v){var h;return b(this,n),(h=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,h.OwnerHistory=i,h.Name=a,h.Description=s,h.ApplicableOccurrence=o,h.HasPropertySets=l,h.RepresentationMaps=u,h.Tag=c,h.ElementType=f,h.PredefinedType=p,h.OperationType=A,h.ParameterTakesPrecedence=d,h.UserDefinedOperationType=v,h.type=2323601079,h}return P(n)}(Ud);e.IfcDoorType=dv;var vv=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e,r)).Name=r,i.type=445594917,i}return P(n)}(Dp);e.IfcDraughtingPreDefinedColour=vv;var hv=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e,r)).Name=r,i.type=4006246654,i}return P(n)}(Pp);e.IfcDraughtingPreDefinedCurveFont=hv;var Iv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o,l,u)).GlobalId=r,f.OwnerHistory=i,f.Name=a,f.Description=s,f.ObjectType=o,f.ObjectPlacement=l,f.Representation=u,f.Tag=c,f.type=1758889154,f}return P(n)}(Bp);e.IfcElement=Iv;var yv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ObjectType=o,A.ObjectPlacement=l,A.Representation=u,A.Tag=c,A.AssemblyPlace=f,A.PredefinedType=p,A.type=4123344466,A}return P(n)}(Iv);e.IfcElementAssembly=yv;var mv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=2397081782,A}return P(n)}(Yf);e.IfcElementAssemblyType=mv;var wv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,f.OwnerHistory=i,f.Name=a,f.Description=s,f.ObjectType=o,f.ObjectPlacement=l,f.Representation=u,f.Tag=c,f.type=1623761950,f}return P(n)}(Iv);e.IfcElementComponent=wv;var gv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ApplicableOccurrence=o,p.HasPropertySets=l,p.RepresentationMaps=u,p.Tag=c,p.ElementType=f,p.type=2590856083,p}return P(n)}(Yf);e.IfcElementComponentType=gv;var Ev=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e,r)).Position=r,s.SemiAxis1=i,s.SemiAxis2=a,s.type=1704287377,s}return P(n)}(Yd);e.IfcEllipse=Ev;var Tv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ApplicableOccurrence=o,p.HasPropertySets=l,p.RepresentationMaps=u,p.Tag=c,p.ElementType=f,p.type=2107101300,p}return P(n)}(fv);e.IfcEnergyConversionDeviceType=Tv;var bv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=132023988,A}return P(n)}(Tv);e.IfcEngineType=bv;var Dv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=3174744832,A}return P(n)}(Tv);e.IfcEvaporativeCoolerType=Dv;var Pv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=3390157468,A}return P(n)}(Tv);e.IfcEvaporatorType=Pv;var Rv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A){var d;return b(this,n),(d=t.call(this,e,r,i,a,s,o,l,u)).GlobalId=r,d.OwnerHistory=i,d.Name=a,d.Description=s,d.ObjectType=o,d.Identification=l,d.LongDescription=u,d.PredefinedType=c,d.EventTriggerType=f,d.UserDefinedEventTriggerType=p,d.EventOccurenceTime=A,d.type=4148101412,d}return P(n)}(_p);e.IfcEvent=Rv;var Cv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,f.OwnerHistory=i,f.Name=a,f.Description=s,f.ObjectType=o,f.ObjectPlacement=l,f.Representation=u,f.LongName=c,f.type=2853485674,f}return P(n)}(qA);e.IfcExternalSpatialStructureElement=Cv;var _v=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e,r)).Outer=r,i.type=807026263,i}return P(n)}(vp);e.IfcFacetedBrep=_v;var Bv=function(e){I(n,e);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e,r)).Outer=r,a.Voids=i,a.type=3737207727,a}return P(n)}(_v);e.IfcFacetedBrepWithVoids=Bv;var Ov=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.LongName=c,p.CompositionType=f,p.type=24185140,p}return P(n)}(ZA);e.IfcFacility=Ov;var Sv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ObjectType=o,A.ObjectPlacement=l,A.Representation=u,A.LongName=c,A.CompositionType=f,A.UsageType=p,A.type=1310830890,A}return P(n)}(ZA);e.IfcFacilityPart=Sv;var Nv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A){var d;return b(this,n),(d=t.call(this,e,r,i,a,s,o,l,u,c,f,p)).GlobalId=r,d.OwnerHistory=i,d.Name=a,d.Description=s,d.ObjectType=o,d.ObjectPlacement=l,d.Representation=u,d.LongName=c,d.CompositionType=f,d.UsageType=p,d.PredefinedType=A,d.type=4228831410,d}return P(n)}(Sv);e.IfcFacilityPartCommon=Nv;var Lv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=647756555,p}return P(n)}(wv);e.IfcFastener=Lv;var Mv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=2489546625,A}return P(n)}(gv);e.IfcFastenerType=Mv;var xv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,f.OwnerHistory=i,f.Name=a,f.Description=s,f.ObjectType=o,f.ObjectPlacement=l,f.Representation=u,f.Tag=c,f.type=2827207264,f}return P(n)}(Iv);e.IfcFeatureElement=xv;var Fv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,f.OwnerHistory=i,f.Name=a,f.Description=s,f.ObjectType=o,f.ObjectPlacement=l,f.Representation=u,f.Tag=c,f.type=2143335405,f}return P(n)}(xv);e.IfcFeatureElementAddition=Fv;var Hv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,f.OwnerHistory=i,f.Name=a,f.Description=s,f.ObjectType=o,f.ObjectPlacement=l,f.Representation=u,f.Tag=c,f.type=1287392070,f}return P(n)}(xv);e.IfcFeatureElementSubtraction=Hv;var Uv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ApplicableOccurrence=o,p.HasPropertySets=l,p.RepresentationMaps=u,p.Tag=c,p.ElementType=f,p.type=3907093117,p}return P(n)}(fv);e.IfcFlowControllerType=Uv;var Gv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ApplicableOccurrence=o,p.HasPropertySets=l,p.RepresentationMaps=u,p.Tag=c,p.ElementType=f,p.type=3198132628,p}return P(n)}(fv);e.IfcFlowFittingType=Gv;var kv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=3815607619,A}return P(n)}(Uv);e.IfcFlowMeterType=kv;var jv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ApplicableOccurrence=o,p.HasPropertySets=l,p.RepresentationMaps=u,p.Tag=c,p.ElementType=f,p.type=1482959167,p}return P(n)}(fv);e.IfcFlowMovingDeviceType=jv;var Vv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ApplicableOccurrence=o,p.HasPropertySets=l,p.RepresentationMaps=u,p.Tag=c,p.ElementType=f,p.type=1834744321,p}return P(n)}(fv);e.IfcFlowSegmentType=Vv;var Qv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ApplicableOccurrence=o,p.HasPropertySets=l,p.RepresentationMaps=u,p.Tag=c,p.ElementType=f,p.type=1339347760,p}return P(n)}(fv);e.IfcFlowStorageDeviceType=Qv;var Wv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ApplicableOccurrence=o,p.HasPropertySets=l,p.RepresentationMaps=u,p.Tag=c,p.ElementType=f,p.type=2297155007,p}return P(n)}(fv);e.IfcFlowTerminalType=Wv;var zv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ApplicableOccurrence=o,p.HasPropertySets=l,p.RepresentationMaps=u,p.Tag=c,p.ElementType=f,p.type=3009222698,p}return P(n)}(fv);e.IfcFlowTreatmentDeviceType=zv;var Kv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=1893162501,A}return P(n)}(Ud);e.IfcFootingType=Kv;var Yv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,f.OwnerHistory=i,f.Name=a,f.Description=s,f.ObjectType=o,f.ObjectPlacement=l,f.Representation=u,f.Tag=c,f.type=263784265,f}return P(n)}(Iv);e.IfcFurnishingElement=Yv;var Xv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=1509553395,p}return P(n)}(Yv);e.IfcFurniture=Xv;var qv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=3493046030,p}return P(n)}(Iv);e.IfcGeographicElement=qv;var Jv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,f.OwnerHistory=i,f.Name=a,f.Description=s,f.ObjectType=o,f.ObjectPlacement=l,f.Representation=u,f.Tag=c,f.type=4230923436,f}return P(n)}(Iv);e.IfcGeotechnicalElement=Jv;var Zv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=1594536857,p}return P(n)}(Jv);e.IfcGeotechnicalStratum=Zv;var $v=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r,i)).Segments=r,o.SelfIntersect=i,o.BaseCurve=a,o.EndPoint=s,o.type=2898700619,o}return P(n)}(zd);e.IfcGradientCurve=$v;var eh=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e,r,i,a,s,o)).GlobalId=r,l.OwnerHistory=i,l.Name=a,l.Description=s,l.ObjectType=o,l.type=2706460486,l}return P(n)}(hp);e.IfcGroup=eh;var th=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=1251058090,A}return P(n)}(Tv);e.IfcHeatExchangerType=th;var nh=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=1806887404,A}return P(n)}(Tv);e.IfcHumidifierType=nh;var rh=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=2568555532,p}return P(n)}(wv);e.IfcImpactProtectionDevice=rh;var ih=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=3948183225,A}return P(n)}(gv);e.IfcImpactProtectionDeviceType=ih;var ah=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e)).Points=r,s.Segments=i,s.SelfIntersect=a,s.type=2571569899,s}return P(n)}(Fd);e.IfcIndexedPolyCurve=ah;var sh=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=3946677679,A}return P(n)}(zv);e.IfcInterceptorType=sh;var oh=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e,r,i,a)).Curve3D=r,s.AssociatedGeometry=i,s.MasterRepresentation=a,s.type=3113134337,s}return P(n)}(Ad);e.IfcIntersectionCurve=oh;var lh=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A){var d;return b(this,n),(d=t.call(this,e,r,i,a,s,o)).GlobalId=r,d.OwnerHistory=i,d.Name=a,d.Description=s,d.ObjectType=o,d.PredefinedType=l,d.Jurisdiction=u,d.ResponsiblePersons=c,d.LastUpdateDate=f,d.CurrentValue=p,d.OriginalValue=A,d.type=2391368822,d}return P(n)}(eh);e.IfcInventory=lh;var uh=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=4288270099,A}return P(n)}(Gv);e.IfcJunctionBoxType=uh;var ch=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.Mountable=p,A.type=679976338,A}return P(n)}(Ud);e.IfcKerbType=ch;var fh=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A){var d;return b(this,n),(d=t.call(this,e,r,i,a,s,o,l,u,c,f,p)).GlobalId=r,d.OwnerHistory=i,d.Name=a,d.Description=s,d.ObjectType=o,d.Identification=l,d.LongDescription=u,d.Usage=c,d.BaseCosts=f,d.BaseQuantity=p,d.PredefinedType=A,d.type=3827777499,d}return P(n)}(Zd);e.IfcLaborResource=fh;var ph=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=1051575348,A}return P(n)}(Wv);e.IfcLampType=ph;var Ah=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=1161773419,A}return P(n)}(Wv);e.IfcLightFixtureType=Ah;var dh=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u){var c;return b(this,n),(c=t.call(this,e,r,i,a,s,o,l,u)).GlobalId=r,c.OwnerHistory=i,c.Name=a,c.Description=s,c.ObjectType=o,c.ObjectPlacement=l,c.Representation=u,c.type=2176059722,c}return P(n)}(Bp);e.IfcLinearElement=dh;var vh=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=1770583370,A}return P(n)}(Wv);e.IfcLiquidTerminalType=vh;var hh=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ObjectType=o,A.ObjectPlacement=l,A.Representation=u,A.LongName=c,A.CompositionType=f,A.PredefinedType=p,A.type=525669439,A}return P(n)}(Ov);e.IfcMarineFacility=hh;var Ih=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A){var d;return b(this,n),(d=t.call(this,e,r,i,a,s,o,l,u,c,f,p)).GlobalId=r,d.OwnerHistory=i,d.Name=a,d.Description=s,d.ObjectType=o,d.ObjectPlacement=l,d.Representation=u,d.LongName=c,d.CompositionType=f,d.UsageType=p,d.PredefinedType=A,d.type=976884017,d}return P(n)}(Sv);e.IfcMarinePart=Ih;var yh=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A){var d;return b(this,n),(d=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,d.OwnerHistory=i,d.Name=a,d.Description=s,d.ObjectType=o,d.ObjectPlacement=l,d.Representation=u,d.Tag=c,d.NominalDiameter=f,d.NominalLength=p,d.PredefinedType=A,d.type=377706215,d}return P(n)}(wv);e.IfcMechanicalFastener=yh;var mh=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A,d){var v;return b(this,n),(v=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,v.OwnerHistory=i,v.Name=a,v.Description=s,v.ApplicableOccurrence=o,v.HasPropertySets=l,v.RepresentationMaps=u,v.Tag=c,v.ElementType=f,v.PredefinedType=p,v.NominalDiameter=A,v.NominalLength=d,v.type=2108223431,v}return P(n)}(gv);e.IfcMechanicalFastenerType=mh;var wh=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=1114901282,A}return P(n)}(Wv);e.IfcMedicalDeviceType=wh;var gh=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=3181161470,A}return P(n)}(Ud);e.IfcMemberType=gh;var Eh=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=1950438474,A}return P(n)}(Wv);e.IfcMobileTelecommunicationsApplianceType=Eh;var Th=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=710110818,A}return P(n)}(Ud);e.IfcMooringDeviceType=Th;var bh=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=977012517,A}return P(n)}(Tv);e.IfcMotorConnectionType=bh;var Dh=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=506776471,A}return P(n)}(Ud);e.IfcNavigationElementType=Dh;var Ph=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u){var c;return b(this,n),(c=t.call(this,e,r,i,a,s,o,l)).GlobalId=r,c.OwnerHistory=i,c.Name=a,c.Description=s,c.ObjectType=o,c.TheActor=l,c.PredefinedType=u,c.type=4143007308,c}return P(n)}(_d);e.IfcOccupant=Ph;var Rh=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=3588315303,p}return P(n)}(Hv);e.IfcOpeningElement=Rh;var Ch=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=2837617999,A}return P(n)}(Wv);e.IfcOutletType=Ch;var _h=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=514975943,A}return P(n)}(Ud);e.IfcPavementType=_h;var Bh=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o,l)).GlobalId=r,f.OwnerHistory=i,f.Name=a,f.Description=s,f.ObjectType=o,f.Identification=l,f.LifeCyclePhase=u,f.PredefinedType=c,f.type=2382730787,f}return P(n)}($d);e.IfcPerformanceHistory=Bh;var Oh=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.OperationType=o,p.PanelPosition=l,p.FrameDepth=u,p.FrameThickness=c,p.ShapeAspectStyle=f,p.type=3566463478,p}return P(n)}(Rp);e.IfcPermeableCoveringProperties=Oh;var Sh=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.Identification=l,p.PredefinedType=u,p.Status=c,p.LongDescription=f,p.type=3327091369,p}return P(n)}($d);e.IfcPermit=Sh;var Nh=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=1158309216,A}return P(n)}(lv);e.IfcPileType=Nh;var Lh=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=804291784,A}return P(n)}(Gv);e.IfcPipeFittingType=Lh;var Mh=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=4231323485,A}return P(n)}(Vv);e.IfcPipeSegmentType=Mh;var xh=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=4017108033,A}return P(n)}(Ud);e.IfcPlateType=xh;var Fh=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r,i)).Coordinates=r,o.Closed=i,o.Faces=a,o.PnIndex=s,o.type=2839578677,o}return P(n)}(wd);e.IfcPolygonalFaceSet=Fh;var Hh=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e)).Points=r,i.type=3724593414,i}return P(n)}(Fd);e.IfcPolyline=Hh;var Uh=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u){var c;return b(this,n),(c=t.call(this,e,r,i,a,s,o,l,u)).GlobalId=r,c.OwnerHistory=i,c.Name=a,c.Description=s,c.ObjectType=o,c.ObjectPlacement=l,c.Representation=u,c.type=3740093272,c}return P(n)}(Bp);e.IfcPort=Uh;var Gh=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u){var c;return b(this,n),(c=t.call(this,e,r,i,a,s,o,l,u)).GlobalId=r,c.OwnerHistory=i,c.Name=a,c.Description=s,c.ObjectType=o,c.ObjectPlacement=l,c.Representation=u,c.type=1946335990,c}return P(n)}(Bp);e.IfcPositioningElement=Gh;var kh=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o,l,u)).GlobalId=r,f.OwnerHistory=i,f.Name=a,f.Description=s,f.ObjectType=o,f.Identification=l,f.LongDescription=u,f.PredefinedType=c,f.type=2744685151,f}return P(n)}(_p);e.IfcProcedure=kh;var jh=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.Identification=l,p.PredefinedType=u,p.Status=c,p.LongDescription=f,p.type=2904328755,p}return P(n)}($d);e.IfcProjectOrder=jh;var Vh=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=3651124850,p}return P(n)}(Fv);e.IfcProjectionElement=Vh;var Qh=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=1842657554,A}return P(n)}(Uv);e.IfcProtectiveDeviceType=Qh;var Wh=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=2250791053,A}return P(n)}(jv);e.IfcPumpType=Wh;var zh=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=1763565496,A}return P(n)}(Ud);e.IfcRailType=zh;var Kh=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=2893384427,A}return P(n)}(Ud);e.IfcRailingType=Kh;var Yh=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ObjectType=o,A.ObjectPlacement=l,A.Representation=u,A.LongName=c,A.CompositionType=f,A.PredefinedType=p,A.type=3992365140,A}return P(n)}(Ov);e.IfcRailway=Yh;var Xh=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A){var d;return b(this,n),(d=t.call(this,e,r,i,a,s,o,l,u,c,f,p)).GlobalId=r,d.OwnerHistory=i,d.Name=a,d.Description=s,d.ObjectType=o,d.ObjectPlacement=l,d.Representation=u,d.LongName=c,d.CompositionType=f,d.UsageType=p,d.PredefinedType=A,d.type=1891881377,d}return P(n)}(Sv);e.IfcRailwayPart=Xh;var qh=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=2324767716,A}return P(n)}(Ud);e.IfcRampFlightType=qh;var Jh=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=1469900589,A}return P(n)}(Ud);e.IfcRampType=Jh;var Zh=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A,d,v){var h;return b(this,n),(h=t.call(this,e,r,i,a,s,o,l,u,c,f,p,A,d)).UDegree=r,h.VDegree=i,h.ControlPointsList=a,h.SurfaceForm=s,h.UClosed=o,h.VClosed=l,h.SelfIntersect=u,h.UMultiplicities=c,h.VMultiplicities=f,h.UKnots=p,h.VKnots=A,h.KnotSpec=d,h.WeightsData=v,h.type=683857671,h}return P(n)}(Ld);e.IfcRationalBSplineSurfaceWithKnots=Zh;var $h=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o,l,u)).GlobalId=r,f.OwnerHistory=i,f.Name=a,f.Description=s,f.ObjectType=o,f.ObjectPlacement=l,f.Representation=u,f.PredefinedType=c,f.type=4021432810,f}return P(n)}(Gh);e.IfcReferent=$h;var eI=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.SteelGrade=f,p.type=3027567501,p}return P(n)}(wv);e.IfcReinforcingElement=eI;var tI=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ApplicableOccurrence=o,p.HasPropertySets=l,p.RepresentationMaps=u,p.Tag=c,p.ElementType=f,p.type=964333572,p}return P(n)}(gv);e.IfcReinforcingElementType=tI;var nI=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A,d,v,h,I,y,m,w){var g;return b(this,n),(g=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,g.OwnerHistory=i,g.Name=a,g.Description=s,g.ObjectType=o,g.ObjectPlacement=l,g.Representation=u,g.Tag=c,g.SteelGrade=f,g.MeshLength=p,g.MeshWidth=A,g.LongitudinalBarNominalDiameter=d,g.TransverseBarNominalDiameter=v,g.LongitudinalBarCrossSectionArea=h,g.TransverseBarCrossSectionArea=I,g.LongitudinalBarSpacing=y,g.TransverseBarSpacing=m,g.PredefinedType=w,g.type=2320036040,g}return P(n)}(eI);e.IfcReinforcingMesh=nI;var rI=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A,d,v,h,I,y,m,w,g,E){var T;return b(this,n),(T=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,T.OwnerHistory=i,T.Name=a,T.Description=s,T.ApplicableOccurrence=o,T.HasPropertySets=l,T.RepresentationMaps=u,T.Tag=c,T.ElementType=f,T.PredefinedType=p,T.MeshLength=A,T.MeshWidth=d,T.LongitudinalBarNominalDiameter=v,T.TransverseBarNominalDiameter=h,T.LongitudinalBarCrossSectionArea=I,T.TransverseBarCrossSectionArea=y,T.LongitudinalBarSpacing=m,T.TransverseBarSpacing=w,T.BendingShapeCode=g,T.BendingParameters=E,T.type=2310774935,T}return P(n)}(tI);e.IfcReinforcingMeshType=rI;var iI=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r,i,a,s)).GlobalId=r,u.OwnerHistory=i,u.Name=a,u.Description=s,u.RelatingElement=o,u.RelatedSurfaceFeatures=l,u.type=3818125796,u}return P(n)}(gA);e.IfcRelAdheresToElement=iI;var aI=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r,i,a,s)).GlobalId=r,u.OwnerHistory=i,u.Name=a,u.Description=s,u.RelatingObject=o,u.RelatedObjects=l,u.type=160246688,u}return P(n)}(gA);e.IfcRelAggregates=aI;var sI=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ObjectType=o,A.ObjectPlacement=l,A.Representation=u,A.LongName=c,A.CompositionType=f,A.PredefinedType=p,A.type=146592293,A}return P(n)}(Ov);e.IfcRoad=sI;var oI=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A){var d;return b(this,n),(d=t.call(this,e,r,i,a,s,o,l,u,c,f,p)).GlobalId=r,d.OwnerHistory=i,d.Name=a,d.Description=s,d.ObjectType=o,d.ObjectPlacement=l,d.Representation=u,d.LongName=c,d.CompositionType=f,d.UsageType=p,d.PredefinedType=A,d.type=550521510,d}return P(n)}(Sv);e.IfcRoadPart=oI;var lI=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=2781568857,A}return P(n)}(Ud);e.IfcRoofType=lI;var uI=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=1768891740,A}return P(n)}(Wv);e.IfcSanitaryTerminalType=uI;var cI=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e,r,i,a)).Curve3D=r,s.AssociatedGeometry=i,s.MasterRepresentation=a,s.type=2157484638,s}return P(n)}(Ad);e.IfcSeamCurve=cI;var fI=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r)).Position=r,o.QuadraticTerm=i,o.LinearTerm=a,o.ConstantTerm=s,o.type=3649235739,o}return P(n)}(id);e.IfcSecondOrderPolynomialSpiral=fI;var pI=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r,i)).Segments=r,o.SelfIntersect=i,o.BaseCurve=a,o.EndPoint=s,o.type=544395925,o}return P(n)}(zd);e.IfcSegmentedReferenceCurve=pI;var AI=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r)).Position=r,p.SepticTerm=i,p.SexticTerm=a,p.QuinticTerm=s,p.QuarticTerm=o,p.CubicTerm=l,p.QuadraticTerm=u,p.LinearTerm=c,p.ConstantTerm=f,p.type=1027922057,p}return P(n)}(id);e.IfcSeventhOrderPolynomialSpiral=AI;var dI=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=4074543187,A}return P(n)}(Ud);e.IfcShadingDeviceType=dI;var vI=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=33720170,p}return P(n)}(wv);e.IfcSign=vI;var hI=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=3599934289,A}return P(n)}(gv);e.IfcSignType=hI;var II=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=1894708472,A}return P(n)}(Wv);e.IfcSignalType=II;var yI=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r)).Position=r,o.SineTerm=i,o.LinearTerm=a,o.ConstantTerm=s,o.type=42703149,o}return P(n)}(id);e.IfcSineSpiral=yI;var mI=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A,d,v,h){var I;return b(this,n),(I=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,I.OwnerHistory=i,I.Name=a,I.Description=s,I.ObjectType=o,I.ObjectPlacement=l,I.Representation=u,I.LongName=c,I.CompositionType=f,I.RefLatitude=p,I.RefLongitude=A,I.RefElevation=d,I.LandTitleNumber=v,I.SiteAddress=h,I.type=4097777520,I}return P(n)}(ZA);e.IfcSite=mI;var wI=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=2533589738,A}return P(n)}(Ud);e.IfcSlabType=wI;var gI=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=1072016465,A}return P(n)}(Tv);e.IfcSolarDeviceType=gI;var EI=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A){var d;return b(this,n),(d=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,d.OwnerHistory=i,d.Name=a,d.Description=s,d.ObjectType=o,d.ObjectPlacement=l,d.Representation=u,d.LongName=c,d.CompositionType=f,d.PredefinedType=p,d.ElevationWithFlooring=A,d.type=3856911033,d}return P(n)}(ZA);e.IfcSpace=EI;var TI=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=1305183839,A}return P(n)}(Wv);e.IfcSpaceHeaterType=TI;var bI=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A){var d;return b(this,n),(d=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,d.OwnerHistory=i,d.Name=a,d.Description=s,d.ApplicableOccurrence=o,d.HasPropertySets=l,d.RepresentationMaps=u,d.Tag=c,d.ElementType=f,d.PredefinedType=p,d.LongName=A,d.type=3812236995,d}return P(n)}($A);e.IfcSpaceType=bI;var DI=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=3112655638,A}return P(n)}(Wv);e.IfcStackTerminalType=DI;var PI=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=1039846685,A}return P(n)}(Ud);e.IfcStairFlightType=PI;var RI=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=338393293,A}return P(n)}(Ud);e.IfcStairType=RI;var CI=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ObjectType=o,A.ObjectPlacement=l,A.Representation=u,A.AppliedLoad=c,A.GlobalOrLocal=f,A.DestabilizingLoad=p,A.type=682877961,A}return P(n)}(ad);e.IfcStructuralAction=CI;var _I=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o,l,u)).GlobalId=r,f.OwnerHistory=i,f.Name=a,f.Description=s,f.ObjectType=o,f.ObjectPlacement=l,f.Representation=u,f.AppliedCondition=c,f.type=1179482911,f}return P(n)}(sd);e.IfcStructuralConnection=_I;var BI=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A,d){var v;return b(this,n),(v=t.call(this,e,r,i,a,s,o,l,u,c,f,p)).GlobalId=r,v.OwnerHistory=i,v.Name=a,v.Description=s,v.ObjectType=o,v.ObjectPlacement=l,v.Representation=u,v.AppliedLoad=c,v.GlobalOrLocal=f,v.DestabilizingLoad=p,v.ProjectedOrTrue=A,v.PredefinedType=d,v.type=1004757350,v}return P(n)}(CI);e.IfcStructuralCurveAction=BI;var OI=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.AppliedCondition=c,p.AxisDirection=f,p.type=4243806635,p}return P(n)}(_I);e.IfcStructuralCurveConnection=OI;var SI=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.PredefinedType=c,p.Axis=f,p.type=214636428,p}return P(n)}(od);e.IfcStructuralCurveMember=SI;var NI=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.PredefinedType=c,p.Axis=f,p.type=2445595289,p}return P(n)}(SI);e.IfcStructuralCurveMemberVarying=NI;var LI=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ObjectType=o,A.ObjectPlacement=l,A.Representation=u,A.AppliedLoad=c,A.GlobalOrLocal=f,A.PredefinedType=p,A.type=2757150158,A}return P(n)}(ld);e.IfcStructuralCurveReaction=LI;var MI=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A,d){var v;return b(this,n),(v=t.call(this,e,r,i,a,s,o,l,u,c,f,p,A,d)).GlobalId=r,v.OwnerHistory=i,v.Name=a,v.Description=s,v.ObjectType=o,v.ObjectPlacement=l,v.Representation=u,v.AppliedLoad=c,v.GlobalOrLocal=f,v.DestabilizingLoad=p,v.ProjectedOrTrue=A,v.PredefinedType=d,v.type=1807405624,v}return P(n)}(BI);e.IfcStructuralLinearAction=MI;var xI=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ObjectType=o,A.PredefinedType=l,A.ActionType=u,A.ActionSource=c,A.Coefficient=f,A.Purpose=p,A.type=1252848954,A}return P(n)}(eh);e.IfcStructuralLoadGroup=xI;var FI=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f,p)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ObjectType=o,A.ObjectPlacement=l,A.Representation=u,A.AppliedLoad=c,A.GlobalOrLocal=f,A.DestabilizingLoad=p,A.type=2082059205,A}return P(n)}(CI);e.IfcStructuralPointAction=FI;var HI=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.AppliedCondition=c,p.ConditionCoordinateSystem=f,p.type=734778138,p}return P(n)}(_I);e.IfcStructuralPointConnection=HI;var UI=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.AppliedLoad=c,p.GlobalOrLocal=f,p.type=1235345126,p}return P(n)}(ld);e.IfcStructuralPointReaction=UI;var GI=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o)).GlobalId=r,f.OwnerHistory=i,f.Name=a,f.Description=s,f.ObjectType=o,f.TheoryType=l,f.ResultForLoadGroup=u,f.IsLinear=c,f.type=2986769608,f}return P(n)}(eh);e.IfcStructuralResultGroup=GI;var kI=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A,d){var v;return b(this,n),(v=t.call(this,e,r,i,a,s,o,l,u,c,f,p)).GlobalId=r,v.OwnerHistory=i,v.Name=a,v.Description=s,v.ObjectType=o,v.ObjectPlacement=l,v.Representation=u,v.AppliedLoad=c,v.GlobalOrLocal=f,v.DestabilizingLoad=p,v.ProjectedOrTrue=A,v.PredefinedType=d,v.type=3657597509,v}return P(n)}(CI);e.IfcStructuralSurfaceAction=kI;var jI=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,f.OwnerHistory=i,f.Name=a,f.Description=s,f.ObjectType=o,f.ObjectPlacement=l,f.Representation=u,f.AppliedCondition=c,f.type=1975003073,f}return P(n)}(_I);e.IfcStructuralSurfaceConnection=jI;var VI=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A){var d;return b(this,n),(d=t.call(this,e,r,i,a,s,o,l,u,c,f,p)).GlobalId=r,d.OwnerHistory=i,d.Name=a,d.Description=s,d.ObjectType=o,d.Identification=l,d.LongDescription=u,d.Usage=c,d.BaseCosts=f,d.BaseQuantity=p,d.PredefinedType=A,d.type=148013059,d}return P(n)}(Zd);e.IfcSubContractResource=VI;var QI=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=3101698114,p}return P(n)}(xv);e.IfcSurfaceFeature=QI;var WI=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=2315554128,A}return P(n)}(Uv);e.IfcSwitchingDeviceType=WI;var zI=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e,r,i,a,s,o)).GlobalId=r,l.OwnerHistory=i,l.Name=a,l.Description=s,l.ObjectType=o,l.type=2254336722,l}return P(n)}(eh);e.IfcSystem=zI;var KI=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=413509423,p}return P(n)}(Yv);e.IfcSystemFurnitureElement=KI;var YI=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=5716631,A}return P(n)}(Qv);e.IfcTankType=YI;var XI=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A,d,v,h,I,y,m){var w;return b(this,n),(w=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,w.OwnerHistory=i,w.Name=a,w.Description=s,w.ObjectType=o,w.ObjectPlacement=l,w.Representation=u,w.Tag=c,w.SteelGrade=f,w.PredefinedType=p,w.NominalDiameter=A,w.CrossSectionArea=d,w.TensionForce=v,w.PreStress=h,w.FrictionCoefficient=I,w.AnchorageSlip=y,w.MinCurvatureRadius=m,w.type=3824725483,w}return P(n)}(eI);e.IfcTendon=XI;var qI=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ObjectType=o,A.ObjectPlacement=l,A.Representation=u,A.Tag=c,A.SteelGrade=f,A.PredefinedType=p,A.type=2347447852,A}return P(n)}(eI);e.IfcTendonAnchor=qI;var JI=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=3081323446,A}return P(n)}(tI);e.IfcTendonAnchorType=JI;var ZI=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ObjectType=o,A.ObjectPlacement=l,A.Representation=u,A.Tag=c,A.SteelGrade=f,A.PredefinedType=p,A.type=3663046924,A}return P(n)}(eI);e.IfcTendonConduit=ZI;var $I=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=2281632017,A}return P(n)}(tI);e.IfcTendonConduitType=$I;var ey=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A,d,v){var h;return b(this,n),(h=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,h.OwnerHistory=i,h.Name=a,h.Description=s,h.ApplicableOccurrence=o,h.HasPropertySets=l,h.RepresentationMaps=u,h.Tag=c,h.ElementType=f,h.PredefinedType=p,h.NominalDiameter=A,h.CrossSectionArea=d,h.SheathDiameter=v,h.type=2415094496,h}return P(n)}(tI);e.IfcTendonType=ey;var ty=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=618700268,A}return P(n)}(Ud);e.IfcTrackElementType=ty;var ny=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=1692211062,A}return P(n)}(Tv);e.IfcTransformerType=ny;var ry=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=2097647324,A}return P(n)}(Td);e.IfcTransportElementType=ry;var iy=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,f.OwnerHistory=i,f.Name=a,f.Description=s,f.ObjectType=o,f.ObjectPlacement=l,f.Representation=u,f.Tag=c,f.type=1953115116,f}return P(n)}(Iv);e.IfcTransportationDevice=iy;var ay=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e)).BasisCurve=r,l.Trim1=i,l.Trim2=a,l.SenseAgreement=s,l.MasterRepresentation=o,l.type=3593883385,l}return P(n)}(Fd);e.IfcTrimmedCurve=ay;var sy=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=1600972822,A}return P(n)}(Tv);e.IfcTubeBundleType=sy;var oy=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=1911125066,A}return P(n)}(Tv);e.IfcUnitaryEquipmentType=oy;var ly=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=728799441,A}return P(n)}(Uv);e.IfcValveType=ly;var uy=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=840318589,p}return P(n)}(iy);e.IfcVehicle=uy;var cy=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=1530820697,p}return P(n)}(wv);e.IfcVibrationDamper=cy;var fy=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=3956297820,A}return P(n)}(gv);e.IfcVibrationDamperType=fy;var py=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=2391383451,p}return P(n)}(wv);e.IfcVibrationIsolator=py;var Ay=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=3313531582,A}return P(n)}(gv);e.IfcVibrationIsolatorType=Ay;var dy=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=2769231204,p}return P(n)}(Iv);e.IfcVirtualElement=dy;var vy=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=926996030,p}return P(n)}(Hv);e.IfcVoidingFeature=vy;var hy=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=1898987631,A}return P(n)}(Ud);e.IfcWallType=hy;var Iy=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=1133259667,A}return P(n)}(Wv);e.IfcWasteTerminalType=Iy;var yy=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A,d,v){var h;return b(this,n),(h=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,h.OwnerHistory=i,h.Name=a,h.Description=s,h.ApplicableOccurrence=o,h.HasPropertySets=l,h.RepresentationMaps=u,h.Tag=c,h.ElementType=f,h.PredefinedType=p,h.PartitioningType=A,h.ParameterTakesPrecedence=d,h.UserDefinedPartitioningType=v,h.type=4009809668,h}return P(n)}(Ud);e.IfcWindowType=yy;var my=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.Identification=l,p.WorkingTimes=u,p.ExceptionTimes=c,p.PredefinedType=f,p.type=4088093105,p}return P(n)}($d);e.IfcWorkCalendar=my;var wy=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A,d,v){var h;return b(this,n),(h=t.call(this,e,r,i,a,s,o,l)).GlobalId=r,h.OwnerHistory=i,h.Name=a,h.Description=s,h.ObjectType=o,h.Identification=l,h.CreationDate=u,h.Creators=c,h.Purpose=f,h.Duration=p,h.TotalFloat=A,h.StartTime=d,h.FinishTime=v,h.type=1028945134,h}return P(n)}($d);e.IfcWorkControl=wy;var gy=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A,d,v,h){var I;return b(this,n),(I=t.call(this,e,r,i,a,s,o,l,u,c,f,p,A,d,v)).GlobalId=r,I.OwnerHistory=i,I.Name=a,I.Description=s,I.ObjectType=o,I.Identification=l,I.CreationDate=u,I.Creators=c,I.Purpose=f,I.Duration=p,I.TotalFloat=A,I.StartTime=d,I.FinishTime=v,I.PredefinedType=h,I.type=4218914973,I}return P(n)}(wy);e.IfcWorkPlan=gy;var Ey=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A,d,v,h){var I;return b(this,n),(I=t.call(this,e,r,i,a,s,o,l,u,c,f,p,A,d,v)).GlobalId=r,I.OwnerHistory=i,I.Name=a,I.Description=s,I.ObjectType=o,I.Identification=l,I.CreationDate=u,I.Creators=c,I.Purpose=f,I.Duration=p,I.TotalFloat=A,I.StartTime=d,I.FinishTime=v,I.PredefinedType=h,I.type=3342526732,I}return P(n)}(wy);e.IfcWorkSchedule=Ey;var Ty=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r,i,a,s,o)).GlobalId=r,u.OwnerHistory=i,u.Name=a,u.Description=s,u.ObjectType=o,u.LongName=l,u.type=1033361043,u}return P(n)}(zI);e.IfcZone=Ty;var by=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.Identification=l,p.PredefinedType=u,p.Status=c,p.LongDescription=f,p.type=3821786052,p}return P(n)}($d);e.IfcActionRequest=by;var Dy=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=1411407467,A}return P(n)}(Uv);e.IfcAirTerminalBoxType=Dy;var Py=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=3352864051,A}return P(n)}(Wv);e.IfcAirTerminalType=Py;var Ry=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=1871374353,A}return P(n)}(Tv);e.IfcAirToAirHeatRecoveryType=Ry;var Cy=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o,l,u)).GlobalId=r,f.OwnerHistory=i,f.Name=a,f.Description=s,f.ObjectType=o,f.ObjectPlacement=l,f.Representation=u,f.RailHeadDistance=c,f.type=4266260250,f}return P(n)}(dh);e.IfcAlignmentCant=Cy;var _y=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u){var c;return b(this,n),(c=t.call(this,e,r,i,a,s,o,l,u)).GlobalId=r,c.OwnerHistory=i,c.Name=a,c.Description=s,c.ObjectType=o,c.ObjectPlacement=l,c.Representation=u,c.type=1545765605,c}return P(n)}(dh);e.IfcAlignmentHorizontal=_y;var By=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o,l,u)).GlobalId=r,f.OwnerHistory=i,f.Name=a,f.Description=s,f.ObjectType=o,f.ObjectPlacement=l,f.Representation=u,f.DesignParameters=c,f.type=317615605,f}return P(n)}(dh);e.IfcAlignmentSegment=By;var Oy=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u){var c;return b(this,n),(c=t.call(this,e,r,i,a,s,o,l,u)).GlobalId=r,c.OwnerHistory=i,c.Name=a,c.Description=s,c.ObjectType=o,c.ObjectPlacement=l,c.Representation=u,c.type=1662888072,c}return P(n)}(dh);e.IfcAlignmentVertical=Oy;var Sy=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A,d,v,h){var I;return b(this,n),(I=t.call(this,e,r,i,a,s,o)).GlobalId=r,I.OwnerHistory=i,I.Name=a,I.Description=s,I.ObjectType=o,I.Identification=l,I.OriginalValue=u,I.CurrentValue=c,I.TotalReplacementCost=f,I.Owner=p,I.User=A,I.ResponsiblePerson=d,I.IncorporationDate=v,I.DepreciatedValue=h,I.type=3460190687,I}return P(n)}(eh);e.IfcAsset=Sy;var Ny=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=1532957894,A}return P(n)}(Wv);e.IfcAudioVisualApplianceType=Ny;var Ly=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e)).Degree=r,l.ControlPointsList=i,l.CurveForm=a,l.ClosedCurve=s,l.SelfIntersect=o,l.type=1967976161,l}return P(n)}(Fd);e.IfcBSplineCurve=Ly;var My=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o)).Degree=r,f.ControlPointsList=i,f.CurveForm=a,f.ClosedCurve=s,f.SelfIntersect=o,f.KnotMultiplicities=l,f.Knots=u,f.KnotSpec=c,f.type=2461110595,f}return P(n)}(Ly);e.IfcBSplineCurveWithKnots=My;var xy=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=819618141,A}return P(n)}(Ud);e.IfcBeamType=xy;var Fy=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=3649138523,A}return P(n)}(Ud);e.IfcBearingType=Fy;var Hy=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=231477066,A}return P(n)}(Tv);e.IfcBoilerType=Hy;var Uy=function(e){I(n,e);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e,r,i)).Segments=r,a.SelfIntersect=i,a.type=1136057603,a}return P(n)}(Kd);e.IfcBoundaryCurve=Uy;var Gy=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ObjectType=o,A.ObjectPlacement=l,A.Representation=u,A.LongName=c,A.CompositionType=f,A.PredefinedType=p,A.type=644574406,A}return P(n)}(Ov);e.IfcBridge=Gy;var ky=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A){var d;return b(this,n),(d=t.call(this,e,r,i,a,s,o,l,u,c,f,p)).GlobalId=r,d.OwnerHistory=i,d.Name=a,d.Description=s,d.ObjectType=o,d.ObjectPlacement=l,d.Representation=u,d.LongName=c,d.CompositionType=f,d.UsageType=p,d.PredefinedType=A,d.type=963979645,d}return P(n)}(Sv);e.IfcBridgePart=ky;var jy=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A,d){var v;return b(this,n),(v=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,v.OwnerHistory=i,v.Name=a,v.Description=s,v.ObjectType=o,v.ObjectPlacement=l,v.Representation=u,v.LongName=c,v.CompositionType=f,v.ElevationOfRefHeight=p,v.ElevationOfTerrain=A,v.BuildingAddress=d,v.type=4031249490,v}return P(n)}(Ov);e.IfcBuilding=jy;var Vy=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=2979338954,p}return P(n)}(wv);e.IfcBuildingElementPart=Vy;var Qy=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=39481116,A}return P(n)}(gv);e.IfcBuildingElementPartType=Qy;var Wy=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=1909888760,A}return P(n)}(Ud);e.IfcBuildingElementProxyType=Wy;var zy=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u){var c;return b(this,n),(c=t.call(this,e,r,i,a,s,o)).GlobalId=r,c.OwnerHistory=i,c.Name=a,c.Description=s,c.ObjectType=o,c.PredefinedType=l,c.LongName=u,c.type=1177604601,c}return P(n)}(zI);e.IfcBuildingSystem=zy;var Ky=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,f.OwnerHistory=i,f.Name=a,f.Description=s,f.ObjectType=o,f.ObjectPlacement=l,f.Representation=u,f.Tag=c,f.type=1876633798,f}return P(n)}(Iv);e.IfcBuiltElement=Ky;var Yy=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u){var c;return b(this,n),(c=t.call(this,e,r,i,a,s,o)).GlobalId=r,c.OwnerHistory=i,c.Name=a,c.Description=s,c.ObjectType=o,c.PredefinedType=l,c.LongName=u,c.type=3862327254,c}return P(n)}(zI);e.IfcBuiltSystem=Yy;var Xy=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=2188180465,A}return P(n)}(Tv);e.IfcBurnerType=Xy;var qy=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=395041908,A}return P(n)}(Gv);e.IfcCableCarrierFittingType=qy;var Jy=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=3293546465,A}return P(n)}(Vv);e.IfcCableCarrierSegmentType=Jy;var Zy=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=2674252688,A}return P(n)}(Gv);e.IfcCableFittingType=Zy;var $y=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=1285652485,A}return P(n)}(Vv);e.IfcCableSegmentType=$y;var em=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=3203706013,A}return P(n)}(lv);e.IfcCaissonFoundationType=em;var tm=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=2951183804,A}return P(n)}(Tv);e.IfcChillerType=tm;var nm=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=3296154744,p}return P(n)}(Ky);e.IfcChimney=nm;var rm=function(e){I(n,e);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e,r)).Position=r,a.Radius=i,a.type=2611217952,a}return P(n)}(Yd);e.IfcCircle=rm;var im=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,f.OwnerHistory=i,f.Name=a,f.Description=s,f.ObjectType=o,f.ObjectPlacement=l,f.Representation=u,f.Tag=c,f.type=1677625105,f}return P(n)}(Iv);e.IfcCivilElement=im;var am=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=2301859152,A}return P(n)}(Tv);e.IfcCoilType=am;var sm=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=843113511,p}return P(n)}(Ky);e.IfcColumn=sm;var om=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=400855858,A}return P(n)}(Wv);e.IfcCommunicationsApplianceType=om;var lm=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=3850581409,A}return P(n)}(jv);e.IfcCompressorType=lm;var um=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=2816379211,A}return P(n)}(Tv);e.IfcCondenserType=um;var cm=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A){var d;return b(this,n),(d=t.call(this,e,r,i,a,s,o,l,u,c,f,p)).GlobalId=r,d.OwnerHistory=i,d.Name=a,d.Description=s,d.ObjectType=o,d.Identification=l,d.LongDescription=u,d.Usage=c,d.BaseCosts=f,d.BaseQuantity=p,d.PredefinedType=A,d.type=3898045240,d}return P(n)}(Zd);e.IfcConstructionEquipmentResource=cm;var fm=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A){var d;return b(this,n),(d=t.call(this,e,r,i,a,s,o,l,u,c,f,p)).GlobalId=r,d.OwnerHistory=i,d.Name=a,d.Description=s,d.ObjectType=o,d.Identification=l,d.LongDescription=u,d.Usage=c,d.BaseCosts=f,d.BaseQuantity=p,d.PredefinedType=A,d.type=1060000209,d}return P(n)}(Zd);e.IfcConstructionMaterialResource=fm;var pm=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A){var d;return b(this,n),(d=t.call(this,e,r,i,a,s,o,l,u,c,f,p)).GlobalId=r,d.OwnerHistory=i,d.Name=a,d.Description=s,d.ObjectType=o,d.Identification=l,d.LongDescription=u,d.Usage=c,d.BaseCosts=f,d.BaseQuantity=p,d.PredefinedType=A,d.type=488727124,d}return P(n)}(Zd);e.IfcConstructionProductResource=pm;var Am=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=2940368186,A}return P(n)}(Vv);e.IfcConveyorSegmentType=Am;var dm=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=335055490,A}return P(n)}(Tv);e.IfcCooledBeamType=dm;var vm=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=2954562838,A}return P(n)}(Tv);e.IfcCoolingTowerType=vm;var hm=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=1502416096,p}return P(n)}(Ky);e.IfcCourse=hm;var Im=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=1973544240,p}return P(n)}(Ky);e.IfcCovering=Im;var ym=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=3495092785,p}return P(n)}(Ky);e.IfcCurtainWall=ym;var mm=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=3961806047,A}return P(n)}(Uv);e.IfcDamperType=mm;var wm=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,f.OwnerHistory=i,f.Name=a,f.Description=s,f.ObjectType=o,f.ObjectPlacement=l,f.Representation=u,f.Tag=c,f.type=3426335179,f}return P(n)}(Ky);e.IfcDeepFoundation=wm;var gm=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=1335981549,p}return P(n)}(wv);e.IfcDiscreteAccessory=gm;var Em=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=2635815018,A}return P(n)}(gv);e.IfcDiscreteAccessoryType=Em;var Tm=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=479945903,A}return P(n)}(Uv);e.IfcDistributionBoardType=Tm;var bm=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=1599208980,A}return P(n)}(fv);e.IfcDistributionChamberElementType=bm;var Dm=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ApplicableOccurrence=o,p.HasPropertySets=l,p.RepresentationMaps=u,p.Tag=c,p.ElementType=f,p.type=2063403501,p}return P(n)}(cv);e.IfcDistributionControlElementType=Dm;var Pm=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,f.OwnerHistory=i,f.Name=a,f.Description=s,f.ObjectType=o,f.ObjectPlacement=l,f.Representation=u,f.Tag=c,f.type=1945004755,f}return P(n)}(Iv);e.IfcDistributionElement=Pm;var Rm=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,f.OwnerHistory=i,f.Name=a,f.Description=s,f.ObjectType=o,f.ObjectPlacement=l,f.Representation=u,f.Tag=c,f.type=3040386961,f}return P(n)}(Pm);e.IfcDistributionFlowElement=Rm;var Cm=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ObjectType=o,A.ObjectPlacement=l,A.Representation=u,A.FlowDirection=c,A.PredefinedType=f,A.SystemType=p,A.type=3041715199,A}return P(n)}(Uh);e.IfcDistributionPort=Cm;var _m=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u){var c;return b(this,n),(c=t.call(this,e,r,i,a,s,o)).GlobalId=r,c.OwnerHistory=i,c.Name=a,c.Description=s,c.ObjectType=o,c.LongName=l,c.PredefinedType=u,c.type=3205830791,c}return P(n)}(zI);e.IfcDistributionSystem=_m;var Bm=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A,d,v){var h;return b(this,n),(h=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,h.OwnerHistory=i,h.Name=a,h.Description=s,h.ObjectType=o,h.ObjectPlacement=l,h.Representation=u,h.Tag=c,h.OverallHeight=f,h.OverallWidth=p,h.PredefinedType=A,h.OperationType=d,h.UserDefinedOperationType=v,h.type=395920057,h}return P(n)}(Ky);e.IfcDoor=Bm;var Om=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=869906466,A}return P(n)}(Gv);e.IfcDuctFittingType=Om;var Sm=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=3760055223,A}return P(n)}(Vv);e.IfcDuctSegmentType=Sm;var Nm=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=2030761528,A}return P(n)}(zv);e.IfcDuctSilencerType=Nm;var Lm=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=3071239417,p}return P(n)}(Hv);e.IfcEarthworksCut=Lm;var Mm=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,f.OwnerHistory=i,f.Name=a,f.Description=s,f.ObjectType=o,f.ObjectPlacement=l,f.Representation=u,f.Tag=c,f.type=1077100507,f}return P(n)}(Ky);e.IfcEarthworksElement=Mm;var xm=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=3376911765,p}return P(n)}(Mm);e.IfcEarthworksFill=xm;var Fm=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=663422040,A}return P(n)}(Wv);e.IfcElectricApplianceType=Fm;var Hm=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=2417008758,A}return P(n)}(Uv);e.IfcElectricDistributionBoardType=Hm;var Um=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=3277789161,A}return P(n)}(Qv);e.IfcElectricFlowStorageDeviceType=Um;var Gm=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=2142170206,A}return P(n)}(zv);e.IfcElectricFlowTreatmentDeviceType=Gm;var km=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=1534661035,A}return P(n)}(Tv);e.IfcElectricGeneratorType=km;var jm=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=1217240411,A}return P(n)}(Tv);e.IfcElectricMotorType=jm;var Vm=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=712377611,A}return P(n)}(Uv);e.IfcElectricTimeControlType=Vm;var Qm=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,f.OwnerHistory=i,f.Name=a,f.Description=s,f.ObjectType=o,f.ObjectPlacement=l,f.Representation=u,f.Tag=c,f.type=1658829314,f}return P(n)}(Rm);e.IfcEnergyConversionDevice=Qm;var Wm=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=2814081492,p}return P(n)}(Qm);e.IfcEngine=Wm;var zm=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=3747195512,p}return P(n)}(Qm);e.IfcEvaporativeCooler=zm;var Km=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=484807127,p}return P(n)}(Qm);e.IfcEvaporator=Km;var Ym=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.LongName=c,p.PredefinedType=f,p.type=1209101575,p}return P(n)}(Cv);e.IfcExternalSpatialElement=Ym;var Xm=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=346874300,A}return P(n)}(jv);e.IfcFanType=Xm;var qm=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=1810631287,A}return P(n)}(zv);e.IfcFilterType=qm;var Jm=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=4222183408,A}return P(n)}(Wv);e.IfcFireSuppressionTerminalType=Jm;var Zm=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,f.OwnerHistory=i,f.Name=a,f.Description=s,f.ObjectType=o,f.ObjectPlacement=l,f.Representation=u,f.Tag=c,f.type=2058353004,f}return P(n)}(Rm);e.IfcFlowController=Zm;var $m=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,f.OwnerHistory=i,f.Name=a,f.Description=s,f.ObjectType=o,f.ObjectPlacement=l,f.Representation=u,f.Tag=c,f.type=4278956645,f}return P(n)}(Rm);e.IfcFlowFitting=$m;var ew=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=4037862832,A}return P(n)}(Dm);e.IfcFlowInstrumentType=ew;var tw=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=2188021234,p}return P(n)}(Zm);e.IfcFlowMeter=tw;var nw=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,f.OwnerHistory=i,f.Name=a,f.Description=s,f.ObjectType=o,f.ObjectPlacement=l,f.Representation=u,f.Tag=c,f.type=3132237377,f}return P(n)}(Rm);e.IfcFlowMovingDevice=nw;var rw=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,f.OwnerHistory=i,f.Name=a,f.Description=s,f.ObjectType=o,f.ObjectPlacement=l,f.Representation=u,f.Tag=c,f.type=987401354,f}return P(n)}(Rm);e.IfcFlowSegment=rw;var iw=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,f.OwnerHistory=i,f.Name=a,f.Description=s,f.ObjectType=o,f.ObjectPlacement=l,f.Representation=u,f.Tag=c,f.type=707683696,f}return P(n)}(Rm);e.IfcFlowStorageDevice=iw;var aw=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,f.OwnerHistory=i,f.Name=a,f.Description=s,f.ObjectType=o,f.ObjectPlacement=l,f.Representation=u,f.Tag=c,f.type=2223149337,f}return P(n)}(Rm);e.IfcFlowTerminal=aw;var sw=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,f.OwnerHistory=i,f.Name=a,f.Description=s,f.ObjectType=o,f.ObjectPlacement=l,f.Representation=u,f.Tag=c,f.type=3508470533,f}return P(n)}(Rm);e.IfcFlowTreatmentDevice=sw;var ow=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=900683007,p}return P(n)}(Ky);e.IfcFooting=ow;var lw=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,f.OwnerHistory=i,f.Name=a,f.Description=s,f.ObjectType=o,f.ObjectPlacement=l,f.Representation=u,f.Tag=c,f.type=2713699986,f}return P(n)}(Jv);e.IfcGeotechnicalAssembly=lw;var uw=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A){var d;return b(this,n),(d=t.call(this,e,r,i,a,s,o,l,u)).GlobalId=r,d.OwnerHistory=i,d.Name=a,d.Description=s,d.ObjectType=o,d.ObjectPlacement=l,d.Representation=u,d.UAxes=c,d.VAxes=f,d.WAxes=p,d.PredefinedType=A,d.type=3009204131,d}return P(n)}(Gh);e.IfcGrid=uw;var cw=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=3319311131,p}return P(n)}(Qm);e.IfcHeatExchanger=cw;var fw=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=2068733104,p}return P(n)}(Qm);e.IfcHumidifier=fw;var pw=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=4175244083,p}return P(n)}(sw);e.IfcInterceptor=pw;var Aw=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=2176052936,p}return P(n)}($m);e.IfcJunctionBox=Aw;var dw=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.Mountable=f,p.type=2696325953,p}return P(n)}(Ky);e.IfcKerb=dw;var vw=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=76236018,p}return P(n)}(aw);e.IfcLamp=vw;var hw=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=629592764,p}return P(n)}(aw);e.IfcLightFixture=hw;var Iw=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u){var c;return b(this,n),(c=t.call(this,e,r,i,a,s,o,l,u)).GlobalId=r,c.OwnerHistory=i,c.Name=a,c.Description=s,c.ObjectType=o,c.ObjectPlacement=l,c.Representation=u,c.type=1154579445,c}return P(n)}(Gh);e.IfcLinearPositioningElement=Iw;var yw=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=1638804497,p}return P(n)}(aw);e.IfcLiquidTerminal=yw;var mw=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=1437502449,p}return P(n)}(aw);e.IfcMedicalDevice=mw;var ww=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=1073191201,p}return P(n)}(Ky);e.IfcMember=ww;var gw=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=2078563270,p}return P(n)}(aw);e.IfcMobileTelecommunicationsAppliance=gw;var Ew=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=234836483,p}return P(n)}(Ky);e.IfcMooringDevice=Ew;var Tw=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=2474470126,p}return P(n)}(Qm);e.IfcMotorConnection=Tw;var bw=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=2182337498,p}return P(n)}(Ky);e.IfcNavigationElement=bw;var Dw=function(e){I(n,e);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e,r,i)).Segments=r,a.SelfIntersect=i,a.type=144952367,a}return P(n)}(Uy);e.IfcOuterBoundaryCurve=Dw;var Pw=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=3694346114,p}return P(n)}(aw);e.IfcOutlet=Pw;var Rw=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=1383356374,p}return P(n)}(Ky);e.IfcPavement=Rw;var Cw=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ObjectType=o,A.ObjectPlacement=l,A.Representation=u,A.Tag=c,A.PredefinedType=f,A.ConstructionType=p,A.type=1687234759,A}return P(n)}(wm);e.IfcPile=Cw;var _w=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=310824031,p}return P(n)}($m);e.IfcPipeFitting=_w;var Bw=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=3612865200,p}return P(n)}(rw);e.IfcPipeSegment=Bw;var Ow=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=3171933400,p}return P(n)}(Ky);e.IfcPlate=Ow;var Sw=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=738039164,p}return P(n)}(Zm);e.IfcProtectiveDevice=Sw;var Nw=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=655969474,A}return P(n)}(Dm);e.IfcProtectiveDeviceTrippingUnitType=Nw;var Lw=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=90941305,p}return P(n)}(nw);e.IfcPump=Lw;var Mw=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=3290496277,p}return P(n)}(Ky);e.IfcRail=Mw;var xw=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=2262370178,p}return P(n)}(Ky);e.IfcRailing=xw;var Fw=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=3024970846,p}return P(n)}(Ky);e.IfcRamp=Fw;var Hw=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=3283111854,p}return P(n)}(Ky);e.IfcRampFlight=Hw;var Uw=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).Degree=r,p.ControlPointsList=i,p.CurveForm=a,p.ClosedCurve=s,p.SelfIntersect=o,p.KnotMultiplicities=l,p.Knots=u,p.KnotSpec=c,p.WeightsData=f,p.type=1232101972,p}return P(n)}(My);e.IfcRationalBSplineCurveWithKnots=Uw;var Gw=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=3798194928,p}return P(n)}(Mm);e.IfcReinforcedSoil=Gw;var kw=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A,d,v,h){var I;return b(this,n),(I=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,I.OwnerHistory=i,I.Name=a,I.Description=s,I.ObjectType=o,I.ObjectPlacement=l,I.Representation=u,I.Tag=c,I.SteelGrade=f,I.NominalDiameter=p,I.CrossSectionArea=A,I.BarLength=d,I.PredefinedType=v,I.BarSurface=h,I.type=979691226,I}return P(n)}(eI);e.IfcReinforcingBar=kw;var jw=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A,d,v,h,I,y){var m;return b(this,n),(m=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,m.OwnerHistory=i,m.Name=a,m.Description=s,m.ApplicableOccurrence=o,m.HasPropertySets=l,m.RepresentationMaps=u,m.Tag=c,m.ElementType=f,m.PredefinedType=p,m.NominalDiameter=A,m.CrossSectionArea=d,m.BarLength=v,m.BarSurface=h,m.BendingShapeCode=I,m.BendingParameters=y,m.type=2572171363,m}return P(n)}(tI);e.IfcReinforcingBarType=jw;var Vw=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=2016517767,p}return P(n)}(Ky);e.IfcRoof=Vw;var Qw=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=3053780830,p}return P(n)}(aw);e.IfcSanitaryTerminal=Qw;var Ww=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=1783015770,A}return P(n)}(Dm);e.IfcSensorType=Ww;var zw=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=1329646415,p}return P(n)}(Ky);e.IfcShadingDevice=zw;var Kw=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=991950508,p}return P(n)}(aw);e.IfcSignal=Kw;var Yw=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=1529196076,p}return P(n)}(Ky);e.IfcSlab=Yw;var Xw=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=3420628829,p}return P(n)}(Qm);e.IfcSolarDevice=Xw;var qw=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=1999602285,p}return P(n)}(aw);e.IfcSpaceHeater=qw;var Jw=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=1404847402,p}return P(n)}(aw);e.IfcStackTerminal=Jw;var Zw=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=331165859,p}return P(n)}(Ky);e.IfcStair=Zw;var $w=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A,d,v){var h;return b(this,n),(h=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,h.OwnerHistory=i,h.Name=a,h.Description=s,h.ObjectType=o,h.ObjectPlacement=l,h.Representation=u,h.Tag=c,h.NumberOfRisers=f,h.NumberOfTreads=p,h.RiserHeight=A,h.TreadLength=d,h.PredefinedType=v,h.type=4252922144,h}return P(n)}(Ky);e.IfcStairFlight=$w;var eg=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ObjectType=o,A.PredefinedType=l,A.OrientationOf2DPlane=u,A.LoadedBy=c,A.HasResults=f,A.SharedPlacement=p,A.type=2515109513,A}return P(n)}(zI);e.IfcStructuralAnalysisModel=eg;var tg=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A){var d;return b(this,n),(d=t.call(this,e,r,i,a,s,o,l,u,c,f,p)).GlobalId=r,d.OwnerHistory=i,d.Name=a,d.Description=s,d.ObjectType=o,d.PredefinedType=l,d.ActionType=u,d.ActionSource=c,d.Coefficient=f,d.Purpose=p,d.SelfWeightCoefficients=A,d.type=385403989,d}return P(n)}(xI);e.IfcStructuralLoadCase=tg;var ng=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A,d){var v;return b(this,n),(v=t.call(this,e,r,i,a,s,o,l,u,c,f,p,A,d)).GlobalId=r,v.OwnerHistory=i,v.Name=a,v.Description=s,v.ObjectType=o,v.ObjectPlacement=l,v.Representation=u,v.AppliedLoad=c,v.GlobalOrLocal=f,v.DestabilizingLoad=p,v.ProjectedOrTrue=A,v.PredefinedType=d,v.type=1621171031,v}return P(n)}(kI);e.IfcStructuralPlanarAction=ng;var rg=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=1162798199,p}return P(n)}(Zm);e.IfcSwitchingDevice=rg;var ig=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=812556717,p}return P(n)}(iw);e.IfcTank=ig;var ag=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=3425753595,p}return P(n)}(Ky);e.IfcTrackElement=ag;var sg=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=3825984169,p}return P(n)}(Qm);e.IfcTransformer=sg;var og=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=1620046519,p}return P(n)}(iy);e.IfcTransportElement=og;var lg=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=3026737570,p}return P(n)}(Qm);e.IfcTubeBundle=lg;var ug=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=3179687236,A}return P(n)}(Dm);e.IfcUnitaryControlElementType=ug;var cg=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=4292641817,p}return P(n)}(Qm);e.IfcUnitaryEquipment=cg;var fg=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=4207607924,p}return P(n)}(Zm);e.IfcValve=fg;var pg=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=2391406946,p}return P(n)}(Ky);e.IfcWall=pg;var Ag=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=3512223829,p}return P(n)}(pg);e.IfcWallStandardCase=Ag;var dg=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=4237592921,p}return P(n)}(aw);e.IfcWasteTerminal=dg;var vg=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A,d,v){var h;return b(this,n),(h=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,h.OwnerHistory=i,h.Name=a,h.Description=s,h.ObjectType=o,h.ObjectPlacement=l,h.Representation=u,h.Tag=c,h.OverallHeight=f,h.OverallWidth=p,h.PredefinedType=A,h.PartitioningType=d,h.UserDefinedPartitioningType=v,h.type=3304561284,h}return P(n)}(Ky);e.IfcWindow=vg;var hg=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=2874132201,A}return P(n)}(Dm);e.IfcActuatorType=hg;var Ig=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=1634111441,p}return P(n)}(aw);e.IfcAirTerminal=Ig;var yg=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=177149247,p}return P(n)}(Zm);e.IfcAirTerminalBox=yg;var mg=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=2056796094,p}return P(n)}(Qm);e.IfcAirToAirHeatRecovery=mg;var wg=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=3001207471,A}return P(n)}(Dm);e.IfcAlarmType=wg;var gg=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o,l,u)).GlobalId=r,f.OwnerHistory=i,f.Name=a,f.Description=s,f.ObjectType=o,f.ObjectPlacement=l,f.Representation=u,f.PredefinedType=c,f.type=325726236,f}return P(n)}(Iw);e.IfcAlignment=gg;var Eg=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=277319702,p}return P(n)}(aw);e.IfcAudioVisualAppliance=Eg;var Tg=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=753842376,p}return P(n)}(Ky);e.IfcBeam=Tg;var bg=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=4196446775,p}return P(n)}(Ky);e.IfcBearing=bg;var Dg=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=32344328,p}return P(n)}(Qm);e.IfcBoiler=Dg;var Pg=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,f.OwnerHistory=i,f.Name=a,f.Description=s,f.ObjectType=o,f.ObjectPlacement=l,f.Representation=u,f.Tag=c,f.type=3314249567,f}return P(n)}(lw);e.IfcBorehole=Pg;var Rg=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=1095909175,p}return P(n)}(Ky);e.IfcBuildingElementProxy=Rg;var Cg=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=2938176219,p}return P(n)}(Qm);e.IfcBurner=Cg;var _g=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=635142910,p}return P(n)}($m);e.IfcCableCarrierFitting=_g;var Bg=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=3758799889,p}return P(n)}(rw);e.IfcCableCarrierSegment=Bg;var Og=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=1051757585,p}return P(n)}($m);e.IfcCableFitting=Og;var Sg=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=4217484030,p}return P(n)}(rw);e.IfcCableSegment=Sg;var Ng=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=3999819293,p}return P(n)}(wm);e.IfcCaissonFoundation=Ng;var Lg=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=3902619387,p}return P(n)}(Qm);e.IfcChiller=Lg;var Mg=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=639361253,p}return P(n)}(Qm);e.IfcCoil=Mg;var xg=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=3221913625,p}return P(n)}(aw);e.IfcCommunicationsAppliance=xg;var Fg=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=3571504051,p}return P(n)}(nw);e.IfcCompressor=Fg;var Hg=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=2272882330,p}return P(n)}(Qm);e.IfcCondenser=Hg;var Ug=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=578613899,A}return P(n)}(Dm);e.IfcControllerType=Ug;var Gg=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=3460952963,p}return P(n)}(rw);e.IfcConveyorSegment=Gg;var kg=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=4136498852,p}return P(n)}(Qm);e.IfcCooledBeam=kg;var jg=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=3640358203,p}return P(n)}(Qm);e.IfcCoolingTower=jg;var Vg=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=4074379575,p}return P(n)}(Zm);e.IfcDamper=Vg;var Qg=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=3693000487,p}return P(n)}(Zm);e.IfcDistributionBoard=Qg;var Wg=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=1052013943,p}return P(n)}(Rm);e.IfcDistributionChamberElement=Wg;var zg=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u){var c;return b(this,n),(c=t.call(this,e,r,i,a,s,o,l,u)).GlobalId=r,c.OwnerHistory=i,c.Name=a,c.Description=s,c.ObjectType=o,c.LongName=l,c.PredefinedType=u,c.type=562808652,c}return P(n)}(_m);e.IfcDistributionCircuit=zg;var Kg=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,f.OwnerHistory=i,f.Name=a,f.Description=s,f.ObjectType=o,f.ObjectPlacement=l,f.Representation=u,f.Tag=c,f.type=1062813311,f}return P(n)}(Pm);e.IfcDistributionControlElement=Kg;var Yg=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=342316401,p}return P(n)}($m);e.IfcDuctFitting=Yg;var Xg=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=3518393246,p}return P(n)}(rw);e.IfcDuctSegment=Xg;var qg=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=1360408905,p}return P(n)}(sw);e.IfcDuctSilencer=qg;var Jg=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=1904799276,p}return P(n)}(aw);e.IfcElectricAppliance=Jg;var Zg=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=862014818,p}return P(n)}(Zm);e.IfcElectricDistributionBoard=Zg;var $g=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=3310460725,p}return P(n)}(iw);e.IfcElectricFlowStorageDevice=$g;var eE=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=24726584,p}return P(n)}(sw);e.IfcElectricFlowTreatmentDevice=eE;var tE=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=264262732,p}return P(n)}(Qm);e.IfcElectricGenerator=tE;var nE=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=402227799,p}return P(n)}(Qm);e.IfcElectricMotor=nE;var rE=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=1003880860,p}return P(n)}(Zm);e.IfcElectricTimeControl=rE;var iE=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=3415622556,p}return P(n)}(nw);e.IfcFan=iE;var aE=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=819412036,p}return P(n)}(sw);e.IfcFilter=aE;var sE=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=1426591983,p}return P(n)}(aw);e.IfcFireSuppressionTerminal=sE;var oE=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=182646315,p}return P(n)}(Kg);e.IfcFlowInstrument=oE;var lE=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,f.OwnerHistory=i,f.Name=a,f.Description=s,f.ObjectType=o,f.ObjectPlacement=l,f.Representation=u,f.Tag=c,f.type=2680139844,f}return P(n)}(lw);e.IfcGeomodel=lE;var uE=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,f.OwnerHistory=i,f.Name=a,f.Description=s,f.ObjectType=o,f.ObjectPlacement=l,f.Representation=u,f.Tag=c,f.type=1971632696,f}return P(n)}(lw);e.IfcGeoslice=uE;var cE=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=2295281155,p}return P(n)}(Kg);e.IfcProtectiveDeviceTrippingUnit=cE;var fE=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=4086658281,p}return P(n)}(Kg);e.IfcSensor=fE;var pE=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=630975310,p}return P(n)}(Kg);e.IfcUnitaryControlElement=pE;var AE=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=4288193352,p}return P(n)}(Kg);e.IfcActuator=AE;var dE=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=3087945054,p}return P(n)}(Kg);e.IfcAlarm=dE;var vE=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=25142252,p}return P(n)}(Kg);e.IfcController=vE}(t_||(t_={}));var X_,q_,J_={aggregates:{name:160246688,relating:"RelatingObject",related:"RelatedObjects",key:"children"},spatial:{name:3242617779,relating:"RelatingStructure",related:"RelatedElements",key:"children"},psets:{name:4186316022,relating:"RelatingPropertyDefinition",related:"RelatedObjects",key:"IsDefinedBy"},materials:{name:2655215786,relating:"RelatingMaterial",related:"RelatedObjects",key:"HasAssociations"},type:{name:781010003,relating:"RelatingType",related:"RelatedObjects",key:"IsDefinedBy"}},Z_=function(){function e(t){b(this,e),this.api=t}return P(e,[{key:"getItemProperties",value:function(e,t){var n=arguments.length>2&&void 0!==arguments[2]&&arguments[2],r=arguments.length>3&&void 0!==arguments[3]&&arguments[3];return A_(this,null,o().mark((function i(){return o().wrap((function(i){for(;;)switch(i.prev=i.next){case 0:return i.abrupt("return",this.api.GetLine(e,t,n,r));case 1:case"end":return i.stop()}}),i,this)})))}},{key:"getPropertySets",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,n=arguments.length>2&&void 0!==arguments[2]&&arguments[2];return A_(this,null,o().mark((function r(){return o().wrap((function(r){for(;;)switch(r.prev=r.next){case 0:return r.next=2,this.getRelatedProperties(e,t,J_.psets,n);case 2:return r.abrupt("return",r.sent);case 3:case"end":return r.stop()}}),r,this)})))}},{key:"setPropertySets",value:function(e,t,n){return A_(this,null,o().mark((function r(){return o().wrap((function(r){for(;;)switch(r.prev=r.next){case 0:return r.abrupt("return",this.setItemProperties(e,t,n,J_.psets));case 1:case"end":return r.stop()}}),r,this)})))}},{key:"getTypeProperties",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,n=arguments.length>2&&void 0!==arguments[2]&&arguments[2];return A_(this,null,o().mark((function r(){return o().wrap((function(r){for(;;)switch(r.prev=r.next){case 0:if("IFC2X3"!=this.api.GetModelSchema(e)){r.next=6;break}return r.next=3,this.getRelatedProperties(e,t,J_.type,n);case 3:case 8:return r.abrupt("return",r.sent);case 6:return r.next=8,this.getRelatedProperties(e,t,f_(c_({},J_.type),{key:"IsTypedBy"}),n);case 9:case"end":return r.stop()}}),r,this)})))}},{key:"getMaterialsProperties",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,n=arguments.length>2&&void 0!==arguments[2]&&arguments[2];return A_(this,null,o().mark((function r(){return o().wrap((function(r){for(;;)switch(r.prev=r.next){case 0:return r.next=2,this.getRelatedProperties(e,t,J_.materials,n);case 2:return r.abrupt("return",r.sent);case 3:case"end":return r.stop()}}),r,this)})))}},{key:"setMaterialsProperties",value:function(e,t,n){return A_(this,null,o().mark((function r(){return o().wrap((function(r){for(;;)switch(r.prev=r.next){case 0:return r.abrupt("return",this.setItemProperties(e,t,n,J_.materials));case 1:case"end":return r.stop()}}),r,this)})))}},{key:"getSpatialStructure",value:function(t){var n=arguments.length>1&&void 0!==arguments[1]&&arguments[1];return A_(this,null,o().mark((function r(){var i,a,s,l;return o().wrap((function(r){for(;;)switch(r.prev=r.next){case 0:return r.next=2,this.getSpatialTreeChunks(t);case 2:return i=r.sent,r.next=5,this.api.GetLineIDsWithType(t,103090709);case 5:return a=r.sent,s=a.get(0),l=e.newIfcProject(s),r.next=10,this.getSpatialNode(t,l,i,n);case 10:return r.abrupt("return",l);case 11:case"end":return r.stop()}}),r,this)})))}},{key:"getRelatedProperties",value:function(e,t,n){var r=arguments.length>3&&void 0!==arguments[3]&&arguments[3];return A_(this,null,o().mark((function i(){var a,s,l,u,c,f,p;return o().wrap((function(i){for(;;)switch(i.prev=i.next){case 0:if(a=[],s=null,0===t){i.next=8;break}return i.next=5,this.api.GetLine(e,t,!1,!0)[n.key];case 5:s=i.sent,i.next=11;break;case 8:for(l=this.api.GetLineIDsWithType(e,n.name),s=[],u=0;u1?n-1:0),i=1;i1?n-1:0),i=1;i1?n-1:0),i=1;i1?n-1:0),i=1;i1?n-1:0),i=1;i0&&t.push({typeID:n[r],typeName:this.wasmModule.GetNameFromTypeCode(n[r])})}return t}},{key:"GetLine",value:function(e,t){var n=arguments.length>2&&void 0!==arguments[2]&&arguments[2],r=arguments.length>3&&void 0!==arguments[3]&&arguments[3],i=this.wasmModule.ValidateExpressID(e,t);if(i){var a=this.GetRawLineData(e,t),s=G_[this.modelSchemaList[e]][a.type](a.ID,a.arguments);n&&this.FlattenLine(e,s);var o=k_[this.modelSchemaList[e]][a.type];if(r&&null!=o){var l,u=f(o);try{for(u.s();!(l=u.n()).done;){var c=l.value;c[3]?s[c[0]]=[]:s[c[0]]=null;var p=[c[1]];void 0!==j_[this.modelSchemaList[e]][c[1]]&&(p=p.concat(j_[this.modelSchemaList[e]][c[1]]));var A=this.wasmModule.GetInversePropertyForItem(e,t,p,c[2],c[3]);if(!c[3]&&A.size()>0)s[c[0]]=n?this.GetLine(e,A.get(0)):{type:5,value:A.get(0)};else for(var d=0;d2?n-2:0),i=2;i0)for(var i=0;i0&&5===i[0].type)for(var a=0;a2&&void 0!==arguments[2]&&arguments[2],r=[];return r.push(t),n&&void 0!==j_[this.modelSchemaList[e]][t]&&(r=r.concat(j_[this.modelSchemaList[e]][t])),this.wasmModule.GetLineIDsWithType(e,r)}},{key:"GetAllLines",value:function(e){return this.wasmModule.GetAllLines(e)}},{key:"GetAllAlignments",value:function(e){for(var t=this.wasmModule.GetAllAlignments(e),n=[],r=0;r1&&void 0!==arguments[1]&&arguments[1];this.wasmPath=e,this.isWasmPathAbsolute=t}},{key:"SetLogLevel",value:function(e){eB.setLogLevel(e),this.wasmModule.SetLogLevel(e)}}]),e}(),nB=function(){function e(){b(this,e)}return P(e,[{key:"getIFC",value:function(e,t,n){var r=function(){};t=t||r,n=n||r;var i=e.match(/^data:(.*?)(;base64)?,(.*)$/);if(i){var a=!!i[2],s=i[3];s=window.decodeURIComponent(s),a&&(s=window.atob(s));try{for(var o=new ArrayBuffer(s.length),l=new Uint8Array(o),u=0;u1&&void 0!==arguments[1]?arguments[1]:{};return b(this,n),(r=t.call(this,"ifcLoader",e,i)).dataSource=i.dataSource,r.objectDefaults=i.objectDefaults,r.includeTypes=i.includeTypes,r.excludeTypes=i.excludeTypes,r.excludeUnclassifiedObjects=i.excludeUnclassifiedObjects,r._ifcAPI=new tB,i.wasmPath&&r._ifcAPI.SetWasmPath(i.wasmPath),r._ifcAPI.Init().then((function(){r.fire("initialized",!0,!1)})).catch((function(e){r.error(e)})),r}return P(n,[{key:"supportedVersions",get:function(){return["2x3","4"]}},{key:"dataSource",get:function(){return this._dataSource},set:function(e){this._dataSource=e||new nB}},{key:"objectDefaults",get:function(){return this._objectDefaults},set:function(e){this._objectDefaults=e||VP}},{key:"includeTypes",get:function(){return this._includeTypes},set:function(e){this._includeTypes=e}},{key:"excludeTypes",get:function(){return this._excludeTypes},set:function(e){this._excludeTypes=e}},{key:"excludeUnclassifiedObjects",get:function(){return this._excludeUnclassifiedObjects},set:function(e){this._excludeUnclassifiedObjects=!!e}},{key:"globalizeObjectIds",get:function(){return this._globalizeObjectIds},set:function(e){this._globalizeObjectIds=!!e}},{key:"load",value:function(){var e=this,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};t.id&&this.viewer.scene.components[t.id]&&(this.error("Component with this ID already exists in viewer: "+t.id+" - will autogenerate this ID"),delete t.id);var n=new Wf(this.viewer.scene,le.apply(t,{isModel:!0}));if(!t.src&&!t.ifc)return this.error("load() param expected: src or IFC"),n;var r={autoNormals:!0};if(!1!==t.loadMetadata){var i=t.includeTypes||this._includeTypes,a=t.excludeTypes||this._excludeTypes,s=t.objectDefaults||this._objectDefaults;if(i){r.includeTypesMap={};for(var o=0,l=i.length;o0){for(var l=a.Name.value,u=[],c=0,f=o.length;c1&&void 0!==arguments[1]?arguments[1]:{};return b(this,n),(r=t.call(this,"lasLoader",e,i)).dataSource=i.dataSource,r.skip=i.skip,r.fp64=i.fp64,r.colorDepth=i.colorDepth,r}return P(n,[{key:"dataSource",get:function(){return this._dataSource},set:function(e){this._dataSource=e||new iB}},{key:"skip",get:function(){return this._skip},set:function(e){this._skip=e||1}},{key:"fp64",get:function(){return this._fp64},set:function(e){this._fp64=!!e}},{key:"colorDepth",get:function(){return this._colorDepth},set:function(e){this._colorDepth=e||"auto"}},{key:"load",value:function(){var e=this,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};t.id&&this.viewer.scene.components[t.id]&&(this.error("Component with this ID already exists in viewer: "+t.id+" - will autogenerate this ID"),delete t.id);var n=new Wf(this.viewer.scene,le.apply(t,{isModel:!0}));if(!t.src&&!t.las)return this.error("load() param expected: src or las"),n;var r={las:{skip:this._skip,fp64:this._fp64,colorDepth:this._colorDepth}};if(t.src)this._loadModel(t.src,t,r,n);else{var i=this.viewer.scene.canvas.spinner;i.processes++,this._parseModel(t.las,t,r,n).then((function(){i.processes--}),(function(t){i.processes--,e.error(t),n.fire("error",t)}))}return n}},{key:"_loadModel",value:function(e,t,n,r){var i=this,a=this.viewer.scene.canvas.spinner;a.processes++,this._dataSource.getLAS(t.src,(function(e){i._parseModel(e,t,n,r).then((function(){a.processes--}),(function(e){a.processes--,i.error(e),r.fire("error",e)}))}),(function(e){a.processes--,i.error(e),r.fire("error",e)}))}},{key:"_parseModel",value:function(e,t,n,r){var i=this;function a(e){var n=e.value;if(t.rotateX&&n)for(var r=0,i=n.length;r=e.length)return e;for(var n=[],r=0;r80*n){r=a=e[0],i=s=e[1];for(var d=n;da&&(a=o),l>s&&(s=l);u=0!==(u=Math.max(a-r,s-i))?1/u:0}return IB(p,A,n,r,i,u),A}function vB(e,t,n,r,i){var a,s;if(i===UB(e,t,n,r)>0)for(a=t;a=t;a-=r)s=xB(a,e[a],e[a+1],s);return s&&BB(s,s.next)&&(FB(s),s=s.next),s}function hB(e,t){if(!e)return e;t||(t=e);var n,r=e;do{if(n=!1,r.steiner||!BB(r,r.next)&&0!==_B(r.prev,r,r.next))r=r.next;else{if(FB(r),(r=t=r.prev)===r.next)break;n=!0}}while(n||r!==t);return t}function IB(e,t,n,r,i,a,s){if(e){!s&&a&&function(e,t,n,r){var i=e;do{null===i.z&&(i.z=DB(i.x,i.y,t,n,r)),i.prevZ=i.prev,i.nextZ=i.next,i=i.next}while(i!==e);i.prevZ.nextZ=null,i.prevZ=null,function(e){var t,n,r,i,a,s,o,l,u=1;do{for(n=e,e=null,a=null,s=0;n;){for(s++,r=n,o=0,t=0;t0||l>0&&r;)0!==o&&(0===l||!r||n.z<=r.z)?(i=n,n=n.nextZ,o--):(i=r,r=r.nextZ,l--),a?a.nextZ=i:e=i,i.prevZ=a,a=i;n=r}a.nextZ=null,u*=2}while(s>1)}(i)}(e,r,i,a);for(var o,l,u=e;e.prev!==e.next;)if(o=e.prev,l=e.next,a?mB(e,r,i,a):yB(e))t.push(o.i/n),t.push(e.i/n),t.push(l.i/n),FB(e),e=l.next,u=l.next;else if((e=l)===u){s?1===s?IB(e=wB(hB(e),t,n),t,n,r,i,a,2):2===s&&gB(e,t,n,r,i,a):IB(hB(e),t,n,r,i,a,1);break}}}function yB(e){var t=e.prev,n=e,r=e.next;if(_B(t,n,r)>=0)return!1;for(var i=e.next.next;i!==e.prev;){if(RB(t.x,t.y,n.x,n.y,r.x,r.y,i.x,i.y)&&_B(i.prev,i,i.next)>=0)return!1;i=i.next}return!0}function mB(e,t,n,r){var i=e.prev,a=e,s=e.next;if(_B(i,a,s)>=0)return!1;for(var o=i.xa.x?i.x>s.x?i.x:s.x:a.x>s.x?a.x:s.x,c=i.y>a.y?i.y>s.y?i.y:s.y:a.y>s.y?a.y:s.y,f=DB(o,l,t,n,r),p=DB(u,c,t,n,r),A=e.prevZ,d=e.nextZ;A&&A.z>=f&&d&&d.z<=p;){if(A!==e.prev&&A!==e.next&&RB(i.x,i.y,a.x,a.y,s.x,s.y,A.x,A.y)&&_B(A.prev,A,A.next)>=0)return!1;if(A=A.prevZ,d!==e.prev&&d!==e.next&&RB(i.x,i.y,a.x,a.y,s.x,s.y,d.x,d.y)&&_B(d.prev,d,d.next)>=0)return!1;d=d.nextZ}for(;A&&A.z>=f;){if(A!==e.prev&&A!==e.next&&RB(i.x,i.y,a.x,a.y,s.x,s.y,A.x,A.y)&&_B(A.prev,A,A.next)>=0)return!1;A=A.prevZ}for(;d&&d.z<=p;){if(d!==e.prev&&d!==e.next&&RB(i.x,i.y,a.x,a.y,s.x,s.y,d.x,d.y)&&_B(d.prev,d,d.next)>=0)return!1;d=d.nextZ}return!0}function wB(e,t,n){var r=e;do{var i=r.prev,a=r.next.next;!BB(i,a)&&OB(i,r,r.next,a)&&LB(i,a)&&LB(a,i)&&(t.push(i.i/n),t.push(r.i/n),t.push(a.i/n),FB(r),FB(r.next),r=e=a),r=r.next}while(r!==e);return hB(r)}function gB(e,t,n,r,i,a){var s=e;do{for(var o=s.next.next;o!==s.prev;){if(s.i!==o.i&&CB(s,o)){var l=MB(s,o);return s=hB(s,s.next),l=hB(l,l.next),IB(s,t,n,r,i,a),void IB(l,t,n,r,i,a)}o=o.next}s=s.next}while(s!==e)}function EB(e,t){return e.x-t.x}function TB(e,t){if(t=function(e,t){var n,r=t,i=e.x,a=e.y,s=-1/0;do{if(a<=r.y&&a>=r.next.y&&r.next.y!==r.y){var o=r.x+(a-r.y)*(r.next.x-r.x)/(r.next.y-r.y);if(o<=i&&o>s){if(s=o,o===i){if(a===r.y)return r;if(a===r.next.y)return r.next}n=r.x=r.x&&r.x>=c&&i!==r.x&&RB(an.x||r.x===n.x&&bB(n,r)))&&(n=r,p=l)),r=r.next}while(r!==u);return n}(e,t),t){var n=MB(t,e);hB(t,t.next),hB(n,n.next)}}function bB(e,t){return _B(e.prev,e,t.prev)<0&&_B(t.next,e,e.next)<0}function DB(e,t,n,r,i){return(e=1431655765&((e=858993459&((e=252645135&((e=16711935&((e=32767*(e-n)*i)|e<<8))|e<<4))|e<<2))|e<<1))|(t=1431655765&((t=858993459&((t=252645135&((t=16711935&((t=32767*(t-r)*i)|t<<8))|t<<4))|t<<2))|t<<1))<<1}function PB(e){var t=e,n=e;do{(t.x=0&&(e-s)*(r-o)-(n-s)*(t-o)>=0&&(n-s)*(a-o)-(i-s)*(r-o)>=0}function CB(e,t){return e.next.i!==t.i&&e.prev.i!==t.i&&!function(e,t){var n=e;do{if(n.i!==e.i&&n.next.i!==e.i&&n.i!==t.i&&n.next.i!==t.i&&OB(n,n.next,e,t))return!0;n=n.next}while(n!==e);return!1}(e,t)&&(LB(e,t)&&LB(t,e)&&function(e,t){var n=e,r=!1,i=(e.x+t.x)/2,a=(e.y+t.y)/2;do{n.y>a!=n.next.y>a&&n.next.y!==n.y&&i<(n.next.x-n.x)*(a-n.y)/(n.next.y-n.y)+n.x&&(r=!r),n=n.next}while(n!==e);return r}(e,t)&&(_B(e.prev,e,t.prev)||_B(e,t.prev,t))||BB(e,t)&&_B(e.prev,e,e.next)>0&&_B(t.prev,t,t.next)>0)}function _B(e,t,n){return(t.y-e.y)*(n.x-t.x)-(t.x-e.x)*(n.y-t.y)}function BB(e,t){return e.x===t.x&&e.y===t.y}function OB(e,t,n,r){var i=NB(_B(e,t,n)),a=NB(_B(e,t,r)),s=NB(_B(n,r,e)),o=NB(_B(n,r,t));return i!==a&&s!==o||(!(0!==i||!SB(e,n,t))||(!(0!==a||!SB(e,r,t))||(!(0!==s||!SB(n,e,r))||!(0!==o||!SB(n,t,r)))))}function SB(e,t,n){return t.x<=Math.max(e.x,n.x)&&t.x>=Math.min(e.x,n.x)&&t.y<=Math.max(e.y,n.y)&&t.y>=Math.min(e.y,n.y)}function NB(e){return e>0?1:e<0?-1:0}function LB(e,t){return _B(e.prev,e,e.next)<0?_B(e,t,e.next)>=0&&_B(e,e.prev,t)>=0:_B(e,t,e.prev)<0||_B(e,e.next,t)<0}function MB(e,t){var n=new HB(e.i,e.x,e.y),r=new HB(t.i,t.x,t.y),i=e.next,a=t.prev;return e.next=t,t.prev=e,n.next=i,i.prev=n,r.next=n,n.prev=r,a.next=r,r.prev=a,r}function xB(e,t,n,r){var i=new HB(e,t,n);return r?(i.next=r.next,i.prev=r,r.next.prev=i,r.next=i):(i.prev=i,i.next=i),i}function FB(e){e.next.prev=e.prev,e.prev.next=e.next,e.prevZ&&(e.prevZ.nextZ=e.nextZ),e.nextZ&&(e.nextZ.prevZ=e.prevZ)}function HB(e,t,n){this.i=e,this.x=t,this.y=n,this.prev=null,this.next=null,this.z=null,this.prevZ=null,this.nextZ=null,this.steiner=!1}function UB(e,t,n,r){for(var i=0,a=t,s=n-r;a0&&(r+=e[i-1].length,n.holes.push(r))}return n};var GB=$.vec2(),kB=$.vec3(),jB=$.vec3(),VB=$.vec3(),QB=function(e){I(n,Ce);var t=m(n);function n(e){var r,i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return b(this,n),(r=t.call(this,"cityJSONLoader",e,i)).dataSource=i.dataSource,r}return P(n,[{key:"dataSource",get:function(){return this._dataSource},set:function(e){this._dataSource=e||new AB}},{key:"load",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};e.id&&this.viewer.scene.components[e.id]&&(this.error("Component with this ID already exists in viewer: "+e.id+" - will autogenerate this ID"),delete e.id);var t=new Wf(this.viewer.scene,le.apply(e,{isModel:!0,edges:!0}));if(!e.src&&!e.cityJSON)return this.error("load() param expected: src or cityJSON"),t;var n={};if(e.src)this._loadModel(e.src,e,n,t);else{var r=this.viewer.scene.canvas.spinner;r.processes++,this._parseModel(e.cityJSON,e,n,t),r.processes--}return t}},{key:"_loadModel",value:function(e,t,n,r){var i=this,a=this.viewer.scene.canvas.spinner;a.processes++,this._dataSource.getCityJSON(t.src,(function(e){i._parseModel(e,t,n,r),a.processes--}),(function(e){a.processes--,i.error(e),r.fire("error",e)}))}},{key:"_parseModel",value:function(e,t,n,r){if(!r.destroyed){var i=e.transform?this._transformVertices(e.vertices,e.transform,n.rotateX):e.vertices,a=t.stats||{};a.sourceFormat=e.type||"CityJSON",a.schemaVersion=e.version||"",a.title="",a.author="",a.created="",a.numMetaObjects=0,a.numPropertySets=0,a.numObjects=0,a.numGeometries=0,a.numTriangles=0,a.numVertices=0;var s=!1!==t.loadMetadata,o=s?{id:$.createUUID(),name:"Model",type:"Model"}:null,l=s?{id:"",projectId:"",author:"",createdAt:"",schema:e.version||"",creatingApplication:"",metaObjects:[o],propertySets:[]}:null,u={data:e,vertices:i,sceneModel:r,loadMetadata:s,metadata:l,rootMetaObject:o,nextId:0,stats:a};if(this._parseCityJSON(u),r.finalize(),s){var c=r.id;this.viewer.metaScene.createMetaModel(c,u.metadata,n)}r.scene.once("tick",(function(){r.destroyed||(r.scene.fire("modelLoaded",r.id),r.fire("loaded",!0,!1))}))}}},{key:"_transformVertices",value:function(e,t,n){for(var r=[],i=t.scale||$.vec3([1,1,1]),a=t.translate||$.vec3([0,0,0]),s=0,o=0;s0){for(var u=[],c=0,f=t.geometry.length;c0){var m=I[y[0]];if(void 0!==m.value)A=h[m.value];else{var w=m.values;if(w){d=[];for(var g=0,E=w.length;g0&&(r.createEntity({id:n,meshIds:u,isObject:!0}),e.stats.numObjects++)}}},{key:"_parseGeometrySurfacesWithOwnMaterials",value:function(e,t,n,r){switch(t.type){case"MultiPoint":case"MultiLineString":break;case"MultiSurface":case"CompositeSurface":var i=t.boundaries;this._parseSurfacesWithOwnMaterials(e,n,i,r);break;case"Solid":for(var a=t.boundaries,s=0;s0&&f.push(u.length);var v=this._extractLocalIndices(e,o[d],p,A);u.push.apply(u,c(v))}if(3===u.length)A.indices.push(u[0]),A.indices.push(u[1]),A.indices.push(u[2]);else if(u.length>3){for(var h=[],I=0;I0&&s.indices.length>0){var v=""+e.nextId++;i.createMesh({id:v,primitive:"triangles",positions:s.positions,indices:s.indices,color:n&&n.diffuseColor?n.diffuseColor:[.8,.8,.8],opacity:1}),r.push(v),e.stats.numGeometries++,e.stats.numVertices+=s.positions.length/3,e.stats.numTriangles+=s.indices.length/3}}},{key:"_parseSurfacesWithSharedMaterial",value:function(e,t,n,r){for(var i=e.vertices,a=0;a0&&o.push(s.length);var u=this._extractLocalIndices(e,t[a][l],n,r);s.push.apply(s,c(u))}if(3===s.length)r.indices.push(s[0]),r.indices.push(s[1]),r.indices.push(s[2]);else if(s.length>3){for(var f=[],p=0;p0&&i[i.length-1])||6!==a[0]&&2!==a[0])){s=0;continue}if(3===a[0]&&(!i||a[1]>i[0]&&a[1]=55296&&i<=56319&&n>10),s%1024+56320)),(i+1===n||r.length>16384)&&(a+=String.fromCharCode.apply(String,r),r.length=0)}return a},Xp="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",qp="undefined"==typeof Uint8Array?[]:new Uint8Array(256),Jp=0;Jp=0){if(e<55296||e>56319&&e<=65535)return t=((t=this.index[e>>5])<<2)+(31&e),this.data[t];if(e<=65535)return t=((t=this.index[2048+(e-55296>>5)])<<2)+(31&e),this.data[t];if(e>11),t=this.index[t],t+=e>>5&63,t=((t=this.index[t])<<2)+(31&e),this.data[t];if(e<=1114111)return this.data[this.highValueIndex]}return this.errorValue},e}(),rA="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",iA="undefined"==typeof Uint8Array?[]:new Uint8Array(256),aA=0;aA>4,c[l++]=(15&r)<<4|i>>2,c[l++]=(3&i)<<6|63&a;return u}(e),s=Array.isArray(a)?function(e){for(var t=e.length,n=[],r=0;r0;){var s=r[--a];if(Array.isArray(e)?-1!==e.indexOf(s):e===s)for(var o=n;o<=r.length;){var l;if((l=r[++o])===t)return!0;if(l!==sA)break}if(s!==sA)break}return!1},GA=function(e,t){for(var n=e;n>=0;){var r=t[n];if(r!==sA)return r;n--}return 0},kA=function(e,t,n,r,i){if(0===n[r])return"×";var a=r-1;if(Array.isArray(i)&&!0===i[a])return"×";var s=a-1,o=a+1,l=t[a],u=s>=0?t[s]:0,c=t[o];if(2===l&&3===c)return"×";if(-1!==NA.indexOf(l))return"!";if(-1!==NA.indexOf(c))return"×";if(-1!==LA.indexOf(c))return"×";if(8===GA(a,t))return"÷";if(11===OA.get(e[a]))return"×";if((l===gA||l===EA)&&11===OA.get(e[o]))return"×";if(7===l||7===c)return"×";if(9===l)return"×";if(-1===[sA,oA,lA].indexOf(l)&&9===c)return"×";if(-1!==[uA,cA,fA,vA,mA].indexOf(c))return"×";if(GA(a,t)===dA)return"×";if(UA(23,dA,a,t))return"×";if(UA([uA,cA],AA,a,t))return"×";if(UA(12,12,a,t))return"×";if(l===sA)return"÷";if(23===l||23===c)return"×";if(16===c||16===l)return"÷";if(-1!==[oA,lA,AA].indexOf(c)||14===l)return"×";if(36===u&&-1!==HA.indexOf(l))return"×";if(l===mA&&36===c)return"×";if(c===pA)return"×";if(-1!==SA.indexOf(c)&&l===hA||-1!==SA.indexOf(l)&&c===hA)return"×";if(l===yA&&-1!==[DA,gA,EA].indexOf(c)||-1!==[DA,gA,EA].indexOf(l)&&c===IA)return"×";if(-1!==SA.indexOf(l)&&-1!==xA.indexOf(c)||-1!==xA.indexOf(l)&&-1!==SA.indexOf(c))return"×";if(-1!==[yA,IA].indexOf(l)&&(c===hA||-1!==[dA,lA].indexOf(c)&&t[o+1]===hA)||-1!==[dA,lA].indexOf(l)&&c===hA||l===hA&&-1!==[hA,mA,vA].indexOf(c))return"×";if(-1!==[hA,mA,vA,uA,cA].indexOf(c))for(var f=a;f>=0;){if((p=t[f])===hA)return"×";if(-1===[mA,vA].indexOf(p))break;f--}if(-1!==[yA,IA].indexOf(c))for(f=-1!==[uA,cA].indexOf(l)?s:a;f>=0;){var p;if((p=t[f])===hA)return"×";if(-1===[mA,vA].indexOf(p))break;f--}if(PA===l&&-1!==[PA,RA,TA,bA].indexOf(c)||-1!==[RA,TA].indexOf(l)&&-1!==[RA,CA].indexOf(c)||-1!==[CA,bA].indexOf(l)&&c===CA)return"×";if(-1!==FA.indexOf(l)&&-1!==[pA,IA].indexOf(c)||-1!==FA.indexOf(c)&&l===yA)return"×";if(-1!==SA.indexOf(l)&&-1!==SA.indexOf(c))return"×";if(l===vA&&-1!==SA.indexOf(c))return"×";if(-1!==SA.concat(hA).indexOf(l)&&c===dA&&-1===BA.indexOf(e[o])||-1!==SA.concat(hA).indexOf(c)&&l===cA)return"×";if(41===l&&41===c){for(var A=n[a],d=1;A>0&&41===t[--A];)d++;if(d%2!=0)return"×"}return l===gA&&c===EA?"×":"÷"},jA=function(e,t){t||(t={lineBreak:"normal",wordBreak:"normal"});var n=function(e,t){void 0===t&&(t="strict");var n=[],r=[],i=[];return e.forEach((function(e,a){var s=OA.get(e);if(s>50?(i.push(!0),s-=50):i.push(!1),-1!==["normal","auto","loose"].indexOf(t)&&-1!==[8208,8211,12316,12448].indexOf(e))return r.push(a),n.push(16);if(4===s||11===s){if(0===a)return r.push(a),n.push(wA);var o=n[a-1];return-1===MA.indexOf(o)?(r.push(r[a-1]),n.push(o)):(r.push(a),n.push(wA))}return r.push(a),31===s?n.push("strict"===t?AA:DA):s===_A||29===s?n.push(wA):43===s?e>=131072&&e<=196605||e>=196608&&e<=262141?n.push(DA):n.push(wA):void n.push(s)})),[r,n,i]}(e,t.lineBreak),r=n[0],i=n[1],a=n[2];"break-all"!==t.wordBreak&&"break-word"!==t.wordBreak||(i=i.map((function(e){return-1!==[hA,wA,_A].indexOf(e)?DA:e})));var s="keep-all"===t.wordBreak?a.map((function(t,n){return t&&e[n]>=19968&&e[n]<=40959})):void 0;return[r,i,s]},VA=function(){function e(e,t,n,r){this.codePoints=e,this.required="!"===t,this.start=n,this.end=r}return e.prototype.slice=function(){return Yp.apply(void 0,this.codePoints.slice(this.start,this.end))},e}(),QA=function(e){return e>=48&&e<=57},WA=function(e){return QA(e)||e>=65&&e<=70||e>=97&&e<=102},zA=function(e){return 10===e||9===e||32===e},KA=function(e){return function(e){return function(e){return e>=97&&e<=122}(e)||function(e){return e>=65&&e<=90}(e)}(e)||function(e){return e>=128}(e)||95===e},YA=function(e){return KA(e)||QA(e)||45===e},XA=function(e){return e>=0&&e<=8||11===e||e>=14&&e<=31||127===e},qA=function(e,t){return 92===e&&10!==t},JA=function(e,t,n){return 45===e?KA(t)||qA(t,n):!!KA(e)||!(92!==e||!qA(e,t))},ZA=function(e,t,n){return 43===e||45===e?!!QA(t)||46===t&&QA(n):QA(46===e?t:e)},$A=function(e){var t=0,n=1;43!==e[t]&&45!==e[t]||(45===e[t]&&(n=-1),t++);for(var r=[];QA(e[t]);)r.push(e[t++]);var i=r.length?parseInt(Yp.apply(void 0,r),10):0;46===e[t]&&t++;for(var a=[];QA(e[t]);)a.push(e[t++]);var s=a.length,o=s?parseInt(Yp.apply(void 0,a),10):0;69!==e[t]&&101!==e[t]||t++;var l=1;43!==e[t]&&45!==e[t]||(45===e[t]&&(l=-1),t++);for(var u=[];QA(e[t]);)u.push(e[t++]);var c=u.length?parseInt(Yp.apply(void 0,u),10):0;return n*(i+o*Math.pow(10,-s))*Math.pow(10,l*c)},ed={type:2},td={type:3},nd={type:4},rd={type:13},id={type:8},ad={type:21},sd={type:9},od={type:10},ld={type:11},ud={type:12},cd={type:14},fd={type:23},pd={type:1},Ad={type:25},dd={type:24},vd={type:26},hd={type:27},Id={type:28},yd={type:29},md={type:31},wd={type:32},gd=function(){function e(){this._value=[]}return e.prototype.write=function(e){this._value=this._value.concat(Kp(e))},e.prototype.read=function(){for(var e=[],t=this.consumeToken();t!==wd;)e.push(t),t=this.consumeToken();return e},e.prototype.consumeToken=function(){var e=this.consumeCodePoint();switch(e){case 34:return this.consumeStringToken(34);case 35:var t=this.peekCodePoint(0),n=this.peekCodePoint(1),r=this.peekCodePoint(2);if(YA(t)||qA(n,r)){var i=JA(t,n,r)?2:1;return{type:5,value:this.consumeName(),flags:i}}break;case 36:if(61===this.peekCodePoint(0))return this.consumeCodePoint(),rd;break;case 39:return this.consumeStringToken(39);case 40:return ed;case 41:return td;case 42:if(61===this.peekCodePoint(0))return this.consumeCodePoint(),cd;break;case 43:if(ZA(e,this.peekCodePoint(0),this.peekCodePoint(1)))return this.reconsumeCodePoint(e),this.consumeNumericToken();break;case 44:return nd;case 45:var a=e,s=this.peekCodePoint(0),o=this.peekCodePoint(1);if(ZA(a,s,o))return this.reconsumeCodePoint(e),this.consumeNumericToken();if(JA(a,s,o))return this.reconsumeCodePoint(e),this.consumeIdentLikeToken();if(45===s&&62===o)return this.consumeCodePoint(),this.consumeCodePoint(),dd;break;case 46:if(ZA(e,this.peekCodePoint(0),this.peekCodePoint(1)))return this.reconsumeCodePoint(e),this.consumeNumericToken();break;case 47:if(42===this.peekCodePoint(0))for(this.consumeCodePoint();;){var l=this.consumeCodePoint();if(42===l&&47===(l=this.consumeCodePoint()))return this.consumeToken();if(-1===l)return this.consumeToken()}break;case 58:return vd;case 59:return hd;case 60:if(33===this.peekCodePoint(0)&&45===this.peekCodePoint(1)&&45===this.peekCodePoint(2))return this.consumeCodePoint(),this.consumeCodePoint(),Ad;break;case 64:var u=this.peekCodePoint(0),c=this.peekCodePoint(1),f=this.peekCodePoint(2);if(JA(u,c,f))return{type:7,value:this.consumeName()};break;case 91:return Id;case 92:if(qA(e,this.peekCodePoint(0)))return this.reconsumeCodePoint(e),this.consumeIdentLikeToken();break;case 93:return yd;case 61:if(61===this.peekCodePoint(0))return this.consumeCodePoint(),id;break;case 123:return ld;case 125:return ud;case 117:case 85:var p=this.peekCodePoint(0),A=this.peekCodePoint(1);return 43!==p||!WA(A)&&63!==A||(this.consumeCodePoint(),this.consumeUnicodeRangeToken()),this.reconsumeCodePoint(e),this.consumeIdentLikeToken();case 124:if(61===this.peekCodePoint(0))return this.consumeCodePoint(),sd;if(124===this.peekCodePoint(0))return this.consumeCodePoint(),ad;break;case 126:if(61===this.peekCodePoint(0))return this.consumeCodePoint(),od;break;case-1:return wd}return zA(e)?(this.consumeWhiteSpace(),md):QA(e)?(this.reconsumeCodePoint(e),this.consumeNumericToken()):KA(e)?(this.reconsumeCodePoint(e),this.consumeIdentLikeToken()):{type:6,value:Yp(e)}},e.prototype.consumeCodePoint=function(){var e=this._value.shift();return void 0===e?-1:e},e.prototype.reconsumeCodePoint=function(e){this._value.unshift(e)},e.prototype.peekCodePoint=function(e){return e>=this._value.length?-1:this._value[e]},e.prototype.consumeUnicodeRangeToken=function(){for(var e=[],t=this.consumeCodePoint();WA(t)&&e.length<6;)e.push(t),t=this.consumeCodePoint();for(var n=!1;63===t&&e.length<6;)e.push(t),t=this.consumeCodePoint(),n=!0;if(n)return{type:30,start:parseInt(Yp.apply(void 0,e.map((function(e){return 63===e?48:e}))),16),end:parseInt(Yp.apply(void 0,e.map((function(e){return 63===e?70:e}))),16)};var r=parseInt(Yp.apply(void 0,e),16);if(45===this.peekCodePoint(0)&&WA(this.peekCodePoint(1))){this.consumeCodePoint(),t=this.consumeCodePoint();for(var i=[];WA(t)&&i.length<6;)i.push(t),t=this.consumeCodePoint();return{type:30,start:r,end:parseInt(Yp.apply(void 0,i),16)}}return{type:30,start:r,end:r}},e.prototype.consumeIdentLikeToken=function(){var e=this.consumeName();return"url"===e.toLowerCase()&&40===this.peekCodePoint(0)?(this.consumeCodePoint(),this.consumeUrlToken()):40===this.peekCodePoint(0)?(this.consumeCodePoint(),{type:19,value:e}):{type:20,value:e}},e.prototype.consumeUrlToken=function(){var e=[];if(this.consumeWhiteSpace(),-1===this.peekCodePoint(0))return{type:22,value:""};var t=this.peekCodePoint(0);if(39===t||34===t){var n=this.consumeStringToken(this.consumeCodePoint());return 0===n.type&&(this.consumeWhiteSpace(),-1===this.peekCodePoint(0)||41===this.peekCodePoint(0))?(this.consumeCodePoint(),{type:22,value:n.value}):(this.consumeBadUrlRemnants(),fd)}for(;;){var r=this.consumeCodePoint();if(-1===r||41===r)return{type:22,value:Yp.apply(void 0,e)};if(zA(r))return this.consumeWhiteSpace(),-1===this.peekCodePoint(0)||41===this.peekCodePoint(0)?(this.consumeCodePoint(),{type:22,value:Yp.apply(void 0,e)}):(this.consumeBadUrlRemnants(),fd);if(34===r||39===r||40===r||XA(r))return this.consumeBadUrlRemnants(),fd;if(92===r){if(!qA(r,this.peekCodePoint(0)))return this.consumeBadUrlRemnants(),fd;e.push(this.consumeEscapedCodePoint())}else e.push(r)}},e.prototype.consumeWhiteSpace=function(){for(;zA(this.peekCodePoint(0));)this.consumeCodePoint()},e.prototype.consumeBadUrlRemnants=function(){for(;;){var e=this.consumeCodePoint();if(41===e||-1===e)return;qA(e,this.peekCodePoint(0))&&this.consumeEscapedCodePoint()}},e.prototype.consumeStringSlice=function(e){for(var t="";e>0;){var n=Math.min(5e4,e);t+=Yp.apply(void 0,this._value.splice(0,n)),e-=n}return this._value.shift(),t},e.prototype.consumeStringToken=function(e){for(var t="",n=0;;){var r=this._value[n];if(-1===r||void 0===r||r===e)return{type:0,value:t+=this.consumeStringSlice(n)};if(10===r)return this._value.splice(0,n),pd;if(92===r){var i=this._value[n+1];-1!==i&&void 0!==i&&(10===i?(t+=this.consumeStringSlice(n),n=-1,this._value.shift()):qA(r,i)&&(t+=this.consumeStringSlice(n),t+=Yp(this.consumeEscapedCodePoint()),n=-1))}n++}},e.prototype.consumeNumber=function(){var e=[],t=4,n=this.peekCodePoint(0);for(43!==n&&45!==n||e.push(this.consumeCodePoint());QA(this.peekCodePoint(0));)e.push(this.consumeCodePoint());n=this.peekCodePoint(0);var r=this.peekCodePoint(1);if(46===n&&QA(r))for(e.push(this.consumeCodePoint(),this.consumeCodePoint()),t=8;QA(this.peekCodePoint(0));)e.push(this.consumeCodePoint());n=this.peekCodePoint(0),r=this.peekCodePoint(1);var i=this.peekCodePoint(2);if((69===n||101===n)&&((43===r||45===r)&&QA(i)||QA(r)))for(e.push(this.consumeCodePoint(),this.consumeCodePoint()),t=8;QA(this.peekCodePoint(0));)e.push(this.consumeCodePoint());return[$A(e),t]},e.prototype.consumeNumericToken=function(){var e=this.consumeNumber(),t=e[0],n=e[1],r=this.peekCodePoint(0),i=this.peekCodePoint(1),a=this.peekCodePoint(2);return JA(r,i,a)?{type:15,number:t,flags:n,unit:this.consumeName()}:37===r?(this.consumeCodePoint(),{type:16,number:t,flags:n}):{type:17,number:t,flags:n}},e.prototype.consumeEscapedCodePoint=function(){var e=this.consumeCodePoint();if(WA(e)){for(var t=Yp(e);WA(this.peekCodePoint(0))&&t.length<6;)t+=Yp(this.consumeCodePoint());zA(this.peekCodePoint(0))&&this.consumeCodePoint();var n=parseInt(t,16);return 0===n||function(e){return e>=55296&&e<=57343}(n)||n>1114111?65533:n}return-1===e?65533:e},e.prototype.consumeName=function(){for(var e="";;){var t=this.consumeCodePoint();if(YA(t))e+=Yp(t);else{if(!qA(t,this.peekCodePoint(0)))return this.reconsumeCodePoint(t),e;e+=Yp(this.consumeEscapedCodePoint())}}},e}(),Ed=function(){function e(e){this._tokens=e}return e.create=function(t){var n=new gd;return n.write(t),new e(n.read())},e.parseValue=function(t){return e.create(t).parseComponentValue()},e.parseValues=function(t){return e.create(t).parseComponentValues()},e.prototype.parseComponentValue=function(){for(var e=this.consumeToken();31===e.type;)e=this.consumeToken();if(32===e.type)throw new SyntaxError("Error parsing CSS component value, unexpected EOF");this.reconsumeToken(e);var t=this.consumeComponentValue();do{e=this.consumeToken()}while(31===e.type);if(32===e.type)return t;throw new SyntaxError("Error parsing CSS component value, multiple values found when expecting only one")},e.prototype.parseComponentValues=function(){for(var e=[];;){var t=this.consumeComponentValue();if(32===t.type)return e;e.push(t),e.push()}},e.prototype.consumeComponentValue=function(){var e=this.consumeToken();switch(e.type){case 11:case 28:case 2:return this.consumeSimpleBlock(e.type);case 19:return this.consumeFunction(e)}return e},e.prototype.consumeSimpleBlock=function(e){for(var t={type:e,values:[]},n=this.consumeToken();;){if(32===n.type||Od(n,e))return t;this.reconsumeToken(n),t.values.push(this.consumeComponentValue()),n=this.consumeToken()}},e.prototype.consumeFunction=function(e){for(var t={name:e.value,values:[],type:18};;){var n=this.consumeToken();if(32===n.type||3===n.type)return t;this.reconsumeToken(n),t.values.push(this.consumeComponentValue())}},e.prototype.consumeToken=function(){var e=this._tokens.shift();return void 0===e?wd:e},e.prototype.reconsumeToken=function(e){this._tokens.unshift(e)},e}(),Td=function(e){return 15===e.type},bd=function(e){return 17===e.type},Dd=function(e){return 20===e.type},Pd=function(e){return 0===e.type},Rd=function(e,t){return Dd(e)&&e.value===t},Cd=function(e){return 31!==e.type},_d=function(e){return 31!==e.type&&4!==e.type},Bd=function(e){var t=[],n=[];return e.forEach((function(e){if(4===e.type){if(0===n.length)throw new Error("Error parsing function args, zero tokens for arg");return t.push(n),void(n=[])}31!==e.type&&n.push(e)})),n.length&&t.push(n),t},Od=function(e,t){return 11===t&&12===e.type||(28===t&&29===e.type||2===t&&3===e.type)},Sd=function(e){return 17===e.type||15===e.type},Nd=function(e){return 16===e.type||Sd(e)},Ld=function(e){return e.length>1?[e[0],e[1]]:[e[0]]},xd={type:17,number:0,flags:4},Md={type:16,number:50,flags:4},Fd={type:16,number:100,flags:4},Hd=function(e,t,n){var r=e[0],i=e[1];return[Ud(r,t),Ud(void 0!==i?i:r,n)]},Ud=function(e,t){if(16===e.type)return e.number/100*t;if(Td(e))switch(e.unit){case"rem":case"em":return 16*e.number;default:return e.number}return e.number},Gd=function(e,t){if(15===t.type)switch(t.unit){case"deg":return Math.PI*t.number/180;case"grad":return Math.PI/200*t.number;case"rad":return t.number;case"turn":return 2*Math.PI*t.number}throw new Error("Unsupported angle type")},kd=function(e){return 15===e.type&&("deg"===e.unit||"grad"===e.unit||"rad"===e.unit||"turn"===e.unit)},jd=function(e){switch(e.filter(Dd).map((function(e){return e.value})).join(" ")){case"to bottom right":case"to right bottom":case"left top":case"top left":return[xd,xd];case"to top":case"bottom":return Vd(0);case"to bottom left":case"to left bottom":case"right top":case"top right":return[xd,Fd];case"to right":case"left":return Vd(90);case"to top left":case"to left top":case"right bottom":case"bottom right":return[Fd,Fd];case"to bottom":case"top":return Vd(180);case"to top right":case"to right top":case"left bottom":case"bottom left":return[Fd,xd];case"to left":case"right":return Vd(270)}return 0},Vd=function(e){return Math.PI*e/180},Qd=function(e,t){if(18===t.type){var n=Zd[t.name];if(void 0===n)throw new Error('Attempting to parse an unsupported color function "'+t.name+'"');return n(e,t.values)}if(5===t.type){if(3===t.value.length){var r=t.value.substring(0,1),i=t.value.substring(1,2),a=t.value.substring(2,3);return Kd(parseInt(r+r,16),parseInt(i+i,16),parseInt(a+a,16),1)}if(4===t.value.length){r=t.value.substring(0,1),i=t.value.substring(1,2),a=t.value.substring(2,3);var s=t.value.substring(3,4);return Kd(parseInt(r+r,16),parseInt(i+i,16),parseInt(a+a,16),parseInt(s+s,16)/255)}if(6===t.value.length){r=t.value.substring(0,2),i=t.value.substring(2,4),a=t.value.substring(4,6);return Kd(parseInt(r,16),parseInt(i,16),parseInt(a,16),1)}if(8===t.value.length){r=t.value.substring(0,2),i=t.value.substring(2,4),a=t.value.substring(4,6),s=t.value.substring(6,8);return Kd(parseInt(r,16),parseInt(i,16),parseInt(a,16),parseInt(s,16)/255)}}if(20===t.type){var o=ev[t.value.toUpperCase()];if(void 0!==o)return o}return ev.TRANSPARENT},Wd=function(e){return 0==(255&e)},zd=function(e){var t=255&e,n=255&e>>8,r=255&e>>16,i=255&e>>24;return t<255?"rgba("+i+","+r+","+n+","+t/255+")":"rgb("+i+","+r+","+n+")"},Kd=function(e,t,n,r){return(e<<24|t<<16|n<<8|Math.round(255*r)<<0)>>>0},Yd=function(e,t){if(17===e.type)return e.number;if(16===e.type){var n=3===t?1:255;return 3===t?e.number/100*n:Math.round(e.number/100*n)}return 0},Xd=function(e,t){var n=t.filter(_d);if(3===n.length){var r=n.map(Yd),i=r[0],a=r[1],s=r[2];return Kd(i,a,s,1)}if(4===n.length){var o=n.map(Yd),l=(i=o[0],a=o[1],s=o[2],o[3]);return Kd(i,a,s,l)}return 0};function qd(e,t,n){return n<0&&(n+=1),n>=1&&(n-=1),n<1/6?(t-e)*n*6+e:n<.5?t:n<2/3?6*(t-e)*(2/3-n)+e:e}var Jd=function(e,t){var n=t.filter(_d),r=n[0],i=n[1],a=n[2],s=n[3],o=(17===r.type?Vd(r.number):Gd(e,r))/(2*Math.PI),l=Nd(i)?i.number/100:0,u=Nd(a)?a.number/100:0,c=void 0!==s&&Nd(s)?Ud(s,1):1;if(0===l)return Kd(255*u,255*u,255*u,1);var f=u<=.5?u*(l+1):u+l-u*l,p=2*u-f,A=qd(p,f,o+1/3),d=qd(p,f,o),v=qd(p,f,o-1/3);return Kd(255*A,255*d,255*v,c)},Zd={hsl:Jd,hsla:Jd,rgb:Xd,rgba:Xd},$d=function(e,t){return Qd(e,Ed.create(t).parseComponentValue())},ev={ALICEBLUE:4042850303,ANTIQUEWHITE:4209760255,AQUA:16777215,AQUAMARINE:2147472639,AZURE:4043309055,BEIGE:4126530815,BISQUE:4293182719,BLACK:255,BLANCHEDALMOND:4293643775,BLUE:65535,BLUEVIOLET:2318131967,BROWN:2771004159,BURLYWOOD:3736635391,CADETBLUE:1604231423,CHARTREUSE:2147418367,CHOCOLATE:3530104575,CORAL:4286533887,CORNFLOWERBLUE:1687547391,CORNSILK:4294499583,CRIMSON:3692313855,CYAN:16777215,DARKBLUE:35839,DARKCYAN:9145343,DARKGOLDENROD:3095837695,DARKGRAY:2846468607,DARKGREEN:6553855,DARKGREY:2846468607,DARKKHAKI:3182914559,DARKMAGENTA:2332068863,DARKOLIVEGREEN:1433087999,DARKORANGE:4287365375,DARKORCHID:2570243327,DARKRED:2332033279,DARKSALMON:3918953215,DARKSEAGREEN:2411499519,DARKSLATEBLUE:1211993087,DARKSLATEGRAY:793726975,DARKSLATEGREY:793726975,DARKTURQUOISE:13554175,DARKVIOLET:2483082239,DEEPPINK:4279538687,DEEPSKYBLUE:12582911,DIMGRAY:1768516095,DIMGREY:1768516095,DODGERBLUE:512819199,FIREBRICK:2988581631,FLORALWHITE:4294635775,FORESTGREEN:579543807,FUCHSIA:4278255615,GAINSBORO:3705462015,GHOSTWHITE:4177068031,GOLD:4292280575,GOLDENROD:3668254975,GRAY:2155905279,GREEN:8388863,GREENYELLOW:2919182335,GREY:2155905279,HONEYDEW:4043305215,HOTPINK:4285117695,INDIANRED:3445382399,INDIGO:1258324735,IVORY:4294963455,KHAKI:4041641215,LAVENDER:3873897215,LAVENDERBLUSH:4293981695,LAWNGREEN:2096890111,LEMONCHIFFON:4294626815,LIGHTBLUE:2916673279,LIGHTCORAL:4034953471,LIGHTCYAN:3774873599,LIGHTGOLDENRODYELLOW:4210742015,LIGHTGRAY:3553874943,LIGHTGREEN:2431553791,LIGHTGREY:3553874943,LIGHTPINK:4290167295,LIGHTSALMON:4288707327,LIGHTSEAGREEN:548580095,LIGHTSKYBLUE:2278488831,LIGHTSLATEGRAY:2005441023,LIGHTSLATEGREY:2005441023,LIGHTSTEELBLUE:2965692159,LIGHTYELLOW:4294959359,LIME:16711935,LIMEGREEN:852308735,LINEN:4210091775,MAGENTA:4278255615,MAROON:2147483903,MEDIUMAQUAMARINE:1724754687,MEDIUMBLUE:52735,MEDIUMORCHID:3126187007,MEDIUMPURPLE:2473647103,MEDIUMSEAGREEN:1018393087,MEDIUMSLATEBLUE:2070474495,MEDIUMSPRINGGREEN:16423679,MEDIUMTURQUOISE:1221709055,MEDIUMVIOLETRED:3340076543,MIDNIGHTBLUE:421097727,MINTCREAM:4127193855,MISTYROSE:4293190143,MOCCASIN:4293178879,NAVAJOWHITE:4292783615,NAVY:33023,OLDLACE:4260751103,OLIVE:2155872511,OLIVEDRAB:1804477439,ORANGE:4289003775,ORANGERED:4282712319,ORCHID:3664828159,PALEGOLDENROD:4008225535,PALEGREEN:2566625535,PALETURQUOISE:2951671551,PALEVIOLETRED:3681588223,PAPAYAWHIP:4293907967,PEACHPUFF:4292524543,PERU:3448061951,PINK:4290825215,PLUM:3718307327,POWDERBLUE:2967529215,PURPLE:2147516671,REBECCAPURPLE:1714657791,RED:4278190335,ROSYBROWN:3163525119,ROYALBLUE:1097458175,SADDLEBROWN:2336560127,SALMON:4202722047,SANDYBROWN:4104413439,SEAGREEN:780883967,SEASHELL:4294307583,SIENNA:2689740287,SILVER:3233857791,SKYBLUE:2278484991,SLATEBLUE:1784335871,SLATEGRAY:1887473919,SLATEGREY:1887473919,SNOW:4294638335,SPRINGGREEN:16744447,STEELBLUE:1182971135,TAN:3535047935,TEAL:8421631,THISTLE:3636451583,TOMATO:4284696575,TRANSPARENT:0,TURQUOISE:1088475391,VIOLET:4001558271,WHEAT:4125012991,WHITE:4294967295,WHITESMOKE:4126537215,YELLOW:4294902015,YELLOWGREEN:2597139199},tv={name:"background-clip",initialValue:"border-box",prefix:!1,type:1,parse:function(e,t){return t.map((function(e){if(Dd(e))switch(e.value){case"padding-box":return 1;case"content-box":return 2}return 0}))}},nv={name:"background-color",initialValue:"transparent",prefix:!1,type:3,format:"color"},rv=function(e,t){var n=Qd(e,t[0]),r=t[1];return r&&Nd(r)?{color:n,stop:r}:{color:n,stop:null}},iv=function(e,t){var n=e[0],r=e[e.length-1];null===n.stop&&(n.stop=xd),null===r.stop&&(r.stop=Fd);for(var i=[],a=0,s=0;sa?i.push(l):i.push(a),a=l}else i.push(null)}var u=null;for(s=0;se.optimumDistance)?{optimumCorner:t,optimumDistance:o}:e}),{optimumDistance:i?1/0:-1/0,optimumCorner:null}).optimumCorner},lv=function(e,t){var n=Vd(180),r=[];return Bd(t).forEach((function(t,i){if(0===i){var a=t[0];if(20===a.type&&-1!==["top","left","right","bottom"].indexOf(a.value))return void(n=jd(t));if(kd(a))return void(n=(Gd(e,a)+Vd(270))%Vd(360))}var s=rv(e,t);r.push(s)})),{angle:n,stops:r,type:1}},uv=function(e,t){var n=0,r=3,i=[],a=[];return Bd(t).forEach((function(t,s){var o=!0;if(0===s?o=t.reduce((function(e,t){if(Dd(t))switch(t.value){case"center":return a.push(Md),!1;case"top":case"left":return a.push(xd),!1;case"right":case"bottom":return a.push(Fd),!1}else if(Nd(t)||Sd(t))return a.push(t),!1;return e}),o):1===s&&(o=t.reduce((function(e,t){if(Dd(t))switch(t.value){case"circle":return n=0,!1;case"ellipse":return n=1,!1;case"contain":case"closest-side":return r=0,!1;case"farthest-side":return r=1,!1;case"closest-corner":return r=2,!1;case"cover":case"farthest-corner":return r=3,!1}else if(Sd(t)||Nd(t))return Array.isArray(r)||(r=[]),r.push(t),!1;return e}),o)),o){var l=rv(e,t);i.push(l)}})),{size:r,shape:n,stops:i,position:a,type:2}},cv=function(e,t){if(22===t.type){var n={url:t.value,type:0};return e.cache.addImage(t.value),n}if(18===t.type){var r=pv[t.name];if(void 0===r)throw new Error('Attempting to parse an unsupported image function "'+t.name+'"');return r(e,t.values)}throw new Error("Unsupported image type "+t.type)};var fv,pv={"linear-gradient":function(e,t){var n=Vd(180),r=[];return Bd(t).forEach((function(t,i){if(0===i){var a=t[0];if(20===a.type&&"to"===a.value)return void(n=jd(t));if(kd(a))return void(n=Gd(e,a))}var s=rv(e,t);r.push(s)})),{angle:n,stops:r,type:1}},"-moz-linear-gradient":lv,"-ms-linear-gradient":lv,"-o-linear-gradient":lv,"-webkit-linear-gradient":lv,"radial-gradient":function(e,t){var n=0,r=3,i=[],a=[];return Bd(t).forEach((function(t,s){var o=!0;if(0===s){var l=!1;o=t.reduce((function(e,t){if(l)if(Dd(t))switch(t.value){case"center":return a.push(Md),e;case"top":case"left":return a.push(xd),e;case"right":case"bottom":return a.push(Fd),e}else(Nd(t)||Sd(t))&&a.push(t);else if(Dd(t))switch(t.value){case"circle":return n=0,!1;case"ellipse":return n=1,!1;case"at":return l=!0,!1;case"closest-side":return r=0,!1;case"cover":case"farthest-side":return r=1,!1;case"contain":case"closest-corner":return r=2,!1;case"farthest-corner":return r=3,!1}else if(Sd(t)||Nd(t))return Array.isArray(r)||(r=[]),r.push(t),!1;return e}),o)}if(o){var u=rv(e,t);i.push(u)}})),{size:r,shape:n,stops:i,position:a,type:2}},"-moz-radial-gradient":uv,"-ms-radial-gradient":uv,"-o-radial-gradient":uv,"-webkit-radial-gradient":uv,"-webkit-gradient":function(e,t){var n=Vd(180),r=[],i=1;return Bd(t).forEach((function(t,n){var a=t[0];if(0===n){if(Dd(a)&&"linear"===a.value)return void(i=1);if(Dd(a)&&"radial"===a.value)return void(i=2)}if(18===a.type)if("from"===a.name){var s=Qd(e,a.values[0]);r.push({stop:xd,color:s})}else if("to"===a.name){s=Qd(e,a.values[0]);r.push({stop:Fd,color:s})}else if("color-stop"===a.name){var o=a.values.filter(_d);if(2===o.length){s=Qd(e,o[1]);var l=o[0];bd(l)&&r.push({stop:{type:16,number:100*l.number,flags:l.flags},color:s})}}})),1===i?{angle:(n+Vd(180))%Vd(360),stops:r,type:i}:{size:3,shape:0,stops:r,position:[],type:i}}},Av={name:"background-image",initialValue:"none",type:1,prefix:!1,parse:function(e,t){if(0===t.length)return[];var n=t[0];return 20===n.type&&"none"===n.value?[]:t.filter((function(e){return _d(e)&&function(e){return!(20===e.type&&"none"===e.value||18===e.type&&!pv[e.name])}(e)})).map((function(t){return cv(e,t)}))}},dv={name:"background-origin",initialValue:"border-box",prefix:!1,type:1,parse:function(e,t){return t.map((function(e){if(Dd(e))switch(e.value){case"padding-box":return 1;case"content-box":return 2}return 0}))}},vv={name:"background-position",initialValue:"0% 0%",type:1,prefix:!1,parse:function(e,t){return Bd(t).map((function(e){return e.filter(Nd)})).map(Ld)}},hv={name:"background-repeat",initialValue:"repeat",prefix:!1,type:1,parse:function(e,t){return Bd(t).map((function(e){return e.filter(Dd).map((function(e){return e.value})).join(" ")})).map(Iv)}},Iv=function(e){switch(e){case"no-repeat":return 1;case"repeat-x":case"repeat no-repeat":return 2;case"repeat-y":case"no-repeat repeat":return 3;default:return 0}};!function(e){e.AUTO="auto",e.CONTAIN="contain",e.COVER="cover"}(fv||(fv={}));var yv,mv={name:"background-size",initialValue:"0",prefix:!1,type:1,parse:function(e,t){return Bd(t).map((function(e){return e.filter(wv)}))}},wv=function(e){return Dd(e)||Nd(e)},gv=function(e){return{name:"border-"+e+"-color",initialValue:"transparent",prefix:!1,type:3,format:"color"}},Ev=gv("top"),Tv=gv("right"),bv=gv("bottom"),Dv=gv("left"),Pv=function(e){return{name:"border-radius-"+e,initialValue:"0 0",prefix:!1,type:1,parse:function(e,t){return Ld(t.filter(Nd))}}},Rv=Pv("top-left"),Cv=Pv("top-right"),_v=Pv("bottom-right"),Bv=Pv("bottom-left"),Ov=function(e){return{name:"border-"+e+"-style",initialValue:"solid",prefix:!1,type:2,parse:function(e,t){switch(t){case"none":return 0;case"dashed":return 2;case"dotted":return 3;case"double":return 4}return 1}}},Sv=Ov("top"),Nv=Ov("right"),Lv=Ov("bottom"),xv=Ov("left"),Mv=function(e){return{name:"border-"+e+"-width",initialValue:"0",type:0,prefix:!1,parse:function(e,t){return Td(t)?t.number:0}}},Fv=Mv("top"),Hv=Mv("right"),Uv=Mv("bottom"),Gv=Mv("left"),kv={name:"color",initialValue:"transparent",prefix:!1,type:3,format:"color"},jv={name:"direction",initialValue:"ltr",prefix:!1,type:2,parse:function(e,t){return"rtl"===t?1:0}},Vv={name:"display",initialValue:"inline-block",prefix:!1,type:1,parse:function(e,t){return t.filter(Dd).reduce((function(e,t){return e|Qv(t.value)}),0)}},Qv=function(e){switch(e){case"block":case"-webkit-box":return 2;case"inline":return 4;case"run-in":return 8;case"flow":return 16;case"flow-root":return 32;case"table":return 64;case"flex":case"-webkit-flex":return 128;case"grid":case"-ms-grid":return 256;case"ruby":return 512;case"subgrid":return 1024;case"list-item":return 2048;case"table-row-group":return 4096;case"table-header-group":return 8192;case"table-footer-group":return 16384;case"table-row":return 32768;case"table-cell":return 65536;case"table-column-group":return 131072;case"table-column":return 262144;case"table-caption":return 524288;case"ruby-base":return 1048576;case"ruby-text":return 2097152;case"ruby-base-container":return 4194304;case"ruby-text-container":return 8388608;case"contents":return 16777216;case"inline-block":return 33554432;case"inline-list-item":return 67108864;case"inline-table":return 134217728;case"inline-flex":return 268435456;case"inline-grid":return 536870912}return 0},Wv={name:"float",initialValue:"none",prefix:!1,type:2,parse:function(e,t){switch(t){case"left":return 1;case"right":return 2;case"inline-start":return 3;case"inline-end":return 4}return 0}},zv={name:"letter-spacing",initialValue:"0",prefix:!1,type:0,parse:function(e,t){return 20===t.type&&"normal"===t.value?0:17===t.type||15===t.type?t.number:0}};!function(e){e.NORMAL="normal",e.STRICT="strict"}(yv||(yv={}));var Kv,Yv={name:"line-break",initialValue:"normal",prefix:!1,type:2,parse:function(e,t){return"strict"===t?yv.STRICT:yv.NORMAL}},Xv={name:"line-height",initialValue:"normal",prefix:!1,type:4},qv=function(e,t){return Dd(e)&&"normal"===e.value?1.2*t:17===e.type?t*e.number:Nd(e)?Ud(e,t):t},Jv={name:"list-style-image",initialValue:"none",type:0,prefix:!1,parse:function(e,t){return 20===t.type&&"none"===t.value?null:cv(e,t)}},Zv={name:"list-style-position",initialValue:"outside",prefix:!1,type:2,parse:function(e,t){return"inside"===t?0:1}},$v={name:"list-style-type",initialValue:"none",prefix:!1,type:2,parse:function(e,t){switch(t){case"disc":return 0;case"circle":return 1;case"square":return 2;case"decimal":return 3;case"cjk-decimal":return 4;case"decimal-leading-zero":return 5;case"lower-roman":return 6;case"upper-roman":return 7;case"lower-greek":return 8;case"lower-alpha":return 9;case"upper-alpha":return 10;case"arabic-indic":return 11;case"armenian":return 12;case"bengali":return 13;case"cambodian":return 14;case"cjk-earthly-branch":return 15;case"cjk-heavenly-stem":return 16;case"cjk-ideographic":return 17;case"devanagari":return 18;case"ethiopic-numeric":return 19;case"georgian":return 20;case"gujarati":return 21;case"gurmukhi":case"hebrew":return 22;case"hiragana":return 23;case"hiragana-iroha":return 24;case"japanese-formal":return 25;case"japanese-informal":return 26;case"kannada":return 27;case"katakana":return 28;case"katakana-iroha":return 29;case"khmer":return 30;case"korean-hangul-formal":return 31;case"korean-hanja-formal":return 32;case"korean-hanja-informal":return 33;case"lao":return 34;case"lower-armenian":return 35;case"malayalam":return 36;case"mongolian":return 37;case"myanmar":return 38;case"oriya":return 39;case"persian":return 40;case"simp-chinese-formal":return 41;case"simp-chinese-informal":return 42;case"tamil":return 43;case"telugu":return 44;case"thai":return 45;case"tibetan":return 46;case"trad-chinese-formal":return 47;case"trad-chinese-informal":return 48;case"upper-armenian":return 49;case"disclosure-open":return 50;case"disclosure-closed":return 51;default:return-1}}},eh=function(e){return{name:"margin-"+e,initialValue:"0",prefix:!1,type:4}},th=eh("top"),nh=eh("right"),rh=eh("bottom"),ih=eh("left"),ah={name:"overflow",initialValue:"visible",prefix:!1,type:1,parse:function(e,t){return t.filter(Dd).map((function(e){switch(e.value){case"hidden":return 1;case"scroll":return 2;case"clip":return 3;case"auto":return 4;default:return 0}}))}},sh={name:"overflow-wrap",initialValue:"normal",prefix:!1,type:2,parse:function(e,t){return"break-word"===t?"break-word":"normal"}},oh=function(e){return{name:"padding-"+e,initialValue:"0",prefix:!1,type:3,format:"length-percentage"}},lh=oh("top"),uh=oh("right"),ch=oh("bottom"),fh=oh("left"),ph={name:"text-align",initialValue:"left",prefix:!1,type:2,parse:function(e,t){switch(t){case"right":return 2;case"center":case"justify":return 1;default:return 0}}},Ah={name:"position",initialValue:"static",prefix:!1,type:2,parse:function(e,t){switch(t){case"relative":return 1;case"absolute":return 2;case"fixed":return 3;case"sticky":return 4}return 0}},dh={name:"text-shadow",initialValue:"none",type:1,prefix:!1,parse:function(e,t){return 1===t.length&&Rd(t[0],"none")?[]:Bd(t).map((function(t){for(var n={color:ev.TRANSPARENT,offsetX:xd,offsetY:xd,blur:xd},r=0,i=0;i1?1:0],this.overflowWrap=Kh(e,sh,t.overflowWrap),this.paddingTop=Kh(e,lh,t.paddingTop),this.paddingRight=Kh(e,uh,t.paddingRight),this.paddingBottom=Kh(e,ch,t.paddingBottom),this.paddingLeft=Kh(e,fh,t.paddingLeft),this.paintOrder=Kh(e,kh,t.paintOrder),this.position=Kh(e,Ah,t.position),this.textAlign=Kh(e,ph,t.textAlign),this.textDecorationColor=Kh(e,Ph,null!==(n=t.textDecorationColor)&&void 0!==n?n:t.color),this.textDecorationLine=Kh(e,Rh,null!==(r=t.textDecorationLine)&&void 0!==r?r:t.textDecoration),this.textShadow=Kh(e,dh,t.textShadow),this.textTransform=Kh(e,vh,t.textTransform),this.transform=Kh(e,hh,t.transform),this.transformOrigin=Kh(e,wh,t.transformOrigin),this.visibility=Kh(e,gh,t.visibility),this.webkitTextStrokeColor=Kh(e,jh,t.webkitTextStrokeColor),this.webkitTextStrokeWidth=Kh(e,Vh,t.webkitTextStrokeWidth),this.wordBreak=Kh(e,Eh,t.wordBreak),this.zIndex=Kh(e,Th,t.zIndex)}return e.prototype.isVisible=function(){return this.display>0&&this.opacity>0&&0===this.visibility},e.prototype.isTransparent=function(){return Wd(this.backgroundColor)},e.prototype.isTransformed=function(){return null!==this.transform},e.prototype.isPositioned=function(){return 0!==this.position},e.prototype.isPositionedWithZIndex=function(){return this.isPositioned()&&!this.zIndex.auto},e.prototype.isFloating=function(){return 0!==this.float},e.prototype.isInlineLevel=function(){return Nh(this.display,4)||Nh(this.display,33554432)||Nh(this.display,268435456)||Nh(this.display,536870912)||Nh(this.display,67108864)||Nh(this.display,134217728)},e}(),Wh=function(e,t){this.content=Kh(e,Lh,t.content),this.quotes=Kh(e,Hh,t.quotes)},zh=function(e,t){this.counterIncrement=Kh(e,xh,t.counterIncrement),this.counterReset=Kh(e,Mh,t.counterReset)},Kh=function(e,t,n){var r=new gd,i=null!=n?n.toString():t.initialValue;r.write(i);var a=new Ed(r.read());switch(t.type){case 2:var s=a.parseComponentValue();return t.parse(e,Dd(s)?s.value:t.initialValue);case 0:return t.parse(e,a.parseComponentValue());case 1:return t.parse(e,a.parseComponentValues());case 4:return a.parseComponentValue();case 3:switch(t.format){case"angle":return Gd(e,a.parseComponentValue());case"color":return Qd(e,a.parseComponentValue());case"image":return cv(e,a.parseComponentValue());case"length":var o=a.parseComponentValue();return Sd(o)?o:xd;case"length-percentage":var l=a.parseComponentValue();return Nd(l)?l:xd;case"time":return bh(e,a.parseComponentValue())}}},Yh=function(e,t){var n=function(e){switch(e.getAttribute("data-html2canvas-debug")){case"all":return 1;case"clone":return 2;case"parse":return 3;case"render":return 4;default:return 0}}(e);return 1===n||t===n},Xh=function(e,t){this.context=e,this.textNodes=[],this.elements=[],this.flags=0,Yh(t,3),this.styles=new Qh(e,window.getComputedStyle(t,null)),XI(t)&&(this.styles.animationDuration.some((function(e){return e>0}))&&(t.style.animationDuration="0s"),null!==this.styles.transform&&(t.style.transform="none")),this.bounds=zp(this.context,t),Yh(t,4)&&(this.flags|=16)},qh="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",Jh="undefined"==typeof Uint8Array?[]:new Uint8Array(256),Zh=0;Zh=0){if(e<55296||e>56319&&e<=65535)return t=((t=this.index[e>>5])<<2)+(31&e),this.data[t];if(e<=65535)return t=((t=this.index[2048+(e-55296>>5)])<<2)+(31&e),this.data[t];if(e>11),t=this.index[t],t+=e>>5&63,t=((t=this.index[t])<<2)+(31&e),this.data[t];if(e<=1114111)return this.data[this.highValueIndex]}return this.errorValue},e}(),tI="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",nI="undefined"==typeof Uint8Array?[]:new Uint8Array(256),rI=0;rI>10),s%1024+56320)),(i+1===n||r.length>16384)&&(a+=String.fromCharCode.apply(String,r),r.length=0)}return a},cI=function(e,t){var n,r,i,a=function(e){var t,n,r,i,a,s=.75*e.length,o=e.length,l=0;"="===e[e.length-1]&&(s--,"="===e[e.length-2]&&s--);var u="undefined"!=typeof ArrayBuffer&&"undefined"!=typeof Uint8Array&&void 0!==Uint8Array.prototype.slice?new ArrayBuffer(s):new Array(s),c=Array.isArray(u)?u:new Uint8Array(u);for(t=0;t>4,c[l++]=(15&r)<<4|i>>2,c[l++]=(3&i)<<6|63&a;return u}(e),s=Array.isArray(a)?function(e){for(var t=e.length,n=[],r=0;r=55296&&i<=56319&&n=n)return{done:!0,value:null};for(var e="×";rs.x||i.y>s.y;return s=i,0===t||o}));return e.body.removeChild(t),o}(document);return Object.defineProperty(II,"SUPPORT_WORD_BREAKING",{value:e}),e},get SUPPORT_SVG_DRAWING(){var e=function(e){var t=new Image,n=e.createElement("canvas"),r=n.getContext("2d");if(!r)return!1;t.src="data:image/svg+xml,";try{r.drawImage(t,0,0),n.toDataURL()}catch(e){return!1}return!0}(document);return Object.defineProperty(II,"SUPPORT_SVG_DRAWING",{value:e}),e},get SUPPORT_FOREIGNOBJECT_DRAWING(){var e="function"==typeof Array.from&&"function"==typeof window.fetch?function(e){var t=e.createElement("canvas"),n=100;t.width=n,t.height=n;var r=t.getContext("2d");if(!r)return Promise.reject(!1);r.fillStyle="rgb(0, 255, 0)",r.fillRect(0,0,n,n);var i=new Image,a=t.toDataURL();i.src=a;var s=vI(n,n,0,0,i);return r.fillStyle="red",r.fillRect(0,0,n,n),hI(s).then((function(t){r.drawImage(t,0,0);var i=r.getImageData(0,0,n,n).data;r.fillStyle="red",r.fillRect(0,0,n,n);var s=e.createElement("div");return s.style.backgroundImage="url("+a+")",s.style.height="100px",dI(i)?hI(vI(n,n,0,0,s)):Promise.reject(!1)})).then((function(e){return r.drawImage(e,0,0),dI(r.getImageData(0,0,n,n).data)})).catch((function(){return!1}))}(document):Promise.resolve(!1);return Object.defineProperty(II,"SUPPORT_FOREIGNOBJECT_DRAWING",{value:e}),e},get SUPPORT_CORS_IMAGES(){var e=void 0!==(new Image).crossOrigin;return Object.defineProperty(II,"SUPPORT_CORS_IMAGES",{value:e}),e},get SUPPORT_RESPONSE_TYPE(){var e="string"==typeof(new XMLHttpRequest).responseType;return Object.defineProperty(II,"SUPPORT_RESPONSE_TYPE",{value:e}),e},get SUPPORT_CORS_XHR(){var e="withCredentials"in new XMLHttpRequest;return Object.defineProperty(II,"SUPPORT_CORS_XHR",{value:e}),e},get SUPPORT_NATIVE_TEXT_SEGMENTATION(){var e=!("undefined"==typeof Intl||!Intl.Segmenter);return Object.defineProperty(II,"SUPPORT_NATIVE_TEXT_SEGMENTATION",{value:e}),e}},yI=function(e,t){this.text=e,this.bounds=t},mI=function(e,t){var n=t.ownerDocument;if(n){var r=n.createElement("html2canvaswrapper");r.appendChild(t.cloneNode(!0));var i=t.parentNode;if(i){i.replaceChild(r,t);var a=zp(e,r);return r.firstChild&&i.replaceChild(r.firstChild,r),a}}return Wp.EMPTY},wI=function(e,t,n){var r=e.ownerDocument;if(!r)throw new Error("Node has no owner document");var i=r.createRange();return i.setStart(e,t),i.setEnd(e,t+n),i},gI=function(e){if(II.SUPPORT_NATIVE_TEXT_SEGMENTATION){var t=new Intl.Segmenter(void 0,{granularity:"grapheme"});return Array.from(t.segment(e)).map((function(e){return e.segment}))}return function(e){for(var t,n=AI(e),r=[];!(t=n.next()).done;)t.value&&r.push(t.value.slice());return r}(e)},EI=function(e,t){return 0!==t.letterSpacing?gI(e):function(e,t){if(II.SUPPORT_NATIVE_TEXT_SEGMENTATION){var n=new Intl.Segmenter(void 0,{granularity:"word"});return Array.from(n.segment(e)).map((function(e){return e.segment}))}return bI(e,t)}(e,t)},TI=[32,160,4961,65792,65793,4153,4241],bI=function(e,t){for(var n,r=function(e,t){var n=Kp(e),r=jA(n,t),i=r[0],a=r[1],s=r[2],o=n.length,l=0,u=0;return{next:function(){if(u>=o)return{done:!0,value:null};for(var e="×";u0)if(II.SUPPORT_RANGE_BOUNDS){var i=wI(r,s,t.length).getClientRects();if(i.length>1){var o=gI(t),l=0;o.forEach((function(t){a.push(new yI(t,Wp.fromDOMRectList(e,wI(r,l+s,t.length).getClientRects()))),l+=t.length}))}else a.push(new yI(t,Wp.fromDOMRectList(e,i)))}else{var u=r.splitText(t.length);a.push(new yI(t,mI(e,r))),r=u}else II.SUPPORT_RANGE_BOUNDS||(r=r.splitText(t.length));s+=t.length})),a}(e,this.text,n,t)},PI=function(e,t){switch(t){case 1:return e.toLowerCase();case 3:return e.replace(RI,CI);case 2:return e.toUpperCase();default:return e}},RI=/(^|\s|:|-|\(|\))([a-z])/g,CI=function(e,t,n){return e.length>0?t+n.toUpperCase():e},_I=function(e){function t(t,n){var r=e.call(this,t,n)||this;return r.src=n.currentSrc||n.src,r.intrinsicWidth=n.naturalWidth,r.intrinsicHeight=n.naturalHeight,r.context.cache.addImage(r.src),r}return Gp(t,e),t}(Xh),BI=function(e){function t(t,n){var r=e.call(this,t,n)||this;return r.canvas=n,r.intrinsicWidth=n.width,r.intrinsicHeight=n.height,r}return Gp(t,e),t}(Xh),OI=function(e){function t(t,n){var r=e.call(this,t,n)||this,i=new XMLSerializer,a=zp(t,n);return n.setAttribute("width",a.width+"px"),n.setAttribute("height",a.height+"px"),r.svg="data:image/svg+xml,"+encodeURIComponent(i.serializeToString(n)),r.intrinsicWidth=n.width.baseVal.value,r.intrinsicHeight=n.height.baseVal.value,r.context.cache.addImage(r.svg),r}return Gp(t,e),t}(Xh),SI=function(e){function t(t,n){var r=e.call(this,t,n)||this;return r.value=n.value,r}return Gp(t,e),t}(Xh),NI=function(e){function t(t,n){var r=e.call(this,t,n)||this;return r.start=n.start,r.reversed="boolean"==typeof n.reversed&&!0===n.reversed,r}return Gp(t,e),t}(Xh),LI=[{type:15,flags:0,unit:"px",number:3}],xI=[{type:16,flags:0,number:50}],MI="password",FI=function(e){function t(t,n){var r,i=e.call(this,t,n)||this;switch(i.type=n.type.toLowerCase(),i.checked=n.checked,i.value=function(e){var t=e.type===MI?new Array(e.value.length+1).join("•"):e.value;return 0===t.length?e.placeholder||"":t}(n),"checkbox"!==i.type&&"radio"!==i.type||(i.styles.backgroundColor=3739148031,i.styles.borderTopColor=i.styles.borderRightColor=i.styles.borderBottomColor=i.styles.borderLeftColor=2779096575,i.styles.borderTopWidth=i.styles.borderRightWidth=i.styles.borderBottomWidth=i.styles.borderLeftWidth=1,i.styles.borderTopStyle=i.styles.borderRightStyle=i.styles.borderBottomStyle=i.styles.borderLeftStyle=1,i.styles.backgroundClip=[0],i.styles.backgroundOrigin=[0],i.bounds=(r=i.bounds).width>r.height?new Wp(r.left+(r.width-r.height)/2,r.top,r.height,r.height):r.width0)r.textNodes.push(new DI(t,a,r.styles));else if(YI(a))if(uy(a)&&a.assignedNodes)a.assignedNodes().forEach((function(n){return e(t,n,r,i)}));else{var o=VI(t,a);o.styles.isVisible()&&(WI(a,o,i)?o.flags|=4:zI(o.styles)&&(o.flags|=2),-1!==kI.indexOf(a.tagName)&&(o.flags|=8),r.elements.push(o),a.slot,a.shadowRoot?e(t,a.shadowRoot,o,i):oy(a)||ey(a)||ly(a)||e(t,a,o,i))}},VI=function(e,t){return iy(t)?new _I(e,t):ny(t)?new BI(e,t):ey(t)?new OI(e,t):JI(t)?new SI(e,t):ZI(t)?new NI(e,t):$I(t)?new FI(e,t):ly(t)?new HI(e,t):oy(t)?new UI(e,t):ay(t)?new GI(e,t):new Xh(e,t)},QI=function(e,t){var n=VI(e,t);return n.flags|=4,jI(e,t,n,n),n},WI=function(e,t,n){return t.styles.isPositionedWithZIndex()||t.styles.opacity<1||t.styles.isTransformed()||ty(e)&&n.styles.isTransparent()},zI=function(e){return e.isPositioned()||e.isFloating()},KI=function(e){return e.nodeType===Node.TEXT_NODE},YI=function(e){return e.nodeType===Node.ELEMENT_NODE},XI=function(e){return YI(e)&&void 0!==e.style&&!qI(e)},qI=function(e){return"object"===T(e.className)},JI=function(e){return"LI"===e.tagName},ZI=function(e){return"OL"===e.tagName},$I=function(e){return"INPUT"===e.tagName},ey=function(e){return"svg"===e.tagName},ty=function(e){return"BODY"===e.tagName},ny=function(e){return"CANVAS"===e.tagName},ry=function(e){return"VIDEO"===e.tagName},iy=function(e){return"IMG"===e.tagName},ay=function(e){return"IFRAME"===e.tagName},sy=function(e){return"STYLE"===e.tagName},oy=function(e){return"TEXTAREA"===e.tagName},ly=function(e){return"SELECT"===e.tagName},uy=function(e){return"SLOT"===e.tagName},cy=function(e){return e.tagName.indexOf("-")>0},fy=function(){function e(){this.counters={}}return e.prototype.getCounterValue=function(e){var t=this.counters[e];return t&&t.length?t[t.length-1]:1},e.prototype.getCounterValues=function(e){var t=this.counters[e];return t||[]},e.prototype.pop=function(e){var t=this;e.forEach((function(e){return t.counters[e].pop()}))},e.prototype.parse=function(e){var t=this,n=e.counterIncrement,r=e.counterReset,i=!0;null!==n&&n.forEach((function(e){var n=t.counters[e.counter];n&&0!==e.increment&&(i=!1,n.length||n.push(1),n[Math.max(0,n.length-1)]+=e.increment)}));var a=[];return i&&r.forEach((function(e){var n=t.counters[e.counter];a.push(e.counter),n||(n=t.counters[e.counter]=[]),n.push(e.reset)})),a},e}(),py={integers:[1e3,900,500,400,100,90,50,40,10,9,5,4,1],values:["M","CM","D","CD","C","XC","L","XL","X","IX","V","IV","I"]},Ay={integers:[9e3,8e3,7e3,6e3,5e3,4e3,3e3,2e3,1e3,900,800,700,600,500,400,300,200,100,90,80,70,60,50,40,30,20,10,9,8,7,6,5,4,3,2,1],values:["Ք","Փ","Ւ","Ց","Ր","Տ","Վ","Ս","Ռ","Ջ","Պ","Չ","Ո","Շ","Ն","Յ","Մ","Ճ","Ղ","Ձ","Հ","Կ","Ծ","Խ","Լ","Ի","Ժ","Թ","Ը","Է","Զ","Ե","Դ","Գ","Բ","Ա"]},dy={integers:[1e4,9e3,8e3,7e3,6e3,5e3,4e3,3e3,2e3,1e3,400,300,200,100,90,80,70,60,50,40,30,20,19,18,17,16,15,10,9,8,7,6,5,4,3,2,1],values:["י׳","ט׳","ח׳","ז׳","ו׳","ה׳","ד׳","ג׳","ב׳","א׳","ת","ש","ר","ק","צ","פ","ע","ס","נ","מ","ל","כ","יט","יח","יז","טז","טו","י","ט","ח","ז","ו","ה","ד","ג","ב","א"]},vy={integers:[1e4,9e3,8e3,7e3,6e3,5e3,4e3,3e3,2e3,1e3,900,800,700,600,500,400,300,200,100,90,80,70,60,50,40,30,20,10,9,8,7,6,5,4,3,2,1],values:["ჵ","ჰ","ჯ","ჴ","ხ","ჭ","წ","ძ","ც","ჩ","შ","ყ","ღ","ქ","ფ","ჳ","ტ","ს","რ","ჟ","პ","ო","ჲ","ნ","მ","ლ","კ","ი","თ","ჱ","ზ","ვ","ე","დ","გ","ბ","ა"]},hy=function(e,t,n,r,i,a){return en?gy(e,i,a.length>0):r.integers.reduce((function(t,n,i){for(;e>=n;)e-=n,t+=r.values[i];return t}),"")+a},Iy=function(e,t,n,r){var i="";do{n||e--,i=r(e)+i,e/=t}while(e*t>=t);return i},yy=function(e,t,n,r,i){var a=n-t+1;return(e<0?"-":"")+(Iy(Math.abs(e),a,r,(function(e){return Yp(Math.floor(e%a)+t)}))+i)},my=function(e,t,n){void 0===n&&(n=". ");var r=t.length;return Iy(Math.abs(e),r,!1,(function(e){return t[Math.floor(e%r)]}))+n},wy=function(e,t,n,r,i,a){if(e<-9999||e>9999)return gy(e,4,i.length>0);var s=Math.abs(e),o=i;if(0===s)return t[0]+o;for(var l=0;s>0&&l<=4;l++){var u=s%10;0===u&&Nh(a,1)&&""!==o?o=t[u]+o:u>1||1===u&&0===l||1===u&&1===l&&Nh(a,2)||1===u&&1===l&&Nh(a,4)&&e>100||1===u&&l>1&&Nh(a,8)?o=t[u]+(l>0?n[l-1]:"")+o:1===u&&l>0&&(o=n[l-1]+o),s=Math.floor(s/10)}return(e<0?r:"")+o},gy=function(e,t,n){var r=n?". ":"",i=n?"、":"",a=n?", ":"",s=n?" ":"";switch(t){case 0:return"•"+s;case 1:return"◦"+s;case 2:return"◾"+s;case 5:var o=yy(e,48,57,!0,r);return o.length<4?"0"+o:o;case 4:return my(e,"〇一二三四五六七八九",i);case 6:return hy(e,1,3999,py,3,r).toLowerCase();case 7:return hy(e,1,3999,py,3,r);case 8:return yy(e,945,969,!1,r);case 9:return yy(e,97,122,!1,r);case 10:return yy(e,65,90,!1,r);case 11:return yy(e,1632,1641,!0,r);case 12:case 49:return hy(e,1,9999,Ay,3,r);case 35:return hy(e,1,9999,Ay,3,r).toLowerCase();case 13:return yy(e,2534,2543,!0,r);case 14:case 30:return yy(e,6112,6121,!0,r);case 15:return my(e,"子丑寅卯辰巳午未申酉戌亥",i);case 16:return my(e,"甲乙丙丁戊己庚辛壬癸",i);case 17:case 48:return wy(e,"零一二三四五六七八九","十百千萬","負",i,14);case 47:return wy(e,"零壹貳參肆伍陸柒捌玖","拾佰仟萬","負",i,15);case 42:return wy(e,"零一二三四五六七八九","十百千萬","负",i,14);case 41:return wy(e,"零壹贰叁肆伍陆柒捌玖","拾佰仟萬","负",i,15);case 26:return wy(e,"〇一二三四五六七八九","十百千万","マイナス",i,0);case 25:return wy(e,"零壱弐参四伍六七八九","拾百千万","マイナス",i,7);case 31:return wy(e,"영일이삼사오육칠팔구","십백천만","마이너스",a,7);case 33:return wy(e,"零一二三四五六七八九","十百千萬","마이너스",a,0);case 32:return wy(e,"零壹貳參四五六七八九","拾百千","마이너스",a,7);case 18:return yy(e,2406,2415,!0,r);case 20:return hy(e,1,19999,vy,3,r);case 21:return yy(e,2790,2799,!0,r);case 22:return yy(e,2662,2671,!0,r);case 22:return hy(e,1,10999,dy,3,r);case 23:return my(e,"あいうえおかきくけこさしすせそたちつてとなにぬねのはひふへほまみむめもやゆよらりるれろわゐゑをん");case 24:return my(e,"いろはにほへとちりぬるをわかよたれそつねならむうゐのおくやまけふこえてあさきゆめみしゑひもせす");case 27:return yy(e,3302,3311,!0,r);case 28:return my(e,"アイウエオカキクケコサシスセソタチツテトナニヌネノハヒフヘホマミムメモヤユヨラリルレロワヰヱヲン",i);case 29:return my(e,"イロハニホヘトチリヌルヲワカヨタレソツネナラムウヰノオクヤマケフコエテアサキユメミシヱヒモセス",i);case 34:return yy(e,3792,3801,!0,r);case 37:return yy(e,6160,6169,!0,r);case 38:return yy(e,4160,4169,!0,r);case 39:return yy(e,2918,2927,!0,r);case 40:return yy(e,1776,1785,!0,r);case 43:return yy(e,3046,3055,!0,r);case 44:return yy(e,3174,3183,!0,r);case 45:return yy(e,3664,3673,!0,r);case 46:return yy(e,3872,3881,!0,r);default:return yy(e,48,57,!0,r)}},Ey=function(){function e(e,t,n){if(this.context=e,this.options=n,this.scrolledElements=[],this.referenceElement=t,this.counters=new fy,this.quoteDepth=0,!t.ownerDocument)throw new Error("Cloned element does not have an owner document");this.documentElement=this.cloneNode(t.ownerDocument.documentElement,!1)}return e.prototype.toIFrame=function(e,t){var n=this,r=by(e,t);if(!r.contentWindow)return Promise.reject("Unable to find iframe window");var i=e.defaultView.pageXOffset,a=e.defaultView.pageYOffset,s=r.contentWindow,o=s.document,l=Ry(r).then((function(){return jp(n,void 0,void 0,(function(){var e,n;return Vp(this,(function(i){switch(i.label){case 0:return this.scrolledElements.forEach(Sy),s&&(s.scrollTo(t.left,t.top),!/(iPad|iPhone|iPod)/g.test(navigator.userAgent)||s.scrollY===t.top&&s.scrollX===t.left||(this.context.logger.warn("Unable to restore scroll position for cloned document"),this.context.windowBounds=this.context.windowBounds.add(s.scrollX-t.left,s.scrollY-t.top,0,0))),e=this.options.onclone,void 0===(n=this.clonedReferenceElement)?[2,Promise.reject("Error finding the "+this.referenceElement.nodeName+" in the cloned document")]:o.fonts&&o.fonts.ready?[4,o.fonts.ready]:[3,2];case 1:i.sent(),i.label=2;case 2:return/(AppleWebKit)/g.test(navigator.userAgent)?[4,Py(o)]:[3,4];case 3:i.sent(),i.label=4;case 4:return"function"==typeof e?[2,Promise.resolve().then((function(){return e(o,n)})).then((function(){return r}))]:[2,r]}}))}))}));return o.open(),o.write(By(document.doctype)+""),Oy(this.referenceElement.ownerDocument,i,a),o.replaceChild(o.adoptNode(this.documentElement),o.documentElement),o.close(),l},e.prototype.createElementClone=function(e){if(Yh(e,2),ny(e))return this.createCanvasClone(e);if(ry(e))return this.createVideoClone(e);if(sy(e))return this.createStyleClone(e);var t=e.cloneNode(!1);return iy(t)&&(iy(e)&&e.currentSrc&&e.currentSrc!==e.src&&(t.src=e.currentSrc,t.srcset=""),"lazy"===t.loading&&(t.loading="eager")),cy(t)?this.createCustomElementClone(t):t},e.prototype.createCustomElementClone=function(e){var t=document.createElement("html2canvascustomelement");return _y(e.style,t),t},e.prototype.createStyleClone=function(e){try{var t=e.sheet;if(t&&t.cssRules){var n=[].slice.call(t.cssRules,0).reduce((function(e,t){return t&&"string"==typeof t.cssText?e+t.cssText:e}),""),r=e.cloneNode(!1);return r.textContent=n,r}}catch(e){if(this.context.logger.error("Unable to access cssRules property",e),"SecurityError"!==e.name)throw e}return e.cloneNode(!1)},e.prototype.createCanvasClone=function(e){var t;if(this.options.inlineImages&&e.ownerDocument){var n=e.ownerDocument.createElement("img");try{return n.src=e.toDataURL(),n}catch(t){this.context.logger.info("Unable to inline canvas contents, canvas is tainted",e)}}var r=e.cloneNode(!1);try{r.width=e.width,r.height=e.height;var i=e.getContext("2d"),a=r.getContext("2d");if(a)if(!this.options.allowTaint&&i)a.putImageData(i.getImageData(0,0,e.width,e.height),0,0);else{var s=null!==(t=e.getContext("webgl2"))&&void 0!==t?t:e.getContext("webgl");if(s){var o=s.getContextAttributes();!1===(null==o?void 0:o.preserveDrawingBuffer)&&this.context.logger.warn("Unable to clone WebGL context as it has preserveDrawingBuffer=false",e)}a.drawImage(e,0,0)}return r}catch(t){this.context.logger.info("Unable to clone canvas as it is tainted",e)}return r},e.prototype.createVideoClone=function(e){var t=e.ownerDocument.createElement("canvas");t.width=e.offsetWidth,t.height=e.offsetHeight;var n=t.getContext("2d");try{return n&&(n.drawImage(e,0,0,t.width,t.height),this.options.allowTaint||n.getImageData(0,0,t.width,t.height)),t}catch(t){this.context.logger.info("Unable to clone video as it is tainted",e)}var r=e.ownerDocument.createElement("canvas");return r.width=e.offsetWidth,r.height=e.offsetHeight,r},e.prototype.appendChildNode=function(e,t,n){YI(t)&&(function(e){return"SCRIPT"===e.tagName}(t)||t.hasAttribute("data-html2canvas-ignore")||"function"==typeof this.options.ignoreElements&&this.options.ignoreElements(t))||this.options.copyStyles&&YI(t)&&sy(t)||e.appendChild(this.cloneNode(t,n))},e.prototype.cloneChildNodes=function(e,t,n){for(var r=this,i=e.shadowRoot?e.shadowRoot.firstChild:e.firstChild;i;i=i.nextSibling)if(YI(i)&&uy(i)&&"function"==typeof i.assignedNodes){var a=i.assignedNodes();a.length&&a.forEach((function(e){return r.appendChildNode(t,e,n)}))}else this.appendChildNode(t,i,n)},e.prototype.cloneNode=function(e,t){if(KI(e))return document.createTextNode(e.data);if(!e.ownerDocument)return e.cloneNode(!1);var n=e.ownerDocument.defaultView;if(n&&YI(e)&&(XI(e)||qI(e))){var r=this.createElementClone(e);r.style.transitionProperty="none";var i=n.getComputedStyle(e),a=n.getComputedStyle(e,":before"),s=n.getComputedStyle(e,":after");this.referenceElement===e&&XI(r)&&(this.clonedReferenceElement=r),ty(r)&&xy(r);var o=this.counters.parse(new zh(this.context,i)),l=this.resolvePseudoContent(e,r,a,iI.BEFORE);cy(e)&&(t=!0),ry(e)||this.cloneChildNodes(e,r,t),l&&r.insertBefore(l,r.firstChild);var u=this.resolvePseudoContent(e,r,s,iI.AFTER);return u&&r.appendChild(u),this.counters.pop(o),(i&&(this.options.copyStyles||qI(e))&&!ay(e)||t)&&_y(i,r),0===e.scrollTop&&0===e.scrollLeft||this.scrolledElements.push([r,e.scrollLeft,e.scrollTop]),(oy(e)||ly(e))&&(oy(r)||ly(r))&&(r.value=e.value),r}return e.cloneNode(!1)},e.prototype.resolvePseudoContent=function(e,t,n,r){var i=this;if(n){var a=n.content,s=t.ownerDocument;if(s&&a&&"none"!==a&&"-moz-alt-content"!==a&&"none"!==n.display){this.counters.parse(new zh(this.context,n));var o=new Wh(this.context,n),l=s.createElement("html2canvaspseudoelement");_y(n,l),o.content.forEach((function(t){if(0===t.type)l.appendChild(s.createTextNode(t.value));else if(22===t.type){var n=s.createElement("img");n.src=t.value,n.style.opacity="1",l.appendChild(n)}else if(18===t.type){if("attr"===t.name){var r=t.values.filter(Dd);r.length&&l.appendChild(s.createTextNode(e.getAttribute(r[0].value)||""))}else if("counter"===t.name){var a=t.values.filter(_d),u=a[0],c=a[1];if(u&&Dd(u)){var f=i.counters.getCounterValue(u.value),p=c&&Dd(c)?$v.parse(i.context,c.value):3;l.appendChild(s.createTextNode(gy(f,p,!1)))}}else if("counters"===t.name){var A=t.values.filter(_d),d=(u=A[0],A[1]);c=A[2];if(u&&Dd(u)){var v=i.counters.getCounterValues(u.value),h=c&&Dd(c)?$v.parse(i.context,c.value):3,I=d&&0===d.type?d.value:"",y=v.map((function(e){return gy(e,h,!1)})).join(I);l.appendChild(s.createTextNode(y))}}}else if(20===t.type)switch(t.value){case"open-quote":l.appendChild(s.createTextNode(Uh(o.quotes,i.quoteDepth++,!0)));break;case"close-quote":l.appendChild(s.createTextNode(Uh(o.quotes,--i.quoteDepth,!1)));break;default:l.appendChild(s.createTextNode(t.value))}})),l.className=Ny+" "+Ly;var u=r===iI.BEFORE?" "+Ny:" "+Ly;return qI(t)?t.className.baseValue+=u:t.className+=u,l}}},e.destroy=function(e){return!!e.parentNode&&(e.parentNode.removeChild(e),!0)},e}();!function(e){e[e.BEFORE=0]="BEFORE",e[e.AFTER=1]="AFTER"}(iI||(iI={}));var Ty,by=function(e,t){var n=e.createElement("iframe");return n.className="html2canvas-container",n.style.visibility="hidden",n.style.position="fixed",n.style.left="-10000px",n.style.top="0px",n.style.border="0",n.width=t.width.toString(),n.height=t.height.toString(),n.scrolling="no",n.setAttribute("data-html2canvas-ignore","true"),e.body.appendChild(n),n},Dy=function(e){return new Promise((function(t){e.complete?t():e.src?(e.onload=t,e.onerror=t):t()}))},Py=function(e){return Promise.all([].slice.call(e.images,0).map(Dy))},Ry=function(e){return new Promise((function(t,n){var r=e.contentWindow;if(!r)return n("No window assigned for iframe");var i=r.document;r.onload=e.onload=function(){r.onload=e.onload=null;var n=setInterval((function(){i.body.childNodes.length>0&&"complete"===i.readyState&&(clearInterval(n),t(e))}),50)}}))},Cy=["all","d","content"],_y=function(e,t){for(var n=e.length-1;n>=0;n--){var r=e.item(n);-1===Cy.indexOf(r)&&t.style.setProperty(r,e.getPropertyValue(r))}return t},By=function(e){var t="";return e&&(t+=""),t},Oy=function(e,t,n){e&&e.defaultView&&(t!==e.defaultView.pageXOffset||n!==e.defaultView.pageYOffset)&&e.defaultView.scrollTo(t,n)},Sy=function(e){var t=e[0],n=e[1],r=e[2];t.scrollLeft=n,t.scrollTop=r},Ny="___html2canvas___pseudoelement_before",Ly="___html2canvas___pseudoelement_after",xy=function(e){My(e,"."+Ny+':before{\n content: "" !important;\n display: none !important;\n}\n .'+Ly+':after{\n content: "" !important;\n display: none !important;\n}')},My=function(e,t){var n=e.ownerDocument;if(n){var r=n.createElement("style");r.textContent=t,e.appendChild(r)}},Fy=function(){function e(){}return e.getOrigin=function(t){var n=e._link;return n?(n.href=t,n.href=n.href,n.protocol+n.hostname+n.port):"about:blank"},e.isSameOrigin=function(t){return e.getOrigin(t)===e._origin},e.setContext=function(t){e._link=t.document.createElement("a"),e._origin=e.getOrigin(t.location.href)},e._origin="about:blank",e}(),Hy=function(){function e(e,t){this.context=e,this._options=t,this._cache={}}return e.prototype.addImage=function(e){var t=Promise.resolve();return this.has(e)?t:Wy(e)||jy(e)?((this._cache[e]=this.loadImage(e)).catch((function(){})),t):t},e.prototype.match=function(e){return this._cache[e]},e.prototype.loadImage=function(e){return jp(this,void 0,void 0,(function(){var t,n,r,i,a=this;return Vp(this,(function(s){switch(s.label){case 0:return t=Fy.isSameOrigin(e),n=!Vy(e)&&!0===this._options.useCORS&&II.SUPPORT_CORS_IMAGES&&!t,r=!Vy(e)&&!t&&!Wy(e)&&"string"==typeof this._options.proxy&&II.SUPPORT_CORS_XHR&&!n,t||!1!==this._options.allowTaint||Vy(e)||Wy(e)||r||n?(i=e,r?[4,this.proxy(i)]:[3,2]):[2];case 1:i=s.sent(),s.label=2;case 2:return this.context.logger.debug("Added image "+e.substring(0,256)),[4,new Promise((function(e,t){var r=new Image;r.onload=function(){return e(r)},r.onerror=t,(Qy(i)||n)&&(r.crossOrigin="anonymous"),r.src=i,!0===r.complete&&setTimeout((function(){return e(r)}),500),a._options.imageTimeout>0&&setTimeout((function(){return t("Timed out ("+a._options.imageTimeout+"ms) loading image")}),a._options.imageTimeout)}))];case 3:return[2,s.sent()]}}))}))},e.prototype.has=function(e){return void 0!==this._cache[e]},e.prototype.keys=function(){return Promise.resolve(Object.keys(this._cache))},e.prototype.proxy=function(e){var t=this,n=this._options.proxy;if(!n)throw new Error("No proxy defined");var r=e.substring(0,256);return new Promise((function(i,a){var s=II.SUPPORT_RESPONSE_TYPE?"blob":"text",o=new XMLHttpRequest;o.onload=function(){if(200===o.status)if("text"===s)i(o.response);else{var e=new FileReader;e.addEventListener("load",(function(){return i(e.result)}),!1),e.addEventListener("error",(function(e){return a(e)}),!1),e.readAsDataURL(o.response)}else a("Failed to proxy resource "+r+" with status code "+o.status)},o.onerror=a;var l=n.indexOf("?")>-1?"&":"?";if(o.open("GET",""+n+l+"url="+encodeURIComponent(e)+"&responseType="+s),"text"!==s&&o instanceof XMLHttpRequest&&(o.responseType=s),t._options.imageTimeout){var u=t._options.imageTimeout;o.timeout=u,o.ontimeout=function(){return a("Timed out ("+u+"ms) proxying "+r)}}o.send()}))},e}(),Uy=/^data:image\/svg\+xml/i,Gy=/^data:image\/.*;base64,/i,ky=/^data:image\/.*/i,jy=function(e){return II.SUPPORT_SVG_DRAWING||!zy(e)},Vy=function(e){return ky.test(e)},Qy=function(e){return Gy.test(e)},Wy=function(e){return"blob"===e.substr(0,4)},zy=function(e){return"svg"===e.substr(-3).toLowerCase()||Uy.test(e)},Ky=function(){function e(e,t){this.type=0,this.x=e,this.y=t}return e.prototype.add=function(t,n){return new e(this.x+t,this.y+n)},e}(),Yy=function(e,t,n){return new Ky(e.x+(t.x-e.x)*n,e.y+(t.y-e.y)*n)},Xy=function(){function e(e,t,n,r){this.type=1,this.start=e,this.startControl=t,this.endControl=n,this.end=r}return e.prototype.subdivide=function(t,n){var r=Yy(this.start,this.startControl,t),i=Yy(this.startControl,this.endControl,t),a=Yy(this.endControl,this.end,t),s=Yy(r,i,t),o=Yy(i,a,t),l=Yy(s,o,t);return n?new e(this.start,r,s,l):new e(l,o,a,this.end)},e.prototype.add=function(t,n){return new e(this.start.add(t,n),this.startControl.add(t,n),this.endControl.add(t,n),this.end.add(t,n))},e.prototype.reverse=function(){return new e(this.end,this.endControl,this.startControl,this.start)},e}(),qy=function(e){return 1===e.type},Jy=function(e){var t=e.styles,n=e.bounds,r=Hd(t.borderTopLeftRadius,n.width,n.height),i=r[0],a=r[1],s=Hd(t.borderTopRightRadius,n.width,n.height),o=s[0],l=s[1],u=Hd(t.borderBottomRightRadius,n.width,n.height),c=u[0],f=u[1],p=Hd(t.borderBottomLeftRadius,n.width,n.height),A=p[0],d=p[1],v=[];v.push((i+o)/n.width),v.push((A+c)/n.width),v.push((a+d)/n.height),v.push((l+f)/n.height);var h=Math.max.apply(Math,v);h>1&&(i/=h,a/=h,o/=h,l/=h,c/=h,f/=h,A/=h,d/=h);var I=n.width-o,y=n.height-f,m=n.width-c,w=n.height-d,g=t.borderTopWidth,E=t.borderRightWidth,T=t.borderBottomWidth,b=t.borderLeftWidth,D=Ud(t.paddingTop,e.bounds.width),P=Ud(t.paddingRight,e.bounds.width),R=Ud(t.paddingBottom,e.bounds.width),C=Ud(t.paddingLeft,e.bounds.width);this.topLeftBorderDoubleOuterBox=i>0||a>0?Zy(n.left+b/3,n.top+g/3,i-b/3,a-g/3,Ty.TOP_LEFT):new Ky(n.left+b/3,n.top+g/3),this.topRightBorderDoubleOuterBox=i>0||a>0?Zy(n.left+I,n.top+g/3,o-E/3,l-g/3,Ty.TOP_RIGHT):new Ky(n.left+n.width-E/3,n.top+g/3),this.bottomRightBorderDoubleOuterBox=c>0||f>0?Zy(n.left+m,n.top+y,c-E/3,f-T/3,Ty.BOTTOM_RIGHT):new Ky(n.left+n.width-E/3,n.top+n.height-T/3),this.bottomLeftBorderDoubleOuterBox=A>0||d>0?Zy(n.left+b/3,n.top+w,A-b/3,d-T/3,Ty.BOTTOM_LEFT):new Ky(n.left+b/3,n.top+n.height-T/3),this.topLeftBorderDoubleInnerBox=i>0||a>0?Zy(n.left+2*b/3,n.top+2*g/3,i-2*b/3,a-2*g/3,Ty.TOP_LEFT):new Ky(n.left+2*b/3,n.top+2*g/3),this.topRightBorderDoubleInnerBox=i>0||a>0?Zy(n.left+I,n.top+2*g/3,o-2*E/3,l-2*g/3,Ty.TOP_RIGHT):new Ky(n.left+n.width-2*E/3,n.top+2*g/3),this.bottomRightBorderDoubleInnerBox=c>0||f>0?Zy(n.left+m,n.top+y,c-2*E/3,f-2*T/3,Ty.BOTTOM_RIGHT):new Ky(n.left+n.width-2*E/3,n.top+n.height-2*T/3),this.bottomLeftBorderDoubleInnerBox=A>0||d>0?Zy(n.left+2*b/3,n.top+w,A-2*b/3,d-2*T/3,Ty.BOTTOM_LEFT):new Ky(n.left+2*b/3,n.top+n.height-2*T/3),this.topLeftBorderStroke=i>0||a>0?Zy(n.left+b/2,n.top+g/2,i-b/2,a-g/2,Ty.TOP_LEFT):new Ky(n.left+b/2,n.top+g/2),this.topRightBorderStroke=i>0||a>0?Zy(n.left+I,n.top+g/2,o-E/2,l-g/2,Ty.TOP_RIGHT):new Ky(n.left+n.width-E/2,n.top+g/2),this.bottomRightBorderStroke=c>0||f>0?Zy(n.left+m,n.top+y,c-E/2,f-T/2,Ty.BOTTOM_RIGHT):new Ky(n.left+n.width-E/2,n.top+n.height-T/2),this.bottomLeftBorderStroke=A>0||d>0?Zy(n.left+b/2,n.top+w,A-b/2,d-T/2,Ty.BOTTOM_LEFT):new Ky(n.left+b/2,n.top+n.height-T/2),this.topLeftBorderBox=i>0||a>0?Zy(n.left,n.top,i,a,Ty.TOP_LEFT):new Ky(n.left,n.top),this.topRightBorderBox=o>0||l>0?Zy(n.left+I,n.top,o,l,Ty.TOP_RIGHT):new Ky(n.left+n.width,n.top),this.bottomRightBorderBox=c>0||f>0?Zy(n.left+m,n.top+y,c,f,Ty.BOTTOM_RIGHT):new Ky(n.left+n.width,n.top+n.height),this.bottomLeftBorderBox=A>0||d>0?Zy(n.left,n.top+w,A,d,Ty.BOTTOM_LEFT):new Ky(n.left,n.top+n.height),this.topLeftPaddingBox=i>0||a>0?Zy(n.left+b,n.top+g,Math.max(0,i-b),Math.max(0,a-g),Ty.TOP_LEFT):new Ky(n.left+b,n.top+g),this.topRightPaddingBox=o>0||l>0?Zy(n.left+Math.min(I,n.width-E),n.top+g,I>n.width+E?0:Math.max(0,o-E),Math.max(0,l-g),Ty.TOP_RIGHT):new Ky(n.left+n.width-E,n.top+g),this.bottomRightPaddingBox=c>0||f>0?Zy(n.left+Math.min(m,n.width-b),n.top+Math.min(y,n.height-T),Math.max(0,c-E),Math.max(0,f-T),Ty.BOTTOM_RIGHT):new Ky(n.left+n.width-E,n.top+n.height-T),this.bottomLeftPaddingBox=A>0||d>0?Zy(n.left+b,n.top+Math.min(w,n.height-T),Math.max(0,A-b),Math.max(0,d-T),Ty.BOTTOM_LEFT):new Ky(n.left+b,n.top+n.height-T),this.topLeftContentBox=i>0||a>0?Zy(n.left+b+C,n.top+g+D,Math.max(0,i-(b+C)),Math.max(0,a-(g+D)),Ty.TOP_LEFT):new Ky(n.left+b+C,n.top+g+D),this.topRightContentBox=o>0||l>0?Zy(n.left+Math.min(I,n.width+b+C),n.top+g+D,I>n.width+b+C?0:o-b+C,l-(g+D),Ty.TOP_RIGHT):new Ky(n.left+n.width-(E+P),n.top+g+D),this.bottomRightContentBox=c>0||f>0?Zy(n.left+Math.min(m,n.width-(b+C)),n.top+Math.min(y,n.height+g+D),Math.max(0,c-(E+P)),f-(T+R),Ty.BOTTOM_RIGHT):new Ky(n.left+n.width-(E+P),n.top+n.height-(T+R)),this.bottomLeftContentBox=A>0||d>0?Zy(n.left+b+C,n.top+w,Math.max(0,A-(b+C)),d-(T+R),Ty.BOTTOM_LEFT):new Ky(n.left+b+C,n.top+n.height-(T+R))};!function(e){e[e.TOP_LEFT=0]="TOP_LEFT",e[e.TOP_RIGHT=1]="TOP_RIGHT",e[e.BOTTOM_RIGHT=2]="BOTTOM_RIGHT",e[e.BOTTOM_LEFT=3]="BOTTOM_LEFT"}(Ty||(Ty={}));var Zy=function(e,t,n,r,i){var a=(Math.sqrt(2)-1)/3*4,s=n*a,o=r*a,l=e+n,u=t+r;switch(i){case Ty.TOP_LEFT:return new Xy(new Ky(e,u),new Ky(e,u-o),new Ky(l-s,t),new Ky(l,t));case Ty.TOP_RIGHT:return new Xy(new Ky(e,t),new Ky(e+s,t),new Ky(l,u-o),new Ky(l,u));case Ty.BOTTOM_RIGHT:return new Xy(new Ky(l,t),new Ky(l,t+o),new Ky(e+s,u),new Ky(e,u));case Ty.BOTTOM_LEFT:default:return new Xy(new Ky(l,u),new Ky(l-s,u),new Ky(e,t+o),new Ky(e,t))}},$y=function(e){return[e.topLeftBorderBox,e.topRightBorderBox,e.bottomRightBorderBox,e.bottomLeftBorderBox]},em=function(e){return[e.topLeftPaddingBox,e.topRightPaddingBox,e.bottomRightPaddingBox,e.bottomLeftPaddingBox]},tm=function(e,t,n){this.offsetX=e,this.offsetY=t,this.matrix=n,this.type=0,this.target=6},nm=function(e,t){this.path=e,this.target=t,this.type=1},rm=function(e){this.opacity=e,this.type=2,this.target=6},im=function(e){return 1===e.type},am=function(e,t){return e.length===t.length&&e.some((function(e,n){return e===t[n]}))},sm=function(e){this.element=e,this.inlineLevel=[],this.nonInlineLevel=[],this.negativeZIndex=[],this.zeroOrAutoZIndexOrTransformedOrOpacity=[],this.positiveZIndex=[],this.nonPositionedFloats=[],this.nonPositionedInlineLevel=[]},om=function(){function e(e,t){if(this.container=e,this.parent=t,this.effects=[],this.curves=new Jy(this.container),this.container.styles.opacity<1&&this.effects.push(new rm(this.container.styles.opacity)),null!==this.container.styles.transform){var n=this.container.bounds.left+this.container.styles.transformOrigin[0].number,r=this.container.bounds.top+this.container.styles.transformOrigin[1].number,i=this.container.styles.transform;this.effects.push(new tm(n,r,i))}if(0!==this.container.styles.overflowX){var a=$y(this.curves),s=em(this.curves);am(a,s)?this.effects.push(new nm(a,6)):(this.effects.push(new nm(a,2)),this.effects.push(new nm(s,4)))}}return e.prototype.getEffects=function(e){for(var t=-1===[2,3].indexOf(this.container.styles.position),n=this.parent,r=this.effects.slice(0);n;){var i=n.effects.filter((function(e){return!im(e)}));if(t||0!==n.container.styles.position||!n.parent){if(r.unshift.apply(r,i),t=-1===[2,3].indexOf(n.container.styles.position),0!==n.container.styles.overflowX){var a=$y(n.curves),s=em(n.curves);am(a,s)||r.unshift(new nm(s,6))}}else r.unshift.apply(r,i);n=n.parent}return r.filter((function(t){return Nh(t.target,e)}))},e}(),lm=function e(t,n,r,i){t.container.elements.forEach((function(a){var s=Nh(a.flags,4),o=Nh(a.flags,2),l=new om(a,t);Nh(a.styles.display,2048)&&i.push(l);var u=Nh(a.flags,8)?[]:i;if(s||o){var c=s||a.styles.isPositioned()?r:n,f=new sm(l);if(a.styles.isPositioned()||a.styles.opacity<1||a.styles.isTransformed()){var p=a.styles.zIndex.order;if(p<0){var A=0;c.negativeZIndex.some((function(e,t){return p>e.element.container.styles.zIndex.order?(A=t,!1):A>0})),c.negativeZIndex.splice(A,0,f)}else if(p>0){var d=0;c.positiveZIndex.some((function(e,t){return p>=e.element.container.styles.zIndex.order?(d=t+1,!1):d>0})),c.positiveZIndex.splice(d,0,f)}else c.zeroOrAutoZIndexOrTransformedOrOpacity.push(f)}else a.styles.isFloating()?c.nonPositionedFloats.push(f):c.nonPositionedInlineLevel.push(f);e(l,f,s?f:r,u)}else a.styles.isInlineLevel()?n.inlineLevel.push(l):n.nonInlineLevel.push(l),e(l,n,r,u);Nh(a.flags,8)&&um(a,u)}))},um=function(e,t){for(var n=e instanceof NI?e.start:1,r=e instanceof NI&&e.reversed,i=0;i0&&e.intrinsicHeight>0){var r=vm(e),i=em(t);this.path(i),this.ctx.save(),this.ctx.clip(),this.ctx.drawImage(n,0,0,e.intrinsicWidth,e.intrinsicHeight,r.left,r.top,r.width,r.height),this.ctx.restore()}},t.prototype.renderNodeContent=function(e){return jp(this,void 0,void 0,(function(){var n,r,i,a,s,o,l,u,c,f,p,A,d,v,h,I,y,m;return Vp(this,(function(w){switch(w.label){case 0:this.applyEffects(e.getEffects(4)),n=e.container,r=e.curves,i=n.styles,a=0,s=n.textNodes,w.label=1;case 1:return a0&&T>0&&(I=r.ctx.createPattern(d,"repeat"),r.renderRepeat(m,I,D,P))):function(e){return 2===e.type}(n)&&(y=hm(e,t,[null,null,null]),m=y[0],w=y[1],g=y[2],E=y[3],T=y[4],b=0===n.position.length?[Md]:n.position,D=Ud(b[0],E),P=Ud(b[b.length-1],T),R=function(e,t,n,r,i){var a=0,s=0;switch(e.size){case 0:0===e.shape?a=s=Math.min(Math.abs(t),Math.abs(t-r),Math.abs(n),Math.abs(n-i)):1===e.shape&&(a=Math.min(Math.abs(t),Math.abs(t-r)),s=Math.min(Math.abs(n),Math.abs(n-i)));break;case 2:if(0===e.shape)a=s=Math.min(sv(t,n),sv(t,n-i),sv(t-r,n),sv(t-r,n-i));else if(1===e.shape){var o=Math.min(Math.abs(n),Math.abs(n-i))/Math.min(Math.abs(t),Math.abs(t-r)),l=ov(r,i,t,n,!0),u=l[0],c=l[1];s=o*(a=sv(u-t,(c-n)/o))}break;case 1:0===e.shape?a=s=Math.max(Math.abs(t),Math.abs(t-r),Math.abs(n),Math.abs(n-i)):1===e.shape&&(a=Math.max(Math.abs(t),Math.abs(t-r)),s=Math.max(Math.abs(n),Math.abs(n-i)));break;case 3:if(0===e.shape)a=s=Math.max(sv(t,n),sv(t,n-i),sv(t-r,n),sv(t-r,n-i));else if(1===e.shape){o=Math.max(Math.abs(n),Math.abs(n-i))/Math.max(Math.abs(t),Math.abs(t-r));var f=ov(r,i,t,n,!1);u=f[0],c=f[1],s=o*(a=sv(u-t,(c-n)/o))}}return Array.isArray(e.size)&&(a=Ud(e.size[0],r),s=2===e.size.length?Ud(e.size[1],i):a),[a,s]}(n,D,P,E,T),C=R[0],_=R[1],C>0&&_>0&&(B=r.ctx.createRadialGradient(w+D,g+P,0,w+D,g+P,C),iv(n.stops,2*C).forEach((function(e){return B.addColorStop(e.stop,zd(e.color))})),r.path(m),r.ctx.fillStyle=B,C!==_?(O=e.bounds.left+.5*e.bounds.width,S=e.bounds.top+.5*e.bounds.height,L=1/(N=_/C),r.ctx.save(),r.ctx.translate(O,S),r.ctx.transform(1,0,0,N,0,0),r.ctx.translate(-O,-S),r.ctx.fillRect(w,L*(g-S)+S,E,T*L),r.ctx.restore()):r.ctx.fill())),x.label=6;case 6:return t--,[2]}}))},r=this,i=0,a=e.styles.backgroundImage.slice(0).reverse(),o.label=1;case 1:return i0?2!==l.style?[3,5]:[4,this.renderDashedDottedBorder(l.color,l.width,a,e.curves,2)]:[3,11]:[3,13];case 4:return c.sent(),[3,11];case 5:return 3!==l.style?[3,7]:[4,this.renderDashedDottedBorder(l.color,l.width,a,e.curves,3)];case 6:return c.sent(),[3,11];case 7:return 4!==l.style?[3,9]:[4,this.renderDoubleBorder(l.color,l.width,a,e.curves)];case 8:return c.sent(),[3,11];case 9:return[4,this.renderSolidBorder(l.color,a,e.curves)];case 10:c.sent(),c.label=11;case 11:a++,c.label=12;case 12:return s++,[3,3];case 13:return[2]}}))}))},t.prototype.renderDashedDottedBorder=function(e,t,n,r,i){return jp(this,void 0,void 0,(function(){var a,s,o,l,u,c,f,p,A,d,v,h,I,y,m,w;return Vp(this,(function(g){return this.ctx.save(),a=function(e,t){switch(t){case 0:return pm(e.topLeftBorderStroke,e.topRightBorderStroke);case 1:return pm(e.topRightBorderStroke,e.bottomRightBorderStroke);case 2:return pm(e.bottomRightBorderStroke,e.bottomLeftBorderStroke);default:return pm(e.bottomLeftBorderStroke,e.topLeftBorderStroke)}}(r,n),s=fm(r,n),2===i&&(this.path(s),this.ctx.clip()),qy(s[0])?(o=s[0].start.x,l=s[0].start.y):(o=s[0].x,l=s[0].y),qy(s[1])?(u=s[1].end.x,c=s[1].end.y):(u=s[1].x,c=s[1].y),f=0===n||2===n?Math.abs(o-u):Math.abs(l-c),this.ctx.beginPath(),3===i?this.formatPath(a):this.formatPath(s.slice(0,2)),p=t<3?3*t:2*t,A=t<3?2*t:t,3===i&&(p=t,A=t),d=!0,f<=2*p?d=!1:f<=2*p+A?(p*=v=f/(2*p+A),A*=v):(h=Math.floor((f+A)/(p+A)),I=(f-h*p)/(h-1),A=(y=(f-(h+1)*p)/h)<=0||Math.abs(A-I)0&&void 0!==arguments[0]?arguments[0]:{},t=!this._snapshotBegun,n=void 0!==e.width&&void 0!==e.height,r=this.scene.canvas.canvas,i=r.clientWidth,a=r.clientHeight,s=e.width?Math.floor(e.width):r.width,o=e.height?Math.floor(e.height):r.height;n&&(r.width=s,r.height=o),this._snapshotBegun||this.beginSnapshot({width:s,height:o}),e.includeGizmos||this.sendToPlugins("snapshotStarting");for(var l={},u=0,c=this._plugins.length;u0&&void 0!==g[0]?g[0]:{},n=!this._snapshotBegun,r=void 0!==t.width&&void 0!==t.height,i=this.scene.canvas.canvas,a=i.clientWidth,s=i.clientHeight,l=t.width?Math.floor(t.width):i.width,u=t.height?Math.floor(t.height):i.height,r&&(i.width=l,i.height=u),this._snapshotBegun||this.beginSnapshot(),t.includeGizmos||this.sendToPlugins("snapshotStarting"),this.scene._renderer.renderSnapshot(),c=this.scene._renderer.readSnapshotAsCanvas(),r&&(i.width=a,i.height=s,this.scene.glRedraw()),f={},p=[],A=0,d=this._plugins.length;A1&&void 0!==arguments[1])||arguments[1],n=arguments.length>2?arguments[2]:void 0,r=n||new Set;if(e){if(nw(e))r.add(e);else if(nw(e.buffer))r.add(e.buffer);else if(ArrayBuffer.isView(e));else if(t&&"object"===T(e))for(var i in e)tw(e[i],t,r)}else;return void 0===n?Array.from(r):[]}function nw(e){return!!e&&(e instanceof ArrayBuffer||("undefined"!=typeof MessagePort&&e instanceof MessagePort||("undefined"!=typeof ImageBitmap&&e instanceof ImageBitmap||"undefined"!=typeof OffscreenCanvas&&e instanceof OffscreenCanvas)))}var rw=function(){},iw=function(){function e(t){b(this,e),Xm(this,"name",void 0),Xm(this,"source",void 0),Xm(this,"url",void 0),Xm(this,"terminated",!1),Xm(this,"worker",void 0),Xm(this,"onMessage",void 0),Xm(this,"onError",void 0),Xm(this,"_loadableURL","");var n=t.name,r=t.source,i=t.url;jm(r||i),this.name=n,this.source=r,this.url=i,this.onMessage=rw,this.onError=function(e){return console.log(e)},this.worker=Wm?this._createBrowserWorker():this._createNodeWorker()}return P(e,[{key:"destroy",value:function(){this.onMessage=rw,this.onError=rw,this.worker.terminate(),this.terminated=!0}},{key:"isRunning",get:function(){return Boolean(this.onMessage)}},{key:"postMessage",value:function(e,t){t=t||tw(e),this.worker.postMessage(e,t)}},{key:"_getErrorFromErrorEvent",value:function(e){var t="Failed to load ";return t+="worker ".concat(this.name," from ").concat(this.url,". "),e.message&&(t+="".concat(e.message," in ")),e.lineno&&(t+=":".concat(e.lineno,":").concat(e.colno)),new Error(t)}},{key:"_createBrowserWorker",value:function(){var e=this;this._loadableURL=$m({source:this.source,url:this.url});var t=new Worker(this._loadableURL,{name:this.name});return t.onmessage=function(t){t.data?e.onMessage(t.data):e.onError(new Error("No data received"))},t.onerror=function(t){e.onError(e._getErrorFromErrorEvent(t)),e.terminated=!0},t.onmessageerror=function(e){return console.error(e)},t}},{key:"_createNodeWorker",value:function(){var e,t=this;if(this.url){var n=this.url.includes(":/")||this.url.startsWith("/")?this.url:"./".concat(this.url);e=new Jm(n,{eval:!1})}else{if(!this.source)throw new Error("no worker");e=new Jm(this.source,{eval:!0})}return e.on("message",(function(e){t.onMessage(e)})),e.on("error",(function(e){t.onError(e)})),e.on("exit",(function(e){})),e}}],[{key:"isSupported",value:function(){return"undefined"!=typeof Worker&&Wm||void 0!==T(Jm)}}]),e}(),aw=function(){function e(t){b(this,e),Xm(this,"name","unnamed"),Xm(this,"source",void 0),Xm(this,"url",void 0),Xm(this,"maxConcurrency",1),Xm(this,"maxMobileConcurrency",1),Xm(this,"onDebug",(function(){})),Xm(this,"reuseWorkers",!0),Xm(this,"props",{}),Xm(this,"jobQueue",[]),Xm(this,"idleQueue",[]),Xm(this,"count",0),Xm(this,"isDestroyed",!1),this.source=t.source,this.url=t.url,this.setProps(t)}var t,n;return P(e,[{key:"destroy",value:function(){this.idleQueue.forEach((function(e){return e.destroy()})),this.isDestroyed=!0}},{key:"setProps",value:function(e){this.props=a(a({},this.props),e),void 0!==e.name&&(this.name=e.name),void 0!==e.maxConcurrency&&(this.maxConcurrency=e.maxConcurrency),void 0!==e.maxMobileConcurrency&&(this.maxMobileConcurrency=e.maxMobileConcurrency),void 0!==e.reuseWorkers&&(this.reuseWorkers=e.reuseWorkers),void 0!==e.onDebug&&(this.onDebug=e.onDebug)}},{key:"startJob",value:(n=u(o().mark((function e(t){var n,r,i,a=this,s=arguments;return o().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return n=s.length>1&&void 0!==s[1]?s[1]:function(e,t,n){return e.done(n)},r=s.length>2&&void 0!==s[2]?s[2]:function(e,t){return e.error(t)},i=new Promise((function(e){return a.jobQueue.push({name:t,onMessage:n,onError:r,onStart:e}),a})),this._startQueuedJob(),e.next=6,i;case 6:return e.abrupt("return",e.sent);case 7:case"end":return e.stop()}}),e,this)}))),function(e){return n.apply(this,arguments)})},{key:"_startQueuedJob",value:(t=u(o().mark((function e(){var t,n,r;return o().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(this.jobQueue.length){e.next=2;break}return e.abrupt("return");case 2:if(t=this._getAvailableWorker()){e.next=5;break}return e.abrupt("return");case 5:if(!(n=this.jobQueue.shift())){e.next=18;break}return this.onDebug({message:"Starting job",name:n.name,workerThread:t,backlog:this.jobQueue.length}),r=new qm(n.name,t),t.onMessage=function(e){return n.onMessage(r,e.type,e.payload)},t.onError=function(e){return n.onError(r,e)},n.onStart(r),e.prev=12,e.next=15,r.result;case 15:return e.prev=15,this.returnWorkerToQueue(t),e.finish(15);case 18:case"end":return e.stop()}}),e,this,[[12,,15,18]])}))),function(){return t.apply(this,arguments)})},{key:"returnWorkerToQueue",value:function(e){this.isDestroyed||!this.reuseWorkers||this.count>this._getMaxConcurrency()?(e.destroy(),this.count--):this.idleQueue.push(e),this.isDestroyed||this._startQueuedJob()}},{key:"_getAvailableWorker",value:function(){if(this.idleQueue.length>0)return this.idleQueue.shift()||null;if(this.count0&&void 0!==arguments[0]?arguments[0]:{};return e._workerFarm=e._workerFarm||new e({}),e._workerFarm.setProps(t),e._workerFarm}}]),e}();Xm(ow,"_workerFarm",void 0);function lw(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=t[e.id]||{},r="".concat(e.id,"-worker.js"),i=n.workerUrl;if(i||"compression"!==e.id||(i=t.workerUrl),"test"===t._workerType&&(i="modules/".concat(e.module,"/dist/").concat(r)),!i){var a=e.version;"latest"===a&&(a="latest");var s=a?"@".concat(a):"";i="https://unpkg.com/@loaders.gl/".concat(e.module).concat(s,"/dist/").concat(r)}return jm(i),i}function uw(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"3.2.6";jm(e,"no worker provided");var n=e.version;return!(!t||!n)}var cw=Object.freeze({__proto__:null,default:{}}),fw={};function pw(e){return Aw.apply(this,arguments)}function Aw(){return Aw=u(o().mark((function e(t){var n,r,i=arguments;return o().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return n=i.length>1&&void 0!==i[1]?i[1]:null,r=i.length>2&&void 0!==i[2]?i[2]:{},n&&(t=dw(t,n,r)),fw[t]=fw[t]||vw(t),e.next=6,fw[t];case 6:return e.abrupt("return",e.sent);case 7:case"end":return e.stop()}}),e)}))),Aw.apply(this,arguments)}function dw(e,t,n){if(e.startsWith("http"))return e;var r=n.modules||{};return r[e]?r[e]:Wm?n.CDN?(jm(n.CDN.startsWith("http")),"".concat(n.CDN,"/").concat(t,"@").concat("3.2.6","/dist/libs/").concat(e)):zm?"../src/libs/".concat(e):"modules/".concat(t,"/src/libs/").concat(e):"modules/".concat(t,"/dist/libs/").concat(e)}function vw(e){return hw.apply(this,arguments)}function hw(){return(hw=u(o().mark((function e(t){var n,r,i;return o().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(!t.endsWith("wasm")){e.next=7;break}return e.next=3,fetch(t);case 3:return n=e.sent,e.next=6,n.arrayBuffer();case 6:return e.abrupt("return",e.sent);case 7:if(Wm){e.next=20;break}if(e.prev=8,e.t0=cw&&void 0,!e.t0){e.next=14;break}return e.next=13,(void 0)(t);case 13:e.t0=e.sent;case 14:return e.abrupt("return",e.t0);case 17:return e.prev=17,e.t1=e.catch(8),e.abrupt("return",null);case 20:if(!zm){e.next=22;break}return e.abrupt("return",importScripts(t));case 22:return e.next=24,fetch(t);case 24:return r=e.sent,e.next=27,r.text();case 27:return i=e.sent,e.abrupt("return",Iw(i,t));case 29:case"end":return e.stop()}}),e,null,[[8,17]])})))).apply(this,arguments)}function Iw(e,t){if(Wm){if(zm)return eval.call(Qm,e),null;var n=document.createElement("script");n.id=t;try{n.appendChild(document.createTextNode(e))}catch(t){n.text=e}return document.body.appendChild(n),null}}function yw(e,t){return!!ow.isSupported()&&(!!(Wm||null!=t&&t._nodeWorkers)&&(e.worker&&(null==t?void 0:t.worker)))}function mw(e,t,n,r,i){return ww.apply(this,arguments)}function ww(){return ww=u(o().mark((function e(t,n,r,i,a){var s,l,u,c,f,p;return o().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return s=t.id,l=lw(t,r),u=ow.getWorkerFarm(r),c=u.getWorkerPool({name:s,url:l}),r=JSON.parse(JSON.stringify(r)),i=JSON.parse(JSON.stringify(i||{})),e.next=8,c.startJob("process-on-worker",gw.bind(null,a));case 8:return(f=e.sent).postMessage("process",{input:n,options:r,context:i}),e.next=12,f.result;case 12:return p=e.sent,e.next=15,p.result;case 15:return e.abrupt("return",e.sent);case 16:case"end":return e.stop()}}),e)}))),ww.apply(this,arguments)}function gw(e,t,n,r){return Ew.apply(this,arguments)}function Ew(){return(Ew=u(o().mark((function e(t,n,r,i){var a,s,l,u,c;return o().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:e.t0=r,e.next="done"===e.t0?3:"error"===e.t0?5:"process"===e.t0?7:20;break;case 3:return n.done(i),e.abrupt("break",21);case 5:return n.error(new Error(i.error)),e.abrupt("break",21);case 7:return a=i.id,s=i.input,l=i.options,e.prev=8,e.next=11,t(s,l);case 11:u=e.sent,n.postMessage("done",{id:a,result:u}),e.next=19;break;case 15:e.prev=15,e.t1=e.catch(8),c=e.t1 instanceof Error?e.t1.message:"unknown error",n.postMessage("error",{id:a,error:c});case 19:return e.abrupt("break",21);case 20:console.warn("parse-with-worker unknown message ".concat(r));case 21:case"end":return e.stop()}}),e,null,[[8,15]])})))).apply(this,arguments)}function Tw(e,t,n){if(e.byteLength<=t+n)return"";for(var r=new DataView(e),i="",a=0;a1&&void 0!==arguments[1]?arguments[1]:5;if("string"==typeof e)return e.slice(0,t);if(ArrayBuffer.isView(e))return Tw(e.buffer,e.byteOffset,t);if(e instanceof ArrayBuffer){return Tw(e,0,t)}return""}(e),'"'))}}function Dw(e){return e&&"object"===T(e)&&e.isBuffer}function Pw(e){if(Dw(e))return Dw(t=e)?new Uint8Array(t.buffer,t.byteOffset,t.length).slice().buffer:t;var t;if(e instanceof ArrayBuffer)return e;if(ArrayBuffer.isView(e))return 0===e.byteOffset&&e.byteLength===e.buffer.byteLength?e.buffer:e.buffer.slice(e.byteOffset,e.byteOffset+e.byteLength);if("string"==typeof e){var n=e;return(new TextEncoder).encode(n).buffer}if(e&&"object"===T(e)&&e._toArrayBuffer)return e._toArrayBuffer();throw new Error("toArrayBuffer")}function Rw(){for(var e=arguments.length,t=new Array(e),n=0;n=0),Um(t>0),e+(t-1)&~(t-1)}function Bw(e,t,n){var r;if(e instanceof ArrayBuffer)r=new Uint8Array(e);else{var i=e.byteOffset,a=e.byteLength;r=new Uint8Array(e.buffer||e.arrayBuffer,i,a)}return t.set(r,n),n+_w(r.byteLength,4)}function Ow(e){return Sw.apply(this,arguments)}function Sw(){return(Sw=u(o().mark((function e(t){var n,r,i,a,s,l,u;return o().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:n=[],r=!1,i=!1,e.prev=3,s=O(t);case 5:return e.next=7,s.next();case 7:if(!(r=!(l=e.sent).done)){e.next=13;break}u=l.value,n.push(u);case 10:r=!1,e.next=5;break;case 13:e.next=19;break;case 15:e.prev=15,e.t0=e.catch(3),i=!0,a=e.t0;case 19:if(e.prev=19,e.prev=20,!r||null==s.return){e.next=24;break}return e.next=24,s.return();case 24:if(e.prev=24,!i){e.next=27;break}throw a;case 27:return e.finish(24);case 28:return e.finish(19);case 29:return e.abrupt("return",Rw.apply(void 0,n));case 30:case"end":return e.stop()}}),e,null,[[3,15,19,29],[20,,24,28]])})))).apply(this,arguments)}var Nw={};function Lw(e){for(var t in Nw)if(e.startsWith(t)){var n=Nw[t];e=e.replace(t,n)}return e.startsWith("http://")||e.startsWith("https://")||(e="".concat("").concat(e)),e}var xw=function(e){return"function"==typeof e},Mw=function(e){return null!==e&&"object"===T(e)},Fw=function(e){return Mw(e)&&e.constructor==={}.constructor},Hw=function(e){return e&&"function"==typeof e[Symbol.iterator]},Uw=function(e){return e&&"function"==typeof e[Symbol.asyncIterator]},Gw=function(e){return"undefined"!=typeof Response&&e instanceof Response||e&&e.arrayBuffer&&e.text&&e.json},kw=function(e){return"undefined"!=typeof Blob&&e instanceof Blob},jw=function(e){return function(e){return"undefined"!=typeof ReadableStream&&e instanceof ReadableStream||Mw(e)&&xw(e.tee)&&xw(e.cancel)&&xw(e.getReader)}(e)||function(e){return Mw(e)&&xw(e.read)&&xw(e.pipe)&&function(e){return"boolean"==typeof e}(e.readable)}(e)},Vw=/^data:([-\w.]+\/[-\w.+]+)(;|,)/,Qw=/^([-\w.]+\/[-\w.+]+)/;function Ww(e){var t=Qw.exec(e);return t?t[1]:e}function zw(e){var t=Vw.exec(e);return t?t[1]:""}var Kw=/\?.*/;function Yw(e){if(Gw(e)){var t=qw(e.url||"");return{url:t,type:Ww(e.headers.get("content-type")||"")||zw(t)}}return kw(e)?{url:qw(e.name||""),type:e.type||""}:"string"==typeof e?{url:qw(e),type:zw(e)}:{url:"",type:""}}function Xw(e){return Gw(e)?e.headers["content-length"]||-1:kw(e)?e.size:"string"==typeof e?e.length:e instanceof ArrayBuffer||ArrayBuffer.isView(e)?e.byteLength:-1}function qw(e){return e.replace(Kw,"")}function Jw(e){return Zw.apply(this,arguments)}function Zw(){return(Zw=u(o().mark((function e(t){var n,r,i,a,s,l,u;return o().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(!Gw(t)){e.next=2;break}return e.abrupt("return",t);case 2:return n={},(r=Xw(t))>=0&&(n["content-length"]=String(r)),i=Yw(t),a=i.url,(s=i.type)&&(n["content-type"]=s),e.next=9,rg(t);case 9:return(l=e.sent)&&(n["x-first-bytes"]=l),"string"==typeof t&&(t=(new TextEncoder).encode(t)),u=new Response(t,{headers:n}),Object.defineProperty(u,"url",{value:a}),e.abrupt("return",u);case 15:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function $w(e){return eg.apply(this,arguments)}function eg(){return(eg=u(o().mark((function e(t){var n;return o().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(t.ok){e.next=5;break}return e.next=3,tg(t);case 3:throw n=e.sent,new Error(n);case 5:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function tg(e){return ng.apply(this,arguments)}function ng(){return(ng=u(o().mark((function e(t){var n,r,i;return o().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(n="Failed to fetch resource ".concat(t.url," (").concat(t.status,"): "),e.prev=1,r=t.headers.get("Content-Type"),i=t.statusText,!r.includes("application/json")){e.next=11;break}return e.t0=i,e.t1=" ",e.next=9,t.text();case 9:e.t2=e.sent,i=e.t0+=e.t1.concat.call(e.t1,e.t2);case 11:n=(n+=i).length>60?"".concat(n.slice(0,60),"..."):n,e.next=17;break;case 15:e.prev=15,e.t3=e.catch(1);case 17:return e.abrupt("return",n);case 18:case"end":return e.stop()}}),e,null,[[1,15]])})))).apply(this,arguments)}function rg(e){return ig.apply(this,arguments)}function ig(){return(ig=u(o().mark((function e(t){var n,r,i,a;return o().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(n=5,"string"!=typeof t){e.next=3;break}return e.abrupt("return","data:,".concat(t.slice(0,n)));case 3:if(!(t instanceof Blob)){e.next=8;break}return r=t.slice(0,5),e.next=7,new Promise((function(e){var t=new FileReader;t.onload=function(t){var n;return e(null==t||null===(n=t.target)||void 0===n?void 0:n.result)},t.readAsDataURL(r)}));case 7:return e.abrupt("return",e.sent);case 8:if(!(t instanceof ArrayBuffer)){e.next=12;break}return i=t.slice(0,n),a=ag(i),e.abrupt("return","data:base64,".concat(a));case 12:return e.abrupt("return",null);case 13:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function ag(e){for(var t="",n=new Uint8Array(e),r=0;r=0)}();function Ag(e){try{var t=window[e],n="__storage_test__";return t.setItem(n,n),t.removeItem(n),t}catch(e){return null}}var dg=function(){function e(t,n){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"sessionStorage";b(this,e),this.storage=Ag(r),this.id=t,this.config={},Object.assign(this.config,n),this._loadConfiguration()}return P(e,[{key:"getConfiguration",value:function(){return this.config}},{key:"setConfiguration",value:function(e){return this.config={},this.updateConfiguration(e)}},{key:"updateConfiguration",value:function(e){if(Object.assign(this.config,e),this.storage){var t=JSON.stringify(this.config);this.storage.setItem(this.id,t)}return this}},{key:"_loadConfiguration",value:function(){var e={};if(this.storage){var t=this.storage.getItem(this.id);e=t?JSON.parse(t):{}}return Object.assign(this.config,e),this}}]),e}();function vg(e,t,n){var r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:600,i=e.src.replace(/\(/g,"%28").replace(/\)/g,"%29");e.width>r&&(n=Math.min(n,r/e.width));var a=e.width*n,s=e.height*n,o=["font-size:1px;","padding:".concat(Math.floor(s/2),"px ").concat(Math.floor(a/2),"px;"),"line-height:".concat(s,"px;"),"background:url(".concat(i,");"),"background-size:".concat(a,"px ").concat(s,"px;"),"color:transparent;"].join("");return["".concat(t," %c+"),o]}var hg={BLACK:30,RED:31,GREEN:32,YELLOW:33,BLUE:34,MAGENTA:35,CYAN:36,WHITE:37,BRIGHT_BLACK:90,BRIGHT_RED:91,BRIGHT_GREEN:92,BRIGHT_YELLOW:93,BRIGHT_BLUE:94,BRIGHT_MAGENTA:95,BRIGHT_CYAN:96,BRIGHT_WHITE:97};function Ig(e){return"string"==typeof e?hg[e.toUpperCase()]||hg.WHITE:e}function yg(e){var t,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:["constructor"],r=Object.getPrototypeOf(e),i=Object.getOwnPropertyNames(r),a=f(i);try{var s=function(){var r=t.value;"function"==typeof e[r]&&(n.find((function(e){return r===e}))||(e[r]=e[r].bind(e)))};for(a.s();!(t=a.n()).done;)s()}catch(e){a.e(e)}finally{a.f()}}function mg(e,t){if(!e)throw new Error(t||"Assertion failed")}function wg(){var e;if(pg&&ug.performance)e=ug.performance.now();else if(cg.hrtime){var t=cg.hrtime();e=1e3*t[0]+t[1]/1e6}else e=Date.now();return e}var gg={debug:pg&&console.debug||console.log,log:console.log,info:console.info,warn:console.warn,error:console.error},Eg={enabled:!0,level:0};function Tg(){}var bg={},Dg={once:!0};function Pg(e){for(var t in e)for(var n in e[t])return n||"untitled";return"empty"}var Rg=function(){function e(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{id:""},n=t.id;b(this,e),this.id=n,this.VERSION=fg,this._startTs=wg(),this._deltaTs=wg(),this.LOG_THROTTLE_TIMEOUT=0,this._storage=new dg("__probe-".concat(this.id,"__"),Eg),this.userData={},this.timeStamp("".concat(this.id," started")),yg(this),Object.seal(this)}return P(e,[{key:"level",get:function(){return this.getLevel()},set:function(e){this.setLevel(e)}},{key:"isEnabled",value:function(){return this._storage.config.enabled}},{key:"getLevel",value:function(){return this._storage.config.level}},{key:"getTotal",value:function(){return Number((wg()-this._startTs).toPrecision(10))}},{key:"getDelta",value:function(){return Number((wg()-this._deltaTs).toPrecision(10))}},{key:"priority",get:function(){return this.level},set:function(e){this.level=e}},{key:"getPriority",value:function(){return this.level}},{key:"enable",value:function(){var e=!(arguments.length>0&&void 0!==arguments[0])||arguments[0];return this._storage.updateConfiguration({enabled:e}),this}},{key:"setLevel",value:function(e){return this._storage.updateConfiguration({level:e}),this}},{key:"assert",value:function(e,t){mg(e,t)}},{key:"warn",value:function(e){return this._getLogFunction(0,e,gg.warn,arguments,Dg)}},{key:"error",value:function(e){return this._getLogFunction(0,e,gg.error,arguments)}},{key:"deprecated",value:function(e,t){return this.warn("`".concat(e,"` is deprecated and will be removed in a later version. Use `").concat(t,"` instead"))}},{key:"removed",value:function(e,t){return this.error("`".concat(e,"` has been removed. Use `").concat(t,"` instead"))}},{key:"probe",value:function(e,t){return this._getLogFunction(e,t,gg.log,arguments,{time:!0,once:!0})}},{key:"log",value:function(e,t){return this._getLogFunction(e,t,gg.debug,arguments)}},{key:"info",value:function(e,t){return this._getLogFunction(e,t,console.info,arguments)}},{key:"once",value:function(e,t){return this._getLogFunction(e,t,gg.debug||gg.info,arguments,Dg)}},{key:"table",value:function(e,t,n){return t?this._getLogFunction(e,t,console.table||Tg,n&&[n],{tag:Pg(t)}):Tg}},{key:"image",value:function(e){function t(t){return e.apply(this,arguments)}return t.toString=function(){return e.toString()},t}((function(e){var t=e.logLevel,n=e.priority,r=e.image,i=e.message,a=void 0===i?"":i,s=e.scale,o=void 0===s?1:s;return this._shouldLog(t||n)?pg?function(e){var t=e.image,n=e.message,r=void 0===n?"":n,i=e.scale,a=void 0===i?1:i;if("string"==typeof t){var s=new Image;return s.onload=function(){var e,t=vg(s,r,a);(e=console).log.apply(e,c(t))},s.src=t,Tg}var o=t.nodeName||"";if("img"===o.toLowerCase()){var l;return(l=console).log.apply(l,c(vg(t,r,a))),Tg}if("canvas"===o.toLowerCase()){var u=new Image;return u.onload=function(){var e;return(e=console).log.apply(e,c(vg(u,r,a)))},u.src=t.toDataURL(),Tg}return Tg}({image:r,message:a,scale:o}):function(e){var t=e.image,n=(e.message,e.scale),r=void 0===n?1:n,i=null;try{i=module.require("asciify-image")}catch(e){}if(i)return function(){return i(t,{fit:"box",width:"".concat(Math.round(80*r),"%")}).then((function(e){return console.log(e)}))};return Tg}({image:r,message:a,scale:o}):Tg}))},{key:"settings",value:function(){console.table?console.table(this._storage.config):console.log(this._storage.config)}},{key:"get",value:function(e){return this._storage.config[e]}},{key:"set",value:function(e,t){this._storage.updateConfiguration(s({},e,t))}},{key:"time",value:function(e,t){return this._getLogFunction(e,t,console.time?console.time:console.info)}},{key:"timeEnd",value:function(e,t){return this._getLogFunction(e,t,console.timeEnd?console.timeEnd:console.info)}},{key:"timeStamp",value:function(e,t){return this._getLogFunction(e,t,console.timeStamp||Tg)}},{key:"group",value:function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{collapsed:!1},r=n=_g({logLevel:e,message:t,opts:n}),i=r.collapsed;return n.method=(i?console.groupCollapsed:console.group)||console.info,this._getLogFunction(n)}},{key:"groupCollapsed",value:function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return this.group(e,t,Object.assign({},n,{collapsed:!0}))}},{key:"groupEnd",value:function(e){return this._getLogFunction(e,"",console.groupEnd||Tg)}},{key:"withGroup",value:function(e,t,n){this.group(e,t)();try{n()}finally{this.groupEnd(e)()}}},{key:"trace",value:function(){console.trace&&console.trace()}},{key:"_shouldLog",value:function(e){return this.isEnabled()&&this.getLevel()>=Cg(e)}},{key:"_getLogFunction",value:function(e,t,n){var r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:[],i=arguments.length>4?arguments[4]:void 0;if(this._shouldLog(e)){var a;i=_g({logLevel:e,message:t,args:r,opts:i}),mg(n=n||i.method),i.total=this.getTotal(),i.delta=this.getDelta(),this._deltaTs=wg();var s=i.tag||i.message;if(i.once){if(bg[s])return Tg;bg[s]=wg()}return t=Bg(this.id,i.message,i),(a=n).bind.apply(a,[console,t].concat(c(i.args)))}return Tg}}]),e}();function Cg(e){if(!e)return 0;var t;switch(T(e)){case"number":t=e;break;case"object":t=e.logLevel||e.priority||0;break;default:return 0}return mg(Number.isFinite(t)&&t>=0),t}function _g(e){var t=e.logLevel,n=e.message;e.logLevel=Cg(t);for(var r=e.args?Array.from(e.args):[];r.length&&r.shift()!==n;);switch(e.args=r,T(t)){case"string":case"function":void 0!==n&&r.unshift(n),e.message=t;break;case"object":Object.assign(e,t)}"function"==typeof e.message&&(e.message=e.message());var i=T(e.message);return mg("string"===i||"object"===i),Object.assign(e,e.opts)}function Bg(e,t,n){if("string"==typeof t){var r=n.time?function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:8,n=Math.max(t-e.length,0);return"".concat(" ".repeat(n)).concat(e)}((i=n.total)<10?"".concat(i.toFixed(2),"ms"):i<100?"".concat(i.toFixed(1),"ms"):i<1e3?"".concat(i.toFixed(0),"ms"):"".concat((i/1e3).toFixed(2),"s")):"";t=function(e,t,n){return pg||"string"!=typeof e||(t&&(t=Ig(t),e="[".concat(t,"m").concat(e,"")),n&&(t=Ig(n),e="[".concat(n+10,"m").concat(e,""))),e}(t=n.time?"".concat(e,": ").concat(r," ").concat(t):"".concat(e,": ").concat(t),n.color,n.background)}var i;return t}Rg.VERSION=fg;var Og=new Rg({id:"loaders.gl"}),Sg=function(){function e(){b(this,e)}return P(e,[{key:"log",value:function(){return function(){}}},{key:"info",value:function(){return function(){}}},{key:"warn",value:function(){return function(){}}},{key:"error",value:function(){return function(){}}}]),e}(),Ng={fetch:null,mimeType:void 0,nothrow:!1,log:new(function(){function e(){b(this,e),Xm(this,"console",void 0),this.console=console}return P(e,[{key:"log",value:function(){for(var e,t=arguments.length,n=new Array(t),r=0;r=0)}()}var zg={self:"undefined"!=typeof self&&self,window:"undefined"!=typeof window&&window,global:"undefined"!=typeof global&&global,document:"undefined"!=typeof document&&document,process:"object"===("undefined"==typeof process?"undefined":T(process))&&process},Kg=zg.window||zg.self||zg.global,Yg=zg.process||{},Xg="undefined"!=typeof __VERSION__?__VERSION__:"untranspiled source";function qg(e){try{var t=window[e],n="__storage_test__";return t.setItem(n,n),t.removeItem(n),t}catch(e){return null}}Wg();var Jg,Zg=function(){function e(t){b(this,e);var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"sessionStorage";Xm(this,"storage",void 0),Xm(this,"id",void 0),Xm(this,"config",{}),this.storage=qg(r),this.id=t,this.config={},Object.assign(this.config,n),this._loadConfiguration()}return P(e,[{key:"getConfiguration",value:function(){return this.config}},{key:"setConfiguration",value:function(e){return this.config={},this.updateConfiguration(e)}},{key:"updateConfiguration",value:function(e){if(Object.assign(this.config,e),this.storage){var t=JSON.stringify(this.config);this.storage.setItem(this.id,t)}return this}},{key:"_loadConfiguration",value:function(){var e={};if(this.storage){var t=this.storage.getItem(this.id);e=t?JSON.parse(t):{}}return Object.assign(this.config,e),this}}]),e}();function $g(e,t,n){var r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:600,i=e.src.replace(/\(/g,"%28").replace(/\)/g,"%29");e.width>r&&(n=Math.min(n,r/e.width));var a=e.width*n,s=e.height*n,o=["font-size:1px;","padding:".concat(Math.floor(s/2),"px ").concat(Math.floor(a/2),"px;"),"line-height:".concat(s,"px;"),"background:url(".concat(i,");"),"background-size:".concat(a,"px ").concat(s,"px;"),"color:transparent;"].join("");return["".concat(t," %c+"),o]}function eE(e){return"string"==typeof e?Jg[e.toUpperCase()]||Jg.WHITE:e}function tE(e){var t,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:["constructor"],r=Object.getPrototypeOf(e),i=Object.getOwnPropertyNames(r),a=f(i);try{var s=function(){var r=t.value;"function"==typeof e[r]&&(n.find((function(e){return r===e}))||(e[r]=e[r].bind(e)))};for(a.s();!(t=a.n()).done;)s()}catch(e){a.e(e)}finally{a.f()}}function nE(e,t){if(!e)throw new Error(t||"Assertion failed")}function rE(){var e,t,n;if(Wg&&"performance"in Kg)e=null==Kg||null===(t=Kg.performance)||void 0===t||null===(n=t.now)||void 0===n?void 0:n.call(t);else if("hrtime"in Yg){var r,i=null==Yg||null===(r=Yg.hrtime)||void 0===r?void 0:r.call(Yg);e=1e3*i[0]+i[1]/1e6}else e=Date.now();return e}!function(e){e[e.BLACK=30]="BLACK",e[e.RED=31]="RED",e[e.GREEN=32]="GREEN",e[e.YELLOW=33]="YELLOW",e[e.BLUE=34]="BLUE",e[e.MAGENTA=35]="MAGENTA",e[e.CYAN=36]="CYAN",e[e.WHITE=37]="WHITE",e[e.BRIGHT_BLACK=90]="BRIGHT_BLACK",e[e.BRIGHT_RED=91]="BRIGHT_RED",e[e.BRIGHT_GREEN=92]="BRIGHT_GREEN",e[e.BRIGHT_YELLOW=93]="BRIGHT_YELLOW",e[e.BRIGHT_BLUE=94]="BRIGHT_BLUE",e[e.BRIGHT_MAGENTA=95]="BRIGHT_MAGENTA",e[e.BRIGHT_CYAN=96]="BRIGHT_CYAN",e[e.BRIGHT_WHITE=97]="BRIGHT_WHITE"}(Jg||(Jg={}));var iE={debug:Wg&&console.debug||console.log,log:console.log,info:console.info,warn:console.warn,error:console.error},aE={enabled:!0,level:0};function sE(){}var oE={},lE={once:!0},uE=function(){function e(){b(this,e);var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{id:""},n=t.id;Xm(this,"id",void 0),Xm(this,"VERSION",Xg),Xm(this,"_startTs",rE()),Xm(this,"_deltaTs",rE()),Xm(this,"_storage",void 0),Xm(this,"userData",{}),Xm(this,"LOG_THROTTLE_TIMEOUT",0),this.id=n,this._storage=new Zg("__probe-".concat(this.id,"__"),aE),this.userData={},this.timeStamp("".concat(this.id," started")),tE(this),Object.seal(this)}return P(e,[{key:"level",get:function(){return this.getLevel()},set:function(e){this.setLevel(e)}},{key:"isEnabled",value:function(){return this._storage.config.enabled}},{key:"getLevel",value:function(){return this._storage.config.level}},{key:"getTotal",value:function(){return Number((rE()-this._startTs).toPrecision(10))}},{key:"getDelta",value:function(){return Number((rE()-this._deltaTs).toPrecision(10))}},{key:"priority",get:function(){return this.level},set:function(e){this.level=e}},{key:"getPriority",value:function(){return this.level}},{key:"enable",value:function(){var e=!(arguments.length>0&&void 0!==arguments[0])||arguments[0];return this._storage.updateConfiguration({enabled:e}),this}},{key:"setLevel",value:function(e){return this._storage.updateConfiguration({level:e}),this}},{key:"get",value:function(e){return this._storage.config[e]}},{key:"set",value:function(e,t){this._storage.updateConfiguration(s({},e,t))}},{key:"settings",value:function(){console.table?console.table(this._storage.config):console.log(this._storage.config)}},{key:"assert",value:function(e,t){nE(e,t)}},{key:"warn",value:function(e){return this._getLogFunction(0,e,iE.warn,arguments,lE)}},{key:"error",value:function(e){return this._getLogFunction(0,e,iE.error,arguments)}},{key:"deprecated",value:function(e,t){return this.warn("`".concat(e,"` is deprecated and will be removed in a later version. Use `").concat(t,"` instead"))}},{key:"removed",value:function(e,t){return this.error("`".concat(e,"` has been removed. Use `").concat(t,"` instead"))}},{key:"probe",value:function(e,t){return this._getLogFunction(e,t,iE.log,arguments,{time:!0,once:!0})}},{key:"log",value:function(e,t){return this._getLogFunction(e,t,iE.debug,arguments)}},{key:"info",value:function(e,t){return this._getLogFunction(e,t,console.info,arguments)}},{key:"once",value:function(e,t){for(var n=arguments.length,r=new Array(n>2?n-2:0),i=2;i2&&void 0!==arguments[2]?arguments[2]:{collapsed:!1},r=fE({logLevel:e,message:t,opts:n}),i=n.collapsed;return r.method=(i?console.groupCollapsed:console.group)||console.info,this._getLogFunction(r)}},{key:"groupCollapsed",value:function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return this.group(e,t,Object.assign({},n,{collapsed:!0}))}},{key:"groupEnd",value:function(e){return this._getLogFunction(e,"",console.groupEnd||sE)}},{key:"withGroup",value:function(e,t,n){this.group(e,t)();try{n()}finally{this.groupEnd(e)()}}},{key:"trace",value:function(){console.trace&&console.trace()}},{key:"_shouldLog",value:function(e){return this.isEnabled()&&this.getLevel()>=cE(e)}},{key:"_getLogFunction",value:function(e,t,n,r,i){if(this._shouldLog(e)){var a;i=fE({logLevel:e,message:t,args:r,opts:i}),nE(n=n||i.method),i.total=this.getTotal(),i.delta=this.getDelta(),this._deltaTs=rE();var s=i.tag||i.message;if(i.once){if(oE[s])return sE;oE[s]=rE()}return t=function(e,t,n){if("string"==typeof t){var r=n.time?function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:8,n=Math.max(t-e.length,0);return"".concat(" ".repeat(n)).concat(e)}((i=n.total)<10?"".concat(i.toFixed(2),"ms"):i<100?"".concat(i.toFixed(1),"ms"):i<1e3?"".concat(i.toFixed(0),"ms"):"".concat((i/1e3).toFixed(2),"s")):"";t=function(e,t,n){return Wg||"string"!=typeof e||(t&&(t=eE(t),e="[".concat(t,"m").concat(e,"")),n&&(t=eE(n),e="[".concat(n+10,"m").concat(e,""))),e}(t=n.time?"".concat(e,": ").concat(r," ").concat(t):"".concat(e,": ").concat(t),n.color,n.background)}var i;return t}(this.id,i.message,i),(a=n).bind.apply(a,[console,t].concat(c(i.args)))}return sE}}]),e}();function cE(e){if(!e)return 0;var t;switch(T(e)){case"number":t=e;break;case"object":t=e.logLevel||e.priority||0;break;default:return 0}return nE(Number.isFinite(t)&&t>=0),t}function fE(e){var t=e.logLevel,n=e.message;e.logLevel=cE(t);for(var r=e.args?Array.from(e.args):[];r.length&&r.shift()!==n;);switch(T(t)){case"string":case"function":void 0!==n&&r.unshift(n),e.message=t;break;case"object":Object.assign(e,t)}"function"==typeof e.message&&(e.message=e.message());var i=T(e.message);return nE("string"===i||"object"===i),Object.assign(e,{args:r},e.opts)}function pE(e){for(var t in e)for(var n in e[t])return n||"untitled";return"empty"}Xm(uE,"VERSION",Xg);var AE=new uE({id:"loaders.gl"}),dE=/\.([^.]+)$/;function vE(e){return hE.apply(this,arguments)}function hE(){return hE=u(o().mark((function e(t){var n,r,i,s,l=arguments;return o().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(n=l.length>1&&void 0!==l[1]?l[1]:[],r=l.length>2?l[2]:void 0,i=l.length>3?l[3]:void 0,mE(t)){e.next=5;break}return e.abrupt("return",null);case 5:if(!(s=IE(t,n,a(a({},r),{},{nothrow:!0}),i))){e.next=8;break}return e.abrupt("return",s);case 8:if(!kw(t)){e.next=13;break}return e.next=11,t.slice(0,10).arrayBuffer();case 11:t=e.sent,s=IE(t,n,r,i);case 13:if(s||null!=r&&r.nothrow){e.next=15;break}throw new Error(wE(t));case 15:return e.abrupt("return",s);case 16:case"end":return e.stop()}}),e)}))),hE.apply(this,arguments)}function IE(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[],n=arguments.length>2?arguments[2]:void 0,r=arguments.length>3?arguments[3]:void 0;if(!mE(e))return null;if(t&&!Array.isArray(t))return Vg(t);var i,a=[];(t&&(a=a.concat(t)),null!=n&&n.ignoreRegisteredLoaders)||(i=a).push.apply(i,c(Qg()));gE(a);var s=yE(e,a,n,r);if(!(s||null!=n&&n.nothrow))throw new Error(wE(e));return s}function yE(e,t,n,r){var i,a=Yw(e),s=a.url,o=a.type,l=s||(null==r?void 0:r.url),u=null,c="";(null!=n&&n.mimeType&&(u=EE(t,null==n?void 0:n.mimeType),c="match forced by supplied MIME type ".concat(null==n?void 0:n.mimeType)),u=u||function(e,t){var n=t&&dE.exec(t),r=n&&n[1];return r?function(e,t){t=t.toLowerCase();var n,r=f(e);try{for(r.s();!(n=r.n()).done;){var i,a=n.value,s=f(a.extensions);try{for(s.s();!(i=s.n()).done;){if(i.value.toLowerCase()===t)return a}}catch(e){s.e(e)}finally{s.f()}}}catch(e){r.e(e)}finally{r.f()}return null}(e,r):null}(t,l),c=c||(u?"matched url ".concat(l):""),u=u||EE(t,o),c=c||(u?"matched MIME type ".concat(o):""),u=u||function(e,t){if(!t)return null;var n,r=f(e);try{for(r.s();!(n=r.n()).done;){var i=n.value;if("string"==typeof t){if(TE(t,i))return i}else if(ArrayBuffer.isView(t)){if(bE(t.buffer,t.byteOffset,i))return i}else if(t instanceof ArrayBuffer){if(bE(t,0,i))return i}}}catch(e){r.e(e)}finally{r.f()}return null}(t,e),c=c||(u?"matched initial data ".concat(DE(e)):""),u=u||EE(t,null==n?void 0:n.fallbackMimeType),c=c||(u?"matched fallback MIME type ".concat(o):""))&&AE.log(1,"selectLoader selected ".concat(null===(i=u)||void 0===i?void 0:i.name,": ").concat(c,"."));return u}function mE(e){return!(e instanceof Response&&204===e.status)}function wE(e){var t=Yw(e),n=t.url,r=t.type,i="No valid loader found (";i+=n?"".concat(function(e){var t=e&&e.lastIndexOf("/");return t>=0?e.substr(t+1):""}(n),", "):"no url provided, ",i+="MIME type: ".concat(r?'"'.concat(r,'"'):"not provided",", ");var a=e?DE(e):"";return i+=a?' first bytes: "'.concat(a,'"'):"first bytes: not available",i+=")"}function gE(e){var t,n=f(e);try{for(n.s();!(t=n.n()).done;){Vg(t.value)}}catch(e){n.e(e)}finally{n.f()}}function EE(e,t){var n,r=f(e);try{for(r.s();!(n=r.n()).done;){var i=n.value;if(i.mimeTypes&&i.mimeTypes.includes(t))return i;if(t==="application/x.".concat(i.id))return i}}catch(e){r.e(e)}finally{r.f()}return null}function TE(e,t){return t.testText?t.testText(e):(Array.isArray(t.tests)?t.tests:[t.tests]).some((function(t){return e.startsWith(t)}))}function bE(e,t,n){return(Array.isArray(n.tests)?n.tests:[n.tests]).some((function(r){return function(e,t,n,r){if(r instanceof ArrayBuffer)return function(e,t,n){if(n=n||e.byteLength,e.byteLength1&&void 0!==arguments[1]?arguments[1]:5;if("string"==typeof e)return e.slice(0,t);if(ArrayBuffer.isView(e))return PE(e.buffer,e.byteOffset,t);if(e instanceof ArrayBuffer){var n=0;return PE(e,n,t)}return""}function PE(e,t,n){if(e.byteLength1&&void 0!==c[1]?c[1]:{},r=t.chunkSize,i=void 0===r?262144:r,a=0;case 3:if(!(a2&&void 0!==arguments[2]?arguments[2]:null;if(n)return n;var r=a({fetch:Hg(t,e)},e);return Array.isArray(r.loaders)||(r.loaders=null),r}function UE(e,t){if(!t&&e&&!Array.isArray(e))return e;var n;if(e&&(n=Array.isArray(e)?e:[e]),t&&t.loaders){var r=Array.isArray(t.loaders)?t.loaders:[t.loaders];n=n?[].concat(c(n),c(r)):r}return n&&n.length?n:null}function GE(e,t,n,r){return kE.apply(this,arguments)}function kE(){return(kE=u(o().mark((function e(t,n,r,i){var a,s,l,u;return o().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return jm(!i||"object"===T(i)),!n||Array.isArray(n)||jg(n)||(i=void 0,r=n,n=void 0),e.next=4,t;case 4:return t=e.sent,r=r||{},a=Yw(t),s=a.url,l=UE(n,i),e.next=11,vE(t,l,r);case 11:if(u=e.sent){e.next=14;break}return e.abrupt("return",null);case 14:return r=Fg(r,u,l,s),i=HE({url:s,parse:GE,loaders:l},r,i),e.next=18,jE(u,t,r,i);case 18:return e.abrupt("return",e.sent);case 19:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function jE(e,t,n,r){return VE.apply(this,arguments)}function VE(){return(VE=u(o().mark((function e(t,n,r,i){var a,s,l,u,c,f,p,A;return o().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return uw(t),Gw(n)&&(s=(a=n).ok,l=a.redirected,u=a.status,c=a.statusText,f=a.type,p=a.url,A=Object.fromEntries(a.headers.entries()),i.response={headers:A,ok:s,redirected:l,status:u,statusText:c,type:f,url:p}),e.next=4,ME(n,t,r);case 4:if(n=e.sent,!t.parseTextSync||"string"!=typeof n){e.next=8;break}return r.dataType="text",e.abrupt("return",t.parseTextSync(n,r,i,t));case 8:if(!yw(t,r)){e.next=12;break}return e.next=11,mw(t,n,r,i,GE);case 11:case 15:case 19:return e.abrupt("return",e.sent);case 12:if(!t.parseText||"string"!=typeof n){e.next=16;break}return e.next=15,t.parseText(n,r,i,t);case 16:if(!t.parse){e.next=20;break}return e.next=19,t.parse(n,r,i,t);case 20:throw jm(!t.parseSync),new Error("".concat(t.id," loader - no parser found and worker is disabled"));case 22:case"end":return e.stop()}}),e)})))).apply(this,arguments)}var QE,WE,zE="https://unpkg.com/@loaders.gl/textures@".concat("3.2.6","/dist/libs/basis_encoder.wasm"),KE="https://unpkg.com/@loaders.gl/textures@".concat("3.2.6","/dist/libs/basis_encoder.js");function YE(e){return XE.apply(this,arguments)}function XE(){return(XE=u(o().mark((function e(t){var n;return o().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(!(n=t.modules||{}).basis){e.next=3;break}return e.abrupt("return",n.basis);case 3:return QE=QE||qE(t),e.next=6,QE;case 6:return e.abrupt("return",e.sent);case 7:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function qE(e){return JE.apply(this,arguments)}function JE(){return(JE=u(o().mark((function e(t){var n,r,i,a;return o().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return n=null,r=null,e.t0=Promise,e.next=5,pw("basis_transcoder.js","textures",t);case 5:return e.t1=e.sent,e.next=8,pw("basis_transcoder.wasm","textures",t);case 8:return e.t2=e.sent,e.t3=[e.t1,e.t2],e.next=12,e.t0.all.call(e.t0,e.t3);case 12:return i=e.sent,a=p(i,2),n=a[0],r=a[1],n=n||globalThis.BASIS,e.next=19,ZE(n,r);case 19:return e.abrupt("return",e.sent);case 20:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function ZE(e,t){var n={};return t&&(n.wasmBinary=t),new Promise((function(t){e(n).then((function(e){var n=e.BasisFile;(0,e.initializeBasis)(),t({BasisFile:n})}))}))}function $E(e){return eT.apply(this,arguments)}function eT(){return(eT=u(o().mark((function e(t){var n;return o().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(!(n=t.modules||{}).basisEncoder){e.next=3;break}return e.abrupt("return",n.basisEncoder);case 3:return WE=WE||tT(t),e.next=6,WE;case 6:return e.abrupt("return",e.sent);case 7:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function tT(e){return nT.apply(this,arguments)}function nT(){return(nT=u(o().mark((function e(t){var n,r,i,a;return o().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return n=null,r=null,e.t0=Promise,e.next=5,pw(KE,"textures",t);case 5:return e.t1=e.sent,e.next=8,pw(zE,"textures",t);case 8:return e.t2=e.sent,e.t3=[e.t1,e.t2],e.next=12,e.t0.all.call(e.t0,e.t3);case 12:return i=e.sent,a=p(i,2),n=a[0],r=a[1],n=n||globalThis.BASIS,e.next=19,rT(n,r);case 19:return e.abrupt("return",e.sent);case 20:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function rT(e,t){var n={};return t&&(n.wasmBinary=t),new Promise((function(t){e(n).then((function(e){var n=e.BasisFile,r=e.KTX2File,i=e.initializeBasis,a=e.BasisEncoder;i(),t({BasisFile:n,KTX2File:r,BasisEncoder:a})}))}))}var iT,aT,sT,oT,lT,uT,cT,fT,pT,AT=33776,dT=33779,vT=35840,hT=35842,IT=36196,yT=37808,mT=["","WEBKIT_","MOZ_"],wT={WEBGL_compressed_texture_s3tc:"dxt",WEBGL_compressed_texture_s3tc_srgb:"dxt-srgb",WEBGL_compressed_texture_etc1:"etc1",WEBGL_compressed_texture_etc:"etc2",WEBGL_compressed_texture_pvrtc:"pvrtc",WEBGL_compressed_texture_atc:"atc",WEBGL_compressed_texture_astc:"astc",EXT_texture_compression_rgtc:"rgtc"},gT=null;function ET(e){if(!gT){e=e||function(){try{return document.createElement("canvas").getContext("webgl")}catch(e){return null}}()||void 0,gT=new Set;var t,n=f(mT);try{for(n.s();!(t=n.n()).done;){var r=t.value;for(var i in wT)if(e&&e.getExtension("".concat(r).concat(i))){var a=wT[i];gT.add(a)}}}catch(e){n.e(e)}finally{n.f()}}return gT}(pT=iT||(iT={}))[pT.NONE=0]="NONE",pT[pT.BASISLZ=1]="BASISLZ",pT[pT.ZSTD=2]="ZSTD",pT[pT.ZLIB=3]="ZLIB",function(e){e[e.BASICFORMAT=0]="BASICFORMAT"}(aT||(aT={})),function(e){e[e.UNSPECIFIED=0]="UNSPECIFIED",e[e.ETC1S=163]="ETC1S",e[e.UASTC=166]="UASTC"}(sT||(sT={})),function(e){e[e.UNSPECIFIED=0]="UNSPECIFIED",e[e.SRGB=1]="SRGB"}(oT||(oT={})),function(e){e[e.UNSPECIFIED=0]="UNSPECIFIED",e[e.LINEAR=1]="LINEAR",e[e.SRGB=2]="SRGB",e[e.ITU=3]="ITU",e[e.NTSC=4]="NTSC",e[e.SLOG=5]="SLOG",e[e.SLOG2=6]="SLOG2"}(lT||(lT={})),function(e){e[e.ALPHA_STRAIGHT=0]="ALPHA_STRAIGHT",e[e.ALPHA_PREMULTIPLIED=1]="ALPHA_PREMULTIPLIED"}(uT||(uT={})),function(e){e[e.RGB=0]="RGB",e[e.RRR=3]="RRR",e[e.GGG=4]="GGG",e[e.AAA=15]="AAA"}(cT||(cT={})),function(e){e[e.RGB=0]="RGB",e[e.RGBA=3]="RGBA",e[e.RRR=4]="RRR",e[e.RRRG=5]="RRRG"}(fT||(fT={}));var TT=[171,75,84,88,32,50,48,187,13,10,26,10];function bT(e){var t=new Uint8Array(e);return!(t.byteLength1&&void 0!==r[1]?r[1]:null)&&JT||(n=null),!n){e.next=13;break}return e.prev=3,e.next=6,createImageBitmap(t,n);case 6:return e.abrupt("return",e.sent);case 9:e.prev=9,e.t0=e.catch(3),console.warn(e.t0),JT=!1;case 13:return e.next=15,createImageBitmap(t);case 15:return e.abrupt("return",e.sent);case 16:case"end":return e.stop()}}),e,null,[[3,9]])}))),tb.apply(this,arguments)}function nb(e){for(var t in e||qT)return!1;return!0}function rb(e){var t=ib(e);return function(e){var t=ib(e);if(!(t.byteLength>=24&&2303741511===t.getUint32(0,false)))return null;return{mimeType:"image/png",width:t.getUint32(16,false),height:t.getUint32(20,false)}}(t)||function(e){var t=ib(e);if(!(t.byteLength>=3&&65496===t.getUint16(0,false)&&255===t.getUint8(2)))return null;var n=function(){for(var e=new Set([65499,65476,65484,65501,65534]),t=65504;t<65520;++t)e.add(t);var n=new Set([65472,65473,65474,65475,65477,65478,65479,65481,65482,65483,65485,65486,65487,65502]);return{tableMarkers:e,sofMarkers:n}}(),r=n.tableMarkers,i=n.sofMarkers,a=2;for(;a+9=10&&1195984440===t.getUint32(0,false)))return null;return{mimeType:"image/gif",width:t.getUint16(6,true),height:t.getUint16(8,true)}}(t)||function(e){var t=ib(e);if(!(t.byteLength>=14&&16973===t.getUint16(0,false)&&t.getUint32(2,true)===t.byteLength))return null;return{mimeType:"image/bmp",width:t.getUint32(18,true),height:t.getUint32(22,true)}}(t)}function ib(e){if(e instanceof DataView)return e;if(ArrayBuffer.isView(e))return new DataView(e.buffer);if(e instanceof ArrayBuffer)return new DataView(e);throw new Error("toDataView")}function ab(e,t){return sb.apply(this,arguments)}function sb(){return sb=u(o().mark((function e(t,n){var r,i,a;return o().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return r=rb(t)||{},i=r.mimeType,Um(a=globalThis._parseImageNode),e.next=5,a(t,i);case 5:return e.abrupt("return",e.sent);case 6:case"end":return e.stop()}}),e)}))),sb.apply(this,arguments)}function ob(){return(ob=u(o().mark((function e(t,n,r){var i,a,s,l,u;return o().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:i=(n=n||{}).image||{},a=i.type||"auto",s=(r||{}).url,l=lb(a),e.t0=l,e.next="imagebitmap"===e.t0?8:"image"===e.t0?12:"data"===e.t0?16:20;break;case 8:return e.next=10,ZT(t,n,s);case 10:return u=e.sent,e.abrupt("break",21);case 12:return e.next=14,zT(t,n,s);case 14:return u=e.sent,e.abrupt("break",21);case 16:return e.next=18,ab(t);case 18:return u=e.sent,e.abrupt("break",21);case 20:Um(!1);case 21:return"data"===a&&(u=GT(u)),e.abrupt("return",u);case 23:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function lb(e){switch(e){case"auto":case"data":return function(){if(MT)return"imagebitmap";if(xT)return"image";if(HT)return"data";throw new Error("Install '@loaders.gl/polyfills' to parse images under Node.js")}();default:return function(e){switch(e){case"auto":return MT||xT||HT;case"imagebitmap":return MT;case"image":return xT;case"data":return HT;default:throw new Error("@loaders.gl/images: image ".concat(e," not supported in this environment"))}}(e),e}}var ub={id:"image",module:"images",name:"Images",version:"3.2.6",mimeTypes:["image/png","image/jpeg","image/gif","image/webp","image/bmp","image/vnd.microsoft.icon","image/svg+xml"],extensions:["png","jpg","jpeg","gif","webp","bmp","ico","svg"],parse:function(e,t,n){return ob.apply(this,arguments)},tests:[function(e){return Boolean(rb(new DataView(e)))}],options:{image:{type:"auto",decode:!0}}},cb=["image/png","image/jpeg","image/gif"],fb={};function pb(e){return void 0===fb[e]&&(fb[e]=function(e){switch(e){case"image/webp":return function(){if(!Gm)return!1;try{return 0===document.createElement("canvas").toDataURL("image/webp").indexOf("data:image/webp")}catch(e){return!1}}();case"image/svg":return Gm;default:if(!Gm){var t=globalThis._parseImageNode;return Boolean(t)&&cb.includes(e)}return!0}}(e)),fb[e]}function Ab(e,t){if(!e)throw new Error(t||"assert failed: gltf")}function db(e,t){if(e.startsWith("data:")||e.startsWith("http:")||e.startsWith("https:"))return e;var n=t.baseUri||t.uri;if(!n)throw new Error("'baseUri' must be provided to resolve relative url ".concat(e));return n.substr(0,n.lastIndexOf("/")+1)+e}function vb(e,t,n){var r=e.bufferViews[n];Ab(r);var i=t[r.buffer];Ab(i);var a=(r.byteOffset||0)+i.byteOffset;return new Uint8Array(i.arrayBuffer,a,r.byteLength)}var hb=["SCALAR","VEC2","VEC3","VEC4"],Ib=[[Int8Array,5120],[Uint8Array,5121],[Int16Array,5122],[Uint16Array,5123],[Uint32Array,5125],[Float32Array,5126],[Float64Array,5130]],yb=new Map(Ib),mb={SCALAR:1,VEC2:2,VEC3:3,VEC4:4,MAT2:4,MAT3:9,MAT4:16},wb={5120:1,5121:1,5122:2,5123:2,5125:4,5126:4},gb={5120:Int8Array,5121:Uint8Array,5122:Int16Array,5123:Uint16Array,5125:Uint32Array,5126:Float32Array};function Eb(e){return hb[e-1]||hb[0]}function Tb(e){var t=yb.get(e.constructor);if(!t)throw new Error("Illegal typed array");return t}function bb(e,t){var n=gb[e.componentType],r=mb[e.type],i=wb[e.componentType],a=e.count*r,s=e.count*r*i;return Ab(s>=0&&s<=t.byteLength),{ArrayType:n,length:a,byteLength:s}}var Db,Pb={asset:{version:"2.0",generator:"loaders.gl"},buffers:[]},Rb=function(){function e(t){b(this,e),Xm(this,"gltf",void 0),Xm(this,"sourceBuffers",void 0),Xm(this,"byteLength",void 0),this.gltf=t||{json:a({},Pb),buffers:[]},this.sourceBuffers=[],this.byteLength=0,this.gltf.buffers&&this.gltf.buffers[0]&&(this.byteLength=this.gltf.buffers[0].byteLength,this.sourceBuffers=[this.gltf.buffers[0]])}return P(e,[{key:"json",get:function(){return this.gltf.json}},{key:"getApplicationData",value:function(e){return this.json[e]}},{key:"getExtraData",value:function(e){return(this.json.extras||{})[e]}},{key:"getExtension",value:function(e){var t=this.getUsedExtensions().find((function(t){return t===e})),n=this.json.extensions||{};return t?n[e]||!0:null}},{key:"getRequiredExtension",value:function(e){var t=this.getRequiredExtensions().find((function(t){return t===e}));return t?this.getExtension(e):null}},{key:"getRequiredExtensions",value:function(){return this.json.extensionsRequired||[]}},{key:"getUsedExtensions",value:function(){return this.json.extensionsUsed||[]}},{key:"getObjectExtension",value:function(e,t){return(e.extensions||{})[t]}},{key:"getScene",value:function(e){return this.getObject("scenes",e)}},{key:"getNode",value:function(e){return this.getObject("nodes",e)}},{key:"getSkin",value:function(e){return this.getObject("skins",e)}},{key:"getMesh",value:function(e){return this.getObject("meshes",e)}},{key:"getMaterial",value:function(e){return this.getObject("materials",e)}},{key:"getAccessor",value:function(e){return this.getObject("accessors",e)}},{key:"getTexture",value:function(e){return this.getObject("textures",e)}},{key:"getSampler",value:function(e){return this.getObject("samplers",e)}},{key:"getImage",value:function(e){return this.getObject("images",e)}},{key:"getBufferView",value:function(e){return this.getObject("bufferViews",e)}},{key:"getBuffer",value:function(e){return this.getObject("buffers",e)}},{key:"getObject",value:function(e,t){if("object"===T(t))return t;var n=this.json[e]&&this.json[e][t];if(!n)throw new Error("glTF file error: Could not find ".concat(e,"[").concat(t,"]"));return n}},{key:"getTypedArrayForBufferView",value:function(e){var t=(e=this.getBufferView(e)).buffer,n=this.gltf.buffers[t];Ab(n);var r=(e.byteOffset||0)+n.byteOffset;return new Uint8Array(n.arrayBuffer,r,e.byteLength)}},{key:"getTypedArrayForAccessor",value:function(e){e=this.getAccessor(e);var t=this.getBufferView(e.bufferView),n=this.getBuffer(t.buffer).data,r=bb(e,t),i=r.ArrayType,a=r.length;return new i(n,t.byteOffset+e.byteOffset,a)}},{key:"getTypedArrayForImageData",value:function(e){e=this.getAccessor(e);var t=this.getBufferView(e.bufferView),n=this.getBuffer(t.buffer).data,r=t.byteOffset||0;return new Uint8Array(n,r,t.byteLength)}},{key:"addApplicationData",value:function(e,t){return this.json[e]=t,this}},{key:"addExtraData",value:function(e,t){return this.json.extras=this.json.extras||{},this.json.extras[e]=t,this}},{key:"addObjectExtension",value:function(e,t,n){return e.extensions=e.extensions||{},e.extensions[t]=n,this.registerUsedExtension(t),this}},{key:"setObjectExtension",value:function(e,t,n){(e.extensions||{})[t]=n}},{key:"removeObjectExtension",value:function(e,t){var n=e.extensions||{},r=n[t];return delete n[t],r}},{key:"addExtension",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return Ab(t),this.json.extensions=this.json.extensions||{},this.json.extensions[e]=t,this.registerUsedExtension(e),t}},{key:"addRequiredExtension",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return Ab(t),this.addExtension(e,t),this.registerRequiredExtension(e),t}},{key:"registerUsedExtension",value:function(e){this.json.extensionsUsed=this.json.extensionsUsed||[],this.json.extensionsUsed.find((function(t){return t===e}))||this.json.extensionsUsed.push(e)}},{key:"registerRequiredExtension",value:function(e){this.registerUsedExtension(e),this.json.extensionsRequired=this.json.extensionsRequired||[],this.json.extensionsRequired.find((function(t){return t===e}))||this.json.extensionsRequired.push(e)}},{key:"removeExtension",value:function(e){this.json.extensionsRequired&&this._removeStringFromArray(this.json.extensionsRequired,e),this.json.extensionsUsed&&this._removeStringFromArray(this.json.extensionsUsed,e),this.json.extensions&&delete this.json.extensions[e]}},{key:"setDefaultScene",value:function(e){this.json.scene=e}},{key:"addScene",value:function(e){var t=e.nodeIndices;return this.json.scenes=this.json.scenes||[],this.json.scenes.push({nodes:t}),this.json.scenes.length-1}},{key:"addNode",value:function(e){var t=e.meshIndex,n=e.matrix;this.json.nodes=this.json.nodes||[];var r={mesh:t};return n&&(r.matrix=n),this.json.nodes.push(r),this.json.nodes.length-1}},{key:"addMesh",value:function(e){var t=e.attributes,n=e.indices,r=e.material,i=e.mode,a=void 0===i?4:i,s={primitives:[{attributes:this._addAttributes(t),mode:a}]};if(n){var o=this._addIndices(n);s.primitives[0].indices=o}return Number.isFinite(r)&&(s.primitives[0].material=r),this.json.meshes=this.json.meshes||[],this.json.meshes.push(s),this.json.meshes.length-1}},{key:"addPointCloud",value:function(e){var t={primitives:[{attributes:this._addAttributes(e),mode:0}]};return this.json.meshes=this.json.meshes||[],this.json.meshes.push(t),this.json.meshes.length-1}},{key:"addImage",value:function(e,t){var n=rb(e),r=t||(null==n?void 0:n.mimeType),i={bufferView:this.addBufferView(e),mimeType:r};return this.json.images=this.json.images||[],this.json.images.push(i),this.json.images.length-1}},{key:"addBufferView",value:function(e){var t=e.byteLength;Ab(Number.isFinite(t)),this.sourceBuffers=this.sourceBuffers||[],this.sourceBuffers.push(e);var n={buffer:0,byteOffset:this.byteLength,byteLength:t};return this.byteLength+=_w(t,4),this.json.bufferViews=this.json.bufferViews||[],this.json.bufferViews.push(n),this.json.bufferViews.length-1}},{key:"addAccessor",value:function(e,t){var n={bufferView:e,type:Eb(t.size),componentType:t.componentType,count:t.count,max:t.max,min:t.min};return this.json.accessors=this.json.accessors||[],this.json.accessors.push(n),this.json.accessors.length-1}},{key:"addBinaryBuffer",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{size:3},n=this.addBufferView(e),r={min:t.min,max:t.max};r.min&&r.max||(r=this._getAccessorMinMax(e,t.size));var i={size:t.size,componentType:Tb(e),count:Math.round(e.length/t.size),min:r.min,max:r.max};return this.addAccessor(n,Object.assign(i,t))}},{key:"addTexture",value:function(e){var t={source:e.imageIndex};return this.json.textures=this.json.textures||[],this.json.textures.push(t),this.json.textures.length-1}},{key:"addMaterial",value:function(e){return this.json.materials=this.json.materials||[],this.json.materials.push(e),this.json.materials.length-1}},{key:"createBinaryChunk",value:function(){var e,t;this.gltf.buffers=[];var n,r=this.byteLength,i=new ArrayBuffer(r),a=new Uint8Array(i),s=0,o=f(this.sourceBuffers||[]);try{for(o.s();!(n=o.n()).done;){s=Bw(n.value,a,s)}}catch(e){o.e(e)}finally{o.f()}null!==(e=this.json)&&void 0!==e&&null!==(t=e.buffers)&&void 0!==t&&t[0]?this.json.buffers[0].byteLength=r:this.json.buffers=[{byteLength:r}],this.gltf.binary=i,this.sourceBuffers=[i]}},{key:"_removeStringFromArray",value:function(e,t){for(var n=!0;n;){var r=e.indexOf(t);r>-1?e.splice(r,1):n=!1}}},{key:"_addAttributes",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t={};for(var n in e){var r=e[n],i=this._getGltfAttributeName(n),a=this.addBinaryBuffer(r.value,r);t[i]=a}return t}},{key:"_addIndices",value:function(e){return this.addBinaryBuffer(e,{size:1})}},{key:"_getGltfAttributeName",value:function(e){switch(e.toLowerCase()){case"position":case"positions":case"vertices":return"POSITION";case"normal":case"normals":return"NORMAL";case"color":case"colors":return"COLOR_0";case"texcoord":case"texcoords":return"TEXCOORD_0";default:return e}}},{key:"_getAccessorMinMax",value:function(e,t){var n={min:null,max:null};if(e.length5&&void 0!==u[5]?u[5]:"NONE",e.next=3,Mb();case 3:kb(l=e.sent,l.exports[Nb[a]],t,n,r,i,l.exports[Sb[s||"NONE"]]);case 5:case"end":return e.stop()}}),e)}))),xb.apply(this,arguments)}function Mb(){return Fb.apply(this,arguments)}function Fb(){return(Fb=u(o().mark((function e(){return o().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return Db||(Db=Hb()),e.abrupt("return",Db);case 2:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function Hb(){return Ub.apply(this,arguments)}function Ub(){return(Ub=u(o().mark((function e(){var t,n;return o().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return t=Cb,WebAssembly.validate(Bb)&&(t=_b,console.log("Warning: meshopt_decoder is using experimental SIMD support")),e.next=4,WebAssembly.instantiate(Gb(t),{});case 4:return n=e.sent,e.next=7,n.instance.exports.__wasm_call_ctors();case 7:return e.abrupt("return",n.instance);case 8:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function Gb(e){for(var t=new Uint8Array(e.length),n=0;n96?r-71:r>64?r-65:r>47?r+4:r>46?63:62}for(var i=0,a=0;ai?c:i,a=f>a?f:a,s=p>s?p:s}return[[t,n,r],[i,a,s]]}var qb=function(){function e(t,n){b(this,e),Xm(this,"fields",void 0),Xm(this,"metadata",void 0),function(e,t){if(!e)throw new Error(t||"loader assertion failed.")}(Array.isArray(t)),function(e){var t,n={},r=f(e);try{for(r.s();!(t=r.n()).done;){var i=t.value;n[i.name]&&console.warn("Schema: duplicated field name",i.name,i),n[i.name]=!0}}catch(e){r.e(e)}finally{r.f()}}(t),this.fields=t,this.metadata=n||new Map}return P(e,[{key:"compareTo",value:function(e){if(this.metadata!==e.metadata)return!1;if(this.fields.length!==e.fields.length)return!1;for(var t=0;t2&&void 0!==arguments[2]&&arguments[2],i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:new Map;b(this,e),Xm(this,"name",void 0),Xm(this,"type",void 0),Xm(this,"nullable",void 0),Xm(this,"metadata",void 0),this.name=t,this.type=n,this.nullable=r,this.metadata=i}return P(e,[{key:"typeId",get:function(){return this.type&&this.type.typeId}},{key:"clone",value:function(){return new e(this.name,this.type,this.nullable,this.metadata)}},{key:"compareTo",value:function(e){return this.name===e.name&&this.type===e.type&&this.nullable===e.nullable&&this.metadata===e.metadata}},{key:"toString",value:function(){return"".concat(this.type).concat(this.nullable?", nullable":"").concat(this.metadata?", metadata: ".concat(this.metadata):"")}}]),e}();!function(e){e[e.NONE=0]="NONE",e[e.Null=1]="Null",e[e.Int=2]="Int",e[e.Float=3]="Float",e[e.Binary=4]="Binary",e[e.Utf8=5]="Utf8",e[e.Bool=6]="Bool",e[e.Decimal=7]="Decimal",e[e.Date=8]="Date",e[e.Time=9]="Time",e[e.Timestamp=10]="Timestamp",e[e.Interval=11]="Interval",e[e.List=12]="List",e[e.Struct=13]="Struct",e[e.Union=14]="Union",e[e.FixedSizeBinary=15]="FixedSizeBinary",e[e.FixedSizeList=16]="FixedSizeList",e[e.Map=17]="Map",e[e.Dictionary=-1]="Dictionary",e[e.Int8=-2]="Int8",e[e.Int16=-3]="Int16",e[e.Int32=-4]="Int32",e[e.Int64=-5]="Int64",e[e.Uint8=-6]="Uint8",e[e.Uint16=-7]="Uint16",e[e.Uint32=-8]="Uint32",e[e.Uint64=-9]="Uint64",e[e.Float16=-10]="Float16",e[e.Float32=-11]="Float32",e[e.Float64=-12]="Float64",e[e.DateDay=-13]="DateDay",e[e.DateMillisecond=-14]="DateMillisecond",e[e.TimestampSecond=-15]="TimestampSecond",e[e.TimestampMillisecond=-16]="TimestampMillisecond",e[e.TimestampMicrosecond=-17]="TimestampMicrosecond",e[e.TimestampNanosecond=-18]="TimestampNanosecond",e[e.TimeSecond=-19]="TimeSecond",e[e.TimeMillisecond=-20]="TimeMillisecond",e[e.TimeMicrosecond=-21]="TimeMicrosecond",e[e.TimeNanosecond=-22]="TimeNanosecond",e[e.DenseUnion=-23]="DenseUnion",e[e.SparseUnion=-24]="SparseUnion",e[e.IntervalDayTime=-25]="IntervalDayTime",e[e.IntervalYearMonth=-26]="IntervalYearMonth"}(Zb||(Zb={}));var eD=function(){function e(){b(this,e)}return P(e,[{key:"typeId",get:function(){return Zb.NONE}},{key:"compareTo",value:function(e){return this===e}}],[{key:"isNull",value:function(e){return e&&e.typeId===Zb.Null}},{key:"isInt",value:function(e){return e&&e.typeId===Zb.Int}},{key:"isFloat",value:function(e){return e&&e.typeId===Zb.Float}},{key:"isBinary",value:function(e){return e&&e.typeId===Zb.Binary}},{key:"isUtf8",value:function(e){return e&&e.typeId===Zb.Utf8}},{key:"isBool",value:function(e){return e&&e.typeId===Zb.Bool}},{key:"isDecimal",value:function(e){return e&&e.typeId===Zb.Decimal}},{key:"isDate",value:function(e){return e&&e.typeId===Zb.Date}},{key:"isTime",value:function(e){return e&&e.typeId===Zb.Time}},{key:"isTimestamp",value:function(e){return e&&e.typeId===Zb.Timestamp}},{key:"isInterval",value:function(e){return e&&e.typeId===Zb.Interval}},{key:"isList",value:function(e){return e&&e.typeId===Zb.List}},{key:"isStruct",value:function(e){return e&&e.typeId===Zb.Struct}},{key:"isUnion",value:function(e){return e&&e.typeId===Zb.Union}},{key:"isFixedSizeBinary",value:function(e){return e&&e.typeId===Zb.FixedSizeBinary}},{key:"isFixedSizeList",value:function(e){return e&&e.typeId===Zb.FixedSizeList}},{key:"isMap",value:function(e){return e&&e.typeId===Zb.Map}},{key:"isDictionary",value:function(e){return e&&e.typeId===Zb.Dictionary}}]),e}(),tD=function(e,t){I(r,eD);var n=m(r);function r(e,t){var i;return b(this,r),Xm(g(i=n.call(this)),"isSigned",void 0),Xm(g(i),"bitWidth",void 0),i.isSigned=e,i.bitWidth=t,i}return P(r,[{key:"typeId",get:function(){return Zb.Int}},{key:t,get:function(){return"Int"}},{key:"toString",value:function(){return"".concat(this.isSigned?"I":"Ui","nt").concat(this.bitWidth)}}]),r}(0,Symbol.toStringTag),nD=function(e){I(n,tD);var t=m(n);function n(){return b(this,n),t.call(this,!0,8)}return P(n)}(),rD=function(e){I(n,tD);var t=m(n);function n(){return b(this,n),t.call(this,!0,16)}return P(n)}(),iD=function(e){I(n,tD);var t=m(n);function n(){return b(this,n),t.call(this,!0,32)}return P(n)}(),aD=function(e){I(n,tD);var t=m(n);function n(){return b(this,n),t.call(this,!1,8)}return P(n)}(),sD=function(e){I(n,tD);var t=m(n);function n(){return b(this,n),t.call(this,!1,16)}return P(n)}(),oD=function(e){I(n,tD);var t=m(n);function n(){return b(this,n),t.call(this,!1,32)}return P(n)}(),lD=32,uD=64,cD=function(e,t){I(r,eD);var n=m(r);function r(e){var t;return b(this,r),Xm(g(t=n.call(this)),"precision",void 0),t.precision=e,t}return P(r,[{key:"typeId",get:function(){return Zb.Float}},{key:t,get:function(){return"Float"}},{key:"toString",value:function(){return"Float".concat(this.precision)}}]),r}(0,Symbol.toStringTag),fD=function(e){I(n,cD);var t=m(n);function n(){return b(this,n),t.call(this,lD)}return P(n)}(),pD=function(e){I(n,cD);var t=m(n);function n(){return b(this,n),t.call(this,uD)}return P(n)}(),AD=function(e,t){I(r,eD);var n=m(r);function r(e,t){var i;return b(this,r),Xm(g(i=n.call(this)),"listSize",void 0),Xm(g(i),"children",void 0),i.listSize=e,i.children=[t],i}return P(r,[{key:"typeId",get:function(){return Zb.FixedSizeList}},{key:"valueType",get:function(){return this.children[0].type}},{key:"valueField",get:function(){return this.children[0]}},{key:t,get:function(){return"FixedSizeList"}},{key:"toString",value:function(){return"FixedSizeList[".concat(this.listSize,"]<").concat(this.valueType,">")}}]),r}(0,Symbol.toStringTag);function dD(e,t,n){var r=function(e){switch(e.constructor){case Int8Array:return new nD;case Uint8Array:return new aD;case Int16Array:return new rD;case Uint16Array:return new sD;case Int32Array:return new iD;case Uint32Array:return new oD;case Float32Array:return new fD;case Float64Array:return new pD;default:throw new Error("array type not supported")}}(t.value),i=n||function(e){var t=new Map;"byteOffset"in e&&t.set("byteOffset",e.byteOffset.toString(10));"byteStride"in e&&t.set("byteStride",e.byteStride.toString(10));"normalized"in e&&t.set("normalized",e.normalized.toString());return t}(t);return new $b(e,new AD(t.size,new $b("value",r)),!1,i)}function vD(e,t,n){var r=ID(t.metadata),i=[],a=function(e){var t={};for(var n in e){var r=e[n];t[r.name||"undefined"]=r}return t}(t.attributes);for(var s in e){var o=hD(s,e[s],a[s]);i.push(o)}if(n){var l=hD("indices",n);i.push(l)}return new qb(i,r)}function hD(e,t,n){return dD(e,t,n?ID(n.metadata):void 0)}function ID(e){var t=new Map;for(var n in e)t.set("".concat(n,".string"),JSON.stringify(e[n]));return t}var yD={POSITION:"POSITION",NORMAL:"NORMAL",COLOR:"COLOR_0",TEX_COORD:"TEXCOORD_0"},mD={1:Int8Array,2:Uint8Array,3:Int16Array,4:Uint16Array,5:Int32Array,6:Uint32Array,9:Float32Array},wD=function(){function e(t){b(this,e),Xm(this,"draco",void 0),Xm(this,"decoder",void 0),Xm(this,"metadataQuerier",void 0),this.draco=t,this.decoder=new this.draco.Decoder,this.metadataQuerier=new this.draco.MetadataQuerier}return P(e,[{key:"destroy",value:function(){this.draco.destroy(this.decoder),this.draco.destroy(this.metadataQuerier)}},{key:"parseSync",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=new this.draco.DecoderBuffer;n.Init(new Int8Array(e),e.byteLength),this._disableAttributeTransforms(t);var r=this.decoder.GetEncodedGeometryType(n),i=r===this.draco.TRIANGULAR_MESH?new this.draco.Mesh:new this.draco.PointCloud;try{var s;switch(r){case this.draco.TRIANGULAR_MESH:s=this.decoder.DecodeBufferToMesh(n,i);break;case this.draco.POINT_CLOUD:s=this.decoder.DecodeBufferToPointCloud(n,i);break;default:throw new Error("DRACO: Unknown geometry type.")}if(!s.ok()||!i.ptr){var o="DRACO decompression failed: ".concat(s.error_msg());throw new Error(o)}var l=this._getDracoLoaderData(i,r,t),u=this._getMeshData(i,l,t),c=Xb(u.attributes),f=vD(u.attributes,l,u.indices),p=a(a({loader:"draco",loaderData:l,header:{vertexCount:i.num_points(),boundingBox:c}},u),{},{schema:f});return p}finally{this.draco.destroy(n),i&&this.draco.destroy(i)}}},{key:"_getDracoLoaderData",value:function(e,t,n){var r=this._getTopLevelMetadata(e),i=this._getDracoAttributes(e,n);return{geometry_type:t,num_attributes:e.num_attributes(),num_points:e.num_points(),num_faces:e instanceof this.draco.Mesh?e.num_faces():0,metadata:r,attributes:i}}},{key:"_getDracoAttributes",value:function(e,t){for(var n={},r=0;r2&&void 0!==arguments[2]&&arguments[2];if(!e)return null;if(Array.isArray(e))return new t(e);if(n&&!(e instanceof t))return new t(e);return e}(t,Float32Array)),r=t.length/n);return{buffer:t,size:n,count:r}}(e),n=t.buffer,r=t.size;return{value:n,size:r,byteOffset:0,count:t.count,type:Eb(r),componentType:Tb(n)}}function LD(){return(LD=u(o().mark((function e(t,n,r){var i,a,s,l,u,c;return o().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(null!=n&&null!==(i=n.gltf)&&void 0!==i&&i.decompressMeshes){e.next=2;break}return e.abrupt("return");case 2:a=new Rb(t),s=[],l=f(UD(a));try{for(l.s();!(u=l.n()).done;)c=u.value,a.getObjectExtension(c,"KHR_draco_mesh_compression")&&s.push(xD(a,c,n,r))}catch(e){l.e(e)}finally{l.f()}return e.next=8,Promise.all(s);case 8:a.removeExtension("KHR_draco_mesh_compression");case 9:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function xD(e,t,n,r){return MD.apply(this,arguments)}function MD(){return MD=u(o().mark((function e(t,n,r,i){var s,l,u,c,f,A,d,v,h,I,y,m,w,g;return o().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(s=t.getObjectExtension(n,"KHR_draco_mesh_compression")){e.next=3;break}return e.abrupt("return");case 3:return l=t.getTypedArrayForBufferView(s.bufferView),u=Cw(l.buffer,l.byteOffset),c=i.parse,delete(f=a({},r))["3d-tiles"],e.next=10,c(u,BD,f,i);case 10:for(A=e.sent,d=SD(A.attributes),v=0,h=Object.entries(d);v2&&void 0!==arguments[2]?arguments[2]:4,i=arguments.length>3?arguments[3]:void 0,a=arguments.length>4?arguments[4]:void 0;if(!i.DracoWriter)throw new Error("options.gltf.DracoWriter not provided");var o=i.DracoWriter.encodeSync({attributes:e}),l=null==a||null===(n=a.parseSync)||void 0===n?void 0:n.call(a,{attributes:e}),u=i._addFauxAttributes(l.attributes),c=i.addBufferView(o),f={primitives:[{attributes:u,mode:r,extensions:s({},"KHR_draco_mesh_compression",{bufferView:c,attributes:u})}]};return f}function HD(e){if(!e.attributes&&Object.keys(e.attributes).length>0)throw new Error("glTF: Empty primitive detected: Draco decompression failure?")}function UD(e){var t,n,i,a,s,l;return o().wrap((function(r){for(;;)switch(r.prev=r.next){case 0:t=f(e.json.meshes||[]),r.prev=1,t.s();case 3:if((n=t.n()).done){r.next=24;break}i=n.value,a=f(i.primitives),r.prev=6,a.s();case 8:if((s=a.n()).done){r.next=14;break}return l=s.value,r.next=12,l;case 12:r.next=8;break;case 14:r.next=19;break;case 16:r.prev=16,r.t0=r.catch(6),a.e(r.t0);case 19:return r.prev=19,a.f(),r.finish(19);case 22:r.next=3;break;case 24:r.next=29;break;case 26:r.prev=26,r.t1=r.catch(1),t.e(r.t1);case 29:return r.prev=29,t.f(),r.finish(29);case 32:case"end":return r.stop()}}),r,null,[[1,26,29,32],[6,16,19,22]])}function GD(){return(GD=u(o().mark((function e(t){var n,r,i,a,s,l,u;return o().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:n=new Rb(t),r=n.json,(i=n.getExtension("KHR_lights_punctual"))&&(n.json.lights=i.lights,n.removeExtension("KHR_lights_punctual")),a=f(r.nodes||[]);try{for(a.s();!(s=a.n()).done;)l=s.value,(u=n.getObjectExtension(l,"KHR_lights_punctual"))&&(l.light=u.light),n.removeObjectExtension(l,"KHR_lights_punctual")}catch(e){a.e(e)}finally{a.f()}case 6:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function kD(){return(kD=u(o().mark((function e(t){var n,r,i,a,s,l,u;return o().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(n=new Rb(t),(r=n.json).lights&&(Ab(!(i=n.addExtension("KHR_lights_punctual")).lights),i.lights=r.lights,delete r.lights),n.json.lights){a=f(n.json.lights);try{for(a.s();!(s=a.n()).done;)l=s.value,u=l.node,n.addObjectExtension(u,"KHR_lights_punctual",l)}catch(e){a.e(e)}finally{a.f()}delete n.json.lights}case 4:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function jD(){return(jD=u(o().mark((function e(t){var n,r,i,a,s;return o().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:n=new Rb(t),r=n.json,n.removeExtension("KHR_materials_unlit"),i=f(r.materials||[]);try{for(i.s();!(a=i.n()).done;)s=a.value,s.extensions&&s.extensions.KHR_materials_unlit&&(s.unlit=!0),n.removeObjectExtension(s,"KHR_materials_unlit")}catch(e){i.e(e)}finally{i.f()}case 5:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function VD(){return(VD=u(o().mark((function e(t){var n,r,i,a,s,l,u,c;return o().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(n=new Rb(t),r=n.json,i=n.getExtension("KHR_techniques_webgl")){a=WD(i,n),s=f(r.materials||[]);try{for(s.s();!(l=s.n()).done;)u=l.value,(c=n.getObjectExtension(u,"KHR_techniques_webgl"))&&(u.technique=Object.assign({},c,a[c.technique]),u.technique.values=zD(u.technique,n)),n.removeObjectExtension(u,"KHR_techniques_webgl")}catch(e){s.e(e)}finally{s.f()}n.removeExtension("KHR_techniques_webgl")}case 4:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function QD(){return(QD=u(o().mark((function e(t,n){return o().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function WD(e,t){var n=e.programs,r=void 0===n?[]:n,i=e.shaders,a=void 0===i?[]:i,s=e.techniques,o=void 0===s?[]:s,l=new TextDecoder;return a.forEach((function(e){if(!Number.isFinite(e.bufferView))throw new Error("KHR_techniques_webgl: no shader code");e.code=l.decode(t.getTypedArrayForBufferView(e.bufferView))})),r.forEach((function(e){e.fragmentShader=a[e.fragmentShader],e.vertexShader=a[e.vertexShader]})),o.forEach((function(e){e.program=r[e.program]})),o}function zD(e,t){var n=Object.assign({},e.values);return Object.keys(e.uniforms||{}).forEach((function(t){e.uniforms[t].value&&!(t in n)&&(n[t]=e.uniforms[t].value)})),Object.keys(n).forEach((function(e){"object"===T(n[e])&&void 0!==n[e].index&&(n[e].texture=t.getTexture(n[e].index))})),n}var KD=[Wb,zb,Kb,Object.freeze({__proto__:null,name:"KHR_draco_mesh_compression",preprocess:function(e,t,n){var r,i=new Rb(e),a=f(UD(i));try{for(a.s();!(r=a.n()).done;){var s=r.value;i.getObjectExtension(s,"KHR_draco_mesh_compression")}}catch(e){a.e(e)}finally{a.f()}},decode:function(e,t,n){return LD.apply(this,arguments)},encode:function(e){var t,n=new Rb(e),r=f(n.json.meshes||[]);try{for(r.s();!(t=r.n()).done;){var i=t.value;FD(i),n.addRequiredExtension("KHR_draco_mesh_compression")}}catch(e){r.e(e)}finally{r.f()}}}),Object.freeze({__proto__:null,name:"KHR_lights_punctual",decode:function(e){return GD.apply(this,arguments)},encode:function(e){return kD.apply(this,arguments)}}),Object.freeze({__proto__:null,name:"KHR_materials_unlit",decode:function(e){return jD.apply(this,arguments)},encode:function(e){var t=new Rb(e),n=t.json;if(t.materials){var r,i=f(n.materials||[]);try{for(i.s();!(r=i.n()).done;){var a=r.value;a.unlit&&(delete a.unlit,t.addObjectExtension(a,"KHR_materials_unlit",{}),t.addExtension("KHR_materials_unlit"))}}catch(e){i.e(e)}finally{i.f()}}}}),Object.freeze({__proto__:null,name:"KHR_techniques_webgl",decode:function(e){return VD.apply(this,arguments)},encode:function(e,t){return QD.apply(this,arguments)}})];function YD(e){var t,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=arguments.length>2?arguments[2]:void 0,i=KD.filter((function(e){return JD(e.name,n)})),a=f(i);try{for(a.s();!(t=a.n()).done;){var s,o=t.value;null===(s=o.preprocess)||void 0===s||s.call(o,e,n,r)}}catch(e){a.e(e)}finally{a.f()}}function XD(e){return qD.apply(this,arguments)}function qD(){return qD=u(o().mark((function e(t){var n,r,i,a,s,l,u,c=arguments;return o().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:n=c.length>1&&void 0!==c[1]?c[1]:{},r=c.length>2?c[2]:void 0,i=KD.filter((function(e){return JD(e.name,n)})),a=f(i),e.prev=4,a.s();case 6:if((s=a.n()).done){e.next=12;break}return l=s.value,e.next=10,null===(u=l.decode)||void 0===u?void 0:u.call(l,t,n,r);case 10:e.next=6;break;case 12:e.next=17;break;case 14:e.prev=14,e.t0=e.catch(4),a.e(e.t0);case 17:return e.prev=17,a.f(),e.finish(17);case 20:case"end":return e.stop()}}),e,null,[[4,14,17,20]])}))),qD.apply(this,arguments)}function JD(e,t){var n,r=(null==t||null===(n=t.gltf)||void 0===n?void 0:n.excludeExtensions)||{};return!(e in r&&!r[e])}var ZD={accessors:"accessor",animations:"animation",buffers:"buffer",bufferViews:"bufferView",images:"image",materials:"material",meshes:"mesh",nodes:"node",samplers:"sampler",scenes:"scene",skins:"skin",textures:"texture"},$D={accessor:"accessors",animations:"animation",buffer:"buffers",bufferView:"bufferViews",image:"images",material:"materials",mesh:"meshes",node:"nodes",sampler:"samplers",scene:"scenes",skin:"skins",texture:"textures"},eP=function(){function e(){b(this,e),Xm(this,"idToIndexMap",{animations:{},accessors:{},buffers:{},bufferViews:{},images:{},materials:{},meshes:{},nodes:{},samplers:{},scenes:{},skins:{},textures:{}}),Xm(this,"json",void 0)}return P(e,[{key:"normalize",value:function(e,t){this.json=e.json;var n=e.json;switch(n.asset&&n.asset.version){case"2.0":return;case void 0:case"1.0":break;default:return void console.warn("glTF: Unknown version ".concat(n.asset.version))}if(!t.normalize)throw new Error("glTF v1 is not supported.");console.warn("Converting glTF v1 to glTF v2 format. This is experimental and may fail."),this._addAsset(n),this._convertTopLevelObjectsToArrays(n),function(e){var t,n=new Rb(e),r=n.json,i=f(r.images||[]);try{for(i.s();!(t=i.n()).done;){var a=t.value,s=n.getObjectExtension(a,"KHR_binary_glTF");s&&Object.assign(a,s),n.removeObjectExtension(a,"KHR_binary_glTF")}}catch(e){i.e(e)}finally{i.f()}r.buffers&&r.buffers[0]&&delete r.buffers[0].uri,n.removeExtension("KHR_binary_glTF")}(e),this._convertObjectIdsToArrayIndices(n),this._updateObjects(n),this._updateMaterial(n)}},{key:"_addAsset",value:function(e){e.asset=e.asset||{},e.asset.version="2.0",e.asset.generator=e.asset.generator||"Normalized to glTF 2.0 by loaders.gl"}},{key:"_convertTopLevelObjectsToArrays",value:function(e){for(var t in ZD)this._convertTopLevelObjectToArray(e,t)}},{key:"_convertTopLevelObjectToArray",value:function(e,t){var n=e[t];if(n&&!Array.isArray(n))for(var r in e[t]=[],n){var i=n[r];i.id=i.id||r;var a=e[t].length;e[t].push(i),this.idToIndexMap[t][r]=a}}},{key:"_convertObjectIdsToArrayIndices",value:function(e){for(var t in ZD)this._convertIdsToIndices(e,t);"scene"in e&&(e.scene=this._convertIdToIndex(e.scene,"scene"));var n,r=f(e.textures);try{for(r.s();!(n=r.n()).done;){var i=n.value;this._convertTextureIds(i)}}catch(e){r.e(e)}finally{r.f()}var a,s=f(e.meshes);try{for(s.s();!(a=s.n()).done;){var o=a.value;this._convertMeshIds(o)}}catch(e){s.e(e)}finally{s.f()}var l,u=f(e.nodes);try{for(u.s();!(l=u.n()).done;){var c=l.value;this._convertNodeIds(c)}}catch(e){u.e(e)}finally{u.f()}var p,A=f(e.scenes);try{for(A.s();!(p=A.n()).done;){var d=p.value;this._convertSceneIds(d)}}catch(e){A.e(e)}finally{A.f()}}},{key:"_convertTextureIds",value:function(e){e.source&&(e.source=this._convertIdToIndex(e.source,"image"))}},{key:"_convertMeshIds",value:function(e){var t,n=f(e.primitives);try{for(n.s();!(t=n.n()).done;){var r=t.value,i=r.attributes,a=r.indices,s=r.material;for(var o in i)i[o]=this._convertIdToIndex(i[o],"accessor");a&&(r.indices=this._convertIdToIndex(a,"accessor")),s&&(r.material=this._convertIdToIndex(s,"material"))}}catch(e){n.e(e)}finally{n.f()}}},{key:"_convertNodeIds",value:function(e){var t=this;e.children&&(e.children=e.children.map((function(e){return t._convertIdToIndex(e,"node")}))),e.meshes&&(e.meshes=e.meshes.map((function(e){return t._convertIdToIndex(e,"mesh")})))}},{key:"_convertSceneIds",value:function(e){var t=this;e.nodes&&(e.nodes=e.nodes.map((function(e){return t._convertIdToIndex(e,"node")})))}},{key:"_convertIdsToIndices",value:function(e,t){e[t]||(console.warn("gltf v1: json doesn't contain attribute ".concat(t)),e[t]=[]);var n,r=f(e[t]);try{for(r.s();!(n=r.n()).done;){var i=n.value;for(var a in i){var s=i[a],o=this._convertIdToIndex(s,a);i[a]=o}}}catch(e){r.e(e)}finally{r.f()}}},{key:"_convertIdToIndex",value:function(e,t){var n=$D[t];if(n in this.idToIndexMap){var r=this.idToIndexMap[n][e];if(!Number.isFinite(r))throw new Error("gltf v1: failed to resolve ".concat(t," with id ").concat(e));return r}return e}},{key:"_updateObjects",value:function(e){var t,n=f(this.json.buffers);try{for(n.s();!(t=n.n()).done;){delete t.value.type}}catch(e){n.e(e)}finally{n.f()}}},{key:"_updateMaterial",value:function(e){var t,n=f(e.materials);try{var r=function(){var n=t.value;n.pbrMetallicRoughness={baseColorFactor:[1,1,1,1],metallicFactor:1,roughnessFactor:1};var r=(null===(i=n.values)||void 0===i?void 0:i.tex)||(null===(a=n.values)||void 0===a?void 0:a.texture2d_0),s=e.textures.findIndex((function(e){return e.id===r}));-1!==s&&(n.pbrMetallicRoughness.baseColorTexture={index:s})};for(n.s();!(t=n.n()).done;){var i,a;r()}}catch(e){n.e(e)}finally{n.f()}}}]),e}();function tP(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return(new eP).normalize(e,t)}var nP={SCALAR:1,VEC2:2,VEC3:3,VEC4:4,MAT2:4,MAT3:9,MAT4:16},rP={5120:1,5121:1,5122:2,5123:2,5125:4,5126:4},iP=10240,aP=10241,sP=10242,oP=10243,lP=10497,uP=9986,cP={magFilter:iP,minFilter:aP,wrapS:sP,wrapT:oP},fP=(s(e={},iP,9729),s(e,aP,uP),s(e,sP,lP),s(e,oP,lP),e);var pP=function(){function e(){b(this,e),Xm(this,"baseUri",""),Xm(this,"json",{}),Xm(this,"buffers",[]),Xm(this,"images",[])}return P(e,[{key:"postProcess",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=e.json,r=e.buffers,i=void 0===r?[]:r,a=e.images,s=void 0===a?[]:a,o=e.baseUri,l=void 0===o?"":o;return Ab(n),this.baseUri=l,this.json=n,this.buffers=i,this.images=s,this._resolveTree(this.json,t),this.json}},{key:"_resolveTree",value:function(e){var t=this;e.bufferViews&&(e.bufferViews=e.bufferViews.map((function(e,n){return t._resolveBufferView(e,n)}))),e.images&&(e.images=e.images.map((function(e,n){return t._resolveImage(e,n)}))),e.samplers&&(e.samplers=e.samplers.map((function(e,n){return t._resolveSampler(e,n)}))),e.textures&&(e.textures=e.textures.map((function(e,n){return t._resolveTexture(e,n)}))),e.accessors&&(e.accessors=e.accessors.map((function(e,n){return t._resolveAccessor(e,n)}))),e.materials&&(e.materials=e.materials.map((function(e,n){return t._resolveMaterial(e,n)}))),e.meshes&&(e.meshes=e.meshes.map((function(e,n){return t._resolveMesh(e,n)}))),e.nodes&&(e.nodes=e.nodes.map((function(e,n){return t._resolveNode(e,n)}))),e.skins&&(e.skins=e.skins.map((function(e,n){return t._resolveSkin(e,n)}))),e.scenes&&(e.scenes=e.scenes.map((function(e,n){return t._resolveScene(e,n)}))),void 0!==e.scene&&(e.scene=e.scenes[this.json.scene])}},{key:"getScene",value:function(e){return this._get("scenes",e)}},{key:"getNode",value:function(e){return this._get("nodes",e)}},{key:"getSkin",value:function(e){return this._get("skins",e)}},{key:"getMesh",value:function(e){return this._get("meshes",e)}},{key:"getMaterial",value:function(e){return this._get("materials",e)}},{key:"getAccessor",value:function(e){return this._get("accessors",e)}},{key:"getCamera",value:function(e){return null}},{key:"getTexture",value:function(e){return this._get("textures",e)}},{key:"getSampler",value:function(e){return this._get("samplers",e)}},{key:"getImage",value:function(e){return this._get("images",e)}},{key:"getBufferView",value:function(e){return this._get("bufferViews",e)}},{key:"getBuffer",value:function(e){return this._get("buffers",e)}},{key:"_get",value:function(e,t){if("object"===T(t))return t;var n=this.json[e]&&this.json[e][t];return n||console.warn("glTF file error: Could not find ".concat(e,"[").concat(t,"]")),n}},{key:"_resolveScene",value:function(e,t){var n=this;return e.id=e.id||"scene-".concat(t),e.nodes=(e.nodes||[]).map((function(e){return n.getNode(e)})),e}},{key:"_resolveNode",value:function(e,t){var n=this;return e.id=e.id||"node-".concat(t),e.children&&(e.children=e.children.map((function(e){return n.getNode(e)}))),void 0!==e.mesh?e.mesh=this.getMesh(e.mesh):void 0!==e.meshes&&e.meshes.length&&(e.mesh=e.meshes.reduce((function(e,t){var r=n.getMesh(t);return e.id=r.id,e.primitives=e.primitives.concat(r.primitives),e}),{primitives:[]})),void 0!==e.camera&&(e.camera=this.getCamera(e.camera)),void 0!==e.skin&&(e.skin=this.getSkin(e.skin)),e}},{key:"_resolveSkin",value:function(e,t){return e.id=e.id||"skin-".concat(t),e.inverseBindMatrices=this.getAccessor(e.inverseBindMatrices),e}},{key:"_resolveMesh",value:function(e,t){var n=this;return e.id=e.id||"mesh-".concat(t),e.primitives&&(e.primitives=e.primitives.map((function(e){var t=(e=a({},e)).attributes;for(var r in e.attributes={},t)e.attributes[r]=n.getAccessor(t[r]);return void 0!==e.indices&&(e.indices=n.getAccessor(e.indices)),void 0!==e.material&&(e.material=n.getMaterial(e.material)),e}))),e}},{key:"_resolveMaterial",value:function(e,t){if(e.id=e.id||"material-".concat(t),e.normalTexture&&(e.normalTexture=a({},e.normalTexture),e.normalTexture.texture=this.getTexture(e.normalTexture.index)),e.occlusionTexture&&(e.occlustionTexture=a({},e.occlustionTexture),e.occlusionTexture.texture=this.getTexture(e.occlusionTexture.index)),e.emissiveTexture&&(e.emmisiveTexture=a({},e.emmisiveTexture),e.emissiveTexture.texture=this.getTexture(e.emissiveTexture.index)),e.emissiveFactor||(e.emissiveFactor=e.emmisiveTexture?[1,1,1]:[0,0,0]),e.pbrMetallicRoughness){e.pbrMetallicRoughness=a({},e.pbrMetallicRoughness);var n=e.pbrMetallicRoughness;n.baseColorTexture&&(n.baseColorTexture=a({},n.baseColorTexture),n.baseColorTexture.texture=this.getTexture(n.baseColorTexture.index)),n.metallicRoughnessTexture&&(n.metallicRoughnessTexture=a({},n.metallicRoughnessTexture),n.metallicRoughnessTexture.texture=this.getTexture(n.metallicRoughnessTexture.index))}return e}},{key:"_resolveAccessor",value:function(e,t){var n,r;if(e.id=e.id||"accessor-".concat(t),void 0!==e.bufferView&&(e.bufferView=this.getBufferView(e.bufferView)),e.bytesPerComponent=(n=e.componentType,rP[n]),e.components=(r=e.type,nP[r]),e.bytesPerElement=e.bytesPerComponent*e.components,e.bufferView){var i=e.bufferView.buffer,a=bb(e,e.bufferView),s=a.ArrayType,o=a.byteLength,l=(e.bufferView.byteOffset||0)+(e.byteOffset||0)+i.byteOffset,u=i.arrayBuffer.slice(l,l+o);e.bufferView.byteStride&&(u=this._getValueFromInterleavedBuffer(i,l,e.bufferView.byteStride,e.bytesPerElement,e.count)),e.value=new s(u)}return e}},{key:"_getValueFromInterleavedBuffer",value:function(e,t,n,r,i){for(var a=new Uint8Array(i*r),s=0;s1&&void 0!==arguments[1]?arguments[1]:0;return"".concat(String.fromCharCode(e.getUint8(t+0))).concat(String.fromCharCode(e.getUint8(t+1))).concat(String.fromCharCode(e.getUint8(t+2))).concat(String.fromCharCode(e.getUint8(t+3)))}function hP(e,t,n){Um(e.header.byteLength>20);var r=t.getUint32(n+0,dP),i=t.getUint32(n+4,dP);return n+=8,Um(0===i),yP(e,t,n,r),n+=r,n+=mP(e,t,n,e.header.byteLength)}function IP(e,t,n,r){return Um(e.header.byteLength>20),function(e,t,n,r){for(;n+8<=e.header.byteLength;){var i=t.getUint32(n+0,dP),a=t.getUint32(n+4,dP);switch(n+=8,a){case 1313821514:yP(e,t,n,i);break;case 5130562:mP(e,t,n,i);break;case 0:r.strict||yP(e,t,n,i);break;case 1:r.strict||mP(e,t,n,i)}n+=_w(i,4)}}(e,t,n,r),n+e.header.byteLength}function yP(e,t,n,r){var i=new Uint8Array(t.buffer,n,r),a=new TextDecoder("utf8").decode(i);return e.json=JSON.parse(a),_w(r,4)}function mP(e,t,n,r){return e.header.hasBinChunk=!0,e.binChunks.push({byteOffset:n,byteLength:r,arrayBuffer:t.buffer}),_w(r,4)}function wP(e,t){return gP.apply(this,arguments)}function gP(){return gP=u(o().mark((function e(t,n){var r,i,a,s,l,u,c,f,p,A,d=arguments;return o().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(r=d.length>2&&void 0!==d[2]?d[2]:0,i=d.length>3?d[3]:void 0,a=d.length>4?d[4]:void 0,EP(t,n,r,i),tP(t,{normalize:null==i||null===(s=i.gltf)||void 0===s?void 0:s.normalize}),YD(t,i,a),f=[],null==i||null===(l=i.gltf)||void 0===l||!l.loadBuffers||!t.json.buffers){e.next=10;break}return e.next=10,TP(t,i,a);case 10:return null!=i&&null!==(u=i.gltf)&&void 0!==u&&u.loadImages&&(p=DP(t,i,a),f.push(p)),A=XD(t,i,a),f.push(A),e.next=15,Promise.all(f);case 15:return e.abrupt("return",null!=i&&null!==(c=i.gltf)&&void 0!==c&&c.postProcess?AP(t,i):t);case 16:case"end":return e.stop()}}),e)}))),gP.apply(this,arguments)}function EP(e,t,n,r){(r.uri&&(e.baseUri=r.uri),t instanceof ArrayBuffer&&!function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},r=new DataView(e),i=n.magic,a=void 0===i?1735152710:i,s=r.getUint32(t,!1);return s===a||1735152710===s}(t,n,r))&&(t=(new TextDecoder).decode(t));if("string"==typeof t)e.json=bw(t);else if(t instanceof ArrayBuffer){var i={};n=function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,r=new DataView(t),i=vP(r,n+0),a=r.getUint32(n+4,dP),s=r.getUint32(n+8,dP);switch(Object.assign(e,{header:{byteOffset:n,byteLength:s,hasBinChunk:!1},type:i,version:a,json:{},binChunks:[]}),n+=12,e.version){case 1:return hP(e,r,n);case 2:return IP(e,r,n,{});default:throw new Error("Invalid GLB version ".concat(e.version,". Only supports v1 and v2."))}}(i,t,n,r.glb),Ab("glTF"===i.type,"Invalid GLB magic string ".concat(i.type)),e._glb=i,e.json=i.json}else Ab(!1,"GLTF: must be ArrayBuffer or string");var a=e.json.buffers||[];if(e.buffers=new Array(a.length).fill(null),e._glb&&e._glb.header.hasBinChunk){var s=e._glb.binChunks;e.buffers[0]={arrayBuffer:s[0].arrayBuffer,byteOffset:s[0].byteOffset,byteLength:s[0].byteLength}}var o=e.json.images||[];e.images=new Array(o.length).fill({})}function TP(e,t,n){return bP.apply(this,arguments)}function bP(){return(bP=u(o().mark((function e(t,n,r){var i,a,s,l,u,c,f,p;return o().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:i=t.json.buffers||[],a=0;case 2:if(!(a1&&void 0!==u[1]?u[1]:{},r=u.length>2?u[2]:void 0,(n=a(a({},BP.options),n)).gltf=a(a({},BP.options.gltf),n.gltf),i=n.byteOffset,s=void 0===i?0:i,l={},e.next=8,wP(l,t,s,n,r);case 8:return e.abrupt("return",e.sent);case 9:case"end":return e.stop()}}),e)}))),OP.apply(this,arguments)}var SP=function(){function e(t){b(this,e)}return P(e,[{key:"load",value:function(e,t,n,r,i,a,s){!function(e,t,n,r,i,a,s){var o=e.viewer.scene.canvas.spinner;o.processes++,"glb"===t.split(".").pop()?e.dataSource.getGLB(t,(function(s){r.basePath=LP(t),xP(e,t,s,n,r,i,a),o.processes--}),(function(e){o.processes--,s(e)})):e.dataSource.getGLTF(t,(function(s){r.basePath=LP(t),xP(e,t,s,n,r,i,a),o.processes--}),(function(e){o.processes--,s(e)}))}(e,t,n,r=r||{},i,(function(){he.scheduleTask((function(){i.scene.fire("modelLoaded",i.id),i.fire("loaded",!0,!1)})),a&&a()}),(function(t){e.error(t),s&&s(t),i.fire("error",t)}))}},{key:"parse",value:function(e,t,n,r,i,a,s){xP(e,"",t,n,r=r||{},i,(function(){i.scene.fire("modelLoaded",i.id),i.fire("loaded",!0,!1),a&&a()}))}}]),e}();function NP(e){for(var t={},n={},r=e.metaObjects||[],i={},a=0,s=r.length;a0)for(var c=0;c0){null==m&&e.log("Warning: 'name' properties not found on glTF scene nodes - will randomly-generate object IDs in XKT");var w=m;if(e.metaModelCorrections){var g=e.metaModelCorrections.eachChildRoot[w];if(g){var E=e.metaModelCorrections.eachRootStats[g.id];E.countChildren++,E.countChildren>=E.numChildren&&(a.createEntity({id:g.id,meshIds:GP}),GP.length=0)}else{e.metaModelCorrections.metaObjectsMap[w]&&(a.createEntity({id:w,meshIds:GP}),GP.length=0)}}else a.createEntity({id:w,meshIds:GP}),GP.length=0}}function jP(e,t){e.plugin.error(t)}var VP={DEFAULT:{}},QP=function(e){I(n,Ce);var t=m(n);function n(e){var r,i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return b(this,n),(r=t.call(this,"GLTFLoader",e,i))._sceneModelLoader=new SP(g(r),i),r.dataSource=i.dataSource,r.objectDefaults=i.objectDefaults,r}return P(n,[{key:"dataSource",get:function(){return this._dataSource},set:function(e){this._dataSource=e||new os}},{key:"objectDefaults",get:function(){return this._objectDefaults},set:function(e){this._objectDefaults=e||VP}},{key:"load",value:function(){var e=this,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};t.id&&this.viewer.scene.components[t.id]&&(this.error("Component with this ID already exists in viewer: "+t.id+" - will autogenerate this ID"),delete t.id);var n=new Wf(this.viewer.scene,le.apply(t,{isModel:!0,dtxEnabled:t.dtxEnabled})),r=n.id;if(!t.src&&!t.gltf)return this.error("load() param expected: src or gltf"),n;if(t.metaModelSrc||t.metaModelJSON){var i=t.objectDefaults||this._objectDefaults||VP,a=function(a){var s;if(e.viewer.metaScene.createMetaModel(r,a,{includeTypes:t.includeTypes,excludeTypes:t.excludeTypes}),e.viewer.scene.canvas.spinner.processes--,t.includeTypes){s={};for(var o=0,l=t.includeTypes.length;o2&&void 0!==arguments[2]?arguments[2]:{},r="lightgrey",i=n.hoverColor||"rgba(0,0,0,0.4)",a=500,s=a+a/3,o=s/24,l=[{boundary:[6,6,6,6],color:n.frontColor||n.color||"#55FF55"},{boundary:[18,6,6,6],color:n.backColor||n.color||"#55FF55"},{boundary:[12,6,6,6],color:n.rightColor||n.color||"#FF5555"},{boundary:[0,6,6,6],color:n.leftColor||n.color||"#FF5555"},{boundary:[6,0,6,6],color:n.topColor||n.color||"#7777FF"},{boundary:[6,12,6,6],color:n.bottomColor||n.color||"#7777FF"}],u=[{label:"NavCube.front",boundaries:[[7,7,4,4]],dir:[0,1,0],up:[0,0,1]},{label:"NavCube.back",boundaries:[[19,7,4,4]],dir:[0,-1,0],up:[0,0,1]},{label:"NavCube.right",boundaries:[[13,7,4,4]],dir:[-1,0,0],up:[0,0,1]},{label:"NavCube.left",boundaries:[[1,7,4,4]],dir:[1,0,0],up:[0,0,1]},{label:"NavCube.top",boundaries:[[7,1,4,4]],dir:[0,0,-1],up:[0,1,0]},{label:"NavCube.bottom",boundaries:[[7,13,4,4]],dir:[0,0,1],up:[0,-1,0]},{boundaries:[[7,5,4,2]],dir:[0,1,-1],up:[0,1,1]},{boundaries:[[1,6,4,1],[6,1,1,4]],dir:[1,0,-1],up:[1,0,1]},{boundaries:[[7,0,4,1],[19,6,4,1]],dir:[0,-1,-1],up:[0,-1,1]},{boundaries:[[13,6,4,1],[11,1,1,4]],dir:[-1,0,-1],up:[-1,0,1]},{boundaries:[[7,11,4,2]],dir:[0,1,1],up:[0,-1,1]},{boundaries:[[1,11,4,1],[6,13,1,4]],dir:[1,0,1],up:[-1,0,1]},{boundaries:[[7,17,4,1],[19,11,4,1]],dir:[0,-1,1],up:[0,1,1]},{boundaries:[[13,11,4,1],[11,13,1,4]],dir:[-1,0,1],up:[1,0,1]},{boundaries:[[5,7,2,4]],dir:[1,1,0],up:[0,0,1]},{boundaries:[[11,7,2,4]],dir:[-1,1,0],up:[0,0,1]},{boundaries:[[17,7,2,4]],dir:[-1,-1,0],up:[0,0,1]},{boundaries:[[0,7,1,4],[23,7,1,4]],dir:[1,-1,0],up:[0,0,1]},{boundaries:[[5,11,2,2]],dir:[1,1,1],up:[-1,-1,1]},{boundaries:[[23,11,1,1],[6,17,1,1],[0,11,1,1]],dir:[1,-1,1],up:[-1,1,1]},{boundaries:[[5,5,2,2]],dir:[1,1,-1],up:[1,1,1]},{boundaries:[[11,17,1,1],[17,11,2,1]],dir:[-1,-1,1],up:[1,1,1]},{boundaries:[[17,6,2,1],[11,0,1,1]],dir:[-1,-1,-1],up:[-1,-1,1]},{boundaries:[[11,11,2,2]],dir:[-1,1,1],up:[1,-1,1]},{boundaries:[[0,6,1,1],[6,0,1,1],[23,6,1,1]],dir:[1,-1,-1],up:[1,-1,1]},{boundaries:[[11,5,2,2]],dir:[-1,1,-1],up:[-1,1,1]}];n.frontColor||n.color,n.backColor||n.color,n.rightColor||n.color,n.leftColor||n.color,n.topColor||n.color,n.bottomColor||n.color;for(var c=[{yUp:"",label:"NavCube.front",boundaries:[[7,7,4,4]],dir:[0,0,-1],up:[0,1,0]},{label:"NavCube.back",boundaries:[[19,7,4,4]],dir:[0,0,1],up:[0,1,0]},{label:"NavCube.right",boundaries:[[13,7,4,4]],dir:[-1,0,0],up:[0,1,0]},{label:"NavCube.left",boundaries:[[1,7,4,4]],dir:[1,0,0],up:[0,1,0]},{label:"NavCube.top",boundaries:[[7,1,4,4]],dir:[0,-1,0],up:[0,0,-1]},{label:"NavCube.bottom",boundaries:[[7,13,4,4]],dir:[0,1,0],up:[0,0,1]},{boundaries:[[7,5,4,2]],dir:[0,-.7071,-.7071],up:[0,.7071,-.7071]},{boundaries:[[1,6,4,1],[6,1,1,4]],dir:[1,-1,0],up:[1,1,0]},{boundaries:[[7,0,4,1],[19,6,4,1]],dir:[0,-.7071,.7071],up:[0,.7071,.7071]},{boundaries:[[13,6,4,1],[11,1,1,4]],dir:[-1,-1,0],up:[-1,1,0]},{boundaries:[[7,11,4,2]],dir:[0,1,-1],up:[0,1,1]},{boundaries:[[1,11,4,1],[6,13,1,4]],dir:[1,1,0],up:[-1,1,0]},{boundaries:[[7,17,4,1],[19,11,4,1]],dir:[0,1,1],up:[0,1,-1]},{boundaries:[[13,11,4,1],[11,13,1,4]],dir:[-1,1,0],up:[1,1,0]},{boundaries:[[5,7,2,4]],dir:[1,0,-1],up:[0,1,0]},{boundaries:[[11,7,2,4]],dir:[-1,0,-1],up:[0,1,0]},{boundaries:[[17,7,2,4]],dir:[-1,0,1],up:[0,1,0]},{boundaries:[[0,7,1,4],[23,7,1,4]],dir:[1,0,1],up:[0,1,0]},{boundaries:[[5,11,2,2]],dir:[.5,.7071,-.5],up:[-.5,.7071,.5]},{boundaries:[[23,11,1,1],[6,17,1,1],[0,11,1,1]],dir:[.5,.7071,.5],up:[-.5,.7071,-.5]},{boundaries:[[5,5,2,2]],dir:[.5,-.7071,-.5],up:[.5,.7071,-.5]},{boundaries:[[11,17,1,1],[17,11,2,1]],dir:[-.5,.7071,.5],up:[.5,.7071,-.5]},{boundaries:[[17,6,2,1],[11,0,1,1]],dir:[-.5,-.7071,.5],up:[-.5,.7071,.5]},{boundaries:[[11,11,2,2]],dir:[-.5,.7071,-.5],up:[.5,.7071,.5]},{boundaries:[[0,6,1,1],[6,0,1,1],[23,6,1,1]],dir:[.5,-.7071,.5],up:[.5,.7071,.5]},{boundaries:[[11,5,2,2]],dir:[-.5,-.7071,-.5],up:[-.5,.7071,-.5]}],f=0,p=u.length;f=f[0]*o&&t<=(f[0]+f[2])*o&&n>=f[1]*o&&n<=(f[1]+f[3])*o)return r}return-1},this.setAreaHighlighted=function(e,t){var n=v[e];if(!n)throw"Area not found: "+e;n.highlighted=!!t,m()},this.getAreaDir=function(e){var t=v[e];if(!t)throw"Unknown area: "+e;return t.dir},this.getAreaUp=function(e){var t=v[e];if(!t)throw"Unknown area: "+e;return t.up},this.getImage=function(){return this._textureCanvas},this.destroy=function(){this._textureCanvas&&(this._textureCanvas.parentNode.removeChild(this._textureCanvas),this._textureCanvas=null)}}var zP=$.vec3(),KP=$.vec3();$.mat4();var YP=function(e){I(n,Ce);var t=m(n);function n(e){var r,i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};b(this,n),r=t.call(this,"NavCube",e,i),e.navCube=g(r);var a=!0;try{r._navCubeScene=new zn(e,{canvasId:i.canvasId,canvasElement:i.canvasElement,transparent:!0}),r._navCubeCanvas=r._navCubeScene.canvas.canvas,r._navCubeScene.input.keyboardEnabled=!1}catch(e){return r.error(e),w(r)}var s=r._navCubeScene;s.clearLights(),new vn(s,{dir:[.4,-.4,.8],color:[.8,1,1],intensity:1,space:"view"}),new vn(s,{dir:[-.8,-.3,-.4],color:[.8,.8,.8],intensity:1,space:"view"}),new vn(s,{dir:[.8,-.6,-.8],color:[1,1,1],intensity:1,space:"view"}),r._navCubeCamera=s.camera,r._navCubeCamera.ortho.scale=7,r._navCubeCamera.ortho.near=.1,r._navCubeCamera.ortho.far=2e3,s.edgeMaterial.edgeColor=[.2,.2,.2],s.edgeMaterial.edgeAlpha=.6,r._zUp=Boolean(e.camera.zUp);var o=g(r);r.setIsProjectNorth(i.isProjectNorth),r.setProjectNorthOffsetAngle(i.projectNorthOffsetAngle);var l,u=(l=$.mat4(),function(e,t,n){return $.identityMat4(l),$.rotationMat4v(e*o._projectNorthOffsetAngle*$.DEGTORAD,[0,1,0],l),$.transformVec3(l,t,n)});r._synchCamera=function(){var t=$.rotationMat4c(-90*$.DEGTORAD,1,0,0),n=$.vec3(),r=$.vec3(),i=$.vec3();return function(){var a=e.camera.eye,s=e.camera.look,l=e.camera.up;n=$.mulVec3Scalar($.normalizeVec3($.subVec3(a,s,n)),5),o._isProjectNorth&&o._projectNorthOffsetAngle&&(n=u(-1,n,zP),l=u(-1,l,KP)),o._zUp?($.transformVec3(t,n,r),$.transformVec3(t,l,i),o._navCubeCamera.look=[0,0,0],o._navCubeCamera.eye=$.transformVec3(t,n,r),o._navCubeCamera.up=$.transformPoint3(t,l,i)):(o._navCubeCamera.look=[0,0,0],o._navCubeCamera.eye=n,o._navCubeCamera.up=l)}}(),r._cubeTextureCanvas=new WP(e,s,i),r._cubeSampler=new Ba(s,{image:r._cubeTextureCanvas.getImage(),flipY:!0,wrapS:1001,wrapT:1001}),r._cubeMesh=new Ji(s,{geometry:new Cn(s,{primitive:"triangles",normals:[0,0,1,0,0,1,0,0,1,0,0,1,1,0,0,1,0,0,1,0,0,1,0,0,0,1,0,0,1,0,0,1,0,0,1,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,0,-1,0,0,-1,0,0,-1,0,0,-1],positions:[1,1,1,-1,1,1,-1,-1,1,1,-1,1,1,1,1,1,-1,1,1,-1,-1,1,1,-1,1,1,1,1,1,-1,-1,1,-1,-1,1,1,-1,1,1,-1,1,-1,-1,-1,-1,-1,-1,1,-1,-1,-1,1,-1,-1,1,-1,1,-1,-1,1,1,-1,-1,-1,-1,-1,-1,1,-1,1,1,-1],uv:[.5,.6666,.25,.6666,.25,.3333,.5,.3333,.5,.6666,.5,.3333,.75,.3333,.75,.6666,.5,.6666,.5,1,.25,1,.25,.6666,.25,.6666,0,.6666,0,.3333,.25,.3333,.25,0,.5,0,.5,.3333,.25,.3333,.75,.3333,1,.3333,1,.6666,.75,.6666],indices:[0,1,2,0,2,3,4,5,6,4,6,7,8,9,10,8,10,11,12,13,14,12,14,15,16,17,18,16,18,19,20,21,22,20,22,23]}),material:new Nn(s,{diffuse:[.4,.4,.4],specular:[.4,.4,.4],emissive:[.6,.6,.6],diffuseMap:r._cubeSampler,emissiveMap:r._cubeSampler}),visible:!!a,edges:!0}),r._shadow=!1===i.shadowVisible?null:new Ji(s,{geometry:new Cn(s,$i({center:[0,0,0],radiusTop:.001,radiusBottom:1.4,height:.01,radialSegments:20,heightSegments:1,openEnded:!0})),material:new Nn(s,{diffuse:[0,0,0],specular:[0,0,0],emissive:[0,0,0],alpha:.5}),position:[0,-1.5,0],visible:!!a,pickable:!1,backfaces:!1}),r._onCameraMatrix=e.camera.on("matrix",r._synchCamera),r._onCameraWorldAxis=e.camera.on("worldAxis",(function(){e.camera.zUp?(r._zUp=!0,r._cubeTextureCanvas.setZUp(),r._repaint(),r._synchCamera()):e.camera.yUp&&(r._zUp=!1,r._cubeTextureCanvas.setYUp(),r._repaint(),r._synchCamera())})),r._onCameraFOV=e.camera.perspective.on("fov",(function(e){r._synchProjection&&(r._navCubeCamera.perspective.fov=e)})),r._onCameraProjection=e.camera.on("projection",(function(e){r._synchProjection&&(r._navCubeCamera.projection="ortho"===e||"perspective"===e?e:"perspective")}));var c=-1;function f(t,n){var r=(t-A)*-m,i=(n-d)*-m;e.camera.orbitYaw(r),e.camera.orbitPitch(-i),A=t,d=n}function p(e){var t=[0,0];if(e){for(var n=e.target,r=0,i=0;n.offsetParent;)r+=n.offsetLeft,i+=n.offsetTop,n=n.offsetParent;t[0]=e.pageX-r,t[1]=e.pageY-i}else e=window.event,t[0]=e.x,t[1]=e.y;return t}var A,d,v=null,h=null,I=!1,y=!1,m=.5;o._navCubeCanvas.addEventListener("mouseenter",o._onMouseEnter=function(e){y=!0}),o._navCubeCanvas.addEventListener("mouseleave",o._onMouseLeave=function(e){y=!1}),o._navCubeCanvas.addEventListener("mousedown",o._onMouseDown=function(e){if(1===e.which){v=e.x,h=e.y,A=e.clientX,d=e.clientY;var t=p(e),n=s.pick({canvasPos:t});I=!!n}}),document.addEventListener("mouseup",o._onMouseUp=function(e){if(1===e.which&&(I=!1,null!==v)){var t=p(e),n=s.pick({canvasPos:t,pickSurface:!0});if(n&&n.uv){var r=o._cubeTextureCanvas.getArea(n.uv);if(r>=0&&(document.body.style.cursor="pointer",c>=0&&(o._cubeTextureCanvas.setAreaHighlighted(c,!1),o._repaint(),c=-1),r>=0)){if(o._cubeTextureCanvas.setAreaHighlighted(r,!0),c=r,o._repaint(),e.xv+3||e.yh+3)return;var i=o._cubeTextureCanvas.getAreaDir(r);if(i){var a=o._cubeTextureCanvas.getAreaUp(r);o._isProjectNorth&&o._projectNorthOffsetAngle&&(i=u(1,i,zP),a=u(1,a,KP)),E(i,a,(function(){c>=0&&(o._cubeTextureCanvas.setAreaHighlighted(c,!1),o._repaint(),c=-1),document.body.style.cursor="pointer",c>=0&&(o._cubeTextureCanvas.setAreaHighlighted(c,!1),o._repaint(),c=-1),r>=0&&(o._cubeTextureCanvas.setAreaHighlighted(r,!1),c=-1,o._repaint())}))}}}}}),document.addEventListener("mousemove",o._onMouseMove=function(e){if(c>=0&&(o._cubeTextureCanvas.setAreaHighlighted(c,!1),o._repaint(),c=-1),1!==e.buttons||I){if(I){var t=e.clientX,n=e.clientY;return document.body.style.cursor="move",void f(t,n)}if(y){var r=p(e),i=s.pick({canvasPos:r,pickSurface:!0});if(i){if(i.uv){document.body.style.cursor="pointer";var a=o._cubeTextureCanvas.getArea(i.uv);if(a===c)return;c>=0&&o._cubeTextureCanvas.setAreaHighlighted(c,!1),a>=0&&(o._cubeTextureCanvas.setAreaHighlighted(a,!0),o._repaint(),c=a)}}else document.body.style.cursor="default",c>=0&&(o._cubeTextureCanvas.setAreaHighlighted(c,!1),o._repaint(),c=-1)}}});var E=function(){var t=$.vec3();return function(n,r,i){var a=o._fitVisible?e.scene.getAABB(e.scene.visibleObjectIds):e.scene.aabb,s=$.getAABB3Diag(a);$.getAABB3Center(a,t);var l=Math.abs(s/Math.tan(o._cameraFitFOV*$.DEGTORAD));e.cameraControl.pivotPos=t,o._cameraFly?e.cameraFlight.flyTo({look:t,eye:[t[0]-l*n[0],t[1]-l*n[1],t[2]-l*n[2]],up:r||[0,1,0],orthoScale:1.1*s,fitFOV:o._cameraFitFOV,duration:o._cameraFlyDuration},i):e.cameraFlight.jumpTo({look:t,eye:[t[0]-l*n[0],t[1]-l*n[1],t[2]-l*n[2]],up:r||[0,1,0],orthoScale:1.1*s,fitFOV:o._cameraFitFOV},i)}}();return r._onUpdated=e.localeService.on("updated",(function(){r._cubeTextureCanvas.clear(),r._repaint()})),r.setVisible(i.visible),r.setCameraFitFOV(i.cameraFitFOV),r.setCameraFly(i.cameraFly),r.setCameraFlyDuration(i.cameraFlyDuration),r.setFitVisible(i.fitVisible),r.setSynchProjection(i.synchProjection),r}return P(n,[{key:"send",value:function(e,t){if("language"===e)this._cubeTextureCanvas.clear(),this._repaint()}},{key:"_repaint",value:function(){var e=this._cubeTextureCanvas.getImage();this._cubeMesh.material.diffuseMap.image=e,this._cubeMesh.material.emissiveMap.image=e}},{key:"setVisible",value:function(){var e=!(arguments.length>0&&void 0!==arguments[0])||arguments[0];this._navCubeCanvas&&(this._cubeMesh.visible=e,this._shadow&&(this._shadow.visible=e),this._navCubeCanvas.style.visibility=e?"visible":"hidden")}},{key:"getVisible",value:function(){return!!this._navCubeCanvas&&this._cubeMesh.visible}},{key:"setFitVisible",value:function(){var e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];this._fitVisible=e}},{key:"getFitVisible",value:function(){return this._fitVisible}},{key:"setCameraFly",value:function(){var e=!(arguments.length>0&&void 0!==arguments[0])||arguments[0];this._cameraFly=e}},{key:"getCameraFly",value:function(){return this._cameraFly}},{key:"setCameraFitFOV",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:45;this._cameraFitFOV=e}},{key:"getCameraFitFOV",value:function(){return this._cameraFitFOV}},{key:"setCameraFlyDuration",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:.5;this._cameraFlyDuration=e}},{key:"getCameraFlyDuration",value:function(){return this._cameraFlyDuration}},{key:"setSynchProjection",value:function(){var e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];this._synchProjection=e}},{key:"getSynchProjection",value:function(){return this._synchProjection}},{key:"setIsProjectNorth",value:function(){var e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];this._isProjectNorth=e}},{key:"getIsProjectNorth",value:function(){return this._isProjectNorth}},{key:"setProjectNorthOffsetAngle",value:function(e){this._projectNorthOffsetAngle=e}},{key:"getProjectNorthOffsetAngle",value:function(){return this._projectNorthOffsetAngle}},{key:"destroy",value:function(){this._navCubeCanvas&&(this.viewer.localeService.off(this._onUpdated),this.viewer.camera.off(this._onCameraMatrix),this.viewer.camera.off(this._onCameraWorldAxis),this.viewer.camera.perspective.off(this._onCameraFOV),this.viewer.camera.off(this._onCameraProjection),this._navCubeCanvas.removeEventListener("mouseenter",this._onMouseEnter),this._navCubeCanvas.removeEventListener("mouseleave",this._onMouseLeave),this._navCubeCanvas.removeEventListener("mousedown",this._onMouseDown),document.removeEventListener("mousemove",this._onMouseMove),document.removeEventListener("mouseup",this._onMouseUp),this._navCubeCanvas=null,this._cubeTextureCanvas.destroy(),this._cubeTextureCanvas=null,this._onMouseEnter=null,this._onMouseLeave=null,this._onMouseDown=null,this._onMouseMove=null,this._onMouseUp=null),this._navCubeScene.destroy(),this._navCubeScene=null,this._cubeMesh=null,this._shadow=null,v(E(n.prototype),"destroy",this).call(this)}}]),n}(),XP=$.vec3(),qP=function(){function e(){b(this,e)}return P(e,[{key:"load",value:function(e,t){var n=e.scene.canvas.spinner;n.processes++,JP(e,t,(function(t){$P(e,t,(function(){nR(e,t),n.processes--,he.scheduleTask((function(){e.fire("loaded",!0,!1)}))}))}))}},{key:"parse",value:function(e,t,n,r){if(t){var i=ZP(e,t,null);n&&tR(e,n,r),nR(e,i),e.src=null,e.fire("loaded",!0,!1)}else this.warn("load() param expected: objText")}}]),e}(),JP=function(e,t,n){rR(t,(function(r){var i=ZP(e,r,t);n(i)}),(function(t){e.error(t)}))},ZP=function(){var e={vertex_pattern:/^v\s+([\d|\.|\+|\-|e|E]+)\s+([\d|\.|\+|\-|e|E]+)\s+([\d|\.|\+|\-|e|E]+)/,normal_pattern:/^vn\s+([\d|\.|\+|\-|e|E]+)\s+([\d|\.|\+|\-|e|E]+)\s+([\d|\.|\+|\-|e|E]+)/,uv_pattern:/^vt\s+([\d|\.|\+|\-|e|E]+)\s+([\d|\.|\+|\-|e|E]+)/,face_vertex:/^f\s+(-?\d+)\s+(-?\d+)\s+(-?\d+)(?:\s+(-?\d+))?/,face_vertex_uv:/^f\s+(-?\d+)\/(-?\d+)\s+(-?\d+)\/(-?\d+)\s+(-?\d+)\/(-?\d+)(?:\s+(-?\d+)\/(-?\d+))?/,face_vertex_uv_normal:/^f\s+(-?\d+)\/(-?\d+)\/(-?\d+)\s+(-?\d+)\/(-?\d+)\/(-?\d+)\s+(-?\d+)\/(-?\d+)\/(-?\d+)(?:\s+(-?\d+)\/(-?\d+)\/(-?\d+))?/,face_vertex_normal:/^f\s+(-?\d+)\/\/(-?\d+)\s+(-?\d+)\/\/(-?\d+)\s+(-?\d+)\/\/(-?\d+)(?:\s+(-?\d+)\/\/(-?\d+))?/,object_pattern:/^[og]\s*(.+)?/,smoothing_pattern:/^s\s+(\d+|on|off)/,material_library_pattern:/^mtllib /,material_use_pattern:/^usemtl /};return function(r,i,a){var s={src:a=a||"",basePath:t(a),objects:[],object:{},positions:[],normals:[],uv:[],materialLibraries:{}};n(s,"",!1),-1!==i.indexOf("\r\n")&&(i=i.replace("\r\n","\n"));for(var o=i.split("\n"),l="",u="",c="",A=[],d="function"==typeof"".trimLeft,v=0,h=o.length;v=0?n-1:n+t/3)}function i(e,t){var n=parseInt(e,10);return 3*(n>=0?n-1:n+t/3)}function a(e,t){var n=parseInt(e,10);return 2*(n>=0?n-1:n+t/2)}function s(e,t,n,r){var i=e.positions,a=e.object.geometry.positions;a.push(i[t+0]),a.push(i[t+1]),a.push(i[t+2]),a.push(i[n+0]),a.push(i[n+1]),a.push(i[n+2]),a.push(i[r+0]),a.push(i[r+1]),a.push(i[r+2])}function o(e,t){var n=e.positions,r=e.object.geometry.positions;r.push(n[t+0]),r.push(n[t+1]),r.push(n[t+2])}function l(e,t,n,r){var i=e.normals,a=e.object.geometry.normals;a.push(i[t+0]),a.push(i[t+1]),a.push(i[t+2]),a.push(i[n+0]),a.push(i[n+1]),a.push(i[n+2]),a.push(i[r+0]),a.push(i[r+1]),a.push(i[r+2])}function u(e,t,n,r){var i=e.uv,a=e.object.geometry.uv;a.push(i[t+0]),a.push(i[t+1]),a.push(i[n+0]),a.push(i[n+1]),a.push(i[r+0]),a.push(i[r+1])}function c(e,t){var n=e.uv,r=e.object.geometry.uv;r.push(n[t+0]),r.push(n[t+1])}function f(e,t,n,o,c,f,p,A,d,v,h,I,y){var m,w=e.positions.length,g=r(t,w),E=r(n,w),T=r(o,w);if(void 0===c?s(e,g,E,T):(s(e,g,E,m=r(c,w)),s(e,E,T,m)),void 0!==f){var b=e.uv.length;g=a(f,b),E=a(p,b),T=a(A,b),void 0===c?u(e,g,E,T):(u(e,g,E,m=a(d,b)),u(e,E,T,m))}if(void 0!==v){var D=e.normals.length;g=i(v,D),E=v===h?g:i(h,D),T=v===I?g:i(I,D),void 0===c?l(e,g,E,T):(l(e,g,E,m=i(y,D)),l(e,E,T,m))}}function p(e,t,n){e.object.geometry.type="Line";for(var i=e.positions.length,s=e.uv.length,l=0,u=t.length;l=0?s.substring(0,o):s).toLowerCase(),u=(u=o>=0?s.substring(o+1):"").trim(),l.toLowerCase()){case"newmtl":n(e,p),p={id:u},A=!0;break;case"ka":p.ambient=r(u);break;case"kd":p.diffuse=r(u);break;case"ks":p.specular=r(u);break;case"map_kd":p.diffuseMap||(p.diffuseMap=t(e,a,u,"sRGB"));break;case"map_ks":p.specularMap||(p.specularMap=t(e,a,u,"linear"));break;case"map_bump":case"bump":p.normalMap||(p.normalMap=t(e,a,u));break;case"ns":p.shininess=parseFloat(u);break;case"d":(c=parseFloat(u))<1&&(p.alpha=c,p.alphaMode="blend");break;case"tr":(c=parseFloat(u))>0&&(p.alpha=1-c,p.alphaMode="blend")}A&&n(e,p)};function t(e,t,n,r){var i={},a=n.split(/\s+/),s=a.indexOf("-bm");return s>=0&&a.splice(s,2),(s=a.indexOf("-s"))>=0&&(i.scale=[parseFloat(a[s+1]),parseFloat(a[s+2])],a.splice(s,4)),(s=a.indexOf("-o"))>=0&&(i.translate=[parseFloat(a[s+1]),parseFloat(a[s+2])],a.splice(s,4)),i.src=t+a.join(" ").trim(),i.flipY=!0,i.encoding=r||"linear",new Ba(e,i).id}function n(e,t){new Nn(e,t)}function r(t){var n=t.split(e,3);return[parseFloat(n[0]),parseFloat(n[1]),parseFloat(n[2])]}}();function nR(e,t){for(var n=0,r=t.objects.length;n0&&(s.normals=a.normals),a.uv.length>0&&(s.uv=a.uv);for(var o=new Array(s.positions.length/3),l=0;l0&&void 0!==arguments[0]?arguments[0]:{};t.id&&this.viewer.scene.components[t.id]&&(this.error("Component with this ID already exists in viewer: "+t.id+" - will autogenerate this ID"),delete t.id);var n=new da(this.viewer.scene,le.apply(t,{isModel:!0})),r=n.id,i=t.src;if(!i)return this.error("load() param expected: src"),n;if(t.metaModelSrc){var a=t.metaModelSrc;le.loadJSON(a,(function(a){e.viewer.metaScene.createMetaModel(r,a),e._sceneGraphLoader.load(n,i,t)}),(function(t){e.error("load(): Failed to load model modelMetadata for model '".concat(r," from '").concat(a,"' - ").concat(t))}))}else this._sceneGraphLoader.load(n,i,t);return n.once("destroyed",(function(){e.viewer.metaScene.destroyMetaModel(r)})),n}},{key:"destroy",value:function(){v(E(n.prototype),"destroy",this).call(this)}}]),n}(),aR=new Float64Array([0,0,1]),sR=new Float64Array(4),oR=function(){function e(t){b(this,e),this.id=null,this._viewer=t.viewer,this._visible=!1,this._pos=$.vec3(),this._origin=$.vec3(),this._rtcPos=$.vec3(),this._baseDir=$.vec3(),this._rootNode=null,this._displayMeshes=null,this._affordanceMeshes=null,this._ignoreNextSectionPlaneDirUpdate=!1,this._createNodes(),this._bindEvents()}return P(e,[{key:"_setSectionPlane",value:function(e){var t=this;this._sectionPlane&&(this._sectionPlane.off(this._onSectionPlanePos),this._sectionPlane.off(this._onSectionPlaneDir),this._onSectionPlanePos=null,this._onSectionPlaneDir=null,this._sectionPlane=null),e&&(this.id=e.id,this._setPos(e.pos),this._setDir(e.dir),this._sectionPlane=e,this._onSectionPlanePos=e.on("pos",(function(){t._setPos(t._sectionPlane.pos)})),this._onSectionPlaneDir=e.on("dir",(function(){t._ignoreNextSectionPlaneDirUpdate?t._ignoreNextSectionPlaneDirUpdate=!1:t._setDir(t._sectionPlane.dir)})))}},{key:"sectionPlane",get:function(){return this._sectionPlane}},{key:"_setPos",value:function(e){this._pos.set(e),Oe(this._pos,this._origin,this._rtcPos),this._rootNode.origin=this._origin,this._rootNode.position=this._rtcPos}},{key:"_setDir",value:function(e){this._baseDir.set(e),this._rootNode.quaternion=$.vec3PairToQuaternion(aR,e,sR)}},{key:"_setSectionPlaneDir",value:function(e){this._sectionPlane&&(this._ignoreNextSectionPlaneDirUpdate=!0,this._sectionPlane.dir=e)}},{key:"setVisible",value:function(){var e=!(arguments.length>0&&void 0!==arguments[0])||arguments[0];if(this._visible!==e){var t;for(t in this._visible=e,this._displayMeshes)this._displayMeshes.hasOwnProperty(t)&&(this._displayMeshes[t].visible=e);if(!e)for(t in this._affordanceMeshes)this._affordanceMeshes.hasOwnProperty(t)&&(this._affordanceMeshes[t].visible=e)}}},{key:"getVisible",value:function(){return this._visible}},{key:"setCulled",value:function(e){var t;for(t in this._displayMeshes)this._displayMeshes.hasOwnProperty(t)&&(this._displayMeshes[t].culled=e);if(!e)for(t in this._affordanceMeshes)this._affordanceMeshes.hasOwnProperty(t)&&(this._affordanceMeshes[t].culled=e)}},{key:"_createNodes",value:function(){var e=!1,t=this._viewer.scene,n=.01;this._rootNode=new da(t,{position:[0,0,0],scale:[5,5,5]});var r,i,a=this._rootNode,s={arrowHead:new Cn(a,$i({radiusTop:.001,radiusBottom:.07,radialSegments:32,heightSegments:1,height:.2,openEnded:!1})),arrowHeadBig:new Cn(a,$i({radiusTop:.001,radiusBottom:.09,radialSegments:32,heightSegments:1,height:.25,openEnded:!1})),arrowHeadHandle:new Cn(a,$i({radiusTop:.09,radiusBottom:.09,radialSegments:8,heightSegments:1,height:.37,openEnded:!1})),curve:new Cn(a,ka({radius:.8,tube:n,radialSegments:64,tubeSegments:14,arc:2*Math.PI/4})),curveHandle:new Cn(a,ka({radius:.8,tube:.06,radialSegments:64,tubeSegments:14,arc:2*Math.PI/4})),hoop:new Cn(a,ka({radius:.8,tube:n,radialSegments:64,tubeSegments:8,arc:2*Math.PI})),axis:new Cn(a,$i({radiusTop:n,radiusBottom:n,radialSegments:20,heightSegments:1,height:1,openEnded:!1})),axisHandle:new Cn(a,$i({radiusTop:.08,radiusBottom:.08,radialSegments:20,heightSegments:1,height:1,openEnded:!1}))},o={pickable:new Nn(a,{diffuse:[1,1,0],alpha:0,alphaMode:"blend"}),red:new Nn(a,{diffuse:[1,0,0],emissive:[1,0,0],ambient:[0,0,0],specular:[.6,.6,.3],shininess:80,lineWidth:2}),highlightRed:new xn(a,{edges:!1,fill:!0,fillColor:[1,0,0],fillAlpha:.6}),green:new Nn(a,{diffuse:[0,1,0],emissive:[0,1,0],ambient:[0,0,0],specular:[.6,.6,.3],shininess:80,lineWidth:2}),highlightGreen:new xn(a,{edges:!1,fill:!0,fillColor:[0,1,0],fillAlpha:.6}),blue:new Nn(a,{diffuse:[0,0,1],emissive:[0,0,1],ambient:[0,0,0],specular:[.6,.6,.3],shininess:80,lineWidth:2}),highlightBlue:new xn(a,{edges:!1,fill:!0,fillColor:[0,0,1],fillAlpha:.2}),center:new Nn(a,{diffuse:[0,0,0],emissive:[0,0,0],ambient:[0,0,0],specular:[.6,.6,.3],shininess:80}),highlightBall:new xn(a,{edges:!1,fill:!0,fillColor:[.5,.5,.5],fillAlpha:.5,vertices:!1}),highlightPlane:new xn(a,{edges:!0,edgeWidth:3,fill:!1,fillColor:[.5,.5,.5],fillAlpha:.5,vertices:!1})};this._displayMeshes={plane:a.addChild(new Ji(a,{geometry:new Cn(a,{primitive:"triangles",positions:[.5,.5,0,.5,-.5,0,-.5,-.5,0,-.5,.5,0,.5,.5,-0,.5,-.5,-0,-.5,-.5,-0,-.5,.5,-0],indices:[0,1,2,2,3,0]}),material:new Nn(a,{emissive:[0,0,0],diffuse:[0,0,0],backfaces:!0}),opacity:.6,ghosted:!0,ghostMaterial:new xn(a,{edges:!1,filled:!0,fillColor:[1,1,0],edgeColor:[0,0,0],fillAlpha:.1,backfaces:!0}),pickable:!1,collidable:!0,clippable:!1,visible:!1,scale:[2.4,2.4,1]}),e),planeFrame:a.addChild(new Ji(a,{geometry:new Cn(a,ka({center:[0,0,0],radius:1.7,tube:.02,radialSegments:4,tubeSegments:4,arc:2*Math.PI})),material:new Nn(a,{emissive:[0,0,0],diffuse:[0,0,0],specular:[0,0,0],shininess:0}),highlightMaterial:new xn(a,{edges:!1,edgeColor:[0,0,0],filled:!0,fillColor:[.8,.8,.8],fillAlpha:1}),pickable:!1,collidable:!1,clippable:!1,visible:!1,scale:[1,1,.1],rotation:[0,0,45]}),e),xCurve:a.addChild(new Ji(a,{geometry:s.curve,material:o.red,matrix:(r=$.rotationMat4v(90*$.DEGTORAD,[0,1,0],$.identityMat4()),i=$.rotationMat4v(270*$.DEGTORAD,[1,0,0],$.identityMat4()),$.mulMat4(i,r,$.identityMat4())),pickable:!1,collidable:!0,clippable:!1,backfaces:!0,visible:!1}),e),xCurveHandle:a.addChild(new Ji(a,{geometry:s.curveHandle,material:o.pickable,matrix:function(){var e=$.rotationMat4v(90*$.DEGTORAD,[0,1,0],$.identityMat4()),t=$.rotationMat4v(270*$.DEGTORAD,[1,0,0],$.identityMat4());return $.mulMat4(t,e,$.identityMat4())}(),pickable:!0,collidable:!0,clippable:!1,backfaces:!0,visible:!1}),e),xCurveArrow1:a.addChild(new Ji(a,{geometry:s.arrowHead,material:o.red,matrix:function(){var e=$.translateMat4c(0,-.07,-.8,$.identityMat4()),t=$.scaleMat4v([.6,.6,.6],$.identityMat4()),n=$.rotationMat4v(0*$.DEGTORAD,[0,0,1],$.identityMat4());return $.mulMat4($.mulMat4(e,t,$.identityMat4()),n,$.identityMat4())}(),pickable:!0,collidable:!0,clippable:!1,visible:!1}),e),xCurveArrow2:a.addChild(new Ji(a,{geometry:s.arrowHead,material:o.red,matrix:function(){var e=$.translateMat4c(0,-.8,-.07,$.identityMat4()),t=$.scaleMat4v([.6,.6,.6],$.identityMat4()),n=$.rotationMat4v(90*$.DEGTORAD,[1,0,0],$.identityMat4());return $.mulMat4($.mulMat4(e,t,$.identityMat4()),n,$.identityMat4())}(),pickable:!0,collidable:!0,clippable:!1,visible:!1}),e),yCurve:a.addChild(new Ji(a,{geometry:s.curve,material:o.green,rotation:[-90,0,0],pickable:!1,collidable:!0,clippable:!1,backfaces:!0,visible:!1}),e),yCurveHandle:a.addChild(new Ji(a,{geometry:s.curveHandle,material:o.pickable,rotation:[-90,0,0],pickable:!0,collidable:!0,clippable:!1,backfaces:!0,visible:!1}),e),yCurveArrow1:a.addChild(new Ji(a,{geometry:s.arrowHead,material:o.green,matrix:function(){var e=$.translateMat4c(.07,0,-.8,$.identityMat4()),t=$.scaleMat4v([.6,.6,.6],$.identityMat4()),n=$.rotationMat4v(90*$.DEGTORAD,[0,0,1],$.identityMat4());return $.mulMat4($.mulMat4(e,t,$.identityMat4()),n,$.identityMat4())}(),pickable:!0,collidable:!0,clippable:!1,visible:!1}),e),yCurveArrow2:a.addChild(new Ji(a,{geometry:s.arrowHead,material:o.green,matrix:function(){var e=$.translateMat4c(.8,0,-.07,$.identityMat4()),t=$.scaleMat4v([.6,.6,.6],$.identityMat4()),n=$.rotationMat4v(90*$.DEGTORAD,[1,0,0],$.identityMat4());return $.mulMat4($.mulMat4(e,t,$.identityMat4()),n,$.identityMat4())}(),pickable:!0,collidable:!0,clippable:!1,visible:!1}),e),zCurve:a.addChild(new Ji(a,{geometry:s.curve,material:o.blue,matrix:$.rotationMat4v(180*$.DEGTORAD,[1,0,0],$.identityMat4()),pickable:!1,collidable:!0,clippable:!1,visible:!1}),e),zCurveHandle:a.addChild(new Ji(a,{geometry:s.curveHandle,material:o.pickable,matrix:$.rotationMat4v(180*$.DEGTORAD,[1,0,0],$.identityMat4()),pickable:!0,collidable:!0,clippable:!1,visible:!1}),e),zCurveCurveArrow1:a.addChild(new Ji(a,{geometry:s.arrowHead,material:o.blue,matrix:function(){var e=$.translateMat4c(.8,-.07,0,$.identityMat4()),t=$.scaleMat4v([.6,.6,.6],$.identityMat4());return $.mulMat4(e,t,$.identityMat4())}(),pickable:!0,collidable:!0,clippable:!1,visible:!1}),e),zCurveArrow2:a.addChild(new Ji(a,{geometry:s.arrowHead,material:o.blue,matrix:function(){var e=$.translateMat4c(.05,-.8,0,$.identityMat4()),t=$.scaleMat4v([.6,.6,.6],$.identityMat4()),n=$.rotationMat4v(90*$.DEGTORAD,[0,0,1],$.identityMat4());return $.mulMat4($.mulMat4(e,t,$.identityMat4()),n,$.identityMat4())}(),pickable:!0,collidable:!0,clippable:!1,visible:!1}),e),center:a.addChild(new Ji(a,{geometry:new Cn(a,ea({radius:.05})),material:o.center,pickable:!1,collidable:!0,clippable:!1,visible:!1}),e),xAxisArrow:a.addChild(new Ji(a,{geometry:s.arrowHead,material:o.red,matrix:function(){var e=$.translateMat4c(0,1.1,0,$.identityMat4()),t=$.rotationMat4v(-90*$.DEGTORAD,[0,0,1],$.identityMat4());return $.mulMat4(t,e,$.identityMat4())}(),pickable:!1,collidable:!0,clippable:!1,visible:!1}),e),xAxisArrowHandle:a.addChild(new Ji(a,{geometry:s.arrowHeadHandle,material:o.pickable,matrix:function(){var e=$.translateMat4c(0,1.1,0,$.identityMat4()),t=$.rotationMat4v(-90*$.DEGTORAD,[0,0,1],$.identityMat4());return $.mulMat4(t,e,$.identityMat4())}(),pickable:!0,collidable:!0,clippable:!1,visible:!1}),e),xAxis:a.addChild(new Ji(a,{geometry:s.axis,material:o.red,matrix:function(){var e=$.translateMat4c(0,.5,0,$.identityMat4()),t=$.rotationMat4v(-90*$.DEGTORAD,[0,0,1],$.identityMat4());return $.mulMat4(t,e,$.identityMat4())}(),pickable:!1,collidable:!0,clippable:!1,visible:!1}),e),xAxisHandle:a.addChild(new Ji(a,{geometry:s.axisHandle,material:o.pickable,matrix:function(){var e=$.translateMat4c(0,.5,0,$.identityMat4()),t=$.rotationMat4v(-90*$.DEGTORAD,[0,0,1],$.identityMat4());return $.mulMat4(t,e,$.identityMat4())}(),pickable:!0,collidable:!0,clippable:!1,visible:!1}),e),yAxisArrow:a.addChild(new Ji(a,{geometry:s.arrowHead,material:o.green,matrix:function(){var e=$.translateMat4c(0,1.1,0,$.identityMat4()),t=$.rotationMat4v(180*$.DEGTORAD,[1,0,0],$.identityMat4());return $.mulMat4(t,e,$.identityMat4())}(),pickable:!1,collidable:!0,clippable:!1,visible:!1}),e),yAxisArrowHandle:a.addChild(new Ji(a,{geometry:s.arrowHeadHandle,material:o.pickable,matrix:function(){var e=$.translateMat4c(0,1.1,0,$.identityMat4()),t=$.rotationMat4v(180*$.DEGTORAD,[1,0,0],$.identityMat4());return $.mulMat4(t,e,$.identityMat4())}(),pickable:!0,collidable:!0,clippable:!1,visible:!1,opacity:.2}),e),yShaft:a.addChild(new Ji(a,{geometry:s.axis,material:o.green,position:[0,-.5,0],pickable:!1,collidable:!0,clippable:!1,visible:!1}),e),yShaftHandle:a.addChild(new Ji(a,{geometry:s.axisHandle,material:o.pickable,position:[0,-.5,0],pickable:!0,collidable:!0,clippable:!1,visible:!1}),e),zAxisArrow:a.addChild(new Ji(a,{geometry:s.arrowHead,material:o.blue,matrix:function(){var e=$.translateMat4c(0,1.1,0,$.identityMat4()),t=$.rotationMat4v(-90*$.DEGTORAD,[.8,0,0],$.identityMat4());return $.mulMat4(t,e,$.identityMat4())}(),pickable:!1,collidable:!0,clippable:!1,visible:!1}),e),zAxisArrowHandle:a.addChild(new Ji(a,{geometry:s.arrowHeadHandle,material:o.pickable,matrix:function(){var e=$.translateMat4c(0,1.1,0,$.identityMat4()),t=$.rotationMat4v(-90*$.DEGTORAD,[.8,0,0],$.identityMat4());return $.mulMat4(t,e,$.identityMat4())}(),pickable:!0,collidable:!0,clippable:!1,visible:!1}),e),zShaft:a.addChild(new Ji(a,{geometry:s.axis,material:o.blue,matrix:function(){var e=$.translateMat4c(0,.5,0,$.identityMat4()),t=$.rotationMat4v(-90*$.DEGTORAD,[1,0,0],$.identityMat4());return $.mulMat4(t,e,$.identityMat4())}(),clippable:!1,pickable:!1,collidable:!0,visible:!1}),e),zAxisHandle:a.addChild(new Ji(a,{geometry:s.axisHandle,material:o.pickable,matrix:function(){var e=$.translateMat4c(0,.5,0,$.identityMat4()),t=$.rotationMat4v(-90*$.DEGTORAD,[1,0,0],$.identityMat4());return $.mulMat4(t,e,$.identityMat4())}(),clippable:!1,pickable:!0,collidable:!0,visible:!1}),e)},this._affordanceMeshes={planeFrame:a.addChild(new Ji(a,{geometry:new Cn(a,ka({center:[0,0,0],radius:2,tube:n,radialSegments:4,tubeSegments:4,arc:2*Math.PI})),material:new Nn(a,{ambient:[1,1,1],diffuse:[0,0,0],emissive:[1,1,0]}),highlighted:!0,highlightMaterial:new xn(a,{edges:!1,filled:!0,fillColor:[1,1,0],fillAlpha:1}),pickable:!1,collidable:!1,clippable:!1,visible:!1,scale:[1,1,1],rotation:[0,0,45]}),e),xHoop:a.addChild(new Ji(a,{geometry:s.hoop,material:o.red,highlighted:!0,highlightMaterial:o.highlightRed,matrix:function(){var e=$.rotationMat4v(90*$.DEGTORAD,[0,1,0],$.identityMat4()),t=$.rotationMat4v(270*$.DEGTORAD,[1,0,0],$.identityMat4());return $.mulMat4(t,e,$.identityMat4())}(),pickable:!1,collidable:!0,clippable:!1,visible:!1}),e),yHoop:a.addChild(new Ji(a,{geometry:s.hoop,material:o.green,highlighted:!0,highlightMaterial:o.highlightGreen,rotation:[-90,0,0],pickable:!1,collidable:!0,clippable:!1,visible:!1}),e),zHoop:a.addChild(new Ji(a,{geometry:s.hoop,material:o.blue,highlighted:!0,highlightMaterial:o.highlightBlue,matrix:$.rotationMat4v(180*$.DEGTORAD,[1,0,0],$.identityMat4()),pickable:!1,collidable:!0,clippable:!1,backfaces:!0,visible:!1}),e),xAxisArrow:a.addChild(new Ji(a,{geometry:s.arrowHeadBig,material:o.red,matrix:function(){var e=$.translateMat4c(0,1.1,0,$.identityMat4()),t=$.rotationMat4v(-90*$.DEGTORAD,[0,0,1],$.identityMat4());return $.mulMat4(t,e,$.identityMat4())}(),pickable:!1,collidable:!0,clippable:!1,visible:!1}),e),yAxisArrow:a.addChild(new Ji(a,{geometry:s.arrowHeadBig,material:o.green,matrix:function(){var e=$.translateMat4c(0,1.1,0,$.identityMat4()),t=$.rotationMat4v(180*$.DEGTORAD,[1,0,0],$.identityMat4());return $.mulMat4(t,e,$.identityMat4())}(),pickable:!1,collidable:!0,clippable:!1,visible:!1}),e),zAxisArrow:a.addChild(new Ji(a,{geometry:s.arrowHeadBig,material:o.blue,matrix:function(){var e=$.translateMat4c(0,1.1,0,$.identityMat4()),t=$.rotationMat4v(-90*$.DEGTORAD,[.8,0,0],$.identityMat4());return $.mulMat4(t,e,$.identityMat4())}(),pickable:!1,collidable:!0,clippable:!1,visible:!1}),e)}}},{key:"_bindEvents",value:function(){var e=this,t=this,n=!1,r=-1,i=0,a=1,s=2,o=3,l=4,u=5,c=this._rootNode,f=null,p=null,A=$.vec2(),d=$.vec3([1,0,0]),v=$.vec3([0,1,0]),h=$.vec3([0,0,1]),I=this._viewer.scene.canvas.canvas,y=this._viewer.camera,m=this._viewer.scene,w=$.vec3([0,0,0]),g=-1;this._onCameraViewMatrix=m.camera.on("viewMatrix",(function(){})),this._onCameraProjMatrix=m.camera.on("projMatrix",(function(){})),this._onSceneTick=m.on("tick",(function(){var t=Math.abs($.lenVec3($.subVec3(m.camera.eye,e._pos,w)));if(t!==g&&"perspective"===y.projection){var n=.07*(Math.tan(y.perspective.fov*$.DEGTORAD)*t);c.scale=[n,n,n],g=t}if("ortho"===y.projection){var r=y.ortho.scale/10;c.scale=[r,r,r],g=t}}));var E,T,b,D,P,R=function(){var e=new Float64Array(2);return function(t){if(t){for(var n=t.target,r=0,i=0;n.offsetParent;)r+=n.offsetLeft,i+=n.offsetTop,n=n.offsetParent;e[0]=t.pageX-r,e[1]=t.pageY-i}else t=window.event,e[0]=t.x,e[1]=t.y;return e}}(),C=function(){var e=$.mat4();return function(n,r){return $.quaternionToMat4(t._rootNode.quaternion,e),$.transformVec3(e,n,r),$.normalizeVec3(r),r}}(),_=(E=$.vec3(),function(e){var t=Math.abs(e[0]);return t>Math.abs(e[1])&&t>Math.abs(e[2])?$.cross3Vec3(e,[0,1,0],E):$.cross3Vec3(e,[1,0,0],E),$.cross3Vec3(E,e,E),$.normalizeVec3(E),E}),B=(T=$.vec3(),b=$.vec3(),D=$.vec4(),function(e,n,r){C(e,D);var i=_(D,n,r);S(n,i,T),S(r,i,b),$.subVec3(b,T);var a=$.dotVec3(b,D);t._pos[0]+=D[0]*a,t._pos[1]+=D[1]*a,t._pos[2]+=D[2]*a,t._rootNode.position=t._pos,t._sectionPlane&&(t._sectionPlane.pos=t._pos)}),O=function(){var e=$.vec4(),n=$.vec4(),r=$.vec4(),i=$.vec4();return function(a,s,o){if(C(a,i),!(S(s,i,e)&&S(o,i,n))){var l=_(i,s,o);S(s,l,e,1),S(o,l,n,1);var u=$.dotVec3(e,i);e[0]-=u*i[0],e[1]-=u*i[1],e[2]-=u*i[2],u=$.dotVec3(n,i),n[0]-=u*i[0],n[1]-=u*i[1],n[2]-=u*i[2]}$.normalizeVec3(e),$.normalizeVec3(n),u=$.dotVec3(e,n),u=$.clamp(u,-1,1);var c=Math.acos(u)*$.RADTODEG;$.cross3Vec3(e,n,r),$.dotVec3(r,i)<0&&(c=-c),t._rootNode.rotate(a,c),N()}}(),S=function(){var e=$.vec4([0,0,0,1]),n=$.mat4();return function(r,i,a,s){s=s||0,e[0]=r[0]/I.width*2-1,e[1]=-(r[1]/I.height*2-1),e[2]=0,e[3]=1,$.mulMat4(y.projMatrix,y.viewMatrix,n),$.inverseMat4(n),$.transformVec4(n,e,e),$.mulVec4Scalar(e,1/e[3]);var o=y.eye;$.subVec4(e,o,e);var l=t._sectionPlane.pos,u=-$.dotVec3(l,i)-s,c=$.dotVec3(i,e);if(Math.abs(c)>.005){var f=-($.dotVec3(i,o)+u)/c;return $.mulVec3Scalar(e,f,a),$.addVec3(a,o),$.subVec3(a,l,a),!0}return!1}}(),N=function(){var e=$.vec3(),n=$.mat4();return function(){t.sectionPlane&&($.quaternionToMat4(c.quaternion,n),$.transformVec3(n,[0,0,1],e),t._setSectionPlaneDir(e))}}(),L=!1;this._onCameraControlHover=this._viewer.cameraControl.on("hoverEnter",(function(t){if(e._visible&&!L){var c;switch(n=!1,P&&(P.visible=!1),t.entity.id){case e._displayMeshes.xAxisArrowHandle.id:case e._displayMeshes.xAxisHandle.id:c=e._affordanceMeshes.xAxisArrow,f=i;break;case e._displayMeshes.yAxisArrowHandle.id:case e._displayMeshes.yShaftHandle.id:c=e._affordanceMeshes.yAxisArrow,f=a;break;case e._displayMeshes.zAxisArrowHandle.id:case e._displayMeshes.zAxisHandle.id:c=e._affordanceMeshes.zAxisArrow,f=s;break;case e._displayMeshes.xCurveHandle.id:c=e._affordanceMeshes.xHoop,f=o;break;case e._displayMeshes.yCurveHandle.id:c=e._affordanceMeshes.yHoop,f=l;break;case e._displayMeshes.zCurveHandle.id:c=e._affordanceMeshes.zHoop,f=u;break;default:return void(f=r)}c&&(c.visible=!0),P=c,n=!0}})),this._onCameraControlHoverLeave=this._viewer.cameraControl.on("hoverOutEntity",(function(t){e._visible&&(P&&(P.visible=!1),P=null,f=r)})),I.addEventListener("mousedown",this._canvasMouseDownListener=function(t){if(t.preventDefault(),e._visible&&n&&(e._viewer.cameraControl.pointerEnabled=!1,1===t.which)){L=!0;var r=R(t);p=f,A[0]=r[0],A[1]=r[1]}}),I.addEventListener("mousemove",this._canvasMouseMoveListener=function(t){if(e._visible&&L){var n=R(t),r=n[0],c=n[1];switch(p){case i:B(d,A,n);break;case a:B(v,A,n);break;case s:B(h,A,n);break;case o:O(d,A,n);break;case l:O(v,A,n);break;case u:O(h,A,n)}A[0]=r,A[1]=c}}),I.addEventListener("mouseup",this._canvasMouseUpListener=function(t){e._visible&&(e._viewer.cameraControl.pointerEnabled=!0,L&&(t.which,L=!1,n=!1))}),I.addEventListener("wheel",this._canvasWheelListener=function(t){if(e._visible)Math.max(-1,Math.min(1,40*-t.deltaY))})}},{key:"_destroy",value:function(){this._unbindEvents(),this._destroyNodes()}},{key:"_unbindEvents",value:function(){var e=this._viewer,t=e.scene,n=t.canvas.canvas,r=e.camera,i=e.cameraControl;t.off(this._onSceneTick),n.removeEventListener("mousedown",this._canvasMouseDownListener),n.removeEventListener("mousemove",this._canvasMouseMoveListener),n.removeEventListener("mouseup",this._canvasMouseUpListener),n.removeEventListener("wheel",this._canvasWheelListener),r.off(this._onCameraViewMatrix),r.off(this._onCameraProjMatrix),i.off(this._onCameraControlHover),i.off(this._onCameraControlHoverLeave)}},{key:"_destroyNodes",value:function(){this._setSectionPlane(null),this._rootNode.destroy(),this._displayMeshes={},this._affordanceMeshes={}}}]),e}(),lR=function(){function e(t,n,r){var i=this;b(this,e),this.id=r.id,this._sectionPlane=r,this._mesh=new Ji(n,{id:r.id,geometry:new Cn(n,_n({xSize:.5,ySize:.5,zSize:.001})),material:new Nn(n,{emissive:[1,1,1],diffuse:[0,0,0],backfaces:!1}),edgeMaterial:new Fn(n,{edgeColor:[0,0,0],edgeAlpha:1,edgeWidth:1}),highlightMaterial:new xn(n,{fill:!0,fillColor:[.5,1,.5],fillAlpha:.7,edges:!0,edgeColor:[0,0,0],edgeAlpha:1,edgeWidth:1}),selectedMaterial:new xn(n,{fill:!0,fillColor:[0,0,1],fillAlpha:.7,edges:!0,edgeColor:[1,0,0],edgeAlpha:1,edgeWidth:1}),highlighted:!0,scale:[3,3,3],position:[0,0,0],rotation:[0,0,0],opacity:.3,edges:!0});var a=$.vec3([0,0,0]),s=$.vec3(),o=$.vec3([0,0,1]),l=$.vec4(4),u=$.vec3(),c=function(){var e=i._sectionPlane.scene.center,t=[-i._sectionPlane.dir[0],-i._sectionPlane.dir[1],-i._sectionPlane.dir[2]];$.subVec3(e,i._sectionPlane.pos,a);var n=-$.dotVec3(t,a);$.normalizeVec3(t),$.mulVec3Scalar(t,n,s);var r=$.vec3PairToQuaternion(o,i._sectionPlane.dir,l);u[0]=.1*s[0],u[1]=.1*s[1],u[2]=.1*s[2],i._mesh.quaternion=r,i._mesh.position=u};this._onSectionPlanePos=this._sectionPlane.on("pos",c),this._onSectionPlaneDir=this._sectionPlane.on("dir",c),this._highlighted=!1,this._selected=!1}return P(e,[{key:"setHighlighted",value:function(e){this._highlighted=!!e,this._mesh.highlighted=this._highlighted,this._mesh.highlightMaterial.fillColor=e?[0,.7,0]:[0,0,0]}},{key:"getHighlighted",value:function(){return this._highlighted}},{key:"setSelected",value:function(e){this._selected=!!e,this._mesh.edgeMaterial.edgeWidth=e?3:1,this._mesh.highlightMaterial.edgeWidth=e?3:1}},{key:"getSelected",value:function(){return this._selected}},{key:"destroy",value:function(){this._sectionPlane.off(this._onSectionPlanePos),this._sectionPlane.off(this._onSectionPlaneDir),this._mesh.destroy()}}]),e}(),uR=function(){function e(t,n){var r=this;if(b(this,e),!(n.onHoverEnterPlane&&n.onHoverLeavePlane&&n.onClickedNothing&&n.onClickedPlane))throw"Missing config(s): onHoverEnterPlane, onHoverLeavePlane, onClickedNothing || onClickedPlane";this.plugin=t,this._viewer=t.viewer,this._onHoverEnterPlane=n.onHoverEnterPlane,this._onHoverLeavePlane=n.onHoverLeavePlane,this._onClickedNothing=n.onClickedNothing,this._onClickedPlane=n.onClickedPlane,this._visible=!0,this._planes={},this._canvas=n.overviewCanvas,this._scene=new zn(this._viewer,{canvasId:this._canvas.id,transparent:!0}),this._scene.clearLights(),new vn(this._scene,{dir:[.4,-.4,.8],color:[.8,1,1],intensity:1,space:"view"}),new vn(this._scene,{dir:[-.8,-.3,-.4],color:[.8,.8,.8],intensity:1,space:"view"}),new vn(this._scene,{dir:[.8,-.6,-.8],color:[1,1,1],intensity:1,space:"view"}),this._scene.camera,this._scene.camera.perspective.fov=70,this._zUp=!1;var i=this._scene.camera,a=$.rotationMat4c(-90*$.DEGTORAD,1,0,0),s=$.vec3(),o=$.vec3(),l=$.vec3();this._synchCamera=function(){var e=r._viewer.camera.eye,t=r._viewer.camera.look,n=r._viewer.camera.up;$.mulVec3Scalar($.normalizeVec3($.subVec3(e,t,s)),7),r._zUp?($.transformVec3(a,s,o),$.transformVec3(a,n,l),i.look=[0,0,0],i.eye=$.transformVec3(a,s,o),i.up=$.transformPoint3(a,n,l)):(i.look=[0,0,0],i.eye=s,i.up=n)},this._onViewerCameraMatrix=this._viewer.camera.on("matrix",this._synchCamera),this._onViewerCameraWorldAxis=this._viewer.camera.on("worldAxis",this._synchCamera),this._onViewerCameraFOV=this._viewer.camera.perspective.on("fov",(function(e){r._scene.camera.perspective.fov=e}));var u=null;this._onInputMouseMove=this._scene.input.on("mousemove",(function(e){var t=r._scene.pick({canvasPos:e});if(t){if(!u||t.entity.id!==u.id){if(u)r._planes[u.id]&&r._onHoverLeavePlane(u.id);u=t.entity,r._planes[u.id]&&r._onHoverEnterPlane(u.id)}}else u&&(r._onHoverLeavePlane(u.id),u=null)})),this._scene.canvas.canvas.addEventListener("mouseup",this._onCanvasMouseUp=function(){u?r._planes[u.id]&&r._onClickedPlane(u.id):r._onClickedNothing()}),this._scene.canvas.canvas.addEventListener("mouseout",this._onCanvasMouseOut=function(){u&&(r._onHoverLeavePlane(u.id),u=null)}),this.setVisible(n.overviewVisible)}return P(e,[{key:"addSectionPlane",value:function(e){this._planes[e.id]=new lR(this,this._scene,e)}},{key:"setPlaneHighlighted",value:function(e,t){var n=this._planes[e];n&&n.setHighlighted(t)}},{key:"setPlaneSelected",value:function(e,t){var n=this._planes[e];n&&n.setSelected(t)}},{key:"removeSectionPlane",value:function(e){var t=this._planes[e.id];t&&(t.destroy(),delete this._planes[e.id])}},{key:"setVisible",value:function(){var e=!(arguments.length>0&&void 0!==arguments[0])||arguments[0];this._visible=e,this._canvas.style.visibility=e?"visible":"hidden"}},{key:"getVisible",value:function(){return this._visible}},{key:"destroy",value:function(){this._viewer.camera.off(this._onViewerCameraMatrix),this._viewer.camera.off(this._onViewerCameraWorldAxis),this._viewer.camera.perspective.off(this._onViewerCameraFOV),this._scene.input.off(this._onInputMouseMove),this._scene.canvas.canvas.removeEventListener("mouseup",this._onCanvasMouseUp),this._scene.canvas.canvas.removeEventListener("mouseout",this._onCanvasMouseOut),this._scene.destroy()}}]),e}(),cR=$.AABB3(),fR=$.vec3(),pR=function(e){I(n,Ce);var t=m(n);function n(e){var r,i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(b(this,n),(r=t.call(this,"SectionPlanes",e))._freeControls=[],r._sectionPlanes=e.scene.sectionPlanes,r._controls={},r._shownControlId=null,null!==i.overviewCanvasId&&void 0!==i.overviewCanvasId){var a=document.getElementById(i.overviewCanvasId);a?r._overview=new uR(g(r),{overviewCanvas:a,visible:i.overviewVisible,onHoverEnterPlane:function(e){r._overview.setPlaneHighlighted(e,!0)},onHoverLeavePlane:function(e){r._overview.setPlaneHighlighted(e,!1)},onClickedPlane:function(e){if(r.getShownControl()!==e){r.showControl(e);var t=r.sectionPlanes[e].pos;cR.set(r.viewer.scene.aabb),$.getAABB3Center(cR,fR),cR[0]+=t[0]-fR[0],cR[1]+=t[1]-fR[1],cR[2]+=t[2]-fR[2],cR[3]+=t[0]-fR[0],cR[4]+=t[1]-fR[1],cR[5]+=t[2]-fR[2],r.viewer.cameraFlight.flyTo({aabb:cR,fitFOV:65})}else r.hideControl()},onClickedNothing:function(){r.hideControl()}}):r.warn("Can't find overview canvas: '"+i.overviewCanvasId+"' - will create plugin without overview")}return r._onSceneSectionPlaneCreated=e.scene.on("sectionPlaneCreated",(function(e){r._sectionPlaneCreated(e)})),r}return P(n,[{key:"setOverviewVisible",value:function(e){this._overview&&this._overview.setVisible(e)}},{key:"getOverviewVisible",value:function(){if(this._overview)return this._overview.getVisible()}},{key:"sectionPlanes",get:function(){return this._sectionPlanes}},{key:"createSectionPlane",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};void 0!==e.id&&null!==e.id&&this.viewer.scene.components[e.id]&&(this.error("Viewer component with this ID already exists: "+e.id),delete e.id);var t=new ia(this.viewer.scene,{id:e.id,pos:e.pos,dir:e.dir,active:!0});return t}},{key:"_sectionPlaneCreated",value:function(e){var t=this,n=this._freeControls.length>0?this._freeControls.pop():new oR(this);n._setSectionPlane(e),n.setVisible(!1),this._controls[e.id]=n,this._overview&&this._overview.addSectionPlane(e),e.once("destroyed",(function(){t._sectionPlaneDestroyed(e)}))}},{key:"flipSectionPlanes",value:function(){var e=this.viewer.scene.sectionPlanes;for(var t in e){e[t].flipDir()}}},{key:"showControl",value:function(e){var t=this._controls[e];t?(this.hideControl(),t.setVisible(!0),this._overview&&this._overview.setPlaneSelected(e,!0),this._shownControlId=e):this.error("Control not found: "+e)}},{key:"getShownControl",value:function(){return this._shownControlId}},{key:"hideControl",value:function(){for(var e in this._controls)this._controls.hasOwnProperty(e)&&(this._controls[e].setVisible(!1),this._overview&&this._overview.setPlaneSelected(e,!1));this._shownControlId=null}},{key:"destroySectionPlane",value:function(e){var t=this.viewer.scene.sectionPlanes[e];t?(this._sectionPlaneDestroyed(t),t.destroy(),e===this._shownControlId&&(this._shownControlId=null)):this.error("SectionPlane not found: "+e)}},{key:"_sectionPlaneDestroyed",value:function(e){this._overview&&this._overview.removeSectionPlane(e);var t=this._controls[e.id];t&&(t.setVisible(!1),t._setSectionPlane(null),delete this._controls[e.id],this._freeControls.push(t))}},{key:"clear",value:function(){for(var e=Object.keys(this._sectionPlanes),t=0,n=e.length;t1&&void 0!==arguments[1]?arguments[1]:{};return b(this,n),(r=t.call(this,"StoreyViews",e))._objectsMemento=new Hs,r._cameraMemento=new Ls,r.storeys={},r.modelStoreys={},r._fitStoreyMaps=!!i.fitStoreyMaps,r._onModelLoaded=r.viewer.scene.on("modelLoaded",(function(e){r._registerModelStoreys(e),r.fire("storeys",r.storeys)})),r}return P(n,[{key:"_registerModelStoreys",value:function(e){var t=this,n=this.viewer,r=n.scene,i=n.metaScene,a=i.metaModels[e],s=r.models[e];if(a&&a.rootMetaObjects)for(var o=a.rootMetaObjects,l=0,u=o.length;l.5?d.length:0,I=new AR(this,s.aabb,v,e,A,h);I._onModelDestroyed=s.once("destroyed",(function(){t._deregisterModelStoreys(e),t.fire("storeys",t.storeys)})),this.storeys[A]=I,this.modelStoreys[e]||(this.modelStoreys[e]={}),this.modelStoreys[e][A]=I}}},{key:"_deregisterModelStoreys",value:function(e){var t=this.modelStoreys[e];if(t){var n=this.viewer.scene;for(var r in t)if(t.hasOwnProperty(r)){var i=t[r],a=n.models[i.modelId];a&&a.off(i._onModelDestroyed),delete this.storeys[r]}delete this.modelStoreys[e]}}},{key:"fitStoreyMaps",get:function(){return this._fitStoreyMaps}},{key:"gotoStoreyCamera",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=this.storeys[e];if(!n)return this.error("IfcBuildingStorey not found with this ID: "+e),void(t.done&&t.done());var r=this.viewer,i=r.scene,a=i.camera,s=n.storeyAABB;if(s[3]1&&void 0!==arguments[1]?arguments[1]:{},n=this.storeys[e];if(n){var r=this.viewer,i=r.scene,a=r.metaScene,s=a.metaObjects[e];s&&(t.hideOthers&&i.setObjectsVisible(r.scene.visibleObjectIds,!1),this.withStoreyObjects(e,(function(e,t){e&&(e.visible=!0)})))}else this.error("IfcBuildingStorey not found with this ID: "+e)}},{key:"withStoreyObjects",value:function(e,t){var n=this.viewer,r=n.scene,i=n.metaScene,a=i.metaObjects[e];if(a)for(var s=a.getObjectIDsInSubtree(),o=0,l=s.length;o1&&void 0!==arguments[1]?arguments[1]:{},n=this.storeys[e];if(!n)return this.error("IfcBuildingStorey not found with this ID: "+e),IR;var r,i,a=this.viewer,s=a.scene,o=t.format||"png",l=this._fitStoreyMaps?n.storeyAABB:n.modelAABB,u=Math.abs((l[5]-l[2])/(l[3]-l[0])),c=t.padding||0;t.width&&t.height?(r=t.width,i=t.height):t.height?(i=t.height,r=Math.round(i/u)):t.width?(r=t.width,i=Math.round(r*u)):(r=300,i=Math.round(r*u)),this._objectsMemento.saveObjects(s),this._cameraMemento.saveCamera(s),this.showStoreyObjects(e,le.apply(t,{hideOthers:!0})),this._arrangeStoreyMapCamera(n);var f=a.getSnapshot({width:r,height:i,format:o});return this._objectsMemento.restoreObjects(s),this._cameraMemento.restoreCamera(s),new dR(e,f,o,r,i,c)}},{key:"_arrangeStoreyMapCamera",value:function(e){var t=this.viewer,n=t.scene.camera,r=this._fitStoreyMaps?e.storeyAABB:e.modelAABB,i=$.getAABB3Center(r),a=vR;a[0]=i[0]+.5*n.worldUp[0],a[1]=i[1]+.5*n.worldUp[1],a[2]=i[2]+.5*n.worldUp[2];var s=n.worldForward;t.cameraFlight.jumpTo({eye:a,look:i,up:s});var o=(r[3]-r[0])/2,l=(r[4]-r[1])/2,u=(r[5]-r[2])/2,c=-o,f=+o,p=-l,A=+l,d=-u,v=+u;t.camera.customProjection.matrix=$.orthoMat4c(c,f,d,v,p,A,hR),t.camera.projection="customProjection"}},{key:"pickStoreyMap",value:function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},r=e.storeyId,i=this.storeys[r];if(!i)return this.error("IfcBuildingStorey not found with this ID: "+r),null;var a=1-t[0]/e.width,s=1-t[1]/e.height,o=this._fitStoreyMaps?i.storeyAABB:i.modelAABB,l=o[0],u=o[1],c=o[2],f=o[3],p=o[4],A=o[5],d=f-l,v=p-u,h=A-c,I=$.vec3([l+d*a,u+.5*v,c+h*s]),y=$.vec3([0,-1,0]),m=$.addVec3(I,y,vR),w=this.viewer.camera.worldForward,g=$.lookAtMat4v(I,m,w,hR),E=this.viewer.scene.pick({pickSurface:n.pickSurface,pickInvisible:!0,matrix:g});return E}},{key:"storeyMapToWorldPos",value:function(e,t){var n=e.storeyId,r=this.storeys[n];if(!r)return this.error("IfcBuildingStorey not found with this ID: "+n),null;var i=1-t[0]/e.width,a=1-t[1]/e.height,s=this._fitStoreyMaps?r.storeyAABB:r.modelAABB,o=s[0],l=s[1],u=s[2],c=s[3],f=s[4],p=s[5],A=c-o,d=f-l,v=p-u,h=$.vec3([o+A*i,l+.5*d,u+v*a]);return h}},{key:"getStoreyContainingWorldPos",value:function(e){for(var t in this.storeys){var n=this.storeys[t];if($.point3AABB3Intersect(n.storeyAABB,e))return t}return null}},{key:"worldPosToStoreyMap",value:function(e,t,n){var r=e.storeyId,i=this.storeys[r];if(!i)return this.error("IfcBuildingStorey not found with this ID: "+r),!1;var a=this._fitStoreyMaps?i.storeyAABB:i.modelAABB,s=a[0],o=a[1],l=a[2],u=a[3]-s,c=a[4]-o,f=a[5]-l,p=this.viewer.camera.worldUp,A=p[0]>p[1]&&p[0]>p[2],d=!A&&p[1]>p[0]&&p[1]>p[2];!A&&!d&&p[2]>p[0]&&(p[2],p[1]);var v=e.width/u,h=d?e.height/f:e.height/c;return n[0]=Math.floor(e.width-(t[0]-s)*v),n[1]=Math.floor(e.height-(t[2]-l)*h),n[0]>=0&&n[0]=0&&n[1]<=e.height}},{key:"worldDirToStoreyMap",value:function(e,t,n){var r=this.viewer.camera,i=r.eye,a=r.look,s=$.subVec3(a,i,vR),o=r.worldUp,l=o[0]>o[1]&&o[0]>o[2],u=!l&&o[1]>o[0]&&o[1]>o[2];!l&&!u&&o[2]>o[0]&&(o[2],o[1]),l?(n[0]=s[1],n[1]=s[2]):u?(n[0]=s[0],n[1]=s[2]):(n[0]=s[0],n[1]=s[1]),$.normalizeVec2(n)}},{key:"destroy",value:function(){this.viewer.scene.off(this._onModelLoaded),v(E(n.prototype),"destroy",this).call(this)}}]),n}(),mR=new Float64Array([0,0,1]),wR=new Float64Array(4),gR=function(){function e(t){b(this,e),this.id=null,this._viewer=t.viewer,this._plugin=t,this._visible=!1,this._pos=$.vec3(),this._origin=$.vec3(),this._rtcPos=$.vec3(),this._baseDir=$.vec3(),this._rootNode=null,this._displayMeshes=null,this._affordanceMeshes=null,this._ignoreNextSectionPlaneDirUpdate=!1,this._createNodes(),this._bindEvents()}return P(e,[{key:"_setSectionPlane",value:function(e){var t=this;this._sectionPlane&&(this._sectionPlane.off(this._onSectionPlanePos),this._sectionPlane.off(this._onSectionPlaneDir),this._onSectionPlanePos=null,this._onSectionPlaneDir=null,this._sectionPlane=null),e&&(this.id=e.id,this._setPos(e.pos),this._setDir(e.dir),this._sectionPlane=e,this._onSectionPlanePos=e.on("pos",(function(){t._setPos(t._sectionPlane.pos)})),this._onSectionPlaneDir=e.on("dir",(function(){t._ignoreNextSectionPlaneDirUpdate?t._ignoreNextSectionPlaneDirUpdate=!1:t._setDir(t._sectionPlane.dir)})))}},{key:"sectionPlane",get:function(){return this._sectionPlane}},{key:"_setPos",value:function(e){this._pos.set(e),Oe(this._pos,this._origin,this._rtcPos),this._rootNode.origin=this._origin,this._rootNode.position=this._rtcPos}},{key:"_setDir",value:function(e){this._baseDir.set(e),this._rootNode.quaternion=$.vec3PairToQuaternion(mR,e,wR)}},{key:"_setSectionPlaneDir",value:function(e){this._sectionPlane&&(this._ignoreNextSectionPlaneDirUpdate=!0,this._sectionPlane.dir=e)}},{key:"setVisible",value:function(){var e=!(arguments.length>0&&void 0!==arguments[0])||arguments[0];if(this._visible!==e){var t;for(t in this._visible=e,this._displayMeshes)this._displayMeshes.hasOwnProperty(t)&&(this._displayMeshes[t].visible=e);if(!e)for(t in this._affordanceMeshes)this._affordanceMeshes.hasOwnProperty(t)&&(this._affordanceMeshes[t].visible=e)}}},{key:"getVisible",value:function(){return this._visible}},{key:"setCulled",value:function(e){var t;for(t in this._displayMeshes)this._displayMeshes.hasOwnProperty(t)&&(this._displayMeshes[t].culled=e);if(!e)for(t in this._affordanceMeshes)this._affordanceMeshes.hasOwnProperty(t)&&(this._affordanceMeshes[t].culled=e)}},{key:"_createNodes",value:function(){var e=!1,t=this._viewer.scene,n=.01;this._rootNode=new da(t,{position:[0,0,0],scale:[5,5,5]});var r=this._rootNode,i={arrowHead:new Cn(r,$i({radiusTop:.001,radiusBottom:.07,radialSegments:32,heightSegments:1,height:.2,openEnded:!1})),arrowHeadBig:new Cn(r,$i({radiusTop:.001,radiusBottom:.09,radialSegments:32,heightSegments:1,height:.25,openEnded:!1})),axis:new Cn(r,$i({radiusTop:n,radiusBottom:n,radialSegments:20,heightSegments:1,height:1,openEnded:!1}))},a={red:new Nn(r,{diffuse:[1,0,0],emissive:[1,0,0],ambient:[0,0,0],specular:[.6,.6,.3],shininess:80,lineWidth:2}),green:new Nn(r,{diffuse:[0,1,0],emissive:[1,0,0],ambient:[0,0,0],specular:[.6,.6,.3],shininess:80,lineWidth:2}),blue:new Nn(r,{diffuse:[0,0,1],emissive:[1,0,0],ambient:[0,0,0],specular:[.6,.6,.3],shininess:80,lineWidth:2}),highlightRed:new xn(r,{edges:!1,fill:!0,fillColor:[1,0,0],fillAlpha:.6})};this._displayMeshes={plane:r.addChild(new Ji(r,{geometry:new Cn(r,{primitive:"triangles",positions:[.5,.5,0,.5,-.5,0,-.5,-.5,0,-.5,.5,0,.5,.5,-0,.5,-.5,-0,-.5,-.5,-0,-.5,.5,-0],indices:[0,1,2,2,3,0]}),material:new Nn(r,{emissive:[0,0,0],diffuse:[0,0,0],backfaces:!0}),opacity:.6,ghosted:!0,pickable:!1,collidable:!0,clippable:!1,visible:!1,scale:[2.4,2.4,1]}),e),planeFrame:r.addChild(new Ji(r,{geometry:new Cn(r,ka({center:[0,0,0],radius:1.7,tube:.02,radialSegments:4,tubeSegments:4,arc:2*Math.PI})),material:new Nn(r,{emissive:[0,0,0],diffuse:[0,0,0],specular:[0,0,0],shininess:0}),pickable:!1,collidable:!1,clippable:!1,visible:!1,scale:[1,1,.1],rotation:[0,0,45]}),e),center:r.addChild(new Ji(r,{geometry:new Cn(r,ea({radius:.05})),material:a.center,pickable:!1,collidable:!0,clippable:!1,visible:!1}),e),zAxisArrow:r.addChild(new Ji(r,{geometry:i.arrowHead,material:a.blue,matrix:function(){var e=$.translateMat4c(0,1.1,0,$.identityMat4()),t=$.rotationMat4v(-90*$.DEGTORAD,[.8,0,0],$.identityMat4());return $.mulMat4(t,e,$.identityMat4())}(),pickable:!1,collidable:!0,clippable:!1,visible:!1}),e),zShaft:r.addChild(new Ji(r,{geometry:i.axis,material:a.blue,matrix:function(){var e=$.translateMat4c(0,.5,0,$.identityMat4()),t=$.rotationMat4v(-90*$.DEGTORAD,[1,0,0],$.identityMat4());return $.mulMat4(t,e,$.identityMat4())}(),clippable:!1,pickable:!1,collidable:!0,visible:!1}),e)},this._affordanceMeshes={planeFrame:r.addChild(new Ji(r,{geometry:new Cn(r,ka({center:[0,0,0],radius:2,tube:n,radialSegments:4,tubeSegments:4,arc:2*Math.PI})),material:new Nn(r,{ambient:[1,1,1],diffuse:[0,0,0],emissive:[1,1,0]}),highlighted:!0,highlightMaterial:new xn(r,{edges:!1,filled:!0,fillColor:[1,1,0],fillAlpha:1}),pickable:!1,collidable:!1,clippable:!1,visible:!1,scale:[1,1,1],rotation:[0,0,45]}),e),zAxisArrow:r.addChild(new Ji(r,{geometry:i.arrowHeadBig,material:a.blue,matrix:function(){var e=$.translateMat4c(0,1.1,0,$.identityMat4()),t=$.rotationMat4v(-90*$.DEGTORAD,[.8,0,0],$.identityMat4());return $.mulMat4(t,e,$.identityMat4())}(),pickable:!1,collidable:!0,clippable:!1,visible:!1}),e)}}},{key:"_bindEvents",value:function(){var e=this,t=this._rootNode,n=$.vec2(),r=this._viewer.camera,i=this._viewer.scene,a=0,s=!1,o=$.vec3([0,0,0]),l=-1;this._onCameraViewMatrix=i.camera.on("viewMatrix",(function(){})),this._onCameraProjMatrix=i.camera.on("projMatrix",(function(){})),this._onSceneTick=i.on("tick",(function(){s=!1;var n=Math.abs($.lenVec3($.subVec3(i.camera.eye,e._pos,o)));if(n!==l&&"perspective"===r.projection){var u=.07*(Math.tan(r.perspective.fov*$.DEGTORAD)*n);t.scale=[u,u,u],l=n}if("ortho"===r.projection){var f=r.ortho.scale/10;t.scale=[f,f,f],l=n}0!==a&&(c(a),a=0)}));var u=function(){var e=new Float64Array(2);return function(t){if(t){for(var n=t.target,r=0,i=0;n.offsetParent;)r+=n.offsetLeft,i+=n.offsetTop,n=n.offsetParent;e[0]=t.pageX-r,e[1]=t.pageY-i}else t=window.event,e[0]=t.x,e[1]=t.y;return e}}(),c=function(t){var n=e._sectionPlane.pos,r=e._sectionPlane.dir;$.addVec3(n,$.mulVec3Scalar(r,.1*t*e._plugin.getDragSensitivity(),$.vec3())),e._sectionPlane.pos=n},f=!1;this._plugin._controlElement.addEventListener("mousedown",this._canvasMouseDownListener=function(t){if(t.preventDefault(),e._visible&&(e._viewer.cameraControl.pointerEnabled=!1,1===t.which)){f=!0;var r=u(t);n[0]=r[0],n[1]=r[1]}}),this._plugin._controlElement.addEventListener("mousemove",this._canvasMouseMoveListener=function(t){if(e._visible&&f&&!s){var r=u(t),i=r[0],a=r[1];c(a-n[1]),n[0]=i,n[1]=a}}),this._plugin._controlElement.addEventListener("mouseup",this._canvasMouseUpListener=function(t){e._visible&&(e._viewer.cameraControl.pointerEnabled=!0,f&&(t.which,f=!1))}),this._plugin._controlElement.addEventListener("wheel",this._canvasWheelListener=function(t){e._visible&&(a+=Math.max(-1,Math.min(1,40*-t.deltaY)))});var p,A,d=null;this._plugin._controlElement.addEventListener("touchstart",this._handleTouchStart=function(t){t.stopPropagation(),t.preventDefault(),e._visible&&(p=t.touches[0].clientY,d=p,a=0)}),this._plugin._controlElement.addEventListener("touchmove",this._handleTouchMove=function(t){t.stopPropagation(),t.preventDefault(),e._visible&&(s||(s=!0,A=t.touches[0].clientY,null!==d&&(a+=A-d),d=A))}),this._plugin._controlElement.addEventListener("touchend",this._handleTouchEnd=function(t){t.stopPropagation(),t.preventDefault(),e._visible&&(p=null,A=null,a=0)})}},{key:"_destroy",value:function(){this._unbindEvents(),this._destroyNodes()}},{key:"_unbindEvents",value:function(){var e=this._viewer,t=e.scene,n=t.canvas.canvas,r=e.camera,i=this._plugin._controlElement;t.off(this._onSceneTick),n.removeEventListener("mousedown",this._canvasMouseDownListener),n.removeEventListener("mousemove",this._canvasMouseMoveListener),n.removeEventListener("mouseup",this._canvasMouseUpListener),n.removeEventListener("wheel",this._canvasWheelListener),i.removeEventListener("touchstart",this._handleTouchStart),i.removeEventListener("touchmove",this._handleTouchMove),i.removeEventListener("touchend",this._handleTouchEnd),r.off(this._onCameraViewMatrix),r.off(this._onCameraProjMatrix)}},{key:"_destroyNodes",value:function(){this._setSectionPlane(null),this._rootNode.destroy(),this._displayMeshes={},this._affordanceMeshes={}}}]),e}(),ER=function(){function e(t,n,r){var i=this;b(this,e),this.id=r.id,this._sectionPlane=r,this._mesh=new Ji(n,{id:r.id,geometry:new Cn(n,_n({xSize:.5,ySize:.5,zSize:.001})),material:new Nn(n,{emissive:[1,1,1],diffuse:[0,0,0],backfaces:!1}),edgeMaterial:new Fn(n,{edgeColor:[0,0,0],edgeAlpha:1,edgeWidth:1}),highlightMaterial:new xn(n,{fill:!0,fillColor:[.5,1,.5],fillAlpha:.7,edges:!0,edgeColor:[0,0,0],edgeAlpha:1,edgeWidth:1}),selectedMaterial:new xn(n,{fill:!0,fillColor:[0,0,1],fillAlpha:.7,edges:!0,edgeColor:[1,0,0],edgeAlpha:1,edgeWidth:1}),highlighted:!0,scale:[3,3,3],position:[0,0,0],rotation:[0,0,0],opacity:.3,edges:!0});var a=$.vec3([0,0,0]),s=$.vec3(),o=$.vec3([0,0,1]),l=$.vec4(4),u=$.vec3(),c=function(){var e=i._sectionPlane.scene.center,t=[-i._sectionPlane.dir[0],-i._sectionPlane.dir[1],-i._sectionPlane.dir[2]];$.subVec3(e,i._sectionPlane.pos,a);var n=-$.dotVec3(t,a);$.normalizeVec3(t),$.mulVec3Scalar(t,n,s);var r=$.vec3PairToQuaternion(o,i._sectionPlane.dir,l);u[0]=.1*s[0],u[1]=.1*s[1],u[2]=.1*s[2],i._mesh.quaternion=r,i._mesh.position=u};this._onSectionPlanePos=this._sectionPlane.on("pos",c),this._onSectionPlaneDir=this._sectionPlane.on("dir",c),this._highlighted=!1,this._selected=!1}return P(e,[{key:"setHighlighted",value:function(e){this._highlighted=!!e,this._mesh.highlighted=this._highlighted,this._mesh.highlightMaterial.fillColor=e?[0,.7,0]:[0,0,0]}},{key:"getHighlighted",value:function(){return this._highlighted}},{key:"setSelected",value:function(e){this._selected=!!e,this._mesh.edgeMaterial.edgeWidth=e?3:1,this._mesh.highlightMaterial.edgeWidth=e?3:1}},{key:"getSelected",value:function(){return this._selected}},{key:"destroy",value:function(){this._sectionPlane.off(this._onSectionPlanePos),this._sectionPlane.off(this._onSectionPlaneDir),this._mesh.destroy()}}]),e}(),TR=function(){function e(t,n){var r=this;if(b(this,e),!(n.onHoverEnterPlane&&n.onHoverLeavePlane&&n.onClickedNothing&&n.onClickedPlane))throw"Missing config(s): onHoverEnterPlane, onHoverLeavePlane, onClickedNothing || onClickedPlane";this.plugin=t,this._viewer=t.viewer,this._onHoverEnterPlane=n.onHoverEnterPlane,this._onHoverLeavePlane=n.onHoverLeavePlane,this._onClickedNothing=n.onClickedNothing,this._onClickedPlane=n.onClickedPlane,this._visible=!0,this._planes={},this._canvas=n.overviewCanvas,this._scene=new zn(this._viewer,{canvasId:this._canvas.id,transparent:!0}),this._scene.clearLights(),new vn(this._scene,{dir:[.4,-.4,.8],color:[.8,1,1],intensity:1,space:"view"}),new vn(this._scene,{dir:[-.8,-.3,-.4],color:[.8,.8,.8],intensity:1,space:"view"}),new vn(this._scene,{dir:[.8,-.6,-.8],color:[1,1,1],intensity:1,space:"view"}),this._scene.camera,this._scene.camera.perspective.fov=70,this._zUp=!1;var i=this._scene.camera,a=$.rotationMat4c(-90*$.DEGTORAD,1,0,0),s=$.vec3(),o=$.vec3(),l=$.vec3();this._synchCamera=function(){var e=r._viewer.camera.eye,t=r._viewer.camera.look,n=r._viewer.camera.up;$.mulVec3Scalar($.normalizeVec3($.subVec3(e,t,s)),7),r._zUp?($.transformVec3(a,s,o),$.transformVec3(a,n,l),i.look=[0,0,0],i.eye=$.transformVec3(a,s,o),i.up=$.transformPoint3(a,n,l)):(i.look=[0,0,0],i.eye=s,i.up=n)},this._onViewerCameraMatrix=this._viewer.camera.on("matrix",this._synchCamera),this._onViewerCameraWorldAxis=this._viewer.camera.on("worldAxis",this._synchCamera),this._onViewerCameraFOV=this._viewer.camera.perspective.on("fov",(function(e){r._scene.camera.perspective.fov=e}));var u=null;this._onInputMouseMove=this._scene.input.on("mousemove",(function(e){var t=r._scene.pick({canvasPos:e});if(t){if(!u||t.entity.id!==u.id){if(u)r._planes[u.id]&&r._onHoverLeavePlane(u.id);u=t.entity,r._planes[u.id]&&r._onHoverEnterPlane(u.id)}}else u&&(r._onHoverLeavePlane(u.id),u=null)})),this._scene.canvas.canvas.addEventListener("mouseup",this._onCanvasMouseUp=function(){u?r._planes[u.id]&&r._onClickedPlane(u.id):r._onClickedNothing()}),this._scene.canvas.canvas.addEventListener("mouseout",this._onCanvasMouseOut=function(){u&&(r._onHoverLeavePlane(u.id),u=null)}),this.setVisible(n.overviewVisible)}return P(e,[{key:"addSectionPlane",value:function(e){this._planes[e.id]=new ER(this,this._scene,e)}},{key:"setPlaneHighlighted",value:function(e,t){var n=this._planes[e];n&&n.setHighlighted(t)}},{key:"setPlaneSelected",value:function(e,t){var n=this._planes[e];n&&n.setSelected(t)}},{key:"removeSectionPlane",value:function(e){var t=this._planes[e.id];t&&(t.destroy(),delete this._planes[e.id])}},{key:"setVisible",value:function(){var e=!(arguments.length>0&&void 0!==arguments[0])||arguments[0];this._visible=e,this._canvas.style.visibility=e?"visible":"hidden"}},{key:"getVisible",value:function(){return this._visible}},{key:"destroy",value:function(){this._viewer.camera.off(this._onViewerCameraMatrix),this._viewer.camera.off(this._onViewerCameraWorldAxis),this._viewer.camera.perspective.off(this._onViewerCameraFOV),this._scene.input.off(this._onInputMouseMove),this._scene.canvas.canvas.removeEventListener("mouseup",this._onCanvasMouseUp),this._scene.canvas.canvas.removeEventListener("mouseout",this._onCanvasMouseOut),this._scene.destroy()}}]),e}(),bR=$.AABB3(),DR=$.vec3(),PR=function(e){I(n,Ce);var t=m(n);function n(e){var r,i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(b(this,n),(r=t.call(this,"FaceAlignedSectionPlanesPlugin",e))._freeControls=[],r._sectionPlanes=e.scene.sectionPlanes,r._controls={},r._shownControlId=null,r._dragSensitivity=i.dragSensitivity||1,null!==i.overviewCanvasId&&void 0!==i.overviewCanvasId){var a=document.getElementById(i.overviewCanvasId);a?r._overview=new TR(g(r),{overviewCanvas:a,visible:i.overviewVisible,onHoverEnterPlane:function(e){r._overview.setPlaneHighlighted(e,!0)},onHoverLeavePlane:function(e){r._overview.setPlaneHighlighted(e,!1)},onClickedPlane:function(e){if(r.getShownControl()!==e){r.showControl(e);var t=r.sectionPlanes[e].pos;bR.set(r.viewer.scene.aabb),$.getAABB3Center(bR,DR),bR[0]+=t[0]-DR[0],bR[1]+=t[1]-DR[1],bR[2]+=t[2]-DR[2],bR[3]+=t[0]-DR[0],bR[4]+=t[1]-DR[1],bR[5]+=t[2]-DR[2],r.viewer.cameraFlight.flyTo({aabb:bR,fitFOV:65})}else r.hideControl()},onClickedNothing:function(){r.hideControl()}}):r.warn("Can't find overview canvas: '"+i.overviewCanvasId+"' - will create plugin without overview")}return null===i.controlElementId||void 0===i.controlElementId?r.error("Parameter expected: controlElementId"):(r._controlElement=document.getElementById(i.controlElementId),r._controlElement||r.warn("Can't find control element: '"+i.controlElementId+"' - will create plugin without control element")),r._onSceneSectionPlaneCreated=e.scene.on("sectionPlaneCreated",(function(e){r._sectionPlaneCreated(e)})),r}return P(n,[{key:"setDragSensitivity",value:function(e){this._dragSensitivity=e||1}},{key:"getDragSensitivity",value:function(){return this._dragSensitivity}},{key:"setOverviewVisible",value:function(e){this._overview&&this._overview.setVisible(e)}},{key:"getOverviewVisible",value:function(){if(this._overview)return this._overview.getVisible()}},{key:"sectionPlanes",get:function(){return this._sectionPlanes}},{key:"createSectionPlane",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};void 0!==e.id&&null!==e.id&&this.viewer.scene.components[e.id]&&(this.error("Viewer component with this ID already exists: "+e.id),delete e.id);var t=new ia(this.viewer.scene,{id:e.id,pos:e.pos,dir:e.dir,active:!0});return t}},{key:"_sectionPlaneCreated",value:function(e){var t=this,n=this._freeControls.length>0?this._freeControls.pop():new gR(this);n._setSectionPlane(e),n.setVisible(!1),this._controls[e.id]=n,this._overview&&this._overview.addSectionPlane(e),e.once("destroyed",(function(){t._sectionPlaneDestroyed(e)}))}},{key:"flipSectionPlanes",value:function(){var e=this.viewer.scene.sectionPlanes;for(var t in e){e[t].flipDir()}}},{key:"showControl",value:function(e){var t=this._controls[e];t?(this.hideControl(),t.setVisible(!0),this._overview&&this._overview.setPlaneSelected(e,!0),this._shownControlId=e):this.error("Control not found: "+e)}},{key:"getShownControl",value:function(){return this._shownControlId}},{key:"hideControl",value:function(){for(var e in this._controls)this._controls.hasOwnProperty(e)&&(this._controls[e].setVisible(!1),this._overview&&this._overview.setPlaneSelected(e,!1));this._shownControlId=null}},{key:"destroySectionPlane",value:function(e){var t=this.viewer.scene.sectionPlanes[e];t?(this._sectionPlaneDestroyed(t),t.destroy(),e===this._shownControlId&&(this._shownControlId=null)):this.error("SectionPlane not found: "+e)}},{key:"_sectionPlaneDestroyed",value:function(e){this._overview&&this._overview.removeSectionPlane(e);var t=this._controls[e.id];t&&(t.setVisible(!1),t._setSectionPlane(null),delete this._controls[e.id],this._freeControls.push(t))}},{key:"clear",value:function(){for(var e=Object.keys(this._sectionPlanes),t=0,n=e.length;t>5&31)/31,s=(C>>10&31)/31):(i=l,a=u,s=c),(E&&i!==d||a!==v||s!==h)&&(null!==d&&(I=!0),d=i,v=a,h=s)}for(var _=1;_<=3;_++){var B=b+12*_;w.push(f.getFloat32(B,!0)),w.push(f.getFloat32(B+4,!0)),w.push(f.getFloat32(B+8,!0)),g.push(D,P,R),A&&o.push(i,a,s,1)}E&&I&&(LR(n,w,g,o,m,r),w=[],g=[],o=o?[]:null,I=!1)}w.length>0&&LR(n,w,g,o,m,r)}function NR(e,t,n,r){for(var i,a,s,o,l,u,c,f=/facet([\s\S]*?)endfacet/g,p=0,A=/[\s]+([+-]?(?:\d+.\d+|\d+.|\d+|.\d+)(?:[eE][+-]?\d+)?)/.source,d=new RegExp("vertex"+A+A+A,"g"),v=new RegExp("normal"+A+A+A,"g"),h=[],I=[];null!==(o=f.exec(t));){for(l=0,u=0,c=o[0];null!==(o=v.exec(c));)i=parseFloat(o[1]),a=parseFloat(o[2]),s=parseFloat(o[3]),u++;for(;null!==(o=d.exec(c));)h.push(parseFloat(o[1]),parseFloat(o[2]),parseFloat(o[3])),I.push(i,a,s),l++;1!==u&&e.error("Error in normal of face "+p),3!==l&&e.error("Error in positions of face "+p),p++}LR(n,h,I,null,new ya(n,{roughness:.5}),r)}function LR(e,t,n,r,i,a){for(var s=new Int32Array(t.length/3),o=0,l=s.length;o0?n:null,r=r&&r.length>0?r:null,a.smoothNormals&&$.faceToVertexNormals(t,n,a);var u=_R;Se(t,t,u);var c=new Cn(e,{primitive:"triangles",positions:t,normals:n,colors:r,indices:s}),f=new Ji(e,{origin:0!==u[0]||0!==u[1]||0!==u[2]?u:null,geometry:c,material:i,edges:a.edges});e.addChild(f)}function xR(e){return"string"!=typeof e?function(e){if("undefined"!=typeof TextDecoder)return(new TextDecoder).decode(e);for(var t="",n=0,r=e.length;n1&&void 0!==arguments[1]?arguments[1]:{};return b(this,n),(r=t.call(this,"STLLoader",e,i))._sceneGraphLoader=new BR,r.dataSource=i.dataSource,r}return P(n,[{key:"dataSource",get:function(){return this._dataSource},set:function(e){this._dataSource=e||new CR}},{key:"load",value:function(e){e.id&&this.viewer.scene.components[e.id]&&(this.error("Component with this ID already exists in viewer: "+e.id+" - will autogenerate this ID"),delete e.id);var t=new da(this.viewer.scene,le.apply(e,{isModel:!0})),n=e.src,r=e.stl;return n||r?(n?this._sceneGraphLoader.load(this,t,n,e):this._sceneGraphLoader.parse(this,t,r,e),t):(this.error("load() param expected: either 'src' or 'stl'"),t)}}]),n}(),HR=[],UR=function(e){I(n,Ce);var t=m(n);function n(e){var r,i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};b(this,n),(r=t.call(this,"TreeViewPlugin",e)).errors=[],r.valid=!0;var a=i.containerElement||document.getElementById(i.containerElementId);if(!(a instanceof HTMLElement))return r.error("Mandatory config expected: valid containerElementId or containerElement"),w(r);for(var s=0;;s++)if(!HR[s]){HR[s]=g(r),r._index=s,r._id="tree-".concat(s);break}if(r._containerElement=a,r._metaModels={},r._autoAddModels=!1!==i.autoAddModels,r._autoExpandDepth=i.autoExpandDepth||0,r._sortNodes=!1!==i.sortNodes,r._pruneEmptyNodes=!1!==i.pruneEmptyNodes,r._viewer=e,r._rootElement=null,r._muteSceneEvents=!1,r._muteTreeEvents=!1,r._rootNodes=[],r._objectNodes={},r._nodeNodes={},r._rootName=i.rootName,r._sortNodes=i.sortNodes,r._pruneEmptyNodes=i.pruneEmptyNodes,r._showListItemElementId=null,r._containerElement.oncontextmenu=function(e){e.preventDefault()},r._onObjectVisibility=r._viewer.scene.on("objectVisibility",(function(e){if(!r._muteSceneEvents){var t=e.id,n=r._objectNodes[t];if(n){var i=e.visible;if(i!==n.checked){r._muteTreeEvents=!0,n.checked=i,i?n.numVisibleEntities++:n.numVisibleEntities--;var a=document.getElementById("checkbox-".concat(n.nodeId));a&&(a.checked=i);for(var s=n.parent;s;){s.checked=i,i?s.numVisibleEntities++:s.numVisibleEntities--;var o=document.getElementById("checkbox-".concat(s.nodeId));if(o){var l=s.numVisibleEntities>0;l!==o.checked&&(o.checked=l)}s=s.parent}r._muteTreeEvents=!1}}}})),r._onObjectXrayed=r._viewer.scene.on("objectXRayed",(function(e){if(!r._muteSceneEvents){var t=e.id,n=r._objectNodes[t];if(n){r._muteTreeEvents=!0;var i=e.xrayed;if(i!==n.xrayed){n.xrayed=i;var a=n.nodeId,s=document.getElementById(a);null!==s&&(i?s.classList.add("xrayed-node"):s.classList.remove("xrayed-node")),r._muteTreeEvents=!1}}}})),r._switchExpandHandler=function(e){e.preventDefault(),e.stopPropagation();var t=e.target;r._expandSwitchElement(t)},r._switchCollapseHandler=function(e){e.preventDefault(),e.stopPropagation();var t=e.target;r._collapseSwitchElement(t)},r._checkboxChangeHandler=function(e){if(!r._muteTreeEvents){r._muteSceneEvents=!0;var t=e.target,n=t.checked,i=t.id.replace("checkbox-",""),a=r._nodeNodes[i],s=r._viewer.scene.objects,o=0;r._withNodeTree(a,(function(e){var t=e.objectId,r="checkbox-".concat(e.nodeId),i=s[t],a=0===e.children.length;e.numVisibleEntities=n?e.numEntities:0,a&&n!==e.checked&&o++,e.checked=n;var l=document.getElementById(r);l&&(l.checked=n),i&&(i.visible=n)}));for(var l=a.parent;l;){l.checked=n;var u=document.getElementById("checkbox-".concat(l.nodeId));n?l.numVisibleEntities+=o:l.numVisibleEntities-=o;var c=l.numVisibleEntities>0;c!==u.checked&&(u.checked=c),l=l.parent}r._muteSceneEvents=!1}},r._hierarchy=i.hierarchy||"containment",r._autoExpandDepth=i.autoExpandDepth||0,r._autoAddModels){for(var o=Object.keys(r.viewer.metaScene.metaModels),l=0,u=o.length;l0;return this.valid}},{key:"_validateMetaModelForStoreysHierarchy",value:function(){return!0}},{key:"_createEnabledNodes",value:function(){switch(this._pruneEmptyNodes&&this._findEmptyNodes(),this._hierarchy){case"storeys":this._createStoreysNodes(),0===this._rootNodes.length&&this.error("Failed to build storeys hierarchy");break;case"types":this._createTypesNodes();break;default:this._createContainmentNodes()}this._sortNodes&&this._doSortNodes(),this._synchNodesToEntities(),this._createTrees(),this.expandToDepth(this._autoExpandDepth)}},{key:"_createDisabledNodes",value:function(){var e=document.createElement("ul");this._rootElement=e,this._containerElement.appendChild(e);var t=this._viewer.metaScene.rootMetaObjects;for(var n in t){var r=t[n],i=r.type,a=r.name,s=a&&""!==a&&"Undefined"!==a&&"Default"!==a?a:i,o=document.createElement("li");e.appendChild(o);var l=document.createElement("a");l.href="#",l.textContent="!",l.classList.add("warn"),l.classList.add("warning"),o.appendChild(l);var u=document.createElement("span");u.textContent=s,o.appendChild(u)}}},{key:"_findEmptyNodes",value:function(){var e=this._viewer.metaScene.rootMetaObjects;for(var t in e)this._findEmptyNodes2(e[t])}},{key:"_findEmptyNodes2",value:function(e){var t=this.viewer,n=t.scene,r=e.children,i=e.id,a=n.objects[i];if(e._countEntities=0,a&&e._countEntities++,r)for(var s=0,o=r.length;si.aabb[a]?-1:e.aabb[a]r?1:0}},{key:"_synchNodesToEntities",value:function(){for(var e=Object.keys(this.viewer.metaScene.metaObjects),t=this._viewer.metaScene.metaObjects,n=this._viewer.scene.objects,r=0,i=e.length;r0){var i="switch-"+r,a=document.createElement("a");a.href="#",a.id=i,a.textContent="+",a.classList.add("plus"),a.addEventListener("click",this._switchExpandHandler),n.appendChild(a)}var s=document.createElement("input");s.id="checkbox-".concat(r),s.type="checkbox",s.checked=e.checked,s.style["pointer-events"]="all",s.addEventListener("change",this._checkboxChangeHandler),n.appendChild(s);var o=document.createElement("span");return o.textContent=e.title,n.appendChild(o),o.oncontextmenu=function(n){t.fire("contextmenu",{event:n,viewer:t._viewer,treeViewPlugin:t,treeViewNode:e}),n.preventDefault()},o.onclick=function(n){t.fire("nodeTitleClicked",{event:n,viewer:t._viewer,treeViewPlugin:t,treeViewNode:e}),n.preventDefault()},n}},{key:"_expandSwitchElement",value:function(e){var t=this,n=e.parentElement;if(!n.getElementsByTagName("li")[0]){var r=n.id,i=this._nodeNodes[r].children.map((function(e){return t._createNodeElement(e)})),a=document.createElement("ul");i.forEach((function(e){a.appendChild(e)})),n.appendChild(a),e.classList.remove("plus"),e.classList.add("minus"),e.textContent="-",e.removeEventListener("click",this._switchExpandHandler),e.addEventListener("click",this._switchCollapseHandler)}}},{key:"_collapseNode",value:function(e){var t="switch-"+e,n=document.getElementById(t);this._collapseSwitchElement(n)}},{key:"_collapseSwitchElement",value:function(e){if(e){var t=e.parentElement;if(t){var n=t.querySelector("ul");n&&(t.removeChild(n),e.classList.remove("minus"),e.classList.add("plus"),e.textContent="+",e.removeEventListener("click",this._switchCollapseHandler),e.addEventListener("click",this._switchExpandHandler))}}}}]),n}(),GR=function(){function e(t){var n=this;b(this,e),this._scene=t,this._objects=[],this._objectsViewCulled=[],this._objectsDetailCulled=[],this._objectsChanged=[],this._objectsChangedList=[],this._modelInfos={},this._numObjects=0,this._lenObjectsChangedList=0,this._dirty=!0,this._onModelLoaded=t.on("modelLoaded",(function(e){var r=t.models[e];r&&n._addModel(r)})),this._onTick=t.on("tick",(function(){n._dirty&&n._build(),n._applyChanges()}))}return P(e,[{key:"_addModel",value:function(e){var t=this,n={model:e,onDestroyed:e.on("destroyed",(function(){t._removeModel(e)}))};this._modelInfos[e.id]=n,this._dirty=!0}},{key:"_removeModel",value:function(e){var t=this._modelInfos[e.id];t&&(t.model.off(t.onDestroyed),delete this._modelInfos[e.id],this._dirty=!0)}},{key:"_build",value:function(){if(this._dirty){this._applyChanges();for(var e=this._scene.objects,t=0;t0){for(var e=0;e1&&void 0!==arguments[1]?arguments[1]:{};return b(this,n),(r=t.call(this,"ViewCull",e))._objectCullStates=jR(e.scene),r._maxTreeDepth=i.maxTreeDepth||8,r._modelInfos={},r._frustum=new Te,r._kdRoot=null,r._frustumDirty=!1,r._kdTreeDirty=!1,r._onViewMatrix=e.scene.camera.on("viewMatrix",(function(){r._frustumDirty=!0})),r._onProjMatrix=e.scene.camera.on("projMatMatrix",(function(){r._frustumDirty=!0})),r._onModelLoaded=e.scene.on("modelLoaded",(function(e){var t=r.viewer.scene.models[e];t&&r._addModel(t)})),r._onSceneTick=e.scene.on("tick",(function(){r._doCull()})),r}return P(n,[{key:"enabled",get:function(){return this._enabled},set:function(e){this._enabled=e}},{key:"_addModel",value:function(e){var t=this,n={model:e,onDestroyed:e.on("destroyed",(function(){t._removeModel(e)}))};this._modelInfos[e.id]=n,this._kdTreeDirty=!0}},{key:"_removeModel",value:function(e){var t=this._modelInfos[e.id];t&&(t.model.off(t.onDestroyed),delete this._modelInfos[e.id],this._kdTreeDirty=!0)}},{key:"_doCull",value:function(){var e=this._frustumDirty||this._kdTreeDirty;if(this._frustumDirty&&this._buildFrustum(),this._kdTreeDirty&&this._buildKDTree(),e){var t=this._kdRoot;t&&this._visitKDNode(t)}}},{key:"_buildFrustum",value:function(){var e=this.viewer.scene.camera;be(this._frustum,e.viewMatrix,e.projMatrix),this._frustumDirty=!1}},{key:"_buildKDTree",value:function(){var e=this.viewer.scene;this._kdRoot,this._kdRoot={aabb:e.getAABB(),intersection:Te.INTERSECT};for(var t=0,n=this._objectCullStates.numObjects;t=this._maxTreeDepth)return e.objects=e.objects||[],e.objects.push(n),void $.expandAABB3(e.aabb,i);if(e.left&&$.containsAABB3(e.left.aabb,i))this._insertEntityIntoKDTree(e.left,t,n,r+1);else if(e.right&&$.containsAABB3(e.right.aabb,i))this._insertEntityIntoKDTree(e.right,t,n,r+1);else{var a=e.aabb;VR[0]=a[3]-a[0],VR[1]=a[4]-a[1],VR[2]=a[5]-a[2];var s=0;if(VR[1]>VR[s]&&(s=1),VR[2]>VR[s]&&(s=2),!e.left){var o=a.slice();if(o[s+3]=(a[s]+a[s+3])/2,e.left={aabb:o,intersection:Te.INTERSECT},$.containsAABB3(o,i))return void this._insertEntityIntoKDTree(e.left,t,n,r+1)}if(!e.right){var l=a.slice();if(l[s]=(a[s]+a[s+3])/2,e.right={aabb:l,intersection:Te.INTERSECT},$.containsAABB3(l,i))return void this._insertEntityIntoKDTree(e.right,t,n,r+1)}e.objects=e.objects||[],e.objects.push(n),$.expandAABB3(e.aabb,i)}}},{key:"_visitKDNode",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:Te.INTERSECT;if(t===Te.INTERSECT||e.intersects!==t){t===Te.INTERSECT&&(t=De(this._frustum,e.aabb),e.intersects=t);var n=t===Te.OUTSIDE,r=e.objects;if(r&&r.length>0)for(var i=0,a=r.length;i=0;)e[t]=0}var n=new Uint8Array([0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0]),r=new Uint8Array([0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13]),i=new Uint8Array([0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,7]),a=new Uint8Array([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]),s=new Array(576);t(s);var o=new Array(60);t(o);var l=new Array(512);t(l);var u=new Array(256);t(u);var c=new Array(29);t(c);var f,p,A,d=new Array(30);function v(e,t,n,r,i){this.static_tree=e,this.extra_bits=t,this.extra_base=n,this.elems=r,this.max_length=i,this.has_stree=e&&e.length}function h(e,t){this.dyn_tree=e,this.max_code=0,this.stat_desc=t}t(d);var I=function(e){return e<256?l[e]:l[256+(e>>>7)]},y=function(e,t){e.pending_buf[e.pending++]=255&t,e.pending_buf[e.pending++]=t>>>8&255},m=function(e,t,n){e.bi_valid>16-n?(e.bi_buf|=t<>16-e.bi_valid,e.bi_valid+=n-16):(e.bi_buf|=t<>>=1,n<<=1}while(--t>0);return n>>>1},E=function(e,t,n){var r,i,a=new Array(16),s=0;for(r=1;r<=15;r++)s=s+n[r-1]<<1,a[r]=s;for(i=0;i<=t;i++){var o=e[2*i+1];0!==o&&(e[2*i]=g(a[o]++,o))}},b=function(e){var t;for(t=0;t<286;t++)e.dyn_ltree[2*t]=0;for(t=0;t<30;t++)e.dyn_dtree[2*t]=0;for(t=0;t<19;t++)e.bl_tree[2*t]=0;e.dyn_ltree[512]=1,e.opt_len=e.static_len=0,e.sym_next=e.matches=0},D=function(e){e.bi_valid>8?y(e,e.bi_buf):e.bi_valid>0&&(e.pending_buf[e.pending++]=e.bi_buf),e.bi_buf=0,e.bi_valid=0},P=function(e,t,n,r){var i=2*t,a=2*n;return e[i]>1;n>=1;n--)R(e,a,n);i=l;do{n=e.heap[1],e.heap[1]=e.heap[e.heap_len--],R(e,a,1),r=e.heap[1],e.heap[--e.heap_max]=n,e.heap[--e.heap_max]=r,a[2*i]=a[2*n]+a[2*r],e.depth[i]=(e.depth[n]>=e.depth[r]?e.depth[n]:e.depth[r])+1,a[2*n+1]=a[2*r+1]=i,e.heap[1]=i++,R(e,a,1)}while(e.heap_len>=2);e.heap[--e.heap_max]=e.heap[1],function(e,t){var n,r,i,a,s,o,l=t.dyn_tree,u=t.max_code,c=t.stat_desc.static_tree,f=t.stat_desc.has_stree,p=t.stat_desc.extra_bits,A=t.stat_desc.extra_base,d=t.stat_desc.max_length,v=0;for(a=0;a<=15;a++)e.bl_count[a]=0;for(l[2*e.heap[e.heap_max]+1]=0,n=e.heap_max+1;n<573;n++)(a=l[2*l[2*(r=e.heap[n])+1]+1]+1)>d&&(a=d,v++),l[2*r+1]=a,r>u||(e.bl_count[a]++,s=0,r>=A&&(s=p[r-A]),o=l[2*r],e.opt_len+=o*(a+s),f&&(e.static_len+=o*(c[2*r+1]+s)));if(0!==v){do{for(a=d-1;0===e.bl_count[a];)a--;e.bl_count[a]--,e.bl_count[a+1]+=2,e.bl_count[d]--,v-=2}while(v>0);for(a=d;0!==a;a--)for(r=e.bl_count[a];0!==r;)(i=e.heap[--n])>u||(l[2*i+1]!==a&&(e.opt_len+=(a-l[2*i+1])*l[2*i],l[2*i+1]=a),r--)}}(e,t),E(a,u,e.bl_count)},B=function(e,t,n){var r,i,a=-1,s=t[1],o=0,l=7,u=4;for(0===s&&(l=138,u=3),t[2*(n+1)+1]=65535,r=0;r<=n;r++)i=s,s=t[2*(r+1)+1],++o>=7;h<30;h++)for(d[h]=I<<7,e=0;e<1<0?(2===e.strm.data_type&&(e.strm.data_type=function(e){var t,n=4093624447;for(t=0;t<=31;t++,n>>>=1)if(1&n&&0!==e.dyn_ltree[2*t])return 0;if(0!==e.dyn_ltree[18]||0!==e.dyn_ltree[20]||0!==e.dyn_ltree[26])return 1;for(t=32;t<256;t++)if(0!==e.dyn_ltree[2*t])return 1;return 0}(e)),_(e,e.l_desc),_(e,e.d_desc),u=function(e){var t;for(B(e,e.dyn_ltree,e.l_desc.max_code),B(e,e.dyn_dtree,e.d_desc.max_code),_(e,e.bl_desc),t=18;t>=3&&0===e.bl_tree[2*a[t]+1];t--);return e.opt_len+=3*(t+1)+5+5+4,t}(e),i=e.opt_len+3+7>>>3,(l=e.static_len+3+7>>>3)<=i&&(i=l)):i=l=n+5,n+4<=i&&-1!==t?N(e,t,n,r):4===e.strategy||l===i?(m(e,2+(r?1:0),3),C(e,s,o)):(m(e,4+(r?1:0),3),function(e,t,n,r){var i;for(m(e,t-257,5),m(e,n-1,5),m(e,r-4,4),i=0;i>8,e.pending_buf[e.sym_buf+e.sym_next++]=n,0===t?e.dyn_ltree[2*n]++:(e.matches++,t--,e.dyn_ltree[2*(u[n]+256+1)]++,e.dyn_dtree[2*I(t)]++),e.sym_next===e.sym_end},H=function(e){m(e,2,3),w(e,256,s),function(e){16===e.bi_valid?(y(e,e.bi_buf),e.bi_buf=0,e.bi_valid=0):e.bi_valid>=8&&(e.pending_buf[e.pending++]=255&e.bi_buf,e.bi_buf>>=8,e.bi_valid-=8)}(e)},U=function(e,t,n,r){for(var i=65535&e|0,a=e>>>16&65535|0,s=0;0!==n;){n-=s=n>2e3?2e3:n;do{a=a+(i=i+t[r++]|0)|0}while(--s);i%=65521,a%=65521}return i|a<<16|0},G=new Uint32Array(function(){for(var e,t=[],n=0;n<256;n++){e=n;for(var r=0;r<8;r++)e=1&e?3988292384^e>>>1:e>>>1;t[n]=e}return t}()),k=function(e,t,n,r){var i=G,a=r+n;e^=-1;for(var s=r;s>>8^i[255&(e^t[s])];return-1^e},j={2:"need dictionary",1:"stream end",0:"","-1":"file error","-2":"stream error","-3":"data error","-4":"insufficient memory","-5":"buffer error","-6":"incompatible version"},V={Z_NO_FLUSH:0,Z_PARTIAL_FLUSH:1,Z_SYNC_FLUSH:2,Z_FULL_FLUSH:3,Z_FINISH:4,Z_BLOCK:5,Z_TREES:6,Z_OK:0,Z_STREAM_END:1,Z_NEED_DICT:2,Z_ERRNO:-1,Z_STREAM_ERROR:-2,Z_DATA_ERROR:-3,Z_MEM_ERROR:-4,Z_BUF_ERROR:-5,Z_NO_COMPRESSION:0,Z_BEST_SPEED:1,Z_BEST_COMPRESSION:9,Z_DEFAULT_COMPRESSION:-1,Z_FILTERED:1,Z_HUFFMAN_ONLY:2,Z_RLE:3,Z_FIXED:4,Z_DEFAULT_STRATEGY:0,Z_BINARY:0,Z_TEXT:1,Z_UNKNOWN:2,Z_DEFLATED:8},Q=L,W=x,z=M,K=F,Y=H,X=V.Z_NO_FLUSH,q=V.Z_PARTIAL_FLUSH,J=V.Z_FULL_FLUSH,Z=V.Z_FINISH,$=V.Z_BLOCK,ee=V.Z_OK,te=V.Z_STREAM_END,ne=V.Z_STREAM_ERROR,re=V.Z_DATA_ERROR,ie=V.Z_BUF_ERROR,ae=V.Z_DEFAULT_COMPRESSION,se=V.Z_FILTERED,oe=V.Z_HUFFMAN_ONLY,le=V.Z_RLE,ue=V.Z_FIXED,ce=V.Z_UNKNOWN,fe=V.Z_DEFLATED,pe=258,Ae=262,de=42,ve=113,he=666,Ie=function(e,t){return e.msg=j[t],t},ye=function(e){return 2*e-(e>4?9:0)},me=function(e){for(var t=e.length;--t>=0;)e[t]=0},we=function(e){var t,n,r,i=e.w_size;r=t=e.hash_size;do{n=e.head[--r],e.head[r]=n>=i?n-i:0}while(--t);r=t=i;do{n=e.prev[--r],e.prev[r]=n>=i?n-i:0}while(--t)},ge=function(e,t,n){return(t<e.avail_out&&(n=e.avail_out),0!==n&&(e.output.set(t.pending_buf.subarray(t.pending_out,t.pending_out+n),e.next_out),e.next_out+=n,t.pending_out+=n,e.total_out+=n,e.avail_out-=n,t.pending-=n,0===t.pending&&(t.pending_out=0))},Te=function(e,t){z(e,e.block_start>=0?e.block_start:-1,e.strstart-e.block_start,t),e.block_start=e.strstart,Ee(e.strm)},be=function(e,t){e.pending_buf[e.pending++]=t},De=function(e,t){e.pending_buf[e.pending++]=t>>>8&255,e.pending_buf[e.pending++]=255&t},Pe=function(e,t,n,r){var i=e.avail_in;return i>r&&(i=r),0===i?0:(e.avail_in-=i,t.set(e.input.subarray(e.next_in,e.next_in+i),n),1===e.state.wrap?e.adler=U(e.adler,t,i,n):2===e.state.wrap&&(e.adler=k(e.adler,t,i,n)),e.next_in+=i,e.total_in+=i,i)},Re=function(e,t){var n,r,i=e.max_chain_length,a=e.strstart,s=e.prev_length,o=e.nice_match,l=e.strstart>e.w_size-Ae?e.strstart-(e.w_size-Ae):0,u=e.window,c=e.w_mask,f=e.prev,p=e.strstart+pe,A=u[a+s-1],d=u[a+s];e.prev_length>=e.good_match&&(i>>=2),o>e.lookahead&&(o=e.lookahead);do{if(u[(n=t)+s]===d&&u[n+s-1]===A&&u[n]===u[a]&&u[++n]===u[a+1]){a+=2,n++;do{}while(u[++a]===u[++n]&&u[++a]===u[++n]&&u[++a]===u[++n]&&u[++a]===u[++n]&&u[++a]===u[++n]&&u[++a]===u[++n]&&u[++a]===u[++n]&&u[++a]===u[++n]&&as){if(e.match_start=t,s=r,r>=o)break;A=u[a+s-1],d=u[a+s]}}}while((t=f[t&c])>l&&0!=--i);return s<=e.lookahead?s:e.lookahead},Ce=function(e){var t,n,r,i=e.w_size;do{if(n=e.window_size-e.lookahead-e.strstart,e.strstart>=i+(i-Ae)&&(e.window.set(e.window.subarray(i,i+i-n),0),e.match_start-=i,e.strstart-=i,e.block_start-=i,e.insert>e.strstart&&(e.insert=e.strstart),we(e),n+=i),0===e.strm.avail_in)break;if(t=Pe(e.strm,e.window,e.strstart+e.lookahead,n),e.lookahead+=t,e.lookahead+e.insert>=3)for(r=e.strstart-e.insert,e.ins_h=e.window[r],e.ins_h=ge(e,e.ins_h,e.window[r+1]);e.insert&&(e.ins_h=ge(e,e.ins_h,e.window[r+3-1]),e.prev[r&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=r,r++,e.insert--,!(e.lookahead+e.insert<3)););}while(e.lookaheade.w_size?e.w_size:e.pending_buf_size-5,s=0,o=e.strm.avail_in;do{if(n=65535,i=e.bi_valid+42>>3,e.strm.avail_out(r=e.strstart-e.block_start)+e.strm.avail_in&&(n=r+e.strm.avail_in),n>i&&(n=i),n>8,e.pending_buf[e.pending-2]=~n,e.pending_buf[e.pending-1]=~n>>8,Ee(e.strm),r&&(r>n&&(r=n),e.strm.output.set(e.window.subarray(e.block_start,e.block_start+r),e.strm.next_out),e.strm.next_out+=r,e.strm.avail_out-=r,e.strm.total_out+=r,e.block_start+=r,n-=r),n&&(Pe(e.strm,e.strm.output,e.strm.next_out,n),e.strm.next_out+=n,e.strm.avail_out-=n,e.strm.total_out+=n)}while(0===s);return(o-=e.strm.avail_in)&&(o>=e.w_size?(e.matches=2,e.window.set(e.strm.input.subarray(e.strm.next_in-e.w_size,e.strm.next_in),0),e.strstart=e.w_size,e.insert=e.strstart):(e.window_size-e.strstart<=o&&(e.strstart-=e.w_size,e.window.set(e.window.subarray(e.w_size,e.w_size+e.strstart),0),e.matches<2&&e.matches++,e.insert>e.strstart&&(e.insert=e.strstart)),e.window.set(e.strm.input.subarray(e.strm.next_in-o,e.strm.next_in),e.strstart),e.strstart+=o,e.insert+=o>e.w_size-e.insert?e.w_size-e.insert:o),e.block_start=e.strstart),e.high_wateri&&e.block_start>=e.w_size&&(e.block_start-=e.w_size,e.strstart-=e.w_size,e.window.set(e.window.subarray(e.w_size,e.w_size+e.strstart),0),e.matches<2&&e.matches++,i+=e.w_size,e.insert>e.strstart&&(e.insert=e.strstart)),i>e.strm.avail_in&&(i=e.strm.avail_in),i&&(Pe(e.strm,e.window,e.strstart,i),e.strstart+=i,e.insert+=i>e.w_size-e.insert?e.w_size-e.insert:i),e.high_water>3,a=(i=e.pending_buf_size-i>65535?65535:e.pending_buf_size-i)>e.w_size?e.w_size:i,((r=e.strstart-e.block_start)>=a||(r||t===Z)&&t!==X&&0===e.strm.avail_in&&r<=i)&&(n=r>i?i:r,s=t===Z&&0===e.strm.avail_in&&n===r?1:0,W(e,e.block_start,n,s),e.block_start+=n,Ee(e.strm)),s?3:1)},Be=function(e,t){for(var n,r;;){if(e.lookahead=3&&(e.ins_h=ge(e,e.ins_h,e.window[e.strstart+3-1]),n=e.prev[e.strstart&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=e.strstart),0!==n&&e.strstart-n<=e.w_size-Ae&&(e.match_length=Re(e,n)),e.match_length>=3)if(r=K(e,e.strstart-e.match_start,e.match_length-3),e.lookahead-=e.match_length,e.match_length<=e.max_lazy_match&&e.lookahead>=3){e.match_length--;do{e.strstart++,e.ins_h=ge(e,e.ins_h,e.window[e.strstart+3-1]),n=e.prev[e.strstart&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=e.strstart}while(0!=--e.match_length);e.strstart++}else e.strstart+=e.match_length,e.match_length=0,e.ins_h=e.window[e.strstart],e.ins_h=ge(e,e.ins_h,e.window[e.strstart+1]);else r=K(e,0,e.window[e.strstart]),e.lookahead--,e.strstart++;if(r&&(Te(e,!1),0===e.strm.avail_out))return 1}return e.insert=e.strstart<2?e.strstart:2,t===Z?(Te(e,!0),0===e.strm.avail_out?3:4):e.sym_next&&(Te(e,!1),0===e.strm.avail_out)?1:2},Oe=function(e,t){for(var n,r,i;;){if(e.lookahead=3&&(e.ins_h=ge(e,e.ins_h,e.window[e.strstart+3-1]),n=e.prev[e.strstart&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=e.strstart),e.prev_length=e.match_length,e.prev_match=e.match_start,e.match_length=2,0!==n&&e.prev_length4096)&&(e.match_length=2)),e.prev_length>=3&&e.match_length<=e.prev_length){i=e.strstart+e.lookahead-3,r=K(e,e.strstart-1-e.prev_match,e.prev_length-3),e.lookahead-=e.prev_length-1,e.prev_length-=2;do{++e.strstart<=i&&(e.ins_h=ge(e,e.ins_h,e.window[e.strstart+3-1]),n=e.prev[e.strstart&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=e.strstart)}while(0!=--e.prev_length);if(e.match_available=0,e.match_length=2,e.strstart++,r&&(Te(e,!1),0===e.strm.avail_out))return 1}else if(e.match_available){if((r=K(e,0,e.window[e.strstart-1]))&&Te(e,!1),e.strstart++,e.lookahead--,0===e.strm.avail_out)return 1}else e.match_available=1,e.strstart++,e.lookahead--}return e.match_available&&(r=K(e,0,e.window[e.strstart-1]),e.match_available=0),e.insert=e.strstart<2?e.strstart:2,t===Z?(Te(e,!0),0===e.strm.avail_out?3:4):e.sym_next&&(Te(e,!1),0===e.strm.avail_out)?1:2};function Se(e,t,n,r,i){this.good_length=e,this.max_lazy=t,this.nice_length=n,this.max_chain=r,this.func=i}var Ne=[new Se(0,0,0,0,_e),new Se(4,4,8,4,Be),new Se(4,5,16,8,Be),new Se(4,6,32,32,Be),new Se(4,4,16,16,Oe),new Se(8,16,32,32,Oe),new Se(8,16,128,128,Oe),new Se(8,32,128,256,Oe),new Se(32,128,258,1024,Oe),new Se(32,258,258,4096,Oe)];function Le(){this.strm=null,this.status=0,this.pending_buf=null,this.pending_buf_size=0,this.pending_out=0,this.pending=0,this.wrap=0,this.gzhead=null,this.gzindex=0,this.method=fe,this.last_flush=-1,this.w_size=0,this.w_bits=0,this.w_mask=0,this.window=null,this.window_size=0,this.prev=null,this.head=null,this.ins_h=0,this.hash_size=0,this.hash_bits=0,this.hash_mask=0,this.hash_shift=0,this.block_start=0,this.match_length=0,this.prev_match=0,this.match_available=0,this.strstart=0,this.match_start=0,this.lookahead=0,this.prev_length=0,this.max_chain_length=0,this.max_lazy_match=0,this.level=0,this.strategy=0,this.good_match=0,this.nice_match=0,this.dyn_ltree=new Uint16Array(1146),this.dyn_dtree=new Uint16Array(122),this.bl_tree=new Uint16Array(78),me(this.dyn_ltree),me(this.dyn_dtree),me(this.bl_tree),this.l_desc=null,this.d_desc=null,this.bl_desc=null,this.bl_count=new Uint16Array(16),this.heap=new Uint16Array(573),me(this.heap),this.heap_len=0,this.heap_max=0,this.depth=new Uint16Array(573),me(this.depth),this.sym_buf=0,this.lit_bufsize=0,this.sym_next=0,this.sym_end=0,this.opt_len=0,this.static_len=0,this.matches=0,this.insert=0,this.bi_buf=0,this.bi_valid=0}var xe=function(e){if(!e)return 1;var t=e.state;return!t||t.strm!==e||t.status!==de&&57!==t.status&&69!==t.status&&73!==t.status&&91!==t.status&&103!==t.status&&t.status!==ve&&t.status!==he?1:0},Me=function(e){if(xe(e))return Ie(e,ne);e.total_in=e.total_out=0,e.data_type=ce;var t=e.state;return t.pending=0,t.pending_out=0,t.wrap<0&&(t.wrap=-t.wrap),t.status=2===t.wrap?57:t.wrap?de:ve,e.adler=2===t.wrap?0:1,t.last_flush=-2,Q(t),ee},Fe=function(e){var t,n=Me(e);return n===ee&&((t=e.state).window_size=2*t.w_size,me(t.head),t.max_lazy_match=Ne[t.level].max_lazy,t.good_match=Ne[t.level].good_length,t.nice_match=Ne[t.level].nice_length,t.max_chain_length=Ne[t.level].max_chain,t.strstart=0,t.block_start=0,t.lookahead=0,t.insert=0,t.match_length=t.prev_length=2,t.match_available=0,t.ins_h=0),n},He=function(e,t,n,r,i,a){if(!e)return ne;var s=1;if(t===ae&&(t=6),r<0?(s=0,r=-r):r>15&&(s=2,r-=16),i<1||i>9||n!==fe||r<8||r>15||t<0||t>9||a<0||a>ue||8===r&&1!==s)return Ie(e,ne);8===r&&(r=9);var o=new Le;return e.state=o,o.strm=e,o.status=de,o.wrap=s,o.gzhead=null,o.w_bits=r,o.w_size=1<$||t<0)return e?Ie(e,ne):ne;var n=e.state;if(!e.output||0!==e.avail_in&&!e.input||n.status===he&&t!==Z)return Ie(e,0===e.avail_out?ie:ne);var r=n.last_flush;if(n.last_flush=t,0!==n.pending){if(Ee(e),0===e.avail_out)return n.last_flush=-1,ee}else if(0===e.avail_in&&ye(t)<=ye(r)&&t!==Z)return Ie(e,ie);if(n.status===he&&0!==e.avail_in)return Ie(e,ie);if(n.status===de&&0===n.wrap&&(n.status=ve),n.status===de){var i=fe+(n.w_bits-8<<4)<<8;if(i|=(n.strategy>=oe||n.level<2?0:n.level<6?1:6===n.level?2:3)<<6,0!==n.strstart&&(i|=32),De(n,i+=31-i%31),0!==n.strstart&&(De(n,e.adler>>>16),De(n,65535&e.adler)),e.adler=1,n.status=ve,Ee(e),0!==n.pending)return n.last_flush=-1,ee}if(57===n.status)if(e.adler=0,be(n,31),be(n,139),be(n,8),n.gzhead)be(n,(n.gzhead.text?1:0)+(n.gzhead.hcrc?2:0)+(n.gzhead.extra?4:0)+(n.gzhead.name?8:0)+(n.gzhead.comment?16:0)),be(n,255&n.gzhead.time),be(n,n.gzhead.time>>8&255),be(n,n.gzhead.time>>16&255),be(n,n.gzhead.time>>24&255),be(n,9===n.level?2:n.strategy>=oe||n.level<2?4:0),be(n,255&n.gzhead.os),n.gzhead.extra&&n.gzhead.extra.length&&(be(n,255&n.gzhead.extra.length),be(n,n.gzhead.extra.length>>8&255)),n.gzhead.hcrc&&(e.adler=k(e.adler,n.pending_buf,n.pending,0)),n.gzindex=0,n.status=69;else if(be(n,0),be(n,0),be(n,0),be(n,0),be(n,0),be(n,9===n.level?2:n.strategy>=oe||n.level<2?4:0),be(n,3),n.status=ve,Ee(e),0!==n.pending)return n.last_flush=-1,ee;if(69===n.status){if(n.gzhead.extra){for(var a=n.pending,s=(65535&n.gzhead.extra.length)-n.gzindex;n.pending+s>n.pending_buf_size;){var o=n.pending_buf_size-n.pending;if(n.pending_buf.set(n.gzhead.extra.subarray(n.gzindex,n.gzindex+o),n.pending),n.pending=n.pending_buf_size,n.gzhead.hcrc&&n.pending>a&&(e.adler=k(e.adler,n.pending_buf,n.pending-a,a)),n.gzindex+=o,Ee(e),0!==n.pending)return n.last_flush=-1,ee;a=0,s-=o}var l=new Uint8Array(n.gzhead.extra);n.pending_buf.set(l.subarray(n.gzindex,n.gzindex+s),n.pending),n.pending+=s,n.gzhead.hcrc&&n.pending>a&&(e.adler=k(e.adler,n.pending_buf,n.pending-a,a)),n.gzindex=0}n.status=73}if(73===n.status){if(n.gzhead.name){var u,c=n.pending;do{if(n.pending===n.pending_buf_size){if(n.gzhead.hcrc&&n.pending>c&&(e.adler=k(e.adler,n.pending_buf,n.pending-c,c)),Ee(e),0!==n.pending)return n.last_flush=-1,ee;c=0}u=n.gzindexc&&(e.adler=k(e.adler,n.pending_buf,n.pending-c,c)),n.gzindex=0}n.status=91}if(91===n.status){if(n.gzhead.comment){var f,p=n.pending;do{if(n.pending===n.pending_buf_size){if(n.gzhead.hcrc&&n.pending>p&&(e.adler=k(e.adler,n.pending_buf,n.pending-p,p)),Ee(e),0!==n.pending)return n.last_flush=-1,ee;p=0}f=n.gzindexp&&(e.adler=k(e.adler,n.pending_buf,n.pending-p,p))}n.status=103}if(103===n.status){if(n.gzhead.hcrc){if(n.pending+2>n.pending_buf_size&&(Ee(e),0!==n.pending))return n.last_flush=-1,ee;be(n,255&e.adler),be(n,e.adler>>8&255),e.adler=0}if(n.status=ve,Ee(e),0!==n.pending)return n.last_flush=-1,ee}if(0!==e.avail_in||0!==n.lookahead||t!==X&&n.status!==he){var A=0===n.level?_e(n,t):n.strategy===oe?function(e,t){for(var n;;){if(0===e.lookahead&&(Ce(e),0===e.lookahead)){if(t===X)return 1;break}if(e.match_length=0,n=K(e,0,e.window[e.strstart]),e.lookahead--,e.strstart++,n&&(Te(e,!1),0===e.strm.avail_out))return 1}return e.insert=0,t===Z?(Te(e,!0),0===e.strm.avail_out?3:4):e.sym_next&&(Te(e,!1),0===e.strm.avail_out)?1:2}(n,t):n.strategy===le?function(e,t){for(var n,r,i,a,s=e.window;;){if(e.lookahead<=pe){if(Ce(e),e.lookahead<=pe&&t===X)return 1;if(0===e.lookahead)break}if(e.match_length=0,e.lookahead>=3&&e.strstart>0&&((r=s[i=e.strstart-1])===s[++i]&&r===s[++i]&&r===s[++i])){a=e.strstart+pe;do{}while(r===s[++i]&&r===s[++i]&&r===s[++i]&&r===s[++i]&&r===s[++i]&&r===s[++i]&&r===s[++i]&&r===s[++i]&&ie.lookahead&&(e.match_length=e.lookahead)}if(e.match_length>=3?(n=K(e,1,e.match_length-3),e.lookahead-=e.match_length,e.strstart+=e.match_length,e.match_length=0):(n=K(e,0,e.window[e.strstart]),e.lookahead--,e.strstart++),n&&(Te(e,!1),0===e.strm.avail_out))return 1}return e.insert=0,t===Z?(Te(e,!0),0===e.strm.avail_out?3:4):e.sym_next&&(Te(e,!1),0===e.strm.avail_out)?1:2}(n,t):Ne[n.level].func(n,t);if(3!==A&&4!==A||(n.status=he),1===A||3===A)return 0===e.avail_out&&(n.last_flush=-1),ee;if(2===A&&(t===q?Y(n):t!==$&&(W(n,0,0,!1),t===J&&(me(n.head),0===n.lookahead&&(n.strstart=0,n.block_start=0,n.insert=0))),Ee(e),0===e.avail_out))return n.last_flush=-1,ee}return t!==Z?ee:n.wrap<=0?te:(2===n.wrap?(be(n,255&e.adler),be(n,e.adler>>8&255),be(n,e.adler>>16&255),be(n,e.adler>>24&255),be(n,255&e.total_in),be(n,e.total_in>>8&255),be(n,e.total_in>>16&255),be(n,e.total_in>>24&255)):(De(n,e.adler>>>16),De(n,65535&e.adler)),Ee(e),n.wrap>0&&(n.wrap=-n.wrap),0!==n.pending?ee:te)},je=function(e){if(xe(e))return ne;var t=e.state.status;return e.state=null,t===ve?Ie(e,re):ee},Ve=function(e,t){var n=t.length;if(xe(e))return ne;var r=e.state,i=r.wrap;if(2===i||1===i&&r.status!==de||r.lookahead)return ne;if(1===i&&(e.adler=U(e.adler,t,n,0)),r.wrap=0,n>=r.w_size){0===i&&(me(r.head),r.strstart=0,r.block_start=0,r.insert=0);var a=new Uint8Array(r.w_size);a.set(t.subarray(n-r.w_size,n),0),t=a,n=r.w_size}var s=e.avail_in,o=e.next_in,l=e.input;for(e.avail_in=n,e.next_in=0,e.input=t,Ce(r);r.lookahead>=3;){var u=r.strstart,c=r.lookahead-2;do{r.ins_h=ge(r,r.ins_h,r.window[u+3-1]),r.prev[u&r.w_mask]=r.head[r.ins_h],r.head[r.ins_h]=u,u++}while(--c);r.strstart=u,r.lookahead=2,Ce(r)}return r.strstart+=r.lookahead,r.block_start=r.strstart,r.insert=r.lookahead,r.lookahead=0,r.match_length=r.prev_length=2,r.match_available=0,e.next_in=o,e.input=l,e.avail_in=s,r.wrap=i,ee},Qe=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},We=function(e){for(var t=Array.prototype.slice.call(arguments,1);t.length;){var n=t.shift();if(n){if("object"!=T(n))throw new TypeError(n+"must be non-object");for(var r in n)Qe(n,r)&&(e[r]=n[r])}}return e},ze=function(e){for(var t=0,n=0,r=e.length;n=252?6:Xe>=248?5:Xe>=240?4:Xe>=224?3:Xe>=192?2:1;Ye[254]=Ye[254]=1;var qe=function(e){if("function"==typeof TextEncoder&&TextEncoder.prototype.encode)return(new TextEncoder).encode(e);var t,n,r,i,a,s=e.length,o=0;for(i=0;i>>6,t[a++]=128|63&n):n<65536?(t[a++]=224|n>>>12,t[a++]=128|n>>>6&63,t[a++]=128|63&n):(t[a++]=240|n>>>18,t[a++]=128|n>>>12&63,t[a++]=128|n>>>6&63,t[a++]=128|63&n);return t},Je=function(e,t){var n,r,i=t||e.length;if("function"==typeof TextDecoder&&TextDecoder.prototype.decode)return(new TextDecoder).decode(e.subarray(0,t));var a=new Array(2*i);for(r=0,n=0;n4)a[r++]=65533,n+=o-1;else{for(s&=2===o?31:3===o?15:7;o>1&&n1?a[r++]=65533:s<65536?a[r++]=s:(s-=65536,a[r++]=55296|s>>10&1023,a[r++]=56320|1023&s)}}}return function(e,t){if(t<65534&&e.subarray&&Ke)return String.fromCharCode.apply(null,e.length===t?e:e.subarray(0,t));for(var n="",r=0;re.length&&(t=e.length);for(var n=t-1;n>=0&&128==(192&e[n]);)n--;return n<0||0===n?t:n+Ye[e[n]]>t?n:t},$e=function(){this.input=null,this.next_in=0,this.avail_in=0,this.total_in=0,this.output=null,this.next_out=0,this.avail_out=0,this.total_out=0,this.msg="",this.state=null,this.data_type=2,this.adler=0},et=Object.prototype.toString,tt=V.Z_NO_FLUSH,nt=V.Z_SYNC_FLUSH,rt=V.Z_FULL_FLUSH,it=V.Z_FINISH,at=V.Z_OK,st=V.Z_STREAM_END,ot=V.Z_DEFAULT_COMPRESSION,lt=V.Z_DEFAULT_STRATEGY,ut=V.Z_DEFLATED;function ct(e){this.options=We({level:ot,method:ut,chunkSize:16384,windowBits:15,memLevel:8,strategy:lt},e||{});var t=this.options;t.raw&&t.windowBits>0?t.windowBits=-t.windowBits:t.gzip&&t.windowBits>0&&t.windowBits<16&&(t.windowBits+=16),this.err=0,this.msg="",this.ended=!1,this.chunks=[],this.strm=new $e,this.strm.avail_out=0;var n=Ue(this.strm,t.level,t.method,t.windowBits,t.memLevel,t.strategy);if(n!==at)throw new Error(j[n]);if(t.header&&Ge(this.strm,t.header),t.dictionary){var r;if(r="string"==typeof t.dictionary?qe(t.dictionary):"[object ArrayBuffer]"===et.call(t.dictionary)?new Uint8Array(t.dictionary):t.dictionary,(n=Ve(this.strm,r))!==at)throw new Error(j[n]);this._dict_set=!0}}function ft(e,t){var n=new ct(t);if(n.push(e,!0),n.err)throw n.msg||j[n.err];return n.result}ct.prototype.push=function(e,t){var n,r,i=this.strm,a=this.options.chunkSize;if(this.ended)return!1;for(r=t===~~t?t:!0===t?it:tt,"string"==typeof e?i.input=qe(e):"[object ArrayBuffer]"===et.call(e)?i.input=new Uint8Array(e):i.input=e,i.next_in=0,i.avail_in=i.input.length;;)if(0===i.avail_out&&(i.output=new Uint8Array(a),i.next_out=0,i.avail_out=a),(r===nt||r===rt)&&i.avail_out<=6)this.onData(i.output.subarray(0,i.next_out)),i.avail_out=0;else{if((n=ke(i,r))===st)return i.next_out>0&&this.onData(i.output.subarray(0,i.next_out)),n=je(this.strm),this.onEnd(n),this.ended=!0,n===at;if(0!==i.avail_out){if(r>0&&i.next_out>0)this.onData(i.output.subarray(0,i.next_out)),i.avail_out=0;else if(0===i.avail_in)break}else this.onData(i.output)}return!0},ct.prototype.onData=function(e){this.chunks.push(e)},ct.prototype.onEnd=function(e){e===at&&(this.result=ze(this.chunks)),this.chunks=[],this.err=e,this.msg=this.strm.msg};var pt=ct,At=ft,dt=function(e,t){return(t=t||{}).raw=!0,ft(e,t)},vt=function(e,t){return(t=t||{}).gzip=!0,ft(e,t)},ht=16209,It=function(e,t){var n,r,i,a,s,o,l,u,c,f,p,A,d,v,h,I,y,m,w,g,E,T,b,D,P=e.state;n=e.next_in,b=e.input,r=n+(e.avail_in-5),i=e.next_out,D=e.output,a=i-(t-e.avail_out),s=i+(e.avail_out-257),o=P.dmax,l=P.wsize,u=P.whave,c=P.wnext,f=P.window,p=P.hold,A=P.bits,d=P.lencode,v=P.distcode,h=(1<>>=m=y>>>24,A-=m,0===(m=y>>>16&255))D[i++]=65535&y;else{if(!(16&m)){if(0==(64&m)){y=d[(65535&y)+(p&(1<>>=m,A-=m),A<15&&(p+=b[n++]<>>=m=y>>>24,A-=m,!(16&(m=y>>>16&255))){if(0==(64&m)){y=v[(65535&y)+(p&(1<o){e.msg="invalid distance too far back",P.mode=ht;break e}if(p>>>=m,A-=m,g>(m=i-a)){if((m=g-m)>u&&P.sane){e.msg="invalid distance too far back",P.mode=ht;break e}if(E=0,T=f,0===c){if(E+=l-m,m2;)D[i++]=T[E++],D[i++]=T[E++],D[i++]=T[E++],w-=3;w&&(D[i++]=T[E++],w>1&&(D[i++]=T[E++]))}else{E=i-g;do{D[i++]=D[E++],D[i++]=D[E++],D[i++]=D[E++],w-=3}while(w>2);w&&(D[i++]=D[E++],w>1&&(D[i++]=D[E++]))}break}}break}}while(n>3,p&=(1<<(A-=w<<3))-1,e.next_in=n,e.next_out=i,e.avail_in=n=1&&0===_[g];g--);if(E>g&&(E=g),0===g)return i[a++]=20971520,i[a++]=20971520,o.bits=1,0;for(w=1;w0&&(0===e||1!==g))return-1;for(B[1]=0,y=1;y<15;y++)B[y+1]=B[y]+_[y];for(m=0;m852||2===e&&P>592)return 1;for(;;){d=y-b,s[m]+1=A?(v=O[s[m]-A],h=C[s[m]-A]):(v=96,h=0),l=1<>b)+(u-=l)]=d<<24|v<<16|h|0}while(0!==u);for(l=1<>=1;if(0!==l?(R&=l-1,R+=l):R=0,m++,0==--_[y]){if(y===g)break;y=t[n+s[m]]}if(y>E&&(R&f)!==c){for(0===b&&(b=E),p+=w,D=1<<(T=y-b);T+b852||2===e&&P>592)return 1;i[c=R&f]=E<<24|T<<16|p-a|0}}return 0!==R&&(i[p+R]=y-b<<24|64<<16|0),o.bits=E,0},Tt=V.Z_FINISH,bt=V.Z_BLOCK,Dt=V.Z_TREES,Pt=V.Z_OK,Rt=V.Z_STREAM_END,Ct=V.Z_NEED_DICT,_t=V.Z_STREAM_ERROR,Bt=V.Z_DATA_ERROR,Ot=V.Z_MEM_ERROR,St=V.Z_BUF_ERROR,Nt=V.Z_DEFLATED,Lt=16180,xt=16190,Mt=16191,Ft=16192,Ht=16194,Ut=16199,Gt=16200,kt=16206,jt=16209,Vt=function(e){return(e>>>24&255)+(e>>>8&65280)+((65280&e)<<8)+((255&e)<<24)};function Qt(){this.strm=null,this.mode=0,this.last=!1,this.wrap=0,this.havedict=!1,this.flags=0,this.dmax=0,this.check=0,this.total=0,this.head=null,this.wbits=0,this.wsize=0,this.whave=0,this.wnext=0,this.window=null,this.hold=0,this.bits=0,this.length=0,this.offset=0,this.extra=0,this.lencode=null,this.distcode=null,this.lenbits=0,this.distbits=0,this.ncode=0,this.nlen=0,this.ndist=0,this.have=0,this.next=null,this.lens=new Uint16Array(320),this.work=new Uint16Array(288),this.lendyn=null,this.distdyn=null,this.sane=0,this.back=0,this.was=0}var Wt,zt,Kt=function(e){if(!e)return 1;var t=e.state;return!t||t.strm!==e||t.mode16211?1:0},Yt=function(e){if(Kt(e))return _t;var t=e.state;return e.total_in=e.total_out=t.total=0,e.msg="",t.wrap&&(e.adler=1&t.wrap),t.mode=Lt,t.last=0,t.havedict=0,t.flags=-1,t.dmax=32768,t.head=null,t.hold=0,t.bits=0,t.lencode=t.lendyn=new Int32Array(852),t.distcode=t.distdyn=new Int32Array(592),t.sane=1,t.back=-1,Pt},Xt=function(e){if(Kt(e))return _t;var t=e.state;return t.wsize=0,t.whave=0,t.wnext=0,Yt(e)},qt=function(e,t){var n;if(Kt(e))return _t;var r=e.state;return t<0?(n=0,t=-t):(n=5+(t>>4),t<48&&(t&=15)),t&&(t<8||t>15)?_t:(null!==r.window&&r.wbits!==t&&(r.window=null),r.wrap=n,r.wbits=t,Xt(e))},Jt=function(e,t){if(!e)return _t;var n=new Qt;e.state=n,n.strm=e,n.window=null,n.mode=Lt;var r=qt(e,t);return r!==Pt&&(e.state=null),r},Zt=!0,$t=function(e){if(Zt){Wt=new Int32Array(512),zt=new Int32Array(32);for(var t=0;t<144;)e.lens[t++]=8;for(;t<256;)e.lens[t++]=9;for(;t<280;)e.lens[t++]=7;for(;t<288;)e.lens[t++]=8;for(Et(1,e.lens,0,288,Wt,0,e.work,{bits:9}),t=0;t<32;)e.lens[t++]=5;Et(2,e.lens,0,32,zt,0,e.work,{bits:5}),Zt=!1}e.lencode=Wt,e.lenbits=9,e.distcode=zt,e.distbits=5},en=function(e,t,n,r){var i,a=e.state;return null===a.window&&(a.wsize=1<=a.wsize?(a.window.set(t.subarray(n-a.wsize,n),0),a.wnext=0,a.whave=a.wsize):((i=a.wsize-a.wnext)>r&&(i=r),a.window.set(t.subarray(n-r,n-r+i),a.wnext),(r-=i)?(a.window.set(t.subarray(n-r,n),0),a.wnext=r,a.whave=a.wsize):(a.wnext+=i,a.wnext===a.wsize&&(a.wnext=0),a.whave>>8&255,n.check=k(n.check,R,2,0),u=0,c=0,n.mode=16181;break}if(n.head&&(n.head.done=!1),!(1&n.wrap)||(((255&u)<<8)+(u>>8))%31){e.msg="incorrect header check",n.mode=jt;break}if((15&u)!==Nt){e.msg="unknown compression method",n.mode=jt;break}if(c-=4,E=8+(15&(u>>>=4)),0===n.wbits&&(n.wbits=E),E>15||E>n.wbits){e.msg="invalid window size",n.mode=jt;break}n.dmax=1<>8&1),512&n.flags&&4&n.wrap&&(R[0]=255&u,R[1]=u>>>8&255,n.check=k(n.check,R,2,0)),u=0,c=0,n.mode=16182;case 16182:for(;c<32;){if(0===o)break e;o--,u+=r[a++]<>>8&255,R[2]=u>>>16&255,R[3]=u>>>24&255,n.check=k(n.check,R,4,0)),u=0,c=0,n.mode=16183;case 16183:for(;c<16;){if(0===o)break e;o--,u+=r[a++]<>8),512&n.flags&&4&n.wrap&&(R[0]=255&u,R[1]=u>>>8&255,n.check=k(n.check,R,2,0)),u=0,c=0,n.mode=16184;case 16184:if(1024&n.flags){for(;c<16;){if(0===o)break e;o--,u+=r[a++]<>>8&255,n.check=k(n.check,R,2,0)),u=0,c=0}else n.head&&(n.head.extra=null);n.mode=16185;case 16185:if(1024&n.flags&&((A=n.length)>o&&(A=o),A&&(n.head&&(E=n.head.extra_len-n.length,n.head.extra||(n.head.extra=new Uint8Array(n.head.extra_len)),n.head.extra.set(r.subarray(a,a+A),E)),512&n.flags&&4&n.wrap&&(n.check=k(n.check,r,A,a)),o-=A,a+=A,n.length-=A),n.length))break e;n.length=0,n.mode=16186;case 16186:if(2048&n.flags){if(0===o)break e;A=0;do{E=r[a+A++],n.head&&E&&n.length<65536&&(n.head.name+=String.fromCharCode(E))}while(E&&A>9&1,n.head.done=!0),e.adler=n.check=0,n.mode=Mt;break;case 16189:for(;c<32;){if(0===o)break e;o--,u+=r[a++]<>>=7&c,c-=7&c,n.mode=kt;break}for(;c<3;){if(0===o)break e;o--,u+=r[a++]<>>=1)){case 0:n.mode=16193;break;case 1:if($t(n),n.mode=Ut,t===Dt){u>>>=2,c-=2;break e}break;case 2:n.mode=16196;break;case 3:e.msg="invalid block type",n.mode=jt}u>>>=2,c-=2;break;case 16193:for(u>>>=7&c,c-=7&c;c<32;){if(0===o)break e;o--,u+=r[a++]<>>16^65535)){e.msg="invalid stored block lengths",n.mode=jt;break}if(n.length=65535&u,u=0,c=0,n.mode=Ht,t===Dt)break e;case Ht:n.mode=16195;case 16195:if(A=n.length){if(A>o&&(A=o),A>l&&(A=l),0===A)break e;i.set(r.subarray(a,a+A),s),o-=A,a+=A,l-=A,s+=A,n.length-=A;break}n.mode=Mt;break;case 16196:for(;c<14;){if(0===o)break e;o--,u+=r[a++]<>>=5,c-=5,n.ndist=1+(31&u),u>>>=5,c-=5,n.ncode=4+(15&u),u>>>=4,c-=4,n.nlen>286||n.ndist>30){e.msg="too many length or distance symbols",n.mode=jt;break}n.have=0,n.mode=16197;case 16197:for(;n.have>>=3,c-=3}for(;n.have<19;)n.lens[C[n.have++]]=0;if(n.lencode=n.lendyn,n.lenbits=7,b={bits:n.lenbits},T=Et(0,n.lens,0,19,n.lencode,0,n.work,b),n.lenbits=b.bits,T){e.msg="invalid code lengths set",n.mode=jt;break}n.have=0,n.mode=16198;case 16198:for(;n.have>>16&255,y=65535&P,!((h=P>>>24)<=c);){if(0===o)break e;o--,u+=r[a++]<>>=h,c-=h,n.lens[n.have++]=y;else{if(16===y){for(D=h+2;c>>=h,c-=h,0===n.have){e.msg="invalid bit length repeat",n.mode=jt;break}E=n.lens[n.have-1],A=3+(3&u),u>>>=2,c-=2}else if(17===y){for(D=h+3;c>>=h)),u>>>=3,c-=3}else{for(D=h+7;c>>=h)),u>>>=7,c-=7}if(n.have+A>n.nlen+n.ndist){e.msg="invalid bit length repeat",n.mode=jt;break}for(;A--;)n.lens[n.have++]=E}}if(n.mode===jt)break;if(0===n.lens[256]){e.msg="invalid code -- missing end-of-block",n.mode=jt;break}if(n.lenbits=9,b={bits:n.lenbits},T=Et(1,n.lens,0,n.nlen,n.lencode,0,n.work,b),n.lenbits=b.bits,T){e.msg="invalid literal/lengths set",n.mode=jt;break}if(n.distbits=6,n.distcode=n.distdyn,b={bits:n.distbits},T=Et(2,n.lens,n.nlen,n.ndist,n.distcode,0,n.work,b),n.distbits=b.bits,T){e.msg="invalid distances set",n.mode=jt;break}if(n.mode=Ut,t===Dt)break e;case Ut:n.mode=Gt;case Gt:if(o>=6&&l>=258){e.next_out=s,e.avail_out=l,e.next_in=a,e.avail_in=o,n.hold=u,n.bits=c,It(e,p),s=e.next_out,i=e.output,l=e.avail_out,a=e.next_in,r=e.input,o=e.avail_in,u=n.hold,c=n.bits,n.mode===Mt&&(n.back=-1);break}for(n.back=0;I=(P=n.lencode[u&(1<>>16&255,y=65535&P,!((h=P>>>24)<=c);){if(0===o)break e;o--,u+=r[a++]<>m)])>>>16&255,y=65535&P,!(m+(h=P>>>24)<=c);){if(0===o)break e;o--,u+=r[a++]<>>=m,c-=m,n.back+=m}if(u>>>=h,c-=h,n.back+=h,n.length=y,0===I){n.mode=16205;break}if(32&I){n.back=-1,n.mode=Mt;break}if(64&I){e.msg="invalid literal/length code",n.mode=jt;break}n.extra=15&I,n.mode=16201;case 16201:if(n.extra){for(D=n.extra;c>>=n.extra,c-=n.extra,n.back+=n.extra}n.was=n.length,n.mode=16202;case 16202:for(;I=(P=n.distcode[u&(1<>>16&255,y=65535&P,!((h=P>>>24)<=c);){if(0===o)break e;o--,u+=r[a++]<>m)])>>>16&255,y=65535&P,!(m+(h=P>>>24)<=c);){if(0===o)break e;o--,u+=r[a++]<>>=m,c-=m,n.back+=m}if(u>>>=h,c-=h,n.back+=h,64&I){e.msg="invalid distance code",n.mode=jt;break}n.offset=y,n.extra=15&I,n.mode=16203;case 16203:if(n.extra){for(D=n.extra;c>>=n.extra,c-=n.extra,n.back+=n.extra}if(n.offset>n.dmax){e.msg="invalid distance too far back",n.mode=jt;break}n.mode=16204;case 16204:if(0===l)break e;if(A=p-l,n.offset>A){if((A=n.offset-A)>n.whave&&n.sane){e.msg="invalid distance too far back",n.mode=jt;break}A>n.wnext?(A-=n.wnext,d=n.wsize-A):d=n.wnext-A,A>n.length&&(A=n.length),v=n.window}else v=i,d=s-n.offset,A=n.length;A>l&&(A=l),l-=A,n.length-=A;do{i[s++]=v[d++]}while(--A);0===n.length&&(n.mode=Gt);break;case 16205:if(0===l)break e;i[s++]=n.length,l--,n.mode=Gt;break;case kt:if(n.wrap){for(;c<32;){if(0===o)break e;o--,u|=r[a++]<=0&&t.windowBits<16&&(t.windowBits=-t.windowBits,0===t.windowBits&&(t.windowBits=-15)),!(t.windowBits>=0&&t.windowBits<16)||e&&e.windowBits||(t.windowBits+=32),t.windowBits>15&&t.windowBits<48&&0==(15&t.windowBits)&&(t.windowBits|=15),this.err=0,this.msg="",this.ended=!1,this.chunks=[],this.strm=new $e,this.strm.avail_out=0;var n=nn(this.strm,t.windowBits);if(n!==pn)throw new Error(j[n]);if(this.header=new ln,sn(this.strm,this.header),t.dictionary&&("string"==typeof t.dictionary?t.dictionary=qe(t.dictionary):"[object ArrayBuffer]"===un.call(t.dictionary)&&(t.dictionary=new Uint8Array(t.dictionary)),t.raw&&(n=on(this.strm,t.dictionary))!==pn))throw new Error(j[n])}function mn(e,t){var n=new yn(t);if(n.push(e),n.err)throw n.msg||j[n.err];return n.result}yn.prototype.push=function(e,t){var n,r,i,a=this.strm,s=this.options.chunkSize,o=this.options.dictionary;if(this.ended)return!1;for(r=t===~~t?t:!0===t?fn:cn,"[object ArrayBuffer]"===un.call(e)?a.input=new Uint8Array(e):a.input=e,a.next_in=0,a.avail_in=a.input.length;;){for(0===a.avail_out&&(a.output=new Uint8Array(s),a.next_out=0,a.avail_out=s),(n=rn(a,r))===dn&&o&&((n=on(a,o))===pn?n=rn(a,r):n===hn&&(n=dn));a.avail_in>0&&n===An&&a.state.wrap>0&&0!==e[a.next_in];)tn(a),n=rn(a,r);switch(n){case vn:case hn:case dn:case In:return this.onEnd(n),this.ended=!0,!1}if(i=a.avail_out,a.next_out&&(0===a.avail_out||n===An))if("string"===this.options.to){var l=Ze(a.output,a.next_out),u=a.next_out-l,c=Je(a.output,l);a.next_out=u,a.avail_out=s-u,u&&a.output.set(a.output.subarray(l,l+u),0),this.onData(c)}else this.onData(a.output.length===a.next_out?a.output:a.output.subarray(0,a.next_out));if(n!==pn||0!==i){if(n===An)return n=an(this.strm),this.onEnd(n),this.ended=!0,!0;if(0===a.avail_in)break}}return!0},yn.prototype.onData=function(e){this.chunks.push(e)},yn.prototype.onEnd=function(e){e===pn&&("string"===this.options.to?this.result=this.chunks.join(""):this.result=ze(this.chunks)),this.chunks=[],this.err=e,this.msg=this.strm.msg};var wn=function(e,t){return(t=t||{}).raw=!0,mn(e,t)},gn=pt,En=At,Tn=dt,bn=vt,Dn=yn,Pn=mn,Rn=wn,Cn=mn,_n=V,Bn={Deflate:gn,deflate:En,deflateRaw:Tn,gzip:bn,Inflate:Dn,inflate:Pn,inflateRaw:Rn,ungzip:Cn,constants:_n};e.Deflate=gn,e.Inflate=Dn,e.constants=_n,e.default=Bn,e.deflate=En,e.deflateRaw=Tn,e.gzip=bn,e.inflate=Pn,e.inflateRaw=Rn,e.ungzip=Cn,Object.defineProperty(e,"__esModule",{value:!0})}));var zR=Object.freeze({__proto__:null}),KR=window.pako||zR;KR.inflate||(KR=KR.default);var YR,XR=(YR=new Float32Array(3),function(e){return YR[0]=e[0]/255,YR[1]=e[1]/255,YR[2]=e[2]/255,YR});var qR={version:1,parse:function(e,t,n,r,i,a){var s=function(e){return{positions:e[0],normals:e[1],indices:e[2],edgeIndices:e[3],meshPositions:e[4],meshIndices:e[5],meshEdgesIndices:e[6],meshColors:e[7],entityIDs:e[8],entityMeshes:e[9],entityIsObjects:e[10],positionsDecodeMatrix:e[11]}}(n),o=function(e){return{positions:new Uint16Array(KR.inflate(e.positions).buffer),normals:new Int8Array(KR.inflate(e.normals).buffer),indices:new Uint32Array(KR.inflate(e.indices).buffer),edgeIndices:new Uint32Array(KR.inflate(e.edgeIndices).buffer),meshPositions:new Uint32Array(KR.inflate(e.meshPositions).buffer),meshIndices:new Uint32Array(KR.inflate(e.meshIndices).buffer),meshEdgesIndices:new Uint32Array(KR.inflate(e.meshEdgesIndices).buffer),meshColors:new Uint8Array(KR.inflate(e.meshColors).buffer),entityIDs:KR.inflate(e.entityIDs,{to:"string"}),entityMeshes:new Uint32Array(KR.inflate(e.entityMeshes).buffer),entityIsObjects:new Uint8Array(KR.inflate(e.entityIsObjects).buffer),positionsDecodeMatrix:new Float32Array(KR.inflate(e.positionsDecodeMatrix).buffer)}}(s);!function(e,t,n,r,i,a){a.getNextId(),r.positionsCompression="precompressed",r.normalsCompression="precompressed";for(var s=n.positions,o=n.normals,l=n.indices,u=n.edgeIndices,c=n.meshPositions,f=n.meshIndices,p=n.meshEdgesIndices,A=n.meshColors,d=JSON.parse(n.entityIDs),v=n.entityMeshes,h=n.entityIsObjects,I=c.length,y=v.length,m=0;mh[t]?1:0}));for(var C=0;C1||(_[M]=B)}for(var F=0;F1,k=iC(I.subarray(4*H,4*H+3)),j=I[4*H+3]/255,V=o.subarray(A[H],U?o.length:A[H+1]),Q=l.subarray(A[H],U?l.length:A[H+1]),W=u.subarray(d[H],U?u.length:d[H+1]),z=c.subarray(v[H],U?c.length:v[H+1]),K=f.subarray(h[H],h[H]+16);if(G){var Y="".concat(s,"-geometry.").concat(H);r.createGeometry({id:Y,primitive:"triangles",positionsCompressed:V,normalsCompressed:Q,indices:W,edgeIndices:z,positionsDecodeMatrix:K})}else{var X="".concat(s,"-").concat(H);m[_[H]],r.createMesh(le.apply({},{id:X,primitive:"triangles",positionsCompressed:V,normalsCompressed:Q,indices:W,edgeIndices:z,positionsDecodeMatrix:K,color:k,opacity:j}))}}for(var q=0,J=0;J1){var se="".concat(s,"-instance.").concat(q++),oe="".concat(s,"-geometry.").concat(ae),ue=16*g[J],ce=p.subarray(ue,ue+16);r.createMesh(le.apply({},{id:se,geometryId:oe,matrix:ce})),re.push(se)}else re.push(ae)}re.length>0&&r.createEntity(le.apply({},{id:ee,isObject:!0,meshIds:re}))}}(0,0,o,r,0,a)}},sC=window.pako||zR;sC.inflate||(sC=sC.default);var oC=function(){var e=new Float32Array(3);return function(t){return e[0]=t[0]/255,e[1]=t[1]/255,e[2]=t[2]/255,e}}();var lC={version:5,parse:function(e,t,n,r,i,a){var s=function(e){return{positions:e[0],normals:e[1],indices:e[2],edgeIndices:e[3],matrices:e[4],eachPrimitivePositionsAndNormalsPortion:e[5],eachPrimitiveIndicesPortion:e[6],eachPrimitiveEdgeIndicesPortion:e[7],eachPrimitiveColor:e[8],primitiveInstances:e[9],eachEntityId:e[10],eachEntityPrimitiveInstancesPortion:e[11],eachEntityMatricesPortion:e[12]}}(n),o=function(e){return{positions:new Float32Array(sC.inflate(e.positions).buffer),normals:new Int8Array(sC.inflate(e.normals).buffer),indices:new Uint32Array(sC.inflate(e.indices).buffer),edgeIndices:new Uint32Array(sC.inflate(e.edgeIndices).buffer),matrices:new Float32Array(sC.inflate(e.matrices).buffer),eachPrimitivePositionsAndNormalsPortion:new Uint32Array(sC.inflate(e.eachPrimitivePositionsAndNormalsPortion).buffer),eachPrimitiveIndicesPortion:new Uint32Array(sC.inflate(e.eachPrimitiveIndicesPortion).buffer),eachPrimitiveEdgeIndicesPortion:new Uint32Array(sC.inflate(e.eachPrimitiveEdgeIndicesPortion).buffer),eachPrimitiveColor:new Uint8Array(sC.inflate(e.eachPrimitiveColor).buffer),primitiveInstances:new Uint32Array(sC.inflate(e.primitiveInstances).buffer),eachEntityId:sC.inflate(e.eachEntityId,{to:"string"}),eachEntityPrimitiveInstancesPortion:new Uint32Array(sC.inflate(e.eachEntityPrimitiveInstancesPortion).buffer),eachEntityMatricesPortion:new Uint32Array(sC.inflate(e.eachEntityMatricesPortion).buffer)}}(s);!function(e,t,n,r,i,a){var s=a.getNextId();r.positionsCompression="disabled",r.normalsCompression="precompressed";for(var o=n.positions,l=n.normals,u=n.indices,c=n.edgeIndices,f=n.matrices,p=n.eachPrimitivePositionsAndNormalsPortion,A=n.eachPrimitiveIndicesPortion,d=n.eachPrimitiveEdgeIndicesPortion,v=n.eachPrimitiveColor,h=n.primitiveInstances,I=JSON.parse(n.eachEntityId),y=n.eachEntityPrimitiveInstancesPortion,m=n.eachEntityMatricesPortion,w=p.length,g=h.length,E=new Uint8Array(w),T=I.length,b=0;b1||(D[S]=P)}for(var N=0;N1,M=oC(v.subarray(4*N,4*N+3)),F=v[4*N+3]/255,H=o.subarray(p[N],L?o.length:p[N+1]),U=l.subarray(p[N],L?l.length:p[N+1]),G=u.subarray(A[N],L?u.length:A[N+1]),k=c.subarray(d[N],L?c.length:d[N+1]);if(x){var j="".concat(s,"-geometry.").concat(N);r.createGeometry({id:j,primitive:"triangles",positionsCompressed:H,normalsCompressed:U,indices:G,edgeIndices:k})}else{var V=N;I[D[N]],r.createMesh(le.apply({},{id:V,primitive:"triangles",positionsCompressed:H,normalsCompressed:U,indices:G,edgeIndices:k,color:M,opacity:F}))}}for(var Q=0,W=0;W1){var ee="instance."+Q++,te="geometry"+$,ne=16*m[W],re=f.subarray(ne,ne+16);r.createMesh(le.apply({},{id:ee,geometryId:te,matrix:re})),J.push(ee)}else J.push($)}J.length>0&&r.createEntity(le.apply({},{id:Y,isObject:!0,meshIds:J}))}}(0,0,o,r,0,a)}},uC=window.pako||zR;uC.inflate||(uC=uC.default);var cC,fC=(cC=new Float32Array(3),function(e){return cC[0]=e[0]/255,cC[1]=e[1]/255,cC[2]=e[2]/255,cC});var pC={version:6,parse:function(e,t,n,r,i,a){var s=function(e){return{positions:e[0],normals:e[1],indices:e[2],edgeIndices:e[3],matrices:e[4],reusedPrimitivesDecodeMatrix:e[5],eachPrimitivePositionsAndNormalsPortion:e[6],eachPrimitiveIndicesPortion:e[7],eachPrimitiveEdgeIndicesPortion:e[8],eachPrimitiveColorAndOpacity:e[9],primitiveInstances:e[10],eachEntityId:e[11],eachEntityPrimitiveInstancesPortion:e[12],eachEntityMatricesPortion:e[13],eachTileAABB:e[14],eachTileEntitiesPortion:e[15]}}(n),o=function(e){function t(e,t){return 0===e.length?[]:uC.inflate(e,t).buffer}return{positions:new Uint16Array(t(e.positions)),normals:new Int8Array(t(e.normals)),indices:new Uint32Array(t(e.indices)),edgeIndices:new Uint32Array(t(e.edgeIndices)),matrices:new Float32Array(t(e.matrices)),reusedPrimitivesDecodeMatrix:new Float32Array(t(e.reusedPrimitivesDecodeMatrix)),eachPrimitivePositionsAndNormalsPortion:new Uint32Array(t(e.eachPrimitivePositionsAndNormalsPortion)),eachPrimitiveIndicesPortion:new Uint32Array(t(e.eachPrimitiveIndicesPortion)),eachPrimitiveEdgeIndicesPortion:new Uint32Array(t(e.eachPrimitiveEdgeIndicesPortion)),eachPrimitiveColorAndOpacity:new Uint8Array(t(e.eachPrimitiveColorAndOpacity)),primitiveInstances:new Uint32Array(t(e.primitiveInstances)),eachEntityId:uC.inflate(e.eachEntityId,{to:"string"}),eachEntityPrimitiveInstancesPortion:new Uint32Array(t(e.eachEntityPrimitiveInstancesPortion)),eachEntityMatricesPortion:new Uint32Array(t(e.eachEntityMatricesPortion)),eachTileAABB:new Float64Array(t(e.eachTileAABB)),eachTileEntitiesPortion:new Uint32Array(t(e.eachTileEntitiesPortion))}}(s);!function(e,t,n,r,i,a){for(var s=a.getNextId(),o=n.positions,l=n.normals,u=n.indices,c=n.edgeIndices,f=n.matrices,p=n.reusedPrimitivesDecodeMatrix,A=n.eachPrimitivePositionsAndNormalsPortion,d=n.eachPrimitiveIndicesPortion,v=n.eachPrimitiveEdgeIndicesPortion,h=n.eachPrimitiveColorAndOpacity,I=n.primitiveInstances,y=JSON.parse(n.eachEntityId),m=n.eachEntityPrimitiveInstancesPortion,w=n.eachEntityMatricesPortion,g=n.eachTileAABB,E=n.eachTileEntitiesPortion,T=A.length,b=I.length,D=y.length,P=E.length,R=new Uint32Array(T),C=0;C1,re=te===T-1,ie=o.subarray(A[te],re?o.length:A[te+1]),ae=l.subarray(A[te],re?l.length:A[te+1]),se=u.subarray(d[te],re?u.length:d[te+1]),oe=c.subarray(v[te],re?c.length:v[te+1]),ue=fC(h.subarray(4*te,4*te+3)),ce=h[4*te+3]/255,fe=a.getNextId();if(ne){var pe="".concat(s,"-geometry.").concat(S,".").concat(te);U[pe]||(r.createGeometry({id:pe,primitive:"triangles",positionsCompressed:ie,indices:se,edgeIndices:oe,positionsDecodeMatrix:p}),U[pe]=!0),r.createMesh(le.apply(J,{id:fe,geometryId:pe,origin:B,matrix:Q,color:ue,opacity:ce})),Y.push(fe)}else r.createMesh(le.apply(J,{id:fe,origin:B,primitive:"triangles",positionsCompressed:ie,normalsCompressed:ae,indices:se,edgeIndices:oe,positionsDecodeMatrix:H,color:ue,opacity:ce})),Y.push(fe)}Y.length>0&&r.createEntity(le.apply(q,{id:j,isObject:!0,meshIds:Y}))}}}(e,t,o,r,0,a)}},AC=window.pako||zR;AC.inflate||(AC=AC.default);var dC=function(){var e=new Float32Array(3);return function(t){return e[0]=t[0]/255,e[1]=t[1]/255,e[2]=t[2]/255,e}}();function vC(e){for(var t=[],n=0,r=e.length;n1,ae=re===R-1,se=dC(E.subarray(6*ne,6*ne+3)),oe=E[6*ne+3]/255,ue=E[6*ne+4]/255,ce=E[6*ne+5]/255,fe=a.getNextId();if(ie){var pe=g[ne],Ae=p.slice(pe,pe+16),de="".concat(s,"-geometry.").concat(M,".").concat(re);if(!V[de]){var ve=void 0,he=void 0,Ie=void 0,ye=void 0,me=void 0,we=void 0;switch(d[re]){case 0:ve="solid",he=o.subarray(v[re],ae?o.length:v[re+1]),Ie=l.subarray(h[re],ae?l.length:h[re+1]),me=c.subarray(y[re],ae?c.length:y[re+1]),we=f.subarray(m[re],ae?f.length:m[re+1]);break;case 1:ve="surface",he=o.subarray(v[re],ae?o.length:v[re+1]),Ie=l.subarray(h[re],ae?l.length:h[re+1]),me=c.subarray(y[re],ae?c.length:y[re+1]),we=f.subarray(m[re],ae?f.length:m[re+1]);break;case 2:ve="points",he=o.subarray(v[re],ae?o.length:v[re+1]),ye=vC(u.subarray(I[re],ae?u.length:I[re+1]));break;case 3:ve="lines",he=o.subarray(v[re],ae?o.length:v[re+1]),me=c.subarray(y[re],ae?c.length:y[re+1]);break;default:continue}r.createGeometry({id:de,primitive:ve,positionsCompressed:he,normalsCompressed:Ie,colors:ye,indices:me,edgeIndices:we,positionsDecodeMatrix:A}),V[de]=!0}r.createMesh(le.apply(ee,{id:fe,geometryId:de,origin:L,matrix:Ae,color:se,metallic:ue,roughness:ce,opacity:oe})),q.push(fe)}else{var ge=void 0,Ee=void 0,Te=void 0,be=void 0,De=void 0,Pe=void 0;switch(d[re]){case 0:ge="solid",Ee=o.subarray(v[re],ae?o.length:v[re+1]),Te=l.subarray(h[re],ae?l.length:h[re+1]),De=c.subarray(y[re],ae?c.length:y[re+1]),Pe=f.subarray(m[re],ae?f.length:m[re+1]);break;case 1:ge="surface",Ee=o.subarray(v[re],ae?o.length:v[re+1]),Te=l.subarray(h[re],ae?l.length:h[re+1]),De=c.subarray(y[re],ae?c.length:y[re+1]),Pe=f.subarray(m[re],ae?f.length:m[re+1]);break;case 2:ge="points",Ee=o.subarray(v[re],ae?o.length:v[re+1]),be=vC(u.subarray(I[re],ae?u.length:I[re+1]));break;case 3:ge="lines",Ee=o.subarray(v[re],ae?o.length:v[re+1]),De=c.subarray(y[re],ae?c.length:y[re+1]);break;default:continue}r.createMesh(le.apply(ee,{id:fe,origin:L,primitive:ge,positionsCompressed:Ee,normalsCompressed:Te,colors:be,indices:De,edgeIndices:Pe,positionsDecodeMatrix:j,color:se,metallic:ue,roughness:ce,opacity:oe})),q.push(fe)}}q.length>0&&r.createEntity(le.apply(Z,{id:z,isObject:!0,meshIds:q}))}}}(e,t,o,r,0,a)}},IC=window.pako||zR;IC.inflate||(IC=IC.default);var yC=$.vec4(),mC=$.vec4();var wC=function(){var e=new Float32Array(3);return function(t){return e[0]=t[0]/255,e[1]=t[1]/255,e[2]=t[2]/255,e}}();function gC(e){for(var t=[],n=0,r=e.length;n1,we=ye===N-1,ge=wC(R.subarray(6*Ie,6*Ie+3)),Ee=R[6*Ie+3]/255,Te=R[6*Ie+4]/255,be=R[6*Ie+5]/255,De=a.getNextId();if(me){var Pe=P[Ie],Re=I.slice(Pe,Pe+16),Ce="".concat(s,"-geometry.").concat(q,".").concat(ye),_e=X[Ce];if(!_e){_e={batchThisMesh:!t.reuseGeometries};var Be=!1;switch(m[ye]){case 0:_e.primitiveName="solid",_e.geometryPositions=p.subarray(w[ye],we?p.length:w[ye+1]),_e.geometryNormals=A.subarray(g[ye],we?A.length:g[ye+1]),_e.geometryIndices=v.subarray(T[ye],we?v.length:T[ye+1]),_e.geometryEdgeIndices=h.subarray(b[ye],we?h.length:b[ye+1]),Be=_e.geometryPositions.length>0&&_e.geometryIndices.length>0;break;case 1:_e.primitiveName="surface",_e.geometryPositions=p.subarray(w[ye],we?p.length:w[ye+1]),_e.geometryNormals=A.subarray(g[ye],we?A.length:g[ye+1]),_e.geometryIndices=v.subarray(T[ye],we?v.length:T[ye+1]),_e.geometryEdgeIndices=h.subarray(b[ye],we?h.length:b[ye+1]),Be=_e.geometryPositions.length>0&&_e.geometryIndices.length>0;break;case 2:_e.primitiveName="points",_e.geometryPositions=p.subarray(w[ye],we?p.length:w[ye+1]),_e.geometryColors=gC(d.subarray(E[ye],we?d.length:E[ye+1])),Be=_e.geometryPositions.length>0;break;case 3:_e.primitiveName="lines",_e.geometryPositions=p.subarray(w[ye],we?p.length:w[ye+1]),_e.geometryIndices=v.subarray(T[ye],we?v.length:T[ye+1]),Be=_e.geometryPositions.length>0&&_e.geometryIndices.length>0;break;default:continue}if(Be||(_e=null),_e&&(_e.geometryPositions.length,_e.batchThisMesh)){_e.decompressedPositions=new Float32Array(_e.geometryPositions.length);for(var Oe=_e.geometryPositions,Se=_e.decompressedPositions,Ne=0,Le=Oe.length;Ne0&&Ve.length>0;break;case 1:Ue="surface",Ge=p.subarray(w[ye],we?p.length:w[ye+1]),ke=A.subarray(g[ye],we?A.length:g[ye+1]),Ve=v.subarray(T[ye],we?v.length:T[ye+1]),Qe=h.subarray(b[ye],we?h.length:b[ye+1]),We=Ge.length>0&&Ve.length>0;break;case 2:Ue="points",Ge=p.subarray(w[ye],we?p.length:w[ye+1]),je=gC(d.subarray(E[ye],we?d.length:E[ye+1])),We=Ge.length>0;break;case 3:Ue="lines",Ge=p.subarray(w[ye],we?p.length:w[ye+1]),Ve=v.subarray(T[ye],we?v.length:T[ye+1]),We=Ge.length>0&&Ve.length>0;break;default:continue}We&&(r.createMesh(le.apply(ve,{id:De,origin:K,primitive:Ue,positionsCompressed:Ge,normalsCompressed:ke,colorsCompressed:je,indices:Ve,edgeIndices:Qe,positionsDecodeMatrix:re,color:ge,metallic:Te,roughness:be,opacity:Ee})),pe.push(De))}}pe.length>0&&r.createEntity(le.apply(de,{id:oe,isObject:!0,meshIds:pe}))}}}(e,t,o,r,i,a)}},TC=window.pako||zR;TC.inflate||(TC=TC.default);var bC=$.vec4(),DC=$.vec4();var PC=function(){var e=new Float32Array(3);return function(t){return e[0]=t[0]/255,e[1]=t[1]/255,e[2]=t[2]/255,e}}();var RC={version:9,parse:function(e,t,n,r,i,a){var s=function(e){return{metadata:e[0],positions:e[1],normals:e[2],colors:e[3],indices:e[4],edgeIndices:e[5],matrices:e[6],reusedGeometriesDecodeMatrix:e[7],eachGeometryPrimitiveType:e[8],eachGeometryPositionsPortion:e[9],eachGeometryNormalsPortion:e[10],eachGeometryColorsPortion:e[11],eachGeometryIndicesPortion:e[12],eachGeometryEdgeIndicesPortion:e[13],eachMeshGeometriesPortion:e[14],eachMeshMatricesPortion:e[15],eachMeshMaterial:e[16],eachEntityId:e[17],eachEntityMeshesPortion:e[18],eachTileAABB:e[19],eachTileEntitiesPortion:e[20]}}(n),o=function(e){function t(e,t){return 0===e.length?[]:TC.inflate(e,t).buffer}return{metadata:JSON.parse(TC.inflate(e.metadata,{to:"string"})),positions:new Uint16Array(t(e.positions)),normals:new Int8Array(t(e.normals)),colors:new Uint8Array(t(e.colors)),indices:new Uint32Array(t(e.indices)),edgeIndices:new Uint32Array(t(e.edgeIndices)),matrices:new Float32Array(t(e.matrices)),reusedGeometriesDecodeMatrix:new Float32Array(t(e.reusedGeometriesDecodeMatrix)),eachGeometryPrimitiveType:new Uint8Array(t(e.eachGeometryPrimitiveType)),eachGeometryPositionsPortion:new Uint32Array(t(e.eachGeometryPositionsPortion)),eachGeometryNormalsPortion:new Uint32Array(t(e.eachGeometryNormalsPortion)),eachGeometryColorsPortion:new Uint32Array(t(e.eachGeometryColorsPortion)),eachGeometryIndicesPortion:new Uint32Array(t(e.eachGeometryIndicesPortion)),eachGeometryEdgeIndicesPortion:new Uint32Array(t(e.eachGeometryEdgeIndicesPortion)),eachMeshGeometriesPortion:new Uint32Array(t(e.eachMeshGeometriesPortion)),eachMeshMatricesPortion:new Uint32Array(t(e.eachMeshMatricesPortion)),eachMeshMaterial:new Uint8Array(t(e.eachMeshMaterial)),eachEntityId:JSON.parse(TC.inflate(e.eachEntityId,{to:"string"})),eachEntityMeshesPortion:new Uint32Array(t(e.eachEntityMeshesPortion)),eachTileAABB:new Float64Array(t(e.eachTileAABB)),eachTileEntitiesPortion:new Uint32Array(t(e.eachTileEntitiesPortion))}}(s);!function(e,t,n,r,i,a){var s=a.getNextId(),o=n.metadata,l=n.positions,u=n.normals,c=n.colors,f=n.indices,p=n.edgeIndices,A=n.matrices,d=n.reusedGeometriesDecodeMatrix,v=n.eachGeometryPrimitiveType,h=n.eachGeometryPositionsPortion,I=n.eachGeometryNormalsPortion,y=n.eachGeometryColorsPortion,m=n.eachGeometryIndicesPortion,w=n.eachGeometryEdgeIndicesPortion,g=n.eachMeshGeometriesPortion,E=n.eachMeshMatricesPortion,T=n.eachMeshMaterial,b=n.eachEntityId,D=n.eachEntityMeshesPortion,P=n.eachTileAABB,R=n.eachTileEntitiesPortion,C=h.length,_=g.length,B=D.length,O=R.length;i&&i.loadData(o,{includeTypes:t.includeTypes,excludeTypes:t.excludeTypes,globalizeObjectIds:t.globalizeObjectIds});for(var S=new Uint32Array(C),N=0;N<_;N++){var L=g[N];void 0!==S[L]?S[L]++:S[L]=1}for(var x=$.vec3(),M=$.AABB3(),F={},H=0;H1,oe=ae===C-1,ue=PC(T.subarray(6*ie,6*ie+3)),ce=T[6*ie+3]/255,fe=T[6*ie+4]/255,pe=T[6*ie+5]/255,Ae=a.getNextId();if(se){var de=E[ie],ve=A.slice(de,de+16),he="".concat(s,"-geometry.").concat(H,".").concat(ae),Ie=F[he];if(!Ie){Ie={batchThisMesh:!t.reuseGeometries};var ye=!1;switch(v[ae]){case 0:Ie.primitiveName="solid",Ie.geometryPositions=l.subarray(h[ae],oe?l.length:h[ae+1]),Ie.geometryNormals=u.subarray(I[ae],oe?u.length:I[ae+1]),Ie.geometryIndices=f.subarray(m[ae],oe?f.length:m[ae+1]),Ie.geometryEdgeIndices=p.subarray(w[ae],oe?p.length:w[ae+1]),ye=Ie.geometryPositions.length>0&&Ie.geometryIndices.length>0;break;case 1:Ie.primitiveName="surface",Ie.geometryPositions=l.subarray(h[ae],oe?l.length:h[ae+1]),Ie.geometryNormals=u.subarray(I[ae],oe?u.length:I[ae+1]),Ie.geometryIndices=f.subarray(m[ae],oe?f.length:m[ae+1]),Ie.geometryEdgeIndices=p.subarray(w[ae],oe?p.length:w[ae+1]),ye=Ie.geometryPositions.length>0&&Ie.geometryIndices.length>0;break;case 2:Ie.primitiveName="points",Ie.geometryPositions=l.subarray(h[ae],oe?l.length:h[ae+1]),Ie.geometryColors=c.subarray(y[ae],oe?c.length:y[ae+1]),ye=Ie.geometryPositions.length>0;break;case 3:Ie.primitiveName="lines",Ie.geometryPositions=l.subarray(h[ae],oe?l.length:h[ae+1]),Ie.geometryIndices=f.subarray(m[ae],oe?f.length:m[ae+1]),ye=Ie.geometryPositions.length>0&&Ie.geometryIndices.length>0;break;default:continue}if(ye||(Ie=null),Ie&&(Ie.geometryPositions.length,Ie.batchThisMesh)){Ie.decompressedPositions=new Float32Array(Ie.geometryPositions.length),Ie.transformedAndRecompressedPositions=new Uint16Array(Ie.geometryPositions.length);for(var me=Ie.geometryPositions,we=Ie.decompressedPositions,ge=0,Ee=me.length;ge0&&Oe.length>0;break;case 1:Re="surface",Ce=l.subarray(h[ae],oe?l.length:h[ae+1]),_e=u.subarray(I[ae],oe?u.length:I[ae+1]),Oe=f.subarray(m[ae],oe?f.length:m[ae+1]),Se=p.subarray(w[ae],oe?p.length:w[ae+1]),Ne=Ce.length>0&&Oe.length>0;break;case 2:Re="points",Ce=l.subarray(h[ae],oe?l.length:h[ae+1]),Be=c.subarray(y[ae],oe?c.length:y[ae+1]),Ne=Ce.length>0;break;case 3:Re="lines",Ce=l.subarray(h[ae],oe?l.length:h[ae+1]),Oe=f.subarray(m[ae],oe?f.length:m[ae+1]),Ne=Ce.length>0&&Oe.length>0;break;default:continue}Ne&&(r.createMesh(le.apply(ne,{id:Ae,origin:x,primitive:Re,positionsCompressed:Ce,normalsCompressed:_e,colorsCompressed:Be,indices:Oe,edgeIndices:Se,positionsDecodeMatrix:Q,color:ue,metallic:fe,roughness:pe,opacity:ce})),Z.push(Ae))}}Z.length>0&&r.createEntity(le.apply(te,{id:Y,isObject:!0,meshIds:Z}))}}}(e,t,o,r,i,a)}},CC=window.pako||zR;CC.inflate||(CC=CC.default);var _C=$.vec4(),BC=$.vec4();var OC=function(){var e=new Float32Array(3);return function(t){return e[0]=t[0]/255,e[1]=t[1]/255,e[2]=t[2]/255,e}}();function SC(e,t){var n=[];if(t.length>1)for(var r=0,i=t.length-1;r1)for(var a=0,s=e.length/3-1;a0,z=9*k,K=1===c[z+0],Y=c[z+1];c[z+2],c[z+3];var X=c[z+4],q=c[z+5],J=c[z+6],Z=c[z+7],ee=c[z+8];if(W){var te=new Uint8Array(l.subarray(V,Q)).buffer,ne="".concat(s,"-texture-").concat(k);if(K)r.createTexture({id:ne,buffers:[te],minFilter:X,magFilter:q,wrapS:J,wrapT:Z,wrapR:ee});else{var re=new Blob([te],{type:10001===Y?"image/jpeg":10002===Y?"image/png":"image/gif"}),ie=(window.URL||window.webkitURL).createObjectURL(re),ae=document.createElement("img");ae.src=ie,r.createTexture({id:ne,image:ae,minFilter:X,magFilter:q,wrapS:J,wrapT:Z,wrapR:ee})}}}for(var se=0;se=0?"".concat(s,"-texture-").concat(ce):null,normalsTextureId:pe>=0?"".concat(s,"-texture-").concat(pe):null,metallicRoughnessTextureId:fe>=0?"".concat(s,"-texture-").concat(fe):null,emissiveTextureId:Ae>=0?"".concat(s,"-texture-").concat(Ae):null,occlusionTextureId:de>=0?"".concat(s,"-texture-").concat(de):null})}for(var ve=new Uint32Array(F),he=0;he1,Ve=ke===F-1,Qe=_[Ge],We=Qe>=0?"".concat(s,"-textureSet-").concat(Qe):null,ze=OC(B.subarray(6*Ge,6*Ge+3)),Ke=B[6*Ge+3]/255,Ye=B[6*Ge+4]/255,Xe=B[6*Ge+5]/255,qe=a.getNextId();if(je){var Je=C[Ge],Ze=y.slice(Je,Je+16),$e="".concat(s,"-geometry.").concat(ge,".").concat(ke),et=we[$e];if(!et){et={batchThisMesh:!t.reuseGeometries};var tt=!1;switch(w[ke]){case 0:et.primitiveName="solid",et.geometryPositions=f.subarray(g[ke],Ve?f.length:g[ke+1]),et.geometryNormals=p.subarray(E[ke],Ve?p.length:E[ke+1]),et.geometryUVs=d.subarray(b[ke],Ve?d.length:b[ke+1]),et.geometryIndices=v.subarray(D[ke],Ve?v.length:D[ke+1]),et.geometryEdgeIndices=h.subarray(P[ke],Ve?h.length:P[ke+1]),tt=et.geometryPositions.length>0&&et.geometryIndices.length>0;break;case 1:et.primitiveName="surface",et.geometryPositions=f.subarray(g[ke],Ve?f.length:g[ke+1]),et.geometryNormals=p.subarray(E[ke],Ve?p.length:E[ke+1]),et.geometryUVs=d.subarray(b[ke],Ve?d.length:b[ke+1]),et.geometryIndices=v.subarray(D[ke],Ve?v.length:D[ke+1]),et.geometryEdgeIndices=h.subarray(P[ke],Ve?h.length:P[ke+1]),tt=et.geometryPositions.length>0&&et.geometryIndices.length>0;break;case 2:et.primitiveName="points",et.geometryPositions=f.subarray(g[ke],Ve?f.length:g[ke+1]),et.geometryColors=A.subarray(T[ke],Ve?A.length:T[ke+1]),tt=et.geometryPositions.length>0;break;case 3:et.primitiveName="lines",et.geometryPositions=f.subarray(g[ke],Ve?f.length:g[ke+1]),et.geometryIndices=v.subarray(D[ke],Ve?v.length:D[ke+1]),tt=et.geometryPositions.length>0&&et.geometryIndices.length>0;break;case 4:et.primitiveName="lines",et.geometryPositions=f.subarray(g[ke],Ve?f.length:g[ke+1]),et.geometryIndices=SC(et.geometryPositions,v.subarray(D[ke],Ve?v.length:D[ke+1])),tt=et.geometryPositions.length>0&&et.geometryIndices.length>0;break;default:continue}if(tt||(et=null),et&&(et.geometryPositions.length,et.batchThisMesh)){et.decompressedPositions=new Float32Array(et.geometryPositions.length),et.transformedAndRecompressedPositions=new Uint16Array(et.geometryPositions.length);for(var nt=et.geometryPositions,rt=et.decompressedPositions,it=0,at=nt.length;it0&&vt.length>0;break;case 1:ct="surface",ft=f.subarray(g[ke],Ve?f.length:g[ke+1]),pt=p.subarray(E[ke],Ve?p.length:E[ke+1]),At=d.subarray(b[ke],Ve?d.length:b[ke+1]),vt=v.subarray(D[ke],Ve?v.length:D[ke+1]),ht=h.subarray(P[ke],Ve?h.length:P[ke+1]),It=ft.length>0&&vt.length>0;break;case 2:ct="points",ft=f.subarray(g[ke],Ve?f.length:g[ke+1]),dt=A.subarray(T[ke],Ve?A.length:T[ke+1]),It=ft.length>0;break;case 3:ct="lines",ft=f.subarray(g[ke],Ve?f.length:g[ke+1]),vt=v.subarray(D[ke],Ve?v.length:D[ke+1]),It=ft.length>0&&vt.length>0;break;case 4:ct="lines",vt=SC(ft=f.subarray(g[ke],Ve?f.length:g[ke+1]),v.subarray(D[ke],Ve?v.length:D[ke+1])),It=ft.length>0&&vt.length>0;break;default:continue}It&&(r.createMesh(le.apply(He,{id:qe,textureSetId:We,origin:ye,primitive:ct,positionsCompressed:ft,normalsCompressed:pt,uv:At&&At.length>0?At:null,colorsCompressed:dt,indices:vt,edgeIndices:ht,positionsDecodeMatrix:Re,color:ze,metallic:Ye,roughness:Xe,opacity:Ke})),xe.push(qe))}}xe.length>0&&r.createEntity(le.apply(Fe,{id:Oe,isObject:!0,meshIds:xe}))}}}(e,t,o,r,i,a)}},LC={};LC[qR.version]=qR,LC[$R.version]=$R,LC[nC.version]=nC,LC[aC.version]=aC,LC[lC.version]=lC,LC[pC.version]=pC,LC[hC.version]=hC,LC[EC.version]=EC,LC[RC.version]=RC,LC[NC.version]=NC;var xC=function(e){I(n,Ce);var t=m(n);function n(e){var r,i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return b(this,n),(r=t.call(this,"XKTLoader",e,i))._maxGeometryBatchSize=i.maxGeometryBatchSize,r.textureTranscoder=i.textureTranscoder,r.dataSource=i.dataSource,r.objectDefaults=i.objectDefaults,r.includeTypes=i.includeTypes,r.excludeTypes=i.excludeTypes,r.excludeUnclassifiedObjects=i.excludeUnclassifiedObjects,r.reuseGeometries=i.reuseGeometries,r}return P(n,[{key:"supportedVersions",get:function(){return Object.keys(LC)}},{key:"textureTranscoder",get:function(){return this._textureTranscoder},set:function(e){this._textureTranscoder=e}},{key:"dataSource",get:function(){return this._dataSource},set:function(e){this._dataSource=e||new WR}},{key:"objectDefaults",get:function(){return this._objectDefaults},set:function(e){this._objectDefaults=e||VP}},{key:"includeTypes",get:function(){return this._includeTypes},set:function(e){this._includeTypes=e}},{key:"excludeTypes",get:function(){return this._excludeTypes},set:function(e){this._excludeTypes=e}},{key:"excludeUnclassifiedObjects",get:function(){return this._excludeUnclassifiedObjects},set:function(e){this._excludeUnclassifiedObjects=!!e}},{key:"globalizeObjectIds",get:function(){return this._globalizeObjectIds},set:function(e){this._globalizeObjectIds=!!e}},{key:"reuseGeometries",get:function(){return this._reuseGeometries},set:function(e){this._reuseGeometries=!1!==e}},{key:"load",value:function(){var e=this,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};if(t.id&&this.viewer.scene.components[t.id]&&(this.error("Component with this ID already exists in viewer: "+t.id+" - will autogenerate this ID"),delete t.id),!(t.src||t.xkt||t.manifestSrc||t.manifest))return this.error("load() param expected: src, xkt, manifestSrc or manifestData"),c;var n={},r=t.includeTypes||this._includeTypes,i=t.excludeTypes||this._excludeTypes,a=t.objectDefaults||this._objectDefaults;if(n.reuseGeometries=null!==t.reuseGeometries&&void 0!==t.reuseGeometries?t.reuseGeometries:!1!==this._reuseGeometries,r){n.includeTypesMap={};for(var s=0,o=r.length;s=t.length?a():e._dataSource.getMetaModel("".concat(y).concat(t[o]),(function(e){p.loadData(e,{includeTypes:r,excludeTypes:i,globalizeObjectIds:n.globalizeObjectIds}),o++,l()}),s)}()},w=function(r,i,a){var s=0;!function o(){s>=r.length?i():e._dataSource.getXKT("".concat(y).concat(r[s]),(function(r){e._parseModel(r,t,n,c,p,h),s++,o()}),a)}()};if(t.manifest){var g=t.manifest,E=g.xktFiles;if(!E||0===E.length)return void d("load(): Failed to load model manifest - manifest not valid");var T=g.metaModelFiles;T?m(T,(function(){w(E,A,d)}),d):w(E,A,d)}else this._dataSource.getManifest(t.manifestSrc,(function(e){if(!c.destroyed){var t=e.xktFiles;if(t&&0!==t.length){var n=e.metaModelFiles;n?m(n,(function(){w(t,A,d)}),d):w(t,A,d)}else d("load(): Failed to load model manifest - manifest not valid")}}),d)}return c}},{key:"_loadModel",value:function(e,t,n,r,i,a,s,o){var l=this;this._dataSource.getXKT(t.src,(function(e){l._parseModel(e,t,n,r,i,a),s()}),o)}},{key:"_parseModel",value:function(e,t,n,r,i,a){if(!r.destroyed){var s=new DataView(e),o=new Uint8Array(e),l=s.getUint32(0,!0),u=LC[l];if(u){this.log("Loading .xkt V"+l);for(var c=s.getUint32(4,!0),f=[],p=4*(c+2),A=0;Ae.size)throw new RangeError("offset:"+t+", length:"+n+", size:"+e.size);return e.slice?e.slice(t,t+n):e.webkitSlice?e.webkitSlice(t,t+n):e.mozSlice?e.mozSlice(t,t+n):e.msSlice?e.msSlice(t,t+n):void 0}(e,t,n))}catch(e){i(e)}}}function d(){}function v(e){var n,r=this;r.init=function(e){n=new Blob([],{type:s}),e()},r.writeUint8Array=function(e,r){n=new Blob([n,t?e:e.buffer],{type:s}),r()},r.getData=function(t,r){var i=new FileReader;i.onload=function(e){t(e.target.result)},i.onerror=r,i.readAsText(n,e)}}function h(t){var n=this,r="",i="";n.init=function(e){r+="data:"+(t||"")+";base64,",e()},n.writeUint8Array=function(t,n){var a,s=i.length,o=i;for(i="",a=0;a<3*Math.floor((s+t.length)/3)-s;a++)o+=String.fromCharCode(t[a]);for(;a2?r+=e.btoa(o):i=o,n()},n.getData=function(t){t(r+e.btoa(i))}}function I(e){var n,r=this;r.init=function(t){n=new Blob([],{type:e}),t()},r.writeUint8Array=function(r,i){n=new Blob([n,t?r:r.buffer],{type:e}),i()},r.getData=function(e){e(n)}}function y(e,t,n,r,i,s,o,l,u,c){var f,p,A,d=0,v=t.sn;function h(){e.removeEventListener("message",I,!1),l(p,A)}function I(t){var n=t.data,i=n.data,a=n.error;if(a)return a.toString=function(){return"Error: "+this.message},void u(a);if(n.sn===v)switch("number"==typeof n.codecTime&&(e.codecTime+=n.codecTime),"number"==typeof n.crcTime&&(e.crcTime+=n.crcTime),n.type){case"append":i?(p+=i.length,r.writeUint8Array(i,(function(){y()}),c)):y();break;case"flush":A=n.crc,i?(p+=i.length,r.writeUint8Array(i,(function(){h()}),c)):h();break;case"progress":o&&o(f+n.loaded,s);break;case"importScripts":case"newTask":case"echo":break;default:console.warn("zip.js:launchWorkerProcess: unknown message: ",n)}}function y(){(f=d*a)<=s?n.readUint8Array(i+f,Math.min(a,s-f),(function(n){o&&o(f,s);var r=0===f?t:{sn:v};r.type="append",r.data=n;try{e.postMessage(r,[n.buffer])}catch(t){e.postMessage(r)}d++}),u):e.postMessage({sn:v,type:"flush"})}p=0,e.addEventListener("message",I,!1),y()}function m(e,t,n,r,i,s,l,u,c,f){var p,A=0,d=0,v="input"===s,h="output"===s,I=new o;!function s(){var o;if((p=A*a)127?i[n-128]:String.fromCharCode(n);return r}function E(e){return decodeURIComponent(escape(e))}function T(e){var t,n="";for(t=0;t>16,n=65535&e;try{return new Date(1980+((65024&t)>>9),((480&t)>>5)-1,31&t,(63488&n)>>11,(2016&n)>>5,2*(31&n),0)}catch(e){}}(e.lastModDateRaw),1!=(1&e.bitFlag)?((r||8!=(8&e.bitFlag))&&(e.crc32=t.view.getUint32(n+10,!0),e.compressedSize=t.view.getUint32(n+14,!0),e.uncompressedSize=t.view.getUint32(n+18,!0)),4294967295!==e.compressedSize&&4294967295!==e.uncompressedSize?(e.filenameLength=t.view.getUint16(n+22,!0),e.extraFieldLength=t.view.getUint16(n+24,!0)):i("File is using Zip64 (4gb+ file size).")):i("File contains encrypted entry.")}function D(t,a,s){var o=0;function l(){}l.prototype.getData=function(r,a,l,c){var f=this;function p(e,t){c&&!function(e){var t=u(4);return t.view.setUint32(0,e),f.crc32==t.view.getUint32(0)}(t)?s("CRC failed."):r.getData((function(e){a(e)}))}function A(e){s(e||i)}function d(e){s(e||"Error while writing file data.")}t.readUint8Array(f.offset,30,(function(i){var a,v=u(i.length,i);1347093252==v.view.getUint32(0)?(b(f,v,4,!1,s),a=f.offset+30+f.filenameLength+f.extraFieldLength,r.init((function(){0===f.compressionMethod?w(f._worker,o++,t,r,a,f.compressedSize,c,p,l,A,d):function(t,n,r,i,a,s,o,l,u,c,f){var p=o?"output":"none";e.zip.useWebWorkers?y(t,{sn:n,codecClass:"Inflater",crcType:p},r,i,a,s,u,l,c,f):m(new e.zip.Inflater,r,i,a,s,p,u,l,c,f)}(f._worker,o++,t,r,a,f.compressedSize,c,p,l,A,d)}),d)):s(n)}),A)};var c={getEntries:function(e){var i=this._worker;!function(e){t.size<22?s(n):i(22,(function(){i(Math.min(65558,t.size),(function(){s(n)}))}));function i(n,i){t.readUint8Array(t.size-n,n,(function(t){for(var n=t.length-22;n>=0;n--)if(80===t[n]&&75===t[n+1]&&5===t[n+2]&&6===t[n+3])return void e(new DataView(t.buffer,n,22));i()}),(function(){s(r)}))}}((function(a){var o,c;o=a.getUint32(16,!0),c=a.getUint16(8,!0),o<0||o>=t.size?s(n):t.readUint8Array(o,t.size-o,(function(t){var r,a,o,f,p=0,A=[],d=u(t.length,t);for(r=0;r>>8^n[255&(t^e[r])];this.crc=t},o.prototype.get=function(){return~this.crc},o.prototype.table=function(){var e,t,n,r=[];for(e=0;e<256;e++){for(n=e,t=0;t<8;t++)1&n?n=n>>>1^3988292384:n>>>=1;r[e]=n}return r}(),l.prototype.append=function(e,t){return e},l.prototype.flush=function(){},f.prototype=new c,f.prototype.constructor=f,p.prototype=new c,p.prototype.constructor=p,A.prototype=new c,A.prototype.constructor=A,d.prototype.getData=function(e){e(this.data)},v.prototype=new d,v.prototype.constructor=v,h.prototype=new d,h.prototype.constructor=h,I.prototype=new d,I.prototype.constructor=I;var _={deflater:["z-worker.js","deflate.js"],inflater:["z-worker.js","inflate.js"]};function B(t,n,r){if(null===e.zip.workerScripts||null===e.zip.workerScriptsPath){var i;if(e.zip.workerScripts){if(i=e.zip.workerScripts[t],!Array.isArray(i))return void r(new Error("zip.workerScripts."+t+" is not an array!"));i=function(e){var t=document.createElement("a");return e.map((function(e){return t.href=e,t.href}))}(i)}else(i=_[t].slice(0))[0]=(e.zip.workerScriptsPath||"")+i[0];var a=new Worker(i[0]);a.codecTime=a.crcTime=0,a.postMessage({type:"importScripts",scripts:i.slice(1)}),a.addEventListener("message",(function e(t){var i=t.data;if(i.error)return a.terminate(),void r(i.error);"importScripts"===i.type&&(a.removeEventListener("message",e),a.removeEventListener("error",s),n(a))})),a.addEventListener("error",s)}else r(new Error("Either zip.workerScripts or zip.workerScriptsPath may be set, not both."));function s(e){a.terminate(),r(e)}}function O(e){console.error(e)}e.zip={Reader:c,Writer:d,BlobReader:A,Data64URIReader:p,TextReader:f,BlobWriter:I,Data64URIWriter:h,TextWriter:v,createReader:function(e,t,n){n=n||O,e.init((function(){D(e,t,n)}),n)},createWriter:function(e,t,n,r){n=n||O,r=!!r,e.init((function(){C(e,t,n,r)}),n)},useWebWorkers:!0,workerScriptsPath:null,workerScripts:null}}(FC);var HC=FC.zip;!function(e){var t,n,r=e.Reader,i=e.Writer;try{n=0===new Blob([new DataView(new ArrayBuffer(0))]).size}catch(e){}function a(e){var t=this;function n(n,r){var i;t.data?n():((i=new XMLHttpRequest).addEventListener("load",(function(){t.size||(t.size=Number(i.getResponseHeader("Content-Length"))||Number(i.response.byteLength)),t.data=new Uint8Array(i.response),n()}),!1),i.addEventListener("error",r,!1),i.open("GET",e),i.responseType="arraybuffer",i.send())}t.size=0,t.init=function(r,i){if(function(e){var t=document.createElement("a");return t.href=e,"http:"===t.protocol||"https:"===t.protocol}(e)){var a=new XMLHttpRequest;a.addEventListener("load",(function(){t.size=Number(a.getResponseHeader("Content-Length")),t.size?r():n(r,i)}),!1),a.addEventListener("error",i,!1),a.open("HEAD",e),a.send()}else n(r,i)},t.readUint8Array=function(e,r,i,a){n((function(){i(new Uint8Array(t.data.subarray(e,e+r)))}),a)}}function s(e){var t=this;t.size=0,t.init=function(n,r){var i=new XMLHttpRequest;i.addEventListener("load",(function(){t.size=Number(i.getResponseHeader("Content-Length")),"bytes"==i.getResponseHeader("Accept-Ranges")?n():r("HTTP Range not supported.")}),!1),i.addEventListener("error",r,!1),i.open("HEAD",e),i.send()},t.readUint8Array=function(t,n,r,i){!function(t,n,r,i){var a=new XMLHttpRequest;a.open("GET",e),a.responseType="arraybuffer",a.setRequestHeader("Range","bytes="+t+"-"+(t+n-1)),a.addEventListener("load",(function(){r(a.response)}),!1),a.addEventListener("error",i,!1),a.send()}(t,n,(function(e){r(new Uint8Array(e))}),i)}}function o(e){var t=this;t.size=0,t.init=function(n,r){t.size=e.byteLength,n()},t.readUint8Array=function(t,n,r,i){r(new Uint8Array(e.slice(t,t+n)))}}function l(){var e,t=this;t.init=function(t,n){e=new Uint8Array,t()},t.writeUint8Array=function(t,n,r){var i=new Uint8Array(e.length+t.length);i.set(e),i.set(t,e.length),e=i,n()},t.getData=function(t){t(e.buffer)}}function u(e,t){var r,i=this;i.init=function(t,n){e.createWriter((function(e){r=e,t()}),n)},i.writeUint8Array=function(e,i,a){var s=new Blob([n?e:e.buffer],{type:t});r.onwrite=function(){r.onwrite=null,i()},r.onerror=a,r.write(s)},i.getData=function(t){e.file(t)}}a.prototype=new r,a.prototype.constructor=a,s.prototype=new r,s.prototype.constructor=s,o.prototype=new r,o.prototype.constructor=o,l.prototype=new i,l.prototype.constructor=l,u.prototype=new i,u.prototype.constructor=u,e.FileWriter=u,e.HttpReader=a,e.HttpRangeReader=s,e.ArrayBufferReader=o,e.ArrayBufferWriter=l,e.fs&&((t=e.fs.ZipDirectoryEntry).prototype.addHttpContent=function(n,r,i){return function(n,r,i,a){if(n.directory)return a?new t(n.fs,r,i,n):new e.fs.ZipFileEntry(n.fs,r,i,n);throw"Parent entry is not a directory."}(this,n,{data:r,Reader:i?s:a})},t.prototype.importHttpContent=function(e,t,n,r){this.importZip(t?new s(e):new a(e),n,r)},e.fs.FS.prototype.importHttpContent=function(e,n,r,i){this.entries=[],this.root=new t(this),this.root.importHttpContent(e,n,r,i)})}(HC);var UC=["4.2"],GC=function(){function e(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};b(this,e),this.supportedSchemas=UC,this._xrayOpacity=.7,this._src=null,this._options=n,this.viewpoint=null,n.workerScriptsPath?(HC.workerScriptsPath=n.workerScriptsPath,this.src=n.src,this.xrayOpacity=.7,this.displayEffect=n.displayEffect,this.createMetaModel=n.createMetaModel):t.error("Config expected: workerScriptsPath")}return P(e,[{key:"load",value:function(e,t,n,r,i,a){switch(r.materialType){case"MetallicMaterial":t._defaultMaterial=new ya(t,{baseColor:[1,1,1],metallic:.6,roughness:.6});break;case"SpecularMaterial":t._defaultMaterial=new ga(t,{diffuse:[1,1,1],specular:$.vec3([1,1,1]),glossiness:.5});break;default:t._defaultMaterial=new Nn(t,{reflectivity:.75,shiness:100,diffuse:[1,1,1]})}t._wireframeMaterial=new va(t,{color:[0,0,0],lineWidth:2});var s=t.scene.canvas.spinner;s.processes++,kC(e,t,n,r,(function(){s.processes--,i&&i(),t.fire("loaded",!0,!1)}),(function(e){s.processes--,t.error(e),a&&a(e),t.fire("error",e)}),(function(e){console.log("Error, Will Robinson: "+e)}))}}]),e}(),kC=function(e,t,n,r,i,a){!function(e,t,n){var r=new XC;r.load(e,(function(){t(r)}),(function(e){n("Error loading ZIP archive: "+e)}))}(n,(function(n){jC(e,n,r,t,i,a)}),a)},jC=function(){return function(t,n,r,i,a){var s={plugin:t,zip:n,edgeThreshold:30,materialType:r.materialType,scene:i.scene,modelNode:i,info:{references:{}},materials:{}};r.createMetaModel&&(s.metaModelData={modelId:i.id,metaObjects:[{name:i.id,type:"Default",id:i.id}]}),i.scene.loading++,function(t,n){t.zip.getFile("Manifest.xml",(function(r,i){for(var a=i.children,s=0,o=a.length;s0){for(var s=a.trim().split(" "),o=new Int16Array(s.length),l=0,u=0,c=s.length;u0){n.primitive="triangles";for(var a=[],s=0,o=i.length;s=t.length)n();else{var o=t[a].id,l=o.lastIndexOf(":");l>0&&(o=o.substring(l+1));var u=o.lastIndexOf("#");u>0&&(o=o.substring(0,u)),r[o]?i(a+1):function(e,t,n){e.zip.getFile(t,(function(t,r){!function(e,t,n){for(var r,i=t.children,a=0,s=i.length;a0)for(var r=0,i=t.length;r1&&void 0!==arguments[1]?arguments[1]:{};return b(this,n),r=t.call(this,"XML3DLoader",e,i),i.workerScriptsPath?(r._workerScriptsPath=i.workerScriptsPath,r._loader=new GC(g(r),i),r.supportedSchemas=r._loader.supportedSchemas,r):(r.error("Config expected: workerScriptsPath"),w(r))}return P(n,[{key:"load",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};e.workerScriptsPath=this._workerScriptsPath,e.id&&this.viewer.scene.components[e.id]&&(this.error("Component with this ID already exists in viewer: "+e.id+" - will autogenerate this ID"),delete e.id);var t=new da(this.viewer.scene,le.apply(e,{isModel:!0})),n=e.src;return n?(this._loader.load(this,t,n,e),t):(this.error("load() param expected: src"),t)}}]),n}(),r_=Object.defineProperty,i_=Object.defineProperties,a_=Object.getOwnPropertyDescriptors,s_=Object.getOwnPropertySymbols,o_=Object.prototype.hasOwnProperty,l_=Object.prototype.propertyIsEnumerable,u_=function(e,t,n){return t in e?r_(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n},c_=function(e,t){for(var n in t||(t={}))o_.call(t,n)&&u_(e,n,t[n]);if(s_){var r,i=f(s_(t));try{for(i.s();!(r=i.n()).done;){n=r.value;l_.call(t,n)&&u_(e,n,t[n])}}catch(e){i.e(e)}finally{i.f()}}return e},f_=function(e,t){return i_(e,a_(t))},p_=function(e,t){return function(){return t||(0,e[Object.keys(e)[0]])((t={exports:{}}).exports,t),t.exports}},A_=function(e,t,n){return new Promise((function(r,i){var a=function(e){try{o(n.next(e))}catch(e){i(e)}},s=function(e){try{o(n.throw(e))}catch(e){i(e)}},o=function(e){return e.done?r(e.value):Promise.resolve(e.value).then(a,s)};o((n=n.apply(e,t)).next())}))},d_=p_({"dist/web-ifc-mt.js":function(e,t){var n,r=(n="undefined"!=typeof document&&document.currentScript?document.currentScript.src:void 0,function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};function t(){return O.buffer!=F.buffer&&J(),F}function r(){return O.buffer!=F.buffer&&J(),H}function i(){return O.buffer!=F.buffer&&J(),U}function a(){return O.buffer!=F.buffer&&J(),G}function s(){return O.buffer!=F.buffer&&J(),k}function o(){return O.buffer!=F.buffer&&J(),j}function l(){return O.buffer!=F.buffer&&J(),V}function u(){return O.buffer!=F.buffer&&J(),Q}var p,A,d=void 0!==e?e:{};d.ready=new Promise((function(e,t){p=e,A=t}));var v,h,I,y=Object.assign({},d),m="./this.program",w=function(e,t){throw t},g="object"==("undefined"==typeof window?"undefined":T(window)),E="function"==typeof importScripts,b="object"==("undefined"==typeof process?"undefined":T(process))&&"object"==T(process.versions)&&"string"==typeof process.versions.node,D=d.ENVIRONMENT_IS_PTHREAD||!1,P="";function R(e){return d.locateFile?d.locateFile(e,P):P+e}(g||E)&&(E?P=self.location.href:"undefined"!=typeof document&&document.currentScript&&(P=document.currentScript.src),n&&(P=n),P=0!==P.indexOf("blob:")?P.substr(0,P.replace(/[?#].*/,"").lastIndexOf("/")+1):"",v=function(e){var t=new XMLHttpRequest;return t.open("GET",e,!1),t.send(null),t.responseText},E&&(I=function(e){var t=new XMLHttpRequest;return t.open("GET",e,!1),t.responseType="arraybuffer",t.send(null),new Uint8Array(t.response)}),h=function(e,t,n){var r=new XMLHttpRequest;r.open("GET",e,!0),r.responseType="arraybuffer",r.onload=function(){200==r.status||0==r.status&&r.response?t(r.response):n()},r.onerror=n,r.send(null)});var C,_=d.print||console.log.bind(console),B=d.printErr||console.warn.bind(console);Object.assign(d,y),y=null,d.arguments,d.thisProgram&&(m=d.thisProgram),d.quit&&(w=d.quit),d.wasmBinary&&(C=d.wasmBinary);var O,S,N=d.noExitRuntime||!0;"object"!=("undefined"==typeof WebAssembly?"undefined":T(WebAssembly))&&de("no native wasm support detected");var L,x=!1;function M(e,t){e||de(t)}var F,H,U,G,k,j,V,Q,W="undefined"!=typeof TextDecoder?new TextDecoder("utf8"):void 0;function z(e,t,n){for(var r=(t>>>=0)+n,i=t;e[i]&&!(i>=r);)++i;if(i-t>16&&e.buffer&&W)return W.decode(e.buffer instanceof SharedArrayBuffer?e.slice(t,i):e.subarray(t,i));for(var a="";t>10,56320|1023&u)}}else a+=String.fromCharCode((31&s)<<6|o)}else a+=String.fromCharCode(s)}return a}function K(e,t){return(e>>>=0)?z(r(),e,t):""}function Y(e,t,n,r){if(!(r>0))return 0;for(var i=n>>>=0,a=n+r-1,s=0;s=55296&&o<=57343&&(o=65536+((1023&o)<<10)|1023&e.charCodeAt(++s)),o<=127){if(n>=a)break;t[n++>>>0]=o}else if(o<=2047){if(n+1>=a)break;t[n++>>>0]=192|o>>6,t[n++>>>0]=128|63&o}else if(o<=65535){if(n+2>=a)break;t[n++>>>0]=224|o>>12,t[n++>>>0]=128|o>>6&63,t[n++>>>0]=128|63&o}else{if(n+3>=a)break;t[n++>>>0]=240|o>>18,t[n++>>>0]=128|o>>12&63,t[n++>>>0]=128|o>>6&63,t[n++>>>0]=128|63&o}}return t[n>>>0]=0,n-i}function X(e,t,n){return Y(e,r(),t,n)}function q(e){for(var t=0,n=0;n=55296&&r<=57343?(t+=4,++n):t+=3}return t}function J(){var e=O.buffer;d.HEAP8=F=new Int8Array(e),d.HEAP16=U=new Int16Array(e),d.HEAP32=k=new Int32Array(e),d.HEAPU8=H=new Uint8Array(e),d.HEAPU16=G=new Uint16Array(e),d.HEAPU32=j=new Uint32Array(e),d.HEAPF32=V=new Float32Array(e),d.HEAPF64=Q=new Float64Array(e)}var Z,$=d.INITIAL_MEMORY||16777216;if(M($>=5242880,"INITIAL_MEMORY should be larger than STACK_SIZE, was "+$+"! (STACK_SIZE=5242880)"),D)O=d.wasmMemory;else if(d.wasmMemory)O=d.wasmMemory;else if(!((O=new WebAssembly.Memory({initial:$/65536,maximum:65536,shared:!0})).buffer instanceof SharedArrayBuffer))throw B("requested a shared WebAssembly.Memory but the returned buffer is not a SharedArrayBuffer, indicating that while the browser has SharedArrayBuffer it does not have WebAssembly threads support - you may need to set a flag"),b&&B("(on node you may need: --experimental-wasm-threads --experimental-wasm-bulk-memory and/or recent version)"),Error("bad memory");J(),$=O.buffer.byteLength;var ee=[],te=[],ne=[];function re(){return N}function ie(){if(d.preRun)for("function"==typeof d.preRun&&(d.preRun=[d.preRun]);d.preRun.length;)oe(d.preRun.shift());Ve(ee)}function ae(){D||(d.noFSInit||Me.init.initialized||Me.init(),Me.ignorePermissions=!1,Ve(te))}function se(){if(!D){if(d.postRun)for("function"==typeof d.postRun&&(d.postRun=[d.postRun]);d.postRun.length;)ue(d.postRun.shift());Ve(ne)}}function oe(e){ee.unshift(e)}function le(e){te.unshift(e)}function ue(e){ne.unshift(e)}var ce=0,fe=null;function pe(e){ce++,d.monitorRunDependencies&&d.monitorRunDependencies(ce)}function Ae(e){if(ce--,d.monitorRunDependencies&&d.monitorRunDependencies(ce),0==ce&&fe){var t=fe;fe=null,t()}}function de(e){d.onAbort&&d.onAbort(e),B(e="Aborted("+e+")"),x=!0,L=1,e+=". Build with -sASSERTIONS for more info.";var t=new WebAssembly.RuntimeError(e);throw A(t),t}var ve,he,Ie,ye="data:application/octet-stream;base64,";function me(e){return e.startsWith(ye)}function we(e){try{if(e==ve&&C)return new Uint8Array(C);if(I)return I(e);throw"both async and sync fetching of the wasm failed"}catch(e){de(e)}}function ge(){return C||!g&&!E||"function"!=typeof fetch?Promise.resolve().then((function(){return we(ve)})):fetch(ve,{credentials:"same-origin"}).then((function(e){if(!e.ok)throw"failed to load wasm binary file at '"+ve+"'";return e.arrayBuffer()})).catch((function(){return we(ve)}))}function Ee(){var e={a:vi};function t(e,t){var n=e.exports;d.asm=n,Xe(d.asm.ka),Z=d.asm.ia,le(d.asm.ha),S=t,je.loadWasmModuleToAllWorkers((function(){return Ae()}))}function n(e){t(e.instance,e.module)}function r(t){return ge().then((function(t){return WebAssembly.instantiate(t,e)})).then((function(e){return e})).then(t,(function(e){B("failed to asynchronously prepare wasm: "+e),de(e)}))}if(pe(),d.instantiateWasm)try{return d.instantiateWasm(e,t)}catch(e){B("Module.instantiateWasm callback failed with error: "+e),A(e)}return(C||"function"!=typeof WebAssembly.instantiateStreaming||me(ve)||"function"!=typeof fetch?r(n):fetch(ve,{credentials:"same-origin"}).then((function(t){return WebAssembly.instantiateStreaming(t,e).then(n,(function(e){return B("wasm streaming compile failed: "+e),B("falling back to ArrayBuffer instantiation"),r(n)}))}))).catch(A),{}}function Te(e){this.name="ExitStatus",this.message="Program terminated with exit("+e+")",this.status=e}function be(e){var t=je.pthreads[e];delete je.pthreads[e],t.terminate(),Ti(e),je.runningWorkers.splice(je.runningWorkers.indexOf(t),1),t.pthread_ptr=0}function De(e){je.pthreads[e].postMessage({cmd:"cancel"})}function Pe(e){var t=je.pthreads[e];M(t),je.returnWorkerToPool(t)}function Re(e){var t=je.getNewWorker();if(!t)return 6;je.runningWorkers.push(t),je.pthreads[e.pthread_ptr]=t,t.pthread_ptr=e.pthread_ptr;var n={cmd:"run",start_routine:e.startRoutine,arg:e.arg,pthread_ptr:e.pthread_ptr};return t.postMessage(n,e.transferList),0}me(ve="web-ifc-mt.wasm")||(ve=R(ve));var Ce={isAbs:function(e){return"/"===e.charAt(0)},splitPath:function(e){return/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/.exec(e).slice(1)},normalizeArray:function(e,t){for(var n=0,r=e.length-1;r>=0;r--){var i=e[r];"."===i?e.splice(r,1):".."===i?(e.splice(r,1),n++):n&&(e.splice(r,1),n--)}if(t)for(;n;n--)e.unshift("..");return e},normalize:function(e){var t=Ce.isAbs(e),n="/"===e.substr(-1);return e=Ce.normalizeArray(e.split("/").filter((function(e){return!!e})),!t).join("/"),e||t||(e="."),e&&n&&(e+="/"),(t?"/":"")+e},dirname:function(e){var t=Ce.splitPath(e),n=t[0],r=t[1];return n||r?(r&&(r=r.substr(0,r.length-1)),n+r):"."},basename:function(e){if("/"===e)return"/";var t=(e=(e=Ce.normalize(e)).replace(/\/$/,"")).lastIndexOf("/");return-1===t?e:e.substr(t+1)},join:function(){var e=Array.prototype.slice.call(arguments);return Ce.normalize(e.join("/"))},join2:function(e,t){return Ce.normalize(e+"/"+t)}};function _e(){if("object"==("undefined"==typeof crypto?"undefined":T(crypto))&&"function"==typeof crypto.getRandomValues){var e=new Uint8Array(1);return function(){return crypto.getRandomValues(e),e[0]}}return function(){return de("randomDevice")}}var Be={resolve:function(){for(var e="",t=!1,n=arguments.length-1;n>=-1&&!t;n--){var r=n>=0?arguments[n]:Me.cwd();if("string"!=typeof r)throw new TypeError("Arguments to path.resolve must be strings");if(!r)return"";e=r+"/"+e,t=Ce.isAbs(r)}return e=Ce.normalizeArray(e.split("/").filter((function(e){return!!e})),!t).join("/"),(t?"/":"")+e||"."},relative:function(e,t){function n(e){for(var t=0;t=0&&""===e[n];n--);return t>n?[]:e.slice(t,n-t+1)}e=Be.resolve(e).substr(1),t=Be.resolve(t).substr(1);for(var r=n(e.split("/")),i=n(t.split("/")),a=Math.min(r.length,i.length),s=a,o=0;o0?n:q(e)+1,i=new Array(r),a=Y(e,i,0,i.length);return t&&(i.length=a),i}var Se={ttys:[],init:function(){},shutdown:function(){},register:function(e,t){Se.ttys[e]={input:[],output:[],ops:t},Me.registerDevice(e,Se.stream_ops)},stream_ops:{open:function(e){var t=Se.ttys[e.node.rdev];if(!t)throw new Me.ErrnoError(43);e.tty=t,e.seekable=!1},close:function(e){e.tty.ops.fsync(e.tty)},fsync:function(e){e.tty.ops.fsync(e.tty)},read:function(e,t,n,r,i){if(!e.tty||!e.tty.ops.get_char)throw new Me.ErrnoError(60);for(var a=0,s=0;s0&&(_(z(e.output,0)),e.output=[])}},default_tty1_ops:{put_char:function(e,t){null===t||10===t?(B(z(e.output,0)),e.output=[]):0!=t&&e.output.push(t)},fsync:function(e){e.output&&e.output.length>0&&(B(z(e.output,0)),e.output=[])}}};function Ne(e){de()}var Le={ops_table:null,mount:function(e){return Le.createNode(null,"/",16895,0)},createNode:function(e,t,n,r){if(Me.isBlkdev(n)||Me.isFIFO(n))throw new Me.ErrnoError(63);Le.ops_table||(Le.ops_table={dir:{node:{getattr:Le.node_ops.getattr,setattr:Le.node_ops.setattr,lookup:Le.node_ops.lookup,mknod:Le.node_ops.mknod,rename:Le.node_ops.rename,unlink:Le.node_ops.unlink,rmdir:Le.node_ops.rmdir,readdir:Le.node_ops.readdir,symlink:Le.node_ops.symlink},stream:{llseek:Le.stream_ops.llseek}},file:{node:{getattr:Le.node_ops.getattr,setattr:Le.node_ops.setattr},stream:{llseek:Le.stream_ops.llseek,read:Le.stream_ops.read,write:Le.stream_ops.write,allocate:Le.stream_ops.allocate,mmap:Le.stream_ops.mmap,msync:Le.stream_ops.msync}},link:{node:{getattr:Le.node_ops.getattr,setattr:Le.node_ops.setattr,readlink:Le.node_ops.readlink},stream:{}},chrdev:{node:{getattr:Le.node_ops.getattr,setattr:Le.node_ops.setattr},stream:Me.chrdev_stream_ops}});var i=Me.createNode(e,t,n,r);return Me.isDir(i.mode)?(i.node_ops=Le.ops_table.dir.node,i.stream_ops=Le.ops_table.dir.stream,i.contents={}):Me.isFile(i.mode)?(i.node_ops=Le.ops_table.file.node,i.stream_ops=Le.ops_table.file.stream,i.usedBytes=0,i.contents=null):Me.isLink(i.mode)?(i.node_ops=Le.ops_table.link.node,i.stream_ops=Le.ops_table.link.stream):Me.isChrdev(i.mode)&&(i.node_ops=Le.ops_table.chrdev.node,i.stream_ops=Le.ops_table.chrdev.stream),i.timestamp=Date.now(),e&&(e.contents[t]=i,e.timestamp=i.timestamp),i},getFileDataAsTypedArray:function(e){return e.contents?e.contents.subarray?e.contents.subarray(0,e.usedBytes):new Uint8Array(e.contents):new Uint8Array(0)},expandFileStorage:function(e,t){t>>>=0;var n=e.contents?e.contents.length:0;if(!(n>=t)){t=Math.max(t,n*(n<1048576?2:1.125)>>>0),0!=n&&(t=Math.max(t,256));var r=e.contents;e.contents=new Uint8Array(t),e.usedBytes>0&&e.contents.set(r.subarray(0,e.usedBytes),0)}},resizeFileStorage:function(e,t){if(t>>>=0,e.usedBytes!=t)if(0==t)e.contents=null,e.usedBytes=0;else{var n=e.contents;e.contents=new Uint8Array(t),n&&e.contents.set(n.subarray(0,Math.min(t,e.usedBytes))),e.usedBytes=t}},node_ops:{getattr:function(e){var t={};return t.dev=Me.isChrdev(e.mode)?e.id:1,t.ino=e.id,t.mode=e.mode,t.nlink=1,t.uid=0,t.gid=0,t.rdev=e.rdev,Me.isDir(e.mode)?t.size=4096:Me.isFile(e.mode)?t.size=e.usedBytes:Me.isLink(e.mode)?t.size=e.link.length:t.size=0,t.atime=new Date(e.timestamp),t.mtime=new Date(e.timestamp),t.ctime=new Date(e.timestamp),t.blksize=4096,t.blocks=Math.ceil(t.size/t.blksize),t},setattr:function(e,t){void 0!==t.mode&&(e.mode=t.mode),void 0!==t.timestamp&&(e.timestamp=t.timestamp),void 0!==t.size&&Le.resizeFileStorage(e,t.size)},lookup:function(e,t){throw Me.genericErrors[44]},mknod:function(e,t,n,r){return Le.createNode(e,t,n,r)},rename:function(e,t,n){if(Me.isDir(e.mode)){var r;try{r=Me.lookupNode(t,n)}catch(e){}if(r)for(var i in r.contents)throw new Me.ErrnoError(55)}delete e.parent.contents[e.name],e.parent.timestamp=Date.now(),e.name=n,t.contents[n]=e,t.timestamp=e.parent.timestamp,e.parent=t},unlink:function(e,t){delete e.contents[t],e.timestamp=Date.now()},rmdir:function(e,t){var n=Me.lookupNode(e,t);for(var r in n.contents)throw new Me.ErrnoError(55);delete e.contents[t],e.timestamp=Date.now()},readdir:function(e){var t=[".",".."];for(var n in e.contents)e.contents.hasOwnProperty(n)&&t.push(n);return t},symlink:function(e,t,n){var r=Le.createNode(e,t,41471,0);return r.link=n,r},readlink:function(e){if(!Me.isLink(e.mode))throw new Me.ErrnoError(28);return e.link}},stream_ops:{read:function(e,t,n,r,i){var a=e.node.contents;if(i>=e.node.usedBytes)return 0;var s=Math.min(e.node.usedBytes-i,r);if(s>8&&a.subarray)t.set(a.subarray(i,i+s),n);else for(var o=0;o0||r+n>>=0,t().set(l,s>>>0)}else o=!1,s=l.byteOffset;return{ptr:s,allocated:o}},msync:function(e,t,n,r,i){return Le.stream_ops.write(e,t,0,r,n,!1),0}}};function xe(e,t,n,r){var i=r?"":"al "+e;h(e,(function(n){M(n,'Loading data file "'+e+'" failed (no arrayBuffer).'),t(new Uint8Array(n)),i&&Ae()}),(function(t){if(!n)throw'Loading data file "'+e+'" failed.';n()})),i&&pe()}var Me={root:null,mounts:[],devices:{},streams:[],nextInode:1,nameTable:null,currentPath:"/",initialized:!1,ignorePermissions:!0,ErrnoError:null,genericErrors:{},filesystems:null,syncFSRequests:0,lookupPath:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(!(e=Be.resolve(e)))return{path:"",node:null};var n={follow_mount:!0,recurse_count:0};if((t=Object.assign(n,t)).recurse_count>8)throw new Me.ErrnoError(32);for(var r=e.split("/").filter((function(e){return!!e})),i=Me.root,a="/",s=0;s40)throw new Me.ErrnoError(32)}}return{path:a,node:i}},getPath:function(e){for(var t;;){if(Me.isRoot(e)){var n=e.mount.mountpoint;return t?"/"!==n[n.length-1]?n+"/"+t:n+t:n}t=t?e.name+"/"+t:e.name,e=e.parent}},hashName:function(e,t){for(var n=0,r=0;r>>0)%Me.nameTable.length},hashAddNode:function(e){var t=Me.hashName(e.parent.id,e.name);e.name_next=Me.nameTable[t],Me.nameTable[t]=e},hashRemoveNode:function(e){var t=Me.hashName(e.parent.id,e.name);if(Me.nameTable[t]===e)Me.nameTable[t]=e.name_next;else for(var n=Me.nameTable[t];n;){if(n.name_next===e){n.name_next=e.name_next;break}n=n.name_next}},lookupNode:function(e,t){var n=Me.mayLookup(e);if(n)throw new Me.ErrnoError(n,e);for(var r=Me.hashName(e.id,t),i=Me.nameTable[r];i;i=i.name_next){var a=i.name;if(i.parent.id===e.id&&a===t)return i}return Me.lookup(e,t)},createNode:function(e,t,n,r){var i=new Me.FSNode(e,t,n,r);return Me.hashAddNode(i),i},destroyNode:function(e){Me.hashRemoveNode(e)},isRoot:function(e){return e===e.parent},isMountpoint:function(e){return!!e.mounted},isFile:function(e){return 32768==(61440&e)},isDir:function(e){return 16384==(61440&e)},isLink:function(e){return 40960==(61440&e)},isChrdev:function(e){return 8192==(61440&e)},isBlkdev:function(e){return 24576==(61440&e)},isFIFO:function(e){return 4096==(61440&e)},isSocket:function(e){return 49152==(49152&e)},flagModes:{r:0,"r+":2,w:577,"w+":578,a:1089,"a+":1090},modeStringToFlags:function(e){var t=Me.flagModes[e];if(void 0===t)throw new Error("Unknown file open mode: "+e);return t},flagsToPermissionString:function(e){var t=["r","w","rw"][3&e];return 512&e&&(t+="w"),t},nodePermissions:function(e,t){return Me.ignorePermissions||(!t.includes("r")||292&e.mode)&&(!t.includes("w")||146&e.mode)&&(!t.includes("x")||73&e.mode)?0:2},mayLookup:function(e){var t=Me.nodePermissions(e,"x");return t||(e.node_ops.lookup?0:2)},mayCreate:function(e,t){try{return Me.lookupNode(e,t),20}catch(e){}return Me.nodePermissions(e,"wx")},mayDelete:function(e,t,n){var r;try{r=Me.lookupNode(e,t)}catch(e){return e.errno}var i=Me.nodePermissions(e,"wx");if(i)return i;if(n){if(!Me.isDir(r.mode))return 54;if(Me.isRoot(r)||Me.getPath(r)===Me.cwd())return 10}else if(Me.isDir(r.mode))return 31;return 0},mayOpen:function(e,t){return e?Me.isLink(e.mode)?32:Me.isDir(e.mode)&&("r"!==Me.flagsToPermissionString(t)||512&t)?31:Me.nodePermissions(e,Me.flagsToPermissionString(t)):44},MAX_OPEN_FDS:4096,nextfd:function(){for(var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:Me.MAX_OPEN_FDS,n=e;n<=t;n++)if(!Me.streams[n])return n;throw new Me.ErrnoError(33)},getStream:function(e){return Me.streams[e]},createStream:function(e,t,n){Me.FSStream||(Me.FSStream=function(){this.shared={}},Me.FSStream.prototype={},Object.defineProperties(Me.FSStream.prototype,{object:{get:function(){return this.node},set:function(e){this.node=e}},isRead:{get:function(){return 1!=(2097155&this.flags)}},isWrite:{get:function(){return 0!=(2097155&this.flags)}},isAppend:{get:function(){return 1024&this.flags}},flags:{get:function(){return this.shared.flags},set:function(e){this.shared.flags=e}},position:{get:function(){return this.shared.position},set:function(e){this.shared.position=e}}})),e=Object.assign(new Me.FSStream,e);var r=Me.nextfd(t,n);return e.fd=r,Me.streams[r]=e,e},closeStream:function(e){Me.streams[e]=null},chrdev_stream_ops:{open:function(e){var t=Me.getDevice(e.node.rdev);e.stream_ops=t.stream_ops,e.stream_ops.open&&e.stream_ops.open(e)},llseek:function(){throw new Me.ErrnoError(70)}},major:function(e){return e>>8},minor:function(e){return 255&e},makedev:function(e,t){return e<<8|t},registerDevice:function(e,t){Me.devices[e]={stream_ops:t}},getDevice:function(e){return Me.devices[e]},getMounts:function(e){for(var t=[],n=[e];n.length;){var r=n.pop();t.push(r),n.push.apply(n,r.mounts)}return t},syncfs:function(e,t){"function"==typeof e&&(t=e,e=!1),Me.syncFSRequests++,Me.syncFSRequests>1&&B("warning: "+Me.syncFSRequests+" FS.syncfs operations in flight at once, probably just doing extra work");var n=Me.getMounts(Me.root.mount),r=0;function i(e){return Me.syncFSRequests--,t(e)}function a(e){if(e)return a.errored?void 0:(a.errored=!0,i(e));++r>=n.length&&i(null)}n.forEach((function(t){if(!t.type.syncfs)return a(null);t.type.syncfs(t,e,a)}))},mount:function(e,t,n){var r,i="/"===n,a=!n;if(i&&Me.root)throw new Me.ErrnoError(10);if(!i&&!a){var s=Me.lookupPath(n,{follow_mount:!1});if(n=s.path,r=s.node,Me.isMountpoint(r))throw new Me.ErrnoError(10);if(!Me.isDir(r.mode))throw new Me.ErrnoError(54)}var o={type:e,opts:t,mountpoint:n,mounts:[]},l=e.mount(o);return l.mount=o,o.root=l,i?Me.root=l:r&&(r.mounted=o,r.mount&&r.mount.mounts.push(o)),l},unmount:function(e){var t=Me.lookupPath(e,{follow_mount:!1});if(!Me.isMountpoint(t.node))throw new Me.ErrnoError(28);var n=t.node,r=n.mounted,i=Me.getMounts(r);Object.keys(Me.nameTable).forEach((function(e){for(var t=Me.nameTable[e];t;){var n=t.name_next;i.includes(t.mount)&&Me.destroyNode(t),t=n}})),n.mounted=null;var a=n.mount.mounts.indexOf(r);n.mount.mounts.splice(a,1)},lookup:function(e,t){return e.node_ops.lookup(e,t)},mknod:function(e,t,n){var r=Me.lookupPath(e,{parent:!0}).node,i=Ce.basename(e);if(!i||"."===i||".."===i)throw new Me.ErrnoError(28);var a=Me.mayCreate(r,i);if(a)throw new Me.ErrnoError(a);if(!r.node_ops.mknod)throw new Me.ErrnoError(63);return r.node_ops.mknod(r,i,t,n)},create:function(e,t){return t=void 0!==t?t:438,t&=4095,t|=32768,Me.mknod(e,t,0)},mkdir:function(e,t){return t=void 0!==t?t:511,t&=1023,t|=16384,Me.mknod(e,t,0)},mkdirTree:function(e,t){for(var n=e.split("/"),r="",i=0;i>>=0,r<0||i<0)throw new Me.ErrnoError(28);if(Me.isClosed(e))throw new Me.ErrnoError(8);if(1==(2097155&e.flags))throw new Me.ErrnoError(8);if(Me.isDir(e.node.mode))throw new Me.ErrnoError(31);if(!e.stream_ops.read)throw new Me.ErrnoError(28);var a=void 0!==i;if(a){if(!e.seekable)throw new Me.ErrnoError(70)}else i=e.position;var s=e.stream_ops.read(e,t,n,r,i);return a||(e.position+=s),s},write:function(e,t,n,r,i,a){if(n>>>=0,r<0||i<0)throw new Me.ErrnoError(28);if(Me.isClosed(e))throw new Me.ErrnoError(8);if(0==(2097155&e.flags))throw new Me.ErrnoError(8);if(Me.isDir(e.node.mode))throw new Me.ErrnoError(31);if(!e.stream_ops.write)throw new Me.ErrnoError(28);e.seekable&&1024&e.flags&&Me.llseek(e,0,2);var s=void 0!==i;if(s){if(!e.seekable)throw new Me.ErrnoError(70)}else i=e.position;var o=e.stream_ops.write(e,t,n,r,i,a);return s||(e.position+=o),o},allocate:function(e,t,n){if(Me.isClosed(e))throw new Me.ErrnoError(8);if(t<0||n<=0)throw new Me.ErrnoError(28);if(0==(2097155&e.flags))throw new Me.ErrnoError(8);if(!Me.isFile(e.node.mode)&&!Me.isDir(e.node.mode))throw new Me.ErrnoError(43);if(!e.stream_ops.allocate)throw new Me.ErrnoError(138);e.stream_ops.allocate(e,t,n)},mmap:function(e,t,n,r,i){if(0!=(2&r)&&0==(2&i)&&2!=(2097155&e.flags))throw new Me.ErrnoError(2);if(1==(2097155&e.flags))throw new Me.ErrnoError(2);if(!e.stream_ops.mmap)throw new Me.ErrnoError(43);return e.stream_ops.mmap(e,t,n,r,i)},msync:function(e,t,n,r,i){return n>>>=0,e.stream_ops.msync?e.stream_ops.msync(e,t,n,r,i):0},munmap:function(e){return 0},ioctl:function(e,t,n){if(!e.stream_ops.ioctl)throw new Me.ErrnoError(59);return e.stream_ops.ioctl(e,t,n)},readFile:function(e){var t,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(n.flags=n.flags||0,n.encoding=n.encoding||"binary","utf8"!==n.encoding&&"binary"!==n.encoding)throw new Error('Invalid encoding type "'+n.encoding+'"');var r=Me.open(e,n.flags),i=Me.stat(e),a=i.size,s=new Uint8Array(a);return Me.read(r,s,0,a,0),"utf8"===n.encoding?t=z(s,0):"binary"===n.encoding&&(t=s),Me.close(r),t},writeFile:function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};n.flags=n.flags||577;var r=Me.open(e,n.flags,n.mode);if("string"==typeof t){var i=new Uint8Array(q(t)+1),a=Y(t,i,0,i.length);Me.write(r,i,0,a,void 0,n.canOwn)}else{if(!ArrayBuffer.isView(t))throw new Error("Unsupported data type");Me.write(r,t,0,t.byteLength,void 0,n.canOwn)}Me.close(r)},cwd:function(){return Me.currentPath},chdir:function(e){var t=Me.lookupPath(e,{follow:!0});if(null===t.node)throw new Me.ErrnoError(44);if(!Me.isDir(t.node.mode))throw new Me.ErrnoError(54);var n=Me.nodePermissions(t.node,"x");if(n)throw new Me.ErrnoError(n);Me.currentPath=t.path},createDefaultDirectories:function(){Me.mkdir("/tmp"),Me.mkdir("/home"),Me.mkdir("/home/web_user")},createDefaultDevices:function(){Me.mkdir("/dev"),Me.registerDevice(Me.makedev(1,3),{read:function(){return 0},write:function(e,t,n,r,i){return r}}),Me.mkdev("/dev/null",Me.makedev(1,3)),Se.register(Me.makedev(5,0),Se.default_tty_ops),Se.register(Me.makedev(6,0),Se.default_tty1_ops),Me.mkdev("/dev/tty",Me.makedev(5,0)),Me.mkdev("/dev/tty1",Me.makedev(6,0));var e=_e();Me.createDevice("/dev","random",e),Me.createDevice("/dev","urandom",e),Me.mkdir("/dev/shm"),Me.mkdir("/dev/shm/tmp")},createSpecialDirectories:function(){Me.mkdir("/proc");var e=Me.mkdir("/proc/self");Me.mkdir("/proc/self/fd"),Me.mount({mount:function(){var t=Me.createNode(e,"fd",16895,73);return t.node_ops={lookup:function(e,t){var n=+t,r=Me.getStream(n);if(!r)throw new Me.ErrnoError(8);var i={parent:null,mount:{mountpoint:"fake"},node_ops:{readlink:function(){return r.path}}};return i.parent=i,i}},t}},{},"/proc/self/fd")},createStandardStreams:function(){d.stdin?Me.createDevice("/dev","stdin",d.stdin):Me.symlink("/dev/tty","/dev/stdin"),d.stdout?Me.createDevice("/dev","stdout",null,d.stdout):Me.symlink("/dev/tty","/dev/stdout"),d.stderr?Me.createDevice("/dev","stderr",null,d.stderr):Me.symlink("/dev/tty1","/dev/stderr"),Me.open("/dev/stdin",0),Me.open("/dev/stdout",1),Me.open("/dev/stderr",1)},ensureErrnoError:function(){Me.ErrnoError||(Me.ErrnoError=function(e,t){this.node=t,this.setErrno=function(e){this.errno=e},this.setErrno(e),this.message="FS error"},Me.ErrnoError.prototype=new Error,Me.ErrnoError.prototype.constructor=Me.ErrnoError,[44].forEach((function(e){Me.genericErrors[e]=new Me.ErrnoError(e),Me.genericErrors[e].stack=""})))},staticInit:function(){Me.ensureErrnoError(),Me.nameTable=new Array(4096),Me.mount(Le,{},"/"),Me.createDefaultDirectories(),Me.createDefaultDevices(),Me.createSpecialDirectories(),Me.filesystems={MEMFS:Le}},init:function(e,t,n){Me.init.initialized=!0,Me.ensureErrnoError(),d.stdin=e||d.stdin,d.stdout=t||d.stdout,d.stderr=n||d.stderr,Me.createStandardStreams()},quit:function(){Me.init.initialized=!1;for(var e=0;ethis.length-1||e<0)){var t=e%this.chunkSize,n=e/this.chunkSize|0;return this.getter(n)[t]}},s.prototype.setDataGetter=function(e){this.getter=e},s.prototype.cacheLength=function(){var e=new XMLHttpRequest;if(e.open("HEAD",r,!1),e.send(null),!(e.status>=200&&e.status<300||304===e.status))throw new Error("Couldn't load "+r+". Status: "+e.status);var t,n=Number(e.getResponseHeader("Content-length")),i=(t=e.getResponseHeader("Accept-Ranges"))&&"bytes"===t,a=(t=e.getResponseHeader("Content-Encoding"))&&"gzip"===t,s=1048576;i||(s=n);var o=this;o.setDataGetter((function(e){var t=e*s,i=(e+1)*s-1;if(i=Math.min(i,n-1),void 0===o.chunks[e]&&(o.chunks[e]=function(e,t){if(e>t)throw new Error("invalid range ("+e+", "+t+") or no bytes requested!");if(t>n-1)throw new Error("only "+n+" bytes available! programmer error!");var i=new XMLHttpRequest;if(i.open("GET",r,!1),n!==s&&i.setRequestHeader("Range","bytes="+e+"-"+t),i.responseType="arraybuffer",i.overrideMimeType&&i.overrideMimeType("text/plain; charset=x-user-defined"),i.send(null),!(i.status>=200&&i.status<300||304===i.status))throw new Error("Couldn't load "+r+". Status: "+i.status);return void 0!==i.response?new Uint8Array(i.response||[]):Oe(i.responseText||"",!0)}(t,i)),void 0===o.chunks[e])throw new Error("doXHR failed!");return o.chunks[e]})),!a&&n||(s=n=1,n=this.getter(0).length,s=n,_("LazyFiles on gzip forces download of the whole file when length is accessed")),this._length=n,this._chunkSize=s,this.lengthKnown=!0},"undefined"!=typeof XMLHttpRequest){if(!E)throw"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc";var o=new s;Object.defineProperties(o,{length:{get:function(){return this.lengthKnown||this.cacheLength(),this._length}},chunkSize:{get:function(){return this.lengthKnown||this.cacheLength(),this._chunkSize}}});var l={isDevice:!1,contents:o}}else l={isDevice:!1,url:r};var u=Me.createFile(e,n,l,i,a);l.contents?u.contents=l.contents:l.url&&(u.contents=null,u.url=l.url),Object.defineProperties(u,{usedBytes:{get:function(){return this.contents.length}}});var c={};function f(e,t,n,r,i){var a=e.node.contents;if(i>=a.length)return 0;var s=Math.min(a.length-i,r);if(a.slice)for(var o=0;o1&&void 0!==arguments[1]?arguments[1]:function(){},n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:function(){},r=Me.indexedDB();try{var i=r.open(Me.DB_NAME(),Me.DB_VERSION)}catch(e){return n(e)}i.onupgradeneeded=function(){_("creating db"),i.result.createObjectStore(Me.DB_STORE_NAME)},i.onsuccess=function(){var r=i.result.transaction([Me.DB_STORE_NAME],"readwrite"),a=r.objectStore(Me.DB_STORE_NAME),s=0,o=0,l=e.length;function u(){0==o?t():n()}e.forEach((function(e){var t=a.put(Me.analyzePath(e).object.contents,e);t.onsuccess=function(){++s+o==l&&u()},t.onerror=function(){o++,s+o==l&&u()}})),r.onerror=n},i.onerror=n},loadFilesFromDB:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:function(){},n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:function(){},r=Me.indexedDB();try{var i=r.open(Me.DB_NAME(),Me.DB_VERSION)}catch(e){return n(e)}i.onupgradeneeded=n,i.onsuccess=function(){var r=i.result;try{var a=r.transaction([Me.DB_STORE_NAME],"readonly")}catch(e){return void n(e)}var s=a.objectStore(Me.DB_STORE_NAME),o=0,l=0,u=e.length;function c(){0==l?t():n()}e.forEach((function(e){var t=s.get(e);t.onsuccess=function(){Me.analyzePath(e).exists&&Me.unlink(e),Me.createDataFile(Ce.dirname(e),Ce.basename(e),t.result,!0,!0,!0),++o+l==u&&c()},t.onerror=function(){l++,o+l==u&&c()}})),a.onerror=n},i.onerror=n}},Fe={DEFAULT_POLLMASK:5,calculateAt:function(e,t,n){if(Ce.isAbs(t))return t;var r;if(r=-100===e?Me.cwd():Fe.getStreamFromFD(e).path,0==t.length){if(!n)throw new Me.ErrnoError(44);return r}return Ce.join2(r,t)},doStat:function(e,t,n){try{var r=e(t)}catch(e){if(e&&e.node&&Ce.normalize(t)!==Ce.normalize(Me.getPath(e.node)))return-54;throw e}s()[n>>>2]=r.dev,s()[n+8>>>2]=r.ino,s()[n+12>>>2]=r.mode,o()[n+16>>>2]=r.nlink,s()[n+20>>>2]=r.uid,s()[n+24>>>2]=r.gid,s()[n+28>>>2]=r.rdev,Ie=[r.size>>>0,(he=r.size,+Math.abs(he)>=1?he>0?(0|Math.min(+Math.floor(he/4294967296),4294967295))>>>0:~~+Math.ceil((he-+(~~he>>>0))/4294967296)>>>0:0)],s()[n+40>>>2]=Ie[0],s()[n+44>>>2]=Ie[1],s()[n+48>>>2]=4096,s()[n+52>>>2]=r.blocks;var i=r.atime.getTime(),a=r.mtime.getTime(),l=r.ctime.getTime();return Ie=[Math.floor(i/1e3)>>>0,(he=Math.floor(i/1e3),+Math.abs(he)>=1?he>0?(0|Math.min(+Math.floor(he/4294967296),4294967295))>>>0:~~+Math.ceil((he-+(~~he>>>0))/4294967296)>>>0:0)],s()[n+56>>>2]=Ie[0],s()[n+60>>>2]=Ie[1],o()[n+64>>>2]=i%1e3*1e3,Ie=[Math.floor(a/1e3)>>>0,(he=Math.floor(a/1e3),+Math.abs(he)>=1?he>0?(0|Math.min(+Math.floor(he/4294967296),4294967295))>>>0:~~+Math.ceil((he-+(~~he>>>0))/4294967296)>>>0:0)],s()[n+72>>>2]=Ie[0],s()[n+76>>>2]=Ie[1],o()[n+80>>>2]=a%1e3*1e3,Ie=[Math.floor(l/1e3)>>>0,(he=Math.floor(l/1e3),+Math.abs(he)>=1?he>0?(0|Math.min(+Math.floor(he/4294967296),4294967295))>>>0:~~+Math.ceil((he-+(~~he>>>0))/4294967296)>>>0:0)],s()[n+88>>>2]=Ie[0],s()[n+92>>>2]=Ie[1],o()[n+96>>>2]=l%1e3*1e3,Ie=[r.ino>>>0,(he=r.ino,+Math.abs(he)>=1?he>0?(0|Math.min(+Math.floor(he/4294967296),4294967295))>>>0:~~+Math.ceil((he-+(~~he>>>0))/4294967296)>>>0:0)],s()[n+104>>>2]=Ie[0],s()[n+108>>>2]=Ie[1],0},doMsync:function(e,t,n,i,a){if(!Me.isFile(t.node.mode))throw new Me.ErrnoError(43);if(2&i)return 0;e>>>=0;var s=r().slice(e,e+n);Me.msync(t,s,a,n,i)},varargs:void 0,get:function(){return Fe.varargs+=4,s()[Fe.varargs-4>>>2]},getStr:function(e){return K(e)},getStreamFromFD:function(e){var t=Me.getStream(e);if(!t)throw new Me.ErrnoError(8);return t}};function He(e){if(D)return Hr(1,1,e);L=e,re()||(je.terminateAllThreads(),d.onExit&&d.onExit(e),x=!0),w(e,new Te(e))}function Ue(e,t){if(L=e,!t&&D)throw We(e),"unwind";He(e)}var Ge=Ue;function ke(e){if(e instanceof Te||"unwind"==e)return L;w(1,e)}var je={unusedWorkers:[],runningWorkers:[],tlsInitFunctions:[],pthreads:{},init:function(){D?je.initWorker():je.initMainThread()},initMainThread:function(){for(var e=navigator.hardwareConcurrency;e--;)je.allocateUnusedWorker()},initWorker:function(){N=!1},setExitStatus:function(e){L=e},terminateAllThreads:function(){for(var e=0,t=Object.values(je.pthreads);e0;)e.shift()(d)}function Qe(){var e=Ii(),t=s()[e+52>>>2],n=s()[e+56>>>2];Pi(t,t-n),Ci(t)}function We(e){if(D)return Hr(2,0,e);try{Ge(e)}catch(e){ke(e)}}d.PThread=je,d.establishStackSpace=Qe;var ze=[];function Ke(e){var t=ze[e];return t||(e>=ze.length&&(ze.length=e+1),ze[e]=t=Z.get(e)),t}function Ye(e,t){var n=Ke(e)(t);re()?je.setExitStatus(n):bi(n)}function Xe(e){je.tlsInitFunctions.push(e)}function qe(e){this.excPtr=e,this.ptr=e-24,this.set_type=function(e){o()[this.ptr+4>>>2]=e},this.get_type=function(){return o()[this.ptr+4>>>2]},this.set_destructor=function(e){o()[this.ptr+8>>>2]=e},this.get_destructor=function(){return o()[this.ptr+8>>>2]},this.set_refcount=function(e){s()[this.ptr>>>2]=e},this.set_caught=function(e){e=e?1:0,t()[this.ptr+12>>>0]=e},this.get_caught=function(){return 0!=t()[this.ptr+12>>>0]},this.set_rethrown=function(e){e=e?1:0,t()[this.ptr+13>>>0]=e},this.get_rethrown=function(){return 0!=t()[this.ptr+13>>>0]},this.init=function(e,t){this.set_adjusted_ptr(0),this.set_type(e),this.set_destructor(t),this.set_refcount(0),this.set_caught(!1),this.set_rethrown(!1)},this.add_ref=function(){Atomics.add(s(),this.ptr+0>>2,1)},this.release_ref=function(){return 1===Atomics.sub(s(),this.ptr+0>>2,1)},this.set_adjusted_ptr=function(e){o()[this.ptr+16>>>2]=e},this.get_adjusted_ptr=function(){return o()[this.ptr+16>>>2]},this.get_exception_ptr=function(){if(Bi(this.get_type()))return o()[this.excPtr>>>2];var e=this.get_adjusted_ptr();return 0!==e?e:this.excPtr}}function Je(e,t,n){throw new qe(e).init(t,n),e}function Ze(e){mi(e,!E,1,!g),je.threadInitTLS()}function $e(e){D?postMessage({cmd:"cleanupThread",thread:e}):Pe(e)}function et(e){}d.invokeEntryPoint=Ye;var tt="To use dlopen, you need enable dynamic linking, see https://github.com/emscripten-core/emscripten/wiki/Linking";function nt(e){de(tt)}function rt(e,t){de(tt)}var it={};function at(e){for(;e.length;){var t=e.pop();e.pop()(t)}}function st(e){return this.fromWireType(s()[e>>>2])}var ot={},lt={},ut={},ct=48,ft=57;function pt(e){if(void 0===e)return"_unknown";var t=(e=e.replace(/[^a-zA-Z0-9_]/g,"$")).charCodeAt(0);return t>=ct&&t<=ft?"_"+e:e}function At(e,t){return e=pt(e),new Function("body","return function "+e+'() {\n "use strict"; return body.apply(this, arguments);\n};\n')(t)}function dt(e,t){var n=At(t,(function(e){this.name=t,this.message=e;var n=new Error(e).stack;void 0!==n&&(this.stack=this.toString()+"\n"+n.replace(/^Error(:[^\n]*)?\n/,""))}));return n.prototype=Object.create(e.prototype),n.prototype.constructor=n,n.prototype.toString=function(){return void 0===this.message?this.name:this.name+": "+this.message},n}var vt=void 0;function ht(e){throw new vt(e)}function It(e,t,n){function r(t){var r=n(t);r.length!==e.length&&ht("Mismatched type converter count");for(var i=0;i>>0];)t+=bt[r()[n++>>>0]];return t}var Pt=void 0;function Rt(e){throw new Pt(e)}function Ct(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};if(!("argPackAdvance"in t))throw new TypeError("registerType registeredInstance requires argPackAdvance");var r=t.name;if(e||Rt('type "'+r+'" must have a positive integer typeid pointer'),lt.hasOwnProperty(e)){if(n.ignoreDuplicateRegistrations)return;Rt("Cannot register type '"+r+"' twice")}if(lt[e]=t,delete ut[e],ot.hasOwnProperty(e)){var i=ot[e];delete ot[e],i.forEach((function(e){return e()}))}}function _t(e,n,r,a,o){var l=Et(r);Ct(e,{name:n=Dt(n),fromWireType:function(e){return!!e},toWireType:function(e,t){return t?a:o},argPackAdvance:8,readValueFromPointer:function(e){var a;if(1===r)a=t();else if(2===r)a=i();else{if(4!==r)throw new TypeError("Unknown boolean type size: "+n);a=s()}return this.fromWireType(a[e>>>l])},destructorFunction:null})}function Bt(e){if(!(this instanceof rn))return!1;if(!(e instanceof rn))return!1;for(var t=this.$$.ptrType.registeredClass,n=this.$$.ptr,r=e.$$.ptrType.registeredClass,i=e.$$.ptr;t.baseClass;)n=t.upcast(n),t=t.baseClass;for(;r.baseClass;)i=r.upcast(i),r=r.baseClass;return t===r&&n===i}function Ot(e){return{count:e.count,deleteScheduled:e.deleteScheduled,preservePointerOnDelete:e.preservePointerOnDelete,ptr:e.ptr,ptrType:e.ptrType,smartPtr:e.smartPtr,smartPtrType:e.smartPtrType}}function St(e){Rt(e.$$.ptrType.registeredClass.name+" instance already deleted")}var Nt=!1;function Lt(e){}function xt(e){e.smartPtr?e.smartPtrType.rawDestructor(e.smartPtr):e.ptrType.registeredClass.rawDestructor(e.ptr)}function Mt(e){e.count.value-=1,0===e.count.value&&xt(e)}function Ft(e,t,n){if(t===n)return e;if(void 0===n.baseClass)return null;var r=Ft(e,t,n.baseClass);return null===r?null:n.downcast(r)}var Ht={};function Ut(){return Object.keys(zt).length}function Gt(){var e=[];for(var t in zt)zt.hasOwnProperty(t)&&e.push(zt[t]);return e}var kt=[];function jt(){for(;kt.length;){var e=kt.pop();e.$$.deleteScheduled=!1,e.delete()}}var Vt=void 0;function Qt(e){Vt=e,kt.length&&Vt&&Vt(jt)}function Wt(){d.getInheritedInstanceCount=Ut,d.getLiveInheritedInstances=Gt,d.flushPendingDeletes=jt,d.setDelayFunction=Qt}var zt={};function Kt(e,t){for(void 0===t&&Rt("ptr should not be undefined");e.baseClass;)t=e.upcast(t),e=e.baseClass;return t}function Yt(e,t){return t=Kt(e,t),zt[t]}function Xt(e,t){return t.ptrType&&t.ptr||ht("makeClassHandle requires ptr and ptrType"),!!t.smartPtrType!=!!t.smartPtr&&ht("Both smartPtrType and smartPtr must be specified"),t.count={value:1},Jt(Object.create(e,{$$:{value:t}}))}function qt(e){var t=this.getPointee(e);if(!t)return this.destructor(e),null;var n=Yt(this.registeredClass,t);if(void 0!==n){if(0===n.$$.count.value)return n.$$.ptr=t,n.$$.smartPtr=e,n.clone();var r=n.clone();return this.destructor(e),r}function i(){return this.isSmartPointer?Xt(this.registeredClass.instancePrototype,{ptrType:this.pointeeType,ptr:t,smartPtrType:this,smartPtr:e}):Xt(this.registeredClass.instancePrototype,{ptrType:this,ptr:e})}var a,s=this.registeredClass.getActualType(t),o=Ht[s];if(!o)return i.call(this);a=this.isConst?o.constPointerType:o.pointerType;var l=Ft(t,this.registeredClass,a.registeredClass);return null===l?i.call(this):this.isSmartPointer?Xt(a.registeredClass.instancePrototype,{ptrType:a,ptr:l,smartPtrType:this,smartPtr:e}):Xt(a.registeredClass.instancePrototype,{ptrType:a,ptr:l})}function Jt(e){return"undefined"==typeof FinalizationRegistry?(Jt=function(e){return e},e):(Nt=new FinalizationRegistry((function(e){Mt(e.$$)})),Lt=function(e){return Nt.unregister(e)},(Jt=function(e){var t=e.$$;if(t.smartPtr){var n={$$:t};Nt.register(e,n,e)}return e})(e))}function Zt(){if(this.$$.ptr||St(this),this.$$.preservePointerOnDelete)return this.$$.count.value+=1,this;var e=Jt(Object.create(Object.getPrototypeOf(this),{$$:{value:Ot(this.$$)}}));return e.$$.count.value+=1,e.$$.deleteScheduled=!1,e}function $t(){this.$$.ptr||St(this),this.$$.deleteScheduled&&!this.$$.preservePointerOnDelete&&Rt("Object already scheduled for deletion"),Lt(this),Mt(this.$$),this.$$.preservePointerOnDelete||(this.$$.smartPtr=void 0,this.$$.ptr=void 0)}function en(){return!this.$$.ptr}function tn(){return this.$$.ptr||St(this),this.$$.deleteScheduled&&!this.$$.preservePointerOnDelete&&Rt("Object already scheduled for deletion"),kt.push(this),1===kt.length&&Vt&&Vt(jt),this.$$.deleteScheduled=!0,this}function nn(){rn.prototype.isAliasOf=Bt,rn.prototype.clone=Zt,rn.prototype.delete=$t,rn.prototype.isDeleted=en,rn.prototype.deleteLater=tn}function rn(){}function an(e,t,n){if(void 0===e[t].overloadTable){var r=e[t];e[t]=function(){return e[t].overloadTable.hasOwnProperty(arguments.length)||Rt("Function '"+n+"' called with an invalid number of arguments ("+arguments.length+") - expects one of ("+e[t].overloadTable+")!"),e[t].overloadTable[arguments.length].apply(this,arguments)},e[t].overloadTable=[],e[t].overloadTable[r.argCount]=r}}function sn(e,t,n){d.hasOwnProperty(e)?((void 0===n||void 0!==d[e].overloadTable&&void 0!==d[e].overloadTable[n])&&Rt("Cannot register public name '"+e+"' twice"),an(d,e,e),d.hasOwnProperty(n)&&Rt("Cannot register multiple overloads of a function with the same number of arguments ("+n+")!"),d[e].overloadTable[n]=t):(d[e]=t,void 0!==n&&(d[e].numArguments=n))}function on(e,t,n,r,i,a,s,o){this.name=e,this.constructor=t,this.instancePrototype=n,this.rawDestructor=r,this.baseClass=i,this.getActualType=a,this.upcast=s,this.downcast=o,this.pureVirtualFunctions=[]}function ln(e,t,n){for(;t!==n;)t.upcast||Rt("Expected null or instance of "+n.name+", got an instance of "+t.name),e=t.upcast(e),t=t.baseClass;return e}function un(e,t){if(null===t)return this.isReference&&Rt("null is not a valid "+this.name),0;t.$$||Rt('Cannot pass "'+Vn(t)+'" as a '+this.name),t.$$.ptr||Rt("Cannot pass deleted object as a pointer of type "+this.name);var n=t.$$.ptrType.registeredClass;return ln(t.$$.ptr,n,this.registeredClass)}function cn(e,t){var n;if(null===t)return this.isReference&&Rt("null is not a valid "+this.name),this.isSmartPointer?(n=this.rawConstructor(),null!==e&&e.push(this.rawDestructor,n),n):0;t.$$||Rt('Cannot pass "'+Vn(t)+'" as a '+this.name),t.$$.ptr||Rt("Cannot pass deleted object as a pointer of type "+this.name),!this.isConst&&t.$$.ptrType.isConst&&Rt("Cannot convert argument of type "+(t.$$.smartPtrType?t.$$.smartPtrType.name:t.$$.ptrType.name)+" to parameter type "+this.name);var r=t.$$.ptrType.registeredClass;if(n=ln(t.$$.ptr,r,this.registeredClass),this.isSmartPointer)switch(void 0===t.$$.smartPtr&&Rt("Passing raw pointer to smart pointer is illegal"),this.sharingPolicy){case 0:t.$$.smartPtrType===this?n=t.$$.smartPtr:Rt("Cannot convert argument of type "+(t.$$.smartPtrType?t.$$.smartPtrType.name:t.$$.ptrType.name)+" to parameter type "+this.name);break;case 1:n=t.$$.smartPtr;break;case 2:if(t.$$.smartPtrType===this)n=t.$$.smartPtr;else{var i=t.clone();n=this.rawShare(n,Fn.toHandle((function(){i.delete()}))),null!==e&&e.push(this.rawDestructor,n)}break;default:Rt("Unsupporting sharing policy")}return n}function fn(e,t){if(null===t)return this.isReference&&Rt("null is not a valid "+this.name),0;t.$$||Rt('Cannot pass "'+Vn(t)+'" as a '+this.name),t.$$.ptr||Rt("Cannot pass deleted object as a pointer of type "+this.name),t.$$.ptrType.isConst&&Rt("Cannot convert argument of type "+t.$$.ptrType.name+" to parameter type "+this.name);var n=t.$$.ptrType.registeredClass;return ln(t.$$.ptr,n,this.registeredClass)}function pn(e){return this.rawGetPointee&&(e=this.rawGetPointee(e)),e}function An(e){this.rawDestructor&&this.rawDestructor(e)}function dn(e){null!==e&&e.delete()}function vn(){hn.prototype.getPointee=pn,hn.prototype.destructor=An,hn.prototype.argPackAdvance=8,hn.prototype.readValueFromPointer=st,hn.prototype.deleteObject=dn,hn.prototype.fromWireType=qt}function hn(e,t,n,r,i,a,s,o,l,u,c){this.name=e,this.registeredClass=t,this.isReference=n,this.isConst=r,this.isSmartPointer=i,this.pointeeType=a,this.sharingPolicy=s,this.rawGetPointee=o,this.rawConstructor=l,this.rawShare=u,this.rawDestructor=c,i||void 0!==t.baseClass?this.toWireType=cn:r?(this.toWireType=un,this.destructorFunction=null):(this.toWireType=fn,this.destructorFunction=null)}function In(e,t,n){d.hasOwnProperty(e)||ht("Replacing nonexistant public symbol"),void 0!==d[e].overloadTable&&void 0!==n?d[e].overloadTable[n]=t:(d[e]=t,d[e].argCount=n)}function yn(e,t,n){var r=d["dynCall_"+e];return n&&n.length?r.apply(null,[t].concat(n)):r.call(null,t)}function mn(e,t,n){return e.includes("j")?yn(e,t,n):Ke(t).apply(null,n)}function wn(e,t){var n=[];return function(){return n.length=0,Object.assign(n,arguments),mn(e,t,n)}}function gn(e,t){var n=(e=Dt(e)).includes("j")?wn(e,t):Ke(t);return"function"!=typeof n&&Rt("unknown function pointer with signature "+e+": "+t),n}var En=void 0;function Tn(e){var t=yi(e),n=Dt(t);return Di(t),n}function bn(e,t){var n=[],r={};throw t.forEach((function e(t){r[t]||lt[t]||(ut[t]?ut[t].forEach(e):(n.push(t),r[t]=!0))})),new En(e+": "+n.map(Tn).join([", "]))}function Dn(e,t,n,r,i,a,s,o,l,u,c,f,p){c=Dt(c),a=gn(i,a),o&&(o=gn(s,o)),u&&(u=gn(l,u)),p=gn(f,p);var A=pt(c);sn(A,(function(){bn("Cannot construct "+c+" due to unbound types",[r])})),It([e,t,n],r?[r]:[],(function(t){var n,i;t=t[0],i=r?(n=t.registeredClass).instancePrototype:rn.prototype;var s=At(A,(function(){if(Object.getPrototypeOf(this)!==l)throw new Pt("Use 'new' to construct "+c);if(void 0===f.constructor_body)throw new Pt(c+" has no accessible constructor");var e=f.constructor_body[arguments.length];if(void 0===e)throw new Pt("Tried to invoke ctor of "+c+" with invalid number of parameters ("+arguments.length+") - expected ("+Object.keys(f.constructor_body).toString()+") parameters instead!");return e.apply(this,arguments)})),l=Object.create(i,{constructor:{value:s}});s.prototype=l;var f=new on(c,s,l,p,n,a,o,u),d=new hn(c,f,!0,!1,!1),v=new hn(c+"*",f,!1,!1,!1),h=new hn(c+" const*",f,!1,!0,!1);return Ht[e]={pointerType:v,constPointerType:h},In(A,s),[d,v,h]}))}function Pn(e,t){for(var n=[],r=0;r>>2]);return n}function Rn(e,t){if(!(e instanceof Function))throw new TypeError("new_ called with constructor type "+T(e)+" which is not a function");var n=At(e.name||"unknownFunctionName",(function(){}));n.prototype=e.prototype;var r=new n,i=e.apply(r,t);return i instanceof Object?i:r}function Cn(e,t,n,r,i){var a=t.length;a<2&&Rt("argTypes array size mismatch! Must at least get return value and 'this' types!");for(var s=null!==t[1]&&null!==n,o=!1,l=1;l0?", ":"")+f),p+=(u?"var rv = ":"")+"invoker(fn"+(f.length>0?", ":"")+f+");\n",o)p+="runDestructors(destructors);\n";else for(l=s?1:2;l0);var s=Pn(t,n);i=gn(r,i),It([],[e],(function(e){var n="constructor "+(e=e[0]).name;if(void 0===e.registeredClass.constructor_body&&(e.registeredClass.constructor_body=[]),void 0!==e.registeredClass.constructor_body[t-1])throw new Pt("Cannot register multiple constructors with identical number of parameters ("+(t-1)+") for class '"+e.name+"'! Overload resolution is currently only performed using the parameter count, not actual type info!");return e.registeredClass.constructor_body[t-1]=function(){bn("Cannot construct "+e.name+" due to unbound types",s)},It([],s,(function(r){return r.splice(1,0,null),e.registeredClass.constructor_body[t-1]=Cn(n,r,null,i,a),[]})),[]}))}function Bn(e,t,n,r,i,a,s,o){var l=Pn(n,r);t=Dt(t),a=gn(i,a),It([],[e],(function(e){var r=(e=e[0]).name+"."+t;function i(){bn("Cannot call "+r+" due to unbound types",l)}t.startsWith("@@")&&(t=Symbol[t.substring(2)]),o&&e.registeredClass.pureVirtualFunctions.push(t);var u=e.registeredClass.instancePrototype,c=u[t];return void 0===c||void 0===c.overloadTable&&c.className!==e.name&&c.argCount===n-2?(i.argCount=n-2,i.className=e.name,u[t]=i):(an(u,t,r),u[t].overloadTable[n-2]=i),It([],l,(function(i){var o=Cn(r,i,e,a,s);return void 0===u[t].overloadTable?(o.argCount=n-2,u[t]=o):u[t].overloadTable[n-2]=o,[]})),[]}))}var On=[],Sn=[{},{value:void 0},{value:null},{value:!0},{value:!1}];function Nn(e){e>4&&0==--Sn[e].refcount&&(Sn[e]=void 0,On.push(e))}function Ln(){for(var e=0,t=5;t>>2])};case 3:return function(e){return this.fromWireType(u()[e>>>3])};default:throw new TypeError("Unknown float type: "+e)}}function Wn(e,t,n){var r=Et(n);Ct(e,{name:t=Dt(t),fromWireType:function(e){return e},toWireType:function(e,t){return t},argPackAdvance:8,readValueFromPointer:Qn(t,r),destructorFunction:null})}function zn(e,t,n,r,i,a){var s=Pn(t,n);e=Dt(e),i=gn(r,i),sn(e,(function(){bn("Cannot call "+e+" due to unbound types",s)}),t-1),It([],s,(function(n){var r=[n[0],null].concat(n.slice(1));return In(e,Cn(e,r,null,i,a),t-1),[]}))}function Kn(e,n,l){switch(n){case 0:return l?function(e){return t()[e>>>0]}:function(e){return r()[e>>>0]};case 1:return l?function(e){return i()[e>>>1]}:function(e){return a()[e>>>1]};case 2:return l?function(e){return s()[e>>>2]}:function(e){return o()[e>>>2]};default:throw new TypeError("Unknown integer type: "+e)}}function Yn(e,t,n,r,i){t=Dt(t);var a=Et(n),s=function(e){return e};if(0===r){var o=32-8*n;s=function(e){return e<>>o}}var l=t.includes("unsigned");Ct(e,{name:t,fromWireType:s,toWireType:l?function(e,t){return this.name,t>>>0}:function(e,t){return this.name,t},argPackAdvance:8,readValueFromPointer:Kn(t,a,0!==r),destructorFunction:null})}function Xn(e,t,n){var r=[Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array][t];function i(e){e>>=2;var t=o(),n=t[e>>>0],i=t[e+1>>>0];return new r(t.buffer,i,n)}Ct(e,{name:n=Dt(n),fromWireType:i,argPackAdvance:8,readValueFromPointer:i},{ignoreDuplicateRegistrations:!0})}function qn(e,t){var n="std::string"===(t=Dt(t));Ct(e,{name:t,fromWireType:function(e){var t,i=o()[e>>>2],a=e+4;if(n)for(var s=a,l=0;l<=i;++l){var u=a+l;if(l==i||0==r()[u>>>0]){var c=K(s,u-s);void 0===t?t=c:(t+=String.fromCharCode(0),t+=c),s=u+1}}else{var f=new Array(i);for(l=0;l>>0]);t=f.join("")}return Di(e),t},toWireType:function(e,t){var i;t instanceof ArrayBuffer&&(t=new Uint8Array(t));var a="string"==typeof t;a||t instanceof Uint8Array||t instanceof Uint8ClampedArray||t instanceof Int8Array||Rt("Cannot pass non-string to std::string"),i=n&&a?q(t):t.length;var s=hi(4+i+1),l=s+4;if(l>>>=0,o()[s>>>2]=i,n&&a)X(t,l,i+1);else if(a)for(var u=0;u255&&(Di(l),Rt("String has UTF-16 code units that do not fit in 8 bits")),r()[l+u>>>0]=c}else for(u=0;u>>0]=t[u];return null!==e&&e.push(Di,s),s},argPackAdvance:8,readValueFromPointer:st,destructorFunction:function(e){Di(e)}})}var Jn="undefined"!=typeof TextDecoder?new TextDecoder("utf-16le"):void 0;function Zn(e,t){for(var n=e,s=n>>1,o=s+t/2;!(s>=o)&&a()[s>>>0];)++s;if((n=s<<1)-e>32&&Jn)return Jn.decode(r().slice(e,n));for(var l="",u=0;!(u>=t/2);++u){var c=i()[e+2*u>>>1];if(0==c)break;l+=String.fromCharCode(c)}return l}function $n(e,t,n){if(void 0===n&&(n=2147483647),n<2)return 0;for(var r=t,a=(n-=2)<2*e.length?n/2:e.length,s=0;s>>1]=o,t+=2}return i()[t>>>1]=0,t-r}function er(e){return 2*e.length}function tr(e,t){for(var n=0,r="";!(n>=t/4);){var i=s()[e+4*n>>>2];if(0==i)break;if(++n,i>=65536){var a=i-65536;r+=String.fromCharCode(55296|a>>10,56320|1023&a)}else r+=String.fromCharCode(i)}return r}function nr(e,t,n){if(void 0===n&&(n=2147483647),n<4)return 0;for(var r=t>>>=0,i=r+n-4,a=0;a=55296&&o<=57343&&(o=65536+((1023&o)<<10)|1023&e.charCodeAt(++a)),s()[t>>>2]=o,(t+=4)+4>i)break}return s()[t>>>2]=0,t-r}function rr(e){for(var t=0,n=0;n=55296&&r<=57343&&++n,t+=4}return t}function ir(e,t,n){var r,i,s,l,u;n=Dt(n),2===t?(r=Zn,i=$n,l=er,s=function(){return a()},u=1):4===t&&(r=tr,i=nr,l=rr,s=function(){return o()},u=2),Ct(e,{name:n,fromWireType:function(e){for(var n,i=o()[e>>>2],a=s(),l=e+4,c=0;c<=i;++c){var f=e+4+c*t;if(c==i||0==a[f>>>u]){var p=r(l,f-l);void 0===n?n=p:(n+=String.fromCharCode(0),n+=p),l=f+t}}return Di(e),n},toWireType:function(e,r){"string"!=typeof r&&Rt("Cannot pass non-string to C++ string type "+n);var a=l(r),s=hi(4+a+t);return s>>>=0,o()[s>>>2]=a>>u,i(r,s+4,a+t),null!==e&&e.push(Di,s),s},argPackAdvance:8,readValueFromPointer:st,destructorFunction:function(e){Di(e)}})}function ar(e,t,n,r,i,a){it[e]={name:Dt(t),rawConstructor:gn(n,r),rawDestructor:gn(i,a),elements:[]}}function sr(e,t,n,r,i,a,s,o,l){it[e].elements.push({getterReturnType:t,getter:gn(n,r),getterContext:i,setterArgumentType:a,setter:gn(s,o),setterContext:l})}function or(e,t,n,r,i,a){mt[e]={name:Dt(t),rawConstructor:gn(n,r),rawDestructor:gn(i,a),fields:[]}}function lr(e,t,n,r,i,a,s,o,l,u){mt[e].fields.push({fieldName:Dt(t),getterReturnType:n,getter:gn(r,i),getterContext:a,setterArgumentType:s,setter:gn(o,l),setterContext:u})}function ur(e,t){Ct(e,{isVoid:!0,name:t=Dt(t),argPackAdvance:0,fromWireType:function(){},toWireType:function(e,t){}})}function cr(e){B(K(e))}function fr(e){Atomics.store(s(),e>>2,1),Ii()&&Ei(e),Atomics.compareExchange(s(),e>>2,1,0)}function pr(e,t,n,r){if(e==t)setTimeout((function(){return fr(r)}));else if(D)postMessage({targetThread:e,cmd:"processProxyingQueue",queue:r});else{var i=je.pthreads[e];if(!i)return;i.postMessage({cmd:"processProxyingQueue",queue:r})}return 1}function Ar(e,t,n){return-1}function dr(e,t,n){e=Fn.toValue(e),t=kn(t,"emval::as");var r=[],i=Fn.toHandle(r);return o()[n>>>2]=i,t.toWireType(r,e)}function vr(e,t){for(var n=new Array(e),r=0;r>>2],"parameter "+r);return n}function hr(e,t,n,r){e=Fn.toValue(e);for(var i=vr(t,n),a=new Array(t),s=0;s4&&(Sn[e].refcount+=1)}function br(e,t){return(e=Fn.toValue(e))instanceof(t=Fn.toValue(t))}function Dr(e){return"number"==typeof(e=Fn.toValue(e))}function Pr(e){return"string"==typeof(e=Fn.toValue(e))}function Rr(){return Fn.toHandle([])}function Cr(e){return Fn.toHandle(mr(e))}function _r(){return Fn.toHandle({})}function Br(e){at(Fn.toValue(e)),Nn(e)}function Or(e,t,n){e=Fn.toValue(e),t=Fn.toValue(t),n=Fn.toValue(n),e[t]=n}function Sr(e,t){var n=(e=kn(e,"_emval_take_value")).readValueFromPointer(t);return Fn.toHandle(n)}function Nr(){de("")}function Lr(e){Lr.shown||(Lr.shown={}),Lr.shown[e]||(Lr.shown[e]=1,B(e))}function xr(){E||Lr("Blocking on the main thread is very dangerous, see https://emscripten.org/docs/porting/pthreads.html#blocking-on-the-main-browser-thread")}function Mr(e,t,n){r().copyWithin(e>>>0,t>>>0,t+n>>>0)}function Fr(e){var t=Ri(),n=e();return Ci(t),n}function Hr(e,t){var n=arguments.length-2,r=arguments;return Fr((function(){for(var i=n,a=_i(8*i),s=a>>3,o=0;o>>0]=l}return gi(e,i,a,t)}))}Ir=function(){return performance.timeOrigin+performance.now()};var Ur=[];function Gr(e,t,n){Ur.length=t;for(var r=n>>3,i=0;i>>0];return di[e].apply(null,Ur)}function kr(e){var t=O.buffer;try{return O.grow(e-t.byteLength+65535>>>16),J(),1}catch(e){}}function jr(e){var t=r().length;if((e>>>=0)<=t)return!1;var n=4294901760;if(e>n)return!1;for(var i,a,s=1;s<=4;s*=2){var o=t*(1+.2/s);if(o=Math.min(o,e+100663296),kr(Math.min(n,(i=Math.max(e,o))+((a=65536)-i%a)%a)))return!0}return!1}function Vr(){throw"unwind"}var Qr={};function Wr(){return m||"./this.program"}function zr(){if(!zr.strings){var e={USER:"web_user",LOGNAME:"web_user",PATH:"/",PWD:"/",HOME:"/home/web_user",LANG:("object"==("undefined"==typeof navigator?"undefined":T(navigator))&&navigator.languages&&navigator.languages[0]||"C").replace("-","_")+".UTF-8",_:Wr()};for(var t in Qr)void 0===Qr[t]?delete e[t]:e[t]=Qr[t];var n=[];for(var t in e)n.push(t+"="+e[t]);zr.strings=n}return zr.strings}function Kr(e,n,r){for(var i=0;i>>0]=e.charCodeAt(i);r||(t()[n>>>0]=0)}function Yr(e,t){if(D)return Hr(3,1,e,t);var n=0;return zr().forEach((function(r,i){var a=t+n;o()[e+4*i>>>2]=a,Kr(r,a),n+=r.length+1})),0}function Xr(e,t){if(D)return Hr(4,1,e,t);var n=zr();o()[e>>>2]=n.length;var r=0;return n.forEach((function(e){r+=e.length+1})),o()[t>>>2]=r,0}function qr(e){if(D)return Hr(5,1,e);try{var t=Fe.getStreamFromFD(e);return Me.close(t),0}catch(e){if(void 0===Me||!(e instanceof Me.ErrnoError))throw e;return e.errno}}function Jr(e,n,r,i){for(var a=0,s=0;s>>2],u=o()[n+4>>>2];n+=8;var c=Me.read(e,t(),l,u,i);if(c<0)return-1;if(a+=c,c>>2]=i,0}catch(e){if(void 0===Me||!(e instanceof Me.ErrnoError))throw e;return e.errno}}function $r(e,t){return t+2097152>>>0<4194305-!!e?(e>>>0)+4294967296*t:NaN}function ei(e,t,n,r,i){if(D)return Hr(7,1,e,t,n,r,i);try{var a=$r(t,n);if(isNaN(a))return 61;var o=Fe.getStreamFromFD(e);return Me.llseek(o,a,r),Ie=[o.position>>>0,(he=o.position,+Math.abs(he)>=1?he>0?(0|Math.min(+Math.floor(he/4294967296),4294967295))>>>0:~~+Math.ceil((he-+(~~he>>>0))/4294967296)>>>0:0)],s()[i>>>2]=Ie[0],s()[i+4>>>2]=Ie[1],o.getdents&&0===a&&0===r&&(o.getdents=null),0}catch(e){if(void 0===Me||!(e instanceof Me.ErrnoError))throw e;return e.errno}}function ti(e,n,r,i){for(var a=0,s=0;s>>2],u=o()[n+4>>>2];n+=8;var c=Me.write(e,t(),l,u,i);if(c<0)return-1;a+=c,void 0!==i&&(i+=c)}return a}function ni(e,t,n,r){if(D)return Hr(8,1,e,t,n,r);try{var i=ti(Fe.getStreamFromFD(e),t,n);return o()[r>>>2]=i,0}catch(e){if(void 0===Me||!(e instanceof Me.ErrnoError))throw e;return e.errno}}function ri(e){return e%4==0&&(e%100!=0||e%400==0)}function ii(e,t){for(var n=0,r=0;r<=t;n+=e[r++]);return n}var ai=[31,29,31,30,31,30,31,31,30,31,30,31],si=[31,28,31,30,31,30,31,31,30,31,30,31];function oi(e,t){for(var n=new Date(e.getTime());t>0;){var r=ri(n.getFullYear()),i=n.getMonth(),a=(r?ai:si)[i];if(!(t>a-n.getDate()))return n.setDate(n.getDate()+t),n;t-=a-n.getDate()+1,n.setDate(1),i<11?n.setMonth(i+1):(n.setMonth(0),n.setFullYear(n.getFullYear()+1))}return n}function li(e,n){t().set(e,n>>>0)}function ui(e,t,n,r){var i=s()[r+40>>>2],a={tm_sec:s()[r>>>2],tm_min:s()[r+4>>>2],tm_hour:s()[r+8>>>2],tm_mday:s()[r+12>>>2],tm_mon:s()[r+16>>>2],tm_year:s()[r+20>>>2],tm_wday:s()[r+24>>>2],tm_yday:s()[r+28>>>2],tm_isdst:s()[r+32>>>2],tm_gmtoff:s()[r+36>>>2],tm_zone:i?K(i):""},o=K(n),l={"%c":"%a %b %d %H:%M:%S %Y","%D":"%m/%d/%y","%F":"%Y-%m-%d","%h":"%b","%r":"%I:%M:%S %p","%R":"%H:%M","%T":"%H:%M:%S","%x":"%m/%d/%y","%X":"%H:%M:%S","%Ec":"%c","%EC":"%C","%Ex":"%m/%d/%y","%EX":"%H:%M:%S","%Ey":"%y","%EY":"%Y","%Od":"%d","%Oe":"%e","%OH":"%H","%OI":"%I","%Om":"%m","%OM":"%M","%OS":"%S","%Ou":"%u","%OU":"%U","%OV":"%V","%Ow":"%w","%OW":"%W","%Oy":"%y"};for(var u in l)o=o.replace(new RegExp(u,"g"),l[u]);var c=["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],f=["January","February","March","April","May","June","July","August","September","October","November","December"];function p(e,t,n){for(var r="number"==typeof e?e.toString():e||"";r.length0?1:0}var r;return 0===(r=n(e.getFullYear()-t.getFullYear()))&&0===(r=n(e.getMonth()-t.getMonth()))&&(r=n(e.getDate()-t.getDate())),r}function v(e){switch(e.getDay()){case 0:return new Date(e.getFullYear()-1,11,29);case 1:return e;case 2:return new Date(e.getFullYear(),0,3);case 3:return new Date(e.getFullYear(),0,2);case 4:return new Date(e.getFullYear(),0,1);case 5:return new Date(e.getFullYear()-1,11,31);case 6:return new Date(e.getFullYear()-1,11,30)}}function h(e){var t=oi(new Date(e.tm_year+1900,0,1),e.tm_yday),n=new Date(t.getFullYear(),0,4),r=new Date(t.getFullYear()+1,0,4),i=v(n),a=v(r);return d(i,t)<=0?d(a,t)<=0?t.getFullYear()+1:t.getFullYear():t.getFullYear()-1}var I={"%a":function(e){return c[e.tm_wday].substring(0,3)},"%A":function(e){return c[e.tm_wday]},"%b":function(e){return f[e.tm_mon].substring(0,3)},"%B":function(e){return f[e.tm_mon]},"%C":function(e){return A((e.tm_year+1900)/100|0,2)},"%d":function(e){return A(e.tm_mday,2)},"%e":function(e){return p(e.tm_mday,2," ")},"%g":function(e){return h(e).toString().substring(2)},"%G":function(e){return h(e)},"%H":function(e){return A(e.tm_hour,2)},"%I":function(e){var t=e.tm_hour;return 0==t?t=12:t>12&&(t-=12),A(t,2)},"%j":function(e){return A(e.tm_mday+ii(ri(e.tm_year+1900)?ai:si,e.tm_mon-1),3)},"%m":function(e){return A(e.tm_mon+1,2)},"%M":function(e){return A(e.tm_min,2)},"%n":function(){return"\n"},"%p":function(e){return e.tm_hour>=0&&e.tm_hour<12?"AM":"PM"},"%S":function(e){return A(e.tm_sec,2)},"%t":function(){return"\t"},"%u":function(e){return e.tm_wday||7},"%U":function(e){var t=e.tm_yday+7-e.tm_wday;return A(Math.floor(t/7),2)},"%V":function(e){var t=Math.floor((e.tm_yday+7-(e.tm_wday+6)%7)/7);if((e.tm_wday+371-e.tm_yday-2)%7<=2&&t++,t){if(53==t){var n=(e.tm_wday+371-e.tm_yday)%7;4==n||3==n&&ri(e.tm_year)||(t=1)}}else{t=52;var r=(e.tm_wday+7-e.tm_yday-1)%7;(4==r||5==r&&ri(e.tm_year%400-1))&&t++}return A(t,2)},"%w":function(e){return e.tm_wday},"%W":function(e){var t=e.tm_yday+7-(e.tm_wday+6)%7;return A(Math.floor(t/7),2)},"%y":function(e){return(e.tm_year+1900).toString().substring(2)},"%Y":function(e){return e.tm_year+1900},"%z":function(e){var t=e.tm_gmtoff,n=t>=0;return t=(t=Math.abs(t)/60)/60*100+t%60,(n?"+":"-")+String("0000"+t).slice(-4)},"%Z":function(e){return e.tm_zone},"%%":function(){return"%"}};for(var u in o=o.replace(/%%/g,"\0\0"),I)o.includes(u)&&(o=o.replace(new RegExp(u,"g"),I[u](a)));var y=Oe(o=o.replace(/\0\0/g,"%"),!1);return y.length>t?0:(li(y,e),y.length-1)}function ci(e,t,n,r,i){return ui(e,t,n,r)}je.init();var fi=function(e,t,n,r){e||(e=this),this.parent=e,this.mount=e.mount,this.mounted=null,this.id=Me.nextInode++,this.name=t,this.mode=n,this.node_ops={},this.stream_ops={},this.rdev=r},pi=365,Ai=146;Object.defineProperties(fi.prototype,{read:{get:function(){return(this.mode&pi)===pi},set:function(e){e?this.mode|=pi:this.mode&=~pi}},write:{get:function(){return(this.mode&Ai)===Ai},set:function(e){e?this.mode|=Ai:this.mode&=~Ai}},isFolder:{get:function(){return Me.isDir(this.mode)}},isDevice:{get:function(){return Me.isChrdev(this.mode)}}}),Me.FSNode=fi,Me.staticInit(),vt=d.InternalError=dt(Error,"InternalError"),Tt(),Pt=d.BindingError=dt(Error,"BindingError"),nn(),Wt(),vn(),En=d.UnboundTypeError=dt(Error,"UnboundTypeError"),Mn();var di=[null,He,We,Yr,Xr,qr,Zr,ei,ni],vi={g:Je,T:Ze,J:$e,X:et,_:nt,Z:rt,da:yt,q:wt,H:gt,ba:_t,p:Dn,o:_n,c:Bn,aa:Hn,D:Gn,t:jn,B:Wn,d:zn,s:Yn,i:Xn,C:qn,x:ir,ea:ar,j:sr,r:or,f:lr,ca:ur,Y:cr,V:pr,S:Ar,n:dr,z:hr,b:Nn,F:gr,l:Er,u:Tr,ga:br,y:Dr,E:Pr,fa:Rr,h:Cr,w:_r,m:Br,k:Or,e:Sr,A:Nr,U:xr,v:Ir,W:Mr,R:Gr,P:jr,$:Vr,L:Yr,M:Xr,I:Ge,N:qr,O:Zr,G:ei,Q:ni,a:O||d.wasmMemory,K:ci};Ee();var hi=function(){return(hi=d.asm.ja).apply(null,arguments)};d.__emscripten_tls_init=function(){return(d.__emscripten_tls_init=d.asm.ka).apply(null,arguments)};var Ii=d._pthread_self=function(){return(Ii=d._pthread_self=d.asm.la).apply(null,arguments)},yi=d.___getTypeName=function(){return(yi=d.___getTypeName=d.asm.ma).apply(null,arguments)};d.__embind_initialize_bindings=function(){return(d.__embind_initialize_bindings=d.asm.na).apply(null,arguments)};var mi=d.__emscripten_thread_init=function(){return(mi=d.__emscripten_thread_init=d.asm.oa).apply(null,arguments)};d.__emscripten_thread_crashed=function(){return(d.__emscripten_thread_crashed=d.asm.pa).apply(null,arguments)};var wi,gi=function(){return(gi=d.asm.qa).apply(null,arguments)},Ei=d.__emscripten_proxy_execute_task_queue=function(){return(Ei=d.__emscripten_proxy_execute_task_queue=d.asm.ra).apply(null,arguments)},Ti=function(){return(Ti=d.asm.sa).apply(null,arguments)},bi=d.__emscripten_thread_exit=function(){return(bi=d.__emscripten_thread_exit=d.asm.ta).apply(null,arguments)},Di=function(){return(Di=d.asm.ua).apply(null,arguments)},Pi=function(){return(Pi=d.asm.va).apply(null,arguments)},Ri=function(){return(Ri=d.asm.wa).apply(null,arguments)},Ci=function(){return(Ci=d.asm.xa).apply(null,arguments)},_i=function(){return(_i=d.asm.ya).apply(null,arguments)},Bi=function(){return(Bi=d.asm.za).apply(null,arguments)};function Oi(){if(!(ce>0)){if(D)return p(d),ae(),void startWorker(d);ie(),ce>0||(d.setStatus?(d.setStatus("Running..."),setTimeout((function(){setTimeout((function(){d.setStatus("")}),1),e()}),1)):e())}function e(){wi||(wi=!0,d.calledRun=!0,x||(ae(),p(d),d.onRuntimeInitialized&&d.onRuntimeInitialized(),se()))}}if(d.dynCall_jiji=function(){return(d.dynCall_jiji=d.asm.Aa).apply(null,arguments)},d.dynCall_viijii=function(){return(d.dynCall_viijii=d.asm.Ba).apply(null,arguments)},d.dynCall_iiiiij=function(){return(d.dynCall_iiiiij=d.asm.Ca).apply(null,arguments)},d.dynCall_iiiiijj=function(){return(d.dynCall_iiiiijj=d.asm.Da).apply(null,arguments)},d.dynCall_iiiiiijj=function(){return(d.dynCall_iiiiiijj=d.asm.Ea).apply(null,arguments)},d.keepRuntimeAlive=re,d.wasmMemory=O,d.ExitStatus=Te,d.PThread=je,fe=function e(){wi||Oi(),wi||(fe=e)},d.preInit)for("function"==typeof d.preInit&&(d.preInit=[d.preInit]);d.preInit.length>0;)d.preInit.pop()();return Oi(),e.ready});"object"===T(e)&&"object"===T(t)?t.exports=r:"function"==typeof define&&define.amd?define([],(function(){return r})):"object"===T(e)&&(e.WebIFCWasm=r)}}),v_=p_({"dist/web-ifc.js":function(e,t){var n,r=(n="undefined"!=typeof document&&document.currentScript?document.currentScript.src:void 0,function(){var e,t,r=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},i=void 0!==r?r:{};i.ready=new Promise((function(n,r){e=n,t=r}));var a,s,o=Object.assign({},i),l="./this.program",u=!0,c="";function f(e){return i.locateFile?i.locateFile(e,c):c+e}"undefined"!=typeof document&&document.currentScript&&(c=document.currentScript.src),n&&(c=n),c=0!==c.indexOf("blob:")?c.substr(0,c.replace(/[?#].*/,"").lastIndexOf("/")+1):"",a=function(e){var t=new XMLHttpRequest;return t.open("GET",e,!1),t.send(null),t.responseText},s=function(e,t,n){var r=new XMLHttpRequest;r.open("GET",e,!0),r.responseType="arraybuffer",r.onload=function(){200==r.status||0==r.status&&r.response?t(r.response):n()},r.onerror=n,r.send(null)};var p,A,d=i.print||console.log.bind(console),v=i.printErr||console.warn.bind(console);Object.assign(i,o),o=null,i.arguments,i.thisProgram&&(l=i.thisProgram),i.quit,i.wasmBinary&&(p=i.wasmBinary),i.noExitRuntime,"object"!=("undefined"==typeof WebAssembly?"undefined":T(WebAssembly))&&Y("no native wasm support detected");var h=!1;function I(e,t){e||Y(t)}var y,m,w,g,E,b,D,P,R,C="undefined"!=typeof TextDecoder?new TextDecoder("utf8"):void 0;function _(e,t,n){for(var r=(t>>>=0)+n,i=t;e[i]&&!(i>=r);)++i;if(i-t>16&&e.buffer&&C)return C.decode(e.subarray(t,i));for(var a="";t>10,56320|1023&u)}}else a+=String.fromCharCode((31&s)<<6|o)}else a+=String.fromCharCode(s)}return a}function B(e,t){return(e>>>=0)?_(m,e,t):""}function O(e,t,n,r){if(!(r>0))return 0;for(var i=n>>>=0,a=n+r-1,s=0;s=55296&&o<=57343&&(o=65536+((1023&o)<<10)|1023&e.charCodeAt(++s)),o<=127){if(n>=a)break;t[n++>>>0]=o}else if(o<=2047){if(n+1>=a)break;t[n++>>>0]=192|o>>6,t[n++>>>0]=128|63&o}else if(o<=65535){if(n+2>=a)break;t[n++>>>0]=224|o>>12,t[n++>>>0]=128|o>>6&63,t[n++>>>0]=128|63&o}else{if(n+3>=a)break;t[n++>>>0]=240|o>>18,t[n++>>>0]=128|o>>12&63,t[n++>>>0]=128|o>>6&63,t[n++>>>0]=128|63&o}}return t[n>>>0]=0,n-i}function S(e,t,n){return O(e,m,t,n)}function N(e){for(var t=0,n=0;n=55296&&r<=57343?(t+=4,++n):t+=3}return t}function L(){var e=A.buffer;i.HEAP8=y=new Int8Array(e),i.HEAP16=w=new Int16Array(e),i.HEAP32=E=new Int32Array(e),i.HEAPU8=m=new Uint8Array(e),i.HEAPU16=g=new Uint16Array(e),i.HEAPU32=b=new Uint32Array(e),i.HEAPF32=D=new Float32Array(e),i.HEAPF64=P=new Float64Array(e)}var x=[],M=[],F=[];function H(){if(i.preRun)for("function"==typeof i.preRun&&(i.preRun=[i.preRun]);i.preRun.length;)k(i.preRun.shift());re(x)}function U(){i.noFSInit||Yn.init.initialized||Yn.init(),Yn.ignorePermissions=!1,re(M)}function G(){if(i.postRun)for("function"==typeof i.postRun&&(i.postRun=[i.postRun]);i.postRun.length;)V(i.postRun.shift());re(F)}function k(e){x.unshift(e)}function j(e){M.unshift(e)}function V(e){F.unshift(e)}var Q=0,W=null;function z(e){Q++,i.monitorRunDependencies&&i.monitorRunDependencies(Q)}function K(e){if(Q--,i.monitorRunDependencies&&i.monitorRunDependencies(Q),0==Q&&W){var t=W;W=null,t()}}function Y(e){i.onAbort&&i.onAbort(e),v(e="Aborted("+e+")"),h=!0,e+=". Build with -sASSERTIONS for more info.";var n=new WebAssembly.RuntimeError(e);throw t(n),n}var X,q,J,Z="data:application/octet-stream;base64,";function $(e){return e.startsWith(Z)}function ee(e){try{if(e==X&&p)return new Uint8Array(p);throw"both async and sync fetching of the wasm failed"}catch(e){Y(e)}}function te(){return!p&&u&&"function"==typeof fetch?fetch(X,{credentials:"same-origin"}).then((function(e){if(!e.ok)throw"failed to load wasm binary file at '"+X+"'";return e.arrayBuffer()})).catch((function(){return ee(X)})):Promise.resolve().then((function(){return ee(X)}))}function ne(){var e={a:hr};function n(e,t){var n=e.exports;i.asm=n,A=i.asm.V,L(),R=i.asm.X,j(i.asm.W),K()}function r(e){n(e.instance)}function a(t){return te().then((function(t){return WebAssembly.instantiate(t,e)})).then((function(e){return e})).then(t,(function(e){v("failed to asynchronously prepare wasm: "+e),Y(e)}))}if(z(),i.instantiateWasm)try{return i.instantiateWasm(e,n)}catch(e){v("Module.instantiateWasm callback failed with error: "+e),t(e)}return(p||"function"!=typeof WebAssembly.instantiateStreaming||$(X)||"function"!=typeof fetch?a(r):fetch(X,{credentials:"same-origin"}).then((function(t){return WebAssembly.instantiateStreaming(t,e).then(r,(function(e){return v("wasm streaming compile failed: "+e),v("falling back to ArrayBuffer instantiation"),a(r)}))}))).catch(t),{}}function re(e){for(;e.length>0;)e.shift()(i)}function ie(e){this.excPtr=e,this.ptr=e-24,this.set_type=function(e){b[this.ptr+4>>>2]=e},this.get_type=function(){return b[this.ptr+4>>>2]},this.set_destructor=function(e){b[this.ptr+8>>>2]=e},this.get_destructor=function(){return b[this.ptr+8>>>2]},this.set_refcount=function(e){E[this.ptr>>>2]=e},this.set_caught=function(e){e=e?1:0,y[this.ptr+12>>>0]=e},this.get_caught=function(){return 0!=y[this.ptr+12>>>0]},this.set_rethrown=function(e){e=e?1:0,y[this.ptr+13>>>0]=e},this.get_rethrown=function(){return 0!=y[this.ptr+13>>>0]},this.init=function(e,t){this.set_adjusted_ptr(0),this.set_type(e),this.set_destructor(t),this.set_refcount(0),this.set_caught(!1),this.set_rethrown(!1)},this.add_ref=function(){var e=E[this.ptr>>>2];E[this.ptr>>>2]=e+1},this.release_ref=function(){var e=E[this.ptr>>>2];return E[this.ptr>>>2]=e-1,1===e},this.set_adjusted_ptr=function(e){b[this.ptr+16>>>2]=e},this.get_adjusted_ptr=function(){return b[this.ptr+16>>>2]},this.get_exception_ptr=function(){if(gr(this.get_type()))return b[this.excPtr>>>2];var e=this.get_adjusted_ptr();return 0!==e?e:this.excPtr}}function ae(e,t,n){throw new ie(e).init(t,n),e}$(X="web-ifc.wasm")||(X=f(X));var se={};function oe(e){for(;e.length;){var t=e.pop();e.pop()(t)}}function le(e){return this.fromWireType(E[e>>>2])}var ue={},ce={},fe={},pe=48,Ae=57;function de(e){if(void 0===e)return"_unknown";var t=(e=e.replace(/[^a-zA-Z0-9_]/g,"$")).charCodeAt(0);return t>=pe&&t<=Ae?"_"+e:e}function ve(e,t){return e=de(e),new Function("body","return function "+e+'() {\n "use strict"; return body.apply(this, arguments);\n};\n')(t)}function he(e,t){var n=ve(t,(function(e){this.name=t,this.message=e;var n=new Error(e).stack;void 0!==n&&(this.stack=this.toString()+"\n"+n.replace(/^Error(:[^\n]*)?\n/,""))}));return n.prototype=Object.create(e.prototype),n.prototype.constructor=n,n.prototype.toString=function(){return void 0===this.message?this.name:this.name+": "+this.message},n}var Ie=void 0;function ye(e){throw new Ie(e)}function me(e,t,n){function r(t){var r=n(t);r.length!==e.length&&ye("Mismatched type converter count");for(var i=0;i>>0];)t+=Pe[m[n++>>>0]];return t}var Ce=void 0;function _e(e){throw new Ce(e)}function Be(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};if(!("argPackAdvance"in t))throw new TypeError("registerType registeredInstance requires argPackAdvance");var r=t.name;if(e||_e('type "'+r+'" must have a positive integer typeid pointer'),ce.hasOwnProperty(e)){if(n.ignoreDuplicateRegistrations)return;_e("Cannot register type '"+r+"' twice")}if(ce[e]=t,delete fe[e],ue.hasOwnProperty(e)){var i=ue[e];delete ue[e],i.forEach((function(e){return e()}))}}function Oe(e,t,n,r,i){var a=be(n);Be(e,{name:t=Re(t),fromWireType:function(e){return!!e},toWireType:function(e,t){return t?r:i},argPackAdvance:8,readValueFromPointer:function(e){var r;if(1===n)r=y;else if(2===n)r=w;else{if(4!==n)throw new TypeError("Unknown boolean type size: "+t);r=E}return this.fromWireType(r[e>>>a])},destructorFunction:null})}function Se(e){if(!(this instanceof at))return!1;if(!(e instanceof at))return!1;for(var t=this.$$.ptrType.registeredClass,n=this.$$.ptr,r=e.$$.ptrType.registeredClass,i=e.$$.ptr;t.baseClass;)n=t.upcast(n),t=t.baseClass;for(;r.baseClass;)i=r.upcast(i),r=r.baseClass;return t===r&&n===i}function Ne(e){return{count:e.count,deleteScheduled:e.deleteScheduled,preservePointerOnDelete:e.preservePointerOnDelete,ptr:e.ptr,ptrType:e.ptrType,smartPtr:e.smartPtr,smartPtrType:e.smartPtrType}}function Le(e){_e(e.$$.ptrType.registeredClass.name+" instance already deleted")}var xe=!1;function Me(e){}function Fe(e){e.smartPtr?e.smartPtrType.rawDestructor(e.smartPtr):e.ptrType.registeredClass.rawDestructor(e.ptr)}function He(e){e.count.value-=1,0===e.count.value&&Fe(e)}function Ue(e,t,n){if(t===n)return e;if(void 0===n.baseClass)return null;var r=Ue(e,t,n.baseClass);return null===r?null:n.downcast(r)}var Ge={};function ke(){return Object.keys(Ye).length}function je(){var e=[];for(var t in Ye)Ye.hasOwnProperty(t)&&e.push(Ye[t]);return e}var Ve=[];function Qe(){for(;Ve.length;){var e=Ve.pop();e.$$.deleteScheduled=!1,e.delete()}}var We=void 0;function ze(e){We=e,Ve.length&&We&&We(Qe)}function Ke(){i.getInheritedInstanceCount=ke,i.getLiveInheritedInstances=je,i.flushPendingDeletes=Qe,i.setDelayFunction=ze}var Ye={};function Xe(e,t){for(void 0===t&&_e("ptr should not be undefined");e.baseClass;)t=e.upcast(t),e=e.baseClass;return t}function qe(e,t){return t=Xe(e,t),Ye[t]}function Je(e,t){return t.ptrType&&t.ptr||ye("makeClassHandle requires ptr and ptrType"),!!t.smartPtrType!=!!t.smartPtr&&ye("Both smartPtrType and smartPtr must be specified"),t.count={value:1},$e(Object.create(e,{$$:{value:t}}))}function Ze(e){var t=this.getPointee(e);if(!t)return this.destructor(e),null;var n=qe(this.registeredClass,t);if(void 0!==n){if(0===n.$$.count.value)return n.$$.ptr=t,n.$$.smartPtr=e,n.clone();var r=n.clone();return this.destructor(e),r}function i(){return this.isSmartPointer?Je(this.registeredClass.instancePrototype,{ptrType:this.pointeeType,ptr:t,smartPtrType:this,smartPtr:e}):Je(this.registeredClass.instancePrototype,{ptrType:this,ptr:e})}var a,s=this.registeredClass.getActualType(t),o=Ge[s];if(!o)return i.call(this);a=this.isConst?o.constPointerType:o.pointerType;var l=Ue(t,this.registeredClass,a.registeredClass);return null===l?i.call(this):this.isSmartPointer?Je(a.registeredClass.instancePrototype,{ptrType:a,ptr:l,smartPtrType:this,smartPtr:e}):Je(a.registeredClass.instancePrototype,{ptrType:a,ptr:l})}function $e(e){return"undefined"==typeof FinalizationRegistry?($e=function(e){return e},e):(xe=new FinalizationRegistry((function(e){He(e.$$)})),Me=function(e){return xe.unregister(e)},($e=function(e){var t=e.$$;if(t.smartPtr){var n={$$:t};xe.register(e,n,e)}return e})(e))}function et(){if(this.$$.ptr||Le(this),this.$$.preservePointerOnDelete)return this.$$.count.value+=1,this;var e=$e(Object.create(Object.getPrototypeOf(this),{$$:{value:Ne(this.$$)}}));return e.$$.count.value+=1,e.$$.deleteScheduled=!1,e}function tt(){this.$$.ptr||Le(this),this.$$.deleteScheduled&&!this.$$.preservePointerOnDelete&&_e("Object already scheduled for deletion"),Me(this),He(this.$$),this.$$.preservePointerOnDelete||(this.$$.smartPtr=void 0,this.$$.ptr=void 0)}function nt(){return!this.$$.ptr}function rt(){return this.$$.ptr||Le(this),this.$$.deleteScheduled&&!this.$$.preservePointerOnDelete&&_e("Object already scheduled for deletion"),Ve.push(this),1===Ve.length&&We&&We(Qe),this.$$.deleteScheduled=!0,this}function it(){at.prototype.isAliasOf=Se,at.prototype.clone=et,at.prototype.delete=tt,at.prototype.isDeleted=nt,at.prototype.deleteLater=rt}function at(){}function st(e,t,n){if(void 0===e[t].overloadTable){var r=e[t];e[t]=function(){return e[t].overloadTable.hasOwnProperty(arguments.length)||_e("Function '"+n+"' called with an invalid number of arguments ("+arguments.length+") - expects one of ("+e[t].overloadTable+")!"),e[t].overloadTable[arguments.length].apply(this,arguments)},e[t].overloadTable=[],e[t].overloadTable[r.argCount]=r}}function ot(e,t,n){i.hasOwnProperty(e)?((void 0===n||void 0!==i[e].overloadTable&&void 0!==i[e].overloadTable[n])&&_e("Cannot register public name '"+e+"' twice"),st(i,e,e),i.hasOwnProperty(n)&&_e("Cannot register multiple overloads of a function with the same number of arguments ("+n+")!"),i[e].overloadTable[n]=t):(i[e]=t,void 0!==n&&(i[e].numArguments=n))}function lt(e,t,n,r,i,a,s,o){this.name=e,this.constructor=t,this.instancePrototype=n,this.rawDestructor=r,this.baseClass=i,this.getActualType=a,this.upcast=s,this.downcast=o,this.pureVirtualFunctions=[]}function ut(e,t,n){for(;t!==n;)t.upcast||_e("Expected null or instance of "+n.name+", got an instance of "+t.name),e=t.upcast(e),t=t.baseClass;return e}function ct(e,t){if(null===t)return this.isReference&&_e("null is not a valid "+this.name),0;t.$$||_e('Cannot pass "'+zt(t)+'" as a '+this.name),t.$$.ptr||_e("Cannot pass deleted object as a pointer of type "+this.name);var n=t.$$.ptrType.registeredClass;return ut(t.$$.ptr,n,this.registeredClass)}function ft(e,t){var n;if(null===t)return this.isReference&&_e("null is not a valid "+this.name),this.isSmartPointer?(n=this.rawConstructor(),null!==e&&e.push(this.rawDestructor,n),n):0;t.$$||_e('Cannot pass "'+zt(t)+'" as a '+this.name),t.$$.ptr||_e("Cannot pass deleted object as a pointer of type "+this.name),!this.isConst&&t.$$.ptrType.isConst&&_e("Cannot convert argument of type "+(t.$$.smartPtrType?t.$$.smartPtrType.name:t.$$.ptrType.name)+" to parameter type "+this.name);var r=t.$$.ptrType.registeredClass;if(n=ut(t.$$.ptr,r,this.registeredClass),this.isSmartPointer)switch(void 0===t.$$.smartPtr&&_e("Passing raw pointer to smart pointer is illegal"),this.sharingPolicy){case 0:t.$$.smartPtrType===this?n=t.$$.smartPtr:_e("Cannot convert argument of type "+(t.$$.smartPtrType?t.$$.smartPtrType.name:t.$$.ptrType.name)+" to parameter type "+this.name);break;case 1:n=t.$$.smartPtr;break;case 2:if(t.$$.smartPtrType===this)n=t.$$.smartPtr;else{var i=t.clone();n=this.rawShare(n,Gt.toHandle((function(){i.delete()}))),null!==e&&e.push(this.rawDestructor,n)}break;default:_e("Unsupporting sharing policy")}return n}function pt(e,t){if(null===t)return this.isReference&&_e("null is not a valid "+this.name),0;t.$$||_e('Cannot pass "'+zt(t)+'" as a '+this.name),t.$$.ptr||_e("Cannot pass deleted object as a pointer of type "+this.name),t.$$.ptrType.isConst&&_e("Cannot convert argument of type "+t.$$.ptrType.name+" to parameter type "+this.name);var n=t.$$.ptrType.registeredClass;return ut(t.$$.ptr,n,this.registeredClass)}function At(e){return this.rawGetPointee&&(e=this.rawGetPointee(e)),e}function dt(e){this.rawDestructor&&this.rawDestructor(e)}function vt(e){null!==e&&e.delete()}function ht(){It.prototype.getPointee=At,It.prototype.destructor=dt,It.prototype.argPackAdvance=8,It.prototype.readValueFromPointer=le,It.prototype.deleteObject=vt,It.prototype.fromWireType=Ze}function It(e,t,n,r,i,a,s,o,l,u,c){this.name=e,this.registeredClass=t,this.isReference=n,this.isConst=r,this.isSmartPointer=i,this.pointeeType=a,this.sharingPolicy=s,this.rawGetPointee=o,this.rawConstructor=l,this.rawShare=u,this.rawDestructor=c,i||void 0!==t.baseClass?this.toWireType=ft:r?(this.toWireType=ct,this.destructorFunction=null):(this.toWireType=pt,this.destructorFunction=null)}function yt(e,t,n){i.hasOwnProperty(e)||ye("Replacing nonexistant public symbol"),void 0!==i[e].overloadTable&&void 0!==n?i[e].overloadTable[n]=t:(i[e]=t,i[e].argCount=n)}function mt(e,t,n){var r=i["dynCall_"+e];return n&&n.length?r.apply(null,[t].concat(n)):r.call(null,t)}var wt=[];function gt(e){var t=wt[e];return t||(e>=wt.length&&(wt.length=e+1),wt[e]=t=R.get(e)),t}function Et(e,t,n){return e.includes("j")?mt(e,t,n):gt(t).apply(null,n)}function Tt(e,t){var n=[];return function(){return n.length=0,Object.assign(n,arguments),Et(e,t,n)}}function bt(e,t){var n=(e=Re(e)).includes("j")?Tt(e,t):gt(t);return"function"!=typeof n&&_e("unknown function pointer with signature "+e+": "+t),n}var Dt=void 0;function Pt(e){var t=yr(e),n=Re(t);return wr(t),n}function Rt(e,t){var n=[],r={};throw t.forEach((function e(t){r[t]||ce[t]||(fe[t]?fe[t].forEach(e):(n.push(t),r[t]=!0))})),new Dt(e+": "+n.map(Pt).join([", "]))}function Ct(e,t,n,r,i,a,s,o,l,u,c,f,p){c=Re(c),a=bt(i,a),o&&(o=bt(s,o)),u&&(u=bt(l,u)),p=bt(f,p);var A=de(c);ot(A,(function(){Rt("Cannot construct "+c+" due to unbound types",[r])})),me([e,t,n],r?[r]:[],(function(t){var n,i;t=t[0],i=r?(n=t.registeredClass).instancePrototype:at.prototype;var s=ve(A,(function(){if(Object.getPrototypeOf(this)!==l)throw new Ce("Use 'new' to construct "+c);if(void 0===f.constructor_body)throw new Ce(c+" has no accessible constructor");var e=f.constructor_body[arguments.length];if(void 0===e)throw new Ce("Tried to invoke ctor of "+c+" with invalid number of parameters ("+arguments.length+") - expected ("+Object.keys(f.constructor_body).toString()+") parameters instead!");return e.apply(this,arguments)})),l=Object.create(i,{constructor:{value:s}});s.prototype=l;var f=new lt(c,s,l,p,n,a,o,u),d=new It(c,f,!0,!1,!1),v=new It(c+"*",f,!1,!1,!1),h=new It(c+" const*",f,!1,!0,!1);return Ge[e]={pointerType:v,constPointerType:h},yt(A,s),[d,v,h]}))}function _t(e,t){for(var n=[],r=0;r>>2]);return n}function Bt(e,t){if(!(e instanceof Function))throw new TypeError("new_ called with constructor type "+T(e)+" which is not a function");var n=ve(e.name||"unknownFunctionName",(function(){}));n.prototype=e.prototype;var r=new n,i=e.apply(r,t);return i instanceof Object?i:r}function Ot(e,t,n,r,i){var a=t.length;a<2&&_e("argTypes array size mismatch! Must at least get return value and 'this' types!");for(var s=null!==t[1]&&null!==n,o=!1,l=1;l0?", ":"")+f),p+=(u?"var rv = ":"")+"invoker(fn"+(f.length>0?", ":"")+f+");\n",o)p+="runDestructors(destructors);\n";else for(l=s?1:2;l0);var s=_t(t,n);i=bt(r,i),me([],[e],(function(e){var n="constructor "+(e=e[0]).name;if(void 0===e.registeredClass.constructor_body&&(e.registeredClass.constructor_body=[]),void 0!==e.registeredClass.constructor_body[t-1])throw new Ce("Cannot register multiple constructors with identical number of parameters ("+(t-1)+") for class '"+e.name+"'! Overload resolution is currently only performed using the parameter count, not actual type info!");return e.registeredClass.constructor_body[t-1]=function(){Rt("Cannot construct "+e.name+" due to unbound types",s)},me([],s,(function(r){return r.splice(1,0,null),e.registeredClass.constructor_body[t-1]=Ot(n,r,null,i,a),[]})),[]}))}function Nt(e,t,n,r,i,a,s,o){var l=_t(n,r);t=Re(t),a=bt(i,a),me([],[e],(function(e){var r=(e=e[0]).name+"."+t;function i(){Rt("Cannot call "+r+" due to unbound types",l)}t.startsWith("@@")&&(t=Symbol[t.substring(2)]),o&&e.registeredClass.pureVirtualFunctions.push(t);var u=e.registeredClass.instancePrototype,c=u[t];return void 0===c||void 0===c.overloadTable&&c.className!==e.name&&c.argCount===n-2?(i.argCount=n-2,i.className=e.name,u[t]=i):(st(u,t,r),u[t].overloadTable[n-2]=i),me([],l,(function(i){var o=Ot(r,i,e,a,s);return void 0===u[t].overloadTable?(o.argCount=n-2,u[t]=o):u[t].overloadTable[n-2]=o,[]})),[]}))}var Lt=[],xt=[{},{value:void 0},{value:null},{value:!0},{value:!1}];function Mt(e){e>4&&0==--xt[e].refcount&&(xt[e]=void 0,Lt.push(e))}function Ft(){for(var e=0,t=5;t>>2])};case 3:return function(e){return this.fromWireType(P[e>>>3])};default:throw new TypeError("Unknown float type: "+e)}}function Yt(e,t,n){var r=be(n);Be(e,{name:t=Re(t),fromWireType:function(e){return e},toWireType:function(e,t){return t},argPackAdvance:8,readValueFromPointer:Kt(t,r),destructorFunction:null})}function Xt(e,t,n,r,i,a){var s=_t(t,n);e=Re(e),i=bt(r,i),ot(e,(function(){Rt("Cannot call "+e+" due to unbound types",s)}),t-1),me([],s,(function(n){var r=[n[0],null].concat(n.slice(1));return yt(e,Ot(e,r,null,i,a),t-1),[]}))}function qt(e,t,n){switch(t){case 0:return n?function(e){return y[e>>>0]}:function(e){return m[e>>>0]};case 1:return n?function(e){return w[e>>>1]}:function(e){return g[e>>>1]};case 2:return n?function(e){return E[e>>>2]}:function(e){return b[e>>>2]};default:throw new TypeError("Unknown integer type: "+e)}}function Jt(e,t,n,r,i){t=Re(t);var a=be(n),s=function(e){return e};if(0===r){var o=32-8*n;s=function(e){return e<>>o}}var l=t.includes("unsigned");Be(e,{name:t,fromWireType:s,toWireType:l?function(e,t){return this.name,t>>>0}:function(e,t){return this.name,t},argPackAdvance:8,readValueFromPointer:qt(t,a,0!==r),destructorFunction:null})}function Zt(e,t,n){var r=[Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array][t];function i(e){var t=b,n=t[(e>>=2)>>>0],i=t[e+1>>>0];return new r(t.buffer,i,n)}Be(e,{name:n=Re(n),fromWireType:i,argPackAdvance:8,readValueFromPointer:i},{ignoreDuplicateRegistrations:!0})}function $t(e,t){var n="std::string"===(t=Re(t));Be(e,{name:t,fromWireType:function(e){var t,r=b[e>>>2],i=e+4;if(n)for(var a=i,s=0;s<=r;++s){var o=i+s;if(s==r||0==m[o>>>0]){var l=B(a,o-a);void 0===t?t=l:(t+=String.fromCharCode(0),t+=l),a=o+1}}else{var u=new Array(r);for(s=0;s>>0]);t=u.join("")}return wr(e),t},toWireType:function(e,t){var r;t instanceof ArrayBuffer&&(t=new Uint8Array(t));var i="string"==typeof t;i||t instanceof Uint8Array||t instanceof Uint8ClampedArray||t instanceof Int8Array||_e("Cannot pass non-string to std::string"),r=n&&i?N(t):t.length;var a=Ir(4+r+1),s=a+4;if(s>>>=0,b[a>>>2]=r,n&&i)S(t,s,r+1);else if(i)for(var o=0;o255&&(wr(s),_e("String has UTF-16 code units that do not fit in 8 bits")),m[s+o>>>0]=l}else for(o=0;o>>0]=t[o];return null!==e&&e.push(wr,a),a},argPackAdvance:8,readValueFromPointer:le,destructorFunction:function(e){wr(e)}})}var en="undefined"!=typeof TextDecoder?new TextDecoder("utf-16le"):void 0;function tn(e,t){for(var n=e,r=n>>1,i=r+t/2;!(r>=i)&&g[r>>>0];)++r;if((n=r<<1)-e>32&&en)return en.decode(m.subarray(e>>>0,n>>>0));for(var a="",s=0;!(s>=t/2);++s){var o=w[e+2*s>>>1];if(0==o)break;a+=String.fromCharCode(o)}return a}function nn(e,t,n){if(void 0===n&&(n=2147483647),n<2)return 0;for(var r=t,i=(n-=2)<2*e.length?n/2:e.length,a=0;a>>1]=s,t+=2}return w[t>>>1]=0,t-r}function rn(e){return 2*e.length}function an(e,t){for(var n=0,r="";!(n>=t/4);){var i=E[e+4*n>>>2];if(0==i)break;if(++n,i>=65536){var a=i-65536;r+=String.fromCharCode(55296|a>>10,56320|1023&a)}else r+=String.fromCharCode(i)}return r}function sn(e,t,n){if(void 0===n&&(n=2147483647),n<4)return 0;for(var r=t>>>=0,i=r+n-4,a=0;a=55296&&s<=57343&&(s=65536+((1023&s)<<10)|1023&e.charCodeAt(++a)),E[t>>>2]=s,(t+=4)+4>i)break}return E[t>>>2]=0,t-r}function on(e){for(var t=0,n=0;n=55296&&r<=57343&&++n,t+=4}return t}function ln(e,t,n){var r,i,a,s,o;n=Re(n),2===t?(r=tn,i=nn,s=rn,a=function(){return g},o=1):4===t&&(r=an,i=sn,s=on,a=function(){return b},o=2),Be(e,{name:n,fromWireType:function(e){for(var n,i=b[e>>>2],s=a(),l=e+4,u=0;u<=i;++u){var c=e+4+u*t;if(u==i||0==s[c>>>o]){var f=r(l,c-l);void 0===n?n=f:(n+=String.fromCharCode(0),n+=f),l=c+t}}return wr(e),n},toWireType:function(e,r){"string"!=typeof r&&_e("Cannot pass non-string to C++ string type "+n);var a=s(r),l=Ir(4+a+t);return b[(l>>>=0)>>>2]=a>>o,i(r,l+4,a+t),null!==e&&e.push(wr,l),l},argPackAdvance:8,readValueFromPointer:le,destructorFunction:function(e){wr(e)}})}function un(e,t,n,r,i,a){se[e]={name:Re(t),rawConstructor:bt(n,r),rawDestructor:bt(i,a),elements:[]}}function cn(e,t,n,r,i,a,s,o,l){se[e].elements.push({getterReturnType:t,getter:bt(n,r),getterContext:i,setterArgumentType:a,setter:bt(s,o),setterContext:l})}function fn(e,t,n,r,i,a){ge[e]={name:Re(t),rawConstructor:bt(n,r),rawDestructor:bt(i,a),fields:[]}}function pn(e,t,n,r,i,a,s,o,l,u){ge[e].fields.push({fieldName:Re(t),getterReturnType:n,getter:bt(r,i),getterContext:a,setterArgumentType:s,setter:bt(o,l),setterContext:u})}function An(e,t){Be(e,{isVoid:!0,name:t=Re(t),argPackAdvance:0,fromWireType:function(){},toWireType:function(e,t){}})}function dn(e,t,n){e=Gt.toValue(e),t=Qt(t,"emval::as");var r=[],i=Gt.toHandle(r);return b[n>>>2]=i,t.toWireType(r,e)}function vn(e,t){for(var n=new Array(e),r=0;r>>2],"parameter "+r);return n}function hn(e,t,n,r){e=Gt.toValue(e);for(var i=vn(t,n),a=new Array(t),s=0;s4&&(xt[e].refcount+=1)}function Tn(e,t){return(e=Gt.toValue(e))instanceof(t=Gt.toValue(t))}function bn(e){return"number"==typeof(e=Gt.toValue(e))}function Dn(e){return"string"==typeof(e=Gt.toValue(e))}function Pn(){return Gt.toHandle([])}function Rn(e){return Gt.toHandle(yn(e))}function Cn(){return Gt.toHandle({})}function _n(e){oe(Gt.toValue(e)),Mt(e)}function Bn(e,t,n){e=Gt.toValue(e),t=Gt.toValue(t),n=Gt.toValue(n),e[t]=n}function On(e,t){var n=(e=Qt(e,"_emval_take_value")).readValueFromPointer(t);return Gt.toHandle(n)}function Sn(){Y("")}function Nn(e,t,n){m.copyWithin(e>>>0,t>>>0,t+n>>>0)}function Ln(e){var t=A.buffer;try{return A.grow(e-t.byteLength+65535>>>16),L(),1}catch(e){}}function xn(e){var t=m.length,n=4294901760;if((e>>>=0)>n)return!1;for(var r,i,a=1;a<=4;a*=2){var s=t*(1+.2/a);if(s=Math.min(s,e+100663296),Ln(Math.min(n,(r=Math.max(e,s))+((i=65536)-r%i)%i)))return!0}return!1}var Mn={};function Fn(){return l||"./this.program"}function Hn(){if(!Hn.strings){var e={USER:"web_user",LOGNAME:"web_user",PATH:"/",PWD:"/",HOME:"/home/web_user",LANG:("object"==("undefined"==typeof navigator?"undefined":T(navigator))&&navigator.languages&&navigator.languages[0]||"C").replace("-","_")+".UTF-8",_:Fn()};for(var t in Mn)void 0===Mn[t]?delete e[t]:e[t]=Mn[t];var n=[];for(var t in e)n.push(t+"="+e[t]);Hn.strings=n}return Hn.strings}function Un(e,t,n){for(var r=0;r>>0]=e.charCodeAt(r);n||(y[t>>>0]=0)}var Gn={isAbs:function(e){return"/"===e.charAt(0)},splitPath:function(e){return/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/.exec(e).slice(1)},normalizeArray:function(e,t){for(var n=0,r=e.length-1;r>=0;r--){var i=e[r];"."===i?e.splice(r,1):".."===i?(e.splice(r,1),n++):n&&(e.splice(r,1),n--)}if(t)for(;n;n--)e.unshift("..");return e},normalize:function(e){var t=Gn.isAbs(e),n="/"===e.substr(-1);return e=Gn.normalizeArray(e.split("/").filter((function(e){return!!e})),!t).join("/"),e||t||(e="."),e&&n&&(e+="/"),(t?"/":"")+e},dirname:function(e){var t=Gn.splitPath(e),n=t[0],r=t[1];return n||r?(r&&(r=r.substr(0,r.length-1)),n+r):"."},basename:function(e){if("/"===e)return"/";var t=(e=(e=Gn.normalize(e)).replace(/\/$/,"")).lastIndexOf("/");return-1===t?e:e.substr(t+1)},join:function(){var e=Array.prototype.slice.call(arguments);return Gn.normalize(e.join("/"))},join2:function(e,t){return Gn.normalize(e+"/"+t)}};function kn(){if("object"==("undefined"==typeof crypto?"undefined":T(crypto))&&"function"==typeof crypto.getRandomValues){var e=new Uint8Array(1);return function(){return crypto.getRandomValues(e),e[0]}}return function(){return Y("randomDevice")}}var jn={resolve:function(){for(var e="",t=!1,n=arguments.length-1;n>=-1&&!t;n--){var r=n>=0?arguments[n]:Yn.cwd();if("string"!=typeof r)throw new TypeError("Arguments to path.resolve must be strings");if(!r)return"";e=r+"/"+e,t=Gn.isAbs(r)}return e=Gn.normalizeArray(e.split("/").filter((function(e){return!!e})),!t).join("/"),(t?"/":"")+e||"."},relative:function(e,t){function n(e){for(var t=0;t=0&&""===e[n];n--);return t>n?[]:e.slice(t,n-t+1)}e=jn.resolve(e).substr(1),t=jn.resolve(t).substr(1);for(var r=n(e.split("/")),i=n(t.split("/")),a=Math.min(r.length,i.length),s=a,o=0;o0?n:N(e)+1,i=new Array(r),a=O(e,i,0,i.length);return t&&(i.length=a),i}var Qn={ttys:[],init:function(){},shutdown:function(){},register:function(e,t){Qn.ttys[e]={input:[],output:[],ops:t},Yn.registerDevice(e,Qn.stream_ops)},stream_ops:{open:function(e){var t=Qn.ttys[e.node.rdev];if(!t)throw new Yn.ErrnoError(43);e.tty=t,e.seekable=!1},close:function(e){e.tty.ops.fsync(e.tty)},fsync:function(e){e.tty.ops.fsync(e.tty)},read:function(e,t,n,r,i){if(!e.tty||!e.tty.ops.get_char)throw new Yn.ErrnoError(60);for(var a=0,s=0;s0&&(d(_(e.output,0)),e.output=[])}},default_tty1_ops:{put_char:function(e,t){null===t||10===t?(v(_(e.output,0)),e.output=[]):0!=t&&e.output.push(t)},fsync:function(e){e.output&&e.output.length>0&&(v(_(e.output,0)),e.output=[])}}};function Wn(e){Y()}var zn={ops_table:null,mount:function(e){return zn.createNode(null,"/",16895,0)},createNode:function(e,t,n,r){if(Yn.isBlkdev(n)||Yn.isFIFO(n))throw new Yn.ErrnoError(63);zn.ops_table||(zn.ops_table={dir:{node:{getattr:zn.node_ops.getattr,setattr:zn.node_ops.setattr,lookup:zn.node_ops.lookup,mknod:zn.node_ops.mknod,rename:zn.node_ops.rename,unlink:zn.node_ops.unlink,rmdir:zn.node_ops.rmdir,readdir:zn.node_ops.readdir,symlink:zn.node_ops.symlink},stream:{llseek:zn.stream_ops.llseek}},file:{node:{getattr:zn.node_ops.getattr,setattr:zn.node_ops.setattr},stream:{llseek:zn.stream_ops.llseek,read:zn.stream_ops.read,write:zn.stream_ops.write,allocate:zn.stream_ops.allocate,mmap:zn.stream_ops.mmap,msync:zn.stream_ops.msync}},link:{node:{getattr:zn.node_ops.getattr,setattr:zn.node_ops.setattr,readlink:zn.node_ops.readlink},stream:{}},chrdev:{node:{getattr:zn.node_ops.getattr,setattr:zn.node_ops.setattr},stream:Yn.chrdev_stream_ops}});var i=Yn.createNode(e,t,n,r);return Yn.isDir(i.mode)?(i.node_ops=zn.ops_table.dir.node,i.stream_ops=zn.ops_table.dir.stream,i.contents={}):Yn.isFile(i.mode)?(i.node_ops=zn.ops_table.file.node,i.stream_ops=zn.ops_table.file.stream,i.usedBytes=0,i.contents=null):Yn.isLink(i.mode)?(i.node_ops=zn.ops_table.link.node,i.stream_ops=zn.ops_table.link.stream):Yn.isChrdev(i.mode)&&(i.node_ops=zn.ops_table.chrdev.node,i.stream_ops=zn.ops_table.chrdev.stream),i.timestamp=Date.now(),e&&(e.contents[t]=i,e.timestamp=i.timestamp),i},getFileDataAsTypedArray:function(e){return e.contents?e.contents.subarray?e.contents.subarray(0,e.usedBytes):new Uint8Array(e.contents):new Uint8Array(0)},expandFileStorage:function(e,t){t>>>=0;var n=e.contents?e.contents.length:0;if(!(n>=t)){t=Math.max(t,n*(n<1048576?2:1.125)>>>0),0!=n&&(t=Math.max(t,256));var r=e.contents;e.contents=new Uint8Array(t),e.usedBytes>0&&e.contents.set(r.subarray(0,e.usedBytes),0)}},resizeFileStorage:function(e,t){if(t>>>=0,e.usedBytes!=t)if(0==t)e.contents=null,e.usedBytes=0;else{var n=e.contents;e.contents=new Uint8Array(t),n&&e.contents.set(n.subarray(0,Math.min(t,e.usedBytes))),e.usedBytes=t}},node_ops:{getattr:function(e){var t={};return t.dev=Yn.isChrdev(e.mode)?e.id:1,t.ino=e.id,t.mode=e.mode,t.nlink=1,t.uid=0,t.gid=0,t.rdev=e.rdev,Yn.isDir(e.mode)?t.size=4096:Yn.isFile(e.mode)?t.size=e.usedBytes:Yn.isLink(e.mode)?t.size=e.link.length:t.size=0,t.atime=new Date(e.timestamp),t.mtime=new Date(e.timestamp),t.ctime=new Date(e.timestamp),t.blksize=4096,t.blocks=Math.ceil(t.size/t.blksize),t},setattr:function(e,t){void 0!==t.mode&&(e.mode=t.mode),void 0!==t.timestamp&&(e.timestamp=t.timestamp),void 0!==t.size&&zn.resizeFileStorage(e,t.size)},lookup:function(e,t){throw Yn.genericErrors[44]},mknod:function(e,t,n,r){return zn.createNode(e,t,n,r)},rename:function(e,t,n){if(Yn.isDir(e.mode)){var r;try{r=Yn.lookupNode(t,n)}catch(e){}if(r)for(var i in r.contents)throw new Yn.ErrnoError(55)}delete e.parent.contents[e.name],e.parent.timestamp=Date.now(),e.name=n,t.contents[n]=e,t.timestamp=e.parent.timestamp,e.parent=t},unlink:function(e,t){delete e.contents[t],e.timestamp=Date.now()},rmdir:function(e,t){var n=Yn.lookupNode(e,t);for(var r in n.contents)throw new Yn.ErrnoError(55);delete e.contents[t],e.timestamp=Date.now()},readdir:function(e){var t=[".",".."];for(var n in e.contents)e.contents.hasOwnProperty(n)&&t.push(n);return t},symlink:function(e,t,n){var r=zn.createNode(e,t,41471,0);return r.link=n,r},readlink:function(e){if(!Yn.isLink(e.mode))throw new Yn.ErrnoError(28);return e.link}},stream_ops:{read:function(e,t,n,r,i){var a=e.node.contents;if(i>=e.node.usedBytes)return 0;var s=Math.min(e.node.usedBytes-i,r);if(s>8&&a.subarray)t.set(a.subarray(i,i+s),n);else for(var o=0;o0||n+t>>=0,y.set(o,a>>>0)}else s=!1,a=o.byteOffset;return{ptr:a,allocated:s}},msync:function(e,t,n,r,i){return zn.stream_ops.write(e,t,0,r,n,!1),0}}};function Kn(e,t,n,r){var i=r?"":"al "+e;s(e,(function(n){I(n,'Loading data file "'+e+'" failed (no arrayBuffer).'),t(new Uint8Array(n)),i&&K()}),(function(t){if(!n)throw'Loading data file "'+e+'" failed.';n()})),i&&z()}var Yn={root:null,mounts:[],devices:{},streams:[],nextInode:1,nameTable:null,currentPath:"/",initialized:!1,ignorePermissions:!0,ErrnoError:null,genericErrors:{},filesystems:null,syncFSRequests:0,lookupPath:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(!(e=jn.resolve(e)))return{path:"",node:null};var n={follow_mount:!0,recurse_count:0};if((t=Object.assign(n,t)).recurse_count>8)throw new Yn.ErrnoError(32);for(var r=e.split("/").filter((function(e){return!!e})),i=Yn.root,a="/",s=0;s40)throw new Yn.ErrnoError(32)}}return{path:a,node:i}},getPath:function(e){for(var t;;){if(Yn.isRoot(e)){var n=e.mount.mountpoint;return t?"/"!==n[n.length-1]?n+"/"+t:n+t:n}t=t?e.name+"/"+t:e.name,e=e.parent}},hashName:function(e,t){for(var n=0,r=0;r>>0)%Yn.nameTable.length},hashAddNode:function(e){var t=Yn.hashName(e.parent.id,e.name);e.name_next=Yn.nameTable[t],Yn.nameTable[t]=e},hashRemoveNode:function(e){var t=Yn.hashName(e.parent.id,e.name);if(Yn.nameTable[t]===e)Yn.nameTable[t]=e.name_next;else for(var n=Yn.nameTable[t];n;){if(n.name_next===e){n.name_next=e.name_next;break}n=n.name_next}},lookupNode:function(e,t){var n=Yn.mayLookup(e);if(n)throw new Yn.ErrnoError(n,e);for(var r=Yn.hashName(e.id,t),i=Yn.nameTable[r];i;i=i.name_next){var a=i.name;if(i.parent.id===e.id&&a===t)return i}return Yn.lookup(e,t)},createNode:function(e,t,n,r){var i=new Yn.FSNode(e,t,n,r);return Yn.hashAddNode(i),i},destroyNode:function(e){Yn.hashRemoveNode(e)},isRoot:function(e){return e===e.parent},isMountpoint:function(e){return!!e.mounted},isFile:function(e){return 32768==(61440&e)},isDir:function(e){return 16384==(61440&e)},isLink:function(e){return 40960==(61440&e)},isChrdev:function(e){return 8192==(61440&e)},isBlkdev:function(e){return 24576==(61440&e)},isFIFO:function(e){return 4096==(61440&e)},isSocket:function(e){return 49152==(49152&e)},flagModes:{r:0,"r+":2,w:577,"w+":578,a:1089,"a+":1090},modeStringToFlags:function(e){var t=Yn.flagModes[e];if(void 0===t)throw new Error("Unknown file open mode: "+e);return t},flagsToPermissionString:function(e){var t=["r","w","rw"][3&e];return 512&e&&(t+="w"),t},nodePermissions:function(e,t){return Yn.ignorePermissions||(!t.includes("r")||292&e.mode)&&(!t.includes("w")||146&e.mode)&&(!t.includes("x")||73&e.mode)?0:2},mayLookup:function(e){var t=Yn.nodePermissions(e,"x");return t||(e.node_ops.lookup?0:2)},mayCreate:function(e,t){try{return Yn.lookupNode(e,t),20}catch(e){}return Yn.nodePermissions(e,"wx")},mayDelete:function(e,t,n){var r;try{r=Yn.lookupNode(e,t)}catch(e){return e.errno}var i=Yn.nodePermissions(e,"wx");if(i)return i;if(n){if(!Yn.isDir(r.mode))return 54;if(Yn.isRoot(r)||Yn.getPath(r)===Yn.cwd())return 10}else if(Yn.isDir(r.mode))return 31;return 0},mayOpen:function(e,t){return e?Yn.isLink(e.mode)?32:Yn.isDir(e.mode)&&("r"!==Yn.flagsToPermissionString(t)||512&t)?31:Yn.nodePermissions(e,Yn.flagsToPermissionString(t)):44},MAX_OPEN_FDS:4096,nextfd:function(){for(var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:Yn.MAX_OPEN_FDS,n=e;n<=t;n++)if(!Yn.streams[n])return n;throw new Yn.ErrnoError(33)},getStream:function(e){return Yn.streams[e]},createStream:function(e,t,n){Yn.FSStream||(Yn.FSStream=function(){this.shared={}},Yn.FSStream.prototype={},Object.defineProperties(Yn.FSStream.prototype,{object:{get:function(){return this.node},set:function(e){this.node=e}},isRead:{get:function(){return 1!=(2097155&this.flags)}},isWrite:{get:function(){return 0!=(2097155&this.flags)}},isAppend:{get:function(){return 1024&this.flags}},flags:{get:function(){return this.shared.flags},set:function(e){this.shared.flags=e}},position:{get:function(){return this.shared.position},set:function(e){this.shared.position=e}}})),e=Object.assign(new Yn.FSStream,e);var r=Yn.nextfd(t,n);return e.fd=r,Yn.streams[r]=e,e},closeStream:function(e){Yn.streams[e]=null},chrdev_stream_ops:{open:function(e){var t=Yn.getDevice(e.node.rdev);e.stream_ops=t.stream_ops,e.stream_ops.open&&e.stream_ops.open(e)},llseek:function(){throw new Yn.ErrnoError(70)}},major:function(e){return e>>8},minor:function(e){return 255&e},makedev:function(e,t){return e<<8|t},registerDevice:function(e,t){Yn.devices[e]={stream_ops:t}},getDevice:function(e){return Yn.devices[e]},getMounts:function(e){for(var t=[],n=[e];n.length;){var r=n.pop();t.push(r),n.push.apply(n,r.mounts)}return t},syncfs:function(e,t){"function"==typeof e&&(t=e,e=!1),Yn.syncFSRequests++,Yn.syncFSRequests>1&&v("warning: "+Yn.syncFSRequests+" FS.syncfs operations in flight at once, probably just doing extra work");var n=Yn.getMounts(Yn.root.mount),r=0;function i(e){return Yn.syncFSRequests--,t(e)}function a(e){if(e)return a.errored?void 0:(a.errored=!0,i(e));++r>=n.length&&i(null)}n.forEach((function(t){if(!t.type.syncfs)return a(null);t.type.syncfs(t,e,a)}))},mount:function(e,t,n){var r,i="/"===n,a=!n;if(i&&Yn.root)throw new Yn.ErrnoError(10);if(!i&&!a){var s=Yn.lookupPath(n,{follow_mount:!1});if(n=s.path,r=s.node,Yn.isMountpoint(r))throw new Yn.ErrnoError(10);if(!Yn.isDir(r.mode))throw new Yn.ErrnoError(54)}var o={type:e,opts:t,mountpoint:n,mounts:[]},l=e.mount(o);return l.mount=o,o.root=l,i?Yn.root=l:r&&(r.mounted=o,r.mount&&r.mount.mounts.push(o)),l},unmount:function(e){var t=Yn.lookupPath(e,{follow_mount:!1});if(!Yn.isMountpoint(t.node))throw new Yn.ErrnoError(28);var n=t.node,r=n.mounted,i=Yn.getMounts(r);Object.keys(Yn.nameTable).forEach((function(e){for(var t=Yn.nameTable[e];t;){var n=t.name_next;i.includes(t.mount)&&Yn.destroyNode(t),t=n}})),n.mounted=null;var a=n.mount.mounts.indexOf(r);n.mount.mounts.splice(a,1)},lookup:function(e,t){return e.node_ops.lookup(e,t)},mknod:function(e,t,n){var r=Yn.lookupPath(e,{parent:!0}).node,i=Gn.basename(e);if(!i||"."===i||".."===i)throw new Yn.ErrnoError(28);var a=Yn.mayCreate(r,i);if(a)throw new Yn.ErrnoError(a);if(!r.node_ops.mknod)throw new Yn.ErrnoError(63);return r.node_ops.mknod(r,i,t,n)},create:function(e,t){return t=void 0!==t?t:438,t&=4095,t|=32768,Yn.mknod(e,t,0)},mkdir:function(e,t){return t=void 0!==t?t:511,t&=1023,t|=16384,Yn.mknod(e,t,0)},mkdirTree:function(e,t){for(var n=e.split("/"),r="",i=0;i>>=0,r<0||i<0)throw new Yn.ErrnoError(28);if(Yn.isClosed(e))throw new Yn.ErrnoError(8);if(1==(2097155&e.flags))throw new Yn.ErrnoError(8);if(Yn.isDir(e.node.mode))throw new Yn.ErrnoError(31);if(!e.stream_ops.read)throw new Yn.ErrnoError(28);var a=void 0!==i;if(a){if(!e.seekable)throw new Yn.ErrnoError(70)}else i=e.position;var s=e.stream_ops.read(e,t,n,r,i);return a||(e.position+=s),s},write:function(e,t,n,r,i,a){if(n>>>=0,r<0||i<0)throw new Yn.ErrnoError(28);if(Yn.isClosed(e))throw new Yn.ErrnoError(8);if(0==(2097155&e.flags))throw new Yn.ErrnoError(8);if(Yn.isDir(e.node.mode))throw new Yn.ErrnoError(31);if(!e.stream_ops.write)throw new Yn.ErrnoError(28);e.seekable&&1024&e.flags&&Yn.llseek(e,0,2);var s=void 0!==i;if(s){if(!e.seekable)throw new Yn.ErrnoError(70)}else i=e.position;var o=e.stream_ops.write(e,t,n,r,i,a);return s||(e.position+=o),o},allocate:function(e,t,n){if(Yn.isClosed(e))throw new Yn.ErrnoError(8);if(t<0||n<=0)throw new Yn.ErrnoError(28);if(0==(2097155&e.flags))throw new Yn.ErrnoError(8);if(!Yn.isFile(e.node.mode)&&!Yn.isDir(e.node.mode))throw new Yn.ErrnoError(43);if(!e.stream_ops.allocate)throw new Yn.ErrnoError(138);e.stream_ops.allocate(e,t,n)},mmap:function(e,t,n,r,i){if(0!=(2&r)&&0==(2&i)&&2!=(2097155&e.flags))throw new Yn.ErrnoError(2);if(1==(2097155&e.flags))throw new Yn.ErrnoError(2);if(!e.stream_ops.mmap)throw new Yn.ErrnoError(43);return e.stream_ops.mmap(e,t,n,r,i)},msync:function(e,t,n,r,i){return n>>>=0,e.stream_ops.msync?e.stream_ops.msync(e,t,n,r,i):0},munmap:function(e){return 0},ioctl:function(e,t,n){if(!e.stream_ops.ioctl)throw new Yn.ErrnoError(59);return e.stream_ops.ioctl(e,t,n)},readFile:function(e){var t,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(n.flags=n.flags||0,n.encoding=n.encoding||"binary","utf8"!==n.encoding&&"binary"!==n.encoding)throw new Error('Invalid encoding type "'+n.encoding+'"');var r=Yn.open(e,n.flags),i=Yn.stat(e),a=i.size,s=new Uint8Array(a);return Yn.read(r,s,0,a,0),"utf8"===n.encoding?t=_(s,0):"binary"===n.encoding&&(t=s),Yn.close(r),t},writeFile:function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};n.flags=n.flags||577;var r=Yn.open(e,n.flags,n.mode);if("string"==typeof t){var i=new Uint8Array(N(t)+1),a=O(t,i,0,i.length);Yn.write(r,i,0,a,void 0,n.canOwn)}else{if(!ArrayBuffer.isView(t))throw new Error("Unsupported data type");Yn.write(r,t,0,t.byteLength,void 0,n.canOwn)}Yn.close(r)},cwd:function(){return Yn.currentPath},chdir:function(e){var t=Yn.lookupPath(e,{follow:!0});if(null===t.node)throw new Yn.ErrnoError(44);if(!Yn.isDir(t.node.mode))throw new Yn.ErrnoError(54);var n=Yn.nodePermissions(t.node,"x");if(n)throw new Yn.ErrnoError(n);Yn.currentPath=t.path},createDefaultDirectories:function(){Yn.mkdir("/tmp"),Yn.mkdir("/home"),Yn.mkdir("/home/web_user")},createDefaultDevices:function(){Yn.mkdir("/dev"),Yn.registerDevice(Yn.makedev(1,3),{read:function(){return 0},write:function(e,t,n,r,i){return r}}),Yn.mkdev("/dev/null",Yn.makedev(1,3)),Qn.register(Yn.makedev(5,0),Qn.default_tty_ops),Qn.register(Yn.makedev(6,0),Qn.default_tty1_ops),Yn.mkdev("/dev/tty",Yn.makedev(5,0)),Yn.mkdev("/dev/tty1",Yn.makedev(6,0));var e=kn();Yn.createDevice("/dev","random",e),Yn.createDevice("/dev","urandom",e),Yn.mkdir("/dev/shm"),Yn.mkdir("/dev/shm/tmp")},createSpecialDirectories:function(){Yn.mkdir("/proc");var e=Yn.mkdir("/proc/self");Yn.mkdir("/proc/self/fd"),Yn.mount({mount:function(){var t=Yn.createNode(e,"fd",16895,73);return t.node_ops={lookup:function(e,t){var n=+t,r=Yn.getStream(n);if(!r)throw new Yn.ErrnoError(8);var i={parent:null,mount:{mountpoint:"fake"},node_ops:{readlink:function(){return r.path}}};return i.parent=i,i}},t}},{},"/proc/self/fd")},createStandardStreams:function(){i.stdin?Yn.createDevice("/dev","stdin",i.stdin):Yn.symlink("/dev/tty","/dev/stdin"),i.stdout?Yn.createDevice("/dev","stdout",null,i.stdout):Yn.symlink("/dev/tty","/dev/stdout"),i.stderr?Yn.createDevice("/dev","stderr",null,i.stderr):Yn.symlink("/dev/tty1","/dev/stderr"),Yn.open("/dev/stdin",0),Yn.open("/dev/stdout",1),Yn.open("/dev/stderr",1)},ensureErrnoError:function(){Yn.ErrnoError||(Yn.ErrnoError=function(e,t){this.node=t,this.setErrno=function(e){this.errno=e},this.setErrno(e),this.message="FS error"},Yn.ErrnoError.prototype=new Error,Yn.ErrnoError.prototype.constructor=Yn.ErrnoError,[44].forEach((function(e){Yn.genericErrors[e]=new Yn.ErrnoError(e),Yn.genericErrors[e].stack=""})))},staticInit:function(){Yn.ensureErrnoError(),Yn.nameTable=new Array(4096),Yn.mount(zn,{},"/"),Yn.createDefaultDirectories(),Yn.createDefaultDevices(),Yn.createSpecialDirectories(),Yn.filesystems={MEMFS:zn}},init:function(e,t,n){Yn.init.initialized=!0,Yn.ensureErrnoError(),i.stdin=e||i.stdin,i.stdout=t||i.stdout,i.stderr=n||i.stderr,Yn.createStandardStreams()},quit:function(){Yn.init.initialized=!1;for(var e=0;ethis.length-1||e<0)){var t=e%this.chunkSize,n=e/this.chunkSize|0;return this.getter(n)[t]}},a.prototype.setDataGetter=function(e){this.getter=e},a.prototype.cacheLength=function(){var e=new XMLHttpRequest;if(e.open("HEAD",n,!1),e.send(null),!(e.status>=200&&e.status<300||304===e.status))throw new Error("Couldn't load "+n+". Status: "+e.status);var t,r=Number(e.getResponseHeader("Content-length")),i=(t=e.getResponseHeader("Accept-Ranges"))&&"bytes"===t,a=(t=e.getResponseHeader("Content-Encoding"))&&"gzip"===t,s=1048576;i||(s=r);var o=this;o.setDataGetter((function(e){var t=e*s,i=(e+1)*s-1;if(i=Math.min(i,r-1),void 0===o.chunks[e]&&(o.chunks[e]=function(e,t){if(e>t)throw new Error("invalid range ("+e+", "+t+") or no bytes requested!");if(t>r-1)throw new Error("only "+r+" bytes available! programmer error!");var i=new XMLHttpRequest;if(i.open("GET",n,!1),r!==s&&i.setRequestHeader("Range","bytes="+e+"-"+t),i.responseType="arraybuffer",i.overrideMimeType&&i.overrideMimeType("text/plain; charset=x-user-defined"),i.send(null),!(i.status>=200&&i.status<300||304===i.status))throw new Error("Couldn't load "+n+". Status: "+i.status);return void 0!==i.response?new Uint8Array(i.response||[]):Vn(i.responseText||"",!0)}(t,i)),void 0===o.chunks[e])throw new Error("doXHR failed!");return o.chunks[e]})),!a&&r||(s=r=1,r=this.getter(0).length,s=r,d("LazyFiles on gzip forces download of the whole file when length is accessed")),this._length=r,this._chunkSize=s,this.lengthKnown=!0},"undefined"!=typeof XMLHttpRequest)throw"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc";var s={isDevice:!1,url:n},o=Yn.createFile(e,t,s,r,i);s.contents?o.contents=s.contents:s.url&&(o.contents=null,o.url=s.url),Object.defineProperties(o,{usedBytes:{get:function(){return this.contents.length}}});var l={};function u(e,t,n,r,i){var a=e.node.contents;if(i>=a.length)return 0;var s=Math.min(a.length-i,r);if(a.slice)for(var o=0;o1&&void 0!==arguments[1]?arguments[1]:function(){},n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:function(){},r=Yn.indexedDB();try{var i=r.open(Yn.DB_NAME(),Yn.DB_VERSION)}catch(e){return n(e)}i.onupgradeneeded=function(){d("creating db"),i.result.createObjectStore(Yn.DB_STORE_NAME)},i.onsuccess=function(){var r=i.result.transaction([Yn.DB_STORE_NAME],"readwrite"),a=r.objectStore(Yn.DB_STORE_NAME),s=0,o=0,l=e.length;function u(){0==o?t():n()}e.forEach((function(e){var t=a.put(Yn.analyzePath(e).object.contents,e);t.onsuccess=function(){++s+o==l&&u()},t.onerror=function(){o++,s+o==l&&u()}})),r.onerror=n},i.onerror=n},loadFilesFromDB:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:function(){},n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:function(){},r=Yn.indexedDB();try{var i=r.open(Yn.DB_NAME(),Yn.DB_VERSION)}catch(e){return n(e)}i.onupgradeneeded=n,i.onsuccess=function(){var r=i.result;try{var a=r.transaction([Yn.DB_STORE_NAME],"readonly")}catch(e){return void n(e)}var s=a.objectStore(Yn.DB_STORE_NAME),o=0,l=0,u=e.length;function c(){0==l?t():n()}e.forEach((function(e){var t=s.get(e);t.onsuccess=function(){Yn.analyzePath(e).exists&&Yn.unlink(e),Yn.createDataFile(Gn.dirname(e),Gn.basename(e),t.result,!0,!0,!0),++o+l==u&&c()},t.onerror=function(){l++,o+l==u&&c()}})),a.onerror=n},i.onerror=n}},Xn={DEFAULT_POLLMASK:5,calculateAt:function(e,t,n){if(Gn.isAbs(t))return t;var r;if(r=-100===e?Yn.cwd():Xn.getStreamFromFD(e).path,0==t.length){if(!n)throw new Yn.ErrnoError(44);return r}return Gn.join2(r,t)},doStat:function(e,t,n){try{var r=e(t)}catch(e){if(e&&e.node&&Gn.normalize(t)!==Gn.normalize(Yn.getPath(e.node)))return-54;throw e}E[n>>>2]=r.dev,E[n+8>>>2]=r.ino,E[n+12>>>2]=r.mode,b[n+16>>>2]=r.nlink,E[n+20>>>2]=r.uid,E[n+24>>>2]=r.gid,E[n+28>>>2]=r.rdev,J=[r.size>>>0,(q=r.size,+Math.abs(q)>=1?q>0?(0|Math.min(+Math.floor(q/4294967296),4294967295))>>>0:~~+Math.ceil((q-+(~~q>>>0))/4294967296)>>>0:0)],E[n+40>>>2]=J[0],E[n+44>>>2]=J[1],E[n+48>>>2]=4096,E[n+52>>>2]=r.blocks;var i=r.atime.getTime(),a=r.mtime.getTime(),s=r.ctime.getTime();return J=[Math.floor(i/1e3)>>>0,(q=Math.floor(i/1e3),+Math.abs(q)>=1?q>0?(0|Math.min(+Math.floor(q/4294967296),4294967295))>>>0:~~+Math.ceil((q-+(~~q>>>0))/4294967296)>>>0:0)],E[n+56>>>2]=J[0],E[n+60>>>2]=J[1],b[n+64>>>2]=i%1e3*1e3,J=[Math.floor(a/1e3)>>>0,(q=Math.floor(a/1e3),+Math.abs(q)>=1?q>0?(0|Math.min(+Math.floor(q/4294967296),4294967295))>>>0:~~+Math.ceil((q-+(~~q>>>0))/4294967296)>>>0:0)],E[n+72>>>2]=J[0],E[n+76>>>2]=J[1],b[n+80>>>2]=a%1e3*1e3,J=[Math.floor(s/1e3)>>>0,(q=Math.floor(s/1e3),+Math.abs(q)>=1?q>0?(0|Math.min(+Math.floor(q/4294967296),4294967295))>>>0:~~+Math.ceil((q-+(~~q>>>0))/4294967296)>>>0:0)],E[n+88>>>2]=J[0],E[n+92>>>2]=J[1],b[n+96>>>2]=s%1e3*1e3,J=[r.ino>>>0,(q=r.ino,+Math.abs(q)>=1?q>0?(0|Math.min(+Math.floor(q/4294967296),4294967295))>>>0:~~+Math.ceil((q-+(~~q>>>0))/4294967296)>>>0:0)],E[n+104>>>2]=J[0],E[n+108>>>2]=J[1],0},doMsync:function(e,t,n,r,i){if(!Yn.isFile(t.node.mode))throw new Yn.ErrnoError(43);if(2&r)return 0;e>>>=0;var a=m.slice(e,e+n);Yn.msync(t,a,i,n,r)},varargs:void 0,get:function(){return Xn.varargs+=4,E[Xn.varargs-4>>>2]},getStr:function(e){return B(e)},getStreamFromFD:function(e){var t=Yn.getStream(e);if(!t)throw new Yn.ErrnoError(8);return t}};function qn(e,t){var n=0;return Hn().forEach((function(r,i){var a=t+n;b[e+4*i>>>2]=a,Un(r,a),n+=r.length+1})),0}function Jn(e,t){var n=Hn();b[e>>>2]=n.length;var r=0;return n.forEach((function(e){r+=e.length+1})),b[t>>>2]=r,0}function Zn(e){try{var t=Xn.getStreamFromFD(e);return Yn.close(t),0}catch(e){if(void 0===Yn||!(e instanceof Yn.ErrnoError))throw e;return e.errno}}function $n(e,t,n,r){for(var i=0,a=0;a>>2],o=b[t+4>>>2];t+=8;var l=Yn.read(e,y,s,o,r);if(l<0)return-1;if(i+=l,l>>2]=i,0}catch(e){if(void 0===Yn||!(e instanceof Yn.ErrnoError))throw e;return e.errno}}function tr(e,t){return t+2097152>>>0<4194305-!!e?(e>>>0)+4294967296*t:NaN}function nr(e,t,n,r,i){try{var a=tr(t,n);if(isNaN(a))return 61;var s=Xn.getStreamFromFD(e);return Yn.llseek(s,a,r),J=[s.position>>>0,(q=s.position,+Math.abs(q)>=1?q>0?(0|Math.min(+Math.floor(q/4294967296),4294967295))>>>0:~~+Math.ceil((q-+(~~q>>>0))/4294967296)>>>0:0)],E[i>>>2]=J[0],E[i+4>>>2]=J[1],s.getdents&&0===a&&0===r&&(s.getdents=null),0}catch(e){if(void 0===Yn||!(e instanceof Yn.ErrnoError))throw e;return e.errno}}function rr(e,t,n,r){for(var i=0,a=0;a>>2],o=b[t+4>>>2];t+=8;var l=Yn.write(e,y,s,o,r);if(l<0)return-1;i+=l,void 0!==r&&(r+=l)}return i}function ir(e,t,n,r){try{var i=rr(Xn.getStreamFromFD(e),t,n);return b[r>>>2]=i,0}catch(e){if(void 0===Yn||!(e instanceof Yn.ErrnoError))throw e;return e.errno}}function ar(e){return e%4==0&&(e%100!=0||e%400==0)}function sr(e,t){for(var n=0,r=0;r<=t;n+=e[r++]);return n}var or=[31,29,31,30,31,30,31,31,30,31,30,31],lr=[31,28,31,30,31,30,31,31,30,31,30,31];function ur(e,t){for(var n=new Date(e.getTime());t>0;){var r=ar(n.getFullYear()),i=n.getMonth(),a=(r?or:lr)[i];if(!(t>a-n.getDate()))return n.setDate(n.getDate()+t),n;t-=a-n.getDate()+1,n.setDate(1),i<11?n.setMonth(i+1):(n.setMonth(0),n.setFullYear(n.getFullYear()+1))}return n}function cr(e,t){y.set(e,t>>>0)}function fr(e,t,n,r){var i=E[r+40>>>2],a={tm_sec:E[r>>>2],tm_min:E[r+4>>>2],tm_hour:E[r+8>>>2],tm_mday:E[r+12>>>2],tm_mon:E[r+16>>>2],tm_year:E[r+20>>>2],tm_wday:E[r+24>>>2],tm_yday:E[r+28>>>2],tm_isdst:E[r+32>>>2],tm_gmtoff:E[r+36>>>2],tm_zone:i?B(i):""},s=B(n),o={"%c":"%a %b %d %H:%M:%S %Y","%D":"%m/%d/%y","%F":"%Y-%m-%d","%h":"%b","%r":"%I:%M:%S %p","%R":"%H:%M","%T":"%H:%M:%S","%x":"%m/%d/%y","%X":"%H:%M:%S","%Ec":"%c","%EC":"%C","%Ex":"%m/%d/%y","%EX":"%H:%M:%S","%Ey":"%y","%EY":"%Y","%Od":"%d","%Oe":"%e","%OH":"%H","%OI":"%I","%Om":"%m","%OM":"%M","%OS":"%S","%Ou":"%u","%OU":"%U","%OV":"%V","%Ow":"%w","%OW":"%W","%Oy":"%y"};for(var l in o)s=s.replace(new RegExp(l,"g"),o[l]);var u=["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],c=["January","February","March","April","May","June","July","August","September","October","November","December"];function f(e,t,n){for(var r="number"==typeof e?e.toString():e||"";r.length0?1:0}var r;return 0===(r=n(e.getFullYear()-t.getFullYear()))&&0===(r=n(e.getMonth()-t.getMonth()))&&(r=n(e.getDate()-t.getDate())),r}function d(e){switch(e.getDay()){case 0:return new Date(e.getFullYear()-1,11,29);case 1:return e;case 2:return new Date(e.getFullYear(),0,3);case 3:return new Date(e.getFullYear(),0,2);case 4:return new Date(e.getFullYear(),0,1);case 5:return new Date(e.getFullYear()-1,11,31);case 6:return new Date(e.getFullYear()-1,11,30)}}function v(e){var t=ur(new Date(e.tm_year+1900,0,1),e.tm_yday),n=new Date(t.getFullYear(),0,4),r=new Date(t.getFullYear()+1,0,4),i=d(n),a=d(r);return A(i,t)<=0?A(a,t)<=0?t.getFullYear()+1:t.getFullYear():t.getFullYear()-1}var h={"%a":function(e){return u[e.tm_wday].substring(0,3)},"%A":function(e){return u[e.tm_wday]},"%b":function(e){return c[e.tm_mon].substring(0,3)},"%B":function(e){return c[e.tm_mon]},"%C":function(e){return p((e.tm_year+1900)/100|0,2)},"%d":function(e){return p(e.tm_mday,2)},"%e":function(e){return f(e.tm_mday,2," ")},"%g":function(e){return v(e).toString().substring(2)},"%G":function(e){return v(e)},"%H":function(e){return p(e.tm_hour,2)},"%I":function(e){var t=e.tm_hour;return 0==t?t=12:t>12&&(t-=12),p(t,2)},"%j":function(e){return p(e.tm_mday+sr(ar(e.tm_year+1900)?or:lr,e.tm_mon-1),3)},"%m":function(e){return p(e.tm_mon+1,2)},"%M":function(e){return p(e.tm_min,2)},"%n":function(){return"\n"},"%p":function(e){return e.tm_hour>=0&&e.tm_hour<12?"AM":"PM"},"%S":function(e){return p(e.tm_sec,2)},"%t":function(){return"\t"},"%u":function(e){return e.tm_wday||7},"%U":function(e){var t=e.tm_yday+7-e.tm_wday;return p(Math.floor(t/7),2)},"%V":function(e){var t=Math.floor((e.tm_yday+7-(e.tm_wday+6)%7)/7);if((e.tm_wday+371-e.tm_yday-2)%7<=2&&t++,t){if(53==t){var n=(e.tm_wday+371-e.tm_yday)%7;4==n||3==n&&ar(e.tm_year)||(t=1)}}else{t=52;var r=(e.tm_wday+7-e.tm_yday-1)%7;(4==r||5==r&&ar(e.tm_year%400-1))&&t++}return p(t,2)},"%w":function(e){return e.tm_wday},"%W":function(e){var t=e.tm_yday+7-(e.tm_wday+6)%7;return p(Math.floor(t/7),2)},"%y":function(e){return(e.tm_year+1900).toString().substring(2)},"%Y":function(e){return e.tm_year+1900},"%z":function(e){var t=e.tm_gmtoff,n=t>=0;return t=(t=Math.abs(t)/60)/60*100+t%60,(n?"+":"-")+String("0000"+t).slice(-4)},"%Z":function(e){return e.tm_zone},"%%":function(){return"%"}};for(var l in s=s.replace(/%%/g,"\0\0"),h)s.includes(l)&&(s=s.replace(new RegExp(l,"g"),h[l](a)));var I=Vn(s=s.replace(/\0\0/g,"%"),!1);return I.length>t?0:(cr(I,e),I.length-1)}function pr(e,t,n,r,i){return fr(e,t,n,r)}Ie=i.InternalError=he(Error,"InternalError"),De(),Ce=i.BindingError=he(Error,"BindingError"),it(),Ke(),ht(),Dt=i.UnboundTypeError=he(Error,"UnboundTypeError"),Ut();var Ar=function(e,t,n,r){e||(e=this),this.parent=e,this.mount=e.mount,this.mounted=null,this.id=Yn.nextInode++,this.name=t,this.mode=n,this.node_ops={},this.stream_ops={},this.rdev=r},dr=365,vr=146;Object.defineProperties(Ar.prototype,{read:{get:function(){return(this.mode&dr)===dr},set:function(e){e?this.mode|=dr:this.mode&=~dr}},write:{get:function(){return(this.mode&vr)===vr},set:function(e){e?this.mode|=vr:this.mode&=~vr}},isFolder:{get:function(){return Yn.isDir(this.mode)}},isDevice:{get:function(){return Yn.isChrdev(this.mode)}}}),Yn.FSNode=Ar,Yn.staticInit();var hr={f:ae,R:we,p:Ee,F:Te,P:Oe,o:Ct,n:St,b:Nt,O:kt,B:Vt,s:Wt,z:Yt,c:Xt,r:Jt,h:Zt,A:$t,v:ln,S:un,i:cn,q:fn,e:pn,Q:An,m:dn,x:hn,a:Mt,D:wn,k:gn,t:En,U:Tn,w:bn,C:Dn,T:Pn,g:Rn,u:Cn,l:_n,j:Bn,d:On,y:Sn,N:Nn,L:xn,H:qn,I:Jn,J:Zn,K:er,E:nr,M:ir,G:pr};ne();var Ir=function(){return(Ir=i.asm.Y).apply(null,arguments)},yr=i.___getTypeName=function(){return(yr=i.___getTypeName=i.asm.Z).apply(null,arguments)};i.__embind_initialize_bindings=function(){return(i.__embind_initialize_bindings=i.asm._).apply(null,arguments)};var mr,wr=function(){return(wr=i.asm.$).apply(null,arguments)},gr=function(){return(gr=i.asm.aa).apply(null,arguments)};function Er(){function t(){mr||(mr=!0,i.calledRun=!0,h||(U(),e(i),i.onRuntimeInitialized&&i.onRuntimeInitialized(),G()))}Q>0||(H(),Q>0||(i.setStatus?(i.setStatus("Running..."),setTimeout((function(){setTimeout((function(){i.setStatus("")}),1),t()}),1)):t()))}if(i.dynCall_jiji=function(){return(i.dynCall_jiji=i.asm.ba).apply(null,arguments)},i.dynCall_viijii=function(){return(i.dynCall_viijii=i.asm.ca).apply(null,arguments)},i.dynCall_iiiiij=function(){return(i.dynCall_iiiiij=i.asm.da).apply(null,arguments)},i.dynCall_iiiiijj=function(){return(i.dynCall_iiiiijj=i.asm.ea).apply(null,arguments)},i.dynCall_iiiiiijj=function(){return(i.dynCall_iiiiiijj=i.asm.fa).apply(null,arguments)},W=function e(){mr||Er(),mr||(W=e)},i.preInit)for("function"==typeof i.preInit&&(i.preInit=[i.preInit]);i.preInit.length>0;)i.preInit.pop()();return Er(),r.ready});"object"===T(e)&&"object"===T(t)?t.exports=r:"function"==typeof define&&define.amd?define([],(function(){return r})):"object"===T(e)&&(e.WebIFCWasm=r)}}),h_=3087945054,I_=3415622556,y_=639361253,m_=4207607924,w_=812556717,g_=753842376,E_=2391406946,T_=3824725483,b_=1529196076,D_=2016517767,P_=3024970846,R_=3171933400,C_=1687234759,__=395920057,B_=3460190687,O_=1033361043,S_=3856911033,N_=4097777520,L_=3740093272,x_=3009204131,M_=3473067441,F_=1281925730,H_=P((function e(t){b(this,e),this.value=t,this.type=5})),U_=P((function e(t){b(this,e),this.expressID=t,this.type=0})),G_=[],k_={},j_={},V_={},Q_={},W_={},z_=[];function K_(e,t){return Array.isArray(t)&&t.map((function(t){return K_(e,t)})),t.typecode?W_[e][t.typecode](t.value):t.value}function Y_(e){return e.value=e.value.toString(),e.valueType=e.type,e.type=2,e.label=e.constructor.name.toUpperCase(),e}(ZC=JC||(JC={})).IFC2X3="IFC2X3",ZC.IFC4="IFC4",ZC.IFC4X3="IFC4X3",z_[1]="IFC2X3",G_[1]={3630933823:function(e,t){return new $C.IfcActorRole(e,t[0],t[1]?new $C.IfcLabel(t[1].value):null,t[2]?new $C.IfcText(t[2].value):null)},618182010:function(e,t){return new $C.IfcAddress(e,t[0],t[1]?new $C.IfcText(t[1].value):null,t[2]?new $C.IfcLabel(t[2].value):null)},639542469:function(e,t){return new $C.IfcApplication(e,new H_(t[0].value),new $C.IfcLabel(t[1].value),new $C.IfcLabel(t[2].value),new $C.IfcIdentifier(t[3].value))},411424972:function(e,t){return new $C.IfcAppliedValue(e,t[0]?new $C.IfcLabel(t[0].value):null,t[1]?new $C.IfcText(t[1].value):null,t[2]?new H_(t[2].value):null,t[3]?new H_(t[3].value):null,t[4]?new H_(t[4].value):null,t[5]?new H_(t[5].value):null)},1110488051:function(e,t){return new $C.IfcAppliedValueRelationship(e,new H_(t[0].value),t[1].map((function(e){return new H_(e.value)})),t[2],t[3]?new $C.IfcLabel(t[3].value):null,t[4]?new $C.IfcText(t[4].value):null)},130549933:function(e,t){return new $C.IfcApproval(e,t[0]?new $C.IfcText(t[0].value):null,new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcLabel(t[3].value):null,t[4]?new $C.IfcText(t[4].value):null,new $C.IfcLabel(t[5].value),new $C.IfcIdentifier(t[6].value))},2080292479:function(e,t){return new $C.IfcApprovalActorRelationship(e,new H_(t[0].value),new H_(t[1].value),new H_(t[2].value))},390851274:function(e,t){return new $C.IfcApprovalPropertyRelationship(e,t[0].map((function(e){return new H_(e.value)})),new H_(t[1].value))},3869604511:function(e,t){return new $C.IfcApprovalRelationship(e,new H_(t[0].value),new H_(t[1].value),t[2]?new $C.IfcText(t[2].value):null,new $C.IfcLabel(t[3].value))},4037036970:function(e,t){return new $C.IfcBoundaryCondition(e,t[0]?new $C.IfcLabel(t[0].value):null)},1560379544:function(e,t){return new $C.IfcBoundaryEdgeCondition(e,t[0]?new $C.IfcLabel(t[0].value):null,t[1]?new $C.IfcModulusOfLinearSubgradeReactionMeasure(t[1].value):null,t[2]?new $C.IfcModulusOfLinearSubgradeReactionMeasure(t[2].value):null,t[3]?new $C.IfcModulusOfLinearSubgradeReactionMeasure(t[3].value):null,t[4]?new $C.IfcModulusOfRotationalSubgradeReactionMeasure(t[4].value):null,t[5]?new $C.IfcModulusOfRotationalSubgradeReactionMeasure(t[5].value):null,t[6]?new $C.IfcModulusOfRotationalSubgradeReactionMeasure(t[6].value):null)},3367102660:function(e,t){return new $C.IfcBoundaryFaceCondition(e,t[0]?new $C.IfcLabel(t[0].value):null,t[1]?new $C.IfcModulusOfSubgradeReactionMeasure(t[1].value):null,t[2]?new $C.IfcModulusOfSubgradeReactionMeasure(t[2].value):null,t[3]?new $C.IfcModulusOfSubgradeReactionMeasure(t[3].value):null)},1387855156:function(e,t){return new $C.IfcBoundaryNodeCondition(e,t[0]?new $C.IfcLabel(t[0].value):null,t[1]?new $C.IfcLinearStiffnessMeasure(t[1].value):null,t[2]?new $C.IfcLinearStiffnessMeasure(t[2].value):null,t[3]?new $C.IfcLinearStiffnessMeasure(t[3].value):null,t[4]?new $C.IfcRotationalStiffnessMeasure(t[4].value):null,t[5]?new $C.IfcRotationalStiffnessMeasure(t[5].value):null,t[6]?new $C.IfcRotationalStiffnessMeasure(t[6].value):null)},2069777674:function(e,t){return new $C.IfcBoundaryNodeConditionWarping(e,t[0]?new $C.IfcLabel(t[0].value):null,t[1]?new $C.IfcLinearStiffnessMeasure(t[1].value):null,t[2]?new $C.IfcLinearStiffnessMeasure(t[2].value):null,t[3]?new $C.IfcLinearStiffnessMeasure(t[3].value):null,t[4]?new $C.IfcRotationalStiffnessMeasure(t[4].value):null,t[5]?new $C.IfcRotationalStiffnessMeasure(t[5].value):null,t[6]?new $C.IfcRotationalStiffnessMeasure(t[6].value):null,t[7]?new $C.IfcWarpingMomentMeasure(t[7].value):null)},622194075:function(e,t){return new $C.IfcCalendarDate(e,new $C.IfcDayInMonthNumber(t[0].value),new $C.IfcMonthInYearNumber(t[1].value),new $C.IfcYearNumber(t[2].value))},747523909:function(e,t){return new $C.IfcClassification(e,new $C.IfcLabel(t[0].value),new $C.IfcLabel(t[1].value),t[2]?new H_(t[2].value):null,new $C.IfcLabel(t[3].value))},1767535486:function(e,t){return new $C.IfcClassificationItem(e,new H_(t[0].value),t[1]?new H_(t[1].value):null,new $C.IfcLabel(t[2].value))},1098599126:function(e,t){return new $C.IfcClassificationItemRelationship(e,new H_(t[0].value),t[1].map((function(e){return new H_(e.value)})))},938368621:function(e,t){return new $C.IfcClassificationNotation(e,t[0].map((function(e){return new H_(e.value)})))},3639012971:function(e,t){return new $C.IfcClassificationNotationFacet(e,new $C.IfcLabel(t[0].value))},3264961684:function(e,t){return new $C.IfcColourSpecification(e,t[0]?new $C.IfcLabel(t[0].value):null)},2859738748:function(e,t){return new $C.IfcConnectionGeometry(e)},2614616156:function(e,t){return new $C.IfcConnectionPointGeometry(e,new H_(t[0].value),t[1]?new H_(t[1].value):null)},4257277454:function(e,t){return new $C.IfcConnectionPortGeometry(e,new H_(t[0].value),t[1]?new H_(t[1].value):null,new H_(t[2].value))},2732653382:function(e,t){return new $C.IfcConnectionSurfaceGeometry(e,new H_(t[0].value),t[1]?new H_(t[1].value):null)},1959218052:function(e,t){return new $C.IfcConstraint(e,new $C.IfcLabel(t[0].value),t[1]?new $C.IfcText(t[1].value):null,t[2],t[3]?new $C.IfcLabel(t[3].value):null,t[4]?new H_(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new $C.IfcLabel(t[6].value):null)},1658513725:function(e,t){return new $C.IfcConstraintAggregationRelationship(e,t[0]?new $C.IfcLabel(t[0].value):null,t[1]?new $C.IfcText(t[1].value):null,new H_(t[2].value),t[3].map((function(e){return new H_(e.value)})),t[4])},613356794:function(e,t){return new $C.IfcConstraintClassificationRelationship(e,new H_(t[0].value),t[1].map((function(e){return new H_(e.value)})))},347226245:function(e,t){return new $C.IfcConstraintRelationship(e,t[0]?new $C.IfcLabel(t[0].value):null,t[1]?new $C.IfcText(t[1].value):null,new H_(t[2].value),t[3].map((function(e){return new H_(e.value)})))},1065062679:function(e,t){return new $C.IfcCoordinatedUniversalTimeOffset(e,new $C.IfcHourInDay(t[0].value),t[1]?new $C.IfcMinuteInHour(t[1].value):null,t[2])},602808272:function(e,t){return new $C.IfcCostValue(e,t[0]?new $C.IfcLabel(t[0].value):null,t[1]?new $C.IfcText(t[1].value):null,t[2]?new H_(t[2].value):null,t[3]?new H_(t[3].value):null,t[4]?new H_(t[4].value):null,t[5]?new H_(t[5].value):null,new $C.IfcLabel(t[6].value),t[7]?new $C.IfcText(t[7].value):null)},539742890:function(e,t){return new $C.IfcCurrencyRelationship(e,new H_(t[0].value),new H_(t[1].value),new $C.IfcPositiveRatioMeasure(t[2].value),new H_(t[3].value),t[4]?new H_(t[4].value):null)},1105321065:function(e,t){return new $C.IfcCurveStyleFont(e,t[0]?new $C.IfcLabel(t[0].value):null,t[1].map((function(e){return new H_(e.value)})))},2367409068:function(e,t){return new $C.IfcCurveStyleFontAndScaling(e,t[0]?new $C.IfcLabel(t[0].value):null,new H_(t[1].value),new $C.IfcPositiveRatioMeasure(t[2].value))},3510044353:function(e,t){return new $C.IfcCurveStyleFontPattern(e,new $C.IfcLengthMeasure(t[0].value),new $C.IfcPositiveLengthMeasure(t[1].value))},1072939445:function(e,t){return new $C.IfcDateAndTime(e,new H_(t[0].value),new H_(t[1].value))},1765591967:function(e,t){return new $C.IfcDerivedUnit(e,t[0].map((function(e){return new H_(e.value)})),t[1],t[2]?new $C.IfcLabel(t[2].value):null)},1045800335:function(e,t){return new $C.IfcDerivedUnitElement(e,new H_(t[0].value),t[1].value)},2949456006:function(e,t){return new $C.IfcDimensionalExponents(e,t[0].value,t[1].value,t[2].value,t[3].value,t[4].value,t[5].value,t[6].value)},1376555844:function(e,t){return new $C.IfcDocumentElectronicFormat(e,t[0]?new $C.IfcLabel(t[0].value):null,t[1]?new $C.IfcLabel(t[1].value):null,t[2]?new $C.IfcLabel(t[2].value):null)},1154170062:function(e,t){return new $C.IfcDocumentInformation(e,new $C.IfcIdentifier(t[0].value),new $C.IfcLabel(t[1].value),t[2]?new $C.IfcText(t[2].value):null,t[3]?t[3].map((function(e){return new H_(e.value)})):null,t[4]?new $C.IfcText(t[4].value):null,t[5]?new $C.IfcText(t[5].value):null,t[6]?new $C.IfcText(t[6].value):null,t[7]?new $C.IfcLabel(t[7].value):null,t[8]?new H_(t[8].value):null,t[9]?t[9].map((function(e){return new H_(e.value)})):null,t[10]?new H_(t[10].value):null,t[11]?new H_(t[11].value):null,t[12]?new H_(t[12].value):null,t[13]?new H_(t[13].value):null,t[14]?new H_(t[14].value):null,t[15],t[16])},770865208:function(e,t){return new $C.IfcDocumentInformationRelationship(e,new H_(t[0].value),t[1].map((function(e){return new H_(e.value)})),t[2]?new $C.IfcLabel(t[2].value):null)},3796139169:function(e,t){return new $C.IfcDraughtingCalloutRelationship(e,t[0]?new $C.IfcLabel(t[0].value):null,t[1]?new $C.IfcText(t[1].value):null,new H_(t[2].value),new H_(t[3].value))},1648886627:function(e,t){return new $C.IfcEnvironmentalImpactValue(e,t[0]?new $C.IfcLabel(t[0].value):null,t[1]?new $C.IfcText(t[1].value):null,t[2]?new H_(t[2].value):null,t[3]?new H_(t[3].value):null,t[4]?new H_(t[4].value):null,t[5]?new H_(t[5].value):null,new $C.IfcLabel(t[6].value),t[7],t[8]?new $C.IfcLabel(t[8].value):null)},3200245327:function(e,t){return new $C.IfcExternalReference(e,t[0]?new $C.IfcLabel(t[0].value):null,t[1]?new $C.IfcIdentifier(t[1].value):null,t[2]?new $C.IfcLabel(t[2].value):null)},2242383968:function(e,t){return new $C.IfcExternallyDefinedHatchStyle(e,t[0]?new $C.IfcLabel(t[0].value):null,t[1]?new $C.IfcIdentifier(t[1].value):null,t[2]?new $C.IfcLabel(t[2].value):null)},1040185647:function(e,t){return new $C.IfcExternallyDefinedSurfaceStyle(e,t[0]?new $C.IfcLabel(t[0].value):null,t[1]?new $C.IfcIdentifier(t[1].value):null,t[2]?new $C.IfcLabel(t[2].value):null)},3207319532:function(e,t){return new $C.IfcExternallyDefinedSymbol(e,t[0]?new $C.IfcLabel(t[0].value):null,t[1]?new $C.IfcIdentifier(t[1].value):null,t[2]?new $C.IfcLabel(t[2].value):null)},3548104201:function(e,t){return new $C.IfcExternallyDefinedTextFont(e,t[0]?new $C.IfcLabel(t[0].value):null,t[1]?new $C.IfcIdentifier(t[1].value):null,t[2]?new $C.IfcLabel(t[2].value):null)},852622518:function(e,t){return new $C.IfcGridAxis(e,t[0]?new $C.IfcLabel(t[0].value):null,new H_(t[1].value),new $C.IfcBoolean(t[2].value))},3020489413:function(e,t){return new $C.IfcIrregularTimeSeriesValue(e,new H_(t[0].value),t[1].map((function(e){return K_(1,e)})))},2655187982:function(e,t){return new $C.IfcLibraryInformation(e,new $C.IfcLabel(t[0].value),t[1]?new $C.IfcLabel(t[1].value):null,t[2]?new H_(t[2].value):null,t[3]?new H_(t[3].value):null,t[4]?t[4].map((function(e){return new H_(e.value)})):null)},3452421091:function(e,t){return new $C.IfcLibraryReference(e,t[0]?new $C.IfcLabel(t[0].value):null,t[1]?new $C.IfcIdentifier(t[1].value):null,t[2]?new $C.IfcLabel(t[2].value):null)},4162380809:function(e,t){return new $C.IfcLightDistributionData(e,new $C.IfcPlaneAngleMeasure(t[0].value),t[1].map((function(e){return new $C.IfcPlaneAngleMeasure(e.value)})),t[2].map((function(e){return new $C.IfcLuminousIntensityDistributionMeasure(e.value)})))},1566485204:function(e,t){return new $C.IfcLightIntensityDistribution(e,t[0],t[1].map((function(e){return new H_(e.value)})))},30780891:function(e,t){return new $C.IfcLocalTime(e,new $C.IfcHourInDay(t[0].value),t[1]?new $C.IfcMinuteInHour(t[1].value):null,t[2]?new $C.IfcSecondInMinute(t[2].value):null,t[3]?new H_(t[3].value):null,t[4]?new $C.IfcDaylightSavingHour(t[4].value):null)},1838606355:function(e,t){return new $C.IfcMaterial(e,new $C.IfcLabel(t[0].value))},1847130766:function(e,t){return new $C.IfcMaterialClassificationRelationship(e,t[0].map((function(e){return new H_(e.value)})),new H_(t[1].value))},248100487:function(e,t){return new $C.IfcMaterialLayer(e,t[0]?new H_(t[0].value):null,new $C.IfcPositiveLengthMeasure(t[1].value),t[2]?new $C.IfcLogical(t[2].value):null)},3303938423:function(e,t){return new $C.IfcMaterialLayerSet(e,t[0].map((function(e){return new H_(e.value)})),t[1]?new $C.IfcLabel(t[1].value):null)},1303795690:function(e,t){return new $C.IfcMaterialLayerSetUsage(e,new H_(t[0].value),t[1],t[2],new $C.IfcLengthMeasure(t[3].value))},2199411900:function(e,t){return new $C.IfcMaterialList(e,t[0].map((function(e){return new H_(e.value)})))},3265635763:function(e,t){return new $C.IfcMaterialProperties(e,new H_(t[0].value))},2597039031:function(e,t){return new $C.IfcMeasureWithUnit(e,K_(1,t[0]),new H_(t[1].value))},4256014907:function(e,t){return new $C.IfcMechanicalMaterialProperties(e,new H_(t[0].value),t[1]?new $C.IfcDynamicViscosityMeasure(t[1].value):null,t[2]?new $C.IfcModulusOfElasticityMeasure(t[2].value):null,t[3]?new $C.IfcModulusOfElasticityMeasure(t[3].value):null,t[4]?new $C.IfcPositiveRatioMeasure(t[4].value):null,t[5]?new $C.IfcThermalExpansionCoefficientMeasure(t[5].value):null)},677618848:function(e,t){return new $C.IfcMechanicalSteelMaterialProperties(e,new H_(t[0].value),t[1]?new $C.IfcDynamicViscosityMeasure(t[1].value):null,t[2]?new $C.IfcModulusOfElasticityMeasure(t[2].value):null,t[3]?new $C.IfcModulusOfElasticityMeasure(t[3].value):null,t[4]?new $C.IfcPositiveRatioMeasure(t[4].value):null,t[5]?new $C.IfcThermalExpansionCoefficientMeasure(t[5].value):null,t[6]?new $C.IfcPressureMeasure(t[6].value):null,t[7]?new $C.IfcPressureMeasure(t[7].value):null,t[8]?new $C.IfcPositiveRatioMeasure(t[8].value):null,t[9]?new $C.IfcModulusOfElasticityMeasure(t[9].value):null,t[10]?new $C.IfcPressureMeasure(t[10].value):null,t[11]?new $C.IfcPositiveRatioMeasure(t[11].value):null,t[12]?t[12].map((function(e){return new H_(e.value)})):null)},3368373690:function(e,t){return new $C.IfcMetric(e,new $C.IfcLabel(t[0].value),t[1]?new $C.IfcText(t[1].value):null,t[2],t[3]?new $C.IfcLabel(t[3].value):null,t[4]?new H_(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new $C.IfcLabel(t[6].value):null,t[7],t[8]?new $C.IfcLabel(t[8].value):null,new H_(t[9].value))},2706619895:function(e,t){return new $C.IfcMonetaryUnit(e,t[0])},1918398963:function(e,t){return new $C.IfcNamedUnit(e,new H_(t[0].value),t[1])},3701648758:function(e,t){return new $C.IfcObjectPlacement(e)},2251480897:function(e,t){return new $C.IfcObjective(e,new $C.IfcLabel(t[0].value),t[1]?new $C.IfcText(t[1].value):null,t[2],t[3]?new $C.IfcLabel(t[3].value):null,t[4]?new H_(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new $C.IfcLabel(t[6].value):null,t[7]?new H_(t[7].value):null,t[8]?new H_(t[8].value):null,t[9],t[10]?new $C.IfcLabel(t[10].value):null)},1227763645:function(e,t){return new $C.IfcOpticalMaterialProperties(e,new H_(t[0].value),t[1]?new $C.IfcPositiveRatioMeasure(t[1].value):null,t[2]?new $C.IfcPositiveRatioMeasure(t[2].value):null,t[3]?new $C.IfcPositiveRatioMeasure(t[3].value):null,t[4]?new $C.IfcPositiveRatioMeasure(t[4].value):null,t[5]?new $C.IfcPositiveRatioMeasure(t[5].value):null,t[6]?new $C.IfcPositiveRatioMeasure(t[6].value):null,t[7]?new $C.IfcPositiveRatioMeasure(t[7].value):null,t[8]?new $C.IfcPositiveRatioMeasure(t[8].value):null,t[9]?new $C.IfcPositiveRatioMeasure(t[9].value):null)},4251960020:function(e,t){return new $C.IfcOrganization(e,t[0]?new $C.IfcIdentifier(t[0].value):null,new $C.IfcLabel(t[1].value),t[2]?new $C.IfcText(t[2].value):null,t[3]?t[3].map((function(e){return new H_(e.value)})):null,t[4]?t[4].map((function(e){return new H_(e.value)})):null)},1411181986:function(e,t){return new $C.IfcOrganizationRelationship(e,new $C.IfcLabel(t[0].value),t[1]?new $C.IfcText(t[1].value):null,new H_(t[2].value),t[3].map((function(e){return new H_(e.value)})))},1207048766:function(e,t){return new $C.IfcOwnerHistory(e,new H_(t[0].value),new H_(t[1].value),t[2],t[3],t[4]?new $C.IfcTimeStamp(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,new $C.IfcTimeStamp(t[7].value))},2077209135:function(e,t){return new $C.IfcPerson(e,t[0]?new $C.IfcIdentifier(t[0].value):null,t[1]?new $C.IfcLabel(t[1].value):null,t[2]?new $C.IfcLabel(t[2].value):null,t[3]?t[3].map((function(e){return new $C.IfcLabel(e.value)})):null,t[4]?t[4].map((function(e){return new $C.IfcLabel(e.value)})):null,t[5]?t[5].map((function(e){return new $C.IfcLabel(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?t[7].map((function(e){return new H_(e.value)})):null)},101040310:function(e,t){return new $C.IfcPersonAndOrganization(e,new H_(t[0].value),new H_(t[1].value),t[2]?t[2].map((function(e){return new H_(e.value)})):null)},2483315170:function(e,t){return new $C.IfcPhysicalQuantity(e,new $C.IfcLabel(t[0].value),t[1]?new $C.IfcText(t[1].value):null)},2226359599:function(e,t){return new $C.IfcPhysicalSimpleQuantity(e,new $C.IfcLabel(t[0].value),t[1]?new $C.IfcText(t[1].value):null,t[2]?new H_(t[2].value):null)},3355820592:function(e,t){return new $C.IfcPostalAddress(e,t[0],t[1]?new $C.IfcText(t[1].value):null,t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcLabel(t[3].value):null,t[4]?t[4].map((function(e){return new $C.IfcLabel(e.value)})):null,t[5]?new $C.IfcLabel(t[5].value):null,t[6]?new $C.IfcLabel(t[6].value):null,t[7]?new $C.IfcLabel(t[7].value):null,t[8]?new $C.IfcLabel(t[8].value):null,t[9]?new $C.IfcLabel(t[9].value):null)},3727388367:function(e,t){return new $C.IfcPreDefinedItem(e,new $C.IfcLabel(t[0].value))},990879717:function(e,t){return new $C.IfcPreDefinedSymbol(e,new $C.IfcLabel(t[0].value))},3213052703:function(e,t){return new $C.IfcPreDefinedTerminatorSymbol(e,new $C.IfcLabel(t[0].value))},1775413392:function(e,t){return new $C.IfcPreDefinedTextFont(e,new $C.IfcLabel(t[0].value))},2022622350:function(e,t){return new $C.IfcPresentationLayerAssignment(e,new $C.IfcLabel(t[0].value),t[1]?new $C.IfcText(t[1].value):null,t[2].map((function(e){return new H_(e.value)})),t[3]?new $C.IfcIdentifier(t[3].value):null)},1304840413:function(e,t){return new $C.IfcPresentationLayerWithStyle(e,new $C.IfcLabel(t[0].value),t[1]?new $C.IfcText(t[1].value):null,t[2].map((function(e){return new H_(e.value)})),t[3]?new $C.IfcIdentifier(t[3].value):null,t[4].value,t[5].value,t[6].value,t[7]?t[7].map((function(e){return new H_(e.value)})):null)},3119450353:function(e,t){return new $C.IfcPresentationStyle(e,t[0]?new $C.IfcLabel(t[0].value):null)},2417041796:function(e,t){return new $C.IfcPresentationStyleAssignment(e,t[0].map((function(e){return new H_(e.value)})))},2095639259:function(e,t){return new $C.IfcProductRepresentation(e,t[0]?new $C.IfcLabel(t[0].value):null,t[1]?new $C.IfcText(t[1].value):null,t[2].map((function(e){return new H_(e.value)})))},2267347899:function(e,t){return new $C.IfcProductsOfCombustionProperties(e,new H_(t[0].value),t[1]?new $C.IfcSpecificHeatCapacityMeasure(t[1].value):null,t[2]?new $C.IfcPositiveRatioMeasure(t[2].value):null,t[3]?new $C.IfcPositiveRatioMeasure(t[3].value):null,t[4]?new $C.IfcPositiveRatioMeasure(t[4].value):null)},3958567839:function(e,t){return new $C.IfcProfileDef(e,t[0],t[1]?new $C.IfcLabel(t[1].value):null)},2802850158:function(e,t){return new $C.IfcProfileProperties(e,t[0]?new $C.IfcLabel(t[0].value):null,t[1]?new H_(t[1].value):null)},2598011224:function(e,t){return new $C.IfcProperty(e,new $C.IfcIdentifier(t[0].value),t[1]?new $C.IfcText(t[1].value):null)},3896028662:function(e,t){return new $C.IfcPropertyConstraintRelationship(e,new H_(t[0].value),t[1].map((function(e){return new H_(e.value)})),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null)},148025276:function(e,t){return new $C.IfcPropertyDependencyRelationship(e,new H_(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcText(t[4].value):null)},3710013099:function(e,t){return new $C.IfcPropertyEnumeration(e,new $C.IfcLabel(t[0].value),t[1].map((function(e){return K_(1,e)})),t[2]?new H_(t[2].value):null)},2044713172:function(e,t){return new $C.IfcQuantityArea(e,new $C.IfcLabel(t[0].value),t[1]?new $C.IfcText(t[1].value):null,t[2]?new H_(t[2].value):null,new $C.IfcAreaMeasure(t[3].value))},2093928680:function(e,t){return new $C.IfcQuantityCount(e,new $C.IfcLabel(t[0].value),t[1]?new $C.IfcText(t[1].value):null,t[2]?new H_(t[2].value):null,new $C.IfcCountMeasure(t[3].value))},931644368:function(e,t){return new $C.IfcQuantityLength(e,new $C.IfcLabel(t[0].value),t[1]?new $C.IfcText(t[1].value):null,t[2]?new H_(t[2].value):null,new $C.IfcLengthMeasure(t[3].value))},3252649465:function(e,t){return new $C.IfcQuantityTime(e,new $C.IfcLabel(t[0].value),t[1]?new $C.IfcText(t[1].value):null,t[2]?new H_(t[2].value):null,new $C.IfcTimeMeasure(t[3].value))},2405470396:function(e,t){return new $C.IfcQuantityVolume(e,new $C.IfcLabel(t[0].value),t[1]?new $C.IfcText(t[1].value):null,t[2]?new H_(t[2].value):null,new $C.IfcVolumeMeasure(t[3].value))},825690147:function(e,t){return new $C.IfcQuantityWeight(e,new $C.IfcLabel(t[0].value),t[1]?new $C.IfcText(t[1].value):null,t[2]?new H_(t[2].value):null,new $C.IfcMassMeasure(t[3].value))},2692823254:function(e,t){return new $C.IfcReferencesValueDocument(e,new H_(t[0].value),t[1].map((function(e){return new H_(e.value)})),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null)},1580146022:function(e,t){return new $C.IfcReinforcementBarProperties(e,new $C.IfcAreaMeasure(t[0].value),new $C.IfcLabel(t[1].value),t[2],t[3]?new $C.IfcLengthMeasure(t[3].value):null,t[4]?new $C.IfcPositiveLengthMeasure(t[4].value):null,t[5]?new $C.IfcCountMeasure(t[5].value):null)},1222501353:function(e,t){return new $C.IfcRelaxation(e,new $C.IfcNormalisedRatioMeasure(t[0].value),new $C.IfcNormalisedRatioMeasure(t[1].value))},1076942058:function(e,t){return new $C.IfcRepresentation(e,new H_(t[0].value),t[1]?new $C.IfcLabel(t[1].value):null,t[2]?new $C.IfcLabel(t[2].value):null,t[3].map((function(e){return new H_(e.value)})))},3377609919:function(e,t){return new $C.IfcRepresentationContext(e,t[0]?new $C.IfcLabel(t[0].value):null,t[1]?new $C.IfcLabel(t[1].value):null)},3008791417:function(e,t){return new $C.IfcRepresentationItem(e)},1660063152:function(e,t){return new $C.IfcRepresentationMap(e,new H_(t[0].value),new H_(t[1].value))},3679540991:function(e,t){return new $C.IfcRibPlateProfileProperties(e,t[0]?new $C.IfcLabel(t[0].value):null,t[1]?new H_(t[1].value):null,t[2]?new $C.IfcPositiveLengthMeasure(t[2].value):null,t[3]?new $C.IfcPositiveLengthMeasure(t[3].value):null,t[4]?new $C.IfcPositiveLengthMeasure(t[4].value):null,t[5]?new $C.IfcPositiveLengthMeasure(t[5].value):null,t[6])},2341007311:function(e,t){return new $C.IfcRoot(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null)},448429030:function(e,t){return new $C.IfcSIUnit(e,t[0],t[1],t[2])},2042790032:function(e,t){return new $C.IfcSectionProperties(e,t[0],new H_(t[1].value),t[2]?new H_(t[2].value):null)},4165799628:function(e,t){return new $C.IfcSectionReinforcementProperties(e,new $C.IfcLengthMeasure(t[0].value),new $C.IfcLengthMeasure(t[1].value),t[2]?new $C.IfcLengthMeasure(t[2].value):null,t[3],new H_(t[4].value),t[5].map((function(e){return new H_(e.value)})))},867548509:function(e,t){return new $C.IfcShapeAspect(e,t[0].map((function(e){return new H_(e.value)})),t[1]?new $C.IfcLabel(t[1].value):null,t[2]?new $C.IfcText(t[2].value):null,t[3].value,new H_(t[4].value))},3982875396:function(e,t){return new $C.IfcShapeModel(e,new H_(t[0].value),t[1]?new $C.IfcLabel(t[1].value):null,t[2]?new $C.IfcLabel(t[2].value):null,t[3].map((function(e){return new H_(e.value)})))},4240577450:function(e,t){return new $C.IfcShapeRepresentation(e,new H_(t[0].value),t[1]?new $C.IfcLabel(t[1].value):null,t[2]?new $C.IfcLabel(t[2].value):null,t[3].map((function(e){return new H_(e.value)})))},3692461612:function(e,t){return new $C.IfcSimpleProperty(e,new $C.IfcIdentifier(t[0].value),t[1]?new $C.IfcText(t[1].value):null)},2273995522:function(e,t){return new $C.IfcStructuralConnectionCondition(e,t[0]?new $C.IfcLabel(t[0].value):null)},2162789131:function(e,t){return new $C.IfcStructuralLoad(e,t[0]?new $C.IfcLabel(t[0].value):null)},2525727697:function(e,t){return new $C.IfcStructuralLoadStatic(e,t[0]?new $C.IfcLabel(t[0].value):null)},3408363356:function(e,t){return new $C.IfcStructuralLoadTemperature(e,t[0]?new $C.IfcLabel(t[0].value):null,t[1]?new $C.IfcThermodynamicTemperatureMeasure(t[1].value):null,t[2]?new $C.IfcThermodynamicTemperatureMeasure(t[2].value):null,t[3]?new $C.IfcThermodynamicTemperatureMeasure(t[3].value):null)},2830218821:function(e,t){return new $C.IfcStyleModel(e,new H_(t[0].value),t[1]?new $C.IfcLabel(t[1].value):null,t[2]?new $C.IfcLabel(t[2].value):null,t[3].map((function(e){return new H_(e.value)})))},3958052878:function(e,t){return new $C.IfcStyledItem(e,t[0]?new H_(t[0].value):null,t[1].map((function(e){return new H_(e.value)})),t[2]?new $C.IfcLabel(t[2].value):null)},3049322572:function(e,t){return new $C.IfcStyledRepresentation(e,new H_(t[0].value),t[1]?new $C.IfcLabel(t[1].value):null,t[2]?new $C.IfcLabel(t[2].value):null,t[3].map((function(e){return new H_(e.value)})))},1300840506:function(e,t){return new $C.IfcSurfaceStyle(e,t[0]?new $C.IfcLabel(t[0].value):null,t[1],t[2].map((function(e){return new H_(e.value)})))},3303107099:function(e,t){return new $C.IfcSurfaceStyleLighting(e,new H_(t[0].value),new H_(t[1].value),new H_(t[2].value),new H_(t[3].value))},1607154358:function(e,t){return new $C.IfcSurfaceStyleRefraction(e,t[0]?new $C.IfcReal(t[0].value):null,t[1]?new $C.IfcReal(t[1].value):null)},846575682:function(e,t){return new $C.IfcSurfaceStyleShading(e,new H_(t[0].value))},1351298697:function(e,t){return new $C.IfcSurfaceStyleWithTextures(e,t[0].map((function(e){return new H_(e.value)})))},626085974:function(e,t){return new $C.IfcSurfaceTexture(e,t[0].value,t[1].value,t[2],t[3]?new H_(t[3].value):null)},1290481447:function(e,t){return new $C.IfcSymbolStyle(e,t[0]?new $C.IfcLabel(t[0].value):null,K_(1,t[1]))},985171141:function(e,t){return new $C.IfcTable(e,t[0].value,t[1].map((function(e){return new H_(e.value)})))},531007025:function(e,t){return new $C.IfcTableRow(e,t[0].map((function(e){return K_(1,e)})),t[1].value)},912023232:function(e,t){return new $C.IfcTelecomAddress(e,t[0],t[1]?new $C.IfcText(t[1].value):null,t[2]?new $C.IfcLabel(t[2].value):null,t[3]?t[3].map((function(e){return new $C.IfcLabel(e.value)})):null,t[4]?t[4].map((function(e){return new $C.IfcLabel(e.value)})):null,t[5]?new $C.IfcLabel(t[5].value):null,t[6]?t[6].map((function(e){return new $C.IfcLabel(e.value)})):null,t[7]?new $C.IfcLabel(t[7].value):null)},1447204868:function(e,t){return new $C.IfcTextStyle(e,t[0]?new $C.IfcLabel(t[0].value):null,t[1]?new H_(t[1].value):null,t[2]?new H_(t[2].value):null,new H_(t[3].value))},1983826977:function(e,t){return new $C.IfcTextStyleFontModel(e,new $C.IfcLabel(t[0].value),t[1]?t[1].map((function(e){return new $C.IfcTextFontName(e.value)})):null,t[2]?new $C.IfcFontStyle(t[2].value):null,t[3]?new $C.IfcFontVariant(t[3].value):null,t[4]?new $C.IfcFontWeight(t[4].value):null,K_(1,t[5]))},2636378356:function(e,t){return new $C.IfcTextStyleForDefinedFont(e,new H_(t[0].value),t[1]?new H_(t[1].value):null)},1640371178:function(e,t){return new $C.IfcTextStyleTextModel(e,t[0]?K_(1,t[0]):null,t[1]?new $C.IfcTextAlignment(t[1].value):null,t[2]?new $C.IfcTextDecoration(t[2].value):null,t[3]?K_(1,t[3]):null,t[4]?K_(1,t[4]):null,t[5]?new $C.IfcTextTransformation(t[5].value):null,t[6]?K_(1,t[6]):null)},1484833681:function(e,t){return new $C.IfcTextStyleWithBoxCharacteristics(e,t[0]?new $C.IfcPositiveLengthMeasure(t[0].value):null,t[1]?new $C.IfcPositiveLengthMeasure(t[1].value):null,t[2]?new $C.IfcPlaneAngleMeasure(t[2].value):null,t[3]?new $C.IfcPlaneAngleMeasure(t[3].value):null,t[4]?K_(1,t[4]):null)},280115917:function(e,t){return new $C.IfcTextureCoordinate(e)},1742049831:function(e,t){return new $C.IfcTextureCoordinateGenerator(e,new $C.IfcLabel(t[0].value),t[1].map((function(e){return K_(1,e)})))},2552916305:function(e,t){return new $C.IfcTextureMap(e,t[0].map((function(e){return new H_(e.value)})))},1210645708:function(e,t){return new $C.IfcTextureVertex(e,t[0].map((function(e){return new $C.IfcParameterValue(e.value)})))},3317419933:function(e,t){return new $C.IfcThermalMaterialProperties(e,new H_(t[0].value),t[1]?new $C.IfcSpecificHeatCapacityMeasure(t[1].value):null,t[2]?new $C.IfcThermodynamicTemperatureMeasure(t[2].value):null,t[3]?new $C.IfcThermodynamicTemperatureMeasure(t[3].value):null,t[4]?new $C.IfcThermalConductivityMeasure(t[4].value):null)},3101149627:function(e,t){return new $C.IfcTimeSeries(e,new $C.IfcLabel(t[0].value),t[1]?new $C.IfcText(t[1].value):null,new H_(t[2].value),new H_(t[3].value),t[4],t[5],t[6]?new $C.IfcLabel(t[6].value):null,t[7]?new H_(t[7].value):null)},1718945513:function(e,t){return new $C.IfcTimeSeriesReferenceRelationship(e,new H_(t[0].value),t[1].map((function(e){return new H_(e.value)})))},581633288:function(e,t){return new $C.IfcTimeSeriesValue(e,t[0].map((function(e){return K_(1,e)})))},1377556343:function(e,t){return new $C.IfcTopologicalRepresentationItem(e)},1735638870:function(e,t){return new $C.IfcTopologyRepresentation(e,new H_(t[0].value),t[1]?new $C.IfcLabel(t[1].value):null,t[2]?new $C.IfcLabel(t[2].value):null,t[3].map((function(e){return new H_(e.value)})))},180925521:function(e,t){return new $C.IfcUnitAssignment(e,t[0].map((function(e){return new H_(e.value)})))},2799835756:function(e,t){return new $C.IfcVertex(e)},3304826586:function(e,t){return new $C.IfcVertexBasedTextureMap(e,t[0].map((function(e){return new H_(e.value)})),t[1].map((function(e){return new H_(e.value)})))},1907098498:function(e,t){return new $C.IfcVertexPoint(e,new H_(t[0].value))},891718957:function(e,t){return new $C.IfcVirtualGridIntersection(e,t[0].map((function(e){return new H_(e.value)})),t[1].map((function(e){return new $C.IfcLengthMeasure(e.value)})))},1065908215:function(e,t){return new $C.IfcWaterProperties(e,new H_(t[0].value),t[1]?t[1].value:null,t[2]?new $C.IfcIonConcentrationMeasure(t[2].value):null,t[3]?new $C.IfcIonConcentrationMeasure(t[3].value):null,t[4]?new $C.IfcIonConcentrationMeasure(t[4].value):null,t[5]?new $C.IfcNormalisedRatioMeasure(t[5].value):null,t[6]?new $C.IfcPHMeasure(t[6].value):null,t[7]?new $C.IfcNormalisedRatioMeasure(t[7].value):null)},2442683028:function(e,t){return new $C.IfcAnnotationOccurrence(e,t[0]?new H_(t[0].value):null,t[1].map((function(e){return new H_(e.value)})),t[2]?new $C.IfcLabel(t[2].value):null)},962685235:function(e,t){return new $C.IfcAnnotationSurfaceOccurrence(e,t[0]?new H_(t[0].value):null,t[1].map((function(e){return new H_(e.value)})),t[2]?new $C.IfcLabel(t[2].value):null)},3612888222:function(e,t){return new $C.IfcAnnotationSymbolOccurrence(e,t[0]?new H_(t[0].value):null,t[1].map((function(e){return new H_(e.value)})),t[2]?new $C.IfcLabel(t[2].value):null)},2297822566:function(e,t){return new $C.IfcAnnotationTextOccurrence(e,t[0]?new H_(t[0].value):null,t[1].map((function(e){return new H_(e.value)})),t[2]?new $C.IfcLabel(t[2].value):null)},3798115385:function(e,t){return new $C.IfcArbitraryClosedProfileDef(e,t[0],t[1]?new $C.IfcLabel(t[1].value):null,new H_(t[2].value))},1310608509:function(e,t){return new $C.IfcArbitraryOpenProfileDef(e,t[0],t[1]?new $C.IfcLabel(t[1].value):null,new H_(t[2].value))},2705031697:function(e,t){return new $C.IfcArbitraryProfileDefWithVoids(e,t[0],t[1]?new $C.IfcLabel(t[1].value):null,new H_(t[2].value),t[3].map((function(e){return new H_(e.value)})))},616511568:function(e,t){return new $C.IfcBlobTexture(e,t[0].value,t[1].value,t[2],t[3]?new H_(t[3].value):null,new $C.IfcIdentifier(t[4].value),t[5].value)},3150382593:function(e,t){return new $C.IfcCenterLineProfileDef(e,t[0],t[1]?new $C.IfcLabel(t[1].value):null,new H_(t[2].value),new $C.IfcPositiveLengthMeasure(t[3].value))},647927063:function(e,t){return new $C.IfcClassificationReference(e,t[0]?new $C.IfcLabel(t[0].value):null,t[1]?new $C.IfcIdentifier(t[1].value):null,t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new H_(t[3].value):null)},776857604:function(e,t){return new $C.IfcColourRgb(e,t[0]?new $C.IfcLabel(t[0].value):null,new $C.IfcNormalisedRatioMeasure(t[1].value),new $C.IfcNormalisedRatioMeasure(t[2].value),new $C.IfcNormalisedRatioMeasure(t[3].value))},2542286263:function(e,t){return new $C.IfcComplexProperty(e,new $C.IfcIdentifier(t[0].value),t[1]?new $C.IfcText(t[1].value):null,new $C.IfcIdentifier(t[2].value),t[3].map((function(e){return new H_(e.value)})))},1485152156:function(e,t){return new $C.IfcCompositeProfileDef(e,t[0],t[1]?new $C.IfcLabel(t[1].value):null,t[2].map((function(e){return new H_(e.value)})),t[3]?new $C.IfcLabel(t[3].value):null)},370225590:function(e,t){return new $C.IfcConnectedFaceSet(e,t[0].map((function(e){return new H_(e.value)})))},1981873012:function(e,t){return new $C.IfcConnectionCurveGeometry(e,new H_(t[0].value),t[1]?new H_(t[1].value):null)},45288368:function(e,t){return new $C.IfcConnectionPointEccentricity(e,new H_(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new $C.IfcLengthMeasure(t[2].value):null,t[3]?new $C.IfcLengthMeasure(t[3].value):null,t[4]?new $C.IfcLengthMeasure(t[4].value):null)},3050246964:function(e,t){return new $C.IfcContextDependentUnit(e,new H_(t[0].value),t[1],new $C.IfcLabel(t[2].value))},2889183280:function(e,t){return new $C.IfcConversionBasedUnit(e,new H_(t[0].value),t[1],new $C.IfcLabel(t[2].value),new H_(t[3].value))},3800577675:function(e,t){return new $C.IfcCurveStyle(e,t[0]?new $C.IfcLabel(t[0].value):null,t[1]?new H_(t[1].value):null,t[2]?K_(1,t[2]):null,t[3]?new H_(t[3].value):null)},3632507154:function(e,t){return new $C.IfcDerivedProfileDef(e,t[0],t[1]?new $C.IfcLabel(t[1].value):null,new H_(t[2].value),new H_(t[3].value),t[4]?new $C.IfcLabel(t[4].value):null)},2273265877:function(e,t){return new $C.IfcDimensionCalloutRelationship(e,t[0]?new $C.IfcLabel(t[0].value):null,t[1]?new $C.IfcText(t[1].value):null,new H_(t[2].value),new H_(t[3].value))},1694125774:function(e,t){return new $C.IfcDimensionPair(e,t[0]?new $C.IfcLabel(t[0].value):null,t[1]?new $C.IfcText(t[1].value):null,new H_(t[2].value),new H_(t[3].value))},3732053477:function(e,t){return new $C.IfcDocumentReference(e,t[0]?new $C.IfcLabel(t[0].value):null,t[1]?new $C.IfcIdentifier(t[1].value):null,t[2]?new $C.IfcLabel(t[2].value):null)},4170525392:function(e,t){return new $C.IfcDraughtingPreDefinedTextFont(e,new $C.IfcLabel(t[0].value))},3900360178:function(e,t){return new $C.IfcEdge(e,new H_(t[0].value),new H_(t[1].value))},476780140:function(e,t){return new $C.IfcEdgeCurve(e,new H_(t[0].value),new H_(t[1].value),new H_(t[2].value),t[3].value)},1860660968:function(e,t){return new $C.IfcExtendedMaterialProperties(e,new H_(t[0].value),t[1].map((function(e){return new H_(e.value)})),t[2]?new $C.IfcText(t[2].value):null,new $C.IfcLabel(t[3].value))},2556980723:function(e,t){return new $C.IfcFace(e,t[0].map((function(e){return new H_(e.value)})))},1809719519:function(e,t){return new $C.IfcFaceBound(e,new H_(t[0].value),t[1].value)},803316827:function(e,t){return new $C.IfcFaceOuterBound(e,new H_(t[0].value),t[1].value)},3008276851:function(e,t){return new $C.IfcFaceSurface(e,t[0].map((function(e){return new H_(e.value)})),new H_(t[1].value),t[2].value)},4219587988:function(e,t){return new $C.IfcFailureConnectionCondition(e,t[0]?new $C.IfcLabel(t[0].value):null,t[1]?new $C.IfcForceMeasure(t[1].value):null,t[2]?new $C.IfcForceMeasure(t[2].value):null,t[3]?new $C.IfcForceMeasure(t[3].value):null,t[4]?new $C.IfcForceMeasure(t[4].value):null,t[5]?new $C.IfcForceMeasure(t[5].value):null,t[6]?new $C.IfcForceMeasure(t[6].value):null)},738692330:function(e,t){return new $C.IfcFillAreaStyle(e,t[0]?new $C.IfcLabel(t[0].value):null,t[1].map((function(e){return new H_(e.value)})))},3857492461:function(e,t){return new $C.IfcFuelProperties(e,new H_(t[0].value),t[1]?new $C.IfcThermodynamicTemperatureMeasure(t[1].value):null,t[2]?new $C.IfcPositiveRatioMeasure(t[2].value):null,t[3]?new $C.IfcHeatingValueMeasure(t[3].value):null,t[4]?new $C.IfcHeatingValueMeasure(t[4].value):null)},803998398:function(e,t){return new $C.IfcGeneralMaterialProperties(e,new H_(t[0].value),t[1]?new $C.IfcMolecularWeightMeasure(t[1].value):null,t[2]?new $C.IfcNormalisedRatioMeasure(t[2].value):null,t[3]?new $C.IfcMassDensityMeasure(t[3].value):null)},1446786286:function(e,t){return new $C.IfcGeneralProfileProperties(e,t[0]?new $C.IfcLabel(t[0].value):null,t[1]?new H_(t[1].value):null,t[2]?new $C.IfcMassPerLengthMeasure(t[2].value):null,t[3]?new $C.IfcPositiveLengthMeasure(t[3].value):null,t[4]?new $C.IfcPositiveLengthMeasure(t[4].value):null,t[5]?new $C.IfcPositiveLengthMeasure(t[5].value):null,t[6]?new $C.IfcAreaMeasure(t[6].value):null)},3448662350:function(e,t){return new $C.IfcGeometricRepresentationContext(e,t[0]?new $C.IfcLabel(t[0].value):null,t[1]?new $C.IfcLabel(t[1].value):null,new $C.IfcDimensionCount(t[2].value),t[3]?t[3].value:null,new H_(t[4].value),t[5]?new H_(t[5].value):null)},2453401579:function(e,t){return new $C.IfcGeometricRepresentationItem(e)},4142052618:function(e,t){return new $C.IfcGeometricRepresentationSubContext(e,t[0]?new $C.IfcLabel(t[0].value):null,t[1]?new $C.IfcLabel(t[1].value):null,new H_(t[2].value),t[3]?new $C.IfcPositiveRatioMeasure(t[3].value):null,t[4],t[5]?new $C.IfcLabel(t[5].value):null)},3590301190:function(e,t){return new $C.IfcGeometricSet(e,t[0].map((function(e){return new H_(e.value)})))},178086475:function(e,t){return new $C.IfcGridPlacement(e,new H_(t[0].value),t[1]?new H_(t[1].value):null)},812098782:function(e,t){return new $C.IfcHalfSpaceSolid(e,new H_(t[0].value),t[1].value)},2445078500:function(e,t){return new $C.IfcHygroscopicMaterialProperties(e,new H_(t[0].value),t[1]?new $C.IfcPositiveRatioMeasure(t[1].value):null,t[2]?new $C.IfcPositiveRatioMeasure(t[2].value):null,t[3]?new $C.IfcIsothermalMoistureCapacityMeasure(t[3].value):null,t[4]?new $C.IfcVaporPermeabilityMeasure(t[4].value):null,t[5]?new $C.IfcMoistureDiffusivityMeasure(t[5].value):null)},3905492369:function(e,t){return new $C.IfcImageTexture(e,t[0].value,t[1].value,t[2],t[3]?new H_(t[3].value):null,new $C.IfcIdentifier(t[4].value))},3741457305:function(e,t){return new $C.IfcIrregularTimeSeries(e,new $C.IfcLabel(t[0].value),t[1]?new $C.IfcText(t[1].value):null,new H_(t[2].value),new H_(t[3].value),t[4],t[5],t[6]?new $C.IfcLabel(t[6].value):null,t[7]?new H_(t[7].value):null,t[8].map((function(e){return new H_(e.value)})))},1402838566:function(e,t){return new $C.IfcLightSource(e,t[0]?new $C.IfcLabel(t[0].value):null,new H_(t[1].value),t[2]?new $C.IfcNormalisedRatioMeasure(t[2].value):null,t[3]?new $C.IfcNormalisedRatioMeasure(t[3].value):null)},125510826:function(e,t){return new $C.IfcLightSourceAmbient(e,t[0]?new $C.IfcLabel(t[0].value):null,new H_(t[1].value),t[2]?new $C.IfcNormalisedRatioMeasure(t[2].value):null,t[3]?new $C.IfcNormalisedRatioMeasure(t[3].value):null)},2604431987:function(e,t){return new $C.IfcLightSourceDirectional(e,t[0]?new $C.IfcLabel(t[0].value):null,new H_(t[1].value),t[2]?new $C.IfcNormalisedRatioMeasure(t[2].value):null,t[3]?new $C.IfcNormalisedRatioMeasure(t[3].value):null,new H_(t[4].value))},4266656042:function(e,t){return new $C.IfcLightSourceGoniometric(e,t[0]?new $C.IfcLabel(t[0].value):null,new H_(t[1].value),t[2]?new $C.IfcNormalisedRatioMeasure(t[2].value):null,t[3]?new $C.IfcNormalisedRatioMeasure(t[3].value):null,new H_(t[4].value),t[5]?new H_(t[5].value):null,new $C.IfcThermodynamicTemperatureMeasure(t[6].value),new $C.IfcLuminousFluxMeasure(t[7].value),t[8],new H_(t[9].value))},1520743889:function(e,t){return new $C.IfcLightSourcePositional(e,t[0]?new $C.IfcLabel(t[0].value):null,new H_(t[1].value),t[2]?new $C.IfcNormalisedRatioMeasure(t[2].value):null,t[3]?new $C.IfcNormalisedRatioMeasure(t[3].value):null,new H_(t[4].value),new $C.IfcPositiveLengthMeasure(t[5].value),new $C.IfcReal(t[6].value),new $C.IfcReal(t[7].value),new $C.IfcReal(t[8].value))},3422422726:function(e,t){return new $C.IfcLightSourceSpot(e,t[0]?new $C.IfcLabel(t[0].value):null,new H_(t[1].value),t[2]?new $C.IfcNormalisedRatioMeasure(t[2].value):null,t[3]?new $C.IfcNormalisedRatioMeasure(t[3].value):null,new H_(t[4].value),new $C.IfcPositiveLengthMeasure(t[5].value),new $C.IfcReal(t[6].value),new $C.IfcReal(t[7].value),new $C.IfcReal(t[8].value),new H_(t[9].value),t[10]?new $C.IfcReal(t[10].value):null,new $C.IfcPositivePlaneAngleMeasure(t[11].value),new $C.IfcPositivePlaneAngleMeasure(t[12].value))},2624227202:function(e,t){return new $C.IfcLocalPlacement(e,t[0]?new H_(t[0].value):null,new H_(t[1].value))},1008929658:function(e,t){return new $C.IfcLoop(e)},2347385850:function(e,t){return new $C.IfcMappedItem(e,new H_(t[0].value),new H_(t[1].value))},2022407955:function(e,t){return new $C.IfcMaterialDefinitionRepresentation(e,t[0]?new $C.IfcLabel(t[0].value):null,t[1]?new $C.IfcText(t[1].value):null,t[2].map((function(e){return new H_(e.value)})),new H_(t[3].value))},1430189142:function(e,t){return new $C.IfcMechanicalConcreteMaterialProperties(e,new H_(t[0].value),t[1]?new $C.IfcDynamicViscosityMeasure(t[1].value):null,t[2]?new $C.IfcModulusOfElasticityMeasure(t[2].value):null,t[3]?new $C.IfcModulusOfElasticityMeasure(t[3].value):null,t[4]?new $C.IfcPositiveRatioMeasure(t[4].value):null,t[5]?new $C.IfcThermalExpansionCoefficientMeasure(t[5].value):null,t[6]?new $C.IfcPressureMeasure(t[6].value):null,t[7]?new $C.IfcPositiveLengthMeasure(t[7].value):null,t[8]?new $C.IfcText(t[8].value):null,t[9]?new $C.IfcText(t[9].value):null,t[10]?new $C.IfcNormalisedRatioMeasure(t[10].value):null,t[11]?new $C.IfcText(t[11].value):null)},219451334:function(e,t){return new $C.IfcObjectDefinition(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null)},2833995503:function(e,t){return new $C.IfcOneDirectionRepeatFactor(e,new H_(t[0].value))},2665983363:function(e,t){return new $C.IfcOpenShell(e,t[0].map((function(e){return new H_(e.value)})))},1029017970:function(e,t){return new $C.IfcOrientedEdge(e,new H_(t[0].value),t[1].value)},2529465313:function(e,t){return new $C.IfcParameterizedProfileDef(e,t[0],t[1]?new $C.IfcLabel(t[1].value):null,new H_(t[2].value))},2519244187:function(e,t){return new $C.IfcPath(e,t[0].map((function(e){return new H_(e.value)})))},3021840470:function(e,t){return new $C.IfcPhysicalComplexQuantity(e,new $C.IfcLabel(t[0].value),t[1]?new $C.IfcText(t[1].value):null,t[2].map((function(e){return new H_(e.value)})),new $C.IfcLabel(t[3].value),t[4]?new $C.IfcLabel(t[4].value):null,t[5]?new $C.IfcLabel(t[5].value):null)},597895409:function(e,t){return new $C.IfcPixelTexture(e,t[0].value,t[1].value,t[2],t[3]?new H_(t[3].value):null,new $C.IfcInteger(t[4].value),new $C.IfcInteger(t[5].value),new $C.IfcInteger(t[6].value),t[7].map((function(e){return e.value})))},2004835150:function(e,t){return new $C.IfcPlacement(e,new H_(t[0].value))},1663979128:function(e,t){return new $C.IfcPlanarExtent(e,new $C.IfcLengthMeasure(t[0].value),new $C.IfcLengthMeasure(t[1].value))},2067069095:function(e,t){return new $C.IfcPoint(e)},4022376103:function(e,t){return new $C.IfcPointOnCurve(e,new H_(t[0].value),new $C.IfcParameterValue(t[1].value))},1423911732:function(e,t){return new $C.IfcPointOnSurface(e,new H_(t[0].value),new $C.IfcParameterValue(t[1].value),new $C.IfcParameterValue(t[2].value))},2924175390:function(e,t){return new $C.IfcPolyLoop(e,t[0].map((function(e){return new H_(e.value)})))},2775532180:function(e,t){return new $C.IfcPolygonalBoundedHalfSpace(e,new H_(t[0].value),t[1].value,new H_(t[2].value),new H_(t[3].value))},759155922:function(e,t){return new $C.IfcPreDefinedColour(e,new $C.IfcLabel(t[0].value))},2559016684:function(e,t){return new $C.IfcPreDefinedCurveFont(e,new $C.IfcLabel(t[0].value))},433424934:function(e,t){return new $C.IfcPreDefinedDimensionSymbol(e,new $C.IfcLabel(t[0].value))},179317114:function(e,t){return new $C.IfcPreDefinedPointMarkerSymbol(e,new $C.IfcLabel(t[0].value))},673634403:function(e,t){return new $C.IfcProductDefinitionShape(e,t[0]?new $C.IfcLabel(t[0].value):null,t[1]?new $C.IfcText(t[1].value):null,t[2].map((function(e){return new H_(e.value)})))},871118103:function(e,t){return new $C.IfcPropertyBoundedValue(e,new $C.IfcIdentifier(t[0].value),t[1]?new $C.IfcText(t[1].value):null,t[2]?K_(1,t[2]):null,t[3]?K_(1,t[3]):null,t[4]?new H_(t[4].value):null)},1680319473:function(e,t){return new $C.IfcPropertyDefinition(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null)},4166981789:function(e,t){return new $C.IfcPropertyEnumeratedValue(e,new $C.IfcIdentifier(t[0].value),t[1]?new $C.IfcText(t[1].value):null,t[2].map((function(e){return K_(1,e)})),t[3]?new H_(t[3].value):null)},2752243245:function(e,t){return new $C.IfcPropertyListValue(e,new $C.IfcIdentifier(t[0].value),t[1]?new $C.IfcText(t[1].value):null,t[2].map((function(e){return K_(1,e)})),t[3]?new H_(t[3].value):null)},941946838:function(e,t){return new $C.IfcPropertyReferenceValue(e,new $C.IfcIdentifier(t[0].value),t[1]?new $C.IfcText(t[1].value):null,t[2]?new $C.IfcLabel(t[2].value):null,new H_(t[3].value))},3357820518:function(e,t){return new $C.IfcPropertySetDefinition(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null)},3650150729:function(e,t){return new $C.IfcPropertySingleValue(e,new $C.IfcIdentifier(t[0].value),t[1]?new $C.IfcText(t[1].value):null,t[2]?K_(1,t[2]):null,t[3]?new H_(t[3].value):null)},110355661:function(e,t){return new $C.IfcPropertyTableValue(e,new $C.IfcIdentifier(t[0].value),t[1]?new $C.IfcText(t[1].value):null,t[2].map((function(e){return K_(1,e)})),t[3].map((function(e){return K_(1,e)})),t[4]?new $C.IfcText(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null)},3615266464:function(e,t){return new $C.IfcRectangleProfileDef(e,t[0],t[1]?new $C.IfcLabel(t[1].value):null,new H_(t[2].value),new $C.IfcPositiveLengthMeasure(t[3].value),new $C.IfcPositiveLengthMeasure(t[4].value))},3413951693:function(e,t){return new $C.IfcRegularTimeSeries(e,new $C.IfcLabel(t[0].value),t[1]?new $C.IfcText(t[1].value):null,new H_(t[2].value),new H_(t[3].value),t[4],t[5],t[6]?new $C.IfcLabel(t[6].value):null,t[7]?new H_(t[7].value):null,new $C.IfcTimeMeasure(t[8].value),t[9].map((function(e){return new H_(e.value)})))},3765753017:function(e,t){return new $C.IfcReinforcementDefinitionProperties(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5].map((function(e){return new H_(e.value)})))},478536968:function(e,t){return new $C.IfcRelationship(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null)},2778083089:function(e,t){return new $C.IfcRoundedRectangleProfileDef(e,t[0],t[1]?new $C.IfcLabel(t[1].value):null,new H_(t[2].value),new $C.IfcPositiveLengthMeasure(t[3].value),new $C.IfcPositiveLengthMeasure(t[4].value),new $C.IfcPositiveLengthMeasure(t[5].value))},1509187699:function(e,t){return new $C.IfcSectionedSpine(e,new H_(t[0].value),t[1].map((function(e){return new H_(e.value)})),t[2].map((function(e){return new H_(e.value)})))},2411513650:function(e,t){return new $C.IfcServiceLifeFactor(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4],t[5]?K_(1,t[5]):null,K_(1,t[6]),t[7]?K_(1,t[7]):null)},4124623270:function(e,t){return new $C.IfcShellBasedSurfaceModel(e,t[0].map((function(e){return new H_(e.value)})))},2609359061:function(e,t){return new $C.IfcSlippageConnectionCondition(e,t[0]?new $C.IfcLabel(t[0].value):null,t[1]?new $C.IfcLengthMeasure(t[1].value):null,t[2]?new $C.IfcLengthMeasure(t[2].value):null,t[3]?new $C.IfcLengthMeasure(t[3].value):null)},723233188:function(e,t){return new $C.IfcSolidModel(e)},2485662743:function(e,t){return new $C.IfcSoundProperties(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,new $C.IfcBoolean(t[4].value),t[5],t[6].map((function(e){return new H_(e.value)})))},1202362311:function(e,t){return new $C.IfcSoundValue(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new H_(t[4].value):null,new $C.IfcFrequencyMeasure(t[5].value),t[6]?K_(1,t[6]):null)},390701378:function(e,t){return new $C.IfcSpaceThermalLoadProperties(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcPositiveRatioMeasure(t[4].value):null,t[5],t[6],t[7]?new $C.IfcText(t[7].value):null,new $C.IfcPowerMeasure(t[8].value),t[9]?new $C.IfcPowerMeasure(t[9].value):null,t[10]?new H_(t[10].value):null,t[11]?new $C.IfcLabel(t[11].value):null,t[12]?new $C.IfcLabel(t[12].value):null,t[13])},1595516126:function(e,t){return new $C.IfcStructuralLoadLinearForce(e,t[0]?new $C.IfcLabel(t[0].value):null,t[1]?new $C.IfcLinearForceMeasure(t[1].value):null,t[2]?new $C.IfcLinearForceMeasure(t[2].value):null,t[3]?new $C.IfcLinearForceMeasure(t[3].value):null,t[4]?new $C.IfcLinearMomentMeasure(t[4].value):null,t[5]?new $C.IfcLinearMomentMeasure(t[5].value):null,t[6]?new $C.IfcLinearMomentMeasure(t[6].value):null)},2668620305:function(e,t){return new $C.IfcStructuralLoadPlanarForce(e,t[0]?new $C.IfcLabel(t[0].value):null,t[1]?new $C.IfcPlanarForceMeasure(t[1].value):null,t[2]?new $C.IfcPlanarForceMeasure(t[2].value):null,t[3]?new $C.IfcPlanarForceMeasure(t[3].value):null)},2473145415:function(e,t){return new $C.IfcStructuralLoadSingleDisplacement(e,t[0]?new $C.IfcLabel(t[0].value):null,t[1]?new $C.IfcLengthMeasure(t[1].value):null,t[2]?new $C.IfcLengthMeasure(t[2].value):null,t[3]?new $C.IfcLengthMeasure(t[3].value):null,t[4]?new $C.IfcPlaneAngleMeasure(t[4].value):null,t[5]?new $C.IfcPlaneAngleMeasure(t[5].value):null,t[6]?new $C.IfcPlaneAngleMeasure(t[6].value):null)},1973038258:function(e,t){return new $C.IfcStructuralLoadSingleDisplacementDistortion(e,t[0]?new $C.IfcLabel(t[0].value):null,t[1]?new $C.IfcLengthMeasure(t[1].value):null,t[2]?new $C.IfcLengthMeasure(t[2].value):null,t[3]?new $C.IfcLengthMeasure(t[3].value):null,t[4]?new $C.IfcPlaneAngleMeasure(t[4].value):null,t[5]?new $C.IfcPlaneAngleMeasure(t[5].value):null,t[6]?new $C.IfcPlaneAngleMeasure(t[6].value):null,t[7]?new $C.IfcCurvatureMeasure(t[7].value):null)},1597423693:function(e,t){return new $C.IfcStructuralLoadSingleForce(e,t[0]?new $C.IfcLabel(t[0].value):null,t[1]?new $C.IfcForceMeasure(t[1].value):null,t[2]?new $C.IfcForceMeasure(t[2].value):null,t[3]?new $C.IfcForceMeasure(t[3].value):null,t[4]?new $C.IfcTorqueMeasure(t[4].value):null,t[5]?new $C.IfcTorqueMeasure(t[5].value):null,t[6]?new $C.IfcTorqueMeasure(t[6].value):null)},1190533807:function(e,t){return new $C.IfcStructuralLoadSingleForceWarping(e,t[0]?new $C.IfcLabel(t[0].value):null,t[1]?new $C.IfcForceMeasure(t[1].value):null,t[2]?new $C.IfcForceMeasure(t[2].value):null,t[3]?new $C.IfcForceMeasure(t[3].value):null,t[4]?new $C.IfcTorqueMeasure(t[4].value):null,t[5]?new $C.IfcTorqueMeasure(t[5].value):null,t[6]?new $C.IfcTorqueMeasure(t[6].value):null,t[7]?new $C.IfcWarpingMomentMeasure(t[7].value):null)},3843319758:function(e,t){return new $C.IfcStructuralProfileProperties(e,t[0]?new $C.IfcLabel(t[0].value):null,t[1]?new H_(t[1].value):null,t[2]?new $C.IfcMassPerLengthMeasure(t[2].value):null,t[3]?new $C.IfcPositiveLengthMeasure(t[3].value):null,t[4]?new $C.IfcPositiveLengthMeasure(t[4].value):null,t[5]?new $C.IfcPositiveLengthMeasure(t[5].value):null,t[6]?new $C.IfcAreaMeasure(t[6].value):null,t[7]?new $C.IfcMomentOfInertiaMeasure(t[7].value):null,t[8]?new $C.IfcMomentOfInertiaMeasure(t[8].value):null,t[9]?new $C.IfcMomentOfInertiaMeasure(t[9].value):null,t[10]?new $C.IfcMomentOfInertiaMeasure(t[10].value):null,t[11]?new $C.IfcWarpingConstantMeasure(t[11].value):null,t[12]?new $C.IfcLengthMeasure(t[12].value):null,t[13]?new $C.IfcLengthMeasure(t[13].value):null,t[14]?new $C.IfcAreaMeasure(t[14].value):null,t[15]?new $C.IfcAreaMeasure(t[15].value):null,t[16]?new $C.IfcSectionModulusMeasure(t[16].value):null,t[17]?new $C.IfcSectionModulusMeasure(t[17].value):null,t[18]?new $C.IfcSectionModulusMeasure(t[18].value):null,t[19]?new $C.IfcSectionModulusMeasure(t[19].value):null,t[20]?new $C.IfcSectionModulusMeasure(t[20].value):null,t[21]?new $C.IfcLengthMeasure(t[21].value):null,t[22]?new $C.IfcLengthMeasure(t[22].value):null)},3653947884:function(e,t){return new $C.IfcStructuralSteelProfileProperties(e,t[0]?new $C.IfcLabel(t[0].value):null,t[1]?new H_(t[1].value):null,t[2]?new $C.IfcMassPerLengthMeasure(t[2].value):null,t[3]?new $C.IfcPositiveLengthMeasure(t[3].value):null,t[4]?new $C.IfcPositiveLengthMeasure(t[4].value):null,t[5]?new $C.IfcPositiveLengthMeasure(t[5].value):null,t[6]?new $C.IfcAreaMeasure(t[6].value):null,t[7]?new $C.IfcMomentOfInertiaMeasure(t[7].value):null,t[8]?new $C.IfcMomentOfInertiaMeasure(t[8].value):null,t[9]?new $C.IfcMomentOfInertiaMeasure(t[9].value):null,t[10]?new $C.IfcMomentOfInertiaMeasure(t[10].value):null,t[11]?new $C.IfcWarpingConstantMeasure(t[11].value):null,t[12]?new $C.IfcLengthMeasure(t[12].value):null,t[13]?new $C.IfcLengthMeasure(t[13].value):null,t[14]?new $C.IfcAreaMeasure(t[14].value):null,t[15]?new $C.IfcAreaMeasure(t[15].value):null,t[16]?new $C.IfcSectionModulusMeasure(t[16].value):null,t[17]?new $C.IfcSectionModulusMeasure(t[17].value):null,t[18]?new $C.IfcSectionModulusMeasure(t[18].value):null,t[19]?new $C.IfcSectionModulusMeasure(t[19].value):null,t[20]?new $C.IfcSectionModulusMeasure(t[20].value):null,t[21]?new $C.IfcLengthMeasure(t[21].value):null,t[22]?new $C.IfcLengthMeasure(t[22].value):null,t[23]?new $C.IfcAreaMeasure(t[23].value):null,t[24]?new $C.IfcAreaMeasure(t[24].value):null,t[25]?new $C.IfcPositiveRatioMeasure(t[25].value):null,t[26]?new $C.IfcPositiveRatioMeasure(t[26].value):null)},2233826070:function(e,t){return new $C.IfcSubedge(e,new H_(t[0].value),new H_(t[1].value),new H_(t[2].value))},2513912981:function(e,t){return new $C.IfcSurface(e)},1878645084:function(e,t){return new $C.IfcSurfaceStyleRendering(e,new H_(t[0].value),t[1]?new $C.IfcNormalisedRatioMeasure(t[1].value):null,t[2]?new H_(t[2].value):null,t[3]?new H_(t[3].value):null,t[4]?new H_(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?K_(1,t[7]):null,t[8])},2247615214:function(e,t){return new $C.IfcSweptAreaSolid(e,new H_(t[0].value),new H_(t[1].value))},1260650574:function(e,t){return new $C.IfcSweptDiskSolid(e,new H_(t[0].value),new $C.IfcPositiveLengthMeasure(t[1].value),t[2]?new $C.IfcPositiveLengthMeasure(t[2].value):null,new $C.IfcParameterValue(t[3].value),new $C.IfcParameterValue(t[4].value))},230924584:function(e,t){return new $C.IfcSweptSurface(e,new H_(t[0].value),new H_(t[1].value))},3071757647:function(e,t){return new $C.IfcTShapeProfileDef(e,t[0],t[1]?new $C.IfcLabel(t[1].value):null,new H_(t[2].value),new $C.IfcPositiveLengthMeasure(t[3].value),new $C.IfcPositiveLengthMeasure(t[4].value),new $C.IfcPositiveLengthMeasure(t[5].value),new $C.IfcPositiveLengthMeasure(t[6].value),t[7]?new $C.IfcPositiveLengthMeasure(t[7].value):null,t[8]?new $C.IfcPositiveLengthMeasure(t[8].value):null,t[9]?new $C.IfcPositiveLengthMeasure(t[9].value):null,t[10]?new $C.IfcPlaneAngleMeasure(t[10].value):null,t[11]?new $C.IfcPlaneAngleMeasure(t[11].value):null,t[12]?new $C.IfcPositiveLengthMeasure(t[12].value):null)},3028897424:function(e,t){return new $C.IfcTerminatorSymbol(e,t[0]?new H_(t[0].value):null,t[1].map((function(e){return new H_(e.value)})),t[2]?new $C.IfcLabel(t[2].value):null,new H_(t[3].value))},4282788508:function(e,t){return new $C.IfcTextLiteral(e,new $C.IfcPresentableText(t[0].value),new H_(t[1].value),t[2])},3124975700:function(e,t){return new $C.IfcTextLiteralWithExtent(e,new $C.IfcPresentableText(t[0].value),new H_(t[1].value),t[2],new H_(t[3].value),new $C.IfcBoxAlignment(t[4].value))},2715220739:function(e,t){return new $C.IfcTrapeziumProfileDef(e,t[0],t[1]?new $C.IfcLabel(t[1].value):null,new H_(t[2].value),new $C.IfcPositiveLengthMeasure(t[3].value),new $C.IfcPositiveLengthMeasure(t[4].value),new $C.IfcPositiveLengthMeasure(t[5].value),new $C.IfcLengthMeasure(t[6].value))},1345879162:function(e,t){return new $C.IfcTwoDirectionRepeatFactor(e,new H_(t[0].value),new H_(t[1].value))},1628702193:function(e,t){return new $C.IfcTypeObject(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null)},2347495698:function(e,t){return new $C.IfcTypeProduct(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new $C.IfcLabel(t[7].value):null)},427810014:function(e,t){return new $C.IfcUShapeProfileDef(e,t[0],t[1]?new $C.IfcLabel(t[1].value):null,new H_(t[2].value),new $C.IfcPositiveLengthMeasure(t[3].value),new $C.IfcPositiveLengthMeasure(t[4].value),new $C.IfcPositiveLengthMeasure(t[5].value),new $C.IfcPositiveLengthMeasure(t[6].value),t[7]?new $C.IfcPositiveLengthMeasure(t[7].value):null,t[8]?new $C.IfcPositiveLengthMeasure(t[8].value):null,t[9]?new $C.IfcPlaneAngleMeasure(t[9].value):null,t[10]?new $C.IfcPositiveLengthMeasure(t[10].value):null)},1417489154:function(e,t){return new $C.IfcVector(e,new H_(t[0].value),new $C.IfcLengthMeasure(t[1].value))},2759199220:function(e,t){return new $C.IfcVertexLoop(e,new H_(t[0].value))},336235671:function(e,t){return new $C.IfcWindowLiningProperties(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcPositiveLengthMeasure(t[4].value):null,t[5]?new $C.IfcPositiveLengthMeasure(t[5].value):null,t[6]?new $C.IfcPositiveLengthMeasure(t[6].value):null,t[7]?new $C.IfcPositiveLengthMeasure(t[7].value):null,t[8]?new $C.IfcNormalisedRatioMeasure(t[8].value):null,t[9]?new $C.IfcNormalisedRatioMeasure(t[9].value):null,t[10]?new $C.IfcNormalisedRatioMeasure(t[10].value):null,t[11]?new $C.IfcNormalisedRatioMeasure(t[11].value):null,t[12]?new H_(t[12].value):null)},512836454:function(e,t){return new $C.IfcWindowPanelProperties(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4],t[5],t[6]?new $C.IfcPositiveLengthMeasure(t[6].value):null,t[7]?new $C.IfcPositiveLengthMeasure(t[7].value):null,t[8]?new H_(t[8].value):null)},1299126871:function(e,t){return new $C.IfcWindowStyle(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new $C.IfcLabel(t[7].value):null,t[8],t[9],t[10].value,t[11].value)},2543172580:function(e,t){return new $C.IfcZShapeProfileDef(e,t[0],t[1]?new $C.IfcLabel(t[1].value):null,new H_(t[2].value),new $C.IfcPositiveLengthMeasure(t[3].value),new $C.IfcPositiveLengthMeasure(t[4].value),new $C.IfcPositiveLengthMeasure(t[5].value),new $C.IfcPositiveLengthMeasure(t[6].value),t[7]?new $C.IfcPositiveLengthMeasure(t[7].value):null,t[8]?new $C.IfcPositiveLengthMeasure(t[8].value):null)},3288037868:function(e,t){return new $C.IfcAnnotationCurveOccurrence(e,t[0]?new H_(t[0].value):null,t[1].map((function(e){return new H_(e.value)})),t[2]?new $C.IfcLabel(t[2].value):null)},669184980:function(e,t){return new $C.IfcAnnotationFillArea(e,new H_(t[0].value),t[1]?t[1].map((function(e){return new H_(e.value)})):null)},2265737646:function(e,t){return new $C.IfcAnnotationFillAreaOccurrence(e,t[0]?new H_(t[0].value):null,t[1].map((function(e){return new H_(e.value)})),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new H_(t[3].value):null,t[4])},1302238472:function(e,t){return new $C.IfcAnnotationSurface(e,new H_(t[0].value),t[1]?new H_(t[1].value):null)},4261334040:function(e,t){return new $C.IfcAxis1Placement(e,new H_(t[0].value),t[1]?new H_(t[1].value):null)},3125803723:function(e,t){return new $C.IfcAxis2Placement2D(e,new H_(t[0].value),t[1]?new H_(t[1].value):null)},2740243338:function(e,t){return new $C.IfcAxis2Placement3D(e,new H_(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new H_(t[2].value):null)},2736907675:function(e,t){return new $C.IfcBooleanResult(e,t[0],new H_(t[1].value),new H_(t[2].value))},4182860854:function(e,t){return new $C.IfcBoundedSurface(e)},2581212453:function(e,t){return new $C.IfcBoundingBox(e,new H_(t[0].value),new $C.IfcPositiveLengthMeasure(t[1].value),new $C.IfcPositiveLengthMeasure(t[2].value),new $C.IfcPositiveLengthMeasure(t[3].value))},2713105998:function(e,t){return new $C.IfcBoxedHalfSpace(e,new H_(t[0].value),t[1].value,new H_(t[2].value))},2898889636:function(e,t){return new $C.IfcCShapeProfileDef(e,t[0],t[1]?new $C.IfcLabel(t[1].value):null,new H_(t[2].value),new $C.IfcPositiveLengthMeasure(t[3].value),new $C.IfcPositiveLengthMeasure(t[4].value),new $C.IfcPositiveLengthMeasure(t[5].value),new $C.IfcPositiveLengthMeasure(t[6].value),t[7]?new $C.IfcPositiveLengthMeasure(t[7].value):null,t[8]?new $C.IfcPositiveLengthMeasure(t[8].value):null)},1123145078:function(e,t){return new $C.IfcCartesianPoint(e,t[0].map((function(e){return new $C.IfcLengthMeasure(e.value)})))},59481748:function(e,t){return new $C.IfcCartesianTransformationOperator(e,t[0]?new H_(t[0].value):null,t[1]?new H_(t[1].value):null,new H_(t[2].value),t[3]?t[3].value:null)},3749851601:function(e,t){return new $C.IfcCartesianTransformationOperator2D(e,t[0]?new H_(t[0].value):null,t[1]?new H_(t[1].value):null,new H_(t[2].value),t[3]?t[3].value:null)},3486308946:function(e,t){return new $C.IfcCartesianTransformationOperator2DnonUniform(e,t[0]?new H_(t[0].value):null,t[1]?new H_(t[1].value):null,new H_(t[2].value),t[3]?t[3].value:null,t[4]?t[4].value:null)},3331915920:function(e,t){return new $C.IfcCartesianTransformationOperator3D(e,t[0]?new H_(t[0].value):null,t[1]?new H_(t[1].value):null,new H_(t[2].value),t[3]?t[3].value:null,t[4]?new H_(t[4].value):null)},1416205885:function(e,t){return new $C.IfcCartesianTransformationOperator3DnonUniform(e,t[0]?new H_(t[0].value):null,t[1]?new H_(t[1].value):null,new H_(t[2].value),t[3]?t[3].value:null,t[4]?new H_(t[4].value):null,t[5]?t[5].value:null,t[6]?t[6].value:null)},1383045692:function(e,t){return new $C.IfcCircleProfileDef(e,t[0],t[1]?new $C.IfcLabel(t[1].value):null,new H_(t[2].value),new $C.IfcPositiveLengthMeasure(t[3].value))},2205249479:function(e,t){return new $C.IfcClosedShell(e,t[0].map((function(e){return new H_(e.value)})))},2485617015:function(e,t){return new $C.IfcCompositeCurveSegment(e,t[0],t[1].value,new H_(t[2].value))},4133800736:function(e,t){return new $C.IfcCraneRailAShapeProfileDef(e,t[0],t[1]?new $C.IfcLabel(t[1].value):null,new H_(t[2].value),new $C.IfcPositiveLengthMeasure(t[3].value),new $C.IfcPositiveLengthMeasure(t[4].value),t[5]?new $C.IfcPositiveLengthMeasure(t[5].value):null,new $C.IfcPositiveLengthMeasure(t[6].value),new $C.IfcPositiveLengthMeasure(t[7].value),new $C.IfcPositiveLengthMeasure(t[8].value),new $C.IfcPositiveLengthMeasure(t[9].value),new $C.IfcPositiveLengthMeasure(t[10].value),new $C.IfcPositiveLengthMeasure(t[11].value),new $C.IfcPositiveLengthMeasure(t[12].value),new $C.IfcPositiveLengthMeasure(t[13].value),t[14]?new $C.IfcPositiveLengthMeasure(t[14].value):null)},194851669:function(e,t){return new $C.IfcCraneRailFShapeProfileDef(e,t[0],t[1]?new $C.IfcLabel(t[1].value):null,new H_(t[2].value),new $C.IfcPositiveLengthMeasure(t[3].value),new $C.IfcPositiveLengthMeasure(t[4].value),t[5]?new $C.IfcPositiveLengthMeasure(t[5].value):null,new $C.IfcPositiveLengthMeasure(t[6].value),new $C.IfcPositiveLengthMeasure(t[7].value),new $C.IfcPositiveLengthMeasure(t[8].value),new $C.IfcPositiveLengthMeasure(t[9].value),new $C.IfcPositiveLengthMeasure(t[10].value),t[11]?new $C.IfcPositiveLengthMeasure(t[11].value):null)},2506170314:function(e,t){return new $C.IfcCsgPrimitive3D(e,new H_(t[0].value))},2147822146:function(e,t){return new $C.IfcCsgSolid(e,new H_(t[0].value))},2601014836:function(e,t){return new $C.IfcCurve(e)},2827736869:function(e,t){return new $C.IfcCurveBoundedPlane(e,new H_(t[0].value),new H_(t[1].value),t[2]?t[2].map((function(e){return new H_(e.value)})):null)},693772133:function(e,t){return new $C.IfcDefinedSymbol(e,new H_(t[0].value),new H_(t[1].value))},606661476:function(e,t){return new $C.IfcDimensionCurve(e,t[0]?new H_(t[0].value):null,t[1].map((function(e){return new H_(e.value)})),t[2]?new $C.IfcLabel(t[2].value):null)},4054601972:function(e,t){return new $C.IfcDimensionCurveTerminator(e,t[0]?new H_(t[0].value):null,t[1].map((function(e){return new H_(e.value)})),t[2]?new $C.IfcLabel(t[2].value):null,new H_(t[3].value),t[4])},32440307:function(e,t){return new $C.IfcDirection(e,t[0].map((function(e){return e.value})))},2963535650:function(e,t){return new $C.IfcDoorLiningProperties(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcPositiveLengthMeasure(t[4].value):null,t[5]?new $C.IfcPositiveLengthMeasure(t[5].value):null,t[6]?new $C.IfcPositiveLengthMeasure(t[6].value):null,t[7]?new $C.IfcPositiveLengthMeasure(t[7].value):null,t[8]?new $C.IfcPositiveLengthMeasure(t[8].value):null,t[9]?new $C.IfcLengthMeasure(t[9].value):null,t[10]?new $C.IfcLengthMeasure(t[10].value):null,t[11]?new $C.IfcLengthMeasure(t[11].value):null,t[12]?new $C.IfcPositiveLengthMeasure(t[12].value):null,t[13]?new $C.IfcPositiveLengthMeasure(t[13].value):null,t[14]?new H_(t[14].value):null)},1714330368:function(e,t){return new $C.IfcDoorPanelProperties(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcPositiveLengthMeasure(t[4].value):null,t[5],t[6]?new $C.IfcNormalisedRatioMeasure(t[6].value):null,t[7],t[8]?new H_(t[8].value):null)},526551008:function(e,t){return new $C.IfcDoorStyle(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new $C.IfcLabel(t[7].value):null,t[8],t[9],t[10].value,t[11].value)},3073041342:function(e,t){return new $C.IfcDraughtingCallout(e,t[0].map((function(e){return new H_(e.value)})))},445594917:function(e,t){return new $C.IfcDraughtingPreDefinedColour(e,new $C.IfcLabel(t[0].value))},4006246654:function(e,t){return new $C.IfcDraughtingPreDefinedCurveFont(e,new $C.IfcLabel(t[0].value))},1472233963:function(e,t){return new $C.IfcEdgeLoop(e,t[0].map((function(e){return new H_(e.value)})))},1883228015:function(e,t){return new $C.IfcElementQuantity(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5].map((function(e){return new H_(e.value)})))},339256511:function(e,t){return new $C.IfcElementType(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new $C.IfcLabel(t[7].value):null,t[8]?new $C.IfcLabel(t[8].value):null)},2777663545:function(e,t){return new $C.IfcElementarySurface(e,new H_(t[0].value))},2835456948:function(e,t){return new $C.IfcEllipseProfileDef(e,t[0],t[1]?new $C.IfcLabel(t[1].value):null,new H_(t[2].value),new $C.IfcPositiveLengthMeasure(t[3].value),new $C.IfcPositiveLengthMeasure(t[4].value))},80994333:function(e,t){return new $C.IfcEnergyProperties(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4],t[5]?new $C.IfcLabel(t[5].value):null)},477187591:function(e,t){return new $C.IfcExtrudedAreaSolid(e,new H_(t[0].value),new H_(t[1].value),new H_(t[2].value),new $C.IfcPositiveLengthMeasure(t[3].value))},2047409740:function(e,t){return new $C.IfcFaceBasedSurfaceModel(e,t[0].map((function(e){return new H_(e.value)})))},374418227:function(e,t){return new $C.IfcFillAreaStyleHatching(e,new H_(t[0].value),new H_(t[1].value),t[2]?new H_(t[2].value):null,t[3]?new H_(t[3].value):null,new $C.IfcPlaneAngleMeasure(t[4].value))},4203026998:function(e,t){return new $C.IfcFillAreaStyleTileSymbolWithStyle(e,new H_(t[0].value))},315944413:function(e,t){return new $C.IfcFillAreaStyleTiles(e,new H_(t[0].value),t[1].map((function(e){return new H_(e.value)})),new $C.IfcPositiveRatioMeasure(t[2].value))},3455213021:function(e,t){return new $C.IfcFluidFlowProperties(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4],t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new H_(t[7].value):null,new H_(t[8].value),t[9]?new H_(t[9].value):null,t[10]?new $C.IfcLabel(t[10].value):null,t[11]?new $C.IfcThermodynamicTemperatureMeasure(t[11].value):null,t[12]?new $C.IfcThermodynamicTemperatureMeasure(t[12].value):null,t[13]?new H_(t[13].value):null,t[14]?new H_(t[14].value):null,t[15]?K_(1,t[15]):null,t[16]?new $C.IfcPositiveRatioMeasure(t[16].value):null,t[17]?new $C.IfcLinearVelocityMeasure(t[17].value):null,t[18]?new $C.IfcPressureMeasure(t[18].value):null)},4238390223:function(e,t){return new $C.IfcFurnishingElementType(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new $C.IfcLabel(t[7].value):null,t[8]?new $C.IfcLabel(t[8].value):null)},1268542332:function(e,t){return new $C.IfcFurnitureType(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new $C.IfcLabel(t[7].value):null,t[8]?new $C.IfcLabel(t[8].value):null,t[9])},987898635:function(e,t){return new $C.IfcGeometricCurveSet(e,t[0].map((function(e){return new H_(e.value)})))},1484403080:function(e,t){return new $C.IfcIShapeProfileDef(e,t[0],t[1]?new $C.IfcLabel(t[1].value):null,new H_(t[2].value),new $C.IfcPositiveLengthMeasure(t[3].value),new $C.IfcPositiveLengthMeasure(t[4].value),new $C.IfcPositiveLengthMeasure(t[5].value),new $C.IfcPositiveLengthMeasure(t[6].value),t[7]?new $C.IfcPositiveLengthMeasure(t[7].value):null)},572779678:function(e,t){return new $C.IfcLShapeProfileDef(e,t[0],t[1]?new $C.IfcLabel(t[1].value):null,new H_(t[2].value),new $C.IfcPositiveLengthMeasure(t[3].value),t[4]?new $C.IfcPositiveLengthMeasure(t[4].value):null,new $C.IfcPositiveLengthMeasure(t[5].value),t[6]?new $C.IfcPositiveLengthMeasure(t[6].value):null,t[7]?new $C.IfcPositiveLengthMeasure(t[7].value):null,t[8]?new $C.IfcPlaneAngleMeasure(t[8].value):null,t[9]?new $C.IfcPositiveLengthMeasure(t[9].value):null,t[10]?new $C.IfcPositiveLengthMeasure(t[10].value):null)},1281925730:function(e,t){return new $C.IfcLine(e,new H_(t[0].value),new H_(t[1].value))},1425443689:function(e,t){return new $C.IfcManifoldSolidBrep(e,new H_(t[0].value))},3888040117:function(e,t){return new $C.IfcObject(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null)},3388369263:function(e,t){return new $C.IfcOffsetCurve2D(e,new H_(t[0].value),new $C.IfcLengthMeasure(t[1].value),t[2].value)},3505215534:function(e,t){return new $C.IfcOffsetCurve3D(e,new H_(t[0].value),new $C.IfcLengthMeasure(t[1].value),t[2].value,new H_(t[3].value))},3566463478:function(e,t){return new $C.IfcPermeableCoveringProperties(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4],t[5],t[6]?new $C.IfcPositiveLengthMeasure(t[6].value):null,t[7]?new $C.IfcPositiveLengthMeasure(t[7].value):null,t[8]?new H_(t[8].value):null)},603570806:function(e,t){return new $C.IfcPlanarBox(e,new $C.IfcLengthMeasure(t[0].value),new $C.IfcLengthMeasure(t[1].value),new H_(t[2].value))},220341763:function(e,t){return new $C.IfcPlane(e,new H_(t[0].value))},2945172077:function(e,t){return new $C.IfcProcess(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null)},4208778838:function(e,t){return new $C.IfcProduct(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null)},103090709:function(e,t){return new $C.IfcProject(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?new $C.IfcLabel(t[5].value):null,t[6]?new $C.IfcLabel(t[6].value):null,t[7].map((function(e){return new H_(e.value)})),new H_(t[8].value))},4194566429:function(e,t){return new $C.IfcProjectionCurve(e,t[0]?new H_(t[0].value):null,t[1].map((function(e){return new H_(e.value)})),t[2]?new $C.IfcLabel(t[2].value):null)},1451395588:function(e,t){return new $C.IfcPropertySet(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4].map((function(e){return new H_(e.value)})))},3219374653:function(e,t){return new $C.IfcProxy(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7],t[8]?new $C.IfcLabel(t[8].value):null)},2770003689:function(e,t){return new $C.IfcRectangleHollowProfileDef(e,t[0],t[1]?new $C.IfcLabel(t[1].value):null,new H_(t[2].value),new $C.IfcPositiveLengthMeasure(t[3].value),new $C.IfcPositiveLengthMeasure(t[4].value),new $C.IfcPositiveLengthMeasure(t[5].value),t[6]?new $C.IfcPositiveLengthMeasure(t[6].value):null,t[7]?new $C.IfcPositiveLengthMeasure(t[7].value):null)},2798486643:function(e,t){return new $C.IfcRectangularPyramid(e,new H_(t[0].value),new $C.IfcPositiveLengthMeasure(t[1].value),new $C.IfcPositiveLengthMeasure(t[2].value),new $C.IfcPositiveLengthMeasure(t[3].value))},3454111270:function(e,t){return new $C.IfcRectangularTrimmedSurface(e,new H_(t[0].value),new $C.IfcParameterValue(t[1].value),new $C.IfcParameterValue(t[2].value),new $C.IfcParameterValue(t[3].value),new $C.IfcParameterValue(t[4].value),t[5].value,t[6].value)},3939117080:function(e,t){return new $C.IfcRelAssigns(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4].map((function(e){return new H_(e.value)})),t[5])},1683148259:function(e,t){return new $C.IfcRelAssignsToActor(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4].map((function(e){return new H_(e.value)})),t[5],new H_(t[6].value),t[7]?new H_(t[7].value):null)},2495723537:function(e,t){return new $C.IfcRelAssignsToControl(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4].map((function(e){return new H_(e.value)})),t[5],new H_(t[6].value))},1307041759:function(e,t){return new $C.IfcRelAssignsToGroup(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4].map((function(e){return new H_(e.value)})),t[5],new H_(t[6].value))},4278684876:function(e,t){return new $C.IfcRelAssignsToProcess(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4].map((function(e){return new H_(e.value)})),t[5],new H_(t[6].value),t[7]?new H_(t[7].value):null)},2857406711:function(e,t){return new $C.IfcRelAssignsToProduct(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4].map((function(e){return new H_(e.value)})),t[5],new H_(t[6].value))},3372526763:function(e,t){return new $C.IfcRelAssignsToProjectOrder(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4].map((function(e){return new H_(e.value)})),t[5],new H_(t[6].value))},205026976:function(e,t){return new $C.IfcRelAssignsToResource(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4].map((function(e){return new H_(e.value)})),t[5],new H_(t[6].value))},1865459582:function(e,t){return new $C.IfcRelAssociates(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4].map((function(e){return new H_(e.value)})))},1327628568:function(e,t){return new $C.IfcRelAssociatesAppliedValue(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4].map((function(e){return new H_(e.value)})),new H_(t[5].value))},4095574036:function(e,t){return new $C.IfcRelAssociatesApproval(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4].map((function(e){return new H_(e.value)})),new H_(t[5].value))},919958153:function(e,t){return new $C.IfcRelAssociatesClassification(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4].map((function(e){return new H_(e.value)})),new H_(t[5].value))},2728634034:function(e,t){return new $C.IfcRelAssociatesConstraint(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4].map((function(e){return new H_(e.value)})),new $C.IfcLabel(t[5].value),new H_(t[6].value))},982818633:function(e,t){return new $C.IfcRelAssociatesDocument(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4].map((function(e){return new H_(e.value)})),new H_(t[5].value))},3840914261:function(e,t){return new $C.IfcRelAssociatesLibrary(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4].map((function(e){return new H_(e.value)})),new H_(t[5].value))},2655215786:function(e,t){return new $C.IfcRelAssociatesMaterial(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4].map((function(e){return new H_(e.value)})),new H_(t[5].value))},2851387026:function(e,t){return new $C.IfcRelAssociatesProfileProperties(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4].map((function(e){return new H_(e.value)})),new H_(t[5].value),t[6]?new H_(t[6].value):null,t[7]?new H_(t[7].value):null)},826625072:function(e,t){return new $C.IfcRelConnects(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null)},1204542856:function(e,t){return new $C.IfcRelConnectsElements(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new H_(t[4].value):null,new H_(t[5].value),new H_(t[6].value))},3945020480:function(e,t){return new $C.IfcRelConnectsPathElements(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new H_(t[4].value):null,new H_(t[5].value),new H_(t[6].value),t[7].map((function(e){return e.value})),t[8].map((function(e){return e.value})),t[9],t[10])},4201705270:function(e,t){return new $C.IfcRelConnectsPortToElement(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,new H_(t[4].value),new H_(t[5].value))},3190031847:function(e,t){return new $C.IfcRelConnectsPorts(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,new H_(t[4].value),new H_(t[5].value),t[6]?new H_(t[6].value):null)},2127690289:function(e,t){return new $C.IfcRelConnectsStructuralActivity(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,new H_(t[4].value),new H_(t[5].value))},3912681535:function(e,t){return new $C.IfcRelConnectsStructuralElement(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,new H_(t[4].value),new H_(t[5].value))},1638771189:function(e,t){return new $C.IfcRelConnectsStructuralMember(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,new H_(t[4].value),new H_(t[5].value),t[6]?new H_(t[6].value):null,t[7]?new H_(t[7].value):null,t[8]?new $C.IfcLengthMeasure(t[8].value):null,t[9]?new H_(t[9].value):null)},504942748:function(e,t){return new $C.IfcRelConnectsWithEccentricity(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,new H_(t[4].value),new H_(t[5].value),t[6]?new H_(t[6].value):null,t[7]?new H_(t[7].value):null,t[8]?new $C.IfcLengthMeasure(t[8].value):null,t[9]?new H_(t[9].value):null,new H_(t[10].value))},3678494232:function(e,t){return new $C.IfcRelConnectsWithRealizingElements(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new H_(t[4].value):null,new H_(t[5].value),new H_(t[6].value),t[7].map((function(e){return new H_(e.value)})),t[8]?new $C.IfcLabel(t[8].value):null)},3242617779:function(e,t){return new $C.IfcRelContainedInSpatialStructure(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4].map((function(e){return new H_(e.value)})),new H_(t[5].value))},886880790:function(e,t){return new $C.IfcRelCoversBldgElements(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,new H_(t[4].value),t[5].map((function(e){return new H_(e.value)})))},2802773753:function(e,t){return new $C.IfcRelCoversSpaces(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,new H_(t[4].value),t[5].map((function(e){return new H_(e.value)})))},2551354335:function(e,t){return new $C.IfcRelDecomposes(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,new H_(t[4].value),t[5].map((function(e){return new H_(e.value)})))},693640335:function(e,t){return new $C.IfcRelDefines(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4].map((function(e){return new H_(e.value)})))},4186316022:function(e,t){return new $C.IfcRelDefinesByProperties(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4].map((function(e){return new H_(e.value)})),new H_(t[5].value))},781010003:function(e,t){return new $C.IfcRelDefinesByType(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4].map((function(e){return new H_(e.value)})),new H_(t[5].value))},3940055652:function(e,t){return new $C.IfcRelFillsElement(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,new H_(t[4].value),new H_(t[5].value))},279856033:function(e,t){return new $C.IfcRelFlowControlElements(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4].map((function(e){return new H_(e.value)})),new H_(t[5].value))},4189434867:function(e,t){return new $C.IfcRelInteractionRequirements(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcCountMeasure(t[4].value):null,t[5]?new $C.IfcNormalisedRatioMeasure(t[5].value):null,t[6]?new H_(t[6].value):null,new H_(t[7].value),new H_(t[8].value))},3268803585:function(e,t){return new $C.IfcRelNests(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,new H_(t[4].value),t[5].map((function(e){return new H_(e.value)})))},2051452291:function(e,t){return new $C.IfcRelOccupiesSpaces(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4].map((function(e){return new H_(e.value)})),t[5],new H_(t[6].value),t[7]?new H_(t[7].value):null)},202636808:function(e,t){return new $C.IfcRelOverridesProperties(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4].map((function(e){return new H_(e.value)})),new H_(t[5].value),t[6].map((function(e){return new H_(e.value)})))},750771296:function(e,t){return new $C.IfcRelProjectsElement(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,new H_(t[4].value),new H_(t[5].value))},1245217292:function(e,t){return new $C.IfcRelReferencedInSpatialStructure(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4].map((function(e){return new H_(e.value)})),new H_(t[5].value))},1058617721:function(e,t){return new $C.IfcRelSchedulesCostItems(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4].map((function(e){return new H_(e.value)})),t[5],new H_(t[6].value))},4122056220:function(e,t){return new $C.IfcRelSequence(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,new H_(t[4].value),new H_(t[5].value),new $C.IfcTimeMeasure(t[6].value),t[7])},366585022:function(e,t){return new $C.IfcRelServicesBuildings(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,new H_(t[4].value),t[5].map((function(e){return new H_(e.value)})))},3451746338:function(e,t){return new $C.IfcRelSpaceBoundary(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,new H_(t[4].value),t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7],t[8])},1401173127:function(e,t){return new $C.IfcRelVoidsElement(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,new H_(t[4].value),new H_(t[5].value))},2914609552:function(e,t){return new $C.IfcResource(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null)},1856042241:function(e,t){return new $C.IfcRevolvedAreaSolid(e,new H_(t[0].value),new H_(t[1].value),new H_(t[2].value),new $C.IfcPlaneAngleMeasure(t[3].value))},4158566097:function(e,t){return new $C.IfcRightCircularCone(e,new H_(t[0].value),new $C.IfcPositiveLengthMeasure(t[1].value),new $C.IfcPositiveLengthMeasure(t[2].value))},3626867408:function(e,t){return new $C.IfcRightCircularCylinder(e,new H_(t[0].value),new $C.IfcPositiveLengthMeasure(t[1].value),new $C.IfcPositiveLengthMeasure(t[2].value))},2706606064:function(e,t){return new $C.IfcSpatialStructureElement(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new $C.IfcLabel(t[7].value):null,t[8])},3893378262:function(e,t){return new $C.IfcSpatialStructureElementType(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new $C.IfcLabel(t[7].value):null,t[8]?new $C.IfcLabel(t[8].value):null)},451544542:function(e,t){return new $C.IfcSphere(e,new H_(t[0].value),new $C.IfcPositiveLengthMeasure(t[1].value))},3544373492:function(e,t){return new $C.IfcStructuralActivity(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,new H_(t[7].value),t[8])},3136571912:function(e,t){return new $C.IfcStructuralItem(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null)},530289379:function(e,t){return new $C.IfcStructuralMember(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null)},3689010777:function(e,t){return new $C.IfcStructuralReaction(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,new H_(t[7].value),t[8])},3979015343:function(e,t){return new $C.IfcStructuralSurfaceMember(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7],t[8]?new $C.IfcPositiveLengthMeasure(t[8].value):null)},2218152070:function(e,t){return new $C.IfcStructuralSurfaceMemberVarying(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7],t[8]?new $C.IfcPositiveLengthMeasure(t[8].value):null,t[9].map((function(e){return new $C.IfcPositiveLengthMeasure(e.value)})),new H_(t[10].value))},4070609034:function(e,t){return new $C.IfcStructuredDimensionCallout(e,t[0].map((function(e){return new H_(e.value)})))},2028607225:function(e,t){return new $C.IfcSurfaceCurveSweptAreaSolid(e,new H_(t[0].value),new H_(t[1].value),new H_(t[2].value),new $C.IfcParameterValue(t[3].value),new $C.IfcParameterValue(t[4].value),new H_(t[5].value))},2809605785:function(e,t){return new $C.IfcSurfaceOfLinearExtrusion(e,new H_(t[0].value),new H_(t[1].value),new H_(t[2].value),new $C.IfcLengthMeasure(t[3].value))},4124788165:function(e,t){return new $C.IfcSurfaceOfRevolution(e,new H_(t[0].value),new H_(t[1].value),new H_(t[2].value))},1580310250:function(e,t){return new $C.IfcSystemFurnitureElementType(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new $C.IfcLabel(t[7].value):null,t[8]?new $C.IfcLabel(t[8].value):null)},3473067441:function(e,t){return new $C.IfcTask(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,new $C.IfcIdentifier(t[5].value),t[6]?new $C.IfcLabel(t[6].value):null,t[7]?new $C.IfcLabel(t[7].value):null,t[8].value,t[9]?t[9].value:null)},2097647324:function(e,t){return new $C.IfcTransportElementType(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new $C.IfcLabel(t[7].value):null,t[8]?new $C.IfcLabel(t[8].value):null,t[9])},2296667514:function(e,t){return new $C.IfcActor(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,new H_(t[5].value))},1674181508:function(e,t){return new $C.IfcAnnotation(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null)},3207858831:function(e,t){return new $C.IfcAsymmetricIShapeProfileDef(e,t[0],t[1]?new $C.IfcLabel(t[1].value):null,new H_(t[2].value),new $C.IfcPositiveLengthMeasure(t[3].value),new $C.IfcPositiveLengthMeasure(t[4].value),new $C.IfcPositiveLengthMeasure(t[5].value),new $C.IfcPositiveLengthMeasure(t[6].value),t[7]?new $C.IfcPositiveLengthMeasure(t[7].value):null,new $C.IfcPositiveLengthMeasure(t[8].value),t[9]?new $C.IfcPositiveLengthMeasure(t[9].value):null,t[10]?new $C.IfcPositiveLengthMeasure(t[10].value):null,t[11]?new $C.IfcPositiveLengthMeasure(t[11].value):null)},1334484129:function(e,t){return new $C.IfcBlock(e,new H_(t[0].value),new $C.IfcPositiveLengthMeasure(t[1].value),new $C.IfcPositiveLengthMeasure(t[2].value),new $C.IfcPositiveLengthMeasure(t[3].value))},3649129432:function(e,t){return new $C.IfcBooleanClippingResult(e,t[0],new H_(t[1].value),new H_(t[2].value))},1260505505:function(e,t){return new $C.IfcBoundedCurve(e)},4031249490:function(e,t){return new $C.IfcBuilding(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new $C.IfcLabel(t[7].value):null,t[8],t[9]?new $C.IfcLengthMeasure(t[9].value):null,t[10]?new $C.IfcLengthMeasure(t[10].value):null,t[11]?new H_(t[11].value):null)},1950629157:function(e,t){return new $C.IfcBuildingElementType(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new $C.IfcLabel(t[7].value):null,t[8]?new $C.IfcLabel(t[8].value):null)},3124254112:function(e,t){return new $C.IfcBuildingStorey(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new $C.IfcLabel(t[7].value):null,t[8],t[9]?new $C.IfcLengthMeasure(t[9].value):null)},2937912522:function(e,t){return new $C.IfcCircleHollowProfileDef(e,t[0],t[1]?new $C.IfcLabel(t[1].value):null,new H_(t[2].value),new $C.IfcPositiveLengthMeasure(t[3].value),new $C.IfcPositiveLengthMeasure(t[4].value))},300633059:function(e,t){return new $C.IfcColumnType(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new $C.IfcLabel(t[7].value):null,t[8]?new $C.IfcLabel(t[8].value):null,t[9])},3732776249:function(e,t){return new $C.IfcCompositeCurve(e,t[0].map((function(e){return new H_(e.value)})),t[1].value)},2510884976:function(e,t){return new $C.IfcConic(e,new H_(t[0].value))},2559216714:function(e,t){return new $C.IfcConstructionResource(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?new $C.IfcIdentifier(t[5].value):null,t[6]?new $C.IfcLabel(t[6].value):null,t[7],t[8]?new H_(t[8].value):null)},3293443760:function(e,t){return new $C.IfcControl(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null)},3895139033:function(e,t){return new $C.IfcCostItem(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null)},1419761937:function(e,t){return new $C.IfcCostSchedule(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new H_(t[7].value):null,t[8]?new $C.IfcLabel(t[8].value):null,t[9]?t[9].map((function(e){return new H_(e.value)})):null,t[10]?new H_(t[10].value):null,new $C.IfcIdentifier(t[11].value),t[12])},1916426348:function(e,t){return new $C.IfcCoveringType(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new $C.IfcLabel(t[7].value):null,t[8]?new $C.IfcLabel(t[8].value):null,t[9])},3295246426:function(e,t){return new $C.IfcCrewResource(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?new $C.IfcIdentifier(t[5].value):null,t[6]?new $C.IfcLabel(t[6].value):null,t[7],t[8]?new H_(t[8].value):null)},1457835157:function(e,t){return new $C.IfcCurtainWallType(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new $C.IfcLabel(t[7].value):null,t[8]?new $C.IfcLabel(t[8].value):null,t[9])},681481545:function(e,t){return new $C.IfcDimensionCurveDirectedCallout(e,t[0].map((function(e){return new H_(e.value)})))},3256556792:function(e,t){return new $C.IfcDistributionElementType(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new $C.IfcLabel(t[7].value):null,t[8]?new $C.IfcLabel(t[8].value):null)},3849074793:function(e,t){return new $C.IfcDistributionFlowElementType(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new $C.IfcLabel(t[7].value):null,t[8]?new $C.IfcLabel(t[8].value):null)},360485395:function(e,t){return new $C.IfcElectricalBaseProperties(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4],t[5]?new $C.IfcLabel(t[5].value):null,t[6],new $C.IfcElectricVoltageMeasure(t[7].value),new $C.IfcFrequencyMeasure(t[8].value),t[9]?new $C.IfcElectricCurrentMeasure(t[9].value):null,t[10]?new $C.IfcElectricCurrentMeasure(t[10].value):null,t[11]?new $C.IfcPowerMeasure(t[11].value):null,t[12]?new $C.IfcPowerMeasure(t[12].value):null,t[13].value)},1758889154:function(e,t){return new $C.IfcElement(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new $C.IfcIdentifier(t[7].value):null)},4123344466:function(e,t){return new $C.IfcElementAssembly(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new $C.IfcIdentifier(t[7].value):null,t[8],t[9])},1623761950:function(e,t){return new $C.IfcElementComponent(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new $C.IfcIdentifier(t[7].value):null)},2590856083:function(e,t){return new $C.IfcElementComponentType(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new $C.IfcLabel(t[7].value):null,t[8]?new $C.IfcLabel(t[8].value):null)},1704287377:function(e,t){return new $C.IfcEllipse(e,new H_(t[0].value),new $C.IfcPositiveLengthMeasure(t[1].value),new $C.IfcPositiveLengthMeasure(t[2].value))},2107101300:function(e,t){return new $C.IfcEnergyConversionDeviceType(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new $C.IfcLabel(t[7].value):null,t[8]?new $C.IfcLabel(t[8].value):null)},1962604670:function(e,t){return new $C.IfcEquipmentElement(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new $C.IfcIdentifier(t[7].value):null)},3272907226:function(e,t){return new $C.IfcEquipmentStandard(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null)},3174744832:function(e,t){return new $C.IfcEvaporativeCoolerType(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new $C.IfcLabel(t[7].value):null,t[8]?new $C.IfcLabel(t[8].value):null,t[9])},3390157468:function(e,t){return new $C.IfcEvaporatorType(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new $C.IfcLabel(t[7].value):null,t[8]?new $C.IfcLabel(t[8].value):null,t[9])},807026263:function(e,t){return new $C.IfcFacetedBrep(e,new H_(t[0].value))},3737207727:function(e,t){return new $C.IfcFacetedBrepWithVoids(e,new H_(t[0].value),t[1].map((function(e){return new H_(e.value)})))},647756555:function(e,t){return new $C.IfcFastener(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new $C.IfcIdentifier(t[7].value):null)},2489546625:function(e,t){return new $C.IfcFastenerType(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new $C.IfcLabel(t[7].value):null,t[8]?new $C.IfcLabel(t[8].value):null)},2827207264:function(e,t){return new $C.IfcFeatureElement(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new $C.IfcIdentifier(t[7].value):null)},2143335405:function(e,t){return new $C.IfcFeatureElementAddition(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new $C.IfcIdentifier(t[7].value):null)},1287392070:function(e,t){return new $C.IfcFeatureElementSubtraction(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new $C.IfcIdentifier(t[7].value):null)},3907093117:function(e,t){return new $C.IfcFlowControllerType(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new $C.IfcLabel(t[7].value):null,t[8]?new $C.IfcLabel(t[8].value):null)},3198132628:function(e,t){return new $C.IfcFlowFittingType(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new $C.IfcLabel(t[7].value):null,t[8]?new $C.IfcLabel(t[8].value):null)},3815607619:function(e,t){return new $C.IfcFlowMeterType(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new $C.IfcLabel(t[7].value):null,t[8]?new $C.IfcLabel(t[8].value):null,t[9])},1482959167:function(e,t){return new $C.IfcFlowMovingDeviceType(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new $C.IfcLabel(t[7].value):null,t[8]?new $C.IfcLabel(t[8].value):null)},1834744321:function(e,t){return new $C.IfcFlowSegmentType(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new $C.IfcLabel(t[7].value):null,t[8]?new $C.IfcLabel(t[8].value):null)},1339347760:function(e,t){return new $C.IfcFlowStorageDeviceType(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new $C.IfcLabel(t[7].value):null,t[8]?new $C.IfcLabel(t[8].value):null)},2297155007:function(e,t){return new $C.IfcFlowTerminalType(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new $C.IfcLabel(t[7].value):null,t[8]?new $C.IfcLabel(t[8].value):null)},3009222698:function(e,t){return new $C.IfcFlowTreatmentDeviceType(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new $C.IfcLabel(t[7].value):null,t[8]?new $C.IfcLabel(t[8].value):null)},263784265:function(e,t){return new $C.IfcFurnishingElement(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new $C.IfcIdentifier(t[7].value):null)},814719939:function(e,t){return new $C.IfcFurnitureStandard(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null)},200128114:function(e,t){return new $C.IfcGasTerminalType(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new $C.IfcLabel(t[7].value):null,t[8]?new $C.IfcLabel(t[8].value):null,t[9])},3009204131:function(e,t){return new $C.IfcGrid(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7].map((function(e){return new H_(e.value)})),t[8].map((function(e){return new H_(e.value)})),t[9]?t[9].map((function(e){return new H_(e.value)})):null)},2706460486:function(e,t){return new $C.IfcGroup(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null)},1251058090:function(e,t){return new $C.IfcHeatExchangerType(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new $C.IfcLabel(t[7].value):null,t[8]?new $C.IfcLabel(t[8].value):null,t[9])},1806887404:function(e,t){return new $C.IfcHumidifierType(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new $C.IfcLabel(t[7].value):null,t[8]?new $C.IfcLabel(t[8].value):null,t[9])},2391368822:function(e,t){return new $C.IfcInventory(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5],new H_(t[6].value),t[7].map((function(e){return new H_(e.value)})),new H_(t[8].value),t[9]?new H_(t[9].value):null,t[10]?new H_(t[10].value):null)},4288270099:function(e,t){return new $C.IfcJunctionBoxType(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new $C.IfcLabel(t[7].value):null,t[8]?new $C.IfcLabel(t[8].value):null,t[9])},3827777499:function(e,t){return new $C.IfcLaborResource(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?new $C.IfcIdentifier(t[5].value):null,t[6]?new $C.IfcLabel(t[6].value):null,t[7],t[8]?new H_(t[8].value):null,t[9]?new $C.IfcText(t[9].value):null)},1051575348:function(e,t){return new $C.IfcLampType(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new $C.IfcLabel(t[7].value):null,t[8]?new $C.IfcLabel(t[8].value):null,t[9])},1161773419:function(e,t){return new $C.IfcLightFixtureType(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new $C.IfcLabel(t[7].value):null,t[8]?new $C.IfcLabel(t[8].value):null,t[9])},2506943328:function(e,t){return new $C.IfcLinearDimension(e,t[0].map((function(e){return new H_(e.value)})))},377706215:function(e,t){return new $C.IfcMechanicalFastener(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new $C.IfcIdentifier(t[7].value):null,t[8]?new $C.IfcPositiveLengthMeasure(t[8].value):null,t[9]?new $C.IfcPositiveLengthMeasure(t[9].value):null)},2108223431:function(e,t){return new $C.IfcMechanicalFastenerType(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new $C.IfcLabel(t[7].value):null,t[8]?new $C.IfcLabel(t[8].value):null)},3181161470:function(e,t){return new $C.IfcMemberType(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new $C.IfcLabel(t[7].value):null,t[8]?new $C.IfcLabel(t[8].value):null,t[9])},977012517:function(e,t){return new $C.IfcMotorConnectionType(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new $C.IfcLabel(t[7].value):null,t[8]?new $C.IfcLabel(t[8].value):null,t[9])},1916936684:function(e,t){return new $C.IfcMove(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,new $C.IfcIdentifier(t[5].value),t[6]?new $C.IfcLabel(t[6].value):null,t[7]?new $C.IfcLabel(t[7].value):null,t[8].value,t[9]?t[9].value:null,new H_(t[10].value),new H_(t[11].value),t[12]?t[12].map((function(e){return new $C.IfcText(e.value)})):null)},4143007308:function(e,t){return new $C.IfcOccupant(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,new H_(t[5].value),t[6])},3588315303:function(e,t){return new $C.IfcOpeningElement(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new $C.IfcIdentifier(t[7].value):null)},3425660407:function(e,t){return new $C.IfcOrderAction(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,new $C.IfcIdentifier(t[5].value),t[6]?new $C.IfcLabel(t[6].value):null,t[7]?new $C.IfcLabel(t[7].value):null,t[8].value,t[9]?t[9].value:null,new $C.IfcIdentifier(t[10].value))},2837617999:function(e,t){return new $C.IfcOutletType(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new $C.IfcLabel(t[7].value):null,t[8]?new $C.IfcLabel(t[8].value):null,t[9])},2382730787:function(e,t){return new $C.IfcPerformanceHistory(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,new $C.IfcLabel(t[5].value))},3327091369:function(e,t){return new $C.IfcPermit(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,new $C.IfcIdentifier(t[5].value))},804291784:function(e,t){return new $C.IfcPipeFittingType(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new $C.IfcLabel(t[7].value):null,t[8]?new $C.IfcLabel(t[8].value):null,t[9])},4231323485:function(e,t){return new $C.IfcPipeSegmentType(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new $C.IfcLabel(t[7].value):null,t[8]?new $C.IfcLabel(t[8].value):null,t[9])},4017108033:function(e,t){return new $C.IfcPlateType(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new $C.IfcLabel(t[7].value):null,t[8]?new $C.IfcLabel(t[8].value):null,t[9])},3724593414:function(e,t){return new $C.IfcPolyline(e,t[0].map((function(e){return new H_(e.value)})))},3740093272:function(e,t){return new $C.IfcPort(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null)},2744685151:function(e,t){return new $C.IfcProcedure(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,new $C.IfcIdentifier(t[5].value),t[6],t[7]?new $C.IfcLabel(t[7].value):null)},2904328755:function(e,t){return new $C.IfcProjectOrder(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,new $C.IfcIdentifier(t[5].value),t[6],t[7]?new $C.IfcLabel(t[7].value):null)},3642467123:function(e,t){return new $C.IfcProjectOrderRecord(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5].map((function(e){return new H_(e.value)})),t[6])},3651124850:function(e,t){return new $C.IfcProjectionElement(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new $C.IfcIdentifier(t[7].value):null)},1842657554:function(e,t){return new $C.IfcProtectiveDeviceType(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new $C.IfcLabel(t[7].value):null,t[8]?new $C.IfcLabel(t[8].value):null,t[9])},2250791053:function(e,t){return new $C.IfcPumpType(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new $C.IfcLabel(t[7].value):null,t[8]?new $C.IfcLabel(t[8].value):null,t[9])},3248260540:function(e,t){return new $C.IfcRadiusDimension(e,t[0].map((function(e){return new H_(e.value)})))},2893384427:function(e,t){return new $C.IfcRailingType(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new $C.IfcLabel(t[7].value):null,t[8]?new $C.IfcLabel(t[8].value):null,t[9])},2324767716:function(e,t){return new $C.IfcRampFlightType(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new $C.IfcLabel(t[7].value):null,t[8]?new $C.IfcLabel(t[8].value):null,t[9])},160246688:function(e,t){return new $C.IfcRelAggregates(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,new H_(t[4].value),t[5].map((function(e){return new H_(e.value)})))},2863920197:function(e,t){return new $C.IfcRelAssignsTasks(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4].map((function(e){return new H_(e.value)})),t[5],new H_(t[6].value),t[7]?new H_(t[7].value):null)},1768891740:function(e,t){return new $C.IfcSanitaryTerminalType(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new $C.IfcLabel(t[7].value):null,t[8]?new $C.IfcLabel(t[8].value):null,t[9])},3517283431:function(e,t){return new $C.IfcScheduleTimeControl(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new H_(t[7].value):null,t[8]?new H_(t[8].value):null,t[9]?new H_(t[9].value):null,t[10]?new H_(t[10].value):null,t[11]?new H_(t[11].value):null,t[12]?new H_(t[12].value):null,t[13]?new $C.IfcTimeMeasure(t[13].value):null,t[14]?new $C.IfcTimeMeasure(t[14].value):null,t[15]?new $C.IfcTimeMeasure(t[15].value):null,t[16]?new $C.IfcTimeMeasure(t[16].value):null,t[17]?new $C.IfcTimeMeasure(t[17].value):null,t[18]?t[18].value:null,t[19]?new H_(t[19].value):null,t[20]?new $C.IfcTimeMeasure(t[20].value):null,t[21]?new $C.IfcTimeMeasure(t[21].value):null,t[22]?new $C.IfcPositiveRatioMeasure(t[22].value):null)},4105383287:function(e,t){return new $C.IfcServiceLife(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5],new $C.IfcTimeMeasure(t[6].value))},4097777520:function(e,t){return new $C.IfcSite(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new $C.IfcLabel(t[7].value):null,t[8],t[9]?new $C.IfcCompoundPlaneAngleMeasure(t[9]):null,t[10]?new $C.IfcCompoundPlaneAngleMeasure(t[10]):null,t[11]?new $C.IfcLengthMeasure(t[11].value):null,t[12]?new $C.IfcLabel(t[12].value):null,t[13]?new H_(t[13].value):null)},2533589738:function(e,t){return new $C.IfcSlabType(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new $C.IfcLabel(t[7].value):null,t[8]?new $C.IfcLabel(t[8].value):null,t[9])},3856911033:function(e,t){return new $C.IfcSpace(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new $C.IfcLabel(t[7].value):null,t[8],t[9],t[10]?new $C.IfcLengthMeasure(t[10].value):null)},1305183839:function(e,t){return new $C.IfcSpaceHeaterType(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new $C.IfcLabel(t[7].value):null,t[8]?new $C.IfcLabel(t[8].value):null,t[9])},652456506:function(e,t){return new $C.IfcSpaceProgram(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,new $C.IfcIdentifier(t[5].value),t[6]?new $C.IfcAreaMeasure(t[6].value):null,t[7]?new $C.IfcAreaMeasure(t[7].value):null,t[8]?new H_(t[8].value):null,new $C.IfcAreaMeasure(t[9].value))},3812236995:function(e,t){return new $C.IfcSpaceType(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new $C.IfcLabel(t[7].value):null,t[8]?new $C.IfcLabel(t[8].value):null,t[9])},3112655638:function(e,t){return new $C.IfcStackTerminalType(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new $C.IfcLabel(t[7].value):null,t[8]?new $C.IfcLabel(t[8].value):null,t[9])},1039846685:function(e,t){return new $C.IfcStairFlightType(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new $C.IfcLabel(t[7].value):null,t[8]?new $C.IfcLabel(t[8].value):null,t[9])},682877961:function(e,t){return new $C.IfcStructuralAction(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,new H_(t[7].value),t[8],t[9].value,t[10]?new H_(t[10].value):null)},1179482911:function(e,t){return new $C.IfcStructuralConnection(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new H_(t[7].value):null)},4243806635:function(e,t){return new $C.IfcStructuralCurveConnection(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new H_(t[7].value):null)},214636428:function(e,t){return new $C.IfcStructuralCurveMember(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7])},2445595289:function(e,t){return new $C.IfcStructuralCurveMemberVarying(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7])},1807405624:function(e,t){return new $C.IfcStructuralLinearAction(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,new H_(t[7].value),t[8],t[9].value,t[10]?new H_(t[10].value):null,t[11])},1721250024:function(e,t){return new $C.IfcStructuralLinearActionVarying(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,new H_(t[7].value),t[8],t[9].value,t[10]?new H_(t[10].value):null,t[11],new H_(t[12].value),t[13].map((function(e){return new H_(e.value)})))},1252848954:function(e,t){return new $C.IfcStructuralLoadGroup(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5],t[6],t[7],t[8]?new $C.IfcRatioMeasure(t[8].value):null,t[9]?new $C.IfcLabel(t[9].value):null)},1621171031:function(e,t){return new $C.IfcStructuralPlanarAction(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,new H_(t[7].value),t[8],t[9].value,t[10]?new H_(t[10].value):null,t[11])},3987759626:function(e,t){return new $C.IfcStructuralPlanarActionVarying(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,new H_(t[7].value),t[8],t[9].value,t[10]?new H_(t[10].value):null,t[11],new H_(t[12].value),t[13].map((function(e){return new H_(e.value)})))},2082059205:function(e,t){return new $C.IfcStructuralPointAction(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,new H_(t[7].value),t[8],t[9].value,t[10]?new H_(t[10].value):null)},734778138:function(e,t){return new $C.IfcStructuralPointConnection(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new H_(t[7].value):null)},1235345126:function(e,t){return new $C.IfcStructuralPointReaction(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,new H_(t[7].value),t[8])},2986769608:function(e,t){return new $C.IfcStructuralResultGroup(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5],t[6]?new H_(t[6].value):null,t[7].value)},1975003073:function(e,t){return new $C.IfcStructuralSurfaceConnection(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new H_(t[7].value):null)},148013059:function(e,t){return new $C.IfcSubContractResource(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?new $C.IfcIdentifier(t[5].value):null,t[6]?new $C.IfcLabel(t[6].value):null,t[7],t[8]?new H_(t[8].value):null,t[9]?new H_(t[9].value):null,t[10]?new $C.IfcText(t[10].value):null)},2315554128:function(e,t){return new $C.IfcSwitchingDeviceType(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new $C.IfcLabel(t[7].value):null,t[8]?new $C.IfcLabel(t[8].value):null,t[9])},2254336722:function(e,t){return new $C.IfcSystem(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null)},5716631:function(e,t){return new $C.IfcTankType(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new $C.IfcLabel(t[7].value):null,t[8]?new $C.IfcLabel(t[8].value):null,t[9])},1637806684:function(e,t){return new $C.IfcTimeSeriesSchedule(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6],new H_(t[7].value))},1692211062:function(e,t){return new $C.IfcTransformerType(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new $C.IfcLabel(t[7].value):null,t[8]?new $C.IfcLabel(t[8].value):null,t[9])},1620046519:function(e,t){return new $C.IfcTransportElement(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new $C.IfcIdentifier(t[7].value):null,t[8],t[9]?new $C.IfcMassMeasure(t[9].value):null,t[10]?new $C.IfcCountMeasure(t[10].value):null)},3593883385:function(e,t){return new $C.IfcTrimmedCurve(e,new H_(t[0].value),t[1].map((function(e){return new H_(e.value)})),t[2].map((function(e){return new H_(e.value)})),t[3].value,t[4])},1600972822:function(e,t){return new $C.IfcTubeBundleType(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new $C.IfcLabel(t[7].value):null,t[8]?new $C.IfcLabel(t[8].value):null,t[9])},1911125066:function(e,t){return new $C.IfcUnitaryEquipmentType(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new $C.IfcLabel(t[7].value):null,t[8]?new $C.IfcLabel(t[8].value):null,t[9])},728799441:function(e,t){return new $C.IfcValveType(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new $C.IfcLabel(t[7].value):null,t[8]?new $C.IfcLabel(t[8].value):null,t[9])},2769231204:function(e,t){return new $C.IfcVirtualElement(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new $C.IfcIdentifier(t[7].value):null)},1898987631:function(e,t){return new $C.IfcWallType(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new $C.IfcLabel(t[7].value):null,t[8]?new $C.IfcLabel(t[8].value):null,t[9])},1133259667:function(e,t){return new $C.IfcWasteTerminalType(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new $C.IfcLabel(t[7].value):null,t[8]?new $C.IfcLabel(t[8].value):null,t[9])},1028945134:function(e,t){return new $C.IfcWorkControl(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,new $C.IfcIdentifier(t[5].value),new H_(t[6].value),t[7]?t[7].map((function(e){return new H_(e.value)})):null,t[8]?new $C.IfcLabel(t[8].value):null,t[9]?new $C.IfcTimeMeasure(t[9].value):null,t[10]?new $C.IfcTimeMeasure(t[10].value):null,new H_(t[11].value),t[12]?new H_(t[12].value):null,t[13],t[14]?new $C.IfcLabel(t[14].value):null)},4218914973:function(e,t){return new $C.IfcWorkPlan(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,new $C.IfcIdentifier(t[5].value),new H_(t[6].value),t[7]?t[7].map((function(e){return new H_(e.value)})):null,t[8]?new $C.IfcLabel(t[8].value):null,t[9]?new $C.IfcTimeMeasure(t[9].value):null,t[10]?new $C.IfcTimeMeasure(t[10].value):null,new H_(t[11].value),t[12]?new H_(t[12].value):null,t[13],t[14]?new $C.IfcLabel(t[14].value):null)},3342526732:function(e,t){return new $C.IfcWorkSchedule(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,new $C.IfcIdentifier(t[5].value),new H_(t[6].value),t[7]?t[7].map((function(e){return new H_(e.value)})):null,t[8]?new $C.IfcLabel(t[8].value):null,t[9]?new $C.IfcTimeMeasure(t[9].value):null,t[10]?new $C.IfcTimeMeasure(t[10].value):null,new H_(t[11].value),t[12]?new H_(t[12].value):null,t[13],t[14]?new $C.IfcLabel(t[14].value):null)},1033361043:function(e,t){return new $C.IfcZone(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null)},1213861670:function(e,t){return new $C.Ifc2DCompositeCurve(e,t[0].map((function(e){return new H_(e.value)})),t[1].value)},3821786052:function(e,t){return new $C.IfcActionRequest(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,new $C.IfcIdentifier(t[5].value))},1411407467:function(e,t){return new $C.IfcAirTerminalBoxType(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new $C.IfcLabel(t[7].value):null,t[8]?new $C.IfcLabel(t[8].value):null,t[9])},3352864051:function(e,t){return new $C.IfcAirTerminalType(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new $C.IfcLabel(t[7].value):null,t[8]?new $C.IfcLabel(t[8].value):null,t[9])},1871374353:function(e,t){return new $C.IfcAirToAirHeatRecoveryType(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new $C.IfcLabel(t[7].value):null,t[8]?new $C.IfcLabel(t[8].value):null,t[9])},2470393545:function(e,t){return new $C.IfcAngularDimension(e,t[0].map((function(e){return new H_(e.value)})))},3460190687:function(e,t){return new $C.IfcAsset(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,new $C.IfcIdentifier(t[5].value),new H_(t[6].value),new H_(t[7].value),new H_(t[8].value),new H_(t[9].value),new H_(t[10].value),new H_(t[11].value),new H_(t[12].value),new H_(t[13].value))},1967976161:function(e,t){return new $C.IfcBSplineCurve(e,t[0].value,t[1].map((function(e){return new H_(e.value)})),t[2],t[3].value,t[4].value)},819618141:function(e,t){return new $C.IfcBeamType(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new $C.IfcLabel(t[7].value):null,t[8]?new $C.IfcLabel(t[8].value):null,t[9])},1916977116:function(e,t){return new $C.IfcBezierCurve(e,t[0].value,t[1].map((function(e){return new H_(e.value)})),t[2],t[3].value,t[4].value)},231477066:function(e,t){return new $C.IfcBoilerType(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new $C.IfcLabel(t[7].value):null,t[8]?new $C.IfcLabel(t[8].value):null,t[9])},3299480353:function(e,t){return new $C.IfcBuildingElement(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new $C.IfcIdentifier(t[7].value):null)},52481810:function(e,t){return new $C.IfcBuildingElementComponent(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new $C.IfcIdentifier(t[7].value):null)},2979338954:function(e,t){return new $C.IfcBuildingElementPart(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new $C.IfcIdentifier(t[7].value):null)},1095909175:function(e,t){return new $C.IfcBuildingElementProxy(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new $C.IfcIdentifier(t[7].value):null,t[8])},1909888760:function(e,t){return new $C.IfcBuildingElementProxyType(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new $C.IfcLabel(t[7].value):null,t[8]?new $C.IfcLabel(t[8].value):null,t[9])},395041908:function(e,t){return new $C.IfcCableCarrierFittingType(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new $C.IfcLabel(t[7].value):null,t[8]?new $C.IfcLabel(t[8].value):null,t[9])},3293546465:function(e,t){return new $C.IfcCableCarrierSegmentType(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new $C.IfcLabel(t[7].value):null,t[8]?new $C.IfcLabel(t[8].value):null,t[9])},1285652485:function(e,t){return new $C.IfcCableSegmentType(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new $C.IfcLabel(t[7].value):null,t[8]?new $C.IfcLabel(t[8].value):null,t[9])},2951183804:function(e,t){return new $C.IfcChillerType(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new $C.IfcLabel(t[7].value):null,t[8]?new $C.IfcLabel(t[8].value):null,t[9])},2611217952:function(e,t){return new $C.IfcCircle(e,new H_(t[0].value),new $C.IfcPositiveLengthMeasure(t[1].value))},2301859152:function(e,t){return new $C.IfcCoilType(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new $C.IfcLabel(t[7].value):null,t[8]?new $C.IfcLabel(t[8].value):null,t[9])},843113511:function(e,t){return new $C.IfcColumn(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new $C.IfcIdentifier(t[7].value):null)},3850581409:function(e,t){return new $C.IfcCompressorType(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new $C.IfcLabel(t[7].value):null,t[8]?new $C.IfcLabel(t[8].value):null,t[9])},2816379211:function(e,t){return new $C.IfcCondenserType(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new $C.IfcLabel(t[7].value):null,t[8]?new $C.IfcLabel(t[8].value):null,t[9])},2188551683:function(e,t){return new $C.IfcCondition(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null)},1163958913:function(e,t){return new $C.IfcConditionCriterion(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,new H_(t[5].value),new H_(t[6].value))},3898045240:function(e,t){return new $C.IfcConstructionEquipmentResource(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?new $C.IfcIdentifier(t[5].value):null,t[6]?new $C.IfcLabel(t[6].value):null,t[7],t[8]?new H_(t[8].value):null)},1060000209:function(e,t){return new $C.IfcConstructionMaterialResource(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?new $C.IfcIdentifier(t[5].value):null,t[6]?new $C.IfcLabel(t[6].value):null,t[7],t[8]?new H_(t[8].value):null,t[9]?t[9].map((function(e){return new H_(e.value)})):null,t[10]?new $C.IfcRatioMeasure(t[10].value):null)},488727124:function(e,t){return new $C.IfcConstructionProductResource(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?new $C.IfcIdentifier(t[5].value):null,t[6]?new $C.IfcLabel(t[6].value):null,t[7],t[8]?new H_(t[8].value):null)},335055490:function(e,t){return new $C.IfcCooledBeamType(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new $C.IfcLabel(t[7].value):null,t[8]?new $C.IfcLabel(t[8].value):null,t[9])},2954562838:function(e,t){return new $C.IfcCoolingTowerType(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new $C.IfcLabel(t[7].value):null,t[8]?new $C.IfcLabel(t[8].value):null,t[9])},1973544240:function(e,t){return new $C.IfcCovering(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new $C.IfcIdentifier(t[7].value):null,t[8])},3495092785:function(e,t){return new $C.IfcCurtainWall(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new $C.IfcIdentifier(t[7].value):null)},3961806047:function(e,t){return new $C.IfcDamperType(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new $C.IfcLabel(t[7].value):null,t[8]?new $C.IfcLabel(t[8].value):null,t[9])},4147604152:function(e,t){return new $C.IfcDiameterDimension(e,t[0].map((function(e){return new H_(e.value)})))},1335981549:function(e,t){return new $C.IfcDiscreteAccessory(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new $C.IfcIdentifier(t[7].value):null)},2635815018:function(e,t){return new $C.IfcDiscreteAccessoryType(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new $C.IfcLabel(t[7].value):null,t[8]?new $C.IfcLabel(t[8].value):null)},1599208980:function(e,t){return new $C.IfcDistributionChamberElementType(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new $C.IfcLabel(t[7].value):null,t[8]?new $C.IfcLabel(t[8].value):null,t[9])},2063403501:function(e,t){return new $C.IfcDistributionControlElementType(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new $C.IfcLabel(t[7].value):null,t[8]?new $C.IfcLabel(t[8].value):null)},1945004755:function(e,t){return new $C.IfcDistributionElement(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new $C.IfcIdentifier(t[7].value):null)},3040386961:function(e,t){return new $C.IfcDistributionFlowElement(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new $C.IfcIdentifier(t[7].value):null)},3041715199:function(e,t){return new $C.IfcDistributionPort(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7])},395920057:function(e,t){return new $C.IfcDoor(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new $C.IfcIdentifier(t[7].value):null,t[8]?new $C.IfcPositiveLengthMeasure(t[8].value):null,t[9]?new $C.IfcPositiveLengthMeasure(t[9].value):null)},869906466:function(e,t){return new $C.IfcDuctFittingType(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new $C.IfcLabel(t[7].value):null,t[8]?new $C.IfcLabel(t[8].value):null,t[9])},3760055223:function(e,t){return new $C.IfcDuctSegmentType(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new $C.IfcLabel(t[7].value):null,t[8]?new $C.IfcLabel(t[8].value):null,t[9])},2030761528:function(e,t){return new $C.IfcDuctSilencerType(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new $C.IfcLabel(t[7].value):null,t[8]?new $C.IfcLabel(t[8].value):null,t[9])},855621170:function(e,t){return new $C.IfcEdgeFeature(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new $C.IfcIdentifier(t[7].value):null,t[8]?new $C.IfcPositiveLengthMeasure(t[8].value):null)},663422040:function(e,t){return new $C.IfcElectricApplianceType(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new $C.IfcLabel(t[7].value):null,t[8]?new $C.IfcLabel(t[8].value):null,t[9])},3277789161:function(e,t){return new $C.IfcElectricFlowStorageDeviceType(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new $C.IfcLabel(t[7].value):null,t[8]?new $C.IfcLabel(t[8].value):null,t[9])},1534661035:function(e,t){return new $C.IfcElectricGeneratorType(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new $C.IfcLabel(t[7].value):null,t[8]?new $C.IfcLabel(t[8].value):null,t[9])},1365060375:function(e,t){return new $C.IfcElectricHeaterType(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new $C.IfcLabel(t[7].value):null,t[8]?new $C.IfcLabel(t[8].value):null,t[9])},1217240411:function(e,t){return new $C.IfcElectricMotorType(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new $C.IfcLabel(t[7].value):null,t[8]?new $C.IfcLabel(t[8].value):null,t[9])},712377611:function(e,t){return new $C.IfcElectricTimeControlType(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new $C.IfcLabel(t[7].value):null,t[8]?new $C.IfcLabel(t[8].value):null,t[9])},1634875225:function(e,t){return new $C.IfcElectricalCircuit(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null)},857184966:function(e,t){return new $C.IfcElectricalElement(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new $C.IfcIdentifier(t[7].value):null)},1658829314:function(e,t){return new $C.IfcEnergyConversionDevice(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new $C.IfcIdentifier(t[7].value):null)},346874300:function(e,t){return new $C.IfcFanType(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new $C.IfcLabel(t[7].value):null,t[8]?new $C.IfcLabel(t[8].value):null,t[9])},1810631287:function(e,t){return new $C.IfcFilterType(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new $C.IfcLabel(t[7].value):null,t[8]?new $C.IfcLabel(t[8].value):null,t[9])},4222183408:function(e,t){return new $C.IfcFireSuppressionTerminalType(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new $C.IfcLabel(t[7].value):null,t[8]?new $C.IfcLabel(t[8].value):null,t[9])},2058353004:function(e,t){return new $C.IfcFlowController(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new $C.IfcIdentifier(t[7].value):null)},4278956645:function(e,t){return new $C.IfcFlowFitting(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new $C.IfcIdentifier(t[7].value):null)},4037862832:function(e,t){return new $C.IfcFlowInstrumentType(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new $C.IfcLabel(t[7].value):null,t[8]?new $C.IfcLabel(t[8].value):null,t[9])},3132237377:function(e,t){return new $C.IfcFlowMovingDevice(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new $C.IfcIdentifier(t[7].value):null)},987401354:function(e,t){return new $C.IfcFlowSegment(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new $C.IfcIdentifier(t[7].value):null)},707683696:function(e,t){return new $C.IfcFlowStorageDevice(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new $C.IfcIdentifier(t[7].value):null)},2223149337:function(e,t){return new $C.IfcFlowTerminal(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new $C.IfcIdentifier(t[7].value):null)},3508470533:function(e,t){return new $C.IfcFlowTreatmentDevice(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new $C.IfcIdentifier(t[7].value):null)},900683007:function(e,t){return new $C.IfcFooting(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new $C.IfcIdentifier(t[7].value):null,t[8])},1073191201:function(e,t){return new $C.IfcMember(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new $C.IfcIdentifier(t[7].value):null)},1687234759:function(e,t){return new $C.IfcPile(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new $C.IfcIdentifier(t[7].value):null,t[8],t[9])},3171933400:function(e,t){return new $C.IfcPlate(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new $C.IfcIdentifier(t[7].value):null)},2262370178:function(e,t){return new $C.IfcRailing(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new $C.IfcIdentifier(t[7].value):null,t[8])},3024970846:function(e,t){return new $C.IfcRamp(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new $C.IfcIdentifier(t[7].value):null,t[8])},3283111854:function(e,t){return new $C.IfcRampFlight(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new $C.IfcIdentifier(t[7].value):null)},3055160366:function(e,t){return new $C.IfcRationalBezierCurve(e,t[0].value,t[1].map((function(e){return new H_(e.value)})),t[2],t[3].value,t[4].value,t[5].map((function(e){return e.value})))},3027567501:function(e,t){return new $C.IfcReinforcingElement(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new $C.IfcIdentifier(t[7].value):null,t[8]?new $C.IfcLabel(t[8].value):null)},2320036040:function(e,t){return new $C.IfcReinforcingMesh(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new $C.IfcIdentifier(t[7].value):null,t[8]?new $C.IfcLabel(t[8].value):null,t[9]?new $C.IfcPositiveLengthMeasure(t[9].value):null,t[10]?new $C.IfcPositiveLengthMeasure(t[10].value):null,new $C.IfcPositiveLengthMeasure(t[11].value),new $C.IfcPositiveLengthMeasure(t[12].value),new $C.IfcAreaMeasure(t[13].value),new $C.IfcAreaMeasure(t[14].value),new $C.IfcPositiveLengthMeasure(t[15].value),new $C.IfcPositiveLengthMeasure(t[16].value))},2016517767:function(e,t){return new $C.IfcRoof(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new $C.IfcIdentifier(t[7].value):null,t[8])},1376911519:function(e,t){return new $C.IfcRoundedEdgeFeature(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new $C.IfcIdentifier(t[7].value):null,t[8]?new $C.IfcPositiveLengthMeasure(t[8].value):null,t[9]?new $C.IfcPositiveLengthMeasure(t[9].value):null)},1783015770:function(e,t){return new $C.IfcSensorType(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new $C.IfcLabel(t[7].value):null,t[8]?new $C.IfcLabel(t[8].value):null,t[9])},1529196076:function(e,t){return new $C.IfcSlab(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new $C.IfcIdentifier(t[7].value):null,t[8])},331165859:function(e,t){return new $C.IfcStair(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new $C.IfcIdentifier(t[7].value):null,t[8])},4252922144:function(e,t){return new $C.IfcStairFlight(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new $C.IfcIdentifier(t[7].value):null,t[8]?t[8].value:null,t[9]?t[9].value:null,t[10]?new $C.IfcPositiveLengthMeasure(t[10].value):null,t[11]?new $C.IfcPositiveLengthMeasure(t[11].value):null)},2515109513:function(e,t){return new $C.IfcStructuralAnalysisModel(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5],t[6]?new H_(t[6].value):null,t[7]?t[7].map((function(e){return new H_(e.value)})):null,t[8]?t[8].map((function(e){return new H_(e.value)})):null)},3824725483:function(e,t){return new $C.IfcTendon(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new $C.IfcIdentifier(t[7].value):null,t[8]?new $C.IfcLabel(t[8].value):null,t[9],new $C.IfcPositiveLengthMeasure(t[10].value),new $C.IfcAreaMeasure(t[11].value),t[12]?new $C.IfcForceMeasure(t[12].value):null,t[13]?new $C.IfcPressureMeasure(t[13].value):null,t[14]?new $C.IfcNormalisedRatioMeasure(t[14].value):null,t[15]?new $C.IfcPositiveLengthMeasure(t[15].value):null,t[16]?new $C.IfcPositiveLengthMeasure(t[16].value):null)},2347447852:function(e,t){return new $C.IfcTendonAnchor(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new $C.IfcIdentifier(t[7].value):null,t[8]?new $C.IfcLabel(t[8].value):null)},3313531582:function(e,t){return new $C.IfcVibrationIsolatorType(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new $C.IfcLabel(t[7].value):null,t[8]?new $C.IfcLabel(t[8].value):null,t[9])},2391406946:function(e,t){return new $C.IfcWall(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new $C.IfcIdentifier(t[7].value):null)},3512223829:function(e,t){return new $C.IfcWallStandardCase(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new $C.IfcIdentifier(t[7].value):null)},3304561284:function(e,t){return new $C.IfcWindow(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new $C.IfcIdentifier(t[7].value):null,t[8]?new $C.IfcPositiveLengthMeasure(t[8].value):null,t[9]?new $C.IfcPositiveLengthMeasure(t[9].value):null)},2874132201:function(e,t){return new $C.IfcActuatorType(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new $C.IfcLabel(t[7].value):null,t[8]?new $C.IfcLabel(t[8].value):null,t[9])},3001207471:function(e,t){return new $C.IfcAlarmType(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new $C.IfcLabel(t[7].value):null,t[8]?new $C.IfcLabel(t[8].value):null,t[9])},753842376:function(e,t){return new $C.IfcBeam(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new $C.IfcIdentifier(t[7].value):null)},2454782716:function(e,t){return new $C.IfcChamferEdgeFeature(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new $C.IfcIdentifier(t[7].value):null,t[8]?new $C.IfcPositiveLengthMeasure(t[8].value):null,t[9]?new $C.IfcPositiveLengthMeasure(t[9].value):null,t[10]?new $C.IfcPositiveLengthMeasure(t[10].value):null)},578613899:function(e,t){return new $C.IfcControllerType(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new $C.IfcLabel(t[7].value):null,t[8]?new $C.IfcLabel(t[8].value):null,t[9])},1052013943:function(e,t){return new $C.IfcDistributionChamberElement(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new $C.IfcIdentifier(t[7].value):null)},1062813311:function(e,t){return new $C.IfcDistributionControlElement(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new $C.IfcIdentifier(t[7].value):null,t[8]?new $C.IfcIdentifier(t[8].value):null)},3700593921:function(e,t){return new $C.IfcElectricDistributionPoint(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new $C.IfcIdentifier(t[7].value):null,t[8],t[9]?new $C.IfcLabel(t[9].value):null)},979691226:function(e,t){return new $C.IfcReinforcingBar(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new $C.IfcIdentifier(t[7].value):null,t[8]?new $C.IfcLabel(t[8].value):null,new $C.IfcPositiveLengthMeasure(t[9].value),new $C.IfcAreaMeasure(t[10].value),t[11]?new $C.IfcPositiveLengthMeasure(t[11].value):null,t[12],t[13])}},j_[1]={618182010:[912023232,3355820592],411424972:[1648886627,602808272],4037036970:[2069777674,1387855156,3367102660,1560379544],1387855156:[2069777674],3264961684:[776857604],2859738748:[1981873012,2732653382,4257277454,45288368,2614616156],2614616156:[45288368],1959218052:[2251480897,3368373690],3796139169:[1694125774,2273265877],3200245327:[3732053477,647927063,3452421091,3548104201,3207319532,1040185647,2242383968],3265635763:[2445078500,803998398,3857492461,1860660968,1065908215,3317419933,2267347899,1227763645,1430189142,677618848,4256014907],4256014907:[1430189142,677618848],1918398963:[2889183280,3050246964,448429030],3701648758:[2624227202,178086475],2483315170:[3021840470,825690147,2405470396,3252649465,931644368,2093928680,2044713172,2226359599],2226359599:[825690147,2405470396,3252649465,931644368,2093928680,2044713172],3727388367:[4006246654,2559016684,445594917,759155922,4170525392,1983826977,1775413392,179317114,433424934,3213052703,990879717],990879717:[179317114,433424934,3213052703],1775413392:[4170525392,1983826977],2022622350:[1304840413],3119450353:[738692330,3800577675,1447204868,1290481447,1300840506],2095639259:[673634403,2022407955],3958567839:[572779678,3207858831,1484403080,2835456948,194851669,4133800736,2937912522,1383045692,2898889636,2543172580,427810014,2715220739,3071757647,2770003689,2778083089,3615266464,2529465313,3632507154,1485152156,3150382593,1310608509,2705031697,3798115385],2802850158:[3653947884,3843319758,1446786286,3679540991],2598011224:[2542286263,110355661,3650150729,941946838,2752243245,4166981789,871118103,3692461612],1076942058:[3049322572,2830218821,1735638870,4240577450,3982875396],3377609919:[4142052618,3448662350],3008791417:[2347385850,315944413,4203026998,374418227,2047409740,4147604152,2470393545,3248260540,2506943328,681481545,4070609034,3073041342,32440307,693772133,2611217952,1704287377,2510884976,3055160366,1916977116,1967976161,3593883385,3724593414,1213861670,3732776249,1260505505,3505215534,3388369263,F_,2601014836,1334484129,451544542,3626867408,4158566097,2798486643,2506170314,2485617015,1416205885,3331915920,3486308946,3749851601,59481748,2581212453,3649129432,2736907675,1302238472,669184980,1417489154,3124975700,4282788508,220341763,2777663545,3454111270,2827736869,4182860854,4124788165,2809605785,230924584,2513912981,3737207727,807026263,1425443689,2147822146,1260650574,2028607225,1856042241,477187591,2247615214,723233188,4124623270,1509187699,1123145078,1423911732,4022376103,2067069095,603570806,1663979128,2740243338,3125803723,4261334040,2004835150,1345879162,2833995503,3422422726,1520743889,4266656042,2604431987,125510826,1402838566,2713105998,2775532180,812098782,987898635,3590301190,2453401579,2519244187,1472233963,2759199220,2924175390,1008929658,803316827,1809719519,3008276851,2556980723,2233826070,1029017970,476780140,3900360178,2205249479,2665983363,370225590,1907098498,2799835756,1377556343,2265737646,4194566429,606661476,3288037868,2297822566,4054601972,3028897424,3612888222,962685235,2442683028,3958052878],2341007311:[781010003,202636808,4186316022,693640335,160246688,3268803585,2551354335,1401173127,3451746338,366585022,4122056220,1245217292,750771296,4189434867,279856033,3940055652,2802773753,886880790,3242617779,504942748,1638771189,3912681535,2127690289,3190031847,4201705270,3678494232,3945020480,1204542856,826625072,2851387026,2655215786,3840914261,982818633,2728634034,919958153,4095574036,1327628568,1865459582,205026976,2857406711,4278684876,1307041759,2863920197,1058617721,3372526763,2495723537,2051452291,1683148259,3939117080,478536968,1451395588,3566463478,3455213021,360485395,80994333,1883228015,1714330368,2963535650,512836454,336235671,390701378,1202362311,2485662743,2411513650,3765753017,3357820518,1680319473,2188551683,B_,O_,2515109513,1634875225,2254336722,2986769608,1252848954,2391368822,2706460486,1163958913,3821786052,3342526732,4218914973,1028945134,1637806684,652456506,4105383287,3517283431,3642467123,2904328755,3327091369,2382730787,814719939,3272907226,1419761937,3895139033,3293443760,4143007308,2296667514,488727124,1060000209,3898045240,148013059,3827777499,3295246426,2559216714,2914609552,103090709,3041715199,L_,x_,857184966,1062813311,1052013943,3508470533,2223149337,707683696,987401354,3132237377,4278956645,3700593921,2058353004,1658829314,3040386961,1945004755,g_,3304561284,3512223829,E_,4252922144,331165859,b_,D_,3283111854,P_,2262370178,R_,C_,1073191201,900683007,__,3495092785,1973544240,843113511,1095909175,979691226,2347447852,T_,2320036040,3027567501,2979338954,52481810,3299480353,2769231204,1620046519,263784265,2454782716,1376911519,855621170,3588315303,1287392070,3651124850,2143335405,2827207264,1962604670,1335981549,377706215,647756555,1623761950,4123344466,1758889154,1674181508,1975003073,734778138,4243806635,1179482911,2445595289,214636428,2218152070,3979015343,530289379,3136571912,2082059205,3987759626,1621171031,1721250024,1807405624,682877961,1235345126,3689010777,3544373492,S_,N_,3124254112,4031249490,2706606064,3219374653,4208778838,2744685151,3425660407,1916936684,M_,2945172077,3888040117,3313531582,2635815018,2108223431,2489546625,2590856083,578613899,3001207471,2874132201,1783015770,4037862832,2063403501,1599208980,1810631287,2030761528,3009222698,4222183408,1365060375,663422040,3352864051,1133259667,3112655638,1768891740,2837617999,1161773419,1051575348,200128114,2297155007,3277789161,5716631,1339347760,3760055223,1285652485,3293546465,4231323485,1834744321,346874300,3850581409,2250791053,1482959167,869906466,395041908,804291784,4288270099,3198132628,712377611,3961806047,1411407467,728799441,2315554128,1842657554,3815607619,3907093117,1217240411,1534661035,2954562838,335055490,2816379211,2301859152,2951183804,231477066,1871374353,1911125066,1600972822,1692211062,1305183839,977012517,1806887404,1251058090,3390157468,3174744832,2107101300,3849074793,3256556792,1909888760,819618141,1898987631,1039846685,2533589738,2324767716,2893384427,4017108033,3181161470,1457835157,1916426348,300633059,1950629157,2097647324,3812236995,3893378262,1580310250,1268542332,4238390223,339256511,526551008,1299126871,2347495698,1628702193,219451334],3982875396:[1735638870,4240577450],3692461612:[110355661,3650150729,941946838,2752243245,4166981789,871118103],2273995522:[2609359061,4219587988],2162789131:[1190533807,1597423693,1973038258,2473145415,2668620305,1595516126,3408363356,2525727697],2525727697:[1190533807,1597423693,1973038258,2473145415,2668620305,1595516126,3408363356],2830218821:[3049322572],3958052878:[2265737646,4194566429,606661476,3288037868,2297822566,4054601972,3028897424,3612888222,962685235,2442683028],846575682:[1878645084],626085974:[597895409,3905492369,616511568],280115917:[2552916305,1742049831],3101149627:[3413951693,3741457305],1377556343:[2519244187,1472233963,2759199220,2924175390,1008929658,803316827,1809719519,3008276851,2556980723,2233826070,1029017970,476780140,3900360178,2205249479,2665983363,370225590,1907098498,2799835756],2799835756:[1907098498],2442683028:[2265737646,4194566429,606661476,3288037868,2297822566,4054601972,3028897424,3612888222,962685235],3612888222:[4054601972,3028897424],3798115385:[2705031697],1310608509:[3150382593],370225590:[2205249479,2665983363],3900360178:[2233826070,1029017970,476780140],2556980723:[3008276851],1809719519:[803316827],1446786286:[3653947884,3843319758],3448662350:[4142052618],2453401579:[315944413,4203026998,374418227,2047409740,4147604152,2470393545,3248260540,2506943328,681481545,4070609034,3073041342,32440307,693772133,2611217952,1704287377,2510884976,3055160366,1916977116,1967976161,3593883385,3724593414,1213861670,3732776249,1260505505,3505215534,3388369263,F_,2601014836,1334484129,451544542,3626867408,4158566097,2798486643,2506170314,2485617015,1416205885,3331915920,3486308946,3749851601,59481748,2581212453,3649129432,2736907675,1302238472,669184980,1417489154,3124975700,4282788508,220341763,2777663545,3454111270,2827736869,4182860854,4124788165,2809605785,230924584,2513912981,3737207727,807026263,1425443689,2147822146,1260650574,2028607225,1856042241,477187591,2247615214,723233188,4124623270,1509187699,1123145078,1423911732,4022376103,2067069095,603570806,1663979128,2740243338,3125803723,4261334040,2004835150,1345879162,2833995503,3422422726,1520743889,4266656042,2604431987,125510826,1402838566,2713105998,2775532180,812098782,987898635,3590301190],3590301190:[987898635],812098782:[2713105998,2775532180],1402838566:[3422422726,1520743889,4266656042,2604431987,125510826],1520743889:[3422422726],1008929658:[1472233963,2759199220,2924175390],219451334:[2188551683,B_,O_,2515109513,1634875225,2254336722,2986769608,1252848954,2391368822,2706460486,1163958913,3821786052,3342526732,4218914973,1028945134,1637806684,652456506,4105383287,3517283431,3642467123,2904328755,3327091369,2382730787,814719939,3272907226,1419761937,3895139033,3293443760,4143007308,2296667514,488727124,1060000209,3898045240,148013059,3827777499,3295246426,2559216714,2914609552,103090709,3041715199,L_,x_,857184966,1062813311,1052013943,3508470533,2223149337,707683696,987401354,3132237377,4278956645,3700593921,2058353004,1658829314,3040386961,1945004755,g_,3304561284,3512223829,E_,4252922144,331165859,b_,D_,3283111854,P_,2262370178,R_,C_,1073191201,900683007,__,3495092785,1973544240,843113511,1095909175,979691226,2347447852,T_,2320036040,3027567501,2979338954,52481810,3299480353,2769231204,1620046519,263784265,2454782716,1376911519,855621170,3588315303,1287392070,3651124850,2143335405,2827207264,1962604670,1335981549,377706215,647756555,1623761950,4123344466,1758889154,1674181508,1975003073,734778138,4243806635,1179482911,2445595289,214636428,2218152070,3979015343,530289379,3136571912,2082059205,3987759626,1621171031,1721250024,1807405624,682877961,1235345126,3689010777,3544373492,S_,N_,3124254112,4031249490,2706606064,3219374653,4208778838,2744685151,3425660407,1916936684,M_,2945172077,3888040117,3313531582,2635815018,2108223431,2489546625,2590856083,578613899,3001207471,2874132201,1783015770,4037862832,2063403501,1599208980,1810631287,2030761528,3009222698,4222183408,1365060375,663422040,3352864051,1133259667,3112655638,1768891740,2837617999,1161773419,1051575348,200128114,2297155007,3277789161,5716631,1339347760,3760055223,1285652485,3293546465,4231323485,1834744321,346874300,3850581409,2250791053,1482959167,869906466,395041908,804291784,4288270099,3198132628,712377611,3961806047,1411407467,728799441,2315554128,1842657554,3815607619,3907093117,1217240411,1534661035,2954562838,335055490,2816379211,2301859152,2951183804,231477066,1871374353,1911125066,1600972822,1692211062,1305183839,977012517,1806887404,1251058090,3390157468,3174744832,2107101300,3849074793,3256556792,1909888760,819618141,1898987631,1039846685,2533589738,2324767716,2893384427,4017108033,3181161470,1457835157,1916426348,300633059,1950629157,2097647324,3812236995,3893378262,1580310250,1268542332,4238390223,339256511,526551008,1299126871,2347495698,1628702193],2833995503:[1345879162],2529465313:[572779678,3207858831,1484403080,2835456948,194851669,4133800736,2937912522,1383045692,2898889636,2543172580,427810014,2715220739,3071757647,2770003689,2778083089,3615266464],2004835150:[2740243338,3125803723,4261334040],1663979128:[603570806],2067069095:[1123145078,1423911732,4022376103],759155922:[445594917],2559016684:[4006246654],1680319473:[1451395588,3566463478,3455213021,360485395,80994333,1883228015,1714330368,2963535650,512836454,336235671,390701378,1202362311,2485662743,2411513650,3765753017,3357820518],3357820518:[1451395588,3566463478,3455213021,360485395,80994333,1883228015,1714330368,2963535650,512836454,336235671,390701378,1202362311,2485662743,2411513650,3765753017],3615266464:[2770003689,2778083089],478536968:[781010003,202636808,4186316022,693640335,160246688,3268803585,2551354335,1401173127,3451746338,366585022,4122056220,1245217292,750771296,4189434867,279856033,3940055652,2802773753,886880790,3242617779,504942748,1638771189,3912681535,2127690289,3190031847,4201705270,3678494232,3945020480,1204542856,826625072,2851387026,2655215786,3840914261,982818633,2728634034,919958153,4095574036,1327628568,1865459582,205026976,2857406711,4278684876,1307041759,2863920197,1058617721,3372526763,2495723537,2051452291,1683148259,3939117080],723233188:[3737207727,807026263,1425443689,2147822146,1260650574,2028607225,1856042241,477187591,2247615214],2473145415:[1973038258],1597423693:[1190533807],3843319758:[3653947884],2513912981:[220341763,2777663545,3454111270,2827736869,4182860854,4124788165,2809605785,230924584],2247615214:[2028607225,1856042241,477187591],230924584:[4124788165,2809605785],3028897424:[4054601972],4282788508:[3124975700],1628702193:[3313531582,2635815018,2108223431,2489546625,2590856083,578613899,3001207471,2874132201,1783015770,4037862832,2063403501,1599208980,1810631287,2030761528,3009222698,4222183408,1365060375,663422040,3352864051,1133259667,3112655638,1768891740,2837617999,1161773419,1051575348,200128114,2297155007,3277789161,5716631,1339347760,3760055223,1285652485,3293546465,4231323485,1834744321,346874300,3850581409,2250791053,1482959167,869906466,395041908,804291784,4288270099,3198132628,712377611,3961806047,1411407467,728799441,2315554128,1842657554,3815607619,3907093117,1217240411,1534661035,2954562838,335055490,2816379211,2301859152,2951183804,231477066,1871374353,1911125066,1600972822,1692211062,1305183839,977012517,1806887404,1251058090,3390157468,3174744832,2107101300,3849074793,3256556792,1909888760,819618141,1898987631,1039846685,2533589738,2324767716,2893384427,4017108033,3181161470,1457835157,1916426348,300633059,1950629157,2097647324,3812236995,3893378262,1580310250,1268542332,4238390223,339256511,526551008,1299126871,2347495698],2347495698:[3313531582,2635815018,2108223431,2489546625,2590856083,578613899,3001207471,2874132201,1783015770,4037862832,2063403501,1599208980,1810631287,2030761528,3009222698,4222183408,1365060375,663422040,3352864051,1133259667,3112655638,1768891740,2837617999,1161773419,1051575348,200128114,2297155007,3277789161,5716631,1339347760,3760055223,1285652485,3293546465,4231323485,1834744321,346874300,3850581409,2250791053,1482959167,869906466,395041908,804291784,4288270099,3198132628,712377611,3961806047,1411407467,728799441,2315554128,1842657554,3815607619,3907093117,1217240411,1534661035,2954562838,335055490,2816379211,2301859152,2951183804,231477066,1871374353,1911125066,1600972822,1692211062,1305183839,977012517,1806887404,1251058090,3390157468,3174744832,2107101300,3849074793,3256556792,1909888760,819618141,1898987631,1039846685,2533589738,2324767716,2893384427,4017108033,3181161470,1457835157,1916426348,300633059,1950629157,2097647324,3812236995,3893378262,1580310250,1268542332,4238390223,339256511,526551008,1299126871],3288037868:[4194566429,606661476],2736907675:[3649129432],4182860854:[3454111270,2827736869],59481748:[1416205885,3331915920,3486308946,3749851601],3749851601:[3486308946],3331915920:[1416205885],1383045692:[2937912522],2506170314:[1334484129,451544542,3626867408,4158566097,2798486643],2601014836:[2611217952,1704287377,2510884976,3055160366,1916977116,1967976161,3593883385,3724593414,1213861670,3732776249,1260505505,3505215534,3388369263,F_],3073041342:[4147604152,2470393545,3248260540,2506943328,681481545,4070609034],339256511:[3313531582,2635815018,2108223431,2489546625,2590856083,578613899,3001207471,2874132201,1783015770,4037862832,2063403501,1599208980,1810631287,2030761528,3009222698,4222183408,1365060375,663422040,3352864051,1133259667,3112655638,1768891740,2837617999,1161773419,1051575348,200128114,2297155007,3277789161,5716631,1339347760,3760055223,1285652485,3293546465,4231323485,1834744321,346874300,3850581409,2250791053,1482959167,869906466,395041908,804291784,4288270099,3198132628,712377611,3961806047,1411407467,728799441,2315554128,1842657554,3815607619,3907093117,1217240411,1534661035,2954562838,335055490,2816379211,2301859152,2951183804,231477066,1871374353,1911125066,1600972822,1692211062,1305183839,977012517,1806887404,1251058090,3390157468,3174744832,2107101300,3849074793,3256556792,1909888760,819618141,1898987631,1039846685,2533589738,2324767716,2893384427,4017108033,3181161470,1457835157,1916426348,300633059,1950629157,2097647324,3812236995,3893378262,1580310250,1268542332,4238390223],2777663545:[220341763],80994333:[360485395],4238390223:[1580310250,1268542332],1484403080:[3207858831],1425443689:[3737207727,807026263],3888040117:[2188551683,B_,O_,2515109513,1634875225,2254336722,2986769608,1252848954,2391368822,2706460486,1163958913,3821786052,3342526732,4218914973,1028945134,1637806684,652456506,4105383287,3517283431,3642467123,2904328755,3327091369,2382730787,814719939,3272907226,1419761937,3895139033,3293443760,4143007308,2296667514,488727124,1060000209,3898045240,148013059,3827777499,3295246426,2559216714,2914609552,103090709,3041715199,L_,x_,857184966,1062813311,1052013943,3508470533,2223149337,707683696,987401354,3132237377,4278956645,3700593921,2058353004,1658829314,3040386961,1945004755,g_,3304561284,3512223829,E_,4252922144,331165859,b_,D_,3283111854,P_,2262370178,R_,C_,1073191201,900683007,__,3495092785,1973544240,843113511,1095909175,979691226,2347447852,T_,2320036040,3027567501,2979338954,52481810,3299480353,2769231204,1620046519,263784265,2454782716,1376911519,855621170,3588315303,1287392070,3651124850,2143335405,2827207264,1962604670,1335981549,377706215,647756555,1623761950,4123344466,1758889154,1674181508,1975003073,734778138,4243806635,1179482911,2445595289,214636428,2218152070,3979015343,530289379,3136571912,2082059205,3987759626,1621171031,1721250024,1807405624,682877961,1235345126,3689010777,3544373492,S_,N_,3124254112,4031249490,2706606064,3219374653,4208778838,2744685151,3425660407,1916936684,M_,2945172077],2945172077:[2744685151,3425660407,1916936684,M_],4208778838:[3041715199,L_,x_,857184966,1062813311,1052013943,3508470533,2223149337,707683696,987401354,3132237377,4278956645,3700593921,2058353004,1658829314,3040386961,1945004755,g_,3304561284,3512223829,E_,4252922144,331165859,b_,D_,3283111854,P_,2262370178,R_,C_,1073191201,900683007,__,3495092785,1973544240,843113511,1095909175,979691226,2347447852,T_,2320036040,3027567501,2979338954,52481810,3299480353,2769231204,1620046519,263784265,2454782716,1376911519,855621170,3588315303,1287392070,3651124850,2143335405,2827207264,1962604670,1335981549,377706215,647756555,1623761950,4123344466,1758889154,1674181508,1975003073,734778138,4243806635,1179482911,2445595289,214636428,2218152070,3979015343,530289379,3136571912,2082059205,3987759626,1621171031,1721250024,1807405624,682877961,1235345126,3689010777,3544373492,S_,N_,3124254112,4031249490,2706606064,3219374653],3939117080:[205026976,2857406711,4278684876,1307041759,2863920197,1058617721,3372526763,2495723537,2051452291,1683148259],1683148259:[2051452291],2495723537:[2863920197,1058617721,3372526763],1865459582:[2851387026,2655215786,3840914261,982818633,2728634034,919958153,4095574036,1327628568],826625072:[1401173127,3451746338,366585022,4122056220,1245217292,750771296,4189434867,279856033,3940055652,2802773753,886880790,3242617779,504942748,1638771189,3912681535,2127690289,3190031847,4201705270,3678494232,3945020480,1204542856],1204542856:[3678494232,3945020480],1638771189:[504942748],2551354335:[160246688,3268803585],693640335:[781010003,202636808,4186316022],4186316022:[202636808],2914609552:[488727124,1060000209,3898045240,148013059,3827777499,3295246426,2559216714],2706606064:[S_,N_,3124254112,4031249490],3893378262:[3812236995],3544373492:[2082059205,3987759626,1621171031,1721250024,1807405624,682877961,1235345126,3689010777],3136571912:[1975003073,734778138,4243806635,1179482911,2445595289,214636428,2218152070,3979015343,530289379],530289379:[2445595289,214636428,2218152070,3979015343],3689010777:[1235345126],3979015343:[2218152070],3473067441:[3425660407,1916936684],2296667514:[4143007308],1260505505:[3055160366,1916977116,1967976161,3593883385,3724593414,1213861670,3732776249],1950629157:[1909888760,819618141,1898987631,1039846685,2533589738,2324767716,2893384427,4017108033,3181161470,1457835157,1916426348,300633059],3732776249:[1213861670],2510884976:[2611217952,1704287377],2559216714:[488727124,1060000209,3898045240,148013059,3827777499,3295246426],3293443760:[1163958913,3821786052,3342526732,4218914973,1028945134,1637806684,652456506,4105383287,3517283431,3642467123,2904328755,3327091369,2382730787,814719939,3272907226,1419761937,3895139033],681481545:[4147604152,2470393545,3248260540,2506943328],3256556792:[578613899,3001207471,2874132201,1783015770,4037862832,2063403501,1599208980,1810631287,2030761528,3009222698,4222183408,1365060375,663422040,3352864051,1133259667,3112655638,1768891740,2837617999,1161773419,1051575348,200128114,2297155007,3277789161,5716631,1339347760,3760055223,1285652485,3293546465,4231323485,1834744321,346874300,3850581409,2250791053,1482959167,869906466,395041908,804291784,4288270099,3198132628,712377611,3961806047,1411407467,728799441,2315554128,1842657554,3815607619,3907093117,1217240411,1534661035,2954562838,335055490,2816379211,2301859152,2951183804,231477066,1871374353,1911125066,1600972822,1692211062,1305183839,977012517,1806887404,1251058090,3390157468,3174744832,2107101300,3849074793],3849074793:[1599208980,1810631287,2030761528,3009222698,4222183408,1365060375,663422040,3352864051,1133259667,3112655638,1768891740,2837617999,1161773419,1051575348,200128114,2297155007,3277789161,5716631,1339347760,3760055223,1285652485,3293546465,4231323485,1834744321,346874300,3850581409,2250791053,1482959167,869906466,395041908,804291784,4288270099,3198132628,712377611,3961806047,1411407467,728799441,2315554128,1842657554,3815607619,3907093117,1217240411,1534661035,2954562838,335055490,2816379211,2301859152,2951183804,231477066,1871374353,1911125066,1600972822,1692211062,1305183839,977012517,1806887404,1251058090,3390157468,3174744832,2107101300],1758889154:[857184966,1062813311,1052013943,3508470533,2223149337,707683696,987401354,3132237377,4278956645,3700593921,2058353004,1658829314,3040386961,1945004755,g_,3304561284,3512223829,E_,4252922144,331165859,b_,D_,3283111854,P_,2262370178,R_,C_,1073191201,900683007,__,3495092785,1973544240,843113511,1095909175,979691226,2347447852,T_,2320036040,3027567501,2979338954,52481810,3299480353,2769231204,1620046519,263784265,2454782716,1376911519,855621170,3588315303,1287392070,3651124850,2143335405,2827207264,1962604670,1335981549,377706215,647756555,1623761950,4123344466],1623761950:[1335981549,377706215,647756555],2590856083:[3313531582,2635815018,2108223431,2489546625],2107101300:[1217240411,1534661035,2954562838,335055490,2816379211,2301859152,2951183804,231477066,1871374353,1911125066,1600972822,1692211062,1305183839,977012517,1806887404,1251058090,3390157468,3174744832],647756555:[377706215],2489546625:[2108223431],2827207264:[2454782716,1376911519,855621170,3588315303,1287392070,3651124850,2143335405],2143335405:[3651124850],1287392070:[2454782716,1376911519,855621170,3588315303],3907093117:[712377611,3961806047,1411407467,728799441,2315554128,1842657554,3815607619],3198132628:[869906466,395041908,804291784,4288270099],1482959167:[346874300,3850581409,2250791053],1834744321:[3760055223,1285652485,3293546465,4231323485],1339347760:[3277789161,5716631],2297155007:[4222183408,1365060375,663422040,3352864051,1133259667,3112655638,1768891740,2837617999,1161773419,1051575348,200128114],3009222698:[1810631287,2030761528],2706460486:[2188551683,B_,O_,2515109513,1634875225,2254336722,2986769608,1252848954,2391368822],3740093272:[3041715199],682877961:[2082059205,3987759626,1621171031,1721250024,1807405624],1179482911:[1975003073,734778138,4243806635],214636428:[2445595289],1807405624:[1721250024],1621171031:[3987759626],2254336722:[2515109513,1634875225],1028945134:[3342526732,4218914973],1967976161:[3055160366,1916977116],1916977116:[3055160366],3299480353:[g_,3304561284,3512223829,E_,4252922144,331165859,b_,D_,3283111854,P_,2262370178,R_,C_,1073191201,900683007,__,3495092785,1973544240,843113511,1095909175,979691226,2347447852,T_,2320036040,3027567501,2979338954,52481810],52481810:[979691226,2347447852,T_,2320036040,3027567501,2979338954],2635815018:[3313531582],2063403501:[578613899,3001207471,2874132201,1783015770,4037862832],1945004755:[1062813311,1052013943,3508470533,2223149337,707683696,987401354,3132237377,4278956645,3700593921,2058353004,1658829314,3040386961],3040386961:[1052013943,3508470533,2223149337,707683696,987401354,3132237377,4278956645,3700593921,2058353004,1658829314],855621170:[2454782716,1376911519],2058353004:[3700593921],3027567501:[979691226,2347447852,T_,2320036040],2391406946:[3512223829]},k_[1]={618182010:[["OfPerson",2077209135,7,!0],["OfOrganization",4251960020,4,!0]],411424972:[["ValuesReferenced",2692823254,1,!0],["ValueOfComponents",1110488051,0,!0],["IsComponentIn",1110488051,1,!0]],130549933:[["Actors",2080292479,1,!0],["IsRelatedWith",3869604511,0,!0],["Relates",3869604511,1,!0]],747523909:[["Contains",1767535486,1,!0]],1767535486:[["IsClassifiedItemIn",1098599126,1,!0],["IsClassifyingItemIn",1098599126,0,!0]],1959218052:[["ClassifiedAs",613356794,0,!0],["RelatesConstraints",347226245,2,!0],["IsRelatedWith",347226245,3,!0],["PropertiesForConstraint",3896028662,0,!0],["Aggregates",1658513725,2,!0],["IsAggregatedIn",1658513725,3,!0]],602808272:[["ValuesReferenced",2692823254,1,!0],["ValueOfComponents",1110488051,0,!0],["IsComponentIn",1110488051,1,!0]],1154170062:[["IsPointedTo",770865208,1,!0],["IsPointer",770865208,0,!0]],1648886627:[["ValuesReferenced",2692823254,1,!0],["ValueOfComponents",1110488051,0,!0],["IsComponentIn",1110488051,1,!0]],852622518:[["PartOfW",x_,9,!0],["PartOfV",x_,8,!0],["PartOfU",x_,7,!0],["HasIntersections",891718957,0,!0]],3452421091:[["ReferenceIntoLibrary",2655187982,4,!0]],1838606355:[["HasRepresentation",2022407955,3,!0],["ClassifiedAs",1847130766,1,!0]],248100487:[["ToMaterialLayerSet",3303938423,0,!1]],3368373690:[["ClassifiedAs",613356794,0,!0],["RelatesConstraints",347226245,2,!0],["IsRelatedWith",347226245,3,!0],["PropertiesForConstraint",3896028662,0,!0],["Aggregates",1658513725,2,!0],["IsAggregatedIn",1658513725,3,!0]],3701648758:[["PlacesObject",4208778838,5,!0],["ReferencedByPlacements",2624227202,0,!0]],2251480897:[["ClassifiedAs",613356794,0,!0],["RelatesConstraints",347226245,2,!0],["IsRelatedWith",347226245,3,!0],["PropertiesForConstraint",3896028662,0,!0],["Aggregates",1658513725,2,!0],["IsAggregatedIn",1658513725,3,!0]],4251960020:[["IsRelatedBy",1411181986,3,!0],["Relates",1411181986,2,!0],["Engages",101040310,1,!0]],2077209135:[["EngagedIn",101040310,0,!0]],2483315170:[["PartOfComplex",3021840470,2,!0]],2226359599:[["PartOfComplex",3021840470,2,!0]],3355820592:[["OfPerson",2077209135,7,!0],["OfOrganization",4251960020,4,!0]],2598011224:[["PropertyForDependance",148025276,0,!0],["PropertyDependsOn",148025276,1,!0],["PartOfComplex",2542286263,3,!0]],2044713172:[["PartOfComplex",3021840470,2,!0]],2093928680:[["PartOfComplex",3021840470,2,!0]],931644368:[["PartOfComplex",3021840470,2,!0]],3252649465:[["PartOfComplex",3021840470,2,!0]],2405470396:[["PartOfComplex",3021840470,2,!0]],825690147:[["PartOfComplex",3021840470,2,!0]],1076942058:[["RepresentationMap",1660063152,1,!0],["LayerAssignments",2022622350,2,!0],["OfProductRepresentation",2095639259,2,!0]],3377609919:[["RepresentationsInContext",1076942058,0,!0]],3008791417:[["LayerAssignments",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],1660063152:[["MapUsage",2347385850,0,!0]],3982875396:[["RepresentationMap",1660063152,1,!0],["LayerAssignments",2022622350,2,!0],["OfProductRepresentation",2095639259,2,!0],["OfShapeAspect",867548509,0,!0]],4240577450:[["RepresentationMap",1660063152,1,!0],["LayerAssignments",2022622350,2,!0],["OfProductRepresentation",2095639259,2,!0],["OfShapeAspect",867548509,0,!0]],3692461612:[["PropertyForDependance",148025276,0,!0],["PropertyDependsOn",148025276,1,!0],["PartOfComplex",2542286263,3,!0]],2830218821:[["RepresentationMap",1660063152,1,!0],["LayerAssignments",2022622350,2,!0],["OfProductRepresentation",2095639259,2,!0]],3958052878:[["LayerAssignments",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],3049322572:[["RepresentationMap",1660063152,1,!0],["LayerAssignments",2022622350,2,!0],["OfProductRepresentation",2095639259,2,!0]],531007025:[["OfTable",985171141,1,!1]],912023232:[["OfPerson",2077209135,7,!0],["OfOrganization",4251960020,4,!0]],280115917:[["AnnotatedSurface",1302238472,1,!0]],1742049831:[["AnnotatedSurface",1302238472,1,!0]],2552916305:[["AnnotatedSurface",1302238472,1,!0]],3101149627:[["DocumentedBy",1718945513,0,!0]],1377556343:[["LayerAssignments",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],1735638870:[["RepresentationMap",1660063152,1,!0],["LayerAssignments",2022622350,2,!0],["OfProductRepresentation",2095639259,2,!0],["OfShapeAspect",867548509,0,!0]],2799835756:[["LayerAssignments",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],1907098498:[["LayerAssignments",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],2442683028:[["LayerAssignments",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],962685235:[["LayerAssignments",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],3612888222:[["LayerAssignments",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],2297822566:[["LayerAssignments",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],2542286263:[["PropertyForDependance",148025276,0,!0],["PropertyDependsOn",148025276,1,!0],["PartOfComplex",2542286263,3,!0]],370225590:[["LayerAssignments",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],3732053477:[["ReferenceToDocument",1154170062,3,!0]],3900360178:[["LayerAssignments",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],476780140:[["LayerAssignments",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],2556980723:[["LayerAssignments",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],1809719519:[["LayerAssignments",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],803316827:[["LayerAssignments",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],3008276851:[["LayerAssignments",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],3448662350:[["RepresentationsInContext",1076942058,0,!0],["HasSubContexts",4142052618,6,!0]],2453401579:[["LayerAssignments",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],4142052618:[["RepresentationsInContext",1076942058,0,!0],["HasSubContexts",4142052618,6,!0]],3590301190:[["LayerAssignments",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],178086475:[["PlacesObject",4208778838,5,!0],["ReferencedByPlacements",2624227202,0,!0]],812098782:[["LayerAssignments",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],3741457305:[["DocumentedBy",1718945513,0,!0]],1402838566:[["LayerAssignments",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],125510826:[["LayerAssignments",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],2604431987:[["LayerAssignments",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],4266656042:[["LayerAssignments",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],1520743889:[["LayerAssignments",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],3422422726:[["LayerAssignments",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],2624227202:[["PlacesObject",4208778838,5,!0],["ReferencedByPlacements",2624227202,0,!0]],1008929658:[["LayerAssignments",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],2347385850:[["LayerAssignments",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],219451334:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0]],2833995503:[["LayerAssignments",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],2665983363:[["LayerAssignments",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],1029017970:[["LayerAssignments",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],2519244187:[["LayerAssignments",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],3021840470:[["PartOfComplex",3021840470,2,!0]],2004835150:[["LayerAssignments",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],1663979128:[["LayerAssignments",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],2067069095:[["LayerAssignments",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],4022376103:[["LayerAssignments",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],1423911732:[["LayerAssignments",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],2924175390:[["LayerAssignments",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],2775532180:[["LayerAssignments",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],673634403:[["ShapeOfProduct",4208778838,6,!0],["HasShapeAspects",867548509,4,!0]],871118103:[["PropertyForDependance",148025276,0,!0],["PropertyDependsOn",148025276,1,!0],["PartOfComplex",2542286263,3,!0]],1680319473:[["HasAssociations",1865459582,4,!0]],4166981789:[["PropertyForDependance",148025276,0,!0],["PropertyDependsOn",148025276,1,!0],["PartOfComplex",2542286263,3,!0]],2752243245:[["PropertyForDependance",148025276,0,!0],["PropertyDependsOn",148025276,1,!0],["PartOfComplex",2542286263,3,!0]],941946838:[["PropertyForDependance",148025276,0,!0],["PropertyDependsOn",148025276,1,!0],["PartOfComplex",2542286263,3,!0]],3357820518:[["HasAssociations",1865459582,4,!0],["PropertyDefinitionOf",4186316022,5,!0],["DefinesType",1628702193,5,!0]],3650150729:[["PropertyForDependance",148025276,0,!0],["PropertyDependsOn",148025276,1,!0],["PartOfComplex",2542286263,3,!0]],110355661:[["PropertyForDependance",148025276,0,!0],["PropertyDependsOn",148025276,1,!0],["PartOfComplex",2542286263,3,!0]],3413951693:[["DocumentedBy",1718945513,0,!0]],3765753017:[["HasAssociations",1865459582,4,!0],["PropertyDefinitionOf",4186316022,5,!0],["DefinesType",1628702193,5,!0]],1509187699:[["LayerAssignments",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],2411513650:[["HasAssociations",1865459582,4,!0],["PropertyDefinitionOf",4186316022,5,!0],["DefinesType",1628702193,5,!0]],4124623270:[["LayerAssignments",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],723233188:[["LayerAssignments",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],2485662743:[["HasAssociations",1865459582,4,!0],["PropertyDefinitionOf",4186316022,5,!0],["DefinesType",1628702193,5,!0]],1202362311:[["HasAssociations",1865459582,4,!0],["PropertyDefinitionOf",4186316022,5,!0],["DefinesType",1628702193,5,!0]],390701378:[["HasAssociations",1865459582,4,!0],["PropertyDefinitionOf",4186316022,5,!0],["DefinesType",1628702193,5,!0]],2233826070:[["LayerAssignments",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],2513912981:[["LayerAssignments",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],2247615214:[["LayerAssignments",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],1260650574:[["LayerAssignments",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],230924584:[["LayerAssignments",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],3028897424:[["LayerAssignments",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],4282788508:[["LayerAssignments",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],3124975700:[["LayerAssignments",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],1345879162:[["LayerAssignments",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],1628702193:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["ObjectTypeOf",781010003,5,!0]],2347495698:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["ObjectTypeOf",781010003,5,!0]],1417489154:[["LayerAssignments",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],2759199220:[["LayerAssignments",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],336235671:[["HasAssociations",1865459582,4,!0],["PropertyDefinitionOf",4186316022,5,!0],["DefinesType",1628702193,5,!0]],512836454:[["HasAssociations",1865459582,4,!0],["PropertyDefinitionOf",4186316022,5,!0],["DefinesType",1628702193,5,!0]],1299126871:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["ObjectTypeOf",781010003,5,!0]],3288037868:[["LayerAssignments",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],669184980:[["LayerAssignments",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],2265737646:[["LayerAssignments",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],1302238472:[["LayerAssignments",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],4261334040:[["LayerAssignments",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],3125803723:[["LayerAssignments",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],2740243338:[["LayerAssignments",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],2736907675:[["LayerAssignments",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],4182860854:[["LayerAssignments",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],2581212453:[["LayerAssignments",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],2713105998:[["LayerAssignments",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],1123145078:[["LayerAssignments",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],59481748:[["LayerAssignments",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],3749851601:[["LayerAssignments",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],3486308946:[["LayerAssignments",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],3331915920:[["LayerAssignments",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],1416205885:[["LayerAssignments",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],2205249479:[["LayerAssignments",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],2485617015:[["LayerAssignments",2022622350,2,!0],["StyledByItem",3958052878,0,!0],["UsingCurves",3732776249,0,!0]],2506170314:[["LayerAssignments",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],2147822146:[["LayerAssignments",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],2601014836:[["LayerAssignments",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],2827736869:[["LayerAssignments",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],693772133:[["LayerAssignments",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],606661476:[["LayerAssignments",2022622350,2,!0],["StyledByItem",3958052878,0,!0],["AnnotatedBySymbols",3028897424,3,!0]],4054601972:[["LayerAssignments",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],32440307:[["LayerAssignments",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],2963535650:[["HasAssociations",1865459582,4,!0],["PropertyDefinitionOf",4186316022,5,!0],["DefinesType",1628702193,5,!0]],1714330368:[["HasAssociations",1865459582,4,!0],["PropertyDefinitionOf",4186316022,5,!0],["DefinesType",1628702193,5,!0]],526551008:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["ObjectTypeOf",781010003,5,!0]],3073041342:[["LayerAssignments",2022622350,2,!0],["StyledByItem",3958052878,0,!0],["IsRelatedFromCallout",3796139169,3,!0],["IsRelatedToCallout",3796139169,2,!0]],1472233963:[["LayerAssignments",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],1883228015:[["HasAssociations",1865459582,4,!0],["PropertyDefinitionOf",4186316022,5,!0],["DefinesType",1628702193,5,!0]],339256511:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["ObjectTypeOf",781010003,5,!0]],2777663545:[["LayerAssignments",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],80994333:[["HasAssociations",1865459582,4,!0],["PropertyDefinitionOf",4186316022,5,!0],["DefinesType",1628702193,5,!0]],477187591:[["LayerAssignments",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],2047409740:[["LayerAssignments",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],374418227:[["LayerAssignments",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],4203026998:[["LayerAssignments",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],315944413:[["LayerAssignments",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],3455213021:[["HasAssociations",1865459582,4,!0],["PropertyDefinitionOf",4186316022,5,!0],["DefinesType",1628702193,5,!0]],4238390223:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["ObjectTypeOf",781010003,5,!0]],1268542332:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["ObjectTypeOf",781010003,5,!0]],987898635:[["LayerAssignments",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],1281925730:[["LayerAssignments",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],1425443689:[["LayerAssignments",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],3888040117:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0]],3388369263:[["LayerAssignments",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],3505215534:[["LayerAssignments",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],3566463478:[["HasAssociations",1865459582,4,!0],["PropertyDefinitionOf",4186316022,5,!0],["DefinesType",1628702193,5,!0]],603570806:[["LayerAssignments",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],220341763:[["LayerAssignments",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],2945172077:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["OperatesOn",4278684876,6,!0],["IsSuccessorFrom",4122056220,5,!0],["IsPredecessorTo",4122056220,4,!0]],4208778838:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["ReferencedBy",2857406711,6,!0]],103090709:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0]],4194566429:[["LayerAssignments",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],1451395588:[["HasAssociations",1865459582,4,!0],["PropertyDefinitionOf",4186316022,5,!0],["DefinesType",1628702193,5,!0]],3219374653:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["ReferencedBy",2857406711,6,!0]],2798486643:[["LayerAssignments",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],3454111270:[["LayerAssignments",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],2914609552:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["ResourceOf",205026976,6,!0]],1856042241:[["LayerAssignments",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],4158566097:[["LayerAssignments",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],3626867408:[["LayerAssignments",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],2706606064:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["ReferencedBy",2857406711,6,!0],["ReferencesElements",1245217292,5,!0],["ServicedBySystems",366585022,5,!0],["ContainsElements",3242617779,5,!0]],3893378262:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["ObjectTypeOf",781010003,5,!0]],451544542:[["LayerAssignments",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],3544373492:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["ReferencedBy",2857406711,6,!0],["AssignedToStructuralItem",2127690289,5,!1]],3136571912:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["ReferencedBy",2857406711,6,!0],["AssignedStructuralActivity",2127690289,4,!0]],530289379:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["ReferencedBy",2857406711,6,!0],["AssignedStructuralActivity",2127690289,4,!0],["ReferencesElement",3912681535,5,!0],["ConnectedBy",1638771189,4,!0]],3689010777:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["ReferencedBy",2857406711,6,!0],["AssignedToStructuralItem",2127690289,5,!1],["Causes",682877961,10,!0]],3979015343:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["ReferencedBy",2857406711,6,!0],["AssignedStructuralActivity",2127690289,4,!0],["ReferencesElement",3912681535,5,!0],["ConnectedBy",1638771189,4,!0]],2218152070:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["ReferencedBy",2857406711,6,!0],["AssignedStructuralActivity",2127690289,4,!0],["ReferencesElement",3912681535,5,!0],["ConnectedBy",1638771189,4,!0]],4070609034:[["LayerAssignments",2022622350,2,!0],["StyledByItem",3958052878,0,!0],["IsRelatedFromCallout",3796139169,3,!0],["IsRelatedToCallout",3796139169,2,!0]],2028607225:[["LayerAssignments",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],2809605785:[["LayerAssignments",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],4124788165:[["LayerAssignments",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],1580310250:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["ObjectTypeOf",781010003,5,!0]],3473067441:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["OperatesOn",4278684876,6,!0],["IsSuccessorFrom",4122056220,5,!0],["IsPredecessorTo",4122056220,4,!0]],2097647324:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["ObjectTypeOf",781010003,5,!0]],2296667514:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["IsActingUpon",1683148259,6,!0]],1674181508:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["ReferencedBy",2857406711,6,!0],["ContainedInStructure",3242617779,4,!0]],1334484129:[["LayerAssignments",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],3649129432:[["LayerAssignments",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],1260505505:[["LayerAssignments",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],4031249490:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["ReferencedBy",2857406711,6,!0],["ReferencesElements",1245217292,5,!0],["ServicedBySystems",366585022,5,!0],["ContainsElements",3242617779,5,!0]],1950629157:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["ObjectTypeOf",781010003,5,!0]],3124254112:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["ReferencedBy",2857406711,6,!0],["ReferencesElements",1245217292,5,!0],["ServicedBySystems",366585022,5,!0],["ContainsElements",3242617779,5,!0]],300633059:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["ObjectTypeOf",781010003,5,!0]],3732776249:[["LayerAssignments",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],2510884976:[["LayerAssignments",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],2559216714:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["ResourceOf",205026976,6,!0]],3293443760:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["Controls",2495723537,6,!0]],3895139033:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["Controls",2495723537,6,!0]],1419761937:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["Controls",2495723537,6,!0]],1916426348:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["ObjectTypeOf",781010003,5,!0]],3295246426:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["ResourceOf",205026976,6,!0]],1457835157:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["ObjectTypeOf",781010003,5,!0]],681481545:[["LayerAssignments",2022622350,2,!0],["StyledByItem",3958052878,0,!0],["IsRelatedFromCallout",3796139169,3,!0],["IsRelatedToCallout",3796139169,2,!0]],3256556792:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["ObjectTypeOf",781010003,5,!0]],3849074793:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["ObjectTypeOf",781010003,5,!0]],360485395:[["HasAssociations",1865459582,4,!0],["PropertyDefinitionOf",4186316022,5,!0],["DefinesType",1628702193,5,!0]],1758889154:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["ReferencedBy",2857406711,6,!0],["HasStructuralMember",3912681535,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["HasCoverings",886880790,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasPorts",4201705270,5,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0]],4123344466:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["ReferencedBy",2857406711,6,!0],["HasStructuralMember",3912681535,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["HasCoverings",886880790,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasPorts",4201705270,5,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0]],1623761950:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["ReferencedBy",2857406711,6,!0],["HasStructuralMember",3912681535,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["HasCoverings",886880790,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasPorts",4201705270,5,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0]],2590856083:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["ObjectTypeOf",781010003,5,!0]],1704287377:[["LayerAssignments",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],2107101300:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["ObjectTypeOf",781010003,5,!0]],1962604670:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["ReferencedBy",2857406711,6,!0],["HasStructuralMember",3912681535,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["HasCoverings",886880790,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasPorts",4201705270,5,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0]],3272907226:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["Controls",2495723537,6,!0]],3174744832:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["ObjectTypeOf",781010003,5,!0]],3390157468:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["ObjectTypeOf",781010003,5,!0]],807026263:[["LayerAssignments",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],3737207727:[["LayerAssignments",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],647756555:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["ReferencedBy",2857406711,6,!0],["HasStructuralMember",3912681535,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["HasCoverings",886880790,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasPorts",4201705270,5,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0]],2489546625:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["ObjectTypeOf",781010003,5,!0]],2827207264:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["ReferencedBy",2857406711,6,!0],["HasStructuralMember",3912681535,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["HasCoverings",886880790,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasPorts",4201705270,5,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0]],2143335405:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["ReferencedBy",2857406711,6,!0],["HasStructuralMember",3912681535,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["HasCoverings",886880790,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasPorts",4201705270,5,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["ProjectsElements",750771296,5,!1]],1287392070:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["ReferencedBy",2857406711,6,!0],["HasStructuralMember",3912681535,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["HasCoverings",886880790,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasPorts",4201705270,5,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["VoidsElements",1401173127,5,!1]],3907093117:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["ObjectTypeOf",781010003,5,!0]],3198132628:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["ObjectTypeOf",781010003,5,!0]],3815607619:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["ObjectTypeOf",781010003,5,!0]],1482959167:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["ObjectTypeOf",781010003,5,!0]],1834744321:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["ObjectTypeOf",781010003,5,!0]],1339347760:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["ObjectTypeOf",781010003,5,!0]],2297155007:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["ObjectTypeOf",781010003,5,!0]],3009222698:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["ObjectTypeOf",781010003,5,!0]],263784265:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["ReferencedBy",2857406711,6,!0],["HasStructuralMember",3912681535,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["HasCoverings",886880790,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasPorts",4201705270,5,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0]],814719939:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["Controls",2495723537,6,!0]],200128114:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["ObjectTypeOf",781010003,5,!0]],3009204131:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["ReferencedBy",2857406711,6,!0],["ContainedInStructure",3242617779,4,!0]],2706460486:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["IsGroupedBy",1307041759,6,!1]],1251058090:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["ObjectTypeOf",781010003,5,!0]],1806887404:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["ObjectTypeOf",781010003,5,!0]],2391368822:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["IsGroupedBy",1307041759,6,!1]],4288270099:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["ObjectTypeOf",781010003,5,!0]],3827777499:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["ResourceOf",205026976,6,!0]],1051575348:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["ObjectTypeOf",781010003,5,!0]],1161773419:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["ObjectTypeOf",781010003,5,!0]],2506943328:[["LayerAssignments",2022622350,2,!0],["StyledByItem",3958052878,0,!0],["IsRelatedFromCallout",3796139169,3,!0],["IsRelatedToCallout",3796139169,2,!0]],377706215:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["ReferencedBy",2857406711,6,!0],["HasStructuralMember",3912681535,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["HasCoverings",886880790,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasPorts",4201705270,5,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0]],2108223431:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["ObjectTypeOf",781010003,5,!0]],3181161470:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["ObjectTypeOf",781010003,5,!0]],977012517:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["ObjectTypeOf",781010003,5,!0]],1916936684:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["OperatesOn",4278684876,6,!0],["IsSuccessorFrom",4122056220,5,!0],["IsPredecessorTo",4122056220,4,!0]],4143007308:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["IsActingUpon",1683148259,6,!0]],3588315303:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["ReferencedBy",2857406711,6,!0],["HasStructuralMember",3912681535,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["HasCoverings",886880790,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasPorts",4201705270,5,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["VoidsElements",1401173127,5,!1],["HasFillings",3940055652,4,!0]],3425660407:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["OperatesOn",4278684876,6,!0],["IsSuccessorFrom",4122056220,5,!0],["IsPredecessorTo",4122056220,4,!0]],2837617999:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["ObjectTypeOf",781010003,5,!0]],2382730787:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["Controls",2495723537,6,!0]],3327091369:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["Controls",2495723537,6,!0]],804291784:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["ObjectTypeOf",781010003,5,!0]],4231323485:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["ObjectTypeOf",781010003,5,!0]],4017108033:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["ObjectTypeOf",781010003,5,!0]],3724593414:[["LayerAssignments",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],3740093272:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["ReferencedBy",2857406711,6,!0],["ContainedIn",4201705270,4,!1],["ConnectedFrom",3190031847,5,!0],["ConnectedTo",3190031847,4,!0]],2744685151:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["OperatesOn",4278684876,6,!0],["IsSuccessorFrom",4122056220,5,!0],["IsPredecessorTo",4122056220,4,!0]],2904328755:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["Controls",2495723537,6,!0]],3642467123:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["Controls",2495723537,6,!0]],3651124850:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["ReferencedBy",2857406711,6,!0],["HasStructuralMember",3912681535,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["HasCoverings",886880790,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasPorts",4201705270,5,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["ProjectsElements",750771296,5,!1]],1842657554:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["ObjectTypeOf",781010003,5,!0]],2250791053:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["ObjectTypeOf",781010003,5,!0]],3248260540:[["LayerAssignments",2022622350,2,!0],["StyledByItem",3958052878,0,!0],["IsRelatedFromCallout",3796139169,3,!0],["IsRelatedToCallout",3796139169,2,!0]],2893384427:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["ObjectTypeOf",781010003,5,!0]],2324767716:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["ObjectTypeOf",781010003,5,!0]],1768891740:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["ObjectTypeOf",781010003,5,!0]],3517283431:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["Controls",2495723537,6,!0],["ScheduleTimeControlAssigned",2863920197,7,!1]],4105383287:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["Controls",2495723537,6,!0]],4097777520:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["ReferencedBy",2857406711,6,!0],["ReferencesElements",1245217292,5,!0],["ServicedBySystems",366585022,5,!0],["ContainsElements",3242617779,5,!0]],2533589738:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["ObjectTypeOf",781010003,5,!0]],3856911033:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["ReferencedBy",2857406711,6,!0],["ReferencesElements",1245217292,5,!0],["ServicedBySystems",366585022,5,!0],["ContainsElements",3242617779,5,!0],["HasCoverings",2802773753,4,!0],["BoundedBy",3451746338,4,!0]],1305183839:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["ObjectTypeOf",781010003,5,!0]],652456506:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["Controls",2495723537,6,!0],["HasInteractionReqsFrom",4189434867,7,!0],["HasInteractionReqsTo",4189434867,8,!0]],3812236995:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["ObjectTypeOf",781010003,5,!0]],3112655638:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["ObjectTypeOf",781010003,5,!0]],1039846685:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["ObjectTypeOf",781010003,5,!0]],682877961:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["ReferencedBy",2857406711,6,!0],["AssignedToStructuralItem",2127690289,5,!1]],1179482911:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["ReferencedBy",2857406711,6,!0],["AssignedStructuralActivity",2127690289,4,!0],["ConnectsStructuralMembers",1638771189,5,!0]],4243806635:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["ReferencedBy",2857406711,6,!0],["AssignedStructuralActivity",2127690289,4,!0],["ConnectsStructuralMembers",1638771189,5,!0]],214636428:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["ReferencedBy",2857406711,6,!0],["AssignedStructuralActivity",2127690289,4,!0],["ReferencesElement",3912681535,5,!0],["ConnectedBy",1638771189,4,!0]],2445595289:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["ReferencedBy",2857406711,6,!0],["AssignedStructuralActivity",2127690289,4,!0],["ReferencesElement",3912681535,5,!0],["ConnectedBy",1638771189,4,!0]],1807405624:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["ReferencedBy",2857406711,6,!0],["AssignedToStructuralItem",2127690289,5,!1]],1721250024:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["ReferencedBy",2857406711,6,!0],["AssignedToStructuralItem",2127690289,5,!1]],1252848954:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["IsGroupedBy",1307041759,6,!1],["SourceOfResultGroup",2986769608,6,!0],["LoadGroupFor",2515109513,7,!0]],1621171031:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["ReferencedBy",2857406711,6,!0],["AssignedToStructuralItem",2127690289,5,!1]],3987759626:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["ReferencedBy",2857406711,6,!0],["AssignedToStructuralItem",2127690289,5,!1]],2082059205:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["ReferencedBy",2857406711,6,!0],["AssignedToStructuralItem",2127690289,5,!1]],734778138:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["ReferencedBy",2857406711,6,!0],["AssignedStructuralActivity",2127690289,4,!0],["ConnectsStructuralMembers",1638771189,5,!0]],1235345126:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["ReferencedBy",2857406711,6,!0],["AssignedToStructuralItem",2127690289,5,!1],["Causes",682877961,10,!0]],2986769608:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["IsGroupedBy",1307041759,6,!1],["ResultGroupFor",2515109513,8,!0]],1975003073:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["ReferencedBy",2857406711,6,!0],["AssignedStructuralActivity",2127690289,4,!0],["ConnectsStructuralMembers",1638771189,5,!0]],148013059:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["ResourceOf",205026976,6,!0]],2315554128:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["ObjectTypeOf",781010003,5,!0]],2254336722:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["IsGroupedBy",1307041759,6,!1],["ServicesBuildings",366585022,4,!0]],5716631:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["ObjectTypeOf",781010003,5,!0]],1637806684:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["Controls",2495723537,6,!0]],1692211062:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["ObjectTypeOf",781010003,5,!0]],1620046519:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["ReferencedBy",2857406711,6,!0],["HasStructuralMember",3912681535,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["HasCoverings",886880790,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasPorts",4201705270,5,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0]],3593883385:[["LayerAssignments",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],1600972822:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["ObjectTypeOf",781010003,5,!0]],1911125066:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["ObjectTypeOf",781010003,5,!0]],728799441:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["ObjectTypeOf",781010003,5,!0]],2769231204:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["ReferencedBy",2857406711,6,!0],["HasStructuralMember",3912681535,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["HasCoverings",886880790,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasPorts",4201705270,5,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0]],1898987631:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["ObjectTypeOf",781010003,5,!0]],1133259667:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["ObjectTypeOf",781010003,5,!0]],1028945134:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["Controls",2495723537,6,!0]],4218914973:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["Controls",2495723537,6,!0]],3342526732:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["Controls",2495723537,6,!0]],1033361043:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["IsGroupedBy",1307041759,6,!1]],1213861670:[["LayerAssignments",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],3821786052:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["Controls",2495723537,6,!0]],1411407467:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["ObjectTypeOf",781010003,5,!0]],3352864051:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["ObjectTypeOf",781010003,5,!0]],1871374353:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["ObjectTypeOf",781010003,5,!0]],2470393545:[["LayerAssignments",2022622350,2,!0],["StyledByItem",3958052878,0,!0],["IsRelatedFromCallout",3796139169,3,!0],["IsRelatedToCallout",3796139169,2,!0]],3460190687:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["IsGroupedBy",1307041759,6,!1]],1967976161:[["LayerAssignments",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],819618141:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["ObjectTypeOf",781010003,5,!0]],1916977116:[["LayerAssignments",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],231477066:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["ObjectTypeOf",781010003,5,!0]],3299480353:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["ReferencedBy",2857406711,6,!0],["HasStructuralMember",3912681535,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["HasCoverings",886880790,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasPorts",4201705270,5,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0]],52481810:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["ReferencedBy",2857406711,6,!0],["HasStructuralMember",3912681535,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["HasCoverings",886880790,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasPorts",4201705270,5,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0]],2979338954:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["ReferencedBy",2857406711,6,!0],["HasStructuralMember",3912681535,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["HasCoverings",886880790,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasPorts",4201705270,5,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0]],1095909175:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["ReferencedBy",2857406711,6,!0],["HasStructuralMember",3912681535,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["HasCoverings",886880790,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasPorts",4201705270,5,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0]],1909888760:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["ObjectTypeOf",781010003,5,!0]],395041908:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["ObjectTypeOf",781010003,5,!0]],3293546465:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["ObjectTypeOf",781010003,5,!0]],1285652485:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["ObjectTypeOf",781010003,5,!0]],2951183804:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["ObjectTypeOf",781010003,5,!0]],2611217952:[["LayerAssignments",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],2301859152:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["ObjectTypeOf",781010003,5,!0]],843113511:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["ReferencedBy",2857406711,6,!0],["HasStructuralMember",3912681535,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["HasCoverings",886880790,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasPorts",4201705270,5,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0]],3850581409:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["ObjectTypeOf",781010003,5,!0]],2816379211:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["ObjectTypeOf",781010003,5,!0]],2188551683:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["IsGroupedBy",1307041759,6,!1]],1163958913:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["Controls",2495723537,6,!0]],3898045240:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["ResourceOf",205026976,6,!0]],1060000209:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["ResourceOf",205026976,6,!0]],488727124:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["ResourceOf",205026976,6,!0]],335055490:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["ObjectTypeOf",781010003,5,!0]],2954562838:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["ObjectTypeOf",781010003,5,!0]],1973544240:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["ReferencedBy",2857406711,6,!0],["HasStructuralMember",3912681535,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["HasCoverings",886880790,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasPorts",4201705270,5,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["CoversSpaces",2802773753,5,!0],["Covers",886880790,5,!0]],3495092785:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["ReferencedBy",2857406711,6,!0],["HasStructuralMember",3912681535,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["HasCoverings",886880790,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasPorts",4201705270,5,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0]],3961806047:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["ObjectTypeOf",781010003,5,!0]],4147604152:[["LayerAssignments",2022622350,2,!0],["StyledByItem",3958052878,0,!0],["IsRelatedFromCallout",3796139169,3,!0],["IsRelatedToCallout",3796139169,2,!0]],1335981549:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["ReferencedBy",2857406711,6,!0],["HasStructuralMember",3912681535,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["HasCoverings",886880790,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasPorts",4201705270,5,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0]],2635815018:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["ObjectTypeOf",781010003,5,!0]],1599208980:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["ObjectTypeOf",781010003,5,!0]],2063403501:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["ObjectTypeOf",781010003,5,!0]],1945004755:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["ReferencedBy",2857406711,6,!0],["HasStructuralMember",3912681535,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["HasCoverings",886880790,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasPorts",4201705270,5,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0]],3040386961:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["ReferencedBy",2857406711,6,!0],["HasStructuralMember",3912681535,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["HasCoverings",886880790,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasPorts",4201705270,5,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasControlElements",279856033,5,!0]],3041715199:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["ReferencedBy",2857406711,6,!0],["ContainedIn",4201705270,4,!1],["ConnectedFrom",3190031847,5,!0],["ConnectedTo",3190031847,4,!0]],395920057:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["ReferencedBy",2857406711,6,!0],["HasStructuralMember",3912681535,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["HasCoverings",886880790,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasPorts",4201705270,5,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0]],869906466:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["ObjectTypeOf",781010003,5,!0]],3760055223:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["ObjectTypeOf",781010003,5,!0]],2030761528:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["ObjectTypeOf",781010003,5,!0]],855621170:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["ReferencedBy",2857406711,6,!0],["HasStructuralMember",3912681535,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["HasCoverings",886880790,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasPorts",4201705270,5,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["VoidsElements",1401173127,5,!1]],663422040:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["ObjectTypeOf",781010003,5,!0]],3277789161:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["ObjectTypeOf",781010003,5,!0]],1534661035:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["ObjectTypeOf",781010003,5,!0]],1365060375:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["ObjectTypeOf",781010003,5,!0]],1217240411:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["ObjectTypeOf",781010003,5,!0]],712377611:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["ObjectTypeOf",781010003,5,!0]],1634875225:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["IsGroupedBy",1307041759,6,!1],["ServicesBuildings",366585022,4,!0]],857184966:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["ReferencedBy",2857406711,6,!0],["HasStructuralMember",3912681535,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["HasCoverings",886880790,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasPorts",4201705270,5,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0]],1658829314:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["ReferencedBy",2857406711,6,!0],["HasStructuralMember",3912681535,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["HasCoverings",886880790,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasPorts",4201705270,5,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasControlElements",279856033,5,!0]],346874300:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["ObjectTypeOf",781010003,5,!0]],1810631287:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["ObjectTypeOf",781010003,5,!0]],4222183408:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["ObjectTypeOf",781010003,5,!0]],2058353004:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["ReferencedBy",2857406711,6,!0],["HasStructuralMember",3912681535,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["HasCoverings",886880790,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasPorts",4201705270,5,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasControlElements",279856033,5,!0]],4278956645:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["ReferencedBy",2857406711,6,!0],["HasStructuralMember",3912681535,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["HasCoverings",886880790,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasPorts",4201705270,5,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasControlElements",279856033,5,!0]],4037862832:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["ObjectTypeOf",781010003,5,!0]],3132237377:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["ReferencedBy",2857406711,6,!0],["HasStructuralMember",3912681535,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["HasCoverings",886880790,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasPorts",4201705270,5,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasControlElements",279856033,5,!0]],987401354:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["ReferencedBy",2857406711,6,!0],["HasStructuralMember",3912681535,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["HasCoverings",886880790,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasPorts",4201705270,5,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasControlElements",279856033,5,!0]],707683696:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["ReferencedBy",2857406711,6,!0],["HasStructuralMember",3912681535,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["HasCoverings",886880790,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasPorts",4201705270,5,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasControlElements",279856033,5,!0]],2223149337:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["ReferencedBy",2857406711,6,!0],["HasStructuralMember",3912681535,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["HasCoverings",886880790,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasPorts",4201705270,5,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasControlElements",279856033,5,!0]],3508470533:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["ReferencedBy",2857406711,6,!0],["HasStructuralMember",3912681535,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["HasCoverings",886880790,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasPorts",4201705270,5,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasControlElements",279856033,5,!0]],900683007:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["ReferencedBy",2857406711,6,!0],["HasStructuralMember",3912681535,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["HasCoverings",886880790,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasPorts",4201705270,5,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0]],1073191201:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["ReferencedBy",2857406711,6,!0],["HasStructuralMember",3912681535,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["HasCoverings",886880790,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasPorts",4201705270,5,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0]],1687234759:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["ReferencedBy",2857406711,6,!0],["HasStructuralMember",3912681535,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["HasCoverings",886880790,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasPorts",4201705270,5,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0]],3171933400:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["ReferencedBy",2857406711,6,!0],["HasStructuralMember",3912681535,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["HasCoverings",886880790,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasPorts",4201705270,5,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0]],2262370178:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["ReferencedBy",2857406711,6,!0],["HasStructuralMember",3912681535,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["HasCoverings",886880790,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasPorts",4201705270,5,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0]],3024970846:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["ReferencedBy",2857406711,6,!0],["HasStructuralMember",3912681535,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["HasCoverings",886880790,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasPorts",4201705270,5,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0]],3283111854:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["ReferencedBy",2857406711,6,!0],["HasStructuralMember",3912681535,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["HasCoverings",886880790,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasPorts",4201705270,5,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0]],3055160366:[["LayerAssignments",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],3027567501:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["ReferencedBy",2857406711,6,!0],["HasStructuralMember",3912681535,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["HasCoverings",886880790,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasPorts",4201705270,5,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0]],2320036040:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["ReferencedBy",2857406711,6,!0],["HasStructuralMember",3912681535,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["HasCoverings",886880790,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasPorts",4201705270,5,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0]],2016517767:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["ReferencedBy",2857406711,6,!0],["HasStructuralMember",3912681535,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["HasCoverings",886880790,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasPorts",4201705270,5,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0]],1376911519:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["ReferencedBy",2857406711,6,!0],["HasStructuralMember",3912681535,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["HasCoverings",886880790,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasPorts",4201705270,5,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["VoidsElements",1401173127,5,!1]],1783015770:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["ObjectTypeOf",781010003,5,!0]],1529196076:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["ReferencedBy",2857406711,6,!0],["HasStructuralMember",3912681535,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["HasCoverings",886880790,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasPorts",4201705270,5,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0]],331165859:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["ReferencedBy",2857406711,6,!0],["HasStructuralMember",3912681535,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["HasCoverings",886880790,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasPorts",4201705270,5,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0]],4252922144:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["ReferencedBy",2857406711,6,!0],["HasStructuralMember",3912681535,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["HasCoverings",886880790,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasPorts",4201705270,5,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0]],2515109513:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["IsGroupedBy",1307041759,6,!1],["ServicesBuildings",366585022,4,!0]],3824725483:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["ReferencedBy",2857406711,6,!0],["HasStructuralMember",3912681535,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["HasCoverings",886880790,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasPorts",4201705270,5,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0]],2347447852:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["ReferencedBy",2857406711,6,!0],["HasStructuralMember",3912681535,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["HasCoverings",886880790,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasPorts",4201705270,5,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0]],3313531582:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["ObjectTypeOf",781010003,5,!0]],2391406946:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["ReferencedBy",2857406711,6,!0],["HasStructuralMember",3912681535,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["HasCoverings",886880790,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasPorts",4201705270,5,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0]],3512223829:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["ReferencedBy",2857406711,6,!0],["HasStructuralMember",3912681535,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["HasCoverings",886880790,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasPorts",4201705270,5,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0]],3304561284:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["ReferencedBy",2857406711,6,!0],["HasStructuralMember",3912681535,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["HasCoverings",886880790,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasPorts",4201705270,5,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0]],2874132201:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["ObjectTypeOf",781010003,5,!0]],3001207471:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["ObjectTypeOf",781010003,5,!0]],753842376:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["ReferencedBy",2857406711,6,!0],["HasStructuralMember",3912681535,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["HasCoverings",886880790,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasPorts",4201705270,5,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0]],2454782716:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["ReferencedBy",2857406711,6,!0],["HasStructuralMember",3912681535,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["HasCoverings",886880790,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasPorts",4201705270,5,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["VoidsElements",1401173127,5,!1]],578613899:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["ObjectTypeOf",781010003,5,!0]],1052013943:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["ReferencedBy",2857406711,6,!0],["HasStructuralMember",3912681535,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["HasCoverings",886880790,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasPorts",4201705270,5,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasControlElements",279856033,5,!0]],1062813311:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["ReferencedBy",2857406711,6,!0],["HasStructuralMember",3912681535,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["HasCoverings",886880790,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasPorts",4201705270,5,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["AssignedToFlowElement",279856033,4,!0]],3700593921:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["ReferencedBy",2857406711,6,!0],["HasStructuralMember",3912681535,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["HasCoverings",886880790,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasPorts",4201705270,5,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasControlElements",279856033,5,!0]],979691226:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["ReferencedBy",2857406711,6,!0],["HasStructuralMember",3912681535,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["HasCoverings",886880790,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasPorts",4201705270,5,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0]]},V_[1]={3630933823:function(e,t){return new $C.IfcActorRole(e,t[0],t[1],t[2])},618182010:function(e,t){return new $C.IfcAddress(e,t[0],t[1],t[2])},639542469:function(e,t){return new $C.IfcApplication(e,t[0],t[1],t[2],t[3])},411424972:function(e,t){return new $C.IfcAppliedValue(e,t[0],t[1],t[2],t[3],t[4],t[5])},1110488051:function(e,t){return new $C.IfcAppliedValueRelationship(e,t[0],t[1],t[2],t[3],t[4])},130549933:function(e,t){return new $C.IfcApproval(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6])},2080292479:function(e,t){return new $C.IfcApprovalActorRelationship(e,t[0],t[1],t[2])},390851274:function(e,t){return new $C.IfcApprovalPropertyRelationship(e,t[0],t[1])},3869604511:function(e,t){return new $C.IfcApprovalRelationship(e,t[0],t[1],t[2],t[3])},4037036970:function(e,t){return new $C.IfcBoundaryCondition(e,t[0])},1560379544:function(e,t){return new $C.IfcBoundaryEdgeCondition(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6])},3367102660:function(e,t){return new $C.IfcBoundaryFaceCondition(e,t[0],t[1],t[2],t[3])},1387855156:function(e,t){return new $C.IfcBoundaryNodeCondition(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6])},2069777674:function(e,t){return new $C.IfcBoundaryNodeConditionWarping(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},622194075:function(e,t){return new $C.IfcCalendarDate(e,t[0],t[1],t[2])},747523909:function(e,t){return new $C.IfcClassification(e,t[0],t[1],t[2],t[3])},1767535486:function(e,t){return new $C.IfcClassificationItem(e,t[0],t[1],t[2])},1098599126:function(e,t){return new $C.IfcClassificationItemRelationship(e,t[0],t[1])},938368621:function(e,t){return new $C.IfcClassificationNotation(e,t[0])},3639012971:function(e,t){return new $C.IfcClassificationNotationFacet(e,t[0])},3264961684:function(e,t){return new $C.IfcColourSpecification(e,t[0])},2859738748:function(e,t){return new $C.IfcConnectionGeometry(e)},2614616156:function(e,t){return new $C.IfcConnectionPointGeometry(e,t[0],t[1])},4257277454:function(e,t){return new $C.IfcConnectionPortGeometry(e,t[0],t[1],t[2])},2732653382:function(e,t){return new $C.IfcConnectionSurfaceGeometry(e,t[0],t[1])},1959218052:function(e,t){return new $C.IfcConstraint(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6])},1658513725:function(e,t){return new $C.IfcConstraintAggregationRelationship(e,t[0],t[1],t[2],t[3],t[4])},613356794:function(e,t){return new $C.IfcConstraintClassificationRelationship(e,t[0],t[1])},347226245:function(e,t){return new $C.IfcConstraintRelationship(e,t[0],t[1],t[2],t[3])},1065062679:function(e,t){return new $C.IfcCoordinatedUniversalTimeOffset(e,t[0],t[1],t[2])},602808272:function(e,t){return new $C.IfcCostValue(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},539742890:function(e,t){return new $C.IfcCurrencyRelationship(e,t[0],t[1],t[2],t[3],t[4])},1105321065:function(e,t){return new $C.IfcCurveStyleFont(e,t[0],t[1])},2367409068:function(e,t){return new $C.IfcCurveStyleFontAndScaling(e,t[0],t[1],t[2])},3510044353:function(e,t){return new $C.IfcCurveStyleFontPattern(e,t[0],t[1])},1072939445:function(e,t){return new $C.IfcDateAndTime(e,t[0],t[1])},1765591967:function(e,t){return new $C.IfcDerivedUnit(e,t[0],t[1],t[2])},1045800335:function(e,t){return new $C.IfcDerivedUnitElement(e,t[0],t[1])},2949456006:function(e,t){return new $C.IfcDimensionalExponents(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6])},1376555844:function(e,t){return new $C.IfcDocumentElectronicFormat(e,t[0],t[1],t[2])},1154170062:function(e,t){return new $C.IfcDocumentInformation(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12],t[13],t[14],t[15],t[16])},770865208:function(e,t){return new $C.IfcDocumentInformationRelationship(e,t[0],t[1],t[2])},3796139169:function(e,t){return new $C.IfcDraughtingCalloutRelationship(e,t[0],t[1],t[2],t[3])},1648886627:function(e,t){return new $C.IfcEnvironmentalImpactValue(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},3200245327:function(e,t){return new $C.IfcExternalReference(e,t[0],t[1],t[2])},2242383968:function(e,t){return new $C.IfcExternallyDefinedHatchStyle(e,t[0],t[1],t[2])},1040185647:function(e,t){return new $C.IfcExternallyDefinedSurfaceStyle(e,t[0],t[1],t[2])},3207319532:function(e,t){return new $C.IfcExternallyDefinedSymbol(e,t[0],t[1],t[2])},3548104201:function(e,t){return new $C.IfcExternallyDefinedTextFont(e,t[0],t[1],t[2])},852622518:function(e,t){return new $C.IfcGridAxis(e,t[0],t[1],t[2])},3020489413:function(e,t){return new $C.IfcIrregularTimeSeriesValue(e,t[0],t[1])},2655187982:function(e,t){return new $C.IfcLibraryInformation(e,t[0],t[1],t[2],t[3],t[4])},3452421091:function(e,t){return new $C.IfcLibraryReference(e,t[0],t[1],t[2])},4162380809:function(e,t){return new $C.IfcLightDistributionData(e,t[0],t[1],t[2])},1566485204:function(e,t){return new $C.IfcLightIntensityDistribution(e,t[0],t[1])},30780891:function(e,t){return new $C.IfcLocalTime(e,t[0],t[1],t[2],t[3],t[4])},1838606355:function(e,t){return new $C.IfcMaterial(e,t[0])},1847130766:function(e,t){return new $C.IfcMaterialClassificationRelationship(e,t[0],t[1])},248100487:function(e,t){return new $C.IfcMaterialLayer(e,t[0],t[1],t[2])},3303938423:function(e,t){return new $C.IfcMaterialLayerSet(e,t[0],t[1])},1303795690:function(e,t){return new $C.IfcMaterialLayerSetUsage(e,t[0],t[1],t[2],t[3])},2199411900:function(e,t){return new $C.IfcMaterialList(e,t[0])},3265635763:function(e,t){return new $C.IfcMaterialProperties(e,t[0])},2597039031:function(e,t){return new $C.IfcMeasureWithUnit(e,t[0],t[1])},4256014907:function(e,t){return new $C.IfcMechanicalMaterialProperties(e,t[0],t[1],t[2],t[3],t[4],t[5])},677618848:function(e,t){return new $C.IfcMechanicalSteelMaterialProperties(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12])},3368373690:function(e,t){return new $C.IfcMetric(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},2706619895:function(e,t){return new $C.IfcMonetaryUnit(e,t[0])},1918398963:function(e,t){return new $C.IfcNamedUnit(e,t[0],t[1])},3701648758:function(e,t){return new $C.IfcObjectPlacement(e)},2251480897:function(e,t){return new $C.IfcObjective(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10])},1227763645:function(e,t){return new $C.IfcOpticalMaterialProperties(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},4251960020:function(e,t){return new $C.IfcOrganization(e,t[0],t[1],t[2],t[3],t[4])},1411181986:function(e,t){return new $C.IfcOrganizationRelationship(e,t[0],t[1],t[2],t[3])},1207048766:function(e,t){return new $C.IfcOwnerHistory(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},2077209135:function(e,t){return new $C.IfcPerson(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},101040310:function(e,t){return new $C.IfcPersonAndOrganization(e,t[0],t[1],t[2])},2483315170:function(e,t){return new $C.IfcPhysicalQuantity(e,t[0],t[1])},2226359599:function(e,t){return new $C.IfcPhysicalSimpleQuantity(e,t[0],t[1],t[2])},3355820592:function(e,t){return new $C.IfcPostalAddress(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},3727388367:function(e,t){return new $C.IfcPreDefinedItem(e,t[0])},990879717:function(e,t){return new $C.IfcPreDefinedSymbol(e,t[0])},3213052703:function(e,t){return new $C.IfcPreDefinedTerminatorSymbol(e,t[0])},1775413392:function(e,t){return new $C.IfcPreDefinedTextFont(e,t[0])},2022622350:function(e,t){return new $C.IfcPresentationLayerAssignment(e,t[0],t[1],t[2],t[3])},1304840413:function(e,t){return new $C.IfcPresentationLayerWithStyle(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},3119450353:function(e,t){return new $C.IfcPresentationStyle(e,t[0])},2417041796:function(e,t){return new $C.IfcPresentationStyleAssignment(e,t[0])},2095639259:function(e,t){return new $C.IfcProductRepresentation(e,t[0],t[1],t[2])},2267347899:function(e,t){return new $C.IfcProductsOfCombustionProperties(e,t[0],t[1],t[2],t[3],t[4])},3958567839:function(e,t){return new $C.IfcProfileDef(e,t[0],t[1])},2802850158:function(e,t){return new $C.IfcProfileProperties(e,t[0],t[1])},2598011224:function(e,t){return new $C.IfcProperty(e,t[0],t[1])},3896028662:function(e,t){return new $C.IfcPropertyConstraintRelationship(e,t[0],t[1],t[2],t[3])},148025276:function(e,t){return new $C.IfcPropertyDependencyRelationship(e,t[0],t[1],t[2],t[3],t[4])},3710013099:function(e,t){return new $C.IfcPropertyEnumeration(e,t[0],t[1],t[2])},2044713172:function(e,t){return new $C.IfcQuantityArea(e,t[0],t[1],t[2],t[3])},2093928680:function(e,t){return new $C.IfcQuantityCount(e,t[0],t[1],t[2],t[3])},931644368:function(e,t){return new $C.IfcQuantityLength(e,t[0],t[1],t[2],t[3])},3252649465:function(e,t){return new $C.IfcQuantityTime(e,t[0],t[1],t[2],t[3])},2405470396:function(e,t){return new $C.IfcQuantityVolume(e,t[0],t[1],t[2],t[3])},825690147:function(e,t){return new $C.IfcQuantityWeight(e,t[0],t[1],t[2],t[3])},2692823254:function(e,t){return new $C.IfcReferencesValueDocument(e,t[0],t[1],t[2],t[3])},1580146022:function(e,t){return new $C.IfcReinforcementBarProperties(e,t[0],t[1],t[2],t[3],t[4],t[5])},1222501353:function(e,t){return new $C.IfcRelaxation(e,t[0],t[1])},1076942058:function(e,t){return new $C.IfcRepresentation(e,t[0],t[1],t[2],t[3])},3377609919:function(e,t){return new $C.IfcRepresentationContext(e,t[0],t[1])},3008791417:function(e,t){return new $C.IfcRepresentationItem(e)},1660063152:function(e,t){return new $C.IfcRepresentationMap(e,t[0],t[1])},3679540991:function(e,t){return new $C.IfcRibPlateProfileProperties(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6])},2341007311:function(e,t){return new $C.IfcRoot(e,t[0],t[1],t[2],t[3])},448429030:function(e,t){return new $C.IfcSIUnit(e,t[0],t[1],t[2])},2042790032:function(e,t){return new $C.IfcSectionProperties(e,t[0],t[1],t[2])},4165799628:function(e,t){return new $C.IfcSectionReinforcementProperties(e,t[0],t[1],t[2],t[3],t[4],t[5])},867548509:function(e,t){return new $C.IfcShapeAspect(e,t[0],t[1],t[2],t[3],t[4])},3982875396:function(e,t){return new $C.IfcShapeModel(e,t[0],t[1],t[2],t[3])},4240577450:function(e,t){return new $C.IfcShapeRepresentation(e,t[0],t[1],t[2],t[3])},3692461612:function(e,t){return new $C.IfcSimpleProperty(e,t[0],t[1])},2273995522:function(e,t){return new $C.IfcStructuralConnectionCondition(e,t[0])},2162789131:function(e,t){return new $C.IfcStructuralLoad(e,t[0])},2525727697:function(e,t){return new $C.IfcStructuralLoadStatic(e,t[0])},3408363356:function(e,t){return new $C.IfcStructuralLoadTemperature(e,t[0],t[1],t[2],t[3])},2830218821:function(e,t){return new $C.IfcStyleModel(e,t[0],t[1],t[2],t[3])},3958052878:function(e,t){return new $C.IfcStyledItem(e,t[0],t[1],t[2])},3049322572:function(e,t){return new $C.IfcStyledRepresentation(e,t[0],t[1],t[2],t[3])},1300840506:function(e,t){return new $C.IfcSurfaceStyle(e,t[0],t[1],t[2])},3303107099:function(e,t){return new $C.IfcSurfaceStyleLighting(e,t[0],t[1],t[2],t[3])},1607154358:function(e,t){return new $C.IfcSurfaceStyleRefraction(e,t[0],t[1])},846575682:function(e,t){return new $C.IfcSurfaceStyleShading(e,t[0])},1351298697:function(e,t){return new $C.IfcSurfaceStyleWithTextures(e,t[0])},626085974:function(e,t){return new $C.IfcSurfaceTexture(e,t[0],t[1],t[2],t[3])},1290481447:function(e,t){return new $C.IfcSymbolStyle(e,t[0],t[1])},985171141:function(e,t){return new $C.IfcTable(e,t[0],t[1])},531007025:function(e,t){return new $C.IfcTableRow(e,t[0],t[1])},912023232:function(e,t){return new $C.IfcTelecomAddress(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},1447204868:function(e,t){return new $C.IfcTextStyle(e,t[0],t[1],t[2],t[3])},1983826977:function(e,t){return new $C.IfcTextStyleFontModel(e,t[0],t[1],t[2],t[3],t[4],t[5])},2636378356:function(e,t){return new $C.IfcTextStyleForDefinedFont(e,t[0],t[1])},1640371178:function(e,t){return new $C.IfcTextStyleTextModel(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6])},1484833681:function(e,t){return new $C.IfcTextStyleWithBoxCharacteristics(e,t[0],t[1],t[2],t[3],t[4])},280115917:function(e,t){return new $C.IfcTextureCoordinate(e)},1742049831:function(e,t){return new $C.IfcTextureCoordinateGenerator(e,t[0],t[1])},2552916305:function(e,t){return new $C.IfcTextureMap(e,t[0])},1210645708:function(e,t){return new $C.IfcTextureVertex(e,t[0])},3317419933:function(e,t){return new $C.IfcThermalMaterialProperties(e,t[0],t[1],t[2],t[3],t[4])},3101149627:function(e,t){return new $C.IfcTimeSeries(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},1718945513:function(e,t){return new $C.IfcTimeSeriesReferenceRelationship(e,t[0],t[1])},581633288:function(e,t){return new $C.IfcTimeSeriesValue(e,t[0])},1377556343:function(e,t){return new $C.IfcTopologicalRepresentationItem(e)},1735638870:function(e,t){return new $C.IfcTopologyRepresentation(e,t[0],t[1],t[2],t[3])},180925521:function(e,t){return new $C.IfcUnitAssignment(e,t[0])},2799835756:function(e,t){return new $C.IfcVertex(e)},3304826586:function(e,t){return new $C.IfcVertexBasedTextureMap(e,t[0],t[1])},1907098498:function(e,t){return new $C.IfcVertexPoint(e,t[0])},891718957:function(e,t){return new $C.IfcVirtualGridIntersection(e,t[0],t[1])},1065908215:function(e,t){return new $C.IfcWaterProperties(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},2442683028:function(e,t){return new $C.IfcAnnotationOccurrence(e,t[0],t[1],t[2])},962685235:function(e,t){return new $C.IfcAnnotationSurfaceOccurrence(e,t[0],t[1],t[2])},3612888222:function(e,t){return new $C.IfcAnnotationSymbolOccurrence(e,t[0],t[1],t[2])},2297822566:function(e,t){return new $C.IfcAnnotationTextOccurrence(e,t[0],t[1],t[2])},3798115385:function(e,t){return new $C.IfcArbitraryClosedProfileDef(e,t[0],t[1],t[2])},1310608509:function(e,t){return new $C.IfcArbitraryOpenProfileDef(e,t[0],t[1],t[2])},2705031697:function(e,t){return new $C.IfcArbitraryProfileDefWithVoids(e,t[0],t[1],t[2],t[3])},616511568:function(e,t){return new $C.IfcBlobTexture(e,t[0],t[1],t[2],t[3],t[4],t[5])},3150382593:function(e,t){return new $C.IfcCenterLineProfileDef(e,t[0],t[1],t[2],t[3])},647927063:function(e,t){return new $C.IfcClassificationReference(e,t[0],t[1],t[2],t[3])},776857604:function(e,t){return new $C.IfcColourRgb(e,t[0],t[1],t[2],t[3])},2542286263:function(e,t){return new $C.IfcComplexProperty(e,t[0],t[1],t[2],t[3])},1485152156:function(e,t){return new $C.IfcCompositeProfileDef(e,t[0],t[1],t[2],t[3])},370225590:function(e,t){return new $C.IfcConnectedFaceSet(e,t[0])},1981873012:function(e,t){return new $C.IfcConnectionCurveGeometry(e,t[0],t[1])},45288368:function(e,t){return new $C.IfcConnectionPointEccentricity(e,t[0],t[1],t[2],t[3],t[4])},3050246964:function(e,t){return new $C.IfcContextDependentUnit(e,t[0],t[1],t[2])},2889183280:function(e,t){return new $C.IfcConversionBasedUnit(e,t[0],t[1],t[2],t[3])},3800577675:function(e,t){return new $C.IfcCurveStyle(e,t[0],t[1],t[2],t[3])},3632507154:function(e,t){return new $C.IfcDerivedProfileDef(e,t[0],t[1],t[2],t[3],t[4])},2273265877:function(e,t){return new $C.IfcDimensionCalloutRelationship(e,t[0],t[1],t[2],t[3])},1694125774:function(e,t){return new $C.IfcDimensionPair(e,t[0],t[1],t[2],t[3])},3732053477:function(e,t){return new $C.IfcDocumentReference(e,t[0],t[1],t[2])},4170525392:function(e,t){return new $C.IfcDraughtingPreDefinedTextFont(e,t[0])},3900360178:function(e,t){return new $C.IfcEdge(e,t[0],t[1])},476780140:function(e,t){return new $C.IfcEdgeCurve(e,t[0],t[1],t[2],t[3])},1860660968:function(e,t){return new $C.IfcExtendedMaterialProperties(e,t[0],t[1],t[2],t[3])},2556980723:function(e,t){return new $C.IfcFace(e,t[0])},1809719519:function(e,t){return new $C.IfcFaceBound(e,t[0],t[1])},803316827:function(e,t){return new $C.IfcFaceOuterBound(e,t[0],t[1])},3008276851:function(e,t){return new $C.IfcFaceSurface(e,t[0],t[1],t[2])},4219587988:function(e,t){return new $C.IfcFailureConnectionCondition(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6])},738692330:function(e,t){return new $C.IfcFillAreaStyle(e,t[0],t[1])},3857492461:function(e,t){return new $C.IfcFuelProperties(e,t[0],t[1],t[2],t[3],t[4])},803998398:function(e,t){return new $C.IfcGeneralMaterialProperties(e,t[0],t[1],t[2],t[3])},1446786286:function(e,t){return new $C.IfcGeneralProfileProperties(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6])},3448662350:function(e,t){return new $C.IfcGeometricRepresentationContext(e,t[0],t[1],t[2],t[3],t[4],t[5])},2453401579:function(e,t){return new $C.IfcGeometricRepresentationItem(e)},4142052618:function(e,t){return new $C.IfcGeometricRepresentationSubContext(e,t[0],t[1],t[2],t[3],t[4],t[5])},3590301190:function(e,t){return new $C.IfcGeometricSet(e,t[0])},178086475:function(e,t){return new $C.IfcGridPlacement(e,t[0],t[1])},812098782:function(e,t){return new $C.IfcHalfSpaceSolid(e,t[0],t[1])},2445078500:function(e,t){return new $C.IfcHygroscopicMaterialProperties(e,t[0],t[1],t[2],t[3],t[4],t[5])},3905492369:function(e,t){return new $C.IfcImageTexture(e,t[0],t[1],t[2],t[3],t[4])},3741457305:function(e,t){return new $C.IfcIrregularTimeSeries(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},1402838566:function(e,t){return new $C.IfcLightSource(e,t[0],t[1],t[2],t[3])},125510826:function(e,t){return new $C.IfcLightSourceAmbient(e,t[0],t[1],t[2],t[3])},2604431987:function(e,t){return new $C.IfcLightSourceDirectional(e,t[0],t[1],t[2],t[3],t[4])},4266656042:function(e,t){return new $C.IfcLightSourceGoniometric(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},1520743889:function(e,t){return new $C.IfcLightSourcePositional(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},3422422726:function(e,t){return new $C.IfcLightSourceSpot(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12])},2624227202:function(e,t){return new $C.IfcLocalPlacement(e,t[0],t[1])},1008929658:function(e,t){return new $C.IfcLoop(e)},2347385850:function(e,t){return new $C.IfcMappedItem(e,t[0],t[1])},2022407955:function(e,t){return new $C.IfcMaterialDefinitionRepresentation(e,t[0],t[1],t[2],t[3])},1430189142:function(e,t){return new $C.IfcMechanicalConcreteMaterialProperties(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11])},219451334:function(e,t){return new $C.IfcObjectDefinition(e,t[0],t[1],t[2],t[3])},2833995503:function(e,t){return new $C.IfcOneDirectionRepeatFactor(e,t[0])},2665983363:function(e,t){return new $C.IfcOpenShell(e,t[0])},1029017970:function(e,t){return new $C.IfcOrientedEdge(e,t[0],t[1])},2529465313:function(e,t){return new $C.IfcParameterizedProfileDef(e,t[0],t[1],t[2])},2519244187:function(e,t){return new $C.IfcPath(e,t[0])},3021840470:function(e,t){return new $C.IfcPhysicalComplexQuantity(e,t[0],t[1],t[2],t[3],t[4],t[5])},597895409:function(e,t){return new $C.IfcPixelTexture(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},2004835150:function(e,t){return new $C.IfcPlacement(e,t[0])},1663979128:function(e,t){return new $C.IfcPlanarExtent(e,t[0],t[1])},2067069095:function(e,t){return new $C.IfcPoint(e)},4022376103:function(e,t){return new $C.IfcPointOnCurve(e,t[0],t[1])},1423911732:function(e,t){return new $C.IfcPointOnSurface(e,t[0],t[1],t[2])},2924175390:function(e,t){return new $C.IfcPolyLoop(e,t[0])},2775532180:function(e,t){return new $C.IfcPolygonalBoundedHalfSpace(e,t[0],t[1],t[2],t[3])},759155922:function(e,t){return new $C.IfcPreDefinedColour(e,t[0])},2559016684:function(e,t){return new $C.IfcPreDefinedCurveFont(e,t[0])},433424934:function(e,t){return new $C.IfcPreDefinedDimensionSymbol(e,t[0])},179317114:function(e,t){return new $C.IfcPreDefinedPointMarkerSymbol(e,t[0])},673634403:function(e,t){return new $C.IfcProductDefinitionShape(e,t[0],t[1],t[2])},871118103:function(e,t){return new $C.IfcPropertyBoundedValue(e,t[0],t[1],t[2],t[3],t[4])},1680319473:function(e,t){return new $C.IfcPropertyDefinition(e,t[0],t[1],t[2],t[3])},4166981789:function(e,t){return new $C.IfcPropertyEnumeratedValue(e,t[0],t[1],t[2],t[3])},2752243245:function(e,t){return new $C.IfcPropertyListValue(e,t[0],t[1],t[2],t[3])},941946838:function(e,t){return new $C.IfcPropertyReferenceValue(e,t[0],t[1],t[2],t[3])},3357820518:function(e,t){return new $C.IfcPropertySetDefinition(e,t[0],t[1],t[2],t[3])},3650150729:function(e,t){return new $C.IfcPropertySingleValue(e,t[0],t[1],t[2],t[3])},110355661:function(e,t){return new $C.IfcPropertyTableValue(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6])},3615266464:function(e,t){return new $C.IfcRectangleProfileDef(e,t[0],t[1],t[2],t[3],t[4])},3413951693:function(e,t){return new $C.IfcRegularTimeSeries(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},3765753017:function(e,t){return new $C.IfcReinforcementDefinitionProperties(e,t[0],t[1],t[2],t[3],t[4],t[5])},478536968:function(e,t){return new $C.IfcRelationship(e,t[0],t[1],t[2],t[3])},2778083089:function(e,t){return new $C.IfcRoundedRectangleProfileDef(e,t[0],t[1],t[2],t[3],t[4],t[5])},1509187699:function(e,t){return new $C.IfcSectionedSpine(e,t[0],t[1],t[2])},2411513650:function(e,t){return new $C.IfcServiceLifeFactor(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},4124623270:function(e,t){return new $C.IfcShellBasedSurfaceModel(e,t[0])},2609359061:function(e,t){return new $C.IfcSlippageConnectionCondition(e,t[0],t[1],t[2],t[3])},723233188:function(e,t){return new $C.IfcSolidModel(e)},2485662743:function(e,t){return new $C.IfcSoundProperties(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6])},1202362311:function(e,t){return new $C.IfcSoundValue(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6])},390701378:function(e,t){return new $C.IfcSpaceThermalLoadProperties(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12],t[13])},1595516126:function(e,t){return new $C.IfcStructuralLoadLinearForce(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6])},2668620305:function(e,t){return new $C.IfcStructuralLoadPlanarForce(e,t[0],t[1],t[2],t[3])},2473145415:function(e,t){return new $C.IfcStructuralLoadSingleDisplacement(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6])},1973038258:function(e,t){return new $C.IfcStructuralLoadSingleDisplacementDistortion(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},1597423693:function(e,t){return new $C.IfcStructuralLoadSingleForce(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6])},1190533807:function(e,t){return new $C.IfcStructuralLoadSingleForceWarping(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},3843319758:function(e,t){return new $C.IfcStructuralProfileProperties(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12],t[13],t[14],t[15],t[16],t[17],t[18],t[19],t[20],t[21],t[22])},3653947884:function(e,t){return new $C.IfcStructuralSteelProfileProperties(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12],t[13],t[14],t[15],t[16],t[17],t[18],t[19],t[20],t[21],t[22],t[23],t[24],t[25],t[26])},2233826070:function(e,t){return new $C.IfcSubedge(e,t[0],t[1],t[2])},2513912981:function(e,t){return new $C.IfcSurface(e)},1878645084:function(e,t){return new $C.IfcSurfaceStyleRendering(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},2247615214:function(e,t){return new $C.IfcSweptAreaSolid(e,t[0],t[1])},1260650574:function(e,t){return new $C.IfcSweptDiskSolid(e,t[0],t[1],t[2],t[3],t[4])},230924584:function(e,t){return new $C.IfcSweptSurface(e,t[0],t[1])},3071757647:function(e,t){return new $C.IfcTShapeProfileDef(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12])},3028897424:function(e,t){return new $C.IfcTerminatorSymbol(e,t[0],t[1],t[2],t[3])},4282788508:function(e,t){return new $C.IfcTextLiteral(e,t[0],t[1],t[2])},3124975700:function(e,t){return new $C.IfcTextLiteralWithExtent(e,t[0],t[1],t[2],t[3],t[4])},2715220739:function(e,t){return new $C.IfcTrapeziumProfileDef(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6])},1345879162:function(e,t){return new $C.IfcTwoDirectionRepeatFactor(e,t[0],t[1])},1628702193:function(e,t){return new $C.IfcTypeObject(e,t[0],t[1],t[2],t[3],t[4],t[5])},2347495698:function(e,t){return new $C.IfcTypeProduct(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},427810014:function(e,t){return new $C.IfcUShapeProfileDef(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10])},1417489154:function(e,t){return new $C.IfcVector(e,t[0],t[1])},2759199220:function(e,t){return new $C.IfcVertexLoop(e,t[0])},336235671:function(e,t){return new $C.IfcWindowLiningProperties(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12])},512836454:function(e,t){return new $C.IfcWindowPanelProperties(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},1299126871:function(e,t){return new $C.IfcWindowStyle(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11])},2543172580:function(e,t){return new $C.IfcZShapeProfileDef(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},3288037868:function(e,t){return new $C.IfcAnnotationCurveOccurrence(e,t[0],t[1],t[2])},669184980:function(e,t){return new $C.IfcAnnotationFillArea(e,t[0],t[1])},2265737646:function(e,t){return new $C.IfcAnnotationFillAreaOccurrence(e,t[0],t[1],t[2],t[3],t[4])},1302238472:function(e,t){return new $C.IfcAnnotationSurface(e,t[0],t[1])},4261334040:function(e,t){return new $C.IfcAxis1Placement(e,t[0],t[1])},3125803723:function(e,t){return new $C.IfcAxis2Placement2D(e,t[0],t[1])},2740243338:function(e,t){return new $C.IfcAxis2Placement3D(e,t[0],t[1],t[2])},2736907675:function(e,t){return new $C.IfcBooleanResult(e,t[0],t[1],t[2])},4182860854:function(e,t){return new $C.IfcBoundedSurface(e)},2581212453:function(e,t){return new $C.IfcBoundingBox(e,t[0],t[1],t[2],t[3])},2713105998:function(e,t){return new $C.IfcBoxedHalfSpace(e,t[0],t[1],t[2])},2898889636:function(e,t){return new $C.IfcCShapeProfileDef(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},1123145078:function(e,t){return new $C.IfcCartesianPoint(e,t[0])},59481748:function(e,t){return new $C.IfcCartesianTransformationOperator(e,t[0],t[1],t[2],t[3])},3749851601:function(e,t){return new $C.IfcCartesianTransformationOperator2D(e,t[0],t[1],t[2],t[3])},3486308946:function(e,t){return new $C.IfcCartesianTransformationOperator2DnonUniform(e,t[0],t[1],t[2],t[3],t[4])},3331915920:function(e,t){return new $C.IfcCartesianTransformationOperator3D(e,t[0],t[1],t[2],t[3],t[4])},1416205885:function(e,t){return new $C.IfcCartesianTransformationOperator3DnonUniform(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6])},1383045692:function(e,t){return new $C.IfcCircleProfileDef(e,t[0],t[1],t[2],t[3])},2205249479:function(e,t){return new $C.IfcClosedShell(e,t[0])},2485617015:function(e,t){return new $C.IfcCompositeCurveSegment(e,t[0],t[1],t[2])},4133800736:function(e,t){return new $C.IfcCraneRailAShapeProfileDef(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12],t[13],t[14])},194851669:function(e,t){return new $C.IfcCraneRailFShapeProfileDef(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11])},2506170314:function(e,t){return new $C.IfcCsgPrimitive3D(e,t[0])},2147822146:function(e,t){return new $C.IfcCsgSolid(e,t[0])},2601014836:function(e,t){return new $C.IfcCurve(e)},2827736869:function(e,t){return new $C.IfcCurveBoundedPlane(e,t[0],t[1],t[2])},693772133:function(e,t){return new $C.IfcDefinedSymbol(e,t[0],t[1])},606661476:function(e,t){return new $C.IfcDimensionCurve(e,t[0],t[1],t[2])},4054601972:function(e,t){return new $C.IfcDimensionCurveTerminator(e,t[0],t[1],t[2],t[3],t[4])},32440307:function(e,t){return new $C.IfcDirection(e,t[0])},2963535650:function(e,t){return new $C.IfcDoorLiningProperties(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12],t[13],t[14])},1714330368:function(e,t){return new $C.IfcDoorPanelProperties(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},526551008:function(e,t){return new $C.IfcDoorStyle(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11])},3073041342:function(e,t){return new $C.IfcDraughtingCallout(e,t[0])},445594917:function(e,t){return new $C.IfcDraughtingPreDefinedColour(e,t[0])},4006246654:function(e,t){return new $C.IfcDraughtingPreDefinedCurveFont(e,t[0])},1472233963:function(e,t){return new $C.IfcEdgeLoop(e,t[0])},1883228015:function(e,t){return new $C.IfcElementQuantity(e,t[0],t[1],t[2],t[3],t[4],t[5])},339256511:function(e,t){return new $C.IfcElementType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},2777663545:function(e,t){return new $C.IfcElementarySurface(e,t[0])},2835456948:function(e,t){return new $C.IfcEllipseProfileDef(e,t[0],t[1],t[2],t[3],t[4])},80994333:function(e,t){return new $C.IfcEnergyProperties(e,t[0],t[1],t[2],t[3],t[4],t[5])},477187591:function(e,t){return new $C.IfcExtrudedAreaSolid(e,t[0],t[1],t[2],t[3])},2047409740:function(e,t){return new $C.IfcFaceBasedSurfaceModel(e,t[0])},374418227:function(e,t){return new $C.IfcFillAreaStyleHatching(e,t[0],t[1],t[2],t[3],t[4])},4203026998:function(e,t){return new $C.IfcFillAreaStyleTileSymbolWithStyle(e,t[0])},315944413:function(e,t){return new $C.IfcFillAreaStyleTiles(e,t[0],t[1],t[2])},3455213021:function(e,t){return new $C.IfcFluidFlowProperties(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12],t[13],t[14],t[15],t[16],t[17],t[18])},4238390223:function(e,t){return new $C.IfcFurnishingElementType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},1268542332:function(e,t){return new $C.IfcFurnitureType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},987898635:function(e,t){return new $C.IfcGeometricCurveSet(e,t[0])},1484403080:function(e,t){return new $C.IfcIShapeProfileDef(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},572779678:function(e,t){return new $C.IfcLShapeProfileDef(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10])},1281925730:function(e,t){return new $C.IfcLine(e,t[0],t[1])},1425443689:function(e,t){return new $C.IfcManifoldSolidBrep(e,t[0])},3888040117:function(e,t){return new $C.IfcObject(e,t[0],t[1],t[2],t[3],t[4])},3388369263:function(e,t){return new $C.IfcOffsetCurve2D(e,t[0],t[1],t[2])},3505215534:function(e,t){return new $C.IfcOffsetCurve3D(e,t[0],t[1],t[2],t[3])},3566463478:function(e,t){return new $C.IfcPermeableCoveringProperties(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},603570806:function(e,t){return new $C.IfcPlanarBox(e,t[0],t[1],t[2])},220341763:function(e,t){return new $C.IfcPlane(e,t[0])},2945172077:function(e,t){return new $C.IfcProcess(e,t[0],t[1],t[2],t[3],t[4])},4208778838:function(e,t){return new $C.IfcProduct(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6])},103090709:function(e,t){return new $C.IfcProject(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},4194566429:function(e,t){return new $C.IfcProjectionCurve(e,t[0],t[1],t[2])},1451395588:function(e,t){return new $C.IfcPropertySet(e,t[0],t[1],t[2],t[3],t[4])},3219374653:function(e,t){return new $C.IfcProxy(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},2770003689:function(e,t){return new $C.IfcRectangleHollowProfileDef(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},2798486643:function(e,t){return new $C.IfcRectangularPyramid(e,t[0],t[1],t[2],t[3])},3454111270:function(e,t){return new $C.IfcRectangularTrimmedSurface(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6])},3939117080:function(e,t){return new $C.IfcRelAssigns(e,t[0],t[1],t[2],t[3],t[4],t[5])},1683148259:function(e,t){return new $C.IfcRelAssignsToActor(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},2495723537:function(e,t){return new $C.IfcRelAssignsToControl(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6])},1307041759:function(e,t){return new $C.IfcRelAssignsToGroup(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6])},4278684876:function(e,t){return new $C.IfcRelAssignsToProcess(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},2857406711:function(e,t){return new $C.IfcRelAssignsToProduct(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6])},3372526763:function(e,t){return new $C.IfcRelAssignsToProjectOrder(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6])},205026976:function(e,t){return new $C.IfcRelAssignsToResource(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6])},1865459582:function(e,t){return new $C.IfcRelAssociates(e,t[0],t[1],t[2],t[3],t[4])},1327628568:function(e,t){return new $C.IfcRelAssociatesAppliedValue(e,t[0],t[1],t[2],t[3],t[4],t[5])},4095574036:function(e,t){return new $C.IfcRelAssociatesApproval(e,t[0],t[1],t[2],t[3],t[4],t[5])},919958153:function(e,t){return new $C.IfcRelAssociatesClassification(e,t[0],t[1],t[2],t[3],t[4],t[5])},2728634034:function(e,t){return new $C.IfcRelAssociatesConstraint(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6])},982818633:function(e,t){return new $C.IfcRelAssociatesDocument(e,t[0],t[1],t[2],t[3],t[4],t[5])},3840914261:function(e,t){return new $C.IfcRelAssociatesLibrary(e,t[0],t[1],t[2],t[3],t[4],t[5])},2655215786:function(e,t){return new $C.IfcRelAssociatesMaterial(e,t[0],t[1],t[2],t[3],t[4],t[5])},2851387026:function(e,t){return new $C.IfcRelAssociatesProfileProperties(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},826625072:function(e,t){return new $C.IfcRelConnects(e,t[0],t[1],t[2],t[3])},1204542856:function(e,t){return new $C.IfcRelConnectsElements(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6])},3945020480:function(e,t){return new $C.IfcRelConnectsPathElements(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10])},4201705270:function(e,t){return new $C.IfcRelConnectsPortToElement(e,t[0],t[1],t[2],t[3],t[4],t[5])},3190031847:function(e,t){return new $C.IfcRelConnectsPorts(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6])},2127690289:function(e,t){return new $C.IfcRelConnectsStructuralActivity(e,t[0],t[1],t[2],t[3],t[4],t[5])},3912681535:function(e,t){return new $C.IfcRelConnectsStructuralElement(e,t[0],t[1],t[2],t[3],t[4],t[5])},1638771189:function(e,t){return new $C.IfcRelConnectsStructuralMember(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},504942748:function(e,t){return new $C.IfcRelConnectsWithEccentricity(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10])},3678494232:function(e,t){return new $C.IfcRelConnectsWithRealizingElements(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},3242617779:function(e,t){return new $C.IfcRelContainedInSpatialStructure(e,t[0],t[1],t[2],t[3],t[4],t[5])},886880790:function(e,t){return new $C.IfcRelCoversBldgElements(e,t[0],t[1],t[2],t[3],t[4],t[5])},2802773753:function(e,t){return new $C.IfcRelCoversSpaces(e,t[0],t[1],t[2],t[3],t[4],t[5])},2551354335:function(e,t){return new $C.IfcRelDecomposes(e,t[0],t[1],t[2],t[3],t[4],t[5])},693640335:function(e,t){return new $C.IfcRelDefines(e,t[0],t[1],t[2],t[3],t[4])},4186316022:function(e,t){return new $C.IfcRelDefinesByProperties(e,t[0],t[1],t[2],t[3],t[4],t[5])},781010003:function(e,t){return new $C.IfcRelDefinesByType(e,t[0],t[1],t[2],t[3],t[4],t[5])},3940055652:function(e,t){return new $C.IfcRelFillsElement(e,t[0],t[1],t[2],t[3],t[4],t[5])},279856033:function(e,t){return new $C.IfcRelFlowControlElements(e,t[0],t[1],t[2],t[3],t[4],t[5])},4189434867:function(e,t){return new $C.IfcRelInteractionRequirements(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},3268803585:function(e,t){return new $C.IfcRelNests(e,t[0],t[1],t[2],t[3],t[4],t[5])},2051452291:function(e,t){return new $C.IfcRelOccupiesSpaces(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},202636808:function(e,t){return new $C.IfcRelOverridesProperties(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6])},750771296:function(e,t){return new $C.IfcRelProjectsElement(e,t[0],t[1],t[2],t[3],t[4],t[5])},1245217292:function(e,t){return new $C.IfcRelReferencedInSpatialStructure(e,t[0],t[1],t[2],t[3],t[4],t[5])},1058617721:function(e,t){return new $C.IfcRelSchedulesCostItems(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6])},4122056220:function(e,t){return new $C.IfcRelSequence(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},366585022:function(e,t){return new $C.IfcRelServicesBuildings(e,t[0],t[1],t[2],t[3],t[4],t[5])},3451746338:function(e,t){return new $C.IfcRelSpaceBoundary(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},1401173127:function(e,t){return new $C.IfcRelVoidsElement(e,t[0],t[1],t[2],t[3],t[4],t[5])},2914609552:function(e,t){return new $C.IfcResource(e,t[0],t[1],t[2],t[3],t[4])},1856042241:function(e,t){return new $C.IfcRevolvedAreaSolid(e,t[0],t[1],t[2],t[3])},4158566097:function(e,t){return new $C.IfcRightCircularCone(e,t[0],t[1],t[2])},3626867408:function(e,t){return new $C.IfcRightCircularCylinder(e,t[0],t[1],t[2])},2706606064:function(e,t){return new $C.IfcSpatialStructureElement(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},3893378262:function(e,t){return new $C.IfcSpatialStructureElementType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},451544542:function(e,t){return new $C.IfcSphere(e,t[0],t[1])},3544373492:function(e,t){return new $C.IfcStructuralActivity(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},3136571912:function(e,t){return new $C.IfcStructuralItem(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6])},530289379:function(e,t){return new $C.IfcStructuralMember(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6])},3689010777:function(e,t){return new $C.IfcStructuralReaction(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},3979015343:function(e,t){return new $C.IfcStructuralSurfaceMember(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},2218152070:function(e,t){return new $C.IfcStructuralSurfaceMemberVarying(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10])},4070609034:function(e,t){return new $C.IfcStructuredDimensionCallout(e,t[0])},2028607225:function(e,t){return new $C.IfcSurfaceCurveSweptAreaSolid(e,t[0],t[1],t[2],t[3],t[4],t[5])},2809605785:function(e,t){return new $C.IfcSurfaceOfLinearExtrusion(e,t[0],t[1],t[2],t[3])},4124788165:function(e,t){return new $C.IfcSurfaceOfRevolution(e,t[0],t[1],t[2])},1580310250:function(e,t){return new $C.IfcSystemFurnitureElementType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},3473067441:function(e,t){return new $C.IfcTask(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},2097647324:function(e,t){return new $C.IfcTransportElementType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},2296667514:function(e,t){return new $C.IfcActor(e,t[0],t[1],t[2],t[3],t[4],t[5])},1674181508:function(e,t){return new $C.IfcAnnotation(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6])},3207858831:function(e,t){return new $C.IfcAsymmetricIShapeProfileDef(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11])},1334484129:function(e,t){return new $C.IfcBlock(e,t[0],t[1],t[2],t[3])},3649129432:function(e,t){return new $C.IfcBooleanClippingResult(e,t[0],t[1],t[2])},1260505505:function(e,t){return new $C.IfcBoundedCurve(e)},4031249490:function(e,t){return new $C.IfcBuilding(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11])},1950629157:function(e,t){return new $C.IfcBuildingElementType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},3124254112:function(e,t){return new $C.IfcBuildingStorey(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},2937912522:function(e,t){return new $C.IfcCircleHollowProfileDef(e,t[0],t[1],t[2],t[3],t[4])},300633059:function(e,t){return new $C.IfcColumnType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},3732776249:function(e,t){return new $C.IfcCompositeCurve(e,t[0],t[1])},2510884976:function(e,t){return new $C.IfcConic(e,t[0])},2559216714:function(e,t){return new $C.IfcConstructionResource(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},3293443760:function(e,t){return new $C.IfcControl(e,t[0],t[1],t[2],t[3],t[4])},3895139033:function(e,t){return new $C.IfcCostItem(e,t[0],t[1],t[2],t[3],t[4])},1419761937:function(e,t){return new $C.IfcCostSchedule(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12])},1916426348:function(e,t){return new $C.IfcCoveringType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},3295246426:function(e,t){return new $C.IfcCrewResource(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},1457835157:function(e,t){return new $C.IfcCurtainWallType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},681481545:function(e,t){return new $C.IfcDimensionCurveDirectedCallout(e,t[0])},3256556792:function(e,t){return new $C.IfcDistributionElementType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},3849074793:function(e,t){return new $C.IfcDistributionFlowElementType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},360485395:function(e,t){return new $C.IfcElectricalBaseProperties(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12],t[13])},1758889154:function(e,t){return new $C.IfcElement(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},4123344466:function(e,t){return new $C.IfcElementAssembly(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},1623761950:function(e,t){return new $C.IfcElementComponent(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},2590856083:function(e,t){return new $C.IfcElementComponentType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},1704287377:function(e,t){return new $C.IfcEllipse(e,t[0],t[1],t[2])},2107101300:function(e,t){return new $C.IfcEnergyConversionDeviceType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},1962604670:function(e,t){return new $C.IfcEquipmentElement(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},3272907226:function(e,t){return new $C.IfcEquipmentStandard(e,t[0],t[1],t[2],t[3],t[4])},3174744832:function(e,t){return new $C.IfcEvaporativeCoolerType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},3390157468:function(e,t){return new $C.IfcEvaporatorType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},807026263:function(e,t){return new $C.IfcFacetedBrep(e,t[0])},3737207727:function(e,t){return new $C.IfcFacetedBrepWithVoids(e,t[0],t[1])},647756555:function(e,t){return new $C.IfcFastener(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},2489546625:function(e,t){return new $C.IfcFastenerType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},2827207264:function(e,t){return new $C.IfcFeatureElement(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},2143335405:function(e,t){return new $C.IfcFeatureElementAddition(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},1287392070:function(e,t){return new $C.IfcFeatureElementSubtraction(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},3907093117:function(e,t){return new $C.IfcFlowControllerType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},3198132628:function(e,t){return new $C.IfcFlowFittingType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},3815607619:function(e,t){return new $C.IfcFlowMeterType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},1482959167:function(e,t){return new $C.IfcFlowMovingDeviceType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},1834744321:function(e,t){return new $C.IfcFlowSegmentType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},1339347760:function(e,t){return new $C.IfcFlowStorageDeviceType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},2297155007:function(e,t){return new $C.IfcFlowTerminalType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},3009222698:function(e,t){return new $C.IfcFlowTreatmentDeviceType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},263784265:function(e,t){return new $C.IfcFurnishingElement(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},814719939:function(e,t){return new $C.IfcFurnitureStandard(e,t[0],t[1],t[2],t[3],t[4])},200128114:function(e,t){return new $C.IfcGasTerminalType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},3009204131:function(e,t){return new $C.IfcGrid(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},2706460486:function(e,t){return new $C.IfcGroup(e,t[0],t[1],t[2],t[3],t[4])},1251058090:function(e,t){return new $C.IfcHeatExchangerType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},1806887404:function(e,t){return new $C.IfcHumidifierType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},2391368822:function(e,t){return new $C.IfcInventory(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10])},4288270099:function(e,t){return new $C.IfcJunctionBoxType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},3827777499:function(e,t){return new $C.IfcLaborResource(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},1051575348:function(e,t){return new $C.IfcLampType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},1161773419:function(e,t){return new $C.IfcLightFixtureType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},2506943328:function(e,t){return new $C.IfcLinearDimension(e,t[0])},377706215:function(e,t){return new $C.IfcMechanicalFastener(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},2108223431:function(e,t){return new $C.IfcMechanicalFastenerType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},3181161470:function(e,t){return new $C.IfcMemberType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},977012517:function(e,t){return new $C.IfcMotorConnectionType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},1916936684:function(e,t){return new $C.IfcMove(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12])},4143007308:function(e,t){return new $C.IfcOccupant(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6])},3588315303:function(e,t){return new $C.IfcOpeningElement(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},3425660407:function(e,t){return new $C.IfcOrderAction(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10])},2837617999:function(e,t){return new $C.IfcOutletType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},2382730787:function(e,t){return new $C.IfcPerformanceHistory(e,t[0],t[1],t[2],t[3],t[4],t[5])},3327091369:function(e,t){return new $C.IfcPermit(e,t[0],t[1],t[2],t[3],t[4],t[5])},804291784:function(e,t){return new $C.IfcPipeFittingType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},4231323485:function(e,t){return new $C.IfcPipeSegmentType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},4017108033:function(e,t){return new $C.IfcPlateType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},3724593414:function(e,t){return new $C.IfcPolyline(e,t[0])},3740093272:function(e,t){return new $C.IfcPort(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6])},2744685151:function(e,t){return new $C.IfcProcedure(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},2904328755:function(e,t){return new $C.IfcProjectOrder(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},3642467123:function(e,t){return new $C.IfcProjectOrderRecord(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6])},3651124850:function(e,t){return new $C.IfcProjectionElement(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},1842657554:function(e,t){return new $C.IfcProtectiveDeviceType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},2250791053:function(e,t){return new $C.IfcPumpType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},3248260540:function(e,t){return new $C.IfcRadiusDimension(e,t[0])},2893384427:function(e,t){return new $C.IfcRailingType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},2324767716:function(e,t){return new $C.IfcRampFlightType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},160246688:function(e,t){return new $C.IfcRelAggregates(e,t[0],t[1],t[2],t[3],t[4],t[5])},2863920197:function(e,t){return new $C.IfcRelAssignsTasks(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},1768891740:function(e,t){return new $C.IfcSanitaryTerminalType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},3517283431:function(e,t){return new $C.IfcScheduleTimeControl(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12],t[13],t[14],t[15],t[16],t[17],t[18],t[19],t[20],t[21],t[22])},4105383287:function(e,t){return new $C.IfcServiceLife(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6])},4097777520:function(e,t){return new $C.IfcSite(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12],t[13])},2533589738:function(e,t){return new $C.IfcSlabType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},3856911033:function(e,t){return new $C.IfcSpace(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10])},1305183839:function(e,t){return new $C.IfcSpaceHeaterType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},652456506:function(e,t){return new $C.IfcSpaceProgram(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},3812236995:function(e,t){return new $C.IfcSpaceType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},3112655638:function(e,t){return new $C.IfcStackTerminalType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},1039846685:function(e,t){return new $C.IfcStairFlightType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},682877961:function(e,t){return new $C.IfcStructuralAction(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10])},1179482911:function(e,t){return new $C.IfcStructuralConnection(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},4243806635:function(e,t){return new $C.IfcStructuralCurveConnection(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},214636428:function(e,t){return new $C.IfcStructuralCurveMember(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},2445595289:function(e,t){return new $C.IfcStructuralCurveMemberVarying(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},1807405624:function(e,t){return new $C.IfcStructuralLinearAction(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11])},1721250024:function(e,t){return new $C.IfcStructuralLinearActionVarying(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12],t[13])},1252848954:function(e,t){return new $C.IfcStructuralLoadGroup(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},1621171031:function(e,t){return new $C.IfcStructuralPlanarAction(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11])},3987759626:function(e,t){return new $C.IfcStructuralPlanarActionVarying(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12],t[13])},2082059205:function(e,t){return new $C.IfcStructuralPointAction(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10])},734778138:function(e,t){return new $C.IfcStructuralPointConnection(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},1235345126:function(e,t){return new $C.IfcStructuralPointReaction(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},2986769608:function(e,t){return new $C.IfcStructuralResultGroup(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},1975003073:function(e,t){return new $C.IfcStructuralSurfaceConnection(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},148013059:function(e,t){return new $C.IfcSubContractResource(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10])},2315554128:function(e,t){return new $C.IfcSwitchingDeviceType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},2254336722:function(e,t){return new $C.IfcSystem(e,t[0],t[1],t[2],t[3],t[4])},5716631:function(e,t){return new $C.IfcTankType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},1637806684:function(e,t){return new $C.IfcTimeSeriesSchedule(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},1692211062:function(e,t){return new $C.IfcTransformerType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},1620046519:function(e,t){return new $C.IfcTransportElement(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10])},3593883385:function(e,t){return new $C.IfcTrimmedCurve(e,t[0],t[1],t[2],t[3],t[4])},1600972822:function(e,t){return new $C.IfcTubeBundleType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},1911125066:function(e,t){return new $C.IfcUnitaryEquipmentType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},728799441:function(e,t){return new $C.IfcValveType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},2769231204:function(e,t){return new $C.IfcVirtualElement(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},1898987631:function(e,t){return new $C.IfcWallType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},1133259667:function(e,t){return new $C.IfcWasteTerminalType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},1028945134:function(e,t){return new $C.IfcWorkControl(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12],t[13],t[14])},4218914973:function(e,t){return new $C.IfcWorkPlan(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12],t[13],t[14])},3342526732:function(e,t){return new $C.IfcWorkSchedule(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12],t[13],t[14])},1033361043:function(e,t){return new $C.IfcZone(e,t[0],t[1],t[2],t[3],t[4])},1213861670:function(e,t){return new $C.Ifc2DCompositeCurve(e,t[0],t[1])},3821786052:function(e,t){return new $C.IfcActionRequest(e,t[0],t[1],t[2],t[3],t[4],t[5])},1411407467:function(e,t){return new $C.IfcAirTerminalBoxType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},3352864051:function(e,t){return new $C.IfcAirTerminalType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},1871374353:function(e,t){return new $C.IfcAirToAirHeatRecoveryType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},2470393545:function(e,t){return new $C.IfcAngularDimension(e,t[0])},3460190687:function(e,t){return new $C.IfcAsset(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12],t[13])},1967976161:function(e,t){return new $C.IfcBSplineCurve(e,t[0],t[1],t[2],t[3],t[4])},819618141:function(e,t){return new $C.IfcBeamType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},1916977116:function(e,t){return new $C.IfcBezierCurve(e,t[0],t[1],t[2],t[3],t[4])},231477066:function(e,t){return new $C.IfcBoilerType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},3299480353:function(e,t){return new $C.IfcBuildingElement(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},52481810:function(e,t){return new $C.IfcBuildingElementComponent(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},2979338954:function(e,t){return new $C.IfcBuildingElementPart(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},1095909175:function(e,t){return new $C.IfcBuildingElementProxy(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},1909888760:function(e,t){return new $C.IfcBuildingElementProxyType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},395041908:function(e,t){return new $C.IfcCableCarrierFittingType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},3293546465:function(e,t){return new $C.IfcCableCarrierSegmentType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},1285652485:function(e,t){return new $C.IfcCableSegmentType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},2951183804:function(e,t){return new $C.IfcChillerType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},2611217952:function(e,t){return new $C.IfcCircle(e,t[0],t[1])},2301859152:function(e,t){return new $C.IfcCoilType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},843113511:function(e,t){return new $C.IfcColumn(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},3850581409:function(e,t){return new $C.IfcCompressorType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},2816379211:function(e,t){return new $C.IfcCondenserType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},2188551683:function(e,t){return new $C.IfcCondition(e,t[0],t[1],t[2],t[3],t[4])},1163958913:function(e,t){return new $C.IfcConditionCriterion(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6])},3898045240:function(e,t){return new $C.IfcConstructionEquipmentResource(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},1060000209:function(e,t){return new $C.IfcConstructionMaterialResource(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10])},488727124:function(e,t){return new $C.IfcConstructionProductResource(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},335055490:function(e,t){return new $C.IfcCooledBeamType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},2954562838:function(e,t){return new $C.IfcCoolingTowerType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},1973544240:function(e,t){return new $C.IfcCovering(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},3495092785:function(e,t){return new $C.IfcCurtainWall(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},3961806047:function(e,t){return new $C.IfcDamperType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},4147604152:function(e,t){return new $C.IfcDiameterDimension(e,t[0])},1335981549:function(e,t){return new $C.IfcDiscreteAccessory(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},2635815018:function(e,t){return new $C.IfcDiscreteAccessoryType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},1599208980:function(e,t){return new $C.IfcDistributionChamberElementType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},2063403501:function(e,t){return new $C.IfcDistributionControlElementType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},1945004755:function(e,t){return new $C.IfcDistributionElement(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},3040386961:function(e,t){return new $C.IfcDistributionFlowElement(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},3041715199:function(e,t){return new $C.IfcDistributionPort(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},395920057:function(e,t){return new $C.IfcDoor(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},869906466:function(e,t){return new $C.IfcDuctFittingType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},3760055223:function(e,t){return new $C.IfcDuctSegmentType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},2030761528:function(e,t){return new $C.IfcDuctSilencerType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},855621170:function(e,t){return new $C.IfcEdgeFeature(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},663422040:function(e,t){return new $C.IfcElectricApplianceType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},3277789161:function(e,t){return new $C.IfcElectricFlowStorageDeviceType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},1534661035:function(e,t){return new $C.IfcElectricGeneratorType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},1365060375:function(e,t){return new $C.IfcElectricHeaterType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},1217240411:function(e,t){return new $C.IfcElectricMotorType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},712377611:function(e,t){return new $C.IfcElectricTimeControlType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},1634875225:function(e,t){return new $C.IfcElectricalCircuit(e,t[0],t[1],t[2],t[3],t[4])},857184966:function(e,t){return new $C.IfcElectricalElement(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},1658829314:function(e,t){return new $C.IfcEnergyConversionDevice(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},346874300:function(e,t){return new $C.IfcFanType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},1810631287:function(e,t){return new $C.IfcFilterType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},4222183408:function(e,t){return new $C.IfcFireSuppressionTerminalType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},2058353004:function(e,t){return new $C.IfcFlowController(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},4278956645:function(e,t){return new $C.IfcFlowFitting(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},4037862832:function(e,t){return new $C.IfcFlowInstrumentType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},3132237377:function(e,t){return new $C.IfcFlowMovingDevice(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},987401354:function(e,t){return new $C.IfcFlowSegment(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},707683696:function(e,t){return new $C.IfcFlowStorageDevice(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},2223149337:function(e,t){return new $C.IfcFlowTerminal(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},3508470533:function(e,t){return new $C.IfcFlowTreatmentDevice(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},900683007:function(e,t){return new $C.IfcFooting(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},1073191201:function(e,t){return new $C.IfcMember(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},1687234759:function(e,t){return new $C.IfcPile(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},3171933400:function(e,t){return new $C.IfcPlate(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},2262370178:function(e,t){return new $C.IfcRailing(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},3024970846:function(e,t){return new $C.IfcRamp(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},3283111854:function(e,t){return new $C.IfcRampFlight(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},3055160366:function(e,t){return new $C.IfcRationalBezierCurve(e,t[0],t[1],t[2],t[3],t[4],t[5])},3027567501:function(e,t){return new $C.IfcReinforcingElement(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},2320036040:function(e,t){return new $C.IfcReinforcingMesh(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12],t[13],t[14],t[15],t[16])},2016517767:function(e,t){return new $C.IfcRoof(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},1376911519:function(e,t){return new $C.IfcRoundedEdgeFeature(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},1783015770:function(e,t){return new $C.IfcSensorType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},1529196076:function(e,t){return new $C.IfcSlab(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},331165859:function(e,t){return new $C.IfcStair(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},4252922144:function(e,t){return new $C.IfcStairFlight(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11])},2515109513:function(e,t){return new $C.IfcStructuralAnalysisModel(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},3824725483:function(e,t){return new $C.IfcTendon(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12],t[13],t[14],t[15],t[16])},2347447852:function(e,t){return new $C.IfcTendonAnchor(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},3313531582:function(e,t){return new $C.IfcVibrationIsolatorType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},2391406946:function(e,t){return new $C.IfcWall(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},3512223829:function(e,t){return new $C.IfcWallStandardCase(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},3304561284:function(e,t){return new $C.IfcWindow(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},2874132201:function(e,t){return new $C.IfcActuatorType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},3001207471:function(e,t){return new $C.IfcAlarmType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},753842376:function(e,t){return new $C.IfcBeam(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},2454782716:function(e,t){return new $C.IfcChamferEdgeFeature(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10])},578613899:function(e,t){return new $C.IfcControllerType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},1052013943:function(e,t){return new $C.IfcDistributionChamberElement(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},1062813311:function(e,t){return new $C.IfcDistributionControlElement(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},3700593921:function(e,t){return new $C.IfcElectricDistributionPoint(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},979691226:function(e,t){return new $C.IfcReinforcingBar(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12],t[13])}},Q_[1]={3630933823:function(e){return[e.Role,e.UserDefinedRole,e.Description]},618182010:function(e){return[e.Purpose,e.Description,e.UserDefinedPurpose]},639542469:function(e){return[e.ApplicationDeveloper,e.Version,e.ApplicationFullName,e.ApplicationIdentifier]},411424972:function(e){return[e.Name,e.Description,e.AppliedValue,e.UnitBasis,e.ApplicableDate,e.FixedUntilDate]},1110488051:function(e){return[e.ComponentOfTotal,e.Components,e.ArithmeticOperator,e.Name,e.Description]},130549933:function(e){return[e.Description,e.ApprovalDateTime,e.ApprovalStatus,e.ApprovalLevel,e.ApprovalQualifier,e.Name,e.Identifier]},2080292479:function(e){return[e.Actor,e.Approval,e.Role]},390851274:function(e){return[e.ApprovedProperties,e.Approval]},3869604511:function(e){return[e.RelatedApproval,e.RelatingApproval,e.Description,e.Name]},4037036970:function(e){return[e.Name]},1560379544:function(e){return[e.Name,e.LinearStiffnessByLengthX,e.LinearStiffnessByLengthY,e.LinearStiffnessByLengthZ,e.RotationalStiffnessByLengthX,e.RotationalStiffnessByLengthY,e.RotationalStiffnessByLengthZ]},3367102660:function(e){return[e.Name,e.LinearStiffnessByAreaX,e.LinearStiffnessByAreaY,e.LinearStiffnessByAreaZ]},1387855156:function(e){return[e.Name,e.LinearStiffnessX,e.LinearStiffnessY,e.LinearStiffnessZ,e.RotationalStiffnessX,e.RotationalStiffnessY,e.RotationalStiffnessZ]},2069777674:function(e){return[e.Name,e.LinearStiffnessX,e.LinearStiffnessY,e.LinearStiffnessZ,e.RotationalStiffnessX,e.RotationalStiffnessY,e.RotationalStiffnessZ,e.WarpingStiffness]},622194075:function(e){return[e.DayComponent,e.MonthComponent,e.YearComponent]},747523909:function(e){return[e.Source,e.Edition,e.EditionDate,e.Name]},1767535486:function(e){return[e.Notation,e.ItemOf,e.Title]},1098599126:function(e){return[e.RelatingItem,e.RelatedItems]},938368621:function(e){return[e.NotationFacets]},3639012971:function(e){return[e.NotationValue]},3264961684:function(e){return[e.Name]},2859738748:function(e){return[]},2614616156:function(e){return[e.PointOnRelatingElement,e.PointOnRelatedElement]},4257277454:function(e){return[e.LocationAtRelatingElement,e.LocationAtRelatedElement,e.ProfileOfPort]},2732653382:function(e){return[e.SurfaceOnRelatingElement,e.SurfaceOnRelatedElement]},1959218052:function(e){return[e.Name,e.Description,e.ConstraintGrade,e.ConstraintSource,e.CreatingActor,e.CreationTime,e.UserDefinedGrade]},1658513725:function(e){return[e.Name,e.Description,e.RelatingConstraint,e.RelatedConstraints,e.LogicalAggregator]},613356794:function(e){return[e.ClassifiedConstraint,e.RelatedClassifications]},347226245:function(e){return[e.Name,e.Description,e.RelatingConstraint,e.RelatedConstraints]},1065062679:function(e){return[e.HourOffset,e.MinuteOffset,e.Sense]},602808272:function(e){return[e.Name,e.Description,e.AppliedValue,e.UnitBasis,e.ApplicableDate,e.FixedUntilDate,e.CostType,e.Condition]},539742890:function(e){return[e.RelatingMonetaryUnit,e.RelatedMonetaryUnit,e.ExchangeRate,e.RateDateTime,e.RateSource]},1105321065:function(e){return[e.Name,e.PatternList]},2367409068:function(e){return[e.Name,e.CurveFont,e.CurveFontScaling]},3510044353:function(e){return[e.VisibleSegmentLength,e.InvisibleSegmentLength]},1072939445:function(e){return[e.DateComponent,e.TimeComponent]},1765591967:function(e){return[e.Elements,e.UnitType,e.UserDefinedType]},1045800335:function(e){return[e.Unit,e.Exponent]},2949456006:function(e){return[e.LengthExponent,e.MassExponent,e.TimeExponent,e.ElectricCurrentExponent,e.ThermodynamicTemperatureExponent,e.AmountOfSubstanceExponent,e.LuminousIntensityExponent]},1376555844:function(e){return[e.FileExtension,e.MimeContentType,e.MimeSubtype]},1154170062:function(e){return[e.DocumentId,e.Name,e.Description,e.DocumentReferences,e.Purpose,e.IntendedUse,e.Scope,e.Revision,e.DocumentOwner,e.Editors,e.CreationTime,e.LastRevisionTime,e.ElectronicFormat,e.ValidFrom,e.ValidUntil,e.Confidentiality,e.Status]},770865208:function(e){return[e.RelatingDocument,e.RelatedDocuments,e.RelationshipType]},3796139169:function(e){return[e.Name,e.Description,e.RelatingDraughtingCallout,e.RelatedDraughtingCallout]},1648886627:function(e){return[e.Name,e.Description,e.AppliedValue,e.UnitBasis,e.ApplicableDate,e.FixedUntilDate,e.ImpactType,e.Category,e.UserDefinedCategory]},3200245327:function(e){return[e.Location,e.ItemReference,e.Name]},2242383968:function(e){return[e.Location,e.ItemReference,e.Name]},1040185647:function(e){return[e.Location,e.ItemReference,e.Name]},3207319532:function(e){return[e.Location,e.ItemReference,e.Name]},3548104201:function(e){return[e.Location,e.ItemReference,e.Name]},852622518:function(e){var t;return[e.AxisTag,e.AxisCurve,null==(t=e.SameSense)?void 0:t.toString()]},3020489413:function(e){return[e.TimeStamp,e.ListValues.map((function(e){return Y_(e)}))]},2655187982:function(e){return[e.Name,e.Version,e.Publisher,e.VersionDate,e.LibraryReference]},3452421091:function(e){return[e.Location,e.ItemReference,e.Name]},4162380809:function(e){return[e.MainPlaneAngle,e.SecondaryPlaneAngle,e.LuminousIntensity]},1566485204:function(e){return[e.LightDistributionCurve,e.DistributionData]},30780891:function(e){return[e.HourComponent,e.MinuteComponent,e.SecondComponent,e.Zone,e.DaylightSavingOffset]},1838606355:function(e){return[e.Name]},1847130766:function(e){return[e.MaterialClassifications,e.ClassifiedMaterial]},248100487:function(e){var t;return[e.Material,e.LayerThickness,null==(t=e.IsVentilated)?void 0:t.toString()]},3303938423:function(e){return[e.MaterialLayers,e.LayerSetName]},1303795690:function(e){return[e.ForLayerSet,e.LayerSetDirection,e.DirectionSense,e.OffsetFromReferenceLine]},2199411900:function(e){return[e.Materials]},3265635763:function(e){return[e.Material]},2597039031:function(e){return[Y_(e.ValueComponent),e.UnitComponent]},4256014907:function(e){return[e.Material,e.DynamicViscosity,e.YoungModulus,e.ShearModulus,e.PoissonRatio,e.ThermalExpansionCoefficient]},677618848:function(e){return[e.Material,e.DynamicViscosity,e.YoungModulus,e.ShearModulus,e.PoissonRatio,e.ThermalExpansionCoefficient,e.YieldStress,e.UltimateStress,e.UltimateStrain,e.HardeningModule,e.ProportionalStress,e.PlasticStrain,e.Relaxations]},3368373690:function(e){return[e.Name,e.Description,e.ConstraintGrade,e.ConstraintSource,e.CreatingActor,e.CreationTime,e.UserDefinedGrade,e.Benchmark,e.ValueSource,e.DataValue]},2706619895:function(e){return[e.Currency]},1918398963:function(e){return[e.Dimensions,e.UnitType]},3701648758:function(e){return[]},2251480897:function(e){return[e.Name,e.Description,e.ConstraintGrade,e.ConstraintSource,e.CreatingActor,e.CreationTime,e.UserDefinedGrade,e.BenchmarkValues,e.ResultValues,e.ObjectiveQualifier,e.UserDefinedQualifier]},1227763645:function(e){return[e.Material,e.VisibleTransmittance,e.SolarTransmittance,e.ThermalIrTransmittance,e.ThermalIrEmissivityBack,e.ThermalIrEmissivityFront,e.VisibleReflectanceBack,e.VisibleReflectanceFront,e.SolarReflectanceFront,e.SolarReflectanceBack]},4251960020:function(e){return[e.Id,e.Name,e.Description,e.Roles,e.Addresses]},1411181986:function(e){return[e.Name,e.Description,e.RelatingOrganization,e.RelatedOrganizations]},1207048766:function(e){return[e.OwningUser,e.OwningApplication,e.State,e.ChangeAction,e.LastModifiedDate,e.LastModifyingUser,e.LastModifyingApplication,e.CreationDate]},2077209135:function(e){return[e.Id,e.FamilyName,e.GivenName,e.MiddleNames,e.PrefixTitles,e.SuffixTitles,e.Roles,e.Addresses]},101040310:function(e){return[e.ThePerson,e.TheOrganization,e.Roles]},2483315170:function(e){return[e.Name,e.Description]},2226359599:function(e){return[e.Name,e.Description,e.Unit]},3355820592:function(e){return[e.Purpose,e.Description,e.UserDefinedPurpose,e.InternalLocation,e.AddressLines,e.PostalBox,e.Town,e.Region,e.PostalCode,e.Country]},3727388367:function(e){return[e.Name]},990879717:function(e){return[e.Name]},3213052703:function(e){return[e.Name]},1775413392:function(e){return[e.Name]},2022622350:function(e){return[e.Name,e.Description,e.AssignedItems,e.Identifier]},1304840413:function(e){return[e.Name,e.Description,e.AssignedItems,e.Identifier,e.LayerOn,e.LayerFrozen,e.LayerBlocked,e.LayerStyles]},3119450353:function(e){return[e.Name]},2417041796:function(e){return[e.Styles]},2095639259:function(e){return[e.Name,e.Description,e.Representations]},2267347899:function(e){return[e.Material,e.SpecificHeatCapacity,e.N20Content,e.COContent,e.CO2Content]},3958567839:function(e){return[e.ProfileType,e.ProfileName]},2802850158:function(e){return[e.ProfileName,e.ProfileDefinition]},2598011224:function(e){return[e.Name,e.Description]},3896028662:function(e){return[e.RelatingConstraint,e.RelatedProperties,e.Name,e.Description]},148025276:function(e){return[e.DependingProperty,e.DependantProperty,e.Name,e.Description,e.Expression]},3710013099:function(e){return[e.Name,e.EnumerationValues.map((function(e){return Y_(e)})),e.Unit]},2044713172:function(e){return[e.Name,e.Description,e.Unit,e.AreaValue]},2093928680:function(e){return[e.Name,e.Description,e.Unit,e.CountValue]},931644368:function(e){return[e.Name,e.Description,e.Unit,e.LengthValue]},3252649465:function(e){return[e.Name,e.Description,e.Unit,e.TimeValue]},2405470396:function(e){return[e.Name,e.Description,e.Unit,e.VolumeValue]},825690147:function(e){return[e.Name,e.Description,e.Unit,e.WeightValue]},2692823254:function(e){return[e.ReferencedDocument,e.ReferencingValues,e.Name,e.Description]},1580146022:function(e){return[e.TotalCrossSectionArea,e.SteelGrade,e.BarSurface,e.EffectiveDepth,e.NominalBarDiameter,e.BarCount]},1222501353:function(e){return[e.RelaxationValue,e.InitialStress]},1076942058:function(e){return[e.ContextOfItems,e.RepresentationIdentifier,e.RepresentationType,e.Items]},3377609919:function(e){return[e.ContextIdentifier,e.ContextType]},3008791417:function(e){return[]},1660063152:function(e){return[e.MappingOrigin,e.MappedRepresentation]},3679540991:function(e){return[e.ProfileName,e.ProfileDefinition,e.Thickness,e.RibHeight,e.RibWidth,e.RibSpacing,e.Direction]},2341007311:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description]},448429030:function(e){return[e.Dimensions,e.UnitType,e.Prefix,e.Name]},2042790032:function(e){return[e.SectionType,e.StartProfile,e.EndProfile]},4165799628:function(e){return[e.LongitudinalStartPosition,e.LongitudinalEndPosition,e.TransversePosition,e.ReinforcementRole,e.SectionDefinition,e.CrossSectionReinforcementDefinitions]},867548509:function(e){return[e.ShapeRepresentations,e.Name,e.Description,e.ProductDefinitional,e.PartOfProductDefinitionShape]},3982875396:function(e){return[e.ContextOfItems,e.RepresentationIdentifier,e.RepresentationType,e.Items]},4240577450:function(e){return[e.ContextOfItems,e.RepresentationIdentifier,e.RepresentationType,e.Items]},3692461612:function(e){return[e.Name,e.Description]},2273995522:function(e){return[e.Name]},2162789131:function(e){return[e.Name]},2525727697:function(e){return[e.Name]},3408363356:function(e){return[e.Name,e.DeltaT_Constant,e.DeltaT_Y,e.DeltaT_Z]},2830218821:function(e){return[e.ContextOfItems,e.RepresentationIdentifier,e.RepresentationType,e.Items]},3958052878:function(e){return[e.Item,e.Styles,e.Name]},3049322572:function(e){return[e.ContextOfItems,e.RepresentationIdentifier,e.RepresentationType,e.Items]},1300840506:function(e){return[e.Name,e.Side,e.Styles]},3303107099:function(e){return[e.DiffuseTransmissionColour,e.DiffuseReflectionColour,e.TransmissionColour,e.ReflectanceColour]},1607154358:function(e){return[e.RefractionIndex,e.DispersionFactor]},846575682:function(e){return[e.SurfaceColour]},1351298697:function(e){return[e.Textures]},626085974:function(e){return[e.RepeatS,e.RepeatT,e.TextureType,e.TextureTransform]},1290481447:function(e){return[e.Name,Y_(e.StyleOfSymbol)]},985171141:function(e){return[e.Name,e.Rows]},531007025:function(e){return[e.RowCells.map((function(e){return Y_(e)})),e.IsHeading]},912023232:function(e){return[e.Purpose,e.Description,e.UserDefinedPurpose,e.TelephoneNumbers,e.FacsimileNumbers,e.PagerNumber,e.ElectronicMailAddresses,e.WWWHomePageURL]},1447204868:function(e){return[e.Name,e.TextCharacterAppearance,e.TextStyle,e.TextFontStyle]},1983826977:function(e){return[e.Name,e.FontFamily,e.FontStyle,e.FontVariant,e.FontWeight,Y_(e.FontSize)]},2636378356:function(e){return[e.Colour,e.BackgroundColour]},1640371178:function(e){return[e.TextIndent?Y_(e.TextIndent):null,e.TextAlign,e.TextDecoration,e.LetterSpacing?Y_(e.LetterSpacing):null,e.WordSpacing?Y_(e.WordSpacing):null,e.TextTransform,e.LineHeight?Y_(e.LineHeight):null]},1484833681:function(e){return[e.BoxHeight,e.BoxWidth,e.BoxSlantAngle,e.BoxRotateAngle,e.CharacterSpacing?Y_(e.CharacterSpacing):null]},280115917:function(e){return[]},1742049831:function(e){return[e.Mode,e.Parameter.map((function(e){return Y_(e)}))]},2552916305:function(e){return[e.TextureMaps]},1210645708:function(e){return[e.Coordinates]},3317419933:function(e){return[e.Material,e.SpecificHeatCapacity,e.BoilingPoint,e.FreezingPoint,e.ThermalConductivity]},3101149627:function(e){return[e.Name,e.Description,e.StartTime,e.EndTime,e.TimeSeriesDataType,e.DataOrigin,e.UserDefinedDataOrigin,e.Unit]},1718945513:function(e){return[e.ReferencedTimeSeries,e.TimeSeriesReferences]},581633288:function(e){return[e.ListValues.map((function(e){return Y_(e)}))]},1377556343:function(e){return[]},1735638870:function(e){return[e.ContextOfItems,e.RepresentationIdentifier,e.RepresentationType,e.Items]},180925521:function(e){return[e.Units]},2799835756:function(e){return[]},3304826586:function(e){return[e.TextureVertices,e.TexturePoints]},1907098498:function(e){return[e.VertexGeometry]},891718957:function(e){return[e.IntersectingAxes,e.OffsetDistances]},1065908215:function(e){return[e.Material,e.IsPotable,e.Hardness,e.AlkalinityConcentration,e.AcidityConcentration,e.ImpuritiesContent,e.PHLevel,e.DissolvedSolidsContent]},2442683028:function(e){return[e.Item,e.Styles,e.Name]},962685235:function(e){return[e.Item,e.Styles,e.Name]},3612888222:function(e){return[e.Item,e.Styles,e.Name]},2297822566:function(e){return[e.Item,e.Styles,e.Name]},3798115385:function(e){return[e.ProfileType,e.ProfileName,e.OuterCurve]},1310608509:function(e){return[e.ProfileType,e.ProfileName,e.Curve]},2705031697:function(e){return[e.ProfileType,e.ProfileName,e.OuterCurve,e.InnerCurves]},616511568:function(e){return[e.RepeatS,e.RepeatT,e.TextureType,e.TextureTransform,e.RasterFormat,e.RasterCode]},3150382593:function(e){return[e.ProfileType,e.ProfileName,e.Curve,e.Thickness]},647927063:function(e){return[e.Location,e.ItemReference,e.Name,e.ReferencedSource]},776857604:function(e){return[e.Name,e.Red,e.Green,e.Blue]},2542286263:function(e){return[e.Name,e.Description,e.UsageName,e.HasProperties]},1485152156:function(e){return[e.ProfileType,e.ProfileName,e.Profiles,e.Label]},370225590:function(e){return[e.CfsFaces]},1981873012:function(e){return[e.CurveOnRelatingElement,e.CurveOnRelatedElement]},45288368:function(e){return[e.PointOnRelatingElement,e.PointOnRelatedElement,e.EccentricityInX,e.EccentricityInY,e.EccentricityInZ]},3050246964:function(e){return[e.Dimensions,e.UnitType,e.Name]},2889183280:function(e){return[e.Dimensions,e.UnitType,e.Name,e.ConversionFactor]},3800577675:function(e){return[e.Name,e.CurveFont,e.CurveWidth?Y_(e.CurveWidth):null,e.CurveColour]},3632507154:function(e){return[e.ProfileType,e.ProfileName,e.ParentProfile,e.Operator,e.Label]},2273265877:function(e){return[e.Name,e.Description,e.RelatingDraughtingCallout,e.RelatedDraughtingCallout]},1694125774:function(e){return[e.Name,e.Description,e.RelatingDraughtingCallout,e.RelatedDraughtingCallout]},3732053477:function(e){return[e.Location,e.ItemReference,e.Name]},4170525392:function(e){return[e.Name]},3900360178:function(e){return[e.EdgeStart,e.EdgeEnd]},476780140:function(e){return[e.EdgeStart,e.EdgeEnd,e.EdgeGeometry,e.SameSense]},1860660968:function(e){return[e.Material,e.ExtendedProperties,e.Description,e.Name]},2556980723:function(e){return[e.Bounds]},1809719519:function(e){return[e.Bound,e.Orientation]},803316827:function(e){return[e.Bound,e.Orientation]},3008276851:function(e){return[e.Bounds,e.FaceSurface,e.SameSense]},4219587988:function(e){return[e.Name,e.TensionFailureX,e.TensionFailureY,e.TensionFailureZ,e.CompressionFailureX,e.CompressionFailureY,e.CompressionFailureZ]},738692330:function(e){return[e.Name,e.FillStyles]},3857492461:function(e){return[e.Material,e.CombustionTemperature,e.CarbonContent,e.LowerHeatingValue,e.HigherHeatingValue]},803998398:function(e){return[e.Material,e.MolecularWeight,e.Porosity,e.MassDensity]},1446786286:function(e){return[e.ProfileName,e.ProfileDefinition,e.PhysicalWeight,e.Perimeter,e.MinimumPlateThickness,e.MaximumPlateThickness,e.CrossSectionArea]},3448662350:function(e){return[e.ContextIdentifier,e.ContextType,e.CoordinateSpaceDimension,e.Precision,e.WorldCoordinateSystem,e.TrueNorth]},2453401579:function(e){return[]},4142052618:function(e){return[e.ContextIdentifier,e.ContextType,e.CoordinateSpaceDimension,e.Precision,e.WorldCoordinateSystem,e.TrueNorth,e.ParentContext,e.TargetScale,e.TargetView,e.UserDefinedTargetView]},3590301190:function(e){return[e.Elements]},178086475:function(e){return[e.PlacementLocation,e.PlacementRefDirection]},812098782:function(e){return[e.BaseSurface,e.AgreementFlag]},2445078500:function(e){return[e.Material,e.UpperVaporResistanceFactor,e.LowerVaporResistanceFactor,e.IsothermalMoistureCapacity,e.VaporPermeability,e.MoistureDiffusivity]},3905492369:function(e){return[e.RepeatS,e.RepeatT,e.TextureType,e.TextureTransform,e.UrlReference]},3741457305:function(e){return[e.Name,e.Description,e.StartTime,e.EndTime,e.TimeSeriesDataType,e.DataOrigin,e.UserDefinedDataOrigin,e.Unit,e.Values]},1402838566:function(e){return[e.Name,e.LightColour,e.AmbientIntensity,e.Intensity]},125510826:function(e){return[e.Name,e.LightColour,e.AmbientIntensity,e.Intensity]},2604431987:function(e){return[e.Name,e.LightColour,e.AmbientIntensity,e.Intensity,e.Orientation]},4266656042:function(e){return[e.Name,e.LightColour,e.AmbientIntensity,e.Intensity,e.Position,e.ColourAppearance,e.ColourTemperature,e.LuminousFlux,e.LightEmissionSource,e.LightDistributionDataSource]},1520743889:function(e){return[e.Name,e.LightColour,e.AmbientIntensity,e.Intensity,e.Position,e.Radius,e.ConstantAttenuation,e.DistanceAttenuation,e.QuadricAttenuation]},3422422726:function(e){return[e.Name,e.LightColour,e.AmbientIntensity,e.Intensity,e.Position,e.Radius,e.ConstantAttenuation,e.DistanceAttenuation,e.QuadricAttenuation,e.Orientation,e.ConcentrationExponent,e.SpreadAngle,e.BeamWidthAngle]},2624227202:function(e){return[e.PlacementRelTo,e.RelativePlacement]},1008929658:function(e){return[]},2347385850:function(e){return[e.MappingSource,e.MappingTarget]},2022407955:function(e){return[e.Name,e.Description,e.Representations,e.RepresentedMaterial]},1430189142:function(e){return[e.Material,e.DynamicViscosity,e.YoungModulus,e.ShearModulus,e.PoissonRatio,e.ThermalExpansionCoefficient,e.CompressiveStrength,e.MaxAggregateSize,e.AdmixturesDescription,e.Workability,e.ProtectivePoreRatio,e.WaterImpermeability]},219451334:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description]},2833995503:function(e){return[e.RepeatFactor]},2665983363:function(e){return[e.CfsFaces]},1029017970:function(e){return[e.EdgeStart,e.EdgeEnd,e.EdgeElement,e.Orientation]},2529465313:function(e){return[e.ProfileType,e.ProfileName,e.Position]},2519244187:function(e){return[e.EdgeList]},3021840470:function(e){return[e.Name,e.Description,e.HasQuantities,e.Discrimination,e.Quality,e.Usage]},597895409:function(e){return[e.RepeatS,e.RepeatT,e.TextureType,e.TextureTransform,e.Width,e.Height,e.ColourComponents,e.Pixel]},2004835150:function(e){return[e.Location]},1663979128:function(e){return[e.SizeInX,e.SizeInY]},2067069095:function(e){return[]},4022376103:function(e){return[e.BasisCurve,e.PointParameter]},1423911732:function(e){return[e.BasisSurface,e.PointParameterU,e.PointParameterV]},2924175390:function(e){return[e.Polygon]},2775532180:function(e){return[e.BaseSurface,e.AgreementFlag,e.Position,e.PolygonalBoundary]},759155922:function(e){return[e.Name]},2559016684:function(e){return[e.Name]},433424934:function(e){return[e.Name]},179317114:function(e){return[e.Name]},673634403:function(e){return[e.Name,e.Description,e.Representations]},871118103:function(e){return[e.Name,e.Description,e.UpperBoundValue?Y_(e.UpperBoundValue):null,e.LowerBoundValue?Y_(e.LowerBoundValue):null,e.Unit]},1680319473:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description]},4166981789:function(e){return[e.Name,e.Description,e.EnumerationValues.map((function(e){return Y_(e)})),e.EnumerationReference]},2752243245:function(e){return[e.Name,e.Description,e.ListValues.map((function(e){return Y_(e)})),e.Unit]},941946838:function(e){return[e.Name,e.Description,e.UsageName,e.PropertyReference]},3357820518:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description]},3650150729:function(e){return[e.Name,e.Description,e.NominalValue?Y_(e.NominalValue):null,e.Unit]},110355661:function(e){return[e.Name,e.Description,e.DefiningValues.map((function(e){return Y_(e)})),e.DefinedValues.map((function(e){return Y_(e)})),e.Expression,e.DefiningUnit,e.DefinedUnit]},3615266464:function(e){return[e.ProfileType,e.ProfileName,e.Position,e.XDim,e.YDim]},3413951693:function(e){return[e.Name,e.Description,e.StartTime,e.EndTime,e.TimeSeriesDataType,e.DataOrigin,e.UserDefinedDataOrigin,e.Unit,e.TimeStep,e.Values]},3765753017:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.DefinitionType,e.ReinforcementSectionDefinitions]},478536968:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description]},2778083089:function(e){return[e.ProfileType,e.ProfileName,e.Position,e.XDim,e.YDim,e.RoundingRadius]},1509187699:function(e){return[e.SpineCurve,e.CrossSections,e.CrossSectionPositions]},2411513650:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.PredefinedType,e.UpperValue?Y_(e.UpperValue):null,Y_(e.MostUsedValue),e.LowerValue?Y_(e.LowerValue):null]},4124623270:function(e){return[e.SbsmBoundary]},2609359061:function(e){return[e.Name,e.SlippageX,e.SlippageY,e.SlippageZ]},723233188:function(e){return[]},2485662743:function(e){var t;return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,null==(t=e.IsAttenuating)?void 0:t.toString(),e.SoundScale,e.SoundValues]},1202362311:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.SoundLevelTimeSeries,e.Frequency,e.SoundLevelSingleValue?Y_(e.SoundLevelSingleValue):null]},390701378:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableValueRatio,e.ThermalLoadSource,e.PropertySource,e.SourceDescription,e.MaximumValue,e.MinimumValue,e.ThermalLoadTimeSeriesValues,e.UserDefinedThermalLoadSource,e.UserDefinedPropertySource,e.ThermalLoadType]},1595516126:function(e){return[e.Name,e.LinearForceX,e.LinearForceY,e.LinearForceZ,e.LinearMomentX,e.LinearMomentY,e.LinearMomentZ]},2668620305:function(e){return[e.Name,e.PlanarForceX,e.PlanarForceY,e.PlanarForceZ]},2473145415:function(e){return[e.Name,e.DisplacementX,e.DisplacementY,e.DisplacementZ,e.RotationalDisplacementRX,e.RotationalDisplacementRY,e.RotationalDisplacementRZ]},1973038258:function(e){return[e.Name,e.DisplacementX,e.DisplacementY,e.DisplacementZ,e.RotationalDisplacementRX,e.RotationalDisplacementRY,e.RotationalDisplacementRZ,e.Distortion]},1597423693:function(e){return[e.Name,e.ForceX,e.ForceY,e.ForceZ,e.MomentX,e.MomentY,e.MomentZ]},1190533807:function(e){return[e.Name,e.ForceX,e.ForceY,e.ForceZ,e.MomentX,e.MomentY,e.MomentZ,e.WarpingMoment]},3843319758:function(e){return[e.ProfileName,e.ProfileDefinition,e.PhysicalWeight,e.Perimeter,e.MinimumPlateThickness,e.MaximumPlateThickness,e.CrossSectionArea,e.TorsionalConstantX,e.MomentOfInertiaYZ,e.MomentOfInertiaY,e.MomentOfInertiaZ,e.WarpingConstant,e.ShearCentreZ,e.ShearCentreY,e.ShearDeformationAreaZ,e.ShearDeformationAreaY,e.MaximumSectionModulusY,e.MinimumSectionModulusY,e.MaximumSectionModulusZ,e.MinimumSectionModulusZ,e.TorsionalSectionModulus,e.CentreOfGravityInX,e.CentreOfGravityInY]},3653947884:function(e){return[e.ProfileName,e.ProfileDefinition,e.PhysicalWeight,e.Perimeter,e.MinimumPlateThickness,e.MaximumPlateThickness,e.CrossSectionArea,e.TorsionalConstantX,e.MomentOfInertiaYZ,e.MomentOfInertiaY,e.MomentOfInertiaZ,e.WarpingConstant,e.ShearCentreZ,e.ShearCentreY,e.ShearDeformationAreaZ,e.ShearDeformationAreaY,e.MaximumSectionModulusY,e.MinimumSectionModulusY,e.MaximumSectionModulusZ,e.MinimumSectionModulusZ,e.TorsionalSectionModulus,e.CentreOfGravityInX,e.CentreOfGravityInY,e.ShearAreaZ,e.ShearAreaY,e.PlasticShapeFactorY,e.PlasticShapeFactorZ]},2233826070:function(e){return[e.EdgeStart,e.EdgeEnd,e.ParentEdge]},2513912981:function(e){return[]},1878645084:function(e){return[e.SurfaceColour,e.Transparency,e.DiffuseColour,e.TransmissionColour,e.DiffuseTransmissionColour,e.ReflectionColour,e.SpecularColour,e.SpecularHighlight?Y_(e.SpecularHighlight):null,e.ReflectanceMethod]},2247615214:function(e){return[e.SweptArea,e.Position]},1260650574:function(e){return[e.Directrix,e.Radius,e.InnerRadius,e.StartParam,e.EndParam]},230924584:function(e){return[e.SweptCurve,e.Position]},3071757647:function(e){return[e.ProfileType,e.ProfileName,e.Position,e.Depth,e.FlangeWidth,e.WebThickness,e.FlangeThickness,e.FilletRadius,e.FlangeEdgeRadius,e.WebEdgeRadius,e.WebSlope,e.FlangeSlope,e.CentreOfGravityInY]},3028897424:function(e){return[e.Item,e.Styles,e.Name,e.AnnotatedCurve]},4282788508:function(e){return[e.Literal,e.Placement,e.Path]},3124975700:function(e){return[e.Literal,e.Placement,e.Path,e.Extent,e.BoxAlignment]},2715220739:function(e){return[e.ProfileType,e.ProfileName,e.Position,e.BottomXDim,e.TopXDim,e.YDim,e.TopXOffset]},1345879162:function(e){return[e.RepeatFactor,e.SecondRepeatFactor]},1628702193:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets]},2347495698:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag]},427810014:function(e){return[e.ProfileType,e.ProfileName,e.Position,e.Depth,e.FlangeWidth,e.WebThickness,e.FlangeThickness,e.FilletRadius,e.EdgeRadius,e.FlangeSlope,e.CentreOfGravityInX]},1417489154:function(e){return[e.Orientation,e.Magnitude]},2759199220:function(e){return[e.LoopVertex]},336235671:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.LiningDepth,e.LiningThickness,e.TransomThickness,e.MullionThickness,e.FirstTransomOffset,e.SecondTransomOffset,e.FirstMullionOffset,e.SecondMullionOffset,e.ShapeAspectStyle]},512836454:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.OperationType,e.PanelPosition,e.FrameDepth,e.FrameThickness,e.ShapeAspectStyle]},1299126871:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ConstructionType,e.OperationType,e.ParameterTakesPrecedence,e.Sizeable]},2543172580:function(e){return[e.ProfileType,e.ProfileName,e.Position,e.Depth,e.FlangeWidth,e.WebThickness,e.FlangeThickness,e.FilletRadius,e.EdgeRadius]},3288037868:function(e){return[e.Item,e.Styles,e.Name]},669184980:function(e){return[e.OuterBoundary,e.InnerBoundaries]},2265737646:function(e){return[e.Item,e.Styles,e.Name,e.FillStyleTarget,e.GlobalOrLocal]},1302238472:function(e){return[e.Item,e.TextureCoordinates]},4261334040:function(e){return[e.Location,e.Axis]},3125803723:function(e){return[e.Location,e.RefDirection]},2740243338:function(e){return[e.Location,e.Axis,e.RefDirection]},2736907675:function(e){return[e.Operator,e.FirstOperand,e.SecondOperand]},4182860854:function(e){return[]},2581212453:function(e){return[e.Corner,e.XDim,e.YDim,e.ZDim]},2713105998:function(e){return[e.BaseSurface,e.AgreementFlag,e.Enclosure]},2898889636:function(e){return[e.ProfileType,e.ProfileName,e.Position,e.Depth,e.Width,e.WallThickness,e.Girth,e.InternalFilletRadius,e.CentreOfGravityInX]},1123145078:function(e){return[e.Coordinates]},59481748:function(e){return[e.Axis1,e.Axis2,e.LocalOrigin,e.Scale]},3749851601:function(e){return[e.Axis1,e.Axis2,e.LocalOrigin,e.Scale]},3486308946:function(e){return[e.Axis1,e.Axis2,e.LocalOrigin,e.Scale,e.Scale2]},3331915920:function(e){return[e.Axis1,e.Axis2,e.LocalOrigin,e.Scale,e.Axis3]},1416205885:function(e){return[e.Axis1,e.Axis2,e.LocalOrigin,e.Scale,e.Axis3,e.Scale2,e.Scale3]},1383045692:function(e){return[e.ProfileType,e.ProfileName,e.Position,e.Radius]},2205249479:function(e){return[e.CfsFaces]},2485617015:function(e){return[e.Transition,e.SameSense,e.ParentCurve]},4133800736:function(e){return[e.ProfileType,e.ProfileName,e.Position,e.OverallHeight,e.BaseWidth2,e.Radius,e.HeadWidth,e.HeadDepth2,e.HeadDepth3,e.WebThickness,e.BaseWidth4,e.BaseDepth1,e.BaseDepth2,e.BaseDepth3,e.CentreOfGravityInY]},194851669:function(e){return[e.ProfileType,e.ProfileName,e.Position,e.OverallHeight,e.HeadWidth,e.Radius,e.HeadDepth2,e.HeadDepth3,e.WebThickness,e.BaseDepth1,e.BaseDepth2,e.CentreOfGravityInY]},2506170314:function(e){return[e.Position]},2147822146:function(e){return[e.TreeRootExpression]},2601014836:function(e){return[]},2827736869:function(e){return[e.BasisSurface,e.OuterBoundary,e.InnerBoundaries]},693772133:function(e){return[e.Definition,e.Target]},606661476:function(e){return[e.Item,e.Styles,e.Name]},4054601972:function(e){return[e.Item,e.Styles,e.Name,e.AnnotatedCurve,e.Role]},32440307:function(e){return[e.DirectionRatios]},2963535650:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.LiningDepth,e.LiningThickness,e.ThresholdDepth,e.ThresholdThickness,e.TransomThickness,e.TransomOffset,e.LiningOffset,e.ThresholdOffset,e.CasingThickness,e.CasingDepth,e.ShapeAspectStyle]},1714330368:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.PanelDepth,e.PanelOperation,e.PanelWidth,e.PanelPosition,e.ShapeAspectStyle]},526551008:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.OperationType,e.ConstructionType,e.ParameterTakesPrecedence,e.Sizeable]},3073041342:function(e){return[e.Contents]},445594917:function(e){return[e.Name]},4006246654:function(e){return[e.Name]},1472233963:function(e){return[e.EdgeList]},1883228015:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.MethodOfMeasurement,e.Quantities]},339256511:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType]},2777663545:function(e){return[e.Position]},2835456948:function(e){return[e.ProfileType,e.ProfileName,e.Position,e.SemiAxis1,e.SemiAxis2]},80994333:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.EnergySequence,e.UserDefinedEnergySequence]},477187591:function(e){return[e.SweptArea,e.Position,e.ExtrudedDirection,e.Depth]},2047409740:function(e){return[e.FbsmFaces]},374418227:function(e){return[e.HatchLineAppearance,e.StartOfNextHatchLine,e.PointOfReferenceHatchLine,e.PatternStart,e.HatchLineAngle]},4203026998:function(e){return[e.Symbol]},315944413:function(e){return[e.TilingPattern,e.Tiles,e.TilingScale]},3455213021:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.PropertySource,e.FlowConditionTimeSeries,e.VelocityTimeSeries,e.FlowrateTimeSeries,e.Fluid,e.PressureTimeSeries,e.UserDefinedPropertySource,e.TemperatureSingleValue,e.WetBulbTemperatureSingleValue,e.WetBulbTemperatureTimeSeries,e.TemperatureTimeSeries,e.FlowrateSingleValue?Y_(e.FlowrateSingleValue):null,e.FlowConditionSingleValue,e.VelocitySingleValue,e.PressureSingleValue]},4238390223:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType]},1268542332:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.AssemblyPlace]},987898635:function(e){return[e.Elements]},1484403080:function(e){return[e.ProfileType,e.ProfileName,e.Position,e.OverallWidth,e.OverallDepth,e.WebThickness,e.FlangeThickness,e.FilletRadius]},572779678:function(e){return[e.ProfileType,e.ProfileName,e.Position,e.Depth,e.Width,e.Thickness,e.FilletRadius,e.EdgeRadius,e.LegSlope,e.CentreOfGravityInX,e.CentreOfGravityInY]},1281925730:function(e){return[e.Pnt,e.Dir]},1425443689:function(e){return[e.Outer]},3888040117:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType]},3388369263:function(e){return[e.BasisCurve,e.Distance,e.SelfIntersect]},3505215534:function(e){return[e.BasisCurve,e.Distance,e.SelfIntersect,e.RefDirection]},3566463478:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.OperationType,e.PanelPosition,e.FrameDepth,e.FrameThickness,e.ShapeAspectStyle]},603570806:function(e){return[e.SizeInX,e.SizeInY,e.Placement]},220341763:function(e){return[e.Position]},2945172077:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType]},4208778838:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation]},103090709:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.LongName,e.Phase,e.RepresentationContexts,e.UnitsInContext]},4194566429:function(e){return[e.Item,e.Styles,e.Name]},1451395588:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.HasProperties]},3219374653:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.ProxyType,e.Tag]},2770003689:function(e){return[e.ProfileType,e.ProfileName,e.Position,e.XDim,e.YDim,e.WallThickness,e.InnerFilletRadius,e.OuterFilletRadius]},2798486643:function(e){return[e.Position,e.XLength,e.YLength,e.Height]},3454111270:function(e){return[e.BasisSurface,e.U1,e.V1,e.U2,e.V2,e.Usense,e.Vsense]},3939117080:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatedObjects,e.RelatedObjectsType]},1683148259:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatedObjects,e.RelatedObjectsType,e.RelatingActor,e.ActingRole]},2495723537:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatedObjects,e.RelatedObjectsType,e.RelatingControl]},1307041759:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatedObjects,e.RelatedObjectsType,e.RelatingGroup]},4278684876:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatedObjects,e.RelatedObjectsType,e.RelatingProcess,e.QuantityInProcess]},2857406711:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatedObjects,e.RelatedObjectsType,e.RelatingProduct]},3372526763:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatedObjects,e.RelatedObjectsType,e.RelatingControl]},205026976:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatedObjects,e.RelatedObjectsType,e.RelatingResource]},1865459582:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatedObjects]},1327628568:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatedObjects,e.RelatingAppliedValue]},4095574036:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatedObjects,e.RelatingApproval]},919958153:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatedObjects,e.RelatingClassification]},2728634034:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatedObjects,e.Intent,e.RelatingConstraint]},982818633:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatedObjects,e.RelatingDocument]},3840914261:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatedObjects,e.RelatingLibrary]},2655215786:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatedObjects,e.RelatingMaterial]},2851387026:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatedObjects,e.RelatingProfileProperties,e.ProfileSectionLocation,e.ProfileOrientation]},826625072:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description]},1204542856:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ConnectionGeometry,e.RelatingElement,e.RelatedElement]},3945020480:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ConnectionGeometry,e.RelatingElement,e.RelatedElement,e.RelatingPriorities,e.RelatedPriorities,e.RelatedConnectionType,e.RelatingConnectionType]},4201705270:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatingPort,e.RelatedElement]},3190031847:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatingPort,e.RelatedPort,e.RealizingElement]},2127690289:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatingElement,e.RelatedStructuralActivity]},3912681535:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatingElement,e.RelatedStructuralMember]},1638771189:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatingStructuralMember,e.RelatedStructuralConnection,e.AppliedCondition,e.AdditionalConditions,e.SupportedLength,e.ConditionCoordinateSystem]},504942748:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatingStructuralMember,e.RelatedStructuralConnection,e.AppliedCondition,e.AdditionalConditions,e.SupportedLength,e.ConditionCoordinateSystem,e.ConnectionConstraint]},3678494232:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ConnectionGeometry,e.RelatingElement,e.RelatedElement,e.RealizingElements,e.ConnectionType]},3242617779:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatedElements,e.RelatingStructure]},886880790:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatingBuildingElement,e.RelatedCoverings]},2802773753:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatedSpace,e.RelatedCoverings]},2551354335:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatingObject,e.RelatedObjects]},693640335:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatedObjects]},4186316022:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatedObjects,e.RelatingPropertyDefinition]},781010003:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatedObjects,e.RelatingType]},3940055652:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatingOpeningElement,e.RelatedBuildingElement]},279856033:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatedControlElements,e.RelatingFlowElement]},4189434867:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.DailyInteraction,e.ImportanceRating,e.LocationOfInteraction,e.RelatedSpaceProgram,e.RelatingSpaceProgram]},3268803585:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatingObject,e.RelatedObjects]},2051452291:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatedObjects,e.RelatedObjectsType,e.RelatingActor,e.ActingRole]},202636808:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatedObjects,e.RelatingPropertyDefinition,e.OverridingProperties]},750771296:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatingElement,e.RelatedFeatureElement]},1245217292:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatedElements,e.RelatingStructure]},1058617721:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatedObjects,e.RelatedObjectsType,e.RelatingControl]},4122056220:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatingProcess,e.RelatedProcess,e.TimeLag,e.SequenceType]},366585022:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatingSystem,e.RelatedBuildings]},3451746338:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatingSpace,e.RelatedBuildingElement,e.ConnectionGeometry,e.PhysicalOrVirtualBoundary,e.InternalOrExternalBoundary]},1401173127:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatingBuildingElement,e.RelatedOpeningElement]},2914609552:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType]},1856042241:function(e){return[e.SweptArea,e.Position,e.Axis,e.Angle]},4158566097:function(e){return[e.Position,e.Height,e.BottomRadius]},3626867408:function(e){return[e.Position,e.Height,e.Radius]},2706606064:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.LongName,e.CompositionType]},3893378262:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType]},451544542:function(e){return[e.Position,e.Radius]},3544373492:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.AppliedLoad,e.GlobalOrLocal]},3136571912:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation]},530289379:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation]},3689010777:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.AppliedLoad,e.GlobalOrLocal]},3979015343:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.PredefinedType,e.Thickness]},2218152070:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.PredefinedType,e.Thickness,e.SubsequentThickness,e.VaryingThicknessLocation]},4070609034:function(e){return[e.Contents]},2028607225:function(e){return[e.SweptArea,e.Position,e.Directrix,e.StartParam,e.EndParam,e.ReferenceSurface]},2809605785:function(e){return[e.SweptCurve,e.Position,e.ExtrudedDirection,e.Depth]},4124788165:function(e){return[e.SweptCurve,e.Position,e.AxisPosition]},1580310250:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType]},3473067441:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.TaskId,e.Status,e.WorkMethod,e.IsMilestone,e.Priority]},2097647324:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},2296667514:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.TheActor]},1674181508:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation]},3207858831:function(e){return[e.ProfileType,e.ProfileName,e.Position,e.OverallWidth,e.OverallDepth,e.WebThickness,e.FlangeThickness,e.FilletRadius,e.TopFlangeWidth,e.TopFlangeThickness,e.TopFlangeFilletRadius,e.CentreOfGravityInY]},1334484129:function(e){return[e.Position,e.XLength,e.YLength,e.ZLength]},3649129432:function(e){return[e.Operator,e.FirstOperand,e.SecondOperand]},1260505505:function(e){return[]},4031249490:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.LongName,e.CompositionType,e.ElevationOfRefHeight,e.ElevationOfTerrain,e.BuildingAddress]},1950629157:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType]},3124254112:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.LongName,e.CompositionType,e.Elevation]},2937912522:function(e){return[e.ProfileType,e.ProfileName,e.Position,e.Radius,e.WallThickness]},300633059:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},3732776249:function(e){return[e.Segments,e.SelfIntersect]},2510884976:function(e){return[e.Position]},2559216714:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ResourceIdentifier,e.ResourceGroup,e.ResourceConsumption,e.BaseQuantity]},3293443760:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType]},3895139033:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType]},1419761937:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.SubmittedBy,e.PreparedBy,e.SubmittedOn,e.Status,e.TargetUsers,e.UpdateDate,e.ID,e.PredefinedType]},1916426348:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},3295246426:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ResourceIdentifier,e.ResourceGroup,e.ResourceConsumption,e.BaseQuantity]},1457835157:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},681481545:function(e){return[e.Contents]},3256556792:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType]},3849074793:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType]},360485395:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.EnergySequence,e.UserDefinedEnergySequence,e.ElectricCurrentType,e.InputVoltage,e.InputFrequency,e.FullLoadCurrent,e.MinimumCircuitCurrent,e.MaximumPowerInput,e.RatedPowerInput,e.InputPhase]},1758889154:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag]},4123344466:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.AssemblyPlace,e.PredefinedType]},1623761950:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag]},2590856083:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType]},1704287377:function(e){return[e.Position,e.SemiAxis1,e.SemiAxis2]},2107101300:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType]},1962604670:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag]},3272907226:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType]},3174744832:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},3390157468:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},807026263:function(e){return[e.Outer]},3737207727:function(e){return[e.Outer,e.Voids]},647756555:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag]},2489546625:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType]},2827207264:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag]},2143335405:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag]},1287392070:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag]},3907093117:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType]},3198132628:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType]},3815607619:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},1482959167:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType]},1834744321:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType]},1339347760:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType]},2297155007:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType]},3009222698:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType]},263784265:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag]},814719939:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType]},200128114:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},3009204131:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.UAxes,e.VAxes,e.WAxes]},2706460486:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType]},1251058090:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},1806887404:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},2391368822:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.InventoryType,e.Jurisdiction,e.ResponsiblePersons,e.LastUpdateDate,e.CurrentValue,e.OriginalValue]},4288270099:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},3827777499:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ResourceIdentifier,e.ResourceGroup,e.ResourceConsumption,e.BaseQuantity,e.SkillSet]},1051575348:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},1161773419:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},2506943328:function(e){return[e.Contents]},377706215:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.NominalDiameter,e.NominalLength]},2108223431:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType]},3181161470:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},977012517:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},1916936684:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.TaskId,e.Status,e.WorkMethod,e.IsMilestone,e.Priority,e.MoveFrom,e.MoveTo,e.PunchList]},4143007308:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.TheActor,e.PredefinedType]},3588315303:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag]},3425660407:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.TaskId,e.Status,e.WorkMethod,e.IsMilestone,e.Priority,e.ActionID]},2837617999:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},2382730787:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.LifeCyclePhase]},3327091369:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.PermitID]},804291784:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},4231323485:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},4017108033:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},3724593414:function(e){return[e.Points]},3740093272:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation]},2744685151:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ProcedureID,e.ProcedureType,e.UserDefinedProcedureType]},2904328755:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ID,e.PredefinedType,e.Status]},3642467123:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.Records,e.PredefinedType]},3651124850:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag]},1842657554:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},2250791053:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},3248260540:function(e){return[e.Contents]},2893384427:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},2324767716:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},160246688:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatingObject,e.RelatedObjects]},2863920197:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatedObjects,e.RelatedObjectsType,e.RelatingControl,e.TimeForTask]},1768891740:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},3517283431:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ActualStart,e.EarlyStart,e.LateStart,e.ScheduleStart,e.ActualFinish,e.EarlyFinish,e.LateFinish,e.ScheduleFinish,e.ScheduleDuration,e.ActualDuration,e.RemainingTime,e.FreeFloat,e.TotalFloat,e.IsCritical,e.StatusTime,e.StartFloat,e.FinishFloat,e.Completion]},4105383287:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ServiceLifeType,e.ServiceLifeDuration]},4097777520:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.LongName,e.CompositionType,e.RefLatitude,e.RefLongitude,e.RefElevation,e.LandTitleNumber,e.SiteAddress]},2533589738:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},3856911033:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.LongName,e.CompositionType,e.InteriorOrExteriorSpace,e.ElevationWithFlooring]},1305183839:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},652456506:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.SpaceProgramIdentifier,e.MaxRequiredArea,e.MinRequiredArea,e.RequestedLocation,e.StandardRequiredArea]},3812236995:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},3112655638:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},1039846685:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},682877961:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.AppliedLoad,e.GlobalOrLocal,e.DestabilizingLoad,e.CausedBy]},1179482911:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.AppliedCondition]},4243806635:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.AppliedCondition]},214636428:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.PredefinedType]},2445595289:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.PredefinedType]},1807405624:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.AppliedLoad,e.GlobalOrLocal,e.DestabilizingLoad,e.CausedBy,e.ProjectedOrTrue]},1721250024:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.AppliedLoad,e.GlobalOrLocal,e.DestabilizingLoad,e.CausedBy,e.ProjectedOrTrue,e.VaryingAppliedLoadLocation,e.SubsequentAppliedLoads]},1252848954:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.PredefinedType,e.ActionType,e.ActionSource,e.Coefficient,e.Purpose]},1621171031:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.AppliedLoad,e.GlobalOrLocal,e.DestabilizingLoad,e.CausedBy,e.ProjectedOrTrue]},3987759626:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.AppliedLoad,e.GlobalOrLocal,e.DestabilizingLoad,e.CausedBy,e.ProjectedOrTrue,e.VaryingAppliedLoadLocation,e.SubsequentAppliedLoads]},2082059205:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.AppliedLoad,e.GlobalOrLocal,e.DestabilizingLoad,e.CausedBy]},734778138:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.AppliedCondition]},1235345126:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.AppliedLoad,e.GlobalOrLocal]},2986769608:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.TheoryType,e.ResultForLoadGroup,e.IsLinear]},1975003073:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.AppliedCondition]},148013059:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ResourceIdentifier,e.ResourceGroup,e.ResourceConsumption,e.BaseQuantity,e.SubContractor,e.JobDescription]},2315554128:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},2254336722:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType]},5716631:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},1637806684:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ApplicableDates,e.TimeSeriesScheduleType,e.TimeSeries]},1692211062:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},1620046519:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.OperationType,e.CapacityByWeight,e.CapacityByNumber]},3593883385:function(e){return[e.BasisCurve,e.Trim1,e.Trim2,e.SenseAgreement,e.MasterRepresentation]},1600972822:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},1911125066:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},728799441:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},2769231204:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag]},1898987631:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},1133259667:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},1028945134:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.Identifier,e.CreationDate,e.Creators,e.Purpose,e.Duration,e.TotalFloat,e.StartTime,e.FinishTime,e.WorkControlType,e.UserDefinedControlType]},4218914973:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.Identifier,e.CreationDate,e.Creators,e.Purpose,e.Duration,e.TotalFloat,e.StartTime,e.FinishTime,e.WorkControlType,e.UserDefinedControlType]},3342526732:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.Identifier,e.CreationDate,e.Creators,e.Purpose,e.Duration,e.TotalFloat,e.StartTime,e.FinishTime,e.WorkControlType,e.UserDefinedControlType]},1033361043:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType]},1213861670:function(e){return[e.Segments,e.SelfIntersect]},3821786052:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.RequestID]},1411407467:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},3352864051:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},1871374353:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},2470393545:function(e){return[e.Contents]},3460190687:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.AssetID,e.OriginalValue,e.CurrentValue,e.TotalReplacementCost,e.Owner,e.User,e.ResponsiblePerson,e.IncorporationDate,e.DepreciatedValue]},1967976161:function(e){return[e.Degree,e.ControlPointsList,e.CurveForm,e.ClosedCurve,e.SelfIntersect]},819618141:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},1916977116:function(e){return[e.Degree,e.ControlPointsList,e.CurveForm,e.ClosedCurve,e.SelfIntersect]},231477066:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},3299480353:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag]},52481810:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag]},2979338954:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag]},1095909175:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.CompositionType]},1909888760:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},395041908:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},3293546465:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},1285652485:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},2951183804:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},2611217952:function(e){return[e.Position,e.Radius]},2301859152:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},843113511:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag]},3850581409:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},2816379211:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},2188551683:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType]},1163958913:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.Criterion,e.CriterionDateTime]},3898045240:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ResourceIdentifier,e.ResourceGroup,e.ResourceConsumption,e.BaseQuantity]},1060000209:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ResourceIdentifier,e.ResourceGroup,e.ResourceConsumption,e.BaseQuantity,e.Suppliers,e.UsageRatio]},488727124:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ResourceIdentifier,e.ResourceGroup,e.ResourceConsumption,e.BaseQuantity]},335055490:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},2954562838:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},1973544240:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},3495092785:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag]},3961806047:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},4147604152:function(e){return[e.Contents]},1335981549:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag]},2635815018:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType]},1599208980:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},2063403501:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType]},1945004755:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag]},3040386961:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag]},3041715199:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.FlowDirection]},395920057:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.OverallHeight,e.OverallWidth]},869906466:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},3760055223:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},2030761528:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},855621170:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.FeatureLength]},663422040:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},3277789161:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},1534661035:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},1365060375:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},1217240411:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},712377611:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},1634875225:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType]},857184966:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag]},1658829314:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag]},346874300:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},1810631287:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},4222183408:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},2058353004:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag]},4278956645:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag]},4037862832:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},3132237377:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag]},987401354:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag]},707683696:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag]},2223149337:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag]},3508470533:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag]},900683007:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},1073191201:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag]},1687234759:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType,e.ConstructionType]},3171933400:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag]},2262370178:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},3024970846:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.ShapeType]},3283111854:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag]},3055160366:function(e){return[e.Degree,e.ControlPointsList,e.CurveForm,e.ClosedCurve,e.SelfIntersect,e.WeightsData]},3027567501:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.SteelGrade]},2320036040:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.SteelGrade,e.MeshLength,e.MeshWidth,e.LongitudinalBarNominalDiameter,e.TransverseBarNominalDiameter,e.LongitudinalBarCrossSectionArea,e.TransverseBarCrossSectionArea,e.LongitudinalBarSpacing,e.TransverseBarSpacing]},2016517767:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.ShapeType]},1376911519:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.FeatureLength,e.Radius]},1783015770:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},1529196076:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},331165859:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.ShapeType]},4252922144:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.NumberOfRiser,e.NumberOfTreads,e.RiserHeight,e.TreadLength]},2515109513:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.PredefinedType,e.OrientationOf2DPlane,e.LoadedBy,e.HasResults]},3824725483:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.SteelGrade,e.PredefinedType,e.NominalDiameter,e.CrossSectionArea,e.TensionForce,e.PreStress,e.FrictionCoefficient,e.AnchorageSlip,e.MinCurvatureRadius]},2347447852:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.SteelGrade]},3313531582:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},2391406946:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag]},3512223829:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag]},3304561284:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.OverallHeight,e.OverallWidth]},2874132201:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},3001207471:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},753842376:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag]},2454782716:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.FeatureLength,e.Width,e.Height]},578613899:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},1052013943:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag]},1062813311:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.ControlElementId]},3700593921:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.DistributionPointFunction,e.UserDefinedFunction]},979691226:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.SteelGrade,e.NominalDiameter,e.CrossSectionArea,e.BarLength,e.BarRole,e.BarSurface]}},W_[1]={3699917729:function(e){return new $C.IfcAbsorbedDoseMeasure(e)},4182062534:function(e){return new $C.IfcAccelerationMeasure(e)},360377573:function(e){return new $C.IfcAmountOfSubstanceMeasure(e)},632304761:function(e){return new $C.IfcAngularVelocityMeasure(e)},2650437152:function(e){return new $C.IfcAreaMeasure(e)},2735952531:function(e){return new $C.IfcBoolean(e)},1867003952:function(e){return new $C.IfcBoxAlignment(e)},2991860651:function(e){return new $C.IfcComplexNumber(e)},3812528620:function(e){return new $C.IfcCompoundPlaneAngleMeasure(e)},3238673880:function(e){return new $C.IfcContextDependentMeasure(e)},1778710042:function(e){return new $C.IfcCountMeasure(e)},94842927:function(e){return new $C.IfcCurvatureMeasure(e)},86635668:function(e){return new $C.IfcDayInMonthNumber(e)},300323983:function(e){return new $C.IfcDaylightSavingHour(e)},1514641115:function(e){return new $C.IfcDescriptiveMeasure(e)},4134073009:function(e){return new $C.IfcDimensionCount(e)},524656162:function(e){return new $C.IfcDoseEquivalentMeasure(e)},69416015:function(e){return new $C.IfcDynamicViscosityMeasure(e)},1827137117:function(e){return new $C.IfcElectricCapacitanceMeasure(e)},3818826038:function(e){return new $C.IfcElectricChargeMeasure(e)},2093906313:function(e){return new $C.IfcElectricConductanceMeasure(e)},3790457270:function(e){return new $C.IfcElectricCurrentMeasure(e)},2951915441:function(e){return new $C.IfcElectricResistanceMeasure(e)},2506197118:function(e){return new $C.IfcElectricVoltageMeasure(e)},2078135608:function(e){return new $C.IfcEnergyMeasure(e)},1102727119:function(e){return new $C.IfcFontStyle(e)},2715512545:function(e){return new $C.IfcFontVariant(e)},2590844177:function(e){return new $C.IfcFontWeight(e)},1361398929:function(e){return new $C.IfcForceMeasure(e)},3044325142:function(e){return new $C.IfcFrequencyMeasure(e)},3064340077:function(e){return new $C.IfcGloballyUniqueId(e)},3113092358:function(e){return new $C.IfcHeatFluxDensityMeasure(e)},1158859006:function(e){return new $C.IfcHeatingValueMeasure(e)},2589826445:function(e){return new $C.IfcHourInDay(e)},983778844:function(e){return new $C.IfcIdentifier(e)},3358199106:function(e){return new $C.IfcIlluminanceMeasure(e)},2679005408:function(e){return new $C.IfcInductanceMeasure(e)},1939436016:function(e){return new $C.IfcInteger(e)},3809634241:function(e){return new $C.IfcIntegerCountRateMeasure(e)},3686016028:function(e){return new $C.IfcIonConcentrationMeasure(e)},3192672207:function(e){return new $C.IfcIsothermalMoistureCapacityMeasure(e)},2054016361:function(e){return new $C.IfcKinematicViscosityMeasure(e)},3258342251:function(e){return new $C.IfcLabel(e)},1243674935:function(e){return new $C.IfcLengthMeasure(e)},191860431:function(e){return new $C.IfcLinearForceMeasure(e)},2128979029:function(e){return new $C.IfcLinearMomentMeasure(e)},1307019551:function(e){return new $C.IfcLinearStiffnessMeasure(e)},3086160713:function(e){return new $C.IfcLinearVelocityMeasure(e)},503418787:function(e){return new $C.IfcLogical(e)},2095003142:function(e){return new $C.IfcLuminousFluxMeasure(e)},2755797622:function(e){return new $C.IfcLuminousIntensityDistributionMeasure(e)},151039812:function(e){return new $C.IfcLuminousIntensityMeasure(e)},286949696:function(e){return new $C.IfcMagneticFluxDensityMeasure(e)},2486716878:function(e){return new $C.IfcMagneticFluxMeasure(e)},1477762836:function(e){return new $C.IfcMassDensityMeasure(e)},4017473158:function(e){return new $C.IfcMassFlowRateMeasure(e)},3124614049:function(e){return new $C.IfcMassMeasure(e)},3531705166:function(e){return new $C.IfcMassPerLengthMeasure(e)},102610177:function(e){return new $C.IfcMinuteInHour(e)},3341486342:function(e){return new $C.IfcModulusOfElasticityMeasure(e)},2173214787:function(e){return new $C.IfcModulusOfLinearSubgradeReactionMeasure(e)},1052454078:function(e){return new $C.IfcModulusOfRotationalSubgradeReactionMeasure(e)},1753493141:function(e){return new $C.IfcModulusOfSubgradeReactionMeasure(e)},3177669450:function(e){return new $C.IfcMoistureDiffusivityMeasure(e)},1648970520:function(e){return new $C.IfcMolecularWeightMeasure(e)},3114022597:function(e){return new $C.IfcMomentOfInertiaMeasure(e)},2615040989:function(e){return new $C.IfcMonetaryMeasure(e)},765770214:function(e){return new $C.IfcMonthInYearNumber(e)},2095195183:function(e){return new $C.IfcNormalisedRatioMeasure(e)},2395907400:function(e){return new $C.IfcNumericMeasure(e)},929793134:function(e){return new $C.IfcPHMeasure(e)},2260317790:function(e){return new $C.IfcParameterValue(e)},2642773653:function(e){return new $C.IfcPlanarForceMeasure(e)},4042175685:function(e){return new $C.IfcPlaneAngleMeasure(e)},2815919920:function(e){return new $C.IfcPositiveLengthMeasure(e)},3054510233:function(e){return new $C.IfcPositivePlaneAngleMeasure(e)},1245737093:function(e){return new $C.IfcPositiveRatioMeasure(e)},1364037233:function(e){return new $C.IfcPowerMeasure(e)},2169031380:function(e){return new $C.IfcPresentableText(e)},3665567075:function(e){return new $C.IfcPressureMeasure(e)},3972513137:function(e){return new $C.IfcRadioActivityMeasure(e)},96294661:function(e){return new $C.IfcRatioMeasure(e)},200335297:function(e){return new $C.IfcReal(e)},2133746277:function(e){return new $C.IfcRotationalFrequencyMeasure(e)},1755127002:function(e){return new $C.IfcRotationalMassMeasure(e)},3211557302:function(e){return new $C.IfcRotationalStiffnessMeasure(e)},2766185779:function(e){return new $C.IfcSecondInMinute(e)},3467162246:function(e){return new $C.IfcSectionModulusMeasure(e)},2190458107:function(e){return new $C.IfcSectionalAreaIntegralMeasure(e)},408310005:function(e){return new $C.IfcShearModulusMeasure(e)},3471399674:function(e){return new $C.IfcSolidAngleMeasure(e)},846465480:function(e){return new $C.IfcSoundPowerMeasure(e)},993287707:function(e){return new $C.IfcSoundPressureMeasure(e)},3477203348:function(e){return new $C.IfcSpecificHeatCapacityMeasure(e)},2757832317:function(e){return new $C.IfcSpecularExponent(e)},361837227:function(e){return new $C.IfcSpecularRoughness(e)},58845555:function(e){return new $C.IfcTemperatureGradientMeasure(e)},2801250643:function(e){return new $C.IfcText(e)},1460886941:function(e){return new $C.IfcTextAlignment(e)},3490877962:function(e){return new $C.IfcTextDecoration(e)},603696268:function(e){return new $C.IfcTextFontName(e)},296282323:function(e){return new $C.IfcTextTransformation(e)},232962298:function(e){return new $C.IfcThermalAdmittanceMeasure(e)},2645777649:function(e){return new $C.IfcThermalConductivityMeasure(e)},2281867870:function(e){return new $C.IfcThermalExpansionCoefficientMeasure(e)},857959152:function(e){return new $C.IfcThermalResistanceMeasure(e)},2016195849:function(e){return new $C.IfcThermalTransmittanceMeasure(e)},743184107:function(e){return new $C.IfcThermodynamicTemperatureMeasure(e)},2726807636:function(e){return new $C.IfcTimeMeasure(e)},2591213694:function(e){return new $C.IfcTimeStamp(e)},1278329552:function(e){return new $C.IfcTorqueMeasure(e)},3345633955:function(e){return new $C.IfcVaporPermeabilityMeasure(e)},3458127941:function(e){return new $C.IfcVolumeMeasure(e)},2593997549:function(e){return new $C.IfcVolumetricFlowRateMeasure(e)},51269191:function(e){return new $C.IfcWarpingConstantMeasure(e)},1718600412:function(e){return new $C.IfcWarpingMomentMeasure(e)},4065007721:function(e){return new $C.IfcYearNumber(e)}},function(e){var t=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcAbsorbedDoseMeasure=t;var n=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcAccelerationMeasure=n;var r=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcAmountOfSubstanceMeasure=r;var i=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcAngularVelocityMeasure=i;var a=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcAreaMeasure=a;var s=P((function e(t){b(this,e),this.type=3,this.value="true"==t}));e.IfcBoolean=s;var o=P((function e(t){b(this,e),this.value=t,this.type=1}));e.IfcBoxAlignment=o;var l=P((function e(t){b(this,e),this.value=t}));e.IfcComplexNumber=l;var u=P((function e(t){b(this,e),this.value=t}));e.IfcCompoundPlaneAngleMeasure=u;var c=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcContextDependentMeasure=c;var f=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcCountMeasure=f;var p=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcCurvatureMeasure=p;var A=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcDayInMonthNumber=A;var d=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcDaylightSavingHour=d;var v=P((function e(t){b(this,e),this.value=t,this.type=1}));e.IfcDescriptiveMeasure=v;var h=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcDimensionCount=h;var y=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcDoseEquivalentMeasure=y;var w=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcDynamicViscosityMeasure=w;var g=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcElectricCapacitanceMeasure=g;var E=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcElectricChargeMeasure=E;var T=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcElectricConductanceMeasure=T;var D=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcElectricCurrentMeasure=D;var R=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcElectricResistanceMeasure=R;var C=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcElectricVoltageMeasure=C;var _=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcEnergyMeasure=_;var B=P((function e(t){b(this,e),this.value=t,this.type=1}));e.IfcFontStyle=B;var O=P((function e(t){b(this,e),this.value=t,this.type=1}));e.IfcFontVariant=O;var S=P((function e(t){b(this,e),this.value=t,this.type=1}));e.IfcFontWeight=S;var N=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcForceMeasure=N;var L=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcFrequencyMeasure=L;var x=P((function e(t){b(this,e),this.value=t,this.type=1}));e.IfcGloballyUniqueId=x;var M=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcHeatFluxDensityMeasure=M;var F=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcHeatingValueMeasure=F;var H=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcHourInDay=H;var U=P((function e(t){b(this,e),this.value=t,this.type=1}));e.IfcIdentifier=U;var G=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcIlluminanceMeasure=G;var k=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcInductanceMeasure=k;var j=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcInteger=j;var V=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcIntegerCountRateMeasure=V;var Q=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcIonConcentrationMeasure=Q;var W=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcIsothermalMoistureCapacityMeasure=W;var z=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcKinematicViscosityMeasure=z;var K=P((function e(t){b(this,e),this.value=t,this.type=1}));e.IfcLabel=K;var Y=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcLengthMeasure=Y;var X=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcLinearForceMeasure=X;var q=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcLinearMomentMeasure=q;var J=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcLinearStiffnessMeasure=J;var Z=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcLinearVelocityMeasure=Z;var $=P((function e(t){b(this,e),this.type=3,this.value="true"==t}));e.IfcLogical=$;var ee=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcLuminousFluxMeasure=ee;var te=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcLuminousIntensityDistributionMeasure=te;var ne=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcLuminousIntensityMeasure=ne;var re=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcMagneticFluxDensityMeasure=re;var ie=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcMagneticFluxMeasure=ie;var ae=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcMassDensityMeasure=ae;var se=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcMassFlowRateMeasure=se;var oe=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcMassMeasure=oe;var le=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcMassPerLengthMeasure=le;var ue=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcMinuteInHour=ue;var ce=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcModulusOfElasticityMeasure=ce;var fe=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcModulusOfLinearSubgradeReactionMeasure=fe;var pe=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcModulusOfRotationalSubgradeReactionMeasure=pe;var Ae=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcModulusOfSubgradeReactionMeasure=Ae;var de=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcMoistureDiffusivityMeasure=de;var ve=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcMolecularWeightMeasure=ve;var he=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcMomentOfInertiaMeasure=he;var Ie=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcMonetaryMeasure=Ie;var ye=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcMonthInYearNumber=ye;var me=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcNormalisedRatioMeasure=me;var we=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcNumericMeasure=we;var ge=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcPHMeasure=ge;var Ee=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcParameterValue=Ee;var Te=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcPlanarForceMeasure=Te;var be=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcPlaneAngleMeasure=be;var De=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcPositiveLengthMeasure=De;var Pe=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcPositivePlaneAngleMeasure=Pe;var Re=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcPositiveRatioMeasure=Re;var Ce=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcPowerMeasure=Ce;var _e=P((function e(t){b(this,e),this.value=t,this.type=1}));e.IfcPresentableText=_e;var Be=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcPressureMeasure=Be;var Oe=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcRadioActivityMeasure=Oe;var Se=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcRatioMeasure=Se;var Ne=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcReal=Ne;var Le=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcRotationalFrequencyMeasure=Le;var xe=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcRotationalMassMeasure=xe;var Me=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcRotationalStiffnessMeasure=Me;var Fe=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcSecondInMinute=Fe;var He=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcSectionModulusMeasure=He;var Ue=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcSectionalAreaIntegralMeasure=Ue;var Ge=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcShearModulusMeasure=Ge;var ke=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcSolidAngleMeasure=ke;var je=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcSoundPowerMeasure=je;var Ve=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcSoundPressureMeasure=Ve;var Qe=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcSpecificHeatCapacityMeasure=Qe;var We=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcSpecularExponent=We;var ze=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcSpecularRoughness=ze;var Ke=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcTemperatureGradientMeasure=Ke;var Ye=P((function e(t){b(this,e),this.value=t,this.type=1}));e.IfcText=Ye;var Xe=P((function e(t){b(this,e),this.value=t,this.type=1}));e.IfcTextAlignment=Xe;var qe=P((function e(t){b(this,e),this.value=t,this.type=1}));e.IfcTextDecoration=qe;var Je=P((function e(t){b(this,e),this.value=t,this.type=1}));e.IfcTextFontName=Je;var Ze=P((function e(t){b(this,e),this.value=t,this.type=1}));e.IfcTextTransformation=Ze;var $e=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcThermalAdmittanceMeasure=$e;var et=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcThermalConductivityMeasure=et;var tt=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcThermalExpansionCoefficientMeasure=tt;var nt=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcThermalResistanceMeasure=nt;var rt=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcThermalTransmittanceMeasure=rt;var it=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcThermodynamicTemperatureMeasure=it;var at=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcTimeMeasure=at;var st=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcTimeStamp=st;var ot=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcTorqueMeasure=ot;var lt=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcVaporPermeabilityMeasure=lt;var ut=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcVolumeMeasure=ut;var ct=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcVolumetricFlowRateMeasure=ct;var ft=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcWarpingConstantMeasure=ft;var pt=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcWarpingMomentMeasure=pt;var At=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcYearNumber=At;var dt=P((function e(){b(this,e)}));dt.DEAD_LOAD_G={type:3,value:"DEAD_LOAD_G"},dt.COMPLETION_G1={type:3,value:"COMPLETION_G1"},dt.LIVE_LOAD_Q={type:3,value:"LIVE_LOAD_Q"},dt.SNOW_S={type:3,value:"SNOW_S"},dt.WIND_W={type:3,value:"WIND_W"},dt.PRESTRESSING_P={type:3,value:"PRESTRESSING_P"},dt.SETTLEMENT_U={type:3,value:"SETTLEMENT_U"},dt.TEMPERATURE_T={type:3,value:"TEMPERATURE_T"},dt.EARTHQUAKE_E={type:3,value:"EARTHQUAKE_E"},dt.FIRE={type:3,value:"FIRE"},dt.IMPULSE={type:3,value:"IMPULSE"},dt.IMPACT={type:3,value:"IMPACT"},dt.TRANSPORT={type:3,value:"TRANSPORT"},dt.ERECTION={type:3,value:"ERECTION"},dt.PROPPING={type:3,value:"PROPPING"},dt.SYSTEM_IMPERFECTION={type:3,value:"SYSTEM_IMPERFECTION"},dt.SHRINKAGE={type:3,value:"SHRINKAGE"},dt.CREEP={type:3,value:"CREEP"},dt.LACK_OF_FIT={type:3,value:"LACK_OF_FIT"},dt.BUOYANCY={type:3,value:"BUOYANCY"},dt.ICE={type:3,value:"ICE"},dt.CURRENT={type:3,value:"CURRENT"},dt.WAVE={type:3,value:"WAVE"},dt.RAIN={type:3,value:"RAIN"},dt.BRAKES={type:3,value:"BRAKES"},dt.USERDEFINED={type:3,value:"USERDEFINED"},dt.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcActionSourceTypeEnum=dt;var vt=P((function e(){b(this,e)}));vt.PERMANENT_G={type:3,value:"PERMANENT_G"},vt.VARIABLE_Q={type:3,value:"VARIABLE_Q"},vt.EXTRAORDINARY_A={type:3,value:"EXTRAORDINARY_A"},vt.USERDEFINED={type:3,value:"USERDEFINED"},vt.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcActionTypeEnum=vt;var ht=P((function e(){b(this,e)}));ht.ELECTRICACTUATOR={type:3,value:"ELECTRICACTUATOR"},ht.HANDOPERATEDACTUATOR={type:3,value:"HANDOPERATEDACTUATOR"},ht.HYDRAULICACTUATOR={type:3,value:"HYDRAULICACTUATOR"},ht.PNEUMATICACTUATOR={type:3,value:"PNEUMATICACTUATOR"},ht.THERMOSTATICACTUATOR={type:3,value:"THERMOSTATICACTUATOR"},ht.USERDEFINED={type:3,value:"USERDEFINED"},ht.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcActuatorTypeEnum=ht;var It=P((function e(){b(this,e)}));It.OFFICE={type:3,value:"OFFICE"},It.SITE={type:3,value:"SITE"},It.HOME={type:3,value:"HOME"},It.DISTRIBUTIONPOINT={type:3,value:"DISTRIBUTIONPOINT"},It.USERDEFINED={type:3,value:"USERDEFINED"},e.IfcAddressTypeEnum=It;var yt=P((function e(){b(this,e)}));yt.AHEAD={type:3,value:"AHEAD"},yt.BEHIND={type:3,value:"BEHIND"},e.IfcAheadOrBehind=yt;var mt=P((function e(){b(this,e)}));mt.CONSTANTFLOW={type:3,value:"CONSTANTFLOW"},mt.VARIABLEFLOWPRESSUREDEPENDANT={type:3,value:"VARIABLEFLOWPRESSUREDEPENDANT"},mt.VARIABLEFLOWPRESSUREINDEPENDANT={type:3,value:"VARIABLEFLOWPRESSUREINDEPENDANT"},mt.USERDEFINED={type:3,value:"USERDEFINED"},mt.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcAirTerminalBoxTypeEnum=mt;var wt=P((function e(){b(this,e)}));wt.GRILLE={type:3,value:"GRILLE"},wt.REGISTER={type:3,value:"REGISTER"},wt.DIFFUSER={type:3,value:"DIFFUSER"},wt.EYEBALL={type:3,value:"EYEBALL"},wt.IRIS={type:3,value:"IRIS"},wt.LINEARGRILLE={type:3,value:"LINEARGRILLE"},wt.LINEARDIFFUSER={type:3,value:"LINEARDIFFUSER"},wt.USERDEFINED={type:3,value:"USERDEFINED"},wt.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcAirTerminalTypeEnum=wt;var gt=P((function e(){b(this,e)}));gt.FIXEDPLATECOUNTERFLOWEXCHANGER={type:3,value:"FIXEDPLATECOUNTERFLOWEXCHANGER"},gt.FIXEDPLATECROSSFLOWEXCHANGER={type:3,value:"FIXEDPLATECROSSFLOWEXCHANGER"},gt.FIXEDPLATEPARALLELFLOWEXCHANGER={type:3,value:"FIXEDPLATEPARALLELFLOWEXCHANGER"},gt.ROTARYWHEEL={type:3,value:"ROTARYWHEEL"},gt.RUNAROUNDCOILLOOP={type:3,value:"RUNAROUNDCOILLOOP"},gt.HEATPIPE={type:3,value:"HEATPIPE"},gt.TWINTOWERENTHALPYRECOVERYLOOPS={type:3,value:"TWINTOWERENTHALPYRECOVERYLOOPS"},gt.THERMOSIPHONSEALEDTUBEHEATEXCHANGERS={type:3,value:"THERMOSIPHONSEALEDTUBEHEATEXCHANGERS"},gt.THERMOSIPHONCOILTYPEHEATEXCHANGERS={type:3,value:"THERMOSIPHONCOILTYPEHEATEXCHANGERS"},gt.USERDEFINED={type:3,value:"USERDEFINED"},gt.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcAirToAirHeatRecoveryTypeEnum=gt;var Et=P((function e(){b(this,e)}));Et.BELL={type:3,value:"BELL"},Et.BREAKGLASSBUTTON={type:3,value:"BREAKGLASSBUTTON"},Et.LIGHT={type:3,value:"LIGHT"},Et.MANUALPULLBOX={type:3,value:"MANUALPULLBOX"},Et.SIREN={type:3,value:"SIREN"},Et.WHISTLE={type:3,value:"WHISTLE"},Et.USERDEFINED={type:3,value:"USERDEFINED"},Et.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcAlarmTypeEnum=Et;var Tt=P((function e(){b(this,e)}));Tt.IN_PLANE_LOADING_2D={type:3,value:"IN_PLANE_LOADING_2D"},Tt.OUT_PLANE_LOADING_2D={type:3,value:"OUT_PLANE_LOADING_2D"},Tt.LOADING_3D={type:3,value:"LOADING_3D"},Tt.USERDEFINED={type:3,value:"USERDEFINED"},Tt.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcAnalysisModelTypeEnum=Tt;var bt=P((function e(){b(this,e)}));bt.FIRST_ORDER_THEORY={type:3,value:"FIRST_ORDER_THEORY"},bt.SECOND_ORDER_THEORY={type:3,value:"SECOND_ORDER_THEORY"},bt.THIRD_ORDER_THEORY={type:3,value:"THIRD_ORDER_THEORY"},bt.FULL_NONLINEAR_THEORY={type:3,value:"FULL_NONLINEAR_THEORY"},bt.USERDEFINED={type:3,value:"USERDEFINED"},bt.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcAnalysisTheoryTypeEnum=bt;var Dt=P((function e(){b(this,e)}));Dt.ADD={type:3,value:"ADD"},Dt.DIVIDE={type:3,value:"DIVIDE"},Dt.MULTIPLY={type:3,value:"MULTIPLY"},Dt.SUBTRACT={type:3,value:"SUBTRACT"},e.IfcArithmeticOperatorEnum=Dt;var Pt=P((function e(){b(this,e)}));Pt.SITE={type:3,value:"SITE"},Pt.FACTORY={type:3,value:"FACTORY"},Pt.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcAssemblyPlaceEnum=Pt;var Rt=P((function e(){b(this,e)}));Rt.POLYLINE_FORM={type:3,value:"POLYLINE_FORM"},Rt.CIRCULAR_ARC={type:3,value:"CIRCULAR_ARC"},Rt.ELLIPTIC_ARC={type:3,value:"ELLIPTIC_ARC"},Rt.PARABOLIC_ARC={type:3,value:"PARABOLIC_ARC"},Rt.HYPERBOLIC_ARC={type:3,value:"HYPERBOLIC_ARC"},Rt.UNSPECIFIED={type:3,value:"UNSPECIFIED"},e.IfcBSplineCurveForm=Rt;var Ct=P((function e(){b(this,e)}));Ct.BEAM={type:3,value:"BEAM"},Ct.JOIST={type:3,value:"JOIST"},Ct.LINTEL={type:3,value:"LINTEL"},Ct.T_BEAM={type:3,value:"T_BEAM"},Ct.USERDEFINED={type:3,value:"USERDEFINED"},Ct.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcBeamTypeEnum=Ct;var _t=P((function e(){b(this,e)}));_t.GREATERTHAN={type:3,value:"GREATERTHAN"},_t.GREATERTHANOREQUALTO={type:3,value:"GREATERTHANOREQUALTO"},_t.LESSTHAN={type:3,value:"LESSTHAN"},_t.LESSTHANOREQUALTO={type:3,value:"LESSTHANOREQUALTO"},_t.EQUALTO={type:3,value:"EQUALTO"},_t.NOTEQUALTO={type:3,value:"NOTEQUALTO"},e.IfcBenchmarkEnum=_t;var Bt=P((function e(){b(this,e)}));Bt.WATER={type:3,value:"WATER"},Bt.STEAM={type:3,value:"STEAM"},Bt.USERDEFINED={type:3,value:"USERDEFINED"},Bt.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcBoilerTypeEnum=Bt;var Ot=P((function e(){b(this,e)}));Ot.UNION={type:3,value:"UNION"},Ot.INTERSECTION={type:3,value:"INTERSECTION"},Ot.DIFFERENCE={type:3,value:"DIFFERENCE"},e.IfcBooleanOperator=Ot;var St=P((function e(){b(this,e)}));St.USERDEFINED={type:3,value:"USERDEFINED"},St.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcBuildingElementProxyTypeEnum=St;var Nt=P((function e(){b(this,e)}));Nt.BEND={type:3,value:"BEND"},Nt.CROSS={type:3,value:"CROSS"},Nt.REDUCER={type:3,value:"REDUCER"},Nt.TEE={type:3,value:"TEE"},Nt.USERDEFINED={type:3,value:"USERDEFINED"},Nt.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcCableCarrierFittingTypeEnum=Nt;var Lt=P((function e(){b(this,e)}));Lt.CABLELADDERSEGMENT={type:3,value:"CABLELADDERSEGMENT"},Lt.CABLETRAYSEGMENT={type:3,value:"CABLETRAYSEGMENT"},Lt.CABLETRUNKINGSEGMENT={type:3,value:"CABLETRUNKINGSEGMENT"},Lt.CONDUITSEGMENT={type:3,value:"CONDUITSEGMENT"},Lt.USERDEFINED={type:3,value:"USERDEFINED"},Lt.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcCableCarrierSegmentTypeEnum=Lt;var xt=P((function e(){b(this,e)}));xt.CABLESEGMENT={type:3,value:"CABLESEGMENT"},xt.CONDUCTORSEGMENT={type:3,value:"CONDUCTORSEGMENT"},xt.USERDEFINED={type:3,value:"USERDEFINED"},xt.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcCableSegmentTypeEnum=xt;var Mt=P((function e(){b(this,e)}));Mt.NOCHANGE={type:3,value:"NOCHANGE"},Mt.MODIFIED={type:3,value:"MODIFIED"},Mt.ADDED={type:3,value:"ADDED"},Mt.DELETED={type:3,value:"DELETED"},Mt.MODIFIEDADDED={type:3,value:"MODIFIEDADDED"},Mt.MODIFIEDDELETED={type:3,value:"MODIFIEDDELETED"},e.IfcChangeActionEnum=Mt;var Ft=P((function e(){b(this,e)}));Ft.AIRCOOLED={type:3,value:"AIRCOOLED"},Ft.WATERCOOLED={type:3,value:"WATERCOOLED"},Ft.HEATRECOVERY={type:3,value:"HEATRECOVERY"},Ft.USERDEFINED={type:3,value:"USERDEFINED"},Ft.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcChillerTypeEnum=Ft;var Ht=P((function e(){b(this,e)}));Ht.DXCOOLINGCOIL={type:3,value:"DXCOOLINGCOIL"},Ht.WATERCOOLINGCOIL={type:3,value:"WATERCOOLINGCOIL"},Ht.STEAMHEATINGCOIL={type:3,value:"STEAMHEATINGCOIL"},Ht.WATERHEATINGCOIL={type:3,value:"WATERHEATINGCOIL"},Ht.ELECTRICHEATINGCOIL={type:3,value:"ELECTRICHEATINGCOIL"},Ht.GASHEATINGCOIL={type:3,value:"GASHEATINGCOIL"},Ht.USERDEFINED={type:3,value:"USERDEFINED"},Ht.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcCoilTypeEnum=Ht;var Ut=P((function e(){b(this,e)}));Ut.COLUMN={type:3,value:"COLUMN"},Ut.USERDEFINED={type:3,value:"USERDEFINED"},Ut.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcColumnTypeEnum=Ut;var Gt=P((function e(){b(this,e)}));Gt.DYNAMIC={type:3,value:"DYNAMIC"},Gt.RECIPROCATING={type:3,value:"RECIPROCATING"},Gt.ROTARY={type:3,value:"ROTARY"},Gt.SCROLL={type:3,value:"SCROLL"},Gt.TROCHOIDAL={type:3,value:"TROCHOIDAL"},Gt.SINGLESTAGE={type:3,value:"SINGLESTAGE"},Gt.BOOSTER={type:3,value:"BOOSTER"},Gt.OPENTYPE={type:3,value:"OPENTYPE"},Gt.HERMETIC={type:3,value:"HERMETIC"},Gt.SEMIHERMETIC={type:3,value:"SEMIHERMETIC"},Gt.WELDEDSHELLHERMETIC={type:3,value:"WELDEDSHELLHERMETIC"},Gt.ROLLINGPISTON={type:3,value:"ROLLINGPISTON"},Gt.ROTARYVANE={type:3,value:"ROTARYVANE"},Gt.SINGLESCREW={type:3,value:"SINGLESCREW"},Gt.TWINSCREW={type:3,value:"TWINSCREW"},Gt.USERDEFINED={type:3,value:"USERDEFINED"},Gt.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcCompressorTypeEnum=Gt;var kt=P((function e(){b(this,e)}));kt.WATERCOOLEDSHELLTUBE={type:3,value:"WATERCOOLEDSHELLTUBE"},kt.WATERCOOLEDSHELLCOIL={type:3,value:"WATERCOOLEDSHELLCOIL"},kt.WATERCOOLEDTUBEINTUBE={type:3,value:"WATERCOOLEDTUBEINTUBE"},kt.WATERCOOLEDBRAZEDPLATE={type:3,value:"WATERCOOLEDBRAZEDPLATE"},kt.AIRCOOLED={type:3,value:"AIRCOOLED"},kt.EVAPORATIVECOOLED={type:3,value:"EVAPORATIVECOOLED"},kt.USERDEFINED={type:3,value:"USERDEFINED"},kt.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcCondenserTypeEnum=kt;var jt=P((function e(){b(this,e)}));jt.ATPATH={type:3,value:"ATPATH"},jt.ATSTART={type:3,value:"ATSTART"},jt.ATEND={type:3,value:"ATEND"},jt.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcConnectionTypeEnum=jt;var Vt=P((function e(){b(this,e)}));Vt.HARD={type:3,value:"HARD"},Vt.SOFT={type:3,value:"SOFT"},Vt.ADVISORY={type:3,value:"ADVISORY"},Vt.USERDEFINED={type:3,value:"USERDEFINED"},Vt.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcConstraintEnum=Vt;var Qt=P((function e(){b(this,e)}));Qt.FLOATING={type:3,value:"FLOATING"},Qt.PROPORTIONAL={type:3,value:"PROPORTIONAL"},Qt.PROPORTIONALINTEGRAL={type:3,value:"PROPORTIONALINTEGRAL"},Qt.PROPORTIONALINTEGRALDERIVATIVE={type:3,value:"PROPORTIONALINTEGRALDERIVATIVE"},Qt.TIMEDTWOPOSITION={type:3,value:"TIMEDTWOPOSITION"},Qt.TWOPOSITION={type:3,value:"TWOPOSITION"},Qt.USERDEFINED={type:3,value:"USERDEFINED"},Qt.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcControllerTypeEnum=Qt;var Wt=P((function e(){b(this,e)}));Wt.ACTIVE={type:3,value:"ACTIVE"},Wt.PASSIVE={type:3,value:"PASSIVE"},Wt.USERDEFINED={type:3,value:"USERDEFINED"},Wt.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcCooledBeamTypeEnum=Wt;var zt=P((function e(){b(this,e)}));zt.NATURALDRAFT={type:3,value:"NATURALDRAFT"},zt.MECHANICALINDUCEDDRAFT={type:3,value:"MECHANICALINDUCEDDRAFT"},zt.MECHANICALFORCEDDRAFT={type:3,value:"MECHANICALFORCEDDRAFT"},zt.USERDEFINED={type:3,value:"USERDEFINED"},zt.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcCoolingTowerTypeEnum=zt;var Kt=P((function e(){b(this,e)}));Kt.BUDGET={type:3,value:"BUDGET"},Kt.COSTPLAN={type:3,value:"COSTPLAN"},Kt.ESTIMATE={type:3,value:"ESTIMATE"},Kt.TENDER={type:3,value:"TENDER"},Kt.PRICEDBILLOFQUANTITIES={type:3,value:"PRICEDBILLOFQUANTITIES"},Kt.UNPRICEDBILLOFQUANTITIES={type:3,value:"UNPRICEDBILLOFQUANTITIES"},Kt.SCHEDULEOFRATES={type:3,value:"SCHEDULEOFRATES"},Kt.USERDEFINED={type:3,value:"USERDEFINED"},Kt.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcCostScheduleTypeEnum=Kt;var Yt=P((function e(){b(this,e)}));Yt.CEILING={type:3,value:"CEILING"},Yt.FLOORING={type:3,value:"FLOORING"},Yt.CLADDING={type:3,value:"CLADDING"},Yt.ROOFING={type:3,value:"ROOFING"},Yt.INSULATION={type:3,value:"INSULATION"},Yt.MEMBRANE={type:3,value:"MEMBRANE"},Yt.SLEEVING={type:3,value:"SLEEVING"},Yt.WRAPPING={type:3,value:"WRAPPING"},Yt.USERDEFINED={type:3,value:"USERDEFINED"},Yt.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcCoveringTypeEnum=Yt;var Xt=P((function e(){b(this,e)}));Xt.AED={type:3,value:"AED"},Xt.AES={type:3,value:"AES"},Xt.ATS={type:3,value:"ATS"},Xt.AUD={type:3,value:"AUD"},Xt.BBD={type:3,value:"BBD"},Xt.BEG={type:3,value:"BEG"},Xt.BGL={type:3,value:"BGL"},Xt.BHD={type:3,value:"BHD"},Xt.BMD={type:3,value:"BMD"},Xt.BND={type:3,value:"BND"},Xt.BRL={type:3,value:"BRL"},Xt.BSD={type:3,value:"BSD"},Xt.BWP={type:3,value:"BWP"},Xt.BZD={type:3,value:"BZD"},Xt.CAD={type:3,value:"CAD"},Xt.CBD={type:3,value:"CBD"},Xt.CHF={type:3,value:"CHF"},Xt.CLP={type:3,value:"CLP"},Xt.CNY={type:3,value:"CNY"},Xt.CYS={type:3,value:"CYS"},Xt.CZK={type:3,value:"CZK"},Xt.DDP={type:3,value:"DDP"},Xt.DEM={type:3,value:"DEM"},Xt.DKK={type:3,value:"DKK"},Xt.EGL={type:3,value:"EGL"},Xt.EST={type:3,value:"EST"},Xt.EUR={type:3,value:"EUR"},Xt.FAK={type:3,value:"FAK"},Xt.FIM={type:3,value:"FIM"},Xt.FJD={type:3,value:"FJD"},Xt.FKP={type:3,value:"FKP"},Xt.FRF={type:3,value:"FRF"},Xt.GBP={type:3,value:"GBP"},Xt.GIP={type:3,value:"GIP"},Xt.GMD={type:3,value:"GMD"},Xt.GRX={type:3,value:"GRX"},Xt.HKD={type:3,value:"HKD"},Xt.HUF={type:3,value:"HUF"},Xt.ICK={type:3,value:"ICK"},Xt.IDR={type:3,value:"IDR"},Xt.ILS={type:3,value:"ILS"},Xt.INR={type:3,value:"INR"},Xt.IRP={type:3,value:"IRP"},Xt.ITL={type:3,value:"ITL"},Xt.JMD={type:3,value:"JMD"},Xt.JOD={type:3,value:"JOD"},Xt.JPY={type:3,value:"JPY"},Xt.KES={type:3,value:"KES"},Xt.KRW={type:3,value:"KRW"},Xt.KWD={type:3,value:"KWD"},Xt.KYD={type:3,value:"KYD"},Xt.LKR={type:3,value:"LKR"},Xt.LUF={type:3,value:"LUF"},Xt.MTL={type:3,value:"MTL"},Xt.MUR={type:3,value:"MUR"},Xt.MXN={type:3,value:"MXN"},Xt.MYR={type:3,value:"MYR"},Xt.NLG={type:3,value:"NLG"},Xt.NZD={type:3,value:"NZD"},Xt.OMR={type:3,value:"OMR"},Xt.PGK={type:3,value:"PGK"},Xt.PHP={type:3,value:"PHP"},Xt.PKR={type:3,value:"PKR"},Xt.PLN={type:3,value:"PLN"},Xt.PTN={type:3,value:"PTN"},Xt.QAR={type:3,value:"QAR"},Xt.RUR={type:3,value:"RUR"},Xt.SAR={type:3,value:"SAR"},Xt.SCR={type:3,value:"SCR"},Xt.SEK={type:3,value:"SEK"},Xt.SGD={type:3,value:"SGD"},Xt.SKP={type:3,value:"SKP"},Xt.THB={type:3,value:"THB"},Xt.TRL={type:3,value:"TRL"},Xt.TTD={type:3,value:"TTD"},Xt.TWD={type:3,value:"TWD"},Xt.USD={type:3,value:"USD"},Xt.VEB={type:3,value:"VEB"},Xt.VND={type:3,value:"VND"},Xt.XEU={type:3,value:"XEU"},Xt.ZAR={type:3,value:"ZAR"},Xt.ZWD={type:3,value:"ZWD"},Xt.NOK={type:3,value:"NOK"},e.IfcCurrencyEnum=Xt;var qt=P((function e(){b(this,e)}));qt.USERDEFINED={type:3,value:"USERDEFINED"},qt.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcCurtainWallTypeEnum=qt;var Jt=P((function e(){b(this,e)}));Jt.CONTROLDAMPER={type:3,value:"CONTROLDAMPER"},Jt.FIREDAMPER={type:3,value:"FIREDAMPER"},Jt.SMOKEDAMPER={type:3,value:"SMOKEDAMPER"},Jt.FIRESMOKEDAMPER={type:3,value:"FIRESMOKEDAMPER"},Jt.BACKDRAFTDAMPER={type:3,value:"BACKDRAFTDAMPER"},Jt.RELIEFDAMPER={type:3,value:"RELIEFDAMPER"},Jt.BLASTDAMPER={type:3,value:"BLASTDAMPER"},Jt.GRAVITYDAMPER={type:3,value:"GRAVITYDAMPER"},Jt.GRAVITYRELIEFDAMPER={type:3,value:"GRAVITYRELIEFDAMPER"},Jt.BALANCINGDAMPER={type:3,value:"BALANCINGDAMPER"},Jt.FUMEHOODEXHAUST={type:3,value:"FUMEHOODEXHAUST"},Jt.USERDEFINED={type:3,value:"USERDEFINED"},Jt.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcDamperTypeEnum=Jt;var Zt=P((function e(){b(this,e)}));Zt.MEASURED={type:3,value:"MEASURED"},Zt.PREDICTED={type:3,value:"PREDICTED"},Zt.SIMULATED={type:3,value:"SIMULATED"},Zt.USERDEFINED={type:3,value:"USERDEFINED"},Zt.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcDataOriginEnum=Zt;var $t=P((function e(){b(this,e)}));$t.ANGULARVELOCITYUNIT={type:3,value:"ANGULARVELOCITYUNIT"},$t.COMPOUNDPLANEANGLEUNIT={type:3,value:"COMPOUNDPLANEANGLEUNIT"},$t.DYNAMICVISCOSITYUNIT={type:3,value:"DYNAMICVISCOSITYUNIT"},$t.HEATFLUXDENSITYUNIT={type:3,value:"HEATFLUXDENSITYUNIT"},$t.INTEGERCOUNTRATEUNIT={type:3,value:"INTEGERCOUNTRATEUNIT"},$t.ISOTHERMALMOISTURECAPACITYUNIT={type:3,value:"ISOTHERMALMOISTURECAPACITYUNIT"},$t.KINEMATICVISCOSITYUNIT={type:3,value:"KINEMATICVISCOSITYUNIT"},$t.LINEARVELOCITYUNIT={type:3,value:"LINEARVELOCITYUNIT"},$t.MASSDENSITYUNIT={type:3,value:"MASSDENSITYUNIT"},$t.MASSFLOWRATEUNIT={type:3,value:"MASSFLOWRATEUNIT"},$t.MOISTUREDIFFUSIVITYUNIT={type:3,value:"MOISTUREDIFFUSIVITYUNIT"},$t.MOLECULARWEIGHTUNIT={type:3,value:"MOLECULARWEIGHTUNIT"},$t.SPECIFICHEATCAPACITYUNIT={type:3,value:"SPECIFICHEATCAPACITYUNIT"},$t.THERMALADMITTANCEUNIT={type:3,value:"THERMALADMITTANCEUNIT"},$t.THERMALCONDUCTANCEUNIT={type:3,value:"THERMALCONDUCTANCEUNIT"},$t.THERMALRESISTANCEUNIT={type:3,value:"THERMALRESISTANCEUNIT"},$t.THERMALTRANSMITTANCEUNIT={type:3,value:"THERMALTRANSMITTANCEUNIT"},$t.VAPORPERMEABILITYUNIT={type:3,value:"VAPORPERMEABILITYUNIT"},$t.VOLUMETRICFLOWRATEUNIT={type:3,value:"VOLUMETRICFLOWRATEUNIT"},$t.ROTATIONALFREQUENCYUNIT={type:3,value:"ROTATIONALFREQUENCYUNIT"},$t.TORQUEUNIT={type:3,value:"TORQUEUNIT"},$t.MOMENTOFINERTIAUNIT={type:3,value:"MOMENTOFINERTIAUNIT"},$t.LINEARMOMENTUNIT={type:3,value:"LINEARMOMENTUNIT"},$t.LINEARFORCEUNIT={type:3,value:"LINEARFORCEUNIT"},$t.PLANARFORCEUNIT={type:3,value:"PLANARFORCEUNIT"},$t.MODULUSOFELASTICITYUNIT={type:3,value:"MODULUSOFELASTICITYUNIT"},$t.SHEARMODULUSUNIT={type:3,value:"SHEARMODULUSUNIT"},$t.LINEARSTIFFNESSUNIT={type:3,value:"LINEARSTIFFNESSUNIT"},$t.ROTATIONALSTIFFNESSUNIT={type:3,value:"ROTATIONALSTIFFNESSUNIT"},$t.MODULUSOFSUBGRADEREACTIONUNIT={type:3,value:"MODULUSOFSUBGRADEREACTIONUNIT"},$t.ACCELERATIONUNIT={type:3,value:"ACCELERATIONUNIT"},$t.CURVATUREUNIT={type:3,value:"CURVATUREUNIT"},$t.HEATINGVALUEUNIT={type:3,value:"HEATINGVALUEUNIT"},$t.IONCONCENTRATIONUNIT={type:3,value:"IONCONCENTRATIONUNIT"},$t.LUMINOUSINTENSITYDISTRIBUTIONUNIT={type:3,value:"LUMINOUSINTENSITYDISTRIBUTIONUNIT"},$t.MASSPERLENGTHUNIT={type:3,value:"MASSPERLENGTHUNIT"},$t.MODULUSOFLINEARSUBGRADEREACTIONUNIT={type:3,value:"MODULUSOFLINEARSUBGRADEREACTIONUNIT"},$t.MODULUSOFROTATIONALSUBGRADEREACTIONUNIT={type:3,value:"MODULUSOFROTATIONALSUBGRADEREACTIONUNIT"},$t.PHUNIT={type:3,value:"PHUNIT"},$t.ROTATIONALMASSUNIT={type:3,value:"ROTATIONALMASSUNIT"},$t.SECTIONAREAINTEGRALUNIT={type:3,value:"SECTIONAREAINTEGRALUNIT"},$t.SECTIONMODULUSUNIT={type:3,value:"SECTIONMODULUSUNIT"},$t.SOUNDPOWERUNIT={type:3,value:"SOUNDPOWERUNIT"},$t.SOUNDPRESSUREUNIT={type:3,value:"SOUNDPRESSUREUNIT"},$t.TEMPERATUREGRADIENTUNIT={type:3,value:"TEMPERATUREGRADIENTUNIT"},$t.THERMALEXPANSIONCOEFFICIENTUNIT={type:3,value:"THERMALEXPANSIONCOEFFICIENTUNIT"},$t.WARPINGCONSTANTUNIT={type:3,value:"WARPINGCONSTANTUNIT"},$t.WARPINGMOMENTUNIT={type:3,value:"WARPINGMOMENTUNIT"},$t.USERDEFINED={type:3,value:"USERDEFINED"},e.IfcDerivedUnitEnum=$t;var en=P((function e(){b(this,e)}));en.ORIGIN={type:3,value:"ORIGIN"},en.TARGET={type:3,value:"TARGET"},e.IfcDimensionExtentUsage=en;var tn=P((function e(){b(this,e)}));tn.POSITIVE={type:3,value:"POSITIVE"},tn.NEGATIVE={type:3,value:"NEGATIVE"},e.IfcDirectionSenseEnum=tn;var nn=P((function e(){b(this,e)}));nn.FORMEDDUCT={type:3,value:"FORMEDDUCT"},nn.INSPECTIONCHAMBER={type:3,value:"INSPECTIONCHAMBER"},nn.INSPECTIONPIT={type:3,value:"INSPECTIONPIT"},nn.MANHOLE={type:3,value:"MANHOLE"},nn.METERCHAMBER={type:3,value:"METERCHAMBER"},nn.SUMP={type:3,value:"SUMP"},nn.TRENCH={type:3,value:"TRENCH"},nn.VALVECHAMBER={type:3,value:"VALVECHAMBER"},nn.USERDEFINED={type:3,value:"USERDEFINED"},nn.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcDistributionChamberElementTypeEnum=nn;var rn=P((function e(){b(this,e)}));rn.PUBLIC={type:3,value:"PUBLIC"},rn.RESTRICTED={type:3,value:"RESTRICTED"},rn.CONFIDENTIAL={type:3,value:"CONFIDENTIAL"},rn.PERSONAL={type:3,value:"PERSONAL"},rn.USERDEFINED={type:3,value:"USERDEFINED"},rn.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcDocumentConfidentialityEnum=rn;var an=P((function e(){b(this,e)}));an.DRAFT={type:3,value:"DRAFT"},an.FINALDRAFT={type:3,value:"FINALDRAFT"},an.FINAL={type:3,value:"FINAL"},an.REVISION={type:3,value:"REVISION"},an.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcDocumentStatusEnum=an;var sn=P((function e(){b(this,e)}));sn.SWINGING={type:3,value:"SWINGING"},sn.DOUBLE_ACTING={type:3,value:"DOUBLE_ACTING"},sn.SLIDING={type:3,value:"SLIDING"},sn.FOLDING={type:3,value:"FOLDING"},sn.REVOLVING={type:3,value:"REVOLVING"},sn.ROLLINGUP={type:3,value:"ROLLINGUP"},sn.USERDEFINED={type:3,value:"USERDEFINED"},sn.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcDoorPanelOperationEnum=sn;var on=P((function e(){b(this,e)}));on.LEFT={type:3,value:"LEFT"},on.MIDDLE={type:3,value:"MIDDLE"},on.RIGHT={type:3,value:"RIGHT"},on.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcDoorPanelPositionEnum=on;var ln=P((function e(){b(this,e)}));ln.ALUMINIUM={type:3,value:"ALUMINIUM"},ln.HIGH_GRADE_STEEL={type:3,value:"HIGH_GRADE_STEEL"},ln.STEEL={type:3,value:"STEEL"},ln.WOOD={type:3,value:"WOOD"},ln.ALUMINIUM_WOOD={type:3,value:"ALUMINIUM_WOOD"},ln.ALUMINIUM_PLASTIC={type:3,value:"ALUMINIUM_PLASTIC"},ln.PLASTIC={type:3,value:"PLASTIC"},ln.USERDEFINED={type:3,value:"USERDEFINED"},ln.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcDoorStyleConstructionEnum=ln;var un=P((function e(){b(this,e)}));un.SINGLE_SWING_LEFT={type:3,value:"SINGLE_SWING_LEFT"},un.SINGLE_SWING_RIGHT={type:3,value:"SINGLE_SWING_RIGHT"},un.DOUBLE_DOOR_SINGLE_SWING={type:3,value:"DOUBLE_DOOR_SINGLE_SWING"},un.DOUBLE_DOOR_SINGLE_SWING_OPPOSITE_LEFT={type:3,value:"DOUBLE_DOOR_SINGLE_SWING_OPPOSITE_LEFT"},un.DOUBLE_DOOR_SINGLE_SWING_OPPOSITE_RIGHT={type:3,value:"DOUBLE_DOOR_SINGLE_SWING_OPPOSITE_RIGHT"},un.DOUBLE_SWING_LEFT={type:3,value:"DOUBLE_SWING_LEFT"},un.DOUBLE_SWING_RIGHT={type:3,value:"DOUBLE_SWING_RIGHT"},un.DOUBLE_DOOR_DOUBLE_SWING={type:3,value:"DOUBLE_DOOR_DOUBLE_SWING"},un.SLIDING_TO_LEFT={type:3,value:"SLIDING_TO_LEFT"},un.SLIDING_TO_RIGHT={type:3,value:"SLIDING_TO_RIGHT"},un.DOUBLE_DOOR_SLIDING={type:3,value:"DOUBLE_DOOR_SLIDING"},un.FOLDING_TO_LEFT={type:3,value:"FOLDING_TO_LEFT"},un.FOLDING_TO_RIGHT={type:3,value:"FOLDING_TO_RIGHT"},un.DOUBLE_DOOR_FOLDING={type:3,value:"DOUBLE_DOOR_FOLDING"},un.REVOLVING={type:3,value:"REVOLVING"},un.ROLLINGUP={type:3,value:"ROLLINGUP"},un.USERDEFINED={type:3,value:"USERDEFINED"},un.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcDoorStyleOperationEnum=un;var cn=P((function e(){b(this,e)}));cn.BEND={type:3,value:"BEND"},cn.CONNECTOR={type:3,value:"CONNECTOR"},cn.ENTRY={type:3,value:"ENTRY"},cn.EXIT={type:3,value:"EXIT"},cn.JUNCTION={type:3,value:"JUNCTION"},cn.OBSTRUCTION={type:3,value:"OBSTRUCTION"},cn.TRANSITION={type:3,value:"TRANSITION"},cn.USERDEFINED={type:3,value:"USERDEFINED"},cn.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcDuctFittingTypeEnum=cn;var fn=P((function e(){b(this,e)}));fn.RIGIDSEGMENT={type:3,value:"RIGIDSEGMENT"},fn.FLEXIBLESEGMENT={type:3,value:"FLEXIBLESEGMENT"},fn.USERDEFINED={type:3,value:"USERDEFINED"},fn.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcDuctSegmentTypeEnum=fn;var pn=P((function e(){b(this,e)}));pn.FLATOVAL={type:3,value:"FLATOVAL"},pn.RECTANGULAR={type:3,value:"RECTANGULAR"},pn.ROUND={type:3,value:"ROUND"},pn.USERDEFINED={type:3,value:"USERDEFINED"},pn.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcDuctSilencerTypeEnum=pn;var An=P((function e(){b(this,e)}));An.COMPUTER={type:3,value:"COMPUTER"},An.DIRECTWATERHEATER={type:3,value:"DIRECTWATERHEATER"},An.DISHWASHER={type:3,value:"DISHWASHER"},An.ELECTRICCOOKER={type:3,value:"ELECTRICCOOKER"},An.ELECTRICHEATER={type:3,value:"ELECTRICHEATER"},An.FACSIMILE={type:3,value:"FACSIMILE"},An.FREESTANDINGFAN={type:3,value:"FREESTANDINGFAN"},An.FREEZER={type:3,value:"FREEZER"},An.FRIDGE_FREEZER={type:3,value:"FRIDGE_FREEZER"},An.HANDDRYER={type:3,value:"HANDDRYER"},An.INDIRECTWATERHEATER={type:3,value:"INDIRECTWATERHEATER"},An.MICROWAVE={type:3,value:"MICROWAVE"},An.PHOTOCOPIER={type:3,value:"PHOTOCOPIER"},An.PRINTER={type:3,value:"PRINTER"},An.REFRIGERATOR={type:3,value:"REFRIGERATOR"},An.RADIANTHEATER={type:3,value:"RADIANTHEATER"},An.SCANNER={type:3,value:"SCANNER"},An.TELEPHONE={type:3,value:"TELEPHONE"},An.TUMBLEDRYER={type:3,value:"TUMBLEDRYER"},An.TV={type:3,value:"TV"},An.VENDINGMACHINE={type:3,value:"VENDINGMACHINE"},An.WASHINGMACHINE={type:3,value:"WASHINGMACHINE"},An.WATERHEATER={type:3,value:"WATERHEATER"},An.WATERCOOLER={type:3,value:"WATERCOOLER"},An.USERDEFINED={type:3,value:"USERDEFINED"},An.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcElectricApplianceTypeEnum=An;var dn=P((function e(){b(this,e)}));dn.ALTERNATING={type:3,value:"ALTERNATING"},dn.DIRECT={type:3,value:"DIRECT"},dn.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcElectricCurrentEnum=dn;var vn=P((function e(){b(this,e)}));vn.ALARMPANEL={type:3,value:"ALARMPANEL"},vn.CONSUMERUNIT={type:3,value:"CONSUMERUNIT"},vn.CONTROLPANEL={type:3,value:"CONTROLPANEL"},vn.DISTRIBUTIONBOARD={type:3,value:"DISTRIBUTIONBOARD"},vn.GASDETECTORPANEL={type:3,value:"GASDETECTORPANEL"},vn.INDICATORPANEL={type:3,value:"INDICATORPANEL"},vn.MIMICPANEL={type:3,value:"MIMICPANEL"},vn.MOTORCONTROLCENTRE={type:3,value:"MOTORCONTROLCENTRE"},vn.SWITCHBOARD={type:3,value:"SWITCHBOARD"},vn.USERDEFINED={type:3,value:"USERDEFINED"},vn.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcElectricDistributionPointFunctionEnum=vn;var hn=P((function e(){b(this,e)}));hn.BATTERY={type:3,value:"BATTERY"},hn.CAPACITORBANK={type:3,value:"CAPACITORBANK"},hn.HARMONICFILTER={type:3,value:"HARMONICFILTER"},hn.INDUCTORBANK={type:3,value:"INDUCTORBANK"},hn.UPS={type:3,value:"UPS"},hn.USERDEFINED={type:3,value:"USERDEFINED"},hn.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcElectricFlowStorageDeviceTypeEnum=hn;var In=P((function e(){b(this,e)}));In.USERDEFINED={type:3,value:"USERDEFINED"},In.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcElectricGeneratorTypeEnum=In;var yn=P((function e(){b(this,e)}));yn.ELECTRICPOINTHEATER={type:3,value:"ELECTRICPOINTHEATER"},yn.ELECTRICCABLEHEATER={type:3,value:"ELECTRICCABLEHEATER"},yn.ELECTRICMATHEATER={type:3,value:"ELECTRICMATHEATER"},yn.USERDEFINED={type:3,value:"USERDEFINED"},yn.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcElectricHeaterTypeEnum=yn;var mn=P((function e(){b(this,e)}));mn.DC={type:3,value:"DC"},mn.INDUCTION={type:3,value:"INDUCTION"},mn.POLYPHASE={type:3,value:"POLYPHASE"},mn.RELUCTANCESYNCHRONOUS={type:3,value:"RELUCTANCESYNCHRONOUS"},mn.SYNCHRONOUS={type:3,value:"SYNCHRONOUS"},mn.USERDEFINED={type:3,value:"USERDEFINED"},mn.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcElectricMotorTypeEnum=mn;var wn=P((function e(){b(this,e)}));wn.TIMECLOCK={type:3,value:"TIMECLOCK"},wn.TIMEDELAY={type:3,value:"TIMEDELAY"},wn.RELAY={type:3,value:"RELAY"},wn.USERDEFINED={type:3,value:"USERDEFINED"},wn.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcElectricTimeControlTypeEnum=wn;var gn=P((function e(){b(this,e)}));gn.ACCESSORY_ASSEMBLY={type:3,value:"ACCESSORY_ASSEMBLY"},gn.ARCH={type:3,value:"ARCH"},gn.BEAM_GRID={type:3,value:"BEAM_GRID"},gn.BRACED_FRAME={type:3,value:"BRACED_FRAME"},gn.GIRDER={type:3,value:"GIRDER"},gn.REINFORCEMENT_UNIT={type:3,value:"REINFORCEMENT_UNIT"},gn.RIGID_FRAME={type:3,value:"RIGID_FRAME"},gn.SLAB_FIELD={type:3,value:"SLAB_FIELD"},gn.TRUSS={type:3,value:"TRUSS"},gn.USERDEFINED={type:3,value:"USERDEFINED"},gn.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcElementAssemblyTypeEnum=gn;var En=P((function e(){b(this,e)}));En.COMPLEX={type:3,value:"COMPLEX"},En.ELEMENT={type:3,value:"ELEMENT"},En.PARTIAL={type:3,value:"PARTIAL"},e.IfcElementCompositionEnum=En;var Tn=P((function e(){b(this,e)}));Tn.PRIMARY={type:3,value:"PRIMARY"},Tn.SECONDARY={type:3,value:"SECONDARY"},Tn.TERTIARY={type:3,value:"TERTIARY"},Tn.AUXILIARY={type:3,value:"AUXILIARY"},Tn.USERDEFINED={type:3,value:"USERDEFINED"},Tn.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcEnergySequenceEnum=Tn;var bn=P((function e(){b(this,e)}));bn.COMBINEDVALUE={type:3,value:"COMBINEDVALUE"},bn.DISPOSAL={type:3,value:"DISPOSAL"},bn.EXTRACTION={type:3,value:"EXTRACTION"},bn.INSTALLATION={type:3,value:"INSTALLATION"},bn.MANUFACTURE={type:3,value:"MANUFACTURE"},bn.TRANSPORTATION={type:3,value:"TRANSPORTATION"},bn.USERDEFINED={type:3,value:"USERDEFINED"},bn.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcEnvironmentalImpactCategoryEnum=bn;var Dn=P((function e(){b(this,e)}));Dn.DIRECTEVAPORATIVERANDOMMEDIAAIRCOOLER={type:3,value:"DIRECTEVAPORATIVERANDOMMEDIAAIRCOOLER"},Dn.DIRECTEVAPORATIVERIGIDMEDIAAIRCOOLER={type:3,value:"DIRECTEVAPORATIVERIGIDMEDIAAIRCOOLER"},Dn.DIRECTEVAPORATIVESLINGERSPACKAGEDAIRCOOLER={type:3,value:"DIRECTEVAPORATIVESLINGERSPACKAGEDAIRCOOLER"},Dn.DIRECTEVAPORATIVEPACKAGEDROTARYAIRCOOLER={type:3,value:"DIRECTEVAPORATIVEPACKAGEDROTARYAIRCOOLER"},Dn.DIRECTEVAPORATIVEAIRWASHER={type:3,value:"DIRECTEVAPORATIVEAIRWASHER"},Dn.INDIRECTEVAPORATIVEPACKAGEAIRCOOLER={type:3,value:"INDIRECTEVAPORATIVEPACKAGEAIRCOOLER"},Dn.INDIRECTEVAPORATIVEWETCOIL={type:3,value:"INDIRECTEVAPORATIVEWETCOIL"},Dn.INDIRECTEVAPORATIVECOOLINGTOWERORCOILCOOLER={type:3,value:"INDIRECTEVAPORATIVECOOLINGTOWERORCOILCOOLER"},Dn.INDIRECTDIRECTCOMBINATION={type:3,value:"INDIRECTDIRECTCOMBINATION"},Dn.USERDEFINED={type:3,value:"USERDEFINED"},Dn.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcEvaporativeCoolerTypeEnum=Dn;var Pn=P((function e(){b(this,e)}));Pn.DIRECTEXPANSIONSHELLANDTUBE={type:3,value:"DIRECTEXPANSIONSHELLANDTUBE"},Pn.DIRECTEXPANSIONTUBEINTUBE={type:3,value:"DIRECTEXPANSIONTUBEINTUBE"},Pn.DIRECTEXPANSIONBRAZEDPLATE={type:3,value:"DIRECTEXPANSIONBRAZEDPLATE"},Pn.FLOODEDSHELLANDTUBE={type:3,value:"FLOODEDSHELLANDTUBE"},Pn.SHELLANDCOIL={type:3,value:"SHELLANDCOIL"},Pn.USERDEFINED={type:3,value:"USERDEFINED"},Pn.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcEvaporatorTypeEnum=Pn;var Rn=P((function e(){b(this,e)}));Rn.CENTRIFUGALFORWARDCURVED={type:3,value:"CENTRIFUGALFORWARDCURVED"},Rn.CENTRIFUGALRADIAL={type:3,value:"CENTRIFUGALRADIAL"},Rn.CENTRIFUGALBACKWARDINCLINEDCURVED={type:3,value:"CENTRIFUGALBACKWARDINCLINEDCURVED"},Rn.CENTRIFUGALAIRFOIL={type:3,value:"CENTRIFUGALAIRFOIL"},Rn.TUBEAXIAL={type:3,value:"TUBEAXIAL"},Rn.VANEAXIAL={type:3,value:"VANEAXIAL"},Rn.PROPELLORAXIAL={type:3,value:"PROPELLORAXIAL"},Rn.USERDEFINED={type:3,value:"USERDEFINED"},Rn.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcFanTypeEnum=Rn;var Cn=P((function e(){b(this,e)}));Cn.AIRPARTICLEFILTER={type:3,value:"AIRPARTICLEFILTER"},Cn.ODORFILTER={type:3,value:"ODORFILTER"},Cn.OILFILTER={type:3,value:"OILFILTER"},Cn.STRAINER={type:3,value:"STRAINER"},Cn.WATERFILTER={type:3,value:"WATERFILTER"},Cn.USERDEFINED={type:3,value:"USERDEFINED"},Cn.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcFilterTypeEnum=Cn;var _n=P((function e(){b(this,e)}));_n.BREECHINGINLET={type:3,value:"BREECHINGINLET"},_n.FIREHYDRANT={type:3,value:"FIREHYDRANT"},_n.HOSEREEL={type:3,value:"HOSEREEL"},_n.SPRINKLER={type:3,value:"SPRINKLER"},_n.SPRINKLERDEFLECTOR={type:3,value:"SPRINKLERDEFLECTOR"},_n.USERDEFINED={type:3,value:"USERDEFINED"},_n.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcFireSuppressionTerminalTypeEnum=_n;var Bn=P((function e(){b(this,e)}));Bn.SOURCE={type:3,value:"SOURCE"},Bn.SINK={type:3,value:"SINK"},Bn.SOURCEANDSINK={type:3,value:"SOURCEANDSINK"},Bn.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcFlowDirectionEnum=Bn;var On=P((function e(){b(this,e)}));On.PRESSUREGAUGE={type:3,value:"PRESSUREGAUGE"},On.THERMOMETER={type:3,value:"THERMOMETER"},On.AMMETER={type:3,value:"AMMETER"},On.FREQUENCYMETER={type:3,value:"FREQUENCYMETER"},On.POWERFACTORMETER={type:3,value:"POWERFACTORMETER"},On.PHASEANGLEMETER={type:3,value:"PHASEANGLEMETER"},On.VOLTMETER_PEAK={type:3,value:"VOLTMETER_PEAK"},On.VOLTMETER_RMS={type:3,value:"VOLTMETER_RMS"},On.USERDEFINED={type:3,value:"USERDEFINED"},On.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcFlowInstrumentTypeEnum=On;var Sn=P((function e(){b(this,e)}));Sn.ELECTRICMETER={type:3,value:"ELECTRICMETER"},Sn.ENERGYMETER={type:3,value:"ENERGYMETER"},Sn.FLOWMETER={type:3,value:"FLOWMETER"},Sn.GASMETER={type:3,value:"GASMETER"},Sn.OILMETER={type:3,value:"OILMETER"},Sn.WATERMETER={type:3,value:"WATERMETER"},Sn.USERDEFINED={type:3,value:"USERDEFINED"},Sn.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcFlowMeterTypeEnum=Sn;var Nn=P((function e(){b(this,e)}));Nn.FOOTING_BEAM={type:3,value:"FOOTING_BEAM"},Nn.PAD_FOOTING={type:3,value:"PAD_FOOTING"},Nn.PILE_CAP={type:3,value:"PILE_CAP"},Nn.STRIP_FOOTING={type:3,value:"STRIP_FOOTING"},Nn.USERDEFINED={type:3,value:"USERDEFINED"},Nn.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcFootingTypeEnum=Nn;var Ln=P((function e(){b(this,e)}));Ln.GASAPPLIANCE={type:3,value:"GASAPPLIANCE"},Ln.GASBOOSTER={type:3,value:"GASBOOSTER"},Ln.GASBURNER={type:3,value:"GASBURNER"},Ln.USERDEFINED={type:3,value:"USERDEFINED"},Ln.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcGasTerminalTypeEnum=Ln;var xn=P((function e(){b(this,e)}));xn.GRAPH_VIEW={type:3,value:"GRAPH_VIEW"},xn.SKETCH_VIEW={type:3,value:"SKETCH_VIEW"},xn.MODEL_VIEW={type:3,value:"MODEL_VIEW"},xn.PLAN_VIEW={type:3,value:"PLAN_VIEW"},xn.REFLECTED_PLAN_VIEW={type:3,value:"REFLECTED_PLAN_VIEW"},xn.SECTION_VIEW={type:3,value:"SECTION_VIEW"},xn.ELEVATION_VIEW={type:3,value:"ELEVATION_VIEW"},xn.USERDEFINED={type:3,value:"USERDEFINED"},xn.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcGeometricProjectionEnum=xn;var Mn=P((function e(){b(this,e)}));Mn.GLOBAL_COORDS={type:3,value:"GLOBAL_COORDS"},Mn.LOCAL_COORDS={type:3,value:"LOCAL_COORDS"},e.IfcGlobalOrLocalEnum=Mn;var Fn=P((function e(){b(this,e)}));Fn.PLATE={type:3,value:"PLATE"},Fn.SHELLANDTUBE={type:3,value:"SHELLANDTUBE"},Fn.USERDEFINED={type:3,value:"USERDEFINED"},Fn.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcHeatExchangerTypeEnum=Fn;var Hn=P((function e(){b(this,e)}));Hn.STEAMINJECTION={type:3,value:"STEAMINJECTION"},Hn.ADIABATICAIRWASHER={type:3,value:"ADIABATICAIRWASHER"},Hn.ADIABATICPAN={type:3,value:"ADIABATICPAN"},Hn.ADIABATICWETTEDELEMENT={type:3,value:"ADIABATICWETTEDELEMENT"},Hn.ADIABATICATOMIZING={type:3,value:"ADIABATICATOMIZING"},Hn.ADIABATICULTRASONIC={type:3,value:"ADIABATICULTRASONIC"},Hn.ADIABATICRIGIDMEDIA={type:3,value:"ADIABATICRIGIDMEDIA"},Hn.ADIABATICCOMPRESSEDAIRNOZZLE={type:3,value:"ADIABATICCOMPRESSEDAIRNOZZLE"},Hn.ASSISTEDELECTRIC={type:3,value:"ASSISTEDELECTRIC"},Hn.ASSISTEDNATURALGAS={type:3,value:"ASSISTEDNATURALGAS"},Hn.ASSISTEDPROPANE={type:3,value:"ASSISTEDPROPANE"},Hn.ASSISTEDBUTANE={type:3,value:"ASSISTEDBUTANE"},Hn.ASSISTEDSTEAM={type:3,value:"ASSISTEDSTEAM"},Hn.USERDEFINED={type:3,value:"USERDEFINED"},Hn.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcHumidifierTypeEnum=Hn;var Un=P((function e(){b(this,e)}));Un.INTERNAL={type:3,value:"INTERNAL"},Un.EXTERNAL={type:3,value:"EXTERNAL"},Un.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcInternalOrExternalEnum=Un;var Gn=P((function e(){b(this,e)}));Gn.ASSETINVENTORY={type:3,value:"ASSETINVENTORY"},Gn.SPACEINVENTORY={type:3,value:"SPACEINVENTORY"},Gn.FURNITUREINVENTORY={type:3,value:"FURNITUREINVENTORY"},Gn.USERDEFINED={type:3,value:"USERDEFINED"},Gn.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcInventoryTypeEnum=Gn;var kn=P((function e(){b(this,e)}));kn.USERDEFINED={type:3,value:"USERDEFINED"},kn.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcJunctionBoxTypeEnum=kn;var jn=P((function e(){b(this,e)}));jn.COMPACTFLUORESCENT={type:3,value:"COMPACTFLUORESCENT"},jn.FLUORESCENT={type:3,value:"FLUORESCENT"},jn.HIGHPRESSUREMERCURY={type:3,value:"HIGHPRESSUREMERCURY"},jn.HIGHPRESSURESODIUM={type:3,value:"HIGHPRESSURESODIUM"},jn.METALHALIDE={type:3,value:"METALHALIDE"},jn.TUNGSTENFILAMENT={type:3,value:"TUNGSTENFILAMENT"},jn.USERDEFINED={type:3,value:"USERDEFINED"},jn.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcLampTypeEnum=jn;var Vn=P((function e(){b(this,e)}));Vn.AXIS1={type:3,value:"AXIS1"},Vn.AXIS2={type:3,value:"AXIS2"},Vn.AXIS3={type:3,value:"AXIS3"},e.IfcLayerSetDirectionEnum=Vn;var Qn=P((function e(){b(this,e)}));Qn.TYPE_A={type:3,value:"TYPE_A"},Qn.TYPE_B={type:3,value:"TYPE_B"},Qn.TYPE_C={type:3,value:"TYPE_C"},Qn.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcLightDistributionCurveEnum=Qn;var Wn=P((function e(){b(this,e)}));Wn.COMPACTFLUORESCENT={type:3,value:"COMPACTFLUORESCENT"},Wn.FLUORESCENT={type:3,value:"FLUORESCENT"},Wn.HIGHPRESSUREMERCURY={type:3,value:"HIGHPRESSUREMERCURY"},Wn.HIGHPRESSURESODIUM={type:3,value:"HIGHPRESSURESODIUM"},Wn.LIGHTEMITTINGDIODE={type:3,value:"LIGHTEMITTINGDIODE"},Wn.LOWPRESSURESODIUM={type:3,value:"LOWPRESSURESODIUM"},Wn.LOWVOLTAGEHALOGEN={type:3,value:"LOWVOLTAGEHALOGEN"},Wn.MAINVOLTAGEHALOGEN={type:3,value:"MAINVOLTAGEHALOGEN"},Wn.METALHALIDE={type:3,value:"METALHALIDE"},Wn.TUNGSTENFILAMENT={type:3,value:"TUNGSTENFILAMENT"},Wn.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcLightEmissionSourceEnum=Wn;var zn=P((function e(){b(this,e)}));zn.POINTSOURCE={type:3,value:"POINTSOURCE"},zn.DIRECTIONSOURCE={type:3,value:"DIRECTIONSOURCE"},zn.USERDEFINED={type:3,value:"USERDEFINED"},zn.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcLightFixtureTypeEnum=zn;var Kn=P((function e(){b(this,e)}));Kn.LOAD_GROUP={type:3,value:"LOAD_GROUP"},Kn.LOAD_CASE={type:3,value:"LOAD_CASE"},Kn.LOAD_COMBINATION_GROUP={type:3,value:"LOAD_COMBINATION_GROUP"},Kn.LOAD_COMBINATION={type:3,value:"LOAD_COMBINATION"},Kn.USERDEFINED={type:3,value:"USERDEFINED"},Kn.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcLoadGroupTypeEnum=Kn;var Yn=P((function e(){b(this,e)}));Yn.LOGICALAND={type:3,value:"LOGICALAND"},Yn.LOGICALOR={type:3,value:"LOGICALOR"},e.IfcLogicalOperatorEnum=Yn;var Xn=P((function e(){b(this,e)}));Xn.BRACE={type:3,value:"BRACE"},Xn.CHORD={type:3,value:"CHORD"},Xn.COLLAR={type:3,value:"COLLAR"},Xn.MEMBER={type:3,value:"MEMBER"},Xn.MULLION={type:3,value:"MULLION"},Xn.PLATE={type:3,value:"PLATE"},Xn.POST={type:3,value:"POST"},Xn.PURLIN={type:3,value:"PURLIN"},Xn.RAFTER={type:3,value:"RAFTER"},Xn.STRINGER={type:3,value:"STRINGER"},Xn.STRUT={type:3,value:"STRUT"},Xn.STUD={type:3,value:"STUD"},Xn.USERDEFINED={type:3,value:"USERDEFINED"},Xn.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcMemberTypeEnum=Xn;var qn=P((function e(){b(this,e)}));qn.BELTDRIVE={type:3,value:"BELTDRIVE"},qn.COUPLING={type:3,value:"COUPLING"},qn.DIRECTDRIVE={type:3,value:"DIRECTDRIVE"},qn.USERDEFINED={type:3,value:"USERDEFINED"},qn.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcMotorConnectionTypeEnum=qn;var Jn=P((function e(){b(this,e)}));Jn.NULL={type:3,value:"NULL"},e.IfcNullStyle=Jn;var Zn=P((function e(){b(this,e)}));Zn.PRODUCT={type:3,value:"PRODUCT"},Zn.PROCESS={type:3,value:"PROCESS"},Zn.CONTROL={type:3,value:"CONTROL"},Zn.RESOURCE={type:3,value:"RESOURCE"},Zn.ACTOR={type:3,value:"ACTOR"},Zn.GROUP={type:3,value:"GROUP"},Zn.PROJECT={type:3,value:"PROJECT"},Zn.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcObjectTypeEnum=Zn;var $n=P((function e(){b(this,e)}));$n.CODECOMPLIANCE={type:3,value:"CODECOMPLIANCE"},$n.DESIGNINTENT={type:3,value:"DESIGNINTENT"},$n.HEALTHANDSAFETY={type:3,value:"HEALTHANDSAFETY"},$n.REQUIREMENT={type:3,value:"REQUIREMENT"},$n.SPECIFICATION={type:3,value:"SPECIFICATION"},$n.TRIGGERCONDITION={type:3,value:"TRIGGERCONDITION"},$n.USERDEFINED={type:3,value:"USERDEFINED"},$n.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcObjectiveEnum=$n;var er=P((function e(){b(this,e)}));er.ASSIGNEE={type:3,value:"ASSIGNEE"},er.ASSIGNOR={type:3,value:"ASSIGNOR"},er.LESSEE={type:3,value:"LESSEE"},er.LESSOR={type:3,value:"LESSOR"},er.LETTINGAGENT={type:3,value:"LETTINGAGENT"},er.OWNER={type:3,value:"OWNER"},er.TENANT={type:3,value:"TENANT"},er.USERDEFINED={type:3,value:"USERDEFINED"},er.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcOccupantTypeEnum=er;var tr=P((function e(){b(this,e)}));tr.AUDIOVISUALOUTLET={type:3,value:"AUDIOVISUALOUTLET"},tr.COMMUNICATIONSOUTLET={type:3,value:"COMMUNICATIONSOUTLET"},tr.POWEROUTLET={type:3,value:"POWEROUTLET"},tr.USERDEFINED={type:3,value:"USERDEFINED"},tr.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcOutletTypeEnum=tr;var nr=P((function e(){b(this,e)}));nr.GRILL={type:3,value:"GRILL"},nr.LOUVER={type:3,value:"LOUVER"},nr.SCREEN={type:3,value:"SCREEN"},nr.USERDEFINED={type:3,value:"USERDEFINED"},nr.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcPermeableCoveringOperationEnum=nr;var rr=P((function e(){b(this,e)}));rr.PHYSICAL={type:3,value:"PHYSICAL"},rr.VIRTUAL={type:3,value:"VIRTUAL"},rr.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcPhysicalOrVirtualEnum=rr;var ir=P((function e(){b(this,e)}));ir.CAST_IN_PLACE={type:3,value:"CAST_IN_PLACE"},ir.COMPOSITE={type:3,value:"COMPOSITE"},ir.PRECAST_CONCRETE={type:3,value:"PRECAST_CONCRETE"},ir.PREFAB_STEEL={type:3,value:"PREFAB_STEEL"},ir.USERDEFINED={type:3,value:"USERDEFINED"},ir.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcPileConstructionEnum=ir;var ar=P((function e(){b(this,e)}));ar.COHESION={type:3,value:"COHESION"},ar.FRICTION={type:3,value:"FRICTION"},ar.SUPPORT={type:3,value:"SUPPORT"},ar.USERDEFINED={type:3,value:"USERDEFINED"},ar.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcPileTypeEnum=ar;var sr=P((function e(){b(this,e)}));sr.BEND={type:3,value:"BEND"},sr.CONNECTOR={type:3,value:"CONNECTOR"},sr.ENTRY={type:3,value:"ENTRY"},sr.EXIT={type:3,value:"EXIT"},sr.JUNCTION={type:3,value:"JUNCTION"},sr.OBSTRUCTION={type:3,value:"OBSTRUCTION"},sr.TRANSITION={type:3,value:"TRANSITION"},sr.USERDEFINED={type:3,value:"USERDEFINED"},sr.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcPipeFittingTypeEnum=sr;var or=P((function e(){b(this,e)}));or.FLEXIBLESEGMENT={type:3,value:"FLEXIBLESEGMENT"},or.RIGIDSEGMENT={type:3,value:"RIGIDSEGMENT"},or.GUTTER={type:3,value:"GUTTER"},or.SPOOL={type:3,value:"SPOOL"},or.USERDEFINED={type:3,value:"USERDEFINED"},or.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcPipeSegmentTypeEnum=or;var lr=P((function e(){b(this,e)}));lr.CURTAIN_PANEL={type:3,value:"CURTAIN_PANEL"},lr.SHEET={type:3,value:"SHEET"},lr.USERDEFINED={type:3,value:"USERDEFINED"},lr.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcPlateTypeEnum=lr;var ur=P((function e(){b(this,e)}));ur.ADVICE_CAUTION={type:3,value:"ADVICE_CAUTION"},ur.ADVICE_NOTE={type:3,value:"ADVICE_NOTE"},ur.ADVICE_WARNING={type:3,value:"ADVICE_WARNING"},ur.CALIBRATION={type:3,value:"CALIBRATION"},ur.DIAGNOSTIC={type:3,value:"DIAGNOSTIC"},ur.SHUTDOWN={type:3,value:"SHUTDOWN"},ur.STARTUP={type:3,value:"STARTUP"},ur.USERDEFINED={type:3,value:"USERDEFINED"},ur.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcProcedureTypeEnum=ur;var cr=P((function e(){b(this,e)}));cr.CURVE={type:3,value:"CURVE"},cr.AREA={type:3,value:"AREA"},e.IfcProfileTypeEnum=cr;var fr=P((function e(){b(this,e)}));fr.CHANGE={type:3,value:"CHANGE"},fr.MAINTENANCE={type:3,value:"MAINTENANCE"},fr.MOVE={type:3,value:"MOVE"},fr.PURCHASE={type:3,value:"PURCHASE"},fr.WORK={type:3,value:"WORK"},fr.USERDEFINED={type:3,value:"USERDEFINED"},fr.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcProjectOrderRecordTypeEnum=fr;var pr=P((function e(){b(this,e)}));pr.CHANGEORDER={type:3,value:"CHANGEORDER"},pr.MAINTENANCEWORKORDER={type:3,value:"MAINTENANCEWORKORDER"},pr.MOVEORDER={type:3,value:"MOVEORDER"},pr.PURCHASEORDER={type:3,value:"PURCHASEORDER"},pr.WORKORDER={type:3,value:"WORKORDER"},pr.USERDEFINED={type:3,value:"USERDEFINED"},pr.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcProjectOrderTypeEnum=pr;var Ar=P((function e(){b(this,e)}));Ar.PROJECTED_LENGTH={type:3,value:"PROJECTED_LENGTH"},Ar.TRUE_LENGTH={type:3,value:"TRUE_LENGTH"},e.IfcProjectedOrTrueLengthEnum=Ar;var dr=P((function e(){b(this,e)}));dr.DESIGN={type:3,value:"DESIGN"},dr.DESIGNMAXIMUM={type:3,value:"DESIGNMAXIMUM"},dr.DESIGNMINIMUM={type:3,value:"DESIGNMINIMUM"},dr.SIMULATED={type:3,value:"SIMULATED"},dr.ASBUILT={type:3,value:"ASBUILT"},dr.COMMISSIONING={type:3,value:"COMMISSIONING"},dr.MEASURED={type:3,value:"MEASURED"},dr.USERDEFINED={type:3,value:"USERDEFINED"},dr.NOTKNOWN={type:3,value:"NOTKNOWN"},e.IfcPropertySourceEnum=dr;var vr=P((function e(){b(this,e)}));vr.FUSEDISCONNECTOR={type:3,value:"FUSEDISCONNECTOR"},vr.CIRCUITBREAKER={type:3,value:"CIRCUITBREAKER"},vr.EARTHFAILUREDEVICE={type:3,value:"EARTHFAILUREDEVICE"},vr.RESIDUALCURRENTCIRCUITBREAKER={type:3,value:"RESIDUALCURRENTCIRCUITBREAKER"},vr.RESIDUALCURRENTSWITCH={type:3,value:"RESIDUALCURRENTSWITCH"},vr.VARISTOR={type:3,value:"VARISTOR"},vr.USERDEFINED={type:3,value:"USERDEFINED"},vr.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcProtectiveDeviceTypeEnum=vr;var hr=P((function e(){b(this,e)}));hr.CIRCULATOR={type:3,value:"CIRCULATOR"},hr.ENDSUCTION={type:3,value:"ENDSUCTION"},hr.SPLITCASE={type:3,value:"SPLITCASE"},hr.VERTICALINLINE={type:3,value:"VERTICALINLINE"},hr.VERTICALTURBINE={type:3,value:"VERTICALTURBINE"},hr.USERDEFINED={type:3,value:"USERDEFINED"},hr.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcPumpTypeEnum=hr;var Ir=P((function e(){b(this,e)}));Ir.HANDRAIL={type:3,value:"HANDRAIL"},Ir.GUARDRAIL={type:3,value:"GUARDRAIL"},Ir.BALUSTRADE={type:3,value:"BALUSTRADE"},Ir.USERDEFINED={type:3,value:"USERDEFINED"},Ir.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcRailingTypeEnum=Ir;var yr=P((function e(){b(this,e)}));yr.STRAIGHT={type:3,value:"STRAIGHT"},yr.SPIRAL={type:3,value:"SPIRAL"},yr.USERDEFINED={type:3,value:"USERDEFINED"},yr.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcRampFlightTypeEnum=yr;var mr=P((function e(){b(this,e)}));mr.STRAIGHT_RUN_RAMP={type:3,value:"STRAIGHT_RUN_RAMP"},mr.TWO_STRAIGHT_RUN_RAMP={type:3,value:"TWO_STRAIGHT_RUN_RAMP"},mr.QUARTER_TURN_RAMP={type:3,value:"QUARTER_TURN_RAMP"},mr.TWO_QUARTER_TURN_RAMP={type:3,value:"TWO_QUARTER_TURN_RAMP"},mr.HALF_TURN_RAMP={type:3,value:"HALF_TURN_RAMP"},mr.SPIRAL_RAMP={type:3,value:"SPIRAL_RAMP"},mr.USERDEFINED={type:3,value:"USERDEFINED"},mr.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcRampTypeEnum=mr;var wr=P((function e(){b(this,e)}));wr.BLINN={type:3,value:"BLINN"},wr.FLAT={type:3,value:"FLAT"},wr.GLASS={type:3,value:"GLASS"},wr.MATT={type:3,value:"MATT"},wr.METAL={type:3,value:"METAL"},wr.MIRROR={type:3,value:"MIRROR"},wr.PHONG={type:3,value:"PHONG"},wr.PLASTIC={type:3,value:"PLASTIC"},wr.STRAUSS={type:3,value:"STRAUSS"},wr.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcReflectanceMethodEnum=wr;var gr=P((function e(){b(this,e)}));gr.MAIN={type:3,value:"MAIN"},gr.SHEAR={type:3,value:"SHEAR"},gr.LIGATURE={type:3,value:"LIGATURE"},gr.STUD={type:3,value:"STUD"},gr.PUNCHING={type:3,value:"PUNCHING"},gr.EDGE={type:3,value:"EDGE"},gr.RING={type:3,value:"RING"},gr.USERDEFINED={type:3,value:"USERDEFINED"},gr.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcReinforcingBarRoleEnum=gr;var Er=P((function e(){b(this,e)}));Er.PLAIN={type:3,value:"PLAIN"},Er.TEXTURED={type:3,value:"TEXTURED"},e.IfcReinforcingBarSurfaceEnum=Er;var Tr=P((function e(){b(this,e)}));Tr.CONSUMED={type:3,value:"CONSUMED"},Tr.PARTIALLYCONSUMED={type:3,value:"PARTIALLYCONSUMED"},Tr.NOTCONSUMED={type:3,value:"NOTCONSUMED"},Tr.OCCUPIED={type:3,value:"OCCUPIED"},Tr.PARTIALLYOCCUPIED={type:3,value:"PARTIALLYOCCUPIED"},Tr.NOTOCCUPIED={type:3,value:"NOTOCCUPIED"},Tr.USERDEFINED={type:3,value:"USERDEFINED"},Tr.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcResourceConsumptionEnum=Tr;var br=P((function e(){b(this,e)}));br.DIRECTION_X={type:3,value:"DIRECTION_X"},br.DIRECTION_Y={type:3,value:"DIRECTION_Y"},e.IfcRibPlateDirectionEnum=br;var Dr=P((function e(){b(this,e)}));Dr.SUPPLIER={type:3,value:"SUPPLIER"},Dr.MANUFACTURER={type:3,value:"MANUFACTURER"},Dr.CONTRACTOR={type:3,value:"CONTRACTOR"},Dr.SUBCONTRACTOR={type:3,value:"SUBCONTRACTOR"},Dr.ARCHITECT={type:3,value:"ARCHITECT"},Dr.STRUCTURALENGINEER={type:3,value:"STRUCTURALENGINEER"},Dr.COSTENGINEER={type:3,value:"COSTENGINEER"},Dr.CLIENT={type:3,value:"CLIENT"},Dr.BUILDINGOWNER={type:3,value:"BUILDINGOWNER"},Dr.BUILDINGOPERATOR={type:3,value:"BUILDINGOPERATOR"},Dr.MECHANICALENGINEER={type:3,value:"MECHANICALENGINEER"},Dr.ELECTRICALENGINEER={type:3,value:"ELECTRICALENGINEER"},Dr.PROJECTMANAGER={type:3,value:"PROJECTMANAGER"},Dr.FACILITIESMANAGER={type:3,value:"FACILITIESMANAGER"},Dr.CIVILENGINEER={type:3,value:"CIVILENGINEER"},Dr.COMISSIONINGENGINEER={type:3,value:"COMISSIONINGENGINEER"},Dr.ENGINEER={type:3,value:"ENGINEER"},Dr.OWNER={type:3,value:"OWNER"},Dr.CONSULTANT={type:3,value:"CONSULTANT"},Dr.CONSTRUCTIONMANAGER={type:3,value:"CONSTRUCTIONMANAGER"},Dr.FIELDCONSTRUCTIONMANAGER={type:3,value:"FIELDCONSTRUCTIONMANAGER"},Dr.RESELLER={type:3,value:"RESELLER"},Dr.USERDEFINED={type:3,value:"USERDEFINED"},e.IfcRoleEnum=Dr;var Pr=P((function e(){b(this,e)}));Pr.FLAT_ROOF={type:3,value:"FLAT_ROOF"},Pr.SHED_ROOF={type:3,value:"SHED_ROOF"},Pr.GABLE_ROOF={type:3,value:"GABLE_ROOF"},Pr.HIP_ROOF={type:3,value:"HIP_ROOF"},Pr.HIPPED_GABLE_ROOF={type:3,value:"HIPPED_GABLE_ROOF"},Pr.GAMBREL_ROOF={type:3,value:"GAMBREL_ROOF"},Pr.MANSARD_ROOF={type:3,value:"MANSARD_ROOF"},Pr.BARREL_ROOF={type:3,value:"BARREL_ROOF"},Pr.RAINBOW_ROOF={type:3,value:"RAINBOW_ROOF"},Pr.BUTTERFLY_ROOF={type:3,value:"BUTTERFLY_ROOF"},Pr.PAVILION_ROOF={type:3,value:"PAVILION_ROOF"},Pr.DOME_ROOF={type:3,value:"DOME_ROOF"},Pr.FREEFORM={type:3,value:"FREEFORM"},Pr.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcRoofTypeEnum=Pr;var Rr=P((function e(){b(this,e)}));Rr.EXA={type:3,value:"EXA"},Rr.PETA={type:3,value:"PETA"},Rr.TERA={type:3,value:"TERA"},Rr.GIGA={type:3,value:"GIGA"},Rr.MEGA={type:3,value:"MEGA"},Rr.KILO={type:3,value:"KILO"},Rr.HECTO={type:3,value:"HECTO"},Rr.DECA={type:3,value:"DECA"},Rr.DECI={type:3,value:"DECI"},Rr.CENTI={type:3,value:"CENTI"},Rr.MILLI={type:3,value:"MILLI"},Rr.MICRO={type:3,value:"MICRO"},Rr.NANO={type:3,value:"NANO"},Rr.PICO={type:3,value:"PICO"},Rr.FEMTO={type:3,value:"FEMTO"},Rr.ATTO={type:3,value:"ATTO"},e.IfcSIPrefix=Rr;var Cr=P((function e(){b(this,e)}));Cr.AMPERE={type:3,value:"AMPERE"},Cr.BECQUEREL={type:3,value:"BECQUEREL"},Cr.CANDELA={type:3,value:"CANDELA"},Cr.COULOMB={type:3,value:"COULOMB"},Cr.CUBIC_METRE={type:3,value:"CUBIC_METRE"},Cr.DEGREE_CELSIUS={type:3,value:"DEGREE_CELSIUS"},Cr.FARAD={type:3,value:"FARAD"},Cr.GRAM={type:3,value:"GRAM"},Cr.GRAY={type:3,value:"GRAY"},Cr.HENRY={type:3,value:"HENRY"},Cr.HERTZ={type:3,value:"HERTZ"},Cr.JOULE={type:3,value:"JOULE"},Cr.KELVIN={type:3,value:"KELVIN"},Cr.LUMEN={type:3,value:"LUMEN"},Cr.LUX={type:3,value:"LUX"},Cr.METRE={type:3,value:"METRE"},Cr.MOLE={type:3,value:"MOLE"},Cr.NEWTON={type:3,value:"NEWTON"},Cr.OHM={type:3,value:"OHM"},Cr.PASCAL={type:3,value:"PASCAL"},Cr.RADIAN={type:3,value:"RADIAN"},Cr.SECOND={type:3,value:"SECOND"},Cr.SIEMENS={type:3,value:"SIEMENS"},Cr.SIEVERT={type:3,value:"SIEVERT"},Cr.SQUARE_METRE={type:3,value:"SQUARE_METRE"},Cr.STERADIAN={type:3,value:"STERADIAN"},Cr.TESLA={type:3,value:"TESLA"},Cr.VOLT={type:3,value:"VOLT"},Cr.WATT={type:3,value:"WATT"},Cr.WEBER={type:3,value:"WEBER"},e.IfcSIUnitName=Cr;var _r=P((function e(){b(this,e)}));_r.BATH={type:3,value:"BATH"},_r.BIDET={type:3,value:"BIDET"},_r.CISTERN={type:3,value:"CISTERN"},_r.SHOWER={type:3,value:"SHOWER"},_r.SINK={type:3,value:"SINK"},_r.SANITARYFOUNTAIN={type:3,value:"SANITARYFOUNTAIN"},_r.TOILETPAN={type:3,value:"TOILETPAN"},_r.URINAL={type:3,value:"URINAL"},_r.WASHHANDBASIN={type:3,value:"WASHHANDBASIN"},_r.WCSEAT={type:3,value:"WCSEAT"},_r.USERDEFINED={type:3,value:"USERDEFINED"},_r.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcSanitaryTerminalTypeEnum=_r;var Br=P((function e(){b(this,e)}));Br.UNIFORM={type:3,value:"UNIFORM"},Br.TAPERED={type:3,value:"TAPERED"},e.IfcSectionTypeEnum=Br;var Or=P((function e(){b(this,e)}));Or.CO2SENSOR={type:3,value:"CO2SENSOR"},Or.FIRESENSOR={type:3,value:"FIRESENSOR"},Or.FLOWSENSOR={type:3,value:"FLOWSENSOR"},Or.GASSENSOR={type:3,value:"GASSENSOR"},Or.HEATSENSOR={type:3,value:"HEATSENSOR"},Or.HUMIDITYSENSOR={type:3,value:"HUMIDITYSENSOR"},Or.LIGHTSENSOR={type:3,value:"LIGHTSENSOR"},Or.MOISTURESENSOR={type:3,value:"MOISTURESENSOR"},Or.MOVEMENTSENSOR={type:3,value:"MOVEMENTSENSOR"},Or.PRESSURESENSOR={type:3,value:"PRESSURESENSOR"},Or.SMOKESENSOR={type:3,value:"SMOKESENSOR"},Or.SOUNDSENSOR={type:3,value:"SOUNDSENSOR"},Or.TEMPERATURESENSOR={type:3,value:"TEMPERATURESENSOR"},Or.USERDEFINED={type:3,value:"USERDEFINED"},Or.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcSensorTypeEnum=Or;var Sr=P((function e(){b(this,e)}));Sr.START_START={type:3,value:"START_START"},Sr.START_FINISH={type:3,value:"START_FINISH"},Sr.FINISH_START={type:3,value:"FINISH_START"},Sr.FINISH_FINISH={type:3,value:"FINISH_FINISH"},Sr.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcSequenceEnum=Sr;var Nr=P((function e(){b(this,e)}));Nr.A_QUALITYOFCOMPONENTS={type:3,value:"A_QUALITYOFCOMPONENTS"},Nr.B_DESIGNLEVEL={type:3,value:"B_DESIGNLEVEL"},Nr.C_WORKEXECUTIONLEVEL={type:3,value:"C_WORKEXECUTIONLEVEL"},Nr.D_INDOORENVIRONMENT={type:3,value:"D_INDOORENVIRONMENT"},Nr.E_OUTDOORENVIRONMENT={type:3,value:"E_OUTDOORENVIRONMENT"},Nr.F_INUSECONDITIONS={type:3,value:"F_INUSECONDITIONS"},Nr.G_MAINTENANCELEVEL={type:3,value:"G_MAINTENANCELEVEL"},Nr.USERDEFINED={type:3,value:"USERDEFINED"},Nr.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcServiceLifeFactorTypeEnum=Nr;var Lr=P((function e(){b(this,e)}));Lr.ACTUALSERVICELIFE={type:3,value:"ACTUALSERVICELIFE"},Lr.EXPECTEDSERVICELIFE={type:3,value:"EXPECTEDSERVICELIFE"},Lr.OPTIMISTICREFERENCESERVICELIFE={type:3,value:"OPTIMISTICREFERENCESERVICELIFE"},Lr.PESSIMISTICREFERENCESERVICELIFE={type:3,value:"PESSIMISTICREFERENCESERVICELIFE"},Lr.REFERENCESERVICELIFE={type:3,value:"REFERENCESERVICELIFE"},e.IfcServiceLifeTypeEnum=Lr;var xr=P((function e(){b(this,e)}));xr.FLOOR={type:3,value:"FLOOR"},xr.ROOF={type:3,value:"ROOF"},xr.LANDING={type:3,value:"LANDING"},xr.BASESLAB={type:3,value:"BASESLAB"},xr.USERDEFINED={type:3,value:"USERDEFINED"},xr.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcSlabTypeEnum=xr;var Mr=P((function e(){b(this,e)}));Mr.DBA={type:3,value:"DBA"},Mr.DBB={type:3,value:"DBB"},Mr.DBC={type:3,value:"DBC"},Mr.NC={type:3,value:"NC"},Mr.NR={type:3,value:"NR"},Mr.USERDEFINED={type:3,value:"USERDEFINED"},Mr.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcSoundScaleEnum=Mr;var Fr=P((function e(){b(this,e)}));Fr.SECTIONALRADIATOR={type:3,value:"SECTIONALRADIATOR"},Fr.PANELRADIATOR={type:3,value:"PANELRADIATOR"},Fr.TUBULARRADIATOR={type:3,value:"TUBULARRADIATOR"},Fr.CONVECTOR={type:3,value:"CONVECTOR"},Fr.BASEBOARDHEATER={type:3,value:"BASEBOARDHEATER"},Fr.FINNEDTUBEUNIT={type:3,value:"FINNEDTUBEUNIT"},Fr.UNITHEATER={type:3,value:"UNITHEATER"},Fr.USERDEFINED={type:3,value:"USERDEFINED"},Fr.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcSpaceHeaterTypeEnum=Fr;var Hr=P((function e(){b(this,e)}));Hr.USERDEFINED={type:3,value:"USERDEFINED"},Hr.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcSpaceTypeEnum=Hr;var Ur=P((function e(){b(this,e)}));Ur.BIRDCAGE={type:3,value:"BIRDCAGE"},Ur.COWL={type:3,value:"COWL"},Ur.RAINWATERHOPPER={type:3,value:"RAINWATERHOPPER"},Ur.USERDEFINED={type:3,value:"USERDEFINED"},Ur.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcStackTerminalTypeEnum=Ur;var Gr=P((function e(){b(this,e)}));Gr.STRAIGHT={type:3,value:"STRAIGHT"},Gr.WINDER={type:3,value:"WINDER"},Gr.SPIRAL={type:3,value:"SPIRAL"},Gr.CURVED={type:3,value:"CURVED"},Gr.FREEFORM={type:3,value:"FREEFORM"},Gr.USERDEFINED={type:3,value:"USERDEFINED"},Gr.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcStairFlightTypeEnum=Gr;var kr=P((function e(){b(this,e)}));kr.STRAIGHT_RUN_STAIR={type:3,value:"STRAIGHT_RUN_STAIR"},kr.TWO_STRAIGHT_RUN_STAIR={type:3,value:"TWO_STRAIGHT_RUN_STAIR"},kr.QUARTER_WINDING_STAIR={type:3,value:"QUARTER_WINDING_STAIR"},kr.QUARTER_TURN_STAIR={type:3,value:"QUARTER_TURN_STAIR"},kr.HALF_WINDING_STAIR={type:3,value:"HALF_WINDING_STAIR"},kr.HALF_TURN_STAIR={type:3,value:"HALF_TURN_STAIR"},kr.TWO_QUARTER_WINDING_STAIR={type:3,value:"TWO_QUARTER_WINDING_STAIR"},kr.TWO_QUARTER_TURN_STAIR={type:3,value:"TWO_QUARTER_TURN_STAIR"},kr.THREE_QUARTER_WINDING_STAIR={type:3,value:"THREE_QUARTER_WINDING_STAIR"},kr.THREE_QUARTER_TURN_STAIR={type:3,value:"THREE_QUARTER_TURN_STAIR"},kr.SPIRAL_STAIR={type:3,value:"SPIRAL_STAIR"},kr.DOUBLE_RETURN_STAIR={type:3,value:"DOUBLE_RETURN_STAIR"},kr.CURVED_RUN_STAIR={type:3,value:"CURVED_RUN_STAIR"},kr.TWO_CURVED_RUN_STAIR={type:3,value:"TWO_CURVED_RUN_STAIR"},kr.USERDEFINED={type:3,value:"USERDEFINED"},kr.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcStairTypeEnum=kr;var jr=P((function e(){b(this,e)}));jr.READWRITE={type:3,value:"READWRITE"},jr.READONLY={type:3,value:"READONLY"},jr.LOCKED={type:3,value:"LOCKED"},jr.READWRITELOCKED={type:3,value:"READWRITELOCKED"},jr.READONLYLOCKED={type:3,value:"READONLYLOCKED"},e.IfcStateEnum=jr;var Vr=P((function e(){b(this,e)}));Vr.RIGID_JOINED_MEMBER={type:3,value:"RIGID_JOINED_MEMBER"},Vr.PIN_JOINED_MEMBER={type:3,value:"PIN_JOINED_MEMBER"},Vr.CABLE={type:3,value:"CABLE"},Vr.TENSION_MEMBER={type:3,value:"TENSION_MEMBER"},Vr.COMPRESSION_MEMBER={type:3,value:"COMPRESSION_MEMBER"},Vr.USERDEFINED={type:3,value:"USERDEFINED"},Vr.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcStructuralCurveTypeEnum=Vr;var Qr=P((function e(){b(this,e)}));Qr.BENDING_ELEMENT={type:3,value:"BENDING_ELEMENT"},Qr.MEMBRANE_ELEMENT={type:3,value:"MEMBRANE_ELEMENT"},Qr.SHELL={type:3,value:"SHELL"},Qr.USERDEFINED={type:3,value:"USERDEFINED"},Qr.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcStructuralSurfaceTypeEnum=Qr;var Wr=P((function e(){b(this,e)}));Wr.POSITIVE={type:3,value:"POSITIVE"},Wr.NEGATIVE={type:3,value:"NEGATIVE"},Wr.BOTH={type:3,value:"BOTH"},e.IfcSurfaceSide=Wr;var zr=P((function e(){b(this,e)}));zr.BUMP={type:3,value:"BUMP"},zr.OPACITY={type:3,value:"OPACITY"},zr.REFLECTION={type:3,value:"REFLECTION"},zr.SELFILLUMINATION={type:3,value:"SELFILLUMINATION"},zr.SHININESS={type:3,value:"SHININESS"},zr.SPECULAR={type:3,value:"SPECULAR"},zr.TEXTURE={type:3,value:"TEXTURE"},zr.TRANSPARENCYMAP={type:3,value:"TRANSPARENCYMAP"},zr.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcSurfaceTextureEnum=zr;var Kr=P((function e(){b(this,e)}));Kr.CONTACTOR={type:3,value:"CONTACTOR"},Kr.EMERGENCYSTOP={type:3,value:"EMERGENCYSTOP"},Kr.STARTER={type:3,value:"STARTER"},Kr.SWITCHDISCONNECTOR={type:3,value:"SWITCHDISCONNECTOR"},Kr.TOGGLESWITCH={type:3,value:"TOGGLESWITCH"},Kr.USERDEFINED={type:3,value:"USERDEFINED"},Kr.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcSwitchingDeviceTypeEnum=Kr;var Yr=P((function e(){b(this,e)}));Yr.PREFORMED={type:3,value:"PREFORMED"},Yr.SECTIONAL={type:3,value:"SECTIONAL"},Yr.EXPANSION={type:3,value:"EXPANSION"},Yr.PRESSUREVESSEL={type:3,value:"PRESSUREVESSEL"},Yr.USERDEFINED={type:3,value:"USERDEFINED"},Yr.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcTankTypeEnum=Yr;var Xr=P((function e(){b(this,e)}));Xr.STRAND={type:3,value:"STRAND"},Xr.WIRE={type:3,value:"WIRE"},Xr.BAR={type:3,value:"BAR"},Xr.COATED={type:3,value:"COATED"},Xr.USERDEFINED={type:3,value:"USERDEFINED"},Xr.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcTendonTypeEnum=Xr;var qr=P((function e(){b(this,e)}));qr.LEFT={type:3,value:"LEFT"},qr.RIGHT={type:3,value:"RIGHT"},qr.UP={type:3,value:"UP"},qr.DOWN={type:3,value:"DOWN"},e.IfcTextPath=qr;var Jr=P((function e(){b(this,e)}));Jr.PEOPLE={type:3,value:"PEOPLE"},Jr.LIGHTING={type:3,value:"LIGHTING"},Jr.EQUIPMENT={type:3,value:"EQUIPMENT"},Jr.VENTILATIONINDOORAIR={type:3,value:"VENTILATIONINDOORAIR"},Jr.VENTILATIONOUTSIDEAIR={type:3,value:"VENTILATIONOUTSIDEAIR"},Jr.RECIRCULATEDAIR={type:3,value:"RECIRCULATEDAIR"},Jr.EXHAUSTAIR={type:3,value:"EXHAUSTAIR"},Jr.AIREXCHANGERATE={type:3,value:"AIREXCHANGERATE"},Jr.DRYBULBTEMPERATURE={type:3,value:"DRYBULBTEMPERATURE"},Jr.RELATIVEHUMIDITY={type:3,value:"RELATIVEHUMIDITY"},Jr.INFILTRATION={type:3,value:"INFILTRATION"},Jr.USERDEFINED={type:3,value:"USERDEFINED"},Jr.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcThermalLoadSourceEnum=Jr;var Zr=P((function e(){b(this,e)}));Zr.SENSIBLE={type:3,value:"SENSIBLE"},Zr.LATENT={type:3,value:"LATENT"},Zr.RADIANT={type:3,value:"RADIANT"},Zr.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcThermalLoadTypeEnum=Zr;var $r=P((function e(){b(this,e)}));$r.CONTINUOUS={type:3,value:"CONTINUOUS"},$r.DISCRETE={type:3,value:"DISCRETE"},$r.DISCRETEBINARY={type:3,value:"DISCRETEBINARY"},$r.PIECEWISEBINARY={type:3,value:"PIECEWISEBINARY"},$r.PIECEWISECONSTANT={type:3,value:"PIECEWISECONSTANT"},$r.PIECEWISECONTINUOUS={type:3,value:"PIECEWISECONTINUOUS"},$r.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcTimeSeriesDataTypeEnum=$r;var ei=P((function e(){b(this,e)}));ei.ANNUAL={type:3,value:"ANNUAL"},ei.MONTHLY={type:3,value:"MONTHLY"},ei.WEEKLY={type:3,value:"WEEKLY"},ei.DAILY={type:3,value:"DAILY"},ei.USERDEFINED={type:3,value:"USERDEFINED"},ei.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcTimeSeriesScheduleTypeEnum=ei;var ti=P((function e(){b(this,e)}));ti.CURRENT={type:3,value:"CURRENT"},ti.FREQUENCY={type:3,value:"FREQUENCY"},ti.VOLTAGE={type:3,value:"VOLTAGE"},ti.USERDEFINED={type:3,value:"USERDEFINED"},ti.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcTransformerTypeEnum=ti;var ni=P((function e(){b(this,e)}));ni.DISCONTINUOUS={type:3,value:"DISCONTINUOUS"},ni.CONTINUOUS={type:3,value:"CONTINUOUS"},ni.CONTSAMEGRADIENT={type:3,value:"CONTSAMEGRADIENT"},ni.CONTSAMEGRADIENTSAMECURVATURE={type:3,value:"CONTSAMEGRADIENTSAMECURVATURE"},e.IfcTransitionCode=ni;var ri=P((function e(){b(this,e)}));ri.ELEVATOR={type:3,value:"ELEVATOR"},ri.ESCALATOR={type:3,value:"ESCALATOR"},ri.MOVINGWALKWAY={type:3,value:"MOVINGWALKWAY"},ri.USERDEFINED={type:3,value:"USERDEFINED"},ri.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcTransportElementTypeEnum=ri;var ii=P((function e(){b(this,e)}));ii.CARTESIAN={type:3,value:"CARTESIAN"},ii.PARAMETER={type:3,value:"PARAMETER"},ii.UNSPECIFIED={type:3,value:"UNSPECIFIED"},e.IfcTrimmingPreference=ii;var ai=P((function e(){b(this,e)}));ai.FINNED={type:3,value:"FINNED"},ai.USERDEFINED={type:3,value:"USERDEFINED"},ai.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcTubeBundleTypeEnum=ai;var si=P((function e(){b(this,e)}));si.ABSORBEDDOSEUNIT={type:3,value:"ABSORBEDDOSEUNIT"},si.AMOUNTOFSUBSTANCEUNIT={type:3,value:"AMOUNTOFSUBSTANCEUNIT"},si.AREAUNIT={type:3,value:"AREAUNIT"},si.DOSEEQUIVALENTUNIT={type:3,value:"DOSEEQUIVALENTUNIT"},si.ELECTRICCAPACITANCEUNIT={type:3,value:"ELECTRICCAPACITANCEUNIT"},si.ELECTRICCHARGEUNIT={type:3,value:"ELECTRICCHARGEUNIT"},si.ELECTRICCONDUCTANCEUNIT={type:3,value:"ELECTRICCONDUCTANCEUNIT"},si.ELECTRICCURRENTUNIT={type:3,value:"ELECTRICCURRENTUNIT"},si.ELECTRICRESISTANCEUNIT={type:3,value:"ELECTRICRESISTANCEUNIT"},si.ELECTRICVOLTAGEUNIT={type:3,value:"ELECTRICVOLTAGEUNIT"},si.ENERGYUNIT={type:3,value:"ENERGYUNIT"},si.FORCEUNIT={type:3,value:"FORCEUNIT"},si.FREQUENCYUNIT={type:3,value:"FREQUENCYUNIT"},si.ILLUMINANCEUNIT={type:3,value:"ILLUMINANCEUNIT"},si.INDUCTANCEUNIT={type:3,value:"INDUCTANCEUNIT"},si.LENGTHUNIT={type:3,value:"LENGTHUNIT"},si.LUMINOUSFLUXUNIT={type:3,value:"LUMINOUSFLUXUNIT"},si.LUMINOUSINTENSITYUNIT={type:3,value:"LUMINOUSINTENSITYUNIT"},si.MAGNETICFLUXDENSITYUNIT={type:3,value:"MAGNETICFLUXDENSITYUNIT"},si.MAGNETICFLUXUNIT={type:3,value:"MAGNETICFLUXUNIT"},si.MASSUNIT={type:3,value:"MASSUNIT"},si.PLANEANGLEUNIT={type:3,value:"PLANEANGLEUNIT"},si.POWERUNIT={type:3,value:"POWERUNIT"},si.PRESSUREUNIT={type:3,value:"PRESSUREUNIT"},si.RADIOACTIVITYUNIT={type:3,value:"RADIOACTIVITYUNIT"},si.SOLIDANGLEUNIT={type:3,value:"SOLIDANGLEUNIT"},si.THERMODYNAMICTEMPERATUREUNIT={type:3,value:"THERMODYNAMICTEMPERATUREUNIT"},si.TIMEUNIT={type:3,value:"TIMEUNIT"},si.VOLUMEUNIT={type:3,value:"VOLUMEUNIT"},si.USERDEFINED={type:3,value:"USERDEFINED"},e.IfcUnitEnum=si;var oi=P((function e(){b(this,e)}));oi.AIRHANDLER={type:3,value:"AIRHANDLER"},oi.AIRCONDITIONINGUNIT={type:3,value:"AIRCONDITIONINGUNIT"},oi.SPLITSYSTEM={type:3,value:"SPLITSYSTEM"},oi.ROOFTOPUNIT={type:3,value:"ROOFTOPUNIT"},oi.USERDEFINED={type:3,value:"USERDEFINED"},oi.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcUnitaryEquipmentTypeEnum=oi;var li=P((function e(){b(this,e)}));li.AIRRELEASE={type:3,value:"AIRRELEASE"},li.ANTIVACUUM={type:3,value:"ANTIVACUUM"},li.CHANGEOVER={type:3,value:"CHANGEOVER"},li.CHECK={type:3,value:"CHECK"},li.COMMISSIONING={type:3,value:"COMMISSIONING"},li.DIVERTING={type:3,value:"DIVERTING"},li.DRAWOFFCOCK={type:3,value:"DRAWOFFCOCK"},li.DOUBLECHECK={type:3,value:"DOUBLECHECK"},li.DOUBLEREGULATING={type:3,value:"DOUBLEREGULATING"},li.FAUCET={type:3,value:"FAUCET"},li.FLUSHING={type:3,value:"FLUSHING"},li.GASCOCK={type:3,value:"GASCOCK"},li.GASTAP={type:3,value:"GASTAP"},li.ISOLATING={type:3,value:"ISOLATING"},li.MIXING={type:3,value:"MIXING"},li.PRESSUREREDUCING={type:3,value:"PRESSUREREDUCING"},li.PRESSURERELIEF={type:3,value:"PRESSURERELIEF"},li.REGULATING={type:3,value:"REGULATING"},li.SAFETYCUTOFF={type:3,value:"SAFETYCUTOFF"},li.STEAMTRAP={type:3,value:"STEAMTRAP"},li.STOPCOCK={type:3,value:"STOPCOCK"},li.USERDEFINED={type:3,value:"USERDEFINED"},li.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcValveTypeEnum=li;var ui=P((function e(){b(this,e)}));ui.COMPRESSION={type:3,value:"COMPRESSION"},ui.SPRING={type:3,value:"SPRING"},ui.USERDEFINED={type:3,value:"USERDEFINED"},ui.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcVibrationIsolatorTypeEnum=ui;var ci=P((function e(){b(this,e)}));ci.STANDARD={type:3,value:"STANDARD"},ci.POLYGONAL={type:3,value:"POLYGONAL"},ci.SHEAR={type:3,value:"SHEAR"},ci.ELEMENTEDWALL={type:3,value:"ELEMENTEDWALL"},ci.PLUMBINGWALL={type:3,value:"PLUMBINGWALL"},ci.USERDEFINED={type:3,value:"USERDEFINED"},ci.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcWallTypeEnum=ci;var fi=P((function e(){b(this,e)}));fi.FLOORTRAP={type:3,value:"FLOORTRAP"},fi.FLOORWASTE={type:3,value:"FLOORWASTE"},fi.GULLYSUMP={type:3,value:"GULLYSUMP"},fi.GULLYTRAP={type:3,value:"GULLYTRAP"},fi.GREASEINTERCEPTOR={type:3,value:"GREASEINTERCEPTOR"},fi.OILINTERCEPTOR={type:3,value:"OILINTERCEPTOR"},fi.PETROLINTERCEPTOR={type:3,value:"PETROLINTERCEPTOR"},fi.ROOFDRAIN={type:3,value:"ROOFDRAIN"},fi.WASTEDISPOSALUNIT={type:3,value:"WASTEDISPOSALUNIT"},fi.WASTETRAP={type:3,value:"WASTETRAP"},fi.USERDEFINED={type:3,value:"USERDEFINED"},fi.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcWasteTerminalTypeEnum=fi;var pi=P((function e(){b(this,e)}));pi.SIDEHUNGRIGHTHAND={type:3,value:"SIDEHUNGRIGHTHAND"},pi.SIDEHUNGLEFTHAND={type:3,value:"SIDEHUNGLEFTHAND"},pi.TILTANDTURNRIGHTHAND={type:3,value:"TILTANDTURNRIGHTHAND"},pi.TILTANDTURNLEFTHAND={type:3,value:"TILTANDTURNLEFTHAND"},pi.TOPHUNG={type:3,value:"TOPHUNG"},pi.BOTTOMHUNG={type:3,value:"BOTTOMHUNG"},pi.PIVOTHORIZONTAL={type:3,value:"PIVOTHORIZONTAL"},pi.PIVOTVERTICAL={type:3,value:"PIVOTVERTICAL"},pi.SLIDINGHORIZONTAL={type:3,value:"SLIDINGHORIZONTAL"},pi.SLIDINGVERTICAL={type:3,value:"SLIDINGVERTICAL"},pi.REMOVABLECASEMENT={type:3,value:"REMOVABLECASEMENT"},pi.FIXEDCASEMENT={type:3,value:"FIXEDCASEMENT"},pi.OTHEROPERATION={type:3,value:"OTHEROPERATION"},pi.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcWindowPanelOperationEnum=pi;var Ai=P((function e(){b(this,e)}));Ai.LEFT={type:3,value:"LEFT"},Ai.MIDDLE={type:3,value:"MIDDLE"},Ai.RIGHT={type:3,value:"RIGHT"},Ai.BOTTOM={type:3,value:"BOTTOM"},Ai.TOP={type:3,value:"TOP"},Ai.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcWindowPanelPositionEnum=Ai;var di=P((function e(){b(this,e)}));di.ALUMINIUM={type:3,value:"ALUMINIUM"},di.HIGH_GRADE_STEEL={type:3,value:"HIGH_GRADE_STEEL"},di.STEEL={type:3,value:"STEEL"},di.WOOD={type:3,value:"WOOD"},di.ALUMINIUM_WOOD={type:3,value:"ALUMINIUM_WOOD"},di.PLASTIC={type:3,value:"PLASTIC"},di.OTHER_CONSTRUCTION={type:3,value:"OTHER_CONSTRUCTION"},di.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcWindowStyleConstructionEnum=di;var vi=P((function e(){b(this,e)}));vi.SINGLE_PANEL={type:3,value:"SINGLE_PANEL"},vi.DOUBLE_PANEL_VERTICAL={type:3,value:"DOUBLE_PANEL_VERTICAL"},vi.DOUBLE_PANEL_HORIZONTAL={type:3,value:"DOUBLE_PANEL_HORIZONTAL"},vi.TRIPLE_PANEL_VERTICAL={type:3,value:"TRIPLE_PANEL_VERTICAL"},vi.TRIPLE_PANEL_BOTTOM={type:3,value:"TRIPLE_PANEL_BOTTOM"},vi.TRIPLE_PANEL_TOP={type:3,value:"TRIPLE_PANEL_TOP"},vi.TRIPLE_PANEL_LEFT={type:3,value:"TRIPLE_PANEL_LEFT"},vi.TRIPLE_PANEL_RIGHT={type:3,value:"TRIPLE_PANEL_RIGHT"},vi.TRIPLE_PANEL_HORIZONTAL={type:3,value:"TRIPLE_PANEL_HORIZONTAL"},vi.USERDEFINED={type:3,value:"USERDEFINED"},vi.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcWindowStyleOperationEnum=vi;var hi=P((function e(){b(this,e)}));hi.ACTUAL={type:3,value:"ACTUAL"},hi.BASELINE={type:3,value:"BASELINE"},hi.PLANNED={type:3,value:"PLANNED"},hi.USERDEFINED={type:3,value:"USERDEFINED"},hi.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcWorkControlTypeEnum=hi;var Ii=function(e){I(n,U_);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e)).Role=r,s.UserDefinedRole=i,s.Description=a,s.type=3630933823,s}return P(n)}();e.IfcActorRole=Ii;var yi=function(e){I(n,U_);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e)).Purpose=r,s.Description=i,s.UserDefinedPurpose=a,s.type=618182010,s}return P(n)}();e.IfcAddress=yi;var mi=function(e){I(n,U_);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e)).ApplicationDeveloper=r,o.Version=i,o.ApplicationFullName=a,o.ApplicationIdentifier=s,o.type=639542469,o}return P(n)}();e.IfcApplication=mi;var wi=function(e){I(n,U_);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e)).Name=r,u.Description=i,u.AppliedValue=a,u.UnitBasis=s,u.ApplicableDate=o,u.FixedUntilDate=l,u.type=411424972,u}return P(n)}();e.IfcAppliedValue=wi;var gi=function(e){I(n,U_);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e)).ComponentOfTotal=r,l.Components=i,l.ArithmeticOperator=a,l.Name=s,l.Description=o,l.type=1110488051,l}return P(n)}();e.IfcAppliedValueRelationship=gi;var Ei=function(e){I(n,U_);var t=m(n);function n(e,r,i,a,s,o,l,u){var c;return b(this,n),(c=t.call(this,e)).Description=r,c.ApprovalDateTime=i,c.ApprovalStatus=a,c.ApprovalLevel=s,c.ApprovalQualifier=o,c.Name=l,c.Identifier=u,c.type=130549933,c}return P(n)}();e.IfcApproval=Ei;var Ti=function(e){I(n,U_);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e)).Actor=r,s.Approval=i,s.Role=a,s.type=2080292479,s}return P(n)}();e.IfcApprovalActorRelationship=Ti;var bi=function(e){I(n,U_);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).ApprovedProperties=r,a.Approval=i,a.type=390851274,a}return P(n)}();e.IfcApprovalPropertyRelationship=bi;var Di=function(e){I(n,U_);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e)).RelatedApproval=r,o.RelatingApproval=i,o.Description=a,o.Name=s,o.type=3869604511,o}return P(n)}();e.IfcApprovalRelationship=Di;var Pi=function(e){I(n,U_);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e)).Name=r,i.type=4037036970,i}return P(n)}();e.IfcBoundaryCondition=Pi;var Ri=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u){var c;return b(this,n),(c=t.call(this,e,r)).Name=r,c.LinearStiffnessByLengthX=i,c.LinearStiffnessByLengthY=a,c.LinearStiffnessByLengthZ=s,c.RotationalStiffnessByLengthX=o,c.RotationalStiffnessByLengthY=l,c.RotationalStiffnessByLengthZ=u,c.type=1560379544,c}return P(n)}(Pi);e.IfcBoundaryEdgeCondition=Ri;var Ci=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r)).Name=r,o.LinearStiffnessByAreaX=i,o.LinearStiffnessByAreaY=a,o.LinearStiffnessByAreaZ=s,o.type=3367102660,o}return P(n)}(Pi);e.IfcBoundaryFaceCondition=Ci;var _i=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u){var c;return b(this,n),(c=t.call(this,e,r)).Name=r,c.LinearStiffnessX=i,c.LinearStiffnessY=a,c.LinearStiffnessZ=s,c.RotationalStiffnessX=o,c.RotationalStiffnessY=l,c.RotationalStiffnessZ=u,c.type=1387855156,c}return P(n)}(Pi);e.IfcBoundaryNodeCondition=_i;var Bi=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o,l,u)).Name=r,f.LinearStiffnessX=i,f.LinearStiffnessY=a,f.LinearStiffnessZ=s,f.RotationalStiffnessX=o,f.RotationalStiffnessY=l,f.RotationalStiffnessZ=u,f.WarpingStiffness=c,f.type=2069777674,f}return P(n)}(_i);e.IfcBoundaryNodeConditionWarping=Bi;var Oi=function(e){I(n,U_);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e)).DayComponent=r,s.MonthComponent=i,s.YearComponent=a,s.type=622194075,s}return P(n)}();e.IfcCalendarDate=Oi;var Si=function(e){I(n,U_);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e)).Source=r,o.Edition=i,o.EditionDate=a,o.Name=s,o.type=747523909,o}return P(n)}();e.IfcClassification=Si;var Ni=function(e){I(n,U_);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e)).Notation=r,s.ItemOf=i,s.Title=a,s.type=1767535486,s}return P(n)}();e.IfcClassificationItem=Ni;var Li=function(e){I(n,U_);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).RelatingItem=r,a.RelatedItems=i,a.type=1098599126,a}return P(n)}();e.IfcClassificationItemRelationship=Li;var xi=function(e){I(n,U_);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e)).NotationFacets=r,i.type=938368621,i}return P(n)}();e.IfcClassificationNotation=xi;var Mi=function(e){I(n,U_);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e)).NotationValue=r,i.type=3639012971,i}return P(n)}();e.IfcClassificationNotationFacet=Mi;var Fi=function(e){I(n,U_);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e)).Name=r,i.type=3264961684,i}return P(n)}();e.IfcColourSpecification=Fi;var Hi=function(e){I(n,U_);var t=m(n);function n(e){var r;return b(this,n),(r=t.call(this,e)).type=2859738748,r}return P(n)}();e.IfcConnectionGeometry=Hi;var Ui=function(e){I(n,e);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).PointOnRelatingElement=r,a.PointOnRelatedElement=i,a.type=2614616156,a}return P(n)}(Hi);e.IfcConnectionPointGeometry=Ui;var Gi=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e)).LocationAtRelatingElement=r,s.LocationAtRelatedElement=i,s.ProfileOfPort=a,s.type=4257277454,s}return P(n)}(Hi);e.IfcConnectionPortGeometry=Gi;var ki=function(e){I(n,e);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).SurfaceOnRelatingElement=r,a.SurfaceOnRelatedElement=i,a.type=2732653382,a}return P(n)}(Hi);e.IfcConnectionSurfaceGeometry=ki;var ji=function(e){I(n,U_);var t=m(n);function n(e,r,i,a,s,o,l,u){var c;return b(this,n),(c=t.call(this,e)).Name=r,c.Description=i,c.ConstraintGrade=a,c.ConstraintSource=s,c.CreatingActor=o,c.CreationTime=l,c.UserDefinedGrade=u,c.type=1959218052,c}return P(n)}();e.IfcConstraint=ji;var Vi=function(e){I(n,U_);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e)).Name=r,l.Description=i,l.RelatingConstraint=a,l.RelatedConstraints=s,l.LogicalAggregator=o,l.type=1658513725,l}return P(n)}();e.IfcConstraintAggregationRelationship=Vi;var Qi=function(e){I(n,U_);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).ClassifiedConstraint=r,a.RelatedClassifications=i,a.type=613356794,a}return P(n)}();e.IfcConstraintClassificationRelationship=Qi;var Wi=function(e){I(n,U_);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e)).Name=r,o.Description=i,o.RelatingConstraint=a,o.RelatedConstraints=s,o.type=347226245,o}return P(n)}();e.IfcConstraintRelationship=Wi;var zi=function(e){I(n,U_);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e)).HourOffset=r,s.MinuteOffset=i,s.Sense=a,s.type=1065062679,s}return P(n)}();e.IfcCoordinatedUniversalTimeOffset=zi;var Ki=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o,l)).Name=r,f.Description=i,f.AppliedValue=a,f.UnitBasis=s,f.ApplicableDate=o,f.FixedUntilDate=l,f.CostType=u,f.Condition=c,f.type=602808272,f}return P(n)}(wi);e.IfcCostValue=Ki;var Yi=function(e){I(n,U_);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e)).RelatingMonetaryUnit=r,l.RelatedMonetaryUnit=i,l.ExchangeRate=a,l.RateDateTime=s,l.RateSource=o,l.type=539742890,l}return P(n)}();e.IfcCurrencyRelationship=Yi;var Xi=function(e){I(n,U_);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).Name=r,a.PatternList=i,a.type=1105321065,a}return P(n)}();e.IfcCurveStyleFont=Xi;var qi=function(e){I(n,U_);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e)).Name=r,s.CurveFont=i,s.CurveFontScaling=a,s.type=2367409068,s}return P(n)}();e.IfcCurveStyleFontAndScaling=qi;var Ji=function(e){I(n,U_);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).VisibleSegmentLength=r,a.InvisibleSegmentLength=i,a.type=3510044353,a}return P(n)}();e.IfcCurveStyleFontPattern=Ji;var Zi=function(e){I(n,U_);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).DateComponent=r,a.TimeComponent=i,a.type=1072939445,a}return P(n)}();e.IfcDateAndTime=Zi;var $i=function(e){I(n,U_);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e)).Elements=r,s.UnitType=i,s.UserDefinedType=a,s.type=1765591967,s}return P(n)}();e.IfcDerivedUnit=$i;var ea=function(e){I(n,U_);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).Unit=r,a.Exponent=i,a.type=1045800335,a}return P(n)}();e.IfcDerivedUnitElement=ea;var ta=function(e){I(n,U_);var t=m(n);function n(e,r,i,a,s,o,l,u){var c;return b(this,n),(c=t.call(this,e)).LengthExponent=r,c.MassExponent=i,c.TimeExponent=a,c.ElectricCurrentExponent=s,c.ThermodynamicTemperatureExponent=o,c.AmountOfSubstanceExponent=l,c.LuminousIntensityExponent=u,c.type=2949456006,c}return P(n)}();e.IfcDimensionalExponents=ta;var na=function(e){I(n,U_);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e)).FileExtension=r,s.MimeContentType=i,s.MimeSubtype=a,s.type=1376555844,s}return P(n)}();e.IfcDocumentElectronicFormat=na;var ra=function(e){I(n,U_);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A,d,v,h,I,y,m){var w;return b(this,n),(w=t.call(this,e)).DocumentId=r,w.Name=i,w.Description=a,w.DocumentReferences=s,w.Purpose=o,w.IntendedUse=l,w.Scope=u,w.Revision=c,w.DocumentOwner=f,w.Editors=p,w.CreationTime=A,w.LastRevisionTime=d,w.ElectronicFormat=v,w.ValidFrom=h,w.ValidUntil=I,w.Confidentiality=y,w.Status=m,w.type=1154170062,w}return P(n)}();e.IfcDocumentInformation=ra;var ia=function(e){I(n,U_);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e)).RelatingDocument=r,s.RelatedDocuments=i,s.RelationshipType=a,s.type=770865208,s}return P(n)}();e.IfcDocumentInformationRelationship=ia;var aa=function(e){I(n,U_);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e)).Name=r,o.Description=i,o.RelatingDraughtingCallout=a,o.RelatedDraughtingCallout=s,o.type=3796139169,o}return P(n)}();e.IfcDraughtingCalloutRelationship=aa;var sa=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l)).Name=r,p.Description=i,p.AppliedValue=a,p.UnitBasis=s,p.ApplicableDate=o,p.FixedUntilDate=l,p.ImpactType=u,p.Category=c,p.UserDefinedCategory=f,p.type=1648886627,p}return P(n)}(wi);e.IfcEnvironmentalImpactValue=sa;var oa=function(e){I(n,U_);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e)).Location=r,s.ItemReference=i,s.Name=a,s.type=3200245327,s}return P(n)}();e.IfcExternalReference=oa;var la=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e,r,i,a)).Location=r,s.ItemReference=i,s.Name=a,s.type=2242383968,s}return P(n)}(oa);e.IfcExternallyDefinedHatchStyle=la;var ua=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e,r,i,a)).Location=r,s.ItemReference=i,s.Name=a,s.type=1040185647,s}return P(n)}(oa);e.IfcExternallyDefinedSurfaceStyle=ua;var ca=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e,r,i,a)).Location=r,s.ItemReference=i,s.Name=a,s.type=3207319532,s}return P(n)}(oa);e.IfcExternallyDefinedSymbol=ca;var fa=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e,r,i,a)).Location=r,s.ItemReference=i,s.Name=a,s.type=3548104201,s}return P(n)}(oa);e.IfcExternallyDefinedTextFont=fa;var pa=function(e){I(n,U_);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e)).AxisTag=r,s.AxisCurve=i,s.SameSense=a,s.type=852622518,s}return P(n)}();e.IfcGridAxis=pa;var Aa=function(e){I(n,U_);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).TimeStamp=r,a.ListValues=i,a.type=3020489413,a}return P(n)}();e.IfcIrregularTimeSeriesValue=Aa;var da=function(e){I(n,U_);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e)).Name=r,l.Version=i,l.Publisher=a,l.VersionDate=s,l.LibraryReference=o,l.type=2655187982,l}return P(n)}();e.IfcLibraryInformation=da;var va=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e,r,i,a)).Location=r,s.ItemReference=i,s.Name=a,s.type=3452421091,s}return P(n)}(oa);e.IfcLibraryReference=va;var ha=function(e){I(n,U_);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e)).MainPlaneAngle=r,s.SecondaryPlaneAngle=i,s.LuminousIntensity=a,s.type=4162380809,s}return P(n)}();e.IfcLightDistributionData=ha;var Ia=function(e){I(n,U_);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).LightDistributionCurve=r,a.DistributionData=i,a.type=1566485204,a}return P(n)}();e.IfcLightIntensityDistribution=Ia;var ya=function(e){I(n,U_);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e)).HourComponent=r,l.MinuteComponent=i,l.SecondComponent=a,l.Zone=s,l.DaylightSavingOffset=o,l.type=30780891,l}return P(n)}();e.IfcLocalTime=ya;var ma=function(e){I(n,U_);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e)).Name=r,i.type=1838606355,i}return P(n)}();e.IfcMaterial=ma;var wa=function(e){I(n,U_);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).MaterialClassifications=r,a.ClassifiedMaterial=i,a.type=1847130766,a}return P(n)}();e.IfcMaterialClassificationRelationship=wa;var ga=function(e){I(n,U_);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e)).Material=r,s.LayerThickness=i,s.IsVentilated=a,s.type=248100487,s}return P(n)}();e.IfcMaterialLayer=ga;var Ea=function(e){I(n,U_);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).MaterialLayers=r,a.LayerSetName=i,a.type=3303938423,a}return P(n)}();e.IfcMaterialLayerSet=Ea;var Ta=function(e){I(n,U_);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e)).ForLayerSet=r,o.LayerSetDirection=i,o.DirectionSense=a,o.OffsetFromReferenceLine=s,o.type=1303795690,o}return P(n)}();e.IfcMaterialLayerSetUsage=Ta;var ba=function(e){I(n,U_);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e)).Materials=r,i.type=2199411900,i}return P(n)}();e.IfcMaterialList=ba;var Da=function(e){I(n,U_);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e)).Material=r,i.type=3265635763,i}return P(n)}();e.IfcMaterialProperties=Da;var Pa=function(e){I(n,U_);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).ValueComponent=r,a.UnitComponent=i,a.type=2597039031,a}return P(n)}();e.IfcMeasureWithUnit=Pa;var Ra=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r)).Material=r,u.DynamicViscosity=i,u.YoungModulus=a,u.ShearModulus=s,u.PoissonRatio=o,u.ThermalExpansionCoefficient=l,u.type=4256014907,u}return P(n)}(Da);e.IfcMechanicalMaterialProperties=Ra;var Ca=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A,d,v){var h;return b(this,n),(h=t.call(this,e,r,i,a,s,o,l)).Material=r,h.DynamicViscosity=i,h.YoungModulus=a,h.ShearModulus=s,h.PoissonRatio=o,h.ThermalExpansionCoefficient=l,h.YieldStress=u,h.UltimateStress=c,h.UltimateStrain=f,h.HardeningModule=p,h.ProportionalStress=A,h.PlasticStrain=d,h.Relaxations=v,h.type=677618848,h}return P(n)}(Ra);e.IfcMechanicalSteelMaterialProperties=Ca;var _a=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u)).Name=r,A.Description=i,A.ConstraintGrade=a,A.ConstraintSource=s,A.CreatingActor=o,A.CreationTime=l,A.UserDefinedGrade=u,A.Benchmark=c,A.ValueSource=f,A.DataValue=p,A.type=3368373690,A}return P(n)}(ji);e.IfcMetric=_a;var Ba=function(e){I(n,U_);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e)).Currency=r,i.type=2706619895,i}return P(n)}();e.IfcMonetaryUnit=Ba;var Oa=function(e){I(n,U_);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).Dimensions=r,a.UnitType=i,a.type=1918398963,a}return P(n)}();e.IfcNamedUnit=Oa;var Sa=function(e){I(n,U_);var t=m(n);function n(e){var r;return b(this,n),(r=t.call(this,e)).type=3701648758,r}return P(n)}();e.IfcObjectPlacement=Sa;var Na=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A){var d;return b(this,n),(d=t.call(this,e,r,i,a,s,o,l,u)).Name=r,d.Description=i,d.ConstraintGrade=a,d.ConstraintSource=s,d.CreatingActor=o,d.CreationTime=l,d.UserDefinedGrade=u,d.BenchmarkValues=c,d.ResultValues=f,d.ObjectiveQualifier=p,d.UserDefinedQualifier=A,d.type=2251480897,d}return P(n)}(ji);e.IfcObjective=Na;var La=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r)).Material=r,A.VisibleTransmittance=i,A.SolarTransmittance=a,A.ThermalIrTransmittance=s,A.ThermalIrEmissivityBack=o,A.ThermalIrEmissivityFront=l,A.VisibleReflectanceBack=u,A.VisibleReflectanceFront=c,A.SolarReflectanceFront=f,A.SolarReflectanceBack=p,A.type=1227763645,A}return P(n)}(Da);e.IfcOpticalMaterialProperties=La;var xa=function(e){I(n,U_);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e)).Id=r,l.Name=i,l.Description=a,l.Roles=s,l.Addresses=o,l.type=4251960020,l}return P(n)}();e.IfcOrganization=xa;var Ma=function(e){I(n,U_);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e)).Name=r,o.Description=i,o.RelatingOrganization=a,o.RelatedOrganizations=s,o.type=1411181986,o}return P(n)}();e.IfcOrganizationRelationship=Ma;var Fa=function(e){I(n,U_);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e)).OwningUser=r,f.OwningApplication=i,f.State=a,f.ChangeAction=s,f.LastModifiedDate=o,f.LastModifyingUser=l,f.LastModifyingApplication=u,f.CreationDate=c,f.type=1207048766,f}return P(n)}();e.IfcOwnerHistory=Fa;var Ha=function(e){I(n,U_);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e)).Id=r,f.FamilyName=i,f.GivenName=a,f.MiddleNames=s,f.PrefixTitles=o,f.SuffixTitles=l,f.Roles=u,f.Addresses=c,f.type=2077209135,f}return P(n)}();e.IfcPerson=Ha;var Ua=function(e){I(n,U_);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e)).ThePerson=r,s.TheOrganization=i,s.Roles=a,s.type=101040310,s}return P(n)}();e.IfcPersonAndOrganization=Ua;var Ga=function(e){I(n,U_);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).Name=r,a.Description=i,a.type=2483315170,a}return P(n)}();e.IfcPhysicalQuantity=Ga;var ka=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e,r,i)).Name=r,s.Description=i,s.Unit=a,s.type=2226359599,s}return P(n)}(Ga);e.IfcPhysicalSimpleQuantity=ka;var ja=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a)).Purpose=r,A.Description=i,A.UserDefinedPurpose=a,A.InternalLocation=s,A.AddressLines=o,A.PostalBox=l,A.Town=u,A.Region=c,A.PostalCode=f,A.Country=p,A.type=3355820592,A}return P(n)}(yi);e.IfcPostalAddress=ja;var Va=function(e){I(n,U_);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e)).Name=r,i.type=3727388367,i}return P(n)}();e.IfcPreDefinedItem=Va;var Qa=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e,r)).Name=r,i.type=990879717,i}return P(n)}(Va);e.IfcPreDefinedSymbol=Qa;var Wa=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e,r)).Name=r,i.type=3213052703,i}return P(n)}(Qa);e.IfcPreDefinedTerminatorSymbol=Wa;var za=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e,r)).Name=r,i.type=1775413392,i}return P(n)}(Va);e.IfcPreDefinedTextFont=za;var Ka=function(e){I(n,U_);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e)).Name=r,o.Description=i,o.AssignedItems=a,o.Identifier=s,o.type=2022622350,o}return P(n)}();e.IfcPresentationLayerAssignment=Ka;var Ya=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s)).Name=r,f.Description=i,f.AssignedItems=a,f.Identifier=s,f.LayerOn=o,f.LayerFrozen=l,f.LayerBlocked=u,f.LayerStyles=c,f.type=1304840413,f}return P(n)}(Ka);e.IfcPresentationLayerWithStyle=Ya;var Xa=function(e){I(n,U_);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e)).Name=r,i.type=3119450353,i}return P(n)}();e.IfcPresentationStyle=Xa;var qa=function(e){I(n,U_);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e)).Styles=r,i.type=2417041796,i}return P(n)}();e.IfcPresentationStyleAssignment=qa;var Ja=function(e){I(n,U_);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e)).Name=r,s.Description=i,s.Representations=a,s.type=2095639259,s}return P(n)}();e.IfcProductRepresentation=Ja;var Za=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e,r)).Material=r,l.SpecificHeatCapacity=i,l.N20Content=a,l.COContent=s,l.CO2Content=o,l.type=2267347899,l}return P(n)}(Da);e.IfcProductsOfCombustionProperties=Za;var $a=function(e){I(n,U_);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).ProfileType=r,a.ProfileName=i,a.type=3958567839,a}return P(n)}();e.IfcProfileDef=$a;var es=function(e){I(n,U_);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).ProfileName=r,a.ProfileDefinition=i,a.type=2802850158,a}return P(n)}();e.IfcProfileProperties=es;var ts=function(e){I(n,U_);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).Name=r,a.Description=i,a.type=2598011224,a}return P(n)}();e.IfcProperty=ts;var ns=function(e){I(n,U_);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e)).RelatingConstraint=r,o.RelatedProperties=i,o.Name=a,o.Description=s,o.type=3896028662,o}return P(n)}();e.IfcPropertyConstraintRelationship=ns;var rs=function(e){I(n,U_);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e)).DependingProperty=r,l.DependantProperty=i,l.Name=a,l.Description=s,l.Expression=o,l.type=148025276,l}return P(n)}();e.IfcPropertyDependencyRelationship=rs;var is=function(e){I(n,U_);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e)).Name=r,s.EnumerationValues=i,s.Unit=a,s.type=3710013099,s}return P(n)}();e.IfcPropertyEnumeration=is;var as=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r,i,a)).Name=r,o.Description=i,o.Unit=a,o.AreaValue=s,o.type=2044713172,o}return P(n)}(ka);e.IfcQuantityArea=as;var ss=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r,i,a)).Name=r,o.Description=i,o.Unit=a,o.CountValue=s,o.type=2093928680,o}return P(n)}(ka);e.IfcQuantityCount=ss;var os=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r,i,a)).Name=r,o.Description=i,o.Unit=a,o.LengthValue=s,o.type=931644368,o}return P(n)}(ka);e.IfcQuantityLength=os;var ls=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r,i,a)).Name=r,o.Description=i,o.Unit=a,o.TimeValue=s,o.type=3252649465,o}return P(n)}(ka);e.IfcQuantityTime=ls;var us=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r,i,a)).Name=r,o.Description=i,o.Unit=a,o.VolumeValue=s,o.type=2405470396,o}return P(n)}(ka);e.IfcQuantityVolume=us;var cs=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r,i,a)).Name=r,o.Description=i,o.Unit=a,o.WeightValue=s,o.type=825690147,o}return P(n)}(ka);e.IfcQuantityWeight=cs;var fs=function(e){I(n,U_);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e)).ReferencedDocument=r,o.ReferencingValues=i,o.Name=a,o.Description=s,o.type=2692823254,o}return P(n)}();e.IfcReferencesValueDocument=fs;var ps=function(e){I(n,U_);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e)).TotalCrossSectionArea=r,u.SteelGrade=i,u.BarSurface=a,u.EffectiveDepth=s,u.NominalBarDiameter=o,u.BarCount=l,u.type=1580146022,u}return P(n)}();e.IfcReinforcementBarProperties=ps;var As=function(e){I(n,U_);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).RelaxationValue=r,a.InitialStress=i,a.type=1222501353,a}return P(n)}();e.IfcRelaxation=As;var ds=function(e){I(n,U_);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e)).ContextOfItems=r,o.RepresentationIdentifier=i,o.RepresentationType=a,o.Items=s,o.type=1076942058,o}return P(n)}();e.IfcRepresentation=ds;var vs=function(e){I(n,U_);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).ContextIdentifier=r,a.ContextType=i,a.type=3377609919,a}return P(n)}();e.IfcRepresentationContext=vs;var hs=function(e){I(n,U_);var t=m(n);function n(e){var r;return b(this,n),(r=t.call(this,e)).type=3008791417,r}return P(n)}();e.IfcRepresentationItem=hs;var Is=function(e){I(n,U_);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).MappingOrigin=r,a.MappedRepresentation=i,a.type=1660063152,a}return P(n)}();e.IfcRepresentationMap=Is;var ys=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u){var c;return b(this,n),(c=t.call(this,e,r,i)).ProfileName=r,c.ProfileDefinition=i,c.Thickness=a,c.RibHeight=s,c.RibWidth=o,c.RibSpacing=l,c.Direction=u,c.type=3679540991,c}return P(n)}(es);e.IfcRibPlateProfileProperties=ys;var ms=function(e){I(n,U_);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e)).GlobalId=r,o.OwnerHistory=i,o.Name=a,o.Description=s,o.type=2341007311,o}return P(n)}();e.IfcRoot=ms;var ws=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e,new H_(0),r)).UnitType=r,s.Prefix=i,s.Name=a,s.type=448429030,s}return P(n)}(Oa);e.IfcSIUnit=ws;var gs=function(e){I(n,U_);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e)).SectionType=r,s.StartProfile=i,s.EndProfile=a,s.type=2042790032,s}return P(n)}();e.IfcSectionProperties=gs;var Es=function(e){I(n,U_);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e)).LongitudinalStartPosition=r,u.LongitudinalEndPosition=i,u.TransversePosition=a,u.ReinforcementRole=s,u.SectionDefinition=o,u.CrossSectionReinforcementDefinitions=l,u.type=4165799628,u}return P(n)}();e.IfcSectionReinforcementProperties=Es;var Ts=function(e){I(n,U_);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e)).ShapeRepresentations=r,l.Name=i,l.Description=a,l.ProductDefinitional=s,l.PartOfProductDefinitionShape=o,l.type=867548509,l}return P(n)}();e.IfcShapeAspect=Ts;var bs=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r,i,a,s)).ContextOfItems=r,o.RepresentationIdentifier=i,o.RepresentationType=a,o.Items=s,o.type=3982875396,o}return P(n)}(ds);e.IfcShapeModel=bs;var Ds=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r,i,a,s)).ContextOfItems=r,o.RepresentationIdentifier=i,o.RepresentationType=a,o.Items=s,o.type=4240577450,o}return P(n)}(bs);e.IfcShapeRepresentation=Ds;var Ps=function(e){I(n,e);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e,r,i)).Name=r,a.Description=i,a.type=3692461612,a}return P(n)}(ts);e.IfcSimpleProperty=Ps;var Rs=function(e){I(n,U_);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e)).Name=r,i.type=2273995522,i}return P(n)}();e.IfcStructuralConnectionCondition=Rs;var Cs=function(e){I(n,U_);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e)).Name=r,i.type=2162789131,i}return P(n)}();e.IfcStructuralLoad=Cs;var _s=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e,r)).Name=r,i.type=2525727697,i}return P(n)}(Cs);e.IfcStructuralLoadStatic=_s;var Bs=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r)).Name=r,o.DeltaT_Constant=i,o.DeltaT_Y=a,o.DeltaT_Z=s,o.type=3408363356,o}return P(n)}(_s);e.IfcStructuralLoadTemperature=Bs;var Os=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r,i,a,s)).ContextOfItems=r,o.RepresentationIdentifier=i,o.RepresentationType=a,o.Items=s,o.type=2830218821,o}return P(n)}(ds);e.IfcStyleModel=Os;var Ss=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e)).Item=r,s.Styles=i,s.Name=a,s.type=3958052878,s}return P(n)}(hs);e.IfcStyledItem=Ss;var Ns=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r,i,a,s)).ContextOfItems=r,o.RepresentationIdentifier=i,o.RepresentationType=a,o.Items=s,o.type=3049322572,o}return P(n)}(Os);e.IfcStyledRepresentation=Ns;var Ls=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e,r)).Name=r,s.Side=i,s.Styles=a,s.type=1300840506,s}return P(n)}(Xa);e.IfcSurfaceStyle=Ls;var xs=function(e){I(n,U_);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e)).DiffuseTransmissionColour=r,o.DiffuseReflectionColour=i,o.TransmissionColour=a,o.ReflectanceColour=s,o.type=3303107099,o}return P(n)}();e.IfcSurfaceStyleLighting=xs;var Ms=function(e){I(n,U_);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).RefractionIndex=r,a.DispersionFactor=i,a.type=1607154358,a}return P(n)}();e.IfcSurfaceStyleRefraction=Ms;var Fs=function(e){I(n,U_);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e)).SurfaceColour=r,i.type=846575682,i}return P(n)}();e.IfcSurfaceStyleShading=Fs;var Hs=function(e){I(n,U_);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e)).Textures=r,i.type=1351298697,i}return P(n)}();e.IfcSurfaceStyleWithTextures=Hs;var Us=function(e){I(n,U_);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e)).RepeatS=r,o.RepeatT=i,o.TextureType=a,o.TextureTransform=s,o.type=626085974,o}return P(n)}();e.IfcSurfaceTexture=Us;var Gs=function(e){I(n,e);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e,r)).Name=r,a.StyleOfSymbol=i,a.type=1290481447,a}return P(n)}(Xa);e.IfcSymbolStyle=Gs;var ks=function(e){I(n,U_);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).Name=r,a.Rows=i,a.type=985171141,a}return P(n)}();e.IfcTable=ks;var js=function(e){I(n,U_);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).RowCells=r,a.IsHeading=i,a.type=531007025,a}return P(n)}();e.IfcTableRow=js;var Vs=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a)).Purpose=r,f.Description=i,f.UserDefinedPurpose=a,f.TelephoneNumbers=s,f.FacsimileNumbers=o,f.PagerNumber=l,f.ElectronicMailAddresses=u,f.WWWHomePageURL=c,f.type=912023232,f}return P(n)}(yi);e.IfcTelecomAddress=Vs;var Qs=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r)).Name=r,o.TextCharacterAppearance=i,o.TextStyle=a,o.TextFontStyle=s,o.type=1447204868,o}return P(n)}(Xa);e.IfcTextStyle=Qs;var Ws=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r)).Name=r,u.FontFamily=i,u.FontStyle=a,u.FontVariant=s,u.FontWeight=o,u.FontSize=l,u.type=1983826977,u}return P(n)}(za);e.IfcTextStyleFontModel=Ws;var zs=function(e){I(n,U_);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).Colour=r,a.BackgroundColour=i,a.type=2636378356,a}return P(n)}();e.IfcTextStyleForDefinedFont=zs;var Ks=function(e){I(n,U_);var t=m(n);function n(e,r,i,a,s,o,l,u){var c;return b(this,n),(c=t.call(this,e)).TextIndent=r,c.TextAlign=i,c.TextDecoration=a,c.LetterSpacing=s,c.WordSpacing=o,c.TextTransform=l,c.LineHeight=u,c.type=1640371178,c}return P(n)}();e.IfcTextStyleTextModel=Ks;var Ys=function(e){I(n,U_);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e)).BoxHeight=r,l.BoxWidth=i,l.BoxSlantAngle=a,l.BoxRotateAngle=s,l.CharacterSpacing=o,l.type=1484833681,l}return P(n)}();e.IfcTextStyleWithBoxCharacteristics=Ys;var Xs=function(e){I(n,U_);var t=m(n);function n(e){var r;return b(this,n),(r=t.call(this,e)).type=280115917,r}return P(n)}();e.IfcTextureCoordinate=Xs;var qs=function(e){I(n,e);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).Mode=r,a.Parameter=i,a.type=1742049831,a}return P(n)}(Xs);e.IfcTextureCoordinateGenerator=qs;var Js=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e)).TextureMaps=r,i.type=2552916305,i}return P(n)}(Xs);e.IfcTextureMap=Js;var Zs=function(e){I(n,U_);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e)).Coordinates=r,i.type=1210645708,i}return P(n)}();e.IfcTextureVertex=Zs;var $s=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e,r)).Material=r,l.SpecificHeatCapacity=i,l.BoilingPoint=a,l.FreezingPoint=s,l.ThermalConductivity=o,l.type=3317419933,l}return P(n)}(Da);e.IfcThermalMaterialProperties=$s;var eo=function(e){I(n,U_);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e)).Name=r,f.Description=i,f.StartTime=a,f.EndTime=s,f.TimeSeriesDataType=o,f.DataOrigin=l,f.UserDefinedDataOrigin=u,f.Unit=c,f.type=3101149627,f}return P(n)}();e.IfcTimeSeries=eo;var to=function(e){I(n,U_);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).ReferencedTimeSeries=r,a.TimeSeriesReferences=i,a.type=1718945513,a}return P(n)}();e.IfcTimeSeriesReferenceRelationship=to;var no=function(e){I(n,U_);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e)).ListValues=r,i.type=581633288,i}return P(n)}();e.IfcTimeSeriesValue=no;var ro=function(e){I(n,e);var t=m(n);function n(e){var r;return b(this,n),(r=t.call(this,e)).type=1377556343,r}return P(n)}(hs);e.IfcTopologicalRepresentationItem=ro;var io=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r,i,a,s)).ContextOfItems=r,o.RepresentationIdentifier=i,o.RepresentationType=a,o.Items=s,o.type=1735638870,o}return P(n)}(bs);e.IfcTopologyRepresentation=io;var ao=function(e){I(n,U_);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e)).Units=r,i.type=180925521,i}return P(n)}();e.IfcUnitAssignment=ao;var so=function(e){I(n,e);var t=m(n);function n(e){var r;return b(this,n),(r=t.call(this,e)).type=2799835756,r}return P(n)}(ro);e.IfcVertex=so;var oo=function(e){I(n,U_);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).TextureVertices=r,a.TexturePoints=i,a.type=3304826586,a}return P(n)}();e.IfcVertexBasedTextureMap=oo;var lo=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e)).VertexGeometry=r,i.type=1907098498,i}return P(n)}(so);e.IfcVertexPoint=lo;var uo=function(e){I(n,U_);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).IntersectingAxes=r,a.OffsetDistances=i,a.type=891718957,a}return P(n)}();e.IfcVirtualGridIntersection=uo;var co=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r)).Material=r,f.IsPotable=i,f.Hardness=a,f.AlkalinityConcentration=s,f.AcidityConcentration=o,f.ImpuritiesContent=l,f.PHLevel=u,f.DissolvedSolidsContent=c,f.type=1065908215,f}return P(n)}(Da);e.IfcWaterProperties=co;var fo=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e,r,i,a)).Item=r,s.Styles=i,s.Name=a,s.type=2442683028,s}return P(n)}(Ss);e.IfcAnnotationOccurrence=fo;var po=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e,r,i,a)).Item=r,s.Styles=i,s.Name=a,s.type=962685235,s}return P(n)}(fo);e.IfcAnnotationSurfaceOccurrence=po;var Ao=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e,r,i,a)).Item=r,s.Styles=i,s.Name=a,s.type=3612888222,s}return P(n)}(fo);e.IfcAnnotationSymbolOccurrence=Ao;var vo=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e,r,i,a)).Item=r,s.Styles=i,s.Name=a,s.type=2297822566,s}return P(n)}(fo);e.IfcAnnotationTextOccurrence=vo;var ho=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e,r,i)).ProfileType=r,s.ProfileName=i,s.OuterCurve=a,s.type=3798115385,s}return P(n)}($a);e.IfcArbitraryClosedProfileDef=ho;var Io=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e,r,i)).ProfileType=r,s.ProfileName=i,s.Curve=a,s.type=1310608509,s}return P(n)}($a);e.IfcArbitraryOpenProfileDef=Io;var yo=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r,i,a)).ProfileType=r,o.ProfileName=i,o.OuterCurve=a,o.InnerCurves=s,o.type=2705031697,o}return P(n)}(ho);e.IfcArbitraryProfileDefWithVoids=yo;var mo=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r,i,a,s)).RepeatS=r,u.RepeatT=i,u.TextureType=a,u.TextureTransform=s,u.RasterFormat=o,u.RasterCode=l,u.type=616511568,u}return P(n)}(Us);e.IfcBlobTexture=mo;var wo=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r,i,a)).ProfileType=r,o.ProfileName=i,o.Curve=a,o.Thickness=s,o.type=3150382593,o}return P(n)}(Io);e.IfcCenterLineProfileDef=wo;var go=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r,i,a)).Location=r,o.ItemReference=i,o.Name=a,o.ReferencedSource=s,o.type=647927063,o}return P(n)}(oa);e.IfcClassificationReference=go;var Eo=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r)).Name=r,o.Red=i,o.Green=a,o.Blue=s,o.type=776857604,o}return P(n)}(Fi);e.IfcColourRgb=Eo;var To=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r,i)).Name=r,o.Description=i,o.UsageName=a,o.HasProperties=s,o.type=2542286263,o}return P(n)}(ts);e.IfcComplexProperty=To;var bo=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r,i)).ProfileType=r,o.ProfileName=i,o.Profiles=a,o.Label=s,o.type=1485152156,o}return P(n)}($a);e.IfcCompositeProfileDef=bo;var Do=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e)).CfsFaces=r,i.type=370225590,i}return P(n)}(ro);e.IfcConnectedFaceSet=Do;var Po=function(e){I(n,e);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).CurveOnRelatingElement=r,a.CurveOnRelatedElement=i,a.type=1981873012,a}return P(n)}(Hi);e.IfcConnectionCurveGeometry=Po;var Ro=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e,r,i)).PointOnRelatingElement=r,l.PointOnRelatedElement=i,l.EccentricityInX=a,l.EccentricityInY=s,l.EccentricityInZ=o,l.type=45288368,l}return P(n)}(Ui);e.IfcConnectionPointEccentricity=Ro;var Co=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e,r,i)).Dimensions=r,s.UnitType=i,s.Name=a,s.type=3050246964,s}return P(n)}(Oa);e.IfcContextDependentUnit=Co;var _o=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r,i)).Dimensions=r,o.UnitType=i,o.Name=a,o.ConversionFactor=s,o.type=2889183280,o}return P(n)}(Oa);e.IfcConversionBasedUnit=_o;var Bo=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r)).Name=r,o.CurveFont=i,o.CurveWidth=a,o.CurveColour=s,o.type=3800577675,o}return P(n)}(Xa);e.IfcCurveStyle=Bo;var Oo=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e,r,i)).ProfileType=r,l.ProfileName=i,l.ParentProfile=a,l.Operator=s,l.Label=o,l.type=3632507154,l}return P(n)}($a);e.IfcDerivedProfileDef=Oo;var So=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r,i,a,s)).Name=r,o.Description=i,o.RelatingDraughtingCallout=a,o.RelatedDraughtingCallout=s,o.type=2273265877,o}return P(n)}(aa);e.IfcDimensionCalloutRelationship=So;var No=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r,i,a,s)).Name=r,o.Description=i,o.RelatingDraughtingCallout=a,o.RelatedDraughtingCallout=s,o.type=1694125774,o}return P(n)}(aa);e.IfcDimensionPair=No;var Lo=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e,r,i,a)).Location=r,s.ItemReference=i,s.Name=a,s.type=3732053477,s}return P(n)}(oa);e.IfcDocumentReference=Lo;var xo=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e,r)).Name=r,i.type=4170525392,i}return P(n)}(za);e.IfcDraughtingPreDefinedTextFont=xo;var Mo=function(e){I(n,e);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).EdgeStart=r,a.EdgeEnd=i,a.type=3900360178,a}return P(n)}(ro);e.IfcEdge=Mo;var Fo=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r,i)).EdgeStart=r,o.EdgeEnd=i,o.EdgeGeometry=a,o.SameSense=s,o.type=476780140,o}return P(n)}(Mo);e.IfcEdgeCurve=Fo;var Ho=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r)).Material=r,o.ExtendedProperties=i,o.Description=a,o.Name=s,o.type=1860660968,o}return P(n)}(Da);e.IfcExtendedMaterialProperties=Ho;var Uo=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e)).Bounds=r,i.type=2556980723,i}return P(n)}(ro);e.IfcFace=Uo;var Go=function(e){I(n,e);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).Bound=r,a.Orientation=i,a.type=1809719519,a}return P(n)}(ro);e.IfcFaceBound=Go;var ko=function(e){I(n,e);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e,r,i)).Bound=r,a.Orientation=i,a.type=803316827,a}return P(n)}(Go);e.IfcFaceOuterBound=ko;var jo=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e,r)).Bounds=r,s.FaceSurface=i,s.SameSense=a,s.type=3008276851,s}return P(n)}(Uo);e.IfcFaceSurface=jo;var Vo=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u){var c;return b(this,n),(c=t.call(this,e,r)).Name=r,c.TensionFailureX=i,c.TensionFailureY=a,c.TensionFailureZ=s,c.CompressionFailureX=o,c.CompressionFailureY=l,c.CompressionFailureZ=u,c.type=4219587988,c}return P(n)}(Rs);e.IfcFailureConnectionCondition=Vo;var Qo=function(e){I(n,e);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e,r)).Name=r,a.FillStyles=i,a.type=738692330,a}return P(n)}(Xa);e.IfcFillAreaStyle=Qo;var Wo=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e,r)).Material=r,l.CombustionTemperature=i,l.CarbonContent=a,l.LowerHeatingValue=s,l.HigherHeatingValue=o,l.type=3857492461,l}return P(n)}(Da);e.IfcFuelProperties=Wo;var zo=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r)).Material=r,o.MolecularWeight=i,o.Porosity=a,o.MassDensity=s,o.type=803998398,o}return P(n)}(Da);e.IfcGeneralMaterialProperties=zo;var Ko=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u){var c;return b(this,n),(c=t.call(this,e,r,i)).ProfileName=r,c.ProfileDefinition=i,c.PhysicalWeight=a,c.Perimeter=s,c.MinimumPlateThickness=o,c.MaximumPlateThickness=l,c.CrossSectionArea=u,c.type=1446786286,c}return P(n)}(es);e.IfcGeneralProfileProperties=Ko;var Yo=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r,i)).ContextIdentifier=r,u.ContextType=i,u.CoordinateSpaceDimension=a,u.Precision=s,u.WorldCoordinateSystem=o,u.TrueNorth=l,u.type=3448662350,u}return P(n)}(vs);e.IfcGeometricRepresentationContext=Yo;var Xo=function(e){I(n,e);var t=m(n);function n(e){var r;return b(this,n),(r=t.call(this,e)).type=2453401579,r}return P(n)}(hs);e.IfcGeometricRepresentationItem=Xo;var qo=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r,i,new h(0),null,new H_(0),null)).ContextIdentifier=r,u.ContextType=i,u.ParentContext=a,u.TargetScale=s,u.TargetView=o,u.UserDefinedTargetView=l,u.type=4142052618,u}return P(n)}(Yo);e.IfcGeometricRepresentationSubContext=qo;var Jo=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e)).Elements=r,i.type=3590301190,i}return P(n)}(Xo);e.IfcGeometricSet=Jo;var Zo=function(e){I(n,e);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).PlacementLocation=r,a.PlacementRefDirection=i,a.type=178086475,a}return P(n)}(Sa);e.IfcGridPlacement=Zo;var $o=function(e){I(n,e);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).BaseSurface=r,a.AgreementFlag=i,a.type=812098782,a}return P(n)}(Xo);e.IfcHalfSpaceSolid=$o;var el=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r)).Material=r,u.UpperVaporResistanceFactor=i,u.LowerVaporResistanceFactor=a,u.IsothermalMoistureCapacity=s,u.VaporPermeability=o,u.MoistureDiffusivity=l,u.type=2445078500,u}return P(n)}(Da);e.IfcHygroscopicMaterialProperties=el;var tl=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e,r,i,a,s)).RepeatS=r,l.RepeatT=i,l.TextureType=a,l.TextureTransform=s,l.UrlReference=o,l.type=3905492369,l}return P(n)}(Us);e.IfcImageTexture=tl;var nl=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).Name=r,p.Description=i,p.StartTime=a,p.EndTime=s,p.TimeSeriesDataType=o,p.DataOrigin=l,p.UserDefinedDataOrigin=u,p.Unit=c,p.Values=f,p.type=3741457305,p}return P(n)}(eo);e.IfcIrregularTimeSeries=nl;var rl=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e)).Name=r,o.LightColour=i,o.AmbientIntensity=a,o.Intensity=s,o.type=1402838566,o}return P(n)}(Xo);e.IfcLightSource=rl;var il=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r,i,a,s)).Name=r,o.LightColour=i,o.AmbientIntensity=a,o.Intensity=s,o.type=125510826,o}return P(n)}(rl);e.IfcLightSourceAmbient=il;var al=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e,r,i,a,s)).Name=r,l.LightColour=i,l.AmbientIntensity=a,l.Intensity=s,l.Orientation=o,l.type=2604431987,l}return P(n)}(rl);e.IfcLightSourceDirectional=al;var sl=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s)).Name=r,A.LightColour=i,A.AmbientIntensity=a,A.Intensity=s,A.Position=o,A.ColourAppearance=l,A.ColourTemperature=u,A.LuminousFlux=c,A.LightEmissionSource=f,A.LightDistributionDataSource=p,A.type=4266656042,A}return P(n)}(rl);e.IfcLightSourceGoniometric=sl;var ol=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s)).Name=r,p.LightColour=i,p.AmbientIntensity=a,p.Intensity=s,p.Position=o,p.Radius=l,p.ConstantAttenuation=u,p.DistanceAttenuation=c,p.QuadricAttenuation=f,p.type=1520743889,p}return P(n)}(rl);e.IfcLightSourcePositional=ol;var ll=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A,d,v){var h;return b(this,n),(h=t.call(this,e,r,i,a,s,o,l,u,c,f)).Name=r,h.LightColour=i,h.AmbientIntensity=a,h.Intensity=s,h.Position=o,h.Radius=l,h.ConstantAttenuation=u,h.DistanceAttenuation=c,h.QuadricAttenuation=f,h.Orientation=p,h.ConcentrationExponent=A,h.SpreadAngle=d,h.BeamWidthAngle=v,h.type=3422422726,h}return P(n)}(ol);e.IfcLightSourceSpot=ll;var ul=function(e){I(n,e);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).PlacementRelTo=r,a.RelativePlacement=i,a.type=2624227202,a}return P(n)}(Sa);e.IfcLocalPlacement=ul;var cl=function(e){I(n,e);var t=m(n);function n(e){var r;return b(this,n),(r=t.call(this,e)).type=1008929658,r}return P(n)}(ro);e.IfcLoop=cl;var fl=function(e){I(n,e);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).MappingSource=r,a.MappingTarget=i,a.type=2347385850,a}return P(n)}(hs);e.IfcMappedItem=fl;var pl=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r,i,a)).Name=r,o.Description=i,o.Representations=a,o.RepresentedMaterial=s,o.type=2022407955,o}return P(n)}(Ja);e.IfcMaterialDefinitionRepresentation=pl;var Al=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A,d){var v;return b(this,n),(v=t.call(this,e,r,i,a,s,o,l)).Material=r,v.DynamicViscosity=i,v.YoungModulus=a,v.ShearModulus=s,v.PoissonRatio=o,v.ThermalExpansionCoefficient=l,v.CompressiveStrength=u,v.MaxAggregateSize=c,v.AdmixturesDescription=f,v.Workability=p,v.ProtectivePoreRatio=A,v.WaterImpermeability=d,v.type=1430189142,v}return P(n)}(Ra);e.IfcMechanicalConcreteMaterialProperties=Al;var dl=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r,i,a,s)).GlobalId=r,o.OwnerHistory=i,o.Name=a,o.Description=s,o.type=219451334,o}return P(n)}(ms);e.IfcObjectDefinition=dl;var vl=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e)).RepeatFactor=r,i.type=2833995503,i}return P(n)}(Xo);e.IfcOneDirectionRepeatFactor=vl;var hl=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e,r)).CfsFaces=r,i.type=2665983363,i}return P(n)}(Do);e.IfcOpenShell=hl;var Il=function(e){I(n,e);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e,new H_(0),new H_(0))).EdgeElement=r,a.Orientation=i,a.type=1029017970,a}return P(n)}(Mo);e.IfcOrientedEdge=Il;var yl=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e,r,i)).ProfileType=r,s.ProfileName=i,s.Position=a,s.type=2529465313,s}return P(n)}($a);e.IfcParameterizedProfileDef=yl;var ml=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e)).EdgeList=r,i.type=2519244187,i}return P(n)}(ro);e.IfcPath=ml;var wl=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r,i)).Name=r,u.Description=i,u.HasQuantities=a,u.Discrimination=s,u.Quality=o,u.Usage=l,u.type=3021840470,u}return P(n)}(Ga);e.IfcPhysicalComplexQuantity=wl;var gl=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s)).RepeatS=r,f.RepeatT=i,f.TextureType=a,f.TextureTransform=s,f.Width=o,f.Height=l,f.ColourComponents=u,f.Pixel=c,f.type=597895409,f}return P(n)}(Us);e.IfcPixelTexture=gl;var El=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e)).Location=r,i.type=2004835150,i}return P(n)}(Xo);e.IfcPlacement=El;var Tl=function(e){I(n,e);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).SizeInX=r,a.SizeInY=i,a.type=1663979128,a}return P(n)}(Xo);e.IfcPlanarExtent=Tl;var bl=function(e){I(n,e);var t=m(n);function n(e){var r;return b(this,n),(r=t.call(this,e)).type=2067069095,r}return P(n)}(Xo);e.IfcPoint=bl;var Dl=function(e){I(n,e);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).BasisCurve=r,a.PointParameter=i,a.type=4022376103,a}return P(n)}(bl);e.IfcPointOnCurve=Dl;var Pl=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e)).BasisSurface=r,s.PointParameterU=i,s.PointParameterV=a,s.type=1423911732,s}return P(n)}(bl);e.IfcPointOnSurface=Pl;var Rl=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e)).Polygon=r,i.type=2924175390,i}return P(n)}(cl);e.IfcPolyLoop=Rl;var Cl=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r,i)).BaseSurface=r,o.AgreementFlag=i,o.Position=a,o.PolygonalBoundary=s,o.type=2775532180,o}return P(n)}($o);e.IfcPolygonalBoundedHalfSpace=Cl;var _l=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e,r)).Name=r,i.type=759155922,i}return P(n)}(Va);e.IfcPreDefinedColour=_l;var Bl=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e,r)).Name=r,i.type=2559016684,i}return P(n)}(Va);e.IfcPreDefinedCurveFont=Bl;var Ol=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e,r)).Name=r,i.type=433424934,i}return P(n)}(Qa);e.IfcPreDefinedDimensionSymbol=Ol;var Sl=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e,r)).Name=r,i.type=179317114,i}return P(n)}(Qa);e.IfcPreDefinedPointMarkerSymbol=Sl;var Nl=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e,r,i,a)).Name=r,s.Description=i,s.Representations=a,s.type=673634403,s}return P(n)}(Ja);e.IfcProductDefinitionShape=Nl;var Ll=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e,r,i)).Name=r,l.Description=i,l.UpperBoundValue=a,l.LowerBoundValue=s,l.Unit=o,l.type=871118103,l}return P(n)}(Ps);e.IfcPropertyBoundedValue=Ll;var xl=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r,i,a,s)).GlobalId=r,o.OwnerHistory=i,o.Name=a,o.Description=s,o.type=1680319473,o}return P(n)}(ms);e.IfcPropertyDefinition=xl;var Ml=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r,i)).Name=r,o.Description=i,o.EnumerationValues=a,o.EnumerationReference=s,o.type=4166981789,o}return P(n)}(Ps);e.IfcPropertyEnumeratedValue=Ml;var Fl=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r,i)).Name=r,o.Description=i,o.ListValues=a,o.Unit=s,o.type=2752243245,o}return P(n)}(Ps);e.IfcPropertyListValue=Fl;var Hl=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r,i)).Name=r,o.Description=i,o.UsageName=a,o.PropertyReference=s,o.type=941946838,o}return P(n)}(Ps);e.IfcPropertyReferenceValue=Hl;var Ul=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r,i,a,s)).GlobalId=r,o.OwnerHistory=i,o.Name=a,o.Description=s,o.type=3357820518,o}return P(n)}(xl);e.IfcPropertySetDefinition=Ul;var Gl=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r,i)).Name=r,o.Description=i,o.NominalValue=a,o.Unit=s,o.type=3650150729,o}return P(n)}(Ps);e.IfcPropertySingleValue=Gl;var kl=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u){var c;return b(this,n),(c=t.call(this,e,r,i)).Name=r,c.Description=i,c.DefiningValues=a,c.DefinedValues=s,c.Expression=o,c.DefiningUnit=l,c.DefinedUnit=u,c.type=110355661,c}return P(n)}(Ps);e.IfcPropertyTableValue=kl;var jl=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e,r,i,a)).ProfileType=r,l.ProfileName=i,l.Position=a,l.XDim=s,l.YDim=o,l.type=3615266464,l}return P(n)}(yl);e.IfcRectangleProfileDef=jl;var Vl=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c)).Name=r,A.Description=i,A.StartTime=a,A.EndTime=s,A.TimeSeriesDataType=o,A.DataOrigin=l,A.UserDefinedDataOrigin=u,A.Unit=c,A.TimeStep=f,A.Values=p,A.type=3413951693,A}return P(n)}(eo);e.IfcRegularTimeSeries=Vl;var Ql=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r,i,a,s)).GlobalId=r,u.OwnerHistory=i,u.Name=a,u.Description=s,u.DefinitionType=o,u.ReinforcementSectionDefinitions=l,u.type=3765753017,u}return P(n)}(Ul);e.IfcReinforcementDefinitionProperties=Ql;var Wl=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r,i,a,s)).GlobalId=r,o.OwnerHistory=i,o.Name=a,o.Description=s,o.type=478536968,o}return P(n)}(ms);e.IfcRelationship=Wl;var zl=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r,i,a,s,o)).ProfileType=r,u.ProfileName=i,u.Position=a,u.XDim=s,u.YDim=o,u.RoundingRadius=l,u.type=2778083089,u}return P(n)}(jl);e.IfcRoundedRectangleProfileDef=zl;var Kl=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e)).SpineCurve=r,s.CrossSections=i,s.CrossSectionPositions=a,s.type=1509187699,s}return P(n)}(Xo);e.IfcSectionedSpine=Kl;var Yl=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s)).GlobalId=r,f.OwnerHistory=i,f.Name=a,f.Description=s,f.PredefinedType=o,f.UpperValue=l,f.MostUsedValue=u,f.LowerValue=c,f.type=2411513650,f}return P(n)}(Ul);e.IfcServiceLifeFactor=Yl;var Xl=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e)).SbsmBoundary=r,i.type=4124623270,i}return P(n)}(Xo);e.IfcShellBasedSurfaceModel=Xl;var ql=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r)).Name=r,o.SlippageX=i,o.SlippageY=a,o.SlippageZ=s,o.type=2609359061,o}return P(n)}(Rs);e.IfcSlippageConnectionCondition=ql;var Jl=function(e){I(n,e);var t=m(n);function n(e){var r;return b(this,n),(r=t.call(this,e)).type=723233188,r}return P(n)}(Xo);e.IfcSolidModel=Jl;var Zl=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u){var c;return b(this,n),(c=t.call(this,e,r,i,a,s)).GlobalId=r,c.OwnerHistory=i,c.Name=a,c.Description=s,c.IsAttenuating=o,c.SoundScale=l,c.SoundValues=u,c.type=2485662743,c}return P(n)}(Ul);e.IfcSoundProperties=Zl;var $l=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u){var c;return b(this,n),(c=t.call(this,e,r,i,a,s)).GlobalId=r,c.OwnerHistory=i,c.Name=a,c.Description=s,c.SoundLevelTimeSeries=o,c.Frequency=l,c.SoundLevelSingleValue=u,c.type=1202362311,c}return P(n)}(Ul);e.IfcSoundValue=$l;var eu=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A,d,v,h){var I;return b(this,n),(I=t.call(this,e,r,i,a,s)).GlobalId=r,I.OwnerHistory=i,I.Name=a,I.Description=s,I.ApplicableValueRatio=o,I.ThermalLoadSource=l,I.PropertySource=u,I.SourceDescription=c,I.MaximumValue=f,I.MinimumValue=p,I.ThermalLoadTimeSeriesValues=A,I.UserDefinedThermalLoadSource=d,I.UserDefinedPropertySource=v,I.ThermalLoadType=h,I.type=390701378,I}return P(n)}(Ul);e.IfcSpaceThermalLoadProperties=eu;var tu=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u){var c;return b(this,n),(c=t.call(this,e,r)).Name=r,c.LinearForceX=i,c.LinearForceY=a,c.LinearForceZ=s,c.LinearMomentX=o,c.LinearMomentY=l,c.LinearMomentZ=u,c.type=1595516126,c}return P(n)}(_s);e.IfcStructuralLoadLinearForce=tu;var nu=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r)).Name=r,o.PlanarForceX=i,o.PlanarForceY=a,o.PlanarForceZ=s,o.type=2668620305,o}return P(n)}(_s);e.IfcStructuralLoadPlanarForce=nu;var ru=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u){var c;return b(this,n),(c=t.call(this,e,r)).Name=r,c.DisplacementX=i,c.DisplacementY=a,c.DisplacementZ=s,c.RotationalDisplacementRX=o,c.RotationalDisplacementRY=l,c.RotationalDisplacementRZ=u,c.type=2473145415,c}return P(n)}(_s);e.IfcStructuralLoadSingleDisplacement=ru;var iu=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o,l,u)).Name=r,f.DisplacementX=i,f.DisplacementY=a,f.DisplacementZ=s,f.RotationalDisplacementRX=o,f.RotationalDisplacementRY=l,f.RotationalDisplacementRZ=u,f.Distortion=c,f.type=1973038258,f}return P(n)}(ru);e.IfcStructuralLoadSingleDisplacementDistortion=iu;var au=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u){var c;return b(this,n),(c=t.call(this,e,r)).Name=r,c.ForceX=i,c.ForceY=a,c.ForceZ=s,c.MomentX=o,c.MomentY=l,c.MomentZ=u,c.type=1597423693,c}return P(n)}(_s);e.IfcStructuralLoadSingleForce=au;var su=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o,l,u)).Name=r,f.ForceX=i,f.ForceY=a,f.ForceZ=s,f.MomentX=o,f.MomentY=l,f.MomentZ=u,f.WarpingMoment=c,f.type=1190533807,f}return P(n)}(au);e.IfcStructuralLoadSingleForceWarping=su;var ou=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A,d,v,h,I,y,m,w,g,E,T,D,P){var R;return b(this,n),(R=t.call(this,e,r,i,a,s,o,l,u)).ProfileName=r,R.ProfileDefinition=i,R.PhysicalWeight=a,R.Perimeter=s,R.MinimumPlateThickness=o,R.MaximumPlateThickness=l,R.CrossSectionArea=u,R.TorsionalConstantX=c,R.MomentOfInertiaYZ=f,R.MomentOfInertiaY=p,R.MomentOfInertiaZ=A,R.WarpingConstant=d,R.ShearCentreZ=v,R.ShearCentreY=h,R.ShearDeformationAreaZ=I,R.ShearDeformationAreaY=y,R.MaximumSectionModulusY=m,R.MinimumSectionModulusY=w,R.MaximumSectionModulusZ=g,R.MinimumSectionModulusZ=E,R.TorsionalSectionModulus=T,R.CentreOfGravityInX=D,R.CentreOfGravityInY=P,R.type=3843319758,R}return P(n)}(Ko);e.IfcStructuralProfileProperties=ou;var lu=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A,d,v,h,I,y,m,w,g,E,T,D,P,R,C,_,B){var O;return b(this,n),(O=t.call(this,e,r,i,a,s,o,l,u,c,f,p,A,d,v,h,I,y,m,w,g,E,T,D,P)).ProfileName=r,O.ProfileDefinition=i,O.PhysicalWeight=a,O.Perimeter=s,O.MinimumPlateThickness=o,O.MaximumPlateThickness=l,O.CrossSectionArea=u,O.TorsionalConstantX=c,O.MomentOfInertiaYZ=f,O.MomentOfInertiaY=p,O.MomentOfInertiaZ=A,O.WarpingConstant=d,O.ShearCentreZ=v,O.ShearCentreY=h,O.ShearDeformationAreaZ=I,O.ShearDeformationAreaY=y,O.MaximumSectionModulusY=m,O.MinimumSectionModulusY=w,O.MaximumSectionModulusZ=g,O.MinimumSectionModulusZ=E,O.TorsionalSectionModulus=T,O.CentreOfGravityInX=D,O.CentreOfGravityInY=P,O.ShearAreaZ=R,O.ShearAreaY=C,O.PlasticShapeFactorY=_,O.PlasticShapeFactorZ=B,O.type=3653947884,O}return P(n)}(ou);e.IfcStructuralSteelProfileProperties=lu;var uu=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e,r,i)).EdgeStart=r,s.EdgeEnd=i,s.ParentEdge=a,s.type=2233826070,s}return P(n)}(Mo);e.IfcSubedge=uu;var cu=function(e){I(n,e);var t=m(n);function n(e){var r;return b(this,n),(r=t.call(this,e)).type=2513912981,r}return P(n)}(Xo);e.IfcSurface=cu;var fu=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r)).SurfaceColour=r,p.Transparency=i,p.DiffuseColour=a,p.TransmissionColour=s,p.DiffuseTransmissionColour=o,p.ReflectionColour=l,p.SpecularColour=u,p.SpecularHighlight=c,p.ReflectanceMethod=f,p.type=1878645084,p}return P(n)}(Fs);e.IfcSurfaceStyleRendering=fu;var pu=function(e){I(n,e);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).SweptArea=r,a.Position=i,a.type=2247615214,a}return P(n)}(Jl);e.IfcSweptAreaSolid=pu;var Au=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e)).Directrix=r,l.Radius=i,l.InnerRadius=a,l.StartParam=s,l.EndParam=o,l.type=1260650574,l}return P(n)}(Jl);e.IfcSweptDiskSolid=Au;var du=function(e){I(n,e);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).SweptCurve=r,a.Position=i,a.type=230924584,a}return P(n)}(cu);e.IfcSweptSurface=du;var vu=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A,d,v){var h;return b(this,n),(h=t.call(this,e,r,i,a)).ProfileType=r,h.ProfileName=i,h.Position=a,h.Depth=s,h.FlangeWidth=o,h.WebThickness=l,h.FlangeThickness=u,h.FilletRadius=c,h.FlangeEdgeRadius=f,h.WebEdgeRadius=p,h.WebSlope=A,h.FlangeSlope=d,h.CentreOfGravityInY=v,h.type=3071757647,h}return P(n)}(yl);e.IfcTShapeProfileDef=vu;var hu=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r,i,a)).Item=r,o.Styles=i,o.Name=a,o.AnnotatedCurve=s,o.type=3028897424,o}return P(n)}(Ao);e.IfcTerminatorSymbol=hu;var Iu=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e)).Literal=r,s.Placement=i,s.Path=a,s.type=4282788508,s}return P(n)}(Xo);e.IfcTextLiteral=Iu;var yu=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e,r,i,a)).Literal=r,l.Placement=i,l.Path=a,l.Extent=s,l.BoxAlignment=o,l.type=3124975700,l}return P(n)}(Iu);e.IfcTextLiteralWithExtent=yu;var mu=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u){var c;return b(this,n),(c=t.call(this,e,r,i,a)).ProfileType=r,c.ProfileName=i,c.Position=a,c.BottomXDim=s,c.TopXDim=o,c.YDim=l,c.TopXOffset=u,c.type=2715220739,c}return P(n)}(yl);e.IfcTrapeziumProfileDef=mu;var wu=function(e){I(n,e);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e,r)).RepeatFactor=r,a.SecondRepeatFactor=i,a.type=1345879162,a}return P(n)}(vl);e.IfcTwoDirectionRepeatFactor=wu;var gu=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r,i,a,s)).GlobalId=r,u.OwnerHistory=i,u.Name=a,u.Description=s,u.ApplicableOccurrence=o,u.HasPropertySets=l,u.type=1628702193,u}return P(n)}(dl);e.IfcTypeObject=gu;var Eu=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o,l)).GlobalId=r,f.OwnerHistory=i,f.Name=a,f.Description=s,f.ApplicableOccurrence=o,f.HasPropertySets=l,f.RepresentationMaps=u,f.Tag=c,f.type=2347495698,f}return P(n)}(gu);e.IfcTypeProduct=Eu;var Tu=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A){var d;return b(this,n),(d=t.call(this,e,r,i,a)).ProfileType=r,d.ProfileName=i,d.Position=a,d.Depth=s,d.FlangeWidth=o,d.WebThickness=l,d.FlangeThickness=u,d.FilletRadius=c,d.EdgeRadius=f,d.FlangeSlope=p,d.CentreOfGravityInX=A,d.type=427810014,d}return P(n)}(yl);e.IfcUShapeProfileDef=Tu;var bu=function(e){I(n,e);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).Orientation=r,a.Magnitude=i,a.type=1417489154,a}return P(n)}(Xo);e.IfcVector=bu;var Du=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e)).LoopVertex=r,i.type=2759199220,i}return P(n)}(cl);e.IfcVertexLoop=Du;var Pu=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A,d,v){var h;return b(this,n),(h=t.call(this,e,r,i,a,s)).GlobalId=r,h.OwnerHistory=i,h.Name=a,h.Description=s,h.LiningDepth=o,h.LiningThickness=l,h.TransomThickness=u,h.MullionThickness=c,h.FirstTransomOffset=f,h.SecondTransomOffset=p,h.FirstMullionOffset=A,h.SecondMullionOffset=d,h.ShapeAspectStyle=v,h.type=336235671,h}return P(n)}(Ul);e.IfcWindowLiningProperties=Pu;var Ru=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.OperationType=o,p.PanelPosition=l,p.FrameDepth=u,p.FrameThickness=c,p.ShapeAspectStyle=f,p.type=512836454,p}return P(n)}(Ul);e.IfcWindowPanelProperties=Ru;var Cu=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A,d){var v;return b(this,n),(v=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,v.OwnerHistory=i,v.Name=a,v.Description=s,v.ApplicableOccurrence=o,v.HasPropertySets=l,v.RepresentationMaps=u,v.Tag=c,v.ConstructionType=f,v.OperationType=p,v.ParameterTakesPrecedence=A,v.Sizeable=d,v.type=1299126871,v}return P(n)}(Eu);e.IfcWindowStyle=Cu;var _u=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a)).ProfileType=r,p.ProfileName=i,p.Position=a,p.Depth=s,p.FlangeWidth=o,p.WebThickness=l,p.FlangeThickness=u,p.FilletRadius=c,p.EdgeRadius=f,p.type=2543172580,p}return P(n)}(yl);e.IfcZShapeProfileDef=_u;var Bu=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e,r,i,a)).Item=r,s.Styles=i,s.Name=a,s.type=3288037868,s}return P(n)}(fo);e.IfcAnnotationCurveOccurrence=Bu;var Ou=function(e){I(n,e);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).OuterBoundary=r,a.InnerBoundaries=i,a.type=669184980,a}return P(n)}(Xo);e.IfcAnnotationFillArea=Ou;var Su=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e,r,i,a)).Item=r,l.Styles=i,l.Name=a,l.FillStyleTarget=s,l.GlobalOrLocal=o,l.type=2265737646,l}return P(n)}(fo);e.IfcAnnotationFillAreaOccurrence=Su;var Nu=function(e){I(n,e);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).Item=r,a.TextureCoordinates=i,a.type=1302238472,a}return P(n)}(Xo);e.IfcAnnotationSurface=Nu;var Lu=function(e){I(n,e);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e,r)).Location=r,a.Axis=i,a.type=4261334040,a}return P(n)}(El);e.IfcAxis1Placement=Lu;var xu=function(e){I(n,e);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e,r)).Location=r,a.RefDirection=i,a.type=3125803723,a}return P(n)}(El);e.IfcAxis2Placement2D=xu;var Mu=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e,r)).Location=r,s.Axis=i,s.RefDirection=a,s.type=2740243338,s}return P(n)}(El);e.IfcAxis2Placement3D=Mu;var Fu=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e)).Operator=r,s.FirstOperand=i,s.SecondOperand=a,s.type=2736907675,s}return P(n)}(Xo);e.IfcBooleanResult=Fu;var Hu=function(e){I(n,e);var t=m(n);function n(e){var r;return b(this,n),(r=t.call(this,e)).type=4182860854,r}return P(n)}(cu);e.IfcBoundedSurface=Hu;var Uu=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e)).Corner=r,o.XDim=i,o.YDim=a,o.ZDim=s,o.type=2581212453,o}return P(n)}(Xo);e.IfcBoundingBox=Uu;var Gu=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e,r,i)).BaseSurface=r,s.AgreementFlag=i,s.Enclosure=a,s.type=2713105998,s}return P(n)}($o);e.IfcBoxedHalfSpace=Gu;var ku=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a)).ProfileType=r,p.ProfileName=i,p.Position=a,p.Depth=s,p.Width=o,p.WallThickness=l,p.Girth=u,p.InternalFilletRadius=c,p.CentreOfGravityInX=f,p.type=2898889636,p}return P(n)}(yl);e.IfcCShapeProfileDef=ku;var ju=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e)).Coordinates=r,i.type=1123145078,i}return P(n)}(bl);e.IfcCartesianPoint=ju;var Vu=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e)).Axis1=r,o.Axis2=i,o.LocalOrigin=a,o.Scale=s,o.type=59481748,o}return P(n)}(Xo);e.IfcCartesianTransformationOperator=Vu;var Qu=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r,i,a,s)).Axis1=r,o.Axis2=i,o.LocalOrigin=a,o.Scale=s,o.type=3749851601,o}return P(n)}(Vu);e.IfcCartesianTransformationOperator2D=Qu;var Wu=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e,r,i,a,s)).Axis1=r,l.Axis2=i,l.LocalOrigin=a,l.Scale=s,l.Scale2=o,l.type=3486308946,l}return P(n)}(Qu);e.IfcCartesianTransformationOperator2DnonUniform=Wu;var zu=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e,r,i,a,s)).Axis1=r,l.Axis2=i,l.LocalOrigin=a,l.Scale=s,l.Axis3=o,l.type=3331915920,l}return P(n)}(Vu);e.IfcCartesianTransformationOperator3D=zu;var Ku=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u){var c;return b(this,n),(c=t.call(this,e,r,i,a,s,o)).Axis1=r,c.Axis2=i,c.LocalOrigin=a,c.Scale=s,c.Axis3=o,c.Scale2=l,c.Scale3=u,c.type=1416205885,c}return P(n)}(zu);e.IfcCartesianTransformationOperator3DnonUniform=Ku;var Yu=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r,i,a)).ProfileType=r,o.ProfileName=i,o.Position=a,o.Radius=s,o.type=1383045692,o}return P(n)}(yl);e.IfcCircleProfileDef=Yu;var Xu=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e,r)).CfsFaces=r,i.type=2205249479,i}return P(n)}(Do);e.IfcClosedShell=Xu;var qu=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e)).Transition=r,s.SameSense=i,s.ParentCurve=a,s.type=2485617015,s}return P(n)}(Xo);e.IfcCompositeCurveSegment=qu;var Ju=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A,d,v,h,I){var y;return b(this,n),(y=t.call(this,e,r,i,a)).ProfileType=r,y.ProfileName=i,y.Position=a,y.OverallHeight=s,y.BaseWidth2=o,y.Radius=l,y.HeadWidth=u,y.HeadDepth2=c,y.HeadDepth3=f,y.WebThickness=p,y.BaseWidth4=A,y.BaseDepth1=d,y.BaseDepth2=v,y.BaseDepth3=h,y.CentreOfGravityInY=I,y.type=4133800736,y}return P(n)}(yl);e.IfcCraneRailAShapeProfileDef=Ju;var Zu=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A,d){var v;return b(this,n),(v=t.call(this,e,r,i,a)).ProfileType=r,v.ProfileName=i,v.Position=a,v.OverallHeight=s,v.HeadWidth=o,v.Radius=l,v.HeadDepth2=u,v.HeadDepth3=c,v.WebThickness=f,v.BaseDepth1=p,v.BaseDepth2=A,v.CentreOfGravityInY=d,v.type=194851669,v}return P(n)}(yl);e.IfcCraneRailFShapeProfileDef=Zu;var $u=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e)).Position=r,i.type=2506170314,i}return P(n)}(Xo);e.IfcCsgPrimitive3D=$u;var ec=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e)).TreeRootExpression=r,i.type=2147822146,i}return P(n)}(Jl);e.IfcCsgSolid=ec;var tc=function(e){I(n,e);var t=m(n);function n(e){var r;return b(this,n),(r=t.call(this,e)).type=2601014836,r}return P(n)}(Xo);e.IfcCurve=tc;var nc=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e)).BasisSurface=r,s.OuterBoundary=i,s.InnerBoundaries=a,s.type=2827736869,s}return P(n)}(Hu);e.IfcCurveBoundedPlane=nc;var rc=function(e){I(n,e);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).Definition=r,a.Target=i,a.type=693772133,a}return P(n)}(Xo);e.IfcDefinedSymbol=rc;var ic=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e,r,i,a)).Item=r,s.Styles=i,s.Name=a,s.type=606661476,s}return P(n)}(Bu);e.IfcDimensionCurve=ic;var ac=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e,r,i,a,s)).Item=r,l.Styles=i,l.Name=a,l.AnnotatedCurve=s,l.Role=o,l.type=4054601972,l}return P(n)}(hu);e.IfcDimensionCurveTerminator=ac;var sc=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e)).DirectionRatios=r,i.type=32440307,i}return P(n)}(Xo);e.IfcDirection=sc;var oc=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A,d,v,h,I){var y;return b(this,n),(y=t.call(this,e,r,i,a,s)).GlobalId=r,y.OwnerHistory=i,y.Name=a,y.Description=s,y.LiningDepth=o,y.LiningThickness=l,y.ThresholdDepth=u,y.ThresholdThickness=c,y.TransomThickness=f,y.TransomOffset=p,y.LiningOffset=A,y.ThresholdOffset=d,y.CasingThickness=v,y.CasingDepth=h,y.ShapeAspectStyle=I,y.type=2963535650,y}return P(n)}(Ul);e.IfcDoorLiningProperties=oc;var lc=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.PanelDepth=o,p.PanelOperation=l,p.PanelWidth=u,p.PanelPosition=c,p.ShapeAspectStyle=f,p.type=1714330368,p}return P(n)}(Ul);e.IfcDoorPanelProperties=lc;var uc=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A,d){var v;return b(this,n),(v=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,v.OwnerHistory=i,v.Name=a,v.Description=s,v.ApplicableOccurrence=o,v.HasPropertySets=l,v.RepresentationMaps=u,v.Tag=c,v.OperationType=f,v.ConstructionType=p,v.ParameterTakesPrecedence=A,v.Sizeable=d,v.type=526551008,v}return P(n)}(Eu);e.IfcDoorStyle=uc;var cc=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e)).Contents=r,i.type=3073041342,i}return P(n)}(Xo);e.IfcDraughtingCallout=cc;var fc=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e,r)).Name=r,i.type=445594917,i}return P(n)}(_l);e.IfcDraughtingPreDefinedColour=fc;var pc=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e,r)).Name=r,i.type=4006246654,i}return P(n)}(Bl);e.IfcDraughtingPreDefinedCurveFont=pc;var Ac=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e)).EdgeList=r,i.type=1472233963,i}return P(n)}(cl);e.IfcEdgeLoop=Ac;var dc=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r,i,a,s)).GlobalId=r,u.OwnerHistory=i,u.Name=a,u.Description=s,u.MethodOfMeasurement=o,u.Quantities=l,u.type=1883228015,u}return P(n)}(Ul);e.IfcElementQuantity=dc;var vc=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ApplicableOccurrence=o,p.HasPropertySets=l,p.RepresentationMaps=u,p.Tag=c,p.ElementType=f,p.type=339256511,p}return P(n)}(Eu);e.IfcElementType=vc;var hc=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e)).Position=r,i.type=2777663545,i}return P(n)}(cu);e.IfcElementarySurface=hc;var Ic=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e,r,i,a)).ProfileType=r,l.ProfileName=i,l.Position=a,l.SemiAxis1=s,l.SemiAxis2=o,l.type=2835456948,l}return P(n)}(yl);e.IfcEllipseProfileDef=Ic;var yc=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r,i,a,s)).GlobalId=r,u.OwnerHistory=i,u.Name=a,u.Description=s,u.EnergySequence=o,u.UserDefinedEnergySequence=l,u.type=80994333,u}return P(n)}(Ul);e.IfcEnergyProperties=yc;var mc=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r,i)).SweptArea=r,o.Position=i,o.ExtrudedDirection=a,o.Depth=s,o.type=477187591,o}return P(n)}(pu);e.IfcExtrudedAreaSolid=mc;var wc=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e)).FbsmFaces=r,i.type=2047409740,i}return P(n)}(Xo);e.IfcFaceBasedSurfaceModel=wc;var gc=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e)).HatchLineAppearance=r,l.StartOfNextHatchLine=i,l.PointOfReferenceHatchLine=a,l.PatternStart=s,l.HatchLineAngle=o,l.type=374418227,l}return P(n)}(Xo);e.IfcFillAreaStyleHatching=gc;var Ec=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e)).Symbol=r,i.type=4203026998,i}return P(n)}(Xo);e.IfcFillAreaStyleTileSymbolWithStyle=Ec;var Tc=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e)).TilingPattern=r,s.Tiles=i,s.TilingScale=a,s.type=315944413,s}return P(n)}(Xo);e.IfcFillAreaStyleTiles=Tc;var bc=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A,d,v,h,I,y,m,w,g){var E;return b(this,n),(E=t.call(this,e,r,i,a,s)).GlobalId=r,E.OwnerHistory=i,E.Name=a,E.Description=s,E.PropertySource=o,E.FlowConditionTimeSeries=l,E.VelocityTimeSeries=u,E.FlowrateTimeSeries=c,E.Fluid=f,E.PressureTimeSeries=p,E.UserDefinedPropertySource=A,E.TemperatureSingleValue=d,E.WetBulbTemperatureSingleValue=v,E.WetBulbTemperatureTimeSeries=h,E.TemperatureTimeSeries=I,E.FlowrateSingleValue=y,E.FlowConditionSingleValue=m,E.VelocitySingleValue=w,E.PressureSingleValue=g,E.type=3455213021,E}return P(n)}(Ul);e.IfcFluidFlowProperties=bc;var Dc=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ApplicableOccurrence=o,p.HasPropertySets=l,p.RepresentationMaps=u,p.Tag=c,p.ElementType=f,p.type=4238390223,p}return P(n)}(vc);e.IfcFurnishingElementType=Dc;var Pc=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.AssemblyPlace=p,A.type=1268542332,A}return P(n)}(Dc);e.IfcFurnitureType=Pc;var Rc=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e,r)).Elements=r,i.type=987898635,i}return P(n)}(Jo);e.IfcGeometricCurveSet=Rc;var Cc=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a)).ProfileType=r,f.ProfileName=i,f.Position=a,f.OverallWidth=s,f.OverallDepth=o,f.WebThickness=l,f.FlangeThickness=u,f.FilletRadius=c,f.type=1484403080,f}return P(n)}(yl);e.IfcIShapeProfileDef=Cc;var _c=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A){var d;return b(this,n),(d=t.call(this,e,r,i,a)).ProfileType=r,d.ProfileName=i,d.Position=a,d.Depth=s,d.Width=o,d.Thickness=l,d.FilletRadius=u,d.EdgeRadius=c,d.LegSlope=f,d.CentreOfGravityInX=p,d.CentreOfGravityInY=A,d.type=572779678,d}return P(n)}(yl);e.IfcLShapeProfileDef=_c;var Bc=function(e){I(n,e);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).Pnt=r,a.Dir=i,a.type=1281925730,a}return P(n)}(tc);e.IfcLine=Bc;var Oc=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e)).Outer=r,i.type=1425443689,i}return P(n)}(Jl);e.IfcManifoldSolidBrep=Oc;var Sc=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e,r,i,a,s)).GlobalId=r,l.OwnerHistory=i,l.Name=a,l.Description=s,l.ObjectType=o,l.type=3888040117,l}return P(n)}(dl);e.IfcObject=Sc;var Nc=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e)).BasisCurve=r,s.Distance=i,s.SelfIntersect=a,s.type=3388369263,s}return P(n)}(tc);e.IfcOffsetCurve2D=Nc;var Lc=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e)).BasisCurve=r,o.Distance=i,o.SelfIntersect=a,o.RefDirection=s,o.type=3505215534,o}return P(n)}(tc);e.IfcOffsetCurve3D=Lc;var xc=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.OperationType=o,p.PanelPosition=l,p.FrameDepth=u,p.FrameThickness=c,p.ShapeAspectStyle=f,p.type=3566463478,p}return P(n)}(Ul);e.IfcPermeableCoveringProperties=xc;var Mc=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e,r,i)).SizeInX=r,s.SizeInY=i,s.Placement=a,s.type=603570806,s}return P(n)}(Tl);e.IfcPlanarBox=Mc;var Fc=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e,r)).Position=r,i.type=220341763,i}return P(n)}(hc);e.IfcPlane=Fc;var Hc=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e,r,i,a,s,o)).GlobalId=r,l.OwnerHistory=i,l.Name=a,l.Description=s,l.ObjectType=o,l.type=2945172077,l}return P(n)}(Sc);e.IfcProcess=Hc;var Uc=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u){var c;return b(this,n),(c=t.call(this,e,r,i,a,s,o)).GlobalId=r,c.OwnerHistory=i,c.Name=a,c.Description=s,c.ObjectType=o,c.ObjectPlacement=l,c.Representation=u,c.type=4208778838,c}return P(n)}(Sc);e.IfcProduct=Uc;var Gc=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.LongName=l,p.Phase=u,p.RepresentationContexts=c,p.UnitsInContext=f,p.type=103090709,p}return P(n)}(Sc);e.IfcProject=Gc;var kc=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e,r,i,a)).Item=r,s.Styles=i,s.Name=a,s.type=4194566429,s}return P(n)}(Bu);e.IfcProjectionCurve=kc;var jc=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e,r,i,a,s)).GlobalId=r,l.OwnerHistory=i,l.Name=a,l.Description=s,l.HasProperties=o,l.type=1451395588,l}return P(n)}(Ul);e.IfcPropertySet=jc;var Vc=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.ProxyType=c,p.Tag=f,p.type=3219374653,p}return P(n)}(Uc);e.IfcProxy=Vc;var Qc=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o)).ProfileType=r,f.ProfileName=i,f.Position=a,f.XDim=s,f.YDim=o,f.WallThickness=l,f.InnerFilletRadius=u,f.OuterFilletRadius=c,f.type=2770003689,f}return P(n)}(jl);e.IfcRectangleHollowProfileDef=Qc;var Wc=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r)).Position=r,o.XLength=i,o.YLength=a,o.Height=s,o.type=2798486643,o}return P(n)}($u);e.IfcRectangularPyramid=Wc;var zc=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u){var c;return b(this,n),(c=t.call(this,e)).BasisSurface=r,c.U1=i,c.V1=a,c.U2=s,c.V2=o,c.Usense=l,c.Vsense=u,c.type=3454111270,c}return P(n)}(Hu);e.IfcRectangularTrimmedSurface=zc;var Kc=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r,i,a,s)).GlobalId=r,u.OwnerHistory=i,u.Name=a,u.Description=s,u.RelatedObjects=o,u.RelatedObjectsType=l,u.type=3939117080,u}return P(n)}(Wl);e.IfcRelAssigns=Kc;var Yc=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o,l)).GlobalId=r,f.OwnerHistory=i,f.Name=a,f.Description=s,f.RelatedObjects=o,f.RelatedObjectsType=l,f.RelatingActor=u,f.ActingRole=c,f.type=1683148259,f}return P(n)}(Kc);e.IfcRelAssignsToActor=Yc;var Xc=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u){var c;return b(this,n),(c=t.call(this,e,r,i,a,s,o,l)).GlobalId=r,c.OwnerHistory=i,c.Name=a,c.Description=s,c.RelatedObjects=o,c.RelatedObjectsType=l,c.RelatingControl=u,c.type=2495723537,c}return P(n)}(Kc);e.IfcRelAssignsToControl=Xc;var qc=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u){var c;return b(this,n),(c=t.call(this,e,r,i,a,s,o,l)).GlobalId=r,c.OwnerHistory=i,c.Name=a,c.Description=s,c.RelatedObjects=o,c.RelatedObjectsType=l,c.RelatingGroup=u,c.type=1307041759,c}return P(n)}(Kc);e.IfcRelAssignsToGroup=qc;var Jc=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o,l)).GlobalId=r,f.OwnerHistory=i,f.Name=a,f.Description=s,f.RelatedObjects=o,f.RelatedObjectsType=l,f.RelatingProcess=u,f.QuantityInProcess=c,f.type=4278684876,f}return P(n)}(Kc);e.IfcRelAssignsToProcess=Jc;var Zc=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u){var c;return b(this,n),(c=t.call(this,e,r,i,a,s,o,l)).GlobalId=r,c.OwnerHistory=i,c.Name=a,c.Description=s,c.RelatedObjects=o,c.RelatedObjectsType=l,c.RelatingProduct=u,c.type=2857406711,c}return P(n)}(Kc);e.IfcRelAssignsToProduct=Zc;var $c=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u){var c;return b(this,n),(c=t.call(this,e,r,i,a,s,o,l,u)).GlobalId=r,c.OwnerHistory=i,c.Name=a,c.Description=s,c.RelatedObjects=o,c.RelatedObjectsType=l,c.RelatingControl=u,c.type=3372526763,c}return P(n)}(Xc);e.IfcRelAssignsToProjectOrder=$c;var ef=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u){var c;return b(this,n),(c=t.call(this,e,r,i,a,s,o,l)).GlobalId=r,c.OwnerHistory=i,c.Name=a,c.Description=s,c.RelatedObjects=o,c.RelatedObjectsType=l,c.RelatingResource=u,c.type=205026976,c}return P(n)}(Kc);e.IfcRelAssignsToResource=ef;var tf=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e,r,i,a,s)).GlobalId=r,l.OwnerHistory=i,l.Name=a,l.Description=s,l.RelatedObjects=o,l.type=1865459582,l}return P(n)}(Wl);e.IfcRelAssociates=tf;var nf=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r,i,a,s,o)).GlobalId=r,u.OwnerHistory=i,u.Name=a,u.Description=s,u.RelatedObjects=o,u.RelatingAppliedValue=l,u.type=1327628568,u}return P(n)}(tf);e.IfcRelAssociatesAppliedValue=nf;var rf=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r,i,a,s,o)).GlobalId=r,u.OwnerHistory=i,u.Name=a,u.Description=s,u.RelatedObjects=o,u.RelatingApproval=l,u.type=4095574036,u}return P(n)}(tf);e.IfcRelAssociatesApproval=rf;var af=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r,i,a,s,o)).GlobalId=r,u.OwnerHistory=i,u.Name=a,u.Description=s,u.RelatedObjects=o,u.RelatingClassification=l,u.type=919958153,u}return P(n)}(tf);e.IfcRelAssociatesClassification=af;var sf=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u){var c;return b(this,n),(c=t.call(this,e,r,i,a,s,o)).GlobalId=r,c.OwnerHistory=i,c.Name=a,c.Description=s,c.RelatedObjects=o,c.Intent=l,c.RelatingConstraint=u,c.type=2728634034,c}return P(n)}(tf);e.IfcRelAssociatesConstraint=sf;var of=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r,i,a,s,o)).GlobalId=r,u.OwnerHistory=i,u.Name=a,u.Description=s,u.RelatedObjects=o,u.RelatingDocument=l,u.type=982818633,u}return P(n)}(tf);e.IfcRelAssociatesDocument=of;var lf=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r,i,a,s,o)).GlobalId=r,u.OwnerHistory=i,u.Name=a,u.Description=s,u.RelatedObjects=o,u.RelatingLibrary=l,u.type=3840914261,u}return P(n)}(tf);e.IfcRelAssociatesLibrary=lf;var uf=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r,i,a,s,o)).GlobalId=r,u.OwnerHistory=i,u.Name=a,u.Description=s,u.RelatedObjects=o,u.RelatingMaterial=l,u.type=2655215786,u}return P(n)}(tf);e.IfcRelAssociatesMaterial=uf;var cf=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o)).GlobalId=r,f.OwnerHistory=i,f.Name=a,f.Description=s,f.RelatedObjects=o,f.RelatingProfileProperties=l,f.ProfileSectionLocation=u,f.ProfileOrientation=c,f.type=2851387026,f}return P(n)}(tf);e.IfcRelAssociatesProfileProperties=cf;var ff=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r,i,a,s)).GlobalId=r,o.OwnerHistory=i,o.Name=a,o.Description=s,o.type=826625072,o}return P(n)}(Wl);e.IfcRelConnects=ff;var pf=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u){var c;return b(this,n),(c=t.call(this,e,r,i,a,s)).GlobalId=r,c.OwnerHistory=i,c.Name=a,c.Description=s,c.ConnectionGeometry=o,c.RelatingElement=l,c.RelatedElement=u,c.type=1204542856,c}return P(n)}(ff);e.IfcRelConnectsElements=pf;var Af=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A){var d;return b(this,n),(d=t.call(this,e,r,i,a,s,o,l,u)).GlobalId=r,d.OwnerHistory=i,d.Name=a,d.Description=s,d.ConnectionGeometry=o,d.RelatingElement=l,d.RelatedElement=u,d.RelatingPriorities=c,d.RelatedPriorities=f,d.RelatedConnectionType=p,d.RelatingConnectionType=A,d.type=3945020480,d}return P(n)}(pf);e.IfcRelConnectsPathElements=Af;var df=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r,i,a,s)).GlobalId=r,u.OwnerHistory=i,u.Name=a,u.Description=s,u.RelatingPort=o,u.RelatedElement=l,u.type=4201705270,u}return P(n)}(ff);e.IfcRelConnectsPortToElement=df;var vf=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u){var c;return b(this,n),(c=t.call(this,e,r,i,a,s)).GlobalId=r,c.OwnerHistory=i,c.Name=a,c.Description=s,c.RelatingPort=o,c.RelatedPort=l,c.RealizingElement=u,c.type=3190031847,c}return P(n)}(ff);e.IfcRelConnectsPorts=vf;var hf=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r,i,a,s)).GlobalId=r,u.OwnerHistory=i,u.Name=a,u.Description=s,u.RelatingElement=o,u.RelatedStructuralActivity=l,u.type=2127690289,u}return P(n)}(ff);e.IfcRelConnectsStructuralActivity=hf;var If=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r,i,a,s)).GlobalId=r,u.OwnerHistory=i,u.Name=a,u.Description=s,u.RelatingElement=o,u.RelatedStructuralMember=l,u.type=3912681535,u}return P(n)}(ff);e.IfcRelConnectsStructuralElement=If;var yf=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.RelatingStructuralMember=o,A.RelatedStructuralConnection=l,A.AppliedCondition=u,A.AdditionalConditions=c,A.SupportedLength=f,A.ConditionCoordinateSystem=p,A.type=1638771189,A}return P(n)}(ff);e.IfcRelConnectsStructuralMember=yf;var mf=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A){var d;return b(this,n),(d=t.call(this,e,r,i,a,s,o,l,u,c,f,p)).GlobalId=r,d.OwnerHistory=i,d.Name=a,d.Description=s,d.RelatingStructuralMember=o,d.RelatedStructuralConnection=l,d.AppliedCondition=u,d.AdditionalConditions=c,d.SupportedLength=f,d.ConditionCoordinateSystem=p,d.ConnectionConstraint=A,d.type=504942748,d}return P(n)}(yf);e.IfcRelConnectsWithEccentricity=mf;var wf=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ConnectionGeometry=o,p.RelatingElement=l,p.RelatedElement=u,p.RealizingElements=c,p.ConnectionType=f,p.type=3678494232,p}return P(n)}(pf);e.IfcRelConnectsWithRealizingElements=wf;var gf=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r,i,a,s)).GlobalId=r,u.OwnerHistory=i,u.Name=a,u.Description=s,u.RelatedElements=o,u.RelatingStructure=l,u.type=3242617779,u}return P(n)}(ff);e.IfcRelContainedInSpatialStructure=gf;var Ef=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r,i,a,s)).GlobalId=r,u.OwnerHistory=i,u.Name=a,u.Description=s,u.RelatingBuildingElement=o,u.RelatedCoverings=l,u.type=886880790,u}return P(n)}(ff);e.IfcRelCoversBldgElements=Ef;var Tf=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r,i,a,s)).GlobalId=r,u.OwnerHistory=i,u.Name=a,u.Description=s,u.RelatedSpace=o,u.RelatedCoverings=l,u.type=2802773753,u}return P(n)}(ff);e.IfcRelCoversSpaces=Tf;var bf=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r,i,a,s)).GlobalId=r,u.OwnerHistory=i,u.Name=a,u.Description=s,u.RelatingObject=o,u.RelatedObjects=l,u.type=2551354335,u}return P(n)}(Wl);e.IfcRelDecomposes=bf;var Df=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e,r,i,a,s)).GlobalId=r,l.OwnerHistory=i,l.Name=a,l.Description=s,l.RelatedObjects=o,l.type=693640335,l}return P(n)}(Wl);e.IfcRelDefines=Df;var Pf=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r,i,a,s,o)).GlobalId=r,u.OwnerHistory=i,u.Name=a,u.Description=s,u.RelatedObjects=o,u.RelatingPropertyDefinition=l,u.type=4186316022,u}return P(n)}(Df);e.IfcRelDefinesByProperties=Pf;var Rf=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r,i,a,s,o)).GlobalId=r,u.OwnerHistory=i,u.Name=a,u.Description=s,u.RelatedObjects=o,u.RelatingType=l,u.type=781010003,u}return P(n)}(Df);e.IfcRelDefinesByType=Rf;var Cf=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r,i,a,s)).GlobalId=r,u.OwnerHistory=i,u.Name=a,u.Description=s,u.RelatingOpeningElement=o,u.RelatedBuildingElement=l,u.type=3940055652,u}return P(n)}(ff);e.IfcRelFillsElement=Cf;var _f=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r,i,a,s)).GlobalId=r,u.OwnerHistory=i,u.Name=a,u.Description=s,u.RelatedControlElements=o,u.RelatingFlowElement=l,u.type=279856033,u}return P(n)}(ff);e.IfcRelFlowControlElements=_f;var Bf=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.DailyInteraction=o,p.ImportanceRating=l,p.LocationOfInteraction=u,p.RelatedSpaceProgram=c,p.RelatingSpaceProgram=f,p.type=4189434867,p}return P(n)}(ff);e.IfcRelInteractionRequirements=Bf;var Of=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r,i,a,s,o,l)).GlobalId=r,u.OwnerHistory=i,u.Name=a,u.Description=s,u.RelatingObject=o,u.RelatedObjects=l,u.type=3268803585,u}return P(n)}(bf);e.IfcRelNests=Of;var Sf=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,f.OwnerHistory=i,f.Name=a,f.Description=s,f.RelatedObjects=o,f.RelatedObjectsType=l,f.RelatingActor=u,f.ActingRole=c,f.type=2051452291,f}return P(n)}(Yc);e.IfcRelOccupiesSpaces=Sf;var Nf=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u){var c;return b(this,n),(c=t.call(this,e,r,i,a,s,o,l)).GlobalId=r,c.OwnerHistory=i,c.Name=a,c.Description=s,c.RelatedObjects=o,c.RelatingPropertyDefinition=l,c.OverridingProperties=u,c.type=202636808,c}return P(n)}(Pf);e.IfcRelOverridesProperties=Nf;var Lf=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r,i,a,s)).GlobalId=r,u.OwnerHistory=i,u.Name=a,u.Description=s,u.RelatingElement=o,u.RelatedFeatureElement=l,u.type=750771296,u}return P(n)}(ff);e.IfcRelProjectsElement=Lf;var xf=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r,i,a,s)).GlobalId=r,u.OwnerHistory=i,u.Name=a,u.Description=s,u.RelatedElements=o,u.RelatingStructure=l,u.type=1245217292,u}return P(n)}(ff);e.IfcRelReferencedInSpatialStructure=xf;var Mf=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u){var c;return b(this,n),(c=t.call(this,e,r,i,a,s,o,l,u)).GlobalId=r,c.OwnerHistory=i,c.Name=a,c.Description=s,c.RelatedObjects=o,c.RelatedObjectsType=l,c.RelatingControl=u,c.type=1058617721,c}return P(n)}(Xc);e.IfcRelSchedulesCostItems=Mf;var Ff=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s)).GlobalId=r,f.OwnerHistory=i,f.Name=a,f.Description=s,f.RelatingProcess=o,f.RelatedProcess=l,f.TimeLag=u,f.SequenceType=c,f.type=4122056220,f}return P(n)}(ff);e.IfcRelSequence=Ff;var Hf=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r,i,a,s)).GlobalId=r,u.OwnerHistory=i,u.Name=a,u.Description=s,u.RelatingSystem=o,u.RelatedBuildings=l,u.type=366585022,u}return P(n)}(ff);e.IfcRelServicesBuildings=Hf;var Uf=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.RelatingSpace=o,p.RelatedBuildingElement=l,p.ConnectionGeometry=u,p.PhysicalOrVirtualBoundary=c,p.InternalOrExternalBoundary=f,p.type=3451746338,p}return P(n)}(ff);e.IfcRelSpaceBoundary=Uf;var Gf=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r,i,a,s)).GlobalId=r,u.OwnerHistory=i,u.Name=a,u.Description=s,u.RelatingBuildingElement=o,u.RelatedOpeningElement=l,u.type=1401173127,u}return P(n)}(ff);e.IfcRelVoidsElement=Gf;var kf=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e,r,i,a,s,o)).GlobalId=r,l.OwnerHistory=i,l.Name=a,l.Description=s,l.ObjectType=o,l.type=2914609552,l}return P(n)}(Sc);e.IfcResource=kf;var jf=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r,i)).SweptArea=r,o.Position=i,o.Axis=a,o.Angle=s,o.type=1856042241,o}return P(n)}(pu);e.IfcRevolvedAreaSolid=jf;var Vf=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e,r)).Position=r,s.Height=i,s.BottomRadius=a,s.type=4158566097,s}return P(n)}($u);e.IfcRightCircularCone=Vf;var Qf=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e,r)).Position=r,s.Height=i,s.Radius=a,s.type=3626867408,s}return P(n)}($u);e.IfcRightCircularCylinder=Qf;var Wf=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.LongName=c,p.CompositionType=f,p.type=2706606064,p}return P(n)}(Uc);e.IfcSpatialStructureElement=Wf;var zf=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ApplicableOccurrence=o,p.HasPropertySets=l,p.RepresentationMaps=u,p.Tag=c,p.ElementType=f,p.type=3893378262,p}return P(n)}(vc);e.IfcSpatialStructureElementType=zf;var Kf=function(e){I(n,e);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e,r)).Position=r,a.Radius=i,a.type=451544542,a}return P(n)}($u);e.IfcSphere=Kf;var Yf=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.AppliedLoad=c,p.GlobalOrLocal=f,p.type=3544373492,p}return P(n)}(Uc);e.IfcStructuralActivity=Yf;var Xf=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u){var c;return b(this,n),(c=t.call(this,e,r,i,a,s,o,l,u)).GlobalId=r,c.OwnerHistory=i,c.Name=a,c.Description=s,c.ObjectType=o,c.ObjectPlacement=l,c.Representation=u,c.type=3136571912,c}return P(n)}(Uc);e.IfcStructuralItem=Xf;var qf=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u){var c;return b(this,n),(c=t.call(this,e,r,i,a,s,o,l,u)).GlobalId=r,c.OwnerHistory=i,c.Name=a,c.Description=s,c.ObjectType=o,c.ObjectPlacement=l,c.Representation=u,c.type=530289379,c}return P(n)}(Xf);e.IfcStructuralMember=qf;var Jf=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.AppliedLoad=c,p.GlobalOrLocal=f,p.type=3689010777,p}return P(n)}(Yf);e.IfcStructuralReaction=Jf;var Zf=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.PredefinedType=c,p.Thickness=f,p.type=3979015343,p}return P(n)}(qf);e.IfcStructuralSurfaceMember=Zf;var $f=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A){var d;return b(this,n),(d=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,d.OwnerHistory=i,d.Name=a,d.Description=s,d.ObjectType=o,d.ObjectPlacement=l,d.Representation=u,d.PredefinedType=c,d.Thickness=f,d.SubsequentThickness=p,d.VaryingThicknessLocation=A,d.type=2218152070,d}return P(n)}(Zf);e.IfcStructuralSurfaceMemberVarying=$f;var ep=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e,r)).Contents=r,i.type=4070609034,i}return P(n)}(cc);e.IfcStructuredDimensionCallout=ep;var tp=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r,i)).SweptArea=r,u.Position=i,u.Directrix=a,u.StartParam=s,u.EndParam=o,u.ReferenceSurface=l,u.type=2028607225,u}return P(n)}(pu);e.IfcSurfaceCurveSweptAreaSolid=tp;var np=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r,i)).SweptCurve=r,o.Position=i,o.ExtrudedDirection=a,o.Depth=s,o.type=2809605785,o}return P(n)}(du);e.IfcSurfaceOfLinearExtrusion=np;var rp=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e,r,i)).SweptCurve=r,s.Position=i,s.AxisPosition=a,s.type=4124788165,s}return P(n)}(du);e.IfcSurfaceOfRevolution=rp;var ip=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ApplicableOccurrence=o,p.HasPropertySets=l,p.RepresentationMaps=u,p.Tag=c,p.ElementType=f,p.type=1580310250,p}return P(n)}(Dc);e.IfcSystemFurnitureElementType=ip;var ap=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ObjectType=o,A.TaskId=l,A.Status=u,A.WorkMethod=c,A.IsMilestone=f,A.Priority=p,A.type=3473067441,A}return P(n)}(Hc);e.IfcTask=ap;var sp=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=2097647324,A}return P(n)}(vc);e.IfcTransportElementType=sp;var op=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r,i,a,s,o)).GlobalId=r,u.OwnerHistory=i,u.Name=a,u.Description=s,u.ObjectType=o,u.TheActor=l,u.type=2296667514,u}return P(n)}(Sc);e.IfcActor=op;var lp=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u){var c;return b(this,n),(c=t.call(this,e,r,i,a,s,o,l,u)).GlobalId=r,c.OwnerHistory=i,c.Name=a,c.Description=s,c.ObjectType=o,c.ObjectPlacement=l,c.Representation=u,c.type=1674181508,c}return P(n)}(Uc);e.IfcAnnotation=lp;var up=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A,d){var v;return b(this,n),(v=t.call(this,e,r,i,a,s,o,l,u,c)).ProfileType=r,v.ProfileName=i,v.Position=a,v.OverallWidth=s,v.OverallDepth=o,v.WebThickness=l,v.FlangeThickness=u,v.FilletRadius=c,v.TopFlangeWidth=f,v.TopFlangeThickness=p,v.TopFlangeFilletRadius=A,v.CentreOfGravityInY=d,v.type=3207858831,v}return P(n)}(Cc);e.IfcAsymmetricIShapeProfileDef=up;var cp=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r)).Position=r,o.XLength=i,o.YLength=a,o.ZLength=s,o.type=1334484129,o}return P(n)}($u);e.IfcBlock=cp;var fp=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e,r,i,a)).Operator=r,s.FirstOperand=i,s.SecondOperand=a,s.type=3649129432,s}return P(n)}(Fu);e.IfcBooleanClippingResult=fp;var pp=function(e){I(n,e);var t=m(n);function n(e){var r;return b(this,n),(r=t.call(this,e)).type=1260505505,r}return P(n)}(tc);e.IfcBoundedCurve=pp;var Ap=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A,d){var v;return b(this,n),(v=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,v.OwnerHistory=i,v.Name=a,v.Description=s,v.ObjectType=o,v.ObjectPlacement=l,v.Representation=u,v.LongName=c,v.CompositionType=f,v.ElevationOfRefHeight=p,v.ElevationOfTerrain=A,v.BuildingAddress=d,v.type=4031249490,v}return P(n)}(Wf);e.IfcBuilding=Ap;var dp=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ApplicableOccurrence=o,p.HasPropertySets=l,p.RepresentationMaps=u,p.Tag=c,p.ElementType=f,p.type=1950629157,p}return P(n)}(vc);e.IfcBuildingElementType=dp;var vp=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ObjectType=o,A.ObjectPlacement=l,A.Representation=u,A.LongName=c,A.CompositionType=f,A.Elevation=p,A.type=3124254112,A}return P(n)}(Wf);e.IfcBuildingStorey=vp;var hp=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e,r,i,a,s)).ProfileType=r,l.ProfileName=i,l.Position=a,l.Radius=s,l.WallThickness=o,l.type=2937912522,l}return P(n)}(Yu);e.IfcCircleHollowProfileDef=hp;var Ip=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=300633059,A}return P(n)}(dp);e.IfcColumnType=Ip;var yp=function(e){I(n,e);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).Segments=r,a.SelfIntersect=i,a.type=3732776249,a}return P(n)}(pp);e.IfcCompositeCurve=yp;var mp=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e)).Position=r,i.type=2510884976,i}return P(n)}(tc);e.IfcConic=mp;var wp=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ResourceIdentifier=l,p.ResourceGroup=u,p.ResourceConsumption=c,p.BaseQuantity=f,p.type=2559216714,p}return P(n)}(kf);e.IfcConstructionResource=wp;var gp=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e,r,i,a,s,o)).GlobalId=r,l.OwnerHistory=i,l.Name=a,l.Description=s,l.ObjectType=o,l.type=3293443760,l}return P(n)}(Sc);e.IfcControl=gp;var Ep=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e,r,i,a,s,o)).GlobalId=r,l.OwnerHistory=i,l.Name=a,l.Description=s,l.ObjectType=o,l.type=3895139033,l}return P(n)}(gp);e.IfcCostItem=Ep;var Tp=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A,d,v){var h;return b(this,n),(h=t.call(this,e,r,i,a,s,o)).GlobalId=r,h.OwnerHistory=i,h.Name=a,h.Description=s,h.ObjectType=o,h.SubmittedBy=l,h.PreparedBy=u,h.SubmittedOn=c,h.Status=f,h.TargetUsers=p,h.UpdateDate=A,h.ID=d,h.PredefinedType=v,h.type=1419761937,h}return P(n)}(gp);e.IfcCostSchedule=Tp;var bp=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=1916426348,A}return P(n)}(dp);e.IfcCoveringType=bp;var Dp=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ResourceIdentifier=l,p.ResourceGroup=u,p.ResourceConsumption=c,p.BaseQuantity=f,p.type=3295246426,p}return P(n)}(wp);e.IfcCrewResource=Dp;var Pp=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=1457835157,A}return P(n)}(dp);e.IfcCurtainWallType=Pp;var Rp=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e,r)).Contents=r,i.type=681481545,i}return P(n)}(cc);e.IfcDimensionCurveDirectedCallout=Rp;var Cp=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ApplicableOccurrence=o,p.HasPropertySets=l,p.RepresentationMaps=u,p.Tag=c,p.ElementType=f,p.type=3256556792,p}return P(n)}(vc);e.IfcDistributionElementType=Cp;var _p=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ApplicableOccurrence=o,p.HasPropertySets=l,p.RepresentationMaps=u,p.Tag=c,p.ElementType=f,p.type=3849074793,p}return P(n)}(Cp);e.IfcDistributionFlowElementType=_p;var Bp=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A,d,v,h){var I;return b(this,n),(I=t.call(this,e,r,i,a,s,o,l)).GlobalId=r,I.OwnerHistory=i,I.Name=a,I.Description=s,I.EnergySequence=o,I.UserDefinedEnergySequence=l,I.ElectricCurrentType=u,I.InputVoltage=c,I.InputFrequency=f,I.FullLoadCurrent=p,I.MinimumCircuitCurrent=A,I.MaximumPowerInput=d,I.RatedPowerInput=v,I.InputPhase=h,I.type=360485395,I}return P(n)}(yc);e.IfcElectricalBaseProperties=Bp;var Op=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o,l,u)).GlobalId=r,f.OwnerHistory=i,f.Name=a,f.Description=s,f.ObjectType=o,f.ObjectPlacement=l,f.Representation=u,f.Tag=c,f.type=1758889154,f}return P(n)}(Uc);e.IfcElement=Op;var Sp=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ObjectType=o,A.ObjectPlacement=l,A.Representation=u,A.Tag=c,A.AssemblyPlace=f,A.PredefinedType=p,A.type=4123344466,A}return P(n)}(Op);e.IfcElementAssembly=Sp;var Np=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,f.OwnerHistory=i,f.Name=a,f.Description=s,f.ObjectType=o,f.ObjectPlacement=l,f.Representation=u,f.Tag=c,f.type=1623761950,f}return P(n)}(Op);e.IfcElementComponent=Np;var Lp=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ApplicableOccurrence=o,p.HasPropertySets=l,p.RepresentationMaps=u,p.Tag=c,p.ElementType=f,p.type=2590856083,p}return P(n)}(vc);e.IfcElementComponentType=Lp;var xp=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e,r)).Position=r,s.SemiAxis1=i,s.SemiAxis2=a,s.type=1704287377,s}return P(n)}(mp);e.IfcEllipse=xp;var Mp=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ApplicableOccurrence=o,p.HasPropertySets=l,p.RepresentationMaps=u,p.Tag=c,p.ElementType=f,p.type=2107101300,p}return P(n)}(_p);e.IfcEnergyConversionDeviceType=Mp;var Fp=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,f.OwnerHistory=i,f.Name=a,f.Description=s,f.ObjectType=o,f.ObjectPlacement=l,f.Representation=u,f.Tag=c,f.type=1962604670,f}return P(n)}(Op);e.IfcEquipmentElement=Fp;var Hp=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e,r,i,a,s,o)).GlobalId=r,l.OwnerHistory=i,l.Name=a,l.Description=s,l.ObjectType=o,l.type=3272907226,l}return P(n)}(gp);e.IfcEquipmentStandard=Hp;var Up=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=3174744832,A}return P(n)}(Mp);e.IfcEvaporativeCoolerType=Up;var Gp=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=3390157468,A}return P(n)}(Mp);e.IfcEvaporatorType=Gp;var kp=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e,r)).Outer=r,i.type=807026263,i}return P(n)}(Oc);e.IfcFacetedBrep=kp;var jp=function(e){I(n,e);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e,r)).Outer=r,a.Voids=i,a.type=3737207727,a}return P(n)}(Oc);e.IfcFacetedBrepWithVoids=jp;var Vp=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,f.OwnerHistory=i,f.Name=a,f.Description=s,f.ObjectType=o,f.ObjectPlacement=l,f.Representation=u,f.Tag=c,f.type=647756555,f}return P(n)}(Np);e.IfcFastener=Vp;var Qp=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ApplicableOccurrence=o,p.HasPropertySets=l,p.RepresentationMaps=u,p.Tag=c,p.ElementType=f,p.type=2489546625,p}return P(n)}(Lp);e.IfcFastenerType=Qp;var Wp=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,f.OwnerHistory=i,f.Name=a,f.Description=s,f.ObjectType=o,f.ObjectPlacement=l,f.Representation=u,f.Tag=c,f.type=2827207264,f}return P(n)}(Op);e.IfcFeatureElement=Wp;var zp=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,f.OwnerHistory=i,f.Name=a,f.Description=s,f.ObjectType=o,f.ObjectPlacement=l,f.Representation=u,f.Tag=c,f.type=2143335405,f}return P(n)}(Wp);e.IfcFeatureElementAddition=zp;var Kp=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,f.OwnerHistory=i,f.Name=a,f.Description=s,f.ObjectType=o,f.ObjectPlacement=l,f.Representation=u,f.Tag=c,f.type=1287392070,f}return P(n)}(Wp);e.IfcFeatureElementSubtraction=Kp;var Yp=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ApplicableOccurrence=o,p.HasPropertySets=l,p.RepresentationMaps=u,p.Tag=c,p.ElementType=f,p.type=3907093117,p}return P(n)}(_p);e.IfcFlowControllerType=Yp;var Xp=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ApplicableOccurrence=o,p.HasPropertySets=l,p.RepresentationMaps=u,p.Tag=c,p.ElementType=f,p.type=3198132628,p}return P(n)}(_p);e.IfcFlowFittingType=Xp;var qp=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=3815607619,A}return P(n)}(Yp);e.IfcFlowMeterType=qp;var Jp=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ApplicableOccurrence=o,p.HasPropertySets=l,p.RepresentationMaps=u,p.Tag=c,p.ElementType=f,p.type=1482959167,p}return P(n)}(_p);e.IfcFlowMovingDeviceType=Jp;var Zp=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ApplicableOccurrence=o,p.HasPropertySets=l,p.RepresentationMaps=u,p.Tag=c,p.ElementType=f,p.type=1834744321,p}return P(n)}(_p);e.IfcFlowSegmentType=Zp;var $p=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ApplicableOccurrence=o,p.HasPropertySets=l,p.RepresentationMaps=u,p.Tag=c,p.ElementType=f,p.type=1339347760,p}return P(n)}(_p);e.IfcFlowStorageDeviceType=$p;var eA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ApplicableOccurrence=o,p.HasPropertySets=l,p.RepresentationMaps=u,p.Tag=c,p.ElementType=f,p.type=2297155007,p}return P(n)}(_p);e.IfcFlowTerminalType=eA;var tA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ApplicableOccurrence=o,p.HasPropertySets=l,p.RepresentationMaps=u,p.Tag=c,p.ElementType=f,p.type=3009222698,p}return P(n)}(_p);e.IfcFlowTreatmentDeviceType=tA;var nA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,f.OwnerHistory=i,f.Name=a,f.Description=s,f.ObjectType=o,f.ObjectPlacement=l,f.Representation=u,f.Tag=c,f.type=263784265,f}return P(n)}(Op);e.IfcFurnishingElement=nA;var rA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e,r,i,a,s,o)).GlobalId=r,l.OwnerHistory=i,l.Name=a,l.Description=s,l.ObjectType=o,l.type=814719939,l}return P(n)}(gp);e.IfcFurnitureStandard=rA;var iA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=200128114,A}return P(n)}(eA);e.IfcGasTerminalType=iA;var aA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ObjectType=o,A.ObjectPlacement=l,A.Representation=u,A.UAxes=c,A.VAxes=f,A.WAxes=p,A.type=3009204131,A}return P(n)}(Uc);e.IfcGrid=aA;var sA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e,r,i,a,s,o)).GlobalId=r,l.OwnerHistory=i,l.Name=a,l.Description=s,l.ObjectType=o,l.type=2706460486,l}return P(n)}(Sc);e.IfcGroup=sA;var oA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=1251058090,A}return P(n)}(Mp);e.IfcHeatExchangerType=oA;var lA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=1806887404,A}return P(n)}(Mp);e.IfcHumidifierType=lA;var uA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A){var d;return b(this,n),(d=t.call(this,e,r,i,a,s,o)).GlobalId=r,d.OwnerHistory=i,d.Name=a,d.Description=s,d.ObjectType=o,d.InventoryType=l,d.Jurisdiction=u,d.ResponsiblePersons=c,d.LastUpdateDate=f,d.CurrentValue=p,d.OriginalValue=A,d.type=2391368822,d}return P(n)}(sA);e.IfcInventory=uA;var cA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=4288270099,A}return P(n)}(Xp);e.IfcJunctionBoxType=cA;var fA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ObjectType=o,A.ResourceIdentifier=l,A.ResourceGroup=u,A.ResourceConsumption=c,A.BaseQuantity=f,A.SkillSet=p,A.type=3827777499,A}return P(n)}(wp);e.IfcLaborResource=fA;var pA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=1051575348,A}return P(n)}(eA);e.IfcLampType=pA;var AA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=1161773419,A}return P(n)}(eA);e.IfcLightFixtureType=AA;var dA=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e,r)).Contents=r,i.type=2506943328,i}return P(n)}(Rp);e.IfcLinearDimension=dA;var vA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ObjectType=o,A.ObjectPlacement=l,A.Representation=u,A.Tag=c,A.NominalDiameter=f,A.NominalLength=p,A.type=377706215,A}return P(n)}(Vp);e.IfcMechanicalFastener=vA;var hA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ApplicableOccurrence=o,p.HasPropertySets=l,p.RepresentationMaps=u,p.Tag=c,p.ElementType=f,p.type=2108223431,p}return P(n)}(Qp);e.IfcMechanicalFastenerType=hA;var IA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=3181161470,A}return P(n)}(dp);e.IfcMemberType=IA;var yA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=977012517,A}return P(n)}(Mp);e.IfcMotorConnectionType=yA;var mA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A,d,v){var h;return b(this,n),(h=t.call(this,e,r,i,a,s,o,l,u,c,f,p)).GlobalId=r,h.OwnerHistory=i,h.Name=a,h.Description=s,h.ObjectType=o,h.TaskId=l,h.Status=u,h.WorkMethod=c,h.IsMilestone=f,h.Priority=p,h.MoveFrom=A,h.MoveTo=d,h.PunchList=v,h.type=1916936684,h}return P(n)}(ap);e.IfcMove=mA;var wA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u){var c;return b(this,n),(c=t.call(this,e,r,i,a,s,o,l)).GlobalId=r,c.OwnerHistory=i,c.Name=a,c.Description=s,c.ObjectType=o,c.TheActor=l,c.PredefinedType=u,c.type=4143007308,c}return P(n)}(op);e.IfcOccupant=wA;var gA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,f.OwnerHistory=i,f.Name=a,f.Description=s,f.ObjectType=o,f.ObjectPlacement=l,f.Representation=u,f.Tag=c,f.type=3588315303,f}return P(n)}(Kp);e.IfcOpeningElement=gA;var EA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A){var d;return b(this,n),(d=t.call(this,e,r,i,a,s,o,l,u,c,f,p)).GlobalId=r,d.OwnerHistory=i,d.Name=a,d.Description=s,d.ObjectType=o,d.TaskId=l,d.Status=u,d.WorkMethod=c,d.IsMilestone=f,d.Priority=p,d.ActionID=A,d.type=3425660407,d}return P(n)}(ap);e.IfcOrderAction=EA;var TA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=2837617999,A}return P(n)}(eA);e.IfcOutletType=TA;var bA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r,i,a,s,o)).GlobalId=r,u.OwnerHistory=i,u.Name=a,u.Description=s,u.ObjectType=o,u.LifeCyclePhase=l,u.type=2382730787,u}return P(n)}(gp);e.IfcPerformanceHistory=bA;var DA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r,i,a,s,o)).GlobalId=r,u.OwnerHistory=i,u.Name=a,u.Description=s,u.ObjectType=o,u.PermitID=l,u.type=3327091369,u}return P(n)}(gp);e.IfcPermit=DA;var PA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=804291784,A}return P(n)}(Xp);e.IfcPipeFittingType=PA;var RA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=4231323485,A}return P(n)}(Zp);e.IfcPipeSegmentType=RA;var CA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=4017108033,A}return P(n)}(dp);e.IfcPlateType=CA;var _A=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e)).Points=r,i.type=3724593414,i}return P(n)}(pp);e.IfcPolyline=_A;var BA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u){var c;return b(this,n),(c=t.call(this,e,r,i,a,s,o,l,u)).GlobalId=r,c.OwnerHistory=i,c.Name=a,c.Description=s,c.ObjectType=o,c.ObjectPlacement=l,c.Representation=u,c.type=3740093272,c}return P(n)}(Uc);e.IfcPort=BA;var OA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o)).GlobalId=r,f.OwnerHistory=i,f.Name=a,f.Description=s,f.ObjectType=o,f.ProcedureID=l,f.ProcedureType=u,f.UserDefinedProcedureType=c,f.type=2744685151,f}return P(n)}(Hc);e.IfcProcedure=OA;var SA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o)).GlobalId=r,f.OwnerHistory=i,f.Name=a,f.Description=s,f.ObjectType=o,f.ID=l,f.PredefinedType=u,f.Status=c,f.type=2904328755,f}return P(n)}(gp);e.IfcProjectOrder=SA;var NA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u){var c;return b(this,n),(c=t.call(this,e,r,i,a,s,o)).GlobalId=r,c.OwnerHistory=i,c.Name=a,c.Description=s,c.ObjectType=o,c.Records=l,c.PredefinedType=u,c.type=3642467123,c}return P(n)}(gp);e.IfcProjectOrderRecord=NA;var LA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,f.OwnerHistory=i,f.Name=a,f.Description=s,f.ObjectType=o,f.ObjectPlacement=l,f.Representation=u,f.Tag=c,f.type=3651124850,f}return P(n)}(zp);e.IfcProjectionElement=LA;var xA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=1842657554,A}return P(n)}(Yp);e.IfcProtectiveDeviceType=xA;var MA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=2250791053,A}return P(n)}(Jp);e.IfcPumpType=MA;var FA=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e,r)).Contents=r,i.type=3248260540,i}return P(n)}(Rp);e.IfcRadiusDimension=FA;var HA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=2893384427,A}return P(n)}(dp);e.IfcRailingType=HA;var UA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=2324767716,A}return P(n)}(dp);e.IfcRampFlightType=UA;var GA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r,i,a,s,o,l)).GlobalId=r,u.OwnerHistory=i,u.Name=a,u.Description=s,u.RelatingObject=o,u.RelatedObjects=l,u.type=160246688,u}return P(n)}(bf);e.IfcRelAggregates=GA;var kA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o,l,u)).GlobalId=r,f.OwnerHistory=i,f.Name=a,f.Description=s,f.RelatedObjects=o,f.RelatedObjectsType=l,f.RelatingControl=u,f.TimeForTask=c,f.type=2863920197,f}return P(n)}(Xc);e.IfcRelAssignsTasks=kA;var jA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=1768891740,A}return P(n)}(eA);e.IfcSanitaryTerminalType=jA;var VA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A,d,v,h,I,y,m,w,g,E,T,D,P){var R;return b(this,n),(R=t.call(this,e,r,i,a,s,o)).GlobalId=r,R.OwnerHistory=i,R.Name=a,R.Description=s,R.ObjectType=o,R.ActualStart=l,R.EarlyStart=u,R.LateStart=c,R.ScheduleStart=f,R.ActualFinish=p,R.EarlyFinish=A,R.LateFinish=d,R.ScheduleFinish=v,R.ScheduleDuration=h,R.ActualDuration=I,R.RemainingTime=y,R.FreeFloat=m,R.TotalFloat=w,R.IsCritical=g,R.StatusTime=E,R.StartFloat=T,R.FinishFloat=D,R.Completion=P,R.type=3517283431,R}return P(n)}(gp);e.IfcScheduleTimeControl=VA;var QA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u){var c;return b(this,n),(c=t.call(this,e,r,i,a,s,o)).GlobalId=r,c.OwnerHistory=i,c.Name=a,c.Description=s,c.ObjectType=o,c.ServiceLifeType=l,c.ServiceLifeDuration=u,c.type=4105383287,c}return P(n)}(gp);e.IfcServiceLife=QA;var WA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A,d,v,h){var I;return b(this,n),(I=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,I.OwnerHistory=i,I.Name=a,I.Description=s,I.ObjectType=o,I.ObjectPlacement=l,I.Representation=u,I.LongName=c,I.CompositionType=f,I.RefLatitude=p,I.RefLongitude=A,I.RefElevation=d,I.LandTitleNumber=v,I.SiteAddress=h,I.type=4097777520,I}return P(n)}(Wf);e.IfcSite=WA;var zA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=2533589738,A}return P(n)}(dp);e.IfcSlabType=zA;var KA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A){var d;return b(this,n),(d=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,d.OwnerHistory=i,d.Name=a,d.Description=s,d.ObjectType=o,d.ObjectPlacement=l,d.Representation=u,d.LongName=c,d.CompositionType=f,d.InteriorOrExteriorSpace=p,d.ElevationWithFlooring=A,d.type=3856911033,d}return P(n)}(Wf);e.IfcSpace=KA;var YA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=1305183839,A}return P(n)}(Mp);e.IfcSpaceHeaterType=YA;var XA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ObjectType=o,A.SpaceProgramIdentifier=l,A.MaxRequiredArea=u,A.MinRequiredArea=c,A.RequestedLocation=f,A.StandardRequiredArea=p,A.type=652456506,A}return P(n)}(gp);e.IfcSpaceProgram=XA;var qA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=3812236995,A}return P(n)}(zf);e.IfcSpaceType=qA;var JA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=3112655638,A}return P(n)}(eA);e.IfcStackTerminalType=JA;var ZA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=1039846685,A}return P(n)}(dp);e.IfcStairFlightType=ZA;var $A=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A){var d;return b(this,n),(d=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,d.OwnerHistory=i,d.Name=a,d.Description=s,d.ObjectType=o,d.ObjectPlacement=l,d.Representation=u,d.AppliedLoad=c,d.GlobalOrLocal=f,d.DestabilizingLoad=p,d.CausedBy=A,d.type=682877961,d}return P(n)}(Yf);e.IfcStructuralAction=$A;var ed=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o,l,u)).GlobalId=r,f.OwnerHistory=i,f.Name=a,f.Description=s,f.ObjectType=o,f.ObjectPlacement=l,f.Representation=u,f.AppliedCondition=c,f.type=1179482911,f}return P(n)}(Xf);e.IfcStructuralConnection=ed;var td=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,f.OwnerHistory=i,f.Name=a,f.Description=s,f.ObjectType=o,f.ObjectPlacement=l,f.Representation=u,f.AppliedCondition=c,f.type=4243806635,f}return P(n)}(ed);e.IfcStructuralCurveConnection=td;var nd=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o,l,u)).GlobalId=r,f.OwnerHistory=i,f.Name=a,f.Description=s,f.ObjectType=o,f.ObjectPlacement=l,f.Representation=u,f.PredefinedType=c,f.type=214636428,f}return P(n)}(qf);e.IfcStructuralCurveMember=nd;var rd=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,f.OwnerHistory=i,f.Name=a,f.Description=s,f.ObjectType=o,f.ObjectPlacement=l,f.Representation=u,f.PredefinedType=c,f.type=2445595289,f}return P(n)}(nd);e.IfcStructuralCurveMemberVarying=rd;var id=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A,d){var v;return b(this,n),(v=t.call(this,e,r,i,a,s,o,l,u,c,f,p,A)).GlobalId=r,v.OwnerHistory=i,v.Name=a,v.Description=s,v.ObjectType=o,v.ObjectPlacement=l,v.Representation=u,v.AppliedLoad=c,v.GlobalOrLocal=f,v.DestabilizingLoad=p,v.CausedBy=A,v.ProjectedOrTrue=d,v.type=1807405624,v}return P(n)}($A);e.IfcStructuralLinearAction=id;var ad=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A,d,v,h){var I;return b(this,n),(I=t.call(this,e,r,i,a,s,o,l,u,c,f,p,A,d)).GlobalId=r,I.OwnerHistory=i,I.Name=a,I.Description=s,I.ObjectType=o,I.ObjectPlacement=l,I.Representation=u,I.AppliedLoad=c,I.GlobalOrLocal=f,I.DestabilizingLoad=p,I.CausedBy=A,I.ProjectedOrTrue=d,I.VaryingAppliedLoadLocation=v,I.SubsequentAppliedLoads=h,I.type=1721250024,I}return P(n)}(id);e.IfcStructuralLinearActionVarying=ad;var sd=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ObjectType=o,A.PredefinedType=l,A.ActionType=u,A.ActionSource=c,A.Coefficient=f,A.Purpose=p,A.type=1252848954,A}return P(n)}(sA);e.IfcStructuralLoadGroup=sd;var od=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A,d){var v;return b(this,n),(v=t.call(this,e,r,i,a,s,o,l,u,c,f,p,A)).GlobalId=r,v.OwnerHistory=i,v.Name=a,v.Description=s,v.ObjectType=o,v.ObjectPlacement=l,v.Representation=u,v.AppliedLoad=c,v.GlobalOrLocal=f,v.DestabilizingLoad=p,v.CausedBy=A,v.ProjectedOrTrue=d,v.type=1621171031,v}return P(n)}($A);e.IfcStructuralPlanarAction=od;var ld=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A,d,v,h){var I;return b(this,n),(I=t.call(this,e,r,i,a,s,o,l,u,c,f,p,A,d)).GlobalId=r,I.OwnerHistory=i,I.Name=a,I.Description=s,I.ObjectType=o,I.ObjectPlacement=l,I.Representation=u,I.AppliedLoad=c,I.GlobalOrLocal=f,I.DestabilizingLoad=p,I.CausedBy=A,I.ProjectedOrTrue=d,I.VaryingAppliedLoadLocation=v,I.SubsequentAppliedLoads=h,I.type=3987759626,I}return P(n)}(od);e.IfcStructuralPlanarActionVarying=ld;var ud=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A){var d;return b(this,n),(d=t.call(this,e,r,i,a,s,o,l,u,c,f,p,A)).GlobalId=r,d.OwnerHistory=i,d.Name=a,d.Description=s,d.ObjectType=o,d.ObjectPlacement=l,d.Representation=u,d.AppliedLoad=c,d.GlobalOrLocal=f,d.DestabilizingLoad=p,d.CausedBy=A,d.type=2082059205,d}return P(n)}($A);e.IfcStructuralPointAction=ud;var cd=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,f.OwnerHistory=i,f.Name=a,f.Description=s,f.ObjectType=o,f.ObjectPlacement=l,f.Representation=u,f.AppliedCondition=c,f.type=734778138,f}return P(n)}(ed);e.IfcStructuralPointConnection=cd;var fd=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.AppliedLoad=c,p.GlobalOrLocal=f,p.type=1235345126,p}return P(n)}(Jf);e.IfcStructuralPointReaction=fd;var pd=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o)).GlobalId=r,f.OwnerHistory=i,f.Name=a,f.Description=s,f.ObjectType=o,f.TheoryType=l,f.ResultForLoadGroup=u,f.IsLinear=c,f.type=2986769608,f}return P(n)}(sA);e.IfcStructuralResultGroup=pd;var Ad=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,f.OwnerHistory=i,f.Name=a,f.Description=s,f.ObjectType=o,f.ObjectPlacement=l,f.Representation=u,f.AppliedCondition=c,f.type=1975003073,f}return P(n)}(ed);e.IfcStructuralSurfaceConnection=Ad;var dd=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A){var d;return b(this,n),(d=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,d.OwnerHistory=i,d.Name=a,d.Description=s,d.ObjectType=o,d.ResourceIdentifier=l,d.ResourceGroup=u,d.ResourceConsumption=c,d.BaseQuantity=f,d.SubContractor=p,d.JobDescription=A,d.type=148013059,d}return P(n)}(wp);e.IfcSubContractResource=dd;var vd=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=2315554128,A}return P(n)}(Yp);e.IfcSwitchingDeviceType=vd;var hd=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e,r,i,a,s,o)).GlobalId=r,l.OwnerHistory=i,l.Name=a,l.Description=s,l.ObjectType=o,l.type=2254336722,l}return P(n)}(sA);e.IfcSystem=hd;var Id=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=5716631,A}return P(n)}($p);e.IfcTankType=Id;var yd=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o)).GlobalId=r,f.OwnerHistory=i,f.Name=a,f.Description=s,f.ObjectType=o,f.ApplicableDates=l,f.TimeSeriesScheduleType=u,f.TimeSeries=c,f.type=1637806684,f}return P(n)}(gp);e.IfcTimeSeriesSchedule=yd;var md=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=1692211062,A}return P(n)}(Mp);e.IfcTransformerType=md;var wd=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A){var d;return b(this,n),(d=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,d.OwnerHistory=i,d.Name=a,d.Description=s,d.ObjectType=o,d.ObjectPlacement=l,d.Representation=u,d.Tag=c,d.OperationType=f,d.CapacityByWeight=p,d.CapacityByNumber=A,d.type=1620046519,d}return P(n)}(Op);e.IfcTransportElement=wd;var gd=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e)).BasisCurve=r,l.Trim1=i,l.Trim2=a,l.SenseAgreement=s,l.MasterRepresentation=o,l.type=3593883385,l}return P(n)}(pp);e.IfcTrimmedCurve=gd;var Ed=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=1600972822,A}return P(n)}(Mp);e.IfcTubeBundleType=Ed;var Td=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=1911125066,A}return P(n)}(Mp);e.IfcUnitaryEquipmentType=Td;var bd=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=728799441,A}return P(n)}(Yp);e.IfcValveType=bd;var Dd=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,f.OwnerHistory=i,f.Name=a,f.Description=s,f.ObjectType=o,f.ObjectPlacement=l,f.Representation=u,f.Tag=c,f.type=2769231204,f}return P(n)}(Op);e.IfcVirtualElement=Dd;var Pd=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=1898987631,A}return P(n)}(dp);e.IfcWallType=Pd;var Rd=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=1133259667,A}return P(n)}(eA);e.IfcWasteTerminalType=Rd;var Cd=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A,d,v,h,I){var y;return b(this,n),(y=t.call(this,e,r,i,a,s,o)).GlobalId=r,y.OwnerHistory=i,y.Name=a,y.Description=s,y.ObjectType=o,y.Identifier=l,y.CreationDate=u,y.Creators=c,y.Purpose=f,y.Duration=p,y.TotalFloat=A,y.StartTime=d,y.FinishTime=v,y.WorkControlType=h,y.UserDefinedControlType=I,y.type=1028945134,y}return P(n)}(gp);e.IfcWorkControl=Cd;var _d=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A,d,v,h,I){var y;return b(this,n),(y=t.call(this,e,r,i,a,s,o,l,u,c,f,p,A,d,v,h,I)).GlobalId=r,y.OwnerHistory=i,y.Name=a,y.Description=s,y.ObjectType=o,y.Identifier=l,y.CreationDate=u,y.Creators=c,y.Purpose=f,y.Duration=p,y.TotalFloat=A,y.StartTime=d,y.FinishTime=v,y.WorkControlType=h,y.UserDefinedControlType=I,y.type=4218914973,y}return P(n)}(Cd);e.IfcWorkPlan=_d;var Bd=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A,d,v,h,I){var y;return b(this,n),(y=t.call(this,e,r,i,a,s,o,l,u,c,f,p,A,d,v,h,I)).GlobalId=r,y.OwnerHistory=i,y.Name=a,y.Description=s,y.ObjectType=o,y.Identifier=l,y.CreationDate=u,y.Creators=c,y.Purpose=f,y.Duration=p,y.TotalFloat=A,y.StartTime=d,y.FinishTime=v,y.WorkControlType=h,y.UserDefinedControlType=I,y.type=3342526732,y}return P(n)}(Cd);e.IfcWorkSchedule=Bd;var Od=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e,r,i,a,s,o)).GlobalId=r,l.OwnerHistory=i,l.Name=a,l.Description=s,l.ObjectType=o,l.type=1033361043,l}return P(n)}(sA);e.IfcZone=Od;var Sd=function(e){I(n,e);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e,r,i)).Segments=r,a.SelfIntersect=i,a.type=1213861670,a}return P(n)}(yp);e.Ifc2DCompositeCurve=Sd;var Nd=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r,i,a,s,o)).GlobalId=r,u.OwnerHistory=i,u.Name=a,u.Description=s,u.ObjectType=o,u.RequestID=l,u.type=3821786052,u}return P(n)}(gp);e.IfcActionRequest=Nd;var Ld=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=1411407467,A}return P(n)}(Yp);e.IfcAirTerminalBoxType=Ld;var xd=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=3352864051,A}return P(n)}(eA);e.IfcAirTerminalType=xd;var Md=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=1871374353,A}return P(n)}(Mp);e.IfcAirToAirHeatRecoveryType=Md;var Fd=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e,r)).Contents=r,i.type=2470393545,i}return P(n)}(Rp);e.IfcAngularDimension=Fd;var Hd=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A,d,v,h){var I;return b(this,n),(I=t.call(this,e,r,i,a,s,o)).GlobalId=r,I.OwnerHistory=i,I.Name=a,I.Description=s,I.ObjectType=o,I.AssetID=l,I.OriginalValue=u,I.CurrentValue=c,I.TotalReplacementCost=f,I.Owner=p,I.User=A,I.ResponsiblePerson=d,I.IncorporationDate=v,I.DepreciatedValue=h,I.type=3460190687,I}return P(n)}(sA);e.IfcAsset=Hd;var Ud=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e)).Degree=r,l.ControlPointsList=i,l.CurveForm=a,l.ClosedCurve=s,l.SelfIntersect=o,l.type=1967976161,l}return P(n)}(pp);e.IfcBSplineCurve=Ud;var Gd=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=819618141,A}return P(n)}(dp);e.IfcBeamType=Gd;var kd=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e,r,i,a,s,o)).Degree=r,l.ControlPointsList=i,l.CurveForm=a,l.ClosedCurve=s,l.SelfIntersect=o,l.type=1916977116,l}return P(n)}(Ud);e.IfcBezierCurve=kd;var jd=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=231477066,A}return P(n)}(Mp);e.IfcBoilerType=jd;var Vd=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,f.OwnerHistory=i,f.Name=a,f.Description=s,f.ObjectType=o,f.ObjectPlacement=l,f.Representation=u,f.Tag=c,f.type=3299480353,f}return P(n)}(Op);e.IfcBuildingElement=Vd;var Qd=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,f.OwnerHistory=i,f.Name=a,f.Description=s,f.ObjectType=o,f.ObjectPlacement=l,f.Representation=u,f.Tag=c,f.type=52481810,f}return P(n)}(Vd);e.IfcBuildingElementComponent=Qd;var Wd=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,f.OwnerHistory=i,f.Name=a,f.Description=s,f.ObjectType=o,f.ObjectPlacement=l,f.Representation=u,f.Tag=c,f.type=2979338954,f}return P(n)}(Qd);e.IfcBuildingElementPart=Wd;var zd=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.CompositionType=f,p.type=1095909175,p}return P(n)}(Vd);e.IfcBuildingElementProxy=zd;var Kd=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=1909888760,A}return P(n)}(dp);e.IfcBuildingElementProxyType=Kd;var Yd=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=395041908,A}return P(n)}(Xp);e.IfcCableCarrierFittingType=Yd;var Xd=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=3293546465,A}return P(n)}(Zp);e.IfcCableCarrierSegmentType=Xd;var qd=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=1285652485,A}return P(n)}(Zp);e.IfcCableSegmentType=qd;var Jd=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=2951183804,A}return P(n)}(Mp);e.IfcChillerType=Jd;var Zd=function(e){I(n,e);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e,r)).Position=r,a.Radius=i,a.type=2611217952,a}return P(n)}(mp);e.IfcCircle=Zd;var $d=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=2301859152,A}return P(n)}(Mp);e.IfcCoilType=$d;var ev=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,f.OwnerHistory=i,f.Name=a,f.Description=s,f.ObjectType=o,f.ObjectPlacement=l,f.Representation=u,f.Tag=c,f.type=843113511,f}return P(n)}(Vd);e.IfcColumn=ev;var tv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=3850581409,A}return P(n)}(Jp);e.IfcCompressorType=tv;var nv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=2816379211,A}return P(n)}(Mp);e.IfcCondenserType=nv;var rv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e,r,i,a,s,o)).GlobalId=r,l.OwnerHistory=i,l.Name=a,l.Description=s,l.ObjectType=o,l.type=2188551683,l}return P(n)}(sA);e.IfcCondition=rv;var iv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u){var c;return b(this,n),(c=t.call(this,e,r,i,a,s,o)).GlobalId=r,c.OwnerHistory=i,c.Name=a,c.Description=s,c.ObjectType=o,c.Criterion=l,c.CriterionDateTime=u,c.type=1163958913,c}return P(n)}(gp);e.IfcConditionCriterion=iv;var av=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ResourceIdentifier=l,p.ResourceGroup=u,p.ResourceConsumption=c,p.BaseQuantity=f,p.type=3898045240,p}return P(n)}(wp);e.IfcConstructionEquipmentResource=av;var sv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A){var d;return b(this,n),(d=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,d.OwnerHistory=i,d.Name=a,d.Description=s,d.ObjectType=o,d.ResourceIdentifier=l,d.ResourceGroup=u,d.ResourceConsumption=c,d.BaseQuantity=f,d.Suppliers=p,d.UsageRatio=A,d.type=1060000209,d}return P(n)}(wp);e.IfcConstructionMaterialResource=sv;var ov=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ResourceIdentifier=l,p.ResourceGroup=u,p.ResourceConsumption=c,p.BaseQuantity=f,p.type=488727124,p}return P(n)}(wp);e.IfcConstructionProductResource=ov;var lv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=335055490,A}return P(n)}(Mp);e.IfcCooledBeamType=lv;var uv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=2954562838,A}return P(n)}(Mp);e.IfcCoolingTowerType=uv;var cv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=1973544240,p}return P(n)}(Vd);e.IfcCovering=cv;var fv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,f.OwnerHistory=i,f.Name=a,f.Description=s,f.ObjectType=o,f.ObjectPlacement=l,f.Representation=u,f.Tag=c,f.type=3495092785,f}return P(n)}(Vd);e.IfcCurtainWall=fv;var pv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=3961806047,A}return P(n)}(Yp);e.IfcDamperType=pv;var Av=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e,r)).Contents=r,i.type=4147604152,i}return P(n)}(Rp);e.IfcDiameterDimension=Av;var dv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,f.OwnerHistory=i,f.Name=a,f.Description=s,f.ObjectType=o,f.ObjectPlacement=l,f.Representation=u,f.Tag=c,f.type=1335981549,f}return P(n)}(Np);e.IfcDiscreteAccessory=dv;var vv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ApplicableOccurrence=o,p.HasPropertySets=l,p.RepresentationMaps=u,p.Tag=c,p.ElementType=f,p.type=2635815018,p}return P(n)}(Lp);e.IfcDiscreteAccessoryType=vv;var hv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=1599208980,A}return P(n)}(_p);e.IfcDistributionChamberElementType=hv;var Iv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ApplicableOccurrence=o,p.HasPropertySets=l,p.RepresentationMaps=u,p.Tag=c,p.ElementType=f,p.type=2063403501,p}return P(n)}(Cp);e.IfcDistributionControlElementType=Iv;var yv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,f.OwnerHistory=i,f.Name=a,f.Description=s,f.ObjectType=o,f.ObjectPlacement=l,f.Representation=u,f.Tag=c,f.type=1945004755,f}return P(n)}(Op);e.IfcDistributionElement=yv;var mv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,f.OwnerHistory=i,f.Name=a,f.Description=s,f.ObjectType=o,f.ObjectPlacement=l,f.Representation=u,f.Tag=c,f.type=3040386961,f}return P(n)}(yv);e.IfcDistributionFlowElement=mv;var wv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o,l,u)).GlobalId=r,f.OwnerHistory=i,f.Name=a,f.Description=s,f.ObjectType=o,f.ObjectPlacement=l,f.Representation=u,f.FlowDirection=c,f.type=3041715199,f}return P(n)}(BA);e.IfcDistributionPort=wv;var gv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ObjectType=o,A.ObjectPlacement=l,A.Representation=u,A.Tag=c,A.OverallHeight=f,A.OverallWidth=p,A.type=395920057,A}return P(n)}(Vd);e.IfcDoor=gv;var Ev=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=869906466,A}return P(n)}(Xp);e.IfcDuctFittingType=Ev;var Tv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=3760055223,A}return P(n)}(Zp);e.IfcDuctSegmentType=Tv;var bv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=2030761528,A}return P(n)}(tA);e.IfcDuctSilencerType=bv;var Dv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.FeatureLength=f,p.type=855621170,p}return P(n)}(Kp);e.IfcEdgeFeature=Dv;var Pv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=663422040,A}return P(n)}(eA);e.IfcElectricApplianceType=Pv;var Rv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=3277789161,A}return P(n)}($p);e.IfcElectricFlowStorageDeviceType=Rv;var Cv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=1534661035,A}return P(n)}(Mp);e.IfcElectricGeneratorType=Cv;var _v=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=1365060375,A}return P(n)}(eA);e.IfcElectricHeaterType=_v;var Bv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=1217240411,A}return P(n)}(Mp);e.IfcElectricMotorType=Bv;var Ov=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=712377611,A}return P(n)}(Yp);e.IfcElectricTimeControlType=Ov;var Sv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e,r,i,a,s,o)).GlobalId=r,l.OwnerHistory=i,l.Name=a,l.Description=s,l.ObjectType=o,l.type=1634875225,l}return P(n)}(hd);e.IfcElectricalCircuit=Sv;var Nv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,f.OwnerHistory=i,f.Name=a,f.Description=s,f.ObjectType=o,f.ObjectPlacement=l,f.Representation=u,f.Tag=c,f.type=857184966,f}return P(n)}(Op);e.IfcElectricalElement=Nv;var Lv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,f.OwnerHistory=i,f.Name=a,f.Description=s,f.ObjectType=o,f.ObjectPlacement=l,f.Representation=u,f.Tag=c,f.type=1658829314,f}return P(n)}(mv);e.IfcEnergyConversionDevice=Lv;var xv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=346874300,A}return P(n)}(Jp);e.IfcFanType=xv;var Mv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=1810631287,A}return P(n)}(tA);e.IfcFilterType=Mv;var Fv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=4222183408,A}return P(n)}(eA);e.IfcFireSuppressionTerminalType=Fv;var Hv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,f.OwnerHistory=i,f.Name=a,f.Description=s,f.ObjectType=o,f.ObjectPlacement=l,f.Representation=u,f.Tag=c,f.type=2058353004,f}return P(n)}(mv);e.IfcFlowController=Hv;var Uv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,f.OwnerHistory=i,f.Name=a,f.Description=s,f.ObjectType=o,f.ObjectPlacement=l,f.Representation=u,f.Tag=c,f.type=4278956645,f}return P(n)}(mv);e.IfcFlowFitting=Uv;var Gv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=4037862832,A}return P(n)}(Iv);e.IfcFlowInstrumentType=Gv;var kv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,f.OwnerHistory=i,f.Name=a,f.Description=s,f.ObjectType=o,f.ObjectPlacement=l,f.Representation=u,f.Tag=c,f.type=3132237377,f}return P(n)}(mv);e.IfcFlowMovingDevice=kv;var jv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,f.OwnerHistory=i,f.Name=a,f.Description=s,f.ObjectType=o,f.ObjectPlacement=l,f.Representation=u,f.Tag=c,f.type=987401354,f}return P(n)}(mv);e.IfcFlowSegment=jv;var Vv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,f.OwnerHistory=i,f.Name=a,f.Description=s,f.ObjectType=o,f.ObjectPlacement=l,f.Representation=u,f.Tag=c,f.type=707683696,f}return P(n)}(mv);e.IfcFlowStorageDevice=Vv;var Qv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,f.OwnerHistory=i,f.Name=a,f.Description=s,f.ObjectType=o,f.ObjectPlacement=l,f.Representation=u,f.Tag=c,f.type=2223149337,f}return P(n)}(mv);e.IfcFlowTerminal=Qv;var Wv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,f.OwnerHistory=i,f.Name=a,f.Description=s,f.ObjectType=o,f.ObjectPlacement=l,f.Representation=u,f.Tag=c,f.type=3508470533,f}return P(n)}(mv);e.IfcFlowTreatmentDevice=Wv;var zv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=900683007,p}return P(n)}(Vd);e.IfcFooting=zv;var Kv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,f.OwnerHistory=i,f.Name=a,f.Description=s,f.ObjectType=o,f.ObjectPlacement=l,f.Representation=u,f.Tag=c,f.type=1073191201,f}return P(n)}(Vd);e.IfcMember=Kv;var Yv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ObjectType=o,A.ObjectPlacement=l,A.Representation=u,A.Tag=c,A.PredefinedType=f,A.ConstructionType=p,A.type=1687234759,A}return P(n)}(Vd);e.IfcPile=Yv;var Xv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,f.OwnerHistory=i,f.Name=a,f.Description=s,f.ObjectType=o,f.ObjectPlacement=l,f.Representation=u,f.Tag=c,f.type=3171933400,f}return P(n)}(Vd);e.IfcPlate=Xv;var qv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=2262370178,p}return P(n)}(Vd);e.IfcRailing=qv;var Jv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.ShapeType=f,p.type=3024970846,p}return P(n)}(Vd);e.IfcRamp=Jv;var Zv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,f.OwnerHistory=i,f.Name=a,f.Description=s,f.ObjectType=o,f.ObjectPlacement=l,f.Representation=u,f.Tag=c,f.type=3283111854,f}return P(n)}(Vd);e.IfcRampFlight=Zv;var $v=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r,i,a,s,o)).Degree=r,u.ControlPointsList=i,u.CurveForm=a,u.ClosedCurve=s,u.SelfIntersect=o,u.WeightsData=l,u.type=3055160366,u}return P(n)}(kd);e.IfcRationalBezierCurve=$v;var eh=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.SteelGrade=f,p.type=3027567501,p}return P(n)}(Qd);e.IfcReinforcingElement=eh;var th=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A,d,v,h,I,y,m){var w;return b(this,n),(w=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,w.OwnerHistory=i,w.Name=a,w.Description=s,w.ObjectType=o,w.ObjectPlacement=l,w.Representation=u,w.Tag=c,w.SteelGrade=f,w.MeshLength=p,w.MeshWidth=A,w.LongitudinalBarNominalDiameter=d,w.TransverseBarNominalDiameter=v,w.LongitudinalBarCrossSectionArea=h,w.TransverseBarCrossSectionArea=I,w.LongitudinalBarSpacing=y,w.TransverseBarSpacing=m,w.type=2320036040,w}return P(n)}(eh);e.IfcReinforcingMesh=th;var nh=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.ShapeType=f,p.type=2016517767,p}return P(n)}(Vd);e.IfcRoof=nh;var rh=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ObjectType=o,A.ObjectPlacement=l,A.Representation=u,A.Tag=c,A.FeatureLength=f,A.Radius=p,A.type=1376911519,A}return P(n)}(Dv);e.IfcRoundedEdgeFeature=rh;var ih=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=1783015770,A}return P(n)}(Iv);e.IfcSensorType=ih;var ah=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=1529196076,p}return P(n)}(Vd);e.IfcSlab=ah;var sh=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.ShapeType=f,p.type=331165859,p}return P(n)}(Vd);e.IfcStair=sh;var oh=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A,d){var v;return b(this,n),(v=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,v.OwnerHistory=i,v.Name=a,v.Description=s,v.ObjectType=o,v.ObjectPlacement=l,v.Representation=u,v.Tag=c,v.NumberOfRiser=f,v.NumberOfTreads=p,v.RiserHeight=A,v.TreadLength=d,v.type=4252922144,v}return P(n)}(Vd);e.IfcStairFlight=oh;var lh=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.PredefinedType=l,p.OrientationOf2DPlane=u,p.LoadedBy=c,p.HasResults=f,p.type=2515109513,p}return P(n)}(hd);e.IfcStructuralAnalysisModel=lh;var uh=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A,d,v,h,I,y,m){var w;return b(this,n),(w=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,w.OwnerHistory=i,w.Name=a,w.Description=s,w.ObjectType=o,w.ObjectPlacement=l,w.Representation=u,w.Tag=c,w.SteelGrade=f,w.PredefinedType=p,w.NominalDiameter=A,w.CrossSectionArea=d,w.TensionForce=v,w.PreStress=h,w.FrictionCoefficient=I,w.AnchorageSlip=y,w.MinCurvatureRadius=m,w.type=3824725483,w}return P(n)}(eh);e.IfcTendon=uh;var ch=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.SteelGrade=f,p.type=2347447852,p}return P(n)}(eh);e.IfcTendonAnchor=ch;var fh=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=3313531582,A}return P(n)}(vv);e.IfcVibrationIsolatorType=fh;var ph=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,f.OwnerHistory=i,f.Name=a,f.Description=s,f.ObjectType=o,f.ObjectPlacement=l,f.Representation=u,f.Tag=c,f.type=2391406946,f}return P(n)}(Vd);e.IfcWall=ph;var Ah=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,f.OwnerHistory=i,f.Name=a,f.Description=s,f.ObjectType=o,f.ObjectPlacement=l,f.Representation=u,f.Tag=c,f.type=3512223829,f}return P(n)}(ph);e.IfcWallStandardCase=Ah;var dh=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ObjectType=o,A.ObjectPlacement=l,A.Representation=u,A.Tag=c,A.OverallHeight=f,A.OverallWidth=p,A.type=3304561284,A}return P(n)}(Vd);e.IfcWindow=dh;var vh=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=2874132201,A}return P(n)}(Iv);e.IfcActuatorType=vh;var hh=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=3001207471,A}return P(n)}(Iv);e.IfcAlarmType=hh;var Ih=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,f.OwnerHistory=i,f.Name=a,f.Description=s,f.ObjectType=o,f.ObjectPlacement=l,f.Representation=u,f.Tag=c,f.type=753842376,f}return P(n)}(Vd);e.IfcBeam=Ih;var yh=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A){var d;return b(this,n),(d=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,d.OwnerHistory=i,d.Name=a,d.Description=s,d.ObjectType=o,d.ObjectPlacement=l,d.Representation=u,d.Tag=c,d.FeatureLength=f,d.Width=p,d.Height=A,d.type=2454782716,d}return P(n)}(Dv);e.IfcChamferEdgeFeature=yh;var mh=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=578613899,A}return P(n)}(Iv);e.IfcControllerType=mh;var wh=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,f.OwnerHistory=i,f.Name=a,f.Description=s,f.ObjectType=o,f.ObjectPlacement=l,f.Representation=u,f.Tag=c,f.type=1052013943,f}return P(n)}(mv);e.IfcDistributionChamberElement=wh;var gh=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.ControlElementId=f,p.type=1062813311,p}return P(n)}(yv);e.IfcDistributionControlElement=gh;var Eh=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ObjectType=o,A.ObjectPlacement=l,A.Representation=u,A.Tag=c,A.DistributionPointFunction=f,A.UserDefinedFunction=p,A.type=3700593921,A}return P(n)}(Hv);e.IfcElectricDistributionPoint=Eh;var Th=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A,d,v,h){var I;return b(this,n),(I=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,I.OwnerHistory=i,I.Name=a,I.Description=s,I.ObjectType=o,I.ObjectPlacement=l,I.Representation=u,I.Tag=c,I.SteelGrade=f,I.NominalDiameter=p,I.CrossSectionArea=A,I.BarLength=d,I.BarRole=v,I.BarSurface=h,I.type=979691226,I}return P(n)}(eh);e.IfcReinforcingBar=Th}($C||($C={})),z_[2]="IFC4",G_[2]={3630933823:function(e,t){return new e_.IfcActorRole(e,t[0],t[1]?new e_.IfcLabel(t[1].value):null,t[2]?new e_.IfcText(t[2].value):null)},618182010:function(e,t){return new e_.IfcAddress(e,t[0],t[1]?new e_.IfcText(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null)},639542469:function(e,t){return new e_.IfcApplication(e,new H_(t[0].value),new e_.IfcLabel(t[1].value),new e_.IfcLabel(t[2].value),new e_.IfcIdentifier(t[3].value))},411424972:function(e,t){return new e_.IfcAppliedValue(e,t[0]?new e_.IfcLabel(t[0].value):null,t[1]?new e_.IfcText(t[1].value):null,t[2]?new H_(t[2].value):null,t[3]?new H_(t[3].value):null,t[4]?new e_.IfcDate(t[4].value):null,t[5]?new e_.IfcDate(t[5].value):null,t[6]?new e_.IfcLabel(t[6].value):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8],t[9]?t[9].map((function(e){return new H_(e.value)})):null)},130549933:function(e,t){return new e_.IfcApproval(e,t[0]?new e_.IfcIdentifier(t[0].value):null,t[1]?new e_.IfcLabel(t[1].value):null,t[2]?new e_.IfcText(t[2].value):null,t[3]?new e_.IfcDateTime(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new e_.IfcLabel(t[5].value):null,t[6]?new e_.IfcText(t[6].value):null,t[7]?new H_(t[7].value):null,t[8]?new H_(t[8].value):null)},4037036970:function(e,t){return new e_.IfcBoundaryCondition(e,t[0]?new e_.IfcLabel(t[0].value):null)},1560379544:function(e,t){return new e_.IfcBoundaryEdgeCondition(e,t[0]?new e_.IfcLabel(t[0].value):null,t[1]?K_(2,t[1]):null,t[2]?K_(2,t[2]):null,t[3]?K_(2,t[3]):null,t[4]?K_(2,t[4]):null,t[5]?K_(2,t[5]):null,t[6]?K_(2,t[6]):null)},3367102660:function(e,t){return new e_.IfcBoundaryFaceCondition(e,t[0]?new e_.IfcLabel(t[0].value):null,t[1]?K_(2,t[1]):null,t[2]?K_(2,t[2]):null,t[3]?K_(2,t[3]):null)},1387855156:function(e,t){return new e_.IfcBoundaryNodeCondition(e,t[0]?new e_.IfcLabel(t[0].value):null,t[1]?K_(2,t[1]):null,t[2]?K_(2,t[2]):null,t[3]?K_(2,t[3]):null,t[4]?K_(2,t[4]):null,t[5]?K_(2,t[5]):null,t[6]?K_(2,t[6]):null)},2069777674:function(e,t){return new e_.IfcBoundaryNodeConditionWarping(e,t[0]?new e_.IfcLabel(t[0].value):null,t[1]?K_(2,t[1]):null,t[2]?K_(2,t[2]):null,t[3]?K_(2,t[3]):null,t[4]?K_(2,t[4]):null,t[5]?K_(2,t[5]):null,t[6]?K_(2,t[6]):null,t[7]?K_(2,t[7]):null)},2859738748:function(e,t){return new e_.IfcConnectionGeometry(e)},2614616156:function(e,t){return new e_.IfcConnectionPointGeometry(e,new H_(t[0].value),t[1]?new H_(t[1].value):null)},2732653382:function(e,t){return new e_.IfcConnectionSurfaceGeometry(e,new H_(t[0].value),t[1]?new H_(t[1].value):null)},775493141:function(e,t){return new e_.IfcConnectionVolumeGeometry(e,new H_(t[0].value),t[1]?new H_(t[1].value):null)},1959218052:function(e,t){return new e_.IfcConstraint(e,new e_.IfcLabel(t[0].value),t[1]?new e_.IfcText(t[1].value):null,t[2],t[3]?new e_.IfcLabel(t[3].value):null,t[4]?new H_(t[4].value):null,t[5]?new e_.IfcDateTime(t[5].value):null,t[6]?new e_.IfcLabel(t[6].value):null)},1785450214:function(e,t){return new e_.IfcCoordinateOperation(e,new H_(t[0].value),new H_(t[1].value))},1466758467:function(e,t){return new e_.IfcCoordinateReferenceSystem(e,new e_.IfcLabel(t[0].value),t[1]?new e_.IfcText(t[1].value):null,t[2]?new e_.IfcIdentifier(t[2].value):null,t[3]?new e_.IfcIdentifier(t[3].value):null)},602808272:function(e,t){return new e_.IfcCostValue(e,t[0]?new e_.IfcLabel(t[0].value):null,t[1]?new e_.IfcText(t[1].value):null,t[2]?new H_(t[2].value):null,t[3]?new H_(t[3].value):null,t[4]?new e_.IfcDate(t[4].value):null,t[5]?new e_.IfcDate(t[5].value):null,t[6]?new e_.IfcLabel(t[6].value):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8],t[9]?t[9].map((function(e){return new H_(e.value)})):null)},1765591967:function(e,t){return new e_.IfcDerivedUnit(e,t[0].map((function(e){return new H_(e.value)})),t[1],t[2]?new e_.IfcLabel(t[2].value):null)},1045800335:function(e,t){return new e_.IfcDerivedUnitElement(e,new H_(t[0].value),t[1].value)},2949456006:function(e,t){return new e_.IfcDimensionalExponents(e,t[0].value,t[1].value,t[2].value,t[3].value,t[4].value,t[5].value,t[6].value)},4294318154:function(e,t){return new e_.IfcExternalInformation(e)},3200245327:function(e,t){return new e_.IfcExternalReference(e,t[0]?new e_.IfcURIReference(t[0].value):null,t[1]?new e_.IfcIdentifier(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null)},2242383968:function(e,t){return new e_.IfcExternallyDefinedHatchStyle(e,t[0]?new e_.IfcURIReference(t[0].value):null,t[1]?new e_.IfcIdentifier(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null)},1040185647:function(e,t){return new e_.IfcExternallyDefinedSurfaceStyle(e,t[0]?new e_.IfcURIReference(t[0].value):null,t[1]?new e_.IfcIdentifier(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null)},3548104201:function(e,t){return new e_.IfcExternallyDefinedTextFont(e,t[0]?new e_.IfcURIReference(t[0].value):null,t[1]?new e_.IfcIdentifier(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null)},852622518:function(e,t){return new e_.IfcGridAxis(e,t[0]?new e_.IfcLabel(t[0].value):null,new H_(t[1].value),new e_.IfcBoolean(t[2].value))},3020489413:function(e,t){return new e_.IfcIrregularTimeSeriesValue(e,new e_.IfcDateTime(t[0].value),t[1].map((function(e){return K_(2,e)})))},2655187982:function(e,t){return new e_.IfcLibraryInformation(e,new e_.IfcLabel(t[0].value),t[1]?new e_.IfcLabel(t[1].value):null,t[2]?new H_(t[2].value):null,t[3]?new e_.IfcDateTime(t[3].value):null,t[4]?new e_.IfcURIReference(t[4].value):null,t[5]?new e_.IfcText(t[5].value):null)},3452421091:function(e,t){return new e_.IfcLibraryReference(e,t[0]?new e_.IfcURIReference(t[0].value):null,t[1]?new e_.IfcIdentifier(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLanguageId(t[4].value):null,t[5]?new H_(t[5].value):null)},4162380809:function(e,t){return new e_.IfcLightDistributionData(e,new e_.IfcPlaneAngleMeasure(t[0].value),t[1].map((function(e){return new e_.IfcPlaneAngleMeasure(e.value)})),t[2].map((function(e){return new e_.IfcLuminousIntensityDistributionMeasure(e.value)})))},1566485204:function(e,t){return new e_.IfcLightIntensityDistribution(e,t[0],t[1].map((function(e){return new H_(e.value)})))},3057273783:function(e,t){return new e_.IfcMapConversion(e,new H_(t[0].value),new H_(t[1].value),new e_.IfcLengthMeasure(t[2].value),new e_.IfcLengthMeasure(t[3].value),new e_.IfcLengthMeasure(t[4].value),t[5]?new e_.IfcReal(t[5].value):null,t[6]?new e_.IfcReal(t[6].value):null,t[7]?new e_.IfcReal(t[7].value):null)},1847130766:function(e,t){return new e_.IfcMaterialClassificationRelationship(e,t[0].map((function(e){return new H_(e.value)})),new H_(t[1].value))},760658860:function(e,t){return new e_.IfcMaterialDefinition(e)},248100487:function(e,t){return new e_.IfcMaterialLayer(e,t[0]?new H_(t[0].value):null,new e_.IfcNonNegativeLengthMeasure(t[1].value),t[2]?new e_.IfcLogical(t[2].value):null,t[3]?new e_.IfcLabel(t[3].value):null,t[4]?new e_.IfcText(t[4].value):null,t[5]?new e_.IfcLabel(t[5].value):null,t[6]?new e_.IfcInteger(t[6].value):null)},3303938423:function(e,t){return new e_.IfcMaterialLayerSet(e,t[0].map((function(e){return new H_(e.value)})),t[1]?new e_.IfcLabel(t[1].value):null,t[2]?new e_.IfcText(t[2].value):null)},1847252529:function(e,t){return new e_.IfcMaterialLayerWithOffsets(e,t[0]?new H_(t[0].value):null,new e_.IfcNonNegativeLengthMeasure(t[1].value),t[2]?new e_.IfcLogical(t[2].value):null,t[3]?new e_.IfcLabel(t[3].value):null,t[4]?new e_.IfcText(t[4].value):null,t[5]?new e_.IfcLabel(t[5].value):null,t[6]?new e_.IfcInteger(t[6].value):null,t[7],new e_.IfcLengthMeasure(t[8].value))},2199411900:function(e,t){return new e_.IfcMaterialList(e,t[0].map((function(e){return new H_(e.value)})))},2235152071:function(e,t){return new e_.IfcMaterialProfile(e,t[0]?new e_.IfcLabel(t[0].value):null,t[1]?new e_.IfcText(t[1].value):null,t[2]?new H_(t[2].value):null,new H_(t[3].value),t[4]?new e_.IfcInteger(t[4].value):null,t[5]?new e_.IfcLabel(t[5].value):null)},164193824:function(e,t){return new e_.IfcMaterialProfileSet(e,t[0]?new e_.IfcLabel(t[0].value):null,t[1]?new e_.IfcText(t[1].value):null,t[2].map((function(e){return new H_(e.value)})),t[3]?new H_(t[3].value):null)},552965576:function(e,t){return new e_.IfcMaterialProfileWithOffsets(e,t[0]?new e_.IfcLabel(t[0].value):null,t[1]?new e_.IfcText(t[1].value):null,t[2]?new H_(t[2].value):null,new H_(t[3].value),t[4]?new e_.IfcInteger(t[4].value):null,t[5]?new e_.IfcLabel(t[5].value):null,new e_.IfcLengthMeasure(t[6].value))},1507914824:function(e,t){return new e_.IfcMaterialUsageDefinition(e)},2597039031:function(e,t){return new e_.IfcMeasureWithUnit(e,K_(2,t[0]),new H_(t[1].value))},3368373690:function(e,t){return new e_.IfcMetric(e,new e_.IfcLabel(t[0].value),t[1]?new e_.IfcText(t[1].value):null,t[2],t[3]?new e_.IfcLabel(t[3].value):null,t[4]?new H_(t[4].value):null,t[5]?new e_.IfcDateTime(t[5].value):null,t[6]?new e_.IfcLabel(t[6].value):null,t[7],t[8]?new e_.IfcLabel(t[8].value):null,t[9]?new H_(t[9].value):null,t[10]?new H_(t[10].value):null)},2706619895:function(e,t){return new e_.IfcMonetaryUnit(e,new e_.IfcLabel(t[0].value))},1918398963:function(e,t){return new e_.IfcNamedUnit(e,new H_(t[0].value),t[1])},3701648758:function(e,t){return new e_.IfcObjectPlacement(e)},2251480897:function(e,t){return new e_.IfcObjective(e,new e_.IfcLabel(t[0].value),t[1]?new e_.IfcText(t[1].value):null,t[2],t[3]?new e_.IfcLabel(t[3].value):null,t[4]?new H_(t[4].value):null,t[5]?new e_.IfcDateTime(t[5].value):null,t[6]?new e_.IfcLabel(t[6].value):null,t[7]?t[7].map((function(e){return new H_(e.value)})):null,t[8],t[9],t[10]?new e_.IfcLabel(t[10].value):null)},4251960020:function(e,t){return new e_.IfcOrganization(e,t[0]?new e_.IfcIdentifier(t[0].value):null,new e_.IfcLabel(t[1].value),t[2]?new e_.IfcText(t[2].value):null,t[3]?t[3].map((function(e){return new H_(e.value)})):null,t[4]?t[4].map((function(e){return new H_(e.value)})):null)},1207048766:function(e,t){return new e_.IfcOwnerHistory(e,new H_(t[0].value),new H_(t[1].value),t[2],t[3],t[4]?new e_.IfcTimeStamp(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,new e_.IfcTimeStamp(t[7].value))},2077209135:function(e,t){return new e_.IfcPerson(e,t[0]?new e_.IfcIdentifier(t[0].value):null,t[1]?new e_.IfcLabel(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?t[3].map((function(e){return new e_.IfcLabel(e.value)})):null,t[4]?t[4].map((function(e){return new e_.IfcLabel(e.value)})):null,t[5]?t[5].map((function(e){return new e_.IfcLabel(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?t[7].map((function(e){return new H_(e.value)})):null)},101040310:function(e,t){return new e_.IfcPersonAndOrganization(e,new H_(t[0].value),new H_(t[1].value),t[2]?t[2].map((function(e){return new H_(e.value)})):null)},2483315170:function(e,t){return new e_.IfcPhysicalQuantity(e,new e_.IfcLabel(t[0].value),t[1]?new e_.IfcText(t[1].value):null)},2226359599:function(e,t){return new e_.IfcPhysicalSimpleQuantity(e,new e_.IfcLabel(t[0].value),t[1]?new e_.IfcText(t[1].value):null,t[2]?new H_(t[2].value):null)},3355820592:function(e,t){return new e_.IfcPostalAddress(e,t[0],t[1]?new e_.IfcText(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcLabel(t[3].value):null,t[4]?t[4].map((function(e){return new e_.IfcLabel(e.value)})):null,t[5]?new e_.IfcLabel(t[5].value):null,t[6]?new e_.IfcLabel(t[6].value):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null,t[9]?new e_.IfcLabel(t[9].value):null)},677532197:function(e,t){return new e_.IfcPresentationItem(e)},2022622350:function(e,t){return new e_.IfcPresentationLayerAssignment(e,new e_.IfcLabel(t[0].value),t[1]?new e_.IfcText(t[1].value):null,t[2].map((function(e){return new H_(e.value)})),t[3]?new e_.IfcIdentifier(t[3].value):null)},1304840413:function(e,t){return new e_.IfcPresentationLayerWithStyle(e,new e_.IfcLabel(t[0].value),t[1]?new e_.IfcText(t[1].value):null,t[2].map((function(e){return new H_(e.value)})),t[3]?new e_.IfcIdentifier(t[3].value):null,new e_.IfcLogical(t[4].value),new e_.IfcLogical(t[5].value),new e_.IfcLogical(t[6].value),t[7]?t[7].map((function(e){return new H_(e.value)})):null)},3119450353:function(e,t){return new e_.IfcPresentationStyle(e,t[0]?new e_.IfcLabel(t[0].value):null)},2417041796:function(e,t){return new e_.IfcPresentationStyleAssignment(e,t[0].map((function(e){return new H_(e.value)})))},2095639259:function(e,t){return new e_.IfcProductRepresentation(e,t[0]?new e_.IfcLabel(t[0].value):null,t[1]?new e_.IfcText(t[1].value):null,t[2].map((function(e){return new H_(e.value)})))},3958567839:function(e,t){return new e_.IfcProfileDef(e,t[0],t[1]?new e_.IfcLabel(t[1].value):null)},3843373140:function(e,t){return new e_.IfcProjectedCRS(e,new e_.IfcLabel(t[0].value),t[1]?new e_.IfcText(t[1].value):null,t[2]?new e_.IfcIdentifier(t[2].value):null,t[3]?new e_.IfcIdentifier(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?new e_.IfcIdentifier(t[5].value):null,t[6]?new H_(t[6].value):null)},986844984:function(e,t){return new e_.IfcPropertyAbstraction(e)},3710013099:function(e,t){return new e_.IfcPropertyEnumeration(e,new e_.IfcLabel(t[0].value),t[1].map((function(e){return K_(2,e)})),t[2]?new H_(t[2].value):null)},2044713172:function(e,t){return new e_.IfcQuantityArea(e,new e_.IfcLabel(t[0].value),t[1]?new e_.IfcText(t[1].value):null,t[2]?new H_(t[2].value):null,new e_.IfcAreaMeasure(t[3].value),t[4]?new e_.IfcLabel(t[4].value):null)},2093928680:function(e,t){return new e_.IfcQuantityCount(e,new e_.IfcLabel(t[0].value),t[1]?new e_.IfcText(t[1].value):null,t[2]?new H_(t[2].value):null,new e_.IfcCountMeasure(t[3].value),t[4]?new e_.IfcLabel(t[4].value):null)},931644368:function(e,t){return new e_.IfcQuantityLength(e,new e_.IfcLabel(t[0].value),t[1]?new e_.IfcText(t[1].value):null,t[2]?new H_(t[2].value):null,new e_.IfcLengthMeasure(t[3].value),t[4]?new e_.IfcLabel(t[4].value):null)},3252649465:function(e,t){return new e_.IfcQuantityTime(e,new e_.IfcLabel(t[0].value),t[1]?new e_.IfcText(t[1].value):null,t[2]?new H_(t[2].value):null,new e_.IfcTimeMeasure(t[3].value),t[4]?new e_.IfcLabel(t[4].value):null)},2405470396:function(e,t){return new e_.IfcQuantityVolume(e,new e_.IfcLabel(t[0].value),t[1]?new e_.IfcText(t[1].value):null,t[2]?new H_(t[2].value):null,new e_.IfcVolumeMeasure(t[3].value),t[4]?new e_.IfcLabel(t[4].value):null)},825690147:function(e,t){return new e_.IfcQuantityWeight(e,new e_.IfcLabel(t[0].value),t[1]?new e_.IfcText(t[1].value):null,t[2]?new H_(t[2].value):null,new e_.IfcMassMeasure(t[3].value),t[4]?new e_.IfcLabel(t[4].value):null)},3915482550:function(e,t){return new e_.IfcRecurrencePattern(e,t[0],t[1]?t[1].map((function(e){return new e_.IfcDayInMonthNumber(e.value)})):null,t[2]?t[2].map((function(e){return new e_.IfcDayInWeekNumber(e.value)})):null,t[3]?t[3].map((function(e){return new e_.IfcMonthInYearNumber(e.value)})):null,t[4]?new e_.IfcInteger(t[4].value):null,t[5]?new e_.IfcInteger(t[5].value):null,t[6]?new e_.IfcInteger(t[6].value):null,t[7]?t[7].map((function(e){return new H_(e.value)})):null)},2433181523:function(e,t){return new e_.IfcReference(e,t[0]?new e_.IfcIdentifier(t[0].value):null,t[1]?new e_.IfcIdentifier(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?t[3].map((function(e){return new e_.IfcInteger(e.value)})):null,t[4]?new H_(t[4].value):null)},1076942058:function(e,t){return new e_.IfcRepresentation(e,new H_(t[0].value),t[1]?new e_.IfcLabel(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3].map((function(e){return new H_(e.value)})))},3377609919:function(e,t){return new e_.IfcRepresentationContext(e,t[0]?new e_.IfcLabel(t[0].value):null,t[1]?new e_.IfcLabel(t[1].value):null)},3008791417:function(e,t){return new e_.IfcRepresentationItem(e)},1660063152:function(e,t){return new e_.IfcRepresentationMap(e,new H_(t[0].value),new H_(t[1].value))},2439245199:function(e,t){return new e_.IfcResourceLevelRelationship(e,t[0]?new e_.IfcLabel(t[0].value):null,t[1]?new e_.IfcText(t[1].value):null)},2341007311:function(e,t){return new e_.IfcRoot(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null)},448429030:function(e,t){return new e_.IfcSIUnit(e,t[0],t[1],t[2])},1054537805:function(e,t){return new e_.IfcSchedulingTime(e,t[0]?new e_.IfcLabel(t[0].value):null,t[1],t[2]?new e_.IfcLabel(t[2].value):null)},867548509:function(e,t){return new e_.IfcShapeAspect(e,t[0].map((function(e){return new H_(e.value)})),t[1]?new e_.IfcLabel(t[1].value):null,t[2]?new e_.IfcText(t[2].value):null,new e_.IfcLogical(t[3].value),t[4]?new H_(t[4].value):null)},3982875396:function(e,t){return new e_.IfcShapeModel(e,new H_(t[0].value),t[1]?new e_.IfcLabel(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3].map((function(e){return new H_(e.value)})))},4240577450:function(e,t){return new e_.IfcShapeRepresentation(e,new H_(t[0].value),t[1]?new e_.IfcLabel(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3].map((function(e){return new H_(e.value)})))},2273995522:function(e,t){return new e_.IfcStructuralConnectionCondition(e,t[0]?new e_.IfcLabel(t[0].value):null)},2162789131:function(e,t){return new e_.IfcStructuralLoad(e,t[0]?new e_.IfcLabel(t[0].value):null)},3478079324:function(e,t){return new e_.IfcStructuralLoadConfiguration(e,t[0]?new e_.IfcLabel(t[0].value):null,t[1].map((function(e){return new H_(e.value)})),t[2]?t[2].map((function(e){return new e_.IfcLengthMeasure(e.value)})):null)},609421318:function(e,t){return new e_.IfcStructuralLoadOrResult(e,t[0]?new e_.IfcLabel(t[0].value):null)},2525727697:function(e,t){return new e_.IfcStructuralLoadStatic(e,t[0]?new e_.IfcLabel(t[0].value):null)},3408363356:function(e,t){return new e_.IfcStructuralLoadTemperature(e,t[0]?new e_.IfcLabel(t[0].value):null,t[1]?new e_.IfcThermodynamicTemperatureMeasure(t[1].value):null,t[2]?new e_.IfcThermodynamicTemperatureMeasure(t[2].value):null,t[3]?new e_.IfcThermodynamicTemperatureMeasure(t[3].value):null)},2830218821:function(e,t){return new e_.IfcStyleModel(e,new H_(t[0].value),t[1]?new e_.IfcLabel(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3].map((function(e){return new H_(e.value)})))},3958052878:function(e,t){return new e_.IfcStyledItem(e,t[0]?new H_(t[0].value):null,t[1].map((function(e){return new H_(e.value)})),t[2]?new e_.IfcLabel(t[2].value):null)},3049322572:function(e,t){return new e_.IfcStyledRepresentation(e,new H_(t[0].value),t[1]?new e_.IfcLabel(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3].map((function(e){return new H_(e.value)})))},2934153892:function(e,t){return new e_.IfcSurfaceReinforcementArea(e,t[0]?new e_.IfcLabel(t[0].value):null,t[1]?t[1].map((function(e){return new e_.IfcLengthMeasure(e.value)})):null,t[2]?t[2].map((function(e){return new e_.IfcLengthMeasure(e.value)})):null,t[3]?new e_.IfcRatioMeasure(t[3].value):null)},1300840506:function(e,t){return new e_.IfcSurfaceStyle(e,t[0]?new e_.IfcLabel(t[0].value):null,t[1],t[2].map((function(e){return new H_(e.value)})))},3303107099:function(e,t){return new e_.IfcSurfaceStyleLighting(e,new H_(t[0].value),new H_(t[1].value),new H_(t[2].value),new H_(t[3].value))},1607154358:function(e,t){return new e_.IfcSurfaceStyleRefraction(e,t[0]?new e_.IfcReal(t[0].value):null,t[1]?new e_.IfcReal(t[1].value):null)},846575682:function(e,t){return new e_.IfcSurfaceStyleShading(e,new H_(t[0].value),t[1]?new e_.IfcNormalisedRatioMeasure(t[1].value):null)},1351298697:function(e,t){return new e_.IfcSurfaceStyleWithTextures(e,t[0].map((function(e){return new H_(e.value)})))},626085974:function(e,t){return new e_.IfcSurfaceTexture(e,new e_.IfcBoolean(t[0].value),new e_.IfcBoolean(t[1].value),t[2]?new e_.IfcIdentifier(t[2].value):null,t[3]?new H_(t[3].value):null,t[4]?t[4].map((function(e){return new e_.IfcIdentifier(e.value)})):null)},985171141:function(e,t){return new e_.IfcTable(e,t[0]?new e_.IfcLabel(t[0].value):null,t[1]?t[1].map((function(e){return new H_(e.value)})):null,t[2]?t[2].map((function(e){return new H_(e.value)})):null)},2043862942:function(e,t){return new e_.IfcTableColumn(e,t[0]?new e_.IfcIdentifier(t[0].value):null,t[1]?new e_.IfcLabel(t[1].value):null,t[2]?new e_.IfcText(t[2].value):null,t[3]?new H_(t[3].value):null,t[4]?new H_(t[4].value):null)},531007025:function(e,t){return new e_.IfcTableRow(e,t[0]?t[0].map((function(e){return K_(2,e)})):null,t[1]?new e_.IfcBoolean(t[1].value):null)},1549132990:function(e,t){return new e_.IfcTaskTime(e,t[0]?new e_.IfcLabel(t[0].value):null,t[1],t[2]?new e_.IfcLabel(t[2].value):null,t[3],t[4]?new e_.IfcDuration(t[4].value):null,t[5]?new e_.IfcDateTime(t[5].value):null,t[6]?new e_.IfcDateTime(t[6].value):null,t[7]?new e_.IfcDateTime(t[7].value):null,t[8]?new e_.IfcDateTime(t[8].value):null,t[9]?new e_.IfcDateTime(t[9].value):null,t[10]?new e_.IfcDateTime(t[10].value):null,t[11]?new e_.IfcDuration(t[11].value):null,t[12]?new e_.IfcDuration(t[12].value):null,t[13]?new e_.IfcBoolean(t[13].value):null,t[14]?new e_.IfcDateTime(t[14].value):null,t[15]?new e_.IfcDuration(t[15].value):null,t[16]?new e_.IfcDateTime(t[16].value):null,t[17]?new e_.IfcDateTime(t[17].value):null,t[18]?new e_.IfcDuration(t[18].value):null,t[19]?new e_.IfcPositiveRatioMeasure(t[19].value):null)},2771591690:function(e,t){return new e_.IfcTaskTimeRecurring(e,t[0]?new e_.IfcLabel(t[0].value):null,t[1],t[2]?new e_.IfcLabel(t[2].value):null,t[3],t[4]?new e_.IfcDuration(t[4].value):null,t[5]?new e_.IfcDateTime(t[5].value):null,t[6]?new e_.IfcDateTime(t[6].value):null,t[7]?new e_.IfcDateTime(t[7].value):null,t[8]?new e_.IfcDateTime(t[8].value):null,t[9]?new e_.IfcDateTime(t[9].value):null,t[10]?new e_.IfcDateTime(t[10].value):null,t[11]?new e_.IfcDuration(t[11].value):null,t[12]?new e_.IfcDuration(t[12].value):null,t[13]?new e_.IfcBoolean(t[13].value):null,t[14]?new e_.IfcDateTime(t[14].value):null,t[15]?new e_.IfcDuration(t[15].value):null,t[16]?new e_.IfcDateTime(t[16].value):null,t[17]?new e_.IfcDateTime(t[17].value):null,t[18]?new e_.IfcDuration(t[18].value):null,t[19]?new e_.IfcPositiveRatioMeasure(t[19].value):null,new H_(t[20].value))},912023232:function(e,t){return new e_.IfcTelecomAddress(e,t[0],t[1]?new e_.IfcText(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?t[3].map((function(e){return new e_.IfcLabel(e.value)})):null,t[4]?t[4].map((function(e){return new e_.IfcLabel(e.value)})):null,t[5]?new e_.IfcLabel(t[5].value):null,t[6]?t[6].map((function(e){return new e_.IfcLabel(e.value)})):null,t[7]?new e_.IfcURIReference(t[7].value):null,t[8]?t[8].map((function(e){return new e_.IfcURIReference(e.value)})):null)},1447204868:function(e,t){return new e_.IfcTextStyle(e,t[0]?new e_.IfcLabel(t[0].value):null,t[1]?new H_(t[1].value):null,t[2]?new H_(t[2].value):null,new H_(t[3].value),t[4]?new e_.IfcBoolean(t[4].value):null)},2636378356:function(e,t){return new e_.IfcTextStyleForDefinedFont(e,new H_(t[0].value),t[1]?new H_(t[1].value):null)},1640371178:function(e,t){return new e_.IfcTextStyleTextModel(e,t[0]?K_(2,t[0]):null,t[1]?new e_.IfcTextAlignment(t[1].value):null,t[2]?new e_.IfcTextDecoration(t[2].value):null,t[3]?K_(2,t[3]):null,t[4]?K_(2,t[4]):null,t[5]?new e_.IfcTextTransformation(t[5].value):null,t[6]?K_(2,t[6]):null)},280115917:function(e,t){return new e_.IfcTextureCoordinate(e,t[0].map((function(e){return new H_(e.value)})))},1742049831:function(e,t){return new e_.IfcTextureCoordinateGenerator(e,t[0].map((function(e){return new H_(e.value)})),new e_.IfcLabel(t[1].value),t[2]?t[2].map((function(e){return new e_.IfcReal(e.value)})):null)},2552916305:function(e,t){return new e_.IfcTextureMap(e,t[0].map((function(e){return new H_(e.value)})),t[1].map((function(e){return new H_(e.value)})),new H_(t[2].value))},1210645708:function(e,t){return new e_.IfcTextureVertex(e,t[0].map((function(e){return new e_.IfcParameterValue(e.value)})))},3611470254:function(e,t){return new e_.IfcTextureVertexList(e,t[0].map((function(e){return new e_.IfcParameterValue(e.value)})))},1199560280:function(e,t){return new e_.IfcTimePeriod(e,new e_.IfcTime(t[0].value),new e_.IfcTime(t[1].value))},3101149627:function(e,t){return new e_.IfcTimeSeries(e,new e_.IfcLabel(t[0].value),t[1]?new e_.IfcText(t[1].value):null,new e_.IfcDateTime(t[2].value),new e_.IfcDateTime(t[3].value),t[4],t[5],t[6]?new e_.IfcLabel(t[6].value):null,t[7]?new H_(t[7].value):null)},581633288:function(e,t){return new e_.IfcTimeSeriesValue(e,t[0].map((function(e){return K_(2,e)})))},1377556343:function(e,t){return new e_.IfcTopologicalRepresentationItem(e)},1735638870:function(e,t){return new e_.IfcTopologyRepresentation(e,new H_(t[0].value),t[1]?new e_.IfcLabel(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3].map((function(e){return new H_(e.value)})))},180925521:function(e,t){return new e_.IfcUnitAssignment(e,t[0].map((function(e){return new H_(e.value)})))},2799835756:function(e,t){return new e_.IfcVertex(e)},1907098498:function(e,t){return new e_.IfcVertexPoint(e,new H_(t[0].value))},891718957:function(e,t){return new e_.IfcVirtualGridIntersection(e,t[0].map((function(e){return new H_(e.value)})),t[1].map((function(e){return new e_.IfcLengthMeasure(e.value)})))},1236880293:function(e,t){return new e_.IfcWorkTime(e,t[0]?new e_.IfcLabel(t[0].value):null,t[1],t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new H_(t[3].value):null,t[4]?new e_.IfcDate(t[4].value):null,t[5]?new e_.IfcDate(t[5].value):null)},3869604511:function(e,t){return new e_.IfcApprovalRelationship(e,t[0]?new e_.IfcLabel(t[0].value):null,t[1]?new e_.IfcText(t[1].value):null,new H_(t[2].value),t[3].map((function(e){return new H_(e.value)})))},3798115385:function(e,t){return new e_.IfcArbitraryClosedProfileDef(e,t[0],t[1]?new e_.IfcLabel(t[1].value):null,new H_(t[2].value))},1310608509:function(e,t){return new e_.IfcArbitraryOpenProfileDef(e,t[0],t[1]?new e_.IfcLabel(t[1].value):null,new H_(t[2].value))},2705031697:function(e,t){return new e_.IfcArbitraryProfileDefWithVoids(e,t[0],t[1]?new e_.IfcLabel(t[1].value):null,new H_(t[2].value),t[3].map((function(e){return new H_(e.value)})))},616511568:function(e,t){return new e_.IfcBlobTexture(e,new e_.IfcBoolean(t[0].value),new e_.IfcBoolean(t[1].value),t[2]?new e_.IfcIdentifier(t[2].value):null,t[3]?new H_(t[3].value):null,t[4]?t[4].map((function(e){return new e_.IfcIdentifier(e.value)})):null,new e_.IfcIdentifier(t[5].value),new e_.IfcBinary(t[6].value))},3150382593:function(e,t){return new e_.IfcCenterLineProfileDef(e,t[0],t[1]?new e_.IfcLabel(t[1].value):null,new H_(t[2].value),new e_.IfcPositiveLengthMeasure(t[3].value))},747523909:function(e,t){return new e_.IfcClassification(e,t[0]?new e_.IfcLabel(t[0].value):null,t[1]?new e_.IfcLabel(t[1].value):null,t[2]?new e_.IfcDate(t[2].value):null,new e_.IfcLabel(t[3].value),t[4]?new e_.IfcText(t[4].value):null,t[5]?new e_.IfcURIReference(t[5].value):null,t[6]?t[6].map((function(e){return new e_.IfcIdentifier(e.value)})):null)},647927063:function(e,t){return new e_.IfcClassificationReference(e,t[0]?new e_.IfcURIReference(t[0].value):null,t[1]?new e_.IfcIdentifier(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new H_(t[3].value):null,t[4]?new e_.IfcText(t[4].value):null,t[5]?new e_.IfcIdentifier(t[5].value):null)},3285139300:function(e,t){return new e_.IfcColourRgbList(e,t[0].map((function(e){return new e_.IfcNormalisedRatioMeasure(e.value)})))},3264961684:function(e,t){return new e_.IfcColourSpecification(e,t[0]?new e_.IfcLabel(t[0].value):null)},1485152156:function(e,t){return new e_.IfcCompositeProfileDef(e,t[0],t[1]?new e_.IfcLabel(t[1].value):null,t[2].map((function(e){return new H_(e.value)})),t[3]?new e_.IfcLabel(t[3].value):null)},370225590:function(e,t){return new e_.IfcConnectedFaceSet(e,t[0].map((function(e){return new H_(e.value)})))},1981873012:function(e,t){return new e_.IfcConnectionCurveGeometry(e,new H_(t[0].value),t[1]?new H_(t[1].value):null)},45288368:function(e,t){return new e_.IfcConnectionPointEccentricity(e,new H_(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLengthMeasure(t[2].value):null,t[3]?new e_.IfcLengthMeasure(t[3].value):null,t[4]?new e_.IfcLengthMeasure(t[4].value):null)},3050246964:function(e,t){return new e_.IfcContextDependentUnit(e,new H_(t[0].value),t[1],new e_.IfcLabel(t[2].value))},2889183280:function(e,t){return new e_.IfcConversionBasedUnit(e,new H_(t[0].value),t[1],new e_.IfcLabel(t[2].value),new H_(t[3].value))},2713554722:function(e,t){return new e_.IfcConversionBasedUnitWithOffset(e,new H_(t[0].value),t[1],new e_.IfcLabel(t[2].value),new H_(t[3].value),new e_.IfcReal(t[4].value))},539742890:function(e,t){return new e_.IfcCurrencyRelationship(e,t[0]?new e_.IfcLabel(t[0].value):null,t[1]?new e_.IfcText(t[1].value):null,new H_(t[2].value),new H_(t[3].value),new e_.IfcPositiveRatioMeasure(t[4].value),t[5]?new e_.IfcDateTime(t[5].value):null,t[6]?new H_(t[6].value):null)},3800577675:function(e,t){return new e_.IfcCurveStyle(e,t[0]?new e_.IfcLabel(t[0].value):null,t[1]?new H_(t[1].value):null,t[2]?K_(2,t[2]):null,t[3]?new H_(t[3].value):null,t[4]?new e_.IfcBoolean(t[4].value):null)},1105321065:function(e,t){return new e_.IfcCurveStyleFont(e,t[0]?new e_.IfcLabel(t[0].value):null,t[1].map((function(e){return new H_(e.value)})))},2367409068:function(e,t){return new e_.IfcCurveStyleFontAndScaling(e,t[0]?new e_.IfcLabel(t[0].value):null,new H_(t[1].value),new e_.IfcPositiveRatioMeasure(t[2].value))},3510044353:function(e,t){return new e_.IfcCurveStyleFontPattern(e,new e_.IfcLengthMeasure(t[0].value),new e_.IfcPositiveLengthMeasure(t[1].value))},3632507154:function(e,t){return new e_.IfcDerivedProfileDef(e,t[0],t[1]?new e_.IfcLabel(t[1].value):null,new H_(t[2].value),new H_(t[3].value),t[4]?new e_.IfcLabel(t[4].value):null)},1154170062:function(e,t){return new e_.IfcDocumentInformation(e,new e_.IfcIdentifier(t[0].value),new e_.IfcLabel(t[1].value),t[2]?new e_.IfcText(t[2].value):null,t[3]?new e_.IfcURIReference(t[3].value):null,t[4]?new e_.IfcText(t[4].value):null,t[5]?new e_.IfcText(t[5].value):null,t[6]?new e_.IfcText(t[6].value):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8]?new H_(t[8].value):null,t[9]?t[9].map((function(e){return new H_(e.value)})):null,t[10]?new e_.IfcDateTime(t[10].value):null,t[11]?new e_.IfcDateTime(t[11].value):null,t[12]?new e_.IfcIdentifier(t[12].value):null,t[13]?new e_.IfcDate(t[13].value):null,t[14]?new e_.IfcDate(t[14].value):null,t[15],t[16])},770865208:function(e,t){return new e_.IfcDocumentInformationRelationship(e,t[0]?new e_.IfcLabel(t[0].value):null,t[1]?new e_.IfcText(t[1].value):null,new H_(t[2].value),t[3].map((function(e){return new H_(e.value)})),t[4]?new e_.IfcLabel(t[4].value):null)},3732053477:function(e,t){return new e_.IfcDocumentReference(e,t[0]?new e_.IfcURIReference(t[0].value):null,t[1]?new e_.IfcIdentifier(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new H_(t[4].value):null)},3900360178:function(e,t){return new e_.IfcEdge(e,new H_(t[0].value),new H_(t[1].value))},476780140:function(e,t){return new e_.IfcEdgeCurve(e,new H_(t[0].value),new H_(t[1].value),new H_(t[2].value),new e_.IfcBoolean(t[3].value))},211053100:function(e,t){return new e_.IfcEventTime(e,t[0]?new e_.IfcLabel(t[0].value):null,t[1],t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcDateTime(t[3].value):null,t[4]?new e_.IfcDateTime(t[4].value):null,t[5]?new e_.IfcDateTime(t[5].value):null,t[6]?new e_.IfcDateTime(t[6].value):null)},297599258:function(e,t){return new e_.IfcExtendedProperties(e,t[0]?new e_.IfcIdentifier(t[0].value):null,t[1]?new e_.IfcText(t[1].value):null,t[2].map((function(e){return new H_(e.value)})))},1437805879:function(e,t){return new e_.IfcExternalReferenceRelationship(e,t[0]?new e_.IfcLabel(t[0].value):null,t[1]?new e_.IfcText(t[1].value):null,new H_(t[2].value),t[3].map((function(e){return new H_(e.value)})))},2556980723:function(e,t){return new e_.IfcFace(e,t[0].map((function(e){return new H_(e.value)})))},1809719519:function(e,t){return new e_.IfcFaceBound(e,new H_(t[0].value),new e_.IfcBoolean(t[1].value))},803316827:function(e,t){return new e_.IfcFaceOuterBound(e,new H_(t[0].value),new e_.IfcBoolean(t[1].value))},3008276851:function(e,t){return new e_.IfcFaceSurface(e,t[0].map((function(e){return new H_(e.value)})),new H_(t[1].value),new e_.IfcBoolean(t[2].value))},4219587988:function(e,t){return new e_.IfcFailureConnectionCondition(e,t[0]?new e_.IfcLabel(t[0].value):null,t[1]?new e_.IfcForceMeasure(t[1].value):null,t[2]?new e_.IfcForceMeasure(t[2].value):null,t[3]?new e_.IfcForceMeasure(t[3].value):null,t[4]?new e_.IfcForceMeasure(t[4].value):null,t[5]?new e_.IfcForceMeasure(t[5].value):null,t[6]?new e_.IfcForceMeasure(t[6].value):null)},738692330:function(e,t){return new e_.IfcFillAreaStyle(e,t[0]?new e_.IfcLabel(t[0].value):null,t[1].map((function(e){return new H_(e.value)})),t[2]?new e_.IfcBoolean(t[2].value):null)},3448662350:function(e,t){return new e_.IfcGeometricRepresentationContext(e,t[0]?new e_.IfcLabel(t[0].value):null,t[1]?new e_.IfcLabel(t[1].value):null,new e_.IfcDimensionCount(t[2].value),t[3]?new e_.IfcReal(t[3].value):null,new H_(t[4].value),t[5]?new H_(t[5].value):null)},2453401579:function(e,t){return new e_.IfcGeometricRepresentationItem(e)},4142052618:function(e,t){return new e_.IfcGeometricRepresentationSubContext(e,t[0]?new e_.IfcLabel(t[0].value):null,t[1]?new e_.IfcLabel(t[1].value):null,new H_(t[2].value),t[3]?new e_.IfcPositiveRatioMeasure(t[3].value):null,t[4],t[5]?new e_.IfcLabel(t[5].value):null)},3590301190:function(e,t){return new e_.IfcGeometricSet(e,t[0].map((function(e){return new H_(e.value)})))},178086475:function(e,t){return new e_.IfcGridPlacement(e,new H_(t[0].value),t[1]?new H_(t[1].value):null)},812098782:function(e,t){return new e_.IfcHalfSpaceSolid(e,new H_(t[0].value),new e_.IfcBoolean(t[1].value))},3905492369:function(e,t){return new e_.IfcImageTexture(e,new e_.IfcBoolean(t[0].value),new e_.IfcBoolean(t[1].value),t[2]?new e_.IfcIdentifier(t[2].value):null,t[3]?new H_(t[3].value):null,t[4]?t[4].map((function(e){return new e_.IfcIdentifier(e.value)})):null,new e_.IfcURIReference(t[5].value))},3570813810:function(e,t){return new e_.IfcIndexedColourMap(e,new H_(t[0].value),t[1]?new e_.IfcNormalisedRatioMeasure(t[1].value):null,new H_(t[2].value),t[3].map((function(e){return new e_.IfcPositiveInteger(e.value)})))},1437953363:function(e,t){return new e_.IfcIndexedTextureMap(e,t[0].map((function(e){return new H_(e.value)})),new H_(t[1].value),new H_(t[2].value))},2133299955:function(e,t){return new e_.IfcIndexedTriangleTextureMap(e,t[0].map((function(e){return new H_(e.value)})),new H_(t[1].value),new H_(t[2].value),t[3]?t[3].map((function(e){return new e_.IfcPositiveInteger(e.value)})):null)},3741457305:function(e,t){return new e_.IfcIrregularTimeSeries(e,new e_.IfcLabel(t[0].value),t[1]?new e_.IfcText(t[1].value):null,new e_.IfcDateTime(t[2].value),new e_.IfcDateTime(t[3].value),t[4],t[5],t[6]?new e_.IfcLabel(t[6].value):null,t[7]?new H_(t[7].value):null,t[8].map((function(e){return new H_(e.value)})))},1585845231:function(e,t){return new e_.IfcLagTime(e,t[0]?new e_.IfcLabel(t[0].value):null,t[1],t[2]?new e_.IfcLabel(t[2].value):null,K_(2,t[3]),t[4])},1402838566:function(e,t){return new e_.IfcLightSource(e,t[0]?new e_.IfcLabel(t[0].value):null,new H_(t[1].value),t[2]?new e_.IfcNormalisedRatioMeasure(t[2].value):null,t[3]?new e_.IfcNormalisedRatioMeasure(t[3].value):null)},125510826:function(e,t){return new e_.IfcLightSourceAmbient(e,t[0]?new e_.IfcLabel(t[0].value):null,new H_(t[1].value),t[2]?new e_.IfcNormalisedRatioMeasure(t[2].value):null,t[3]?new e_.IfcNormalisedRatioMeasure(t[3].value):null)},2604431987:function(e,t){return new e_.IfcLightSourceDirectional(e,t[0]?new e_.IfcLabel(t[0].value):null,new H_(t[1].value),t[2]?new e_.IfcNormalisedRatioMeasure(t[2].value):null,t[3]?new e_.IfcNormalisedRatioMeasure(t[3].value):null,new H_(t[4].value))},4266656042:function(e,t){return new e_.IfcLightSourceGoniometric(e,t[0]?new e_.IfcLabel(t[0].value):null,new H_(t[1].value),t[2]?new e_.IfcNormalisedRatioMeasure(t[2].value):null,t[3]?new e_.IfcNormalisedRatioMeasure(t[3].value):null,new H_(t[4].value),t[5]?new H_(t[5].value):null,new e_.IfcThermodynamicTemperatureMeasure(t[6].value),new e_.IfcLuminousFluxMeasure(t[7].value),t[8],new H_(t[9].value))},1520743889:function(e,t){return new e_.IfcLightSourcePositional(e,t[0]?new e_.IfcLabel(t[0].value):null,new H_(t[1].value),t[2]?new e_.IfcNormalisedRatioMeasure(t[2].value):null,t[3]?new e_.IfcNormalisedRatioMeasure(t[3].value):null,new H_(t[4].value),new e_.IfcPositiveLengthMeasure(t[5].value),new e_.IfcReal(t[6].value),new e_.IfcReal(t[7].value),new e_.IfcReal(t[8].value))},3422422726:function(e,t){return new e_.IfcLightSourceSpot(e,t[0]?new e_.IfcLabel(t[0].value):null,new H_(t[1].value),t[2]?new e_.IfcNormalisedRatioMeasure(t[2].value):null,t[3]?new e_.IfcNormalisedRatioMeasure(t[3].value):null,new H_(t[4].value),new e_.IfcPositiveLengthMeasure(t[5].value),new e_.IfcReal(t[6].value),new e_.IfcReal(t[7].value),new e_.IfcReal(t[8].value),new H_(t[9].value),t[10]?new e_.IfcReal(t[10].value):null,new e_.IfcPositivePlaneAngleMeasure(t[11].value),new e_.IfcPositivePlaneAngleMeasure(t[12].value))},2624227202:function(e,t){return new e_.IfcLocalPlacement(e,t[0]?new H_(t[0].value):null,new H_(t[1].value))},1008929658:function(e,t){return new e_.IfcLoop(e)},2347385850:function(e,t){return new e_.IfcMappedItem(e,new H_(t[0].value),new H_(t[1].value))},1838606355:function(e,t){return new e_.IfcMaterial(e,new e_.IfcLabel(t[0].value),t[1]?new e_.IfcText(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null)},3708119e3:function(e,t){return new e_.IfcMaterialConstituent(e,t[0]?new e_.IfcLabel(t[0].value):null,t[1]?new e_.IfcText(t[1].value):null,new H_(t[2].value),t[3]?new e_.IfcNormalisedRatioMeasure(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null)},2852063980:function(e,t){return new e_.IfcMaterialConstituentSet(e,t[0]?new e_.IfcLabel(t[0].value):null,t[1]?new e_.IfcText(t[1].value):null,t[2]?t[2].map((function(e){return new H_(e.value)})):null)},2022407955:function(e,t){return new e_.IfcMaterialDefinitionRepresentation(e,t[0]?new e_.IfcLabel(t[0].value):null,t[1]?new e_.IfcText(t[1].value):null,t[2].map((function(e){return new H_(e.value)})),new H_(t[3].value))},1303795690:function(e,t){return new e_.IfcMaterialLayerSetUsage(e,new H_(t[0].value),t[1],t[2],new e_.IfcLengthMeasure(t[3].value),t[4]?new e_.IfcPositiveLengthMeasure(t[4].value):null)},3079605661:function(e,t){return new e_.IfcMaterialProfileSetUsage(e,new H_(t[0].value),t[1]?new e_.IfcCardinalPointReference(t[1].value):null,t[2]?new e_.IfcPositiveLengthMeasure(t[2].value):null)},3404854881:function(e,t){return new e_.IfcMaterialProfileSetUsageTapering(e,new H_(t[0].value),t[1]?new e_.IfcCardinalPointReference(t[1].value):null,t[2]?new e_.IfcPositiveLengthMeasure(t[2].value):null,new H_(t[3].value),t[4]?new e_.IfcCardinalPointReference(t[4].value):null)},3265635763:function(e,t){return new e_.IfcMaterialProperties(e,t[0]?new e_.IfcIdentifier(t[0].value):null,t[1]?new e_.IfcText(t[1].value):null,t[2].map((function(e){return new H_(e.value)})),new H_(t[3].value))},853536259:function(e,t){return new e_.IfcMaterialRelationship(e,t[0]?new e_.IfcLabel(t[0].value):null,t[1]?new e_.IfcText(t[1].value):null,new H_(t[2].value),t[3].map((function(e){return new H_(e.value)})),t[4]?new e_.IfcLabel(t[4].value):null)},2998442950:function(e,t){return new e_.IfcMirroredProfileDef(e,t[0],t[1]?new e_.IfcLabel(t[1].value):null,new H_(t[2].value),t[3]?new e_.IfcLabel(t[3].value):null)},219451334:function(e,t){return new e_.IfcObjectDefinition(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null)},2665983363:function(e,t){return new e_.IfcOpenShell(e,t[0].map((function(e){return new H_(e.value)})))},1411181986:function(e,t){return new e_.IfcOrganizationRelationship(e,t[0]?new e_.IfcLabel(t[0].value):null,t[1]?new e_.IfcText(t[1].value):null,new H_(t[2].value),t[3].map((function(e){return new H_(e.value)})))},1029017970:function(e,t){return new e_.IfcOrientedEdge(e,new H_(t[0].value),new e_.IfcBoolean(t[1].value))},2529465313:function(e,t){return new e_.IfcParameterizedProfileDef(e,t[0],t[1]?new e_.IfcLabel(t[1].value):null,t[2]?new H_(t[2].value):null)},2519244187:function(e,t){return new e_.IfcPath(e,t[0].map((function(e){return new H_(e.value)})))},3021840470:function(e,t){return new e_.IfcPhysicalComplexQuantity(e,new e_.IfcLabel(t[0].value),t[1]?new e_.IfcText(t[1].value):null,t[2].map((function(e){return new H_(e.value)})),new e_.IfcLabel(t[3].value),t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new e_.IfcLabel(t[5].value):null)},597895409:function(e,t){return new e_.IfcPixelTexture(e,new e_.IfcBoolean(t[0].value),new e_.IfcBoolean(t[1].value),t[2]?new e_.IfcIdentifier(t[2].value):null,t[3]?new H_(t[3].value):null,t[4]?t[4].map((function(e){return new e_.IfcIdentifier(e.value)})):null,new e_.IfcInteger(t[5].value),new e_.IfcInteger(t[6].value),new e_.IfcInteger(t[7].value),t[8].map((function(e){return new e_.IfcBinary(e.value)})))},2004835150:function(e,t){return new e_.IfcPlacement(e,new H_(t[0].value))},1663979128:function(e,t){return new e_.IfcPlanarExtent(e,new e_.IfcLengthMeasure(t[0].value),new e_.IfcLengthMeasure(t[1].value))},2067069095:function(e,t){return new e_.IfcPoint(e)},4022376103:function(e,t){return new e_.IfcPointOnCurve(e,new H_(t[0].value),new e_.IfcParameterValue(t[1].value))},1423911732:function(e,t){return new e_.IfcPointOnSurface(e,new H_(t[0].value),new e_.IfcParameterValue(t[1].value),new e_.IfcParameterValue(t[2].value))},2924175390:function(e,t){return new e_.IfcPolyLoop(e,t[0].map((function(e){return new H_(e.value)})))},2775532180:function(e,t){return new e_.IfcPolygonalBoundedHalfSpace(e,new H_(t[0].value),new e_.IfcBoolean(t[1].value),new H_(t[2].value),new H_(t[3].value))},3727388367:function(e,t){return new e_.IfcPreDefinedItem(e,new e_.IfcLabel(t[0].value))},3778827333:function(e,t){return new e_.IfcPreDefinedProperties(e)},1775413392:function(e,t){return new e_.IfcPreDefinedTextFont(e,new e_.IfcLabel(t[0].value))},673634403:function(e,t){return new e_.IfcProductDefinitionShape(e,t[0]?new e_.IfcLabel(t[0].value):null,t[1]?new e_.IfcText(t[1].value):null,t[2].map((function(e){return new H_(e.value)})))},2802850158:function(e,t){return new e_.IfcProfileProperties(e,t[0]?new e_.IfcIdentifier(t[0].value):null,t[1]?new e_.IfcText(t[1].value):null,t[2].map((function(e){return new H_(e.value)})),new H_(t[3].value))},2598011224:function(e,t){return new e_.IfcProperty(e,new e_.IfcIdentifier(t[0].value),t[1]?new e_.IfcText(t[1].value):null)},1680319473:function(e,t){return new e_.IfcPropertyDefinition(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null)},148025276:function(e,t){return new e_.IfcPropertyDependencyRelationship(e,t[0]?new e_.IfcLabel(t[0].value):null,t[1]?new e_.IfcText(t[1].value):null,new H_(t[2].value),new H_(t[3].value),t[4]?new e_.IfcText(t[4].value):null)},3357820518:function(e,t){return new e_.IfcPropertySetDefinition(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null)},1482703590:function(e,t){return new e_.IfcPropertyTemplateDefinition(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null)},2090586900:function(e,t){return new e_.IfcQuantitySet(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null)},3615266464:function(e,t){return new e_.IfcRectangleProfileDef(e,t[0],t[1]?new e_.IfcLabel(t[1].value):null,t[2]?new H_(t[2].value):null,new e_.IfcPositiveLengthMeasure(t[3].value),new e_.IfcPositiveLengthMeasure(t[4].value))},3413951693:function(e,t){return new e_.IfcRegularTimeSeries(e,new e_.IfcLabel(t[0].value),t[1]?new e_.IfcText(t[1].value):null,new e_.IfcDateTime(t[2].value),new e_.IfcDateTime(t[3].value),t[4],t[5],t[6]?new e_.IfcLabel(t[6].value):null,t[7]?new H_(t[7].value):null,new e_.IfcTimeMeasure(t[8].value),t[9].map((function(e){return new H_(e.value)})))},1580146022:function(e,t){return new e_.IfcReinforcementBarProperties(e,new e_.IfcAreaMeasure(t[0].value),new e_.IfcLabel(t[1].value),t[2],t[3]?new e_.IfcLengthMeasure(t[3].value):null,t[4]?new e_.IfcPositiveLengthMeasure(t[4].value):null,t[5]?new e_.IfcCountMeasure(t[5].value):null)},478536968:function(e,t){return new e_.IfcRelationship(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null)},2943643501:function(e,t){return new e_.IfcResourceApprovalRelationship(e,t[0]?new e_.IfcLabel(t[0].value):null,t[1]?new e_.IfcText(t[1].value):null,t[2].map((function(e){return new H_(e.value)})),new H_(t[3].value))},1608871552:function(e,t){return new e_.IfcResourceConstraintRelationship(e,t[0]?new e_.IfcLabel(t[0].value):null,t[1]?new e_.IfcText(t[1].value):null,new H_(t[2].value),t[3].map((function(e){return new H_(e.value)})))},1042787934:function(e,t){return new e_.IfcResourceTime(e,t[0]?new e_.IfcLabel(t[0].value):null,t[1],t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcDuration(t[3].value):null,t[4]?new e_.IfcPositiveRatioMeasure(t[4].value):null,t[5]?new e_.IfcDateTime(t[5].value):null,t[6]?new e_.IfcDateTime(t[6].value):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8]?new e_.IfcDuration(t[8].value):null,t[9]?new e_.IfcBoolean(t[9].value):null,t[10]?new e_.IfcDateTime(t[10].value):null,t[11]?new e_.IfcDuration(t[11].value):null,t[12]?new e_.IfcPositiveRatioMeasure(t[12].value):null,t[13]?new e_.IfcDateTime(t[13].value):null,t[14]?new e_.IfcDateTime(t[14].value):null,t[15]?new e_.IfcDuration(t[15].value):null,t[16]?new e_.IfcPositiveRatioMeasure(t[16].value):null,t[17]?new e_.IfcPositiveRatioMeasure(t[17].value):null)},2778083089:function(e,t){return new e_.IfcRoundedRectangleProfileDef(e,t[0],t[1]?new e_.IfcLabel(t[1].value):null,t[2]?new H_(t[2].value):null,new e_.IfcPositiveLengthMeasure(t[3].value),new e_.IfcPositiveLengthMeasure(t[4].value),new e_.IfcPositiveLengthMeasure(t[5].value))},2042790032:function(e,t){return new e_.IfcSectionProperties(e,t[0],new H_(t[1].value),t[2]?new H_(t[2].value):null)},4165799628:function(e,t){return new e_.IfcSectionReinforcementProperties(e,new e_.IfcLengthMeasure(t[0].value),new e_.IfcLengthMeasure(t[1].value),t[2]?new e_.IfcLengthMeasure(t[2].value):null,t[3],new H_(t[4].value),t[5].map((function(e){return new H_(e.value)})))},1509187699:function(e,t){return new e_.IfcSectionedSpine(e,new H_(t[0].value),t[1].map((function(e){return new H_(e.value)})),t[2].map((function(e){return new H_(e.value)})))},4124623270:function(e,t){return new e_.IfcShellBasedSurfaceModel(e,t[0].map((function(e){return new H_(e.value)})))},3692461612:function(e,t){return new e_.IfcSimpleProperty(e,new e_.IfcIdentifier(t[0].value),t[1]?new e_.IfcText(t[1].value):null)},2609359061:function(e,t){return new e_.IfcSlippageConnectionCondition(e,t[0]?new e_.IfcLabel(t[0].value):null,t[1]?new e_.IfcLengthMeasure(t[1].value):null,t[2]?new e_.IfcLengthMeasure(t[2].value):null,t[3]?new e_.IfcLengthMeasure(t[3].value):null)},723233188:function(e,t){return new e_.IfcSolidModel(e)},1595516126:function(e,t){return new e_.IfcStructuralLoadLinearForce(e,t[0]?new e_.IfcLabel(t[0].value):null,t[1]?new e_.IfcLinearForceMeasure(t[1].value):null,t[2]?new e_.IfcLinearForceMeasure(t[2].value):null,t[3]?new e_.IfcLinearForceMeasure(t[3].value):null,t[4]?new e_.IfcLinearMomentMeasure(t[4].value):null,t[5]?new e_.IfcLinearMomentMeasure(t[5].value):null,t[6]?new e_.IfcLinearMomentMeasure(t[6].value):null)},2668620305:function(e,t){return new e_.IfcStructuralLoadPlanarForce(e,t[0]?new e_.IfcLabel(t[0].value):null,t[1]?new e_.IfcPlanarForceMeasure(t[1].value):null,t[2]?new e_.IfcPlanarForceMeasure(t[2].value):null,t[3]?new e_.IfcPlanarForceMeasure(t[3].value):null)},2473145415:function(e,t){return new e_.IfcStructuralLoadSingleDisplacement(e,t[0]?new e_.IfcLabel(t[0].value):null,t[1]?new e_.IfcLengthMeasure(t[1].value):null,t[2]?new e_.IfcLengthMeasure(t[2].value):null,t[3]?new e_.IfcLengthMeasure(t[3].value):null,t[4]?new e_.IfcPlaneAngleMeasure(t[4].value):null,t[5]?new e_.IfcPlaneAngleMeasure(t[5].value):null,t[6]?new e_.IfcPlaneAngleMeasure(t[6].value):null)},1973038258:function(e,t){return new e_.IfcStructuralLoadSingleDisplacementDistortion(e,t[0]?new e_.IfcLabel(t[0].value):null,t[1]?new e_.IfcLengthMeasure(t[1].value):null,t[2]?new e_.IfcLengthMeasure(t[2].value):null,t[3]?new e_.IfcLengthMeasure(t[3].value):null,t[4]?new e_.IfcPlaneAngleMeasure(t[4].value):null,t[5]?new e_.IfcPlaneAngleMeasure(t[5].value):null,t[6]?new e_.IfcPlaneAngleMeasure(t[6].value):null,t[7]?new e_.IfcCurvatureMeasure(t[7].value):null)},1597423693:function(e,t){return new e_.IfcStructuralLoadSingleForce(e,t[0]?new e_.IfcLabel(t[0].value):null,t[1]?new e_.IfcForceMeasure(t[1].value):null,t[2]?new e_.IfcForceMeasure(t[2].value):null,t[3]?new e_.IfcForceMeasure(t[3].value):null,t[4]?new e_.IfcTorqueMeasure(t[4].value):null,t[5]?new e_.IfcTorqueMeasure(t[5].value):null,t[6]?new e_.IfcTorqueMeasure(t[6].value):null)},1190533807:function(e,t){return new e_.IfcStructuralLoadSingleForceWarping(e,t[0]?new e_.IfcLabel(t[0].value):null,t[1]?new e_.IfcForceMeasure(t[1].value):null,t[2]?new e_.IfcForceMeasure(t[2].value):null,t[3]?new e_.IfcForceMeasure(t[3].value):null,t[4]?new e_.IfcTorqueMeasure(t[4].value):null,t[5]?new e_.IfcTorqueMeasure(t[5].value):null,t[6]?new e_.IfcTorqueMeasure(t[6].value):null,t[7]?new e_.IfcWarpingMomentMeasure(t[7].value):null)},2233826070:function(e,t){return new e_.IfcSubedge(e,new H_(t[0].value),new H_(t[1].value),new H_(t[2].value))},2513912981:function(e,t){return new e_.IfcSurface(e)},1878645084:function(e,t){return new e_.IfcSurfaceStyleRendering(e,new H_(t[0].value),t[1]?new e_.IfcNormalisedRatioMeasure(t[1].value):null,t[2]?new H_(t[2].value):null,t[3]?new H_(t[3].value):null,t[4]?new H_(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?K_(2,t[7]):null,t[8])},2247615214:function(e,t){return new e_.IfcSweptAreaSolid(e,new H_(t[0].value),t[1]?new H_(t[1].value):null)},1260650574:function(e,t){return new e_.IfcSweptDiskSolid(e,new H_(t[0].value),new e_.IfcPositiveLengthMeasure(t[1].value),t[2]?new e_.IfcPositiveLengthMeasure(t[2].value):null,t[3]?new e_.IfcParameterValue(t[3].value):null,t[4]?new e_.IfcParameterValue(t[4].value):null)},1096409881:function(e,t){return new e_.IfcSweptDiskSolidPolygonal(e,new H_(t[0].value),new e_.IfcPositiveLengthMeasure(t[1].value),t[2]?new e_.IfcPositiveLengthMeasure(t[2].value):null,t[3]?new e_.IfcParameterValue(t[3].value):null,t[4]?new e_.IfcParameterValue(t[4].value):null,t[5]?new e_.IfcPositiveLengthMeasure(t[5].value):null)},230924584:function(e,t){return new e_.IfcSweptSurface(e,new H_(t[0].value),t[1]?new H_(t[1].value):null)},3071757647:function(e,t){return new e_.IfcTShapeProfileDef(e,t[0],t[1]?new e_.IfcLabel(t[1].value):null,t[2]?new H_(t[2].value):null,new e_.IfcPositiveLengthMeasure(t[3].value),new e_.IfcPositiveLengthMeasure(t[4].value),new e_.IfcPositiveLengthMeasure(t[5].value),new e_.IfcPositiveLengthMeasure(t[6].value),t[7]?new e_.IfcNonNegativeLengthMeasure(t[7].value):null,t[8]?new e_.IfcNonNegativeLengthMeasure(t[8].value):null,t[9]?new e_.IfcNonNegativeLengthMeasure(t[9].value):null,t[10]?new e_.IfcPlaneAngleMeasure(t[10].value):null,t[11]?new e_.IfcPlaneAngleMeasure(t[11].value):null)},901063453:function(e,t){return new e_.IfcTessellatedItem(e)},4282788508:function(e,t){return new e_.IfcTextLiteral(e,new e_.IfcPresentableText(t[0].value),new H_(t[1].value),t[2])},3124975700:function(e,t){return new e_.IfcTextLiteralWithExtent(e,new e_.IfcPresentableText(t[0].value),new H_(t[1].value),t[2],new H_(t[3].value),new e_.IfcBoxAlignment(t[4].value))},1983826977:function(e,t){return new e_.IfcTextStyleFontModel(e,new e_.IfcLabel(t[0].value),t[1].map((function(e){return new e_.IfcTextFontName(e.value)})),t[2]?new e_.IfcFontStyle(t[2].value):null,t[3]?new e_.IfcFontVariant(t[3].value):null,t[4]?new e_.IfcFontWeight(t[4].value):null,K_(2,t[5]))},2715220739:function(e,t){return new e_.IfcTrapeziumProfileDef(e,t[0],t[1]?new e_.IfcLabel(t[1].value):null,t[2]?new H_(t[2].value):null,new e_.IfcPositiveLengthMeasure(t[3].value),new e_.IfcPositiveLengthMeasure(t[4].value),new e_.IfcPositiveLengthMeasure(t[5].value),new e_.IfcLengthMeasure(t[6].value))},1628702193:function(e,t){return new e_.IfcTypeObject(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null)},3736923433:function(e,t){return new e_.IfcTypeProcess(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?new e_.IfcIdentifier(t[6].value):null,t[7]?new e_.IfcText(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null)},2347495698:function(e,t){return new e_.IfcTypeProduct(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new e_.IfcLabel(t[7].value):null)},3698973494:function(e,t){return new e_.IfcTypeResource(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?new e_.IfcIdentifier(t[6].value):null,t[7]?new e_.IfcText(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null)},427810014:function(e,t){return new e_.IfcUShapeProfileDef(e,t[0],t[1]?new e_.IfcLabel(t[1].value):null,t[2]?new H_(t[2].value):null,new e_.IfcPositiveLengthMeasure(t[3].value),new e_.IfcPositiveLengthMeasure(t[4].value),new e_.IfcPositiveLengthMeasure(t[5].value),new e_.IfcPositiveLengthMeasure(t[6].value),t[7]?new e_.IfcNonNegativeLengthMeasure(t[7].value):null,t[8]?new e_.IfcNonNegativeLengthMeasure(t[8].value):null,t[9]?new e_.IfcPlaneAngleMeasure(t[9].value):null)},1417489154:function(e,t){return new e_.IfcVector(e,new H_(t[0].value),new e_.IfcLengthMeasure(t[1].value))},2759199220:function(e,t){return new e_.IfcVertexLoop(e,new H_(t[0].value))},1299126871:function(e,t){return new e_.IfcWindowStyle(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8],t[9],new e_.IfcBoolean(t[10].value),new e_.IfcBoolean(t[11].value))},2543172580:function(e,t){return new e_.IfcZShapeProfileDef(e,t[0],t[1]?new e_.IfcLabel(t[1].value):null,t[2]?new H_(t[2].value):null,new e_.IfcPositiveLengthMeasure(t[3].value),new e_.IfcPositiveLengthMeasure(t[4].value),new e_.IfcPositiveLengthMeasure(t[5].value),new e_.IfcPositiveLengthMeasure(t[6].value),t[7]?new e_.IfcNonNegativeLengthMeasure(t[7].value):null,t[8]?new e_.IfcNonNegativeLengthMeasure(t[8].value):null)},3406155212:function(e,t){return new e_.IfcAdvancedFace(e,t[0].map((function(e){return new H_(e.value)})),new H_(t[1].value),new e_.IfcBoolean(t[2].value))},669184980:function(e,t){return new e_.IfcAnnotationFillArea(e,new H_(t[0].value),t[1]?t[1].map((function(e){return new H_(e.value)})):null)},3207858831:function(e,t){return new e_.IfcAsymmetricIShapeProfileDef(e,t[0],t[1]?new e_.IfcLabel(t[1].value):null,t[2]?new H_(t[2].value):null,new e_.IfcPositiveLengthMeasure(t[3].value),new e_.IfcPositiveLengthMeasure(t[4].value),new e_.IfcPositiveLengthMeasure(t[5].value),new e_.IfcPositiveLengthMeasure(t[6].value),t[7]?new e_.IfcNonNegativeLengthMeasure(t[7].value):null,new e_.IfcPositiveLengthMeasure(t[8].value),t[9]?new e_.IfcPositiveLengthMeasure(t[9].value):null,t[10]?new e_.IfcNonNegativeLengthMeasure(t[10].value):null,t[11]?new e_.IfcNonNegativeLengthMeasure(t[11].value):null,t[12]?new e_.IfcPlaneAngleMeasure(t[12].value):null,t[13]?new e_.IfcNonNegativeLengthMeasure(t[13].value):null,t[14]?new e_.IfcPlaneAngleMeasure(t[14].value):null)},4261334040:function(e,t){return new e_.IfcAxis1Placement(e,new H_(t[0].value),t[1]?new H_(t[1].value):null)},3125803723:function(e,t){return new e_.IfcAxis2Placement2D(e,new H_(t[0].value),t[1]?new H_(t[1].value):null)},2740243338:function(e,t){return new e_.IfcAxis2Placement3D(e,new H_(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new H_(t[2].value):null)},2736907675:function(e,t){return new e_.IfcBooleanResult(e,t[0],new H_(t[1].value),new H_(t[2].value))},4182860854:function(e,t){return new e_.IfcBoundedSurface(e)},2581212453:function(e,t){return new e_.IfcBoundingBox(e,new H_(t[0].value),new e_.IfcPositiveLengthMeasure(t[1].value),new e_.IfcPositiveLengthMeasure(t[2].value),new e_.IfcPositiveLengthMeasure(t[3].value))},2713105998:function(e,t){return new e_.IfcBoxedHalfSpace(e,new H_(t[0].value),new e_.IfcBoolean(t[1].value),new H_(t[2].value))},2898889636:function(e,t){return new e_.IfcCShapeProfileDef(e,t[0],t[1]?new e_.IfcLabel(t[1].value):null,t[2]?new H_(t[2].value):null,new e_.IfcPositiveLengthMeasure(t[3].value),new e_.IfcPositiveLengthMeasure(t[4].value),new e_.IfcPositiveLengthMeasure(t[5].value),new e_.IfcPositiveLengthMeasure(t[6].value),t[7]?new e_.IfcNonNegativeLengthMeasure(t[7].value):null)},1123145078:function(e,t){return new e_.IfcCartesianPoint(e,t[0].map((function(e){return new e_.IfcLengthMeasure(e.value)})))},574549367:function(e,t){return new e_.IfcCartesianPointList(e)},1675464909:function(e,t){return new e_.IfcCartesianPointList2D(e,t[0].map((function(e){return new e_.IfcLengthMeasure(e.value)})))},2059837836:function(e,t){return new e_.IfcCartesianPointList3D(e,t[0].map((function(e){return new e_.IfcLengthMeasure(e.value)})))},59481748:function(e,t){return new e_.IfcCartesianTransformationOperator(e,t[0]?new H_(t[0].value):null,t[1]?new H_(t[1].value):null,new H_(t[2].value),t[3]?new e_.IfcReal(t[3].value):null)},3749851601:function(e,t){return new e_.IfcCartesianTransformationOperator2D(e,t[0]?new H_(t[0].value):null,t[1]?new H_(t[1].value):null,new H_(t[2].value),t[3]?new e_.IfcReal(t[3].value):null)},3486308946:function(e,t){return new e_.IfcCartesianTransformationOperator2DnonUniform(e,t[0]?new H_(t[0].value):null,t[1]?new H_(t[1].value):null,new H_(t[2].value),t[3]?new e_.IfcReal(t[3].value):null,t[4]?new e_.IfcReal(t[4].value):null)},3331915920:function(e,t){return new e_.IfcCartesianTransformationOperator3D(e,t[0]?new H_(t[0].value):null,t[1]?new H_(t[1].value):null,new H_(t[2].value),t[3]?new e_.IfcReal(t[3].value):null,t[4]?new H_(t[4].value):null)},1416205885:function(e,t){return new e_.IfcCartesianTransformationOperator3DnonUniform(e,t[0]?new H_(t[0].value):null,t[1]?new H_(t[1].value):null,new H_(t[2].value),t[3]?new e_.IfcReal(t[3].value):null,t[4]?new H_(t[4].value):null,t[5]?new e_.IfcReal(t[5].value):null,t[6]?new e_.IfcReal(t[6].value):null)},1383045692:function(e,t){return new e_.IfcCircleProfileDef(e,t[0],t[1]?new e_.IfcLabel(t[1].value):null,t[2]?new H_(t[2].value):null,new e_.IfcPositiveLengthMeasure(t[3].value))},2205249479:function(e,t){return new e_.IfcClosedShell(e,t[0].map((function(e){return new H_(e.value)})))},776857604:function(e,t){return new e_.IfcColourRgb(e,t[0]?new e_.IfcLabel(t[0].value):null,new e_.IfcNormalisedRatioMeasure(t[1].value),new e_.IfcNormalisedRatioMeasure(t[2].value),new e_.IfcNormalisedRatioMeasure(t[3].value))},2542286263:function(e,t){return new e_.IfcComplexProperty(e,new e_.IfcIdentifier(t[0].value),t[1]?new e_.IfcText(t[1].value):null,new e_.IfcIdentifier(t[2].value),t[3].map((function(e){return new H_(e.value)})))},2485617015:function(e,t){return new e_.IfcCompositeCurveSegment(e,t[0],new e_.IfcBoolean(t[1].value),new H_(t[2].value))},2574617495:function(e,t){return new e_.IfcConstructionResourceType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?new e_.IfcIdentifier(t[6].value):null,t[7]?new e_.IfcText(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null,t[9]?t[9].map((function(e){return new H_(e.value)})):null,t[10]?new H_(t[10].value):null)},3419103109:function(e,t){return new e_.IfcContext(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new e_.IfcLabel(t[5].value):null,t[6]?new e_.IfcLabel(t[6].value):null,t[7]?t[7].map((function(e){return new H_(e.value)})):null,t[8]?new H_(t[8].value):null)},1815067380:function(e,t){return new e_.IfcCrewResourceType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?new e_.IfcIdentifier(t[6].value):null,t[7]?new e_.IfcText(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null,t[9]?t[9].map((function(e){return new H_(e.value)})):null,t[10]?new H_(t[10].value):null,t[11])},2506170314:function(e,t){return new e_.IfcCsgPrimitive3D(e,new H_(t[0].value))},2147822146:function(e,t){return new e_.IfcCsgSolid(e,new H_(t[0].value))},2601014836:function(e,t){return new e_.IfcCurve(e)},2827736869:function(e,t){return new e_.IfcCurveBoundedPlane(e,new H_(t[0].value),new H_(t[1].value),t[2]?t[2].map((function(e){return new H_(e.value)})):null)},2629017746:function(e,t){return new e_.IfcCurveBoundedSurface(e,new H_(t[0].value),t[1].map((function(e){return new H_(e.value)})),new e_.IfcBoolean(t[2].value))},32440307:function(e,t){return new e_.IfcDirection(e,t[0].map((function(e){return new e_.IfcReal(e.value)})))},526551008:function(e,t){return new e_.IfcDoorStyle(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8],t[9],new e_.IfcBoolean(t[10].value),new e_.IfcBoolean(t[11].value))},1472233963:function(e,t){return new e_.IfcEdgeLoop(e,t[0].map((function(e){return new H_(e.value)})))},1883228015:function(e,t){return new e_.IfcElementQuantity(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5].map((function(e){return new H_(e.value)})))},339256511:function(e,t){return new e_.IfcElementType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null)},2777663545:function(e,t){return new e_.IfcElementarySurface(e,new H_(t[0].value))},2835456948:function(e,t){return new e_.IfcEllipseProfileDef(e,t[0],t[1]?new e_.IfcLabel(t[1].value):null,t[2]?new H_(t[2].value):null,new e_.IfcPositiveLengthMeasure(t[3].value),new e_.IfcPositiveLengthMeasure(t[4].value))},4024345920:function(e,t){return new e_.IfcEventType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?new e_.IfcIdentifier(t[6].value):null,t[7]?new e_.IfcText(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null,t[9],t[10],t[11]?new e_.IfcLabel(t[11].value):null)},477187591:function(e,t){return new e_.IfcExtrudedAreaSolid(e,new H_(t[0].value),t[1]?new H_(t[1].value):null,new H_(t[2].value),new e_.IfcPositiveLengthMeasure(t[3].value))},2804161546:function(e,t){return new e_.IfcExtrudedAreaSolidTapered(e,new H_(t[0].value),t[1]?new H_(t[1].value):null,new H_(t[2].value),new e_.IfcPositiveLengthMeasure(t[3].value),new H_(t[4].value))},2047409740:function(e,t){return new e_.IfcFaceBasedSurfaceModel(e,t[0].map((function(e){return new H_(e.value)})))},374418227:function(e,t){return new e_.IfcFillAreaStyleHatching(e,new H_(t[0].value),new H_(t[1].value),t[2]?new H_(t[2].value):null,t[3]?new H_(t[3].value):null,new e_.IfcPlaneAngleMeasure(t[4].value))},315944413:function(e,t){return new e_.IfcFillAreaStyleTiles(e,t[0].map((function(e){return new H_(e.value)})),t[1].map((function(e){return new H_(e.value)})),new e_.IfcPositiveRatioMeasure(t[2].value))},2652556860:function(e,t){return new e_.IfcFixedReferenceSweptAreaSolid(e,new H_(t[0].value),t[1]?new H_(t[1].value):null,new H_(t[2].value),t[3]?new e_.IfcParameterValue(t[3].value):null,t[4]?new e_.IfcParameterValue(t[4].value):null,new H_(t[5].value))},4238390223:function(e,t){return new e_.IfcFurnishingElementType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null)},1268542332:function(e,t){return new e_.IfcFurnitureType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null,t[9],t[10])},4095422895:function(e,t){return new e_.IfcGeographicElementType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null,t[9])},987898635:function(e,t){return new e_.IfcGeometricCurveSet(e,t[0].map((function(e){return new H_(e.value)})))},1484403080:function(e,t){return new e_.IfcIShapeProfileDef(e,t[0],t[1]?new e_.IfcLabel(t[1].value):null,t[2]?new H_(t[2].value):null,new e_.IfcPositiveLengthMeasure(t[3].value),new e_.IfcPositiveLengthMeasure(t[4].value),new e_.IfcPositiveLengthMeasure(t[5].value),new e_.IfcPositiveLengthMeasure(t[6].value),t[7]?new e_.IfcNonNegativeLengthMeasure(t[7].value):null,t[8]?new e_.IfcNonNegativeLengthMeasure(t[8].value):null,t[9]?new e_.IfcPlaneAngleMeasure(t[9].value):null)},178912537:function(e,t){return new e_.IfcIndexedPolygonalFace(e,t[0].map((function(e){return new e_.IfcPositiveInteger(e.value)})))},2294589976:function(e,t){return new e_.IfcIndexedPolygonalFaceWithVoids(e,t[0].map((function(e){return new e_.IfcPositiveInteger(e.value)})),t[1].map((function(e){return new e_.IfcPositiveInteger(e.value)})))},572779678:function(e,t){return new e_.IfcLShapeProfileDef(e,t[0],t[1]?new e_.IfcLabel(t[1].value):null,t[2]?new H_(t[2].value):null,new e_.IfcPositiveLengthMeasure(t[3].value),t[4]?new e_.IfcPositiveLengthMeasure(t[4].value):null,new e_.IfcPositiveLengthMeasure(t[5].value),t[6]?new e_.IfcNonNegativeLengthMeasure(t[6].value):null,t[7]?new e_.IfcNonNegativeLengthMeasure(t[7].value):null,t[8]?new e_.IfcPlaneAngleMeasure(t[8].value):null)},428585644:function(e,t){return new e_.IfcLaborResourceType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?new e_.IfcIdentifier(t[6].value):null,t[7]?new e_.IfcText(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null,t[9]?t[9].map((function(e){return new H_(e.value)})):null,t[10]?new H_(t[10].value):null,t[11])},1281925730:function(e,t){return new e_.IfcLine(e,new H_(t[0].value),new H_(t[1].value))},1425443689:function(e,t){return new e_.IfcManifoldSolidBrep(e,new H_(t[0].value))},3888040117:function(e,t){return new e_.IfcObject(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null)},3388369263:function(e,t){return new e_.IfcOffsetCurve2D(e,new H_(t[0].value),new e_.IfcLengthMeasure(t[1].value),new e_.IfcLogical(t[2].value))},3505215534:function(e,t){return new e_.IfcOffsetCurve3D(e,new H_(t[0].value),new e_.IfcLengthMeasure(t[1].value),new e_.IfcLogical(t[2].value),new H_(t[3].value))},1682466193:function(e,t){return new e_.IfcPcurve(e,new H_(t[0].value),new H_(t[1].value))},603570806:function(e,t){return new e_.IfcPlanarBox(e,new e_.IfcLengthMeasure(t[0].value),new e_.IfcLengthMeasure(t[1].value),new H_(t[2].value))},220341763:function(e,t){return new e_.IfcPlane(e,new H_(t[0].value))},759155922:function(e,t){return new e_.IfcPreDefinedColour(e,new e_.IfcLabel(t[0].value))},2559016684:function(e,t){return new e_.IfcPreDefinedCurveFont(e,new e_.IfcLabel(t[0].value))},3967405729:function(e,t){return new e_.IfcPreDefinedPropertySet(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null)},569719735:function(e,t){return new e_.IfcProcedureType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?new e_.IfcIdentifier(t[6].value):null,t[7]?new e_.IfcText(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null,t[9])},2945172077:function(e,t){return new e_.IfcProcess(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new e_.IfcIdentifier(t[5].value):null,t[6]?new e_.IfcText(t[6].value):null)},4208778838:function(e,t){return new e_.IfcProduct(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null)},103090709:function(e,t){return new e_.IfcProject(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new e_.IfcLabel(t[5].value):null,t[6]?new e_.IfcLabel(t[6].value):null,t[7]?t[7].map((function(e){return new H_(e.value)})):null,t[8]?new H_(t[8].value):null)},653396225:function(e,t){return new e_.IfcProjectLibrary(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new e_.IfcLabel(t[5].value):null,t[6]?new e_.IfcLabel(t[6].value):null,t[7]?t[7].map((function(e){return new H_(e.value)})):null,t[8]?new H_(t[8].value):null)},871118103:function(e,t){return new e_.IfcPropertyBoundedValue(e,new e_.IfcIdentifier(t[0].value),t[1]?new e_.IfcText(t[1].value):null,t[2]?K_(2,t[2]):null,t[3]?K_(2,t[3]):null,t[4]?new H_(t[4].value):null,t[5]?K_(2,t[5]):null)},4166981789:function(e,t){return new e_.IfcPropertyEnumeratedValue(e,new e_.IfcIdentifier(t[0].value),t[1]?new e_.IfcText(t[1].value):null,t[2]?t[2].map((function(e){return K_(2,e)})):null,t[3]?new H_(t[3].value):null)},2752243245:function(e,t){return new e_.IfcPropertyListValue(e,new e_.IfcIdentifier(t[0].value),t[1]?new e_.IfcText(t[1].value):null,t[2]?t[2].map((function(e){return K_(2,e)})):null,t[3]?new H_(t[3].value):null)},941946838:function(e,t){return new e_.IfcPropertyReferenceValue(e,new e_.IfcIdentifier(t[0].value),t[1]?new e_.IfcText(t[1].value):null,t[2]?new e_.IfcText(t[2].value):null,t[3]?new H_(t[3].value):null)},1451395588:function(e,t){return new e_.IfcPropertySet(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4].map((function(e){return new H_(e.value)})))},492091185:function(e,t){return new e_.IfcPropertySetTemplate(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4],t[5]?new e_.IfcIdentifier(t[5].value):null,t[6].map((function(e){return new H_(e.value)})))},3650150729:function(e,t){return new e_.IfcPropertySingleValue(e,new e_.IfcIdentifier(t[0].value),t[1]?new e_.IfcText(t[1].value):null,t[2]?K_(2,t[2]):null,t[3]?new H_(t[3].value):null)},110355661:function(e,t){return new e_.IfcPropertyTableValue(e,new e_.IfcIdentifier(t[0].value),t[1]?new e_.IfcText(t[1].value):null,t[2]?t[2].map((function(e){return K_(2,e)})):null,t[3]?t[3].map((function(e){return K_(2,e)})):null,t[4]?new e_.IfcText(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7])},3521284610:function(e,t){return new e_.IfcPropertyTemplate(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null)},3219374653:function(e,t){return new e_.IfcProxy(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7],t[8]?new e_.IfcLabel(t[8].value):null)},2770003689:function(e,t){return new e_.IfcRectangleHollowProfileDef(e,t[0],t[1]?new e_.IfcLabel(t[1].value):null,t[2]?new H_(t[2].value):null,new e_.IfcPositiveLengthMeasure(t[3].value),new e_.IfcPositiveLengthMeasure(t[4].value),new e_.IfcPositiveLengthMeasure(t[5].value),t[6]?new e_.IfcNonNegativeLengthMeasure(t[6].value):null,t[7]?new e_.IfcNonNegativeLengthMeasure(t[7].value):null)},2798486643:function(e,t){return new e_.IfcRectangularPyramid(e,new H_(t[0].value),new e_.IfcPositiveLengthMeasure(t[1].value),new e_.IfcPositiveLengthMeasure(t[2].value),new e_.IfcPositiveLengthMeasure(t[3].value))},3454111270:function(e,t){return new e_.IfcRectangularTrimmedSurface(e,new H_(t[0].value),new e_.IfcParameterValue(t[1].value),new e_.IfcParameterValue(t[2].value),new e_.IfcParameterValue(t[3].value),new e_.IfcParameterValue(t[4].value),new e_.IfcBoolean(t[5].value),new e_.IfcBoolean(t[6].value))},3765753017:function(e,t){return new e_.IfcReinforcementDefinitionProperties(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5].map((function(e){return new H_(e.value)})))},3939117080:function(e,t){return new e_.IfcRelAssigns(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4].map((function(e){return new H_(e.value)})),t[5])},1683148259:function(e,t){return new e_.IfcRelAssignsToActor(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4].map((function(e){return new H_(e.value)})),t[5],new H_(t[6].value),t[7]?new H_(t[7].value):null)},2495723537:function(e,t){return new e_.IfcRelAssignsToControl(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4].map((function(e){return new H_(e.value)})),t[5],new H_(t[6].value))},1307041759:function(e,t){return new e_.IfcRelAssignsToGroup(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4].map((function(e){return new H_(e.value)})),t[5],new H_(t[6].value))},1027710054:function(e,t){return new e_.IfcRelAssignsToGroupByFactor(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4].map((function(e){return new H_(e.value)})),t[5],new H_(t[6].value),new e_.IfcRatioMeasure(t[7].value))},4278684876:function(e,t){return new e_.IfcRelAssignsToProcess(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4].map((function(e){return new H_(e.value)})),t[5],new H_(t[6].value),t[7]?new H_(t[7].value):null)},2857406711:function(e,t){return new e_.IfcRelAssignsToProduct(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4].map((function(e){return new H_(e.value)})),t[5],new H_(t[6].value))},205026976:function(e,t){return new e_.IfcRelAssignsToResource(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4].map((function(e){return new H_(e.value)})),t[5],new H_(t[6].value))},1865459582:function(e,t){return new e_.IfcRelAssociates(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4].map((function(e){return new H_(e.value)})))},4095574036:function(e,t){return new e_.IfcRelAssociatesApproval(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4].map((function(e){return new H_(e.value)})),new H_(t[5].value))},919958153:function(e,t){return new e_.IfcRelAssociatesClassification(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4].map((function(e){return new H_(e.value)})),new H_(t[5].value))},2728634034:function(e,t){return new e_.IfcRelAssociatesConstraint(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4].map((function(e){return new H_(e.value)})),t[5]?new e_.IfcLabel(t[5].value):null,new H_(t[6].value))},982818633:function(e,t){return new e_.IfcRelAssociatesDocument(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4].map((function(e){return new H_(e.value)})),new H_(t[5].value))},3840914261:function(e,t){return new e_.IfcRelAssociatesLibrary(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4].map((function(e){return new H_(e.value)})),new H_(t[5].value))},2655215786:function(e,t){return new e_.IfcRelAssociatesMaterial(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4].map((function(e){return new H_(e.value)})),new H_(t[5].value))},826625072:function(e,t){return new e_.IfcRelConnects(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null)},1204542856:function(e,t){return new e_.IfcRelConnectsElements(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new H_(t[4].value):null,new H_(t[5].value),new H_(t[6].value))},3945020480:function(e,t){return new e_.IfcRelConnectsPathElements(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new H_(t[4].value):null,new H_(t[5].value),new H_(t[6].value),t[7].map((function(e){return new e_.IfcInteger(e.value)})),t[8].map((function(e){return new e_.IfcInteger(e.value)})),t[9],t[10])},4201705270:function(e,t){return new e_.IfcRelConnectsPortToElement(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,new H_(t[4].value),new H_(t[5].value))},3190031847:function(e,t){return new e_.IfcRelConnectsPorts(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,new H_(t[4].value),new H_(t[5].value),t[6]?new H_(t[6].value):null)},2127690289:function(e,t){return new e_.IfcRelConnectsStructuralActivity(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,new H_(t[4].value),new H_(t[5].value))},1638771189:function(e,t){return new e_.IfcRelConnectsStructuralMember(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,new H_(t[4].value),new H_(t[5].value),t[6]?new H_(t[6].value):null,t[7]?new H_(t[7].value):null,t[8]?new e_.IfcLengthMeasure(t[8].value):null,t[9]?new H_(t[9].value):null)},504942748:function(e,t){return new e_.IfcRelConnectsWithEccentricity(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,new H_(t[4].value),new H_(t[5].value),t[6]?new H_(t[6].value):null,t[7]?new H_(t[7].value):null,t[8]?new e_.IfcLengthMeasure(t[8].value):null,t[9]?new H_(t[9].value):null,new H_(t[10].value))},3678494232:function(e,t){return new e_.IfcRelConnectsWithRealizingElements(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new H_(t[4].value):null,new H_(t[5].value),new H_(t[6].value),t[7].map((function(e){return new H_(e.value)})),t[8]?new e_.IfcLabel(t[8].value):null)},3242617779:function(e,t){return new e_.IfcRelContainedInSpatialStructure(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4].map((function(e){return new H_(e.value)})),new H_(t[5].value))},886880790:function(e,t){return new e_.IfcRelCoversBldgElements(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,new H_(t[4].value),t[5].map((function(e){return new H_(e.value)})))},2802773753:function(e,t){return new e_.IfcRelCoversSpaces(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,new H_(t[4].value),t[5].map((function(e){return new H_(e.value)})))},2565941209:function(e,t){return new e_.IfcRelDeclares(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,new H_(t[4].value),t[5].map((function(e){return new H_(e.value)})))},2551354335:function(e,t){return new e_.IfcRelDecomposes(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null)},693640335:function(e,t){return new e_.IfcRelDefines(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null)},1462361463:function(e,t){return new e_.IfcRelDefinesByObject(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4].map((function(e){return new H_(e.value)})),new H_(t[5].value))},4186316022:function(e,t){return new e_.IfcRelDefinesByProperties(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4].map((function(e){return new H_(e.value)})),new H_(t[5].value))},307848117:function(e,t){return new e_.IfcRelDefinesByTemplate(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4].map((function(e){return new H_(e.value)})),new H_(t[5].value))},781010003:function(e,t){return new e_.IfcRelDefinesByType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4].map((function(e){return new H_(e.value)})),new H_(t[5].value))},3940055652:function(e,t){return new e_.IfcRelFillsElement(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,new H_(t[4].value),new H_(t[5].value))},279856033:function(e,t){return new e_.IfcRelFlowControlElements(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4].map((function(e){return new H_(e.value)})),new H_(t[5].value))},427948657:function(e,t){return new e_.IfcRelInterferesElements(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,new H_(t[4].value),new H_(t[5].value),t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null,t[8].value)},3268803585:function(e,t){return new e_.IfcRelNests(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,new H_(t[4].value),t[5].map((function(e){return new H_(e.value)})))},750771296:function(e,t){return new e_.IfcRelProjectsElement(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,new H_(t[4].value),new H_(t[5].value))},1245217292:function(e,t){return new e_.IfcRelReferencedInSpatialStructure(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4].map((function(e){return new H_(e.value)})),new H_(t[5].value))},4122056220:function(e,t){return new e_.IfcRelSequence(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,new H_(t[4].value),new H_(t[5].value),t[6]?new H_(t[6].value):null,t[7],t[8]?new e_.IfcLabel(t[8].value):null)},366585022:function(e,t){return new e_.IfcRelServicesBuildings(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,new H_(t[4].value),t[5].map((function(e){return new H_(e.value)})))},3451746338:function(e,t){return new e_.IfcRelSpaceBoundary(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,new H_(t[4].value),new H_(t[5].value),t[6]?new H_(t[6].value):null,t[7],t[8])},3523091289:function(e,t){return new e_.IfcRelSpaceBoundary1stLevel(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,new H_(t[4].value),new H_(t[5].value),t[6]?new H_(t[6].value):null,t[7],t[8],t[9]?new H_(t[9].value):null)},1521410863:function(e,t){return new e_.IfcRelSpaceBoundary2ndLevel(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,new H_(t[4].value),new H_(t[5].value),t[6]?new H_(t[6].value):null,t[7],t[8],t[9]?new H_(t[9].value):null,t[10]?new H_(t[10].value):null)},1401173127:function(e,t){return new e_.IfcRelVoidsElement(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,new H_(t[4].value),new H_(t[5].value))},816062949:function(e,t){return new e_.IfcReparametrisedCompositeCurveSegment(e,t[0],new e_.IfcBoolean(t[1].value),new H_(t[2].value),new e_.IfcParameterValue(t[3].value))},2914609552:function(e,t){return new e_.IfcResource(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new e_.IfcIdentifier(t[5].value):null,t[6]?new e_.IfcText(t[6].value):null)},1856042241:function(e,t){return new e_.IfcRevolvedAreaSolid(e,new H_(t[0].value),t[1]?new H_(t[1].value):null,new H_(t[2].value),new e_.IfcPlaneAngleMeasure(t[3].value))},3243963512:function(e,t){return new e_.IfcRevolvedAreaSolidTapered(e,new H_(t[0].value),t[1]?new H_(t[1].value):null,new H_(t[2].value),new e_.IfcPlaneAngleMeasure(t[3].value),new H_(t[4].value))},4158566097:function(e,t){return new e_.IfcRightCircularCone(e,new H_(t[0].value),new e_.IfcPositiveLengthMeasure(t[1].value),new e_.IfcPositiveLengthMeasure(t[2].value))},3626867408:function(e,t){return new e_.IfcRightCircularCylinder(e,new H_(t[0].value),new e_.IfcPositiveLengthMeasure(t[1].value),new e_.IfcPositiveLengthMeasure(t[2].value))},3663146110:function(e,t){return new e_.IfcSimplePropertyTemplate(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4],t[5]?new e_.IfcLabel(t[5].value):null,t[6]?new e_.IfcLabel(t[6].value):null,t[7]?new H_(t[7].value):null,t[8]?new H_(t[8].value):null,t[9]?new H_(t[9].value):null,t[10]?new e_.IfcLabel(t[10].value):null,t[11])},1412071761:function(e,t){return new e_.IfcSpatialElement(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcLabel(t[7].value):null)},710998568:function(e,t){return new e_.IfcSpatialElementType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null)},2706606064:function(e,t){return new e_.IfcSpatialStructureElement(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8])},3893378262:function(e,t){return new e_.IfcSpatialStructureElementType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null)},463610769:function(e,t){return new e_.IfcSpatialZone(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8])},2481509218:function(e,t){return new e_.IfcSpatialZoneType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null,t[9],t[10]?new e_.IfcLabel(t[10].value):null)},451544542:function(e,t){return new e_.IfcSphere(e,new H_(t[0].value),new e_.IfcPositiveLengthMeasure(t[1].value))},4015995234:function(e,t){return new e_.IfcSphericalSurface(e,new H_(t[0].value),new e_.IfcPositiveLengthMeasure(t[1].value))},3544373492:function(e,t){return new e_.IfcStructuralActivity(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,new H_(t[7].value),t[8])},3136571912:function(e,t){return new e_.IfcStructuralItem(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null)},530289379:function(e,t){return new e_.IfcStructuralMember(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null)},3689010777:function(e,t){return new e_.IfcStructuralReaction(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,new H_(t[7].value),t[8])},3979015343:function(e,t){return new e_.IfcStructuralSurfaceMember(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7],t[8]?new e_.IfcPositiveLengthMeasure(t[8].value):null)},2218152070:function(e,t){return new e_.IfcStructuralSurfaceMemberVarying(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7],t[8]?new e_.IfcPositiveLengthMeasure(t[8].value):null)},603775116:function(e,t){return new e_.IfcStructuralSurfaceReaction(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,new H_(t[7].value),t[8],t[9])},4095615324:function(e,t){return new e_.IfcSubContractResourceType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?new e_.IfcIdentifier(t[6].value):null,t[7]?new e_.IfcText(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null,t[9]?t[9].map((function(e){return new H_(e.value)})):null,t[10]?new H_(t[10].value):null,t[11])},699246055:function(e,t){return new e_.IfcSurfaceCurve(e,new H_(t[0].value),t[1].map((function(e){return new H_(e.value)})),t[2])},2028607225:function(e,t){return new e_.IfcSurfaceCurveSweptAreaSolid(e,new H_(t[0].value),t[1]?new H_(t[1].value):null,new H_(t[2].value),t[3]?new e_.IfcParameterValue(t[3].value):null,t[4]?new e_.IfcParameterValue(t[4].value):null,new H_(t[5].value))},2809605785:function(e,t){return new e_.IfcSurfaceOfLinearExtrusion(e,new H_(t[0].value),t[1]?new H_(t[1].value):null,new H_(t[2].value),new e_.IfcLengthMeasure(t[3].value))},4124788165:function(e,t){return new e_.IfcSurfaceOfRevolution(e,new H_(t[0].value),t[1]?new H_(t[1].value):null,new H_(t[2].value))},1580310250:function(e,t){return new e_.IfcSystemFurnitureElementType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null,t[9])},3473067441:function(e,t){return new e_.IfcTask(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new e_.IfcIdentifier(t[5].value):null,t[6]?new e_.IfcText(t[6].value):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null,new e_.IfcBoolean(t[9].value),t[10]?new e_.IfcInteger(t[10].value):null,t[11]?new H_(t[11].value):null,t[12])},3206491090:function(e,t){return new e_.IfcTaskType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?new e_.IfcIdentifier(t[6].value):null,t[7]?new e_.IfcText(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null,t[9],t[10]?new e_.IfcLabel(t[10].value):null)},2387106220:function(e,t){return new e_.IfcTessellatedFaceSet(e,new H_(t[0].value))},1935646853:function(e,t){return new e_.IfcToroidalSurface(e,new H_(t[0].value),new e_.IfcPositiveLengthMeasure(t[1].value),new e_.IfcPositiveLengthMeasure(t[2].value))},2097647324:function(e,t){return new e_.IfcTransportElementType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null,t[9])},2916149573:function(e,t){return new e_.IfcTriangulatedFaceSet(e,new H_(t[0].value),t[1]?t[1].map((function(e){return new e_.IfcParameterValue(e.value)})):null,t[2]?new e_.IfcBoolean(t[2].value):null,t[3].map((function(e){return new e_.IfcPositiveInteger(e.value)})),t[4]?t[4].map((function(e){return new e_.IfcPositiveInteger(e.value)})):null)},336235671:function(e,t){return new e_.IfcWindowLiningProperties(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcPositiveLengthMeasure(t[4].value):null,t[5]?new e_.IfcNonNegativeLengthMeasure(t[5].value):null,t[6]?new e_.IfcNonNegativeLengthMeasure(t[6].value):null,t[7]?new e_.IfcNonNegativeLengthMeasure(t[7].value):null,t[8]?new e_.IfcNormalisedRatioMeasure(t[8].value):null,t[9]?new e_.IfcNormalisedRatioMeasure(t[9].value):null,t[10]?new e_.IfcNormalisedRatioMeasure(t[10].value):null,t[11]?new e_.IfcNormalisedRatioMeasure(t[11].value):null,t[12]?new H_(t[12].value):null,t[13]?new e_.IfcLengthMeasure(t[13].value):null,t[14]?new e_.IfcLengthMeasure(t[14].value):null,t[15]?new e_.IfcLengthMeasure(t[15].value):null)},512836454:function(e,t){return new e_.IfcWindowPanelProperties(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4],t[5],t[6]?new e_.IfcPositiveLengthMeasure(t[6].value):null,t[7]?new e_.IfcPositiveLengthMeasure(t[7].value):null,t[8]?new H_(t[8].value):null)},2296667514:function(e,t){return new e_.IfcActor(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,new H_(t[5].value))},1635779807:function(e,t){return new e_.IfcAdvancedBrep(e,new H_(t[0].value))},2603310189:function(e,t){return new e_.IfcAdvancedBrepWithVoids(e,new H_(t[0].value),t[1].map((function(e){return new H_(e.value)})))},1674181508:function(e,t){return new e_.IfcAnnotation(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null)},2887950389:function(e,t){return new e_.IfcBSplineSurface(e,new e_.IfcInteger(t[0].value),new e_.IfcInteger(t[1].value),t[2].map((function(e){return new H_(e.value)})),t[3],new e_.IfcLogical(t[4].value),new e_.IfcLogical(t[5].value),new e_.IfcLogical(t[6].value))},167062518:function(e,t){return new e_.IfcBSplineSurfaceWithKnots(e,new e_.IfcInteger(t[0].value),new e_.IfcInteger(t[1].value),t[2].map((function(e){return new H_(e.value)})),t[3],new e_.IfcLogical(t[4].value),new e_.IfcLogical(t[5].value),new e_.IfcLogical(t[6].value),t[7].map((function(e){return new e_.IfcInteger(e.value)})),t[8].map((function(e){return new e_.IfcInteger(e.value)})),t[9].map((function(e){return new e_.IfcParameterValue(e.value)})),t[10].map((function(e){return new e_.IfcParameterValue(e.value)})),t[11])},1334484129:function(e,t){return new e_.IfcBlock(e,new H_(t[0].value),new e_.IfcPositiveLengthMeasure(t[1].value),new e_.IfcPositiveLengthMeasure(t[2].value),new e_.IfcPositiveLengthMeasure(t[3].value))},3649129432:function(e,t){return new e_.IfcBooleanClippingResult(e,t[0],new H_(t[1].value),new H_(t[2].value))},1260505505:function(e,t){return new e_.IfcBoundedCurve(e)},4031249490:function(e,t){return new e_.IfcBuilding(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8],t[9]?new e_.IfcLengthMeasure(t[9].value):null,t[10]?new e_.IfcLengthMeasure(t[10].value):null,t[11]?new H_(t[11].value):null)},1950629157:function(e,t){return new e_.IfcBuildingElementType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null)},3124254112:function(e,t){return new e_.IfcBuildingStorey(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8],t[9]?new e_.IfcLengthMeasure(t[9].value):null)},2197970202:function(e,t){return new e_.IfcChimneyType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null,t[9])},2937912522:function(e,t){return new e_.IfcCircleHollowProfileDef(e,t[0],t[1]?new e_.IfcLabel(t[1].value):null,t[2]?new H_(t[2].value):null,new e_.IfcPositiveLengthMeasure(t[3].value),new e_.IfcPositiveLengthMeasure(t[4].value))},3893394355:function(e,t){return new e_.IfcCivilElementType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null)},300633059:function(e,t){return new e_.IfcColumnType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null,t[9])},3875453745:function(e,t){return new e_.IfcComplexPropertyTemplate(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5],t[6]?t[6].map((function(e){return new H_(e.value)})):null)},3732776249:function(e,t){return new e_.IfcCompositeCurve(e,t[0].map((function(e){return new H_(e.value)})),new e_.IfcLogical(t[1].value))},15328376:function(e,t){return new e_.IfcCompositeCurveOnSurface(e,t[0].map((function(e){return new H_(e.value)})),new e_.IfcLogical(t[1].value))},2510884976:function(e,t){return new e_.IfcConic(e,new H_(t[0].value))},2185764099:function(e,t){return new e_.IfcConstructionEquipmentResourceType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?new e_.IfcIdentifier(t[6].value):null,t[7]?new e_.IfcText(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null,t[9]?t[9].map((function(e){return new H_(e.value)})):null,t[10]?new H_(t[10].value):null,t[11])},4105962743:function(e,t){return new e_.IfcConstructionMaterialResourceType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?new e_.IfcIdentifier(t[6].value):null,t[7]?new e_.IfcText(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null,t[9]?t[9].map((function(e){return new H_(e.value)})):null,t[10]?new H_(t[10].value):null,t[11])},1525564444:function(e,t){return new e_.IfcConstructionProductResourceType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?new e_.IfcIdentifier(t[6].value):null,t[7]?new e_.IfcText(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null,t[9]?t[9].map((function(e){return new H_(e.value)})):null,t[10]?new H_(t[10].value):null,t[11])},2559216714:function(e,t){return new e_.IfcConstructionResource(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new e_.IfcIdentifier(t[5].value):null,t[6]?new e_.IfcText(t[6].value):null,t[7]?new H_(t[7].value):null,t[8]?t[8].map((function(e){return new H_(e.value)})):null,t[9]?new H_(t[9].value):null)},3293443760:function(e,t){return new e_.IfcControl(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new e_.IfcIdentifier(t[5].value):null)},3895139033:function(e,t){return new e_.IfcCostItem(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new e_.IfcIdentifier(t[5].value):null,t[6],t[7]?t[7].map((function(e){return new H_(e.value)})):null,t[8]?t[8].map((function(e){return new H_(e.value)})):null)},1419761937:function(e,t){return new e_.IfcCostSchedule(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new e_.IfcIdentifier(t[5].value):null,t[6],t[7]?new e_.IfcLabel(t[7].value):null,t[8]?new e_.IfcDateTime(t[8].value):null,t[9]?new e_.IfcDateTime(t[9].value):null)},1916426348:function(e,t){return new e_.IfcCoveringType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null,t[9])},3295246426:function(e,t){return new e_.IfcCrewResource(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new e_.IfcIdentifier(t[5].value):null,t[6]?new e_.IfcText(t[6].value):null,t[7]?new H_(t[7].value):null,t[8]?t[8].map((function(e){return new H_(e.value)})):null,t[9]?new H_(t[9].value):null,t[10])},1457835157:function(e,t){return new e_.IfcCurtainWallType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null,t[9])},1213902940:function(e,t){return new e_.IfcCylindricalSurface(e,new H_(t[0].value),new e_.IfcPositiveLengthMeasure(t[1].value))},3256556792:function(e,t){return new e_.IfcDistributionElementType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null)},3849074793:function(e,t){return new e_.IfcDistributionFlowElementType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null)},2963535650:function(e,t){return new e_.IfcDoorLiningProperties(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcPositiveLengthMeasure(t[4].value):null,t[5]?new e_.IfcNonNegativeLengthMeasure(t[5].value):null,t[6]?new e_.IfcPositiveLengthMeasure(t[6].value):null,t[7]?new e_.IfcNonNegativeLengthMeasure(t[7].value):null,t[8]?new e_.IfcNonNegativeLengthMeasure(t[8].value):null,t[9]?new e_.IfcLengthMeasure(t[9].value):null,t[10]?new e_.IfcLengthMeasure(t[10].value):null,t[11]?new e_.IfcLengthMeasure(t[11].value):null,t[12]?new e_.IfcPositiveLengthMeasure(t[12].value):null,t[13]?new e_.IfcPositiveLengthMeasure(t[13].value):null,t[14]?new H_(t[14].value):null,t[15]?new e_.IfcLengthMeasure(t[15].value):null,t[16]?new e_.IfcLengthMeasure(t[16].value):null)},1714330368:function(e,t){return new e_.IfcDoorPanelProperties(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcPositiveLengthMeasure(t[4].value):null,t[5],t[6]?new e_.IfcNormalisedRatioMeasure(t[6].value):null,t[7],t[8]?new H_(t[8].value):null)},2323601079:function(e,t){return new e_.IfcDoorType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null,t[9],t[10],t[11]?new e_.IfcBoolean(t[11].value):null,t[12]?new e_.IfcLabel(t[12].value):null)},445594917:function(e,t){return new e_.IfcDraughtingPreDefinedColour(e,new e_.IfcLabel(t[0].value))},4006246654:function(e,t){return new e_.IfcDraughtingPreDefinedCurveFont(e,new e_.IfcLabel(t[0].value))},1758889154:function(e,t){return new e_.IfcElement(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null)},4123344466:function(e,t){return new e_.IfcElementAssembly(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null,t[8],t[9])},2397081782:function(e,t){return new e_.IfcElementAssemblyType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null,t[9])},1623761950:function(e,t){return new e_.IfcElementComponent(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null)},2590856083:function(e,t){return new e_.IfcElementComponentType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null)},1704287377:function(e,t){return new e_.IfcEllipse(e,new H_(t[0].value),new e_.IfcPositiveLengthMeasure(t[1].value),new e_.IfcPositiveLengthMeasure(t[2].value))},2107101300:function(e,t){return new e_.IfcEnergyConversionDeviceType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null)},132023988:function(e,t){return new e_.IfcEngineType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null,t[9])},3174744832:function(e,t){return new e_.IfcEvaporativeCoolerType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null,t[9])},3390157468:function(e,t){return new e_.IfcEvaporatorType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null,t[9])},4148101412:function(e,t){return new e_.IfcEvent(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new e_.IfcIdentifier(t[5].value):null,t[6]?new e_.IfcText(t[6].value):null,t[7],t[8],t[9]?new e_.IfcLabel(t[9].value):null,t[10]?new H_(t[10].value):null)},2853485674:function(e,t){return new e_.IfcExternalSpatialStructureElement(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcLabel(t[7].value):null)},807026263:function(e,t){return new e_.IfcFacetedBrep(e,new H_(t[0].value))},3737207727:function(e,t){return new e_.IfcFacetedBrepWithVoids(e,new H_(t[0].value),t[1].map((function(e){return new H_(e.value)})))},647756555:function(e,t){return new e_.IfcFastener(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null,t[8])},2489546625:function(e,t){return new e_.IfcFastenerType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null,t[9])},2827207264:function(e,t){return new e_.IfcFeatureElement(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null)},2143335405:function(e,t){return new e_.IfcFeatureElementAddition(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null)},1287392070:function(e,t){return new e_.IfcFeatureElementSubtraction(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null)},3907093117:function(e,t){return new e_.IfcFlowControllerType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null)},3198132628:function(e,t){return new e_.IfcFlowFittingType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null)},3815607619:function(e,t){return new e_.IfcFlowMeterType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null,t[9])},1482959167:function(e,t){return new e_.IfcFlowMovingDeviceType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null)},1834744321:function(e,t){return new e_.IfcFlowSegmentType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null)},1339347760:function(e,t){return new e_.IfcFlowStorageDeviceType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null)},2297155007:function(e,t){return new e_.IfcFlowTerminalType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null)},3009222698:function(e,t){return new e_.IfcFlowTreatmentDeviceType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null)},1893162501:function(e,t){return new e_.IfcFootingType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null,t[9])},263784265:function(e,t){return new e_.IfcFurnishingElement(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null)},1509553395:function(e,t){return new e_.IfcFurniture(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null,t[8])},3493046030:function(e,t){return new e_.IfcGeographicElement(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null,t[8])},3009204131:function(e,t){return new e_.IfcGrid(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7].map((function(e){return new H_(e.value)})),t[8].map((function(e){return new H_(e.value)})),t[9]?t[9].map((function(e){return new H_(e.value)})):null,t[10])},2706460486:function(e,t){return new e_.IfcGroup(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null)},1251058090:function(e,t){return new e_.IfcHeatExchangerType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null,t[9])},1806887404:function(e,t){return new e_.IfcHumidifierType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null,t[9])},2571569899:function(e,t){return new e_.IfcIndexedPolyCurve(e,new H_(t[0].value),t[1]?t[1].map((function(e){return K_(2,e)})):null,t[2]?new e_.IfcBoolean(t[2].value):null)},3946677679:function(e,t){return new e_.IfcInterceptorType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null,t[9])},3113134337:function(e,t){return new e_.IfcIntersectionCurve(e,new H_(t[0].value),t[1].map((function(e){return new H_(e.value)})),t[2])},2391368822:function(e,t){return new e_.IfcInventory(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5],t[6]?new H_(t[6].value):null,t[7]?t[7].map((function(e){return new H_(e.value)})):null,t[8]?new e_.IfcDate(t[8].value):null,t[9]?new H_(t[9].value):null,t[10]?new H_(t[10].value):null)},4288270099:function(e,t){return new e_.IfcJunctionBoxType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null,t[9])},3827777499:function(e,t){return new e_.IfcLaborResource(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new e_.IfcIdentifier(t[5].value):null,t[6]?new e_.IfcText(t[6].value):null,t[7]?new H_(t[7].value):null,t[8]?t[8].map((function(e){return new H_(e.value)})):null,t[9]?new H_(t[9].value):null,t[10])},1051575348:function(e,t){return new e_.IfcLampType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null,t[9])},1161773419:function(e,t){return new e_.IfcLightFixtureType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null,t[9])},377706215:function(e,t){return new e_.IfcMechanicalFastener(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null,t[8]?new e_.IfcPositiveLengthMeasure(t[8].value):null,t[9]?new e_.IfcPositiveLengthMeasure(t[9].value):null,t[10])},2108223431:function(e,t){return new e_.IfcMechanicalFastenerType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null,t[9],t[10]?new e_.IfcPositiveLengthMeasure(t[10].value):null,t[11]?new e_.IfcPositiveLengthMeasure(t[11].value):null)},1114901282:function(e,t){return new e_.IfcMedicalDeviceType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null,t[9])},3181161470:function(e,t){return new e_.IfcMemberType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null,t[9])},977012517:function(e,t){return new e_.IfcMotorConnectionType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null,t[9])},4143007308:function(e,t){return new e_.IfcOccupant(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,new H_(t[5].value),t[6])},3588315303:function(e,t){return new e_.IfcOpeningElement(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null,t[8])},3079942009:function(e,t){return new e_.IfcOpeningStandardCase(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null,t[8])},2837617999:function(e,t){return new e_.IfcOutletType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null,t[9])},2382730787:function(e,t){return new e_.IfcPerformanceHistory(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new e_.IfcIdentifier(t[5].value):null,new e_.IfcLabel(t[6].value),t[7])},3566463478:function(e,t){return new e_.IfcPermeableCoveringProperties(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4],t[5],t[6]?new e_.IfcPositiveLengthMeasure(t[6].value):null,t[7]?new e_.IfcPositiveLengthMeasure(t[7].value):null,t[8]?new H_(t[8].value):null)},3327091369:function(e,t){return new e_.IfcPermit(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new e_.IfcIdentifier(t[5].value):null,t[6],t[7]?new e_.IfcLabel(t[7].value):null,t[8]?new e_.IfcText(t[8].value):null)},1158309216:function(e,t){return new e_.IfcPileType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null,t[9])},804291784:function(e,t){return new e_.IfcPipeFittingType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null,t[9])},4231323485:function(e,t){return new e_.IfcPipeSegmentType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null,t[9])},4017108033:function(e,t){return new e_.IfcPlateType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null,t[9])},2839578677:function(e,t){return new e_.IfcPolygonalFaceSet(e,new H_(t[0].value),t[1]?new e_.IfcBoolean(t[1].value):null,t[2].map((function(e){return new H_(e.value)})),t[3]?t[3].map((function(e){return new e_.IfcPositiveInteger(e.value)})):null)},3724593414:function(e,t){return new e_.IfcPolyline(e,t[0].map((function(e){return new H_(e.value)})))},3740093272:function(e,t){return new e_.IfcPort(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null)},2744685151:function(e,t){return new e_.IfcProcedure(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new e_.IfcIdentifier(t[5].value):null,t[6]?new e_.IfcText(t[6].value):null,t[7])},2904328755:function(e,t){return new e_.IfcProjectOrder(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new e_.IfcIdentifier(t[5].value):null,t[6],t[7]?new e_.IfcLabel(t[7].value):null,t[8]?new e_.IfcText(t[8].value):null)},3651124850:function(e,t){return new e_.IfcProjectionElement(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null,t[8])},1842657554:function(e,t){return new e_.IfcProtectiveDeviceType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null,t[9])},2250791053:function(e,t){return new e_.IfcPumpType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null,t[9])},2893384427:function(e,t){return new e_.IfcRailingType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null,t[9])},2324767716:function(e,t){return new e_.IfcRampFlightType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null,t[9])},1469900589:function(e,t){return new e_.IfcRampType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null,t[9])},683857671:function(e,t){return new e_.IfcRationalBSplineSurfaceWithKnots(e,new e_.IfcInteger(t[0].value),new e_.IfcInteger(t[1].value),t[2].map((function(e){return new H_(e.value)})),t[3],new e_.IfcLogical(t[4].value),new e_.IfcLogical(t[5].value),new e_.IfcLogical(t[6].value),t[7].map((function(e){return new e_.IfcInteger(e.value)})),t[8].map((function(e){return new e_.IfcInteger(e.value)})),t[9].map((function(e){return new e_.IfcParameterValue(e.value)})),t[10].map((function(e){return new e_.IfcParameterValue(e.value)})),t[11],t[12].map((function(e){return new e_.IfcReal(e.value)})))},3027567501:function(e,t){return new e_.IfcReinforcingElement(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null)},964333572:function(e,t){return new e_.IfcReinforcingElementType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null)},2320036040:function(e,t){return new e_.IfcReinforcingMesh(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null,t[9]?new e_.IfcPositiveLengthMeasure(t[9].value):null,t[10]?new e_.IfcPositiveLengthMeasure(t[10].value):null,t[11]?new e_.IfcPositiveLengthMeasure(t[11].value):null,t[12]?new e_.IfcPositiveLengthMeasure(t[12].value):null,t[13]?new e_.IfcAreaMeasure(t[13].value):null,t[14]?new e_.IfcAreaMeasure(t[14].value):null,t[15]?new e_.IfcPositiveLengthMeasure(t[15].value):null,t[16]?new e_.IfcPositiveLengthMeasure(t[16].value):null,t[17])},2310774935:function(e,t){return new e_.IfcReinforcingMeshType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null,t[9],t[10]?new e_.IfcPositiveLengthMeasure(t[10].value):null,t[11]?new e_.IfcPositiveLengthMeasure(t[11].value):null,t[12]?new e_.IfcPositiveLengthMeasure(t[12].value):null,t[13]?new e_.IfcPositiveLengthMeasure(t[13].value):null,t[14]?new e_.IfcAreaMeasure(t[14].value):null,t[15]?new e_.IfcAreaMeasure(t[15].value):null,t[16]?new e_.IfcPositiveLengthMeasure(t[16].value):null,t[17]?new e_.IfcPositiveLengthMeasure(t[17].value):null,t[18]?new e_.IfcLabel(t[18].value):null,t[19]?t[19].map((function(e){return K_(2,e)})):null)},160246688:function(e,t){return new e_.IfcRelAggregates(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,new H_(t[4].value),t[5].map((function(e){return new H_(e.value)})))},2781568857:function(e,t){return new e_.IfcRoofType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null,t[9])},1768891740:function(e,t){return new e_.IfcSanitaryTerminalType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null,t[9])},2157484638:function(e,t){return new e_.IfcSeamCurve(e,new H_(t[0].value),t[1].map((function(e){return new H_(e.value)})),t[2])},4074543187:function(e,t){return new e_.IfcShadingDeviceType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null,t[9])},4097777520:function(e,t){return new e_.IfcSite(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8],t[9]?new e_.IfcCompoundPlaneAngleMeasure(t[9]):null,t[10]?new e_.IfcCompoundPlaneAngleMeasure(t[10]):null,t[11]?new e_.IfcLengthMeasure(t[11].value):null,t[12]?new e_.IfcLabel(t[12].value):null,t[13]?new H_(t[13].value):null)},2533589738:function(e,t){return new e_.IfcSlabType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null,t[9])},1072016465:function(e,t){return new e_.IfcSolarDeviceType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null,t[9])},3856911033:function(e,t){return new e_.IfcSpace(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8],t[9],t[10]?new e_.IfcLengthMeasure(t[10].value):null)},1305183839:function(e,t){return new e_.IfcSpaceHeaterType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null,t[9])},3812236995:function(e,t){return new e_.IfcSpaceType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null,t[9],t[10]?new e_.IfcLabel(t[10].value):null)},3112655638:function(e,t){return new e_.IfcStackTerminalType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null,t[9])},1039846685:function(e,t){return new e_.IfcStairFlightType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null,t[9])},338393293:function(e,t){return new e_.IfcStairType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null,t[9])},682877961:function(e,t){return new e_.IfcStructuralAction(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,new H_(t[7].value),t[8],t[9]?new e_.IfcBoolean(t[9].value):null)},1179482911:function(e,t){return new e_.IfcStructuralConnection(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new H_(t[7].value):null)},1004757350:function(e,t){return new e_.IfcStructuralCurveAction(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,new H_(t[7].value),t[8],t[9]?new e_.IfcBoolean(t[9].value):null,t[10],t[11])},4243806635:function(e,t){return new e_.IfcStructuralCurveConnection(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new H_(t[7].value):null,new H_(t[8].value))},214636428:function(e,t){return new e_.IfcStructuralCurveMember(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7],new H_(t[8].value))},2445595289:function(e,t){return new e_.IfcStructuralCurveMemberVarying(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7],new H_(t[8].value))},2757150158:function(e,t){return new e_.IfcStructuralCurveReaction(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,new H_(t[7].value),t[8],t[9])},1807405624:function(e,t){return new e_.IfcStructuralLinearAction(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,new H_(t[7].value),t[8],t[9]?new e_.IfcBoolean(t[9].value):null,t[10],t[11])},1252848954:function(e,t){return new e_.IfcStructuralLoadGroup(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5],t[6],t[7],t[8]?new e_.IfcRatioMeasure(t[8].value):null,t[9]?new e_.IfcLabel(t[9].value):null)},2082059205:function(e,t){return new e_.IfcStructuralPointAction(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,new H_(t[7].value),t[8],t[9]?new e_.IfcBoolean(t[9].value):null)},734778138:function(e,t){return new e_.IfcStructuralPointConnection(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new H_(t[7].value):null,t[8]?new H_(t[8].value):null)},1235345126:function(e,t){return new e_.IfcStructuralPointReaction(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,new H_(t[7].value),t[8])},2986769608:function(e,t){return new e_.IfcStructuralResultGroup(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5],t[6]?new H_(t[6].value):null,new e_.IfcBoolean(t[7].value))},3657597509:function(e,t){return new e_.IfcStructuralSurfaceAction(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,new H_(t[7].value),t[8],t[9]?new e_.IfcBoolean(t[9].value):null,t[10],t[11])},1975003073:function(e,t){return new e_.IfcStructuralSurfaceConnection(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new H_(t[7].value):null)},148013059:function(e,t){return new e_.IfcSubContractResource(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new e_.IfcIdentifier(t[5].value):null,t[6]?new e_.IfcText(t[6].value):null,t[7]?new H_(t[7].value):null,t[8]?t[8].map((function(e){return new H_(e.value)})):null,t[9]?new H_(t[9].value):null,t[10])},3101698114:function(e,t){return new e_.IfcSurfaceFeature(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null,t[8])},2315554128:function(e,t){return new e_.IfcSwitchingDeviceType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null,t[9])},2254336722:function(e,t){return new e_.IfcSystem(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null)},413509423:function(e,t){return new e_.IfcSystemFurnitureElement(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null,t[8])},5716631:function(e,t){return new e_.IfcTankType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null,t[9])},3824725483:function(e,t){return new e_.IfcTendon(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null,t[9],t[10]?new e_.IfcPositiveLengthMeasure(t[10].value):null,t[11]?new e_.IfcAreaMeasure(t[11].value):null,t[12]?new e_.IfcForceMeasure(t[12].value):null,t[13]?new e_.IfcPressureMeasure(t[13].value):null,t[14]?new e_.IfcNormalisedRatioMeasure(t[14].value):null,t[15]?new e_.IfcPositiveLengthMeasure(t[15].value):null,t[16]?new e_.IfcPositiveLengthMeasure(t[16].value):null)},2347447852:function(e,t){return new e_.IfcTendonAnchor(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null,t[9])},3081323446:function(e,t){return new e_.IfcTendonAnchorType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null,t[9])},2415094496:function(e,t){return new e_.IfcTendonType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null,t[9],t[10]?new e_.IfcPositiveLengthMeasure(t[10].value):null,t[11]?new e_.IfcAreaMeasure(t[11].value):null,t[12]?new e_.IfcPositiveLengthMeasure(t[12].value):null)},1692211062:function(e,t){return new e_.IfcTransformerType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null,t[9])},1620046519:function(e,t){return new e_.IfcTransportElement(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null,t[8])},3593883385:function(e,t){return new e_.IfcTrimmedCurve(e,new H_(t[0].value),t[1].map((function(e){return new H_(e.value)})),t[2].map((function(e){return new H_(e.value)})),new e_.IfcBoolean(t[3].value),t[4])},1600972822:function(e,t){return new e_.IfcTubeBundleType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null,t[9])},1911125066:function(e,t){return new e_.IfcUnitaryEquipmentType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null,t[9])},728799441:function(e,t){return new e_.IfcValveType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null,t[9])},2391383451:function(e,t){return new e_.IfcVibrationIsolator(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null,t[8])},3313531582:function(e,t){return new e_.IfcVibrationIsolatorType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null,t[9])},2769231204:function(e,t){return new e_.IfcVirtualElement(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null)},926996030:function(e,t){return new e_.IfcVoidingFeature(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null,t[8])},1898987631:function(e,t){return new e_.IfcWallType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null,t[9])},1133259667:function(e,t){return new e_.IfcWasteTerminalType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null,t[9])},4009809668:function(e,t){return new e_.IfcWindowType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null,t[9],t[10],t[11]?new e_.IfcBoolean(t[11].value):null,t[12]?new e_.IfcLabel(t[12].value):null)},4088093105:function(e,t){return new e_.IfcWorkCalendar(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new e_.IfcIdentifier(t[5].value):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?t[7].map((function(e){return new H_(e.value)})):null,t[8])},1028945134:function(e,t){return new e_.IfcWorkControl(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new e_.IfcIdentifier(t[5].value):null,new e_.IfcDateTime(t[6].value),t[7]?t[7].map((function(e){return new H_(e.value)})):null,t[8]?new e_.IfcLabel(t[8].value):null,t[9]?new e_.IfcDuration(t[9].value):null,t[10]?new e_.IfcDuration(t[10].value):null,new e_.IfcDateTime(t[11].value),t[12]?new e_.IfcDateTime(t[12].value):null)},4218914973:function(e,t){return new e_.IfcWorkPlan(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new e_.IfcIdentifier(t[5].value):null,new e_.IfcDateTime(t[6].value),t[7]?t[7].map((function(e){return new H_(e.value)})):null,t[8]?new e_.IfcLabel(t[8].value):null,t[9]?new e_.IfcDuration(t[9].value):null,t[10]?new e_.IfcDuration(t[10].value):null,new e_.IfcDateTime(t[11].value),t[12]?new e_.IfcDateTime(t[12].value):null,t[13])},3342526732:function(e,t){return new e_.IfcWorkSchedule(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new e_.IfcIdentifier(t[5].value):null,new e_.IfcDateTime(t[6].value),t[7]?t[7].map((function(e){return new H_(e.value)})):null,t[8]?new e_.IfcLabel(t[8].value):null,t[9]?new e_.IfcDuration(t[9].value):null,t[10]?new e_.IfcDuration(t[10].value):null,new e_.IfcDateTime(t[11].value),t[12]?new e_.IfcDateTime(t[12].value):null,t[13])},1033361043:function(e,t){return new e_.IfcZone(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new e_.IfcLabel(t[5].value):null)},3821786052:function(e,t){return new e_.IfcActionRequest(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new e_.IfcIdentifier(t[5].value):null,t[6],t[7]?new e_.IfcLabel(t[7].value):null,t[8]?new e_.IfcText(t[8].value):null)},1411407467:function(e,t){return new e_.IfcAirTerminalBoxType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null,t[9])},3352864051:function(e,t){return new e_.IfcAirTerminalType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null,t[9])},1871374353:function(e,t){return new e_.IfcAirToAirHeatRecoveryType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null,t[9])},3460190687:function(e,t){return new e_.IfcAsset(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new e_.IfcIdentifier(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new H_(t[7].value):null,t[8]?new H_(t[8].value):null,t[9]?new H_(t[9].value):null,t[10]?new H_(t[10].value):null,t[11]?new H_(t[11].value):null,t[12]?new e_.IfcDate(t[12].value):null,t[13]?new H_(t[13].value):null)},1532957894:function(e,t){return new e_.IfcAudioVisualApplianceType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null,t[9])},1967976161:function(e,t){return new e_.IfcBSplineCurve(e,new e_.IfcInteger(t[0].value),t[1].map((function(e){return new H_(e.value)})),t[2],new e_.IfcLogical(t[3].value),new e_.IfcLogical(t[4].value))},2461110595:function(e,t){return new e_.IfcBSplineCurveWithKnots(e,new e_.IfcInteger(t[0].value),t[1].map((function(e){return new H_(e.value)})),t[2],new e_.IfcLogical(t[3].value),new e_.IfcLogical(t[4].value),t[5].map((function(e){return new e_.IfcInteger(e.value)})),t[6].map((function(e){return new e_.IfcParameterValue(e.value)})),t[7])},819618141:function(e,t){return new e_.IfcBeamType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null,t[9])},231477066:function(e,t){return new e_.IfcBoilerType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null,t[9])},1136057603:function(e,t){return new e_.IfcBoundaryCurve(e,t[0].map((function(e){return new H_(e.value)})),new e_.IfcLogical(t[1].value))},3299480353:function(e,t){return new e_.IfcBuildingElement(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null)},2979338954:function(e,t){return new e_.IfcBuildingElementPart(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null,t[8])},39481116:function(e,t){return new e_.IfcBuildingElementPartType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null,t[9])},1095909175:function(e,t){return new e_.IfcBuildingElementProxy(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null,t[8])},1909888760:function(e,t){return new e_.IfcBuildingElementProxyType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null,t[9])},1177604601:function(e,t){return new e_.IfcBuildingSystem(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5],t[6]?new e_.IfcLabel(t[6].value):null)},2188180465:function(e,t){return new e_.IfcBurnerType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null,t[9])},395041908:function(e,t){return new e_.IfcCableCarrierFittingType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null,t[9])},3293546465:function(e,t){return new e_.IfcCableCarrierSegmentType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null,t[9])},2674252688:function(e,t){return new e_.IfcCableFittingType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null,t[9])},1285652485:function(e,t){return new e_.IfcCableSegmentType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null,t[9])},2951183804:function(e,t){return new e_.IfcChillerType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null,t[9])},3296154744:function(e,t){return new e_.IfcChimney(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null,t[8])},2611217952:function(e,t){return new e_.IfcCircle(e,new H_(t[0].value),new e_.IfcPositiveLengthMeasure(t[1].value))},1677625105:function(e,t){return new e_.IfcCivilElement(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null)},2301859152:function(e,t){return new e_.IfcCoilType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null,t[9])},843113511:function(e,t){return new e_.IfcColumn(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null,t[8])},905975707:function(e,t){return new e_.IfcColumnStandardCase(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null,t[8])},400855858:function(e,t){return new e_.IfcCommunicationsApplianceType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null,t[9])},3850581409:function(e,t){return new e_.IfcCompressorType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null,t[9])},2816379211:function(e,t){return new e_.IfcCondenserType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null,t[9])},3898045240:function(e,t){return new e_.IfcConstructionEquipmentResource(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new e_.IfcIdentifier(t[5].value):null,t[6]?new e_.IfcText(t[6].value):null,t[7]?new H_(t[7].value):null,t[8]?t[8].map((function(e){return new H_(e.value)})):null,t[9]?new H_(t[9].value):null,t[10])},1060000209:function(e,t){return new e_.IfcConstructionMaterialResource(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new e_.IfcIdentifier(t[5].value):null,t[6]?new e_.IfcText(t[6].value):null,t[7]?new H_(t[7].value):null,t[8]?t[8].map((function(e){return new H_(e.value)})):null,t[9]?new H_(t[9].value):null,t[10])},488727124:function(e,t){return new e_.IfcConstructionProductResource(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new e_.IfcIdentifier(t[5].value):null,t[6]?new e_.IfcText(t[6].value):null,t[7]?new H_(t[7].value):null,t[8]?t[8].map((function(e){return new H_(e.value)})):null,t[9]?new H_(t[9].value):null,t[10])},335055490:function(e,t){return new e_.IfcCooledBeamType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null,t[9])},2954562838:function(e,t){return new e_.IfcCoolingTowerType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null,t[9])},1973544240:function(e,t){return new e_.IfcCovering(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null,t[8])},3495092785:function(e,t){return new e_.IfcCurtainWall(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null,t[8])},3961806047:function(e,t){return new e_.IfcDamperType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null,t[9])},1335981549:function(e,t){return new e_.IfcDiscreteAccessory(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null,t[8])},2635815018:function(e,t){return new e_.IfcDiscreteAccessoryType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null,t[9])},1599208980:function(e,t){return new e_.IfcDistributionChamberElementType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null,t[9])},2063403501:function(e,t){return new e_.IfcDistributionControlElementType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null)},1945004755:function(e,t){return new e_.IfcDistributionElement(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null)},3040386961:function(e,t){return new e_.IfcDistributionFlowElement(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null)},3041715199:function(e,t){return new e_.IfcDistributionPort(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7],t[8],t[9])},3205830791:function(e,t){return new e_.IfcDistributionSystem(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new e_.IfcLabel(t[5].value):null,t[6])},395920057:function(e,t){return new e_.IfcDoor(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null,t[8]?new e_.IfcPositiveLengthMeasure(t[8].value):null,t[9]?new e_.IfcPositiveLengthMeasure(t[9].value):null,t[10],t[11],t[12]?new e_.IfcLabel(t[12].value):null)},3242481149:function(e,t){return new e_.IfcDoorStandardCase(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null,t[8]?new e_.IfcPositiveLengthMeasure(t[8].value):null,t[9]?new e_.IfcPositiveLengthMeasure(t[9].value):null,t[10],t[11],t[12]?new e_.IfcLabel(t[12].value):null)},869906466:function(e,t){return new e_.IfcDuctFittingType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null,t[9])},3760055223:function(e,t){return new e_.IfcDuctSegmentType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null,t[9])},2030761528:function(e,t){return new e_.IfcDuctSilencerType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null,t[9])},663422040:function(e,t){return new e_.IfcElectricApplianceType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null,t[9])},2417008758:function(e,t){return new e_.IfcElectricDistributionBoardType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null,t[9])},3277789161:function(e,t){return new e_.IfcElectricFlowStorageDeviceType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null,t[9])},1534661035:function(e,t){return new e_.IfcElectricGeneratorType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null,t[9])},1217240411:function(e,t){return new e_.IfcElectricMotorType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null,t[9])},712377611:function(e,t){return new e_.IfcElectricTimeControlType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null,t[9])},1658829314:function(e,t){return new e_.IfcEnergyConversionDevice(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null)},2814081492:function(e,t){return new e_.IfcEngine(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null,t[8])},3747195512:function(e,t){return new e_.IfcEvaporativeCooler(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null,t[8])},484807127:function(e,t){return new e_.IfcEvaporator(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null,t[8])},1209101575:function(e,t){return new e_.IfcExternalSpatialElement(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8])},346874300:function(e,t){return new e_.IfcFanType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null,t[9])},1810631287:function(e,t){return new e_.IfcFilterType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null,t[9])},4222183408:function(e,t){return new e_.IfcFireSuppressionTerminalType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null,t[9])},2058353004:function(e,t){return new e_.IfcFlowController(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null)},4278956645:function(e,t){return new e_.IfcFlowFitting(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null)},4037862832:function(e,t){return new e_.IfcFlowInstrumentType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null,t[9])},2188021234:function(e,t){return new e_.IfcFlowMeter(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null,t[8])},3132237377:function(e,t){return new e_.IfcFlowMovingDevice(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null)},987401354:function(e,t){return new e_.IfcFlowSegment(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null)},707683696:function(e,t){return new e_.IfcFlowStorageDevice(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null)},2223149337:function(e,t){return new e_.IfcFlowTerminal(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null)},3508470533:function(e,t){return new e_.IfcFlowTreatmentDevice(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null)},900683007:function(e,t){return new e_.IfcFooting(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null,t[8])},3319311131:function(e,t){return new e_.IfcHeatExchanger(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null,t[8])},2068733104:function(e,t){return new e_.IfcHumidifier(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null,t[8])},4175244083:function(e,t){return new e_.IfcInterceptor(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null,t[8])},2176052936:function(e,t){return new e_.IfcJunctionBox(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null,t[8])},76236018:function(e,t){return new e_.IfcLamp(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null,t[8])},629592764:function(e,t){return new e_.IfcLightFixture(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null,t[8])},1437502449:function(e,t){return new e_.IfcMedicalDevice(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null,t[8])},1073191201:function(e,t){return new e_.IfcMember(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null,t[8])},1911478936:function(e,t){return new e_.IfcMemberStandardCase(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null,t[8])},2474470126:function(e,t){return new e_.IfcMotorConnection(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null,t[8])},144952367:function(e,t){return new e_.IfcOuterBoundaryCurve(e,t[0].map((function(e){return new H_(e.value)})),new e_.IfcLogical(t[1].value))},3694346114:function(e,t){return new e_.IfcOutlet(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null,t[8])},1687234759:function(e,t){return new e_.IfcPile(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null,t[8],t[9])},310824031:function(e,t){return new e_.IfcPipeFitting(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null,t[8])},3612865200:function(e,t){return new e_.IfcPipeSegment(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null,t[8])},3171933400:function(e,t){return new e_.IfcPlate(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null,t[8])},1156407060:function(e,t){return new e_.IfcPlateStandardCase(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null,t[8])},738039164:function(e,t){return new e_.IfcProtectiveDevice(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null,t[8])},655969474:function(e,t){return new e_.IfcProtectiveDeviceTrippingUnitType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null,t[9])},90941305:function(e,t){return new e_.IfcPump(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null,t[8])},2262370178:function(e,t){return new e_.IfcRailing(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null,t[8])},3024970846:function(e,t){return new e_.IfcRamp(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null,t[8])},3283111854:function(e,t){return new e_.IfcRampFlight(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null,t[8])},1232101972:function(e,t){return new e_.IfcRationalBSplineCurveWithKnots(e,new e_.IfcInteger(t[0].value),t[1].map((function(e){return new H_(e.value)})),t[2],new e_.IfcLogical(t[3].value),new e_.IfcLogical(t[4].value),t[5].map((function(e){return new e_.IfcInteger(e.value)})),t[6].map((function(e){return new e_.IfcParameterValue(e.value)})),t[7],t[8].map((function(e){return new e_.IfcReal(e.value)})))},979691226:function(e,t){return new e_.IfcReinforcingBar(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null,t[9]?new e_.IfcPositiveLengthMeasure(t[9].value):null,t[10]?new e_.IfcAreaMeasure(t[10].value):null,t[11]?new e_.IfcPositiveLengthMeasure(t[11].value):null,t[12],t[13])},2572171363:function(e,t){return new e_.IfcReinforcingBarType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null,t[9],t[10]?new e_.IfcPositiveLengthMeasure(t[10].value):null,t[11]?new e_.IfcAreaMeasure(t[11].value):null,t[12]?new e_.IfcPositiveLengthMeasure(t[12].value):null,t[13],t[14]?new e_.IfcLabel(t[14].value):null,t[15]?t[15].map((function(e){return K_(2,e)})):null)},2016517767:function(e,t){return new e_.IfcRoof(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null,t[8])},3053780830:function(e,t){return new e_.IfcSanitaryTerminal(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null,t[8])},1783015770:function(e,t){return new e_.IfcSensorType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null,t[9])},1329646415:function(e,t){return new e_.IfcShadingDevice(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null,t[8])},1529196076:function(e,t){return new e_.IfcSlab(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null,t[8])},3127900445:function(e,t){return new e_.IfcSlabElementedCase(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null,t[8])},3027962421:function(e,t){return new e_.IfcSlabStandardCase(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null,t[8])},3420628829:function(e,t){return new e_.IfcSolarDevice(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null,t[8])},1999602285:function(e,t){return new e_.IfcSpaceHeater(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null,t[8])},1404847402:function(e,t){return new e_.IfcStackTerminal(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null,t[8])},331165859:function(e,t){return new e_.IfcStair(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null,t[8])},4252922144:function(e,t){return new e_.IfcStairFlight(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null,t[8]?new e_.IfcInteger(t[8].value):null,t[9]?new e_.IfcInteger(t[9].value):null,t[10]?new e_.IfcPositiveLengthMeasure(t[10].value):null,t[11]?new e_.IfcPositiveLengthMeasure(t[11].value):null,t[12])},2515109513:function(e,t){return new e_.IfcStructuralAnalysisModel(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5],t[6]?new H_(t[6].value):null,t[7]?t[7].map((function(e){return new H_(e.value)})):null,t[8]?t[8].map((function(e){return new H_(e.value)})):null,t[9]?new H_(t[9].value):null)},385403989:function(e,t){return new e_.IfcStructuralLoadCase(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5],t[6],t[7],t[8]?new e_.IfcRatioMeasure(t[8].value):null,t[9]?new e_.IfcLabel(t[9].value):null,t[10]?t[10].map((function(e){return new e_.IfcRatioMeasure(e.value)})):null)},1621171031:function(e,t){return new e_.IfcStructuralPlanarAction(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,new H_(t[7].value),t[8],t[9]?new e_.IfcBoolean(t[9].value):null,t[10],t[11])},1162798199:function(e,t){return new e_.IfcSwitchingDevice(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null,t[8])},812556717:function(e,t){return new e_.IfcTank(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null,t[8])},3825984169:function(e,t){return new e_.IfcTransformer(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null,t[8])},3026737570:function(e,t){return new e_.IfcTubeBundle(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null,t[8])},3179687236:function(e,t){return new e_.IfcUnitaryControlElementType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null,t[9])},4292641817:function(e,t){return new e_.IfcUnitaryEquipment(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null,t[8])},4207607924:function(e,t){return new e_.IfcValve(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null,t[8])},2391406946:function(e,t){return new e_.IfcWall(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null,t[8])},4156078855:function(e,t){return new e_.IfcWallElementedCase(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null,t[8])},3512223829:function(e,t){return new e_.IfcWallStandardCase(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null,t[8])},4237592921:function(e,t){return new e_.IfcWasteTerminal(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null,t[8])},3304561284:function(e,t){return new e_.IfcWindow(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null,t[8]?new e_.IfcPositiveLengthMeasure(t[8].value):null,t[9]?new e_.IfcPositiveLengthMeasure(t[9].value):null,t[10],t[11],t[12]?new e_.IfcLabel(t[12].value):null)},486154966:function(e,t){return new e_.IfcWindowStandardCase(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null,t[8]?new e_.IfcPositiveLengthMeasure(t[8].value):null,t[9]?new e_.IfcPositiveLengthMeasure(t[9].value):null,t[10],t[11],t[12]?new e_.IfcLabel(t[12].value):null)},2874132201:function(e,t){return new e_.IfcActuatorType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null,t[9])},1634111441:function(e,t){return new e_.IfcAirTerminal(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null,t[8])},177149247:function(e,t){return new e_.IfcAirTerminalBox(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null,t[8])},2056796094:function(e,t){return new e_.IfcAirToAirHeatRecovery(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null,t[8])},3001207471:function(e,t){return new e_.IfcAlarmType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null,t[9])},277319702:function(e,t){return new e_.IfcAudioVisualAppliance(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null,t[8])},753842376:function(e,t){return new e_.IfcBeam(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null,t[8])},2906023776:function(e,t){return new e_.IfcBeamStandardCase(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null,t[8])},32344328:function(e,t){return new e_.IfcBoiler(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null,t[8])},2938176219:function(e,t){return new e_.IfcBurner(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null,t[8])},635142910:function(e,t){return new e_.IfcCableCarrierFitting(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null,t[8])},3758799889:function(e,t){return new e_.IfcCableCarrierSegment(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null,t[8])},1051757585:function(e,t){return new e_.IfcCableFitting(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null,t[8])},4217484030:function(e,t){return new e_.IfcCableSegment(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null,t[8])},3902619387:function(e,t){return new e_.IfcChiller(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null,t[8])},639361253:function(e,t){return new e_.IfcCoil(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null,t[8])},3221913625:function(e,t){return new e_.IfcCommunicationsAppliance(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null,t[8])},3571504051:function(e,t){return new e_.IfcCompressor(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null,t[8])},2272882330:function(e,t){return new e_.IfcCondenser(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null,t[8])},578613899:function(e,t){return new e_.IfcControllerType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null,t[9])},4136498852:function(e,t){return new e_.IfcCooledBeam(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null,t[8])},3640358203:function(e,t){return new e_.IfcCoolingTower(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null,t[8])},4074379575:function(e,t){return new e_.IfcDamper(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null,t[8])},1052013943:function(e,t){return new e_.IfcDistributionChamberElement(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null,t[8])},562808652:function(e,t){return new e_.IfcDistributionCircuit(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new e_.IfcLabel(t[5].value):null,t[6])},1062813311:function(e,t){return new e_.IfcDistributionControlElement(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null)},342316401:function(e,t){return new e_.IfcDuctFitting(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null,t[8])},3518393246:function(e,t){return new e_.IfcDuctSegment(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null,t[8])},1360408905:function(e,t){return new e_.IfcDuctSilencer(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null,t[8])},1904799276:function(e,t){return new e_.IfcElectricAppliance(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null,t[8])},862014818:function(e,t){return new e_.IfcElectricDistributionBoard(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null,t[8])},3310460725:function(e,t){return new e_.IfcElectricFlowStorageDevice(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null,t[8])},264262732:function(e,t){return new e_.IfcElectricGenerator(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null,t[8])},402227799:function(e,t){return new e_.IfcElectricMotor(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null,t[8])},1003880860:function(e,t){return new e_.IfcElectricTimeControl(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null,t[8])},3415622556:function(e,t){return new e_.IfcFan(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null,t[8])},819412036:function(e,t){return new e_.IfcFilter(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null,t[8])},1426591983:function(e,t){return new e_.IfcFireSuppressionTerminal(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null,t[8])},182646315:function(e,t){return new e_.IfcFlowInstrument(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null,t[8])},2295281155:function(e,t){return new e_.IfcProtectiveDeviceTrippingUnit(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null,t[8])},4086658281:function(e,t){return new e_.IfcSensor(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null,t[8])},630975310:function(e,t){return new e_.IfcUnitaryControlElement(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null,t[8])},4288193352:function(e,t){return new e_.IfcActuator(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null,t[8])},3087945054:function(e,t){return new e_.IfcAlarm(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null,t[8])},25142252:function(e,t){return new e_.IfcController(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null,t[8])}},j_[2]={618182010:[912023232,3355820592],411424972:[602808272],4037036970:[2069777674,1387855156,3367102660,1560379544],1387855156:[2069777674],2859738748:[1981873012,775493141,2732653382,45288368,2614616156],2614616156:[45288368],1959218052:[2251480897,3368373690],1785450214:[3057273783],1466758467:[3843373140],4294318154:[1154170062,747523909,2655187982],3200245327:[3732053477,647927063,3452421091,3548104201,1040185647,2242383968],760658860:[2852063980,3708119e3,1838606355,164193824,552965576,2235152071,3303938423,1847252529,248100487],248100487:[1847252529],2235152071:[552965576],1507914824:[3404854881,3079605661,1303795690],1918398963:[2713554722,2889183280,3050246964,448429030],3701648758:[2624227202,178086475],2483315170:[3021840470,825690147,2405470396,3252649465,931644368,2093928680,2044713172,2226359599],2226359599:[825690147,2405470396,3252649465,931644368,2093928680,2044713172],677532197:[4006246654,2559016684,445594917,759155922,1983826977,1775413392,3727388367,3570813810,3510044353,2367409068,1105321065,776857604,3264961684,3285139300,3611470254,1210645708,2133299955,1437953363,2552916305,1742049831,280115917,1640371178,2636378356,597895409,3905492369,616511568,626085974,1351298697,1878645084,846575682,1607154358,3303107099],2022622350:[1304840413],3119450353:[738692330,3800577675,1447204868,1300840506],2095639259:[673634403,2022407955],3958567839:[572779678,1484403080,2835456948,2937912522,1383045692,2898889636,3207858831,2543172580,427810014,2715220739,3071757647,2770003689,2778083089,3615266464,2529465313,2998442950,3632507154,1485152156,3150382593,1310608509,2705031697,3798115385],986844984:[2542286263,110355661,3650150729,941946838,2752243245,4166981789,871118103,3692461612,2598011224,4165799628,2042790032,1580146022,3778827333,2802850158,3265635763,297599258,3710013099],1076942058:[3049322572,2830218821,1735638870,4240577450,3982875396],3377609919:[4142052618,3448662350],3008791417:[2347385850,315944413,374418227,2047409740,32440307,2611217952,1704287377,2510884976,1232101972,2461110595,1967976161,3593883385,3724593414,2571569899,144952367,1136057603,15328376,3732776249,1260505505,2157484638,3113134337,699246055,1682466193,3505215534,3388369263,F_,2601014836,1334484129,451544542,3626867408,4158566097,2798486643,2506170314,816062949,2485617015,1416205885,3331915920,3486308946,3749851601,59481748,2059837836,1675464909,574549367,2581212453,3649129432,2736907675,669184980,1417489154,3124975700,4282788508,2839578677,2916149573,2387106220,2294589976,178912537,901063453,1213902940,1935646853,4015995234,220341763,2777663545,683857671,167062518,2887950389,3454111270,2629017746,2827736869,4182860854,4124788165,2809605785,230924584,2513912981,3737207727,807026263,2603310189,1635779807,1425443689,2147822146,1096409881,1260650574,2028607225,3243963512,1856042241,2652556860,2804161546,477187591,2247615214,723233188,4124623270,1509187699,1123145078,1423911732,4022376103,2067069095,603570806,1663979128,2740243338,3125803723,4261334040,2004835150,3422422726,1520743889,4266656042,2604431987,125510826,1402838566,2713105998,2775532180,812098782,987898635,3590301190,2453401579,2519244187,1472233963,2759199220,2924175390,1008929658,803316827,1809719519,3406155212,3008276851,2556980723,2233826070,1029017970,476780140,3900360178,2205249479,2665983363,370225590,1907098498,2799835756,1377556343,3958052878],2439245199:[1608871552,2943643501,148025276,1411181986,853536259,1437805879,770865208,539742890,3869604511],2341007311:[781010003,307848117,4186316022,1462361463,693640335,160246688,1401173127,750771296,3268803585,2551354335,2565941209,1521410863,3523091289,3451746338,366585022,4122056220,1245217292,427948657,279856033,3940055652,2802773753,886880790,3242617779,504942748,1638771189,2127690289,3190031847,4201705270,3678494232,3945020480,1204542856,826625072,2655215786,3840914261,982818633,2728634034,919958153,4095574036,1865459582,205026976,2857406711,4278684876,1027710054,1307041759,2495723537,1683148259,3939117080,478536968,3875453745,3663146110,3521284610,492091185,1482703590,1451395588,3566463478,1714330368,2963535650,512836454,336235671,3765753017,3967405729,1883228015,2090586900,3357820518,1680319473,B_,2515109513,562808652,3205830791,1177604601,O_,2254336722,2986769608,385403989,1252848954,2391368822,2706460486,3821786052,3342526732,4218914973,1028945134,4088093105,2904328755,3327091369,2382730787,1419761937,3895139033,3293443760,4143007308,2296667514,488727124,1060000209,3898045240,148013059,3827777499,3295246426,2559216714,2914609552,3041715199,L_,x_,25142252,h_,4288193352,630975310,4086658281,2295281155,182646315,1062813311,1052013943,819412036,1360408905,4175244083,3508470533,1426591983,1904799276,3221913625,277319702,1634111441,4237592921,1404847402,1999602285,3053780830,3694346114,1437502449,629592764,76236018,2223149337,3310460725,w_,707683696,3518393246,4217484030,3758799889,3612865200,987401354,I_,3571504051,90941305,3132237377,342316401,1051757585,635142910,310824031,2176052936,4278956645,1003880860,862014818,4074379575,177149247,m_,1162798199,738039164,2188021234,2058353004,402227799,264262732,3640358203,4136498852,2272882330,y_,3902619387,2938176219,32344328,2056796094,4292641817,3026737570,3825984169,3420628829,2474470126,2068733104,3319311131,484807127,3747195512,2814081492,1658829314,3040386961,1945004755,1677625105,2906023776,g_,486154966,3304561284,3512223829,4156078855,E_,4252922144,331165859,3027962421,3127900445,b_,1329646415,D_,3283111854,P_,2262370178,1156407060,R_,C_,1911478936,1073191201,900683007,3242481149,__,3495092785,1973544240,905975707,843113511,3296154744,1095909175,3299480353,2769231204,1620046519,3493046030,413509423,1509553395,263784265,3101698114,926996030,3079942009,3588315303,1287392070,3651124850,2143335405,2827207264,1335981549,2979338954,2391383451,979691226,2347447852,T_,2320036040,3027567501,377706215,647756555,1623761950,4123344466,1758889154,1674181508,1975003073,734778138,4243806635,1179482911,2445595289,214636428,2218152070,3979015343,530289379,3136571912,1621171031,3657597509,2082059205,1807405624,1004757350,682877961,1235345126,2757150158,603775116,3689010777,3544373492,1209101575,2853485674,463610769,S_,N_,3124254112,4031249490,2706606064,1412071761,3219374653,4208778838,2744685151,4148101412,M_,2945172077,3888040117,653396225,103090709,3419103109,1525564444,4105962743,2185764099,4095615324,428585644,1815067380,2574617495,3698973494,2481509218,3812236995,3893378262,710998568,2635815018,39481116,3313531582,2572171363,2415094496,3081323446,2310774935,964333572,2108223431,2489546625,2590856083,2397081782,578613899,3001207471,2874132201,3179687236,1783015770,655969474,4037862832,2063403501,1599208980,1810631287,2030761528,3946677679,3009222698,4222183408,663422040,400855858,1532957894,3352864051,1133259667,3112655638,1305183839,1768891740,2837617999,1114901282,1161773419,1051575348,2297155007,3277789161,5716631,1339347760,3760055223,1285652485,3293546465,4231323485,1834744321,346874300,3850581409,2250791053,1482959167,869906466,2674252688,395041908,804291784,4288270099,3198132628,712377611,2417008758,3961806047,1411407467,728799441,2315554128,1842657554,3815607619,3907093117,1217240411,1534661035,2954562838,335055490,2816379211,2301859152,2951183804,2188180465,231477066,1871374353,1911125066,1600972822,1692211062,1072016465,977012517,1806887404,1251058090,3390157468,3174744832,132023988,2107101300,3849074793,3256556792,3893394355,1909888760,819618141,4009809668,1898987631,338393293,1039846685,2533589738,4074543187,2781568857,1469900589,2324767716,2893384427,4017108033,1158309216,3181161470,1893162501,2323601079,1457835157,1916426348,300633059,2197970202,1950629157,2097647324,4095422895,1580310250,1268542332,4238390223,339256511,526551008,1299126871,2347495698,3206491090,569719735,4024345920,3736923433,1628702193,219451334],1054537805:[1042787934,1585845231,211053100,1236880293,2771591690,1549132990],3982875396:[1735638870,4240577450],2273995522:[2609359061,4219587988],2162789131:[2934153892,1190533807,1597423693,1973038258,2473145415,2668620305,1595516126,3408363356,2525727697,609421318,3478079324],609421318:[2934153892,1190533807,1597423693,1973038258,2473145415,2668620305,1595516126,3408363356,2525727697],2525727697:[1190533807,1597423693,1973038258,2473145415,2668620305,1595516126,3408363356],2830218821:[3049322572],846575682:[1878645084],626085974:[597895409,3905492369,616511568],1549132990:[2771591690],280115917:[2133299955,1437953363,2552916305,1742049831],3101149627:[3413951693,3741457305],1377556343:[2519244187,1472233963,2759199220,2924175390,1008929658,803316827,1809719519,3406155212,3008276851,2556980723,2233826070,1029017970,476780140,3900360178,2205249479,2665983363,370225590,1907098498,2799835756],2799835756:[1907098498],3798115385:[2705031697],1310608509:[3150382593],3264961684:[776857604],370225590:[2205249479,2665983363],2889183280:[2713554722],3632507154:[2998442950],3900360178:[2233826070,1029017970,476780140],297599258:[2802850158,3265635763],2556980723:[3406155212,3008276851],1809719519:[803316827],3008276851:[3406155212],3448662350:[4142052618],2453401579:[315944413,374418227,2047409740,32440307,2611217952,1704287377,2510884976,1232101972,2461110595,1967976161,3593883385,3724593414,2571569899,144952367,1136057603,15328376,3732776249,1260505505,2157484638,3113134337,699246055,1682466193,3505215534,3388369263,F_,2601014836,1334484129,451544542,3626867408,4158566097,2798486643,2506170314,816062949,2485617015,1416205885,3331915920,3486308946,3749851601,59481748,2059837836,1675464909,574549367,2581212453,3649129432,2736907675,669184980,1417489154,3124975700,4282788508,2839578677,2916149573,2387106220,2294589976,178912537,901063453,1213902940,1935646853,4015995234,220341763,2777663545,683857671,167062518,2887950389,3454111270,2629017746,2827736869,4182860854,4124788165,2809605785,230924584,2513912981,3737207727,807026263,2603310189,1635779807,1425443689,2147822146,1096409881,1260650574,2028607225,3243963512,1856042241,2652556860,2804161546,477187591,2247615214,723233188,4124623270,1509187699,1123145078,1423911732,4022376103,2067069095,603570806,1663979128,2740243338,3125803723,4261334040,2004835150,3422422726,1520743889,4266656042,2604431987,125510826,1402838566,2713105998,2775532180,812098782,987898635,3590301190],3590301190:[987898635],812098782:[2713105998,2775532180],1437953363:[2133299955],1402838566:[3422422726,1520743889,4266656042,2604431987,125510826],1520743889:[3422422726],1008929658:[1472233963,2759199220,2924175390],3079605661:[3404854881],219451334:[B_,2515109513,562808652,3205830791,1177604601,O_,2254336722,2986769608,385403989,1252848954,2391368822,2706460486,3821786052,3342526732,4218914973,1028945134,4088093105,2904328755,3327091369,2382730787,1419761937,3895139033,3293443760,4143007308,2296667514,488727124,1060000209,3898045240,148013059,3827777499,3295246426,2559216714,2914609552,3041715199,L_,x_,25142252,h_,4288193352,630975310,4086658281,2295281155,182646315,1062813311,1052013943,819412036,1360408905,4175244083,3508470533,1426591983,1904799276,3221913625,277319702,1634111441,4237592921,1404847402,1999602285,3053780830,3694346114,1437502449,629592764,76236018,2223149337,3310460725,w_,707683696,3518393246,4217484030,3758799889,3612865200,987401354,I_,3571504051,90941305,3132237377,342316401,1051757585,635142910,310824031,2176052936,4278956645,1003880860,862014818,4074379575,177149247,m_,1162798199,738039164,2188021234,2058353004,402227799,264262732,3640358203,4136498852,2272882330,y_,3902619387,2938176219,32344328,2056796094,4292641817,3026737570,3825984169,3420628829,2474470126,2068733104,3319311131,484807127,3747195512,2814081492,1658829314,3040386961,1945004755,1677625105,2906023776,g_,486154966,3304561284,3512223829,4156078855,E_,4252922144,331165859,3027962421,3127900445,b_,1329646415,D_,3283111854,P_,2262370178,1156407060,R_,C_,1911478936,1073191201,900683007,3242481149,__,3495092785,1973544240,905975707,843113511,3296154744,1095909175,3299480353,2769231204,1620046519,3493046030,413509423,1509553395,263784265,3101698114,926996030,3079942009,3588315303,1287392070,3651124850,2143335405,2827207264,1335981549,2979338954,2391383451,979691226,2347447852,T_,2320036040,3027567501,377706215,647756555,1623761950,4123344466,1758889154,1674181508,1975003073,734778138,4243806635,1179482911,2445595289,214636428,2218152070,3979015343,530289379,3136571912,1621171031,3657597509,2082059205,1807405624,1004757350,682877961,1235345126,2757150158,603775116,3689010777,3544373492,1209101575,2853485674,463610769,S_,N_,3124254112,4031249490,2706606064,1412071761,3219374653,4208778838,2744685151,4148101412,M_,2945172077,3888040117,653396225,103090709,3419103109,1525564444,4105962743,2185764099,4095615324,428585644,1815067380,2574617495,3698973494,2481509218,3812236995,3893378262,710998568,2635815018,39481116,3313531582,2572171363,2415094496,3081323446,2310774935,964333572,2108223431,2489546625,2590856083,2397081782,578613899,3001207471,2874132201,3179687236,1783015770,655969474,4037862832,2063403501,1599208980,1810631287,2030761528,3946677679,3009222698,4222183408,663422040,400855858,1532957894,3352864051,1133259667,3112655638,1305183839,1768891740,2837617999,1114901282,1161773419,1051575348,2297155007,3277789161,5716631,1339347760,3760055223,1285652485,3293546465,4231323485,1834744321,346874300,3850581409,2250791053,1482959167,869906466,2674252688,395041908,804291784,4288270099,3198132628,712377611,2417008758,3961806047,1411407467,728799441,2315554128,1842657554,3815607619,3907093117,1217240411,1534661035,2954562838,335055490,2816379211,2301859152,2951183804,2188180465,231477066,1871374353,1911125066,1600972822,1692211062,1072016465,977012517,1806887404,1251058090,3390157468,3174744832,132023988,2107101300,3849074793,3256556792,3893394355,1909888760,819618141,4009809668,1898987631,338393293,1039846685,2533589738,4074543187,2781568857,1469900589,2324767716,2893384427,4017108033,1158309216,3181161470,1893162501,2323601079,1457835157,1916426348,300633059,2197970202,1950629157,2097647324,4095422895,1580310250,1268542332,4238390223,339256511,526551008,1299126871,2347495698,3206491090,569719735,4024345920,3736923433,1628702193],2529465313:[572779678,1484403080,2835456948,2937912522,1383045692,2898889636,3207858831,2543172580,427810014,2715220739,3071757647,2770003689,2778083089,3615266464],2004835150:[2740243338,3125803723,4261334040],1663979128:[603570806],2067069095:[1123145078,1423911732,4022376103],3727388367:[4006246654,2559016684,445594917,759155922,1983826977,1775413392],3778827333:[4165799628,2042790032,1580146022],1775413392:[1983826977],2598011224:[2542286263,110355661,3650150729,941946838,2752243245,4166981789,871118103,3692461612],1680319473:[3875453745,3663146110,3521284610,492091185,1482703590,1451395588,3566463478,1714330368,2963535650,512836454,336235671,3765753017,3967405729,1883228015,2090586900,3357820518],3357820518:[1451395588,3566463478,1714330368,2963535650,512836454,336235671,3765753017,3967405729,1883228015,2090586900],1482703590:[3875453745,3663146110,3521284610,492091185],2090586900:[1883228015],3615266464:[2770003689,2778083089],478536968:[781010003,307848117,4186316022,1462361463,693640335,160246688,1401173127,750771296,3268803585,2551354335,2565941209,1521410863,3523091289,3451746338,366585022,4122056220,1245217292,427948657,279856033,3940055652,2802773753,886880790,3242617779,504942748,1638771189,2127690289,3190031847,4201705270,3678494232,3945020480,1204542856,826625072,2655215786,3840914261,982818633,2728634034,919958153,4095574036,1865459582,205026976,2857406711,4278684876,1027710054,1307041759,2495723537,1683148259,3939117080],3692461612:[110355661,3650150729,941946838,2752243245,4166981789,871118103],723233188:[3737207727,807026263,2603310189,1635779807,1425443689,2147822146,1096409881,1260650574,2028607225,3243963512,1856042241,2652556860,2804161546,477187591,2247615214],2473145415:[1973038258],1597423693:[1190533807],2513912981:[1213902940,1935646853,4015995234,220341763,2777663545,683857671,167062518,2887950389,3454111270,2629017746,2827736869,4182860854,4124788165,2809605785,230924584],2247615214:[2028607225,3243963512,1856042241,2652556860,2804161546,477187591],1260650574:[1096409881],230924584:[4124788165,2809605785],901063453:[2839578677,2916149573,2387106220,2294589976,178912537],4282788508:[3124975700],1628702193:[1525564444,4105962743,2185764099,4095615324,428585644,1815067380,2574617495,3698973494,2481509218,3812236995,3893378262,710998568,2635815018,39481116,3313531582,2572171363,2415094496,3081323446,2310774935,964333572,2108223431,2489546625,2590856083,2397081782,578613899,3001207471,2874132201,3179687236,1783015770,655969474,4037862832,2063403501,1599208980,1810631287,2030761528,3946677679,3009222698,4222183408,663422040,400855858,1532957894,3352864051,1133259667,3112655638,1305183839,1768891740,2837617999,1114901282,1161773419,1051575348,2297155007,3277789161,5716631,1339347760,3760055223,1285652485,3293546465,4231323485,1834744321,346874300,3850581409,2250791053,1482959167,869906466,2674252688,395041908,804291784,4288270099,3198132628,712377611,2417008758,3961806047,1411407467,728799441,2315554128,1842657554,3815607619,3907093117,1217240411,1534661035,2954562838,335055490,2816379211,2301859152,2951183804,2188180465,231477066,1871374353,1911125066,1600972822,1692211062,1072016465,977012517,1806887404,1251058090,3390157468,3174744832,132023988,2107101300,3849074793,3256556792,3893394355,1909888760,819618141,4009809668,1898987631,338393293,1039846685,2533589738,4074543187,2781568857,1469900589,2324767716,2893384427,4017108033,1158309216,3181161470,1893162501,2323601079,1457835157,1916426348,300633059,2197970202,1950629157,2097647324,4095422895,1580310250,1268542332,4238390223,339256511,526551008,1299126871,2347495698,3206491090,569719735,4024345920,3736923433],3736923433:[3206491090,569719735,4024345920],2347495698:[2481509218,3812236995,3893378262,710998568,2635815018,39481116,3313531582,2572171363,2415094496,3081323446,2310774935,964333572,2108223431,2489546625,2590856083,2397081782,578613899,3001207471,2874132201,3179687236,1783015770,655969474,4037862832,2063403501,1599208980,1810631287,2030761528,3946677679,3009222698,4222183408,663422040,400855858,1532957894,3352864051,1133259667,3112655638,1305183839,1768891740,2837617999,1114901282,1161773419,1051575348,2297155007,3277789161,5716631,1339347760,3760055223,1285652485,3293546465,4231323485,1834744321,346874300,3850581409,2250791053,1482959167,869906466,2674252688,395041908,804291784,4288270099,3198132628,712377611,2417008758,3961806047,1411407467,728799441,2315554128,1842657554,3815607619,3907093117,1217240411,1534661035,2954562838,335055490,2816379211,2301859152,2951183804,2188180465,231477066,1871374353,1911125066,1600972822,1692211062,1072016465,977012517,1806887404,1251058090,3390157468,3174744832,132023988,2107101300,3849074793,3256556792,3893394355,1909888760,819618141,4009809668,1898987631,338393293,1039846685,2533589738,4074543187,2781568857,1469900589,2324767716,2893384427,4017108033,1158309216,3181161470,1893162501,2323601079,1457835157,1916426348,300633059,2197970202,1950629157,2097647324,4095422895,1580310250,1268542332,4238390223,339256511,526551008,1299126871],3698973494:[1525564444,4105962743,2185764099,4095615324,428585644,1815067380,2574617495],2736907675:[3649129432],4182860854:[683857671,167062518,2887950389,3454111270,2629017746,2827736869],574549367:[2059837836,1675464909],59481748:[1416205885,3331915920,3486308946,3749851601],3749851601:[3486308946],3331915920:[1416205885],1383045692:[2937912522],2485617015:[816062949],2574617495:[1525564444,4105962743,2185764099,4095615324,428585644,1815067380],3419103109:[653396225,103090709],2506170314:[1334484129,451544542,3626867408,4158566097,2798486643],2601014836:[2611217952,1704287377,2510884976,1232101972,2461110595,1967976161,3593883385,3724593414,2571569899,144952367,1136057603,15328376,3732776249,1260505505,2157484638,3113134337,699246055,1682466193,3505215534,3388369263,F_],339256511:[2635815018,39481116,3313531582,2572171363,2415094496,3081323446,2310774935,964333572,2108223431,2489546625,2590856083,2397081782,578613899,3001207471,2874132201,3179687236,1783015770,655969474,4037862832,2063403501,1599208980,1810631287,2030761528,3946677679,3009222698,4222183408,663422040,400855858,1532957894,3352864051,1133259667,3112655638,1305183839,1768891740,2837617999,1114901282,1161773419,1051575348,2297155007,3277789161,5716631,1339347760,3760055223,1285652485,3293546465,4231323485,1834744321,346874300,3850581409,2250791053,1482959167,869906466,2674252688,395041908,804291784,4288270099,3198132628,712377611,2417008758,3961806047,1411407467,728799441,2315554128,1842657554,3815607619,3907093117,1217240411,1534661035,2954562838,335055490,2816379211,2301859152,2951183804,2188180465,231477066,1871374353,1911125066,1600972822,1692211062,1072016465,977012517,1806887404,1251058090,3390157468,3174744832,132023988,2107101300,3849074793,3256556792,3893394355,1909888760,819618141,4009809668,1898987631,338393293,1039846685,2533589738,4074543187,2781568857,1469900589,2324767716,2893384427,4017108033,1158309216,3181161470,1893162501,2323601079,1457835157,1916426348,300633059,2197970202,1950629157,2097647324,4095422895,1580310250,1268542332,4238390223],2777663545:[1213902940,1935646853,4015995234,220341763],477187591:[2804161546],4238390223:[1580310250,1268542332],178912537:[2294589976],1425443689:[3737207727,807026263,2603310189,1635779807],3888040117:[B_,2515109513,562808652,3205830791,1177604601,O_,2254336722,2986769608,385403989,1252848954,2391368822,2706460486,3821786052,3342526732,4218914973,1028945134,4088093105,2904328755,3327091369,2382730787,1419761937,3895139033,3293443760,4143007308,2296667514,488727124,1060000209,3898045240,148013059,3827777499,3295246426,2559216714,2914609552,3041715199,L_,x_,25142252,h_,4288193352,630975310,4086658281,2295281155,182646315,1062813311,1052013943,819412036,1360408905,4175244083,3508470533,1426591983,1904799276,3221913625,277319702,1634111441,4237592921,1404847402,1999602285,3053780830,3694346114,1437502449,629592764,76236018,2223149337,3310460725,w_,707683696,3518393246,4217484030,3758799889,3612865200,987401354,I_,3571504051,90941305,3132237377,342316401,1051757585,635142910,310824031,2176052936,4278956645,1003880860,862014818,4074379575,177149247,m_,1162798199,738039164,2188021234,2058353004,402227799,264262732,3640358203,4136498852,2272882330,y_,3902619387,2938176219,32344328,2056796094,4292641817,3026737570,3825984169,3420628829,2474470126,2068733104,3319311131,484807127,3747195512,2814081492,1658829314,3040386961,1945004755,1677625105,2906023776,g_,486154966,3304561284,3512223829,4156078855,E_,4252922144,331165859,3027962421,3127900445,b_,1329646415,D_,3283111854,P_,2262370178,1156407060,R_,C_,1911478936,1073191201,900683007,3242481149,__,3495092785,1973544240,905975707,843113511,3296154744,1095909175,3299480353,2769231204,1620046519,3493046030,413509423,1509553395,263784265,3101698114,926996030,3079942009,3588315303,1287392070,3651124850,2143335405,2827207264,1335981549,2979338954,2391383451,979691226,2347447852,T_,2320036040,3027567501,377706215,647756555,1623761950,4123344466,1758889154,1674181508,1975003073,734778138,4243806635,1179482911,2445595289,214636428,2218152070,3979015343,530289379,3136571912,1621171031,3657597509,2082059205,1807405624,1004757350,682877961,1235345126,2757150158,603775116,3689010777,3544373492,1209101575,2853485674,463610769,S_,N_,3124254112,4031249490,2706606064,1412071761,3219374653,4208778838,2744685151,4148101412,M_,2945172077],759155922:[445594917],2559016684:[4006246654],3967405729:[3566463478,1714330368,2963535650,512836454,336235671,3765753017],2945172077:[2744685151,4148101412,M_],4208778838:[3041715199,L_,x_,25142252,h_,4288193352,630975310,4086658281,2295281155,182646315,1062813311,1052013943,819412036,1360408905,4175244083,3508470533,1426591983,1904799276,3221913625,277319702,1634111441,4237592921,1404847402,1999602285,3053780830,3694346114,1437502449,629592764,76236018,2223149337,3310460725,w_,707683696,3518393246,4217484030,3758799889,3612865200,987401354,I_,3571504051,90941305,3132237377,342316401,1051757585,635142910,310824031,2176052936,4278956645,1003880860,862014818,4074379575,177149247,m_,1162798199,738039164,2188021234,2058353004,402227799,264262732,3640358203,4136498852,2272882330,y_,3902619387,2938176219,32344328,2056796094,4292641817,3026737570,3825984169,3420628829,2474470126,2068733104,3319311131,484807127,3747195512,2814081492,1658829314,3040386961,1945004755,1677625105,2906023776,g_,486154966,3304561284,3512223829,4156078855,E_,4252922144,331165859,3027962421,3127900445,b_,1329646415,D_,3283111854,P_,2262370178,1156407060,R_,C_,1911478936,1073191201,900683007,3242481149,__,3495092785,1973544240,905975707,843113511,3296154744,1095909175,3299480353,2769231204,1620046519,3493046030,413509423,1509553395,263784265,3101698114,926996030,3079942009,3588315303,1287392070,3651124850,2143335405,2827207264,1335981549,2979338954,2391383451,979691226,2347447852,T_,2320036040,3027567501,377706215,647756555,1623761950,4123344466,1758889154,1674181508,1975003073,734778138,4243806635,1179482911,2445595289,214636428,2218152070,3979015343,530289379,3136571912,1621171031,3657597509,2082059205,1807405624,1004757350,682877961,1235345126,2757150158,603775116,3689010777,3544373492,1209101575,2853485674,463610769,S_,N_,3124254112,4031249490,2706606064,1412071761,3219374653],3521284610:[3875453745,3663146110],3939117080:[205026976,2857406711,4278684876,1027710054,1307041759,2495723537,1683148259],1307041759:[1027710054],1865459582:[2655215786,3840914261,982818633,2728634034,919958153,4095574036],826625072:[1521410863,3523091289,3451746338,366585022,4122056220,1245217292,427948657,279856033,3940055652,2802773753,886880790,3242617779,504942748,1638771189,2127690289,3190031847,4201705270,3678494232,3945020480,1204542856],1204542856:[3678494232,3945020480],1638771189:[504942748],2551354335:[160246688,1401173127,750771296,3268803585],693640335:[781010003,307848117,4186316022,1462361463],3451746338:[1521410863,3523091289],3523091289:[1521410863],2914609552:[488727124,1060000209,3898045240,148013059,3827777499,3295246426,2559216714],1856042241:[3243963512],1412071761:[1209101575,2853485674,463610769,S_,N_,3124254112,4031249490,2706606064],710998568:[2481509218,3812236995,3893378262],2706606064:[S_,N_,3124254112,4031249490],3893378262:[3812236995],3544373492:[1621171031,3657597509,2082059205,1807405624,1004757350,682877961,1235345126,2757150158,603775116,3689010777],3136571912:[1975003073,734778138,4243806635,1179482911,2445595289,214636428,2218152070,3979015343,530289379],530289379:[2445595289,214636428,2218152070,3979015343],3689010777:[1235345126,2757150158,603775116],3979015343:[2218152070],699246055:[2157484638,3113134337],2387106220:[2839578677,2916149573],2296667514:[4143007308],1635779807:[2603310189],2887950389:[683857671,167062518],167062518:[683857671],1260505505:[1232101972,2461110595,1967976161,3593883385,3724593414,2571569899,144952367,1136057603,15328376,3732776249],1950629157:[1909888760,819618141,4009809668,1898987631,338393293,1039846685,2533589738,4074543187,2781568857,1469900589,2324767716,2893384427,4017108033,1158309216,3181161470,1893162501,2323601079,1457835157,1916426348,300633059,2197970202],3732776249:[144952367,1136057603,15328376],15328376:[144952367,1136057603],2510884976:[2611217952,1704287377],2559216714:[488727124,1060000209,3898045240,148013059,3827777499,3295246426],3293443760:[3821786052,3342526732,4218914973,1028945134,4088093105,2904328755,3327091369,2382730787,1419761937,3895139033],3256556792:[578613899,3001207471,2874132201,3179687236,1783015770,655969474,4037862832,2063403501,1599208980,1810631287,2030761528,3946677679,3009222698,4222183408,663422040,400855858,1532957894,3352864051,1133259667,3112655638,1305183839,1768891740,2837617999,1114901282,1161773419,1051575348,2297155007,3277789161,5716631,1339347760,3760055223,1285652485,3293546465,4231323485,1834744321,346874300,3850581409,2250791053,1482959167,869906466,2674252688,395041908,804291784,4288270099,3198132628,712377611,2417008758,3961806047,1411407467,728799441,2315554128,1842657554,3815607619,3907093117,1217240411,1534661035,2954562838,335055490,2816379211,2301859152,2951183804,2188180465,231477066,1871374353,1911125066,1600972822,1692211062,1072016465,977012517,1806887404,1251058090,3390157468,3174744832,132023988,2107101300,3849074793],3849074793:[1599208980,1810631287,2030761528,3946677679,3009222698,4222183408,663422040,400855858,1532957894,3352864051,1133259667,3112655638,1305183839,1768891740,2837617999,1114901282,1161773419,1051575348,2297155007,3277789161,5716631,1339347760,3760055223,1285652485,3293546465,4231323485,1834744321,346874300,3850581409,2250791053,1482959167,869906466,2674252688,395041908,804291784,4288270099,3198132628,712377611,2417008758,3961806047,1411407467,728799441,2315554128,1842657554,3815607619,3907093117,1217240411,1534661035,2954562838,335055490,2816379211,2301859152,2951183804,2188180465,231477066,1871374353,1911125066,1600972822,1692211062,1072016465,977012517,1806887404,1251058090,3390157468,3174744832,132023988,2107101300],1758889154:[25142252,h_,4288193352,630975310,4086658281,2295281155,182646315,1062813311,1052013943,819412036,1360408905,4175244083,3508470533,1426591983,1904799276,3221913625,277319702,1634111441,4237592921,1404847402,1999602285,3053780830,3694346114,1437502449,629592764,76236018,2223149337,3310460725,w_,707683696,3518393246,4217484030,3758799889,3612865200,987401354,I_,3571504051,90941305,3132237377,342316401,1051757585,635142910,310824031,2176052936,4278956645,1003880860,862014818,4074379575,177149247,m_,1162798199,738039164,2188021234,2058353004,402227799,264262732,3640358203,4136498852,2272882330,y_,3902619387,2938176219,32344328,2056796094,4292641817,3026737570,3825984169,3420628829,2474470126,2068733104,3319311131,484807127,3747195512,2814081492,1658829314,3040386961,1945004755,1677625105,2906023776,g_,486154966,3304561284,3512223829,4156078855,E_,4252922144,331165859,3027962421,3127900445,b_,1329646415,D_,3283111854,P_,2262370178,1156407060,R_,C_,1911478936,1073191201,900683007,3242481149,__,3495092785,1973544240,905975707,843113511,3296154744,1095909175,3299480353,2769231204,1620046519,3493046030,413509423,1509553395,263784265,3101698114,926996030,3079942009,3588315303,1287392070,3651124850,2143335405,2827207264,1335981549,2979338954,2391383451,979691226,2347447852,T_,2320036040,3027567501,377706215,647756555,1623761950,4123344466],1623761950:[1335981549,2979338954,2391383451,979691226,2347447852,T_,2320036040,3027567501,377706215,647756555],2590856083:[2635815018,39481116,3313531582,2572171363,2415094496,3081323446,2310774935,964333572,2108223431,2489546625],2107101300:[1217240411,1534661035,2954562838,335055490,2816379211,2301859152,2951183804,2188180465,231477066,1871374353,1911125066,1600972822,1692211062,1072016465,977012517,1806887404,1251058090,3390157468,3174744832,132023988],2853485674:[1209101575],807026263:[3737207727],2827207264:[3101698114,926996030,3079942009,3588315303,1287392070,3651124850,2143335405],2143335405:[3651124850],1287392070:[926996030,3079942009,3588315303],3907093117:[712377611,2417008758,3961806047,1411407467,728799441,2315554128,1842657554,3815607619],3198132628:[869906466,2674252688,395041908,804291784,4288270099],1482959167:[346874300,3850581409,2250791053],1834744321:[3760055223,1285652485,3293546465,4231323485],1339347760:[3277789161,5716631],2297155007:[4222183408,663422040,400855858,1532957894,3352864051,1133259667,3112655638,1305183839,1768891740,2837617999,1114901282,1161773419,1051575348],3009222698:[1810631287,2030761528,3946677679],263784265:[413509423,1509553395],2706460486:[B_,2515109513,562808652,3205830791,1177604601,O_,2254336722,2986769608,385403989,1252848954,2391368822],3588315303:[3079942009],3740093272:[3041715199],3027567501:[979691226,2347447852,T_,2320036040],964333572:[2572171363,2415094496,3081323446,2310774935],682877961:[1621171031,3657597509,2082059205,1807405624,1004757350],1179482911:[1975003073,734778138,4243806635],1004757350:[1807405624],214636428:[2445595289],1252848954:[385403989],3657597509:[1621171031],2254336722:[2515109513,562808652,3205830791,1177604601,O_],1028945134:[3342526732,4218914973],1967976161:[1232101972,2461110595],2461110595:[1232101972],1136057603:[144952367],3299480353:[2906023776,g_,486154966,3304561284,3512223829,4156078855,E_,4252922144,331165859,3027962421,3127900445,b_,1329646415,D_,3283111854,P_,2262370178,1156407060,R_,C_,1911478936,1073191201,900683007,3242481149,__,3495092785,1973544240,905975707,843113511,3296154744,1095909175],843113511:[905975707],2063403501:[578613899,3001207471,2874132201,3179687236,1783015770,655969474,4037862832],1945004755:[25142252,h_,4288193352,630975310,4086658281,2295281155,182646315,1062813311,1052013943,819412036,1360408905,4175244083,3508470533,1426591983,1904799276,3221913625,277319702,1634111441,4237592921,1404847402,1999602285,3053780830,3694346114,1437502449,629592764,76236018,2223149337,3310460725,w_,707683696,3518393246,4217484030,3758799889,3612865200,987401354,I_,3571504051,90941305,3132237377,342316401,1051757585,635142910,310824031,2176052936,4278956645,1003880860,862014818,4074379575,177149247,m_,1162798199,738039164,2188021234,2058353004,402227799,264262732,3640358203,4136498852,2272882330,y_,3902619387,2938176219,32344328,2056796094,4292641817,3026737570,3825984169,3420628829,2474470126,2068733104,3319311131,484807127,3747195512,2814081492,1658829314,3040386961],3040386961:[1052013943,819412036,1360408905,4175244083,3508470533,1426591983,1904799276,3221913625,277319702,1634111441,4237592921,1404847402,1999602285,3053780830,3694346114,1437502449,629592764,76236018,2223149337,3310460725,w_,707683696,3518393246,4217484030,3758799889,3612865200,987401354,I_,3571504051,90941305,3132237377,342316401,1051757585,635142910,310824031,2176052936,4278956645,1003880860,862014818,4074379575,177149247,m_,1162798199,738039164,2188021234,2058353004,402227799,264262732,3640358203,4136498852,2272882330,y_,3902619387,2938176219,32344328,2056796094,4292641817,3026737570,3825984169,3420628829,2474470126,2068733104,3319311131,484807127,3747195512,2814081492,1658829314],3205830791:[562808652],395920057:[3242481149],1658829314:[402227799,264262732,3640358203,4136498852,2272882330,y_,3902619387,2938176219,32344328,2056796094,4292641817,3026737570,3825984169,3420628829,2474470126,2068733104,3319311131,484807127,3747195512,2814081492],2058353004:[1003880860,862014818,4074379575,177149247,m_,1162798199,738039164,2188021234],4278956645:[342316401,1051757585,635142910,310824031,2176052936],3132237377:[I_,3571504051,90941305],987401354:[3518393246,4217484030,3758799889,3612865200],707683696:[3310460725,w_],2223149337:[1426591983,1904799276,3221913625,277319702,1634111441,4237592921,1404847402,1999602285,3053780830,3694346114,1437502449,629592764,76236018],3508470533:[819412036,1360408905,4175244083],1073191201:[1911478936],3171933400:[1156407060],1529196076:[3027962421,3127900445],2391406946:[3512223829,4156078855],3304561284:[486154966],753842376:[2906023776],1062813311:[25142252,h_,4288193352,630975310,4086658281,2295281155,182646315]},k_[2]={3630933823:[["HasExternalReference",1437805879,3,!0]],618182010:[["OfPerson",2077209135,7,!0],["OfOrganization",4251960020,4,!0]],411424972:[["HasExternalReference",1437805879,3,!0]],130549933:[["HasExternalReferences",1437805879,3,!0],["ApprovedObjects",4095574036,5,!0],["ApprovedResources",2943643501,3,!0],["IsRelatedWith",3869604511,3,!0],["Relates",3869604511,2,!0]],1959218052:[["HasExternalReferences",1437805879,3,!0],["PropertiesForConstraint",1608871552,2,!0]],1466758467:[["HasCoordinateOperation",1785450214,0,!0]],602808272:[["HasExternalReference",1437805879,3,!0]],3200245327:[["ExternalReferenceForResources",1437805879,2,!0]],2242383968:[["ExternalReferenceForResources",1437805879,2,!0]],1040185647:[["ExternalReferenceForResources",1437805879,2,!0]],3548104201:[["ExternalReferenceForResources",1437805879,2,!0]],852622518:[["PartOfW",x_,9,!0],["PartOfV",x_,8,!0],["PartOfU",x_,7,!0],["HasIntersections",891718957,0,!0]],2655187982:[["LibraryInfoForObjects",3840914261,5,!0],["HasLibraryReferences",3452421091,5,!0]],3452421091:[["ExternalReferenceForResources",1437805879,2,!0],["LibraryRefForObjects",3840914261,5,!0]],760658860:[["AssociatedTo",2655215786,5,!0],["HasExternalReferences",1437805879,3,!0],["HasProperties",3265635763,3,!0]],248100487:[["AssociatedTo",2655215786,5,!0],["HasExternalReferences",1437805879,3,!0],["HasProperties",3265635763,3,!0],["ToMaterialLayerSet",3303938423,0,!1]],3303938423:[["AssociatedTo",2655215786,5,!0],["HasExternalReferences",1437805879,3,!0],["HasProperties",3265635763,3,!0]],1847252529:[["AssociatedTo",2655215786,5,!0],["HasExternalReferences",1437805879,3,!0],["HasProperties",3265635763,3,!0],["ToMaterialLayerSet",3303938423,0,!1]],2235152071:[["AssociatedTo",2655215786,5,!0],["HasExternalReferences",1437805879,3,!0],["HasProperties",3265635763,3,!0],["ToMaterialProfileSet",164193824,2,!1]],164193824:[["AssociatedTo",2655215786,5,!0],["HasExternalReferences",1437805879,3,!0],["HasProperties",3265635763,3,!0]],552965576:[["AssociatedTo",2655215786,5,!0],["HasExternalReferences",1437805879,3,!0],["HasProperties",3265635763,3,!0],["ToMaterialProfileSet",164193824,2,!1]],1507914824:[["AssociatedTo",2655215786,5,!0]],3368373690:[["HasExternalReferences",1437805879,3,!0],["PropertiesForConstraint",1608871552,2,!0]],3701648758:[["PlacesObject",4208778838,5,!0],["ReferencedByPlacements",2624227202,0,!0]],2251480897:[["HasExternalReferences",1437805879,3,!0],["PropertiesForConstraint",1608871552,2,!0]],4251960020:[["IsRelatedBy",1411181986,3,!0],["Relates",1411181986,2,!0],["Engages",101040310,1,!0]],2077209135:[["EngagedIn",101040310,0,!0]],2483315170:[["HasExternalReferences",1437805879,3,!0],["PartOfComplex",3021840470,2,!0]],2226359599:[["HasExternalReferences",1437805879,3,!0],["PartOfComplex",3021840470,2,!0]],3355820592:[["OfPerson",2077209135,7,!0],["OfOrganization",4251960020,4,!0]],3958567839:[["HasExternalReference",1437805879,3,!0],["HasProperties",2802850158,3,!0]],3843373140:[["HasCoordinateOperation",1785450214,0,!0]],986844984:[["HasExternalReferences",1437805879,3,!0]],3710013099:[["HasExternalReferences",1437805879,3,!0]],2044713172:[["HasExternalReferences",1437805879,3,!0],["PartOfComplex",3021840470,2,!0]],2093928680:[["HasExternalReferences",1437805879,3,!0],["PartOfComplex",3021840470,2,!0]],931644368:[["HasExternalReferences",1437805879,3,!0],["PartOfComplex",3021840470,2,!0]],3252649465:[["HasExternalReferences",1437805879,3,!0],["PartOfComplex",3021840470,2,!0]],2405470396:[["HasExternalReferences",1437805879,3,!0],["PartOfComplex",3021840470,2,!0]],825690147:[["HasExternalReferences",1437805879,3,!0],["PartOfComplex",3021840470,2,!0]],1076942058:[["RepresentationMap",1660063152,1,!0],["LayerAssignments",2022622350,2,!0],["OfProductRepresentation",2095639259,2,!0]],3377609919:[["RepresentationsInContext",1076942058,0,!0]],3008791417:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],1660063152:[["HasShapeAspects",867548509,4,!0],["MapUsage",2347385850,0,!0]],3982875396:[["RepresentationMap",1660063152,1,!0],["LayerAssignments",2022622350,2,!0],["OfProductRepresentation",2095639259,2,!0],["OfShapeAspect",867548509,0,!0]],4240577450:[["RepresentationMap",1660063152,1,!0],["LayerAssignments",2022622350,2,!0],["OfProductRepresentation",2095639259,2,!0],["OfShapeAspect",867548509,0,!0]],2830218821:[["RepresentationMap",1660063152,1,!0],["LayerAssignments",2022622350,2,!0],["OfProductRepresentation",2095639259,2,!0]],3958052878:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],3049322572:[["RepresentationMap",1660063152,1,!0],["LayerAssignments",2022622350,2,!0],["OfProductRepresentation",2095639259,2,!0]],626085974:[["IsMappedBy",280115917,0,!0],["UsedInStyles",1351298697,0,!0]],912023232:[["OfPerson",2077209135,7,!0],["OfOrganization",4251960020,4,!0]],3101149627:[["HasExternalReference",1437805879,3,!0]],1377556343:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],1735638870:[["RepresentationMap",1660063152,1,!0],["LayerAssignments",2022622350,2,!0],["OfProductRepresentation",2095639259,2,!0],["OfShapeAspect",867548509,0,!0]],2799835756:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],1907098498:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],3798115385:[["HasExternalReference",1437805879,3,!0],["HasProperties",2802850158,3,!0]],1310608509:[["HasExternalReference",1437805879,3,!0],["HasProperties",2802850158,3,!0]],2705031697:[["HasExternalReference",1437805879,3,!0],["HasProperties",2802850158,3,!0]],616511568:[["IsMappedBy",280115917,0,!0],["UsedInStyles",1351298697,0,!0]],3150382593:[["HasExternalReference",1437805879,3,!0],["HasProperties",2802850158,3,!0]],747523909:[["ClassificationForObjects",919958153,5,!0],["HasReferences",647927063,3,!0]],647927063:[["ExternalReferenceForResources",1437805879,2,!0],["ClassificationRefForObjects",919958153,5,!0],["HasReferences",647927063,3,!0]],1485152156:[["HasExternalReference",1437805879,3,!0],["HasProperties",2802850158,3,!0]],370225590:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],3050246964:[["HasExternalReference",1437805879,3,!0]],2889183280:[["HasExternalReference",1437805879,3,!0]],2713554722:[["HasExternalReference",1437805879,3,!0]],3632507154:[["HasExternalReference",1437805879,3,!0],["HasProperties",2802850158,3,!0]],1154170062:[["DocumentInfoForObjects",982818633,5,!0],["HasDocumentReferences",3732053477,4,!0],["IsPointedTo",770865208,3,!0],["IsPointer",770865208,2,!0]],3732053477:[["ExternalReferenceForResources",1437805879,2,!0],["DocumentRefForObjects",982818633,5,!0]],3900360178:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],476780140:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],297599258:[["HasExternalReferences",1437805879,3,!0]],2556980723:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0],["HasTextureMaps",2552916305,2,!0]],1809719519:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],803316827:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],3008276851:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0],["HasTextureMaps",2552916305,2,!0]],3448662350:[["RepresentationsInContext",1076942058,0,!0],["HasSubContexts",4142052618,6,!0],["HasCoordinateOperation",1785450214,0,!0]],2453401579:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],4142052618:[["RepresentationsInContext",1076942058,0,!0],["HasSubContexts",4142052618,6,!0],["HasCoordinateOperation",1785450214,0,!0]],3590301190:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],178086475:[["PlacesObject",4208778838,5,!0],["ReferencedByPlacements",2624227202,0,!0]],812098782:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],3905492369:[["IsMappedBy",280115917,0,!0],["UsedInStyles",1351298697,0,!0]],3741457305:[["HasExternalReference",1437805879,3,!0]],1402838566:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],125510826:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],2604431987:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],4266656042:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],1520743889:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],3422422726:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],2624227202:[["PlacesObject",4208778838,5,!0],["ReferencedByPlacements",2624227202,0,!0]],1008929658:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],2347385850:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],1838606355:[["AssociatedTo",2655215786,5,!0],["HasExternalReferences",1437805879,3,!0],["HasProperties",3265635763,3,!0],["HasRepresentation",2022407955,3,!0],["IsRelatedWith",853536259,3,!0],["RelatesTo",853536259,2,!0]],3708119e3:[["AssociatedTo",2655215786,5,!0],["HasExternalReferences",1437805879,3,!0],["HasProperties",3265635763,3,!0],["ToMaterialConstituentSet",2852063980,2,!1]],2852063980:[["AssociatedTo",2655215786,5,!0],["HasExternalReferences",1437805879,3,!0],["HasProperties",3265635763,3,!0]],1303795690:[["AssociatedTo",2655215786,5,!0]],3079605661:[["AssociatedTo",2655215786,5,!0]],3404854881:[["AssociatedTo",2655215786,5,!0]],3265635763:[["HasExternalReferences",1437805879,3,!0]],2998442950:[["HasExternalReference",1437805879,3,!0],["HasProperties",2802850158,3,!0]],219451334:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0]],2665983363:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],1029017970:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],2529465313:[["HasExternalReference",1437805879,3,!0],["HasProperties",2802850158,3,!0]],2519244187:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],3021840470:[["HasExternalReferences",1437805879,3,!0],["PartOfComplex",3021840470,2,!0]],597895409:[["IsMappedBy",280115917,0,!0],["UsedInStyles",1351298697,0,!0]],2004835150:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],1663979128:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],2067069095:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],4022376103:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],1423911732:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],2924175390:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],2775532180:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],3778827333:[["HasExternalReferences",1437805879,3,!0]],673634403:[["ShapeOfProduct",4208778838,6,!0],["HasShapeAspects",867548509,4,!0]],2802850158:[["HasExternalReferences",1437805879,3,!0]],2598011224:[["HasExternalReferences",1437805879,3,!0],["PartOfPset",1451395588,4,!0],["PropertyForDependance",148025276,2,!0],["PropertyDependsOn",148025276,3,!0],["PartOfComplex",2542286263,3,!0],["HasConstraints",1608871552,3,!0],["HasApprovals",2943643501,2,!0]],1680319473:[["HasContext",2565941209,5,!0],["HasAssociations",1865459582,4,!0]],3357820518:[["HasContext",2565941209,5,!0],["HasAssociations",1865459582,4,!0],["DefinesType",1628702193,5,!0],["IsDefinedBy",307848117,4,!0],["DefinesOccurrence",4186316022,5,!0]],1482703590:[["HasContext",2565941209,5,!0],["HasAssociations",1865459582,4,!0]],2090586900:[["HasContext",2565941209,5,!0],["HasAssociations",1865459582,4,!0],["DefinesType",1628702193,5,!0],["IsDefinedBy",307848117,4,!0],["DefinesOccurrence",4186316022,5,!0]],3615266464:[["HasExternalReference",1437805879,3,!0],["HasProperties",2802850158,3,!0]],3413951693:[["HasExternalReference",1437805879,3,!0]],1580146022:[["HasExternalReferences",1437805879,3,!0]],2778083089:[["HasExternalReference",1437805879,3,!0],["HasProperties",2802850158,3,!0]],2042790032:[["HasExternalReferences",1437805879,3,!0]],4165799628:[["HasExternalReferences",1437805879,3,!0]],1509187699:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],4124623270:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],3692461612:[["HasExternalReferences",1437805879,3,!0],["PartOfPset",1451395588,4,!0],["PropertyForDependance",148025276,2,!0],["PropertyDependsOn",148025276,3,!0],["PartOfComplex",2542286263,3,!0],["HasConstraints",1608871552,3,!0],["HasApprovals",2943643501,2,!0]],723233188:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],2233826070:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],2513912981:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],2247615214:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],1260650574:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],1096409881:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],230924584:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],3071757647:[["HasExternalReference",1437805879,3,!0],["HasProperties",2802850158,3,!0]],901063453:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],4282788508:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],3124975700:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],2715220739:[["HasExternalReference",1437805879,3,!0],["HasProperties",2802850158,3,!0]],1628702193:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0]],3736923433:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["OperatesOn",4278684876,6,!0]],2347495698:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],3698973494:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ResourceOf",205026976,6,!0]],427810014:[["HasExternalReference",1437805879,3,!0],["HasProperties",2802850158,3,!0]],1417489154:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],2759199220:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],1299126871:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],2543172580:[["HasExternalReference",1437805879,3,!0],["HasProperties",2802850158,3,!0]],3406155212:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0],["HasTextureMaps",2552916305,2,!0]],669184980:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],3207858831:[["HasExternalReference",1437805879,3,!0],["HasProperties",2802850158,3,!0]],4261334040:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],3125803723:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],2740243338:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],2736907675:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],4182860854:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],2581212453:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],2713105998:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],2898889636:[["HasExternalReference",1437805879,3,!0],["HasProperties",2802850158,3,!0]],1123145078:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],574549367:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],1675464909:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],2059837836:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],59481748:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],3749851601:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],3486308946:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],3331915920:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],1416205885:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],1383045692:[["HasExternalReference",1437805879,3,!0],["HasProperties",2802850158,3,!0]],2205249479:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],2542286263:[["HasExternalReferences",1437805879,3,!0],["PartOfPset",1451395588,4,!0],["PropertyForDependance",148025276,2,!0],["PropertyDependsOn",148025276,3,!0],["PartOfComplex",2542286263,3,!0],["HasConstraints",1608871552,3,!0],["HasApprovals",2943643501,2,!0]],2485617015:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0],["UsingCurves",3732776249,0,!0]],2574617495:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ResourceOf",205026976,6,!0]],3419103109:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",4186316022,4,!0],["Declares",2565941209,4,!0]],1815067380:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ResourceOf",205026976,6,!0]],2506170314:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],2147822146:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],2601014836:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],2827736869:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],2629017746:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],32440307:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],526551008:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],1472233963:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],1883228015:[["HasContext",2565941209,5,!0],["HasAssociations",1865459582,4,!0],["DefinesType",1628702193,5,!0],["IsDefinedBy",307848117,4,!0],["DefinesOccurrence",4186316022,5,!0]],339256511:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],2777663545:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],2835456948:[["HasExternalReference",1437805879,3,!0],["HasProperties",2802850158,3,!0]],4024345920:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["OperatesOn",4278684876,6,!0]],477187591:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],2804161546:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],2047409740:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],374418227:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],315944413:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],2652556860:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],4238390223:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],1268542332:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],4095422895:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],987898635:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],1484403080:[["HasExternalReference",1437805879,3,!0],["HasProperties",2802850158,3,!0]],178912537:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0],["ToFaceSet",2839578677,2,!0]],2294589976:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0],["ToFaceSet",2839578677,2,!0]],572779678:[["HasExternalReference",1437805879,3,!0],["HasProperties",2802850158,3,!0]],428585644:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ResourceOf",205026976,6,!0]],1281925730:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],1425443689:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],3888040117:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0]],3388369263:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],3505215534:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],1682466193:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],603570806:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],220341763:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],3967405729:[["HasContext",2565941209,5,!0],["HasAssociations",1865459582,4,!0],["DefinesType",1628702193,5,!0],["IsDefinedBy",307848117,4,!0],["DefinesOccurrence",4186316022,5,!0]],569719735:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["OperatesOn",4278684876,6,!0]],2945172077:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["IsPredecessorTo",4122056220,4,!0],["IsSuccessorFrom",4122056220,5,!0],["OperatesOn",4278684876,6,!0]],4208778838:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0]],103090709:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",4186316022,4,!0],["Declares",2565941209,4,!0]],653396225:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",4186316022,4,!0],["Declares",2565941209,4,!0]],871118103:[["HasExternalReferences",1437805879,3,!0],["PartOfPset",1451395588,4,!0],["PropertyForDependance",148025276,2,!0],["PropertyDependsOn",148025276,3,!0],["PartOfComplex",2542286263,3,!0],["HasConstraints",1608871552,3,!0],["HasApprovals",2943643501,2,!0]],4166981789:[["HasExternalReferences",1437805879,3,!0],["PartOfPset",1451395588,4,!0],["PropertyForDependance",148025276,2,!0],["PropertyDependsOn",148025276,3,!0],["PartOfComplex",2542286263,3,!0],["HasConstraints",1608871552,3,!0],["HasApprovals",2943643501,2,!0]],2752243245:[["HasExternalReferences",1437805879,3,!0],["PartOfPset",1451395588,4,!0],["PropertyForDependance",148025276,2,!0],["PropertyDependsOn",148025276,3,!0],["PartOfComplex",2542286263,3,!0],["HasConstraints",1608871552,3,!0],["HasApprovals",2943643501,2,!0]],941946838:[["HasExternalReferences",1437805879,3,!0],["PartOfPset",1451395588,4,!0],["PropertyForDependance",148025276,2,!0],["PropertyDependsOn",148025276,3,!0],["PartOfComplex",2542286263,3,!0],["HasConstraints",1608871552,3,!0],["HasApprovals",2943643501,2,!0]],1451395588:[["HasContext",2565941209,5,!0],["HasAssociations",1865459582,4,!0],["DefinesType",1628702193,5,!0],["IsDefinedBy",307848117,4,!0],["DefinesOccurrence",4186316022,5,!0]],492091185:[["HasContext",2565941209,5,!0],["HasAssociations",1865459582,4,!0],["Defines",307848117,5,!0]],3650150729:[["HasExternalReferences",1437805879,3,!0],["PartOfPset",1451395588,4,!0],["PropertyForDependance",148025276,2,!0],["PropertyDependsOn",148025276,3,!0],["PartOfComplex",2542286263,3,!0],["HasConstraints",1608871552,3,!0],["HasApprovals",2943643501,2,!0]],110355661:[["HasExternalReferences",1437805879,3,!0],["PartOfPset",1451395588,4,!0],["PropertyForDependance",148025276,2,!0],["PropertyDependsOn",148025276,3,!0],["PartOfComplex",2542286263,3,!0],["HasConstraints",1608871552,3,!0],["HasApprovals",2943643501,2,!0]],3521284610:[["HasContext",2565941209,5,!0],["HasAssociations",1865459582,4,!0],["PartOfComplexTemplate",3875453745,6,!0],["PartOfPsetTemplate",492091185,6,!0]],3219374653:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0]],2770003689:[["HasExternalReference",1437805879,3,!0],["HasProperties",2802850158,3,!0]],2798486643:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],3454111270:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],3765753017:[["HasContext",2565941209,5,!0],["HasAssociations",1865459582,4,!0],["DefinesType",1628702193,5,!0],["IsDefinedBy",307848117,4,!0],["DefinesOccurrence",4186316022,5,!0]],3523091289:[["InnerBoundaries",3523091289,9,!0]],1521410863:[["InnerBoundaries",3523091289,9,!0],["Corresponds",1521410863,10,!0]],816062949:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0],["UsingCurves",3732776249,0,!0]],2914609552:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ResourceOf",205026976,6,!0]],1856042241:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],3243963512:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],4158566097:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],3626867408:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],3663146110:[["HasContext",2565941209,5,!0],["HasAssociations",1865459582,4,!0],["PartOfComplexTemplate",3875453745,6,!0],["PartOfPsetTemplate",492091185,6,!0]],1412071761:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["ContainsElements",3242617779,5,!0],["ServicedBySystems",366585022,5,!0],["ReferencesElements",1245217292,5,!0]],710998568:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],2706606064:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["ContainsElements",3242617779,5,!0],["ServicedBySystems",366585022,5,!0],["ReferencesElements",1245217292,5,!0]],3893378262:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],463610769:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["ContainsElements",3242617779,5,!0],["ServicedBySystems",366585022,5,!0],["ReferencesElements",1245217292,5,!0]],2481509218:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],451544542:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],4015995234:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],3544373492:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["AssignedToStructuralItem",2127690289,5,!0]],3136571912:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["AssignedStructuralActivity",2127690289,4,!0]],530289379:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["AssignedStructuralActivity",2127690289,4,!0],["ConnectedBy",1638771189,4,!0]],3689010777:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["AssignedToStructuralItem",2127690289,5,!0]],3979015343:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["AssignedStructuralActivity",2127690289,4,!0],["ConnectedBy",1638771189,4,!0]],2218152070:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["AssignedStructuralActivity",2127690289,4,!0],["ConnectedBy",1638771189,4,!0]],603775116:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["AssignedToStructuralItem",2127690289,5,!0]],4095615324:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ResourceOf",205026976,6,!0]],699246055:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],2028607225:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],2809605785:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],4124788165:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],1580310250:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],3473067441:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["IsPredecessorTo",4122056220,4,!0],["IsSuccessorFrom",4122056220,5,!0],["OperatesOn",4278684876,6,!0]],3206491090:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["OperatesOn",4278684876,6,!0]],2387106220:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0],["HasColours",3570813810,0,!0],["HasTextures",1437953363,1,!0]],1935646853:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],2097647324:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],2916149573:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0],["HasColours",3570813810,0,!0],["HasTextures",1437953363,1,!0]],336235671:[["HasContext",2565941209,5,!0],["HasAssociations",1865459582,4,!0],["DefinesType",1628702193,5,!0],["IsDefinedBy",307848117,4,!0],["DefinesOccurrence",4186316022,5,!0]],512836454:[["HasContext",2565941209,5,!0],["HasAssociations",1865459582,4,!0],["DefinesType",1628702193,5,!0],["IsDefinedBy",307848117,4,!0],["DefinesOccurrence",4186316022,5,!0]],2296667514:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["IsActingUpon",1683148259,6,!0]],1635779807:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],2603310189:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],1674181508:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["ContainedInStructure",3242617779,4,!0]],2887950389:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],167062518:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],1334484129:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],3649129432:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],1260505505:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],4031249490:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["ContainsElements",3242617779,5,!0],["ServicedBySystems",366585022,5,!0],["ReferencesElements",1245217292,5,!0]],1950629157:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],3124254112:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["ContainsElements",3242617779,5,!0],["ServicedBySystems",366585022,5,!0],["ReferencesElements",1245217292,5,!0]],2197970202:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],2937912522:[["HasExternalReference",1437805879,3,!0],["HasProperties",2802850158,3,!0]],3893394355:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],300633059:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],3875453745:[["HasContext",2565941209,5,!0],["HasAssociations",1865459582,4,!0],["PartOfComplexTemplate",3875453745,6,!0],["PartOfPsetTemplate",492091185,6,!0]],3732776249:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],15328376:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],2510884976:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],2185764099:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ResourceOf",205026976,6,!0]],4105962743:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ResourceOf",205026976,6,!0]],1525564444:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ResourceOf",205026976,6,!0]],2559216714:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ResourceOf",205026976,6,!0]],3293443760:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["Controls",2495723537,6,!0]],3895139033:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["Controls",2495723537,6,!0]],1419761937:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["Controls",2495723537,6,!0]],1916426348:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],3295246426:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ResourceOf",205026976,6,!0]],1457835157:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],1213902940:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],3256556792:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],3849074793:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],2963535650:[["HasContext",2565941209,5,!0],["HasAssociations",1865459582,4,!0],["DefinesType",1628702193,5,!0],["IsDefinedBy",307848117,4,!0],["DefinesOccurrence",4186316022,5,!0]],1714330368:[["HasContext",2565941209,5,!0],["HasAssociations",1865459582,4,!0],["DefinesType",1628702193,5,!0],["IsDefinedBy",307848117,4,!0],["DefinesOccurrence",4186316022,5,!0]],2323601079:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],1758889154:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0]],4123344466:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0]],2397081782:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],1623761950:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0]],2590856083:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],1704287377:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],2107101300:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],132023988:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],3174744832:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],3390157468:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],4148101412:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["IsPredecessorTo",4122056220,4,!0],["IsSuccessorFrom",4122056220,5,!0],["OperatesOn",4278684876,6,!0]],2853485674:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["ContainsElements",3242617779,5,!0],["ServicedBySystems",366585022,5,!0],["ReferencesElements",1245217292,5,!0]],807026263:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],3737207727:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],647756555:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0]],2489546625:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],2827207264:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0]],2143335405:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["ProjectsElements",750771296,5,!1]],1287392070:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["VoidsElements",1401173127,5,!1]],3907093117:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],3198132628:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],3815607619:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],1482959167:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],1834744321:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],1339347760:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],2297155007:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],3009222698:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],1893162501:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],263784265:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0]],1509553395:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0]],3493046030:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0]],3009204131:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["ContainedInStructure",3242617779,4,!0]],2706460486:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["IsGroupedBy",1307041759,6,!0]],1251058090:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],1806887404:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],2571569899:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],3946677679:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],3113134337:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],2391368822:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["IsGroupedBy",1307041759,6,!0]],4288270099:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],3827777499:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ResourceOf",205026976,6,!0]],1051575348:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],1161773419:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],377706215:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0]],2108223431:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],1114901282:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],3181161470:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],977012517:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],4143007308:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["IsActingUpon",1683148259,6,!0]],3588315303:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["VoidsElements",1401173127,5,!1],["HasFillings",3940055652,4,!0]],3079942009:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["VoidsElements",1401173127,5,!1],["HasFillings",3940055652,4,!0]],2837617999:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],2382730787:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["Controls",2495723537,6,!0]],3566463478:[["HasContext",2565941209,5,!0],["HasAssociations",1865459582,4,!0],["DefinesType",1628702193,5,!0],["IsDefinedBy",307848117,4,!0],["DefinesOccurrence",4186316022,5,!0]],3327091369:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["Controls",2495723537,6,!0]],1158309216:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],804291784:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],4231323485:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],4017108033:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],2839578677:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0],["HasColours",3570813810,0,!0],["HasTextures",1437953363,1,!0]],3724593414:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],3740093272:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["ContainedIn",4201705270,4,!0],["ConnectedFrom",3190031847,5,!0],["ConnectedTo",3190031847,4,!0]],2744685151:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["IsPredecessorTo",4122056220,4,!0],["IsSuccessorFrom",4122056220,5,!0],["OperatesOn",4278684876,6,!0]],2904328755:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["Controls",2495723537,6,!0]],3651124850:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["ProjectsElements",750771296,5,!1]],1842657554:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],2250791053:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],2893384427:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],2324767716:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],1469900589:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],683857671:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],3027567501:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0]],964333572:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],2320036040:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0]],2310774935:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],2781568857:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],1768891740:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],2157484638:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],4074543187:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],4097777520:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["ContainsElements",3242617779,5,!0],["ServicedBySystems",366585022,5,!0],["ReferencesElements",1245217292,5,!0]],2533589738:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],1072016465:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],3856911033:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["ContainsElements",3242617779,5,!0],["ServicedBySystems",366585022,5,!0],["ReferencesElements",1245217292,5,!0],["HasCoverings",2802773753,4,!0],["BoundedBy",3451746338,4,!0]],1305183839:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],3812236995:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],3112655638:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],1039846685:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],338393293:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],682877961:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["AssignedToStructuralItem",2127690289,5,!0]],1179482911:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["AssignedStructuralActivity",2127690289,4,!0],["ConnectsStructuralMembers",1638771189,5,!0]],1004757350:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["AssignedToStructuralItem",2127690289,5,!0]],4243806635:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["AssignedStructuralActivity",2127690289,4,!0],["ConnectsStructuralMembers",1638771189,5,!0]],214636428:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["AssignedStructuralActivity",2127690289,4,!0],["ConnectedBy",1638771189,4,!0]],2445595289:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["AssignedStructuralActivity",2127690289,4,!0],["ConnectedBy",1638771189,4,!0]],2757150158:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["AssignedToStructuralItem",2127690289,5,!0]],1807405624:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["AssignedToStructuralItem",2127690289,5,!0]],1252848954:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["IsGroupedBy",1307041759,6,!0],["SourceOfResultGroup",2986769608,6,!0],["LoadGroupFor",2515109513,7,!0]],2082059205:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["AssignedToStructuralItem",2127690289,5,!0]],734778138:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["AssignedStructuralActivity",2127690289,4,!0],["ConnectsStructuralMembers",1638771189,5,!0]],1235345126:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["AssignedToStructuralItem",2127690289,5,!0]],2986769608:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["IsGroupedBy",1307041759,6,!0],["ResultGroupFor",2515109513,8,!0]],3657597509:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["AssignedToStructuralItem",2127690289,5,!0]],1975003073:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["AssignedStructuralActivity",2127690289,4,!0],["ConnectsStructuralMembers",1638771189,5,!0]],148013059:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ResourceOf",205026976,6,!0]],3101698114:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0]],2315554128:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],2254336722:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["IsGroupedBy",1307041759,6,!0],["ServicesBuildings",366585022,4,!0]],413509423:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0]],5716631:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],3824725483:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0]],2347447852:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0]],3081323446:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],2415094496:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],1692211062:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],1620046519:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0]],3593883385:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],1600972822:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],1911125066:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],728799441:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],2391383451:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0]],3313531582:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],2769231204:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0]],926996030:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["VoidsElements",1401173127,5,!1]],1898987631:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],1133259667:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],4009809668:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],4088093105:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["Controls",2495723537,6,!0]],1028945134:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["Controls",2495723537,6,!0]],4218914973:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["Controls",2495723537,6,!0]],3342526732:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["Controls",2495723537,6,!0]],1033361043:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["IsGroupedBy",1307041759,6,!0],["ServicesBuildings",366585022,4,!0]],3821786052:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["Controls",2495723537,6,!0]],1411407467:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],3352864051:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],1871374353:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],3460190687:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["IsGroupedBy",1307041759,6,!0]],1532957894:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],1967976161:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],2461110595:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],819618141:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],231477066:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],1136057603:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],3299480353:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0]],2979338954:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0]],39481116:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],1095909175:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0]],1909888760:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],1177604601:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["IsGroupedBy",1307041759,6,!0],["ServicesBuildings",366585022,4,!0]],2188180465:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],395041908:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],3293546465:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],2674252688:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],1285652485:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],2951183804:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],3296154744:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0]],2611217952:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],1677625105:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0]],2301859152:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],843113511:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0]],905975707:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0]],400855858:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],3850581409:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],2816379211:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],3898045240:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ResourceOf",205026976,6,!0]],1060000209:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ResourceOf",205026976,6,!0]],488727124:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ResourceOf",205026976,6,!0]],335055490:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],2954562838:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],1973544240:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["CoversSpaces",2802773753,5,!0],["CoversElements",886880790,5,!0]],3495092785:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0]],3961806047:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],1335981549:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0]],2635815018:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],1599208980:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],2063403501:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],1945004755:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasPorts",4201705270,5,!0]],3040386961:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],3041715199:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["ContainedIn",4201705270,4,!0],["ConnectedFrom",3190031847,5,!0],["ConnectedTo",3190031847,4,!0]],3205830791:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["IsGroupedBy",1307041759,6,!0],["ServicesBuildings",366585022,4,!0]],395920057:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0]],3242481149:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0]],869906466:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],3760055223:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],2030761528:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],663422040:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],2417008758:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],3277789161:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],1534661035:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],1217240411:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],712377611:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],1658829314:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],2814081492:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],3747195512:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],484807127:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],1209101575:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["ContainsElements",3242617779,5,!0],["ServicedBySystems",366585022,5,!0],["ReferencesElements",1245217292,5,!0],["BoundedBy",3451746338,4,!0]],346874300:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],1810631287:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],4222183408:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],2058353004:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],4278956645:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],4037862832:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],2188021234:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],3132237377:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],987401354:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],707683696:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],2223149337:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],3508470533:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],900683007:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0]],3319311131:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],2068733104:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],4175244083:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],2176052936:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],76236018:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],629592764:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],1437502449:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],1073191201:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0]],1911478936:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0]],2474470126:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],144952367:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],3694346114:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],1687234759:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0]],310824031:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],3612865200:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],3171933400:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0]],1156407060:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0]],738039164:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],655969474:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],90941305:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],2262370178:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0]],3024970846:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0]],3283111854:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0]],1232101972:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],979691226:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0]],2572171363:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],2016517767:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0]],3053780830:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],1783015770:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],1329646415:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0]],1529196076:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0]],3127900445:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0]],3027962421:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0]],3420628829:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],1999602285:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],1404847402:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],331165859:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0]],4252922144:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0]],2515109513:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["IsGroupedBy",1307041759,6,!0],["ServicesBuildings",366585022,4,!0]],385403989:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["IsGroupedBy",1307041759,6,!0],["SourceOfResultGroup",2986769608,6,!0],["LoadGroupFor",2515109513,7,!0]],1621171031:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["AssignedToStructuralItem",2127690289,5,!0]],1162798199:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],812556717:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],3825984169:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],3026737570:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],3179687236:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],4292641817:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],4207607924:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],2391406946:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0]],4156078855:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0]],3512223829:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0]],4237592921:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],3304561284:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0]],486154966:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0]],2874132201:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],1634111441:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],177149247:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],2056796094:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],3001207471:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],277319702:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],753842376:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0]],2906023776:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0]],32344328:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],2938176219:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],635142910:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],3758799889:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],1051757585:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],4217484030:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],3902619387:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],639361253:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],3221913625:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],3571504051:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],2272882330:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],578613899:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],4136498852:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],3640358203:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],4074379575:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],1052013943:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],562808652:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["IsGroupedBy",1307041759,6,!0],["ServicesBuildings",366585022,4,!0]],1062813311:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasPorts",4201705270,5,!0],["AssignedToFlowElement",279856033,4,!0]],342316401:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],3518393246:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],1360408905:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],1904799276:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],862014818:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],3310460725:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],264262732:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],402227799:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],1003880860:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],3415622556:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],819412036:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],1426591983:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],182646315:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasPorts",4201705270,5,!0],["AssignedToFlowElement",279856033,4,!0]],2295281155:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasPorts",4201705270,5,!0],["AssignedToFlowElement",279856033,4,!0]],4086658281:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasPorts",4201705270,5,!0],["AssignedToFlowElement",279856033,4,!0]],630975310:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasPorts",4201705270,5,!0],["AssignedToFlowElement",279856033,4,!0]],4288193352:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasPorts",4201705270,5,!0],["AssignedToFlowElement",279856033,4,!0]],3087945054:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasPorts",4201705270,5,!0],["AssignedToFlowElement",279856033,4,!0]],25142252:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasPorts",4201705270,5,!0],["AssignedToFlowElement",279856033,4,!0]]},V_[2]={3630933823:function(e,t){return new e_.IfcActorRole(e,t[0],t[1],t[2])},618182010:function(e,t){return new e_.IfcAddress(e,t[0],t[1],t[2])},639542469:function(e,t){return new e_.IfcApplication(e,t[0],t[1],t[2],t[3])},411424972:function(e,t){return new e_.IfcAppliedValue(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},130549933:function(e,t){return new e_.IfcApproval(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},4037036970:function(e,t){return new e_.IfcBoundaryCondition(e,t[0])},1560379544:function(e,t){return new e_.IfcBoundaryEdgeCondition(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6])},3367102660:function(e,t){return new e_.IfcBoundaryFaceCondition(e,t[0],t[1],t[2],t[3])},1387855156:function(e,t){return new e_.IfcBoundaryNodeCondition(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6])},2069777674:function(e,t){return new e_.IfcBoundaryNodeConditionWarping(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},2859738748:function(e,t){return new e_.IfcConnectionGeometry(e)},2614616156:function(e,t){return new e_.IfcConnectionPointGeometry(e,t[0],t[1])},2732653382:function(e,t){return new e_.IfcConnectionSurfaceGeometry(e,t[0],t[1])},775493141:function(e,t){return new e_.IfcConnectionVolumeGeometry(e,t[0],t[1])},1959218052:function(e,t){return new e_.IfcConstraint(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6])},1785450214:function(e,t){return new e_.IfcCoordinateOperation(e,t[0],t[1])},1466758467:function(e,t){return new e_.IfcCoordinateReferenceSystem(e,t[0],t[1],t[2],t[3])},602808272:function(e,t){return new e_.IfcCostValue(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},1765591967:function(e,t){return new e_.IfcDerivedUnit(e,t[0],t[1],t[2])},1045800335:function(e,t){return new e_.IfcDerivedUnitElement(e,t[0],t[1])},2949456006:function(e,t){return new e_.IfcDimensionalExponents(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6])},4294318154:function(e,t){return new e_.IfcExternalInformation(e)},3200245327:function(e,t){return new e_.IfcExternalReference(e,t[0],t[1],t[2])},2242383968:function(e,t){return new e_.IfcExternallyDefinedHatchStyle(e,t[0],t[1],t[2])},1040185647:function(e,t){return new e_.IfcExternallyDefinedSurfaceStyle(e,t[0],t[1],t[2])},3548104201:function(e,t){return new e_.IfcExternallyDefinedTextFont(e,t[0],t[1],t[2])},852622518:function(e,t){return new e_.IfcGridAxis(e,t[0],t[1],t[2])},3020489413:function(e,t){return new e_.IfcIrregularTimeSeriesValue(e,t[0],t[1])},2655187982:function(e,t){return new e_.IfcLibraryInformation(e,t[0],t[1],t[2],t[3],t[4],t[5])},3452421091:function(e,t){return new e_.IfcLibraryReference(e,t[0],t[1],t[2],t[3],t[4],t[5])},4162380809:function(e,t){return new e_.IfcLightDistributionData(e,t[0],t[1],t[2])},1566485204:function(e,t){return new e_.IfcLightIntensityDistribution(e,t[0],t[1])},3057273783:function(e,t){return new e_.IfcMapConversion(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},1847130766:function(e,t){return new e_.IfcMaterialClassificationRelationship(e,t[0],t[1])},760658860:function(e,t){return new e_.IfcMaterialDefinition(e)},248100487:function(e,t){return new e_.IfcMaterialLayer(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6])},3303938423:function(e,t){return new e_.IfcMaterialLayerSet(e,t[0],t[1],t[2])},1847252529:function(e,t){return new e_.IfcMaterialLayerWithOffsets(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},2199411900:function(e,t){return new e_.IfcMaterialList(e,t[0])},2235152071:function(e,t){return new e_.IfcMaterialProfile(e,t[0],t[1],t[2],t[3],t[4],t[5])},164193824:function(e,t){return new e_.IfcMaterialProfileSet(e,t[0],t[1],t[2],t[3])},552965576:function(e,t){return new e_.IfcMaterialProfileWithOffsets(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6])},1507914824:function(e,t){return new e_.IfcMaterialUsageDefinition(e)},2597039031:function(e,t){return new e_.IfcMeasureWithUnit(e,t[0],t[1])},3368373690:function(e,t){return new e_.IfcMetric(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10])},2706619895:function(e,t){return new e_.IfcMonetaryUnit(e,t[0])},1918398963:function(e,t){return new e_.IfcNamedUnit(e,t[0],t[1])},3701648758:function(e,t){return new e_.IfcObjectPlacement(e)},2251480897:function(e,t){return new e_.IfcObjective(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10])},4251960020:function(e,t){return new e_.IfcOrganization(e,t[0],t[1],t[2],t[3],t[4])},1207048766:function(e,t){return new e_.IfcOwnerHistory(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},2077209135:function(e,t){return new e_.IfcPerson(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},101040310:function(e,t){return new e_.IfcPersonAndOrganization(e,t[0],t[1],t[2])},2483315170:function(e,t){return new e_.IfcPhysicalQuantity(e,t[0],t[1])},2226359599:function(e,t){return new e_.IfcPhysicalSimpleQuantity(e,t[0],t[1],t[2])},3355820592:function(e,t){return new e_.IfcPostalAddress(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},677532197:function(e,t){return new e_.IfcPresentationItem(e)},2022622350:function(e,t){return new e_.IfcPresentationLayerAssignment(e,t[0],t[1],t[2],t[3])},1304840413:function(e,t){return new e_.IfcPresentationLayerWithStyle(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},3119450353:function(e,t){return new e_.IfcPresentationStyle(e,t[0])},2417041796:function(e,t){return new e_.IfcPresentationStyleAssignment(e,t[0])},2095639259:function(e,t){return new e_.IfcProductRepresentation(e,t[0],t[1],t[2])},3958567839:function(e,t){return new e_.IfcProfileDef(e,t[0],t[1])},3843373140:function(e,t){return new e_.IfcProjectedCRS(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6])},986844984:function(e,t){return new e_.IfcPropertyAbstraction(e)},3710013099:function(e,t){return new e_.IfcPropertyEnumeration(e,t[0],t[1],t[2])},2044713172:function(e,t){return new e_.IfcQuantityArea(e,t[0],t[1],t[2],t[3],t[4])},2093928680:function(e,t){return new e_.IfcQuantityCount(e,t[0],t[1],t[2],t[3],t[4])},931644368:function(e,t){return new e_.IfcQuantityLength(e,t[0],t[1],t[2],t[3],t[4])},3252649465:function(e,t){return new e_.IfcQuantityTime(e,t[0],t[1],t[2],t[3],t[4])},2405470396:function(e,t){return new e_.IfcQuantityVolume(e,t[0],t[1],t[2],t[3],t[4])},825690147:function(e,t){return new e_.IfcQuantityWeight(e,t[0],t[1],t[2],t[3],t[4])},3915482550:function(e,t){return new e_.IfcRecurrencePattern(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},2433181523:function(e,t){return new e_.IfcReference(e,t[0],t[1],t[2],t[3],t[4])},1076942058:function(e,t){return new e_.IfcRepresentation(e,t[0],t[1],t[2],t[3])},3377609919:function(e,t){return new e_.IfcRepresentationContext(e,t[0],t[1])},3008791417:function(e,t){return new e_.IfcRepresentationItem(e)},1660063152:function(e,t){return new e_.IfcRepresentationMap(e,t[0],t[1])},2439245199:function(e,t){return new e_.IfcResourceLevelRelationship(e,t[0],t[1])},2341007311:function(e,t){return new e_.IfcRoot(e,t[0],t[1],t[2],t[3])},448429030:function(e,t){return new e_.IfcSIUnit(e,t[0],t[1],t[2])},1054537805:function(e,t){return new e_.IfcSchedulingTime(e,t[0],t[1],t[2])},867548509:function(e,t){return new e_.IfcShapeAspect(e,t[0],t[1],t[2],t[3],t[4])},3982875396:function(e,t){return new e_.IfcShapeModel(e,t[0],t[1],t[2],t[3])},4240577450:function(e,t){return new e_.IfcShapeRepresentation(e,t[0],t[1],t[2],t[3])},2273995522:function(e,t){return new e_.IfcStructuralConnectionCondition(e,t[0])},2162789131:function(e,t){return new e_.IfcStructuralLoad(e,t[0])},3478079324:function(e,t){return new e_.IfcStructuralLoadConfiguration(e,t[0],t[1],t[2])},609421318:function(e,t){return new e_.IfcStructuralLoadOrResult(e,t[0])},2525727697:function(e,t){return new e_.IfcStructuralLoadStatic(e,t[0])},3408363356:function(e,t){return new e_.IfcStructuralLoadTemperature(e,t[0],t[1],t[2],t[3])},2830218821:function(e,t){return new e_.IfcStyleModel(e,t[0],t[1],t[2],t[3])},3958052878:function(e,t){return new e_.IfcStyledItem(e,t[0],t[1],t[2])},3049322572:function(e,t){return new e_.IfcStyledRepresentation(e,t[0],t[1],t[2],t[3])},2934153892:function(e,t){return new e_.IfcSurfaceReinforcementArea(e,t[0],t[1],t[2],t[3])},1300840506:function(e,t){return new e_.IfcSurfaceStyle(e,t[0],t[1],t[2])},3303107099:function(e,t){return new e_.IfcSurfaceStyleLighting(e,t[0],t[1],t[2],t[3])},1607154358:function(e,t){return new e_.IfcSurfaceStyleRefraction(e,t[0],t[1])},846575682:function(e,t){return new e_.IfcSurfaceStyleShading(e,t[0],t[1])},1351298697:function(e,t){return new e_.IfcSurfaceStyleWithTextures(e,t[0])},626085974:function(e,t){return new e_.IfcSurfaceTexture(e,t[0],t[1],t[2],t[3],t[4])},985171141:function(e,t){return new e_.IfcTable(e,t[0],t[1],t[2])},2043862942:function(e,t){return new e_.IfcTableColumn(e,t[0],t[1],t[2],t[3],t[4])},531007025:function(e,t){return new e_.IfcTableRow(e,t[0],t[1])},1549132990:function(e,t){return new e_.IfcTaskTime(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12],t[13],t[14],t[15],t[16],t[17],t[18],t[19])},2771591690:function(e,t){return new e_.IfcTaskTimeRecurring(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12],t[13],t[14],t[15],t[16],t[17],t[18],t[19],t[20])},912023232:function(e,t){return new e_.IfcTelecomAddress(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},1447204868:function(e,t){return new e_.IfcTextStyle(e,t[0],t[1],t[2],t[3],t[4])},2636378356:function(e,t){return new e_.IfcTextStyleForDefinedFont(e,t[0],t[1])},1640371178:function(e,t){return new e_.IfcTextStyleTextModel(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6])},280115917:function(e,t){return new e_.IfcTextureCoordinate(e,t[0])},1742049831:function(e,t){return new e_.IfcTextureCoordinateGenerator(e,t[0],t[1],t[2])},2552916305:function(e,t){return new e_.IfcTextureMap(e,t[0],t[1],t[2])},1210645708:function(e,t){return new e_.IfcTextureVertex(e,t[0])},3611470254:function(e,t){return new e_.IfcTextureVertexList(e,t[0])},1199560280:function(e,t){return new e_.IfcTimePeriod(e,t[0],t[1])},3101149627:function(e,t){return new e_.IfcTimeSeries(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},581633288:function(e,t){return new e_.IfcTimeSeriesValue(e,t[0])},1377556343:function(e,t){return new e_.IfcTopologicalRepresentationItem(e)},1735638870:function(e,t){return new e_.IfcTopologyRepresentation(e,t[0],t[1],t[2],t[3])},180925521:function(e,t){return new e_.IfcUnitAssignment(e,t[0])},2799835756:function(e,t){return new e_.IfcVertex(e)},1907098498:function(e,t){return new e_.IfcVertexPoint(e,t[0])},891718957:function(e,t){return new e_.IfcVirtualGridIntersection(e,t[0],t[1])},1236880293:function(e,t){return new e_.IfcWorkTime(e,t[0],t[1],t[2],t[3],t[4],t[5])},3869604511:function(e,t){return new e_.IfcApprovalRelationship(e,t[0],t[1],t[2],t[3])},3798115385:function(e,t){return new e_.IfcArbitraryClosedProfileDef(e,t[0],t[1],t[2])},1310608509:function(e,t){return new e_.IfcArbitraryOpenProfileDef(e,t[0],t[1],t[2])},2705031697:function(e,t){return new e_.IfcArbitraryProfileDefWithVoids(e,t[0],t[1],t[2],t[3])},616511568:function(e,t){return new e_.IfcBlobTexture(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6])},3150382593:function(e,t){return new e_.IfcCenterLineProfileDef(e,t[0],t[1],t[2],t[3])},747523909:function(e,t){return new e_.IfcClassification(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6])},647927063:function(e,t){return new e_.IfcClassificationReference(e,t[0],t[1],t[2],t[3],t[4],t[5])},3285139300:function(e,t){return new e_.IfcColourRgbList(e,t[0])},3264961684:function(e,t){return new e_.IfcColourSpecification(e,t[0])},1485152156:function(e,t){return new e_.IfcCompositeProfileDef(e,t[0],t[1],t[2],t[3])},370225590:function(e,t){return new e_.IfcConnectedFaceSet(e,t[0])},1981873012:function(e,t){return new e_.IfcConnectionCurveGeometry(e,t[0],t[1])},45288368:function(e,t){return new e_.IfcConnectionPointEccentricity(e,t[0],t[1],t[2],t[3],t[4])},3050246964:function(e,t){return new e_.IfcContextDependentUnit(e,t[0],t[1],t[2])},2889183280:function(e,t){return new e_.IfcConversionBasedUnit(e,t[0],t[1],t[2],t[3])},2713554722:function(e,t){return new e_.IfcConversionBasedUnitWithOffset(e,t[0],t[1],t[2],t[3],t[4])},539742890:function(e,t){return new e_.IfcCurrencyRelationship(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6])},3800577675:function(e,t){return new e_.IfcCurveStyle(e,t[0],t[1],t[2],t[3],t[4])},1105321065:function(e,t){return new e_.IfcCurveStyleFont(e,t[0],t[1])},2367409068:function(e,t){return new e_.IfcCurveStyleFontAndScaling(e,t[0],t[1],t[2])},3510044353:function(e,t){return new e_.IfcCurveStyleFontPattern(e,t[0],t[1])},3632507154:function(e,t){return new e_.IfcDerivedProfileDef(e,t[0],t[1],t[2],t[3],t[4])},1154170062:function(e,t){return new e_.IfcDocumentInformation(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12],t[13],t[14],t[15],t[16])},770865208:function(e,t){return new e_.IfcDocumentInformationRelationship(e,t[0],t[1],t[2],t[3],t[4])},3732053477:function(e,t){return new e_.IfcDocumentReference(e,t[0],t[1],t[2],t[3],t[4])},3900360178:function(e,t){return new e_.IfcEdge(e,t[0],t[1])},476780140:function(e,t){return new e_.IfcEdgeCurve(e,t[0],t[1],t[2],t[3])},211053100:function(e,t){return new e_.IfcEventTime(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6])},297599258:function(e,t){return new e_.IfcExtendedProperties(e,t[0],t[1],t[2])},1437805879:function(e,t){return new e_.IfcExternalReferenceRelationship(e,t[0],t[1],t[2],t[3])},2556980723:function(e,t){return new e_.IfcFace(e,t[0])},1809719519:function(e,t){return new e_.IfcFaceBound(e,t[0],t[1])},803316827:function(e,t){return new e_.IfcFaceOuterBound(e,t[0],t[1])},3008276851:function(e,t){return new e_.IfcFaceSurface(e,t[0],t[1],t[2])},4219587988:function(e,t){return new e_.IfcFailureConnectionCondition(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6])},738692330:function(e,t){return new e_.IfcFillAreaStyle(e,t[0],t[1],t[2])},3448662350:function(e,t){return new e_.IfcGeometricRepresentationContext(e,t[0],t[1],t[2],t[3],t[4],t[5])},2453401579:function(e,t){return new e_.IfcGeometricRepresentationItem(e)},4142052618:function(e,t){return new e_.IfcGeometricRepresentationSubContext(e,t[0],t[1],t[2],t[3],t[4],t[5])},3590301190:function(e,t){return new e_.IfcGeometricSet(e,t[0])},178086475:function(e,t){return new e_.IfcGridPlacement(e,t[0],t[1])},812098782:function(e,t){return new e_.IfcHalfSpaceSolid(e,t[0],t[1])},3905492369:function(e,t){return new e_.IfcImageTexture(e,t[0],t[1],t[2],t[3],t[4],t[5])},3570813810:function(e,t){return new e_.IfcIndexedColourMap(e,t[0],t[1],t[2],t[3])},1437953363:function(e,t){return new e_.IfcIndexedTextureMap(e,t[0],t[1],t[2])},2133299955:function(e,t){return new e_.IfcIndexedTriangleTextureMap(e,t[0],t[1],t[2],t[3])},3741457305:function(e,t){return new e_.IfcIrregularTimeSeries(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},1585845231:function(e,t){return new e_.IfcLagTime(e,t[0],t[1],t[2],t[3],t[4])},1402838566:function(e,t){return new e_.IfcLightSource(e,t[0],t[1],t[2],t[3])},125510826:function(e,t){return new e_.IfcLightSourceAmbient(e,t[0],t[1],t[2],t[3])},2604431987:function(e,t){return new e_.IfcLightSourceDirectional(e,t[0],t[1],t[2],t[3],t[4])},4266656042:function(e,t){return new e_.IfcLightSourceGoniometric(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},1520743889:function(e,t){return new e_.IfcLightSourcePositional(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},3422422726:function(e,t){return new e_.IfcLightSourceSpot(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12])},2624227202:function(e,t){return new e_.IfcLocalPlacement(e,t[0],t[1])},1008929658:function(e,t){return new e_.IfcLoop(e)},2347385850:function(e,t){return new e_.IfcMappedItem(e,t[0],t[1])},1838606355:function(e,t){return new e_.IfcMaterial(e,t[0],t[1],t[2])},3708119e3:function(e,t){return new e_.IfcMaterialConstituent(e,t[0],t[1],t[2],t[3],t[4])},2852063980:function(e,t){return new e_.IfcMaterialConstituentSet(e,t[0],t[1],t[2])},2022407955:function(e,t){return new e_.IfcMaterialDefinitionRepresentation(e,t[0],t[1],t[2],t[3])},1303795690:function(e,t){return new e_.IfcMaterialLayerSetUsage(e,t[0],t[1],t[2],t[3],t[4])},3079605661:function(e,t){return new e_.IfcMaterialProfileSetUsage(e,t[0],t[1],t[2])},3404854881:function(e,t){return new e_.IfcMaterialProfileSetUsageTapering(e,t[0],t[1],t[2],t[3],t[4])},3265635763:function(e,t){return new e_.IfcMaterialProperties(e,t[0],t[1],t[2],t[3])},853536259:function(e,t){return new e_.IfcMaterialRelationship(e,t[0],t[1],t[2],t[3],t[4])},2998442950:function(e,t){return new e_.IfcMirroredProfileDef(e,t[0],t[1],t[2],t[3])},219451334:function(e,t){return new e_.IfcObjectDefinition(e,t[0],t[1],t[2],t[3])},2665983363:function(e,t){return new e_.IfcOpenShell(e,t[0])},1411181986:function(e,t){return new e_.IfcOrganizationRelationship(e,t[0],t[1],t[2],t[3])},1029017970:function(e,t){return new e_.IfcOrientedEdge(e,t[0],t[1])},2529465313:function(e,t){return new e_.IfcParameterizedProfileDef(e,t[0],t[1],t[2])},2519244187:function(e,t){return new e_.IfcPath(e,t[0])},3021840470:function(e,t){return new e_.IfcPhysicalComplexQuantity(e,t[0],t[1],t[2],t[3],t[4],t[5])},597895409:function(e,t){return new e_.IfcPixelTexture(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},2004835150:function(e,t){return new e_.IfcPlacement(e,t[0])},1663979128:function(e,t){return new e_.IfcPlanarExtent(e,t[0],t[1])},2067069095:function(e,t){return new e_.IfcPoint(e)},4022376103:function(e,t){return new e_.IfcPointOnCurve(e,t[0],t[1])},1423911732:function(e,t){return new e_.IfcPointOnSurface(e,t[0],t[1],t[2])},2924175390:function(e,t){return new e_.IfcPolyLoop(e,t[0])},2775532180:function(e,t){return new e_.IfcPolygonalBoundedHalfSpace(e,t[0],t[1],t[2],t[3])},3727388367:function(e,t){return new e_.IfcPreDefinedItem(e,t[0])},3778827333:function(e,t){return new e_.IfcPreDefinedProperties(e)},1775413392:function(e,t){return new e_.IfcPreDefinedTextFont(e,t[0])},673634403:function(e,t){return new e_.IfcProductDefinitionShape(e,t[0],t[1],t[2])},2802850158:function(e,t){return new e_.IfcProfileProperties(e,t[0],t[1],t[2],t[3])},2598011224:function(e,t){return new e_.IfcProperty(e,t[0],t[1])},1680319473:function(e,t){return new e_.IfcPropertyDefinition(e,t[0],t[1],t[2],t[3])},148025276:function(e,t){return new e_.IfcPropertyDependencyRelationship(e,t[0],t[1],t[2],t[3],t[4])},3357820518:function(e,t){return new e_.IfcPropertySetDefinition(e,t[0],t[1],t[2],t[3])},1482703590:function(e,t){return new e_.IfcPropertyTemplateDefinition(e,t[0],t[1],t[2],t[3])},2090586900:function(e,t){return new e_.IfcQuantitySet(e,t[0],t[1],t[2],t[3])},3615266464:function(e,t){return new e_.IfcRectangleProfileDef(e,t[0],t[1],t[2],t[3],t[4])},3413951693:function(e,t){return new e_.IfcRegularTimeSeries(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},1580146022:function(e,t){return new e_.IfcReinforcementBarProperties(e,t[0],t[1],t[2],t[3],t[4],t[5])},478536968:function(e,t){return new e_.IfcRelationship(e,t[0],t[1],t[2],t[3])},2943643501:function(e,t){return new e_.IfcResourceApprovalRelationship(e,t[0],t[1],t[2],t[3])},1608871552:function(e,t){return new e_.IfcResourceConstraintRelationship(e,t[0],t[1],t[2],t[3])},1042787934:function(e,t){return new e_.IfcResourceTime(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12],t[13],t[14],t[15],t[16],t[17])},2778083089:function(e,t){return new e_.IfcRoundedRectangleProfileDef(e,t[0],t[1],t[2],t[3],t[4],t[5])},2042790032:function(e,t){return new e_.IfcSectionProperties(e,t[0],t[1],t[2])},4165799628:function(e,t){return new e_.IfcSectionReinforcementProperties(e,t[0],t[1],t[2],t[3],t[4],t[5])},1509187699:function(e,t){return new e_.IfcSectionedSpine(e,t[0],t[1],t[2])},4124623270:function(e,t){return new e_.IfcShellBasedSurfaceModel(e,t[0])},3692461612:function(e,t){return new e_.IfcSimpleProperty(e,t[0],t[1])},2609359061:function(e,t){return new e_.IfcSlippageConnectionCondition(e,t[0],t[1],t[2],t[3])},723233188:function(e,t){return new e_.IfcSolidModel(e)},1595516126:function(e,t){return new e_.IfcStructuralLoadLinearForce(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6])},2668620305:function(e,t){return new e_.IfcStructuralLoadPlanarForce(e,t[0],t[1],t[2],t[3])},2473145415:function(e,t){return new e_.IfcStructuralLoadSingleDisplacement(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6])},1973038258:function(e,t){return new e_.IfcStructuralLoadSingleDisplacementDistortion(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},1597423693:function(e,t){return new e_.IfcStructuralLoadSingleForce(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6])},1190533807:function(e,t){return new e_.IfcStructuralLoadSingleForceWarping(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},2233826070:function(e,t){return new e_.IfcSubedge(e,t[0],t[1],t[2])},2513912981:function(e,t){return new e_.IfcSurface(e)},1878645084:function(e,t){return new e_.IfcSurfaceStyleRendering(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},2247615214:function(e,t){return new e_.IfcSweptAreaSolid(e,t[0],t[1])},1260650574:function(e,t){return new e_.IfcSweptDiskSolid(e,t[0],t[1],t[2],t[3],t[4])},1096409881:function(e,t){return new e_.IfcSweptDiskSolidPolygonal(e,t[0],t[1],t[2],t[3],t[4],t[5])},230924584:function(e,t){return new e_.IfcSweptSurface(e,t[0],t[1])},3071757647:function(e,t){return new e_.IfcTShapeProfileDef(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11])},901063453:function(e,t){return new e_.IfcTessellatedItem(e)},4282788508:function(e,t){return new e_.IfcTextLiteral(e,t[0],t[1],t[2])},3124975700:function(e,t){return new e_.IfcTextLiteralWithExtent(e,t[0],t[1],t[2],t[3],t[4])},1983826977:function(e,t){return new e_.IfcTextStyleFontModel(e,t[0],t[1],t[2],t[3],t[4],t[5])},2715220739:function(e,t){return new e_.IfcTrapeziumProfileDef(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6])},1628702193:function(e,t){return new e_.IfcTypeObject(e,t[0],t[1],t[2],t[3],t[4],t[5])},3736923433:function(e,t){return new e_.IfcTypeProcess(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},2347495698:function(e,t){return new e_.IfcTypeProduct(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},3698973494:function(e,t){return new e_.IfcTypeResource(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},427810014:function(e,t){return new e_.IfcUShapeProfileDef(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},1417489154:function(e,t){return new e_.IfcVector(e,t[0],t[1])},2759199220:function(e,t){return new e_.IfcVertexLoop(e,t[0])},1299126871:function(e,t){return new e_.IfcWindowStyle(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11])},2543172580:function(e,t){return new e_.IfcZShapeProfileDef(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},3406155212:function(e,t){return new e_.IfcAdvancedFace(e,t[0],t[1],t[2])},669184980:function(e,t){return new e_.IfcAnnotationFillArea(e,t[0],t[1])},3207858831:function(e,t){return new e_.IfcAsymmetricIShapeProfileDef(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12],t[13],t[14])},4261334040:function(e,t){return new e_.IfcAxis1Placement(e,t[0],t[1])},3125803723:function(e,t){return new e_.IfcAxis2Placement2D(e,t[0],t[1])},2740243338:function(e,t){return new e_.IfcAxis2Placement3D(e,t[0],t[1],t[2])},2736907675:function(e,t){return new e_.IfcBooleanResult(e,t[0],t[1],t[2])},4182860854:function(e,t){return new e_.IfcBoundedSurface(e)},2581212453:function(e,t){return new e_.IfcBoundingBox(e,t[0],t[1],t[2],t[3])},2713105998:function(e,t){return new e_.IfcBoxedHalfSpace(e,t[0],t[1],t[2])},2898889636:function(e,t){return new e_.IfcCShapeProfileDef(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},1123145078:function(e,t){return new e_.IfcCartesianPoint(e,t[0])},574549367:function(e,t){return new e_.IfcCartesianPointList(e)},1675464909:function(e,t){return new e_.IfcCartesianPointList2D(e,t[0])},2059837836:function(e,t){return new e_.IfcCartesianPointList3D(e,t[0])},59481748:function(e,t){return new e_.IfcCartesianTransformationOperator(e,t[0],t[1],t[2],t[3])},3749851601:function(e,t){return new e_.IfcCartesianTransformationOperator2D(e,t[0],t[1],t[2],t[3])},3486308946:function(e,t){return new e_.IfcCartesianTransformationOperator2DnonUniform(e,t[0],t[1],t[2],t[3],t[4])},3331915920:function(e,t){return new e_.IfcCartesianTransformationOperator3D(e,t[0],t[1],t[2],t[3],t[4])},1416205885:function(e,t){return new e_.IfcCartesianTransformationOperator3DnonUniform(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6])},1383045692:function(e,t){return new e_.IfcCircleProfileDef(e,t[0],t[1],t[2],t[3])},2205249479:function(e,t){return new e_.IfcClosedShell(e,t[0])},776857604:function(e,t){return new e_.IfcColourRgb(e,t[0],t[1],t[2],t[3])},2542286263:function(e,t){return new e_.IfcComplexProperty(e,t[0],t[1],t[2],t[3])},2485617015:function(e,t){return new e_.IfcCompositeCurveSegment(e,t[0],t[1],t[2])},2574617495:function(e,t){return new e_.IfcConstructionResourceType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10])},3419103109:function(e,t){return new e_.IfcContext(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},1815067380:function(e,t){return new e_.IfcCrewResourceType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11])},2506170314:function(e,t){return new e_.IfcCsgPrimitive3D(e,t[0])},2147822146:function(e,t){return new e_.IfcCsgSolid(e,t[0])},2601014836:function(e,t){return new e_.IfcCurve(e)},2827736869:function(e,t){return new e_.IfcCurveBoundedPlane(e,t[0],t[1],t[2])},2629017746:function(e,t){return new e_.IfcCurveBoundedSurface(e,t[0],t[1],t[2])},32440307:function(e,t){return new e_.IfcDirection(e,t[0])},526551008:function(e,t){return new e_.IfcDoorStyle(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11])},1472233963:function(e,t){return new e_.IfcEdgeLoop(e,t[0])},1883228015:function(e,t){return new e_.IfcElementQuantity(e,t[0],t[1],t[2],t[3],t[4],t[5])},339256511:function(e,t){return new e_.IfcElementType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},2777663545:function(e,t){return new e_.IfcElementarySurface(e,t[0])},2835456948:function(e,t){return new e_.IfcEllipseProfileDef(e,t[0],t[1],t[2],t[3],t[4])},4024345920:function(e,t){return new e_.IfcEventType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11])},477187591:function(e,t){return new e_.IfcExtrudedAreaSolid(e,t[0],t[1],t[2],t[3])},2804161546:function(e,t){return new e_.IfcExtrudedAreaSolidTapered(e,t[0],t[1],t[2],t[3],t[4])},2047409740:function(e,t){return new e_.IfcFaceBasedSurfaceModel(e,t[0])},374418227:function(e,t){return new e_.IfcFillAreaStyleHatching(e,t[0],t[1],t[2],t[3],t[4])},315944413:function(e,t){return new e_.IfcFillAreaStyleTiles(e,t[0],t[1],t[2])},2652556860:function(e,t){return new e_.IfcFixedReferenceSweptAreaSolid(e,t[0],t[1],t[2],t[3],t[4],t[5])},4238390223:function(e,t){return new e_.IfcFurnishingElementType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},1268542332:function(e,t){return new e_.IfcFurnitureType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10])},4095422895:function(e,t){return new e_.IfcGeographicElementType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},987898635:function(e,t){return new e_.IfcGeometricCurveSet(e,t[0])},1484403080:function(e,t){return new e_.IfcIShapeProfileDef(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},178912537:function(e,t){return new e_.IfcIndexedPolygonalFace(e,t[0])},2294589976:function(e,t){return new e_.IfcIndexedPolygonalFaceWithVoids(e,t[0],t[1])},572779678:function(e,t){return new e_.IfcLShapeProfileDef(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},428585644:function(e,t){return new e_.IfcLaborResourceType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11])},1281925730:function(e,t){return new e_.IfcLine(e,t[0],t[1])},1425443689:function(e,t){return new e_.IfcManifoldSolidBrep(e,t[0])},3888040117:function(e,t){return new e_.IfcObject(e,t[0],t[1],t[2],t[3],t[4])},3388369263:function(e,t){return new e_.IfcOffsetCurve2D(e,t[0],t[1],t[2])},3505215534:function(e,t){return new e_.IfcOffsetCurve3D(e,t[0],t[1],t[2],t[3])},1682466193:function(e,t){return new e_.IfcPcurve(e,t[0],t[1])},603570806:function(e,t){return new e_.IfcPlanarBox(e,t[0],t[1],t[2])},220341763:function(e,t){return new e_.IfcPlane(e,t[0])},759155922:function(e,t){return new e_.IfcPreDefinedColour(e,t[0])},2559016684:function(e,t){return new e_.IfcPreDefinedCurveFont(e,t[0])},3967405729:function(e,t){return new e_.IfcPreDefinedPropertySet(e,t[0],t[1],t[2],t[3])},569719735:function(e,t){return new e_.IfcProcedureType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},2945172077:function(e,t){return new e_.IfcProcess(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6])},4208778838:function(e,t){return new e_.IfcProduct(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6])},103090709:function(e,t){return new e_.IfcProject(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},653396225:function(e,t){return new e_.IfcProjectLibrary(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},871118103:function(e,t){return new e_.IfcPropertyBoundedValue(e,t[0],t[1],t[2],t[3],t[4],t[5])},4166981789:function(e,t){return new e_.IfcPropertyEnumeratedValue(e,t[0],t[1],t[2],t[3])},2752243245:function(e,t){return new e_.IfcPropertyListValue(e,t[0],t[1],t[2],t[3])},941946838:function(e,t){return new e_.IfcPropertyReferenceValue(e,t[0],t[1],t[2],t[3])},1451395588:function(e,t){return new e_.IfcPropertySet(e,t[0],t[1],t[2],t[3],t[4])},492091185:function(e,t){return new e_.IfcPropertySetTemplate(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6])},3650150729:function(e,t){return new e_.IfcPropertySingleValue(e,t[0],t[1],t[2],t[3])},110355661:function(e,t){return new e_.IfcPropertyTableValue(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},3521284610:function(e,t){return new e_.IfcPropertyTemplate(e,t[0],t[1],t[2],t[3])},3219374653:function(e,t){return new e_.IfcProxy(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},2770003689:function(e,t){return new e_.IfcRectangleHollowProfileDef(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},2798486643:function(e,t){return new e_.IfcRectangularPyramid(e,t[0],t[1],t[2],t[3])},3454111270:function(e,t){return new e_.IfcRectangularTrimmedSurface(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6])},3765753017:function(e,t){return new e_.IfcReinforcementDefinitionProperties(e,t[0],t[1],t[2],t[3],t[4],t[5])},3939117080:function(e,t){return new e_.IfcRelAssigns(e,t[0],t[1],t[2],t[3],t[4],t[5])},1683148259:function(e,t){return new e_.IfcRelAssignsToActor(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},2495723537:function(e,t){return new e_.IfcRelAssignsToControl(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6])},1307041759:function(e,t){return new e_.IfcRelAssignsToGroup(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6])},1027710054:function(e,t){return new e_.IfcRelAssignsToGroupByFactor(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},4278684876:function(e,t){return new e_.IfcRelAssignsToProcess(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},2857406711:function(e,t){return new e_.IfcRelAssignsToProduct(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6])},205026976:function(e,t){return new e_.IfcRelAssignsToResource(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6])},1865459582:function(e,t){return new e_.IfcRelAssociates(e,t[0],t[1],t[2],t[3],t[4])},4095574036:function(e,t){return new e_.IfcRelAssociatesApproval(e,t[0],t[1],t[2],t[3],t[4],t[5])},919958153:function(e,t){return new e_.IfcRelAssociatesClassification(e,t[0],t[1],t[2],t[3],t[4],t[5])},2728634034:function(e,t){return new e_.IfcRelAssociatesConstraint(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6])},982818633:function(e,t){return new e_.IfcRelAssociatesDocument(e,t[0],t[1],t[2],t[3],t[4],t[5])},3840914261:function(e,t){return new e_.IfcRelAssociatesLibrary(e,t[0],t[1],t[2],t[3],t[4],t[5])},2655215786:function(e,t){return new e_.IfcRelAssociatesMaterial(e,t[0],t[1],t[2],t[3],t[4],t[5])},826625072:function(e,t){return new e_.IfcRelConnects(e,t[0],t[1],t[2],t[3])},1204542856:function(e,t){return new e_.IfcRelConnectsElements(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6])},3945020480:function(e,t){return new e_.IfcRelConnectsPathElements(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10])},4201705270:function(e,t){return new e_.IfcRelConnectsPortToElement(e,t[0],t[1],t[2],t[3],t[4],t[5])},3190031847:function(e,t){return new e_.IfcRelConnectsPorts(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6])},2127690289:function(e,t){return new e_.IfcRelConnectsStructuralActivity(e,t[0],t[1],t[2],t[3],t[4],t[5])},1638771189:function(e,t){return new e_.IfcRelConnectsStructuralMember(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},504942748:function(e,t){return new e_.IfcRelConnectsWithEccentricity(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10])},3678494232:function(e,t){return new e_.IfcRelConnectsWithRealizingElements(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},3242617779:function(e,t){return new e_.IfcRelContainedInSpatialStructure(e,t[0],t[1],t[2],t[3],t[4],t[5])},886880790:function(e,t){return new e_.IfcRelCoversBldgElements(e,t[0],t[1],t[2],t[3],t[4],t[5])},2802773753:function(e,t){return new e_.IfcRelCoversSpaces(e,t[0],t[1],t[2],t[3],t[4],t[5])},2565941209:function(e,t){return new e_.IfcRelDeclares(e,t[0],t[1],t[2],t[3],t[4],t[5])},2551354335:function(e,t){return new e_.IfcRelDecomposes(e,t[0],t[1],t[2],t[3])},693640335:function(e,t){return new e_.IfcRelDefines(e,t[0],t[1],t[2],t[3])},1462361463:function(e,t){return new e_.IfcRelDefinesByObject(e,t[0],t[1],t[2],t[3],t[4],t[5])},4186316022:function(e,t){return new e_.IfcRelDefinesByProperties(e,t[0],t[1],t[2],t[3],t[4],t[5])},307848117:function(e,t){return new e_.IfcRelDefinesByTemplate(e,t[0],t[1],t[2],t[3],t[4],t[5])},781010003:function(e,t){return new e_.IfcRelDefinesByType(e,t[0],t[1],t[2],t[3],t[4],t[5])},3940055652:function(e,t){return new e_.IfcRelFillsElement(e,t[0],t[1],t[2],t[3],t[4],t[5])},279856033:function(e,t){return new e_.IfcRelFlowControlElements(e,t[0],t[1],t[2],t[3],t[4],t[5])},427948657:function(e,t){return new e_.IfcRelInterferesElements(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},3268803585:function(e,t){return new e_.IfcRelNests(e,t[0],t[1],t[2],t[3],t[4],t[5])},750771296:function(e,t){return new e_.IfcRelProjectsElement(e,t[0],t[1],t[2],t[3],t[4],t[5])},1245217292:function(e,t){return new e_.IfcRelReferencedInSpatialStructure(e,t[0],t[1],t[2],t[3],t[4],t[5])},4122056220:function(e,t){return new e_.IfcRelSequence(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},366585022:function(e,t){return new e_.IfcRelServicesBuildings(e,t[0],t[1],t[2],t[3],t[4],t[5])},3451746338:function(e,t){return new e_.IfcRelSpaceBoundary(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},3523091289:function(e,t){return new e_.IfcRelSpaceBoundary1stLevel(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},1521410863:function(e,t){return new e_.IfcRelSpaceBoundary2ndLevel(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10])},1401173127:function(e,t){return new e_.IfcRelVoidsElement(e,t[0],t[1],t[2],t[3],t[4],t[5])},816062949:function(e,t){return new e_.IfcReparametrisedCompositeCurveSegment(e,t[0],t[1],t[2],t[3])},2914609552:function(e,t){return new e_.IfcResource(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6])},1856042241:function(e,t){return new e_.IfcRevolvedAreaSolid(e,t[0],t[1],t[2],t[3])},3243963512:function(e,t){return new e_.IfcRevolvedAreaSolidTapered(e,t[0],t[1],t[2],t[3],t[4])},4158566097:function(e,t){return new e_.IfcRightCircularCone(e,t[0],t[1],t[2])},3626867408:function(e,t){return new e_.IfcRightCircularCylinder(e,t[0],t[1],t[2])},3663146110:function(e,t){return new e_.IfcSimplePropertyTemplate(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11])},1412071761:function(e,t){return new e_.IfcSpatialElement(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},710998568:function(e,t){return new e_.IfcSpatialElementType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},2706606064:function(e,t){return new e_.IfcSpatialStructureElement(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},3893378262:function(e,t){return new e_.IfcSpatialStructureElementType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},463610769:function(e,t){return new e_.IfcSpatialZone(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},2481509218:function(e,t){return new e_.IfcSpatialZoneType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10])},451544542:function(e,t){return new e_.IfcSphere(e,t[0],t[1])},4015995234:function(e,t){return new e_.IfcSphericalSurface(e,t[0],t[1])},3544373492:function(e,t){return new e_.IfcStructuralActivity(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},3136571912:function(e,t){return new e_.IfcStructuralItem(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6])},530289379:function(e,t){return new e_.IfcStructuralMember(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6])},3689010777:function(e,t){return new e_.IfcStructuralReaction(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},3979015343:function(e,t){return new e_.IfcStructuralSurfaceMember(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},2218152070:function(e,t){return new e_.IfcStructuralSurfaceMemberVarying(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},603775116:function(e,t){return new e_.IfcStructuralSurfaceReaction(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},4095615324:function(e,t){return new e_.IfcSubContractResourceType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11])},699246055:function(e,t){return new e_.IfcSurfaceCurve(e,t[0],t[1],t[2])},2028607225:function(e,t){return new e_.IfcSurfaceCurveSweptAreaSolid(e,t[0],t[1],t[2],t[3],t[4],t[5])},2809605785:function(e,t){return new e_.IfcSurfaceOfLinearExtrusion(e,t[0],t[1],t[2],t[3])},4124788165:function(e,t){return new e_.IfcSurfaceOfRevolution(e,t[0],t[1],t[2])},1580310250:function(e,t){return new e_.IfcSystemFurnitureElementType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},3473067441:function(e,t){return new e_.IfcTask(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12])},3206491090:function(e,t){return new e_.IfcTaskType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10])},2387106220:function(e,t){return new e_.IfcTessellatedFaceSet(e,t[0])},1935646853:function(e,t){return new e_.IfcToroidalSurface(e,t[0],t[1],t[2])},2097647324:function(e,t){return new e_.IfcTransportElementType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},2916149573:function(e,t){return new e_.IfcTriangulatedFaceSet(e,t[0],t[1],t[2],t[3],t[4])},336235671:function(e,t){return new e_.IfcWindowLiningProperties(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12],t[13],t[14],t[15])},512836454:function(e,t){return new e_.IfcWindowPanelProperties(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},2296667514:function(e,t){return new e_.IfcActor(e,t[0],t[1],t[2],t[3],t[4],t[5])},1635779807:function(e,t){return new e_.IfcAdvancedBrep(e,t[0])},2603310189:function(e,t){return new e_.IfcAdvancedBrepWithVoids(e,t[0],t[1])},1674181508:function(e,t){return new e_.IfcAnnotation(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6])},2887950389:function(e,t){return new e_.IfcBSplineSurface(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6])},167062518:function(e,t){return new e_.IfcBSplineSurfaceWithKnots(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11])},1334484129:function(e,t){return new e_.IfcBlock(e,t[0],t[1],t[2],t[3])},3649129432:function(e,t){return new e_.IfcBooleanClippingResult(e,t[0],t[1],t[2])},1260505505:function(e,t){return new e_.IfcBoundedCurve(e)},4031249490:function(e,t){return new e_.IfcBuilding(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11])},1950629157:function(e,t){return new e_.IfcBuildingElementType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},3124254112:function(e,t){return new e_.IfcBuildingStorey(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},2197970202:function(e,t){return new e_.IfcChimneyType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},2937912522:function(e,t){return new e_.IfcCircleHollowProfileDef(e,t[0],t[1],t[2],t[3],t[4])},3893394355:function(e,t){return new e_.IfcCivilElementType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},300633059:function(e,t){return new e_.IfcColumnType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},3875453745:function(e,t){return new e_.IfcComplexPropertyTemplate(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6])},3732776249:function(e,t){return new e_.IfcCompositeCurve(e,t[0],t[1])},15328376:function(e,t){return new e_.IfcCompositeCurveOnSurface(e,t[0],t[1])},2510884976:function(e,t){return new e_.IfcConic(e,t[0])},2185764099:function(e,t){return new e_.IfcConstructionEquipmentResourceType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11])},4105962743:function(e,t){return new e_.IfcConstructionMaterialResourceType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11])},1525564444:function(e,t){return new e_.IfcConstructionProductResourceType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11])},2559216714:function(e,t){return new e_.IfcConstructionResource(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},3293443760:function(e,t){return new e_.IfcControl(e,t[0],t[1],t[2],t[3],t[4],t[5])},3895139033:function(e,t){return new e_.IfcCostItem(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},1419761937:function(e,t){return new e_.IfcCostSchedule(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},1916426348:function(e,t){return new e_.IfcCoveringType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},3295246426:function(e,t){return new e_.IfcCrewResource(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10])},1457835157:function(e,t){return new e_.IfcCurtainWallType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},1213902940:function(e,t){return new e_.IfcCylindricalSurface(e,t[0],t[1])},3256556792:function(e,t){return new e_.IfcDistributionElementType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},3849074793:function(e,t){return new e_.IfcDistributionFlowElementType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},2963535650:function(e,t){return new e_.IfcDoorLiningProperties(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12],t[13],t[14],t[15],t[16])},1714330368:function(e,t){return new e_.IfcDoorPanelProperties(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},2323601079:function(e,t){return new e_.IfcDoorType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12])},445594917:function(e,t){return new e_.IfcDraughtingPreDefinedColour(e,t[0])},4006246654:function(e,t){return new e_.IfcDraughtingPreDefinedCurveFont(e,t[0])},1758889154:function(e,t){return new e_.IfcElement(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},4123344466:function(e,t){return new e_.IfcElementAssembly(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},2397081782:function(e,t){return new e_.IfcElementAssemblyType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},1623761950:function(e,t){return new e_.IfcElementComponent(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},2590856083:function(e,t){return new e_.IfcElementComponentType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},1704287377:function(e,t){return new e_.IfcEllipse(e,t[0],t[1],t[2])},2107101300:function(e,t){return new e_.IfcEnergyConversionDeviceType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},132023988:function(e,t){return new e_.IfcEngineType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},3174744832:function(e,t){return new e_.IfcEvaporativeCoolerType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},3390157468:function(e,t){return new e_.IfcEvaporatorType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},4148101412:function(e,t){return new e_.IfcEvent(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10])},2853485674:function(e,t){return new e_.IfcExternalSpatialStructureElement(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},807026263:function(e,t){return new e_.IfcFacetedBrep(e,t[0])},3737207727:function(e,t){return new e_.IfcFacetedBrepWithVoids(e,t[0],t[1])},647756555:function(e,t){return new e_.IfcFastener(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},2489546625:function(e,t){return new e_.IfcFastenerType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},2827207264:function(e,t){return new e_.IfcFeatureElement(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},2143335405:function(e,t){return new e_.IfcFeatureElementAddition(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},1287392070:function(e,t){return new e_.IfcFeatureElementSubtraction(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},3907093117:function(e,t){return new e_.IfcFlowControllerType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},3198132628:function(e,t){return new e_.IfcFlowFittingType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},3815607619:function(e,t){return new e_.IfcFlowMeterType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},1482959167:function(e,t){return new e_.IfcFlowMovingDeviceType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},1834744321:function(e,t){return new e_.IfcFlowSegmentType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},1339347760:function(e,t){return new e_.IfcFlowStorageDeviceType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},2297155007:function(e,t){return new e_.IfcFlowTerminalType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},3009222698:function(e,t){return new e_.IfcFlowTreatmentDeviceType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},1893162501:function(e,t){return new e_.IfcFootingType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},263784265:function(e,t){return new e_.IfcFurnishingElement(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},1509553395:function(e,t){return new e_.IfcFurniture(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},3493046030:function(e,t){return new e_.IfcGeographicElement(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},3009204131:function(e,t){return new e_.IfcGrid(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10])},2706460486:function(e,t){return new e_.IfcGroup(e,t[0],t[1],t[2],t[3],t[4])},1251058090:function(e,t){return new e_.IfcHeatExchangerType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},1806887404:function(e,t){return new e_.IfcHumidifierType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},2571569899:function(e,t){return new e_.IfcIndexedPolyCurve(e,t[0],t[1],t[2])},3946677679:function(e,t){return new e_.IfcInterceptorType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},3113134337:function(e,t){return new e_.IfcIntersectionCurve(e,t[0],t[1],t[2])},2391368822:function(e,t){return new e_.IfcInventory(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10])},4288270099:function(e,t){return new e_.IfcJunctionBoxType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},3827777499:function(e,t){return new e_.IfcLaborResource(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10])},1051575348:function(e,t){return new e_.IfcLampType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},1161773419:function(e,t){return new e_.IfcLightFixtureType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},377706215:function(e,t){return new e_.IfcMechanicalFastener(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10])},2108223431:function(e,t){return new e_.IfcMechanicalFastenerType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11])},1114901282:function(e,t){return new e_.IfcMedicalDeviceType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},3181161470:function(e,t){return new e_.IfcMemberType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},977012517:function(e,t){return new e_.IfcMotorConnectionType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},4143007308:function(e,t){return new e_.IfcOccupant(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6])},3588315303:function(e,t){return new e_.IfcOpeningElement(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},3079942009:function(e,t){return new e_.IfcOpeningStandardCase(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},2837617999:function(e,t){return new e_.IfcOutletType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},2382730787:function(e,t){return new e_.IfcPerformanceHistory(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},3566463478:function(e,t){return new e_.IfcPermeableCoveringProperties(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},3327091369:function(e,t){return new e_.IfcPermit(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},1158309216:function(e,t){return new e_.IfcPileType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},804291784:function(e,t){return new e_.IfcPipeFittingType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},4231323485:function(e,t){return new e_.IfcPipeSegmentType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},4017108033:function(e,t){return new e_.IfcPlateType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},2839578677:function(e,t){return new e_.IfcPolygonalFaceSet(e,t[0],t[1],t[2],t[3])},3724593414:function(e,t){return new e_.IfcPolyline(e,t[0])},3740093272:function(e,t){return new e_.IfcPort(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6])},2744685151:function(e,t){return new e_.IfcProcedure(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},2904328755:function(e,t){return new e_.IfcProjectOrder(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},3651124850:function(e,t){return new e_.IfcProjectionElement(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},1842657554:function(e,t){return new e_.IfcProtectiveDeviceType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},2250791053:function(e,t){return new e_.IfcPumpType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},2893384427:function(e,t){return new e_.IfcRailingType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},2324767716:function(e,t){return new e_.IfcRampFlightType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},1469900589:function(e,t){return new e_.IfcRampType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},683857671:function(e,t){return new e_.IfcRationalBSplineSurfaceWithKnots(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12])},3027567501:function(e,t){return new e_.IfcReinforcingElement(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},964333572:function(e,t){return new e_.IfcReinforcingElementType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},2320036040:function(e,t){return new e_.IfcReinforcingMesh(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12],t[13],t[14],t[15],t[16],t[17])},2310774935:function(e,t){return new e_.IfcReinforcingMeshType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12],t[13],t[14],t[15],t[16],t[17],t[18],t[19])},160246688:function(e,t){return new e_.IfcRelAggregates(e,t[0],t[1],t[2],t[3],t[4],t[5])},2781568857:function(e,t){return new e_.IfcRoofType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},1768891740:function(e,t){return new e_.IfcSanitaryTerminalType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},2157484638:function(e,t){return new e_.IfcSeamCurve(e,t[0],t[1],t[2])},4074543187:function(e,t){return new e_.IfcShadingDeviceType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},4097777520:function(e,t){return new e_.IfcSite(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12],t[13])},2533589738:function(e,t){return new e_.IfcSlabType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},1072016465:function(e,t){return new e_.IfcSolarDeviceType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},3856911033:function(e,t){return new e_.IfcSpace(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10])},1305183839:function(e,t){return new e_.IfcSpaceHeaterType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},3812236995:function(e,t){return new e_.IfcSpaceType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10])},3112655638:function(e,t){return new e_.IfcStackTerminalType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},1039846685:function(e,t){return new e_.IfcStairFlightType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},338393293:function(e,t){return new e_.IfcStairType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},682877961:function(e,t){return new e_.IfcStructuralAction(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},1179482911:function(e,t){return new e_.IfcStructuralConnection(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},1004757350:function(e,t){return new e_.IfcStructuralCurveAction(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11])},4243806635:function(e,t){return new e_.IfcStructuralCurveConnection(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},214636428:function(e,t){return new e_.IfcStructuralCurveMember(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},2445595289:function(e,t){return new e_.IfcStructuralCurveMemberVarying(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},2757150158:function(e,t){return new e_.IfcStructuralCurveReaction(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},1807405624:function(e,t){return new e_.IfcStructuralLinearAction(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11])},1252848954:function(e,t){return new e_.IfcStructuralLoadGroup(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},2082059205:function(e,t){return new e_.IfcStructuralPointAction(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},734778138:function(e,t){return new e_.IfcStructuralPointConnection(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},1235345126:function(e,t){return new e_.IfcStructuralPointReaction(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},2986769608:function(e,t){return new e_.IfcStructuralResultGroup(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},3657597509:function(e,t){return new e_.IfcStructuralSurfaceAction(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11])},1975003073:function(e,t){return new e_.IfcStructuralSurfaceConnection(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},148013059:function(e,t){return new e_.IfcSubContractResource(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10])},3101698114:function(e,t){return new e_.IfcSurfaceFeature(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},2315554128:function(e,t){return new e_.IfcSwitchingDeviceType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},2254336722:function(e,t){return new e_.IfcSystem(e,t[0],t[1],t[2],t[3],t[4])},413509423:function(e,t){return new e_.IfcSystemFurnitureElement(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},5716631:function(e,t){return new e_.IfcTankType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},3824725483:function(e,t){return new e_.IfcTendon(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12],t[13],t[14],t[15],t[16])},2347447852:function(e,t){return new e_.IfcTendonAnchor(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},3081323446:function(e,t){return new e_.IfcTendonAnchorType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},2415094496:function(e,t){return new e_.IfcTendonType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12])},1692211062:function(e,t){return new e_.IfcTransformerType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},1620046519:function(e,t){return new e_.IfcTransportElement(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},3593883385:function(e,t){return new e_.IfcTrimmedCurve(e,t[0],t[1],t[2],t[3],t[4])},1600972822:function(e,t){return new e_.IfcTubeBundleType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},1911125066:function(e,t){return new e_.IfcUnitaryEquipmentType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},728799441:function(e,t){return new e_.IfcValveType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},2391383451:function(e,t){return new e_.IfcVibrationIsolator(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},3313531582:function(e,t){return new e_.IfcVibrationIsolatorType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},2769231204:function(e,t){return new e_.IfcVirtualElement(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},926996030:function(e,t){return new e_.IfcVoidingFeature(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},1898987631:function(e,t){return new e_.IfcWallType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},1133259667:function(e,t){return new e_.IfcWasteTerminalType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},4009809668:function(e,t){return new e_.IfcWindowType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12])},4088093105:function(e,t){return new e_.IfcWorkCalendar(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},1028945134:function(e,t){return new e_.IfcWorkControl(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12])},4218914973:function(e,t){return new e_.IfcWorkPlan(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12],t[13])},3342526732:function(e,t){return new e_.IfcWorkSchedule(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12],t[13])},1033361043:function(e,t){return new e_.IfcZone(e,t[0],t[1],t[2],t[3],t[4],t[5])},3821786052:function(e,t){return new e_.IfcActionRequest(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},1411407467:function(e,t){return new e_.IfcAirTerminalBoxType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},3352864051:function(e,t){return new e_.IfcAirTerminalType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},1871374353:function(e,t){return new e_.IfcAirToAirHeatRecoveryType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},3460190687:function(e,t){return new e_.IfcAsset(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12],t[13])},1532957894:function(e,t){return new e_.IfcAudioVisualApplianceType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},1967976161:function(e,t){return new e_.IfcBSplineCurve(e,t[0],t[1],t[2],t[3],t[4])},2461110595:function(e,t){return new e_.IfcBSplineCurveWithKnots(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},819618141:function(e,t){return new e_.IfcBeamType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},231477066:function(e,t){return new e_.IfcBoilerType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},1136057603:function(e,t){return new e_.IfcBoundaryCurve(e,t[0],t[1])},3299480353:function(e,t){return new e_.IfcBuildingElement(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},2979338954:function(e,t){return new e_.IfcBuildingElementPart(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},39481116:function(e,t){return new e_.IfcBuildingElementPartType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},1095909175:function(e,t){return new e_.IfcBuildingElementProxy(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},1909888760:function(e,t){return new e_.IfcBuildingElementProxyType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},1177604601:function(e,t){return new e_.IfcBuildingSystem(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6])},2188180465:function(e,t){return new e_.IfcBurnerType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},395041908:function(e,t){return new e_.IfcCableCarrierFittingType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},3293546465:function(e,t){return new e_.IfcCableCarrierSegmentType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},2674252688:function(e,t){return new e_.IfcCableFittingType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},1285652485:function(e,t){return new e_.IfcCableSegmentType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},2951183804:function(e,t){return new e_.IfcChillerType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},3296154744:function(e,t){return new e_.IfcChimney(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},2611217952:function(e,t){return new e_.IfcCircle(e,t[0],t[1])},1677625105:function(e,t){return new e_.IfcCivilElement(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},2301859152:function(e,t){return new e_.IfcCoilType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},843113511:function(e,t){return new e_.IfcColumn(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},905975707:function(e,t){return new e_.IfcColumnStandardCase(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},400855858:function(e,t){return new e_.IfcCommunicationsApplianceType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},3850581409:function(e,t){return new e_.IfcCompressorType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},2816379211:function(e,t){return new e_.IfcCondenserType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},3898045240:function(e,t){return new e_.IfcConstructionEquipmentResource(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10])},1060000209:function(e,t){return new e_.IfcConstructionMaterialResource(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10])},488727124:function(e,t){return new e_.IfcConstructionProductResource(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10])},335055490:function(e,t){return new e_.IfcCooledBeamType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},2954562838:function(e,t){return new e_.IfcCoolingTowerType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},1973544240:function(e,t){return new e_.IfcCovering(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},3495092785:function(e,t){return new e_.IfcCurtainWall(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},3961806047:function(e,t){return new e_.IfcDamperType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},1335981549:function(e,t){return new e_.IfcDiscreteAccessory(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},2635815018:function(e,t){return new e_.IfcDiscreteAccessoryType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},1599208980:function(e,t){return new e_.IfcDistributionChamberElementType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},2063403501:function(e,t){return new e_.IfcDistributionControlElementType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},1945004755:function(e,t){return new e_.IfcDistributionElement(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},3040386961:function(e,t){return new e_.IfcDistributionFlowElement(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},3041715199:function(e,t){return new e_.IfcDistributionPort(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},3205830791:function(e,t){return new e_.IfcDistributionSystem(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6])},395920057:function(e,t){return new e_.IfcDoor(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12])},3242481149:function(e,t){return new e_.IfcDoorStandardCase(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12])},869906466:function(e,t){return new e_.IfcDuctFittingType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},3760055223:function(e,t){return new e_.IfcDuctSegmentType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},2030761528:function(e,t){return new e_.IfcDuctSilencerType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},663422040:function(e,t){return new e_.IfcElectricApplianceType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},2417008758:function(e,t){return new e_.IfcElectricDistributionBoardType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},3277789161:function(e,t){return new e_.IfcElectricFlowStorageDeviceType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},1534661035:function(e,t){return new e_.IfcElectricGeneratorType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},1217240411:function(e,t){return new e_.IfcElectricMotorType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},712377611:function(e,t){return new e_.IfcElectricTimeControlType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},1658829314:function(e,t){return new e_.IfcEnergyConversionDevice(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},2814081492:function(e,t){return new e_.IfcEngine(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},3747195512:function(e,t){return new e_.IfcEvaporativeCooler(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},484807127:function(e,t){return new e_.IfcEvaporator(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},1209101575:function(e,t){return new e_.IfcExternalSpatialElement(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},346874300:function(e,t){return new e_.IfcFanType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},1810631287:function(e,t){return new e_.IfcFilterType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},4222183408:function(e,t){return new e_.IfcFireSuppressionTerminalType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},2058353004:function(e,t){return new e_.IfcFlowController(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},4278956645:function(e,t){return new e_.IfcFlowFitting(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},4037862832:function(e,t){return new e_.IfcFlowInstrumentType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},2188021234:function(e,t){return new e_.IfcFlowMeter(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},3132237377:function(e,t){return new e_.IfcFlowMovingDevice(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},987401354:function(e,t){return new e_.IfcFlowSegment(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},707683696:function(e,t){return new e_.IfcFlowStorageDevice(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},2223149337:function(e,t){return new e_.IfcFlowTerminal(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},3508470533:function(e,t){return new e_.IfcFlowTreatmentDevice(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},900683007:function(e,t){return new e_.IfcFooting(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},3319311131:function(e,t){return new e_.IfcHeatExchanger(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},2068733104:function(e,t){return new e_.IfcHumidifier(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},4175244083:function(e,t){return new e_.IfcInterceptor(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},2176052936:function(e,t){return new e_.IfcJunctionBox(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},76236018:function(e,t){return new e_.IfcLamp(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},629592764:function(e,t){return new e_.IfcLightFixture(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},1437502449:function(e,t){return new e_.IfcMedicalDevice(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},1073191201:function(e,t){return new e_.IfcMember(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},1911478936:function(e,t){return new e_.IfcMemberStandardCase(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},2474470126:function(e,t){return new e_.IfcMotorConnection(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},144952367:function(e,t){return new e_.IfcOuterBoundaryCurve(e,t[0],t[1])},3694346114:function(e,t){return new e_.IfcOutlet(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},1687234759:function(e,t){return new e_.IfcPile(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},310824031:function(e,t){return new e_.IfcPipeFitting(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},3612865200:function(e,t){return new e_.IfcPipeSegment(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},3171933400:function(e,t){return new e_.IfcPlate(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},1156407060:function(e,t){return new e_.IfcPlateStandardCase(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},738039164:function(e,t){return new e_.IfcProtectiveDevice(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},655969474:function(e,t){return new e_.IfcProtectiveDeviceTrippingUnitType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},90941305:function(e,t){return new e_.IfcPump(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},2262370178:function(e,t){return new e_.IfcRailing(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},3024970846:function(e,t){return new e_.IfcRamp(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},3283111854:function(e,t){return new e_.IfcRampFlight(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},1232101972:function(e,t){return new e_.IfcRationalBSplineCurveWithKnots(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},979691226:function(e,t){return new e_.IfcReinforcingBar(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12],t[13])},2572171363:function(e,t){return new e_.IfcReinforcingBarType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12],t[13],t[14],t[15])},2016517767:function(e,t){return new e_.IfcRoof(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},3053780830:function(e,t){return new e_.IfcSanitaryTerminal(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},1783015770:function(e,t){return new e_.IfcSensorType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},1329646415:function(e,t){return new e_.IfcShadingDevice(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},1529196076:function(e,t){return new e_.IfcSlab(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},3127900445:function(e,t){return new e_.IfcSlabElementedCase(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},3027962421:function(e,t){return new e_.IfcSlabStandardCase(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},3420628829:function(e,t){return new e_.IfcSolarDevice(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},1999602285:function(e,t){return new e_.IfcSpaceHeater(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},1404847402:function(e,t){return new e_.IfcStackTerminal(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},331165859:function(e,t){return new e_.IfcStair(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},4252922144:function(e,t){return new e_.IfcStairFlight(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12])},2515109513:function(e,t){return new e_.IfcStructuralAnalysisModel(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},385403989:function(e,t){return new e_.IfcStructuralLoadCase(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10])},1621171031:function(e,t){return new e_.IfcStructuralPlanarAction(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11])},1162798199:function(e,t){return new e_.IfcSwitchingDevice(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},812556717:function(e,t){return new e_.IfcTank(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},3825984169:function(e,t){return new e_.IfcTransformer(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},3026737570:function(e,t){return new e_.IfcTubeBundle(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},3179687236:function(e,t){return new e_.IfcUnitaryControlElementType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},4292641817:function(e,t){return new e_.IfcUnitaryEquipment(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},4207607924:function(e,t){return new e_.IfcValve(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},2391406946:function(e,t){return new e_.IfcWall(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},4156078855:function(e,t){return new e_.IfcWallElementedCase(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},3512223829:function(e,t){return new e_.IfcWallStandardCase(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},4237592921:function(e,t){return new e_.IfcWasteTerminal(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},3304561284:function(e,t){return new e_.IfcWindow(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12])},486154966:function(e,t){return new e_.IfcWindowStandardCase(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12])},2874132201:function(e,t){return new e_.IfcActuatorType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},1634111441:function(e,t){return new e_.IfcAirTerminal(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},177149247:function(e,t){return new e_.IfcAirTerminalBox(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},2056796094:function(e,t){return new e_.IfcAirToAirHeatRecovery(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},3001207471:function(e,t){return new e_.IfcAlarmType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},277319702:function(e,t){return new e_.IfcAudioVisualAppliance(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},753842376:function(e,t){return new e_.IfcBeam(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},2906023776:function(e,t){return new e_.IfcBeamStandardCase(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},32344328:function(e,t){return new e_.IfcBoiler(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},2938176219:function(e,t){return new e_.IfcBurner(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},635142910:function(e,t){return new e_.IfcCableCarrierFitting(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},3758799889:function(e,t){return new e_.IfcCableCarrierSegment(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},1051757585:function(e,t){return new e_.IfcCableFitting(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},4217484030:function(e,t){return new e_.IfcCableSegment(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},3902619387:function(e,t){return new e_.IfcChiller(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},639361253:function(e,t){return new e_.IfcCoil(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},3221913625:function(e,t){return new e_.IfcCommunicationsAppliance(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},3571504051:function(e,t){return new e_.IfcCompressor(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},2272882330:function(e,t){return new e_.IfcCondenser(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},578613899:function(e,t){return new e_.IfcControllerType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},4136498852:function(e,t){return new e_.IfcCooledBeam(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},3640358203:function(e,t){return new e_.IfcCoolingTower(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},4074379575:function(e,t){return new e_.IfcDamper(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},1052013943:function(e,t){return new e_.IfcDistributionChamberElement(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},562808652:function(e,t){return new e_.IfcDistributionCircuit(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6])},1062813311:function(e,t){return new e_.IfcDistributionControlElement(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},342316401:function(e,t){return new e_.IfcDuctFitting(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},3518393246:function(e,t){return new e_.IfcDuctSegment(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},1360408905:function(e,t){return new e_.IfcDuctSilencer(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},1904799276:function(e,t){return new e_.IfcElectricAppliance(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},862014818:function(e,t){return new e_.IfcElectricDistributionBoard(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},3310460725:function(e,t){return new e_.IfcElectricFlowStorageDevice(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},264262732:function(e,t){return new e_.IfcElectricGenerator(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},402227799:function(e,t){return new e_.IfcElectricMotor(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},1003880860:function(e,t){return new e_.IfcElectricTimeControl(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},3415622556:function(e,t){return new e_.IfcFan(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},819412036:function(e,t){return new e_.IfcFilter(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},1426591983:function(e,t){return new e_.IfcFireSuppressionTerminal(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},182646315:function(e,t){return new e_.IfcFlowInstrument(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},2295281155:function(e,t){return new e_.IfcProtectiveDeviceTrippingUnit(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},4086658281:function(e,t){return new e_.IfcSensor(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},630975310:function(e,t){return new e_.IfcUnitaryControlElement(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},4288193352:function(e,t){return new e_.IfcActuator(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},3087945054:function(e,t){return new e_.IfcAlarm(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},25142252:function(e,t){return new e_.IfcController(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])}},Q_[2]={3630933823:function(e){return[e.Role,e.UserDefinedRole,e.Description]},618182010:function(e){return[e.Purpose,e.Description,e.UserDefinedPurpose]},639542469:function(e){return[e.ApplicationDeveloper,e.Version,e.ApplicationFullName,e.ApplicationIdentifier]},411424972:function(e){return[e.Name,e.Description,e.AppliedValue,e.UnitBasis,e.ApplicableDate,e.FixedUntilDate,e.Category,e.Condition,e.ArithmeticOperator,e.Components]},130549933:function(e){return[e.Identifier,e.Name,e.Description,e.TimeOfApproval,e.Status,e.Level,e.Qualifier,e.RequestingApproval,e.GivingApproval]},4037036970:function(e){return[e.Name]},1560379544:function(e){return[e.Name,e.TranslationalStiffnessByLengthX?Y_(e.TranslationalStiffnessByLengthX):null,e.TranslationalStiffnessByLengthY?Y_(e.TranslationalStiffnessByLengthY):null,e.TranslationalStiffnessByLengthZ?Y_(e.TranslationalStiffnessByLengthZ):null,e.RotationalStiffnessByLengthX?Y_(e.RotationalStiffnessByLengthX):null,e.RotationalStiffnessByLengthY?Y_(e.RotationalStiffnessByLengthY):null,e.RotationalStiffnessByLengthZ?Y_(e.RotationalStiffnessByLengthZ):null]},3367102660:function(e){return[e.Name,e.TranslationalStiffnessByAreaX?Y_(e.TranslationalStiffnessByAreaX):null,e.TranslationalStiffnessByAreaY?Y_(e.TranslationalStiffnessByAreaY):null,e.TranslationalStiffnessByAreaZ?Y_(e.TranslationalStiffnessByAreaZ):null]},1387855156:function(e){return[e.Name,e.TranslationalStiffnessX?Y_(e.TranslationalStiffnessX):null,e.TranslationalStiffnessY?Y_(e.TranslationalStiffnessY):null,e.TranslationalStiffnessZ?Y_(e.TranslationalStiffnessZ):null,e.RotationalStiffnessX?Y_(e.RotationalStiffnessX):null,e.RotationalStiffnessY?Y_(e.RotationalStiffnessY):null,e.RotationalStiffnessZ?Y_(e.RotationalStiffnessZ):null]},2069777674:function(e){return[e.Name,e.TranslationalStiffnessX?Y_(e.TranslationalStiffnessX):null,e.TranslationalStiffnessY?Y_(e.TranslationalStiffnessY):null,e.TranslationalStiffnessZ?Y_(e.TranslationalStiffnessZ):null,e.RotationalStiffnessX?Y_(e.RotationalStiffnessX):null,e.RotationalStiffnessY?Y_(e.RotationalStiffnessY):null,e.RotationalStiffnessZ?Y_(e.RotationalStiffnessZ):null,e.WarpingStiffness?Y_(e.WarpingStiffness):null]},2859738748:function(e){return[]},2614616156:function(e){return[e.PointOnRelatingElement,e.PointOnRelatedElement]},2732653382:function(e){return[e.SurfaceOnRelatingElement,e.SurfaceOnRelatedElement]},775493141:function(e){return[e.VolumeOnRelatingElement,e.VolumeOnRelatedElement]},1959218052:function(e){return[e.Name,e.Description,e.ConstraintGrade,e.ConstraintSource,e.CreatingActor,e.CreationTime,e.UserDefinedGrade]},1785450214:function(e){return[e.SourceCRS,e.TargetCRS]},1466758467:function(e){return[e.Name,e.Description,e.GeodeticDatum,e.VerticalDatum]},602808272:function(e){return[e.Name,e.Description,e.AppliedValue,e.UnitBasis,e.ApplicableDate,e.FixedUntilDate,e.Category,e.Condition,e.ArithmeticOperator,e.Components]},1765591967:function(e){return[e.Elements,e.UnitType,e.UserDefinedType]},1045800335:function(e){return[e.Unit,e.Exponent]},2949456006:function(e){return[e.LengthExponent,e.MassExponent,e.TimeExponent,e.ElectricCurrentExponent,e.ThermodynamicTemperatureExponent,e.AmountOfSubstanceExponent,e.LuminousIntensityExponent]},4294318154:function(e){return[]},3200245327:function(e){return[e.Location,e.Identification,e.Name]},2242383968:function(e){return[e.Location,e.Identification,e.Name]},1040185647:function(e){return[e.Location,e.Identification,e.Name]},3548104201:function(e){return[e.Location,e.Identification,e.Name]},852622518:function(e){var t;return[e.AxisTag,e.AxisCurve,null==(t=e.SameSense)?void 0:t.toString()]},3020489413:function(e){return[e.TimeStamp,e.ListValues.map((function(e){return Y_(e)}))]},2655187982:function(e){return[e.Name,e.Version,e.Publisher,e.VersionDate,e.Location,e.Description]},3452421091:function(e){return[e.Location,e.Identification,e.Name,e.Description,e.Language,e.ReferencedLibrary]},4162380809:function(e){return[e.MainPlaneAngle,e.SecondaryPlaneAngle,e.LuminousIntensity]},1566485204:function(e){return[e.LightDistributionCurve,e.DistributionData]},3057273783:function(e){return[e.SourceCRS,e.TargetCRS,e.Eastings,e.Northings,e.OrthogonalHeight,e.XAxisAbscissa,e.XAxisOrdinate,e.Scale]},1847130766:function(e){return[e.MaterialClassifications,e.ClassifiedMaterial]},760658860:function(e){return[]},248100487:function(e){var t;return[e.Material,e.LayerThickness,null==(t=e.IsVentilated)?void 0:t.toString(),e.Name,e.Description,e.Category,e.Priority]},3303938423:function(e){return[e.MaterialLayers,e.LayerSetName,e.Description]},1847252529:function(e){var t;return[e.Material,e.LayerThickness,null==(t=e.IsVentilated)?void 0:t.toString(),e.Name,e.Description,e.Category,e.Priority,e.OffsetDirection,e.OffsetValues]},2199411900:function(e){return[e.Materials]},2235152071:function(e){return[e.Name,e.Description,e.Material,e.Profile,e.Priority,e.Category]},164193824:function(e){return[e.Name,e.Description,e.MaterialProfiles,e.CompositeProfile]},552965576:function(e){return[e.Name,e.Description,e.Material,e.Profile,e.Priority,e.Category,e.OffsetValues]},1507914824:function(e){return[]},2597039031:function(e){return[Y_(e.ValueComponent),e.UnitComponent]},3368373690:function(e){return[e.Name,e.Description,e.ConstraintGrade,e.ConstraintSource,e.CreatingActor,e.CreationTime,e.UserDefinedGrade,e.Benchmark,e.ValueSource,e.DataValue,e.ReferencePath]},2706619895:function(e){return[e.Currency]},1918398963:function(e){return[e.Dimensions,e.UnitType]},3701648758:function(e){return[]},2251480897:function(e){return[e.Name,e.Description,e.ConstraintGrade,e.ConstraintSource,e.CreatingActor,e.CreationTime,e.UserDefinedGrade,e.BenchmarkValues,e.LogicalAggregator,e.ObjectiveQualifier,e.UserDefinedQualifier]},4251960020:function(e){return[e.Identification,e.Name,e.Description,e.Roles,e.Addresses]},1207048766:function(e){return[e.OwningUser,e.OwningApplication,e.State,e.ChangeAction,e.LastModifiedDate,e.LastModifyingUser,e.LastModifyingApplication,e.CreationDate]},2077209135:function(e){return[e.Identification,e.FamilyName,e.GivenName,e.MiddleNames,e.PrefixTitles,e.SuffixTitles,e.Roles,e.Addresses]},101040310:function(e){return[e.ThePerson,e.TheOrganization,e.Roles]},2483315170:function(e){return[e.Name,e.Description]},2226359599:function(e){return[e.Name,e.Description,e.Unit]},3355820592:function(e){return[e.Purpose,e.Description,e.UserDefinedPurpose,e.InternalLocation,e.AddressLines,e.PostalBox,e.Town,e.Region,e.PostalCode,e.Country]},677532197:function(e){return[]},2022622350:function(e){return[e.Name,e.Description,e.AssignedItems,e.Identifier]},1304840413:function(e){var t,n,r;return[e.Name,e.Description,e.AssignedItems,e.Identifier,null==(t=e.LayerOn)?void 0:t.toString(),null==(n=e.LayerFrozen)?void 0:n.toString(),null==(r=e.LayerBlocked)?void 0:r.toString(),e.LayerStyles]},3119450353:function(e){return[e.Name]},2417041796:function(e){return[e.Styles]},2095639259:function(e){return[e.Name,e.Description,e.Representations]},3958567839:function(e){return[e.ProfileType,e.ProfileName]},3843373140:function(e){return[e.Name,e.Description,e.GeodeticDatum,e.VerticalDatum,e.MapProjection,e.MapZone,e.MapUnit]},986844984:function(e){return[]},3710013099:function(e){return[e.Name,e.EnumerationValues.map((function(e){return Y_(e)})),e.Unit]},2044713172:function(e){return[e.Name,e.Description,e.Unit,e.AreaValue,e.Formula]},2093928680:function(e){return[e.Name,e.Description,e.Unit,e.CountValue,e.Formula]},931644368:function(e){return[e.Name,e.Description,e.Unit,e.LengthValue,e.Formula]},3252649465:function(e){return[e.Name,e.Description,e.Unit,e.TimeValue,e.Formula]},2405470396:function(e){return[e.Name,e.Description,e.Unit,e.VolumeValue,e.Formula]},825690147:function(e){return[e.Name,e.Description,e.Unit,e.WeightValue,e.Formula]},3915482550:function(e){return[e.RecurrenceType,e.DayComponent,e.WeekdayComponent,e.MonthComponent,e.Position,e.Interval,e.Occurrences,e.TimePeriods]},2433181523:function(e){return[e.TypeIdentifier,e.AttributeIdentifier,e.InstanceName,e.ListPositions,e.InnerReference]},1076942058:function(e){return[e.ContextOfItems,e.RepresentationIdentifier,e.RepresentationType,e.Items]},3377609919:function(e){return[e.ContextIdentifier,e.ContextType]},3008791417:function(e){return[]},1660063152:function(e){return[e.MappingOrigin,e.MappedRepresentation]},2439245199:function(e){return[e.Name,e.Description]},2341007311:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description]},448429030:function(e){return[e.Dimensions,e.UnitType,e.Prefix,e.Name]},1054537805:function(e){return[e.Name,e.DataOrigin,e.UserDefinedDataOrigin]},867548509:function(e){var t;return[e.ShapeRepresentations,e.Name,e.Description,null==(t=e.ProductDefinitional)?void 0:t.toString(),e.PartOfProductDefinitionShape]},3982875396:function(e){return[e.ContextOfItems,e.RepresentationIdentifier,e.RepresentationType,e.Items]},4240577450:function(e){return[e.ContextOfItems,e.RepresentationIdentifier,e.RepresentationType,e.Items]},2273995522:function(e){return[e.Name]},2162789131:function(e){return[e.Name]},3478079324:function(e){return[e.Name,e.Values,e.Locations]},609421318:function(e){return[e.Name]},2525727697:function(e){return[e.Name]},3408363356:function(e){return[e.Name,e.DeltaTConstant,e.DeltaTY,e.DeltaTZ]},2830218821:function(e){return[e.ContextOfItems,e.RepresentationIdentifier,e.RepresentationType,e.Items]},3958052878:function(e){return[e.Item,e.Styles,e.Name]},3049322572:function(e){return[e.ContextOfItems,e.RepresentationIdentifier,e.RepresentationType,e.Items]},2934153892:function(e){return[e.Name,e.SurfaceReinforcement1,e.SurfaceReinforcement2,e.ShearReinforcement]},1300840506:function(e){return[e.Name,e.Side,e.Styles]},3303107099:function(e){return[e.DiffuseTransmissionColour,e.DiffuseReflectionColour,e.TransmissionColour,e.ReflectanceColour]},1607154358:function(e){return[e.RefractionIndex,e.DispersionFactor]},846575682:function(e){return[e.SurfaceColour,e.Transparency]},1351298697:function(e){return[e.Textures]},626085974:function(e){var t,n;return[null==(t=e.RepeatS)?void 0:t.toString(),null==(n=e.RepeatT)?void 0:n.toString(),e.Mode,e.TextureTransform,e.Parameter]},985171141:function(e){return[e.Name,e.Rows,e.Columns]},2043862942:function(e){return[e.Identifier,e.Name,e.Description,e.Unit,e.ReferencePath]},531007025:function(e){var t;return[e.RowCells?e.RowCells.map((function(e){return Y_(e)})):null,null==(t=e.IsHeading)?void 0:t.toString()]},1549132990:function(e){var t;return[e.Name,e.DataOrigin,e.UserDefinedDataOrigin,e.DurationType,e.ScheduleDuration,e.ScheduleStart,e.ScheduleFinish,e.EarlyStart,e.EarlyFinish,e.LateStart,e.LateFinish,e.FreeFloat,e.TotalFloat,null==(t=e.IsCritical)?void 0:t.toString(),e.StatusTime,e.ActualDuration,e.ActualStart,e.ActualFinish,e.RemainingTime,e.Completion]},2771591690:function(e){var t;return[e.Name,e.DataOrigin,e.UserDefinedDataOrigin,e.DurationType,e.ScheduleDuration,e.ScheduleStart,e.ScheduleFinish,e.EarlyStart,e.EarlyFinish,e.LateStart,e.LateFinish,e.FreeFloat,e.TotalFloat,null==(t=e.IsCritical)?void 0:t.toString(),e.StatusTime,e.ActualDuration,e.ActualStart,e.ActualFinish,e.RemainingTime,e.Completion,e.Recurrence]},912023232:function(e){return[e.Purpose,e.Description,e.UserDefinedPurpose,e.TelephoneNumbers,e.FacsimileNumbers,e.PagerNumber,e.ElectronicMailAddresses,e.WWWHomePageURL,e.MessagingIDs]},1447204868:function(e){var t;return[e.Name,e.TextCharacterAppearance,e.TextStyle,e.TextFontStyle,null==(t=e.ModelOrDraughting)?void 0:t.toString()]},2636378356:function(e){return[e.Colour,e.BackgroundColour]},1640371178:function(e){return[e.TextIndent?Y_(e.TextIndent):null,e.TextAlign,e.TextDecoration,e.LetterSpacing?Y_(e.LetterSpacing):null,e.WordSpacing?Y_(e.WordSpacing):null,e.TextTransform,e.LineHeight?Y_(e.LineHeight):null]},280115917:function(e){return[e.Maps]},1742049831:function(e){return[e.Maps,e.Mode,e.Parameter]},2552916305:function(e){return[e.Maps,e.Vertices,e.MappedTo]},1210645708:function(e){return[e.Coordinates]},3611470254:function(e){return[e.TexCoordsList]},1199560280:function(e){return[e.StartTime,e.EndTime]},3101149627:function(e){return[e.Name,e.Description,e.StartTime,e.EndTime,e.TimeSeriesDataType,e.DataOrigin,e.UserDefinedDataOrigin,e.Unit]},581633288:function(e){return[e.ListValues.map((function(e){return Y_(e)}))]},1377556343:function(e){return[]},1735638870:function(e){return[e.ContextOfItems,e.RepresentationIdentifier,e.RepresentationType,e.Items]},180925521:function(e){return[e.Units]},2799835756:function(e){return[]},1907098498:function(e){return[e.VertexGeometry]},891718957:function(e){return[e.IntersectingAxes,e.OffsetDistances]},1236880293:function(e){return[e.Name,e.DataOrigin,e.UserDefinedDataOrigin,e.RecurrencePattern,e.Start,e.Finish]},3869604511:function(e){return[e.Name,e.Description,e.RelatingApproval,e.RelatedApprovals]},3798115385:function(e){return[e.ProfileType,e.ProfileName,e.OuterCurve]},1310608509:function(e){return[e.ProfileType,e.ProfileName,e.Curve]},2705031697:function(e){return[e.ProfileType,e.ProfileName,e.OuterCurve,e.InnerCurves]},616511568:function(e){var t,n;return[null==(t=e.RepeatS)?void 0:t.toString(),null==(n=e.RepeatT)?void 0:n.toString(),e.Mode,e.TextureTransform,e.Parameter,e.RasterFormat,e.RasterCode]},3150382593:function(e){return[e.ProfileType,e.ProfileName,e.Curve,e.Thickness]},747523909:function(e){return[e.Source,e.Edition,e.EditionDate,e.Name,e.Description,e.Location,e.ReferenceTokens]},647927063:function(e){return[e.Location,e.Identification,e.Name,e.ReferencedSource,e.Description,e.Sort]},3285139300:function(e){return[e.ColourList]},3264961684:function(e){return[e.Name]},1485152156:function(e){return[e.ProfileType,e.ProfileName,e.Profiles,e.Label]},370225590:function(e){return[e.CfsFaces]},1981873012:function(e){return[e.CurveOnRelatingElement,e.CurveOnRelatedElement]},45288368:function(e){return[e.PointOnRelatingElement,e.PointOnRelatedElement,e.EccentricityInX,e.EccentricityInY,e.EccentricityInZ]},3050246964:function(e){return[e.Dimensions,e.UnitType,e.Name]},2889183280:function(e){return[e.Dimensions,e.UnitType,e.Name,e.ConversionFactor]},2713554722:function(e){return[e.Dimensions,e.UnitType,e.Name,e.ConversionFactor,e.ConversionOffset]},539742890:function(e){return[e.Name,e.Description,e.RelatingMonetaryUnit,e.RelatedMonetaryUnit,e.ExchangeRate,e.RateDateTime,e.RateSource]},3800577675:function(e){var t;return[e.Name,e.CurveFont,e.CurveWidth?Y_(e.CurveWidth):null,e.CurveColour,null==(t=e.ModelOrDraughting)?void 0:t.toString()]},1105321065:function(e){return[e.Name,e.PatternList]},2367409068:function(e){return[e.Name,e.CurveFont,e.CurveFontScaling]},3510044353:function(e){return[e.VisibleSegmentLength,e.InvisibleSegmentLength]},3632507154:function(e){return[e.ProfileType,e.ProfileName,e.ParentProfile,e.Operator,e.Label]},1154170062:function(e){return[e.Identification,e.Name,e.Description,e.Location,e.Purpose,e.IntendedUse,e.Scope,e.Revision,e.DocumentOwner,e.Editors,e.CreationTime,e.LastRevisionTime,e.ElectronicFormat,e.ValidFrom,e.ValidUntil,e.Confidentiality,e.Status]},770865208:function(e){return[e.Name,e.Description,e.RelatingDocument,e.RelatedDocuments,e.RelationshipType]},3732053477:function(e){return[e.Location,e.Identification,e.Name,e.Description,e.ReferencedDocument]},3900360178:function(e){return[e.EdgeStart,e.EdgeEnd]},476780140:function(e){var t;return[e.EdgeStart,e.EdgeEnd,e.EdgeGeometry,null==(t=e.SameSense)?void 0:t.toString()]},211053100:function(e){return[e.Name,e.DataOrigin,e.UserDefinedDataOrigin,e.ActualDate,e.EarlyDate,e.LateDate,e.ScheduleDate]},297599258:function(e){return[e.Name,e.Description,e.Properties]},1437805879:function(e){return[e.Name,e.Description,e.RelatingReference,e.RelatedResourceObjects]},2556980723:function(e){return[e.Bounds]},1809719519:function(e){var t;return[e.Bound,null==(t=e.Orientation)?void 0:t.toString()]},803316827:function(e){var t;return[e.Bound,null==(t=e.Orientation)?void 0:t.toString()]},3008276851:function(e){var t;return[e.Bounds,e.FaceSurface,null==(t=e.SameSense)?void 0:t.toString()]},4219587988:function(e){return[e.Name,e.TensionFailureX,e.TensionFailureY,e.TensionFailureZ,e.CompressionFailureX,e.CompressionFailureY,e.CompressionFailureZ]},738692330:function(e){var t;return[e.Name,e.FillStyles,null==(t=e.ModelorDraughting)?void 0:t.toString()]},3448662350:function(e){return[e.ContextIdentifier,e.ContextType,e.CoordinateSpaceDimension,e.Precision,e.WorldCoordinateSystem,e.TrueNorth]},2453401579:function(e){return[]},4142052618:function(e){return[e.ContextIdentifier,e.ContextType,e.CoordinateSpaceDimension,e.Precision,e.WorldCoordinateSystem,e.TrueNorth,e.ParentContext,e.TargetScale,e.TargetView,e.UserDefinedTargetView]},3590301190:function(e){return[e.Elements]},178086475:function(e){return[e.PlacementLocation,e.PlacementRefDirection]},812098782:function(e){var t;return[e.BaseSurface,null==(t=e.AgreementFlag)?void 0:t.toString()]},3905492369:function(e){var t,n;return[null==(t=e.RepeatS)?void 0:t.toString(),null==(n=e.RepeatT)?void 0:n.toString(),e.Mode,e.TextureTransform,e.Parameter,e.URLReference]},3570813810:function(e){return[e.MappedTo,e.Opacity,e.Colours,e.ColourIndex]},1437953363:function(e){return[e.Maps,e.MappedTo,e.TexCoords]},2133299955:function(e){return[e.Maps,e.MappedTo,e.TexCoords,e.TexCoordIndex]},3741457305:function(e){return[e.Name,e.Description,e.StartTime,e.EndTime,e.TimeSeriesDataType,e.DataOrigin,e.UserDefinedDataOrigin,e.Unit,e.Values]},1585845231:function(e){return[e.Name,e.DataOrigin,e.UserDefinedDataOrigin,Y_(e.LagValue),e.DurationType]},1402838566:function(e){return[e.Name,e.LightColour,e.AmbientIntensity,e.Intensity]},125510826:function(e){return[e.Name,e.LightColour,e.AmbientIntensity,e.Intensity]},2604431987:function(e){return[e.Name,e.LightColour,e.AmbientIntensity,e.Intensity,e.Orientation]},4266656042:function(e){return[e.Name,e.LightColour,e.AmbientIntensity,e.Intensity,e.Position,e.ColourAppearance,e.ColourTemperature,e.LuminousFlux,e.LightEmissionSource,e.LightDistributionDataSource]},1520743889:function(e){return[e.Name,e.LightColour,e.AmbientIntensity,e.Intensity,e.Position,e.Radius,e.ConstantAttenuation,e.DistanceAttenuation,e.QuadricAttenuation]},3422422726:function(e){return[e.Name,e.LightColour,e.AmbientIntensity,e.Intensity,e.Position,e.Radius,e.ConstantAttenuation,e.DistanceAttenuation,e.QuadricAttenuation,e.Orientation,e.ConcentrationExponent,e.SpreadAngle,e.BeamWidthAngle]},2624227202:function(e){return[e.PlacementRelTo,e.RelativePlacement]},1008929658:function(e){return[]},2347385850:function(e){return[e.MappingSource,e.MappingTarget]},1838606355:function(e){return[e.Name,e.Description,e.Category]},3708119e3:function(e){return[e.Name,e.Description,e.Material,e.Fraction,e.Category]},2852063980:function(e){return[e.Name,e.Description,e.MaterialConstituents]},2022407955:function(e){return[e.Name,e.Description,e.Representations,e.RepresentedMaterial]},1303795690:function(e){return[e.ForLayerSet,e.LayerSetDirection,e.DirectionSense,e.OffsetFromReferenceLine,e.ReferenceExtent]},3079605661:function(e){return[e.ForProfileSet,e.CardinalPoint,e.ReferenceExtent]},3404854881:function(e){return[e.ForProfileSet,e.CardinalPoint,e.ReferenceExtent,e.ForProfileEndSet,e.CardinalEndPoint]},3265635763:function(e){return[e.Name,e.Description,e.Properties,e.Material]},853536259:function(e){return[e.Name,e.Description,e.RelatingMaterial,e.RelatedMaterials,e.Expression]},2998442950:function(e){return[e.ProfileType,e.ProfileName,e.ParentProfile,e.Operator,e.Label]},219451334:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description]},2665983363:function(e){return[e.CfsFaces]},1411181986:function(e){return[e.Name,e.Description,e.RelatingOrganization,e.RelatedOrganizations]},1029017970:function(e){var t;return[e.EdgeStart,e.EdgeEnd,e.EdgeElement,null==(t=e.Orientation)?void 0:t.toString()]},2529465313:function(e){return[e.ProfileType,e.ProfileName,e.Position]},2519244187:function(e){return[e.EdgeList]},3021840470:function(e){return[e.Name,e.Description,e.HasQuantities,e.Discrimination,e.Quality,e.Usage]},597895409:function(e){var t,n;return[null==(t=e.RepeatS)?void 0:t.toString(),null==(n=e.RepeatT)?void 0:n.toString(),e.Mode,e.TextureTransform,e.Parameter,e.Width,e.Height,e.ColourComponents,e.Pixel]},2004835150:function(e){return[e.Location]},1663979128:function(e){return[e.SizeInX,e.SizeInY]},2067069095:function(e){return[]},4022376103:function(e){return[e.BasisCurve,e.PointParameter]},1423911732:function(e){return[e.BasisSurface,e.PointParameterU,e.PointParameterV]},2924175390:function(e){return[e.Polygon]},2775532180:function(e){var t;return[e.BaseSurface,null==(t=e.AgreementFlag)?void 0:t.toString(),e.Position,e.PolygonalBoundary]},3727388367:function(e){return[e.Name]},3778827333:function(e){return[]},1775413392:function(e){return[e.Name]},673634403:function(e){return[e.Name,e.Description,e.Representations]},2802850158:function(e){return[e.Name,e.Description,e.Properties,e.ProfileDefinition]},2598011224:function(e){return[e.Name,e.Description]},1680319473:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description]},148025276:function(e){return[e.Name,e.Description,e.DependingProperty,e.DependantProperty,e.Expression]},3357820518:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description]},1482703590:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description]},2090586900:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description]},3615266464:function(e){return[e.ProfileType,e.ProfileName,e.Position,e.XDim,e.YDim]},3413951693:function(e){return[e.Name,e.Description,e.StartTime,e.EndTime,e.TimeSeriesDataType,e.DataOrigin,e.UserDefinedDataOrigin,e.Unit,e.TimeStep,e.Values]},1580146022:function(e){return[e.TotalCrossSectionArea,e.SteelGrade,e.BarSurface,e.EffectiveDepth,e.NominalBarDiameter,e.BarCount]},478536968:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description]},2943643501:function(e){return[e.Name,e.Description,e.RelatedResourceObjects,e.RelatingApproval]},1608871552:function(e){return[e.Name,e.Description,e.RelatingConstraint,e.RelatedResourceObjects]},1042787934:function(e){var t;return[e.Name,e.DataOrigin,e.UserDefinedDataOrigin,e.ScheduleWork,e.ScheduleUsage,e.ScheduleStart,e.ScheduleFinish,e.ScheduleContour,e.LevelingDelay,null==(t=e.IsOverAllocated)?void 0:t.toString(),e.StatusTime,e.ActualWork,e.ActualUsage,e.ActualStart,e.ActualFinish,e.RemainingWork,e.RemainingUsage,e.Completion]},2778083089:function(e){return[e.ProfileType,e.ProfileName,e.Position,e.XDim,e.YDim,e.RoundingRadius]},2042790032:function(e){return[e.SectionType,e.StartProfile,e.EndProfile]},4165799628:function(e){return[e.LongitudinalStartPosition,e.LongitudinalEndPosition,e.TransversePosition,e.ReinforcementRole,e.SectionDefinition,e.CrossSectionReinforcementDefinitions]},1509187699:function(e){return[e.SpineCurve,e.CrossSections,e.CrossSectionPositions]},4124623270:function(e){return[e.SbsmBoundary]},3692461612:function(e){return[e.Name,e.Description]},2609359061:function(e){return[e.Name,e.SlippageX,e.SlippageY,e.SlippageZ]},723233188:function(e){return[]},1595516126:function(e){return[e.Name,e.LinearForceX,e.LinearForceY,e.LinearForceZ,e.LinearMomentX,e.LinearMomentY,e.LinearMomentZ]},2668620305:function(e){return[e.Name,e.PlanarForceX,e.PlanarForceY,e.PlanarForceZ]},2473145415:function(e){return[e.Name,e.DisplacementX,e.DisplacementY,e.DisplacementZ,e.RotationalDisplacementRX,e.RotationalDisplacementRY,e.RotationalDisplacementRZ]},1973038258:function(e){return[e.Name,e.DisplacementX,e.DisplacementY,e.DisplacementZ,e.RotationalDisplacementRX,e.RotationalDisplacementRY,e.RotationalDisplacementRZ,e.Distortion]},1597423693:function(e){return[e.Name,e.ForceX,e.ForceY,e.ForceZ,e.MomentX,e.MomentY,e.MomentZ]},1190533807:function(e){return[e.Name,e.ForceX,e.ForceY,e.ForceZ,e.MomentX,e.MomentY,e.MomentZ,e.WarpingMoment]},2233826070:function(e){return[e.EdgeStart,e.EdgeEnd,e.ParentEdge]},2513912981:function(e){return[]},1878645084:function(e){return[e.SurfaceColour,e.Transparency,e.DiffuseColour,e.TransmissionColour,e.DiffuseTransmissionColour,e.ReflectionColour,e.SpecularColour,e.SpecularHighlight?Y_(e.SpecularHighlight):null,e.ReflectanceMethod]},2247615214:function(e){return[e.SweptArea,e.Position]},1260650574:function(e){return[e.Directrix,e.Radius,e.InnerRadius,e.StartParam,e.EndParam]},1096409881:function(e){return[e.Directrix,e.Radius,e.InnerRadius,e.StartParam,e.EndParam,e.FilletRadius]},230924584:function(e){return[e.SweptCurve,e.Position]},3071757647:function(e){return[e.ProfileType,e.ProfileName,e.Position,e.Depth,e.FlangeWidth,e.WebThickness,e.FlangeThickness,e.FilletRadius,e.FlangeEdgeRadius,e.WebEdgeRadius,e.WebSlope,e.FlangeSlope]},901063453:function(e){return[]},4282788508:function(e){return[e.Literal,e.Placement,e.Path]},3124975700:function(e){return[e.Literal,e.Placement,e.Path,e.Extent,e.BoxAlignment]},1983826977:function(e){return[e.Name,e.FontFamily,e.FontStyle,e.FontVariant,e.FontWeight,Y_(e.FontSize)]},2715220739:function(e){return[e.ProfileType,e.ProfileName,e.Position,e.BottomXDim,e.TopXDim,e.YDim,e.TopXOffset]},1628702193:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets]},3736923433:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.Identification,e.LongDescription,e.ProcessType]},2347495698:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag]},3698973494:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.Identification,e.LongDescription,e.ResourceType]},427810014:function(e){return[e.ProfileType,e.ProfileName,e.Position,e.Depth,e.FlangeWidth,e.WebThickness,e.FlangeThickness,e.FilletRadius,e.EdgeRadius,e.FlangeSlope]},1417489154:function(e){return[e.Orientation,e.Magnitude]},2759199220:function(e){return[e.LoopVertex]},1299126871:function(e){var t,n;return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ConstructionType,e.OperationType,null==(t=e.ParameterTakesPrecedence)?void 0:t.toString(),null==(n=e.Sizeable)?void 0:n.toString()]},2543172580:function(e){return[e.ProfileType,e.ProfileName,e.Position,e.Depth,e.FlangeWidth,e.WebThickness,e.FlangeThickness,e.FilletRadius,e.EdgeRadius]},3406155212:function(e){var t;return[e.Bounds,e.FaceSurface,null==(t=e.SameSense)?void 0:t.toString()]},669184980:function(e){return[e.OuterBoundary,e.InnerBoundaries]},3207858831:function(e){return[e.ProfileType,e.ProfileName,e.Position,e.BottomFlangeWidth,e.OverallDepth,e.WebThickness,e.BottomFlangeThickness,e.BottomFlangeFilletRadius,e.TopFlangeWidth,e.TopFlangeThickness,e.TopFlangeFilletRadius,e.BottomFlangeEdgeRadius,e.BottomFlangeSlope,e.TopFlangeEdgeRadius,e.TopFlangeSlope]},4261334040:function(e){return[e.Location,e.Axis]},3125803723:function(e){return[e.Location,e.RefDirection]},2740243338:function(e){return[e.Location,e.Axis,e.RefDirection]},2736907675:function(e){return[e.Operator,e.FirstOperand,e.SecondOperand]},4182860854:function(e){return[]},2581212453:function(e){return[e.Corner,e.XDim,e.YDim,e.ZDim]},2713105998:function(e){var t;return[e.BaseSurface,null==(t=e.AgreementFlag)?void 0:t.toString(),e.Enclosure]},2898889636:function(e){return[e.ProfileType,e.ProfileName,e.Position,e.Depth,e.Width,e.WallThickness,e.Girth,e.InternalFilletRadius]},1123145078:function(e){return[e.Coordinates]},574549367:function(e){return[]},1675464909:function(e){return[e.CoordList]},2059837836:function(e){return[e.CoordList]},59481748:function(e){return[e.Axis1,e.Axis2,e.LocalOrigin,e.Scale]},3749851601:function(e){return[e.Axis1,e.Axis2,e.LocalOrigin,e.Scale]},3486308946:function(e){return[e.Axis1,e.Axis2,e.LocalOrigin,e.Scale,e.Scale2]},3331915920:function(e){return[e.Axis1,e.Axis2,e.LocalOrigin,e.Scale,e.Axis3]},1416205885:function(e){return[e.Axis1,e.Axis2,e.LocalOrigin,e.Scale,e.Axis3,e.Scale2,e.Scale3]},1383045692:function(e){return[e.ProfileType,e.ProfileName,e.Position,e.Radius]},2205249479:function(e){return[e.CfsFaces]},776857604:function(e){return[e.Name,e.Red,e.Green,e.Blue]},2542286263:function(e){return[e.Name,e.Description,e.UsageName,e.HasProperties]},2485617015:function(e){var t;return[e.Transition,null==(t=e.SameSense)?void 0:t.toString(),e.ParentCurve]},2574617495:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.Identification,e.LongDescription,e.ResourceType,e.BaseCosts,e.BaseQuantity]},3419103109:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.LongName,e.Phase,e.RepresentationContexts,e.UnitsInContext]},1815067380:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.Identification,e.LongDescription,e.ResourceType,e.BaseCosts,e.BaseQuantity,e.PredefinedType]},2506170314:function(e){return[e.Position]},2147822146:function(e){return[e.TreeRootExpression]},2601014836:function(e){return[]},2827736869:function(e){return[e.BasisSurface,e.OuterBoundary,e.InnerBoundaries]},2629017746:function(e){var t;return[e.BasisSurface,e.Boundaries,null==(t=e.ImplicitOuter)?void 0:t.toString()]},32440307:function(e){return[e.DirectionRatios]},526551008:function(e){var t,n;return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.OperationType,e.ConstructionType,null==(t=e.ParameterTakesPrecedence)?void 0:t.toString(),null==(n=e.Sizeable)?void 0:n.toString()]},1472233963:function(e){return[e.EdgeList]},1883228015:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.MethodOfMeasurement,e.Quantities]},339256511:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType]},2777663545:function(e){return[e.Position]},2835456948:function(e){return[e.ProfileType,e.ProfileName,e.Position,e.SemiAxis1,e.SemiAxis2]},4024345920:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.Identification,e.LongDescription,e.ProcessType,e.PredefinedType,e.EventTriggerType,e.UserDefinedEventTriggerType]},477187591:function(e){return[e.SweptArea,e.Position,e.ExtrudedDirection,e.Depth]},2804161546:function(e){return[e.SweptArea,e.Position,e.ExtrudedDirection,e.Depth,e.EndSweptArea]},2047409740:function(e){return[e.FbsmFaces]},374418227:function(e){return[e.HatchLineAppearance,e.StartOfNextHatchLine,e.PointOfReferenceHatchLine,e.PatternStart,e.HatchLineAngle]},315944413:function(e){return[e.TilingPattern,e.Tiles,e.TilingScale]},2652556860:function(e){return[e.SweptArea,e.Position,e.Directrix,e.StartParam,e.EndParam,e.FixedReference]},4238390223:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType]},1268542332:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.AssemblyPlace,e.PredefinedType]},4095422895:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},987898635:function(e){return[e.Elements]},1484403080:function(e){return[e.ProfileType,e.ProfileName,e.Position,e.OverallWidth,e.OverallDepth,e.WebThickness,e.FlangeThickness,e.FilletRadius,e.FlangeEdgeRadius,e.FlangeSlope]},178912537:function(e){return[e.CoordIndex]},2294589976:function(e){return[e.CoordIndex,e.InnerCoordIndices]},572779678:function(e){return[e.ProfileType,e.ProfileName,e.Position,e.Depth,e.Width,e.Thickness,e.FilletRadius,e.EdgeRadius,e.LegSlope]},428585644:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.Identification,e.LongDescription,e.ResourceType,e.BaseCosts,e.BaseQuantity,e.PredefinedType]},1281925730:function(e){return[e.Pnt,e.Dir]},1425443689:function(e){return[e.Outer]},3888040117:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType]},3388369263:function(e){var t;return[e.BasisCurve,e.Distance,null==(t=e.SelfIntersect)?void 0:t.toString()]},3505215534:function(e){var t;return[e.BasisCurve,e.Distance,null==(t=e.SelfIntersect)?void 0:t.toString(),e.RefDirection]},1682466193:function(e){return[e.BasisSurface,e.ReferenceCurve]},603570806:function(e){return[e.SizeInX,e.SizeInY,e.Placement]},220341763:function(e){return[e.Position]},759155922:function(e){return[e.Name]},2559016684:function(e){return[e.Name]},3967405729:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description]},569719735:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.Identification,e.LongDescription,e.ProcessType,e.PredefinedType]},2945172077:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.Identification,e.LongDescription]},4208778838:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation]},103090709:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.LongName,e.Phase,e.RepresentationContexts,e.UnitsInContext]},653396225:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.LongName,e.Phase,e.RepresentationContexts,e.UnitsInContext]},871118103:function(e){return[e.Name,e.Description,e.UpperBoundValue?Y_(e.UpperBoundValue):null,e.LowerBoundValue?Y_(e.LowerBoundValue):null,e.Unit,e.SetPointValue?Y_(e.SetPointValue):null]},4166981789:function(e){return[e.Name,e.Description,e.EnumerationValues?e.EnumerationValues.map((function(e){return Y_(e)})):null,e.EnumerationReference]},2752243245:function(e){return[e.Name,e.Description,e.ListValues?e.ListValues.map((function(e){return Y_(e)})):null,e.Unit]},941946838:function(e){return[e.Name,e.Description,e.UsageName,e.PropertyReference]},1451395588:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.HasProperties]},492091185:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.TemplateType,e.ApplicableEntity,e.HasPropertyTemplates]},3650150729:function(e){return[e.Name,e.Description,e.NominalValue?Y_(e.NominalValue):null,e.Unit]},110355661:function(e){return[e.Name,e.Description,e.DefiningValues?e.DefiningValues.map((function(e){return Y_(e)})):null,e.DefinedValues?e.DefinedValues.map((function(e){return Y_(e)})):null,e.Expression,e.DefiningUnit,e.DefinedUnit,e.CurveInterpolation]},3521284610:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description]},3219374653:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.ProxyType,e.Tag]},2770003689:function(e){return[e.ProfileType,e.ProfileName,e.Position,e.XDim,e.YDim,e.WallThickness,e.InnerFilletRadius,e.OuterFilletRadius]},2798486643:function(e){return[e.Position,e.XLength,e.YLength,e.Height]},3454111270:function(e){var t,n;return[e.BasisSurface,e.U1,e.V1,e.U2,e.V2,null==(t=e.Usense)?void 0:t.toString(),null==(n=e.Vsense)?void 0:n.toString()]},3765753017:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.DefinitionType,e.ReinforcementSectionDefinitions]},3939117080:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatedObjects,e.RelatedObjectsType]},1683148259:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatedObjects,e.RelatedObjectsType,e.RelatingActor,e.ActingRole]},2495723537:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatedObjects,e.RelatedObjectsType,e.RelatingControl]},1307041759:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatedObjects,e.RelatedObjectsType,e.RelatingGroup]},1027710054:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatedObjects,e.RelatedObjectsType,e.RelatingGroup,e.Factor]},4278684876:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatedObjects,e.RelatedObjectsType,e.RelatingProcess,e.QuantityInProcess]},2857406711:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatedObjects,e.RelatedObjectsType,e.RelatingProduct]},205026976:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatedObjects,e.RelatedObjectsType,e.RelatingResource]},1865459582:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatedObjects]},4095574036:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatedObjects,e.RelatingApproval]},919958153:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatedObjects,e.RelatingClassification]},2728634034:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatedObjects,e.Intent,e.RelatingConstraint]},982818633:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatedObjects,e.RelatingDocument]},3840914261:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatedObjects,e.RelatingLibrary]},2655215786:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatedObjects,e.RelatingMaterial]},826625072:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description]},1204542856:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ConnectionGeometry,e.RelatingElement,e.RelatedElement]},3945020480:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ConnectionGeometry,e.RelatingElement,e.RelatedElement,e.RelatingPriorities,e.RelatedPriorities,e.RelatedConnectionType,e.RelatingConnectionType]},4201705270:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatingPort,e.RelatedElement]},3190031847:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatingPort,e.RelatedPort,e.RealizingElement]},2127690289:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatingElement,e.RelatedStructuralActivity]},1638771189:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatingStructuralMember,e.RelatedStructuralConnection,e.AppliedCondition,e.AdditionalConditions,e.SupportedLength,e.ConditionCoordinateSystem]},504942748:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatingStructuralMember,e.RelatedStructuralConnection,e.AppliedCondition,e.AdditionalConditions,e.SupportedLength,e.ConditionCoordinateSystem,e.ConnectionConstraint]},3678494232:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ConnectionGeometry,e.RelatingElement,e.RelatedElement,e.RealizingElements,e.ConnectionType]},3242617779:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatedElements,e.RelatingStructure]},886880790:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatingBuildingElement,e.RelatedCoverings]},2802773753:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatingSpace,e.RelatedCoverings]},2565941209:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatingContext,e.RelatedDefinitions]},2551354335:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description]},693640335:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description]},1462361463:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatedObjects,e.RelatingObject]},4186316022:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatedObjects,e.RelatingPropertyDefinition]},307848117:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatedPropertySets,e.RelatingTemplate]},781010003:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatedObjects,e.RelatingType]},3940055652:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatingOpeningElement,e.RelatedBuildingElement]},279856033:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatedControlElements,e.RelatingFlowElement]},427948657:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatingElement,e.RelatedElement,e.InterferenceGeometry,e.InterferenceType,e.ImpliedOrder]},3268803585:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatingObject,e.RelatedObjects]},750771296:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatingElement,e.RelatedFeatureElement]},1245217292:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatedElements,e.RelatingStructure]},4122056220:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatingProcess,e.RelatedProcess,e.TimeLag,e.SequenceType,e.UserDefinedSequenceType]},366585022:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatingSystem,e.RelatedBuildings]},3451746338:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatingSpace,e.RelatedBuildingElement,e.ConnectionGeometry,e.PhysicalOrVirtualBoundary,e.InternalOrExternalBoundary]},3523091289:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatingSpace,e.RelatedBuildingElement,e.ConnectionGeometry,e.PhysicalOrVirtualBoundary,e.InternalOrExternalBoundary,e.ParentBoundary]},1521410863:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatingSpace,e.RelatedBuildingElement,e.ConnectionGeometry,e.PhysicalOrVirtualBoundary,e.InternalOrExternalBoundary,e.ParentBoundary,e.CorrespondingBoundary]},1401173127:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatingBuildingElement,e.RelatedOpeningElement]},816062949:function(e){var t;return[e.Transition,null==(t=e.SameSense)?void 0:t.toString(),e.ParentCurve,e.ParamLength]},2914609552:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.Identification,e.LongDescription]},1856042241:function(e){return[e.SweptArea,e.Position,e.Axis,e.Angle]},3243963512:function(e){return[e.SweptArea,e.Position,e.Axis,e.Angle,e.EndSweptArea]},4158566097:function(e){return[e.Position,e.Height,e.BottomRadius]},3626867408:function(e){return[e.Position,e.Height,e.Radius]},3663146110:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.TemplateType,e.PrimaryMeasureType,e.SecondaryMeasureType,e.Enumerators,e.PrimaryUnit,e.SecondaryUnit,e.Expression,e.AccessState]},1412071761:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.LongName]},710998568:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType]},2706606064:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.LongName,e.CompositionType]},3893378262:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType]},463610769:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.LongName,e.PredefinedType]},2481509218:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType,e.LongName]},451544542:function(e){return[e.Position,e.Radius]},4015995234:function(e){return[e.Position,e.Radius]},3544373492:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.AppliedLoad,e.GlobalOrLocal]},3136571912:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation]},530289379:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation]},3689010777:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.AppliedLoad,e.GlobalOrLocal]},3979015343:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.PredefinedType,e.Thickness]},2218152070:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.PredefinedType,e.Thickness]},603775116:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.AppliedLoad,e.GlobalOrLocal,e.PredefinedType]},4095615324:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.Identification,e.LongDescription,e.ResourceType,e.BaseCosts,e.BaseQuantity,e.PredefinedType]},699246055:function(e){return[e.Curve3D,e.AssociatedGeometry,e.MasterRepresentation]},2028607225:function(e){return[e.SweptArea,e.Position,e.Directrix,e.StartParam,e.EndParam,e.ReferenceSurface]},2809605785:function(e){return[e.SweptCurve,e.Position,e.ExtrudedDirection,e.Depth]},4124788165:function(e){return[e.SweptCurve,e.Position,e.AxisPosition]},1580310250:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},3473067441:function(e){var t;return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.Identification,e.LongDescription,e.Status,e.WorkMethod,null==(t=e.IsMilestone)?void 0:t.toString(),e.Priority,e.TaskTime,e.PredefinedType]},3206491090:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.Identification,e.LongDescription,e.ProcessType,e.PredefinedType,e.WorkMethod]},2387106220:function(e){return[e.Coordinates]},1935646853:function(e){return[e.Position,e.MajorRadius,e.MinorRadius]},2097647324:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},2916149573:function(e){var t;return[e.Coordinates,e.Normals,null==(t=e.Closed)?void 0:t.toString(),e.CoordIndex,e.PnIndex]},336235671:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.LiningDepth,e.LiningThickness,e.TransomThickness,e.MullionThickness,e.FirstTransomOffset,e.SecondTransomOffset,e.FirstMullionOffset,e.SecondMullionOffset,e.ShapeAspectStyle,e.LiningOffset,e.LiningToPanelOffsetX,e.LiningToPanelOffsetY]},512836454:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.OperationType,e.PanelPosition,e.FrameDepth,e.FrameThickness,e.ShapeAspectStyle]},2296667514:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.TheActor]},1635779807:function(e){return[e.Outer]},2603310189:function(e){return[e.Outer,e.Voids]},1674181508:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation]},2887950389:function(e){var t,n,r;return[e.UDegree,e.VDegree,e.ControlPointsList,e.SurfaceForm,null==(t=e.UClosed)?void 0:t.toString(),null==(n=e.VClosed)?void 0:n.toString(),null==(r=e.SelfIntersect)?void 0:r.toString()]},167062518:function(e){var t,n,r;return[e.UDegree,e.VDegree,e.ControlPointsList,e.SurfaceForm,null==(t=e.UClosed)?void 0:t.toString(),null==(n=e.VClosed)?void 0:n.toString(),null==(r=e.SelfIntersect)?void 0:r.toString(),e.UMultiplicities,e.VMultiplicities,e.UKnots,e.VKnots,e.KnotSpec]},1334484129:function(e){return[e.Position,e.XLength,e.YLength,e.ZLength]},3649129432:function(e){return[e.Operator,e.FirstOperand,e.SecondOperand]},1260505505:function(e){return[]},4031249490:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.LongName,e.CompositionType,e.ElevationOfRefHeight,e.ElevationOfTerrain,e.BuildingAddress]},1950629157:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType]},3124254112:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.LongName,e.CompositionType,e.Elevation]},2197970202:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},2937912522:function(e){return[e.ProfileType,e.ProfileName,e.Position,e.Radius,e.WallThickness]},3893394355:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType]},300633059:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},3875453745:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.UsageName,e.TemplateType,e.HasPropertyTemplates]},3732776249:function(e){var t;return[e.Segments,null==(t=e.SelfIntersect)?void 0:t.toString()]},15328376:function(e){var t;return[e.Segments,null==(t=e.SelfIntersect)?void 0:t.toString()]},2510884976:function(e){return[e.Position]},2185764099:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.Identification,e.LongDescription,e.ResourceType,e.BaseCosts,e.BaseQuantity,e.PredefinedType]},4105962743:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.Identification,e.LongDescription,e.ResourceType,e.BaseCosts,e.BaseQuantity,e.PredefinedType]},1525564444:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.Identification,e.LongDescription,e.ResourceType,e.BaseCosts,e.BaseQuantity,e.PredefinedType]},2559216714:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.Identification,e.LongDescription,e.Usage,e.BaseCosts,e.BaseQuantity]},3293443760:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.Identification]},3895139033:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.Identification,e.PredefinedType,e.CostValues,e.CostQuantities]},1419761937:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.Identification,e.PredefinedType,e.Status,e.SubmittedOn,e.UpdateDate]},1916426348:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},3295246426:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.Identification,e.LongDescription,e.Usage,e.BaseCosts,e.BaseQuantity,e.PredefinedType]},1457835157:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},1213902940:function(e){return[e.Position,e.Radius]},3256556792:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType]},3849074793:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType]},2963535650:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.LiningDepth,e.LiningThickness,e.ThresholdDepth,e.ThresholdThickness,e.TransomThickness,e.TransomOffset,e.LiningOffset,e.ThresholdOffset,e.CasingThickness,e.CasingDepth,e.ShapeAspectStyle,e.LiningToPanelOffsetX,e.LiningToPanelOffsetY]},1714330368:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.PanelDepth,e.PanelOperation,e.PanelWidth,e.PanelPosition,e.ShapeAspectStyle]},2323601079:function(e){var t;return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType,e.OperationType,null==(t=e.ParameterTakesPrecedence)?void 0:t.toString(),e.UserDefinedOperationType]},445594917:function(e){return[e.Name]},4006246654:function(e){return[e.Name]},1758889154:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag]},4123344466:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.AssemblyPlace,e.PredefinedType]},2397081782:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},1623761950:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag]},2590856083:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType]},1704287377:function(e){return[e.Position,e.SemiAxis1,e.SemiAxis2]},2107101300:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType]},132023988:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},3174744832:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},3390157468:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},4148101412:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.Identification,e.LongDescription,e.PredefinedType,e.EventTriggerType,e.UserDefinedEventTriggerType,e.EventOccurenceTime]},2853485674:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.LongName]},807026263:function(e){return[e.Outer]},3737207727:function(e){return[e.Outer,e.Voids]},647756555:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},2489546625:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},2827207264:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag]},2143335405:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag]},1287392070:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag]},3907093117:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType]},3198132628:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType]},3815607619:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},1482959167:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType]},1834744321:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType]},1339347760:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType]},2297155007:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType]},3009222698:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType]},1893162501:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},263784265:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag]},1509553395:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},3493046030:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},3009204131:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.UAxes,e.VAxes,e.WAxes,e.PredefinedType]},2706460486:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType]},1251058090:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},1806887404:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},2571569899:function(e){var t;return[e.Points,e.Segments?e.Segments.map((function(e){return Y_(e)})):null,null==(t=e.SelfIntersect)?void 0:t.toString()]},3946677679:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},3113134337:function(e){return[e.Curve3D,e.AssociatedGeometry,e.MasterRepresentation]},2391368822:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.PredefinedType,e.Jurisdiction,e.ResponsiblePersons,e.LastUpdateDate,e.CurrentValue,e.OriginalValue]},4288270099:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},3827777499:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.Identification,e.LongDescription,e.Usage,e.BaseCosts,e.BaseQuantity,e.PredefinedType]},1051575348:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},1161773419:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},377706215:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.NominalDiameter,e.NominalLength,e.PredefinedType]},2108223431:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType,e.NominalDiameter,e.NominalLength]},1114901282:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},3181161470:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},977012517:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},4143007308:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.TheActor,e.PredefinedType]},3588315303:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},3079942009:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},2837617999:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},2382730787:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.Identification,e.LifeCyclePhase,e.PredefinedType]},3566463478:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.OperationType,e.PanelPosition,e.FrameDepth,e.FrameThickness,e.ShapeAspectStyle]},3327091369:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.Identification,e.PredefinedType,e.Status,e.LongDescription]},1158309216:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},804291784:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},4231323485:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},4017108033:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},2839578677:function(e){var t;return[e.Coordinates,null==(t=e.Closed)?void 0:t.toString(),e.Faces,e.PnIndex]},3724593414:function(e){return[e.Points]},3740093272:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation]},2744685151:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.Identification,e.LongDescription,e.PredefinedType]},2904328755:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.Identification,e.PredefinedType,e.Status,e.LongDescription]},3651124850:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},1842657554:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},2250791053:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},2893384427:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},2324767716:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},1469900589:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},683857671:function(e){var t,n,r;return[e.UDegree,e.VDegree,e.ControlPointsList,e.SurfaceForm,null==(t=e.UClosed)?void 0:t.toString(),null==(n=e.VClosed)?void 0:n.toString(),null==(r=e.SelfIntersect)?void 0:r.toString(),e.UMultiplicities,e.VMultiplicities,e.UKnots,e.VKnots,e.KnotSpec,e.WeightsData]},3027567501:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.SteelGrade]},964333572:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType]},2320036040:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.SteelGrade,e.MeshLength,e.MeshWidth,e.LongitudinalBarNominalDiameter,e.TransverseBarNominalDiameter,e.LongitudinalBarCrossSectionArea,e.TransverseBarCrossSectionArea,e.LongitudinalBarSpacing,e.TransverseBarSpacing,e.PredefinedType]},2310774935:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType,e.MeshLength,e.MeshWidth,e.LongitudinalBarNominalDiameter,e.TransverseBarNominalDiameter,e.LongitudinalBarCrossSectionArea,e.TransverseBarCrossSectionArea,e.LongitudinalBarSpacing,e.TransverseBarSpacing,e.BendingShapeCode,e.BendingParameters?e.BendingParameters.map((function(e){return Y_(e)})):null]},160246688:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatingObject,e.RelatedObjects]},2781568857:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},1768891740:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},2157484638:function(e){return[e.Curve3D,e.AssociatedGeometry,e.MasterRepresentation]},4074543187:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},4097777520:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.LongName,e.CompositionType,e.RefLatitude,e.RefLongitude,e.RefElevation,e.LandTitleNumber,e.SiteAddress]},2533589738:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},1072016465:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},3856911033:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.LongName,e.CompositionType,e.PredefinedType,e.ElevationWithFlooring]},1305183839:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},3812236995:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType,e.LongName]},3112655638:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},1039846685:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},338393293:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},682877961:function(e){var t;return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.AppliedLoad,e.GlobalOrLocal,null==(t=e.DestabilizingLoad)?void 0:t.toString()]},1179482911:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.AppliedCondition]},1004757350:function(e){var t;return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.AppliedLoad,e.GlobalOrLocal,null==(t=e.DestabilizingLoad)?void 0:t.toString(),e.ProjectedOrTrue,e.PredefinedType]},4243806635:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.AppliedCondition,e.Axis]},214636428:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.PredefinedType,e.Axis]},2445595289:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.PredefinedType,e.Axis]},2757150158:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.AppliedLoad,e.GlobalOrLocal,e.PredefinedType]},1807405624:function(e){var t;return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.AppliedLoad,e.GlobalOrLocal,null==(t=e.DestabilizingLoad)?void 0:t.toString(),e.ProjectedOrTrue,e.PredefinedType]},1252848954:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.PredefinedType,e.ActionType,e.ActionSource,e.Coefficient,e.Purpose]},2082059205:function(e){var t;return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.AppliedLoad,e.GlobalOrLocal,null==(t=e.DestabilizingLoad)?void 0:t.toString()]},734778138:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.AppliedCondition,e.ConditionCoordinateSystem]},1235345126:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.AppliedLoad,e.GlobalOrLocal]},2986769608:function(e){var t;return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.TheoryType,e.ResultForLoadGroup,null==(t=e.IsLinear)?void 0:t.toString()]},3657597509:function(e){var t;return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.AppliedLoad,e.GlobalOrLocal,null==(t=e.DestabilizingLoad)?void 0:t.toString(),e.ProjectedOrTrue,e.PredefinedType]},1975003073:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.AppliedCondition]},148013059:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.Identification,e.LongDescription,e.Usage,e.BaseCosts,e.BaseQuantity,e.PredefinedType]},3101698114:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},2315554128:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},2254336722:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType]},413509423:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},5716631:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},3824725483:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.SteelGrade,e.PredefinedType,e.NominalDiameter,e.CrossSectionArea,e.TensionForce,e.PreStress,e.FrictionCoefficient,e.AnchorageSlip,e.MinCurvatureRadius]},2347447852:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.SteelGrade,e.PredefinedType]},3081323446:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},2415094496:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType,e.NominalDiameter,e.CrossSectionArea,e.SheathDiameter]},1692211062:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},1620046519:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},3593883385:function(e){var t;return[e.BasisCurve,e.Trim1,e.Trim2,null==(t=e.SenseAgreement)?void 0:t.toString(),e.MasterRepresentation]},1600972822:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},1911125066:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},728799441:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},2391383451:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},3313531582:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},2769231204:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag]},926996030:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},1898987631:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},1133259667:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},4009809668:function(e){var t;return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType,e.PartitioningType,null==(t=e.ParameterTakesPrecedence)?void 0:t.toString(),e.UserDefinedPartitioningType]},4088093105:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.Identification,e.WorkingTimes,e.ExceptionTimes,e.PredefinedType]},1028945134:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.Identification,e.CreationDate,e.Creators,e.Purpose,e.Duration,e.TotalFloat,e.StartTime,e.FinishTime]},4218914973:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.Identification,e.CreationDate,e.Creators,e.Purpose,e.Duration,e.TotalFloat,e.StartTime,e.FinishTime,e.PredefinedType]},3342526732:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.Identification,e.CreationDate,e.Creators,e.Purpose,e.Duration,e.TotalFloat,e.StartTime,e.FinishTime,e.PredefinedType]},1033361043:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.LongName]},3821786052:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.Identification,e.PredefinedType,e.Status,e.LongDescription]},1411407467:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},3352864051:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},1871374353:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},3460190687:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.Identification,e.OriginalValue,e.CurrentValue,e.TotalReplacementCost,e.Owner,e.User,e.ResponsiblePerson,e.IncorporationDate,e.DepreciatedValue]},1532957894:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},1967976161:function(e){var t,n;return[e.Degree,e.ControlPointsList,e.CurveForm,null==(t=e.ClosedCurve)?void 0:t.toString(),null==(n=e.SelfIntersect)?void 0:n.toString()]},2461110595:function(e){var t,n;return[e.Degree,e.ControlPointsList,e.CurveForm,null==(t=e.ClosedCurve)?void 0:t.toString(),null==(n=e.SelfIntersect)?void 0:n.toString(),e.KnotMultiplicities,e.Knots,e.KnotSpec]},819618141:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},231477066:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},1136057603:function(e){var t;return[e.Segments,null==(t=e.SelfIntersect)?void 0:t.toString()]},3299480353:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag]},2979338954:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},39481116:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},1095909175:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},1909888760:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},1177604601:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.PredefinedType,e.LongName]},2188180465:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},395041908:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},3293546465:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},2674252688:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},1285652485:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},2951183804:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},3296154744:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},2611217952:function(e){return[e.Position,e.Radius]},1677625105:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag]},2301859152:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},843113511:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},905975707:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},400855858:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},3850581409:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},2816379211:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},3898045240:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.Identification,e.LongDescription,e.Usage,e.BaseCosts,e.BaseQuantity,e.PredefinedType]},1060000209:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.Identification,e.LongDescription,e.Usage,e.BaseCosts,e.BaseQuantity,e.PredefinedType]},488727124:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.Identification,e.LongDescription,e.Usage,e.BaseCosts,e.BaseQuantity,e.PredefinedType]},335055490:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},2954562838:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},1973544240:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},3495092785:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},3961806047:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},1335981549:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},2635815018:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},1599208980:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},2063403501:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType]},1945004755:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag]},3040386961:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag]},3041715199:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.FlowDirection,e.PredefinedType,e.SystemType]},3205830791:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.LongName,e.PredefinedType]},395920057:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.OverallHeight,e.OverallWidth,e.PredefinedType,e.OperationType,e.UserDefinedOperationType]},3242481149:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.OverallHeight,e.OverallWidth,e.PredefinedType,e.OperationType,e.UserDefinedOperationType]},869906466:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},3760055223:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},2030761528:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},663422040:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},2417008758:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},3277789161:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},1534661035:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},1217240411:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},712377611:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},1658829314:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag]},2814081492:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},3747195512:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},484807127:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},1209101575:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.LongName,e.PredefinedType]},346874300:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},1810631287:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},4222183408:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},2058353004:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag]},4278956645:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag]},4037862832:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},2188021234:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},3132237377:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag]},987401354:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag]},707683696:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag]},2223149337:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag]},3508470533:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag]},900683007:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},3319311131:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},2068733104:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},4175244083:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},2176052936:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},76236018:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},629592764:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},1437502449:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},1073191201:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},1911478936:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},2474470126:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},144952367:function(e){var t;return[e.Segments,null==(t=e.SelfIntersect)?void 0:t.toString()]},3694346114:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},1687234759:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType,e.ConstructionType]},310824031:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},3612865200:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},3171933400:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},1156407060:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},738039164:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},655969474:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},90941305:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},2262370178:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},3024970846:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},3283111854:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},1232101972:function(e){var t,n;return[e.Degree,e.ControlPointsList,e.CurveForm,null==(t=e.ClosedCurve)?void 0:t.toString(),null==(n=e.SelfIntersect)?void 0:n.toString(),e.KnotMultiplicities,e.Knots,e.KnotSpec,e.WeightsData]},979691226:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.SteelGrade,e.NominalDiameter,e.CrossSectionArea,e.BarLength,e.PredefinedType,e.BarSurface]},2572171363:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType,e.NominalDiameter,e.CrossSectionArea,e.BarLength,e.BarSurface,e.BendingShapeCode,e.BendingParameters?e.BendingParameters.map((function(e){return Y_(e)})):null]},2016517767:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},3053780830:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},1783015770:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},1329646415:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},1529196076:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},3127900445:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},3027962421:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},3420628829:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},1999602285:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},1404847402:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},331165859:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},4252922144:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.NumberOfRisers,e.NumberOfTreads,e.RiserHeight,e.TreadLength,e.PredefinedType]},2515109513:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.PredefinedType,e.OrientationOf2DPlane,e.LoadedBy,e.HasResults,e.SharedPlacement]},385403989:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.PredefinedType,e.ActionType,e.ActionSource,e.Coefficient,e.Purpose,e.SelfWeightCoefficients]},1621171031:function(e){var t;return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.AppliedLoad,e.GlobalOrLocal,null==(t=e.DestabilizingLoad)?void 0:t.toString(),e.ProjectedOrTrue,e.PredefinedType]},1162798199:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},812556717:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},3825984169:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},3026737570:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},3179687236:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},4292641817:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},4207607924:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},2391406946:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},4156078855:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},3512223829:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},4237592921:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},3304561284:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.OverallHeight,e.OverallWidth,e.PredefinedType,e.PartitioningType,e.UserDefinedPartitioningType]},486154966:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.OverallHeight,e.OverallWidth,e.PredefinedType,e.PartitioningType,e.UserDefinedPartitioningType]},2874132201:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},1634111441:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},177149247:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},2056796094:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},3001207471:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},277319702:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},753842376:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},2906023776:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},32344328:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},2938176219:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},635142910:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},3758799889:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},1051757585:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},4217484030:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},3902619387:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},639361253:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},3221913625:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},3571504051:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},2272882330:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},578613899:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},4136498852:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},3640358203:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},4074379575:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},1052013943:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},562808652:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.LongName,e.PredefinedType]},1062813311:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag]},342316401:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},3518393246:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},1360408905:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},1904799276:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},862014818:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},3310460725:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},264262732:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},402227799:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},1003880860:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},3415622556:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},819412036:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},1426591983:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},182646315:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},2295281155:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},4086658281:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},630975310:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},4288193352:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},3087945054:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},25142252:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]}},W_[2]={3699917729:function(e){return new e_.IfcAbsorbedDoseMeasure(e)},4182062534:function(e){return new e_.IfcAccelerationMeasure(e)},360377573:function(e){return new e_.IfcAmountOfSubstanceMeasure(e)},632304761:function(e){return new e_.IfcAngularVelocityMeasure(e)},3683503648:function(e){return new e_.IfcArcIndex(e)},1500781891:function(e){return new e_.IfcAreaDensityMeasure(e)},2650437152:function(e){return new e_.IfcAreaMeasure(e)},2314439260:function(e){return new e_.IfcBinary(e)},2735952531:function(e){return new e_.IfcBoolean(e)},1867003952:function(e){return new e_.IfcBoxAlignment(e)},1683019596:function(e){return new e_.IfcCardinalPointReference(e)},2991860651:function(e){return new e_.IfcComplexNumber(e)},3812528620:function(e){return new e_.IfcCompoundPlaneAngleMeasure(e)},3238673880:function(e){return new e_.IfcContextDependentMeasure(e)},1778710042:function(e){return new e_.IfcCountMeasure(e)},94842927:function(e){return new e_.IfcCurvatureMeasure(e)},937566702:function(e){return new e_.IfcDate(e)},2195413836:function(e){return new e_.IfcDateTime(e)},86635668:function(e){return new e_.IfcDayInMonthNumber(e)},3701338814:function(e){return new e_.IfcDayInWeekNumber(e)},1514641115:function(e){return new e_.IfcDescriptiveMeasure(e)},4134073009:function(e){return new e_.IfcDimensionCount(e)},524656162:function(e){return new e_.IfcDoseEquivalentMeasure(e)},2541165894:function(e){return new e_.IfcDuration(e)},69416015:function(e){return new e_.IfcDynamicViscosityMeasure(e)},1827137117:function(e){return new e_.IfcElectricCapacitanceMeasure(e)},3818826038:function(e){return new e_.IfcElectricChargeMeasure(e)},2093906313:function(e){return new e_.IfcElectricConductanceMeasure(e)},3790457270:function(e){return new e_.IfcElectricCurrentMeasure(e)},2951915441:function(e){return new e_.IfcElectricResistanceMeasure(e)},2506197118:function(e){return new e_.IfcElectricVoltageMeasure(e)},2078135608:function(e){return new e_.IfcEnergyMeasure(e)},1102727119:function(e){return new e_.IfcFontStyle(e)},2715512545:function(e){return new e_.IfcFontVariant(e)},2590844177:function(e){return new e_.IfcFontWeight(e)},1361398929:function(e){return new e_.IfcForceMeasure(e)},3044325142:function(e){return new e_.IfcFrequencyMeasure(e)},3064340077:function(e){return new e_.IfcGloballyUniqueId(e)},3113092358:function(e){return new e_.IfcHeatFluxDensityMeasure(e)},1158859006:function(e){return new e_.IfcHeatingValueMeasure(e)},983778844:function(e){return new e_.IfcIdentifier(e)},3358199106:function(e){return new e_.IfcIlluminanceMeasure(e)},2679005408:function(e){return new e_.IfcInductanceMeasure(e)},1939436016:function(e){return new e_.IfcInteger(e)},3809634241:function(e){return new e_.IfcIntegerCountRateMeasure(e)},3686016028:function(e){return new e_.IfcIonConcentrationMeasure(e)},3192672207:function(e){return new e_.IfcIsothermalMoistureCapacityMeasure(e)},2054016361:function(e){return new e_.IfcKinematicViscosityMeasure(e)},3258342251:function(e){return new e_.IfcLabel(e)},1275358634:function(e){return new e_.IfcLanguageId(e)},1243674935:function(e){return new e_.IfcLengthMeasure(e)},1774176899:function(e){return new e_.IfcLineIndex(e)},191860431:function(e){return new e_.IfcLinearForceMeasure(e)},2128979029:function(e){return new e_.IfcLinearMomentMeasure(e)},1307019551:function(e){return new e_.IfcLinearStiffnessMeasure(e)},3086160713:function(e){return new e_.IfcLinearVelocityMeasure(e)},503418787:function(e){return new e_.IfcLogical(e)},2095003142:function(e){return new e_.IfcLuminousFluxMeasure(e)},2755797622:function(e){return new e_.IfcLuminousIntensityDistributionMeasure(e)},151039812:function(e){return new e_.IfcLuminousIntensityMeasure(e)},286949696:function(e){return new e_.IfcMagneticFluxDensityMeasure(e)},2486716878:function(e){return new e_.IfcMagneticFluxMeasure(e)},1477762836:function(e){return new e_.IfcMassDensityMeasure(e)},4017473158:function(e){return new e_.IfcMassFlowRateMeasure(e)},3124614049:function(e){return new e_.IfcMassMeasure(e)},3531705166:function(e){return new e_.IfcMassPerLengthMeasure(e)},3341486342:function(e){return new e_.IfcModulusOfElasticityMeasure(e)},2173214787:function(e){return new e_.IfcModulusOfLinearSubgradeReactionMeasure(e)},1052454078:function(e){return new e_.IfcModulusOfRotationalSubgradeReactionMeasure(e)},1753493141:function(e){return new e_.IfcModulusOfSubgradeReactionMeasure(e)},3177669450:function(e){return new e_.IfcMoistureDiffusivityMeasure(e)},1648970520:function(e){return new e_.IfcMolecularWeightMeasure(e)},3114022597:function(e){return new e_.IfcMomentOfInertiaMeasure(e)},2615040989:function(e){return new e_.IfcMonetaryMeasure(e)},765770214:function(e){return new e_.IfcMonthInYearNumber(e)},525895558:function(e){return new e_.IfcNonNegativeLengthMeasure(e)},2095195183:function(e){return new e_.IfcNormalisedRatioMeasure(e)},2395907400:function(e){return new e_.IfcNumericMeasure(e)},929793134:function(e){return new e_.IfcPHMeasure(e)},2260317790:function(e){return new e_.IfcParameterValue(e)},2642773653:function(e){return new e_.IfcPlanarForceMeasure(e)},4042175685:function(e){return new e_.IfcPlaneAngleMeasure(e)},1790229001:function(e){return new e_.IfcPositiveInteger(e)},2815919920:function(e){return new e_.IfcPositiveLengthMeasure(e)},3054510233:function(e){return new e_.IfcPositivePlaneAngleMeasure(e)},1245737093:function(e){return new e_.IfcPositiveRatioMeasure(e)},1364037233:function(e){return new e_.IfcPowerMeasure(e)},2169031380:function(e){return new e_.IfcPresentableText(e)},3665567075:function(e){return new e_.IfcPressureMeasure(e)},2798247006:function(e){return new e_.IfcPropertySetDefinitionSet(e)},3972513137:function(e){return new e_.IfcRadioActivityMeasure(e)},96294661:function(e){return new e_.IfcRatioMeasure(e)},200335297:function(e){return new e_.IfcReal(e)},2133746277:function(e){return new e_.IfcRotationalFrequencyMeasure(e)},1755127002:function(e){return new e_.IfcRotationalMassMeasure(e)},3211557302:function(e){return new e_.IfcRotationalStiffnessMeasure(e)},3467162246:function(e){return new e_.IfcSectionModulusMeasure(e)},2190458107:function(e){return new e_.IfcSectionalAreaIntegralMeasure(e)},408310005:function(e){return new e_.IfcShearModulusMeasure(e)},3471399674:function(e){return new e_.IfcSolidAngleMeasure(e)},4157543285:function(e){return new e_.IfcSoundPowerLevelMeasure(e)},846465480:function(e){return new e_.IfcSoundPowerMeasure(e)},3457685358:function(e){return new e_.IfcSoundPressureLevelMeasure(e)},993287707:function(e){return new e_.IfcSoundPressureMeasure(e)},3477203348:function(e){return new e_.IfcSpecificHeatCapacityMeasure(e)},2757832317:function(e){return new e_.IfcSpecularExponent(e)},361837227:function(e){return new e_.IfcSpecularRoughness(e)},58845555:function(e){return new e_.IfcTemperatureGradientMeasure(e)},1209108979:function(e){return new e_.IfcTemperatureRateOfChangeMeasure(e)},2801250643:function(e){return new e_.IfcText(e)},1460886941:function(e){return new e_.IfcTextAlignment(e)},3490877962:function(e){return new e_.IfcTextDecoration(e)},603696268:function(e){return new e_.IfcTextFontName(e)},296282323:function(e){return new e_.IfcTextTransformation(e)},232962298:function(e){return new e_.IfcThermalAdmittanceMeasure(e)},2645777649:function(e){return new e_.IfcThermalConductivityMeasure(e)},2281867870:function(e){return new e_.IfcThermalExpansionCoefficientMeasure(e)},857959152:function(e){return new e_.IfcThermalResistanceMeasure(e)},2016195849:function(e){return new e_.IfcThermalTransmittanceMeasure(e)},743184107:function(e){return new e_.IfcThermodynamicTemperatureMeasure(e)},4075327185:function(e){return new e_.IfcTime(e)},2726807636:function(e){return new e_.IfcTimeMeasure(e)},2591213694:function(e){return new e_.IfcTimeStamp(e)},1278329552:function(e){return new e_.IfcTorqueMeasure(e)},950732822:function(e){return new e_.IfcURIReference(e)},3345633955:function(e){return new e_.IfcVaporPermeabilityMeasure(e)},3458127941:function(e){return new e_.IfcVolumeMeasure(e)},2593997549:function(e){return new e_.IfcVolumetricFlowRateMeasure(e)},51269191:function(e){return new e_.IfcWarpingConstantMeasure(e)},1718600412:function(e){return new e_.IfcWarpingMomentMeasure(e)}},function(e){var t=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcAbsorbedDoseMeasure=t;var n=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcAccelerationMeasure=n;var r=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcAmountOfSubstanceMeasure=r;var i=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcAngularVelocityMeasure=i;var a=P((function e(t){b(this,e),this.value=t}));e.IfcArcIndex=a;var s=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcAreaDensityMeasure=s;var o=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcAreaMeasure=o;var l=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcBinary=l;var u=P((function e(t){b(this,e),this.type=3,this.value="true"==t}));e.IfcBoolean=u;var c=P((function e(t){b(this,e),this.value=t,this.type=1}));e.IfcBoxAlignment=c;var f=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcCardinalPointReference=f;var p=P((function e(t){b(this,e),this.value=t}));e.IfcComplexNumber=p;var A=P((function e(t){b(this,e),this.value=t}));e.IfcCompoundPlaneAngleMeasure=A;var d=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcContextDependentMeasure=d;var v=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcCountMeasure=v;var h=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcCurvatureMeasure=h;var y=P((function e(t){b(this,e),this.value=t,this.type=1}));e.IfcDate=y;var w=P((function e(t){b(this,e),this.value=t,this.type=1}));e.IfcDateTime=w;var g=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcDayInMonthNumber=g;var E=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcDayInWeekNumber=E;var T=P((function e(t){b(this,e),this.value=t,this.type=1}));e.IfcDescriptiveMeasure=T;var D=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcDimensionCount=D;var R=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcDoseEquivalentMeasure=R;var C=P((function e(t){b(this,e),this.value=t,this.type=1}));e.IfcDuration=C;var _=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcDynamicViscosityMeasure=_;var B=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcElectricCapacitanceMeasure=B;var O=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcElectricChargeMeasure=O;var S=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcElectricConductanceMeasure=S;var N=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcElectricCurrentMeasure=N;var L=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcElectricResistanceMeasure=L;var x=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcElectricVoltageMeasure=x;var M=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcEnergyMeasure=M;var F=P((function e(t){b(this,e),this.value=t,this.type=1}));e.IfcFontStyle=F;var H=P((function e(t){b(this,e),this.value=t,this.type=1}));e.IfcFontVariant=H;var U=P((function e(t){b(this,e),this.value=t,this.type=1}));e.IfcFontWeight=U;var G=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcForceMeasure=G;var k=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcFrequencyMeasure=k;var j=P((function e(t){b(this,e),this.value=t,this.type=1}));e.IfcGloballyUniqueId=j;var V=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcHeatFluxDensityMeasure=V;var Q=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcHeatingValueMeasure=Q;var W=P((function e(t){b(this,e),this.value=t,this.type=1}));e.IfcIdentifier=W;var z=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcIlluminanceMeasure=z;var K=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcInductanceMeasure=K;var Y=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcInteger=Y;var X=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcIntegerCountRateMeasure=X;var q=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcIonConcentrationMeasure=q;var J=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcIsothermalMoistureCapacityMeasure=J;var Z=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcKinematicViscosityMeasure=Z;var $=P((function e(t){b(this,e),this.value=t,this.type=1}));e.IfcLabel=$;var ee=P((function e(t){b(this,e),this.value=t,this.type=1}));e.IfcLanguageId=ee;var te=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcLengthMeasure=te;var ne=P((function e(t){b(this,e),this.value=t}));e.IfcLineIndex=ne;var re=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcLinearForceMeasure=re;var ie=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcLinearMomentMeasure=ie;var ae=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcLinearStiffnessMeasure=ae;var se=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcLinearVelocityMeasure=se;var oe=P((function e(t){b(this,e),this.type=3,this.value="true"==t}));e.IfcLogical=oe;var le=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcLuminousFluxMeasure=le;var ue=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcLuminousIntensityDistributionMeasure=ue;var ce=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcLuminousIntensityMeasure=ce;var fe=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcMagneticFluxDensityMeasure=fe;var pe=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcMagneticFluxMeasure=pe;var Ae=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcMassDensityMeasure=Ae;var de=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcMassFlowRateMeasure=de;var ve=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcMassMeasure=ve;var he=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcMassPerLengthMeasure=he;var Ie=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcModulusOfElasticityMeasure=Ie;var ye=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcModulusOfLinearSubgradeReactionMeasure=ye;var me=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcModulusOfRotationalSubgradeReactionMeasure=me;var we=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcModulusOfSubgradeReactionMeasure=we;var ge=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcMoistureDiffusivityMeasure=ge;var Ee=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcMolecularWeightMeasure=Ee;var Te=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcMomentOfInertiaMeasure=Te;var be=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcMonetaryMeasure=be;var De=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcMonthInYearNumber=De;var Pe=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcNonNegativeLengthMeasure=Pe;var Re=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcNormalisedRatioMeasure=Re;var Ce=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcNumericMeasure=Ce;var _e=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcPHMeasure=_e;var Be=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcParameterValue=Be;var Oe=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcPlanarForceMeasure=Oe;var Se=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcPlaneAngleMeasure=Se;var Ne=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcPositiveInteger=Ne;var Le=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcPositiveLengthMeasure=Le;var xe=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcPositivePlaneAngleMeasure=xe;var Me=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcPositiveRatioMeasure=Me;var Fe=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcPowerMeasure=Fe;var He=P((function e(t){b(this,e),this.value=t,this.type=1}));e.IfcPresentableText=He;var Ue=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcPressureMeasure=Ue;var Ge=P((function e(t){b(this,e),this.value=t}));e.IfcPropertySetDefinitionSet=Ge;var ke=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcRadioActivityMeasure=ke;var je=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcRatioMeasure=je;var Ve=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcReal=Ve;var Qe=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcRotationalFrequencyMeasure=Qe;var We=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcRotationalMassMeasure=We;var ze=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcRotationalStiffnessMeasure=ze;var Ke=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcSectionModulusMeasure=Ke;var Ye=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcSectionalAreaIntegralMeasure=Ye;var Xe=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcShearModulusMeasure=Xe;var qe=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcSolidAngleMeasure=qe;var Je=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcSoundPowerLevelMeasure=Je;var Ze=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcSoundPowerMeasure=Ze;var $e=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcSoundPressureLevelMeasure=$e;var et=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcSoundPressureMeasure=et;var tt=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcSpecificHeatCapacityMeasure=tt;var nt=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcSpecularExponent=nt;var rt=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcSpecularRoughness=rt;var it=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcTemperatureGradientMeasure=it;var at=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcTemperatureRateOfChangeMeasure=at;var st=P((function e(t){b(this,e),this.value=t,this.type=1}));e.IfcText=st;var ot=P((function e(t){b(this,e),this.value=t,this.type=1}));e.IfcTextAlignment=ot;var lt=P((function e(t){b(this,e),this.value=t,this.type=1}));e.IfcTextDecoration=lt;var ut=P((function e(t){b(this,e),this.value=t,this.type=1}));e.IfcTextFontName=ut;var ct=P((function e(t){b(this,e),this.value=t,this.type=1}));e.IfcTextTransformation=ct;var ft=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcThermalAdmittanceMeasure=ft;var pt=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcThermalConductivityMeasure=pt;var At=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcThermalExpansionCoefficientMeasure=At;var dt=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcThermalResistanceMeasure=dt;var vt=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcThermalTransmittanceMeasure=vt;var ht=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcThermodynamicTemperatureMeasure=ht;var It=P((function e(t){b(this,e),this.value=t,this.type=1}));e.IfcTime=It;var yt=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcTimeMeasure=yt;var mt=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcTimeStamp=mt;var wt=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcTorqueMeasure=wt;var gt=P((function e(t){b(this,e),this.value=t,this.type=1}));e.IfcURIReference=gt;var Et=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcVaporPermeabilityMeasure=Et;var Tt=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcVolumeMeasure=Tt;var bt=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcVolumetricFlowRateMeasure=bt;var Dt=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcWarpingConstantMeasure=Dt;var Pt=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcWarpingMomentMeasure=Pt;var Rt=P((function e(){b(this,e)}));Rt.EMAIL={type:3,value:"EMAIL"},Rt.FAX={type:3,value:"FAX"},Rt.PHONE={type:3,value:"PHONE"},Rt.POST={type:3,value:"POST"},Rt.VERBAL={type:3,value:"VERBAL"},Rt.USERDEFINED={type:3,value:"USERDEFINED"},Rt.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcActionRequestTypeEnum=Rt;var Ct=P((function e(){b(this,e)}));Ct.DEAD_LOAD_G={type:3,value:"DEAD_LOAD_G"},Ct.COMPLETION_G1={type:3,value:"COMPLETION_G1"},Ct.LIVE_LOAD_Q={type:3,value:"LIVE_LOAD_Q"},Ct.SNOW_S={type:3,value:"SNOW_S"},Ct.WIND_W={type:3,value:"WIND_W"},Ct.PRESTRESSING_P={type:3,value:"PRESTRESSING_P"},Ct.SETTLEMENT_U={type:3,value:"SETTLEMENT_U"},Ct.TEMPERATURE_T={type:3,value:"TEMPERATURE_T"},Ct.EARTHQUAKE_E={type:3,value:"EARTHQUAKE_E"},Ct.FIRE={type:3,value:"FIRE"},Ct.IMPULSE={type:3,value:"IMPULSE"},Ct.IMPACT={type:3,value:"IMPACT"},Ct.TRANSPORT={type:3,value:"TRANSPORT"},Ct.ERECTION={type:3,value:"ERECTION"},Ct.PROPPING={type:3,value:"PROPPING"},Ct.SYSTEM_IMPERFECTION={type:3,value:"SYSTEM_IMPERFECTION"},Ct.SHRINKAGE={type:3,value:"SHRINKAGE"},Ct.CREEP={type:3,value:"CREEP"},Ct.LACK_OF_FIT={type:3,value:"LACK_OF_FIT"},Ct.BUOYANCY={type:3,value:"BUOYANCY"},Ct.ICE={type:3,value:"ICE"},Ct.CURRENT={type:3,value:"CURRENT"},Ct.WAVE={type:3,value:"WAVE"},Ct.RAIN={type:3,value:"RAIN"},Ct.BRAKES={type:3,value:"BRAKES"},Ct.USERDEFINED={type:3,value:"USERDEFINED"},Ct.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcActionSourceTypeEnum=Ct;var _t=P((function e(){b(this,e)}));_t.PERMANENT_G={type:3,value:"PERMANENT_G"},_t.VARIABLE_Q={type:3,value:"VARIABLE_Q"},_t.EXTRAORDINARY_A={type:3,value:"EXTRAORDINARY_A"},_t.USERDEFINED={type:3,value:"USERDEFINED"},_t.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcActionTypeEnum=_t;var Bt=P((function e(){b(this,e)}));Bt.ELECTRICACTUATOR={type:3,value:"ELECTRICACTUATOR"},Bt.HANDOPERATEDACTUATOR={type:3,value:"HANDOPERATEDACTUATOR"},Bt.HYDRAULICACTUATOR={type:3,value:"HYDRAULICACTUATOR"},Bt.PNEUMATICACTUATOR={type:3,value:"PNEUMATICACTUATOR"},Bt.THERMOSTATICACTUATOR={type:3,value:"THERMOSTATICACTUATOR"},Bt.USERDEFINED={type:3,value:"USERDEFINED"},Bt.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcActuatorTypeEnum=Bt;var Ot=P((function e(){b(this,e)}));Ot.OFFICE={type:3,value:"OFFICE"},Ot.SITE={type:3,value:"SITE"},Ot.HOME={type:3,value:"HOME"},Ot.DISTRIBUTIONPOINT={type:3,value:"DISTRIBUTIONPOINT"},Ot.USERDEFINED={type:3,value:"USERDEFINED"},e.IfcAddressTypeEnum=Ot;var St=P((function e(){b(this,e)}));St.CONSTANTFLOW={type:3,value:"CONSTANTFLOW"},St.VARIABLEFLOWPRESSUREDEPENDANT={type:3,value:"VARIABLEFLOWPRESSUREDEPENDANT"},St.VARIABLEFLOWPRESSUREINDEPENDANT={type:3,value:"VARIABLEFLOWPRESSUREINDEPENDANT"},St.USERDEFINED={type:3,value:"USERDEFINED"},St.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcAirTerminalBoxTypeEnum=St;var Nt=P((function e(){b(this,e)}));Nt.DIFFUSER={type:3,value:"DIFFUSER"},Nt.GRILLE={type:3,value:"GRILLE"},Nt.LOUVRE={type:3,value:"LOUVRE"},Nt.REGISTER={type:3,value:"REGISTER"},Nt.USERDEFINED={type:3,value:"USERDEFINED"},Nt.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcAirTerminalTypeEnum=Nt;var Lt=P((function e(){b(this,e)}));Lt.FIXEDPLATECOUNTERFLOWEXCHANGER={type:3,value:"FIXEDPLATECOUNTERFLOWEXCHANGER"},Lt.FIXEDPLATECROSSFLOWEXCHANGER={type:3,value:"FIXEDPLATECROSSFLOWEXCHANGER"},Lt.FIXEDPLATEPARALLELFLOWEXCHANGER={type:3,value:"FIXEDPLATEPARALLELFLOWEXCHANGER"},Lt.ROTARYWHEEL={type:3,value:"ROTARYWHEEL"},Lt.RUNAROUNDCOILLOOP={type:3,value:"RUNAROUNDCOILLOOP"},Lt.HEATPIPE={type:3,value:"HEATPIPE"},Lt.TWINTOWERENTHALPYRECOVERYLOOPS={type:3,value:"TWINTOWERENTHALPYRECOVERYLOOPS"},Lt.THERMOSIPHONSEALEDTUBEHEATEXCHANGERS={type:3,value:"THERMOSIPHONSEALEDTUBEHEATEXCHANGERS"},Lt.THERMOSIPHONCOILTYPEHEATEXCHANGERS={type:3,value:"THERMOSIPHONCOILTYPEHEATEXCHANGERS"},Lt.USERDEFINED={type:3,value:"USERDEFINED"},Lt.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcAirToAirHeatRecoveryTypeEnum=Lt;var xt=P((function e(){b(this,e)}));xt.BELL={type:3,value:"BELL"},xt.BREAKGLASSBUTTON={type:3,value:"BREAKGLASSBUTTON"},xt.LIGHT={type:3,value:"LIGHT"},xt.MANUALPULLBOX={type:3,value:"MANUALPULLBOX"},xt.SIREN={type:3,value:"SIREN"},xt.WHISTLE={type:3,value:"WHISTLE"},xt.USERDEFINED={type:3,value:"USERDEFINED"},xt.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcAlarmTypeEnum=xt;var Mt=P((function e(){b(this,e)}));Mt.IN_PLANE_LOADING_2D={type:3,value:"IN_PLANE_LOADING_2D"},Mt.OUT_PLANE_LOADING_2D={type:3,value:"OUT_PLANE_LOADING_2D"},Mt.LOADING_3D={type:3,value:"LOADING_3D"},Mt.USERDEFINED={type:3,value:"USERDEFINED"},Mt.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcAnalysisModelTypeEnum=Mt;var Ft=P((function e(){b(this,e)}));Ft.FIRST_ORDER_THEORY={type:3,value:"FIRST_ORDER_THEORY"},Ft.SECOND_ORDER_THEORY={type:3,value:"SECOND_ORDER_THEORY"},Ft.THIRD_ORDER_THEORY={type:3,value:"THIRD_ORDER_THEORY"},Ft.FULL_NONLINEAR_THEORY={type:3,value:"FULL_NONLINEAR_THEORY"},Ft.USERDEFINED={type:3,value:"USERDEFINED"},Ft.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcAnalysisTheoryTypeEnum=Ft;var Ht=P((function e(){b(this,e)}));Ht.ADD={type:3,value:"ADD"},Ht.DIVIDE={type:3,value:"DIVIDE"},Ht.MULTIPLY={type:3,value:"MULTIPLY"},Ht.SUBTRACT={type:3,value:"SUBTRACT"},e.IfcArithmeticOperatorEnum=Ht;var Ut=P((function e(){b(this,e)}));Ut.SITE={type:3,value:"SITE"},Ut.FACTORY={type:3,value:"FACTORY"},Ut.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcAssemblyPlaceEnum=Ut;var Gt=P((function e(){b(this,e)}));Gt.AMPLIFIER={type:3,value:"AMPLIFIER"},Gt.CAMERA={type:3,value:"CAMERA"},Gt.DISPLAY={type:3,value:"DISPLAY"},Gt.MICROPHONE={type:3,value:"MICROPHONE"},Gt.PLAYER={type:3,value:"PLAYER"},Gt.PROJECTOR={type:3,value:"PROJECTOR"},Gt.RECEIVER={type:3,value:"RECEIVER"},Gt.SPEAKER={type:3,value:"SPEAKER"},Gt.SWITCHER={type:3,value:"SWITCHER"},Gt.TELEPHONE={type:3,value:"TELEPHONE"},Gt.TUNER={type:3,value:"TUNER"},Gt.USERDEFINED={type:3,value:"USERDEFINED"},Gt.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcAudioVisualApplianceTypeEnum=Gt;var kt=P((function e(){b(this,e)}));kt.POLYLINE_FORM={type:3,value:"POLYLINE_FORM"},kt.CIRCULAR_ARC={type:3,value:"CIRCULAR_ARC"},kt.ELLIPTIC_ARC={type:3,value:"ELLIPTIC_ARC"},kt.PARABOLIC_ARC={type:3,value:"PARABOLIC_ARC"},kt.HYPERBOLIC_ARC={type:3,value:"HYPERBOLIC_ARC"},kt.UNSPECIFIED={type:3,value:"UNSPECIFIED"},e.IfcBSplineCurveForm=kt;var jt=P((function e(){b(this,e)}));jt.PLANE_SURF={type:3,value:"PLANE_SURF"},jt.CYLINDRICAL_SURF={type:3,value:"CYLINDRICAL_SURF"},jt.CONICAL_SURF={type:3,value:"CONICAL_SURF"},jt.SPHERICAL_SURF={type:3,value:"SPHERICAL_SURF"},jt.TOROIDAL_SURF={type:3,value:"TOROIDAL_SURF"},jt.SURF_OF_REVOLUTION={type:3,value:"SURF_OF_REVOLUTION"},jt.RULED_SURF={type:3,value:"RULED_SURF"},jt.GENERALISED_CONE={type:3,value:"GENERALISED_CONE"},jt.QUADRIC_SURF={type:3,value:"QUADRIC_SURF"},jt.SURF_OF_LINEAR_EXTRUSION={type:3,value:"SURF_OF_LINEAR_EXTRUSION"},jt.UNSPECIFIED={type:3,value:"UNSPECIFIED"},e.IfcBSplineSurfaceForm=jt;var Vt=P((function e(){b(this,e)}));Vt.BEAM={type:3,value:"BEAM"},Vt.JOIST={type:3,value:"JOIST"},Vt.HOLLOWCORE={type:3,value:"HOLLOWCORE"},Vt.LINTEL={type:3,value:"LINTEL"},Vt.SPANDREL={type:3,value:"SPANDREL"},Vt.T_BEAM={type:3,value:"T_BEAM"},Vt.USERDEFINED={type:3,value:"USERDEFINED"},Vt.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcBeamTypeEnum=Vt;var Qt=P((function e(){b(this,e)}));Qt.GREATERTHAN={type:3,value:"GREATERTHAN"},Qt.GREATERTHANOREQUALTO={type:3,value:"GREATERTHANOREQUALTO"},Qt.LESSTHAN={type:3,value:"LESSTHAN"},Qt.LESSTHANOREQUALTO={type:3,value:"LESSTHANOREQUALTO"},Qt.EQUALTO={type:3,value:"EQUALTO"},Qt.NOTEQUALTO={type:3,value:"NOTEQUALTO"},Qt.INCLUDES={type:3,value:"INCLUDES"},Qt.NOTINCLUDES={type:3,value:"NOTINCLUDES"},Qt.INCLUDEDIN={type:3,value:"INCLUDEDIN"},Qt.NOTINCLUDEDIN={type:3,value:"NOTINCLUDEDIN"},e.IfcBenchmarkEnum=Qt;var Wt=P((function e(){b(this,e)}));Wt.WATER={type:3,value:"WATER"},Wt.STEAM={type:3,value:"STEAM"},Wt.USERDEFINED={type:3,value:"USERDEFINED"},Wt.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcBoilerTypeEnum=Wt;var zt=P((function e(){b(this,e)}));zt.UNION={type:3,value:"UNION"},zt.INTERSECTION={type:3,value:"INTERSECTION"},zt.DIFFERENCE={type:3,value:"DIFFERENCE"},e.IfcBooleanOperator=zt;var Kt=P((function e(){b(this,e)}));Kt.INSULATION={type:3,value:"INSULATION"},Kt.PRECASTPANEL={type:3,value:"PRECASTPANEL"},Kt.USERDEFINED={type:3,value:"USERDEFINED"},Kt.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcBuildingElementPartTypeEnum=Kt;var Yt=P((function e(){b(this,e)}));Yt.COMPLEX={type:3,value:"COMPLEX"},Yt.ELEMENT={type:3,value:"ELEMENT"},Yt.PARTIAL={type:3,value:"PARTIAL"},Yt.PROVISIONFORVOID={type:3,value:"PROVISIONFORVOID"},Yt.PROVISIONFORSPACE={type:3,value:"PROVISIONFORSPACE"},Yt.USERDEFINED={type:3,value:"USERDEFINED"},Yt.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcBuildingElementProxyTypeEnum=Yt;var Xt=P((function e(){b(this,e)}));Xt.FENESTRATION={type:3,value:"FENESTRATION"},Xt.FOUNDATION={type:3,value:"FOUNDATION"},Xt.LOADBEARING={type:3,value:"LOADBEARING"},Xt.OUTERSHELL={type:3,value:"OUTERSHELL"},Xt.SHADING={type:3,value:"SHADING"},Xt.TRANSPORT={type:3,value:"TRANSPORT"},Xt.USERDEFINED={type:3,value:"USERDEFINED"},Xt.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcBuildingSystemTypeEnum=Xt;var qt=P((function e(){b(this,e)}));qt.USERDEFINED={type:3,value:"USERDEFINED"},qt.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcBurnerTypeEnum=qt;var Jt=P((function e(){b(this,e)}));Jt.BEND={type:3,value:"BEND"},Jt.CROSS={type:3,value:"CROSS"},Jt.REDUCER={type:3,value:"REDUCER"},Jt.TEE={type:3,value:"TEE"},Jt.USERDEFINED={type:3,value:"USERDEFINED"},Jt.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcCableCarrierFittingTypeEnum=Jt;var Zt=P((function e(){b(this,e)}));Zt.CABLELADDERSEGMENT={type:3,value:"CABLELADDERSEGMENT"},Zt.CABLETRAYSEGMENT={type:3,value:"CABLETRAYSEGMENT"},Zt.CABLETRUNKINGSEGMENT={type:3,value:"CABLETRUNKINGSEGMENT"},Zt.CONDUITSEGMENT={type:3,value:"CONDUITSEGMENT"},Zt.USERDEFINED={type:3,value:"USERDEFINED"},Zt.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcCableCarrierSegmentTypeEnum=Zt;var $t=P((function e(){b(this,e)}));$t.CONNECTOR={type:3,value:"CONNECTOR"},$t.ENTRY={type:3,value:"ENTRY"},$t.EXIT={type:3,value:"EXIT"},$t.JUNCTION={type:3,value:"JUNCTION"},$t.TRANSITION={type:3,value:"TRANSITION"},$t.USERDEFINED={type:3,value:"USERDEFINED"},$t.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcCableFittingTypeEnum=$t;var en=P((function e(){b(this,e)}));en.BUSBARSEGMENT={type:3,value:"BUSBARSEGMENT"},en.CABLESEGMENT={type:3,value:"CABLESEGMENT"},en.CONDUCTORSEGMENT={type:3,value:"CONDUCTORSEGMENT"},en.CORESEGMENT={type:3,value:"CORESEGMENT"},en.USERDEFINED={type:3,value:"USERDEFINED"},en.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcCableSegmentTypeEnum=en;var tn=P((function e(){b(this,e)}));tn.NOCHANGE={type:3,value:"NOCHANGE"},tn.MODIFIED={type:3,value:"MODIFIED"},tn.ADDED={type:3,value:"ADDED"},tn.DELETED={type:3,value:"DELETED"},tn.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcChangeActionEnum=tn;var nn=P((function e(){b(this,e)}));nn.AIRCOOLED={type:3,value:"AIRCOOLED"},nn.WATERCOOLED={type:3,value:"WATERCOOLED"},nn.HEATRECOVERY={type:3,value:"HEATRECOVERY"},nn.USERDEFINED={type:3,value:"USERDEFINED"},nn.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcChillerTypeEnum=nn;var rn=P((function e(){b(this,e)}));rn.USERDEFINED={type:3,value:"USERDEFINED"},rn.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcChimneyTypeEnum=rn;var an=P((function e(){b(this,e)}));an.DXCOOLINGCOIL={type:3,value:"DXCOOLINGCOIL"},an.ELECTRICHEATINGCOIL={type:3,value:"ELECTRICHEATINGCOIL"},an.GASHEATINGCOIL={type:3,value:"GASHEATINGCOIL"},an.HYDRONICCOIL={type:3,value:"HYDRONICCOIL"},an.STEAMHEATINGCOIL={type:3,value:"STEAMHEATINGCOIL"},an.WATERCOOLINGCOIL={type:3,value:"WATERCOOLINGCOIL"},an.WATERHEATINGCOIL={type:3,value:"WATERHEATINGCOIL"},an.USERDEFINED={type:3,value:"USERDEFINED"},an.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcCoilTypeEnum=an;var sn=P((function e(){b(this,e)}));sn.COLUMN={type:3,value:"COLUMN"},sn.PILASTER={type:3,value:"PILASTER"},sn.USERDEFINED={type:3,value:"USERDEFINED"},sn.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcColumnTypeEnum=sn;var on=P((function e(){b(this,e)}));on.ANTENNA={type:3,value:"ANTENNA"},on.COMPUTER={type:3,value:"COMPUTER"},on.FAX={type:3,value:"FAX"},on.GATEWAY={type:3,value:"GATEWAY"},on.MODEM={type:3,value:"MODEM"},on.NETWORKAPPLIANCE={type:3,value:"NETWORKAPPLIANCE"},on.NETWORKBRIDGE={type:3,value:"NETWORKBRIDGE"},on.NETWORKHUB={type:3,value:"NETWORKHUB"},on.PRINTER={type:3,value:"PRINTER"},on.REPEATER={type:3,value:"REPEATER"},on.ROUTER={type:3,value:"ROUTER"},on.SCANNER={type:3,value:"SCANNER"},on.USERDEFINED={type:3,value:"USERDEFINED"},on.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcCommunicationsApplianceTypeEnum=on;var ln=P((function e(){b(this,e)}));ln.P_COMPLEX={type:3,value:"P_COMPLEX"},ln.Q_COMPLEX={type:3,value:"Q_COMPLEX"},e.IfcComplexPropertyTemplateTypeEnum=ln;var un=P((function e(){b(this,e)}));un.DYNAMIC={type:3,value:"DYNAMIC"},un.RECIPROCATING={type:3,value:"RECIPROCATING"},un.ROTARY={type:3,value:"ROTARY"},un.SCROLL={type:3,value:"SCROLL"},un.TROCHOIDAL={type:3,value:"TROCHOIDAL"},un.SINGLESTAGE={type:3,value:"SINGLESTAGE"},un.BOOSTER={type:3,value:"BOOSTER"},un.OPENTYPE={type:3,value:"OPENTYPE"},un.HERMETIC={type:3,value:"HERMETIC"},un.SEMIHERMETIC={type:3,value:"SEMIHERMETIC"},un.WELDEDSHELLHERMETIC={type:3,value:"WELDEDSHELLHERMETIC"},un.ROLLINGPISTON={type:3,value:"ROLLINGPISTON"},un.ROTARYVANE={type:3,value:"ROTARYVANE"},un.SINGLESCREW={type:3,value:"SINGLESCREW"},un.TWINSCREW={type:3,value:"TWINSCREW"},un.USERDEFINED={type:3,value:"USERDEFINED"},un.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcCompressorTypeEnum=un;var cn=P((function e(){b(this,e)}));cn.AIRCOOLED={type:3,value:"AIRCOOLED"},cn.EVAPORATIVECOOLED={type:3,value:"EVAPORATIVECOOLED"},cn.WATERCOOLED={type:3,value:"WATERCOOLED"},cn.WATERCOOLEDBRAZEDPLATE={type:3,value:"WATERCOOLEDBRAZEDPLATE"},cn.WATERCOOLEDSHELLCOIL={type:3,value:"WATERCOOLEDSHELLCOIL"},cn.WATERCOOLEDSHELLTUBE={type:3,value:"WATERCOOLEDSHELLTUBE"},cn.WATERCOOLEDTUBEINTUBE={type:3,value:"WATERCOOLEDTUBEINTUBE"},cn.USERDEFINED={type:3,value:"USERDEFINED"},cn.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcCondenserTypeEnum=cn;var fn=P((function e(){b(this,e)}));fn.ATPATH={type:3,value:"ATPATH"},fn.ATSTART={type:3,value:"ATSTART"},fn.ATEND={type:3,value:"ATEND"},fn.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcConnectionTypeEnum=fn;var pn=P((function e(){b(this,e)}));pn.HARD={type:3,value:"HARD"},pn.SOFT={type:3,value:"SOFT"},pn.ADVISORY={type:3,value:"ADVISORY"},pn.USERDEFINED={type:3,value:"USERDEFINED"},pn.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcConstraintEnum=pn;var An=P((function e(){b(this,e)}));An.DEMOLISHING={type:3,value:"DEMOLISHING"},An.EARTHMOVING={type:3,value:"EARTHMOVING"},An.ERECTING={type:3,value:"ERECTING"},An.HEATING={type:3,value:"HEATING"},An.LIGHTING={type:3,value:"LIGHTING"},An.PAVING={type:3,value:"PAVING"},An.PUMPING={type:3,value:"PUMPING"},An.TRANSPORTING={type:3,value:"TRANSPORTING"},An.USERDEFINED={type:3,value:"USERDEFINED"},An.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcConstructionEquipmentResourceTypeEnum=An;var dn=P((function e(){b(this,e)}));dn.AGGREGATES={type:3,value:"AGGREGATES"},dn.CONCRETE={type:3,value:"CONCRETE"},dn.DRYWALL={type:3,value:"DRYWALL"},dn.FUEL={type:3,value:"FUEL"},dn.GYPSUM={type:3,value:"GYPSUM"},dn.MASONRY={type:3,value:"MASONRY"},dn.METAL={type:3,value:"METAL"},dn.PLASTIC={type:3,value:"PLASTIC"},dn.WOOD={type:3,value:"WOOD"},dn.NOTDEFINED={type:3,value:"NOTDEFINED"},dn.USERDEFINED={type:3,value:"USERDEFINED"},e.IfcConstructionMaterialResourceTypeEnum=dn;var vn=P((function e(){b(this,e)}));vn.ASSEMBLY={type:3,value:"ASSEMBLY"},vn.FORMWORK={type:3,value:"FORMWORK"},vn.USERDEFINED={type:3,value:"USERDEFINED"},vn.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcConstructionProductResourceTypeEnum=vn;var hn=P((function e(){b(this,e)}));hn.FLOATING={type:3,value:"FLOATING"},hn.PROGRAMMABLE={type:3,value:"PROGRAMMABLE"},hn.PROPORTIONAL={type:3,value:"PROPORTIONAL"},hn.MULTIPOSITION={type:3,value:"MULTIPOSITION"},hn.TWOPOSITION={type:3,value:"TWOPOSITION"},hn.USERDEFINED={type:3,value:"USERDEFINED"},hn.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcControllerTypeEnum=hn;var In=P((function e(){b(this,e)}));In.ACTIVE={type:3,value:"ACTIVE"},In.PASSIVE={type:3,value:"PASSIVE"},In.USERDEFINED={type:3,value:"USERDEFINED"},In.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcCooledBeamTypeEnum=In;var yn=P((function e(){b(this,e)}));yn.NATURALDRAFT={type:3,value:"NATURALDRAFT"},yn.MECHANICALINDUCEDDRAFT={type:3,value:"MECHANICALINDUCEDDRAFT"},yn.MECHANICALFORCEDDRAFT={type:3,value:"MECHANICALFORCEDDRAFT"},yn.USERDEFINED={type:3,value:"USERDEFINED"},yn.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcCoolingTowerTypeEnum=yn;var mn=P((function e(){b(this,e)}));mn.USERDEFINED={type:3,value:"USERDEFINED"},mn.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcCostItemTypeEnum=mn;var wn=P((function e(){b(this,e)}));wn.BUDGET={type:3,value:"BUDGET"},wn.COSTPLAN={type:3,value:"COSTPLAN"},wn.ESTIMATE={type:3,value:"ESTIMATE"},wn.TENDER={type:3,value:"TENDER"},wn.PRICEDBILLOFQUANTITIES={type:3,value:"PRICEDBILLOFQUANTITIES"},wn.UNPRICEDBILLOFQUANTITIES={type:3,value:"UNPRICEDBILLOFQUANTITIES"},wn.SCHEDULEOFRATES={type:3,value:"SCHEDULEOFRATES"},wn.USERDEFINED={type:3,value:"USERDEFINED"},wn.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcCostScheduleTypeEnum=wn;var gn=P((function e(){b(this,e)}));gn.CEILING={type:3,value:"CEILING"},gn.FLOORING={type:3,value:"FLOORING"},gn.CLADDING={type:3,value:"CLADDING"},gn.ROOFING={type:3,value:"ROOFING"},gn.MOLDING={type:3,value:"MOLDING"},gn.SKIRTINGBOARD={type:3,value:"SKIRTINGBOARD"},gn.INSULATION={type:3,value:"INSULATION"},gn.MEMBRANE={type:3,value:"MEMBRANE"},gn.SLEEVING={type:3,value:"SLEEVING"},gn.WRAPPING={type:3,value:"WRAPPING"},gn.USERDEFINED={type:3,value:"USERDEFINED"},gn.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcCoveringTypeEnum=gn;var En=P((function e(){b(this,e)}));En.OFFICE={type:3,value:"OFFICE"},En.SITE={type:3,value:"SITE"},En.USERDEFINED={type:3,value:"USERDEFINED"},En.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcCrewResourceTypeEnum=En;var Tn=P((function e(){b(this,e)}));Tn.USERDEFINED={type:3,value:"USERDEFINED"},Tn.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcCurtainWallTypeEnum=Tn;var bn=P((function e(){b(this,e)}));bn.LINEAR={type:3,value:"LINEAR"},bn.LOG_LINEAR={type:3,value:"LOG_LINEAR"},bn.LOG_LOG={type:3,value:"LOG_LOG"},bn.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcCurveInterpolationEnum=bn;var Dn=P((function e(){b(this,e)}));Dn.BACKDRAFTDAMPER={type:3,value:"BACKDRAFTDAMPER"},Dn.BALANCINGDAMPER={type:3,value:"BALANCINGDAMPER"},Dn.BLASTDAMPER={type:3,value:"BLASTDAMPER"},Dn.CONTROLDAMPER={type:3,value:"CONTROLDAMPER"},Dn.FIREDAMPER={type:3,value:"FIREDAMPER"},Dn.FIRESMOKEDAMPER={type:3,value:"FIRESMOKEDAMPER"},Dn.FUMEHOODEXHAUST={type:3,value:"FUMEHOODEXHAUST"},Dn.GRAVITYDAMPER={type:3,value:"GRAVITYDAMPER"},Dn.GRAVITYRELIEFDAMPER={type:3,value:"GRAVITYRELIEFDAMPER"},Dn.RELIEFDAMPER={type:3,value:"RELIEFDAMPER"},Dn.SMOKEDAMPER={type:3,value:"SMOKEDAMPER"},Dn.USERDEFINED={type:3,value:"USERDEFINED"},Dn.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcDamperTypeEnum=Dn;var Pn=P((function e(){b(this,e)}));Pn.MEASURED={type:3,value:"MEASURED"},Pn.PREDICTED={type:3,value:"PREDICTED"},Pn.SIMULATED={type:3,value:"SIMULATED"},Pn.USERDEFINED={type:3,value:"USERDEFINED"},Pn.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcDataOriginEnum=Pn;var Rn=P((function e(){b(this,e)}));Rn.ANGULARVELOCITYUNIT={type:3,value:"ANGULARVELOCITYUNIT"},Rn.AREADENSITYUNIT={type:3,value:"AREADENSITYUNIT"},Rn.COMPOUNDPLANEANGLEUNIT={type:3,value:"COMPOUNDPLANEANGLEUNIT"},Rn.DYNAMICVISCOSITYUNIT={type:3,value:"DYNAMICVISCOSITYUNIT"},Rn.HEATFLUXDENSITYUNIT={type:3,value:"HEATFLUXDENSITYUNIT"},Rn.INTEGERCOUNTRATEUNIT={type:3,value:"INTEGERCOUNTRATEUNIT"},Rn.ISOTHERMALMOISTURECAPACITYUNIT={type:3,value:"ISOTHERMALMOISTURECAPACITYUNIT"},Rn.KINEMATICVISCOSITYUNIT={type:3,value:"KINEMATICVISCOSITYUNIT"},Rn.LINEARVELOCITYUNIT={type:3,value:"LINEARVELOCITYUNIT"},Rn.MASSDENSITYUNIT={type:3,value:"MASSDENSITYUNIT"},Rn.MASSFLOWRATEUNIT={type:3,value:"MASSFLOWRATEUNIT"},Rn.MOISTUREDIFFUSIVITYUNIT={type:3,value:"MOISTUREDIFFUSIVITYUNIT"},Rn.MOLECULARWEIGHTUNIT={type:3,value:"MOLECULARWEIGHTUNIT"},Rn.SPECIFICHEATCAPACITYUNIT={type:3,value:"SPECIFICHEATCAPACITYUNIT"},Rn.THERMALADMITTANCEUNIT={type:3,value:"THERMALADMITTANCEUNIT"},Rn.THERMALCONDUCTANCEUNIT={type:3,value:"THERMALCONDUCTANCEUNIT"},Rn.THERMALRESISTANCEUNIT={type:3,value:"THERMALRESISTANCEUNIT"},Rn.THERMALTRANSMITTANCEUNIT={type:3,value:"THERMALTRANSMITTANCEUNIT"},Rn.VAPORPERMEABILITYUNIT={type:3,value:"VAPORPERMEABILITYUNIT"},Rn.VOLUMETRICFLOWRATEUNIT={type:3,value:"VOLUMETRICFLOWRATEUNIT"},Rn.ROTATIONALFREQUENCYUNIT={type:3,value:"ROTATIONALFREQUENCYUNIT"},Rn.TORQUEUNIT={type:3,value:"TORQUEUNIT"},Rn.MOMENTOFINERTIAUNIT={type:3,value:"MOMENTOFINERTIAUNIT"},Rn.LINEARMOMENTUNIT={type:3,value:"LINEARMOMENTUNIT"},Rn.LINEARFORCEUNIT={type:3,value:"LINEARFORCEUNIT"},Rn.PLANARFORCEUNIT={type:3,value:"PLANARFORCEUNIT"},Rn.MODULUSOFELASTICITYUNIT={type:3,value:"MODULUSOFELASTICITYUNIT"},Rn.SHEARMODULUSUNIT={type:3,value:"SHEARMODULUSUNIT"},Rn.LINEARSTIFFNESSUNIT={type:3,value:"LINEARSTIFFNESSUNIT"},Rn.ROTATIONALSTIFFNESSUNIT={type:3,value:"ROTATIONALSTIFFNESSUNIT"},Rn.MODULUSOFSUBGRADEREACTIONUNIT={type:3,value:"MODULUSOFSUBGRADEREACTIONUNIT"},Rn.ACCELERATIONUNIT={type:3,value:"ACCELERATIONUNIT"},Rn.CURVATUREUNIT={type:3,value:"CURVATUREUNIT"},Rn.HEATINGVALUEUNIT={type:3,value:"HEATINGVALUEUNIT"},Rn.IONCONCENTRATIONUNIT={type:3,value:"IONCONCENTRATIONUNIT"},Rn.LUMINOUSINTENSITYDISTRIBUTIONUNIT={type:3,value:"LUMINOUSINTENSITYDISTRIBUTIONUNIT"},Rn.MASSPERLENGTHUNIT={type:3,value:"MASSPERLENGTHUNIT"},Rn.MODULUSOFLINEARSUBGRADEREACTIONUNIT={type:3,value:"MODULUSOFLINEARSUBGRADEREACTIONUNIT"},Rn.MODULUSOFROTATIONALSUBGRADEREACTIONUNIT={type:3,value:"MODULUSOFROTATIONALSUBGRADEREACTIONUNIT"},Rn.PHUNIT={type:3,value:"PHUNIT"},Rn.ROTATIONALMASSUNIT={type:3,value:"ROTATIONALMASSUNIT"},Rn.SECTIONAREAINTEGRALUNIT={type:3,value:"SECTIONAREAINTEGRALUNIT"},Rn.SECTIONMODULUSUNIT={type:3,value:"SECTIONMODULUSUNIT"},Rn.SOUNDPOWERLEVELUNIT={type:3,value:"SOUNDPOWERLEVELUNIT"},Rn.SOUNDPOWERUNIT={type:3,value:"SOUNDPOWERUNIT"},Rn.SOUNDPRESSURELEVELUNIT={type:3,value:"SOUNDPRESSURELEVELUNIT"},Rn.SOUNDPRESSUREUNIT={type:3,value:"SOUNDPRESSUREUNIT"},Rn.TEMPERATUREGRADIENTUNIT={type:3,value:"TEMPERATUREGRADIENTUNIT"},Rn.TEMPERATURERATEOFCHANGEUNIT={type:3,value:"TEMPERATURERATEOFCHANGEUNIT"},Rn.THERMALEXPANSIONCOEFFICIENTUNIT={type:3,value:"THERMALEXPANSIONCOEFFICIENTUNIT"},Rn.WARPINGCONSTANTUNIT={type:3,value:"WARPINGCONSTANTUNIT"},Rn.WARPINGMOMENTUNIT={type:3,value:"WARPINGMOMENTUNIT"},Rn.USERDEFINED={type:3,value:"USERDEFINED"},e.IfcDerivedUnitEnum=Rn;var Cn=P((function e(){b(this,e)}));Cn.POSITIVE={type:3,value:"POSITIVE"},Cn.NEGATIVE={type:3,value:"NEGATIVE"},e.IfcDirectionSenseEnum=Cn;var _n=P((function e(){b(this,e)}));_n.ANCHORPLATE={type:3,value:"ANCHORPLATE"},_n.BRACKET={type:3,value:"BRACKET"},_n.SHOE={type:3,value:"SHOE"},_n.USERDEFINED={type:3,value:"USERDEFINED"},_n.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcDiscreteAccessoryTypeEnum=_n;var Bn=P((function e(){b(this,e)}));Bn.FORMEDDUCT={type:3,value:"FORMEDDUCT"},Bn.INSPECTIONCHAMBER={type:3,value:"INSPECTIONCHAMBER"},Bn.INSPECTIONPIT={type:3,value:"INSPECTIONPIT"},Bn.MANHOLE={type:3,value:"MANHOLE"},Bn.METERCHAMBER={type:3,value:"METERCHAMBER"},Bn.SUMP={type:3,value:"SUMP"},Bn.TRENCH={type:3,value:"TRENCH"},Bn.VALVECHAMBER={type:3,value:"VALVECHAMBER"},Bn.USERDEFINED={type:3,value:"USERDEFINED"},Bn.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcDistributionChamberElementTypeEnum=Bn;var On=P((function e(){b(this,e)}));On.CABLE={type:3,value:"CABLE"},On.CABLECARRIER={type:3,value:"CABLECARRIER"},On.DUCT={type:3,value:"DUCT"},On.PIPE={type:3,value:"PIPE"},On.USERDEFINED={type:3,value:"USERDEFINED"},On.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcDistributionPortTypeEnum=On;var Sn=P((function e(){b(this,e)}));Sn.AIRCONDITIONING={type:3,value:"AIRCONDITIONING"},Sn.AUDIOVISUAL={type:3,value:"AUDIOVISUAL"},Sn.CHEMICAL={type:3,value:"CHEMICAL"},Sn.CHILLEDWATER={type:3,value:"CHILLEDWATER"},Sn.COMMUNICATION={type:3,value:"COMMUNICATION"},Sn.COMPRESSEDAIR={type:3,value:"COMPRESSEDAIR"},Sn.CONDENSERWATER={type:3,value:"CONDENSERWATER"},Sn.CONTROL={type:3,value:"CONTROL"},Sn.CONVEYING={type:3,value:"CONVEYING"},Sn.DATA={type:3,value:"DATA"},Sn.DISPOSAL={type:3,value:"DISPOSAL"},Sn.DOMESTICCOLDWATER={type:3,value:"DOMESTICCOLDWATER"},Sn.DOMESTICHOTWATER={type:3,value:"DOMESTICHOTWATER"},Sn.DRAINAGE={type:3,value:"DRAINAGE"},Sn.EARTHING={type:3,value:"EARTHING"},Sn.ELECTRICAL={type:3,value:"ELECTRICAL"},Sn.ELECTROACOUSTIC={type:3,value:"ELECTROACOUSTIC"},Sn.EXHAUST={type:3,value:"EXHAUST"},Sn.FIREPROTECTION={type:3,value:"FIREPROTECTION"},Sn.FUEL={type:3,value:"FUEL"},Sn.GAS={type:3,value:"GAS"},Sn.HAZARDOUS={type:3,value:"HAZARDOUS"},Sn.HEATING={type:3,value:"HEATING"},Sn.LIGHTING={type:3,value:"LIGHTING"},Sn.LIGHTNINGPROTECTION={type:3,value:"LIGHTNINGPROTECTION"},Sn.MUNICIPALSOLIDWASTE={type:3,value:"MUNICIPALSOLIDWASTE"},Sn.OIL={type:3,value:"OIL"},Sn.OPERATIONAL={type:3,value:"OPERATIONAL"},Sn.POWERGENERATION={type:3,value:"POWERGENERATION"},Sn.RAINWATER={type:3,value:"RAINWATER"},Sn.REFRIGERATION={type:3,value:"REFRIGERATION"},Sn.SECURITY={type:3,value:"SECURITY"},Sn.SEWAGE={type:3,value:"SEWAGE"},Sn.SIGNAL={type:3,value:"SIGNAL"},Sn.STORMWATER={type:3,value:"STORMWATER"},Sn.TELEPHONE={type:3,value:"TELEPHONE"},Sn.TV={type:3,value:"TV"},Sn.VACUUM={type:3,value:"VACUUM"},Sn.VENT={type:3,value:"VENT"},Sn.VENTILATION={type:3,value:"VENTILATION"},Sn.WASTEWATER={type:3,value:"WASTEWATER"},Sn.WATERSUPPLY={type:3,value:"WATERSUPPLY"},Sn.USERDEFINED={type:3,value:"USERDEFINED"},Sn.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcDistributionSystemEnum=Sn;var Nn=P((function e(){b(this,e)}));Nn.PUBLIC={type:3,value:"PUBLIC"},Nn.RESTRICTED={type:3,value:"RESTRICTED"},Nn.CONFIDENTIAL={type:3,value:"CONFIDENTIAL"},Nn.PERSONAL={type:3,value:"PERSONAL"},Nn.USERDEFINED={type:3,value:"USERDEFINED"},Nn.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcDocumentConfidentialityEnum=Nn;var Ln=P((function e(){b(this,e)}));Ln.DRAFT={type:3,value:"DRAFT"},Ln.FINALDRAFT={type:3,value:"FINALDRAFT"},Ln.FINAL={type:3,value:"FINAL"},Ln.REVISION={type:3,value:"REVISION"},Ln.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcDocumentStatusEnum=Ln;var xn=P((function e(){b(this,e)}));xn.SWINGING={type:3,value:"SWINGING"},xn.DOUBLE_ACTING={type:3,value:"DOUBLE_ACTING"},xn.SLIDING={type:3,value:"SLIDING"},xn.FOLDING={type:3,value:"FOLDING"},xn.REVOLVING={type:3,value:"REVOLVING"},xn.ROLLINGUP={type:3,value:"ROLLINGUP"},xn.FIXEDPANEL={type:3,value:"FIXEDPANEL"},xn.USERDEFINED={type:3,value:"USERDEFINED"},xn.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcDoorPanelOperationEnum=xn;var Mn=P((function e(){b(this,e)}));Mn.LEFT={type:3,value:"LEFT"},Mn.MIDDLE={type:3,value:"MIDDLE"},Mn.RIGHT={type:3,value:"RIGHT"},Mn.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcDoorPanelPositionEnum=Mn;var Fn=P((function e(){b(this,e)}));Fn.ALUMINIUM={type:3,value:"ALUMINIUM"},Fn.HIGH_GRADE_STEEL={type:3,value:"HIGH_GRADE_STEEL"},Fn.STEEL={type:3,value:"STEEL"},Fn.WOOD={type:3,value:"WOOD"},Fn.ALUMINIUM_WOOD={type:3,value:"ALUMINIUM_WOOD"},Fn.ALUMINIUM_PLASTIC={type:3,value:"ALUMINIUM_PLASTIC"},Fn.PLASTIC={type:3,value:"PLASTIC"},Fn.USERDEFINED={type:3,value:"USERDEFINED"},Fn.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcDoorStyleConstructionEnum=Fn;var Hn=P((function e(){b(this,e)}));Hn.SINGLE_SWING_LEFT={type:3,value:"SINGLE_SWING_LEFT"},Hn.SINGLE_SWING_RIGHT={type:3,value:"SINGLE_SWING_RIGHT"},Hn.DOUBLE_DOOR_SINGLE_SWING={type:3,value:"DOUBLE_DOOR_SINGLE_SWING"},Hn.DOUBLE_DOOR_SINGLE_SWING_OPPOSITE_LEFT={type:3,value:"DOUBLE_DOOR_SINGLE_SWING_OPPOSITE_LEFT"},Hn.DOUBLE_DOOR_SINGLE_SWING_OPPOSITE_RIGHT={type:3,value:"DOUBLE_DOOR_SINGLE_SWING_OPPOSITE_RIGHT"},Hn.DOUBLE_SWING_LEFT={type:3,value:"DOUBLE_SWING_LEFT"},Hn.DOUBLE_SWING_RIGHT={type:3,value:"DOUBLE_SWING_RIGHT"},Hn.DOUBLE_DOOR_DOUBLE_SWING={type:3,value:"DOUBLE_DOOR_DOUBLE_SWING"},Hn.SLIDING_TO_LEFT={type:3,value:"SLIDING_TO_LEFT"},Hn.SLIDING_TO_RIGHT={type:3,value:"SLIDING_TO_RIGHT"},Hn.DOUBLE_DOOR_SLIDING={type:3,value:"DOUBLE_DOOR_SLIDING"},Hn.FOLDING_TO_LEFT={type:3,value:"FOLDING_TO_LEFT"},Hn.FOLDING_TO_RIGHT={type:3,value:"FOLDING_TO_RIGHT"},Hn.DOUBLE_DOOR_FOLDING={type:3,value:"DOUBLE_DOOR_FOLDING"},Hn.REVOLVING={type:3,value:"REVOLVING"},Hn.ROLLINGUP={type:3,value:"ROLLINGUP"},Hn.USERDEFINED={type:3,value:"USERDEFINED"},Hn.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcDoorStyleOperationEnum=Hn;var Un=P((function e(){b(this,e)}));Un.DOOR={type:3,value:"DOOR"},Un.GATE={type:3,value:"GATE"},Un.TRAPDOOR={type:3,value:"TRAPDOOR"},Un.USERDEFINED={type:3,value:"USERDEFINED"},Un.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcDoorTypeEnum=Un;var Gn=P((function e(){b(this,e)}));Gn.SINGLE_SWING_LEFT={type:3,value:"SINGLE_SWING_LEFT"},Gn.SINGLE_SWING_RIGHT={type:3,value:"SINGLE_SWING_RIGHT"},Gn.DOUBLE_DOOR_SINGLE_SWING={type:3,value:"DOUBLE_DOOR_SINGLE_SWING"},Gn.DOUBLE_DOOR_SINGLE_SWING_OPPOSITE_LEFT={type:3,value:"DOUBLE_DOOR_SINGLE_SWING_OPPOSITE_LEFT"},Gn.DOUBLE_DOOR_SINGLE_SWING_OPPOSITE_RIGHT={type:3,value:"DOUBLE_DOOR_SINGLE_SWING_OPPOSITE_RIGHT"},Gn.DOUBLE_SWING_LEFT={type:3,value:"DOUBLE_SWING_LEFT"},Gn.DOUBLE_SWING_RIGHT={type:3,value:"DOUBLE_SWING_RIGHT"},Gn.DOUBLE_DOOR_DOUBLE_SWING={type:3,value:"DOUBLE_DOOR_DOUBLE_SWING"},Gn.SLIDING_TO_LEFT={type:3,value:"SLIDING_TO_LEFT"},Gn.SLIDING_TO_RIGHT={type:3,value:"SLIDING_TO_RIGHT"},Gn.DOUBLE_DOOR_SLIDING={type:3,value:"DOUBLE_DOOR_SLIDING"},Gn.FOLDING_TO_LEFT={type:3,value:"FOLDING_TO_LEFT"},Gn.FOLDING_TO_RIGHT={type:3,value:"FOLDING_TO_RIGHT"},Gn.DOUBLE_DOOR_FOLDING={type:3,value:"DOUBLE_DOOR_FOLDING"},Gn.REVOLVING={type:3,value:"REVOLVING"},Gn.ROLLINGUP={type:3,value:"ROLLINGUP"},Gn.SWING_FIXED_LEFT={type:3,value:"SWING_FIXED_LEFT"},Gn.SWING_FIXED_RIGHT={type:3,value:"SWING_FIXED_RIGHT"},Gn.USERDEFINED={type:3,value:"USERDEFINED"},Gn.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcDoorTypeOperationEnum=Gn;var kn=P((function e(){b(this,e)}));kn.BEND={type:3,value:"BEND"},kn.CONNECTOR={type:3,value:"CONNECTOR"},kn.ENTRY={type:3,value:"ENTRY"},kn.EXIT={type:3,value:"EXIT"},kn.JUNCTION={type:3,value:"JUNCTION"},kn.OBSTRUCTION={type:3,value:"OBSTRUCTION"},kn.TRANSITION={type:3,value:"TRANSITION"},kn.USERDEFINED={type:3,value:"USERDEFINED"},kn.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcDuctFittingTypeEnum=kn;var jn=P((function e(){b(this,e)}));jn.RIGIDSEGMENT={type:3,value:"RIGIDSEGMENT"},jn.FLEXIBLESEGMENT={type:3,value:"FLEXIBLESEGMENT"},jn.USERDEFINED={type:3,value:"USERDEFINED"},jn.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcDuctSegmentTypeEnum=jn;var Vn=P((function e(){b(this,e)}));Vn.FLATOVAL={type:3,value:"FLATOVAL"},Vn.RECTANGULAR={type:3,value:"RECTANGULAR"},Vn.ROUND={type:3,value:"ROUND"},Vn.USERDEFINED={type:3,value:"USERDEFINED"},Vn.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcDuctSilencerTypeEnum=Vn;var Qn=P((function e(){b(this,e)}));Qn.DISHWASHER={type:3,value:"DISHWASHER"},Qn.ELECTRICCOOKER={type:3,value:"ELECTRICCOOKER"},Qn.FREESTANDINGELECTRICHEATER={type:3,value:"FREESTANDINGELECTRICHEATER"},Qn.FREESTANDINGFAN={type:3,value:"FREESTANDINGFAN"},Qn.FREESTANDINGWATERHEATER={type:3,value:"FREESTANDINGWATERHEATER"},Qn.FREESTANDINGWATERCOOLER={type:3,value:"FREESTANDINGWATERCOOLER"},Qn.FREEZER={type:3,value:"FREEZER"},Qn.FRIDGE_FREEZER={type:3,value:"FRIDGE_FREEZER"},Qn.HANDDRYER={type:3,value:"HANDDRYER"},Qn.KITCHENMACHINE={type:3,value:"KITCHENMACHINE"},Qn.MICROWAVE={type:3,value:"MICROWAVE"},Qn.PHOTOCOPIER={type:3,value:"PHOTOCOPIER"},Qn.REFRIGERATOR={type:3,value:"REFRIGERATOR"},Qn.TUMBLEDRYER={type:3,value:"TUMBLEDRYER"},Qn.VENDINGMACHINE={type:3,value:"VENDINGMACHINE"},Qn.WASHINGMACHINE={type:3,value:"WASHINGMACHINE"},Qn.USERDEFINED={type:3,value:"USERDEFINED"},Qn.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcElectricApplianceTypeEnum=Qn;var Wn=P((function e(){b(this,e)}));Wn.CONSUMERUNIT={type:3,value:"CONSUMERUNIT"},Wn.DISTRIBUTIONBOARD={type:3,value:"DISTRIBUTIONBOARD"},Wn.MOTORCONTROLCENTRE={type:3,value:"MOTORCONTROLCENTRE"},Wn.SWITCHBOARD={type:3,value:"SWITCHBOARD"},Wn.USERDEFINED={type:3,value:"USERDEFINED"},Wn.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcElectricDistributionBoardTypeEnum=Wn;var zn=P((function e(){b(this,e)}));zn.BATTERY={type:3,value:"BATTERY"},zn.CAPACITORBANK={type:3,value:"CAPACITORBANK"},zn.HARMONICFILTER={type:3,value:"HARMONICFILTER"},zn.INDUCTORBANK={type:3,value:"INDUCTORBANK"},zn.UPS={type:3,value:"UPS"},zn.USERDEFINED={type:3,value:"USERDEFINED"},zn.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcElectricFlowStorageDeviceTypeEnum=zn;var Kn=P((function e(){b(this,e)}));Kn.CHP={type:3,value:"CHP"},Kn.ENGINEGENERATOR={type:3,value:"ENGINEGENERATOR"},Kn.STANDALONE={type:3,value:"STANDALONE"},Kn.USERDEFINED={type:3,value:"USERDEFINED"},Kn.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcElectricGeneratorTypeEnum=Kn;var Yn=P((function e(){b(this,e)}));Yn.DC={type:3,value:"DC"},Yn.INDUCTION={type:3,value:"INDUCTION"},Yn.POLYPHASE={type:3,value:"POLYPHASE"},Yn.RELUCTANCESYNCHRONOUS={type:3,value:"RELUCTANCESYNCHRONOUS"},Yn.SYNCHRONOUS={type:3,value:"SYNCHRONOUS"},Yn.USERDEFINED={type:3,value:"USERDEFINED"},Yn.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcElectricMotorTypeEnum=Yn;var Xn=P((function e(){b(this,e)}));Xn.TIMECLOCK={type:3,value:"TIMECLOCK"},Xn.TIMEDELAY={type:3,value:"TIMEDELAY"},Xn.RELAY={type:3,value:"RELAY"},Xn.USERDEFINED={type:3,value:"USERDEFINED"},Xn.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcElectricTimeControlTypeEnum=Xn;var qn=P((function e(){b(this,e)}));qn.ACCESSORY_ASSEMBLY={type:3,value:"ACCESSORY_ASSEMBLY"},qn.ARCH={type:3,value:"ARCH"},qn.BEAM_GRID={type:3,value:"BEAM_GRID"},qn.BRACED_FRAME={type:3,value:"BRACED_FRAME"},qn.GIRDER={type:3,value:"GIRDER"},qn.REINFORCEMENT_UNIT={type:3,value:"REINFORCEMENT_UNIT"},qn.RIGID_FRAME={type:3,value:"RIGID_FRAME"},qn.SLAB_FIELD={type:3,value:"SLAB_FIELD"},qn.TRUSS={type:3,value:"TRUSS"},qn.USERDEFINED={type:3,value:"USERDEFINED"},qn.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcElementAssemblyTypeEnum=qn;var Jn=P((function e(){b(this,e)}));Jn.COMPLEX={type:3,value:"COMPLEX"},Jn.ELEMENT={type:3,value:"ELEMENT"},Jn.PARTIAL={type:3,value:"PARTIAL"},e.IfcElementCompositionEnum=Jn;var Zn=P((function e(){b(this,e)}));Zn.EXTERNALCOMBUSTION={type:3,value:"EXTERNALCOMBUSTION"},Zn.INTERNALCOMBUSTION={type:3,value:"INTERNALCOMBUSTION"},Zn.USERDEFINED={type:3,value:"USERDEFINED"},Zn.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcEngineTypeEnum=Zn;var $n=P((function e(){b(this,e)}));$n.DIRECTEVAPORATIVERANDOMMEDIAAIRCOOLER={type:3,value:"DIRECTEVAPORATIVERANDOMMEDIAAIRCOOLER"},$n.DIRECTEVAPORATIVERIGIDMEDIAAIRCOOLER={type:3,value:"DIRECTEVAPORATIVERIGIDMEDIAAIRCOOLER"},$n.DIRECTEVAPORATIVESLINGERSPACKAGEDAIRCOOLER={type:3,value:"DIRECTEVAPORATIVESLINGERSPACKAGEDAIRCOOLER"},$n.DIRECTEVAPORATIVEPACKAGEDROTARYAIRCOOLER={type:3,value:"DIRECTEVAPORATIVEPACKAGEDROTARYAIRCOOLER"},$n.DIRECTEVAPORATIVEAIRWASHER={type:3,value:"DIRECTEVAPORATIVEAIRWASHER"},$n.INDIRECTEVAPORATIVEPACKAGEAIRCOOLER={type:3,value:"INDIRECTEVAPORATIVEPACKAGEAIRCOOLER"},$n.INDIRECTEVAPORATIVEWETCOIL={type:3,value:"INDIRECTEVAPORATIVEWETCOIL"},$n.INDIRECTEVAPORATIVECOOLINGTOWERORCOILCOOLER={type:3,value:"INDIRECTEVAPORATIVECOOLINGTOWERORCOILCOOLER"},$n.INDIRECTDIRECTCOMBINATION={type:3,value:"INDIRECTDIRECTCOMBINATION"},$n.USERDEFINED={type:3,value:"USERDEFINED"},$n.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcEvaporativeCoolerTypeEnum=$n;var er=P((function e(){b(this,e)}));er.DIRECTEXPANSION={type:3,value:"DIRECTEXPANSION"},er.DIRECTEXPANSIONSHELLANDTUBE={type:3,value:"DIRECTEXPANSIONSHELLANDTUBE"},er.DIRECTEXPANSIONTUBEINTUBE={type:3,value:"DIRECTEXPANSIONTUBEINTUBE"},er.DIRECTEXPANSIONBRAZEDPLATE={type:3,value:"DIRECTEXPANSIONBRAZEDPLATE"},er.FLOODEDSHELLANDTUBE={type:3,value:"FLOODEDSHELLANDTUBE"},er.SHELLANDCOIL={type:3,value:"SHELLANDCOIL"},er.USERDEFINED={type:3,value:"USERDEFINED"},er.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcEvaporatorTypeEnum=er;var tr=P((function e(){b(this,e)}));tr.EVENTRULE={type:3,value:"EVENTRULE"},tr.EVENTMESSAGE={type:3,value:"EVENTMESSAGE"},tr.EVENTTIME={type:3,value:"EVENTTIME"},tr.EVENTCOMPLEX={type:3,value:"EVENTCOMPLEX"},tr.USERDEFINED={type:3,value:"USERDEFINED"},tr.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcEventTriggerTypeEnum=tr;var nr=P((function e(){b(this,e)}));nr.STARTEVENT={type:3,value:"STARTEVENT"},nr.ENDEVENT={type:3,value:"ENDEVENT"},nr.INTERMEDIATEEVENT={type:3,value:"INTERMEDIATEEVENT"},nr.USERDEFINED={type:3,value:"USERDEFINED"},nr.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcEventTypeEnum=nr;var rr=P((function e(){b(this,e)}));rr.EXTERNAL={type:3,value:"EXTERNAL"},rr.EXTERNAL_EARTH={type:3,value:"EXTERNAL_EARTH"},rr.EXTERNAL_WATER={type:3,value:"EXTERNAL_WATER"},rr.EXTERNAL_FIRE={type:3,value:"EXTERNAL_FIRE"},rr.USERDEFINED={type:3,value:"USERDEFINED"},rr.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcExternalSpatialElementTypeEnum=rr;var ir=P((function e(){b(this,e)}));ir.CENTRIFUGALFORWARDCURVED={type:3,value:"CENTRIFUGALFORWARDCURVED"},ir.CENTRIFUGALRADIAL={type:3,value:"CENTRIFUGALRADIAL"},ir.CENTRIFUGALBACKWARDINCLINEDCURVED={type:3,value:"CENTRIFUGALBACKWARDINCLINEDCURVED"},ir.CENTRIFUGALAIRFOIL={type:3,value:"CENTRIFUGALAIRFOIL"},ir.TUBEAXIAL={type:3,value:"TUBEAXIAL"},ir.VANEAXIAL={type:3,value:"VANEAXIAL"},ir.PROPELLORAXIAL={type:3,value:"PROPELLORAXIAL"},ir.USERDEFINED={type:3,value:"USERDEFINED"},ir.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcFanTypeEnum=ir;var ar=P((function e(){b(this,e)}));ar.GLUE={type:3,value:"GLUE"},ar.MORTAR={type:3,value:"MORTAR"},ar.WELD={type:3,value:"WELD"},ar.USERDEFINED={type:3,value:"USERDEFINED"},ar.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcFastenerTypeEnum=ar;var sr=P((function e(){b(this,e)}));sr.AIRPARTICLEFILTER={type:3,value:"AIRPARTICLEFILTER"},sr.COMPRESSEDAIRFILTER={type:3,value:"COMPRESSEDAIRFILTER"},sr.ODORFILTER={type:3,value:"ODORFILTER"},sr.OILFILTER={type:3,value:"OILFILTER"},sr.STRAINER={type:3,value:"STRAINER"},sr.WATERFILTER={type:3,value:"WATERFILTER"},sr.USERDEFINED={type:3,value:"USERDEFINED"},sr.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcFilterTypeEnum=sr;var or=P((function e(){b(this,e)}));or.BREECHINGINLET={type:3,value:"BREECHINGINLET"},or.FIREHYDRANT={type:3,value:"FIREHYDRANT"},or.HOSEREEL={type:3,value:"HOSEREEL"},or.SPRINKLER={type:3,value:"SPRINKLER"},or.SPRINKLERDEFLECTOR={type:3,value:"SPRINKLERDEFLECTOR"},or.USERDEFINED={type:3,value:"USERDEFINED"},or.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcFireSuppressionTerminalTypeEnum=or;var lr=P((function e(){b(this,e)}));lr.SOURCE={type:3,value:"SOURCE"},lr.SINK={type:3,value:"SINK"},lr.SOURCEANDSINK={type:3,value:"SOURCEANDSINK"},lr.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcFlowDirectionEnum=lr;var ur=P((function e(){b(this,e)}));ur.PRESSUREGAUGE={type:3,value:"PRESSUREGAUGE"},ur.THERMOMETER={type:3,value:"THERMOMETER"},ur.AMMETER={type:3,value:"AMMETER"},ur.FREQUENCYMETER={type:3,value:"FREQUENCYMETER"},ur.POWERFACTORMETER={type:3,value:"POWERFACTORMETER"},ur.PHASEANGLEMETER={type:3,value:"PHASEANGLEMETER"},ur.VOLTMETER_PEAK={type:3,value:"VOLTMETER_PEAK"},ur.VOLTMETER_RMS={type:3,value:"VOLTMETER_RMS"},ur.USERDEFINED={type:3,value:"USERDEFINED"},ur.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcFlowInstrumentTypeEnum=ur;var cr=P((function e(){b(this,e)}));cr.ENERGYMETER={type:3,value:"ENERGYMETER"},cr.GASMETER={type:3,value:"GASMETER"},cr.OILMETER={type:3,value:"OILMETER"},cr.WATERMETER={type:3,value:"WATERMETER"},cr.USERDEFINED={type:3,value:"USERDEFINED"},cr.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcFlowMeterTypeEnum=cr;var fr=P((function e(){b(this,e)}));fr.CAISSON_FOUNDATION={type:3,value:"CAISSON_FOUNDATION"},fr.FOOTING_BEAM={type:3,value:"FOOTING_BEAM"},fr.PAD_FOOTING={type:3,value:"PAD_FOOTING"},fr.PILE_CAP={type:3,value:"PILE_CAP"},fr.STRIP_FOOTING={type:3,value:"STRIP_FOOTING"},fr.USERDEFINED={type:3,value:"USERDEFINED"},fr.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcFootingTypeEnum=fr;var pr=P((function e(){b(this,e)}));pr.CHAIR={type:3,value:"CHAIR"},pr.TABLE={type:3,value:"TABLE"},pr.DESK={type:3,value:"DESK"},pr.BED={type:3,value:"BED"},pr.FILECABINET={type:3,value:"FILECABINET"},pr.SHELF={type:3,value:"SHELF"},pr.SOFA={type:3,value:"SOFA"},pr.USERDEFINED={type:3,value:"USERDEFINED"},pr.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcFurnitureTypeEnum=pr;var Ar=P((function e(){b(this,e)}));Ar.TERRAIN={type:3,value:"TERRAIN"},Ar.USERDEFINED={type:3,value:"USERDEFINED"},Ar.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcGeographicElementTypeEnum=Ar;var dr=P((function e(){b(this,e)}));dr.GRAPH_VIEW={type:3,value:"GRAPH_VIEW"},dr.SKETCH_VIEW={type:3,value:"SKETCH_VIEW"},dr.MODEL_VIEW={type:3,value:"MODEL_VIEW"},dr.PLAN_VIEW={type:3,value:"PLAN_VIEW"},dr.REFLECTED_PLAN_VIEW={type:3,value:"REFLECTED_PLAN_VIEW"},dr.SECTION_VIEW={type:3,value:"SECTION_VIEW"},dr.ELEVATION_VIEW={type:3,value:"ELEVATION_VIEW"},dr.USERDEFINED={type:3,value:"USERDEFINED"},dr.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcGeometricProjectionEnum=dr;var vr=P((function e(){b(this,e)}));vr.GLOBAL_COORDS={type:3,value:"GLOBAL_COORDS"},vr.LOCAL_COORDS={type:3,value:"LOCAL_COORDS"},e.IfcGlobalOrLocalEnum=vr;var hr=P((function e(){b(this,e)}));hr.RECTANGULAR={type:3,value:"RECTANGULAR"},hr.RADIAL={type:3,value:"RADIAL"},hr.TRIANGULAR={type:3,value:"TRIANGULAR"},hr.IRREGULAR={type:3,value:"IRREGULAR"},hr.USERDEFINED={type:3,value:"USERDEFINED"},hr.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcGridTypeEnum=hr;var Ir=P((function e(){b(this,e)}));Ir.PLATE={type:3,value:"PLATE"},Ir.SHELLANDTUBE={type:3,value:"SHELLANDTUBE"},Ir.USERDEFINED={type:3,value:"USERDEFINED"},Ir.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcHeatExchangerTypeEnum=Ir;var yr=P((function e(){b(this,e)}));yr.STEAMINJECTION={type:3,value:"STEAMINJECTION"},yr.ADIABATICAIRWASHER={type:3,value:"ADIABATICAIRWASHER"},yr.ADIABATICPAN={type:3,value:"ADIABATICPAN"},yr.ADIABATICWETTEDELEMENT={type:3,value:"ADIABATICWETTEDELEMENT"},yr.ADIABATICATOMIZING={type:3,value:"ADIABATICATOMIZING"},yr.ADIABATICULTRASONIC={type:3,value:"ADIABATICULTRASONIC"},yr.ADIABATICRIGIDMEDIA={type:3,value:"ADIABATICRIGIDMEDIA"},yr.ADIABATICCOMPRESSEDAIRNOZZLE={type:3,value:"ADIABATICCOMPRESSEDAIRNOZZLE"},yr.ASSISTEDELECTRIC={type:3,value:"ASSISTEDELECTRIC"},yr.ASSISTEDNATURALGAS={type:3,value:"ASSISTEDNATURALGAS"},yr.ASSISTEDPROPANE={type:3,value:"ASSISTEDPROPANE"},yr.ASSISTEDBUTANE={type:3,value:"ASSISTEDBUTANE"},yr.ASSISTEDSTEAM={type:3,value:"ASSISTEDSTEAM"},yr.USERDEFINED={type:3,value:"USERDEFINED"},yr.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcHumidifierTypeEnum=yr;var mr=P((function e(){b(this,e)}));mr.CYCLONIC={type:3,value:"CYCLONIC"},mr.GREASE={type:3,value:"GREASE"},mr.OIL={type:3,value:"OIL"},mr.PETROL={type:3,value:"PETROL"},mr.USERDEFINED={type:3,value:"USERDEFINED"},mr.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcInterceptorTypeEnum=mr;var wr=P((function e(){b(this,e)}));wr.INTERNAL={type:3,value:"INTERNAL"},wr.EXTERNAL={type:3,value:"EXTERNAL"},wr.EXTERNAL_EARTH={type:3,value:"EXTERNAL_EARTH"},wr.EXTERNAL_WATER={type:3,value:"EXTERNAL_WATER"},wr.EXTERNAL_FIRE={type:3,value:"EXTERNAL_FIRE"},wr.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcInternalOrExternalEnum=wr;var gr=P((function e(){b(this,e)}));gr.ASSETINVENTORY={type:3,value:"ASSETINVENTORY"},gr.SPACEINVENTORY={type:3,value:"SPACEINVENTORY"},gr.FURNITUREINVENTORY={type:3,value:"FURNITUREINVENTORY"},gr.USERDEFINED={type:3,value:"USERDEFINED"},gr.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcInventoryTypeEnum=gr;var Er=P((function e(){b(this,e)}));Er.DATA={type:3,value:"DATA"},Er.POWER={type:3,value:"POWER"},Er.USERDEFINED={type:3,value:"USERDEFINED"},Er.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcJunctionBoxTypeEnum=Er;var Tr=P((function e(){b(this,e)}));Tr.UNIFORM_KNOTS={type:3,value:"UNIFORM_KNOTS"},Tr.QUASI_UNIFORM_KNOTS={type:3,value:"QUASI_UNIFORM_KNOTS"},Tr.PIECEWISE_BEZIER_KNOTS={type:3,value:"PIECEWISE_BEZIER_KNOTS"},Tr.UNSPECIFIED={type:3,value:"UNSPECIFIED"},e.IfcKnotType=Tr;var br=P((function e(){b(this,e)}));br.ADMINISTRATION={type:3,value:"ADMINISTRATION"},br.CARPENTRY={type:3,value:"CARPENTRY"},br.CLEANING={type:3,value:"CLEANING"},br.CONCRETE={type:3,value:"CONCRETE"},br.DRYWALL={type:3,value:"DRYWALL"},br.ELECTRIC={type:3,value:"ELECTRIC"},br.FINISHING={type:3,value:"FINISHING"},br.FLOORING={type:3,value:"FLOORING"},br.GENERAL={type:3,value:"GENERAL"},br.HVAC={type:3,value:"HVAC"},br.LANDSCAPING={type:3,value:"LANDSCAPING"},br.MASONRY={type:3,value:"MASONRY"},br.PAINTING={type:3,value:"PAINTING"},br.PAVING={type:3,value:"PAVING"},br.PLUMBING={type:3,value:"PLUMBING"},br.ROOFING={type:3,value:"ROOFING"},br.SITEGRADING={type:3,value:"SITEGRADING"},br.STEELWORK={type:3,value:"STEELWORK"},br.SURVEYING={type:3,value:"SURVEYING"},br.USERDEFINED={type:3,value:"USERDEFINED"},br.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcLaborResourceTypeEnum=br;var Dr=P((function e(){b(this,e)}));Dr.COMPACTFLUORESCENT={type:3,value:"COMPACTFLUORESCENT"},Dr.FLUORESCENT={type:3,value:"FLUORESCENT"},Dr.HALOGEN={type:3,value:"HALOGEN"},Dr.HIGHPRESSUREMERCURY={type:3,value:"HIGHPRESSUREMERCURY"},Dr.HIGHPRESSURESODIUM={type:3,value:"HIGHPRESSURESODIUM"},Dr.LED={type:3,value:"LED"},Dr.METALHALIDE={type:3,value:"METALHALIDE"},Dr.OLED={type:3,value:"OLED"},Dr.TUNGSTENFILAMENT={type:3,value:"TUNGSTENFILAMENT"},Dr.USERDEFINED={type:3,value:"USERDEFINED"},Dr.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcLampTypeEnum=Dr;var Pr=P((function e(){b(this,e)}));Pr.AXIS1={type:3,value:"AXIS1"},Pr.AXIS2={type:3,value:"AXIS2"},Pr.AXIS3={type:3,value:"AXIS3"},e.IfcLayerSetDirectionEnum=Pr;var Rr=P((function e(){b(this,e)}));Rr.TYPE_A={type:3,value:"TYPE_A"},Rr.TYPE_B={type:3,value:"TYPE_B"},Rr.TYPE_C={type:3,value:"TYPE_C"},Rr.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcLightDistributionCurveEnum=Rr;var Cr=P((function e(){b(this,e)}));Cr.COMPACTFLUORESCENT={type:3,value:"COMPACTFLUORESCENT"},Cr.FLUORESCENT={type:3,value:"FLUORESCENT"},Cr.HIGHPRESSUREMERCURY={type:3,value:"HIGHPRESSUREMERCURY"},Cr.HIGHPRESSURESODIUM={type:3,value:"HIGHPRESSURESODIUM"},Cr.LIGHTEMITTINGDIODE={type:3,value:"LIGHTEMITTINGDIODE"},Cr.LOWPRESSURESODIUM={type:3,value:"LOWPRESSURESODIUM"},Cr.LOWVOLTAGEHALOGEN={type:3,value:"LOWVOLTAGEHALOGEN"},Cr.MAINVOLTAGEHALOGEN={type:3,value:"MAINVOLTAGEHALOGEN"},Cr.METALHALIDE={type:3,value:"METALHALIDE"},Cr.TUNGSTENFILAMENT={type:3,value:"TUNGSTENFILAMENT"},Cr.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcLightEmissionSourceEnum=Cr;var _r=P((function e(){b(this,e)}));_r.POINTSOURCE={type:3,value:"POINTSOURCE"},_r.DIRECTIONSOURCE={type:3,value:"DIRECTIONSOURCE"},_r.SECURITYLIGHTING={type:3,value:"SECURITYLIGHTING"},_r.USERDEFINED={type:3,value:"USERDEFINED"},_r.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcLightFixtureTypeEnum=_r;var Br=P((function e(){b(this,e)}));Br.LOAD_GROUP={type:3,value:"LOAD_GROUP"},Br.LOAD_CASE={type:3,value:"LOAD_CASE"},Br.LOAD_COMBINATION={type:3,value:"LOAD_COMBINATION"},Br.USERDEFINED={type:3,value:"USERDEFINED"},Br.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcLoadGroupTypeEnum=Br;var Or=P((function e(){b(this,e)}));Or.LOGICALAND={type:3,value:"LOGICALAND"},Or.LOGICALOR={type:3,value:"LOGICALOR"},Or.LOGICALXOR={type:3,value:"LOGICALXOR"},Or.LOGICALNOTAND={type:3,value:"LOGICALNOTAND"},Or.LOGICALNOTOR={type:3,value:"LOGICALNOTOR"},e.IfcLogicalOperatorEnum=Or;var Sr=P((function e(){b(this,e)}));Sr.ANCHORBOLT={type:3,value:"ANCHORBOLT"},Sr.BOLT={type:3,value:"BOLT"},Sr.DOWEL={type:3,value:"DOWEL"},Sr.NAIL={type:3,value:"NAIL"},Sr.NAILPLATE={type:3,value:"NAILPLATE"},Sr.RIVET={type:3,value:"RIVET"},Sr.SCREW={type:3,value:"SCREW"},Sr.SHEARCONNECTOR={type:3,value:"SHEARCONNECTOR"},Sr.STAPLE={type:3,value:"STAPLE"},Sr.STUDSHEARCONNECTOR={type:3,value:"STUDSHEARCONNECTOR"},Sr.USERDEFINED={type:3,value:"USERDEFINED"},Sr.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcMechanicalFastenerTypeEnum=Sr;var Nr=P((function e(){b(this,e)}));Nr.AIRSTATION={type:3,value:"AIRSTATION"},Nr.FEEDAIRUNIT={type:3,value:"FEEDAIRUNIT"},Nr.OXYGENGENERATOR={type:3,value:"OXYGENGENERATOR"},Nr.OXYGENPLANT={type:3,value:"OXYGENPLANT"},Nr.VACUUMSTATION={type:3,value:"VACUUMSTATION"},Nr.USERDEFINED={type:3,value:"USERDEFINED"},Nr.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcMedicalDeviceTypeEnum=Nr;var Lr=P((function e(){b(this,e)}));Lr.BRACE={type:3,value:"BRACE"},Lr.CHORD={type:3,value:"CHORD"},Lr.COLLAR={type:3,value:"COLLAR"},Lr.MEMBER={type:3,value:"MEMBER"},Lr.MULLION={type:3,value:"MULLION"},Lr.PLATE={type:3,value:"PLATE"},Lr.POST={type:3,value:"POST"},Lr.PURLIN={type:3,value:"PURLIN"},Lr.RAFTER={type:3,value:"RAFTER"},Lr.STRINGER={type:3,value:"STRINGER"},Lr.STRUT={type:3,value:"STRUT"},Lr.STUD={type:3,value:"STUD"},Lr.USERDEFINED={type:3,value:"USERDEFINED"},Lr.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcMemberTypeEnum=Lr;var xr=P((function e(){b(this,e)}));xr.BELTDRIVE={type:3,value:"BELTDRIVE"},xr.COUPLING={type:3,value:"COUPLING"},xr.DIRECTDRIVE={type:3,value:"DIRECTDRIVE"},xr.USERDEFINED={type:3,value:"USERDEFINED"},xr.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcMotorConnectionTypeEnum=xr;var Mr=P((function e(){b(this,e)}));Mr.NULL={type:3,value:"NULL"},e.IfcNullStyle=Mr;var Fr=P((function e(){b(this,e)}));Fr.PRODUCT={type:3,value:"PRODUCT"},Fr.PROCESS={type:3,value:"PROCESS"},Fr.CONTROL={type:3,value:"CONTROL"},Fr.RESOURCE={type:3,value:"RESOURCE"},Fr.ACTOR={type:3,value:"ACTOR"},Fr.GROUP={type:3,value:"GROUP"},Fr.PROJECT={type:3,value:"PROJECT"},Fr.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcObjectTypeEnum=Fr;var Hr=P((function e(){b(this,e)}));Hr.CODECOMPLIANCE={type:3,value:"CODECOMPLIANCE"},Hr.CODEWAIVER={type:3,value:"CODEWAIVER"},Hr.DESIGNINTENT={type:3,value:"DESIGNINTENT"},Hr.EXTERNAL={type:3,value:"EXTERNAL"},Hr.HEALTHANDSAFETY={type:3,value:"HEALTHANDSAFETY"},Hr.MERGECONFLICT={type:3,value:"MERGECONFLICT"},Hr.MODELVIEW={type:3,value:"MODELVIEW"},Hr.PARAMETER={type:3,value:"PARAMETER"},Hr.REQUIREMENT={type:3,value:"REQUIREMENT"},Hr.SPECIFICATION={type:3,value:"SPECIFICATION"},Hr.TRIGGERCONDITION={type:3,value:"TRIGGERCONDITION"},Hr.USERDEFINED={type:3,value:"USERDEFINED"},Hr.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcObjectiveEnum=Hr;var Ur=P((function e(){b(this,e)}));Ur.ASSIGNEE={type:3,value:"ASSIGNEE"},Ur.ASSIGNOR={type:3,value:"ASSIGNOR"},Ur.LESSEE={type:3,value:"LESSEE"},Ur.LESSOR={type:3,value:"LESSOR"},Ur.LETTINGAGENT={type:3,value:"LETTINGAGENT"},Ur.OWNER={type:3,value:"OWNER"},Ur.TENANT={type:3,value:"TENANT"},Ur.USERDEFINED={type:3,value:"USERDEFINED"},Ur.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcOccupantTypeEnum=Ur;var Gr=P((function e(){b(this,e)}));Gr.OPENING={type:3,value:"OPENING"},Gr.RECESS={type:3,value:"RECESS"},Gr.USERDEFINED={type:3,value:"USERDEFINED"},Gr.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcOpeningElementTypeEnum=Gr;var kr=P((function e(){b(this,e)}));kr.AUDIOVISUALOUTLET={type:3,value:"AUDIOVISUALOUTLET"},kr.COMMUNICATIONSOUTLET={type:3,value:"COMMUNICATIONSOUTLET"},kr.POWEROUTLET={type:3,value:"POWEROUTLET"},kr.DATAOUTLET={type:3,value:"DATAOUTLET"},kr.TELEPHONEOUTLET={type:3,value:"TELEPHONEOUTLET"},kr.USERDEFINED={type:3,value:"USERDEFINED"},kr.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcOutletTypeEnum=kr;var jr=P((function e(){b(this,e)}));jr.USERDEFINED={type:3,value:"USERDEFINED"},jr.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcPerformanceHistoryTypeEnum=jr;var Vr=P((function e(){b(this,e)}));Vr.GRILL={type:3,value:"GRILL"},Vr.LOUVER={type:3,value:"LOUVER"},Vr.SCREEN={type:3,value:"SCREEN"},Vr.USERDEFINED={type:3,value:"USERDEFINED"},Vr.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcPermeableCoveringOperationEnum=Vr;var Qr=P((function e(){b(this,e)}));Qr.ACCESS={type:3,value:"ACCESS"},Qr.BUILDING={type:3,value:"BUILDING"},Qr.WORK={type:3,value:"WORK"},Qr.USERDEFINED={type:3,value:"USERDEFINED"},Qr.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcPermitTypeEnum=Qr;var Wr=P((function e(){b(this,e)}));Wr.PHYSICAL={type:3,value:"PHYSICAL"},Wr.VIRTUAL={type:3,value:"VIRTUAL"},Wr.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcPhysicalOrVirtualEnum=Wr;var zr=P((function e(){b(this,e)}));zr.CAST_IN_PLACE={type:3,value:"CAST_IN_PLACE"},zr.COMPOSITE={type:3,value:"COMPOSITE"},zr.PRECAST_CONCRETE={type:3,value:"PRECAST_CONCRETE"},zr.PREFAB_STEEL={type:3,value:"PREFAB_STEEL"},zr.USERDEFINED={type:3,value:"USERDEFINED"},zr.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcPileConstructionEnum=zr;var Kr=P((function e(){b(this,e)}));Kr.BORED={type:3,value:"BORED"},Kr.DRIVEN={type:3,value:"DRIVEN"},Kr.JETGROUTING={type:3,value:"JETGROUTING"},Kr.COHESION={type:3,value:"COHESION"},Kr.FRICTION={type:3,value:"FRICTION"},Kr.SUPPORT={type:3,value:"SUPPORT"},Kr.USERDEFINED={type:3,value:"USERDEFINED"},Kr.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcPileTypeEnum=Kr;var Yr=P((function e(){b(this,e)}));Yr.BEND={type:3,value:"BEND"},Yr.CONNECTOR={type:3,value:"CONNECTOR"},Yr.ENTRY={type:3,value:"ENTRY"},Yr.EXIT={type:3,value:"EXIT"},Yr.JUNCTION={type:3,value:"JUNCTION"},Yr.OBSTRUCTION={type:3,value:"OBSTRUCTION"},Yr.TRANSITION={type:3,value:"TRANSITION"},Yr.USERDEFINED={type:3,value:"USERDEFINED"},Yr.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcPipeFittingTypeEnum=Yr;var Xr=P((function e(){b(this,e)}));Xr.CULVERT={type:3,value:"CULVERT"},Xr.FLEXIBLESEGMENT={type:3,value:"FLEXIBLESEGMENT"},Xr.RIGIDSEGMENT={type:3,value:"RIGIDSEGMENT"},Xr.GUTTER={type:3,value:"GUTTER"},Xr.SPOOL={type:3,value:"SPOOL"},Xr.USERDEFINED={type:3,value:"USERDEFINED"},Xr.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcPipeSegmentTypeEnum=Xr;var qr=P((function e(){b(this,e)}));qr.CURTAIN_PANEL={type:3,value:"CURTAIN_PANEL"},qr.SHEET={type:3,value:"SHEET"},qr.USERDEFINED={type:3,value:"USERDEFINED"},qr.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcPlateTypeEnum=qr;var Jr=P((function e(){b(this,e)}));Jr.CURVE3D={type:3,value:"CURVE3D"},Jr.PCURVE_S1={type:3,value:"PCURVE_S1"},Jr.PCURVE_S2={type:3,value:"PCURVE_S2"},e.IfcPreferredSurfaceCurveRepresentation=Jr;var Zr=P((function e(){b(this,e)}));Zr.ADVICE_CAUTION={type:3,value:"ADVICE_CAUTION"},Zr.ADVICE_NOTE={type:3,value:"ADVICE_NOTE"},Zr.ADVICE_WARNING={type:3,value:"ADVICE_WARNING"},Zr.CALIBRATION={type:3,value:"CALIBRATION"},Zr.DIAGNOSTIC={type:3,value:"DIAGNOSTIC"},Zr.SHUTDOWN={type:3,value:"SHUTDOWN"},Zr.STARTUP={type:3,value:"STARTUP"},Zr.USERDEFINED={type:3,value:"USERDEFINED"},Zr.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcProcedureTypeEnum=Zr;var $r=P((function e(){b(this,e)}));$r.CURVE={type:3,value:"CURVE"},$r.AREA={type:3,value:"AREA"},e.IfcProfileTypeEnum=$r;var ei=P((function e(){b(this,e)}));ei.CHANGEORDER={type:3,value:"CHANGEORDER"},ei.MAINTENANCEWORKORDER={type:3,value:"MAINTENANCEWORKORDER"},ei.MOVEORDER={type:3,value:"MOVEORDER"},ei.PURCHASEORDER={type:3,value:"PURCHASEORDER"},ei.WORKORDER={type:3,value:"WORKORDER"},ei.USERDEFINED={type:3,value:"USERDEFINED"},ei.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcProjectOrderTypeEnum=ei;var ti=P((function e(){b(this,e)}));ti.PROJECTED_LENGTH={type:3,value:"PROJECTED_LENGTH"},ti.TRUE_LENGTH={type:3,value:"TRUE_LENGTH"},e.IfcProjectedOrTrueLengthEnum=ti;var ni=P((function e(){b(this,e)}));ni.USERDEFINED={type:3,value:"USERDEFINED"},ni.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcProjectionElementTypeEnum=ni;var ri=P((function e(){b(this,e)}));ri.PSET_TYPEDRIVENONLY={type:3,value:"PSET_TYPEDRIVENONLY"},ri.PSET_TYPEDRIVENOVERRIDE={type:3,value:"PSET_TYPEDRIVENOVERRIDE"},ri.PSET_OCCURRENCEDRIVEN={type:3,value:"PSET_OCCURRENCEDRIVEN"},ri.PSET_PERFORMANCEDRIVEN={type:3,value:"PSET_PERFORMANCEDRIVEN"},ri.QTO_TYPEDRIVENONLY={type:3,value:"QTO_TYPEDRIVENONLY"},ri.QTO_TYPEDRIVENOVERRIDE={type:3,value:"QTO_TYPEDRIVENOVERRIDE"},ri.QTO_OCCURRENCEDRIVEN={type:3,value:"QTO_OCCURRENCEDRIVEN"},ri.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcPropertySetTemplateTypeEnum=ri;var ii=P((function e(){b(this,e)}));ii.ELECTRONIC={type:3,value:"ELECTRONIC"},ii.ELECTROMAGNETIC={type:3,value:"ELECTROMAGNETIC"},ii.RESIDUALCURRENT={type:3,value:"RESIDUALCURRENT"},ii.THERMAL={type:3,value:"THERMAL"},ii.USERDEFINED={type:3,value:"USERDEFINED"},ii.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcProtectiveDeviceTrippingUnitTypeEnum=ii;var ai=P((function e(){b(this,e)}));ai.CIRCUITBREAKER={type:3,value:"CIRCUITBREAKER"},ai.EARTHLEAKAGECIRCUITBREAKER={type:3,value:"EARTHLEAKAGECIRCUITBREAKER"},ai.EARTHINGSWITCH={type:3,value:"EARTHINGSWITCH"},ai.FUSEDISCONNECTOR={type:3,value:"FUSEDISCONNECTOR"},ai.RESIDUALCURRENTCIRCUITBREAKER={type:3,value:"RESIDUALCURRENTCIRCUITBREAKER"},ai.RESIDUALCURRENTSWITCH={type:3,value:"RESIDUALCURRENTSWITCH"},ai.VARISTOR={type:3,value:"VARISTOR"},ai.USERDEFINED={type:3,value:"USERDEFINED"},ai.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcProtectiveDeviceTypeEnum=ai;var si=P((function e(){b(this,e)}));si.CIRCULATOR={type:3,value:"CIRCULATOR"},si.ENDSUCTION={type:3,value:"ENDSUCTION"},si.SPLITCASE={type:3,value:"SPLITCASE"},si.SUBMERSIBLEPUMP={type:3,value:"SUBMERSIBLEPUMP"},si.SUMPPUMP={type:3,value:"SUMPPUMP"},si.VERTICALINLINE={type:3,value:"VERTICALINLINE"},si.VERTICALTURBINE={type:3,value:"VERTICALTURBINE"},si.USERDEFINED={type:3,value:"USERDEFINED"},si.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcPumpTypeEnum=si;var oi=P((function e(){b(this,e)}));oi.HANDRAIL={type:3,value:"HANDRAIL"},oi.GUARDRAIL={type:3,value:"GUARDRAIL"},oi.BALUSTRADE={type:3,value:"BALUSTRADE"},oi.USERDEFINED={type:3,value:"USERDEFINED"},oi.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcRailingTypeEnum=oi;var li=P((function e(){b(this,e)}));li.STRAIGHT={type:3,value:"STRAIGHT"},li.SPIRAL={type:3,value:"SPIRAL"},li.USERDEFINED={type:3,value:"USERDEFINED"},li.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcRampFlightTypeEnum=li;var ui=P((function e(){b(this,e)}));ui.STRAIGHT_RUN_RAMP={type:3,value:"STRAIGHT_RUN_RAMP"},ui.TWO_STRAIGHT_RUN_RAMP={type:3,value:"TWO_STRAIGHT_RUN_RAMP"},ui.QUARTER_TURN_RAMP={type:3,value:"QUARTER_TURN_RAMP"},ui.TWO_QUARTER_TURN_RAMP={type:3,value:"TWO_QUARTER_TURN_RAMP"},ui.HALF_TURN_RAMP={type:3,value:"HALF_TURN_RAMP"},ui.SPIRAL_RAMP={type:3,value:"SPIRAL_RAMP"},ui.USERDEFINED={type:3,value:"USERDEFINED"},ui.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcRampTypeEnum=ui;var ci=P((function e(){b(this,e)}));ci.DAILY={type:3,value:"DAILY"},ci.WEEKLY={type:3,value:"WEEKLY"},ci.MONTHLY_BY_DAY_OF_MONTH={type:3,value:"MONTHLY_BY_DAY_OF_MONTH"},ci.MONTHLY_BY_POSITION={type:3,value:"MONTHLY_BY_POSITION"},ci.BY_DAY_COUNT={type:3,value:"BY_DAY_COUNT"},ci.BY_WEEKDAY_COUNT={type:3,value:"BY_WEEKDAY_COUNT"},ci.YEARLY_BY_DAY_OF_MONTH={type:3,value:"YEARLY_BY_DAY_OF_MONTH"},ci.YEARLY_BY_POSITION={type:3,value:"YEARLY_BY_POSITION"},e.IfcRecurrenceTypeEnum=ci;var fi=P((function e(){b(this,e)}));fi.BLINN={type:3,value:"BLINN"},fi.FLAT={type:3,value:"FLAT"},fi.GLASS={type:3,value:"GLASS"},fi.MATT={type:3,value:"MATT"},fi.METAL={type:3,value:"METAL"},fi.MIRROR={type:3,value:"MIRROR"},fi.PHONG={type:3,value:"PHONG"},fi.PLASTIC={type:3,value:"PLASTIC"},fi.STRAUSS={type:3,value:"STRAUSS"},fi.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcReflectanceMethodEnum=fi;var pi=P((function e(){b(this,e)}));pi.MAIN={type:3,value:"MAIN"},pi.SHEAR={type:3,value:"SHEAR"},pi.LIGATURE={type:3,value:"LIGATURE"},pi.STUD={type:3,value:"STUD"},pi.PUNCHING={type:3,value:"PUNCHING"},pi.EDGE={type:3,value:"EDGE"},pi.RING={type:3,value:"RING"},pi.ANCHORING={type:3,value:"ANCHORING"},pi.USERDEFINED={type:3,value:"USERDEFINED"},pi.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcReinforcingBarRoleEnum=pi;var Ai=P((function e(){b(this,e)}));Ai.PLAIN={type:3,value:"PLAIN"},Ai.TEXTURED={type:3,value:"TEXTURED"},e.IfcReinforcingBarSurfaceEnum=Ai;var di=P((function e(){b(this,e)}));di.ANCHORING={type:3,value:"ANCHORING"},di.EDGE={type:3,value:"EDGE"},di.LIGATURE={type:3,value:"LIGATURE"},di.MAIN={type:3,value:"MAIN"},di.PUNCHING={type:3,value:"PUNCHING"},di.RING={type:3,value:"RING"},di.SHEAR={type:3,value:"SHEAR"},di.STUD={type:3,value:"STUD"},di.USERDEFINED={type:3,value:"USERDEFINED"},di.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcReinforcingBarTypeEnum=di;var vi=P((function e(){b(this,e)}));vi.USERDEFINED={type:3,value:"USERDEFINED"},vi.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcReinforcingMeshTypeEnum=vi;var hi=P((function e(){b(this,e)}));hi.SUPPLIER={type:3,value:"SUPPLIER"},hi.MANUFACTURER={type:3,value:"MANUFACTURER"},hi.CONTRACTOR={type:3,value:"CONTRACTOR"},hi.SUBCONTRACTOR={type:3,value:"SUBCONTRACTOR"},hi.ARCHITECT={type:3,value:"ARCHITECT"},hi.STRUCTURALENGINEER={type:3,value:"STRUCTURALENGINEER"},hi.COSTENGINEER={type:3,value:"COSTENGINEER"},hi.CLIENT={type:3,value:"CLIENT"},hi.BUILDINGOWNER={type:3,value:"BUILDINGOWNER"},hi.BUILDINGOPERATOR={type:3,value:"BUILDINGOPERATOR"},hi.MECHANICALENGINEER={type:3,value:"MECHANICALENGINEER"},hi.ELECTRICALENGINEER={type:3,value:"ELECTRICALENGINEER"},hi.PROJECTMANAGER={type:3,value:"PROJECTMANAGER"},hi.FACILITIESMANAGER={type:3,value:"FACILITIESMANAGER"},hi.CIVILENGINEER={type:3,value:"CIVILENGINEER"},hi.COMMISSIONINGENGINEER={type:3,value:"COMMISSIONINGENGINEER"},hi.ENGINEER={type:3,value:"ENGINEER"},hi.OWNER={type:3,value:"OWNER"},hi.CONSULTANT={type:3,value:"CONSULTANT"},hi.CONSTRUCTIONMANAGER={type:3,value:"CONSTRUCTIONMANAGER"},hi.FIELDCONSTRUCTIONMANAGER={type:3,value:"FIELDCONSTRUCTIONMANAGER"},hi.RESELLER={type:3,value:"RESELLER"},hi.USERDEFINED={type:3,value:"USERDEFINED"},e.IfcRoleEnum=hi;var Ii=P((function e(){b(this,e)}));Ii.FLAT_ROOF={type:3,value:"FLAT_ROOF"},Ii.SHED_ROOF={type:3,value:"SHED_ROOF"},Ii.GABLE_ROOF={type:3,value:"GABLE_ROOF"},Ii.HIP_ROOF={type:3,value:"HIP_ROOF"},Ii.HIPPED_GABLE_ROOF={type:3,value:"HIPPED_GABLE_ROOF"},Ii.GAMBREL_ROOF={type:3,value:"GAMBREL_ROOF"},Ii.MANSARD_ROOF={type:3,value:"MANSARD_ROOF"},Ii.BARREL_ROOF={type:3,value:"BARREL_ROOF"},Ii.RAINBOW_ROOF={type:3,value:"RAINBOW_ROOF"},Ii.BUTTERFLY_ROOF={type:3,value:"BUTTERFLY_ROOF"},Ii.PAVILION_ROOF={type:3,value:"PAVILION_ROOF"},Ii.DOME_ROOF={type:3,value:"DOME_ROOF"},Ii.FREEFORM={type:3,value:"FREEFORM"},Ii.USERDEFINED={type:3,value:"USERDEFINED"},Ii.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcRoofTypeEnum=Ii;var yi=P((function e(){b(this,e)}));yi.EXA={type:3,value:"EXA"},yi.PETA={type:3,value:"PETA"},yi.TERA={type:3,value:"TERA"},yi.GIGA={type:3,value:"GIGA"},yi.MEGA={type:3,value:"MEGA"},yi.KILO={type:3,value:"KILO"},yi.HECTO={type:3,value:"HECTO"},yi.DECA={type:3,value:"DECA"},yi.DECI={type:3,value:"DECI"},yi.CENTI={type:3,value:"CENTI"},yi.MILLI={type:3,value:"MILLI"},yi.MICRO={type:3,value:"MICRO"},yi.NANO={type:3,value:"NANO"},yi.PICO={type:3,value:"PICO"},yi.FEMTO={type:3,value:"FEMTO"},yi.ATTO={type:3,value:"ATTO"},e.IfcSIPrefix=yi;var mi=P((function e(){b(this,e)}));mi.AMPERE={type:3,value:"AMPERE"},mi.BECQUEREL={type:3,value:"BECQUEREL"},mi.CANDELA={type:3,value:"CANDELA"},mi.COULOMB={type:3,value:"COULOMB"},mi.CUBIC_METRE={type:3,value:"CUBIC_METRE"},mi.DEGREE_CELSIUS={type:3,value:"DEGREE_CELSIUS"},mi.FARAD={type:3,value:"FARAD"},mi.GRAM={type:3,value:"GRAM"},mi.GRAY={type:3,value:"GRAY"},mi.HENRY={type:3,value:"HENRY"},mi.HERTZ={type:3,value:"HERTZ"},mi.JOULE={type:3,value:"JOULE"},mi.KELVIN={type:3,value:"KELVIN"},mi.LUMEN={type:3,value:"LUMEN"},mi.LUX={type:3,value:"LUX"},mi.METRE={type:3,value:"METRE"},mi.MOLE={type:3,value:"MOLE"},mi.NEWTON={type:3,value:"NEWTON"},mi.OHM={type:3,value:"OHM"},mi.PASCAL={type:3,value:"PASCAL"},mi.RADIAN={type:3,value:"RADIAN"},mi.SECOND={type:3,value:"SECOND"},mi.SIEMENS={type:3,value:"SIEMENS"},mi.SIEVERT={type:3,value:"SIEVERT"},mi.SQUARE_METRE={type:3,value:"SQUARE_METRE"},mi.STERADIAN={type:3,value:"STERADIAN"},mi.TESLA={type:3,value:"TESLA"},mi.VOLT={type:3,value:"VOLT"},mi.WATT={type:3,value:"WATT"},mi.WEBER={type:3,value:"WEBER"},e.IfcSIUnitName=mi;var wi=P((function e(){b(this,e)}));wi.BATH={type:3,value:"BATH"},wi.BIDET={type:3,value:"BIDET"},wi.CISTERN={type:3,value:"CISTERN"},wi.SHOWER={type:3,value:"SHOWER"},wi.SINK={type:3,value:"SINK"},wi.SANITARYFOUNTAIN={type:3,value:"SANITARYFOUNTAIN"},wi.TOILETPAN={type:3,value:"TOILETPAN"},wi.URINAL={type:3,value:"URINAL"},wi.WASHHANDBASIN={type:3,value:"WASHHANDBASIN"},wi.WCSEAT={type:3,value:"WCSEAT"},wi.USERDEFINED={type:3,value:"USERDEFINED"},wi.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcSanitaryTerminalTypeEnum=wi;var gi=P((function e(){b(this,e)}));gi.UNIFORM={type:3,value:"UNIFORM"},gi.TAPERED={type:3,value:"TAPERED"},e.IfcSectionTypeEnum=gi;var Ei=P((function e(){b(this,e)}));Ei.COSENSOR={type:3,value:"COSENSOR"},Ei.CO2SENSOR={type:3,value:"CO2SENSOR"},Ei.CONDUCTANCESENSOR={type:3,value:"CONDUCTANCESENSOR"},Ei.CONTACTSENSOR={type:3,value:"CONTACTSENSOR"},Ei.FIRESENSOR={type:3,value:"FIRESENSOR"},Ei.FLOWSENSOR={type:3,value:"FLOWSENSOR"},Ei.FROSTSENSOR={type:3,value:"FROSTSENSOR"},Ei.GASSENSOR={type:3,value:"GASSENSOR"},Ei.HEATSENSOR={type:3,value:"HEATSENSOR"},Ei.HUMIDITYSENSOR={type:3,value:"HUMIDITYSENSOR"},Ei.IDENTIFIERSENSOR={type:3,value:"IDENTIFIERSENSOR"},Ei.IONCONCENTRATIONSENSOR={type:3,value:"IONCONCENTRATIONSENSOR"},Ei.LEVELSENSOR={type:3,value:"LEVELSENSOR"},Ei.LIGHTSENSOR={type:3,value:"LIGHTSENSOR"},Ei.MOISTURESENSOR={type:3,value:"MOISTURESENSOR"},Ei.MOVEMENTSENSOR={type:3,value:"MOVEMENTSENSOR"},Ei.PHSENSOR={type:3,value:"PHSENSOR"},Ei.PRESSURESENSOR={type:3,value:"PRESSURESENSOR"},Ei.RADIATIONSENSOR={type:3,value:"RADIATIONSENSOR"},Ei.RADIOACTIVITYSENSOR={type:3,value:"RADIOACTIVITYSENSOR"},Ei.SMOKESENSOR={type:3,value:"SMOKESENSOR"},Ei.SOUNDSENSOR={type:3,value:"SOUNDSENSOR"},Ei.TEMPERATURESENSOR={type:3,value:"TEMPERATURESENSOR"},Ei.WINDSENSOR={type:3,value:"WINDSENSOR"},Ei.USERDEFINED={type:3,value:"USERDEFINED"},Ei.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcSensorTypeEnum=Ei;var Ti=P((function e(){b(this,e)}));Ti.START_START={type:3,value:"START_START"},Ti.START_FINISH={type:3,value:"START_FINISH"},Ti.FINISH_START={type:3,value:"FINISH_START"},Ti.FINISH_FINISH={type:3,value:"FINISH_FINISH"},Ti.USERDEFINED={type:3,value:"USERDEFINED"},Ti.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcSequenceEnum=Ti;var bi=P((function e(){b(this,e)}));bi.JALOUSIE={type:3,value:"JALOUSIE"},bi.SHUTTER={type:3,value:"SHUTTER"},bi.AWNING={type:3,value:"AWNING"},bi.USERDEFINED={type:3,value:"USERDEFINED"},bi.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcShadingDeviceTypeEnum=bi;var Di=P((function e(){b(this,e)}));Di.P_SINGLEVALUE={type:3,value:"P_SINGLEVALUE"},Di.P_ENUMERATEDVALUE={type:3,value:"P_ENUMERATEDVALUE"},Di.P_BOUNDEDVALUE={type:3,value:"P_BOUNDEDVALUE"},Di.P_LISTVALUE={type:3,value:"P_LISTVALUE"},Di.P_TABLEVALUE={type:3,value:"P_TABLEVALUE"},Di.P_REFERENCEVALUE={type:3,value:"P_REFERENCEVALUE"},Di.Q_LENGTH={type:3,value:"Q_LENGTH"},Di.Q_AREA={type:3,value:"Q_AREA"},Di.Q_VOLUME={type:3,value:"Q_VOLUME"},Di.Q_COUNT={type:3,value:"Q_COUNT"},Di.Q_WEIGHT={type:3,value:"Q_WEIGHT"},Di.Q_TIME={type:3,value:"Q_TIME"},e.IfcSimplePropertyTemplateTypeEnum=Di;var Pi=P((function e(){b(this,e)}));Pi.FLOOR={type:3,value:"FLOOR"},Pi.ROOF={type:3,value:"ROOF"},Pi.LANDING={type:3,value:"LANDING"},Pi.BASESLAB={type:3,value:"BASESLAB"},Pi.USERDEFINED={type:3,value:"USERDEFINED"},Pi.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcSlabTypeEnum=Pi;var Ri=P((function e(){b(this,e)}));Ri.SOLARCOLLECTOR={type:3,value:"SOLARCOLLECTOR"},Ri.SOLARPANEL={type:3,value:"SOLARPANEL"},Ri.USERDEFINED={type:3,value:"USERDEFINED"},Ri.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcSolarDeviceTypeEnum=Ri;var Ci=P((function e(){b(this,e)}));Ci.CONVECTOR={type:3,value:"CONVECTOR"},Ci.RADIATOR={type:3,value:"RADIATOR"},Ci.USERDEFINED={type:3,value:"USERDEFINED"},Ci.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcSpaceHeaterTypeEnum=Ci;var _i=P((function e(){b(this,e)}));_i.SPACE={type:3,value:"SPACE"},_i.PARKING={type:3,value:"PARKING"},_i.GFA={type:3,value:"GFA"},_i.INTERNAL={type:3,value:"INTERNAL"},_i.EXTERNAL={type:3,value:"EXTERNAL"},_i.USERDEFINED={type:3,value:"USERDEFINED"},_i.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcSpaceTypeEnum=_i;var Bi=P((function e(){b(this,e)}));Bi.CONSTRUCTION={type:3,value:"CONSTRUCTION"},Bi.FIRESAFETY={type:3,value:"FIRESAFETY"},Bi.LIGHTING={type:3,value:"LIGHTING"},Bi.OCCUPANCY={type:3,value:"OCCUPANCY"},Bi.SECURITY={type:3,value:"SECURITY"},Bi.THERMAL={type:3,value:"THERMAL"},Bi.TRANSPORT={type:3,value:"TRANSPORT"},Bi.VENTILATION={type:3,value:"VENTILATION"},Bi.USERDEFINED={type:3,value:"USERDEFINED"},Bi.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcSpatialZoneTypeEnum=Bi;var Oi=P((function e(){b(this,e)}));Oi.BIRDCAGE={type:3,value:"BIRDCAGE"},Oi.COWL={type:3,value:"COWL"},Oi.RAINWATERHOPPER={type:3,value:"RAINWATERHOPPER"},Oi.USERDEFINED={type:3,value:"USERDEFINED"},Oi.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcStackTerminalTypeEnum=Oi;var Si=P((function e(){b(this,e)}));Si.STRAIGHT={type:3,value:"STRAIGHT"},Si.WINDER={type:3,value:"WINDER"},Si.SPIRAL={type:3,value:"SPIRAL"},Si.CURVED={type:3,value:"CURVED"},Si.FREEFORM={type:3,value:"FREEFORM"},Si.USERDEFINED={type:3,value:"USERDEFINED"},Si.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcStairFlightTypeEnum=Si;var Ni=P((function e(){b(this,e)}));Ni.STRAIGHT_RUN_STAIR={type:3,value:"STRAIGHT_RUN_STAIR"},Ni.TWO_STRAIGHT_RUN_STAIR={type:3,value:"TWO_STRAIGHT_RUN_STAIR"},Ni.QUARTER_WINDING_STAIR={type:3,value:"QUARTER_WINDING_STAIR"},Ni.QUARTER_TURN_STAIR={type:3,value:"QUARTER_TURN_STAIR"},Ni.HALF_WINDING_STAIR={type:3,value:"HALF_WINDING_STAIR"},Ni.HALF_TURN_STAIR={type:3,value:"HALF_TURN_STAIR"},Ni.TWO_QUARTER_WINDING_STAIR={type:3,value:"TWO_QUARTER_WINDING_STAIR"},Ni.TWO_QUARTER_TURN_STAIR={type:3,value:"TWO_QUARTER_TURN_STAIR"},Ni.THREE_QUARTER_WINDING_STAIR={type:3,value:"THREE_QUARTER_WINDING_STAIR"},Ni.THREE_QUARTER_TURN_STAIR={type:3,value:"THREE_QUARTER_TURN_STAIR"},Ni.SPIRAL_STAIR={type:3,value:"SPIRAL_STAIR"},Ni.DOUBLE_RETURN_STAIR={type:3,value:"DOUBLE_RETURN_STAIR"},Ni.CURVED_RUN_STAIR={type:3,value:"CURVED_RUN_STAIR"},Ni.TWO_CURVED_RUN_STAIR={type:3,value:"TWO_CURVED_RUN_STAIR"},Ni.USERDEFINED={type:3,value:"USERDEFINED"},Ni.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcStairTypeEnum=Ni;var Li=P((function e(){b(this,e)}));Li.READWRITE={type:3,value:"READWRITE"},Li.READONLY={type:3,value:"READONLY"},Li.LOCKED={type:3,value:"LOCKED"},Li.READWRITELOCKED={type:3,value:"READWRITELOCKED"},Li.READONLYLOCKED={type:3,value:"READONLYLOCKED"},e.IfcStateEnum=Li;var xi=P((function e(){b(this,e)}));xi.CONST={type:3,value:"CONST"},xi.LINEAR={type:3,value:"LINEAR"},xi.POLYGONAL={type:3,value:"POLYGONAL"},xi.EQUIDISTANT={type:3,value:"EQUIDISTANT"},xi.SINUS={type:3,value:"SINUS"},xi.PARABOLA={type:3,value:"PARABOLA"},xi.DISCRETE={type:3,value:"DISCRETE"},xi.USERDEFINED={type:3,value:"USERDEFINED"},xi.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcStructuralCurveActivityTypeEnum=xi;var Mi=P((function e(){b(this,e)}));Mi.RIGID_JOINED_MEMBER={type:3,value:"RIGID_JOINED_MEMBER"},Mi.PIN_JOINED_MEMBER={type:3,value:"PIN_JOINED_MEMBER"},Mi.CABLE={type:3,value:"CABLE"},Mi.TENSION_MEMBER={type:3,value:"TENSION_MEMBER"},Mi.COMPRESSION_MEMBER={type:3,value:"COMPRESSION_MEMBER"},Mi.USERDEFINED={type:3,value:"USERDEFINED"},Mi.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcStructuralCurveMemberTypeEnum=Mi;var Fi=P((function e(){b(this,e)}));Fi.CONST={type:3,value:"CONST"},Fi.BILINEAR={type:3,value:"BILINEAR"},Fi.DISCRETE={type:3,value:"DISCRETE"},Fi.ISOCONTOUR={type:3,value:"ISOCONTOUR"},Fi.USERDEFINED={type:3,value:"USERDEFINED"},Fi.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcStructuralSurfaceActivityTypeEnum=Fi;var Hi=P((function e(){b(this,e)}));Hi.BENDING_ELEMENT={type:3,value:"BENDING_ELEMENT"},Hi.MEMBRANE_ELEMENT={type:3,value:"MEMBRANE_ELEMENT"},Hi.SHELL={type:3,value:"SHELL"},Hi.USERDEFINED={type:3,value:"USERDEFINED"},Hi.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcStructuralSurfaceMemberTypeEnum=Hi;var Ui=P((function e(){b(this,e)}));Ui.PURCHASE={type:3,value:"PURCHASE"},Ui.WORK={type:3,value:"WORK"},Ui.USERDEFINED={type:3,value:"USERDEFINED"},Ui.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcSubContractResourceTypeEnum=Ui;var Gi=P((function e(){b(this,e)}));Gi.MARK={type:3,value:"MARK"},Gi.TAG={type:3,value:"TAG"},Gi.TREATMENT={type:3,value:"TREATMENT"},Gi.USERDEFINED={type:3,value:"USERDEFINED"},Gi.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcSurfaceFeatureTypeEnum=Gi;var ki=P((function e(){b(this,e)}));ki.POSITIVE={type:3,value:"POSITIVE"},ki.NEGATIVE={type:3,value:"NEGATIVE"},ki.BOTH={type:3,value:"BOTH"},e.IfcSurfaceSide=ki;var ji=P((function e(){b(this,e)}));ji.CONTACTOR={type:3,value:"CONTACTOR"},ji.DIMMERSWITCH={type:3,value:"DIMMERSWITCH"},ji.EMERGENCYSTOP={type:3,value:"EMERGENCYSTOP"},ji.KEYPAD={type:3,value:"KEYPAD"},ji.MOMENTARYSWITCH={type:3,value:"MOMENTARYSWITCH"},ji.SELECTORSWITCH={type:3,value:"SELECTORSWITCH"},ji.STARTER={type:3,value:"STARTER"},ji.SWITCHDISCONNECTOR={type:3,value:"SWITCHDISCONNECTOR"},ji.TOGGLESWITCH={type:3,value:"TOGGLESWITCH"},ji.USERDEFINED={type:3,value:"USERDEFINED"},ji.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcSwitchingDeviceTypeEnum=ji;var Vi=P((function e(){b(this,e)}));Vi.PANEL={type:3,value:"PANEL"},Vi.WORKSURFACE={type:3,value:"WORKSURFACE"},Vi.USERDEFINED={type:3,value:"USERDEFINED"},Vi.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcSystemFurnitureElementTypeEnum=Vi;var Qi=P((function e(){b(this,e)}));Qi.BASIN={type:3,value:"BASIN"},Qi.BREAKPRESSURE={type:3,value:"BREAKPRESSURE"},Qi.EXPANSION={type:3,value:"EXPANSION"},Qi.FEEDANDEXPANSION={type:3,value:"FEEDANDEXPANSION"},Qi.PRESSUREVESSEL={type:3,value:"PRESSUREVESSEL"},Qi.STORAGE={type:3,value:"STORAGE"},Qi.VESSEL={type:3,value:"VESSEL"},Qi.USERDEFINED={type:3,value:"USERDEFINED"},Qi.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcTankTypeEnum=Qi;var Wi=P((function e(){b(this,e)}));Wi.ELAPSEDTIME={type:3,value:"ELAPSEDTIME"},Wi.WORKTIME={type:3,value:"WORKTIME"},Wi.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcTaskDurationEnum=Wi;var zi=P((function e(){b(this,e)}));zi.ATTENDANCE={type:3,value:"ATTENDANCE"},zi.CONSTRUCTION={type:3,value:"CONSTRUCTION"},zi.DEMOLITION={type:3,value:"DEMOLITION"},zi.DISMANTLE={type:3,value:"DISMANTLE"},zi.DISPOSAL={type:3,value:"DISPOSAL"},zi.INSTALLATION={type:3,value:"INSTALLATION"},zi.LOGISTIC={type:3,value:"LOGISTIC"},zi.MAINTENANCE={type:3,value:"MAINTENANCE"},zi.MOVE={type:3,value:"MOVE"},zi.OPERATION={type:3,value:"OPERATION"},zi.REMOVAL={type:3,value:"REMOVAL"},zi.RENOVATION={type:3,value:"RENOVATION"},zi.USERDEFINED={type:3,value:"USERDEFINED"},zi.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcTaskTypeEnum=zi;var Ki=P((function e(){b(this,e)}));Ki.COUPLER={type:3,value:"COUPLER"},Ki.FIXED_END={type:3,value:"FIXED_END"},Ki.TENSIONING_END={type:3,value:"TENSIONING_END"},Ki.USERDEFINED={type:3,value:"USERDEFINED"},Ki.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcTendonAnchorTypeEnum=Ki;var Yi=P((function e(){b(this,e)}));Yi.BAR={type:3,value:"BAR"},Yi.COATED={type:3,value:"COATED"},Yi.STRAND={type:3,value:"STRAND"},Yi.WIRE={type:3,value:"WIRE"},Yi.USERDEFINED={type:3,value:"USERDEFINED"},Yi.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcTendonTypeEnum=Yi;var Xi=P((function e(){b(this,e)}));Xi.LEFT={type:3,value:"LEFT"},Xi.RIGHT={type:3,value:"RIGHT"},Xi.UP={type:3,value:"UP"},Xi.DOWN={type:3,value:"DOWN"},e.IfcTextPath=Xi;var qi=P((function e(){b(this,e)}));qi.CONTINUOUS={type:3,value:"CONTINUOUS"},qi.DISCRETE={type:3,value:"DISCRETE"},qi.DISCRETEBINARY={type:3,value:"DISCRETEBINARY"},qi.PIECEWISEBINARY={type:3,value:"PIECEWISEBINARY"},qi.PIECEWISECONSTANT={type:3,value:"PIECEWISECONSTANT"},qi.PIECEWISECONTINUOUS={type:3,value:"PIECEWISECONTINUOUS"},qi.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcTimeSeriesDataTypeEnum=qi;var Ji=P((function e(){b(this,e)}));Ji.CURRENT={type:3,value:"CURRENT"},Ji.FREQUENCY={type:3,value:"FREQUENCY"},Ji.INVERTER={type:3,value:"INVERTER"},Ji.RECTIFIER={type:3,value:"RECTIFIER"},Ji.VOLTAGE={type:3,value:"VOLTAGE"},Ji.USERDEFINED={type:3,value:"USERDEFINED"},Ji.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcTransformerTypeEnum=Ji;var Zi=P((function e(){b(this,e)}));Zi.DISCONTINUOUS={type:3,value:"DISCONTINUOUS"},Zi.CONTINUOUS={type:3,value:"CONTINUOUS"},Zi.CONTSAMEGRADIENT={type:3,value:"CONTSAMEGRADIENT"},Zi.CONTSAMEGRADIENTSAMECURVATURE={type:3,value:"CONTSAMEGRADIENTSAMECURVATURE"},e.IfcTransitionCode=Zi;var $i=P((function e(){b(this,e)}));$i.ELEVATOR={type:3,value:"ELEVATOR"},$i.ESCALATOR={type:3,value:"ESCALATOR"},$i.MOVINGWALKWAY={type:3,value:"MOVINGWALKWAY"},$i.CRANEWAY={type:3,value:"CRANEWAY"},$i.LIFTINGGEAR={type:3,value:"LIFTINGGEAR"},$i.USERDEFINED={type:3,value:"USERDEFINED"},$i.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcTransportElementTypeEnum=$i;var ea=P((function e(){b(this,e)}));ea.CARTESIAN={type:3,value:"CARTESIAN"},ea.PARAMETER={type:3,value:"PARAMETER"},ea.UNSPECIFIED={type:3,value:"UNSPECIFIED"},e.IfcTrimmingPreference=ea;var ta=P((function e(){b(this,e)}));ta.FINNED={type:3,value:"FINNED"},ta.USERDEFINED={type:3,value:"USERDEFINED"},ta.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcTubeBundleTypeEnum=ta;var na=P((function e(){b(this,e)}));na.ABSORBEDDOSEUNIT={type:3,value:"ABSORBEDDOSEUNIT"},na.AMOUNTOFSUBSTANCEUNIT={type:3,value:"AMOUNTOFSUBSTANCEUNIT"},na.AREAUNIT={type:3,value:"AREAUNIT"},na.DOSEEQUIVALENTUNIT={type:3,value:"DOSEEQUIVALENTUNIT"},na.ELECTRICCAPACITANCEUNIT={type:3,value:"ELECTRICCAPACITANCEUNIT"},na.ELECTRICCHARGEUNIT={type:3,value:"ELECTRICCHARGEUNIT"},na.ELECTRICCONDUCTANCEUNIT={type:3,value:"ELECTRICCONDUCTANCEUNIT"},na.ELECTRICCURRENTUNIT={type:3,value:"ELECTRICCURRENTUNIT"},na.ELECTRICRESISTANCEUNIT={type:3,value:"ELECTRICRESISTANCEUNIT"},na.ELECTRICVOLTAGEUNIT={type:3,value:"ELECTRICVOLTAGEUNIT"},na.ENERGYUNIT={type:3,value:"ENERGYUNIT"},na.FORCEUNIT={type:3,value:"FORCEUNIT"},na.FREQUENCYUNIT={type:3,value:"FREQUENCYUNIT"},na.ILLUMINANCEUNIT={type:3,value:"ILLUMINANCEUNIT"},na.INDUCTANCEUNIT={type:3,value:"INDUCTANCEUNIT"},na.LENGTHUNIT={type:3,value:"LENGTHUNIT"},na.LUMINOUSFLUXUNIT={type:3,value:"LUMINOUSFLUXUNIT"},na.LUMINOUSINTENSITYUNIT={type:3,value:"LUMINOUSINTENSITYUNIT"},na.MAGNETICFLUXDENSITYUNIT={type:3,value:"MAGNETICFLUXDENSITYUNIT"},na.MAGNETICFLUXUNIT={type:3,value:"MAGNETICFLUXUNIT"},na.MASSUNIT={type:3,value:"MASSUNIT"},na.PLANEANGLEUNIT={type:3,value:"PLANEANGLEUNIT"},na.POWERUNIT={type:3,value:"POWERUNIT"},na.PRESSUREUNIT={type:3,value:"PRESSUREUNIT"},na.RADIOACTIVITYUNIT={type:3,value:"RADIOACTIVITYUNIT"},na.SOLIDANGLEUNIT={type:3,value:"SOLIDANGLEUNIT"},na.THERMODYNAMICTEMPERATUREUNIT={type:3,value:"THERMODYNAMICTEMPERATUREUNIT"},na.TIMEUNIT={type:3,value:"TIMEUNIT"},na.VOLUMEUNIT={type:3,value:"VOLUMEUNIT"},na.USERDEFINED={type:3,value:"USERDEFINED"},e.IfcUnitEnum=na;var ra=P((function e(){b(this,e)}));ra.ALARMPANEL={type:3,value:"ALARMPANEL"},ra.CONTROLPANEL={type:3,value:"CONTROLPANEL"},ra.GASDETECTIONPANEL={type:3,value:"GASDETECTIONPANEL"},ra.INDICATORPANEL={type:3,value:"INDICATORPANEL"},ra.MIMICPANEL={type:3,value:"MIMICPANEL"},ra.HUMIDISTAT={type:3,value:"HUMIDISTAT"},ra.THERMOSTAT={type:3,value:"THERMOSTAT"},ra.WEATHERSTATION={type:3,value:"WEATHERSTATION"},ra.USERDEFINED={type:3,value:"USERDEFINED"},ra.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcUnitaryControlElementTypeEnum=ra;var ia=P((function e(){b(this,e)}));ia.AIRHANDLER={type:3,value:"AIRHANDLER"},ia.AIRCONDITIONINGUNIT={type:3,value:"AIRCONDITIONINGUNIT"},ia.DEHUMIDIFIER={type:3,value:"DEHUMIDIFIER"},ia.SPLITSYSTEM={type:3,value:"SPLITSYSTEM"},ia.ROOFTOPUNIT={type:3,value:"ROOFTOPUNIT"},ia.USERDEFINED={type:3,value:"USERDEFINED"},ia.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcUnitaryEquipmentTypeEnum=ia;var aa=P((function e(){b(this,e)}));aa.AIRRELEASE={type:3,value:"AIRRELEASE"},aa.ANTIVACUUM={type:3,value:"ANTIVACUUM"},aa.CHANGEOVER={type:3,value:"CHANGEOVER"},aa.CHECK={type:3,value:"CHECK"},aa.COMMISSIONING={type:3,value:"COMMISSIONING"},aa.DIVERTING={type:3,value:"DIVERTING"},aa.DRAWOFFCOCK={type:3,value:"DRAWOFFCOCK"},aa.DOUBLECHECK={type:3,value:"DOUBLECHECK"},aa.DOUBLEREGULATING={type:3,value:"DOUBLEREGULATING"},aa.FAUCET={type:3,value:"FAUCET"},aa.FLUSHING={type:3,value:"FLUSHING"},aa.GASCOCK={type:3,value:"GASCOCK"},aa.GASTAP={type:3,value:"GASTAP"},aa.ISOLATING={type:3,value:"ISOLATING"},aa.MIXING={type:3,value:"MIXING"},aa.PRESSUREREDUCING={type:3,value:"PRESSUREREDUCING"},aa.PRESSURERELIEF={type:3,value:"PRESSURERELIEF"},aa.REGULATING={type:3,value:"REGULATING"},aa.SAFETYCUTOFF={type:3,value:"SAFETYCUTOFF"},aa.STEAMTRAP={type:3,value:"STEAMTRAP"},aa.STOPCOCK={type:3,value:"STOPCOCK"},aa.USERDEFINED={type:3,value:"USERDEFINED"},aa.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcValveTypeEnum=aa;var sa=P((function e(){b(this,e)}));sa.COMPRESSION={type:3,value:"COMPRESSION"},sa.SPRING={type:3,value:"SPRING"},sa.USERDEFINED={type:3,value:"USERDEFINED"},sa.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcVibrationIsolatorTypeEnum=sa;var oa=P((function e(){b(this,e)}));oa.CUTOUT={type:3,value:"CUTOUT"},oa.NOTCH={type:3,value:"NOTCH"},oa.HOLE={type:3,value:"HOLE"},oa.MITER={type:3,value:"MITER"},oa.CHAMFER={type:3,value:"CHAMFER"},oa.EDGE={type:3,value:"EDGE"},oa.USERDEFINED={type:3,value:"USERDEFINED"},oa.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcVoidingFeatureTypeEnum=oa;var la=P((function e(){b(this,e)}));la.MOVABLE={type:3,value:"MOVABLE"},la.PARAPET={type:3,value:"PARAPET"},la.PARTITIONING={type:3,value:"PARTITIONING"},la.PLUMBINGWALL={type:3,value:"PLUMBINGWALL"},la.SHEAR={type:3,value:"SHEAR"},la.SOLIDWALL={type:3,value:"SOLIDWALL"},la.STANDARD={type:3,value:"STANDARD"},la.POLYGONAL={type:3,value:"POLYGONAL"},la.ELEMENTEDWALL={type:3,value:"ELEMENTEDWALL"},la.USERDEFINED={type:3,value:"USERDEFINED"},la.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcWallTypeEnum=la;var ua=P((function e(){b(this,e)}));ua.FLOORTRAP={type:3,value:"FLOORTRAP"},ua.FLOORWASTE={type:3,value:"FLOORWASTE"},ua.GULLYSUMP={type:3,value:"GULLYSUMP"},ua.GULLYTRAP={type:3,value:"GULLYTRAP"},ua.ROOFDRAIN={type:3,value:"ROOFDRAIN"},ua.WASTEDISPOSALUNIT={type:3,value:"WASTEDISPOSALUNIT"},ua.WASTETRAP={type:3,value:"WASTETRAP"},ua.USERDEFINED={type:3,value:"USERDEFINED"},ua.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcWasteTerminalTypeEnum=ua;var ca=P((function e(){b(this,e)}));ca.SIDEHUNGRIGHTHAND={type:3,value:"SIDEHUNGRIGHTHAND"},ca.SIDEHUNGLEFTHAND={type:3,value:"SIDEHUNGLEFTHAND"},ca.TILTANDTURNRIGHTHAND={type:3,value:"TILTANDTURNRIGHTHAND"},ca.TILTANDTURNLEFTHAND={type:3,value:"TILTANDTURNLEFTHAND"},ca.TOPHUNG={type:3,value:"TOPHUNG"},ca.BOTTOMHUNG={type:3,value:"BOTTOMHUNG"},ca.PIVOTHORIZONTAL={type:3,value:"PIVOTHORIZONTAL"},ca.PIVOTVERTICAL={type:3,value:"PIVOTVERTICAL"},ca.SLIDINGHORIZONTAL={type:3,value:"SLIDINGHORIZONTAL"},ca.SLIDINGVERTICAL={type:3,value:"SLIDINGVERTICAL"},ca.REMOVABLECASEMENT={type:3,value:"REMOVABLECASEMENT"},ca.FIXEDCASEMENT={type:3,value:"FIXEDCASEMENT"},ca.OTHEROPERATION={type:3,value:"OTHEROPERATION"},ca.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcWindowPanelOperationEnum=ca;var fa=P((function e(){b(this,e)}));fa.LEFT={type:3,value:"LEFT"},fa.MIDDLE={type:3,value:"MIDDLE"},fa.RIGHT={type:3,value:"RIGHT"},fa.BOTTOM={type:3,value:"BOTTOM"},fa.TOP={type:3,value:"TOP"},fa.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcWindowPanelPositionEnum=fa;var pa=P((function e(){b(this,e)}));pa.ALUMINIUM={type:3,value:"ALUMINIUM"},pa.HIGH_GRADE_STEEL={type:3,value:"HIGH_GRADE_STEEL"},pa.STEEL={type:3,value:"STEEL"},pa.WOOD={type:3,value:"WOOD"},pa.ALUMINIUM_WOOD={type:3,value:"ALUMINIUM_WOOD"},pa.PLASTIC={type:3,value:"PLASTIC"},pa.OTHER_CONSTRUCTION={type:3,value:"OTHER_CONSTRUCTION"},pa.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcWindowStyleConstructionEnum=pa;var Aa=P((function e(){b(this,e)}));Aa.SINGLE_PANEL={type:3,value:"SINGLE_PANEL"},Aa.DOUBLE_PANEL_VERTICAL={type:3,value:"DOUBLE_PANEL_VERTICAL"},Aa.DOUBLE_PANEL_HORIZONTAL={type:3,value:"DOUBLE_PANEL_HORIZONTAL"},Aa.TRIPLE_PANEL_VERTICAL={type:3,value:"TRIPLE_PANEL_VERTICAL"},Aa.TRIPLE_PANEL_BOTTOM={type:3,value:"TRIPLE_PANEL_BOTTOM"},Aa.TRIPLE_PANEL_TOP={type:3,value:"TRIPLE_PANEL_TOP"},Aa.TRIPLE_PANEL_LEFT={type:3,value:"TRIPLE_PANEL_LEFT"},Aa.TRIPLE_PANEL_RIGHT={type:3,value:"TRIPLE_PANEL_RIGHT"},Aa.TRIPLE_PANEL_HORIZONTAL={type:3,value:"TRIPLE_PANEL_HORIZONTAL"},Aa.USERDEFINED={type:3,value:"USERDEFINED"},Aa.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcWindowStyleOperationEnum=Aa;var da=P((function e(){b(this,e)}));da.WINDOW={type:3,value:"WINDOW"},da.SKYLIGHT={type:3,value:"SKYLIGHT"},da.LIGHTDOME={type:3,value:"LIGHTDOME"},da.USERDEFINED={type:3,value:"USERDEFINED"},da.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcWindowTypeEnum=da;var va=P((function e(){b(this,e)}));va.SINGLE_PANEL={type:3,value:"SINGLE_PANEL"},va.DOUBLE_PANEL_VERTICAL={type:3,value:"DOUBLE_PANEL_VERTICAL"},va.DOUBLE_PANEL_HORIZONTAL={type:3,value:"DOUBLE_PANEL_HORIZONTAL"},va.TRIPLE_PANEL_VERTICAL={type:3,value:"TRIPLE_PANEL_VERTICAL"},va.TRIPLE_PANEL_BOTTOM={type:3,value:"TRIPLE_PANEL_BOTTOM"},va.TRIPLE_PANEL_TOP={type:3,value:"TRIPLE_PANEL_TOP"},va.TRIPLE_PANEL_LEFT={type:3,value:"TRIPLE_PANEL_LEFT"},va.TRIPLE_PANEL_RIGHT={type:3,value:"TRIPLE_PANEL_RIGHT"},va.TRIPLE_PANEL_HORIZONTAL={type:3,value:"TRIPLE_PANEL_HORIZONTAL"},va.USERDEFINED={type:3,value:"USERDEFINED"},va.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcWindowTypePartitioningEnum=va;var ha=P((function e(){b(this,e)}));ha.FIRSTSHIFT={type:3,value:"FIRSTSHIFT"},ha.SECONDSHIFT={type:3,value:"SECONDSHIFT"},ha.THIRDSHIFT={type:3,value:"THIRDSHIFT"},ha.USERDEFINED={type:3,value:"USERDEFINED"},ha.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcWorkCalendarTypeEnum=ha;var Ia=P((function e(){b(this,e)}));Ia.ACTUAL={type:3,value:"ACTUAL"},Ia.BASELINE={type:3,value:"BASELINE"},Ia.PLANNED={type:3,value:"PLANNED"},Ia.USERDEFINED={type:3,value:"USERDEFINED"},Ia.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcWorkPlanTypeEnum=Ia;var ya=P((function e(){b(this,e)}));ya.ACTUAL={type:3,value:"ACTUAL"},ya.BASELINE={type:3,value:"BASELINE"},ya.PLANNED={type:3,value:"PLANNED"},ya.USERDEFINED={type:3,value:"USERDEFINED"},ya.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcWorkScheduleTypeEnum=ya;var ma=function(e){I(n,U_);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e)).Role=r,s.UserDefinedRole=i,s.Description=a,s.type=3630933823,s}return P(n)}();e.IfcActorRole=ma;var wa=function(e){I(n,U_);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e)).Purpose=r,s.Description=i,s.UserDefinedPurpose=a,s.type=618182010,s}return P(n)}();e.IfcAddress=wa;var ga=function(e){I(n,U_);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e)).ApplicationDeveloper=r,o.Version=i,o.ApplicationFullName=a,o.ApplicationIdentifier=s,o.type=639542469,o}return P(n)}();e.IfcApplication=ga;var Ea=function(e){I(n,U_);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e)).Name=r,A.Description=i,A.AppliedValue=a,A.UnitBasis=s,A.ApplicableDate=o,A.FixedUntilDate=l,A.Category=u,A.Condition=c,A.ArithmeticOperator=f,A.Components=p,A.type=411424972,A}return P(n)}();e.IfcAppliedValue=Ea;var Ta=function(e){I(n,U_);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e)).Identifier=r,p.Name=i,p.Description=a,p.TimeOfApproval=s,p.Status=o,p.Level=l,p.Qualifier=u,p.RequestingApproval=c,p.GivingApproval=f,p.type=130549933,p}return P(n)}();e.IfcApproval=Ta;var ba=function(e){I(n,U_);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e)).Name=r,i.type=4037036970,i}return P(n)}();e.IfcBoundaryCondition=ba;var Da=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u){var c;return b(this,n),(c=t.call(this,e,r)).Name=r,c.TranslationalStiffnessByLengthX=i,c.TranslationalStiffnessByLengthY=a,c.TranslationalStiffnessByLengthZ=s,c.RotationalStiffnessByLengthX=o,c.RotationalStiffnessByLengthY=l,c.RotationalStiffnessByLengthZ=u,c.type=1560379544,c}return P(n)}(ba);e.IfcBoundaryEdgeCondition=Da;var Pa=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r)).Name=r,o.TranslationalStiffnessByAreaX=i,o.TranslationalStiffnessByAreaY=a,o.TranslationalStiffnessByAreaZ=s,o.type=3367102660,o}return P(n)}(ba);e.IfcBoundaryFaceCondition=Pa;var Ra=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u){var c;return b(this,n),(c=t.call(this,e,r)).Name=r,c.TranslationalStiffnessX=i,c.TranslationalStiffnessY=a,c.TranslationalStiffnessZ=s,c.RotationalStiffnessX=o,c.RotationalStiffnessY=l,c.RotationalStiffnessZ=u,c.type=1387855156,c}return P(n)}(ba);e.IfcBoundaryNodeCondition=Ra;var Ca=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o,l,u)).Name=r,f.TranslationalStiffnessX=i,f.TranslationalStiffnessY=a,f.TranslationalStiffnessZ=s,f.RotationalStiffnessX=o,f.RotationalStiffnessY=l,f.RotationalStiffnessZ=u,f.WarpingStiffness=c,f.type=2069777674,f}return P(n)}(Ra);e.IfcBoundaryNodeConditionWarping=Ca;var _a=function(e){I(n,U_);var t=m(n);function n(e){var r;return b(this,n),(r=t.call(this,e)).type=2859738748,r}return P(n)}();e.IfcConnectionGeometry=_a;var Ba=function(e){I(n,e);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).PointOnRelatingElement=r,a.PointOnRelatedElement=i,a.type=2614616156,a}return P(n)}(_a);e.IfcConnectionPointGeometry=Ba;var Oa=function(e){I(n,e);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).SurfaceOnRelatingElement=r,a.SurfaceOnRelatedElement=i,a.type=2732653382,a}return P(n)}(_a);e.IfcConnectionSurfaceGeometry=Oa;var Sa=function(e){I(n,e);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).VolumeOnRelatingElement=r,a.VolumeOnRelatedElement=i,a.type=775493141,a}return P(n)}(_a);e.IfcConnectionVolumeGeometry=Sa;var Na=function(e){I(n,U_);var t=m(n);function n(e,r,i,a,s,o,l,u){var c;return b(this,n),(c=t.call(this,e)).Name=r,c.Description=i,c.ConstraintGrade=a,c.ConstraintSource=s,c.CreatingActor=o,c.CreationTime=l,c.UserDefinedGrade=u,c.type=1959218052,c}return P(n)}();e.IfcConstraint=Na;var La=function(e){I(n,U_);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).SourceCRS=r,a.TargetCRS=i,a.type=1785450214,a}return P(n)}();e.IfcCoordinateOperation=La;var xa=function(e){I(n,U_);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e)).Name=r,o.Description=i,o.GeodeticDatum=a,o.VerticalDatum=s,o.type=1466758467,o}return P(n)}();e.IfcCoordinateReferenceSystem=xa;var Ma=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f,p)).Name=r,A.Description=i,A.AppliedValue=a,A.UnitBasis=s,A.ApplicableDate=o,A.FixedUntilDate=l,A.Category=u,A.Condition=c,A.ArithmeticOperator=f,A.Components=p,A.type=602808272,A}return P(n)}(Ea);e.IfcCostValue=Ma;var Fa=function(e){I(n,U_);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e)).Elements=r,s.UnitType=i,s.UserDefinedType=a,s.type=1765591967,s}return P(n)}();e.IfcDerivedUnit=Fa;var Ha=function(e){I(n,U_);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).Unit=r,a.Exponent=i,a.type=1045800335,a}return P(n)}();e.IfcDerivedUnitElement=Ha;var Ua=function(e){I(n,U_);var t=m(n);function n(e,r,i,a,s,o,l,u){var c;return b(this,n),(c=t.call(this,e)).LengthExponent=r,c.MassExponent=i,c.TimeExponent=a,c.ElectricCurrentExponent=s,c.ThermodynamicTemperatureExponent=o,c.AmountOfSubstanceExponent=l,c.LuminousIntensityExponent=u,c.type=2949456006,c}return P(n)}();e.IfcDimensionalExponents=Ua;var Ga=function(e){I(n,U_);var t=m(n);function n(e){var r;return b(this,n),(r=t.call(this,e)).type=4294318154,r}return P(n)}();e.IfcExternalInformation=Ga;var ka=function(e){I(n,U_);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e)).Location=r,s.Identification=i,s.Name=a,s.type=3200245327,s}return P(n)}();e.IfcExternalReference=ka;var ja=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e,r,i,a)).Location=r,s.Identification=i,s.Name=a,s.type=2242383968,s}return P(n)}(ka);e.IfcExternallyDefinedHatchStyle=ja;var Va=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e,r,i,a)).Location=r,s.Identification=i,s.Name=a,s.type=1040185647,s}return P(n)}(ka);e.IfcExternallyDefinedSurfaceStyle=Va;var Qa=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e,r,i,a)).Location=r,s.Identification=i,s.Name=a,s.type=3548104201,s}return P(n)}(ka);e.IfcExternallyDefinedTextFont=Qa;var Wa=function(e){I(n,U_);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e)).AxisTag=r,s.AxisCurve=i,s.SameSense=a,s.type=852622518,s}return P(n)}();e.IfcGridAxis=Wa;var za=function(e){I(n,U_);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).TimeStamp=r,a.ListValues=i,a.type=3020489413,a}return P(n)}();e.IfcIrregularTimeSeriesValue=za;var Ka=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e)).Name=r,u.Version=i,u.Publisher=a,u.VersionDate=s,u.Location=o,u.Description=l,u.type=2655187982,u}return P(n)}(Ga);e.IfcLibraryInformation=Ka;var Ya=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r,i,a)).Location=r,u.Identification=i,u.Name=a,u.Description=s,u.Language=o,u.ReferencedLibrary=l,u.type=3452421091,u}return P(n)}(ka);e.IfcLibraryReference=Ya;var Xa=function(e){I(n,U_);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e)).MainPlaneAngle=r,s.SecondaryPlaneAngle=i,s.LuminousIntensity=a,s.type=4162380809,s}return P(n)}();e.IfcLightDistributionData=Xa;var qa=function(e){I(n,U_);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).LightDistributionCurve=r,a.DistributionData=i,a.type=1566485204,a}return P(n)}();e.IfcLightIntensityDistribution=qa;var Ja=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i)).SourceCRS=r,f.TargetCRS=i,f.Eastings=a,f.Northings=s,f.OrthogonalHeight=o,f.XAxisAbscissa=l,f.XAxisOrdinate=u,f.Scale=c,f.type=3057273783,f}return P(n)}(La);e.IfcMapConversion=Ja;var Za=function(e){I(n,U_);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).MaterialClassifications=r,a.ClassifiedMaterial=i,a.type=1847130766,a}return P(n)}();e.IfcMaterialClassificationRelationship=Za;var $a=function(e){I(n,U_);var t=m(n);function n(e){var r;return b(this,n),(r=t.call(this,e)).type=760658860,r}return P(n)}();e.IfcMaterialDefinition=$a;var es=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u){var c;return b(this,n),(c=t.call(this,e)).Material=r,c.LayerThickness=i,c.IsVentilated=a,c.Name=s,c.Description=o,c.Category=l,c.Priority=u,c.type=248100487,c}return P(n)}($a);e.IfcMaterialLayer=es;var ts=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e)).MaterialLayers=r,s.LayerSetName=i,s.Description=a,s.type=3303938423,s}return P(n)}($a);e.IfcMaterialLayerSet=ts;var ns=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u)).Material=r,p.LayerThickness=i,p.IsVentilated=a,p.Name=s,p.Description=o,p.Category=l,p.Priority=u,p.OffsetDirection=c,p.OffsetValues=f,p.type=1847252529,p}return P(n)}(es);e.IfcMaterialLayerWithOffsets=ns;var rs=function(e){I(n,U_);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e)).Materials=r,i.type=2199411900,i}return P(n)}();e.IfcMaterialList=rs;var is=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e)).Name=r,u.Description=i,u.Material=a,u.Profile=s,u.Priority=o,u.Category=l,u.type=2235152071,u}return P(n)}($a);e.IfcMaterialProfile=is;var as=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e)).Name=r,o.Description=i,o.MaterialProfiles=a,o.CompositeProfile=s,o.type=164193824,o}return P(n)}($a);e.IfcMaterialProfileSet=as;var ss=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u){var c;return b(this,n),(c=t.call(this,e,r,i,a,s,o,l)).Name=r,c.Description=i,c.Material=a,c.Profile=s,c.Priority=o,c.Category=l,c.OffsetValues=u,c.type=552965576,c}return P(n)}(is);e.IfcMaterialProfileWithOffsets=ss;var os=function(e){I(n,U_);var t=m(n);function n(e){var r;return b(this,n),(r=t.call(this,e)).type=1507914824,r}return P(n)}();e.IfcMaterialUsageDefinition=os;var ls=function(e){I(n,U_);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).ValueComponent=r,a.UnitComponent=i,a.type=2597039031,a}return P(n)}();e.IfcMeasureWithUnit=ls;var us=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A){var d;return b(this,n),(d=t.call(this,e,r,i,a,s,o,l,u)).Name=r,d.Description=i,d.ConstraintGrade=a,d.ConstraintSource=s,d.CreatingActor=o,d.CreationTime=l,d.UserDefinedGrade=u,d.Benchmark=c,d.ValueSource=f,d.DataValue=p,d.ReferencePath=A,d.type=3368373690,d}return P(n)}(Na);e.IfcMetric=us;var cs=function(e){I(n,U_);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e)).Currency=r,i.type=2706619895,i}return P(n)}();e.IfcMonetaryUnit=cs;var fs=function(e){I(n,U_);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).Dimensions=r,a.UnitType=i,a.type=1918398963,a}return P(n)}();e.IfcNamedUnit=fs;var ps=function(e){I(n,U_);var t=m(n);function n(e){var r;return b(this,n),(r=t.call(this,e)).type=3701648758,r}return P(n)}();e.IfcObjectPlacement=ps;var As=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A){var d;return b(this,n),(d=t.call(this,e,r,i,a,s,o,l,u)).Name=r,d.Description=i,d.ConstraintGrade=a,d.ConstraintSource=s,d.CreatingActor=o,d.CreationTime=l,d.UserDefinedGrade=u,d.BenchmarkValues=c,d.LogicalAggregator=f,d.ObjectiveQualifier=p,d.UserDefinedQualifier=A,d.type=2251480897,d}return P(n)}(Na);e.IfcObjective=As;var ds=function(e){I(n,U_);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e)).Identification=r,l.Name=i,l.Description=a,l.Roles=s,l.Addresses=o,l.type=4251960020,l}return P(n)}();e.IfcOrganization=ds;var vs=function(e){I(n,U_);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e)).OwningUser=r,f.OwningApplication=i,f.State=a,f.ChangeAction=s,f.LastModifiedDate=o,f.LastModifyingUser=l,f.LastModifyingApplication=u,f.CreationDate=c,f.type=1207048766,f}return P(n)}();e.IfcOwnerHistory=vs;var hs=function(e){I(n,U_);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e)).Identification=r,f.FamilyName=i,f.GivenName=a,f.MiddleNames=s,f.PrefixTitles=o,f.SuffixTitles=l,f.Roles=u,f.Addresses=c,f.type=2077209135,f}return P(n)}();e.IfcPerson=hs;var Is=function(e){I(n,U_);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e)).ThePerson=r,s.TheOrganization=i,s.Roles=a,s.type=101040310,s}return P(n)}();e.IfcPersonAndOrganization=Is;var ys=function(e){I(n,U_);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).Name=r,a.Description=i,a.type=2483315170,a}return P(n)}();e.IfcPhysicalQuantity=ys;var ms=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e,r,i)).Name=r,s.Description=i,s.Unit=a,s.type=2226359599,s}return P(n)}(ys);e.IfcPhysicalSimpleQuantity=ms;var ws=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a)).Purpose=r,A.Description=i,A.UserDefinedPurpose=a,A.InternalLocation=s,A.AddressLines=o,A.PostalBox=l,A.Town=u,A.Region=c,A.PostalCode=f,A.Country=p,A.type=3355820592,A}return P(n)}(wa);e.IfcPostalAddress=ws;var gs=function(e){I(n,U_);var t=m(n);function n(e){var r;return b(this,n),(r=t.call(this,e)).type=677532197,r}return P(n)}();e.IfcPresentationItem=gs;var Es=function(e){I(n,U_);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e)).Name=r,o.Description=i,o.AssignedItems=a,o.Identifier=s,o.type=2022622350,o}return P(n)}();e.IfcPresentationLayerAssignment=Es;var Ts=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s)).Name=r,f.Description=i,f.AssignedItems=a,f.Identifier=s,f.LayerOn=o,f.LayerFrozen=l,f.LayerBlocked=u,f.LayerStyles=c,f.type=1304840413,f}return P(n)}(Es);e.IfcPresentationLayerWithStyle=Ts;var bs=function(e){I(n,U_);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e)).Name=r,i.type=3119450353,i}return P(n)}();e.IfcPresentationStyle=bs;var Ds=function(e){I(n,U_);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e)).Styles=r,i.type=2417041796,i}return P(n)}();e.IfcPresentationStyleAssignment=Ds;var Ps=function(e){I(n,U_);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e)).Name=r,s.Description=i,s.Representations=a,s.type=2095639259,s}return P(n)}();e.IfcProductRepresentation=Ps;var Rs=function(e){I(n,U_);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).ProfileType=r,a.ProfileName=i,a.type=3958567839,a}return P(n)}();e.IfcProfileDef=Rs;var Cs=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u){var c;return b(this,n),(c=t.call(this,e,r,i,a,s)).Name=r,c.Description=i,c.GeodeticDatum=a,c.VerticalDatum=s,c.MapProjection=o,c.MapZone=l,c.MapUnit=u,c.type=3843373140,c}return P(n)}(xa);e.IfcProjectedCRS=Cs;var _s=function(e){I(n,U_);var t=m(n);function n(e){var r;return b(this,n),(r=t.call(this,e)).type=986844984,r}return P(n)}();e.IfcPropertyAbstraction=_s;var Bs=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e)).Name=r,s.EnumerationValues=i,s.Unit=a,s.type=3710013099,s}return P(n)}(_s);e.IfcPropertyEnumeration=Bs;var Os=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e,r,i,a)).Name=r,l.Description=i,l.Unit=a,l.AreaValue=s,l.Formula=o,l.type=2044713172,l}return P(n)}(ms);e.IfcQuantityArea=Os;var Ss=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e,r,i,a)).Name=r,l.Description=i,l.Unit=a,l.CountValue=s,l.Formula=o,l.type=2093928680,l}return P(n)}(ms);e.IfcQuantityCount=Ss;var Ns=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e,r,i,a)).Name=r,l.Description=i,l.Unit=a,l.LengthValue=s,l.Formula=o,l.type=931644368,l}return P(n)}(ms);e.IfcQuantityLength=Ns;var Ls=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e,r,i,a)).Name=r,l.Description=i,l.Unit=a,l.TimeValue=s,l.Formula=o,l.type=3252649465,l}return P(n)}(ms);e.IfcQuantityTime=Ls;var xs=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e,r,i,a)).Name=r,l.Description=i,l.Unit=a,l.VolumeValue=s,l.Formula=o,l.type=2405470396,l}return P(n)}(ms);e.IfcQuantityVolume=xs;var Ms=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e,r,i,a)).Name=r,l.Description=i,l.Unit=a,l.WeightValue=s,l.Formula=o,l.type=825690147,l}return P(n)}(ms);e.IfcQuantityWeight=Ms;var Fs=function(e){I(n,U_);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e)).RecurrenceType=r,f.DayComponent=i,f.WeekdayComponent=a,f.MonthComponent=s,f.Position=o,f.Interval=l,f.Occurrences=u,f.TimePeriods=c,f.type=3915482550,f}return P(n)}();e.IfcRecurrencePattern=Fs;var Hs=function(e){I(n,U_);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e)).TypeIdentifier=r,l.AttributeIdentifier=i,l.InstanceName=a,l.ListPositions=s,l.InnerReference=o,l.type=2433181523,l}return P(n)}();e.IfcReference=Hs;var Us=function(e){I(n,U_);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e)).ContextOfItems=r,o.RepresentationIdentifier=i,o.RepresentationType=a,o.Items=s,o.type=1076942058,o}return P(n)}();e.IfcRepresentation=Us;var Gs=function(e){I(n,U_);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).ContextIdentifier=r,a.ContextType=i,a.type=3377609919,a}return P(n)}();e.IfcRepresentationContext=Gs;var ks=function(e){I(n,U_);var t=m(n);function n(e){var r;return b(this,n),(r=t.call(this,e)).type=3008791417,r}return P(n)}();e.IfcRepresentationItem=ks;var js=function(e){I(n,U_);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).MappingOrigin=r,a.MappedRepresentation=i,a.type=1660063152,a}return P(n)}();e.IfcRepresentationMap=js;var Vs=function(e){I(n,U_);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).Name=r,a.Description=i,a.type=2439245199,a}return P(n)}();e.IfcResourceLevelRelationship=Vs;var Qs=function(e){I(n,U_);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e)).GlobalId=r,o.OwnerHistory=i,o.Name=a,o.Description=s,o.type=2341007311,o}return P(n)}();e.IfcRoot=Qs;var Ws=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e,new H_(0),r)).UnitType=r,s.Prefix=i,s.Name=a,s.type=448429030,s}return P(n)}(fs);e.IfcSIUnit=Ws;var zs=function(e){I(n,U_);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e)).Name=r,s.DataOrigin=i,s.UserDefinedDataOrigin=a,s.type=1054537805,s}return P(n)}();e.IfcSchedulingTime=zs;var Ks=function(e){I(n,U_);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e)).ShapeRepresentations=r,l.Name=i,l.Description=a,l.ProductDefinitional=s,l.PartOfProductDefinitionShape=o,l.type=867548509,l}return P(n)}();e.IfcShapeAspect=Ks;var Ys=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r,i,a,s)).ContextOfItems=r,o.RepresentationIdentifier=i,o.RepresentationType=a,o.Items=s,o.type=3982875396,o}return P(n)}(Us);e.IfcShapeModel=Ys;var Xs=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r,i,a,s)).ContextOfItems=r,o.RepresentationIdentifier=i,o.RepresentationType=a,o.Items=s,o.type=4240577450,o}return P(n)}(Ys);e.IfcShapeRepresentation=Xs;var qs=function(e){I(n,U_);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e)).Name=r,i.type=2273995522,i}return P(n)}();e.IfcStructuralConnectionCondition=qs;var Js=function(e){I(n,U_);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e)).Name=r,i.type=2162789131,i}return P(n)}();e.IfcStructuralLoad=Js;var Zs=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e,r)).Name=r,s.Values=i,s.Locations=a,s.type=3478079324,s}return P(n)}(Js);e.IfcStructuralLoadConfiguration=Zs;var $s=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e,r)).Name=r,i.type=609421318,i}return P(n)}(Js);e.IfcStructuralLoadOrResult=$s;var eo=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e,r)).Name=r,i.type=2525727697,i}return P(n)}($s);e.IfcStructuralLoadStatic=eo;var to=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r)).Name=r,o.DeltaTConstant=i,o.DeltaTY=a,o.DeltaTZ=s,o.type=3408363356,o}return P(n)}(eo);e.IfcStructuralLoadTemperature=to;var no=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r,i,a,s)).ContextOfItems=r,o.RepresentationIdentifier=i,o.RepresentationType=a,o.Items=s,o.type=2830218821,o}return P(n)}(Us);e.IfcStyleModel=no;var ro=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e)).Item=r,s.Styles=i,s.Name=a,s.type=3958052878,s}return P(n)}(ks);e.IfcStyledItem=ro;var io=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r,i,a,s)).ContextOfItems=r,o.RepresentationIdentifier=i,o.RepresentationType=a,o.Items=s,o.type=3049322572,o}return P(n)}(no);e.IfcStyledRepresentation=io;var ao=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r)).Name=r,o.SurfaceReinforcement1=i,o.SurfaceReinforcement2=a,o.ShearReinforcement=s,o.type=2934153892,o}return P(n)}($s);e.IfcSurfaceReinforcementArea=ao;var so=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e,r)).Name=r,s.Side=i,s.Styles=a,s.type=1300840506,s}return P(n)}(bs);e.IfcSurfaceStyle=so;var oo=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e)).DiffuseTransmissionColour=r,o.DiffuseReflectionColour=i,o.TransmissionColour=a,o.ReflectanceColour=s,o.type=3303107099,o}return P(n)}(gs);e.IfcSurfaceStyleLighting=oo;var lo=function(e){I(n,e);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).RefractionIndex=r,a.DispersionFactor=i,a.type=1607154358,a}return P(n)}(gs);e.IfcSurfaceStyleRefraction=lo;var uo=function(e){I(n,e);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).SurfaceColour=r,a.Transparency=i,a.type=846575682,a}return P(n)}(gs);e.IfcSurfaceStyleShading=uo;var co=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e)).Textures=r,i.type=1351298697,i}return P(n)}(gs);e.IfcSurfaceStyleWithTextures=co;var fo=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e)).RepeatS=r,l.RepeatT=i,l.Mode=a,l.TextureTransform=s,l.Parameter=o,l.type=626085974,l}return P(n)}(gs);e.IfcSurfaceTexture=fo;var po=function(e){I(n,U_);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e)).Name=r,s.Rows=i,s.Columns=a,s.type=985171141,s}return P(n)}();e.IfcTable=po;var Ao=function(e){I(n,U_);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e)).Identifier=r,l.Name=i,l.Description=a,l.Unit=s,l.ReferencePath=o,l.type=2043862942,l}return P(n)}();e.IfcTableColumn=Ao;var vo=function(e){I(n,U_);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).RowCells=r,a.IsHeading=i,a.type=531007025,a}return P(n)}();e.IfcTableRow=vo;var ho=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A,d,v,h,I,y,m,w,g,E){var T;return b(this,n),(T=t.call(this,e,r,i,a)).Name=r,T.DataOrigin=i,T.UserDefinedDataOrigin=a,T.DurationType=s,T.ScheduleDuration=o,T.ScheduleStart=l,T.ScheduleFinish=u,T.EarlyStart=c,T.EarlyFinish=f,T.LateStart=p,T.LateFinish=A,T.FreeFloat=d,T.TotalFloat=v,T.IsCritical=h,T.StatusTime=I,T.ActualDuration=y,T.ActualStart=m,T.ActualFinish=w,T.RemainingTime=g,T.Completion=E,T.type=1549132990,T}return P(n)}(zs);e.IfcTaskTime=ho;var Io=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A,d,v,h,I,y,m,w,g,E,T){var D;return b(this,n),(D=t.call(this,e,r,i,a,s,o,l,u,c,f,p,A,d,v,h,I,y,m,w,g,E)).Name=r,D.DataOrigin=i,D.UserDefinedDataOrigin=a,D.DurationType=s,D.ScheduleDuration=o,D.ScheduleStart=l,D.ScheduleFinish=u,D.EarlyStart=c,D.EarlyFinish=f,D.LateStart=p,D.LateFinish=A,D.FreeFloat=d,D.TotalFloat=v,D.IsCritical=h,D.StatusTime=I,D.ActualDuration=y,D.ActualStart=m,D.ActualFinish=w,D.RemainingTime=g,D.Completion=E,D.Recurrence=T,D.type=2771591690,D}return P(n)}(ho);e.IfcTaskTimeRecurring=Io;var yo=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a)).Purpose=r,p.Description=i,p.UserDefinedPurpose=a,p.TelephoneNumbers=s,p.FacsimileNumbers=o,p.PagerNumber=l,p.ElectronicMailAddresses=u,p.WWWHomePageURL=c,p.MessagingIDs=f,p.type=912023232,p}return P(n)}(wa);e.IfcTelecomAddress=yo;var mo=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e,r)).Name=r,l.TextCharacterAppearance=i,l.TextStyle=a,l.TextFontStyle=s,l.ModelOrDraughting=o,l.type=1447204868,l}return P(n)}(bs);e.IfcTextStyle=mo;var wo=function(e){I(n,e);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).Colour=r,a.BackgroundColour=i,a.type=2636378356,a}return P(n)}(gs);e.IfcTextStyleForDefinedFont=wo;var go=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u){var c;return b(this,n),(c=t.call(this,e)).TextIndent=r,c.TextAlign=i,c.TextDecoration=a,c.LetterSpacing=s,c.WordSpacing=o,c.TextTransform=l,c.LineHeight=u,c.type=1640371178,c}return P(n)}(gs);e.IfcTextStyleTextModel=go;var Eo=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e)).Maps=r,i.type=280115917,i}return P(n)}(gs);e.IfcTextureCoordinate=Eo;var To=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e,r)).Maps=r,s.Mode=i,s.Parameter=a,s.type=1742049831,s}return P(n)}(Eo);e.IfcTextureCoordinateGenerator=To;var bo=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e,r)).Maps=r,s.Vertices=i,s.MappedTo=a,s.type=2552916305,s}return P(n)}(Eo);e.IfcTextureMap=bo;var Do=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e)).Coordinates=r,i.type=1210645708,i}return P(n)}(gs);e.IfcTextureVertex=Do;var Po=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e)).TexCoordsList=r,i.type=3611470254,i}return P(n)}(gs);e.IfcTextureVertexList=Po;var Ro=function(e){I(n,U_);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).StartTime=r,a.EndTime=i,a.type=1199560280,a}return P(n)}();e.IfcTimePeriod=Ro;var Co=function(e){I(n,U_);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e)).Name=r,f.Description=i,f.StartTime=a,f.EndTime=s,f.TimeSeriesDataType=o,f.DataOrigin=l,f.UserDefinedDataOrigin=u,f.Unit=c,f.type=3101149627,f}return P(n)}();e.IfcTimeSeries=Co;var _o=function(e){I(n,U_);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e)).ListValues=r,i.type=581633288,i}return P(n)}();e.IfcTimeSeriesValue=_o;var Bo=function(e){I(n,e);var t=m(n);function n(e){var r;return b(this,n),(r=t.call(this,e)).type=1377556343,r}return P(n)}(ks);e.IfcTopologicalRepresentationItem=Bo;var Oo=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r,i,a,s)).ContextOfItems=r,o.RepresentationIdentifier=i,o.RepresentationType=a,o.Items=s,o.type=1735638870,o}return P(n)}(Ys);e.IfcTopologyRepresentation=Oo;var So=function(e){I(n,U_);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e)).Units=r,i.type=180925521,i}return P(n)}();e.IfcUnitAssignment=So;var No=function(e){I(n,e);var t=m(n);function n(e){var r;return b(this,n),(r=t.call(this,e)).type=2799835756,r}return P(n)}(Bo);e.IfcVertex=No;var Lo=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e)).VertexGeometry=r,i.type=1907098498,i}return P(n)}(No);e.IfcVertexPoint=Lo;var xo=function(e){I(n,U_);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).IntersectingAxes=r,a.OffsetDistances=i,a.type=891718957,a}return P(n)}();e.IfcVirtualGridIntersection=xo;var Mo=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r,i,a)).Name=r,u.DataOrigin=i,u.UserDefinedDataOrigin=a,u.RecurrencePattern=s,u.Start=o,u.Finish=l,u.type=1236880293,u}return P(n)}(zs);e.IfcWorkTime=Mo;var Fo=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r,i)).Name=r,o.Description=i,o.RelatingApproval=a,o.RelatedApprovals=s,o.type=3869604511,o}return P(n)}(Vs);e.IfcApprovalRelationship=Fo;var Ho=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e,r,i)).ProfileType=r,s.ProfileName=i,s.OuterCurve=a,s.type=3798115385,s}return P(n)}(Rs);e.IfcArbitraryClosedProfileDef=Ho;var Uo=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e,r,i)).ProfileType=r,s.ProfileName=i,s.Curve=a,s.type=1310608509,s}return P(n)}(Rs);e.IfcArbitraryOpenProfileDef=Uo;var Go=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r,i,a)).ProfileType=r,o.ProfileName=i,o.OuterCurve=a,o.InnerCurves=s,o.type=2705031697,o}return P(n)}(Ho);e.IfcArbitraryProfileDefWithVoids=Go;var ko=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u){var c;return b(this,n),(c=t.call(this,e,r,i,a,s,o)).RepeatS=r,c.RepeatT=i,c.Mode=a,c.TextureTransform=s,c.Parameter=o,c.RasterFormat=l,c.RasterCode=u,c.type=616511568,c}return P(n)}(fo);e.IfcBlobTexture=ko;var jo=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r,i,a)).ProfileType=r,o.ProfileName=i,o.Curve=a,o.Thickness=s,o.type=3150382593,o}return P(n)}(Uo);e.IfcCenterLineProfileDef=jo;var Vo=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u){var c;return b(this,n),(c=t.call(this,e)).Source=r,c.Edition=i,c.EditionDate=a,c.Name=s,c.Description=o,c.Location=l,c.ReferenceTokens=u,c.type=747523909,c}return P(n)}(Ga);e.IfcClassification=Vo;var Qo=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r,i,a)).Location=r,u.Identification=i,u.Name=a,u.ReferencedSource=s,u.Description=o,u.Sort=l,u.type=647927063,u}return P(n)}(ka);e.IfcClassificationReference=Qo;var Wo=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e)).ColourList=r,i.type=3285139300,i}return P(n)}(gs);e.IfcColourRgbList=Wo;var zo=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e)).Name=r,i.type=3264961684,i}return P(n)}(gs);e.IfcColourSpecification=zo;var Ko=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r,i)).ProfileType=r,o.ProfileName=i,o.Profiles=a,o.Label=s,o.type=1485152156,o}return P(n)}(Rs);e.IfcCompositeProfileDef=Ko;var Yo=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e)).CfsFaces=r,i.type=370225590,i}return P(n)}(Bo);e.IfcConnectedFaceSet=Yo;var Xo=function(e){I(n,e);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).CurveOnRelatingElement=r,a.CurveOnRelatedElement=i,a.type=1981873012,a}return P(n)}(_a);e.IfcConnectionCurveGeometry=Xo;var qo=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e,r,i)).PointOnRelatingElement=r,l.PointOnRelatedElement=i,l.EccentricityInX=a,l.EccentricityInY=s,l.EccentricityInZ=o,l.type=45288368,l}return P(n)}(Ba);e.IfcConnectionPointEccentricity=qo;var Jo=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e,r,i)).Dimensions=r,s.UnitType=i,s.Name=a,s.type=3050246964,s}return P(n)}(fs);e.IfcContextDependentUnit=Jo;var Zo=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r,i)).Dimensions=r,o.UnitType=i,o.Name=a,o.ConversionFactor=s,o.type=2889183280,o}return P(n)}(fs);e.IfcConversionBasedUnit=Zo;var $o=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e,r,i,a,s)).Dimensions=r,l.UnitType=i,l.Name=a,l.ConversionFactor=s,l.ConversionOffset=o,l.type=2713554722,l}return P(n)}(Zo);e.IfcConversionBasedUnitWithOffset=$o;var el=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u){var c;return b(this,n),(c=t.call(this,e,r,i)).Name=r,c.Description=i,c.RelatingMonetaryUnit=a,c.RelatedMonetaryUnit=s,c.ExchangeRate=o,c.RateDateTime=l,c.RateSource=u,c.type=539742890,c}return P(n)}(Vs);e.IfcCurrencyRelationship=el;var tl=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e,r)).Name=r,l.CurveFont=i,l.CurveWidth=a,l.CurveColour=s,l.ModelOrDraughting=o,l.type=3800577675,l}return P(n)}(bs);e.IfcCurveStyle=tl;var nl=function(e){I(n,e);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).Name=r,a.PatternList=i,a.type=1105321065,a}return P(n)}(gs);e.IfcCurveStyleFont=nl;var rl=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e)).Name=r,s.CurveFont=i,s.CurveFontScaling=a,s.type=2367409068,s}return P(n)}(gs);e.IfcCurveStyleFontAndScaling=rl;var il=function(e){I(n,e);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).VisibleSegmentLength=r,a.InvisibleSegmentLength=i,a.type=3510044353,a}return P(n)}(gs);e.IfcCurveStyleFontPattern=il;var al=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e,r,i)).ProfileType=r,l.ProfileName=i,l.ParentProfile=a,l.Operator=s,l.Label=o,l.type=3632507154,l}return P(n)}(Rs);e.IfcDerivedProfileDef=al;var sl=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A,d,v,h,I,y,m){var w;return b(this,n),(w=t.call(this,e)).Identification=r,w.Name=i,w.Description=a,w.Location=s,w.Purpose=o,w.IntendedUse=l,w.Scope=u,w.Revision=c,w.DocumentOwner=f,w.Editors=p,w.CreationTime=A,w.LastRevisionTime=d,w.ElectronicFormat=v,w.ValidFrom=h,w.ValidUntil=I,w.Confidentiality=y,w.Status=m,w.type=1154170062,w}return P(n)}(Ga);e.IfcDocumentInformation=sl;var ol=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e,r,i)).Name=r,l.Description=i,l.RelatingDocument=a,l.RelatedDocuments=s,l.RelationshipType=o,l.type=770865208,l}return P(n)}(Vs);e.IfcDocumentInformationRelationship=ol;var ll=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e,r,i,a)).Location=r,l.Identification=i,l.Name=a,l.Description=s,l.ReferencedDocument=o,l.type=3732053477,l}return P(n)}(ka);e.IfcDocumentReference=ll;var ul=function(e){I(n,e);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).EdgeStart=r,a.EdgeEnd=i,a.type=3900360178,a}return P(n)}(Bo);e.IfcEdge=ul;var cl=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r,i)).EdgeStart=r,o.EdgeEnd=i,o.EdgeGeometry=a,o.SameSense=s,o.type=476780140,o}return P(n)}(ul);e.IfcEdgeCurve=cl;var fl=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u){var c;return b(this,n),(c=t.call(this,e,r,i,a)).Name=r,c.DataOrigin=i,c.UserDefinedDataOrigin=a,c.ActualDate=s,c.EarlyDate=o,c.LateDate=l,c.ScheduleDate=u,c.type=211053100,c}return P(n)}(zs);e.IfcEventTime=fl;var pl=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e)).Name=r,s.Description=i,s.Properties=a,s.type=297599258,s}return P(n)}(_s);e.IfcExtendedProperties=pl;var Al=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r,i)).Name=r,o.Description=i,o.RelatingReference=a,o.RelatedResourceObjects=s,o.type=1437805879,o}return P(n)}(Vs);e.IfcExternalReferenceRelationship=Al;var dl=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e)).Bounds=r,i.type=2556980723,i}return P(n)}(Bo);e.IfcFace=dl;var vl=function(e){I(n,e);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).Bound=r,a.Orientation=i,a.type=1809719519,a}return P(n)}(Bo);e.IfcFaceBound=vl;var hl=function(e){I(n,e);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e,r,i)).Bound=r,a.Orientation=i,a.type=803316827,a}return P(n)}(vl);e.IfcFaceOuterBound=hl;var Il=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e,r)).Bounds=r,s.FaceSurface=i,s.SameSense=a,s.type=3008276851,s}return P(n)}(dl);e.IfcFaceSurface=Il;var yl=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u){var c;return b(this,n),(c=t.call(this,e,r)).Name=r,c.TensionFailureX=i,c.TensionFailureY=a,c.TensionFailureZ=s,c.CompressionFailureX=o,c.CompressionFailureY=l,c.CompressionFailureZ=u,c.type=4219587988,c}return P(n)}(qs);e.IfcFailureConnectionCondition=yl;var ml=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e,r)).Name=r,s.FillStyles=i,s.ModelorDraughting=a,s.type=738692330,s}return P(n)}(bs);e.IfcFillAreaStyle=ml;var wl=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r,i)).ContextIdentifier=r,u.ContextType=i,u.CoordinateSpaceDimension=a,u.Precision=s,u.WorldCoordinateSystem=o,u.TrueNorth=l,u.type=3448662350,u}return P(n)}(Gs);e.IfcGeometricRepresentationContext=wl;var gl=function(e){I(n,e);var t=m(n);function n(e){var r;return b(this,n),(r=t.call(this,e)).type=2453401579,r}return P(n)}(ks);e.IfcGeometricRepresentationItem=gl;var El=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r,i,new D(0),null,new H_(0),null)).ContextIdentifier=r,u.ContextType=i,u.ParentContext=a,u.TargetScale=s,u.TargetView=o,u.UserDefinedTargetView=l,u.type=4142052618,u}return P(n)}(wl);e.IfcGeometricRepresentationSubContext=El;var Tl=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e)).Elements=r,i.type=3590301190,i}return P(n)}(gl);e.IfcGeometricSet=Tl;var bl=function(e){I(n,e);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).PlacementLocation=r,a.PlacementRefDirection=i,a.type=178086475,a}return P(n)}(ps);e.IfcGridPlacement=bl;var Dl=function(e){I(n,e);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).BaseSurface=r,a.AgreementFlag=i,a.type=812098782,a}return P(n)}(gl);e.IfcHalfSpaceSolid=Dl;var Pl=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r,i,a,s,o)).RepeatS=r,u.RepeatT=i,u.Mode=a,u.TextureTransform=s,u.Parameter=o,u.URLReference=l,u.type=3905492369,u}return P(n)}(fo);e.IfcImageTexture=Pl;var Rl=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e)).MappedTo=r,o.Opacity=i,o.Colours=a,o.ColourIndex=s,o.type=3570813810,o}return P(n)}(gs);e.IfcIndexedColourMap=Rl;var Cl=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e,r)).Maps=r,s.MappedTo=i,s.TexCoords=a,s.type=1437953363,s}return P(n)}(Eo);e.IfcIndexedTextureMap=Cl;var _l=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r,i,a)).Maps=r,o.MappedTo=i,o.TexCoords=a,o.TexCoordIndex=s,o.type=2133299955,o}return P(n)}(Cl);e.IfcIndexedTriangleTextureMap=_l;var Bl=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).Name=r,p.Description=i,p.StartTime=a,p.EndTime=s,p.TimeSeriesDataType=o,p.DataOrigin=l,p.UserDefinedDataOrigin=u,p.Unit=c,p.Values=f,p.type=3741457305,p}return P(n)}(Co);e.IfcIrregularTimeSeries=Bl;var Ol=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e,r,i,a)).Name=r,l.DataOrigin=i,l.UserDefinedDataOrigin=a,l.LagValue=s,l.DurationType=o,l.type=1585845231,l}return P(n)}(zs);e.IfcLagTime=Ol;var Sl=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e)).Name=r,o.LightColour=i,o.AmbientIntensity=a,o.Intensity=s,o.type=1402838566,o}return P(n)}(gl);e.IfcLightSource=Sl;var Nl=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r,i,a,s)).Name=r,o.LightColour=i,o.AmbientIntensity=a,o.Intensity=s,o.type=125510826,o}return P(n)}(Sl);e.IfcLightSourceAmbient=Nl;var Ll=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e,r,i,a,s)).Name=r,l.LightColour=i,l.AmbientIntensity=a,l.Intensity=s,l.Orientation=o,l.type=2604431987,l}return P(n)}(Sl);e.IfcLightSourceDirectional=Ll;var xl=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s)).Name=r,A.LightColour=i,A.AmbientIntensity=a,A.Intensity=s,A.Position=o,A.ColourAppearance=l,A.ColourTemperature=u,A.LuminousFlux=c,A.LightEmissionSource=f,A.LightDistributionDataSource=p,A.type=4266656042,A}return P(n)}(Sl);e.IfcLightSourceGoniometric=xl;var Ml=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s)).Name=r,p.LightColour=i,p.AmbientIntensity=a,p.Intensity=s,p.Position=o,p.Radius=l,p.ConstantAttenuation=u,p.DistanceAttenuation=c,p.QuadricAttenuation=f,p.type=1520743889,p}return P(n)}(Sl);e.IfcLightSourcePositional=Ml;var Fl=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A,d,v){var h;return b(this,n),(h=t.call(this,e,r,i,a,s,o,l,u,c,f)).Name=r,h.LightColour=i,h.AmbientIntensity=a,h.Intensity=s,h.Position=o,h.Radius=l,h.ConstantAttenuation=u,h.DistanceAttenuation=c,h.QuadricAttenuation=f,h.Orientation=p,h.ConcentrationExponent=A,h.SpreadAngle=d,h.BeamWidthAngle=v,h.type=3422422726,h}return P(n)}(Ml);e.IfcLightSourceSpot=Fl;var Hl=function(e){I(n,e);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).PlacementRelTo=r,a.RelativePlacement=i,a.type=2624227202,a}return P(n)}(ps);e.IfcLocalPlacement=Hl;var Ul=function(e){I(n,e);var t=m(n);function n(e){var r;return b(this,n),(r=t.call(this,e)).type=1008929658,r}return P(n)}(Bo);e.IfcLoop=Ul;var Gl=function(e){I(n,e);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).MappingSource=r,a.MappingTarget=i,a.type=2347385850,a}return P(n)}(ks);e.IfcMappedItem=Gl;var kl=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e)).Name=r,s.Description=i,s.Category=a,s.type=1838606355,s}return P(n)}($a);e.IfcMaterial=kl;var jl=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e)).Name=r,l.Description=i,l.Material=a,l.Fraction=s,l.Category=o,l.type=3708119e3,l}return P(n)}($a);e.IfcMaterialConstituent=jl;var Vl=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e)).Name=r,s.Description=i,s.MaterialConstituents=a,s.type=2852063980,s}return P(n)}($a);e.IfcMaterialConstituentSet=Vl;var Ql=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r,i,a)).Name=r,o.Description=i,o.Representations=a,o.RepresentedMaterial=s,o.type=2022407955,o}return P(n)}(Ps);e.IfcMaterialDefinitionRepresentation=Ql;var Wl=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e)).ForLayerSet=r,l.LayerSetDirection=i,l.DirectionSense=a,l.OffsetFromReferenceLine=s,l.ReferenceExtent=o,l.type=1303795690,l}return P(n)}(os);e.IfcMaterialLayerSetUsage=Wl;var zl=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e)).ForProfileSet=r,s.CardinalPoint=i,s.ReferenceExtent=a,s.type=3079605661,s}return P(n)}(os);e.IfcMaterialProfileSetUsage=zl;var Kl=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e,r,i,a)).ForProfileSet=r,l.CardinalPoint=i,l.ReferenceExtent=a,l.ForProfileEndSet=s,l.CardinalEndPoint=o,l.type=3404854881,l}return P(n)}(zl);e.IfcMaterialProfileSetUsageTapering=Kl;var Yl=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r,i,a)).Name=r,o.Description=i,o.Properties=a,o.Material=s,o.type=3265635763,o}return P(n)}(pl);e.IfcMaterialProperties=Yl;var Xl=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e,r,i)).Name=r,l.Description=i,l.RelatingMaterial=a,l.RelatedMaterials=s,l.Expression=o,l.type=853536259,l}return P(n)}(Vs);e.IfcMaterialRelationship=Xl;var ql=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r,i,a,new H_(0),s)).ProfileType=r,o.ProfileName=i,o.ParentProfile=a,o.Label=s,o.type=2998442950,o}return P(n)}(al);e.IfcMirroredProfileDef=ql;var Jl=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r,i,a,s)).GlobalId=r,o.OwnerHistory=i,o.Name=a,o.Description=s,o.type=219451334,o}return P(n)}(Qs);e.IfcObjectDefinition=Jl;var Zl=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e,r)).CfsFaces=r,i.type=2665983363,i}return P(n)}(Yo);e.IfcOpenShell=Zl;var $l=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r,i)).Name=r,o.Description=i,o.RelatingOrganization=a,o.RelatedOrganizations=s,o.type=1411181986,o}return P(n)}(Vs);e.IfcOrganizationRelationship=$l;var eu=function(e){I(n,e);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e,new H_(0),new H_(0))).EdgeElement=r,a.Orientation=i,a.type=1029017970,a}return P(n)}(ul);e.IfcOrientedEdge=eu;var tu=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e,r,i)).ProfileType=r,s.ProfileName=i,s.Position=a,s.type=2529465313,s}return P(n)}(Rs);e.IfcParameterizedProfileDef=tu;var nu=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e)).EdgeList=r,i.type=2519244187,i}return P(n)}(Bo);e.IfcPath=nu;var ru=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r,i)).Name=r,u.Description=i,u.HasQuantities=a,u.Discrimination=s,u.Quality=o,u.Usage=l,u.type=3021840470,u}return P(n)}(ys);e.IfcPhysicalComplexQuantity=ru;var iu=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o)).RepeatS=r,p.RepeatT=i,p.Mode=a,p.TextureTransform=s,p.Parameter=o,p.Width=l,p.Height=u,p.ColourComponents=c,p.Pixel=f,p.type=597895409,p}return P(n)}(fo);e.IfcPixelTexture=iu;var au=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e)).Location=r,i.type=2004835150,i}return P(n)}(gl);e.IfcPlacement=au;var su=function(e){I(n,e);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).SizeInX=r,a.SizeInY=i,a.type=1663979128,a}return P(n)}(gl);e.IfcPlanarExtent=su;var ou=function(e){I(n,e);var t=m(n);function n(e){var r;return b(this,n),(r=t.call(this,e)).type=2067069095,r}return P(n)}(gl);e.IfcPoint=ou;var lu=function(e){I(n,e);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).BasisCurve=r,a.PointParameter=i,a.type=4022376103,a}return P(n)}(ou);e.IfcPointOnCurve=lu;var uu=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e)).BasisSurface=r,s.PointParameterU=i,s.PointParameterV=a,s.type=1423911732,s}return P(n)}(ou);e.IfcPointOnSurface=uu;var cu=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e)).Polygon=r,i.type=2924175390,i}return P(n)}(Ul);e.IfcPolyLoop=cu;var fu=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r,i)).BaseSurface=r,o.AgreementFlag=i,o.Position=a,o.PolygonalBoundary=s,o.type=2775532180,o}return P(n)}(Dl);e.IfcPolygonalBoundedHalfSpace=fu;var pu=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e)).Name=r,i.type=3727388367,i}return P(n)}(gs);e.IfcPreDefinedItem=pu;var Au=function(e){I(n,e);var t=m(n);function n(e){var r;return b(this,n),(r=t.call(this,e)).type=3778827333,r}return P(n)}(_s);e.IfcPreDefinedProperties=Au;var du=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e,r)).Name=r,i.type=1775413392,i}return P(n)}(pu);e.IfcPreDefinedTextFont=du;var vu=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e,r,i,a)).Name=r,s.Description=i,s.Representations=a,s.type=673634403,s}return P(n)}(Ps);e.IfcProductDefinitionShape=vu;var hu=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r,i,a)).Name=r,o.Description=i,o.Properties=a,o.ProfileDefinition=s,o.type=2802850158,o}return P(n)}(pl);e.IfcProfileProperties=hu;var Iu=function(e){I(n,e);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).Name=r,a.Description=i,a.type=2598011224,a}return P(n)}(_s);e.IfcProperty=Iu;var yu=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r,i,a,s)).GlobalId=r,o.OwnerHistory=i,o.Name=a,o.Description=s,o.type=1680319473,o}return P(n)}(Qs);e.IfcPropertyDefinition=yu;var mu=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e,r,i)).Name=r,l.Description=i,l.DependingProperty=a,l.DependantProperty=s,l.Expression=o,l.type=148025276,l}return P(n)}(Vs);e.IfcPropertyDependencyRelationship=mu;var wu=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r,i,a,s)).GlobalId=r,o.OwnerHistory=i,o.Name=a,o.Description=s,o.type=3357820518,o}return P(n)}(yu);e.IfcPropertySetDefinition=wu;var gu=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r,i,a,s)).GlobalId=r,o.OwnerHistory=i,o.Name=a,o.Description=s,o.type=1482703590,o}return P(n)}(yu);e.IfcPropertyTemplateDefinition=gu;var Eu=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r,i,a,s)).GlobalId=r,o.OwnerHistory=i,o.Name=a,o.Description=s,o.type=2090586900,o}return P(n)}(wu);e.IfcQuantitySet=Eu;var Tu=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e,r,i,a)).ProfileType=r,l.ProfileName=i,l.Position=a,l.XDim=s,l.YDim=o,l.type=3615266464,l}return P(n)}(tu);e.IfcRectangleProfileDef=Tu;var bu=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c)).Name=r,A.Description=i,A.StartTime=a,A.EndTime=s,A.TimeSeriesDataType=o,A.DataOrigin=l,A.UserDefinedDataOrigin=u,A.Unit=c,A.TimeStep=f,A.Values=p,A.type=3413951693,A}return P(n)}(Co);e.IfcRegularTimeSeries=bu;var Du=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e)).TotalCrossSectionArea=r,u.SteelGrade=i,u.BarSurface=a,u.EffectiveDepth=s,u.NominalBarDiameter=o,u.BarCount=l,u.type=1580146022,u}return P(n)}(Au);e.IfcReinforcementBarProperties=Du;var Pu=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r,i,a,s)).GlobalId=r,o.OwnerHistory=i,o.Name=a,o.Description=s,o.type=478536968,o}return P(n)}(Qs);e.IfcRelationship=Pu;var Ru=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r,i)).Name=r,o.Description=i,o.RelatedResourceObjects=a,o.RelatingApproval=s,o.type=2943643501,o}return P(n)}(Vs);e.IfcResourceApprovalRelationship=Ru;var Cu=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r,i)).Name=r,o.Description=i,o.RelatingConstraint=a,o.RelatedResourceObjects=s,o.type=1608871552,o}return P(n)}(Vs);e.IfcResourceConstraintRelationship=Cu;var _u=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A,d,v,h,I,y,m,w){var g;return b(this,n),(g=t.call(this,e,r,i,a)).Name=r,g.DataOrigin=i,g.UserDefinedDataOrigin=a,g.ScheduleWork=s,g.ScheduleUsage=o,g.ScheduleStart=l,g.ScheduleFinish=u,g.ScheduleContour=c,g.LevelingDelay=f,g.IsOverAllocated=p,g.StatusTime=A,g.ActualWork=d,g.ActualUsage=v,g.ActualStart=h,g.ActualFinish=I,g.RemainingWork=y,g.RemainingUsage=m,g.Completion=w,g.type=1042787934,g}return P(n)}(zs);e.IfcResourceTime=_u;var Bu=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r,i,a,s,o)).ProfileType=r,u.ProfileName=i,u.Position=a,u.XDim=s,u.YDim=o,u.RoundingRadius=l,u.type=2778083089,u}return P(n)}(Tu);e.IfcRoundedRectangleProfileDef=Bu;var Ou=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e)).SectionType=r,s.StartProfile=i,s.EndProfile=a,s.type=2042790032,s}return P(n)}(Au);e.IfcSectionProperties=Ou;var Su=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e)).LongitudinalStartPosition=r,u.LongitudinalEndPosition=i,u.TransversePosition=a,u.ReinforcementRole=s,u.SectionDefinition=o,u.CrossSectionReinforcementDefinitions=l,u.type=4165799628,u}return P(n)}(Au);e.IfcSectionReinforcementProperties=Su;var Nu=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e)).SpineCurve=r,s.CrossSections=i,s.CrossSectionPositions=a,s.type=1509187699,s}return P(n)}(gl);e.IfcSectionedSpine=Nu;var Lu=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e)).SbsmBoundary=r,i.type=4124623270,i}return P(n)}(gl);e.IfcShellBasedSurfaceModel=Lu;var xu=function(e){I(n,e);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e,r,i)).Name=r,a.Description=i,a.type=3692461612,a}return P(n)}(Iu);e.IfcSimpleProperty=xu;var Mu=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r)).Name=r,o.SlippageX=i,o.SlippageY=a,o.SlippageZ=s,o.type=2609359061,o}return P(n)}(qs);e.IfcSlippageConnectionCondition=Mu;var Fu=function(e){I(n,e);var t=m(n);function n(e){var r;return b(this,n),(r=t.call(this,e)).type=723233188,r}return P(n)}(gl);e.IfcSolidModel=Fu;var Hu=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u){var c;return b(this,n),(c=t.call(this,e,r)).Name=r,c.LinearForceX=i,c.LinearForceY=a,c.LinearForceZ=s,c.LinearMomentX=o,c.LinearMomentY=l,c.LinearMomentZ=u,c.type=1595516126,c}return P(n)}(eo);e.IfcStructuralLoadLinearForce=Hu;var Uu=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r)).Name=r,o.PlanarForceX=i,o.PlanarForceY=a,o.PlanarForceZ=s,o.type=2668620305,o}return P(n)}(eo);e.IfcStructuralLoadPlanarForce=Uu;var Gu=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u){var c;return b(this,n),(c=t.call(this,e,r)).Name=r,c.DisplacementX=i,c.DisplacementY=a,c.DisplacementZ=s,c.RotationalDisplacementRX=o,c.RotationalDisplacementRY=l,c.RotationalDisplacementRZ=u,c.type=2473145415,c}return P(n)}(eo);e.IfcStructuralLoadSingleDisplacement=Gu;var ku=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o,l,u)).Name=r,f.DisplacementX=i,f.DisplacementY=a,f.DisplacementZ=s,f.RotationalDisplacementRX=o,f.RotationalDisplacementRY=l,f.RotationalDisplacementRZ=u,f.Distortion=c,f.type=1973038258,f}return P(n)}(Gu);e.IfcStructuralLoadSingleDisplacementDistortion=ku;var ju=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u){var c;return b(this,n),(c=t.call(this,e,r)).Name=r,c.ForceX=i,c.ForceY=a,c.ForceZ=s,c.MomentX=o,c.MomentY=l,c.MomentZ=u,c.type=1597423693,c}return P(n)}(eo);e.IfcStructuralLoadSingleForce=ju;var Vu=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o,l,u)).Name=r,f.ForceX=i,f.ForceY=a,f.ForceZ=s,f.MomentX=o,f.MomentY=l,f.MomentZ=u,f.WarpingMoment=c,f.type=1190533807,f}return P(n)}(ju);e.IfcStructuralLoadSingleForceWarping=Vu;var Qu=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e,r,i)).EdgeStart=r,s.EdgeEnd=i,s.ParentEdge=a,s.type=2233826070,s}return P(n)}(ul);e.IfcSubedge=Qu;var Wu=function(e){I(n,e);var t=m(n);function n(e){var r;return b(this,n),(r=t.call(this,e)).type=2513912981,r}return P(n)}(gl);e.IfcSurface=Wu;var zu=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i)).SurfaceColour=r,p.Transparency=i,p.DiffuseColour=a,p.TransmissionColour=s,p.DiffuseTransmissionColour=o,p.ReflectionColour=l,p.SpecularColour=u,p.SpecularHighlight=c,p.ReflectanceMethod=f,p.type=1878645084,p}return P(n)}(uo);e.IfcSurfaceStyleRendering=zu;var Ku=function(e){I(n,e);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).SweptArea=r,a.Position=i,a.type=2247615214,a}return P(n)}(Fu);e.IfcSweptAreaSolid=Ku;var Yu=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e)).Directrix=r,l.Radius=i,l.InnerRadius=a,l.StartParam=s,l.EndParam=o,l.type=1260650574,l}return P(n)}(Fu);e.IfcSweptDiskSolid=Yu;var Xu=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r,i,a,s,o)).Directrix=r,u.Radius=i,u.InnerRadius=a,u.StartParam=s,u.EndParam=o,u.FilletRadius=l,u.type=1096409881,u}return P(n)}(Yu);e.IfcSweptDiskSolidPolygonal=Xu;var qu=function(e){I(n,e);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).SweptCurve=r,a.Position=i,a.type=230924584,a}return P(n)}(Wu);e.IfcSweptSurface=qu;var Ju=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A,d){var v;return b(this,n),(v=t.call(this,e,r,i,a)).ProfileType=r,v.ProfileName=i,v.Position=a,v.Depth=s,v.FlangeWidth=o,v.WebThickness=l,v.FlangeThickness=u,v.FilletRadius=c,v.FlangeEdgeRadius=f,v.WebEdgeRadius=p,v.WebSlope=A,v.FlangeSlope=d,v.type=3071757647,v}return P(n)}(tu);e.IfcTShapeProfileDef=Ju;var Zu=function(e){I(n,e);var t=m(n);function n(e){var r;return b(this,n),(r=t.call(this,e)).type=901063453,r}return P(n)}(gl);e.IfcTessellatedItem=Zu;var $u=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e)).Literal=r,s.Placement=i,s.Path=a,s.type=4282788508,s}return P(n)}(gl);e.IfcTextLiteral=$u;var ec=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e,r,i,a)).Literal=r,l.Placement=i,l.Path=a,l.Extent=s,l.BoxAlignment=o,l.type=3124975700,l}return P(n)}($u);e.IfcTextLiteralWithExtent=ec;var tc=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r)).Name=r,u.FontFamily=i,u.FontStyle=a,u.FontVariant=s,u.FontWeight=o,u.FontSize=l,u.type=1983826977,u}return P(n)}(du);e.IfcTextStyleFontModel=tc;var nc=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u){var c;return b(this,n),(c=t.call(this,e,r,i,a)).ProfileType=r,c.ProfileName=i,c.Position=a,c.BottomXDim=s,c.TopXDim=o,c.YDim=l,c.TopXOffset=u,c.type=2715220739,c}return P(n)}(tu);e.IfcTrapeziumProfileDef=nc;var rc=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r,i,a,s)).GlobalId=r,u.OwnerHistory=i,u.Name=a,u.Description=s,u.ApplicableOccurrence=o,u.HasPropertySets=l,u.type=1628702193,u}return P(n)}(Jl);e.IfcTypeObject=rc;var ic=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ApplicableOccurrence=o,p.HasPropertySets=l,p.Identification=u,p.LongDescription=c,p.ProcessType=f,p.type=3736923433,p}return P(n)}(rc);e.IfcTypeProcess=ic;var ac=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o,l)).GlobalId=r,f.OwnerHistory=i,f.Name=a,f.Description=s,f.ApplicableOccurrence=o,f.HasPropertySets=l,f.RepresentationMaps=u,f.Tag=c,f.type=2347495698,f}return P(n)}(rc);e.IfcTypeProduct=ac;var sc=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ApplicableOccurrence=o,p.HasPropertySets=l,p.Identification=u,p.LongDescription=c,p.ResourceType=f,p.type=3698973494,p}return P(n)}(rc);e.IfcTypeResource=sc;var oc=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a)).ProfileType=r,A.ProfileName=i,A.Position=a,A.Depth=s,A.FlangeWidth=o,A.WebThickness=l,A.FlangeThickness=u,A.FilletRadius=c,A.EdgeRadius=f,A.FlangeSlope=p,A.type=427810014,A}return P(n)}(tu);e.IfcUShapeProfileDef=oc;var lc=function(e){I(n,e);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).Orientation=r,a.Magnitude=i,a.type=1417489154,a}return P(n)}(gl);e.IfcVector=lc;var uc=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e)).LoopVertex=r,i.type=2759199220,i}return P(n)}(Ul);e.IfcVertexLoop=uc;var cc=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A,d){var v;return b(this,n),(v=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,v.OwnerHistory=i,v.Name=a,v.Description=s,v.ApplicableOccurrence=o,v.HasPropertySets=l,v.RepresentationMaps=u,v.Tag=c,v.ConstructionType=f,v.OperationType=p,v.ParameterTakesPrecedence=A,v.Sizeable=d,v.type=1299126871,v}return P(n)}(ac);e.IfcWindowStyle=cc;var fc=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a)).ProfileType=r,p.ProfileName=i,p.Position=a,p.Depth=s,p.FlangeWidth=o,p.WebThickness=l,p.FlangeThickness=u,p.FilletRadius=c,p.EdgeRadius=f,p.type=2543172580,p}return P(n)}(tu);e.IfcZShapeProfileDef=fc;var pc=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e,r,i,a)).Bounds=r,s.FaceSurface=i,s.SameSense=a,s.type=3406155212,s}return P(n)}(Il);e.IfcAdvancedFace=pc;var Ac=function(e){I(n,e);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).OuterBoundary=r,a.InnerBoundaries=i,a.type=669184980,a}return P(n)}(gl);e.IfcAnnotationFillArea=Ac;var dc=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A,d,v,h,I){var y;return b(this,n),(y=t.call(this,e,r,i,a)).ProfileType=r,y.ProfileName=i,y.Position=a,y.BottomFlangeWidth=s,y.OverallDepth=o,y.WebThickness=l,y.BottomFlangeThickness=u,y.BottomFlangeFilletRadius=c,y.TopFlangeWidth=f,y.TopFlangeThickness=p,y.TopFlangeFilletRadius=A,y.BottomFlangeEdgeRadius=d,y.BottomFlangeSlope=v,y.TopFlangeEdgeRadius=h,y.TopFlangeSlope=I,y.type=3207858831,y}return P(n)}(tu);e.IfcAsymmetricIShapeProfileDef=dc;var vc=function(e){I(n,e);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e,r)).Location=r,a.Axis=i,a.type=4261334040,a}return P(n)}(au);e.IfcAxis1Placement=vc;var hc=function(e){I(n,e);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e,r)).Location=r,a.RefDirection=i,a.type=3125803723,a}return P(n)}(au);e.IfcAxis2Placement2D=hc;var Ic=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e,r)).Location=r,s.Axis=i,s.RefDirection=a,s.type=2740243338,s}return P(n)}(au);e.IfcAxis2Placement3D=Ic;var yc=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e)).Operator=r,s.FirstOperand=i,s.SecondOperand=a,s.type=2736907675,s}return P(n)}(gl);e.IfcBooleanResult=yc;var mc=function(e){I(n,e);var t=m(n);function n(e){var r;return b(this,n),(r=t.call(this,e)).type=4182860854,r}return P(n)}(Wu);e.IfcBoundedSurface=mc;var wc=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e)).Corner=r,o.XDim=i,o.YDim=a,o.ZDim=s,o.type=2581212453,o}return P(n)}(gl);e.IfcBoundingBox=wc;var gc=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e,r,i)).BaseSurface=r,s.AgreementFlag=i,s.Enclosure=a,s.type=2713105998,s}return P(n)}(Dl);e.IfcBoxedHalfSpace=gc;var Ec=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a)).ProfileType=r,f.ProfileName=i,f.Position=a,f.Depth=s,f.Width=o,f.WallThickness=l,f.Girth=u,f.InternalFilletRadius=c,f.type=2898889636,f}return P(n)}(tu);e.IfcCShapeProfileDef=Ec;var Tc=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e)).Coordinates=r,i.type=1123145078,i}return P(n)}(ou);e.IfcCartesianPoint=Tc;var bc=function(e){I(n,e);var t=m(n);function n(e){var r;return b(this,n),(r=t.call(this,e)).type=574549367,r}return P(n)}(gl);e.IfcCartesianPointList=bc;var Dc=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e)).CoordList=r,i.type=1675464909,i}return P(n)}(bc);e.IfcCartesianPointList2D=Dc;var Pc=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e)).CoordList=r,i.type=2059837836,i}return P(n)}(bc);e.IfcCartesianPointList3D=Pc;var Rc=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e)).Axis1=r,o.Axis2=i,o.LocalOrigin=a,o.Scale=s,o.type=59481748,o}return P(n)}(gl);e.IfcCartesianTransformationOperator=Rc;var Cc=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r,i,a,s)).Axis1=r,o.Axis2=i,o.LocalOrigin=a,o.Scale=s,o.type=3749851601,o}return P(n)}(Rc);e.IfcCartesianTransformationOperator2D=Cc;var _c=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e,r,i,a,s)).Axis1=r,l.Axis2=i,l.LocalOrigin=a,l.Scale=s,l.Scale2=o,l.type=3486308946,l}return P(n)}(Cc);e.IfcCartesianTransformationOperator2DnonUniform=_c;var Bc=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e,r,i,a,s)).Axis1=r,l.Axis2=i,l.LocalOrigin=a,l.Scale=s,l.Axis3=o,l.type=3331915920,l}return P(n)}(Rc);e.IfcCartesianTransformationOperator3D=Bc;var Oc=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u){var c;return b(this,n),(c=t.call(this,e,r,i,a,s,o)).Axis1=r,c.Axis2=i,c.LocalOrigin=a,c.Scale=s,c.Axis3=o,c.Scale2=l,c.Scale3=u,c.type=1416205885,c}return P(n)}(Bc);e.IfcCartesianTransformationOperator3DnonUniform=Oc;var Sc=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r,i,a)).ProfileType=r,o.ProfileName=i,o.Position=a,o.Radius=s,o.type=1383045692,o}return P(n)}(tu);e.IfcCircleProfileDef=Sc;var Nc=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e,r)).CfsFaces=r,i.type=2205249479,i}return P(n)}(Yo);e.IfcClosedShell=Nc;var Lc=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r)).Name=r,o.Red=i,o.Green=a,o.Blue=s,o.type=776857604,o}return P(n)}(zo);e.IfcColourRgb=Lc;var xc=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r,i)).Name=r,o.Description=i,o.UsageName=a,o.HasProperties=s,o.type=2542286263,o}return P(n)}(Iu);e.IfcComplexProperty=xc;var Mc=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e)).Transition=r,s.SameSense=i,s.ParentCurve=a,s.type=2485617015,s}return P(n)}(gl);e.IfcCompositeCurveSegment=Mc;var Fc=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A){var d;return b(this,n),(d=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,d.OwnerHistory=i,d.Name=a,d.Description=s,d.ApplicableOccurrence=o,d.HasPropertySets=l,d.Identification=u,d.LongDescription=c,d.ResourceType=f,d.BaseCosts=p,d.BaseQuantity=A,d.type=2574617495,d}return P(n)}(sc);e.IfcConstructionResourceType=Fc;var Hc=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.LongName=l,p.Phase=u,p.RepresentationContexts=c,p.UnitsInContext=f,p.type=3419103109,p}return P(n)}(Jl);e.IfcContext=Hc;var Uc=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A,d){var v;return b(this,n),(v=t.call(this,e,r,i,a,s,o,l,u,c,f,p,A)).GlobalId=r,v.OwnerHistory=i,v.Name=a,v.Description=s,v.ApplicableOccurrence=o,v.HasPropertySets=l,v.Identification=u,v.LongDescription=c,v.ResourceType=f,v.BaseCosts=p,v.BaseQuantity=A,v.PredefinedType=d,v.type=1815067380,v}return P(n)}(Fc);e.IfcCrewResourceType=Uc;var Gc=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e)).Position=r,i.type=2506170314,i}return P(n)}(gl);e.IfcCsgPrimitive3D=Gc;var kc=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e)).TreeRootExpression=r,i.type=2147822146,i}return P(n)}(Fu);e.IfcCsgSolid=kc;var jc=function(e){I(n,e);var t=m(n);function n(e){var r;return b(this,n),(r=t.call(this,e)).type=2601014836,r}return P(n)}(gl);e.IfcCurve=jc;var Vc=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e)).BasisSurface=r,s.OuterBoundary=i,s.InnerBoundaries=a,s.type=2827736869,s}return P(n)}(mc);e.IfcCurveBoundedPlane=Vc;var Qc=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e)).BasisSurface=r,s.Boundaries=i,s.ImplicitOuter=a,s.type=2629017746,s}return P(n)}(mc);e.IfcCurveBoundedSurface=Qc;var Wc=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e)).DirectionRatios=r,i.type=32440307,i}return P(n)}(gl);e.IfcDirection=Wc;var zc=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A,d){var v;return b(this,n),(v=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,v.OwnerHistory=i,v.Name=a,v.Description=s,v.ApplicableOccurrence=o,v.HasPropertySets=l,v.RepresentationMaps=u,v.Tag=c,v.OperationType=f,v.ConstructionType=p,v.ParameterTakesPrecedence=A,v.Sizeable=d,v.type=526551008,v}return P(n)}(ac);e.IfcDoorStyle=zc;var Kc=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e)).EdgeList=r,i.type=1472233963,i}return P(n)}(Ul);e.IfcEdgeLoop=Kc;var Yc=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r,i,a,s)).GlobalId=r,u.OwnerHistory=i,u.Name=a,u.Description=s,u.MethodOfMeasurement=o,u.Quantities=l,u.type=1883228015,u}return P(n)}(Eu);e.IfcElementQuantity=Yc;var Xc=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ApplicableOccurrence=o,p.HasPropertySets=l,p.RepresentationMaps=u,p.Tag=c,p.ElementType=f,p.type=339256511,p}return P(n)}(ac);e.IfcElementType=Xc;var qc=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e)).Position=r,i.type=2777663545,i}return P(n)}(Wu);e.IfcElementarySurface=qc;var Jc=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e,r,i,a)).ProfileType=r,l.ProfileName=i,l.Position=a,l.SemiAxis1=s,l.SemiAxis2=o,l.type=2835456948,l}return P(n)}(tu);e.IfcEllipseProfileDef=Jc;var Zc=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A,d){var v;return b(this,n),(v=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,v.OwnerHistory=i,v.Name=a,v.Description=s,v.ApplicableOccurrence=o,v.HasPropertySets=l,v.Identification=u,v.LongDescription=c,v.ProcessType=f,v.PredefinedType=p,v.EventTriggerType=A,v.UserDefinedEventTriggerType=d,v.type=4024345920,v}return P(n)}(ic);e.IfcEventType=Zc;var $c=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r,i)).SweptArea=r,o.Position=i,o.ExtrudedDirection=a,o.Depth=s,o.type=477187591,o}return P(n)}(Ku);e.IfcExtrudedAreaSolid=$c;var ef=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e,r,i,a,s)).SweptArea=r,l.Position=i,l.ExtrudedDirection=a,l.Depth=s,l.EndSweptArea=o,l.type=2804161546,l}return P(n)}($c);e.IfcExtrudedAreaSolidTapered=ef;var tf=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e)).FbsmFaces=r,i.type=2047409740,i}return P(n)}(gl);e.IfcFaceBasedSurfaceModel=tf;var nf=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e)).HatchLineAppearance=r,l.StartOfNextHatchLine=i,l.PointOfReferenceHatchLine=a,l.PatternStart=s,l.HatchLineAngle=o,l.type=374418227,l}return P(n)}(gl);e.IfcFillAreaStyleHatching=nf;var rf=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e)).TilingPattern=r,s.Tiles=i,s.TilingScale=a,s.type=315944413,s}return P(n)}(gl);e.IfcFillAreaStyleTiles=rf;var af=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r,i)).SweptArea=r,u.Position=i,u.Directrix=a,u.StartParam=s,u.EndParam=o,u.FixedReference=l,u.type=2652556860,u}return P(n)}(Ku);e.IfcFixedReferenceSweptAreaSolid=af;var sf=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ApplicableOccurrence=o,p.HasPropertySets=l,p.RepresentationMaps=u,p.Tag=c,p.ElementType=f,p.type=4238390223,p}return P(n)}(Xc);e.IfcFurnishingElementType=sf;var of=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A){var d;return b(this,n),(d=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,d.OwnerHistory=i,d.Name=a,d.Description=s,d.ApplicableOccurrence=o,d.HasPropertySets=l,d.RepresentationMaps=u,d.Tag=c,d.ElementType=f,d.AssemblyPlace=p,d.PredefinedType=A,d.type=1268542332,d}return P(n)}(sf);e.IfcFurnitureType=of;var lf=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=4095422895,A}return P(n)}(Xc);e.IfcGeographicElementType=lf;var uf=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e,r)).Elements=r,i.type=987898635,i}return P(n)}(Tl);e.IfcGeometricCurveSet=uf;var cf=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a)).ProfileType=r,A.ProfileName=i,A.Position=a,A.OverallWidth=s,A.OverallDepth=o,A.WebThickness=l,A.FlangeThickness=u,A.FilletRadius=c,A.FlangeEdgeRadius=f,A.FlangeSlope=p,A.type=1484403080,A}return P(n)}(tu);e.IfcIShapeProfileDef=cf;var ff=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e)).CoordIndex=r,i.type=178912537,i}return P(n)}(Zu);e.IfcIndexedPolygonalFace=ff;var pf=function(e){I(n,e);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e,r)).CoordIndex=r,a.InnerCoordIndices=i,a.type=2294589976,a}return P(n)}(ff);e.IfcIndexedPolygonalFaceWithVoids=pf;var Af=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a)).ProfileType=r,p.ProfileName=i,p.Position=a,p.Depth=s,p.Width=o,p.Thickness=l,p.FilletRadius=u,p.EdgeRadius=c,p.LegSlope=f,p.type=572779678,p}return P(n)}(tu);e.IfcLShapeProfileDef=Af;var df=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A,d){var v;return b(this,n),(v=t.call(this,e,r,i,a,s,o,l,u,c,f,p,A)).GlobalId=r,v.OwnerHistory=i,v.Name=a,v.Description=s,v.ApplicableOccurrence=o,v.HasPropertySets=l,v.Identification=u,v.LongDescription=c,v.ResourceType=f,v.BaseCosts=p,v.BaseQuantity=A,v.PredefinedType=d,v.type=428585644,v}return P(n)}(Fc);e.IfcLaborResourceType=df;var vf=function(e){I(n,e);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).Pnt=r,a.Dir=i,a.type=1281925730,a}return P(n)}(jc);e.IfcLine=vf;var hf=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e)).Outer=r,i.type=1425443689,i}return P(n)}(Fu);e.IfcManifoldSolidBrep=hf;var If=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e,r,i,a,s)).GlobalId=r,l.OwnerHistory=i,l.Name=a,l.Description=s,l.ObjectType=o,l.type=3888040117,l}return P(n)}(Jl);e.IfcObject=If;var yf=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e)).BasisCurve=r,s.Distance=i,s.SelfIntersect=a,s.type=3388369263,s}return P(n)}(jc);e.IfcOffsetCurve2D=yf;var mf=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e)).BasisCurve=r,o.Distance=i,o.SelfIntersect=a,o.RefDirection=s,o.type=3505215534,o}return P(n)}(jc);e.IfcOffsetCurve3D=mf;var wf=function(e){I(n,e);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).BasisSurface=r,a.ReferenceCurve=i,a.type=1682466193,a}return P(n)}(jc);e.IfcPcurve=wf;var gf=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e,r,i)).SizeInX=r,s.SizeInY=i,s.Placement=a,s.type=603570806,s}return P(n)}(su);e.IfcPlanarBox=gf;var Ef=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e,r)).Position=r,i.type=220341763,i}return P(n)}(qc);e.IfcPlane=Ef;var Tf=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e,r)).Name=r,i.type=759155922,i}return P(n)}(pu);e.IfcPreDefinedColour=Tf;var bf=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e,r)).Name=r,i.type=2559016684,i}return P(n)}(pu);e.IfcPreDefinedCurveFont=bf;var Df=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r,i,a,s)).GlobalId=r,o.OwnerHistory=i,o.Name=a,o.Description=s,o.type=3967405729,o}return P(n)}(wu);e.IfcPreDefinedPropertySet=Df;var Pf=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.Identification=u,A.LongDescription=c,A.ProcessType=f,A.PredefinedType=p,A.type=569719735,A}return P(n)}(ic);e.IfcProcedureType=Pf;var Rf=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u){var c;return b(this,n),(c=t.call(this,e,r,i,a,s,o)).GlobalId=r,c.OwnerHistory=i,c.Name=a,c.Description=s,c.ObjectType=o,c.Identification=l,c.LongDescription=u,c.type=2945172077,c}return P(n)}(If);e.IfcProcess=Rf;var Cf=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u){var c;return b(this,n),(c=t.call(this,e,r,i,a,s,o)).GlobalId=r,c.OwnerHistory=i,c.Name=a,c.Description=s,c.ObjectType=o,c.ObjectPlacement=l,c.Representation=u,c.type=4208778838,c}return P(n)}(If);e.IfcProduct=Cf;var _f=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.LongName=l,p.Phase=u,p.RepresentationContexts=c,p.UnitsInContext=f,p.type=103090709,p}return P(n)}(Hc);e.IfcProject=_f;var Bf=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.LongName=l,p.Phase=u,p.RepresentationContexts=c,p.UnitsInContext=f,p.type=653396225,p}return P(n)}(Hc);e.IfcProjectLibrary=Bf;var Of=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r,i)).Name=r,u.Description=i,u.UpperBoundValue=a,u.LowerBoundValue=s,u.Unit=o,u.SetPointValue=l,u.type=871118103,u}return P(n)}(xu);e.IfcPropertyBoundedValue=Of;var Sf=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r,i)).Name=r,o.Description=i,o.EnumerationValues=a,o.EnumerationReference=s,o.type=4166981789,o}return P(n)}(xu);e.IfcPropertyEnumeratedValue=Sf;var Nf=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r,i)).Name=r,o.Description=i,o.ListValues=a,o.Unit=s,o.type=2752243245,o}return P(n)}(xu);e.IfcPropertyListValue=Nf;var Lf=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r,i)).Name=r,o.Description=i,o.UsageName=a,o.PropertyReference=s,o.type=941946838,o}return P(n)}(xu);e.IfcPropertyReferenceValue=Lf;var xf=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e,r,i,a,s)).GlobalId=r,l.OwnerHistory=i,l.Name=a,l.Description=s,l.HasProperties=o,l.type=1451395588,l}return P(n)}(wu);e.IfcPropertySet=xf;var Mf=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u){var c;return b(this,n),(c=t.call(this,e,r,i,a,s)).GlobalId=r,c.OwnerHistory=i,c.Name=a,c.Description=s,c.TemplateType=o,c.ApplicableEntity=l,c.HasPropertyTemplates=u,c.type=492091185,c}return P(n)}(gu);e.IfcPropertySetTemplate=Mf;var Ff=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r,i)).Name=r,o.Description=i,o.NominalValue=a,o.Unit=s,o.type=3650150729,o}return P(n)}(xu);e.IfcPropertySingleValue=Ff;var Hf=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i)).Name=r,f.Description=i,f.DefiningValues=a,f.DefinedValues=s,f.Expression=o,f.DefiningUnit=l,f.DefinedUnit=u,f.CurveInterpolation=c,f.type=110355661,f}return P(n)}(xu);e.IfcPropertyTableValue=Hf;var Uf=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r,i,a,s)).GlobalId=r,o.OwnerHistory=i,o.Name=a,o.Description=s,o.type=3521284610,o}return P(n)}(gu);e.IfcPropertyTemplate=Uf;var Gf=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.ProxyType=c,p.Tag=f,p.type=3219374653,p}return P(n)}(Cf);e.IfcProxy=Gf;var kf=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o)).ProfileType=r,f.ProfileName=i,f.Position=a,f.XDim=s,f.YDim=o,f.WallThickness=l,f.InnerFilletRadius=u,f.OuterFilletRadius=c,f.type=2770003689,f}return P(n)}(Tu);e.IfcRectangleHollowProfileDef=kf;var jf=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r)).Position=r,o.XLength=i,o.YLength=a,o.Height=s,o.type=2798486643,o}return P(n)}(Gc);e.IfcRectangularPyramid=jf;var Vf=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u){var c;return b(this,n),(c=t.call(this,e)).BasisSurface=r,c.U1=i,c.V1=a,c.U2=s,c.V2=o,c.Usense=l,c.Vsense=u,c.type=3454111270,c}return P(n)}(mc);e.IfcRectangularTrimmedSurface=Vf;var Qf=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r,i,a,s)).GlobalId=r,u.OwnerHistory=i,u.Name=a,u.Description=s,u.DefinitionType=o,u.ReinforcementSectionDefinitions=l,u.type=3765753017,u}return P(n)}(Df);e.IfcReinforcementDefinitionProperties=Qf;var Wf=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r,i,a,s)).GlobalId=r,u.OwnerHistory=i,u.Name=a,u.Description=s,u.RelatedObjects=o,u.RelatedObjectsType=l,u.type=3939117080,u}return P(n)}(Pu);e.IfcRelAssigns=Wf;var zf=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o,l)).GlobalId=r,f.OwnerHistory=i,f.Name=a,f.Description=s,f.RelatedObjects=o,f.RelatedObjectsType=l,f.RelatingActor=u,f.ActingRole=c,f.type=1683148259,f}return P(n)}(Wf);e.IfcRelAssignsToActor=zf;var Kf=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u){var c;return b(this,n),(c=t.call(this,e,r,i,a,s,o,l)).GlobalId=r,c.OwnerHistory=i,c.Name=a,c.Description=s,c.RelatedObjects=o,c.RelatedObjectsType=l,c.RelatingControl=u,c.type=2495723537,c}return P(n)}(Wf);e.IfcRelAssignsToControl=Kf;var Yf=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u){var c;return b(this,n),(c=t.call(this,e,r,i,a,s,o,l)).GlobalId=r,c.OwnerHistory=i,c.Name=a,c.Description=s,c.RelatedObjects=o,c.RelatedObjectsType=l,c.RelatingGroup=u,c.type=1307041759,c}return P(n)}(Wf);e.IfcRelAssignsToGroup=Yf;var Xf=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o,l,u)).GlobalId=r,f.OwnerHistory=i,f.Name=a,f.Description=s,f.RelatedObjects=o,f.RelatedObjectsType=l,f.RelatingGroup=u,f.Factor=c,f.type=1027710054,f}return P(n)}(Yf);e.IfcRelAssignsToGroupByFactor=Xf;var qf=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o,l)).GlobalId=r,f.OwnerHistory=i,f.Name=a,f.Description=s,f.RelatedObjects=o,f.RelatedObjectsType=l,f.RelatingProcess=u,f.QuantityInProcess=c,f.type=4278684876,f}return P(n)}(Wf);e.IfcRelAssignsToProcess=qf;var Jf=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u){var c;return b(this,n),(c=t.call(this,e,r,i,a,s,o,l)).GlobalId=r,c.OwnerHistory=i,c.Name=a,c.Description=s,c.RelatedObjects=o,c.RelatedObjectsType=l,c.RelatingProduct=u,c.type=2857406711,c}return P(n)}(Wf);e.IfcRelAssignsToProduct=Jf;var Zf=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u){var c;return b(this,n),(c=t.call(this,e,r,i,a,s,o,l)).GlobalId=r,c.OwnerHistory=i,c.Name=a,c.Description=s,c.RelatedObjects=o,c.RelatedObjectsType=l,c.RelatingResource=u,c.type=205026976,c}return P(n)}(Wf);e.IfcRelAssignsToResource=Zf;var $f=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e,r,i,a,s)).GlobalId=r,l.OwnerHistory=i,l.Name=a,l.Description=s,l.RelatedObjects=o,l.type=1865459582,l}return P(n)}(Pu);e.IfcRelAssociates=$f;var ep=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r,i,a,s,o)).GlobalId=r,u.OwnerHistory=i,u.Name=a,u.Description=s,u.RelatedObjects=o,u.RelatingApproval=l,u.type=4095574036,u}return P(n)}($f);e.IfcRelAssociatesApproval=ep;var tp=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r,i,a,s,o)).GlobalId=r,u.OwnerHistory=i,u.Name=a,u.Description=s,u.RelatedObjects=o,u.RelatingClassification=l,u.type=919958153,u}return P(n)}($f);e.IfcRelAssociatesClassification=tp;var np=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u){var c;return b(this,n),(c=t.call(this,e,r,i,a,s,o)).GlobalId=r,c.OwnerHistory=i,c.Name=a,c.Description=s,c.RelatedObjects=o,c.Intent=l,c.RelatingConstraint=u,c.type=2728634034,c}return P(n)}($f);e.IfcRelAssociatesConstraint=np;var rp=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r,i,a,s,o)).GlobalId=r,u.OwnerHistory=i,u.Name=a,u.Description=s,u.RelatedObjects=o,u.RelatingDocument=l,u.type=982818633,u}return P(n)}($f);e.IfcRelAssociatesDocument=rp;var ip=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r,i,a,s,o)).GlobalId=r,u.OwnerHistory=i,u.Name=a,u.Description=s,u.RelatedObjects=o,u.RelatingLibrary=l,u.type=3840914261,u}return P(n)}($f);e.IfcRelAssociatesLibrary=ip;var ap=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r,i,a,s,o)).GlobalId=r,u.OwnerHistory=i,u.Name=a,u.Description=s,u.RelatedObjects=o,u.RelatingMaterial=l,u.type=2655215786,u}return P(n)}($f);e.IfcRelAssociatesMaterial=ap;var sp=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r,i,a,s)).GlobalId=r,o.OwnerHistory=i,o.Name=a,o.Description=s,o.type=826625072,o}return P(n)}(Pu);e.IfcRelConnects=sp;var op=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u){var c;return b(this,n),(c=t.call(this,e,r,i,a,s)).GlobalId=r,c.OwnerHistory=i,c.Name=a,c.Description=s,c.ConnectionGeometry=o,c.RelatingElement=l,c.RelatedElement=u,c.type=1204542856,c}return P(n)}(sp);e.IfcRelConnectsElements=op;var lp=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A){var d;return b(this,n),(d=t.call(this,e,r,i,a,s,o,l,u)).GlobalId=r,d.OwnerHistory=i,d.Name=a,d.Description=s,d.ConnectionGeometry=o,d.RelatingElement=l,d.RelatedElement=u,d.RelatingPriorities=c,d.RelatedPriorities=f,d.RelatedConnectionType=p,d.RelatingConnectionType=A,d.type=3945020480,d}return P(n)}(op);e.IfcRelConnectsPathElements=lp;var up=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r,i,a,s)).GlobalId=r,u.OwnerHistory=i,u.Name=a,u.Description=s,u.RelatingPort=o,u.RelatedElement=l,u.type=4201705270,u}return P(n)}(sp);e.IfcRelConnectsPortToElement=up;var cp=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u){var c;return b(this,n),(c=t.call(this,e,r,i,a,s)).GlobalId=r,c.OwnerHistory=i,c.Name=a,c.Description=s,c.RelatingPort=o,c.RelatedPort=l,c.RealizingElement=u,c.type=3190031847,c}return P(n)}(sp);e.IfcRelConnectsPorts=cp;var fp=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r,i,a,s)).GlobalId=r,u.OwnerHistory=i,u.Name=a,u.Description=s,u.RelatingElement=o,u.RelatedStructuralActivity=l,u.type=2127690289,u}return P(n)}(sp);e.IfcRelConnectsStructuralActivity=fp;var pp=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.RelatingStructuralMember=o,A.RelatedStructuralConnection=l,A.AppliedCondition=u,A.AdditionalConditions=c,A.SupportedLength=f,A.ConditionCoordinateSystem=p,A.type=1638771189,A}return P(n)}(sp);e.IfcRelConnectsStructuralMember=pp;var Ap=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A){var d;return b(this,n),(d=t.call(this,e,r,i,a,s,o,l,u,c,f,p)).GlobalId=r,d.OwnerHistory=i,d.Name=a,d.Description=s,d.RelatingStructuralMember=o,d.RelatedStructuralConnection=l,d.AppliedCondition=u,d.AdditionalConditions=c,d.SupportedLength=f,d.ConditionCoordinateSystem=p,d.ConnectionConstraint=A,d.type=504942748,d}return P(n)}(pp);e.IfcRelConnectsWithEccentricity=Ap;var dp=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ConnectionGeometry=o,p.RelatingElement=l,p.RelatedElement=u,p.RealizingElements=c,p.ConnectionType=f,p.type=3678494232,p}return P(n)}(op);e.IfcRelConnectsWithRealizingElements=dp;var vp=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r,i,a,s)).GlobalId=r,u.OwnerHistory=i,u.Name=a,u.Description=s,u.RelatedElements=o,u.RelatingStructure=l,u.type=3242617779,u}return P(n)}(sp);e.IfcRelContainedInSpatialStructure=vp;var hp=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r,i,a,s)).GlobalId=r,u.OwnerHistory=i,u.Name=a,u.Description=s,u.RelatingBuildingElement=o,u.RelatedCoverings=l,u.type=886880790,u}return P(n)}(sp);e.IfcRelCoversBldgElements=hp;var Ip=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r,i,a,s)).GlobalId=r,u.OwnerHistory=i,u.Name=a,u.Description=s,u.RelatingSpace=o,u.RelatedCoverings=l,u.type=2802773753,u}return P(n)}(sp);e.IfcRelCoversSpaces=Ip;var yp=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r,i,a,s)).GlobalId=r,u.OwnerHistory=i,u.Name=a,u.Description=s,u.RelatingContext=o,u.RelatedDefinitions=l,u.type=2565941209,u}return P(n)}(Pu);e.IfcRelDeclares=yp;var mp=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r,i,a,s)).GlobalId=r,o.OwnerHistory=i,o.Name=a,o.Description=s,o.type=2551354335,o}return P(n)}(Pu);e.IfcRelDecomposes=mp;var wp=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r,i,a,s)).GlobalId=r,o.OwnerHistory=i,o.Name=a,o.Description=s,o.type=693640335,o}return P(n)}(Pu);e.IfcRelDefines=wp;var gp=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r,i,a,s)).GlobalId=r,u.OwnerHistory=i,u.Name=a,u.Description=s,u.RelatedObjects=o,u.RelatingObject=l,u.type=1462361463,u}return P(n)}(wp);e.IfcRelDefinesByObject=gp;var Ep=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r,i,a,s)).GlobalId=r,u.OwnerHistory=i,u.Name=a,u.Description=s,u.RelatedObjects=o,u.RelatingPropertyDefinition=l,u.type=4186316022,u}return P(n)}(wp);e.IfcRelDefinesByProperties=Ep;var Tp=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r,i,a,s)).GlobalId=r,u.OwnerHistory=i,u.Name=a,u.Description=s,u.RelatedPropertySets=o,u.RelatingTemplate=l,u.type=307848117,u}return P(n)}(wp);e.IfcRelDefinesByTemplate=Tp;var bp=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r,i,a,s)).GlobalId=r,u.OwnerHistory=i,u.Name=a,u.Description=s,u.RelatedObjects=o,u.RelatingType=l,u.type=781010003,u}return P(n)}(wp);e.IfcRelDefinesByType=bp;var Dp=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r,i,a,s)).GlobalId=r,u.OwnerHistory=i,u.Name=a,u.Description=s,u.RelatingOpeningElement=o,u.RelatedBuildingElement=l,u.type=3940055652,u}return P(n)}(sp);e.IfcRelFillsElement=Dp;var Pp=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r,i,a,s)).GlobalId=r,u.OwnerHistory=i,u.Name=a,u.Description=s,u.RelatedControlElements=o,u.RelatingFlowElement=l,u.type=279856033,u}return P(n)}(sp);e.IfcRelFlowControlElements=Pp;var Rp=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.RelatingElement=o,p.RelatedElement=l,p.InterferenceGeometry=u,p.InterferenceType=c,p.ImpliedOrder=f,p.type=427948657,p}return P(n)}(sp);e.IfcRelInterferesElements=Rp;var Cp=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r,i,a,s)).GlobalId=r,u.OwnerHistory=i,u.Name=a,u.Description=s,u.RelatingObject=o,u.RelatedObjects=l,u.type=3268803585,u}return P(n)}(mp);e.IfcRelNests=Cp;var _p=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r,i,a,s)).GlobalId=r,u.OwnerHistory=i,u.Name=a,u.Description=s,u.RelatingElement=o,u.RelatedFeatureElement=l,u.type=750771296,u}return P(n)}(mp);e.IfcRelProjectsElement=_p;var Bp=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r,i,a,s)).GlobalId=r,u.OwnerHistory=i,u.Name=a,u.Description=s,u.RelatedElements=o,u.RelatingStructure=l,u.type=1245217292,u}return P(n)}(sp);e.IfcRelReferencedInSpatialStructure=Bp;var Op=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.RelatingProcess=o,p.RelatedProcess=l,p.TimeLag=u,p.SequenceType=c,p.UserDefinedSequenceType=f,p.type=4122056220,p}return P(n)}(sp);e.IfcRelSequence=Op;var Sp=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r,i,a,s)).GlobalId=r,u.OwnerHistory=i,u.Name=a,u.Description=s,u.RelatingSystem=o,u.RelatedBuildings=l,u.type=366585022,u}return P(n)}(sp);e.IfcRelServicesBuildings=Sp;var Np=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.RelatingSpace=o,p.RelatedBuildingElement=l,p.ConnectionGeometry=u,p.PhysicalOrVirtualBoundary=c,p.InternalOrExternalBoundary=f,p.type=3451746338,p}return P(n)}(sp);e.IfcRelSpaceBoundary=Np;var Lp=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.RelatingSpace=o,A.RelatedBuildingElement=l,A.ConnectionGeometry=u,A.PhysicalOrVirtualBoundary=c,A.InternalOrExternalBoundary=f,A.ParentBoundary=p,A.type=3523091289,A}return P(n)}(Np);e.IfcRelSpaceBoundary1stLevel=Lp;var xp=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A){var d;return b(this,n),(d=t.call(this,e,r,i,a,s,o,l,u,c,f,p)).GlobalId=r,d.OwnerHistory=i,d.Name=a,d.Description=s,d.RelatingSpace=o,d.RelatedBuildingElement=l,d.ConnectionGeometry=u,d.PhysicalOrVirtualBoundary=c,d.InternalOrExternalBoundary=f,d.ParentBoundary=p,d.CorrespondingBoundary=A,d.type=1521410863,d}return P(n)}(Lp);e.IfcRelSpaceBoundary2ndLevel=xp;var Mp=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r,i,a,s)).GlobalId=r,u.OwnerHistory=i,u.Name=a,u.Description=s,u.RelatingBuildingElement=o,u.RelatedOpeningElement=l,u.type=1401173127,u}return P(n)}(mp);e.IfcRelVoidsElement=Mp;var Fp=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r,i,a)).Transition=r,o.SameSense=i,o.ParentCurve=a,o.ParamLength=s,o.type=816062949,o}return P(n)}(Mc);e.IfcReparametrisedCompositeCurveSegment=Fp;var Hp=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u){var c;return b(this,n),(c=t.call(this,e,r,i,a,s,o)).GlobalId=r,c.OwnerHistory=i,c.Name=a,c.Description=s,c.ObjectType=o,c.Identification=l,c.LongDescription=u,c.type=2914609552,c}return P(n)}(If);e.IfcResource=Hp;var Up=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r,i)).SweptArea=r,o.Position=i,o.Axis=a,o.Angle=s,o.type=1856042241,o}return P(n)}(Ku);e.IfcRevolvedAreaSolid=Up;var Gp=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e,r,i,a,s)).SweptArea=r,l.Position=i,l.Axis=a,l.Angle=s,l.EndSweptArea=o,l.type=3243963512,l}return P(n)}(Up);e.IfcRevolvedAreaSolidTapered=Gp;var kp=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e,r)).Position=r,s.Height=i,s.BottomRadius=a,s.type=4158566097,s}return P(n)}(Gc);e.IfcRightCircularCone=kp;var jp=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e,r)).Position=r,s.Height=i,s.Radius=a,s.type=3626867408,s}return P(n)}(Gc);e.IfcRightCircularCylinder=jp;var Vp=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A,d){var v;return b(this,n),(v=t.call(this,e,r,i,a,s)).GlobalId=r,v.OwnerHistory=i,v.Name=a,v.Description=s,v.TemplateType=o,v.PrimaryMeasureType=l,v.SecondaryMeasureType=u,v.Enumerators=c,v.PrimaryUnit=f,v.SecondaryUnit=p,v.Expression=A,v.AccessState=d,v.type=3663146110,v}return P(n)}(Uf);e.IfcSimplePropertyTemplate=Vp;var Qp=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o,l,u)).GlobalId=r,f.OwnerHistory=i,f.Name=a,f.Description=s,f.ObjectType=o,f.ObjectPlacement=l,f.Representation=u,f.LongName=c,f.type=1412071761,f}return P(n)}(Cf);e.IfcSpatialElement=Qp;var Wp=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ApplicableOccurrence=o,p.HasPropertySets=l,p.RepresentationMaps=u,p.Tag=c,p.ElementType=f,p.type=710998568,p}return P(n)}(ac);e.IfcSpatialElementType=Wp;var zp=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.LongName=c,p.CompositionType=f,p.type=2706606064,p}return P(n)}(Qp);e.IfcSpatialStructureElement=zp;var Kp=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ApplicableOccurrence=o,p.HasPropertySets=l,p.RepresentationMaps=u,p.Tag=c,p.ElementType=f,p.type=3893378262,p}return P(n)}(Wp);e.IfcSpatialStructureElementType=Kp;var Yp=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.LongName=c,p.PredefinedType=f,p.type=463610769,p}return P(n)}(Qp);e.IfcSpatialZone=Yp;var Xp=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A){var d;return b(this,n),(d=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,d.OwnerHistory=i,d.Name=a,d.Description=s,d.ApplicableOccurrence=o,d.HasPropertySets=l,d.RepresentationMaps=u,d.Tag=c,d.ElementType=f,d.PredefinedType=p,d.LongName=A,d.type=2481509218,d}return P(n)}(Wp);e.IfcSpatialZoneType=Xp;var qp=function(e){I(n,e);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e,r)).Position=r,a.Radius=i,a.type=451544542,a}return P(n)}(Gc);e.IfcSphere=qp;var Jp=function(e){I(n,e);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e,r)).Position=r,a.Radius=i,a.type=4015995234,a}return P(n)}(qc);e.IfcSphericalSurface=Jp;var Zp=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.AppliedLoad=c,p.GlobalOrLocal=f,p.type=3544373492,p}return P(n)}(Cf);e.IfcStructuralActivity=Zp;var $p=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u){var c;return b(this,n),(c=t.call(this,e,r,i,a,s,o,l,u)).GlobalId=r,c.OwnerHistory=i,c.Name=a,c.Description=s,c.ObjectType=o,c.ObjectPlacement=l,c.Representation=u,c.type=3136571912,c}return P(n)}(Cf);e.IfcStructuralItem=$p;var eA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u){var c;return b(this,n),(c=t.call(this,e,r,i,a,s,o,l,u)).GlobalId=r,c.OwnerHistory=i,c.Name=a,c.Description=s,c.ObjectType=o,c.ObjectPlacement=l,c.Representation=u,c.type=530289379,c}return P(n)}($p);e.IfcStructuralMember=eA;var tA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.AppliedLoad=c,p.GlobalOrLocal=f,p.type=3689010777,p}return P(n)}(Zp);e.IfcStructuralReaction=tA;var nA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.PredefinedType=c,p.Thickness=f,p.type=3979015343,p}return P(n)}(eA);e.IfcStructuralSurfaceMember=nA;var rA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.PredefinedType=c,p.Thickness=f,p.type=2218152070,p}return P(n)}(nA);e.IfcStructuralSurfaceMemberVarying=rA;var iA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ObjectType=o,A.ObjectPlacement=l,A.Representation=u,A.AppliedLoad=c,A.GlobalOrLocal=f,A.PredefinedType=p,A.type=603775116,A}return P(n)}(tA);e.IfcStructuralSurfaceReaction=iA;var aA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A,d){var v;return b(this,n),(v=t.call(this,e,r,i,a,s,o,l,u,c,f,p,A)).GlobalId=r,v.OwnerHistory=i,v.Name=a,v.Description=s,v.ApplicableOccurrence=o,v.HasPropertySets=l,v.Identification=u,v.LongDescription=c,v.ResourceType=f,v.BaseCosts=p,v.BaseQuantity=A,v.PredefinedType=d,v.type=4095615324,v}return P(n)}(Fc);e.IfcSubContractResourceType=aA;var sA=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e)).Curve3D=r,s.AssociatedGeometry=i,s.MasterRepresentation=a,s.type=699246055,s}return P(n)}(jc);e.IfcSurfaceCurve=sA;var oA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r,i)).SweptArea=r,u.Position=i,u.Directrix=a,u.StartParam=s,u.EndParam=o,u.ReferenceSurface=l,u.type=2028607225,u}return P(n)}(Ku);e.IfcSurfaceCurveSweptAreaSolid=oA;var lA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r,i)).SweptCurve=r,o.Position=i,o.ExtrudedDirection=a,o.Depth=s,o.type=2809605785,o}return P(n)}(qu);e.IfcSurfaceOfLinearExtrusion=lA;var uA=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e,r,i)).SweptCurve=r,s.Position=i,s.AxisPosition=a,s.type=4124788165,s}return P(n)}(qu);e.IfcSurfaceOfRevolution=uA;var cA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=1580310250,A}return P(n)}(sf);e.IfcSystemFurnitureElementType=cA;var fA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A,d,v){var h;return b(this,n),(h=t.call(this,e,r,i,a,s,o,l,u)).GlobalId=r,h.OwnerHistory=i,h.Name=a,h.Description=s,h.ObjectType=o,h.Identification=l,h.LongDescription=u,h.Status=c,h.WorkMethod=f,h.IsMilestone=p,h.Priority=A,h.TaskTime=d,h.PredefinedType=v,h.type=3473067441,h}return P(n)}(Rf);e.IfcTask=fA;var pA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A){var d;return b(this,n),(d=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,d.OwnerHistory=i,d.Name=a,d.Description=s,d.ApplicableOccurrence=o,d.HasPropertySets=l,d.Identification=u,d.LongDescription=c,d.ProcessType=f,d.PredefinedType=p,d.WorkMethod=A,d.type=3206491090,d}return P(n)}(ic);e.IfcTaskType=pA;var AA=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e)).Coordinates=r,i.type=2387106220,i}return P(n)}(Zu);e.IfcTessellatedFaceSet=AA;var dA=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e,r)).Position=r,s.MajorRadius=i,s.MinorRadius=a,s.type=1935646853,s}return P(n)}(qc);e.IfcToroidalSurface=dA;var vA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=2097647324,A}return P(n)}(Xc);e.IfcTransportElementType=vA;var hA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e,r)).Coordinates=r,l.Normals=i,l.Closed=a,l.CoordIndex=s,l.PnIndex=o,l.type=2916149573,l}return P(n)}(AA);e.IfcTriangulatedFaceSet=hA;var IA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A,d,v,h,I,y){var m;return b(this,n),(m=t.call(this,e,r,i,a,s)).GlobalId=r,m.OwnerHistory=i,m.Name=a,m.Description=s,m.LiningDepth=o,m.LiningThickness=l,m.TransomThickness=u,m.MullionThickness=c,m.FirstTransomOffset=f,m.SecondTransomOffset=p,m.FirstMullionOffset=A,m.SecondMullionOffset=d,m.ShapeAspectStyle=v,m.LiningOffset=h,m.LiningToPanelOffsetX=I,m.LiningToPanelOffsetY=y,m.type=336235671,m}return P(n)}(Df);e.IfcWindowLiningProperties=IA;var yA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.OperationType=o,p.PanelPosition=l,p.FrameDepth=u,p.FrameThickness=c,p.ShapeAspectStyle=f,p.type=512836454,p}return P(n)}(Df);e.IfcWindowPanelProperties=yA;var mA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r,i,a,s,o)).GlobalId=r,u.OwnerHistory=i,u.Name=a,u.Description=s,u.ObjectType=o,u.TheActor=l,u.type=2296667514,u}return P(n)}(If);e.IfcActor=mA;var wA=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e,r)).Outer=r,i.type=1635779807,i}return P(n)}(hf);e.IfcAdvancedBrep=wA;var gA=function(e){I(n,e);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e,r)).Outer=r,a.Voids=i,a.type=2603310189,a}return P(n)}(wA);e.IfcAdvancedBrepWithVoids=gA;var EA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u){var c;return b(this,n),(c=t.call(this,e,r,i,a,s,o,l,u)).GlobalId=r,c.OwnerHistory=i,c.Name=a,c.Description=s,c.ObjectType=o,c.ObjectPlacement=l,c.Representation=u,c.type=1674181508,c}return P(n)}(Cf);e.IfcAnnotation=EA;var TA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u){var c;return b(this,n),(c=t.call(this,e)).UDegree=r,c.VDegree=i,c.ControlPointsList=a,c.SurfaceForm=s,c.UClosed=o,c.VClosed=l,c.SelfIntersect=u,c.type=2887950389,c}return P(n)}(mc);e.IfcBSplineSurface=TA;var bA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A,d){var v;return b(this,n),(v=t.call(this,e,r,i,a,s,o,l,u)).UDegree=r,v.VDegree=i,v.ControlPointsList=a,v.SurfaceForm=s,v.UClosed=o,v.VClosed=l,v.SelfIntersect=u,v.UMultiplicities=c,v.VMultiplicities=f,v.UKnots=p,v.VKnots=A,v.KnotSpec=d,v.type=167062518,v}return P(n)}(TA);e.IfcBSplineSurfaceWithKnots=bA;var DA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r)).Position=r,o.XLength=i,o.YLength=a,o.ZLength=s,o.type=1334484129,o}return P(n)}(Gc);e.IfcBlock=DA;var PA=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e,r,i,a)).Operator=r,s.FirstOperand=i,s.SecondOperand=a,s.type=3649129432,s}return P(n)}(yc);e.IfcBooleanClippingResult=PA;var RA=function(e){I(n,e);var t=m(n);function n(e){var r;return b(this,n),(r=t.call(this,e)).type=1260505505,r}return P(n)}(jc);e.IfcBoundedCurve=RA;var CA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A,d){var v;return b(this,n),(v=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,v.OwnerHistory=i,v.Name=a,v.Description=s,v.ObjectType=o,v.ObjectPlacement=l,v.Representation=u,v.LongName=c,v.CompositionType=f,v.ElevationOfRefHeight=p,v.ElevationOfTerrain=A,v.BuildingAddress=d,v.type=4031249490,v}return P(n)}(zp);e.IfcBuilding=CA;var _A=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ApplicableOccurrence=o,p.HasPropertySets=l,p.RepresentationMaps=u,p.Tag=c,p.ElementType=f,p.type=1950629157,p}return P(n)}(Xc);e.IfcBuildingElementType=_A;var BA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ObjectType=o,A.ObjectPlacement=l,A.Representation=u,A.LongName=c,A.CompositionType=f,A.Elevation=p,A.type=3124254112,A}return P(n)}(zp);e.IfcBuildingStorey=BA;var OA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=2197970202,A}return P(n)}(_A);e.IfcChimneyType=OA;var SA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e,r,i,a,s)).ProfileType=r,l.ProfileName=i,l.Position=a,l.Radius=s,l.WallThickness=o,l.type=2937912522,l}return P(n)}(Sc);e.IfcCircleHollowProfileDef=SA;var NA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ApplicableOccurrence=o,p.HasPropertySets=l,p.RepresentationMaps=u,p.Tag=c,p.ElementType=f,p.type=3893394355,p}return P(n)}(Xc);e.IfcCivilElementType=NA;var LA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=300633059,A}return P(n)}(_A);e.IfcColumnType=LA;var xA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u){var c;return b(this,n),(c=t.call(this,e,r,i,a,s)).GlobalId=r,c.OwnerHistory=i,c.Name=a,c.Description=s,c.UsageName=o,c.TemplateType=l,c.HasPropertyTemplates=u,c.type=3875453745,c}return P(n)}(Uf);e.IfcComplexPropertyTemplate=xA;var MA=function(e){I(n,e);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).Segments=r,a.SelfIntersect=i,a.type=3732776249,a}return P(n)}(RA);e.IfcCompositeCurve=MA;var FA=function(e){I(n,e);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e,r,i)).Segments=r,a.SelfIntersect=i,a.type=15328376,a}return P(n)}(MA);e.IfcCompositeCurveOnSurface=FA;var HA=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e)).Position=r,i.type=2510884976,i}return P(n)}(jc);e.IfcConic=HA;var UA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A,d){var v;return b(this,n),(v=t.call(this,e,r,i,a,s,o,l,u,c,f,p,A)).GlobalId=r,v.OwnerHistory=i,v.Name=a,v.Description=s,v.ApplicableOccurrence=o,v.HasPropertySets=l,v.Identification=u,v.LongDescription=c,v.ResourceType=f,v.BaseCosts=p,v.BaseQuantity=A,v.PredefinedType=d,v.type=2185764099,v}return P(n)}(Fc);e.IfcConstructionEquipmentResourceType=UA;var GA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A,d){var v;return b(this,n),(v=t.call(this,e,r,i,a,s,o,l,u,c,f,p,A)).GlobalId=r,v.OwnerHistory=i,v.Name=a,v.Description=s,v.ApplicableOccurrence=o,v.HasPropertySets=l,v.Identification=u,v.LongDescription=c,v.ResourceType=f,v.BaseCosts=p,v.BaseQuantity=A,v.PredefinedType=d,v.type=4105962743,v}return P(n)}(Fc);e.IfcConstructionMaterialResourceType=GA;var kA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A,d){var v;return b(this,n),(v=t.call(this,e,r,i,a,s,o,l,u,c,f,p,A)).GlobalId=r,v.OwnerHistory=i,v.Name=a,v.Description=s,v.ApplicableOccurrence=o,v.HasPropertySets=l,v.Identification=u,v.LongDescription=c,v.ResourceType=f,v.BaseCosts=p,v.BaseQuantity=A,v.PredefinedType=d,v.type=1525564444,v}return P(n)}(Fc);e.IfcConstructionProductResourceType=kA;var jA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ObjectType=o,A.Identification=l,A.LongDescription=u,A.Usage=c,A.BaseCosts=f,A.BaseQuantity=p,A.type=2559216714,A}return P(n)}(Hp);e.IfcConstructionResource=jA;var VA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r,i,a,s,o)).GlobalId=r,u.OwnerHistory=i,u.Name=a,u.Description=s,u.ObjectType=o,u.Identification=l,u.type=3293443760,u}return P(n)}(If);e.IfcControl=VA;var QA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.Identification=l,p.PredefinedType=u,p.CostValues=c,p.CostQuantities=f,p.type=3895139033,p}return P(n)}(VA);e.IfcCostItem=QA;var WA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ObjectType=o,A.Identification=l,A.PredefinedType=u,A.Status=c,A.SubmittedOn=f,A.UpdateDate=p,A.type=1419761937,A}return P(n)}(VA);e.IfcCostSchedule=WA;var zA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=1916426348,A}return P(n)}(_A);e.IfcCoveringType=zA;var KA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A){var d;return b(this,n),(d=t.call(this,e,r,i,a,s,o,l,u,c,f,p)).GlobalId=r,d.OwnerHistory=i,d.Name=a,d.Description=s,d.ObjectType=o,d.Identification=l,d.LongDescription=u,d.Usage=c,d.BaseCosts=f,d.BaseQuantity=p,d.PredefinedType=A,d.type=3295246426,d}return P(n)}(jA);e.IfcCrewResource=KA;var YA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=1457835157,A}return P(n)}(_A);e.IfcCurtainWallType=YA;var XA=function(e){I(n,e);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e,r)).Position=r,a.Radius=i,a.type=1213902940,a}return P(n)}(qc);e.IfcCylindricalSurface=XA;var qA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ApplicableOccurrence=o,p.HasPropertySets=l,p.RepresentationMaps=u,p.Tag=c,p.ElementType=f,p.type=3256556792,p}return P(n)}(Xc);e.IfcDistributionElementType=qA;var JA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ApplicableOccurrence=o,p.HasPropertySets=l,p.RepresentationMaps=u,p.Tag=c,p.ElementType=f,p.type=3849074793,p}return P(n)}(qA);e.IfcDistributionFlowElementType=JA;var ZA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A,d,v,h,I,y,m){var w;return b(this,n),(w=t.call(this,e,r,i,a,s)).GlobalId=r,w.OwnerHistory=i,w.Name=a,w.Description=s,w.LiningDepth=o,w.LiningThickness=l,w.ThresholdDepth=u,w.ThresholdThickness=c,w.TransomThickness=f,w.TransomOffset=p,w.LiningOffset=A,w.ThresholdOffset=d,w.CasingThickness=v,w.CasingDepth=h,w.ShapeAspectStyle=I,w.LiningToPanelOffsetX=y,w.LiningToPanelOffsetY=m,w.type=2963535650,w}return P(n)}(Df);e.IfcDoorLiningProperties=ZA;var $A=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.PanelDepth=o,p.PanelOperation=l,p.PanelWidth=u,p.PanelPosition=c,p.ShapeAspectStyle=f,p.type=1714330368,p}return P(n)}(Df);e.IfcDoorPanelProperties=$A;var ed=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A,d,v){var h;return b(this,n),(h=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,h.OwnerHistory=i,h.Name=a,h.Description=s,h.ApplicableOccurrence=o,h.HasPropertySets=l,h.RepresentationMaps=u,h.Tag=c,h.ElementType=f,h.PredefinedType=p,h.OperationType=A,h.ParameterTakesPrecedence=d,h.UserDefinedOperationType=v,h.type=2323601079,h}return P(n)}(_A);e.IfcDoorType=ed;var td=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e,r)).Name=r,i.type=445594917,i}return P(n)}(Tf);e.IfcDraughtingPreDefinedColour=td;var nd=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e,r)).Name=r,i.type=4006246654,i}return P(n)}(bf);e.IfcDraughtingPreDefinedCurveFont=nd;var rd=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o,l,u)).GlobalId=r,f.OwnerHistory=i,f.Name=a,f.Description=s,f.ObjectType=o,f.ObjectPlacement=l,f.Representation=u,f.Tag=c,f.type=1758889154,f}return P(n)}(Cf);e.IfcElement=rd;var id=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ObjectType=o,A.ObjectPlacement=l,A.Representation=u,A.Tag=c,A.AssemblyPlace=f,A.PredefinedType=p,A.type=4123344466,A}return P(n)}(rd);e.IfcElementAssembly=id;var ad=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=2397081782,A}return P(n)}(Xc);e.IfcElementAssemblyType=ad;var sd=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,f.OwnerHistory=i,f.Name=a,f.Description=s,f.ObjectType=o,f.ObjectPlacement=l,f.Representation=u,f.Tag=c,f.type=1623761950,f}return P(n)}(rd);e.IfcElementComponent=sd;var od=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ApplicableOccurrence=o,p.HasPropertySets=l,p.RepresentationMaps=u,p.Tag=c,p.ElementType=f,p.type=2590856083,p}return P(n)}(Xc);e.IfcElementComponentType=od;var ld=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e,r)).Position=r,s.SemiAxis1=i,s.SemiAxis2=a,s.type=1704287377,s}return P(n)}(HA);e.IfcEllipse=ld;var ud=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ApplicableOccurrence=o,p.HasPropertySets=l,p.RepresentationMaps=u,p.Tag=c,p.ElementType=f,p.type=2107101300,p}return P(n)}(JA);e.IfcEnergyConversionDeviceType=ud;var cd=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=132023988,A}return P(n)}(ud);e.IfcEngineType=cd;var fd=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=3174744832,A}return P(n)}(ud);e.IfcEvaporativeCoolerType=fd;var pd=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=3390157468,A}return P(n)}(ud);e.IfcEvaporatorType=pd;var Ad=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A){var d;return b(this,n),(d=t.call(this,e,r,i,a,s,o,l,u)).GlobalId=r,d.OwnerHistory=i,d.Name=a,d.Description=s,d.ObjectType=o,d.Identification=l,d.LongDescription=u,d.PredefinedType=c,d.EventTriggerType=f,d.UserDefinedEventTriggerType=p,d.EventOccurenceTime=A,d.type=4148101412,d}return P(n)}(Rf);e.IfcEvent=Ad;var dd=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,f.OwnerHistory=i,f.Name=a,f.Description=s,f.ObjectType=o,f.ObjectPlacement=l,f.Representation=u,f.LongName=c,f.type=2853485674,f}return P(n)}(Qp);e.IfcExternalSpatialStructureElement=dd;var vd=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e,r)).Outer=r,i.type=807026263,i}return P(n)}(hf);e.IfcFacetedBrep=vd;var hd=function(e){I(n,e);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e,r)).Outer=r,a.Voids=i,a.type=3737207727,a}return P(n)}(vd);e.IfcFacetedBrepWithVoids=hd;var Id=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=647756555,p}return P(n)}(sd);e.IfcFastener=Id;var yd=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=2489546625,A}return P(n)}(od);e.IfcFastenerType=yd;var md=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,f.OwnerHistory=i,f.Name=a,f.Description=s,f.ObjectType=o,f.ObjectPlacement=l,f.Representation=u,f.Tag=c,f.type=2827207264,f}return P(n)}(rd);e.IfcFeatureElement=md;var wd=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,f.OwnerHistory=i,f.Name=a,f.Description=s,f.ObjectType=o,f.ObjectPlacement=l,f.Representation=u,f.Tag=c,f.type=2143335405,f}return P(n)}(md);e.IfcFeatureElementAddition=wd;var gd=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,f.OwnerHistory=i,f.Name=a,f.Description=s,f.ObjectType=o,f.ObjectPlacement=l,f.Representation=u,f.Tag=c,f.type=1287392070,f}return P(n)}(md);e.IfcFeatureElementSubtraction=gd;var Ed=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ApplicableOccurrence=o,p.HasPropertySets=l,p.RepresentationMaps=u,p.Tag=c,p.ElementType=f,p.type=3907093117,p}return P(n)}(JA);e.IfcFlowControllerType=Ed;var Td=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ApplicableOccurrence=o,p.HasPropertySets=l,p.RepresentationMaps=u,p.Tag=c,p.ElementType=f,p.type=3198132628,p}return P(n)}(JA);e.IfcFlowFittingType=Td;var bd=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=3815607619,A}return P(n)}(Ed);e.IfcFlowMeterType=bd;var Dd=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ApplicableOccurrence=o,p.HasPropertySets=l,p.RepresentationMaps=u,p.Tag=c,p.ElementType=f,p.type=1482959167,p}return P(n)}(JA);e.IfcFlowMovingDeviceType=Dd;var Pd=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ApplicableOccurrence=o,p.HasPropertySets=l,p.RepresentationMaps=u,p.Tag=c,p.ElementType=f,p.type=1834744321,p}return P(n)}(JA);e.IfcFlowSegmentType=Pd;var Rd=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ApplicableOccurrence=o,p.HasPropertySets=l,p.RepresentationMaps=u,p.Tag=c,p.ElementType=f,p.type=1339347760,p}return P(n)}(JA);e.IfcFlowStorageDeviceType=Rd;var Cd=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ApplicableOccurrence=o,p.HasPropertySets=l,p.RepresentationMaps=u,p.Tag=c,p.ElementType=f,p.type=2297155007,p}return P(n)}(JA);e.IfcFlowTerminalType=Cd;var _d=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ApplicableOccurrence=o,p.HasPropertySets=l,p.RepresentationMaps=u,p.Tag=c,p.ElementType=f,p.type=3009222698,p}return P(n)}(JA);e.IfcFlowTreatmentDeviceType=_d;var Bd=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=1893162501,A}return P(n)}(_A);e.IfcFootingType=Bd;var Od=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,f.OwnerHistory=i,f.Name=a,f.Description=s,f.ObjectType=o,f.ObjectPlacement=l,f.Representation=u,f.Tag=c,f.type=263784265,f}return P(n)}(rd);e.IfcFurnishingElement=Od;var Sd=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=1509553395,p}return P(n)}(Od);e.IfcFurniture=Sd;var Nd=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=3493046030,p}return P(n)}(rd);e.IfcGeographicElement=Nd;var Ld=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A){var d;return b(this,n),(d=t.call(this,e,r,i,a,s,o,l,u)).GlobalId=r,d.OwnerHistory=i,d.Name=a,d.Description=s,d.ObjectType=o,d.ObjectPlacement=l,d.Representation=u,d.UAxes=c,d.VAxes=f,d.WAxes=p,d.PredefinedType=A,d.type=3009204131,d}return P(n)}(Cf);e.IfcGrid=Ld;var xd=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e,r,i,a,s,o)).GlobalId=r,l.OwnerHistory=i,l.Name=a,l.Description=s,l.ObjectType=o,l.type=2706460486,l}return P(n)}(If);e.IfcGroup=xd;var Md=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=1251058090,A}return P(n)}(ud);e.IfcHeatExchangerType=Md;var Fd=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=1806887404,A}return P(n)}(ud);e.IfcHumidifierType=Fd;var Hd=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e)).Points=r,s.Segments=i,s.SelfIntersect=a,s.type=2571569899,s}return P(n)}(RA);e.IfcIndexedPolyCurve=Hd;var Ud=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=3946677679,A}return P(n)}(_d);e.IfcInterceptorType=Ud;var Gd=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e,r,i,a)).Curve3D=r,s.AssociatedGeometry=i,s.MasterRepresentation=a,s.type=3113134337,s}return P(n)}(sA);e.IfcIntersectionCurve=Gd;var kd=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A){var d;return b(this,n),(d=t.call(this,e,r,i,a,s,o)).GlobalId=r,d.OwnerHistory=i,d.Name=a,d.Description=s,d.ObjectType=o,d.PredefinedType=l,d.Jurisdiction=u,d.ResponsiblePersons=c,d.LastUpdateDate=f,d.CurrentValue=p,d.OriginalValue=A,d.type=2391368822,d}return P(n)}(xd);e.IfcInventory=kd;var jd=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=4288270099,A}return P(n)}(Td);e.IfcJunctionBoxType=jd;var Vd=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A){var d;return b(this,n),(d=t.call(this,e,r,i,a,s,o,l,u,c,f,p)).GlobalId=r,d.OwnerHistory=i,d.Name=a,d.Description=s,d.ObjectType=o,d.Identification=l,d.LongDescription=u,d.Usage=c,d.BaseCosts=f,d.BaseQuantity=p,d.PredefinedType=A,d.type=3827777499,d}return P(n)}(jA);e.IfcLaborResource=Vd;var Qd=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=1051575348,A}return P(n)}(Cd);e.IfcLampType=Qd;var Wd=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=1161773419,A}return P(n)}(Cd);e.IfcLightFixtureType=Wd;var zd=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A){var d;return b(this,n),(d=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,d.OwnerHistory=i,d.Name=a,d.Description=s,d.ObjectType=o,d.ObjectPlacement=l,d.Representation=u,d.Tag=c,d.NominalDiameter=f,d.NominalLength=p,d.PredefinedType=A,d.type=377706215,d}return P(n)}(sd);e.IfcMechanicalFastener=zd;var Kd=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A,d){var v;return b(this,n),(v=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,v.OwnerHistory=i,v.Name=a,v.Description=s,v.ApplicableOccurrence=o,v.HasPropertySets=l,v.RepresentationMaps=u,v.Tag=c,v.ElementType=f,v.PredefinedType=p,v.NominalDiameter=A,v.NominalLength=d,v.type=2108223431,v}return P(n)}(od);e.IfcMechanicalFastenerType=Kd;var Yd=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=1114901282,A}return P(n)}(Cd);e.IfcMedicalDeviceType=Yd;var Xd=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=3181161470,A}return P(n)}(_A);e.IfcMemberType=Xd;var qd=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=977012517,A}return P(n)}(ud);e.IfcMotorConnectionType=qd;var Jd=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u){var c;return b(this,n),(c=t.call(this,e,r,i,a,s,o,l)).GlobalId=r,c.OwnerHistory=i,c.Name=a,c.Description=s,c.ObjectType=o,c.TheActor=l,c.PredefinedType=u,c.type=4143007308,c}return P(n)}(mA);e.IfcOccupant=Jd;var Zd=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=3588315303,p}return P(n)}(gd);e.IfcOpeningElement=Zd;var $d=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=3079942009,p}return P(n)}(Zd);e.IfcOpeningStandardCase=$d;var ev=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=2837617999,A}return P(n)}(Cd);e.IfcOutletType=ev;var tv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o,l)).GlobalId=r,f.OwnerHistory=i,f.Name=a,f.Description=s,f.ObjectType=o,f.Identification=l,f.LifeCyclePhase=u,f.PredefinedType=c,f.type=2382730787,f}return P(n)}(VA);e.IfcPerformanceHistory=tv;var nv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.OperationType=o,p.PanelPosition=l,p.FrameDepth=u,p.FrameThickness=c,p.ShapeAspectStyle=f,p.type=3566463478,p}return P(n)}(Df);e.IfcPermeableCoveringProperties=nv;var rv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.Identification=l,p.PredefinedType=u,p.Status=c,p.LongDescription=f,p.type=3327091369,p}return P(n)}(VA);e.IfcPermit=rv;var iv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=1158309216,A}return P(n)}(_A);e.IfcPileType=iv;var av=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=804291784,A}return P(n)}(Td);e.IfcPipeFittingType=av;var sv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=4231323485,A}return P(n)}(Pd);e.IfcPipeSegmentType=sv;var ov=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=4017108033,A}return P(n)}(_A);e.IfcPlateType=ov;var lv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r)).Coordinates=r,o.Closed=i,o.Faces=a,o.PnIndex=s,o.type=2839578677,o}return P(n)}(AA);e.IfcPolygonalFaceSet=lv;var uv=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e)).Points=r,i.type=3724593414,i}return P(n)}(RA);e.IfcPolyline=uv;var cv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u){var c;return b(this,n),(c=t.call(this,e,r,i,a,s,o,l,u)).GlobalId=r,c.OwnerHistory=i,c.Name=a,c.Description=s,c.ObjectType=o,c.ObjectPlacement=l,c.Representation=u,c.type=3740093272,c}return P(n)}(Cf);e.IfcPort=cv;var fv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o,l,u)).GlobalId=r,f.OwnerHistory=i,f.Name=a,f.Description=s,f.ObjectType=o,f.Identification=l,f.LongDescription=u,f.PredefinedType=c,f.type=2744685151,f}return P(n)}(Rf);e.IfcProcedure=fv;var pv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.Identification=l,p.PredefinedType=u,p.Status=c,p.LongDescription=f,p.type=2904328755,p}return P(n)}(VA);e.IfcProjectOrder=pv;var Av=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=3651124850,p}return P(n)}(wd);e.IfcProjectionElement=Av;var dv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=1842657554,A}return P(n)}(Ed);e.IfcProtectiveDeviceType=dv;var vv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=2250791053,A}return P(n)}(Dd);e.IfcPumpType=vv;var hv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=2893384427,A}return P(n)}(_A);e.IfcRailingType=hv;var Iv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=2324767716,A}return P(n)}(_A);e.IfcRampFlightType=Iv;var yv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=1469900589,A}return P(n)}(_A);e.IfcRampType=yv;var mv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A,d,v){var h;return b(this,n),(h=t.call(this,e,r,i,a,s,o,l,u,c,f,p,A,d)).UDegree=r,h.VDegree=i,h.ControlPointsList=a,h.SurfaceForm=s,h.UClosed=o,h.VClosed=l,h.SelfIntersect=u,h.UMultiplicities=c,h.VMultiplicities=f,h.UKnots=p,h.VKnots=A,h.KnotSpec=d,h.WeightsData=v,h.type=683857671,h}return P(n)}(bA);e.IfcRationalBSplineSurfaceWithKnots=mv;var wv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.SteelGrade=f,p.type=3027567501,p}return P(n)}(sd);e.IfcReinforcingElement=wv;var gv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ApplicableOccurrence=o,p.HasPropertySets=l,p.RepresentationMaps=u,p.Tag=c,p.ElementType=f,p.type=964333572,p}return P(n)}(od);e.IfcReinforcingElementType=gv;var Ev=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A,d,v,h,I,y,m,w){var g;return b(this,n),(g=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,g.OwnerHistory=i,g.Name=a,g.Description=s,g.ObjectType=o,g.ObjectPlacement=l,g.Representation=u,g.Tag=c,g.SteelGrade=f,g.MeshLength=p,g.MeshWidth=A,g.LongitudinalBarNominalDiameter=d,g.TransverseBarNominalDiameter=v,g.LongitudinalBarCrossSectionArea=h,g.TransverseBarCrossSectionArea=I,g.LongitudinalBarSpacing=y,g.TransverseBarSpacing=m,g.PredefinedType=w,g.type=2320036040,g}return P(n)}(wv);e.IfcReinforcingMesh=Ev;var Tv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A,d,v,h,I,y,m,w,g,E){var T;return b(this,n),(T=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,T.OwnerHistory=i,T.Name=a,T.Description=s,T.ApplicableOccurrence=o,T.HasPropertySets=l,T.RepresentationMaps=u,T.Tag=c,T.ElementType=f,T.PredefinedType=p,T.MeshLength=A,T.MeshWidth=d,T.LongitudinalBarNominalDiameter=v,T.TransverseBarNominalDiameter=h,T.LongitudinalBarCrossSectionArea=I,T.TransverseBarCrossSectionArea=y,T.LongitudinalBarSpacing=m,T.TransverseBarSpacing=w,T.BendingShapeCode=g,T.BendingParameters=E,T.type=2310774935,T}return P(n)}(gv);e.IfcReinforcingMeshType=Tv;var bv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r,i,a,s)).GlobalId=r,u.OwnerHistory=i,u.Name=a,u.Description=s,u.RelatingObject=o,u.RelatedObjects=l,u.type=160246688,u}return P(n)}(mp);e.IfcRelAggregates=bv;var Dv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=2781568857,A}return P(n)}(_A);e.IfcRoofType=Dv;var Pv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=1768891740,A}return P(n)}(Cd);e.IfcSanitaryTerminalType=Pv;var Rv=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e,r,i,a)).Curve3D=r,s.AssociatedGeometry=i,s.MasterRepresentation=a,s.type=2157484638,s}return P(n)}(sA);e.IfcSeamCurve=Rv;var Cv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=4074543187,A}return P(n)}(_A);e.IfcShadingDeviceType=Cv;var _v=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A,d,v,h){var I;return b(this,n),(I=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,I.OwnerHistory=i,I.Name=a,I.Description=s,I.ObjectType=o,I.ObjectPlacement=l,I.Representation=u,I.LongName=c,I.CompositionType=f,I.RefLatitude=p,I.RefLongitude=A,I.RefElevation=d,I.LandTitleNumber=v,I.SiteAddress=h,I.type=4097777520,I}return P(n)}(zp);e.IfcSite=_v;var Bv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=2533589738,A}return P(n)}(_A);e.IfcSlabType=Bv;var Ov=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=1072016465,A}return P(n)}(ud);e.IfcSolarDeviceType=Ov;var Sv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A){var d;return b(this,n),(d=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,d.OwnerHistory=i,d.Name=a,d.Description=s,d.ObjectType=o,d.ObjectPlacement=l,d.Representation=u,d.LongName=c,d.CompositionType=f,d.PredefinedType=p,d.ElevationWithFlooring=A,d.type=3856911033,d}return P(n)}(zp);e.IfcSpace=Sv;var Nv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=1305183839,A}return P(n)}(Cd);e.IfcSpaceHeaterType=Nv;var Lv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A){var d;return b(this,n),(d=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,d.OwnerHistory=i,d.Name=a,d.Description=s,d.ApplicableOccurrence=o,d.HasPropertySets=l,d.RepresentationMaps=u,d.Tag=c,d.ElementType=f,d.PredefinedType=p,d.LongName=A,d.type=3812236995,d}return P(n)}(Kp);e.IfcSpaceType=Lv;var xv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=3112655638,A}return P(n)}(Cd);e.IfcStackTerminalType=xv;var Mv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=1039846685,A}return P(n)}(_A);e.IfcStairFlightType=Mv;var Fv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=338393293,A}return P(n)}(_A);e.IfcStairType=Fv;var Hv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ObjectType=o,A.ObjectPlacement=l,A.Representation=u,A.AppliedLoad=c,A.GlobalOrLocal=f,A.DestabilizingLoad=p,A.type=682877961,A}return P(n)}(Zp);e.IfcStructuralAction=Hv;var Uv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o,l,u)).GlobalId=r,f.OwnerHistory=i,f.Name=a,f.Description=s,f.ObjectType=o,f.ObjectPlacement=l,f.Representation=u,f.AppliedCondition=c,f.type=1179482911,f}return P(n)}($p);e.IfcStructuralConnection=Uv;var Gv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A,d){var v;return b(this,n),(v=t.call(this,e,r,i,a,s,o,l,u,c,f,p)).GlobalId=r,v.OwnerHistory=i,v.Name=a,v.Description=s,v.ObjectType=o,v.ObjectPlacement=l,v.Representation=u,v.AppliedLoad=c,v.GlobalOrLocal=f,v.DestabilizingLoad=p,v.ProjectedOrTrue=A,v.PredefinedType=d,v.type=1004757350,v}return P(n)}(Hv);e.IfcStructuralCurveAction=Gv;var kv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.AppliedCondition=c,p.Axis=f,p.type=4243806635,p}return P(n)}(Uv);e.IfcStructuralCurveConnection=kv;var jv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.PredefinedType=c,p.Axis=f,p.type=214636428,p}return P(n)}(eA);e.IfcStructuralCurveMember=jv;var Vv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.PredefinedType=c,p.Axis=f,p.type=2445595289,p}return P(n)}(jv);e.IfcStructuralCurveMemberVarying=Vv;var Qv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ObjectType=o,A.ObjectPlacement=l,A.Representation=u,A.AppliedLoad=c,A.GlobalOrLocal=f,A.PredefinedType=p,A.type=2757150158,A}return P(n)}(tA);e.IfcStructuralCurveReaction=Qv;var Wv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A,d){var v;return b(this,n),(v=t.call(this,e,r,i,a,s,o,l,u,c,f,p,A,d)).GlobalId=r,v.OwnerHistory=i,v.Name=a,v.Description=s,v.ObjectType=o,v.ObjectPlacement=l,v.Representation=u,v.AppliedLoad=c,v.GlobalOrLocal=f,v.DestabilizingLoad=p,v.ProjectedOrTrue=A,v.PredefinedType=d,v.type=1807405624,v}return P(n)}(Gv);e.IfcStructuralLinearAction=Wv;var zv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ObjectType=o,A.PredefinedType=l,A.ActionType=u,A.ActionSource=c,A.Coefficient=f,A.Purpose=p,A.type=1252848954,A}return P(n)}(xd);e.IfcStructuralLoadGroup=zv;var Kv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f,p)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ObjectType=o,A.ObjectPlacement=l,A.Representation=u,A.AppliedLoad=c,A.GlobalOrLocal=f,A.DestabilizingLoad=p,A.type=2082059205,A}return P(n)}(Hv);e.IfcStructuralPointAction=Kv;var Yv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.AppliedCondition=c,p.ConditionCoordinateSystem=f,p.type=734778138,p}return P(n)}(Uv);e.IfcStructuralPointConnection=Yv;var Xv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.AppliedLoad=c,p.GlobalOrLocal=f,p.type=1235345126,p}return P(n)}(tA);e.IfcStructuralPointReaction=Xv;var qv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o)).GlobalId=r,f.OwnerHistory=i,f.Name=a,f.Description=s,f.ObjectType=o,f.TheoryType=l,f.ResultForLoadGroup=u,f.IsLinear=c,f.type=2986769608,f}return P(n)}(xd);e.IfcStructuralResultGroup=qv;var Jv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A,d){var v;return b(this,n),(v=t.call(this,e,r,i,a,s,o,l,u,c,f,p)).GlobalId=r,v.OwnerHistory=i,v.Name=a,v.Description=s,v.ObjectType=o,v.ObjectPlacement=l,v.Representation=u,v.AppliedLoad=c,v.GlobalOrLocal=f,v.DestabilizingLoad=p,v.ProjectedOrTrue=A,v.PredefinedType=d,v.type=3657597509,v}return P(n)}(Hv);e.IfcStructuralSurfaceAction=Jv;var Zv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,f.OwnerHistory=i,f.Name=a,f.Description=s,f.ObjectType=o,f.ObjectPlacement=l,f.Representation=u,f.AppliedCondition=c,f.type=1975003073,f}return P(n)}(Uv);e.IfcStructuralSurfaceConnection=Zv;var $v=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A){var d;return b(this,n),(d=t.call(this,e,r,i,a,s,o,l,u,c,f,p)).GlobalId=r,d.OwnerHistory=i,d.Name=a,d.Description=s,d.ObjectType=o,d.Identification=l,d.LongDescription=u,d.Usage=c,d.BaseCosts=f,d.BaseQuantity=p,d.PredefinedType=A,d.type=148013059,d}return P(n)}(jA);e.IfcSubContractResource=$v;var eh=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=3101698114,p}return P(n)}(md);e.IfcSurfaceFeature=eh;var th=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=2315554128,A}return P(n)}(Ed);e.IfcSwitchingDeviceType=th;var nh=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e,r,i,a,s,o)).GlobalId=r,l.OwnerHistory=i,l.Name=a,l.Description=s,l.ObjectType=o,l.type=2254336722,l}return P(n)}(xd);e.IfcSystem=nh;var rh=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=413509423,p}return P(n)}(Od);e.IfcSystemFurnitureElement=rh;var ih=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=5716631,A}return P(n)}(Rd);e.IfcTankType=ih;var ah=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A,d,v,h,I,y,m){var w;return b(this,n),(w=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,w.OwnerHistory=i,w.Name=a,w.Description=s,w.ObjectType=o,w.ObjectPlacement=l,w.Representation=u,w.Tag=c,w.SteelGrade=f,w.PredefinedType=p,w.NominalDiameter=A,w.CrossSectionArea=d,w.TensionForce=v,w.PreStress=h,w.FrictionCoefficient=I,w.AnchorageSlip=y,w.MinCurvatureRadius=m,w.type=3824725483,w}return P(n)}(wv);e.IfcTendon=ah;var sh=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ObjectType=o,A.ObjectPlacement=l,A.Representation=u,A.Tag=c,A.SteelGrade=f,A.PredefinedType=p,A.type=2347447852,A}return P(n)}(wv);e.IfcTendonAnchor=sh;var oh=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=3081323446,A}return P(n)}(gv);e.IfcTendonAnchorType=oh;var lh=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A,d,v){var h;return b(this,n),(h=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,h.OwnerHistory=i,h.Name=a,h.Description=s,h.ApplicableOccurrence=o,h.HasPropertySets=l,h.RepresentationMaps=u,h.Tag=c,h.ElementType=f,h.PredefinedType=p,h.NominalDiameter=A,h.CrossSectionArea=d,h.SheathDiameter=v,h.type=2415094496,h}return P(n)}(gv);e.IfcTendonType=lh;var uh=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=1692211062,A}return P(n)}(ud);e.IfcTransformerType=uh;var ch=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=1620046519,p}return P(n)}(rd);e.IfcTransportElement=ch;var fh=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e)).BasisCurve=r,l.Trim1=i,l.Trim2=a,l.SenseAgreement=s,l.MasterRepresentation=o,l.type=3593883385,l}return P(n)}(RA);e.IfcTrimmedCurve=fh;var ph=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=1600972822,A}return P(n)}(ud);e.IfcTubeBundleType=ph;var Ah=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=1911125066,A}return P(n)}(ud);e.IfcUnitaryEquipmentType=Ah;var dh=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=728799441,A}return P(n)}(Ed);e.IfcValveType=dh;var vh=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=2391383451,p}return P(n)}(sd);e.IfcVibrationIsolator=vh;var hh=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=3313531582,A}return P(n)}(od);e.IfcVibrationIsolatorType=hh;var Ih=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,f.OwnerHistory=i,f.Name=a,f.Description=s,f.ObjectType=o,f.ObjectPlacement=l,f.Representation=u,f.Tag=c,f.type=2769231204,f}return P(n)}(rd);e.IfcVirtualElement=Ih;var yh=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=926996030,p}return P(n)}(gd);e.IfcVoidingFeature=yh;var mh=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=1898987631,A}return P(n)}(_A);e.IfcWallType=mh;var wh=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=1133259667,A}return P(n)}(Cd);e.IfcWasteTerminalType=wh;var gh=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A,d,v){var h;return b(this,n),(h=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,h.OwnerHistory=i,h.Name=a,h.Description=s,h.ApplicableOccurrence=o,h.HasPropertySets=l,h.RepresentationMaps=u,h.Tag=c,h.ElementType=f,h.PredefinedType=p,h.PartitioningType=A,h.ParameterTakesPrecedence=d,h.UserDefinedPartitioningType=v,h.type=4009809668,h}return P(n)}(_A);e.IfcWindowType=gh;var Eh=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.Identification=l,p.WorkingTimes=u,p.ExceptionTimes=c,p.PredefinedType=f,p.type=4088093105,p}return P(n)}(VA);e.IfcWorkCalendar=Eh;var Th=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A,d,v){var h;return b(this,n),(h=t.call(this,e,r,i,a,s,o,l)).GlobalId=r,h.OwnerHistory=i,h.Name=a,h.Description=s,h.ObjectType=o,h.Identification=l,h.CreationDate=u,h.Creators=c,h.Purpose=f,h.Duration=p,h.TotalFloat=A,h.StartTime=d,h.FinishTime=v,h.type=1028945134,h}return P(n)}(VA);e.IfcWorkControl=Th;var bh=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A,d,v,h){var I;return b(this,n),(I=t.call(this,e,r,i,a,s,o,l,u,c,f,p,A,d,v)).GlobalId=r,I.OwnerHistory=i,I.Name=a,I.Description=s,I.ObjectType=o,I.Identification=l,I.CreationDate=u,I.Creators=c,I.Purpose=f,I.Duration=p,I.TotalFloat=A,I.StartTime=d,I.FinishTime=v,I.PredefinedType=h,I.type=4218914973,I}return P(n)}(Th);e.IfcWorkPlan=bh;var Dh=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A,d,v,h){var I;return b(this,n),(I=t.call(this,e,r,i,a,s,o,l,u,c,f,p,A,d,v)).GlobalId=r,I.OwnerHistory=i,I.Name=a,I.Description=s,I.ObjectType=o,I.Identification=l,I.CreationDate=u,I.Creators=c,I.Purpose=f,I.Duration=p,I.TotalFloat=A,I.StartTime=d,I.FinishTime=v,I.PredefinedType=h,I.type=3342526732,I}return P(n)}(Th);e.IfcWorkSchedule=Dh;var Ph=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r,i,a,s,o)).GlobalId=r,u.OwnerHistory=i,u.Name=a,u.Description=s,u.ObjectType=o,u.LongName=l,u.type=1033361043,u}return P(n)}(nh);e.IfcZone=Ph;var Rh=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.Identification=l,p.PredefinedType=u,p.Status=c,p.LongDescription=f,p.type=3821786052,p}return P(n)}(VA);e.IfcActionRequest=Rh;var Ch=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=1411407467,A}return P(n)}(Ed);e.IfcAirTerminalBoxType=Ch;var _h=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=3352864051,A}return P(n)}(Cd);e.IfcAirTerminalType=_h;var Bh=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=1871374353,A}return P(n)}(ud);e.IfcAirToAirHeatRecoveryType=Bh;var Oh=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A,d,v,h){var I;return b(this,n),(I=t.call(this,e,r,i,a,s,o)).GlobalId=r,I.OwnerHistory=i,I.Name=a,I.Description=s,I.ObjectType=o,I.Identification=l,I.OriginalValue=u,I.CurrentValue=c,I.TotalReplacementCost=f,I.Owner=p,I.User=A,I.ResponsiblePerson=d,I.IncorporationDate=v,I.DepreciatedValue=h,I.type=3460190687,I}return P(n)}(xd);e.IfcAsset=Oh;var Sh=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=1532957894,A}return P(n)}(Cd);e.IfcAudioVisualApplianceType=Sh;var Nh=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e)).Degree=r,l.ControlPointsList=i,l.CurveForm=a,l.ClosedCurve=s,l.SelfIntersect=o,l.type=1967976161,l}return P(n)}(RA);e.IfcBSplineCurve=Nh;var Lh=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o)).Degree=r,f.ControlPointsList=i,f.CurveForm=a,f.ClosedCurve=s,f.SelfIntersect=o,f.KnotMultiplicities=l,f.Knots=u,f.KnotSpec=c,f.type=2461110595,f}return P(n)}(Nh);e.IfcBSplineCurveWithKnots=Lh;var xh=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=819618141,A}return P(n)}(_A);e.IfcBeamType=xh;var Mh=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=231477066,A}return P(n)}(ud);e.IfcBoilerType=Mh;var Fh=function(e){I(n,e);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e,r,i)).Segments=r,a.SelfIntersect=i,a.type=1136057603,a}return P(n)}(FA);e.IfcBoundaryCurve=Fh;var Hh=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,f.OwnerHistory=i,f.Name=a,f.Description=s,f.ObjectType=o,f.ObjectPlacement=l,f.Representation=u,f.Tag=c,f.type=3299480353,f}return P(n)}(rd);e.IfcBuildingElement=Hh;var Uh=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=2979338954,p}return P(n)}(sd);e.IfcBuildingElementPart=Uh;var Gh=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=39481116,A}return P(n)}(od);e.IfcBuildingElementPartType=Gh;var kh=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=1095909175,p}return P(n)}(Hh);e.IfcBuildingElementProxy=kh;var jh=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=1909888760,A}return P(n)}(_A);e.IfcBuildingElementProxyType=jh;var Vh=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u){var c;return b(this,n),(c=t.call(this,e,r,i,a,s,o)).GlobalId=r,c.OwnerHistory=i,c.Name=a,c.Description=s,c.ObjectType=o,c.PredefinedType=l,c.LongName=u,c.type=1177604601,c}return P(n)}(nh);e.IfcBuildingSystem=Vh;var Qh=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=2188180465,A}return P(n)}(ud);e.IfcBurnerType=Qh;var Wh=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=395041908,A}return P(n)}(Td);e.IfcCableCarrierFittingType=Wh;var zh=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=3293546465,A}return P(n)}(Pd);e.IfcCableCarrierSegmentType=zh;var Kh=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=2674252688,A}return P(n)}(Td);e.IfcCableFittingType=Kh;var Yh=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=1285652485,A}return P(n)}(Pd);e.IfcCableSegmentType=Yh;var Xh=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=2951183804,A}return P(n)}(ud);e.IfcChillerType=Xh;var qh=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=3296154744,p}return P(n)}(Hh);e.IfcChimney=qh;var Jh=function(e){I(n,e);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e,r)).Position=r,a.Radius=i,a.type=2611217952,a}return P(n)}(HA);e.IfcCircle=Jh;var Zh=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,f.OwnerHistory=i,f.Name=a,f.Description=s,f.ObjectType=o,f.ObjectPlacement=l,f.Representation=u,f.Tag=c,f.type=1677625105,f}return P(n)}(rd);e.IfcCivilElement=Zh;var $h=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=2301859152,A}return P(n)}(ud);e.IfcCoilType=$h;var eI=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=843113511,p}return P(n)}(Hh);e.IfcColumn=eI;var tI=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=905975707,p}return P(n)}(eI);e.IfcColumnStandardCase=tI;var nI=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=400855858,A}return P(n)}(Cd);e.IfcCommunicationsApplianceType=nI;var rI=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=3850581409,A}return P(n)}(Dd);e.IfcCompressorType=rI;var iI=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=2816379211,A}return P(n)}(ud);e.IfcCondenserType=iI;var aI=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A){var d;return b(this,n),(d=t.call(this,e,r,i,a,s,o,l,u,c,f,p)).GlobalId=r,d.OwnerHistory=i,d.Name=a,d.Description=s,d.ObjectType=o,d.Identification=l,d.LongDescription=u,d.Usage=c,d.BaseCosts=f,d.BaseQuantity=p,d.PredefinedType=A,d.type=3898045240,d}return P(n)}(jA);e.IfcConstructionEquipmentResource=aI;var sI=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A){var d;return b(this,n),(d=t.call(this,e,r,i,a,s,o,l,u,c,f,p)).GlobalId=r,d.OwnerHistory=i,d.Name=a,d.Description=s,d.ObjectType=o,d.Identification=l,d.LongDescription=u,d.Usage=c,d.BaseCosts=f,d.BaseQuantity=p,d.PredefinedType=A,d.type=1060000209,d}return P(n)}(jA);e.IfcConstructionMaterialResource=sI;var oI=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A){var d;return b(this,n),(d=t.call(this,e,r,i,a,s,o,l,u,c,f,p)).GlobalId=r,d.OwnerHistory=i,d.Name=a,d.Description=s,d.ObjectType=o,d.Identification=l,d.LongDescription=u,d.Usage=c,d.BaseCosts=f,d.BaseQuantity=p,d.PredefinedType=A,d.type=488727124,d}return P(n)}(jA);e.IfcConstructionProductResource=oI;var lI=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=335055490,A}return P(n)}(ud);e.IfcCooledBeamType=lI;var uI=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=2954562838,A}return P(n)}(ud);e.IfcCoolingTowerType=uI;var cI=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=1973544240,p}return P(n)}(Hh);e.IfcCovering=cI;var fI=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=3495092785,p}return P(n)}(Hh);e.IfcCurtainWall=fI;var pI=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=3961806047,A}return P(n)}(Ed);e.IfcDamperType=pI;var AI=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=1335981549,p}return P(n)}(sd);e.IfcDiscreteAccessory=AI;var dI=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=2635815018,A}return P(n)}(od);e.IfcDiscreteAccessoryType=dI;var vI=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=1599208980,A}return P(n)}(JA);e.IfcDistributionChamberElementType=vI;var hI=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ApplicableOccurrence=o,p.HasPropertySets=l,p.RepresentationMaps=u,p.Tag=c,p.ElementType=f,p.type=2063403501,p}return P(n)}(qA);e.IfcDistributionControlElementType=hI;var II=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,f.OwnerHistory=i,f.Name=a,f.Description=s,f.ObjectType=o,f.ObjectPlacement=l,f.Representation=u,f.Tag=c,f.type=1945004755,f}return P(n)}(rd);e.IfcDistributionElement=II;var yI=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,f.OwnerHistory=i,f.Name=a,f.Description=s,f.ObjectType=o,f.ObjectPlacement=l,f.Representation=u,f.Tag=c,f.type=3040386961,f}return P(n)}(II);e.IfcDistributionFlowElement=yI;var mI=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ObjectType=o,A.ObjectPlacement=l,A.Representation=u,A.FlowDirection=c,A.PredefinedType=f,A.SystemType=p,A.type=3041715199,A}return P(n)}(cv);e.IfcDistributionPort=mI;var wI=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u){var c;return b(this,n),(c=t.call(this,e,r,i,a,s,o)).GlobalId=r,c.OwnerHistory=i,c.Name=a,c.Description=s,c.ObjectType=o,c.LongName=l,c.PredefinedType=u,c.type=3205830791,c}return P(n)}(nh);e.IfcDistributionSystem=wI;var gI=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A,d,v){var h;return b(this,n),(h=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,h.OwnerHistory=i,h.Name=a,h.Description=s,h.ObjectType=o,h.ObjectPlacement=l,h.Representation=u,h.Tag=c,h.OverallHeight=f,h.OverallWidth=p,h.PredefinedType=A,h.OperationType=d,h.UserDefinedOperationType=v,h.type=395920057,h}return P(n)}(Hh);e.IfcDoor=gI;var EI=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A,d,v){var h;return b(this,n),(h=t.call(this,e,r,i,a,s,o,l,u,c,f,p,A,d,v)).GlobalId=r,h.OwnerHistory=i,h.Name=a,h.Description=s,h.ObjectType=o,h.ObjectPlacement=l,h.Representation=u,h.Tag=c,h.OverallHeight=f,h.OverallWidth=p,h.PredefinedType=A,h.OperationType=d,h.UserDefinedOperationType=v,h.type=3242481149,h}return P(n)}(gI);e.IfcDoorStandardCase=EI;var TI=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=869906466,A}return P(n)}(Td);e.IfcDuctFittingType=TI;var bI=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=3760055223,A}return P(n)}(Pd);e.IfcDuctSegmentType=bI;var DI=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=2030761528,A}return P(n)}(_d);e.IfcDuctSilencerType=DI;var PI=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=663422040,A}return P(n)}(Cd);e.IfcElectricApplianceType=PI;var RI=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=2417008758,A}return P(n)}(Ed);e.IfcElectricDistributionBoardType=RI;var CI=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=3277789161,A}return P(n)}(Rd);e.IfcElectricFlowStorageDeviceType=CI;var _I=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=1534661035,A}return P(n)}(ud);e.IfcElectricGeneratorType=_I;var BI=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=1217240411,A}return P(n)}(ud);e.IfcElectricMotorType=BI;var OI=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=712377611,A}return P(n)}(Ed);e.IfcElectricTimeControlType=OI;var SI=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,f.OwnerHistory=i,f.Name=a,f.Description=s,f.ObjectType=o,f.ObjectPlacement=l,f.Representation=u,f.Tag=c,f.type=1658829314,f}return P(n)}(yI);e.IfcEnergyConversionDevice=SI;var NI=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=2814081492,p}return P(n)}(SI);e.IfcEngine=NI;var LI=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=3747195512,p}return P(n)}(SI);e.IfcEvaporativeCooler=LI;var xI=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=484807127,p}return P(n)}(SI);e.IfcEvaporator=xI;var MI=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.LongName=c,p.PredefinedType=f,p.type=1209101575,p}return P(n)}(dd);e.IfcExternalSpatialElement=MI;var FI=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=346874300,A}return P(n)}(Dd);e.IfcFanType=FI;var HI=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=1810631287,A}return P(n)}(_d);e.IfcFilterType=HI;var UI=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=4222183408,A}return P(n)}(Cd);e.IfcFireSuppressionTerminalType=UI;var GI=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,f.OwnerHistory=i,f.Name=a,f.Description=s,f.ObjectType=o,f.ObjectPlacement=l,f.Representation=u,f.Tag=c,f.type=2058353004,f}return P(n)}(yI);e.IfcFlowController=GI;var kI=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,f.OwnerHistory=i,f.Name=a,f.Description=s,f.ObjectType=o,f.ObjectPlacement=l,f.Representation=u,f.Tag=c,f.type=4278956645,f}return P(n)}(yI);e.IfcFlowFitting=kI;var jI=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=4037862832,A}return P(n)}(hI);e.IfcFlowInstrumentType=jI;var VI=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=2188021234,p}return P(n)}(GI);e.IfcFlowMeter=VI;var QI=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,f.OwnerHistory=i,f.Name=a,f.Description=s,f.ObjectType=o,f.ObjectPlacement=l,f.Representation=u,f.Tag=c,f.type=3132237377,f}return P(n)}(yI);e.IfcFlowMovingDevice=QI;var WI=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,f.OwnerHistory=i,f.Name=a,f.Description=s,f.ObjectType=o,f.ObjectPlacement=l,f.Representation=u,f.Tag=c,f.type=987401354,f}return P(n)}(yI);e.IfcFlowSegment=WI;var zI=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,f.OwnerHistory=i,f.Name=a,f.Description=s,f.ObjectType=o,f.ObjectPlacement=l,f.Representation=u,f.Tag=c,f.type=707683696,f}return P(n)}(yI);e.IfcFlowStorageDevice=zI;var KI=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,f.OwnerHistory=i,f.Name=a,f.Description=s,f.ObjectType=o,f.ObjectPlacement=l,f.Representation=u,f.Tag=c,f.type=2223149337,f}return P(n)}(yI);e.IfcFlowTerminal=KI;var YI=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,f.OwnerHistory=i,f.Name=a,f.Description=s,f.ObjectType=o,f.ObjectPlacement=l,f.Representation=u,f.Tag=c,f.type=3508470533,f}return P(n)}(yI);e.IfcFlowTreatmentDevice=YI;var XI=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=900683007,p}return P(n)}(Hh);e.IfcFooting=XI;var qI=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=3319311131,p}return P(n)}(SI);e.IfcHeatExchanger=qI;var JI=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=2068733104,p}return P(n)}(SI);e.IfcHumidifier=JI;var ZI=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=4175244083,p}return P(n)}(YI);e.IfcInterceptor=ZI;var $I=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=2176052936,p}return P(n)}(kI);e.IfcJunctionBox=$I;var ey=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=76236018,p}return P(n)}(KI);e.IfcLamp=ey;var ty=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=629592764,p}return P(n)}(KI);e.IfcLightFixture=ty;var ny=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=1437502449,p}return P(n)}(KI);e.IfcMedicalDevice=ny;var ry=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=1073191201,p}return P(n)}(Hh);e.IfcMember=ry;var iy=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=1911478936,p}return P(n)}(ry);e.IfcMemberStandardCase=iy;var ay=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=2474470126,p}return P(n)}(SI);e.IfcMotorConnection=ay;var sy=function(e){I(n,e);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e,r,i)).Segments=r,a.SelfIntersect=i,a.type=144952367,a}return P(n)}(Fh);e.IfcOuterBoundaryCurve=sy;var oy=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=3694346114,p}return P(n)}(KI);e.IfcOutlet=oy;var ly=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ObjectType=o,A.ObjectPlacement=l,A.Representation=u,A.Tag=c,A.PredefinedType=f,A.ConstructionType=p,A.type=1687234759,A}return P(n)}(Hh);e.IfcPile=ly;var uy=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=310824031,p}return P(n)}(kI);e.IfcPipeFitting=uy;var cy=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=3612865200,p}return P(n)}(WI);e.IfcPipeSegment=cy;var fy=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=3171933400,p}return P(n)}(Hh);e.IfcPlate=fy;var py=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=1156407060,p}return P(n)}(fy);e.IfcPlateStandardCase=py;var Ay=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=738039164,p}return P(n)}(GI);e.IfcProtectiveDevice=Ay;var dy=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=655969474,A}return P(n)}(hI);e.IfcProtectiveDeviceTrippingUnitType=dy;var vy=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=90941305,p}return P(n)}(QI);e.IfcPump=vy;var hy=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=2262370178,p}return P(n)}(Hh);e.IfcRailing=hy;var Iy=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=3024970846,p}return P(n)}(Hh);e.IfcRamp=Iy;var yy=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=3283111854,p}return P(n)}(Hh);e.IfcRampFlight=yy;var my=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).Degree=r,p.ControlPointsList=i,p.CurveForm=a,p.ClosedCurve=s,p.SelfIntersect=o,p.KnotMultiplicities=l,p.Knots=u,p.KnotSpec=c,p.WeightsData=f,p.type=1232101972,p}return P(n)}(Lh);e.IfcRationalBSplineCurveWithKnots=my;var wy=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A,d,v,h){var I;return b(this,n),(I=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,I.OwnerHistory=i,I.Name=a,I.Description=s,I.ObjectType=o,I.ObjectPlacement=l,I.Representation=u,I.Tag=c,I.SteelGrade=f,I.NominalDiameter=p,I.CrossSectionArea=A,I.BarLength=d,I.PredefinedType=v,I.BarSurface=h,I.type=979691226,I}return P(n)}(wv);e.IfcReinforcingBar=wy;var gy=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A,d,v,h,I,y){var m;return b(this,n),(m=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,m.OwnerHistory=i,m.Name=a,m.Description=s,m.ApplicableOccurrence=o,m.HasPropertySets=l,m.RepresentationMaps=u,m.Tag=c,m.ElementType=f,m.PredefinedType=p,m.NominalDiameter=A,m.CrossSectionArea=d,m.BarLength=v,m.BarSurface=h,m.BendingShapeCode=I,m.BendingParameters=y,m.type=2572171363,m}return P(n)}(gv);e.IfcReinforcingBarType=gy;var Ey=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=2016517767,p}return P(n)}(Hh);e.IfcRoof=Ey;var Ty=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=3053780830,p}return P(n)}(KI);e.IfcSanitaryTerminal=Ty;var by=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=1783015770,A}return P(n)}(hI);e.IfcSensorType=by;var Dy=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=1329646415,p}return P(n)}(Hh);e.IfcShadingDevice=Dy;var Py=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=1529196076,p}return P(n)}(Hh);e.IfcSlab=Py;var Ry=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=3127900445,p}return P(n)}(Py);e.IfcSlabElementedCase=Ry;var Cy=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=3027962421,p}return P(n)}(Py);e.IfcSlabStandardCase=Cy;var _y=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=3420628829,p}return P(n)}(SI);e.IfcSolarDevice=_y;var By=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=1999602285,p}return P(n)}(KI);e.IfcSpaceHeater=By;var Oy=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=1404847402,p}return P(n)}(KI);e.IfcStackTerminal=Oy;var Sy=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=331165859,p}return P(n)}(Hh);e.IfcStair=Sy;var Ny=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A,d,v){var h;return b(this,n),(h=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,h.OwnerHistory=i,h.Name=a,h.Description=s,h.ObjectType=o,h.ObjectPlacement=l,h.Representation=u,h.Tag=c,h.NumberOfRisers=f,h.NumberOfTreads=p,h.RiserHeight=A,h.TreadLength=d,h.PredefinedType=v,h.type=4252922144,h}return P(n)}(Hh);e.IfcStairFlight=Ny;var Ly=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ObjectType=o,A.PredefinedType=l,A.OrientationOf2DPlane=u,A.LoadedBy=c,A.HasResults=f,A.SharedPlacement=p,A.type=2515109513,A}return P(n)}(nh);e.IfcStructuralAnalysisModel=Ly;var xy=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A){var d;return b(this,n),(d=t.call(this,e,r,i,a,s,o,l,u,c,f,p)).GlobalId=r,d.OwnerHistory=i,d.Name=a,d.Description=s,d.ObjectType=o,d.PredefinedType=l,d.ActionType=u,d.ActionSource=c,d.Coefficient=f,d.Purpose=p,d.SelfWeightCoefficients=A,d.type=385403989,d}return P(n)}(zv);e.IfcStructuralLoadCase=xy;var My=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A,d){var v;return b(this,n),(v=t.call(this,e,r,i,a,s,o,l,u,c,f,p,A,d)).GlobalId=r,v.OwnerHistory=i,v.Name=a,v.Description=s,v.ObjectType=o,v.ObjectPlacement=l,v.Representation=u,v.AppliedLoad=c,v.GlobalOrLocal=f,v.DestabilizingLoad=p,v.ProjectedOrTrue=A,v.PredefinedType=d,v.type=1621171031,v}return P(n)}(Jv);e.IfcStructuralPlanarAction=My;var Fy=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=1162798199,p}return P(n)}(GI);e.IfcSwitchingDevice=Fy;var Hy=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=812556717,p}return P(n)}(zI);e.IfcTank=Hy;var Uy=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=3825984169,p}return P(n)}(SI);e.IfcTransformer=Uy;var Gy=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=3026737570,p}return P(n)}(SI);e.IfcTubeBundle=Gy;var ky=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=3179687236,A}return P(n)}(hI);e.IfcUnitaryControlElementType=ky;var jy=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=4292641817,p}return P(n)}(SI);e.IfcUnitaryEquipment=jy;var Vy=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=4207607924,p}return P(n)}(GI);e.IfcValve=Vy;var Qy=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=2391406946,p}return P(n)}(Hh);e.IfcWall=Qy;var Wy=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=4156078855,p}return P(n)}(Qy);e.IfcWallElementedCase=Wy;var zy=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=3512223829,p}return P(n)}(Qy);e.IfcWallStandardCase=zy;var Ky=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=4237592921,p}return P(n)}(KI);e.IfcWasteTerminal=Ky;var Yy=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A,d,v){var h;return b(this,n),(h=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,h.OwnerHistory=i,h.Name=a,h.Description=s,h.ObjectType=o,h.ObjectPlacement=l,h.Representation=u,h.Tag=c,h.OverallHeight=f,h.OverallWidth=p,h.PredefinedType=A,h.PartitioningType=d,h.UserDefinedPartitioningType=v,h.type=3304561284,h}return P(n)}(Hh);e.IfcWindow=Yy;var Xy=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A,d,v){var h;return b(this,n),(h=t.call(this,e,r,i,a,s,o,l,u,c,f,p,A,d,v)).GlobalId=r,h.OwnerHistory=i,h.Name=a,h.Description=s,h.ObjectType=o,h.ObjectPlacement=l,h.Representation=u,h.Tag=c,h.OverallHeight=f,h.OverallWidth=p,h.PredefinedType=A,h.PartitioningType=d,h.UserDefinedPartitioningType=v,h.type=486154966,h}return P(n)}(Yy);e.IfcWindowStandardCase=Xy;var qy=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=2874132201,A}return P(n)}(hI);e.IfcActuatorType=qy;var Jy=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=1634111441,p}return P(n)}(KI);e.IfcAirTerminal=Jy;var Zy=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=177149247,p}return P(n)}(GI);e.IfcAirTerminalBox=Zy;var $y=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=2056796094,p}return P(n)}(SI);e.IfcAirToAirHeatRecovery=$y;var em=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=3001207471,A}return P(n)}(hI);e.IfcAlarmType=em;var tm=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=277319702,p}return P(n)}(KI);e.IfcAudioVisualAppliance=tm;var nm=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=753842376,p}return P(n)}(Hh);e.IfcBeam=nm;var rm=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=2906023776,p}return P(n)}(nm);e.IfcBeamStandardCase=rm;var im=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=32344328,p}return P(n)}(SI);e.IfcBoiler=im;var am=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=2938176219,p}return P(n)}(SI);e.IfcBurner=am;var sm=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=635142910,p}return P(n)}(kI);e.IfcCableCarrierFitting=sm;var om=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=3758799889,p}return P(n)}(WI);e.IfcCableCarrierSegment=om;var lm=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=1051757585,p}return P(n)}(kI);e.IfcCableFitting=lm;var um=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=4217484030,p}return P(n)}(WI);e.IfcCableSegment=um;var cm=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=3902619387,p}return P(n)}(SI);e.IfcChiller=cm;var fm=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=639361253,p}return P(n)}(SI);e.IfcCoil=fm;var pm=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=3221913625,p}return P(n)}(KI);e.IfcCommunicationsAppliance=pm;var Am=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=3571504051,p}return P(n)}(QI);e.IfcCompressor=Am;var dm=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=2272882330,p}return P(n)}(SI);e.IfcCondenser=dm;var vm=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=578613899,A}return P(n)}(hI);e.IfcControllerType=vm;var hm=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=4136498852,p}return P(n)}(SI);e.IfcCooledBeam=hm;var Im=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=3640358203,p}return P(n)}(SI);e.IfcCoolingTower=Im;var ym=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=4074379575,p}return P(n)}(GI);e.IfcDamper=ym;var mm=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=1052013943,p}return P(n)}(yI);e.IfcDistributionChamberElement=mm;var wm=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u){var c;return b(this,n),(c=t.call(this,e,r,i,a,s,o,l,u)).GlobalId=r,c.OwnerHistory=i,c.Name=a,c.Description=s,c.ObjectType=o,c.LongName=l,c.PredefinedType=u,c.type=562808652,c}return P(n)}(wI);e.IfcDistributionCircuit=wm;var gm=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,f.OwnerHistory=i,f.Name=a,f.Description=s,f.ObjectType=o,f.ObjectPlacement=l,f.Representation=u,f.Tag=c,f.type=1062813311,f}return P(n)}(II);e.IfcDistributionControlElement=gm;var Em=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=342316401,p}return P(n)}(kI);e.IfcDuctFitting=Em;var Tm=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=3518393246,p}return P(n)}(WI);e.IfcDuctSegment=Tm;var bm=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=1360408905,p}return P(n)}(YI);e.IfcDuctSilencer=bm;var Dm=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=1904799276,p}return P(n)}(KI);e.IfcElectricAppliance=Dm;var Pm=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=862014818,p}return P(n)}(GI);e.IfcElectricDistributionBoard=Pm;var Rm=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=3310460725,p}return P(n)}(zI);e.IfcElectricFlowStorageDevice=Rm;var Cm=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=264262732,p}return P(n)}(SI);e.IfcElectricGenerator=Cm;var _m=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=402227799,p}return P(n)}(SI);e.IfcElectricMotor=_m;var Bm=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=1003880860,p}return P(n)}(GI);e.IfcElectricTimeControl=Bm;var Om=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=3415622556,p}return P(n)}(QI);e.IfcFan=Om;var Sm=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=819412036,p}return P(n)}(YI);e.IfcFilter=Sm;var Nm=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=1426591983,p}return P(n)}(KI);e.IfcFireSuppressionTerminal=Nm;var Lm=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=182646315,p}return P(n)}(gm);e.IfcFlowInstrument=Lm;var xm=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=2295281155,p}return P(n)}(gm);e.IfcProtectiveDeviceTrippingUnit=xm;var Mm=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=4086658281,p}return P(n)}(gm);e.IfcSensor=Mm;var Fm=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=630975310,p}return P(n)}(gm);e.IfcUnitaryControlElement=Fm;var Hm=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=4288193352,p}return P(n)}(gm);e.IfcActuator=Hm;var Um=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=3087945054,p}return P(n)}(gm);e.IfcAlarm=Um;var Gm=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=25142252,p}return P(n)}(gm);e.IfcController=Gm}(e_||(e_={})),z_[3]="IFC4X3",G_[3]={3630933823:function(e,t){return new t_.IfcActorRole(e,t[0],t[1]?new t_.IfcLabel(t[1].value):null,t[2]?new t_.IfcText(t[2].value):null)},618182010:function(e,t){return new t_.IfcAddress(e,t[0],t[1]?new t_.IfcText(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null)},2879124712:function(e,t){return new t_.IfcAlignmentParameterSegment(e,t[0]?new t_.IfcLabel(t[0].value):null,t[1]?new t_.IfcLabel(t[1].value):null)},3633395639:function(e,t){return new t_.IfcAlignmentVerticalSegment(e,t[0]?new t_.IfcLabel(t[0].value):null,t[1]?new t_.IfcLabel(t[1].value):null,new t_.IfcLengthMeasure(t[2].value),new t_.IfcNonNegativeLengthMeasure(t[3].value),new t_.IfcLengthMeasure(t[4].value),new t_.IfcRatioMeasure(t[5].value),new t_.IfcRatioMeasure(t[6].value),t[7]?new t_.IfcLengthMeasure(t[7].value):null,t[8])},639542469:function(e,t){return new t_.IfcApplication(e,new H_(t[0].value),new t_.IfcLabel(t[1].value),new t_.IfcLabel(t[2].value),new t_.IfcIdentifier(t[3].value))},411424972:function(e,t){return new t_.IfcAppliedValue(e,t[0]?new t_.IfcLabel(t[0].value):null,t[1]?new t_.IfcText(t[1].value):null,t[2]?new H_(t[2].value):null,t[3]?new H_(t[3].value):null,t[4]?new t_.IfcDate(t[4].value):null,t[5]?new t_.IfcDate(t[5].value):null,t[6]?new t_.IfcLabel(t[6].value):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8],t[9]?t[9].map((function(e){return new H_(e.value)})):null)},130549933:function(e,t){return new t_.IfcApproval(e,t[0]?new t_.IfcIdentifier(t[0].value):null,t[1]?new t_.IfcLabel(t[1].value):null,t[2]?new t_.IfcText(t[2].value):null,t[3]?new t_.IfcDateTime(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new t_.IfcLabel(t[5].value):null,t[6]?new t_.IfcText(t[6].value):null,t[7]?new H_(t[7].value):null,t[8]?new H_(t[8].value):null)},4037036970:function(e,t){return new t_.IfcBoundaryCondition(e,t[0]?new t_.IfcLabel(t[0].value):null)},1560379544:function(e,t){return new t_.IfcBoundaryEdgeCondition(e,t[0]?new t_.IfcLabel(t[0].value):null,t[1]?K_(3,t[1]):null,t[2]?K_(3,t[2]):null,t[3]?K_(3,t[3]):null,t[4]?K_(3,t[4]):null,t[5]?K_(3,t[5]):null,t[6]?K_(3,t[6]):null)},3367102660:function(e,t){return new t_.IfcBoundaryFaceCondition(e,t[0]?new t_.IfcLabel(t[0].value):null,t[1]?K_(3,t[1]):null,t[2]?K_(3,t[2]):null,t[3]?K_(3,t[3]):null)},1387855156:function(e,t){return new t_.IfcBoundaryNodeCondition(e,t[0]?new t_.IfcLabel(t[0].value):null,t[1]?K_(3,t[1]):null,t[2]?K_(3,t[2]):null,t[3]?K_(3,t[3]):null,t[4]?K_(3,t[4]):null,t[5]?K_(3,t[5]):null,t[6]?K_(3,t[6]):null)},2069777674:function(e,t){return new t_.IfcBoundaryNodeConditionWarping(e,t[0]?new t_.IfcLabel(t[0].value):null,t[1]?K_(3,t[1]):null,t[2]?K_(3,t[2]):null,t[3]?K_(3,t[3]):null,t[4]?K_(3,t[4]):null,t[5]?K_(3,t[5]):null,t[6]?K_(3,t[6]):null,t[7]?K_(3,t[7]):null)},2859738748:function(e,t){return new t_.IfcConnectionGeometry(e)},2614616156:function(e,t){return new t_.IfcConnectionPointGeometry(e,new H_(t[0].value),t[1]?new H_(t[1].value):null)},2732653382:function(e,t){return new t_.IfcConnectionSurfaceGeometry(e,new H_(t[0].value),t[1]?new H_(t[1].value):null)},775493141:function(e,t){return new t_.IfcConnectionVolumeGeometry(e,new H_(t[0].value),t[1]?new H_(t[1].value):null)},1959218052:function(e,t){return new t_.IfcConstraint(e,new t_.IfcLabel(t[0].value),t[1]?new t_.IfcText(t[1].value):null,t[2],t[3]?new t_.IfcLabel(t[3].value):null,t[4]?new H_(t[4].value):null,t[5]?new t_.IfcDateTime(t[5].value):null,t[6]?new t_.IfcLabel(t[6].value):null)},1785450214:function(e,t){return new t_.IfcCoordinateOperation(e,new H_(t[0].value),new H_(t[1].value))},1466758467:function(e,t){return new t_.IfcCoordinateReferenceSystem(e,new t_.IfcLabel(t[0].value),t[1]?new t_.IfcText(t[1].value):null,t[2]?new t_.IfcIdentifier(t[2].value):null,t[3]?new t_.IfcIdentifier(t[3].value):null)},602808272:function(e,t){return new t_.IfcCostValue(e,t[0]?new t_.IfcLabel(t[0].value):null,t[1]?new t_.IfcText(t[1].value):null,t[2]?new H_(t[2].value):null,t[3]?new H_(t[3].value):null,t[4]?new t_.IfcDate(t[4].value):null,t[5]?new t_.IfcDate(t[5].value):null,t[6]?new t_.IfcLabel(t[6].value):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8],t[9]?t[9].map((function(e){return new H_(e.value)})):null)},1765591967:function(e,t){return new t_.IfcDerivedUnit(e,t[0].map((function(e){return new H_(e.value)})),t[1],t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcLabel(t[3].value):null)},1045800335:function(e,t){return new t_.IfcDerivedUnitElement(e,new H_(t[0].value),t[1].value)},2949456006:function(e,t){return new t_.IfcDimensionalExponents(e,t[0].value,t[1].value,t[2].value,t[3].value,t[4].value,t[5].value,t[6].value)},4294318154:function(e,t){return new t_.IfcExternalInformation(e)},3200245327:function(e,t){return new t_.IfcExternalReference(e,t[0]?new t_.IfcURIReference(t[0].value):null,t[1]?new t_.IfcIdentifier(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null)},2242383968:function(e,t){return new t_.IfcExternallyDefinedHatchStyle(e,t[0]?new t_.IfcURIReference(t[0].value):null,t[1]?new t_.IfcIdentifier(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null)},1040185647:function(e,t){return new t_.IfcExternallyDefinedSurfaceStyle(e,t[0]?new t_.IfcURIReference(t[0].value):null,t[1]?new t_.IfcIdentifier(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null)},3548104201:function(e,t){return new t_.IfcExternallyDefinedTextFont(e,t[0]?new t_.IfcURIReference(t[0].value):null,t[1]?new t_.IfcIdentifier(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null)},852622518:function(e,t){return new t_.IfcGridAxis(e,t[0]?new t_.IfcLabel(t[0].value):null,new H_(t[1].value),new t_.IfcBoolean(t[2].value))},3020489413:function(e,t){return new t_.IfcIrregularTimeSeriesValue(e,new t_.IfcDateTime(t[0].value),t[1].map((function(e){return K_(3,e)})))},2655187982:function(e,t){return new t_.IfcLibraryInformation(e,new t_.IfcLabel(t[0].value),t[1]?new t_.IfcLabel(t[1].value):null,t[2]?new H_(t[2].value):null,t[3]?new t_.IfcDateTime(t[3].value):null,t[4]?new t_.IfcURIReference(t[4].value):null,t[5]?new t_.IfcText(t[5].value):null)},3452421091:function(e,t){return new t_.IfcLibraryReference(e,t[0]?new t_.IfcURIReference(t[0].value):null,t[1]?new t_.IfcIdentifier(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLanguageId(t[4].value):null,t[5]?new H_(t[5].value):null)},4162380809:function(e,t){return new t_.IfcLightDistributionData(e,new t_.IfcPlaneAngleMeasure(t[0].value),t[1].map((function(e){return new t_.IfcPlaneAngleMeasure(e.value)})),t[2].map((function(e){return new t_.IfcLuminousIntensityDistributionMeasure(e.value)})))},1566485204:function(e,t){return new t_.IfcLightIntensityDistribution(e,t[0],t[1].map((function(e){return new H_(e.value)})))},3057273783:function(e,t){return new t_.IfcMapConversion(e,new H_(t[0].value),new H_(t[1].value),new t_.IfcLengthMeasure(t[2].value),new t_.IfcLengthMeasure(t[3].value),new t_.IfcLengthMeasure(t[4].value),t[5]?new t_.IfcReal(t[5].value):null,t[6]?new t_.IfcReal(t[6].value):null,t[7]?new t_.IfcReal(t[7].value):null,t[8]?new t_.IfcReal(t[8].value):null,t[9]?new t_.IfcReal(t[9].value):null)},1847130766:function(e,t){return new t_.IfcMaterialClassificationRelationship(e,t[0].map((function(e){return new H_(e.value)})),new H_(t[1].value))},760658860:function(e,t){return new t_.IfcMaterialDefinition(e)},248100487:function(e,t){return new t_.IfcMaterialLayer(e,t[0]?new H_(t[0].value):null,new t_.IfcNonNegativeLengthMeasure(t[1].value),t[2]?new t_.IfcLogical(t[2].value):null,t[3]?new t_.IfcLabel(t[3].value):null,t[4]?new t_.IfcText(t[4].value):null,t[5]?new t_.IfcLabel(t[5].value):null,t[6]?new t_.IfcInteger(t[6].value):null)},3303938423:function(e,t){return new t_.IfcMaterialLayerSet(e,t[0].map((function(e){return new H_(e.value)})),t[1]?new t_.IfcLabel(t[1].value):null,t[2]?new t_.IfcText(t[2].value):null)},1847252529:function(e,t){return new t_.IfcMaterialLayerWithOffsets(e,t[0]?new H_(t[0].value):null,new t_.IfcNonNegativeLengthMeasure(t[1].value),t[2]?new t_.IfcLogical(t[2].value):null,t[3]?new t_.IfcLabel(t[3].value):null,t[4]?new t_.IfcText(t[4].value):null,t[5]?new t_.IfcLabel(t[5].value):null,t[6]?new t_.IfcInteger(t[6].value):null,t[7],new t_.IfcLengthMeasure(t[8].value))},2199411900:function(e,t){return new t_.IfcMaterialList(e,t[0].map((function(e){return new H_(e.value)})))},2235152071:function(e,t){return new t_.IfcMaterialProfile(e,t[0]?new t_.IfcLabel(t[0].value):null,t[1]?new t_.IfcText(t[1].value):null,t[2]?new H_(t[2].value):null,new H_(t[3].value),t[4]?new t_.IfcInteger(t[4].value):null,t[5]?new t_.IfcLabel(t[5].value):null)},164193824:function(e,t){return new t_.IfcMaterialProfileSet(e,t[0]?new t_.IfcLabel(t[0].value):null,t[1]?new t_.IfcText(t[1].value):null,t[2].map((function(e){return new H_(e.value)})),t[3]?new H_(t[3].value):null)},552965576:function(e,t){return new t_.IfcMaterialProfileWithOffsets(e,t[0]?new t_.IfcLabel(t[0].value):null,t[1]?new t_.IfcText(t[1].value):null,t[2]?new H_(t[2].value):null,new H_(t[3].value),t[4]?new t_.IfcInteger(t[4].value):null,t[5]?new t_.IfcLabel(t[5].value):null,new t_.IfcLengthMeasure(t[6].value))},1507914824:function(e,t){return new t_.IfcMaterialUsageDefinition(e)},2597039031:function(e,t){return new t_.IfcMeasureWithUnit(e,K_(3,t[0]),new H_(t[1].value))},3368373690:function(e,t){return new t_.IfcMetric(e,new t_.IfcLabel(t[0].value),t[1]?new t_.IfcText(t[1].value):null,t[2],t[3]?new t_.IfcLabel(t[3].value):null,t[4]?new H_(t[4].value):null,t[5]?new t_.IfcDateTime(t[5].value):null,t[6]?new t_.IfcLabel(t[6].value):null,t[7],t[8]?new t_.IfcLabel(t[8].value):null,t[9]?new H_(t[9].value):null,t[10]?new H_(t[10].value):null)},2706619895:function(e,t){return new t_.IfcMonetaryUnit(e,new t_.IfcLabel(t[0].value))},1918398963:function(e,t){return new t_.IfcNamedUnit(e,new H_(t[0].value),t[1])},3701648758:function(e,t){return new t_.IfcObjectPlacement(e,t[0]?new H_(t[0].value):null)},2251480897:function(e,t){return new t_.IfcObjective(e,new t_.IfcLabel(t[0].value),t[1]?new t_.IfcText(t[1].value):null,t[2],t[3]?new t_.IfcLabel(t[3].value):null,t[4]?new H_(t[4].value):null,t[5]?new t_.IfcDateTime(t[5].value):null,t[6]?new t_.IfcLabel(t[6].value):null,t[7]?t[7].map((function(e){return new H_(e.value)})):null,t[8],t[9],t[10]?new t_.IfcLabel(t[10].value):null)},4251960020:function(e,t){return new t_.IfcOrganization(e,t[0]?new t_.IfcIdentifier(t[0].value):null,new t_.IfcLabel(t[1].value),t[2]?new t_.IfcText(t[2].value):null,t[3]?t[3].map((function(e){return new H_(e.value)})):null,t[4]?t[4].map((function(e){return new H_(e.value)})):null)},1207048766:function(e,t){return new t_.IfcOwnerHistory(e,new H_(t[0].value),new H_(t[1].value),t[2],t[3],t[4]?new t_.IfcTimeStamp(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,new t_.IfcTimeStamp(t[7].value))},2077209135:function(e,t){return new t_.IfcPerson(e,t[0]?new t_.IfcIdentifier(t[0].value):null,t[1]?new t_.IfcLabel(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?t[3].map((function(e){return new t_.IfcLabel(e.value)})):null,t[4]?t[4].map((function(e){return new t_.IfcLabel(e.value)})):null,t[5]?t[5].map((function(e){return new t_.IfcLabel(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?t[7].map((function(e){return new H_(e.value)})):null)},101040310:function(e,t){return new t_.IfcPersonAndOrganization(e,new H_(t[0].value),new H_(t[1].value),t[2]?t[2].map((function(e){return new H_(e.value)})):null)},2483315170:function(e,t){return new t_.IfcPhysicalQuantity(e,new t_.IfcLabel(t[0].value),t[1]?new t_.IfcText(t[1].value):null)},2226359599:function(e,t){return new t_.IfcPhysicalSimpleQuantity(e,new t_.IfcLabel(t[0].value),t[1]?new t_.IfcText(t[1].value):null,t[2]?new H_(t[2].value):null)},3355820592:function(e,t){return new t_.IfcPostalAddress(e,t[0],t[1]?new t_.IfcText(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcLabel(t[3].value):null,t[4]?t[4].map((function(e){return new t_.IfcLabel(e.value)})):null,t[5]?new t_.IfcLabel(t[5].value):null,t[6]?new t_.IfcLabel(t[6].value):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9]?new t_.IfcLabel(t[9].value):null)},677532197:function(e,t){return new t_.IfcPresentationItem(e)},2022622350:function(e,t){return new t_.IfcPresentationLayerAssignment(e,new t_.IfcLabel(t[0].value),t[1]?new t_.IfcText(t[1].value):null,t[2].map((function(e){return new H_(e.value)})),t[3]?new t_.IfcIdentifier(t[3].value):null)},1304840413:function(e,t){return new t_.IfcPresentationLayerWithStyle(e,new t_.IfcLabel(t[0].value),t[1]?new t_.IfcText(t[1].value):null,t[2].map((function(e){return new H_(e.value)})),t[3]?new t_.IfcIdentifier(t[3].value):null,new t_.IfcLogical(t[4].value),new t_.IfcLogical(t[5].value),new t_.IfcLogical(t[6].value),t[7]?t[7].map((function(e){return new H_(e.value)})):null)},3119450353:function(e,t){return new t_.IfcPresentationStyle(e,t[0]?new t_.IfcLabel(t[0].value):null)},2095639259:function(e,t){return new t_.IfcProductRepresentation(e,t[0]?new t_.IfcLabel(t[0].value):null,t[1]?new t_.IfcText(t[1].value):null,t[2].map((function(e){return new H_(e.value)})))},3958567839:function(e,t){return new t_.IfcProfileDef(e,t[0],t[1]?new t_.IfcLabel(t[1].value):null)},3843373140:function(e,t){return new t_.IfcProjectedCRS(e,new t_.IfcLabel(t[0].value),t[1]?new t_.IfcText(t[1].value):null,t[2]?new t_.IfcIdentifier(t[2].value):null,t[3]?new t_.IfcIdentifier(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?new t_.IfcIdentifier(t[5].value):null,t[6]?new H_(t[6].value):null)},986844984:function(e,t){return new t_.IfcPropertyAbstraction(e)},3710013099:function(e,t){return new t_.IfcPropertyEnumeration(e,new t_.IfcLabel(t[0].value),t[1].map((function(e){return K_(3,e)})),t[2]?new H_(t[2].value):null)},2044713172:function(e,t){return new t_.IfcQuantityArea(e,new t_.IfcLabel(t[0].value),t[1]?new t_.IfcText(t[1].value):null,t[2]?new H_(t[2].value):null,new t_.IfcAreaMeasure(t[3].value),t[4]?new t_.IfcLabel(t[4].value):null)},2093928680:function(e,t){return new t_.IfcQuantityCount(e,new t_.IfcLabel(t[0].value),t[1]?new t_.IfcText(t[1].value):null,t[2]?new H_(t[2].value):null,new t_.IfcCountMeasure(t[3].value),t[4]?new t_.IfcLabel(t[4].value):null)},931644368:function(e,t){return new t_.IfcQuantityLength(e,new t_.IfcLabel(t[0].value),t[1]?new t_.IfcText(t[1].value):null,t[2]?new H_(t[2].value):null,new t_.IfcLengthMeasure(t[3].value),t[4]?new t_.IfcLabel(t[4].value):null)},2691318326:function(e,t){return new t_.IfcQuantityNumber(e,new t_.IfcLabel(t[0].value),t[1]?new t_.IfcText(t[1].value):null,t[2]?new H_(t[2].value):null,new t_.IfcNumericMeasure(t[3].value),t[4]?new t_.IfcLabel(t[4].value):null)},3252649465:function(e,t){return new t_.IfcQuantityTime(e,new t_.IfcLabel(t[0].value),t[1]?new t_.IfcText(t[1].value):null,t[2]?new H_(t[2].value):null,new t_.IfcTimeMeasure(t[3].value),t[4]?new t_.IfcLabel(t[4].value):null)},2405470396:function(e,t){return new t_.IfcQuantityVolume(e,new t_.IfcLabel(t[0].value),t[1]?new t_.IfcText(t[1].value):null,t[2]?new H_(t[2].value):null,new t_.IfcVolumeMeasure(t[3].value),t[4]?new t_.IfcLabel(t[4].value):null)},825690147:function(e,t){return new t_.IfcQuantityWeight(e,new t_.IfcLabel(t[0].value),t[1]?new t_.IfcText(t[1].value):null,t[2]?new H_(t[2].value):null,new t_.IfcMassMeasure(t[3].value),t[4]?new t_.IfcLabel(t[4].value):null)},3915482550:function(e,t){return new t_.IfcRecurrencePattern(e,t[0],t[1]?t[1].map((function(e){return new t_.IfcDayInMonthNumber(e.value)})):null,t[2]?t[2].map((function(e){return new t_.IfcDayInWeekNumber(e.value)})):null,t[3]?t[3].map((function(e){return new t_.IfcMonthInYearNumber(e.value)})):null,t[4]?new t_.IfcInteger(t[4].value):null,t[5]?new t_.IfcInteger(t[5].value):null,t[6]?new t_.IfcInteger(t[6].value):null,t[7]?t[7].map((function(e){return new H_(e.value)})):null)},2433181523:function(e,t){return new t_.IfcReference(e,t[0]?new t_.IfcIdentifier(t[0].value):null,t[1]?new t_.IfcIdentifier(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?t[3].map((function(e){return new t_.IfcInteger(e.value)})):null,t[4]?new H_(t[4].value):null)},1076942058:function(e,t){return new t_.IfcRepresentation(e,new H_(t[0].value),t[1]?new t_.IfcLabel(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3].map((function(e){return new H_(e.value)})))},3377609919:function(e,t){return new t_.IfcRepresentationContext(e,t[0]?new t_.IfcLabel(t[0].value):null,t[1]?new t_.IfcLabel(t[1].value):null)},3008791417:function(e,t){return new t_.IfcRepresentationItem(e)},1660063152:function(e,t){return new t_.IfcRepresentationMap(e,new H_(t[0].value),new H_(t[1].value))},2439245199:function(e,t){return new t_.IfcResourceLevelRelationship(e,t[0]?new t_.IfcLabel(t[0].value):null,t[1]?new t_.IfcText(t[1].value):null)},2341007311:function(e,t){return new t_.IfcRoot(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null)},448429030:function(e,t){return new t_.IfcSIUnit(e,new H_(t[0].value),t[1],t[2],t[3])},1054537805:function(e,t){return new t_.IfcSchedulingTime(e,t[0]?new t_.IfcLabel(t[0].value):null,t[1],t[2]?new t_.IfcLabel(t[2].value):null)},867548509:function(e,t){return new t_.IfcShapeAspect(e,t[0].map((function(e){return new H_(e.value)})),t[1]?new t_.IfcLabel(t[1].value):null,t[2]?new t_.IfcText(t[2].value):null,new t_.IfcLogical(t[3].value),t[4]?new H_(t[4].value):null)},3982875396:function(e,t){return new t_.IfcShapeModel(e,new H_(t[0].value),t[1]?new t_.IfcLabel(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3].map((function(e){return new H_(e.value)})))},4240577450:function(e,t){return new t_.IfcShapeRepresentation(e,new H_(t[0].value),t[1]?new t_.IfcLabel(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3].map((function(e){return new H_(e.value)})))},2273995522:function(e,t){return new t_.IfcStructuralConnectionCondition(e,t[0]?new t_.IfcLabel(t[0].value):null)},2162789131:function(e,t){return new t_.IfcStructuralLoad(e,t[0]?new t_.IfcLabel(t[0].value):null)},3478079324:function(e,t){return new t_.IfcStructuralLoadConfiguration(e,t[0]?new t_.IfcLabel(t[0].value):null,t[1].map((function(e){return new H_(e.value)})),t[2]?t[2].map((function(e){return new t_.IfcLengthMeasure(e.value)})):null)},609421318:function(e,t){return new t_.IfcStructuralLoadOrResult(e,t[0]?new t_.IfcLabel(t[0].value):null)},2525727697:function(e,t){return new t_.IfcStructuralLoadStatic(e,t[0]?new t_.IfcLabel(t[0].value):null)},3408363356:function(e,t){return new t_.IfcStructuralLoadTemperature(e,t[0]?new t_.IfcLabel(t[0].value):null,t[1]?new t_.IfcThermodynamicTemperatureMeasure(t[1].value):null,t[2]?new t_.IfcThermodynamicTemperatureMeasure(t[2].value):null,t[3]?new t_.IfcThermodynamicTemperatureMeasure(t[3].value):null)},2830218821:function(e,t){return new t_.IfcStyleModel(e,new H_(t[0].value),t[1]?new t_.IfcLabel(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3].map((function(e){return new H_(e.value)})))},3958052878:function(e,t){return new t_.IfcStyledItem(e,t[0]?new H_(t[0].value):null,t[1].map((function(e){return new H_(e.value)})),t[2]?new t_.IfcLabel(t[2].value):null)},3049322572:function(e,t){return new t_.IfcStyledRepresentation(e,new H_(t[0].value),t[1]?new t_.IfcLabel(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3].map((function(e){return new H_(e.value)})))},2934153892:function(e,t){return new t_.IfcSurfaceReinforcementArea(e,t[0]?new t_.IfcLabel(t[0].value):null,t[1]?t[1].map((function(e){return new t_.IfcLengthMeasure(e.value)})):null,t[2]?t[2].map((function(e){return new t_.IfcLengthMeasure(e.value)})):null,t[3]?new t_.IfcRatioMeasure(t[3].value):null)},1300840506:function(e,t){return new t_.IfcSurfaceStyle(e,t[0]?new t_.IfcLabel(t[0].value):null,t[1],t[2].map((function(e){return new H_(e.value)})))},3303107099:function(e,t){return new t_.IfcSurfaceStyleLighting(e,new H_(t[0].value),new H_(t[1].value),new H_(t[2].value),new H_(t[3].value))},1607154358:function(e,t){return new t_.IfcSurfaceStyleRefraction(e,t[0]?new t_.IfcReal(t[0].value):null,t[1]?new t_.IfcReal(t[1].value):null)},846575682:function(e,t){return new t_.IfcSurfaceStyleShading(e,new H_(t[0].value),t[1]?new t_.IfcNormalisedRatioMeasure(t[1].value):null)},1351298697:function(e,t){return new t_.IfcSurfaceStyleWithTextures(e,t[0].map((function(e){return new H_(e.value)})))},626085974:function(e,t){return new t_.IfcSurfaceTexture(e,new t_.IfcBoolean(t[0].value),new t_.IfcBoolean(t[1].value),t[2]?new t_.IfcIdentifier(t[2].value):null,t[3]?new H_(t[3].value):null,t[4]?t[4].map((function(e){return new t_.IfcIdentifier(e.value)})):null)},985171141:function(e,t){return new t_.IfcTable(e,t[0]?new t_.IfcLabel(t[0].value):null,t[1]?t[1].map((function(e){return new H_(e.value)})):null,t[2]?t[2].map((function(e){return new H_(e.value)})):null)},2043862942:function(e,t){return new t_.IfcTableColumn(e,t[0]?new t_.IfcIdentifier(t[0].value):null,t[1]?new t_.IfcLabel(t[1].value):null,t[2]?new t_.IfcText(t[2].value):null,t[3]?new H_(t[3].value):null,t[4]?new H_(t[4].value):null)},531007025:function(e,t){return new t_.IfcTableRow(e,t[0]?t[0].map((function(e){return K_(3,e)})):null,t[1]?new t_.IfcBoolean(t[1].value):null)},1549132990:function(e,t){return new t_.IfcTaskTime(e,t[0]?new t_.IfcLabel(t[0].value):null,t[1],t[2]?new t_.IfcLabel(t[2].value):null,t[3],t[4]?new t_.IfcDuration(t[4].value):null,t[5]?new t_.IfcDateTime(t[5].value):null,t[6]?new t_.IfcDateTime(t[6].value):null,t[7]?new t_.IfcDateTime(t[7].value):null,t[8]?new t_.IfcDateTime(t[8].value):null,t[9]?new t_.IfcDateTime(t[9].value):null,t[10]?new t_.IfcDateTime(t[10].value):null,t[11]?new t_.IfcDuration(t[11].value):null,t[12]?new t_.IfcDuration(t[12].value):null,t[13]?new t_.IfcBoolean(t[13].value):null,t[14]?new t_.IfcDateTime(t[14].value):null,t[15]?new t_.IfcDuration(t[15].value):null,t[16]?new t_.IfcDateTime(t[16].value):null,t[17]?new t_.IfcDateTime(t[17].value):null,t[18]?new t_.IfcDuration(t[18].value):null,t[19]?new t_.IfcPositiveRatioMeasure(t[19].value):null)},2771591690:function(e,t){return new t_.IfcTaskTimeRecurring(e,t[0]?new t_.IfcLabel(t[0].value):null,t[1],t[2]?new t_.IfcLabel(t[2].value):null,t[3],t[4]?new t_.IfcDuration(t[4].value):null,t[5]?new t_.IfcDateTime(t[5].value):null,t[6]?new t_.IfcDateTime(t[6].value):null,t[7]?new t_.IfcDateTime(t[7].value):null,t[8]?new t_.IfcDateTime(t[8].value):null,t[9]?new t_.IfcDateTime(t[9].value):null,t[10]?new t_.IfcDateTime(t[10].value):null,t[11]?new t_.IfcDuration(t[11].value):null,t[12]?new t_.IfcDuration(t[12].value):null,t[13]?new t_.IfcBoolean(t[13].value):null,t[14]?new t_.IfcDateTime(t[14].value):null,t[15]?new t_.IfcDuration(t[15].value):null,t[16]?new t_.IfcDateTime(t[16].value):null,t[17]?new t_.IfcDateTime(t[17].value):null,t[18]?new t_.IfcDuration(t[18].value):null,t[19]?new t_.IfcPositiveRatioMeasure(t[19].value):null,new H_(t[20].value))},912023232:function(e,t){return new t_.IfcTelecomAddress(e,t[0],t[1]?new t_.IfcText(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?t[3].map((function(e){return new t_.IfcLabel(e.value)})):null,t[4]?t[4].map((function(e){return new t_.IfcLabel(e.value)})):null,t[5]?new t_.IfcLabel(t[5].value):null,t[6]?t[6].map((function(e){return new t_.IfcLabel(e.value)})):null,t[7]?new t_.IfcURIReference(t[7].value):null,t[8]?t[8].map((function(e){return new t_.IfcURIReference(e.value)})):null)},1447204868:function(e,t){return new t_.IfcTextStyle(e,t[0]?new t_.IfcLabel(t[0].value):null,t[1]?new H_(t[1].value):null,t[2]?new H_(t[2].value):null,new H_(t[3].value),t[4]?new t_.IfcBoolean(t[4].value):null)},2636378356:function(e,t){return new t_.IfcTextStyleForDefinedFont(e,new H_(t[0].value),t[1]?new H_(t[1].value):null)},1640371178:function(e,t){return new t_.IfcTextStyleTextModel(e,t[0]?K_(3,t[0]):null,t[1]?new t_.IfcTextAlignment(t[1].value):null,t[2]?new t_.IfcTextDecoration(t[2].value):null,t[3]?K_(3,t[3]):null,t[4]?K_(3,t[4]):null,t[5]?new t_.IfcTextTransformation(t[5].value):null,t[6]?K_(3,t[6]):null)},280115917:function(e,t){return new t_.IfcTextureCoordinate(e,t[0].map((function(e){return new H_(e.value)})))},1742049831:function(e,t){return new t_.IfcTextureCoordinateGenerator(e,t[0].map((function(e){return new H_(e.value)})),new t_.IfcLabel(t[1].value),t[2]?t[2].map((function(e){return new t_.IfcReal(e.value)})):null)},222769930:function(e,t){return new t_.IfcTextureCoordinateIndices(e,t[0].map((function(e){return new t_.IfcPositiveInteger(e.value)})),new H_(t[1].value))},1010789467:function(e,t){return new t_.IfcTextureCoordinateIndicesWithVoids(e,t[0].map((function(e){return new t_.IfcPositiveInteger(e.value)})),new H_(t[1].value),t[2].map((function(e){return new t_.IfcPositiveInteger(e.value)})))},2552916305:function(e,t){return new t_.IfcTextureMap(e,t[0].map((function(e){return new H_(e.value)})),t[1].map((function(e){return new H_(e.value)})),new H_(t[2].value))},1210645708:function(e,t){return new t_.IfcTextureVertex(e,t[0].map((function(e){return new t_.IfcParameterValue(e.value)})))},3611470254:function(e,t){return new t_.IfcTextureVertexList(e,t[0].map((function(e){return new t_.IfcParameterValue(e.value)})))},1199560280:function(e,t){return new t_.IfcTimePeriod(e,new t_.IfcTime(t[0].value),new t_.IfcTime(t[1].value))},3101149627:function(e,t){return new t_.IfcTimeSeries(e,new t_.IfcLabel(t[0].value),t[1]?new t_.IfcText(t[1].value):null,new t_.IfcDateTime(t[2].value),new t_.IfcDateTime(t[3].value),t[4],t[5],t[6]?new t_.IfcLabel(t[6].value):null,t[7]?new H_(t[7].value):null)},581633288:function(e,t){return new t_.IfcTimeSeriesValue(e,t[0].map((function(e){return K_(3,e)})))},1377556343:function(e,t){return new t_.IfcTopologicalRepresentationItem(e)},1735638870:function(e,t){return new t_.IfcTopologyRepresentation(e,new H_(t[0].value),t[1]?new t_.IfcLabel(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3].map((function(e){return new H_(e.value)})))},180925521:function(e,t){return new t_.IfcUnitAssignment(e,t[0].map((function(e){return new H_(e.value)})))},2799835756:function(e,t){return new t_.IfcVertex(e)},1907098498:function(e,t){return new t_.IfcVertexPoint(e,new H_(t[0].value))},891718957:function(e,t){return new t_.IfcVirtualGridIntersection(e,t[0].map((function(e){return new H_(e.value)})),t[1].map((function(e){return new t_.IfcLengthMeasure(e.value)})))},1236880293:function(e,t){return new t_.IfcWorkTime(e,t[0]?new t_.IfcLabel(t[0].value):null,t[1],t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new H_(t[3].value):null,t[4]?new t_.IfcDate(t[4].value):null,t[5]?new t_.IfcDate(t[5].value):null)},3752311538:function(e,t){return new t_.IfcAlignmentCantSegment(e,t[0]?new t_.IfcLabel(t[0].value):null,t[1]?new t_.IfcLabel(t[1].value):null,new t_.IfcLengthMeasure(t[2].value),new t_.IfcNonNegativeLengthMeasure(t[3].value),new t_.IfcLengthMeasure(t[4].value),t[5]?new t_.IfcLengthMeasure(t[5].value):null,new t_.IfcLengthMeasure(t[6].value),t[7]?new t_.IfcLengthMeasure(t[7].value):null,t[8])},536804194:function(e,t){return new t_.IfcAlignmentHorizontalSegment(e,t[0]?new t_.IfcLabel(t[0].value):null,t[1]?new t_.IfcLabel(t[1].value):null,new H_(t[2].value),new t_.IfcPlaneAngleMeasure(t[3].value),new t_.IfcLengthMeasure(t[4].value),new t_.IfcLengthMeasure(t[5].value),new t_.IfcNonNegativeLengthMeasure(t[6].value),t[7]?new t_.IfcPositiveLengthMeasure(t[7].value):null,t[8])},3869604511:function(e,t){return new t_.IfcApprovalRelationship(e,t[0]?new t_.IfcLabel(t[0].value):null,t[1]?new t_.IfcText(t[1].value):null,new H_(t[2].value),t[3].map((function(e){return new H_(e.value)})))},3798115385:function(e,t){return new t_.IfcArbitraryClosedProfileDef(e,t[0],t[1]?new t_.IfcLabel(t[1].value):null,new H_(t[2].value))},1310608509:function(e,t){return new t_.IfcArbitraryOpenProfileDef(e,t[0],t[1]?new t_.IfcLabel(t[1].value):null,new H_(t[2].value))},2705031697:function(e,t){return new t_.IfcArbitraryProfileDefWithVoids(e,t[0],t[1]?new t_.IfcLabel(t[1].value):null,new H_(t[2].value),t[3].map((function(e){return new H_(e.value)})))},616511568:function(e,t){return new t_.IfcBlobTexture(e,new t_.IfcBoolean(t[0].value),new t_.IfcBoolean(t[1].value),t[2]?new t_.IfcIdentifier(t[2].value):null,t[3]?new H_(t[3].value):null,t[4]?t[4].map((function(e){return new t_.IfcIdentifier(e.value)})):null,new t_.IfcIdentifier(t[5].value),new t_.IfcBinary(t[6].value))},3150382593:function(e,t){return new t_.IfcCenterLineProfileDef(e,t[0],t[1]?new t_.IfcLabel(t[1].value):null,new H_(t[2].value),new t_.IfcPositiveLengthMeasure(t[3].value))},747523909:function(e,t){return new t_.IfcClassification(e,t[0]?new t_.IfcLabel(t[0].value):null,t[1]?new t_.IfcLabel(t[1].value):null,t[2]?new t_.IfcDate(t[2].value):null,new t_.IfcLabel(t[3].value),t[4]?new t_.IfcText(t[4].value):null,t[5]?new t_.IfcURIReference(t[5].value):null,t[6]?t[6].map((function(e){return new t_.IfcIdentifier(e.value)})):null)},647927063:function(e,t){return new t_.IfcClassificationReference(e,t[0]?new t_.IfcURIReference(t[0].value):null,t[1]?new t_.IfcIdentifier(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new H_(t[3].value):null,t[4]?new t_.IfcText(t[4].value):null,t[5]?new t_.IfcIdentifier(t[5].value):null)},3285139300:function(e,t){return new t_.IfcColourRgbList(e,t[0].map((function(e){return new t_.IfcNormalisedRatioMeasure(e.value)})))},3264961684:function(e,t){return new t_.IfcColourSpecification(e,t[0]?new t_.IfcLabel(t[0].value):null)},1485152156:function(e,t){return new t_.IfcCompositeProfileDef(e,t[0],t[1]?new t_.IfcLabel(t[1].value):null,t[2].map((function(e){return new H_(e.value)})),t[3]?new t_.IfcLabel(t[3].value):null)},370225590:function(e,t){return new t_.IfcConnectedFaceSet(e,t[0].map((function(e){return new H_(e.value)})))},1981873012:function(e,t){return new t_.IfcConnectionCurveGeometry(e,new H_(t[0].value),t[1]?new H_(t[1].value):null)},45288368:function(e,t){return new t_.IfcConnectionPointEccentricity(e,new H_(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLengthMeasure(t[2].value):null,t[3]?new t_.IfcLengthMeasure(t[3].value):null,t[4]?new t_.IfcLengthMeasure(t[4].value):null)},3050246964:function(e,t){return new t_.IfcContextDependentUnit(e,new H_(t[0].value),t[1],new t_.IfcLabel(t[2].value))},2889183280:function(e,t){return new t_.IfcConversionBasedUnit(e,new H_(t[0].value),t[1],new t_.IfcLabel(t[2].value),new H_(t[3].value))},2713554722:function(e,t){return new t_.IfcConversionBasedUnitWithOffset(e,new H_(t[0].value),t[1],new t_.IfcLabel(t[2].value),new H_(t[3].value),new t_.IfcReal(t[4].value))},539742890:function(e,t){return new t_.IfcCurrencyRelationship(e,t[0]?new t_.IfcLabel(t[0].value):null,t[1]?new t_.IfcText(t[1].value):null,new H_(t[2].value),new H_(t[3].value),new t_.IfcPositiveRatioMeasure(t[4].value),t[5]?new t_.IfcDateTime(t[5].value):null,t[6]?new H_(t[6].value):null)},3800577675:function(e,t){return new t_.IfcCurveStyle(e,t[0]?new t_.IfcLabel(t[0].value):null,t[1]?new H_(t[1].value):null,t[2]?K_(3,t[2]):null,t[3]?new H_(t[3].value):null,t[4]?new t_.IfcBoolean(t[4].value):null)},1105321065:function(e,t){return new t_.IfcCurveStyleFont(e,t[0]?new t_.IfcLabel(t[0].value):null,t[1].map((function(e){return new H_(e.value)})))},2367409068:function(e,t){return new t_.IfcCurveStyleFontAndScaling(e,t[0]?new t_.IfcLabel(t[0].value):null,new H_(t[1].value),new t_.IfcPositiveRatioMeasure(t[2].value))},3510044353:function(e,t){return new t_.IfcCurveStyleFontPattern(e,new t_.IfcLengthMeasure(t[0].value),new t_.IfcPositiveLengthMeasure(t[1].value))},3632507154:function(e,t){return new t_.IfcDerivedProfileDef(e,t[0],t[1]?new t_.IfcLabel(t[1].value):null,new H_(t[2].value),new H_(t[3].value),t[4]?new t_.IfcLabel(t[4].value):null)},1154170062:function(e,t){return new t_.IfcDocumentInformation(e,new t_.IfcIdentifier(t[0].value),new t_.IfcLabel(t[1].value),t[2]?new t_.IfcText(t[2].value):null,t[3]?new t_.IfcURIReference(t[3].value):null,t[4]?new t_.IfcText(t[4].value):null,t[5]?new t_.IfcText(t[5].value):null,t[6]?new t_.IfcText(t[6].value):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new H_(t[8].value):null,t[9]?t[9].map((function(e){return new H_(e.value)})):null,t[10]?new t_.IfcDateTime(t[10].value):null,t[11]?new t_.IfcDateTime(t[11].value):null,t[12]?new t_.IfcIdentifier(t[12].value):null,t[13]?new t_.IfcDate(t[13].value):null,t[14]?new t_.IfcDate(t[14].value):null,t[15],t[16])},770865208:function(e,t){return new t_.IfcDocumentInformationRelationship(e,t[0]?new t_.IfcLabel(t[0].value):null,t[1]?new t_.IfcText(t[1].value):null,new H_(t[2].value),t[3].map((function(e){return new H_(e.value)})),t[4]?new t_.IfcLabel(t[4].value):null)},3732053477:function(e,t){return new t_.IfcDocumentReference(e,t[0]?new t_.IfcURIReference(t[0].value):null,t[1]?new t_.IfcIdentifier(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new H_(t[4].value):null)},3900360178:function(e,t){return new t_.IfcEdge(e,new H_(t[0].value),new H_(t[1].value))},476780140:function(e,t){return new t_.IfcEdgeCurve(e,new H_(t[0].value),new H_(t[1].value),new H_(t[2].value),new t_.IfcBoolean(t[3].value))},211053100:function(e,t){return new t_.IfcEventTime(e,t[0]?new t_.IfcLabel(t[0].value):null,t[1],t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcDateTime(t[3].value):null,t[4]?new t_.IfcDateTime(t[4].value):null,t[5]?new t_.IfcDateTime(t[5].value):null,t[6]?new t_.IfcDateTime(t[6].value):null)},297599258:function(e,t){return new t_.IfcExtendedProperties(e,t[0]?new t_.IfcIdentifier(t[0].value):null,t[1]?new t_.IfcText(t[1].value):null,t[2].map((function(e){return new H_(e.value)})))},1437805879:function(e,t){return new t_.IfcExternalReferenceRelationship(e,t[0]?new t_.IfcLabel(t[0].value):null,t[1]?new t_.IfcText(t[1].value):null,new H_(t[2].value),t[3].map((function(e){return new H_(e.value)})))},2556980723:function(e,t){return new t_.IfcFace(e,t[0].map((function(e){return new H_(e.value)})))},1809719519:function(e,t){return new t_.IfcFaceBound(e,new H_(t[0].value),new t_.IfcBoolean(t[1].value))},803316827:function(e,t){return new t_.IfcFaceOuterBound(e,new H_(t[0].value),new t_.IfcBoolean(t[1].value))},3008276851:function(e,t){return new t_.IfcFaceSurface(e,t[0].map((function(e){return new H_(e.value)})),new H_(t[1].value),new t_.IfcBoolean(t[2].value))},4219587988:function(e,t){return new t_.IfcFailureConnectionCondition(e,t[0]?new t_.IfcLabel(t[0].value):null,t[1]?new t_.IfcForceMeasure(t[1].value):null,t[2]?new t_.IfcForceMeasure(t[2].value):null,t[3]?new t_.IfcForceMeasure(t[3].value):null,t[4]?new t_.IfcForceMeasure(t[4].value):null,t[5]?new t_.IfcForceMeasure(t[5].value):null,t[6]?new t_.IfcForceMeasure(t[6].value):null)},738692330:function(e,t){return new t_.IfcFillAreaStyle(e,t[0]?new t_.IfcLabel(t[0].value):null,t[1].map((function(e){return new H_(e.value)})),t[2]?new t_.IfcBoolean(t[2].value):null)},3448662350:function(e,t){return new t_.IfcGeometricRepresentationContext(e,t[0]?new t_.IfcLabel(t[0].value):null,t[1]?new t_.IfcLabel(t[1].value):null,new t_.IfcDimensionCount(t[2].value),t[3]?new t_.IfcReal(t[3].value):null,new H_(t[4].value),t[5]?new H_(t[5].value):null)},2453401579:function(e,t){return new t_.IfcGeometricRepresentationItem(e)},4142052618:function(e,t){return new t_.IfcGeometricRepresentationSubContext(e,t[0]?new t_.IfcLabel(t[0].value):null,t[1]?new t_.IfcLabel(t[1].value):null,new H_(t[2].value),new H_(t[3].value),t[4]?new t_.IfcPositiveRatioMeasure(t[4].value):null,t[5],t[6]?new t_.IfcLabel(t[6].value):null)},3590301190:function(e,t){return new t_.IfcGeometricSet(e,t[0].map((function(e){return new H_(e.value)})))},178086475:function(e,t){return new t_.IfcGridPlacement(e,t[0]?new H_(t[0].value):null,new H_(t[1].value),t[2]?new H_(t[2].value):null)},812098782:function(e,t){return new t_.IfcHalfSpaceSolid(e,new H_(t[0].value),new t_.IfcBoolean(t[1].value))},3905492369:function(e,t){return new t_.IfcImageTexture(e,new t_.IfcBoolean(t[0].value),new t_.IfcBoolean(t[1].value),t[2]?new t_.IfcIdentifier(t[2].value):null,t[3]?new H_(t[3].value):null,t[4]?t[4].map((function(e){return new t_.IfcIdentifier(e.value)})):null,new t_.IfcURIReference(t[5].value))},3570813810:function(e,t){return new t_.IfcIndexedColourMap(e,new H_(t[0].value),t[1]?new t_.IfcNormalisedRatioMeasure(t[1].value):null,new H_(t[2].value),t[3].map((function(e){return new t_.IfcPositiveInteger(e.value)})))},1437953363:function(e,t){return new t_.IfcIndexedTextureMap(e,t[0].map((function(e){return new H_(e.value)})),new H_(t[1].value),new H_(t[2].value))},2133299955:function(e,t){return new t_.IfcIndexedTriangleTextureMap(e,t[0].map((function(e){return new H_(e.value)})),new H_(t[1].value),new H_(t[2].value),t[3]?t[3].map((function(e){return new t_.IfcPositiveInteger(e.value)})):null)},3741457305:function(e,t){return new t_.IfcIrregularTimeSeries(e,new t_.IfcLabel(t[0].value),t[1]?new t_.IfcText(t[1].value):null,new t_.IfcDateTime(t[2].value),new t_.IfcDateTime(t[3].value),t[4],t[5],t[6]?new t_.IfcLabel(t[6].value):null,t[7]?new H_(t[7].value):null,t[8].map((function(e){return new H_(e.value)})))},1585845231:function(e,t){return new t_.IfcLagTime(e,t[0]?new t_.IfcLabel(t[0].value):null,t[1],t[2]?new t_.IfcLabel(t[2].value):null,K_(3,t[3]),t[4])},1402838566:function(e,t){return new t_.IfcLightSource(e,t[0]?new t_.IfcLabel(t[0].value):null,new H_(t[1].value),t[2]?new t_.IfcNormalisedRatioMeasure(t[2].value):null,t[3]?new t_.IfcNormalisedRatioMeasure(t[3].value):null)},125510826:function(e,t){return new t_.IfcLightSourceAmbient(e,t[0]?new t_.IfcLabel(t[0].value):null,new H_(t[1].value),t[2]?new t_.IfcNormalisedRatioMeasure(t[2].value):null,t[3]?new t_.IfcNormalisedRatioMeasure(t[3].value):null)},2604431987:function(e,t){return new t_.IfcLightSourceDirectional(e,t[0]?new t_.IfcLabel(t[0].value):null,new H_(t[1].value),t[2]?new t_.IfcNormalisedRatioMeasure(t[2].value):null,t[3]?new t_.IfcNormalisedRatioMeasure(t[3].value):null,new H_(t[4].value))},4266656042:function(e,t){return new t_.IfcLightSourceGoniometric(e,t[0]?new t_.IfcLabel(t[0].value):null,new H_(t[1].value),t[2]?new t_.IfcNormalisedRatioMeasure(t[2].value):null,t[3]?new t_.IfcNormalisedRatioMeasure(t[3].value):null,new H_(t[4].value),t[5]?new H_(t[5].value):null,new t_.IfcThermodynamicTemperatureMeasure(t[6].value),new t_.IfcLuminousFluxMeasure(t[7].value),t[8],new H_(t[9].value))},1520743889:function(e,t){return new t_.IfcLightSourcePositional(e,t[0]?new t_.IfcLabel(t[0].value):null,new H_(t[1].value),t[2]?new t_.IfcNormalisedRatioMeasure(t[2].value):null,t[3]?new t_.IfcNormalisedRatioMeasure(t[3].value):null,new H_(t[4].value),new t_.IfcPositiveLengthMeasure(t[5].value),new t_.IfcReal(t[6].value),new t_.IfcReal(t[7].value),new t_.IfcReal(t[8].value))},3422422726:function(e,t){return new t_.IfcLightSourceSpot(e,t[0]?new t_.IfcLabel(t[0].value):null,new H_(t[1].value),t[2]?new t_.IfcNormalisedRatioMeasure(t[2].value):null,t[3]?new t_.IfcNormalisedRatioMeasure(t[3].value):null,new H_(t[4].value),new t_.IfcPositiveLengthMeasure(t[5].value),new t_.IfcReal(t[6].value),new t_.IfcReal(t[7].value),new t_.IfcReal(t[8].value),new H_(t[9].value),t[10]?new t_.IfcReal(t[10].value):null,new t_.IfcPositivePlaneAngleMeasure(t[11].value),new t_.IfcPositivePlaneAngleMeasure(t[12].value))},388784114:function(e,t){return new t_.IfcLinearPlacement(e,t[0]?new H_(t[0].value):null,new H_(t[1].value),t[2]?new H_(t[2].value):null)},2624227202:function(e,t){return new t_.IfcLocalPlacement(e,t[0]?new H_(t[0].value):null,new H_(t[1].value))},1008929658:function(e,t){return new t_.IfcLoop(e)},2347385850:function(e,t){return new t_.IfcMappedItem(e,new H_(t[0].value),new H_(t[1].value))},1838606355:function(e,t){return new t_.IfcMaterial(e,new t_.IfcLabel(t[0].value),t[1]?new t_.IfcText(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null)},3708119e3:function(e,t){return new t_.IfcMaterialConstituent(e,t[0]?new t_.IfcLabel(t[0].value):null,t[1]?new t_.IfcText(t[1].value):null,new H_(t[2].value),t[3]?new t_.IfcNormalisedRatioMeasure(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null)},2852063980:function(e,t){return new t_.IfcMaterialConstituentSet(e,t[0]?new t_.IfcLabel(t[0].value):null,t[1]?new t_.IfcText(t[1].value):null,t[2]?t[2].map((function(e){return new H_(e.value)})):null)},2022407955:function(e,t){return new t_.IfcMaterialDefinitionRepresentation(e,t[0]?new t_.IfcLabel(t[0].value):null,t[1]?new t_.IfcText(t[1].value):null,t[2].map((function(e){return new H_(e.value)})),new H_(t[3].value))},1303795690:function(e,t){return new t_.IfcMaterialLayerSetUsage(e,new H_(t[0].value),t[1],t[2],new t_.IfcLengthMeasure(t[3].value),t[4]?new t_.IfcPositiveLengthMeasure(t[4].value):null)},3079605661:function(e,t){return new t_.IfcMaterialProfileSetUsage(e,new H_(t[0].value),t[1]?new t_.IfcCardinalPointReference(t[1].value):null,t[2]?new t_.IfcPositiveLengthMeasure(t[2].value):null)},3404854881:function(e,t){return new t_.IfcMaterialProfileSetUsageTapering(e,new H_(t[0].value),t[1]?new t_.IfcCardinalPointReference(t[1].value):null,t[2]?new t_.IfcPositiveLengthMeasure(t[2].value):null,new H_(t[3].value),t[4]?new t_.IfcCardinalPointReference(t[4].value):null)},3265635763:function(e,t){return new t_.IfcMaterialProperties(e,t[0]?new t_.IfcIdentifier(t[0].value):null,t[1]?new t_.IfcText(t[1].value):null,t[2].map((function(e){return new H_(e.value)})),new H_(t[3].value))},853536259:function(e,t){return new t_.IfcMaterialRelationship(e,t[0]?new t_.IfcLabel(t[0].value):null,t[1]?new t_.IfcText(t[1].value):null,new H_(t[2].value),t[3].map((function(e){return new H_(e.value)})),t[4]?new t_.IfcLabel(t[4].value):null)},2998442950:function(e,t){return new t_.IfcMirroredProfileDef(e,t[0],t[1]?new t_.IfcLabel(t[1].value):null,new H_(t[2].value),new H_(t[3].value),t[4]?new t_.IfcLabel(t[4].value):null)},219451334:function(e,t){return new t_.IfcObjectDefinition(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null)},182550632:function(e,t){return new t_.IfcOpenCrossProfileDef(e,t[0],t[1]?new t_.IfcLabel(t[1].value):null,new t_.IfcBoolean(t[2].value),t[3].map((function(e){return new t_.IfcNonNegativeLengthMeasure(e.value)})),t[4].map((function(e){return new t_.IfcPlaneAngleMeasure(e.value)})),t[5]?t[5].map((function(e){return new t_.IfcLabel(e.value)})):null,t[6]?new H_(t[6].value):null)},2665983363:function(e,t){return new t_.IfcOpenShell(e,t[0].map((function(e){return new H_(e.value)})))},1411181986:function(e,t){return new t_.IfcOrganizationRelationship(e,t[0]?new t_.IfcLabel(t[0].value):null,t[1]?new t_.IfcText(t[1].value):null,new H_(t[2].value),t[3].map((function(e){return new H_(e.value)})))},1029017970:function(e,t){return new t_.IfcOrientedEdge(e,new H_(t[0].value),new H_(t[1].value),new t_.IfcBoolean(t[2].value))},2529465313:function(e,t){return new t_.IfcParameterizedProfileDef(e,t[0],t[1]?new t_.IfcLabel(t[1].value):null,t[2]?new H_(t[2].value):null)},2519244187:function(e,t){return new t_.IfcPath(e,t[0].map((function(e){return new H_(e.value)})))},3021840470:function(e,t){return new t_.IfcPhysicalComplexQuantity(e,new t_.IfcLabel(t[0].value),t[1]?new t_.IfcText(t[1].value):null,t[2].map((function(e){return new H_(e.value)})),new t_.IfcLabel(t[3].value),t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new t_.IfcLabel(t[5].value):null)},597895409:function(e,t){return new t_.IfcPixelTexture(e,new t_.IfcBoolean(t[0].value),new t_.IfcBoolean(t[1].value),t[2]?new t_.IfcIdentifier(t[2].value):null,t[3]?new H_(t[3].value):null,t[4]?t[4].map((function(e){return new t_.IfcIdentifier(e.value)})):null,new t_.IfcInteger(t[5].value),new t_.IfcInteger(t[6].value),new t_.IfcInteger(t[7].value),t[8].map((function(e){return new t_.IfcBinary(e.value)})))},2004835150:function(e,t){return new t_.IfcPlacement(e,new H_(t[0].value))},1663979128:function(e,t){return new t_.IfcPlanarExtent(e,new t_.IfcLengthMeasure(t[0].value),new t_.IfcLengthMeasure(t[1].value))},2067069095:function(e,t){return new t_.IfcPoint(e)},2165702409:function(e,t){return new t_.IfcPointByDistanceExpression(e,K_(3,t[0]),t[1]?new t_.IfcLengthMeasure(t[1].value):null,t[2]?new t_.IfcLengthMeasure(t[2].value):null,t[3]?new t_.IfcLengthMeasure(t[3].value):null,new H_(t[4].value))},4022376103:function(e,t){return new t_.IfcPointOnCurve(e,new H_(t[0].value),new t_.IfcParameterValue(t[1].value))},1423911732:function(e,t){return new t_.IfcPointOnSurface(e,new H_(t[0].value),new t_.IfcParameterValue(t[1].value),new t_.IfcParameterValue(t[2].value))},2924175390:function(e,t){return new t_.IfcPolyLoop(e,t[0].map((function(e){return new H_(e.value)})))},2775532180:function(e,t){return new t_.IfcPolygonalBoundedHalfSpace(e,new H_(t[0].value),new t_.IfcBoolean(t[1].value),new H_(t[2].value),new H_(t[3].value))},3727388367:function(e,t){return new t_.IfcPreDefinedItem(e,new t_.IfcLabel(t[0].value))},3778827333:function(e,t){return new t_.IfcPreDefinedProperties(e)},1775413392:function(e,t){return new t_.IfcPreDefinedTextFont(e,new t_.IfcLabel(t[0].value))},673634403:function(e,t){return new t_.IfcProductDefinitionShape(e,t[0]?new t_.IfcLabel(t[0].value):null,t[1]?new t_.IfcText(t[1].value):null,t[2].map((function(e){return new H_(e.value)})))},2802850158:function(e,t){return new t_.IfcProfileProperties(e,t[0]?new t_.IfcIdentifier(t[0].value):null,t[1]?new t_.IfcText(t[1].value):null,t[2].map((function(e){return new H_(e.value)})),new H_(t[3].value))},2598011224:function(e,t){return new t_.IfcProperty(e,new t_.IfcIdentifier(t[0].value),t[1]?new t_.IfcText(t[1].value):null)},1680319473:function(e,t){return new t_.IfcPropertyDefinition(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null)},148025276:function(e,t){return new t_.IfcPropertyDependencyRelationship(e,t[0]?new t_.IfcLabel(t[0].value):null,t[1]?new t_.IfcText(t[1].value):null,new H_(t[2].value),new H_(t[3].value),t[4]?new t_.IfcText(t[4].value):null)},3357820518:function(e,t){return new t_.IfcPropertySetDefinition(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null)},1482703590:function(e,t){return new t_.IfcPropertyTemplateDefinition(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null)},2090586900:function(e,t){return new t_.IfcQuantitySet(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null)},3615266464:function(e,t){return new t_.IfcRectangleProfileDef(e,t[0],t[1]?new t_.IfcLabel(t[1].value):null,t[2]?new H_(t[2].value):null,new t_.IfcPositiveLengthMeasure(t[3].value),new t_.IfcPositiveLengthMeasure(t[4].value))},3413951693:function(e,t){return new t_.IfcRegularTimeSeries(e,new t_.IfcLabel(t[0].value),t[1]?new t_.IfcText(t[1].value):null,new t_.IfcDateTime(t[2].value),new t_.IfcDateTime(t[3].value),t[4],t[5],t[6]?new t_.IfcLabel(t[6].value):null,t[7]?new H_(t[7].value):null,new t_.IfcTimeMeasure(t[8].value),t[9].map((function(e){return new H_(e.value)})))},1580146022:function(e,t){return new t_.IfcReinforcementBarProperties(e,new t_.IfcAreaMeasure(t[0].value),new t_.IfcLabel(t[1].value),t[2],t[3]?new t_.IfcLengthMeasure(t[3].value):null,t[4]?new t_.IfcPositiveLengthMeasure(t[4].value):null,t[5]?new t_.IfcCountMeasure(t[5].value):null)},478536968:function(e,t){return new t_.IfcRelationship(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null)},2943643501:function(e,t){return new t_.IfcResourceApprovalRelationship(e,t[0]?new t_.IfcLabel(t[0].value):null,t[1]?new t_.IfcText(t[1].value):null,t[2].map((function(e){return new H_(e.value)})),new H_(t[3].value))},1608871552:function(e,t){return new t_.IfcResourceConstraintRelationship(e,t[0]?new t_.IfcLabel(t[0].value):null,t[1]?new t_.IfcText(t[1].value):null,new H_(t[2].value),t[3].map((function(e){return new H_(e.value)})))},1042787934:function(e,t){return new t_.IfcResourceTime(e,t[0]?new t_.IfcLabel(t[0].value):null,t[1],t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcDuration(t[3].value):null,t[4]?new t_.IfcPositiveRatioMeasure(t[4].value):null,t[5]?new t_.IfcDateTime(t[5].value):null,t[6]?new t_.IfcDateTime(t[6].value):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcDuration(t[8].value):null,t[9]?new t_.IfcBoolean(t[9].value):null,t[10]?new t_.IfcDateTime(t[10].value):null,t[11]?new t_.IfcDuration(t[11].value):null,t[12]?new t_.IfcPositiveRatioMeasure(t[12].value):null,t[13]?new t_.IfcDateTime(t[13].value):null,t[14]?new t_.IfcDateTime(t[14].value):null,t[15]?new t_.IfcDuration(t[15].value):null,t[16]?new t_.IfcPositiveRatioMeasure(t[16].value):null,t[17]?new t_.IfcPositiveRatioMeasure(t[17].value):null)},2778083089:function(e,t){return new t_.IfcRoundedRectangleProfileDef(e,t[0],t[1]?new t_.IfcLabel(t[1].value):null,t[2]?new H_(t[2].value):null,new t_.IfcPositiveLengthMeasure(t[3].value),new t_.IfcPositiveLengthMeasure(t[4].value),new t_.IfcPositiveLengthMeasure(t[5].value))},2042790032:function(e,t){return new t_.IfcSectionProperties(e,t[0],new H_(t[1].value),t[2]?new H_(t[2].value):null)},4165799628:function(e,t){return new t_.IfcSectionReinforcementProperties(e,new t_.IfcLengthMeasure(t[0].value),new t_.IfcLengthMeasure(t[1].value),t[2]?new t_.IfcLengthMeasure(t[2].value):null,t[3],new H_(t[4].value),t[5].map((function(e){return new H_(e.value)})))},1509187699:function(e,t){return new t_.IfcSectionedSpine(e,new H_(t[0].value),t[1].map((function(e){return new H_(e.value)})),t[2].map((function(e){return new H_(e.value)})))},823603102:function(e,t){return new t_.IfcSegment(e,t[0])},4124623270:function(e,t){return new t_.IfcShellBasedSurfaceModel(e,t[0].map((function(e){return new H_(e.value)})))},3692461612:function(e,t){return new t_.IfcSimpleProperty(e,new t_.IfcIdentifier(t[0].value),t[1]?new t_.IfcText(t[1].value):null)},2609359061:function(e,t){return new t_.IfcSlippageConnectionCondition(e,t[0]?new t_.IfcLabel(t[0].value):null,t[1]?new t_.IfcLengthMeasure(t[1].value):null,t[2]?new t_.IfcLengthMeasure(t[2].value):null,t[3]?new t_.IfcLengthMeasure(t[3].value):null)},723233188:function(e,t){return new t_.IfcSolidModel(e)},1595516126:function(e,t){return new t_.IfcStructuralLoadLinearForce(e,t[0]?new t_.IfcLabel(t[0].value):null,t[1]?new t_.IfcLinearForceMeasure(t[1].value):null,t[2]?new t_.IfcLinearForceMeasure(t[2].value):null,t[3]?new t_.IfcLinearForceMeasure(t[3].value):null,t[4]?new t_.IfcLinearMomentMeasure(t[4].value):null,t[5]?new t_.IfcLinearMomentMeasure(t[5].value):null,t[6]?new t_.IfcLinearMomentMeasure(t[6].value):null)},2668620305:function(e,t){return new t_.IfcStructuralLoadPlanarForce(e,t[0]?new t_.IfcLabel(t[0].value):null,t[1]?new t_.IfcPlanarForceMeasure(t[1].value):null,t[2]?new t_.IfcPlanarForceMeasure(t[2].value):null,t[3]?new t_.IfcPlanarForceMeasure(t[3].value):null)},2473145415:function(e,t){return new t_.IfcStructuralLoadSingleDisplacement(e,t[0]?new t_.IfcLabel(t[0].value):null,t[1]?new t_.IfcLengthMeasure(t[1].value):null,t[2]?new t_.IfcLengthMeasure(t[2].value):null,t[3]?new t_.IfcLengthMeasure(t[3].value):null,t[4]?new t_.IfcPlaneAngleMeasure(t[4].value):null,t[5]?new t_.IfcPlaneAngleMeasure(t[5].value):null,t[6]?new t_.IfcPlaneAngleMeasure(t[6].value):null)},1973038258:function(e,t){return new t_.IfcStructuralLoadSingleDisplacementDistortion(e,t[0]?new t_.IfcLabel(t[0].value):null,t[1]?new t_.IfcLengthMeasure(t[1].value):null,t[2]?new t_.IfcLengthMeasure(t[2].value):null,t[3]?new t_.IfcLengthMeasure(t[3].value):null,t[4]?new t_.IfcPlaneAngleMeasure(t[4].value):null,t[5]?new t_.IfcPlaneAngleMeasure(t[5].value):null,t[6]?new t_.IfcPlaneAngleMeasure(t[6].value):null,t[7]?new t_.IfcCurvatureMeasure(t[7].value):null)},1597423693:function(e,t){return new t_.IfcStructuralLoadSingleForce(e,t[0]?new t_.IfcLabel(t[0].value):null,t[1]?new t_.IfcForceMeasure(t[1].value):null,t[2]?new t_.IfcForceMeasure(t[2].value):null,t[3]?new t_.IfcForceMeasure(t[3].value):null,t[4]?new t_.IfcTorqueMeasure(t[4].value):null,t[5]?new t_.IfcTorqueMeasure(t[5].value):null,t[6]?new t_.IfcTorqueMeasure(t[6].value):null)},1190533807:function(e,t){return new t_.IfcStructuralLoadSingleForceWarping(e,t[0]?new t_.IfcLabel(t[0].value):null,t[1]?new t_.IfcForceMeasure(t[1].value):null,t[2]?new t_.IfcForceMeasure(t[2].value):null,t[3]?new t_.IfcForceMeasure(t[3].value):null,t[4]?new t_.IfcTorqueMeasure(t[4].value):null,t[5]?new t_.IfcTorqueMeasure(t[5].value):null,t[6]?new t_.IfcTorqueMeasure(t[6].value):null,t[7]?new t_.IfcWarpingMomentMeasure(t[7].value):null)},2233826070:function(e,t){return new t_.IfcSubedge(e,new H_(t[0].value),new H_(t[1].value),new H_(t[2].value))},2513912981:function(e,t){return new t_.IfcSurface(e)},1878645084:function(e,t){return new t_.IfcSurfaceStyleRendering(e,new H_(t[0].value),t[1]?new t_.IfcNormalisedRatioMeasure(t[1].value):null,t[2]?new H_(t[2].value):null,t[3]?new H_(t[3].value):null,t[4]?new H_(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?K_(3,t[7]):null,t[8])},2247615214:function(e,t){return new t_.IfcSweptAreaSolid(e,new H_(t[0].value),t[1]?new H_(t[1].value):null)},1260650574:function(e,t){return new t_.IfcSweptDiskSolid(e,new H_(t[0].value),new t_.IfcPositiveLengthMeasure(t[1].value),t[2]?new t_.IfcPositiveLengthMeasure(t[2].value):null,t[3]?new t_.IfcParameterValue(t[3].value):null,t[4]?new t_.IfcParameterValue(t[4].value):null)},1096409881:function(e,t){return new t_.IfcSweptDiskSolidPolygonal(e,new H_(t[0].value),new t_.IfcPositiveLengthMeasure(t[1].value),t[2]?new t_.IfcPositiveLengthMeasure(t[2].value):null,t[3]?new t_.IfcParameterValue(t[3].value):null,t[4]?new t_.IfcParameterValue(t[4].value):null,t[5]?new t_.IfcNonNegativeLengthMeasure(t[5].value):null)},230924584:function(e,t){return new t_.IfcSweptSurface(e,new H_(t[0].value),t[1]?new H_(t[1].value):null)},3071757647:function(e,t){return new t_.IfcTShapeProfileDef(e,t[0],t[1]?new t_.IfcLabel(t[1].value):null,t[2]?new H_(t[2].value):null,new t_.IfcPositiveLengthMeasure(t[3].value),new t_.IfcPositiveLengthMeasure(t[4].value),new t_.IfcPositiveLengthMeasure(t[5].value),new t_.IfcPositiveLengthMeasure(t[6].value),t[7]?new t_.IfcNonNegativeLengthMeasure(t[7].value):null,t[8]?new t_.IfcNonNegativeLengthMeasure(t[8].value):null,t[9]?new t_.IfcNonNegativeLengthMeasure(t[9].value):null,t[10]?new t_.IfcPlaneAngleMeasure(t[10].value):null,t[11]?new t_.IfcPlaneAngleMeasure(t[11].value):null)},901063453:function(e,t){return new t_.IfcTessellatedItem(e)},4282788508:function(e,t){return new t_.IfcTextLiteral(e,new t_.IfcPresentableText(t[0].value),new H_(t[1].value),t[2])},3124975700:function(e,t){return new t_.IfcTextLiteralWithExtent(e,new t_.IfcPresentableText(t[0].value),new H_(t[1].value),t[2],new H_(t[3].value),new t_.IfcBoxAlignment(t[4].value))},1983826977:function(e,t){return new t_.IfcTextStyleFontModel(e,new t_.IfcLabel(t[0].value),t[1].map((function(e){return new t_.IfcTextFontName(e.value)})),t[2]?new t_.IfcFontStyle(t[2].value):null,t[3]?new t_.IfcFontVariant(t[3].value):null,t[4]?new t_.IfcFontWeight(t[4].value):null,K_(3,t[5]))},2715220739:function(e,t){return new t_.IfcTrapeziumProfileDef(e,t[0],t[1]?new t_.IfcLabel(t[1].value):null,t[2]?new H_(t[2].value):null,new t_.IfcPositiveLengthMeasure(t[3].value),new t_.IfcPositiveLengthMeasure(t[4].value),new t_.IfcPositiveLengthMeasure(t[5].value),new t_.IfcLengthMeasure(t[6].value))},1628702193:function(e,t){return new t_.IfcTypeObject(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null)},3736923433:function(e,t){return new t_.IfcTypeProcess(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?new t_.IfcIdentifier(t[6].value):null,t[7]?new t_.IfcText(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null)},2347495698:function(e,t){return new t_.IfcTypeProduct(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null)},3698973494:function(e,t){return new t_.IfcTypeResource(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?new t_.IfcIdentifier(t[6].value):null,t[7]?new t_.IfcText(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null)},427810014:function(e,t){return new t_.IfcUShapeProfileDef(e,t[0],t[1]?new t_.IfcLabel(t[1].value):null,t[2]?new H_(t[2].value):null,new t_.IfcPositiveLengthMeasure(t[3].value),new t_.IfcPositiveLengthMeasure(t[4].value),new t_.IfcPositiveLengthMeasure(t[5].value),new t_.IfcPositiveLengthMeasure(t[6].value),t[7]?new t_.IfcNonNegativeLengthMeasure(t[7].value):null,t[8]?new t_.IfcNonNegativeLengthMeasure(t[8].value):null,t[9]?new t_.IfcPlaneAngleMeasure(t[9].value):null)},1417489154:function(e,t){return new t_.IfcVector(e,new H_(t[0].value),new t_.IfcLengthMeasure(t[1].value))},2759199220:function(e,t){return new t_.IfcVertexLoop(e,new H_(t[0].value))},2543172580:function(e,t){return new t_.IfcZShapeProfileDef(e,t[0],t[1]?new t_.IfcLabel(t[1].value):null,t[2]?new H_(t[2].value):null,new t_.IfcPositiveLengthMeasure(t[3].value),new t_.IfcPositiveLengthMeasure(t[4].value),new t_.IfcPositiveLengthMeasure(t[5].value),new t_.IfcPositiveLengthMeasure(t[6].value),t[7]?new t_.IfcNonNegativeLengthMeasure(t[7].value):null,t[8]?new t_.IfcNonNegativeLengthMeasure(t[8].value):null)},3406155212:function(e,t){return new t_.IfcAdvancedFace(e,t[0].map((function(e){return new H_(e.value)})),new H_(t[1].value),new t_.IfcBoolean(t[2].value))},669184980:function(e,t){return new t_.IfcAnnotationFillArea(e,new H_(t[0].value),t[1]?t[1].map((function(e){return new H_(e.value)})):null)},3207858831:function(e,t){return new t_.IfcAsymmetricIShapeProfileDef(e,t[0],t[1]?new t_.IfcLabel(t[1].value):null,t[2]?new H_(t[2].value):null,new t_.IfcPositiveLengthMeasure(t[3].value),new t_.IfcPositiveLengthMeasure(t[4].value),new t_.IfcPositiveLengthMeasure(t[5].value),new t_.IfcPositiveLengthMeasure(t[6].value),t[7]?new t_.IfcNonNegativeLengthMeasure(t[7].value):null,new t_.IfcPositiveLengthMeasure(t[8].value),t[9]?new t_.IfcPositiveLengthMeasure(t[9].value):null,t[10]?new t_.IfcNonNegativeLengthMeasure(t[10].value):null,t[11]?new t_.IfcNonNegativeLengthMeasure(t[11].value):null,t[12]?new t_.IfcPlaneAngleMeasure(t[12].value):null,t[13]?new t_.IfcNonNegativeLengthMeasure(t[13].value):null,t[14]?new t_.IfcPlaneAngleMeasure(t[14].value):null)},4261334040:function(e,t){return new t_.IfcAxis1Placement(e,new H_(t[0].value),t[1]?new H_(t[1].value):null)},3125803723:function(e,t){return new t_.IfcAxis2Placement2D(e,new H_(t[0].value),t[1]?new H_(t[1].value):null)},2740243338:function(e,t){return new t_.IfcAxis2Placement3D(e,new H_(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new H_(t[2].value):null)},3425423356:function(e,t){return new t_.IfcAxis2PlacementLinear(e,new H_(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new H_(t[2].value):null)},2736907675:function(e,t){return new t_.IfcBooleanResult(e,t[0],new H_(t[1].value),new H_(t[2].value))},4182860854:function(e,t){return new t_.IfcBoundedSurface(e)},2581212453:function(e,t){return new t_.IfcBoundingBox(e,new H_(t[0].value),new t_.IfcPositiveLengthMeasure(t[1].value),new t_.IfcPositiveLengthMeasure(t[2].value),new t_.IfcPositiveLengthMeasure(t[3].value))},2713105998:function(e,t){return new t_.IfcBoxedHalfSpace(e,new H_(t[0].value),new t_.IfcBoolean(t[1].value),new H_(t[2].value))},2898889636:function(e,t){return new t_.IfcCShapeProfileDef(e,t[0],t[1]?new t_.IfcLabel(t[1].value):null,t[2]?new H_(t[2].value):null,new t_.IfcPositiveLengthMeasure(t[3].value),new t_.IfcPositiveLengthMeasure(t[4].value),new t_.IfcPositiveLengthMeasure(t[5].value),new t_.IfcPositiveLengthMeasure(t[6].value),t[7]?new t_.IfcNonNegativeLengthMeasure(t[7].value):null)},1123145078:function(e,t){return new t_.IfcCartesianPoint(e,t[0].map((function(e){return new t_.IfcLengthMeasure(e.value)})))},574549367:function(e,t){return new t_.IfcCartesianPointList(e)},1675464909:function(e,t){return new t_.IfcCartesianPointList2D(e,t[0].map((function(e){return new t_.IfcLengthMeasure(e.value)})),t[1]?t[1].map((function(e){return new t_.IfcLabel(e.value)})):null)},2059837836:function(e,t){return new t_.IfcCartesianPointList3D(e,t[0].map((function(e){return new t_.IfcLengthMeasure(e.value)})),t[1]?t[1].map((function(e){return new t_.IfcLabel(e.value)})):null)},59481748:function(e,t){return new t_.IfcCartesianTransformationOperator(e,t[0]?new H_(t[0].value):null,t[1]?new H_(t[1].value):null,new H_(t[2].value),t[3]?new t_.IfcReal(t[3].value):null)},3749851601:function(e,t){return new t_.IfcCartesianTransformationOperator2D(e,t[0]?new H_(t[0].value):null,t[1]?new H_(t[1].value):null,new H_(t[2].value),t[3]?new t_.IfcReal(t[3].value):null)},3486308946:function(e,t){return new t_.IfcCartesianTransformationOperator2DnonUniform(e,t[0]?new H_(t[0].value):null,t[1]?new H_(t[1].value):null,new H_(t[2].value),t[3]?new t_.IfcReal(t[3].value):null,t[4]?new t_.IfcReal(t[4].value):null)},3331915920:function(e,t){return new t_.IfcCartesianTransformationOperator3D(e,t[0]?new H_(t[0].value):null,t[1]?new H_(t[1].value):null,new H_(t[2].value),t[3]?new t_.IfcReal(t[3].value):null,t[4]?new H_(t[4].value):null)},1416205885:function(e,t){return new t_.IfcCartesianTransformationOperator3DnonUniform(e,t[0]?new H_(t[0].value):null,t[1]?new H_(t[1].value):null,new H_(t[2].value),t[3]?new t_.IfcReal(t[3].value):null,t[4]?new H_(t[4].value):null,t[5]?new t_.IfcReal(t[5].value):null,t[6]?new t_.IfcReal(t[6].value):null)},1383045692:function(e,t){return new t_.IfcCircleProfileDef(e,t[0],t[1]?new t_.IfcLabel(t[1].value):null,t[2]?new H_(t[2].value):null,new t_.IfcPositiveLengthMeasure(t[3].value))},2205249479:function(e,t){return new t_.IfcClosedShell(e,t[0].map((function(e){return new H_(e.value)})))},776857604:function(e,t){return new t_.IfcColourRgb(e,t[0]?new t_.IfcLabel(t[0].value):null,new t_.IfcNormalisedRatioMeasure(t[1].value),new t_.IfcNormalisedRatioMeasure(t[2].value),new t_.IfcNormalisedRatioMeasure(t[3].value))},2542286263:function(e,t){return new t_.IfcComplexProperty(e,new t_.IfcIdentifier(t[0].value),t[1]?new t_.IfcText(t[1].value):null,new t_.IfcIdentifier(t[2].value),t[3].map((function(e){return new H_(e.value)})))},2485617015:function(e,t){return new t_.IfcCompositeCurveSegment(e,t[0],new t_.IfcBoolean(t[1].value),new H_(t[2].value))},2574617495:function(e,t){return new t_.IfcConstructionResourceType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?new t_.IfcIdentifier(t[6].value):null,t[7]?new t_.IfcText(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9]?t[9].map((function(e){return new H_(e.value)})):null,t[10]?new H_(t[10].value):null)},3419103109:function(e,t){return new t_.IfcContext(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new t_.IfcLabel(t[5].value):null,t[6]?new t_.IfcLabel(t[6].value):null,t[7]?t[7].map((function(e){return new H_(e.value)})):null,t[8]?new H_(t[8].value):null)},1815067380:function(e,t){return new t_.IfcCrewResourceType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?new t_.IfcIdentifier(t[6].value):null,t[7]?new t_.IfcText(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9]?t[9].map((function(e){return new H_(e.value)})):null,t[10]?new H_(t[10].value):null,t[11])},2506170314:function(e,t){return new t_.IfcCsgPrimitive3D(e,new H_(t[0].value))},2147822146:function(e,t){return new t_.IfcCsgSolid(e,new H_(t[0].value))},2601014836:function(e,t){return new t_.IfcCurve(e)},2827736869:function(e,t){return new t_.IfcCurveBoundedPlane(e,new H_(t[0].value),new H_(t[1].value),t[2]?t[2].map((function(e){return new H_(e.value)})):null)},2629017746:function(e,t){return new t_.IfcCurveBoundedSurface(e,new H_(t[0].value),t[1].map((function(e){return new H_(e.value)})),new t_.IfcBoolean(t[2].value))},4212018352:function(e,t){return new t_.IfcCurveSegment(e,t[0],new H_(t[1].value),K_(3,t[2]),K_(3,t[3]),new H_(t[4].value))},32440307:function(e,t){return new t_.IfcDirection(e,t[0].map((function(e){return new t_.IfcReal(e.value)})))},593015953:function(e,t){return new t_.IfcDirectrixCurveSweptAreaSolid(e,new H_(t[0].value),t[1]?new H_(t[1].value):null,new H_(t[2].value),t[3]?K_(3,t[3]):null,t[4]?K_(3,t[4]):null)},1472233963:function(e,t){return new t_.IfcEdgeLoop(e,t[0].map((function(e){return new H_(e.value)})))},1883228015:function(e,t){return new t_.IfcElementQuantity(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5].map((function(e){return new H_(e.value)})))},339256511:function(e,t){return new t_.IfcElementType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null)},2777663545:function(e,t){return new t_.IfcElementarySurface(e,new H_(t[0].value))},2835456948:function(e,t){return new t_.IfcEllipseProfileDef(e,t[0],t[1]?new t_.IfcLabel(t[1].value):null,t[2]?new H_(t[2].value):null,new t_.IfcPositiveLengthMeasure(t[3].value),new t_.IfcPositiveLengthMeasure(t[4].value))},4024345920:function(e,t){return new t_.IfcEventType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?new t_.IfcIdentifier(t[6].value):null,t[7]?new t_.IfcText(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9],t[10],t[11]?new t_.IfcLabel(t[11].value):null)},477187591:function(e,t){return new t_.IfcExtrudedAreaSolid(e,new H_(t[0].value),t[1]?new H_(t[1].value):null,new H_(t[2].value),new t_.IfcPositiveLengthMeasure(t[3].value))},2804161546:function(e,t){return new t_.IfcExtrudedAreaSolidTapered(e,new H_(t[0].value),t[1]?new H_(t[1].value):null,new H_(t[2].value),new t_.IfcPositiveLengthMeasure(t[3].value),new H_(t[4].value))},2047409740:function(e,t){return new t_.IfcFaceBasedSurfaceModel(e,t[0].map((function(e){return new H_(e.value)})))},374418227:function(e,t){return new t_.IfcFillAreaStyleHatching(e,new H_(t[0].value),new H_(t[1].value),t[2]?new H_(t[2].value):null,t[3]?new H_(t[3].value):null,new t_.IfcPlaneAngleMeasure(t[4].value))},315944413:function(e,t){return new t_.IfcFillAreaStyleTiles(e,t[0].map((function(e){return new H_(e.value)})),t[1].map((function(e){return new H_(e.value)})),new t_.IfcPositiveRatioMeasure(t[2].value))},2652556860:function(e,t){return new t_.IfcFixedReferenceSweptAreaSolid(e,new H_(t[0].value),t[1]?new H_(t[1].value):null,new H_(t[2].value),t[3]?K_(3,t[3]):null,t[4]?K_(3,t[4]):null,new H_(t[5].value))},4238390223:function(e,t){return new t_.IfcFurnishingElementType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null)},1268542332:function(e,t){return new t_.IfcFurnitureType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9],t[10])},4095422895:function(e,t){return new t_.IfcGeographicElementType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9])},987898635:function(e,t){return new t_.IfcGeometricCurveSet(e,t[0].map((function(e){return new H_(e.value)})))},1484403080:function(e,t){return new t_.IfcIShapeProfileDef(e,t[0],t[1]?new t_.IfcLabel(t[1].value):null,t[2]?new H_(t[2].value):null,new t_.IfcPositiveLengthMeasure(t[3].value),new t_.IfcPositiveLengthMeasure(t[4].value),new t_.IfcPositiveLengthMeasure(t[5].value),new t_.IfcPositiveLengthMeasure(t[6].value),t[7]?new t_.IfcNonNegativeLengthMeasure(t[7].value):null,t[8]?new t_.IfcNonNegativeLengthMeasure(t[8].value):null,t[9]?new t_.IfcPlaneAngleMeasure(t[9].value):null)},178912537:function(e,t){return new t_.IfcIndexedPolygonalFace(e,t[0].map((function(e){return new t_.IfcPositiveInteger(e.value)})))},2294589976:function(e,t){return new t_.IfcIndexedPolygonalFaceWithVoids(e,t[0].map((function(e){return new t_.IfcPositiveInteger(e.value)})),t[1].map((function(e){return new t_.IfcPositiveInteger(e.value)})))},3465909080:function(e,t){return new t_.IfcIndexedPolygonalTextureMap(e,t[0].map((function(e){return new H_(e.value)})),new H_(t[1].value),new H_(t[2].value),t[3].map((function(e){return new H_(e.value)})))},572779678:function(e,t){return new t_.IfcLShapeProfileDef(e,t[0],t[1]?new t_.IfcLabel(t[1].value):null,t[2]?new H_(t[2].value):null,new t_.IfcPositiveLengthMeasure(t[3].value),t[4]?new t_.IfcPositiveLengthMeasure(t[4].value):null,new t_.IfcPositiveLengthMeasure(t[5].value),t[6]?new t_.IfcNonNegativeLengthMeasure(t[6].value):null,t[7]?new t_.IfcNonNegativeLengthMeasure(t[7].value):null,t[8]?new t_.IfcPlaneAngleMeasure(t[8].value):null)},428585644:function(e,t){return new t_.IfcLaborResourceType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?new t_.IfcIdentifier(t[6].value):null,t[7]?new t_.IfcText(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9]?t[9].map((function(e){return new H_(e.value)})):null,t[10]?new H_(t[10].value):null,t[11])},1281925730:function(e,t){return new t_.IfcLine(e,new H_(t[0].value),new H_(t[1].value))},1425443689:function(e,t){return new t_.IfcManifoldSolidBrep(e,new H_(t[0].value))},3888040117:function(e,t){return new t_.IfcObject(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null)},590820931:function(e,t){return new t_.IfcOffsetCurve(e,new H_(t[0].value))},3388369263:function(e,t){return new t_.IfcOffsetCurve2D(e,new H_(t[0].value),new t_.IfcLengthMeasure(t[1].value),new t_.IfcLogical(t[2].value))},3505215534:function(e,t){return new t_.IfcOffsetCurve3D(e,new H_(t[0].value),new t_.IfcLengthMeasure(t[1].value),new t_.IfcLogical(t[2].value),new H_(t[3].value))},2485787929:function(e,t){return new t_.IfcOffsetCurveByDistances(e,new H_(t[0].value),t[1].map((function(e){return new H_(e.value)})),t[2]?new t_.IfcLabel(t[2].value):null)},1682466193:function(e,t){return new t_.IfcPcurve(e,new H_(t[0].value),new H_(t[1].value))},603570806:function(e,t){return new t_.IfcPlanarBox(e,new t_.IfcLengthMeasure(t[0].value),new t_.IfcLengthMeasure(t[1].value),new H_(t[2].value))},220341763:function(e,t){return new t_.IfcPlane(e,new H_(t[0].value))},3381221214:function(e,t){return new t_.IfcPolynomialCurve(e,new H_(t[0].value),t[1]?t[1].map((function(e){return new t_.IfcReal(e.value)})):null,t[2]?t[2].map((function(e){return new t_.IfcReal(e.value)})):null,t[3]?t[3].map((function(e){return new t_.IfcReal(e.value)})):null)},759155922:function(e,t){return new t_.IfcPreDefinedColour(e,new t_.IfcLabel(t[0].value))},2559016684:function(e,t){return new t_.IfcPreDefinedCurveFont(e,new t_.IfcLabel(t[0].value))},3967405729:function(e,t){return new t_.IfcPreDefinedPropertySet(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null)},569719735:function(e,t){return new t_.IfcProcedureType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?new t_.IfcIdentifier(t[6].value):null,t[7]?new t_.IfcText(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9])},2945172077:function(e,t){return new t_.IfcProcess(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new t_.IfcIdentifier(t[5].value):null,t[6]?new t_.IfcText(t[6].value):null)},4208778838:function(e,t){return new t_.IfcProduct(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null)},103090709:function(e,t){return new t_.IfcProject(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new t_.IfcLabel(t[5].value):null,t[6]?new t_.IfcLabel(t[6].value):null,t[7]?t[7].map((function(e){return new H_(e.value)})):null,t[8]?new H_(t[8].value):null)},653396225:function(e,t){return new t_.IfcProjectLibrary(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new t_.IfcLabel(t[5].value):null,t[6]?new t_.IfcLabel(t[6].value):null,t[7]?t[7].map((function(e){return new H_(e.value)})):null,t[8]?new H_(t[8].value):null)},871118103:function(e,t){return new t_.IfcPropertyBoundedValue(e,new t_.IfcIdentifier(t[0].value),t[1]?new t_.IfcText(t[1].value):null,t[2]?K_(3,t[2]):null,t[3]?K_(3,t[3]):null,t[4]?new H_(t[4].value):null,t[5]?K_(3,t[5]):null)},4166981789:function(e,t){return new t_.IfcPropertyEnumeratedValue(e,new t_.IfcIdentifier(t[0].value),t[1]?new t_.IfcText(t[1].value):null,t[2]?t[2].map((function(e){return K_(3,e)})):null,t[3]?new H_(t[3].value):null)},2752243245:function(e,t){return new t_.IfcPropertyListValue(e,new t_.IfcIdentifier(t[0].value),t[1]?new t_.IfcText(t[1].value):null,t[2]?t[2].map((function(e){return K_(3,e)})):null,t[3]?new H_(t[3].value):null)},941946838:function(e,t){return new t_.IfcPropertyReferenceValue(e,new t_.IfcIdentifier(t[0].value),t[1]?new t_.IfcText(t[1].value):null,t[2]?new t_.IfcText(t[2].value):null,t[3]?new H_(t[3].value):null)},1451395588:function(e,t){return new t_.IfcPropertySet(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4].map((function(e){return new H_(e.value)})))},492091185:function(e,t){return new t_.IfcPropertySetTemplate(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4],t[5]?new t_.IfcIdentifier(t[5].value):null,t[6].map((function(e){return new H_(e.value)})))},3650150729:function(e,t){return new t_.IfcPropertySingleValue(e,new t_.IfcIdentifier(t[0].value),t[1]?new t_.IfcText(t[1].value):null,t[2]?K_(3,t[2]):null,t[3]?new H_(t[3].value):null)},110355661:function(e,t){return new t_.IfcPropertyTableValue(e,new t_.IfcIdentifier(t[0].value),t[1]?new t_.IfcText(t[1].value):null,t[2]?t[2].map((function(e){return K_(3,e)})):null,t[3]?t[3].map((function(e){return K_(3,e)})):null,t[4]?new t_.IfcText(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7])},3521284610:function(e,t){return new t_.IfcPropertyTemplate(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null)},2770003689:function(e,t){return new t_.IfcRectangleHollowProfileDef(e,t[0],t[1]?new t_.IfcLabel(t[1].value):null,t[2]?new H_(t[2].value):null,new t_.IfcPositiveLengthMeasure(t[3].value),new t_.IfcPositiveLengthMeasure(t[4].value),new t_.IfcPositiveLengthMeasure(t[5].value),t[6]?new t_.IfcNonNegativeLengthMeasure(t[6].value):null,t[7]?new t_.IfcNonNegativeLengthMeasure(t[7].value):null)},2798486643:function(e,t){return new t_.IfcRectangularPyramid(e,new H_(t[0].value),new t_.IfcPositiveLengthMeasure(t[1].value),new t_.IfcPositiveLengthMeasure(t[2].value),new t_.IfcPositiveLengthMeasure(t[3].value))},3454111270:function(e,t){return new t_.IfcRectangularTrimmedSurface(e,new H_(t[0].value),new t_.IfcParameterValue(t[1].value),new t_.IfcParameterValue(t[2].value),new t_.IfcParameterValue(t[3].value),new t_.IfcParameterValue(t[4].value),new t_.IfcBoolean(t[5].value),new t_.IfcBoolean(t[6].value))},3765753017:function(e,t){return new t_.IfcReinforcementDefinitionProperties(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5].map((function(e){return new H_(e.value)})))},3939117080:function(e,t){return new t_.IfcRelAssigns(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4].map((function(e){return new H_(e.value)})),t[5])},1683148259:function(e,t){return new t_.IfcRelAssignsToActor(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4].map((function(e){return new H_(e.value)})),t[5],new H_(t[6].value),t[7]?new H_(t[7].value):null)},2495723537:function(e,t){return new t_.IfcRelAssignsToControl(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4].map((function(e){return new H_(e.value)})),t[5],new H_(t[6].value))},1307041759:function(e,t){return new t_.IfcRelAssignsToGroup(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4].map((function(e){return new H_(e.value)})),t[5],new H_(t[6].value))},1027710054:function(e,t){return new t_.IfcRelAssignsToGroupByFactor(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4].map((function(e){return new H_(e.value)})),t[5],new H_(t[6].value),new t_.IfcRatioMeasure(t[7].value))},4278684876:function(e,t){return new t_.IfcRelAssignsToProcess(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4].map((function(e){return new H_(e.value)})),t[5],new H_(t[6].value),t[7]?new H_(t[7].value):null)},2857406711:function(e,t){return new t_.IfcRelAssignsToProduct(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4].map((function(e){return new H_(e.value)})),t[5],new H_(t[6].value))},205026976:function(e,t){return new t_.IfcRelAssignsToResource(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4].map((function(e){return new H_(e.value)})),t[5],new H_(t[6].value))},1865459582:function(e,t){return new t_.IfcRelAssociates(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4].map((function(e){return new H_(e.value)})))},4095574036:function(e,t){return new t_.IfcRelAssociatesApproval(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4].map((function(e){return new H_(e.value)})),new H_(t[5].value))},919958153:function(e,t){return new t_.IfcRelAssociatesClassification(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4].map((function(e){return new H_(e.value)})),new H_(t[5].value))},2728634034:function(e,t){return new t_.IfcRelAssociatesConstraint(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4].map((function(e){return new H_(e.value)})),t[5]?new t_.IfcLabel(t[5].value):null,new H_(t[6].value))},982818633:function(e,t){return new t_.IfcRelAssociatesDocument(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4].map((function(e){return new H_(e.value)})),new H_(t[5].value))},3840914261:function(e,t){return new t_.IfcRelAssociatesLibrary(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4].map((function(e){return new H_(e.value)})),new H_(t[5].value))},2655215786:function(e,t){return new t_.IfcRelAssociatesMaterial(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4].map((function(e){return new H_(e.value)})),new H_(t[5].value))},1033248425:function(e,t){return new t_.IfcRelAssociatesProfileDef(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4].map((function(e){return new H_(e.value)})),new H_(t[5].value))},826625072:function(e,t){return new t_.IfcRelConnects(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null)},1204542856:function(e,t){return new t_.IfcRelConnectsElements(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new H_(t[4].value):null,new H_(t[5].value),new H_(t[6].value))},3945020480:function(e,t){return new t_.IfcRelConnectsPathElements(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new H_(t[4].value):null,new H_(t[5].value),new H_(t[6].value),t[7].map((function(e){return new t_.IfcInteger(e.value)})),t[8].map((function(e){return new t_.IfcInteger(e.value)})),t[9],t[10])},4201705270:function(e,t){return new t_.IfcRelConnectsPortToElement(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,new H_(t[4].value),new H_(t[5].value))},3190031847:function(e,t){return new t_.IfcRelConnectsPorts(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,new H_(t[4].value),new H_(t[5].value),t[6]?new H_(t[6].value):null)},2127690289:function(e,t){return new t_.IfcRelConnectsStructuralActivity(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,new H_(t[4].value),new H_(t[5].value))},1638771189:function(e,t){return new t_.IfcRelConnectsStructuralMember(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,new H_(t[4].value),new H_(t[5].value),t[6]?new H_(t[6].value):null,t[7]?new H_(t[7].value):null,t[8]?new t_.IfcLengthMeasure(t[8].value):null,t[9]?new H_(t[9].value):null)},504942748:function(e,t){return new t_.IfcRelConnectsWithEccentricity(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,new H_(t[4].value),new H_(t[5].value),t[6]?new H_(t[6].value):null,t[7]?new H_(t[7].value):null,t[8]?new t_.IfcLengthMeasure(t[8].value):null,t[9]?new H_(t[9].value):null,new H_(t[10].value))},3678494232:function(e,t){return new t_.IfcRelConnectsWithRealizingElements(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new H_(t[4].value):null,new H_(t[5].value),new H_(t[6].value),t[7].map((function(e){return new H_(e.value)})),t[8]?new t_.IfcLabel(t[8].value):null)},3242617779:function(e,t){return new t_.IfcRelContainedInSpatialStructure(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4].map((function(e){return new H_(e.value)})),new H_(t[5].value))},886880790:function(e,t){return new t_.IfcRelCoversBldgElements(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,new H_(t[4].value),t[5].map((function(e){return new H_(e.value)})))},2802773753:function(e,t){return new t_.IfcRelCoversSpaces(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,new H_(t[4].value),t[5].map((function(e){return new H_(e.value)})))},2565941209:function(e,t){return new t_.IfcRelDeclares(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,new H_(t[4].value),t[5].map((function(e){return new H_(e.value)})))},2551354335:function(e,t){return new t_.IfcRelDecomposes(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null)},693640335:function(e,t){return new t_.IfcRelDefines(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null)},1462361463:function(e,t){return new t_.IfcRelDefinesByObject(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4].map((function(e){return new H_(e.value)})),new H_(t[5].value))},4186316022:function(e,t){return new t_.IfcRelDefinesByProperties(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4].map((function(e){return new H_(e.value)})),new H_(t[5].value))},307848117:function(e,t){return new t_.IfcRelDefinesByTemplate(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4].map((function(e){return new H_(e.value)})),new H_(t[5].value))},781010003:function(e,t){return new t_.IfcRelDefinesByType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4].map((function(e){return new H_(e.value)})),new H_(t[5].value))},3940055652:function(e,t){return new t_.IfcRelFillsElement(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,new H_(t[4].value),new H_(t[5].value))},279856033:function(e,t){return new t_.IfcRelFlowControlElements(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4].map((function(e){return new H_(e.value)})),new H_(t[5].value))},427948657:function(e,t){return new t_.IfcRelInterferesElements(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,new H_(t[4].value),new H_(t[5].value),t[6]?new H_(t[6].value):null,t[7]?new H_(t[7].value):null,t[8]?new t_.IfcIdentifier(t[8].value):null,new t_.IfcLogical(t[9].value))},3268803585:function(e,t){return new t_.IfcRelNests(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,new H_(t[4].value),t[5].map((function(e){return new H_(e.value)})))},1441486842:function(e,t){return new t_.IfcRelPositions(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,new H_(t[4].value),t[5].map((function(e){return new H_(e.value)})))},750771296:function(e,t){return new t_.IfcRelProjectsElement(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,new H_(t[4].value),new H_(t[5].value))},1245217292:function(e,t){return new t_.IfcRelReferencedInSpatialStructure(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4].map((function(e){return new H_(e.value)})),new H_(t[5].value))},4122056220:function(e,t){return new t_.IfcRelSequence(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,new H_(t[4].value),new H_(t[5].value),t[6]?new H_(t[6].value):null,t[7],t[8]?new t_.IfcLabel(t[8].value):null)},366585022:function(e,t){return new t_.IfcRelServicesBuildings(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,new H_(t[4].value),t[5].map((function(e){return new H_(e.value)})))},3451746338:function(e,t){return new t_.IfcRelSpaceBoundary(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,new H_(t[4].value),new H_(t[5].value),t[6]?new H_(t[6].value):null,t[7],t[8])},3523091289:function(e,t){return new t_.IfcRelSpaceBoundary1stLevel(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,new H_(t[4].value),new H_(t[5].value),t[6]?new H_(t[6].value):null,t[7],t[8],t[9]?new H_(t[9].value):null)},1521410863:function(e,t){return new t_.IfcRelSpaceBoundary2ndLevel(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,new H_(t[4].value),new H_(t[5].value),t[6]?new H_(t[6].value):null,t[7],t[8],t[9]?new H_(t[9].value):null,t[10]?new H_(t[10].value):null)},1401173127:function(e,t){return new t_.IfcRelVoidsElement(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,new H_(t[4].value),new H_(t[5].value))},816062949:function(e,t){return new t_.IfcReparametrisedCompositeCurveSegment(e,t[0],new t_.IfcBoolean(t[1].value),new H_(t[2].value),new t_.IfcParameterValue(t[3].value))},2914609552:function(e,t){return new t_.IfcResource(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new t_.IfcIdentifier(t[5].value):null,t[6]?new t_.IfcText(t[6].value):null)},1856042241:function(e,t){return new t_.IfcRevolvedAreaSolid(e,new H_(t[0].value),t[1]?new H_(t[1].value):null,new H_(t[2].value),new t_.IfcPlaneAngleMeasure(t[3].value))},3243963512:function(e,t){return new t_.IfcRevolvedAreaSolidTapered(e,new H_(t[0].value),t[1]?new H_(t[1].value):null,new H_(t[2].value),new t_.IfcPlaneAngleMeasure(t[3].value),new H_(t[4].value))},4158566097:function(e,t){return new t_.IfcRightCircularCone(e,new H_(t[0].value),new t_.IfcPositiveLengthMeasure(t[1].value),new t_.IfcPositiveLengthMeasure(t[2].value))},3626867408:function(e,t){return new t_.IfcRightCircularCylinder(e,new H_(t[0].value),new t_.IfcPositiveLengthMeasure(t[1].value),new t_.IfcPositiveLengthMeasure(t[2].value))},1862484736:function(e,t){return new t_.IfcSectionedSolid(e,new H_(t[0].value),t[1].map((function(e){return new H_(e.value)})))},1290935644:function(e,t){return new t_.IfcSectionedSolidHorizontal(e,new H_(t[0].value),t[1].map((function(e){return new H_(e.value)})),t[2].map((function(e){return new H_(e.value)})))},1356537516:function(e,t){return new t_.IfcSectionedSurface(e,new H_(t[0].value),t[1].map((function(e){return new H_(e.value)})),t[2].map((function(e){return new H_(e.value)})))},3663146110:function(e,t){return new t_.IfcSimplePropertyTemplate(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4],t[5]?new t_.IfcLabel(t[5].value):null,t[6]?new t_.IfcLabel(t[6].value):null,t[7]?new H_(t[7].value):null,t[8]?new H_(t[8].value):null,t[9]?new H_(t[9].value):null,t[10]?new t_.IfcLabel(t[10].value):null,t[11])},1412071761:function(e,t){return new t_.IfcSpatialElement(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcLabel(t[7].value):null)},710998568:function(e,t){return new t_.IfcSpatialElementType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null)},2706606064:function(e,t){return new t_.IfcSpatialStructureElement(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8])},3893378262:function(e,t){return new t_.IfcSpatialStructureElementType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null)},463610769:function(e,t){return new t_.IfcSpatialZone(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8])},2481509218:function(e,t){return new t_.IfcSpatialZoneType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9],t[10]?new t_.IfcLabel(t[10].value):null)},451544542:function(e,t){return new t_.IfcSphere(e,new H_(t[0].value),new t_.IfcPositiveLengthMeasure(t[1].value))},4015995234:function(e,t){return new t_.IfcSphericalSurface(e,new H_(t[0].value),new t_.IfcPositiveLengthMeasure(t[1].value))},2735484536:function(e,t){return new t_.IfcSpiral(e,t[0]?new H_(t[0].value):null)},3544373492:function(e,t){return new t_.IfcStructuralActivity(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,new H_(t[7].value),t[8])},3136571912:function(e,t){return new t_.IfcStructuralItem(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null)},530289379:function(e,t){return new t_.IfcStructuralMember(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null)},3689010777:function(e,t){return new t_.IfcStructuralReaction(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,new H_(t[7].value),t[8])},3979015343:function(e,t){return new t_.IfcStructuralSurfaceMember(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7],t[8]?new t_.IfcPositiveLengthMeasure(t[8].value):null)},2218152070:function(e,t){return new t_.IfcStructuralSurfaceMemberVarying(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7],t[8]?new t_.IfcPositiveLengthMeasure(t[8].value):null)},603775116:function(e,t){return new t_.IfcStructuralSurfaceReaction(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,new H_(t[7].value),t[8],t[9])},4095615324:function(e,t){return new t_.IfcSubContractResourceType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?new t_.IfcIdentifier(t[6].value):null,t[7]?new t_.IfcText(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9]?t[9].map((function(e){return new H_(e.value)})):null,t[10]?new H_(t[10].value):null,t[11])},699246055:function(e,t){return new t_.IfcSurfaceCurve(e,new H_(t[0].value),t[1].map((function(e){return new H_(e.value)})),t[2])},2028607225:function(e,t){return new t_.IfcSurfaceCurveSweptAreaSolid(e,new H_(t[0].value),t[1]?new H_(t[1].value):null,new H_(t[2].value),t[3]?K_(3,t[3]):null,t[4]?K_(3,t[4]):null,new H_(t[5].value))},2809605785:function(e,t){return new t_.IfcSurfaceOfLinearExtrusion(e,new H_(t[0].value),t[1]?new H_(t[1].value):null,new H_(t[2].value),new t_.IfcLengthMeasure(t[3].value))},4124788165:function(e,t){return new t_.IfcSurfaceOfRevolution(e,new H_(t[0].value),t[1]?new H_(t[1].value):null,new H_(t[2].value))},1580310250:function(e,t){return new t_.IfcSystemFurnitureElementType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9])},3473067441:function(e,t){return new t_.IfcTask(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new t_.IfcIdentifier(t[5].value):null,t[6]?new t_.IfcText(t[6].value):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,new t_.IfcBoolean(t[9].value),t[10]?new t_.IfcInteger(t[10].value):null,t[11]?new H_(t[11].value):null,t[12])},3206491090:function(e,t){return new t_.IfcTaskType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?new t_.IfcIdentifier(t[6].value):null,t[7]?new t_.IfcText(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9],t[10]?new t_.IfcLabel(t[10].value):null)},2387106220:function(e,t){return new t_.IfcTessellatedFaceSet(e,new H_(t[0].value),t[1]?new t_.IfcBoolean(t[1].value):null)},782932809:function(e,t){return new t_.IfcThirdOrderPolynomialSpiral(e,t[0]?new H_(t[0].value):null,new t_.IfcLengthMeasure(t[1].value),t[2]?new t_.IfcLengthMeasure(t[2].value):null,t[3]?new t_.IfcLengthMeasure(t[3].value):null,t[4]?new t_.IfcLengthMeasure(t[4].value):null)},1935646853:function(e,t){return new t_.IfcToroidalSurface(e,new H_(t[0].value),new t_.IfcPositiveLengthMeasure(t[1].value),new t_.IfcPositiveLengthMeasure(t[2].value))},3665877780:function(e,t){return new t_.IfcTransportationDeviceType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null)},2916149573:function(e,t){return new t_.IfcTriangulatedFaceSet(e,new H_(t[0].value),t[1]?new t_.IfcBoolean(t[1].value):null,t[2]?t[2].map((function(e){return new t_.IfcParameterValue(e.value)})):null,t[3].map((function(e){return new t_.IfcPositiveInteger(e.value)})),t[4]?t[4].map((function(e){return new t_.IfcPositiveInteger(e.value)})):null)},1229763772:function(e,t){return new t_.IfcTriangulatedIrregularNetwork(e,new H_(t[0].value),t[1]?new t_.IfcBoolean(t[1].value):null,t[2]?t[2].map((function(e){return new t_.IfcParameterValue(e.value)})):null,t[3].map((function(e){return new t_.IfcPositiveInteger(e.value)})),t[4]?t[4].map((function(e){return new t_.IfcPositiveInteger(e.value)})):null,t[5].map((function(e){return new t_.IfcInteger(e.value)})))},3651464721:function(e,t){return new t_.IfcVehicleType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9])},336235671:function(e,t){return new t_.IfcWindowLiningProperties(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcPositiveLengthMeasure(t[4].value):null,t[5]?new t_.IfcNonNegativeLengthMeasure(t[5].value):null,t[6]?new t_.IfcNonNegativeLengthMeasure(t[6].value):null,t[7]?new t_.IfcNonNegativeLengthMeasure(t[7].value):null,t[8]?new t_.IfcNormalisedRatioMeasure(t[8].value):null,t[9]?new t_.IfcNormalisedRatioMeasure(t[9].value):null,t[10]?new t_.IfcNormalisedRatioMeasure(t[10].value):null,t[11]?new t_.IfcNormalisedRatioMeasure(t[11].value):null,t[12]?new H_(t[12].value):null,t[13]?new t_.IfcLengthMeasure(t[13].value):null,t[14]?new t_.IfcLengthMeasure(t[14].value):null,t[15]?new t_.IfcLengthMeasure(t[15].value):null)},512836454:function(e,t){return new t_.IfcWindowPanelProperties(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4],t[5],t[6]?new t_.IfcPositiveLengthMeasure(t[6].value):null,t[7]?new t_.IfcPositiveLengthMeasure(t[7].value):null,t[8]?new H_(t[8].value):null)},2296667514:function(e,t){return new t_.IfcActor(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,new H_(t[5].value))},1635779807:function(e,t){return new t_.IfcAdvancedBrep(e,new H_(t[0].value))},2603310189:function(e,t){return new t_.IfcAdvancedBrepWithVoids(e,new H_(t[0].value),t[1].map((function(e){return new H_(e.value)})))},1674181508:function(e,t){return new t_.IfcAnnotation(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7])},2887950389:function(e,t){return new t_.IfcBSplineSurface(e,new t_.IfcInteger(t[0].value),new t_.IfcInteger(t[1].value),t[2].map((function(e){return new H_(e.value)})),t[3],new t_.IfcLogical(t[4].value),new t_.IfcLogical(t[5].value),new t_.IfcLogical(t[6].value))},167062518:function(e,t){return new t_.IfcBSplineSurfaceWithKnots(e,new t_.IfcInteger(t[0].value),new t_.IfcInteger(t[1].value),t[2].map((function(e){return new H_(e.value)})),t[3],new t_.IfcLogical(t[4].value),new t_.IfcLogical(t[5].value),new t_.IfcLogical(t[6].value),t[7].map((function(e){return new t_.IfcInteger(e.value)})),t[8].map((function(e){return new t_.IfcInteger(e.value)})),t[9].map((function(e){return new t_.IfcParameterValue(e.value)})),t[10].map((function(e){return new t_.IfcParameterValue(e.value)})),t[11])},1334484129:function(e,t){return new t_.IfcBlock(e,new H_(t[0].value),new t_.IfcPositiveLengthMeasure(t[1].value),new t_.IfcPositiveLengthMeasure(t[2].value),new t_.IfcPositiveLengthMeasure(t[3].value))},3649129432:function(e,t){return new t_.IfcBooleanClippingResult(e,t[0],new H_(t[1].value),new H_(t[2].value))},1260505505:function(e,t){return new t_.IfcBoundedCurve(e)},3124254112:function(e,t){return new t_.IfcBuildingStorey(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8],t[9]?new t_.IfcLengthMeasure(t[9].value):null)},1626504194:function(e,t){return new t_.IfcBuiltElementType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null)},2197970202:function(e,t){return new t_.IfcChimneyType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9])},2937912522:function(e,t){return new t_.IfcCircleHollowProfileDef(e,t[0],t[1]?new t_.IfcLabel(t[1].value):null,t[2]?new H_(t[2].value):null,new t_.IfcPositiveLengthMeasure(t[3].value),new t_.IfcPositiveLengthMeasure(t[4].value))},3893394355:function(e,t){return new t_.IfcCivilElementType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null)},3497074424:function(e,t){return new t_.IfcClothoid(e,t[0]?new H_(t[0].value):null,new t_.IfcLengthMeasure(t[1].value))},300633059:function(e,t){return new t_.IfcColumnType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9])},3875453745:function(e,t){return new t_.IfcComplexPropertyTemplate(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5],t[6]?t[6].map((function(e){return new H_(e.value)})):null)},3732776249:function(e,t){return new t_.IfcCompositeCurve(e,t[0].map((function(e){return new H_(e.value)})),new t_.IfcLogical(t[1].value))},15328376:function(e,t){return new t_.IfcCompositeCurveOnSurface(e,t[0].map((function(e){return new H_(e.value)})),new t_.IfcLogical(t[1].value))},2510884976:function(e,t){return new t_.IfcConic(e,new H_(t[0].value))},2185764099:function(e,t){return new t_.IfcConstructionEquipmentResourceType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?new t_.IfcIdentifier(t[6].value):null,t[7]?new t_.IfcText(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9]?t[9].map((function(e){return new H_(e.value)})):null,t[10]?new H_(t[10].value):null,t[11])},4105962743:function(e,t){return new t_.IfcConstructionMaterialResourceType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?new t_.IfcIdentifier(t[6].value):null,t[7]?new t_.IfcText(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9]?t[9].map((function(e){return new H_(e.value)})):null,t[10]?new H_(t[10].value):null,t[11])},1525564444:function(e,t){return new t_.IfcConstructionProductResourceType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?new t_.IfcIdentifier(t[6].value):null,t[7]?new t_.IfcText(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9]?t[9].map((function(e){return new H_(e.value)})):null,t[10]?new H_(t[10].value):null,t[11])},2559216714:function(e,t){return new t_.IfcConstructionResource(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new t_.IfcIdentifier(t[5].value):null,t[6]?new t_.IfcText(t[6].value):null,t[7]?new H_(t[7].value):null,t[8]?t[8].map((function(e){return new H_(e.value)})):null,t[9]?new H_(t[9].value):null)},3293443760:function(e,t){return new t_.IfcControl(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new t_.IfcIdentifier(t[5].value):null)},2000195564:function(e,t){return new t_.IfcCosineSpiral(e,t[0]?new H_(t[0].value):null,new t_.IfcLengthMeasure(t[1].value),t[2]?new t_.IfcLengthMeasure(t[2].value):null)},3895139033:function(e,t){return new t_.IfcCostItem(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new t_.IfcIdentifier(t[5].value):null,t[6],t[7]?t[7].map((function(e){return new H_(e.value)})):null,t[8]?t[8].map((function(e){return new H_(e.value)})):null)},1419761937:function(e,t){return new t_.IfcCostSchedule(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new t_.IfcIdentifier(t[5].value):null,t[6],t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcDateTime(t[8].value):null,t[9]?new t_.IfcDateTime(t[9].value):null)},4189326743:function(e,t){return new t_.IfcCourseType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9])},1916426348:function(e,t){return new t_.IfcCoveringType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9])},3295246426:function(e,t){return new t_.IfcCrewResource(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new t_.IfcIdentifier(t[5].value):null,t[6]?new t_.IfcText(t[6].value):null,t[7]?new H_(t[7].value):null,t[8]?t[8].map((function(e){return new H_(e.value)})):null,t[9]?new H_(t[9].value):null,t[10])},1457835157:function(e,t){return new t_.IfcCurtainWallType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9])},1213902940:function(e,t){return new t_.IfcCylindricalSurface(e,new H_(t[0].value),new t_.IfcPositiveLengthMeasure(t[1].value))},1306400036:function(e,t){return new t_.IfcDeepFoundationType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null)},4234616927:function(e,t){return new t_.IfcDirectrixDerivedReferenceSweptAreaSolid(e,new H_(t[0].value),t[1]?new H_(t[1].value):null,new H_(t[2].value),t[3]?K_(3,t[3]):null,t[4]?K_(3,t[4]):null,new H_(t[5].value))},3256556792:function(e,t){return new t_.IfcDistributionElementType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null)},3849074793:function(e,t){return new t_.IfcDistributionFlowElementType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null)},2963535650:function(e,t){return new t_.IfcDoorLiningProperties(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcPositiveLengthMeasure(t[4].value):null,t[5]?new t_.IfcNonNegativeLengthMeasure(t[5].value):null,t[6]?new t_.IfcPositiveLengthMeasure(t[6].value):null,t[7]?new t_.IfcNonNegativeLengthMeasure(t[7].value):null,t[8]?new t_.IfcNonNegativeLengthMeasure(t[8].value):null,t[9]?new t_.IfcLengthMeasure(t[9].value):null,t[10]?new t_.IfcLengthMeasure(t[10].value):null,t[11]?new t_.IfcLengthMeasure(t[11].value):null,t[12]?new t_.IfcPositiveLengthMeasure(t[12].value):null,t[13]?new t_.IfcPositiveLengthMeasure(t[13].value):null,t[14]?new H_(t[14].value):null,t[15]?new t_.IfcLengthMeasure(t[15].value):null,t[16]?new t_.IfcLengthMeasure(t[16].value):null)},1714330368:function(e,t){return new t_.IfcDoorPanelProperties(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcPositiveLengthMeasure(t[4].value):null,t[5],t[6]?new t_.IfcNormalisedRatioMeasure(t[6].value):null,t[7],t[8]?new H_(t[8].value):null)},2323601079:function(e,t){return new t_.IfcDoorType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9],t[10],t[11]?new t_.IfcBoolean(t[11].value):null,t[12]?new t_.IfcLabel(t[12].value):null)},445594917:function(e,t){return new t_.IfcDraughtingPreDefinedColour(e,new t_.IfcLabel(t[0].value))},4006246654:function(e,t){return new t_.IfcDraughtingPreDefinedCurveFont(e,new t_.IfcLabel(t[0].value))},1758889154:function(e,t){return new t_.IfcElement(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null)},4123344466:function(e,t){return new t_.IfcElementAssembly(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8],t[9])},2397081782:function(e,t){return new t_.IfcElementAssemblyType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9])},1623761950:function(e,t){return new t_.IfcElementComponent(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null)},2590856083:function(e,t){return new t_.IfcElementComponentType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null)},1704287377:function(e,t){return new t_.IfcEllipse(e,new H_(t[0].value),new t_.IfcPositiveLengthMeasure(t[1].value),new t_.IfcPositiveLengthMeasure(t[2].value))},2107101300:function(e,t){return new t_.IfcEnergyConversionDeviceType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null)},132023988:function(e,t){return new t_.IfcEngineType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9])},3174744832:function(e,t){return new t_.IfcEvaporativeCoolerType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9])},3390157468:function(e,t){return new t_.IfcEvaporatorType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9])},4148101412:function(e,t){return new t_.IfcEvent(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new t_.IfcIdentifier(t[5].value):null,t[6]?new t_.IfcText(t[6].value):null,t[7],t[8],t[9]?new t_.IfcLabel(t[9].value):null,t[10]?new H_(t[10].value):null)},2853485674:function(e,t){return new t_.IfcExternalSpatialStructureElement(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcLabel(t[7].value):null)},807026263:function(e,t){return new t_.IfcFacetedBrep(e,new H_(t[0].value))},3737207727:function(e,t){return new t_.IfcFacetedBrepWithVoids(e,new H_(t[0].value),t[1].map((function(e){return new H_(e.value)})))},24185140:function(e,t){return new t_.IfcFacility(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8])},1310830890:function(e,t){return new t_.IfcFacilityPart(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8],t[9])},4228831410:function(e,t){return new t_.IfcFacilityPartCommon(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8],t[9],t[10])},647756555:function(e,t){return new t_.IfcFastener(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8])},2489546625:function(e,t){return new t_.IfcFastenerType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9])},2827207264:function(e,t){return new t_.IfcFeatureElement(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null)},2143335405:function(e,t){return new t_.IfcFeatureElementAddition(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null)},1287392070:function(e,t){return new t_.IfcFeatureElementSubtraction(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null)},3907093117:function(e,t){return new t_.IfcFlowControllerType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null)},3198132628:function(e,t){return new t_.IfcFlowFittingType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null)},3815607619:function(e,t){return new t_.IfcFlowMeterType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9])},1482959167:function(e,t){return new t_.IfcFlowMovingDeviceType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null)},1834744321:function(e,t){return new t_.IfcFlowSegmentType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null)},1339347760:function(e,t){return new t_.IfcFlowStorageDeviceType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null)},2297155007:function(e,t){return new t_.IfcFlowTerminalType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null)},3009222698:function(e,t){return new t_.IfcFlowTreatmentDeviceType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null)},1893162501:function(e,t){return new t_.IfcFootingType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9])},263784265:function(e,t){return new t_.IfcFurnishingElement(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null)},1509553395:function(e,t){return new t_.IfcFurniture(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8])},3493046030:function(e,t){return new t_.IfcGeographicElement(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8])},4230923436:function(e,t){return new t_.IfcGeotechnicalElement(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null)},1594536857:function(e,t){return new t_.IfcGeotechnicalStratum(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8])},2898700619:function(e,t){return new t_.IfcGradientCurve(e,t[0].map((function(e){return new H_(e.value)})),new t_.IfcLogical(t[1].value),new H_(t[2].value),t[3]?new H_(t[3].value):null)},2706460486:function(e,t){return new t_.IfcGroup(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null)},1251058090:function(e,t){return new t_.IfcHeatExchangerType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9])},1806887404:function(e,t){return new t_.IfcHumidifierType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9])},2568555532:function(e,t){return new t_.IfcImpactProtectionDevice(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8])},3948183225:function(e,t){return new t_.IfcImpactProtectionDeviceType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9])},2571569899:function(e,t){return new t_.IfcIndexedPolyCurve(e,new H_(t[0].value),t[1]?t[1].map((function(e){return K_(3,e)})):null,new t_.IfcLogical(t[2].value))},3946677679:function(e,t){return new t_.IfcInterceptorType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9])},3113134337:function(e,t){return new t_.IfcIntersectionCurve(e,new H_(t[0].value),t[1].map((function(e){return new H_(e.value)})),t[2])},2391368822:function(e,t){return new t_.IfcInventory(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5],t[6]?new H_(t[6].value):null,t[7]?t[7].map((function(e){return new H_(e.value)})):null,t[8]?new t_.IfcDate(t[8].value):null,t[9]?new H_(t[9].value):null,t[10]?new H_(t[10].value):null)},4288270099:function(e,t){return new t_.IfcJunctionBoxType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9])},679976338:function(e,t){return new t_.IfcKerbType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,new t_.IfcBoolean(t[9].value))},3827777499:function(e,t){return new t_.IfcLaborResource(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new t_.IfcIdentifier(t[5].value):null,t[6]?new t_.IfcText(t[6].value):null,t[7]?new H_(t[7].value):null,t[8]?t[8].map((function(e){return new H_(e.value)})):null,t[9]?new H_(t[9].value):null,t[10])},1051575348:function(e,t){return new t_.IfcLampType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9])},1161773419:function(e,t){return new t_.IfcLightFixtureType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9])},2176059722:function(e,t){return new t_.IfcLinearElement(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null)},1770583370:function(e,t){return new t_.IfcLiquidTerminalType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9])},525669439:function(e,t){return new t_.IfcMarineFacility(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8],t[9])},976884017:function(e,t){return new t_.IfcMarinePart(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8],t[9],t[10])},377706215:function(e,t){return new t_.IfcMechanicalFastener(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8]?new t_.IfcPositiveLengthMeasure(t[8].value):null,t[9]?new t_.IfcPositiveLengthMeasure(t[9].value):null,t[10])},2108223431:function(e,t){return new t_.IfcMechanicalFastenerType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9],t[10]?new t_.IfcPositiveLengthMeasure(t[10].value):null,t[11]?new t_.IfcPositiveLengthMeasure(t[11].value):null)},1114901282:function(e,t){return new t_.IfcMedicalDeviceType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9])},3181161470:function(e,t){return new t_.IfcMemberType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9])},1950438474:function(e,t){return new t_.IfcMobileTelecommunicationsApplianceType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9])},710110818:function(e,t){return new t_.IfcMooringDeviceType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9])},977012517:function(e,t){return new t_.IfcMotorConnectionType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9])},506776471:function(e,t){return new t_.IfcNavigationElementType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9])},4143007308:function(e,t){return new t_.IfcOccupant(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,new H_(t[5].value),t[6])},3588315303:function(e,t){return new t_.IfcOpeningElement(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8])},2837617999:function(e,t){return new t_.IfcOutletType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9])},514975943:function(e,t){return new t_.IfcPavementType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9])},2382730787:function(e,t){return new t_.IfcPerformanceHistory(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new t_.IfcIdentifier(t[5].value):null,new t_.IfcLabel(t[6].value),t[7])},3566463478:function(e,t){return new t_.IfcPermeableCoveringProperties(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4],t[5],t[6]?new t_.IfcPositiveLengthMeasure(t[6].value):null,t[7]?new t_.IfcPositiveLengthMeasure(t[7].value):null,t[8]?new H_(t[8].value):null)},3327091369:function(e,t){return new t_.IfcPermit(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new t_.IfcIdentifier(t[5].value):null,t[6],t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcText(t[8].value):null)},1158309216:function(e,t){return new t_.IfcPileType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9])},804291784:function(e,t){return new t_.IfcPipeFittingType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9])},4231323485:function(e,t){return new t_.IfcPipeSegmentType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9])},4017108033:function(e,t){return new t_.IfcPlateType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9])},2839578677:function(e,t){return new t_.IfcPolygonalFaceSet(e,new H_(t[0].value),t[1]?new t_.IfcBoolean(t[1].value):null,t[2].map((function(e){return new H_(e.value)})),t[3]?t[3].map((function(e){return new t_.IfcPositiveInteger(e.value)})):null)},3724593414:function(e,t){return new t_.IfcPolyline(e,t[0].map((function(e){return new H_(e.value)})))},3740093272:function(e,t){return new t_.IfcPort(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null)},1946335990:function(e,t){return new t_.IfcPositioningElement(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null)},2744685151:function(e,t){return new t_.IfcProcedure(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new t_.IfcIdentifier(t[5].value):null,t[6]?new t_.IfcText(t[6].value):null,t[7])},2904328755:function(e,t){return new t_.IfcProjectOrder(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new t_.IfcIdentifier(t[5].value):null,t[6],t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcText(t[8].value):null)},3651124850:function(e,t){return new t_.IfcProjectionElement(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8])},1842657554:function(e,t){return new t_.IfcProtectiveDeviceType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9])},2250791053:function(e,t){return new t_.IfcPumpType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9])},1763565496:function(e,t){return new t_.IfcRailType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9])},2893384427:function(e,t){return new t_.IfcRailingType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9])},3992365140:function(e,t){return new t_.IfcRailway(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8],t[9])},1891881377:function(e,t){return new t_.IfcRailwayPart(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8],t[9],t[10])},2324767716:function(e,t){return new t_.IfcRampFlightType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9])},1469900589:function(e,t){return new t_.IfcRampType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9])},683857671:function(e,t){return new t_.IfcRationalBSplineSurfaceWithKnots(e,new t_.IfcInteger(t[0].value),new t_.IfcInteger(t[1].value),t[2].map((function(e){return new H_(e.value)})),t[3],new t_.IfcLogical(t[4].value),new t_.IfcLogical(t[5].value),new t_.IfcLogical(t[6].value),t[7].map((function(e){return new t_.IfcInteger(e.value)})),t[8].map((function(e){return new t_.IfcInteger(e.value)})),t[9].map((function(e){return new t_.IfcParameterValue(e.value)})),t[10].map((function(e){return new t_.IfcParameterValue(e.value)})),t[11],t[12].map((function(e){return new t_.IfcReal(e.value)})))},4021432810:function(e,t){return new t_.IfcReferent(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7])},3027567501:function(e,t){return new t_.IfcReinforcingElement(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null)},964333572:function(e,t){return new t_.IfcReinforcingElementType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null)},2320036040:function(e,t){return new t_.IfcReinforcingMesh(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9]?new t_.IfcPositiveLengthMeasure(t[9].value):null,t[10]?new t_.IfcPositiveLengthMeasure(t[10].value):null,t[11]?new t_.IfcPositiveLengthMeasure(t[11].value):null,t[12]?new t_.IfcPositiveLengthMeasure(t[12].value):null,t[13]?new t_.IfcAreaMeasure(t[13].value):null,t[14]?new t_.IfcAreaMeasure(t[14].value):null,t[15]?new t_.IfcPositiveLengthMeasure(t[15].value):null,t[16]?new t_.IfcPositiveLengthMeasure(t[16].value):null,t[17])},2310774935:function(e,t){return new t_.IfcReinforcingMeshType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9],t[10]?new t_.IfcPositiveLengthMeasure(t[10].value):null,t[11]?new t_.IfcPositiveLengthMeasure(t[11].value):null,t[12]?new t_.IfcPositiveLengthMeasure(t[12].value):null,t[13]?new t_.IfcPositiveLengthMeasure(t[13].value):null,t[14]?new t_.IfcAreaMeasure(t[14].value):null,t[15]?new t_.IfcAreaMeasure(t[15].value):null,t[16]?new t_.IfcPositiveLengthMeasure(t[16].value):null,t[17]?new t_.IfcPositiveLengthMeasure(t[17].value):null,t[18]?new t_.IfcLabel(t[18].value):null,t[19]?t[19].map((function(e){return K_(3,e)})):null)},3818125796:function(e,t){return new t_.IfcRelAdheresToElement(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,new H_(t[4].value),t[5].map((function(e){return new H_(e.value)})))},160246688:function(e,t){return new t_.IfcRelAggregates(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,new H_(t[4].value),t[5].map((function(e){return new H_(e.value)})))},146592293:function(e,t){return new t_.IfcRoad(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8],t[9])},550521510:function(e,t){return new t_.IfcRoadPart(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8],t[9],t[10])},2781568857:function(e,t){return new t_.IfcRoofType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9])},1768891740:function(e,t){return new t_.IfcSanitaryTerminalType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9])},2157484638:function(e,t){return new t_.IfcSeamCurve(e,new H_(t[0].value),t[1].map((function(e){return new H_(e.value)})),t[2])},3649235739:function(e,t){return new t_.IfcSecondOrderPolynomialSpiral(e,t[0]?new H_(t[0].value):null,new t_.IfcLengthMeasure(t[1].value),t[2]?new t_.IfcLengthMeasure(t[2].value):null,t[3]?new t_.IfcLengthMeasure(t[3].value):null)},544395925:function(e,t){return new t_.IfcSegmentedReferenceCurve(e,t[0].map((function(e){return new H_(e.value)})),new t_.IfcLogical(t[1].value),new H_(t[2].value),t[3]?new H_(t[3].value):null)},1027922057:function(e,t){return new t_.IfcSeventhOrderPolynomialSpiral(e,t[0]?new H_(t[0].value):null,new t_.IfcLengthMeasure(t[1].value),t[2]?new t_.IfcLengthMeasure(t[2].value):null,t[3]?new t_.IfcLengthMeasure(t[3].value):null,t[4]?new t_.IfcLengthMeasure(t[4].value):null,t[5]?new t_.IfcLengthMeasure(t[5].value):null,t[6]?new t_.IfcLengthMeasure(t[6].value):null,t[7]?new t_.IfcLengthMeasure(t[7].value):null,t[8]?new t_.IfcLengthMeasure(t[8].value):null)},4074543187:function(e,t){return new t_.IfcShadingDeviceType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9])},33720170:function(e,t){return new t_.IfcSign(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8])},3599934289:function(e,t){return new t_.IfcSignType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9])},1894708472:function(e,t){return new t_.IfcSignalType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9])},42703149:function(e,t){return new t_.IfcSineSpiral(e,t[0]?new H_(t[0].value):null,new t_.IfcLengthMeasure(t[1].value),t[2]?new t_.IfcLengthMeasure(t[2].value):null,t[3]?new t_.IfcLengthMeasure(t[3].value):null)},4097777520:function(e,t){return new t_.IfcSite(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8],t[9]?new t_.IfcCompoundPlaneAngleMeasure(t[9]):null,t[10]?new t_.IfcCompoundPlaneAngleMeasure(t[10]):null,t[11]?new t_.IfcLengthMeasure(t[11].value):null,t[12]?new t_.IfcLabel(t[12].value):null,t[13]?new H_(t[13].value):null)},2533589738:function(e,t){return new t_.IfcSlabType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9])},1072016465:function(e,t){return new t_.IfcSolarDeviceType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9])},3856911033:function(e,t){return new t_.IfcSpace(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8],t[9],t[10]?new t_.IfcLengthMeasure(t[10].value):null)},1305183839:function(e,t){return new t_.IfcSpaceHeaterType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9])},3812236995:function(e,t){return new t_.IfcSpaceType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9],t[10]?new t_.IfcLabel(t[10].value):null)},3112655638:function(e,t){return new t_.IfcStackTerminalType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9])},1039846685:function(e,t){return new t_.IfcStairFlightType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9])},338393293:function(e,t){return new t_.IfcStairType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9])},682877961:function(e,t){return new t_.IfcStructuralAction(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,new H_(t[7].value),t[8],t[9]?new t_.IfcBoolean(t[9].value):null)},1179482911:function(e,t){return new t_.IfcStructuralConnection(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new H_(t[7].value):null)},1004757350:function(e,t){return new t_.IfcStructuralCurveAction(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,new H_(t[7].value),t[8],t[9]?new t_.IfcBoolean(t[9].value):null,t[10],t[11])},4243806635:function(e,t){return new t_.IfcStructuralCurveConnection(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new H_(t[7].value):null,new H_(t[8].value))},214636428:function(e,t){return new t_.IfcStructuralCurveMember(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7],new H_(t[8].value))},2445595289:function(e,t){return new t_.IfcStructuralCurveMemberVarying(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7],new H_(t[8].value))},2757150158:function(e,t){return new t_.IfcStructuralCurveReaction(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,new H_(t[7].value),t[8],t[9])},1807405624:function(e,t){return new t_.IfcStructuralLinearAction(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,new H_(t[7].value),t[8],t[9]?new t_.IfcBoolean(t[9].value):null,t[10],t[11])},1252848954:function(e,t){return new t_.IfcStructuralLoadGroup(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5],t[6],t[7],t[8]?new t_.IfcRatioMeasure(t[8].value):null,t[9]?new t_.IfcLabel(t[9].value):null)},2082059205:function(e,t){return new t_.IfcStructuralPointAction(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,new H_(t[7].value),t[8],t[9]?new t_.IfcBoolean(t[9].value):null)},734778138:function(e,t){return new t_.IfcStructuralPointConnection(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new H_(t[7].value):null,t[8]?new H_(t[8].value):null)},1235345126:function(e,t){return new t_.IfcStructuralPointReaction(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,new H_(t[7].value),t[8])},2986769608:function(e,t){return new t_.IfcStructuralResultGroup(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5],t[6]?new H_(t[6].value):null,new t_.IfcBoolean(t[7].value))},3657597509:function(e,t){return new t_.IfcStructuralSurfaceAction(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,new H_(t[7].value),t[8],t[9]?new t_.IfcBoolean(t[9].value):null,t[10],t[11])},1975003073:function(e,t){return new t_.IfcStructuralSurfaceConnection(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new H_(t[7].value):null)},148013059:function(e,t){return new t_.IfcSubContractResource(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new t_.IfcIdentifier(t[5].value):null,t[6]?new t_.IfcText(t[6].value):null,t[7]?new H_(t[7].value):null,t[8]?t[8].map((function(e){return new H_(e.value)})):null,t[9]?new H_(t[9].value):null,t[10])},3101698114:function(e,t){return new t_.IfcSurfaceFeature(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8])},2315554128:function(e,t){return new t_.IfcSwitchingDeviceType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9])},2254336722:function(e,t){return new t_.IfcSystem(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null)},413509423:function(e,t){return new t_.IfcSystemFurnitureElement(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8])},5716631:function(e,t){return new t_.IfcTankType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9])},3824725483:function(e,t){return new t_.IfcTendon(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9],t[10]?new t_.IfcPositiveLengthMeasure(t[10].value):null,t[11]?new t_.IfcAreaMeasure(t[11].value):null,t[12]?new t_.IfcForceMeasure(t[12].value):null,t[13]?new t_.IfcPressureMeasure(t[13].value):null,t[14]?new t_.IfcNormalisedRatioMeasure(t[14].value):null,t[15]?new t_.IfcPositiveLengthMeasure(t[15].value):null,t[16]?new t_.IfcPositiveLengthMeasure(t[16].value):null)},2347447852:function(e,t){return new t_.IfcTendonAnchor(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9])},3081323446:function(e,t){return new t_.IfcTendonAnchorType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9])},3663046924:function(e,t){return new t_.IfcTendonConduit(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9])},2281632017:function(e,t){return new t_.IfcTendonConduitType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9])},2415094496:function(e,t){return new t_.IfcTendonType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9],t[10]?new t_.IfcPositiveLengthMeasure(t[10].value):null,t[11]?new t_.IfcAreaMeasure(t[11].value):null,t[12]?new t_.IfcPositiveLengthMeasure(t[12].value):null)},618700268:function(e,t){return new t_.IfcTrackElementType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9])},1692211062:function(e,t){return new t_.IfcTransformerType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9])},2097647324:function(e,t){return new t_.IfcTransportElementType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9])},1953115116:function(e,t){return new t_.IfcTransportationDevice(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null)},3593883385:function(e,t){return new t_.IfcTrimmedCurve(e,new H_(t[0].value),t[1].map((function(e){return new H_(e.value)})),t[2].map((function(e){return new H_(e.value)})),new t_.IfcBoolean(t[3].value),t[4])},1600972822:function(e,t){return new t_.IfcTubeBundleType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9])},1911125066:function(e,t){return new t_.IfcUnitaryEquipmentType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9])},728799441:function(e,t){return new t_.IfcValveType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9])},840318589:function(e,t){return new t_.IfcVehicle(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8])},1530820697:function(e,t){return new t_.IfcVibrationDamper(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8])},3956297820:function(e,t){return new t_.IfcVibrationDamperType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9])},2391383451:function(e,t){return new t_.IfcVibrationIsolator(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8])},3313531582:function(e,t){return new t_.IfcVibrationIsolatorType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9])},2769231204:function(e,t){return new t_.IfcVirtualElement(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8])},926996030:function(e,t){return new t_.IfcVoidingFeature(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8])},1898987631:function(e,t){return new t_.IfcWallType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9])},1133259667:function(e,t){return new t_.IfcWasteTerminalType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9])},4009809668:function(e,t){return new t_.IfcWindowType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9],t[10],t[11]?new t_.IfcBoolean(t[11].value):null,t[12]?new t_.IfcLabel(t[12].value):null)},4088093105:function(e,t){return new t_.IfcWorkCalendar(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new t_.IfcIdentifier(t[5].value):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?t[7].map((function(e){return new H_(e.value)})):null,t[8])},1028945134:function(e,t){return new t_.IfcWorkControl(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new t_.IfcIdentifier(t[5].value):null,new t_.IfcDateTime(t[6].value),t[7]?t[7].map((function(e){return new H_(e.value)})):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9]?new t_.IfcDuration(t[9].value):null,t[10]?new t_.IfcDuration(t[10].value):null,new t_.IfcDateTime(t[11].value),t[12]?new t_.IfcDateTime(t[12].value):null)},4218914973:function(e,t){return new t_.IfcWorkPlan(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new t_.IfcIdentifier(t[5].value):null,new t_.IfcDateTime(t[6].value),t[7]?t[7].map((function(e){return new H_(e.value)})):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9]?new t_.IfcDuration(t[9].value):null,t[10]?new t_.IfcDuration(t[10].value):null,new t_.IfcDateTime(t[11].value),t[12]?new t_.IfcDateTime(t[12].value):null,t[13])},3342526732:function(e,t){return new t_.IfcWorkSchedule(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new t_.IfcIdentifier(t[5].value):null,new t_.IfcDateTime(t[6].value),t[7]?t[7].map((function(e){return new H_(e.value)})):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9]?new t_.IfcDuration(t[9].value):null,t[10]?new t_.IfcDuration(t[10].value):null,new t_.IfcDateTime(t[11].value),t[12]?new t_.IfcDateTime(t[12].value):null,t[13])},1033361043:function(e,t){return new t_.IfcZone(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new t_.IfcLabel(t[5].value):null)},3821786052:function(e,t){return new t_.IfcActionRequest(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new t_.IfcIdentifier(t[5].value):null,t[6],t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcText(t[8].value):null)},1411407467:function(e,t){return new t_.IfcAirTerminalBoxType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9])},3352864051:function(e,t){return new t_.IfcAirTerminalType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9])},1871374353:function(e,t){return new t_.IfcAirToAirHeatRecoveryType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9])},4266260250:function(e,t){return new t_.IfcAlignmentCant(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,new t_.IfcPositiveLengthMeasure(t[7].value))},1545765605:function(e,t){return new t_.IfcAlignmentHorizontal(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null)},317615605:function(e,t){return new t_.IfcAlignmentSegment(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,new H_(t[7].value))},1662888072:function(e,t){return new t_.IfcAlignmentVertical(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null)},3460190687:function(e,t){return new t_.IfcAsset(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new t_.IfcIdentifier(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new H_(t[7].value):null,t[8]?new H_(t[8].value):null,t[9]?new H_(t[9].value):null,t[10]?new H_(t[10].value):null,t[11]?new H_(t[11].value):null,t[12]?new t_.IfcDate(t[12].value):null,t[13]?new H_(t[13].value):null)},1532957894:function(e,t){return new t_.IfcAudioVisualApplianceType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9])},1967976161:function(e,t){return new t_.IfcBSplineCurve(e,new t_.IfcInteger(t[0].value),t[1].map((function(e){return new H_(e.value)})),t[2],new t_.IfcLogical(t[3].value),new t_.IfcLogical(t[4].value))},2461110595:function(e,t){return new t_.IfcBSplineCurveWithKnots(e,new t_.IfcInteger(t[0].value),t[1].map((function(e){return new H_(e.value)})),t[2],new t_.IfcLogical(t[3].value),new t_.IfcLogical(t[4].value),t[5].map((function(e){return new t_.IfcInteger(e.value)})),t[6].map((function(e){return new t_.IfcParameterValue(e.value)})),t[7])},819618141:function(e,t){return new t_.IfcBeamType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9])},3649138523:function(e,t){return new t_.IfcBearingType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9])},231477066:function(e,t){return new t_.IfcBoilerType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9])},1136057603:function(e,t){return new t_.IfcBoundaryCurve(e,t[0].map((function(e){return new H_(e.value)})),new t_.IfcLogical(t[1].value))},644574406:function(e,t){return new t_.IfcBridge(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8],t[9])},963979645:function(e,t){return new t_.IfcBridgePart(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8],t[9],t[10])},4031249490:function(e,t){return new t_.IfcBuilding(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8],t[9]?new t_.IfcLengthMeasure(t[9].value):null,t[10]?new t_.IfcLengthMeasure(t[10].value):null,t[11]?new H_(t[11].value):null)},2979338954:function(e,t){return new t_.IfcBuildingElementPart(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8])},39481116:function(e,t){return new t_.IfcBuildingElementPartType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9])},1909888760:function(e,t){return new t_.IfcBuildingElementProxyType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9])},1177604601:function(e,t){return new t_.IfcBuildingSystem(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5],t[6]?new t_.IfcLabel(t[6].value):null)},1876633798:function(e,t){return new t_.IfcBuiltElement(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null)},3862327254:function(e,t){return new t_.IfcBuiltSystem(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5],t[6]?new t_.IfcLabel(t[6].value):null)},2188180465:function(e,t){return new t_.IfcBurnerType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9])},395041908:function(e,t){return new t_.IfcCableCarrierFittingType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9])},3293546465:function(e,t){return new t_.IfcCableCarrierSegmentType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9])},2674252688:function(e,t){return new t_.IfcCableFittingType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9])},1285652485:function(e,t){return new t_.IfcCableSegmentType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9])},3203706013:function(e,t){return new t_.IfcCaissonFoundationType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9])},2951183804:function(e,t){return new t_.IfcChillerType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9])},3296154744:function(e,t){return new t_.IfcChimney(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8])},2611217952:function(e,t){return new t_.IfcCircle(e,new H_(t[0].value),new t_.IfcPositiveLengthMeasure(t[1].value))},1677625105:function(e,t){return new t_.IfcCivilElement(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null)},2301859152:function(e,t){return new t_.IfcCoilType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9])},843113511:function(e,t){return new t_.IfcColumn(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8])},400855858:function(e,t){return new t_.IfcCommunicationsApplianceType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9])},3850581409:function(e,t){return new t_.IfcCompressorType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9])},2816379211:function(e,t){return new t_.IfcCondenserType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9])},3898045240:function(e,t){return new t_.IfcConstructionEquipmentResource(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new t_.IfcIdentifier(t[5].value):null,t[6]?new t_.IfcText(t[6].value):null,t[7]?new H_(t[7].value):null,t[8]?t[8].map((function(e){return new H_(e.value)})):null,t[9]?new H_(t[9].value):null,t[10])},1060000209:function(e,t){return new t_.IfcConstructionMaterialResource(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new t_.IfcIdentifier(t[5].value):null,t[6]?new t_.IfcText(t[6].value):null,t[7]?new H_(t[7].value):null,t[8]?t[8].map((function(e){return new H_(e.value)})):null,t[9]?new H_(t[9].value):null,t[10])},488727124:function(e,t){return new t_.IfcConstructionProductResource(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new t_.IfcIdentifier(t[5].value):null,t[6]?new t_.IfcText(t[6].value):null,t[7]?new H_(t[7].value):null,t[8]?t[8].map((function(e){return new H_(e.value)})):null,t[9]?new H_(t[9].value):null,t[10])},2940368186:function(e,t){return new t_.IfcConveyorSegmentType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9])},335055490:function(e,t){return new t_.IfcCooledBeamType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9])},2954562838:function(e,t){return new t_.IfcCoolingTowerType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9])},1502416096:function(e,t){return new t_.IfcCourse(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8])},1973544240:function(e,t){return new t_.IfcCovering(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8])},3495092785:function(e,t){return new t_.IfcCurtainWall(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8])},3961806047:function(e,t){return new t_.IfcDamperType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9])},3426335179:function(e,t){return new t_.IfcDeepFoundation(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null)},1335981549:function(e,t){return new t_.IfcDiscreteAccessory(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8])},2635815018:function(e,t){return new t_.IfcDiscreteAccessoryType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9])},479945903:function(e,t){return new t_.IfcDistributionBoardType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9])},1599208980:function(e,t){return new t_.IfcDistributionChamberElementType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9])},2063403501:function(e,t){return new t_.IfcDistributionControlElementType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null)},1945004755:function(e,t){return new t_.IfcDistributionElement(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null)},3040386961:function(e,t){return new t_.IfcDistributionFlowElement(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null)},3041715199:function(e,t){return new t_.IfcDistributionPort(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7],t[8],t[9])},3205830791:function(e,t){return new t_.IfcDistributionSystem(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new t_.IfcLabel(t[5].value):null,t[6])},395920057:function(e,t){return new t_.IfcDoor(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8]?new t_.IfcPositiveLengthMeasure(t[8].value):null,t[9]?new t_.IfcPositiveLengthMeasure(t[9].value):null,t[10],t[11],t[12]?new t_.IfcLabel(t[12].value):null)},869906466:function(e,t){return new t_.IfcDuctFittingType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9])},3760055223:function(e,t){return new t_.IfcDuctSegmentType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9])},2030761528:function(e,t){return new t_.IfcDuctSilencerType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9])},3071239417:function(e,t){return new t_.IfcEarthworksCut(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8])},1077100507:function(e,t){return new t_.IfcEarthworksElement(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null)},3376911765:function(e,t){return new t_.IfcEarthworksFill(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8])},663422040:function(e,t){return new t_.IfcElectricApplianceType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9])},2417008758:function(e,t){return new t_.IfcElectricDistributionBoardType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9])},3277789161:function(e,t){return new t_.IfcElectricFlowStorageDeviceType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9])},2142170206:function(e,t){return new t_.IfcElectricFlowTreatmentDeviceType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9])},1534661035:function(e,t){return new t_.IfcElectricGeneratorType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9])},1217240411:function(e,t){return new t_.IfcElectricMotorType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9])},712377611:function(e,t){return new t_.IfcElectricTimeControlType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9])},1658829314:function(e,t){return new t_.IfcEnergyConversionDevice(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null)},2814081492:function(e,t){return new t_.IfcEngine(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8])},3747195512:function(e,t){return new t_.IfcEvaporativeCooler(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8])},484807127:function(e,t){return new t_.IfcEvaporator(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8])},1209101575:function(e,t){return new t_.IfcExternalSpatialElement(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8])},346874300:function(e,t){return new t_.IfcFanType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9])},1810631287:function(e,t){return new t_.IfcFilterType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9])},4222183408:function(e,t){return new t_.IfcFireSuppressionTerminalType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9])},2058353004:function(e,t){return new t_.IfcFlowController(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null)},4278956645:function(e,t){return new t_.IfcFlowFitting(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null)},4037862832:function(e,t){return new t_.IfcFlowInstrumentType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9])},2188021234:function(e,t){return new t_.IfcFlowMeter(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8])},3132237377:function(e,t){return new t_.IfcFlowMovingDevice(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null)},987401354:function(e,t){return new t_.IfcFlowSegment(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null)},707683696:function(e,t){return new t_.IfcFlowStorageDevice(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null)},2223149337:function(e,t){return new t_.IfcFlowTerminal(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null)},3508470533:function(e,t){return new t_.IfcFlowTreatmentDevice(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null)},900683007:function(e,t){return new t_.IfcFooting(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8])},2713699986:function(e,t){return new t_.IfcGeotechnicalAssembly(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null)},3009204131:function(e,t){return new t_.IfcGrid(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7].map((function(e){return new H_(e.value)})),t[8].map((function(e){return new H_(e.value)})),t[9]?t[9].map((function(e){return new H_(e.value)})):null,t[10])},3319311131:function(e,t){return new t_.IfcHeatExchanger(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8])},2068733104:function(e,t){return new t_.IfcHumidifier(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8])},4175244083:function(e,t){return new t_.IfcInterceptor(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8])},2176052936:function(e,t){return new t_.IfcJunctionBox(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8])},2696325953:function(e,t){return new t_.IfcKerb(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,new t_.IfcBoolean(t[8].value))},76236018:function(e,t){return new t_.IfcLamp(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8])},629592764:function(e,t){return new t_.IfcLightFixture(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8])},1154579445:function(e,t){return new t_.IfcLinearPositioningElement(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null)},1638804497:function(e,t){return new t_.IfcLiquidTerminal(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8])},1437502449:function(e,t){return new t_.IfcMedicalDevice(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8])},1073191201:function(e,t){return new t_.IfcMember(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8])},2078563270:function(e,t){return new t_.IfcMobileTelecommunicationsAppliance(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8])},234836483:function(e,t){return new t_.IfcMooringDevice(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8])},2474470126:function(e,t){return new t_.IfcMotorConnection(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8])},2182337498:function(e,t){return new t_.IfcNavigationElement(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8])},144952367:function(e,t){return new t_.IfcOuterBoundaryCurve(e,t[0].map((function(e){return new H_(e.value)})),new t_.IfcLogical(t[1].value))},3694346114:function(e,t){return new t_.IfcOutlet(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8])},1383356374:function(e,t){return new t_.IfcPavement(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8])},1687234759:function(e,t){return new t_.IfcPile(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8],t[9])},310824031:function(e,t){return new t_.IfcPipeFitting(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8])},3612865200:function(e,t){return new t_.IfcPipeSegment(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8])},3171933400:function(e,t){return new t_.IfcPlate(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8])},738039164:function(e,t){return new t_.IfcProtectiveDevice(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8])},655969474:function(e,t){return new t_.IfcProtectiveDeviceTrippingUnitType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9])},90941305:function(e,t){return new t_.IfcPump(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8])},3290496277:function(e,t){return new t_.IfcRail(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8])},2262370178:function(e,t){return new t_.IfcRailing(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8])},3024970846:function(e,t){return new t_.IfcRamp(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8])},3283111854:function(e,t){return new t_.IfcRampFlight(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8])},1232101972:function(e,t){return new t_.IfcRationalBSplineCurveWithKnots(e,new t_.IfcInteger(t[0].value),t[1].map((function(e){return new H_(e.value)})),t[2],new t_.IfcLogical(t[3].value),new t_.IfcLogical(t[4].value),t[5].map((function(e){return new t_.IfcInteger(e.value)})),t[6].map((function(e){return new t_.IfcParameterValue(e.value)})),t[7],t[8].map((function(e){return new t_.IfcReal(e.value)})))},3798194928:function(e,t){return new t_.IfcReinforcedSoil(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8])},979691226:function(e,t){return new t_.IfcReinforcingBar(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9]?new t_.IfcPositiveLengthMeasure(t[9].value):null,t[10]?new t_.IfcAreaMeasure(t[10].value):null,t[11]?new t_.IfcPositiveLengthMeasure(t[11].value):null,t[12],t[13])},2572171363:function(e,t){return new t_.IfcReinforcingBarType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9],t[10]?new t_.IfcPositiveLengthMeasure(t[10].value):null,t[11]?new t_.IfcAreaMeasure(t[11].value):null,t[12]?new t_.IfcPositiveLengthMeasure(t[12].value):null,t[13],t[14]?new t_.IfcLabel(t[14].value):null,t[15]?t[15].map((function(e){return K_(3,e)})):null)},2016517767:function(e,t){return new t_.IfcRoof(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8])},3053780830:function(e,t){return new t_.IfcSanitaryTerminal(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8])},1783015770:function(e,t){return new t_.IfcSensorType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9])},1329646415:function(e,t){return new t_.IfcShadingDevice(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8])},991950508:function(e,t){return new t_.IfcSignal(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8])},1529196076:function(e,t){return new t_.IfcSlab(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8])},3420628829:function(e,t){return new t_.IfcSolarDevice(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8])},1999602285:function(e,t){return new t_.IfcSpaceHeater(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8])},1404847402:function(e,t){return new t_.IfcStackTerminal(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8])},331165859:function(e,t){return new t_.IfcStair(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8])},4252922144:function(e,t){return new t_.IfcStairFlight(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8]?new t_.IfcInteger(t[8].value):null,t[9]?new t_.IfcInteger(t[9].value):null,t[10]?new t_.IfcPositiveLengthMeasure(t[10].value):null,t[11]?new t_.IfcPositiveLengthMeasure(t[11].value):null,t[12])},2515109513:function(e,t){return new t_.IfcStructuralAnalysisModel(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5],t[6]?new H_(t[6].value):null,t[7]?t[7].map((function(e){return new H_(e.value)})):null,t[8]?t[8].map((function(e){return new H_(e.value)})):null,t[9]?new H_(t[9].value):null)},385403989:function(e,t){return new t_.IfcStructuralLoadCase(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5],t[6],t[7],t[8]?new t_.IfcRatioMeasure(t[8].value):null,t[9]?new t_.IfcLabel(t[9].value):null,t[10]?t[10].map((function(e){return new t_.IfcRatioMeasure(e.value)})):null)},1621171031:function(e,t){return new t_.IfcStructuralPlanarAction(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,new H_(t[7].value),t[8],t[9]?new t_.IfcBoolean(t[9].value):null,t[10],t[11])},1162798199:function(e,t){return new t_.IfcSwitchingDevice(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8])},812556717:function(e,t){return new t_.IfcTank(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8])},3425753595:function(e,t){return new t_.IfcTrackElement(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8])},3825984169:function(e,t){return new t_.IfcTransformer(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8])},1620046519:function(e,t){return new t_.IfcTransportElement(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8])},3026737570:function(e,t){return new t_.IfcTubeBundle(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8])},3179687236:function(e,t){return new t_.IfcUnitaryControlElementType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9])},4292641817:function(e,t){return new t_.IfcUnitaryEquipment(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8])},4207607924:function(e,t){return new t_.IfcValve(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8])},2391406946:function(e,t){return new t_.IfcWall(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8])},3512223829:function(e,t){return new t_.IfcWallStandardCase(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8])},4237592921:function(e,t){return new t_.IfcWasteTerminal(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8])},3304561284:function(e,t){return new t_.IfcWindow(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8]?new t_.IfcPositiveLengthMeasure(t[8].value):null,t[9]?new t_.IfcPositiveLengthMeasure(t[9].value):null,t[10],t[11],t[12]?new t_.IfcLabel(t[12].value):null)},2874132201:function(e,t){return new t_.IfcActuatorType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9])},1634111441:function(e,t){return new t_.IfcAirTerminal(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8])},177149247:function(e,t){return new t_.IfcAirTerminalBox(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8])},2056796094:function(e,t){return new t_.IfcAirToAirHeatRecovery(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8])},3001207471:function(e,t){return new t_.IfcAlarmType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9])},325726236:function(e,t){return new t_.IfcAlignment(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7])},277319702:function(e,t){return new t_.IfcAudioVisualAppliance(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8])},753842376:function(e,t){return new t_.IfcBeam(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8])},4196446775:function(e,t){return new t_.IfcBearing(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8])},32344328:function(e,t){return new t_.IfcBoiler(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8])},3314249567:function(e,t){return new t_.IfcBorehole(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null)},1095909175:function(e,t){return new t_.IfcBuildingElementProxy(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8])},2938176219:function(e,t){return new t_.IfcBurner(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8])},635142910:function(e,t){return new t_.IfcCableCarrierFitting(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8])},3758799889:function(e,t){return new t_.IfcCableCarrierSegment(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8])},1051757585:function(e,t){return new t_.IfcCableFitting(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8])},4217484030:function(e,t){return new t_.IfcCableSegment(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8])},3999819293:function(e,t){return new t_.IfcCaissonFoundation(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8])},3902619387:function(e,t){return new t_.IfcChiller(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8])},639361253:function(e,t){return new t_.IfcCoil(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8])},3221913625:function(e,t){return new t_.IfcCommunicationsAppliance(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8])},3571504051:function(e,t){return new t_.IfcCompressor(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8])},2272882330:function(e,t){return new t_.IfcCondenser(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8])},578613899:function(e,t){return new t_.IfcControllerType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9])},3460952963:function(e,t){return new t_.IfcConveyorSegment(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8])},4136498852:function(e,t){return new t_.IfcCooledBeam(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8])},3640358203:function(e,t){return new t_.IfcCoolingTower(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8])},4074379575:function(e,t){return new t_.IfcDamper(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8])},3693000487:function(e,t){return new t_.IfcDistributionBoard(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8])},1052013943:function(e,t){return new t_.IfcDistributionChamberElement(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8])},562808652:function(e,t){return new t_.IfcDistributionCircuit(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new t_.IfcLabel(t[5].value):null,t[6])},1062813311:function(e,t){return new t_.IfcDistributionControlElement(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null)},342316401:function(e,t){return new t_.IfcDuctFitting(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8])},3518393246:function(e,t){return new t_.IfcDuctSegment(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8])},1360408905:function(e,t){return new t_.IfcDuctSilencer(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8])},1904799276:function(e,t){return new t_.IfcElectricAppliance(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8])},862014818:function(e,t){return new t_.IfcElectricDistributionBoard(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8])},3310460725:function(e,t){return new t_.IfcElectricFlowStorageDevice(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8])},24726584:function(e,t){return new t_.IfcElectricFlowTreatmentDevice(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8])},264262732:function(e,t){return new t_.IfcElectricGenerator(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8])},402227799:function(e,t){return new t_.IfcElectricMotor(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8])},1003880860:function(e,t){return new t_.IfcElectricTimeControl(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8])},3415622556:function(e,t){return new t_.IfcFan(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8])},819412036:function(e,t){return new t_.IfcFilter(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8])},1426591983:function(e,t){return new t_.IfcFireSuppressionTerminal(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8])},182646315:function(e,t){return new t_.IfcFlowInstrument(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8])},2680139844:function(e,t){return new t_.IfcGeomodel(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null)},1971632696:function(e,t){return new t_.IfcGeoslice(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null)},2295281155:function(e,t){return new t_.IfcProtectiveDeviceTrippingUnit(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8])},4086658281:function(e,t){return new t_.IfcSensor(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8])},630975310:function(e,t){return new t_.IfcUnitaryControlElement(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8])},4288193352:function(e,t){return new t_.IfcActuator(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8])},3087945054:function(e,t){return new t_.IfcAlarm(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8])},25142252:function(e,t){return new t_.IfcController(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8])}},j_[3]={618182010:[912023232,3355820592],2879124712:[536804194,3752311538,3633395639],411424972:[602808272],4037036970:[2069777674,1387855156,3367102660,1560379544],1387855156:[2069777674],2859738748:[1981873012,775493141,2732653382,45288368,2614616156],2614616156:[45288368],1959218052:[2251480897,3368373690],1785450214:[3057273783],1466758467:[3843373140],4294318154:[1154170062,747523909,2655187982],3200245327:[3732053477,647927063,3452421091,3548104201,1040185647,2242383968],760658860:[2852063980,3708119e3,1838606355,164193824,552965576,2235152071,3303938423,1847252529,248100487],248100487:[1847252529],2235152071:[552965576],1507914824:[3404854881,3079605661,1303795690],1918398963:[2713554722,2889183280,3050246964,448429030],3701648758:[2624227202,388784114,178086475],2483315170:[3021840470,825690147,2405470396,3252649465,2691318326,931644368,2093928680,2044713172,2226359599],2226359599:[825690147,2405470396,3252649465,2691318326,931644368,2093928680,2044713172],677532197:[4006246654,2559016684,445594917,759155922,1983826977,1775413392,3727388367,3570813810,3510044353,2367409068,1105321065,776857604,3264961684,3285139300,3611470254,1210645708,3465909080,2133299955,1437953363,2552916305,1742049831,280115917,1640371178,2636378356,597895409,3905492369,616511568,626085974,1351298697,1878645084,846575682,1607154358,3303107099],2022622350:[1304840413],3119450353:[738692330,3800577675,1447204868,1300840506],2095639259:[673634403,2022407955],3958567839:[572779678,1484403080,2835456948,2937912522,1383045692,2898889636,3207858831,2543172580,427810014,2715220739,3071757647,2770003689,2778083089,3615266464,2529465313,182550632,2998442950,3632507154,1485152156,3150382593,1310608509,2705031697,3798115385],986844984:[2542286263,110355661,3650150729,941946838,2752243245,4166981789,871118103,3692461612,2598011224,4165799628,2042790032,1580146022,3778827333,2802850158,3265635763,297599258,3710013099],1076942058:[3049322572,2830218821,1735638870,4240577450,3982875396],3377609919:[4142052618,3448662350],3008791417:[2347385850,315944413,374418227,2047409740,32440307,2611217952,1704287377,2510884976,1232101972,2461110595,1967976161,3593883385,3724593414,2571569899,544395925,2898700619,144952367,1136057603,15328376,3732776249,1260505505,2157484638,3113134337,699246055,42703149,1027922057,3649235739,2000195564,3497074424,782932809,2735484536,3381221214,1682466193,2485787929,3505215534,3388369263,590820931,F_,2601014836,1334484129,451544542,3626867408,4158566097,2798486643,2506170314,1416205885,3331915920,3486308946,3749851601,59481748,2059837836,1675464909,574549367,2581212453,3649129432,2736907675,669184980,1417489154,3124975700,4282788508,2839578677,1229763772,2916149573,2387106220,2294589976,178912537,901063453,1356537516,1213902940,1935646853,4015995234,220341763,2777663545,683857671,167062518,2887950389,3454111270,2629017746,2827736869,4182860854,4124788165,2809605785,230924584,2513912981,1290935644,1862484736,3737207727,807026263,2603310189,1635779807,1425443689,2147822146,1096409881,1260650574,3243963512,1856042241,2804161546,477187591,2028607225,4234616927,2652556860,593015953,2247615214,723233188,4124623270,4212018352,816062949,2485617015,823603102,1509187699,1123145078,1423911732,4022376103,2165702409,2067069095,603570806,1663979128,3425423356,2740243338,3125803723,4261334040,2004835150,3422422726,1520743889,4266656042,2604431987,125510826,1402838566,2713105998,2775532180,812098782,987898635,3590301190,2453401579,2519244187,1472233963,2759199220,2924175390,1008929658,803316827,1809719519,3406155212,3008276851,2556980723,2233826070,1029017970,476780140,3900360178,2205249479,2665983363,370225590,1907098498,2799835756,1377556343,3958052878],2439245199:[1608871552,2943643501,148025276,1411181986,853536259,1437805879,770865208,539742890,3869604511],2341007311:[781010003,307848117,4186316022,1462361463,693640335,160246688,3818125796,1401173127,750771296,3268803585,2551354335,2565941209,1521410863,3523091289,3451746338,366585022,4122056220,1245217292,1441486842,427948657,279856033,3940055652,2802773753,886880790,3242617779,504942748,1638771189,2127690289,3190031847,4201705270,3678494232,3945020480,1204542856,826625072,1033248425,2655215786,3840914261,982818633,2728634034,919958153,4095574036,1865459582,205026976,2857406711,4278684876,1027710054,1307041759,2495723537,1683148259,3939117080,478536968,3875453745,3663146110,3521284610,492091185,1482703590,1451395588,3566463478,1714330368,2963535650,512836454,336235671,3765753017,3967405729,1883228015,2090586900,3357820518,1680319473,B_,2515109513,562808652,3205830791,3862327254,1177604601,O_,2254336722,2986769608,385403989,1252848954,2391368822,2706460486,3821786052,3342526732,4218914973,1028945134,4088093105,2904328755,3327091369,2382730787,1419761937,3895139033,3293443760,4143007308,2296667514,488727124,1060000209,3898045240,148013059,3827777499,3295246426,2559216714,2914609552,325726236,1154579445,x_,4021432810,1946335990,3041715199,L_,1662888072,317615605,1545765605,4266260250,2176059722,25142252,h_,4288193352,630975310,4086658281,2295281155,182646315,1062813311,1052013943,819412036,24726584,1360408905,4175244083,3508470533,1426591983,1904799276,3221913625,277319702,1634111441,4237592921,1404847402,1999602285,991950508,3053780830,3694346114,2078563270,1437502449,1638804497,629592764,76236018,2223149337,3310460725,w_,707683696,3518393246,3460952963,4217484030,3758799889,3612865200,987401354,I_,3571504051,90941305,3132237377,342316401,1051757585,635142910,310824031,2176052936,4278956645,1003880860,862014818,3693000487,4074379575,177149247,m_,1162798199,738039164,2188021234,2058353004,402227799,264262732,3640358203,4136498852,2272882330,y_,3902619387,2938176219,32344328,2056796094,4292641817,3026737570,3825984169,3420628829,2474470126,2068733104,3319311131,484807127,3747195512,2814081492,1658829314,3040386961,1945004755,1677625105,1095909175,4196446775,g_,3304561284,3512223829,E_,3425753595,4252922144,331165859,b_,1329646415,D_,3283111854,P_,2262370178,3290496277,R_,1383356374,2182337498,234836483,1073191201,2696325953,900683007,3798194928,3376911765,1077100507,__,3999819293,C_,3426335179,3495092785,1973544240,1502416096,843113511,3296154744,1876633798,2769231204,1620046519,840318589,1953115116,1971632696,2680139844,3314249567,2713699986,1594536857,4230923436,3493046030,413509423,1509553395,263784265,3101698114,3071239417,926996030,3588315303,1287392070,3651124850,2143335405,2827207264,1335981549,2979338954,2391383451,1530820697,33720170,979691226,3663046924,2347447852,T_,2320036040,3027567501,377706215,2568555532,647756555,1623761950,4123344466,1758889154,1674181508,1975003073,734778138,4243806635,1179482911,2445595289,214636428,2218152070,3979015343,530289379,3136571912,1621171031,3657597509,2082059205,1807405624,1004757350,682877961,1235345126,2757150158,603775116,3689010777,3544373492,1209101575,2853485674,463610769,S_,N_,963979645,550521510,1891881377,976884017,4228831410,1310830890,4031249490,644574406,146592293,3992365140,525669439,24185140,3124254112,2706606064,1412071761,4208778838,2744685151,4148101412,M_,2945172077,3888040117,653396225,103090709,3419103109,1525564444,4105962743,2185764099,4095615324,428585644,1815067380,2574617495,3698973494,2481509218,3812236995,3893378262,710998568,2635815018,39481116,3313531582,3956297820,3599934289,2572171363,2415094496,2281632017,3081323446,2310774935,964333572,2108223431,3948183225,2489546625,2590856083,2397081782,578613899,3001207471,2874132201,3179687236,1783015770,655969474,4037862832,2063403501,1599208980,1810631287,2142170206,2030761528,3946677679,3009222698,4222183408,663422040,400855858,1532957894,3352864051,1133259667,3112655638,1305183839,1894708472,1768891740,2837617999,1950438474,1114901282,1770583370,1161773419,1051575348,2297155007,3277789161,5716631,1339347760,3760055223,2940368186,1285652485,3293546465,4231323485,1834744321,346874300,3850581409,2250791053,1482959167,869906466,2674252688,395041908,804291784,4288270099,3198132628,712377611,2417008758,479945903,3961806047,1411407467,728799441,2315554128,1842657554,3815607619,3907093117,1217240411,1534661035,2954562838,335055490,2816379211,2301859152,2951183804,2188180465,231477066,1871374353,1911125066,1600972822,1692211062,1072016465,977012517,1806887404,1251058090,3390157468,3174744832,132023988,2107101300,3849074793,3256556792,3893394355,1909888760,3649138523,819618141,4009809668,1898987631,618700268,338393293,1039846685,2533589738,4074543187,2781568857,1469900589,2324767716,2893384427,1763565496,4017108033,514975943,506776471,710110818,3181161470,679976338,1893162501,2323601079,3203706013,1158309216,1306400036,1457835157,1916426348,4189326743,300633059,2197970202,1626504194,2097647324,3651464721,3665877780,4095422895,1580310250,1268542332,4238390223,339256511,2347495698,3206491090,569719735,4024345920,3736923433,1628702193,219451334],1054537805:[1042787934,1585845231,211053100,1236880293,2771591690,1549132990],3982875396:[1735638870,4240577450],2273995522:[2609359061,4219587988],2162789131:[2934153892,1190533807,1597423693,1973038258,2473145415,2668620305,1595516126,3408363356,2525727697,609421318,3478079324],609421318:[2934153892,1190533807,1597423693,1973038258,2473145415,2668620305,1595516126,3408363356,2525727697],2525727697:[1190533807,1597423693,1973038258,2473145415,2668620305,1595516126,3408363356],2830218821:[3049322572],846575682:[1878645084],626085974:[597895409,3905492369,616511568],1549132990:[2771591690],280115917:[3465909080,2133299955,1437953363,2552916305,1742049831],222769930:[1010789467],3101149627:[3413951693,3741457305],1377556343:[2519244187,1472233963,2759199220,2924175390,1008929658,803316827,1809719519,3406155212,3008276851,2556980723,2233826070,1029017970,476780140,3900360178,2205249479,2665983363,370225590,1907098498,2799835756],2799835756:[1907098498],3798115385:[2705031697],1310608509:[3150382593],3264961684:[776857604],370225590:[2205249479,2665983363],2889183280:[2713554722],3632507154:[2998442950],3900360178:[2233826070,1029017970,476780140],297599258:[2802850158,3265635763],2556980723:[3406155212,3008276851],1809719519:[803316827],3008276851:[3406155212],3448662350:[4142052618],2453401579:[315944413,374418227,2047409740,32440307,2611217952,1704287377,2510884976,1232101972,2461110595,1967976161,3593883385,3724593414,2571569899,544395925,2898700619,144952367,1136057603,15328376,3732776249,1260505505,2157484638,3113134337,699246055,42703149,1027922057,3649235739,2000195564,3497074424,782932809,2735484536,3381221214,1682466193,2485787929,3505215534,3388369263,590820931,F_,2601014836,1334484129,451544542,3626867408,4158566097,2798486643,2506170314,1416205885,3331915920,3486308946,3749851601,59481748,2059837836,1675464909,574549367,2581212453,3649129432,2736907675,669184980,1417489154,3124975700,4282788508,2839578677,1229763772,2916149573,2387106220,2294589976,178912537,901063453,1356537516,1213902940,1935646853,4015995234,220341763,2777663545,683857671,167062518,2887950389,3454111270,2629017746,2827736869,4182860854,4124788165,2809605785,230924584,2513912981,1290935644,1862484736,3737207727,807026263,2603310189,1635779807,1425443689,2147822146,1096409881,1260650574,3243963512,1856042241,2804161546,477187591,2028607225,4234616927,2652556860,593015953,2247615214,723233188,4124623270,4212018352,816062949,2485617015,823603102,1509187699,1123145078,1423911732,4022376103,2165702409,2067069095,603570806,1663979128,3425423356,2740243338,3125803723,4261334040,2004835150,3422422726,1520743889,4266656042,2604431987,125510826,1402838566,2713105998,2775532180,812098782,987898635,3590301190],3590301190:[987898635],812098782:[2713105998,2775532180],1437953363:[3465909080,2133299955],1402838566:[3422422726,1520743889,4266656042,2604431987,125510826],1520743889:[3422422726],1008929658:[1472233963,2759199220,2924175390],3079605661:[3404854881],219451334:[B_,2515109513,562808652,3205830791,3862327254,1177604601,O_,2254336722,2986769608,385403989,1252848954,2391368822,2706460486,3821786052,3342526732,4218914973,1028945134,4088093105,2904328755,3327091369,2382730787,1419761937,3895139033,3293443760,4143007308,2296667514,488727124,1060000209,3898045240,148013059,3827777499,3295246426,2559216714,2914609552,325726236,1154579445,x_,4021432810,1946335990,3041715199,L_,1662888072,317615605,1545765605,4266260250,2176059722,25142252,h_,4288193352,630975310,4086658281,2295281155,182646315,1062813311,1052013943,819412036,24726584,1360408905,4175244083,3508470533,1426591983,1904799276,3221913625,277319702,1634111441,4237592921,1404847402,1999602285,991950508,3053780830,3694346114,2078563270,1437502449,1638804497,629592764,76236018,2223149337,3310460725,w_,707683696,3518393246,3460952963,4217484030,3758799889,3612865200,987401354,I_,3571504051,90941305,3132237377,342316401,1051757585,635142910,310824031,2176052936,4278956645,1003880860,862014818,3693000487,4074379575,177149247,m_,1162798199,738039164,2188021234,2058353004,402227799,264262732,3640358203,4136498852,2272882330,y_,3902619387,2938176219,32344328,2056796094,4292641817,3026737570,3825984169,3420628829,2474470126,2068733104,3319311131,484807127,3747195512,2814081492,1658829314,3040386961,1945004755,1677625105,1095909175,4196446775,g_,3304561284,3512223829,E_,3425753595,4252922144,331165859,b_,1329646415,D_,3283111854,P_,2262370178,3290496277,R_,1383356374,2182337498,234836483,1073191201,2696325953,900683007,3798194928,3376911765,1077100507,__,3999819293,C_,3426335179,3495092785,1973544240,1502416096,843113511,3296154744,1876633798,2769231204,1620046519,840318589,1953115116,1971632696,2680139844,3314249567,2713699986,1594536857,4230923436,3493046030,413509423,1509553395,263784265,3101698114,3071239417,926996030,3588315303,1287392070,3651124850,2143335405,2827207264,1335981549,2979338954,2391383451,1530820697,33720170,979691226,3663046924,2347447852,T_,2320036040,3027567501,377706215,2568555532,647756555,1623761950,4123344466,1758889154,1674181508,1975003073,734778138,4243806635,1179482911,2445595289,214636428,2218152070,3979015343,530289379,3136571912,1621171031,3657597509,2082059205,1807405624,1004757350,682877961,1235345126,2757150158,603775116,3689010777,3544373492,1209101575,2853485674,463610769,S_,N_,963979645,550521510,1891881377,976884017,4228831410,1310830890,4031249490,644574406,146592293,3992365140,525669439,24185140,3124254112,2706606064,1412071761,4208778838,2744685151,4148101412,M_,2945172077,3888040117,653396225,103090709,3419103109,1525564444,4105962743,2185764099,4095615324,428585644,1815067380,2574617495,3698973494,2481509218,3812236995,3893378262,710998568,2635815018,39481116,3313531582,3956297820,3599934289,2572171363,2415094496,2281632017,3081323446,2310774935,964333572,2108223431,3948183225,2489546625,2590856083,2397081782,578613899,3001207471,2874132201,3179687236,1783015770,655969474,4037862832,2063403501,1599208980,1810631287,2142170206,2030761528,3946677679,3009222698,4222183408,663422040,400855858,1532957894,3352864051,1133259667,3112655638,1305183839,1894708472,1768891740,2837617999,1950438474,1114901282,1770583370,1161773419,1051575348,2297155007,3277789161,5716631,1339347760,3760055223,2940368186,1285652485,3293546465,4231323485,1834744321,346874300,3850581409,2250791053,1482959167,869906466,2674252688,395041908,804291784,4288270099,3198132628,712377611,2417008758,479945903,3961806047,1411407467,728799441,2315554128,1842657554,3815607619,3907093117,1217240411,1534661035,2954562838,335055490,2816379211,2301859152,2951183804,2188180465,231477066,1871374353,1911125066,1600972822,1692211062,1072016465,977012517,1806887404,1251058090,3390157468,3174744832,132023988,2107101300,3849074793,3256556792,3893394355,1909888760,3649138523,819618141,4009809668,1898987631,618700268,338393293,1039846685,2533589738,4074543187,2781568857,1469900589,2324767716,2893384427,1763565496,4017108033,514975943,506776471,710110818,3181161470,679976338,1893162501,2323601079,3203706013,1158309216,1306400036,1457835157,1916426348,4189326743,300633059,2197970202,1626504194,2097647324,3651464721,3665877780,4095422895,1580310250,1268542332,4238390223,339256511,2347495698,3206491090,569719735,4024345920,3736923433,1628702193],2529465313:[572779678,1484403080,2835456948,2937912522,1383045692,2898889636,3207858831,2543172580,427810014,2715220739,3071757647,2770003689,2778083089,3615266464],2004835150:[3425423356,2740243338,3125803723,4261334040],1663979128:[603570806],2067069095:[1123145078,1423911732,4022376103,2165702409],3727388367:[4006246654,2559016684,445594917,759155922,1983826977,1775413392],3778827333:[4165799628,2042790032,1580146022],1775413392:[1983826977],2598011224:[2542286263,110355661,3650150729,941946838,2752243245,4166981789,871118103,3692461612],1680319473:[3875453745,3663146110,3521284610,492091185,1482703590,1451395588,3566463478,1714330368,2963535650,512836454,336235671,3765753017,3967405729,1883228015,2090586900,3357820518],3357820518:[1451395588,3566463478,1714330368,2963535650,512836454,336235671,3765753017,3967405729,1883228015,2090586900],1482703590:[3875453745,3663146110,3521284610,492091185],2090586900:[1883228015],3615266464:[2770003689,2778083089],478536968:[781010003,307848117,4186316022,1462361463,693640335,160246688,3818125796,1401173127,750771296,3268803585,2551354335,2565941209,1521410863,3523091289,3451746338,366585022,4122056220,1245217292,1441486842,427948657,279856033,3940055652,2802773753,886880790,3242617779,504942748,1638771189,2127690289,3190031847,4201705270,3678494232,3945020480,1204542856,826625072,1033248425,2655215786,3840914261,982818633,2728634034,919958153,4095574036,1865459582,205026976,2857406711,4278684876,1027710054,1307041759,2495723537,1683148259,3939117080],823603102:[4212018352,816062949,2485617015],3692461612:[110355661,3650150729,941946838,2752243245,4166981789,871118103],723233188:[1290935644,1862484736,3737207727,807026263,2603310189,1635779807,1425443689,2147822146,1096409881,1260650574,3243963512,1856042241,2804161546,477187591,2028607225,4234616927,2652556860,593015953,2247615214],2473145415:[1973038258],1597423693:[1190533807],2513912981:[1356537516,1213902940,1935646853,4015995234,220341763,2777663545,683857671,167062518,2887950389,3454111270,2629017746,2827736869,4182860854,4124788165,2809605785,230924584],2247615214:[3243963512,1856042241,2804161546,477187591,2028607225,4234616927,2652556860,593015953],1260650574:[1096409881],230924584:[4124788165,2809605785],901063453:[2839578677,1229763772,2916149573,2387106220,2294589976,178912537],4282788508:[3124975700],1628702193:[1525564444,4105962743,2185764099,4095615324,428585644,1815067380,2574617495,3698973494,2481509218,3812236995,3893378262,710998568,2635815018,39481116,3313531582,3956297820,3599934289,2572171363,2415094496,2281632017,3081323446,2310774935,964333572,2108223431,3948183225,2489546625,2590856083,2397081782,578613899,3001207471,2874132201,3179687236,1783015770,655969474,4037862832,2063403501,1599208980,1810631287,2142170206,2030761528,3946677679,3009222698,4222183408,663422040,400855858,1532957894,3352864051,1133259667,3112655638,1305183839,1894708472,1768891740,2837617999,1950438474,1114901282,1770583370,1161773419,1051575348,2297155007,3277789161,5716631,1339347760,3760055223,2940368186,1285652485,3293546465,4231323485,1834744321,346874300,3850581409,2250791053,1482959167,869906466,2674252688,395041908,804291784,4288270099,3198132628,712377611,2417008758,479945903,3961806047,1411407467,728799441,2315554128,1842657554,3815607619,3907093117,1217240411,1534661035,2954562838,335055490,2816379211,2301859152,2951183804,2188180465,231477066,1871374353,1911125066,1600972822,1692211062,1072016465,977012517,1806887404,1251058090,3390157468,3174744832,132023988,2107101300,3849074793,3256556792,3893394355,1909888760,3649138523,819618141,4009809668,1898987631,618700268,338393293,1039846685,2533589738,4074543187,2781568857,1469900589,2324767716,2893384427,1763565496,4017108033,514975943,506776471,710110818,3181161470,679976338,1893162501,2323601079,3203706013,1158309216,1306400036,1457835157,1916426348,4189326743,300633059,2197970202,1626504194,2097647324,3651464721,3665877780,4095422895,1580310250,1268542332,4238390223,339256511,2347495698,3206491090,569719735,4024345920,3736923433],3736923433:[3206491090,569719735,4024345920],2347495698:[2481509218,3812236995,3893378262,710998568,2635815018,39481116,3313531582,3956297820,3599934289,2572171363,2415094496,2281632017,3081323446,2310774935,964333572,2108223431,3948183225,2489546625,2590856083,2397081782,578613899,3001207471,2874132201,3179687236,1783015770,655969474,4037862832,2063403501,1599208980,1810631287,2142170206,2030761528,3946677679,3009222698,4222183408,663422040,400855858,1532957894,3352864051,1133259667,3112655638,1305183839,1894708472,1768891740,2837617999,1950438474,1114901282,1770583370,1161773419,1051575348,2297155007,3277789161,5716631,1339347760,3760055223,2940368186,1285652485,3293546465,4231323485,1834744321,346874300,3850581409,2250791053,1482959167,869906466,2674252688,395041908,804291784,4288270099,3198132628,712377611,2417008758,479945903,3961806047,1411407467,728799441,2315554128,1842657554,3815607619,3907093117,1217240411,1534661035,2954562838,335055490,2816379211,2301859152,2951183804,2188180465,231477066,1871374353,1911125066,1600972822,1692211062,1072016465,977012517,1806887404,1251058090,3390157468,3174744832,132023988,2107101300,3849074793,3256556792,3893394355,1909888760,3649138523,819618141,4009809668,1898987631,618700268,338393293,1039846685,2533589738,4074543187,2781568857,1469900589,2324767716,2893384427,1763565496,4017108033,514975943,506776471,710110818,3181161470,679976338,1893162501,2323601079,3203706013,1158309216,1306400036,1457835157,1916426348,4189326743,300633059,2197970202,1626504194,2097647324,3651464721,3665877780,4095422895,1580310250,1268542332,4238390223,339256511],3698973494:[1525564444,4105962743,2185764099,4095615324,428585644,1815067380,2574617495],2736907675:[3649129432],4182860854:[683857671,167062518,2887950389,3454111270,2629017746,2827736869],574549367:[2059837836,1675464909],59481748:[1416205885,3331915920,3486308946,3749851601],3749851601:[3486308946],3331915920:[1416205885],1383045692:[2937912522],2485617015:[816062949],2574617495:[1525564444,4105962743,2185764099,4095615324,428585644,1815067380],3419103109:[653396225,103090709],2506170314:[1334484129,451544542,3626867408,4158566097,2798486643],2601014836:[2611217952,1704287377,2510884976,1232101972,2461110595,1967976161,3593883385,3724593414,2571569899,544395925,2898700619,144952367,1136057603,15328376,3732776249,1260505505,2157484638,3113134337,699246055,42703149,1027922057,3649235739,2000195564,3497074424,782932809,2735484536,3381221214,1682466193,2485787929,3505215534,3388369263,590820931,F_],593015953:[2028607225,4234616927,2652556860],339256511:[2635815018,39481116,3313531582,3956297820,3599934289,2572171363,2415094496,2281632017,3081323446,2310774935,964333572,2108223431,3948183225,2489546625,2590856083,2397081782,578613899,3001207471,2874132201,3179687236,1783015770,655969474,4037862832,2063403501,1599208980,1810631287,2142170206,2030761528,3946677679,3009222698,4222183408,663422040,400855858,1532957894,3352864051,1133259667,3112655638,1305183839,1894708472,1768891740,2837617999,1950438474,1114901282,1770583370,1161773419,1051575348,2297155007,3277789161,5716631,1339347760,3760055223,2940368186,1285652485,3293546465,4231323485,1834744321,346874300,3850581409,2250791053,1482959167,869906466,2674252688,395041908,804291784,4288270099,3198132628,712377611,2417008758,479945903,3961806047,1411407467,728799441,2315554128,1842657554,3815607619,3907093117,1217240411,1534661035,2954562838,335055490,2816379211,2301859152,2951183804,2188180465,231477066,1871374353,1911125066,1600972822,1692211062,1072016465,977012517,1806887404,1251058090,3390157468,3174744832,132023988,2107101300,3849074793,3256556792,3893394355,1909888760,3649138523,819618141,4009809668,1898987631,618700268,338393293,1039846685,2533589738,4074543187,2781568857,1469900589,2324767716,2893384427,1763565496,4017108033,514975943,506776471,710110818,3181161470,679976338,1893162501,2323601079,3203706013,1158309216,1306400036,1457835157,1916426348,4189326743,300633059,2197970202,1626504194,2097647324,3651464721,3665877780,4095422895,1580310250,1268542332,4238390223],2777663545:[1213902940,1935646853,4015995234,220341763],477187591:[2804161546],2652556860:[4234616927],4238390223:[1580310250,1268542332],178912537:[2294589976],1425443689:[3737207727,807026263,2603310189,1635779807],3888040117:[B_,2515109513,562808652,3205830791,3862327254,1177604601,O_,2254336722,2986769608,385403989,1252848954,2391368822,2706460486,3821786052,3342526732,4218914973,1028945134,4088093105,2904328755,3327091369,2382730787,1419761937,3895139033,3293443760,4143007308,2296667514,488727124,1060000209,3898045240,148013059,3827777499,3295246426,2559216714,2914609552,325726236,1154579445,x_,4021432810,1946335990,3041715199,L_,1662888072,317615605,1545765605,4266260250,2176059722,25142252,h_,4288193352,630975310,4086658281,2295281155,182646315,1062813311,1052013943,819412036,24726584,1360408905,4175244083,3508470533,1426591983,1904799276,3221913625,277319702,1634111441,4237592921,1404847402,1999602285,991950508,3053780830,3694346114,2078563270,1437502449,1638804497,629592764,76236018,2223149337,3310460725,w_,707683696,3518393246,3460952963,4217484030,3758799889,3612865200,987401354,I_,3571504051,90941305,3132237377,342316401,1051757585,635142910,310824031,2176052936,4278956645,1003880860,862014818,3693000487,4074379575,177149247,m_,1162798199,738039164,2188021234,2058353004,402227799,264262732,3640358203,4136498852,2272882330,y_,3902619387,2938176219,32344328,2056796094,4292641817,3026737570,3825984169,3420628829,2474470126,2068733104,3319311131,484807127,3747195512,2814081492,1658829314,3040386961,1945004755,1677625105,1095909175,4196446775,g_,3304561284,3512223829,E_,3425753595,4252922144,331165859,b_,1329646415,D_,3283111854,P_,2262370178,3290496277,R_,1383356374,2182337498,234836483,1073191201,2696325953,900683007,3798194928,3376911765,1077100507,__,3999819293,C_,3426335179,3495092785,1973544240,1502416096,843113511,3296154744,1876633798,2769231204,1620046519,840318589,1953115116,1971632696,2680139844,3314249567,2713699986,1594536857,4230923436,3493046030,413509423,1509553395,263784265,3101698114,3071239417,926996030,3588315303,1287392070,3651124850,2143335405,2827207264,1335981549,2979338954,2391383451,1530820697,33720170,979691226,3663046924,2347447852,T_,2320036040,3027567501,377706215,2568555532,647756555,1623761950,4123344466,1758889154,1674181508,1975003073,734778138,4243806635,1179482911,2445595289,214636428,2218152070,3979015343,530289379,3136571912,1621171031,3657597509,2082059205,1807405624,1004757350,682877961,1235345126,2757150158,603775116,3689010777,3544373492,1209101575,2853485674,463610769,S_,N_,963979645,550521510,1891881377,976884017,4228831410,1310830890,4031249490,644574406,146592293,3992365140,525669439,24185140,3124254112,2706606064,1412071761,4208778838,2744685151,4148101412,M_,2945172077],590820931:[2485787929,3505215534,3388369263],759155922:[445594917],2559016684:[4006246654],3967405729:[3566463478,1714330368,2963535650,512836454,336235671,3765753017],2945172077:[2744685151,4148101412,M_],4208778838:[325726236,1154579445,x_,4021432810,1946335990,3041715199,L_,1662888072,317615605,1545765605,4266260250,2176059722,25142252,h_,4288193352,630975310,4086658281,2295281155,182646315,1062813311,1052013943,819412036,24726584,1360408905,4175244083,3508470533,1426591983,1904799276,3221913625,277319702,1634111441,4237592921,1404847402,1999602285,991950508,3053780830,3694346114,2078563270,1437502449,1638804497,629592764,76236018,2223149337,3310460725,w_,707683696,3518393246,3460952963,4217484030,3758799889,3612865200,987401354,I_,3571504051,90941305,3132237377,342316401,1051757585,635142910,310824031,2176052936,4278956645,1003880860,862014818,3693000487,4074379575,177149247,m_,1162798199,738039164,2188021234,2058353004,402227799,264262732,3640358203,4136498852,2272882330,y_,3902619387,2938176219,32344328,2056796094,4292641817,3026737570,3825984169,3420628829,2474470126,2068733104,3319311131,484807127,3747195512,2814081492,1658829314,3040386961,1945004755,1677625105,1095909175,4196446775,g_,3304561284,3512223829,E_,3425753595,4252922144,331165859,b_,1329646415,D_,3283111854,P_,2262370178,3290496277,R_,1383356374,2182337498,234836483,1073191201,2696325953,900683007,3798194928,3376911765,1077100507,__,3999819293,C_,3426335179,3495092785,1973544240,1502416096,843113511,3296154744,1876633798,2769231204,1620046519,840318589,1953115116,1971632696,2680139844,3314249567,2713699986,1594536857,4230923436,3493046030,413509423,1509553395,263784265,3101698114,3071239417,926996030,3588315303,1287392070,3651124850,2143335405,2827207264,1335981549,2979338954,2391383451,1530820697,33720170,979691226,3663046924,2347447852,T_,2320036040,3027567501,377706215,2568555532,647756555,1623761950,4123344466,1758889154,1674181508,1975003073,734778138,4243806635,1179482911,2445595289,214636428,2218152070,3979015343,530289379,3136571912,1621171031,3657597509,2082059205,1807405624,1004757350,682877961,1235345126,2757150158,603775116,3689010777,3544373492,1209101575,2853485674,463610769,S_,N_,963979645,550521510,1891881377,976884017,4228831410,1310830890,4031249490,644574406,146592293,3992365140,525669439,24185140,3124254112,2706606064,1412071761],3521284610:[3875453745,3663146110],3939117080:[205026976,2857406711,4278684876,1027710054,1307041759,2495723537,1683148259],1307041759:[1027710054],1865459582:[1033248425,2655215786,3840914261,982818633,2728634034,919958153,4095574036],826625072:[1521410863,3523091289,3451746338,366585022,4122056220,1245217292,1441486842,427948657,279856033,3940055652,2802773753,886880790,3242617779,504942748,1638771189,2127690289,3190031847,4201705270,3678494232,3945020480,1204542856],1204542856:[3678494232,3945020480],1638771189:[504942748],2551354335:[160246688,3818125796,1401173127,750771296,3268803585],693640335:[781010003,307848117,4186316022,1462361463],3451746338:[1521410863,3523091289],3523091289:[1521410863],2914609552:[488727124,1060000209,3898045240,148013059,3827777499,3295246426,2559216714],1856042241:[3243963512],1862484736:[1290935644],1412071761:[1209101575,2853485674,463610769,S_,N_,963979645,550521510,1891881377,976884017,4228831410,1310830890,4031249490,644574406,146592293,3992365140,525669439,24185140,3124254112,2706606064],710998568:[2481509218,3812236995,3893378262],2706606064:[S_,N_,963979645,550521510,1891881377,976884017,4228831410,1310830890,4031249490,644574406,146592293,3992365140,525669439,24185140,3124254112],3893378262:[3812236995],2735484536:[42703149,1027922057,3649235739,2000195564,3497074424,782932809],3544373492:[1621171031,3657597509,2082059205,1807405624,1004757350,682877961,1235345126,2757150158,603775116,3689010777],3136571912:[1975003073,734778138,4243806635,1179482911,2445595289,214636428,2218152070,3979015343,530289379],530289379:[2445595289,214636428,2218152070,3979015343],3689010777:[1235345126,2757150158,603775116],3979015343:[2218152070],699246055:[2157484638,3113134337],2387106220:[2839578677,1229763772,2916149573],3665877780:[2097647324,3651464721],2916149573:[1229763772],2296667514:[4143007308],1635779807:[2603310189],2887950389:[683857671,167062518],167062518:[683857671],1260505505:[1232101972,2461110595,1967976161,3593883385,3724593414,2571569899,544395925,2898700619,144952367,1136057603,15328376,3732776249],1626504194:[1909888760,3649138523,819618141,4009809668,1898987631,618700268,338393293,1039846685,2533589738,4074543187,2781568857,1469900589,2324767716,2893384427,1763565496,4017108033,514975943,506776471,710110818,3181161470,679976338,1893162501,2323601079,3203706013,1158309216,1306400036,1457835157,1916426348,4189326743,300633059,2197970202],3732776249:[544395925,2898700619,144952367,1136057603,15328376],15328376:[144952367,1136057603],2510884976:[2611217952,1704287377],2559216714:[488727124,1060000209,3898045240,148013059,3827777499,3295246426],3293443760:[3821786052,3342526732,4218914973,1028945134,4088093105,2904328755,3327091369,2382730787,1419761937,3895139033],1306400036:[3203706013,1158309216],3256556792:[578613899,3001207471,2874132201,3179687236,1783015770,655969474,4037862832,2063403501,1599208980,1810631287,2142170206,2030761528,3946677679,3009222698,4222183408,663422040,400855858,1532957894,3352864051,1133259667,3112655638,1305183839,1894708472,1768891740,2837617999,1950438474,1114901282,1770583370,1161773419,1051575348,2297155007,3277789161,5716631,1339347760,3760055223,2940368186,1285652485,3293546465,4231323485,1834744321,346874300,3850581409,2250791053,1482959167,869906466,2674252688,395041908,804291784,4288270099,3198132628,712377611,2417008758,479945903,3961806047,1411407467,728799441,2315554128,1842657554,3815607619,3907093117,1217240411,1534661035,2954562838,335055490,2816379211,2301859152,2951183804,2188180465,231477066,1871374353,1911125066,1600972822,1692211062,1072016465,977012517,1806887404,1251058090,3390157468,3174744832,132023988,2107101300,3849074793],3849074793:[1599208980,1810631287,2142170206,2030761528,3946677679,3009222698,4222183408,663422040,400855858,1532957894,3352864051,1133259667,3112655638,1305183839,1894708472,1768891740,2837617999,1950438474,1114901282,1770583370,1161773419,1051575348,2297155007,3277789161,5716631,1339347760,3760055223,2940368186,1285652485,3293546465,4231323485,1834744321,346874300,3850581409,2250791053,1482959167,869906466,2674252688,395041908,804291784,4288270099,3198132628,712377611,2417008758,479945903,3961806047,1411407467,728799441,2315554128,1842657554,3815607619,3907093117,1217240411,1534661035,2954562838,335055490,2816379211,2301859152,2951183804,2188180465,231477066,1871374353,1911125066,1600972822,1692211062,1072016465,977012517,1806887404,1251058090,3390157468,3174744832,132023988,2107101300],1758889154:[25142252,h_,4288193352,630975310,4086658281,2295281155,182646315,1062813311,1052013943,819412036,24726584,1360408905,4175244083,3508470533,1426591983,1904799276,3221913625,277319702,1634111441,4237592921,1404847402,1999602285,991950508,3053780830,3694346114,2078563270,1437502449,1638804497,629592764,76236018,2223149337,3310460725,w_,707683696,3518393246,3460952963,4217484030,3758799889,3612865200,987401354,I_,3571504051,90941305,3132237377,342316401,1051757585,635142910,310824031,2176052936,4278956645,1003880860,862014818,3693000487,4074379575,177149247,m_,1162798199,738039164,2188021234,2058353004,402227799,264262732,3640358203,4136498852,2272882330,y_,3902619387,2938176219,32344328,2056796094,4292641817,3026737570,3825984169,3420628829,2474470126,2068733104,3319311131,484807127,3747195512,2814081492,1658829314,3040386961,1945004755,1677625105,1095909175,4196446775,g_,3304561284,3512223829,E_,3425753595,4252922144,331165859,b_,1329646415,D_,3283111854,P_,2262370178,3290496277,R_,1383356374,2182337498,234836483,1073191201,2696325953,900683007,3798194928,3376911765,1077100507,__,3999819293,C_,3426335179,3495092785,1973544240,1502416096,843113511,3296154744,1876633798,2769231204,1620046519,840318589,1953115116,1971632696,2680139844,3314249567,2713699986,1594536857,4230923436,3493046030,413509423,1509553395,263784265,3101698114,3071239417,926996030,3588315303,1287392070,3651124850,2143335405,2827207264,1335981549,2979338954,2391383451,1530820697,33720170,979691226,3663046924,2347447852,T_,2320036040,3027567501,377706215,2568555532,647756555,1623761950,4123344466],1623761950:[1335981549,2979338954,2391383451,1530820697,33720170,979691226,3663046924,2347447852,T_,2320036040,3027567501,377706215,2568555532,647756555],2590856083:[2635815018,39481116,3313531582,3956297820,3599934289,2572171363,2415094496,2281632017,3081323446,2310774935,964333572,2108223431,3948183225,2489546625],2107101300:[1217240411,1534661035,2954562838,335055490,2816379211,2301859152,2951183804,2188180465,231477066,1871374353,1911125066,1600972822,1692211062,1072016465,977012517,1806887404,1251058090,3390157468,3174744832,132023988],2853485674:[1209101575],807026263:[3737207727],24185140:[4031249490,644574406,146592293,3992365140,525669439],1310830890:[963979645,550521510,1891881377,976884017,4228831410],2827207264:[3101698114,3071239417,926996030,3588315303,1287392070,3651124850,2143335405],2143335405:[3651124850],1287392070:[3071239417,926996030,3588315303],3907093117:[712377611,2417008758,479945903,3961806047,1411407467,728799441,2315554128,1842657554,3815607619],3198132628:[869906466,2674252688,395041908,804291784,4288270099],1482959167:[346874300,3850581409,2250791053],1834744321:[3760055223,2940368186,1285652485,3293546465,4231323485],1339347760:[3277789161,5716631],2297155007:[4222183408,663422040,400855858,1532957894,3352864051,1133259667,3112655638,1305183839,1894708472,1768891740,2837617999,1950438474,1114901282,1770583370,1161773419,1051575348],3009222698:[1810631287,2142170206,2030761528,3946677679],263784265:[413509423,1509553395],4230923436:[1971632696,2680139844,3314249567,2713699986,1594536857],2706460486:[B_,2515109513,562808652,3205830791,3862327254,1177604601,O_,2254336722,2986769608,385403989,1252848954,2391368822],2176059722:[1662888072,317615605,1545765605,4266260250],3740093272:[3041715199],1946335990:[325726236,1154579445,x_,4021432810],3027567501:[979691226,3663046924,2347447852,T_,2320036040],964333572:[2572171363,2415094496,2281632017,3081323446,2310774935],682877961:[1621171031,3657597509,2082059205,1807405624,1004757350],1179482911:[1975003073,734778138,4243806635],1004757350:[1807405624],214636428:[2445595289],1252848954:[385403989],3657597509:[1621171031],2254336722:[2515109513,562808652,3205830791,3862327254,1177604601,O_],1953115116:[1620046519,840318589],1028945134:[3342526732,4218914973],1967976161:[1232101972,2461110595],2461110595:[1232101972],1136057603:[144952367],1876633798:[1095909175,4196446775,g_,3304561284,3512223829,E_,3425753595,4252922144,331165859,b_,1329646415,D_,3283111854,P_,2262370178,3290496277,R_,1383356374,2182337498,234836483,1073191201,2696325953,900683007,3798194928,3376911765,1077100507,__,3999819293,C_,3426335179,3495092785,1973544240,1502416096,843113511,3296154744],3426335179:[3999819293,C_],2063403501:[578613899,3001207471,2874132201,3179687236,1783015770,655969474,4037862832],1945004755:[25142252,h_,4288193352,630975310,4086658281,2295281155,182646315,1062813311,1052013943,819412036,24726584,1360408905,4175244083,3508470533,1426591983,1904799276,3221913625,277319702,1634111441,4237592921,1404847402,1999602285,991950508,3053780830,3694346114,2078563270,1437502449,1638804497,629592764,76236018,2223149337,3310460725,w_,707683696,3518393246,3460952963,4217484030,3758799889,3612865200,987401354,I_,3571504051,90941305,3132237377,342316401,1051757585,635142910,310824031,2176052936,4278956645,1003880860,862014818,3693000487,4074379575,177149247,m_,1162798199,738039164,2188021234,2058353004,402227799,264262732,3640358203,4136498852,2272882330,y_,3902619387,2938176219,32344328,2056796094,4292641817,3026737570,3825984169,3420628829,2474470126,2068733104,3319311131,484807127,3747195512,2814081492,1658829314,3040386961],3040386961:[1052013943,819412036,24726584,1360408905,4175244083,3508470533,1426591983,1904799276,3221913625,277319702,1634111441,4237592921,1404847402,1999602285,991950508,3053780830,3694346114,2078563270,1437502449,1638804497,629592764,76236018,2223149337,3310460725,w_,707683696,3518393246,3460952963,4217484030,3758799889,3612865200,987401354,I_,3571504051,90941305,3132237377,342316401,1051757585,635142910,310824031,2176052936,4278956645,1003880860,862014818,3693000487,4074379575,177149247,m_,1162798199,738039164,2188021234,2058353004,402227799,264262732,3640358203,4136498852,2272882330,y_,3902619387,2938176219,32344328,2056796094,4292641817,3026737570,3825984169,3420628829,2474470126,2068733104,3319311131,484807127,3747195512,2814081492,1658829314],3205830791:[562808652],1077100507:[3798194928,3376911765],1658829314:[402227799,264262732,3640358203,4136498852,2272882330,y_,3902619387,2938176219,32344328,2056796094,4292641817,3026737570,3825984169,3420628829,2474470126,2068733104,3319311131,484807127,3747195512,2814081492],2058353004:[1003880860,862014818,3693000487,4074379575,177149247,m_,1162798199,738039164,2188021234],4278956645:[342316401,1051757585,635142910,310824031,2176052936],3132237377:[I_,3571504051,90941305],987401354:[3518393246,3460952963,4217484030,3758799889,3612865200],707683696:[3310460725,w_],2223149337:[1426591983,1904799276,3221913625,277319702,1634111441,4237592921,1404847402,1999602285,991950508,3053780830,3694346114,2078563270,1437502449,1638804497,629592764,76236018],3508470533:[819412036,24726584,1360408905,4175244083],2713699986:[1971632696,2680139844,3314249567],1154579445:[325726236],2391406946:[3512223829],1062813311:[25142252,h_,4288193352,630975310,4086658281,2295281155,182646315]},k_[3]={3630933823:[["HasExternalReference",1437805879,3,!0]],618182010:[["OfPerson",2077209135,7,!0],["OfOrganization",4251960020,4,!0]],411424972:[["HasExternalReference",1437805879,3,!0]],130549933:[["HasExternalReferences",1437805879,3,!0],["ApprovedObjects",4095574036,5,!0],["ApprovedResources",2943643501,3,!0],["IsRelatedWith",3869604511,3,!0],["Relates",3869604511,2,!0]],1959218052:[["HasExternalReferences",1437805879,3,!0],["PropertiesForConstraint",1608871552,2,!0]],1466758467:[["HasCoordinateOperation",1785450214,0,!0]],602808272:[["HasExternalReference",1437805879,3,!0]],3200245327:[["ExternalReferenceForResources",1437805879,2,!0]],2242383968:[["ExternalReferenceForResources",1437805879,2,!0]],1040185647:[["ExternalReferenceForResources",1437805879,2,!0]],3548104201:[["ExternalReferenceForResources",1437805879,2,!0]],852622518:[["PartOfW",x_,9,!0],["PartOfV",x_,8,!0],["PartOfU",x_,7,!0],["HasIntersections",891718957,0,!0]],2655187982:[["LibraryInfoForObjects",3840914261,5,!0],["HasLibraryReferences",3452421091,5,!0]],3452421091:[["ExternalReferenceForResources",1437805879,2,!0],["LibraryRefForObjects",3840914261,5,!0]],760658860:[["AssociatedTo",2655215786,5,!0],["HasExternalReferences",1437805879,3,!0],["HasProperties",3265635763,3,!0]],248100487:[["AssociatedTo",2655215786,5,!0],["HasExternalReferences",1437805879,3,!0],["HasProperties",3265635763,3,!0],["ToMaterialLayerSet",3303938423,0,!1]],3303938423:[["AssociatedTo",2655215786,5,!0],["HasExternalReferences",1437805879,3,!0],["HasProperties",3265635763,3,!0]],1847252529:[["AssociatedTo",2655215786,5,!0],["HasExternalReferences",1437805879,3,!0],["HasProperties",3265635763,3,!0],["ToMaterialLayerSet",3303938423,0,!1]],2235152071:[["AssociatedTo",2655215786,5,!0],["HasExternalReferences",1437805879,3,!0],["HasProperties",3265635763,3,!0],["ToMaterialProfileSet",164193824,2,!1]],164193824:[["AssociatedTo",2655215786,5,!0],["HasExternalReferences",1437805879,3,!0],["HasProperties",3265635763,3,!0]],552965576:[["AssociatedTo",2655215786,5,!0],["HasExternalReferences",1437805879,3,!0],["HasProperties",3265635763,3,!0],["ToMaterialProfileSet",164193824,2,!1]],1507914824:[["AssociatedTo",2655215786,5,!0]],3368373690:[["HasExternalReferences",1437805879,3,!0],["PropertiesForConstraint",1608871552,2,!0]],3701648758:[["PlacesObject",4208778838,5,!0],["ReferencedByPlacements",3701648758,0,!0]],2251480897:[["HasExternalReferences",1437805879,3,!0],["PropertiesForConstraint",1608871552,2,!0]],4251960020:[["IsRelatedBy",1411181986,3,!0],["Relates",1411181986,2,!0],["Engages",101040310,1,!0]],2077209135:[["EngagedIn",101040310,0,!0]],2483315170:[["HasExternalReferences",1437805879,3,!0],["PartOfComplex",3021840470,2,!0]],2226359599:[["HasExternalReferences",1437805879,3,!0],["PartOfComplex",3021840470,2,!0]],3355820592:[["OfPerson",2077209135,7,!0],["OfOrganization",4251960020,4,!0]],3958567839:[["HasExternalReference",1437805879,3,!0],["HasProperties",2802850158,3,!0]],3843373140:[["HasCoordinateOperation",1785450214,0,!0]],986844984:[["HasExternalReferences",1437805879,3,!0]],3710013099:[["HasExternalReferences",1437805879,3,!0]],2044713172:[["HasExternalReferences",1437805879,3,!0],["PartOfComplex",3021840470,2,!0]],2093928680:[["HasExternalReferences",1437805879,3,!0],["PartOfComplex",3021840470,2,!0]],931644368:[["HasExternalReferences",1437805879,3,!0],["PartOfComplex",3021840470,2,!0]],2691318326:[["HasExternalReferences",1437805879,3,!0],["PartOfComplex",3021840470,2,!0]],3252649465:[["HasExternalReferences",1437805879,3,!0],["PartOfComplex",3021840470,2,!0]],2405470396:[["HasExternalReferences",1437805879,3,!0],["PartOfComplex",3021840470,2,!0]],825690147:[["HasExternalReferences",1437805879,3,!0],["PartOfComplex",3021840470,2,!0]],1076942058:[["RepresentationMap",1660063152,1,!0],["LayerAssignments",2022622350,2,!0],["OfProductRepresentation",2095639259,2,!0]],3377609919:[["RepresentationsInContext",1076942058,0,!0]],3008791417:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],1660063152:[["HasShapeAspects",867548509,4,!0],["MapUsage",2347385850,0,!0]],867548509:[["HasExternalReferences",1437805879,3,!0]],3982875396:[["RepresentationMap",1660063152,1,!0],["LayerAssignments",2022622350,2,!0],["OfProductRepresentation",2095639259,2,!0],["OfShapeAspect",867548509,0,!0]],4240577450:[["RepresentationMap",1660063152,1,!0],["LayerAssignments",2022622350,2,!0],["OfProductRepresentation",2095639259,2,!0],["OfShapeAspect",867548509,0,!0]],2830218821:[["RepresentationMap",1660063152,1,!0],["LayerAssignments",2022622350,2,!0],["OfProductRepresentation",2095639259,2,!0]],3958052878:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],3049322572:[["RepresentationMap",1660063152,1,!0],["LayerAssignments",2022622350,2,!0],["OfProductRepresentation",2095639259,2,!0]],626085974:[["IsMappedBy",280115917,0,!0],["UsedInStyles",1351298697,0,!0]],912023232:[["OfPerson",2077209135,7,!0],["OfOrganization",4251960020,4,!0]],222769930:[["ToTexMap",3465909080,3,!1]],1010789467:[["ToTexMap",3465909080,3,!1]],3101149627:[["HasExternalReference",1437805879,3,!0]],1377556343:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],1735638870:[["RepresentationMap",1660063152,1,!0],["LayerAssignments",2022622350,2,!0],["OfProductRepresentation",2095639259,2,!0],["OfShapeAspect",867548509,0,!0]],2799835756:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],1907098498:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],3798115385:[["HasExternalReference",1437805879,3,!0],["HasProperties",2802850158,3,!0]],1310608509:[["HasExternalReference",1437805879,3,!0],["HasProperties",2802850158,3,!0]],2705031697:[["HasExternalReference",1437805879,3,!0],["HasProperties",2802850158,3,!0]],616511568:[["IsMappedBy",280115917,0,!0],["UsedInStyles",1351298697,0,!0]],3150382593:[["HasExternalReference",1437805879,3,!0],["HasProperties",2802850158,3,!0]],747523909:[["ClassificationForObjects",919958153,5,!0],["HasReferences",647927063,3,!0]],647927063:[["ExternalReferenceForResources",1437805879,2,!0],["ClassificationRefForObjects",919958153,5,!0],["HasReferences",647927063,3,!0]],1485152156:[["HasExternalReference",1437805879,3,!0],["HasProperties",2802850158,3,!0]],370225590:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],3050246964:[["HasExternalReference",1437805879,3,!0]],2889183280:[["HasExternalReference",1437805879,3,!0]],2713554722:[["HasExternalReference",1437805879,3,!0]],3632507154:[["HasExternalReference",1437805879,3,!0],["HasProperties",2802850158,3,!0]],1154170062:[["DocumentInfoForObjects",982818633,5,!0],["HasDocumentReferences",3732053477,4,!0],["IsPointedTo",770865208,3,!0],["IsPointer",770865208,2,!0]],3732053477:[["ExternalReferenceForResources",1437805879,2,!0],["DocumentRefForObjects",982818633,5,!0]],3900360178:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],476780140:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],297599258:[["HasExternalReferences",1437805879,3,!0]],2556980723:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0],["HasTextureMaps",2552916305,2,!0]],1809719519:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],803316827:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],3008276851:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0],["HasTextureMaps",2552916305,2,!0]],3448662350:[["RepresentationsInContext",1076942058,0,!0],["HasSubContexts",4142052618,6,!0],["HasCoordinateOperation",1785450214,0,!0]],2453401579:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],4142052618:[["RepresentationsInContext",1076942058,0,!0],["HasSubContexts",4142052618,6,!0],["HasCoordinateOperation",1785450214,0,!0]],3590301190:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],178086475:[["PlacesObject",4208778838,5,!0],["ReferencedByPlacements",3701648758,0,!0]],812098782:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],3905492369:[["IsMappedBy",280115917,0,!0],["UsedInStyles",1351298697,0,!0]],3741457305:[["HasExternalReference",1437805879,3,!0]],1402838566:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],125510826:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],2604431987:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],4266656042:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],1520743889:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],3422422726:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],388784114:[["PlacesObject",4208778838,5,!0],["ReferencedByPlacements",3701648758,0,!0]],2624227202:[["PlacesObject",4208778838,5,!0],["ReferencedByPlacements",3701648758,0,!0]],1008929658:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],2347385850:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],1838606355:[["AssociatedTo",2655215786,5,!0],["HasExternalReferences",1437805879,3,!0],["HasProperties",3265635763,3,!0],["HasRepresentation",2022407955,3,!0],["IsRelatedWith",853536259,3,!0],["RelatesTo",853536259,2,!0]],3708119e3:[["AssociatedTo",2655215786,5,!0],["HasExternalReferences",1437805879,3,!0],["HasProperties",3265635763,3,!0],["ToMaterialConstituentSet",2852063980,2,!1]],2852063980:[["AssociatedTo",2655215786,5,!0],["HasExternalReferences",1437805879,3,!0],["HasProperties",3265635763,3,!0]],1303795690:[["AssociatedTo",2655215786,5,!0]],3079605661:[["AssociatedTo",2655215786,5,!0]],3404854881:[["AssociatedTo",2655215786,5,!0]],3265635763:[["HasExternalReferences",1437805879,3,!0]],2998442950:[["HasExternalReference",1437805879,3,!0],["HasProperties",2802850158,3,!0]],219451334:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0]],182550632:[["HasExternalReference",1437805879,3,!0],["HasProperties",2802850158,3,!0]],2665983363:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],1029017970:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],2529465313:[["HasExternalReference",1437805879,3,!0],["HasProperties",2802850158,3,!0]],2519244187:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],3021840470:[["HasExternalReferences",1437805879,3,!0],["PartOfComplex",3021840470,2,!0]],597895409:[["IsMappedBy",280115917,0,!0],["UsedInStyles",1351298697,0,!0]],2004835150:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],1663979128:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],2067069095:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],2165702409:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],4022376103:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],1423911732:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],2924175390:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],2775532180:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],3778827333:[["HasExternalReferences",1437805879,3,!0]],673634403:[["ShapeOfProduct",4208778838,6,!0],["HasShapeAspects",867548509,4,!0]],2802850158:[["HasExternalReferences",1437805879,3,!0]],2598011224:[["HasExternalReferences",1437805879,3,!0],["PartOfPset",1451395588,4,!0],["PropertyForDependance",148025276,2,!0],["PropertyDependsOn",148025276,3,!0],["PartOfComplex",2542286263,3,!0],["HasConstraints",1608871552,3,!0],["HasApprovals",2943643501,2,!0]],1680319473:[["HasContext",2565941209,5,!0],["HasAssociations",1865459582,4,!0]],3357820518:[["HasContext",2565941209,5,!0],["HasAssociations",1865459582,4,!0],["DefinesType",1628702193,5,!0],["IsDefinedBy",307848117,4,!0],["DefinesOccurrence",4186316022,5,!0]],1482703590:[["HasContext",2565941209,5,!0],["HasAssociations",1865459582,4,!0]],2090586900:[["HasContext",2565941209,5,!0],["HasAssociations",1865459582,4,!0],["DefinesType",1628702193,5,!0],["IsDefinedBy",307848117,4,!0],["DefinesOccurrence",4186316022,5,!0]],3615266464:[["HasExternalReference",1437805879,3,!0],["HasProperties",2802850158,3,!0]],3413951693:[["HasExternalReference",1437805879,3,!0]],1580146022:[["HasExternalReferences",1437805879,3,!0]],2778083089:[["HasExternalReference",1437805879,3,!0],["HasProperties",2802850158,3,!0]],2042790032:[["HasExternalReferences",1437805879,3,!0]],4165799628:[["HasExternalReferences",1437805879,3,!0]],1509187699:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],823603102:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0],["UsingCurves",3732776249,0,!0]],4124623270:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],3692461612:[["HasExternalReferences",1437805879,3,!0],["PartOfPset",1451395588,4,!0],["PropertyForDependance",148025276,2,!0],["PropertyDependsOn",148025276,3,!0],["PartOfComplex",2542286263,3,!0],["HasConstraints",1608871552,3,!0],["HasApprovals",2943643501,2,!0]],723233188:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],2233826070:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],2513912981:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],2247615214:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],1260650574:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],1096409881:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],230924584:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],3071757647:[["HasExternalReference",1437805879,3,!0],["HasProperties",2802850158,3,!0]],901063453:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],4282788508:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],3124975700:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],2715220739:[["HasExternalReference",1437805879,3,!0],["HasProperties",2802850158,3,!0]],1628702193:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0]],3736923433:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["OperatesOn",4278684876,6,!0]],2347495698:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],3698973494:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ResourceOf",205026976,6,!0]],427810014:[["HasExternalReference",1437805879,3,!0],["HasProperties",2802850158,3,!0]],1417489154:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],2759199220:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],2543172580:[["HasExternalReference",1437805879,3,!0],["HasProperties",2802850158,3,!0]],3406155212:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0],["HasTextureMaps",2552916305,2,!0]],669184980:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],3207858831:[["HasExternalReference",1437805879,3,!0],["HasProperties",2802850158,3,!0]],4261334040:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],3125803723:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],2740243338:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],3425423356:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],2736907675:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],4182860854:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],2581212453:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],2713105998:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],2898889636:[["HasExternalReference",1437805879,3,!0],["HasProperties",2802850158,3,!0]],1123145078:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],574549367:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],1675464909:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],2059837836:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],59481748:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],3749851601:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],3486308946:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],3331915920:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],1416205885:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],1383045692:[["HasExternalReference",1437805879,3,!0],["HasProperties",2802850158,3,!0]],2205249479:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],2542286263:[["HasExternalReferences",1437805879,3,!0],["PartOfPset",1451395588,4,!0],["PropertyForDependance",148025276,2,!0],["PropertyDependsOn",148025276,3,!0],["PartOfComplex",2542286263,3,!0],["HasConstraints",1608871552,3,!0],["HasApprovals",2943643501,2,!0]],2485617015:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0],["UsingCurves",3732776249,0,!0]],2574617495:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ResourceOf",205026976,6,!0]],3419103109:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",4186316022,4,!0],["Declares",2565941209,4,!0]],1815067380:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ResourceOf",205026976,6,!0]],2506170314:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],2147822146:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],2601014836:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],2827736869:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],2629017746:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],4212018352:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0],["UsingCurves",3732776249,0,!0]],32440307:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],593015953:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],1472233963:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],1883228015:[["HasContext",2565941209,5,!0],["HasAssociations",1865459582,4,!0],["DefinesType",1628702193,5,!0],["IsDefinedBy",307848117,4,!0],["DefinesOccurrence",4186316022,5,!0]],339256511:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],2777663545:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],2835456948:[["HasExternalReference",1437805879,3,!0],["HasProperties",2802850158,3,!0]],4024345920:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["OperatesOn",4278684876,6,!0]],477187591:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],2804161546:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],2047409740:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],374418227:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],315944413:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],2652556860:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],4238390223:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],1268542332:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],4095422895:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],987898635:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],1484403080:[["HasExternalReference",1437805879,3,!0],["HasProperties",2802850158,3,!0]],178912537:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0],["ToFaceSet",2839578677,2,!0],["HasTexCoords",222769930,1,!0]],2294589976:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0],["ToFaceSet",2839578677,2,!0],["HasTexCoords",222769930,1,!0]],572779678:[["HasExternalReference",1437805879,3,!0],["HasProperties",2802850158,3,!0]],428585644:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ResourceOf",205026976,6,!0]],1281925730:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],1425443689:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],3888040117:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0]],590820931:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],3388369263:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],3505215534:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],2485787929:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],1682466193:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],603570806:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],220341763:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],3381221214:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],3967405729:[["HasContext",2565941209,5,!0],["HasAssociations",1865459582,4,!0],["DefinesType",1628702193,5,!0],["IsDefinedBy",307848117,4,!0],["DefinesOccurrence",4186316022,5,!0]],569719735:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["OperatesOn",4278684876,6,!0]],2945172077:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["IsPredecessorTo",4122056220,4,!0],["IsSuccessorFrom",4122056220,5,!0],["OperatesOn",4278684876,6,!0]],4208778838:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0]],103090709:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",4186316022,4,!0],["Declares",2565941209,4,!0]],653396225:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",4186316022,4,!0],["Declares",2565941209,4,!0]],871118103:[["HasExternalReferences",1437805879,3,!0],["PartOfPset",1451395588,4,!0],["PropertyForDependance",148025276,2,!0],["PropertyDependsOn",148025276,3,!0],["PartOfComplex",2542286263,3,!0],["HasConstraints",1608871552,3,!0],["HasApprovals",2943643501,2,!0]],4166981789:[["HasExternalReferences",1437805879,3,!0],["PartOfPset",1451395588,4,!0],["PropertyForDependance",148025276,2,!0],["PropertyDependsOn",148025276,3,!0],["PartOfComplex",2542286263,3,!0],["HasConstraints",1608871552,3,!0],["HasApprovals",2943643501,2,!0]],2752243245:[["HasExternalReferences",1437805879,3,!0],["PartOfPset",1451395588,4,!0],["PropertyForDependance",148025276,2,!0],["PropertyDependsOn",148025276,3,!0],["PartOfComplex",2542286263,3,!0],["HasConstraints",1608871552,3,!0],["HasApprovals",2943643501,2,!0]],941946838:[["HasExternalReferences",1437805879,3,!0],["PartOfPset",1451395588,4,!0],["PropertyForDependance",148025276,2,!0],["PropertyDependsOn",148025276,3,!0],["PartOfComplex",2542286263,3,!0],["HasConstraints",1608871552,3,!0],["HasApprovals",2943643501,2,!0]],1451395588:[["HasContext",2565941209,5,!0],["HasAssociations",1865459582,4,!0],["DefinesType",1628702193,5,!0],["IsDefinedBy",307848117,4,!0],["DefinesOccurrence",4186316022,5,!0]],492091185:[["HasContext",2565941209,5,!0],["HasAssociations",1865459582,4,!0],["Defines",307848117,5,!0]],3650150729:[["HasExternalReferences",1437805879,3,!0],["PartOfPset",1451395588,4,!0],["PropertyForDependance",148025276,2,!0],["PropertyDependsOn",148025276,3,!0],["PartOfComplex",2542286263,3,!0],["HasConstraints",1608871552,3,!0],["HasApprovals",2943643501,2,!0]],110355661:[["HasExternalReferences",1437805879,3,!0],["PartOfPset",1451395588,4,!0],["PropertyForDependance",148025276,2,!0],["PropertyDependsOn",148025276,3,!0],["PartOfComplex",2542286263,3,!0],["HasConstraints",1608871552,3,!0],["HasApprovals",2943643501,2,!0]],3521284610:[["HasContext",2565941209,5,!0],["HasAssociations",1865459582,4,!0],["PartOfComplexTemplate",3875453745,6,!0],["PartOfPsetTemplate",492091185,6,!0]],2770003689:[["HasExternalReference",1437805879,3,!0],["HasProperties",2802850158,3,!0]],2798486643:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],3454111270:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],3765753017:[["HasContext",2565941209,5,!0],["HasAssociations",1865459582,4,!0],["DefinesType",1628702193,5,!0],["IsDefinedBy",307848117,4,!0],["DefinesOccurrence",4186316022,5,!0]],3523091289:[["InnerBoundaries",3523091289,9,!0]],1521410863:[["InnerBoundaries",3523091289,9,!0],["Corresponds",1521410863,10,!0]],816062949:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0],["UsingCurves",3732776249,0,!0]],2914609552:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ResourceOf",205026976,6,!0]],1856042241:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],3243963512:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],4158566097:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],3626867408:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],1862484736:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],1290935644:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],1356537516:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],3663146110:[["HasContext",2565941209,5,!0],["HasAssociations",1865459582,4,!0],["PartOfComplexTemplate",3875453745,6,!0],["PartOfPsetTemplate",492091185,6,!0]],1412071761:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["ContainsElements",3242617779,5,!0],["ServicedBySystems",366585022,5,!0],["ReferencesElements",1245217292,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0]],710998568:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],2706606064:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["ContainsElements",3242617779,5,!0],["ServicedBySystems",366585022,5,!0],["ReferencesElements",1245217292,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0]],3893378262:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],463610769:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["ContainsElements",3242617779,5,!0],["ServicedBySystems",366585022,5,!0],["ReferencesElements",1245217292,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0]],2481509218:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],451544542:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],4015995234:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],2735484536:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],3544373492:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["AssignedToStructuralItem",2127690289,5,!0]],3136571912:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["AssignedStructuralActivity",2127690289,4,!0]],530289379:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["AssignedStructuralActivity",2127690289,4,!0],["ConnectedBy",1638771189,4,!0]],3689010777:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["AssignedToStructuralItem",2127690289,5,!0]],3979015343:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["AssignedStructuralActivity",2127690289,4,!0],["ConnectedBy",1638771189,4,!0]],2218152070:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["AssignedStructuralActivity",2127690289,4,!0],["ConnectedBy",1638771189,4,!0]],603775116:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["AssignedToStructuralItem",2127690289,5,!0]],4095615324:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ResourceOf",205026976,6,!0]],699246055:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],2028607225:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],2809605785:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],4124788165:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],1580310250:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],3473067441:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["IsPredecessorTo",4122056220,4,!0],["IsSuccessorFrom",4122056220,5,!0],["OperatesOn",4278684876,6,!0]],3206491090:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["OperatesOn",4278684876,6,!0]],2387106220:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0],["HasColours",3570813810,0,!0],["HasTextures",1437953363,1,!0]],782932809:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],1935646853:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],3665877780:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],2916149573:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0],["HasColours",3570813810,0,!0],["HasTextures",1437953363,1,!0]],1229763772:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0],["HasColours",3570813810,0,!0],["HasTextures",1437953363,1,!0]],3651464721:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],336235671:[["HasContext",2565941209,5,!0],["HasAssociations",1865459582,4,!0],["DefinesType",1628702193,5,!0],["IsDefinedBy",307848117,4,!0],["DefinesOccurrence",4186316022,5,!0]],512836454:[["HasContext",2565941209,5,!0],["HasAssociations",1865459582,4,!0],["DefinesType",1628702193,5,!0],["IsDefinedBy",307848117,4,!0],["DefinesOccurrence",4186316022,5,!0]],2296667514:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["IsActingUpon",1683148259,6,!0]],1635779807:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],2603310189:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],1674181508:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["ContainedInStructure",3242617779,4,!0]],2887950389:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],167062518:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],1334484129:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],3649129432:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],1260505505:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],3124254112:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["ContainsElements",3242617779,5,!0],["ServicedBySystems",366585022,5,!0],["ReferencesElements",1245217292,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0]],1626504194:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],2197970202:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],2937912522:[["HasExternalReference",1437805879,3,!0],["HasProperties",2802850158,3,!0]],3893394355:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],3497074424:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],300633059:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],3875453745:[["HasContext",2565941209,5,!0],["HasAssociations",1865459582,4,!0],["PartOfComplexTemplate",3875453745,6,!0],["PartOfPsetTemplate",492091185,6,!0]],3732776249:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],15328376:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],2510884976:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],2185764099:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ResourceOf",205026976,6,!0]],4105962743:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ResourceOf",205026976,6,!0]],1525564444:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ResourceOf",205026976,6,!0]],2559216714:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ResourceOf",205026976,6,!0]],3293443760:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["Controls",2495723537,6,!0]],2000195564:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],3895139033:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["Controls",2495723537,6,!0]],1419761937:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["Controls",2495723537,6,!0]],4189326743:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],1916426348:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],3295246426:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ResourceOf",205026976,6,!0]],1457835157:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],1213902940:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],1306400036:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],4234616927:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],3256556792:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],3849074793:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],2963535650:[["HasContext",2565941209,5,!0],["HasAssociations",1865459582,4,!0],["DefinesType",1628702193,5,!0],["IsDefinedBy",307848117,4,!0],["DefinesOccurrence",4186316022,5,!0]],1714330368:[["HasContext",2565941209,5,!0],["HasAssociations",1865459582,4,!0],["DefinesType",1628702193,5,!0],["IsDefinedBy",307848117,4,!0],["DefinesOccurrence",4186316022,5,!0]],2323601079:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],1758889154:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0]],4123344466:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0]],2397081782:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],1623761950:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0]],2590856083:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],1704287377:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],2107101300:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],132023988:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],3174744832:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],3390157468:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],4148101412:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["IsPredecessorTo",4122056220,4,!0],["IsSuccessorFrom",4122056220,5,!0],["OperatesOn",4278684876,6,!0]],2853485674:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["ContainsElements",3242617779,5,!0],["ServicedBySystems",366585022,5,!0],["ReferencesElements",1245217292,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0]],807026263:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],3737207727:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],24185140:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["ContainsElements",3242617779,5,!0],["ServicedBySystems",366585022,5,!0],["ReferencesElements",1245217292,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0]],1310830890:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["ContainsElements",3242617779,5,!0],["ServicedBySystems",366585022,5,!0],["ReferencesElements",1245217292,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0]],4228831410:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["ContainsElements",3242617779,5,!0],["ServicedBySystems",366585022,5,!0],["ReferencesElements",1245217292,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0]],647756555:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0]],2489546625:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],2827207264:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0]],2143335405:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0],["ProjectsElements",750771296,5,!1]],1287392070:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0],["VoidsElements",1401173127,5,!1]],3907093117:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],3198132628:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],3815607619:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],1482959167:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],1834744321:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],1339347760:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],2297155007:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],3009222698:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],1893162501:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],263784265:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0]],1509553395:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0]],3493046030:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0]],4230923436:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0]],1594536857:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0]],2898700619:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],2706460486:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["IsGroupedBy",1307041759,6,!0],["ReferencedInStructures",1245217292,4,!0]],1251058090:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],1806887404:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],2568555532:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0]],3948183225:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],2571569899:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],3946677679:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],3113134337:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],2391368822:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["IsGroupedBy",1307041759,6,!0],["ReferencedInStructures",1245217292,4,!0]],4288270099:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],679976338:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],3827777499:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ResourceOf",205026976,6,!0]],1051575348:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],1161773419:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],2176059722:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0]],1770583370:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],525669439:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["ContainsElements",3242617779,5,!0],["ServicedBySystems",366585022,5,!0],["ReferencesElements",1245217292,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0]],976884017:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["ContainsElements",3242617779,5,!0],["ServicedBySystems",366585022,5,!0],["ReferencesElements",1245217292,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0]],377706215:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0]],2108223431:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],1114901282:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],3181161470:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],1950438474:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],710110818:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],977012517:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],506776471:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],4143007308:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["IsActingUpon",1683148259,6,!0]],3588315303:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0],["VoidsElements",1401173127,5,!1],["HasFillings",3940055652,4,!0]],2837617999:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],514975943:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],2382730787:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["Controls",2495723537,6,!0]],3566463478:[["HasContext",2565941209,5,!0],["HasAssociations",1865459582,4,!0],["DefinesType",1628702193,5,!0],["IsDefinedBy",307848117,4,!0],["DefinesOccurrence",4186316022,5,!0]],3327091369:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["Controls",2495723537,6,!0]],1158309216:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],804291784:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],4231323485:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],4017108033:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],2839578677:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0],["HasColours",3570813810,0,!0],["HasTextures",1437953363,1,!0]],3724593414:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],3740093272:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["ContainedIn",4201705270,4,!0],["ConnectedFrom",3190031847,5,!0],["ConnectedTo",3190031847,4,!0]],1946335990:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["ContainedInStructure",3242617779,4,!0],["Positions",1441486842,4,!0]],2744685151:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["IsPredecessorTo",4122056220,4,!0],["IsSuccessorFrom",4122056220,5,!0],["OperatesOn",4278684876,6,!0]],2904328755:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["Controls",2495723537,6,!0]],3651124850:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0],["ProjectsElements",750771296,5,!1]],1842657554:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],2250791053:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],1763565496:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],2893384427:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],3992365140:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["ContainsElements",3242617779,5,!0],["ServicedBySystems",366585022,5,!0],["ReferencesElements",1245217292,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0]],1891881377:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["ContainsElements",3242617779,5,!0],["ServicedBySystems",366585022,5,!0],["ReferencesElements",1245217292,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0]],2324767716:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],1469900589:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],683857671:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],4021432810:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["ContainedInStructure",3242617779,4,!0],["Positions",1441486842,4,!0]],3027567501:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0]],964333572:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],2320036040:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0]],2310774935:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],146592293:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["ContainsElements",3242617779,5,!0],["ServicedBySystems",366585022,5,!0],["ReferencesElements",1245217292,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0]],550521510:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["ContainsElements",3242617779,5,!0],["ServicedBySystems",366585022,5,!0],["ReferencesElements",1245217292,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0]],2781568857:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],1768891740:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],2157484638:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],3649235739:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],544395925:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],1027922057:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],4074543187:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],33720170:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0]],3599934289:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],1894708472:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],42703149:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],4097777520:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["ContainsElements",3242617779,5,!0],["ServicedBySystems",366585022,5,!0],["ReferencesElements",1245217292,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0]],2533589738:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],1072016465:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],3856911033:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["ContainsElements",3242617779,5,!0],["ServicedBySystems",366585022,5,!0],["ReferencesElements",1245217292,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasCoverings",2802773753,4,!0],["BoundedBy",3451746338,4,!0]],1305183839:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],3812236995:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],3112655638:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],1039846685:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],338393293:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],682877961:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["AssignedToStructuralItem",2127690289,5,!0]],1179482911:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["AssignedStructuralActivity",2127690289,4,!0],["ConnectsStructuralMembers",1638771189,5,!0]],1004757350:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["AssignedToStructuralItem",2127690289,5,!0]],4243806635:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["AssignedStructuralActivity",2127690289,4,!0],["ConnectsStructuralMembers",1638771189,5,!0]],214636428:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["AssignedStructuralActivity",2127690289,4,!0],["ConnectedBy",1638771189,4,!0]],2445595289:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["AssignedStructuralActivity",2127690289,4,!0],["ConnectedBy",1638771189,4,!0]],2757150158:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["AssignedToStructuralItem",2127690289,5,!0]],1807405624:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["AssignedToStructuralItem",2127690289,5,!0]],1252848954:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["IsGroupedBy",1307041759,6,!0],["ReferencedInStructures",1245217292,4,!0],["SourceOfResultGroup",2986769608,6,!0],["LoadGroupFor",2515109513,7,!0]],2082059205:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["AssignedToStructuralItem",2127690289,5,!0]],734778138:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["AssignedStructuralActivity",2127690289,4,!0],["ConnectsStructuralMembers",1638771189,5,!0]],1235345126:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["AssignedToStructuralItem",2127690289,5,!0]],2986769608:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["IsGroupedBy",1307041759,6,!0],["ReferencedInStructures",1245217292,4,!0],["ResultGroupFor",2515109513,8,!0]],3657597509:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["AssignedToStructuralItem",2127690289,5,!0]],1975003073:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["AssignedStructuralActivity",2127690289,4,!0],["ConnectsStructuralMembers",1638771189,5,!0]],148013059:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ResourceOf",205026976,6,!0]],3101698114:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0],["AdheresToElement",3818125796,5,!1]],2315554128:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],2254336722:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["IsGroupedBy",1307041759,6,!0],["ReferencedInStructures",1245217292,4,!0],["ServicesBuildings",366585022,4,!0],["ServicesFacilities",1245217292,4,!0]],413509423:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0]],5716631:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],3824725483:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0]],2347447852:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0]],3081323446:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],3663046924:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0]],2281632017:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],2415094496:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],618700268:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],1692211062:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],2097647324:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],1953115116:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0]],3593883385:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],1600972822:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],1911125066:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],728799441:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],840318589:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0]],1530820697:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0]],3956297820:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],2391383451:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0]],3313531582:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],2769231204:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0]],926996030:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0],["VoidsElements",1401173127,5,!1]],1898987631:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],1133259667:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],4009809668:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],4088093105:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["Controls",2495723537,6,!0]],1028945134:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["Controls",2495723537,6,!0]],4218914973:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["Controls",2495723537,6,!0]],3342526732:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["Controls",2495723537,6,!0]],1033361043:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["IsGroupedBy",1307041759,6,!0],["ReferencedInStructures",1245217292,4,!0],["ServicesBuildings",366585022,4,!0],["ServicesFacilities",1245217292,4,!0]],3821786052:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["Controls",2495723537,6,!0]],1411407467:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],3352864051:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],1871374353:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],4266260250:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0]],1545765605:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0]],317615605:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0]],1662888072:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0]],3460190687:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["IsGroupedBy",1307041759,6,!0],["ReferencedInStructures",1245217292,4,!0]],1532957894:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],1967976161:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],2461110595:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],819618141:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],3649138523:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],231477066:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],1136057603:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],644574406:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["ContainsElements",3242617779,5,!0],["ServicedBySystems",366585022,5,!0],["ReferencesElements",1245217292,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0]],963979645:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["ContainsElements",3242617779,5,!0],["ServicedBySystems",366585022,5,!0],["ReferencesElements",1245217292,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0]],4031249490:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["ContainsElements",3242617779,5,!0],["ServicedBySystems",366585022,5,!0],["ReferencesElements",1245217292,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0]],2979338954:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0]],39481116:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],1909888760:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],1177604601:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["IsGroupedBy",1307041759,6,!0],["ReferencedInStructures",1245217292,4,!0],["ServicesBuildings",366585022,4,!0],["ServicesFacilities",1245217292,4,!0]],1876633798:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0]],3862327254:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["IsGroupedBy",1307041759,6,!0],["ReferencedInStructures",1245217292,4,!0],["ServicesBuildings",366585022,4,!0],["ServicesFacilities",1245217292,4,!0]],2188180465:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],395041908:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],3293546465:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],2674252688:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],1285652485:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],3203706013:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],2951183804:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],3296154744:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0]],2611217952:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],1677625105:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0]],2301859152:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],843113511:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0]],400855858:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],3850581409:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],2816379211:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],3898045240:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ResourceOf",205026976,6,!0]],1060000209:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ResourceOf",205026976,6,!0]],488727124:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ResourceOf",205026976,6,!0]],2940368186:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],335055490:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],2954562838:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],1502416096:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0]],1973544240:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0],["CoversSpaces",2802773753,5,!0],["CoversElements",886880790,5,!0]],3495092785:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0]],3961806047:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],3426335179:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0]],1335981549:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0]],2635815018:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],479945903:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],1599208980:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],2063403501:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],1945004755:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0],["HasPorts",4201705270,5,!0]],3040386961:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],3041715199:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["ContainedIn",4201705270,4,!0],["ConnectedFrom",3190031847,5,!0],["ConnectedTo",3190031847,4,!0]],3205830791:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["IsGroupedBy",1307041759,6,!0],["ReferencedInStructures",1245217292,4,!0],["ServicesBuildings",366585022,4,!0],["ServicesFacilities",1245217292,4,!0]],395920057:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0]],869906466:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],3760055223:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],2030761528:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],3071239417:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0],["VoidsElements",1401173127,5,!1]],1077100507:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0]],3376911765:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0]],663422040:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],2417008758:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],3277789161:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],2142170206:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],1534661035:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],1217240411:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],712377611:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],1658829314:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],2814081492:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],3747195512:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],484807127:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],1209101575:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["ContainsElements",3242617779,5,!0],["ServicedBySystems",366585022,5,!0],["ReferencesElements",1245217292,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["BoundedBy",3451746338,4,!0]],346874300:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],1810631287:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],4222183408:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],2058353004:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],4278956645:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],4037862832:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],2188021234:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],3132237377:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],987401354:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],707683696:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],2223149337:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],3508470533:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],900683007:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0]],2713699986:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0]],3009204131:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["ContainedInStructure",3242617779,4,!0],["Positions",1441486842,4,!0]],3319311131:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],2068733104:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],4175244083:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],2176052936:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],2696325953:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0]],76236018:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],629592764:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],1154579445:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["ContainedInStructure",3242617779,4,!0],["Positions",1441486842,4,!0]],1638804497:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],1437502449:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],1073191201:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0]],2078563270:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],234836483:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0]],2474470126:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],2182337498:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0]],144952367:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],3694346114:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],1383356374:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0]],1687234759:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0]],310824031:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],3612865200:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],3171933400:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0]],738039164:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],655969474:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],90941305:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],3290496277:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0]],2262370178:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0]],3024970846:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0]],3283111854:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0]],1232101972:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],3798194928:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0]],979691226:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0]],2572171363:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],2016517767:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0]],3053780830:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],1783015770:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],1329646415:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0]],991950508:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],1529196076:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0]],3420628829:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],1999602285:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],1404847402:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],331165859:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0]],4252922144:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0]],2515109513:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["IsGroupedBy",1307041759,6,!0],["ReferencedInStructures",1245217292,4,!0],["ServicesBuildings",366585022,4,!0],["ServicesFacilities",1245217292,4,!0]],385403989:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["IsGroupedBy",1307041759,6,!0],["ReferencedInStructures",1245217292,4,!0],["SourceOfResultGroup",2986769608,6,!0],["LoadGroupFor",2515109513,7,!0]],1621171031:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["AssignedToStructuralItem",2127690289,5,!0]],1162798199:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],812556717:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],3425753595:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0]],3825984169:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],1620046519:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0]],3026737570:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],3179687236:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],4292641817:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],4207607924:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],2391406946:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0]],3512223829:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0]],4237592921:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],3304561284:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0]],2874132201:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],1634111441:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],177149247:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],2056796094:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],3001207471:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],325726236:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["ContainedInStructure",3242617779,4,!0],["Positions",1441486842,4,!0]],277319702:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],753842376:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0]],4196446775:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0]],32344328:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],3314249567:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0]],1095909175:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0]],2938176219:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],635142910:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],3758799889:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],1051757585:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],4217484030:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],3999819293:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0]],3902619387:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],639361253:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],3221913625:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],3571504051:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],2272882330:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],578613899:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],3460952963:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],4136498852:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],3640358203:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],4074379575:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],3693000487:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],1052013943:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],562808652:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["IsGroupedBy",1307041759,6,!0],["ReferencedInStructures",1245217292,4,!0],["ServicesBuildings",366585022,4,!0],["ServicesFacilities",1245217292,4,!0]],1062813311:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0],["HasPorts",4201705270,5,!0],["AssignedToFlowElement",279856033,4,!0]],342316401:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],3518393246:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],1360408905:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],1904799276:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],862014818:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],3310460725:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],24726584:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],264262732:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],402227799:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],1003880860:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],3415622556:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],819412036:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],1426591983:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],182646315:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0],["HasPorts",4201705270,5,!0],["AssignedToFlowElement",279856033,4,!0]],2680139844:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0]],1971632696:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0]],2295281155:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0],["HasPorts",4201705270,5,!0],["AssignedToFlowElement",279856033,4,!0]],4086658281:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0],["HasPorts",4201705270,5,!0],["AssignedToFlowElement",279856033,4,!0]],630975310:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0],["HasPorts",4201705270,5,!0],["AssignedToFlowElement",279856033,4,!0]],4288193352:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0],["HasPorts",4201705270,5,!0],["AssignedToFlowElement",279856033,4,!0]],3087945054:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0],["HasPorts",4201705270,5,!0],["AssignedToFlowElement",279856033,4,!0]],25142252:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0],["HasPorts",4201705270,5,!0],["AssignedToFlowElement",279856033,4,!0]]},V_[3]={3630933823:function(e,t){return new t_.IfcActorRole(e,t[0],t[1],t[2])},618182010:function(e,t){return new t_.IfcAddress(e,t[0],t[1],t[2])},2879124712:function(e,t){return new t_.IfcAlignmentParameterSegment(e,t[0],t[1])},3633395639:function(e,t){return new t_.IfcAlignmentVerticalSegment(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},639542469:function(e,t){return new t_.IfcApplication(e,t[0],t[1],t[2],t[3])},411424972:function(e,t){return new t_.IfcAppliedValue(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},130549933:function(e,t){return new t_.IfcApproval(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},4037036970:function(e,t){return new t_.IfcBoundaryCondition(e,t[0])},1560379544:function(e,t){return new t_.IfcBoundaryEdgeCondition(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6])},3367102660:function(e,t){return new t_.IfcBoundaryFaceCondition(e,t[0],t[1],t[2],t[3])},1387855156:function(e,t){return new t_.IfcBoundaryNodeCondition(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6])},2069777674:function(e,t){return new t_.IfcBoundaryNodeConditionWarping(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},2859738748:function(e,t){return new t_.IfcConnectionGeometry(e)},2614616156:function(e,t){return new t_.IfcConnectionPointGeometry(e,t[0],t[1])},2732653382:function(e,t){return new t_.IfcConnectionSurfaceGeometry(e,t[0],t[1])},775493141:function(e,t){return new t_.IfcConnectionVolumeGeometry(e,t[0],t[1])},1959218052:function(e,t){return new t_.IfcConstraint(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6])},1785450214:function(e,t){return new t_.IfcCoordinateOperation(e,t[0],t[1])},1466758467:function(e,t){return new t_.IfcCoordinateReferenceSystem(e,t[0],t[1],t[2],t[3])},602808272:function(e,t){return new t_.IfcCostValue(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},1765591967:function(e,t){return new t_.IfcDerivedUnit(e,t[0],t[1],t[2],t[3])},1045800335:function(e,t){return new t_.IfcDerivedUnitElement(e,t[0],t[1])},2949456006:function(e,t){return new t_.IfcDimensionalExponents(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6])},4294318154:function(e,t){return new t_.IfcExternalInformation(e)},3200245327:function(e,t){return new t_.IfcExternalReference(e,t[0],t[1],t[2])},2242383968:function(e,t){return new t_.IfcExternallyDefinedHatchStyle(e,t[0],t[1],t[2])},1040185647:function(e,t){return new t_.IfcExternallyDefinedSurfaceStyle(e,t[0],t[1],t[2])},3548104201:function(e,t){return new t_.IfcExternallyDefinedTextFont(e,t[0],t[1],t[2])},852622518:function(e,t){return new t_.IfcGridAxis(e,t[0],t[1],t[2])},3020489413:function(e,t){return new t_.IfcIrregularTimeSeriesValue(e,t[0],t[1])},2655187982:function(e,t){return new t_.IfcLibraryInformation(e,t[0],t[1],t[2],t[3],t[4],t[5])},3452421091:function(e,t){return new t_.IfcLibraryReference(e,t[0],t[1],t[2],t[3],t[4],t[5])},4162380809:function(e,t){return new t_.IfcLightDistributionData(e,t[0],t[1],t[2])},1566485204:function(e,t){return new t_.IfcLightIntensityDistribution(e,t[0],t[1])},3057273783:function(e,t){return new t_.IfcMapConversion(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},1847130766:function(e,t){return new t_.IfcMaterialClassificationRelationship(e,t[0],t[1])},760658860:function(e,t){return new t_.IfcMaterialDefinition(e)},248100487:function(e,t){return new t_.IfcMaterialLayer(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6])},3303938423:function(e,t){return new t_.IfcMaterialLayerSet(e,t[0],t[1],t[2])},1847252529:function(e,t){return new t_.IfcMaterialLayerWithOffsets(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},2199411900:function(e,t){return new t_.IfcMaterialList(e,t[0])},2235152071:function(e,t){return new t_.IfcMaterialProfile(e,t[0],t[1],t[2],t[3],t[4],t[5])},164193824:function(e,t){return new t_.IfcMaterialProfileSet(e,t[0],t[1],t[2],t[3])},552965576:function(e,t){return new t_.IfcMaterialProfileWithOffsets(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6])},1507914824:function(e,t){return new t_.IfcMaterialUsageDefinition(e)},2597039031:function(e,t){return new t_.IfcMeasureWithUnit(e,t[0],t[1])},3368373690:function(e,t){return new t_.IfcMetric(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10])},2706619895:function(e,t){return new t_.IfcMonetaryUnit(e,t[0])},1918398963:function(e,t){return new t_.IfcNamedUnit(e,t[0],t[1])},3701648758:function(e,t){return new t_.IfcObjectPlacement(e,t[0])},2251480897:function(e,t){return new t_.IfcObjective(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10])},4251960020:function(e,t){return new t_.IfcOrganization(e,t[0],t[1],t[2],t[3],t[4])},1207048766:function(e,t){return new t_.IfcOwnerHistory(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},2077209135:function(e,t){return new t_.IfcPerson(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},101040310:function(e,t){return new t_.IfcPersonAndOrganization(e,t[0],t[1],t[2])},2483315170:function(e,t){return new t_.IfcPhysicalQuantity(e,t[0],t[1])},2226359599:function(e,t){return new t_.IfcPhysicalSimpleQuantity(e,t[0],t[1],t[2])},3355820592:function(e,t){return new t_.IfcPostalAddress(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},677532197:function(e,t){return new t_.IfcPresentationItem(e)},2022622350:function(e,t){return new t_.IfcPresentationLayerAssignment(e,t[0],t[1],t[2],t[3])},1304840413:function(e,t){return new t_.IfcPresentationLayerWithStyle(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},3119450353:function(e,t){return new t_.IfcPresentationStyle(e,t[0])},2095639259:function(e,t){return new t_.IfcProductRepresentation(e,t[0],t[1],t[2])},3958567839:function(e,t){return new t_.IfcProfileDef(e,t[0],t[1])},3843373140:function(e,t){return new t_.IfcProjectedCRS(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6])},986844984:function(e,t){return new t_.IfcPropertyAbstraction(e)},3710013099:function(e,t){return new t_.IfcPropertyEnumeration(e,t[0],t[1],t[2])},2044713172:function(e,t){return new t_.IfcQuantityArea(e,t[0],t[1],t[2],t[3],t[4])},2093928680:function(e,t){return new t_.IfcQuantityCount(e,t[0],t[1],t[2],t[3],t[4])},931644368:function(e,t){return new t_.IfcQuantityLength(e,t[0],t[1],t[2],t[3],t[4])},2691318326:function(e,t){return new t_.IfcQuantityNumber(e,t[0],t[1],t[2],t[3],t[4])},3252649465:function(e,t){return new t_.IfcQuantityTime(e,t[0],t[1],t[2],t[3],t[4])},2405470396:function(e,t){return new t_.IfcQuantityVolume(e,t[0],t[1],t[2],t[3],t[4])},825690147:function(e,t){return new t_.IfcQuantityWeight(e,t[0],t[1],t[2],t[3],t[4])},3915482550:function(e,t){return new t_.IfcRecurrencePattern(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},2433181523:function(e,t){return new t_.IfcReference(e,t[0],t[1],t[2],t[3],t[4])},1076942058:function(e,t){return new t_.IfcRepresentation(e,t[0],t[1],t[2],t[3])},3377609919:function(e,t){return new t_.IfcRepresentationContext(e,t[0],t[1])},3008791417:function(e,t){return new t_.IfcRepresentationItem(e)},1660063152:function(e,t){return new t_.IfcRepresentationMap(e,t[0],t[1])},2439245199:function(e,t){return new t_.IfcResourceLevelRelationship(e,t[0],t[1])},2341007311:function(e,t){return new t_.IfcRoot(e,t[0],t[1],t[2],t[3])},448429030:function(e,t){return new t_.IfcSIUnit(e,t[0],t[1],t[2],t[3])},1054537805:function(e,t){return new t_.IfcSchedulingTime(e,t[0],t[1],t[2])},867548509:function(e,t){return new t_.IfcShapeAspect(e,t[0],t[1],t[2],t[3],t[4])},3982875396:function(e,t){return new t_.IfcShapeModel(e,t[0],t[1],t[2],t[3])},4240577450:function(e,t){return new t_.IfcShapeRepresentation(e,t[0],t[1],t[2],t[3])},2273995522:function(e,t){return new t_.IfcStructuralConnectionCondition(e,t[0])},2162789131:function(e,t){return new t_.IfcStructuralLoad(e,t[0])},3478079324:function(e,t){return new t_.IfcStructuralLoadConfiguration(e,t[0],t[1],t[2])},609421318:function(e,t){return new t_.IfcStructuralLoadOrResult(e,t[0])},2525727697:function(e,t){return new t_.IfcStructuralLoadStatic(e,t[0])},3408363356:function(e,t){return new t_.IfcStructuralLoadTemperature(e,t[0],t[1],t[2],t[3])},2830218821:function(e,t){return new t_.IfcStyleModel(e,t[0],t[1],t[2],t[3])},3958052878:function(e,t){return new t_.IfcStyledItem(e,t[0],t[1],t[2])},3049322572:function(e,t){return new t_.IfcStyledRepresentation(e,t[0],t[1],t[2],t[3])},2934153892:function(e,t){return new t_.IfcSurfaceReinforcementArea(e,t[0],t[1],t[2],t[3])},1300840506:function(e,t){return new t_.IfcSurfaceStyle(e,t[0],t[1],t[2])},3303107099:function(e,t){return new t_.IfcSurfaceStyleLighting(e,t[0],t[1],t[2],t[3])},1607154358:function(e,t){return new t_.IfcSurfaceStyleRefraction(e,t[0],t[1])},846575682:function(e,t){return new t_.IfcSurfaceStyleShading(e,t[0],t[1])},1351298697:function(e,t){return new t_.IfcSurfaceStyleWithTextures(e,t[0])},626085974:function(e,t){return new t_.IfcSurfaceTexture(e,t[0],t[1],t[2],t[3],t[4])},985171141:function(e,t){return new t_.IfcTable(e,t[0],t[1],t[2])},2043862942:function(e,t){return new t_.IfcTableColumn(e,t[0],t[1],t[2],t[3],t[4])},531007025:function(e,t){return new t_.IfcTableRow(e,t[0],t[1])},1549132990:function(e,t){return new t_.IfcTaskTime(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12],t[13],t[14],t[15],t[16],t[17],t[18],t[19])},2771591690:function(e,t){return new t_.IfcTaskTimeRecurring(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12],t[13],t[14],t[15],t[16],t[17],t[18],t[19],t[20])},912023232:function(e,t){return new t_.IfcTelecomAddress(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},1447204868:function(e,t){return new t_.IfcTextStyle(e,t[0],t[1],t[2],t[3],t[4])},2636378356:function(e,t){return new t_.IfcTextStyleForDefinedFont(e,t[0],t[1])},1640371178:function(e,t){return new t_.IfcTextStyleTextModel(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6])},280115917:function(e,t){return new t_.IfcTextureCoordinate(e,t[0])},1742049831:function(e,t){return new t_.IfcTextureCoordinateGenerator(e,t[0],t[1],t[2])},222769930:function(e,t){return new t_.IfcTextureCoordinateIndices(e,t[0],t[1])},1010789467:function(e,t){return new t_.IfcTextureCoordinateIndicesWithVoids(e,t[0],t[1],t[2])},2552916305:function(e,t){return new t_.IfcTextureMap(e,t[0],t[1],t[2])},1210645708:function(e,t){return new t_.IfcTextureVertex(e,t[0])},3611470254:function(e,t){return new t_.IfcTextureVertexList(e,t[0])},1199560280:function(e,t){return new t_.IfcTimePeriod(e,t[0],t[1])},3101149627:function(e,t){return new t_.IfcTimeSeries(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},581633288:function(e,t){return new t_.IfcTimeSeriesValue(e,t[0])},1377556343:function(e,t){return new t_.IfcTopologicalRepresentationItem(e)},1735638870:function(e,t){return new t_.IfcTopologyRepresentation(e,t[0],t[1],t[2],t[3])},180925521:function(e,t){return new t_.IfcUnitAssignment(e,t[0])},2799835756:function(e,t){return new t_.IfcVertex(e)},1907098498:function(e,t){return new t_.IfcVertexPoint(e,t[0])},891718957:function(e,t){return new t_.IfcVirtualGridIntersection(e,t[0],t[1])},1236880293:function(e,t){return new t_.IfcWorkTime(e,t[0],t[1],t[2],t[3],t[4],t[5])},3752311538:function(e,t){return new t_.IfcAlignmentCantSegment(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},536804194:function(e,t){return new t_.IfcAlignmentHorizontalSegment(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},3869604511:function(e,t){return new t_.IfcApprovalRelationship(e,t[0],t[1],t[2],t[3])},3798115385:function(e,t){return new t_.IfcArbitraryClosedProfileDef(e,t[0],t[1],t[2])},1310608509:function(e,t){return new t_.IfcArbitraryOpenProfileDef(e,t[0],t[1],t[2])},2705031697:function(e,t){return new t_.IfcArbitraryProfileDefWithVoids(e,t[0],t[1],t[2],t[3])},616511568:function(e,t){return new t_.IfcBlobTexture(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6])},3150382593:function(e,t){return new t_.IfcCenterLineProfileDef(e,t[0],t[1],t[2],t[3])},747523909:function(e,t){return new t_.IfcClassification(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6])},647927063:function(e,t){return new t_.IfcClassificationReference(e,t[0],t[1],t[2],t[3],t[4],t[5])},3285139300:function(e,t){return new t_.IfcColourRgbList(e,t[0])},3264961684:function(e,t){return new t_.IfcColourSpecification(e,t[0])},1485152156:function(e,t){return new t_.IfcCompositeProfileDef(e,t[0],t[1],t[2],t[3])},370225590:function(e,t){return new t_.IfcConnectedFaceSet(e,t[0])},1981873012:function(e,t){return new t_.IfcConnectionCurveGeometry(e,t[0],t[1])},45288368:function(e,t){return new t_.IfcConnectionPointEccentricity(e,t[0],t[1],t[2],t[3],t[4])},3050246964:function(e,t){return new t_.IfcContextDependentUnit(e,t[0],t[1],t[2])},2889183280:function(e,t){return new t_.IfcConversionBasedUnit(e,t[0],t[1],t[2],t[3])},2713554722:function(e,t){return new t_.IfcConversionBasedUnitWithOffset(e,t[0],t[1],t[2],t[3],t[4])},539742890:function(e,t){return new t_.IfcCurrencyRelationship(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6])},3800577675:function(e,t){return new t_.IfcCurveStyle(e,t[0],t[1],t[2],t[3],t[4])},1105321065:function(e,t){return new t_.IfcCurveStyleFont(e,t[0],t[1])},2367409068:function(e,t){return new t_.IfcCurveStyleFontAndScaling(e,t[0],t[1],t[2])},3510044353:function(e,t){return new t_.IfcCurveStyleFontPattern(e,t[0],t[1])},3632507154:function(e,t){return new t_.IfcDerivedProfileDef(e,t[0],t[1],t[2],t[3],t[4])},1154170062:function(e,t){return new t_.IfcDocumentInformation(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12],t[13],t[14],t[15],t[16])},770865208:function(e,t){return new t_.IfcDocumentInformationRelationship(e,t[0],t[1],t[2],t[3],t[4])},3732053477:function(e,t){return new t_.IfcDocumentReference(e,t[0],t[1],t[2],t[3],t[4])},3900360178:function(e,t){return new t_.IfcEdge(e,t[0],t[1])},476780140:function(e,t){return new t_.IfcEdgeCurve(e,t[0],t[1],t[2],t[3])},211053100:function(e,t){return new t_.IfcEventTime(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6])},297599258:function(e,t){return new t_.IfcExtendedProperties(e,t[0],t[1],t[2])},1437805879:function(e,t){return new t_.IfcExternalReferenceRelationship(e,t[0],t[1],t[2],t[3])},2556980723:function(e,t){return new t_.IfcFace(e,t[0])},1809719519:function(e,t){return new t_.IfcFaceBound(e,t[0],t[1])},803316827:function(e,t){return new t_.IfcFaceOuterBound(e,t[0],t[1])},3008276851:function(e,t){return new t_.IfcFaceSurface(e,t[0],t[1],t[2])},4219587988:function(e,t){return new t_.IfcFailureConnectionCondition(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6])},738692330:function(e,t){return new t_.IfcFillAreaStyle(e,t[0],t[1],t[2])},3448662350:function(e,t){return new t_.IfcGeometricRepresentationContext(e,t[0],t[1],t[2],t[3],t[4],t[5])},2453401579:function(e,t){return new t_.IfcGeometricRepresentationItem(e)},4142052618:function(e,t){return new t_.IfcGeometricRepresentationSubContext(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6])},3590301190:function(e,t){return new t_.IfcGeometricSet(e,t[0])},178086475:function(e,t){return new t_.IfcGridPlacement(e,t[0],t[1],t[2])},812098782:function(e,t){return new t_.IfcHalfSpaceSolid(e,t[0],t[1])},3905492369:function(e,t){return new t_.IfcImageTexture(e,t[0],t[1],t[2],t[3],t[4],t[5])},3570813810:function(e,t){return new t_.IfcIndexedColourMap(e,t[0],t[1],t[2],t[3])},1437953363:function(e,t){return new t_.IfcIndexedTextureMap(e,t[0],t[1],t[2])},2133299955:function(e,t){return new t_.IfcIndexedTriangleTextureMap(e,t[0],t[1],t[2],t[3])},3741457305:function(e,t){return new t_.IfcIrregularTimeSeries(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},1585845231:function(e,t){return new t_.IfcLagTime(e,t[0],t[1],t[2],t[3],t[4])},1402838566:function(e,t){return new t_.IfcLightSource(e,t[0],t[1],t[2],t[3])},125510826:function(e,t){return new t_.IfcLightSourceAmbient(e,t[0],t[1],t[2],t[3])},2604431987:function(e,t){return new t_.IfcLightSourceDirectional(e,t[0],t[1],t[2],t[3],t[4])},4266656042:function(e,t){return new t_.IfcLightSourceGoniometric(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},1520743889:function(e,t){return new t_.IfcLightSourcePositional(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},3422422726:function(e,t){return new t_.IfcLightSourceSpot(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12])},388784114:function(e,t){return new t_.IfcLinearPlacement(e,t[0],t[1],t[2])},2624227202:function(e,t){return new t_.IfcLocalPlacement(e,t[0],t[1])},1008929658:function(e,t){return new t_.IfcLoop(e)},2347385850:function(e,t){return new t_.IfcMappedItem(e,t[0],t[1])},1838606355:function(e,t){return new t_.IfcMaterial(e,t[0],t[1],t[2])},3708119e3:function(e,t){return new t_.IfcMaterialConstituent(e,t[0],t[1],t[2],t[3],t[4])},2852063980:function(e,t){return new t_.IfcMaterialConstituentSet(e,t[0],t[1],t[2])},2022407955:function(e,t){return new t_.IfcMaterialDefinitionRepresentation(e,t[0],t[1],t[2],t[3])},1303795690:function(e,t){return new t_.IfcMaterialLayerSetUsage(e,t[0],t[1],t[2],t[3],t[4])},3079605661:function(e,t){return new t_.IfcMaterialProfileSetUsage(e,t[0],t[1],t[2])},3404854881:function(e,t){return new t_.IfcMaterialProfileSetUsageTapering(e,t[0],t[1],t[2],t[3],t[4])},3265635763:function(e,t){return new t_.IfcMaterialProperties(e,t[0],t[1],t[2],t[3])},853536259:function(e,t){return new t_.IfcMaterialRelationship(e,t[0],t[1],t[2],t[3],t[4])},2998442950:function(e,t){return new t_.IfcMirroredProfileDef(e,t[0],t[1],t[2],t[3],t[4])},219451334:function(e,t){return new t_.IfcObjectDefinition(e,t[0],t[1],t[2],t[3])},182550632:function(e,t){return new t_.IfcOpenCrossProfileDef(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6])},2665983363:function(e,t){return new t_.IfcOpenShell(e,t[0])},1411181986:function(e,t){return new t_.IfcOrganizationRelationship(e,t[0],t[1],t[2],t[3])},1029017970:function(e,t){return new t_.IfcOrientedEdge(e,t[0],t[1],t[2])},2529465313:function(e,t){return new t_.IfcParameterizedProfileDef(e,t[0],t[1],t[2])},2519244187:function(e,t){return new t_.IfcPath(e,t[0])},3021840470:function(e,t){return new t_.IfcPhysicalComplexQuantity(e,t[0],t[1],t[2],t[3],t[4],t[5])},597895409:function(e,t){return new t_.IfcPixelTexture(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},2004835150:function(e,t){return new t_.IfcPlacement(e,t[0])},1663979128:function(e,t){return new t_.IfcPlanarExtent(e,t[0],t[1])},2067069095:function(e,t){return new t_.IfcPoint(e)},2165702409:function(e,t){return new t_.IfcPointByDistanceExpression(e,t[0],t[1],t[2],t[3],t[4])},4022376103:function(e,t){return new t_.IfcPointOnCurve(e,t[0],t[1])},1423911732:function(e,t){return new t_.IfcPointOnSurface(e,t[0],t[1],t[2])},2924175390:function(e,t){return new t_.IfcPolyLoop(e,t[0])},2775532180:function(e,t){return new t_.IfcPolygonalBoundedHalfSpace(e,t[0],t[1],t[2],t[3])},3727388367:function(e,t){return new t_.IfcPreDefinedItem(e,t[0])},3778827333:function(e,t){return new t_.IfcPreDefinedProperties(e)},1775413392:function(e,t){return new t_.IfcPreDefinedTextFont(e,t[0])},673634403:function(e,t){return new t_.IfcProductDefinitionShape(e,t[0],t[1],t[2])},2802850158:function(e,t){return new t_.IfcProfileProperties(e,t[0],t[1],t[2],t[3])},2598011224:function(e,t){return new t_.IfcProperty(e,t[0],t[1])},1680319473:function(e,t){return new t_.IfcPropertyDefinition(e,t[0],t[1],t[2],t[3])},148025276:function(e,t){return new t_.IfcPropertyDependencyRelationship(e,t[0],t[1],t[2],t[3],t[4])},3357820518:function(e,t){return new t_.IfcPropertySetDefinition(e,t[0],t[1],t[2],t[3])},1482703590:function(e,t){return new t_.IfcPropertyTemplateDefinition(e,t[0],t[1],t[2],t[3])},2090586900:function(e,t){return new t_.IfcQuantitySet(e,t[0],t[1],t[2],t[3])},3615266464:function(e,t){return new t_.IfcRectangleProfileDef(e,t[0],t[1],t[2],t[3],t[4])},3413951693:function(e,t){return new t_.IfcRegularTimeSeries(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},1580146022:function(e,t){return new t_.IfcReinforcementBarProperties(e,t[0],t[1],t[2],t[3],t[4],t[5])},478536968:function(e,t){return new t_.IfcRelationship(e,t[0],t[1],t[2],t[3])},2943643501:function(e,t){return new t_.IfcResourceApprovalRelationship(e,t[0],t[1],t[2],t[3])},1608871552:function(e,t){return new t_.IfcResourceConstraintRelationship(e,t[0],t[1],t[2],t[3])},1042787934:function(e,t){return new t_.IfcResourceTime(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12],t[13],t[14],t[15],t[16],t[17])},2778083089:function(e,t){return new t_.IfcRoundedRectangleProfileDef(e,t[0],t[1],t[2],t[3],t[4],t[5])},2042790032:function(e,t){return new t_.IfcSectionProperties(e,t[0],t[1],t[2])},4165799628:function(e,t){return new t_.IfcSectionReinforcementProperties(e,t[0],t[1],t[2],t[3],t[4],t[5])},1509187699:function(e,t){return new t_.IfcSectionedSpine(e,t[0],t[1],t[2])},823603102:function(e,t){return new t_.IfcSegment(e,t[0])},4124623270:function(e,t){return new t_.IfcShellBasedSurfaceModel(e,t[0])},3692461612:function(e,t){return new t_.IfcSimpleProperty(e,t[0],t[1])},2609359061:function(e,t){return new t_.IfcSlippageConnectionCondition(e,t[0],t[1],t[2],t[3])},723233188:function(e,t){return new t_.IfcSolidModel(e)},1595516126:function(e,t){return new t_.IfcStructuralLoadLinearForce(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6])},2668620305:function(e,t){return new t_.IfcStructuralLoadPlanarForce(e,t[0],t[1],t[2],t[3])},2473145415:function(e,t){return new t_.IfcStructuralLoadSingleDisplacement(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6])},1973038258:function(e,t){return new t_.IfcStructuralLoadSingleDisplacementDistortion(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},1597423693:function(e,t){return new t_.IfcStructuralLoadSingleForce(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6])},1190533807:function(e,t){return new t_.IfcStructuralLoadSingleForceWarping(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},2233826070:function(e,t){return new t_.IfcSubedge(e,t[0],t[1],t[2])},2513912981:function(e,t){return new t_.IfcSurface(e)},1878645084:function(e,t){return new t_.IfcSurfaceStyleRendering(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},2247615214:function(e,t){return new t_.IfcSweptAreaSolid(e,t[0],t[1])},1260650574:function(e,t){return new t_.IfcSweptDiskSolid(e,t[0],t[1],t[2],t[3],t[4])},1096409881:function(e,t){return new t_.IfcSweptDiskSolidPolygonal(e,t[0],t[1],t[2],t[3],t[4],t[5])},230924584:function(e,t){return new t_.IfcSweptSurface(e,t[0],t[1])},3071757647:function(e,t){return new t_.IfcTShapeProfileDef(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11])},901063453:function(e,t){return new t_.IfcTessellatedItem(e)},4282788508:function(e,t){return new t_.IfcTextLiteral(e,t[0],t[1],t[2])},3124975700:function(e,t){return new t_.IfcTextLiteralWithExtent(e,t[0],t[1],t[2],t[3],t[4])},1983826977:function(e,t){return new t_.IfcTextStyleFontModel(e,t[0],t[1],t[2],t[3],t[4],t[5])},2715220739:function(e,t){return new t_.IfcTrapeziumProfileDef(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6])},1628702193:function(e,t){return new t_.IfcTypeObject(e,t[0],t[1],t[2],t[3],t[4],t[5])},3736923433:function(e,t){return new t_.IfcTypeProcess(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},2347495698:function(e,t){return new t_.IfcTypeProduct(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},3698973494:function(e,t){return new t_.IfcTypeResource(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},427810014:function(e,t){return new t_.IfcUShapeProfileDef(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},1417489154:function(e,t){return new t_.IfcVector(e,t[0],t[1])},2759199220:function(e,t){return new t_.IfcVertexLoop(e,t[0])},2543172580:function(e,t){return new t_.IfcZShapeProfileDef(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},3406155212:function(e,t){return new t_.IfcAdvancedFace(e,t[0],t[1],t[2])},669184980:function(e,t){return new t_.IfcAnnotationFillArea(e,t[0],t[1])},3207858831:function(e,t){return new t_.IfcAsymmetricIShapeProfileDef(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12],t[13],t[14])},4261334040:function(e,t){return new t_.IfcAxis1Placement(e,t[0],t[1])},3125803723:function(e,t){return new t_.IfcAxis2Placement2D(e,t[0],t[1])},2740243338:function(e,t){return new t_.IfcAxis2Placement3D(e,t[0],t[1],t[2])},3425423356:function(e,t){return new t_.IfcAxis2PlacementLinear(e,t[0],t[1],t[2])},2736907675:function(e,t){return new t_.IfcBooleanResult(e,t[0],t[1],t[2])},4182860854:function(e,t){return new t_.IfcBoundedSurface(e)},2581212453:function(e,t){return new t_.IfcBoundingBox(e,t[0],t[1],t[2],t[3])},2713105998:function(e,t){return new t_.IfcBoxedHalfSpace(e,t[0],t[1],t[2])},2898889636:function(e,t){return new t_.IfcCShapeProfileDef(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},1123145078:function(e,t){return new t_.IfcCartesianPoint(e,t[0])},574549367:function(e,t){return new t_.IfcCartesianPointList(e)},1675464909:function(e,t){return new t_.IfcCartesianPointList2D(e,t[0],t[1])},2059837836:function(e,t){return new t_.IfcCartesianPointList3D(e,t[0],t[1])},59481748:function(e,t){return new t_.IfcCartesianTransformationOperator(e,t[0],t[1],t[2],t[3])},3749851601:function(e,t){return new t_.IfcCartesianTransformationOperator2D(e,t[0],t[1],t[2],t[3])},3486308946:function(e,t){return new t_.IfcCartesianTransformationOperator2DnonUniform(e,t[0],t[1],t[2],t[3],t[4])},3331915920:function(e,t){return new t_.IfcCartesianTransformationOperator3D(e,t[0],t[1],t[2],t[3],t[4])},1416205885:function(e,t){return new t_.IfcCartesianTransformationOperator3DnonUniform(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6])},1383045692:function(e,t){return new t_.IfcCircleProfileDef(e,t[0],t[1],t[2],t[3])},2205249479:function(e,t){return new t_.IfcClosedShell(e,t[0])},776857604:function(e,t){return new t_.IfcColourRgb(e,t[0],t[1],t[2],t[3])},2542286263:function(e,t){return new t_.IfcComplexProperty(e,t[0],t[1],t[2],t[3])},2485617015:function(e,t){return new t_.IfcCompositeCurveSegment(e,t[0],t[1],t[2])},2574617495:function(e,t){return new t_.IfcConstructionResourceType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10])},3419103109:function(e,t){return new t_.IfcContext(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},1815067380:function(e,t){return new t_.IfcCrewResourceType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11])},2506170314:function(e,t){return new t_.IfcCsgPrimitive3D(e,t[0])},2147822146:function(e,t){return new t_.IfcCsgSolid(e,t[0])},2601014836:function(e,t){return new t_.IfcCurve(e)},2827736869:function(e,t){return new t_.IfcCurveBoundedPlane(e,t[0],t[1],t[2])},2629017746:function(e,t){return new t_.IfcCurveBoundedSurface(e,t[0],t[1],t[2])},4212018352:function(e,t){return new t_.IfcCurveSegment(e,t[0],t[1],t[2],t[3],t[4])},32440307:function(e,t){return new t_.IfcDirection(e,t[0])},593015953:function(e,t){return new t_.IfcDirectrixCurveSweptAreaSolid(e,t[0],t[1],t[2],t[3],t[4])},1472233963:function(e,t){return new t_.IfcEdgeLoop(e,t[0])},1883228015:function(e,t){return new t_.IfcElementQuantity(e,t[0],t[1],t[2],t[3],t[4],t[5])},339256511:function(e,t){return new t_.IfcElementType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},2777663545:function(e,t){return new t_.IfcElementarySurface(e,t[0])},2835456948:function(e,t){return new t_.IfcEllipseProfileDef(e,t[0],t[1],t[2],t[3],t[4])},4024345920:function(e,t){return new t_.IfcEventType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11])},477187591:function(e,t){return new t_.IfcExtrudedAreaSolid(e,t[0],t[1],t[2],t[3])},2804161546:function(e,t){return new t_.IfcExtrudedAreaSolidTapered(e,t[0],t[1],t[2],t[3],t[4])},2047409740:function(e,t){return new t_.IfcFaceBasedSurfaceModel(e,t[0])},374418227:function(e,t){return new t_.IfcFillAreaStyleHatching(e,t[0],t[1],t[2],t[3],t[4])},315944413:function(e,t){return new t_.IfcFillAreaStyleTiles(e,t[0],t[1],t[2])},2652556860:function(e,t){return new t_.IfcFixedReferenceSweptAreaSolid(e,t[0],t[1],t[2],t[3],t[4],t[5])},4238390223:function(e,t){return new t_.IfcFurnishingElementType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},1268542332:function(e,t){return new t_.IfcFurnitureType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10])},4095422895:function(e,t){return new t_.IfcGeographicElementType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},987898635:function(e,t){return new t_.IfcGeometricCurveSet(e,t[0])},1484403080:function(e,t){return new t_.IfcIShapeProfileDef(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},178912537:function(e,t){return new t_.IfcIndexedPolygonalFace(e,t[0])},2294589976:function(e,t){return new t_.IfcIndexedPolygonalFaceWithVoids(e,t[0],t[1])},3465909080:function(e,t){return new t_.IfcIndexedPolygonalTextureMap(e,t[0],t[1],t[2],t[3])},572779678:function(e,t){return new t_.IfcLShapeProfileDef(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},428585644:function(e,t){return new t_.IfcLaborResourceType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11])},1281925730:function(e,t){return new t_.IfcLine(e,t[0],t[1])},1425443689:function(e,t){return new t_.IfcManifoldSolidBrep(e,t[0])},3888040117:function(e,t){return new t_.IfcObject(e,t[0],t[1],t[2],t[3],t[4])},590820931:function(e,t){return new t_.IfcOffsetCurve(e,t[0])},3388369263:function(e,t){return new t_.IfcOffsetCurve2D(e,t[0],t[1],t[2])},3505215534:function(e,t){return new t_.IfcOffsetCurve3D(e,t[0],t[1],t[2],t[3])},2485787929:function(e,t){return new t_.IfcOffsetCurveByDistances(e,t[0],t[1],t[2])},1682466193:function(e,t){return new t_.IfcPcurve(e,t[0],t[1])},603570806:function(e,t){return new t_.IfcPlanarBox(e,t[0],t[1],t[2])},220341763:function(e,t){return new t_.IfcPlane(e,t[0])},3381221214:function(e,t){return new t_.IfcPolynomialCurve(e,t[0],t[1],t[2],t[3])},759155922:function(e,t){return new t_.IfcPreDefinedColour(e,t[0])},2559016684:function(e,t){return new t_.IfcPreDefinedCurveFont(e,t[0])},3967405729:function(e,t){return new t_.IfcPreDefinedPropertySet(e,t[0],t[1],t[2],t[3])},569719735:function(e,t){return new t_.IfcProcedureType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},2945172077:function(e,t){return new t_.IfcProcess(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6])},4208778838:function(e,t){return new t_.IfcProduct(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6])},103090709:function(e,t){return new t_.IfcProject(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},653396225:function(e,t){return new t_.IfcProjectLibrary(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},871118103:function(e,t){return new t_.IfcPropertyBoundedValue(e,t[0],t[1],t[2],t[3],t[4],t[5])},4166981789:function(e,t){return new t_.IfcPropertyEnumeratedValue(e,t[0],t[1],t[2],t[3])},2752243245:function(e,t){return new t_.IfcPropertyListValue(e,t[0],t[1],t[2],t[3])},941946838:function(e,t){return new t_.IfcPropertyReferenceValue(e,t[0],t[1],t[2],t[3])},1451395588:function(e,t){return new t_.IfcPropertySet(e,t[0],t[1],t[2],t[3],t[4])},492091185:function(e,t){return new t_.IfcPropertySetTemplate(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6])},3650150729:function(e,t){return new t_.IfcPropertySingleValue(e,t[0],t[1],t[2],t[3])},110355661:function(e,t){return new t_.IfcPropertyTableValue(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},3521284610:function(e,t){return new t_.IfcPropertyTemplate(e,t[0],t[1],t[2],t[3])},2770003689:function(e,t){return new t_.IfcRectangleHollowProfileDef(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},2798486643:function(e,t){return new t_.IfcRectangularPyramid(e,t[0],t[1],t[2],t[3])},3454111270:function(e,t){return new t_.IfcRectangularTrimmedSurface(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6])},3765753017:function(e,t){return new t_.IfcReinforcementDefinitionProperties(e,t[0],t[1],t[2],t[3],t[4],t[5])},3939117080:function(e,t){return new t_.IfcRelAssigns(e,t[0],t[1],t[2],t[3],t[4],t[5])},1683148259:function(e,t){return new t_.IfcRelAssignsToActor(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},2495723537:function(e,t){return new t_.IfcRelAssignsToControl(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6])},1307041759:function(e,t){return new t_.IfcRelAssignsToGroup(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6])},1027710054:function(e,t){return new t_.IfcRelAssignsToGroupByFactor(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},4278684876:function(e,t){return new t_.IfcRelAssignsToProcess(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},2857406711:function(e,t){return new t_.IfcRelAssignsToProduct(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6])},205026976:function(e,t){return new t_.IfcRelAssignsToResource(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6])},1865459582:function(e,t){return new t_.IfcRelAssociates(e,t[0],t[1],t[2],t[3],t[4])},4095574036:function(e,t){return new t_.IfcRelAssociatesApproval(e,t[0],t[1],t[2],t[3],t[4],t[5])},919958153:function(e,t){return new t_.IfcRelAssociatesClassification(e,t[0],t[1],t[2],t[3],t[4],t[5])},2728634034:function(e,t){return new t_.IfcRelAssociatesConstraint(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6])},982818633:function(e,t){return new t_.IfcRelAssociatesDocument(e,t[0],t[1],t[2],t[3],t[4],t[5])},3840914261:function(e,t){return new t_.IfcRelAssociatesLibrary(e,t[0],t[1],t[2],t[3],t[4],t[5])},2655215786:function(e,t){return new t_.IfcRelAssociatesMaterial(e,t[0],t[1],t[2],t[3],t[4],t[5])},1033248425:function(e,t){return new t_.IfcRelAssociatesProfileDef(e,t[0],t[1],t[2],t[3],t[4],t[5])},826625072:function(e,t){return new t_.IfcRelConnects(e,t[0],t[1],t[2],t[3])},1204542856:function(e,t){return new t_.IfcRelConnectsElements(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6])},3945020480:function(e,t){return new t_.IfcRelConnectsPathElements(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10])},4201705270:function(e,t){return new t_.IfcRelConnectsPortToElement(e,t[0],t[1],t[2],t[3],t[4],t[5])},3190031847:function(e,t){return new t_.IfcRelConnectsPorts(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6])},2127690289:function(e,t){return new t_.IfcRelConnectsStructuralActivity(e,t[0],t[1],t[2],t[3],t[4],t[5])},1638771189:function(e,t){return new t_.IfcRelConnectsStructuralMember(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},504942748:function(e,t){return new t_.IfcRelConnectsWithEccentricity(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10])},3678494232:function(e,t){return new t_.IfcRelConnectsWithRealizingElements(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},3242617779:function(e,t){return new t_.IfcRelContainedInSpatialStructure(e,t[0],t[1],t[2],t[3],t[4],t[5])},886880790:function(e,t){return new t_.IfcRelCoversBldgElements(e,t[0],t[1],t[2],t[3],t[4],t[5])},2802773753:function(e,t){return new t_.IfcRelCoversSpaces(e,t[0],t[1],t[2],t[3],t[4],t[5])},2565941209:function(e,t){return new t_.IfcRelDeclares(e,t[0],t[1],t[2],t[3],t[4],t[5])},2551354335:function(e,t){return new t_.IfcRelDecomposes(e,t[0],t[1],t[2],t[3])},693640335:function(e,t){return new t_.IfcRelDefines(e,t[0],t[1],t[2],t[3])},1462361463:function(e,t){return new t_.IfcRelDefinesByObject(e,t[0],t[1],t[2],t[3],t[4],t[5])},4186316022:function(e,t){return new t_.IfcRelDefinesByProperties(e,t[0],t[1],t[2],t[3],t[4],t[5])},307848117:function(e,t){return new t_.IfcRelDefinesByTemplate(e,t[0],t[1],t[2],t[3],t[4],t[5])},781010003:function(e,t){return new t_.IfcRelDefinesByType(e,t[0],t[1],t[2],t[3],t[4],t[5])},3940055652:function(e,t){return new t_.IfcRelFillsElement(e,t[0],t[1],t[2],t[3],t[4],t[5])},279856033:function(e,t){return new t_.IfcRelFlowControlElements(e,t[0],t[1],t[2],t[3],t[4],t[5])},427948657:function(e,t){return new t_.IfcRelInterferesElements(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},3268803585:function(e,t){return new t_.IfcRelNests(e,t[0],t[1],t[2],t[3],t[4],t[5])},1441486842:function(e,t){return new t_.IfcRelPositions(e,t[0],t[1],t[2],t[3],t[4],t[5])},750771296:function(e,t){return new t_.IfcRelProjectsElement(e,t[0],t[1],t[2],t[3],t[4],t[5])},1245217292:function(e,t){return new t_.IfcRelReferencedInSpatialStructure(e,t[0],t[1],t[2],t[3],t[4],t[5])},4122056220:function(e,t){return new t_.IfcRelSequence(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},366585022:function(e,t){return new t_.IfcRelServicesBuildings(e,t[0],t[1],t[2],t[3],t[4],t[5])},3451746338:function(e,t){return new t_.IfcRelSpaceBoundary(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},3523091289:function(e,t){return new t_.IfcRelSpaceBoundary1stLevel(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},1521410863:function(e,t){return new t_.IfcRelSpaceBoundary2ndLevel(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10])},1401173127:function(e,t){return new t_.IfcRelVoidsElement(e,t[0],t[1],t[2],t[3],t[4],t[5])},816062949:function(e,t){return new t_.IfcReparametrisedCompositeCurveSegment(e,t[0],t[1],t[2],t[3])},2914609552:function(e,t){return new t_.IfcResource(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6])},1856042241:function(e,t){return new t_.IfcRevolvedAreaSolid(e,t[0],t[1],t[2],t[3])},3243963512:function(e,t){return new t_.IfcRevolvedAreaSolidTapered(e,t[0],t[1],t[2],t[3],t[4])},4158566097:function(e,t){return new t_.IfcRightCircularCone(e,t[0],t[1],t[2])},3626867408:function(e,t){return new t_.IfcRightCircularCylinder(e,t[0],t[1],t[2])},1862484736:function(e,t){return new t_.IfcSectionedSolid(e,t[0],t[1])},1290935644:function(e,t){return new t_.IfcSectionedSolidHorizontal(e,t[0],t[1],t[2])},1356537516:function(e,t){return new t_.IfcSectionedSurface(e,t[0],t[1],t[2])},3663146110:function(e,t){return new t_.IfcSimplePropertyTemplate(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11])},1412071761:function(e,t){return new t_.IfcSpatialElement(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},710998568:function(e,t){return new t_.IfcSpatialElementType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},2706606064:function(e,t){return new t_.IfcSpatialStructureElement(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},3893378262:function(e,t){return new t_.IfcSpatialStructureElementType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},463610769:function(e,t){return new t_.IfcSpatialZone(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},2481509218:function(e,t){return new t_.IfcSpatialZoneType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10])},451544542:function(e,t){return new t_.IfcSphere(e,t[0],t[1])},4015995234:function(e,t){return new t_.IfcSphericalSurface(e,t[0],t[1])},2735484536:function(e,t){return new t_.IfcSpiral(e,t[0])},3544373492:function(e,t){return new t_.IfcStructuralActivity(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},3136571912:function(e,t){return new t_.IfcStructuralItem(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6])},530289379:function(e,t){return new t_.IfcStructuralMember(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6])},3689010777:function(e,t){return new t_.IfcStructuralReaction(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},3979015343:function(e,t){return new t_.IfcStructuralSurfaceMember(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},2218152070:function(e,t){return new t_.IfcStructuralSurfaceMemberVarying(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},603775116:function(e,t){return new t_.IfcStructuralSurfaceReaction(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},4095615324:function(e,t){return new t_.IfcSubContractResourceType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11])},699246055:function(e,t){return new t_.IfcSurfaceCurve(e,t[0],t[1],t[2])},2028607225:function(e,t){return new t_.IfcSurfaceCurveSweptAreaSolid(e,t[0],t[1],t[2],t[3],t[4],t[5])},2809605785:function(e,t){return new t_.IfcSurfaceOfLinearExtrusion(e,t[0],t[1],t[2],t[3])},4124788165:function(e,t){return new t_.IfcSurfaceOfRevolution(e,t[0],t[1],t[2])},1580310250:function(e,t){return new t_.IfcSystemFurnitureElementType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},3473067441:function(e,t){return new t_.IfcTask(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12])},3206491090:function(e,t){return new t_.IfcTaskType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10])},2387106220:function(e,t){return new t_.IfcTessellatedFaceSet(e,t[0],t[1])},782932809:function(e,t){return new t_.IfcThirdOrderPolynomialSpiral(e,t[0],t[1],t[2],t[3],t[4])},1935646853:function(e,t){return new t_.IfcToroidalSurface(e,t[0],t[1],t[2])},3665877780:function(e,t){return new t_.IfcTransportationDeviceType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},2916149573:function(e,t){return new t_.IfcTriangulatedFaceSet(e,t[0],t[1],t[2],t[3],t[4])},1229763772:function(e,t){return new t_.IfcTriangulatedIrregularNetwork(e,t[0],t[1],t[2],t[3],t[4],t[5])},3651464721:function(e,t){return new t_.IfcVehicleType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},336235671:function(e,t){return new t_.IfcWindowLiningProperties(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12],t[13],t[14],t[15])},512836454:function(e,t){return new t_.IfcWindowPanelProperties(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},2296667514:function(e,t){return new t_.IfcActor(e,t[0],t[1],t[2],t[3],t[4],t[5])},1635779807:function(e,t){return new t_.IfcAdvancedBrep(e,t[0])},2603310189:function(e,t){return new t_.IfcAdvancedBrepWithVoids(e,t[0],t[1])},1674181508:function(e,t){return new t_.IfcAnnotation(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},2887950389:function(e,t){return new t_.IfcBSplineSurface(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6])},167062518:function(e,t){return new t_.IfcBSplineSurfaceWithKnots(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11])},1334484129:function(e,t){return new t_.IfcBlock(e,t[0],t[1],t[2],t[3])},3649129432:function(e,t){return new t_.IfcBooleanClippingResult(e,t[0],t[1],t[2])},1260505505:function(e,t){return new t_.IfcBoundedCurve(e)},3124254112:function(e,t){return new t_.IfcBuildingStorey(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},1626504194:function(e,t){return new t_.IfcBuiltElementType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},2197970202:function(e,t){return new t_.IfcChimneyType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},2937912522:function(e,t){return new t_.IfcCircleHollowProfileDef(e,t[0],t[1],t[2],t[3],t[4])},3893394355:function(e,t){return new t_.IfcCivilElementType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},3497074424:function(e,t){return new t_.IfcClothoid(e,t[0],t[1])},300633059:function(e,t){return new t_.IfcColumnType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},3875453745:function(e,t){return new t_.IfcComplexPropertyTemplate(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6])},3732776249:function(e,t){return new t_.IfcCompositeCurve(e,t[0],t[1])},15328376:function(e,t){return new t_.IfcCompositeCurveOnSurface(e,t[0],t[1])},2510884976:function(e,t){return new t_.IfcConic(e,t[0])},2185764099:function(e,t){return new t_.IfcConstructionEquipmentResourceType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11])},4105962743:function(e,t){return new t_.IfcConstructionMaterialResourceType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11])},1525564444:function(e,t){return new t_.IfcConstructionProductResourceType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11])},2559216714:function(e,t){return new t_.IfcConstructionResource(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},3293443760:function(e,t){return new t_.IfcControl(e,t[0],t[1],t[2],t[3],t[4],t[5])},2000195564:function(e,t){return new t_.IfcCosineSpiral(e,t[0],t[1],t[2])},3895139033:function(e,t){return new t_.IfcCostItem(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},1419761937:function(e,t){return new t_.IfcCostSchedule(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},4189326743:function(e,t){return new t_.IfcCourseType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},1916426348:function(e,t){return new t_.IfcCoveringType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},3295246426:function(e,t){return new t_.IfcCrewResource(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10])},1457835157:function(e,t){return new t_.IfcCurtainWallType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},1213902940:function(e,t){return new t_.IfcCylindricalSurface(e,t[0],t[1])},1306400036:function(e,t){return new t_.IfcDeepFoundationType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},4234616927:function(e,t){return new t_.IfcDirectrixDerivedReferenceSweptAreaSolid(e,t[0],t[1],t[2],t[3],t[4],t[5])},3256556792:function(e,t){return new t_.IfcDistributionElementType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},3849074793:function(e,t){return new t_.IfcDistributionFlowElementType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},2963535650:function(e,t){return new t_.IfcDoorLiningProperties(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12],t[13],t[14],t[15],t[16])},1714330368:function(e,t){return new t_.IfcDoorPanelProperties(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},2323601079:function(e,t){return new t_.IfcDoorType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12])},445594917:function(e,t){return new t_.IfcDraughtingPreDefinedColour(e,t[0])},4006246654:function(e,t){return new t_.IfcDraughtingPreDefinedCurveFont(e,t[0])},1758889154:function(e,t){return new t_.IfcElement(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},4123344466:function(e,t){return new t_.IfcElementAssembly(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},2397081782:function(e,t){return new t_.IfcElementAssemblyType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},1623761950:function(e,t){return new t_.IfcElementComponent(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},2590856083:function(e,t){return new t_.IfcElementComponentType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},1704287377:function(e,t){return new t_.IfcEllipse(e,t[0],t[1],t[2])},2107101300:function(e,t){return new t_.IfcEnergyConversionDeviceType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},132023988:function(e,t){return new t_.IfcEngineType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},3174744832:function(e,t){return new t_.IfcEvaporativeCoolerType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},3390157468:function(e,t){return new t_.IfcEvaporatorType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},4148101412:function(e,t){return new t_.IfcEvent(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10])},2853485674:function(e,t){return new t_.IfcExternalSpatialStructureElement(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},807026263:function(e,t){return new t_.IfcFacetedBrep(e,t[0])},3737207727:function(e,t){return new t_.IfcFacetedBrepWithVoids(e,t[0],t[1])},24185140:function(e,t){return new t_.IfcFacility(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},1310830890:function(e,t){return new t_.IfcFacilityPart(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},4228831410:function(e,t){return new t_.IfcFacilityPartCommon(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10])},647756555:function(e,t){return new t_.IfcFastener(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},2489546625:function(e,t){return new t_.IfcFastenerType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},2827207264:function(e,t){return new t_.IfcFeatureElement(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},2143335405:function(e,t){return new t_.IfcFeatureElementAddition(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},1287392070:function(e,t){return new t_.IfcFeatureElementSubtraction(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},3907093117:function(e,t){return new t_.IfcFlowControllerType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},3198132628:function(e,t){return new t_.IfcFlowFittingType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},3815607619:function(e,t){return new t_.IfcFlowMeterType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},1482959167:function(e,t){return new t_.IfcFlowMovingDeviceType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},1834744321:function(e,t){return new t_.IfcFlowSegmentType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},1339347760:function(e,t){return new t_.IfcFlowStorageDeviceType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},2297155007:function(e,t){return new t_.IfcFlowTerminalType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},3009222698:function(e,t){return new t_.IfcFlowTreatmentDeviceType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},1893162501:function(e,t){return new t_.IfcFootingType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},263784265:function(e,t){return new t_.IfcFurnishingElement(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},1509553395:function(e,t){return new t_.IfcFurniture(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},3493046030:function(e,t){return new t_.IfcGeographicElement(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},4230923436:function(e,t){return new t_.IfcGeotechnicalElement(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},1594536857:function(e,t){return new t_.IfcGeotechnicalStratum(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},2898700619:function(e,t){return new t_.IfcGradientCurve(e,t[0],t[1],t[2],t[3])},2706460486:function(e,t){return new t_.IfcGroup(e,t[0],t[1],t[2],t[3],t[4])},1251058090:function(e,t){return new t_.IfcHeatExchangerType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},1806887404:function(e,t){return new t_.IfcHumidifierType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},2568555532:function(e,t){return new t_.IfcImpactProtectionDevice(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},3948183225:function(e,t){return new t_.IfcImpactProtectionDeviceType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},2571569899:function(e,t){return new t_.IfcIndexedPolyCurve(e,t[0],t[1],t[2])},3946677679:function(e,t){return new t_.IfcInterceptorType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},3113134337:function(e,t){return new t_.IfcIntersectionCurve(e,t[0],t[1],t[2])},2391368822:function(e,t){return new t_.IfcInventory(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10])},4288270099:function(e,t){return new t_.IfcJunctionBoxType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},679976338:function(e,t){return new t_.IfcKerbType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},3827777499:function(e,t){return new t_.IfcLaborResource(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10])},1051575348:function(e,t){return new t_.IfcLampType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},1161773419:function(e,t){return new t_.IfcLightFixtureType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},2176059722:function(e,t){return new t_.IfcLinearElement(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6])},1770583370:function(e,t){return new t_.IfcLiquidTerminalType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},525669439:function(e,t){return new t_.IfcMarineFacility(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},976884017:function(e,t){return new t_.IfcMarinePart(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10])},377706215:function(e,t){return new t_.IfcMechanicalFastener(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10])},2108223431:function(e,t){return new t_.IfcMechanicalFastenerType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11])},1114901282:function(e,t){return new t_.IfcMedicalDeviceType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},3181161470:function(e,t){return new t_.IfcMemberType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},1950438474:function(e,t){return new t_.IfcMobileTelecommunicationsApplianceType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},710110818:function(e,t){return new t_.IfcMooringDeviceType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},977012517:function(e,t){return new t_.IfcMotorConnectionType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},506776471:function(e,t){return new t_.IfcNavigationElementType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},4143007308:function(e,t){return new t_.IfcOccupant(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6])},3588315303:function(e,t){return new t_.IfcOpeningElement(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},2837617999:function(e,t){return new t_.IfcOutletType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},514975943:function(e,t){return new t_.IfcPavementType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},2382730787:function(e,t){return new t_.IfcPerformanceHistory(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},3566463478:function(e,t){return new t_.IfcPermeableCoveringProperties(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},3327091369:function(e,t){return new t_.IfcPermit(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},1158309216:function(e,t){return new t_.IfcPileType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},804291784:function(e,t){return new t_.IfcPipeFittingType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},4231323485:function(e,t){return new t_.IfcPipeSegmentType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},4017108033:function(e,t){return new t_.IfcPlateType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},2839578677:function(e,t){return new t_.IfcPolygonalFaceSet(e,t[0],t[1],t[2],t[3])},3724593414:function(e,t){return new t_.IfcPolyline(e,t[0])},3740093272:function(e,t){return new t_.IfcPort(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6])},1946335990:function(e,t){return new t_.IfcPositioningElement(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6])},2744685151:function(e,t){return new t_.IfcProcedure(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},2904328755:function(e,t){return new t_.IfcProjectOrder(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},3651124850:function(e,t){return new t_.IfcProjectionElement(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},1842657554:function(e,t){return new t_.IfcProtectiveDeviceType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},2250791053:function(e,t){return new t_.IfcPumpType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},1763565496:function(e,t){return new t_.IfcRailType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},2893384427:function(e,t){return new t_.IfcRailingType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},3992365140:function(e,t){return new t_.IfcRailway(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},1891881377:function(e,t){return new t_.IfcRailwayPart(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10])},2324767716:function(e,t){return new t_.IfcRampFlightType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},1469900589:function(e,t){return new t_.IfcRampType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},683857671:function(e,t){return new t_.IfcRationalBSplineSurfaceWithKnots(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12])},4021432810:function(e,t){return new t_.IfcReferent(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},3027567501:function(e,t){return new t_.IfcReinforcingElement(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},964333572:function(e,t){return new t_.IfcReinforcingElementType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},2320036040:function(e,t){return new t_.IfcReinforcingMesh(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12],t[13],t[14],t[15],t[16],t[17])},2310774935:function(e,t){return new t_.IfcReinforcingMeshType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12],t[13],t[14],t[15],t[16],t[17],t[18],t[19])},3818125796:function(e,t){return new t_.IfcRelAdheresToElement(e,t[0],t[1],t[2],t[3],t[4],t[5])},160246688:function(e,t){return new t_.IfcRelAggregates(e,t[0],t[1],t[2],t[3],t[4],t[5])},146592293:function(e,t){return new t_.IfcRoad(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},550521510:function(e,t){return new t_.IfcRoadPart(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10])},2781568857:function(e,t){return new t_.IfcRoofType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},1768891740:function(e,t){return new t_.IfcSanitaryTerminalType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},2157484638:function(e,t){return new t_.IfcSeamCurve(e,t[0],t[1],t[2])},3649235739:function(e,t){return new t_.IfcSecondOrderPolynomialSpiral(e,t[0],t[1],t[2],t[3])},544395925:function(e,t){return new t_.IfcSegmentedReferenceCurve(e,t[0],t[1],t[2],t[3])},1027922057:function(e,t){return new t_.IfcSeventhOrderPolynomialSpiral(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},4074543187:function(e,t){return new t_.IfcShadingDeviceType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},33720170:function(e,t){return new t_.IfcSign(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},3599934289:function(e,t){return new t_.IfcSignType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},1894708472:function(e,t){return new t_.IfcSignalType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},42703149:function(e,t){return new t_.IfcSineSpiral(e,t[0],t[1],t[2],t[3])},4097777520:function(e,t){return new t_.IfcSite(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12],t[13])},2533589738:function(e,t){return new t_.IfcSlabType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},1072016465:function(e,t){return new t_.IfcSolarDeviceType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},3856911033:function(e,t){return new t_.IfcSpace(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10])},1305183839:function(e,t){return new t_.IfcSpaceHeaterType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},3812236995:function(e,t){return new t_.IfcSpaceType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10])},3112655638:function(e,t){return new t_.IfcStackTerminalType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},1039846685:function(e,t){return new t_.IfcStairFlightType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},338393293:function(e,t){return new t_.IfcStairType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},682877961:function(e,t){return new t_.IfcStructuralAction(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},1179482911:function(e,t){return new t_.IfcStructuralConnection(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},1004757350:function(e,t){return new t_.IfcStructuralCurveAction(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11])},4243806635:function(e,t){return new t_.IfcStructuralCurveConnection(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},214636428:function(e,t){return new t_.IfcStructuralCurveMember(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},2445595289:function(e,t){return new t_.IfcStructuralCurveMemberVarying(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},2757150158:function(e,t){return new t_.IfcStructuralCurveReaction(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},1807405624:function(e,t){return new t_.IfcStructuralLinearAction(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11])},1252848954:function(e,t){return new t_.IfcStructuralLoadGroup(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},2082059205:function(e,t){return new t_.IfcStructuralPointAction(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},734778138:function(e,t){return new t_.IfcStructuralPointConnection(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},1235345126:function(e,t){return new t_.IfcStructuralPointReaction(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},2986769608:function(e,t){return new t_.IfcStructuralResultGroup(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},3657597509:function(e,t){return new t_.IfcStructuralSurfaceAction(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11])},1975003073:function(e,t){return new t_.IfcStructuralSurfaceConnection(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},148013059:function(e,t){return new t_.IfcSubContractResource(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10])},3101698114:function(e,t){return new t_.IfcSurfaceFeature(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},2315554128:function(e,t){return new t_.IfcSwitchingDeviceType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},2254336722:function(e,t){return new t_.IfcSystem(e,t[0],t[1],t[2],t[3],t[4])},413509423:function(e,t){return new t_.IfcSystemFurnitureElement(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},5716631:function(e,t){return new t_.IfcTankType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},3824725483:function(e,t){return new t_.IfcTendon(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12],t[13],t[14],t[15],t[16])},2347447852:function(e,t){return new t_.IfcTendonAnchor(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},3081323446:function(e,t){return new t_.IfcTendonAnchorType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},3663046924:function(e,t){return new t_.IfcTendonConduit(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},2281632017:function(e,t){return new t_.IfcTendonConduitType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},2415094496:function(e,t){return new t_.IfcTendonType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12])},618700268:function(e,t){return new t_.IfcTrackElementType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},1692211062:function(e,t){return new t_.IfcTransformerType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},2097647324:function(e,t){return new t_.IfcTransportElementType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},1953115116:function(e,t){return new t_.IfcTransportationDevice(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},3593883385:function(e,t){return new t_.IfcTrimmedCurve(e,t[0],t[1],t[2],t[3],t[4])},1600972822:function(e,t){return new t_.IfcTubeBundleType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},1911125066:function(e,t){return new t_.IfcUnitaryEquipmentType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},728799441:function(e,t){return new t_.IfcValveType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},840318589:function(e,t){return new t_.IfcVehicle(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},1530820697:function(e,t){return new t_.IfcVibrationDamper(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},3956297820:function(e,t){return new t_.IfcVibrationDamperType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},2391383451:function(e,t){return new t_.IfcVibrationIsolator(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},3313531582:function(e,t){return new t_.IfcVibrationIsolatorType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},2769231204:function(e,t){return new t_.IfcVirtualElement(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},926996030:function(e,t){return new t_.IfcVoidingFeature(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},1898987631:function(e,t){return new t_.IfcWallType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},1133259667:function(e,t){return new t_.IfcWasteTerminalType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},4009809668:function(e,t){return new t_.IfcWindowType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12])},4088093105:function(e,t){return new t_.IfcWorkCalendar(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},1028945134:function(e,t){return new t_.IfcWorkControl(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12])},4218914973:function(e,t){return new t_.IfcWorkPlan(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12],t[13])},3342526732:function(e,t){return new t_.IfcWorkSchedule(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12],t[13])},1033361043:function(e,t){return new t_.IfcZone(e,t[0],t[1],t[2],t[3],t[4],t[5])},3821786052:function(e,t){return new t_.IfcActionRequest(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},1411407467:function(e,t){return new t_.IfcAirTerminalBoxType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},3352864051:function(e,t){return new t_.IfcAirTerminalType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},1871374353:function(e,t){return new t_.IfcAirToAirHeatRecoveryType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},4266260250:function(e,t){return new t_.IfcAlignmentCant(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},1545765605:function(e,t){return new t_.IfcAlignmentHorizontal(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6])},317615605:function(e,t){return new t_.IfcAlignmentSegment(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},1662888072:function(e,t){return new t_.IfcAlignmentVertical(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6])},3460190687:function(e,t){return new t_.IfcAsset(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12],t[13])},1532957894:function(e,t){return new t_.IfcAudioVisualApplianceType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},1967976161:function(e,t){return new t_.IfcBSplineCurve(e,t[0],t[1],t[2],t[3],t[4])},2461110595:function(e,t){return new t_.IfcBSplineCurveWithKnots(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},819618141:function(e,t){return new t_.IfcBeamType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},3649138523:function(e,t){return new t_.IfcBearingType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},231477066:function(e,t){return new t_.IfcBoilerType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},1136057603:function(e,t){return new t_.IfcBoundaryCurve(e,t[0],t[1])},644574406:function(e,t){return new t_.IfcBridge(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},963979645:function(e,t){return new t_.IfcBridgePart(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10])},4031249490:function(e,t){return new t_.IfcBuilding(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11])},2979338954:function(e,t){return new t_.IfcBuildingElementPart(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},39481116:function(e,t){return new t_.IfcBuildingElementPartType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},1909888760:function(e,t){return new t_.IfcBuildingElementProxyType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},1177604601:function(e,t){return new t_.IfcBuildingSystem(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6])},1876633798:function(e,t){return new t_.IfcBuiltElement(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},3862327254:function(e,t){return new t_.IfcBuiltSystem(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6])},2188180465:function(e,t){return new t_.IfcBurnerType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},395041908:function(e,t){return new t_.IfcCableCarrierFittingType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},3293546465:function(e,t){return new t_.IfcCableCarrierSegmentType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},2674252688:function(e,t){return new t_.IfcCableFittingType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},1285652485:function(e,t){return new t_.IfcCableSegmentType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},3203706013:function(e,t){return new t_.IfcCaissonFoundationType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},2951183804:function(e,t){return new t_.IfcChillerType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},3296154744:function(e,t){return new t_.IfcChimney(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},2611217952:function(e,t){return new t_.IfcCircle(e,t[0],t[1])},1677625105:function(e,t){return new t_.IfcCivilElement(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},2301859152:function(e,t){return new t_.IfcCoilType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},843113511:function(e,t){return new t_.IfcColumn(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},400855858:function(e,t){return new t_.IfcCommunicationsApplianceType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},3850581409:function(e,t){return new t_.IfcCompressorType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},2816379211:function(e,t){return new t_.IfcCondenserType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},3898045240:function(e,t){return new t_.IfcConstructionEquipmentResource(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10])},1060000209:function(e,t){return new t_.IfcConstructionMaterialResource(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10])},488727124:function(e,t){return new t_.IfcConstructionProductResource(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10])},2940368186:function(e,t){return new t_.IfcConveyorSegmentType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},335055490:function(e,t){return new t_.IfcCooledBeamType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},2954562838:function(e,t){return new t_.IfcCoolingTowerType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},1502416096:function(e,t){return new t_.IfcCourse(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},1973544240:function(e,t){return new t_.IfcCovering(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},3495092785:function(e,t){return new t_.IfcCurtainWall(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},3961806047:function(e,t){return new t_.IfcDamperType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},3426335179:function(e,t){return new t_.IfcDeepFoundation(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},1335981549:function(e,t){return new t_.IfcDiscreteAccessory(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},2635815018:function(e,t){return new t_.IfcDiscreteAccessoryType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},479945903:function(e,t){return new t_.IfcDistributionBoardType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},1599208980:function(e,t){return new t_.IfcDistributionChamberElementType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},2063403501:function(e,t){return new t_.IfcDistributionControlElementType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},1945004755:function(e,t){return new t_.IfcDistributionElement(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},3040386961:function(e,t){return new t_.IfcDistributionFlowElement(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},3041715199:function(e,t){return new t_.IfcDistributionPort(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},3205830791:function(e,t){return new t_.IfcDistributionSystem(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6])},395920057:function(e,t){return new t_.IfcDoor(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12])},869906466:function(e,t){return new t_.IfcDuctFittingType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},3760055223:function(e,t){return new t_.IfcDuctSegmentType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},2030761528:function(e,t){return new t_.IfcDuctSilencerType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},3071239417:function(e,t){return new t_.IfcEarthworksCut(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},1077100507:function(e,t){return new t_.IfcEarthworksElement(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},3376911765:function(e,t){return new t_.IfcEarthworksFill(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},663422040:function(e,t){return new t_.IfcElectricApplianceType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},2417008758:function(e,t){return new t_.IfcElectricDistributionBoardType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},3277789161:function(e,t){return new t_.IfcElectricFlowStorageDeviceType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},2142170206:function(e,t){return new t_.IfcElectricFlowTreatmentDeviceType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},1534661035:function(e,t){return new t_.IfcElectricGeneratorType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},1217240411:function(e,t){return new t_.IfcElectricMotorType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},712377611:function(e,t){return new t_.IfcElectricTimeControlType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},1658829314:function(e,t){return new t_.IfcEnergyConversionDevice(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},2814081492:function(e,t){return new t_.IfcEngine(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},3747195512:function(e,t){return new t_.IfcEvaporativeCooler(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},484807127:function(e,t){return new t_.IfcEvaporator(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},1209101575:function(e,t){return new t_.IfcExternalSpatialElement(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},346874300:function(e,t){return new t_.IfcFanType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},1810631287:function(e,t){return new t_.IfcFilterType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},4222183408:function(e,t){return new t_.IfcFireSuppressionTerminalType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},2058353004:function(e,t){return new t_.IfcFlowController(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},4278956645:function(e,t){return new t_.IfcFlowFitting(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},4037862832:function(e,t){return new t_.IfcFlowInstrumentType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},2188021234:function(e,t){return new t_.IfcFlowMeter(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},3132237377:function(e,t){return new t_.IfcFlowMovingDevice(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},987401354:function(e,t){return new t_.IfcFlowSegment(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},707683696:function(e,t){return new t_.IfcFlowStorageDevice(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},2223149337:function(e,t){return new t_.IfcFlowTerminal(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},3508470533:function(e,t){return new t_.IfcFlowTreatmentDevice(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},900683007:function(e,t){return new t_.IfcFooting(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},2713699986:function(e,t){return new t_.IfcGeotechnicalAssembly(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},3009204131:function(e,t){return new t_.IfcGrid(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10])},3319311131:function(e,t){return new t_.IfcHeatExchanger(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},2068733104:function(e,t){return new t_.IfcHumidifier(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},4175244083:function(e,t){return new t_.IfcInterceptor(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},2176052936:function(e,t){return new t_.IfcJunctionBox(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},2696325953:function(e,t){return new t_.IfcKerb(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},76236018:function(e,t){return new t_.IfcLamp(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},629592764:function(e,t){return new t_.IfcLightFixture(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},1154579445:function(e,t){return new t_.IfcLinearPositioningElement(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6])},1638804497:function(e,t){return new t_.IfcLiquidTerminal(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},1437502449:function(e,t){return new t_.IfcMedicalDevice(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},1073191201:function(e,t){return new t_.IfcMember(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},2078563270:function(e,t){return new t_.IfcMobileTelecommunicationsAppliance(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},234836483:function(e,t){return new t_.IfcMooringDevice(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},2474470126:function(e,t){return new t_.IfcMotorConnection(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},2182337498:function(e,t){return new t_.IfcNavigationElement(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},144952367:function(e,t){return new t_.IfcOuterBoundaryCurve(e,t[0],t[1])},3694346114:function(e,t){return new t_.IfcOutlet(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},1383356374:function(e,t){return new t_.IfcPavement(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},1687234759:function(e,t){return new t_.IfcPile(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},310824031:function(e,t){return new t_.IfcPipeFitting(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},3612865200:function(e,t){return new t_.IfcPipeSegment(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},3171933400:function(e,t){return new t_.IfcPlate(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},738039164:function(e,t){return new t_.IfcProtectiveDevice(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},655969474:function(e,t){return new t_.IfcProtectiveDeviceTrippingUnitType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},90941305:function(e,t){return new t_.IfcPump(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},3290496277:function(e,t){return new t_.IfcRail(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},2262370178:function(e,t){return new t_.IfcRailing(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},3024970846:function(e,t){return new t_.IfcRamp(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},3283111854:function(e,t){return new t_.IfcRampFlight(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},1232101972:function(e,t){return new t_.IfcRationalBSplineCurveWithKnots(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},3798194928:function(e,t){return new t_.IfcReinforcedSoil(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},979691226:function(e,t){return new t_.IfcReinforcingBar(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12],t[13])},2572171363:function(e,t){return new t_.IfcReinforcingBarType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12],t[13],t[14],t[15])},2016517767:function(e,t){return new t_.IfcRoof(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},3053780830:function(e,t){return new t_.IfcSanitaryTerminal(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},1783015770:function(e,t){return new t_.IfcSensorType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},1329646415:function(e,t){return new t_.IfcShadingDevice(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},991950508:function(e,t){return new t_.IfcSignal(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},1529196076:function(e,t){return new t_.IfcSlab(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},3420628829:function(e,t){return new t_.IfcSolarDevice(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},1999602285:function(e,t){return new t_.IfcSpaceHeater(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},1404847402:function(e,t){return new t_.IfcStackTerminal(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},331165859:function(e,t){return new t_.IfcStair(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},4252922144:function(e,t){return new t_.IfcStairFlight(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12])},2515109513:function(e,t){return new t_.IfcStructuralAnalysisModel(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},385403989:function(e,t){return new t_.IfcStructuralLoadCase(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10])},1621171031:function(e,t){return new t_.IfcStructuralPlanarAction(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11])},1162798199:function(e,t){return new t_.IfcSwitchingDevice(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},812556717:function(e,t){return new t_.IfcTank(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},3425753595:function(e,t){return new t_.IfcTrackElement(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},3825984169:function(e,t){return new t_.IfcTransformer(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},1620046519:function(e,t){return new t_.IfcTransportElement(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},3026737570:function(e,t){return new t_.IfcTubeBundle(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},3179687236:function(e,t){return new t_.IfcUnitaryControlElementType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},4292641817:function(e,t){return new t_.IfcUnitaryEquipment(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},4207607924:function(e,t){return new t_.IfcValve(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},2391406946:function(e,t){return new t_.IfcWall(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},3512223829:function(e,t){return new t_.IfcWallStandardCase(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},4237592921:function(e,t){return new t_.IfcWasteTerminal(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},3304561284:function(e,t){return new t_.IfcWindow(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12])},2874132201:function(e,t){return new t_.IfcActuatorType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},1634111441:function(e,t){return new t_.IfcAirTerminal(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},177149247:function(e,t){return new t_.IfcAirTerminalBox(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},2056796094:function(e,t){return new t_.IfcAirToAirHeatRecovery(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},3001207471:function(e,t){return new t_.IfcAlarmType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},325726236:function(e,t){return new t_.IfcAlignment(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},277319702:function(e,t){return new t_.IfcAudioVisualAppliance(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},753842376:function(e,t){return new t_.IfcBeam(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},4196446775:function(e,t){return new t_.IfcBearing(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},32344328:function(e,t){return new t_.IfcBoiler(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},3314249567:function(e,t){return new t_.IfcBorehole(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},1095909175:function(e,t){return new t_.IfcBuildingElementProxy(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},2938176219:function(e,t){return new t_.IfcBurner(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},635142910:function(e,t){return new t_.IfcCableCarrierFitting(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},3758799889:function(e,t){return new t_.IfcCableCarrierSegment(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},1051757585:function(e,t){return new t_.IfcCableFitting(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},4217484030:function(e,t){return new t_.IfcCableSegment(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},3999819293:function(e,t){return new t_.IfcCaissonFoundation(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},3902619387:function(e,t){return new t_.IfcChiller(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},639361253:function(e,t){return new t_.IfcCoil(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},3221913625:function(e,t){return new t_.IfcCommunicationsAppliance(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},3571504051:function(e,t){return new t_.IfcCompressor(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},2272882330:function(e,t){return new t_.IfcCondenser(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},578613899:function(e,t){return new t_.IfcControllerType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},3460952963:function(e,t){return new t_.IfcConveyorSegment(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},4136498852:function(e,t){return new t_.IfcCooledBeam(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},3640358203:function(e,t){return new t_.IfcCoolingTower(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},4074379575:function(e,t){return new t_.IfcDamper(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},3693000487:function(e,t){return new t_.IfcDistributionBoard(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},1052013943:function(e,t){return new t_.IfcDistributionChamberElement(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},562808652:function(e,t){return new t_.IfcDistributionCircuit(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6])},1062813311:function(e,t){return new t_.IfcDistributionControlElement(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},342316401:function(e,t){return new t_.IfcDuctFitting(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},3518393246:function(e,t){return new t_.IfcDuctSegment(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},1360408905:function(e,t){return new t_.IfcDuctSilencer(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},1904799276:function(e,t){return new t_.IfcElectricAppliance(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},862014818:function(e,t){return new t_.IfcElectricDistributionBoard(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},3310460725:function(e,t){return new t_.IfcElectricFlowStorageDevice(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},24726584:function(e,t){return new t_.IfcElectricFlowTreatmentDevice(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},264262732:function(e,t){return new t_.IfcElectricGenerator(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},402227799:function(e,t){return new t_.IfcElectricMotor(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},1003880860:function(e,t){return new t_.IfcElectricTimeControl(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},3415622556:function(e,t){return new t_.IfcFan(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},819412036:function(e,t){return new t_.IfcFilter(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},1426591983:function(e,t){return new t_.IfcFireSuppressionTerminal(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},182646315:function(e,t){return new t_.IfcFlowInstrument(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},2680139844:function(e,t){return new t_.IfcGeomodel(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},1971632696:function(e,t){return new t_.IfcGeoslice(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},2295281155:function(e,t){return new t_.IfcProtectiveDeviceTrippingUnit(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},4086658281:function(e,t){return new t_.IfcSensor(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},630975310:function(e,t){return new t_.IfcUnitaryControlElement(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},4288193352:function(e,t){return new t_.IfcActuator(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},3087945054:function(e,t){return new t_.IfcAlarm(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},25142252:function(e,t){return new t_.IfcController(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])}},Q_[3]={3630933823:function(e){return[e.Role,e.UserDefinedRole,e.Description]},618182010:function(e){return[e.Purpose,e.Description,e.UserDefinedPurpose]},2879124712:function(e){return[e.StartTag,e.EndTag]},3633395639:function(e){return[e.StartTag,e.EndTag,e.StartDistAlong,e.HorizontalLength,e.StartHeight,e.StartGradient,e.EndGradient,e.RadiusOfCurvature,e.PredefinedType]},639542469:function(e){return[e.ApplicationDeveloper,e.Version,e.ApplicationFullName,e.ApplicationIdentifier]},411424972:function(e){return[e.Name,e.Description,e.AppliedValue,e.UnitBasis,e.ApplicableDate,e.FixedUntilDate,e.Category,e.Condition,e.ArithmeticOperator,e.Components]},130549933:function(e){return[e.Identifier,e.Name,e.Description,e.TimeOfApproval,e.Status,e.Level,e.Qualifier,e.RequestingApproval,e.GivingApproval]},4037036970:function(e){return[e.Name]},1560379544:function(e){return[e.Name,e.TranslationalStiffnessByLengthX?Y_(e.TranslationalStiffnessByLengthX):null,e.TranslationalStiffnessByLengthY?Y_(e.TranslationalStiffnessByLengthY):null,e.TranslationalStiffnessByLengthZ?Y_(e.TranslationalStiffnessByLengthZ):null,e.RotationalStiffnessByLengthX?Y_(e.RotationalStiffnessByLengthX):null,e.RotationalStiffnessByLengthY?Y_(e.RotationalStiffnessByLengthY):null,e.RotationalStiffnessByLengthZ?Y_(e.RotationalStiffnessByLengthZ):null]},3367102660:function(e){return[e.Name,e.TranslationalStiffnessByAreaX?Y_(e.TranslationalStiffnessByAreaX):null,e.TranslationalStiffnessByAreaY?Y_(e.TranslationalStiffnessByAreaY):null,e.TranslationalStiffnessByAreaZ?Y_(e.TranslationalStiffnessByAreaZ):null]},1387855156:function(e){return[e.Name,e.TranslationalStiffnessX?Y_(e.TranslationalStiffnessX):null,e.TranslationalStiffnessY?Y_(e.TranslationalStiffnessY):null,e.TranslationalStiffnessZ?Y_(e.TranslationalStiffnessZ):null,e.RotationalStiffnessX?Y_(e.RotationalStiffnessX):null,e.RotationalStiffnessY?Y_(e.RotationalStiffnessY):null,e.RotationalStiffnessZ?Y_(e.RotationalStiffnessZ):null]},2069777674:function(e){return[e.Name,e.TranslationalStiffnessX?Y_(e.TranslationalStiffnessX):null,e.TranslationalStiffnessY?Y_(e.TranslationalStiffnessY):null,e.TranslationalStiffnessZ?Y_(e.TranslationalStiffnessZ):null,e.RotationalStiffnessX?Y_(e.RotationalStiffnessX):null,e.RotationalStiffnessY?Y_(e.RotationalStiffnessY):null,e.RotationalStiffnessZ?Y_(e.RotationalStiffnessZ):null,e.WarpingStiffness?Y_(e.WarpingStiffness):null]},2859738748:function(e){return[]},2614616156:function(e){return[e.PointOnRelatingElement,e.PointOnRelatedElement]},2732653382:function(e){return[e.SurfaceOnRelatingElement,e.SurfaceOnRelatedElement]},775493141:function(e){return[e.VolumeOnRelatingElement,e.VolumeOnRelatedElement]},1959218052:function(e){return[e.Name,e.Description,e.ConstraintGrade,e.ConstraintSource,e.CreatingActor,e.CreationTime,e.UserDefinedGrade]},1785450214:function(e){return[e.SourceCRS,e.TargetCRS]},1466758467:function(e){return[e.Name,e.Description,e.GeodeticDatum,e.VerticalDatum]},602808272:function(e){return[e.Name,e.Description,e.AppliedValue,e.UnitBasis,e.ApplicableDate,e.FixedUntilDate,e.Category,e.Condition,e.ArithmeticOperator,e.Components]},1765591967:function(e){return[e.Elements,e.UnitType,e.UserDefinedType,e.Name]},1045800335:function(e){return[e.Unit,e.Exponent]},2949456006:function(e){return[e.LengthExponent,e.MassExponent,e.TimeExponent,e.ElectricCurrentExponent,e.ThermodynamicTemperatureExponent,e.AmountOfSubstanceExponent,e.LuminousIntensityExponent]},4294318154:function(e){return[]},3200245327:function(e){return[e.Location,e.Identification,e.Name]},2242383968:function(e){return[e.Location,e.Identification,e.Name]},1040185647:function(e){return[e.Location,e.Identification,e.Name]},3548104201:function(e){return[e.Location,e.Identification,e.Name]},852622518:function(e){var t;return[e.AxisTag,e.AxisCurve,null==(t=e.SameSense)?void 0:t.toString()]},3020489413:function(e){return[e.TimeStamp,e.ListValues.map((function(e){return Y_(e)}))]},2655187982:function(e){return[e.Name,e.Version,e.Publisher,e.VersionDate,e.Location,e.Description]},3452421091:function(e){return[e.Location,e.Identification,e.Name,e.Description,e.Language,e.ReferencedLibrary]},4162380809:function(e){return[e.MainPlaneAngle,e.SecondaryPlaneAngle,e.LuminousIntensity]},1566485204:function(e){return[e.LightDistributionCurve,e.DistributionData]},3057273783:function(e){return[e.SourceCRS,e.TargetCRS,e.Eastings,e.Northings,e.OrthogonalHeight,e.XAxisAbscissa,e.XAxisOrdinate,e.Scale,e.ScaleY,e.ScaleZ]},1847130766:function(e){return[e.MaterialClassifications,e.ClassifiedMaterial]},760658860:function(e){return[]},248100487:function(e){var t;return[e.Material,e.LayerThickness,null==(t=e.IsVentilated)?void 0:t.toString(),e.Name,e.Description,e.Category,e.Priority]},3303938423:function(e){return[e.MaterialLayers,e.LayerSetName,e.Description]},1847252529:function(e){var t;return[e.Material,e.LayerThickness,null==(t=e.IsVentilated)?void 0:t.toString(),e.Name,e.Description,e.Category,e.Priority,e.OffsetDirection,e.OffsetValues]},2199411900:function(e){return[e.Materials]},2235152071:function(e){return[e.Name,e.Description,e.Material,e.Profile,e.Priority,e.Category]},164193824:function(e){return[e.Name,e.Description,e.MaterialProfiles,e.CompositeProfile]},552965576:function(e){return[e.Name,e.Description,e.Material,e.Profile,e.Priority,e.Category,e.OffsetValues]},1507914824:function(e){return[]},2597039031:function(e){return[Y_(e.ValueComponent),e.UnitComponent]},3368373690:function(e){return[e.Name,e.Description,e.ConstraintGrade,e.ConstraintSource,e.CreatingActor,e.CreationTime,e.UserDefinedGrade,e.Benchmark,e.ValueSource,e.DataValue,e.ReferencePath]},2706619895:function(e){return[e.Currency]},1918398963:function(e){return[e.Dimensions,e.UnitType]},3701648758:function(e){return[e.PlacementRelTo]},2251480897:function(e){return[e.Name,e.Description,e.ConstraintGrade,e.ConstraintSource,e.CreatingActor,e.CreationTime,e.UserDefinedGrade,e.BenchmarkValues,e.LogicalAggregator,e.ObjectiveQualifier,e.UserDefinedQualifier]},4251960020:function(e){return[e.Identification,e.Name,e.Description,e.Roles,e.Addresses]},1207048766:function(e){return[e.OwningUser,e.OwningApplication,e.State,e.ChangeAction,e.LastModifiedDate,e.LastModifyingUser,e.LastModifyingApplication,e.CreationDate]},2077209135:function(e){return[e.Identification,e.FamilyName,e.GivenName,e.MiddleNames,e.PrefixTitles,e.SuffixTitles,e.Roles,e.Addresses]},101040310:function(e){return[e.ThePerson,e.TheOrganization,e.Roles]},2483315170:function(e){return[e.Name,e.Description]},2226359599:function(e){return[e.Name,e.Description,e.Unit]},3355820592:function(e){return[e.Purpose,e.Description,e.UserDefinedPurpose,e.InternalLocation,e.AddressLines,e.PostalBox,e.Town,e.Region,e.PostalCode,e.Country]},677532197:function(e){return[]},2022622350:function(e){return[e.Name,e.Description,e.AssignedItems,e.Identifier]},1304840413:function(e){var t,n,r;return[e.Name,e.Description,e.AssignedItems,e.Identifier,null==(t=e.LayerOn)?void 0:t.toString(),null==(n=e.LayerFrozen)?void 0:n.toString(),null==(r=e.LayerBlocked)?void 0:r.toString(),e.LayerStyles]},3119450353:function(e){return[e.Name]},2095639259:function(e){return[e.Name,e.Description,e.Representations]},3958567839:function(e){return[e.ProfileType,e.ProfileName]},3843373140:function(e){return[e.Name,e.Description,e.GeodeticDatum,e.VerticalDatum,e.MapProjection,e.MapZone,e.MapUnit]},986844984:function(e){return[]},3710013099:function(e){return[e.Name,e.EnumerationValues.map((function(e){return Y_(e)})),e.Unit]},2044713172:function(e){return[e.Name,e.Description,e.Unit,e.AreaValue,e.Formula]},2093928680:function(e){return[e.Name,e.Description,e.Unit,e.CountValue,e.Formula]},931644368:function(e){return[e.Name,e.Description,e.Unit,e.LengthValue,e.Formula]},2691318326:function(e){return[e.Name,e.Description,e.Unit,e.NumberValue,e.Formula]},3252649465:function(e){return[e.Name,e.Description,e.Unit,e.TimeValue,e.Formula]},2405470396:function(e){return[e.Name,e.Description,e.Unit,e.VolumeValue,e.Formula]},825690147:function(e){return[e.Name,e.Description,e.Unit,e.WeightValue,e.Formula]},3915482550:function(e){return[e.RecurrenceType,e.DayComponent,e.WeekdayComponent,e.MonthComponent,e.Position,e.Interval,e.Occurrences,e.TimePeriods]},2433181523:function(e){return[e.TypeIdentifier,e.AttributeIdentifier,e.InstanceName,e.ListPositions,e.InnerReference]},1076942058:function(e){return[e.ContextOfItems,e.RepresentationIdentifier,e.RepresentationType,e.Items]},3377609919:function(e){return[e.ContextIdentifier,e.ContextType]},3008791417:function(e){return[]},1660063152:function(e){return[e.MappingOrigin,e.MappedRepresentation]},2439245199:function(e){return[e.Name,e.Description]},2341007311:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description]},448429030:function(e){return[e.Dimensions,e.UnitType,e.Prefix,e.Name]},1054537805:function(e){return[e.Name,e.DataOrigin,e.UserDefinedDataOrigin]},867548509:function(e){var t;return[e.ShapeRepresentations,e.Name,e.Description,null==(t=e.ProductDefinitional)?void 0:t.toString(),e.PartOfProductDefinitionShape]},3982875396:function(e){return[e.ContextOfItems,e.RepresentationIdentifier,e.RepresentationType,e.Items]},4240577450:function(e){return[e.ContextOfItems,e.RepresentationIdentifier,e.RepresentationType,e.Items]},2273995522:function(e){return[e.Name]},2162789131:function(e){return[e.Name]},3478079324:function(e){return[e.Name,e.Values,e.Locations]},609421318:function(e){return[e.Name]},2525727697:function(e){return[e.Name]},3408363356:function(e){return[e.Name,e.DeltaTConstant,e.DeltaTY,e.DeltaTZ]},2830218821:function(e){return[e.ContextOfItems,e.RepresentationIdentifier,e.RepresentationType,e.Items]},3958052878:function(e){return[e.Item,e.Styles,e.Name]},3049322572:function(e){return[e.ContextOfItems,e.RepresentationIdentifier,e.RepresentationType,e.Items]},2934153892:function(e){return[e.Name,e.SurfaceReinforcement1,e.SurfaceReinforcement2,e.ShearReinforcement]},1300840506:function(e){return[e.Name,e.Side,e.Styles]},3303107099:function(e){return[e.DiffuseTransmissionColour,e.DiffuseReflectionColour,e.TransmissionColour,e.ReflectanceColour]},1607154358:function(e){return[e.RefractionIndex,e.DispersionFactor]},846575682:function(e){return[e.SurfaceColour,e.Transparency]},1351298697:function(e){return[e.Textures]},626085974:function(e){var t,n;return[null==(t=e.RepeatS)?void 0:t.toString(),null==(n=e.RepeatT)?void 0:n.toString(),e.Mode,e.TextureTransform,e.Parameter]},985171141:function(e){return[e.Name,e.Rows,e.Columns]},2043862942:function(e){return[e.Identifier,e.Name,e.Description,e.Unit,e.ReferencePath]},531007025:function(e){var t;return[e.RowCells?e.RowCells.map((function(e){return Y_(e)})):null,null==(t=e.IsHeading)?void 0:t.toString()]},1549132990:function(e){var t;return[e.Name,e.DataOrigin,e.UserDefinedDataOrigin,e.DurationType,e.ScheduleDuration,e.ScheduleStart,e.ScheduleFinish,e.EarlyStart,e.EarlyFinish,e.LateStart,e.LateFinish,e.FreeFloat,e.TotalFloat,null==(t=e.IsCritical)?void 0:t.toString(),e.StatusTime,e.ActualDuration,e.ActualStart,e.ActualFinish,e.RemainingTime,e.Completion]},2771591690:function(e){var t;return[e.Name,e.DataOrigin,e.UserDefinedDataOrigin,e.DurationType,e.ScheduleDuration,e.ScheduleStart,e.ScheduleFinish,e.EarlyStart,e.EarlyFinish,e.LateStart,e.LateFinish,e.FreeFloat,e.TotalFloat,null==(t=e.IsCritical)?void 0:t.toString(),e.StatusTime,e.ActualDuration,e.ActualStart,e.ActualFinish,e.RemainingTime,e.Completion,e.Recurrence]},912023232:function(e){return[e.Purpose,e.Description,e.UserDefinedPurpose,e.TelephoneNumbers,e.FacsimileNumbers,e.PagerNumber,e.ElectronicMailAddresses,e.WWWHomePageURL,e.MessagingIDs]},1447204868:function(e){var t;return[e.Name,e.TextCharacterAppearance,e.TextStyle,e.TextFontStyle,null==(t=e.ModelOrDraughting)?void 0:t.toString()]},2636378356:function(e){return[e.Colour,e.BackgroundColour]},1640371178:function(e){return[e.TextIndent?Y_(e.TextIndent):null,e.TextAlign,e.TextDecoration,e.LetterSpacing?Y_(e.LetterSpacing):null,e.WordSpacing?Y_(e.WordSpacing):null,e.TextTransform,e.LineHeight?Y_(e.LineHeight):null]},280115917:function(e){return[e.Maps]},1742049831:function(e){return[e.Maps,e.Mode,e.Parameter]},222769930:function(e){return[e.TexCoordIndex,e.TexCoordsOf]},1010789467:function(e){return[e.TexCoordIndex,e.TexCoordsOf,e.InnerTexCoordIndices]},2552916305:function(e){return[e.Maps,e.Vertices,e.MappedTo]},1210645708:function(e){return[e.Coordinates]},3611470254:function(e){return[e.TexCoordsList]},1199560280:function(e){return[e.StartTime,e.EndTime]},3101149627:function(e){return[e.Name,e.Description,e.StartTime,e.EndTime,e.TimeSeriesDataType,e.DataOrigin,e.UserDefinedDataOrigin,e.Unit]},581633288:function(e){return[e.ListValues.map((function(e){return Y_(e)}))]},1377556343:function(e){return[]},1735638870:function(e){return[e.ContextOfItems,e.RepresentationIdentifier,e.RepresentationType,e.Items]},180925521:function(e){return[e.Units]},2799835756:function(e){return[]},1907098498:function(e){return[e.VertexGeometry]},891718957:function(e){return[e.IntersectingAxes,e.OffsetDistances]},1236880293:function(e){return[e.Name,e.DataOrigin,e.UserDefinedDataOrigin,e.RecurrencePattern,e.StartDate,e.FinishDate]},3752311538:function(e){return[e.StartTag,e.EndTag,e.StartDistAlong,e.HorizontalLength,e.StartCantLeft,e.EndCantLeft,e.StartCantRight,e.EndCantRight,e.PredefinedType]},536804194:function(e){return[e.StartTag,e.EndTag,e.StartPoint,e.StartDirection,e.StartRadiusOfCurvature,e.EndRadiusOfCurvature,e.SegmentLength,e.GravityCenterLineHeight,e.PredefinedType]},3869604511:function(e){return[e.Name,e.Description,e.RelatingApproval,e.RelatedApprovals]},3798115385:function(e){return[e.ProfileType,e.ProfileName,e.OuterCurve]},1310608509:function(e){return[e.ProfileType,e.ProfileName,e.Curve]},2705031697:function(e){return[e.ProfileType,e.ProfileName,e.OuterCurve,e.InnerCurves]},616511568:function(e){var t,n;return[null==(t=e.RepeatS)?void 0:t.toString(),null==(n=e.RepeatT)?void 0:n.toString(),e.Mode,e.TextureTransform,e.Parameter,e.RasterFormat,e.RasterCode]},3150382593:function(e){return[e.ProfileType,e.ProfileName,e.Curve,e.Thickness]},747523909:function(e){return[e.Source,e.Edition,e.EditionDate,e.Name,e.Description,e.Specification,e.ReferenceTokens]},647927063:function(e){return[e.Location,e.Identification,e.Name,e.ReferencedSource,e.Description,e.Sort]},3285139300:function(e){return[e.ColourList]},3264961684:function(e){return[e.Name]},1485152156:function(e){return[e.ProfileType,e.ProfileName,e.Profiles,e.Label]},370225590:function(e){return[e.CfsFaces]},1981873012:function(e){return[e.CurveOnRelatingElement,e.CurveOnRelatedElement]},45288368:function(e){return[e.PointOnRelatingElement,e.PointOnRelatedElement,e.EccentricityInX,e.EccentricityInY,e.EccentricityInZ]},3050246964:function(e){return[e.Dimensions,e.UnitType,e.Name]},2889183280:function(e){return[e.Dimensions,e.UnitType,e.Name,e.ConversionFactor]},2713554722:function(e){return[e.Dimensions,e.UnitType,e.Name,e.ConversionFactor,e.ConversionOffset]},539742890:function(e){return[e.Name,e.Description,e.RelatingMonetaryUnit,e.RelatedMonetaryUnit,e.ExchangeRate,e.RateDateTime,e.RateSource]},3800577675:function(e){var t;return[e.Name,e.CurveFont,e.CurveWidth?Y_(e.CurveWidth):null,e.CurveColour,null==(t=e.ModelOrDraughting)?void 0:t.toString()]},1105321065:function(e){return[e.Name,e.PatternList]},2367409068:function(e){return[e.Name,e.CurveStyleFont,e.CurveFontScaling]},3510044353:function(e){return[e.VisibleSegmentLength,e.InvisibleSegmentLength]},3632507154:function(e){return[e.ProfileType,e.ProfileName,e.ParentProfile,e.Operator,e.Label]},1154170062:function(e){return[e.Identification,e.Name,e.Description,e.Location,e.Purpose,e.IntendedUse,e.Scope,e.Revision,e.DocumentOwner,e.Editors,e.CreationTime,e.LastRevisionTime,e.ElectronicFormat,e.ValidFrom,e.ValidUntil,e.Confidentiality,e.Status]},770865208:function(e){return[e.Name,e.Description,e.RelatingDocument,e.RelatedDocuments,e.RelationshipType]},3732053477:function(e){return[e.Location,e.Identification,e.Name,e.Description,e.ReferencedDocument]},3900360178:function(e){return[e.EdgeStart,e.EdgeEnd]},476780140:function(e){var t;return[e.EdgeStart,e.EdgeEnd,e.EdgeGeometry,null==(t=e.SameSense)?void 0:t.toString()]},211053100:function(e){return[e.Name,e.DataOrigin,e.UserDefinedDataOrigin,e.ActualDate,e.EarlyDate,e.LateDate,e.ScheduleDate]},297599258:function(e){return[e.Name,e.Description,e.Properties]},1437805879:function(e){return[e.Name,e.Description,e.RelatingReference,e.RelatedResourceObjects]},2556980723:function(e){return[e.Bounds]},1809719519:function(e){var t;return[e.Bound,null==(t=e.Orientation)?void 0:t.toString()]},803316827:function(e){var t;return[e.Bound,null==(t=e.Orientation)?void 0:t.toString()]},3008276851:function(e){var t;return[e.Bounds,e.FaceSurface,null==(t=e.SameSense)?void 0:t.toString()]},4219587988:function(e){return[e.Name,e.TensionFailureX,e.TensionFailureY,e.TensionFailureZ,e.CompressionFailureX,e.CompressionFailureY,e.CompressionFailureZ]},738692330:function(e){var t;return[e.Name,e.FillStyles,null==(t=e.ModelOrDraughting)?void 0:t.toString()]},3448662350:function(e){return[e.ContextIdentifier,e.ContextType,e.CoordinateSpaceDimension,e.Precision,e.WorldCoordinateSystem,e.TrueNorth]},2453401579:function(e){return[]},4142052618:function(e){return[e.ContextIdentifier,e.ContextType,e.CoordinateSpaceDimension,e.Precision,e.WorldCoordinateSystem,e.TrueNorth,e.ParentContext,e.TargetScale,e.TargetView,e.UserDefinedTargetView]},3590301190:function(e){return[e.Elements]},178086475:function(e){return[e.PlacementRelTo,e.PlacementLocation,e.PlacementRefDirection]},812098782:function(e){var t;return[e.BaseSurface,null==(t=e.AgreementFlag)?void 0:t.toString()]},3905492369:function(e){var t,n;return[null==(t=e.RepeatS)?void 0:t.toString(),null==(n=e.RepeatT)?void 0:n.toString(),e.Mode,e.TextureTransform,e.Parameter,e.URLReference]},3570813810:function(e){return[e.MappedTo,e.Opacity,e.Colours,e.ColourIndex]},1437953363:function(e){return[e.Maps,e.MappedTo,e.TexCoords]},2133299955:function(e){return[e.Maps,e.MappedTo,e.TexCoords,e.TexCoordIndex]},3741457305:function(e){return[e.Name,e.Description,e.StartTime,e.EndTime,e.TimeSeriesDataType,e.DataOrigin,e.UserDefinedDataOrigin,e.Unit,e.Values]},1585845231:function(e){return[e.Name,e.DataOrigin,e.UserDefinedDataOrigin,Y_(e.LagValue),e.DurationType]},1402838566:function(e){return[e.Name,e.LightColour,e.AmbientIntensity,e.Intensity]},125510826:function(e){return[e.Name,e.LightColour,e.AmbientIntensity,e.Intensity]},2604431987:function(e){return[e.Name,e.LightColour,e.AmbientIntensity,e.Intensity,e.Orientation]},4266656042:function(e){return[e.Name,e.LightColour,e.AmbientIntensity,e.Intensity,e.Position,e.ColourAppearance,e.ColourTemperature,e.LuminousFlux,e.LightEmissionSource,e.LightDistributionDataSource]},1520743889:function(e){return[e.Name,e.LightColour,e.AmbientIntensity,e.Intensity,e.Position,e.Radius,e.ConstantAttenuation,e.DistanceAttenuation,e.QuadricAttenuation]},3422422726:function(e){return[e.Name,e.LightColour,e.AmbientIntensity,e.Intensity,e.Position,e.Radius,e.ConstantAttenuation,e.DistanceAttenuation,e.QuadricAttenuation,e.Orientation,e.ConcentrationExponent,e.SpreadAngle,e.BeamWidthAngle]},388784114:function(e){return[e.PlacementRelTo,e.RelativePlacement,e.CartesianPosition]},2624227202:function(e){return[e.PlacementRelTo,e.RelativePlacement]},1008929658:function(e){return[]},2347385850:function(e){return[e.MappingSource,e.MappingTarget]},1838606355:function(e){return[e.Name,e.Description,e.Category]},3708119e3:function(e){return[e.Name,e.Description,e.Material,e.Fraction,e.Category]},2852063980:function(e){return[e.Name,e.Description,e.MaterialConstituents]},2022407955:function(e){return[e.Name,e.Description,e.Representations,e.RepresentedMaterial]},1303795690:function(e){return[e.ForLayerSet,e.LayerSetDirection,e.DirectionSense,e.OffsetFromReferenceLine,e.ReferenceExtent]},3079605661:function(e){return[e.ForProfileSet,e.CardinalPoint,e.ReferenceExtent]},3404854881:function(e){return[e.ForProfileSet,e.CardinalPoint,e.ReferenceExtent,e.ForProfileEndSet,e.CardinalEndPoint]},3265635763:function(e){return[e.Name,e.Description,e.Properties,e.Material]},853536259:function(e){return[e.Name,e.Description,e.RelatingMaterial,e.RelatedMaterials,e.MaterialExpression]},2998442950:function(e){return[e.ProfileType,e.ProfileName,e.ParentProfile,e.Operator,e.Label]},219451334:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description]},182550632:function(e){var t;return[e.ProfileType,e.ProfileName,null==(t=e.HorizontalWidths)?void 0:t.toString(),e.Widths,e.Slopes,e.Tags,e.OffsetPoint]},2665983363:function(e){return[e.CfsFaces]},1411181986:function(e){return[e.Name,e.Description,e.RelatingOrganization,e.RelatedOrganizations]},1029017970:function(e){var t;return[e.EdgeStart,e.EdgeEnd,e.EdgeElement,null==(t=e.Orientation)?void 0:t.toString()]},2529465313:function(e){return[e.ProfileType,e.ProfileName,e.Position]},2519244187:function(e){return[e.EdgeList]},3021840470:function(e){return[e.Name,e.Description,e.HasQuantities,e.Discrimination,e.Quality,e.Usage]},597895409:function(e){var t,n;return[null==(t=e.RepeatS)?void 0:t.toString(),null==(n=e.RepeatT)?void 0:n.toString(),e.Mode,e.TextureTransform,e.Parameter,e.Width,e.Height,e.ColourComponents,e.Pixel]},2004835150:function(e){return[e.Location]},1663979128:function(e){return[e.SizeInX,e.SizeInY]},2067069095:function(e){return[]},2165702409:function(e){return[Y_(e.DistanceAlong),e.OffsetLateral,e.OffsetVertical,e.OffsetLongitudinal,e.BasisCurve]},4022376103:function(e){return[e.BasisCurve,e.PointParameter]},1423911732:function(e){return[e.BasisSurface,e.PointParameterU,e.PointParameterV]},2924175390:function(e){return[e.Polygon]},2775532180:function(e){var t;return[e.BaseSurface,null==(t=e.AgreementFlag)?void 0:t.toString(),e.Position,e.PolygonalBoundary]},3727388367:function(e){return[e.Name]},3778827333:function(e){return[]},1775413392:function(e){return[e.Name]},673634403:function(e){return[e.Name,e.Description,e.Representations]},2802850158:function(e){return[e.Name,e.Description,e.Properties,e.ProfileDefinition]},2598011224:function(e){return[e.Name,e.Specification]},1680319473:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description]},148025276:function(e){return[e.Name,e.Description,e.DependingProperty,e.DependantProperty,e.Expression]},3357820518:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description]},1482703590:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description]},2090586900:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description]},3615266464:function(e){return[e.ProfileType,e.ProfileName,e.Position,e.XDim,e.YDim]},3413951693:function(e){return[e.Name,e.Description,e.StartTime,e.EndTime,e.TimeSeriesDataType,e.DataOrigin,e.UserDefinedDataOrigin,e.Unit,e.TimeStep,e.Values]},1580146022:function(e){return[e.TotalCrossSectionArea,e.SteelGrade,e.BarSurface,e.EffectiveDepth,e.NominalBarDiameter,e.BarCount]},478536968:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description]},2943643501:function(e){return[e.Name,e.Description,e.RelatedResourceObjects,e.RelatingApproval]},1608871552:function(e){return[e.Name,e.Description,e.RelatingConstraint,e.RelatedResourceObjects]},1042787934:function(e){var t;return[e.Name,e.DataOrigin,e.UserDefinedDataOrigin,e.ScheduleWork,e.ScheduleUsage,e.ScheduleStart,e.ScheduleFinish,e.ScheduleContour,e.LevelingDelay,null==(t=e.IsOverAllocated)?void 0:t.toString(),e.StatusTime,e.ActualWork,e.ActualUsage,e.ActualStart,e.ActualFinish,e.RemainingWork,e.RemainingUsage,e.Completion]},2778083089:function(e){return[e.ProfileType,e.ProfileName,e.Position,e.XDim,e.YDim,e.RoundingRadius]},2042790032:function(e){return[e.SectionType,e.StartProfile,e.EndProfile]},4165799628:function(e){return[e.LongitudinalStartPosition,e.LongitudinalEndPosition,e.TransversePosition,e.ReinforcementRole,e.SectionDefinition,e.CrossSectionReinforcementDefinitions]},1509187699:function(e){return[e.SpineCurve,e.CrossSections,e.CrossSectionPositions]},823603102:function(e){return[e.Transition]},4124623270:function(e){return[e.SbsmBoundary]},3692461612:function(e){return[e.Name,e.Specification]},2609359061:function(e){return[e.Name,e.SlippageX,e.SlippageY,e.SlippageZ]},723233188:function(e){return[]},1595516126:function(e){return[e.Name,e.LinearForceX,e.LinearForceY,e.LinearForceZ,e.LinearMomentX,e.LinearMomentY,e.LinearMomentZ]},2668620305:function(e){return[e.Name,e.PlanarForceX,e.PlanarForceY,e.PlanarForceZ]},2473145415:function(e){return[e.Name,e.DisplacementX,e.DisplacementY,e.DisplacementZ,e.RotationalDisplacementRX,e.RotationalDisplacementRY,e.RotationalDisplacementRZ]},1973038258:function(e){return[e.Name,e.DisplacementX,e.DisplacementY,e.DisplacementZ,e.RotationalDisplacementRX,e.RotationalDisplacementRY,e.RotationalDisplacementRZ,e.Distortion]},1597423693:function(e){return[e.Name,e.ForceX,e.ForceY,e.ForceZ,e.MomentX,e.MomentY,e.MomentZ]},1190533807:function(e){return[e.Name,e.ForceX,e.ForceY,e.ForceZ,e.MomentX,e.MomentY,e.MomentZ,e.WarpingMoment]},2233826070:function(e){return[e.EdgeStart,e.EdgeEnd,e.ParentEdge]},2513912981:function(e){return[]},1878645084:function(e){return[e.SurfaceColour,e.Transparency,e.DiffuseColour,e.TransmissionColour,e.DiffuseTransmissionColour,e.ReflectionColour,e.SpecularColour,e.SpecularHighlight?Y_(e.SpecularHighlight):null,e.ReflectanceMethod]},2247615214:function(e){return[e.SweptArea,e.Position]},1260650574:function(e){return[e.Directrix,e.Radius,e.InnerRadius,e.StartParam,e.EndParam]},1096409881:function(e){return[e.Directrix,e.Radius,e.InnerRadius,e.StartParam,e.EndParam,e.FilletRadius]},230924584:function(e){return[e.SweptCurve,e.Position]},3071757647:function(e){return[e.ProfileType,e.ProfileName,e.Position,e.Depth,e.FlangeWidth,e.WebThickness,e.FlangeThickness,e.FilletRadius,e.FlangeEdgeRadius,e.WebEdgeRadius,e.WebSlope,e.FlangeSlope]},901063453:function(e){return[]},4282788508:function(e){return[e.Literal,e.Placement,e.Path]},3124975700:function(e){return[e.Literal,e.Placement,e.Path,e.Extent,e.BoxAlignment]},1983826977:function(e){return[e.Name,e.FontFamily,e.FontStyle,e.FontVariant,e.FontWeight,Y_(e.FontSize)]},2715220739:function(e){return[e.ProfileType,e.ProfileName,e.Position,e.BottomXDim,e.TopXDim,e.YDim,e.TopXOffset]},1628702193:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets]},3736923433:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.Identification,e.LongDescription,e.ProcessType]},2347495698:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag]},3698973494:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.Identification,e.LongDescription,e.ResourceType]},427810014:function(e){return[e.ProfileType,e.ProfileName,e.Position,e.Depth,e.FlangeWidth,e.WebThickness,e.FlangeThickness,e.FilletRadius,e.EdgeRadius,e.FlangeSlope]},1417489154:function(e){return[e.Orientation,e.Magnitude]},2759199220:function(e){return[e.LoopVertex]},2543172580:function(e){return[e.ProfileType,e.ProfileName,e.Position,e.Depth,e.FlangeWidth,e.WebThickness,e.FlangeThickness,e.FilletRadius,e.EdgeRadius]},3406155212:function(e){var t;return[e.Bounds,e.FaceSurface,null==(t=e.SameSense)?void 0:t.toString()]},669184980:function(e){return[e.OuterBoundary,e.InnerBoundaries]},3207858831:function(e){return[e.ProfileType,e.ProfileName,e.Position,e.BottomFlangeWidth,e.OverallDepth,e.WebThickness,e.BottomFlangeThickness,e.BottomFlangeFilletRadius,e.TopFlangeWidth,e.TopFlangeThickness,e.TopFlangeFilletRadius,e.BottomFlangeEdgeRadius,e.BottomFlangeSlope,e.TopFlangeEdgeRadius,e.TopFlangeSlope]},4261334040:function(e){return[e.Location,e.Axis]},3125803723:function(e){return[e.Location,e.RefDirection]},2740243338:function(e){return[e.Location,e.Axis,e.RefDirection]},3425423356:function(e){return[e.Location,e.Axis,e.RefDirection]},2736907675:function(e){return[e.Operator,e.FirstOperand,e.SecondOperand]},4182860854:function(e){return[]},2581212453:function(e){return[e.Corner,e.XDim,e.YDim,e.ZDim]},2713105998:function(e){var t;return[e.BaseSurface,null==(t=e.AgreementFlag)?void 0:t.toString(),e.Enclosure]},2898889636:function(e){return[e.ProfileType,e.ProfileName,e.Position,e.Depth,e.Width,e.WallThickness,e.Girth,e.InternalFilletRadius]},1123145078:function(e){return[e.Coordinates]},574549367:function(e){return[]},1675464909:function(e){return[e.CoordList,e.TagList]},2059837836:function(e){return[e.CoordList,e.TagList]},59481748:function(e){return[e.Axis1,e.Axis2,e.LocalOrigin,e.Scale]},3749851601:function(e){return[e.Axis1,e.Axis2,e.LocalOrigin,e.Scale]},3486308946:function(e){return[e.Axis1,e.Axis2,e.LocalOrigin,e.Scale,e.Scale2]},3331915920:function(e){return[e.Axis1,e.Axis2,e.LocalOrigin,e.Scale,e.Axis3]},1416205885:function(e){return[e.Axis1,e.Axis2,e.LocalOrigin,e.Scale,e.Axis3,e.Scale2,e.Scale3]},1383045692:function(e){return[e.ProfileType,e.ProfileName,e.Position,e.Radius]},2205249479:function(e){return[e.CfsFaces]},776857604:function(e){return[e.Name,e.Red,e.Green,e.Blue]},2542286263:function(e){return[e.Name,e.Specification,e.UsageName,e.HasProperties]},2485617015:function(e){var t;return[e.Transition,null==(t=e.SameSense)?void 0:t.toString(),e.ParentCurve]},2574617495:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.Identification,e.LongDescription,e.ResourceType,e.BaseCosts,e.BaseQuantity]},3419103109:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.LongName,e.Phase,e.RepresentationContexts,e.UnitsInContext]},1815067380:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.Identification,e.LongDescription,e.ResourceType,e.BaseCosts,e.BaseQuantity,e.PredefinedType]},2506170314:function(e){return[e.Position]},2147822146:function(e){return[e.TreeRootExpression]},2601014836:function(e){return[]},2827736869:function(e){return[e.BasisSurface,e.OuterBoundary,e.InnerBoundaries]},2629017746:function(e){var t;return[e.BasisSurface,e.Boundaries,null==(t=e.ImplicitOuter)?void 0:t.toString()]},4212018352:function(e){return[e.Transition,e.Placement,Y_(e.SegmentStart),Y_(e.SegmentLength),e.ParentCurve]},32440307:function(e){return[e.DirectionRatios]},593015953:function(e){return[e.SweptArea,e.Position,e.Directrix,e.StartParam?Y_(e.StartParam):null,e.EndParam?Y_(e.EndParam):null]},1472233963:function(e){return[e.EdgeList]},1883228015:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.MethodOfMeasurement,e.Quantities]},339256511:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType]},2777663545:function(e){return[e.Position]},2835456948:function(e){return[e.ProfileType,e.ProfileName,e.Position,e.SemiAxis1,e.SemiAxis2]},4024345920:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.Identification,e.LongDescription,e.ProcessType,e.PredefinedType,e.EventTriggerType,e.UserDefinedEventTriggerType]},477187591:function(e){return[e.SweptArea,e.Position,e.ExtrudedDirection,e.Depth]},2804161546:function(e){return[e.SweptArea,e.Position,e.ExtrudedDirection,e.Depth,e.EndSweptArea]},2047409740:function(e){return[e.FbsmFaces]},374418227:function(e){return[e.HatchLineAppearance,e.StartOfNextHatchLine,e.PointOfReferenceHatchLine,e.PatternStart,e.HatchLineAngle]},315944413:function(e){return[e.TilingPattern,e.Tiles,e.TilingScale]},2652556860:function(e){return[e.SweptArea,e.Position,e.Directrix,e.StartParam?Y_(e.StartParam):null,e.EndParam?Y_(e.EndParam):null,e.FixedReference]},4238390223:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType]},1268542332:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.AssemblyPlace,e.PredefinedType]},4095422895:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},987898635:function(e){return[e.Elements]},1484403080:function(e){return[e.ProfileType,e.ProfileName,e.Position,e.OverallWidth,e.OverallDepth,e.WebThickness,e.FlangeThickness,e.FilletRadius,e.FlangeEdgeRadius,e.FlangeSlope]},178912537:function(e){return[e.CoordIndex]},2294589976:function(e){return[e.CoordIndex,e.InnerCoordIndices]},3465909080:function(e){return[e.Maps,e.MappedTo,e.TexCoords,e.TexCoordIndices]},572779678:function(e){return[e.ProfileType,e.ProfileName,e.Position,e.Depth,e.Width,e.Thickness,e.FilletRadius,e.EdgeRadius,e.LegSlope]},428585644:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.Identification,e.LongDescription,e.ResourceType,e.BaseCosts,e.BaseQuantity,e.PredefinedType]},1281925730:function(e){return[e.Pnt,e.Dir]},1425443689:function(e){return[e.Outer]},3888040117:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType]},590820931:function(e){return[e.BasisCurve]},3388369263:function(e){var t;return[e.BasisCurve,e.Distance,null==(t=e.SelfIntersect)?void 0:t.toString()]},3505215534:function(e){var t;return[e.BasisCurve,e.Distance,null==(t=e.SelfIntersect)?void 0:t.toString(),e.RefDirection]},2485787929:function(e){return[e.BasisCurve,e.OffsetValues,e.Tag]},1682466193:function(e){return[e.BasisSurface,e.ReferenceCurve]},603570806:function(e){return[e.SizeInX,e.SizeInY,e.Placement]},220341763:function(e){return[e.Position]},3381221214:function(e){return[e.Position,e.CoefficientsX,e.CoefficientsY,e.CoefficientsZ]},759155922:function(e){return[e.Name]},2559016684:function(e){return[e.Name]},3967405729:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description]},569719735:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.Identification,e.LongDescription,e.ProcessType,e.PredefinedType]},2945172077:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.Identification,e.LongDescription]},4208778838:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation]},103090709:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.LongName,e.Phase,e.RepresentationContexts,e.UnitsInContext]},653396225:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.LongName,e.Phase,e.RepresentationContexts,e.UnitsInContext]},871118103:function(e){return[e.Name,e.Specification,e.UpperBoundValue?Y_(e.UpperBoundValue):null,e.LowerBoundValue?Y_(e.LowerBoundValue):null,e.Unit,e.SetPointValue?Y_(e.SetPointValue):null]},4166981789:function(e){return[e.Name,e.Specification,e.EnumerationValues?e.EnumerationValues.map((function(e){return Y_(e)})):null,e.EnumerationReference]},2752243245:function(e){return[e.Name,e.Specification,e.ListValues?e.ListValues.map((function(e){return Y_(e)})):null,e.Unit]},941946838:function(e){return[e.Name,e.Specification,e.UsageName,e.PropertyReference]},1451395588:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.HasProperties]},492091185:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.TemplateType,e.ApplicableEntity,e.HasPropertyTemplates]},3650150729:function(e){return[e.Name,e.Specification,e.NominalValue?Y_(e.NominalValue):null,e.Unit]},110355661:function(e){return[e.Name,e.Specification,e.DefiningValues?e.DefiningValues.map((function(e){return Y_(e)})):null,e.DefinedValues?e.DefinedValues.map((function(e){return Y_(e)})):null,e.Expression,e.DefiningUnit,e.DefinedUnit,e.CurveInterpolation]},3521284610:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description]},2770003689:function(e){return[e.ProfileType,e.ProfileName,e.Position,e.XDim,e.YDim,e.WallThickness,e.InnerFilletRadius,e.OuterFilletRadius]},2798486643:function(e){return[e.Position,e.XLength,e.YLength,e.Height]},3454111270:function(e){var t,n;return[e.BasisSurface,e.U1,e.V1,e.U2,e.V2,null==(t=e.Usense)?void 0:t.toString(),null==(n=e.Vsense)?void 0:n.toString()]},3765753017:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.DefinitionType,e.ReinforcementSectionDefinitions]},3939117080:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatedObjects,e.RelatedObjectsType]},1683148259:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatedObjects,e.RelatedObjectsType,e.RelatingActor,e.ActingRole]},2495723537:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatedObjects,e.RelatedObjectsType,e.RelatingControl]},1307041759:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatedObjects,e.RelatedObjectsType,e.RelatingGroup]},1027710054:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatedObjects,e.RelatedObjectsType,e.RelatingGroup,e.Factor]},4278684876:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatedObjects,e.RelatedObjectsType,e.RelatingProcess,e.QuantityInProcess]},2857406711:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatedObjects,e.RelatedObjectsType,e.RelatingProduct]},205026976:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatedObjects,e.RelatedObjectsType,e.RelatingResource]},1865459582:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatedObjects]},4095574036:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatedObjects,e.RelatingApproval]},919958153:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatedObjects,e.RelatingClassification]},2728634034:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatedObjects,e.Intent,e.RelatingConstraint]},982818633:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatedObjects,e.RelatingDocument]},3840914261:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatedObjects,e.RelatingLibrary]},2655215786:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatedObjects,e.RelatingMaterial]},1033248425:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatedObjects,e.RelatingProfileDef]},826625072:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description]},1204542856:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ConnectionGeometry,e.RelatingElement,e.RelatedElement]},3945020480:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ConnectionGeometry,e.RelatingElement,e.RelatedElement,e.RelatingPriorities,e.RelatedPriorities,e.RelatedConnectionType,e.RelatingConnectionType]},4201705270:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatingPort,e.RelatedElement]},3190031847:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatingPort,e.RelatedPort,e.RealizingElement]},2127690289:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatingElement,e.RelatedStructuralActivity]},1638771189:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatingStructuralMember,e.RelatedStructuralConnection,e.AppliedCondition,e.AdditionalConditions,e.SupportedLength,e.ConditionCoordinateSystem]},504942748:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatingStructuralMember,e.RelatedStructuralConnection,e.AppliedCondition,e.AdditionalConditions,e.SupportedLength,e.ConditionCoordinateSystem,e.ConnectionConstraint]},3678494232:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ConnectionGeometry,e.RelatingElement,e.RelatedElement,e.RealizingElements,e.ConnectionType]},3242617779:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatedElements,e.RelatingStructure]},886880790:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatingBuildingElement,e.RelatedCoverings]},2802773753:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatingSpace,e.RelatedCoverings]},2565941209:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatingContext,e.RelatedDefinitions]},2551354335:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description]},693640335:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description]},1462361463:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatedObjects,e.RelatingObject]},4186316022:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatedObjects,e.RelatingPropertyDefinition]},307848117:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatedPropertySets,e.RelatingTemplate]},781010003:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatedObjects,e.RelatingType]},3940055652:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatingOpeningElement,e.RelatedBuildingElement]},279856033:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatedControlElements,e.RelatingFlowElement]},427948657:function(e){var t;return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatingElement,e.RelatedElement,e.InterferenceGeometry,e.InterferenceSpace,e.InterferenceType,null==(t=e.ImpliedOrder)?void 0:t.toString()]},3268803585:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatingObject,e.RelatedObjects]},1441486842:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatingPositioningElement,e.RelatedProducts]},750771296:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatingElement,e.RelatedFeatureElement]},1245217292:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatedElements,e.RelatingStructure]},4122056220:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatingProcess,e.RelatedProcess,e.TimeLag,e.SequenceType,e.UserDefinedSequenceType]},366585022:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatingSystem,e.RelatedBuildings]},3451746338:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatingSpace,e.RelatedBuildingElement,e.ConnectionGeometry,e.PhysicalOrVirtualBoundary,e.InternalOrExternalBoundary]},3523091289:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatingSpace,e.RelatedBuildingElement,e.ConnectionGeometry,e.PhysicalOrVirtualBoundary,e.InternalOrExternalBoundary,e.ParentBoundary]},1521410863:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatingSpace,e.RelatedBuildingElement,e.ConnectionGeometry,e.PhysicalOrVirtualBoundary,e.InternalOrExternalBoundary,e.ParentBoundary,e.CorrespondingBoundary]},1401173127:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatingBuildingElement,e.RelatedOpeningElement]},816062949:function(e){var t;return[e.Transition,null==(t=e.SameSense)?void 0:t.toString(),e.ParentCurve,e.ParamLength]},2914609552:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.Identification,e.LongDescription]},1856042241:function(e){return[e.SweptArea,e.Position,e.Axis,e.Angle]},3243963512:function(e){return[e.SweptArea,e.Position,e.Axis,e.Angle,e.EndSweptArea]},4158566097:function(e){return[e.Position,e.Height,e.BottomRadius]},3626867408:function(e){return[e.Position,e.Height,e.Radius]},1862484736:function(e){return[e.Directrix,e.CrossSections]},1290935644:function(e){return[e.Directrix,e.CrossSections,e.CrossSectionPositions]},1356537516:function(e){return[e.Directrix,e.CrossSectionPositions,e.CrossSections]},3663146110:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.TemplateType,e.PrimaryMeasureType,e.SecondaryMeasureType,e.Enumerators,e.PrimaryUnit,e.SecondaryUnit,e.Expression,e.AccessState]},1412071761:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.LongName]},710998568:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType]},2706606064:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.LongName,e.CompositionType]},3893378262:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType]},463610769:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.LongName,e.PredefinedType]},2481509218:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType,e.LongName]},451544542:function(e){return[e.Position,e.Radius]},4015995234:function(e){return[e.Position,e.Radius]},2735484536:function(e){return[e.Position]},3544373492:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.AppliedLoad,e.GlobalOrLocal]},3136571912:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation]},530289379:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation]},3689010777:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.AppliedLoad,e.GlobalOrLocal]},3979015343:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.PredefinedType,e.Thickness]},2218152070:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.PredefinedType,e.Thickness]},603775116:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.AppliedLoad,e.GlobalOrLocal,e.PredefinedType]},4095615324:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.Identification,e.LongDescription,e.ResourceType,e.BaseCosts,e.BaseQuantity,e.PredefinedType]},699246055:function(e){return[e.Curve3D,e.AssociatedGeometry,e.MasterRepresentation]},2028607225:function(e){return[e.SweptArea,e.Position,e.Directrix,e.StartParam?Y_(e.StartParam):null,e.EndParam?Y_(e.EndParam):null,e.ReferenceSurface]},2809605785:function(e){return[e.SweptCurve,e.Position,e.ExtrudedDirection,e.Depth]},4124788165:function(e){return[e.SweptCurve,e.Position,e.AxisPosition]},1580310250:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},3473067441:function(e){var t;return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.Identification,e.LongDescription,e.Status,e.WorkMethod,null==(t=e.IsMilestone)?void 0:t.toString(),e.Priority,e.TaskTime,e.PredefinedType]},3206491090:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.Identification,e.LongDescription,e.ProcessType,e.PredefinedType,e.WorkMethod]},2387106220:function(e){var t;return[e.Coordinates,null==(t=e.Closed)?void 0:t.toString()]},782932809:function(e){return[e.Position,e.CubicTerm,e.QuadraticTerm,e.LinearTerm,e.ConstantTerm]},1935646853:function(e){return[e.Position,e.MajorRadius,e.MinorRadius]},3665877780:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType]},2916149573:function(e){var t;return[e.Coordinates,null==(t=e.Closed)?void 0:t.toString(),e.Normals,e.CoordIndex,e.PnIndex]},1229763772:function(e){var t;return[e.Coordinates,null==(t=e.Closed)?void 0:t.toString(),e.Normals,e.CoordIndex,e.PnIndex,e.Flags]},3651464721:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},336235671:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.LiningDepth,e.LiningThickness,e.TransomThickness,e.MullionThickness,e.FirstTransomOffset,e.SecondTransomOffset,e.FirstMullionOffset,e.SecondMullionOffset,e.ShapeAspectStyle,e.LiningOffset,e.LiningToPanelOffsetX,e.LiningToPanelOffsetY]},512836454:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.OperationType,e.PanelPosition,e.FrameDepth,e.FrameThickness,e.ShapeAspectStyle]},2296667514:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.TheActor]},1635779807:function(e){return[e.Outer]},2603310189:function(e){return[e.Outer,e.Voids]},1674181508:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.PredefinedType]},2887950389:function(e){var t,n,r;return[e.UDegree,e.VDegree,e.ControlPointsList,e.SurfaceForm,null==(t=e.UClosed)?void 0:t.toString(),null==(n=e.VClosed)?void 0:n.toString(),null==(r=e.SelfIntersect)?void 0:r.toString()]},167062518:function(e){var t,n,r;return[e.UDegree,e.VDegree,e.ControlPointsList,e.SurfaceForm,null==(t=e.UClosed)?void 0:t.toString(),null==(n=e.VClosed)?void 0:n.toString(),null==(r=e.SelfIntersect)?void 0:r.toString(),e.UMultiplicities,e.VMultiplicities,e.UKnots,e.VKnots,e.KnotSpec]},1334484129:function(e){return[e.Position,e.XLength,e.YLength,e.ZLength]},3649129432:function(e){return[e.Operator,e.FirstOperand,e.SecondOperand]},1260505505:function(e){return[]},3124254112:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.LongName,e.CompositionType,e.Elevation]},1626504194:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType]},2197970202:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},2937912522:function(e){return[e.ProfileType,e.ProfileName,e.Position,e.Radius,e.WallThickness]},3893394355:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType]},3497074424:function(e){return[e.Position,e.ClothoidConstant]},300633059:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},3875453745:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.UsageName,e.TemplateType,e.HasPropertyTemplates]},3732776249:function(e){var t;return[e.Segments,null==(t=e.SelfIntersect)?void 0:t.toString()]},15328376:function(e){var t;return[e.Segments,null==(t=e.SelfIntersect)?void 0:t.toString()]},2510884976:function(e){return[e.Position]},2185764099:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.Identification,e.LongDescription,e.ResourceType,e.BaseCosts,e.BaseQuantity,e.PredefinedType]},4105962743:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.Identification,e.LongDescription,e.ResourceType,e.BaseCosts,e.BaseQuantity,e.PredefinedType]},1525564444:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.Identification,e.LongDescription,e.ResourceType,e.BaseCosts,e.BaseQuantity,e.PredefinedType]},2559216714:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.Identification,e.LongDescription,e.Usage,e.BaseCosts,e.BaseQuantity]},3293443760:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.Identification]},2000195564:function(e){return[e.Position,e.CosineTerm,e.ConstantTerm]},3895139033:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.Identification,e.PredefinedType,e.CostValues,e.CostQuantities]},1419761937:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.Identification,e.PredefinedType,e.Status,e.SubmittedOn,e.UpdateDate]},4189326743:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},1916426348:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},3295246426:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.Identification,e.LongDescription,e.Usage,e.BaseCosts,e.BaseQuantity,e.PredefinedType]},1457835157:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},1213902940:function(e){return[e.Position,e.Radius]},1306400036:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType]},4234616927:function(e){return[e.SweptArea,e.Position,e.Directrix,e.StartParam?Y_(e.StartParam):null,e.EndParam?Y_(e.EndParam):null,e.FixedReference]},3256556792:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType]},3849074793:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType]},2963535650:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.LiningDepth,e.LiningThickness,e.ThresholdDepth,e.ThresholdThickness,e.TransomThickness,e.TransomOffset,e.LiningOffset,e.ThresholdOffset,e.CasingThickness,e.CasingDepth,e.ShapeAspectStyle,e.LiningToPanelOffsetX,e.LiningToPanelOffsetY]},1714330368:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.PanelDepth,e.PanelOperation,e.PanelWidth,e.PanelPosition,e.ShapeAspectStyle]},2323601079:function(e){var t;return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType,e.OperationType,null==(t=e.ParameterTakesPrecedence)?void 0:t.toString(),e.UserDefinedOperationType]},445594917:function(e){return[e.Name]},4006246654:function(e){return[e.Name]},1758889154:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag]},4123344466:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.AssemblyPlace,e.PredefinedType]},2397081782:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},1623761950:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag]},2590856083:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType]},1704287377:function(e){return[e.Position,e.SemiAxis1,e.SemiAxis2]},2107101300:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType]},132023988:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},3174744832:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},3390157468:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},4148101412:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.Identification,e.LongDescription,e.PredefinedType,e.EventTriggerType,e.UserDefinedEventTriggerType,e.EventOccurenceTime]},2853485674:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.LongName]},807026263:function(e){return[e.Outer]},3737207727:function(e){return[e.Outer,e.Voids]},24185140:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.LongName,e.CompositionType]},1310830890:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.LongName,e.CompositionType,e.UsageType]},4228831410:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.LongName,e.CompositionType,e.UsageType,e.PredefinedType]},647756555:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},2489546625:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},2827207264:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag]},2143335405:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag]},1287392070:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag]},3907093117:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType]},3198132628:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType]},3815607619:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},1482959167:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType]},1834744321:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType]},1339347760:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType]},2297155007:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType]},3009222698:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType]},1893162501:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},263784265:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag]},1509553395:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},3493046030:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},4230923436:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag]},1594536857:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},2898700619:function(e){var t;return[e.Segments,null==(t=e.SelfIntersect)?void 0:t.toString(),e.BaseCurve,e.EndPoint]},2706460486:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType]},1251058090:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},1806887404:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},2568555532:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},3948183225:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},2571569899:function(e){var t;return[e.Points,e.Segments?e.Segments.map((function(e){return Y_(e)})):null,null==(t=e.SelfIntersect)?void 0:t.toString()]},3946677679:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},3113134337:function(e){return[e.Curve3D,e.AssociatedGeometry,e.MasterRepresentation]},2391368822:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.PredefinedType,e.Jurisdiction,e.ResponsiblePersons,e.LastUpdateDate,e.CurrentValue,e.OriginalValue]},4288270099:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},679976338:function(e){var t;return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,null==(t=e.Mountable)?void 0:t.toString()]},3827777499:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.Identification,e.LongDescription,e.Usage,e.BaseCosts,e.BaseQuantity,e.PredefinedType]},1051575348:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},1161773419:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},2176059722:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation]},1770583370:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},525669439:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.LongName,e.CompositionType,e.PredefinedType]},976884017:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.LongName,e.CompositionType,e.UsageType,e.PredefinedType]},377706215:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.NominalDiameter,e.NominalLength,e.PredefinedType]},2108223431:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType,e.NominalDiameter,e.NominalLength]},1114901282:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},3181161470:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},1950438474:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},710110818:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},977012517:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},506776471:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},4143007308:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.TheActor,e.PredefinedType]},3588315303:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},2837617999:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},514975943:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},2382730787:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.Identification,e.LifeCyclePhase,e.PredefinedType]},3566463478:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.OperationType,e.PanelPosition,e.FrameDepth,e.FrameThickness,e.ShapeAspectStyle]},3327091369:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.Identification,e.PredefinedType,e.Status,e.LongDescription]},1158309216:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},804291784:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},4231323485:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},4017108033:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},2839578677:function(e){var t;return[e.Coordinates,null==(t=e.Closed)?void 0:t.toString(),e.Faces,e.PnIndex]},3724593414:function(e){return[e.Points]},3740093272:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation]},1946335990:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation]},2744685151:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.Identification,e.LongDescription,e.PredefinedType]},2904328755:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.Identification,e.PredefinedType,e.Status,e.LongDescription]},3651124850:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},1842657554:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},2250791053:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},1763565496:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},2893384427:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},3992365140:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.LongName,e.CompositionType,e.PredefinedType]},1891881377:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.LongName,e.CompositionType,e.UsageType,e.PredefinedType]},2324767716:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},1469900589:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},683857671:function(e){var t,n,r;return[e.UDegree,e.VDegree,e.ControlPointsList,e.SurfaceForm,null==(t=e.UClosed)?void 0:t.toString(),null==(n=e.VClosed)?void 0:n.toString(),null==(r=e.SelfIntersect)?void 0:r.toString(),e.UMultiplicities,e.VMultiplicities,e.UKnots,e.VKnots,e.KnotSpec,e.WeightsData]},4021432810:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.PredefinedType]},3027567501:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.SteelGrade]},964333572:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType]},2320036040:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.SteelGrade,e.MeshLength,e.MeshWidth,e.LongitudinalBarNominalDiameter,e.TransverseBarNominalDiameter,e.LongitudinalBarCrossSectionArea,e.TransverseBarCrossSectionArea,e.LongitudinalBarSpacing,e.TransverseBarSpacing,e.PredefinedType]},2310774935:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType,e.MeshLength,e.MeshWidth,e.LongitudinalBarNominalDiameter,e.TransverseBarNominalDiameter,e.LongitudinalBarCrossSectionArea,e.TransverseBarCrossSectionArea,e.LongitudinalBarSpacing,e.TransverseBarSpacing,e.BendingShapeCode,e.BendingParameters?e.BendingParameters.map((function(e){return Y_(e)})):null]},3818125796:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatingElement,e.RelatedSurfaceFeatures]},160246688:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatingObject,e.RelatedObjects]},146592293:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.LongName,e.CompositionType,e.PredefinedType]},550521510:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.LongName,e.CompositionType,e.UsageType,e.PredefinedType]},2781568857:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},1768891740:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},2157484638:function(e){return[e.Curve3D,e.AssociatedGeometry,e.MasterRepresentation]},3649235739:function(e){return[e.Position,e.QuadraticTerm,e.LinearTerm,e.ConstantTerm]},544395925:function(e){var t;return[e.Segments,null==(t=e.SelfIntersect)?void 0:t.toString(),e.BaseCurve,e.EndPoint]},1027922057:function(e){return[e.Position,e.SepticTerm,e.SexticTerm,e.QuinticTerm,e.QuarticTerm,e.CubicTerm,e.QuadraticTerm,e.LinearTerm,e.ConstantTerm]},4074543187:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},33720170:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},3599934289:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},1894708472:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},42703149:function(e){return[e.Position,e.SineTerm,e.LinearTerm,e.ConstantTerm]},4097777520:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.LongName,e.CompositionType,e.RefLatitude,e.RefLongitude,e.RefElevation,e.LandTitleNumber,e.SiteAddress]},2533589738:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},1072016465:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},3856911033:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.LongName,e.CompositionType,e.PredefinedType,e.ElevationWithFlooring]},1305183839:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},3812236995:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType,e.LongName]},3112655638:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},1039846685:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},338393293:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},682877961:function(e){var t;return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.AppliedLoad,e.GlobalOrLocal,null==(t=e.DestabilizingLoad)?void 0:t.toString()]},1179482911:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.AppliedCondition]},1004757350:function(e){var t;return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.AppliedLoad,e.GlobalOrLocal,null==(t=e.DestabilizingLoad)?void 0:t.toString(),e.ProjectedOrTrue,e.PredefinedType]},4243806635:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.AppliedCondition,e.AxisDirection]},214636428:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.PredefinedType,e.Axis]},2445595289:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.PredefinedType,e.Axis]},2757150158:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.AppliedLoad,e.GlobalOrLocal,e.PredefinedType]},1807405624:function(e){var t;return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.AppliedLoad,e.GlobalOrLocal,null==(t=e.DestabilizingLoad)?void 0:t.toString(),e.ProjectedOrTrue,e.PredefinedType]},1252848954:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.PredefinedType,e.ActionType,e.ActionSource,e.Coefficient,e.Purpose]},2082059205:function(e){var t;return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.AppliedLoad,e.GlobalOrLocal,null==(t=e.DestabilizingLoad)?void 0:t.toString()]},734778138:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.AppliedCondition,e.ConditionCoordinateSystem]},1235345126:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.AppliedLoad,e.GlobalOrLocal]},2986769608:function(e){var t;return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.TheoryType,e.ResultForLoadGroup,null==(t=e.IsLinear)?void 0:t.toString()]},3657597509:function(e){var t;return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.AppliedLoad,e.GlobalOrLocal,null==(t=e.DestabilizingLoad)?void 0:t.toString(),e.ProjectedOrTrue,e.PredefinedType]},1975003073:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.AppliedCondition]},148013059:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.Identification,e.LongDescription,e.Usage,e.BaseCosts,e.BaseQuantity,e.PredefinedType]},3101698114:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},2315554128:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},2254336722:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType]},413509423:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},5716631:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},3824725483:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.SteelGrade,e.PredefinedType,e.NominalDiameter,e.CrossSectionArea,e.TensionForce,e.PreStress,e.FrictionCoefficient,e.AnchorageSlip,e.MinCurvatureRadius]},2347447852:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.SteelGrade,e.PredefinedType]},3081323446:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},3663046924:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.SteelGrade,e.PredefinedType]},2281632017:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},2415094496:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType,e.NominalDiameter,e.CrossSectionArea,e.SheathDiameter]},618700268:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},1692211062:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},2097647324:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},1953115116:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag]},3593883385:function(e){var t;return[e.BasisCurve,e.Trim1,e.Trim2,null==(t=e.SenseAgreement)?void 0:t.toString(),e.MasterRepresentation]},1600972822:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},1911125066:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},728799441:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},840318589:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},1530820697:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},3956297820:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},2391383451:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},3313531582:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},2769231204:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},926996030:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},1898987631:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},1133259667:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},4009809668:function(e){var t;return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType,e.PartitioningType,null==(t=e.ParameterTakesPrecedence)?void 0:t.toString(),e.UserDefinedPartitioningType]},4088093105:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.Identification,e.WorkingTimes,e.ExceptionTimes,e.PredefinedType]},1028945134:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.Identification,e.CreationDate,e.Creators,e.Purpose,e.Duration,e.TotalFloat,e.StartTime,e.FinishTime]},4218914973:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.Identification,e.CreationDate,e.Creators,e.Purpose,e.Duration,e.TotalFloat,e.StartTime,e.FinishTime,e.PredefinedType]},3342526732:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.Identification,e.CreationDate,e.Creators,e.Purpose,e.Duration,e.TotalFloat,e.StartTime,e.FinishTime,e.PredefinedType]},1033361043:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.LongName]},3821786052:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.Identification,e.PredefinedType,e.Status,e.LongDescription]},1411407467:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},3352864051:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},1871374353:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},4266260250:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.RailHeadDistance]},1545765605:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation]},317615605:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.DesignParameters]},1662888072:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation]},3460190687:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.Identification,e.OriginalValue,e.CurrentValue,e.TotalReplacementCost,e.Owner,e.User,e.ResponsiblePerson,e.IncorporationDate,e.DepreciatedValue]},1532957894:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},1967976161:function(e){var t,n;return[e.Degree,e.ControlPointsList,e.CurveForm,null==(t=e.ClosedCurve)?void 0:t.toString(),null==(n=e.SelfIntersect)?void 0:n.toString()]},2461110595:function(e){var t,n;return[e.Degree,e.ControlPointsList,e.CurveForm,null==(t=e.ClosedCurve)?void 0:t.toString(),null==(n=e.SelfIntersect)?void 0:n.toString(),e.KnotMultiplicities,e.Knots,e.KnotSpec]},819618141:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},3649138523:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},231477066:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},1136057603:function(e){var t;return[e.Segments,null==(t=e.SelfIntersect)?void 0:t.toString()]},644574406:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.LongName,e.CompositionType,e.PredefinedType]},963979645:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.LongName,e.CompositionType,e.UsageType,e.PredefinedType]},4031249490:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.LongName,e.CompositionType,e.ElevationOfRefHeight,e.ElevationOfTerrain,e.BuildingAddress]},2979338954:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},39481116:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},1909888760:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},1177604601:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.PredefinedType,e.LongName]},1876633798:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag]},3862327254:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.PredefinedType,e.LongName]},2188180465:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},395041908:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},3293546465:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},2674252688:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},1285652485:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},3203706013:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},2951183804:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},3296154744:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},2611217952:function(e){return[e.Position,e.Radius]},1677625105:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag]},2301859152:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},843113511:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},400855858:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},3850581409:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},2816379211:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},3898045240:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.Identification,e.LongDescription,e.Usage,e.BaseCosts,e.BaseQuantity,e.PredefinedType]},1060000209:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.Identification,e.LongDescription,e.Usage,e.BaseCosts,e.BaseQuantity,e.PredefinedType]},488727124:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.Identification,e.LongDescription,e.Usage,e.BaseCosts,e.BaseQuantity,e.PredefinedType]},2940368186:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},335055490:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},2954562838:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},1502416096:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},1973544240:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},3495092785:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},3961806047:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},3426335179:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag]},1335981549:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},2635815018:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},479945903:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},1599208980:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},2063403501:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType]},1945004755:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag]},3040386961:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag]},3041715199:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.FlowDirection,e.PredefinedType,e.SystemType]},3205830791:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.LongName,e.PredefinedType]},395920057:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.OverallHeight,e.OverallWidth,e.PredefinedType,e.OperationType,e.UserDefinedOperationType]},869906466:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},3760055223:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},2030761528:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},3071239417:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},1077100507:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag]},3376911765:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},663422040:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},2417008758:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},3277789161:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},2142170206:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},1534661035:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},1217240411:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},712377611:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},1658829314:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag]},2814081492:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},3747195512:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},484807127:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},1209101575:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.LongName,e.PredefinedType]},346874300:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},1810631287:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},4222183408:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},2058353004:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag]},4278956645:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag]},4037862832:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},2188021234:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},3132237377:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag]},987401354:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag]},707683696:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag]},2223149337:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag]},3508470533:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag]},900683007:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},2713699986:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag]},3009204131:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.UAxes,e.VAxes,e.WAxes,e.PredefinedType]},3319311131:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},2068733104:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},4175244083:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},2176052936:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},2696325953:function(e){var t;return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,null==(t=e.Mountable)?void 0:t.toString()]},76236018:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},629592764:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},1154579445:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation]},1638804497:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},1437502449:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},1073191201:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},2078563270:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},234836483:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},2474470126:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},2182337498:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},144952367:function(e){var t;return[e.Segments,null==(t=e.SelfIntersect)?void 0:t.toString()]},3694346114:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},1383356374:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},1687234759:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType,e.ConstructionType]},310824031:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},3612865200:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},3171933400:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},738039164:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},655969474:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},90941305:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},3290496277:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},2262370178:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},3024970846:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},3283111854:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},1232101972:function(e){var t,n;return[e.Degree,e.ControlPointsList,e.CurveForm,null==(t=e.ClosedCurve)?void 0:t.toString(),null==(n=e.SelfIntersect)?void 0:n.toString(),e.KnotMultiplicities,e.Knots,e.KnotSpec,e.WeightsData]},3798194928:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},979691226:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.SteelGrade,e.NominalDiameter,e.CrossSectionArea,e.BarLength,e.PredefinedType,e.BarSurface]},2572171363:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType,e.NominalDiameter,e.CrossSectionArea,e.BarLength,e.BarSurface,e.BendingShapeCode,e.BendingParameters?e.BendingParameters.map((function(e){return Y_(e)})):null]},2016517767:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},3053780830:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},1783015770:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},1329646415:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},991950508:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},1529196076:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},3420628829:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},1999602285:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},1404847402:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},331165859:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},4252922144:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.NumberOfRisers,e.NumberOfTreads,e.RiserHeight,e.TreadLength,e.PredefinedType]},2515109513:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.PredefinedType,e.OrientationOf2DPlane,e.LoadedBy,e.HasResults,e.SharedPlacement]},385403989:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.PredefinedType,e.ActionType,e.ActionSource,e.Coefficient,e.Purpose,e.SelfWeightCoefficients]},1621171031:function(e){var t;return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.AppliedLoad,e.GlobalOrLocal,null==(t=e.DestabilizingLoad)?void 0:t.toString(),e.ProjectedOrTrue,e.PredefinedType]},1162798199:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},812556717:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},3425753595:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},3825984169:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},1620046519:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},3026737570:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},3179687236:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},4292641817:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},4207607924:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},2391406946:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},3512223829:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},4237592921:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},3304561284:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.OverallHeight,e.OverallWidth,e.PredefinedType,e.PartitioningType,e.UserDefinedPartitioningType]},2874132201:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},1634111441:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},177149247:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},2056796094:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},3001207471:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},325726236:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.PredefinedType]},277319702:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},753842376:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},4196446775:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},32344328:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},3314249567:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag]},1095909175:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},2938176219:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},635142910:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},3758799889:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},1051757585:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},4217484030:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},3999819293:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},3902619387:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},639361253:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},3221913625:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},3571504051:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},2272882330:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},578613899:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},3460952963:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},4136498852:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},3640358203:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},4074379575:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},3693000487:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},1052013943:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},562808652:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.LongName,e.PredefinedType]},1062813311:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag]},342316401:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},3518393246:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},1360408905:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},1904799276:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},862014818:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},3310460725:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},24726584:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},264262732:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},402227799:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},1003880860:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},3415622556:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},819412036:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},1426591983:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},182646315:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},2680139844:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag]},1971632696:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag]},2295281155:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},4086658281:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},630975310:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},4288193352:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},3087945054:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},25142252:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]}},W_[3]={3699917729:function(e){return new t_.IfcAbsorbedDoseMeasure(e)},4182062534:function(e){return new t_.IfcAccelerationMeasure(e)},360377573:function(e){return new t_.IfcAmountOfSubstanceMeasure(e)},632304761:function(e){return new t_.IfcAngularVelocityMeasure(e)},3683503648:function(e){return new t_.IfcArcIndex(e)},1500781891:function(e){return new t_.IfcAreaDensityMeasure(e)},2650437152:function(e){return new t_.IfcAreaMeasure(e)},2314439260:function(e){return new t_.IfcBinary(e)},2735952531:function(e){return new t_.IfcBoolean(e)},1867003952:function(e){return new t_.IfcBoxAlignment(e)},1683019596:function(e){return new t_.IfcCardinalPointReference(e)},2991860651:function(e){return new t_.IfcComplexNumber(e)},3812528620:function(e){return new t_.IfcCompoundPlaneAngleMeasure(e)},3238673880:function(e){return new t_.IfcContextDependentMeasure(e)},1778710042:function(e){return new t_.IfcCountMeasure(e)},94842927:function(e){return new t_.IfcCurvatureMeasure(e)},937566702:function(e){return new t_.IfcDate(e)},2195413836:function(e){return new t_.IfcDateTime(e)},86635668:function(e){return new t_.IfcDayInMonthNumber(e)},3701338814:function(e){return new t_.IfcDayInWeekNumber(e)},1514641115:function(e){return new t_.IfcDescriptiveMeasure(e)},4134073009:function(e){return new t_.IfcDimensionCount(e)},524656162:function(e){return new t_.IfcDoseEquivalentMeasure(e)},2541165894:function(e){return new t_.IfcDuration(e)},69416015:function(e){return new t_.IfcDynamicViscosityMeasure(e)},1827137117:function(e){return new t_.IfcElectricCapacitanceMeasure(e)},3818826038:function(e){return new t_.IfcElectricChargeMeasure(e)},2093906313:function(e){return new t_.IfcElectricConductanceMeasure(e)},3790457270:function(e){return new t_.IfcElectricCurrentMeasure(e)},2951915441:function(e){return new t_.IfcElectricResistanceMeasure(e)},2506197118:function(e){return new t_.IfcElectricVoltageMeasure(e)},2078135608:function(e){return new t_.IfcEnergyMeasure(e)},1102727119:function(e){return new t_.IfcFontStyle(e)},2715512545:function(e){return new t_.IfcFontVariant(e)},2590844177:function(e){return new t_.IfcFontWeight(e)},1361398929:function(e){return new t_.IfcForceMeasure(e)},3044325142:function(e){return new t_.IfcFrequencyMeasure(e)},3064340077:function(e){return new t_.IfcGloballyUniqueId(e)},3113092358:function(e){return new t_.IfcHeatFluxDensityMeasure(e)},1158859006:function(e){return new t_.IfcHeatingValueMeasure(e)},983778844:function(e){return new t_.IfcIdentifier(e)},3358199106:function(e){return new t_.IfcIlluminanceMeasure(e)},2679005408:function(e){return new t_.IfcInductanceMeasure(e)},1939436016:function(e){return new t_.IfcInteger(e)},3809634241:function(e){return new t_.IfcIntegerCountRateMeasure(e)},3686016028:function(e){return new t_.IfcIonConcentrationMeasure(e)},3192672207:function(e){return new t_.IfcIsothermalMoistureCapacityMeasure(e)},2054016361:function(e){return new t_.IfcKinematicViscosityMeasure(e)},3258342251:function(e){return new t_.IfcLabel(e)},1275358634:function(e){return new t_.IfcLanguageId(e)},1243674935:function(e){return new t_.IfcLengthMeasure(e)},1774176899:function(e){return new t_.IfcLineIndex(e)},191860431:function(e){return new t_.IfcLinearForceMeasure(e)},2128979029:function(e){return new t_.IfcLinearMomentMeasure(e)},1307019551:function(e){return new t_.IfcLinearStiffnessMeasure(e)},3086160713:function(e){return new t_.IfcLinearVelocityMeasure(e)},503418787:function(e){return new t_.IfcLogical(e)},2095003142:function(e){return new t_.IfcLuminousFluxMeasure(e)},2755797622:function(e){return new t_.IfcLuminousIntensityDistributionMeasure(e)},151039812:function(e){return new t_.IfcLuminousIntensityMeasure(e)},286949696:function(e){return new t_.IfcMagneticFluxDensityMeasure(e)},2486716878:function(e){return new t_.IfcMagneticFluxMeasure(e)},1477762836:function(e){return new t_.IfcMassDensityMeasure(e)},4017473158:function(e){return new t_.IfcMassFlowRateMeasure(e)},3124614049:function(e){return new t_.IfcMassMeasure(e)},3531705166:function(e){return new t_.IfcMassPerLengthMeasure(e)},3341486342:function(e){return new t_.IfcModulusOfElasticityMeasure(e)},2173214787:function(e){return new t_.IfcModulusOfLinearSubgradeReactionMeasure(e)},1052454078:function(e){return new t_.IfcModulusOfRotationalSubgradeReactionMeasure(e)},1753493141:function(e){return new t_.IfcModulusOfSubgradeReactionMeasure(e)},3177669450:function(e){return new t_.IfcMoistureDiffusivityMeasure(e)},1648970520:function(e){return new t_.IfcMolecularWeightMeasure(e)},3114022597:function(e){return new t_.IfcMomentOfInertiaMeasure(e)},2615040989:function(e){return new t_.IfcMonetaryMeasure(e)},765770214:function(e){return new t_.IfcMonthInYearNumber(e)},525895558:function(e){return new t_.IfcNonNegativeLengthMeasure(e)},2095195183:function(e){return new t_.IfcNormalisedRatioMeasure(e)},2395907400:function(e){return new t_.IfcNumericMeasure(e)},929793134:function(e){return new t_.IfcPHMeasure(e)},2260317790:function(e){return new t_.IfcParameterValue(e)},2642773653:function(e){return new t_.IfcPlanarForceMeasure(e)},4042175685:function(e){return new t_.IfcPlaneAngleMeasure(e)},1790229001:function(e){return new t_.IfcPositiveInteger(e)},2815919920:function(e){return new t_.IfcPositiveLengthMeasure(e)},3054510233:function(e){return new t_.IfcPositivePlaneAngleMeasure(e)},1245737093:function(e){return new t_.IfcPositiveRatioMeasure(e)},1364037233:function(e){return new t_.IfcPowerMeasure(e)},2169031380:function(e){return new t_.IfcPresentableText(e)},3665567075:function(e){return new t_.IfcPressureMeasure(e)},2798247006:function(e){return new t_.IfcPropertySetDefinitionSet(e)},3972513137:function(e){return new t_.IfcRadioActivityMeasure(e)},96294661:function(e){return new t_.IfcRatioMeasure(e)},200335297:function(e){return new t_.IfcReal(e)},2133746277:function(e){return new t_.IfcRotationalFrequencyMeasure(e)},1755127002:function(e){return new t_.IfcRotationalMassMeasure(e)},3211557302:function(e){return new t_.IfcRotationalStiffnessMeasure(e)},3467162246:function(e){return new t_.IfcSectionModulusMeasure(e)},2190458107:function(e){return new t_.IfcSectionalAreaIntegralMeasure(e)},408310005:function(e){return new t_.IfcShearModulusMeasure(e)},3471399674:function(e){return new t_.IfcSolidAngleMeasure(e)},4157543285:function(e){return new t_.IfcSoundPowerLevelMeasure(e)},846465480:function(e){return new t_.IfcSoundPowerMeasure(e)},3457685358:function(e){return new t_.IfcSoundPressureLevelMeasure(e)},993287707:function(e){return new t_.IfcSoundPressureMeasure(e)},3477203348:function(e){return new t_.IfcSpecificHeatCapacityMeasure(e)},2757832317:function(e){return new t_.IfcSpecularExponent(e)},361837227:function(e){return new t_.IfcSpecularRoughness(e)},58845555:function(e){return new t_.IfcTemperatureGradientMeasure(e)},1209108979:function(e){return new t_.IfcTemperatureRateOfChangeMeasure(e)},2801250643:function(e){return new t_.IfcText(e)},1460886941:function(e){return new t_.IfcTextAlignment(e)},3490877962:function(e){return new t_.IfcTextDecoration(e)},603696268:function(e){return new t_.IfcTextFontName(e)},296282323:function(e){return new t_.IfcTextTransformation(e)},232962298:function(e){return new t_.IfcThermalAdmittanceMeasure(e)},2645777649:function(e){return new t_.IfcThermalConductivityMeasure(e)},2281867870:function(e){return new t_.IfcThermalExpansionCoefficientMeasure(e)},857959152:function(e){return new t_.IfcThermalResistanceMeasure(e)},2016195849:function(e){return new t_.IfcThermalTransmittanceMeasure(e)},743184107:function(e){return new t_.IfcThermodynamicTemperatureMeasure(e)},4075327185:function(e){return new t_.IfcTime(e)},2726807636:function(e){return new t_.IfcTimeMeasure(e)},2591213694:function(e){return new t_.IfcTimeStamp(e)},1278329552:function(e){return new t_.IfcTorqueMeasure(e)},950732822:function(e){return new t_.IfcURIReference(e)},3345633955:function(e){return new t_.IfcVaporPermeabilityMeasure(e)},3458127941:function(e){return new t_.IfcVolumeMeasure(e)},2593997549:function(e){return new t_.IfcVolumetricFlowRateMeasure(e)},51269191:function(e){return new t_.IfcWarpingConstantMeasure(e)},1718600412:function(e){return new t_.IfcWarpingMomentMeasure(e)}},function(e){var t=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcAbsorbedDoseMeasure=t;var n=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcAccelerationMeasure=n;var r=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcAmountOfSubstanceMeasure=r;var i=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcAngularVelocityMeasure=i;var a=P((function e(t){b(this,e),this.value=t}));e.IfcArcIndex=a;var s=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcAreaDensityMeasure=s;var o=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcAreaMeasure=o;var l=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcBinary=l;var u=P((function e(t){b(this,e),this.type=3,this.value="true"==t}));e.IfcBoolean=u;var c=P((function e(t){b(this,e),this.value=t,this.type=1}));e.IfcBoxAlignment=c;var f=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcCardinalPointReference=f;var p=P((function e(t){b(this,e),this.value=t}));e.IfcComplexNumber=p;var A=P((function e(t){b(this,e),this.value=t}));e.IfcCompoundPlaneAngleMeasure=A;var d=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcContextDependentMeasure=d;var v=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcCountMeasure=v;var h=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcCurvatureMeasure=h;var y=P((function e(t){b(this,e),this.value=t,this.type=1}));e.IfcDate=y;var w=P((function e(t){b(this,e),this.value=t,this.type=1}));e.IfcDateTime=w;var g=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcDayInMonthNumber=g;var E=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcDayInWeekNumber=E;var T=P((function e(t){b(this,e),this.value=t,this.type=1}));e.IfcDescriptiveMeasure=T;var D=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcDimensionCount=D;var R=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcDoseEquivalentMeasure=R;var C=P((function e(t){b(this,e),this.value=t,this.type=1}));e.IfcDuration=C;var _=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcDynamicViscosityMeasure=_;var B=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcElectricCapacitanceMeasure=B;var O=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcElectricChargeMeasure=O;var S=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcElectricConductanceMeasure=S;var N=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcElectricCurrentMeasure=N;var L=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcElectricResistanceMeasure=L;var x=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcElectricVoltageMeasure=x;var M=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcEnergyMeasure=M;var F=P((function e(t){b(this,e),this.value=t,this.type=1}));e.IfcFontStyle=F;var H=P((function e(t){b(this,e),this.value=t,this.type=1}));e.IfcFontVariant=H;var U=P((function e(t){b(this,e),this.value=t,this.type=1}));e.IfcFontWeight=U;var G=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcForceMeasure=G;var k=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcFrequencyMeasure=k;var j=P((function e(t){b(this,e),this.value=t,this.type=1}));e.IfcGloballyUniqueId=j;var V=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcHeatFluxDensityMeasure=V;var Q=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcHeatingValueMeasure=Q;var W=P((function e(t){b(this,e),this.value=t,this.type=1}));e.IfcIdentifier=W;var z=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcIlluminanceMeasure=z;var K=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcInductanceMeasure=K;var Y=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcInteger=Y;var X=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcIntegerCountRateMeasure=X;var q=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcIonConcentrationMeasure=q;var J=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcIsothermalMoistureCapacityMeasure=J;var Z=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcKinematicViscosityMeasure=Z;var $=P((function e(t){b(this,e),this.value=t,this.type=1}));e.IfcLabel=$;var ee=P((function e(t){b(this,e),this.value=t,this.type=1}));e.IfcLanguageId=ee;var te=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcLengthMeasure=te;var ne=P((function e(t){b(this,e),this.value=t}));e.IfcLineIndex=ne;var re=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcLinearForceMeasure=re;var ie=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcLinearMomentMeasure=ie;var ae=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcLinearStiffnessMeasure=ae;var se=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcLinearVelocityMeasure=se;var oe=P((function e(t){b(this,e),this.type=3,this.value="true"==t}));e.IfcLogical=oe;var le=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcLuminousFluxMeasure=le;var ue=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcLuminousIntensityDistributionMeasure=ue;var ce=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcLuminousIntensityMeasure=ce;var fe=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcMagneticFluxDensityMeasure=fe;var pe=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcMagneticFluxMeasure=pe;var Ae=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcMassDensityMeasure=Ae;var de=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcMassFlowRateMeasure=de;var ve=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcMassMeasure=ve;var he=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcMassPerLengthMeasure=he;var Ie=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcModulusOfElasticityMeasure=Ie;var ye=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcModulusOfLinearSubgradeReactionMeasure=ye;var me=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcModulusOfRotationalSubgradeReactionMeasure=me;var we=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcModulusOfSubgradeReactionMeasure=we;var ge=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcMoistureDiffusivityMeasure=ge;var Ee=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcMolecularWeightMeasure=Ee;var Te=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcMomentOfInertiaMeasure=Te;var be=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcMonetaryMeasure=be;var De=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcMonthInYearNumber=De;var Pe=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcNonNegativeLengthMeasure=Pe;var Re=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcNormalisedRatioMeasure=Re;var Ce=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcNumericMeasure=Ce;var _e=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcPHMeasure=_e;var Be=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcParameterValue=Be;var Oe=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcPlanarForceMeasure=Oe;var Se=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcPlaneAngleMeasure=Se;var Ne=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcPositiveInteger=Ne;var Le=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcPositiveLengthMeasure=Le;var xe=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcPositivePlaneAngleMeasure=xe;var Me=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcPositiveRatioMeasure=Me;var Fe=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcPowerMeasure=Fe;var He=P((function e(t){b(this,e),this.value=t,this.type=1}));e.IfcPresentableText=He;var Ue=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcPressureMeasure=Ue;var Ge=P((function e(t){b(this,e),this.value=t}));e.IfcPropertySetDefinitionSet=Ge;var ke=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcRadioActivityMeasure=ke;var je=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcRatioMeasure=je;var Ve=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcReal=Ve;var Qe=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcRotationalFrequencyMeasure=Qe;var We=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcRotationalMassMeasure=We;var ze=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcRotationalStiffnessMeasure=ze;var Ke=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcSectionModulusMeasure=Ke;var Ye=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcSectionalAreaIntegralMeasure=Ye;var Xe=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcShearModulusMeasure=Xe;var qe=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcSolidAngleMeasure=qe;var Je=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcSoundPowerLevelMeasure=Je;var Ze=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcSoundPowerMeasure=Ze;var $e=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcSoundPressureLevelMeasure=$e;var et=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcSoundPressureMeasure=et;var tt=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcSpecificHeatCapacityMeasure=tt;var nt=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcSpecularExponent=nt;var rt=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcSpecularRoughness=rt;var it=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcTemperatureGradientMeasure=it;var at=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcTemperatureRateOfChangeMeasure=at;var st=P((function e(t){b(this,e),this.value=t,this.type=1}));e.IfcText=st;var ot=P((function e(t){b(this,e),this.value=t,this.type=1}));e.IfcTextAlignment=ot;var lt=P((function e(t){b(this,e),this.value=t,this.type=1}));e.IfcTextDecoration=lt;var ut=P((function e(t){b(this,e),this.value=t,this.type=1}));e.IfcTextFontName=ut;var ct=P((function e(t){b(this,e),this.value=t,this.type=1}));e.IfcTextTransformation=ct;var ft=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcThermalAdmittanceMeasure=ft;var pt=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcThermalConductivityMeasure=pt;var At=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcThermalExpansionCoefficientMeasure=At;var dt=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcThermalResistanceMeasure=dt;var vt=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcThermalTransmittanceMeasure=vt;var ht=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcThermodynamicTemperatureMeasure=ht;var It=P((function e(t){b(this,e),this.value=t,this.type=1}));e.IfcTime=It;var yt=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcTimeMeasure=yt;var mt=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcTimeStamp=mt;var wt=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcTorqueMeasure=wt;var gt=P((function e(t){b(this,e),this.value=t,this.type=1}));e.IfcURIReference=gt;var Et=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcVaporPermeabilityMeasure=Et;var Tt=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcVolumeMeasure=Tt;var bt=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcVolumetricFlowRateMeasure=bt;var Dt=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcWarpingConstantMeasure=Dt;var Pt=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcWarpingMomentMeasure=Pt;var Rt=P((function e(){b(this,e)}));Rt.EMAIL={type:3,value:"EMAIL"},Rt.FAX={type:3,value:"FAX"},Rt.PHONE={type:3,value:"PHONE"},Rt.POST={type:3,value:"POST"},Rt.VERBAL={type:3,value:"VERBAL"},Rt.USERDEFINED={type:3,value:"USERDEFINED"},Rt.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcActionRequestTypeEnum=Rt;var Ct=P((function e(){b(this,e)}));Ct.BRAKES={type:3,value:"BRAKES"},Ct.BUOYANCY={type:3,value:"BUOYANCY"},Ct.COMPLETION_G1={type:3,value:"COMPLETION_G1"},Ct.CREEP={type:3,value:"CREEP"},Ct.CURRENT={type:3,value:"CURRENT"},Ct.DEAD_LOAD_G={type:3,value:"DEAD_LOAD_G"},Ct.EARTHQUAKE_E={type:3,value:"EARTHQUAKE_E"},Ct.ERECTION={type:3,value:"ERECTION"},Ct.FIRE={type:3,value:"FIRE"},Ct.ICE={type:3,value:"ICE"},Ct.IMPACT={type:3,value:"IMPACT"},Ct.IMPULSE={type:3,value:"IMPULSE"},Ct.LACK_OF_FIT={type:3,value:"LACK_OF_FIT"},Ct.LIVE_LOAD_Q={type:3,value:"LIVE_LOAD_Q"},Ct.PRESTRESSING_P={type:3,value:"PRESTRESSING_P"},Ct.PROPPING={type:3,value:"PROPPING"},Ct.RAIN={type:3,value:"RAIN"},Ct.SETTLEMENT_U={type:3,value:"SETTLEMENT_U"},Ct.SHRINKAGE={type:3,value:"SHRINKAGE"},Ct.SNOW_S={type:3,value:"SNOW_S"},Ct.SYSTEM_IMPERFECTION={type:3,value:"SYSTEM_IMPERFECTION"},Ct.TEMPERATURE_T={type:3,value:"TEMPERATURE_T"},Ct.TRANSPORT={type:3,value:"TRANSPORT"},Ct.WAVE={type:3,value:"WAVE"},Ct.WIND_W={type:3,value:"WIND_W"},Ct.USERDEFINED={type:3,value:"USERDEFINED"},Ct.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcActionSourceTypeEnum=Ct;var _t=P((function e(){b(this,e)}));_t.EXTRAORDINARY_A={type:3,value:"EXTRAORDINARY_A"},_t.PERMANENT_G={type:3,value:"PERMANENT_G"},_t.VARIABLE_Q={type:3,value:"VARIABLE_Q"},_t.USERDEFINED={type:3,value:"USERDEFINED"},_t.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcActionTypeEnum=_t;var Bt=P((function e(){b(this,e)}));Bt.ELECTRICACTUATOR={type:3,value:"ELECTRICACTUATOR"},Bt.HANDOPERATEDACTUATOR={type:3,value:"HANDOPERATEDACTUATOR"},Bt.HYDRAULICACTUATOR={type:3,value:"HYDRAULICACTUATOR"},Bt.PNEUMATICACTUATOR={type:3,value:"PNEUMATICACTUATOR"},Bt.THERMOSTATICACTUATOR={type:3,value:"THERMOSTATICACTUATOR"},Bt.USERDEFINED={type:3,value:"USERDEFINED"},Bt.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcActuatorTypeEnum=Bt;var Ot=P((function e(){b(this,e)}));Ot.DISTRIBUTIONPOINT={type:3,value:"DISTRIBUTIONPOINT"},Ot.HOME={type:3,value:"HOME"},Ot.OFFICE={type:3,value:"OFFICE"},Ot.SITE={type:3,value:"SITE"},Ot.USERDEFINED={type:3,value:"USERDEFINED"},e.IfcAddressTypeEnum=Ot;var St=P((function e(){b(this,e)}));St.CONSTANTFLOW={type:3,value:"CONSTANTFLOW"},St.VARIABLEFLOWPRESSUREDEPENDANT={type:3,value:"VARIABLEFLOWPRESSUREDEPENDANT"},St.VARIABLEFLOWPRESSUREINDEPENDANT={type:3,value:"VARIABLEFLOWPRESSUREINDEPENDANT"},St.USERDEFINED={type:3,value:"USERDEFINED"},St.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcAirTerminalBoxTypeEnum=St;var Nt=P((function e(){b(this,e)}));Nt.DIFFUSER={type:3,value:"DIFFUSER"},Nt.GRILLE={type:3,value:"GRILLE"},Nt.LOUVRE={type:3,value:"LOUVRE"},Nt.REGISTER={type:3,value:"REGISTER"},Nt.USERDEFINED={type:3,value:"USERDEFINED"},Nt.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcAirTerminalTypeEnum=Nt;var Lt=P((function e(){b(this,e)}));Lt.FIXEDPLATECOUNTERFLOWEXCHANGER={type:3,value:"FIXEDPLATECOUNTERFLOWEXCHANGER"},Lt.FIXEDPLATECROSSFLOWEXCHANGER={type:3,value:"FIXEDPLATECROSSFLOWEXCHANGER"},Lt.FIXEDPLATEPARALLELFLOWEXCHANGER={type:3,value:"FIXEDPLATEPARALLELFLOWEXCHANGER"},Lt.HEATPIPE={type:3,value:"HEATPIPE"},Lt.ROTARYWHEEL={type:3,value:"ROTARYWHEEL"},Lt.RUNAROUNDCOILLOOP={type:3,value:"RUNAROUNDCOILLOOP"},Lt.THERMOSIPHONCOILTYPEHEATEXCHANGERS={type:3,value:"THERMOSIPHONCOILTYPEHEATEXCHANGERS"},Lt.THERMOSIPHONSEALEDTUBEHEATEXCHANGERS={type:3,value:"THERMOSIPHONSEALEDTUBEHEATEXCHANGERS"},Lt.TWINTOWERENTHALPYRECOVERYLOOPS={type:3,value:"TWINTOWERENTHALPYRECOVERYLOOPS"},Lt.USERDEFINED={type:3,value:"USERDEFINED"},Lt.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcAirToAirHeatRecoveryTypeEnum=Lt;var xt=P((function e(){b(this,e)}));xt.BELL={type:3,value:"BELL"},xt.BREAKGLASSBUTTON={type:3,value:"BREAKGLASSBUTTON"},xt.LIGHT={type:3,value:"LIGHT"},xt.MANUALPULLBOX={type:3,value:"MANUALPULLBOX"},xt.RAILWAYCROCODILE={type:3,value:"RAILWAYCROCODILE"},xt.RAILWAYDETONATOR={type:3,value:"RAILWAYDETONATOR"},xt.SIREN={type:3,value:"SIREN"},xt.WHISTLE={type:3,value:"WHISTLE"},xt.USERDEFINED={type:3,value:"USERDEFINED"},xt.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcAlarmTypeEnum=xt;var Mt=P((function e(){b(this,e)}));Mt.BLOSSCURVE={type:3,value:"BLOSSCURVE"},Mt.CONSTANTCANT={type:3,value:"CONSTANTCANT"},Mt.COSINECURVE={type:3,value:"COSINECURVE"},Mt.HELMERTCURVE={type:3,value:"HELMERTCURVE"},Mt.LINEARTRANSITION={type:3,value:"LINEARTRANSITION"},Mt.SINECURVE={type:3,value:"SINECURVE"},Mt.VIENNESEBEND={type:3,value:"VIENNESEBEND"},e.IfcAlignmentCantSegmentTypeEnum=Mt;var Ft=P((function e(){b(this,e)}));Ft.BLOSSCURVE={type:3,value:"BLOSSCURVE"},Ft.CIRCULARARC={type:3,value:"CIRCULARARC"},Ft.CLOTHOID={type:3,value:"CLOTHOID"},Ft.COSINECURVE={type:3,value:"COSINECURVE"},Ft.CUBIC={type:3,value:"CUBIC"},Ft.HELMERTCURVE={type:3,value:"HELMERTCURVE"},Ft.LINE={type:3,value:"LINE"},Ft.SINECURVE={type:3,value:"SINECURVE"},Ft.VIENNESEBEND={type:3,value:"VIENNESEBEND"},e.IfcAlignmentHorizontalSegmentTypeEnum=Ft;var Ht=P((function e(){b(this,e)}));Ht.USERDEFINED={type:3,value:"USERDEFINED"},Ht.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcAlignmentTypeEnum=Ht;var Ut=P((function e(){b(this,e)}));Ut.CIRCULARARC={type:3,value:"CIRCULARARC"},Ut.CLOTHOID={type:3,value:"CLOTHOID"},Ut.CONSTANTGRADIENT={type:3,value:"CONSTANTGRADIENT"},Ut.PARABOLICARC={type:3,value:"PARABOLICARC"},e.IfcAlignmentVerticalSegmentTypeEnum=Ut;var Gt=P((function e(){b(this,e)}));Gt.IN_PLANE_LOADING_2D={type:3,value:"IN_PLANE_LOADING_2D"},Gt.LOADING_3D={type:3,value:"LOADING_3D"},Gt.OUT_PLANE_LOADING_2D={type:3,value:"OUT_PLANE_LOADING_2D"},Gt.USERDEFINED={type:3,value:"USERDEFINED"},Gt.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcAnalysisModelTypeEnum=Gt;var kt=P((function e(){b(this,e)}));kt.FIRST_ORDER_THEORY={type:3,value:"FIRST_ORDER_THEORY"},kt.FULL_NONLINEAR_THEORY={type:3,value:"FULL_NONLINEAR_THEORY"},kt.SECOND_ORDER_THEORY={type:3,value:"SECOND_ORDER_THEORY"},kt.THIRD_ORDER_THEORY={type:3,value:"THIRD_ORDER_THEORY"},kt.USERDEFINED={type:3,value:"USERDEFINED"},kt.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcAnalysisTheoryTypeEnum=kt;var jt=P((function e(){b(this,e)}));jt.ASBUILTAREA={type:3,value:"ASBUILTAREA"},jt.ASBUILTLINE={type:3,value:"ASBUILTLINE"},jt.ASBUILTPOINT={type:3,value:"ASBUILTPOINT"},jt.ASSUMEDAREA={type:3,value:"ASSUMEDAREA"},jt.ASSUMEDLINE={type:3,value:"ASSUMEDLINE"},jt.ASSUMEDPOINT={type:3,value:"ASSUMEDPOINT"},jt.NON_PHYSICAL_SIGNAL={type:3,value:"NON_PHYSICAL_SIGNAL"},jt.SUPERELEVATIONEVENT={type:3,value:"SUPERELEVATIONEVENT"},jt.WIDTHEVENT={type:3,value:"WIDTHEVENT"},jt.USERDEFINED={type:3,value:"USERDEFINED"},jt.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcAnnotationTypeEnum=jt;var Vt=P((function e(){b(this,e)}));Vt.ADD={type:3,value:"ADD"},Vt.DIVIDE={type:3,value:"DIVIDE"},Vt.MULTIPLY={type:3,value:"MULTIPLY"},Vt.SUBTRACT={type:3,value:"SUBTRACT"},e.IfcArithmeticOperatorEnum=Vt;var Qt=P((function e(){b(this,e)}));Qt.FACTORY={type:3,value:"FACTORY"},Qt.SITE={type:3,value:"SITE"},Qt.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcAssemblyPlaceEnum=Qt;var Wt=P((function e(){b(this,e)}));Wt.AMPLIFIER={type:3,value:"AMPLIFIER"},Wt.CAMERA={type:3,value:"CAMERA"},Wt.COMMUNICATIONTERMINAL={type:3,value:"COMMUNICATIONTERMINAL"},Wt.DISPLAY={type:3,value:"DISPLAY"},Wt.MICROPHONE={type:3,value:"MICROPHONE"},Wt.PLAYER={type:3,value:"PLAYER"},Wt.PROJECTOR={type:3,value:"PROJECTOR"},Wt.RECEIVER={type:3,value:"RECEIVER"},Wt.RECORDINGEQUIPMENT={type:3,value:"RECORDINGEQUIPMENT"},Wt.SPEAKER={type:3,value:"SPEAKER"},Wt.SWITCHER={type:3,value:"SWITCHER"},Wt.TELEPHONE={type:3,value:"TELEPHONE"},Wt.TUNER={type:3,value:"TUNER"},Wt.USERDEFINED={type:3,value:"USERDEFINED"},Wt.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcAudioVisualApplianceTypeEnum=Wt;var zt=P((function e(){b(this,e)}));zt.CIRCULAR_ARC={type:3,value:"CIRCULAR_ARC"},zt.ELLIPTIC_ARC={type:3,value:"ELLIPTIC_ARC"},zt.HYPERBOLIC_ARC={type:3,value:"HYPERBOLIC_ARC"},zt.PARABOLIC_ARC={type:3,value:"PARABOLIC_ARC"},zt.POLYLINE_FORM={type:3,value:"POLYLINE_FORM"},zt.UNSPECIFIED={type:3,value:"UNSPECIFIED"},e.IfcBSplineCurveForm=zt;var Kt=P((function e(){b(this,e)}));Kt.CONICAL_SURF={type:3,value:"CONICAL_SURF"},Kt.CYLINDRICAL_SURF={type:3,value:"CYLINDRICAL_SURF"},Kt.GENERALISED_CONE={type:3,value:"GENERALISED_CONE"},Kt.PLANE_SURF={type:3,value:"PLANE_SURF"},Kt.QUADRIC_SURF={type:3,value:"QUADRIC_SURF"},Kt.RULED_SURF={type:3,value:"RULED_SURF"},Kt.SPHERICAL_SURF={type:3,value:"SPHERICAL_SURF"},Kt.SURF_OF_LINEAR_EXTRUSION={type:3,value:"SURF_OF_LINEAR_EXTRUSION"},Kt.SURF_OF_REVOLUTION={type:3,value:"SURF_OF_REVOLUTION"},Kt.TOROIDAL_SURF={type:3,value:"TOROIDAL_SURF"},Kt.UNSPECIFIED={type:3,value:"UNSPECIFIED"},e.IfcBSplineSurfaceForm=Kt;var Yt=P((function e(){b(this,e)}));Yt.BEAM={type:3,value:"BEAM"},Yt.CORNICE={type:3,value:"CORNICE"},Yt.DIAPHRAGM={type:3,value:"DIAPHRAGM"},Yt.EDGEBEAM={type:3,value:"EDGEBEAM"},Yt.GIRDER_SEGMENT={type:3,value:"GIRDER_SEGMENT"},Yt.HATSTONE={type:3,value:"HATSTONE"},Yt.HOLLOWCORE={type:3,value:"HOLLOWCORE"},Yt.JOIST={type:3,value:"JOIST"},Yt.LINTEL={type:3,value:"LINTEL"},Yt.PIERCAP={type:3,value:"PIERCAP"},Yt.SPANDREL={type:3,value:"SPANDREL"},Yt.T_BEAM={type:3,value:"T_BEAM"},Yt.USERDEFINED={type:3,value:"USERDEFINED"},Yt.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcBeamTypeEnum=Yt;var Xt=P((function e(){b(this,e)}));Xt.FIXED_MOVEMENT={type:3,value:"FIXED_MOVEMENT"},Xt.FREE_MOVEMENT={type:3,value:"FREE_MOVEMENT"},Xt.GUIDED_LONGITUDINAL={type:3,value:"GUIDED_LONGITUDINAL"},Xt.GUIDED_TRANSVERSAL={type:3,value:"GUIDED_TRANSVERSAL"},Xt.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcBearingTypeDisplacementEnum=Xt;var qt=P((function e(){b(this,e)}));qt.CYLINDRICAL={type:3,value:"CYLINDRICAL"},qt.DISK={type:3,value:"DISK"},qt.ELASTOMERIC={type:3,value:"ELASTOMERIC"},qt.GUIDE={type:3,value:"GUIDE"},qt.POT={type:3,value:"POT"},qt.ROCKER={type:3,value:"ROCKER"},qt.ROLLER={type:3,value:"ROLLER"},qt.SPHERICAL={type:3,value:"SPHERICAL"},qt.USERDEFINED={type:3,value:"USERDEFINED"},qt.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcBearingTypeEnum=qt;var Jt=P((function e(){b(this,e)}));Jt.EQUALTO={type:3,value:"EQUALTO"},Jt.GREATERTHAN={type:3,value:"GREATERTHAN"},Jt.GREATERTHANOREQUALTO={type:3,value:"GREATERTHANOREQUALTO"},Jt.INCLUDEDIN={type:3,value:"INCLUDEDIN"},Jt.INCLUDES={type:3,value:"INCLUDES"},Jt.LESSTHAN={type:3,value:"LESSTHAN"},Jt.LESSTHANOREQUALTO={type:3,value:"LESSTHANOREQUALTO"},Jt.NOTEQUALTO={type:3,value:"NOTEQUALTO"},Jt.NOTINCLUDEDIN={type:3,value:"NOTINCLUDEDIN"},Jt.NOTINCLUDES={type:3,value:"NOTINCLUDES"},e.IfcBenchmarkEnum=Jt;var Zt=P((function e(){b(this,e)}));Zt.STEAM={type:3,value:"STEAM"},Zt.WATER={type:3,value:"WATER"},Zt.USERDEFINED={type:3,value:"USERDEFINED"},Zt.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcBoilerTypeEnum=Zt;var $t=P((function e(){b(this,e)}));$t.DIFFERENCE={type:3,value:"DIFFERENCE"},$t.INTERSECTION={type:3,value:"INTERSECTION"},$t.UNION={type:3,value:"UNION"},e.IfcBooleanOperator=$t;var en=P((function e(){b(this,e)}));en.ABUTMENT={type:3,value:"ABUTMENT"},en.DECK={type:3,value:"DECK"},en.DECK_SEGMENT={type:3,value:"DECK_SEGMENT"},en.FOUNDATION={type:3,value:"FOUNDATION"},en.PIER={type:3,value:"PIER"},en.PIER_SEGMENT={type:3,value:"PIER_SEGMENT"},en.PYLON={type:3,value:"PYLON"},en.SUBSTRUCTURE={type:3,value:"SUBSTRUCTURE"},en.SUPERSTRUCTURE={type:3,value:"SUPERSTRUCTURE"},en.SURFACESTRUCTURE={type:3,value:"SURFACESTRUCTURE"},en.USERDEFINED={type:3,value:"USERDEFINED"},en.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcBridgePartTypeEnum=en;var tn=P((function e(){b(this,e)}));tn.ARCHED={type:3,value:"ARCHED"},tn.CABLE_STAYED={type:3,value:"CABLE_STAYED"},tn.CANTILEVER={type:3,value:"CANTILEVER"},tn.CULVERT={type:3,value:"CULVERT"},tn.FRAMEWORK={type:3,value:"FRAMEWORK"},tn.GIRDER={type:3,value:"GIRDER"},tn.SUSPENSION={type:3,value:"SUSPENSION"},tn.TRUSS={type:3,value:"TRUSS"},tn.USERDEFINED={type:3,value:"USERDEFINED"},tn.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcBridgeTypeEnum=tn;var nn=P((function e(){b(this,e)}));nn.APRON={type:3,value:"APRON"},nn.ARMOURUNIT={type:3,value:"ARMOURUNIT"},nn.INSULATION={type:3,value:"INSULATION"},nn.PRECASTPANEL={type:3,value:"PRECASTPANEL"},nn.SAFETYCAGE={type:3,value:"SAFETYCAGE"},nn.USERDEFINED={type:3,value:"USERDEFINED"},nn.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcBuildingElementPartTypeEnum=nn;var rn=P((function e(){b(this,e)}));rn.COMPLEX={type:3,value:"COMPLEX"},rn.ELEMENT={type:3,value:"ELEMENT"},rn.PARTIAL={type:3,value:"PARTIAL"},rn.USERDEFINED={type:3,value:"USERDEFINED"},rn.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcBuildingElementProxyTypeEnum=rn;var an=P((function e(){b(this,e)}));an.EROSIONPREVENTION={type:3,value:"EROSIONPREVENTION"},an.FENESTRATION={type:3,value:"FENESTRATION"},an.FOUNDATION={type:3,value:"FOUNDATION"},an.LOADBEARING={type:3,value:"LOADBEARING"},an.OUTERSHELL={type:3,value:"OUTERSHELL"},an.PRESTRESSING={type:3,value:"PRESTRESSING"},an.REINFORCING={type:3,value:"REINFORCING"},an.SHADING={type:3,value:"SHADING"},an.TRANSPORT={type:3,value:"TRANSPORT"},an.USERDEFINED={type:3,value:"USERDEFINED"},an.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcBuildingSystemTypeEnum=an;var sn=P((function e(){b(this,e)}));sn.EROSIONPREVENTION={type:3,value:"EROSIONPREVENTION"},sn.FENESTRATION={type:3,value:"FENESTRATION"},sn.FOUNDATION={type:3,value:"FOUNDATION"},sn.LOADBEARING={type:3,value:"LOADBEARING"},sn.MOORING={type:3,value:"MOORING"},sn.OUTERSHELL={type:3,value:"OUTERSHELL"},sn.PRESTRESSING={type:3,value:"PRESTRESSING"},sn.RAILWAYLINE={type:3,value:"RAILWAYLINE"},sn.RAILWAYTRACK={type:3,value:"RAILWAYTRACK"},sn.REINFORCING={type:3,value:"REINFORCING"},sn.SHADING={type:3,value:"SHADING"},sn.TRACKCIRCUIT={type:3,value:"TRACKCIRCUIT"},sn.TRANSPORT={type:3,value:"TRANSPORT"},sn.USERDEFINED={type:3,value:"USERDEFINED"},sn.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcBuiltSystemTypeEnum=sn;var on=P((function e(){b(this,e)}));on.USERDEFINED={type:3,value:"USERDEFINED"},on.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcBurnerTypeEnum=on;var ln=P((function e(){b(this,e)}));ln.BEND={type:3,value:"BEND"},ln.CONNECTOR={type:3,value:"CONNECTOR"},ln.CROSS={type:3,value:"CROSS"},ln.JUNCTION={type:3,value:"JUNCTION"},ln.TEE={type:3,value:"TEE"},ln.TRANSITION={type:3,value:"TRANSITION"},ln.USERDEFINED={type:3,value:"USERDEFINED"},ln.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcCableCarrierFittingTypeEnum=ln;var un=P((function e(){b(this,e)}));un.CABLEBRACKET={type:3,value:"CABLEBRACKET"},un.CABLELADDERSEGMENT={type:3,value:"CABLELADDERSEGMENT"},un.CABLETRAYSEGMENT={type:3,value:"CABLETRAYSEGMENT"},un.CABLETRUNKINGSEGMENT={type:3,value:"CABLETRUNKINGSEGMENT"},un.CATENARYWIRE={type:3,value:"CATENARYWIRE"},un.CONDUITSEGMENT={type:3,value:"CONDUITSEGMENT"},un.DROPPER={type:3,value:"DROPPER"},un.USERDEFINED={type:3,value:"USERDEFINED"},un.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcCableCarrierSegmentTypeEnum=un;var cn=P((function e(){b(this,e)}));cn.CONNECTOR={type:3,value:"CONNECTOR"},cn.ENTRY={type:3,value:"ENTRY"},cn.EXIT={type:3,value:"EXIT"},cn.FANOUT={type:3,value:"FANOUT"},cn.JUNCTION={type:3,value:"JUNCTION"},cn.TRANSITION={type:3,value:"TRANSITION"},cn.USERDEFINED={type:3,value:"USERDEFINED"},cn.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcCableFittingTypeEnum=cn;var fn=P((function e(){b(this,e)}));fn.BUSBARSEGMENT={type:3,value:"BUSBARSEGMENT"},fn.CABLESEGMENT={type:3,value:"CABLESEGMENT"},fn.CONDUCTORSEGMENT={type:3,value:"CONDUCTORSEGMENT"},fn.CONTACTWIRESEGMENT={type:3,value:"CONTACTWIRESEGMENT"},fn.CORESEGMENT={type:3,value:"CORESEGMENT"},fn.FIBERSEGMENT={type:3,value:"FIBERSEGMENT"},fn.FIBERTUBE={type:3,value:"FIBERTUBE"},fn.OPTICALCABLESEGMENT={type:3,value:"OPTICALCABLESEGMENT"},fn.STITCHWIRE={type:3,value:"STITCHWIRE"},fn.WIREPAIRSEGMENT={type:3,value:"WIREPAIRSEGMENT"},fn.USERDEFINED={type:3,value:"USERDEFINED"},fn.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcCableSegmentTypeEnum=fn;var pn=P((function e(){b(this,e)}));pn.CAISSON={type:3,value:"CAISSON"},pn.WELL={type:3,value:"WELL"},pn.USERDEFINED={type:3,value:"USERDEFINED"},pn.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcCaissonFoundationTypeEnum=pn;var An=P((function e(){b(this,e)}));An.ADDED={type:3,value:"ADDED"},An.DELETED={type:3,value:"DELETED"},An.MODIFIED={type:3,value:"MODIFIED"},An.NOCHANGE={type:3,value:"NOCHANGE"},An.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcChangeActionEnum=An;var dn=P((function e(){b(this,e)}));dn.AIRCOOLED={type:3,value:"AIRCOOLED"},dn.HEATRECOVERY={type:3,value:"HEATRECOVERY"},dn.WATERCOOLED={type:3,value:"WATERCOOLED"},dn.USERDEFINED={type:3,value:"USERDEFINED"},dn.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcChillerTypeEnum=dn;var vn=P((function e(){b(this,e)}));vn.USERDEFINED={type:3,value:"USERDEFINED"},vn.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcChimneyTypeEnum=vn;var hn=P((function e(){b(this,e)}));hn.DXCOOLINGCOIL={type:3,value:"DXCOOLINGCOIL"},hn.ELECTRICHEATINGCOIL={type:3,value:"ELECTRICHEATINGCOIL"},hn.GASHEATINGCOIL={type:3,value:"GASHEATINGCOIL"},hn.HYDRONICCOIL={type:3,value:"HYDRONICCOIL"},hn.STEAMHEATINGCOIL={type:3,value:"STEAMHEATINGCOIL"},hn.WATERCOOLINGCOIL={type:3,value:"WATERCOOLINGCOIL"},hn.WATERHEATINGCOIL={type:3,value:"WATERHEATINGCOIL"},hn.USERDEFINED={type:3,value:"USERDEFINED"},hn.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcCoilTypeEnum=hn;var In=P((function e(){b(this,e)}));In.COLUMN={type:3,value:"COLUMN"},In.PIERSTEM={type:3,value:"PIERSTEM"},In.PIERSTEM_SEGMENT={type:3,value:"PIERSTEM_SEGMENT"},In.PILASTER={type:3,value:"PILASTER"},In.STANDCOLUMN={type:3,value:"STANDCOLUMN"},In.USERDEFINED={type:3,value:"USERDEFINED"},In.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcColumnTypeEnum=In;var yn=P((function e(){b(this,e)}));yn.ANTENNA={type:3,value:"ANTENNA"},yn.AUTOMATON={type:3,value:"AUTOMATON"},yn.COMPUTER={type:3,value:"COMPUTER"},yn.FAX={type:3,value:"FAX"},yn.GATEWAY={type:3,value:"GATEWAY"},yn.INTELLIGENTPERIPHERAL={type:3,value:"INTELLIGENTPERIPHERAL"},yn.IPNETWORKEQUIPMENT={type:3,value:"IPNETWORKEQUIPMENT"},yn.LINESIDEELECTRONICUNIT={type:3,value:"LINESIDEELECTRONICUNIT"},yn.MODEM={type:3,value:"MODEM"},yn.NETWORKAPPLIANCE={type:3,value:"NETWORKAPPLIANCE"},yn.NETWORKBRIDGE={type:3,value:"NETWORKBRIDGE"},yn.NETWORKHUB={type:3,value:"NETWORKHUB"},yn.OPTICALLINETERMINAL={type:3,value:"OPTICALLINETERMINAL"},yn.OPTICALNETWORKUNIT={type:3,value:"OPTICALNETWORKUNIT"},yn.PRINTER={type:3,value:"PRINTER"},yn.RADIOBLOCKCENTER={type:3,value:"RADIOBLOCKCENTER"},yn.REPEATER={type:3,value:"REPEATER"},yn.ROUTER={type:3,value:"ROUTER"},yn.SCANNER={type:3,value:"SCANNER"},yn.TELECOMMAND={type:3,value:"TELECOMMAND"},yn.TELEPHONYEXCHANGE={type:3,value:"TELEPHONYEXCHANGE"},yn.TRANSITIONCOMPONENT={type:3,value:"TRANSITIONCOMPONENT"},yn.TRANSPONDER={type:3,value:"TRANSPONDER"},yn.TRANSPORTEQUIPMENT={type:3,value:"TRANSPORTEQUIPMENT"},yn.USERDEFINED={type:3,value:"USERDEFINED"},yn.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcCommunicationsApplianceTypeEnum=yn;var mn=P((function e(){b(this,e)}));mn.P_COMPLEX={type:3,value:"P_COMPLEX"},mn.Q_COMPLEX={type:3,value:"Q_COMPLEX"},e.IfcComplexPropertyTemplateTypeEnum=mn;var wn=P((function e(){b(this,e)}));wn.BOOSTER={type:3,value:"BOOSTER"},wn.DYNAMIC={type:3,value:"DYNAMIC"},wn.HERMETIC={type:3,value:"HERMETIC"},wn.OPENTYPE={type:3,value:"OPENTYPE"},wn.RECIPROCATING={type:3,value:"RECIPROCATING"},wn.ROLLINGPISTON={type:3,value:"ROLLINGPISTON"},wn.ROTARY={type:3,value:"ROTARY"},wn.ROTARYVANE={type:3,value:"ROTARYVANE"},wn.SCROLL={type:3,value:"SCROLL"},wn.SEMIHERMETIC={type:3,value:"SEMIHERMETIC"},wn.SINGLESCREW={type:3,value:"SINGLESCREW"},wn.SINGLESTAGE={type:3,value:"SINGLESTAGE"},wn.TROCHOIDAL={type:3,value:"TROCHOIDAL"},wn.TWINSCREW={type:3,value:"TWINSCREW"},wn.WELDEDSHELLHERMETIC={type:3,value:"WELDEDSHELLHERMETIC"},wn.USERDEFINED={type:3,value:"USERDEFINED"},wn.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcCompressorTypeEnum=wn;var gn=P((function e(){b(this,e)}));gn.AIRCOOLED={type:3,value:"AIRCOOLED"},gn.EVAPORATIVECOOLED={type:3,value:"EVAPORATIVECOOLED"},gn.WATERCOOLED={type:3,value:"WATERCOOLED"},gn.WATERCOOLEDBRAZEDPLATE={type:3,value:"WATERCOOLEDBRAZEDPLATE"},gn.WATERCOOLEDSHELLCOIL={type:3,value:"WATERCOOLEDSHELLCOIL"},gn.WATERCOOLEDSHELLTUBE={type:3,value:"WATERCOOLEDSHELLTUBE"},gn.WATERCOOLEDTUBEINTUBE={type:3,value:"WATERCOOLEDTUBEINTUBE"},gn.USERDEFINED={type:3,value:"USERDEFINED"},gn.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcCondenserTypeEnum=gn;var En=P((function e(){b(this,e)}));En.ATEND={type:3,value:"ATEND"},En.ATPATH={type:3,value:"ATPATH"},En.ATSTART={type:3,value:"ATSTART"},En.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcConnectionTypeEnum=En;var Tn=P((function e(){b(this,e)}));Tn.ADVISORY={type:3,value:"ADVISORY"},Tn.HARD={type:3,value:"HARD"},Tn.SOFT={type:3,value:"SOFT"},Tn.USERDEFINED={type:3,value:"USERDEFINED"},Tn.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcConstraintEnum=Tn;var bn=P((function e(){b(this,e)}));bn.DEMOLISHING={type:3,value:"DEMOLISHING"},bn.EARTHMOVING={type:3,value:"EARTHMOVING"},bn.ERECTING={type:3,value:"ERECTING"},bn.HEATING={type:3,value:"HEATING"},bn.LIGHTING={type:3,value:"LIGHTING"},bn.PAVING={type:3,value:"PAVING"},bn.PUMPING={type:3,value:"PUMPING"},bn.TRANSPORTING={type:3,value:"TRANSPORTING"},bn.USERDEFINED={type:3,value:"USERDEFINED"},bn.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcConstructionEquipmentResourceTypeEnum=bn;var Dn=P((function e(){b(this,e)}));Dn.AGGREGATES={type:3,value:"AGGREGATES"},Dn.CONCRETE={type:3,value:"CONCRETE"},Dn.DRYWALL={type:3,value:"DRYWALL"},Dn.FUEL={type:3,value:"FUEL"},Dn.GYPSUM={type:3,value:"GYPSUM"},Dn.MASONRY={type:3,value:"MASONRY"},Dn.METAL={type:3,value:"METAL"},Dn.PLASTIC={type:3,value:"PLASTIC"},Dn.WOOD={type:3,value:"WOOD"},Dn.USERDEFINED={type:3,value:"USERDEFINED"},Dn.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcConstructionMaterialResourceTypeEnum=Dn;var Pn=P((function e(){b(this,e)}));Pn.ASSEMBLY={type:3,value:"ASSEMBLY"},Pn.FORMWORK={type:3,value:"FORMWORK"},Pn.USERDEFINED={type:3,value:"USERDEFINED"},Pn.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcConstructionProductResourceTypeEnum=Pn;var Rn=P((function e(){b(this,e)}));Rn.FLOATING={type:3,value:"FLOATING"},Rn.MULTIPOSITION={type:3,value:"MULTIPOSITION"},Rn.PROGRAMMABLE={type:3,value:"PROGRAMMABLE"},Rn.PROPORTIONAL={type:3,value:"PROPORTIONAL"},Rn.TWOPOSITION={type:3,value:"TWOPOSITION"},Rn.USERDEFINED={type:3,value:"USERDEFINED"},Rn.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcControllerTypeEnum=Rn;var Cn=P((function e(){b(this,e)}));Cn.BELTCONVEYOR={type:3,value:"BELTCONVEYOR"},Cn.BUCKETCONVEYOR={type:3,value:"BUCKETCONVEYOR"},Cn.CHUTECONVEYOR={type:3,value:"CHUTECONVEYOR"},Cn.SCREWCONVEYOR={type:3,value:"SCREWCONVEYOR"},Cn.USERDEFINED={type:3,value:"USERDEFINED"},Cn.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcConveyorSegmentTypeEnum=Cn;var _n=P((function e(){b(this,e)}));_n.ACTIVE={type:3,value:"ACTIVE"},_n.PASSIVE={type:3,value:"PASSIVE"},_n.USERDEFINED={type:3,value:"USERDEFINED"},_n.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcCooledBeamTypeEnum=_n;var Bn=P((function e(){b(this,e)}));Bn.MECHANICALFORCEDDRAFT={type:3,value:"MECHANICALFORCEDDRAFT"},Bn.MECHANICALINDUCEDDRAFT={type:3,value:"MECHANICALINDUCEDDRAFT"},Bn.NATURALDRAFT={type:3,value:"NATURALDRAFT"},Bn.USERDEFINED={type:3,value:"USERDEFINED"},Bn.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcCoolingTowerTypeEnum=Bn;var On=P((function e(){b(this,e)}));On.USERDEFINED={type:3,value:"USERDEFINED"},On.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcCostItemTypeEnum=On;var Sn=P((function e(){b(this,e)}));Sn.BUDGET={type:3,value:"BUDGET"},Sn.COSTPLAN={type:3,value:"COSTPLAN"},Sn.ESTIMATE={type:3,value:"ESTIMATE"},Sn.PRICEDBILLOFQUANTITIES={type:3,value:"PRICEDBILLOFQUANTITIES"},Sn.SCHEDULEOFRATES={type:3,value:"SCHEDULEOFRATES"},Sn.TENDER={type:3,value:"TENDER"},Sn.UNPRICEDBILLOFQUANTITIES={type:3,value:"UNPRICEDBILLOFQUANTITIES"},Sn.USERDEFINED={type:3,value:"USERDEFINED"},Sn.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcCostScheduleTypeEnum=Sn;var Nn=P((function e(){b(this,e)}));Nn.ARMOUR={type:3,value:"ARMOUR"},Nn.BALLASTBED={type:3,value:"BALLASTBED"},Nn.CORE={type:3,value:"CORE"},Nn.FILTER={type:3,value:"FILTER"},Nn.PAVEMENT={type:3,value:"PAVEMENT"},Nn.PROTECTION={type:3,value:"PROTECTION"},Nn.USERDEFINED={type:3,value:"USERDEFINED"},Nn.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcCourseTypeEnum=Nn;var Ln=P((function e(){b(this,e)}));Ln.CEILING={type:3,value:"CEILING"},Ln.CLADDING={type:3,value:"CLADDING"},Ln.COPING={type:3,value:"COPING"},Ln.FLOORING={type:3,value:"FLOORING"},Ln.INSULATION={type:3,value:"INSULATION"},Ln.MEMBRANE={type:3,value:"MEMBRANE"},Ln.MOLDING={type:3,value:"MOLDING"},Ln.ROOFING={type:3,value:"ROOFING"},Ln.SKIRTINGBOARD={type:3,value:"SKIRTINGBOARD"},Ln.SLEEVING={type:3,value:"SLEEVING"},Ln.TOPPING={type:3,value:"TOPPING"},Ln.WRAPPING={type:3,value:"WRAPPING"},Ln.USERDEFINED={type:3,value:"USERDEFINED"},Ln.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcCoveringTypeEnum=Ln;var xn=P((function e(){b(this,e)}));xn.OFFICE={type:3,value:"OFFICE"},xn.SITE={type:3,value:"SITE"},xn.USERDEFINED={type:3,value:"USERDEFINED"},xn.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcCrewResourceTypeEnum=xn;var Mn=P((function e(){b(this,e)}));Mn.USERDEFINED={type:3,value:"USERDEFINED"},Mn.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcCurtainWallTypeEnum=Mn;var Fn=P((function e(){b(this,e)}));Fn.LINEAR={type:3,value:"LINEAR"},Fn.LOG_LINEAR={type:3,value:"LOG_LINEAR"},Fn.LOG_LOG={type:3,value:"LOG_LOG"},Fn.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcCurveInterpolationEnum=Fn;var Hn=P((function e(){b(this,e)}));Hn.BACKDRAFTDAMPER={type:3,value:"BACKDRAFTDAMPER"},Hn.BALANCINGDAMPER={type:3,value:"BALANCINGDAMPER"},Hn.BLASTDAMPER={type:3,value:"BLASTDAMPER"},Hn.CONTROLDAMPER={type:3,value:"CONTROLDAMPER"},Hn.FIREDAMPER={type:3,value:"FIREDAMPER"},Hn.FIRESMOKEDAMPER={type:3,value:"FIRESMOKEDAMPER"},Hn.FUMEHOODEXHAUST={type:3,value:"FUMEHOODEXHAUST"},Hn.GRAVITYDAMPER={type:3,value:"GRAVITYDAMPER"},Hn.GRAVITYRELIEFDAMPER={type:3,value:"GRAVITYRELIEFDAMPER"},Hn.RELIEFDAMPER={type:3,value:"RELIEFDAMPER"},Hn.SMOKEDAMPER={type:3,value:"SMOKEDAMPER"},Hn.USERDEFINED={type:3,value:"USERDEFINED"},Hn.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcDamperTypeEnum=Hn;var Un=P((function e(){b(this,e)}));Un.MEASURED={type:3,value:"MEASURED"},Un.PREDICTED={type:3,value:"PREDICTED"},Un.SIMULATED={type:3,value:"SIMULATED"},Un.USERDEFINED={type:3,value:"USERDEFINED"},Un.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcDataOriginEnum=Un;var Gn=P((function e(){b(this,e)}));Gn.ACCELERATIONUNIT={type:3,value:"ACCELERATIONUNIT"},Gn.ANGULARVELOCITYUNIT={type:3,value:"ANGULARVELOCITYUNIT"},Gn.AREADENSITYUNIT={type:3,value:"AREADENSITYUNIT"},Gn.COMPOUNDPLANEANGLEUNIT={type:3,value:"COMPOUNDPLANEANGLEUNIT"},Gn.CURVATUREUNIT={type:3,value:"CURVATUREUNIT"},Gn.DYNAMICVISCOSITYUNIT={type:3,value:"DYNAMICVISCOSITYUNIT"},Gn.HEATFLUXDENSITYUNIT={type:3,value:"HEATFLUXDENSITYUNIT"},Gn.HEATINGVALUEUNIT={type:3,value:"HEATINGVALUEUNIT"},Gn.INTEGERCOUNTRATEUNIT={type:3,value:"INTEGERCOUNTRATEUNIT"},Gn.IONCONCENTRATIONUNIT={type:3,value:"IONCONCENTRATIONUNIT"},Gn.ISOTHERMALMOISTURECAPACITYUNIT={type:3,value:"ISOTHERMALMOISTURECAPACITYUNIT"},Gn.KINEMATICVISCOSITYUNIT={type:3,value:"KINEMATICVISCOSITYUNIT"},Gn.LINEARFORCEUNIT={type:3,value:"LINEARFORCEUNIT"},Gn.LINEARMOMENTUNIT={type:3,value:"LINEARMOMENTUNIT"},Gn.LINEARSTIFFNESSUNIT={type:3,value:"LINEARSTIFFNESSUNIT"},Gn.LINEARVELOCITYUNIT={type:3,value:"LINEARVELOCITYUNIT"},Gn.LUMINOUSINTENSITYDISTRIBUTIONUNIT={type:3,value:"LUMINOUSINTENSITYDISTRIBUTIONUNIT"},Gn.MASSDENSITYUNIT={type:3,value:"MASSDENSITYUNIT"},Gn.MASSFLOWRATEUNIT={type:3,value:"MASSFLOWRATEUNIT"},Gn.MASSPERLENGTHUNIT={type:3,value:"MASSPERLENGTHUNIT"},Gn.MODULUSOFELASTICITYUNIT={type:3,value:"MODULUSOFELASTICITYUNIT"},Gn.MODULUSOFLINEARSUBGRADEREACTIONUNIT={type:3,value:"MODULUSOFLINEARSUBGRADEREACTIONUNIT"},Gn.MODULUSOFROTATIONALSUBGRADEREACTIONUNIT={type:3,value:"MODULUSOFROTATIONALSUBGRADEREACTIONUNIT"},Gn.MODULUSOFSUBGRADEREACTIONUNIT={type:3,value:"MODULUSOFSUBGRADEREACTIONUNIT"},Gn.MOISTUREDIFFUSIVITYUNIT={type:3,value:"MOISTUREDIFFUSIVITYUNIT"},Gn.MOLECULARWEIGHTUNIT={type:3,value:"MOLECULARWEIGHTUNIT"},Gn.MOMENTOFINERTIAUNIT={type:3,value:"MOMENTOFINERTIAUNIT"},Gn.PHUNIT={type:3,value:"PHUNIT"},Gn.PLANARFORCEUNIT={type:3,value:"PLANARFORCEUNIT"},Gn.ROTATIONALFREQUENCYUNIT={type:3,value:"ROTATIONALFREQUENCYUNIT"},Gn.ROTATIONALMASSUNIT={type:3,value:"ROTATIONALMASSUNIT"},Gn.ROTATIONALSTIFFNESSUNIT={type:3,value:"ROTATIONALSTIFFNESSUNIT"},Gn.SECTIONAREAINTEGRALUNIT={type:3,value:"SECTIONAREAINTEGRALUNIT"},Gn.SECTIONMODULUSUNIT={type:3,value:"SECTIONMODULUSUNIT"},Gn.SHEARMODULUSUNIT={type:3,value:"SHEARMODULUSUNIT"},Gn.SOUNDPOWERLEVELUNIT={type:3,value:"SOUNDPOWERLEVELUNIT"},Gn.SOUNDPOWERUNIT={type:3,value:"SOUNDPOWERUNIT"},Gn.SOUNDPRESSURELEVELUNIT={type:3,value:"SOUNDPRESSURELEVELUNIT"},Gn.SOUNDPRESSUREUNIT={type:3,value:"SOUNDPRESSUREUNIT"},Gn.SPECIFICHEATCAPACITYUNIT={type:3,value:"SPECIFICHEATCAPACITYUNIT"},Gn.TEMPERATUREGRADIENTUNIT={type:3,value:"TEMPERATUREGRADIENTUNIT"},Gn.TEMPERATURERATEOFCHANGEUNIT={type:3,value:"TEMPERATURERATEOFCHANGEUNIT"},Gn.THERMALADMITTANCEUNIT={type:3,value:"THERMALADMITTANCEUNIT"},Gn.THERMALCONDUCTANCEUNIT={type:3,value:"THERMALCONDUCTANCEUNIT"},Gn.THERMALEXPANSIONCOEFFICIENTUNIT={type:3,value:"THERMALEXPANSIONCOEFFICIENTUNIT"},Gn.THERMALRESISTANCEUNIT={type:3,value:"THERMALRESISTANCEUNIT"},Gn.THERMALTRANSMITTANCEUNIT={type:3,value:"THERMALTRANSMITTANCEUNIT"},Gn.TORQUEUNIT={type:3,value:"TORQUEUNIT"},Gn.VAPORPERMEABILITYUNIT={type:3,value:"VAPORPERMEABILITYUNIT"},Gn.VOLUMETRICFLOWRATEUNIT={type:3,value:"VOLUMETRICFLOWRATEUNIT"},Gn.WARPINGCONSTANTUNIT={type:3,value:"WARPINGCONSTANTUNIT"},Gn.WARPINGMOMENTUNIT={type:3,value:"WARPINGMOMENTUNIT"},Gn.USERDEFINED={type:3,value:"USERDEFINED"},e.IfcDerivedUnitEnum=Gn;var kn=P((function e(){b(this,e)}));kn.NEGATIVE={type:3,value:"NEGATIVE"},kn.POSITIVE={type:3,value:"POSITIVE"},e.IfcDirectionSenseEnum=kn;var jn=P((function e(){b(this,e)}));jn.ANCHORPLATE={type:3,value:"ANCHORPLATE"},jn.BIRDPROTECTION={type:3,value:"BIRDPROTECTION"},jn.BRACKET={type:3,value:"BRACKET"},jn.CABLEARRANGER={type:3,value:"CABLEARRANGER"},jn.ELASTIC_CUSHION={type:3,value:"ELASTIC_CUSHION"},jn.EXPANSION_JOINT_DEVICE={type:3,value:"EXPANSION_JOINT_DEVICE"},jn.FILLER={type:3,value:"FILLER"},jn.FLASHING={type:3,value:"FLASHING"},jn.INSULATOR={type:3,value:"INSULATOR"},jn.LOCK={type:3,value:"LOCK"},jn.PANEL_STRENGTHENING={type:3,value:"PANEL_STRENGTHENING"},jn.POINTMACHINEMOUNTINGDEVICE={type:3,value:"POINTMACHINEMOUNTINGDEVICE"},jn.POINT_MACHINE_LOCKING_DEVICE={type:3,value:"POINT_MACHINE_LOCKING_DEVICE"},jn.RAILBRACE={type:3,value:"RAILBRACE"},jn.RAILPAD={type:3,value:"RAILPAD"},jn.RAIL_LUBRICATION={type:3,value:"RAIL_LUBRICATION"},jn.RAIL_MECHANICAL_EQUIPMENT={type:3,value:"RAIL_MECHANICAL_EQUIPMENT"},jn.SHOE={type:3,value:"SHOE"},jn.SLIDINGCHAIR={type:3,value:"SLIDINGCHAIR"},jn.SOUNDABSORPTION={type:3,value:"SOUNDABSORPTION"},jn.TENSIONINGEQUIPMENT={type:3,value:"TENSIONINGEQUIPMENT"},jn.USERDEFINED={type:3,value:"USERDEFINED"},jn.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcDiscreteAccessoryTypeEnum=jn;var Vn=P((function e(){b(this,e)}));Vn.CONSUMERUNIT={type:3,value:"CONSUMERUNIT"},Vn.DISPATCHINGBOARD={type:3,value:"DISPATCHINGBOARD"},Vn.DISTRIBUTIONBOARD={type:3,value:"DISTRIBUTIONBOARD"},Vn.DISTRIBUTIONFRAME={type:3,value:"DISTRIBUTIONFRAME"},Vn.MOTORCONTROLCENTRE={type:3,value:"MOTORCONTROLCENTRE"},Vn.SWITCHBOARD={type:3,value:"SWITCHBOARD"},Vn.USERDEFINED={type:3,value:"USERDEFINED"},Vn.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcDistributionBoardTypeEnum=Vn;var Qn=P((function e(){b(this,e)}));Qn.FORMEDDUCT={type:3,value:"FORMEDDUCT"},Qn.INSPECTIONCHAMBER={type:3,value:"INSPECTIONCHAMBER"},Qn.INSPECTIONPIT={type:3,value:"INSPECTIONPIT"},Qn.MANHOLE={type:3,value:"MANHOLE"},Qn.METERCHAMBER={type:3,value:"METERCHAMBER"},Qn.SUMP={type:3,value:"SUMP"},Qn.TRENCH={type:3,value:"TRENCH"},Qn.VALVECHAMBER={type:3,value:"VALVECHAMBER"},Qn.USERDEFINED={type:3,value:"USERDEFINED"},Qn.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcDistributionChamberElementTypeEnum=Qn;var Wn=P((function e(){b(this,e)}));Wn.CABLE={type:3,value:"CABLE"},Wn.CABLECARRIER={type:3,value:"CABLECARRIER"},Wn.DUCT={type:3,value:"DUCT"},Wn.PIPE={type:3,value:"PIPE"},Wn.WIRELESS={type:3,value:"WIRELESS"},Wn.USERDEFINED={type:3,value:"USERDEFINED"},Wn.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcDistributionPortTypeEnum=Wn;var zn=P((function e(){b(this,e)}));zn.AIRCONDITIONING={type:3,value:"AIRCONDITIONING"},zn.AUDIOVISUAL={type:3,value:"AUDIOVISUAL"},zn.CATENARY_SYSTEM={type:3,value:"CATENARY_SYSTEM"},zn.CHEMICAL={type:3,value:"CHEMICAL"},zn.CHILLEDWATER={type:3,value:"CHILLEDWATER"},zn.COMMUNICATION={type:3,value:"COMMUNICATION"},zn.COMPRESSEDAIR={type:3,value:"COMPRESSEDAIR"},zn.CONDENSERWATER={type:3,value:"CONDENSERWATER"},zn.CONTROL={type:3,value:"CONTROL"},zn.CONVEYING={type:3,value:"CONVEYING"},zn.DATA={type:3,value:"DATA"},zn.DISPOSAL={type:3,value:"DISPOSAL"},zn.DOMESTICCOLDWATER={type:3,value:"DOMESTICCOLDWATER"},zn.DOMESTICHOTWATER={type:3,value:"DOMESTICHOTWATER"},zn.DRAINAGE={type:3,value:"DRAINAGE"},zn.EARTHING={type:3,value:"EARTHING"},zn.ELECTRICAL={type:3,value:"ELECTRICAL"},zn.ELECTROACOUSTIC={type:3,value:"ELECTROACOUSTIC"},zn.EXHAUST={type:3,value:"EXHAUST"},zn.FIREPROTECTION={type:3,value:"FIREPROTECTION"},zn.FIXEDTRANSMISSIONNETWORK={type:3,value:"FIXEDTRANSMISSIONNETWORK"},zn.FUEL={type:3,value:"FUEL"},zn.GAS={type:3,value:"GAS"},zn.HAZARDOUS={type:3,value:"HAZARDOUS"},zn.HEATING={type:3,value:"HEATING"},zn.LIGHTING={type:3,value:"LIGHTING"},zn.LIGHTNINGPROTECTION={type:3,value:"LIGHTNINGPROTECTION"},zn.MOBILENETWORK={type:3,value:"MOBILENETWORK"},zn.MONITORINGSYSTEM={type:3,value:"MONITORINGSYSTEM"},zn.MUNICIPALSOLIDWASTE={type:3,value:"MUNICIPALSOLIDWASTE"},zn.OIL={type:3,value:"OIL"},zn.OPERATIONAL={type:3,value:"OPERATIONAL"},zn.OPERATIONALTELEPHONYSYSTEM={type:3,value:"OPERATIONALTELEPHONYSYSTEM"},zn.OVERHEAD_CONTACTLINE_SYSTEM={type:3,value:"OVERHEAD_CONTACTLINE_SYSTEM"},zn.POWERGENERATION={type:3,value:"POWERGENERATION"},zn.RAINWATER={type:3,value:"RAINWATER"},zn.REFRIGERATION={type:3,value:"REFRIGERATION"},zn.RETURN_CIRCUIT={type:3,value:"RETURN_CIRCUIT"},zn.SECURITY={type:3,value:"SECURITY"},zn.SEWAGE={type:3,value:"SEWAGE"},zn.SIGNAL={type:3,value:"SIGNAL"},zn.STORMWATER={type:3,value:"STORMWATER"},zn.TELEPHONE={type:3,value:"TELEPHONE"},zn.TV={type:3,value:"TV"},zn.VACUUM={type:3,value:"VACUUM"},zn.VENT={type:3,value:"VENT"},zn.VENTILATION={type:3,value:"VENTILATION"},zn.WASTEWATER={type:3,value:"WASTEWATER"},zn.WATERSUPPLY={type:3,value:"WATERSUPPLY"},zn.USERDEFINED={type:3,value:"USERDEFINED"},zn.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcDistributionSystemEnum=zn;var Kn=P((function e(){b(this,e)}));Kn.CONFIDENTIAL={type:3,value:"CONFIDENTIAL"},Kn.PERSONAL={type:3,value:"PERSONAL"},Kn.PUBLIC={type:3,value:"PUBLIC"},Kn.RESTRICTED={type:3,value:"RESTRICTED"},Kn.USERDEFINED={type:3,value:"USERDEFINED"},Kn.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcDocumentConfidentialityEnum=Kn;var Yn=P((function e(){b(this,e)}));Yn.DRAFT={type:3,value:"DRAFT"},Yn.FINAL={type:3,value:"FINAL"},Yn.FINALDRAFT={type:3,value:"FINALDRAFT"},Yn.REVISION={type:3,value:"REVISION"},Yn.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcDocumentStatusEnum=Yn;var Xn=P((function e(){b(this,e)}));Xn.DOUBLE_ACTING={type:3,value:"DOUBLE_ACTING"},Xn.FIXEDPANEL={type:3,value:"FIXEDPANEL"},Xn.FOLDING={type:3,value:"FOLDING"},Xn.REVOLVING={type:3,value:"REVOLVING"},Xn.ROLLINGUP={type:3,value:"ROLLINGUP"},Xn.SLIDING={type:3,value:"SLIDING"},Xn.SWINGING={type:3,value:"SWINGING"},Xn.USERDEFINED={type:3,value:"USERDEFINED"},Xn.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcDoorPanelOperationEnum=Xn;var qn=P((function e(){b(this,e)}));qn.LEFT={type:3,value:"LEFT"},qn.MIDDLE={type:3,value:"MIDDLE"},qn.RIGHT={type:3,value:"RIGHT"},qn.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcDoorPanelPositionEnum=qn;var Jn=P((function e(){b(this,e)}));Jn.ALUMINIUM={type:3,value:"ALUMINIUM"},Jn.ALUMINIUM_PLASTIC={type:3,value:"ALUMINIUM_PLASTIC"},Jn.ALUMINIUM_WOOD={type:3,value:"ALUMINIUM_WOOD"},Jn.HIGH_GRADE_STEEL={type:3,value:"HIGH_GRADE_STEEL"},Jn.PLASTIC={type:3,value:"PLASTIC"},Jn.STEEL={type:3,value:"STEEL"},Jn.WOOD={type:3,value:"WOOD"},Jn.USERDEFINED={type:3,value:"USERDEFINED"},Jn.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcDoorStyleConstructionEnum=Jn;var Zn=P((function e(){b(this,e)}));Zn.DOUBLE_DOOR_DOUBLE_SWING={type:3,value:"DOUBLE_DOOR_DOUBLE_SWING"},Zn.DOUBLE_DOOR_FOLDING={type:3,value:"DOUBLE_DOOR_FOLDING"},Zn.DOUBLE_DOOR_SINGLE_SWING={type:3,value:"DOUBLE_DOOR_SINGLE_SWING"},Zn.DOUBLE_DOOR_SINGLE_SWING_OPPOSITE_LEFT={type:3,value:"DOUBLE_DOOR_SINGLE_SWING_OPPOSITE_LEFT"},Zn.DOUBLE_DOOR_SINGLE_SWING_OPPOSITE_RIGHT={type:3,value:"DOUBLE_DOOR_SINGLE_SWING_OPPOSITE_RIGHT"},Zn.DOUBLE_DOOR_SLIDING={type:3,value:"DOUBLE_DOOR_SLIDING"},Zn.DOUBLE_SWING_LEFT={type:3,value:"DOUBLE_SWING_LEFT"},Zn.DOUBLE_SWING_RIGHT={type:3,value:"DOUBLE_SWING_RIGHT"},Zn.FOLDING_TO_LEFT={type:3,value:"FOLDING_TO_LEFT"},Zn.FOLDING_TO_RIGHT={type:3,value:"FOLDING_TO_RIGHT"},Zn.REVOLVING={type:3,value:"REVOLVING"},Zn.ROLLINGUP={type:3,value:"ROLLINGUP"},Zn.SINGLE_SWING_LEFT={type:3,value:"SINGLE_SWING_LEFT"},Zn.SINGLE_SWING_RIGHT={type:3,value:"SINGLE_SWING_RIGHT"},Zn.SLIDING_TO_LEFT={type:3,value:"SLIDING_TO_LEFT"},Zn.SLIDING_TO_RIGHT={type:3,value:"SLIDING_TO_RIGHT"},Zn.USERDEFINED={type:3,value:"USERDEFINED"},Zn.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcDoorStyleOperationEnum=Zn;var $n=P((function e(){b(this,e)}));$n.BOOM_BARRIER={type:3,value:"BOOM_BARRIER"},$n.DOOR={type:3,value:"DOOR"},$n.GATE={type:3,value:"GATE"},$n.TRAPDOOR={type:3,value:"TRAPDOOR"},$n.TURNSTILE={type:3,value:"TURNSTILE"},$n.USERDEFINED={type:3,value:"USERDEFINED"},$n.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcDoorTypeEnum=$n;var er=P((function e(){b(this,e)}));er.DOUBLE_PANEL_DOUBLE_SWING={type:3,value:"DOUBLE_PANEL_DOUBLE_SWING"},er.DOUBLE_PANEL_FOLDING={type:3,value:"DOUBLE_PANEL_FOLDING"},er.DOUBLE_PANEL_LIFTING_VERTICAL={type:3,value:"DOUBLE_PANEL_LIFTING_VERTICAL"},er.DOUBLE_PANEL_SINGLE_SWING={type:3,value:"DOUBLE_PANEL_SINGLE_SWING"},er.DOUBLE_PANEL_SINGLE_SWING_OPPOSITE_LEFT={type:3,value:"DOUBLE_PANEL_SINGLE_SWING_OPPOSITE_LEFT"},er.DOUBLE_PANEL_SINGLE_SWING_OPPOSITE_RIGHT={type:3,value:"DOUBLE_PANEL_SINGLE_SWING_OPPOSITE_RIGHT"},er.DOUBLE_PANEL_SLIDING={type:3,value:"DOUBLE_PANEL_SLIDING"},er.DOUBLE_SWING_LEFT={type:3,value:"DOUBLE_SWING_LEFT"},er.DOUBLE_SWING_RIGHT={type:3,value:"DOUBLE_SWING_RIGHT"},er.FOLDING_TO_LEFT={type:3,value:"FOLDING_TO_LEFT"},er.FOLDING_TO_RIGHT={type:3,value:"FOLDING_TO_RIGHT"},er.LIFTING_HORIZONTAL={type:3,value:"LIFTING_HORIZONTAL"},er.LIFTING_VERTICAL_LEFT={type:3,value:"LIFTING_VERTICAL_LEFT"},er.LIFTING_VERTICAL_RIGHT={type:3,value:"LIFTING_VERTICAL_RIGHT"},er.REVOLVING_HORIZONTAL={type:3,value:"REVOLVING_HORIZONTAL"},er.REVOLVING_VERTICAL={type:3,value:"REVOLVING_VERTICAL"},er.ROLLINGUP={type:3,value:"ROLLINGUP"},er.SINGLE_SWING_LEFT={type:3,value:"SINGLE_SWING_LEFT"},er.SINGLE_SWING_RIGHT={type:3,value:"SINGLE_SWING_RIGHT"},er.SLIDING_TO_LEFT={type:3,value:"SLIDING_TO_LEFT"},er.SLIDING_TO_RIGHT={type:3,value:"SLIDING_TO_RIGHT"},er.SWING_FIXED_LEFT={type:3,value:"SWING_FIXED_LEFT"},er.SWING_FIXED_RIGHT={type:3,value:"SWING_FIXED_RIGHT"},er.USERDEFINED={type:3,value:"USERDEFINED"},er.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcDoorTypeOperationEnum=er;var tr=P((function e(){b(this,e)}));tr.BEND={type:3,value:"BEND"},tr.CONNECTOR={type:3,value:"CONNECTOR"},tr.ENTRY={type:3,value:"ENTRY"},tr.EXIT={type:3,value:"EXIT"},tr.JUNCTION={type:3,value:"JUNCTION"},tr.OBSTRUCTION={type:3,value:"OBSTRUCTION"},tr.TRANSITION={type:3,value:"TRANSITION"},tr.USERDEFINED={type:3,value:"USERDEFINED"},tr.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcDuctFittingTypeEnum=tr;var nr=P((function e(){b(this,e)}));nr.FLEXIBLESEGMENT={type:3,value:"FLEXIBLESEGMENT"},nr.RIGIDSEGMENT={type:3,value:"RIGIDSEGMENT"},nr.USERDEFINED={type:3,value:"USERDEFINED"},nr.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcDuctSegmentTypeEnum=nr;var rr=P((function e(){b(this,e)}));rr.FLATOVAL={type:3,value:"FLATOVAL"},rr.RECTANGULAR={type:3,value:"RECTANGULAR"},rr.ROUND={type:3,value:"ROUND"},rr.USERDEFINED={type:3,value:"USERDEFINED"},rr.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcDuctSilencerTypeEnum=rr;var ir=P((function e(){b(this,e)}));ir.BASE_EXCAVATION={type:3,value:"BASE_EXCAVATION"},ir.CUT={type:3,value:"CUT"},ir.DREDGING={type:3,value:"DREDGING"},ir.EXCAVATION={type:3,value:"EXCAVATION"},ir.OVEREXCAVATION={type:3,value:"OVEREXCAVATION"},ir.PAVEMENTMILLING={type:3,value:"PAVEMENTMILLING"},ir.STEPEXCAVATION={type:3,value:"STEPEXCAVATION"},ir.TOPSOILREMOVAL={type:3,value:"TOPSOILREMOVAL"},ir.TRENCH={type:3,value:"TRENCH"},ir.USERDEFINED={type:3,value:"USERDEFINED"},ir.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcEarthworksCutTypeEnum=ir;var ar=P((function e(){b(this,e)}));ar.BACKFILL={type:3,value:"BACKFILL"},ar.COUNTERWEIGHT={type:3,value:"COUNTERWEIGHT"},ar.EMBANKMENT={type:3,value:"EMBANKMENT"},ar.SLOPEFILL={type:3,value:"SLOPEFILL"},ar.SUBGRADE={type:3,value:"SUBGRADE"},ar.SUBGRADEBED={type:3,value:"SUBGRADEBED"},ar.TRANSITIONSECTION={type:3,value:"TRANSITIONSECTION"},ar.USERDEFINED={type:3,value:"USERDEFINED"},ar.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcEarthworksFillTypeEnum=ar;var sr=P((function e(){b(this,e)}));sr.DISHWASHER={type:3,value:"DISHWASHER"},sr.ELECTRICCOOKER={type:3,value:"ELECTRICCOOKER"},sr.FREESTANDINGELECTRICHEATER={type:3,value:"FREESTANDINGELECTRICHEATER"},sr.FREESTANDINGFAN={type:3,value:"FREESTANDINGFAN"},sr.FREESTANDINGWATERCOOLER={type:3,value:"FREESTANDINGWATERCOOLER"},sr.FREESTANDINGWATERHEATER={type:3,value:"FREESTANDINGWATERHEATER"},sr.FREEZER={type:3,value:"FREEZER"},sr.FRIDGE_FREEZER={type:3,value:"FRIDGE_FREEZER"},sr.HANDDRYER={type:3,value:"HANDDRYER"},sr.KITCHENMACHINE={type:3,value:"KITCHENMACHINE"},sr.MICROWAVE={type:3,value:"MICROWAVE"},sr.PHOTOCOPIER={type:3,value:"PHOTOCOPIER"},sr.REFRIGERATOR={type:3,value:"REFRIGERATOR"},sr.TUMBLEDRYER={type:3,value:"TUMBLEDRYER"},sr.VENDINGMACHINE={type:3,value:"VENDINGMACHINE"},sr.WASHINGMACHINE={type:3,value:"WASHINGMACHINE"},sr.USERDEFINED={type:3,value:"USERDEFINED"},sr.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcElectricApplianceTypeEnum=sr;var or=P((function e(){b(this,e)}));or.CONSUMERUNIT={type:3,value:"CONSUMERUNIT"},or.DISTRIBUTIONBOARD={type:3,value:"DISTRIBUTIONBOARD"},or.MOTORCONTROLCENTRE={type:3,value:"MOTORCONTROLCENTRE"},or.SWITCHBOARD={type:3,value:"SWITCHBOARD"},or.USERDEFINED={type:3,value:"USERDEFINED"},or.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcElectricDistributionBoardTypeEnum=or;var lr=P((function e(){b(this,e)}));lr.BATTERY={type:3,value:"BATTERY"},lr.CAPACITOR={type:3,value:"CAPACITOR"},lr.CAPACITORBANK={type:3,value:"CAPACITORBANK"},lr.COMPENSATOR={type:3,value:"COMPENSATOR"},lr.HARMONICFILTER={type:3,value:"HARMONICFILTER"},lr.INDUCTOR={type:3,value:"INDUCTOR"},lr.INDUCTORBANK={type:3,value:"INDUCTORBANK"},lr.RECHARGER={type:3,value:"RECHARGER"},lr.UPS={type:3,value:"UPS"},lr.USERDEFINED={type:3,value:"USERDEFINED"},lr.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcElectricFlowStorageDeviceTypeEnum=lr;var ur=P((function e(){b(this,e)}));ur.ELECTRONICFILTER={type:3,value:"ELECTRONICFILTER"},ur.USERDEFINED={type:3,value:"USERDEFINED"},ur.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcElectricFlowTreatmentDeviceTypeEnum=ur;var cr=P((function e(){b(this,e)}));cr.CHP={type:3,value:"CHP"},cr.ENGINEGENERATOR={type:3,value:"ENGINEGENERATOR"},cr.STANDALONE={type:3,value:"STANDALONE"},cr.USERDEFINED={type:3,value:"USERDEFINED"},cr.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcElectricGeneratorTypeEnum=cr;var fr=P((function e(){b(this,e)}));fr.DC={type:3,value:"DC"},fr.INDUCTION={type:3,value:"INDUCTION"},fr.POLYPHASE={type:3,value:"POLYPHASE"},fr.RELUCTANCESYNCHRONOUS={type:3,value:"RELUCTANCESYNCHRONOUS"},fr.SYNCHRONOUS={type:3,value:"SYNCHRONOUS"},fr.USERDEFINED={type:3,value:"USERDEFINED"},fr.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcElectricMotorTypeEnum=fr;var pr=P((function e(){b(this,e)}));pr.RELAY={type:3,value:"RELAY"},pr.TIMECLOCK={type:3,value:"TIMECLOCK"},pr.TIMEDELAY={type:3,value:"TIMEDELAY"},pr.USERDEFINED={type:3,value:"USERDEFINED"},pr.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcElectricTimeControlTypeEnum=pr;var Ar=P((function e(){b(this,e)}));Ar.ABUTMENT={type:3,value:"ABUTMENT"},Ar.ACCESSORY_ASSEMBLY={type:3,value:"ACCESSORY_ASSEMBLY"},Ar.ARCH={type:3,value:"ARCH"},Ar.BEAM_GRID={type:3,value:"BEAM_GRID"},Ar.BRACED_FRAME={type:3,value:"BRACED_FRAME"},Ar.CROSS_BRACING={type:3,value:"CROSS_BRACING"},Ar.DECK={type:3,value:"DECK"},Ar.DILATATIONPANEL={type:3,value:"DILATATIONPANEL"},Ar.ENTRANCEWORKS={type:3,value:"ENTRANCEWORKS"},Ar.GIRDER={type:3,value:"GIRDER"},Ar.GRID={type:3,value:"GRID"},Ar.MAST={type:3,value:"MAST"},Ar.PIER={type:3,value:"PIER"},Ar.PYLON={type:3,value:"PYLON"},Ar.RAIL_MECHANICAL_EQUIPMENT_ASSEMBLY={type:3,value:"RAIL_MECHANICAL_EQUIPMENT_ASSEMBLY"},Ar.REINFORCEMENT_UNIT={type:3,value:"REINFORCEMENT_UNIT"},Ar.RIGID_FRAME={type:3,value:"RIGID_FRAME"},Ar.SHELTER={type:3,value:"SHELTER"},Ar.SIGNALASSEMBLY={type:3,value:"SIGNALASSEMBLY"},Ar.SLAB_FIELD={type:3,value:"SLAB_FIELD"},Ar.SUMPBUSTER={type:3,value:"SUMPBUSTER"},Ar.SUPPORTINGASSEMBLY={type:3,value:"SUPPORTINGASSEMBLY"},Ar.SUSPENSIONASSEMBLY={type:3,value:"SUSPENSIONASSEMBLY"},Ar.TRACKPANEL={type:3,value:"TRACKPANEL"},Ar.TRACTION_SWITCHING_ASSEMBLY={type:3,value:"TRACTION_SWITCHING_ASSEMBLY"},Ar.TRAFFIC_CALMING_DEVICE={type:3,value:"TRAFFIC_CALMING_DEVICE"},Ar.TRUSS={type:3,value:"TRUSS"},Ar.TURNOUTPANEL={type:3,value:"TURNOUTPANEL"},Ar.USERDEFINED={type:3,value:"USERDEFINED"},Ar.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcElementAssemblyTypeEnum=Ar;var dr=P((function e(){b(this,e)}));dr.COMPLEX={type:3,value:"COMPLEX"},dr.ELEMENT={type:3,value:"ELEMENT"},dr.PARTIAL={type:3,value:"PARTIAL"},e.IfcElementCompositionEnum=dr;var vr=P((function e(){b(this,e)}));vr.EXTERNALCOMBUSTION={type:3,value:"EXTERNALCOMBUSTION"},vr.INTERNALCOMBUSTION={type:3,value:"INTERNALCOMBUSTION"},vr.USERDEFINED={type:3,value:"USERDEFINED"},vr.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcEngineTypeEnum=vr;var hr=P((function e(){b(this,e)}));hr.DIRECTEVAPORATIVEAIRWASHER={type:3,value:"DIRECTEVAPORATIVEAIRWASHER"},hr.DIRECTEVAPORATIVEPACKAGEDROTARYAIRCOOLER={type:3,value:"DIRECTEVAPORATIVEPACKAGEDROTARYAIRCOOLER"},hr.DIRECTEVAPORATIVERANDOMMEDIAAIRCOOLER={type:3,value:"DIRECTEVAPORATIVERANDOMMEDIAAIRCOOLER"},hr.DIRECTEVAPORATIVERIGIDMEDIAAIRCOOLER={type:3,value:"DIRECTEVAPORATIVERIGIDMEDIAAIRCOOLER"},hr.DIRECTEVAPORATIVESLINGERSPACKAGEDAIRCOOLER={type:3,value:"DIRECTEVAPORATIVESLINGERSPACKAGEDAIRCOOLER"},hr.INDIRECTDIRECTCOMBINATION={type:3,value:"INDIRECTDIRECTCOMBINATION"},hr.INDIRECTEVAPORATIVECOOLINGTOWERORCOILCOOLER={type:3,value:"INDIRECTEVAPORATIVECOOLINGTOWERORCOILCOOLER"},hr.INDIRECTEVAPORATIVEPACKAGEAIRCOOLER={type:3,value:"INDIRECTEVAPORATIVEPACKAGEAIRCOOLER"},hr.INDIRECTEVAPORATIVEWETCOIL={type:3,value:"INDIRECTEVAPORATIVEWETCOIL"},hr.USERDEFINED={type:3,value:"USERDEFINED"},hr.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcEvaporativeCoolerTypeEnum=hr;var Ir=P((function e(){b(this,e)}));Ir.DIRECTEXPANSION={type:3,value:"DIRECTEXPANSION"},Ir.DIRECTEXPANSIONBRAZEDPLATE={type:3,value:"DIRECTEXPANSIONBRAZEDPLATE"},Ir.DIRECTEXPANSIONSHELLANDTUBE={type:3,value:"DIRECTEXPANSIONSHELLANDTUBE"},Ir.DIRECTEXPANSIONTUBEINTUBE={type:3,value:"DIRECTEXPANSIONTUBEINTUBE"},Ir.FLOODEDSHELLANDTUBE={type:3,value:"FLOODEDSHELLANDTUBE"},Ir.SHELLANDCOIL={type:3,value:"SHELLANDCOIL"},Ir.USERDEFINED={type:3,value:"USERDEFINED"},Ir.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcEvaporatorTypeEnum=Ir;var yr=P((function e(){b(this,e)}));yr.EVENTCOMPLEX={type:3,value:"EVENTCOMPLEX"},yr.EVENTMESSAGE={type:3,value:"EVENTMESSAGE"},yr.EVENTRULE={type:3,value:"EVENTRULE"},yr.EVENTTIME={type:3,value:"EVENTTIME"},yr.USERDEFINED={type:3,value:"USERDEFINED"},yr.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcEventTriggerTypeEnum=yr;var mr=P((function e(){b(this,e)}));mr.ENDEVENT={type:3,value:"ENDEVENT"},mr.INTERMEDIATEEVENT={type:3,value:"INTERMEDIATEEVENT"},mr.STARTEVENT={type:3,value:"STARTEVENT"},mr.USERDEFINED={type:3,value:"USERDEFINED"},mr.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcEventTypeEnum=mr;var wr=P((function e(){b(this,e)}));wr.EXTERNAL={type:3,value:"EXTERNAL"},wr.EXTERNAL_EARTH={type:3,value:"EXTERNAL_EARTH"},wr.EXTERNAL_FIRE={type:3,value:"EXTERNAL_FIRE"},wr.EXTERNAL_WATER={type:3,value:"EXTERNAL_WATER"},wr.USERDEFINED={type:3,value:"USERDEFINED"},wr.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcExternalSpatialElementTypeEnum=wr;var gr=P((function e(){b(this,e)}));gr.ABOVEGROUND={type:3,value:"ABOVEGROUND"},gr.BELOWGROUND={type:3,value:"BELOWGROUND"},gr.JUNCTION={type:3,value:"JUNCTION"},gr.LEVELCROSSING={type:3,value:"LEVELCROSSING"},gr.SEGMENT={type:3,value:"SEGMENT"},gr.SUBSTRUCTURE={type:3,value:"SUBSTRUCTURE"},gr.SUPERSTRUCTURE={type:3,value:"SUPERSTRUCTURE"},gr.TERMINAL={type:3,value:"TERMINAL"},gr.USERDEFINED={type:3,value:"USERDEFINED"},gr.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcFacilityPartCommonTypeEnum=gr;var Er=P((function e(){b(this,e)}));Er.LATERAL={type:3,value:"LATERAL"},Er.LONGITUDINAL={type:3,value:"LONGITUDINAL"},Er.REGION={type:3,value:"REGION"},Er.VERTICAL={type:3,value:"VERTICAL"},Er.USERDEFINED={type:3,value:"USERDEFINED"},Er.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcFacilityUsageEnum=Er;var Tr=P((function e(){b(this,e)}));Tr.CENTRIFUGALAIRFOIL={type:3,value:"CENTRIFUGALAIRFOIL"},Tr.CENTRIFUGALBACKWARDINCLINEDCURVED={type:3,value:"CENTRIFUGALBACKWARDINCLINEDCURVED"},Tr.CENTRIFUGALFORWARDCURVED={type:3,value:"CENTRIFUGALFORWARDCURVED"},Tr.CENTRIFUGALRADIAL={type:3,value:"CENTRIFUGALRADIAL"},Tr.PROPELLORAXIAL={type:3,value:"PROPELLORAXIAL"},Tr.TUBEAXIAL={type:3,value:"TUBEAXIAL"},Tr.VANEAXIAL={type:3,value:"VANEAXIAL"},Tr.USERDEFINED={type:3,value:"USERDEFINED"},Tr.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcFanTypeEnum=Tr;var br=P((function e(){b(this,e)}));br.GLUE={type:3,value:"GLUE"},br.MORTAR={type:3,value:"MORTAR"},br.WELD={type:3,value:"WELD"},br.USERDEFINED={type:3,value:"USERDEFINED"},br.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcFastenerTypeEnum=br;var Dr=P((function e(){b(this,e)}));Dr.AIRPARTICLEFILTER={type:3,value:"AIRPARTICLEFILTER"},Dr.COMPRESSEDAIRFILTER={type:3,value:"COMPRESSEDAIRFILTER"},Dr.ODORFILTER={type:3,value:"ODORFILTER"},Dr.OILFILTER={type:3,value:"OILFILTER"},Dr.STRAINER={type:3,value:"STRAINER"},Dr.WATERFILTER={type:3,value:"WATERFILTER"},Dr.USERDEFINED={type:3,value:"USERDEFINED"},Dr.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcFilterTypeEnum=Dr;var Pr=P((function e(){b(this,e)}));Pr.BREECHINGINLET={type:3,value:"BREECHINGINLET"},Pr.FIREHYDRANT={type:3,value:"FIREHYDRANT"},Pr.FIREMONITOR={type:3,value:"FIREMONITOR"},Pr.HOSEREEL={type:3,value:"HOSEREEL"},Pr.SPRINKLER={type:3,value:"SPRINKLER"},Pr.SPRINKLERDEFLECTOR={type:3,value:"SPRINKLERDEFLECTOR"},Pr.USERDEFINED={type:3,value:"USERDEFINED"},Pr.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcFireSuppressionTerminalTypeEnum=Pr;var Rr=P((function e(){b(this,e)}));Rr.SINK={type:3,value:"SINK"},Rr.SOURCE={type:3,value:"SOURCE"},Rr.SOURCEANDSINK={type:3,value:"SOURCEANDSINK"},Rr.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcFlowDirectionEnum=Rr;var Cr=P((function e(){b(this,e)}));Cr.AMMETER={type:3,value:"AMMETER"},Cr.COMBINED={type:3,value:"COMBINED"},Cr.FREQUENCYMETER={type:3,value:"FREQUENCYMETER"},Cr.PHASEANGLEMETER={type:3,value:"PHASEANGLEMETER"},Cr.POWERFACTORMETER={type:3,value:"POWERFACTORMETER"},Cr.PRESSUREGAUGE={type:3,value:"PRESSUREGAUGE"},Cr.THERMOMETER={type:3,value:"THERMOMETER"},Cr.VOLTMETER={type:3,value:"VOLTMETER"},Cr.VOLTMETER_PEAK={type:3,value:"VOLTMETER_PEAK"},Cr.VOLTMETER_RMS={type:3,value:"VOLTMETER_RMS"},Cr.USERDEFINED={type:3,value:"USERDEFINED"},Cr.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcFlowInstrumentTypeEnum=Cr;var _r=P((function e(){b(this,e)}));_r.ENERGYMETER={type:3,value:"ENERGYMETER"},_r.GASMETER={type:3,value:"GASMETER"},_r.OILMETER={type:3,value:"OILMETER"},_r.WATERMETER={type:3,value:"WATERMETER"},_r.USERDEFINED={type:3,value:"USERDEFINED"},_r.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcFlowMeterTypeEnum=_r;var Br=P((function e(){b(this,e)}));Br.CAISSON_FOUNDATION={type:3,value:"CAISSON_FOUNDATION"},Br.FOOTING_BEAM={type:3,value:"FOOTING_BEAM"},Br.PAD_FOOTING={type:3,value:"PAD_FOOTING"},Br.PILE_CAP={type:3,value:"PILE_CAP"},Br.STRIP_FOOTING={type:3,value:"STRIP_FOOTING"},Br.USERDEFINED={type:3,value:"USERDEFINED"},Br.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcFootingTypeEnum=Br;var Or=P((function e(){b(this,e)}));Or.BED={type:3,value:"BED"},Or.CHAIR={type:3,value:"CHAIR"},Or.DESK={type:3,value:"DESK"},Or.FILECABINET={type:3,value:"FILECABINET"},Or.SHELF={type:3,value:"SHELF"},Or.SOFA={type:3,value:"SOFA"},Or.TABLE={type:3,value:"TABLE"},Or.TECHNICALCABINET={type:3,value:"TECHNICALCABINET"},Or.USERDEFINED={type:3,value:"USERDEFINED"},Or.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcFurnitureTypeEnum=Or;var Sr=P((function e(){b(this,e)}));Sr.SOIL_BORING_POINT={type:3,value:"SOIL_BORING_POINT"},Sr.TERRAIN={type:3,value:"TERRAIN"},Sr.VEGETATION={type:3,value:"VEGETATION"},Sr.USERDEFINED={type:3,value:"USERDEFINED"},Sr.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcGeographicElementTypeEnum=Sr;var Nr=P((function e(){b(this,e)}));Nr.ELEVATION_VIEW={type:3,value:"ELEVATION_VIEW"},Nr.GRAPH_VIEW={type:3,value:"GRAPH_VIEW"},Nr.MODEL_VIEW={type:3,value:"MODEL_VIEW"},Nr.PLAN_VIEW={type:3,value:"PLAN_VIEW"},Nr.REFLECTED_PLAN_VIEW={type:3,value:"REFLECTED_PLAN_VIEW"},Nr.SECTION_VIEW={type:3,value:"SECTION_VIEW"},Nr.SKETCH_VIEW={type:3,value:"SKETCH_VIEW"},Nr.USERDEFINED={type:3,value:"USERDEFINED"},Nr.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcGeometricProjectionEnum=Nr;var Lr=P((function e(){b(this,e)}));Lr.SOLID={type:3,value:"SOLID"},Lr.VOID={type:3,value:"VOID"},Lr.WATER={type:3,value:"WATER"},Lr.USERDEFINED={type:3,value:"USERDEFINED"},Lr.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcGeotechnicalStratumTypeEnum=Lr;var xr=P((function e(){b(this,e)}));xr.GLOBAL_COORDS={type:3,value:"GLOBAL_COORDS"},xr.LOCAL_COORDS={type:3,value:"LOCAL_COORDS"},e.IfcGlobalOrLocalEnum=xr;var Mr=P((function e(){b(this,e)}));Mr.IRREGULAR={type:3,value:"IRREGULAR"},Mr.RADIAL={type:3,value:"RADIAL"},Mr.RECTANGULAR={type:3,value:"RECTANGULAR"},Mr.TRIANGULAR={type:3,value:"TRIANGULAR"},Mr.USERDEFINED={type:3,value:"USERDEFINED"},Mr.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcGridTypeEnum=Mr;var Fr=P((function e(){b(this,e)}));Fr.PLATE={type:3,value:"PLATE"},Fr.SHELLANDTUBE={type:3,value:"SHELLANDTUBE"},Fr.TURNOUTHEATING={type:3,value:"TURNOUTHEATING"},Fr.USERDEFINED={type:3,value:"USERDEFINED"},Fr.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcHeatExchangerTypeEnum=Fr;var Hr=P((function e(){b(this,e)}));Hr.ADIABATICAIRWASHER={type:3,value:"ADIABATICAIRWASHER"},Hr.ADIABATICATOMIZING={type:3,value:"ADIABATICATOMIZING"},Hr.ADIABATICCOMPRESSEDAIRNOZZLE={type:3,value:"ADIABATICCOMPRESSEDAIRNOZZLE"},Hr.ADIABATICPAN={type:3,value:"ADIABATICPAN"},Hr.ADIABATICRIGIDMEDIA={type:3,value:"ADIABATICRIGIDMEDIA"},Hr.ADIABATICULTRASONIC={type:3,value:"ADIABATICULTRASONIC"},Hr.ADIABATICWETTEDELEMENT={type:3,value:"ADIABATICWETTEDELEMENT"},Hr.ASSISTEDBUTANE={type:3,value:"ASSISTEDBUTANE"},Hr.ASSISTEDELECTRIC={type:3,value:"ASSISTEDELECTRIC"},Hr.ASSISTEDNATURALGAS={type:3,value:"ASSISTEDNATURALGAS"},Hr.ASSISTEDPROPANE={type:3,value:"ASSISTEDPROPANE"},Hr.ASSISTEDSTEAM={type:3,value:"ASSISTEDSTEAM"},Hr.STEAMINJECTION={type:3,value:"STEAMINJECTION"},Hr.USERDEFINED={type:3,value:"USERDEFINED"},Hr.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcHumidifierTypeEnum=Hr;var Ur=P((function e(){b(this,e)}));Ur.BUMPER={type:3,value:"BUMPER"},Ur.CRASHCUSHION={type:3,value:"CRASHCUSHION"},Ur.DAMPINGSYSTEM={type:3,value:"DAMPINGSYSTEM"},Ur.FENDER={type:3,value:"FENDER"},Ur.USERDEFINED={type:3,value:"USERDEFINED"},Ur.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcImpactProtectionDeviceTypeEnum=Ur;var Gr=P((function e(){b(this,e)}));Gr.CYCLONIC={type:3,value:"CYCLONIC"},Gr.GREASE={type:3,value:"GREASE"},Gr.OIL={type:3,value:"OIL"},Gr.PETROL={type:3,value:"PETROL"},Gr.USERDEFINED={type:3,value:"USERDEFINED"},Gr.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcInterceptorTypeEnum=Gr;var kr=P((function e(){b(this,e)}));kr.EXTERNAL={type:3,value:"EXTERNAL"},kr.EXTERNAL_EARTH={type:3,value:"EXTERNAL_EARTH"},kr.EXTERNAL_FIRE={type:3,value:"EXTERNAL_FIRE"},kr.EXTERNAL_WATER={type:3,value:"EXTERNAL_WATER"},kr.INTERNAL={type:3,value:"INTERNAL"},kr.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcInternalOrExternalEnum=kr;var jr=P((function e(){b(this,e)}));jr.ASSETINVENTORY={type:3,value:"ASSETINVENTORY"},jr.FURNITUREINVENTORY={type:3,value:"FURNITUREINVENTORY"},jr.SPACEINVENTORY={type:3,value:"SPACEINVENTORY"},jr.USERDEFINED={type:3,value:"USERDEFINED"},jr.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcInventoryTypeEnum=jr;var Vr=P((function e(){b(this,e)}));Vr.DATA={type:3,value:"DATA"},Vr.POWER={type:3,value:"POWER"},Vr.USERDEFINED={type:3,value:"USERDEFINED"},Vr.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcJunctionBoxTypeEnum=Vr;var Qr=P((function e(){b(this,e)}));Qr.PIECEWISE_BEZIER_KNOTS={type:3,value:"PIECEWISE_BEZIER_KNOTS"},Qr.QUASI_UNIFORM_KNOTS={type:3,value:"QUASI_UNIFORM_KNOTS"},Qr.UNIFORM_KNOTS={type:3,value:"UNIFORM_KNOTS"},Qr.UNSPECIFIED={type:3,value:"UNSPECIFIED"},e.IfcKnotType=Qr;var Wr=P((function e(){b(this,e)}));Wr.ADMINISTRATION={type:3,value:"ADMINISTRATION"},Wr.CARPENTRY={type:3,value:"CARPENTRY"},Wr.CLEANING={type:3,value:"CLEANING"},Wr.CONCRETE={type:3,value:"CONCRETE"},Wr.DRYWALL={type:3,value:"DRYWALL"},Wr.ELECTRIC={type:3,value:"ELECTRIC"},Wr.FINISHING={type:3,value:"FINISHING"},Wr.FLOORING={type:3,value:"FLOORING"},Wr.GENERAL={type:3,value:"GENERAL"},Wr.HVAC={type:3,value:"HVAC"},Wr.LANDSCAPING={type:3,value:"LANDSCAPING"},Wr.MASONRY={type:3,value:"MASONRY"},Wr.PAINTING={type:3,value:"PAINTING"},Wr.PAVING={type:3,value:"PAVING"},Wr.PLUMBING={type:3,value:"PLUMBING"},Wr.ROOFING={type:3,value:"ROOFING"},Wr.SITEGRADING={type:3,value:"SITEGRADING"},Wr.STEELWORK={type:3,value:"STEELWORK"},Wr.SURVEYING={type:3,value:"SURVEYING"},Wr.USERDEFINED={type:3,value:"USERDEFINED"},Wr.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcLaborResourceTypeEnum=Wr;var zr=P((function e(){b(this,e)}));zr.COMPACTFLUORESCENT={type:3,value:"COMPACTFLUORESCENT"},zr.FLUORESCENT={type:3,value:"FLUORESCENT"},zr.HALOGEN={type:3,value:"HALOGEN"},zr.HIGHPRESSUREMERCURY={type:3,value:"HIGHPRESSUREMERCURY"},zr.HIGHPRESSURESODIUM={type:3,value:"HIGHPRESSURESODIUM"},zr.LED={type:3,value:"LED"},zr.METALHALIDE={type:3,value:"METALHALIDE"},zr.OLED={type:3,value:"OLED"},zr.TUNGSTENFILAMENT={type:3,value:"TUNGSTENFILAMENT"},zr.USERDEFINED={type:3,value:"USERDEFINED"},zr.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcLampTypeEnum=zr;var Kr=P((function e(){b(this,e)}));Kr.AXIS1={type:3,value:"AXIS1"},Kr.AXIS2={type:3,value:"AXIS2"},Kr.AXIS3={type:3,value:"AXIS3"},e.IfcLayerSetDirectionEnum=Kr;var Yr=P((function e(){b(this,e)}));Yr.TYPE_A={type:3,value:"TYPE_A"},Yr.TYPE_B={type:3,value:"TYPE_B"},Yr.TYPE_C={type:3,value:"TYPE_C"},Yr.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcLightDistributionCurveEnum=Yr;var Xr=P((function e(){b(this,e)}));Xr.COMPACTFLUORESCENT={type:3,value:"COMPACTFLUORESCENT"},Xr.FLUORESCENT={type:3,value:"FLUORESCENT"},Xr.HIGHPRESSUREMERCURY={type:3,value:"HIGHPRESSUREMERCURY"},Xr.HIGHPRESSURESODIUM={type:3,value:"HIGHPRESSURESODIUM"},Xr.LIGHTEMITTINGDIODE={type:3,value:"LIGHTEMITTINGDIODE"},Xr.LOWPRESSURESODIUM={type:3,value:"LOWPRESSURESODIUM"},Xr.LOWVOLTAGEHALOGEN={type:3,value:"LOWVOLTAGEHALOGEN"},Xr.MAINVOLTAGEHALOGEN={type:3,value:"MAINVOLTAGEHALOGEN"},Xr.METALHALIDE={type:3,value:"METALHALIDE"},Xr.TUNGSTENFILAMENT={type:3,value:"TUNGSTENFILAMENT"},Xr.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcLightEmissionSourceEnum=Xr;var qr=P((function e(){b(this,e)}));qr.DIRECTIONSOURCE={type:3,value:"DIRECTIONSOURCE"},qr.POINTSOURCE={type:3,value:"POINTSOURCE"},qr.SECURITYLIGHTING={type:3,value:"SECURITYLIGHTING"},qr.USERDEFINED={type:3,value:"USERDEFINED"},qr.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcLightFixtureTypeEnum=qr;var Jr=P((function e(){b(this,e)}));Jr.HOSEREEL={type:3,value:"HOSEREEL"},Jr.LOADINGARM={type:3,value:"LOADINGARM"},Jr.USERDEFINED={type:3,value:"USERDEFINED"},Jr.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcLiquidTerminalTypeEnum=Jr;var Zr=P((function e(){b(this,e)}));Zr.LOAD_CASE={type:3,value:"LOAD_CASE"},Zr.LOAD_COMBINATION={type:3,value:"LOAD_COMBINATION"},Zr.LOAD_GROUP={type:3,value:"LOAD_GROUP"},Zr.USERDEFINED={type:3,value:"USERDEFINED"},Zr.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcLoadGroupTypeEnum=Zr;var $r=P((function e(){b(this,e)}));$r.LOGICALAND={type:3,value:"LOGICALAND"},$r.LOGICALNOTAND={type:3,value:"LOGICALNOTAND"},$r.LOGICALNOTOR={type:3,value:"LOGICALNOTOR"},$r.LOGICALOR={type:3,value:"LOGICALOR"},$r.LOGICALXOR={type:3,value:"LOGICALXOR"},e.IfcLogicalOperatorEnum=$r;var ei=P((function e(){b(this,e)}));ei.BARRIERBEACH={type:3,value:"BARRIERBEACH"},ei.BREAKWATER={type:3,value:"BREAKWATER"},ei.CANAL={type:3,value:"CANAL"},ei.DRYDOCK={type:3,value:"DRYDOCK"},ei.FLOATINGDOCK={type:3,value:"FLOATINGDOCK"},ei.HYDROLIFT={type:3,value:"HYDROLIFT"},ei.JETTY={type:3,value:"JETTY"},ei.LAUNCHRECOVERY={type:3,value:"LAUNCHRECOVERY"},ei.MARINEDEFENCE={type:3,value:"MARINEDEFENCE"},ei.NAVIGATIONALCHANNEL={type:3,value:"NAVIGATIONALCHANNEL"},ei.PORT={type:3,value:"PORT"},ei.QUAY={type:3,value:"QUAY"},ei.REVETMENT={type:3,value:"REVETMENT"},ei.SHIPLIFT={type:3,value:"SHIPLIFT"},ei.SHIPLOCK={type:3,value:"SHIPLOCK"},ei.SHIPYARD={type:3,value:"SHIPYARD"},ei.SLIPWAY={type:3,value:"SLIPWAY"},ei.WATERWAY={type:3,value:"WATERWAY"},ei.WATERWAYSHIPLIFT={type:3,value:"WATERWAYSHIPLIFT"},ei.USERDEFINED={type:3,value:"USERDEFINED"},ei.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcMarineFacilityTypeEnum=ei;var ti=P((function e(){b(this,e)}));ti.ABOVEWATERLINE={type:3,value:"ABOVEWATERLINE"},ti.ANCHORAGE={type:3,value:"ANCHORAGE"},ti.APPROACHCHANNEL={type:3,value:"APPROACHCHANNEL"},ti.BELOWWATERLINE={type:3,value:"BELOWWATERLINE"},ti.BERTHINGSTRUCTURE={type:3,value:"BERTHINGSTRUCTURE"},ti.CHAMBER={type:3,value:"CHAMBER"},ti.CILL_LEVEL={type:3,value:"CILL_LEVEL"},ti.COPELEVEL={type:3,value:"COPELEVEL"},ti.CORE={type:3,value:"CORE"},ti.CREST={type:3,value:"CREST"},ti.GATEHEAD={type:3,value:"GATEHEAD"},ti.GUDINGSTRUCTURE={type:3,value:"GUDINGSTRUCTURE"},ti.HIGHWATERLINE={type:3,value:"HIGHWATERLINE"},ti.LANDFIELD={type:3,value:"LANDFIELD"},ti.LEEWARDSIDE={type:3,value:"LEEWARDSIDE"},ti.LOWWATERLINE={type:3,value:"LOWWATERLINE"},ti.MANUFACTURING={type:3,value:"MANUFACTURING"},ti.NAVIGATIONALAREA={type:3,value:"NAVIGATIONALAREA"},ti.PROTECTION={type:3,value:"PROTECTION"},ti.SHIPTRANSFER={type:3,value:"SHIPTRANSFER"},ti.STORAGEAREA={type:3,value:"STORAGEAREA"},ti.VEHICLESERVICING={type:3,value:"VEHICLESERVICING"},ti.WATERFIELD={type:3,value:"WATERFIELD"},ti.WEATHERSIDE={type:3,value:"WEATHERSIDE"},ti.USERDEFINED={type:3,value:"USERDEFINED"},ti.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcMarinePartTypeEnum=ti;var ni=P((function e(){b(this,e)}));ni.ANCHORBOLT={type:3,value:"ANCHORBOLT"},ni.BOLT={type:3,value:"BOLT"},ni.CHAIN={type:3,value:"CHAIN"},ni.COUPLER={type:3,value:"COUPLER"},ni.DOWEL={type:3,value:"DOWEL"},ni.NAIL={type:3,value:"NAIL"},ni.NAILPLATE={type:3,value:"NAILPLATE"},ni.RAILFASTENING={type:3,value:"RAILFASTENING"},ni.RAILJOINT={type:3,value:"RAILJOINT"},ni.RIVET={type:3,value:"RIVET"},ni.ROPE={type:3,value:"ROPE"},ni.SCREW={type:3,value:"SCREW"},ni.SHEARCONNECTOR={type:3,value:"SHEARCONNECTOR"},ni.STAPLE={type:3,value:"STAPLE"},ni.STUDSHEARCONNECTOR={type:3,value:"STUDSHEARCONNECTOR"},ni.USERDEFINED={type:3,value:"USERDEFINED"},ni.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcMechanicalFastenerTypeEnum=ni;var ri=P((function e(){b(this,e)}));ri.AIRSTATION={type:3,value:"AIRSTATION"},ri.FEEDAIRUNIT={type:3,value:"FEEDAIRUNIT"},ri.OXYGENGENERATOR={type:3,value:"OXYGENGENERATOR"},ri.OXYGENPLANT={type:3,value:"OXYGENPLANT"},ri.VACUUMSTATION={type:3,value:"VACUUMSTATION"},ri.USERDEFINED={type:3,value:"USERDEFINED"},ri.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcMedicalDeviceTypeEnum=ri;var ii=P((function e(){b(this,e)}));ii.ARCH_SEGMENT={type:3,value:"ARCH_SEGMENT"},ii.BRACE={type:3,value:"BRACE"},ii.CHORD={type:3,value:"CHORD"},ii.COLLAR={type:3,value:"COLLAR"},ii.MEMBER={type:3,value:"MEMBER"},ii.MULLION={type:3,value:"MULLION"},ii.PLATE={type:3,value:"PLATE"},ii.POST={type:3,value:"POST"},ii.PURLIN={type:3,value:"PURLIN"},ii.RAFTER={type:3,value:"RAFTER"},ii.STAY_CABLE={type:3,value:"STAY_CABLE"},ii.STIFFENING_RIB={type:3,value:"STIFFENING_RIB"},ii.STRINGER={type:3,value:"STRINGER"},ii.STRUCTURALCABLE={type:3,value:"STRUCTURALCABLE"},ii.STRUT={type:3,value:"STRUT"},ii.STUD={type:3,value:"STUD"},ii.SUSPENDER={type:3,value:"SUSPENDER"},ii.SUSPENSION_CABLE={type:3,value:"SUSPENSION_CABLE"},ii.TIEBAR={type:3,value:"TIEBAR"},ii.USERDEFINED={type:3,value:"USERDEFINED"},ii.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcMemberTypeEnum=ii;var ai=P((function e(){b(this,e)}));ai.ACCESSPOINT={type:3,value:"ACCESSPOINT"},ai.BASEBANDUNIT={type:3,value:"BASEBANDUNIT"},ai.BASETRANSCEIVERSTATION={type:3,value:"BASETRANSCEIVERSTATION"},ai.E_UTRAN_NODE_B={type:3,value:"E_UTRAN_NODE_B"},ai.GATEWAY_GPRS_SUPPORT_NODE={type:3,value:"GATEWAY_GPRS_SUPPORT_NODE"},ai.MASTERUNIT={type:3,value:"MASTERUNIT"},ai.MOBILESWITCHINGCENTER={type:3,value:"MOBILESWITCHINGCENTER"},ai.MSCSERVER={type:3,value:"MSCSERVER"},ai.PACKETCONTROLUNIT={type:3,value:"PACKETCONTROLUNIT"},ai.REMOTERADIOUNIT={type:3,value:"REMOTERADIOUNIT"},ai.REMOTEUNIT={type:3,value:"REMOTEUNIT"},ai.SERVICE_GPRS_SUPPORT_NODE={type:3,value:"SERVICE_GPRS_SUPPORT_NODE"},ai.SUBSCRIBERSERVER={type:3,value:"SUBSCRIBERSERVER"},ai.USERDEFINED={type:3,value:"USERDEFINED"},ai.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcMobileTelecommunicationsApplianceTypeEnum=ai;var si=P((function e(){b(this,e)}));si.BOLLARD={type:3,value:"BOLLARD"},si.LINETENSIONER={type:3,value:"LINETENSIONER"},si.MAGNETICDEVICE={type:3,value:"MAGNETICDEVICE"},si.MOORINGHOOKS={type:3,value:"MOORINGHOOKS"},si.VACUUMDEVICE={type:3,value:"VACUUMDEVICE"},si.USERDEFINED={type:3,value:"USERDEFINED"},si.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcMooringDeviceTypeEnum=si;var oi=P((function e(){b(this,e)}));oi.BELTDRIVE={type:3,value:"BELTDRIVE"},oi.COUPLING={type:3,value:"COUPLING"},oi.DIRECTDRIVE={type:3,value:"DIRECTDRIVE"},oi.USERDEFINED={type:3,value:"USERDEFINED"},oi.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcMotorConnectionTypeEnum=oi;var li=P((function e(){b(this,e)}));li.BEACON={type:3,value:"BEACON"},li.BUOY={type:3,value:"BUOY"},li.USERDEFINED={type:3,value:"USERDEFINED"},li.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcNavigationElementTypeEnum=li;var ui=P((function e(){b(this,e)}));ui.ACTOR={type:3,value:"ACTOR"},ui.CONTROL={type:3,value:"CONTROL"},ui.GROUP={type:3,value:"GROUP"},ui.PROCESS={type:3,value:"PROCESS"},ui.PRODUCT={type:3,value:"PRODUCT"},ui.PROJECT={type:3,value:"PROJECT"},ui.RESOURCE={type:3,value:"RESOURCE"},ui.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcObjectTypeEnum=ui;var ci=P((function e(){b(this,e)}));ci.CODECOMPLIANCE={type:3,value:"CODECOMPLIANCE"},ci.CODEWAIVER={type:3,value:"CODEWAIVER"},ci.DESIGNINTENT={type:3,value:"DESIGNINTENT"},ci.EXTERNAL={type:3,value:"EXTERNAL"},ci.HEALTHANDSAFETY={type:3,value:"HEALTHANDSAFETY"},ci.MERGECONFLICT={type:3,value:"MERGECONFLICT"},ci.MODELVIEW={type:3,value:"MODELVIEW"},ci.PARAMETER={type:3,value:"PARAMETER"},ci.REQUIREMENT={type:3,value:"REQUIREMENT"},ci.SPECIFICATION={type:3,value:"SPECIFICATION"},ci.TRIGGERCONDITION={type:3,value:"TRIGGERCONDITION"},ci.USERDEFINED={type:3,value:"USERDEFINED"},ci.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcObjectiveEnum=ci;var fi=P((function e(){b(this,e)}));fi.ASSIGNEE={type:3,value:"ASSIGNEE"},fi.ASSIGNOR={type:3,value:"ASSIGNOR"},fi.LESSEE={type:3,value:"LESSEE"},fi.LESSOR={type:3,value:"LESSOR"},fi.LETTINGAGENT={type:3,value:"LETTINGAGENT"},fi.OWNER={type:3,value:"OWNER"},fi.TENANT={type:3,value:"TENANT"},fi.USERDEFINED={type:3,value:"USERDEFINED"},fi.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcOccupantTypeEnum=fi;var pi=P((function e(){b(this,e)}));pi.OPENING={type:3,value:"OPENING"},pi.RECESS={type:3,value:"RECESS"},pi.USERDEFINED={type:3,value:"USERDEFINED"},pi.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcOpeningElementTypeEnum=pi;var Ai=P((function e(){b(this,e)}));Ai.AUDIOVISUALOUTLET={type:3,value:"AUDIOVISUALOUTLET"},Ai.COMMUNICATIONSOUTLET={type:3,value:"COMMUNICATIONSOUTLET"},Ai.DATAOUTLET={type:3,value:"DATAOUTLET"},Ai.POWEROUTLET={type:3,value:"POWEROUTLET"},Ai.TELEPHONEOUTLET={type:3,value:"TELEPHONEOUTLET"},Ai.USERDEFINED={type:3,value:"USERDEFINED"},Ai.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcOutletTypeEnum=Ai;var di=P((function e(){b(this,e)}));di.FLEXIBLE={type:3,value:"FLEXIBLE"},di.RIGID={type:3,value:"RIGID"},di.USERDEFINED={type:3,value:"USERDEFINED"},di.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcPavementTypeEnum=di;var vi=P((function e(){b(this,e)}));vi.USERDEFINED={type:3,value:"USERDEFINED"},vi.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcPerformanceHistoryTypeEnum=vi;var hi=P((function e(){b(this,e)}));hi.GRILL={type:3,value:"GRILL"},hi.LOUVER={type:3,value:"LOUVER"},hi.SCREEN={type:3,value:"SCREEN"},hi.USERDEFINED={type:3,value:"USERDEFINED"},hi.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcPermeableCoveringOperationEnum=hi;var Ii=P((function e(){b(this,e)}));Ii.ACCESS={type:3,value:"ACCESS"},Ii.BUILDING={type:3,value:"BUILDING"},Ii.WORK={type:3,value:"WORK"},Ii.USERDEFINED={type:3,value:"USERDEFINED"},Ii.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcPermitTypeEnum=Ii;var yi=P((function e(){b(this,e)}));yi.PHYSICAL={type:3,value:"PHYSICAL"},yi.VIRTUAL={type:3,value:"VIRTUAL"},yi.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcPhysicalOrVirtualEnum=yi;var mi=P((function e(){b(this,e)}));mi.CAST_IN_PLACE={type:3,value:"CAST_IN_PLACE"},mi.COMPOSITE={type:3,value:"COMPOSITE"},mi.PRECAST_CONCRETE={type:3,value:"PRECAST_CONCRETE"},mi.PREFAB_STEEL={type:3,value:"PREFAB_STEEL"},mi.USERDEFINED={type:3,value:"USERDEFINED"},mi.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcPileConstructionEnum=mi;var wi=P((function e(){b(this,e)}));wi.BORED={type:3,value:"BORED"},wi.COHESION={type:3,value:"COHESION"},wi.DRIVEN={type:3,value:"DRIVEN"},wi.FRICTION={type:3,value:"FRICTION"},wi.JETGROUTING={type:3,value:"JETGROUTING"},wi.SUPPORT={type:3,value:"SUPPORT"},wi.USERDEFINED={type:3,value:"USERDEFINED"},wi.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcPileTypeEnum=wi;var gi=P((function e(){b(this,e)}));gi.BEND={type:3,value:"BEND"},gi.CONNECTOR={type:3,value:"CONNECTOR"},gi.ENTRY={type:3,value:"ENTRY"},gi.EXIT={type:3,value:"EXIT"},gi.JUNCTION={type:3,value:"JUNCTION"},gi.OBSTRUCTION={type:3,value:"OBSTRUCTION"},gi.TRANSITION={type:3,value:"TRANSITION"},gi.USERDEFINED={type:3,value:"USERDEFINED"},gi.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcPipeFittingTypeEnum=gi;var Ei=P((function e(){b(this,e)}));Ei.CULVERT={type:3,value:"CULVERT"},Ei.FLEXIBLESEGMENT={type:3,value:"FLEXIBLESEGMENT"},Ei.GUTTER={type:3,value:"GUTTER"},Ei.RIGIDSEGMENT={type:3,value:"RIGIDSEGMENT"},Ei.SPOOL={type:3,value:"SPOOL"},Ei.USERDEFINED={type:3,value:"USERDEFINED"},Ei.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcPipeSegmentTypeEnum=Ei;var Ti=P((function e(){b(this,e)}));Ti.BASE_PLATE={type:3,value:"BASE_PLATE"},Ti.COVER_PLATE={type:3,value:"COVER_PLATE"},Ti.CURTAIN_PANEL={type:3,value:"CURTAIN_PANEL"},Ti.FLANGE_PLATE={type:3,value:"FLANGE_PLATE"},Ti.GUSSET_PLATE={type:3,value:"GUSSET_PLATE"},Ti.SHEET={type:3,value:"SHEET"},Ti.SPLICE_PLATE={type:3,value:"SPLICE_PLATE"},Ti.STIFFENER_PLATE={type:3,value:"STIFFENER_PLATE"},Ti.WEB_PLATE={type:3,value:"WEB_PLATE"},Ti.USERDEFINED={type:3,value:"USERDEFINED"},Ti.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcPlateTypeEnum=Ti;var bi=P((function e(){b(this,e)}));bi.CURVE3D={type:3,value:"CURVE3D"},bi.PCURVE_S1={type:3,value:"PCURVE_S1"},bi.PCURVE_S2={type:3,value:"PCURVE_S2"},e.IfcPreferredSurfaceCurveRepresentation=bi;var Di=P((function e(){b(this,e)}));Di.ADVICE_CAUTION={type:3,value:"ADVICE_CAUTION"},Di.ADVICE_NOTE={type:3,value:"ADVICE_NOTE"},Di.ADVICE_WARNING={type:3,value:"ADVICE_WARNING"},Di.CALIBRATION={type:3,value:"CALIBRATION"},Di.DIAGNOSTIC={type:3,value:"DIAGNOSTIC"},Di.SHUTDOWN={type:3,value:"SHUTDOWN"},Di.STARTUP={type:3,value:"STARTUP"},Di.USERDEFINED={type:3,value:"USERDEFINED"},Di.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcProcedureTypeEnum=Di;var Pi=P((function e(){b(this,e)}));Pi.AREA={type:3,value:"AREA"},Pi.CURVE={type:3,value:"CURVE"},e.IfcProfileTypeEnum=Pi;var Ri=P((function e(){b(this,e)}));Ri.CHANGEORDER={type:3,value:"CHANGEORDER"},Ri.MAINTENANCEWORKORDER={type:3,value:"MAINTENANCEWORKORDER"},Ri.MOVEORDER={type:3,value:"MOVEORDER"},Ri.PURCHASEORDER={type:3,value:"PURCHASEORDER"},Ri.WORKORDER={type:3,value:"WORKORDER"},Ri.USERDEFINED={type:3,value:"USERDEFINED"},Ri.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcProjectOrderTypeEnum=Ri;var Ci=P((function e(){b(this,e)}));Ci.PROJECTED_LENGTH={type:3,value:"PROJECTED_LENGTH"},Ci.TRUE_LENGTH={type:3,value:"TRUE_LENGTH"},e.IfcProjectedOrTrueLengthEnum=Ci;var _i=P((function e(){b(this,e)}));_i.BLISTER={type:3,value:"BLISTER"},_i.DEVIATOR={type:3,value:"DEVIATOR"},_i.USERDEFINED={type:3,value:"USERDEFINED"},_i.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcProjectionElementTypeEnum=_i;var Bi=P((function e(){b(this,e)}));Bi.PSET_MATERIALDRIVEN={type:3,value:"PSET_MATERIALDRIVEN"},Bi.PSET_OCCURRENCEDRIVEN={type:3,value:"PSET_OCCURRENCEDRIVEN"},Bi.PSET_PERFORMANCEDRIVEN={type:3,value:"PSET_PERFORMANCEDRIVEN"},Bi.PSET_PROFILEDRIVEN={type:3,value:"PSET_PROFILEDRIVEN"},Bi.PSET_TYPEDRIVENONLY={type:3,value:"PSET_TYPEDRIVENONLY"},Bi.PSET_TYPEDRIVENOVERRIDE={type:3,value:"PSET_TYPEDRIVENOVERRIDE"},Bi.QTO_OCCURRENCEDRIVEN={type:3,value:"QTO_OCCURRENCEDRIVEN"},Bi.QTO_TYPEDRIVENONLY={type:3,value:"QTO_TYPEDRIVENONLY"},Bi.QTO_TYPEDRIVENOVERRIDE={type:3,value:"QTO_TYPEDRIVENOVERRIDE"},Bi.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcPropertySetTemplateTypeEnum=Bi;var Oi=P((function e(){b(this,e)}));Oi.ELECTROMAGNETIC={type:3,value:"ELECTROMAGNETIC"},Oi.ELECTRONIC={type:3,value:"ELECTRONIC"},Oi.RESIDUALCURRENT={type:3,value:"RESIDUALCURRENT"},Oi.THERMAL={type:3,value:"THERMAL"},Oi.USERDEFINED={type:3,value:"USERDEFINED"},Oi.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcProtectiveDeviceTrippingUnitTypeEnum=Oi;var Si=P((function e(){b(this,e)}));Si.ANTI_ARCING_DEVICE={type:3,value:"ANTI_ARCING_DEVICE"},Si.CIRCUITBREAKER={type:3,value:"CIRCUITBREAKER"},Si.EARTHINGSWITCH={type:3,value:"EARTHINGSWITCH"},Si.EARTHLEAKAGECIRCUITBREAKER={type:3,value:"EARTHLEAKAGECIRCUITBREAKER"},Si.FUSEDISCONNECTOR={type:3,value:"FUSEDISCONNECTOR"},Si.RESIDUALCURRENTCIRCUITBREAKER={type:3,value:"RESIDUALCURRENTCIRCUITBREAKER"},Si.RESIDUALCURRENTSWITCH={type:3,value:"RESIDUALCURRENTSWITCH"},Si.SPARKGAP={type:3,value:"SPARKGAP"},Si.VARISTOR={type:3,value:"VARISTOR"},Si.VOLTAGELIMITER={type:3,value:"VOLTAGELIMITER"},Si.USERDEFINED={type:3,value:"USERDEFINED"},Si.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcProtectiveDeviceTypeEnum=Si;var Ni=P((function e(){b(this,e)}));Ni.CIRCULATOR={type:3,value:"CIRCULATOR"},Ni.ENDSUCTION={type:3,value:"ENDSUCTION"},Ni.SPLITCASE={type:3,value:"SPLITCASE"},Ni.SUBMERSIBLEPUMP={type:3,value:"SUBMERSIBLEPUMP"},Ni.SUMPPUMP={type:3,value:"SUMPPUMP"},Ni.VERTICALINLINE={type:3,value:"VERTICALINLINE"},Ni.VERTICALTURBINE={type:3,value:"VERTICALTURBINE"},Ni.USERDEFINED={type:3,value:"USERDEFINED"},Ni.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcPumpTypeEnum=Ni;var Li=P((function e(){b(this,e)}));Li.BLADE={type:3,value:"BLADE"},Li.CHECKRAIL={type:3,value:"CHECKRAIL"},Li.GUARDRAIL={type:3,value:"GUARDRAIL"},Li.RACKRAIL={type:3,value:"RACKRAIL"},Li.RAIL={type:3,value:"RAIL"},Li.STOCKRAIL={type:3,value:"STOCKRAIL"},Li.USERDEFINED={type:3,value:"USERDEFINED"},Li.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcRailTypeEnum=Li;var xi=P((function e(){b(this,e)}));xi.BALUSTRADE={type:3,value:"BALUSTRADE"},xi.FENCE={type:3,value:"FENCE"},xi.GUARDRAIL={type:3,value:"GUARDRAIL"},xi.HANDRAIL={type:3,value:"HANDRAIL"},xi.USERDEFINED={type:3,value:"USERDEFINED"},xi.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcRailingTypeEnum=xi;var Mi=P((function e(){b(this,e)}));Mi.DILATATIONSUPERSTRUCTURE={type:3,value:"DILATATIONSUPERSTRUCTURE"},Mi.LINESIDESTRUCTURE={type:3,value:"LINESIDESTRUCTURE"},Mi.LINESIDESTRUCTUREPART={type:3,value:"LINESIDESTRUCTUREPART"},Mi.PLAINTRACKSUPERSTRUCTURE={type:3,value:"PLAINTRACKSUPERSTRUCTURE"},Mi.SUPERSTRUCTURE={type:3,value:"SUPERSTRUCTURE"},Mi.TRACKSTRUCTURE={type:3,value:"TRACKSTRUCTURE"},Mi.TRACKSTRUCTUREPART={type:3,value:"TRACKSTRUCTUREPART"},Mi.TURNOUTSUPERSTRUCTURE={type:3,value:"TURNOUTSUPERSTRUCTURE"},Mi.USERDEFINED={type:3,value:"USERDEFINED"},Mi.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcRailwayPartTypeEnum=Mi;var Fi=P((function e(){b(this,e)}));Fi.USERDEFINED={type:3,value:"USERDEFINED"},Fi.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcRailwayTypeEnum=Fi;var Hi=P((function e(){b(this,e)}));Hi.SPIRAL={type:3,value:"SPIRAL"},Hi.STRAIGHT={type:3,value:"STRAIGHT"},Hi.USERDEFINED={type:3,value:"USERDEFINED"},Hi.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcRampFlightTypeEnum=Hi;var Ui=P((function e(){b(this,e)}));Ui.HALF_TURN_RAMP={type:3,value:"HALF_TURN_RAMP"},Ui.QUARTER_TURN_RAMP={type:3,value:"QUARTER_TURN_RAMP"},Ui.SPIRAL_RAMP={type:3,value:"SPIRAL_RAMP"},Ui.STRAIGHT_RUN_RAMP={type:3,value:"STRAIGHT_RUN_RAMP"},Ui.TWO_QUARTER_TURN_RAMP={type:3,value:"TWO_QUARTER_TURN_RAMP"},Ui.TWO_STRAIGHT_RUN_RAMP={type:3,value:"TWO_STRAIGHT_RUN_RAMP"},Ui.USERDEFINED={type:3,value:"USERDEFINED"},Ui.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcRampTypeEnum=Ui;var Gi=P((function e(){b(this,e)}));Gi.BY_DAY_COUNT={type:3,value:"BY_DAY_COUNT"},Gi.BY_WEEKDAY_COUNT={type:3,value:"BY_WEEKDAY_COUNT"},Gi.DAILY={type:3,value:"DAILY"},Gi.MONTHLY_BY_DAY_OF_MONTH={type:3,value:"MONTHLY_BY_DAY_OF_MONTH"},Gi.MONTHLY_BY_POSITION={type:3,value:"MONTHLY_BY_POSITION"},Gi.WEEKLY={type:3,value:"WEEKLY"},Gi.YEARLY_BY_DAY_OF_MONTH={type:3,value:"YEARLY_BY_DAY_OF_MONTH"},Gi.YEARLY_BY_POSITION={type:3,value:"YEARLY_BY_POSITION"},e.IfcRecurrenceTypeEnum=Gi;var ki=P((function e(){b(this,e)}));ki.BOUNDARY={type:3,value:"BOUNDARY"},ki.INTERSECTION={type:3,value:"INTERSECTION"},ki.KILOPOINT={type:3,value:"KILOPOINT"},ki.LANDMARK={type:3,value:"LANDMARK"},ki.MILEPOINT={type:3,value:"MILEPOINT"},ki.POSITION={type:3,value:"POSITION"},ki.REFERENCEMARKER={type:3,value:"REFERENCEMARKER"},ki.STATION={type:3,value:"STATION"},ki.USERDEFINED={type:3,value:"USERDEFINED"},ki.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcReferentTypeEnum=ki;var ji=P((function e(){b(this,e)}));ji.BLINN={type:3,value:"BLINN"},ji.FLAT={type:3,value:"FLAT"},ji.GLASS={type:3,value:"GLASS"},ji.MATT={type:3,value:"MATT"},ji.METAL={type:3,value:"METAL"},ji.MIRROR={type:3,value:"MIRROR"},ji.PHONG={type:3,value:"PHONG"},ji.PHYSICAL={type:3,value:"PHYSICAL"},ji.PLASTIC={type:3,value:"PLASTIC"},ji.STRAUSS={type:3,value:"STRAUSS"},ji.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcReflectanceMethodEnum=ji;var Vi=P((function e(){b(this,e)}));Vi.DYNAMICALLYCOMPACTED={type:3,value:"DYNAMICALLYCOMPACTED"},Vi.GROUTED={type:3,value:"GROUTED"},Vi.REPLACED={type:3,value:"REPLACED"},Vi.ROLLERCOMPACTED={type:3,value:"ROLLERCOMPACTED"},Vi.SURCHARGEPRELOADED={type:3,value:"SURCHARGEPRELOADED"},Vi.VERTICALLYDRAINED={type:3,value:"VERTICALLYDRAINED"},Vi.USERDEFINED={type:3,value:"USERDEFINED"},Vi.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcReinforcedSoilTypeEnum=Vi;var Qi=P((function e(){b(this,e)}));Qi.ANCHORING={type:3,value:"ANCHORING"},Qi.EDGE={type:3,value:"EDGE"},Qi.LIGATURE={type:3,value:"LIGATURE"},Qi.MAIN={type:3,value:"MAIN"},Qi.PUNCHING={type:3,value:"PUNCHING"},Qi.RING={type:3,value:"RING"},Qi.SHEAR={type:3,value:"SHEAR"},Qi.STUD={type:3,value:"STUD"},Qi.USERDEFINED={type:3,value:"USERDEFINED"},Qi.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcReinforcingBarRoleEnum=Qi;var Wi=P((function e(){b(this,e)}));Wi.PLAIN={type:3,value:"PLAIN"},Wi.TEXTURED={type:3,value:"TEXTURED"},e.IfcReinforcingBarSurfaceEnum=Wi;var zi=P((function e(){b(this,e)}));zi.ANCHORING={type:3,value:"ANCHORING"},zi.EDGE={type:3,value:"EDGE"},zi.LIGATURE={type:3,value:"LIGATURE"},zi.MAIN={type:3,value:"MAIN"},zi.PUNCHING={type:3,value:"PUNCHING"},zi.RING={type:3,value:"RING"},zi.SHEAR={type:3,value:"SHEAR"},zi.SPACEBAR={type:3,value:"SPACEBAR"},zi.STUD={type:3,value:"STUD"},zi.USERDEFINED={type:3,value:"USERDEFINED"},zi.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcReinforcingBarTypeEnum=zi;var Ki=P((function e(){b(this,e)}));Ki.USERDEFINED={type:3,value:"USERDEFINED"},Ki.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcReinforcingMeshTypeEnum=Ki;var Yi=P((function e(){b(this,e)}));Yi.BICYCLECROSSING={type:3,value:"BICYCLECROSSING"},Yi.BUS_STOP={type:3,value:"BUS_STOP"},Yi.CARRIAGEWAY={type:3,value:"CARRIAGEWAY"},Yi.CENTRALISLAND={type:3,value:"CENTRALISLAND"},Yi.CENTRALRESERVE={type:3,value:"CENTRALRESERVE"},Yi.HARDSHOULDER={type:3,value:"HARDSHOULDER"},Yi.INTERSECTION={type:3,value:"INTERSECTION"},Yi.LAYBY={type:3,value:"LAYBY"},Yi.PARKINGBAY={type:3,value:"PARKINGBAY"},Yi.PASSINGBAY={type:3,value:"PASSINGBAY"},Yi.PEDESTRIAN_CROSSING={type:3,value:"PEDESTRIAN_CROSSING"},Yi.RAILWAYCROSSING={type:3,value:"RAILWAYCROSSING"},Yi.REFUGEISLAND={type:3,value:"REFUGEISLAND"},Yi.ROADSEGMENT={type:3,value:"ROADSEGMENT"},Yi.ROADSIDE={type:3,value:"ROADSIDE"},Yi.ROADSIDEPART={type:3,value:"ROADSIDEPART"},Yi.ROADWAYPLATEAU={type:3,value:"ROADWAYPLATEAU"},Yi.ROUNDABOUT={type:3,value:"ROUNDABOUT"},Yi.SHOULDER={type:3,value:"SHOULDER"},Yi.SIDEWALK={type:3,value:"SIDEWALK"},Yi.SOFTSHOULDER={type:3,value:"SOFTSHOULDER"},Yi.TOLLPLAZA={type:3,value:"TOLLPLAZA"},Yi.TRAFFICISLAND={type:3,value:"TRAFFICISLAND"},Yi.TRAFFICLANE={type:3,value:"TRAFFICLANE"},Yi.USERDEFINED={type:3,value:"USERDEFINED"},Yi.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcRoadPartTypeEnum=Yi;var Xi=P((function e(){b(this,e)}));Xi.USERDEFINED={type:3,value:"USERDEFINED"},Xi.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcRoadTypeEnum=Xi;var qi=P((function e(){b(this,e)}));qi.ARCHITECT={type:3,value:"ARCHITECT"},qi.BUILDINGOPERATOR={type:3,value:"BUILDINGOPERATOR"},qi.BUILDINGOWNER={type:3,value:"BUILDINGOWNER"},qi.CIVILENGINEER={type:3,value:"CIVILENGINEER"},qi.CLIENT={type:3,value:"CLIENT"},qi.COMMISSIONINGENGINEER={type:3,value:"COMMISSIONINGENGINEER"},qi.CONSTRUCTIONMANAGER={type:3,value:"CONSTRUCTIONMANAGER"},qi.CONSULTANT={type:3,value:"CONSULTANT"},qi.CONTRACTOR={type:3,value:"CONTRACTOR"},qi.COSTENGINEER={type:3,value:"COSTENGINEER"},qi.ELECTRICALENGINEER={type:3,value:"ELECTRICALENGINEER"},qi.ENGINEER={type:3,value:"ENGINEER"},qi.FACILITIESMANAGER={type:3,value:"FACILITIESMANAGER"},qi.FIELDCONSTRUCTIONMANAGER={type:3,value:"FIELDCONSTRUCTIONMANAGER"},qi.MANUFACTURER={type:3,value:"MANUFACTURER"},qi.MECHANICALENGINEER={type:3,value:"MECHANICALENGINEER"},qi.OWNER={type:3,value:"OWNER"},qi.PROJECTMANAGER={type:3,value:"PROJECTMANAGER"},qi.RESELLER={type:3,value:"RESELLER"},qi.STRUCTURALENGINEER={type:3,value:"STRUCTURALENGINEER"},qi.SUBCONTRACTOR={type:3,value:"SUBCONTRACTOR"},qi.SUPPLIER={type:3,value:"SUPPLIER"},qi.USERDEFINED={type:3,value:"USERDEFINED"},e.IfcRoleEnum=qi;var Ji=P((function e(){b(this,e)}));Ji.BARREL_ROOF={type:3,value:"BARREL_ROOF"},Ji.BUTTERFLY_ROOF={type:3,value:"BUTTERFLY_ROOF"},Ji.DOME_ROOF={type:3,value:"DOME_ROOF"},Ji.FLAT_ROOF={type:3,value:"FLAT_ROOF"},Ji.FREEFORM={type:3,value:"FREEFORM"},Ji.GABLE_ROOF={type:3,value:"GABLE_ROOF"},Ji.GAMBREL_ROOF={type:3,value:"GAMBREL_ROOF"},Ji.HIPPED_GABLE_ROOF={type:3,value:"HIPPED_GABLE_ROOF"},Ji.HIP_ROOF={type:3,value:"HIP_ROOF"},Ji.MANSARD_ROOF={type:3,value:"MANSARD_ROOF"},Ji.PAVILION_ROOF={type:3,value:"PAVILION_ROOF"},Ji.RAINBOW_ROOF={type:3,value:"RAINBOW_ROOF"},Ji.SHED_ROOF={type:3,value:"SHED_ROOF"},Ji.USERDEFINED={type:3,value:"USERDEFINED"},Ji.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcRoofTypeEnum=Ji;var Zi=P((function e(){b(this,e)}));Zi.ATTO={type:3,value:"ATTO"},Zi.CENTI={type:3,value:"CENTI"},Zi.DECA={type:3,value:"DECA"},Zi.DECI={type:3,value:"DECI"},Zi.EXA={type:3,value:"EXA"},Zi.FEMTO={type:3,value:"FEMTO"},Zi.GIGA={type:3,value:"GIGA"},Zi.HECTO={type:3,value:"HECTO"},Zi.KILO={type:3,value:"KILO"},Zi.MEGA={type:3,value:"MEGA"},Zi.MICRO={type:3,value:"MICRO"},Zi.MILLI={type:3,value:"MILLI"},Zi.NANO={type:3,value:"NANO"},Zi.PETA={type:3,value:"PETA"},Zi.PICO={type:3,value:"PICO"},Zi.TERA={type:3,value:"TERA"},e.IfcSIPrefix=Zi;var $i=P((function e(){b(this,e)}));$i.AMPERE={type:3,value:"AMPERE"},$i.BECQUEREL={type:3,value:"BECQUEREL"},$i.CANDELA={type:3,value:"CANDELA"},$i.COULOMB={type:3,value:"COULOMB"},$i.CUBIC_METRE={type:3,value:"CUBIC_METRE"},$i.DEGREE_CELSIUS={type:3,value:"DEGREE_CELSIUS"},$i.FARAD={type:3,value:"FARAD"},$i.GRAM={type:3,value:"GRAM"},$i.GRAY={type:3,value:"GRAY"},$i.HENRY={type:3,value:"HENRY"},$i.HERTZ={type:3,value:"HERTZ"},$i.JOULE={type:3,value:"JOULE"},$i.KELVIN={type:3,value:"KELVIN"},$i.LUMEN={type:3,value:"LUMEN"},$i.LUX={type:3,value:"LUX"},$i.METRE={type:3,value:"METRE"},$i.MOLE={type:3,value:"MOLE"},$i.NEWTON={type:3,value:"NEWTON"},$i.OHM={type:3,value:"OHM"},$i.PASCAL={type:3,value:"PASCAL"},$i.RADIAN={type:3,value:"RADIAN"},$i.SECOND={type:3,value:"SECOND"},$i.SIEMENS={type:3,value:"SIEMENS"},$i.SIEVERT={type:3,value:"SIEVERT"},$i.SQUARE_METRE={type:3,value:"SQUARE_METRE"},$i.STERADIAN={type:3,value:"STERADIAN"},$i.TESLA={type:3,value:"TESLA"},$i.VOLT={type:3,value:"VOLT"},$i.WATT={type:3,value:"WATT"},$i.WEBER={type:3,value:"WEBER"},e.IfcSIUnitName=$i;var ea=P((function e(){b(this,e)}));ea.BATH={type:3,value:"BATH"},ea.BIDET={type:3,value:"BIDET"},ea.CISTERN={type:3,value:"CISTERN"},ea.SANITARYFOUNTAIN={type:3,value:"SANITARYFOUNTAIN"},ea.SHOWER={type:3,value:"SHOWER"},ea.SINK={type:3,value:"SINK"},ea.TOILETPAN={type:3,value:"TOILETPAN"},ea.URINAL={type:3,value:"URINAL"},ea.WASHHANDBASIN={type:3,value:"WASHHANDBASIN"},ea.WCSEAT={type:3,value:"WCSEAT"},ea.USERDEFINED={type:3,value:"USERDEFINED"},ea.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcSanitaryTerminalTypeEnum=ea;var ta=P((function e(){b(this,e)}));ta.TAPERED={type:3,value:"TAPERED"},ta.UNIFORM={type:3,value:"UNIFORM"},e.IfcSectionTypeEnum=ta;var na=P((function e(){b(this,e)}));na.CO2SENSOR={type:3,value:"CO2SENSOR"},na.CONDUCTANCESENSOR={type:3,value:"CONDUCTANCESENSOR"},na.CONTACTSENSOR={type:3,value:"CONTACTSENSOR"},na.COSENSOR={type:3,value:"COSENSOR"},na.EARTHQUAKESENSOR={type:3,value:"EARTHQUAKESENSOR"},na.FIRESENSOR={type:3,value:"FIRESENSOR"},na.FLOWSENSOR={type:3,value:"FLOWSENSOR"},na.FOREIGNOBJECTDETECTIONSENSOR={type:3,value:"FOREIGNOBJECTDETECTIONSENSOR"},na.FROSTSENSOR={type:3,value:"FROSTSENSOR"},na.GASSENSOR={type:3,value:"GASSENSOR"},na.HEATSENSOR={type:3,value:"HEATSENSOR"},na.HUMIDITYSENSOR={type:3,value:"HUMIDITYSENSOR"},na.IDENTIFIERSENSOR={type:3,value:"IDENTIFIERSENSOR"},na.IONCONCENTRATIONSENSOR={type:3,value:"IONCONCENTRATIONSENSOR"},na.LEVELSENSOR={type:3,value:"LEVELSENSOR"},na.LIGHTSENSOR={type:3,value:"LIGHTSENSOR"},na.MOISTURESENSOR={type:3,value:"MOISTURESENSOR"},na.MOVEMENTSENSOR={type:3,value:"MOVEMENTSENSOR"},na.OBSTACLESENSOR={type:3,value:"OBSTACLESENSOR"},na.PHSENSOR={type:3,value:"PHSENSOR"},na.PRESSURESENSOR={type:3,value:"PRESSURESENSOR"},na.RADIATIONSENSOR={type:3,value:"RADIATIONSENSOR"},na.RADIOACTIVITYSENSOR={type:3,value:"RADIOACTIVITYSENSOR"},na.RAINSENSOR={type:3,value:"RAINSENSOR"},na.SMOKESENSOR={type:3,value:"SMOKESENSOR"},na.SNOWDEPTHSENSOR={type:3,value:"SNOWDEPTHSENSOR"},na.SOUNDSENSOR={type:3,value:"SOUNDSENSOR"},na.TEMPERATURESENSOR={type:3,value:"TEMPERATURESENSOR"},na.TRAINSENSOR={type:3,value:"TRAINSENSOR"},na.TURNOUTCLOSURESENSOR={type:3,value:"TURNOUTCLOSURESENSOR"},na.WHEELSENSOR={type:3,value:"WHEELSENSOR"},na.WINDSENSOR={type:3,value:"WINDSENSOR"},na.USERDEFINED={type:3,value:"USERDEFINED"},na.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcSensorTypeEnum=na;var ra=P((function e(){b(this,e)}));ra.FINISH_FINISH={type:3,value:"FINISH_FINISH"},ra.FINISH_START={type:3,value:"FINISH_START"},ra.START_FINISH={type:3,value:"START_FINISH"},ra.START_START={type:3,value:"START_START"},ra.USERDEFINED={type:3,value:"USERDEFINED"},ra.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcSequenceEnum=ra;var ia=P((function e(){b(this,e)}));ia.AWNING={type:3,value:"AWNING"},ia.JALOUSIE={type:3,value:"JALOUSIE"},ia.SHUTTER={type:3,value:"SHUTTER"},ia.USERDEFINED={type:3,value:"USERDEFINED"},ia.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcShadingDeviceTypeEnum=ia;var aa=P((function e(){b(this,e)}));aa.MARKER={type:3,value:"MARKER"},aa.MIRROR={type:3,value:"MIRROR"},aa.PICTORAL={type:3,value:"PICTORAL"},aa.USERDEFINED={type:3,value:"USERDEFINED"},aa.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcSignTypeEnum=aa;var sa=P((function e(){b(this,e)}));sa.AUDIO={type:3,value:"AUDIO"},sa.MIXED={type:3,value:"MIXED"},sa.VISUAL={type:3,value:"VISUAL"},sa.USERDEFINED={type:3,value:"USERDEFINED"},sa.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcSignalTypeEnum=sa;var oa=P((function e(){b(this,e)}));oa.P_BOUNDEDVALUE={type:3,value:"P_BOUNDEDVALUE"},oa.P_ENUMERATEDVALUE={type:3,value:"P_ENUMERATEDVALUE"},oa.P_LISTVALUE={type:3,value:"P_LISTVALUE"},oa.P_REFERENCEVALUE={type:3,value:"P_REFERENCEVALUE"},oa.P_SINGLEVALUE={type:3,value:"P_SINGLEVALUE"},oa.P_TABLEVALUE={type:3,value:"P_TABLEVALUE"},oa.Q_AREA={type:3,value:"Q_AREA"},oa.Q_COUNT={type:3,value:"Q_COUNT"},oa.Q_LENGTH={type:3,value:"Q_LENGTH"},oa.Q_NUMBER={type:3,value:"Q_NUMBER"},oa.Q_TIME={type:3,value:"Q_TIME"},oa.Q_VOLUME={type:3,value:"Q_VOLUME"},oa.Q_WEIGHT={type:3,value:"Q_WEIGHT"},e.IfcSimplePropertyTemplateTypeEnum=oa;var la=P((function e(){b(this,e)}));la.APPROACH_SLAB={type:3,value:"APPROACH_SLAB"},la.BASESLAB={type:3,value:"BASESLAB"},la.FLOOR={type:3,value:"FLOOR"},la.LANDING={type:3,value:"LANDING"},la.PAVING={type:3,value:"PAVING"},la.ROOF={type:3,value:"ROOF"},la.SIDEWALK={type:3,value:"SIDEWALK"},la.TRACKSLAB={type:3,value:"TRACKSLAB"},la.WEARING={type:3,value:"WEARING"},la.USERDEFINED={type:3,value:"USERDEFINED"},la.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcSlabTypeEnum=la;var ua=P((function e(){b(this,e)}));ua.SOLARCOLLECTOR={type:3,value:"SOLARCOLLECTOR"},ua.SOLARPANEL={type:3,value:"SOLARPANEL"},ua.USERDEFINED={type:3,value:"USERDEFINED"},ua.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcSolarDeviceTypeEnum=ua;var ca=P((function e(){b(this,e)}));ca.CONVECTOR={type:3,value:"CONVECTOR"},ca.RADIATOR={type:3,value:"RADIATOR"},ca.USERDEFINED={type:3,value:"USERDEFINED"},ca.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcSpaceHeaterTypeEnum=ca;var fa=P((function e(){b(this,e)}));fa.BERTH={type:3,value:"BERTH"},fa.EXTERNAL={type:3,value:"EXTERNAL"},fa.GFA={type:3,value:"GFA"},fa.INTERNAL={type:3,value:"INTERNAL"},fa.PARKING={type:3,value:"PARKING"},fa.SPACE={type:3,value:"SPACE"},fa.USERDEFINED={type:3,value:"USERDEFINED"},fa.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcSpaceTypeEnum=fa;var pa=P((function e(){b(this,e)}));pa.CONSTRUCTION={type:3,value:"CONSTRUCTION"},pa.FIRESAFETY={type:3,value:"FIRESAFETY"},pa.INTERFERENCE={type:3,value:"INTERFERENCE"},pa.LIGHTING={type:3,value:"LIGHTING"},pa.OCCUPANCY={type:3,value:"OCCUPANCY"},pa.RESERVATION={type:3,value:"RESERVATION"},pa.SECURITY={type:3,value:"SECURITY"},pa.THERMAL={type:3,value:"THERMAL"},pa.TRANSPORT={type:3,value:"TRANSPORT"},pa.VENTILATION={type:3,value:"VENTILATION"},pa.USERDEFINED={type:3,value:"USERDEFINED"},pa.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcSpatialZoneTypeEnum=pa;var Aa=P((function e(){b(this,e)}));Aa.BIRDCAGE={type:3,value:"BIRDCAGE"},Aa.COWL={type:3,value:"COWL"},Aa.RAINWATERHOPPER={type:3,value:"RAINWATERHOPPER"},Aa.USERDEFINED={type:3,value:"USERDEFINED"},Aa.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcStackTerminalTypeEnum=Aa;var da=P((function e(){b(this,e)}));da.CURVED={type:3,value:"CURVED"},da.FREEFORM={type:3,value:"FREEFORM"},da.SPIRAL={type:3,value:"SPIRAL"},da.STRAIGHT={type:3,value:"STRAIGHT"},da.WINDER={type:3,value:"WINDER"},da.USERDEFINED={type:3,value:"USERDEFINED"},da.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcStairFlightTypeEnum=da;var va=P((function e(){b(this,e)}));va.CURVED_RUN_STAIR={type:3,value:"CURVED_RUN_STAIR"},va.DOUBLE_RETURN_STAIR={type:3,value:"DOUBLE_RETURN_STAIR"},va.HALF_TURN_STAIR={type:3,value:"HALF_TURN_STAIR"},va.HALF_WINDING_STAIR={type:3,value:"HALF_WINDING_STAIR"},va.LADDER={type:3,value:"LADDER"},va.QUARTER_TURN_STAIR={type:3,value:"QUARTER_TURN_STAIR"},va.QUARTER_WINDING_STAIR={type:3,value:"QUARTER_WINDING_STAIR"},va.SPIRAL_STAIR={type:3,value:"SPIRAL_STAIR"},va.STRAIGHT_RUN_STAIR={type:3,value:"STRAIGHT_RUN_STAIR"},va.THREE_QUARTER_TURN_STAIR={type:3,value:"THREE_QUARTER_TURN_STAIR"},va.THREE_QUARTER_WINDING_STAIR={type:3,value:"THREE_QUARTER_WINDING_STAIR"},va.TWO_CURVED_RUN_STAIR={type:3,value:"TWO_CURVED_RUN_STAIR"},va.TWO_QUARTER_TURN_STAIR={type:3,value:"TWO_QUARTER_TURN_STAIR"},va.TWO_QUARTER_WINDING_STAIR={type:3,value:"TWO_QUARTER_WINDING_STAIR"},va.TWO_STRAIGHT_RUN_STAIR={type:3,value:"TWO_STRAIGHT_RUN_STAIR"},va.USERDEFINED={type:3,value:"USERDEFINED"},va.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcStairTypeEnum=va;var ha=P((function e(){b(this,e)}));ha.LOCKED={type:3,value:"LOCKED"},ha.READONLY={type:3,value:"READONLY"},ha.READONLYLOCKED={type:3,value:"READONLYLOCKED"},ha.READWRITE={type:3,value:"READWRITE"},ha.READWRITELOCKED={type:3,value:"READWRITELOCKED"},e.IfcStateEnum=ha;var Ia=P((function e(){b(this,e)}));Ia.CONST={type:3,value:"CONST"},Ia.DISCRETE={type:3,value:"DISCRETE"},Ia.EQUIDISTANT={type:3,value:"EQUIDISTANT"},Ia.LINEAR={type:3,value:"LINEAR"},Ia.PARABOLA={type:3,value:"PARABOLA"},Ia.POLYGONAL={type:3,value:"POLYGONAL"},Ia.SINUS={type:3,value:"SINUS"},Ia.USERDEFINED={type:3,value:"USERDEFINED"},Ia.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcStructuralCurveActivityTypeEnum=Ia;var ya=P((function e(){b(this,e)}));ya.CABLE={type:3,value:"CABLE"},ya.COMPRESSION_MEMBER={type:3,value:"COMPRESSION_MEMBER"},ya.PIN_JOINED_MEMBER={type:3,value:"PIN_JOINED_MEMBER"},ya.RIGID_JOINED_MEMBER={type:3,value:"RIGID_JOINED_MEMBER"},ya.TENSION_MEMBER={type:3,value:"TENSION_MEMBER"},ya.USERDEFINED={type:3,value:"USERDEFINED"},ya.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcStructuralCurveMemberTypeEnum=ya;var ma=P((function e(){b(this,e)}));ma.BILINEAR={type:3,value:"BILINEAR"},ma.CONST={type:3,value:"CONST"},ma.DISCRETE={type:3,value:"DISCRETE"},ma.ISOCONTOUR={type:3,value:"ISOCONTOUR"},ma.USERDEFINED={type:3,value:"USERDEFINED"},ma.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcStructuralSurfaceActivityTypeEnum=ma;var wa=P((function e(){b(this,e)}));wa.BENDING_ELEMENT={type:3,value:"BENDING_ELEMENT"},wa.MEMBRANE_ELEMENT={type:3,value:"MEMBRANE_ELEMENT"},wa.SHELL={type:3,value:"SHELL"},wa.USERDEFINED={type:3,value:"USERDEFINED"},wa.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcStructuralSurfaceMemberTypeEnum=wa;var ga=P((function e(){b(this,e)}));ga.PURCHASE={type:3,value:"PURCHASE"},ga.WORK={type:3,value:"WORK"},ga.USERDEFINED={type:3,value:"USERDEFINED"},ga.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcSubContractResourceTypeEnum=ga;var Ea=P((function e(){b(this,e)}));Ea.DEFECT={type:3,value:"DEFECT"},Ea.HATCHMARKING={type:3,value:"HATCHMARKING"},Ea.LINEMARKING={type:3,value:"LINEMARKING"},Ea.MARK={type:3,value:"MARK"},Ea.NONSKIDSURFACING={type:3,value:"NONSKIDSURFACING"},Ea.PAVEMENTSURFACEMARKING={type:3,value:"PAVEMENTSURFACEMARKING"},Ea.RUMBLESTRIP={type:3,value:"RUMBLESTRIP"},Ea.SYMBOLMARKING={type:3,value:"SYMBOLMARKING"},Ea.TAG={type:3,value:"TAG"},Ea.TRANSVERSERUMBLESTRIP={type:3,value:"TRANSVERSERUMBLESTRIP"},Ea.TREATMENT={type:3,value:"TREATMENT"},Ea.USERDEFINED={type:3,value:"USERDEFINED"},Ea.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcSurfaceFeatureTypeEnum=Ea;var Ta=P((function e(){b(this,e)}));Ta.BOTH={type:3,value:"BOTH"},Ta.NEGATIVE={type:3,value:"NEGATIVE"},Ta.POSITIVE={type:3,value:"POSITIVE"},e.IfcSurfaceSide=Ta;var ba=P((function e(){b(this,e)}));ba.CONTACTOR={type:3,value:"CONTACTOR"},ba.DIMMERSWITCH={type:3,value:"DIMMERSWITCH"},ba.EMERGENCYSTOP={type:3,value:"EMERGENCYSTOP"},ba.KEYPAD={type:3,value:"KEYPAD"},ba.MOMENTARYSWITCH={type:3,value:"MOMENTARYSWITCH"},ba.RELAY={type:3,value:"RELAY"},ba.SELECTORSWITCH={type:3,value:"SELECTORSWITCH"},ba.STARTER={type:3,value:"STARTER"},ba.START_AND_STOP_EQUIPMENT={type:3,value:"START_AND_STOP_EQUIPMENT"},ba.SWITCHDISCONNECTOR={type:3,value:"SWITCHDISCONNECTOR"},ba.TOGGLESWITCH={type:3,value:"TOGGLESWITCH"},ba.USERDEFINED={type:3,value:"USERDEFINED"},ba.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcSwitchingDeviceTypeEnum=ba;var Da=P((function e(){b(this,e)}));Da.PANEL={type:3,value:"PANEL"},Da.SUBRACK={type:3,value:"SUBRACK"},Da.WORKSURFACE={type:3,value:"WORKSURFACE"},Da.USERDEFINED={type:3,value:"USERDEFINED"},Da.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcSystemFurnitureElementTypeEnum=Da;var Pa=P((function e(){b(this,e)}));Pa.BASIN={type:3,value:"BASIN"},Pa.BREAKPRESSURE={type:3,value:"BREAKPRESSURE"},Pa.EXPANSION={type:3,value:"EXPANSION"},Pa.FEEDANDEXPANSION={type:3,value:"FEEDANDEXPANSION"},Pa.OILRETENTIONTRAY={type:3,value:"OILRETENTIONTRAY"},Pa.PRESSUREVESSEL={type:3,value:"PRESSUREVESSEL"},Pa.STORAGE={type:3,value:"STORAGE"},Pa.VESSEL={type:3,value:"VESSEL"},Pa.USERDEFINED={type:3,value:"USERDEFINED"},Pa.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcTankTypeEnum=Pa;var Ra=P((function e(){b(this,e)}));Ra.ELAPSEDTIME={type:3,value:"ELAPSEDTIME"},Ra.WORKTIME={type:3,value:"WORKTIME"},Ra.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcTaskDurationEnum=Ra;var Ca=P((function e(){b(this,e)}));Ca.ADJUSTMENT={type:3,value:"ADJUSTMENT"},Ca.ATTENDANCE={type:3,value:"ATTENDANCE"},Ca.CALIBRATION={type:3,value:"CALIBRATION"},Ca.CONSTRUCTION={type:3,value:"CONSTRUCTION"},Ca.DEMOLITION={type:3,value:"DEMOLITION"},Ca.DISMANTLE={type:3,value:"DISMANTLE"},Ca.DISPOSAL={type:3,value:"DISPOSAL"},Ca.EMERGENCY={type:3,value:"EMERGENCY"},Ca.INSPECTION={type:3,value:"INSPECTION"},Ca.INSTALLATION={type:3,value:"INSTALLATION"},Ca.LOGISTIC={type:3,value:"LOGISTIC"},Ca.MAINTENANCE={type:3,value:"MAINTENANCE"},Ca.MOVE={type:3,value:"MOVE"},Ca.OPERATION={type:3,value:"OPERATION"},Ca.REMOVAL={type:3,value:"REMOVAL"},Ca.RENOVATION={type:3,value:"RENOVATION"},Ca.SAFETY={type:3,value:"SAFETY"},Ca.SHUTDOWN={type:3,value:"SHUTDOWN"},Ca.STARTUP={type:3,value:"STARTUP"},Ca.TESTING={type:3,value:"TESTING"},Ca.TROUBLESHOOTING={type:3,value:"TROUBLESHOOTING"},Ca.USERDEFINED={type:3,value:"USERDEFINED"},Ca.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcTaskTypeEnum=Ca;var _a=P((function e(){b(this,e)}));_a.COUPLER={type:3,value:"COUPLER"},_a.FIXED_END={type:3,value:"FIXED_END"},_a.TENSIONING_END={type:3,value:"TENSIONING_END"},_a.USERDEFINED={type:3,value:"USERDEFINED"},_a.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcTendonAnchorTypeEnum=_a;var Ba=P((function e(){b(this,e)}));Ba.COUPLER={type:3,value:"COUPLER"},Ba.DIABOLO={type:3,value:"DIABOLO"},Ba.DUCT={type:3,value:"DUCT"},Ba.GROUTING_DUCT={type:3,value:"GROUTING_DUCT"},Ba.TRUMPET={type:3,value:"TRUMPET"},Ba.USERDEFINED={type:3,value:"USERDEFINED"},Ba.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcTendonConduitTypeEnum=Ba;var Oa=P((function e(){b(this,e)}));Oa.BAR={type:3,value:"BAR"},Oa.COATED={type:3,value:"COATED"},Oa.STRAND={type:3,value:"STRAND"},Oa.WIRE={type:3,value:"WIRE"},Oa.USERDEFINED={type:3,value:"USERDEFINED"},Oa.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcTendonTypeEnum=Oa;var Sa=P((function e(){b(this,e)}));Sa.DOWN={type:3,value:"DOWN"},Sa.LEFT={type:3,value:"LEFT"},Sa.RIGHT={type:3,value:"RIGHT"},Sa.UP={type:3,value:"UP"},e.IfcTextPath=Sa;var Na=P((function e(){b(this,e)}));Na.CONTINUOUS={type:3,value:"CONTINUOUS"},Na.DISCRETE={type:3,value:"DISCRETE"},Na.DISCRETEBINARY={type:3,value:"DISCRETEBINARY"},Na.PIECEWISEBINARY={type:3,value:"PIECEWISEBINARY"},Na.PIECEWISECONSTANT={type:3,value:"PIECEWISECONSTANT"},Na.PIECEWISECONTINUOUS={type:3,value:"PIECEWISECONTINUOUS"},Na.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcTimeSeriesDataTypeEnum=Na;var La=P((function e(){b(this,e)}));La.BLOCKINGDEVICE={type:3,value:"BLOCKINGDEVICE"},La.DERAILER={type:3,value:"DERAILER"},La.FROG={type:3,value:"FROG"},La.HALF_SET_OF_BLADES={type:3,value:"HALF_SET_OF_BLADES"},La.SLEEPER={type:3,value:"SLEEPER"},La.SPEEDREGULATOR={type:3,value:"SPEEDREGULATOR"},La.TRACKENDOFALIGNMENT={type:3,value:"TRACKENDOFALIGNMENT"},La.VEHICLESTOP={type:3,value:"VEHICLESTOP"},La.USERDEFINED={type:3,value:"USERDEFINED"},La.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcTrackElementTypeEnum=La;var xa=P((function e(){b(this,e)}));xa.CHOPPER={type:3,value:"CHOPPER"},xa.COMBINED={type:3,value:"COMBINED"},xa.CURRENT={type:3,value:"CURRENT"},xa.FREQUENCY={type:3,value:"FREQUENCY"},xa.INVERTER={type:3,value:"INVERTER"},xa.RECTIFIER={type:3,value:"RECTIFIER"},xa.VOLTAGE={type:3,value:"VOLTAGE"},xa.USERDEFINED={type:3,value:"USERDEFINED"},xa.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcTransformerTypeEnum=xa;var Ma=P((function e(){b(this,e)}));Ma.CONTINUOUS={type:3,value:"CONTINUOUS"},Ma.CONTSAMEGRADIENT={type:3,value:"CONTSAMEGRADIENT"},Ma.CONTSAMEGRADIENTSAMECURVATURE={type:3,value:"CONTSAMEGRADIENTSAMECURVATURE"},Ma.DISCONTINUOUS={type:3,value:"DISCONTINUOUS"},e.IfcTransitionCode=Ma;var Fa=P((function e(){b(this,e)}));Fa.CRANEWAY={type:3,value:"CRANEWAY"},Fa.ELEVATOR={type:3,value:"ELEVATOR"},Fa.ESCALATOR={type:3,value:"ESCALATOR"},Fa.HAULINGGEAR={type:3,value:"HAULINGGEAR"},Fa.LIFTINGGEAR={type:3,value:"LIFTINGGEAR"},Fa.MOVINGWALKWAY={type:3,value:"MOVINGWALKWAY"},Fa.USERDEFINED={type:3,value:"USERDEFINED"},Fa.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcTransportElementTypeEnum=Fa;var Ha=P((function e(){b(this,e)}));Ha.CARTESIAN={type:3,value:"CARTESIAN"},Ha.PARAMETER={type:3,value:"PARAMETER"},Ha.UNSPECIFIED={type:3,value:"UNSPECIFIED"},e.IfcTrimmingPreference=Ha;var Ua=P((function e(){b(this,e)}));Ua.FINNED={type:3,value:"FINNED"},Ua.USERDEFINED={type:3,value:"USERDEFINED"},Ua.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcTubeBundleTypeEnum=Ua;var Ga=P((function e(){b(this,e)}));Ga.ABSORBEDDOSEUNIT={type:3,value:"ABSORBEDDOSEUNIT"},Ga.AMOUNTOFSUBSTANCEUNIT={type:3,value:"AMOUNTOFSUBSTANCEUNIT"},Ga.AREAUNIT={type:3,value:"AREAUNIT"},Ga.DOSEEQUIVALENTUNIT={type:3,value:"DOSEEQUIVALENTUNIT"},Ga.ELECTRICCAPACITANCEUNIT={type:3,value:"ELECTRICCAPACITANCEUNIT"},Ga.ELECTRICCHARGEUNIT={type:3,value:"ELECTRICCHARGEUNIT"},Ga.ELECTRICCONDUCTANCEUNIT={type:3,value:"ELECTRICCONDUCTANCEUNIT"},Ga.ELECTRICCURRENTUNIT={type:3,value:"ELECTRICCURRENTUNIT"},Ga.ELECTRICRESISTANCEUNIT={type:3,value:"ELECTRICRESISTANCEUNIT"},Ga.ELECTRICVOLTAGEUNIT={type:3,value:"ELECTRICVOLTAGEUNIT"},Ga.ENERGYUNIT={type:3,value:"ENERGYUNIT"},Ga.FORCEUNIT={type:3,value:"FORCEUNIT"},Ga.FREQUENCYUNIT={type:3,value:"FREQUENCYUNIT"},Ga.ILLUMINANCEUNIT={type:3,value:"ILLUMINANCEUNIT"},Ga.INDUCTANCEUNIT={type:3,value:"INDUCTANCEUNIT"},Ga.LENGTHUNIT={type:3,value:"LENGTHUNIT"},Ga.LUMINOUSFLUXUNIT={type:3,value:"LUMINOUSFLUXUNIT"},Ga.LUMINOUSINTENSITYUNIT={type:3,value:"LUMINOUSINTENSITYUNIT"},Ga.MAGNETICFLUXDENSITYUNIT={type:3,value:"MAGNETICFLUXDENSITYUNIT"},Ga.MAGNETICFLUXUNIT={type:3,value:"MAGNETICFLUXUNIT"},Ga.MASSUNIT={type:3,value:"MASSUNIT"},Ga.PLANEANGLEUNIT={type:3,value:"PLANEANGLEUNIT"},Ga.POWERUNIT={type:3,value:"POWERUNIT"},Ga.PRESSUREUNIT={type:3,value:"PRESSUREUNIT"},Ga.RADIOACTIVITYUNIT={type:3,value:"RADIOACTIVITYUNIT"},Ga.SOLIDANGLEUNIT={type:3,value:"SOLIDANGLEUNIT"},Ga.THERMODYNAMICTEMPERATUREUNIT={type:3,value:"THERMODYNAMICTEMPERATUREUNIT"},Ga.TIMEUNIT={type:3,value:"TIMEUNIT"},Ga.VOLUMEUNIT={type:3,value:"VOLUMEUNIT"},Ga.USERDEFINED={type:3,value:"USERDEFINED"},e.IfcUnitEnum=Ga;var ka=P((function e(){b(this,e)}));ka.ALARMPANEL={type:3,value:"ALARMPANEL"},ka.BASESTATIONCONTROLLER={type:3,value:"BASESTATIONCONTROLLER"},ka.COMBINED={type:3,value:"COMBINED"},ka.CONTROLPANEL={type:3,value:"CONTROLPANEL"},ka.GASDETECTIONPANEL={type:3,value:"GASDETECTIONPANEL"},ka.HUMIDISTAT={type:3,value:"HUMIDISTAT"},ka.INDICATORPANEL={type:3,value:"INDICATORPANEL"},ka.MIMICPANEL={type:3,value:"MIMICPANEL"},ka.THERMOSTAT={type:3,value:"THERMOSTAT"},ka.WEATHERSTATION={type:3,value:"WEATHERSTATION"},ka.USERDEFINED={type:3,value:"USERDEFINED"},ka.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcUnitaryControlElementTypeEnum=ka;var ja=P((function e(){b(this,e)}));ja.AIRCONDITIONINGUNIT={type:3,value:"AIRCONDITIONINGUNIT"},ja.AIRHANDLER={type:3,value:"AIRHANDLER"},ja.DEHUMIDIFIER={type:3,value:"DEHUMIDIFIER"},ja.ROOFTOPUNIT={type:3,value:"ROOFTOPUNIT"},ja.SPLITSYSTEM={type:3,value:"SPLITSYSTEM"},ja.USERDEFINED={type:3,value:"USERDEFINED"},ja.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcUnitaryEquipmentTypeEnum=ja;var Va=P((function e(){b(this,e)}));Va.AIRRELEASE={type:3,value:"AIRRELEASE"},Va.ANTIVACUUM={type:3,value:"ANTIVACUUM"},Va.CHANGEOVER={type:3,value:"CHANGEOVER"},Va.CHECK={type:3,value:"CHECK"},Va.COMMISSIONING={type:3,value:"COMMISSIONING"},Va.DIVERTING={type:3,value:"DIVERTING"},Va.DOUBLECHECK={type:3,value:"DOUBLECHECK"},Va.DOUBLEREGULATING={type:3,value:"DOUBLEREGULATING"},Va.DRAWOFFCOCK={type:3,value:"DRAWOFFCOCK"},Va.FAUCET={type:3,value:"FAUCET"},Va.FLUSHING={type:3,value:"FLUSHING"},Va.GASCOCK={type:3,value:"GASCOCK"},Va.GASTAP={type:3,value:"GASTAP"},Va.ISOLATING={type:3,value:"ISOLATING"},Va.MIXING={type:3,value:"MIXING"},Va.PRESSUREREDUCING={type:3,value:"PRESSUREREDUCING"},Va.PRESSURERELIEF={type:3,value:"PRESSURERELIEF"},Va.REGULATING={type:3,value:"REGULATING"},Va.SAFETYCUTOFF={type:3,value:"SAFETYCUTOFF"},Va.STEAMTRAP={type:3,value:"STEAMTRAP"},Va.STOPCOCK={type:3,value:"STOPCOCK"},Va.USERDEFINED={type:3,value:"USERDEFINED"},Va.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcValveTypeEnum=Va;var Qa=P((function e(){b(this,e)}));Qa.CARGO={type:3,value:"CARGO"},Qa.ROLLINGSTOCK={type:3,value:"ROLLINGSTOCK"},Qa.VEHICLE={type:3,value:"VEHICLE"},Qa.VEHICLEAIR={type:3,value:"VEHICLEAIR"},Qa.VEHICLEMARINE={type:3,value:"VEHICLEMARINE"},Qa.VEHICLETRACKED={type:3,value:"VEHICLETRACKED"},Qa.VEHICLEWHEELED={type:3,value:"VEHICLEWHEELED"},Qa.USERDEFINED={type:3,value:"USERDEFINED"},Qa.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcVehicleTypeEnum=Qa;var Wa=P((function e(){b(this,e)}));Wa.AXIAL_YIELD={type:3,value:"AXIAL_YIELD"},Wa.BENDING_YIELD={type:3,value:"BENDING_YIELD"},Wa.FRICTION={type:3,value:"FRICTION"},Wa.RUBBER={type:3,value:"RUBBER"},Wa.SHEAR_YIELD={type:3,value:"SHEAR_YIELD"},Wa.VISCOUS={type:3,value:"VISCOUS"},Wa.USERDEFINED={type:3,value:"USERDEFINED"},Wa.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcVibrationDamperTypeEnum=Wa;var za=P((function e(){b(this,e)}));za.BASE={type:3,value:"BASE"},za.COMPRESSION={type:3,value:"COMPRESSION"},za.SPRING={type:3,value:"SPRING"},za.USERDEFINED={type:3,value:"USERDEFINED"},za.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcVibrationIsolatorTypeEnum=za;var Ka=P((function e(){b(this,e)}));Ka.BOUNDARY={type:3,value:"BOUNDARY"},Ka.CLEARANCE={type:3,value:"CLEARANCE"},Ka.PROVISIONFORVOID={type:3,value:"PROVISIONFORVOID"},Ka.USERDEFINED={type:3,value:"USERDEFINED"},Ka.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcVirtualElementTypeEnum=Ka;var Ya=P((function e(){b(this,e)}));Ya.CHAMFER={type:3,value:"CHAMFER"},Ya.CUTOUT={type:3,value:"CUTOUT"},Ya.EDGE={type:3,value:"EDGE"},Ya.HOLE={type:3,value:"HOLE"},Ya.MITER={type:3,value:"MITER"},Ya.NOTCH={type:3,value:"NOTCH"},Ya.USERDEFINED={type:3,value:"USERDEFINED"},Ya.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcVoidingFeatureTypeEnum=Ya;var Xa=P((function e(){b(this,e)}));Xa.ELEMENTEDWALL={type:3,value:"ELEMENTEDWALL"},Xa.MOVABLE={type:3,value:"MOVABLE"},Xa.PARAPET={type:3,value:"PARAPET"},Xa.PARTITIONING={type:3,value:"PARTITIONING"},Xa.PLUMBINGWALL={type:3,value:"PLUMBINGWALL"},Xa.POLYGONAL={type:3,value:"POLYGONAL"},Xa.RETAININGWALL={type:3,value:"RETAININGWALL"},Xa.SHEAR={type:3,value:"SHEAR"},Xa.SOLIDWALL={type:3,value:"SOLIDWALL"},Xa.STANDARD={type:3,value:"STANDARD"},Xa.WAVEWALL={type:3,value:"WAVEWALL"},Xa.USERDEFINED={type:3,value:"USERDEFINED"},Xa.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcWallTypeEnum=Xa;var qa=P((function e(){b(this,e)}));qa.FLOORTRAP={type:3,value:"FLOORTRAP"},qa.FLOORWASTE={type:3,value:"FLOORWASTE"},qa.GULLYSUMP={type:3,value:"GULLYSUMP"},qa.GULLYTRAP={type:3,value:"GULLYTRAP"},qa.ROOFDRAIN={type:3,value:"ROOFDRAIN"},qa.WASTEDISPOSALUNIT={type:3,value:"WASTEDISPOSALUNIT"},qa.WASTETRAP={type:3,value:"WASTETRAP"},qa.USERDEFINED={type:3,value:"USERDEFINED"},qa.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcWasteTerminalTypeEnum=qa;var Ja=P((function e(){b(this,e)}));Ja.BOTTOMHUNG={type:3,value:"BOTTOMHUNG"},Ja.FIXEDCASEMENT={type:3,value:"FIXEDCASEMENT"},Ja.OTHEROPERATION={type:3,value:"OTHEROPERATION"},Ja.PIVOTHORIZONTAL={type:3,value:"PIVOTHORIZONTAL"},Ja.PIVOTVERTICAL={type:3,value:"PIVOTVERTICAL"},Ja.REMOVABLECASEMENT={type:3,value:"REMOVABLECASEMENT"},Ja.SIDEHUNGLEFTHAND={type:3,value:"SIDEHUNGLEFTHAND"},Ja.SIDEHUNGRIGHTHAND={type:3,value:"SIDEHUNGRIGHTHAND"},Ja.SLIDINGHORIZONTAL={type:3,value:"SLIDINGHORIZONTAL"},Ja.SLIDINGVERTICAL={type:3,value:"SLIDINGVERTICAL"},Ja.TILTANDTURNLEFTHAND={type:3,value:"TILTANDTURNLEFTHAND"},Ja.TILTANDTURNRIGHTHAND={type:3,value:"TILTANDTURNRIGHTHAND"},Ja.TOPHUNG={type:3,value:"TOPHUNG"},Ja.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcWindowPanelOperationEnum=Ja;var Za=P((function e(){b(this,e)}));Za.BOTTOM={type:3,value:"BOTTOM"},Za.LEFT={type:3,value:"LEFT"},Za.MIDDLE={type:3,value:"MIDDLE"},Za.RIGHT={type:3,value:"RIGHT"},Za.TOP={type:3,value:"TOP"},Za.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcWindowPanelPositionEnum=Za;var $a=P((function e(){b(this,e)}));$a.ALUMINIUM={type:3,value:"ALUMINIUM"},$a.ALUMINIUM_WOOD={type:3,value:"ALUMINIUM_WOOD"},$a.HIGH_GRADE_STEEL={type:3,value:"HIGH_GRADE_STEEL"},$a.OTHER_CONSTRUCTION={type:3,value:"OTHER_CONSTRUCTION"},$a.PLASTIC={type:3,value:"PLASTIC"},$a.STEEL={type:3,value:"STEEL"},$a.WOOD={type:3,value:"WOOD"},$a.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcWindowStyleConstructionEnum=$a;var es=P((function e(){b(this,e)}));es.DOUBLE_PANEL_HORIZONTAL={type:3,value:"DOUBLE_PANEL_HORIZONTAL"},es.DOUBLE_PANEL_VERTICAL={type:3,value:"DOUBLE_PANEL_VERTICAL"},es.SINGLE_PANEL={type:3,value:"SINGLE_PANEL"},es.TRIPLE_PANEL_BOTTOM={type:3,value:"TRIPLE_PANEL_BOTTOM"},es.TRIPLE_PANEL_HORIZONTAL={type:3,value:"TRIPLE_PANEL_HORIZONTAL"},es.TRIPLE_PANEL_LEFT={type:3,value:"TRIPLE_PANEL_LEFT"},es.TRIPLE_PANEL_RIGHT={type:3,value:"TRIPLE_PANEL_RIGHT"},es.TRIPLE_PANEL_TOP={type:3,value:"TRIPLE_PANEL_TOP"},es.TRIPLE_PANEL_VERTICAL={type:3,value:"TRIPLE_PANEL_VERTICAL"},es.USERDEFINED={type:3,value:"USERDEFINED"},es.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcWindowStyleOperationEnum=es;var ts=P((function e(){b(this,e)}));ts.LIGHTDOME={type:3,value:"LIGHTDOME"},ts.SKYLIGHT={type:3,value:"SKYLIGHT"},ts.WINDOW={type:3,value:"WINDOW"},ts.USERDEFINED={type:3,value:"USERDEFINED"},ts.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcWindowTypeEnum=ts;var ns=P((function e(){b(this,e)}));ns.DOUBLE_PANEL_HORIZONTAL={type:3,value:"DOUBLE_PANEL_HORIZONTAL"},ns.DOUBLE_PANEL_VERTICAL={type:3,value:"DOUBLE_PANEL_VERTICAL"},ns.SINGLE_PANEL={type:3,value:"SINGLE_PANEL"},ns.TRIPLE_PANEL_BOTTOM={type:3,value:"TRIPLE_PANEL_BOTTOM"},ns.TRIPLE_PANEL_HORIZONTAL={type:3,value:"TRIPLE_PANEL_HORIZONTAL"},ns.TRIPLE_PANEL_LEFT={type:3,value:"TRIPLE_PANEL_LEFT"},ns.TRIPLE_PANEL_RIGHT={type:3,value:"TRIPLE_PANEL_RIGHT"},ns.TRIPLE_PANEL_TOP={type:3,value:"TRIPLE_PANEL_TOP"},ns.TRIPLE_PANEL_VERTICAL={type:3,value:"TRIPLE_PANEL_VERTICAL"},ns.USERDEFINED={type:3,value:"USERDEFINED"},ns.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcWindowTypePartitioningEnum=ns;var rs=P((function e(){b(this,e)}));rs.FIRSTSHIFT={type:3,value:"FIRSTSHIFT"},rs.SECONDSHIFT={type:3,value:"SECONDSHIFT"},rs.THIRDSHIFT={type:3,value:"THIRDSHIFT"},rs.USERDEFINED={type:3,value:"USERDEFINED"},rs.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcWorkCalendarTypeEnum=rs;var is=P((function e(){b(this,e)}));is.ACTUAL={type:3,value:"ACTUAL"},is.BASELINE={type:3,value:"BASELINE"},is.PLANNED={type:3,value:"PLANNED"},is.USERDEFINED={type:3,value:"USERDEFINED"},is.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcWorkPlanTypeEnum=is;var as=P((function e(){b(this,e)}));as.ACTUAL={type:3,value:"ACTUAL"},as.BASELINE={type:3,value:"BASELINE"},as.PLANNED={type:3,value:"PLANNED"},as.USERDEFINED={type:3,value:"USERDEFINED"},as.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcWorkScheduleTypeEnum=as;var ss=function(e){I(n,U_);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e)).Role=r,s.UserDefinedRole=i,s.Description=a,s.type=3630933823,s}return P(n)}();e.IfcActorRole=ss;var os=function(e){I(n,U_);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e)).Purpose=r,s.Description=i,s.UserDefinedPurpose=a,s.type=618182010,s}return P(n)}();e.IfcAddress=os;var ls=function(e){I(n,U_);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).StartTag=r,a.EndTag=i,a.type=2879124712,a}return P(n)}();e.IfcAlignmentParameterSegment=ls;var us=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i)).StartTag=r,p.EndTag=i,p.StartDistAlong=a,p.HorizontalLength=s,p.StartHeight=o,p.StartGradient=l,p.EndGradient=u,p.RadiusOfCurvature=c,p.PredefinedType=f,p.type=3633395639,p}return P(n)}(ls);e.IfcAlignmentVerticalSegment=us;var cs=function(e){I(n,U_);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e)).ApplicationDeveloper=r,o.Version=i,o.ApplicationFullName=a,o.ApplicationIdentifier=s,o.type=639542469,o}return P(n)}();e.IfcApplication=cs;var fs=function(e){I(n,U_);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e)).Name=r,A.Description=i,A.AppliedValue=a,A.UnitBasis=s,A.ApplicableDate=o,A.FixedUntilDate=l,A.Category=u,A.Condition=c,A.ArithmeticOperator=f,A.Components=p,A.type=411424972,A}return P(n)}();e.IfcAppliedValue=fs;var ps=function(e){I(n,U_);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e)).Identifier=r,p.Name=i,p.Description=a,p.TimeOfApproval=s,p.Status=o,p.Level=l,p.Qualifier=u,p.RequestingApproval=c,p.GivingApproval=f,p.type=130549933,p}return P(n)}();e.IfcApproval=ps;var As=function(e){I(n,U_);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e)).Name=r,i.type=4037036970,i}return P(n)}();e.IfcBoundaryCondition=As;var ds=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u){var c;return b(this,n),(c=t.call(this,e,r)).Name=r,c.TranslationalStiffnessByLengthX=i,c.TranslationalStiffnessByLengthY=a,c.TranslationalStiffnessByLengthZ=s,c.RotationalStiffnessByLengthX=o,c.RotationalStiffnessByLengthY=l,c.RotationalStiffnessByLengthZ=u,c.type=1560379544,c}return P(n)}(As);e.IfcBoundaryEdgeCondition=ds;var vs=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r)).Name=r,o.TranslationalStiffnessByAreaX=i,o.TranslationalStiffnessByAreaY=a,o.TranslationalStiffnessByAreaZ=s,o.type=3367102660,o}return P(n)}(As);e.IfcBoundaryFaceCondition=vs;var hs=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u){var c;return b(this,n),(c=t.call(this,e,r)).Name=r,c.TranslationalStiffnessX=i,c.TranslationalStiffnessY=a,c.TranslationalStiffnessZ=s,c.RotationalStiffnessX=o,c.RotationalStiffnessY=l,c.RotationalStiffnessZ=u,c.type=1387855156,c}return P(n)}(As);e.IfcBoundaryNodeCondition=hs;var Is=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o,l,u)).Name=r,f.TranslationalStiffnessX=i,f.TranslationalStiffnessY=a,f.TranslationalStiffnessZ=s,f.RotationalStiffnessX=o,f.RotationalStiffnessY=l,f.RotationalStiffnessZ=u,f.WarpingStiffness=c,f.type=2069777674,f}return P(n)}(hs);e.IfcBoundaryNodeConditionWarping=Is;var ys=function(e){I(n,U_);var t=m(n);function n(e){var r;return b(this,n),(r=t.call(this,e)).type=2859738748,r}return P(n)}();e.IfcConnectionGeometry=ys;var ms=function(e){I(n,e);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).PointOnRelatingElement=r,a.PointOnRelatedElement=i,a.type=2614616156,a}return P(n)}(ys);e.IfcConnectionPointGeometry=ms;var ws=function(e){I(n,e);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).SurfaceOnRelatingElement=r,a.SurfaceOnRelatedElement=i,a.type=2732653382,a}return P(n)}(ys);e.IfcConnectionSurfaceGeometry=ws;var gs=function(e){I(n,e);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).VolumeOnRelatingElement=r,a.VolumeOnRelatedElement=i,a.type=775493141,a}return P(n)}(ys);e.IfcConnectionVolumeGeometry=gs;var Es=function(e){I(n,U_);var t=m(n);function n(e,r,i,a,s,o,l,u){var c;return b(this,n),(c=t.call(this,e)).Name=r,c.Description=i,c.ConstraintGrade=a,c.ConstraintSource=s,c.CreatingActor=o,c.CreationTime=l,c.UserDefinedGrade=u,c.type=1959218052,c}return P(n)}();e.IfcConstraint=Es;var Ts=function(e){I(n,U_);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).SourceCRS=r,a.TargetCRS=i,a.type=1785450214,a}return P(n)}();e.IfcCoordinateOperation=Ts;var bs=function(e){I(n,U_);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e)).Name=r,o.Description=i,o.GeodeticDatum=a,o.VerticalDatum=s,o.type=1466758467,o}return P(n)}();e.IfcCoordinateReferenceSystem=bs;var Ds=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f,p)).Name=r,A.Description=i,A.AppliedValue=a,A.UnitBasis=s,A.ApplicableDate=o,A.FixedUntilDate=l,A.Category=u,A.Condition=c,A.ArithmeticOperator=f,A.Components=p,A.type=602808272,A}return P(n)}(fs);e.IfcCostValue=Ds;var Ps=function(e){I(n,U_);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e)).Elements=r,o.UnitType=i,o.UserDefinedType=a,o.Name=s,o.type=1765591967,o}return P(n)}();e.IfcDerivedUnit=Ps;var Rs=function(e){I(n,U_);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).Unit=r,a.Exponent=i,a.type=1045800335,a}return P(n)}();e.IfcDerivedUnitElement=Rs;var Cs=function(e){I(n,U_);var t=m(n);function n(e,r,i,a,s,o,l,u){var c;return b(this,n),(c=t.call(this,e)).LengthExponent=r,c.MassExponent=i,c.TimeExponent=a,c.ElectricCurrentExponent=s,c.ThermodynamicTemperatureExponent=o,c.AmountOfSubstanceExponent=l,c.LuminousIntensityExponent=u,c.type=2949456006,c}return P(n)}();e.IfcDimensionalExponents=Cs;var _s=function(e){I(n,U_);var t=m(n);function n(e){var r;return b(this,n),(r=t.call(this,e)).type=4294318154,r}return P(n)}();e.IfcExternalInformation=_s;var Bs=function(e){I(n,U_);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e)).Location=r,s.Identification=i,s.Name=a,s.type=3200245327,s}return P(n)}();e.IfcExternalReference=Bs;var Os=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e,r,i,a)).Location=r,s.Identification=i,s.Name=a,s.type=2242383968,s}return P(n)}(Bs);e.IfcExternallyDefinedHatchStyle=Os;var Ss=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e,r,i,a)).Location=r,s.Identification=i,s.Name=a,s.type=1040185647,s}return P(n)}(Bs);e.IfcExternallyDefinedSurfaceStyle=Ss;var Ns=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e,r,i,a)).Location=r,s.Identification=i,s.Name=a,s.type=3548104201,s}return P(n)}(Bs);e.IfcExternallyDefinedTextFont=Ns;var Ls=function(e){I(n,U_);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e)).AxisTag=r,s.AxisCurve=i,s.SameSense=a,s.type=852622518,s}return P(n)}();e.IfcGridAxis=Ls;var xs=function(e){I(n,U_);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).TimeStamp=r,a.ListValues=i,a.type=3020489413,a}return P(n)}();e.IfcIrregularTimeSeriesValue=xs;var Ms=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e)).Name=r,u.Version=i,u.Publisher=a,u.VersionDate=s,u.Location=o,u.Description=l,u.type=2655187982,u}return P(n)}(_s);e.IfcLibraryInformation=Ms;var Fs=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r,i,a)).Location=r,u.Identification=i,u.Name=a,u.Description=s,u.Language=o,u.ReferencedLibrary=l,u.type=3452421091,u}return P(n)}(Bs);e.IfcLibraryReference=Fs;var Hs=function(e){I(n,U_);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e)).MainPlaneAngle=r,s.SecondaryPlaneAngle=i,s.LuminousIntensity=a,s.type=4162380809,s}return P(n)}();e.IfcLightDistributionData=Hs;var Us=function(e){I(n,U_);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).LightDistributionCurve=r,a.DistributionData=i,a.type=1566485204,a}return P(n)}();e.IfcLightIntensityDistribution=Us;var Gs=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i)).SourceCRS=r,A.TargetCRS=i,A.Eastings=a,A.Northings=s,A.OrthogonalHeight=o,A.XAxisAbscissa=l,A.XAxisOrdinate=u,A.Scale=c,A.ScaleY=f,A.ScaleZ=p,A.type=3057273783,A}return P(n)}(Ts);e.IfcMapConversion=Gs;var ks=function(e){I(n,U_);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).MaterialClassifications=r,a.ClassifiedMaterial=i,a.type=1847130766,a}return P(n)}();e.IfcMaterialClassificationRelationship=ks;var js=function(e){I(n,U_);var t=m(n);function n(e){var r;return b(this,n),(r=t.call(this,e)).type=760658860,r}return P(n)}();e.IfcMaterialDefinition=js;var Vs=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u){var c;return b(this,n),(c=t.call(this,e)).Material=r,c.LayerThickness=i,c.IsVentilated=a,c.Name=s,c.Description=o,c.Category=l,c.Priority=u,c.type=248100487,c}return P(n)}(js);e.IfcMaterialLayer=Vs;var Qs=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e)).MaterialLayers=r,s.LayerSetName=i,s.Description=a,s.type=3303938423,s}return P(n)}(js);e.IfcMaterialLayerSet=Qs;var Ws=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u)).Material=r,p.LayerThickness=i,p.IsVentilated=a,p.Name=s,p.Description=o,p.Category=l,p.Priority=u,p.OffsetDirection=c,p.OffsetValues=f,p.type=1847252529,p}return P(n)}(Vs);e.IfcMaterialLayerWithOffsets=Ws;var zs=function(e){I(n,U_);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e)).Materials=r,i.type=2199411900,i}return P(n)}();e.IfcMaterialList=zs;var Ks=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e)).Name=r,u.Description=i,u.Material=a,u.Profile=s,u.Priority=o,u.Category=l,u.type=2235152071,u}return P(n)}(js);e.IfcMaterialProfile=Ks;var Ys=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e)).Name=r,o.Description=i,o.MaterialProfiles=a,o.CompositeProfile=s,o.type=164193824,o}return P(n)}(js);e.IfcMaterialProfileSet=Ys;var Xs=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u){var c;return b(this,n),(c=t.call(this,e,r,i,a,s,o,l)).Name=r,c.Description=i,c.Material=a,c.Profile=s,c.Priority=o,c.Category=l,c.OffsetValues=u,c.type=552965576,c}return P(n)}(Ks);e.IfcMaterialProfileWithOffsets=Xs;var qs=function(e){I(n,U_);var t=m(n);function n(e){var r;return b(this,n),(r=t.call(this,e)).type=1507914824,r}return P(n)}();e.IfcMaterialUsageDefinition=qs;var Js=function(e){I(n,U_);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).ValueComponent=r,a.UnitComponent=i,a.type=2597039031,a}return P(n)}();e.IfcMeasureWithUnit=Js;var Zs=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A){var d;return b(this,n),(d=t.call(this,e,r,i,a,s,o,l,u)).Name=r,d.Description=i,d.ConstraintGrade=a,d.ConstraintSource=s,d.CreatingActor=o,d.CreationTime=l,d.UserDefinedGrade=u,d.Benchmark=c,d.ValueSource=f,d.DataValue=p,d.ReferencePath=A,d.type=3368373690,d}return P(n)}(Es);e.IfcMetric=Zs;var $s=function(e){I(n,U_);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e)).Currency=r,i.type=2706619895,i}return P(n)}();e.IfcMonetaryUnit=$s;var eo=function(e){I(n,U_);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).Dimensions=r,a.UnitType=i,a.type=1918398963,a}return P(n)}();e.IfcNamedUnit=eo;var to=function(e){I(n,U_);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e)).PlacementRelTo=r,i.type=3701648758,i}return P(n)}();e.IfcObjectPlacement=to;var no=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A){var d;return b(this,n),(d=t.call(this,e,r,i,a,s,o,l,u)).Name=r,d.Description=i,d.ConstraintGrade=a,d.ConstraintSource=s,d.CreatingActor=o,d.CreationTime=l,d.UserDefinedGrade=u,d.BenchmarkValues=c,d.LogicalAggregator=f,d.ObjectiveQualifier=p,d.UserDefinedQualifier=A,d.type=2251480897,d}return P(n)}(Es);e.IfcObjective=no;var ro=function(e){I(n,U_);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e)).Identification=r,l.Name=i,l.Description=a,l.Roles=s,l.Addresses=o,l.type=4251960020,l}return P(n)}();e.IfcOrganization=ro;var io=function(e){I(n,U_);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e)).OwningUser=r,f.OwningApplication=i,f.State=a,f.ChangeAction=s,f.LastModifiedDate=o,f.LastModifyingUser=l,f.LastModifyingApplication=u,f.CreationDate=c,f.type=1207048766,f}return P(n)}();e.IfcOwnerHistory=io;var ao=function(e){I(n,U_);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e)).Identification=r,f.FamilyName=i,f.GivenName=a,f.MiddleNames=s,f.PrefixTitles=o,f.SuffixTitles=l,f.Roles=u,f.Addresses=c,f.type=2077209135,f}return P(n)}();e.IfcPerson=ao;var so=function(e){I(n,U_);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e)).ThePerson=r,s.TheOrganization=i,s.Roles=a,s.type=101040310,s}return P(n)}();e.IfcPersonAndOrganization=so;var oo=function(e){I(n,U_);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).Name=r,a.Description=i,a.type=2483315170,a}return P(n)}();e.IfcPhysicalQuantity=oo;var lo=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e,r,i)).Name=r,s.Description=i,s.Unit=a,s.type=2226359599,s}return P(n)}(oo);e.IfcPhysicalSimpleQuantity=lo;var uo=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a)).Purpose=r,A.Description=i,A.UserDefinedPurpose=a,A.InternalLocation=s,A.AddressLines=o,A.PostalBox=l,A.Town=u,A.Region=c,A.PostalCode=f,A.Country=p,A.type=3355820592,A}return P(n)}(os);e.IfcPostalAddress=uo;var co=function(e){I(n,U_);var t=m(n);function n(e){var r;return b(this,n),(r=t.call(this,e)).type=677532197,r}return P(n)}();e.IfcPresentationItem=co;var fo=function(e){I(n,U_);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e)).Name=r,o.Description=i,o.AssignedItems=a,o.Identifier=s,o.type=2022622350,o}return P(n)}();e.IfcPresentationLayerAssignment=fo;var po=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s)).Name=r,f.Description=i,f.AssignedItems=a,f.Identifier=s,f.LayerOn=o,f.LayerFrozen=l,f.LayerBlocked=u,f.LayerStyles=c,f.type=1304840413,f}return P(n)}(fo);e.IfcPresentationLayerWithStyle=po;var Ao=function(e){I(n,U_);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e)).Name=r,i.type=3119450353,i}return P(n)}();e.IfcPresentationStyle=Ao;var vo=function(e){I(n,U_);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e)).Name=r,s.Description=i,s.Representations=a,s.type=2095639259,s}return P(n)}();e.IfcProductRepresentation=vo;var ho=function(e){I(n,U_);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).ProfileType=r,a.ProfileName=i,a.type=3958567839,a}return P(n)}();e.IfcProfileDef=ho;var Io=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u){var c;return b(this,n),(c=t.call(this,e,r,i,a,s)).Name=r,c.Description=i,c.GeodeticDatum=a,c.VerticalDatum=s,c.MapProjection=o,c.MapZone=l,c.MapUnit=u,c.type=3843373140,c}return P(n)}(bs);e.IfcProjectedCRS=Io;var yo=function(e){I(n,U_);var t=m(n);function n(e){var r;return b(this,n),(r=t.call(this,e)).type=986844984,r}return P(n)}();e.IfcPropertyAbstraction=yo;var mo=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e)).Name=r,s.EnumerationValues=i,s.Unit=a,s.type=3710013099,s}return P(n)}(yo);e.IfcPropertyEnumeration=mo;var wo=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e,r,i,a)).Name=r,l.Description=i,l.Unit=a,l.AreaValue=s,l.Formula=o,l.type=2044713172,l}return P(n)}(lo);e.IfcQuantityArea=wo;var go=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e,r,i,a)).Name=r,l.Description=i,l.Unit=a,l.CountValue=s,l.Formula=o,l.type=2093928680,l}return P(n)}(lo);e.IfcQuantityCount=go;var Eo=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e,r,i,a)).Name=r,l.Description=i,l.Unit=a,l.LengthValue=s,l.Formula=o,l.type=931644368,l}return P(n)}(lo);e.IfcQuantityLength=Eo;var To=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e,r,i,a)).Name=r,l.Description=i,l.Unit=a,l.NumberValue=s,l.Formula=o,l.type=2691318326,l}return P(n)}(lo);e.IfcQuantityNumber=To;var bo=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e,r,i,a)).Name=r,l.Description=i,l.Unit=a,l.TimeValue=s,l.Formula=o,l.type=3252649465,l}return P(n)}(lo);e.IfcQuantityTime=bo;var Do=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e,r,i,a)).Name=r,l.Description=i,l.Unit=a,l.VolumeValue=s,l.Formula=o,l.type=2405470396,l}return P(n)}(lo);e.IfcQuantityVolume=Do;var Po=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e,r,i,a)).Name=r,l.Description=i,l.Unit=a,l.WeightValue=s,l.Formula=o,l.type=825690147,l}return P(n)}(lo);e.IfcQuantityWeight=Po;var Ro=function(e){I(n,U_);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e)).RecurrenceType=r,f.DayComponent=i,f.WeekdayComponent=a,f.MonthComponent=s,f.Position=o,f.Interval=l,f.Occurrences=u,f.TimePeriods=c,f.type=3915482550,f}return P(n)}();e.IfcRecurrencePattern=Ro;var Co=function(e){I(n,U_);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e)).TypeIdentifier=r,l.AttributeIdentifier=i,l.InstanceName=a,l.ListPositions=s,l.InnerReference=o,l.type=2433181523,l}return P(n)}();e.IfcReference=Co;var _o=function(e){I(n,U_);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e)).ContextOfItems=r,o.RepresentationIdentifier=i,o.RepresentationType=a,o.Items=s,o.type=1076942058,o}return P(n)}();e.IfcRepresentation=_o;var Bo=function(e){I(n,U_);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).ContextIdentifier=r,a.ContextType=i,a.type=3377609919,a}return P(n)}();e.IfcRepresentationContext=Bo;var Oo=function(e){I(n,U_);var t=m(n);function n(e){var r;return b(this,n),(r=t.call(this,e)).type=3008791417,r}return P(n)}();e.IfcRepresentationItem=Oo;var So=function(e){I(n,U_);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).MappingOrigin=r,a.MappedRepresentation=i,a.type=1660063152,a}return P(n)}();e.IfcRepresentationMap=So;var No=function(e){I(n,U_);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).Name=r,a.Description=i,a.type=2439245199,a}return P(n)}();e.IfcResourceLevelRelationship=No;var Lo=function(e){I(n,U_);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e)).GlobalId=r,o.OwnerHistory=i,o.Name=a,o.Description=s,o.type=2341007311,o}return P(n)}();e.IfcRoot=Lo;var xo=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r,i)).Dimensions=r,o.UnitType=i,o.Prefix=a,o.Name=s,o.type=448429030,o}return P(n)}(eo);e.IfcSIUnit=xo;var Mo=function(e){I(n,U_);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e)).Name=r,s.DataOrigin=i,s.UserDefinedDataOrigin=a,s.type=1054537805,s}return P(n)}();e.IfcSchedulingTime=Mo;var Fo=function(e){I(n,U_);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e)).ShapeRepresentations=r,l.Name=i,l.Description=a,l.ProductDefinitional=s,l.PartOfProductDefinitionShape=o,l.type=867548509,l}return P(n)}();e.IfcShapeAspect=Fo;var Ho=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r,i,a,s)).ContextOfItems=r,o.RepresentationIdentifier=i,o.RepresentationType=a,o.Items=s,o.type=3982875396,o}return P(n)}(_o);e.IfcShapeModel=Ho;var Uo=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r,i,a,s)).ContextOfItems=r,o.RepresentationIdentifier=i,o.RepresentationType=a,o.Items=s,o.type=4240577450,o}return P(n)}(Ho);e.IfcShapeRepresentation=Uo;var Go=function(e){I(n,U_);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e)).Name=r,i.type=2273995522,i}return P(n)}();e.IfcStructuralConnectionCondition=Go;var ko=function(e){I(n,U_);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e)).Name=r,i.type=2162789131,i}return P(n)}();e.IfcStructuralLoad=ko;var jo=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e,r)).Name=r,s.Values=i,s.Locations=a,s.type=3478079324,s}return P(n)}(ko);e.IfcStructuralLoadConfiguration=jo;var Vo=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e,r)).Name=r,i.type=609421318,i}return P(n)}(ko);e.IfcStructuralLoadOrResult=Vo;var Qo=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e,r)).Name=r,i.type=2525727697,i}return P(n)}(Vo);e.IfcStructuralLoadStatic=Qo;var Wo=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r)).Name=r,o.DeltaTConstant=i,o.DeltaTY=a,o.DeltaTZ=s,o.type=3408363356,o}return P(n)}(Qo);e.IfcStructuralLoadTemperature=Wo;var zo=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r,i,a,s)).ContextOfItems=r,o.RepresentationIdentifier=i,o.RepresentationType=a,o.Items=s,o.type=2830218821,o}return P(n)}(_o);e.IfcStyleModel=zo;var Ko=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e)).Item=r,s.Styles=i,s.Name=a,s.type=3958052878,s}return P(n)}(Oo);e.IfcStyledItem=Ko;var Yo=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r,i,a,s)).ContextOfItems=r,o.RepresentationIdentifier=i,o.RepresentationType=a,o.Items=s,o.type=3049322572,o}return P(n)}(zo);e.IfcStyledRepresentation=Yo;var Xo=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r)).Name=r,o.SurfaceReinforcement1=i,o.SurfaceReinforcement2=a,o.ShearReinforcement=s,o.type=2934153892,o}return P(n)}(Vo);e.IfcSurfaceReinforcementArea=Xo;var qo=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e,r)).Name=r,s.Side=i,s.Styles=a,s.type=1300840506,s}return P(n)}(Ao);e.IfcSurfaceStyle=qo;var Jo=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e)).DiffuseTransmissionColour=r,o.DiffuseReflectionColour=i,o.TransmissionColour=a,o.ReflectanceColour=s,o.type=3303107099,o}return P(n)}(co);e.IfcSurfaceStyleLighting=Jo;var Zo=function(e){I(n,e);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).RefractionIndex=r,a.DispersionFactor=i,a.type=1607154358,a}return P(n)}(co);e.IfcSurfaceStyleRefraction=Zo;var $o=function(e){I(n,e);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).SurfaceColour=r,a.Transparency=i,a.type=846575682,a}return P(n)}(co);e.IfcSurfaceStyleShading=$o;var el=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e)).Textures=r,i.type=1351298697,i}return P(n)}(co);e.IfcSurfaceStyleWithTextures=el;var tl=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e)).RepeatS=r,l.RepeatT=i,l.Mode=a,l.TextureTransform=s,l.Parameter=o,l.type=626085974,l}return P(n)}(co);e.IfcSurfaceTexture=tl;var nl=function(e){I(n,U_);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e)).Name=r,s.Rows=i,s.Columns=a,s.type=985171141,s}return P(n)}();e.IfcTable=nl;var rl=function(e){I(n,U_);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e)).Identifier=r,l.Name=i,l.Description=a,l.Unit=s,l.ReferencePath=o,l.type=2043862942,l}return P(n)}();e.IfcTableColumn=rl;var il=function(e){I(n,U_);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).RowCells=r,a.IsHeading=i,a.type=531007025,a}return P(n)}();e.IfcTableRow=il;var al=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A,d,v,h,I,y,m,w,g,E){var T;return b(this,n),(T=t.call(this,e,r,i,a)).Name=r,T.DataOrigin=i,T.UserDefinedDataOrigin=a,T.DurationType=s,T.ScheduleDuration=o,T.ScheduleStart=l,T.ScheduleFinish=u,T.EarlyStart=c,T.EarlyFinish=f,T.LateStart=p,T.LateFinish=A,T.FreeFloat=d,T.TotalFloat=v,T.IsCritical=h,T.StatusTime=I,T.ActualDuration=y,T.ActualStart=m,T.ActualFinish=w,T.RemainingTime=g,T.Completion=E,T.type=1549132990,T}return P(n)}(Mo);e.IfcTaskTime=al;var sl=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A,d,v,h,I,y,m,w,g,E,T){var D;return b(this,n),(D=t.call(this,e,r,i,a,s,o,l,u,c,f,p,A,d,v,h,I,y,m,w,g,E)).Name=r,D.DataOrigin=i,D.UserDefinedDataOrigin=a,D.DurationType=s,D.ScheduleDuration=o,D.ScheduleStart=l,D.ScheduleFinish=u,D.EarlyStart=c,D.EarlyFinish=f,D.LateStart=p,D.LateFinish=A,D.FreeFloat=d,D.TotalFloat=v,D.IsCritical=h,D.StatusTime=I,D.ActualDuration=y,D.ActualStart=m,D.ActualFinish=w,D.RemainingTime=g,D.Completion=E,D.Recurrence=T,D.type=2771591690,D}return P(n)}(al);e.IfcTaskTimeRecurring=sl;var ol=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a)).Purpose=r,p.Description=i,p.UserDefinedPurpose=a,p.TelephoneNumbers=s,p.FacsimileNumbers=o,p.PagerNumber=l,p.ElectronicMailAddresses=u,p.WWWHomePageURL=c,p.MessagingIDs=f,p.type=912023232,p}return P(n)}(os);e.IfcTelecomAddress=ol;var ll=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e,r)).Name=r,l.TextCharacterAppearance=i,l.TextStyle=a,l.TextFontStyle=s,l.ModelOrDraughting=o,l.type=1447204868,l}return P(n)}(Ao);e.IfcTextStyle=ll;var ul=function(e){I(n,e);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).Colour=r,a.BackgroundColour=i,a.type=2636378356,a}return P(n)}(co);e.IfcTextStyleForDefinedFont=ul;var cl=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u){var c;return b(this,n),(c=t.call(this,e)).TextIndent=r,c.TextAlign=i,c.TextDecoration=a,c.LetterSpacing=s,c.WordSpacing=o,c.TextTransform=l,c.LineHeight=u,c.type=1640371178,c}return P(n)}(co);e.IfcTextStyleTextModel=cl;var fl=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e)).Maps=r,i.type=280115917,i}return P(n)}(co);e.IfcTextureCoordinate=fl;var pl=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e,r)).Maps=r,s.Mode=i,s.Parameter=a,s.type=1742049831,s}return P(n)}(fl);e.IfcTextureCoordinateGenerator=pl;var Al=function(e){I(n,U_);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).TexCoordIndex=r,a.TexCoordsOf=i,a.type=222769930,a}return P(n)}();e.IfcTextureCoordinateIndices=Al;var dl=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e,r,i)).TexCoordIndex=r,s.TexCoordsOf=i,s.InnerTexCoordIndices=a,s.type=1010789467,s}return P(n)}(Al);e.IfcTextureCoordinateIndicesWithVoids=dl;var vl=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e,r)).Maps=r,s.Vertices=i,s.MappedTo=a,s.type=2552916305,s}return P(n)}(fl);e.IfcTextureMap=vl;var hl=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e)).Coordinates=r,i.type=1210645708,i}return P(n)}(co);e.IfcTextureVertex=hl;var Il=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e)).TexCoordsList=r,i.type=3611470254,i}return P(n)}(co);e.IfcTextureVertexList=Il;var yl=function(e){I(n,U_);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).StartTime=r,a.EndTime=i,a.type=1199560280,a}return P(n)}();e.IfcTimePeriod=yl;var ml=function(e){I(n,U_);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e)).Name=r,f.Description=i,f.StartTime=a,f.EndTime=s,f.TimeSeriesDataType=o,f.DataOrigin=l,f.UserDefinedDataOrigin=u,f.Unit=c,f.type=3101149627,f}return P(n)}();e.IfcTimeSeries=ml;var wl=function(e){I(n,U_);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e)).ListValues=r,i.type=581633288,i}return P(n)}();e.IfcTimeSeriesValue=wl;var gl=function(e){I(n,e);var t=m(n);function n(e){var r;return b(this,n),(r=t.call(this,e)).type=1377556343,r}return P(n)}(Oo);e.IfcTopologicalRepresentationItem=gl;var El=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r,i,a,s)).ContextOfItems=r,o.RepresentationIdentifier=i,o.RepresentationType=a,o.Items=s,o.type=1735638870,o}return P(n)}(Ho);e.IfcTopologyRepresentation=El;var Tl=function(e){I(n,U_);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e)).Units=r,i.type=180925521,i}return P(n)}();e.IfcUnitAssignment=Tl;var bl=function(e){I(n,e);var t=m(n);function n(e){var r;return b(this,n),(r=t.call(this,e)).type=2799835756,r}return P(n)}(gl);e.IfcVertex=bl;var Dl=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e)).VertexGeometry=r,i.type=1907098498,i}return P(n)}(bl);e.IfcVertexPoint=Dl;var Pl=function(e){I(n,U_);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).IntersectingAxes=r,a.OffsetDistances=i,a.type=891718957,a}return P(n)}();e.IfcVirtualGridIntersection=Pl;var Rl=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r,i,a)).Name=r,u.DataOrigin=i,u.UserDefinedDataOrigin=a,u.RecurrencePattern=s,u.StartDate=o,u.FinishDate=l,u.type=1236880293,u}return P(n)}(Mo);e.IfcWorkTime=Rl;var Cl=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i)).StartTag=r,p.EndTag=i,p.StartDistAlong=a,p.HorizontalLength=s,p.StartCantLeft=o,p.EndCantLeft=l,p.StartCantRight=u,p.EndCantRight=c,p.PredefinedType=f,p.type=3752311538,p}return P(n)}(ls);e.IfcAlignmentCantSegment=Cl;var _l=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i)).StartTag=r,p.EndTag=i,p.StartPoint=a,p.StartDirection=s,p.StartRadiusOfCurvature=o,p.EndRadiusOfCurvature=l,p.SegmentLength=u,p.GravityCenterLineHeight=c,p.PredefinedType=f,p.type=536804194,p}return P(n)}(ls);e.IfcAlignmentHorizontalSegment=_l;var Bl=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r,i)).Name=r,o.Description=i,o.RelatingApproval=a,o.RelatedApprovals=s,o.type=3869604511,o}return P(n)}(No);e.IfcApprovalRelationship=Bl;var Ol=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e,r,i)).ProfileType=r,s.ProfileName=i,s.OuterCurve=a,s.type=3798115385,s}return P(n)}(ho);e.IfcArbitraryClosedProfileDef=Ol;var Sl=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e,r,i)).ProfileType=r,s.ProfileName=i,s.Curve=a,s.type=1310608509,s}return P(n)}(ho);e.IfcArbitraryOpenProfileDef=Sl;var Nl=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r,i,a)).ProfileType=r,o.ProfileName=i,o.OuterCurve=a,o.InnerCurves=s,o.type=2705031697,o}return P(n)}(Ol);e.IfcArbitraryProfileDefWithVoids=Nl;var Ll=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u){var c;return b(this,n),(c=t.call(this,e,r,i,a,s,o)).RepeatS=r,c.RepeatT=i,c.Mode=a,c.TextureTransform=s,c.Parameter=o,c.RasterFormat=l,c.RasterCode=u,c.type=616511568,c}return P(n)}(tl);e.IfcBlobTexture=Ll;var xl=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r,i,a)).ProfileType=r,o.ProfileName=i,o.Curve=a,o.Thickness=s,o.type=3150382593,o}return P(n)}(Sl);e.IfcCenterLineProfileDef=xl;var Ml=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u){var c;return b(this,n),(c=t.call(this,e)).Source=r,c.Edition=i,c.EditionDate=a,c.Name=s,c.Description=o,c.Specification=l,c.ReferenceTokens=u,c.type=747523909,c}return P(n)}(_s);e.IfcClassification=Ml;var Fl=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r,i,a)).Location=r,u.Identification=i,u.Name=a,u.ReferencedSource=s,u.Description=o,u.Sort=l,u.type=647927063,u}return P(n)}(Bs);e.IfcClassificationReference=Fl;var Hl=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e)).ColourList=r,i.type=3285139300,i}return P(n)}(co);e.IfcColourRgbList=Hl;var Ul=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e)).Name=r,i.type=3264961684,i}return P(n)}(co);e.IfcColourSpecification=Ul;var Gl=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r,i)).ProfileType=r,o.ProfileName=i,o.Profiles=a,o.Label=s,o.type=1485152156,o}return P(n)}(ho);e.IfcCompositeProfileDef=Gl;var kl=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e)).CfsFaces=r,i.type=370225590,i}return P(n)}(gl);e.IfcConnectedFaceSet=kl;var jl=function(e){I(n,e);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).CurveOnRelatingElement=r,a.CurveOnRelatedElement=i,a.type=1981873012,a}return P(n)}(ys);e.IfcConnectionCurveGeometry=jl;var Vl=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e,r,i)).PointOnRelatingElement=r,l.PointOnRelatedElement=i,l.EccentricityInX=a,l.EccentricityInY=s,l.EccentricityInZ=o,l.type=45288368,l}return P(n)}(ms);e.IfcConnectionPointEccentricity=Vl;var Ql=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e,r,i)).Dimensions=r,s.UnitType=i,s.Name=a,s.type=3050246964,s}return P(n)}(eo);e.IfcContextDependentUnit=Ql;var Wl=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r,i)).Dimensions=r,o.UnitType=i,o.Name=a,o.ConversionFactor=s,o.type=2889183280,o}return P(n)}(eo);e.IfcConversionBasedUnit=Wl;var zl=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e,r,i,a,s)).Dimensions=r,l.UnitType=i,l.Name=a,l.ConversionFactor=s,l.ConversionOffset=o,l.type=2713554722,l}return P(n)}(Wl);e.IfcConversionBasedUnitWithOffset=zl;var Kl=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u){var c;return b(this,n),(c=t.call(this,e,r,i)).Name=r,c.Description=i,c.RelatingMonetaryUnit=a,c.RelatedMonetaryUnit=s,c.ExchangeRate=o,c.RateDateTime=l,c.RateSource=u,c.type=539742890,c}return P(n)}(No);e.IfcCurrencyRelationship=Kl;var Yl=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e,r)).Name=r,l.CurveFont=i,l.CurveWidth=a,l.CurveColour=s,l.ModelOrDraughting=o,l.type=3800577675,l}return P(n)}(Ao);e.IfcCurveStyle=Yl;var Xl=function(e){I(n,e);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).Name=r,a.PatternList=i,a.type=1105321065,a}return P(n)}(co);e.IfcCurveStyleFont=Xl;var ql=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e)).Name=r,s.CurveStyleFont=i,s.CurveFontScaling=a,s.type=2367409068,s}return P(n)}(co);e.IfcCurveStyleFontAndScaling=ql;var Jl=function(e){I(n,e);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).VisibleSegmentLength=r,a.InvisibleSegmentLength=i,a.type=3510044353,a}return P(n)}(co);e.IfcCurveStyleFontPattern=Jl;var Zl=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e,r,i)).ProfileType=r,l.ProfileName=i,l.ParentProfile=a,l.Operator=s,l.Label=o,l.type=3632507154,l}return P(n)}(ho);e.IfcDerivedProfileDef=Zl;var $l=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A,d,v,h,I,y,m){var w;return b(this,n),(w=t.call(this,e)).Identification=r,w.Name=i,w.Description=a,w.Location=s,w.Purpose=o,w.IntendedUse=l,w.Scope=u,w.Revision=c,w.DocumentOwner=f,w.Editors=p,w.CreationTime=A,w.LastRevisionTime=d,w.ElectronicFormat=v,w.ValidFrom=h,w.ValidUntil=I,w.Confidentiality=y,w.Status=m,w.type=1154170062,w}return P(n)}(_s);e.IfcDocumentInformation=$l;var eu=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e,r,i)).Name=r,l.Description=i,l.RelatingDocument=a,l.RelatedDocuments=s,l.RelationshipType=o,l.type=770865208,l}return P(n)}(No);e.IfcDocumentInformationRelationship=eu;var tu=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e,r,i,a)).Location=r,l.Identification=i,l.Name=a,l.Description=s,l.ReferencedDocument=o,l.type=3732053477,l}return P(n)}(Bs);e.IfcDocumentReference=tu;var nu=function(e){I(n,e);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).EdgeStart=r,a.EdgeEnd=i,a.type=3900360178,a}return P(n)}(gl);e.IfcEdge=nu;var ru=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r,i)).EdgeStart=r,o.EdgeEnd=i,o.EdgeGeometry=a,o.SameSense=s,o.type=476780140,o}return P(n)}(nu);e.IfcEdgeCurve=ru;var iu=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u){var c;return b(this,n),(c=t.call(this,e,r,i,a)).Name=r,c.DataOrigin=i,c.UserDefinedDataOrigin=a,c.ActualDate=s,c.EarlyDate=o,c.LateDate=l,c.ScheduleDate=u,c.type=211053100,c}return P(n)}(Mo);e.IfcEventTime=iu;var au=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e)).Name=r,s.Description=i,s.Properties=a,s.type=297599258,s}return P(n)}(yo);e.IfcExtendedProperties=au;var su=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r,i)).Name=r,o.Description=i,o.RelatingReference=a,o.RelatedResourceObjects=s,o.type=1437805879,o}return P(n)}(No);e.IfcExternalReferenceRelationship=su;var ou=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e)).Bounds=r,i.type=2556980723,i}return P(n)}(gl);e.IfcFace=ou;var lu=function(e){I(n,e);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).Bound=r,a.Orientation=i,a.type=1809719519,a}return P(n)}(gl);e.IfcFaceBound=lu;var uu=function(e){I(n,e);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e,r,i)).Bound=r,a.Orientation=i,a.type=803316827,a}return P(n)}(lu);e.IfcFaceOuterBound=uu;var cu=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e,r)).Bounds=r,s.FaceSurface=i,s.SameSense=a,s.type=3008276851,s}return P(n)}(ou);e.IfcFaceSurface=cu;var fu=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u){var c;return b(this,n),(c=t.call(this,e,r)).Name=r,c.TensionFailureX=i,c.TensionFailureY=a,c.TensionFailureZ=s,c.CompressionFailureX=o,c.CompressionFailureY=l,c.CompressionFailureZ=u,c.type=4219587988,c}return P(n)}(Go);e.IfcFailureConnectionCondition=fu;var pu=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e,r)).Name=r,s.FillStyles=i,s.ModelOrDraughting=a,s.type=738692330,s}return P(n)}(Ao);e.IfcFillAreaStyle=pu;var Au=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r,i)).ContextIdentifier=r,u.ContextType=i,u.CoordinateSpaceDimension=a,u.Precision=s,u.WorldCoordinateSystem=o,u.TrueNorth=l,u.type=3448662350,u}return P(n)}(Bo);e.IfcGeometricRepresentationContext=Au;var du=function(e){I(n,e);var t=m(n);function n(e){var r;return b(this,n),(r=t.call(this,e)).type=2453401579,r}return P(n)}(Oo);e.IfcGeometricRepresentationItem=du;var vu=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u){var c;return b(this,n),(c=t.call(this,e,r,i,new D(0),null,a,null)).ContextIdentifier=r,c.ContextType=i,c.WorldCoordinateSystem=a,c.ParentContext=s,c.TargetScale=o,c.TargetView=l,c.UserDefinedTargetView=u,c.type=4142052618,c}return P(n)}(Au);e.IfcGeometricRepresentationSubContext=vu;var hu=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e)).Elements=r,i.type=3590301190,i}return P(n)}(du);e.IfcGeometricSet=hu;var Iu=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e,r)).PlacementRelTo=r,s.PlacementLocation=i,s.PlacementRefDirection=a,s.type=178086475,s}return P(n)}(to);e.IfcGridPlacement=Iu;var yu=function(e){I(n,e);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).BaseSurface=r,a.AgreementFlag=i,a.type=812098782,a}return P(n)}(du);e.IfcHalfSpaceSolid=yu;var mu=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r,i,a,s,o)).RepeatS=r,u.RepeatT=i,u.Mode=a,u.TextureTransform=s,u.Parameter=o,u.URLReference=l,u.type=3905492369,u}return P(n)}(tl);e.IfcImageTexture=mu;var wu=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e)).MappedTo=r,o.Opacity=i,o.Colours=a,o.ColourIndex=s,o.type=3570813810,o}return P(n)}(co);e.IfcIndexedColourMap=wu;var gu=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e,r)).Maps=r,s.MappedTo=i,s.TexCoords=a,s.type=1437953363,s}return P(n)}(fl);e.IfcIndexedTextureMap=gu;var Eu=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r,i,a)).Maps=r,o.MappedTo=i,o.TexCoords=a,o.TexCoordIndex=s,o.type=2133299955,o}return P(n)}(gu);e.IfcIndexedTriangleTextureMap=Eu;var Tu=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).Name=r,p.Description=i,p.StartTime=a,p.EndTime=s,p.TimeSeriesDataType=o,p.DataOrigin=l,p.UserDefinedDataOrigin=u,p.Unit=c,p.Values=f,p.type=3741457305,p}return P(n)}(ml);e.IfcIrregularTimeSeries=Tu;var bu=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e,r,i,a)).Name=r,l.DataOrigin=i,l.UserDefinedDataOrigin=a,l.LagValue=s,l.DurationType=o,l.type=1585845231,l}return P(n)}(Mo);e.IfcLagTime=bu;var Du=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e)).Name=r,o.LightColour=i,o.AmbientIntensity=a,o.Intensity=s,o.type=1402838566,o}return P(n)}(du);e.IfcLightSource=Du;var Pu=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r,i,a,s)).Name=r,o.LightColour=i,o.AmbientIntensity=a,o.Intensity=s,o.type=125510826,o}return P(n)}(Du);e.IfcLightSourceAmbient=Pu;var Ru=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e,r,i,a,s)).Name=r,l.LightColour=i,l.AmbientIntensity=a,l.Intensity=s,l.Orientation=o,l.type=2604431987,l}return P(n)}(Du);e.IfcLightSourceDirectional=Ru;var Cu=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s)).Name=r,A.LightColour=i,A.AmbientIntensity=a,A.Intensity=s,A.Position=o,A.ColourAppearance=l,A.ColourTemperature=u,A.LuminousFlux=c,A.LightEmissionSource=f,A.LightDistributionDataSource=p,A.type=4266656042,A}return P(n)}(Du);e.IfcLightSourceGoniometric=Cu;var _u=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s)).Name=r,p.LightColour=i,p.AmbientIntensity=a,p.Intensity=s,p.Position=o,p.Radius=l,p.ConstantAttenuation=u,p.DistanceAttenuation=c,p.QuadricAttenuation=f,p.type=1520743889,p}return P(n)}(Du);e.IfcLightSourcePositional=_u;var Bu=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A,d,v){var h;return b(this,n),(h=t.call(this,e,r,i,a,s,o,l,u,c,f)).Name=r,h.LightColour=i,h.AmbientIntensity=a,h.Intensity=s,h.Position=o,h.Radius=l,h.ConstantAttenuation=u,h.DistanceAttenuation=c,h.QuadricAttenuation=f,h.Orientation=p,h.ConcentrationExponent=A,h.SpreadAngle=d,h.BeamWidthAngle=v,h.type=3422422726,h}return P(n)}(_u);e.IfcLightSourceSpot=Bu;var Ou=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e,r)).PlacementRelTo=r,s.RelativePlacement=i,s.CartesianPosition=a,s.type=388784114,s}return P(n)}(to);e.IfcLinearPlacement=Ou;var Su=function(e){I(n,e);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e,r)).PlacementRelTo=r,a.RelativePlacement=i,a.type=2624227202,a}return P(n)}(to);e.IfcLocalPlacement=Su;var Nu=function(e){I(n,e);var t=m(n);function n(e){var r;return b(this,n),(r=t.call(this,e)).type=1008929658,r}return P(n)}(gl);e.IfcLoop=Nu;var Lu=function(e){I(n,e);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).MappingSource=r,a.MappingTarget=i,a.type=2347385850,a}return P(n)}(Oo);e.IfcMappedItem=Lu;var xu=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e)).Name=r,s.Description=i,s.Category=a,s.type=1838606355,s}return P(n)}(js);e.IfcMaterial=xu;var Mu=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e)).Name=r,l.Description=i,l.Material=a,l.Fraction=s,l.Category=o,l.type=3708119e3,l}return P(n)}(js);e.IfcMaterialConstituent=Mu;var Fu=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e)).Name=r,s.Description=i,s.MaterialConstituents=a,s.type=2852063980,s}return P(n)}(js);e.IfcMaterialConstituentSet=Fu;var Hu=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r,i,a)).Name=r,o.Description=i,o.Representations=a,o.RepresentedMaterial=s,o.type=2022407955,o}return P(n)}(vo);e.IfcMaterialDefinitionRepresentation=Hu;var Uu=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e)).ForLayerSet=r,l.LayerSetDirection=i,l.DirectionSense=a,l.OffsetFromReferenceLine=s,l.ReferenceExtent=o,l.type=1303795690,l}return P(n)}(qs);e.IfcMaterialLayerSetUsage=Uu;var Gu=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e)).ForProfileSet=r,s.CardinalPoint=i,s.ReferenceExtent=a,s.type=3079605661,s}return P(n)}(qs);e.IfcMaterialProfileSetUsage=Gu;var ku=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e,r,i,a)).ForProfileSet=r,l.CardinalPoint=i,l.ReferenceExtent=a,l.ForProfileEndSet=s,l.CardinalEndPoint=o,l.type=3404854881,l}return P(n)}(Gu);e.IfcMaterialProfileSetUsageTapering=ku;var ju=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r,i,a)).Name=r,o.Description=i,o.Properties=a,o.Material=s,o.type=3265635763,o}return P(n)}(au);e.IfcMaterialProperties=ju;var Vu=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e,r,i)).Name=r,l.Description=i,l.RelatingMaterial=a,l.RelatedMaterials=s,l.MaterialExpression=o,l.type=853536259,l}return P(n)}(No);e.IfcMaterialRelationship=Vu;var Qu=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e,r,i,a,s,o)).ProfileType=r,l.ProfileName=i,l.ParentProfile=a,l.Operator=s,l.Label=o,l.type=2998442950,l}return P(n)}(Zl);e.IfcMirroredProfileDef=Qu;var Wu=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r,i,a,s)).GlobalId=r,o.OwnerHistory=i,o.Name=a,o.Description=s,o.type=219451334,o}return P(n)}(Lo);e.IfcObjectDefinition=Wu;var zu=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u){var c;return b(this,n),(c=t.call(this,e,r,i)).ProfileType=r,c.ProfileName=i,c.HorizontalWidths=a,c.Widths=s,c.Slopes=o,c.Tags=l,c.OffsetPoint=u,c.type=182550632,c}return P(n)}(ho);e.IfcOpenCrossProfileDef=zu;var Ku=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e,r)).CfsFaces=r,i.type=2665983363,i}return P(n)}(kl);e.IfcOpenShell=Ku;var Yu=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r,i)).Name=r,o.Description=i,o.RelatingOrganization=a,o.RelatedOrganizations=s,o.type=1411181986,o}return P(n)}(No);e.IfcOrganizationRelationship=Yu;var Xu=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e,r,new H_(0))).EdgeStart=r,s.EdgeElement=i,s.Orientation=a,s.type=1029017970,s}return P(n)}(nu);e.IfcOrientedEdge=Xu;var qu=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e,r,i)).ProfileType=r,s.ProfileName=i,s.Position=a,s.type=2529465313,s}return P(n)}(ho);e.IfcParameterizedProfileDef=qu;var Ju=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e)).EdgeList=r,i.type=2519244187,i}return P(n)}(gl);e.IfcPath=Ju;var Zu=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r,i)).Name=r,u.Description=i,u.HasQuantities=a,u.Discrimination=s,u.Quality=o,u.Usage=l,u.type=3021840470,u}return P(n)}(oo);e.IfcPhysicalComplexQuantity=Zu;var $u=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o)).RepeatS=r,p.RepeatT=i,p.Mode=a,p.TextureTransform=s,p.Parameter=o,p.Width=l,p.Height=u,p.ColourComponents=c,p.Pixel=f,p.type=597895409,p}return P(n)}(tl);e.IfcPixelTexture=$u;var ec=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e)).Location=r,i.type=2004835150,i}return P(n)}(du);e.IfcPlacement=ec;var tc=function(e){I(n,e);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).SizeInX=r,a.SizeInY=i,a.type=1663979128,a}return P(n)}(du);e.IfcPlanarExtent=tc;var nc=function(e){I(n,e);var t=m(n);function n(e){var r;return b(this,n),(r=t.call(this,e)).type=2067069095,r}return P(n)}(du);e.IfcPoint=nc;var rc=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e)).DistanceAlong=r,l.OffsetLateral=i,l.OffsetVertical=a,l.OffsetLongitudinal=s,l.BasisCurve=o,l.type=2165702409,l}return P(n)}(nc);e.IfcPointByDistanceExpression=rc;var ic=function(e){I(n,e);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).BasisCurve=r,a.PointParameter=i,a.type=4022376103,a}return P(n)}(nc);e.IfcPointOnCurve=ic;var ac=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e)).BasisSurface=r,s.PointParameterU=i,s.PointParameterV=a,s.type=1423911732,s}return P(n)}(nc);e.IfcPointOnSurface=ac;var sc=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e)).Polygon=r,i.type=2924175390,i}return P(n)}(Nu);e.IfcPolyLoop=sc;var oc=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r,i)).BaseSurface=r,o.AgreementFlag=i,o.Position=a,o.PolygonalBoundary=s,o.type=2775532180,o}return P(n)}(yu);e.IfcPolygonalBoundedHalfSpace=oc;var lc=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e)).Name=r,i.type=3727388367,i}return P(n)}(co);e.IfcPreDefinedItem=lc;var uc=function(e){I(n,e);var t=m(n);function n(e){var r;return b(this,n),(r=t.call(this,e)).type=3778827333,r}return P(n)}(yo);e.IfcPreDefinedProperties=uc;var cc=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e,r)).Name=r,i.type=1775413392,i}return P(n)}(lc);e.IfcPreDefinedTextFont=cc;var fc=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e,r,i,a)).Name=r,s.Description=i,s.Representations=a,s.type=673634403,s}return P(n)}(vo);e.IfcProductDefinitionShape=fc;var pc=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r,i,a)).Name=r,o.Description=i,o.Properties=a,o.ProfileDefinition=s,o.type=2802850158,o}return P(n)}(au);e.IfcProfileProperties=pc;var Ac=function(e){I(n,e);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).Name=r,a.Specification=i,a.type=2598011224,a}return P(n)}(yo);e.IfcProperty=Ac;var dc=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r,i,a,s)).GlobalId=r,o.OwnerHistory=i,o.Name=a,o.Description=s,o.type=1680319473,o}return P(n)}(Lo);e.IfcPropertyDefinition=dc;var vc=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e,r,i)).Name=r,l.Description=i,l.DependingProperty=a,l.DependantProperty=s,l.Expression=o,l.type=148025276,l}return P(n)}(No);e.IfcPropertyDependencyRelationship=vc;var hc=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r,i,a,s)).GlobalId=r,o.OwnerHistory=i,o.Name=a,o.Description=s,o.type=3357820518,o}return P(n)}(dc);e.IfcPropertySetDefinition=hc;var Ic=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r,i,a,s)).GlobalId=r,o.OwnerHistory=i,o.Name=a,o.Description=s,o.type=1482703590,o}return P(n)}(dc);e.IfcPropertyTemplateDefinition=Ic;var yc=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r,i,a,s)).GlobalId=r,o.OwnerHistory=i,o.Name=a,o.Description=s,o.type=2090586900,o}return P(n)}(hc);e.IfcQuantitySet=yc;var mc=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e,r,i,a)).ProfileType=r,l.ProfileName=i,l.Position=a,l.XDim=s,l.YDim=o,l.type=3615266464,l}return P(n)}(qu);e.IfcRectangleProfileDef=mc;var wc=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c)).Name=r,A.Description=i,A.StartTime=a,A.EndTime=s,A.TimeSeriesDataType=o,A.DataOrigin=l,A.UserDefinedDataOrigin=u,A.Unit=c,A.TimeStep=f,A.Values=p,A.type=3413951693,A}return P(n)}(ml);e.IfcRegularTimeSeries=wc;var gc=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e)).TotalCrossSectionArea=r,u.SteelGrade=i,u.BarSurface=a,u.EffectiveDepth=s,u.NominalBarDiameter=o,u.BarCount=l,u.type=1580146022,u}return P(n)}(uc);e.IfcReinforcementBarProperties=gc;var Ec=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r,i,a,s)).GlobalId=r,o.OwnerHistory=i,o.Name=a,o.Description=s,o.type=478536968,o}return P(n)}(Lo);e.IfcRelationship=Ec;var Tc=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r,i)).Name=r,o.Description=i,o.RelatedResourceObjects=a,o.RelatingApproval=s,o.type=2943643501,o}return P(n)}(No);e.IfcResourceApprovalRelationship=Tc;var bc=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r,i)).Name=r,o.Description=i,o.RelatingConstraint=a,o.RelatedResourceObjects=s,o.type=1608871552,o}return P(n)}(No);e.IfcResourceConstraintRelationship=bc;var Dc=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A,d,v,h,I,y,m,w){var g;return b(this,n),(g=t.call(this,e,r,i,a)).Name=r,g.DataOrigin=i,g.UserDefinedDataOrigin=a,g.ScheduleWork=s,g.ScheduleUsage=o,g.ScheduleStart=l,g.ScheduleFinish=u,g.ScheduleContour=c,g.LevelingDelay=f,g.IsOverAllocated=p,g.StatusTime=A,g.ActualWork=d,g.ActualUsage=v,g.ActualStart=h,g.ActualFinish=I,g.RemainingWork=y,g.RemainingUsage=m,g.Completion=w,g.type=1042787934,g}return P(n)}(Mo);e.IfcResourceTime=Dc;var Pc=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r,i,a,s,o)).ProfileType=r,u.ProfileName=i,u.Position=a,u.XDim=s,u.YDim=o,u.RoundingRadius=l,u.type=2778083089,u}return P(n)}(mc);e.IfcRoundedRectangleProfileDef=Pc;var Rc=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e)).SectionType=r,s.StartProfile=i,s.EndProfile=a,s.type=2042790032,s}return P(n)}(uc);e.IfcSectionProperties=Rc;var Cc=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e)).LongitudinalStartPosition=r,u.LongitudinalEndPosition=i,u.TransversePosition=a,u.ReinforcementRole=s,u.SectionDefinition=o,u.CrossSectionReinforcementDefinitions=l,u.type=4165799628,u}return P(n)}(uc);e.IfcSectionReinforcementProperties=Cc;var _c=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e)).SpineCurve=r,s.CrossSections=i,s.CrossSectionPositions=a,s.type=1509187699,s}return P(n)}(du);e.IfcSectionedSpine=_c;var Bc=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e)).Transition=r,i.type=823603102,i}return P(n)}(du);e.IfcSegment=Bc;var Oc=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e)).SbsmBoundary=r,i.type=4124623270,i}return P(n)}(du);e.IfcShellBasedSurfaceModel=Oc;var Sc=function(e){I(n,e);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e,r,i)).Name=r,a.Specification=i,a.type=3692461612,a}return P(n)}(Ac);e.IfcSimpleProperty=Sc;var Nc=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r)).Name=r,o.SlippageX=i,o.SlippageY=a,o.SlippageZ=s,o.type=2609359061,o}return P(n)}(Go);e.IfcSlippageConnectionCondition=Nc;var Lc=function(e){I(n,e);var t=m(n);function n(e){var r;return b(this,n),(r=t.call(this,e)).type=723233188,r}return P(n)}(du);e.IfcSolidModel=Lc;var xc=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u){var c;return b(this,n),(c=t.call(this,e,r)).Name=r,c.LinearForceX=i,c.LinearForceY=a,c.LinearForceZ=s,c.LinearMomentX=o,c.LinearMomentY=l,c.LinearMomentZ=u,c.type=1595516126,c}return P(n)}(Qo);e.IfcStructuralLoadLinearForce=xc;var Mc=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r)).Name=r,o.PlanarForceX=i,o.PlanarForceY=a,o.PlanarForceZ=s,o.type=2668620305,o}return P(n)}(Qo);e.IfcStructuralLoadPlanarForce=Mc;var Fc=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u){var c;return b(this,n),(c=t.call(this,e,r)).Name=r,c.DisplacementX=i,c.DisplacementY=a,c.DisplacementZ=s,c.RotationalDisplacementRX=o,c.RotationalDisplacementRY=l,c.RotationalDisplacementRZ=u,c.type=2473145415,c}return P(n)}(Qo);e.IfcStructuralLoadSingleDisplacement=Fc;var Hc=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o,l,u)).Name=r,f.DisplacementX=i,f.DisplacementY=a,f.DisplacementZ=s,f.RotationalDisplacementRX=o,f.RotationalDisplacementRY=l,f.RotationalDisplacementRZ=u,f.Distortion=c,f.type=1973038258,f}return P(n)}(Fc);e.IfcStructuralLoadSingleDisplacementDistortion=Hc;var Uc=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u){var c;return b(this,n),(c=t.call(this,e,r)).Name=r,c.ForceX=i,c.ForceY=a,c.ForceZ=s,c.MomentX=o,c.MomentY=l,c.MomentZ=u,c.type=1597423693,c}return P(n)}(Qo);e.IfcStructuralLoadSingleForce=Uc;var Gc=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o,l,u)).Name=r,f.ForceX=i,f.ForceY=a,f.ForceZ=s,f.MomentX=o,f.MomentY=l,f.MomentZ=u,f.WarpingMoment=c,f.type=1190533807,f}return P(n)}(Uc);e.IfcStructuralLoadSingleForceWarping=Gc;var kc=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e,r,i)).EdgeStart=r,s.EdgeEnd=i,s.ParentEdge=a,s.type=2233826070,s}return P(n)}(nu);e.IfcSubedge=kc;var jc=function(e){I(n,e);var t=m(n);function n(e){var r;return b(this,n),(r=t.call(this,e)).type=2513912981,r}return P(n)}(du);e.IfcSurface=jc;var Vc=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i)).SurfaceColour=r,p.Transparency=i,p.DiffuseColour=a,p.TransmissionColour=s,p.DiffuseTransmissionColour=o,p.ReflectionColour=l,p.SpecularColour=u,p.SpecularHighlight=c,p.ReflectanceMethod=f,p.type=1878645084,p}return P(n)}($o);e.IfcSurfaceStyleRendering=Vc;var Qc=function(e){I(n,e);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).SweptArea=r,a.Position=i,a.type=2247615214,a}return P(n)}(Lc);e.IfcSweptAreaSolid=Qc;var Wc=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e)).Directrix=r,l.Radius=i,l.InnerRadius=a,l.StartParam=s,l.EndParam=o,l.type=1260650574,l}return P(n)}(Lc);e.IfcSweptDiskSolid=Wc;var zc=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r,i,a,s,o)).Directrix=r,u.Radius=i,u.InnerRadius=a,u.StartParam=s,u.EndParam=o,u.FilletRadius=l,u.type=1096409881,u}return P(n)}(Wc);e.IfcSweptDiskSolidPolygonal=zc;var Kc=function(e){I(n,e);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).SweptCurve=r,a.Position=i,a.type=230924584,a}return P(n)}(jc);e.IfcSweptSurface=Kc;var Yc=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A,d){var v;return b(this,n),(v=t.call(this,e,r,i,a)).ProfileType=r,v.ProfileName=i,v.Position=a,v.Depth=s,v.FlangeWidth=o,v.WebThickness=l,v.FlangeThickness=u,v.FilletRadius=c,v.FlangeEdgeRadius=f,v.WebEdgeRadius=p,v.WebSlope=A,v.FlangeSlope=d,v.type=3071757647,v}return P(n)}(qu);e.IfcTShapeProfileDef=Yc;var Xc=function(e){I(n,e);var t=m(n);function n(e){var r;return b(this,n),(r=t.call(this,e)).type=901063453,r}return P(n)}(du);e.IfcTessellatedItem=Xc;var qc=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e)).Literal=r,s.Placement=i,s.Path=a,s.type=4282788508,s}return P(n)}(du);e.IfcTextLiteral=qc;var Jc=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e,r,i,a)).Literal=r,l.Placement=i,l.Path=a,l.Extent=s,l.BoxAlignment=o,l.type=3124975700,l}return P(n)}(qc);e.IfcTextLiteralWithExtent=Jc;var Zc=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r)).Name=r,u.FontFamily=i,u.FontStyle=a,u.FontVariant=s,u.FontWeight=o,u.FontSize=l,u.type=1983826977,u}return P(n)}(cc);e.IfcTextStyleFontModel=Zc;var $c=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u){var c;return b(this,n),(c=t.call(this,e,r,i,a)).ProfileType=r,c.ProfileName=i,c.Position=a,c.BottomXDim=s,c.TopXDim=o,c.YDim=l,c.TopXOffset=u,c.type=2715220739,c}return P(n)}(qu);e.IfcTrapeziumProfileDef=$c;var ef=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r,i,a,s)).GlobalId=r,u.OwnerHistory=i,u.Name=a,u.Description=s,u.ApplicableOccurrence=o,u.HasPropertySets=l,u.type=1628702193,u}return P(n)}(Wu);e.IfcTypeObject=ef;var tf=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ApplicableOccurrence=o,p.HasPropertySets=l,p.Identification=u,p.LongDescription=c,p.ProcessType=f,p.type=3736923433,p}return P(n)}(ef);e.IfcTypeProcess=tf;var nf=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o,l)).GlobalId=r,f.OwnerHistory=i,f.Name=a,f.Description=s,f.ApplicableOccurrence=o,f.HasPropertySets=l,f.RepresentationMaps=u,f.Tag=c,f.type=2347495698,f}return P(n)}(ef);e.IfcTypeProduct=nf;var rf=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ApplicableOccurrence=o,p.HasPropertySets=l,p.Identification=u,p.LongDescription=c,p.ResourceType=f,p.type=3698973494,p}return P(n)}(ef);e.IfcTypeResource=rf;var af=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a)).ProfileType=r,A.ProfileName=i,A.Position=a,A.Depth=s,A.FlangeWidth=o,A.WebThickness=l,A.FlangeThickness=u,A.FilletRadius=c,A.EdgeRadius=f,A.FlangeSlope=p,A.type=427810014,A}return P(n)}(qu);e.IfcUShapeProfileDef=af;var sf=function(e){I(n,e);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).Orientation=r,a.Magnitude=i,a.type=1417489154,a}return P(n)}(du);e.IfcVector=sf;var of=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e)).LoopVertex=r,i.type=2759199220,i}return P(n)}(Nu);e.IfcVertexLoop=of;var lf=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a)).ProfileType=r,p.ProfileName=i,p.Position=a,p.Depth=s,p.FlangeWidth=o,p.WebThickness=l,p.FlangeThickness=u,p.FilletRadius=c,p.EdgeRadius=f,p.type=2543172580,p}return P(n)}(qu);e.IfcZShapeProfileDef=lf;var uf=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e,r,i,a)).Bounds=r,s.FaceSurface=i,s.SameSense=a,s.type=3406155212,s}return P(n)}(cu);e.IfcAdvancedFace=uf;var cf=function(e){I(n,e);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).OuterBoundary=r,a.InnerBoundaries=i,a.type=669184980,a}return P(n)}(du);e.IfcAnnotationFillArea=cf;var ff=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A,d,v,h,I){var y;return b(this,n),(y=t.call(this,e,r,i,a)).ProfileType=r,y.ProfileName=i,y.Position=a,y.BottomFlangeWidth=s,y.OverallDepth=o,y.WebThickness=l,y.BottomFlangeThickness=u,y.BottomFlangeFilletRadius=c,y.TopFlangeWidth=f,y.TopFlangeThickness=p,y.TopFlangeFilletRadius=A,y.BottomFlangeEdgeRadius=d,y.BottomFlangeSlope=v,y.TopFlangeEdgeRadius=h,y.TopFlangeSlope=I,y.type=3207858831,y}return P(n)}(qu);e.IfcAsymmetricIShapeProfileDef=ff;var pf=function(e){I(n,e);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e,r)).Location=r,a.Axis=i,a.type=4261334040,a}return P(n)}(ec);e.IfcAxis1Placement=pf;var Af=function(e){I(n,e);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e,r)).Location=r,a.RefDirection=i,a.type=3125803723,a}return P(n)}(ec);e.IfcAxis2Placement2D=Af;var df=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e,r)).Location=r,s.Axis=i,s.RefDirection=a,s.type=2740243338,s}return P(n)}(ec);e.IfcAxis2Placement3D=df;var vf=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e,r)).Location=r,s.Axis=i,s.RefDirection=a,s.type=3425423356,s}return P(n)}(ec);e.IfcAxis2PlacementLinear=vf;var hf=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e)).Operator=r,s.FirstOperand=i,s.SecondOperand=a,s.type=2736907675,s}return P(n)}(du);e.IfcBooleanResult=hf;var If=function(e){I(n,e);var t=m(n);function n(e){var r;return b(this,n),(r=t.call(this,e)).type=4182860854,r}return P(n)}(jc);e.IfcBoundedSurface=If;var yf=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e)).Corner=r,o.XDim=i,o.YDim=a,o.ZDim=s,o.type=2581212453,o}return P(n)}(du);e.IfcBoundingBox=yf;var mf=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e,r,i)).BaseSurface=r,s.AgreementFlag=i,s.Enclosure=a,s.type=2713105998,s}return P(n)}(yu);e.IfcBoxedHalfSpace=mf;var wf=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a)).ProfileType=r,f.ProfileName=i,f.Position=a,f.Depth=s,f.Width=o,f.WallThickness=l,f.Girth=u,f.InternalFilletRadius=c,f.type=2898889636,f}return P(n)}(qu);e.IfcCShapeProfileDef=wf;var gf=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e)).Coordinates=r,i.type=1123145078,i}return P(n)}(nc);e.IfcCartesianPoint=gf;var Ef=function(e){I(n,e);var t=m(n);function n(e){var r;return b(this,n),(r=t.call(this,e)).type=574549367,r}return P(n)}(du);e.IfcCartesianPointList=Ef;var Tf=function(e){I(n,e);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).CoordList=r,a.TagList=i,a.type=1675464909,a}return P(n)}(Ef);e.IfcCartesianPointList2D=Tf;var bf=function(e){I(n,e);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).CoordList=r,a.TagList=i,a.type=2059837836,a}return P(n)}(Ef);e.IfcCartesianPointList3D=bf;var Df=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e)).Axis1=r,o.Axis2=i,o.LocalOrigin=a,o.Scale=s,o.type=59481748,o}return P(n)}(du);e.IfcCartesianTransformationOperator=Df;var Pf=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r,i,a,s)).Axis1=r,o.Axis2=i,o.LocalOrigin=a,o.Scale=s,o.type=3749851601,o}return P(n)}(Df);e.IfcCartesianTransformationOperator2D=Pf;var Rf=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e,r,i,a,s)).Axis1=r,l.Axis2=i,l.LocalOrigin=a,l.Scale=s,l.Scale2=o,l.type=3486308946,l}return P(n)}(Pf);e.IfcCartesianTransformationOperator2DnonUniform=Rf;var Cf=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e,r,i,a,s)).Axis1=r,l.Axis2=i,l.LocalOrigin=a,l.Scale=s,l.Axis3=o,l.type=3331915920,l}return P(n)}(Df);e.IfcCartesianTransformationOperator3D=Cf;var _f=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u){var c;return b(this,n),(c=t.call(this,e,r,i,a,s,o)).Axis1=r,c.Axis2=i,c.LocalOrigin=a,c.Scale=s,c.Axis3=o,c.Scale2=l,c.Scale3=u,c.type=1416205885,c}return P(n)}(Cf);e.IfcCartesianTransformationOperator3DnonUniform=_f;var Bf=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r,i,a)).ProfileType=r,o.ProfileName=i,o.Position=a,o.Radius=s,o.type=1383045692,o}return P(n)}(qu);e.IfcCircleProfileDef=Bf;var Of=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e,r)).CfsFaces=r,i.type=2205249479,i}return P(n)}(kl);e.IfcClosedShell=Of;var Sf=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r)).Name=r,o.Red=i,o.Green=a,o.Blue=s,o.type=776857604,o}return P(n)}(Ul);e.IfcColourRgb=Sf;var Nf=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r,i)).Name=r,o.Specification=i,o.UsageName=a,o.HasProperties=s,o.type=2542286263,o}return P(n)}(Ac);e.IfcComplexProperty=Nf;var Lf=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e,r)).Transition=r,s.SameSense=i,s.ParentCurve=a,s.type=2485617015,s}return P(n)}(Bc);e.IfcCompositeCurveSegment=Lf;var xf=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A){var d;return b(this,n),(d=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,d.OwnerHistory=i,d.Name=a,d.Description=s,d.ApplicableOccurrence=o,d.HasPropertySets=l,d.Identification=u,d.LongDescription=c,d.ResourceType=f,d.BaseCosts=p,d.BaseQuantity=A,d.type=2574617495,d}return P(n)}(rf);e.IfcConstructionResourceType=xf;var Mf=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.LongName=l,p.Phase=u,p.RepresentationContexts=c,p.UnitsInContext=f,p.type=3419103109,p}return P(n)}(Wu);e.IfcContext=Mf;var Ff=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A,d){var v;return b(this,n),(v=t.call(this,e,r,i,a,s,o,l,u,c,f,p,A)).GlobalId=r,v.OwnerHistory=i,v.Name=a,v.Description=s,v.ApplicableOccurrence=o,v.HasPropertySets=l,v.Identification=u,v.LongDescription=c,v.ResourceType=f,v.BaseCosts=p,v.BaseQuantity=A,v.PredefinedType=d,v.type=1815067380,v}return P(n)}(xf);e.IfcCrewResourceType=Ff;var Hf=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e)).Position=r,i.type=2506170314,i}return P(n)}(du);e.IfcCsgPrimitive3D=Hf;var Uf=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e)).TreeRootExpression=r,i.type=2147822146,i}return P(n)}(Lc);e.IfcCsgSolid=Uf;var Gf=function(e){I(n,e);var t=m(n);function n(e){var r;return b(this,n),(r=t.call(this,e)).type=2601014836,r}return P(n)}(du);e.IfcCurve=Gf;var kf=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e)).BasisSurface=r,s.OuterBoundary=i,s.InnerBoundaries=a,s.type=2827736869,s}return P(n)}(If);e.IfcCurveBoundedPlane=kf;var jf=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e)).BasisSurface=r,s.Boundaries=i,s.ImplicitOuter=a,s.type=2629017746,s}return P(n)}(If);e.IfcCurveBoundedSurface=jf;var Vf=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e,r)).Transition=r,l.Placement=i,l.SegmentStart=a,l.SegmentLength=s,l.ParentCurve=o,l.type=4212018352,l}return P(n)}(Bc);e.IfcCurveSegment=Vf;var Qf=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e)).DirectionRatios=r,i.type=32440307,i}return P(n)}(du);e.IfcDirection=Qf;var Wf=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e,r,i)).SweptArea=r,l.Position=i,l.Directrix=a,l.StartParam=s,l.EndParam=o,l.type=593015953,l}return P(n)}(Qc);e.IfcDirectrixCurveSweptAreaSolid=Wf;var zf=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e)).EdgeList=r,i.type=1472233963,i}return P(n)}(Nu);e.IfcEdgeLoop=zf;var Kf=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r,i,a,s)).GlobalId=r,u.OwnerHistory=i,u.Name=a,u.Description=s,u.MethodOfMeasurement=o,u.Quantities=l,u.type=1883228015,u}return P(n)}(yc);e.IfcElementQuantity=Kf;var Yf=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ApplicableOccurrence=o,p.HasPropertySets=l,p.RepresentationMaps=u,p.Tag=c,p.ElementType=f,p.type=339256511,p}return P(n)}(nf);e.IfcElementType=Yf;var Xf=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e)).Position=r,i.type=2777663545,i}return P(n)}(jc);e.IfcElementarySurface=Xf;var qf=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e,r,i,a)).ProfileType=r,l.ProfileName=i,l.Position=a,l.SemiAxis1=s,l.SemiAxis2=o,l.type=2835456948,l}return P(n)}(qu);e.IfcEllipseProfileDef=qf;var Jf=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A,d){var v;return b(this,n),(v=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,v.OwnerHistory=i,v.Name=a,v.Description=s,v.ApplicableOccurrence=o,v.HasPropertySets=l,v.Identification=u,v.LongDescription=c,v.ProcessType=f,v.PredefinedType=p,v.EventTriggerType=A,v.UserDefinedEventTriggerType=d,v.type=4024345920,v}return P(n)}(tf);e.IfcEventType=Jf;var Zf=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r,i)).SweptArea=r,o.Position=i,o.ExtrudedDirection=a,o.Depth=s,o.type=477187591,o}return P(n)}(Qc);e.IfcExtrudedAreaSolid=Zf;var $f=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e,r,i,a,s)).SweptArea=r,l.Position=i,l.ExtrudedDirection=a,l.Depth=s,l.EndSweptArea=o,l.type=2804161546,l}return P(n)}(Zf);e.IfcExtrudedAreaSolidTapered=$f;var ep=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e)).FbsmFaces=r,i.type=2047409740,i}return P(n)}(du);e.IfcFaceBasedSurfaceModel=ep;var tp=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e)).HatchLineAppearance=r,l.StartOfNextHatchLine=i,l.PointOfReferenceHatchLine=a,l.PatternStart=s,l.HatchLineAngle=o,l.type=374418227,l}return P(n)}(du);e.IfcFillAreaStyleHatching=tp;var np=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e)).TilingPattern=r,s.Tiles=i,s.TilingScale=a,s.type=315944413,s}return P(n)}(du);e.IfcFillAreaStyleTiles=np;var rp=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r,i,a,s,o)).SweptArea=r,u.Position=i,u.Directrix=a,u.StartParam=s,u.EndParam=o,u.FixedReference=l,u.type=2652556860,u}return P(n)}(Wf);e.IfcFixedReferenceSweptAreaSolid=rp;var ip=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ApplicableOccurrence=o,p.HasPropertySets=l,p.RepresentationMaps=u,p.Tag=c,p.ElementType=f,p.type=4238390223,p}return P(n)}(Yf);e.IfcFurnishingElementType=ip;var ap=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A){var d;return b(this,n),(d=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,d.OwnerHistory=i,d.Name=a,d.Description=s,d.ApplicableOccurrence=o,d.HasPropertySets=l,d.RepresentationMaps=u,d.Tag=c,d.ElementType=f,d.AssemblyPlace=p,d.PredefinedType=A,d.type=1268542332,d}return P(n)}(ip);e.IfcFurnitureType=ap;var sp=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=4095422895,A}return P(n)}(Yf);e.IfcGeographicElementType=sp;var op=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e,r)).Elements=r,i.type=987898635,i}return P(n)}(hu);e.IfcGeometricCurveSet=op;var lp=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a)).ProfileType=r,A.ProfileName=i,A.Position=a,A.OverallWidth=s,A.OverallDepth=o,A.WebThickness=l,A.FlangeThickness=u,A.FilletRadius=c,A.FlangeEdgeRadius=f,A.FlangeSlope=p,A.type=1484403080,A}return P(n)}(qu);e.IfcIShapeProfileDef=lp;var up=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e)).CoordIndex=r,i.type=178912537,i}return P(n)}(Xc);e.IfcIndexedPolygonalFace=up;var cp=function(e){I(n,e);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e,r)).CoordIndex=r,a.InnerCoordIndices=i,a.type=2294589976,a}return P(n)}(up);e.IfcIndexedPolygonalFaceWithVoids=cp;var fp=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r,i,a)).Maps=r,o.MappedTo=i,o.TexCoords=a,o.TexCoordIndices=s,o.type=3465909080,o}return P(n)}(gu);e.IfcIndexedPolygonalTextureMap=fp;var pp=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a)).ProfileType=r,p.ProfileName=i,p.Position=a,p.Depth=s,p.Width=o,p.Thickness=l,p.FilletRadius=u,p.EdgeRadius=c,p.LegSlope=f,p.type=572779678,p}return P(n)}(qu);e.IfcLShapeProfileDef=pp;var Ap=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A,d){var v;return b(this,n),(v=t.call(this,e,r,i,a,s,o,l,u,c,f,p,A)).GlobalId=r,v.OwnerHistory=i,v.Name=a,v.Description=s,v.ApplicableOccurrence=o,v.HasPropertySets=l,v.Identification=u,v.LongDescription=c,v.ResourceType=f,v.BaseCosts=p,v.BaseQuantity=A,v.PredefinedType=d,v.type=428585644,v}return P(n)}(xf);e.IfcLaborResourceType=Ap;var dp=function(e){I(n,e);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).Pnt=r,a.Dir=i,a.type=1281925730,a}return P(n)}(Gf);e.IfcLine=dp;var vp=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e)).Outer=r,i.type=1425443689,i}return P(n)}(Lc);e.IfcManifoldSolidBrep=vp;var hp=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e,r,i,a,s)).GlobalId=r,l.OwnerHistory=i,l.Name=a,l.Description=s,l.ObjectType=o,l.type=3888040117,l}return P(n)}(Wu);e.IfcObject=hp;var Ip=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e)).BasisCurve=r,i.type=590820931,i}return P(n)}(Gf);e.IfcOffsetCurve=Ip;var yp=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e,r)).BasisCurve=r,s.Distance=i,s.SelfIntersect=a,s.type=3388369263,s}return P(n)}(Ip);e.IfcOffsetCurve2D=yp;var mp=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r)).BasisCurve=r,o.Distance=i,o.SelfIntersect=a,o.RefDirection=s,o.type=3505215534,o}return P(n)}(Ip);e.IfcOffsetCurve3D=mp;var wp=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e,r)).BasisCurve=r,s.OffsetValues=i,s.Tag=a,s.type=2485787929,s}return P(n)}(Ip);e.IfcOffsetCurveByDistances=wp;var gp=function(e){I(n,e);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).BasisSurface=r,a.ReferenceCurve=i,a.type=1682466193,a}return P(n)}(Gf);e.IfcPcurve=gp;var Ep=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e,r,i)).SizeInX=r,s.SizeInY=i,s.Placement=a,s.type=603570806,s}return P(n)}(tc);e.IfcPlanarBox=Ep;var Tp=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e,r)).Position=r,i.type=220341763,i}return P(n)}(Xf);e.IfcPlane=Tp;var bp=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e)).Position=r,o.CoefficientsX=i,o.CoefficientsY=a,o.CoefficientsZ=s,o.type=3381221214,o}return P(n)}(Gf);e.IfcPolynomialCurve=bp;var Dp=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e,r)).Name=r,i.type=759155922,i}return P(n)}(lc);e.IfcPreDefinedColour=Dp;var Pp=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e,r)).Name=r,i.type=2559016684,i}return P(n)}(lc);e.IfcPreDefinedCurveFont=Pp;var Rp=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r,i,a,s)).GlobalId=r,o.OwnerHistory=i,o.Name=a,o.Description=s,o.type=3967405729,o}return P(n)}(hc);e.IfcPreDefinedPropertySet=Rp;var Cp=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.Identification=u,A.LongDescription=c,A.ProcessType=f,A.PredefinedType=p,A.type=569719735,A}return P(n)}(tf);e.IfcProcedureType=Cp;var _p=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u){var c;return b(this,n),(c=t.call(this,e,r,i,a,s,o)).GlobalId=r,c.OwnerHistory=i,c.Name=a,c.Description=s,c.ObjectType=o,c.Identification=l,c.LongDescription=u,c.type=2945172077,c}return P(n)}(hp);e.IfcProcess=_p;var Bp=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u){var c;return b(this,n),(c=t.call(this,e,r,i,a,s,o)).GlobalId=r,c.OwnerHistory=i,c.Name=a,c.Description=s,c.ObjectType=o,c.ObjectPlacement=l,c.Representation=u,c.type=4208778838,c}return P(n)}(hp);e.IfcProduct=Bp;var Op=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.LongName=l,p.Phase=u,p.RepresentationContexts=c,p.UnitsInContext=f,p.type=103090709,p}return P(n)}(Mf);e.IfcProject=Op;var Sp=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.LongName=l,p.Phase=u,p.RepresentationContexts=c,p.UnitsInContext=f,p.type=653396225,p}return P(n)}(Mf);e.IfcProjectLibrary=Sp;var Np=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r,i)).Name=r,u.Specification=i,u.UpperBoundValue=a,u.LowerBoundValue=s,u.Unit=o,u.SetPointValue=l,u.type=871118103,u}return P(n)}(Sc);e.IfcPropertyBoundedValue=Np;var Lp=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r,i)).Name=r,o.Specification=i,o.EnumerationValues=a,o.EnumerationReference=s,o.type=4166981789,o}return P(n)}(Sc);e.IfcPropertyEnumeratedValue=Lp;var xp=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r,i)).Name=r,o.Specification=i,o.ListValues=a,o.Unit=s,o.type=2752243245,o}return P(n)}(Sc);e.IfcPropertyListValue=xp;var Mp=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r,i)).Name=r,o.Specification=i,o.UsageName=a,o.PropertyReference=s,o.type=941946838,o}return P(n)}(Sc);e.IfcPropertyReferenceValue=Mp;var Fp=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e,r,i,a,s)).GlobalId=r,l.OwnerHistory=i,l.Name=a,l.Description=s,l.HasProperties=o,l.type=1451395588,l}return P(n)}(hc);e.IfcPropertySet=Fp;var Hp=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u){var c;return b(this,n),(c=t.call(this,e,r,i,a,s)).GlobalId=r,c.OwnerHistory=i,c.Name=a,c.Description=s,c.TemplateType=o,c.ApplicableEntity=l,c.HasPropertyTemplates=u,c.type=492091185,c}return P(n)}(Ic);e.IfcPropertySetTemplate=Hp;var Up=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r,i)).Name=r,o.Specification=i,o.NominalValue=a,o.Unit=s,o.type=3650150729,o}return P(n)}(Sc);e.IfcPropertySingleValue=Up;var Gp=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i)).Name=r,f.Specification=i,f.DefiningValues=a,f.DefinedValues=s,f.Expression=o,f.DefiningUnit=l,f.DefinedUnit=u,f.CurveInterpolation=c,f.type=110355661,f}return P(n)}(Sc);e.IfcPropertyTableValue=Gp;var kp=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r,i,a,s)).GlobalId=r,o.OwnerHistory=i,o.Name=a,o.Description=s,o.type=3521284610,o}return P(n)}(Ic);e.IfcPropertyTemplate=kp;var jp=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o)).ProfileType=r,f.ProfileName=i,f.Position=a,f.XDim=s,f.YDim=o,f.WallThickness=l,f.InnerFilletRadius=u,f.OuterFilletRadius=c,f.type=2770003689,f}return P(n)}(mc);e.IfcRectangleHollowProfileDef=jp;var Vp=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r)).Position=r,o.XLength=i,o.YLength=a,o.Height=s,o.type=2798486643,o}return P(n)}(Hf);e.IfcRectangularPyramid=Vp;var Qp=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u){var c;return b(this,n),(c=t.call(this,e)).BasisSurface=r,c.U1=i,c.V1=a,c.U2=s,c.V2=o,c.Usense=l,c.Vsense=u,c.type=3454111270,c}return P(n)}(If);e.IfcRectangularTrimmedSurface=Qp;var Wp=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r,i,a,s)).GlobalId=r,u.OwnerHistory=i,u.Name=a,u.Description=s,u.DefinitionType=o,u.ReinforcementSectionDefinitions=l,u.type=3765753017,u}return P(n)}(Rp);e.IfcReinforcementDefinitionProperties=Wp;var zp=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r,i,a,s)).GlobalId=r,u.OwnerHistory=i,u.Name=a,u.Description=s,u.RelatedObjects=o,u.RelatedObjectsType=l,u.type=3939117080,u}return P(n)}(Ec);e.IfcRelAssigns=zp;var Kp=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o,l)).GlobalId=r,f.OwnerHistory=i,f.Name=a,f.Description=s,f.RelatedObjects=o,f.RelatedObjectsType=l,f.RelatingActor=u,f.ActingRole=c,f.type=1683148259,f}return P(n)}(zp);e.IfcRelAssignsToActor=Kp;var Yp=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u){var c;return b(this,n),(c=t.call(this,e,r,i,a,s,o,l)).GlobalId=r,c.OwnerHistory=i,c.Name=a,c.Description=s,c.RelatedObjects=o,c.RelatedObjectsType=l,c.RelatingControl=u,c.type=2495723537,c}return P(n)}(zp);e.IfcRelAssignsToControl=Yp;var Xp=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u){var c;return b(this,n),(c=t.call(this,e,r,i,a,s,o,l)).GlobalId=r,c.OwnerHistory=i,c.Name=a,c.Description=s,c.RelatedObjects=o,c.RelatedObjectsType=l,c.RelatingGroup=u,c.type=1307041759,c}return P(n)}(zp);e.IfcRelAssignsToGroup=Xp;var qp=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o,l,u)).GlobalId=r,f.OwnerHistory=i,f.Name=a,f.Description=s,f.RelatedObjects=o,f.RelatedObjectsType=l,f.RelatingGroup=u,f.Factor=c,f.type=1027710054,f}return P(n)}(Xp);e.IfcRelAssignsToGroupByFactor=qp;var Jp=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o,l)).GlobalId=r,f.OwnerHistory=i,f.Name=a,f.Description=s,f.RelatedObjects=o,f.RelatedObjectsType=l,f.RelatingProcess=u,f.QuantityInProcess=c,f.type=4278684876,f}return P(n)}(zp);e.IfcRelAssignsToProcess=Jp;var Zp=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u){var c;return b(this,n),(c=t.call(this,e,r,i,a,s,o,l)).GlobalId=r,c.OwnerHistory=i,c.Name=a,c.Description=s,c.RelatedObjects=o,c.RelatedObjectsType=l,c.RelatingProduct=u,c.type=2857406711,c}return P(n)}(zp);e.IfcRelAssignsToProduct=Zp;var $p=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u){var c;return b(this,n),(c=t.call(this,e,r,i,a,s,o,l)).GlobalId=r,c.OwnerHistory=i,c.Name=a,c.Description=s,c.RelatedObjects=o,c.RelatedObjectsType=l,c.RelatingResource=u,c.type=205026976,c}return P(n)}(zp);e.IfcRelAssignsToResource=$p;var eA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e,r,i,a,s)).GlobalId=r,l.OwnerHistory=i,l.Name=a,l.Description=s,l.RelatedObjects=o,l.type=1865459582,l}return P(n)}(Ec);e.IfcRelAssociates=eA;var tA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r,i,a,s,o)).GlobalId=r,u.OwnerHistory=i,u.Name=a,u.Description=s,u.RelatedObjects=o,u.RelatingApproval=l,u.type=4095574036,u}return P(n)}(eA);e.IfcRelAssociatesApproval=tA;var nA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r,i,a,s,o)).GlobalId=r,u.OwnerHistory=i,u.Name=a,u.Description=s,u.RelatedObjects=o,u.RelatingClassification=l,u.type=919958153,u}return P(n)}(eA);e.IfcRelAssociatesClassification=nA;var rA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u){var c;return b(this,n),(c=t.call(this,e,r,i,a,s,o)).GlobalId=r,c.OwnerHistory=i,c.Name=a,c.Description=s,c.RelatedObjects=o,c.Intent=l,c.RelatingConstraint=u,c.type=2728634034,c}return P(n)}(eA);e.IfcRelAssociatesConstraint=rA;var iA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r,i,a,s,o)).GlobalId=r,u.OwnerHistory=i,u.Name=a,u.Description=s,u.RelatedObjects=o,u.RelatingDocument=l,u.type=982818633,u}return P(n)}(eA);e.IfcRelAssociatesDocument=iA;var aA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r,i,a,s,o)).GlobalId=r,u.OwnerHistory=i,u.Name=a,u.Description=s,u.RelatedObjects=o,u.RelatingLibrary=l,u.type=3840914261,u}return P(n)}(eA);e.IfcRelAssociatesLibrary=aA;var sA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r,i,a,s,o)).GlobalId=r,u.OwnerHistory=i,u.Name=a,u.Description=s,u.RelatedObjects=o,u.RelatingMaterial=l,u.type=2655215786,u}return P(n)}(eA);e.IfcRelAssociatesMaterial=sA;var oA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r,i,a,s,o)).GlobalId=r,u.OwnerHistory=i,u.Name=a,u.Description=s,u.RelatedObjects=o,u.RelatingProfileDef=l,u.type=1033248425,u}return P(n)}(eA);e.IfcRelAssociatesProfileDef=oA;var lA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r,i,a,s)).GlobalId=r,o.OwnerHistory=i,o.Name=a,o.Description=s,o.type=826625072,o}return P(n)}(Ec);e.IfcRelConnects=lA;var uA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u){var c;return b(this,n),(c=t.call(this,e,r,i,a,s)).GlobalId=r,c.OwnerHistory=i,c.Name=a,c.Description=s,c.ConnectionGeometry=o,c.RelatingElement=l,c.RelatedElement=u,c.type=1204542856,c}return P(n)}(lA);e.IfcRelConnectsElements=uA;var cA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A){var d;return b(this,n),(d=t.call(this,e,r,i,a,s,o,l,u)).GlobalId=r,d.OwnerHistory=i,d.Name=a,d.Description=s,d.ConnectionGeometry=o,d.RelatingElement=l,d.RelatedElement=u,d.RelatingPriorities=c,d.RelatedPriorities=f,d.RelatedConnectionType=p,d.RelatingConnectionType=A,d.type=3945020480,d}return P(n)}(uA);e.IfcRelConnectsPathElements=cA;var fA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r,i,a,s)).GlobalId=r,u.OwnerHistory=i,u.Name=a,u.Description=s,u.RelatingPort=o,u.RelatedElement=l,u.type=4201705270,u}return P(n)}(lA);e.IfcRelConnectsPortToElement=fA;var pA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u){var c;return b(this,n),(c=t.call(this,e,r,i,a,s)).GlobalId=r,c.OwnerHistory=i,c.Name=a,c.Description=s,c.RelatingPort=o,c.RelatedPort=l,c.RealizingElement=u,c.type=3190031847,c}return P(n)}(lA);e.IfcRelConnectsPorts=pA;var AA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r,i,a,s)).GlobalId=r,u.OwnerHistory=i,u.Name=a,u.Description=s,u.RelatingElement=o,u.RelatedStructuralActivity=l,u.type=2127690289,u}return P(n)}(lA);e.IfcRelConnectsStructuralActivity=AA;var dA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.RelatingStructuralMember=o,A.RelatedStructuralConnection=l,A.AppliedCondition=u,A.AdditionalConditions=c,A.SupportedLength=f,A.ConditionCoordinateSystem=p,A.type=1638771189,A}return P(n)}(lA);e.IfcRelConnectsStructuralMember=dA;var vA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A){var d;return b(this,n),(d=t.call(this,e,r,i,a,s,o,l,u,c,f,p)).GlobalId=r,d.OwnerHistory=i,d.Name=a,d.Description=s,d.RelatingStructuralMember=o,d.RelatedStructuralConnection=l,d.AppliedCondition=u,d.AdditionalConditions=c,d.SupportedLength=f,d.ConditionCoordinateSystem=p,d.ConnectionConstraint=A,d.type=504942748,d}return P(n)}(dA);e.IfcRelConnectsWithEccentricity=vA;var hA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ConnectionGeometry=o,p.RelatingElement=l,p.RelatedElement=u,p.RealizingElements=c,p.ConnectionType=f,p.type=3678494232,p}return P(n)}(uA);e.IfcRelConnectsWithRealizingElements=hA;var IA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r,i,a,s)).GlobalId=r,u.OwnerHistory=i,u.Name=a,u.Description=s,u.RelatedElements=o,u.RelatingStructure=l,u.type=3242617779,u}return P(n)}(lA);e.IfcRelContainedInSpatialStructure=IA;var yA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r,i,a,s)).GlobalId=r,u.OwnerHistory=i,u.Name=a,u.Description=s,u.RelatingBuildingElement=o,u.RelatedCoverings=l,u.type=886880790,u}return P(n)}(lA);e.IfcRelCoversBldgElements=yA;var mA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r,i,a,s)).GlobalId=r,u.OwnerHistory=i,u.Name=a,u.Description=s,u.RelatingSpace=o,u.RelatedCoverings=l,u.type=2802773753,u}return P(n)}(lA);e.IfcRelCoversSpaces=mA;var wA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r,i,a,s)).GlobalId=r,u.OwnerHistory=i,u.Name=a,u.Description=s,u.RelatingContext=o,u.RelatedDefinitions=l,u.type=2565941209,u}return P(n)}(Ec);e.IfcRelDeclares=wA;var gA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r,i,a,s)).GlobalId=r,o.OwnerHistory=i,o.Name=a,o.Description=s,o.type=2551354335,o}return P(n)}(Ec);e.IfcRelDecomposes=gA;var EA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r,i,a,s)).GlobalId=r,o.OwnerHistory=i,o.Name=a,o.Description=s,o.type=693640335,o}return P(n)}(Ec);e.IfcRelDefines=EA;var TA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r,i,a,s)).GlobalId=r,u.OwnerHistory=i,u.Name=a,u.Description=s,u.RelatedObjects=o,u.RelatingObject=l,u.type=1462361463,u}return P(n)}(EA);e.IfcRelDefinesByObject=TA;var bA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r,i,a,s)).GlobalId=r,u.OwnerHistory=i,u.Name=a,u.Description=s,u.RelatedObjects=o,u.RelatingPropertyDefinition=l,u.type=4186316022,u}return P(n)}(EA);e.IfcRelDefinesByProperties=bA;var DA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r,i,a,s)).GlobalId=r,u.OwnerHistory=i,u.Name=a,u.Description=s,u.RelatedPropertySets=o,u.RelatingTemplate=l,u.type=307848117,u}return P(n)}(EA);e.IfcRelDefinesByTemplate=DA;var PA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r,i,a,s)).GlobalId=r,u.OwnerHistory=i,u.Name=a,u.Description=s,u.RelatedObjects=o,u.RelatingType=l,u.type=781010003,u}return P(n)}(EA);e.IfcRelDefinesByType=PA;var RA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r,i,a,s)).GlobalId=r,u.OwnerHistory=i,u.Name=a,u.Description=s,u.RelatingOpeningElement=o,u.RelatedBuildingElement=l,u.type=3940055652,u}return P(n)}(lA);e.IfcRelFillsElement=RA;var CA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r,i,a,s)).GlobalId=r,u.OwnerHistory=i,u.Name=a,u.Description=s,u.RelatedControlElements=o,u.RelatingFlowElement=l,u.type=279856033,u}return P(n)}(lA);e.IfcRelFlowControlElements=CA;var _A=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.RelatingElement=o,A.RelatedElement=l,A.InterferenceGeometry=u,A.InterferenceSpace=c,A.InterferenceType=f,A.ImpliedOrder=p,A.type=427948657,A}return P(n)}(lA);e.IfcRelInterferesElements=_A;var BA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r,i,a,s)).GlobalId=r,u.OwnerHistory=i,u.Name=a,u.Description=s,u.RelatingObject=o,u.RelatedObjects=l,u.type=3268803585,u}return P(n)}(gA);e.IfcRelNests=BA;var OA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r,i,a,s)).GlobalId=r,u.OwnerHistory=i,u.Name=a,u.Description=s,u.RelatingPositioningElement=o,u.RelatedProducts=l,u.type=1441486842,u}return P(n)}(lA);e.IfcRelPositions=OA;var SA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r,i,a,s)).GlobalId=r,u.OwnerHistory=i,u.Name=a,u.Description=s,u.RelatingElement=o,u.RelatedFeatureElement=l,u.type=750771296,u}return P(n)}(gA);e.IfcRelProjectsElement=SA;var NA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r,i,a,s)).GlobalId=r,u.OwnerHistory=i,u.Name=a,u.Description=s,u.RelatedElements=o,u.RelatingStructure=l,u.type=1245217292,u}return P(n)}(lA);e.IfcRelReferencedInSpatialStructure=NA;var LA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.RelatingProcess=o,p.RelatedProcess=l,p.TimeLag=u,p.SequenceType=c,p.UserDefinedSequenceType=f,p.type=4122056220,p}return P(n)}(lA);e.IfcRelSequence=LA;var xA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r,i,a,s)).GlobalId=r,u.OwnerHistory=i,u.Name=a,u.Description=s,u.RelatingSystem=o,u.RelatedBuildings=l,u.type=366585022,u}return P(n)}(lA);e.IfcRelServicesBuildings=xA;var MA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.RelatingSpace=o,p.RelatedBuildingElement=l,p.ConnectionGeometry=u,p.PhysicalOrVirtualBoundary=c,p.InternalOrExternalBoundary=f,p.type=3451746338,p}return P(n)}(lA);e.IfcRelSpaceBoundary=MA;var FA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.RelatingSpace=o,A.RelatedBuildingElement=l,A.ConnectionGeometry=u,A.PhysicalOrVirtualBoundary=c,A.InternalOrExternalBoundary=f,A.ParentBoundary=p,A.type=3523091289,A}return P(n)}(MA);e.IfcRelSpaceBoundary1stLevel=FA;var HA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A){var d;return b(this,n),(d=t.call(this,e,r,i,a,s,o,l,u,c,f,p)).GlobalId=r,d.OwnerHistory=i,d.Name=a,d.Description=s,d.RelatingSpace=o,d.RelatedBuildingElement=l,d.ConnectionGeometry=u,d.PhysicalOrVirtualBoundary=c,d.InternalOrExternalBoundary=f,d.ParentBoundary=p,d.CorrespondingBoundary=A,d.type=1521410863,d}return P(n)}(FA);e.IfcRelSpaceBoundary2ndLevel=HA;var UA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r,i,a,s)).GlobalId=r,u.OwnerHistory=i,u.Name=a,u.Description=s,u.RelatingBuildingElement=o,u.RelatedOpeningElement=l,u.type=1401173127,u}return P(n)}(gA);e.IfcRelVoidsElement=UA;var GA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r,i,a)).Transition=r,o.SameSense=i,o.ParentCurve=a,o.ParamLength=s,o.type=816062949,o}return P(n)}(Lf);e.IfcReparametrisedCompositeCurveSegment=GA;var kA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u){var c;return b(this,n),(c=t.call(this,e,r,i,a,s,o)).GlobalId=r,c.OwnerHistory=i,c.Name=a,c.Description=s,c.ObjectType=o,c.Identification=l,c.LongDescription=u,c.type=2914609552,c}return P(n)}(hp);e.IfcResource=kA;var jA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r,i)).SweptArea=r,o.Position=i,o.Axis=a,o.Angle=s,o.type=1856042241,o}return P(n)}(Qc);e.IfcRevolvedAreaSolid=jA;var VA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e,r,i,a,s)).SweptArea=r,l.Position=i,l.Axis=a,l.Angle=s,l.EndSweptArea=o,l.type=3243963512,l}return P(n)}(jA);e.IfcRevolvedAreaSolidTapered=VA;var QA=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e,r)).Position=r,s.Height=i,s.BottomRadius=a,s.type=4158566097,s}return P(n)}(Hf);e.IfcRightCircularCone=QA;var WA=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e,r)).Position=r,s.Height=i,s.Radius=a,s.type=3626867408,s}return P(n)}(Hf);e.IfcRightCircularCylinder=WA;var zA=function(e){I(n,e);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).Directrix=r,a.CrossSections=i,a.type=1862484736,a}return P(n)}(Lc);e.IfcSectionedSolid=zA;var KA=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e,r,i)).Directrix=r,s.CrossSections=i,s.CrossSectionPositions=a,s.type=1290935644,s}return P(n)}(zA);e.IfcSectionedSolidHorizontal=KA;var YA=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e)).Directrix=r,s.CrossSectionPositions=i,s.CrossSections=a,s.type=1356537516,s}return P(n)}(jc);e.IfcSectionedSurface=YA;var XA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A,d){var v;return b(this,n),(v=t.call(this,e,r,i,a,s)).GlobalId=r,v.OwnerHistory=i,v.Name=a,v.Description=s,v.TemplateType=o,v.PrimaryMeasureType=l,v.SecondaryMeasureType=u,v.Enumerators=c,v.PrimaryUnit=f,v.SecondaryUnit=p,v.Expression=A,v.AccessState=d,v.type=3663146110,v}return P(n)}(kp);e.IfcSimplePropertyTemplate=XA;var qA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o,l,u)).GlobalId=r,f.OwnerHistory=i,f.Name=a,f.Description=s,f.ObjectType=o,f.ObjectPlacement=l,f.Representation=u,f.LongName=c,f.type=1412071761,f}return P(n)}(Bp);e.IfcSpatialElement=qA;var JA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ApplicableOccurrence=o,p.HasPropertySets=l,p.RepresentationMaps=u,p.Tag=c,p.ElementType=f,p.type=710998568,p}return P(n)}(nf);e.IfcSpatialElementType=JA;var ZA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.LongName=c,p.CompositionType=f,p.type=2706606064,p}return P(n)}(qA);e.IfcSpatialStructureElement=ZA;var $A=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ApplicableOccurrence=o,p.HasPropertySets=l,p.RepresentationMaps=u,p.Tag=c,p.ElementType=f,p.type=3893378262,p}return P(n)}(JA);e.IfcSpatialStructureElementType=$A;var ed=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.LongName=c,p.PredefinedType=f,p.type=463610769,p}return P(n)}(qA);e.IfcSpatialZone=ed;var td=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A){var d;return b(this,n),(d=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,d.OwnerHistory=i,d.Name=a,d.Description=s,d.ApplicableOccurrence=o,d.HasPropertySets=l,d.RepresentationMaps=u,d.Tag=c,d.ElementType=f,d.PredefinedType=p,d.LongName=A,d.type=2481509218,d}return P(n)}(JA);e.IfcSpatialZoneType=td;var nd=function(e){I(n,e);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e,r)).Position=r,a.Radius=i,a.type=451544542,a}return P(n)}(Hf);e.IfcSphere=nd;var rd=function(e){I(n,e);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e,r)).Position=r,a.Radius=i,a.type=4015995234,a}return P(n)}(Xf);e.IfcSphericalSurface=rd;var id=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e)).Position=r,i.type=2735484536,i}return P(n)}(Gf);e.IfcSpiral=id;var ad=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.AppliedLoad=c,p.GlobalOrLocal=f,p.type=3544373492,p}return P(n)}(Bp);e.IfcStructuralActivity=ad;var sd=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u){var c;return b(this,n),(c=t.call(this,e,r,i,a,s,o,l,u)).GlobalId=r,c.OwnerHistory=i,c.Name=a,c.Description=s,c.ObjectType=o,c.ObjectPlacement=l,c.Representation=u,c.type=3136571912,c}return P(n)}(Bp);e.IfcStructuralItem=sd;var od=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u){var c;return b(this,n),(c=t.call(this,e,r,i,a,s,o,l,u)).GlobalId=r,c.OwnerHistory=i,c.Name=a,c.Description=s,c.ObjectType=o,c.ObjectPlacement=l,c.Representation=u,c.type=530289379,c}return P(n)}(sd);e.IfcStructuralMember=od;var ld=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.AppliedLoad=c,p.GlobalOrLocal=f,p.type=3689010777,p}return P(n)}(ad);e.IfcStructuralReaction=ld;var ud=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.PredefinedType=c,p.Thickness=f,p.type=3979015343,p}return P(n)}(od);e.IfcStructuralSurfaceMember=ud;var cd=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.PredefinedType=c,p.Thickness=f,p.type=2218152070,p}return P(n)}(ud);e.IfcStructuralSurfaceMemberVarying=cd;var fd=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ObjectType=o,A.ObjectPlacement=l,A.Representation=u,A.AppliedLoad=c,A.GlobalOrLocal=f,A.PredefinedType=p,A.type=603775116,A}return P(n)}(ld);e.IfcStructuralSurfaceReaction=fd;var pd=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A,d){var v;return b(this,n),(v=t.call(this,e,r,i,a,s,o,l,u,c,f,p,A)).GlobalId=r,v.OwnerHistory=i,v.Name=a,v.Description=s,v.ApplicableOccurrence=o,v.HasPropertySets=l,v.Identification=u,v.LongDescription=c,v.ResourceType=f,v.BaseCosts=p,v.BaseQuantity=A,v.PredefinedType=d,v.type=4095615324,v}return P(n)}(xf);e.IfcSubContractResourceType=pd;var Ad=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e)).Curve3D=r,s.AssociatedGeometry=i,s.MasterRepresentation=a,s.type=699246055,s}return P(n)}(Gf);e.IfcSurfaceCurve=Ad;var dd=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r,i,a,s,o)).SweptArea=r,u.Position=i,u.Directrix=a,u.StartParam=s,u.EndParam=o,u.ReferenceSurface=l,u.type=2028607225,u}return P(n)}(Wf);e.IfcSurfaceCurveSweptAreaSolid=dd;var vd=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r,i)).SweptCurve=r,o.Position=i,o.ExtrudedDirection=a,o.Depth=s,o.type=2809605785,o}return P(n)}(Kc);e.IfcSurfaceOfLinearExtrusion=vd;var hd=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e,r,i)).SweptCurve=r,s.Position=i,s.AxisPosition=a,s.type=4124788165,s}return P(n)}(Kc);e.IfcSurfaceOfRevolution=hd;var Id=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=1580310250,A}return P(n)}(ip);e.IfcSystemFurnitureElementType=Id;var yd=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A,d,v){var h;return b(this,n),(h=t.call(this,e,r,i,a,s,o,l,u)).GlobalId=r,h.OwnerHistory=i,h.Name=a,h.Description=s,h.ObjectType=o,h.Identification=l,h.LongDescription=u,h.Status=c,h.WorkMethod=f,h.IsMilestone=p,h.Priority=A,h.TaskTime=d,h.PredefinedType=v,h.type=3473067441,h}return P(n)}(_p);e.IfcTask=yd;var md=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A){var d;return b(this,n),(d=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,d.OwnerHistory=i,d.Name=a,d.Description=s,d.ApplicableOccurrence=o,d.HasPropertySets=l,d.Identification=u,d.LongDescription=c,d.ProcessType=f,d.PredefinedType=p,d.WorkMethod=A,d.type=3206491090,d}return P(n)}(tf);e.IfcTaskType=md;var wd=function(e){I(n,e);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).Coordinates=r,a.Closed=i,a.type=2387106220,a}return P(n)}(Xc);e.IfcTessellatedFaceSet=wd;var gd=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e,r)).Position=r,l.CubicTerm=i,l.QuadraticTerm=a,l.LinearTerm=s,l.ConstantTerm=o,l.type=782932809,l}return P(n)}(id);e.IfcThirdOrderPolynomialSpiral=gd;var Ed=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e,r)).Position=r,s.MajorRadius=i,s.MinorRadius=a,s.type=1935646853,s}return P(n)}(Xf);e.IfcToroidalSurface=Ed;var Td=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ApplicableOccurrence=o,p.HasPropertySets=l,p.RepresentationMaps=u,p.Tag=c,p.ElementType=f,p.type=3665877780,p}return P(n)}(Yf);e.IfcTransportationDeviceType=Td;var bd=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e,r,i)).Coordinates=r,l.Closed=i,l.Normals=a,l.CoordIndex=s,l.PnIndex=o,l.type=2916149573,l}return P(n)}(wd);e.IfcTriangulatedFaceSet=bd;var Dd=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r,i,a,s,o)).Coordinates=r,u.Closed=i,u.Normals=a,u.CoordIndex=s,u.PnIndex=o,u.Flags=l,u.type=1229763772,u}return P(n)}(bd);e.IfcTriangulatedIrregularNetwork=Dd;var Pd=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=3651464721,A}return P(n)}(Td);e.IfcVehicleType=Pd;var Rd=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A,d,v,h,I,y){var m;return b(this,n),(m=t.call(this,e,r,i,a,s)).GlobalId=r,m.OwnerHistory=i,m.Name=a,m.Description=s,m.LiningDepth=o,m.LiningThickness=l,m.TransomThickness=u,m.MullionThickness=c,m.FirstTransomOffset=f,m.SecondTransomOffset=p,m.FirstMullionOffset=A,m.SecondMullionOffset=d,m.ShapeAspectStyle=v,m.LiningOffset=h,m.LiningToPanelOffsetX=I,m.LiningToPanelOffsetY=y,m.type=336235671,m}return P(n)}(Rp);e.IfcWindowLiningProperties=Rd;var Cd=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.OperationType=o,p.PanelPosition=l,p.FrameDepth=u,p.FrameThickness=c,p.ShapeAspectStyle=f,p.type=512836454,p}return P(n)}(Rp);e.IfcWindowPanelProperties=Cd;var _d=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r,i,a,s,o)).GlobalId=r,u.OwnerHistory=i,u.Name=a,u.Description=s,u.ObjectType=o,u.TheActor=l,u.type=2296667514,u}return P(n)}(hp);e.IfcActor=_d;var Bd=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e,r)).Outer=r,i.type=1635779807,i}return P(n)}(vp);e.IfcAdvancedBrep=Bd;var Od=function(e){I(n,e);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e,r)).Outer=r,a.Voids=i,a.type=2603310189,a}return P(n)}(Bd);e.IfcAdvancedBrepWithVoids=Od;var Sd=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o,l,u)).GlobalId=r,f.OwnerHistory=i,f.Name=a,f.Description=s,f.ObjectType=o,f.ObjectPlacement=l,f.Representation=u,f.PredefinedType=c,f.type=1674181508,f}return P(n)}(Bp);e.IfcAnnotation=Sd;var Nd=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u){var c;return b(this,n),(c=t.call(this,e)).UDegree=r,c.VDegree=i,c.ControlPointsList=a,c.SurfaceForm=s,c.UClosed=o,c.VClosed=l,c.SelfIntersect=u,c.type=2887950389,c}return P(n)}(If);e.IfcBSplineSurface=Nd;var Ld=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A,d){var v;return b(this,n),(v=t.call(this,e,r,i,a,s,o,l,u)).UDegree=r,v.VDegree=i,v.ControlPointsList=a,v.SurfaceForm=s,v.UClosed=o,v.VClosed=l,v.SelfIntersect=u,v.UMultiplicities=c,v.VMultiplicities=f,v.UKnots=p,v.VKnots=A,v.KnotSpec=d,v.type=167062518,v}return P(n)}(Nd);e.IfcBSplineSurfaceWithKnots=Ld;var xd=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r)).Position=r,o.XLength=i,o.YLength=a,o.ZLength=s,o.type=1334484129,o}return P(n)}(Hf);e.IfcBlock=xd;var Md=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e,r,i,a)).Operator=r,s.FirstOperand=i,s.SecondOperand=a,s.type=3649129432,s}return P(n)}(hf);e.IfcBooleanClippingResult=Md;var Fd=function(e){I(n,e);var t=m(n);function n(e){var r;return b(this,n),(r=t.call(this,e)).type=1260505505,r}return P(n)}(Gf);e.IfcBoundedCurve=Fd;var Hd=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ObjectType=o,A.ObjectPlacement=l,A.Representation=u,A.LongName=c,A.CompositionType=f,A.Elevation=p,A.type=3124254112,A}return P(n)}(ZA);e.IfcBuildingStorey=Hd;var Ud=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ApplicableOccurrence=o,p.HasPropertySets=l,p.RepresentationMaps=u,p.Tag=c,p.ElementType=f,p.type=1626504194,p}return P(n)}(Yf);e.IfcBuiltElementType=Ud;var Gd=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=2197970202,A}return P(n)}(Ud);e.IfcChimneyType=Gd;var kd=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e,r,i,a,s)).ProfileType=r,l.ProfileName=i,l.Position=a,l.Radius=s,l.WallThickness=o,l.type=2937912522,l}return P(n)}(Bf);e.IfcCircleHollowProfileDef=kd;var jd=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ApplicableOccurrence=o,p.HasPropertySets=l,p.RepresentationMaps=u,p.Tag=c,p.ElementType=f,p.type=3893394355,p}return P(n)}(Yf);e.IfcCivilElementType=jd;var Vd=function(e){I(n,e);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e,r)).Position=r,a.ClothoidConstant=i,a.type=3497074424,a}return P(n)}(id);e.IfcClothoid=Vd;var Qd=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=300633059,A}return P(n)}(Ud);e.IfcColumnType=Qd;var Wd=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u){var c;return b(this,n),(c=t.call(this,e,r,i,a,s)).GlobalId=r,c.OwnerHistory=i,c.Name=a,c.Description=s,c.UsageName=o,c.TemplateType=l,c.HasPropertyTemplates=u,c.type=3875453745,c}return P(n)}(kp);e.IfcComplexPropertyTemplate=Wd;var zd=function(e){I(n,e);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).Segments=r,a.SelfIntersect=i,a.type=3732776249,a}return P(n)}(Fd);e.IfcCompositeCurve=zd;var Kd=function(e){I(n,e);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e,r,i)).Segments=r,a.SelfIntersect=i,a.type=15328376,a}return P(n)}(zd);e.IfcCompositeCurveOnSurface=Kd;var Yd=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e)).Position=r,i.type=2510884976,i}return P(n)}(Gf);e.IfcConic=Yd;var Xd=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A,d){var v;return b(this,n),(v=t.call(this,e,r,i,a,s,o,l,u,c,f,p,A)).GlobalId=r,v.OwnerHistory=i,v.Name=a,v.Description=s,v.ApplicableOccurrence=o,v.HasPropertySets=l,v.Identification=u,v.LongDescription=c,v.ResourceType=f,v.BaseCosts=p,v.BaseQuantity=A,v.PredefinedType=d,v.type=2185764099,v}return P(n)}(xf);e.IfcConstructionEquipmentResourceType=Xd;var qd=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A,d){var v;return b(this,n),(v=t.call(this,e,r,i,a,s,o,l,u,c,f,p,A)).GlobalId=r,v.OwnerHistory=i,v.Name=a,v.Description=s,v.ApplicableOccurrence=o,v.HasPropertySets=l,v.Identification=u,v.LongDescription=c,v.ResourceType=f,v.BaseCosts=p,v.BaseQuantity=A,v.PredefinedType=d,v.type=4105962743,v}return P(n)}(xf);e.IfcConstructionMaterialResourceType=qd;var Jd=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A,d){var v;return b(this,n),(v=t.call(this,e,r,i,a,s,o,l,u,c,f,p,A)).GlobalId=r,v.OwnerHistory=i,v.Name=a,v.Description=s,v.ApplicableOccurrence=o,v.HasPropertySets=l,v.Identification=u,v.LongDescription=c,v.ResourceType=f,v.BaseCosts=p,v.BaseQuantity=A,v.PredefinedType=d,v.type=1525564444,v}return P(n)}(xf);e.IfcConstructionProductResourceType=Jd;var Zd=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ObjectType=o,A.Identification=l,A.LongDescription=u,A.Usage=c,A.BaseCosts=f,A.BaseQuantity=p,A.type=2559216714,A}return P(n)}(kA);e.IfcConstructionResource=Zd;var $d=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r,i,a,s,o)).GlobalId=r,u.OwnerHistory=i,u.Name=a,u.Description=s,u.ObjectType=o,u.Identification=l,u.type=3293443760,u}return P(n)}(hp);e.IfcControl=$d;var ev=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e,r)).Position=r,s.CosineTerm=i,s.ConstantTerm=a,s.type=2000195564,s}return P(n)}(id);e.IfcCosineSpiral=ev;var tv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.Identification=l,p.PredefinedType=u,p.CostValues=c,p.CostQuantities=f,p.type=3895139033,p}return P(n)}($d);e.IfcCostItem=tv;var nv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ObjectType=o,A.Identification=l,A.PredefinedType=u,A.Status=c,A.SubmittedOn=f,A.UpdateDate=p,A.type=1419761937,A}return P(n)}($d);e.IfcCostSchedule=nv;var rv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=4189326743,A}return P(n)}(Ud);e.IfcCourseType=rv;var iv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=1916426348,A}return P(n)}(Ud);e.IfcCoveringType=iv;var av=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A){var d;return b(this,n),(d=t.call(this,e,r,i,a,s,o,l,u,c,f,p)).GlobalId=r,d.OwnerHistory=i,d.Name=a,d.Description=s,d.ObjectType=o,d.Identification=l,d.LongDescription=u,d.Usage=c,d.BaseCosts=f,d.BaseQuantity=p,d.PredefinedType=A,d.type=3295246426,d}return P(n)}(Zd);e.IfcCrewResource=av;var sv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=1457835157,A}return P(n)}(Ud);e.IfcCurtainWallType=sv;var ov=function(e){I(n,e);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e,r)).Position=r,a.Radius=i,a.type=1213902940,a}return P(n)}(Xf);e.IfcCylindricalSurface=ov;var lv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ApplicableOccurrence=o,p.HasPropertySets=l,p.RepresentationMaps=u,p.Tag=c,p.ElementType=f,p.type=1306400036,p}return P(n)}(Ud);e.IfcDeepFoundationType=lv;var uv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r,i,a,s,o,l)).SweptArea=r,u.Position=i,u.Directrix=a,u.StartParam=s,u.EndParam=o,u.FixedReference=l,u.type=4234616927,u}return P(n)}(rp);e.IfcDirectrixDerivedReferenceSweptAreaSolid=uv;var cv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ApplicableOccurrence=o,p.HasPropertySets=l,p.RepresentationMaps=u,p.Tag=c,p.ElementType=f,p.type=3256556792,p}return P(n)}(Yf);e.IfcDistributionElementType=cv;var fv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ApplicableOccurrence=o,p.HasPropertySets=l,p.RepresentationMaps=u,p.Tag=c,p.ElementType=f,p.type=3849074793,p}return P(n)}(cv);e.IfcDistributionFlowElementType=fv;var pv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A,d,v,h,I,y,m){var w;return b(this,n),(w=t.call(this,e,r,i,a,s)).GlobalId=r,w.OwnerHistory=i,w.Name=a,w.Description=s,w.LiningDepth=o,w.LiningThickness=l,w.ThresholdDepth=u,w.ThresholdThickness=c,w.TransomThickness=f,w.TransomOffset=p,w.LiningOffset=A,w.ThresholdOffset=d,w.CasingThickness=v,w.CasingDepth=h,w.ShapeAspectStyle=I,w.LiningToPanelOffsetX=y,w.LiningToPanelOffsetY=m,w.type=2963535650,w}return P(n)}(Rp);e.IfcDoorLiningProperties=pv;var Av=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.PanelDepth=o,p.PanelOperation=l,p.PanelWidth=u,p.PanelPosition=c,p.ShapeAspectStyle=f,p.type=1714330368,p}return P(n)}(Rp);e.IfcDoorPanelProperties=Av;var dv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A,d,v){var h;return b(this,n),(h=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,h.OwnerHistory=i,h.Name=a,h.Description=s,h.ApplicableOccurrence=o,h.HasPropertySets=l,h.RepresentationMaps=u,h.Tag=c,h.ElementType=f,h.PredefinedType=p,h.OperationType=A,h.ParameterTakesPrecedence=d,h.UserDefinedOperationType=v,h.type=2323601079,h}return P(n)}(Ud);e.IfcDoorType=dv;var vv=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e,r)).Name=r,i.type=445594917,i}return P(n)}(Dp);e.IfcDraughtingPreDefinedColour=vv;var hv=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e,r)).Name=r,i.type=4006246654,i}return P(n)}(Pp);e.IfcDraughtingPreDefinedCurveFont=hv;var Iv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o,l,u)).GlobalId=r,f.OwnerHistory=i,f.Name=a,f.Description=s,f.ObjectType=o,f.ObjectPlacement=l,f.Representation=u,f.Tag=c,f.type=1758889154,f}return P(n)}(Bp);e.IfcElement=Iv;var yv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ObjectType=o,A.ObjectPlacement=l,A.Representation=u,A.Tag=c,A.AssemblyPlace=f,A.PredefinedType=p,A.type=4123344466,A}return P(n)}(Iv);e.IfcElementAssembly=yv;var mv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=2397081782,A}return P(n)}(Yf);e.IfcElementAssemblyType=mv;var wv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,f.OwnerHistory=i,f.Name=a,f.Description=s,f.ObjectType=o,f.ObjectPlacement=l,f.Representation=u,f.Tag=c,f.type=1623761950,f}return P(n)}(Iv);e.IfcElementComponent=wv;var gv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ApplicableOccurrence=o,p.HasPropertySets=l,p.RepresentationMaps=u,p.Tag=c,p.ElementType=f,p.type=2590856083,p}return P(n)}(Yf);e.IfcElementComponentType=gv;var Ev=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e,r)).Position=r,s.SemiAxis1=i,s.SemiAxis2=a,s.type=1704287377,s}return P(n)}(Yd);e.IfcEllipse=Ev;var Tv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ApplicableOccurrence=o,p.HasPropertySets=l,p.RepresentationMaps=u,p.Tag=c,p.ElementType=f,p.type=2107101300,p}return P(n)}(fv);e.IfcEnergyConversionDeviceType=Tv;var bv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=132023988,A}return P(n)}(Tv);e.IfcEngineType=bv;var Dv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=3174744832,A}return P(n)}(Tv);e.IfcEvaporativeCoolerType=Dv;var Pv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=3390157468,A}return P(n)}(Tv);e.IfcEvaporatorType=Pv;var Rv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A){var d;return b(this,n),(d=t.call(this,e,r,i,a,s,o,l,u)).GlobalId=r,d.OwnerHistory=i,d.Name=a,d.Description=s,d.ObjectType=o,d.Identification=l,d.LongDescription=u,d.PredefinedType=c,d.EventTriggerType=f,d.UserDefinedEventTriggerType=p,d.EventOccurenceTime=A,d.type=4148101412,d}return P(n)}(_p);e.IfcEvent=Rv;var Cv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,f.OwnerHistory=i,f.Name=a,f.Description=s,f.ObjectType=o,f.ObjectPlacement=l,f.Representation=u,f.LongName=c,f.type=2853485674,f}return P(n)}(qA);e.IfcExternalSpatialStructureElement=Cv;var _v=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e,r)).Outer=r,i.type=807026263,i}return P(n)}(vp);e.IfcFacetedBrep=_v;var Bv=function(e){I(n,e);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e,r)).Outer=r,a.Voids=i,a.type=3737207727,a}return P(n)}(_v);e.IfcFacetedBrepWithVoids=Bv;var Ov=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.LongName=c,p.CompositionType=f,p.type=24185140,p}return P(n)}(ZA);e.IfcFacility=Ov;var Sv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ObjectType=o,A.ObjectPlacement=l,A.Representation=u,A.LongName=c,A.CompositionType=f,A.UsageType=p,A.type=1310830890,A}return P(n)}(ZA);e.IfcFacilityPart=Sv;var Nv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A){var d;return b(this,n),(d=t.call(this,e,r,i,a,s,o,l,u,c,f,p)).GlobalId=r,d.OwnerHistory=i,d.Name=a,d.Description=s,d.ObjectType=o,d.ObjectPlacement=l,d.Representation=u,d.LongName=c,d.CompositionType=f,d.UsageType=p,d.PredefinedType=A,d.type=4228831410,d}return P(n)}(Sv);e.IfcFacilityPartCommon=Nv;var Lv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=647756555,p}return P(n)}(wv);e.IfcFastener=Lv;var xv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=2489546625,A}return P(n)}(gv);e.IfcFastenerType=xv;var Mv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,f.OwnerHistory=i,f.Name=a,f.Description=s,f.ObjectType=o,f.ObjectPlacement=l,f.Representation=u,f.Tag=c,f.type=2827207264,f}return P(n)}(Iv);e.IfcFeatureElement=Mv;var Fv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,f.OwnerHistory=i,f.Name=a,f.Description=s,f.ObjectType=o,f.ObjectPlacement=l,f.Representation=u,f.Tag=c,f.type=2143335405,f}return P(n)}(Mv);e.IfcFeatureElementAddition=Fv;var Hv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,f.OwnerHistory=i,f.Name=a,f.Description=s,f.ObjectType=o,f.ObjectPlacement=l,f.Representation=u,f.Tag=c,f.type=1287392070,f}return P(n)}(Mv);e.IfcFeatureElementSubtraction=Hv;var Uv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ApplicableOccurrence=o,p.HasPropertySets=l,p.RepresentationMaps=u,p.Tag=c,p.ElementType=f,p.type=3907093117,p}return P(n)}(fv);e.IfcFlowControllerType=Uv;var Gv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ApplicableOccurrence=o,p.HasPropertySets=l,p.RepresentationMaps=u,p.Tag=c,p.ElementType=f,p.type=3198132628,p}return P(n)}(fv);e.IfcFlowFittingType=Gv;var kv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=3815607619,A}return P(n)}(Uv);e.IfcFlowMeterType=kv;var jv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ApplicableOccurrence=o,p.HasPropertySets=l,p.RepresentationMaps=u,p.Tag=c,p.ElementType=f,p.type=1482959167,p}return P(n)}(fv);e.IfcFlowMovingDeviceType=jv;var Vv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ApplicableOccurrence=o,p.HasPropertySets=l,p.RepresentationMaps=u,p.Tag=c,p.ElementType=f,p.type=1834744321,p}return P(n)}(fv);e.IfcFlowSegmentType=Vv;var Qv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ApplicableOccurrence=o,p.HasPropertySets=l,p.RepresentationMaps=u,p.Tag=c,p.ElementType=f,p.type=1339347760,p}return P(n)}(fv);e.IfcFlowStorageDeviceType=Qv;var Wv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ApplicableOccurrence=o,p.HasPropertySets=l,p.RepresentationMaps=u,p.Tag=c,p.ElementType=f,p.type=2297155007,p}return P(n)}(fv);e.IfcFlowTerminalType=Wv;var zv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ApplicableOccurrence=o,p.HasPropertySets=l,p.RepresentationMaps=u,p.Tag=c,p.ElementType=f,p.type=3009222698,p}return P(n)}(fv);e.IfcFlowTreatmentDeviceType=zv;var Kv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=1893162501,A}return P(n)}(Ud);e.IfcFootingType=Kv;var Yv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,f.OwnerHistory=i,f.Name=a,f.Description=s,f.ObjectType=o,f.ObjectPlacement=l,f.Representation=u,f.Tag=c,f.type=263784265,f}return P(n)}(Iv);e.IfcFurnishingElement=Yv;var Xv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=1509553395,p}return P(n)}(Yv);e.IfcFurniture=Xv;var qv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=3493046030,p}return P(n)}(Iv);e.IfcGeographicElement=qv;var Jv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,f.OwnerHistory=i,f.Name=a,f.Description=s,f.ObjectType=o,f.ObjectPlacement=l,f.Representation=u,f.Tag=c,f.type=4230923436,f}return P(n)}(Iv);e.IfcGeotechnicalElement=Jv;var Zv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=1594536857,p}return P(n)}(Jv);e.IfcGeotechnicalStratum=Zv;var $v=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r,i)).Segments=r,o.SelfIntersect=i,o.BaseCurve=a,o.EndPoint=s,o.type=2898700619,o}return P(n)}(zd);e.IfcGradientCurve=$v;var eh=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e,r,i,a,s,o)).GlobalId=r,l.OwnerHistory=i,l.Name=a,l.Description=s,l.ObjectType=o,l.type=2706460486,l}return P(n)}(hp);e.IfcGroup=eh;var th=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=1251058090,A}return P(n)}(Tv);e.IfcHeatExchangerType=th;var nh=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=1806887404,A}return P(n)}(Tv);e.IfcHumidifierType=nh;var rh=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=2568555532,p}return P(n)}(wv);e.IfcImpactProtectionDevice=rh;var ih=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=3948183225,A}return P(n)}(gv);e.IfcImpactProtectionDeviceType=ih;var ah=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e)).Points=r,s.Segments=i,s.SelfIntersect=a,s.type=2571569899,s}return P(n)}(Fd);e.IfcIndexedPolyCurve=ah;var sh=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=3946677679,A}return P(n)}(zv);e.IfcInterceptorType=sh;var oh=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e,r,i,a)).Curve3D=r,s.AssociatedGeometry=i,s.MasterRepresentation=a,s.type=3113134337,s}return P(n)}(Ad);e.IfcIntersectionCurve=oh;var lh=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A){var d;return b(this,n),(d=t.call(this,e,r,i,a,s,o)).GlobalId=r,d.OwnerHistory=i,d.Name=a,d.Description=s,d.ObjectType=o,d.PredefinedType=l,d.Jurisdiction=u,d.ResponsiblePersons=c,d.LastUpdateDate=f,d.CurrentValue=p,d.OriginalValue=A,d.type=2391368822,d}return P(n)}(eh);e.IfcInventory=lh;var uh=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=4288270099,A}return P(n)}(Gv);e.IfcJunctionBoxType=uh;var ch=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.Mountable=p,A.type=679976338,A}return P(n)}(Ud);e.IfcKerbType=ch;var fh=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A){var d;return b(this,n),(d=t.call(this,e,r,i,a,s,o,l,u,c,f,p)).GlobalId=r,d.OwnerHistory=i,d.Name=a,d.Description=s,d.ObjectType=o,d.Identification=l,d.LongDescription=u,d.Usage=c,d.BaseCosts=f,d.BaseQuantity=p,d.PredefinedType=A,d.type=3827777499,d}return P(n)}(Zd);e.IfcLaborResource=fh;var ph=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=1051575348,A}return P(n)}(Wv);e.IfcLampType=ph;var Ah=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=1161773419,A}return P(n)}(Wv);e.IfcLightFixtureType=Ah;var dh=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u){var c;return b(this,n),(c=t.call(this,e,r,i,a,s,o,l,u)).GlobalId=r,c.OwnerHistory=i,c.Name=a,c.Description=s,c.ObjectType=o,c.ObjectPlacement=l,c.Representation=u,c.type=2176059722,c}return P(n)}(Bp);e.IfcLinearElement=dh;var vh=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=1770583370,A}return P(n)}(Wv);e.IfcLiquidTerminalType=vh;var hh=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ObjectType=o,A.ObjectPlacement=l,A.Representation=u,A.LongName=c,A.CompositionType=f,A.PredefinedType=p,A.type=525669439,A}return P(n)}(Ov);e.IfcMarineFacility=hh;var Ih=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A){var d;return b(this,n),(d=t.call(this,e,r,i,a,s,o,l,u,c,f,p)).GlobalId=r,d.OwnerHistory=i,d.Name=a,d.Description=s,d.ObjectType=o,d.ObjectPlacement=l,d.Representation=u,d.LongName=c,d.CompositionType=f,d.UsageType=p,d.PredefinedType=A,d.type=976884017,d}return P(n)}(Sv);e.IfcMarinePart=Ih;var yh=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A){var d;return b(this,n),(d=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,d.OwnerHistory=i,d.Name=a,d.Description=s,d.ObjectType=o,d.ObjectPlacement=l,d.Representation=u,d.Tag=c,d.NominalDiameter=f,d.NominalLength=p,d.PredefinedType=A,d.type=377706215,d}return P(n)}(wv);e.IfcMechanicalFastener=yh;var mh=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A,d){var v;return b(this,n),(v=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,v.OwnerHistory=i,v.Name=a,v.Description=s,v.ApplicableOccurrence=o,v.HasPropertySets=l,v.RepresentationMaps=u,v.Tag=c,v.ElementType=f,v.PredefinedType=p,v.NominalDiameter=A,v.NominalLength=d,v.type=2108223431,v}return P(n)}(gv);e.IfcMechanicalFastenerType=mh;var wh=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=1114901282,A}return P(n)}(Wv);e.IfcMedicalDeviceType=wh;var gh=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=3181161470,A}return P(n)}(Ud);e.IfcMemberType=gh;var Eh=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=1950438474,A}return P(n)}(Wv);e.IfcMobileTelecommunicationsApplianceType=Eh;var Th=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=710110818,A}return P(n)}(Ud);e.IfcMooringDeviceType=Th;var bh=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=977012517,A}return P(n)}(Tv);e.IfcMotorConnectionType=bh;var Dh=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=506776471,A}return P(n)}(Ud);e.IfcNavigationElementType=Dh;var Ph=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u){var c;return b(this,n),(c=t.call(this,e,r,i,a,s,o,l)).GlobalId=r,c.OwnerHistory=i,c.Name=a,c.Description=s,c.ObjectType=o,c.TheActor=l,c.PredefinedType=u,c.type=4143007308,c}return P(n)}(_d);e.IfcOccupant=Ph;var Rh=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=3588315303,p}return P(n)}(Hv);e.IfcOpeningElement=Rh;var Ch=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=2837617999,A}return P(n)}(Wv);e.IfcOutletType=Ch;var _h=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=514975943,A}return P(n)}(Ud);e.IfcPavementType=_h;var Bh=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o,l)).GlobalId=r,f.OwnerHistory=i,f.Name=a,f.Description=s,f.ObjectType=o,f.Identification=l,f.LifeCyclePhase=u,f.PredefinedType=c,f.type=2382730787,f}return P(n)}($d);e.IfcPerformanceHistory=Bh;var Oh=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.OperationType=o,p.PanelPosition=l,p.FrameDepth=u,p.FrameThickness=c,p.ShapeAspectStyle=f,p.type=3566463478,p}return P(n)}(Rp);e.IfcPermeableCoveringProperties=Oh;var Sh=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.Identification=l,p.PredefinedType=u,p.Status=c,p.LongDescription=f,p.type=3327091369,p}return P(n)}($d);e.IfcPermit=Sh;var Nh=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=1158309216,A}return P(n)}(lv);e.IfcPileType=Nh;var Lh=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=804291784,A}return P(n)}(Gv);e.IfcPipeFittingType=Lh;var xh=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=4231323485,A}return P(n)}(Vv);e.IfcPipeSegmentType=xh;var Mh=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=4017108033,A}return P(n)}(Ud);e.IfcPlateType=Mh;var Fh=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r,i)).Coordinates=r,o.Closed=i,o.Faces=a,o.PnIndex=s,o.type=2839578677,o}return P(n)}(wd);e.IfcPolygonalFaceSet=Fh;var Hh=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e)).Points=r,i.type=3724593414,i}return P(n)}(Fd);e.IfcPolyline=Hh;var Uh=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u){var c;return b(this,n),(c=t.call(this,e,r,i,a,s,o,l,u)).GlobalId=r,c.OwnerHistory=i,c.Name=a,c.Description=s,c.ObjectType=o,c.ObjectPlacement=l,c.Representation=u,c.type=3740093272,c}return P(n)}(Bp);e.IfcPort=Uh;var Gh=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u){var c;return b(this,n),(c=t.call(this,e,r,i,a,s,o,l,u)).GlobalId=r,c.OwnerHistory=i,c.Name=a,c.Description=s,c.ObjectType=o,c.ObjectPlacement=l,c.Representation=u,c.type=1946335990,c}return P(n)}(Bp);e.IfcPositioningElement=Gh;var kh=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o,l,u)).GlobalId=r,f.OwnerHistory=i,f.Name=a,f.Description=s,f.ObjectType=o,f.Identification=l,f.LongDescription=u,f.PredefinedType=c,f.type=2744685151,f}return P(n)}(_p);e.IfcProcedure=kh;var jh=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.Identification=l,p.PredefinedType=u,p.Status=c,p.LongDescription=f,p.type=2904328755,p}return P(n)}($d);e.IfcProjectOrder=jh;var Vh=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=3651124850,p}return P(n)}(Fv);e.IfcProjectionElement=Vh;var Qh=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=1842657554,A}return P(n)}(Uv);e.IfcProtectiveDeviceType=Qh;var Wh=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=2250791053,A}return P(n)}(jv);e.IfcPumpType=Wh;var zh=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=1763565496,A}return P(n)}(Ud);e.IfcRailType=zh;var Kh=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=2893384427,A}return P(n)}(Ud);e.IfcRailingType=Kh;var Yh=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ObjectType=o,A.ObjectPlacement=l,A.Representation=u,A.LongName=c,A.CompositionType=f,A.PredefinedType=p,A.type=3992365140,A}return P(n)}(Ov);e.IfcRailway=Yh;var Xh=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A){var d;return b(this,n),(d=t.call(this,e,r,i,a,s,o,l,u,c,f,p)).GlobalId=r,d.OwnerHistory=i,d.Name=a,d.Description=s,d.ObjectType=o,d.ObjectPlacement=l,d.Representation=u,d.LongName=c,d.CompositionType=f,d.UsageType=p,d.PredefinedType=A,d.type=1891881377,d}return P(n)}(Sv);e.IfcRailwayPart=Xh;var qh=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=2324767716,A}return P(n)}(Ud);e.IfcRampFlightType=qh;var Jh=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=1469900589,A}return P(n)}(Ud);e.IfcRampType=Jh;var Zh=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A,d,v){var h;return b(this,n),(h=t.call(this,e,r,i,a,s,o,l,u,c,f,p,A,d)).UDegree=r,h.VDegree=i,h.ControlPointsList=a,h.SurfaceForm=s,h.UClosed=o,h.VClosed=l,h.SelfIntersect=u,h.UMultiplicities=c,h.VMultiplicities=f,h.UKnots=p,h.VKnots=A,h.KnotSpec=d,h.WeightsData=v,h.type=683857671,h}return P(n)}(Ld);e.IfcRationalBSplineSurfaceWithKnots=Zh;var $h=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o,l,u)).GlobalId=r,f.OwnerHistory=i,f.Name=a,f.Description=s,f.ObjectType=o,f.ObjectPlacement=l,f.Representation=u,f.PredefinedType=c,f.type=4021432810,f}return P(n)}(Gh);e.IfcReferent=$h;var eI=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.SteelGrade=f,p.type=3027567501,p}return P(n)}(wv);e.IfcReinforcingElement=eI;var tI=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ApplicableOccurrence=o,p.HasPropertySets=l,p.RepresentationMaps=u,p.Tag=c,p.ElementType=f,p.type=964333572,p}return P(n)}(gv);e.IfcReinforcingElementType=tI;var nI=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A,d,v,h,I,y,m,w){var g;return b(this,n),(g=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,g.OwnerHistory=i,g.Name=a,g.Description=s,g.ObjectType=o,g.ObjectPlacement=l,g.Representation=u,g.Tag=c,g.SteelGrade=f,g.MeshLength=p,g.MeshWidth=A,g.LongitudinalBarNominalDiameter=d,g.TransverseBarNominalDiameter=v,g.LongitudinalBarCrossSectionArea=h,g.TransverseBarCrossSectionArea=I,g.LongitudinalBarSpacing=y,g.TransverseBarSpacing=m,g.PredefinedType=w,g.type=2320036040,g}return P(n)}(eI);e.IfcReinforcingMesh=nI;var rI=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A,d,v,h,I,y,m,w,g,E){var T;return b(this,n),(T=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,T.OwnerHistory=i,T.Name=a,T.Description=s,T.ApplicableOccurrence=o,T.HasPropertySets=l,T.RepresentationMaps=u,T.Tag=c,T.ElementType=f,T.PredefinedType=p,T.MeshLength=A,T.MeshWidth=d,T.LongitudinalBarNominalDiameter=v,T.TransverseBarNominalDiameter=h,T.LongitudinalBarCrossSectionArea=I,T.TransverseBarCrossSectionArea=y,T.LongitudinalBarSpacing=m,T.TransverseBarSpacing=w,T.BendingShapeCode=g,T.BendingParameters=E,T.type=2310774935,T}return P(n)}(tI);e.IfcReinforcingMeshType=rI;var iI=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r,i,a,s)).GlobalId=r,u.OwnerHistory=i,u.Name=a,u.Description=s,u.RelatingElement=o,u.RelatedSurfaceFeatures=l,u.type=3818125796,u}return P(n)}(gA);e.IfcRelAdheresToElement=iI;var aI=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r,i,a,s)).GlobalId=r,u.OwnerHistory=i,u.Name=a,u.Description=s,u.RelatingObject=o,u.RelatedObjects=l,u.type=160246688,u}return P(n)}(gA);e.IfcRelAggregates=aI;var sI=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ObjectType=o,A.ObjectPlacement=l,A.Representation=u,A.LongName=c,A.CompositionType=f,A.PredefinedType=p,A.type=146592293,A}return P(n)}(Ov);e.IfcRoad=sI;var oI=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A){var d;return b(this,n),(d=t.call(this,e,r,i,a,s,o,l,u,c,f,p)).GlobalId=r,d.OwnerHistory=i,d.Name=a,d.Description=s,d.ObjectType=o,d.ObjectPlacement=l,d.Representation=u,d.LongName=c,d.CompositionType=f,d.UsageType=p,d.PredefinedType=A,d.type=550521510,d}return P(n)}(Sv);e.IfcRoadPart=oI;var lI=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=2781568857,A}return P(n)}(Ud);e.IfcRoofType=lI;var uI=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=1768891740,A}return P(n)}(Wv);e.IfcSanitaryTerminalType=uI;var cI=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e,r,i,a)).Curve3D=r,s.AssociatedGeometry=i,s.MasterRepresentation=a,s.type=2157484638,s}return P(n)}(Ad);e.IfcSeamCurve=cI;var fI=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r)).Position=r,o.QuadraticTerm=i,o.LinearTerm=a,o.ConstantTerm=s,o.type=3649235739,o}return P(n)}(id);e.IfcSecondOrderPolynomialSpiral=fI;var pI=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r,i)).Segments=r,o.SelfIntersect=i,o.BaseCurve=a,o.EndPoint=s,o.type=544395925,o}return P(n)}(zd);e.IfcSegmentedReferenceCurve=pI;var AI=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r)).Position=r,p.SepticTerm=i,p.SexticTerm=a,p.QuinticTerm=s,p.QuarticTerm=o,p.CubicTerm=l,p.QuadraticTerm=u,p.LinearTerm=c,p.ConstantTerm=f,p.type=1027922057,p}return P(n)}(id);e.IfcSeventhOrderPolynomialSpiral=AI;var dI=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=4074543187,A}return P(n)}(Ud);e.IfcShadingDeviceType=dI;var vI=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=33720170,p}return P(n)}(wv);e.IfcSign=vI;var hI=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=3599934289,A}return P(n)}(gv);e.IfcSignType=hI;var II=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=1894708472,A}return P(n)}(Wv);e.IfcSignalType=II;var yI=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r)).Position=r,o.SineTerm=i,o.LinearTerm=a,o.ConstantTerm=s,o.type=42703149,o}return P(n)}(id);e.IfcSineSpiral=yI;var mI=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A,d,v,h){var I;return b(this,n),(I=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,I.OwnerHistory=i,I.Name=a,I.Description=s,I.ObjectType=o,I.ObjectPlacement=l,I.Representation=u,I.LongName=c,I.CompositionType=f,I.RefLatitude=p,I.RefLongitude=A,I.RefElevation=d,I.LandTitleNumber=v,I.SiteAddress=h,I.type=4097777520,I}return P(n)}(ZA);e.IfcSite=mI;var wI=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=2533589738,A}return P(n)}(Ud);e.IfcSlabType=wI;var gI=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=1072016465,A}return P(n)}(Tv);e.IfcSolarDeviceType=gI;var EI=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A){var d;return b(this,n),(d=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,d.OwnerHistory=i,d.Name=a,d.Description=s,d.ObjectType=o,d.ObjectPlacement=l,d.Representation=u,d.LongName=c,d.CompositionType=f,d.PredefinedType=p,d.ElevationWithFlooring=A,d.type=3856911033,d}return P(n)}(ZA);e.IfcSpace=EI;var TI=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=1305183839,A}return P(n)}(Wv);e.IfcSpaceHeaterType=TI;var bI=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A){var d;return b(this,n),(d=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,d.OwnerHistory=i,d.Name=a,d.Description=s,d.ApplicableOccurrence=o,d.HasPropertySets=l,d.RepresentationMaps=u,d.Tag=c,d.ElementType=f,d.PredefinedType=p,d.LongName=A,d.type=3812236995,d}return P(n)}($A);e.IfcSpaceType=bI;var DI=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=3112655638,A}return P(n)}(Wv);e.IfcStackTerminalType=DI;var PI=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=1039846685,A}return P(n)}(Ud);e.IfcStairFlightType=PI;var RI=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=338393293,A}return P(n)}(Ud);e.IfcStairType=RI;var CI=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ObjectType=o,A.ObjectPlacement=l,A.Representation=u,A.AppliedLoad=c,A.GlobalOrLocal=f,A.DestabilizingLoad=p,A.type=682877961,A}return P(n)}(ad);e.IfcStructuralAction=CI;var _I=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o,l,u)).GlobalId=r,f.OwnerHistory=i,f.Name=a,f.Description=s,f.ObjectType=o,f.ObjectPlacement=l,f.Representation=u,f.AppliedCondition=c,f.type=1179482911,f}return P(n)}(sd);e.IfcStructuralConnection=_I;var BI=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A,d){var v;return b(this,n),(v=t.call(this,e,r,i,a,s,o,l,u,c,f,p)).GlobalId=r,v.OwnerHistory=i,v.Name=a,v.Description=s,v.ObjectType=o,v.ObjectPlacement=l,v.Representation=u,v.AppliedLoad=c,v.GlobalOrLocal=f,v.DestabilizingLoad=p,v.ProjectedOrTrue=A,v.PredefinedType=d,v.type=1004757350,v}return P(n)}(CI);e.IfcStructuralCurveAction=BI;var OI=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.AppliedCondition=c,p.AxisDirection=f,p.type=4243806635,p}return P(n)}(_I);e.IfcStructuralCurveConnection=OI;var SI=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.PredefinedType=c,p.Axis=f,p.type=214636428,p}return P(n)}(od);e.IfcStructuralCurveMember=SI;var NI=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.PredefinedType=c,p.Axis=f,p.type=2445595289,p}return P(n)}(SI);e.IfcStructuralCurveMemberVarying=NI;var LI=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ObjectType=o,A.ObjectPlacement=l,A.Representation=u,A.AppliedLoad=c,A.GlobalOrLocal=f,A.PredefinedType=p,A.type=2757150158,A}return P(n)}(ld);e.IfcStructuralCurveReaction=LI;var xI=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A,d){var v;return b(this,n),(v=t.call(this,e,r,i,a,s,o,l,u,c,f,p,A,d)).GlobalId=r,v.OwnerHistory=i,v.Name=a,v.Description=s,v.ObjectType=o,v.ObjectPlacement=l,v.Representation=u,v.AppliedLoad=c,v.GlobalOrLocal=f,v.DestabilizingLoad=p,v.ProjectedOrTrue=A,v.PredefinedType=d,v.type=1807405624,v}return P(n)}(BI);e.IfcStructuralLinearAction=xI;var MI=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ObjectType=o,A.PredefinedType=l,A.ActionType=u,A.ActionSource=c,A.Coefficient=f,A.Purpose=p,A.type=1252848954,A}return P(n)}(eh);e.IfcStructuralLoadGroup=MI;var FI=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f,p)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ObjectType=o,A.ObjectPlacement=l,A.Representation=u,A.AppliedLoad=c,A.GlobalOrLocal=f,A.DestabilizingLoad=p,A.type=2082059205,A}return P(n)}(CI);e.IfcStructuralPointAction=FI;var HI=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.AppliedCondition=c,p.ConditionCoordinateSystem=f,p.type=734778138,p}return P(n)}(_I);e.IfcStructuralPointConnection=HI;var UI=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.AppliedLoad=c,p.GlobalOrLocal=f,p.type=1235345126,p}return P(n)}(ld);e.IfcStructuralPointReaction=UI;var GI=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o)).GlobalId=r,f.OwnerHistory=i,f.Name=a,f.Description=s,f.ObjectType=o,f.TheoryType=l,f.ResultForLoadGroup=u,f.IsLinear=c,f.type=2986769608,f}return P(n)}(eh);e.IfcStructuralResultGroup=GI;var kI=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A,d){var v;return b(this,n),(v=t.call(this,e,r,i,a,s,o,l,u,c,f,p)).GlobalId=r,v.OwnerHistory=i,v.Name=a,v.Description=s,v.ObjectType=o,v.ObjectPlacement=l,v.Representation=u,v.AppliedLoad=c,v.GlobalOrLocal=f,v.DestabilizingLoad=p,v.ProjectedOrTrue=A,v.PredefinedType=d,v.type=3657597509,v}return P(n)}(CI);e.IfcStructuralSurfaceAction=kI;var jI=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,f.OwnerHistory=i,f.Name=a,f.Description=s,f.ObjectType=o,f.ObjectPlacement=l,f.Representation=u,f.AppliedCondition=c,f.type=1975003073,f}return P(n)}(_I);e.IfcStructuralSurfaceConnection=jI;var VI=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A){var d;return b(this,n),(d=t.call(this,e,r,i,a,s,o,l,u,c,f,p)).GlobalId=r,d.OwnerHistory=i,d.Name=a,d.Description=s,d.ObjectType=o,d.Identification=l,d.LongDescription=u,d.Usage=c,d.BaseCosts=f,d.BaseQuantity=p,d.PredefinedType=A,d.type=148013059,d}return P(n)}(Zd);e.IfcSubContractResource=VI;var QI=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=3101698114,p}return P(n)}(Mv);e.IfcSurfaceFeature=QI;var WI=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=2315554128,A}return P(n)}(Uv);e.IfcSwitchingDeviceType=WI;var zI=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e,r,i,a,s,o)).GlobalId=r,l.OwnerHistory=i,l.Name=a,l.Description=s,l.ObjectType=o,l.type=2254336722,l}return P(n)}(eh);e.IfcSystem=zI;var KI=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=413509423,p}return P(n)}(Yv);e.IfcSystemFurnitureElement=KI;var YI=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=5716631,A}return P(n)}(Qv);e.IfcTankType=YI;var XI=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A,d,v,h,I,y,m){var w;return b(this,n),(w=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,w.OwnerHistory=i,w.Name=a,w.Description=s,w.ObjectType=o,w.ObjectPlacement=l,w.Representation=u,w.Tag=c,w.SteelGrade=f,w.PredefinedType=p,w.NominalDiameter=A,w.CrossSectionArea=d,w.TensionForce=v,w.PreStress=h,w.FrictionCoefficient=I,w.AnchorageSlip=y,w.MinCurvatureRadius=m,w.type=3824725483,w}return P(n)}(eI);e.IfcTendon=XI;var qI=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ObjectType=o,A.ObjectPlacement=l,A.Representation=u,A.Tag=c,A.SteelGrade=f,A.PredefinedType=p,A.type=2347447852,A}return P(n)}(eI);e.IfcTendonAnchor=qI;var JI=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=3081323446,A}return P(n)}(tI);e.IfcTendonAnchorType=JI;var ZI=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ObjectType=o,A.ObjectPlacement=l,A.Representation=u,A.Tag=c,A.SteelGrade=f,A.PredefinedType=p,A.type=3663046924,A}return P(n)}(eI);e.IfcTendonConduit=ZI;var $I=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=2281632017,A}return P(n)}(tI);e.IfcTendonConduitType=$I;var ey=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A,d,v){var h;return b(this,n),(h=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,h.OwnerHistory=i,h.Name=a,h.Description=s,h.ApplicableOccurrence=o,h.HasPropertySets=l,h.RepresentationMaps=u,h.Tag=c,h.ElementType=f,h.PredefinedType=p,h.NominalDiameter=A,h.CrossSectionArea=d,h.SheathDiameter=v,h.type=2415094496,h}return P(n)}(tI);e.IfcTendonType=ey;var ty=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=618700268,A}return P(n)}(Ud);e.IfcTrackElementType=ty;var ny=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=1692211062,A}return P(n)}(Tv);e.IfcTransformerType=ny;var ry=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=2097647324,A}return P(n)}(Td);e.IfcTransportElementType=ry;var iy=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,f.OwnerHistory=i,f.Name=a,f.Description=s,f.ObjectType=o,f.ObjectPlacement=l,f.Representation=u,f.Tag=c,f.type=1953115116,f}return P(n)}(Iv);e.IfcTransportationDevice=iy;var ay=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e)).BasisCurve=r,l.Trim1=i,l.Trim2=a,l.SenseAgreement=s,l.MasterRepresentation=o,l.type=3593883385,l}return P(n)}(Fd);e.IfcTrimmedCurve=ay;var sy=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=1600972822,A}return P(n)}(Tv);e.IfcTubeBundleType=sy;var oy=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=1911125066,A}return P(n)}(Tv);e.IfcUnitaryEquipmentType=oy;var ly=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=728799441,A}return P(n)}(Uv);e.IfcValveType=ly;var uy=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=840318589,p}return P(n)}(iy);e.IfcVehicle=uy;var cy=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=1530820697,p}return P(n)}(wv);e.IfcVibrationDamper=cy;var fy=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=3956297820,A}return P(n)}(gv);e.IfcVibrationDamperType=fy;var py=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=2391383451,p}return P(n)}(wv);e.IfcVibrationIsolator=py;var Ay=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=3313531582,A}return P(n)}(gv);e.IfcVibrationIsolatorType=Ay;var dy=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=2769231204,p}return P(n)}(Iv);e.IfcVirtualElement=dy;var vy=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=926996030,p}return P(n)}(Hv);e.IfcVoidingFeature=vy;var hy=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=1898987631,A}return P(n)}(Ud);e.IfcWallType=hy;var Iy=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=1133259667,A}return P(n)}(Wv);e.IfcWasteTerminalType=Iy;var yy=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A,d,v){var h;return b(this,n),(h=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,h.OwnerHistory=i,h.Name=a,h.Description=s,h.ApplicableOccurrence=o,h.HasPropertySets=l,h.RepresentationMaps=u,h.Tag=c,h.ElementType=f,h.PredefinedType=p,h.PartitioningType=A,h.ParameterTakesPrecedence=d,h.UserDefinedPartitioningType=v,h.type=4009809668,h}return P(n)}(Ud);e.IfcWindowType=yy;var my=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.Identification=l,p.WorkingTimes=u,p.ExceptionTimes=c,p.PredefinedType=f,p.type=4088093105,p}return P(n)}($d);e.IfcWorkCalendar=my;var wy=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A,d,v){var h;return b(this,n),(h=t.call(this,e,r,i,a,s,o,l)).GlobalId=r,h.OwnerHistory=i,h.Name=a,h.Description=s,h.ObjectType=o,h.Identification=l,h.CreationDate=u,h.Creators=c,h.Purpose=f,h.Duration=p,h.TotalFloat=A,h.StartTime=d,h.FinishTime=v,h.type=1028945134,h}return P(n)}($d);e.IfcWorkControl=wy;var gy=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A,d,v,h){var I;return b(this,n),(I=t.call(this,e,r,i,a,s,o,l,u,c,f,p,A,d,v)).GlobalId=r,I.OwnerHistory=i,I.Name=a,I.Description=s,I.ObjectType=o,I.Identification=l,I.CreationDate=u,I.Creators=c,I.Purpose=f,I.Duration=p,I.TotalFloat=A,I.StartTime=d,I.FinishTime=v,I.PredefinedType=h,I.type=4218914973,I}return P(n)}(wy);e.IfcWorkPlan=gy;var Ey=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A,d,v,h){var I;return b(this,n),(I=t.call(this,e,r,i,a,s,o,l,u,c,f,p,A,d,v)).GlobalId=r,I.OwnerHistory=i,I.Name=a,I.Description=s,I.ObjectType=o,I.Identification=l,I.CreationDate=u,I.Creators=c,I.Purpose=f,I.Duration=p,I.TotalFloat=A,I.StartTime=d,I.FinishTime=v,I.PredefinedType=h,I.type=3342526732,I}return P(n)}(wy);e.IfcWorkSchedule=Ey;var Ty=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r,i,a,s,o)).GlobalId=r,u.OwnerHistory=i,u.Name=a,u.Description=s,u.ObjectType=o,u.LongName=l,u.type=1033361043,u}return P(n)}(zI);e.IfcZone=Ty;var by=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.Identification=l,p.PredefinedType=u,p.Status=c,p.LongDescription=f,p.type=3821786052,p}return P(n)}($d);e.IfcActionRequest=by;var Dy=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=1411407467,A}return P(n)}(Uv);e.IfcAirTerminalBoxType=Dy;var Py=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=3352864051,A}return P(n)}(Wv);e.IfcAirTerminalType=Py;var Ry=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=1871374353,A}return P(n)}(Tv);e.IfcAirToAirHeatRecoveryType=Ry;var Cy=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o,l,u)).GlobalId=r,f.OwnerHistory=i,f.Name=a,f.Description=s,f.ObjectType=o,f.ObjectPlacement=l,f.Representation=u,f.RailHeadDistance=c,f.type=4266260250,f}return P(n)}(dh);e.IfcAlignmentCant=Cy;var _y=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u){var c;return b(this,n),(c=t.call(this,e,r,i,a,s,o,l,u)).GlobalId=r,c.OwnerHistory=i,c.Name=a,c.Description=s,c.ObjectType=o,c.ObjectPlacement=l,c.Representation=u,c.type=1545765605,c}return P(n)}(dh);e.IfcAlignmentHorizontal=_y;var By=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o,l,u)).GlobalId=r,f.OwnerHistory=i,f.Name=a,f.Description=s,f.ObjectType=o,f.ObjectPlacement=l,f.Representation=u,f.DesignParameters=c,f.type=317615605,f}return P(n)}(dh);e.IfcAlignmentSegment=By;var Oy=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u){var c;return b(this,n),(c=t.call(this,e,r,i,a,s,o,l,u)).GlobalId=r,c.OwnerHistory=i,c.Name=a,c.Description=s,c.ObjectType=o,c.ObjectPlacement=l,c.Representation=u,c.type=1662888072,c}return P(n)}(dh);e.IfcAlignmentVertical=Oy;var Sy=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A,d,v,h){var I;return b(this,n),(I=t.call(this,e,r,i,a,s,o)).GlobalId=r,I.OwnerHistory=i,I.Name=a,I.Description=s,I.ObjectType=o,I.Identification=l,I.OriginalValue=u,I.CurrentValue=c,I.TotalReplacementCost=f,I.Owner=p,I.User=A,I.ResponsiblePerson=d,I.IncorporationDate=v,I.DepreciatedValue=h,I.type=3460190687,I}return P(n)}(eh);e.IfcAsset=Sy;var Ny=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=1532957894,A}return P(n)}(Wv);e.IfcAudioVisualApplianceType=Ny;var Ly=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e)).Degree=r,l.ControlPointsList=i,l.CurveForm=a,l.ClosedCurve=s,l.SelfIntersect=o,l.type=1967976161,l}return P(n)}(Fd);e.IfcBSplineCurve=Ly;var xy=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o)).Degree=r,f.ControlPointsList=i,f.CurveForm=a,f.ClosedCurve=s,f.SelfIntersect=o,f.KnotMultiplicities=l,f.Knots=u,f.KnotSpec=c,f.type=2461110595,f}return P(n)}(Ly);e.IfcBSplineCurveWithKnots=xy;var My=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=819618141,A}return P(n)}(Ud);e.IfcBeamType=My;var Fy=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=3649138523,A}return P(n)}(Ud);e.IfcBearingType=Fy;var Hy=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=231477066,A}return P(n)}(Tv);e.IfcBoilerType=Hy;var Uy=function(e){I(n,e);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e,r,i)).Segments=r,a.SelfIntersect=i,a.type=1136057603,a}return P(n)}(Kd);e.IfcBoundaryCurve=Uy;var Gy=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ObjectType=o,A.ObjectPlacement=l,A.Representation=u,A.LongName=c,A.CompositionType=f,A.PredefinedType=p,A.type=644574406,A}return P(n)}(Ov);e.IfcBridge=Gy;var ky=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A){var d;return b(this,n),(d=t.call(this,e,r,i,a,s,o,l,u,c,f,p)).GlobalId=r,d.OwnerHistory=i,d.Name=a,d.Description=s,d.ObjectType=o,d.ObjectPlacement=l,d.Representation=u,d.LongName=c,d.CompositionType=f,d.UsageType=p,d.PredefinedType=A,d.type=963979645,d}return P(n)}(Sv);e.IfcBridgePart=ky;var jy=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A,d){var v;return b(this,n),(v=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,v.OwnerHistory=i,v.Name=a,v.Description=s,v.ObjectType=o,v.ObjectPlacement=l,v.Representation=u,v.LongName=c,v.CompositionType=f,v.ElevationOfRefHeight=p,v.ElevationOfTerrain=A,v.BuildingAddress=d,v.type=4031249490,v}return P(n)}(Ov);e.IfcBuilding=jy;var Vy=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=2979338954,p}return P(n)}(wv);e.IfcBuildingElementPart=Vy;var Qy=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=39481116,A}return P(n)}(gv);e.IfcBuildingElementPartType=Qy;var Wy=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=1909888760,A}return P(n)}(Ud);e.IfcBuildingElementProxyType=Wy;var zy=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u){var c;return b(this,n),(c=t.call(this,e,r,i,a,s,o)).GlobalId=r,c.OwnerHistory=i,c.Name=a,c.Description=s,c.ObjectType=o,c.PredefinedType=l,c.LongName=u,c.type=1177604601,c}return P(n)}(zI);e.IfcBuildingSystem=zy;var Ky=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,f.OwnerHistory=i,f.Name=a,f.Description=s,f.ObjectType=o,f.ObjectPlacement=l,f.Representation=u,f.Tag=c,f.type=1876633798,f}return P(n)}(Iv);e.IfcBuiltElement=Ky;var Yy=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u){var c;return b(this,n),(c=t.call(this,e,r,i,a,s,o)).GlobalId=r,c.OwnerHistory=i,c.Name=a,c.Description=s,c.ObjectType=o,c.PredefinedType=l,c.LongName=u,c.type=3862327254,c}return P(n)}(zI);e.IfcBuiltSystem=Yy;var Xy=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=2188180465,A}return P(n)}(Tv);e.IfcBurnerType=Xy;var qy=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=395041908,A}return P(n)}(Gv);e.IfcCableCarrierFittingType=qy;var Jy=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=3293546465,A}return P(n)}(Vv);e.IfcCableCarrierSegmentType=Jy;var Zy=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=2674252688,A}return P(n)}(Gv);e.IfcCableFittingType=Zy;var $y=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=1285652485,A}return P(n)}(Vv);e.IfcCableSegmentType=$y;var em=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=3203706013,A}return P(n)}(lv);e.IfcCaissonFoundationType=em;var tm=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=2951183804,A}return P(n)}(Tv);e.IfcChillerType=tm;var nm=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=3296154744,p}return P(n)}(Ky);e.IfcChimney=nm;var rm=function(e){I(n,e);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e,r)).Position=r,a.Radius=i,a.type=2611217952,a}return P(n)}(Yd);e.IfcCircle=rm;var im=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,f.OwnerHistory=i,f.Name=a,f.Description=s,f.ObjectType=o,f.ObjectPlacement=l,f.Representation=u,f.Tag=c,f.type=1677625105,f}return P(n)}(Iv);e.IfcCivilElement=im;var am=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=2301859152,A}return P(n)}(Tv);e.IfcCoilType=am;var sm=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=843113511,p}return P(n)}(Ky);e.IfcColumn=sm;var om=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=400855858,A}return P(n)}(Wv);e.IfcCommunicationsApplianceType=om;var lm=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=3850581409,A}return P(n)}(jv);e.IfcCompressorType=lm;var um=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=2816379211,A}return P(n)}(Tv);e.IfcCondenserType=um;var cm=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A){var d;return b(this,n),(d=t.call(this,e,r,i,a,s,o,l,u,c,f,p)).GlobalId=r,d.OwnerHistory=i,d.Name=a,d.Description=s,d.ObjectType=o,d.Identification=l,d.LongDescription=u,d.Usage=c,d.BaseCosts=f,d.BaseQuantity=p,d.PredefinedType=A,d.type=3898045240,d}return P(n)}(Zd);e.IfcConstructionEquipmentResource=cm;var fm=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A){var d;return b(this,n),(d=t.call(this,e,r,i,a,s,o,l,u,c,f,p)).GlobalId=r,d.OwnerHistory=i,d.Name=a,d.Description=s,d.ObjectType=o,d.Identification=l,d.LongDescription=u,d.Usage=c,d.BaseCosts=f,d.BaseQuantity=p,d.PredefinedType=A,d.type=1060000209,d}return P(n)}(Zd);e.IfcConstructionMaterialResource=fm;var pm=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A){var d;return b(this,n),(d=t.call(this,e,r,i,a,s,o,l,u,c,f,p)).GlobalId=r,d.OwnerHistory=i,d.Name=a,d.Description=s,d.ObjectType=o,d.Identification=l,d.LongDescription=u,d.Usage=c,d.BaseCosts=f,d.BaseQuantity=p,d.PredefinedType=A,d.type=488727124,d}return P(n)}(Zd);e.IfcConstructionProductResource=pm;var Am=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=2940368186,A}return P(n)}(Vv);e.IfcConveyorSegmentType=Am;var dm=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=335055490,A}return P(n)}(Tv);e.IfcCooledBeamType=dm;var vm=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=2954562838,A}return P(n)}(Tv);e.IfcCoolingTowerType=vm;var hm=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=1502416096,p}return P(n)}(Ky);e.IfcCourse=hm;var Im=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=1973544240,p}return P(n)}(Ky);e.IfcCovering=Im;var ym=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=3495092785,p}return P(n)}(Ky);e.IfcCurtainWall=ym;var mm=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=3961806047,A}return P(n)}(Uv);e.IfcDamperType=mm;var wm=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,f.OwnerHistory=i,f.Name=a,f.Description=s,f.ObjectType=o,f.ObjectPlacement=l,f.Representation=u,f.Tag=c,f.type=3426335179,f}return P(n)}(Ky);e.IfcDeepFoundation=wm;var gm=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=1335981549,p}return P(n)}(wv);e.IfcDiscreteAccessory=gm;var Em=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=2635815018,A}return P(n)}(gv);e.IfcDiscreteAccessoryType=Em;var Tm=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=479945903,A}return P(n)}(Uv);e.IfcDistributionBoardType=Tm;var bm=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=1599208980,A}return P(n)}(fv);e.IfcDistributionChamberElementType=bm;var Dm=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ApplicableOccurrence=o,p.HasPropertySets=l,p.RepresentationMaps=u,p.Tag=c,p.ElementType=f,p.type=2063403501,p}return P(n)}(cv);e.IfcDistributionControlElementType=Dm;var Pm=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,f.OwnerHistory=i,f.Name=a,f.Description=s,f.ObjectType=o,f.ObjectPlacement=l,f.Representation=u,f.Tag=c,f.type=1945004755,f}return P(n)}(Iv);e.IfcDistributionElement=Pm;var Rm=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,f.OwnerHistory=i,f.Name=a,f.Description=s,f.ObjectType=o,f.ObjectPlacement=l,f.Representation=u,f.Tag=c,f.type=3040386961,f}return P(n)}(Pm);e.IfcDistributionFlowElement=Rm;var Cm=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ObjectType=o,A.ObjectPlacement=l,A.Representation=u,A.FlowDirection=c,A.PredefinedType=f,A.SystemType=p,A.type=3041715199,A}return P(n)}(Uh);e.IfcDistributionPort=Cm;var _m=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u){var c;return b(this,n),(c=t.call(this,e,r,i,a,s,o)).GlobalId=r,c.OwnerHistory=i,c.Name=a,c.Description=s,c.ObjectType=o,c.LongName=l,c.PredefinedType=u,c.type=3205830791,c}return P(n)}(zI);e.IfcDistributionSystem=_m;var Bm=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A,d,v){var h;return b(this,n),(h=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,h.OwnerHistory=i,h.Name=a,h.Description=s,h.ObjectType=o,h.ObjectPlacement=l,h.Representation=u,h.Tag=c,h.OverallHeight=f,h.OverallWidth=p,h.PredefinedType=A,h.OperationType=d,h.UserDefinedOperationType=v,h.type=395920057,h}return P(n)}(Ky);e.IfcDoor=Bm;var Om=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=869906466,A}return P(n)}(Gv);e.IfcDuctFittingType=Om;var Sm=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=3760055223,A}return P(n)}(Vv);e.IfcDuctSegmentType=Sm;var Nm=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=2030761528,A}return P(n)}(zv);e.IfcDuctSilencerType=Nm;var Lm=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=3071239417,p}return P(n)}(Hv);e.IfcEarthworksCut=Lm;var xm=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,f.OwnerHistory=i,f.Name=a,f.Description=s,f.ObjectType=o,f.ObjectPlacement=l,f.Representation=u,f.Tag=c,f.type=1077100507,f}return P(n)}(Ky);e.IfcEarthworksElement=xm;var Mm=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=3376911765,p}return P(n)}(xm);e.IfcEarthworksFill=Mm;var Fm=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=663422040,A}return P(n)}(Wv);e.IfcElectricApplianceType=Fm;var Hm=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=2417008758,A}return P(n)}(Uv);e.IfcElectricDistributionBoardType=Hm;var Um=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=3277789161,A}return P(n)}(Qv);e.IfcElectricFlowStorageDeviceType=Um;var Gm=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=2142170206,A}return P(n)}(zv);e.IfcElectricFlowTreatmentDeviceType=Gm;var km=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=1534661035,A}return P(n)}(Tv);e.IfcElectricGeneratorType=km;var jm=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=1217240411,A}return P(n)}(Tv);e.IfcElectricMotorType=jm;var Vm=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=712377611,A}return P(n)}(Uv);e.IfcElectricTimeControlType=Vm;var Qm=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,f.OwnerHistory=i,f.Name=a,f.Description=s,f.ObjectType=o,f.ObjectPlacement=l,f.Representation=u,f.Tag=c,f.type=1658829314,f}return P(n)}(Rm);e.IfcEnergyConversionDevice=Qm;var Wm=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=2814081492,p}return P(n)}(Qm);e.IfcEngine=Wm;var zm=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=3747195512,p}return P(n)}(Qm);e.IfcEvaporativeCooler=zm;var Km=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=484807127,p}return P(n)}(Qm);e.IfcEvaporator=Km;var Ym=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.LongName=c,p.PredefinedType=f,p.type=1209101575,p}return P(n)}(Cv);e.IfcExternalSpatialElement=Ym;var Xm=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=346874300,A}return P(n)}(jv);e.IfcFanType=Xm;var qm=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=1810631287,A}return P(n)}(zv);e.IfcFilterType=qm;var Jm=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=4222183408,A}return P(n)}(Wv);e.IfcFireSuppressionTerminalType=Jm;var Zm=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,f.OwnerHistory=i,f.Name=a,f.Description=s,f.ObjectType=o,f.ObjectPlacement=l,f.Representation=u,f.Tag=c,f.type=2058353004,f}return P(n)}(Rm);e.IfcFlowController=Zm;var $m=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,f.OwnerHistory=i,f.Name=a,f.Description=s,f.ObjectType=o,f.ObjectPlacement=l,f.Representation=u,f.Tag=c,f.type=4278956645,f}return P(n)}(Rm);e.IfcFlowFitting=$m;var ew=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=4037862832,A}return P(n)}(Dm);e.IfcFlowInstrumentType=ew;var tw=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=2188021234,p}return P(n)}(Zm);e.IfcFlowMeter=tw;var nw=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,f.OwnerHistory=i,f.Name=a,f.Description=s,f.ObjectType=o,f.ObjectPlacement=l,f.Representation=u,f.Tag=c,f.type=3132237377,f}return P(n)}(Rm);e.IfcFlowMovingDevice=nw;var rw=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,f.OwnerHistory=i,f.Name=a,f.Description=s,f.ObjectType=o,f.ObjectPlacement=l,f.Representation=u,f.Tag=c,f.type=987401354,f}return P(n)}(Rm);e.IfcFlowSegment=rw;var iw=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,f.OwnerHistory=i,f.Name=a,f.Description=s,f.ObjectType=o,f.ObjectPlacement=l,f.Representation=u,f.Tag=c,f.type=707683696,f}return P(n)}(Rm);e.IfcFlowStorageDevice=iw;var aw=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,f.OwnerHistory=i,f.Name=a,f.Description=s,f.ObjectType=o,f.ObjectPlacement=l,f.Representation=u,f.Tag=c,f.type=2223149337,f}return P(n)}(Rm);e.IfcFlowTerminal=aw;var sw=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,f.OwnerHistory=i,f.Name=a,f.Description=s,f.ObjectType=o,f.ObjectPlacement=l,f.Representation=u,f.Tag=c,f.type=3508470533,f}return P(n)}(Rm);e.IfcFlowTreatmentDevice=sw;var ow=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=900683007,p}return P(n)}(Ky);e.IfcFooting=ow;var lw=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,f.OwnerHistory=i,f.Name=a,f.Description=s,f.ObjectType=o,f.ObjectPlacement=l,f.Representation=u,f.Tag=c,f.type=2713699986,f}return P(n)}(Jv);e.IfcGeotechnicalAssembly=lw;var uw=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A){var d;return b(this,n),(d=t.call(this,e,r,i,a,s,o,l,u)).GlobalId=r,d.OwnerHistory=i,d.Name=a,d.Description=s,d.ObjectType=o,d.ObjectPlacement=l,d.Representation=u,d.UAxes=c,d.VAxes=f,d.WAxes=p,d.PredefinedType=A,d.type=3009204131,d}return P(n)}(Gh);e.IfcGrid=uw;var cw=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=3319311131,p}return P(n)}(Qm);e.IfcHeatExchanger=cw;var fw=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=2068733104,p}return P(n)}(Qm);e.IfcHumidifier=fw;var pw=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=4175244083,p}return P(n)}(sw);e.IfcInterceptor=pw;var Aw=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=2176052936,p}return P(n)}($m);e.IfcJunctionBox=Aw;var dw=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.Mountable=f,p.type=2696325953,p}return P(n)}(Ky);e.IfcKerb=dw;var vw=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=76236018,p}return P(n)}(aw);e.IfcLamp=vw;var hw=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=629592764,p}return P(n)}(aw);e.IfcLightFixture=hw;var Iw=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u){var c;return b(this,n),(c=t.call(this,e,r,i,a,s,o,l,u)).GlobalId=r,c.OwnerHistory=i,c.Name=a,c.Description=s,c.ObjectType=o,c.ObjectPlacement=l,c.Representation=u,c.type=1154579445,c}return P(n)}(Gh);e.IfcLinearPositioningElement=Iw;var yw=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=1638804497,p}return P(n)}(aw);e.IfcLiquidTerminal=yw;var mw=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=1437502449,p}return P(n)}(aw);e.IfcMedicalDevice=mw;var ww=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=1073191201,p}return P(n)}(Ky);e.IfcMember=ww;var gw=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=2078563270,p}return P(n)}(aw);e.IfcMobileTelecommunicationsAppliance=gw;var Ew=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=234836483,p}return P(n)}(Ky);e.IfcMooringDevice=Ew;var Tw=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=2474470126,p}return P(n)}(Qm);e.IfcMotorConnection=Tw;var bw=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=2182337498,p}return P(n)}(Ky);e.IfcNavigationElement=bw;var Dw=function(e){I(n,e);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e,r,i)).Segments=r,a.SelfIntersect=i,a.type=144952367,a}return P(n)}(Uy);e.IfcOuterBoundaryCurve=Dw;var Pw=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=3694346114,p}return P(n)}(aw);e.IfcOutlet=Pw;var Rw=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=1383356374,p}return P(n)}(Ky);e.IfcPavement=Rw;var Cw=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ObjectType=o,A.ObjectPlacement=l,A.Representation=u,A.Tag=c,A.PredefinedType=f,A.ConstructionType=p,A.type=1687234759,A}return P(n)}(wm);e.IfcPile=Cw;var _w=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=310824031,p}return P(n)}($m);e.IfcPipeFitting=_w;var Bw=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=3612865200,p}return P(n)}(rw);e.IfcPipeSegment=Bw;var Ow=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=3171933400,p}return P(n)}(Ky);e.IfcPlate=Ow;var Sw=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=738039164,p}return P(n)}(Zm);e.IfcProtectiveDevice=Sw;var Nw=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=655969474,A}return P(n)}(Dm);e.IfcProtectiveDeviceTrippingUnitType=Nw;var Lw=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=90941305,p}return P(n)}(nw);e.IfcPump=Lw;var xw=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=3290496277,p}return P(n)}(Ky);e.IfcRail=xw;var Mw=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=2262370178,p}return P(n)}(Ky);e.IfcRailing=Mw;var Fw=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=3024970846,p}return P(n)}(Ky);e.IfcRamp=Fw;var Hw=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=3283111854,p}return P(n)}(Ky);e.IfcRampFlight=Hw;var Uw=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).Degree=r,p.ControlPointsList=i,p.CurveForm=a,p.ClosedCurve=s,p.SelfIntersect=o,p.KnotMultiplicities=l,p.Knots=u,p.KnotSpec=c,p.WeightsData=f,p.type=1232101972,p}return P(n)}(xy);e.IfcRationalBSplineCurveWithKnots=Uw;var Gw=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=3798194928,p}return P(n)}(xm);e.IfcReinforcedSoil=Gw;var kw=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A,d,v,h){var I;return b(this,n),(I=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,I.OwnerHistory=i,I.Name=a,I.Description=s,I.ObjectType=o,I.ObjectPlacement=l,I.Representation=u,I.Tag=c,I.SteelGrade=f,I.NominalDiameter=p,I.CrossSectionArea=A,I.BarLength=d,I.PredefinedType=v,I.BarSurface=h,I.type=979691226,I}return P(n)}(eI);e.IfcReinforcingBar=kw;var jw=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A,d,v,h,I,y){var m;return b(this,n),(m=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,m.OwnerHistory=i,m.Name=a,m.Description=s,m.ApplicableOccurrence=o,m.HasPropertySets=l,m.RepresentationMaps=u,m.Tag=c,m.ElementType=f,m.PredefinedType=p,m.NominalDiameter=A,m.CrossSectionArea=d,m.BarLength=v,m.BarSurface=h,m.BendingShapeCode=I,m.BendingParameters=y,m.type=2572171363,m}return P(n)}(tI);e.IfcReinforcingBarType=jw;var Vw=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=2016517767,p}return P(n)}(Ky);e.IfcRoof=Vw;var Qw=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=3053780830,p}return P(n)}(aw);e.IfcSanitaryTerminal=Qw;var Ww=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=1783015770,A}return P(n)}(Dm);e.IfcSensorType=Ww;var zw=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=1329646415,p}return P(n)}(Ky);e.IfcShadingDevice=zw;var Kw=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=991950508,p}return P(n)}(aw);e.IfcSignal=Kw;var Yw=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=1529196076,p}return P(n)}(Ky);e.IfcSlab=Yw;var Xw=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=3420628829,p}return P(n)}(Qm);e.IfcSolarDevice=Xw;var qw=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=1999602285,p}return P(n)}(aw);e.IfcSpaceHeater=qw;var Jw=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=1404847402,p}return P(n)}(aw);e.IfcStackTerminal=Jw;var Zw=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=331165859,p}return P(n)}(Ky);e.IfcStair=Zw;var $w=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A,d,v){var h;return b(this,n),(h=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,h.OwnerHistory=i,h.Name=a,h.Description=s,h.ObjectType=o,h.ObjectPlacement=l,h.Representation=u,h.Tag=c,h.NumberOfRisers=f,h.NumberOfTreads=p,h.RiserHeight=A,h.TreadLength=d,h.PredefinedType=v,h.type=4252922144,h}return P(n)}(Ky);e.IfcStairFlight=$w;var eg=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ObjectType=o,A.PredefinedType=l,A.OrientationOf2DPlane=u,A.LoadedBy=c,A.HasResults=f,A.SharedPlacement=p,A.type=2515109513,A}return P(n)}(zI);e.IfcStructuralAnalysisModel=eg;var tg=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A){var d;return b(this,n),(d=t.call(this,e,r,i,a,s,o,l,u,c,f,p)).GlobalId=r,d.OwnerHistory=i,d.Name=a,d.Description=s,d.ObjectType=o,d.PredefinedType=l,d.ActionType=u,d.ActionSource=c,d.Coefficient=f,d.Purpose=p,d.SelfWeightCoefficients=A,d.type=385403989,d}return P(n)}(MI);e.IfcStructuralLoadCase=tg;var ng=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A,d){var v;return b(this,n),(v=t.call(this,e,r,i,a,s,o,l,u,c,f,p,A,d)).GlobalId=r,v.OwnerHistory=i,v.Name=a,v.Description=s,v.ObjectType=o,v.ObjectPlacement=l,v.Representation=u,v.AppliedLoad=c,v.GlobalOrLocal=f,v.DestabilizingLoad=p,v.ProjectedOrTrue=A,v.PredefinedType=d,v.type=1621171031,v}return P(n)}(kI);e.IfcStructuralPlanarAction=ng;var rg=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=1162798199,p}return P(n)}(Zm);e.IfcSwitchingDevice=rg;var ig=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=812556717,p}return P(n)}(iw);e.IfcTank=ig;var ag=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=3425753595,p}return P(n)}(Ky);e.IfcTrackElement=ag;var sg=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=3825984169,p}return P(n)}(Qm);e.IfcTransformer=sg;var og=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=1620046519,p}return P(n)}(iy);e.IfcTransportElement=og;var lg=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=3026737570,p}return P(n)}(Qm);e.IfcTubeBundle=lg;var ug=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=3179687236,A}return P(n)}(Dm);e.IfcUnitaryControlElementType=ug;var cg=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=4292641817,p}return P(n)}(Qm);e.IfcUnitaryEquipment=cg;var fg=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=4207607924,p}return P(n)}(Zm);e.IfcValve=fg;var pg=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=2391406946,p}return P(n)}(Ky);e.IfcWall=pg;var Ag=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=3512223829,p}return P(n)}(pg);e.IfcWallStandardCase=Ag;var dg=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=4237592921,p}return P(n)}(aw);e.IfcWasteTerminal=dg;var vg=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A,d,v){var h;return b(this,n),(h=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,h.OwnerHistory=i,h.Name=a,h.Description=s,h.ObjectType=o,h.ObjectPlacement=l,h.Representation=u,h.Tag=c,h.OverallHeight=f,h.OverallWidth=p,h.PredefinedType=A,h.PartitioningType=d,h.UserDefinedPartitioningType=v,h.type=3304561284,h}return P(n)}(Ky);e.IfcWindow=vg;var hg=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=2874132201,A}return P(n)}(Dm);e.IfcActuatorType=hg;var Ig=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=1634111441,p}return P(n)}(aw);e.IfcAirTerminal=Ig;var yg=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=177149247,p}return P(n)}(Zm);e.IfcAirTerminalBox=yg;var mg=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=2056796094,p}return P(n)}(Qm);e.IfcAirToAirHeatRecovery=mg;var wg=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=3001207471,A}return P(n)}(Dm);e.IfcAlarmType=wg;var gg=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o,l,u)).GlobalId=r,f.OwnerHistory=i,f.Name=a,f.Description=s,f.ObjectType=o,f.ObjectPlacement=l,f.Representation=u,f.PredefinedType=c,f.type=325726236,f}return P(n)}(Iw);e.IfcAlignment=gg;var Eg=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=277319702,p}return P(n)}(aw);e.IfcAudioVisualAppliance=Eg;var Tg=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=753842376,p}return P(n)}(Ky);e.IfcBeam=Tg;var bg=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=4196446775,p}return P(n)}(Ky);e.IfcBearing=bg;var Dg=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=32344328,p}return P(n)}(Qm);e.IfcBoiler=Dg;var Pg=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,f.OwnerHistory=i,f.Name=a,f.Description=s,f.ObjectType=o,f.ObjectPlacement=l,f.Representation=u,f.Tag=c,f.type=3314249567,f}return P(n)}(lw);e.IfcBorehole=Pg;var Rg=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=1095909175,p}return P(n)}(Ky);e.IfcBuildingElementProxy=Rg;var Cg=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=2938176219,p}return P(n)}(Qm);e.IfcBurner=Cg;var _g=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=635142910,p}return P(n)}($m);e.IfcCableCarrierFitting=_g;var Bg=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=3758799889,p}return P(n)}(rw);e.IfcCableCarrierSegment=Bg;var Og=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=1051757585,p}return P(n)}($m);e.IfcCableFitting=Og;var Sg=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=4217484030,p}return P(n)}(rw);e.IfcCableSegment=Sg;var Ng=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=3999819293,p}return P(n)}(wm);e.IfcCaissonFoundation=Ng;var Lg=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=3902619387,p}return P(n)}(Qm);e.IfcChiller=Lg;var xg=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=639361253,p}return P(n)}(Qm);e.IfcCoil=xg;var Mg=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=3221913625,p}return P(n)}(aw);e.IfcCommunicationsAppliance=Mg;var Fg=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=3571504051,p}return P(n)}(nw);e.IfcCompressor=Fg;var Hg=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=2272882330,p}return P(n)}(Qm);e.IfcCondenser=Hg;var Ug=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=578613899,A}return P(n)}(Dm);e.IfcControllerType=Ug;var Gg=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=3460952963,p}return P(n)}(rw);e.IfcConveyorSegment=Gg;var kg=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=4136498852,p}return P(n)}(Qm);e.IfcCooledBeam=kg;var jg=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=3640358203,p}return P(n)}(Qm);e.IfcCoolingTower=jg;var Vg=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=4074379575,p}return P(n)}(Zm);e.IfcDamper=Vg;var Qg=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=3693000487,p}return P(n)}(Zm);e.IfcDistributionBoard=Qg;var Wg=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=1052013943,p}return P(n)}(Rm);e.IfcDistributionChamberElement=Wg;var zg=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u){var c;return b(this,n),(c=t.call(this,e,r,i,a,s,o,l,u)).GlobalId=r,c.OwnerHistory=i,c.Name=a,c.Description=s,c.ObjectType=o,c.LongName=l,c.PredefinedType=u,c.type=562808652,c}return P(n)}(_m);e.IfcDistributionCircuit=zg;var Kg=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,f.OwnerHistory=i,f.Name=a,f.Description=s,f.ObjectType=o,f.ObjectPlacement=l,f.Representation=u,f.Tag=c,f.type=1062813311,f}return P(n)}(Pm);e.IfcDistributionControlElement=Kg;var Yg=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=342316401,p}return P(n)}($m);e.IfcDuctFitting=Yg;var Xg=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=3518393246,p}return P(n)}(rw);e.IfcDuctSegment=Xg;var qg=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=1360408905,p}return P(n)}(sw);e.IfcDuctSilencer=qg;var Jg=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=1904799276,p}return P(n)}(aw);e.IfcElectricAppliance=Jg;var Zg=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=862014818,p}return P(n)}(Zm);e.IfcElectricDistributionBoard=Zg;var $g=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=3310460725,p}return P(n)}(iw);e.IfcElectricFlowStorageDevice=$g;var eE=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=24726584,p}return P(n)}(sw);e.IfcElectricFlowTreatmentDevice=eE;var tE=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=264262732,p}return P(n)}(Qm);e.IfcElectricGenerator=tE;var nE=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=402227799,p}return P(n)}(Qm);e.IfcElectricMotor=nE;var rE=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=1003880860,p}return P(n)}(Zm);e.IfcElectricTimeControl=rE;var iE=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=3415622556,p}return P(n)}(nw);e.IfcFan=iE;var aE=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=819412036,p}return P(n)}(sw);e.IfcFilter=aE;var sE=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=1426591983,p}return P(n)}(aw);e.IfcFireSuppressionTerminal=sE;var oE=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=182646315,p}return P(n)}(Kg);e.IfcFlowInstrument=oE;var lE=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,f.OwnerHistory=i,f.Name=a,f.Description=s,f.ObjectType=o,f.ObjectPlacement=l,f.Representation=u,f.Tag=c,f.type=2680139844,f}return P(n)}(lw);e.IfcGeomodel=lE;var uE=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,f.OwnerHistory=i,f.Name=a,f.Description=s,f.ObjectType=o,f.ObjectPlacement=l,f.Representation=u,f.Tag=c,f.type=1971632696,f}return P(n)}(lw);e.IfcGeoslice=uE;var cE=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=2295281155,p}return P(n)}(Kg);e.IfcProtectiveDeviceTrippingUnit=cE;var fE=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=4086658281,p}return P(n)}(Kg);e.IfcSensor=fE;var pE=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=630975310,p}return P(n)}(Kg);e.IfcUnitaryControlElement=pE;var AE=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=4288193352,p}return P(n)}(Kg);e.IfcActuator=AE;var dE=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=3087945054,p}return P(n)}(Kg);e.IfcAlarm=dE;var vE=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=25142252,p}return P(n)}(Kg);e.IfcController=vE}(t_||(t_={}));var X_,q_,J_={aggregates:{name:160246688,relating:"RelatingObject",related:"RelatedObjects",key:"children"},spatial:{name:3242617779,relating:"RelatingStructure",related:"RelatedElements",key:"children"},psets:{name:4186316022,relating:"RelatingPropertyDefinition",related:"RelatedObjects",key:"IsDefinedBy"},materials:{name:2655215786,relating:"RelatingMaterial",related:"RelatedObjects",key:"HasAssociations"},type:{name:781010003,relating:"RelatingType",related:"RelatedObjects",key:"IsDefinedBy"}},Z_=function(){function e(t){b(this,e),this.api=t}return P(e,[{key:"getItemProperties",value:function(e,t){var n=arguments.length>2&&void 0!==arguments[2]&&arguments[2],r=arguments.length>3&&void 0!==arguments[3]&&arguments[3];return A_(this,null,o().mark((function i(){return o().wrap((function(i){for(;;)switch(i.prev=i.next){case 0:return i.abrupt("return",this.api.GetLine(e,t,n,r));case 1:case"end":return i.stop()}}),i,this)})))}},{key:"getPropertySets",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,n=arguments.length>2&&void 0!==arguments[2]&&arguments[2];return A_(this,null,o().mark((function r(){return o().wrap((function(r){for(;;)switch(r.prev=r.next){case 0:return r.next=2,this.getRelatedProperties(e,t,J_.psets,n);case 2:return r.abrupt("return",r.sent);case 3:case"end":return r.stop()}}),r,this)})))}},{key:"setPropertySets",value:function(e,t,n){return A_(this,null,o().mark((function r(){return o().wrap((function(r){for(;;)switch(r.prev=r.next){case 0:return r.abrupt("return",this.setItemProperties(e,t,n,J_.psets));case 1:case"end":return r.stop()}}),r,this)})))}},{key:"getTypeProperties",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,n=arguments.length>2&&void 0!==arguments[2]&&arguments[2];return A_(this,null,o().mark((function r(){return o().wrap((function(r){for(;;)switch(r.prev=r.next){case 0:if("IFC2X3"!=this.api.GetModelSchema(e)){r.next=6;break}return r.next=3,this.getRelatedProperties(e,t,J_.type,n);case 3:case 8:return r.abrupt("return",r.sent);case 6:return r.next=8,this.getRelatedProperties(e,t,f_(c_({},J_.type),{key:"IsTypedBy"}),n);case 9:case"end":return r.stop()}}),r,this)})))}},{key:"getMaterialsProperties",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,n=arguments.length>2&&void 0!==arguments[2]&&arguments[2];return A_(this,null,o().mark((function r(){return o().wrap((function(r){for(;;)switch(r.prev=r.next){case 0:return r.next=2,this.getRelatedProperties(e,t,J_.materials,n);case 2:return r.abrupt("return",r.sent);case 3:case"end":return r.stop()}}),r,this)})))}},{key:"setMaterialsProperties",value:function(e,t,n){return A_(this,null,o().mark((function r(){return o().wrap((function(r){for(;;)switch(r.prev=r.next){case 0:return r.abrupt("return",this.setItemProperties(e,t,n,J_.materials));case 1:case"end":return r.stop()}}),r,this)})))}},{key:"getSpatialStructure",value:function(t){var n=arguments.length>1&&void 0!==arguments[1]&&arguments[1];return A_(this,null,o().mark((function r(){var i,a,s,l;return o().wrap((function(r){for(;;)switch(r.prev=r.next){case 0:return r.next=2,this.getSpatialTreeChunks(t);case 2:return i=r.sent,r.next=5,this.api.GetLineIDsWithType(t,103090709);case 5:return a=r.sent,s=a.get(0),l=e.newIfcProject(s),r.next=10,this.getSpatialNode(t,l,i,n);case 10:return r.abrupt("return",l);case 11:case"end":return r.stop()}}),r,this)})))}},{key:"getRelatedProperties",value:function(e,t,n){var r=arguments.length>3&&void 0!==arguments[3]&&arguments[3];return A_(this,null,o().mark((function i(){var a,s,l,u,c,f,p;return o().wrap((function(i){for(;;)switch(i.prev=i.next){case 0:if(a=[],s=null,0===t){i.next=8;break}return i.next=5,this.api.GetLine(e,t,!1,!0)[n.key];case 5:s=i.sent,i.next=11;break;case 8:for(l=this.api.GetLineIDsWithType(e,n.name),s=[],u=0;u1?n-1:0),i=1;i1?n-1:0),i=1;i1?n-1:0),i=1;i1?n-1:0),i=1;i1?n-1:0),i=1;i0&&t.push({typeID:n[r],typeName:this.wasmModule.GetNameFromTypeCode(n[r])})}return t}},{key:"GetLine",value:function(e,t){var n=arguments.length>2&&void 0!==arguments[2]&&arguments[2],r=arguments.length>3&&void 0!==arguments[3]&&arguments[3],i=this.wasmModule.ValidateExpressID(e,t);if(i){var a=this.GetRawLineData(e,t),s=G_[this.modelSchemaList[e]][a.type](a.ID,a.arguments);n&&this.FlattenLine(e,s);var o=k_[this.modelSchemaList[e]][a.type];if(r&&null!=o){var l,u=f(o);try{for(u.s();!(l=u.n()).done;){var c=l.value;c[3]?s[c[0]]=[]:s[c[0]]=null;var p=[c[1]];void 0!==j_[this.modelSchemaList[e]][c[1]]&&(p=p.concat(j_[this.modelSchemaList[e]][c[1]]));var A=this.wasmModule.GetInversePropertyForItem(e,t,p,c[2],c[3]);if(!c[3]&&A.size()>0)s[c[0]]=n?this.GetLine(e,A.get(0)):{type:5,value:A.get(0)};else for(var d=0;d2?n-2:0),i=2;i0)for(var i=0;i0&&5===i[0].type)for(var a=0;a2&&void 0!==arguments[2]&&arguments[2],r=[];return r.push(t),n&&void 0!==j_[this.modelSchemaList[e]][t]&&(r=r.concat(j_[this.modelSchemaList[e]][t])),this.wasmModule.GetLineIDsWithType(e,r)}},{key:"GetAllLines",value:function(e){return this.wasmModule.GetAllLines(e)}},{key:"GetAllAlignments",value:function(e){for(var t=this.wasmModule.GetAllAlignments(e),n=[],r=0;r1&&void 0!==arguments[1]&&arguments[1];this.wasmPath=e,this.isWasmPathAbsolute=t}},{key:"SetLogLevel",value:function(e){eB.setLogLevel(e),this.wasmModule.SetLogLevel(e)}}]),e}(),nB=function(){function e(){b(this,e)}return P(e,[{key:"getIFC",value:function(e,t,n){var r=function(){};t=t||r,n=n||r;var i=e.match(/^data:(.*?)(;base64)?,(.*)$/);if(i){var a=!!i[2],s=i[3];s=window.decodeURIComponent(s),a&&(s=window.atob(s));try{for(var o=new ArrayBuffer(s.length),l=new Uint8Array(o),u=0;u1&&void 0!==arguments[1]?arguments[1]:{};return b(this,n),(r=t.call(this,"ifcLoader",e,i)).dataSource=i.dataSource,r.objectDefaults=i.objectDefaults,r.includeTypes=i.includeTypes,r.excludeTypes=i.excludeTypes,r.excludeUnclassifiedObjects=i.excludeUnclassifiedObjects,r._ifcAPI=new tB,i.wasmPath&&r._ifcAPI.SetWasmPath(i.wasmPath),r._ifcAPI.Init().then((function(){r.fire("initialized",!0,!1)})).catch((function(e){r.error(e)})),r}return P(n,[{key:"supportedVersions",get:function(){return["2x3","4"]}},{key:"dataSource",get:function(){return this._dataSource},set:function(e){this._dataSource=e||new nB}},{key:"objectDefaults",get:function(){return this._objectDefaults},set:function(e){this._objectDefaults=e||VP}},{key:"includeTypes",get:function(){return this._includeTypes},set:function(e){this._includeTypes=e}},{key:"excludeTypes",get:function(){return this._excludeTypes},set:function(e){this._excludeTypes=e}},{key:"excludeUnclassifiedObjects",get:function(){return this._excludeUnclassifiedObjects},set:function(e){this._excludeUnclassifiedObjects=!!e}},{key:"globalizeObjectIds",get:function(){return this._globalizeObjectIds},set:function(e){this._globalizeObjectIds=!!e}},{key:"load",value:function(){var e=this,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};t.id&&this.viewer.scene.components[t.id]&&(this.error("Component with this ID already exists in viewer: "+t.id+" - will autogenerate this ID"),delete t.id);var n=new Wf(this.viewer.scene,le.apply(t,{isModel:!0}));if(!t.src&&!t.ifc)return this.error("load() param expected: src or IFC"),n;var r={autoNormals:!0};if(!1!==t.loadMetadata){var i=t.includeTypes||this._includeTypes,a=t.excludeTypes||this._excludeTypes,s=t.objectDefaults||this._objectDefaults;if(i){r.includeTypesMap={};for(var o=0,l=i.length;o0){for(var l=a.Name.value,u=[],c=0,f=o.length;c1&&void 0!==arguments[1]?arguments[1]:{};return b(this,n),(r=t.call(this,"lasLoader",e,i)).dataSource=i.dataSource,r.skip=i.skip,r.fp64=i.fp64,r.colorDepth=i.colorDepth,r}return P(n,[{key:"dataSource",get:function(){return this._dataSource},set:function(e){this._dataSource=e||new iB}},{key:"skip",get:function(){return this._skip},set:function(e){this._skip=e||1}},{key:"fp64",get:function(){return this._fp64},set:function(e){this._fp64=!!e}},{key:"colorDepth",get:function(){return this._colorDepth},set:function(e){this._colorDepth=e||"auto"}},{key:"load",value:function(){var e=this,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};t.id&&this.viewer.scene.components[t.id]&&(this.error("Component with this ID already exists in viewer: "+t.id+" - will autogenerate this ID"),delete t.id);var n=new Wf(this.viewer.scene,le.apply(t,{isModel:!0}));if(!t.src&&!t.las)return this.error("load() param expected: src or las"),n;var r={las:{skip:this._skip,fp64:this._fp64,colorDepth:this._colorDepth}};if(t.src)this._loadModel(t.src,t,r,n);else{var i=this.viewer.scene.canvas.spinner;i.processes++,this._parseModel(t.las,t,r,n).then((function(){i.processes--}),(function(t){i.processes--,e.error(t),n.fire("error",t)}))}return n}},{key:"_loadModel",value:function(e,t,n,r){var i=this,a=this.viewer.scene.canvas.spinner;a.processes++,this._dataSource.getLAS(t.src,(function(e){i._parseModel(e,t,n,r).then((function(){a.processes--}),(function(e){a.processes--,i.error(e),r.fire("error",e)}))}),(function(e){a.processes--,i.error(e),r.fire("error",e)}))}},{key:"_parseModel",value:function(e,t,n,r){var i=this;function a(e){var n=e.value;if(t.rotateX&&n)for(var r=0,i=n.length;r=e.length)return e;for(var n=[],r=0;r80*n){r=a=e[0],i=s=e[1];for(var d=n;da&&(a=o),l>s&&(s=l);u=0!==(u=Math.max(a-r,s-i))?1/u:0}return IB(p,A,n,r,i,u),A}function vB(e,t,n,r,i){var a,s;if(i===UB(e,t,n,r)>0)for(a=t;a=t;a-=r)s=MB(a,e[a],e[a+1],s);return s&&BB(s,s.next)&&(FB(s),s=s.next),s}function hB(e,t){if(!e)return e;t||(t=e);var n,r=e;do{if(n=!1,r.steiner||!BB(r,r.next)&&0!==_B(r.prev,r,r.next))r=r.next;else{if(FB(r),(r=t=r.prev)===r.next)break;n=!0}}while(n||r!==t);return t}function IB(e,t,n,r,i,a,s){if(e){!s&&a&&function(e,t,n,r){var i=e;do{null===i.z&&(i.z=DB(i.x,i.y,t,n,r)),i.prevZ=i.prev,i.nextZ=i.next,i=i.next}while(i!==e);i.prevZ.nextZ=null,i.prevZ=null,function(e){var t,n,r,i,a,s,o,l,u=1;do{for(n=e,e=null,a=null,s=0;n;){for(s++,r=n,o=0,t=0;t0||l>0&&r;)0!==o&&(0===l||!r||n.z<=r.z)?(i=n,n=n.nextZ,o--):(i=r,r=r.nextZ,l--),a?a.nextZ=i:e=i,i.prevZ=a,a=i;n=r}a.nextZ=null,u*=2}while(s>1)}(i)}(e,r,i,a);for(var o,l,u=e;e.prev!==e.next;)if(o=e.prev,l=e.next,a?mB(e,r,i,a):yB(e))t.push(o.i/n),t.push(e.i/n),t.push(l.i/n),FB(e),e=l.next,u=l.next;else if((e=l)===u){s?1===s?IB(e=wB(hB(e),t,n),t,n,r,i,a,2):2===s&&gB(e,t,n,r,i,a):IB(hB(e),t,n,r,i,a,1);break}}}function yB(e){var t=e.prev,n=e,r=e.next;if(_B(t,n,r)>=0)return!1;for(var i=e.next.next;i!==e.prev;){if(RB(t.x,t.y,n.x,n.y,r.x,r.y,i.x,i.y)&&_B(i.prev,i,i.next)>=0)return!1;i=i.next}return!0}function mB(e,t,n,r){var i=e.prev,a=e,s=e.next;if(_B(i,a,s)>=0)return!1;for(var o=i.xa.x?i.x>s.x?i.x:s.x:a.x>s.x?a.x:s.x,c=i.y>a.y?i.y>s.y?i.y:s.y:a.y>s.y?a.y:s.y,f=DB(o,l,t,n,r),p=DB(u,c,t,n,r),A=e.prevZ,d=e.nextZ;A&&A.z>=f&&d&&d.z<=p;){if(A!==e.prev&&A!==e.next&&RB(i.x,i.y,a.x,a.y,s.x,s.y,A.x,A.y)&&_B(A.prev,A,A.next)>=0)return!1;if(A=A.prevZ,d!==e.prev&&d!==e.next&&RB(i.x,i.y,a.x,a.y,s.x,s.y,d.x,d.y)&&_B(d.prev,d,d.next)>=0)return!1;d=d.nextZ}for(;A&&A.z>=f;){if(A!==e.prev&&A!==e.next&&RB(i.x,i.y,a.x,a.y,s.x,s.y,A.x,A.y)&&_B(A.prev,A,A.next)>=0)return!1;A=A.prevZ}for(;d&&d.z<=p;){if(d!==e.prev&&d!==e.next&&RB(i.x,i.y,a.x,a.y,s.x,s.y,d.x,d.y)&&_B(d.prev,d,d.next)>=0)return!1;d=d.nextZ}return!0}function wB(e,t,n){var r=e;do{var i=r.prev,a=r.next.next;!BB(i,a)&&OB(i,r,r.next,a)&&LB(i,a)&&LB(a,i)&&(t.push(i.i/n),t.push(r.i/n),t.push(a.i/n),FB(r),FB(r.next),r=e=a),r=r.next}while(r!==e);return hB(r)}function gB(e,t,n,r,i,a){var s=e;do{for(var o=s.next.next;o!==s.prev;){if(s.i!==o.i&&CB(s,o)){var l=xB(s,o);return s=hB(s,s.next),l=hB(l,l.next),IB(s,t,n,r,i,a),void IB(l,t,n,r,i,a)}o=o.next}s=s.next}while(s!==e)}function EB(e,t){return e.x-t.x}function TB(e,t){if(t=function(e,t){var n,r=t,i=e.x,a=e.y,s=-1/0;do{if(a<=r.y&&a>=r.next.y&&r.next.y!==r.y){var o=r.x+(a-r.y)*(r.next.x-r.x)/(r.next.y-r.y);if(o<=i&&o>s){if(s=o,o===i){if(a===r.y)return r;if(a===r.next.y)return r.next}n=r.x=r.x&&r.x>=c&&i!==r.x&&RB(an.x||r.x===n.x&&bB(n,r)))&&(n=r,p=l)),r=r.next}while(r!==u);return n}(e,t),t){var n=xB(t,e);hB(t,t.next),hB(n,n.next)}}function bB(e,t){return _B(e.prev,e,t.prev)<0&&_B(t.next,e,e.next)<0}function DB(e,t,n,r,i){return(e=1431655765&((e=858993459&((e=252645135&((e=16711935&((e=32767*(e-n)*i)|e<<8))|e<<4))|e<<2))|e<<1))|(t=1431655765&((t=858993459&((t=252645135&((t=16711935&((t=32767*(t-r)*i)|t<<8))|t<<4))|t<<2))|t<<1))<<1}function PB(e){var t=e,n=e;do{(t.x=0&&(e-s)*(r-o)-(n-s)*(t-o)>=0&&(n-s)*(a-o)-(i-s)*(r-o)>=0}function CB(e,t){return e.next.i!==t.i&&e.prev.i!==t.i&&!function(e,t){var n=e;do{if(n.i!==e.i&&n.next.i!==e.i&&n.i!==t.i&&n.next.i!==t.i&&OB(n,n.next,e,t))return!0;n=n.next}while(n!==e);return!1}(e,t)&&(LB(e,t)&&LB(t,e)&&function(e,t){var n=e,r=!1,i=(e.x+t.x)/2,a=(e.y+t.y)/2;do{n.y>a!=n.next.y>a&&n.next.y!==n.y&&i<(n.next.x-n.x)*(a-n.y)/(n.next.y-n.y)+n.x&&(r=!r),n=n.next}while(n!==e);return r}(e,t)&&(_B(e.prev,e,t.prev)||_B(e,t.prev,t))||BB(e,t)&&_B(e.prev,e,e.next)>0&&_B(t.prev,t,t.next)>0)}function _B(e,t,n){return(t.y-e.y)*(n.x-t.x)-(t.x-e.x)*(n.y-t.y)}function BB(e,t){return e.x===t.x&&e.y===t.y}function OB(e,t,n,r){var i=NB(_B(e,t,n)),a=NB(_B(e,t,r)),s=NB(_B(n,r,e)),o=NB(_B(n,r,t));return i!==a&&s!==o||(!(0!==i||!SB(e,n,t))||(!(0!==a||!SB(e,r,t))||(!(0!==s||!SB(n,e,r))||!(0!==o||!SB(n,t,r)))))}function SB(e,t,n){return t.x<=Math.max(e.x,n.x)&&t.x>=Math.min(e.x,n.x)&&t.y<=Math.max(e.y,n.y)&&t.y>=Math.min(e.y,n.y)}function NB(e){return e>0?1:e<0?-1:0}function LB(e,t){return _B(e.prev,e,e.next)<0?_B(e,t,e.next)>=0&&_B(e,e.prev,t)>=0:_B(e,t,e.prev)<0||_B(e,e.next,t)<0}function xB(e,t){var n=new HB(e.i,e.x,e.y),r=new HB(t.i,t.x,t.y),i=e.next,a=t.prev;return e.next=t,t.prev=e,n.next=i,i.prev=n,r.next=n,n.prev=r,a.next=r,r.prev=a,r}function MB(e,t,n,r){var i=new HB(e,t,n);return r?(i.next=r.next,i.prev=r,r.next.prev=i,r.next=i):(i.prev=i,i.next=i),i}function FB(e){e.next.prev=e.prev,e.prev.next=e.next,e.prevZ&&(e.prevZ.nextZ=e.nextZ),e.nextZ&&(e.nextZ.prevZ=e.prevZ)}function HB(e,t,n){this.i=e,this.x=t,this.y=n,this.prev=null,this.next=null,this.z=null,this.prevZ=null,this.nextZ=null,this.steiner=!1}function UB(e,t,n,r){for(var i=0,a=t,s=n-r;a0&&(r+=e[i-1].length,n.holes.push(r))}return n};var GB=$.vec2(),kB=$.vec3(),jB=$.vec3(),VB=$.vec3(),QB=function(e){I(n,Ce);var t=m(n);function n(e){var r,i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return b(this,n),(r=t.call(this,"cityJSONLoader",e,i)).dataSource=i.dataSource,r}return P(n,[{key:"dataSource",get:function(){return this._dataSource},set:function(e){this._dataSource=e||new AB}},{key:"load",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};e.id&&this.viewer.scene.components[e.id]&&(this.error("Component with this ID already exists in viewer: "+e.id+" - will autogenerate this ID"),delete e.id);var t=new Wf(this.viewer.scene,le.apply(e,{isModel:!0,edges:!0}));if(!e.src&&!e.cityJSON)return this.error("load() param expected: src or cityJSON"),t;var n={};if(e.src)this._loadModel(e.src,e,n,t);else{var r=this.viewer.scene.canvas.spinner;r.processes++,this._parseModel(e.cityJSON,e,n,t),r.processes--}return t}},{key:"_loadModel",value:function(e,t,n,r){var i=this,a=this.viewer.scene.canvas.spinner;a.processes++,this._dataSource.getCityJSON(t.src,(function(e){i._parseModel(e,t,n,r),a.processes--}),(function(e){a.processes--,i.error(e),r.fire("error",e)}))}},{key:"_parseModel",value:function(e,t,n,r){if(!r.destroyed){var i=e.transform?this._transformVertices(e.vertices,e.transform,n.rotateX):e.vertices,a=t.stats||{};a.sourceFormat=e.type||"CityJSON",a.schemaVersion=e.version||"",a.title="",a.author="",a.created="",a.numMetaObjects=0,a.numPropertySets=0,a.numObjects=0,a.numGeometries=0,a.numTriangles=0,a.numVertices=0;var s=!1!==t.loadMetadata,o=s?{id:$.createUUID(),name:"Model",type:"Model"}:null,l=s?{id:"",projectId:"",author:"",createdAt:"",schema:e.version||"",creatingApplication:"",metaObjects:[o],propertySets:[]}:null,u={data:e,vertices:i,sceneModel:r,loadMetadata:s,metadata:l,rootMetaObject:o,nextId:0,stats:a};if(this._parseCityJSON(u),r.finalize(),s){var c=r.id;this.viewer.metaScene.createMetaModel(c,u.metadata,n)}r.scene.once("tick",(function(){r.destroyed||(r.scene.fire("modelLoaded",r.id),r.fire("loaded",!0,!1))}))}}},{key:"_transformVertices",value:function(e,t,n){for(var r=[],i=t.scale||$.vec3([1,1,1]),a=t.translate||$.vec3([0,0,0]),s=0,o=0;s0){for(var u=[],c=0,f=t.geometry.length;c0){var m=I[y[0]];if(void 0!==m.value)A=h[m.value];else{var w=m.values;if(w){d=[];for(var g=0,E=w.length;g0&&(r.createEntity({id:n,meshIds:u,isObject:!0}),e.stats.numObjects++)}}},{key:"_parseGeometrySurfacesWithOwnMaterials",value:function(e,t,n,r){switch(t.type){case"MultiPoint":case"MultiLineString":break;case"MultiSurface":case"CompositeSurface":var i=t.boundaries;this._parseSurfacesWithOwnMaterials(e,n,i,r);break;case"Solid":for(var a=t.boundaries,s=0;s0&&f.push(u.length);var v=this._extractLocalIndices(e,o[d],p,A);u.push.apply(u,c(v))}if(3===u.length)A.indices.push(u[0]),A.indices.push(u[1]),A.indices.push(u[2]);else if(u.length>3){for(var h=[],I=0;I0&&s.indices.length>0){var v=""+e.nextId++;i.createMesh({id:v,primitive:"triangles",positions:s.positions,indices:s.indices,color:n&&n.diffuseColor?n.diffuseColor:[.8,.8,.8],opacity:1}),r.push(v),e.stats.numGeometries++,e.stats.numVertices+=s.positions.length/3,e.stats.numTriangles+=s.indices.length/3}}},{key:"_parseSurfacesWithSharedMaterial",value:function(e,t,n,r){for(var i=e.vertices,a=0;a0&&o.push(s.length);var u=this._extractLocalIndices(e,t[a][l],n,r);s.push.apply(s,c(u))}if(3===s.length)r.indices.push(s[0]),r.indices.push(s[1]),r.indices.push(s[2]);else if(s.length>3){for(var f=[],p=0;p